From cc4a9b9f4b5ea742cccab1dc5d889d6a9956a7ed Mon Sep 17 00:00:00 2001 From: Ct11217 Date: Thu, 15 Sep 2022 22:57:29 -0600 Subject: [PATCH 001/256] Recommit to Dev branch --- include/battle_ai_switch_items.h | 2 +- src/battle_ai_main.c | 4 +- src/battle_ai_switch_items.c | 168 +++++++++++++++---------- src/battle_controller_opponent.c | 5 +- src/battle_controller_player_partner.c | 2 +- 5 files changed, 109 insertions(+), 72 deletions(-) diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index 70dc41b34b..77d1e63151 100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h @@ -33,7 +33,7 @@ enum { void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId); void AI_TrySwitchOrUseItem(void); -u8 GetMostSuitableMonToSwitchInto(void); +u8 GetMostSuitableMonToSwitchInto(bool8); bool32 ShouldSwitch(void); #endif // GUARD_BATTLE_AI_SWITCH_ITEMS_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 312ff853ca..7bc4edae6a 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -356,7 +356,7 @@ static u8 ChooseMoveOrAction_Singles(void) break; } - if (i == MAX_MON_MOVES && GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + if (i == MAX_MON_MOVES && GetMostSuitableMonToSwitchInto(TRUE) != PARTY_SIZE) { AI_THINKING_STRUCT->switchMon = TRUE; return AI_CHOICE_SWITCH; @@ -370,7 +370,7 @@ static u8 ChooseMoveOrAction_Singles(void) && gDisableStructs[sBattler_AI].truantCounter && gBattleMons[sBattler_AI].hp >= gBattleMons[sBattler_AI].maxHP / 2) { - if (GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + if (GetMostSuitableMonToSwitchInto(TRUE) != PARTY_SIZE) { AI_THINKING_STRUCT->switchMon = TRUE; return AI_CHOICE_SWITCH; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 4948113a21..f8e60ee7ee 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -26,6 +26,7 @@ static bool8 ShouldUseItem(void); static bool32 AiExpectsToFaintPlayer(void); static bool32 AI_ShouldHeal(u32 healAmount); static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount); +static bool32 AI_CheckSurvivabilty(bool8 checkSurvivability, int playerPokemon, int aiPokemon); void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId) { @@ -414,12 +415,12 @@ static bool8 ShouldSwitchIfAbilityBenefit(void) moduloChance = 4; //25% //Attempt to cure bad ailment if (gBattleMons[gActiveBattler].status1 & (STATUS1_SLEEP | STATUS1_FREEZE | STATUS1_TOXIC_POISON) - && GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + && GetMostSuitableMonToSwitchInto(TRUE) != PARTY_SIZE) break; //Attempt to cure lesser ailment if ((gBattleMons[gActiveBattler].status1 & STATUS1_ANY) && (gBattleMons[gActiveBattler].hp >= gBattleMons[gActiveBattler].maxHP / 2) - && GetMostSuitableMonToSwitchInto() != PARTY_SIZE + && GetMostSuitableMonToSwitchInto(TRUE) != PARTY_SIZE && Random() % (moduloChance*chanceReducer) == 0) break; @@ -431,7 +432,7 @@ static bool8 ShouldSwitchIfAbilityBenefit(void) if (gBattleMons[gActiveBattler].status1 & STATUS1_ANY) return FALSE; if ((gBattleMons[gActiveBattler].hp <= ((gBattleMons[gActiveBattler].maxHP * 2) / 3)) - && GetMostSuitableMonToSwitchInto() != PARTY_SIZE + && GetMostSuitableMonToSwitchInto(TRUE) != PARTY_SIZE && Random() % (moduloChance*chanceReducer) == 0) break; @@ -726,7 +727,7 @@ void AI_TrySwitchOrUseItem(void) { if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) { - s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); + s32 monToSwitchId = GetMostSuitableMonToSwitchInto(TRUE); if (monToSwitchId == PARTY_SIZE) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) @@ -746,6 +747,8 @@ void AI_TrySwitchOrUseItem(void) { if (GetMonData(&party[monToSwitchId], MON_DATA_HP) == 0) continue; + if (GetMonData(&party[monToSwitchId], MON_DATA_SPECIES2) == SPECIES_NONE) + continue; if (monToSwitchId == gBattlerPartyIndexes[battlerIn1]) continue; if (monToSwitchId == gBattlerPartyIndexes[battlerIn2]) @@ -779,7 +782,7 @@ void AI_TrySwitchOrUseItem(void) // If there are two(or more) mons to choose from, always choose one that has baton pass // as most often it can't do much on its own. -static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, int aliveCount) +static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, int aliveCount, bool8 checkSurvivability) { int i, j, bits = 0; @@ -788,6 +791,9 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u if (invalidMons & gBitTable[i]) continue; + if (AI_CheckSurvivabilty(checkSurvivability, BATTLE_OPPOSITE(gActiveBattler), i)) + continue; + for (j = 0; j < MAX_MON_MOVES; j++) { if (GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL) == MOVE_BATON_PASS) @@ -810,69 +816,71 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u return PARTY_SIZE; } -static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 opposingBattler) +static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 opposingBattler, bool8 checkSurvivability) { - int i, bits = 0; - - while (bits != 0x3F) // All mons were checked. + int i, j = 0; + u32 bestResist = UQ_4_12(1.0); + int bestMonId = PARTY_SIZE; + // Find the mon whose type is the most suitable defensively. + for (i = firstId; i < lastId; i++) { - u32 bestResist = UQ_4_12(1.0); - int bestMonId = PARTY_SIZE; - // Find the mon whose type is the most suitable defensively. - for (i = firstId; i < lastId; i++) + u16 species = GetMonData(&party[i], MON_DATA_SPECIES); + u32 typeEffectiveness = UQ_4_12(1.0); + + u8 atkType1 = gBattleMons[opposingBattler].type1; + u8 atkType2 = gBattleMons[opposingBattler].type2; + u8 defType1 = gBaseStats[species].type1; + u8 defType2 = gBaseStats[species].type2; + + if (gBitTable[i] & invalidMons) + continue; + if (AI_CheckSurvivabilty(checkSurvivability, BATTLE_OPPOSITE(gActiveBattler), i)) + continue; + + typeEffectiveness *= GetTypeModifier(atkType1, defType1); + if (atkType2 != atkType1) + typeEffectiveness *= GetTypeModifier(atkType2, defType1); + if (defType2 != defType1) { - if (!(gBitTable[i] & invalidMons) && !(gBitTable[i] & bits)) - { - u16 species = GetMonData(&party[i], MON_DATA_SPECIES); - u32 typeEffectiveness = UQ_4_12(1.0); - - u8 atkType1 = gBattleMons[opposingBattler].type1; - u8 atkType2 = gBattleMons[opposingBattler].type2; - u8 defType1 = gBaseStats[species].type1; - u8 defType2 = gBaseStats[species].type2; - - typeEffectiveness *= GetTypeModifier(atkType1, defType1); - if (atkType2 != atkType1) - typeEffectiveness *= GetTypeModifier(atkType2, defType1); - if (defType2 != defType1) - { - typeEffectiveness *= GetTypeModifier(atkType1, defType2); - if (atkType2 != atkType1) - typeEffectiveness *= GetTypeModifier(atkType2, defType2); - } - if (typeEffectiveness < bestResist) - { - bestResist = typeEffectiveness; - bestMonId = i; - } - } + typeEffectiveness *= GetTypeModifier(atkType1, defType2); + if (atkType2 != atkType1) + typeEffectiveness *= GetTypeModifier(atkType2, defType2); } - - // Ok, we know the mon has the right typing but does it have at least one super effective move? - if (bestMonId != PARTY_SIZE) + if ((typeEffectiveness < bestResist) + || ((typeEffectiveness <= bestResist) && !checkSurvivability)) //Fine with a nuetral matchup on second time through { - for (i = 0; i < MAX_MON_MOVES; i++) - { - u32 move = GetMonData(&party[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0)) - break; - } - - if (i != MAX_MON_MOVES) - return bestMonId; // Has both the typing and at least one super effective move. - - bits |= gBitTable[bestMonId]; // Sorry buddy, we want something better. - } - else - { - bits = 0x3F; // No viable mon to switch. + bestResist = typeEffectiveness; + bestMonId = i; } } - return PARTY_SIZE; + // Ok, we don't have anything that type resists. But do we at least have something with a super effective move? + if (bestMonId == PARTY_SIZE) + { + // Find the mon that has an attack most suited offensively + for (i = firstId; i < lastId; i++) + { + if (gBitTable[i] & invalidMons) + continue; + if (AI_CheckSurvivabilty(checkSurvivability, BATTLE_OPPOSITE(gActiveBattler), i)) + continue; + + for (j = 0; j < MAX_MON_MOVES; j++) + { + u32 move = GetMonData(&party[i], MON_DATA_MOVE1 + j); + if (move != MOVE_NONE && AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0)) + { + bestMonId = i; // Has at least one super effective move. + break; + } + } + } + } + + return bestMonId; } -static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 opposingBattler) +static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 opposingBattler, bool8 checkSurvivability) { int i, j; int bestDmg = 0; @@ -884,6 +892,8 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva { if (gBitTable[i] & invalidMons) continue; + if (AI_CheckSurvivabilty(checkSurvivability, BATTLE_OPPOSITE(gActiveBattler), i)) + continue; for (j = 0; j < MAX_MON_MOVES; j++) { @@ -903,10 +913,10 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva return bestMonId; } -u8 GetMostSuitableMonToSwitchInto(void) +u8 GetMostSuitableMonToSwitchInto(bool8 checkSurvivability) { u32 opposingBattler = 0; - u32 bestMonId = 0; + u32 bestMonId = PARTY_SIZE; u8 battlerIn1 = 0, battlerIn2 = 0; s32 firstId = 0; s32 lastId = 0; // + 1 @@ -948,7 +958,7 @@ u8 GetMostSuitableMonToSwitchInto(void) // Get invalid slots ids. for (i = firstId; i < lastId; i++) { - if (GetMonData(&party[i], MON_DATA_SPECIES) == SPECIES_NONE + if (GetMonData(&party[i], MON_DATA_SPECIES2) == SPECIES_NONE || GetMonData(&party[i], MON_DATA_HP) == 0 || gBattlerPartyIndexes[battlerIn1] == i || gBattlerPartyIndexes[battlerIn2] == i @@ -962,19 +972,26 @@ u8 GetMostSuitableMonToSwitchInto(void) aliveCount++; } - bestMonId = GetBestMonBatonPass(party, firstId, lastId, invalidMons, aliveCount); + bestMonId = GetBestMonBatonPass(party, firstId, lastId, invalidMons, aliveCount, checkSurvivability); if (bestMonId != PARTY_SIZE) return bestMonId; - bestMonId = GetBestMonTypeMatchup(party, firstId, lastId, invalidMons, opposingBattler); + bestMonId = GetBestMonTypeMatchup(party, firstId, lastId, invalidMons, opposingBattler, checkSurvivability); if (bestMonId != PARTY_SIZE) return bestMonId; - bestMonId = GetBestMonDmg(party, firstId, lastId, invalidMons, opposingBattler); + bestMonId = GetBestMonDmg(party, firstId, lastId, invalidMons, opposingBattler, checkSurvivability); if (bestMonId != PARTY_SIZE) return bestMonId; - return PARTY_SIZE; + //Didn't find any good options first time around. Try again without checking survivabilty, better than a random mon + if (checkSurvivability && bestMonId == PARTY_SIZE) + { + bestMonId = GetMostSuitableMonToSwitchInto(FALSE); + return bestMonId; + } + + return bestMonId; } static u8 GetAI_ItemType(u16 itemId, const u8 *itemEffect) @@ -1178,3 +1195,24 @@ static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount) } return FALSE; } + +static bool32 AI_CheckSurvivabilty(bool8 checkSurvivability, int playerPokemon, int aiPokemon) +{ + if (!checkSurvivability) + return FALSE; + + if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_SMART_SWITCHING) + { + //Opponent can OHKO AI, don't send this Pokemon out + if (CanTargetFaintAiWithMod(playerPokemon, aiPokemon, 0, 0)) + return TRUE; + + //Opponent can 2HKO AI and AI cannot strike first + //ToDo: Modify for switches when AI has already attacked (Volt Switch etc.) + if (CanTargetFaintAiWithMod(playerPokemon, aiPokemon, 0, 2) + && GetWhoStrikesFirst(playerPokemon, aiPokemon, TRUE) == 0) //Player strikes first + return TRUE; + } + + return FALSE; +} \ No newline at end of file diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index c32d0cd587..8e95e3bb99 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1676,8 +1676,7 @@ static void OpponentHandleChoosePokemon(void) if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) { - chosenMonId = GetMostSuitableMonToSwitchInto(); - + chosenMonId = GetMostSuitableMonToSwitchInto(TRUE); if (chosenMonId == PARTY_SIZE) { s32 battler1, battler2, firstId, lastId; @@ -1691,7 +1690,6 @@ static void OpponentHandleChoosePokemon(void) battler1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); battler2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); pokemonInBattle = 2; - } GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); @@ -1699,6 +1697,7 @@ static void OpponentHandleChoosePokemon(void) for (chosenMonId = (lastId-1); chosenMonId >= firstId; chosenMonId--) { if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 + && GetMonData(&gEnemyParty[chosenMonId], MON_DATA_SPECIES2) != SPECIES_NONE && chosenMonId != gBattlerPartyIndexes[battler1] && chosenMonId != gBattlerPartyIndexes[battler2] && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index d39d745a6f..8af44377d1 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1548,7 +1548,7 @@ static void PlayerPartnerHandleChooseItem(void) static void PlayerPartnerHandleChoosePokemon(void) { - s32 chosenMonId = GetMostSuitableMonToSwitchInto(); + s32 chosenMonId = GetMostSuitableMonToSwitchInto(TRUE); if (chosenMonId == 6) // just switch to the next mon { From 36c1c4dc11cb767a117ab34751cbb6d336bb379f Mon Sep 17 00:00:00 2001 From: Porygon23 <59948117+Porygon23@users.noreply.github.com> Date: Fri, 16 Sep 2022 08:21:13 -0600 Subject: [PATCH 002/256] Update include/battle_ai_switch_items.h Co-authored-by: Eduardo Quezada D'Ottone --- include/battle_ai_switch_items.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index 77d1e63151..58b65396a6 100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h @@ -33,7 +33,7 @@ enum { void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId); void AI_TrySwitchOrUseItem(void); -u8 GetMostSuitableMonToSwitchInto(bool8); +u8 GetMostSuitableMonToSwitchInto(bool8 checkSurvivability); bool32 ShouldSwitch(void); #endif // GUARD_BATTLE_AI_SWITCH_ITEMS_H From 1595a66559571b365ece5c8f9275a1bf33e3df34 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 10:18:38 -0300 Subject: [PATCH 003/256] Implemented Triple Arrows' effect --- data/battle_scripts_1.s | 10 ++++++++ include/battle_scripts.h | 1 + include/constants/battle.h | 3 ++- include/constants/battle_move_effects.h | 3 ++- src/battle_script_commands.c | 32 ++++++++++++++++++++++++- src/data/battle_moves.h | 5 ++-- 6 files changed, 49 insertions(+), 5 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 200a044610..5be16a0a16 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -423,6 +423,11 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHitSetEntryHazard @ EFFECT_HIT_SET_ENTRY_HAZARD .4byte BattleScript_EffectDireClaw @ EFFECT_DIRE_CLAW .4byte BattleScript_EffectBarbBarrage @ EFFECT_BARB_BARRAGE + .4byte BattleScript_EffectTripleArrows @ EFFECT_TRIPLE_ARROWS + +BattleScript_EffectTripleArrows:: + setmoveeffect MOVE_EFFECT_TRIPLE_ARROWS + goto BattleScript_EffectHit BattleScript_StealthRockActivates:: setstealthrock BattleScript_MoveEnd @@ -1451,6 +1456,11 @@ BattleScript_DoubleShockRemoveType:: waitmessage B_WAIT_TIME_LONG return +BattleScript_DefDown:: + modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDown_Ret, ANIM_ON +BattleScript_DefDown_Ret: + return + BattleScript_EffectPurify: attackcanceler attackstring diff --git a/include/battle_scripts.h b/include/battle_scripts.h index c78fcafe48..590a9232cb 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -457,6 +457,7 @@ extern const u8 BattleScript_DampPreventsAftermath[]; extern const u8 BattleScript_HealingWishActivates[]; extern const u8 BattleScript_LunarDanceActivates[]; extern const u8 BattleScript_ShellTrapSetUp[]; +extern const u8 BattleScript_DefDown[]; extern const u8 BattleScript_CouldntFullyProtect[]; extern const u8 BattleScript_MoveEffectStockpileWoreOff[]; extern const u8 BattleScript_StealthRockActivates[]; diff --git a/include/constants/battle.h b/include/constants/battle.h index 61c3776c6c..8bde7d2f1c 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -376,8 +376,9 @@ #define MOVE_EFFECT_DIRE_CLAW 74 #define MOVE_EFFECT_STEALTH_ROCK 75 #define MOVE_EFFECT_SPIKES 76 +#define MOVE_EFFECT_TRIPLE_ARROWS 77 -#define NUM_MOVE_EFFECTS 77 +#define NUM_MOVE_EFFECTS 78 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 27ad6601ff..017320eefe 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -404,7 +404,8 @@ #define EFFECT_HIT_SET_ENTRY_HAZARD 398 #define EFFECT_DIRE_CLAW 399 #define EFFECT_BARB_BARRAGE 400 +#define EFFECT_TRIPLE_ARROWS 401 -#define NUM_BATTLE_MOVE_EFFECTS 401 +#define NUM_BATTLE_MOVE_EFFECTS 402 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 12a2f65e27..424ba7dd39 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2082,7 +2082,8 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi #if B_AFFECTION_MECHANICS == TRUE + 2 * (GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) #endif - + (abilityAtk == ABILITY_SUPER_LUCK); + + (abilityAtk == ABILITY_SUPER_LUCK) + + (gBattleMoves[move].effect == EFFECT_TRIPLE_ARROWS); if (critChance >= ARRAY_COUNT(sCriticalHitChance)) critChance = ARRAY_COUNT(sCriticalHitChance) - 1; @@ -3799,6 +3800,35 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = BattleScript_SpikesActivates; } break; + case MOVE_EFFECT_TRIPLE_ARROWS: + { + u32 randomChance = Random() % 100; + if (randomChance < 50) // Chance to reduce a foe's Defense by 1 stat stage. + { + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DefDown; + } + if (randomChance >= 50 && randomChance <= 80) // Chance to cause a foe to flinch. + { + if (battlerAbility == ABILITY_INNER_FOCUS) + { + if (primary == TRUE || certain == MOVE_EFFECT_CERTAIN) + { + gLastUsedAbility = ABILITY_INNER_FOCUS; + gBattlerAbility = gEffectBattler; + RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); + gBattlescriptCurrInstr = BattleScript_FlinchPrevention; + } + } + else + { + if (GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; + gBattlescriptCurrInstr++; + } + } + } + break; } } } diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 64ce246862..32927b82ed 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12726,13 +12726,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = { #if B_UPDATED_MOVE_DATA >= GEN_9 .power = 90, + .pp = 10, #else .power = 50, + .pp = 15, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_TRIPLE_ARROWS, + .effect = EFFECT_TRIPLE_ARROWS, .type = TYPE_FIGHTING, .accuracy = 100, - .pp = 15, .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, From 05a34edb7d5c7b33799a82ff6e20cf51e3152935 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 11:03:46 -0300 Subject: [PATCH 004/256] Implemented Infernal Parade's effect --- data/battle_scripts_1.s | 5 +++++ include/constants/battle_move_effects.h | 3 ++- src/battle_util.c | 4 ++++ src/data/battle_moves.h | 4 ++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 5be16a0a16..f1f312e6a9 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -424,6 +424,11 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectDireClaw @ EFFECT_DIRE_CLAW .4byte BattleScript_EffectBarbBarrage @ EFFECT_BARB_BARRAGE .4byte BattleScript_EffectTripleArrows @ EFFECT_TRIPLE_ARROWS + .4byte BattleScript_EffectInfernalParade @ EFFECT_INFERNAL_PARADE + +BattleScript_EffectInfernalParade:: + setmoveeffect MOVE_EFFECT_BURN + goto BattleScript_EffectHit BattleScript_EffectTripleArrows:: setmoveeffect MOVE_EFFECT_TRIPLE_ARROWS diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 017320eefe..a60d8ee032 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -405,7 +405,8 @@ #define EFFECT_DIRE_CLAW 399 #define EFFECT_BARB_BARRAGE 400 #define EFFECT_TRIPLE_ARROWS 401 +#define EFFECT_INFERNAL_PARADE 402 -#define NUM_BATTLE_MOVE_EFFECTS 402 +#define NUM_BATTLE_MOVE_EFFECTS 403 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_util.c b/src/battle_util.c index dea28b5d83..84ce98a222 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8780,6 +8780,10 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) if (IsBattlerTerrainAffected(gBattlerAttacker, STATUS_FIELD_ELECTRIC_TERRAIN)) MulModifier(&basePower, UQ_4_12(1.5)); break; + case EFFECT_INFERNAL_PARADE: + if (gBattleMons[battlerDef].status1 & STATUS1_ANY) + basePower *= 2; + break; } // Move-specific base power changes diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 32927b82ed..83cd8d616c 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12744,12 +12744,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_INFERNAL_PARADE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_INFERNAL_PARADE, + .effect = EFFECT_INFERNAL_PARADE, .power = 60, .type = TYPE_GHOST, .accuracy = 100, .pp = 15, - .secondaryEffectChance = 0, + .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, From d2a221eb85779686701c2430bffbd636e0a88050 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 11:08:49 -0300 Subject: [PATCH 005/256] Corrected Lunar Blessing's data --- src/data/battle_moves.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 83cd8d616c..685742e080 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12835,7 +12835,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_LUNAR_BLESSING] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_LUNAR_BLESSING, + .effect = EFFECT_JUNGLE_HEALING, .power = 0, .type = TYPE_PSYCHIC, .accuracy = 0, From 8ae57dc912cc96c08a37c630ec5b1283d134f9b7 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 11:13:52 -0300 Subject: [PATCH 006/256] Implemented Take Heart's effect --- data/battle_scripts_1.s | 19 +++++++++++++++++++ include/constants/battle_move_effects.h | 3 ++- src/data/battle_moves.h | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index f1f312e6a9..9c1cb1587a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -425,6 +425,25 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectBarbBarrage @ EFFECT_BARB_BARRAGE .4byte BattleScript_EffectTripleArrows @ EFFECT_TRIPLE_ARROWS .4byte BattleScript_EffectInfernalParade @ EFFECT_INFERNAL_PARADE + .4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART + +BattleScript_EffectTakeHeart:: +@ TO DO: Use modifybattlerstatstage here once PR #2470 is merged. + printstring STRINGID_EMPTYSTRING3 + playstatchangeanimation BS_ATTACKER, BIT_SPATK, 0 + setstatchanger STAT_SPATK, 1, FALSE + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TakeHeartTrySpDef + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_TakeHeartTrySpDef: + printstring STRINGID_EMPTYSTRING3 + playstatchangeanimation BS_ATTACKER, BIT_SPDEF, 0 + setstatchanger STAT_SPDEF, 1, FALSE + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TakeHeart_MoveEnd + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_TakeHeart_MoveEnd: + goto BattleScript_MoveEnd BattleScript_EffectInfernalParade:: setmoveeffect MOVE_EFFECT_BURN diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index a60d8ee032..4188c341bd 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -406,7 +406,8 @@ #define EFFECT_BARB_BARRAGE 400 #define EFFECT_TRIPLE_ARROWS 401 #define EFFECT_INFERNAL_PARADE 402 +#define EFFECT_TAKE_HEART 403 -#define NUM_BATTLE_MOVE_EFFECTS 403 +#define NUM_BATTLE_MOVE_EFFECTS 404 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 685742e080..66b9c0dc5d 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12850,7 +12850,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_TAKE_HEART] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_TAKE_HEART, + .effect = EFFECT_TAKE_HEART, .power = 0, .type = TYPE_PSYCHIC, .accuracy = 0, From 000077f6712524d54fbb8c91729feda12797120c Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 23:36:29 -0300 Subject: [PATCH 007/256] Implemented Axe Kick's effect --- data/battle_scripts_1.s | 51 +++++++++++++++++++++++++ include/constants/battle_move_effects.h | 3 +- src/data/battle_moves.h | 4 +- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 9c1cb1587a..52a32f3ffd 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -426,6 +426,57 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectTripleArrows @ EFFECT_TRIPLE_ARROWS .4byte BattleScript_EffectInfernalParade @ EFFECT_INFERNAL_PARADE .4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART + .4byte BattleScript_EffectAxeKick @ EFFECT_AXE_KICK + +BattleScript_EffectAxeKick:: + attackcanceler + accuracycheck BattleScript_AxeKickMissedDoDamage, ACC_CURR_MOVE + typecalc + jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_AxeKickMissedDoDamage + goto BattleScript_AxeKickHitFromAtkString +BattleScript_AxeKickMissedDoDamage:: + jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_PrintMoveMissed + attackstring + ppreduce + pause B_WAIT_TIME_LONG + resultmessage + waitmessage B_WAIT_TIME_LONG + printstring STRINGID_PKMNCRASHED + waitmessage B_WAIT_TIME_LONG + damagecalc + typecalc + adjustdamage + manipulatedamage DMG_RECOIL_FROM_MISS + bichalfword gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + tryfaintmon BS_ATTACKER + orhalfword gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE + goto BattleScript_MoveEnd + +BattleScript_AxeKickHitFromAtkString: + attackstring + ppreduce + critcalc + damagecalc + adjustdamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage B_WAIT_TIME_LONG + resultmessage + waitmessage B_WAIT_TIME_LONG + setmoveeffect MOVE_EFFECT_CONFUSION + seteffectwithchance + tryfaintmon BS_TARGET + moveendall + end BattleScript_EffectTakeHeart:: @ TO DO: Use modifybattlerstatstage here once PR #2470 is merged. diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 4188c341bd..c0aa6c6976 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -407,7 +407,8 @@ #define EFFECT_TRIPLE_ARROWS 401 #define EFFECT_INFERNAL_PARADE 402 #define EFFECT_TAKE_HEART 403 +#define EFFECT_AXE_KICK 404 -#define NUM_BATTLE_MOVE_EFFECTS 404 +#define NUM_BATTLE_MOVE_EFFECTS 405 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 66b9c0dc5d..9eeacac4b2 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12895,12 +12895,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_AXE_KICK] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_RECOIL_IF_MISS + 30% chance to confuse + .effect = EFFECT_AXE_KICK, .power = 120, .type = TYPE_FIGHTING, .accuracy = 90, .pp = 10, - .secondaryEffectChance = 0, + .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, From ed9e860400e839c824d724c7937809d360126eae Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 26 Mar 2023 20:09:21 -0300 Subject: [PATCH 008/256] Post cherrypick corrections and improvements -Made BattleScript_EffectTakeHeart use modifybattlerstatstage -Optimized usage of BattleScript_EffectInfernalParade -Tweaked the way in which Triple Arrows' increased crit. hit chance is handled -Optimized syntax for case MOVE_EFFECT_TRIPLE_ARROWS in SetMoveEffect -Optimized case EFFECT_INFERNAL_PARADE in CalcMoveBasePower -Infernal Parade is not known to interact with Comatose, so Eduardo and I will extrapolate that here -Added AI conditionals for some of the effects -Made Triage notice Jungle Healing and moves that use its effect --- data/battle_scripts_1.s | 18 +++--------------- include/battle_scripts.h | 2 +- src/battle_ai_main.c | 13 ++++++++++++- src/battle_main.c | 1 + src/battle_script_commands.c | 18 +++++++----------- src/battle_util.c | 5 +---- src/data/battle_moves.h | 2 +- 7 files changed, 26 insertions(+), 33 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 52a32f3ffd..21d952674b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -479,27 +479,14 @@ BattleScript_AxeKickHitFromAtkString: end BattleScript_EffectTakeHeart:: -@ TO DO: Use modifybattlerstatstage here once PR #2470 is merged. printstring STRINGID_EMPTYSTRING3 - playstatchangeanimation BS_ATTACKER, BIT_SPATK, 0 - setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TakeHeartTrySpDef - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_SPATK, INCREASE, 1, BattleScript_TakeHeartTrySpDef, ANIM_ON BattleScript_TakeHeartTrySpDef: printstring STRINGID_EMPTYSTRING3 - playstatchangeanimation BS_ATTACKER, BIT_SPDEF, 0 - setstatchanger STAT_SPDEF, 1, FALSE - statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TakeHeart_MoveEnd - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_SPDEF, INCREASE, 1, BattleScript_TakeHeart_MoveEnd, ANIM_ON BattleScript_TakeHeart_MoveEnd: goto BattleScript_MoveEnd -BattleScript_EffectInfernalParade:: - setmoveeffect MOVE_EFFECT_BURN - goto BattleScript_EffectHit - BattleScript_EffectTripleArrows:: setmoveeffect MOVE_EFFECT_TRIPLE_ARROWS goto BattleScript_EffectHit @@ -3527,6 +3514,7 @@ BattleScript_AbsorbHealBlock:: tryfaintmon BS_TARGET goto BattleScript_MoveEnd +BattleScript_EffectInfernalParade:: BattleScript_EffectBurnHit:: setmoveeffect MOVE_EFFECT_BURN goto BattleScript_EffectHit diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 590a9232cb..aac118d036 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -457,11 +457,11 @@ extern const u8 BattleScript_DampPreventsAftermath[]; extern const u8 BattleScript_HealingWishActivates[]; extern const u8 BattleScript_LunarDanceActivates[]; extern const u8 BattleScript_ShellTrapSetUp[]; -extern const u8 BattleScript_DefDown[]; extern const u8 BattleScript_CouldntFullyProtect[]; extern const u8 BattleScript_MoveEffectStockpileWoreOff[]; extern const u8 BattleScript_StealthRockActivates[]; extern const u8 BattleScript_SpikesActivates[]; +extern const u8 BattleScript_DefDown[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 19eedb41cc..a17f621b00 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1788,6 +1788,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_RESTORE_HP: case EFFECT_SOFTBOILED: case EFFECT_ROOST: + case EFFECT_JUNGLE_HEALING: if (AtMaxHp(battlerAtk)) score -= 10; else if (AI_DATA->hpPercents[battlerAtk] >= 90) @@ -2610,6 +2611,10 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (gBattleMons[battlerAtk].hp <= gBattleMons[battlerAtk].maxHP / 3) score -= 10; break;*/ + case EFFECT_TAKE_HEART: + if (!AnyPartyMemberStatused(battlerAtk, FALSE) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + score -= 10; + break; case EFFECT_PLACEHOLDER: return 0; // cannot even select } // move effect checks @@ -3475,6 +3480,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) score++; break; + case EFFECT_JUNGLE_HEALING: + if (ShouldRecover(battlerAtk, battlerDef, move, 25) + || (ShouldRecover(BATTLE_PARTNER(battlerAtk), battlerDef, move, 25) && ShouldRecover(BATTLE_PARTNER(battlerAtk), BATTLE_PARTNER(battlerDef), move, 25))) + score += 3; + break; case EFFECT_TOXIC: case EFFECT_POISON: case EFFECT_BARB_BARRAGE: @@ -3721,8 +3731,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; case EFFECT_WISH: case EFFECT_HEAL_BELL: + case EFFECT_TAKE_HEART: if (ShouldUseWishAromatherapy(battlerAtk, battlerDef, move)) - score += 7; + score += 3; break; case EFFECT_THIEF: { diff --git a/src/battle_main.c b/src/battle_main.c index efbf1b8195..ff3233f2ed 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4726,6 +4726,7 @@ s8 GetMovePriority(u32 battlerId, u16 move) case EFFECT_SOFTBOILED: case EFFECT_ABSORB: case EFFECT_ROOST: + case EFFECT_JUNGLE_HEALING: priority += 3; break; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 424ba7dd39..078986777c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2082,8 +2082,7 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi #if B_AFFECTION_MECHANICS == TRUE + 2 * (GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) #endif - + (abilityAtk == ABILITY_SUPER_LUCK) - + (gBattleMoves[move].effect == EFFECT_TRIPLE_ARROWS); + + (abilityAtk == ABILITY_SUPER_LUCK); if (critChance >= ARRAY_COUNT(sCriticalHitChance)) critChance = ARRAY_COUNT(sCriticalHitChance) - 1; @@ -3802,7 +3801,7 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_TRIPLE_ARROWS: { - u32 randomChance = Random() % 100; + u8 randomChance = Random() % 100; if (randomChance < 50) // Chance to reduce a foe's Defense by 1 stat stage. { BattleScriptPush(gBattlescriptCurrInstr + 1); @@ -3810,15 +3809,12 @@ void SetMoveEffect(bool32 primary, u32 certain) } if (randomChance >= 50 && randomChance <= 80) // Chance to cause a foe to flinch. { - if (battlerAbility == ABILITY_INNER_FOCUS) + if (battlerAbility == ABILITY_INNER_FOCUS && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { - if (primary == TRUE || certain == MOVE_EFFECT_CERTAIN) - { - gLastUsedAbility = ABILITY_INNER_FOCUS; - gBattlerAbility = gEffectBattler; - RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); - gBattlescriptCurrInstr = BattleScript_FlinchPrevention; - } + gLastUsedAbility = ABILITY_INNER_FOCUS; + gBattlerAbility = gEffectBattler; + RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); + gBattlescriptCurrInstr = BattleScript_FlinchPrevention; } else { diff --git a/src/battle_util.c b/src/battle_util.c index 84ce98a222..e1f0a5ec91 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8627,6 +8627,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) basePower = 120 * gBattleMons[battlerDef].hp / gBattleMons[battlerDef].maxHP; break; case EFFECT_HEX: + case EFFECT_INFERNAL_PARADE: if (gBattleMons[battlerDef].status1 & STATUS1_ANY || GetBattlerAbility(battlerDef) == ABILITY_COMATOSE) basePower *= 2; break; @@ -8780,10 +8781,6 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) if (IsBattlerTerrainAffected(gBattlerAttacker, STATUS_FIELD_ELECTRIC_TERRAIN)) MulModifier(&basePower, UQ_4_12(1.5)); break; - case EFFECT_INFERNAL_PARADE: - if (gBattleMons[battlerDef].status1 & STATUS1_ANY) - basePower *= 2; - break; } // Move-specific base power changes diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 9eeacac4b2..89a72e0af1 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12737,7 +12737,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, From 5bde98741ae2156d2d2c51ad30c3219d13e0b3d5 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 29 Mar 2023 00:21:09 -0300 Subject: [PATCH 009/256] Completed Take Heart's effect It was missing its "heals any status condition" effect because I'm dumb and I forgot to actually go and do it. --- data/battle_scripts_1.s | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 21d952674b..c3d0055d8a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -479,10 +479,22 @@ BattleScript_AxeKickHitFromAtkString: end BattleScript_EffectTakeHeart:: - printstring STRINGID_EMPTYSTRING3 + attackcanceler + accuracycheck BattleScript_AxeKickMissedDoDamage, ACC_CURR_MOVE + attackstring + ppreduce + attackanimation + waitanimation + jumpifstatus BS_ATTACKER, STATUS1_ANY, BattleScript_TakeHeart_HealStatusConditions + goto BattleScript_TakeHeart_TryToRaiseSpecialStats +BattleScript_TakeHeart_HealStatusConditions: + curestatus BS_ATTACKER + updatestatusicon BS_ATTACKER + printstring STRINGID_PKMNSTATUSNORMAL + waitmessage B_WAIT_TIME_LONG +BattleScript_TakeHeart_TryToRaiseSpecialStats: modifybattlerstatstage BS_ATTACKER, STAT_SPATK, INCREASE, 1, BattleScript_TakeHeartTrySpDef, ANIM_ON BattleScript_TakeHeartTrySpDef: - printstring STRINGID_EMPTYSTRING3 modifybattlerstatstage BS_ATTACKER, STAT_SPDEF, INCREASE, 1, BattleScript_TakeHeart_MoveEnd, ANIM_ON BattleScript_TakeHeart_MoveEnd: goto BattleScript_MoveEnd From 8c4396ddafc329ac37beb6e895e7dc81c28da835 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 29 Mar 2023 13:01:20 +0200 Subject: [PATCH 010/256] Gen9 move tests batch2 --- include/random.h | 1 + src/battle_script_commands.c | 6 ++-- test/move_effect_axe_kick.c | 54 ++++++++++++++++++++++++++++ test/move_effect_infernal_parade.c | 48 +++++++++++++++++++++++++ test/move_effect_take_heart.c | 47 +++++++++++++++++++++++++ test/move_effect_triple_arrows.c | 56 ++++++++++++++++++++++++++++++ 6 files changed, 209 insertions(+), 3 deletions(-) create mode 100644 test/move_effect_axe_kick.c create mode 100644 test/move_effect_infernal_parade.c create mode 100644 test/move_effect_take_heart.c create mode 100644 test/move_effect_triple_arrows.c diff --git a/include/random.h b/include/random.h index 60c718348c..14b6a253e3 100644 --- a/include/random.h +++ b/include/random.h @@ -60,6 +60,7 @@ enum RandomTag RNG_SPEED_TIE, RNG_STATIC, RNG_STENCH, + RNG_TRIPLE_ARROWS, }; #define RandomWeighted(tag, ...) \ diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 38e949131b..775f8c456a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3801,13 +3801,13 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_TRIPLE_ARROWS: { - u8 randomChance = Random() % 100; - if (randomChance < 50) // Chance to reduce a foe's Defense by 1 stat stage. + u8 randomChance = RandomUniform(RNG_TRIPLE_ARROWS, 1, 10); + if (randomChance <= 5) // Chance to reduce a foe's Defense by 1 stat stage. { BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_DefDown; } - if (randomChance >= 50 && randomChance <= 80) // Chance to cause a foe to flinch. + if (randomChance > 5 && randomChance <= 8) // Chance to cause a foe to flinch. { if (battlerAbility == ABILITY_INNER_FOCUS && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) { diff --git a/test/move_effect_axe_kick.c b/test/move_effect_axe_kick.c new file mode 100644 index 0000000000..cf04e601e2 --- /dev/null +++ b/test/move_effect_axe_kick.c @@ -0,0 +1,54 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_AXE_KICK].effect == EFFECT_AXE_KICK); +} + +SINGLE_BATTLE_TEST("Axe Kick confuses the target") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_AXE_KICK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_AXE_KICK, player); + ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_CONFUSION, opponent); + MESSAGE("Foe Wobbuffet became confused!"); + } +} + +SINGLE_BATTLE_TEST("Axe Kick deals damage half the hp to user if def battler protected") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_AXE_KICK); } + } SCENE { + s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); + ANIMATION(ANIM_TYPE_MOVE, MOVE_PROTECT, opponent); + MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("Foe Wobbuffet protected itself!"); + MESSAGE("Wobbuffet kept going and crashed!"); + HP_BAR(player, hp: maxHP / 2); + } +} + +SINGLE_BATTLE_TEST("Axe Kick deals damage half the hp to user if it fails") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_AXE_KICK, hit: FALSE); } + } SCENE { + s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); + MESSAGE("Wobbuffet used Axe Kick!"); + MESSAGE("Wobbuffet's attack missed!"); + MESSAGE("Wobbuffet kept going and crashed!"); + HP_BAR(player, hp: maxHP / 2); + } +} diff --git a/test/move_effect_infernal_parade.c b/test/move_effect_infernal_parade.c new file mode 100644 index 0000000000..5b951eca1c --- /dev/null +++ b/test/move_effect_infernal_parade.c @@ -0,0 +1,48 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_INFERNAL_PARADE].effect == EFFECT_INFERNAL_PARADE); +} + +SINGLE_BATTLE_TEST("Infernal Parade inflicts poison") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_INFERNAL_PARADE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_INFERNAL_PARADE, player); + HP_BAR(opponent); + ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, opponent); + STATUS_ICON(opponent, burn: TRUE); + } +} + +SINGLE_BATTLE_TEST("Infernal Parade's power doubles if the target has a status condition", s16 damage) +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_NONE; } + PARAMETRIZE { status1 = STATUS1_SLEEP; } + PARAMETRIZE { status1 = STATUS1_POISON; } + PARAMETRIZE { status1 = STATUS1_BURN; } + PARAMETRIZE { status1 = STATUS1_FREEZE; } + PARAMETRIZE { status1 = STATUS1_PARALYSIS; } + PARAMETRIZE { status1 = STATUS1_TOXIC_POISON; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Status1(status1); }; + } WHEN { + TURN { MOVE(player, MOVE_INFERNAL_PARADE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_INFERNAL_PARADE, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } THEN { + if (i > 0) + EXPECT_MUL_EQ(results[0].damage, Q_4_12(2.0), results[i].damage); + if (i > 1) + EXPECT_EQ(results[i-1].damage, results[i].damage); + } +} diff --git a/test/move_effect_take_heart.c b/test/move_effect_take_heart.c new file mode 100644 index 0000000000..82745957ff --- /dev/null +++ b/test/move_effect_take_heart.c @@ -0,0 +1,47 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_TAKE_HEART].effect == EFFECT_TAKE_HEART); +} + +SINGLE_BATTLE_TEST("Take Heart increases Sp. Atk and Sp. Def by one stage") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TAKE_HEART); } + } SCENE { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + } +} + +SINGLE_BATTLE_TEST("Take Heart cures the user of all status conditions") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_SLEEP; } + PARAMETRIZE { status1 = STATUS1_POISON; } + PARAMETRIZE { status1 = STATUS1_FREEZE; } + PARAMETRIZE { status1 = STATUS1_BURN; } + PARAMETRIZE { status1 = STATUS1_PARALYSIS; } + PARAMETRIZE { status1 = STATUS1_TOXIC_POISON; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Status1(status1); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TAKE_HEART); } + } SCENE { + if (status1 == STATUS1_SLEEP) { + MESSAGE("Wobbuffet is fast asleep."); + } else if (status1 == STATUS1_FREEZE) { + PASSES_RANDOMLY(20, 100, RNG_FROZEN); + STATUS_ICON(player, none: TRUE); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + } else { + MESSAGE("Wobbuffet's status returned to normal!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + } + } +} diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c new file mode 100644 index 0000000000..4dd717d80b --- /dev/null +++ b/test/move_effect_triple_arrows.c @@ -0,0 +1,56 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_TRIPLE_ARROWS].effect == EFFECT_TRIPLE_ARROWS); +} + +SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") +{ + PASSES_RANDOMLY(50, 100, RNG_TRIPLE_ARROWS); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("Foe Wobbuffet's defense fell!"); + } +} + +SINGLE_BATTLE_TEST("Triple Arrows flinch 30% of the time") +{ + PASSES_RANDOMLY(30, 100, RNG_TRIPLE_ARROWS); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("Foe Wobbuffet's defense fell!"); + } + MESSAGE("Foe Wobbuffet flinched!"); + } +} + +SINGLE_BATTLE_TEST("Triple Arrows lands a critical hit") +{ + ASSUME(B_CRIT_CHANCE >= GEN_7); + ASSUME(gBattleMoves[MOVE_TRIPLE_ARROWS].flags & FLAG_HIGH_CRIT); + PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); + MESSAGE("A critical hit!"); + } +} \ No newline at end of file From 318b1ce4a217bc3f7981904f65d63f4695b04208 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 2 Apr 2023 05:30:26 -0300 Subject: [PATCH 011/256] Added empty line at the end of test/move_effect_triple_arrows.c Compilers on Unix-based systems hate it when a file doesn't end with an empty line. --- test/move_effect_triple_arrows.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index 4dd717d80b..020e46c6bb 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -53,4 +53,4 @@ SINGLE_BATTLE_TEST("Triple Arrows lands a critical hit") ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); MESSAGE("A critical hit!"); } -} \ No newline at end of file +} From 7d499548e8451b05a4aa2c62e1b44e8a653e0586 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 15 Apr 2023 10:48:46 -0300 Subject: [PATCH 012/256] Updates -Added EFFECT_JUNGLE_HEALING to IsHealingMoveEffect -Modified the code for EFFECT_TAKE_HEART inside AI_CheckViability and AI_CheckBadMove --- src/battle_ai_main.c | 7 +++++-- src/battle_ai_util.c | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index a17f621b00..c52f9bc032 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2612,7 +2612,10 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break;*/ case EFFECT_TAKE_HEART: - if (!AnyPartyMemberStatused(battlerAtk, FALSE) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if ((!(gBattleMons[battlerAtk].status1 & STATUS1_ANY) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) + && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) score -= 10; break; case EFFECT_PLACEHOLDER: @@ -3731,7 +3734,6 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; case EFFECT_WISH: case EFFECT_HEAL_BELL: - case EFFECT_TAKE_HEART: if (ShouldUseWishAromatherapy(battlerAtk, battlerDef, move)) score += 3; break; @@ -4368,6 +4370,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score++; break; case EFFECT_REFRESH: + case EFFECT_TAKE_HEART: if (gBattleMons[battlerAtk].status1 & STATUS1_ANY) score += 2; break; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index a9e3ed3e0b..4c4f132beb 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2021,6 +2021,7 @@ bool32 IsHealingMoveEffect(u16 effect) case EFFECT_HEALING_WISH: case EFFECT_HEAL_PULSE: case EFFECT_REST: + case EFFECT_JUNGLE_HEALING: return TRUE; default: return FALSE; From 43a5aa09ef69bceb1cf2554cc8db45958b22b0af Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 16 Apr 2023 15:12:53 -0300 Subject: [PATCH 013/256] Corrections -Optimized BattleScript_EffectTakeHeart -Updated the checks for EFFECT_JUNGLE_HEALING and EFFECT_TAKE_HEART in AI_CheckBadMove -Updated the code for MOVE_EFFECT_TRIPLE_ARROWS inside SetMoveEffect --- data/battle_scripts_1.s | 28 +++++++++++-------- include/battle_scripts.h | 1 + include/random.h | 3 +- src/battle_ai_main.c | 32 ++++++++++++++++------ src/battle_script_commands.c | 47 +++++++++++++++++++++++--------- test/move_effect_triple_arrows.c | 4 +-- 6 files changed, 80 insertions(+), 35 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c3d0055d8a..70e56f9f55 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -480,24 +480,22 @@ BattleScript_AxeKickHitFromAtkString: BattleScript_EffectTakeHeart:: attackcanceler - accuracycheck BattleScript_AxeKickMissedDoDamage, ACC_CURR_MOVE attackstring ppreduce + cureifburnedparalysedorpoisoned BattleScript_EffectTakeHeart_TryToRaiseStats attackanimation waitanimation - jumpifstatus BS_ATTACKER, STATUS1_ANY, BattleScript_TakeHeart_HealStatusConditions - goto BattleScript_TakeHeart_TryToRaiseSpecialStats -BattleScript_TakeHeart_HealStatusConditions: - curestatus BS_ATTACKER updatestatusicon BS_ATTACKER printstring STRINGID_PKMNSTATUSNORMAL waitmessage B_WAIT_TIME_LONG -BattleScript_TakeHeart_TryToRaiseSpecialStats: - modifybattlerstatstage BS_ATTACKER, STAT_SPATK, INCREASE, 1, BattleScript_TakeHeartTrySpDef, ANIM_ON -BattleScript_TakeHeartTrySpDef: - modifybattlerstatstage BS_ATTACKER, STAT_SPDEF, INCREASE, 1, BattleScript_TakeHeart_MoveEnd, ANIM_ON -BattleScript_TakeHeart_MoveEnd: - goto BattleScript_MoveEnd + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindStatRaise + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CalmMindStatRaise + goto BattleScript_CantRaiseMultipleStats + +BattleScript_EffectTakeHeart_TryToRaiseStats: + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim + goto BattleScript_CantRaiseMultipleStats BattleScript_EffectTripleArrows:: setmoveeffect MOVE_EFFECT_TRIPLE_ARROWS @@ -1535,6 +1533,13 @@ BattleScript_DefDown:: BattleScript_DefDown_Ret: return +BattleScript_ReduceDefenseAndFlinch:: + modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDown_Ret, ANIM_ON + jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_FlinchPrevention + setmoveeffect MOVE_EFFECT_FLINCH + seteffectprimary + goto BattleScript_MoveEnd + BattleScript_EffectPurify: attackcanceler attackstring @@ -6387,6 +6392,7 @@ BattleScript_EffectCalmMind:: BattleScript_CalmMindDoMoveAnim:: attackanimation waitanimation +BattleScript_CalmMindStatRaise:: setbyte sSTAT_ANIM_PLAYED, FALSE playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0 setstatchanger STAT_SPATK, 1, FALSE diff --git a/include/battle_scripts.h b/include/battle_scripts.h index aac118d036..c58f0afc23 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -462,6 +462,7 @@ extern const u8 BattleScript_MoveEffectStockpileWoreOff[]; extern const u8 BattleScript_StealthRockActivates[]; extern const u8 BattleScript_SpikesActivates[]; extern const u8 BattleScript_DefDown[]; +extern const u8 BattleScript_ReduceDefenseAndFlinch[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/random.h b/include/random.h index 14b6a253e3..e5f8c05ece 100644 --- a/include/random.h +++ b/include/random.h @@ -60,7 +60,8 @@ enum RandomTag RNG_SPEED_TIE, RNG_STATIC, RNG_STENCH, - RNG_TRIPLE_ARROWS, + RNG_TRIPLE_ARROWS_DEFENSE_DOWN, + RNG_TRIPLE_ARROWS_FLINCH, }; #define RandomWeighted(tag, ...) \ diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index c52f9bc032..c51517d371 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1788,7 +1788,6 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_RESTORE_HP: case EFFECT_SOFTBOILED: case EFFECT_ROOST: - case EFFECT_JUNGLE_HEALING: if (AtMaxHp(battlerAtk)) score -= 10; else if (AI_DATA->hpPercents[battlerAtk] >= 90) @@ -2611,9 +2610,20 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (gBattleMons[battlerAtk].hp <= gBattleMons[battlerAtk].maxHP / 3) score -= 10; break;*/ + case EFFECT_JUNGLE_HEALING: + if (AtMaxHp(battlerAtk) + && AtMaxHp(BATTLE_PARTNER(battlerAtk)) + && !(gBattleMons[battlerAtk].status1 & STATUS1_ANY) + && !(gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY)) + score -= 10; + else if (AI_DATA->hpPercents[battlerAtk] >= 90 || AI_DATA->hpPercents[BATTLE_PARTNER(battlerAtk)] >= 90) + score -= 9; //No point in healing, but should at least do it if nothing better + break; case EFFECT_TAKE_HEART: if ((!(gBattleMons[battlerAtk].status1 & STATUS1_ANY) - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_JUNGLE_HEALING) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_HEAL_BELL) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_AROMATHERAPY)) && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) score -= 10; @@ -3483,11 +3493,6 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) score++; break; - case EFFECT_JUNGLE_HEALING: - if (ShouldRecover(battlerAtk, battlerDef, move, 25) - || (ShouldRecover(BATTLE_PARTNER(battlerAtk), battlerDef, move, 25) && ShouldRecover(BATTLE_PARTNER(battlerAtk), BATTLE_PARTNER(battlerDef), move, 25))) - score += 3; - break; case EFFECT_TOXIC: case EFFECT_POISON: case EFFECT_BARB_BARRAGE: @@ -4371,7 +4376,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; case EFFECT_REFRESH: case EFFECT_TAKE_HEART: - if (gBattleMons[battlerAtk].status1 & STATUS1_ANY) + if (gBattleMons[battlerAtk].status1 & STATUS1_ANY + || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) + || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) score += 2; break; case EFFECT_PSYCHO_SHIFT: @@ -4817,6 +4824,15 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) //break; //case EFFECT_SKY_DROP //break; + case EFFECT_JUNGLE_HEALING: + if (ShouldRecover(battlerAtk, battlerDef, move, 25) + || ShouldRecover(battlerAtk, BATTLE_PARTNER(battlerDef), move, 25) + || ShouldRecover(BATTLE_PARTNER(battlerAtk), battlerDef, move, 25) + || ShouldRecover(BATTLE_PARTNER(battlerAtk), BATTLE_PARTNER(battlerDef), move, 25) + || gBattleMons[battlerAtk].status1 & STATUS1_ANY + || gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY) + score += 3; + break; } // move effect checks return score; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 775f8c456a..f5f8ccf31a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3801,26 +3801,47 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_TRIPLE_ARROWS: { - u8 randomChance = RandomUniform(RNG_TRIPLE_ARROWS, 1, 10); - if (randomChance <= 5) // Chance to reduce a foe's Defense by 1 stat stage. + u8 randomLowerDefenseChance; + u8 randomFlinchChance; + + if (GetBattlerAbility(gBattlerAttacker) == ABILITY_SERENE_GRACE) + { + randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, 100); + randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, 60); + } + else + { + randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, 50); + randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, 30); + } + + if (randomLowerDefenseChance && randomFlinchChance) { BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_DefDown; + gBattlescriptCurrInstr = BattleScript_ReduceDefenseAndFlinch; } - if (randomChance > 5 && randomChance <= 8) // Chance to cause a foe to flinch. + else { - if (battlerAbility == ABILITY_INNER_FOCUS && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN)) + if (randomLowerDefenseChance) { - gLastUsedAbility = ABILITY_INNER_FOCUS; - gBattlerAbility = gEffectBattler; - RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); - gBattlescriptCurrInstr = BattleScript_FlinchPrevention; + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DefDown; } - else + else if (randomFlinchChance) { - if (GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) - gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; - gBattlescriptCurrInstr++; + if (battlerAbility == ABILITY_INNER_FOCUS) + { + gLastUsedAbility = ABILITY_INNER_FOCUS; + gBattlerAbility = gEffectBattler; + RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); + gBattlescriptCurrInstr = BattleScript_FlinchPrevention; + } + else + { + if (GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; + gBattlescriptCurrInstr++; + } } } } diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index 020e46c6bb..5fdf30737f 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -8,7 +8,7 @@ ASSUMPTIONS SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") { - PASSES_RANDOMLY(50, 100, RNG_TRIPLE_ARROWS); + PASSES_RANDOMLY(50, 100, RNG_TRIPLE_ARROWS_DEFENSE_DOWN); GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); @@ -23,7 +23,7 @@ SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") SINGLE_BATTLE_TEST("Triple Arrows flinch 30% of the time") { - PASSES_RANDOMLY(30, 100, RNG_TRIPLE_ARROWS); + PASSES_RANDOMLY(30, 100, RNG_TRIPLE_ARROWS_FLINCH); GIVEN { PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); From 2043380ee2b852c8840cb340faf78f3b940f668e Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 18 Apr 2023 10:34:39 -0300 Subject: [PATCH 014/256] Oopsie --- include/constants/battle_move_effects.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 9e514702d8..2c874f4f81 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -411,6 +411,5 @@ #define EFFECT_AXE_KICK 405 #define NUM_BATTLE_MOVE_EFFECTS 406 ->>>>>>> afdfe1503dcb8720cede18b69ed5216e770399e6 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H From 787c0a159a7ee73c28cebc9f029a8d91438fc112 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 18 Apr 2023 11:26:43 -0300 Subject: [PATCH 015/256] Updated Triple Arrows' tests Thanks to MGriffin. --- test/move_effect_triple_arrows.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index 5fdf30737f..07a8186037 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -8,9 +8,13 @@ ASSUMPTIONS SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") { - PASSES_RANDOMLY(50, 100, RNG_TRIPLE_ARROWS_DEFENSE_DOWN); + u32 ability; + u32 chance; + PARAMETRIZE { ability = ABILITY_HUSTLE; chance = 50; } + PARAMETRIZE { ability = ABILITY_SERENE_GRACE; chance = 100; } + PASSES_RANDOMLY(chance, 100, RNG_TRIPLE_ARROWS_DEFENSE_DOWN); GIVEN { - PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TOGEPI) { Ability(ability); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } @@ -23,18 +27,18 @@ SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") SINGLE_BATTLE_TEST("Triple Arrows flinch 30% of the time") { - PASSES_RANDOMLY(30, 100, RNG_TRIPLE_ARROWS_FLINCH); + u32 ability; + u32 chance; + PARAMETRIZE { ability = ABILITY_HUSTLE; chance = 30; } + PARAMETRIZE { ability = ABILITY_SERENE_GRACE; chance = 60; } + PASSES_RANDOMLY(chance, 100, RNG_TRIPLE_ARROWS_FLINCH); GIVEN { - PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_TOGEPI) { Ability(ability); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); - NONE_OF { - ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's defense fell!"); - } MESSAGE("Foe Wobbuffet flinched!"); } } From b09ab5a3ee4ba3ec9b0d925c73fec317f6933ff1 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 19 Apr 2023 01:52:23 -0300 Subject: [PATCH 016/256] Updated Triple Arrows' effect's code and tests yet again Also added a function to get a move's secondaryEffectChance, meant to handle abilities, side statuses and the like that modify it. --- data/battle_scripts_1.s | 7 +++-- include/battle_util.h | 1 + src/battle_script_commands.c | 52 +++++++------------------------- src/battle_util.c | 8 +++++ test/move_effect_triple_arrows.c | 35 +++++++++++++++++++-- 5 files changed, 57 insertions(+), 46 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index af141c2975..73dc7e79b8 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1553,11 +1553,12 @@ BattleScript_DefDown_Ret: return BattleScript_ReduceDefenseAndFlinch:: - modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDown_Ret, ANIM_ON - jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_FlinchPrevention + modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDownAndFlinch_Ret, ANIM_ON + jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_DefDownAndFlinch_Ret setmoveeffect MOVE_EFFECT_FLINCH seteffectprimary - goto BattleScript_MoveEnd +BattleScript_DefDownAndFlinch_Ret: + return BattleScript_EffectPurify: attackcanceler diff --git a/include/battle_util.h b/include/battle_util.h index 0661081e43..0b25cabddf 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -234,5 +234,6 @@ u32 GetBattlerFriendshipScore(u8 battlerId); u32 CountBattlerStatIncreases(u8 battlerId, bool32 countEvasionAcc); bool32 IsMyceliumMightOnField(void); bool8 ChangeTypeBasedOnTerrain(u8 battlerId); +u32 GetMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); #endif // GUARD_BATTLE_UTIL_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f69ddf395f..c79a76d7ac 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3803,48 +3803,23 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_TRIPLE_ARROWS: { - u8 randomLowerDefenseChance; - u8 randomFlinchChance; - - if (GetBattlerAbility(gBattlerAttacker) == ABILITY_SERENE_GRACE) - { - randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, 100); - randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, 60); - } - else - { - randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, 50); - randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, 30); - } + u8 randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, GetMoveSecondaryEffectChance(gBattlerAttacker, 50)); + u8 randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, GetMoveSecondaryEffectChance(gBattlerAttacker, 30)); if (randomLowerDefenseChance && randomFlinchChance) { BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_ReduceDefenseAndFlinch; } - else + else if (randomLowerDefenseChance) { - if (randomLowerDefenseChance) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_DefDown; - } - else if (randomFlinchChance) - { - if (battlerAbility == ABILITY_INNER_FOCUS) - { - gLastUsedAbility = ABILITY_INNER_FOCUS; - gBattlerAbility = gEffectBattler; - RecordAbilityBattle(gEffectBattler, ABILITY_INNER_FOCUS); - gBattlescriptCurrInstr = BattleScript_FlinchPrevention; - } - else - { - if (GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) - gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; - gBattlescriptCurrInstr++; - } - } + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DefDown; + } + else if (randomFlinchChance && battlerAbility != ABILITY_INNER_FOCUS && GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + { + gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; + gBattlescriptCurrInstr++; } } break; @@ -3859,12 +3834,7 @@ static void Cmd_seteffectwithchance(void) { CMD_ARGS(); - u32 percentChance; - - if (GetBattlerAbility(gBattlerAttacker) == ABILITY_SERENE_GRACE) - percentChance = gBattleMoves[gCurrentMove].secondaryEffectChance * 2; - else - percentChance = gBattleMoves[gCurrentMove].secondaryEffectChance; + u32 percentChance = GetMoveSecondaryEffectChance(gBattlerAttacker, gBattleMoves[gCurrentMove].secondaryEffectChance); if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleScripting.moveEffect) diff --git a/src/battle_util.c b/src/battle_util.c index f23272b460..a2e1790948 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10859,3 +10859,11 @@ static void SetRandomMultiHitCounter() gMultiHitCounter = 5 - (Random() & 1); } } + +u32 GetMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) +{ + if (GetBattlerAbility(battlerId) == ABILITY_SERENE_GRACE) + return (secondaryEffectChance * 2); + + return secondaryEffectChance; +} diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index 07a8186037..e7f48e0d08 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -6,7 +6,7 @@ ASSUMPTIONS ASSUME(gBattleMoves[MOVE_TRIPLE_ARROWS].effect == EFFECT_TRIPLE_ARROWS); } -SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") +SINGLE_BATTLE_TEST("Triple Arrows lowers Defense by one stage") { u32 ability; u32 chance; @@ -25,7 +25,7 @@ SINGLE_BATTLE_TEST("Triple Arrows lower's defense by one stage") } } -SINGLE_BATTLE_TEST("Triple Arrows flinch 30% of the time") +SINGLE_BATTLE_TEST("Triple Arrows make the foe flinch 30% of the time") { u32 ability; u32 chance; @@ -58,3 +58,34 @@ SINGLE_BATTLE_TEST("Triple Arrows lands a critical hit") MESSAGE("A critical hit!"); } } + +SINGLE_BATTLE_TEST("Triple Arrows can lower Defense and cause flinch at the time") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TRIPLE_ARROWS); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); + MESSAGE("Foe Wobbuffet's defense fell!"); + MESSAGE("Foe Wobbuffet flinched!"); + } +} + +SINGLE_BATTLE_TEST("Triple Arrows's flinching is prevented by Inner Focus") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_RIOLU) { Ability(ABILITY_INNER_FOCUS); } + } WHEN { + TURN { MOVE(player, MOVE_TRIPLE_ARROWS); + MOVE(opponent, MOVE_TACKLE); + } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); + NONE_OF { MESSAGE("Foe Wobbuffet flinched!"); } + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); + } +} From d385ae3d5eb33b0b83f88b3e3c08a58ba6aa39e7 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 7 Jun 2023 23:13:07 -0300 Subject: [PATCH 017/256] Killed the bKGD invalid index warning Special thanks to: -Blackforest for the tips on how to go about fixing the sprites with GIMP. -Dat.S.H for a tip on how to make the conversion process easier to perform. -Psf for actually going and doing it. --- graphics/pokemon/abomasnow/anim_front.png | Bin 1698 -> 1724 bytes graphics/pokemon/abomasnow/back.png | Bin 834 -> 819 bytes graphics/pokemon/abomasnow/icon.png | Bin 393 -> 423 bytes graphics/pokemon/abomasnow/mega/back.png | Bin 1073 -> 1063 bytes graphics/pokemon/abomasnow/mega/front.png | Bin 1349 -> 1336 bytes graphics/pokemon/abomasnow/mega/icon.png | Bin 417 -> 455 bytes graphics/pokemon/abra/anim_front.png | Bin 861 -> 948 bytes graphics/pokemon/abra/back.png | Bin 620 -> 610 bytes graphics/pokemon/abra/icon.png | Bin 368 -> 407 bytes graphics/pokemon/absol/anim_front.png | Bin 1361 -> 1378 bytes graphics/pokemon/absol/back.png | Bin 647 -> 637 bytes graphics/pokemon/absol/icon.png | Bin 382 -> 393 bytes graphics/pokemon/absol/mega/back.png | Bin 931 -> 919 bytes graphics/pokemon/absol/mega/front.png | Bin 1028 -> 1019 bytes graphics/pokemon/absol/mega/icon.png | Bin 435 -> 466 bytes graphics/pokemon/accelgor/anim_front.png | Bin 950 -> 981 bytes graphics/pokemon/accelgor/back.png | Bin 788 -> 779 bytes graphics/pokemon/accelgor/icon.png | Bin 400 -> 424 bytes graphics/pokemon/aegislash/anim_front.png | Bin 1405 -> 1410 bytes graphics/pokemon/aegislash/back.png | Bin 582 -> 569 bytes .../pokemon/aegislash/blade/anim_front.png | Bin 1561 -> 1561 bytes graphics/pokemon/aegislash/blade/back.png | Bin 560 -> 549 bytes graphics/pokemon/aegislash/blade/icon.png | Bin 518 -> 452 bytes graphics/pokemon/aegislash/icon.png | Bin 451 -> 484 bytes graphics/pokemon/aerodactyl/anim_front.png | Bin 1466 -> 1474 bytes graphics/pokemon/aerodactyl/back.png | Bin 580 -> 565 bytes graphics/pokemon/aerodactyl/icon.png | Bin 431 -> 439 bytes graphics/pokemon/aerodactyl/mega/back.png | Bin 715 -> 700 bytes graphics/pokemon/aerodactyl/mega/front.png | Bin 1135 -> 1126 bytes graphics/pokemon/aerodactyl/mega/icon.png | Bin 449 -> 488 bytes graphics/pokemon/aggron/anim_front.png | Bin 1639 -> 1653 bytes graphics/pokemon/aggron/back.png | Bin 779 -> 765 bytes graphics/pokemon/aggron/icon.png | Bin 489 -> 484 bytes graphics/pokemon/aggron/mega/back.png | Bin 779 -> 767 bytes graphics/pokemon/aggron/mega/front.png | Bin 1259 -> 1248 bytes graphics/pokemon/aggron/mega/icon.png | Bin 479 -> 511 bytes graphics/pokemon/aipom/anim_front.png | Bin 1067 -> 1072 bytes graphics/pokemon/aipom/back.png | Bin 754 -> 741 bytes graphics/pokemon/aipom/icon.png | Bin 407 -> 423 bytes graphics/pokemon/alakazam/anim_front.png | Bin 1234 -> 1237 bytes graphics/pokemon/alakazam/back.png | Bin 808 -> 796 bytes graphics/pokemon/alakazam/icon.png | Bin 512 -> 529 bytes graphics/pokemon/alakazam/mega/back.png | Bin 934 -> 915 bytes graphics/pokemon/alakazam/mega/front.png | Bin 1226 -> 1211 bytes graphics/pokemon/alakazam/mega/icon.png | Bin 497 -> 535 bytes graphics/pokemon/alcremie/back.png | Bin 689 -> 677 bytes .../pokemon/alcremie/caramel_swirl/back.png | Bin 688 -> 677 bytes .../pokemon/alcremie/caramel_swirl/front.png | Bin 729 -> 738 bytes graphics/pokemon/alcremie/front.png | Bin 745 -> 737 bytes graphics/pokemon/alcremie/icon.png | Bin 369 -> 381 bytes .../pokemon/alcremie/lemon_cream/back.png | Bin 688 -> 677 bytes .../pokemon/alcremie/lemon_cream/front.png | Bin 729 -> 738 bytes .../pokemon/alcremie/matcha_cream/back.png | Bin 657 -> 679 bytes .../pokemon/alcremie/matcha_cream/front.png | Bin 729 -> 738 bytes graphics/pokemon/alcremie/mint_cream/back.png | Bin 688 -> 677 bytes .../pokemon/alcremie/mint_cream/front.png | Bin 729 -> 739 bytes .../pokemon/alcremie/rainbow_swirl/back.png | Bin 660 -> 689 bytes .../pokemon/alcremie/rainbow_swirl/front.png | Bin 769 -> 760 bytes graphics/pokemon/alcremie/ruby_cream/back.png | Bin 693 -> 682 bytes .../pokemon/alcremie/ruby_cream/front.png | Bin 730 -> 742 bytes graphics/pokemon/alcremie/ruby_swirl/back.png | Bin 691 -> 679 bytes .../pokemon/alcremie/ruby_swirl/front.png | Bin 753 -> 744 bytes .../pokemon/alcremie/salted_cream/back.png | Bin 688 -> 676 bytes .../pokemon/alcremie/salted_cream/front.png | Bin 729 -> 737 bytes graphics/pokemon/alomomola/anim_front.png | Bin 842 -> 858 bytes graphics/pokemon/alomomola/back.png | Bin 646 -> 635 bytes graphics/pokemon/alomomola/icon.png | Bin 288 -> 328 bytes graphics/pokemon/altaria/anim_front.png | Bin 1272 -> 1294 bytes graphics/pokemon/altaria/back.png | Bin 603 -> 636 bytes graphics/pokemon/altaria/icon.png | Bin 417 -> 465 bytes graphics/pokemon/altaria/mega/back.png | Bin 752 -> 738 bytes graphics/pokemon/altaria/mega/front.png | Bin 1144 -> 1133 bytes graphics/pokemon/altaria/mega/icon.png | Bin 502 -> 534 bytes graphics/pokemon/amaura/anim_front.png | Bin 773 -> 771 bytes graphics/pokemon/amaura/back.png | Bin 498 -> 512 bytes graphics/pokemon/amaura/icon.png | Bin 377 -> 414 bytes graphics/pokemon/ambipom/anim_front.png | Bin 1535 -> 1543 bytes graphics/pokemon/ambipom/back.png | Bin 859 -> 848 bytes graphics/pokemon/ambipom/icon.png | Bin 451 -> 489 bytes graphics/pokemon/amoonguss/anim_front.png | Bin 1044 -> 1070 bytes graphics/pokemon/amoonguss/back.png | Bin 611 -> 597 bytes graphics/pokemon/amoonguss/icon.png | Bin 349 -> 386 bytes graphics/pokemon/ampharos/anim_front.png | Bin 1128 -> 1135 bytes graphics/pokemon/ampharos/back.png | Bin 563 -> 566 bytes graphics/pokemon/ampharos/icon.png | Bin 364 -> 394 bytes graphics/pokemon/ampharos/mega/back.png | Bin 878 -> 863 bytes graphics/pokemon/ampharos/mega/front.png | Bin 1078 -> 1064 bytes graphics/pokemon/ampharos/mega/icon.png | Bin 455 -> 490 bytes graphics/pokemon/anorith/anim_front.png | Bin 1129 -> 1151 bytes graphics/pokemon/anorith/back.png | Bin 596 -> 587 bytes graphics/pokemon/anorith/icon.png | Bin 392 -> 426 bytes graphics/pokemon/appletun/back.png | Bin 750 -> 737 bytes graphics/pokemon/appletun/front.png | Bin 805 -> 795 bytes graphics/pokemon/appletun/icon.png | Bin 409 -> 427 bytes graphics/pokemon/applin/back.png | Bin 476 -> 465 bytes graphics/pokemon/applin/front.png | Bin 436 -> 430 bytes graphics/pokemon/applin/icon.png | Bin 331 -> 343 bytes graphics/pokemon/araquanid/back.png | Bin 679 -> 667 bytes graphics/pokemon/araquanid/front.png | Bin 985 -> 975 bytes graphics/pokemon/araquanid/icon.png | Bin 411 -> 449 bytes graphics/pokemon/arbok/anim_front.png | Bin 1391 -> 1468 bytes graphics/pokemon/arbok/back.png | Bin 511 -> 494 bytes graphics/pokemon/arbok/icon.png | Bin 406 -> 445 bytes graphics/pokemon/arcanine/anim_front.png | Bin 1691 -> 1597 bytes graphics/pokemon/arcanine/back.png | Bin 796 -> 835 bytes graphics/pokemon/arcanine/hisuian/back.png | Bin 923 -> 856 bytes graphics/pokemon/arcanine/hisuian/front.png | Bin 1138 -> 1075 bytes graphics/pokemon/arcanine/hisuian/icon.png | Bin 427 -> 447 bytes graphics/pokemon/arcanine/icon.png | Bin 475 -> 507 bytes graphics/pokemon/arceus/anim_front.png | Bin 1911 -> 1920 bytes graphics/pokemon/arceus/back.png | Bin 744 -> 781 bytes graphics/pokemon/arceus/icon.png | Bin 423 -> 434 bytes graphics/pokemon/archen/anim_front.png | Bin 995 -> 1022 bytes graphics/pokemon/archen/back.png | Bin 574 -> 564 bytes graphics/pokemon/archen/icon.png | Bin 372 -> 410 bytes graphics/pokemon/archeops/anim_front.png | Bin 1764 -> 1793 bytes graphics/pokemon/archeops/back.png | Bin 621 -> 612 bytes graphics/pokemon/archeops/icon.png | Bin 482 -> 517 bytes graphics/pokemon/arctovish/back.png | Bin 566 -> 558 bytes graphics/pokemon/arctovish/front.png | Bin 897 -> 882 bytes graphics/pokemon/arctovish/icon.png | Bin 448 -> 479 bytes graphics/pokemon/arctozolt/back.png | Bin 583 -> 615 bytes graphics/pokemon/arctozolt/front.png | Bin 813 -> 802 bytes graphics/pokemon/arctozolt/icon.png | Bin 439 -> 468 bytes graphics/pokemon/ariados/anim_front.png | Bin 1308 -> 1397 bytes graphics/pokemon/ariados/back.png | Bin 662 -> 653 bytes graphics/pokemon/ariados/icon.png | Bin 421 -> 432 bytes graphics/pokemon/armaldo/anim_front.png | Bin 1801 -> 1831 bytes graphics/pokemon/armaldo/back.png | Bin 978 -> 965 bytes graphics/pokemon/armaldo/icon.png | Bin 424 -> 436 bytes graphics/pokemon/aromatisse/anim_front.png | Bin 1219 -> 1227 bytes graphics/pokemon/aromatisse/back.png | Bin 722 -> 707 bytes graphics/pokemon/aromatisse/icon.png | Bin 357 -> 394 bytes graphics/pokemon/aron/anim_front.png | Bin 713 -> 722 bytes graphics/pokemon/aron/back.png | Bin 535 -> 525 bytes graphics/pokemon/aron/icon.png | Bin 251 -> 288 bytes graphics/pokemon/arrokuda/back.png | Bin 577 -> 567 bytes graphics/pokemon/arrokuda/front.png | Bin 506 -> 496 bytes graphics/pokemon/arrokuda/icon.png | Bin 319 -> 351 bytes graphics/pokemon/articuno/anim_front.png | Bin 1773 -> 1826 bytes graphics/pokemon/articuno/back.png | Bin 643 -> 629 bytes graphics/pokemon/articuno/galarian/back.png | Bin 645 -> 635 bytes graphics/pokemon/articuno/galarian/front.png | Bin 865 -> 856 bytes graphics/pokemon/articuno/galarian/icon.png | Bin 413 -> 430 bytes graphics/pokemon/articuno/icon.png | Bin 406 -> 424 bytes graphics/pokemon/audino/anim_front.png | Bin 981 -> 986 bytes graphics/pokemon/audino/back.png | Bin 683 -> 671 bytes graphics/pokemon/audino/icon.png | Bin 398 -> 431 bytes graphics/pokemon/audino/mega/back.png | Bin 711 -> 700 bytes graphics/pokemon/audino/mega/front.png | Bin 824 -> 814 bytes graphics/pokemon/audino/mega/icon.png | Bin 407 -> 443 bytes graphics/pokemon/aurorus/anim_front.png | Bin 1534 -> 1566 bytes graphics/pokemon/aurorus/back.png | Bin 585 -> 617 bytes graphics/pokemon/aurorus/icon.png | Bin 416 -> 454 bytes graphics/pokemon/avalugg/anim_front.png | Bin 1034 -> 1069 bytes graphics/pokemon/avalugg/back.png | Bin 608 -> 628 bytes graphics/pokemon/avalugg/hisuian/back.png | Bin 677 -> 614 bytes graphics/pokemon/avalugg/hisuian/front.png | Bin 947 -> 885 bytes graphics/pokemon/avalugg/hisuian/icon.png | Bin 442 -> 459 bytes graphics/pokemon/avalugg/icon.png | Bin 419 -> 457 bytes graphics/pokemon/axew/anim_front.png | Bin 734 -> 745 bytes graphics/pokemon/axew/back.png | Bin 616 -> 605 bytes graphics/pokemon/axew/icon.png | Bin 294 -> 326 bytes graphics/pokemon/azelf/anim_front.png | Bin 1138 -> 1162 bytes graphics/pokemon/azelf/back.png | Bin 631 -> 618 bytes graphics/pokemon/azelf/icon.png | Bin 425 -> 457 bytes graphics/pokemon/azumarill/anim_front.png | Bin 1151 -> 1161 bytes graphics/pokemon/azumarill/back.png | Bin 592 -> 579 bytes graphics/pokemon/azumarill/icon.png | Bin 419 -> 455 bytes graphics/pokemon/azurill/anim_front.png | Bin 911 -> 936 bytes graphics/pokemon/azurill/back.png | Bin 573 -> 562 bytes graphics/pokemon/azurill/icon.png | Bin 276 -> 313 bytes graphics/pokemon/bagon/anim_front.png | Bin 758 -> 786 bytes graphics/pokemon/bagon/back.png | Bin 552 -> 571 bytes graphics/pokemon/bagon/icon.png | Bin 277 -> 316 bytes graphics/pokemon/baltoy/anim_front.png | Bin 719 -> 753 bytes graphics/pokemon/baltoy/back.png | Bin 573 -> 556 bytes graphics/pokemon/baltoy/icon.png | Bin 278 -> 317 bytes graphics/pokemon/banette/anim_front.png | Bin 1020 -> 1042 bytes graphics/pokemon/banette/back.png | Bin 684 -> 671 bytes graphics/pokemon/banette/icon.png | Bin 353 -> 383 bytes graphics/pokemon/banette/mega/back.png | Bin 692 -> 678 bytes graphics/pokemon/banette/mega/front.png | Bin 1057 -> 1048 bytes graphics/pokemon/banette/mega/icon.png | Bin 413 -> 451 bytes graphics/pokemon/barbaracle/anim_front.png | Bin 1649 -> 1675 bytes graphics/pokemon/barbaracle/back.png | Bin 874 -> 863 bytes graphics/pokemon/barbaracle/icon.png | Bin 582 -> 616 bytes graphics/pokemon/barboach/anim_front.png | Bin 690 -> 726 bytes graphics/pokemon/barboach/back.png | Bin 589 -> 577 bytes graphics/pokemon/barboach/icon.png | Bin 312 -> 343 bytes graphics/pokemon/barraskewda/back.png | Bin 605 -> 593 bytes graphics/pokemon/barraskewda/front.png | Bin 732 -> 723 bytes graphics/pokemon/barraskewda/icon.png | Bin 379 -> 410 bytes graphics/pokemon/basculegion/back.png | Bin 625 -> 562 bytes graphics/pokemon/basculegion/female/back.png | Bin 628 -> 562 bytes graphics/pokemon/basculegion/female/front.png | Bin 939 -> 879 bytes graphics/pokemon/basculegion/female/icon.png | Bin 474 -> 488 bytes graphics/pokemon/basculegion/front.png | Bin 960 -> 899 bytes graphics/pokemon/basculegion/icon.png | Bin 509 -> 523 bytes graphics/pokemon/basculin/anim_front.png | Bin 969 -> 1001 bytes graphics/pokemon/basculin/back.png | Bin 715 -> 707 bytes .../pokemon/basculin/blue_striped/back.png | Bin 629 -> 678 bytes .../pokemon/basculin/blue_striped/front.png | Bin 522 -> 565 bytes .../pokemon/basculin/blue_striped/icon.png | Bin 362 -> 397 bytes graphics/pokemon/basculin/icon.png | Bin 355 -> 392 bytes .../pokemon/basculin/white_striped/back.png | Bin 645 -> 686 bytes .../pokemon/basculin/white_striped/front.png | Bin 546 -> 586 bytes .../pokemon/basculin/white_striped/icon.png | Bin 376 -> 393 bytes graphics/pokemon/bastiodon/anim_front.png | Bin 1584 -> 1587 bytes graphics/pokemon/bastiodon/back.png | Bin 701 -> 689 bytes graphics/pokemon/bastiodon/icon.png | Bin 419 -> 420 bytes graphics/pokemon/bayleef/anim_front.png | Bin 1112 -> 1149 bytes graphics/pokemon/bayleef/back.png | Bin 760 -> 749 bytes graphics/pokemon/bayleef/icon.png | Bin 383 -> 419 bytes graphics/pokemon/beartic/anim_front.png | Bin 1259 -> 1251 bytes graphics/pokemon/beartic/back.png | Bin 526 -> 561 bytes graphics/pokemon/beartic/icon.png | Bin 386 -> 412 bytes graphics/pokemon/beautifly/anim_front.png | Bin 1241 -> 1273 bytes graphics/pokemon/beautifly/back.png | Bin 927 -> 915 bytes graphics/pokemon/beautifly/icon.png | Bin 425 -> 460 bytes graphics/pokemon/beedrill/anim_front.png | Bin 1233 -> 1261 bytes graphics/pokemon/beedrill/back.png | Bin 944 -> 932 bytes graphics/pokemon/beedrill/icon.png | Bin 421 -> 457 bytes graphics/pokemon/beedrill/mega/back.png | Bin 917 -> 906 bytes graphics/pokemon/beedrill/mega/front.png | Bin 1031 -> 1017 bytes graphics/pokemon/beedrill/mega/icon.png | Bin 453 -> 469 bytes graphics/pokemon/beheeyem/anim_front.png | Bin 1143 -> 1165 bytes graphics/pokemon/beheeyem/back.png | Bin 685 -> 670 bytes graphics/pokemon/beheeyem/icon.png | Bin 362 -> 399 bytes graphics/pokemon/beldum/anim_front.png | Bin 805 -> 817 bytes graphics/pokemon/beldum/back.png | Bin 664 -> 652 bytes graphics/pokemon/beldum/icon.png | Bin 277 -> 296 bytes graphics/pokemon/bellossom/anim_front.png | Bin 802 -> 835 bytes graphics/pokemon/bellossom/back.png | Bin 581 -> 572 bytes graphics/pokemon/bellossom/icon.png | Bin 347 -> 386 bytes graphics/pokemon/bellsprout/anim_front.png | Bin 765 -> 860 bytes graphics/pokemon/bellsprout/back.png | Bin 562 -> 554 bytes graphics/pokemon/bellsprout/icon.png | Bin 296 -> 347 bytes graphics/pokemon/bergmite/anim_front.png | Bin 766 -> 772 bytes graphics/pokemon/bergmite/back.png | Bin 452 -> 471 bytes graphics/pokemon/bergmite/icon.png | Bin 294 -> 331 bytes graphics/pokemon/bewear/back.png | Bin 586 -> 576 bytes graphics/pokemon/bewear/front.png | Bin 689 -> 684 bytes graphics/pokemon/bewear/icon.png | Bin 341 -> 381 bytes graphics/pokemon/bibarel/anim_front.png | Bin 1140 -> 1175 bytes graphics/pokemon/bibarel/back.png | Bin 643 -> 626 bytes graphics/pokemon/bibarel/icon.png | Bin 424 -> 458 bytes graphics/pokemon/bidoof/anim_front.png | Bin 753 -> 783 bytes graphics/pokemon/bidoof/anim_frontf.png | Bin 781 -> 781 bytes graphics/pokemon/bidoof/back.png | Bin 540 -> 528 bytes graphics/pokemon/bidoof/backf.png | Bin 487 -> 504 bytes graphics/pokemon/bidoof/icon.png | Bin 284 -> 319 bytes graphics/pokemon/binacle/anim_front.png | Bin 993 -> 992 bytes graphics/pokemon/binacle/back.png | Bin 801 -> 788 bytes graphics/pokemon/binacle/icon.png | Bin 384 -> 418 bytes graphics/pokemon/bisharp/anim_front.png | Bin 1434 -> 1426 bytes graphics/pokemon/bisharp/back.png | Bin 926 -> 915 bytes graphics/pokemon/bisharp/icon.png | Bin 385 -> 421 bytes graphics/pokemon/blacephalon/back.png | Bin 770 -> 763 bytes graphics/pokemon/blacephalon/front.png | Bin 825 -> 813 bytes graphics/pokemon/blacephalon/icon.png | Bin 378 -> 415 bytes graphics/pokemon/blastoise/anim_front.png | Bin 1638 -> 1686 bytes graphics/pokemon/blastoise/back.png | Bin 747 -> 835 bytes graphics/pokemon/blastoise/icon.png | Bin 443 -> 475 bytes graphics/pokemon/blastoise/mega/back.png | Bin 804 -> 792 bytes graphics/pokemon/blastoise/mega/front.png | Bin 1169 -> 1159 bytes graphics/pokemon/blastoise/mega/icon.png | Bin 529 -> 572 bytes graphics/pokemon/blaziken/anim_front.png | Bin 1259 -> 1257 bytes graphics/pokemon/blaziken/back.png | Bin 723 -> 712 bytes graphics/pokemon/blaziken/icon.png | Bin 426 -> 461 bytes graphics/pokemon/blaziken/mega/back.png | Bin 739 -> 730 bytes graphics/pokemon/blaziken/mega/front.png | Bin 1037 -> 1022 bytes graphics/pokemon/blaziken/mega/icon.png | Bin 466 -> 506 bytes graphics/pokemon/blipbug/back.png | Bin 571 -> 555 bytes graphics/pokemon/blipbug/front.png | Bin 516 -> 509 bytes graphics/pokemon/blipbug/icon.png | Bin 361 -> 403 bytes graphics/pokemon/blissey/anim_front.png | Bin 1110 -> 1122 bytes graphics/pokemon/blissey/back.png | Bin 496 -> 483 bytes graphics/pokemon/blissey/icon.png | Bin 380 -> 419 bytes graphics/pokemon/blitzle/anim_front.png | Bin 916 -> 947 bytes graphics/pokemon/blitzle/back.png | Bin 611 -> 600 bytes graphics/pokemon/blitzle/icon.png | Bin 287 -> 327 bytes graphics/pokemon/boldore/anim_front.png | Bin 1154 -> 1189 bytes graphics/pokemon/boldore/back.png | Bin 617 -> 606 bytes graphics/pokemon/boldore/icon.png | Bin 341 -> 382 bytes graphics/pokemon/boltund/back.png | Bin 623 -> 611 bytes graphics/pokemon/boltund/front.png | Bin 757 -> 750 bytes graphics/pokemon/boltund/icon.png | Bin 393 -> 410 bytes graphics/pokemon/bonsly/anim_front.png | Bin 784 -> 809 bytes graphics/pokemon/bonsly/back.png | Bin 603 -> 582 bytes graphics/pokemon/bonsly/icon.png | Bin 271 -> 310 bytes graphics/pokemon/bouffalant/anim_front.png | Bin 1378 -> 1384 bytes graphics/pokemon/bouffalant/back.png | Bin 694 -> 681 bytes graphics/pokemon/bouffalant/icon.png | Bin 425 -> 464 bytes graphics/pokemon/bounsweet/back.png | Bin 467 -> 459 bytes graphics/pokemon/bounsweet/front.png | Bin 451 -> 443 bytes graphics/pokemon/bounsweet/icon.png | Bin 330 -> 371 bytes graphics/pokemon/braixen/anim_front.png | Bin 1318 -> 1336 bytes graphics/pokemon/braixen/back.png | Bin 757 -> 774 bytes graphics/pokemon/braixen/icon.png | Bin 372 -> 398 bytes graphics/pokemon/braviary/anim_front.png | Bin 1524 -> 1566 bytes graphics/pokemon/braviary/back.png | Bin 715 -> 703 bytes graphics/pokemon/braviary/hisuian/back.png | Bin 11612 -> 774 bytes graphics/pokemon/braviary/hisuian/front.png | Bin 15390 -> 1009 bytes graphics/pokemon/braviary/hisuian/icon.png | Bin 484 -> 497 bytes graphics/pokemon/braviary/icon.png | Bin 417 -> 452 bytes graphics/pokemon/breloom/anim_front.png | Bin 1401 -> 1414 bytes graphics/pokemon/breloom/back.png | Bin 705 -> 743 bytes graphics/pokemon/breloom/icon.png | Bin 385 -> 423 bytes graphics/pokemon/brionne/back.png | Bin 633 -> 625 bytes graphics/pokemon/brionne/front.png | Bin 685 -> 674 bytes graphics/pokemon/brionne/icon.png | Bin 385 -> 423 bytes graphics/pokemon/bronzong/anim_front.png | Bin 1462 -> 1493 bytes graphics/pokemon/bronzong/back.png | Bin 829 -> 815 bytes graphics/pokemon/bronzong/icon.png | Bin 354 -> 389 bytes graphics/pokemon/bronzor/anim_front.png | Bin 678 -> 700 bytes graphics/pokemon/bronzor/back.png | Bin 565 -> 552 bytes graphics/pokemon/bronzor/icon.png | Bin 239 -> 277 bytes graphics/pokemon/bruxish/back.png | Bin 708 -> 697 bytes graphics/pokemon/bruxish/front.png | Bin 666 -> 656 bytes graphics/pokemon/bruxish/icon.png | Bin 432 -> 469 bytes graphics/pokemon/budew/anim_front.png | Bin 701 -> 731 bytes graphics/pokemon/budew/back.png | Bin 484 -> 514 bytes graphics/pokemon/budew/icon.png | Bin 290 -> 327 bytes graphics/pokemon/buizel/anim_front.png | Bin 999 -> 1011 bytes graphics/pokemon/buizel/back.png | Bin 655 -> 642 bytes graphics/pokemon/buizel/icon.png | Bin 333 -> 372 bytes graphics/pokemon/bulbasaur/anim_front.png | Bin 904 -> 941 bytes graphics/pokemon/bulbasaur/back.png | Bin 539 -> 579 bytes graphics/pokemon/bulbasaur/icon.png | Bin 301 -> 341 bytes graphics/pokemon/buneary/anim_front.png | Bin 877 -> 872 bytes graphics/pokemon/buneary/back.png | Bin 665 -> 647 bytes graphics/pokemon/buneary/icon.png | Bin 370 -> 407 bytes graphics/pokemon/bunnelby/anim_front.png | Bin 968 -> 972 bytes graphics/pokemon/bunnelby/back.png | Bin 634 -> 624 bytes graphics/pokemon/bunnelby/icon.png | Bin 295 -> 331 bytes graphics/pokemon/burmy/anim_front.png | Bin 795 -> 776 bytes graphics/pokemon/burmy/back.png | Bin 589 -> 573 bytes graphics/pokemon/burmy/icon.png | Bin 278 -> 317 bytes .../pokemon/burmy/sandy_cloak/anim_front.png | Bin 720 -> 766 bytes graphics/pokemon/burmy/sandy_cloak/back.png | Bin 539 -> 520 bytes graphics/pokemon/burmy/sandy_cloak/icon.png | Bin 275 -> 311 bytes .../pokemon/burmy/trash_cloak/anim_front.png | Bin 828 -> 826 bytes graphics/pokemon/burmy/trash_cloak/back.png | Bin 550 -> 535 bytes graphics/pokemon/burmy/trash_cloak/icon.png | Bin 275 -> 313 bytes graphics/pokemon/butterfree/anim_front.png | Bin 1165 -> 1175 bytes graphics/pokemon/butterfree/back.png | Bin 941 -> 930 bytes graphics/pokemon/butterfree/icon.png | Bin 430 -> 449 bytes graphics/pokemon/buzzwole/back.png | Bin 905 -> 893 bytes graphics/pokemon/buzzwole/front.png | Bin 1302 -> 1293 bytes graphics/pokemon/buzzwole/icon.png | Bin 438 -> 473 bytes graphics/pokemon/cacnea/anim_front.png | Bin 1082 -> 1120 bytes graphics/pokemon/cacnea/back.png | Bin 742 -> 733 bytes graphics/pokemon/cacnea/icon.png | Bin 330 -> 366 bytes graphics/pokemon/cacturne/anim_front.png | Bin 1226 -> 1479 bytes graphics/pokemon/cacturne/back.png | Bin 798 -> 788 bytes graphics/pokemon/cacturne/icon.png | Bin 328 -> 344 bytes graphics/pokemon/calyrex/back.png | Bin 694 -> 686 bytes graphics/pokemon/calyrex/front.png | Bin 770 -> 763 bytes graphics/pokemon/calyrex/ice_rider/back.png | Bin 935 -> 921 bytes graphics/pokemon/calyrex/ice_rider/front.png | Bin 1173 -> 1161 bytes graphics/pokemon/calyrex/ice_rider/icon.png | Bin 600 -> 616 bytes graphics/pokemon/calyrex/icon.png | Bin 338 -> 351 bytes .../pokemon/calyrex/shadow_rider/back.png | Bin 962 -> 949 bytes .../pokemon/calyrex/shadow_rider/front.png | Bin 1135 -> 1127 bytes .../pokemon/calyrex/shadow_rider/icon.png | Bin 534 -> 554 bytes graphics/pokemon/camerupt/anim_front.png | Bin 1432 -> 1464 bytes graphics/pokemon/camerupt/back.png | Bin 663 -> 652 bytes graphics/pokemon/camerupt/icon.png | Bin 385 -> 423 bytes graphics/pokemon/camerupt/mega/back.png | Bin 867 -> 856 bytes graphics/pokemon/camerupt/mega/front.png | Bin 1046 -> 1033 bytes graphics/pokemon/camerupt/mega/icon.png | Bin 505 -> 543 bytes graphics/pokemon/carbink/anim_front.png | Bin 743 -> 748 bytes graphics/pokemon/carbink/back.png | Bin 668 -> 660 bytes graphics/pokemon/carbink/icon.png | Bin 259 -> 297 bytes graphics/pokemon/carkol/back.png | Bin 668 -> 659 bytes graphics/pokemon/carkol/front.png | Bin 797 -> 785 bytes graphics/pokemon/carkol/icon.png | Bin 485 -> 501 bytes graphics/pokemon/carnivine/anim_front.png | Bin 1309 -> 1317 bytes graphics/pokemon/carnivine/back.png | Bin 791 -> 781 bytes graphics/pokemon/carnivine/icon.png | Bin 384 -> 424 bytes graphics/pokemon/carracosta/anim_front.png | Bin 1643 -> 1669 bytes graphics/pokemon/carracosta/back.png | Bin 628 -> 615 bytes graphics/pokemon/carracosta/icon.png | Bin 403 -> 438 bytes graphics/pokemon/carvanha/anim_front.png | Bin 1115 -> 1133 bytes graphics/pokemon/carvanha/back.png | Bin 605 -> 651 bytes graphics/pokemon/carvanha/icon.png | Bin 379 -> 416 bytes graphics/pokemon/cascoon/anim_front.png | Bin 760 -> 771 bytes graphics/pokemon/cascoon/back.png | Bin 513 -> 502 bytes graphics/pokemon/cascoon/icon.png | Bin 304 -> 343 bytes graphics/pokemon/castform/icon.png | Bin 255 -> 283 bytes .../pokemon/castform/normal/anim_front.png | Bin 382 -> 413 bytes graphics/pokemon/castform/normal/back.png | Bin 373 -> 401 bytes graphics/pokemon/castform/normal/front.png | Bin 382 -> 413 bytes .../pokemon/castform/rainy/anim_front.png | Bin 549 -> 533 bytes graphics/pokemon/castform/rainy/back.png | Bin 495 -> 488 bytes graphics/pokemon/castform/rainy/front.png | Bin 549 -> 533 bytes graphics/pokemon/castform/rainy/icon.png | Bin 296 -> 312 bytes .../pokemon/castform/snowy/anim_front.png | Bin 688 -> 690 bytes graphics/pokemon/castform/snowy/back.png | Bin 628 -> 622 bytes graphics/pokemon/castform/snowy/front.png | Bin 688 -> 690 bytes graphics/pokemon/castform/snowy/icon.png | Bin 321 -> 332 bytes .../pokemon/castform/sunny/anim_front.png | Bin 656 -> 632 bytes graphics/pokemon/castform/sunny/back.png | Bin 559 -> 575 bytes graphics/pokemon/castform/sunny/front.png | Bin 656 -> 632 bytes graphics/pokemon/castform/sunny/icon.png | Bin 312 -> 322 bytes graphics/pokemon/caterpie/anim_front.png | Bin 701 -> 717 bytes graphics/pokemon/caterpie/back.png | Bin 617 -> 609 bytes graphics/pokemon/caterpie/icon.png | Bin 278 -> 309 bytes graphics/pokemon/celebi/anim_front.png | Bin 804 -> 829 bytes graphics/pokemon/celebi/back.png | Bin 641 -> 664 bytes graphics/pokemon/celebi/icon.png | Bin 299 -> 327 bytes graphics/pokemon/celesteela/back.png | Bin 806 -> 793 bytes graphics/pokemon/celesteela/front.png | Bin 1202 -> 1190 bytes graphics/pokemon/celesteela/icon.png | Bin 552 -> 588 bytes graphics/pokemon/centiskorch/back.png | Bin 734 -> 720 bytes graphics/pokemon/centiskorch/front.png | Bin 939 -> 930 bytes graphics/pokemon/centiskorch/icon.png | Bin 499 -> 509 bytes graphics/pokemon/chandelure/anim_front.png | Bin 933 -> 958 bytes graphics/pokemon/chandelure/back.png | Bin 571 -> 559 bytes graphics/pokemon/chandelure/icon.png | Bin 374 -> 413 bytes graphics/pokemon/chansey/anim_front.png | Bin 1001 -> 1026 bytes graphics/pokemon/chansey/back.png | Bin 591 -> 578 bytes graphics/pokemon/chansey/icon.png | Bin 335 -> 373 bytes graphics/pokemon/charizard/anim_front.png | Bin 1662 -> 1675 bytes graphics/pokemon/charizard/back.png | Bin 767 -> 807 bytes graphics/pokemon/charizard/icon.png | Bin 485 -> 521 bytes graphics/pokemon/charizard/mega_x/back.png | Bin 936 -> 924 bytes graphics/pokemon/charizard/mega_x/front.png | Bin 1151 -> 1142 bytes graphics/pokemon/charizard/mega_x/icon.png | Bin 487 -> 527 bytes graphics/pokemon/charizard/mega_y/back.png | Bin 853 -> 841 bytes graphics/pokemon/charizard/mega_y/front.png | Bin 1143 -> 1129 bytes graphics/pokemon/charizard/mega_y/icon.png | Bin 528 -> 566 bytes graphics/pokemon/charjabug/back.png | Bin 503 -> 492 bytes graphics/pokemon/charjabug/front.png | Bin 519 -> 512 bytes graphics/pokemon/charjabug/icon.png | Bin 367 -> 407 bytes graphics/pokemon/charmander/anim_front.png | Bin 941 -> 944 bytes graphics/pokemon/charmander/back.png | Bin 565 -> 553 bytes graphics/pokemon/charmander/icon.png | Bin 296 -> 331 bytes graphics/pokemon/charmeleon/anim_front.png | Bin 1266 -> 1270 bytes graphics/pokemon/charmeleon/back.png | Bin 651 -> 643 bytes graphics/pokemon/charmeleon/icon.png | Bin 398 -> 435 bytes graphics/pokemon/chatot/anim_front.png | Bin 896 -> 899 bytes graphics/pokemon/chatot/back.png | Bin 632 -> 623 bytes graphics/pokemon/chatot/icon.png | Bin 337 -> 424 bytes graphics/pokemon/cherrim/icon.png | Bin 280 -> 305 bytes .../pokemon/cherrim/normal/anim_front.png | Bin 852 -> 843 bytes graphics/pokemon/cherrim/normal/back.png | Bin 600 -> 589 bytes graphics/pokemon/cherrim/normal/front.png | Bin 544 -> 533 bytes .../pokemon/cherrim/sunshine/anim_front.png | Bin 608 -> 599 bytes graphics/pokemon/cherrim/sunshine/back.png | Bin 656 -> 644 bytes graphics/pokemon/cherrim/sunshine/front.png | Bin 585 -> 599 bytes graphics/pokemon/cherrim/sunshine/icon.png | Bin 334 -> 341 bytes graphics/pokemon/cherubi/anim_front.png | Bin 669 -> 729 bytes graphics/pokemon/cherubi/back.png | Bin 533 -> 527 bytes graphics/pokemon/cherubi/icon.png | Bin 305 -> 342 bytes graphics/pokemon/chesnaught/anim_front.png | Bin 1540 -> 1570 bytes graphics/pokemon/chesnaught/back.png | Bin 597 -> 582 bytes graphics/pokemon/chesnaught/icon.png | Bin 564 -> 602 bytes graphics/pokemon/chespin/anim_front.png | Bin 797 -> 840 bytes graphics/pokemon/chespin/back.png | Bin 543 -> 579 bytes graphics/pokemon/chespin/icon.png | Bin 401 -> 436 bytes graphics/pokemon/chewtle/back.png | Bin 527 -> 515 bytes graphics/pokemon/chewtle/front.png | Bin 511 -> 502 bytes graphics/pokemon/chewtle/icon.png | Bin 324 -> 343 bytes graphics/pokemon/chikorita/anim_front.png | Bin 871 -> 913 bytes graphics/pokemon/chikorita/back.png | Bin 677 -> 666 bytes graphics/pokemon/chikorita/icon.png | Bin 326 -> 349 bytes graphics/pokemon/chimchar/anim_front.png | Bin 1070 -> 1077 bytes graphics/pokemon/chimchar/back.png | Bin 723 -> 709 bytes graphics/pokemon/chimchar/icon.png | Bin 357 -> 395 bytes graphics/pokemon/chimecho/anim_front.png | Bin 620 -> 642 bytes graphics/pokemon/chimecho/back.png | Bin 585 -> 578 bytes graphics/pokemon/chimecho/icon.png | Bin 271 -> 323 bytes graphics/pokemon/chinchou/anim_front.png | Bin 1120 -> 1155 bytes graphics/pokemon/chinchou/back.png | Bin 739 -> 729 bytes graphics/pokemon/chinchou/icon.png | Bin 364 -> 399 bytes graphics/pokemon/chingling/anim_front.png | Bin 720 -> 733 bytes graphics/pokemon/chingling/back.png | Bin 585 -> 575 bytes graphics/pokemon/chingling/icon.png | Bin 358 -> 397 bytes graphics/pokemon/cinccino/anim_front.png | Bin 1260 -> 1284 bytes graphics/pokemon/cinccino/back.png | Bin 578 -> 619 bytes graphics/pokemon/cinccino/icon.png | Bin 415 -> 447 bytes graphics/pokemon/cinderace/back.png | Bin 649 -> 690 bytes graphics/pokemon/cinderace/front.png | Bin 726 -> 770 bytes graphics/pokemon/cinderace/icon.png | Bin 470 -> 487 bytes graphics/pokemon/clamperl/anim_front.png | Bin 824 -> 859 bytes graphics/pokemon/clamperl/back.png | Bin 512 -> 500 bytes graphics/pokemon/clamperl/icon.png | Bin 352 -> 391 bytes graphics/pokemon/clauncher/anim_front.png | Bin 913 -> 923 bytes graphics/pokemon/clauncher/back.png | Bin 618 -> 606 bytes graphics/pokemon/clauncher/icon.png | Bin 334 -> 371 bytes graphics/pokemon/clawitzer/anim_front.png | Bin 1533 -> 1544 bytes graphics/pokemon/clawitzer/back.png | Bin 782 -> 772 bytes graphics/pokemon/clawitzer/icon.png | Bin 377 -> 411 bytes graphics/pokemon/claydol/anim_front.png | Bin 1161 -> 1193 bytes graphics/pokemon/claydol/back.png | Bin 873 -> 860 bytes graphics/pokemon/claydol/icon.png | Bin 363 -> 403 bytes graphics/pokemon/clefable/anim_front.png | Bin 955 -> 1003 bytes graphics/pokemon/clefable/back.png | Bin 631 -> 677 bytes graphics/pokemon/clefable/icon.png | Bin 347 -> 383 bytes graphics/pokemon/clefairy/anim_front.png | Bin 766 -> 797 bytes graphics/pokemon/clefairy/back.png | Bin 579 -> 570 bytes graphics/pokemon/clefairy/icon.png | Bin 301 -> 342 bytes graphics/pokemon/cleffa/anim_front.png | Bin 592 -> 608 bytes graphics/pokemon/cleffa/back.png | Bin 451 -> 440 bytes graphics/pokemon/cleffa/icon.png | Bin 268 -> 304 bytes graphics/pokemon/clobbopus/back.png | Bin 476 -> 464 bytes graphics/pokemon/clobbopus/front.png | Bin 546 -> 537 bytes graphics/pokemon/clobbopus/icon.png | Bin 353 -> 367 bytes graphics/pokemon/cloyster/anim_front.png | Bin 1429 -> 1481 bytes graphics/pokemon/cloyster/back.png | Bin 752 -> 735 bytes graphics/pokemon/cloyster/icon.png | Bin 418 -> 491 bytes graphics/pokemon/coalossal/back.png | Bin 827 -> 816 bytes graphics/pokemon/coalossal/front.png | Bin 1123 -> 1113 bytes graphics/pokemon/coalossal/icon.png | Bin 432 -> 445 bytes graphics/pokemon/cobalion/anim_front.png | Bin 1531 -> 1556 bytes graphics/pokemon/cobalion/back.png | Bin 669 -> 654 bytes graphics/pokemon/cobalion/icon.png | Bin 366 -> 409 bytes graphics/pokemon/cofagrigus/anim_front.png | Bin 1359 -> 1409 bytes graphics/pokemon/cofagrigus/back.png | Bin 704 -> 692 bytes graphics/pokemon/cofagrigus/icon.png | Bin 553 -> 571 bytes graphics/pokemon/combee/anim_front.png | Bin 661 -> 705 bytes graphics/pokemon/combee/back.png | Bin 554 -> 574 bytes graphics/pokemon/combee/icon.png | Bin 340 -> 364 bytes graphics/pokemon/combusken/anim_front.png | Bin 1109 -> 1144 bytes graphics/pokemon/combusken/back.png | Bin 640 -> 630 bytes graphics/pokemon/combusken/icon.png | Bin 371 -> 404 bytes graphics/pokemon/comfey/back.png | Bin 806 -> 797 bytes graphics/pokemon/comfey/front.png | Bin 790 -> 784 bytes graphics/pokemon/comfey/icon.png | Bin 621 -> 658 bytes graphics/pokemon/conkeldurr/anim_front.png | Bin 1257 -> 1272 bytes graphics/pokemon/conkeldurr/back.png | Bin 741 -> 730 bytes graphics/pokemon/conkeldurr/icon.png | Bin 483 -> 519 bytes graphics/pokemon/copperajah/back.png | Bin 635 -> 623 bytes graphics/pokemon/copperajah/front.png | Bin 999 -> 989 bytes graphics/pokemon/copperajah/icon.png | Bin 430 -> 447 bytes graphics/pokemon/corphish/anim_front.png | Bin 1230 -> 1261 bytes graphics/pokemon/corphish/back.png | Bin 634 -> 618 bytes graphics/pokemon/corphish/icon.png | Bin 322 -> 361 bytes graphics/pokemon/corsola/anim_front.png | Bin 970 -> 998 bytes graphics/pokemon/corsola/back.png | Bin 539 -> 524 bytes graphics/pokemon/corsola/galarian/back.png | Bin 584 -> 569 bytes graphics/pokemon/corsola/galarian/front.png | Bin 582 -> 621 bytes graphics/pokemon/corsola/galarian/icon.png | Bin 343 -> 359 bytes graphics/pokemon/corsola/icon.png | Bin 346 -> 352 bytes graphics/pokemon/corviknight/back.png | Bin 791 -> 776 bytes graphics/pokemon/corviknight/front.png | Bin 854 -> 846 bytes graphics/pokemon/corviknight/icon.png | Bin 427 -> 439 bytes graphics/pokemon/corvisquire/back.png | Bin 745 -> 733 bytes graphics/pokemon/corvisquire/front.png | Bin 865 -> 857 bytes graphics/pokemon/corvisquire/icon.png | Bin 425 -> 436 bytes graphics/pokemon/cosmoem/back.png | Bin 685 -> 674 bytes graphics/pokemon/cosmoem/front.png | Bin 772 -> 760 bytes graphics/pokemon/cosmoem/icon.png | Bin 308 -> 347 bytes graphics/pokemon/cosmog/back.png | Bin 668 -> 657 bytes graphics/pokemon/cosmog/front.png | Bin 616 -> 608 bytes graphics/pokemon/cosmog/icon.png | Bin 340 -> 378 bytes graphics/pokemon/cottonee/anim_front.png | Bin 655 -> 652 bytes graphics/pokemon/cottonee/back.png | Bin 564 -> 555 bytes graphics/pokemon/cottonee/icon.png | Bin 306 -> 340 bytes graphics/pokemon/crabominable/back.png | Bin 864 -> 850 bytes graphics/pokemon/crabominable/front.png | Bin 1225 -> 1216 bytes graphics/pokemon/crabominable/icon.png | Bin 458 -> 499 bytes graphics/pokemon/crabrawler/back.png | Bin 631 -> 618 bytes graphics/pokemon/crabrawler/front.png | Bin 768 -> 757 bytes graphics/pokemon/crabrawler/icon.png | Bin 341 -> 380 bytes graphics/pokemon/cradily/anim_front.png | Bin 1258 -> 1288 bytes graphics/pokemon/cradily/back.png | Bin 965 -> 951 bytes graphics/pokemon/cradily/icon.png | Bin 468 -> 503 bytes graphics/pokemon/cramorant/back.png | Bin 563 -> 550 bytes graphics/pokemon/cramorant/front.png | Bin 774 -> 763 bytes graphics/pokemon/cramorant/gorging/back.png | Bin 778 -> 772 bytes graphics/pokemon/cramorant/gorging/front.png | Bin 891 -> 883 bytes graphics/pokemon/cramorant/gorging/icon.png | Bin 552 -> 566 bytes graphics/pokemon/cramorant/gulping/back.png | Bin 679 -> 673 bytes graphics/pokemon/cramorant/gulping/front.png | Bin 831 -> 819 bytes graphics/pokemon/cramorant/gulping/icon.png | Bin 552 -> 570 bytes graphics/pokemon/cramorant/icon.png | Bin 502 -> 520 bytes graphics/pokemon/cranidos/anim_front.png | Bin 1052 -> 1069 bytes graphics/pokemon/cranidos/back.png | Bin 731 -> 762 bytes graphics/pokemon/cranidos/icon.png | Bin 313 -> 352 bytes graphics/pokemon/crawdaunt/anim_front.png | Bin 1319 -> 1344 bytes graphics/pokemon/crawdaunt/back.png | Bin 783 -> 772 bytes graphics/pokemon/crawdaunt/icon.png | Bin 407 -> 447 bytes graphics/pokemon/cresselia/anim_front.png | Bin 1408 -> 1440 bytes graphics/pokemon/cresselia/back.png | Bin 534 -> 519 bytes graphics/pokemon/cresselia/icon.png | Bin 482 -> 510 bytes graphics/pokemon/croagunk/anim_front.png | Bin 805 -> 830 bytes graphics/pokemon/croagunk/back.png | Bin 546 -> 534 bytes graphics/pokemon/croagunk/icon.png | Bin 283 -> 318 bytes graphics/pokemon/crobat/anim_front.png | Bin 1125 -> 1156 bytes graphics/pokemon/crobat/back.png | Bin 505 -> 486 bytes graphics/pokemon/crobat/icon.png | Bin 404 -> 424 bytes graphics/pokemon/croconaw/anim_front.png | Bin 1054 -> 1174 bytes graphics/pokemon/croconaw/back.png | Bin 702 -> 684 bytes graphics/pokemon/croconaw/icon.png | Bin 364 -> 404 bytes graphics/pokemon/crustle/anim_front.png | Bin 1156 -> 1185 bytes graphics/pokemon/crustle/back.png | Bin 549 -> 534 bytes graphics/pokemon/crustle/icon.png | Bin 447 -> 544 bytes graphics/pokemon/cryogonal/anim_front.png | Bin 1308 -> 1341 bytes graphics/pokemon/cryogonal/back.png | Bin 743 -> 732 bytes graphics/pokemon/cryogonal/icon.png | Bin 321 -> 361 bytes graphics/pokemon/cubchoo/anim_front.png | Bin 685 -> 699 bytes graphics/pokemon/cubchoo/back.png | Bin 534 -> 522 bytes graphics/pokemon/cubchoo/icon.png | Bin 282 -> 323 bytes graphics/pokemon/cubone/anim_front.png | Bin 822 -> 835 bytes graphics/pokemon/cubone/back.png | Bin 693 -> 682 bytes graphics/pokemon/cubone/icon.png | Bin 327 -> 367 bytes graphics/pokemon/cufant/back.png | Bin 589 -> 577 bytes graphics/pokemon/cufant/front.png | Bin 678 -> 667 bytes graphics/pokemon/cufant/icon.png | Bin 401 -> 419 bytes graphics/pokemon/cursola/back.png | Bin 727 -> 718 bytes graphics/pokemon/cursola/front.png | Bin 878 -> 895 bytes graphics/pokemon/cursola/icon.png | Bin 519 -> 535 bytes graphics/pokemon/cutiefly/back.png | Bin 552 -> 542 bytes graphics/pokemon/cutiefly/front.png | Bin 467 -> 461 bytes graphics/pokemon/cutiefly/icon.png | Bin 312 -> 350 bytes graphics/pokemon/cyndaquil/anim_front.png | Bin 887 -> 956 bytes graphics/pokemon/cyndaquil/back.png | Bin 829 -> 818 bytes graphics/pokemon/cyndaquil/icon.png | Bin 363 -> 393 bytes graphics/pokemon/darkrai/anim_front.png | Bin 1372 -> 1380 bytes graphics/pokemon/darkrai/back.png | Bin 746 -> 733 bytes graphics/pokemon/darkrai/icon.png | Bin 481 -> 504 bytes graphics/pokemon/darmanitan/anim_front.png | Bin 1266 -> 1295 bytes graphics/pokemon/darmanitan/back.png | Bin 625 -> 618 bytes graphics/pokemon/darmanitan/galarian/back.png | Bin 522 -> 509 bytes .../pokemon/darmanitan/galarian/front.png | Bin 867 -> 850 bytes graphics/pokemon/darmanitan/galarian/icon.png | Bin 361 -> 379 bytes graphics/pokemon/darmanitan/icon.png | Bin 369 -> 407 bytes .../darmanitan/zen_mode/anim_front.png | Bin 773 -> 794 bytes graphics/pokemon/darmanitan/zen_mode/back.png | Bin 458 -> 447 bytes .../darmanitan/zen_mode/galarian/back.png | Bin 634 -> 624 bytes .../darmanitan/zen_mode/galarian/front.png | Bin 834 -> 826 bytes .../darmanitan/zen_mode/galarian/icon.png | Bin 388 -> 408 bytes graphics/pokemon/darmanitan/zen_mode/icon.png | Bin 323 -> 351 bytes graphics/pokemon/dartrix/back.png | Bin 694 -> 684 bytes graphics/pokemon/dartrix/front.png | Bin 692 -> 686 bytes graphics/pokemon/dartrix/icon.png | Bin 344 -> 382 bytes graphics/pokemon/darumaka/anim_front.png | Bin 780 -> 813 bytes graphics/pokemon/darumaka/back.png | Bin 568 -> 561 bytes graphics/pokemon/darumaka/galarian/back.png | Bin 558 -> 548 bytes graphics/pokemon/darumaka/galarian/front.png | Bin 571 -> 564 bytes graphics/pokemon/darumaka/galarian/icon.png | Bin 353 -> 371 bytes graphics/pokemon/darumaka/icon.png | Bin 312 -> 350 bytes graphics/pokemon/decidueye/back.png | Bin 742 -> 730 bytes graphics/pokemon/decidueye/front.png | Bin 925 -> 915 bytes graphics/pokemon/decidueye/hisuian/back.png | Bin 850 -> 887 bytes graphics/pokemon/decidueye/hisuian/front.png | Bin 966 -> 1002 bytes graphics/pokemon/decidueye/hisuian/icon.png | Bin 410 -> 425 bytes graphics/pokemon/decidueye/icon.png | Bin 377 -> 414 bytes graphics/pokemon/dedenne/anim_front.png | Bin 911 -> 923 bytes graphics/pokemon/dedenne/back.png | Bin 528 -> 516 bytes graphics/pokemon/dedenne/icon.png | Bin 356 -> 392 bytes graphics/pokemon/deerling/anim_front.png | Bin 702 -> 727 bytes graphics/pokemon/deerling/autumn/icon.png | Bin 379 -> 433 bytes graphics/pokemon/deerling/back.png | Bin 671 -> 654 bytes graphics/pokemon/deerling/icon.png | Bin 407 -> 446 bytes graphics/pokemon/deerling/summer/icon.png | Bin 378 -> 442 bytes graphics/pokemon/deerling/winter/icon.png | Bin 377 -> 438 bytes graphics/pokemon/deino/anim_front.png | Bin 715 -> 723 bytes graphics/pokemon/deino/back.png | Bin 487 -> 476 bytes graphics/pokemon/deino/icon.png | Bin 291 -> 301 bytes graphics/pokemon/delcatty/anim_front.png | Bin 1051 -> 1082 bytes graphics/pokemon/delcatty/back.png | Bin 756 -> 747 bytes graphics/pokemon/delibird/anim_front.png | Bin 1250 -> 1279 bytes graphics/pokemon/delibird/back.png | Bin 699 -> 682 bytes graphics/pokemon/delibird/icon.png | Bin 340 -> 375 bytes graphics/pokemon/delphox/anim_front.png | Bin 1648 -> 1656 bytes graphics/pokemon/delphox/back.png | Bin 830 -> 819 bytes graphics/pokemon/delphox/icon.png | Bin 390 -> 424 bytes graphics/pokemon/deoxys/anim_front.png | Bin 1484 -> 1488 bytes graphics/pokemon/deoxys/attack/anim_front.png | Bin 1705 -> 1705 bytes graphics/pokemon/deoxys/attack/back.png | Bin 774 -> 760 bytes graphics/pokemon/deoxys/attack/icon.png | Bin 456 -> 493 bytes graphics/pokemon/deoxys/back.png | Bin 729 -> 711 bytes .../pokemon/deoxys/defense/anim_front.png | Bin 1280 -> 1288 bytes graphics/pokemon/deoxys/defense/back.png | Bin 678 -> 667 bytes graphics/pokemon/deoxys/defense/icon.png | Bin 414 -> 460 bytes graphics/pokemon/deoxys/icon.png | Bin 362 -> 403 bytes graphics/pokemon/deoxys/icon_speed_wide.png | Bin 401 -> 438 bytes graphics/pokemon/deoxys/speed/anim_front.png | Bin 1599 -> 1591 bytes graphics/pokemon/deoxys/speed/back.png | Bin 746 -> 734 bytes graphics/pokemon/deoxys/speed/icon.png | Bin 376 -> 416 bytes graphics/pokemon/dewgong/anim_front.png | Bin 1167 -> 1167 bytes graphics/pokemon/dewgong/back.png | Bin 502 -> 497 bytes graphics/pokemon/dewgong/icon.png | Bin 421 -> 460 bytes graphics/pokemon/dewott/anim_front.png | Bin 798 -> 794 bytes graphics/pokemon/dewott/back.png | Bin 629 -> 620 bytes graphics/pokemon/dewott/icon.png | Bin 416 -> 456 bytes graphics/pokemon/dewpider/back.png | Bin 613 -> 607 bytes graphics/pokemon/dewpider/front.png | Bin 570 -> 564 bytes graphics/pokemon/dewpider/icon.png | Bin 284 -> 323 bytes graphics/pokemon/dhelmise/back.png | Bin 923 -> 909 bytes graphics/pokemon/dhelmise/front.png | Bin 903 -> 894 bytes graphics/pokemon/dhelmise/icon.png | Bin 394 -> 424 bytes graphics/pokemon/dialga/anim_front.png | Bin 2045 -> 2074 bytes graphics/pokemon/dialga/back.png | Bin 761 -> 744 bytes graphics/pokemon/dialga/icon.png | Bin 480 -> 484 bytes graphics/pokemon/dialga/origin/back.png | Bin 623 -> 657 bytes graphics/pokemon/dialga/origin/front.png | Bin 1072 -> 1109 bytes graphics/pokemon/dialga/origin/icon.png | Bin 475 -> 492 bytes graphics/pokemon/diancie/anim_front.png | Bin 1139 -> 1152 bytes graphics/pokemon/diancie/back.png | Bin 803 -> 814 bytes graphics/pokemon/diancie/icon.png | Bin 355 -> 392 bytes graphics/pokemon/diancie/mega/back.png | Bin 934 -> 921 bytes graphics/pokemon/diancie/mega/front.png | Bin 1171 -> 1164 bytes graphics/pokemon/diancie/mega/icon.png | Bin 456 -> 495 bytes graphics/pokemon/diggersby/anim_front.png | Bin 1436 -> 1449 bytes graphics/pokemon/diggersby/back.png | Bin 830 -> 820 bytes graphics/pokemon/diggersby/icon.png | Bin 365 -> 404 bytes graphics/pokemon/diglett/alolan/back.png | Bin 398 -> 388 bytes graphics/pokemon/diglett/alolan/front.png | Bin 451 -> 442 bytes graphics/pokemon/diglett/alolan/icon.png | Bin 358 -> 293 bytes graphics/pokemon/diglett/anim_front.png | Bin 466 -> 500 bytes graphics/pokemon/diglett/back.png | Bin 321 -> 312 bytes graphics/pokemon/diglett/icon.png | Bin 235 -> 273 bytes graphics/pokemon/ditto/anim_front.png | Bin 557 -> 584 bytes graphics/pokemon/ditto/back.png | Bin 360 -> 370 bytes graphics/pokemon/ditto/icon.png | Bin 266 -> 301 bytes graphics/pokemon/dodrio/anim_front.png | Bin 1581 -> 1624 bytes graphics/pokemon/dodrio/back.png | Bin 860 -> 849 bytes graphics/pokemon/dodrio/icon.png | Bin 452 -> 529 bytes graphics/pokemon/doduo/anim_front.png | Bin 912 -> 944 bytes graphics/pokemon/doduo/back.png | Bin 605 -> 590 bytes graphics/pokemon/doduo/icon.png | Bin 330 -> 367 bytes graphics/pokemon/donphan/anim_front.png | Bin 1556 -> 1561 bytes graphics/pokemon/donphan/back.png | Bin 637 -> 623 bytes graphics/pokemon/donphan/icon.png | Bin 401 -> 517 bytes graphics/pokemon/dottler/back.png | Bin 505 -> 496 bytes graphics/pokemon/dottler/front.png | Bin 602 -> 596 bytes graphics/pokemon/dottler/icon.png | Bin 422 -> 439 bytes graphics/pokemon/doublade/anim_front.png | Bin 1499 -> 1513 bytes graphics/pokemon/doublade/back.png | Bin 732 -> 722 bytes graphics/pokemon/doublade/icon.png | Bin 494 -> 534 bytes graphics/pokemon/dracovish/back.png | Bin 730 -> 716 bytes graphics/pokemon/dracovish/front.png | Bin 848 -> 842 bytes graphics/pokemon/dracovish/icon.png | Bin 487 -> 527 bytes graphics/pokemon/dracozolt/back.png | Bin 683 -> 669 bytes graphics/pokemon/dracozolt/front.png | Bin 995 -> 984 bytes graphics/pokemon/dracozolt/icon.png | Bin 486 -> 518 bytes graphics/pokemon/dragalge/anim_front.png | Bin 1516 -> 1526 bytes graphics/pokemon/dragalge/back.png | Bin 878 -> 864 bytes graphics/pokemon/dragalge/icon.png | Bin 395 -> 435 bytes graphics/pokemon/dragapult/back.png | Bin 776 -> 771 bytes graphics/pokemon/dragapult/front.png | Bin 1065 -> 1061 bytes graphics/pokemon/dragapult/icon.png | Bin 595 -> 613 bytes graphics/pokemon/dragonair/anim_front.png | Bin 1182 -> 1180 bytes graphics/pokemon/dragonair/back.png | Bin 568 -> 557 bytes graphics/pokemon/dragonair/icon.png | Bin 392 -> 432 bytes graphics/pokemon/dragonite/anim_front.png | Bin 1665 -> 1700 bytes graphics/pokemon/dragonite/back.png | Bin 750 -> 744 bytes graphics/pokemon/dragonite/icon.png | Bin 412 -> 444 bytes graphics/pokemon/drakloak/back.png | Bin 668 -> 659 bytes graphics/pokemon/drakloak/front.png | Bin 781 -> 776 bytes graphics/pokemon/drakloak/icon.png | Bin 476 -> 494 bytes graphics/pokemon/drampa/back.png | Bin 691 -> 679 bytes graphics/pokemon/drampa/front.png | Bin 1067 -> 1056 bytes graphics/pokemon/drampa/icon.png | Bin 426 -> 466 bytes graphics/pokemon/drapion/anim_front.png | Bin 1935 -> 1908 bytes graphics/pokemon/drapion/back.png | Bin 862 -> 852 bytes graphics/pokemon/drapion/icon.png | Bin 446 -> 482 bytes graphics/pokemon/dratini/anim_front.png | Bin 813 -> 834 bytes graphics/pokemon/dratini/back.png | Bin 509 -> 500 bytes graphics/pokemon/dratini/icon.png | Bin 355 -> 394 bytes graphics/pokemon/drednaw/back.png | Bin 710 -> 698 bytes graphics/pokemon/drednaw/front.png | Bin 917 -> 905 bytes graphics/pokemon/drednaw/icon.png | Bin 423 -> 441 bytes graphics/pokemon/dreepy/back.png | Bin 603 -> 590 bytes graphics/pokemon/dreepy/front.png | Bin 559 -> 550 bytes graphics/pokemon/dreepy/icon.png | Bin 422 -> 440 bytes graphics/pokemon/drifblim/anim_front.png | Bin 1272 -> 1307 bytes graphics/pokemon/drifblim/back.png | Bin 661 -> 649 bytes graphics/pokemon/drifblim/icon.png | Bin 381 -> 423 bytes graphics/pokemon/drifloon/anim_front.png | Bin 750 -> 775 bytes graphics/pokemon/drifloon/back.png | Bin 545 -> 535 bytes graphics/pokemon/drifloon/icon.png | Bin 288 -> 326 bytes graphics/pokemon/drilbur/anim_front.png | Bin 1087 -> 1124 bytes graphics/pokemon/drilbur/back.png | Bin 696 -> 683 bytes graphics/pokemon/drilbur/icon.png | Bin 345 -> 382 bytes graphics/pokemon/drizzile/back.png | Bin 598 -> 588 bytes graphics/pokemon/drizzile/front.png | Bin 648 -> 634 bytes graphics/pokemon/drizzile/icon.png | Bin 455 -> 468 bytes graphics/pokemon/drowzee/anim_front.png | Bin 1028 -> 1056 bytes graphics/pokemon/drowzee/back.png | Bin 593 -> 580 bytes graphics/pokemon/drowzee/icon.png | Bin 358 -> 395 bytes graphics/pokemon/druddigon/anim_front.png | Bin 1714 -> 1736 bytes graphics/pokemon/druddigon/back.png | Bin 762 -> 749 bytes graphics/pokemon/druddigon/icon.png | Bin 475 -> 503 bytes graphics/pokemon/dubwool/back.png | Bin 725 -> 715 bytes graphics/pokemon/dubwool/front.png | Bin 852 -> 843 bytes graphics/pokemon/dubwool/icon.png | Bin 358 -> 375 bytes graphics/pokemon/ducklett/anim_front.png | Bin 665 -> 656 bytes graphics/pokemon/ducklett/back.png | Bin 546 -> 530 bytes graphics/pokemon/ducklett/icon.png | Bin 336 -> 375 bytes graphics/pokemon/dugtrio/alolan/back.png | Bin 519 -> 509 bytes graphics/pokemon/dugtrio/alolan/front.png | Bin 776 -> 769 bytes graphics/pokemon/dugtrio/alolan/icon.png | Bin 476 -> 413 bytes graphics/pokemon/dugtrio/anim_front.png | Bin 771 -> 821 bytes graphics/pokemon/dugtrio/back.png | Bin 408 -> 399 bytes graphics/pokemon/dugtrio/icon.png | Bin 342 -> 380 bytes graphics/pokemon/dunsparce/anim_front.png | Bin 988 -> 1021 bytes graphics/pokemon/dunsparce/back.png | Bin 569 -> 599 bytes graphics/pokemon/dunsparce/icon.png | Bin 319 -> 355 bytes graphics/pokemon/duosion/anim_front.png | Bin 738 -> 816 bytes graphics/pokemon/duosion/back.png | Bin 513 -> 502 bytes graphics/pokemon/duosion/icon.png | Bin 324 -> 346 bytes graphics/pokemon/duraludon/back.png | Bin 663 -> 652 bytes graphics/pokemon/duraludon/front.png | Bin 910 -> 899 bytes graphics/pokemon/duraludon/icon.png | Bin 413 -> 430 bytes graphics/pokemon/durant/anim_front.png | Bin 816 -> 850 bytes graphics/pokemon/durant/back.png | Bin 619 -> 611 bytes graphics/pokemon/durant/icon.png | Bin 368 -> 409 bytes graphics/pokemon/dusclops/anim_front.png | Bin 1258 -> 1287 bytes graphics/pokemon/dusclops/back.png | Bin 687 -> 673 bytes graphics/pokemon/dusclops/icon.png | Bin 349 -> 384 bytes graphics/pokemon/dusknoir/anim_front.png | Bin 1546 -> 1557 bytes graphics/pokemon/dusknoir/back.png | Bin 730 -> 718 bytes graphics/pokemon/dusknoir/icon.png | Bin 404 -> 439 bytes graphics/pokemon/duskull/anim_front.png | Bin 737 -> 759 bytes graphics/pokemon/duskull/back.png | Bin 524 -> 548 bytes graphics/pokemon/duskull/icon.png | Bin 287 -> 323 bytes graphics/pokemon/dustox/anim_front.png | Bin 1158 -> 1171 bytes graphics/pokemon/dustox/back.png | Bin 825 -> 862 bytes graphics/pokemon/dustox/icon.png | Bin 416 -> 452 bytes graphics/pokemon/dwebble/anim_front.png | Bin 848 -> 883 bytes graphics/pokemon/dwebble/back.png | Bin 526 -> 516 bytes graphics/pokemon/dwebble/icon.png | Bin 333 -> 381 bytes graphics/pokemon/eelektrik/anim_front.png | Bin 1139 -> 1150 bytes graphics/pokemon/eelektrik/back.png | Bin 633 -> 622 bytes graphics/pokemon/eelektrik/icon.png | Bin 402 -> 441 bytes graphics/pokemon/eelektross/anim_front.png | Bin 1526 -> 1551 bytes graphics/pokemon/eelektross/back.png | Bin 807 -> 793 bytes graphics/pokemon/eelektross/icon.png | Bin 530 -> 567 bytes graphics/pokemon/eevee/anim_front.png | Bin 835 -> 859 bytes graphics/pokemon/eevee/anim_frontf.png | Bin 840 -> 865 bytes graphics/pokemon/eevee/back.png | Bin 647 -> 636 bytes graphics/pokemon/eevee/backf.png | Bin 615 -> 626 bytes graphics/pokemon/eevee/frontf.png | Bin 538 -> 576 bytes graphics/pokemon/eevee/icon.png | Bin 315 -> 339 bytes graphics/pokemon/egg/anim_front.png | Bin 358 -> 405 bytes graphics/pokemon/egg/hatch.png | Bin 469 -> 505 bytes graphics/pokemon/egg/icon.png | Bin 298 -> 332 bytes graphics/pokemon/egg/shard.png | Bin 189 -> 229 bytes graphics/pokemon/eiscue/back.png | Bin 505 -> 496 bytes graphics/pokemon/eiscue/front.png | Bin 668 -> 656 bytes graphics/pokemon/eiscue/icon.png | Bin 352 -> 369 bytes graphics/pokemon/eiscue/noice_face/back.png | Bin 450 -> 440 bytes graphics/pokemon/eiscue/noice_face/front.png | Bin 578 -> 567 bytes graphics/pokemon/eiscue/noice_face/icon.png | Bin 329 -> 347 bytes graphics/pokemon/ekans/anim_front.png | Bin 898 -> 912 bytes graphics/pokemon/ekans/back.png | Bin 683 -> 672 bytes graphics/pokemon/ekans/icon.png | Bin 323 -> 363 bytes graphics/pokemon/eldegoss/back.png | Bin 449 -> 439 bytes graphics/pokemon/eldegoss/front.png | Bin 776 -> 767 bytes graphics/pokemon/eldegoss/icon.png | Bin 359 -> 378 bytes graphics/pokemon/electabuzz/anim_front.png | Bin 1446 -> 1469 bytes graphics/pokemon/electabuzz/back.png | Bin 751 -> 739 bytes graphics/pokemon/electabuzz/icon.png | Bin 347 -> 385 bytes graphics/pokemon/electivire/anim_front.png | Bin 1908 -> 1890 bytes graphics/pokemon/electivire/back.png | Bin 690 -> 677 bytes graphics/pokemon/electivire/icon.png | Bin 435 -> 468 bytes graphics/pokemon/electrike/anim_front.png | Bin 751 -> 783 bytes graphics/pokemon/electrike/back.png | Bin 612 -> 602 bytes graphics/pokemon/electrike/icon.png | Bin 323 -> 361 bytes graphics/pokemon/electrode/anim_front.png | Bin 729 -> 790 bytes graphics/pokemon/electrode/back.png | Bin 523 -> 508 bytes graphics/pokemon/electrode/hisuian/back.png | Bin 516 -> 556 bytes graphics/pokemon/electrode/hisuian/front.png | Bin 653 -> 696 bytes graphics/pokemon/electrode/hisuian/icon.png | Bin 277 -> 296 bytes graphics/pokemon/electrode/icon.png | Bin 257 -> 295 bytes graphics/pokemon/elekid/anim_front.png | Bin 1022 -> 1049 bytes graphics/pokemon/elekid/back.png | Bin 652 -> 678 bytes graphics/pokemon/elekid/icon.png | Bin 345 -> 377 bytes graphics/pokemon/elgyem/anim_front.png | Bin 678 -> 858 bytes graphics/pokemon/elgyem/back.png | Bin 518 -> 507 bytes graphics/pokemon/elgyem/icon.png | Bin 276 -> 312 bytes graphics/pokemon/emboar/anim_front.png | Bin 1921 -> 1956 bytes graphics/pokemon/emboar/back.png | Bin 1013 -> 999 bytes graphics/pokemon/emboar/icon.png | Bin 516 -> 550 bytes graphics/pokemon/emolga/anim_front.png | Bin 935 -> 953 bytes graphics/pokemon/emolga/back.png | Bin 469 -> 456 bytes graphics/pokemon/emolga/icon.png | Bin 380 -> 413 bytes graphics/pokemon/empoleon/anim_front.png | Bin 1406 -> 1410 bytes graphics/pokemon/empoleon/back.png | Bin 749 -> 740 bytes graphics/pokemon/empoleon/icon.png | Bin 384 -> 412 bytes graphics/pokemon/enamorus/back.png | Bin 841 -> 771 bytes graphics/pokemon/enamorus/front.png | Bin 896 -> 832 bytes graphics/pokemon/enamorus/icon.png | Bin 480 -> 496 bytes graphics/pokemon/enamorus/therian/back.png | Bin 710 -> 747 bytes graphics/pokemon/enamorus/therian/front.png | Bin 821 -> 838 bytes graphics/pokemon/enamorus/therian/icon.png | Bin 488 -> 501 bytes graphics/pokemon/entei/anim_front.png | Bin 1686 -> 1715 bytes graphics/pokemon/entei/back.png | Bin 707 -> 697 bytes graphics/pokemon/entei/icon.png | Bin 461 -> 522 bytes graphics/pokemon/escavalier/anim_front.png | Bin 1433 -> 1467 bytes graphics/pokemon/escavalier/back.png | Bin 726 -> 715 bytes graphics/pokemon/escavalier/icon.png | Bin 416 -> 439 bytes graphics/pokemon/espeon/anim_front.png | Bin 1037 -> 1062 bytes graphics/pokemon/espeon/back.png | Bin 617 -> 612 bytes graphics/pokemon/espeon/icon.png | Bin 382 -> 387 bytes graphics/pokemon/espurr/anim_front.png | Bin 692 -> 699 bytes graphics/pokemon/espurr/back.png | Bin 596 -> 614 bytes graphics/pokemon/espurr/icon.png | Bin 267 -> 303 bytes graphics/pokemon/eternatus/back.png | Bin 1023 -> 1013 bytes graphics/pokemon/eternatus/eternamax/back.png | Bin 838 -> 878 bytes .../pokemon/eternatus/eternamax/front.png | Bin 1079 -> 1123 bytes graphics/pokemon/eternatus/eternamax/icon.png | Bin 444 -> 484 bytes graphics/pokemon/eternatus/front.png | Bin 1133 -> 1120 bytes graphics/pokemon/eternatus/icon.png | Bin 541 -> 556 bytes graphics/pokemon/excadrill/anim_front.png | Bin 1527 -> 1553 bytes graphics/pokemon/excadrill/back.png | Bin 702 -> 689 bytes graphics/pokemon/excadrill/icon.png | Bin 414 -> 452 bytes graphics/pokemon/exeggcute/anim_front.png | Bin 1043 -> 1064 bytes graphics/pokemon/exeggcute/back.png | Bin 513 -> 498 bytes graphics/pokemon/exeggcute/icon.png | Bin 411 -> 451 bytes graphics/pokemon/exeggutor/alolan/back.png | Bin 848 -> 833 bytes graphics/pokemon/exeggutor/alolan/front.png | Bin 939 -> 926 bytes graphics/pokemon/exeggutor/alolan/icon.png | Bin 536 -> 472 bytes graphics/pokemon/exeggutor/anim_front.png | Bin 1504 -> 1700 bytes graphics/pokemon/exeggutor/back.png | Bin 770 -> 760 bytes graphics/pokemon/exeggutor/icon.png | Bin 385 -> 415 bytes graphics/pokemon/exploud/anim_front.png | Bin 1904 -> 1947 bytes graphics/pokemon/exploud/back.png | Bin 819 -> 808 bytes graphics/pokemon/exploud/icon.png | Bin 421 -> 450 bytes graphics/pokemon/falinks/back.png | Bin 541 -> 528 bytes graphics/pokemon/falinks/front.png | Bin 860 -> 851 bytes graphics/pokemon/falinks/icon.png | Bin 539 -> 559 bytes graphics/pokemon/farfetchd/anim_front.png | Bin 1192 -> 1219 bytes graphics/pokemon/farfetchd/back.png | Bin 688 -> 678 bytes graphics/pokemon/farfetchd/galarian/back.png | Bin 642 -> 626 bytes graphics/pokemon/farfetchd/galarian/front.png | Bin 788 -> 781 bytes graphics/pokemon/farfetchd/galarian/icon.png | Bin 450 -> 467 bytes graphics/pokemon/farfetchd/icon.png | Bin 381 -> 420 bytes graphics/pokemon/fearow/anim_front.png | Bin 1619 -> 1614 bytes graphics/pokemon/fearow/back.png | Bin 631 -> 705 bytes graphics/pokemon/fearow/icon.png | Bin 441 -> 478 bytes graphics/pokemon/feebas/anim_front.png | Bin 965 -> 958 bytes graphics/pokemon/feebas/back.png | Bin 750 -> 743 bytes graphics/pokemon/feebas/icon.png | Bin 322 -> 355 bytes graphics/pokemon/fennekin/anim_front.png | Bin 952 -> 952 bytes graphics/pokemon/fennekin/back.png | Bin 670 -> 662 bytes graphics/pokemon/fennekin/icon.png | Bin 310 -> 346 bytes graphics/pokemon/feraligatr/anim_front.png | Bin 1688 -> 1702 bytes graphics/pokemon/feraligatr/back.png | Bin 798 -> 782 bytes graphics/pokemon/feraligatr/icon.png | Bin 492 -> 504 bytes graphics/pokemon/ferroseed/anim_front.png | Bin 728 -> 755 bytes graphics/pokemon/ferroseed/back.png | Bin 572 -> 560 bytes graphics/pokemon/ferroseed/icon.png | Bin 306 -> 343 bytes graphics/pokemon/ferrothorn/anim_front.png | Bin 1022 -> 1036 bytes graphics/pokemon/ferrothorn/back.png | Bin 723 -> 710 bytes graphics/pokemon/ferrothorn/icon.png | Bin 414 -> 452 bytes graphics/pokemon/finneon/anim_front.png | Bin 709 -> 710 bytes graphics/pokemon/finneon/back.png | Bin 689 -> 679 bytes graphics/pokemon/finneon/icon.png | Bin 336 -> 372 bytes graphics/pokemon/flaaffy/anim_front.png | Bin 1127 -> 1153 bytes graphics/pokemon/flaaffy/back.png | Bin 624 -> 616 bytes graphics/pokemon/flaaffy/icon.png | Bin 385 -> 419 bytes graphics/pokemon/flabebe/anim_front.png | Bin 1115 -> 1112 bytes graphics/pokemon/flabebe/back.png | Bin 526 -> 579 bytes graphics/pokemon/flabebe/blue_flower/icon.png | Bin 301 -> 309 bytes graphics/pokemon/flabebe/icon.png | Bin 274 -> 312 bytes .../pokemon/flabebe/orange_flower/icon.png | Bin 301 -> 309 bytes .../pokemon/flabebe/white_flower/icon.png | Bin 302 -> 310 bytes .../pokemon/flabebe/yellow_flower/icon.png | Bin 302 -> 312 bytes graphics/pokemon/flapple/back.png | Bin 633 -> 623 bytes graphics/pokemon/flapple/front.png | Bin 754 -> 741 bytes graphics/pokemon/flapple/icon.png | Bin 499 -> 516 bytes graphics/pokemon/flareon/anim_front.png | Bin 1290 -> 1274 bytes graphics/pokemon/flareon/back.png | Bin 798 -> 783 bytes graphics/pokemon/flareon/icon.png | Bin 404 -> 428 bytes graphics/pokemon/fletchinder/anim_front.png | Bin 1042 -> 1074 bytes graphics/pokemon/fletchinder/back.png | Bin 580 -> 620 bytes graphics/pokemon/fletchinder/icon.png | Bin 358 -> 397 bytes graphics/pokemon/fletchling/anim_front.png | Bin 704 -> 731 bytes graphics/pokemon/fletchling/back.png | Bin 613 -> 606 bytes graphics/pokemon/fletchling/icon.png | Bin 313 -> 350 bytes graphics/pokemon/floatzel/anim_front.png | Bin 1484 -> 1484 bytes graphics/pokemon/floatzel/back.png | Bin 723 -> 711 bytes graphics/pokemon/floatzel/icon.png | Bin 361 -> 401 bytes graphics/pokemon/floette/anim_front.png | Bin 1043 -> 1052 bytes graphics/pokemon/floette/back.png | Bin 749 -> 787 bytes graphics/pokemon/floette/blue_flower/icon.png | Bin 352 -> 367 bytes .../pokemon/floette/eternal_flower/back.png | Bin 668 -> 713 bytes .../pokemon/floette/eternal_flower/front.png | Bin 710 -> 732 bytes .../pokemon/floette/eternal_flower/icon.png | Bin 376 -> 384 bytes graphics/pokemon/floette/icon.png | Bin 332 -> 371 bytes .../pokemon/floette/orange_flower/icon.png | Bin 352 -> 366 bytes .../pokemon/floette/white_flower/icon.png | Bin 352 -> 366 bytes .../pokemon/floette/yellow_flower/icon.png | Bin 353 -> 372 bytes graphics/pokemon/florges/anim_front.png | Bin 1676 -> 1690 bytes graphics/pokemon/florges/back.png | Bin 673 -> 705 bytes graphics/pokemon/florges/blue_flower/icon.png | Bin 480 -> 585 bytes graphics/pokemon/florges/icon.png | Bin 554 -> 591 bytes .../pokemon/florges/orange_flower/icon.png | Bin 479 -> 582 bytes .../pokemon/florges/white_flower/icon.png | Bin 470 -> 554 bytes .../pokemon/florges/yellow_flower/icon.png | Bin 480 -> 584 bytes graphics/pokemon/flygon/anim_front.png | Bin 1462 -> 1498 bytes graphics/pokemon/flygon/back.png | Bin 868 -> 859 bytes graphics/pokemon/flygon/icon.png | Bin 451 -> 471 bytes graphics/pokemon/fomantis/back.png | Bin 596 -> 589 bytes graphics/pokemon/fomantis/front.png | Bin 564 -> 551 bytes graphics/pokemon/fomantis/icon.png | Bin 311 -> 348 bytes graphics/pokemon/foongus/anim_front.png | Bin 533 -> 566 bytes graphics/pokemon/foongus/back.png | Bin 475 -> 468 bytes graphics/pokemon/foongus/icon.png | Bin 280 -> 301 bytes graphics/pokemon/forretress/anim_front.png | Bin 1030 -> 1043 bytes graphics/pokemon/forretress/back.png | Bin 570 -> 559 bytes graphics/pokemon/forretress/icon.png | Bin 354 -> 385 bytes graphics/pokemon/fraxure/anim_front.png | Bin 1284 -> 1314 bytes graphics/pokemon/fraxure/back.png | Bin 605 -> 594 bytes graphics/pokemon/fraxure/icon.png | Bin 329 -> 366 bytes graphics/pokemon/frillish/anim_front.png | Bin 1100 -> 1128 bytes graphics/pokemon/frillish/anim_frontf.png | Bin 1115 -> 1124 bytes graphics/pokemon/frillish/back.png | Bin 530 -> 545 bytes graphics/pokemon/frillish/backf.png | Bin 493 -> 505 bytes graphics/pokemon/frillish/frontf.png | Bin 652 -> 669 bytes graphics/pokemon/frillish/icon.png | Bin 324 -> 361 bytes graphics/pokemon/frillish/iconf.png | Bin 429 -> 366 bytes graphics/pokemon/froakie/anim_front.png | Bin 856 -> 870 bytes graphics/pokemon/froakie/back.png | Bin 583 -> 571 bytes graphics/pokemon/froakie/icon.png | Bin 364 -> 405 bytes graphics/pokemon/frogadier/anim_front.png | Bin 1094 -> 1095 bytes graphics/pokemon/frogadier/back.png | Bin 676 -> 661 bytes graphics/pokemon/frogadier/icon.png | Bin 423 -> 460 bytes graphics/pokemon/froslass/anim_front.png | Bin 1107 -> 1128 bytes graphics/pokemon/froslass/back.png | Bin 847 -> 837 bytes graphics/pokemon/froslass/icon.png | Bin 376 -> 403 bytes graphics/pokemon/frosmoth/back.png | Bin 760 -> 748 bytes graphics/pokemon/frosmoth/front.png | Bin 870 -> 859 bytes graphics/pokemon/frosmoth/icon.png | Bin 407 -> 418 bytes graphics/pokemon/furfrou/anim_front.png | Bin 1202 -> 1200 bytes graphics/pokemon/furfrou/back.png | Bin 728 -> 717 bytes .../pokemon/furfrou/dandy_trim/anim_front.png | Bin 1208 -> 1220 bytes graphics/pokemon/furfrou/dandy_trim/back.png | Bin 710 -> 646 bytes graphics/pokemon/furfrou/dandy_trim/icon.png | Bin 455 -> 533 bytes .../furfrou/debutante_trim/anim_front.png | Bin 1269 -> 1275 bytes .../pokemon/furfrou/debutante_trim/back.png | Bin 710 -> 652 bytes .../pokemon/furfrou/debutante_trim/icon.png | Bin 458 -> 530 bytes .../furfrou/diamond_trim/anim_front.png | Bin 1246 -> 1255 bytes .../pokemon/furfrou/diamond_trim/back.png | Bin 657 -> 591 bytes .../pokemon/furfrou/diamond_trim/icon.png | Bin 492 -> 558 bytes .../pokemon/furfrou/heart_trim/anim_front.png | Bin 1340 -> 1338 bytes graphics/pokemon/furfrou/heart_trim/back.png | Bin 610 -> 547 bytes graphics/pokemon/furfrou/heart_trim/icon.png | Bin 477 -> 537 bytes graphics/pokemon/furfrou/icon.png | Bin 447 -> 485 bytes .../furfrou/kabuki_trim/anim_front.png | Bin 1315 -> 1322 bytes graphics/pokemon/furfrou/kabuki_trim/back.png | Bin 635 -> 570 bytes graphics/pokemon/furfrou/kabuki_trim/icon.png | Bin 451 -> 509 bytes .../furfrou/la_reine_trim/anim_front.png | Bin 1181 -> 1186 bytes .../pokemon/furfrou/la_reine_trim/back.png | Bin 630 -> 570 bytes .../pokemon/furfrou/la_reine_trim/icon.png | Bin 444 -> 516 bytes .../furfrou/matron_trim/anim_front.png | Bin 1187 -> 1193 bytes graphics/pokemon/furfrou/matron_trim/back.png | Bin 732 -> 672 bytes graphics/pokemon/furfrou/matron_trim/icon.png | Bin 455 -> 517 bytes .../furfrou/pharaoh_trim/anim_front.png | Bin 1249 -> 1248 bytes .../pokemon/furfrou/pharaoh_trim/back.png | Bin 724 -> 653 bytes .../pokemon/furfrou/pharaoh_trim/icon.png | Bin 443 -> 515 bytes .../pokemon/furfrou/star_trim/anim_front.png | Bin 1188 -> 1199 bytes graphics/pokemon/furfrou/star_trim/back.png | Bin 683 -> 611 bytes graphics/pokemon/furfrou/star_trim/icon.png | Bin 496 -> 574 bytes graphics/pokemon/furret/anim_front.png | Bin 1124 -> 1086 bytes graphics/pokemon/furret/back.png | Bin 609 -> 621 bytes graphics/pokemon/furret/icon.png | Bin 370 -> 407 bytes graphics/pokemon/gabite/anim_front.png | Bin 1488 -> 1510 bytes graphics/pokemon/gabite/back.png | Bin 747 -> 731 bytes graphics/pokemon/gabite/icon.png | Bin 333 -> 373 bytes graphics/pokemon/gallade/anim_front.png | Bin 1189 -> 1208 bytes graphics/pokemon/gallade/back.png | Bin 712 -> 695 bytes graphics/pokemon/gallade/icon.png | Bin 378 -> 398 bytes graphics/pokemon/gallade/mega/back.png | Bin 786 -> 774 bytes graphics/pokemon/gallade/mega/front.png | Bin 1054 -> 1042 bytes graphics/pokemon/gallade/mega/icon.png | Bin 439 -> 475 bytes graphics/pokemon/galvantula/anim_front.png | Bin 1325 -> 1358 bytes graphics/pokemon/galvantula/back.png | Bin 492 -> 512 bytes graphics/pokemon/galvantula/icon.png | Bin 479 -> 513 bytes graphics/pokemon/garbodor/anim_front.png | Bin 1816 -> 1846 bytes graphics/pokemon/garbodor/back.png | Bin 734 -> 720 bytes graphics/pokemon/garbodor/icon.png | Bin 525 -> 560 bytes graphics/pokemon/garchomp/anim_front.png | Bin 1610 -> 1640 bytes graphics/pokemon/garchomp/back.png | Bin 665 -> 653 bytes graphics/pokemon/garchomp/icon.png | Bin 441 -> 479 bytes graphics/pokemon/garchomp/mega/back.png | Bin 692 -> 679 bytes graphics/pokemon/garchomp/mega/front.png | Bin 1129 -> 1119 bytes graphics/pokemon/garchomp/mega/icon.png | Bin 485 -> 505 bytes graphics/pokemon/gardevoir/anim_front.png | Bin 1033 -> 1063 bytes graphics/pokemon/gardevoir/back.png | Bin 672 -> 663 bytes graphics/pokemon/gardevoir/icon.png | Bin 450 -> 487 bytes graphics/pokemon/gardevoir/mega/back.png | Bin 698 -> 690 bytes graphics/pokemon/gardevoir/mega/front.png | Bin 869 -> 772 bytes graphics/pokemon/gardevoir/mega/icon.png | Bin 375 -> 414 bytes graphics/pokemon/gastly/anim_front.png | Bin 993 -> 1010 bytes graphics/pokemon/gastly/back.png | Bin 705 -> 691 bytes graphics/pokemon/gastly/icon.png | Bin 389 -> 439 bytes graphics/pokemon/gastrodon/anim_front.png | Bin 935 -> 954 bytes graphics/pokemon/gastrodon/back.png | Bin 590 -> 603 bytes .../pokemon/gastrodon/east_sea/anim_front.png | Bin 1018 -> 1045 bytes graphics/pokemon/gastrodon/east_sea/back.png | Bin 601 -> 630 bytes graphics/pokemon/gastrodon/east_sea/icon.png | Bin 403 -> 497 bytes graphics/pokemon/gastrodon/icon.png | Bin 430 -> 466 bytes graphics/pokemon/genesect/anim_front.png | Bin 1374 -> 1400 bytes graphics/pokemon/genesect/back.png | Bin 606 -> 593 bytes graphics/pokemon/genesect/icon.png | Bin 395 -> 462 bytes graphics/pokemon/gengar/anim_front.png | Bin 1197 -> 1200 bytes graphics/pokemon/gengar/back.png | Bin 729 -> 718 bytes graphics/pokemon/gengar/icon.png | Bin 362 -> 399 bytes graphics/pokemon/gengar/mega/back.png | Bin 835 -> 825 bytes graphics/pokemon/gengar/mega/front.png | Bin 918 -> 909 bytes graphics/pokemon/gengar/mega/icon.png | Bin 421 -> 459 bytes graphics/pokemon/geodude/alolan/back.png | Bin 621 -> 610 bytes graphics/pokemon/geodude/alolan/front.png | Bin 551 -> 543 bytes graphics/pokemon/geodude/alolan/icon.png | Bin 410 -> 345 bytes graphics/pokemon/geodude/anim_front.png | Bin 792 -> 826 bytes graphics/pokemon/geodude/back.png | Bin 593 -> 584 bytes graphics/pokemon/geodude/icon.png | Bin 306 -> 343 bytes graphics/pokemon/gible/anim_front.png | Bin 998 -> 1003 bytes graphics/pokemon/gible/back.png | Bin 641 -> 629 bytes graphics/pokemon/gible/icon.png | Bin 287 -> 326 bytes graphics/pokemon/gigalith/anim_front.png | Bin 1478 -> 1515 bytes graphics/pokemon/gigalith/back.png | Bin 685 -> 672 bytes graphics/pokemon/gigalith/icon.png | Bin 471 -> 511 bytes graphics/pokemon/girafarig/anim_front.png | Bin 1422 -> 1400 bytes graphics/pokemon/girafarig/back.png | Bin 796 -> 782 bytes graphics/pokemon/girafarig/icon.png | Bin 360 -> 400 bytes graphics/pokemon/giratina/anim_front.png | Bin 2101 -> 2136 bytes graphics/pokemon/giratina/back.png | Bin 887 -> 871 bytes graphics/pokemon/giratina/icon.png | Bin 465 -> 482 bytes .../pokemon/giratina/origin/anim_front.png | Bin 2306 -> 2337 bytes graphics/pokemon/giratina/origin/back.png | Bin 814 -> 802 bytes graphics/pokemon/giratina/origin/icon.png | Bin 582 -> 518 bytes graphics/pokemon/glaceon/anim_front.png | Bin 966 -> 997 bytes graphics/pokemon/glaceon/back.png | Bin 541 -> 574 bytes graphics/pokemon/glaceon/icon.png | Bin 425 -> 462 bytes graphics/pokemon/glalie/anim_front.png | Bin 1087 -> 1098 bytes graphics/pokemon/glalie/back.png | Bin 624 -> 613 bytes graphics/pokemon/glalie/icon.png | Bin 286 -> 325 bytes graphics/pokemon/glalie/mega/back.png | Bin 665 -> 655 bytes graphics/pokemon/glalie/mega/front.png | Bin 1096 -> 1086 bytes graphics/pokemon/glalie/mega/icon.png | Bin 406 -> 424 bytes graphics/pokemon/glameow/anim_front.png | Bin 1232 -> 1233 bytes graphics/pokemon/glameow/back.png | Bin 844 -> 830 bytes graphics/pokemon/glameow/icon.png | Bin 408 -> 432 bytes graphics/pokemon/glastrier/back.png | Bin 736 -> 727 bytes graphics/pokemon/glastrier/front.png | Bin 845 -> 835 bytes graphics/pokemon/glastrier/icon.png | Bin 366 -> 404 bytes graphics/pokemon/gligar/anim_front.png | Bin 1300 -> 1361 bytes graphics/pokemon/gligar/back.png | Bin 763 -> 748 bytes graphics/pokemon/gligar/icon.png | Bin 423 -> 454 bytes graphics/pokemon/gliscor/anim_front.png | Bin 1661 -> 1690 bytes graphics/pokemon/gliscor/back.png | Bin 680 -> 669 bytes graphics/pokemon/gliscor/icon.png | Bin 492 -> 488 bytes graphics/pokemon/gloom/anim_front.png | Bin 1010 -> 1052 bytes graphics/pokemon/gloom/back.png | Bin 741 -> 730 bytes graphics/pokemon/gloom/icon.png | Bin 314 -> 355 bytes graphics/pokemon/gogoat/anim_front.png | Bin 1752 -> 1771 bytes graphics/pokemon/gogoat/back.png | Bin 827 -> 817 bytes graphics/pokemon/gogoat/icon.png | Bin 461 -> 499 bytes graphics/pokemon/golbat/anim_front.png | Bin 1219 -> 1262 bytes graphics/pokemon/golbat/back.png | Bin 598 -> 582 bytes graphics/pokemon/golbat/icon.png | Bin 369 -> 408 bytes graphics/pokemon/goldeen/anim_front.png | Bin 988 -> 1020 bytes graphics/pokemon/goldeen/back.png | Bin 711 -> 701 bytes graphics/pokemon/goldeen/icon.png | Bin 363 -> 400 bytes graphics/pokemon/golduck/anim_front.png | Bin 1089 -> 1263 bytes graphics/pokemon/golduck/back.png | Bin 725 -> 701 bytes graphics/pokemon/golduck/icon.png | Bin 374 -> 412 bytes graphics/pokemon/golem/alolan/back.png | Bin 696 -> 684 bytes graphics/pokemon/golem/alolan/front.png | Bin 893 -> 886 bytes graphics/pokemon/golem/alolan/icon.png | Bin 465 -> 400 bytes graphics/pokemon/golem/anim_front.png | Bin 1339 -> 1338 bytes graphics/pokemon/golem/back.png | Bin 675 -> 665 bytes graphics/pokemon/golem/icon.png | Bin 375 -> 415 bytes graphics/pokemon/golett/anim_front.png | Bin 1142 -> 1170 bytes graphics/pokemon/golett/back.png | Bin 788 -> 869 bytes graphics/pokemon/golett/icon.png | Bin 348 -> 376 bytes graphics/pokemon/golisopod/back.png | Bin 726 -> 712 bytes graphics/pokemon/golisopod/front.png | Bin 1118 -> 1102 bytes graphics/pokemon/golisopod/icon.png | Bin 417 -> 455 bytes graphics/pokemon/golurk/anim_front.png | Bin 1738 -> 1747 bytes graphics/pokemon/golurk/back.png | Bin 803 -> 791 bytes graphics/pokemon/golurk/icon.png | Bin 512 -> 543 bytes graphics/pokemon/goodra/anim_front.png | Bin 1445 -> 1448 bytes graphics/pokemon/goodra/back.png | Bin 730 -> 721 bytes graphics/pokemon/goodra/hisuian/back.png | Bin 931 -> 868 bytes graphics/pokemon/goodra/hisuian/front.png | Bin 995 -> 934 bytes graphics/pokemon/goodra/hisuian/icon.png | Bin 509 -> 522 bytes graphics/pokemon/goodra/icon.png | Bin 451 -> 487 bytes graphics/pokemon/goomy/anim_front.png | Bin 718 -> 724 bytes graphics/pokemon/goomy/back.png | Bin 556 -> 573 bytes graphics/pokemon/goomy/icon.png | Bin 2734 -> 317 bytes graphics/pokemon/gorebyss/anim_front.png | Bin 1064 -> 1096 bytes graphics/pokemon/gorebyss/back.png | Bin 564 -> 557 bytes graphics/pokemon/gorebyss/icon.png | Bin 350 -> 388 bytes graphics/pokemon/gossifleur/back.png | Bin 551 -> 542 bytes graphics/pokemon/gossifleur/front.png | Bin 705 -> 696 bytes graphics/pokemon/gossifleur/icon.png | Bin 354 -> 363 bytes graphics/pokemon/gothita/anim_front.png | Bin 758 -> 789 bytes graphics/pokemon/gothita/back.png | Bin 596 -> 588 bytes graphics/pokemon/gothita/icon.png | Bin 277 -> 371 bytes graphics/pokemon/gothitelle/anim_front.png | Bin 1338 -> 1364 bytes graphics/pokemon/gothitelle/back.png | Bin 825 -> 815 bytes graphics/pokemon/gothitelle/icon.png | Bin 352 -> 391 bytes graphics/pokemon/gothorita/anim_front.png | Bin 943 -> 974 bytes graphics/pokemon/gothorita/back.png | Bin 736 -> 724 bytes graphics/pokemon/gothorita/icon.png | Bin 318 -> 426 bytes graphics/pokemon/gourgeist/anim_front.png | Bin 1219 -> 1232 bytes graphics/pokemon/gourgeist/back.png | Bin 536 -> 587 bytes graphics/pokemon/gourgeist/icon.png | Bin 342 -> 380 bytes .../pokemon/gourgeist/large/anim_front.png | Bin 1271 -> 1281 bytes graphics/pokemon/gourgeist/large/back.png | Bin 546 -> 607 bytes .../pokemon/gourgeist/small/anim_front.png | Bin 1177 -> 1185 bytes graphics/pokemon/gourgeist/small/back.png | Bin 522 -> 571 bytes .../pokemon/gourgeist/super/anim_front.png | Bin 1570 -> 1572 bytes graphics/pokemon/gourgeist/super/back.png | Bin 560 -> 615 bytes graphics/pokemon/granbull/anim_front.png | Bin 1286 -> 1318 bytes graphics/pokemon/granbull/back.png | Bin 547 -> 537 bytes graphics/pokemon/granbull/icon.png | Bin 331 -> 372 bytes graphics/pokemon/grapploct/back.png | Bin 550 -> 539 bytes graphics/pokemon/grapploct/front.png | Bin 751 -> 738 bytes graphics/pokemon/grapploct/icon.png | Bin 438 -> 454 bytes graphics/pokemon/graveler/alolan/back.png | Bin 751 -> 734 bytes graphics/pokemon/graveler/alolan/front.png | Bin 889 -> 877 bytes graphics/pokemon/graveler/alolan/icon.png | Bin 519 -> 455 bytes graphics/pokemon/graveler/anim_front.png | Bin 788 -> 762 bytes graphics/pokemon/graveler/back.png | Bin 619 -> 602 bytes graphics/pokemon/graveler/icon.png | Bin 377 -> 414 bytes graphics/pokemon/greedent/back.png | Bin 711 -> 696 bytes graphics/pokemon/greedent/front.png | Bin 921 -> 911 bytes graphics/pokemon/greedent/icon.png | Bin 346 -> 386 bytes graphics/pokemon/greninja/anim_front.png | Bin 1353 -> 1365 bytes graphics/pokemon/greninja/ash/anim_front.png | Bin 1438 -> 1457 bytes graphics/pokemon/greninja/ash/back.png | Bin 706 -> 747 bytes graphics/pokemon/greninja/ash/icon.png | Bin 491 -> 617 bytes graphics/pokemon/greninja/back.png | Bin 625 -> 617 bytes graphics/pokemon/greninja/icon.png | Bin 482 -> 524 bytes graphics/pokemon/grimer/alolan/back.png | Bin 647 -> 633 bytes graphics/pokemon/grimer/alolan/front.png | Bin 686 -> 676 bytes graphics/pokemon/grimer/alolan/icon.png | Bin 486 -> 419 bytes graphics/pokemon/grimer/anim_front.png | Bin 1090 -> 1116 bytes graphics/pokemon/grimer/back.png | Bin 617 -> 603 bytes graphics/pokemon/grimer/icon.png | Bin 346 -> 384 bytes graphics/pokemon/grimmsnarl/back.png | Bin 677 -> 664 bytes graphics/pokemon/grimmsnarl/front.png | Bin 1063 -> 1055 bytes graphics/pokemon/grimmsnarl/icon.png | Bin 453 -> 472 bytes graphics/pokemon/grookey/back.png | Bin 591 -> 576 bytes graphics/pokemon/grookey/front.png | Bin 632 -> 622 bytes graphics/pokemon/grookey/icon.png | Bin 418 -> 436 bytes graphics/pokemon/grotle/anim_front.png | Bin 1350 -> 1383 bytes graphics/pokemon/grotle/back.png | Bin 790 -> 779 bytes graphics/pokemon/grotle/icon.png | Bin 377 -> 414 bytes graphics/pokemon/groudon/anim_front.png | Bin 1954 -> 1987 bytes graphics/pokemon/groudon/back.png | Bin 790 -> 773 bytes graphics/pokemon/groudon/icon.png | Bin 437 -> 451 bytes graphics/pokemon/groudon/primal/back.png | Bin 791 -> 782 bytes graphics/pokemon/groudon/primal/front.png | Bin 1249 -> 1237 bytes graphics/pokemon/groudon/primal/icon.png | Bin 436 -> 473 bytes graphics/pokemon/grovyle/anim_front.png | Bin 1436 -> 1438 bytes graphics/pokemon/grovyle/back.png | Bin 673 -> 663 bytes graphics/pokemon/grovyle/icon.png | Bin 390 -> 427 bytes graphics/pokemon/growlithe/anim_front.png | Bin 933 -> 1118 bytes graphics/pokemon/growlithe/back.png | Bin 582 -> 611 bytes graphics/pokemon/growlithe/hisuian/back.png | Bin 799 -> 732 bytes graphics/pokemon/growlithe/hisuian/front.png | Bin 775 -> 713 bytes graphics/pokemon/growlithe/hisuian/icon.png | Bin 327 -> 347 bytes graphics/pokemon/growlithe/icon.png | Bin 356 -> 388 bytes graphics/pokemon/grubbin/back.png | Bin 505 -> 495 bytes graphics/pokemon/grubbin/front.png | Bin 452 -> 446 bytes graphics/pokemon/grubbin/icon.png | Bin 311 -> 350 bytes graphics/pokemon/grumpig/anim_front.png | Bin 1258 -> 1266 bytes graphics/pokemon/grumpig/back.png | Bin 770 -> 760 bytes graphics/pokemon/grumpig/icon.png | Bin 338 -> 374 bytes graphics/pokemon/gulpin/anim_front.png | Bin 627 -> 665 bytes graphics/pokemon/gulpin/back.png | Bin 500 -> 490 bytes graphics/pokemon/gulpin/icon.png | Bin 280 -> 317 bytes graphics/pokemon/gumshoos/back.png | Bin 582 -> 569 bytes graphics/pokemon/gumshoos/front.png | Bin 646 -> 635 bytes graphics/pokemon/gumshoos/icon.png | Bin 321 -> 354 bytes graphics/pokemon/gurdurr/anim_front.png | Bin 1301 -> 1327 bytes graphics/pokemon/gurdurr/back.png | Bin 564 -> 619 bytes graphics/pokemon/gurdurr/icon.png | Bin 388 -> 416 bytes graphics/pokemon/guzzlord/back.png | Bin 845 -> 834 bytes graphics/pokemon/guzzlord/front.png | Bin 1256 -> 1247 bytes graphics/pokemon/guzzlord/icon.png | Bin 483 -> 524 bytes graphics/pokemon/gyarados/anim_front.png | Bin 2316 -> 2313 bytes graphics/pokemon/gyarados/back.png | Bin 956 -> 943 bytes graphics/pokemon/gyarados/icon.png | Bin 563 -> 642 bytes graphics/pokemon/gyarados/mega/back.png | Bin 788 -> 775 bytes graphics/pokemon/gyarados/mega/front.png | Bin 1338 -> 1329 bytes graphics/pokemon/gyarados/mega/icon.png | Bin 527 -> 563 bytes graphics/pokemon/hakamo_o/back.png | Bin 638 -> 625 bytes graphics/pokemon/hakamo_o/front.png | Bin 824 -> 814 bytes graphics/pokemon/hakamo_o/icon.png | Bin 418 -> 443 bytes graphics/pokemon/happiny/anim_front.png | Bin 724 -> 750 bytes graphics/pokemon/happiny/back.png | Bin 554 -> 544 bytes graphics/pokemon/happiny/icon.png | Bin 255 -> 295 bytes graphics/pokemon/hariyama/anim_front.png | Bin 1405 -> 1450 bytes graphics/pokemon/hariyama/back.png | Bin 762 -> 750 bytes graphics/pokemon/hariyama/icon.png | Bin 412 -> 449 bytes graphics/pokemon/hatenna/back.png | Bin 436 -> 424 bytes graphics/pokemon/hatenna/front.png | Bin 480 -> 469 bytes graphics/pokemon/hatenna/icon.png | Bin 308 -> 326 bytes graphics/pokemon/hatterene/back.png | Bin 623 -> 607 bytes graphics/pokemon/hatterene/front.png | Bin 818 -> 806 bytes graphics/pokemon/hatterene/icon.png | Bin 427 -> 443 bytes graphics/pokemon/hattrem/back.png | Bin 549 -> 542 bytes graphics/pokemon/hattrem/front.png | Bin 780 -> 770 bytes graphics/pokemon/hattrem/icon.png | Bin 372 -> 387 bytes graphics/pokemon/haunter/anim_front.png | Bin 999 -> 1030 bytes graphics/pokemon/haunter/back.png | Bin 755 -> 745 bytes graphics/pokemon/haunter/icon.png | Bin 405 -> 518 bytes graphics/pokemon/hawlucha/anim_front.png | Bin 1292 -> 1299 bytes graphics/pokemon/hawlucha/back.png | Bin 637 -> 625 bytes graphics/pokemon/hawlucha/icon.png | Bin 400 -> 436 bytes graphics/pokemon/haxorus/anim_front.png | Bin 1428 -> 1460 bytes graphics/pokemon/haxorus/back.png | Bin 682 -> 668 bytes graphics/pokemon/haxorus/icon.png | Bin 387 -> 420 bytes graphics/pokemon/heatmor/anim_front.png | Bin 1595 -> 1619 bytes graphics/pokemon/heatmor/back.png | Bin 464 -> 454 bytes graphics/pokemon/heatmor/icon.png | Bin 442 -> 480 bytes graphics/pokemon/heatran/anim_front.png | Bin 1194 -> 1214 bytes graphics/pokemon/heatran/back.png | Bin 653 -> 641 bytes graphics/pokemon/heatran/icon.png | Bin 385 -> 422 bytes graphics/pokemon/heliolisk/anim_front.png | Bin 1107 -> 1112 bytes graphics/pokemon/heliolisk/back.png | Bin 586 -> 623 bytes graphics/pokemon/heliolisk/icon.png | Bin 322 -> 353 bytes graphics/pokemon/helioptile/anim_front.png | Bin 831 -> 850 bytes graphics/pokemon/helioptile/back.png | Bin 554 -> 540 bytes graphics/pokemon/helioptile/icon.png | Bin 303 -> 339 bytes graphics/pokemon/heracross/anim_front.png | Bin 1250 -> 1278 bytes graphics/pokemon/heracross/back.png | Bin 597 -> 586 bytes graphics/pokemon/heracross/icon.png | Bin 333 -> 373 bytes graphics/pokemon/heracross/mega/back.png | Bin 528 -> 512 bytes graphics/pokemon/heracross/mega/front.png | Bin 871 -> 861 bytes graphics/pokemon/heracross/mega/icon.png | Bin 410 -> 446 bytes graphics/pokemon/herdier/anim_front.png | Bin 923 -> 950 bytes graphics/pokemon/herdier/back.png | Bin 579 -> 597 bytes graphics/pokemon/herdier/icon.png | Bin 412 -> 450 bytes graphics/pokemon/hippopotas/anim_front.png | Bin 1064 -> 1103 bytes graphics/pokemon/hippopotas/back.png | Bin 483 -> 522 bytes graphics/pokemon/hippopotas/icon.png | Bin 332 -> 363 bytes graphics/pokemon/hippopotas/iconf.png | Bin 330 -> 362 bytes graphics/pokemon/hippowdon/anim_front.png | Bin 1267 -> 1252 bytes graphics/pokemon/hippowdon/back.png | Bin 663 -> 673 bytes graphics/pokemon/hippowdon/icon.png | Bin 338 -> 378 bytes graphics/pokemon/hippowdon/iconf.png | Bin 315 -> 355 bytes graphics/pokemon/hitmonchan/anim_front.png | Bin 1280 -> 1431 bytes graphics/pokemon/hitmonchan/back.png | Bin 713 -> 766 bytes graphics/pokemon/hitmonchan/icon.png | Bin 328 -> 367 bytes graphics/pokemon/hitmonlee/anim_front.png | Bin 1177 -> 1220 bytes graphics/pokemon/hitmonlee/back.png | Bin 723 -> 709 bytes graphics/pokemon/hitmonlee/icon.png | Bin 345 -> 383 bytes graphics/pokemon/hitmontop/anim_front.png | Bin 1213 -> 1242 bytes graphics/pokemon/hitmontop/back.png | Bin 795 -> 784 bytes graphics/pokemon/hitmontop/icon.png | Bin 463 -> 504 bytes graphics/pokemon/ho_oh/anim_front.png | Bin 2197 -> 2228 bytes graphics/pokemon/ho_oh/back.png | Bin 800 -> 788 bytes graphics/pokemon/ho_oh/icon.png | Bin 539 -> 581 bytes graphics/pokemon/honchkrow/anim_front.png | Bin 1345 -> 1377 bytes graphics/pokemon/honchkrow/back.png | Bin 673 -> 663 bytes graphics/pokemon/honchkrow/icon.png | Bin 435 -> 474 bytes graphics/pokemon/honedge/anim_front.png | Bin 1102 -> 1102 bytes graphics/pokemon/honedge/back.png | Bin 548 -> 537 bytes graphics/pokemon/honedge/icon.png | Bin 347 -> 387 bytes graphics/pokemon/hoopa/anim_front.png | Bin 1304 -> 1319 bytes graphics/pokemon/hoopa/back.png | Bin 718 -> 795 bytes graphics/pokemon/hoopa/icon.png | Bin 444 -> 481 bytes graphics/pokemon/hoopa/unbound/anim_front.png | Bin 1950 -> 1949 bytes graphics/pokemon/hoopa/unbound/back.png | Bin 831 -> 813 bytes graphics/pokemon/hoopa/unbound/icon.png | Bin 521 -> 544 bytes graphics/pokemon/hoothoot/anim_front.png | Bin 830 -> 842 bytes graphics/pokemon/hoothoot/back.png | Bin 581 -> 594 bytes graphics/pokemon/hoothoot/icon.png | Bin 318 -> 353 bytes graphics/pokemon/hoppip/anim_front.png | Bin 872 -> 869 bytes graphics/pokemon/hoppip/back.png | Bin 698 -> 690 bytes graphics/pokemon/hoppip/icon.png | Bin 366 -> 380 bytes graphics/pokemon/horsea/anim_front.png | Bin 721 -> 712 bytes graphics/pokemon/horsea/back.png | Bin 552 -> 540 bytes graphics/pokemon/horsea/icon.png | Bin 307 -> 343 bytes graphics/pokemon/houndoom/anim_front.png | Bin 1498 -> 1528 bytes graphics/pokemon/houndoom/back.png | Bin 647 -> 635 bytes graphics/pokemon/houndoom/icon.png | Bin 384 -> 422 bytes graphics/pokemon/houndoom/mega/back.png | Bin 813 -> 798 bytes graphics/pokemon/houndoom/mega/front.png | Bin 976 -> 966 bytes graphics/pokemon/houndoom/mega/icon.png | Bin 430 -> 468 bytes graphics/pokemon/houndour/anim_front.png | Bin 910 -> 937 bytes graphics/pokemon/houndour/back.png | Bin 436 -> 472 bytes graphics/pokemon/houndour/icon.png | Bin 354 -> 393 bytes graphics/pokemon/huntail/anim_front.png | Bin 1300 -> 1301 bytes graphics/pokemon/huntail/back.png | Bin 694 -> 684 bytes graphics/pokemon/huntail/icon.png | Bin 391 -> 419 bytes graphics/pokemon/hydreigon/anim_front.png | Bin 1552 -> 1586 bytes graphics/pokemon/hydreigon/back.png | Bin 673 -> 661 bytes graphics/pokemon/hydreigon/icon.png | Bin 532 -> 531 bytes graphics/pokemon/hypno/anim_front.png | Bin 1304 -> 1332 bytes graphics/pokemon/hypno/back.png | Bin 793 -> 777 bytes graphics/pokemon/hypno/icon.png | Bin 443 -> 462 bytes graphics/pokemon/igglybuff/anim_front.png | Bin 579 -> 587 bytes graphics/pokemon/igglybuff/back.png | Bin 396 -> 383 bytes graphics/pokemon/igglybuff/icon.png | Bin 284 -> 324 bytes graphics/pokemon/illumise/anim_front.png | Bin 930 -> 953 bytes graphics/pokemon/illumise/back.png | Bin 710 -> 702 bytes graphics/pokemon/illumise/icon.png | Bin 321 -> 356 bytes graphics/pokemon/impidimp/back.png | Bin 553 -> 544 bytes graphics/pokemon/impidimp/front.png | Bin 625 -> 618 bytes graphics/pokemon/impidimp/icon.png | Bin 334 -> 351 bytes graphics/pokemon/incineroar/back.png | Bin 922 -> 910 bytes graphics/pokemon/incineroar/front.png | Bin 1080 -> 1069 bytes graphics/pokemon/incineroar/icon.png | Bin 394 -> 430 bytes graphics/pokemon/indeedee/back.png | Bin 599 -> 589 bytes graphics/pokemon/indeedee/female/back.png | Bin 549 -> 543 bytes graphics/pokemon/indeedee/female/front.png | Bin 640 -> 634 bytes graphics/pokemon/indeedee/female/icon.png | Bin 370 -> 383 bytes graphics/pokemon/indeedee/front.png | Bin 638 -> 632 bytes graphics/pokemon/indeedee/icon.png | Bin 369 -> 383 bytes graphics/pokemon/infernape/anim_front.png | Bin 1769 -> 1789 bytes graphics/pokemon/infernape/back.png | Bin 1033 -> 1023 bytes graphics/pokemon/infernape/icon.png | Bin 518 -> 535 bytes graphics/pokemon/inkay/anim_front.png | Bin 780 -> 785 bytes graphics/pokemon/inkay/back.png | Bin 693 -> 682 bytes graphics/pokemon/inkay/icon.png | Bin 322 -> 361 bytes graphics/pokemon/inteleon/back.png | Bin 703 -> 729 bytes graphics/pokemon/inteleon/front.png | Bin 718 -> 758 bytes graphics/pokemon/inteleon/icon.png | Bin 428 -> 443 bytes graphics/pokemon/ivysaur/anim_front.png | Bin 1162 -> 1196 bytes graphics/pokemon/ivysaur/back.png | Bin 714 -> 751 bytes graphics/pokemon/ivysaur/icon.png | Bin 336 -> 375 bytes graphics/pokemon/jangmo_o/back.png | Bin 612 -> 601 bytes graphics/pokemon/jangmo_o/front.png | Bin 585 -> 577 bytes graphics/pokemon/jangmo_o/icon.png | Bin 336 -> 373 bytes graphics/pokemon/jellicent/anim_front.png | Bin 1230 -> 1236 bytes graphics/pokemon/jellicent/anim_frontf.png | Bin 1030 -> 1062 bytes graphics/pokemon/jellicent/back.png | Bin 552 -> 535 bytes graphics/pokemon/jellicent/backf.png | Bin 521 -> 550 bytes graphics/pokemon/jellicent/frontf.png | Bin 777 -> 816 bytes graphics/pokemon/jellicent/icon.png | Bin 418 -> 426 bytes graphics/pokemon/jellicent/iconf.png | Bin 430 -> 436 bytes graphics/pokemon/jigglypuff/anim_front.png | Bin 645 -> 654 bytes graphics/pokemon/jigglypuff/back.png | Bin 447 -> 451 bytes graphics/pokemon/jigglypuff/icon.png | Bin 309 -> 346 bytes graphics/pokemon/jirachi/anim_front.png | Bin 12027 -> 931 bytes graphics/pokemon/jirachi/back.png | Bin 717 -> 703 bytes graphics/pokemon/jirachi/icon.png | Bin 333 -> 371 bytes graphics/pokemon/jolteon/anim_front.png | Bin 956 -> 1026 bytes graphics/pokemon/jolteon/back.png | Bin 763 -> 749 bytes graphics/pokemon/jolteon/icon.png | Bin 375 -> 413 bytes graphics/pokemon/joltik/anim_front.png | Bin 534 -> 574 bytes graphics/pokemon/joltik/back.png | Bin 410 -> 397 bytes graphics/pokemon/joltik/icon.png | Bin 316 -> 353 bytes graphics/pokemon/jumpluff/anim_front.png | Bin 1206 -> 1227 bytes graphics/pokemon/jumpluff/back.png | Bin 617 -> 605 bytes graphics/pokemon/jumpluff/icon.png | Bin 391 -> 427 bytes graphics/pokemon/jynx/anim_front.png | Bin 1240 -> 1285 bytes graphics/pokemon/jynx/back.png | Bin 807 -> 796 bytes graphics/pokemon/jynx/icon.png | Bin 417 -> 456 bytes graphics/pokemon/kabuto/anim_front.png | Bin 670 -> 705 bytes graphics/pokemon/kabuto/back.png | Bin 504 -> 494 bytes graphics/pokemon/kabuto/icon.png | Bin 274 -> 308 bytes graphics/pokemon/kabutops/anim_front.png | Bin 1487 -> 1490 bytes graphics/pokemon/kabutops/back.png | Bin 874 -> 860 bytes graphics/pokemon/kabutops/icon.png | Bin 332 -> 363 bytes graphics/pokemon/kadabra/anim_front.png | Bin 1344 -> 1335 bytes graphics/pokemon/kadabra/back.png | Bin 851 -> 841 bytes graphics/pokemon/kadabra/icon.png | Bin 446 -> 483 bytes graphics/pokemon/kakuna/anim_front.png | Bin 584 -> 720 bytes graphics/pokemon/kakuna/back.png | Bin 502 -> 495 bytes graphics/pokemon/kakuna/icon.png | Bin 234 -> 276 bytes graphics/pokemon/kangaskhan/anim_front.png | Bin 1719 -> 1805 bytes graphics/pokemon/kangaskhan/back.png | Bin 760 -> 741 bytes graphics/pokemon/kangaskhan/icon.png | Bin 361 -> 401 bytes graphics/pokemon/kangaskhan/mega/back.png | Bin 850 -> 834 bytes graphics/pokemon/kangaskhan/mega/front.png | Bin 1171 -> 1161 bytes graphics/pokemon/kangaskhan/mega/icon.png | Bin 429 -> 467 bytes graphics/pokemon/karrablast/anim_front.png | Bin 641 -> 669 bytes graphics/pokemon/karrablast/back.png | Bin 398 -> 390 bytes graphics/pokemon/karrablast/icon.png | Bin 273 -> 288 bytes graphics/pokemon/kartana/back.png | Bin 613 -> 604 bytes graphics/pokemon/kartana/front.png | Bin 824 -> 806 bytes graphics/pokemon/kartana/icon.png | Bin 412 -> 450 bytes graphics/pokemon/kecleon/anim_front.png | Bin 1218 -> 1246 bytes graphics/pokemon/kecleon/back.png | Bin 765 -> 757 bytes graphics/pokemon/kecleon/icon.png | Bin 375 -> 413 bytes graphics/pokemon/keldeo/anim_front.png | Bin 1328 -> 1354 bytes graphics/pokemon/keldeo/back.png | Bin 734 -> 729 bytes graphics/pokemon/keldeo/icon.png | Bin 407 -> 435 bytes graphics/pokemon/keldeo/resolute/back.png | Bin 742 -> 797 bytes graphics/pokemon/keldeo/resolute/front.png | Bin 836 -> 869 bytes graphics/pokemon/keldeo/resolute/icon.png | Bin 482 -> 486 bytes graphics/pokemon/kingdra/anim_front.png | Bin 1355 -> 1347 bytes graphics/pokemon/kingdra/back.png | Bin 831 -> 819 bytes graphics/pokemon/kingdra/icon.png | Bin 349 -> 440 bytes graphics/pokemon/kingler/anim_front.png | Bin 1382 -> 1384 bytes graphics/pokemon/kingler/back.png | Bin 729 -> 715 bytes graphics/pokemon/kingler/icon.png | Bin 461 -> 532 bytes graphics/pokemon/kirlia/anim_front.png | Bin 884 -> 912 bytes graphics/pokemon/kirlia/back.png | Bin 690 -> 685 bytes graphics/pokemon/kirlia/icon.png | Bin 356 -> 395 bytes graphics/pokemon/klang/anim_front.png | Bin 1272 -> 1292 bytes graphics/pokemon/klang/back.png | Bin 811 -> 797 bytes graphics/pokemon/klang/icon.png | Bin 377 -> 417 bytes graphics/pokemon/kleavor/back.png | Bin 763 -> 801 bytes graphics/pokemon/kleavor/front.png | Bin 967 -> 1006 bytes graphics/pokemon/kleavor/icon.png | Bin 563 -> 574 bytes graphics/pokemon/klefki/anim_front.png | Bin 1182 -> 1190 bytes graphics/pokemon/klefki/back.png | Bin 554 -> 543 bytes graphics/pokemon/klefki/icon.png | Bin 396 -> 427 bytes graphics/pokemon/klink/anim_front.png | Bin 857 -> 873 bytes graphics/pokemon/klink/back.png | Bin 550 -> 520 bytes graphics/pokemon/klink/icon.png | Bin 300 -> 340 bytes graphics/pokemon/klinklang/anim_front.png | Bin 1668 -> 1704 bytes graphics/pokemon/klinklang/back.png | Bin 875 -> 862 bytes graphics/pokemon/klinklang/icon.png | Bin 515 -> 552 bytes graphics/pokemon/koffing/anim_front.png | Bin 1090 -> 1167 bytes graphics/pokemon/koffing/back.png | Bin 765 -> 750 bytes graphics/pokemon/koffing/icon.png | Bin 476 -> 500 bytes graphics/pokemon/komala/back.png | Bin 695 -> 684 bytes graphics/pokemon/komala/front.png | Bin 616 -> 608 bytes graphics/pokemon/komala/icon.png | Bin 342 -> 382 bytes graphics/pokemon/kommo_o/back.png | Bin 1005 -> 989 bytes graphics/pokemon/kommo_o/front.png | Bin 1270 -> 1260 bytes graphics/pokemon/kommo_o/icon.png | Bin 449 -> 489 bytes graphics/pokemon/krabby/anim_front.png | Bin 1003 -> 1093 bytes graphics/pokemon/krabby/back.png | Bin 600 -> 589 bytes graphics/pokemon/krabby/icon.png | Bin 407 -> 506 bytes graphics/pokemon/kricketot/anim_front.png | Bin 937 -> 963 bytes graphics/pokemon/kricketot/anim_frontf.png | Bin 976 -> 974 bytes graphics/pokemon/kricketot/back.png | Bin 576 -> 566 bytes graphics/pokemon/kricketot/backf.png | Bin 540 -> 562 bytes graphics/pokemon/kricketot/icon.png | Bin 299 -> 337 bytes graphics/pokemon/kricketune/anim_front.png | Bin 1274 -> 1257 bytes graphics/pokemon/kricketune/anim_frontf.png | Bin 1261 -> 1240 bytes graphics/pokemon/kricketune/back.png | Bin 773 -> 762 bytes graphics/pokemon/kricketune/backf.png | Bin 721 -> 759 bytes graphics/pokemon/kricketune/icon.png | Bin 343 -> 382 bytes graphics/pokemon/krokorok/anim_front.png | Bin 1045 -> 1083 bytes graphics/pokemon/krokorok/back.png | Bin 691 -> 677 bytes graphics/pokemon/krokorok/icon.png | Bin 348 -> 381 bytes graphics/pokemon/krookodile/anim_front.png | Bin 1618 -> 1635 bytes graphics/pokemon/krookodile/back.png | Bin 755 -> 743 bytes graphics/pokemon/krookodile/icon.png | Bin 433 -> 472 bytes graphics/pokemon/kubfu/back.png | Bin 601 -> 590 bytes graphics/pokemon/kubfu/front.png | Bin 696 -> 689 bytes graphics/pokemon/kubfu/icon.png | Bin 309 -> 347 bytes graphics/pokemon/kyogre/anim_front.png | Bin 1656 -> 1684 bytes graphics/pokemon/kyogre/back.png | Bin 486 -> 463 bytes graphics/pokemon/kyogre/icon.png | Bin 410 -> 446 bytes graphics/pokemon/kyogre/primal/back.png | Bin 521 -> 510 bytes graphics/pokemon/kyogre/primal/front.png | Bin 1114 -> 1105 bytes graphics/pokemon/kyogre/primal/icon.png | Bin 475 -> 509 bytes graphics/pokemon/kyurem/anim_front.png | Bin 1515 -> 1544 bytes graphics/pokemon/kyurem/back.png | Bin 720 -> 709 bytes graphics/pokemon/kyurem/black/anim_front.png | Bin 1982 -> 1986 bytes graphics/pokemon/kyurem/black/back.png | Bin 588 -> 624 bytes graphics/pokemon/kyurem/black/icon.png | Bin 591 -> 549 bytes graphics/pokemon/kyurem/icon.png | Bin 573 -> 634 bytes graphics/pokemon/kyurem/white/anim_front.png | Bin 2050 -> 2048 bytes graphics/pokemon/kyurem/white/back.png | Bin 828 -> 868 bytes graphics/pokemon/kyurem/white/icon.png | Bin 644 -> 566 bytes graphics/pokemon/lairon/anim_front.png | Bin 1365 -> 1363 bytes graphics/pokemon/lairon/back.png | Bin 626 -> 611 bytes graphics/pokemon/lairon/icon.png | Bin 392 -> 414 bytes graphics/pokemon/lampent/anim_front.png | Bin 740 -> 760 bytes graphics/pokemon/lampent/back.png | Bin 454 -> 442 bytes graphics/pokemon/lampent/icon.png | Bin 283 -> 319 bytes graphics/pokemon/landorus/anim_front.png | Bin 1501 -> 1521 bytes graphics/pokemon/landorus/back.png | Bin 948 -> 965 bytes graphics/pokemon/landorus/icon.png | Bin 533 -> 578 bytes .../pokemon/landorus/therian/anim_front.png | Bin 1773 -> 1798 bytes graphics/pokemon/landorus/therian/back.png | Bin 679 -> 662 bytes graphics/pokemon/landorus/therian/icon.png | Bin 613 -> 538 bytes graphics/pokemon/lanturn/anim_front.png | Bin 1097 -> 1144 bytes graphics/pokemon/lanturn/back.png | Bin 641 -> 628 bytes graphics/pokemon/lanturn/icon.png | Bin 447 -> 485 bytes graphics/pokemon/lapras/anim_front.png | Bin 1227 -> 1304 bytes graphics/pokemon/lapras/back.png | Bin 682 -> 713 bytes graphics/pokemon/lapras/icon.png | Bin 454 -> 491 bytes graphics/pokemon/larvesta/anim_front.png | Bin 905 -> 939 bytes graphics/pokemon/larvesta/back.png | Bin 629 -> 619 bytes graphics/pokemon/larvesta/icon.png | Bin 367 -> 444 bytes graphics/pokemon/larvitar/anim_front.png | Bin 713 -> 737 bytes graphics/pokemon/larvitar/back.png | Bin 527 -> 526 bytes graphics/pokemon/larvitar/icon.png | Bin 271 -> 309 bytes graphics/pokemon/latias/anim_front.png | Bin 1106 -> 1112 bytes graphics/pokemon/latias/back.png | Bin 645 -> 626 bytes graphics/pokemon/latias/icon.png | Bin 368 -> 396 bytes graphics/pokemon/latias/mega/back.png | Bin 740 -> 729 bytes graphics/pokemon/latias/mega/front.png | Bin 975 -> 963 bytes graphics/pokemon/latias/mega/icon.png | Bin 373 -> 412 bytes graphics/pokemon/latios/anim_front.png | Bin 1433 -> 1444 bytes graphics/pokemon/latios/back.png | Bin 650 -> 635 bytes graphics/pokemon/latios/icon.png | Bin 379 -> 412 bytes graphics/pokemon/latios/mega/back.png | Bin 740 -> 729 bytes graphics/pokemon/latios/mega/front.png | Bin 975 -> 963 bytes graphics/pokemon/latios/mega/icon.png | Bin 372 -> 410 bytes graphics/pokemon/leafeon/anim_front.png | Bin 1232 -> 1265 bytes graphics/pokemon/leafeon/back.png | Bin 757 -> 747 bytes graphics/pokemon/leafeon/icon.png | Bin 408 -> 425 bytes graphics/pokemon/leavanny/anim_front.png | Bin 1066 -> 1080 bytes graphics/pokemon/leavanny/back.png | Bin 713 -> 701 bytes graphics/pokemon/leavanny/icon.png | Bin 318 -> 343 bytes graphics/pokemon/ledian/anim_front.png | Bin 1326 -> 1325 bytes graphics/pokemon/ledian/back.png | Bin 806 -> 791 bytes graphics/pokemon/ledian/icon.png | Bin 363 -> 396 bytes graphics/pokemon/ledyba/anim_front.png | Bin 1218 -> 1247 bytes graphics/pokemon/ledyba/back.png | Bin 644 -> 632 bytes graphics/pokemon/ledyba/icon.png | Bin 313 -> 352 bytes graphics/pokemon/lickilicky/anim_front.png | Bin 1155 -> 1182 bytes graphics/pokemon/lickilicky/back.png | Bin 633 -> 618 bytes graphics/pokemon/lickilicky/icon.png | Bin 381 -> 419 bytes graphics/pokemon/lickitung/anim_front.png | Bin 1313 -> 1351 bytes graphics/pokemon/lickitung/back.png | Bin 624 -> 607 bytes graphics/pokemon/lickitung/icon.png | Bin 371 -> 406 bytes graphics/pokemon/liepard/anim_front.png | Bin 1230 -> 1259 bytes graphics/pokemon/liepard/back.png | Bin 541 -> 531 bytes graphics/pokemon/liepard/icon.png | Bin 479 -> 517 bytes graphics/pokemon/lileep/anim_front.png | Bin 1018 -> 1041 bytes graphics/pokemon/lileep/back.png | Bin 724 -> 712 bytes graphics/pokemon/lileep/icon.png | Bin 371 -> 389 bytes graphics/pokemon/lilligant/anim_front.png | Bin 1139 -> 1161 bytes graphics/pokemon/lilligant/back.png | Bin 783 -> 774 bytes graphics/pokemon/lilligant/hisuian/back.png | Bin 814 -> 840 bytes graphics/pokemon/lilligant/hisuian/front.png | Bin 705 -> 740 bytes graphics/pokemon/lilligant/hisuian/icon.png | Bin 414 -> 428 bytes graphics/pokemon/lilligant/icon.png | Bin 378 -> 418 bytes graphics/pokemon/lillipup/anim_front.png | Bin 648 -> 670 bytes graphics/pokemon/lillipup/back.png | Bin 592 -> 584 bytes graphics/pokemon/lillipup/icon.png | Bin 322 -> 358 bytes graphics/pokemon/linoone/anim_front.png | Bin 1001 -> 1016 bytes graphics/pokemon/linoone/back.png | Bin 507 -> 496 bytes graphics/pokemon/linoone/galarian/back.png | Bin 543 -> 532 bytes graphics/pokemon/linoone/galarian/front.png | Bin 655 -> 646 bytes graphics/pokemon/linoone/galarian/icon.png | Bin 370 -> 387 bytes graphics/pokemon/linoone/icon.png | Bin 356 -> 396 bytes graphics/pokemon/litleo/anim_front.png | Bin 928 -> 940 bytes graphics/pokemon/litleo/back.png | Bin 560 -> 551 bytes graphics/pokemon/litleo/icon.png | Bin 347 -> 378 bytes graphics/pokemon/litten/back.png | Bin 622 -> 611 bytes graphics/pokemon/litten/front.png | Bin 665 -> 653 bytes graphics/pokemon/litten/icon.png | Bin 340 -> 378 bytes graphics/pokemon/litwick/anim_front.png | Bin 597 -> 626 bytes graphics/pokemon/litwick/back.png | Bin 479 -> 469 bytes graphics/pokemon/litwick/icon.png | Bin 299 -> 338 bytes graphics/pokemon/lombre/anim_front.png | Bin 826 -> 1046 bytes graphics/pokemon/lombre/back.png | Bin 628 -> 617 bytes graphics/pokemon/lombre/icon.png | Bin 321 -> 359 bytes graphics/pokemon/lopunny/anim_front.png | Bin 1020 -> 1028 bytes graphics/pokemon/lopunny/back.png | Bin 682 -> 670 bytes graphics/pokemon/lopunny/icon.png | Bin 419 -> 458 bytes graphics/pokemon/lopunny/mega/back.png | Bin 830 -> 814 bytes graphics/pokemon/lopunny/mega/front.png | Bin 914 -> 903 bytes graphics/pokemon/lopunny/mega/icon.png | Bin 431 -> 469 bytes graphics/pokemon/lotad/anim_front.png | Bin 760 -> 794 bytes graphics/pokemon/lotad/back.png | Bin 617 -> 609 bytes graphics/pokemon/lotad/icon.png | Bin 289 -> 320 bytes graphics/pokemon/loudred/anim_front.png | Bin 1609 -> 1635 bytes graphics/pokemon/loudred/back.png | Bin 705 -> 694 bytes graphics/pokemon/loudred/icon.png | Bin 382 -> 420 bytes graphics/pokemon/lucario/anim_front.png | Bin 1200 -> 1224 bytes graphics/pokemon/lucario/back.png | Bin 800 -> 836 bytes graphics/pokemon/lucario/icon.png | Bin 325 -> 360 bytes graphics/pokemon/lucario/mega/back.png | Bin 909 -> 896 bytes graphics/pokemon/lucario/mega/front.png | Bin 907 -> 895 bytes graphics/pokemon/lucario/mega/icon.png | Bin 400 -> 433 bytes graphics/pokemon/ludicolo/anim_front.png | Bin 1804 -> 1829 bytes graphics/pokemon/ludicolo/back.png | Bin 832 -> 819 bytes graphics/pokemon/ludicolo/icon.png | Bin 395 -> 435 bytes graphics/pokemon/lugia/anim_front.png | Bin 1636 -> 1656 bytes graphics/pokemon/lugia/back.png | Bin 644 -> 632 bytes graphics/pokemon/lugia/icon.png | Bin 523 -> 545 bytes graphics/pokemon/lumineon/anim_front.png | Bin 1137 -> 1163 bytes graphics/pokemon/lumineon/back.png | Bin 747 -> 735 bytes graphics/pokemon/lumineon/icon.png | Bin 398 -> 434 bytes graphics/pokemon/lunala/back.png | Bin 751 -> 738 bytes graphics/pokemon/lunala/front.png | Bin 1234 -> 1227 bytes graphics/pokemon/lunala/icon.png | Bin 464 -> 500 bytes graphics/pokemon/lunatone/anim_front.png | Bin 966 -> 1004 bytes graphics/pokemon/lunatone/back.png | Bin 587 -> 572 bytes graphics/pokemon/lunatone/icon.png | Bin 253 -> 293 bytes graphics/pokemon/lurantis/back.png | Bin 898 -> 886 bytes graphics/pokemon/lurantis/front.png | Bin 790 -> 785 bytes graphics/pokemon/lurantis/icon.png | Bin 431 -> 469 bytes graphics/pokemon/luvdisc/anim_front.png | Bin 368 -> 403 bytes graphics/pokemon/luvdisc/back.png | Bin 411 -> 404 bytes graphics/pokemon/luvdisc/icon.png | Bin 237 -> 275 bytes graphics/pokemon/luxio/anim_front.png | Bin 1145 -> 1179 bytes graphics/pokemon/luxio/back.png | Bin 707 -> 711 bytes graphics/pokemon/luxio/icon.png | Bin 402 -> 437 bytes graphics/pokemon/luxray/anim_front.png | Bin 1498 -> 1521 bytes graphics/pokemon/luxray/back.png | Bin 792 -> 821 bytes graphics/pokemon/luxray/icon.png | Bin 462 -> 487 bytes graphics/pokemon/lycanroc/back.png | Bin 700 -> 686 bytes graphics/pokemon/lycanroc/dusk/back.png | Bin 775 -> 713 bytes graphics/pokemon/lycanroc/dusk/front.png | Bin 894 -> 941 bytes graphics/pokemon/lycanroc/dusk/icon.png | Bin 596 -> 529 bytes graphics/pokemon/lycanroc/front.png | Bin 913 -> 906 bytes graphics/pokemon/lycanroc/icon.png | Bin 488 -> 525 bytes graphics/pokemon/lycanroc/midnight/back.png | Bin 885 -> 822 bytes graphics/pokemon/lycanroc/midnight/front.png | Bin 841 -> 858 bytes graphics/pokemon/lycanroc/midnight/icon.png | Bin 482 -> 417 bytes graphics/pokemon/machamp/anim_front.png | Bin 1492 -> 1473 bytes graphics/pokemon/machamp/back.png | Bin 796 -> 828 bytes graphics/pokemon/machamp/icon.png | Bin 372 -> 411 bytes graphics/pokemon/machoke/anim_front.png | Bin 1186 -> 1376 bytes graphics/pokemon/machoke/back.png | Bin 639 -> 624 bytes graphics/pokemon/machoke/icon.png | Bin 421 -> 459 bytes graphics/pokemon/machop/anim_front.png | Bin 822 -> 849 bytes graphics/pokemon/machop/back.png | Bin 629 -> 610 bytes graphics/pokemon/machop/icon.png | Bin 312 -> 350 bytes graphics/pokemon/magby/anim_front.png | Bin 779 -> 812 bytes graphics/pokemon/magby/back.png | Bin 533 -> 523 bytes graphics/pokemon/magby/icon.png | Bin 355 -> 395 bytes graphics/pokemon/magcargo/anim_front.png | Bin 1646 -> 1666 bytes graphics/pokemon/magcargo/back.png | Bin 844 -> 832 bytes graphics/pokemon/magcargo/icon.png | Bin 449 -> 488 bytes graphics/pokemon/magearna/back.png | Bin 661 -> 716 bytes graphics/pokemon/magearna/front.png | Bin 828 -> 872 bytes graphics/pokemon/magearna/icon.png | Bin 394 -> 429 bytes .../pokemon/magearna/original_color/back.png | Bin 667 -> 730 bytes .../pokemon/magearna/original_color/front.png | Bin 834 -> 900 bytes .../pokemon/magearna/original_color/icon.png | Bin 444 -> 448 bytes graphics/pokemon/magikarp/anim_front.png | Bin 1131 -> 1185 bytes graphics/pokemon/magikarp/back.png | Bin 794 -> 781 bytes graphics/pokemon/magikarp/icon.png | Bin 404 -> 430 bytes graphics/pokemon/magmar/anim_front.png | Bin 1578 -> 1623 bytes graphics/pokemon/magmar/back.png | Bin 834 -> 819 bytes graphics/pokemon/magmar/icon.png | Bin 413 -> 451 bytes graphics/pokemon/magmortar/anim_front.png | Bin 1973 -> 2001 bytes graphics/pokemon/magmortar/back.png | Bin 806 -> 796 bytes graphics/pokemon/magmortar/icon.png | Bin 441 -> 476 bytes graphics/pokemon/magnemite/anim_front.png | Bin 590 -> 602 bytes graphics/pokemon/magnemite/back.png | Bin 477 -> 503 bytes graphics/pokemon/magnemite/icon.png | Bin 319 -> 349 bytes graphics/pokemon/magneton/anim_front.png | Bin 1320 -> 1315 bytes graphics/pokemon/magneton/back.png | Bin 747 -> 733 bytes graphics/pokemon/magneton/icon.png | Bin 387 -> 401 bytes graphics/pokemon/magnezone/anim_front.png | Bin 1436 -> 1445 bytes graphics/pokemon/magnezone/back.png | Bin 493 -> 482 bytes graphics/pokemon/magnezone/icon.png | Bin 415 -> 448 bytes graphics/pokemon/makuhita/anim_front.png | Bin 868 -> 898 bytes graphics/pokemon/makuhita/back.png | Bin 576 -> 564 bytes graphics/pokemon/makuhita/icon.png | Bin 317 -> 355 bytes graphics/pokemon/malamar/anim_front.png | Bin 1446 -> 1439 bytes graphics/pokemon/malamar/back.png | Bin 874 -> 863 bytes graphics/pokemon/malamar/icon.png | Bin 431 -> 470 bytes graphics/pokemon/mamoswine/anim_front.png | Bin 1806 -> 1819 bytes graphics/pokemon/mamoswine/back.png | Bin 523 -> 511 bytes graphics/pokemon/mamoswine/icon.png | Bin 473 -> 514 bytes graphics/pokemon/manaphy/anim_front.png | Bin 933 -> 958 bytes graphics/pokemon/manaphy/back.png | Bin 668 -> 657 bytes graphics/pokemon/manaphy/icon.png | Bin 373 -> 391 bytes graphics/pokemon/mandibuzz/anim_front.png | Bin 1492 -> 1511 bytes graphics/pokemon/mandibuzz/back.png | Bin 655 -> 647 bytes graphics/pokemon/mandibuzz/icon.png | Bin 407 -> 431 bytes graphics/pokemon/manectric/anim_front.png | Bin 1275 -> 1302 bytes graphics/pokemon/manectric/back.png | Bin 714 -> 699 bytes graphics/pokemon/manectric/icon.png | Bin 339 -> 347 bytes graphics/pokemon/manectric/mega/back.png | Bin 614 -> 595 bytes graphics/pokemon/manectric/mega/front.png | Bin 979 -> 966 bytes graphics/pokemon/manectric/mega/icon.png | Bin 367 -> 407 bytes graphics/pokemon/mankey/anim_front.png | Bin 976 -> 950 bytes graphics/pokemon/mankey/back.png | Bin 657 -> 643 bytes graphics/pokemon/mankey/icon.png | Bin 406 -> 446 bytes graphics/pokemon/mantine/anim_front.png | Bin 1053 -> 1075 bytes graphics/pokemon/mantine/back.png | Bin 523 -> 511 bytes graphics/pokemon/mantine/icon.png | Bin 362 -> 395 bytes graphics/pokemon/mantyke/anim_front.png | Bin 923 -> 931 bytes graphics/pokemon/mantyke/back.png | Bin 633 -> 619 bytes graphics/pokemon/mantyke/icon.png | Bin 295 -> 329 bytes graphics/pokemon/maractus/anim_front.png | Bin 1487 -> 1514 bytes graphics/pokemon/maractus/back.png | Bin 880 -> 869 bytes graphics/pokemon/maractus/icon.png | Bin 436 -> 470 bytes graphics/pokemon/mareanie/back.png | Bin 620 -> 611 bytes graphics/pokemon/mareanie/front.png | Bin 623 -> 611 bytes graphics/pokemon/mareanie/icon.png | Bin 352 -> 389 bytes graphics/pokemon/mareep/anim_front.png | Bin 931 -> 966 bytes graphics/pokemon/mareep/back.png | Bin 520 -> 565 bytes graphics/pokemon/mareep/icon.png | Bin 392 -> 424 bytes graphics/pokemon/marill/anim_front.png | Bin 849 -> 885 bytes graphics/pokemon/marill/back.png | Bin 488 -> 477 bytes graphics/pokemon/marill/icon.png | Bin 347 -> 383 bytes graphics/pokemon/marowak/alolan/back.png | Bin 777 -> 766 bytes graphics/pokemon/marowak/alolan/front.png | Bin 846 -> 836 bytes graphics/pokemon/marowak/alolan/icon.png | Bin 495 -> 429 bytes graphics/pokemon/marowak/anim_front.png | Bin 1064 -> 1087 bytes graphics/pokemon/marowak/back.png | Bin 691 -> 677 bytes graphics/pokemon/marowak/icon.png | Bin 351 -> 363 bytes graphics/pokemon/marshadow/anim_front.png | Bin 1026 -> 1038 bytes graphics/pokemon/marshadow/back.png | Bin 523 -> 533 bytes graphics/pokemon/marshadow/icon.png | Bin 311 -> 349 bytes graphics/pokemon/marshtomp/anim_front.png | Bin 1030 -> 1066 bytes graphics/pokemon/marshtomp/back.png | Bin 641 -> 681 bytes graphics/pokemon/marshtomp/icon.png | Bin 328 -> 363 bytes graphics/pokemon/masquerain/anim_front.png | Bin 1284 -> 1312 bytes graphics/pokemon/masquerain/back.png | Bin 869 -> 853 bytes graphics/pokemon/masquerain/icon.png | Bin 344 -> 385 bytes graphics/pokemon/mawile/anim_front.png | Bin 1313 -> 1306 bytes graphics/pokemon/mawile/back.png | Bin 708 -> 700 bytes graphics/pokemon/mawile/icon.png | Bin 410 -> 460 bytes graphics/pokemon/mawile/mega/back.png | Bin 828 -> 815 bytes graphics/pokemon/mawile/mega/front.png | Bin 961 -> 948 bytes graphics/pokemon/mawile/mega/icon.png | Bin 565 -> 583 bytes graphics/pokemon/medicham/anim_front.png | Bin 928 -> 1196 bytes graphics/pokemon/medicham/back.png | Bin 753 -> 738 bytes graphics/pokemon/medicham/icon.png | Bin 336 -> 356 bytes graphics/pokemon/medicham/mega/back.png | Bin 792 -> 782 bytes graphics/pokemon/medicham/mega/front.png | Bin 1002 -> 989 bytes graphics/pokemon/medicham/mega/icon.png | Bin 441 -> 477 bytes graphics/pokemon/meditite/anim_front.png | Bin 791 -> 794 bytes graphics/pokemon/meditite/back.png | Bin 645 -> 638 bytes graphics/pokemon/meditite/icon.png | Bin 308 -> 348 bytes graphics/pokemon/meganium/anim_front.png | Bin 1424 -> 1535 bytes graphics/pokemon/meganium/back.png | Bin 712 -> 705 bytes graphics/pokemon/meganium/icon.png | Bin 425 -> 464 bytes graphics/pokemon/melmetal/back.png | Bin 496 -> 486 bytes graphics/pokemon/melmetal/front.png | Bin 1068 -> 1060 bytes graphics/pokemon/melmetal/icon.png | Bin 538 -> 565 bytes graphics/pokemon/meloetta/anim_front.png | Bin 931 -> 953 bytes graphics/pokemon/meloetta/back.png | Bin 711 -> 701 bytes graphics/pokemon/meloetta/icon.png | Bin 325 -> 350 bytes graphics/pokemon/meloetta/pirouette/back.png | Bin 801 -> 787 bytes graphics/pokemon/meloetta/pirouette/front.png | Bin 693 -> 726 bytes graphics/pokemon/meloetta/pirouette/icon.png | Bin 414 -> 353 bytes graphics/pokemon/meltan/back.png | Bin 549 -> 540 bytes graphics/pokemon/meltan/front.png | Bin 551 -> 543 bytes graphics/pokemon/meltan/icon.png | Bin 300 -> 327 bytes graphics/pokemon/meowstic/anim_front.png | Bin 1264 -> 1289 bytes graphics/pokemon/meowstic/back.png | Bin 613 -> 601 bytes .../pokemon/meowstic/female/anim_front.png | Bin 1134 -> 1137 bytes graphics/pokemon/meowstic/female/back.png | Bin 525 -> 515 bytes graphics/pokemon/meowstic/female/icon.png | Bin 422 -> 459 bytes graphics/pokemon/meowstic/icon.png | Bin 443 -> 482 bytes graphics/pokemon/meowth/alolan/back.png | Bin 661 -> 650 bytes graphics/pokemon/meowth/alolan/front.png | Bin 660 -> 649 bytes graphics/pokemon/meowth/alolan/icon.png | Bin 426 -> 358 bytes graphics/pokemon/meowth/anim_front.png | Bin 879 -> 903 bytes graphics/pokemon/meowth/back.png | Bin 684 -> 707 bytes graphics/pokemon/meowth/galarian/back.png | Bin 694 -> 682 bytes graphics/pokemon/meowth/galarian/front.png | Bin 655 -> 649 bytes graphics/pokemon/meowth/galarian/icon.png | Bin 356 -> 371 bytes graphics/pokemon/meowth/icon.png | Bin 362 -> 374 bytes graphics/pokemon/mesprit/anim_front.png | Bin 1185 -> 1207 bytes graphics/pokemon/mesprit/back.png | Bin 669 -> 661 bytes graphics/pokemon/mesprit/icon.png | Bin 441 -> 486 bytes graphics/pokemon/metagross/anim_front.png | Bin 1363 -> 1372 bytes graphics/pokemon/metagross/back.png | Bin 820 -> 802 bytes graphics/pokemon/metagross/icon.png | Bin 420 -> 456 bytes graphics/pokemon/metagross/mega/back.png | Bin 897 -> 948 bytes graphics/pokemon/metagross/mega/front.png | Bin 1311 -> 1352 bytes graphics/pokemon/metagross/mega/icon.png | Bin 561 -> 598 bytes graphics/pokemon/metang/anim_front.png | Bin 1206 -> 1224 bytes graphics/pokemon/metang/back.png | Bin 702 -> 691 bytes graphics/pokemon/metang/icon.png | Bin 416 -> 444 bytes graphics/pokemon/metapod/anim_front.png | Bin 580 -> 599 bytes graphics/pokemon/metapod/back.png | Bin 483 -> 472 bytes graphics/pokemon/metapod/icon.png | Bin 222 -> 261 bytes graphics/pokemon/mew/anim_front.png | Bin 831 -> 836 bytes graphics/pokemon/mew/back.png | Bin 661 -> 651 bytes graphics/pokemon/mew/icon.png | Bin 348 -> 379 bytes graphics/pokemon/mewtwo/anim_front.png | Bin 1457 -> 1498 bytes graphics/pokemon/mewtwo/back.png | Bin 792 -> 774 bytes graphics/pokemon/mewtwo/icon.png | Bin 403 -> 443 bytes graphics/pokemon/mewtwo/mega_x/back.png | Bin 728 -> 717 bytes graphics/pokemon/mewtwo/mega_x/front.png | Bin 886 -> 873 bytes graphics/pokemon/mewtwo/mega_x/icon.png | Bin 367 -> 399 bytes graphics/pokemon/mewtwo/mega_y/back.png | Bin 781 -> 767 bytes graphics/pokemon/mewtwo/mega_y/front.png | Bin 762 -> 755 bytes graphics/pokemon/mewtwo/mega_y/icon.png | Bin 380 -> 417 bytes graphics/pokemon/mienfoo/anim_front.png | Bin 873 -> 876 bytes graphics/pokemon/mienfoo/back.png | Bin 565 -> 556 bytes graphics/pokemon/mienfoo/icon.png | Bin 362 -> 416 bytes graphics/pokemon/mienshao/anim_front.png | Bin 1280 -> 1268 bytes graphics/pokemon/mienshao/back.png | Bin 663 -> 652 bytes graphics/pokemon/mienshao/icon.png | Bin 395 -> 421 bytes graphics/pokemon/mightyena/anim_front.png | Bin 1343 -> 1355 bytes graphics/pokemon/mightyena/back.png | Bin 693 -> 681 bytes graphics/pokemon/mightyena/icon.png | Bin 385 -> 420 bytes graphics/pokemon/milcery/back.png | Bin 464 -> 452 bytes graphics/pokemon/milcery/front.png | Bin 432 -> 418 bytes graphics/pokemon/milcery/icon.png | Bin 309 -> 323 bytes graphics/pokemon/milotic/anim_front.png | Bin 1647 -> 1673 bytes graphics/pokemon/milotic/back.png | Bin 678 -> 712 bytes graphics/pokemon/milotic/icon.png | Bin 478 -> 532 bytes graphics/pokemon/miltank/anim_front.png | Bin 1253 -> 1256 bytes graphics/pokemon/miltank/back.png | Bin 706 -> 693 bytes graphics/pokemon/miltank/icon.png | Bin 344 -> 384 bytes graphics/pokemon/mime_jr/anim_front.png | Bin 952 -> 979 bytes graphics/pokemon/mime_jr/back.png | Bin 740 -> 725 bytes graphics/pokemon/mime_jr/icon.png | Bin 290 -> 324 bytes graphics/pokemon/mimikyu/back.png | Bin 497 -> 479 bytes graphics/pokemon/mimikyu/busted/back.png | Bin 425 -> 441 bytes graphics/pokemon/mimikyu/busted/front.png | Bin 488 -> 490 bytes graphics/pokemon/mimikyu/busted/icon.png | Bin 327 -> 357 bytes graphics/pokemon/mimikyu/front.png | Bin 547 -> 534 bytes graphics/pokemon/mimikyu/icon.png | Bin 350 -> 384 bytes graphics/pokemon/minccino/anim_front.png | Bin 1068 -> 1094 bytes graphics/pokemon/minccino/back.png | Bin 519 -> 536 bytes graphics/pokemon/minccino/icon.png | Bin 352 -> 364 bytes graphics/pokemon/minior/back.png | Bin 590 -> 578 bytes graphics/pokemon/minior/core/back.png | Bin 412 -> 428 bytes graphics/pokemon/minior/core/blue/icon.png | Bin 356 -> 381 bytes graphics/pokemon/minior/core/front.png | Bin 455 -> 468 bytes graphics/pokemon/minior/core/green/icon.png | Bin 355 -> 375 bytes graphics/pokemon/minior/core/indigo/icon.png | Bin 356 -> 377 bytes graphics/pokemon/minior/core/orange/icon.png | Bin 355 -> 377 bytes graphics/pokemon/minior/core/red/icon.png | Bin 459 -> 379 bytes graphics/pokemon/minior/core/violet/icon.png | Bin 355 -> 377 bytes graphics/pokemon/minior/core/yellow/icon.png | Bin 355 -> 373 bytes graphics/pokemon/minior/front.png | Bin 550 -> 541 bytes graphics/pokemon/minior/icon.png | Bin 330 -> 369 bytes graphics/pokemon/minun/anim_front.png | Bin 740 -> 762 bytes graphics/pokemon/minun/back.png | Bin 574 -> 607 bytes graphics/pokemon/minun/icon.png | Bin 287 -> 325 bytes graphics/pokemon/misdreavus/anim_front.png | Bin 974 -> 1013 bytes graphics/pokemon/misdreavus/back.png | Bin 658 -> 648 bytes graphics/pokemon/misdreavus/icon.png | Bin 339 -> 368 bytes graphics/pokemon/mismagius/anim_front.png | Bin 1205 -> 1223 bytes graphics/pokemon/mismagius/back.png | Bin 762 -> 744 bytes graphics/pokemon/mismagius/icon.png | Bin 399 -> 417 bytes graphics/pokemon/moltres/anim_front.png | Bin 1457 -> 1517 bytes graphics/pokemon/moltres/back.png | Bin 704 -> 687 bytes graphics/pokemon/moltres/galarian/back.png | Bin 662 -> 652 bytes graphics/pokemon/moltres/galarian/front.png | Bin 944 -> 939 bytes graphics/pokemon/moltres/galarian/icon.png | Bin 453 -> 468 bytes graphics/pokemon/moltres/icon.png | Bin 457 -> 467 bytes graphics/pokemon/monferno/anim_front.png | Bin 1238 -> 1260 bytes graphics/pokemon/monferno/back.png | Bin 777 -> 762 bytes graphics/pokemon/monferno/icon.png | Bin 446 -> 470 bytes graphics/pokemon/morelull/back.png | Bin 584 -> 575 bytes graphics/pokemon/morelull/front.png | Bin 506 -> 496 bytes graphics/pokemon/morelull/icon.png | Bin 327 -> 363 bytes graphics/pokemon/morgrem/back.png | Bin 612 -> 602 bytes graphics/pokemon/morgrem/front.png | Bin 784 -> 773 bytes graphics/pokemon/morgrem/icon.png | Bin 455 -> 471 bytes graphics/pokemon/morpeko/back.png | Bin 506 -> 496 bytes graphics/pokemon/morpeko/front.png | Bin 499 -> 489 bytes graphics/pokemon/morpeko/hangry/back.png | Bin 459 -> 450 bytes graphics/pokemon/morpeko/hangry/front.png | Bin 479 -> 468 bytes graphics/pokemon/morpeko/hangry/icon.png | Bin 337 -> 356 bytes graphics/pokemon/morpeko/icon.png | Bin 344 -> 362 bytes graphics/pokemon/mothim/anim_front.png | Bin 1093 -> 1147 bytes graphics/pokemon/mothim/back.png | Bin 632 -> 614 bytes graphics/pokemon/mothim/icon.png | Bin 435 -> 453 bytes graphics/pokemon/mr_mime/anim_front.png | Bin 1125 -> 1151 bytes graphics/pokemon/mr_mime/back.png | Bin 747 -> 805 bytes graphics/pokemon/mr_mime/galarian/back.png | Bin 871 -> 863 bytes graphics/pokemon/mr_mime/galarian/front.png | Bin 830 -> 817 bytes graphics/pokemon/mr_mime/galarian/icon.png | Bin 333 -> 352 bytes graphics/pokemon/mr_mime/icon.png | Bin 310 -> 348 bytes graphics/pokemon/mr_rime/back.png | Bin 727 -> 718 bytes graphics/pokemon/mr_rime/front.png | Bin 954 -> 944 bytes graphics/pokemon/mr_rime/icon.png | Bin 408 -> 425 bytes graphics/pokemon/mudbray/back.png | Bin 683 -> 669 bytes graphics/pokemon/mudbray/front.png | Bin 701 -> 692 bytes graphics/pokemon/mudbray/icon.png | Bin 353 -> 394 bytes graphics/pokemon/mudkip/anim_front.png | Bin 884 -> 891 bytes graphics/pokemon/mudkip/back.png | Bin 566 -> 556 bytes graphics/pokemon/mudkip/icon.png | Bin 344 -> 382 bytes graphics/pokemon/mudsdale/back.png | Bin 744 -> 732 bytes graphics/pokemon/mudsdale/front.png | Bin 1004 -> 994 bytes graphics/pokemon/mudsdale/icon.png | Bin 402 -> 440 bytes graphics/pokemon/muk/alolan/back.png | Bin 883 -> 868 bytes graphics/pokemon/muk/alolan/front.png | Bin 917 -> 905 bytes graphics/pokemon/muk/alolan/icon.png | Bin 626 -> 555 bytes graphics/pokemon/muk/anim_front.png | Bin 1256 -> 1282 bytes graphics/pokemon/muk/back.png | Bin 727 -> 713 bytes graphics/pokemon/muk/icon.png | Bin 458 -> 503 bytes graphics/pokemon/munchlax/anim_front.png | Bin 798 -> 829 bytes graphics/pokemon/munchlax/back.png | Bin 597 -> 521 bytes graphics/pokemon/munchlax/icon.png | Bin 3369 -> 341 bytes graphics/pokemon/munna/anim_front.png | Bin 528 -> 565 bytes graphics/pokemon/munna/back.png | Bin 473 -> 462 bytes graphics/pokemon/munna/icon.png | Bin 255 -> 284 bytes graphics/pokemon/murkrow/anim_front.png | Bin 947 -> 969 bytes graphics/pokemon/murkrow/back.png | Bin 532 -> 523 bytes graphics/pokemon/murkrow/icon.png | Bin 364 -> 400 bytes graphics/pokemon/musharna/anim_front.png | Bin 1084 -> 1107 bytes graphics/pokemon/musharna/back.png | Bin 665 -> 653 bytes graphics/pokemon/musharna/icon.png | Bin 377 -> 392 bytes graphics/pokemon/naganadel/back.png | Bin 809 -> 799 bytes graphics/pokemon/naganadel/front.png | Bin 1033 -> 1018 bytes graphics/pokemon/naganadel/icon.png | Bin 551 -> 591 bytes graphics/pokemon/natu/anim_front.png | Bin 570 -> 622 bytes graphics/pokemon/natu/back.png | Bin 477 -> 467 bytes graphics/pokemon/natu/icon.png | Bin 280 -> 311 bytes graphics/pokemon/necrozma/back.png | Bin 790 -> 777 bytes graphics/pokemon/necrozma/dawn_wings/back.png | Bin 847 -> 888 bytes .../pokemon/necrozma/dawn_wings/front.png | Bin 1294 -> 1349 bytes graphics/pokemon/necrozma/dawn_wings/icon.png | Bin 595 -> 645 bytes graphics/pokemon/necrozma/dusk_mane/back.png | Bin 1033 -> 1124 bytes graphics/pokemon/necrozma/dusk_mane/front.png | Bin 1217 -> 1248 bytes graphics/pokemon/necrozma/dusk_mane/icon.png | Bin 485 -> 496 bytes graphics/pokemon/necrozma/front.png | Bin 989 -> 976 bytes graphics/pokemon/necrozma/icon.png | Bin 473 -> 504 bytes graphics/pokemon/necrozma/ultra/back.png | Bin 760 -> 798 bytes graphics/pokemon/necrozma/ultra/front.png | Bin 1268 -> 1248 bytes graphics/pokemon/necrozma/ultra/icon.png | Bin 561 -> 556 bytes graphics/pokemon/nickit/back.png | Bin 612 -> 597 bytes graphics/pokemon/nickit/front.png | Bin 647 -> 639 bytes graphics/pokemon/nickit/icon.png | Bin 415 -> 433 bytes graphics/pokemon/nidoking/anim_front.png | Bin 1716 -> 1827 bytes graphics/pokemon/nidoking/back.png | Bin 780 -> 765 bytes graphics/pokemon/nidoking/icon.png | Bin 457 -> 469 bytes graphics/pokemon/nidoqueen/anim_front.png | Bin 1389 -> 1454 bytes graphics/pokemon/nidoqueen/back.png | Bin 698 -> 714 bytes graphics/pokemon/nidoqueen/icon.png | Bin 384 -> 420 bytes graphics/pokemon/nidoran_f/anim_front.png | Bin 712 -> 789 bytes graphics/pokemon/nidoran_f/back.png | Bin 605 -> 592 bytes graphics/pokemon/nidoran_f/icon.png | Bin 282 -> 323 bytes graphics/pokemon/nidoran_m/anim_front.png | Bin 699 -> 715 bytes graphics/pokemon/nidoran_m/back.png | Bin 603 -> 587 bytes graphics/pokemon/nidoran_m/icon.png | Bin 322 -> 361 bytes graphics/pokemon/nidorina/anim_front.png | Bin 955 -> 958 bytes graphics/pokemon/nidorina/back.png | Bin 815 -> 749 bytes graphics/pokemon/nidorina/icon.png | Bin 317 -> 356 bytes graphics/pokemon/nidorino/anim_front.png | Bin 1002 -> 948 bytes graphics/pokemon/nidorino/back.png | Bin 740 -> 730 bytes graphics/pokemon/nidorino/icon.png | Bin 346 -> 380 bytes graphics/pokemon/nihilego/back.png | Bin 724 -> 714 bytes graphics/pokemon/nihilego/front.png | Bin 721 -> 712 bytes graphics/pokemon/nihilego/icon.png | Bin 374 -> 414 bytes graphics/pokemon/nincada/anim_front.png | Bin 882 -> 896 bytes graphics/pokemon/nincada/back.png | Bin 564 -> 552 bytes graphics/pokemon/nincada/icon.png | Bin 328 -> 363 bytes graphics/pokemon/ninetales/alolan/back.png | Bin 806 -> 796 bytes graphics/pokemon/ninetales/alolan/front.png | Bin 1012 -> 1007 bytes graphics/pokemon/ninetales/alolan/icon.png | Bin 601 -> 529 bytes graphics/pokemon/ninetales/anim_front.png | Bin 1337 -> 1275 bytes graphics/pokemon/ninetales/back.png | Bin 628 -> 633 bytes graphics/pokemon/ninetales/icon.png | Bin 445 -> 475 bytes graphics/pokemon/ninjask/anim_front.png | Bin 1095 -> 1141 bytes graphics/pokemon/ninjask/back.png | Bin 737 -> 725 bytes graphics/pokemon/ninjask/icon.png | Bin 336 -> 369 bytes graphics/pokemon/noctowl/anim_front.png | Bin 1143 -> 1176 bytes graphics/pokemon/noctowl/back.png | Bin 555 -> 600 bytes graphics/pokemon/noctowl/icon.png | Bin 334 -> 371 bytes graphics/pokemon/noibat/anim_front.png | Bin 1038 -> 1050 bytes graphics/pokemon/noibat/back.png | Bin 562 -> 550 bytes graphics/pokemon/noibat/icon.png | Bin 360 -> 397 bytes graphics/pokemon/noivern/anim_front.png | Bin 1737 -> 1758 bytes graphics/pokemon/noivern/back.png | Bin 679 -> 663 bytes graphics/pokemon/noivern/icon.png | Bin 447 -> 486 bytes graphics/pokemon/nosepass/anim_front.png | Bin 782 -> 787 bytes graphics/pokemon/nosepass/back.png | Bin 607 -> 596 bytes graphics/pokemon/nosepass/icon.png | Bin 287 -> 326 bytes graphics/pokemon/numel/anim_front.png | Bin 795 -> 794 bytes graphics/pokemon/numel/back.png | Bin 610 -> 601 bytes graphics/pokemon/numel/icon.png | Bin 295 -> 329 bytes graphics/pokemon/nuzleaf/anim_front.png | Bin 877 -> 881 bytes graphics/pokemon/nuzleaf/back.png | Bin 655 -> 649 bytes graphics/pokemon/nuzleaf/icon.png | Bin 334 -> 371 bytes graphics/pokemon/obstagoon/back.png | Bin 709 -> 692 bytes graphics/pokemon/obstagoon/front.png | Bin 877 -> 863 bytes graphics/pokemon/obstagoon/icon.png | Bin 466 -> 485 bytes graphics/pokemon/octillery/anim_front.png | Bin 1087 -> 1097 bytes graphics/pokemon/octillery/back.png | Bin 671 -> 657 bytes graphics/pokemon/octillery/icon.png | Bin 382 -> 416 bytes graphics/pokemon/oddish/anim_front.png | Bin 665 -> 770 bytes graphics/pokemon/oddish/back.png | Bin 552 -> 563 bytes graphics/pokemon/oddish/icon.png | Bin 327 -> 346 bytes graphics/pokemon/omanyte/anim_front.png | Bin 786 -> 866 bytes graphics/pokemon/omanyte/back.png | Bin 581 -> 568 bytes graphics/pokemon/omanyte/icon.png | Bin 298 -> 338 bytes graphics/pokemon/omastar/anim_front.png | Bin 1317 -> 1347 bytes graphics/pokemon/omastar/back.png | Bin 689 -> 674 bytes graphics/pokemon/omastar/icon.png | Bin 366 -> 401 bytes graphics/pokemon/onix/anim_front.png | Bin 1478 -> 1433 bytes graphics/pokemon/onix/back.png | Bin 880 -> 867 bytes graphics/pokemon/onix/icon.png | Bin 436 -> 524 bytes graphics/pokemon/oranguru/back.png | Bin 716 -> 704 bytes graphics/pokemon/oranguru/front.png | Bin 977 -> 971 bytes graphics/pokemon/oranguru/icon.png | Bin 400 -> 440 bytes graphics/pokemon/orbeetle/back.png | Bin 641 -> 628 bytes graphics/pokemon/orbeetle/front.png | Bin 768 -> 765 bytes graphics/pokemon/orbeetle/icon.png | Bin 445 -> 460 bytes graphics/pokemon/oricorio/back.png | Bin 850 -> 835 bytes graphics/pokemon/oricorio/front.png | Bin 789 -> 778 bytes graphics/pokemon/oricorio/icon.png | Bin 328 -> 368 bytes graphics/pokemon/oricorio/pau/back.png | Bin 761 -> 818 bytes graphics/pokemon/oricorio/pau/front.png | Bin 706 -> 758 bytes graphics/pokemon/oricorio/pau/icon.png | Bin 341 -> 387 bytes graphics/pokemon/oricorio/pom_pom/back.png | Bin 721 -> 773 bytes graphics/pokemon/oricorio/pom_pom/front.png | Bin 617 -> 672 bytes graphics/pokemon/oricorio/pom_pom/icon.png | Bin 361 -> 393 bytes graphics/pokemon/oricorio/sensu/back.png | Bin 667 -> 674 bytes graphics/pokemon/oricorio/sensu/front.png | Bin 784 -> 817 bytes graphics/pokemon/oricorio/sensu/icon.png | Bin 350 -> 417 bytes graphics/pokemon/oshawott/anim_front.png | Bin 670 -> 801 bytes graphics/pokemon/oshawott/back.png | Bin 479 -> 473 bytes graphics/pokemon/oshawott/icon.png | Bin 341 -> 380 bytes graphics/pokemon/overqwil/back.png | Bin 605 -> 638 bytes graphics/pokemon/overqwil/front.png | Bin 742 -> 773 bytes graphics/pokemon/overqwil/icon.png | Bin 514 -> 531 bytes graphics/pokemon/pachirisu/anim_front.png | Bin 823 -> 856 bytes graphics/pokemon/pachirisu/back.png | Bin 682 -> 665 bytes graphics/pokemon/pachirisu/icon.png | Bin 426 -> 447 bytes graphics/pokemon/palkia/anim_front.png | Bin 2282 -> 2297 bytes graphics/pokemon/palkia/back.png | Bin 788 -> 771 bytes graphics/pokemon/palkia/icon.png | Bin 461 -> 478 bytes graphics/pokemon/palkia/origin/back.png | Bin 739 -> 775 bytes graphics/pokemon/palkia/origin/front.png | Bin 1162 -> 1204 bytes graphics/pokemon/palkia/origin/icon.png | Bin 462 -> 480 bytes graphics/pokemon/palossand/back.png | Bin 657 -> 641 bytes graphics/pokemon/palossand/front.png | Bin 884 -> 867 bytes graphics/pokemon/palossand/icon.png | Bin 320 -> 358 bytes graphics/pokemon/palpitoad/anim_front.png | Bin 1010 -> 1039 bytes graphics/pokemon/palpitoad/back.png | Bin 579 -> 570 bytes graphics/pokemon/palpitoad/icon.png | Bin 362 -> 399 bytes graphics/pokemon/pancham/anim_front.png | Bin 695 -> 703 bytes graphics/pokemon/pancham/back.png | Bin 478 -> 494 bytes graphics/pokemon/pancham/icon.png | Bin 350 -> 385 bytes graphics/pokemon/pangoro/anim_front.png | Bin 1582 -> 1588 bytes graphics/pokemon/pangoro/back.png | Bin 628 -> 644 bytes graphics/pokemon/pangoro/icon.png | Bin 398 -> 436 bytes graphics/pokemon/panpour/anim_front.png | Bin 933 -> 965 bytes graphics/pokemon/panpour/back.png | Bin 633 -> 624 bytes graphics/pokemon/panpour/icon.png | Bin 396 -> 435 bytes graphics/pokemon/pansage/anim_front.png | Bin 961 -> 976 bytes graphics/pokemon/pansage/back.png | Bin 637 -> 623 bytes graphics/pokemon/pansage/icon.png | Bin 397 -> 435 bytes graphics/pokemon/pansear/anim_front.png | Bin 1032 -> 985 bytes graphics/pokemon/pansear/back.png | Bin 571 -> 562 bytes graphics/pokemon/pansear/icon.png | Bin 368 -> 406 bytes graphics/pokemon/paras/anim_front.png | Bin 810 -> 810 bytes graphics/pokemon/paras/back.png | Bin 543 -> 589 bytes graphics/pokemon/paras/icon.png | Bin 377 -> 444 bytes graphics/pokemon/parasect/anim_front.png | Bin 936 -> 969 bytes graphics/pokemon/parasect/back.png | Bin 515 -> 506 bytes graphics/pokemon/parasect/icon.png | Bin 386 -> 422 bytes graphics/pokemon/passimian/back.png | Bin 654 -> 643 bytes graphics/pokemon/passimian/front.png | Bin 920 -> 909 bytes graphics/pokemon/passimian/icon.png | Bin 423 -> 457 bytes graphics/pokemon/patrat/anim_front.png | Bin 817 -> 849 bytes graphics/pokemon/patrat/back.png | Bin 535 -> 523 bytes graphics/pokemon/patrat/icon.png | Bin 378 -> 416 bytes graphics/pokemon/pawniard/anim_front.png | Bin 770 -> 801 bytes graphics/pokemon/pawniard/back.png | Bin 645 -> 635 bytes graphics/pokemon/pawniard/icon.png | Bin 311 -> 350 bytes graphics/pokemon/pelipper/anim_front.png | Bin 1176 -> 1208 bytes graphics/pokemon/pelipper/back.png | Bin 736 -> 725 bytes graphics/pokemon/pelipper/icon.png | Bin 406 -> 427 bytes graphics/pokemon/perrserker/back.png | Bin 849 -> 836 bytes graphics/pokemon/perrserker/front.png | Bin 928 -> 921 bytes graphics/pokemon/perrserker/icon.png | Bin 469 -> 482 bytes graphics/pokemon/persian/alolan/back.png | Bin 679 -> 668 bytes graphics/pokemon/persian/alolan/front.png | Bin 715 -> 703 bytes graphics/pokemon/persian/alolan/icon.png | Bin 456 -> 390 bytes graphics/pokemon/persian/anim_front.png | Bin 1294 -> 1325 bytes graphics/pokemon/persian/back.png | Bin 665 -> 662 bytes graphics/pokemon/persian/icon.png | Bin 338 -> 374 bytes graphics/pokemon/petilil/anim_front.png | Bin 717 -> 734 bytes graphics/pokemon/petilil/back.png | Bin 570 -> 557 bytes graphics/pokemon/petilil/icon.png | Bin 254 -> 291 bytes graphics/pokemon/phanpy/anim_front.png | Bin 771 -> 796 bytes graphics/pokemon/phanpy/back.png | Bin 454 -> 464 bytes graphics/pokemon/phanpy/icon.png | Bin 336 -> 375 bytes graphics/pokemon/phantump/anim_front.png | Bin 758 -> 769 bytes graphics/pokemon/phantump/back.png | Bin 725 -> 716 bytes graphics/pokemon/phantump/icon.png | Bin 410 -> 448 bytes graphics/pokemon/pheromosa/back.png | Bin 667 -> 652 bytes graphics/pokemon/pheromosa/front.png | Bin 957 -> 945 bytes graphics/pokemon/pheromosa/icon.png | Bin 520 -> 559 bytes graphics/pokemon/phione/anim_front.png | Bin 761 -> 799 bytes graphics/pokemon/phione/back.png | Bin 576 -> 564 bytes graphics/pokemon/phione/icon.png | Bin 345 -> 361 bytes graphics/pokemon/pichu/anim_front.png | Bin 682 -> 680 bytes graphics/pokemon/pichu/back.png | Bin 461 -> 449 bytes graphics/pokemon/pichu/icon.png | Bin 288 -> 310 bytes .../pokemon/pichu/spiky_eared/anim_front.png | Bin 739 -> 762 bytes graphics/pokemon/pichu/spiky_eared/back.png | Bin 454 -> 468 bytes graphics/pokemon/pichu/spiky_eared/front.png | Bin 430 -> 481 bytes graphics/pokemon/pichu/spiky_eared/icon.png | Bin 312 -> 311 bytes graphics/pokemon/pidgeot/anim_front.png | Bin 1364 -> 1396 bytes graphics/pokemon/pidgeot/back.png | Bin 767 -> 806 bytes graphics/pokemon/pidgeot/icon.png | Bin 501 -> 539 bytes graphics/pokemon/pidgeot/mega/back.png | Bin 785 -> 775 bytes graphics/pokemon/pidgeot/mega/front.png | Bin 1115 -> 1108 bytes graphics/pokemon/pidgeot/mega/icon.png | Bin 579 -> 601 bytes graphics/pokemon/pidgeotto/anim_front.png | Bin 991 -> 1108 bytes graphics/pokemon/pidgeotto/back.png | Bin 741 -> 806 bytes graphics/pokemon/pidgeotto/icon.png | Bin 379 -> 417 bytes graphics/pokemon/pidgey/anim_front.png | Bin 972 -> 1024 bytes graphics/pokemon/pidgey/back.png | Bin 619 -> 662 bytes graphics/pokemon/pidgey/icon.png | Bin 356 -> 396 bytes graphics/pokemon/pidove/anim_front.png | Bin 659 -> 695 bytes graphics/pokemon/pidove/back.png | Bin 549 -> 539 bytes graphics/pokemon/pidove/icon.png | Bin 266 -> 302 bytes graphics/pokemon/pignite/anim_front.png | Bin 1179 -> 1215 bytes graphics/pokemon/pignite/back.png | Bin 675 -> 666 bytes graphics/pokemon/pignite/icon.png | Bin 396 -> 412 bytes graphics/pokemon/pikachu/alola_cap/back.png | Bin 633 -> 688 bytes graphics/pokemon/pikachu/alola_cap/front.png | Bin 624 -> 652 bytes graphics/pokemon/pikachu/alola_cap/icon.png | Bin 384 -> 436 bytes graphics/pokemon/pikachu/anim_front.png | Bin 971 -> 983 bytes graphics/pokemon/pikachu/back.png | Bin 672 -> 664 bytes graphics/pokemon/pikachu/belle/back.png | Bin 837 -> 893 bytes graphics/pokemon/pikachu/belle/front.png | Bin 808 -> 837 bytes graphics/pokemon/pikachu/belle/icon.png | Bin 453 -> 520 bytes graphics/pokemon/pikachu/cosplay/back.png | Bin 634 -> 672 bytes graphics/pokemon/pikachu/cosplay/front.png | Bin 611 -> 638 bytes graphics/pokemon/pikachu/cosplay/icon.png | Bin 367 -> 380 bytes graphics/pokemon/pikachu/hoenn_cap/back.png | Bin 631 -> 681 bytes graphics/pokemon/pikachu/hoenn_cap/front.png | Bin 638 -> 660 bytes graphics/pokemon/pikachu/hoenn_cap/icon.png | Bin 383 -> 433 bytes graphics/pokemon/pikachu/icon.png | Bin 337 -> 377 bytes graphics/pokemon/pikachu/kalos_cap/back.png | Bin 633 -> 689 bytes graphics/pokemon/pikachu/kalos_cap/front.png | Bin 632 -> 664 bytes graphics/pokemon/pikachu/kalos_cap/icon.png | Bin 388 -> 443 bytes graphics/pokemon/pikachu/libre/back.png | Bin 717 -> 776 bytes graphics/pokemon/pikachu/libre/front.png | Bin 657 -> 684 bytes graphics/pokemon/pikachu/libre/icon.png | Bin 380 -> 422 bytes .../pokemon/pikachu/original_cap/back.png | Bin 636 -> 700 bytes .../pokemon/pikachu/original_cap/front.png | Bin 635 -> 676 bytes .../pokemon/pikachu/original_cap/icon.png | Bin 385 -> 435 bytes graphics/pokemon/pikachu/partner_cap/back.png | Bin 759 -> 699 bytes .../pokemon/pikachu/partner_cap/front.png | Bin 735 -> 673 bytes graphics/pokemon/pikachu/partner_cap/icon.png | Bin 389 -> 444 bytes graphics/pokemon/pikachu/ph_d/back.png | Bin 747 -> 796 bytes graphics/pokemon/pikachu/ph_d/front.png | Bin 758 -> 783 bytes graphics/pokemon/pikachu/ph_d/icon.png | Bin 405 -> 430 bytes graphics/pokemon/pikachu/pop_star/back.png | Bin 841 -> 913 bytes graphics/pokemon/pikachu/pop_star/front.png | Bin 732 -> 765 bytes graphics/pokemon/pikachu/pop_star/icon.png | Bin 411 -> 458 bytes graphics/pokemon/pikachu/rock_star/back.png | Bin 764 -> 815 bytes graphics/pokemon/pikachu/rock_star/front.png | Bin 692 -> 740 bytes graphics/pokemon/pikachu/rock_star/icon.png | Bin 394 -> 432 bytes graphics/pokemon/pikachu/sinnoh_cap/back.png | Bin 631 -> 681 bytes graphics/pokemon/pikachu/sinnoh_cap/front.png | Bin 638 -> 660 bytes graphics/pokemon/pikachu/sinnoh_cap/icon.png | Bin 384 -> 434 bytes graphics/pokemon/pikachu/unova_cap/back.png | Bin 636 -> 699 bytes graphics/pokemon/pikachu/unova_cap/front.png | Bin 638 -> 675 bytes graphics/pokemon/pikachu/unova_cap/icon.png | Bin 384 -> 441 bytes graphics/pokemon/pikachu/world_cap/back.png | Bin 695 -> 687 bytes graphics/pokemon/pikachu/world_cap/front.png | Bin 668 -> 657 bytes graphics/pokemon/pikipek/back.png | Bin 509 -> 500 bytes graphics/pokemon/pikipek/front.png | Bin 466 -> 456 bytes graphics/pokemon/pikipek/icon.png | Bin 335 -> 371 bytes graphics/pokemon/piloswine/anim_front.png | Bin 1080 -> 1110 bytes graphics/pokemon/piloswine/back.png | Bin 457 -> 440 bytes graphics/pokemon/piloswine/icon.png | Bin 316 -> 351 bytes graphics/pokemon/pincurchin/back.png | Bin 581 -> 571 bytes graphics/pokemon/pincurchin/front.png | Bin 529 -> 522 bytes graphics/pokemon/pincurchin/icon.png | Bin 270 -> 300 bytes graphics/pokemon/pineco/anim_front.png | Bin 822 -> 847 bytes graphics/pokemon/pineco/back.png | Bin 652 -> 643 bytes graphics/pokemon/pineco/icon.png | Bin 265 -> 303 bytes graphics/pokemon/pinsir/anim_front.png | Bin 1463 -> 1494 bytes graphics/pokemon/pinsir/back.png | Bin 761 -> 748 bytes graphics/pokemon/pinsir/icon.png | Bin 341 -> 378 bytes graphics/pokemon/pinsir/mega/back.png | Bin 866 -> 855 bytes graphics/pokemon/pinsir/mega/front.png | Bin 1199 -> 1191 bytes graphics/pokemon/pinsir/mega/icon.png | Bin 592 -> 606 bytes graphics/pokemon/piplup/anim_front.png | Bin 759 -> 776 bytes graphics/pokemon/piplup/back.png | Bin 528 -> 520 bytes graphics/pokemon/piplup/icon.png | Bin 291 -> 329 bytes graphics/pokemon/plusle/anim_front.png | Bin 623 -> 653 bytes graphics/pokemon/plusle/back.png | Bin 592 -> 571 bytes graphics/pokemon/plusle/icon.png | Bin 287 -> 325 bytes graphics/pokemon/poipole/back.png | Bin 617 -> 610 bytes graphics/pokemon/poipole/front.png | Bin 638 -> 629 bytes graphics/pokemon/poipole/icon.png | Bin 373 -> 416 bytes graphics/pokemon/politoed/anim_front.png | Bin 1086 -> 1105 bytes graphics/pokemon/politoed/back.png | Bin 589 -> 576 bytes graphics/pokemon/politoed/icon.png | Bin 398 -> 437 bytes graphics/pokemon/poliwag/anim_front.png | Bin 759 -> 799 bytes graphics/pokemon/poliwag/back.png | Bin 389 -> 376 bytes graphics/pokemon/poliwag/icon.png | Bin 358 -> 392 bytes graphics/pokemon/poliwhirl/anim_front.png | Bin 1141 -> 1186 bytes graphics/pokemon/poliwhirl/back.png | Bin 548 -> 536 bytes graphics/pokemon/poliwhirl/icon.png | Bin 339 -> 376 bytes graphics/pokemon/poliwrath/anim_front.png | Bin 1232 -> 1287 bytes graphics/pokemon/poliwrath/back.png | Bin 680 -> 659 bytes graphics/pokemon/poliwrath/icon.png | Bin 413 -> 452 bytes graphics/pokemon/polteageist/back.png | Bin 646 -> 636 bytes graphics/pokemon/polteageist/front.png | Bin 703 -> 694 bytes graphics/pokemon/polteageist/icon.png | Bin 358 -> 377 bytes graphics/pokemon/ponyta/anim_front.png | Bin 1089 -> 1102 bytes graphics/pokemon/ponyta/back.png | Bin 749 -> 736 bytes graphics/pokemon/ponyta/galarian/back.png | Bin 721 -> 704 bytes graphics/pokemon/ponyta/galarian/front.png | Bin 883 -> 871 bytes graphics/pokemon/ponyta/galarian/icon.png | Bin 448 -> 461 bytes graphics/pokemon/ponyta/icon.png | Bin 454 -> 487 bytes graphics/pokemon/poochyena/anim_front.png | Bin 904 -> 913 bytes graphics/pokemon/poochyena/back.png | Bin 602 -> 593 bytes graphics/pokemon/poochyena/icon.png | Bin 357 -> 396 bytes graphics/pokemon/popplio/back.png | Bin 500 -> 535 bytes graphics/pokemon/popplio/front.png | Bin 543 -> 581 bytes graphics/pokemon/popplio/icon.png | Bin 287 -> 329 bytes graphics/pokemon/porygon/anim_front.png | Bin 783 -> 813 bytes graphics/pokemon/porygon/back.png | Bin 598 -> 587 bytes graphics/pokemon/porygon/icon.png | Bin 404 -> 445 bytes graphics/pokemon/porygon2/anim_front.png | Bin 742 -> 751 bytes graphics/pokemon/porygon2/back.png | Bin 552 -> 537 bytes graphics/pokemon/porygon2/icon.png | Bin 371 -> 415 bytes graphics/pokemon/porygon_z/anim_front.png | Bin 932 -> 942 bytes graphics/pokemon/porygon_z/back.png | Bin 668 -> 654 bytes graphics/pokemon/porygon_z/icon.png | Bin 368 -> 407 bytes graphics/pokemon/primarina/back.png | Bin 884 -> 875 bytes graphics/pokemon/primarina/front.png | Bin 1072 -> 1062 bytes graphics/pokemon/primarina/icon.png | Bin 498 -> 533 bytes graphics/pokemon/primeape/anim_front.png | Bin 1302 -> 1309 bytes graphics/pokemon/primeape/back.png | Bin 690 -> 673 bytes graphics/pokemon/primeape/icon.png | Bin 441 -> 481 bytes graphics/pokemon/prinplup/anim_front.png | Bin 1163 -> 1195 bytes graphics/pokemon/prinplup/back.png | Bin 534 -> 524 bytes graphics/pokemon/prinplup/icon.png | Bin 337 -> 374 bytes graphics/pokemon/probopass/anim_front.png | Bin 927 -> 939 bytes graphics/pokemon/probopass/back.png | Bin 643 -> 629 bytes graphics/pokemon/probopass/icon.png | Bin 408 -> 435 bytes graphics/pokemon/psyduck/anim_front.png | Bin 832 -> 858 bytes graphics/pokemon/psyduck/back.png | Bin 501 -> 492 bytes graphics/pokemon/psyduck/icon.png | Bin 379 -> 416 bytes graphics/pokemon/pumpkaboo/anim_front.png | Bin 668 -> 680 bytes graphics/pokemon/pumpkaboo/back.png | Bin 515 -> 525 bytes graphics/pokemon/pumpkaboo/icon.png | Bin 290 -> 326 bytes .../pokemon/pumpkaboo/large/anim_front.png | Bin 640 -> 653 bytes graphics/pokemon/pumpkaboo/large/back.png | Bin 547 -> 555 bytes .../pokemon/pumpkaboo/small/anim_front.png | Bin 622 -> 631 bytes graphics/pokemon/pumpkaboo/small/back.png | Bin 510 -> 527 bytes .../pokemon/pumpkaboo/super/anim_front.png | Bin 686 -> 699 bytes graphics/pokemon/pumpkaboo/super/back.png | Bin 562 -> 569 bytes graphics/pokemon/pupitar/anim_front.png | Bin 621 -> 652 bytes graphics/pokemon/pupitar/back.png | Bin 625 -> 611 bytes graphics/pokemon/pupitar/icon.png | Bin 265 -> 305 bytes graphics/pokemon/purrloin/anim_front.png | Bin 873 -> 895 bytes graphics/pokemon/purrloin/back.png | Bin 541 -> 533 bytes graphics/pokemon/purrloin/icon.png | Bin 388 -> 425 bytes graphics/pokemon/purugly/anim_front.png | Bin 1567 -> 1605 bytes graphics/pokemon/purugly/back.png | Bin 773 -> 763 bytes graphics/pokemon/purugly/icon.png | Bin 332 -> 372 bytes graphics/pokemon/pyroar/anim_front.png | Bin 1669 -> 1699 bytes graphics/pokemon/pyroar/anim_frontf.png | Bin 1562 -> 1596 bytes graphics/pokemon/pyroar/back.png | Bin 571 -> 583 bytes graphics/pokemon/pyroar/backf.png | Bin 579 -> 596 bytes graphics/pokemon/pyroar/frontf.png | Bin 910 -> 953 bytes graphics/pokemon/pyroar/icon.png | Bin 492 -> 489 bytes graphics/pokemon/pyroar/iconf.png | Bin 521 -> 452 bytes graphics/pokemon/pyukumuku/back.png | Bin 490 -> 479 bytes graphics/pokemon/pyukumuku/front.png | Bin 444 -> 436 bytes graphics/pokemon/pyukumuku/icon.png | Bin 289 -> 330 bytes graphics/pokemon/quagsire/anim_front.png | Bin 1026 -> 1054 bytes graphics/pokemon/quagsire/back.png | Bin 523 -> 556 bytes graphics/pokemon/quagsire/icon.png | Bin 330 -> 367 bytes .../question_mark/circled/anim_front.png | Bin 405 -> 435 bytes .../pokemon/question_mark/circled/back.png | Bin 397 -> 423 bytes .../question_mark/double/anim_front.png | Bin 317 -> 358 bytes .../pokemon/question_mark/double/back.png | Bin 308 -> 345 bytes graphics/pokemon/question_mark/icon.png | Bin 271 -> 313 bytes graphics/pokemon/quilava/anim_front.png | Bin 984 -> 1051 bytes graphics/pokemon/quilava/back.png | Bin 715 -> 764 bytes graphics/pokemon/quilava/icon.png | Bin 406 -> 435 bytes graphics/pokemon/quilladin/anim_front.png | Bin 1184 -> 1196 bytes graphics/pokemon/quilladin/back.png | Bin 591 -> 579 bytes graphics/pokemon/quilladin/icon.png | Bin 439 -> 476 bytes graphics/pokemon/qwilfish/anim_front.png | Bin 821 -> 851 bytes graphics/pokemon/qwilfish/back.png | Bin 616 -> 607 bytes graphics/pokemon/qwilfish/hisuian/back.png | Bin 693 -> 627 bytes graphics/pokemon/qwilfish/hisuian/front.png | Bin 664 -> 601 bytes graphics/pokemon/qwilfish/hisuian/icon.png | Bin 365 -> 381 bytes graphics/pokemon/qwilfish/icon.png | Bin 333 -> 369 bytes graphics/pokemon/raboot/back.png | Bin 654 -> 642 bytes graphics/pokemon/raboot/front.png | Bin 649 -> 641 bytes graphics/pokemon/raboot/icon.png | Bin 378 -> 396 bytes graphics/pokemon/raichu/alolan/back.png | Bin 674 -> 655 bytes graphics/pokemon/raichu/alolan/front.png | Bin 890 -> 876 bytes graphics/pokemon/raichu/alolan/icon.png | Bin 577 -> 511 bytes graphics/pokemon/raichu/anim_front.png | Bin 1376 -> 1425 bytes graphics/pokemon/raichu/back.png | Bin 666 -> 653 bytes graphics/pokemon/raichu/icon.png | Bin 412 -> 443 bytes graphics/pokemon/raikou/anim_front.png | Bin 1661 -> 1694 bytes graphics/pokemon/raikou/back.png | Bin 746 -> 735 bytes graphics/pokemon/raikou/icon.png | Bin 489 -> 605 bytes graphics/pokemon/ralts/anim_front.png | Bin 511 -> 551 bytes graphics/pokemon/ralts/back.png | Bin 462 -> 457 bytes graphics/pokemon/ralts/icon.png | Bin 258 -> 298 bytes graphics/pokemon/rampardos/anim_front.png | Bin 1754 -> 1767 bytes graphics/pokemon/rampardos/back.png | Bin 823 -> 814 bytes graphics/pokemon/rampardos/icon.png | Bin 439 -> 479 bytes graphics/pokemon/rapidash/anim_front.png | Bin 1615 -> 1732 bytes graphics/pokemon/rapidash/back.png | Bin 828 -> 816 bytes graphics/pokemon/rapidash/galarian/back.png | Bin 738 -> 727 bytes graphics/pokemon/rapidash/galarian/front.png | Bin 1172 -> 1160 bytes graphics/pokemon/rapidash/galarian/icon.png | Bin 428 -> 447 bytes graphics/pokemon/rapidash/icon.png | Bin 526 -> 547 bytes graphics/pokemon/raticate/alolan/back.png | Bin 685 -> 674 bytes graphics/pokemon/raticate/alolan/front.png | Bin 821 -> 815 bytes graphics/pokemon/raticate/alolan/icon.png | Bin 506 -> 437 bytes graphics/pokemon/raticate/anim_front.png | Bin 1126 -> 1185 bytes graphics/pokemon/raticate/back.png | Bin 732 -> 772 bytes graphics/pokemon/raticate/icon.png | Bin 412 -> 446 bytes graphics/pokemon/rattata/alolan/back.png | Bin 667 -> 654 bytes graphics/pokemon/rattata/alolan/front.png | Bin 575 -> 565 bytes graphics/pokemon/rattata/alolan/icon.png | Bin 448 -> 380 bytes graphics/pokemon/rattata/anim_front.png | Bin 809 -> 797 bytes graphics/pokemon/rattata/back.png | Bin 590 -> 584 bytes graphics/pokemon/rattata/icon.png | Bin 313 -> 351 bytes graphics/pokemon/rayquaza/anim_front.png | Bin 1742 -> 1756 bytes graphics/pokemon/rayquaza/back.png | Bin 740 -> 721 bytes graphics/pokemon/rayquaza/icon.png | Bin 571 -> 609 bytes graphics/pokemon/rayquaza/mega/back.png | Bin 1064 -> 1050 bytes graphics/pokemon/rayquaza/mega/front.png | Bin 1386 -> 1374 bytes graphics/pokemon/rayquaza/mega/icon.png | Bin 521 -> 553 bytes graphics/pokemon/regice/anim_front.png | Bin 1460 -> 1488 bytes graphics/pokemon/regice/back.png | Bin 630 -> 621 bytes graphics/pokemon/regice/icon.png | Bin 398 -> 433 bytes graphics/pokemon/regidrago/back.png | Bin 738 -> 723 bytes graphics/pokemon/regidrago/front.png | Bin 929 -> 919 bytes graphics/pokemon/regidrago/icon.png | Bin 478 -> 493 bytes graphics/pokemon/regieleki/back.png | Bin 618 -> 658 bytes graphics/pokemon/regieleki/front.png | Bin 772 -> 812 bytes graphics/pokemon/regieleki/icon.png | Bin 478 -> 493 bytes graphics/pokemon/regigigas/anim_front.png | Bin 2134 -> 2134 bytes graphics/pokemon/regigigas/back.png | Bin 626 -> 617 bytes graphics/pokemon/regigigas/icon.png | Bin 438 -> 477 bytes graphics/pokemon/regirock/anim_front.png | Bin 1746 -> 1780 bytes graphics/pokemon/regirock/back.png | Bin 893 -> 882 bytes graphics/pokemon/regirock/icon.png | Bin 454 -> 487 bytes graphics/pokemon/registeel/anim_front.png | Bin 1458 -> 1492 bytes graphics/pokemon/registeel/back.png | Bin 650 -> 640 bytes graphics/pokemon/registeel/icon.png | Bin 347 -> 384 bytes graphics/pokemon/relicanth/anim_front.png | Bin 1225 -> 1257 bytes graphics/pokemon/relicanth/back.png | Bin 612 -> 681 bytes graphics/pokemon/relicanth/icon.png | Bin 397 -> 435 bytes graphics/pokemon/remoraid/anim_front.png | Bin 913 -> 918 bytes graphics/pokemon/remoraid/back.png | Bin 604 -> 597 bytes graphics/pokemon/remoraid/icon.png | Bin 295 -> 335 bytes graphics/pokemon/reshiram/anim_front.png | Bin 1776 -> 1803 bytes graphics/pokemon/reshiram/back.png | Bin 670 -> 685 bytes graphics/pokemon/reshiram/icon.png | Bin 551 -> 565 bytes graphics/pokemon/reuniclus/anim_front.png | Bin 1210 -> 1207 bytes graphics/pokemon/reuniclus/back.png | Bin 531 -> 519 bytes graphics/pokemon/reuniclus/icon.png | Bin 434 -> 470 bytes graphics/pokemon/rhydon/anim_front.png | Bin 1700 -> 1650 bytes graphics/pokemon/rhydon/back.png | Bin 836 -> 821 bytes graphics/pokemon/rhydon/icon.png | Bin 415 -> 447 bytes graphics/pokemon/rhyhorn/anim_front.png | Bin 1076 -> 1125 bytes graphics/pokemon/rhyhorn/back.png | Bin 732 -> 721 bytes graphics/pokemon/rhyhorn/icon.png | Bin 385 -> 425 bytes graphics/pokemon/rhyperior/anim_front.png | Bin 1855 -> 1869 bytes graphics/pokemon/rhyperior/back.png | Bin 947 -> 936 bytes graphics/pokemon/rhyperior/icon.png | Bin 475 -> 512 bytes graphics/pokemon/ribombee/back.png | Bin 733 -> 721 bytes graphics/pokemon/ribombee/front.png | Bin 715 -> 707 bytes graphics/pokemon/ribombee/icon.png | Bin 384 -> 416 bytes graphics/pokemon/rillaboom/back.png | Bin 901 -> 941 bytes graphics/pokemon/rillaboom/front.png | Bin 1144 -> 1183 bytes graphics/pokemon/rillaboom/icon.png | Bin 529 -> 545 bytes graphics/pokemon/riolu/anim_front.png | Bin 819 -> 824 bytes graphics/pokemon/riolu/back.png | Bin 713 -> 738 bytes graphics/pokemon/riolu/icon.png | Bin 302 -> 335 bytes graphics/pokemon/rockruff/back.png | Bin 708 -> 696 bytes graphics/pokemon/rockruff/front.png | Bin 655 -> 647 bytes graphics/pokemon/rockruff/icon.png | Bin 366 -> 402 bytes graphics/pokemon/roggenrola/anim_front.png | Bin 597 -> 629 bytes graphics/pokemon/roggenrola/back.png | Bin 434 -> 423 bytes graphics/pokemon/roggenrola/icon.png | Bin 259 -> 298 bytes graphics/pokemon/rolycoly/back.png | Bin 538 -> 525 bytes graphics/pokemon/rolycoly/front.png | Bin 557 -> 550 bytes graphics/pokemon/rolycoly/icon.png | Bin 293 -> 309 bytes graphics/pokemon/rookidee/back.png | Bin 532 -> 526 bytes graphics/pokemon/rookidee/front.png | Bin 546 -> 539 bytes graphics/pokemon/rookidee/icon.png | Bin 362 -> 380 bytes graphics/pokemon/roselia/anim_front.png | Bin 1137 -> 1150 bytes graphics/pokemon/roselia/back.png | Bin 785 -> 775 bytes graphics/pokemon/roselia/icon.png | Bin 407 -> 445 bytes graphics/pokemon/roserade/anim_front.png | Bin 1259 -> 1288 bytes graphics/pokemon/roserade/back.png | Bin 840 -> 832 bytes graphics/pokemon/roserade/icon.png | Bin 391 -> 428 bytes graphics/pokemon/rotom/anim_front.png | Bin 663 -> 703 bytes graphics/pokemon/rotom/back.png | Bin 557 -> 544 bytes graphics/pokemon/rotom/fan/anim_front.png | Bin 1036 -> 1064 bytes graphics/pokemon/rotom/fan/back.png | Bin 686 -> 675 bytes graphics/pokemon/rotom/fan/icon.png | Bin 351 -> 385 bytes graphics/pokemon/rotom/frost/anim_front.png | Bin 1383 -> 1420 bytes graphics/pokemon/rotom/frost/back.png | Bin 477 -> 462 bytes graphics/pokemon/rotom/frost/icon.png | Bin 390 -> 423 bytes graphics/pokemon/rotom/heat/anim_front.png | Bin 1042 -> 1075 bytes graphics/pokemon/rotom/heat/back.png | Bin 611 -> 598 bytes graphics/pokemon/rotom/heat/icon.png | Bin 383 -> 417 bytes graphics/pokemon/rotom/icon.png | Bin 395 -> 417 bytes graphics/pokemon/rotom/mow/anim_front.png | Bin 1167 -> 1190 bytes graphics/pokemon/rotom/mow/back.png | Bin 566 -> 554 bytes graphics/pokemon/rotom/mow/icon.png | Bin 356 -> 396 bytes graphics/pokemon/rotom/wash/anim_front.png | Bin 1056 -> 1090 bytes graphics/pokemon/rotom/wash/back.png | Bin 548 -> 536 bytes graphics/pokemon/rotom/wash/icon.png | Bin 344 -> 383 bytes graphics/pokemon/rowlet/back.png | Bin 431 -> 420 bytes graphics/pokemon/rowlet/front.png | Bin 539 -> 532 bytes graphics/pokemon/rowlet/icon.png | Bin 302 -> 338 bytes graphics/pokemon/rufflet/anim_front.png | Bin 953 -> 975 bytes graphics/pokemon/rufflet/back.png | Bin 575 -> 566 bytes graphics/pokemon/rufflet/icon.png | Bin 336 -> 364 bytes graphics/pokemon/runerigus/back.png | Bin 504 -> 496 bytes graphics/pokemon/runerigus/front.png | Bin 938 -> 927 bytes graphics/pokemon/runerigus/icon.png | Bin 546 -> 558 bytes graphics/pokemon/sableye/anim_front.png | Bin 788 -> 811 bytes graphics/pokemon/sableye/back.png | Bin 581 -> 570 bytes graphics/pokemon/sableye/icon.png | Bin 325 -> 362 bytes graphics/pokemon/sableye/mega/back.png | Bin 809 -> 798 bytes graphics/pokemon/sableye/mega/front.png | Bin 838 -> 833 bytes graphics/pokemon/sableye/mega/icon.png | Bin 421 -> 459 bytes graphics/pokemon/salamence/anim_front.png | Bin 1519 -> 1527 bytes graphics/pokemon/salamence/back.png | Bin 667 -> 651 bytes graphics/pokemon/salamence/icon.png | Bin 420 -> 451 bytes graphics/pokemon/salamence/mega/back.png | Bin 695 -> 683 bytes graphics/pokemon/salamence/mega/front.png | Bin 1102 -> 1092 bytes graphics/pokemon/salamence/mega/icon.png | Bin 438 -> 479 bytes graphics/pokemon/salandit/back.png | Bin 487 -> 478 bytes graphics/pokemon/salandit/front.png | Bin 643 -> 635 bytes graphics/pokemon/salandit/icon.png | Bin 304 -> 340 bytes graphics/pokemon/salazzle/back.png | Bin 575 -> 560 bytes graphics/pokemon/salazzle/front.png | Bin 880 -> 867 bytes graphics/pokemon/salazzle/icon.png | Bin 337 -> 371 bytes graphics/pokemon/samurott/anim_front.png | Bin 1437 -> 1464 bytes graphics/pokemon/samurott/back.png | Bin 680 -> 666 bytes graphics/pokemon/samurott/hisuian/back.png | Bin 867 -> 802 bytes graphics/pokemon/samurott/hisuian/front.png | Bin 1140 -> 1074 bytes graphics/pokemon/samurott/hisuian/icon.png | Bin 503 -> 521 bytes graphics/pokemon/samurott/icon.png | Bin 451 -> 490 bytes graphics/pokemon/sandaconda/back.png | Bin 669 -> 657 bytes graphics/pokemon/sandaconda/front.png | Bin 778 -> 767 bytes graphics/pokemon/sandaconda/icon.png | Bin 357 -> 374 bytes graphics/pokemon/sandile/anim_front.png | Bin 694 -> 694 bytes graphics/pokemon/sandile/back.png | Bin 429 -> 418 bytes graphics/pokemon/sandile/icon.png | Bin 308 -> 340 bytes graphics/pokemon/sandshrew/alolan/back.png | Bin 649 -> 640 bytes graphics/pokemon/sandshrew/alolan/front.png | Bin 599 -> 591 bytes graphics/pokemon/sandshrew/alolan/icon.png | Bin 425 -> 359 bytes graphics/pokemon/sandshrew/anim_front.png | Bin 835 -> 821 bytes graphics/pokemon/sandshrew/back.png | Bin 620 -> 640 bytes graphics/pokemon/sandshrew/icon.png | Bin 340 -> 373 bytes graphics/pokemon/sandslash/alolan/back.png | Bin 940 -> 927 bytes graphics/pokemon/sandslash/alolan/front.png | Bin 974 -> 964 bytes graphics/pokemon/sandslash/alolan/icon.png | Bin 524 -> 461 bytes graphics/pokemon/sandslash/anim_front.png | Bin 1219 -> 1275 bytes graphics/pokemon/sandslash/back.png | Bin 775 -> 813 bytes graphics/pokemon/sandslash/icon.png | Bin 448 -> 464 bytes graphics/pokemon/sandygast/back.png | Bin 475 -> 465 bytes graphics/pokemon/sandygast/front.png | Bin 529 -> 521 bytes graphics/pokemon/sandygast/icon.png | Bin 318 -> 354 bytes graphics/pokemon/sawk/anim_front.png | Bin 1400 -> 1405 bytes graphics/pokemon/sawk/back.png | Bin 682 -> 669 bytes graphics/pokemon/sawk/icon.png | Bin 407 -> 432 bytes graphics/pokemon/sawsbuck/anim_front.png | Bin 962 -> 991 bytes graphics/pokemon/sawsbuck/autumn/back.png | Bin 801 -> 838 bytes graphics/pokemon/sawsbuck/autumn/front.png | Bin 914 -> 953 bytes graphics/pokemon/sawsbuck/autumn/icon.png | Bin 426 -> 431 bytes graphics/pokemon/sawsbuck/back.png | Bin 619 -> 608 bytes graphics/pokemon/sawsbuck/icon.png | Bin 355 -> 398 bytes graphics/pokemon/sawsbuck/summer/back.png | Bin 716 -> 752 bytes graphics/pokemon/sawsbuck/summer/front.png | Bin 842 -> 876 bytes graphics/pokemon/sawsbuck/summer/icon.png | Bin 389 -> 399 bytes graphics/pokemon/sawsbuck/winter/back.png | Bin 651 -> 683 bytes graphics/pokemon/sawsbuck/winter/front.png | Bin 766 -> 802 bytes graphics/pokemon/sawsbuck/winter/icon.png | Bin 390 -> 399 bytes graphics/pokemon/scatterbug/anim_front.png | Bin 641 -> 656 bytes graphics/pokemon/scatterbug/back.png | Bin 439 -> 427 bytes graphics/pokemon/scatterbug/icon.png | Bin 273 -> 307 bytes graphics/pokemon/sceptile/anim_front.png | Bin 1604 -> 1629 bytes graphics/pokemon/sceptile/back.png | Bin 741 -> 729 bytes graphics/pokemon/sceptile/icon.png | Bin 438 -> 472 bytes graphics/pokemon/sceptile/mega/back.png | Bin 804 -> 789 bytes graphics/pokemon/sceptile/mega/front.png | Bin 1125 -> 1113 bytes graphics/pokemon/sceptile/mega/icon.png | Bin 469 -> 508 bytes graphics/pokemon/scizor/anim_front.png | Bin 1461 -> 1490 bytes graphics/pokemon/scizor/back.png | Bin 773 -> 759 bytes graphics/pokemon/scizor/icon.png | Bin 469 -> 507 bytes graphics/pokemon/scizor/mega/back.png | Bin 790 -> 779 bytes graphics/pokemon/scizor/mega/front.png | Bin 1092 -> 1080 bytes graphics/pokemon/scizor/mega/icon.png | Bin 484 -> 500 bytes graphics/pokemon/scolipede/anim_front.png | Bin 1660 -> 1691 bytes graphics/pokemon/scolipede/back.png | Bin 905 -> 892 bytes graphics/pokemon/scolipede/icon.png | Bin 408 -> 445 bytes graphics/pokemon/scorbunny/back.png | Bin 581 -> 568 bytes graphics/pokemon/scorbunny/front.png | Bin 609 -> 595 bytes graphics/pokemon/scorbunny/icon.png | Bin 347 -> 364 bytes graphics/pokemon/scrafty/anim_front.png | Bin 1179 -> 1181 bytes graphics/pokemon/scrafty/back.png | Bin 625 -> 615 bytes graphics/pokemon/scrafty/icon.png | Bin 418 -> 454 bytes graphics/pokemon/scraggy/anim_front.png | Bin 702 -> 732 bytes graphics/pokemon/scraggy/back.png | Bin 564 -> 556 bytes graphics/pokemon/scraggy/icon.png | Bin 282 -> 338 bytes graphics/pokemon/scyther/anim_front.png | Bin 1291 -> 1359 bytes graphics/pokemon/scyther/back.png | Bin 861 -> 850 bytes graphics/pokemon/scyther/icon.png | Bin 350 -> 382 bytes graphics/pokemon/seadra/anim_front.png | Bin 1005 -> 1037 bytes graphics/pokemon/seadra/back.png | Bin 814 -> 803 bytes graphics/pokemon/seadra/icon.png | Bin 354 -> 393 bytes graphics/pokemon/seaking/anim_front.png | Bin 1476 -> 1565 bytes graphics/pokemon/seaking/back.png | Bin 928 -> 910 bytes graphics/pokemon/seaking/icon.png | Bin 399 -> 435 bytes graphics/pokemon/sealeo/anim_front.png | Bin 1075 -> 1111 bytes graphics/pokemon/sealeo/back.png | Bin 486 -> 522 bytes graphics/pokemon/sealeo/icon.png | Bin 398 -> 438 bytes graphics/pokemon/seedot/anim_front.png | Bin 554 -> 578 bytes graphics/pokemon/seedot/back.png | Bin 565 -> 556 bytes graphics/pokemon/seedot/icon.png | Bin 267 -> 303 bytes graphics/pokemon/seel/anim_front.png | Bin 972 -> 1019 bytes graphics/pokemon/seel/back.png | Bin 558 -> 544 bytes graphics/pokemon/seel/icon.png | Bin 349 -> 387 bytes graphics/pokemon/seismitoad/anim_front.png | Bin 1408 -> 1447 bytes graphics/pokemon/seismitoad/back.png | Bin 617 -> 606 bytes graphics/pokemon/seismitoad/icon.png | Bin 469 -> 507 bytes graphics/pokemon/sentret/anim_front.png | Bin 929 -> 976 bytes graphics/pokemon/sentret/back.png | Bin 598 -> 587 bytes graphics/pokemon/sentret/icon.png | Bin 336 -> 354 bytes graphics/pokemon/serperior/anim_front.png | Bin 1599 -> 1619 bytes graphics/pokemon/serperior/back.png | Bin 746 -> 733 bytes graphics/pokemon/serperior/icon.png | Bin 496 -> 535 bytes graphics/pokemon/servine/anim_front.png | Bin 825 -> 849 bytes graphics/pokemon/servine/back.png | Bin 587 -> 578 bytes graphics/pokemon/servine/icon.png | Bin 408 -> 444 bytes graphics/pokemon/seviper/anim_front.png | Bin 1436 -> 1463 bytes graphics/pokemon/seviper/back.png | Bin 772 -> 762 bytes graphics/pokemon/seviper/icon.png | Bin 397 -> 416 bytes graphics/pokemon/sewaddle/anim_front.png | Bin 771 -> 796 bytes graphics/pokemon/sewaddle/back.png | Bin 471 -> 459 bytes graphics/pokemon/sewaddle/icon.png | Bin 272 -> 296 bytes graphics/pokemon/sharpedo/anim_front.png | Bin 1112 -> 1137 bytes graphics/pokemon/sharpedo/back.png | Bin 669 -> 656 bytes graphics/pokemon/sharpedo/icon.png | Bin 366 -> 383 bytes graphics/pokemon/sharpedo/mega/back.png | Bin 722 -> 708 bytes graphics/pokemon/sharpedo/mega/front.png | Bin 835 -> 821 bytes graphics/pokemon/sharpedo/mega/icon.png | Bin 387 -> 419 bytes graphics/pokemon/shaymin/anim_front.png | Bin 728 -> 719 bytes graphics/pokemon/shaymin/back.png | Bin 648 -> 640 bytes graphics/pokemon/shaymin/icon.png | Bin 305 -> 345 bytes graphics/pokemon/shaymin/sky/anim_front.png | Bin 975 -> 979 bytes graphics/pokemon/shaymin/sky/back.png | Bin 821 -> 807 bytes graphics/pokemon/shaymin/sky/icon.png | Bin 473 -> 412 bytes graphics/pokemon/shedinja/anim_front.png | Bin 1058 -> 1095 bytes graphics/pokemon/shedinja/back.png | Bin 796 -> 789 bytes graphics/pokemon/shedinja/icon.png | Bin 307 -> 346 bytes graphics/pokemon/shelgon/anim_front.png | Bin 1039 -> 1052 bytes graphics/pokemon/shelgon/back.png | Bin 541 -> 526 bytes graphics/pokemon/shelgon/icon.png | Bin 321 -> 362 bytes graphics/pokemon/shellder/anim_front.png | Bin 804 -> 837 bytes graphics/pokemon/shellder/back.png | Bin 427 -> 418 bytes graphics/pokemon/shellder/icon.png | Bin 338 -> 354 bytes graphics/pokemon/shellos/anim_front.png | Bin 721 -> 745 bytes graphics/pokemon/shellos/back.png | Bin 605 -> 598 bytes .../pokemon/shellos/east_sea/anim_front.png | Bin 842 -> 873 bytes graphics/pokemon/shellos/east_sea/back.png | Bin 577 -> 626 bytes graphics/pokemon/shellos/east_sea/icon.png | Bin 359 -> 454 bytes graphics/pokemon/shellos/icon.png | Bin 386 -> 427 bytes graphics/pokemon/shelmet/anim_front.png | Bin 734 -> 756 bytes graphics/pokemon/shelmet/back.png | Bin 515 -> 505 bytes graphics/pokemon/shelmet/icon.png | Bin 284 -> 321 bytes graphics/pokemon/shieldon/anim_front.png | Bin 735 -> 764 bytes graphics/pokemon/shieldon/back.png | Bin 560 -> 548 bytes graphics/pokemon/shieldon/icon.png | Bin 319 -> 353 bytes graphics/pokemon/shiftry/anim_front.png | Bin 1483 -> 1485 bytes graphics/pokemon/shiftry/back.png | Bin 765 -> 751 bytes graphics/pokemon/shiftry/icon.png | Bin 459 -> 473 bytes graphics/pokemon/shiinotic/back.png | Bin 647 -> 638 bytes graphics/pokemon/shiinotic/front.png | Bin 793 -> 785 bytes graphics/pokemon/shiinotic/icon.png | Bin 351 -> 387 bytes graphics/pokemon/shinx/anim_front.png | Bin 883 -> 906 bytes graphics/pokemon/shinx/anim_frontf.png | Bin 917 -> 901 bytes graphics/pokemon/shinx/back.png | Bin 729 -> 669 bytes graphics/pokemon/shinx/backf.png | Bin 634 -> 666 bytes graphics/pokemon/shinx/icon.png | Bin 376 -> 409 bytes graphics/pokemon/shroomish/anim_front.png | Bin 612 -> 643 bytes graphics/pokemon/shroomish/back.png | Bin 515 -> 529 bytes graphics/pokemon/shroomish/icon.png | Bin 303 -> 341 bytes graphics/pokemon/shuckle/anim_front.png | Bin 788 -> 814 bytes graphics/pokemon/shuckle/back.png | Bin 478 -> 490 bytes graphics/pokemon/shuckle/icon.png | Bin 309 -> 346 bytes graphics/pokemon/shuppet/anim_front.png | Bin 662 -> 828 bytes graphics/pokemon/shuppet/back.png | Bin 494 -> 512 bytes graphics/pokemon/shuppet/icon.png | Bin 265 -> 300 bytes graphics/pokemon/sigilyph/anim_front.png | Bin 1626 -> 1652 bytes graphics/pokemon/sigilyph/back.png | Bin 871 -> 911 bytes graphics/pokemon/sigilyph/icon.png | Bin 423 -> 473 bytes graphics/pokemon/silcoon/anim_front.png | Bin 735 -> 743 bytes graphics/pokemon/silcoon/back.png | Bin 497 -> 489 bytes graphics/pokemon/silcoon/icon.png | Bin 303 -> 340 bytes graphics/pokemon/silicobra/back.png | Bin 571 -> 565 bytes graphics/pokemon/silicobra/front.png | Bin 581 -> 571 bytes graphics/pokemon/silicobra/icon.png | Bin 325 -> 343 bytes graphics/pokemon/silvally/back.png | Bin 640 -> 643 bytes graphics/pokemon/silvally/front.png | Bin 837 -> 894 bytes graphics/pokemon/silvally/icon.png | Bin 382 -> 423 bytes graphics/pokemon/simipour/anim_front.png | Bin 1382 -> 1414 bytes graphics/pokemon/simipour/back.png | Bin 804 -> 792 bytes graphics/pokemon/simipour/icon.png | Bin 364 -> 398 bytes graphics/pokemon/simisage/anim_front.png | Bin 1406 -> 1404 bytes graphics/pokemon/simisage/back.png | Bin 691 -> 675 bytes graphics/pokemon/simisage/icon.png | Bin 411 -> 444 bytes graphics/pokemon/simisear/anim_front.png | Bin 1244 -> 1276 bytes graphics/pokemon/simisear/back.png | Bin 594 -> 579 bytes graphics/pokemon/simisear/icon.png | Bin 406 -> 444 bytes graphics/pokemon/sinistea/back.png | Bin 527 -> 518 bytes graphics/pokemon/sinistea/front.png | Bin 553 -> 546 bytes graphics/pokemon/sinistea/icon.png | Bin 322 -> 339 bytes graphics/pokemon/sirfetchd/back.png | Bin 810 -> 802 bytes graphics/pokemon/sirfetchd/front.png | Bin 907 -> 971 bytes graphics/pokemon/sirfetchd/icon.png | Bin 630 -> 647 bytes graphics/pokemon/sizzlipede/back.png | Bin 380 -> 370 bytes graphics/pokemon/sizzlipede/front.png | Bin 406 -> 397 bytes graphics/pokemon/sizzlipede/icon.png | Bin 295 -> 310 bytes graphics/pokemon/skarmory/anim_front.png | Bin 1501 -> 1531 bytes graphics/pokemon/skarmory/back.png | Bin 528 -> 517 bytes graphics/pokemon/skarmory/icon.png | Bin 394 -> 432 bytes graphics/pokemon/skiddo/anim_front.png | Bin 1038 -> 1076 bytes graphics/pokemon/skiddo/back.png | Bin 689 -> 708 bytes graphics/pokemon/skiddo/icon.png | Bin 356 -> 396 bytes graphics/pokemon/skiploom/anim_front.png | Bin 657 -> 685 bytes graphics/pokemon/skiploom/back.png | Bin 726 -> 720 bytes graphics/pokemon/skiploom/icon.png | Bin 367 -> 404 bytes graphics/pokemon/skitty/anim_front.png | Bin 871 -> 898 bytes graphics/pokemon/skitty/back.png | Bin 675 -> 662 bytes graphics/pokemon/skitty/icon.png | Bin 334 -> 366 bytes graphics/pokemon/skorupi/anim_front.png | Bin 1090 -> 1093 bytes graphics/pokemon/skorupi/back.png | Bin 746 -> 733 bytes graphics/pokemon/skorupi/icon.png | Bin 371 -> 406 bytes graphics/pokemon/skrelp/anim_front.png | Bin 746 -> 751 bytes graphics/pokemon/skrelp/back.png | Bin 619 -> 608 bytes graphics/pokemon/skrelp/icon.png | Bin 366 -> 404 bytes graphics/pokemon/skuntank/anim_front.png | Bin 1356 -> 1379 bytes graphics/pokemon/skuntank/back.png | Bin 831 -> 813 bytes graphics/pokemon/skuntank/icon.png | Bin 375 -> 415 bytes graphics/pokemon/skwovet/back.png | Bin 659 -> 647 bytes graphics/pokemon/skwovet/front.png | Bin 624 -> 622 bytes graphics/pokemon/skwovet/icon.png | Bin 342 -> 381 bytes graphics/pokemon/slaking/anim_front.png | Bin 1393 -> 1427 bytes graphics/pokemon/slaking/back.png | Bin 779 -> 818 bytes graphics/pokemon/slaking/icon.png | Bin 438 -> 477 bytes graphics/pokemon/slakoth/anim_front.png | Bin 879 -> 908 bytes graphics/pokemon/slakoth/back.png | Bin 608 -> 595 bytes graphics/pokemon/slakoth/icon.png | Bin 364 -> 390 bytes graphics/pokemon/sliggoo/anim_front.png | Bin 919 -> 929 bytes graphics/pokemon/sliggoo/back.png | Bin 546 -> 551 bytes graphics/pokemon/sliggoo/hisuian/back.png | Bin 600 -> 530 bytes graphics/pokemon/sliggoo/hisuian/front.png | Bin 667 -> 598 bytes graphics/pokemon/sliggoo/hisuian/icon.png | Bin 392 -> 408 bytes graphics/pokemon/sliggoo/icon.png | Bin 330 -> 365 bytes graphics/pokemon/slowbro/anim_front.png | Bin 1526 -> 1555 bytes graphics/pokemon/slowbro/back.png | Bin 764 -> 748 bytes graphics/pokemon/slowbro/galarian/back.png | Bin 519 -> 506 bytes graphics/pokemon/slowbro/galarian/front.png | Bin 931 -> 920 bytes graphics/pokemon/slowbro/galarian/icon.png | Bin 466 -> 479 bytes graphics/pokemon/slowbro/icon.png | Bin 459 -> 496 bytes graphics/pokemon/slowbro/mega/back.png | Bin 758 -> 745 bytes graphics/pokemon/slowbro/mega/front.png | Bin 859 -> 850 bytes graphics/pokemon/slowbro/mega/icon.png | Bin 434 -> 449 bytes graphics/pokemon/slowking/anim_front.png | Bin 1339 -> 1358 bytes graphics/pokemon/slowking/back.png | Bin 776 -> 763 bytes graphics/pokemon/slowking/galarian/back.png | Bin 706 -> 693 bytes graphics/pokemon/slowking/galarian/front.png | Bin 853 -> 840 bytes graphics/pokemon/slowking/galarian/icon.png | Bin 396 -> 435 bytes graphics/pokemon/slowking/icon.png | Bin 402 -> 441 bytes graphics/pokemon/slowpoke/anim_front.png | Bin 908 -> 945 bytes graphics/pokemon/slowpoke/back.png | Bin 503 -> 543 bytes graphics/pokemon/slowpoke/galarian/back.png | Bin 560 -> 548 bytes graphics/pokemon/slowpoke/galarian/front.png | Bin 607 -> 599 bytes graphics/pokemon/slowpoke/galarian/icon.png | Bin 321 -> 352 bytes graphics/pokemon/slowpoke/icon.png | Bin 371 -> 405 bytes graphics/pokemon/slugma/anim_front.png | Bin 806 -> 837 bytes graphics/pokemon/slugma/back.png | Bin 587 -> 573 bytes graphics/pokemon/slugma/icon.png | Bin 340 -> 380 bytes graphics/pokemon/slurpuff/anim_front.png | Bin 887 -> 915 bytes graphics/pokemon/slurpuff/back.png | Bin 672 -> 658 bytes graphics/pokemon/slurpuff/icon.png | Bin 331 -> 367 bytes graphics/pokemon/smeargle/anim_front.png | Bin 1189 -> 1184 bytes graphics/pokemon/smeargle/back.png | Bin 691 -> 681 bytes graphics/pokemon/smeargle/icon.png | Bin 386 -> 422 bytes graphics/pokemon/smoochum/anim_front.png | Bin 758 -> 787 bytes graphics/pokemon/smoochum/back.png | Bin 519 -> 508 bytes graphics/pokemon/smoochum/icon.png | Bin 298 -> 333 bytes graphics/pokemon/sneasel/anim_front.png | Bin 1125 -> 1153 bytes graphics/pokemon/sneasel/back.png | Bin 693 -> 677 bytes graphics/pokemon/sneasel/hisuian/back.png | Bin 744 -> 671 bytes graphics/pokemon/sneasel/hisuian/front.png | Bin 783 -> 719 bytes graphics/pokemon/sneasel/hisuian/icon.png | Bin 332 -> 349 bytes graphics/pokemon/sneasel/icon.png | Bin 344 -> 380 bytes graphics/pokemon/sneasler/back.png | Bin 821 -> 758 bytes graphics/pokemon/sneasler/front.png | Bin 913 -> 854 bytes graphics/pokemon/sneasler/icon.png | Bin 478 -> 495 bytes graphics/pokemon/snivy/anim_front.png | Bin 774 -> 805 bytes graphics/pokemon/snivy/back.png | Bin 663 -> 656 bytes graphics/pokemon/snivy/icon.png | Bin 374 -> 414 bytes graphics/pokemon/snom/back.png | Bin 491 -> 482 bytes graphics/pokemon/snom/front.png | Bin 430 -> 421 bytes graphics/pokemon/snom/icon.png | Bin 305 -> 319 bytes graphics/pokemon/snorlax/anim_front.png | Bin 1215 -> 1365 bytes graphics/pokemon/snorlax/back.png | Bin 468 -> 456 bytes graphics/pokemon/snorlax/icon.png | Bin 386 -> 421 bytes graphics/pokemon/snorunt/anim_front.png | Bin 634 -> 672 bytes graphics/pokemon/snorunt/back.png | Bin 582 -> 573 bytes graphics/pokemon/snorunt/icon.png | Bin 261 -> 299 bytes graphics/pokemon/snover/anim_front.png | Bin 1000 -> 1033 bytes graphics/pokemon/snover/back.png | Bin 659 -> 647 bytes graphics/pokemon/snover/icon.png | Bin 319 -> 355 bytes graphics/pokemon/snubbull/anim_front.png | Bin 885 -> 919 bytes graphics/pokemon/snubbull/back.png | Bin 477 -> 500 bytes graphics/pokemon/snubbull/icon.png | Bin 316 -> 355 bytes graphics/pokemon/sobble/back.png | Bin 467 -> 451 bytes graphics/pokemon/sobble/front.png | Bin 595 -> 583 bytes graphics/pokemon/sobble/icon.png | Bin 443 -> 462 bytes graphics/pokemon/solgaleo/back.png | Bin 978 -> 968 bytes graphics/pokemon/solgaleo/front.png | Bin 1138 -> 1123 bytes graphics/pokemon/solgaleo/icon.png | Bin 477 -> 510 bytes graphics/pokemon/solosis/anim_front.png | Bin 602 -> 639 bytes graphics/pokemon/solosis/back.png | Bin 417 -> 407 bytes graphics/pokemon/solosis/icon.png | Bin 308 -> 333 bytes graphics/pokemon/solrock/anim_front.png | Bin 1461 -> 1484 bytes graphics/pokemon/solrock/back.png | Bin 860 -> 847 bytes graphics/pokemon/solrock/icon.png | Bin 307 -> 328 bytes graphics/pokemon/spearow/anim_front.png | Bin 856 -> 876 bytes graphics/pokemon/spearow/back.png | Bin 708 -> 741 bytes graphics/pokemon/spearow/icon.png | Bin 349 -> 388 bytes graphics/pokemon/spectrier/back.png | Bin 659 -> 643 bytes graphics/pokemon/spectrier/front.png | Bin 859 -> 853 bytes graphics/pokemon/spectrier/icon.png | Bin 333 -> 371 bytes graphics/pokemon/spewpa/anim_front.png | Bin 788 -> 798 bytes graphics/pokemon/spewpa/back.png | Bin 539 -> 531 bytes graphics/pokemon/spewpa/icon.png | Bin 264 -> 304 bytes graphics/pokemon/spheal/anim_front.png | Bin 714 -> 751 bytes graphics/pokemon/spheal/back.png | Bin 393 -> 413 bytes graphics/pokemon/spheal/icon.png | Bin 303 -> 342 bytes graphics/pokemon/spinarak/anim_front.png | Bin 704 -> 713 bytes graphics/pokemon/spinarak/back.png | Bin 490 -> 480 bytes graphics/pokemon/spinarak/icon.png | Bin 340 -> 372 bytes graphics/pokemon/spinda/anim_front.png | Bin 634 -> 668 bytes graphics/pokemon/spinda/back.png | Bin 684 -> 677 bytes graphics/pokemon/spinda/icon.png | Bin 387 -> 424 bytes graphics/pokemon/spiritomb/anim_front.png | Bin 1346 -> 1381 bytes graphics/pokemon/spiritomb/back.png | Bin 790 -> 781 bytes graphics/pokemon/spiritomb/icon.png | Bin 390 -> 428 bytes graphics/pokemon/spoink/anim_front.png | Bin 567 -> 585 bytes graphics/pokemon/spoink/back.png | Bin 575 -> 568 bytes graphics/pokemon/spoink/icon.png | Bin 260 -> 298 bytes graphics/pokemon/spritzee/anim_front.png | Bin 813 -> 819 bytes graphics/pokemon/spritzee/back.png | Bin 537 -> 525 bytes graphics/pokemon/spritzee/icon.png | Bin 303 -> 343 bytes graphics/pokemon/squirtle/anim_front.png | Bin 808 -> 833 bytes graphics/pokemon/squirtle/back.png | Bin 550 -> 618 bytes graphics/pokemon/squirtle/icon.png | Bin 331 -> 366 bytes graphics/pokemon/stakataka/back.png | Bin 652 -> 641 bytes graphics/pokemon/stakataka/front.png | Bin 1068 -> 1059 bytes graphics/pokemon/stakataka/icon.png | Bin 404 -> 445 bytes graphics/pokemon/stantler/anim_front.png | Bin 1334 -> 1352 bytes graphics/pokemon/stantler/back.png | Bin 647 -> 636 bytes graphics/pokemon/stantler/icon.png | Bin 425 -> 465 bytes graphics/pokemon/staraptor/anim_front.png | Bin 1296 -> 1324 bytes graphics/pokemon/staraptor/anim_frontf.png | Bin 1290 -> 1322 bytes graphics/pokemon/staraptor/back.png | Bin 775 -> 759 bytes graphics/pokemon/staraptor/icon.png | Bin 432 -> 486 bytes graphics/pokemon/staravia/anim_front.png | Bin 995 -> 1018 bytes graphics/pokemon/staravia/anim_frontf.png | Bin 1012 -> 1018 bytes graphics/pokemon/staravia/back.png | Bin 689 -> 708 bytes graphics/pokemon/staravia/backf.png | Bin 675 -> 707 bytes graphics/pokemon/staravia/icon.png | Bin 381 -> 425 bytes graphics/pokemon/starly/anim_front.png | Bin 898 -> 926 bytes graphics/pokemon/starly/anim_frontf.png | Bin 993 -> 915 bytes graphics/pokemon/starly/back.png | Bin 596 -> 630 bytes graphics/pokemon/starly/backf.png | Bin 699 -> 629 bytes graphics/pokemon/starly/icon.png | Bin 349 -> 386 bytes graphics/pokemon/starmie/anim_front.png | Bin 1178 -> 1185 bytes graphics/pokemon/starmie/back.png | Bin 817 -> 806 bytes graphics/pokemon/starmie/icon.png | Bin 387 -> 427 bytes graphics/pokemon/staryu/anim_front.png | Bin 1007 -> 1040 bytes graphics/pokemon/staryu/back.png | Bin 637 -> 627 bytes graphics/pokemon/staryu/icon.png | Bin 294 -> 335 bytes graphics/pokemon/steelix/anim_front.png | Bin 1686 -> 1712 bytes graphics/pokemon/steelix/back.png | Bin 800 -> 779 bytes graphics/pokemon/steelix/icon.png | Bin 483 -> 483 bytes graphics/pokemon/steelix/mega/back.png | Bin 1012 -> 997 bytes graphics/pokemon/steelix/mega/front.png | Bin 1357 -> 1341 bytes graphics/pokemon/steelix/mega/icon.png | Bin 469 -> 507 bytes graphics/pokemon/steenee/back.png | Bin 740 -> 725 bytes graphics/pokemon/steenee/front.png | Bin 651 -> 642 bytes graphics/pokemon/steenee/icon.png | Bin 361 -> 395 bytes graphics/pokemon/stonjourner/back.png | Bin 719 -> 709 bytes graphics/pokemon/stonjourner/front.png | Bin 889 -> 877 bytes graphics/pokemon/stonjourner/icon.png | Bin 529 -> 544 bytes graphics/pokemon/stoutland/anim_front.png | Bin 1612 -> 1643 bytes graphics/pokemon/stoutland/back.png | Bin 742 -> 733 bytes graphics/pokemon/stoutland/icon.png | Bin 454 -> 487 bytes graphics/pokemon/stufful/back.png | Bin 592 -> 577 bytes graphics/pokemon/stufful/front.png | Bin 555 -> 546 bytes graphics/pokemon/stufful/icon.png | Bin 290 -> 329 bytes graphics/pokemon/stunfisk/anim_front.png | Bin 893 -> 908 bytes graphics/pokemon/stunfisk/back.png | Bin 452 -> 444 bytes graphics/pokemon/stunfisk/galarian/back.png | Bin 517 -> 506 bytes graphics/pokemon/stunfisk/galarian/front.png | Bin 568 -> 558 bytes graphics/pokemon/stunfisk/galarian/icon.png | Bin 371 -> 388 bytes graphics/pokemon/stunfisk/icon.png | Bin 331 -> 371 bytes graphics/pokemon/stunky/anim_front.png | Bin 961 -> 968 bytes graphics/pokemon/stunky/back.png | Bin 750 -> 737 bytes graphics/pokemon/stunky/icon.png | Bin 336 -> 371 bytes graphics/pokemon/sudowoodo/anim_front.png | Bin 1070 -> 1091 bytes graphics/pokemon/sudowoodo/back.png | Bin 673 -> 665 bytes graphics/pokemon/sudowoodo/icon.png | Bin 382 -> 421 bytes graphics/pokemon/suicune/anim_front.png | Bin 1754 -> 1778 bytes graphics/pokemon/suicune/back.png | Bin 866 -> 854 bytes graphics/pokemon/suicune/icon.png | Bin 533 -> 584 bytes graphics/pokemon/sunflora/anim_front.png | Bin 974 -> 1001 bytes graphics/pokemon/sunflora/back.png | Bin 717 -> 705 bytes graphics/pokemon/sunflora/icon.png | Bin 431 -> 467 bytes graphics/pokemon/sunkern/anim_front.png | Bin 628 -> 669 bytes graphics/pokemon/sunkern/back.png | Bin 561 -> 553 bytes graphics/pokemon/sunkern/icon.png | Bin 305 -> 344 bytes graphics/pokemon/surskit/anim_front.png | Bin 547 -> 551 bytes graphics/pokemon/surskit/back.png | Bin 515 -> 502 bytes graphics/pokemon/surskit/icon.png | Bin 308 -> 344 bytes graphics/pokemon/swablu/anim_front.png | Bin 876 -> 911 bytes graphics/pokemon/swablu/back.png | Bin 621 -> 646 bytes graphics/pokemon/swablu/icon.png | Bin 336 -> 357 bytes graphics/pokemon/swadloon/anim_front.png | Bin 907 -> 941 bytes graphics/pokemon/swadloon/back.png | Bin 520 -> 510 bytes graphics/pokemon/swadloon/icon.png | Bin 290 -> 325 bytes graphics/pokemon/swalot/anim_front.png | Bin 1125 -> 1164 bytes graphics/pokemon/swalot/back.png | Bin 589 -> 639 bytes graphics/pokemon/swalot/icon.png | Bin 311 -> 333 bytes graphics/pokemon/swampert/anim_front.png | Bin 1452 -> 1482 bytes graphics/pokemon/swampert/back.png | Bin 736 -> 724 bytes graphics/pokemon/swampert/icon.png | Bin 449 -> 488 bytes graphics/pokemon/swampert/mega/back.png | Bin 863 -> 852 bytes graphics/pokemon/swampert/mega/front.png | Bin 1128 -> 1114 bytes graphics/pokemon/swampert/mega/icon.png | Bin 451 -> 489 bytes graphics/pokemon/swanna/anim_front.png | Bin 960 -> 995 bytes graphics/pokemon/swanna/back.png | Bin 730 -> 719 bytes graphics/pokemon/swanna/icon.png | Bin 428 -> 468 bytes graphics/pokemon/swellow/anim_front.png | Bin 1074 -> 1106 bytes graphics/pokemon/swellow/back.png | Bin 598 -> 589 bytes graphics/pokemon/swellow/icon.png | Bin 383 -> 418 bytes graphics/pokemon/swinub/anim_front.png | Bin 566 -> 590 bytes graphics/pokemon/swinub/back.png | Bin 456 -> 444 bytes graphics/pokemon/swinub/icon.png | Bin 292 -> 329 bytes graphics/pokemon/swirlix/anim_front.png | Bin 796 -> 803 bytes graphics/pokemon/swirlix/back.png | Bin 485 -> 470 bytes graphics/pokemon/swirlix/icon.png | Bin 281 -> 313 bytes graphics/pokemon/swoobat/anim_front.png | Bin 1440 -> 1452 bytes graphics/pokemon/swoobat/back.png | Bin 741 -> 728 bytes graphics/pokemon/swoobat/icon.png | Bin 410 -> 443 bytes graphics/pokemon/sylveon/anim_front.png | Bin 1204 -> 1211 bytes graphics/pokemon/sylveon/back.png | Bin 773 -> 788 bytes graphics/pokemon/sylveon/icon.png | Bin 444 -> 483 bytes graphics/pokemon/taillow/anim_front.png | Bin 776 -> 828 bytes graphics/pokemon/taillow/back.png | Bin 523 -> 511 bytes graphics/pokemon/taillow/icon.png | Bin 315 -> 352 bytes graphics/pokemon/talonflame/anim_front.png | Bin 1728 -> 1740 bytes graphics/pokemon/talonflame/back.png | Bin 615 -> 651 bytes graphics/pokemon/talonflame/icon.png | Bin 454 -> 492 bytes graphics/pokemon/tangela/anim_front.png | Bin 1020 -> 1125 bytes graphics/pokemon/tangela/back.png | Bin 720 -> 711 bytes graphics/pokemon/tangela/icon.png | Bin 377 -> 416 bytes graphics/pokemon/tangrowth/anim_front.png | Bin 1445 -> 1467 bytes graphics/pokemon/tangrowth/back.png | Bin 745 -> 733 bytes graphics/pokemon/tangrowth/icon.png | Bin 391 -> 428 bytes graphics/pokemon/tapu_bulu/anim_front.png | Bin 1325 -> 1313 bytes graphics/pokemon/tapu_bulu/back.png | Bin 794 -> 782 bytes graphics/pokemon/tapu_bulu/icon.png | Bin 415 -> 447 bytes graphics/pokemon/tapu_fini/anim_front.png | Bin 1274 -> 1262 bytes graphics/pokemon/tapu_fini/back.png | Bin 763 -> 753 bytes graphics/pokemon/tapu_fini/icon.png | Bin 368 -> 405 bytes graphics/pokemon/tapu_koko/anim_front.png | Bin 1445 -> 1431 bytes graphics/pokemon/tapu_koko/back.png | Bin 918 -> 907 bytes graphics/pokemon/tapu_koko/icon.png | Bin 474 -> 508 bytes graphics/pokemon/tapu_lele/anim_front.png | Bin 1245 -> 1231 bytes graphics/pokemon/tapu_lele/back.png | Bin 781 -> 770 bytes graphics/pokemon/tapu_lele/icon.png | Bin 396 -> 430 bytes graphics/pokemon/tauros/anim_front.png | Bin 1489 -> 1536 bytes graphics/pokemon/tauros/back.png | Bin 589 -> 574 bytes graphics/pokemon/tauros/icon.png | Bin 414 -> 475 bytes graphics/pokemon/teddiursa/anim_front.png | Bin 816 -> 828 bytes graphics/pokemon/teddiursa/back.png | Bin 512 -> 497 bytes graphics/pokemon/teddiursa/icon.png | Bin 294 -> 331 bytes graphics/pokemon/tentacool/anim_front.png | Bin 862 -> 1134 bytes graphics/pokemon/tentacool/back.png | Bin 688 -> 673 bytes graphics/pokemon/tentacool/icon.png | Bin 360 -> 398 bytes graphics/pokemon/tentacruel/anim_front.png | Bin 1434 -> 1443 bytes graphics/pokemon/tentacruel/back.png | Bin 720 -> 709 bytes graphics/pokemon/tentacruel/icon.png | Bin 428 -> 469 bytes graphics/pokemon/tepig/anim_front.png | Bin 783 -> 787 bytes graphics/pokemon/tepig/back.png | Bin 603 -> 588 bytes graphics/pokemon/tepig/icon.png | Bin 334 -> 372 bytes graphics/pokemon/terrakion/anim_front.png | Bin 1494 -> 1536 bytes graphics/pokemon/terrakion/back.png | Bin 753 -> 744 bytes graphics/pokemon/terrakion/icon.png | Bin 424 -> 463 bytes graphics/pokemon/thievul/back.png | Bin 669 -> 665 bytes graphics/pokemon/thievul/front.png | Bin 828 -> 813 bytes graphics/pokemon/thievul/icon.png | Bin 427 -> 439 bytes graphics/pokemon/throh/anim_front.png | Bin 1198 -> 1233 bytes graphics/pokemon/throh/back.png | Bin 545 -> 532 bytes graphics/pokemon/throh/icon.png | Bin 429 -> 467 bytes graphics/pokemon/thundurus/anim_front.png | Bin 1515 -> 1537 bytes graphics/pokemon/thundurus/back.png | Bin 1147 -> 1135 bytes graphics/pokemon/thundurus/icon.png | Bin 526 -> 556 bytes .../pokemon/thundurus/therian/anim_front.png | Bin 1804 -> 1833 bytes graphics/pokemon/thundurus/therian/back.png | Bin 836 -> 826 bytes graphics/pokemon/thundurus/therian/icon.png | Bin 618 -> 563 bytes graphics/pokemon/thwackey/back.png | Bin 723 -> 710 bytes graphics/pokemon/thwackey/front.png | Bin 764 -> 753 bytes graphics/pokemon/thwackey/icon.png | Bin 504 -> 520 bytes graphics/pokemon/timburr/anim_front.png | Bin 943 -> 968 bytes graphics/pokemon/timburr/back.png | Bin 638 -> 621 bytes graphics/pokemon/timburr/icon.png | Bin 343 -> 379 bytes graphics/pokemon/tirtouga/anim_front.png | Bin 860 -> 895 bytes graphics/pokemon/tirtouga/back.png | Bin 508 -> 495 bytes graphics/pokemon/tirtouga/icon.png | Bin 344 -> 364 bytes graphics/pokemon/togedemaru/back.png | Bin 591 -> 579 bytes graphics/pokemon/togedemaru/front.png | Bin 534 -> 525 bytes graphics/pokemon/togedemaru/icon.png | Bin 320 -> 359 bytes graphics/pokemon/togekiss/anim_front.png | Bin 1055 -> 1085 bytes graphics/pokemon/togekiss/back.png | Bin 560 -> 546 bytes graphics/pokemon/togekiss/icon.png | Bin 362 -> 399 bytes graphics/pokemon/togepi/anim_front.png | Bin 683 -> 699 bytes graphics/pokemon/togepi/back.png | Bin 603 -> 593 bytes graphics/pokemon/togepi/icon.png | Bin 337 -> 374 bytes graphics/pokemon/togetic/anim_front.png | Bin 720 -> 791 bytes graphics/pokemon/togetic/back.png | Bin 545 -> 545 bytes graphics/pokemon/togetic/icon.png | Bin 294 -> 327 bytes graphics/pokemon/torchic/anim_front.png | Bin 694 -> 704 bytes graphics/pokemon/torchic/back.png | Bin 541 -> 533 bytes graphics/pokemon/torchic/icon.png | Bin 311 -> 348 bytes graphics/pokemon/torkoal/anim_front.png | Bin 1684 -> 1711 bytes graphics/pokemon/torkoal/back.png | Bin 600 -> 589 bytes graphics/pokemon/torkoal/icon.png | Bin 289 -> 329 bytes graphics/pokemon/tornadus/anim_front.png | Bin 1453 -> 1471 bytes graphics/pokemon/tornadus/back.png | Bin 993 -> 980 bytes graphics/pokemon/tornadus/icon.png | Bin 530 -> 565 bytes .../pokemon/tornadus/therian/anim_front.png | Bin 1715 -> 1745 bytes graphics/pokemon/tornadus/therian/back.png | Bin 739 -> 730 bytes graphics/pokemon/tornadus/therian/icon.png | Bin 479 -> 505 bytes graphics/pokemon/torracat/back.png | Bin 725 -> 713 bytes graphics/pokemon/torracat/front.png | Bin 844 -> 832 bytes graphics/pokemon/torracat/icon.png | Bin 370 -> 404 bytes graphics/pokemon/torterra/anim_front.png | Bin 1994 -> 2031 bytes graphics/pokemon/torterra/back.png | Bin 890 -> 879 bytes graphics/pokemon/torterra/icon.png | Bin 415 -> 446 bytes graphics/pokemon/totodile/anim_front.png | Bin 795 -> 799 bytes graphics/pokemon/totodile/back.png | Bin 698 -> 687 bytes graphics/pokemon/totodile/icon.png | Bin 316 -> 351 bytes graphics/pokemon/toucannon/back.png | Bin 629 -> 617 bytes graphics/pokemon/toucannon/front.png | Bin 747 -> 736 bytes graphics/pokemon/toucannon/icon.png | Bin 412 -> 449 bytes graphics/pokemon/toxapex/back.png | Bin 790 -> 781 bytes graphics/pokemon/toxapex/front.png | Bin 1020 -> 1010 bytes graphics/pokemon/toxapex/icon.png | Bin 446 -> 484 bytes graphics/pokemon/toxel/back.png | Bin 576 -> 568 bytes graphics/pokemon/toxel/front.png | Bin 631 -> 618 bytes graphics/pokemon/toxel/icon.png | Bin 378 -> 410 bytes graphics/pokemon/toxicroak/anim_front.png | Bin 1303 -> 1317 bytes graphics/pokemon/toxicroak/back.png | Bin 676 -> 663 bytes graphics/pokemon/toxicroak/icon.png | Bin 317 -> 356 bytes graphics/pokemon/toxtricity/back.png | Bin 876 -> 863 bytes graphics/pokemon/toxtricity/front.png | Bin 850 -> 833 bytes graphics/pokemon/toxtricity/icon.png | Bin 426 -> 443 bytes graphics/pokemon/toxtricity/low_key/back.png | Bin 866 -> 853 bytes graphics/pokemon/toxtricity/low_key/front.png | Bin 836 -> 825 bytes graphics/pokemon/toxtricity/low_key/icon.png | Bin 415 -> 430 bytes graphics/pokemon/tranquill/anim_front.png | Bin 938 -> 966 bytes graphics/pokemon/tranquill/back.png | Bin 511 -> 501 bytes graphics/pokemon/tranquill/icon.png | Bin 312 -> 351 bytes graphics/pokemon/trapinch/anim_front.png | Bin 573 -> 601 bytes graphics/pokemon/trapinch/back.png | Bin 513 -> 505 bytes graphics/pokemon/trapinch/icon.png | Bin 308 -> 344 bytes graphics/pokemon/treecko/anim_front.png | Bin 925 -> 931 bytes graphics/pokemon/treecko/back.png | Bin 622 -> 610 bytes graphics/pokemon/treecko/icon.png | Bin 360 -> 396 bytes graphics/pokemon/trevenant/anim_front.png | Bin 1282 -> 1310 bytes graphics/pokemon/trevenant/back.png | Bin 880 -> 872 bytes graphics/pokemon/trevenant/icon.png | Bin 410 -> 449 bytes graphics/pokemon/tropius/anim_front.png | Bin 1609 -> 1641 bytes graphics/pokemon/tropius/back.png | Bin 615 -> 601 bytes graphics/pokemon/tropius/icon.png | Bin 442 -> 466 bytes graphics/pokemon/trubbish/anim_front.png | Bin 849 -> 882 bytes graphics/pokemon/trubbish/back.png | Bin 477 -> 467 bytes graphics/pokemon/trubbish/icon.png | Bin 332 -> 353 bytes graphics/pokemon/trumbeak/back.png | Bin 620 -> 609 bytes graphics/pokemon/trumbeak/front.png | Bin 613 -> 602 bytes graphics/pokemon/trumbeak/icon.png | Bin 304 -> 339 bytes graphics/pokemon/tsareena/back.png | Bin 722 -> 765 bytes graphics/pokemon/tsareena/front.png | Bin 849 -> 891 bytes graphics/pokemon/tsareena/icon.png | Bin 379 -> 416 bytes graphics/pokemon/turtonator/back.png | Bin 842 -> 830 bytes graphics/pokemon/turtonator/front.png | Bin 1170 -> 1159 bytes graphics/pokemon/turtonator/icon.png | Bin 493 -> 533 bytes graphics/pokemon/turtwig/anim_front.png | Bin 892 -> 905 bytes graphics/pokemon/turtwig/back.png | Bin 638 -> 628 bytes graphics/pokemon/turtwig/icon.png | Bin 299 -> 339 bytes graphics/pokemon/tympole/anim_front.png | Bin 530 -> 560 bytes graphics/pokemon/tympole/back.png | Bin 435 -> 427 bytes graphics/pokemon/tympole/icon.png | Bin 244 -> 279 bytes graphics/pokemon/tynamo/anim_front.png | Bin 505 -> 526 bytes graphics/pokemon/tynamo/back.png | Bin 454 -> 445 bytes graphics/pokemon/tynamo/icon.png | Bin 275 -> 299 bytes graphics/pokemon/type_null/back.png | Bin 764 -> 752 bytes graphics/pokemon/type_null/front.png | Bin 1001 -> 990 bytes graphics/pokemon/type_null/icon.png | Bin 459 -> 496 bytes graphics/pokemon/typhlosion/anim_front.png | Bin 1365 -> 1428 bytes graphics/pokemon/typhlosion/back.png | Bin 817 -> 897 bytes graphics/pokemon/typhlosion/hisuian/back.png | Bin 888 -> 820 bytes graphics/pokemon/typhlosion/hisuian/front.png | Bin 995 -> 926 bytes graphics/pokemon/typhlosion/hisuian/icon.png | Bin 438 -> 447 bytes graphics/pokemon/typhlosion/icon.png | Bin 446 -> 469 bytes graphics/pokemon/tyranitar/anim_front.png | Bin 1563 -> 1583 bytes graphics/pokemon/tyranitar/back.png | Bin 739 -> 726 bytes graphics/pokemon/tyranitar/icon.png | Bin 431 -> 492 bytes graphics/pokemon/tyranitar/mega/back.png | Bin 834 -> 821 bytes graphics/pokemon/tyranitar/mega/front.png | Bin 1042 -> 1031 bytes graphics/pokemon/tyranitar/mega/icon.png | Bin 505 -> 543 bytes graphics/pokemon/tyrantrum/anim_front.png | Bin 1823 -> 1829 bytes graphics/pokemon/tyrantrum/back.png | Bin 625 -> 640 bytes graphics/pokemon/tyrantrum/icon.png | Bin 532 -> 568 bytes graphics/pokemon/tyrogue/anim_front.png | Bin 871 -> 875 bytes graphics/pokemon/tyrogue/back.png | Bin 597 -> 585 bytes graphics/pokemon/tyrogue/icon.png | Bin 307 -> 345 bytes graphics/pokemon/tyrunt/anim_front.png | Bin 998 -> 1012 bytes graphics/pokemon/tyrunt/back.png | Bin 647 -> 628 bytes graphics/pokemon/tyrunt/icon.png | Bin 351 -> 388 bytes graphics/pokemon/umbreon/anim_front.png | Bin 854 -> 868 bytes graphics/pokemon/umbreon/back.png | Bin 651 -> 640 bytes graphics/pokemon/umbreon/icon.png | Bin 345 -> 374 bytes graphics/pokemon/unfezant/anim_front.png | Bin 1398 -> 1418 bytes graphics/pokemon/unfezant/anim_frontf.png | Bin 1179 -> 1196 bytes graphics/pokemon/unfezant/back.png | Bin 1062 -> 995 bytes graphics/pokemon/unfezant/backf.png | Bin 725 -> 763 bytes graphics/pokemon/unfezant/frontf.png | Bin 689 -> 728 bytes graphics/pokemon/unfezant/icon.png | Bin 397 -> 403 bytes graphics/pokemon/unfezant/iconf.png | Bin 457 -> 390 bytes graphics/pokemon/unown/anim_front.png | Bin 345 -> 394 bytes graphics/pokemon/unown/b/anim_front.png | Bin 362 -> 405 bytes graphics/pokemon/unown/b/back.png | Bin 394 -> 430 bytes graphics/pokemon/unown/b/icon.png | Bin 256 -> 294 bytes graphics/pokemon/unown/back.png | Bin 376 -> 425 bytes graphics/pokemon/unown/c/anim_front.png | Bin 403 -> 459 bytes graphics/pokemon/unown/c/back.png | Bin 505 -> 526 bytes graphics/pokemon/unown/c/icon.png | Bin 276 -> 327 bytes graphics/pokemon/unown/d/anim_front.png | Bin 359 -> 404 bytes graphics/pokemon/unown/d/back.png | Bin 451 -> 474 bytes graphics/pokemon/unown/d/icon.png | Bin 257 -> 294 bytes graphics/pokemon/unown/e/anim_front.png | Bin 332 -> 381 bytes graphics/pokemon/unown/e/back.png | Bin 400 -> 424 bytes graphics/pokemon/unown/e/icon.png | Bin 249 -> 287 bytes .../unown/exclamation_mark/anim_front.png | Bin 301 -> 351 bytes .../pokemon/unown/exclamation_mark/back.png | Bin 312 -> 355 bytes .../pokemon/unown/exclamation_mark/icon.png | Bin 220 -> 268 bytes graphics/pokemon/unown/f/anim_front.png | Bin 372 -> 417 bytes graphics/pokemon/unown/f/back.png | Bin 417 -> 455 bytes graphics/pokemon/unown/f/icon.png | Bin 269 -> 305 bytes graphics/pokemon/unown/g/anim_front.png | Bin 369 -> 412 bytes graphics/pokemon/unown/g/back.png | Bin 431 -> 456 bytes graphics/pokemon/unown/g/icon.png | Bin 241 -> 277 bytes graphics/pokemon/unown/h/anim_front.png | Bin 433 -> 480 bytes graphics/pokemon/unown/h/back.png | Bin 534 -> 563 bytes graphics/pokemon/unown/h/icon.png | Bin 270 -> 312 bytes graphics/pokemon/unown/i/anim_front.png | Bin 311 -> 356 bytes graphics/pokemon/unown/i/back.png | Bin 328 -> 360 bytes graphics/pokemon/unown/i/icon.png | Bin 223 -> 269 bytes graphics/pokemon/unown/icon.png | Bin 245 -> 293 bytes graphics/pokemon/unown/j/anim_front.png | Bin 342 -> 387 bytes graphics/pokemon/unown/j/back.png | Bin 370 -> 414 bytes graphics/pokemon/unown/j/icon.png | Bin 244 -> 283 bytes graphics/pokemon/unown/k/anim_front.png | Bin 354 -> 385 bytes graphics/pokemon/unown/k/back.png | Bin 388 -> 420 bytes graphics/pokemon/unown/k/icon.png | Bin 244 -> 292 bytes graphics/pokemon/unown/l/anim_front.png | Bin 321 -> 363 bytes graphics/pokemon/unown/l/back.png | Bin 356 -> 399 bytes graphics/pokemon/unown/l/icon.png | Bin 243 -> 280 bytes graphics/pokemon/unown/m/anim_front.png | Bin 423 -> 463 bytes graphics/pokemon/unown/m/back.png | Bin 499 -> 533 bytes graphics/pokemon/unown/m/icon.png | Bin 268 -> 318 bytes graphics/pokemon/unown/n/anim_front.png | Bin 385 -> 428 bytes graphics/pokemon/unown/n/back.png | Bin 474 -> 511 bytes graphics/pokemon/unown/n/icon.png | Bin 259 -> 303 bytes graphics/pokemon/unown/o/anim_front.png | Bin 426 -> 473 bytes graphics/pokemon/unown/o/back.png | Bin 517 -> 539 bytes graphics/pokemon/unown/o/icon.png | Bin 260 -> 305 bytes graphics/pokemon/unown/p/anim_front.png | Bin 318 -> 368 bytes graphics/pokemon/unown/p/back.png | Bin 333 -> 375 bytes graphics/pokemon/unown/p/icon.png | Bin 227 -> 266 bytes graphics/pokemon/unown/q/anim_front.png | Bin 327 -> 371 bytes graphics/pokemon/unown/q/back.png | Bin 335 -> 368 bytes graphics/pokemon/unown/q/icon.png | Bin 238 -> 277 bytes .../unown/question_mark/anim_front.png | Bin 339 -> 388 bytes graphics/pokemon/unown/question_mark/back.png | Bin 382 -> 411 bytes graphics/pokemon/unown/question_mark/icon.png | Bin 245 -> 286 bytes graphics/pokemon/unown/r/anim_front.png | Bin 319 -> 364 bytes graphics/pokemon/unown/r/back.png | Bin 337 -> 373 bytes graphics/pokemon/unown/r/icon.png | Bin 232 -> 273 bytes graphics/pokemon/unown/s/anim_front.png | Bin 373 -> 410 bytes graphics/pokemon/unown/s/back.png | Bin 439 -> 473 bytes graphics/pokemon/unown/s/icon.png | Bin 259 -> 302 bytes graphics/pokemon/unown/t/anim_front.png | Bin 323 -> 368 bytes graphics/pokemon/unown/t/back.png | Bin 324 -> 360 bytes graphics/pokemon/unown/t/icon.png | Bin 241 -> 282 bytes graphics/pokemon/unown/u/anim_front.png | Bin 397 -> 450 bytes graphics/pokemon/unown/u/back.png | Bin 454 -> 503 bytes graphics/pokemon/unown/u/icon.png | Bin 250 -> 295 bytes graphics/pokemon/unown/v/anim_front.png | Bin 358 -> 406 bytes graphics/pokemon/unown/v/back.png | Bin 416 -> 447 bytes graphics/pokemon/unown/v/icon.png | Bin 255 -> 295 bytes graphics/pokemon/unown/w/anim_front.png | Bin 363 -> 405 bytes graphics/pokemon/unown/w/back.png | Bin 378 -> 422 bytes graphics/pokemon/unown/w/icon.png | Bin 261 -> 303 bytes graphics/pokemon/unown/x/anim_front.png | Bin 344 -> 395 bytes graphics/pokemon/unown/x/back.png | Bin 376 -> 421 bytes graphics/pokemon/unown/x/icon.png | Bin 255 -> 300 bytes graphics/pokemon/unown/y/anim_front.png | Bin 355 -> 406 bytes graphics/pokemon/unown/y/back.png | Bin 404 -> 438 bytes graphics/pokemon/unown/y/icon.png | Bin 251 -> 293 bytes graphics/pokemon/unown/z/anim_front.png | Bin 332 -> 367 bytes graphics/pokemon/unown/z/back.png | Bin 348 -> 368 bytes graphics/pokemon/unown/z/icon.png | Bin 244 -> 279 bytes graphics/pokemon/ursaluna/back.png | Bin 564 -> 603 bytes graphics/pokemon/ursaluna/front.png | Bin 996 -> 1032 bytes graphics/pokemon/ursaluna/icon.png | Bin 420 -> 439 bytes graphics/pokemon/ursaring/anim_front.png | Bin 1547 -> 1572 bytes graphics/pokemon/ursaring/back.png | Bin 609 -> 600 bytes graphics/pokemon/ursaring/icon.png | Bin 367 -> 404 bytes graphics/pokemon/urshifu/back.png | Bin 938 -> 925 bytes graphics/pokemon/urshifu/front.png | Bin 1035 -> 1025 bytes graphics/pokemon/urshifu/icon.png | Bin 401 -> 437 bytes .../urshifu/rapid_strike_style/back.png | Bin 887 -> 876 bytes .../urshifu/rapid_strike_style/front.png | Bin 983 -> 977 bytes graphics/pokemon/uxie/anim_front.png | Bin 1034 -> 1058 bytes graphics/pokemon/uxie/back.png | Bin 459 -> 500 bytes graphics/pokemon/uxie/icon.png | Bin 446 -> 477 bytes graphics/pokemon/vanillish/anim_front.png | Bin 941 -> 933 bytes graphics/pokemon/vanillish/back.png | Bin 674 -> 664 bytes graphics/pokemon/vanillish/icon.png | Bin 270 -> 310 bytes graphics/pokemon/vanillite/anim_front.png | Bin 746 -> 774 bytes graphics/pokemon/vanillite/back.png | Bin 538 -> 527 bytes graphics/pokemon/vanillite/icon.png | Bin 246 -> 284 bytes graphics/pokemon/vanilluxe/anim_front.png | Bin 1174 -> 1197 bytes graphics/pokemon/vanilluxe/back.png | Bin 921 -> 905 bytes graphics/pokemon/vanilluxe/icon.png | Bin 379 -> 407 bytes graphics/pokemon/vaporeon/anim_front.png | Bin 1160 -> 1190 bytes graphics/pokemon/vaporeon/back.png | Bin 705 -> 693 bytes graphics/pokemon/vaporeon/icon.png | Bin 440 -> 480 bytes graphics/pokemon/venipede/anim_front.png | Bin 786 -> 806 bytes graphics/pokemon/venipede/back.png | Bin 582 -> 572 bytes graphics/pokemon/venipede/icon.png | Bin 291 -> 326 bytes graphics/pokemon/venomoth/anim_front.png | Bin 1117 -> 1144 bytes graphics/pokemon/venomoth/back.png | Bin 805 -> 788 bytes graphics/pokemon/venomoth/icon.png | Bin 422 -> 456 bytes graphics/pokemon/venonat/anim_front.png | Bin 833 -> 1096 bytes graphics/pokemon/venonat/back.png | Bin 671 -> 655 bytes graphics/pokemon/venonat/icon.png | Bin 339 -> 378 bytes graphics/pokemon/venusaur/anim_front.png | Bin 1965 -> 2005 bytes graphics/pokemon/venusaur/back.png | Bin 947 -> 938 bytes graphics/pokemon/venusaur/icon.png | Bin 489 -> 519 bytes graphics/pokemon/venusaur/mega/back.png | Bin 1164 -> 1151 bytes graphics/pokemon/venusaur/mega/front.png | Bin 1438 -> 1428 bytes graphics/pokemon/venusaur/mega/icon.png | Bin 532 -> 569 bytes graphics/pokemon/vespiquen/anim_front.png | Bin 1309 -> 1341 bytes graphics/pokemon/vespiquen/back.png | Bin 952 -> 946 bytes graphics/pokemon/vespiquen/icon.png | Bin 374 -> 414 bytes graphics/pokemon/vibrava/anim_front.png | Bin 1009 -> 1063 bytes graphics/pokemon/vibrava/back.png | Bin 628 -> 617 bytes graphics/pokemon/vibrava/icon.png | Bin 309 -> 349 bytes graphics/pokemon/victini/anim_front.png | Bin 914 -> 939 bytes graphics/pokemon/victini/back.png | Bin 658 -> 645 bytes graphics/pokemon/victini/icon.png | Bin 358 -> 381 bytes graphics/pokemon/victreebel/anim_front.png | Bin 1336 -> 1420 bytes graphics/pokemon/victreebel/back.png | Bin 703 -> 743 bytes graphics/pokemon/victreebel/icon.png | Bin 414 -> 451 bytes graphics/pokemon/vigoroth/anim_front.png | Bin 1084 -> 1099 bytes graphics/pokemon/vigoroth/back.png | Bin 782 -> 761 bytes graphics/pokemon/vigoroth/icon.png | Bin 387 -> 419 bytes graphics/pokemon/vikavolt/back.png | Bin 822 -> 810 bytes graphics/pokemon/vikavolt/front.png | Bin 967 -> 957 bytes graphics/pokemon/vikavolt/icon.png | Bin 424 -> 461 bytes graphics/pokemon/vileplume/anim_front.png | Bin 872 -> 904 bytes graphics/pokemon/vileplume/back.png | Bin 847 -> 835 bytes graphics/pokemon/vileplume/icon.png | Bin 392 -> 433 bytes graphics/pokemon/virizion/anim_front.png | Bin 1249 -> 1245 bytes graphics/pokemon/virizion/back.png | Bin 635 -> 627 bytes graphics/pokemon/virizion/icon.png | Bin 359 -> 453 bytes graphics/pokemon/vivillon/anim_front.png | Bin 1543 -> 1583 bytes .../vivillon/archipelago/anim_front.png | Bin 1639 -> 1670 bytes .../pokemon/vivillon/archipelago/back.png | Bin 820 -> 855 bytes .../pokemon/vivillon/archipelago/icon.png | Bin 555 -> 491 bytes graphics/pokemon/vivillon/back.png | Bin 765 -> 801 bytes .../vivillon/continental/anim_front.png | Bin 1588 -> 1630 bytes .../pokemon/vivillon/continental/back.png | Bin 804 -> 842 bytes .../pokemon/vivillon/continental/icon.png | Bin 492 -> 497 bytes .../pokemon/vivillon/elegant/anim_front.png | Bin 1639 -> 1679 bytes graphics/pokemon/vivillon/elegant/back.png | Bin 819 -> 854 bytes graphics/pokemon/vivillon/elegant/icon.png | Bin 482 -> 494 bytes .../pokemon/vivillon/fancy/anim_front.png | Bin 1722 -> 1757 bytes graphics/pokemon/vivillon/fancy/back.png | Bin 917 -> 950 bytes graphics/pokemon/vivillon/fancy/icon.png | Bin 508 -> 518 bytes .../pokemon/vivillon/garden/anim_front.png | Bin 1605 -> 1645 bytes graphics/pokemon/vivillon/garden/back.png | Bin 801 -> 841 bytes graphics/pokemon/vivillon/garden/icon.png | Bin 482 -> 488 bytes .../vivillon/high_plains/anim_front.png | Bin 1564 -> 1603 bytes .../pokemon/vivillon/high_plains/back.png | Bin 751 -> 788 bytes .../pokemon/vivillon/high_plains/icon.png | Bin 539 -> 475 bytes graphics/pokemon/vivillon/icon.png | Bin 532 -> 467 bytes .../pokemon/vivillon/jungle/anim_front.png | Bin 1486 -> 1521 bytes graphics/pokemon/vivillon/jungle/back.png | Bin 750 -> 791 bytes graphics/pokemon/vivillon/jungle/icon.png | Bin 470 -> 474 bytes .../pokemon/vivillon/marine/anim_front.png | Bin 1569 -> 1595 bytes graphics/pokemon/vivillon/marine/back.png | Bin 802 -> 839 bytes graphics/pokemon/vivillon/marine/icon.png | Bin 494 -> 493 bytes .../pokemon/vivillon/meadow/anim_front.png | Bin 1612 -> 1639 bytes graphics/pokemon/vivillon/meadow/back.png | Bin 858 -> 893 bytes graphics/pokemon/vivillon/meadow/icon.png | Bin 445 -> 484 bytes .../pokemon/vivillon/modern/anim_front.png | Bin 1672 -> 1699 bytes graphics/pokemon/vivillon/modern/back.png | Bin 835 -> 874 bytes graphics/pokemon/vivillon/modern/icon.png | Bin 492 -> 499 bytes .../pokemon/vivillon/monsoon/anim_front.png | Bin 1454 -> 1488 bytes graphics/pokemon/vivillon/monsoon/back.png | Bin 699 -> 734 bytes graphics/pokemon/vivillon/monsoon/icon.png | Bin 493 -> 481 bytes .../pokemon/vivillon/ocean/anim_front.png | Bin 1667 -> 1691 bytes graphics/pokemon/vivillon/ocean/back.png | Bin 873 -> 910 bytes graphics/pokemon/vivillon/ocean/icon.png | Bin 510 -> 517 bytes .../pokemon/vivillon/poke_ball/anim_front.png | Bin 1632 -> 1666 bytes graphics/pokemon/vivillon/poke_ball/back.png | Bin 847 -> 879 bytes graphics/pokemon/vivillon/poke_ball/icon.png | Bin 496 -> 496 bytes .../pokemon/vivillon/polar/anim_front.png | Bin 1571 -> 1611 bytes graphics/pokemon/vivillon/polar/back.png | Bin 793 -> 830 bytes graphics/pokemon/vivillon/polar/icon.png | Bin 493 -> 505 bytes .../pokemon/vivillon/river/anim_front.png | Bin 1507 -> 1541 bytes graphics/pokemon/vivillon/river/back.png | Bin 718 -> 754 bytes graphics/pokemon/vivillon/river/icon.png | Bin 483 -> 483 bytes .../pokemon/vivillon/sandstorm/anim_front.png | Bin 1540 -> 1575 bytes graphics/pokemon/vivillon/sandstorm/back.png | Bin 728 -> 766 bytes graphics/pokemon/vivillon/sandstorm/icon.png | Bin 478 -> 483 bytes .../pokemon/vivillon/savanna/anim_front.png | Bin 1630 -> 1667 bytes graphics/pokemon/vivillon/savanna/back.png | Bin 826 -> 863 bytes graphics/pokemon/vivillon/savanna/icon.png | Bin 486 -> 499 bytes graphics/pokemon/vivillon/sun/anim_front.png | Bin 1631 -> 1671 bytes graphics/pokemon/vivillon/sun/back.png | Bin 846 -> 884 bytes graphics/pokemon/vivillon/sun/icon.png | Bin 484 -> 493 bytes .../pokemon/vivillon/tundra/anim_front.png | Bin 1519 -> 1558 bytes graphics/pokemon/vivillon/tundra/back.png | Bin 746 -> 782 bytes graphics/pokemon/vivillon/tundra/icon.png | Bin 491 -> 503 bytes graphics/pokemon/volbeat/anim_front.png | Bin 1255 -> 1288 bytes graphics/pokemon/volbeat/back.png | Bin 758 -> 747 bytes graphics/pokemon/volbeat/icon.png | Bin 318 -> 352 bytes graphics/pokemon/volcanion/anim_front.png | Bin 1800 -> 1797 bytes graphics/pokemon/volcanion/back.png | Bin 767 -> 804 bytes graphics/pokemon/volcanion/icon.png | Bin 456 -> 496 bytes graphics/pokemon/volcarona/anim_front.png | Bin 1528 -> 1547 bytes graphics/pokemon/volcarona/back.png | Bin 926 -> 914 bytes graphics/pokemon/volcarona/icon.png | Bin 471 -> 500 bytes graphics/pokemon/voltorb/anim_front.png | Bin 597 -> 624 bytes graphics/pokemon/voltorb/back.png | Bin 454 -> 445 bytes graphics/pokemon/voltorb/hisuian/back.png | Bin 443 -> 484 bytes graphics/pokemon/voltorb/hisuian/front.png | Bin 436 -> 472 bytes graphics/pokemon/voltorb/hisuian/icon.png | Bin 254 -> 269 bytes graphics/pokemon/voltorb/icon.png | Bin 244 -> 267 bytes graphics/pokemon/vullaby/anim_front.png | Bin 1099 -> 1123 bytes graphics/pokemon/vullaby/back.png | Bin 497 -> 482 bytes graphics/pokemon/vullaby/icon.png | Bin 340 -> 378 bytes graphics/pokemon/vulpix/alolan/back.png | Bin 646 -> 629 bytes graphics/pokemon/vulpix/alolan/front.png | Bin 673 -> 664 bytes graphics/pokemon/vulpix/alolan/icon.png | Bin 487 -> 416 bytes graphics/pokemon/vulpix/anim_front.png | Bin 967 -> 978 bytes graphics/pokemon/vulpix/back.png | Bin 684 -> 672 bytes graphics/pokemon/vulpix/icon.png | Bin 349 -> 384 bytes graphics/pokemon/wailmer/anim_front.png | Bin 838 -> 876 bytes graphics/pokemon/wailmer/back.png | Bin 477 -> 466 bytes graphics/pokemon/wailmer/icon.png | Bin 347 -> 386 bytes graphics/pokemon/wailord/anim_front.png | Bin 1121 -> 1124 bytes graphics/pokemon/wailord/back.png | Bin 342 -> 332 bytes graphics/pokemon/wailord/icon.png | Bin 360 -> 402 bytes graphics/pokemon/walrein/anim_front.png | Bin 1641 -> 1677 bytes graphics/pokemon/walrein/back.png | Bin 828 -> 817 bytes graphics/pokemon/walrein/icon.png | Bin 490 -> 529 bytes graphics/pokemon/wartortle/anim_front.png | Bin 1114 -> 1138 bytes graphics/pokemon/wartortle/back.png | Bin 742 -> 776 bytes graphics/pokemon/wartortle/icon.png | Bin 379 -> 417 bytes graphics/pokemon/watchog/anim_front.png | Bin 1030 -> 1044 bytes graphics/pokemon/watchog/back.png | Bin 739 -> 727 bytes graphics/pokemon/watchog/icon.png | Bin 414 -> 474 bytes graphics/pokemon/weavile/anim_front.png | Bin 1349 -> 1371 bytes graphics/pokemon/weavile/back.png | Bin 843 -> 830 bytes graphics/pokemon/weavile/icon.png | Bin 364 -> 401 bytes graphics/pokemon/weedle/anim_front.png | Bin 662 -> 676 bytes graphics/pokemon/weedle/back.png | Bin 599 -> 583 bytes graphics/pokemon/weedle/icon.png | Bin 279 -> 311 bytes graphics/pokemon/weepinbell/anim_front.png | Bin 922 -> 998 bytes graphics/pokemon/weepinbell/back.png | Bin 572 -> 594 bytes graphics/pokemon/weepinbell/icon.png | Bin 366 -> 398 bytes graphics/pokemon/weezing/anim_front.png | Bin 1776 -> 1809 bytes graphics/pokemon/weezing/back.png | Bin 741 -> 730 bytes graphics/pokemon/weezing/galarian/back.png | Bin 865 -> 855 bytes graphics/pokemon/weezing/galarian/front.png | Bin 1275 -> 1266 bytes graphics/pokemon/weezing/galarian/icon.png | Bin 529 -> 542 bytes graphics/pokemon/weezing/icon.png | Bin 503 -> 528 bytes graphics/pokemon/whimsicott/anim_front.png | Bin 1238 -> 1287 bytes graphics/pokemon/whimsicott/back.png | Bin 535 -> 519 bytes graphics/pokemon/whimsicott/icon.png | Bin 405 -> 442 bytes graphics/pokemon/whirlipede/anim_front.png | Bin 1174 -> 1204 bytes graphics/pokemon/whirlipede/back.png | Bin 723 -> 713 bytes graphics/pokemon/whirlipede/icon.png | Bin 381 -> 421 bytes graphics/pokemon/whiscash/anim_front.png | Bin 1240 -> 1275 bytes graphics/pokemon/whiscash/back.png | Bin 609 -> 663 bytes graphics/pokemon/whiscash/icon.png | Bin 363 -> 399 bytes graphics/pokemon/whismur/anim_front.png | Bin 743 -> 769 bytes graphics/pokemon/whismur/back.png | Bin 499 -> 482 bytes graphics/pokemon/whismur/icon.png | Bin 305 -> 345 bytes graphics/pokemon/wigglytuff/anim_front.png | Bin 951 -> 974 bytes graphics/pokemon/wigglytuff/back.png | Bin 616 -> 605 bytes graphics/pokemon/wigglytuff/icon.png | Bin 338 -> 376 bytes graphics/pokemon/wimpod/back.png | Bin 570 -> 560 bytes graphics/pokemon/wimpod/front.png | Bin 527 -> 515 bytes graphics/pokemon/wimpod/icon.png | Bin 354 -> 392 bytes graphics/pokemon/wingull/anim_front.png | Bin 724 -> 755 bytes graphics/pokemon/wingull/back.png | Bin 561 -> 581 bytes graphics/pokemon/wingull/icon.png | Bin 341 -> 373 bytes graphics/pokemon/wishiwashi/back.png | Bin 558 -> 549 bytes graphics/pokemon/wishiwashi/front.png | Bin 437 -> 428 bytes graphics/pokemon/wishiwashi/icon.png | Bin 320 -> 356 bytes graphics/pokemon/wishiwashi/school/back.png | Bin 966 -> 952 bytes graphics/pokemon/wishiwashi/school/front.png | Bin 1043 -> 1026 bytes graphics/pokemon/wishiwashi/school/icon.png | Bin 580 -> 445 bytes graphics/pokemon/wobbuffet/anim_front.png | Bin 1080 -> 1105 bytes graphics/pokemon/wobbuffet/back.png | Bin 457 -> 445 bytes graphics/pokemon/wobbuffet/icon.png | Bin 322 -> 362 bytes graphics/pokemon/woobat/anim_front.png | Bin 780 -> 817 bytes graphics/pokemon/woobat/back.png | Bin 545 -> 535 bytes graphics/pokemon/woobat/icon.png | Bin 333 -> 352 bytes graphics/pokemon/wooloo/back.png | Bin 473 -> 462 bytes graphics/pokemon/wooloo/front.png | Bin 611 -> 598 bytes graphics/pokemon/wooloo/icon.png | Bin 321 -> 338 bytes graphics/pokemon/wooper/anim_front.png | Bin 790 -> 823 bytes graphics/pokemon/wooper/back.png | Bin 533 -> 574 bytes graphics/pokemon/wooper/icon.png | Bin 275 -> 310 bytes graphics/pokemon/wormadam/anim_front.png | Bin 877 -> 924 bytes graphics/pokemon/wormadam/back.png | Bin 647 -> 635 bytes graphics/pokemon/wormadam/icon.png | Bin 374 -> 460 bytes .../wormadam/sandy_cloak/anim_front.png | Bin 945 -> 1033 bytes .../pokemon/wormadam/sandy_cloak/back.png | Bin 660 -> 647 bytes .../pokemon/wormadam/sandy_cloak/icon.png | Bin 385 -> 466 bytes .../wormadam/trash_cloak/anim_front.png | Bin 883 -> 924 bytes .../pokemon/wormadam/trash_cloak/back.png | Bin 620 -> 604 bytes .../pokemon/wormadam/trash_cloak/icon.png | Bin 370 -> 440 bytes graphics/pokemon/wurmple/anim_front.png | Bin 921 -> 918 bytes graphics/pokemon/wurmple/back.png | Bin 641 -> 627 bytes graphics/pokemon/wurmple/icon.png | Bin 337 -> 366 bytes graphics/pokemon/wynaut/anim_front.png | Bin 834 -> 858 bytes graphics/pokemon/wynaut/back.png | Bin 475 -> 460 bytes graphics/pokemon/wynaut/icon.png | Bin 353 -> 432 bytes graphics/pokemon/wyrdeer/back.png | Bin 854 -> 785 bytes graphics/pokemon/wyrdeer/front.png | Bin 1094 -> 1030 bytes graphics/pokemon/wyrdeer/icon.png | Bin 395 -> 413 bytes graphics/pokemon/xatu/anim_front.png | Bin 1042 -> 1094 bytes graphics/pokemon/xatu/back.png | Bin 683 -> 672 bytes graphics/pokemon/xatu/icon.png | Bin 335 -> 370 bytes .../pokemon/xerneas/active/anim_front.png | Bin 1665 -> 1673 bytes graphics/pokemon/xerneas/active/back.png | Bin 857 -> 900 bytes graphics/pokemon/xerneas/active/icon.png | Bin 551 -> 590 bytes graphics/pokemon/xerneas/back.png | Bin 740 -> 771 bytes graphics/pokemon/xerneas/front.png | Bin 799 -> 846 bytes graphics/pokemon/xerneas/icon.png | Bin 435 -> 531 bytes graphics/pokemon/xurkitree/back.png | Bin 703 -> 690 bytes graphics/pokemon/xurkitree/front.png | Bin 1139 -> 1131 bytes graphics/pokemon/xurkitree/icon.png | Bin 386 -> 422 bytes graphics/pokemon/yamask/anim_front.png | Bin 584 -> 617 bytes graphics/pokemon/yamask/back.png | Bin 388 -> 376 bytes graphics/pokemon/yamask/galarian/back.png | Bin 388 -> 372 bytes graphics/pokemon/yamask/galarian/front.png | Bin 487 -> 478 bytes graphics/pokemon/yamask/galarian/icon.png | Bin 306 -> 324 bytes graphics/pokemon/yamask/icon.png | Bin 289 -> 327 bytes graphics/pokemon/yamper/back.png | Bin 518 -> 509 bytes graphics/pokemon/yamper/front.png | Bin 636 -> 625 bytes graphics/pokemon/yamper/icon.png | Bin 392 -> 404 bytes graphics/pokemon/yanma/anim_front.png | Bin 917 -> 950 bytes graphics/pokemon/yanma/back.png | Bin 881 -> 874 bytes graphics/pokemon/yanma/icon.png | Bin 391 -> 429 bytes graphics/pokemon/yanmega/anim_front.png | Bin 1103 -> 1239 bytes graphics/pokemon/yanmega/back.png | Bin 704 -> 693 bytes graphics/pokemon/yanmega/icon.png | Bin 478 -> 514 bytes graphics/pokemon/yungoos/back.png | Bin 446 -> 437 bytes graphics/pokemon/yungoos/front.png | Bin 572 -> 560 bytes graphics/pokemon/yungoos/icon.png | Bin 308 -> 344 bytes graphics/pokemon/yveltal/anim_front.png | Bin 1894 -> 1893 bytes graphics/pokemon/yveltal/back.png | Bin 660 -> 646 bytes graphics/pokemon/yveltal/icon.png | Bin 461 -> 500 bytes graphics/pokemon/zacian/back.png | Bin 686 -> 674 bytes .../pokemon/zacian/crowned_sword/back.png | Bin 876 -> 863 bytes .../pokemon/zacian/crowned_sword/front.png | Bin 1268 -> 1258 bytes .../pokemon/zacian/crowned_sword/icon.png | Bin 510 -> 528 bytes graphics/pokemon/zacian/front.png | Bin 977 -> 966 bytes graphics/pokemon/zacian/icon.png | Bin 423 -> 437 bytes graphics/pokemon/zamazenta/back.png | Bin 797 -> 787 bytes .../pokemon/zamazenta/crowned_shield/back.png | Bin 906 -> 894 bytes .../zamazenta/crowned_shield/front.png | Bin 1225 -> 1215 bytes .../pokemon/zamazenta/crowned_shield/icon.png | Bin 511 -> 527 bytes graphics/pokemon/zamazenta/front.png | Bin 1020 -> 1012 bytes graphics/pokemon/zamazenta/icon.png | Bin 401 -> 420 bytes graphics/pokemon/zangoose/anim_front.png | Bin 1241 -> 1254 bytes graphics/pokemon/zangoose/back.png | Bin 693 -> 677 bytes graphics/pokemon/zangoose/icon.png | Bin 412 -> 467 bytes graphics/pokemon/zapdos/anim_front.png | Bin 1504 -> 1506 bytes graphics/pokemon/zapdos/back.png | Bin 497 -> 519 bytes graphics/pokemon/zapdos/galarian/back.png | Bin 589 -> 579 bytes graphics/pokemon/zapdos/galarian/front.png | Bin 943 -> 933 bytes graphics/pokemon/zapdos/galarian/icon.png | Bin 442 -> 454 bytes graphics/pokemon/zapdos/icon.png | Bin 391 -> 430 bytes graphics/pokemon/zarude/back.png | Bin 797 -> 780 bytes graphics/pokemon/zarude/dada/back.png | Bin 879 -> 863 bytes graphics/pokemon/zarude/dada/front.png | Bin 1071 -> 1061 bytes graphics/pokemon/zarude/dada/icon.png | Bin 508 -> 542 bytes graphics/pokemon/zarude/front.png | Bin 1019 -> 1009 bytes graphics/pokemon/zarude/icon.png | Bin 502 -> 536 bytes graphics/pokemon/zebstrika/anim_front.png | Bin 1477 -> 1511 bytes graphics/pokemon/zebstrika/back.png | Bin 771 -> 757 bytes graphics/pokemon/zebstrika/icon.png | Bin 378 -> 412 bytes graphics/pokemon/zekrom/anim_front.png | Bin 1886 -> 1915 bytes graphics/pokemon/zekrom/back.png | Bin 753 -> 681 bytes graphics/pokemon/zekrom/icon.png | Bin 506 -> 513 bytes graphics/pokemon/zeraora/back.png | Bin 758 -> 745 bytes graphics/pokemon/zeraora/front.png | Bin 1016 -> 1008 bytes graphics/pokemon/zeraora/icon.png | Bin 389 -> 426 bytes graphics/pokemon/zigzagoon/anim_front.png | Bin 986 -> 989 bytes graphics/pokemon/zigzagoon/back.png | Bin 679 -> 667 bytes graphics/pokemon/zigzagoon/galarian/back.png | Bin 687 -> 673 bytes graphics/pokemon/zigzagoon/galarian/front.png | Bin 697 -> 690 bytes graphics/pokemon/zigzagoon/galarian/icon.png | Bin 380 -> 398 bytes graphics/pokemon/zigzagoon/icon.png | Bin 367 -> 402 bytes graphics/pokemon/zoroark/anim_front.png | Bin 1414 -> 1446 bytes graphics/pokemon/zoroark/back.png | Bin 725 -> 712 bytes graphics/pokemon/zoroark/hisuian/back.png | Bin 1185 -> 1225 bytes graphics/pokemon/zoroark/hisuian/front.png | Bin 1099 -> 1136 bytes graphics/pokemon/zoroark/hisuian/icon.png | Bin 634 -> 654 bytes graphics/pokemon/zoroark/icon.png | Bin 433 -> 498 bytes graphics/pokemon/zorua/anim_front.png | Bin 753 -> 775 bytes graphics/pokemon/zorua/back.png | Bin 596 -> 588 bytes graphics/pokemon/zorua/hisuian/back.png | Bin 772 -> 808 bytes graphics/pokemon/zorua/hisuian/front.png | Bin 750 -> 781 bytes graphics/pokemon/zorua/hisuian/icon.png | Bin 431 -> 447 bytes graphics/pokemon/zorua/icon.png | Bin 336 -> 371 bytes graphics/pokemon/zubat/anim_front.png | Bin 937 -> 964 bytes graphics/pokemon/zubat/back.png | Bin 620 -> 607 bytes graphics/pokemon/zubat/icon.png | Bin 318 -> 357 bytes graphics/pokemon/zweilous/anim_front.png | Bin 1115 -> 1129 bytes graphics/pokemon/zweilous/back.png | Bin 691 -> 680 bytes graphics/pokemon/zweilous/icon.png | Bin 423 -> 457 bytes .../pokemon/zygarde/10_percent/anim_front.png | Bin 1270 -> 1281 bytes graphics/pokemon/zygarde/10_percent/back.png | Bin 631 -> 620 bytes graphics/pokemon/zygarde/10_percent/icon.png | Bin 381 -> 382 bytes graphics/pokemon/zygarde/anim_front.png | Bin 1630 -> 1644 bytes graphics/pokemon/zygarde/back.png | Bin 788 -> 776 bytes .../pokemon/zygarde/complete/anim_front.png | Bin 2019 -> 2027 bytes graphics/pokemon/zygarde/complete/back.png | Bin 698 -> 691 bytes graphics/pokemon/zygarde/complete/icon.png | Bin 537 -> 528 bytes graphics/pokemon/zygarde/icon.png | Bin 518 -> 556 bytes 3544 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/abomasnow/anim_front.png b/graphics/pokemon/abomasnow/anim_front.png index 3ba7033b87f82aa8694e3ced1a0c67a817887a68..e998b9a61d68981dd6a9c58f90c32231e23a0fa7 100644 GIT binary patch delta 1648 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 Ua;&hNn*aa+07*qoM6N<$f}q$1(*OVf diff --git a/graphics/pokemon/abomasnow/back.png b/graphics/pokemon/abomasnow/back.png index 589cf397fda422f34f03c26910a83bfc585c0fb6..1cde0f9696e1fc91bf2511d9c0ab6bd485fe0a20 100644 GIT binary patch delta 687 zcmV;g0#N8USSN+;0E?0+vZcK~zY`&6K}x+b|Hu zwPY&?k)^Q@A`K6YWE>Y_|Ns{X8P+bPu}+N zp*-P}>YtLyG6r^e0Ehz0?J@-(G5Z-XaDWH^IRgd(BbUI#4Y(LT8Gs7n5FPO8j0NCu zSnh8M4p3hv1(5j?KvMuw4tWT;CsD{6KZ<+;R9r`YPG7~L+vLsxiewcM*M@==j=jeK z!_OOVOVKs+WGzv^yoz-*nV0q&RqVj-{`TXt@$rvmf4Om0F`%FBp}?w+EdBmGUBDG& z1*AXR)`#cLqFe#i(vE&|oLm7}`blTiU?oN5!L-(oh5&E12GUHY9&lC&L>@X#9WYoS zaJa;OK!%l8gVh-omj5{g0xqPt0wKf#u-sZ|RW(?_QM`-5gT0J(9;`6L`!NI_U&k@f z&I&#FaUVwX64;5t`l*nmTmY$)_=$EsrUAX|1k`+< zsvZSEEj!^Pj$)U4pq-MBoj~A54RtZubq+pu0?%(<$Ejbe>!FGc> zf`C2%dg!mTO{t_0!L}4)Tn2griX*7tgaAFaT{i<2uLv;EL1oTTN}364x08dqDYR1^ ziqz(GI_)TBU(cmf*cAlu-dzjlvwQ8>Ehv$)Ju29itMRFc0Bn6@aX_s3;=TO$>o4(B VTlb9R$u$4~002ovPDHLkV1o9;L!AHs delta 700 zcmV;t0z>_?2EqoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tQ0-H%hK~zY` z&6Kfj+b|G@xn!#bk((lap+S6?-jO0DQANk19E?Ex`2RoeE@c1l`f~Z(?gL}|`}%Ve z{(8&V+de*&Gagibm5D54V3*GTQ9!v}robcpegb+pKm>rCfF6NfE`f&|aN$4o02Ra` zI^f}q0pM_0?r#bXP+x)q$b1Q)DS#-)JOtcX6tc#TA`gIyA}~&WU&W!@D8u*9q=-Bct@UG1fU{ZyX{J*LSSth~ z51pnK7_AUETw)-9!%C~s>Wm7@|C|B=8`4>U5MlusZVa`m8m-_c-o?x#dGU1~tuVy< zaSlAb`Z3Vf3O)F7Kac1nuoH!GQz1*a08%UQ`8xIU@N-rx)HNibU#6bR;Wz_y=IZ!3 zlbDTNVzP{~VWDRdv#}d=YDT~{JsLaHv{;_bc0#*L*7i4l_xl#;T_j4Jg>xx(cLG}S@a2W# zia!Vplu{Ib1YjisFu-u7ZAv9wh-6D4{OV!oL2(2XoDiVrw(BsZci$CZlya!2QY!2U0(kGPh4Yz8$CBHuM9K`PU|O#HQxgH$`o`dZ im|*&c_wrva#(o3wQ(O0ohOLJH0000&&c&BOI~Yq; zole~X{BSfinsDycseNONIVJ!N%CJ3zmuQG6Kx`AZSr1ir_q8(l;;X@{|G0iL7%74g zBfbbG_!JC%1xh1XFq{Vi&qXj(3}#U#S%cYsD+0G*FznCkHT@FIW2_F1*&eD0<~~H` jK7tf|fGYY>KkMTYcA$ZTRM=KE00000NkvXXu0mjf76^@c delta 307 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 M07*qoM6N<$g3t&{&Hw-a diff --git a/graphics/pokemon/abomasnow/mega/icon.png b/graphics/pokemon/abomasnow/mega/icon.png index 7f4af9567321e1620fcd145cd9baf84fe71dfc5b..5fea57a2e240040e0c099758fbd7c163da119409 100644 GIT binary patch delta 300 zcmV+{0n`4W1IGi9UpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!cV}KZT z0003hNklG%x&V4#Ndb*+`3SZh;PT!Zd~DxUPcVZI)~HUOp_A+>Q#`{4|rcsjiAI}sylclkpD1QbiD7f(Ip`SLfQdOj?Fr>7MlkGwyve yBfb@e?g*3J3iIVheJjl5$0W?`$1KcG{rCX!`qt@II!sLf0000N3aKG*I=Xt+X(5ykS z`T`-@m2sf;{m&H;S^)lLlR-lulml&*Y7>-?skqn{QmNz|sd}*KFvwD(Zjn;k(j{1; zHY2Po7?OyqliZ@(XSSujMjTPeIwcFl6_M{o<~H$2VsOL@Ze1uy#JA&VH~!&{UPcVZ zI)~HUOp`kSCugSN^?8w={cr|QJRRQmorn>&yZoU60*a;7i%}1GzI+X+o)62{>1hSX zBkxb^UkL+ugo)R}h;N0VJHlkQ!hHEr-wHGNF$pvKF$*(I{HK0=0P*_P={oXvSO5S3 M07*qoM6N<$f*4nRS^xk5 diff --git a/graphics/pokemon/abra/anim_front.png b/graphics/pokemon/abra/anim_front.png index fbbf2d583603a232d5a0d0f0073f701192a23526..f7ba7165e20019944122f0c842d40aa8d4118c1d 100644 GIT binary patch delta 879 zcmV-#1CadP2DAr|7zqRe0000m_!(WQbJ7 z8%EERIVnm;YN5(orACp{3CAYxWzJCZEBgQ^!7-06Ri#Qk$sWw-yZ7!L_dZ40j{kpq z7&`xK*Dw?V-m!md0*GA~&Z+_P&;S~37;*qa82}>qRt*%70j`3hYCsjm1Xt%w1}YW+ zUT`^@E1<;zqZ~jSa6qv{8!={LfPH%2!y2GRK!WJ8fS5tg6)3qFcEAK1JcBJ|!_0CR z&yQF_9R{Dr^5-Q-yu7|WzmW3R z%I3Kk-}iqk(Py(*d<5t>D|Wi^Wwk_b3U+5l%IC;F zrIYg%fi*y!0yro`69k>iY>E$)xI`e%gzH2nRwR7aun53z3847V%5n>FFG?J+Er~dp zT$g|dBczvm>L=2m80=UkZ=eJyH*G)L8a39kH>XV*Xl5x&O2pG2GNMD*c5Ov<*MU`m zROnEAz9ayk9HeMH?0M5q2CjduXYXmbVvn^kd$D%o>U2**^{G%P7L9-z_%VBIG@Cv$ zuDK`UZL8Rh?fCmc<(roB!Z38zgd^^cDs|R@1qTcOVbaJceZZG~M81sI*tP_mPAF2eS><{moC^u#( z`vVC^f~}bKhfFZ29FETUgEz|j!3A5d_6H1ef1twKN~J%LVC4P)<+fS!hv>l{)&!&E z4^s-U@CUbht!({ef;75!d;H20|*e{vf5Y^@o2vegmULA%^nV!Gr(+002ovPDHLk FV1l@Ajne=C delta 791 zcmV+y1L*v;2i*pc7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0^3PMK~!jg?U>t= z;~)$~EkFi&|NnotC2(TLkVKx^t$9FIGr5$zErfvhEX#};GyZQ7(H&VJG9^)rF}d$Y zA!=|S#>?t5h%wt;EdunsdJSUc_zdWaL%*EFh_d<;&=gMhFU|yDz$XLdReS~u#j^o< z4f0vf9GnKnAp~=O@TGtegk3Lu&mhW4pZx|bRc}QQ_bi}_HWT>A`OZ?z^q7Gxl6-yG zlE4C3SCxyD;2p4=I1B-kSX(KO&E*Gw6J0#dOR%GaXa@9L5cJ*y zSJFY>)>5`{a9dLRwy7z%p$cjL>W;v*qj77K+xxCX*7ZWQR(3U!NyzSxgQccWlj=C= zlEcOLtM7@Bfqsl}uR=UHbSgnwG~0LVYSv_=9Zp>L$43r-O6k>7E!awjt2CR0O5lLO zSB!D1V=ZHUEPVs3JTvh=VOf(3S#@N!<622=@4kc9fU`{%)v16&g!WSwM+2IPso<#V zryxOl_R%bQmdJiI=m~AruSFV+L8tvPJ9S$N+#Kw;!r0)vXy|dOSZ3AWt^VZ%)aDLW zJB$F0w(AE5%XO*Xa{W@o4BBs{=-C_g#+Pa!Cim}uEvlrJ@5yG&m@#9TnN0?EK(c05ReR6+nD` zP#E!p1|UA;g8@Hi07AaN2VH)^1|S+gFu%UVh#yn{vGaqLQa}4HKd1oW$q(8B?KyP$ z0blrb!Pue44}==QIr0N+@`Gph3qQyeKpgl1@BCo!?0n$|9Kwko*r>(^7k*$*>}_Xm z`~ZGq{_x5Va2E9V!LW+o@dG>R$NG=_;4MD*%n$td;DsOD#|Jw8VCA`Nz4EM0mVr~K~zY`?UXT30x=ZF zd&GpWf#i0*3j?Dx#IQM>!x0vaypWDgt{Q`e-QnVNA`N-W4qQKq;Y0b_1CE0t(ZM+Q z5_+WnUteEeUms)t_S;szI|9@%bE0MgT;4ikCC_6tKw<^>y*J?Pe`eX|c7VhO&Ust% zwiS>A4qRJ{gB5VJ301hWEzHjohoV;fNE8{Jr9O@s?y15U0Vis1;bwS#>Rc?77y zw*c`Ipb&#Cl}OV#TLEYRf?$kfBjaE{$df>&h#3*$m7aPk=)I-NbPU5qoYGY3cDsyw z%MXQ96>35);+S0cf1Ssh+yUw7R4Gl&m5SqM#?DXqMGm|um3EaO^ccrgk8^)3R9a>f zBFwm$Q0YbaVI85=JOkd%H`VnCes%Mz_m`yu(({oqOiYZ)vPU5f_T*uI2|O8-_lzZY%(8kY zWoso>T4og@>^L1#=_Tc6J!QpT`*}(vxKhJ^^SV#E5}WrwtY;uhdt8Qjxs`+Uv8xHt0&#_!FN9uB zr-+SDHGzdsOT@fhg04NO+$eI|ogovk^*QbjMa3|H5E8xg?0so6+U8A9-~D3>&8shh z^}vw&2k`C`x`8G)4xsJfUEQTOY-gb)2HO4WZtdSqh!6fD`<#8f_OSo}002ovPDHLk FV1h|b>cjv5 diff --git a/graphics/pokemon/abra/icon.png b/graphics/pokemon/abra/icon.png index 6b91d3f73e1cdeea351d7095faa4b648cc084c9a..fbf4e288c43d1a90d3cab9ba6bf78c4ac0329ce9 100644 GIT binary patch delta 320 zcmV-G0l)t60+$1jV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U8KuHdI{z z008<)L_t(I%iWSOa>O7EMLB_Wojs8!Y2qWKg~oJ=Y0TA9nrbzZ84qgmqs+YCY3f zGxpDmhoQHcVXwf*ay(3c-(U7|a{j0|YsC@I*&a8(Y;t+Fn=ic+BzT_@Rz5qwB1Y$` zAq!Jz$0hBdJW;iAXQbX3%)iy|0b{rWhGGXyHR$O8=FIp3rXk2GFndD~RLX};B~CHl z_$a?gc3$F*k2wO24iXl42{=cURRk_Jo$EPE0|YoLGj|&pdR~UuFY)8icE15)SG)g! S8KJxY0000Wrk<~ delta 281 zcmV+!0p|Xf1MmWnV1N5bL_t(Ijop&5a>F1DK=}geck)HPcBwz1D=cPft;PIWM>B=H z-1*Q_RcSyb%vlm`ddQN%&zL6*?sC{T-Gey>ZmS?7ZlMJz@o7K-N&cM-X(JY}_y**N zY#RWRTdhwpYQ=szc{cE+752TJloCJ-GK?c z&y1@M0X%aE&MBZJ0k+o#*`bcm*ir{#4+itH@i<}3@$5HYK#Phn3gE2>b5#5b(->q$ zn7uKGCBzS!Y92$r`ceNT*m((8KdLZt5nR|4>h5f4C1Q8%4k+h|8X-7kapvv?hTfMU fbin-dpvE6!R}#DbO7e@@00000NkvXXu0mjfQoMuE diff --git a/graphics/pokemon/absol/anim_front.png b/graphics/pokemon/absol/anim_front.png index 9a53d575c9601cbeb36dd76a8e83afaecfeab32a..15db59ab0802cea36f34a1ebbc3c85b8d85feafe 100644 GIT binary patch delta 1313 zcmV++1>XA63gQZo7zqRe00005xFn?l~HW4Es>186l%*Xqy@#4P`j1hilTkHzgS z4{$6+!=%n8htGnTWdSVd#V#;G?2muLr2rQ4ytCHFy3Nd^r8Gv%!UX`^Q?n5R@3U!P zDYyMLwkKvIo&%p{KqCiG^TM9suSEYe0g#2UUdX$FUz``nO>;ez^g_z0@jz`t`Rby|4dy5%7O-dFR*t z-_+&zel*Qq7x!Eqa`w(+cQXZ`Y|rYQm|X!}y7Ho>BQW;D>h(ZVGT-0uW=9xF>%FW}AR0>0gup%^oK}6bD(9x0>x`0IkE{GJp~wh#Zmt zH3bN4z7SIgeWJn349UI{1d^Bna{-KoxD4xGM5CHBe`bI4O2A_iLj?Bi ztQ`FU07ZEXTfyZEf6v0uG0QyCjW&k?; z90KHZA;v)Df@;|Y-ua9_$pG`?u+mX)J$9am1Sp#VPQintb%Dg^%wsW$`?U3H9q@p$ zKe=?yC!_UgegdEIgR_7AV|8=qht*++@1IhAP}ZcDDScO^Nrj+Qn$)tS z-BqDU5L5yxG^u9E22!O-pdig{n)F>4OV>e#CS72il5LvQ*X4iARA^GakU7+J6irfq zM3cs;CPB`8UpYhSe*5Jp)g-bz8mDKeEEv~oO&VMYJ5bKjx_6yx66Y0yai40^8AuMa zlI8fzpVyjnml#OFa^SwnHHiiB7!y)B9Pe{YiiBZ2v7#TKF;eRboj&NVEWC;|)l#y$VDu6EWcjbT&{8!&$<(Vh;R)B>qqY zc5h<9dAs5daYg$IFlKHHcx?3`GNAZ_SaB$)tI+q@G^Bs3KZu%xG(Z{?K=p^DpS^>% zo;y%WMD+&{2vK7Mg@}0TT9Pl{J&PN#zHp)XB2vYvjUP`sMC>1yj-a%CdTxomb}sh! zwBiz=@c#t-4w;?DXLeV4OQ3k>hn-%B|9-St4RqQCz1RW}WPo1iTP`7?7Kr}GYVj{Z XZd~VC^9T(m00000NkvXXu0mjfW6o#n delta 1295 zcmV+q1@QXf3egIX7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1kXuCK~!jg?V0V) z+$s!&7ZwwfZtwqg>oF!F318hx=f}~DT2XKE_Q)2hq{X=Q#j2 zxgxl&ZwFxd?J^#Jgq~i$Z~#D`-fr&^bg7!Trl0_V{_WBMNbwFhQhftp3zFzJR8#6q zLiGcH6TmJ3RDk^k2-xavfF}iD2L8-JO8fwH2ww64fUEWU1wdKfo`e1Xr9DZZ*ZM@S z$Ob{C-LOx{G$e^odLMVl1%T4xlBijealhQYBMSG6V# zfOJ&!6u_GcpCF~?KcC+&aMnuzk_7q7eyWc_yJA4Hq+&Bb2s`N>;l}2w2MW=tK4@Pr zfXGxTYe>)^aX|qA-GQ=R2B*DMm=Aqq5Xgfdzi$9m!aM}24=nhG*$4f3&H=D|vlN2t z<%l#S)LJ@!^csPTOh}`JK#h_Wuts0&Ga|)VDUt0#07?SuF$L6w)BsE>p#iuBFb5!& zR{&R>`3wNy2SBoGgq6dOY5=1S7!AJyjE``Z4uD{f3=jkGBAWxf{CHPe{agSb7$8O( zG{p*_1g-!|$mceX0MlO7qQ)@0M4CUl+sis|FQ#iIzyIy zIRjuTY04xDQDO&OTR9C0jJ>EC14QPIP0Z^6?P|%cfTY=bv?0x92avBPw#<+}0ditR z{Am*GdSg?T1c+Yea1y+8Qb;~NYl)=3On-cm6LA9&X~(<+NUlixMSpyAX~v)i<=&oi z&YE6-2T&bK&GQ-OktAObk8i1ad`RH+e#W8t;mhsfBZ8%AM`j8bn}LO z#7TPix3A!m969WgcLP9yGyrnv6M(~O)bxJRqRQK)+-I^$dj9q7Br4H2_v^pnd>rHc&r+MH^@cSk*V5TeN}t zaW2|GeGg>K2I_kti#AZ-16j6#dLGD{4K(mT)@-1G2eM`Z4Lp!F8)$ULfDObG8))i* zm<<$beYv;Axd);TxJ?VOwt;eK->#c2y;R=TvVmeu<>h~T-DLO|EgLAMlQ1+OWE)(6 zY@kr-)7%4L_#_P*XydgIY!^Lkplw_8K;X2*rVYf0g)s3zNSEqi10m|#f*1g{h&TVc z4TKk`3NSX3^6N!y1M%GiK>&l^Uppu|2ZjlCcoF(qO(Xw+wv$l8$W{WKuF%LopmP(Q zKbuVyd$AW<9PPor ze@q}tl3)La1ld%{(sh(^m9`lmZgc`9_S~1MZp`C3AOTjn8ITwCI828A!K-X)I`y2( zqMRjt|G=WNDkxjw1lSW@|Dcv{yLAHW1N-2}V9!5L2ca~r>;mDLBckfT&e^7J4uV<; z`Dv;`dYTH2f%`#H3xUdn&KWJ}H9Oftut3ifdSANQ> IfpAGk`IP1LcY`xOgiC@P zFj&sz|HZtZFr#4R!&d+-r8o288|OkH{_r8c1N=9p!yi*HM=TnR+pqut002ovPDHLk FV1oI?SYrSH diff --git a/graphics/pokemon/absol/back.png b/graphics/pokemon/absol/back.png index 029980de2a74185279be9267eb2291207ae9f454..1f2d997e8838f7750eb778fcf59bb80becf1869b 100644 GIT binary patch delta 535 zcmV+y0_gpR1^on&B#}W-e*gz`Nliru=LQD>8VZCsHE{p{0pLkQK~zY`&6Uqi!axwl zduh_6i}v7+Vu*=1=!+DR4fF|=tBG0CcpxT7_o&H+PG10d6%*gd*|rOn&Muyeb7X#< z@B8*2p7$SXfYrCR{V2v74F4e>w?Y6Jzfj(RUK) z!#TqH&4?@ahzVxxpVPRoHG@3&d`Hs!UWkV^<`~iaSD|aEO^_OasB2;ix@myO0+<0$ z5eqpzU|$N6!GwiV(!q8Qy53oD_DBL*)rW`;w}P@TGXvP%EfeB69)XvTue$fXt-;~L)rSH~v9gEI6Xb4r5~ASz!0h)ce6dbLc=N-6 zvRqM*(@~*gpfPcf*it|WT0%C!vOA#A9@j>K0C*~4jT^Gie*^*G2>f0awaAVDa3MfJ zUITJMUg#t(`k)*xHrRk%I3RoCm4n%QE delta 542 zcmV+(0^$Ar1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z&6L4P!$1&*_Y%m_t>)mZsfggM_C?yl(B=u$s~}s7ha%Kwj|xjOd4bwj5qu|SlWdJ< zcJ(CAvH#b9{(m=#_?I)F>HFm<9nlO21D_56(^MXhM!kRwKq}>E7$5{pr92K2ktMFg zPeeaRP>!I5_>IL$*kVF|UHd=nIP!^co{K2ZG{08rW=%bYy#A!@ENlpNN380Z_=;{C zAoT#w;69ZJ@CN%*sU=QiGG!BN_h{!u_GWi1u&i`U<@r`|5oXRnPEJ`M!v;tO5(5BL zxJ;iJAgXohATQpzt7rpn+}jbOTOoT7SN;gLg*@XfQ?~%_iEw5_?KNyr{H{zENod8XU!-_2jWN26D23T|r3Y&55Rxki$8rO6ox0YZ4vY`L#qF%CN z06GXXnAZT4GAikLcVjf2GTSrO_N_CNqdu+{kkdCy#G7SV3EC7@%$);ZzEdjCH)`43 zVusqLaA$41m(@3=ey&Rh1Ib5uKHwAl>;M1&07*qoM6N<$f{NVnH2?qr diff --git a/graphics/pokemon/absol/icon.png b/graphics/pokemon/absol/icon.png index d58d208a7bd322beb9e549793c41994940842ec9..d32474c0d58016512128881a2404e5d7a3d2f37b 100644 GIT binary patch delta 319 zcmV-F0l@zL0*M2V7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT!j^FIaW0002&NklSjFcsA zrUMMHOe-bqco+kp2k^q7VVF-nz)Aapn<*z@X&<3C=u{0pEBef@2--uTx z2}*VkWCb7Kl+6yq zFbIPikb1=L|F*+nKTV+NZJV^Ehpw`R32DD=`?UpNEw{EZP`=Vr$ypzI@WjzzfT}(% zQ$?6j_9ZA2-JsgKJ=s?`yH$G1WzkppqgPNw1fT{a#-O!$`Op~&%3oDck z=DIE|CXx&rW!GJQle$9eQhFIqELmVN2jQvES!6s6{<|=^(skhwQR)5PQM`IR%qV!T z5m9x3*h|sf!PR=9g#osFwd?Tzn%4UPG8{_=$V89?kf~$>NI{qpAm@evNFqo9kdYwY z2#}HwM}TlQ#pnG3NGC{fcz1xD^WhGV1s@o{<^w*$ha0LBC>14yeVn=g00008Vqe)kVF6g0{TfrK~zY`mDEp9+b|RW z@MNbPu`;=c6WV&%)mTbVwZl}I39gm+04CCl#SJQT*R(Lp;?5n!rONl%N7(n-^S{KQ zY-m0}A-}%&{QR6O``g-P|6av1`J;OS+^3*?+7BT956s=KHq9U&e~({-LXEi#7| zz=kNGO-c}F%Xh#<0&;G16tGKyxa@Ou2rxu(%|_sH8AaKxYzPEx3N9|a=r9B2yleG~ z18oGDWa-&kp~U8ROO-QlL$1#@B2aX`{5A-1>Q7rw+MWB_0@>3{;n1lKLpbdHbpjxE>@IFam!5C}=q~ zn`~b^?0k{9(L*icCS5D(2x$9{o8f(7OxTHfcF?$Q$mFe-)6k#i(=g(Vgo9Vl0p|(s z0)X{R0{nB3oD2Xj;s9u<-4vrkot!BwY z;ybG)_XDSXp1La;N2rn3NI6KS66~K6QKm`$~?)w^^Sk_YnzyyGQkiAgE0VN>+)C;=uW00=-#AUX|I zM=Tg9ro7O~aS5{3Z^69ijpky9g-3=+b|_l5-=DJ{84XC^(G( zhfzv!ChH@Y-=Bwne>IG9?LQd=*5lJFr@){h?<4}8-grQa1!;;4RZbq|#8nbi_}Jgis`G`yP>K5022=!|9gZp2|$E8jE*w@4@pY4$o<6n*jX z<1J%woq%ePHHAU7Dgy96fP3BM72W_QNigpM?uNM-1V!-zMiSFZbf~>i00000NkvXX Hu0mjfhqG$1 diff --git a/graphics/pokemon/absol/mega/front.png b/graphics/pokemon/absol/mega/front.png index e7656154da2a58a0892486f637a9751924d2feff..4a4636880f16eac7b6d7e3d41ff6db5d9ed02c7f 100644 GIT binary patch delta 920 zcmV;J184k%2>S<+B#}W-e*gz`Nliru=LQD>8Vwp;pwa*U171l)K~zY`t(CuT+eQ?} zPeKNcx)NXsPpTRPf;ajZl#o%S0lLj(m_Rhr1fB_RhETWTNo3fY+qj5EXD|f*C;hMT z-jO17blMK>TO{#5{J!5OA^y7!MnX)!@~ktLeq4-uKp=$tC%_Gae+-U*SIJc$kT4Q* zbfEjd00JNlFo1MnbkPG`aDg;}R-gwAMl3)`BOnGLoF_>#KFYv_3_^gk1t6RD03ch# zz1IK|&Jqi7Lk3{}ZJVcS1R7vCHV+K&0BMuvzz8H-YbB;*cDbh40r1`pj{r^YEK~!K zQILqgq)klh;k{8ke`80K9)uYnS=%uJR)q!3F?*o%TpWN^)BxG^iakgV`8?Gf5XBHC zNd|AH$#+ym*TcrP6Ei2%YXW{wk}H7ib-`_Dft-S4!fAme<-q`il8ID)XzN2jRD?~^Ny)t#SXvCzU%))t&UHo&~X^i~&eZ?B2Jfy?dg6OU2lp+}!V ze^;Tr+{JW|f1|HGo~V%xNGNhmLlx#oZMdZ`s<(=ZVvad`NV$l&aMuGIRY2&nhqUQ* z9}vO-bK`+66)yqmL0Gi{_#{N%$=je!(sK>q~^m$L=`IM4oqP9ln0d``+!Z(hU1aU4LT%bJV1sY_3R zYM^P%j1RXgH;wl9EdOdzhO4kar90000D5z=x delta 926 zcmV;P17ZC82ZRWaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um16@f(K~zY` zt(3oS(?Ar*FA;;s948s8QwRh_-P~6>5o2&A2bii_BBN{RYIUn33ZoMnb2GH48Ou;b z{!jR?c<=03J{OpHOB~sjPZW~!e!iT0Z+oyF2G^H z_+U?WfgZSk8lV9#U~tlZ0R#v@4YwBP0KEYTAW{jio(IQa7!F$*2#CQ0h-v`haR&gj z6Oh2PB5 z3P8gkrTi3CF_DK4TJ?w=VS3=jAkpfMA+XF0U@GHlJWtpjSo#%z5RXsE1GgoeN2&q* z0K71a;q^Ftj#U)4tZXyVb22_d;A0q`0&LDQYC{bq7#tB+4a_kQ0>I-$MEpx#9|Zi& z3;h=uMV`f!qpJmO0xS-8(YiqZ{5faHXCSml0-`V?s%s5u;w0LO^MrZ z`Kl;*Z{9j< zDRc;qVj9@(4h^7}NZ}O-tR2h3EYxmSnt&`KU4^xy2q^R5el#=zX=`BZutJt)>HOTa z6>OQvL<2m3WgO4T`?3S1Mf9-4@ElA@5m6c=b1hYoJUI5nXRe3+pe&ynz*H*KSQo3A zQ`M!TfHhD!X8bF-Y7b1>0(j@ilqv2sm*ascfXk9FYt#V!!=G&hx|VR4tO-{uaEW;N zHa~1O&&uCmr!h|}Rn&Hxg_mj@G@J3o$0>cNZzP;~eVfv>?$Ty6d?{DxA>9MoM{94M zgg-{|O4cv3$4k*ao8P`lYJvWWZpn!W1e@h#FWCPM(^u!AF^^Vi1t<8 diff --git a/graphics/pokemon/absol/mega/icon.png b/graphics/pokemon/absol/mega/icon.png index d6f9ce87bb6e8821edb5b52a914f71770843abd1..48318a667ac5bc9473a2149c24335e41ad1ec7dd 100644 GIT binary patch delta 380 zcmV-?0fYXt1JVPKUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!mgH`cp z0003sNklF%jvh4=^SA%%5*xWKpwY#}Ul*DiDNA`?S}j`#5JmHPnuxB^>_ApUX7sRUCS zBR+E_Ftje>{B`ZroOa^$mR>!%mt8N&sed1T7lxMaBFyYd6vl{4gdxVosEsgGBMV>_ zMo@*;EyDO#R=gJ`gs#F|RU%9VR;e(Z*$ZQS2;)*=RzHF;ZsW%!OyWlnX5)w5`{9MT aryt)+PSqETCLBHh0000ox%U>=+^-Uk4q@XFZw zH0I-ELdMu5&gY7Cr-Sg$!wKgR5DyeQKln)_tpcjxv7CKKmVfNd^NgeGo zuR^Eewa^YDQiFJPu|T_cp(986wP2C`hvkt>S{*KETo!D@#Qij;9M#lppwYPx4`0d~ z*vBH+b`|o8Zv`z9jM?H-Rg4D8CC+!J&t=J>)7x$9!M*He0j~P@^><((?FpF3O9sZU zy8#9WFGey17*^=979j$|*vaS;Fn*Msv~dHBm=<8Jv5p8#jg*84%#@yxfytxIz!W|L vFoh2R#%=frz})a5z-;)idp0@mX2m#F00000NkvXXu0mjf!7!og diff --git a/graphics/pokemon/accelgor/anim_front.png b/graphics/pokemon/accelgor/anim_front.png index 353aa67e047526f86d91024f51646c5762a558e0..beba096b758d3dc12fe4b7ade76e5e0c0a6cb179 100644 GIT binary patch delta 899 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 delta 646 zcmV;10(t$529ySnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0&Ph|K~zY` zt<#Z_77E8OP{^E$0(k^=k+B$mXopEPCc%{pV8v&WnD7lvoWx7Ce$ z%-rFxH^j#tyq0B9#FeX8-^#N58UUFCRaJfF@4tk==7jZ4RpFfc!!qI>v!J3J&iSVh zs3?F`hT?wF!2%nQuO2vmo`XGBPc9(m)Z{S)Yyft64)oaD4NeYhagl9*5ZJ58Ry;7o zo_0LF0q9X~+-2u1H0AItEx<(|5P6!WG>iD* zf#Z4XVT*aj)?ikv^$;yCLsZ^xkRjM^N04;NeZ%)*M}Y}!1aa4%6KoTMvGXAlfH)li zG?&+)Nn?BV0#FSGfshk?iZLIJV6igdk=tC7$K;~x(8-`y}|^4$6{nV zEBp`yt{o^F0Z0q*WA6Y&eh=Z0p>zlC+DU|5fX)L^0UG~CifY<|#s_ghpr%n3xMP~% zkuMHZ#~fvP&`m)UtC}(}$VNyx8G+7$Vuf%(c8#2YgjP7<1T~I-VW4RmH3Kxg!VZNp zM&bm`WeOBEkfMdc7&qf(5l{deK}&mQB+jz{jMtsJFncB-Y3&{A#si%Xe%b)gZJ%$? zZV>=DqZsSj4`@N-6NRG(v>(u5o&_+1!(kQ>IWRm-E$dl8lqi2oU3dT}fZjV?Vg&JS zy5j;w^A0_zZ|q1#-_p>dqPGGcx4hQxy4KxUtneBNB^Cb2-LeDjN!K7jVSxW{HFW3! gxYxl0|9GP45BO5+{06l?pa1{>07*qoM6N<$g5E79tpET3 diff --git a/graphics/pokemon/accelgor/icon.png b/graphics/pokemon/accelgor/icon.png index 5d971a97b24cb4a2b9798f8fecaf822d847a5928..25521ecbaf4254ec50d401ba4746099779afb177 100644 GIT binary patch delta 351 zcmV-l0igbn1E>R#7zqRe0001qplF?uEo1CjbBe3rR#lR5;7sk}*=mFbqX~0}nm`8S4Pi4QTfQFqC@+3MSpA zA%m|;DA>v?i-J@U-gTVVTQW4@#$%23ZTGtWpeI;$_vg7yM0+Wx_f`$ zmmSBK$B$l#&TX?Fb_deHwB8uHjsgHKg)cW8o`?lxedYN*NTb%jOt1cPHc=p}2H)R} zf}$2x-FE(jia{1t4cX(56}qJ7Lxie z>(_ADJV`ickQ#@WevJcjrXk@V%?e9U!r>fr7P;VXixH{{2S(26Cmgo)6AqfT^e;Ft x73rUGn9J#A57uHi9aw{vBVz1T{31X1{~IVir=H|2bu0h?002ovPDHLkV1hINk@^4t delta 327 zcmV-N0l5CC1CRrd7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0S-w-K~zYI?UO;4 z!ypVpgHs-?r2F5twuiJpFuTsoqJG^pQiKTn4#IVy ztPQMcc;td&25mBzApl#Tz;qGHY_Nn}iUlx<&FEmU3c5m4gU~W=5w&ETOw`|TtKd4o zlSo(g=wY%Ao`A)F`zIf3Qgna15r0Z+$g!sW)t9xst?v$z@#u63F@u0t#@x~Zv>{ws z9K5!GhafyojZN0#7XEV3OYW}KR{YMd&cDKcbtQZJIp6tX#Q%rx9sa@v7H|BG?!|83 z__vp*79IYOMqh|O8{8w^9sVo2d;G~2-5vfCe98-dMtIXE@mE)f_r-sFZ5sc9+AM#- Z{}V0G6H%o#y!-$F002ovPDHLkV1lpMq3W5uebbkN`bV*G`2j>O{0U8tFQ=PE@00iYpL_t(o!?l(%Z`(!`$7yiT z8qxs`7*+sZYN;dbXN!^{7I2~tUEQKXH%SPIZVu`CfP&1zg`SN9(r9?|w=g_#p$3Bk z7vB(M$i~mmcVr!lCy_*9go{AkPw)Tk-Rb?GBni(ess7n``+rj4bt6FZdO&Rea76a%fx`x1#+vQ+E+y`x@C@ z7=i#lUipro1Z4+=kTwdI1o{C;Lk)q2UjPYDKz_a!{V;@~G9lBHB@;r%?F18mez**T zLk+6{copbaLjVB3D*>iz$1%l9E_zlwnTO#rAj2Ru6+Ed3&mz8G1B6##w*AOsJ|0)9 z<-i=CD}Ny)z0W9C!HY7QJ|J)fFbhh6nR*4_Q(sADTp?I0L{+}J2;}d}XBpx?fN7egwUJBavvLXu1cQJ*SZYTb zqewCfurj6N!op*zER|?ho8<~u<$o|QHZTQ&v46r65H?vP0h0NsC`y~P^*o>mfF$3T zcoK}|*9Su3&xw1IZ#R)xz^(pt%ftq-eLclJZeLe+QnW&MA(DO^By_`CHw?!vzrLUj9pZhqX`1&n;c;IAoW}-?85;>7o=nQtVc+P@@9*@ zHdwZ-AhIzrUcw7%Gpy5cx6XmIgJs4_#))OKfnaLf0#oj(XuNUUTLt=;XnN@*U4NvH z5&B*ZTrN8b*Yi`F`Dy&=tM3=Cx9mwAV7yEmNNMU1%GS+24NS^CHAYv(kAdJxGH%MC zK4U$Tu@uXR*4-}wGhV9vLh`%hC;7WxGCkafnc9|Z)!X~zbLg<^N z;UG_f*Ajs)mXUFVOAyWz0W+ltV1KUs974esF=t(75qJJH(PdZ#0(^%@v`v=e*S;SJ zH?A;KBocVOWh>7ymcqD^>V4C$^G)u&*5B2@aRF3o9BUk~D*<^_03*E~IIjj?pX9(v z_55&>E7Z&nT%%f{0PIm6fJvN>PU_}|(bnjF?fftrjowQQK)tCQ)(7Ar{uuxK@GoUz VaZqJGvw8pk002ovPDHLkV1nczZPEY$ delta 1306 zcmV+#1?BpJ3;ha^bbkc%Nkll*O6vt`Ypf#ie8ZfK?zSdGlS{86o&d}eAn_8PdrQXgV{@KML0q+9w#7J)$DDJ{2<2b|XHO=EO#I@--+t^72#Pb-aV_i* zI6jC*2YDuYH5R58-Z~&~rrIWU81NX2!U&`wJa=AC{LEv%bY5cRZ4JNH!X~ZktZ6qI)acsqYTX=W+Upw${vWwyFZ~Q z;m2s3%~&yJ?4m6aju1fK6abfl)KjUj56>VxqYc~V9ZDNaG+XSovlSqig)Sy0N_fUx zj&)k?))Gh>SZ1tb6gw{ODW)bYFcF@L#v4VQ=Ro%yO)t4;%j7;p-;==ks-p-!KYwAV zpG2R(`F`eltDYnPF3Kc;ge872Z{5Pvz-GczBXm{#=qa8=a8nlZIq%qz+A;S1d1(U&Mm@2;eY%|+#>KCnBjN0N89AFy!PF^@oFS9QzT+|$VyxD z9APP}t92_6VT5nGWxgq#*ZEWo9A!YU#*rxiw-6wM3>Xw?JOCeyf!D_pI4+(aj-^7$ z{2(-n6*9mblmVE;$3bxln8aXf@UC=z7z_sQO4cP%ZfXbR0Yr%ZK0o{mWfNj?P|SYc Q@&Et;07*qoM6N<$f<;$g!T8Wesv2oeAQ0h~!hK~zY`?b5w&gD?;P zU=ZpaW7R{e4xth=$f84{yhAGldlK10`cxHahwSZppv-=kp8vokE>=`^>rI6Fa(6xx zMOVgiAb+#`bC3o>z6gNqmmtpaAlL^04}e_=@DL!J7ju9#A+QYrf7S*7C-YMh-h{w* z7Qh-<8vrmwF%PyOz}g=`VgM%+pi58{6130*ri>pwpq7h#;p#q9A7}~yjRJAD_kkLb z+Xn6%q0|p5NXf|ZH1~q1U8ZB{{qT|zz(-Mg0XIQ7qZivsD9kW`8sRgMl&Gp36NH!O zOh6u04Yk22nhKf6f0V9T*?=A2Xmln_#d{0j)kMf2@;UjE;BZ{nm)JCbN2)%DcL&I_ z`n76cw&?;nm?~@=K&)M$Dr2Vs#GRb-&^fciU&jW3H9(UR<_@xfIl=4 zC+GOdI3wym4G@L1iJ?R+L}kHA=ha__g*;e*WC@kWc2+5&NPq=ERo?V2^}PV-*R2A` zPx# delta 477 zcmV<30V4jn1jYoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iQ`kK~zY` z?b6LogFp}fU04q`9J79NoP5`<~y1qTlh9oKCqhwxQ3?o030HJp9ec1XzFi3WPo4<;43I{0yXx)DZ~2-P|_lwgu2go3RF3Q zN`WvvOo0;Eb%pm05Kn^wQxs_yXOrMzpXyjnet6LU@S`XvfiS^D!@q1R;y6PON=Pn5 zw1T3nOfa#63xRnkDsH3UFcy?gIA7P)pgFzp;6j*+w-(^5k)R)c^c;NNGza^f_=xS=VJtus6Rb!dQC0~nQ9^$pB1j;-wS z;rOEp$(si9>>NKDW`yqD0GT_R=u3oB78aa!Uj4OS$ejg1B~(7Kvy#LD79dr5)0;}* zy&&i|wE|%B&Rw85*h&d&19ZMWKb3%FD?0_ATbt+oessO922E@7{d)exA3^X5hq9=u Tyaq#<00000NkvXXu0mjf=>yd& diff --git a/graphics/pokemon/aegislash/blade/anim_front.png b/graphics/pokemon/aegislash/blade/anim_front.png index 90b898ad285e0e753e35042e1f2d53e944843719..4d4c5754b775b02525d3db6842b58dfceaabd837 100644 GIT binary patch delta 1463 zcmV;o1xWgt44Dj&bbkN`bV*G`2j>O{0U8#NIcYus00n$WL_t(o!=;wLZ`(!`fGKeB zYElio$N_YzeO+ z3P62S1w5_*^y6dqcECPq-3;8X0BYYHw@=Ee)D)E@K&|A7>6>b+#h#gpUJ^uas+7`w zvsTs%y?*}@Azivx2JGpdBfy^RwM&5(reN-=TMVcNj@54irEOXaSe^@C40_-(%PU%^ z;L#s1zWxpNsec8uAOU!$x{rYO)Ko24Pm=uh;QKc{Z-}(znQIAT)Xwwv+5Rw%x0XPD zbpFz`4&J)~u#zN8s=j^l1Of1ch?bJfBO=iK*8~v?A!e`?U=A>MxFN(u)5bz5c#Gg5KM6keVq_Te1BLiK?0VTg75(WeS2mW0QUAY zn2HIJNwfmM6_e>0V?5sh)|ltO8m|HR7AEnnK)`q%=ty7(BltG%H7EcKd!~~HhY*_~ zAjqn;t^p6Ri4D$2!3<<6MF1ggBebSd2qFlI0peOP2Jj<~r_UHJFS2L#-moRGBUgcY zjSTo{Fn{>NocC#RN*D<6Ip;Rdfb-Yqujha})3mKI{uvs4OIrYNVWw?ht}xgZ_Nc!D z{kB$DvJ@~#0fV_?g9UO2_%K*wlmK7iZBzohnOJ+-ZI8q9*%g#4;;oCIWS0pjs%$97=QWx$Y6%U(+tYtLGpy$UJk*rY5#3LHw{zmEy<3D-khpPvyq zpil`oF;%D?@=<<3RadPF(9K%{wMUge#eh*G6~O&U;P_^s z)@rrQTLJ1ZIWa3{oST6=kIA$00RyLoy;cH13D8vbj!#%u*|=BM#ZCO{(XOJG02@vE z6(KkPlyy^W5(L_;OA5yWeA}8heb57T(0``h+JHdO_#UeR>3MX|#Z%3rbXlzOrvs}$ z_!;29l{hTf8v(q5THpQp=3B38CU4Txh>%SbR04_p6<7{2cl$qYeuvcl^0=n!Zhv>$ zt3NfBjbOHoN{W711OC*sI%Ys&p_s%%-nlnBcb;^I3hG~kL=FI(EAp4XgQ0@5@_%)r z6Kx(Mmp=k09dkp-Ei|#~+nMzi6Ad259TS}!OrtXtMpKNIOGp433J`&i`X`xkmVt+2 z+m|s;;kh$TbF2W9CMJOqh$#+3=90Q4@B-E9O8}>ws0i@JIKc48-@;~~yhlrBP5^A8 zbb%!zS;~h3Kqu{8UJn8QoQH}5(toDl<1oa*9$j~PRs#YAN8#U__VkB~2xIG1i z!jJ&(6Xqm9?)KE~z2P{l2B=Wb8!-g|HJhRyvEL&NdWb+>2we}6$kZbf{T zIhp=*w`cl)F|;}MHe`;L1jyY!*MD!Qa`5cX$!46~?b!r^MVNNo=3#@U`d^qiEdg_w zDo#*x-CO~V68p24S9qErkR1?fKrc}vzW-}(R~{r2Mlb%m#O;cDWF#5PGPfr=dh7Dd z-JSq1i|m}aT^7-cS4vopbujetWlYT*?O!n;9K{v$fm$_SC`T0ohN7+o_#giI>t1UW R>xcjV002ovPDHLkV1h~|s(1hZ delta 1463 zcmV;o1xWgt44Dj&bbkepNklHt_6u>EP@M=;Gy~qJ{t>lihFE(9;(GWC4 zSF1^jY_yOQy45C{mjq;%0FAtL=!Y`~8UmzKQJ_PI0)z%Gr$NY|MK=T<1MqL?JCY*x zL7D-=#e(j~_uf5<_j^{9wQGC*i?yrv`KJP(RRYAk9?&ZQ^?z;^aIXT;Pfq%u1{{*s z^}wwPp!V%a`$2h?nxc{zsFgf1eOqm{*dtTXOM>W4l~Q_W*2;RJ*Kge=q(=|RfCK#t z1lXg4b}7)p6s&*RF9y^j$2xBVrEOXaSZ*J_91g%`mRqz=!KFW4eDfO|QVVE70&q?B z5CQk0samj^B!B+y_7ATH?g(kiT_YGY1Gr zlQehp5ZR_A;LmUi=Q<&dc(-1H1S~NF;Q<2r?%XT@?0?;vKNC|TlV}A%Urc8cjPZC6 zSYwd`Yg_{K9Zcd`zJSRl(2>9%M(}Lht6u;Z_FN|o4goepfS*=rEdh71i4D%j{v2c} zMF1iFMqtfm;D_KB1Eg=k1i%Yjo;+i?yhxwbTf>&Xo?Hd)Hd5f}aQKJ0=+pF+Fc9Ez z&TXCoPk&xMdAR`kb4}Zs;E$ofceEUU3o~g0>kEVJV2{rC;JmHXl{5tm6To2oiNSoi z1AG{)F^+++@bP8vB3<7CmEFE%LQPtIDbS4U>i(Z1W+%JFNVWk@Iw>>jvWH! z2Ck<8)Zy`q;pK}AxOo*&&ap{pfCM;}z<=*!-~+A)xV|_eGC-jca3ZQuJK*E&49S5w z$IS>M<9V6Cx(RTR0!|dI9~}uG_bH3G8GYC|edq#EXrx6~Mduey0X2%EtIc(JYf_X1 zu77u0wkbw-TrrFlwX%xK#<9To2S*tuiHkB%q#&+EPqfb&o>K-v^M9ELd9<9}thr!^ozK(2b>zSL6g_7pHkdw_1mI>tN(GPkGO z3^YwngJ(QAYotKx_C+6<fIVdcY}EXm5F?gz?)C&22}1(>oG>Q_ zGPfsoAB-kJ9S4+P9~BtuKXZFx_rY76H*D^W85)i!z;GF0&uGA{knb}m)qj8H_Ei7R zMmERZ2F%go0GZpBRR4pK%E7e*C!KLJx2F>b7Gc_Tn+FY^=s!1eQUc~MRh*#Yy152) zWBaq`S9qErkRA{lz#vv5zW?bH&fTuujwg&k^tZBnoVr~WF^JYmSdGfT*w`{=3a#Rf%O1EObP}Ge8{{#N|>t4oP R_|X6W002ovPDHLkV1hGxslfmM diff --git a/graphics/pokemon/aegislash/blade/back.png b/graphics/pokemon/aegislash/blade/back.png index 631d11348db941779eaebb63a323d50c8f9905ed..be5c10b960d6a22bb6cf550e4374af05ef678669 100644 GIT binary patch delta 446 zcmV;v0YUz-1f>L!B#}W-e*gz`Nliru=LQD>8W-n2S*QR20fP}%y} zHfXll1vHo~+%yOPrpqp{mD#ZY%#0B?H0AcKJA3;CV@zeL3m~<50{cF|9I*iFAAp(a z;|zor&@;pT13a3;=LNv100NUcK)nzwFa)P5F*yRL5U`B;G?-=S0Cfpw!NLicz3c)( oMc`!sW?3zac_5$$;6J_-U!Cx-_=#9={r~^~07*qoM6N<$f;tPoUjP6A delta 455 zcmV;&0XY7p1h52WfiOR2;RvZ&OgAJGcIom+zE6WQdeqpT7kkDjvxmy5J3uA zUbG=~3Il<8$O_d(rQlppUMRIFsX?`SQ{F(d6>mF$TW5k^XdUc-32b+>Zd0@kaH(kF zfAj#AZMJQL_B8u|2D63R20p-S*$1|=I5vQ}G3th<+`ji`@19_csZD(WBsNcAKLnT~ z=41T>2vdKafxrTKruaR;lR11{0D=l2Fqs212Z9C0;4~#BCjb=!ky0PCEFGXJAuL!p xfv}fdA*czwj=O{0U8*0fkZg~009?CL_t(Y z$L*8bZi6roL=jpm^2*Z8|9@@9x7L6GrDLGDR&O{>38hXxv^sJGav7eHRzCv1Vs-C88h{p{Ue$4lpe9dyK>PFK70}uP zDD$8tgcP`I0ouKy01QbzByOjCc+^t^_CO!gV;z%BYHG9G7Aybu@k4RpcMA>Je(L_k z?dyoMODV#P7uQ;ZUEX?SknfrKum8RNyw;zu>OZx6)PHXGp#Q1eUH^~Toq^BUJp%98 nU4fb1gZ@9Zdj#g{{#pH>6LcmEA$xe100000NkvXXu0mjfbt0(7 delta 479 zcmX@Y+{Q9NqMn7Bfq|iOLB?Dl#a`m+>&pIwk&%N@jqygrQ=pJ|iEBhjaDG}zd16s2 zgS(GQfSyn2+B^)IMe(pdSV<4Nst3gv9NU@|l`Z_W&Z0zU$lgJ9> z8wB`-xF*eMuCA`$yLZd~|No1N&n{W>ZAJk)G}$t53#SRZ1tFqY`(Xu%DD01<3}sc&0eiwR52wxaYJE&&8>a%EK7m3oY7 z_NV@FmNi(xTo=x+Ukk?Vk-xU_eP0$o1pw6oz$!cawJTlqDIeIX*)djm|l`)PzE?mgEo}1?gD~#>5mP z(U_1>(5q}qmaV0o3VEA;{`bq){}J-%(a{+Wv5-f?Ep}XArhg%zffq9&2PriK30@n{ z)omi2xNP=e3Ggc4kIezSfC$wSZE}O&K!}m2T!Yc0qh^^sfby0LYuJX24ubWz;rGKgRUU47}hY26p zva_Bcot;UIK`1O6KhKcCPUgB4X{YybcN00>D%PDHLkV1mGLuzdgk delta 365 zcmV-z0h0dY1H%K5Uw;8kNkl15QX;!bCaY{<;E_uwRMIxTgvBf6JY{I z+t`Olx!{~dAcRF=cZr3u323sC_D9;vO(4_F8f?MluK6OkNE6`maemMC)t+}V%Q3j z)% zPQluM?yeRPUFs`NE~yV61jJ1MH%VdO>Qre{rb+@i4-goB0_UC~v%CCQQeO{{5D>NRl5&*e}UsKAwL&ML2F*d=Q(L9|T`g_4BUh?*8R_vPq zmeKiqrtYuiskc8)FL69l4>(6YjGf`%=W{)dz-$NvLXOYsr_t?`!Rn&YwsCb0?x2leAfb_J6;y8J-3KgS7>0-`88U{ z{<;O6&6qu)fzAa4R-3YYDxeH6(ZHL|tI?aqtOHg60u7kJ^}+1mb-*j-f{`eCgZ0gt8LXfN?u^Xzfy?;}>;2Y9HL{tZ{!r|$7yRD2O4_^KNWn?*#bODE7Z_Pa@V&?z+2&HeO z0%5d2uFMiH&_nut2(Yr!+>w6<#{K>f$QW>^!!ia)*xSLl{VoQjwcGu^S;>}@ zO{4v0la|jv?sl7%jF(>=0Nm>N=g*%YTFZEaf2g5-_4M?&kV}FlMALs?&4%#J(?7on zcf#cydYh9Fa@vlQ4`05#_g$_5>^2Ssc{M4uAOHGumsT#*IgfoBhYEnoQdzTq`uN8q zuN(~sf)@_vGzQ`7Et`&)1=5L{LF5V$)N)dw+T~55Y8t;dKqyUws=ScM)f^kNSXxf0 zCx#^8pu}e?+2UUjy_gFb<{nG0mgHKpJf%u!+*@h=NA00;)}QQb*m& zt*rmA|McaY0}@$5_=#}hIfXcJrsQlA!ij$w?0^;g6reQa@C-z| za1^j7TJ=yDL%C(0;WS~U0nT0mV6R9AW}Ko1CfSc6U~3zm8|TbHY%yXi7n)ygSI-I{gj?C=~<A(pDa${{b(A0;%6VipC+fWV>8W4sHN!CS8G7*63gml67%|jI+kgB#REeu1h1bjnX3>n94GOQ?LDwM6%OLM$!Dg`U;D;cW7Hn P00000NkvXXu0mjfwhW>{ delta 1401 zcmV-<1%~><3%U!C7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1vp7WK~!jg?V0O# z;yMgQBiVpp0`LF0M;Bk@L{38c@2qOtS%u`=$g(V3VOf4{0Ps5iru0h${s581s_1r8 z#8>KMRtfhz=Bor#W3lC1LRH_zu)TegSNR+u@~XZgx-06!DFH-&FNVXVOD;glO}^1H z;Bj{``C89}$Ac1o-!XT>=^u|fMF1f{=tSoGAs4`dZGV@Jfh4^G0>_>P{oVm_0aMPD zQ*e#nMIgLYec%8Ch;IU<2*9rKg+x^!IUoR%F$C8#yOwzjSoDub&qE+aV+0`7wb%3^ z;AXys03L(s3m}{*jv+oI8^f!ZoPOp2CX{RjbNa^sy~q=PGG2z{^btTJfU?vSz%zy$ z{dE9pk=;2UIq;YRSbx8pcPTIdrVLVq~`Lv-xd`a0opikvI()f0U(?HsmlgOeWt3uA*lsp z;DNHM&nL)#(nSkQi$GTg%0>1IL;>LI-%9~92(;OdEId|g$x}n5f1pdB3;+w(&&R2H z(VOZ7=%%eMC`q&PM9%ROfKueMNpg{Y(DYgKhjN(!j-I9ur zb(K_6fQ?E0KhrN(GiiM@fL(wM;M4&l@NKIYhd`=-aGjVd4j6%0|5kzk`ntFVSR_f- z_lN(jl0SZF#@lUR@cOX5Uy^@iWmsx#>f`iWif_@cs188YkM)JcI>W(91mOAkte^EM zi&?6h2VhxTHeI&QZRQ4E!0H$0flNmafhM=?+HCge&2$6kfaieJb=n_l@K6qcIWXK3^pOzH!8}V92R{0JO%@&SPf}2r&(R z6Yd*FJ<{2^`baN;9s}@=qa5Jy1OR%lwHx%<>d&U2zkH56cs{r^fa`EPAeVM_4oD?R zt#!2nCK#hPUQ@l~J(S@~>uSA0-sqdo$Ctj$eI zhXn8`Uk}GnKOV};#8kSs-DJRs#X9bPY|{_5Z$qs8-+(Z_j}3N!bwjOh6GENP@=OG5 z;f+qgp!a=SCx{z5PMh*gLt0xh0}R!nb+M_IyeP?`WkIdXHMzji6ljcHcC^lJ*SC2W z+CcZ&)f!tX1+H&{N@(xkz5(xjaVtj90Wu{Wn1erJ-+IE&!SfbxZJlo6GbQKym=zw~a1b1B}lXt^?fj0pDm1 zfUv|t(a(D1(Jt~r<_tj%mim$5#04m|BYecf7c!o>P>NK%2cY)eelhH; zNt%yfvF9ZtAb5IiwJY39LH3J#}SMFFLKWhs*M1B7c(nc;c$cuuD00000NkvXX Hu0mjfC&8jq diff --git a/graphics/pokemon/aerodactyl/back.png b/graphics/pokemon/aerodactyl/back.png index eb5e2be1956c8d6347afa92c2cacf88fded10e9e..a7b00d4911e8745c68b87e000fff3531b51b18d9 100644 GIT binary patch delta 462 zcmV;<0Wto>1hoW^B#}W-e*gz`Nliru=LQD>8XNA26@vf(0hmcdK~zY`?UXxm!ypib zJxmJ9gs4afUgbu-!bfD$V?hWQJSu1fS;Z~$7aZgBcPEEht~#B7{Z9u#{g^iD zqnH5uT^pY)&cQK?82E~T`aSMq6;@pVDv%G_b=YQsgLD)zu(jkn=t6r*yLeEf3a>kt zzE9pD`Yg6-GZ(H$e*l}@QaQwKs6pqpj_ikNS(gP!+tTNpB-lJ5M0w5`j5DSxnw$ZR zq9DSap4#Y9vB}`AALgl#ZLsk4Wc8#A=c^=(eY<4YV%2qXelp`@tNOIuVr^!9ygxP) z@&drTE0Zf5&*id7VAsI3o&jJcpbXbfY!<&7!V(4xg`5 zkiZn6!-tUgkMi&>=)^9{)njtyO@q~VlLoi;^%4JzKQT+F5y|4GTmS$707*qoM6N<$ Eg4NB|1ONa4 delta 475 zcmV<10VMvl1jGc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i8)iK~zY` z?UX%ogD?<<8BGexM4?EDWfgMEsz@1&Eu32shC;r9XL11_A-P>v0s)pKyGiL+FvGmh zZ+|RNJd~EW<1<~~0l?e=TF6H*XARI~fo(&Cyb&RR2!_x+=j%6hi2yv4!6bkYLkpmV z@JzfEN%2TcIB9z4aXTe{k}Bs?R$cH{_=q9~tOx;(M+qILsCeY^1xJ1UZiVmVYSIbV z{qz7dkM5#5stGXPt#-xY8YM=Gfv*^7-{UDRWaJefSN2}n9=j~C7nT$Q8$-F?=gL{i z#)~4CJKx4m01k+*iaB&?fTTVJly1B{*o4ybADXbhvRi^+9 ztq%V9|FMw}3jpD)OsQ;q4;N=ZFqgn|JXe68fcdhy2wu#2Ev#Gc5fXWLk;_S2eW6Ox z%?n(B|}Y0G*<_fJ}Tx%k^DQiL)pcn`G;o0T=5{2KX|?L;tU$_yaLZs1eAG R`b_`;002ovPDHLkV1luU&w>B| diff --git a/graphics/pokemon/aerodactyl/icon.png b/graphics/pokemon/aerodactyl/icon.png index 58c96d57c7fce6c6433c4cc58f8525ab2236e04f..258db4b5b3f54c6e7ce762d11155f9d2f3e89cb4 100644 GIT binary patch delta 366 zcmV-!0g?W%1GfW^7zqRe0001qplF?uE(T1(6}OwG2KAT>t<8 M07*qoM6N<$g0O&`$p8QV delta 358 zcmV-s0h#`{1Fr*+7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0WC>HK~zYI?Nq_8 zgD?yu;ebS^`2YWQP8e#_7P#!`T^5OH)NYbC*vs;Zo4^w;4~!=QMD7_du^FMR4J81a ztMRvE;Hb$({+L!;ZHe!ERE1CA3T+uEr8w^4sUoK#Q%>A0wyW?ZQ+&z9ix5y_sHQr~ z_Eztf+tpqX2`9aO1VOmH1l-}`sGr!_b4lC%s8QdGI|1Hxcb80!eP;uHj_A4{1o3TO z1!fnM1h#G45f?ipELc4OiKbU6^q8kkKZd1_aOm$B{~Lc}Az7~@BgubeA+7xT5{Rhs zpBhLj|Cxa#`A-d`mA{S#f>!>~PH!Ns{5AX|8Az7@#~)fn2k7Kq1_L?ePjUJ=Fc`>3 z{!}*!q2S&?{3M}n*fFNrFb{QK%m2LJYx!5=J^t-@1C*5%-YU^c-T(jq07*qoM6N<$ Ef^o8?h5!Hn diff --git a/graphics/pokemon/aerodactyl/mega/back.png b/graphics/pokemon/aerodactyl/mega/back.png index c2da059385b2a1422f356b877078c34a0d8a6122..ebc1e7d14f0eb42132fbfe34133bccc75bde37c3 100644 GIT binary patch delta 581 zcmV-L0=oUn1-u22B#}W-F#rd2Nliru=LQD>8XlhF;S2x(0v}04K~zY`?UX-n+b|Ht z1q)E-LPfnAG{me<2vd=-6@TgTxXMv4huEHswi(@5yB@zJRNrf7&(ncPzckwFe%4D>Cpq!{q0P@dJ1h_CqUa_$Vz(PovQVYT>S;-5E0m7 T?QxR;0000GC^iEmVv9ZWV2n+Rf7Awv1PsH4PpV*Vt3(arNhudZgc4u` z6eoF~DLZp2H=zX9Qc9`qMCniY@0AdpOg=c0^;&}w@f1{lGsn$0DC~;Rd13<04KVJ33UJR3;hrl%f zRyTfxM&nn~Pmy_mRO7m08el_f5R3-^9vsf@fi>LnKjg3(0PGNXz_5p51RJdCPAI|o zL`^e9QvkGMk0Usb{s^gxNg(gP6H^TSGSGwj1YPB2^dW>8^a1o{8XxK9(V74N1IbB5K~zY`wUv>ZF#)8J z%@}{8WTl;Y)7`xv-@W_4dyj0|8zlAt3sunK!JmG*-)O{y@H1K~>1I6++_l;Qzo)oSQUsezwYKzoW? z-8xEQ9mv9w{YD6+9pM(NPK>1N(|#ia^bpEDs67C{e2Q-&&vTO~sy!6{Ed9km7&N-T2W{pC-BSJX*6@kP! z?81OO#Ls!N60rtP4}Wwe1{#S&<>1XmotqsjVuqED&ps-S+0!jMu{tbdvCMxm4}2-u zxO}nIDXik`G9G8N2aww=ep>SFUNR`y`1z933m>C7FJInjHu%b)e_W2jajtpR;|yJ{O*V4G9RG>7C+PgDsK2I7a6(x>C;CUJW=-*P7Pooty|kS z*Vlguk~8!X3*Cr(llI8E8XtdM|NXnLPGWX?KbC<4D3&W-0rqd7KfiOVqxjTAfCj{* zQjKm6w66Yqzl^w*FfY9?W$4h*)qvzgBduRPyuXUM3Cv5F6gCbt78JXRHLjHC4K9&B z1{H!RG$1H3BT0n@P(q2bVTyL?Di`}*Zv$$}3@i=s{0qQM k9dPU4ft@2G|Ks=veGL*~r2BYpO8@`>07*qoM6N<$f*j7gQvd(} delta 989 zcmV<310ww92=54xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG1IS54K~zY` zwUm*OF@NYOQxItLl%WOsAqsQ}lzxCB$R|kMcSl;3Wu={Zi|+V-dhdV#cX#AJN5>`v zwnmz-CbNxXYt-ZQl(Mh302l=+i+eaNDZ6Lvt_Ri1^Y2K;*by$fRdnRt1TZ7WbH*s8 zYCW5ur@O@9Es%18e?L5_F7$dNlcmP?w8oN?z;O7<4o#Ur|qmo#AvT)>ZO#>#D(`V*D~q_HygC#&ZBjrIadgNh8tCcx8ZfIM$vN3;fDYRR90VrobK+^>*-fBZ zy&8k>MDaBcZvb!0atx43flg`QM8{hn7Jp@#`5EL07%4)X(+z+ueoDt_lK1P4kX{3{ z-Ns{v2dxJ1zThq|7K_EYm0psjVeY62Hl+7#fwIcQ+jgIjq~E`jB0w*Jcj6x~T)xS& z7U+2Cx0mv4R|CCM48P1;0pyMdVgFYI5@Wv)BlZyg&e!4u@8I$NkFG?ak=R!W-hZrz ziP^(T%F|8HjWzLcRuLstWm6OD9! z`SAWS<|Z&NVN%#QFj!E0Rjg_4#9(xe^dTq-qR@b##Ec{r8bAvr&c-RmrGKkZxOlvX zA_`q22RO)xc?Ji%^2oNGp!U#~^~08?Xp1Sw&;ZSGH0{C-S^#?jvcT32=(Ru8wZGOA zJnp-ytJ#DO^1=>QU7+C#;KY(*2hF!eYXDlNe+&hXY~<*|wsY%9=sQV5rv~U3fq|>k zhqMT80s0k#U9pB1qZn16N%Y=Ve>tVuhz6eKLG=+|Xk2O@}nGH5+(9PVH$hp%8VhXt6*;SL6s z!wg0>4l|fr<1m9Ujl&FPs2rdtFsK}|j|Qf3aApG2IAkB^3Z!t@TL)tGEyF~# x*Ocx{Fr>V9KXV{hEV^GfVA<@SIsB^opGlhx^JMHPVhjKP002ovPDHLkV1nF=uHFCu delta 363 zcmV-x0hIpe1Hl83Uw;8iNklpEb59X#sb>sjN_1K&9O z1d}*?15-KN!DOIvSis1}VF5EY4htCFI4oeM$^oi_LFJHqG%$^W)g4UZkbImgkj!Ck zEVRBX91ce^1Rc;`le;fK5aQnb#DT-0SAZ&qJ}=Gwo5R1l{{=~#4D(d+!#n^0002ov JPDHLkV1gUas6zk% diff --git a/graphics/pokemon/aggron/anim_front.png b/graphics/pokemon/aggron/anim_front.png index 08a5913a765a4095188d3361a65b999575540440..e8564de69b0074e370ff252f190579c25abb58ee 100644 GIT binary patch delta 1556 zcmV+v2J89f4D}3O{0U9E)jh%}C00r1dL_t(o!`+rKbK5o)fMs*^ z5=QpkqvCA6lk`L>BC^B+J2aC_L3^#5f4~Dz&D5>CbC-iOV#pa>az%1I3uD%7o&8_> z08kPsQSx3cJ{zC$9)JhDuhD3n_%9mn3j%1=d>(!0`*xgCT7OHxgvN-N@tD;U42S&l zt5-B&tbK@}@0#6f2wBpoCnl6l!2&^b=)@%mjIn8#!6gf6P(gZ>`uM#>;yOesNikgT zQ)!V%&}sUb!nB3ste>X0lenCz2a`BWU(p!c1m@dG6d=99Y0Up8eKQVwONFij0A8mz z09Orf7kPy{HGgiwMc9RIdP{@B-OgIiaf0TbjD@q;7-BM-iz;x6v20OqBCJ4X%b-|M9Od~OS+yTzxYq(%+41mB2`ZK=Bzm&#(%AjjD;m7wW z(J~T4zL4!o0JvtIHB|;gzkPc8 z5n_&!9Axt{;F&7)wEp?&U(69ADL!R$0g}Fwcagn64E%GX{|s=E>@y?nb<26G{$5WUJ3I{P-lGyw=emdSi2b5n<< zDIPzzPk#fDL!M>xg~Y9dU!WJyN`O|Hju5~P0f=&tV!8#+7Vnk(N+Sz!DHJ9lWk21- zIJ=)nn_+J^9WjzE8=IN(QAjAt%L8CZ;Pjp+>d zGRtxzM&#F3PE=``iV@OHXWkrvC6Q4WM>!!xZ-1%^j|MO&FGJvil7iytgBtRs-kf;b zoVu4Svg{88KrztDEUJ3JNH+f`o8vCX@QUcj0L7WRna&1-HK1?;X{J!cKG$^bldI2(qhpa0-u%!0KO1pxFiMez%fX(OYXRw&kcZ+<9Q5orCp2&7v!B& z@_%`_%swqJ`j7_zI?@~9L32fEqVEW1u3$I}Cg!?oO&s81DfA5R`GYwOzU)rSt2`zf z052QXEF=06Yl>?f+GiVoC&f;I^Mu5UITdHFgc&B zfyvkhxJcCI{(%8BG)V#AIOm;&Y%d2G0DlQ^fZxIei)OiK0E-CMP4EmfjGIzC@SW?2 zmjP=R_YQw_BAMeuR(SzDfwKd&U5v;Seg*KzO5#Y{J~kL?4+wkjwF9vD06Yl_NTqAg z>$vo2cnXU~mx12s8%s)00wz%fpdBWq-#wGU-=k_%sYJ|2c^pk@o2&!A#t^r{(SJdp z(Zkob?ZIIHhqiso_1+_2k3K_q6KW;oGzePtd81*B{THX$8|kQ?2(iq^J~iDnsU@jW9LNw-cgJZdG#3WhU~9l>aTxg=IFoPqRr1Oth%5R9M@h#kQ&CFBGH z3Io{_jIBQu2C^?0rv0xCgdtWddMfx{al%;io z;m%8|TkQTR92N|1)^DB{3H5?u)^Enq9}WnHeZ8DN>z{m~& delta 1541 zcmV+g2KxE+4Cf4xbbkfiNkl@L@6o9c+y2%E+zgg^bHv>Et!YWOS_KHh| z7txE7}AmDKwfW(CH zDOkX-b{)9@fpb3Xa=73D^D9V?F%R2oB(4Ia;smGje=02!2{ujMFqpQmpZAmGW)hVn zB`}GSF9^nE zj|i0JIK?aqKy|;rdkPY|%H%K=Qf`MhHdzK#zk7au3V$%hP!7_086YMLiPk?q|BEp~ zD6`M$JcCeGcY^k3&)=g2^h#zTT~Mudwu-20_?=^nTEe}!(^~JQHw{>n%(PaJNs+Cx z>XGY*1~ofKH4NsNlv&oRT%nV1BMcLO0;H+TS28zwSQ_H-Q~THlITUF+Ur5|a_yu~= ztORJK*?$NDYzRP@gUqH|;AHVZ$*(N5fRLHOAf)Ukn>kMICOA8z$^sefg)u923Gj}7M3V51>Q60q(U> zjDN-YmSW@zhC_d1uB+D60R&T_XMiss&0&aTcVb@UG2H-o*)V50)sL7{LhHaj+xVRp zI|Wh%o`*jatpJ)EfUNF2(D9l@zv8x^$4ajOyl@ztN7uk)>;as`YIFa<02-RK0I*+( zPE5C#0}Ox!IKXS+g0p5hX#kT5*G=&ZG=GenGP@T$*AFiP<}U6Xesn^a<3m7p-KD-K#-jYWWub39Q%H&K5jIOvG?j2Ya<)g69K0A*kh);#eAeOJOI{}!U~)U4&}#Xnc<&2_qiFy7lJTTYFl-}Q-C*@k;AO$kX8q=Q zkx(xfX8oog{ow_{u&f{e3O^H-drw zU`l*NFpPm1!C3o)4ozt+`vV$?6%6MOy4FCfU^su!)rhN<1P{;&l? zdC(us95498wz?no2W++ePzFe?Kj;du?+>bU|45xblmr8}qQ)P}f>HPbt@uNw);fOx r{Ud*H#36sMf&qv8!3xIz%pd*(9rg*Q_TtV)00000NkvXXu0mjfjLp)9 diff --git a/graphics/pokemon/aggron/back.png b/graphics/pokemon/aggron/back.png index bc9564a8990813264cc64240d3c1ca2729f0d9da..97b7d632fd772d909cce5a30a94bc1c3af98b5d4 100644 GIT binary patch delta 664 zcmV;J0%!e;2K@z)B#}W-e*gz`Nliru=LQD>8Y9MvtsMXW0$@o*K~zY`?Uk{P+CUJ7 ztyoHvYL6Fyb+A(UJc-e1JMdN4U3dX(*cZ6MI??5t^eHHK38a-0p?$f`%G?VyYj<|# zs?=i{3f&U)LlT9aGStbBxI?*1Ng@QWviv#a!G^l3hpu0OyAy_vB>>NlMun zNLVQwxX8B(mZ%HFhA#U03r>S-w|cCdeEyh?yQnv=KwV~|3R(-{i0$%*i$Vwha-^J& z0viO<Fo_Qo*nVw_0%b_eyXda0KF}p$l}lf z6#xoo9$Ho4ZqZi6$MZglX5>BOT!Hrre&R$?B)0Z&iYqrs>JgLWI^mh^SVY-hr=l$p z2&nR}*ybr#Yw}ZByKjL+8Ok)TQ~g96@^Qt02|Y}}T41{RfAYls02kqb&E$T9UmWqd z9Toy!A-NZr!SQv{*{nQ(aiLJqVik23!2qaWh9+2pLSXM1B;^tKWGMMUny>b#KL#s0gN?p#<&Rzug(TqrHOKJ5^575P)M0N zz!<#hj)}S&e{qc~=@cGpIGvGuXEYJY9Ip}tU?XN^)7f4Fu7{1dLqJ_Cppl`;Ss&;< zyAYm-J7wCqF})1I1o5&on9Of;&-J yzX|6v?W6Ju4ljcmB`W|$2{<=R_D}r}{sswaY4)*r|0000C}9||@8kXd{iG!RufJM1Qp!Ko<-9B(yp-TDn7_jY_4%3w4zQ= z!+NCM+LfzPk98x_SjE_TqVx>_P$nxIYwm zOI}(?QtHk?!b+Fhh2&iYOVkBoS0miC{tIq{YVXZhJNf+KN+8U*aRzmnjVfpz$Bx)8 z#}yEW0Vt7jItpwMNRw|!te2w}us+e%ckHnXEo=|K1_@62`RxsVHJ%*t@%7Xxuzsqm zqyW7woyg)4fC>NwG#^@3;N7BI5gpHaA!d|4j+KO0fthF zDJ8PNTcK%QyoWvgNg1I6TX6N`j}}-QNt9D$fbJ{Rt(RD|Q?vlq8aQL!c!gIN16`$w za&;044G<`#OdVhhZgtCu&LdvqN;-vm>sJ@#-UUsBGRHxF0}pKC8O3zAL%;>SiEj~5 zLj?@d4>{`ty=NEv^Kh$7s2kJk;8TcuK+l6H1^|FP_e`cfXB@)S@e@wUKb1XzzwWy! zBA+vz6ivaCsH{JP%bD(@Y8xD0t~^Rs0ICvjZknqX&_BI|_zek=kl-v8Fv9=<002ov JPDHLkV1ffoGE4vf diff --git a/graphics/pokemon/aggron/icon.png b/graphics/pokemon/aggron/icon.png index 3eaa0605429f37a3e12194d559d8ac7ee5835fff..26abbb44becbca0cdf0e8c1f738eef5f279dd261 100644 GIT binary patch delta 412 zcmV;N0b~B@1LOmc7zqRe0001qplF?uEDu;` z0aC+mErJC+XNt+dT2#Pk0pr-1TdfEpKnwIKyRF@ZDKfMYY44CBmf|wOZEMd$bTV2C zZfoWoBe{H!Ymj>;m@q=DB_@D=rpJF^w@uALNhpw|{X|4xgzP9!r(fphxh_l1YmXNP z^Ri;R2j|#@bHOLEm*C20#+_%q6dX0PtA{DfglAsqERgiGKTkT)Ls35jGm~vSK z@h=}S-ein>pgx%BRKf$yLJCHG>|pLbK~zYI?UY-V z!ypVpV>A8fhrR#ZjwC{g3DYwR2&d0j$d8bF9M2jnGxgT5+zFazwuYcLer**Nh*{(E zox+DAl8U<|5!Q>jJnngt))9^(-09Vdg4>wD%w2J}*`kNt?B|6Ki$FJXp>ju!{z?cu zBW+c1F+XGoBwYG`z~-r84+nRLtG3{TF4l8jN7B6Kp)n( zGLAdTaTEh6f=3eq`Y>FZ80VD|>zl0JZ=CHA38w9hZP{lh3AtGH-OCLiXUG9Qlh`!_8oB-3%`5-0000< KMNUMnLSTZgZnW9} diff --git a/graphics/pokemon/aggron/mega/back.png b/graphics/pokemon/aggron/mega/back.png index c69f945a5a9f19eceff7b79465030c992bb615ac..349aab602363087c30028093160b265351eced1a 100644 GIT binary patch delta 666 zcmV;L0%iS+2LA<+B#}W-e*gz`Nliru=LQD>8YZ^jS&{$%0%A!-K~zY`?UX%^+b|G? z4MP_oS1z`b7zqorTc~m;ap}V8%!tLF#DH%R{}gJ41p@GtnHiE25KXgK#2g;mTydKfq~ zd2B-q9vG({J+U{|11EEAgw?QT9_Orr z&2R|-G=V_LCgmP6GcfjWYK)}_1{Gn^0GN)mr4*P%0GsH_e+K|e_9omC0`MC7BO*jR z1Zo22@K8UUsvX+`RIDbOM0G)lb3K zkMtd45;I1aHv&B*+{L>OP+`;vNZ7boWp@DyN*u6$RB`K)0Bkb5)Q|uG*2Q!cTKZW4 zaQn7vcKsIpMY8V+fF7^@1$&WR3;@%|=M(5B4+4_A5GH~zVgLXD07*qoM6N<$g0XKL AZvX%Q delta 675 zcmV;U0$lz71&aodBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%S=gaWC50IbdkxG13wW31TQI;%`{ARtN{YKFwRFPq;06#`6KzBX|L z0;0#>1BJHLaTiALfS14-J+U{|11O^za9<0CL^N+TIkmWnP;U$Vq*GLSoRBsjZ!VXL!`uzlds}x&k4r zH8Y?#)DUZHt!D<^*mB;3xC^Mx`uZS3nXo8$KJEfez?2a6+A{#$${E<;o#_xo)B%+p z0faShXCC*gg3NFU01SaZ#ilAeVrF3MA!>}J2pW~)&;Xc@vt=m|i2x4KRZjqj>`llL z0`MBeGa^I`0u2FwdwA-f&M|AC1P;r*HzR9r3q6nISp;PU)_%Saxhz}H0J#rIL5$IB}Z zNGAX|T>Tb&|4828YjW$X#@ZO1Vc$gK~zY`b(TGE<3SbNT2%?_X{$+q#W9J-i9LQ*_qjycL%a8TAx}UEPMEJ6!kx5e_1x|e;zvn_?r$G zWr!Gc2K(j_fVA($2=$7qXMh*`#*Rs2zP-A+dIUsUJ2p&j-MxJZ>3tzz2ZEG6ME7tfO=b?A{ImyEXuNNMR!HL%?Dw-jVmP#yE?`M}Qr~S|{ic zkqhBXKLVH)=Cx=&jt1K`Q+)v(<^CoWFjzT3M;qzJ`j{S^2mO!4i%|5WWN)(`6`e~?O&-K4Nn4S>Ic_u;q* zKuUE?_PGJVu8yV>zlHCy_$H30!10e>TGdVSwvkT|)Z^_$duZ)uULnz5&VwX`m}qN)O+cDM_+G0(d!}mqE#p z*Ok#kDxAy@WJGNwAqc@sT8l-Er!Y=5kc&)&3j&PlgeZIsNPUl6ZYn8qL?1Bk0WP%* zW?p7G#!f?O=g{kx1fifT!8Jh9B|)FL`Z@2eO}7RKVNDF(QBjmX@&LjWf8>s3YvnQBm;o@u<}0OEXARvSTlbtz zMuPWAXkpIo_8ZD-l6%`(df4WL`#+G>lS8qc>}JqaFq>^-knF}OPO@x2ZXaeH32ny5 zoeR;73)Y=y3)nzShCp6u7qLi+ma+yn7QDAJRjx?}%1ci#Vv!Ysdod^pTY%kT5K@=v zbdz`4WS4?FcBOZWJHQsJaD_hEsVYFt1$z3WG#?BQ;5`aog45*#I_YXzDVliO99NVC|!Y})-i z9`@jGT40bNV$?d^>jwaT(z+J|G!~c705A5fACuaCdwu=#0T6BdSTnP9_vSH>N163U zxirA*9+ zfE~ojBsd}>mvS`y2w*MDD_P4@)KimWzfc{3AT3bU)00O)WZaW~&ti~?9A8qkPHyHs z;FC0=4Nm?_RuM1@;K@xd1;_b0@o@6){oWlSDTvGJG4M;6;=6zUDVtSn0C8EK*iB6D zH4wkNeSfH%O)LWd0bP!L;179ww-H~U#|j|J=NJ!w3MS75QxnJ7o{} zJNOWeMF2|aWAe{`EfBVKw3YZR{D2MD+E>8|0oPZ1G=&gS!fUOHrDsq2Id6|mECg#ekx+h1t=0=p!2p176{sk5MMX(q0qu{uffXb} zGj1pZN67{UxlGoD(V)Su(5HU2Ktl>BM~Ct@8w3{c>KO}*tEGaODHI(Q4`Xja-HJJd z&@egAS@_-6m1480(yCJ z=f^dFJ!g}F>HDxu)N8RyehfOZL|AC~M9Lnv@Zp3J!{-1OoZZmbJnOeMG=C8s Z=Ra{g+}HVTA9DZz002ovPDHLkV1iyt7B>I@ diff --git a/graphics/pokemon/aggron/mega/icon.png b/graphics/pokemon/aggron/mega/icon.png index 4ddc4ef0dc9562f37ae853a27c4f91a53bdf6bf5..774d217a0b7cb6bac32b700344accf5cff806767 100644 GIT binary patch delta 426 zcmV;b0agCr1OEe%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!=QCM`9 z0004ENkli1K3eB1g z8~+1Yf?wDD&Zmw+PA%p12#l;Ny5~UF)_(=doGK#vZa<^|EPuWbCS~qBAdYm6obN#m zF(Sqi^nRv}C_84bn)d)NQo~PVVC^VX!ZG4P+Vrg#Urb)KvV0DmIZYw6ccmSO16gWSj|Z_}utxwjJdeYz63W7c>dUv7Mj^*Mcejm7)J zdnNAv^!qPhBshRc2QbPV!Q=+!_5?;XFt;jT%myZdqqhbo(A>Z@K_4PWz(j91L0JUR zAU@_GU_?+hUckf=%?gIa$I>SDO;Fl=Y+&kj2O~bXcOx3ji61^V747`dNBWVEPo+8& UYZKrVw*UYD07*qoM6N<$f|hB$-v9sr delta 394 zcmV;50d@ZW1K$IXUw;8=Nkl7%H3%W3^UJ4@mZoi}eEWQvf z%3M!C9O)c6U4s&0M2tD;{Z1KCPRw96?*X2qhM&kl>u4#2V}HbzwCQUv$`u;l>9hu& zsTD~pPOlRW+T^WSWpT1lMxCTaEt?=l@(3Z#nQQ+Un9zeI8-0-?YH+If3}Lc3+Zr5Y z2oE$!V3L!ByCfe3vV@rXHc!$701?YM_pOt482aNNFLFrRG%9HBtpt9bE(h+IHD1S; z7jLmX-X6YH@_+teFYmzL|H!{u{{@T$PhgfOFv>lHNfpfH4veZ`E=9nY4NL+@Zxu|S zxq_*JK17g!iQaC4k_e(fe9S?>h@fP=fQciT28PAQS||2ZQ0rBN4NN)jV8jRaPNO;O o(^Vh5WbGb3h>u4wKl%6sr8*O9hnN%)00000NkvXXt^-0~g8DhL1poj5 diff --git a/graphics/pokemon/aipom/anim_front.png b/graphics/pokemon/aipom/anim_front.png index c3e884d875b7c4a8ba6b43fd44427556cda6cc00..a6aebde289965bba5deea118e5d4920cb58b4c52 100644 GIT binary patch delta 991 zcmV<510ejX2(So{Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!?zg88w z000A%NkluvJJXLGnMqf5W+zSb9GY6)+IVS>8wQy?^sPzwZ~J|MFL=8Gwog zz;g&$#4m`FFH279sN^()0`Q0=QKbOt4Jtx5A(0FqwGyF`$es{#^FrLBT~hPcDWyJ2 zmPu0r@NJ)X0-&LIB*1OnTPF1aXwrcUSm1p^NJ9Y83g3<-03@yFq|pLO1t2-*bx0=1 zPi`Gf_)?nPkAE)$-hS)j3BcRUF$QoXZ_;vG8yf&eN8<Ea}ie+K#Qav zGA~?Jj-0(lu}7EuIrUUB?`}q`j%IG{UDyj~q$X^D1AjM=48zZZ0&F+!L)PG z&r%Ur1AlFpPBT8tl?6JmwKbh;#s3Onr!Om`0~zPz%kr@n;G z{%@!?mlW%5F;aaNB~k!*F^bfH$X=;X6%gEhcmw&BGv!6HRT-=ds87NMjpmS5k+d4@ za7R?BQtF^}(zuwy<9uD{X0=e>Wg=03FC9@Jq<>IehsrWoFuF5⪚J1kpNeMmz(1T zg#)3y+p-PdC8ML`MmibqRrx>$Sjnq<$8h-Zq$dFB+X|je01h`c2G?L9y;EyvunUKu zP6pTESxpWM-*mf^ajy;c1tJ_iWaFepHgKU<>I69cK4QQ%I$NC?0LwVNC#X2&;tHBP?j!; za=P#11<2eO&E(2B?O}|C0deA4U%p=+hm0`~V>gonXOeEa0^z5c72^u0!ecEU){IU| zOsZ*=)z#W%fy4;RT~hE+$*9UkV95lStXKi6n$~^r7XU+(d7kUzLb){qc`p8a6Tp98 z{C@$+3wxon51fkx>L!JKVAJ7H?H`1FKwCLi`v>6*Y^{F~zTn^Zhada3A|Uw0=KBBu N002ovPDHLkV1k{h#i0NI delta 986 zcmV<0110>h2&)K?Uw;F(Nkll*e5XYYgaP#0tiFQVjCX=knQ_$J+bF6N5 zEJm{HC8;61qf%Rs0kqVK%5&S*mDMC;27iDI-HZT*6o6kK-=;@8gA3h}0a~;}4v||9=kfdVlh4g*pLKY)$(B-%X7xLrNFouKC#SzcI#%XkApy=ir0&fG($&wm_Y_2M%Yn8T?MJs7bGAOpH^ z%>pBX#o30dP>4Sc@MT4H7Ptwo6rdXVcG!{{9=BshdL=15T~dY}5aZ=9VX?RQj{#*h z_?o{CA=2~%-;$XQkbEdefIR{5ydc3m1CoLaIl#BfQkul5^FSA7v&4*2_JAH79L#0~ zZQD(v_6EmYDw+0BN>f z6s-@&U;@5KTpyy@XvFUixIT!3)bRTQ?ge(?{(yVIf3rXQ3H!AoAcDePYybcN07*qo IM6N<$f~W%C4gdfE diff --git a/graphics/pokemon/aipom/back.png b/graphics/pokemon/aipom/back.png index 5eed97359580bd88d9e9c2f5c7b91de70963c275..4f79de9e17f376b749f52056dd74ff3b576acf92 100644 GIT binary patch delta 639 zcmV-_0)YMU1?2^hB#}W-e*gz`Nliru=LQD>8Y{?AB`*K~0!T?jK~zY`y_CI@+aM6f z6=vvMWU=WDXFY&Vc>%?CFKLFkEABNsT;bj-?xC)^k%~N2b`e5g$xe|;C?sHi?EZK8 z$g=;{R=++U+xzzN5a?TLAG+wT);@BvLI?KzH$c`S@O95f3BDjue`U+5^7aEie+^$+0_qmX@(2)109TN-8IaW}pl3jn0@V!QiCsjM^xag1oSuNtuNNakKpZ2FuKJYm zB$M6;Hs(<~K+}{bgrULi=*88--S}r5az_|i%68=@6bL(Pzuwa_(}1CQzAM9-(hk6D zK?LFwhq;P`b#hl#O&7-y2qHIR*HxNlLz5=dB5y(|2N9z}Z#LWLQPg9pjB&mN9rNV9 zoeIm78xh5j-Xn7X=1+D=N#AT#v~ z78vRO*!_1AX8$c#U!V8&p+DaRhQ4j@rWm@my_aHz3EI=Y0Bk_u_brhcd_kaM*IO0+ z2VN+_itd*2+P!}=K?SgXl`0bQ2M5pu-pJz6#sEKL0jR_aRk$R;x`c5h+RFzuVNgHW ztega10Js|Ft?y|L=(B#Zz!5J$5XgKV!w6hzDCi+xVv5HIcgR20b4%S{4Wx!WCB>=Dr zWN`*p!;HYjN>W7tGZ)jI4aYqRKI*AWBET5i{|tEWfUrYFKm|ZU71;FYQ&Pd-EC?jSU|wv*HlI$zQ!(edRU?` k&9&2%BIYl^Hw0sU0OfeW8aCkzDgXcg07*qoM6N<$f`qIbD*ylh diff --git a/graphics/pokemon/aipom/icon.png b/graphics/pokemon/aipom/icon.png index 294ab74eb43d491423a0017e5a39e4e63d0ead98..fa771697a5f8adf8430812b0e8e25b2cd1e83a55 100644 GIT binary patch delta 350 zcmV-k0iphv1E&L!7zqRe0001qplF?uE&g^3>!w9U8R&m= z+gNBZgEqvda_RR&0KO)7On@F=*UzWgIg#qzANEh1)6Vfq#79oBn1&;t$a=kMM zQub4k71zi@#?)pc`YboR%#*y;4I%S+{y|=?DF9Sl_nuVFp!)?unexY>0WG#f?4QQ3 z>M*Ay9g3Yt9WqEdWRP?y`bHgCzD!Egfss5GIs`w|ELqT@wak+f15P^JdgcewPm)z! wc``tJdctp)FFWQB5(!-19|V3|;}87!0BYILBpF07*qoM6N<$f_qSw$^ZZW delta 334 zcmV-U0kQt41D6Ak7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0ToF^K~zYI?Ucc8 z#4rd%qvZkuG5`O!1(RJBhwQCYD=kqj;RR0|&m706ez}0UZ~JBd?4Ag~^SUFTrfzC$ z#IzFBqica+tu_I67EE;z43a0HqM=u$69Abp5t~W?5&*X$a1tQ`u?h#k%pS-$K%xi< zct`+CGHt|Tjo?s!h?DnS#e+EBUr*PB{X256@e~H$`>8YZn-&9|wln5>ZUklk?5V*K zP3SlQaIe?Ler*TW|GYgI?+(?c{!0Bz`(KD|{{iUsAAoNE0qFLhKD62Y7`)N!e`HAQ zDRtVv@*xK8DRtU^?Gh^I7(FDG{oM;-Vc$}u?61rGNR7NLFA>R?_J3u=<)@{>wEx?4 gbIG;~@dNqr1#Ax(8ReB2wEzGB07*qoM6N<$f;Fs|HUIzs diff --git a/graphics/pokemon/alakazam/anim_front.png b/graphics/pokemon/alakazam/anim_front.png index 2f49747fb70654b86cb2c82e2c082289b2aab72c..44322880c91eeb0e4f9ef45d715ebffd8cd4f884 100644 GIT binary patch delta 1170 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 delta 705 zcmV;y0zUnm2B-#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)a_HK~zY` z)s(%8+dvSwgcS6wZHFjNKt-_^iS863mYz;GE_ zLIZH?gA1U0~@@N>)?*TpoetX{-Wf>_c*QN6*O%abmc1Mx0 zf3c%j6Pr0vioVku)s|?%BBa(BCd4Muk3R038b>=)TMdxMk2=n{|u6*`1uxTDwe^RCjWzI|S4CO?uJ}^Unp)is>9YE(T zpci8yrIDuGdVkgfVqGR*^f!^7AP*-z^#I+6Snq>~3~qjZ7Gs#7c_gC-SX2>s8(4sC zEta{KXd0*z+N3k|5Owo;i==fjx&TRzvOy5I)u&8FR@tev0bF{)FSioo6%2#IOYVWNiFxdsxJ0P5P-gC+ht{Biy{&TkD6^PrdqnJEFZAB(p)2V#GL z0_0E!hlAtDf)2$`MNRe|PyNX&l>RnD-B(%Y>8745lZl&; zFv44l8Y@VReQ0Ai@d1c4A2rT=)Hw42Kl}IsBF#2opApdO00000NkvXXu0mjfbaB6H delta 440 zcmV;p0Z0Ck1b_sP7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0e(qDK~zYI-IPm? z#2^erJ3%6N4Fo$#hcx)Di2n%3y zG$c<|!ENIgKXd5B6~0#NT$j_pQZh$IH~&5@Lzv~^@5OOBCCr^$=GE+_6dcDfNqkG2 zGldi-m2xV)D?IIg`zdgALCy@^4ncvcFt1i1%WSGH1lztTbqHv!8CBeA&p=pMN1<|4^@7y-I$^AHH!QTC$ zG8I9c%ze8F*d>)45!8y2cqB;C2_*$Pb@K@8lTt|BTzpr5?NP8l3Ye4kgWD8yDx}v@ zd9nY?_4NSJD_sF3#(xEna~Piig29J-fW-JO021TB07x7E0T6oT2_S9!2S9339Uy)D zp8zthrU9f120*6q4}b(=;@tOqh(q$5Th;9oAEK9ko>1_i6XuBzl~Gvmp(19*2cCM( i2MN}Ez~yfjy?y}a=_Qe+@ae(;00008ZxXpjqd;e0`^HnK~zY`eUv?K+CUh` zjT$>r)WOtd=@utlIz$DNy)@45ATFsX1Bw&}HkMSPd*Il*7<^eP4;a=gnAMBpFHv>R zXXxGe`~r4-gE9B~?*F`=Ic|R)RJro??NltaziXW2fJ%1fK*K-P-^ zzEu_iG02fbY-t&X2C^X>@0`&ZN^K9A zjk0+u$}v%pHRb~Qe}L1(T$Qw{tm$+Znz)t1m;!JVo7FndH0nWaD90ks5)mIvf|zv< z09w2Xma124h!Io*fNZuM?XshuBSuUMY6x^501BWaih@GYWtl}1WZg5sHs6piVgTNw zd=RFY0Ao1)nFnlWGGIQm;k2J01qc~{4E%28GQh`Dz=o58e+ca%158paopeLoO(6y> zQqM>1R;_2gMArz7Q5+?HOmLV$Qd1EgrHce(lU4z#scF%jcKKln%*o@C9=mEOCmL4a zy}($c#5e}c+XAgZL}w*O+_e>(=S6AV}hK!b3u9p&E_j=M2u z57dK@0dTm^jpZw^B6qaJQ?wvWF;W2g2yT#drJU8@uQp^pNV>+;IwRrVqsLFm+3VWd zE+aq~&U+aN{~Aq{4@!Us1Opbm6r*km_`pH%w*C191J8)Igh&0f5Tph}yM4970~S6n t0KJ$CC6`Zw2!lU{eftrg$FocA{{dA=I-u{8*gF6K002ovPDHLkV1n7SaQy%P delta 832 zcmV-G1Hb%}2c`#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{=-wK~zY` zeU!g%+CUV?4>fkAr~}ky>6S~nbco82?4@yb2XRSFGoVOuU}H%ox(A%Ci@}$*@_=E@ zf?2&d{wJ#L`5XGqKK}p{-(bwW&wan|-n%o(jlBvg9^a13h4FXwqa0Am&g|hlAU8LF zGj$t~@YgKRD(8XY3~*e3&E+LEGJw>~IUu=FPd%jbTpS52FAAF<{)$d=k2z03&1aGY?pX&VlK`GA6wo0LgQJYVdC6b^yy#z%s@=GPDL9 z&{?%q){XM!7Gl7EWc7Ri+eR((CAy?^MB^;sF@`jW)JR2GD`}DhNU&BBsi`Q@opyvl z3QXDKAzXIR!bb|I2(GWqQeqSXaOqo^eS3r#*Pf;TeIkw>S$C8cy9Pqwx+IO;UDsWy zTp~PlLJ+(>o5bPEm++SZa8$|>5O_b_HJMZTs~fPf+PGhT3;JaZH97kuIJ4Zw@%gZO0{g~Tw~gQb%LX3;kK(a&{aod7feZi|3@ zs*0>FPLkUOAoj$^2q5viA4|1a3;I2Aiuz_2Nb1l&41vD6&!mLg1c)kWJMF&!d8Z+BHy?Fot1RhC5K~zY`eU(pd8b=hs z7pX%epI{@as#+m2WP3!aajzU~e}K(egTO|SdoWp|$cG*r`~eI@?`#-Lm3(m}1D71g zf#DKGNRd5Xpobm+xyShoeQ#z77}Gq#{+aii_vX!;_ttUNCGC7$e-bqHKZ+_AQWDTT9}_o^OGI1>6_@8nENXi}W8&Sgye;obO@}2Rmy(VlTA{ zxclpX6WB1GTh1*!3Fa`KYL}4P_MZf5f#*iyvZp&iEWlRaHNb3fZN<#GyoCQVe)84K z(s_EBzXp#sr0L+7e+BW3^X8+eb^~_zvhYN}xZu2fvediwY!JGANYf5!o`44fBu~xJ zatm?lnNJQ2DZ-ntIY{Ir!%H+z>F&YT!$X)uI2Q&;hP(rj(rva#V9a!R!vG;~`(}#y zuSl795vX$mY>=|iqjWYO+sXoH1JJw1p~sep1=?-lZ}sE^e@2p*E9%}gY4AS*Xo*g* zFUJ!n83V*@9g(A(bN&wi7osC20^vz`nZ$US<|^gz_waAttO;=pfbtRWLkoZH2k!Fr?PN<1!Is${{!Uzt9HKHhY>BhkHe*b@_4{&E z7bX{^A}+4vwewOJ!*-7PCa8iAczKz-uowIL7~!0kguXI%vHMM?we z1$lV>5rH9i19urc14TYRqdPR`QV;;9_X|LM(sP(u$kADj(rf^Fuuz;TAmCtC5h!ZV zfEIope*vJN^;~bmT+CKgW#;*LfqGycq~tKT76F(tH8ESAh8NVi7U((PBnLip+BB*} z8lLB%@q!#)qiW9rAU0R{gn*CEsdrITH^zt75B9*bj7ATT`v4;RLG%oeo9Ss>Hwm2w z06PHy?om(O)iBZ-)p5hm&P@3!GvR94S?TBEA}8M5)Dh4p2B80Mu%= zs$x(d$C51p!r%nmf8jSGg3>)@4r8Z~Va8~7r8nF`3$29_E15=G<@ZqDjI9D)F5dC5 zPu*yPn;PeT*gP$zdMnuLZp7+Xo3Mzhb%209QsJ#gL{NHlF;JU29Z(f4XnbIsJ7G(( fZ+`m8(~189btV;d(X?ds00000NkvXXu0mjf1qBW6 delta 1126 zcmV-s1eyE03CanOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1S3gAK~zY` zeU(9P8b=g>2dP6OpUgy7RkcE5$o7a-<6b$~{sEh{27y75doWp|$cG*r`v({gxwBy` zRr1A=48G(*4va5RgjAXN13mNr$UV+)=zFv4fHCcp*`1yD&3kX=&3h(KBt!mRQhfbC z6v;f>`gJwHa>;wwTWuhJzZ07Xc48p46ie#GwjTq<7+^2_C1BG}g7hCPn8y$+$ajf{ z-OVK+wY|Owu$^Uq1o1YW#~dp@+00(DG!7xZv21{(V&J(`FhQOOjRCO$F9Gg|8w+NZ z>|*V4p<=-r$_0m)RXE1&<3D)iBpd)(HLmAmA}^0BbZ5_EvS2! z^hEvvz`5%5`ucW%MA8XB-O*7!ygHVD18}N3S|bo1glB2oPs=^E9{e8uC0h-pY5*7? z0Y8iZutdjta8#D9;AizA0V>C;EPe1$0g{lK4qN}oqobxm7q`Y=tE%H}2MtskCjitx zE7g@{sX%JOn-S@M{-6|k=z`ZbmxPW)rhBfU?}0nJemh!!(*v;O&PTpe7ehi#)`sWm zXu2VUP;dRd9yXQB1+A*n3w=pm+EUn#texEJp^Dx>pjV>rCj{W+w~4KszM9#It=&~% zM(Z0B18YEP{gD-C)y`~Mu&i!q8-bxQ0|fdvclgD!vwJX5vdkO#`(y1)Ah3385Z5d_ zwbqspfYUL5ICX2Zj{q9b`s=G0m2+zSdY{tIjr9Xg~{p9tEIi?aXe#TFh46WM_q0k$Yf&AEZnKJWBvfgc-S`&cFxiSPb+C zILU(#n{kaQm4WdLG+vO$XH@US07#rG93kMNbMBqi&6V?E?R|XVMb@GR$bA4i{6X~` zke}K~Qa34E0027y0BpZ!?i#q$DYr?(&+;sI@Ud@r9CB^0)gf+#aqAjPisuUOx!-Fv zJ01^z>Sok!N4Sw3D@@~07*qoM6N<$f^Uxv82|tP diff --git a/graphics/pokemon/alakazam/mega/icon.png b/graphics/pokemon/alakazam/mega/icon.png index 2d018ed0dc1224366df6ffa561be42fdc7104e50..d463996452b870c05d4f24e373c50e9321202e9b 100644 GIT binary patch delta 416 zcmV;R0bl;{1D6DlUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT#2GF})= z0004cNkl*Qx5v zAXUS_g^<<13BZ|<)q!FT_#m2U(YFg|HzmJlV7EYi(Mv=J>>hxsLJR3Va3&q zHeDquE&+m0hfsx_N9s|ft10t1Pnun1Itfbe<{f!hC(xYT%n0#tV;KIfkS2~bH&pX&1ykAt8KCW<=Sa(?pl1QO^*5zF(nphVrCeRHF9>G+kOCFJ&T1*HX$B#}W-e*gz`Nliru=LQD>8aAs}N%jB$0tiV&K~zY`?UXT(+CUJ6 zxq{v(3sOXNv{yxIXlUYiyi#-x=+;*xmC5)5QLsMQFG#o1^*R#6^{v)BTc2(Q>tmrUe{mP6kEAB;?tTU8 z)&OPZA%hlxqzM=RP+b5E01`lGr4+z&c!Ug4LI9+zP2hy1xEP${qz7VM1R}IbW38i5 z1Pfp@#kB}2jzhh@mXXF0UCSuYB8h?-AqIsZiYN?_L!pzh{Co+d)&U8asp{wVOCauj zX8L_qZO(zz1=RBZf6&)~Y5n@y1z0-*7kKl-8?_q&op8NY)ALF85%5=nUPU2*qDb5u z|B6w%Og{ode7fXu9jSq^$S*#qGvD z-r_nC1ltXzW~PYp)SdR778u6AM(Hcra$1I5UV=$h4TOa N002ovPDHLkV1m^S75V@G delta 585 zcmV-P0=E671+fK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t!h)K~zY` z?Ub>O+CUJ7p`f>w1u3FB+N+{9G&FHMUMac;l=T%!WwhDnNRh(1K2m)BNr}5aTA(nk8TaH%+hDj01(%I9s>Z<1uzdF0fbgc0jvl0DFZAa0FuqlbHcf}7@T9+0g=u< z5t>ROtpi^K3t%((ScC+}q27*Vq;Uje83kIzfj1*WpfE%p_yKarbzBr*Zh^!)AOQJ&S1*HX$B#}W-e*gz`Nliru=LQD>8aLcfd0+ql0tiV&K~zY`?Ub>O+CUJ7 zxq{v(3ySED^15gZ1yvl6SJ73VTc4D4Mw_iuL~`x{qWB)*l(-DU%|2yj*4XTVm-JD7 z36Pji|Nb+c^=S0(>1INTg7wLMLAs5u*O3^mZ?)dp`gAi`9}8`Xf4e|^BsFPw_bX7h z1}HNR8MFW-O~3$v>H=5*kN`p}r2v-0BV>RQ0w7&&0w)~B#o!z#JrL_65TR8XYaN9m zSOA+Tu0=?39O~`0j5LnuT1J5uNfgWoF(?dCL}7p&3Z0bY=Sv{94oJXERX@L90&(v% z)9YSf4&Y(>(|dNz}gYGz?&c5sND$YgzL4Mo=>umfWH#-DhdG?u^zxrCSJuJaHCV%0Tkgu6z2e6c3t3ih6yLk z9pt0pAX|XGC+SMhyp?#wzca==09h@()s=L9&W{-r23#v|e={urdE92q=z3{y`#&Dc zZ!F|n3rySFp_TJ?GUi}#I!R6SIiR={7gB&F&WO9AJ(>(_OzMWxd}oZa3~3 zhjr8K3ptpz*)JRbE!ItWd{`L+W97~=pYx_Fq5P6^NaX$60^ZvS)7MpAeWNzF6!{#$ zW1i}-^$XTzHD(MS0OV6$*DrZ4A;YHl1u%vWbx97iP-wyZkpJ~J{Q<9v3D1Eeb0+`* N002ovPDHLkV1knl1S0?d delta 584 zcmV-O0=NC81+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>w1x0j6d0n)If+~*3tLQ3F)+Z&M(Prxuk(_&gD82_cB`yPTvrn0s zH8yMT`T?Shgpv3^{rk^&mdQU@(~v6g>fv!kbr+25NDS+Htq)e8?*{dm(3ZIO=o6`_ z4)?!3x;4NuOP@glKwNu&3;;+Mz&wBi5Lzh(upZQ>46uX%NH#mq3FqQsaE@UIL^}6G zXex=c4tx&Gn+bv_IIzASgwK;i=Gc>w5iU|PR^b^+Fmzy;p?bTdrd2$RC*PqK@E-xBmD z@BtJ>;@I-J!y|VJz(*fbpU=+@ha*8Q=P~bpa>sCehu(- z+XX&TOc*kEkdKOkYyf(O$wn`FEAfawr;N7%vRd?3SJL?zKWB^?aIJcqX#vQhCSyw1 zOZT?_)5-inA=_JjVBXvgtuDacn3KWj#2FO<5nc65A2R|>ySb@t_ON>A080ew_WG?U z>%(z%w{y=pZR>Vl$iZyQapeGLv8{{q%Sss-Tkb5gC9lf@imwTWSUzkm(EGQ-^i`Ra z->J<#MZN~`n5XJn^@6%gjo|};e5$JICCenF*c873X7I5iD#(Er3N3g)cAu WiV4pYsO)|K0000yye7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT#5Oz&jz0006-Nkli4;-(~=L7*Efx?TWE*IPIO5D01khh7i>F6wf)OUOfAuWah- zo)j`H$a?p=s=wMkK7<8u^=q5mTY&xU@r9zUgY|y*(6Kmdp9)~a*W1hrWM6rL6;gGb zWna=NkUjAr0mUgq?^db`(A5<56jOiXX#&eWXaG9Sn@Fd?15pLs=#5Btr-&kA>59t3>>Et2mWxci+TaIOH|Ap+qJflt^hzpzsYAZ#e2SODDZ69s>o`G=eG zo$-H0VFDWvGX=NC4E_cj#*E=%N`~-xC`FY@ONQg0})J0pO7`v#4m;~lVR<tr_QwWKKR9fX?qnLjI_oV8sCOsEAsJAu1Rk3GusR5j2aZ(Vdd19O)6b6d> zcA(9?9JuwyrUp2A`8&zDUjvXqz9i;N%)$EHI_%KH6&P;FfOV`Tu*1MS^NBIcUZp&; z+`$~#sb6>+ zZ}r=-w+y0`I)X`FIuQs}<=+rg(^~@KkRUb!zabE_KOJA`g$qR5S_gpe*ac#3dRl)< zIp;+wW+L@^HT=(|>}v$fEIBJ*5Y(FK_qww+#Nrv7-xWjVNg;ZppiOfqx-#y{Ph^?*wNONXiIgb#IrL6S?Md_e!jwA?&D;Qh> zFk9JO^hSW(2A8T)48Z~bA0Hcok*t4YfmB5BEJih2HTeZVALV-j_2pVMo0jc@t1rPq zx~PYaiv^Q<9%5ry0JKOKf>>H{Ndcstgn1k>HS`7$2Y@3T&=vr`g{p@f{o?>B(zk@x zwyoX(>^Lwz64^@;9O-3d6fE&tbDwd$4NH@$j}22%@ft5QU{^V0lrEyJt1qY_3*=y1d$M02Zo$!>@DV?+;_BfvN=F~YoNijHeEZOFwY;)o`tSl6?dbt z{@z0A>B;DgbI9%IGXk|s0|$NT;R3$vAHN{brsK_EIB?g;-wh?boetRVc?1a8Q diff --git a/graphics/pokemon/alcremie/front.png b/graphics/pokemon/alcremie/front.png index e1daa350c5823898cdea0c52942b282358591211..7093ac250158c5009f0011f65c24732fd14c89a6 100644 GIT binary patch delta 635 zcmV->0)+kP1>psdB#}W-e*gz`Nliru=LQD>8akrk1>FDu0z^qfK~zY`?UlQZ+CUVB zaekxca=$9xTA|@N`d6*TMF9 zc@1+wov!3wFm&a!W5708}>kbvS8rtdbY3eZgqI>r=vn!vIT8i0=S zCej#qAgX{neIt^hf6W=^!ZORYJB<I7 zH)cZBh)9u6^ZQi-+Gy}H=>5#9LMp9tu~E!`ds1~*ldcLK)Y}^1 zs@OBS)Bw)1aX2Xm)I2fH5DEjueLK)*UJl%PV^ag1z5JbI+^+%1AYT&mCgx;)ZXI^& z;R*~lWWYMs64+^AUiicqX0KA7S?*xY>{2u8kG{;0l9Y9$Zp)TLz4^PA=Af-tf~3nT(gym3EIh$N z2OBECT#l#9Tu2|~wEw67Ty5`vl*1<&mw*<-Ak7O7?Ew zW6-AF!k2(RTnqSgi2!haS(hW2gA0AVs!~_?B$r`I*1Iod{l)h2LFB;Ir|sds0@&{! z?!(0lG@Tq?p2` zi7WO&V=#$pVwM7rWf=%YuVj|DIp$ne%(4-TlFUGAAPJ=Gl)LbMXG)HVp;IanrKBj= zpt&KG7%?S=%M^+hzN?JB1w*k7j+K;vMGP|gxdHf27aDh790a`sBeNeHxc!_VuqXko z9s**Az(;JBFWI>O5Z05UL;~FIGYy7C$HF99Ec!JP8Eim~HQZR+{S)vRvzCh)1=CSF zW-m!}E&!3WL#q3KM9JC6y{`h$K!fLDJC+j5m~aGa0kD?vV|%{Di|Kdx0Qo{2lQR%1 z+&%C>5Mr$@bkR^KCIRXKlfc9(uNVqUKqQx)F#@WrBk?{3K@`kXrR;ij72uw9-P5Ft zTnGKS2Dr-ij4m~RKhG}(ftoMI??G;$c~lKFSm=P8aA0d(fK%xHNyeiZfOOrGSU9xD z%J0@^$2P9Oa!b0bSy=)*cI`7CTFa`dR43*f?1`OgM*SgD?v#|O8+Ai@3U%*dsK4m{ bW_aFjU(nIx-Q$_M00000NkvXXu0mjfZs{gX diff --git a/graphics/pokemon/alcremie/icon.png b/graphics/pokemon/alcremie/icon.png index 31cf9e47c93acd36eadfebd3ebb228430c2214a8..01cc73700f4d020a523da8c956f14ec3ce66037f 100644 GIT binary patch delta 273 zcmV+s0q*|s0{sGzb$8avhIHA?^h0N_bPK~y-)?UFGH!Y~wubAv~5 zl;Ro6n=3~x_0`UTnb${ncL_t(IjqQ>#j>0eyMRS7@+7d;31~gS<1ZUbaa0IF-r$8={ zHI^w-S^{wZMB!@1Dp@II5GEAZLkcJ;pkO*b`G5P5ev-U&yzhYqdjur@--1$3xdR-r zWB}3z$GC_Z*nJ6!>34i$P#~(oJ_1`1>2w=3tx}5qM#EL`Fn#kPcUc}lTP?-N9Oxzl|x>+WKil$Umzo=~haB^sz2%a5Lc`>P2TJ&S1*HX$B#}W-e*gz`Nliru=LQD>8vzRO-M9b%0tiV&K~zY`?Ub>O+CUJ7 zxq{v(3ySED^15gZ1yvl6SJ73VTc4D4Mw_iuL~`x{qWB)*l(-DU%|2yj*4XTVm-JD7 z36Pji|Nb+c^=S0(>1INTg7wLMLAs5u*O3^mZ?)dp`gAi`9}8`Xf4e|^BsFPw_bX7h z1}HNR8MFW-O~3$v>H=5*kN`p}r2v-0BV>RQ0w7&&0w)~B#o!z#JrL_65TR8XYaN9m zSOA+Tu0=?39O~`0j5LnuT1J5uNfgWoF(?dCL}7p&3Z0bY=Sv{94oJXERX@L90&(v% z)9YSf4&Y(>(|dNz}gYGz?&c5sND$YgzL4Mo=>umfWH#-DhdG?u^zxrCSJuJaHCV%0Tkgu6z2e6c3t3ih6yLk z9pt0pAX|XGC+SMhyp?#wzca==09h@()s=L9&W{-r23#v|e={urdE92q=z3{y`#&Dc zZ!F|n3rySFp_TJ?GUi}#I!R6SIiR={7gB&F&WO9AJ(>(_OzMWxd}oZa3~3 zhjr8K3ptpz*)JRbE!ItWd{`L+W97~=pYx_Fq5P6^NaX$60^ZvS)7MpAeWNzF6!{#$ zW1i}-^$XTzHD(MS0OV6$*DrZ4A;YHl1u%vWbx97iP-wyZkpJ~J{Q<9v3D1Eeb0+`* N002ovPDHLkV1h~L1bF}e delta 584 zcmV-O0=NC81+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>w1x0j6d0n)If+~*3tLQ3F)+Z&M(Prxuk(_&gD82_cB`yPTvrn0s zH8yMT`T?Shgpv3^{rk^&mdQU@(~v6g>fv!kbr+25NDS+Htq)e8?*{dm(3ZIO=o6`_ z4)?!3x;4NuOP@glKwNu&3;;+Mz&wBi5Lzh(upZQ>46uX%NH#mq3FqQsaE@UIL^}6G zXex=c4tx&Gn+bv_IIzASgwK;i=Gc>w5iU|PR^b^+Fmzy;p?bTdrd2$RC*PqK@E-xBmD z@BtJ>;@I-J!y|VJz(*fbpU=+@ha*8Q=P~bpa>sCehu(- z+XX&TOc*kEkdKOkYyf(O$wn`FEAfawr;N7%vRd?3SJL?zKWB^?aIJcqX#vQhCSyw1 zOZT?_)5-inA=_JjVBXvgtuDacn3KWj#2FO<5nc65A2R|>ySb@t_ON>A080ew_WG?U z>%(z%w{y=pZR>Vl$iZyQapeGLv8{{q%Sss-Tkb5gC9lf@imwTWSUzkm(EGQ-^i`Ra z->J<#MZN~`n5XJn^@6%gjo|};e5$JICCenF*c873X7I5iD#(Er3N3g)cAu WiV4pYsO)|K0000yye7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%bllY7R0006-Nkli4;-(~=L7*Efx?TWE*IPIO5D01khh7i>F6wf)OUOfAuWah- zo)j`H$a?p=s=wMkK7<8u^=q5mTY&xU@r9zUgY|y*(6Kmdp9)~a*W1hrWM6rL6;gGb zWna=NkUjAr0mUgq?^db`(A5<56jOiXX#&eWXaG9Sn@Fd?15pLs=#5Btr-&kA>59t3>>Et2mWxci+TaIOH|Ap+qJflt^hzpzsYAZ#e2SODDZ69s>o`G=eG zo$-H0VFDWvGX=NC4E_cj#*E=%N`~-xC`FY@ONQg0})J0pO7`v#4m;~lVR<tr_QwWKKR9fX?qnLjI_oV8sCOsEAsJAu1Rk3GusR5j2aZ(Vdd19O)6b6d> zcA(9?9JuwyrUp2A`8&zDUjvXqz9i;N%)$EHI_%KH6&P;FfOV`Tu*1MS^NBIcUZp&; z+`$~#sb6>+ zZ}r=-w+y0`I)X`FIuQs}<=+rg(^~@KkRUb!zabE_KOJA`g$qR5S_gpe*ac#3dRl)< zIp;+wW+L@^HT=(|>}v$fEIBJ*5Y(FK_qww+#Nrv7-xWjVNg;ZppiOfqx-#y{Ph^?*wNONXiIgb#IrL6S?Md_e!jwA?&D;Qh> zFk9JO^hSW(2A8T)48Z~bA0Hcok*t4YfmB5BEJih2HTeZVALV-j_2pVMo0jc@t1rPq zx~PYaiv^Q<9%5ry0JKOKf>>H{Ndcstgn1k>HS`7$2Y@3T&=vr`g{p@f{o?>B(zk@x zwyoX(>^Lwz64^@;9O-3d6fE&tbDwd$4NH@$j}22%@ft5QU{^V0lrEyJt1qY_3*=y1d$M02Zo$!>@DV?+;_BfvN=F~YoNijHeEZOFwY;)o`tSl6?dbt z{@z0A>B;DgbI9%IGXk|s0|$NT;R3$vAHN{brsK_EIB?g;-wh?boetRVc?1a8Q diff --git a/graphics/pokemon/alcremie/matcha_cream/back.png b/graphics/pokemon/alcremie/matcha_cream/back.png index 2ef7e2d3bdf0c7c38a5c600a65984c71c7499975..7a422730b9f0ff474dfe90dcb73caf21c67e1dce 100644 GIT binary patch delta 607 zcmV-l0-*ho1*Zj&7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%cs0006CNklcx5O8gdqxZ8)y%o>|r@RB~tF98zs>ED0GvmTB9J>5)5QLukL z*)K@9(e*kK!}YD!J6oS_2J2&?EpZp9kEAB;?tTU8)&OPZA%hlxqzM=RP+b5E01`lG zr4+z&c!Ug4LI9+zP2hy1xEP${qz7VM1R}IbW38i51Pfp@#kB}2jzhh@mXXF0UCSuY zB8h?-AqIsZiYN?_L!pzh{Co+d)&YMBn5pXL_e&t|eP;T7Rc+3J)CJV@0MOTgY5n@y z1z0-*7kKl-8?_q&op8NY)ALF85%5=nUPU2*qDb5u|Bg}1tr&d>QVW5R%I6w%Og{ode7fXu9jSq^$S*#qGvD1Au(0>-r_n tC1ltXzW~PYp)SdR778u6AM(HcrauVk6*oT?*+~EZ002ovPDHLkV1f~=8R`H4 delta 585 zcmV-P0=E691(5}i7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00062Nkl#rG5RAkOTl}3t)eG zCnVEL;06F7wPjX+eAf~+BL%o3p(0o=2fq`Yh+<>pi5@BM%Gq8sEa|VU5U?IxD z3F&?!%rj^N$ajbUkZTU=;?P(EVE1AO*%fj*&+9xR0*(5Y&@m+hiJ-MR07d{ITuXq7 zUN*LsLb3<|&sCfnC;)^jtYRY!di#ICXBFmnMAjSz1Aebx8z9n$fO1Rz-KVaGX$H6s zpgAD*0DTi0$S?u4gb2z_1dv7{m;joA3=WIhK-vsx0JI9|Xn`95q7hzJp;gezClTpM z4WN~(2bA}sQ-JR2Xev-HKPKo2*qX@Z^M?^lPq)+qssV3-4+QFpCy2p7J0gD~0x=^q zR|1t4H2_d`Q;+Q#09XT+VPc>b6@cyBo~;B`0P`?jyB^p7P3dO}fC`}Z0|MJVP0aqM zZCXYpAdUvGIw%H(FmEO&2;ew+IhLYu7g09~LM)JsenA|1L0bo{qCfqH@bIc%I=V>@ zfVzy;+%3Q<$8}xDDHkeoNrE*?fffLi6ky?oe1|vz?*aNab#PP%r4=dxZ!`GDH}>Nf Xzs(>#8w|Fp00000NkvXXu0mjfp=1E| diff --git a/graphics/pokemon/alcremie/matcha_cream/front.png b/graphics/pokemon/alcremie/matcha_cream/front.png index 7dfe1b3073b5a6509fb70c9bd8295f78c3117996..28225df1a016f10c75706825cb1bd34326a181b0 100644 GIT binary patch delta 667 zcmV;M0%ZN!1>yye7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%cs0006-Nkli4qNXIAL7*Efx?TWE*IPIO5D01khprI-F6wf)OUOfAZ*1!3 zffO<<$oBBHs=wMlJ%$Bv^?9E?Sb*c<>7JslgYEI~*s(b5p9^5bxBJWrWZ!v$6;gGb zW#7^&kUjGt0mUgy-)&SCpqm(Uj46NeG=XIwGyomtO{6jKKvV&D`bH#0n={UZWtMGs z8YLQH4UsEEzuJY9N--mvE@&7@DZ*+EifclN4i`jo5kuL+$t$DpK~rplV*X&XP2pfuNBmnM?i2{Gk{L@YO z&iKElVFEi4GX=NC4E_cj#*E=%N+B4F$v6#tZYkyc8TDk zKSMxD%gvD=VhD+ZR9fX?qnLjI_oV8sCS4UesJAu1Rk3GusR5j2aZ(Vdd19O)6b6d> zcA(9?9JuwyrUp2B`8&zDUjvXqz9i;N%*p!PI_%WL6&P;FfOV`Tu+zZ2@QE?ZUZp&< z+`*jLrDoJ0eVHF6DeFevmMw{T^Oqszzxh@E0TJibN+6)1{{R3007(Z$PDHLkV1gs| BE;s-H delta 657 zcmV;C0&e}{1=$6V7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006=Nkl%6WuvEM=`HC`t!)b0k4HT*2T9 zfZ59KqBjEMHn>!cVh9!h`1sfujAVZ$3#1}~XECbLs>v?^`Y7KMs4v&5*|cmITzv@^ z(nURVTrHT?^AH=u0w71a5X73RODZ7wB+TQ8si8N3H~<{!fV=?kEmS?^=pP42mA)n9 zylw3UV8?;!k;q<(;7Bh++-q&V#rtv6ngPh3TO%Iq0Nj9n>O$AIhNPh$ybFIoLRBFG zaY*6zgg{;2QuBO5VCCbrJWjePK!zTGXr8DZl{N@%4)9fy=?PiOxrZN)Bqun276cGP zqjqWR2hcP7LEmomAc%y}Ixyr+V{b7B<-Vh>lg$C@TLTTIwdvaNgn9mW_AGSes<<1C z_4gJ^Pftc~oI`FupAjfu8aRDW4;S!V|M&%gHXUyU!-2a#{%$Dg?R3C?&s*SsK!fOb zQ4IYPfK~0;e$YpYEWdA}sjZn>H`5yu+rjDrylta*>`ZgacDo&33DQREwp0D6l*JWe r4|?1P?u6J^$RBEdaDF5I*k7@KdD|I|5I*Ww00000NkvXXu0mjfg3&!E diff --git a/graphics/pokemon/alcremie/mint_cream/back.png b/graphics/pokemon/alcremie/mint_cream/back.png index 481ce9c78cff8ecc5e29aa50f6b6a90d712c5c06..18449134d5371b32eb12330526b0a11aa9be6c20 100644 GIT binary patch delta 575 zcmV-F0>J&S1*HX$B#}W-e*gz`Nliru=LQD>8wCxV8KD3G0tiV&K~zY`?Ub>O+CUJ7 zxq{v(3ySED^15gZ1yvl6SJ73VTc4D4Mw_iuL~`x{qWB)*l(-DU%|2yj*4XTVm-JD7 z36Pji|Nb+c^=S0(>1INTg7wLMLAs5u*O3^mZ?)dp`gAi`9}8`Xf4e|^BsFPw_bX7h z1}HNR8MFW-O~3$v>H=5*kN`p}r2v-0BV>RQ0w7&&0w)~B#o!z#JrL_65TR8XYaN9m zSOA+Tu0=?39O~`0j5LnuT1J5uNfgWoF(?dCL}7p&3Z0bY=Sv{94oJXERX@L90&(v% z)9YSf4&Y(>(|dNz}gYGz?&c5sND$YgzL4Mo=>umfWH#-DhdG?u^zxrCSJuJaHCV%0Tkgu6z2e6c3t3ih6yLk z9pt0pAX|XGC+SMhyp?#wzca==09h@()s=L9&W{-r23#v|e={urdE92q=z3{y`#&Dc zZ!F|n3rySFp_TJ?GUi}#I!R6SIiR={7gB&F&WO9AJ(>(_OzMWxd}oZa3~3 zhjr8K3ptpz*)JRbE!ItWd{`L+W97~=pYx_Fq5P6^NaX$60^ZvS)7MpAeWNzF6!{#$ zW1i}-^$XTzHD(MS0OV6$*DrZ4A;YHl1u%vWbx97iP-wyZkpJ~J{Q<9v3D1Eeb0+`* N002ovPDHLkV1mne15f|} delta 584 zcmV-O0=NC81+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>w1x0j6d0n)If+~*3tLQ3F)+Z&M(Prxuk(_&gD82_cB`yPTvrn0s zH8yMT`T?Shgpv3^{rk^&mdQU@(~v6g>fv!kbr+25NDS+Htq)e8?*{dm(3ZIO=o6`_ z4)?!3x;4NuOP@glKwNu&3;;+Mz&wBi5Lzh(upZQ>46uX%NH#mq3FqQsaE@UIL^}6G zXex=c4tx&Gn+bv_IIzASgwK;i=Gc>w5iU|PR^b^+Fmzy;p?bTdrd2$RC*PqK@E-xBmD z@BtJ>;@I-J!y|VJz(*fbpU=+@ha*8Q=P~bpa>sCehu(- z+XX&TOc*kEkdKOkYyf(O$wn`FEAfawr;N7%vRd?3SJL?zKWB^?aIJcqX#vQhCSyw1 zOZT?_)5-inA=_JjVBXvgtuDacn3KWj#2FO<5nc65A2R|>ySb@t_ON>A080ew_WG?U z>%(z%w{y=pZR>Vl$iZyQapeGLv8{{q%Sss-Tkb5gC9lf@imwTWSUzkm(EGQ-^i`Ra z->J<#MZN~`n5XJn^@6%gjo|};e5$JICCenF*c873X7I5iD#(Er3N3g)cAu WiV4pYsO)|K0000*&f7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%fl$A&u0006;Nklwi?jAsBy6 zK$l^VPJ=^lj6`_TKzL&|gt#dQXAtNHi>?=d()AXO00e?sz@ZlefQz~u?h^7)*DIU4 zx+jGU3$osQuIjJ0j}Ku1T>aW+_ZDEkdwij&>tMa#J#;J%+ou8;@%1*d0@+udV1-m& zXW5su3S>__NI-E4(YuwZ0(3P6J;i?%d78ko4;p}u^Cr?M@IX`nH+mzIqRkoS!ZORY z8^wu+sfO4UqF?R8Nu`((O&2tbr4(Vc2E{d@M28EaxtK!P!pSS6??F>+gJUHX;2eNR zery1~(X+yxmj^*#K#S!22JU_*2%IZGcZfi^L*NrO%P;Iy0tg$5C>8*B`$T_%X8z%( zd}sWhQJBC6#7x1hF@wJWhcRP#m{QPvsRH(z_@@%!8#AG5M5IWg{C<^yHX1xndVvsF z#+)NyN`NthA9~9Ro|sXekC896F+TyJVSXOC8xmrSDRt47D8?@8Atr&jk(F&p&@K^N z^k)c2X}LM_!xTayA(d9S*eHKyz&)wDt4Ys=4(e?Ua8>LXU1|VlS)3FEYMvNp2!(;- zz8z>YF9&YDv8e%$Uj9xp?$-chkS~dO6LYXWw+=h>a0P}NGGHBR3G6U1&wOGGvsWpP zEO#(RcB&cmM_=YgNy@rWw`EJB-uz`q`EP!ee*lfd&=I7mS9bsa000O{MNUMnLSTZx C5FGCS delta 657 zcmV;C0&e}|1=$6V7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006=Nkl!cVh9!h`1sfujAVZ$3#1}~XECbLs>v?^`Y7KMs4v&5*|cmITzv@^ z(nURVTr8N>^AH=u0-!~@5X91oO9~+EB+TQ8si8N3H~<{!fVKeeEmS?^=pP42k-jCg zwr%wWV8?;!k;q<(;7Bh++^coI#rttms{zQKTOuCp0Nj9n>O$Aoilm_)ybFIoLRBFG zaY*6zgg{+iQ}uj8VCCbrJWjePK!zTGXr8DZl{yG@4)9fy=?PhDt%o0uBqun276cGP zqjqWR2hcP7L0@n6Ac%y}Ixyr+V{b7B<-Vh>lg$C@TLTTIwdvaNgn9mW_AGSes<<1C z_4gJ^Pftc~oI`FupAo2C8aRDW4;S!V|M&%gHXUyU!-2a#{%$Dg?R3C?&s*SsK!xad zQ4IYPfK~0;e$YpYEWdA}sjZo6H`5yu+rjDrylta*>`ZgacDo&32~tPv)>Hkcl*JWe r4|?1P?u6J^$RBEdaDF5I*k7@Kpl}%2_jc6000000NkvXXu0mjfrTagb diff --git a/graphics/pokemon/alcremie/rainbow_swirl/back.png b/graphics/pokemon/alcremie/rainbow_swirl/back.png index 06abc68128d00a8a6f38ca5c9fe5b4a160f84f8e..065e4ab781024fdd6186f3304e230261f87ab5c2 100644 GIT binary patch delta 617 zcmV-v0+#)h1+fK?7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%gcmoiez(eVId|hM9Hj>?YpOBYr84l=<}UKjYbqM*n}F z&L*TNSfBiSMtT~Zt|KvAUu%7B>(kX>eJr#kE&}zD)THZ+hd|vLpng9I8MFW-zXApT zR2RSkfCLa)DFrYe9w7si5CG|76*yrhE(Yf~>48`mfe5YASnDVh!2;M!aVkQJ<4`Y7 zWu$RLr!oq(NTOgyh(Te9A_@cKQ0RZ8EI%9rsdYdCW~%!3?k3&~(>tPFXMSH{Vz88QW#k?F%`WrMcfY z09q`Ya`&<_2FA*rWq!_^s)SYYW6B|smrDyY?)${_b(L42sm(P-J_PWXoBC6Ihjp15 z!v_F)Q`hxfo=eEEDSiZu;Z0qV11%I`g!r@l25;}jqeqpl;qdy``4xIsemY)^i>0Lm6B>U}MSHmy^ zoCnYt5L$rTxCSB&05u_k{NMq&Q3wWrY9NBayf)xAL+Svv0y0|Q27su9msO}0)beq7 zdJ+SurD_5Bo^=9{J?%{eiuun3Edgs2>3n`OqUq_DT0k*iE%1gwP4O7f8K{3pgh!y1 zFr`!olvh*%K*dctwnqR+5-1E61Jx)1tmpPc(r+y#Xu^vOy+{o5=_a*tS-VxhSa#uNxV`7KlebBR099u7gz3-hM-PSk(_1 z-6RJ8wms|Rf+%r0$WK$K~zY`?Ug-i+dvq{ zt-;XI7t5C+C4&RqoohuPX+Zd7+N}kjpx_SXPLBztQ^0PwhC*uZtsDCj#M-)Kk(bbV zyUox|22(m(pP`SmRc~LQeb)bv|MPY)mCFCfgh4RMfW0OLsg*d?e~*!{Uz89>$IVCJ zlqF$JuvCe~-jM}T6gXgN_gY#*1>81BgSOjPum-6-i|1lga!;R(~+NxwaEv z|J}^L$^jPhn@ftivL=i9buGtXcAEe#HktXkfd7fPSRs`szW>q70{$(tT#$@H``K7# z0Xpu0>R^gEjg_+xe`zR`881S1Dkr^%<2dBDmK+4T2yARMFu3S>56s%jhu#bPCX#u>1O8 zgeRueV5i8Z+UTu-P&+;k%(My7TBo|G3KSg^bsLjFPm9d91Spem#v5G(gvhx$;$;VH zBES>5ajHZ`V(w z0${fe<6xTtfE=<|U!O tHv((e2vIcZs;CIm%fAdE{>`uQ4+8J~<~Zl!0{{R32>?k&PDHLkV1hD0FZKWc delta 649 zcmV;40(SlQ1%U>TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0$NE#K~zY` z?UcQ1+dvq`t-;XI7t5C+#gU*Cf3FFpQ^0PwhC*uZsT=z*h_!XeA}^u!cAKG_45oCn z{)WENR(-g8>9amRp7-md(tl-T5Y#SUuYn?!9SPMVB_gUnFul356JY<{f7HLs0p_!t z3yQw7#`D=#B`0Ben*dEVp8C0f|B1QSA(h9z|Iy0={w=dykc>j>*+^yqI%=cG4c!wz3qqZXix3fJ+ zrU)g-s1YY5=Y#1z40157R%i#d$b60{27Wb)590ZH+E!%|&@Q#ExT0i^~FoHm9W_uJ= zO-L*FN*2o$u+aLH$|e!qYn=o^kOImW@a?o}agJ?t83H;5XieCCf3-iv7t^e<6Xa84 zbeBM=9lr-=+JtDWQ&W@$nvRLSjYXiVMJX)-$|RieS_c7<^^thl2Ac@*M6Mmr8h3zq zl0}~;9V9-;Ck4QMa%W5_0E~X}QV=Nk#TY*z36N}^50t}I47^=EjS7J6DvZU}1pukD z*k7GRo7~^65pJpxM~X$H9#(Q&2sicUCp(LxFuzN&4daAp8~!R-_3O339@at>t-35q j0{zlXiNE;&rb?yX0`L9iaeRQf00000NkvXXu0mjfpnWGo diff --git a/graphics/pokemon/alcremie/ruby_cream/back.png b/graphics/pokemon/alcremie/ruby_cream/back.png index 45fc28a0e6f7541c3f9be93c715d8d38f53aafe6..fd9b9ed17fb073fec80833cb452eb4197901e66a 100644 GIT binary patch delta 580 zcmV-K0=xaS1*!#*B#}W-e*gz`Nliru=LQD>8w#Bx1TX*q0u4z-K~zY`?Ucca+b|G@ zvxnSmsz4#+u(|H3$T@{TU5}x#2ohF4l(O&8L&4n#DD^(T()ux)G$%cUgL>4vbViOH zDY4Rf=?_UD^YQDS@yMgmzo(m+6b0+?c22sDuGf(mu5XMv*!pBWe^?(2V~M*!eIyO( zaQ8D%w+1LR4H>imr2BvY0M!Ms03ZQ`(OLs6hDXQ%B?LgWS_e)zii^QH#yyajCJ>=j zmKYO-B3J;MX|6@ca2)#WwTv{5=vqdB7HJgB2nlEm(L`Z@92%3B<)=#^vkpkWOjkd? zT>?q(Gc)h2YJCo5e=eY(2Y|i~%$V2DF2LFmxWJq5-l*LO=!EOFnw(FvkAS}t%qj{2 z6h-3R_>YX8GV(z{o`9qUAooHxJz!7TppOU4ezP9HPcB|19&lqa*#Q*cK{V$8UvypI zca8~T<__{vbC4}S-*L7wGjAmx@$a1R4nWojZ*?V|U+`nbf0O|?+S^PEK#{Z=bGlx} z+y0L`^$QEd#sZV}b{Orvos`-soK9Mh2uSFvpZXXRpt{Y?ZL^2@I|rB|uS&_baF_e1{I-}DExA3K#} S2;c$$0000=|CLF|MBae@hFpju%;nZ;MK#!is~*H*O3_3_gbHfKHm-MvrHS} z-lI>1raImK^616@OD=qW1}y+_?J)o#Jp<+e1VE;hQUL2geaZkU%K(z?&U3=Kcs4l4 zum>XDcp|iwL|O;F2nN7rnz0B8jzhg2%Shu0#xiDT5eMFk5P`xFP2dN}q0w){eji-u$qCGfeFW=!EOFonKF~ zkAU9-^fvGT6h+|PxUY;|GV(z{T!5$rAaz1EJz!4SqmKhD|F9mwPnx}o9AK&w(E$|U zL)KgaeBE_{&lD4e%pT;U;viapo?)`pOJ^k>@#mEB4nS6C&gu#}Kj-I+F$1oZvzZ2f zJZdwhbiK5*{hyA1@;3_k-T?FVc4&10_EH`tPAAT(2#DyaU;3C4AiK>?O|z%fI}2DK zP!W_dkrV}00000NkvXXu0mjf^qmf_ diff --git a/graphics/pokemon/alcremie/ruby_cream/front.png b/graphics/pokemon/alcremie/ruby_cream/front.png index 3f59ec810787d6d577f0a389118594b5c63cf7fe..e64880a8cf1d69886645eaa5c8b270b87cc69773 100644 GIT binary patch delta 671 zcmV;Q0$}~x1?B~i7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%k>LfI#0006>Nklc{#!4DX zn~0GjAy+GrG)P%R3N+g#StzI%KL%{5<|)`2qixQ+aNx4E=h|D%5r z4#8*wx(tJK8XS6KB*L2p!W*+8L`_LJgTORcbiDwyskd+hAQ0374qYGsT-4=oFOY}6 zUfI;u9VuiullAs%Re!a4xDN~9>hmVOvjF?;!!1SK1nd3wzGHFNJQl!+uQ#a`NWb$0 zE2R25O}}MTAbsRP0-95pzFX-kKv#b;m>5&!X#&eWXaFY4o5*6|fv5uR^o>Z0HfNj* z%PiaOG)fG_1|nC8ezglHlVU~;J<~9fQiRnSG&h726P}6TB8IYslUGLHgQ3_4$4V-| zG60eM+5!BaON~1(4}#u;5y{UTynIOzSXO}U5P@)uz$a{$FW9LB5H=LkNC1Dl>=O-! z`G=eGo$-H9!vuC9W*VNA8vG47j48##jDqP)9kAELKa~JqsR`91B1JaM?^g+Eqruap z7YKo6%sB$81Sm!Lp?6u}i5d0z82M5g^Aivn=I4RCAt6esQWtHBV&tM8ViK4uS=p8Z z;}XF|e};gRmYX9##1Ik*nY4e(#YQm$?n&2OO}Z>}&~Iyit76aSQUf@b;-nx@^Taqq zC=4|B?LeD(Iq>X_RSj_T@^_MPzXl+Kd`ZlksDt&nb=aYYD^OgK0qa;xV26Qv;uEEq zy-Imxxq~{gQ_ZM9`Z7OCQr3;SEn5=x<}X9afAg#S0}huZgfwEz)BpNkl@9;RrH){dmreviRrxmr)%2EtI3$RTz;6h|>`%v6df@_*=G*}wJa&Otvz~vJ zQYmFoikV2gUJd_Ct@|1QGixcz7X;;O`n@bwRM|1NmYfa(CoR=Ri>?sN1I#@E2_<7&aAo`={N763WYg&@{kT~YzbCt)5(ObxvO!~x()2jm5SZ=vcTNB=lLs`M=( z=WS~@06Pv$k3{xT1V?%q;$Ca>E#8ll)(k-Q+#2y<2jB+uQy03vH6#u7;9Y+J5~>Oj zh(ijuCj{#HmYU}i0xKV{<#EzY0W$OeMDs-TsI)<7bAYdsOi##K&OQ8aBsszHvmk&V z8nsJfKY*Uu5Bhei2SFr+)`1~s8heX5DEA$0ooo(J-x_EztxeaCC(QH5vuB|zSH<0E ztiQKVdU`T?;~aAP`HVpM(!hR!dboh^`o}K_wCQ*=7!KU^@pnT>Z>IzHd)@;70~$of zi(=@X0IX`y_JclJWchs)O>NE8x|!aP*bY_~;B6bdV`rLUw%hISN{}{Mx1H)or7W%( sd(h)Xa3{pRLjF+ugYz5t$Nq}_0|Wpgcs`nPfB*mh07*qoM6N<$f=L%Q)Bpeg diff --git a/graphics/pokemon/alcremie/ruby_swirl/back.png b/graphics/pokemon/alcremie/ruby_swirl/back.png index ae275b897dad76b2230070b90df594b451f7af00..4346651e822ac9bc3889575a10b0c222d34bca63 100644 GIT binary patch delta 577 zcmV-H0>1sT1*Zj&B#}W-e*gz`Nliru=LQD>8w~?Tk&^%b0t!h)K~zY`?Ub>O+CUJ7 zxq{v(3sNMSqrN6uLq!qCrYDj7J<0ihsw+vn_cjd zKFTiv67%Wbf5x*Ojs88|Oh{3%KG`owx6$=F62tYa);n9DZU*aPf1xdL7pRY z?tNzZeN}DFfz$=mfAav)*MVvM`q>3oI|3JY^TQjp8v&hgy;jrnN%j%&SAt$eA%LPt z+#COqu~SAq2*?ubSgW5B0PxV9N^2Y3;fP7 z;e@$^d{i7{3()r@UFn&(5|8+I#&`!HtA)3^lFrZhF=N7je{1D!rUf96+l(1qFYRsr z$AkHeg?wv)X?r`ga^6nH91Kn;$w>snbk$FNj0rH^=4Q6p-Qt}C%n@k1>$jw=_xr`| z#y#V(Zn}LT2eUT&g#)0)x+#wjD`Q}++*#&x-c%)&Us4W)aI5V zp96TzQ~kAmH^I8hjNt=-e5&jECC?>f*c872#_*vo$$=IMEw~@@zy78_2O+CUJ7p`f>w1t}8EQC}0Sp`wW6@k)`d0A+nel*VYY&yga9bA6=v`jZmBMIi3> zp)#|^W({6HK$MX%691=v{~6CR`3GwnQUzW;Jg%tjf^i**VSTUl!Rqtfpgt4Y689c` zA~n_F{75g0YMOE#knN5h73+A`kokIpjJniZ8c7VjYlx zg(`pjxCNrlXQAJh(|dNz?u=bz?+|LhN&BW0iAHYHuLLAb`kJf zg5Cr^fTBp;oBk_fmyCQ6kQX3o07!cw^A4~l?a`+PEIzXiz)vb(MLl4u6WIb3;e*Jp z0lsd#z-NjHL*@?hQE`wBK+iDQ=tXZO9`Wat@fJW*-u8bwnLj9hWP1zDo7#RDG*nP?xDOd;pM7RaL!YnS>OZ;y1u13_ex`InY9(1@DLaU*k2I Z`~?W=6*qNYj>!N3002ovPDHLkV1oY*2_ygj diff --git a/graphics/pokemon/alcremie/ruby_swirl/front.png b/graphics/pokemon/alcremie/ruby_swirl/front.png index cb99b49fa25fa85fcf1e37707ae94c4f200ddc1a..8842864596749a9b95b4da529446b70448711ce9 100644 GIT binary patch delta 642 zcmV-|0)74Q1?UBkB#}W-e*gz`Nliru=LQD>8xERIz$pL#0!v9mK~zY`?Ug-m+CUh` z@qpBk3+6I}iAdeawN@lpET64*YbDN7RTgyT2SphpLAy1ol)~Q9z$XaaDkPTkf>I{# zL-nz@`t1v}&-(xA|GeExqwzlqVG)cv;H-y1S~U*sD z@s6UdoaJ`&&?<3QKV?9lE!S}=5PxGKR!HS_9Dj|9K>Wm<5G14Ey;;a2KoAO1BMPb` zq@#b4}9oo}5o|t}z4Uo^ZF+KvJ zZh9V=?Gj>)$#u~bDEc<)E+&Do5ru6DP&VO=cSZ;ZQF3#{`v6=bAQGi=wo%N0dy-XG zlg=_7NwxG&?B>R6H@(9x?;Tl5(J_cPVhY8<+~6jX*3ySIuD~!uy1G?bfc!mYH6dfbZnuU)YVWNR`!9&K z6@!=4Vp31OKdP^^RbSmppY{3iyk93-|5cPtP<6n`If^uE5?Yr?c<*Y6i_7zu5Y!c6 z=isWEh?5H!q^gdvIUwMFRsuGiApne5)o><|N?y&&-1!~JY#5Wp`b*J&v3k7sGT`*n zD!wZLHtWY*ioS9eoArIOBw_WG0bRCO#ic;}jfL1Dl~-~6H7Ww}6LUk5jDr7WE{g!2 z4?qpDL|Vozxd(MY1?dpc0GP{*faAa7VK(NFFkIlfVW2A0}jh(`j7*N-f=(R0N0yPg3`%8w}~^I{PMjJmcWM+Zj9;t3D{a2 z!@P)sY76P=pCmbdMPOuvm6rhJ5YBjeh=3^iNW33_M+8Ko)J|tj zJHR{1s!x+nGauyZ3g9%mGp1Ak_9S~L2vq!H>>XqQk|pJ2Ktpd+;AY!16~J+;Q?aB1 zAf5C`dfPYq(%-GE_bohuVTN>cv$O@h@0e%SH%6CtDULc#Fh_l;SoOz5q)$nRs#Q0H jCD6BOCH~_7o3gCmELHY;isX6400000NkvXXu0mjf9U(X% diff --git a/graphics/pokemon/alcremie/salted_cream/back.png b/graphics/pokemon/alcremie/salted_cream/back.png index f32932d95c7acbc5d6cd2635cd99d7acaa388493..c10bcedd1c06525b577082c1d897c19af9c005ee 100644 GIT binary patch delta 574 zcmV-E0>S;T1*8R#B#}W-e*gz`Nliru=LQD>8xUYY{Yn4;0tZP%K~zY`?Ub>O+CUJ7 zxq{wS7Ddn<-IdXr0;)J3E4r;fx0aHtQbf+ZK;nCWOWX!Rv8BK?%W6Z(UC+orbSQty(e+B9zX-J2=pMknH zK&ffSpame^2MhqHE`S992_THt8elOzLIx-y0J7COaKces49+p`fy6X{2(7Zjm?#v% z0@zG*EkcIl&~LA0q;W*oG77XvqhLlzKx2p|3IpWOn6xZET>_bPKmumE`tj`&NP3@{ zd0$oQb0Bj8{X78le|2ESync28){ejh-hB5)?M6T+T(8ySe3E?x{FPul^#Fcy@hb6v875IS2Tn>jJ-XOc*nF zkdK;!YytX?vz3{7EAfbb=Ztp%vPO8TE9v}#A2X&5xY6Ebe_8;Fq|KPq^)lY}f842G zSSU6Yn6$UUXy@&u)K1}a(t<=lLRbCN$Cv=sZEkLxJR_-i|Dc@Hml%F#Wsk~oWz@~ delta 584 zcmV-O0=NC71+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>wMG-mKWLhZ&upZQ>46w2cAldFbC!C9CgL4dfAkvK| zLR(3sb>NF&0Boiii;&%{_V}=%S;LQjTC=AgAet;Yr9T&ytTOctGNWfB+ zKfm7sQSYoxL(`&^(6ZU_$@$h z10O(91n!Od%Gf0%9|Xh&h*|(rCuGwD=A=FPIKc7`>jC_v*{jF_raBQFKoLG<%{9Q+ zT^IOFF=5E;K|U%Dq6O#~CR@F9R^kzVP8sh2WOe4OuAuXCe$E&(;95DGX#mKhHe*WH zOFP^D=_r4rknatDFmG>%Ru^C||@eO2b= zH)?ZFk*@(f=BfHxy`U~qDfs{(o~o*P$#VfIHpOp%8GNiG3UZ)@LJRJO{9ofWnfwJs Wg&fOu(HnmN0000psd7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%q7e>w80006+Nkl7f4R~fBMgDF0I!8sDwi>nt*>U z!yugohu#>8@TP(A#%u_2QxeV~Fbx)6F92=oEgS&|1hs%eF9-k^bvfJ<#grI&q+u+j2&*+{ZU`kNJQBl20%Z#)uZ+G2L$M8xl~jOp03!Xd z2KYwL8h2hE1bqP`((h|{{+%Llt^nO30^tgQPuMKKutNzTY$&2w06cF}4TgXDyPNWz z@qb2P3TqHk4Npo9{stVzl;UAV!StmL*lXe+N`SA_gz6EIB8&3-RRY>*@HpuOLSPv) zj({owN)f*6oi2D{Mtwd;zSPF-0ECA5dEjnHh*GN5MO&g6yQqhl1ZGNBwk5&1L~zlc zA|R#Z=Ex5TghWCnt#YwZ%z%G;(sfspo(moH+Zy1i*fYA+0M4m6DG1a&G0qSQ1I>Lq z&}Lo^Jb7bP1MI#0on+jv0mvX<67wc%XMJuRw(H>v6jx-xI@S`{ZlE6dL@8#kQtnyq zp!V!gGwP4N%#V_kb)#;}mPEbz%aHQl{3`zdTyXloh5dt^00000Nks-uM6N<$g6eA} A1ONa4 delta 657 zcmV;C0&e}`1=$6V7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006=Nkl6>+ zZ}r=-w+y0`I)X`FIuQs}<=+rg(^~@KkRUb!zabE_KOJA`g$qR5S_gpe*ac#3dRl)< zIp;+wW+L@^HT=(|>}v$fEIBJ*5Y(FK_qww+#Nrv7-xWjVNg;ZppiOfqx-#y{Ph^?*wNONXiIgb#IrL6S?Md_e!jwA?&D;Qh> zFk9JO^hSW(2A8T)48Z~bA0Hcok*t4YfmB5BEJih2HTeZVALV-j_2pVMo0jc@t1rPq zx~PYaiv^Q<9%5ry0JKOKf>>H{Ndcstgn1k>HS`7$2Y@3T&=vr`g{p@f{o?>B(zk@x zwyoX(>^Lwz64^@;9O-3d6fE&tbDwd$4NH@$j}22%@ft5QU{^V0lrEyJt1qY_3*=y1d$M02Zo$!>@DV?+;_BfvN=F~YoNijHeEZOFwY;)o`tSl6?dbt z{@z0A>B;DgbI9%IGXk|s0|$NT;R3$vAHN{brsK_EIB?g;-wh?boetRVc?Ek63j?QD7f@^RLN}F>MB1HlPn_!7D;z(`zoP7mo zsi3@*Y21-ECkk2+Z$L%OJ21NrH0+EEkSMrm=hN)i>-p!mWqwnK`TJMhXgiRE^|o(8<`ax@Klyk%F!A5 z5Sa!f33O#UkSSoy0BnJF0PE*bM4x~_J_NW=-*u+)05clUd4MH#RbG>a;I0|C`St+Z zNzDb`yi!@u!GAk9mgu~EtpO?Eoe?-vz#d?fgI^e1z!Q!??{_09%)k*AxZGdvJOb#b z20ne=t0pQ6IR5hRBX~JXOajnV!1qTx@XlxeK77OHjN!zh01t1&6Y$ss*oXJ5dPq%2 z*cXrl3cweYhNcpWDo8XSpfUn>(j3tT@I$5v^-)wI+kYk0m02klKlAm30O|{!uB#LC zCui4(s3%8&?V+t z#Rf|fcz{452hT|$zAcp&)9b+2YMuui5XixLNOu`Su*rc3)K(iaXFTBnYlcNUcJ<;6 zwgA?Q-G96)reo_W{(W>;t0kMqxhYqC9%IGrW*tig&<3L9wm;_}G*GG{6i{ZmL`Eq@ z<8c(wr+{KE;S@2#i=ls*uW@>5UtU-`KTHSR{{81`zfU}9q*`+mV z8>m069;-nk60p)n#qyFA%2caRxn!hx#O5(pEo%M0#t#VJD|?a|=Y{|P002ovPDHLk GU;%<*G*pQI delta 759 zcmV-Qy(?j?Uwlf@??&N*jC$kxl}E zO|V26aiq3<&b|V)R8Zc@H10^769p}ZH=v^C9hh1B5Yp|e3lI%AQku+9Gvhz=?Pnn_ zgm>lQf4@b~1K$cr7{k<70AL&ptp)xNxCRh_1?YtxfP`e7Z+|2U;3Z^gpaz}5lmil2 zXSvE153E&I*nnrMR7y>bxxC0Upjg0F-9SbFJA$i}wLmw3_46p=J0Osc0q(JRkx?FC z&I39R@R-T>f+i2)9W!v_T?^b!%>~}RrflHhGdGs#y?UboCE>jh*dt&EFv($97)QVk z`(Jk3iIQeu4}S}s?asCV1N3Ns&);@5M8yI7Umt#gAcq5!0JsGFc(jG!m}x_M&9he zwtGc{VF7UeBkOu2FzHed)QF6d;sFAM8oXeE_?99q=8pqMt9c&UfKUxq zV}8mQ!gUUIfKD|YaNwyO5OXXNfCZo(>;S~vdh$}t>;*34--Nqd^6xz5ac|0{J&(Z? zO=R3`1P+ zm*wWV5g`9S033ldsa0EroB{ezEyylNbw@edy$41KGA z@I0@7=^y@%fAGBy{~&$4e>hp0ANMc+Z~_eA)NqYGkoZoRd(1{;4xaOX8+mmdhbxdQ z5P4n2n*YS4rQMB1oW&Z(Gi pQ>{WJueR=TV$EYLJJkArjh_hLD|`9FokRct002ovPDHLkV1j~&V=Djv diff --git a/graphics/pokemon/alomomola/back.png b/graphics/pokemon/alomomola/back.png index 4cada4d91bbf0aaf45593a30552a2b6e0e7e72da..3757537687b0f8f1814e06844af21e2213182a93 100644 GIT binary patch delta 533 zcmV+w0_y#S1^Wb$B#}W-e*gz`Nliru=LQD>8x&_OIa2@t0p3YOK~zY`jnutv!Y~jA z@F0;rE}}@;Frq`JfCnTxQmIoVK1$hHI@2ilbs7*$SSqnm)EA(Ag}y-5cj);em4nZr z7D$o&FIqQr%>ga%DY z>+T^gIbZO3yFzeq#Tx?fbBn}L9t0U=>6X}Cd^z+p4SoZta|%*0dP!@-oPeR#-v z*qlBTk15px0TTdWrbRPB3v{w97j?9N0NF~FunMRSa!C;&9daOxw5%BokTG~4MMW^k zBZx&fyo+AkAmwqmI_cq03{d0D0##-Lk!E!rxxhwWAs{S(f3*de3HB#oa0-sweRMh| zBRK&1aX8vQrQFm6I2;eJCb%_HO0fO>-nmka6u95nDRqb%fb~xim?5%>sPz6-9K#Gj z1iX3cN3Ia5t`ylJI&PqQs0^Y~nq`4~;-LZhWdJIz!_>1{=-wlFK~m?xQXN;SI{X3; X26Y1gV!Yh|3jhEBNkvXXu0mjf)v4#Y delta 541 zcmV+&0^6}Kv*C`;DuvB8Bs28BULN8GD z4tm<)fEs!Gl$NN4*i1qJ9NWFZYGLMw(*C?fomI%@Z(Jv8=4gh%9%?WaZX9i+K z!#F|#kJ6SA&KL_3Fs}esi-&}ewi(z2er(2nm=WB=hne`74{#7L zxetG`0d`IYhDVetfq)qRH&Mci(E+_AIg1uLK!9W|M-&Fggmk5%jwGBxI;2xLqXrTN z&m%tzM&}A*5f0CyXERvw$X(|$oS6oioE3o0bRgQSuY42Osw)Jz8L%k;rh`KcjPl^L zJNWryGI9nW-;bwwB9JY&O#zOl}c8V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0UH*HB3OR_ z0065=L_t(I%iWW)4#F@DMDqppo_+>nK9r#Y%9==^iV2_8eozL2x{)EQJ+m+Z9-l5} zU37NtyGE)3Z8ZWgkcJCCD2YMQM5dzYd}k0xl1Lh%dlQKPv}tD8pakRq&Eyd<<-KCV zZ32T+Akc6ON*=gkp)eh@=X4LBXs>(51kQ`bz;)^FZ^lLuH5GbGUsxfFDaZiRpk@l= q+D{dR({=CjYEI1FRPFV{-+uv9iiOQY*d1B`0000!)A_8E&LMo) z$m)PCP5=gCxbQ+P45}6~6)opGgWQuuN)O$eNKT+L-3BEf2k1y13B$NoY`6_za7qLW z$E4(eD`pDQFhx%Hh=uNkXD;BpFb1JX3x6{{im0p5Tl&fhnO#9TxCWUkOt7CSB@Cx) lF^>E~w)me~n}5Sk^8!__my76J19Xb596BcF;LtxH@P23k zTJ_>fE(l#thZ`K9rxqOwbjksRr1CE)aQzGV&-6XYwj@$NhJOy_5C?i+y+=~y`+O~{ zeAsQPcG&G+y})gV6Tcx&dkt}~ZmM=JUN#lt?&6kPG8G7W*;LI0_A!L_C{0V16mZ)R z9s~hBhEio~CA~ce;}}uDY^|5Q!HIV?z_?cyCq%vH;V9c7I++CBnjPGGKABtx7d3(a zG6ZKe-&jq*Mt|@r#s}3koHoRVKLnMZ`u>Kv!SJhU!RN17*g3nZ7TEWUy}u7@PSYj( zk+blZ>Q#Kge|8rS)d?Ja=~7yAo`w8CLBJ~$NG0gYxy8#wj*#*XC5S;fH{x6fCLf`K zlyb3>vGG1*37fe}5HHy})~moCE!nJt6=cjEU-AX~3xdKtQb7mK zYM(QX0$CJ@2p)cqUmNm6u{8?v6BP+O#|tsMXKJiIjs|c$5?*2etC|9xJ!zSw14G0Tva*ru7>b)OD_p|agbB=(qjj= z_hlP??kG@$xMW|u{cw9-4=(Q=Iie>Q9;L_o`t^>-KIb>&pbZKO6LH)`fk2{0^RsYFtj!fLytRC1cIjo<(u#jf1Lf=trl3_ zFF*dp*}LlRWPkVfKVP%=H6QwJ`FOgzsek>@F0FTxhqPHxe_h5+f`%#Z*Ej`dUTH7n zBUr>(#8oC~EjxjNKSu*GFTp=@(N{gxDfI^-9+SRmrwi!ES_)^8k{1OW7#K>;KLB#n zfrAo)acKN&t=R(I)j{+Tu~VSvEH1QbXp$-0X&>8hmy7s}GT@V9F;^H d|C9c^@h@4hCqpW}^`ig)002ovPDHLkV1f}zKNSD~ delta 1193 zcmV;a1XlZw3it_-Uw;IHNkl-Q`lcWDb_G z?{Q|hyPWqt&mDff0?6^!c0#xVC!HNQ-JXEZC~w69`x@?Qg@1%O?uCw40M2pJDJSrc z0N$fCE9EE<)&cIuF+GA(u6HG^J%BO#)KS3mE?V8==&*};3wyAfM0~vdB*Dy@&g3|uS_5np)IdH?ji+3%8!bW z0`0G9z=NVhEai|FCj4e{T3hdF0jT=}&ri>+0NP`i~7{nX6iEYWJ z@GlUIJ~BcB?rNJejs$5E#1a;N#?yxUP;7w&y-~4(b$|RIdK0E%VH4y`C4dqcAu$QC zGjjO`3A7_J2CQ&BfrQkrIe$%0mK#Ejcz>S2AATj}N)Z-Xg<_}u{*Sl-CFXMF>Yz3_!G)Ddz1rX!q0y&8mO|TvMpO_U z2x3NyFcrN6sPPx#q#1t$KO*HCj$IrJyvFjw)r&JEq)lQD(po3rs>(rh*@K^3dO^tZ zeT~t|t{r^6FY54fM?p16NFEt=FvZ6(f{*u(9DmZ|^N7+TgMpuSI_PkIL-y;y@Q`7o z2spnU;DCv0q&}eM-XSdyw99N|zaHT%iprX?ez_X#%?|PPYNdxiclcy`3E!!S8ot9| z_%2n~su%vi6`AHJUi0y%e>i(veNO&Q|Ni$qduNx{;%@eEGQX+D)lqDBk_U7*Vf*JY z*hSdU0)K@q1lJXCz~uv2#8i}YeI1j9Y=6W`{5cwkQl0=$Dvmp9h6YZ5kl;0Gt8qGo zd2FQ!rkV00frADn(((@=IqJee3BfoF{)IJcLEY6w?4ZPsKt;!?F|J`qX4+2MDE}ZX z^3>qS+FNV2!p(|00000NkvXX Hu0mjfPU}fL diff --git a/graphics/pokemon/altaria/back.png b/graphics/pokemon/altaria/back.png index 77b89ed0b6211f5a243da0a09a63a8c48b809d97..39f3889ecb27ae870c235f3e9a36cbdff57fec19 100644 GIT binary patch delta 564 zcmV-40?Yl|1pEY$7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%xZkly?0005sNklQ*!rd{G6;|c&uKZfa@-kX2; zz7MwrVBv;=_%?dr%kVmRpxFaAoEru{?b#Tn?-eW>Bakt+ZLvh6QzYzBDhr}yA&^wY z#n7uPQ#TAlSad3M!^9%`LBp&73{m6^++Y}-)#oU8ZQQV9odxCqo;|?6SkUdCA+TR# zS&44;#{T^|1Ep(2+3%7?GtnDzB2a&_SU~sG3P1uZcUhP@I0JQeE$4DGC9hfkFiDUA zBWslb!UZ_#C=}pWt01?(ftCmE$WtakW|9d&|;Jj|X^A^Y%>;7}e;yJabxIh8cufeTLi)TC|+O$*gHis9@N(&C-7wx|!z* z1~P4W+|w;%TOD=CWQb9xc<~Km`y=JdoaLI(B2>tPyf8wZ51Y-m>|(|s;yjjs_}CwQ zhJ`W3d(IC;?Sqgnu8zVZOM&%cYq94ySB-h~>R-uaUH%Vo zatPqumUYQM=MWVI#9ZB30OtfTBnXI#7i-R#(+Cy>^2*hg%G+)t zm=Hqw82$4A#GOwgTiR@MNdW8W~x&t89DIS8T z1oeD}`99qO)L6n5K>Je`eM|Yx<+Izf>fr#;gc?O5rFUmSc=-{^>7*C0Uj3(^b07*qoM6N<$g4~$>xc~qF diff --git a/graphics/pokemon/altaria/icon.png b/graphics/pokemon/altaria/icon.png index 8c9bf81982dda0ca3bc0ef0d8255f173aa6e9bb7..68f3d239207980f3b41546ecfcb07259c4626e18 100644 GIT binary patch delta 392 zcmV;30eAkP1JMJJ7zqRe0001qplF?uEo1|!2UFBU(;>lTBhPf<>d!CkPR z!IuK@-UXqsXM<0e{R&^0r?Ny0o*r}T4qgZryTJ|OV}7+vweg?xJ8>0Ye9aNXg9t&O z6sZ*%3s0h}+h}7nONzG+gIo0g$xU<~pr~12rBqRNsOBo-1r*u%=LW46hYacqRm55{i!;1+rNJz6UbYd_%N);MH;;^0;|u&6&c m2(|#~Jq}s4A&-OmFAm@O8nlv(F1p(Q00001$tHNkh+0rad-kEvyyeB#}W-e*gz`Nliru=LQD>8yso(v0(rJ0!2wgK~zY`?UlW56G0Hi z?;@qoWpe~N>+C3^T+c2NQkwJ5iG~9EZePGnK%%0^fk*tjZe=0At4Gdt|R|0fx zb&mj|q%Tzspawj-4oB|TW2tMM79UeVo zo_c-j1Gt;-a@K}2<{ee7(vh3_)inuxsOs2!xT8enySzbE#uAxEGoTmUCh@R$#9#1Tc1O_&f*e!SQtp`_YY(#NK6bhNbJBCff$hb$FNi^ z{88N9`(Y<^WMJq?i5%a@-@E(zUb2Vy55qb4DqiQs$=`WIY$I`o%^`7&98C}~=`uwx z0Q%>0fVL^_5kS=ZqbLD?Ophn`0W6%O0)T@eT>$to1s>Rw2rZy3iX1d};K`Whwj~_e z5+vx(`7Y(lkZ>7w@~Y zPq(but3XY>-?1$oaIRz3rh~D>%j>VR5$M3V9yLsX7mHQ42m{oAKqEju0$}Xb?RGf= z(raD9B=qm?^8{G`t@eO3oE-o-1vID;2>Ar?FuGH)%jWxlo&Zp)r&$CbywB)^lNyi6 zs3YTz3_!h>Icfn=7e#i&DfT&5(%c67DsHc+hIhrpo#8g<5IHf^&ZvgqHWfiEIqzhi zQ(mWnHmNg!HWDj;0oDrisqCBV8carQyu_xevT+}hKF0;;t65lBzYNnn7X0|nECDsw zmmWhK%c{D(iNFGRRjEED!z6b5X&63k62ME(kG5o-V&d87VHn;f!1mFCHT`cWwDoJs z4|lE#K#O%aIecsysBfvjaP!?cKgPV}sZD(4c7Aou0w0QFGWd||nueB@7o(QHI6u5G zs|&YgjU&atcs#8L4By0^%^|=t=M#V>a(TD(c8wp_E-#1SUB!!5OP>lvK{R+p0Ek#v i4FYUt*+cx3$g)3_o)zzw)A2$800008yz0-f%gCa1JFrCK~zY`b(Ozw+eQ?} zX$=AlFOgyeD7r{TUNdAe#cOAa&uKe~)Y(H81F0#s-8|?dxRVEkt{1m}x1yaqtXf4+h21H>!>kPudh z#uJwSa0LkAS6Imlhfg-ZVKX2M;&wG}xI@kDJcSG*=zRqMzuTtGPcvHtfyAp8PO&C# ze%1h^k0Yif6baSEdC1ulaxPX4~X|8O~oWdwo|D5b0by@Qh+Gvr(jKqLXg7?$XkUjqGMPV16I zLXw6f1eoCkJ^_5gD@WDtL!(A}|- zDd@ELzyiOrXG1?+gtYIHOWG&|TnauPs&n2q)|oid1A%h2Qv>l_@vbz0C=;O2mZU~| zIEO5yqXO%rf417BFaTbOdTj7DKwsn$p0H2jXN`UgkiNue7Gl!_>PYoJ!9seaatn}D z^%#dhpMF%fU;*7_ERQcC)DpV31J-GJWeQxQoH5-(Y;8kgK3{vCmqie^XwKH?c(m&Lek{eZH}hRQ#YT zDCIj1N!4pi_Dm;Gil-Q-HCH3cC|@~PM{BQmStyn;l-+$U#!ji^_>O{7$)<))l@wg zk6J<)jk|?j8p=++m3lB4{FJ#4ms);Csb;6Uf7kc~K${X)#=X7eILln2;^SKVo2JRu zYq37E(?nzW`^{Pvk6xP?zrr?bnsITb-fh25>p5N$^9VeCy5rGvMg~g-in$h5!Hn07*qoM6N<$ F0fKD}={EoX delta 1043 zcmV+u1nm3m2>1w)BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1JOxDK~zY` zb(Ozw+g1?AX$=MpFA-w~D7r|Ge9e%_6kj`AJg4m_QqLZ;7)VX2?dCyGf;)Lo=z4Jr zSdNfA2s{M_1Xb0NKP`9f2TeK24bn63qr3Zl-&yiDquHbvzvX=+wh~}o6Ch^aK=uGq zmHqPU3D*zY~LiiSc*XqK-lLz3yj|hXbRj(Uw(QsQ&p@0OsUjZQOwCM2D)HXpN z^XiRr?1_h;HNfcQkZH*n4gDuT3xV+|eU?)Rfoe^c2FlU^9)>rV%47t|;XaB1D#C8a2}t0uY5p)Pha}X^rauq^x{P*46hl_qH6A+9*DP;}l?jM&}q2#g;B8wo!v_!YU z3g`_=iVKzqNg56jVAdx+MEf_&k1qpEwCMr9;|(-&999SW6Z2QU5Ww{4Qs!hPb3&sR z#h|?Uulz^0n|%X+^r7of2@|hhLOPtjE$`cV&^IkMftM&~KT6fYc%+AB|zUS%`-jPzSY0 zGYjd+k%%2zWt;c!2){9R32SGtR-~p1g!0QRSAq?$(SA?wKit5Xa9FHB93XD zY6=LjLo{T@q#P5F)B#=r0iLNq`6j9X_#tVBXk!m5P^zeMvB!eSDX+nO9Fc&t#NA|% zKUhgBe$X9%lnR}OtnM`yd!`F0#dFM4abE+zGfEzfbzbShK9{6Ca4OnIr*fc7oay!% zBe3TH{>S^m0gB=L(ivf$E6;KRlB~q*)Dx19B#Va+rrSzzHI}Od&QbP+gxkiYgF|GfP-FMyYo9W`t$|h?OfODt=-Ah;}r@gf1O~ z-@)?IkRa4#NpZ0&)plZgYPV>+Uw0?*|6iwbRmaL(^>Nfxj(^CQ$}d`uONJ9N*K6ORUd&T)36?vbtY&e`tDj3 z6P?pS?)f~B#eYiE@#S+ql>o!DKmIJzHB=q?ozs3LTnN;~!)&?>gRt)EDOb5__}sb5 z^M4%1&n+BQNfU=bL>f3`+d0&6un1ekSi?bw&3RYjpwlgJ@Mdot2Tb~`NI&j9@_VY& zPkwQ*UOl^qz6rO??i1wJztQPeI9Mqp%rw++7*L^;Tsng~;~+)<5`TpQK-j_oR0{_P r8#us=8#ZtV(i$HIhrH?Z-*NZ>2b$VVo+E$b00000NkvXXu0mjfaQ?}7 delta 417 zcmV;S0bc%=1oi`vUw;9CNkl^DlR2$KPjJ|7zLU#eUy!CVONo z$kT8kmARDHF^nprJG#y2E(tkq7rIu@f!y~$^4)l`p)R{)m2ClOpp?cox6egE<6+1p-a^)7J#r><`+%%JW3dNDk(1l z52j$zEA~f0Bhm2|BJZ#cQ?=!jP~{^{#Ye#TNCEV!_X)<4-a}cT&pB-8!h^61^xV;A z87}LuddQM2v485xcQF2b{a%N`yMk%kV(^#tlV*n~}Etm&X(bKcTAXu5?C z{`h6(f}ziH`f>Z7-%?Fqo^-IEeW#6qfm^V92el5aH2qQsI|a#1K~0A)6`JG%^1$ez zMCXjZ)B&JiS?K`P?-n{hMf;=!Jb7pQMu#x1`C)X(ni?cMe diff --git a/graphics/pokemon/amaura/anim_front.png b/graphics/pokemon/amaura/anim_front.png index 63c7d94cbdb22c41ba3d76fa97960ef2121341e3..71820c1868892ac7e5688d876bcea4fdb6f1cdb7 100644 GIT binary patch delta 667 zcmV;M0%ZM#27?BWbbkN`bV*G`2j>O{0UIGPpZ#zE00L%7L_t(o!|j%_Yuiu|#@`?u z)9uVdn0Asd-kVp~871>7h|^A~aK^|Dk9rdn;kBSb_Ye#k4INs?qo=l0x0?J>y(cwL zr@oU(hZgD^^aT3p?xcIt_X+Wz#q`d4HxA--W4#YBDz9V=Fn_8RvWGH77LTSBp!#Q` zsbZ=|Qz>;Oa@CI+z`VvoOudL)9YT)4G$jGA1bWnCrWmHya+*m83GM70HpSK0K=2?rVJqg7Z|`X zAVa!>C3FNVV1N6N{I`+(DbT2Ip$16m0V#}OD@X%iIKZ{@ILGq~0%%#lJr_n2J=%B# zT>~8OHN=D5KJPNY%?B(M(7?mR3R*q`z;y_2XX|4QTAl?u0Nw2`)M;H-Ieec0`~p+B z-SLQZz6+AV$6@H=w-t1Xx(5K8tQ~mS~F`1z2NY$Zwa0ZjQ8g1I-_N-f;jDz z3T2GkBI?ahMAm`|-9s>FG;~N6kDl62-D>hj^_^scoZdT`bZDV|gHG^%dheZ1==&J^ z&*JjldOzCXY-fE45S5u!14PwA&QO*}!-$x&9rD3BGkHk$Fn>Ac=PcucPy;0I@Dfrl zBI8GpA#h3T0s*%K`qVbEBj|7)U?R{LFZd^_#m!U5L@wSO6M42=z{mCS+8I*7cmd<} z@&}N>sSo4ZFD?zd@_!N_iqWnl7Mr;66JQ|@;u=Q^b+;^*Z|*syeI*` zDscB1TMcR8aj^o+(*SVmgVR;z*~oGw&;{rz3oygFs%m)Z4$Sa!EaCJf69QmCjwS5r zoT|V^(;Uw$4``q_ML-yydJ_nEB8DzACIld#jPa8R=6^I$esm{uVgx3JEqMxtAo3-n zOCI77Wwd9z>u-@pyXymhO0Q|}kcR1uY0L*^WC^qwl(45~97|;Vi0bhkC4GhlBBcOy z1<#XA3O~^TA9kfR7*OWJ57LZhlEC1OOV$QF=#H6#H;%3Z8e)gT6;mtBEB z;Rfk%1X_CldhKrn_Hhq;O{p;$3{O>{ZZOp1_)i%O+CNkVO{0UIKymaNJE00Co3L_t(Y$Hml3YlA=#0N_1H zx7Q6N_ek&$Oi1^b8ZEiYVvdO^OOHY;+oNEh{_Kw0JPtG6K9J5q0`oa9Awv8(T={ig zn%oCW`8OacUyt8|(|VQJ*35b+WQjjA26UyXyp#rNrZ?_~1AoX2GWZ`N4ig$4mG3Ho^N+=d1s!5sjQ zy)`sIF#ymE5D9k2QGjV7oqKIzk#ay*!@G;58-chK=1qSA-L^dF#%qDDAQKF%j%H~O z%;&ttWCP3nB!4>40Fyf)L1u$ZaOn9{(W@@ldpZ~YK<(U&2Ch{GWe z%&GiM5uU{z1%mJ#UNG~4&sBaD-e+#E{BR9nZK{$)K3YQ9{^MS0_I{& zV0|F?7NDc}O#5zd%8 z#dI{ZMjZ_f)Q{bh9VZ!1QCphcU;_8~{v5`B9Jacg=OzyUbGbwiusYP^_h4MFHk*bX zE=R#D{E>NpD_!RmH$Va`jr-vMJOf1nSE8|~Rvv(FXA0GZ1b^K2(?L@kAVF$!%TfUK zX`lsS%G4NRBLLWE`0xO=USWwh8br7xsQrVrYZ@?(I{+a2Xla0A0H8d8Y3z=pfTsnw z_Pv97>I1wU-kobV0&ywKoBjf->-@lt*8yFDYYeQ8W>M}upYs-zEi9fV@s0+VELv3v zAz~jW#IzJHUVrHh^O-orlm_LP7n3a|^rLjqmmvX56Jgx0uDd;!@ygSmSF4fFs2002ovPDHLkU;%=u+N~b| diff --git a/graphics/pokemon/amaura/icon.png b/graphics/pokemon/amaura/icon.png index fb247611fa7dde268a8b9d61ef3270b6722e3d9e..5e8a25164c597dd6f78d65943cab807169d66f35 100644 GIT binary patch delta 328 zcmV-O0k{770-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT%-LG=m$ z00032NklC=KiP0Yoc&)UW!#yQ=Efic$f-hJwwzT!+$(jklUA!!D=!eo7S`t z-`sO^u)s~cF%qg}Vz!dn^ZM%63|;)?DkK0;t6+VcGy5$eh!zn7yap5eSulfvodFYodoyNR45k6`WSj`3_ p5kU-gKX`aeejM_lul?uw_yX@xszFMGO4O{0UIW-`)Jbu00nAEL_t(o!`+s@Z{s!;$LRxs z)0i|s_UqlyHPN}~C|u}7a*(N((-iG=v5YG^WQd(rK;43pQJ{ma5PdhMflaR&Vta0j z0`1njE%zVvf9QLpD9b-0PkKf&ze7dXxvoN_+*h<|YuBM=rirz?I)vh}=PbV0_&H z!uOf0>^Wq6i+|by>wIniDr!EAMl=fv>5H`T^aS`GBQ z6|TJO!xtu)(mr2*I6!|E~hmwyg3pr$O$Pl&QVvFzzRkNu$8 z^c&;E01mOh1wN26aWvq!T7F|z0HPt`5(mujkaRF~uDPZKf8s$;>Jhr~nouB^FfLdL zFr&I0jMNbWIdTZ&?pQcQAeH0kczW}Vyp|(a@h0gk2OeaNGqknk#F-#CfC|fw;`+IzuU%xvWqzb?Q7XT9d$le3+_sN;~Za>m1Zde3PP7t_9 z;Iqs-ni>F~!U=o-~UiJa7Uf(x=xj`R98Z86XExu+9?(e?;hY;rei-7g| zudAzne*H?M!X)t=nBf-o_QQvFu+H)%_X+@hZGYy$>A2lI=Homu`c6E=Bi$&4bxVdT zK-gE4R6Wf&1GHrg3@s^OCPE9A92I=e{@&5)P^|+IkJEX03@{CkC5P;Rk;;ia*^-62 z*&oun95PRideMxTs!*(?15P2e>Nl?(>gp*j7YeU8<#=ciB-stPyj?8D-h_t~ffPyJ zpMTvhRc`8uw09G<8d1VwdB#>MJ7t3Z-15&NSBM!~TXf-D_`ZO3=9V-CSb{pxD=pa; zrh_NS+lpQjVJV=VV*ZlXSkORHX2Ob9J;|!oIs;OUVY4?FlpGO5a>EkE;;{Y>u~Y$I zWnrLBl^?42KZ3dK-C^Z9p{eRG|Zk3yPVQ(DXa)Y=&I*IV}l|>#j^p>f~9p)9;YiL+G|hH#iLilrrO}^UUnuil-^jE zgGORNTlIOg?w(3wK;4JF94+KvF1k=+sJ{HgVutNJGueR>I05Y@OB%k5<>%(o#%)6b^VJKi9v^2)!S{Q zss3D*7|IC%w5B>;kr*1FPpdhwB!4loYp^EjHs3#8kr?Kl%x}WFf3YGl3_yJ~oE3>- z0IP-%sFAEl3_8|8bY1gX=WenhG5DSNehI!0XD%_gmKetwz(-2Z&Lu`FbeqOzL48qYP{tr5Wro& zn3+5^AxRJ*xb7@=_3X1~1;LlsbHK_JgjiM=mWd=+3Sv$B^Cs#Do@fQJrnt04XbJuBX$rK)e$00000NkvXXu0mjfsP(XF delta 1437 zcmV;O1!DS#4F3y|bbkePNklXD|3lv+kEhd*Q`Vvc z1PFW|zW4Z!5}};$ z@AzA5vfSgHJ-#4!s^ynx)YuDV4d4H=FH%GYx0^&gmqOWxxSRih< z0s$Xw@nZJWc{wTBMJ2tp+GR@Qt)zMh6lPoG%osj7!W4Hk#k@H zsYjF1Pp5_AbTTk@AhMC1mB#^-@BVY`Apa(3{!)`h)wwYbc?1c6O zWeGXBei6{nPKl}msL4d2Q_k~Z2SUH8+6j%uBB2OKBt>ufX3hZ;N_MY#yP4(!%u}{t z2Y-So@pC&qNkgTkY~`a1-y)6`*jc#BjD=Rf^HWx@iJ)zFE>4@zwrc^7UG+I{ z*4R-Iq2gHsSi#ahs|Cm<5~nLY*vF&0i%qpDRsc?77`?IT4mybeZ8a9@3cyMXc=w?% zr*n6(6kRAWOke(D{)TNnEdCgYu^+dZkqjz}8>M725+h{rkaWw%TR{~-i4jSq(tmOj zJN`o}dTk|8V!(SQS(yVWvU|SEp^zAG4G$d9@IT$ZhoWm^nVMRQqVSfH`_WDmb?e6}Ppr~x*8|I}!zKbIwjNdf??sg9Q< zh6U(@?Gjj!7{xYN3w2u@A1_G^w|`F-x4<5sElCUq(AbP%Nn$v_+r0w1v4N*00aaKP!Op^Agx|31HfU|LpHg7!J>Xb#N6GEq{~*IK!9|`{LK{7l_W=i zpuOtA?gBT<(S)(8*3&sCeK^FWAJuBX$^fqz600000NkvXXu0mjfeao8^ diff --git a/graphics/pokemon/ambipom/back.png b/graphics/pokemon/ambipom/back.png index e8cc58d5fab7a10f136333b3d2a0f5756b6272d1..6d8fc1cc905e336c26d4461723bf15a068d86a09 100644 GIT binary patch delta 747 zcmV8z@LaMbrQQ0<%d(K~zY`?UlW5+b|Hv z89;#5EsgsE`RLNE(F+hLgId`dly>G6R@M%+vwBbf(p@?bC@F7&2a8@a)XvNGj*@6f zvDZ$$#pd0Q$GhWS5+VPsu{T1OTBgP*s@-XX0m#V@~{Tf3T(f0N|2@qhzN`}orb zYnMk!a@nMi4zRNZKff#)I{|>!K*Ul6R#gJ~lqBy6>1W9q^<_n=PcgUsBsnI%VRjb) z74gR`ZMSE(=3~eXfOK~wu&hzW|=%>Xyfk_ zo}IOT2!R=nARBX@-9sHWtyW``OHIiH_d_8=1TI>wN+lH`({Tl$eW5KNRVF9Bj1Tb$ z=!M@f(gi5#jd^3N69)iFnC<}DmEJ%rF`N20%(`W9zBb0Le*n<30{m?WQArVig`M(S zTRw8}xC0~#GA=;52JDK1M%8Vx@<8m=gv#9@@S9%)0Gl408s>Jhu&V+OKvN>Mr8Wf| zQ+H87WGkDvQH84hT#aab0%R`arj8qFjWke=y7DD}R~v6B1n1xrsy-oJcK}#zv7e#_ zB3#HFppDYDe*}kJda=4~-dOt6qN8X4*#S&Cw;C=M)YnL{1E{%G=%R-Js1f(G;E4%~ z1i+SgYEl{krVVUT#S9Iehj0$Cc)=r8AS76YfN(YC;iGSKSfyL)P>@WTK?_i=1V}I@ z+dw{hrRWyGUd2h|iCl&q1VnX;X6_xZ*Vw@1__Q4aVd_XE4*_`b)Qvvh4`7+9dEMG|s+hqrcx1|uGu$$b;ZLk1f5Dqe0xX;O2xeHa1gqylv dxi`YUvcD<(^_cf31VI1*002ovPDHLkV1gG`Ro?&r delta 756 zcmV@2p)MWZ6aM0vw=!rX7BE(J*!d0BwPU6$mW14(wBwy&>ed%ucCKD=EB-nLW<3 zLoyhacLA^^eme*DLk8&$c*#!!fF#nc9I#oOmUrg>aQ->!MN&K)I8n@hy&dv%G6vuq zIoS0A2;%^w+*t(Z!CCe`@BucYDlpwVJaEp)anK9r0s;Mz^ZQAES&nb$p!^b+iY_R6 z89$V$(bq9APa_~fV2Uj$N1T`UkjHgYYHBK}DH-E=NMwk>c~q)YQV}v4Z2{CL8Ucke z6&aL#h#{aBe$7Z9pky%OomkHf0HiS40kmf)xmIF2@pkBSq_kQYW0wGExdr@f2|?T_ z0x-7|eruaYE*^J(0F0a_X$_NWK$je5RNdA~52S9IaB|lO{Nz^vz@f)3hnZc^?Xt!I zC?yKpXj4O&wu%}o8`;^7s@3+-PlYU5RaaRz%rwGq-) z4=_e=u%5aF5?sg~ppDYDfepK8f%cdeE52LYs5?OR08`9=tcHt)>1*$>52%?{=#=gQ zAV)m!hariR1i&^`VG0@oCI;4pVrDlkSa}3IV@MSY60AZ%xSXmT0EOx>ONmPz4kVK% zj{p@pK!PzD1J#uDlt%#j%T5wcR5Gj}AhuC7bMJr`#d1^O)3z6AEs5L*;Kftd`s!r> z(^TE-?xhq@Tn%h5z@&6N$g4i!J})U$kN2VEX3+!EO(TS;?YeT~md^pm!$u}^_c>W9 mccChga8p-H_eS_PBIFM#{Pmb+rp3Yl00005O&=dI9TxByzX?*V>=&W!O7YWLjaodtg%jT81|sR9jDG{9FRoNPp^4mAoR0L z6H;T>PztP;RewdMmAG!{52%*tC{*Qr0FwCA)BMAsZ!~-bL%1%X>irX#V9!*6Ioo?q zH)wJ8=A#CaITSFNLjjXH6flKD29r4yFquOEgONi4qZl|8FeC$q0>)wFkipoe5UzX} y2YB-^Z9v(3>wcQJyZ5Q0+E}N!*)o3N;}f2LF6va43=K5^00002|ItP+w066Ht6cR8H``dlJh8Wp1V0FDF zq0v|F?{#W&0i^bCfIAM7E9#d+Ca@GzqFV;f2jg<7&t#Dlwtw3eP#vq+ikQ-UvoQcF z7eu5;in#0AJRvTg;<4#LPy-*;+fh!~xARE`uGW6+fWi_Nm35-$ZV#gRfVng12LvK* zr}H-r1*~ptevE}FI=C=J2N$O3;KH~LMVO+43sZD(VYJu5g%Ry^aAANt z9bA~8y$(efdx~-5hv}efJ`5WWWVY^yiJM2x8KaFgGCel1{=$zho_{XtxSDec00000 LNkvXXu0mjf;NGSP diff --git a/graphics/pokemon/amoonguss/anim_front.png b/graphics/pokemon/amoonguss/anim_front.png index e959d5ce5a72b171eead0c0b220fdfc5979dd073..21d1de947578fc6390acc419a1990947baddfa7a 100644 GIT binary patch delta 989 zcmV<310wvC2(Ac_Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT%^(Ml9< z000A#Nklv2U9|6vmyPEZ)+_kunw>ZsDn-)iM7|-#fq@V6tUteU`xRe!P3YcYnOER{JlS##kosyDd(&r&f!eTDuUv1f;n#HOE6R=oXO8XLp_YkVu>DTT$_o|+~GhXmk`5I+NUFf8=3FU0wwr2*<{ zI<3Yiq-{q74D*c;AfgD~VX)Fd)bE0stp?7&dwn&${vvvqs$u3O!8&*gB0RVn zenntpnkDTTgtXq@-X44r9SpA#E~Y&rs!M^zY(PbTnN*G6w0PYx2lbvh^eok}ZWhnqyzg5$KKHv)CZjb;R0`6Jc zLI-dJ5sv|biW5a3pu7oy5h3htG1dV54?+4?dn9Dr5E&tyxK<6YY6fXNMnvR<_{2pD zYzsjWc2>(KGA*?-R__}{ivQmpuHx;a^pZ=*n#8>M%jTB4Myi> z4915_gHivc48~oR!Kg2&!|j~>SSJ3#D9o@>&3or$c^~@+!+{(@?VSMrJ@F3?OmpuF z4Sxh#jDYuJ|G-EYlL9cav(`$zUDrb$J3STwtG4J2^2)Dcr$=DrA700j%77be?t_^h zXssLFfmXy}!0~xJb!k*;oe0N~gw^V>eaSgErWMXKAvqr6hnr3B^$oPQ{_ilBU4V2U5pavzwd z0+^lRpZZiPAmRdJOyZ|f#S%LRM3B@UmrGO+MAo93o~vSsZEV4ZzG88fD=^S4oT!gL zp>IZR4QkN`7AJ)(-7e&Hl{^r|KU)%bMNH0x5z2q`*bO;qvl*fcRYAOODz z>1DtsrX`OZDSuD*EC%Sa>1Q3okUrZCFw9p{f{Y?~gUyCbIjDz2lV62nHtV?l*5$?E z@=ESwsk)h$gww`Lkm2sd;4=b4(=2J%Af);B=4SUwwlTd#xOj`2ALjShp=__zb>nt^ z_e1!n<;;yfWmDX~zxyskx15jf8UpkC6yVF$lmc4=M}PPCofvSSmk~3iCUg`C;W(%a zVOI=P#2G7~CcPMl!>+i%6q5pwqD95&psf>8ts;Eez^+0IrFr?e)XmI8qN zTNMU$0e^Rp@PY&o5D4GekQ~4WA`t@yH7AQeKy?!UGg8_ca>M}qAA@K!VWLkP>ES@)t6#sv{x5&4C{-Wp`D) zY_=Y32e(n_UFozQA8>czr=>MsQYP-N*5e~W)_=;kx!zyq>bE`Zucf8ev5r5Df5w4m z;wcBB&Wod67g#%xzvw`62BYjiiUyVF>u&GwugYB=c;SonvRv7|EK8i#v-(p#*6qZ{1;Yho`D_`G{*{-8(pf zZ($Pp9KcyF4m%8(;t!A+vWABjFk}D;&JQwRpF}_0=Kwavfe}se%sz%(g`=Am$$|H8!b2~v0DHD0k}y-K~zY`?UhYx!!Qtq zO++aKdWYbU?h3&okWDv1(YiPpC(F{>xR z0SFK{njRd$&CB~cT*U&E8-u>JWIh3XnB$-_I79#s{Ct_1h(kLDF3P4q^fU8wQ#_Nh zGbaJ9ZwW28KwjCeIrY1`AtKFbaByhWx0lh`Byq^DW1A3Gt&^Z)<= delta 506 zcmVK~zY` z?UYSw!!QtqMMNnCdWYbU?h3&okWDv1(K73lH=~JUa@Ajy7|llQNdiXM7?Lc&Dc>Z6J~|vFN;q)n`=0;>cLLyj;-fOR z8vxN=?0+fk0RdQpZ(l-xf2uSBu0{zK;AIG$wbm81vPnUasn#KpyHeXYK-(e!?PA&p z(}4$a?&TxSm1;^9JX9S)m97kM>iSIt#fJ^>-i|7cSl2*Q-$@$(78_8mg+mwE)-71z zGyvEd>uRjW2GDA(N6t5H4XPf~7~tnP2&~NGN4to;50o>qdNyN!P^QN|AOL|U54csz zFaUuRVnFgD2ta@W);Rh(3H$N>9#^rz2sZ}vXu*8~`Y^{qrGQ-ofC&6-No>SZI|d<( zra$yk`*$-uld3Z(39au4qk4g&bU!oZcXdNVnzP{Gu(WS4qq9llkbTFtAs)#XV`NCI zk(6(PKrX$02hh4zp-JoWS99ae^+H*4u`N$TZR4y3?q>Rk?@S~ZUM>c>!2vs)+wIQm wTXjiN{C+SI(T3X*`kmZMnas&m|3rlR0BPVvo$3oc1ONa407*qoM6N<$f)PmNN&o-= diff --git a/graphics/pokemon/amoonguss/icon.png b/graphics/pokemon/amoonguss/icon.png index baf24220746f20c710941cc54d0a200b61e8110e..bf225d187df1f28b81e55d8fc0dbc3e1115cdd0f 100644 GIT binary patch delta 312 zcmV-80muH`0)hjO7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT%{p&;Pl0002xNkls|m$zm1vzlQOKWN10CX;xZ@kC zNEOJYpkvPz!4A^(C*1jI);k(ami?=7Dcx54OjH`;VhiA)WU9~w&*e*ycc@y=$3=hQ zsxAP``vt^qi#^Mn4B%aFKoxv1J0F%$NPxWQmv7t|U$R22Jx1{bHSbW2<9IdBLp=kf z0aWm2MoKRdhv8?7f%V9pzo}-NRI($gvC%UV5jBKH&*nskWHL+Q%O#s?O4-NGM>j|c zQyK+%DNMnp9v3OhaP%s97Uqohwkjk{47ma~NiC^)i*Oy{-}4KOnvgf2ik0vH0000< KMNUMnLSTa1xP(6d delta 274 zcmV+t0qy>R1Kk3U7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S+et)0R7i>Kl(7=S zFbG2^l!s zEK==NY}a(mgLyl%kA6xIVg83O1(1Osgf~D2evlSGMt-~jGV$XC$jFbv!wo;qk^3$r YUjJVa0^T;WvH$=807*qoM6N<$g4u(6!vFvP diff --git a/graphics/pokemon/ampharos/anim_front.png b/graphics/pokemon/ampharos/anim_front.png index 4e71838b007865af7fa9ed4b3bf1d842546dc141..fd9fd3e7b72052377077114179ab0acb0c44408e 100644 GIT binary patch delta 1068 zcmV+{1k?NI2=54x7zqRe0000Kgn5x_VR;20eI^#iMvzFWd9{3&G?5249kycG4y(9t0gI6!L%d zCG(QJ_to?M=pl3i(Ao9fKya%k<5;nA6tTNu6j_1&$s;~ZqMj8veEpJ-l97F>XJ23O zbTG66t>>ql-|DivHeiqAGo!ih08aLJN;BIG`1|`?7{hk}(<9Df=MpeL-v%71aj*hg zVjKW6>t>GuhWN4XDCzEEfZVm^lpcTN)ZcKZ4mJR6apnlP3=r<2;Z+j>9qabU=xfE)S|kbKB_AM^Y|0v86r8&R>e!UXi{oveXR764~R6fj=_s*Hqurq)=_ z_16evNf6A$JsF^!>qjEomt~9a3Mk8Ys?X8c>0@341fIzN<;@j+Kp0MFaeNyePI!UTsyFryrr61z@FoHoK&Py ztRM`AEwmytX7>HxcA=CJ5EL-y;v~z>Zesp#Di+%Q%kmEw06fzxjgJVRwNjA)6XB54 zD}{&)p#N_ipw@LoV+?5H_2Ynbv)gJ6IRMRU=xckuHWvT_YNT-hnsxJfqZN?fiDCVB zX#k>$0C*AdOE|=Tq~1b|Vh&({f_^f9?=B1nK)HMz0GV13zkwqV3z5R#nN#V$oJRTm z@hpf8M{z+syIC0W2!JyuDOvs|7|-Msz#rp52qA(808)MzCsHZu^=vMt0Ar^KoQu{i zpN}*SL4TTz2iP};vr&h*3Q&{twZH+mrDQj1kk_`^l7J|Gw@L)O$XM-a4#33}F$HKU^fy(K0dBcEAk768`nzjY2o!IxQh#5j zg#aa>SI>w8@YSn+JtHU(;QbDA5Nw}*;S0h4{@bsAnBOo0;CTn~3v?_5cQ%XGP7IO*s0;K_e(Pw}h08;{b43KI7)+RSZ3CIkPHejJR z)KdrGJihbn&DKEq4ygfB0J;o_)Bw2%;KG2Yoz@`(q5_DgGB+Ta?{I!nHy~QKE1a6R zh5^x>T+a?j!+>apfQ19nG9a22LL3nBFD?v-W(dIn2?oZM0nrXY9FUOdZ3CiR<=6p# zDGUsK)?buKc0ii`LyrLf2|y0*N#En4)cl7XIvof>l>UQv;kq3JE~VTTdG{b15Mh(L zON0NS!G1Ulh-Jis01XQi2837$Juz@Wsr-}_ntQ_8eHbIu+=oc$aS*EJ!}0XK+X*@F fq%-{A%!gl1xiyHuT@rx+0000HZHfdVNIF^iwF$Ol*k^*&}0B6_>f zVOj$OC^B!K^^*+%$i1LwKn8I6;5`F3OM`qPfeNw6DPRz z6b&>?NZ=9?^K$@m7oO%6a7BuQ0)>W%1g?hR4OwG>k5rX)zU3V!2Z>UUKm*(ow-G^4 zmC%6hGoX%+>~4dtqa{V>OScJ*Z`gx!u?GesV-By3t?Z{e_+pzIAw+6S3yfK8W#{eh zgIJT@zcBk+eOrF;0jbF@BFxUJt!QbYKU_mR?Y zO#p~Uz15qP?$eZl0I=%gI1*VqS=o9CRV97ES<6ojI8Ib2s2L2kG1i z=9Um}L=badJ+yF1-dMQM)msY=aRGmb%Xw?TtzQ6M{l@_2R(t@+<&XAO+yF|LXY%I( z^K>D15$3(DL)vLU4M-V?ZUFjw0_Er&dBhVs{>-PXbUm1Zl zz(K(CoI@T9>tj+b<7L98CtDXHX&eGX%6VJl_8>CXJyIPERNcV_((`Nczv@4d4mcO=>N`kV+K7EBz|4Gw^l5E`>@M@;Vsxn=)n# gCCmo=L-+5+FWc%9&=?erX8-^I07*qoM6N<$f@SCB%>V!Z diff --git a/graphics/pokemon/ampharos/icon.png b/graphics/pokemon/ampharos/icon.png index 20cdae53286f88d73dbe56134a0b45a03ccaa1f7..a4c787bee1065b5009e48828bc228b6a488dbf6d 100644 GIT binary patch delta 307 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 FV1jzfQ=0$) diff --git a/graphics/pokemon/ampharos/mega/front.png b/graphics/pokemon/ampharos/mega/front.png index 31db2d70a112b0de3ba97cb9a13c14fde20562af..566535be85ed4831803173f7c86936ef0bf13b21 100644 GIT binary patch delta 944 zcmV;h15f<62&f28#l#ENFe|K1B*#SK~zY`eU-m&(?Ar* zF9|{*b@0g$RcVLf;;=9zk+B$m080^LgoL7NCJ<5-cPK)jD$O6odv|v1)GnvQiTyr) z_wL>Iy*oOVE3aOPp4;c=0F2-G@>+OZNmCSSIY8z5 ziza|skqFp%KuI(`@J(JZndRjJcBk=dSm&N4{Ja>7)!v=&gDJl%1Xy{0z$K>$|1_Ki zfCKH03mZ8hgp&aQ;5)43EW0>W_G!?EDgq697BZ|FP~pQK&?$7M`KaVfX{{yDepqZUFd>hpU+@IlUL;0g3&@0qt3rt!O>o!8CnMb(W)gcL z0xmTgNb<;5gFw01#atuMeH0Z)(t@J?L%jR?mR|Z)E`_1|}BOHCzv8 zpWlEAG<^nd7J_5O8F;N%TZr@lIoX(&&}F$?Q397 z9;shv`Din5%aIZH_2Zl~%dC%iG($MeJHHD`%Jk>!X62j%K51qDwWF^y4*mf$R=Zl> S_?bTd0000q++dj_=NOHLmhIg# ztCs-P8}HtVj@#vz0F2*%`TkybZAnw)*E4|f?KgD*vn&y?vw(uAd*GYAY%F1z!C90zSN3tx zg$e>SdgLqs%VZx0!6)!ta57ezn@HI^3xdC-j~-enCbtsMC@CLksp&{?el`Or6wQl3 z0qzE$6M(mx0<7|24x~cGm}@zlfC~A5zNUfgvLv8Gq43vrAd>SGwzUEgeoe|HZ6rnam0V0u~#X)uHM`Z1A6O_qLNED@%Lv3$!YfTrSok;P? z(Pjj6jDllngI$S>bviv1Lds7BP$fIsNzv56^ei0NLX72r^k<@ZTX=>xhv6@b@1~SN zvH{>b9psR@C|U0Po}giP3HnXtXhZ6DDY%*75GBk3bj`c}s|m zjj#AG$N5T*azKpB@(`0d_P`cT8XqD#4Q%#Re(y#TG(}?u6f_|FG~Y2kxbhh9x1Q~M zjewg9c#hF7W0B#5N92_4?Xd*_V=1S6g#_MeU_A|-s2QDm1PExyKwSeEsv+H4!m}w% zwYVP@BVhA?P&q&$YT~!$gRuxa#V8nR6GRIyKE%Le4unRu=DKM3l^JlLT92Sc(Pvk2 zf-O;hxv}p?P8MZf*Bb%H2Fjtni*fd27o>E7>WzTWNnNzCxLk~Lyh;RgS<+UFeq++( zr}BDd-uwrY z3JjILoQ^HVsR2Op?3v0zS1U>N%faVnvN@pl8d#Rc>epF3+RXcMpeMv&pRn{Wt3w{m z5RS7f&hMN`W%_flR=(tbkF^~BUps0o2r%{!GFH1<^SsYs00000NkvXXu0mjfC``oC diff --git a/graphics/pokemon/ampharos/mega/icon.png b/graphics/pokemon/ampharos/mega/icon.png index 8d1e0e5a3b39c02416e716890a70e62f3422fc60..b8e03cefbd6f37b002053b122acd8c06afc03292 100644 GIT binary patch delta 405 zcmV;G0c!ro1L^~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT&6RrFP` z0003^Nkl@a^P+Ww8|O{jn)_(NXHHZ=Y4~_%5vna zzRI!X#D+ql1bW*Y|DEoBeT>~OsGAu;bCpA|u#0OIAYuj=6@S<}L~UzT74{QxzOguH z3h%nUpU0UOlPiOnz{M#@U+S6g01F)-e_?QaOx7M+CaS(86OTFT*vvPlZsNw z`NRMv=T%N>Ez0A>FdN3Zx`MnSl*w=X2RK`h5vb03{BS}L0D z{58xX64_=#HGlRM=Sr={``8;GaK2ox_>OzuiWi=W>^NyXD>ap=f!0?@C4;r>*zOLH z-H$2nO}7BV{zLo@m{!&R!@SG`L!Oux7%%u4n8lxgp*}FI2MqOrQFH+YL=|^PC zyl_Z@naZu8o4&>H@USUr!MMJlHcA`=oZ19j8OWD1=flCBtvG+_B;zdNe4>HU^C%~O zxfa!NqL~SkU0otb<=PD#KE9oIqm>e|hEWji>*>n~Z6j9Ttl5uF7%wHwc77XX5Q$9F z!L@zHxsIW$|s(Q{5WZERw=474eebaix{k<&e`n(*Mh6M)m;I) zPxW8%Jz!c}0}S&v4-9!?T4224YhV^hKL&>Sz_1=L)CWe=1sD(x7)eFAt=9twOeqa+ wQ;&n?Bcf{bn)dh@Cp|uRpO4Ew_RD;H0wkX1g}S0qp8x;=07*qoM6N<$f+kF;DgXcg diff --git a/graphics/pokemon/anorith/anim_front.png b/graphics/pokemon/anorith/anim_front.png index 9149708503a79de0ff1318b82ae50347fb5d6ec6..029f399fd325365e6e19bda9b8b317565edc5728 100644 GIT binary patch delta 1071 zcmV+~1kn5G2>%F>Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT&8yZSVo z000BxNkl7^-92f3vz;=u*~sJ^3=#N>$-+JC8oZ?GWi!}q?rU*E3` z<8l1ALCgby#d53$;HrdGU59X{{?q_2en?r32+Ga60!jpfT7d9oZ3lz&d|E#jU{`fG zZ>a)7FoudpUtWVjCcx}5zG;OoG@vn$VFHfJ0@L6^l>3C|Fo-8hrw7~ynux3N^X=FD z4O;?mPVLl5-hXOB$>PWO#ByBV%uf6AX&9DU4B}|%xSV5))a74_R|S1xIB@yR8`!lN z%6U;F5#n|1e6SojL`%=zl4~S5F z2e`~wA1LQ`W+n1nVW!&RmF)FfGX#L51Si1?P|!G#Lw{(`7+hY1Jxw_b+~SJC5IVjB z77M@*PO^d0Om^7t0|G4s(iA#U%F;xVID&6yaJ;y-J&-*qg(xjIn8f37d<}R0Uvl_F z-in#FS|j`p(9Pg)=m2%*<@L^JGXu!7ROvAdR#thmbiwyev(!|2_H4-eH5lDs3Tn&4 zzFj?8`+ueZusilTV(nDgYnG`Ro1K-+Sxt7cx^2{VEx5U+-WY+o-u+vyVC0)&wq&RC3-xtF-d+4 zH5J5)qshQwl*5$9T<9tYy;BKH(r(4=ASg pGv~lnc@Q}0@CO0%=t%#1`~yj~9Qo!1Y<2(u002ovPDHLkV1kBf|C|5- delta 1026 zcmV+d1pWK}2k)axY#Gsp7z!JI% z(ZZ2X(Sh{R6sUvTVixh>f`3%sQHpCGMXD$|`VAr^{_efUJKlYtH0>$=TM&H@V6Xyf z0JuzH)aN0b$&UuW!JCvdG(oxElt4DYpb;Rv-B>{*J&!ie1( zkqIz!j9(6eR~6u3p1=fuY=`-}#=}sp6P&>ynJn!da1&@6UaI3eZ~JSu1mK*SnVr6` zG)fjfCdY>D0B2^_7te!0Eip*qrR{KzB{GM98NMm?7X$-`U%!KGiJ_R6n~syv zOm^Au69R__WEpgY5XwZ7B!+KiaJ0BGT@XDX!thm@0G+rTj;`R&`%?^`iJNeyDM3c~ z3}EH(7j%Kzb9KFcbK1@U@;sCM=o(YIY%Lw|ypufBWj|_mjQa>Q%b$XL<<-GOOd?O$ z0Jht|8m(yM72|;2)&Xt-wA-Vd0ExU}^2y6p4dB7JxZX$J&W+c~{Ni_VTm#^i+yGWB zFy36Vm!sXl-4?imY-f`i-M&Gl=hgu1Gf;DSkSzdvf!YIqOfQ$JjXftEme_OuDW2m0 zj(=xC8XU+5XmB7KkJ9w=OOMj%Fo?ryx7R@-{|<**U{+Wpc2Za2pip!G7l9q_0OKOj zHPiR;2q3DSNOcC?NP4DA0S~-R#XeyE#ZTOBFHxS+g1o5M2TePg|B#qV)OcWHlKvJ{ zx*$dpPX;!Bqa3C*;T2Uwg5F67!cg4}exsTgDeqs8!It&_)jd`HLGV2!NsQS+IuNPu zzm^kpUVQ8(opUBF2>2Pd)ye!KeIG-Jz~YRey4zyS6(ELR-0&Q=`4arx=vTy>tm(Cj z{^4SAX;~QzQ&qf!ZUW}>!XBK$vyXI;mc{!ZjDetk(Zm+4(-HQwMx*o?cpc(v)XoZV z&#V|?@jI0Cm!MH}%u$B-^9=imh4@OD=bSQf>Un;S1G`CA-273#--?#H6!%8~`%6d+7iG0j^0zK~zY`?UcVu12GiG zb98m^H9aXMi+7tYrcWGhD`pY81kKi^%i&*OT}3Eag*pUWYL{|OPKDlLp&bhMN10rI z+*Q$0mwv~5Kku9OULb_*wb%bC%iwq4JO%KpKcE;K{^%c=c?%INe~^7-*-rp>zIibw z`}hVd2W^U+5N3>-Uzz7`#8R}uX>er*b0N&jSD+?Z6fe57TI~{12-uki@r=~054U|^ z@@DdS4m| zFJh7@)v@l3f%M!CFz)s4wh;geX%qYo_)5uqG3n%9KWqVS0o5P~xJ~d?=dgllI@MYi zT^>LXqLU*!G)kw*SeF9G#z*v(%%a3;{7?jVLFhK%0IpOcTK9*gHIQo93|v0VBO19~ zeoSxW+j6=FcHf#*)_zX-GRc!J;?fP<7LnsZB1Ug%I_dS}ZHt?L)tsvt>>6~u|4a7z adwl|;e~?&OdqC3w0000kx`9C}-qF2TRRx{6S473y%{QoEEmITf14 zLOT@lM|qe2NUG?lOTS~jpZCrCz9W0>^^eLj_}w>80sQI@CcOkU4nr%&Z12?^AZ*R^I6Pv4`EA|4k&Go`P*{>b50_d(IOcRB*VW)Tsk zkb$-f9_cP97y=B52ebehz*?}8wBvMWzd{M%i~E0H zBR3q!@dofBCYe$l>&_TR&)opyUhi%j0kDuZ!S8^tl*|v4PVV)?7Vs8O4T6B%1YdOy zE10HJt#z^G0R$mBIif?ObefEHDS&KzL|@4)N}R?IMSvHC?g9?rN;PtSSULl#hRwj` z(>$V)+vUgfR=yoZr)yyMtx09==Y%hlJn14X{b9Qza$HEn=q*hry?(r1aTBoWx$0og hpkuPvUVkh?J^`YCkXYLACwl+@002ovPDHLkV1k`4;lTg^ diff --git a/graphics/pokemon/anorith/icon.png b/graphics/pokemon/anorith/icon.png index 24b1202e62b1a9ccb04e7ff0888b25a4151aaf7d..37100445a9dd9fde656c907a43ae807778f78baf 100644 GIT binary patch delta 340 zcmV-a0jvIq1F8d%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT)c+_@UX z0003ENkl1pw6b9gTgNH8=fe#=-0vVILc<|WVD~r$4wP2ap&>;|6cELkH z{#!SZA_Y2hEY+qT@k@UGi2m3D5!=U>QCb=-LNFDrq5&eDH-EWQIGudJWnmPY&O*tQ z=g36ehk%XBkhxL$WL^W=;LNtV2Oj_iq4V?ceq?l4KpohD%YB06-t}yL3bPD zpXy#Owdr=DlV%OG+K-`=Tu+18kAM%j;o6Qe`h5EpFyi^}#ij$}=6Qsc{`-mr(K6py z5SQ3@g1W6u1|p4IKiJB^5jbDdv*0Bfv_6N~lDSAg^Kq32;> zRakGY&}@T$S4%+K0}PZQI~S%h*?Q2+n{07*qoM6N<$ Eg7gB4oB#j- diff --git a/graphics/pokemon/appletun/back.png b/graphics/pokemon/appletun/back.png index fb7f5b63ee4be13baf1c0806a52ccb0571b626c3..00c0f15dd440d3cb16cb5ffbd84d22cef9d781dd 100644 GIT binary patch delta 635 zcmV->0)+kU1>psdB#}W-e*gz`Nliru=LQD>90WDmzwiJ60z^qfK~zY`?UJ!>+dvG4 z4QMgY4mluOGZYEXIqd|x0sQLgxK}k~p4LWJnAknJ_+ZsD$u7PaTLxsFM z%V$UN*r6x^2?z2!^5>D0$vr?R$(MdqZM*tzjf0;f!M&rO!7|sPJ zh+YAW4CZEw$+xV05V08fN-V*W&T@HL9AM%w!*LJ@}Vz61Ome+Ey8 za65ne0RYkc7%;sN;$mxntA~+zv1CF6_kN;Y07a*AxfP#TgH%O&OsGmBqLiPayI3L? zDIOAPksupoku%f)f4VxRhz3BVO0+=Y0OW)c9n-*rn?M7~T4{iNiX3qPiBk4@lc*H~ zUv?>`v5q?xlGTQO^?C)~F=|pc$%% zr5o0E2ylWXQ&qP!$U5?@ORSBAlH*mkUQ1(iq-SWVq%;5ze+MdnMA}xBtQaWLb^w|L z+-bDk#&nVolPcJ=2l$;b`n48lGFH6@s*IbUq!%v<5SG}cj)*qX0M?+_&V!83nFAOJ^!X5LAZOy zZ+17{ataTasL31Hm&&C+E#Rhq;u=1%fLaEJo4W!6`dbZvMvlV}_kDjc`EP&Ao&iGK V6}AFi|Fi%A002ovPDHLkV1l$66^j4> delta 646 zcmV;10(t%61?~lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!K+iK~zY` z?UFHT+fWe44O$HCkO$eCp(M~b?SslLSqvI8H+xFe4*dcQb z+3F9KyL(Tv>?j^PlpfeT-u?9d-@UuhzZ;jA?@y)Q{0hVCQ~3|!NkH-gfKuvA4v*n5 z@Dv0y#RB0gz&4;zt-x!4!0gNc-(J@C_MC}Z=P&?xDwq-TC%l8NVR$vr-bWRvAb9s3 z;OFo&cuED^+2aoY2=9l0@r_a!TMJx04CM1A69U}(v3UXHjmh*@edZdp$&+Kk6b2Es z{uJIt8Zl4skT8oFIY>oMPyp=LF-Eii8Z$=+#65s6VUE2J;Gr*nAb@c(x4>Q^LtH>? zjQhNb&5D69t;9Hze9s|XZRoFDw}1vP2PG_4OyQ(+@cW;$NiIO?Jf?V*KLW;ZnKl>TZ5R4G@z2a1%NAW_)~8fDe^h}}xqVPgbI z2c*j*fDM-uupVO)nEIO@P_uY7t^Gs*4`GRQ(kr4)1;7$y?L0{7ob~`)0{wi51fYe& zd z2G|}a39d5NCRHzoMYLrJ511(FcIsX#({ftC&F+akeBc5~-R51afPmet03gV58lv59 gcQN`Oek diff --git a/graphics/pokemon/appletun/front.png b/graphics/pokemon/appletun/front.png index 6d755f397ed1f4ef774c56978ff8755aa334897b..b33eece6de90cce0619d6247991fd27008a3b974 100644 GIT binary patch delta 694 zcmV;n0!jU)2Ac+uB#}W-e*gz`Nliru=LQD>90fw%k7fV>0)9zEK~zY`)s;Js+CUVA z+0aB{i*-bqBDz*6;)XC0&omJKf zIPMP`?>z4@e+dv>687Z)-Fx7;Kj@;)kAR8ihu>;7(-+1d0HGhwiEp>2h8-zYiEzd+ zqyZW~02Tb|>CyL^bW|ce0n|(79#0MQp8tfY387+s#@-wtby-B{=v+Sl6%9kD9uy80 zh*L#Cxd#pTKcf;`R%rAN%7n;Imh;GRd-9l*ppm6GEVWV2kPR&>-{^K!ILQem_2OAi cO8;T~1*ocA2>}DGj{pDw07*qoM6N<$f?0z+k^lez delta 702 zcmV;v0zv(o2Bij&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)9zEK~zY` z)s;Vw+CUJ+O=u!<#W|u(5sej!xFKxB-!u?^f%=K;JMM8%VK8N5 z8PjEMemiDtIi4^t0oLCAQADSMUF4T~6R(@K=**WkYq3=!&=!k-y>$`-fkmcA*~1QO zF=2Kguo7$M3BcSR_gTPoh15!bl{?Pe8`o}48Cy6p@ZgNy9PleTB}O_-o|to!1vX!u zY~9ctK(oYO{0UQUc)9y+D009n3L_t(I%k7fCYQr!Phy4b6 zoGuydt+9>htCJRN50B;`z?WZg`iqD*5Uu>&7WND+&yPmnlg$^9D3 nuD8XSXDpKx0c#nWZ++n>nCcE_A$cEx00000NkvXXu0mjfF`7-) delta 167 zcmV;Y09gO41DOMmbV&gZNklk;DCukHkPvElDLI~7&ph5~tjYOQk0~1IL+;*RTcb4pt&?7X0@jgOukz|tbO%Ftp zB1?yvI!Rf~QO4a&ouW(ym)L=im`g5r)+dO_90^Nn!%YAH0W?WOK~zY`?UYS!gD?<< zK|)jm7}!c6f7#z6VyspUDAC*nSE3wpRyi1s1!WzGK=PIu=GCO{8(}j zTy+VBi`);yX=V=$7{-tqCmg^j0IQ8JsEtfctThe+!@{A|F5w3+O3~ zBRIe~`5yperc&YFq#a`z#tU$FBB%u4g1#i`Qm_^51`?(JF5#lQzTStcju)`J+D`$l>(P`j) z>fdao`pH0S=PfAJUyp!p1}H7-?|XDKQ4(Myl%j~03orzIcKGQA2K9392ef9uX;FHC zbqq!610K^19(;gEQz*v3bPxJ*0T|Wzn!g?J3pib$^na;u8x6bEC{eC300000NkvXX Hu0mjfWDk`R delta 370 zcmV-&0ge9A1Kb0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X0cPK~zY` z?UX@IgfJ9_OF~>b!UZfBfO#HZOedq^6f6wm32bIoE^)8O+fO9vDeWr|v9xtL3+La^ z_`=q!p>c^F7|HY_|~lmItQG=Vk%u)e0n4P?0wFu#fsv=sxu?L5f^P>DDM zkmCjPE{r35fN}Ca0LaXLq{8Ws+n6>J1blZQXoSClz9ecXyc32KNCN@p7Scd~iAZ3* z@wj!v8aj&9U Qi~s-t07*qoM6N<$f}OjakN^Mx diff --git a/graphics/pokemon/applin/front.png b/graphics/pokemon/applin/front.png index bfbbf8eecc23c6ee710436ae69e389d6fa34b6a2..0a722a7936d4c992634efddc05804b45f7ad2d95 100644 GIT binary patch delta 326 zcmV-M0lEIP1Fi#*B#}W-e*gz`Nliru=LQD>91EpoqG1340TD?=K~zY`V_+BsBNYgO z2u4Ai@{CFXKvD=yVg+C+MkOUh+zJ#y1bzjKM)(w%7&0&_JL6H{>Lehf5`x>2j06>! z7zrvVJ1gQ2C?O?5B_$;X+zOnPgq4&{@B}rBv9PfT9s?NCoW)Yyf723h%a^ycS7elz z;Zng?4h3a66r`8WoDNZe!-(|C$eH*Q0Br!9P_-O~9c*B^^72)ya4A?`wQALJp!}*; zI25dcgC*F5kzxf5Supw4IKshe7f=#}S38iYfMwU2Q)~9DT61Ozjx@)zd-tBzyVsoF zeZ&w)Yt<8 delta 330 zcmV-Q0k!_F1GEE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0S!q+K~zY` z?UFH012GUq$C8ygn@IHWa)Bg!fCw)_B9t_A6evL)Ach=(908?|w32sE5O0}^xJ=1m zunkGI-$+ohPx3VXX=Y>%wftKWUswWjCc3WnLTw~OOo#y%2EN1vHi`+^kXR}s!sSJ` zcYcePWIqboC=scI6a1Eci4bCf1u6O>&2Ub9+#hF=1~ijr4_C8$oU7N>^P^fIqoclA z0Aa4yZ(jyzF@L#R#{@SabXXQ(Mki!SX^n(psdeFUt%0CVY#IgrXMvuMc?tgEdh0^} z%E>PUzP0aFtt-0$H^+^sOH=L5ZrCi))C891Tnc2UGw60J=#;K~y-)<&r%P!Y~X*eFGnd z6EGpcVowY?M2Ad>b3~j3p>h!vSei9tpsEC8HmJw(jh-Szv z>@--XWC5i`TA2=_WO{F85&%!8tNBKiv)7TXnt8uf;Nhd+Tw^qd?>Uztbgw@^?ZG;p zVly9J;O?*wBC13}5PQD}{PB#BM=pS3fWwxH(IK+|l$s+IqXRG9NCz&H=%7HagYu)- kLHqI5LHW_^Ad~6v0#`72v4a`6A^-pY07*qoM6N<$g4Z%+G5`Po delta 222 zcmV<403rX^0?PuBb$`K0L_t(IjpdRt4#F@DMRNlmhZ8U%!D3GgIYfs{h;u}o1fg;f z6j++IbfBsjAhdMocjivu%}=r8#Lt+Y3u-dZT9c5GND_-+8>0psS8=0yFh|w*!K%WT zxA0w!QPj1=lCD@dw+HZY!R>AcLLb*=DteX!fP1J6mryOI6IXON9eqmBBzceNK(hS5 zB7ZzdV<;(LsTJ5%uR|>gaIDUZyKGt3YW=+qqWqXm2LPiE;K!%~`tj8P{1|mme=w^K YA6GDVv4;82GXMYp07*qoM6N<$g2Mq~sQ>@~ diff --git a/graphics/pokemon/araquanid/back.png b/graphics/pokemon/araquanid/back.png index c1bb29ef104cd955a558c2ff1c0eaf4f65c50af7..37a01a6812701561f967d435f6eb4caf2a591d55 100644 GIT binary patch delta 565 zcmV-50?PfT1)BwsB#}W-e*gz`Nliru=LQD>91o%hW_SPq0scuuK~zY`?Ub=j<3JFG ziIDq*C@)~D=qhLA0@1p;=0vng1BKrSE`@{SR1_>oNGGK@Vu>DG+)L0zNK2K%ccRVWX4IXbXUW3mo{{060ZDl{ZYz{X+wUI|7EOSe*m3BkF)u2(hYw-gXD+FGVEK zs^N5?>{rRBtXV?`{PBmgYa!$t=lseLdKCLKgCF^j^J^hFmr`yP%&Fl~_+>s*Kh?fm zKCK*pUMbCrdycw8f8ehW7YGCdFc_)s3_!k2?Pa?f062Onik$0w4d@8GMyIb1=|%yv zQu-X#fQN_qO8R~Ox0&W_36fT zMhL{lhhS`dD=*d)dN9oyzy6=Y7B;pA8JBJUTVF-*L0>Hhb*&o%00000NkvXXu0mjf D&3F51 delta 575 zcmV-F0>J&71*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?Ub=<<3JFGZ4UMJ8NYy1nXBYMMM$eAO^8|C+!cDKTwKTjxk`~uAP{hoSdcyvcQ28~ z9PCvt6bCjtv%AttHffV0f3@&`{%3Y}}+wXS!;FAu5;dGDRANy7SFg$Jh z1K)Q62wOzpw*Uwmopi^4I{*w_;Jd#IfK#Mfd86daKQKVJCt#F{^%+1rq7F!f5bFx) z?{<)$C?bJY4W|QT|CfBmnl*I5oj;mi2_auN=a+`iqxeQM_>qq|zY>yjDdl#_oEjd5 zU*vQ3Q|-&upS1(fE2UZSz)`md+zas=fq(!8W7VAj$d{?TY)=D!0EhpIBIi0^13Ch) z(H*Emx>bOzls-o_;Nf9$ofpMp4Mb6N+yt@)a2|>0CNM`JU#$#N+9zoO1u+&7%mKpd zBF_pfLeh5t>ZLS5&jOi~u*4#XSTi$8PtD;7lPO*)raqGevu~jenek9dbJY#hz!7$D z6+3|5{0YFX)lPtaWYtEgE<+knBcQ|{4KRR1Tox|f0Lkj5orH7#ghWyY5MbBd`^gEo zl^0b&iGclZJjrjKXqh$@5G$bi^i=HYU%gCI%7H;Z*sodiI^mG=4 zsroFaKHb>P2!Yu65KOG^#d<=Ira9x+|8v;F*7hLdvh9Bw>2s*lc>_UTEeHV4f4l$y N002ovPDHLkV1nPi23`OF diff --git a/graphics/pokemon/araquanid/front.png b/graphics/pokemon/araquanid/front.png index 44210755999d58ccce57a8cad69f0a1eae6fad8f..2bc81b2f020d57b0f03179a01eb1b26fcb22e508 100644 GIT binary patch delta 875 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 JPDHLkV1i2iiu3>g delta 1326 zcmV+}1=0Gv3-1b$7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1no&gK~!jg-I(ce zBaFJ;+xx%nXhSRpgFAEYkD)4+bjRnj5StD^KmTq6Zog3nZeKD0wqPyBFA%V~ zo&bdSrT%IVq~9v}RYU?H#`1c(wksdoloj1X(W8G!W>Z=}4zP5>k|px|(c zfLqXR)B7L0^Z+5rkw0@T&j8wc(!=8+J&+}>G1wnxD+7}L#sS<3U^0 z;7ti&#YYHH2=q{Zhs(uM?cmhZ}FpyLJ!frpN z(g0$>nO+F>5%2G$1TK{v5bGMlzhCOX?*KMSWwf-F<1K)b98l6(fXLGYEd*=;<0S))RDn0u=jfFALl;8^w~7^q7w}|9$9#5~`l~a)wgbKViT&ks_DPxm1VHj)G5+ zGIX1NSLpf-IO=^fja9Sd-0DxxrIuimz(TRlC(F4902_U819?I;gsZ-Tm53uzCe)SVLig_rW?Y=6r!#EJKTL0ULhc_!n}^I+jb0A zPUzWpeHx-HyIWP#Ttfhh?`27)Ev(vh5|ibiNvo(J2Weft7{LuhP!_U$XSJ!?waZj)|5gXg?y_g1&2+(U9$(q$Xn(mawrmXE1AEOwK`t)7DRK@B0*$U{$ z4uTlkc6*2q;W)THsOC^>+g*QpeUPtzZ4S1*0GwSPq@q3F%pU`odgsb_x4wjS_-Xl+ z9B8M`k@9I_Qibf?FZV#7>pJ&U0DwF9P&;=6oaR7}l#l_(2u?RQkSbLP9pn9j2WG90 zRw_H-5JDVZ9~2h|0@%8M_D-eM%m1|t+4r^~3_8IV2xx}00kqzK00`NCgAIaz0b=F- z2LukFaJ>f5hjpuxrvS%*LhmdG_!hkguymNx_J~;g?gD%ndpB&MXe kd8mDT0k9bF-)MgTlH4|G8Np`_%>V!Z07*qoM6N<$g2!idDgXcg diff --git a/graphics/pokemon/arbok/back.png b/graphics/pokemon/arbok/back.png index c8e78fccfbe8305e2ea1370ec38ce6b8cb7cf777..6d53b683ff42c465be4779b5a0835634b869e9f4 100644 GIT binary patch delta 390 zcmV;10eSxa1MUNmB#}W-e*gz`Nliru=LQD>92Ul7&bR;o0Z~arK~zY`t(CoQgfI+% z$&mE~!>uP_iIr!8N@+Js9lBOx>hlsQtDm7j5=bCUPQ7}A@00EPSJnTAQA%a-O%VVX zUO}*7hBQ|e6G4|uVl3~;{Copmxzs)ZeN4I^IKB$+)0Z|UPM)suWV-9=tw1uu2 zzBWlTHj3kG4IBsY$?_$|TvcLXIRGv~b+jPQ96E|7;q4*-h9kILIdpSk1)~`A6_yl3 zrbXLDNjMf0(*krQ0elM7jNtZzB+{pqBKymAAt^H4ULe|Q2>%)3?bjR#HYbIl-8cks z;hNwD4bKUZ_!`?xd`RSlcI)!N*LYc=wlEP+kR_qwhcQ1X@HJFP@W%^F!kyv93j(t} z@+l61Nf8|226H`fhKa7hgfYe!?LD91+Nimo@A4+*&E+u=k33(Vn*tB^UYZBnm*Kmh kYeo<+3ww?B&q5-80cOz@$>RBFH~;_u07*qoM6N<$g2kz-=Kufz delta 405 zcmV;G0c!s41OEe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a!^yK~zY` zwUs??gfI|=?ZWK}ifvb7BwEe_k(_jvQlyPUmGffB?VKTif3U%0ud>SP@cT6L>@mRp zK}Jehux}Cpz|e>SD>LSOX>CO4vqg;c2Q)w5psv2qz5ssAdKf8x1K#H^ZB9OVe*;h| zgeLVNXuw^%A^a^Q;?zoi%HMjZY2=@zzm`}S<1^_4s1;yG1abDE$K(*+E&!-_2e+#a z{SpCwf{CVbhqc65h-g#PfMb~12wRgH0KS9@V?N2<2eHmIS+}D;QV93xv!PSy!Tn=m z?@LPr*qRtiyM6FvHI@rO0~($K1PP!$38Cl^-JbG6_jnn=u5u7?4k&D+bMq#FG`;0%z z{`$MA_|e_V`_c6!`~c{N0Qk#5=+XTdxQMY|X3-SM1dX%c00000NkvXXu0mjfXUe_l diff --git a/graphics/pokemon/arbok/icon.png b/graphics/pokemon/arbok/icon.png index 4e49d6cc61ed9a78fc1a2e58be29a5152a889991..14c4df3fcb232a8c2d1a2d8b0c41c1c4edf0df34 100644 GIT binary patch delta 359 zcmV-t0hs=l1HA)~Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT)yA=~4> z0003XNklm%QhWHGoyUN%S-MK=l z(uFn30ZOZ#A6WC}>oNAHPK*!Vs0+do5i9}z4wR)pYXC*TCx65*ZSxgx?`m0l0xAgR zN+vTX=pY?H0*X%fDiR?L7~7FJKLa0fom=+=Em9RuPh_H~??X2hx5 z!*fv!yiKColf`fqW-u2;3(>;>MFC*ISQ=~rSc_JnsO+bA%l_lx54pL=aj$w)UvHca)(#b3guheE~aA!GJKtjn!Ox4$hHBKa|9KUhqDAoYVKKk8rg;~OT^?V^R@kY)e?002ovPDHLk FV1fyBpSb`4 delta 320 zcmV-G0l)se1C|4jUw;81Nkl3`Knd<8>f&kbxesH)u}KOkkkfD8vk1 zT1?Imx~qc|(_Lz;I-6LT1C&-fKd|*BKOz295j~vI9Ee0jSQrQ!&ZapKq`SRk&e2i+>~I6^+9nGl3%%OchWSBj)xIjDwX^gvLAwyAISX>$&d0^{rCYU)9s=d ScBTLT0000 zMlkv~!x?B|p>>wj2Bg<1>_0z2ZY_*rEoLB>wT=g&5)&TlZ`)E7V*=r># z>*c;603k}jj$fCbRSGsMu+3tPkdnVugw%rcIR-`vEp^oC{{|;>koYuA+Y=Ry5zK zIZNm$e#j=0#<4>t0avB{tvLN76B($w;UqwTvg1xbPVi<>(Hf97a_X0KI9xJ1OWT=A zmA35R666F|jJfdw|9U$D>jbE?w{;hnknmbiP)}qN0Mv!+i!z*%wFGsF^+at_0*{j3 z*>qY9BrlpAwDu!_R7D?6wI+W>fgS@iDTG_+oaYq`r?Y#lZyzYh3zvdHm{N8qi3Sb8 z$)m>hkm2$W)~S!@GafUF8<+}~nk-aBtMmjG29p%wf)qy2E2y9)fRak9EXf2IYLJ_D zak{j%XXF$W3ZPxyu5xgvFt-ZpOIv_xT~e?jt#JelkdXxMrMkM}mz%&Zp!yaSp`BCp&yd+|qf9MJ-h zR|E9Cxg>IvWgK&Oz5ZQFi575~3bw^Z0^mx%Sg#mvH=o&9L92dApQ)GY)ip*$!qC)C zZ0@@JTg(KR-d_Vn}?FL0xkK|!(=k8Ot{o6{jOy*{hWHU3nzzroE0YEhR zYOSx65GS)FQx|78ff~Uzq%fjfgpeF;YNKc@JU#%6LK3)>3c`P#@gQ72lJ3&C1hyskx zXl~3mjRCV>VudLFWP?w4E79Q?D9hwF!uPN0~mY!-~o(Xe&_Xq_P;DT9Ew_UyeYqqstE= zfA{wN->weF93FH7j zq@{=~fgIomtQQI<5{M&=4nG93+gFKB`uQPp0z9w6&krFH$XL<)T~t1Ppl9Auj?BIM zz$g!qawvZ=#>)>I0--?^3_5&=5%9df?%QhCm|gfsY>?fuQd+ z*T)Z*K>D+56r4}}{E(@kxxB_r%-8{bkO@BDkl)>%e(vRm2!l4lS3Vw`9^eOhPqj|P zU@ZLnkXXT;4Ud-}P;jC(-8{_C5BA4xI-#4z%MWQ*u;jL+{ro`6CAfn1@&gGTf1z9E z5I+Rr?d?NG!8ybaOyABS_y9j(9OlUf_#s?x1b%*a`LtSF!6AOgubyhb0e-NI^r81T j%op30{fZ%U9{GO&^`f7#xI6UA00000NkvXXu0mjfr5DSn delta 1628 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 N00>D%PDHLkV1mDgPiO!D delta 713 zcmV;)0yh1_2Al?vUw;CpNklZ69AAx1-rOf6{yk-+_}$I0RdGp0u@wiB1r}{On>KLO@z`HAbVJofVzb% zaw8x`;RE-#0twWJbG+IF(a)9z02iQt3V_$aMv94R{B`*51JA?TQ|5W3cnF+^j-St6 zK2rQ`@4GlzTflN2hheY>8-28Q^>d_8OC~zC@bK)+Hkgee3P9 zg~aay{>40u8zgZGW@}DCrN}7BApAixp`{7(u?c}lXoX&n@;b+OR-!?h zDVf6Lx)~$Omqhb0rSp<9JMK%I(!BDq6QwvamAX;N&`aX>K|ogBYnBtrcG`4UDy>R- zOCWU;F@LX?TkyNf<+m;^{VD?b!@QETThJg?`*FEkDAZX8*aLkFH<3uDAvfyo7sp+) z1NOik1g7~sxbyiZ1LTDMtnEh$Z@OR3=a)T~P!8x0E$>6V0OtI{@?#bH?}!Yj#4Evh zYV<+C))ZABLGPQLN|a1)O{}6g*Z?(`up@A@C_)_R9nf>7<0b^?inum)QH~e`+5_mC vSiPekCsb+`0QCAdqx|H=9>Y)2zdC;bGJPlroY$s800000NkvXXu0mjf%8yhf diff --git a/graphics/pokemon/arcanine/hisuian/back.png b/graphics/pokemon/arcanine/hisuian/back.png index cf835c6f1d0334647fdd6486341e21299602906e..9cd51ee3cb32b0b9e4290e96d9535a3a9baf3ac0 100755 GIT binary patch delta 775 zcmV+i1Ni)#2iOLXB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD>93IHH zMv4Fc0=r2>K~zY`wUj$=+b|HvWvD|(Q6h@0JafosMNENiCV2=n22C1t4G;+a8bNG> zYrk=iN9tiCMhXPwqR0Jo&;O|?&d-B|CGG!pfe^^}zw2gqe48+$4 zK*$e(S_|RcO=1Pxm2pr5s0)B=YXayPXDsRC1qf{PIi1E2L}g>807<7WXzFDi77pzTPD$w2|eaRDc#a# z*{qVDtr>x<=m7nuSc%yM+74&nf#4sT;s(T|macVU{8 zwl0sYmXjT6R!X8}pp-1*qSP{dn*mV5XAvY9r8dbFkKu{rf7mUuixMNyU=L%0y4TB;2I*Gf+sF z%1nd@9`_8)Wk!NB0`4WDjsdf9kXfJKyDHzz<7U|B6f#gQ#~n|zDVD%WcHJTiy4Wgp z8d-WPnfhR-e*id$F*Qndw4>}3;H2wcsu_@@ZyC~^Q>gErQwju>m<4TdpIkYRPTy4- z@TAxTh<=YMdfkH}Xq^GuiKgSL?DuXR*`p(lWN*flt)S-?O^?n*pnrj;+vFTmT7u*t z2%s+w1JV`~z}0^np2-caSq>CK#?3ovKCL{d(IiFneNMSE0Kf0TTdF3y*sJ(AJpr0P zfEo2de?oNz_z*%8t|G!QP@W99B_aW&DDt4Uw0XHxd~HPr=wD1*z^l{dJzz0;K|c-# zSQ@+!(M2QEHW47M7;vo_0b_-jMJj~g7_Q|lg{t`f=Pz*TCWgoNfo%W)002ovPDHLk FV1jLgQ{4an delta 840 zcmV-O1GoIx2AcOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00O^BL_t(|oVAoaZ`&{sh9#&&M^Pe*tUPnbXhlqcZYFsMGzLu? zbPW&)`5Qs(fNTG8k4NgmZj1~;xlqzQy3dy^iqrMwpD!n?*?k(&p9bKA7#TQE8Hh2; zGl6yyQ0Ia8*#HRn0nlh6+`CDXuq%y&e+EFE0bJJ*K+8CL1^|f(*wpU;#x@gx8}%*# z8X1tN;Kaq(KtQtq0Eb^kz}pxifCtAJ=f27Zs>l^UQi*)Pfd ze79W#A-uq{F2`{UKl>GM9bTHnuA_qks8uCZV7pFsd>{u02dfy>9b06~kxGdvf8C>7 zC()A$J?2FzUDLL1Rz>gDOu$8SfPPz)VsU}C#|5|}_{X-mf{7?~-$OQAw1;qyp31D; zL^O&gkpXvcK;#rVm&ew~*^V?TCDAfaNtSU@X_@}b04U+J2$G9Rn`Da1@I-R#4%tP8 z5oj?3JkvVYp8;x8oBQCSDm2zMe*r0m!M>mRT-)y4BO0Q zq9_PYO`QQxicNqR_Nb!QJt%@U8L+)*d*0=+cbmw*IpRq6W=h!#dhgH-=u8BL zCusX^&M~DWNDhJk`qMBVZ7~B}{kQRv+~9`gKrv)Ic}LBsBTs5HNl}AS?gYT^&*3#y z6J6|8yiJdQHW0vHqF(4GW>hDD41Fka@V5|^xHwh3N!*zU0PcQWUvi<^a>L!N9 SJ^3C0000093TnV zTOj}d1C~idK~zY`rIkBx+&B<`B?!LSBk8b8DT*oFX_q>iNGEcTO`T*PZ2+HcTf^&c zTSc*#e;~#E+Z*a-$qAg|SW%ph^B&6c+U0w{Sz-P^0iR{T&xbJXe;n|W4nM@pLH}jQ zco@APLQKakpu#ZKGs5SrSMVuFL&j3}cJpaU&{_9+@sFTAV{dm~t0@pO-UCnf+yT4O zW-CT9K#Zun{dTohq~Nr<+7<%=WHTOseFr?SfA2n2&5*Y7&aSQ^jgURCn6nznz1)~Yej)V^nfB}00IKa zcXlIKhS;9@YzFw!!aE5r7eyC40ZcI!_fdo;Slh~Z)`j5%D2k&8d>%47AUQJKg+VkZ zUXCubw^5}`>GsfB;Ln*3v@0e@Tq&hdbaiy!IOJWxiXq0he?oGy%-b|EMRGkhV($>~e@?io92b}4?CvB^O20F!I_^4q7HL|1JP+AF}7upUzb9EuD(Fzrw(Xac=qrX)A|SEN9H8j)B~bWOt=xV70`RERbt?A+ zT$mR?a9ufo60H7m8g>t6Hv_Jp{ysD=%Pf1eTIAiHh#4TaPlwzA-?BD4l4?E&TFVaT zUp4|}c?zTyUQj)ICd51qUO?aSa5yxt{axjD`x`(?`|2N>9BE$vg9qXl3jPCM)gu=% Spx$o)0000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00WjuL_t(|oTZdKbK^D;hRNYLwU=Z@N=Xn`xRV6N=3GZ`CrX`* zKH8gc7_}bTfm(*Kg+GuY|28j3iXwG4xgw|l?1TMYcwW1F?;9&z{7=9aY4GJG4Lb*X zp~DaP_N@Ol6f%sih>(+EORPCe$_e31f6*)W6eOV#iTJSjG$wG@9dCYD*bDJt_eV7b zVj+9r{aHF-cie2%ASQ~L%Wl72tu+)JH+S3YOb~3wXJFp}ui~G5#*4FqLKJ5pkVdoK zz1{uYFm-pK7E;T&$5(6fB;@XwyM0p>W$&QSQV&34Ld3Ay*sRwI3lc;!0JRW5f9$PQ z87tKT8q66802CkXMv0WUz4OHc@N-Kab8@-Jy4V2-Ep*&R5f)@^E0<{(hEJpsM-TWi z6u5w#McIV`nzSqi7uwgX6QRrY(piv~Ob4Yaret1eU9#%x=+1o3yP}m~j(Np!vRJff z5*qUITsg%|1dRyOWy;56Ddk|ofAcbi*r`O6k!k@A4HqEjn*e{l@UH2@S# z>P+=EXg(ey|0SvAi%@8Yvb6yP6JX{5BT{&f63vWxA+i%d&yV3+r_D;}r2`&$-gsl6 zIGGxNZB}wgZ>C~CPJmd?jMFebJ*(y1?yBmi&k;Tc8h#j^K4Vl;I=xyna9%xDMO2`1 zlHQR}q)iLVUTd;Z{$4#&f5e2a7elI6n3R&}jfnEbRz*F}kQ&(+1f$jhHGNN{Y-2Ge zc8S>;dM1{cmJ$<2O9g3eYip5w8Ue}yC%pG^+p54oCwv}0G>k$c=O{ts1=ezoj4-~K zp=o@6$hh1Y10b`1q3$XNvs90c{IU zKHd!e-BbldAuN|yW6|oMItnm>O&DW71Lh)9Q($hRAftIL6W1$>=C+vvh<>pogpX=1 z-0>@bhf>!`z6Wq)u7KdaasU#ne{>pluVyy^?%#hqG%m{`eY5ax4`Kr3+xNr50e_}# zc5>8w3bd9T(En@zKPGt!@?3dAb@5E8X&Sr$=lpOuOk=xR`F8saAkU|UuNNHoPX*4A buPFEzU)3WQHLxFE00000NkvXXu0mjf#D3Dk diff --git a/graphics/pokemon/arcanine/hisuian/icon.png b/graphics/pokemon/arcanine/hisuian/icon.png index 9fe90079293688d5d5bee71af6163306350da936..d34fe9f8057948268d669e2dc4ab4718f1150720 100644 GIT binary patch delta 340 zcmV-a0jvJ21HS{1bbkN`bV*G`2j>O{0URRd*E$UV00AONL_t(I%k7e}Zo?oDhIs>Y zUb2B;NH#ijkDtY1!#RMa{kHhxcY(1w3Ahoq#Ob4n2g&VLdhjBhChfLO%qL%|6} zs{#T6;9AR@06RHiB0wLeX_b+E???hzkDAEmfD}nZ%Tc|(oJT2L6ri;P@!lFCUtJWS zbtsqa5^kBRPdyc$)m#bLnIcJCc&R2s(^`@G$7gdc>@d_CQgh*n`ao7;*j}S8ZUqDH z(p0u-RNd)l(M<|IPqeB|M~|h=GhV6Z#^SEeJE*V7nI8GCC4_8|)Avm+%@2S*dO-Xe m=23>Z`y(6X9-Co);g3(6D*e~EW=DGf0000ODTCSS zXN5}k2F8`@4T`}eQnyN#vh)^?kDn8F{0RM3;C-1huqj(!GFT$OtlTA-(YR=tfs9%U z#Kir)1Z_B57$hZSj8Td(urdKsvMt2`5Q}(qC>Wv0NgxmaZhw@xaWJzbIs){i+fHgR z43;E-)uf1c4M>tyw3_6{+j$bgMgeja@XtbdMr$y zv7?@8gZm->K{<0pRu9PEKOtnRxbIS|?GJ!GdP4jg=2?b$_#+$U5u0It;g4^cD*e}D Se;2?20000MKt+l+I5@@xiVry+y=@vHZ8#MKXiI}_5ZMP%l6l?L zJXzKd+ool3&UKu^Xkgb7A%l0iurCNc?RVL%x?MjNs) zUWO6DQkY|s?pqkG-Mui*t%PxFVTwN##%E!^{K&#A{2z$IEd97eVSen#C+4tiGx2s8 QTL1t607*qoM6N<$g0(HX!~g&Q delta 372 zcmV-)0gL|o1KR_TUkCwaNkl)7aPKAm?s+3pZKXX;ErX0qo#y|R%WFId`rpI!^O%Nyj6qD}w77rdb2 zvQsI;x2Uv6oIeZ{8cDdS8C*w2BRe~vDUWH5>)~9_6~+Fk>gvT1B%17MB-8T>fXn`E zt?!m`Ja#uG8T<+}m!C~FQ5X-BQ(;jU8R*djkc9C@ZK6R@7$!0iBw;`qEQ1Y67$?IB zU@1%)rMnBGbpUr^hH&jdm}K@{nArK>2;-74H$Rdv3qOJ|OFynbn1}TfKfVFxux&Hp S&*lFB0000O{0URfnz0QIF00!epL_t(o!@ZZmYui>F$7O^A z)nQapdg;wSDUjtP>uFxCb%t2a(D{@&@z{D8V`3UJW0%4VIrNeiWY}d318XpF?cxkk z^cQS@z_zwK48|_)4jw8PrrmbhV817&%X@N??lh64P2NZE{eRwjzu)iswIs1el`eiN zHT=GO5nxD?eG#BBz`6)9Rb9IPsF-c2fzvPIRaYZkZv$vxLuW^-r~uI45y#hhfD<49 zH5E~OHbmls_n@W$IAK0YDaD_BK*}fiTX1a@MR#Zzh6Epe0_6Y)2^gbs7)DWexU!q$ z19jKu1!R%ClQ|Fhe%QK-{kkVD3oCJhSqX z!3!FSz&@U}*`Eh~P7fz*$G$M$FK+Sr&&6xc4(8$nRexGsrn%n_=7GzOsg*5@{i`RnP{E`#F$h;491jmB zavHGhR`E5jm}wmWOf=I{j)z$~NCJ}KJU!Tao;?Vd>tK2l9M7^i^QD$A^#T6Pt_lUZ z5416f<9|5GveZ(O1&)WOkzS#lyWkCE8_aH!`6_HJ05*@f``Uk-0X94EZgvk~E1kmV zklW`Mqq|^sFjlt65`k4heu5gxD<{*!-|8gXT#fB8raZG z{3aIy0?}tRxB@UE0X|qII0L_e9yK+MmAFY~gn!I2*u=Ml78EsE-5YuFb^`_onX7Fy zk8~EJeG1G3pwm3UKbq9RZv-3!?(<7jJ9`lxBK0VH=03%9n29OZZ`weKQvfp$x@oDl zIv4`As%*R)#D}!IEY&Yomg(UYQ|irv!68jbfKt2-(%Awpky=E%~%C+!11&I^4ce^ zswb8k^O|rx-Jqwx%J+0-A_r3u_>BkHN&$CY%I)b*t|`fRHYG0vmK?C$P`EUg^O56Q zoGLBPP*sHk5?{I)n4KldvL*fZ=R)t0-__+8m=LrEa_zagsH@Xe@LJ>|NmX|7{eM+p zTdf<+9IO{IUM4h54$VNtVJ(|7?J!EJ$NYnlOUjKfLp0Ud%`1(1s`^XAYyzPK|Glu=k&*{>ruR({B$^{m;ET zIf{O{1DkOE?Ko~YiR#YOzjL$bLDH)S(%=)(9_;6*Z9FQ{|D|DEnqZ$9 zK?<}*r`z!-H!@DYW*ep3l@Tj{^Fz$O45Tzi*iz;!RU0}9Df9U9Op|+ zM0HhFt+>8)`OD1W+=Ew;!Mf#qhz`-@AXu*Y8CN`@FGzWrqy5#An*MOgM<-!^Gqi!CdzhJUMyM(wtGdV&HY6xhBJ208J zBd`?jYA>qW{~C+}5DbX97ZEn*wIR0$Z3H|aVfxJ@_O4T?zte_9Y=6%CoxLN>IFj3k z?!d9ldCSVb&W1Olk!5)JYa%yQmh;(ETB7(1?tu9~HzPTqs>zc@$sJS>@RUX24(eCY`mc)y zgO%Q%Vo8O;NYd7##u|JHV7(=8Fxf!QZ1xe91Ex@@KglJzt|tpk@DKQT@YEj6$UW6v zNa!C#fJ+cpwPH!|4+y-&1G=>8AKu}P*0s*?4`%?Pf8ZN*Q5q8epMUrViV$wPaF0-d P00000NkvXXu0mjfl(BD% delta 1816 zcmV+z2j}>J5BCm`bbkizNklpz z8bj(+)@zrvhf*r4Qd4>f)UbzKHUSxWX_takC^&ZT1`*~jX#aq;NqQ)hT-qL76fji1 z_0&S&NZWWuo88!zc<5PwnRT0N!|LLG8++ZR6vocRLTmAD&vU z)x#;-_J5-peSd@gIkhuRi4f)5=MMpTX9L9f<|nANub%_h7VJU}#8dtwj}qO5T^#`x zCr2i3s|aX#G5{T-uGD8Y@nA;W#8BR^0$^MxY?1PhxrvRD4D|7=jlm-DGkP@LIQFIa zL4J!@f6gC!cCe5QlxcpESO3XBZl&o`GEm+HXan6}Jb%ss<do(W*qE18{JBiz=9_8n}Q1nL|;_l62ROJaA2081#yK+ z)YNsJ;s%}D_5z({zBpg1MNOXfwJdqN0SBhiU4Lygk1E_pYYogLpwm3U4-M+zF9Hq% z_rxX2o&5+8k$RMmg-`JuBnxFaXj(vRCkN&pbQ2;Cr-Lp~v&`qaL3~KND;ZEQvkVWf zm{M;Z3=b(Q0HlsCHhi+M?bozM;80dbEW-C^2X0`JJ*^Vlqil96^T4YF3k>Q#O>6nx z)PIu81-fWx-h;n*s3H)!NnHX;RURqkgYWqpTeBaf%PL%yfi`$*5b%Zf?80EPDo&f@IJb%jpK2+P)D$I0au_qkQw&?n;a<`&Rm0%_V zzl#80DG=^Uy)}DRC`w8eP3)z>N&r?{Scca?HgkNF2*3-vswx1?KRqu2^B1*c<-BHI z9Or5WKJ<$(5g{lIl#|wAPS31pA2<0t9^Tfwg0T{uU-j1|LzdG|CyJkMA6gRunlM5t`k1`5}d6w z=ZW&xFP5R_fEx3kBH-DE1_w4!Agx? z(fuR`Nb7G|UvL);)E6gpkdOzD3qT1MXm>hq4+B4rvn8^lSj*c>96%?hjemGFib*TT zw!4RJ+z%Gg$SH<~s#S&9V%rfeW=kd3R3a4#& zLls*)ZqYAYPG95tW9?+0-sl;PDJnV|r%7E0hG#z(&f-#Mg1|gW4YtDcV?)>$<-vs; zlO9l1B|ChP83L>ANYob>#(!atKfc38=qEn?brRX4JeZ8fXtxJApQeEiwXYL9k_5;& z()DT&cI*bq2OlLDS`d%Ad4&3cw;kHGZP(`_N6JAR0XBjAZ9`h(^Xf7Z#nztaXL7w3Lw{|F<_&g4UP=zmxSdtaO<3f;rR z@Gv&{3d8%@{ihN@94s-kVV03_8^L|2n-&0ti_gGRecRrv1U~I1^8&zwzTu-hz~@)Z150k_!x$ zw3by~;0pl$RkH$<4lAj}zk&+D4D#;J!-%cw6}HqR{ea&G*YaR)-__hDLH!^DLV&oM z852oAAn=|DRLE)l@SbqAZuUQWDIn_yu|Vf3@&DLbr|c0C8@Tu`UG72@G8g9s2}f-tax)T%!vgnJn-50tXFuOiO&$%%%;7z*gq8Ajx`TWm0|9|~e#{Qqv#8Xp#)f`&Z zP4jhCz46IXXHX@=xy18@L|7$4OdWyD2NJn?s2P=S<;wC|Ju$TGI-fp|T7u=~z(Ct$1>n{Iaw8!p9No&@ElB`>V7#LT){-P3_-t7Ybo4zI zpbi4JO$~q&XMe(hfpxuUS8j8{0e{%mNo*v(76d>`b2Z(J*vbV0FtjyxD?)C!1VCGJ z>GXL*a7X~17nD9iaL6TqE+2fO5Cnd4ExJy)we&!J8IvRtKQhK|K)s4d4z`eG`olkblbtuNu;IKz|Lnz+07=>aVFA zD4@t&ay7vS5)8}x{5jecoJnskz{kjep>+0p8zU5Wp+M%pH(rXs^Gq4vi(=b>yP0w--_#gCF>@YfTY1q-!=Hy){k*6#jd#x? ze>l$FzJEx{b;gcSZx-ec-Z&IOIq4KPaZICAK^xPPm>fu9Q~;)!hZmoYLeL07aJg(# zh?4L7tOK|~=`+9c5qmq<%M`$OO9HrPwt|?1M=?GriATEt!ms2r)rIgx=$(CdEIM#A z-P49x#~l+tjSuBS9EEL8W1AURPdpm2A7!bv^D_=)1t)>TR}=QqC#rK+0>&Wj;Mm3b4eZWfV}pu&ktBT}<$=}Z88Wl76oFStlPUu?Ec5A~nSV!O z?Ei@?jGFYTtATCbT)nQ!H$K@q`c)!AD2y*8Ql%j@Q%4~4fqz799%@<@8@06k8i0s_ z?bH#S_0qmBPKJK?sw{DP=?h<%C0v7Xos|OH%YnYJ#uC7*0n}PSPPnF#I~$S!@xVmO z46GDMK=9eNU1*tW%s~eNx0hCMg%W4Ng}!|`X-92x!UcbDZIW0k{LKk~rr~Nj8L?4w z1YmFp@UEU8Xj^a={eO7?A0rnA_Ias!8tZ(7HSeN? z@g~4A-s9ruOWli6!b(pFh*7j_3{l{P7Bc_dv{M9*Q*C@ViX9j3rrN1|Qa*ZO)-24X zYDX^(e->u>^PqeZZ;vuR9A;imCgnV1hp0OZ^Fwy4(W#*M^06-h)vR5;7klDlrhAQXmqf}+$@rbzKzkbSleWX~gH$U`+# zJCLE1Jvi@#r+A1FRt7To6kmuhOVy!`dL%6I`M@vWBjh&=^=uAPKw&eQxKY7s07ick z6i|);N65_>1R$X9_QdA%1b5J7AwUl3eqx_hfh$cvag)bQ13k2W*jEXx1qr|&N=qd?PBW(RO^%QaFDC{6h6Rc`t_K*@vZ zFNGm9VSJ(&#=Y277;HS52ovK!5ysAhIgR}2gc)73{ed4}#VzBhhbQ&>00000NkvXX Hu0mjffRdFv delta 350 zcmV-k0iph~1E&L!7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0VPR9K~zYI?UYe( z!!QVh3oH*H4gUYX-9fs>v1zL9ZPlz+YI~p0fYZC({^E*=Ygyz9fZXeG=+pthvD>?d z_W(zp?h^b2AeiU=IO#`2E)6hrlpjl%+;e}A9hF`yH3J4K5q{`80{PW6^~Z5xMQqh% zdTi#*Lq7%ZCjfVU)d;f${0tEGZtVEk;E$J&4P#2sbC-y^0)xdguwWG6oZUjiVarJ2 zl8}(10<9`n4*&$&vIbi9x)D@KS_Z35loRF9nuAV6Py(EfL-+@dz(6JoOh}0K+X(aM z0KMN&)NRgBPUJ-A(q_i4_1D1dmHs~K{Q~4zZGempU4Ya*Uuo!W4v>A*PCN+^Ji*`X w{|CsZ|1dz>d>8_x&xcchbZfC)fZyc97Y;rfa$^CK761SM07*qoM6N<$f)aJ2Y5)KL diff --git a/graphics/pokemon/archen/anim_front.png b/graphics/pokemon/archen/anim_front.png index 128c3cf07ed060ff22f1eac1890fa285981049ad..a97bd9a36e1ac76a2fdac5908d31087fa2c92ffd 100644 GIT binary patch delta 941 zcmV;e15*6s2mS|;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT){cW5V^ z000AFNklF>fL{6vv$uma;TKEV(v9cPpht7F@Gwa@I*xqPd|q0UoeGwbERa z>$A-j2%(kS-A71qnq3`Gq?saPifw2z{x16ryR4bX%m>Kf0)N50|GZ~E+y5Vg9LE23 z6f5WXarXKuPf@I~D!%nm7P!o1b>HW|e}8?zci%Uo zWCXW9|G0ad?lin){m;J3Ca4s#li?^iPeX#8Y{7+;J=kdL7~jpG7PXI^+dd&wSKxU zEFRjIV?7LNUhyNvK70(a!*u#QHf zjX10SikiM4?`}T< z$n+dGnm+dH)orgLrA#$^TgQC-^NI{4=iyxAlOmYRY$;`=%pYV!pI-6Uw zXCTMC!>5+H5AVtK-t9gP4MlfwpZg&?h?SC#mw&M%c5p9@mOAb@mW}m%9Zi40z4sTI zlzd~~<1#eK=hC9L`4y63q z^1=DahWmyd7qctdq`-o^!Nv-(5t9tKBQ-S0=`}xp9`0rh^Rt0GzsP_)di5IlFH`@R zzJI|T-9Bnzp-OtsM+WY=;<#PUFi!*bw@LxhJwt(T$2c~m`Mdz({sd4$xQpinN9{|k zqJVkcX~xksn-C$~&obhsMX?IXUh_0h5OvF5jzB5ZYG%S>Y2qquW^=~Gm1t!OMnQ;; z$|KbSEb`(-8n{_a+@6{8jR9-s_m5X7@edTDN7TJCEFr&w^B+pf@^M@>}VyI z$Y*L3-~$$@R`N#KK54dy5Q;S2{)7}O-|2uNjf?eATtgGjf4OhWhKxcufq)s3ZB6q)PG#&USAm&Fy*GeVGgVN zK7aRk`+#qb6BM=J(&x9E+j+`>6dk9^uCMI1;0Woo0ckVVEA|IsEuh@_BW*ysRUb-C zA=X#v+iJ#u&|24ZzY8pnRB_L7@;JVky0xagWG^Kf5`a) zEmSzv0u{Hi26Vz(H={OCIS$ zQX|B7@;1X$)^I$qh_3MfTQ4mk{fk~5+$Nz4+dAXob+#MS@4>~Z-#i+A4wrFrVHIz>0(KJ!DIAciF!FJjx950z>Mz8lH654{J9Cj}R!L4a{nUS_8fA0N%@4b7MTndF;xsqCFns(A(>bib{(9pjJ zrIO(n(bubl7#T!e4*;`~PF$l;i3CV0QAEGRx(K8a9?)kaLI8=34m~ykAWf4rE2%(h z%EmICG>Mr3uyL=80HpLd0!Rk1Vr(4%q>^$@d^Ke_rxc_BoVO(~J^?J3yw4`2f9erQ zU?3~-{%q2C%>XEuTFvYWMk!OwyTlYF1Qrx(6rg9T9&oma0|O*(0A+#E!O;3G(ZdG- zC`N``n&>h2eaj1ce;nxM{b&xw2dFnf*>%J(iviDkZg5qmKl$sOaKtvYi;`WR!{sfd z!3mUw`1zty0a{ZZRXFd20Y^x=WYOBTKmxU>pzw4E1Bw9#Ky)XDGJWs3pI2c9ARwPu z2Unhr77{iNDBsdUtb_Za>+OF+k$!X~cK#Oj_#t+}9zeT+A8b(^yz7+z7;_!z554re U5jI2Y1ONa407*qoM6N<$g72ERO8@`> delta 434 zcmV;j0Zsn21il22BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(th0hdWcK~zY` z?UONU!ax+qgM&j|OeL0XCA0-cIqY5tf?Lz@oRO?1fAapncmI2roRTY7iWa)ApY)f8 zVVodz^zT6}XZQv5jS3-V22nEtz^bPc*XUCs0g_4-&~LIX0;z-t^x23IKq4cd$3_68 zVUb2T6=+V`ShkY}u`&QQ?sXA>l#C;QWB@D1)&W2g8SK(4_1vq}9m1E5@LHM1`mrA)Q%5>pfrSWu`^fS#>+z}Y4a43M}1R2$3= zmey~H3?BfXSQ&0j&limrpjGWrgY!;UaDO{0UR-7X?xQE z008|-L_t(I%k7e}j>0euhVuq~o2nCCC=v@(BQdc+t+FH!andO)WIKt8hXX36Vo?-z zBDAGV(+%lXG9>XYC${x}jC~gaOU?1#o48WCiB&HcrRqDhYJZ!6_@js*a|wu1c$3EV zUz)rYgpjU=!P9!Tncaq>6TD)v*pgFhfoXEN4gxdjg(pkxb;?(q&yRy}Pm^=9^q$y9 zA4FGgG_R$v=l@#PcHH!_YEglzvkEfRvQqT~8O%b>h#BnwT9KSJBA<_%pu?DtIMyTj0~cd&2hbRK3o%%$q{i7o^rLE=)+r~Yi`iTkCTM>{{Zd<$i_|A(d`G_xV`qkYCW!TqEiFW zt2PGf&_I-DM`hVxY14Emb;Q55Ns j(GSk^`S-y5)fSLnS0;EtEV%$c00000NkvXXu0mjf)enj0 diff --git a/graphics/pokemon/archeops/anim_front.png b/graphics/pokemon/archeops/anim_front.png index 12b90b0fc39bb0b75dc822a385c0919ed5673f04..cf427e10022a4f9782186be6cf001adda53e341d 100644 GIT binary patch delta 1718 zcmV;n21)tk4S^1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT*2jb|GF z000JLNklq@9K;1r-vSEQ{hW zqHtwfXthe^7>ObcNFHtB0xcxPYMK>AQdlfngpz_kuo4Z$On>iYmh*?YavSbl1f`kuI=ww51Dq`fC@5+fx#=L%$(qF@ptq!m~O zPl&!%6#l7%V1@#%4yj7kCIHF;B}D?IX|W1OOVwcwD1Qn<6E7ANLeAMNiKS{6z!lS+ zQup%YV*(|;Nq@33L`&;ko}5T_R#b5FqXZ!mvodfrL@g|zjyqlk7=AVK!U2sl0z)wk zQNAAEjNCNdt6cZ{p$iz-(#J>)trxs_F>)9KANqmc4=PAurB8%dhUO1{vL!i9A%{3* ztijTidRn7l$ewM>?p2xt<3p^$!dbTILKna=G|%&FCx3kmJ)csrNo3Pd8X{77UN22i zq47Z$r2MM1}y?ao(WA#`yAS_ruVpDO!-;0Tck>c~@&d2w3B)1pt?7Hir#> zE71gNNCD>4*%aJ0LssLm(Rd6`=QAn$>aQkQI!~`uF^oS+`t1W+0h@!Eb>fGM>FjcW zS<-0~!++oju8#tSN$R@7GR!-V#?R-onZOBM1h5h;m6$|jkFq+QT|AmZ&ll6A=s27k z4oenAG)>ZE9Z{XWdh}U@i0NGNoT5MMVFo$}(_#cz!XJ}}j>Y^|9`xBtwE*9XhS{c7 z^0%*|7{<{Ja&&_r4Bf7166>e|XDWMN_}Opp@PE(f1}1UO84g3YhZ8i3aID-l(&Yx8 ze|r`I2k`*!4~Sv5xg!vGxEqzSC&9lx9dTS22E#CXY+8_Az8mq`f|kpl3tZ0$*-%Lx zmVo7YK70$bS<_|t`hp8bcH31a{#U)NuE2eRu+CZbg%BBNe)m1*Yg})+gqB; z8RtvjY!3maF-&JkIE1tN{3JN|{f+nR>@=!QZx!Ww@-kn-yK!w{-(OrtqiKou{L37{ zgPSN`*neMqGKs1S+Ov9&pxn8f)ZUb#bAL98r;FwOvk8EUNt`&c3}^9l`dTp{Ut$L% z3)}{3Ni~7jq_HCk0>{@DiR?K^GQ*B1?Oh4rlSM6&9T{e%Ws*G-zza3_Rg-KFTe=~V zeJaurMWbGHJr!>U*aJ`vL)Ez}TUPgq5bmm$sN<_pED8-_FTf9@|LNcX4z2-Toz8ECL-84E&H==>;_MElI27`46ijibB;9gU zarR|E#YrWJD$YItDo!Rzp0l?EsyIxNKptG}mXIk9l_XT0fXjQsOmR?>MpSVE72n(K zcPCYx7$u1+&SP_>xEmy>I6|s8K7UFQp^~({fvpt>y}=VIYTGXuRh(j~IGDtt+HW*A zHxQ~gw!;)BNZmt=g6g@goTWe;7A&QCTMImoicR2$F6Ln3Ue5!l;&fRR)E?wFn!e|` zs5tJ^${S`d^ah-75%}oDsN#Hm`^(CrY(jcNG;>}mN&dEz%Ls-vno82rCVy>MEym!~ zp2{|rq|}b;n_*7!y=V8MTEZlWdXO$MY`iLH0KL0$6emoQmS!(CgV~A?Jtj#KN)qJk zB4g+yU@1vEhLic+AXrJ#u4SbqeB(OcK`Kdk(@VX!e|_DRK}!~p$eXr#`6%UJ5{>0A zG_fY4jraRo#+zA>!Ntw@l7EBFRW#I|{4-j2XJy@4igKsZF}kQnhM{Z053y8Pn}4Q6 zP{wBargWSevC1VwP52 zvd^H9V?qe|cY^`PlrLl75qgsZN~C@eAn*tEO?{6;;R^2q>{^(A00ZpHIOzM`egFUf M07*qoM6N<$g4&=K@Bjb+ delta 1689 zcmV;K24?wz4&)7xUw;N~Nkl7`CAxO|+ghtj#W5z~%?6vHt*g{=i1M zZBkLBiWDuEi!fQGaOJV0(}~JBQVNk-j8 zSHSlv3I@hPRDr4U7`OL|fwtEYJTN(-Xk$! z{MCf`BN}G}x_@HmqI^A{PMjz{s9q0;zJnmHMUN5d+Q57Ha$++E-giBB=v9HjjGhQK zb7hPcM0(Rc_i*DERh>TV}lK98={APhfY^z8#$ z0h@yucjAYeu z@puuu*ncd;l5KO2KQ5aT(K2w0bwq9X`tfH0AeL*1*d=#7fDCjFhRFz^gg+Jm9h>!y zJQ}i<>L7S8nnssa$=|#VW@sKvfurwvzVGx!1DnMrI#b#E!moZqkNym%XfYeuT{u9GQ@#WhI zA1`R7^0~kbY@ZDkH&6md*7MOjM4L5gHa}U!qs11$(}&ESq39aSwW{I2S|zH|j8%rgM4DoMmy*Qy)WA3ImK z!G9tHC?SUs8`k!Q=CbG65;%(h;B-! z9Rue`058e{oTYrJ( z96;=ch##V7tB%nA#q&O}}5~h;02S_Onc!Q@@ z)b?L6syL-caUh9JwO?9?-97*#HiwYee=uKqNE{%F_<|LNs_zo zitK1R9p)sLJinXNLncYogYyLo{L#hqd&vgpD(dP${u!*hy|wNvMWxs4 z>3z^6U2kjN4>PH{Gyin7P=5vP)sJ$;#&#gV=|LB|GN zj4eeGcX3+-`^_YYKdF557d^so@ezgsKqqy`Ar!IL0l~bR#fPAHA_mw~6Dj~e2NZ{2 zfV*K7oT9{lB8Ku+z0Fa|_Y|-@h*7|~fi<;VP}yngXnIG@$@VBmYkvTaCPWLYhwg$` z?AFv_kS1xU@nP+KFpu3$A>}cOU9JECXv3pLFv-~tDLMR>yN%oF?9iT!yYsyJcSGz1 z$IYz$Ne`tnQSkxwhT!C$!Ah5ku~FW3NzQ2DV|;JtNe^^PIr5IsX%bXEKtTZle^B4l j2OJ7lcnEOc!u$gR>=Mg3C;GNc00000NkvXXu0mjf(k?AZ diff --git a/graphics/pokemon/archeops/back.png b/graphics/pokemon/archeops/back.png index e8422e58424e4529a1adcdcb5002c244cfb30d26..c7ffc707161c591a675ef843854773113863f975 100644 GIT binary patch delta 509 zcmV95rMFzsdjr0mn&1K~zY`?UXTVgFqOD zeuuHsIqUzb%Rnc5#tKUF;|SO}5R|f`KAfjVe~GR*OvSTkBcv}Q z3c6B!jg~6JFINC_4=^g0Q6do9&md&>q(;Dm^%b`_Bu!_-2c?Bp2m+4J(=;32n1>N2 zpSuPhfNW{qUK~c4&@9g{0U+5t-C5S%!EFJ+iekePU`CpeMRSJ6ghW7=3N7-L0`LGx zAd)ClU`tBL2o)&pf8}l`dc5vkTXtk0r4K=zr~o}`0z#aqfW(%-hSZ6l^i$Z501!g8 zj$GC~lIK0!OM=dbG1LUUAB_?Syg1NbV1h{+z_e^Ih}{@F5qoEAz5znlausA$6 zp&h!^!G3o+L*hl}7JMNt@AJLi`yFa${bO|)=!DN$L1}&*0XqkRQg+mbd3u!Sh+!&z zi#DS4%ZP%m6kn%Oh4^xR1+ex2qv9AP0-^m5LS|2D1Z-GeaeG73bT)WUTIhu!V0@mY z+2F=HjIj9LHTVEzOZ)cXFv5and4351$>!HX0ckIHJJI8H?+(k3>_hqx#EA+pq9!1J#EA+>h9$5eb>b)e z6t*J(gix&`mwk`Qd2i??fi_|cHG%I(Qv!h(2gVC*ut)=#$_D+|jjbI{I*nI0UaU7i+DtcpWT)Xx@d@n0*u-gz^nv(+*Sc1LM(+G)i-)wT$7_9 zUF^H~1Y)=tO4Jl4u`_Hm2$}&2$T#aZ_>BdU(9Zg6(zIW-iN9-fTUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT*6iVEK5 z0004KNklxfT@X*`$$`taS_?20WS0838Snhn^QbVSvQk0IZhe~2Lic|bn4N<-!8H+*J#IrUn$ zSNO#|04au7^M9$jR2`E4Q(I^EP>TFhD?(ExRPKO zwNLVQFL?g6w@W`0Iimlh%vLZ-zHG;Bo*DbPWxFgjH`Q*&`2P1cg;q2T=TmJ;ZwkhikycUMpWwX^f$}VwfVNgo_ a7lt21Y0X;ZeLHdh0000V)aP_7oF5F;t5qxF8X}m{zHrz$P@CZ zK`JVn-|$7NrO}$#SNMe=fE4|nKgE{y{mL@=)6icYU(fj~4VuuUp(S)_XpXW9lZLvG z7Oa7lriMgX$A4)d!7S<+rLV+$d^fjqHxVhK`=HvbU=oKsMQ;~t;4qBGHVx3ZZ-B#}W-e*gz`Nliru=LQD>964>W^Wgvh0g*{WK~zY`?UhYx!!Q(t zlRzoiMZ~^jPP)(ngUcD16E3V1XDfHrfBLAB-#|8W&lB3HZ#E41>94P zB&?Jg8!-!T2Uw0Lf0*a;hk$SZ{tK|GY6aY}Eg;vZEX(p>9LQ6xTcofzcEEF~^_}=0 z0d86wBDXslU~PPT$ud3wN(<1<3e1<(ac%=rJ0j=x=knYEnZ6i5z0?tC%C`-1_GuDklWI6WntTR;aUAgKW?K@%e007+qhJ^YmpiX}7x7$@Mi-x*+E xHNY1g0YpMTQ5hhqiU!E&(PX59$3M^i=?B}`F=W?XUEBZw002ovPDHLkV1oG5$bJ9- delta 461 zcmV;;0W$us1hxc_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gp*UK~zY` z?UGGygD@0?Nu;XEE>_?Is7{q7$_c0*S;xrkzNm7PZ5JS}fz(9Yw(s$0%wJdSDzlxB znX!%Y(4XmvG3G7!>|Fyy>^$dtrw>eULCk~*blLIfVaRsU2a?zY%mXp&9`bHwJ_S@Lzy+S;^;?-2-xs%Canf_osn8)w)57{>Bz~ zzG>YN-xI)HYeVGyjvCk)Uth9}kASYAjwtGUNgZ($koF^TUVSd(7RdC)`01sJKvTZ8 zz)kl$Zgdb%FD2=(Bw&+XO~Z9xT^FaPgt!5;Zvv7Ez!Eee diff --git a/graphics/pokemon/arctovish/front.png b/graphics/pokemon/arctovish/front.png index 3da6fa90debc3dced7841f000a42f39f3e67c03b..0eb85a1c1b850404885b2a2ed111ce04ab2c1428 100644 GIT binary patch delta 782 zcmV+p1M&QU2l57xB#}W-e*gz`Nliru=LQD>96N)&lFa}B0@X=GK~zY`z16*M(?Ape zaK~(!aEM(hF}T+{QJXHb3#+5ERl#(T59V6tpmZt&6`g~Wv1Bt-29~(#5=9;2Epu2H z5&d6y@BEq6g{9(#B+C2U`*3o$qCDKvH0|+U!`p{V`(9DgD0QA3e|YzaT9Z=B4tFTE z?~gl;?E`qPOo4G&T@+O*YA#L1;d9C>QZ$1U&}~hx05unZ4RcV9+B&-naIa$s=mc^x zR^1{yCO)MGWa4JkjBk$pEuY%Ztz)eNLx;E!hS;Gt*0R>SG+uLvi({=%9W18z?f{Xj zellur9n{1_f#6@@e|-)v*FZ4nBRI;z=T%WV8lV7{flntZ;?ZD$;;00~$sK^pD}cDH z0!iHIF#vuVjPT{fD$v<^4x(uZd`W@DH{OYJ`IFY;GU#W(+xXZ{z*RgdfwV_%dG_v* z3}u4YECHGUYKO2)OfWBvfh}MX#wpzdFhnpd0Sr1GObNi2e*h|!Kr({^KsNvkp~fmm zTV%X<2LJud{oT;KisN`x$2p$naX32dGZxUsazP>l^J|==$@93w+h@?kv*mJm`zwl~ z>z}2=Er;aovEfk$;Kwbj-)4UH(geNpvGJDMOI#3N6o*qD3NAqqBmkCK0&tles31YG zA5Ad6Sh>S^e-P*Gix9zHJO{DJj;SSq&2u2SFySPRD=N3KzK$(i423J)E?$F?QUHd# zB^XQK$0&;br6mEAJtm+7fJOzt-IxMe_$q-4z`e;uBLNI5gsngTP&zSkMpA<} zF2ZjTn2H*^kmThWXph553KSCGoX$j=!tj$Cdm&l2f7}Epo!KdMKV&D|LeL{bAqcv1 z_|8m-9QarR_tmE&1&Z2&kE8S^;%;TYhi}tstP+to;rbSr_a60COOX5mk?bP?mB@W+ zJS7#63?s-6yz+f!Ry|V+&~mGQnl_GIiYlPAx`nL-YVj>m{`dL=LfMlY4m&q`00000 MNkvXX1g=70f`0mFk^lez delta 794 zcmV+#1Lgek27w2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@_JLK~zY` zwbZ>&+dvcm@Uy!yHEC>$)WH~>2*OfWx;i>rsGTnIwKJA`EoGuZQJGUIBhBVc3|(Si zi6REPWloolRrz1~-krY^OuNuGK$Q2p_i>3s9xxh>#^b-HH}+cYy+UhH>OI*F?h{&z zQp)x=DRuA9d(Dkq_+MLp0`m|(6m=yupQ`BXJ*T{;L@UYw-Dns!K=To}um^2W*I;)6 zp7l%tlRz!T>PKV;c1WoSmAF;6p9E7G$1d8DK@E#*WoNrX};!=7YB_2 z^{|=IzXODdfm*e{3^egjAo>@0Ux2eE5Dfc z!#e;YD1kVu11j(J8GtZLCiv&YA~4uV0g_1te93^rSKo;f`H`-qRWQgwu==s1z(smq z0ojb)3EZubJ(2}ds{&{as2f9ASm36z29AJ57^id%zzD&l0x;!J6o}Jk*4YS3hwc=$it)4Ic5=U&S!Rl;N}YVXz?QN@y;;} z@oYYy-~LLHRaCrel4>r6k@Hul?N?Qx`^4+=_|7Q^L Y2SVAC9j!$??*IS*07*qoM6N<$f(5E(^8f$< diff --git a/graphics/pokemon/arctovish/icon.png b/graphics/pokemon/arctovish/icon.png index 2160612295605409d2f746b89436120bde845fe7..24275aa64398acc3571613460e9fcc4de378668c 100644 GIT binary patch delta 394 zcmV;50d@Ys1K$IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT-cT&sFM z0003(Nkl`IxzQDDmUGM3D5*ivj8WP6|W(2rnr}40th6HX9qQ z=^ht$Vdv&^W|)~gLVhhm2=CvBCMOh5jB|H@2LPH3P&^@ObAQgj?K+~K4j?ZB!;_9R z^jS9pE9Vy06u$u&Sc@7Rl?hyc4IK*X>BqB&uK^%}k^Ad2W8oK&sEiQXFbl6`jcU|} zr&$)x`PxG5(|XQpi~xmA;L+9{;%HIGR6=hZDzq?K*|@Yzj7AqsERaBh4XV$gC~3M9 zRk0$_2=;Xs#D5UaR=DFJ{kl?_9eMpn9r=&(hr+DgNiK{dn-04$J@FgZg>l}!38T(( zBDpZezWhkS*nQev7_lY1gi&^zEeT^sb#GlJ%)s=$?a3j`P?@Pp@12Ahs>%hI2{T9V oCd>@^LHhNM?wc^-$8YuprZyfp&TGNq00000NkvXXt^-0~f()swNdN!< delta 362 zcmV-w0hRvW1Hc22Uw;8hNkliZ4p=C(`dfuYJktqUa;Qa+9c7Nj_L8f;L%%JRr4C8qtv$~?&D&WNjzt=uAF*oBj}1|M?x#&)6pqxwT(!s`)aVa6iq zkcH`rC4nr=NMlBA!swHthqEx&ZGMn2E^nKKk*Q%5M!U2d3F8KRZ)t>t>AAVLUAiR* z(^vLU(f>`t^i?&kX(S3Wd63VI!c4FaqzgIjGK{mIx&NfT0j4${IDPX8r2qf`07*qo IM6N<$f|HY{V*mgE diff --git a/graphics/pokemon/arctozolt/back.png b/graphics/pokemon/arctozolt/back.png index 941f900e1db33280a92e1f44a077f9ffea799ad5..e61731138bf0b6ded80488c63cb27f3f87ffaf32 100644 GIT binary patch delta 531 zcmV+u0_^?A1m^^hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT-evZWgm z0005XNkl%)y}h1nKuD!uV38_}$@DhFBP2P%0(*dLBkU=H zY-8w@JCx#Bj!5|ec?BV8KF%9HP!MC^@+iLs6yY@>rezK)5Pvcr&jRuq5VHklJOmIH z9zd*US%Mli;K*xI=5A!Y&UPDJDfXfrl60DOS;K)jd%Yzr)b8hbX=f_%I{-vUU` z_=CnqspMchS<7V*---%CtdN-LF@`#2M03ie1K`!c zh7k28@!Amt&wn+IKx0;0rHnJFvW)EZq-d0B?%iKavNZ=JwSG1$XHGOe3F61^r$&hB zNgsMZiS6UBoE}2QNhQ6PXdYiUJ?y79Zc`c4L|df^(2WCFu4x|{rT08vOF41aWdztr z*NU+^3@0%#uBib~YO3Y8u8VISP$~-qE}*s!CHDfHB7ZK+9RU>dO**P{z1}Kim9a|G zrG3ZSsT_2}T}Zp`15o=hz~Awyzn$7K3yAOx6lezx$Uh5clO59!fT!(Qy%7ydeS+>Z zV0$6kgfh#{C-`{@w6B&JDLA%YbxH7cs@E|Qv`*sq3EZ_#BF%g=o`^r+f5wsi16V1$ V8`bO`DGUGr002ovPDHLkV1oC(;Y9!d delta 498 zcmV9D1m_HcE0rV{>D*erSZ#ppcuO3C0fY`eP1o#+&V(=Ib1_5;m z2$%x{83MqIdjK)Uhcf`gQ^6Pq2q?xL4`L8NcO?9N01v|y3x7Z#Kp7A?0{~gT2q1-} z9cU~trx&O#07A%m0J4~B9j@}8U8|8FJOC(T2ZX?(PZ_BVaK=r11E}u2J_-p4F@`Yj zUZa`gjC^Er&UBvL+XxngvwQ_%YM%44 zZLY9B3dHr>Q-3Bz_ofdupvCO*HNuz9vhbz~e^-z_zHoeL7sW4Sn&f%r&$L0nWENmF z!E=ylv*gi4wb$*#VvYcJEAPvri|Lzkptz0&9G?KIpU33r2wOj==4@Xw)Fz z1ekojEq?)C7Dv@VSQdTUYG1H86Pe)7=Eob{oCC!N5hrrDMO)_t@65^Mgm5hY659iC oX9J3l^3bx~aZkKk{>#6sA2k=ygmbHSM*si-07*qoM6N<$f-rN|ga7~l diff --git a/graphics/pokemon/arctozolt/front.png b/graphics/pokemon/arctozolt/front.png index 65e2ab74c9b44aa38822e76168df3b56c49518b6..05f52b1751d00c33590e90c238ac789425f74bd7 100644 GIT binary patch delta 701 zcmV;u0z&<*2BHR#B#}W-e*gz`Nliru=LQD>9R*v)z9#?x0)lge%LO@e)z1rat3dRP$kE>i_?_*Js^#bC~@}8A>sUux0ATA)aDrKF&SEtsSR<4X2 zDZsNMO#~q8fWB{we>keaFdEJU1r5n2@je3w4&w(j6xkNzC@X*-ZtKmljhaB(6}%;)s$_gISb|HFG+>o8USyB(KzMn jC*4H7aD@>1yHEOW&2^%Yl?LkQ00000NkvXXu0mjfBBMeD delta 710 zcmV;%0y+Jn2CW8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)|OMK~zY` zy_G+2+CUh_Z85lF!hlt^TikRvI-*2X7r>}p5xx&lwJK{Qq8^0?wMwNpRl8M!Q-xG1 z1Bq7#6rJ)7$kYKvmAhnM!k?k9jrrrl=c*n03?TXW-TS=v-WjC-Dfv%8){x{(G9UvZ z4v=*tt0w^2f?m*fk^-`SdRBjw2$XlrhN`MUVAraaR9##o|Jbs0@P%z^Rcx7Mv9HQF zk1eq;W3^I!{X#rQ2&k)#S35#N!`Q<2aal<0eavgBnM1-^-s`7cn#eSANC+s6QqdHj z)mi^dBU8k+1mM|`Ap?+hK;Ppcjw&#WnsZ4(J+e)_Pr-%5_yJvih{VM>+8UsTF+SDs zbFge1KKi{FpMG8VK5=%+`{}T>y->f;XIw^n5H~Z$=6oJV`@#JU-{zWV*}P8v8TjN3 z+x~Y`0QhG$B(^=|nv{L>!$shO2x)VGb^(hu%USC@S^z(UXWA1nP;V~*vLqrIdvyiY z;5syTx(SfO6_6o+&bd{0hAq3j1_)c0Db^|yX_m|!Z1*%EhOiBVjh7Jxs{*qq<}3DO zax;ZChTS_!>afugDCVJ7>jXWW0N}cWbiF$$z*d(c<-btMWFgn}Kn4_G(P?o26yN~q z-2%9Ae}%v}>PxN9zHfga0L*5PFyeqzc$ZigfO!lc9fZJt*z>ycX=fWiA;7vb&vmDr zEnq(&pf+TD5(G6aa>N!kcXlN}&VB z$PzFRw9$+V@-3xP54f+QfF6q#p*S#2E)ysh1eq%`h s{0a<43IBc}%5B(-PzWLEFCE93cK`qY07*qoM6N<$f{dt1OaK4? diff --git a/graphics/pokemon/arctozolt/icon.png b/graphics/pokemon/arctozolt/icon.png index 73dbd1e67e95a755abb7392ac3b6a8a10e2e6b3e..913ca5413cb8e438ad08b6149e17285d9174582a 100644 GIT binary patch delta 382 zcmV-^0fGLv1JnbMUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT-iwaDKK z0003uNklCojG##2@D@g;FTJ@z0%fNIyb;T2$Wz?K04mYkxoy^(l`z4!qWjd^FK{ zJmMapfWO~+5t^Y=NyP!rB>f>o9ni(<@D$GziBe4M(GjWIXXyvJw=FBXOwbwa`O!W{ zd}^WmL8N!P@C9|KPbg+AgGu`N6QCZo_$#P&*a8k-Tx|9XO=I|_~b=>sD z5Kz*aDPd|{g?FyXdRqt)jQ2KdD^6<>Obt5*qH@qP0}$Z(&DXU4cYpUM^}hvSFjqnT zQqb!R<|^m{29O|Tz<^7TAOogx2@+($G^?ecO+EVPz<_bY?1R#^lyxx!GGNO30*1_B c`dCIA2c delta 353 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 delta 558 zcmV+}0@3}A1(pSnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q;pfK~zY` z?UcPv!!QuX9cAd6rd=2bl~`RRs4WX>bBG5(QC_1`YI$T}0TzZXO;)DlS^6jl33Y;{ zob4vH>+m(Oaf{D)KmYHXb4&j1&#l|y>E;|auJ5%0{&er|Sxq3&fS^UfA85erxJ5t* z2DStQpaC$Wb_ES^K-<)R6=o&?)M^1d1MsX02S98C)BrLg-$~4>5v1H`qLVU1bHup` zoM9mQ4dAxyjT7GjqQ+N>RueXWkp=ytX#^P1Pb&(GjE^1JfU5&;|B_n|B+>zEb}HB$ za@qit@U(`g4GdwbqT6kxTvwyGEIbX-?y4uOuwE0ww3{%5`*Em$tPgPU@{GZxk?06_ zmkz}zskVneM#6DXRplcRLj)>H9F|-+6_RX=X|!^+5h@SGk~pVHT1)Ws=0WB2JikR? zoG*#L2VBPAo4g|KbLw9u>FyqGdZXp@m6Ui5VpflA#K)WSswxTvD2Zr5S^X+T8Fp5c zB`PfOtdtlAF=4xZUyI8#j3|AnE+is2!P~P~0U}(~05&Kja9(Z-@mvh=68Dp`tbwsy zfI2-6FhZaYxX+8Gzfdl5*FRZEz=3#!vdWeU5DWf=;8@P)0>Df!437k{k-$oHIqgPp wRRf_P1igtO-efPsu7^*HXDRu&pBNz@6&mXyqrhA=0000907*qoM6N<$g2v_b=>Px# diff --git a/graphics/pokemon/ariados/icon.png b/graphics/pokemon/ariados/icon.png index e6206a3cb5a32eb47fbcd2cb245fce08a79a23a5..b23d0467b39542b24f55dc3ecd93bf51cb3a4093 100644 GIT binary patch delta 359 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 KMNUMnLSTZmGk@U# delta 843 zcmV-R1GN0b2hsCH&#UuzKCO3g;esUP)XBtsmOww7NoAM1X&rfFgxiK*+MPc&~VCHA; zxiQ-R;3lAqsajyieV3C>AT-8hSg$t%L717@Fs>(W>%@4}#zeL)?p$>0h+E=8)a&P4 zyBX4p=w;@AXWM|8D^3+aKih!FH=zU=nOJWFe369&h?{L5+b%!~X|tNVXMq3_A2oZ+ z<#G`Ez<;AtE+Q)kXjVVI*Y$w7uj}jOo#GkM3P9rS*P2$}3#{v>>$}t~EkW+uD~dn# z3gLczY0)i}DiGF^!oy@};n7;<1(Z$*__kd3yS==BuP>K&p}m0CQheSclRs}eeMafEtB2xz2(6^^;9=KQ2-tYW7$UCIUZMtIvURl!YV> zs^SVaim;2)R89aSAne{yYj4+aE+R3NGnqgF0>qvjR6%`yv{^f9aSR|5w8JX6&(@^v zR`P0pvdR#TJr67;&} zDlp+T2&ptmNjW-+=#Qyfm4$M^N+AP%j^k&4Q~E{C+W2$+wazXj()fV5~#n zY$FdG5ujn}JW6gOj8_2_OxZ^4GHTqFFm)DqE9vWb!UUa?c?XbSHw>)8*9USw1}Fo1 z&ynyJ{2J5qP}0BICLn%wz>2&n>d6iReiErKpqn9pWMg{hEHKbyMT`fX1Op-66b!sL zV7!u`VGU3jL6~X~9-tx`6x3hra=2TNZwl|RZ~|;(ZDIhp7B}dgi!KM(NdSBd{sK?O V$)up*@74eS002ovPDHLkV1fkVg`ofd diff --git a/graphics/pokemon/armaldo/icon.png b/graphics/pokemon/armaldo/icon.png index 1277dbbbe0eeeafab82fbcdfe199d901c8640db0..46f176196da9135d8f477387e2b1667831a5ff1e 100644 GIT binary patch delta 363 zcmV-x0hIoz1GEE>7zqRe0001qplF?uEm&FboFZzJbLH90RWa%dLcgr5#QlSeln% z>D2YQAh9yQLs3h|4M}vDNM(sZx;p7)VgtPOS8H4DS5<$ez!iaSiUh72K8xTsUR-~= zWfu1p7*bGyvadWy_n6r&YuKhuti>UMSR%udeN1Kt?$`^OBu83j&ER7pGm2E zW*`~OpO4+puNjSZ(T%L~M6hc)WH%3$hmFqpv{#)zd4Dtv$~eYl_d_ySg@R#7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0VYXAK~zYI?Uc=K z!$1gx?JP*UJ}~e9ww=L|+WpDqQ1#Ss$RUhjz~(!SPkaaPCU5pef=8ibBZ3vgd7hNK zkRjqag8_G6O2GVeML0_Fg#iA{mssX0P<@t<7ab1uc5kf$TJv}gtH>%`U6<#W+DduJSg>FC2 zPy90eEkLI89|1C-{|Jx;i+X^J=YRA7!Fc`?K!)?50D?I_&lOot8VfumK#~sv$m;r^ x0AYz6Ad^CS6CZAXZ291OJ_sOtKHv}d@CCS?8U%xFu~Ps5002ovPDHLkV1oNEpydDn diff --git a/graphics/pokemon/aromatisse/anim_front.png b/graphics/pokemon/aromatisse/anim_front.png index c6d3c9b95dd5206a3193aa9a8a5f26091abfe511..1371d970cc97b7cb5296420b5a60d5367ec75b07 100644 GIT binary patch delta 1126 zcmV-s1eyE83CjtPbbkN`bV*G`2j>O{0UZ|Kc>nnT00b^cL_t(o!|j$aZ`(!`fEf_n zb9C7un~tVu`L3=u4MOXgr{qCV9C|Q{`~kzD&@~7eWY^$&HWFm_lKg~@0mrk3z@wNU z@F=72j*?9Bp5%^2(X(Ysyie~v@{W9;=lz=odtCqE&OhRv`hSP6ONiP*5fdr=hXFil zm@d90Qw(CyN5)S)f0qJ&9wap&aWm|mBsRB5s`muIQw!j~y+J2+O4uFnB;)`gm*MV! zxd1=pyd&`yGj_-*fS>S?o56l$1mN@a=-_-rU22ZM_>vtefEVB#0+P##U_0Oj7$))Q zDVMp-bD^jRFn@lUn^_!hrV$ar8;?Gk*>@k##?y$}QR6?a-skz`^3(WSMV=di1s5+z zf8@Xabu^wb25t;-aPbmy3xJ}ogGerpMhJX9!W7h5`21)E03*)g5euJOjdFN<`RR=^ zS29SQrRd1f+1uAr?lY!Xl(mxpu0x{CEMs93Wjdu+(|;@zix}sbF5Jb8@dsyFhQXqO z*f4_khx`~=rUj3j2zc9kmE|xg=U{+r=9UnbWqEU4mUI2Z)Q~zE`sH%W_j#h76e7M` z0p&iPWE=2#vYs!C9}sBe2-178vn zxLyN-1b+fuR>-$GE`(kj?9snt$b|BHMfZsX<@KXig^U~)OfYy>4Pr^s` zKH38TyfR!D zM1O4PyLL#?%TE&pg?V1oGjzx@uF@bZHDi;_Id*nmOqIE!&Vr)jprM?hfS^HyoPpb#jeo*Ce=V6+2*}*#{^aT)e`@9x0O1!b#Ki{t z?ZRm{OPjQN0Tqd8Y1O_rvKf^CG=K^t;u|!O>#B2WSEKr(U*06^-d;EXN{N%UMbkk4 zzByAl{5nAS!*?q|+XQ1+3qcD;O_NB$cosb%7&pgl!Dtpi2u3pmB^V9gBLrj7$X{_U z7^(smdIrtLK5Gg_)+`ba6-~h?n(e(N7*-DoXTwy2vG#|8GK|2Uo%IKu20$qYU>zB3 s^#`mC^#C^dgBAL%{$Nf`{TKb=Z@6y}!q$%DTmS$707*qoM6N<$f_D=Yg#Z8m delta 1118 zcmV-k1fl!O3Bw7HbbkanNklvBUglH`7eLz5eh<>O1Kr{Qy|X>BZaEaeTm-WI@_b zqOcB;)U%BFQIHmWz^&Jj1&s5w$gQj3A$~B+QUnWfVt>O3el+2yilv3%ffWId&8N7W zMCD3pAYIxegk@RYotEXQ_^4~>1BhR4#_E7ag_S~t4>eF8;3E5g%cEw#%)bWE%i*{C@bXi3JX!Jt;_I= z+oIIW=YLPwHx+Q-NuiIdz$|NE*~#G*o3Sb+mU3ADxo@Yyq2&gV_?|+%-k!rDRRh?S z0F>%2ma59Y)oH-qFI64u8c_D8)_HUtIdTNKqo{8X5GXA-06ipXO%eb^0aX=D;ao{P z`VEjI=I<8)wZXmw)U`e_|Np25Bl>cCkn+$Tq<5Wu$;fbUC}Qvj?b(Vm2_>;u>X0sO2_9eUCawLREH zqA;%f!->`lQVzuTXJ|-b)0T)wOY9?r5ftdft|V&E2BZBWoYVHOF_>74vhzq%kB-ni zkAIKON7;NPt+uN}h%gi(1Y@o)Wg=~0G8yU9vv=2*3pCH9|AcycG17vf1*GcjKlA{# z$h5*3zW{(9-pk@${&@4gG8FhljN8>OV^$do{9>^S<+HYgcAS?6SV(J&!1;Yi9B#}W-e*gz`Nliru=LQD>9T+&k(*6Jd0wzgBK~zY`)swNV;xG_J zk&x?Xuu`uGdOg8PiS`%BMpIBkd=&*BmeR==*bnK6GRuw~hcG7lkha?qLW$?(-aE0g zSo~`(w{L*_@J0Y4V5#_hnZ9}A1z40!LclAKazMsYl*~gx95Mn*1%N2^GM|$H0V97h zD8ztN+YzYLjsW&1C_@qO40 z9$x^MirnxV^$P$-6j27j0mwcg2a$hrVD%Awy)girT_mA+U+&fnNUkOC=WMT%YmYfs z$k|@?4aP%ANFSSZU)1``JIKcjYY8$79*MoyUxR?E9uhd6sKkEW(4_*{H{qy2aVsAo z5^Fz8P^2%lKKX}#;=WU9Ia+9I8!RP4t#x;TA3g51*3EQi`_@|1R0exm?+}0WQ1rD1 z1qZllH7mprLUaKzM&GA?qq`77Xgex&rVs7T`89{pqP4A8_-#jtlfKb^HF(t87~>Q= zg8JteO-R{NS)qxjCNa0hcm4Ue0*A%u6fylt;WAzXJp!5`*6YuHFLu-$MQe^#|x*|Lw$dcwPVi N002ovPDHLkV1lH#1u6gl delta 602 zcmV-g0;T=K1=0nOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xL;GK~zY` z&6BaN;xG_JBO%w(V5MFW^m>Ao674ULji#W8_$mrM%%zhrh#%4uWtJT~4lpMBkha

K#AVKy7#AErB2LTj+Dk#K&RGSH?)s_JECMZIluQwy0wmCo)f`BCvMM>B7 zas_jM(^x5`k|Ok90n(tKTEYyVV3cq*0W73=0`dUxF^kc{SIEG3s{|-=21x#@MJ*?R z(L-XwYf(?;OOj9}iulC*n#T8G*LZjV;8Em;r>I{7Frthy2o6C05jlu|j04M$=pI3CL0CsxpW>8+Mdx+H9&k7XjOJk1y;h(tcR8~zE##)V)L}-lZj__l^ zoiRo~4(-rd+v~c=fz~^JL^BqBtwF&7u3EziF@z8uDY)u;b9?l)=|TuW8G=IB524*T zKfRwUTHAVs-*%EXnk)U+qeo-O{0UaBm$%8}y z008YtL_t(I%jJ@>3c@fDhVuq_2zQr&^hJcaxVZZWI*4#x>{=9bw?k)ppbt|DDFqvF zi3A$kCD(S*QSru~?{c~0W9*BHt3jZ{LBv5@uDB(_mr`2|4u8}00HoZ8L`Z;O>r=ot z8xMTw1VRWeh-gy%5F&$$fM6lkD@h%!9*OnRqp8ef<4Fc5YPsx+X70feM$YgE1>Rhc zmzYC|L|hT?bHv2Gfr!@Q@(K4;xUH(U_ zaYGFZYK7?%tt>D-gIZy#u0gFZFdYap{U2eh)mDAz#|xia&B<#PWa$6^002ovPDHLk FV1k58gckq+ delta 270 zcmV+p0rCEd1LXpcV1MvQL_t(IjpdTD3c@fDhVuq_2zQr&^hJcabaD3)>>$E*v1_rQ zyB(bEfj&$rq!d(ei4+=}CD%sW6*K;Pcb7Xp#=hwByA!C`i8v_D?_3k%OR2O1i>V+2 zDc3O(5+GXp6!6u`10Q;U5WO{0UaGkswQy&00K2hL_t(o!|j%_j^Z#7K!b=< zvpHpZCX0J8ag9Vsv0IUxqboxkOpcO|K+6Z*X}4dc;1llaZk*k62CCCFnRZ_6$!Kgp z&l_Th{}`i(+xdr3PCPGV^K&ir*7Nm>$&WFw^~BGg7$7MyuYXHF7aWji4Z7R_14vvT zw@JQdfYA(r((dyb6b)$Hp}-XcuEPTOA0V)jiU6V>(0LC~RYY5t*8s53c|h3{KrKRQ z4+j+O*#a25&H>)5 zJ3vqkx7-jz4DpY`U)=#V-)|bm#M{8?hM>fA1lUV#9Dfywp4h50XGN+*vCBxMRms?s=*(IxD$T?c3ZeX?A)+C00000NkvXXu0mjf D<{udF delta 608 zcmV-m0-ycT1<3`FbbkUrNklF?agkKmx7L;5 zHH(juhd|*0?v(VA3m)N~?q&^Ani3@r~`D~0n`-H+SN4x>~bDZ_6SgkkUGNwMRT$M#%?*FJipmvj6h5P zI|Q0v=Tjx5`bKS{T5D*2cYu^6FaZSKJ77U=DnLNF8ETo;Ed@XbljgLCgMDsWVo0wF z0Uqp8T|WM_DStJD2|?l>4=DmG3J7Lk=b%31%O#bPI>Ut7T+~J`T1x}j9H35(R2$Eb zz-kLNv&L;HAOT;w{h02?k$1|MOE;_LZvE}EU|O=kH9PuJe(i%CpMMd5`33Ow z{a$rE@}7WiF&M`)1U6iK7!`>g-2oD;>ouznXeiy|U4O;gAL-Bu##Gmg9e6`$D8gvY z4!qEvV6Eotz>Ay%DWf?%xB^9zb9OM$#Z54n$A6%stD%5UHspZ9?h%k%>PhPW^=d0{ zdcXnAJ3j78%8UR41j_S|Hw$KApDAD(<>K5RVC%~vBLLI~asG+G;pNg2fYXQA%^)ra ztcWw5!&yAM+M`IF9#BIdFtPi%mT7A!4MM+&(GLXr!zLg-$%Mi{Tz6j^T2USi*qc8P uGdOc_7r`*b>RN9UrEoM_m8_0dPq~K~zY`?bEStgD?;P zP)CX~We7B4_Z5+=Cx2s)ctkj&C|cb+->M4uOZa@Q6ab`k5FDuj2@w+Wt(204zyMf0 z$xd(#q|ma97%-5c>A{9-)b{|TNW^3dukxA#z)LZU*h0!%3P{EvR;vL}igAsZ0`34l zsxhx1E#$8n695Xt0gR_N*8&+IU`)l2nyTt2}G3?V9+87POYk{$1Z;$bGHf9gJk@55BPn^z(cru0n zeW~7f`y>oSo)c(kDbTxmIiRsed27yxi95k|kfLd+&C=B9--$>3kN5#b6AFikY+gyz P00000NkvXXu0mjfA)%&k delta 394 zcmV;50d@Y31eXMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tW0dPq~K~zY` z?bEStgD?;PP)9nYzz6U5pDkfWamDdyiUW!@F=2G5LKspAAS`L6x zjBCska0l>Fji`dGkiTk704NX#FrKCb8I5ol#g`AbZN9mJ@7e>fgPTai=YIs~qHi_f zA0d!6eV2cL4ZOQxWdTQO6R-!V10rRCKs^9=@80aP5`>xHT+TcbEo z8q)*kcP^A#uP@OG|;?)yn~mJ<3~iK1|#R owu1~!OKp~>M*mJc;y(mqKSm0NiBn^gKL7v#07*qoM6N<$g2z~-dH?_b diff --git a/graphics/pokemon/aron/icon.png b/graphics/pokemon/aron/icon.png index a1522f972ab1fd42012af9734fa05bb70ba94cdf..e288beefa1c54feddec6b6625fbef8b248e24891 100644 GIT binary patch delta 200 zcmV;(05|{p0iXhqV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0UaS{#ai|N z004tYL_t(I%k7de4umia1pNc+K(vuq(OU`+xF6j8fd5y7I6a2y;!snaaOc&owX%lj z86vZG=N=nxPACyl-p(*%m0p|>k)WuV9LElts-<9fLCp)_6n*B;fyvrc# delta 163 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 FV1oH;3RM6A diff --git a/graphics/pokemon/articuno/back.png b/graphics/pokemon/articuno/back.png index d476cbccab1987e12fb82c8b9f6f8cb1052ea0ee..0a2760e37baa2fa5c5c182406859dac8dfe4b86f 100644 GIT binary patch delta 527 zcmV+q0`UEV1@#1wB#}W-e*gz`Nliru=LQD>9V{7iCQASS0oX}IK~zY`)s?Z1+CUJ7 zO<`(A#y0Kc39=g4p0H9{5ZKK%XYF~F2LSv8iCod&Jw=*4Mx^xQiqkcz?in(+S!2ZR zTDt0PWFgFc`sdpLFP`^aYN+~vA{x1g)pia}z=!QuB8E$Q1Z=-Vf1bZ{L=d6;_|6dl zMUlhYys7{w0*W1M&AV9@MMM$t4#qbYgP7t0b`XCW*$f~72uamE4?nAkFoR-m)r2rf zR}fnOKP4hXp4k9zn9w?64twjUa;$1)2i7$ZhSuMNtO1@{zbt_=nTZO}`Nn#Kz&H$R`IBk{#HYxv^Eajp}ki0Ykz7VG=g=Ja(xCS;toE#D(Kmi)S z)CAlM-J&M04uFAZ0VZ*(uI4cAbYLk82A8uOOgjLzpj&p)e+AkOS^b(TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o+MMK~zY` z&6TlE<3JFGonl>QWNfG9p5Rs!whydCOO&%48mz@D9w5O_0CGjoJ;gOV1`>U^;&jbb zJj0Fctm7!VYl(_g6eXEY|9mq_Ho=!Up&kROWa=lD>jiiL2J1^A!Yg+Ktk08xZ9EY~ zXqMi1BA}{DSlFu?fFhuO+Q8aA&9bTzibywba_TThDIQ=0>9?uN05X7>RPFmY-`@k-Gqf9q=#){QTtr zbO-R~t=AE8_WtGv`0rOgfY;lxgqIOuYyWER_C#}L_5fxS@amI)fHrk8^*iF-)Zc;6 z{)_;bNDu8;O`GU&i_lpGFsIhhXtYC&)LK^N#d6zy}_ zC=Ks!ny~|tT}Bdhp_GgM4}cj3p)kVcK_;3^^k4~Xz!?fEnG|}Nb!{@Ec!tVobcE=L z{hH~H5)lpvUN*$4A5pBZ#QmW#UXa3S|4}ZCr6I)4;0Hq%N;RV9&{(Js0P<{_L_^Ww c>z^R_4~A;FL|vpmCIA2c07*qoM6N<$f&eV_hX4Qo diff --git a/graphics/pokemon/articuno/galarian/back.png b/graphics/pokemon/articuno/galarian/back.png index 829e189e0654695197559aaef0079391a1ba46fd..3f83c687ff0fe72a872cf94cb122a4dc14487422 100644 GIT binary patch delta 533 zcmV+w0_y#R1^Wb$B#}W-e*gz`Nliru=LQD>9WQ`=ckuuK0p3YOK~zY`?Ug@E!$26u zYbK>r3ku!RLrSs5#mTKotRJ9c=vu<*2N1eyC~`CoJu$<5gL0FKLomg`si5?8IF$Pg zzLzwAw3h?j1Ybzt^8E5V@4Z||sq|kzt*uIJqSNWN-8<9})P~X!f00frj1}k`zTIaP zzu2P27^}n~Y6H-z5BiCHFex&S*PY|{CPfA;0+@eT07wINi!Dag36TK+*g8@JkwFz< zj2$IFr3u<`K<{=`El`l_@OlHEU8n$xP~89>Tlj3a-h_b=+${+Vuru@vrrkIv*BI~O zQ`Rp42-LOHz{*KLe>F)|PmQ`BAP=mn2d=28)XTvN@Q~WTAW50O1j0lgb@V-wZbzTs zbsar0!j3-S31ekOkhY)(%E2@PEEOZ9FBlWR0I44?Qk8`a97_0#IQ3*Wr zB!b9K=Xh-kJOf++OqD@02C#6dyIjZ zfE(C(VK|nS?tQ$+q=lP>n8PGw;3~3}4k0pd#qxuAkw-F>2tdi&6$?S$NUps5FJmTc zA(rzz5FhYnx+slD&f*&Ms`Ty?!|L)^r{MV0bFMl}F>2$x{s%r?^hSCtBPV`f2 z^gWVhL!aO_Z9UM(wmxBku`F#hQAd8<4T2yBf+XQh0=#-_7_QI9 zPIYz02zV3l0y{T%2!_(qd5X>$w{SlbQ<#JdTt-%tA%q5wSj>qVdc;!+0TiztF%#sI zq{@9-8#Ad1v6!ZT=z>?0Bf2NzYrY1^470LY*B0-B_!}8!dc$-k79wr20YIPPLx@x# euJH%TFunm|M2Tn3#_`br00009Wi=xN|FEo0=r2>K~zY`<<&oH+dvcm zaQUW!me{GF-Y!>1C{C@RB15+{1Q(jgb_C68j41R2bS;_=5khP5aH}VAvWv-3g!%=7 zK^i<7Yta-)n$OU8mYt-ErG9{D(eQq{_wL;vNz!wD%3FouQpG3|f9P=gb<1ew3)E9~ zUmlyMI2Ty&m8Nyv%m*Ko)2~gd+se(c)2h_0?#2OLd|OUpuTKft_^somNop?LJOBqE zPb9U+^8la7!BA2^^Wo+U0O}A^KRyMFeP4o0hYyi;5@Z20&9g1Yz`Z31+zeob3F4Ii zln>P}Jd>hi8db*3e@_6o&xcm<1azu|?6N=rFBtyjS)jD~(4E~S;GT#(cDirM>Ap~^ zqAjw+@1KzXXvbt`OY~f+NGTYvjI)4FA_XcRm}d|y^#$;$J9n-j?DEn03Zp&7ewb%q z@B zSj3As3}+fox0E6#(O$LFzW^|c!?@8<>o8XUWzhx`uS@XtByPlDh}Gp{&y|;5Snpn$ zMmixegb5{Gf5&xqAU-hJI>8cPo#=#OjS|hV%jGI0Xy0#M|5_)K9z_Yoh*F!{j6s|{ zY;ONThxLh~8)qVE0uVN6KRP`!y%yk3zu^-J`B=jeA&<|7e4gArfD^o*Jvjb(lE6zx zH{x{FFgnVDH;MQLp}Sxskg1-e=XNuYeR~C@XdjBmX#$zrSYK7869DQF>i#nVOlUo2 zgzKK9T51pH-*WuY0&tmsQP#a*u%M*iCarr%R=4OXMnwG&=&8;8do%^AN{WWq*HqOm l%zz delta 762 zcmVYf1Q(jgb_C68j41R6bS;_=5khP5aH}VA zvWv-3g!%`9K^i<7Yta-)n%~fOlAWZA<^F)&U<=--d+*-e2|d{%Z*2@$w#`ifzuS4) zGF#;W_msWoN7jj23heiPO4B}SmV*z<$=9acZI$NOZEe@=?%D~SeG|Wx{XQjR?Ypj@ zC#iXK{RA9GhrfA$5h$%bbZ0LE+!t}z z$pW&Rp9`fb+9J99Zj1!LyB4!rqUXxCU;xHT<1V0+Sb@q1)+q!leE|aM&D|>qdwev$ zRPjDzKde(Q>OB}o9*0SyQF2KjPKff>GzV=c25OM#`6!t#e!8wZokzOE`jCC+jcIlO zAjl(8dh;im&Zq8wbTKB>>5IYvyfI(rYlRt{n^ie7gncNqOn0p0%1Z)*Y&(zhz~5bN{|87AO@kTPKoY+I7<0JKBg z{bvSP&}zw5Sgrd=v$bC7CkkPHVFS1*1*q=-f(<3*0N4FPyNfmqOtk-ip4Ke?j^;qq s$fhX{bWL+M=D;;)Qwl){dSU~izsuz})VA(%l>h($07*qoM6N<$f-1dQTmS$7 diff --git a/graphics/pokemon/articuno/galarian/icon.png b/graphics/pokemon/articuno/galarian/icon.png index 556bd42b4596ffb854c036aee2a7ed269fef1a59..a563c83a1d00d5e56e90e1f10ecfcb82d91f964a 100644 GIT binary patch delta 323 zcmV-J0lfa51Fi#*bbkN`bV*G`2j>O{0Ua}xd@H^H009w6L_t(I%hi%iY6Kw=g}p%? zW|jk;nuvrSt?d^Z0$I!5C|l-^HJ8TpHGNC796H0@TMmrI>nQa z@iu2-k9ea>HRf7%!Z5d_F>k#VTc@y0Mx9&B!5e2f&lb~U{lsIa8&I_ zGRAT;p71DUAs|FBTNp6G$s2Bqxap1@AngNd3u51SbO%ZbZCB{&+7> zv*{v(eVX-d2oj|#fbUjdvh`@<0vHa#=AuNTB>RtSjHPUX$A69LYKXGsKa6qBDB^=G+8;M0-i_@%07*qoM6N<$ Ef<;k_VgLXD diff --git a/graphics/pokemon/articuno/icon.png b/graphics/pokemon/articuno/icon.png index c5004496341894b7b5a3f7542716a557434cf51e..09e4048a1beb4ddbe1604a76ce8d1e740bff6266 100644 GIT binary patch delta 351 zcmV-l0igbt1E>R#7zqRe0001qplF?uEnXNu0EvGo zD!3j&03;*@rQ zdB1KS;2L6w@qLq0Gg`q-pS32EykTUa(XGThj*OYN*A@M3F1fM0F$D^JH`ECso;)Pf z=?V_214A%%bb?11NL3uH@Z`n~ndD2rVd0_Tko~#2hC@1VZm#1X@^QhTDK0n|T+3}Z xFuxzuXgJ9Glj)8_Z)(AzId;XND*n%)e*vMix67yxxG4Yt002ovPDHLkV1lF`m~8+6 delta 333 zcmV-T0kZz61C|4j7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Tf9@K~zYI?NrMS z!!QV|R9K}Q;Q#-2JW@hPI%$V#JCxprV;mNH+wS^uG4uOA5Cmd@Wy*cT3BmxB03?uc zeC{iQKtdENeO90VKrQy^(iKQzFbeG(hsYNQ45~~e$_F-`dD?+>5tON%?Yc#k9@SB> zM5r|9K)L`#f3dfJM$vAAL<OyPZ4Bf|c+MbCjO4CwZ67q2qA{bM-=uuscj fytM!IPd};`XuK6}qOp2I00000NkvXXu0mjf4}z1; diff --git a/graphics/pokemon/audino/anim_front.png b/graphics/pokemon/audino/anim_front.png index cbdbde0422b4689d99a3d08b37812f3210c7c3c5..c01afc4ee2afc7b11684b0a21b29196617a68f58 100644 GIT binary patch delta 883 zcmV-(1C0FD2igaabbkN`bV*G`2j>O{0UbC4uJSej00TWqL_t(o!|j$oYui8+z%Rsu zsF&DKI{OK?9#eZrh76`8!ep!QGs2x}tgA?;&>^d;L`IP8`2;q>lPDwvOg=&U5$f;K zce4CPr#qPrg${mrFuWh{opeukKgM?P*HJpyl7~tzu?GN^Mt|c_TdGb#1Hf#s2AGH0 z{66JPfCU9+HeZKj#F$*7@JXxy)*%CDU2tGoq^{_3hKTU-QV$deu;1N_K9}l6oH}S9 zU6lbo+?P$L0(6=Z5uktcqmTV>S9S2K?J9QC`N_jgUQ-s*1 ze>Qq4VALB~E`MSVM}ip=(2^c=%&iusCQb}ET~At~HNN1@qzBs8O?WB;7h{*5uK>?N z=_w0i?lI$Sod4_? zQ;n8PgrR3Ff$K6jn0-uky#&m#j1SE$;4j~U8Bsl^1L!f$SLN4jKnauga1tqj#a?1* z8$dNqls%Gh5x|`q;0b^wHNb`m!TDXJ0k|X5TA;xBsYr8I-9gM54?~N9NDB<&MlRC< z)&gkhj(^hOz@>#)+{*)u0Uu}qgEpCfoBShP@kQ)n7yl^swg|>vIbSe@K;#O>{z@=P zD#4fvf!GiXnJD6~v|yOUNCLWP!GOmv=@O6FZEyMmNOw0Yj?(^6&79`JrawR%WneN) z`2*U|Owt1zH~gWRDL{H~E7Cmnho6Y@^)K{*{C}ZaTKEIU?^9V1CcL!*Zr$6Vbp2Zs zIs$_Pu$xaj=nc}ZfxDjY2fomoBEP|hbdP6`t^I+qCq8ktH%6O);!tr~?jMIS5MR57 z;;;*=JzAn2Dr_^EC`8(j3Hpl5e=(AzU*cEO0#!0F4BDXSu@5zIG1@c?HO(pQ$AaN& zfowz%YCd?m0MvBn{Yo%sjYZYHwiXOFeTi6}U=-)`C|59E=D(wS!I;mYe8HH#ZV?PM zupt;~U_&rw(H6nb0V}~!18c#Uy=whoAsFfc8~!le`NMx1e*j1-cJjOYjrafn002ov JPDHLkV1fkaopAsF delta 878 zcmV-!1CjjN2h|6VbbkX&NklBjE6o4A^i5&na*XswlrD_D!0j#>HgLRP2?^50Zh<_-sviTY;BgFI)g^#KO zSceXrbijpWks7nc2_nLWi+rF!fb;fNt#iRQ(R9%{yfgvc-y@$Q8 zmo@Mz?Fycy^Rv5=@Azt=OTXu#`jN`-xn~8HrU`~Cvf%EA=oUVYOjoK~?Q#lmIn=t=rSQxldZI_}M z(1|FAK$`&UIwBLhpnxx~*%0N?z^|arnG6D(0KR|%`r$&%d5r-(0y3jsb=eHMDSV8S0N znF6E-*D5VTfB1o@KmSS($R9eT$R8wro2LPLI)9U`6>vSc9&69PJ)>A8v7gV~`q7yK- z85ICT8psSi=J8iiqX{bm!)h*2Ap=9d%^7X9L{&YE4jqOn-$dYrg5l)?u^v=C7;Xfh znrC<4uLOg7EOPJKS}?@?nFH2>QCuwY0VNpEi{A{86pY0S2P6dJg?pTng24j`!Qg>} zU~ny@1S1bv2?h_W1%quN@`p$;_yP%kn6vqpF diff --git a/graphics/pokemon/audino/back.png b/graphics/pokemon/audino/back.png index 050a7069a96dd8207a4698d180eb4b7484f34aa1..736ade441ada45b7183b424111a0416ff6da2228 100644 GIT binary patch delta 569 zcmV-90>=HT1)l|wB#}W-e*gz`Nliru=LQD>9XjoxlNta30s=`yK~zY`?bNY~+dvQo zV1ZQ#T#c0ow{l2tWt)_OB;s%xA~5cblLw=x@L?fD;)h6)6US9aea;iy>Iu$%m&{7B zc2-hM`eZ7>e*R~)+O=iXHyJBT+w&gb=;;5ljg9e`;y;hMsyN0200+ zCDeLPj6fBsnIC{(i+LZowSvh+b^ARJ>i{4c0KVS?ZHFcTx;^ZA$vp$8--v_gnvKu` z*5f^T*Ls8jU?ZX)K_zvDup=eTV5&g;vC{+brUlgQWlZ9A*aC+lZq5TtBkL6zk6!q4se0l zddWYQos+t>790@R6y#89e68t<_VCfq>gyI^Wug6nBzwh$0GxCCr5Uw5Asn~ zRV8%~*K*jUFR=Df9#jGcMiFQ#=ihq};4t{20S@4`44@jm$n#auSvWxZ4g%GpL`RVl4B_Uu+qItB15QDr8V*-In*>C7+ zAVMG!2vS1j2f_vwq^3cC2tgxeL*O+E#$(m(&pfOHfM@{(!2om}+7i(3;WR1l1fW?F z2k|uH+}YXCPztTNW4+^`wp1?_!>Rm#V-IPla|5BQDe?a&0Y-Pwi%7fj&JvwQ1V0Cbj| zGP(dfYY@T!LH|F0FftZFN3vhy=XVZ5=wIE@@z)OnjC)ttJsQGO7sn{EKN@19dKe{k z1ddNy+^Q1%7qhDg9G-Lux}CVxJMBuTfYc?n;4j&kCqSZ>y2RV9pUm~g96d@Y4+jQj zZh`Dn@8zSc>ssm_p5?MjVeO>cs|p+#L7Z)uQZS@7qIXE7G5Gpu~Nh$4AtO78)vEVW6 zq2-kY1NKAhZow0aZd}9a75aW`ha7<9Sd6dr)Xhj@o}h;r3b#ZQfZ;ZG9i%PDZ&y2i zw`l;avdrJ50l<8Ke;Q4JJ63Yxm#l#o$@iDxH+IKFM&}+JZ3{na0%+%lswy`j5~}Gv zoyR$vvi>3G|594NAdK{cp|mHAd6QTeQ&21n)u#(nN5XKsEMj5Qx`>5g*?%w0mmghW r+7#9EtOH1n+jKVShD4?mIn9qx-15_bkN%1;00000NkvXXu0mjf7yXt( delta 312 zcmV-80muHY1C9fbUw;7^NklZ)uQZS@7qG|yEWAXHVx@>h9z>ja zSxGLDV#04pO0#6aJERMUSxDh76Y?BZc4lWWU?b=&Ki;32A72#x=_2WX50)Zm;0snQ zLZxD6<$=+q1y6ntEv_x-u^X!Pa~@lC+cYd+p&v$er~!}^^MBEeo-{KOnP=#Jf>pCb z6oCFNZ8}I>klro#?rvEES|y3QOFe-32=_Fa0Qan9=$34NwWNnD{~NnwEQ3o2PPT;~ zw;oipW1eSQ9|;xo9?!xYO%{asP0s(denA-N2t#p481p8fFlI%eFjV|p827eX7_Js> z9s`+(NYMZQ0w0l+CVvSOO(mgwpq)Au zky`|IoerYz|ByAr>C~m<(Bc{-!uEFR03Nt6xhVloN}vXCdR_%Cw_oZXWI$`2UY&EG zUE23OIJ>&s4{AWcr+;n4yK8`v)B>D+{uu6nqXa1`BI-93oG8E-f{KWGbS+QeQ9;N$ z;v$*@^yG7(U>%_Zc?8)+Ttq|x`~r~upaK0Hq+u06!=VS>SK0(esbLmoVjtrw&Hj{^n2W9}pmOMpIm&lqz7zwX56 zr3?;N|L(*d1Ah@TR=MDMOcx@Ut#ZNjm_~sBrWCB69$5z|3dxiQ2?fh1u0@1`*&o&d z#yP-`tVM*vdjU|9;9bObS_8f3rhK4cxnv;AYlQ6mGQ$rzNfOLz(1E_X>_29T@hneZ zAPb1wvPT?PFLn}f;2xU;4InYNtjQk=K;n3_`ybZ#a}j_G^zXU=0000b^g1;+)DBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80w9rzCVvPN zO(mgwpq)Auky`|IoerYT|B$uB>C~m<(Bc>*!uvf{rTz;GaodCGxyY2EkW#l8y#8h# zT`Pex$-#nbL0b(1x{runrH@tYGY=?gF_%78F=Y`@)CAg@1dN;hCV-GEj(-)PcC!N{ zv)+#s;&unfq^kf12YeXF>-B(eJ-RYz5U$2mAXD@Zz?0Y2162eI*?fa?@D0EgXgjJs(d7F1@I^4-sFA>(6jf9 zF&FUr&JfN^8SJnA-H9^>B7bPCa>31*E<`X}<${|rjRFBoDOf!|unAHWk|_@o3YL%D zhzJFO4f#_6NE{byhVdWP_Y!k}hpoH100000 LNkvXXu0mjf^92FJ diff --git a/graphics/pokemon/audino/mega/front.png b/graphics/pokemon/audino/mega/front.png index 72c7628546275447055d2fc5439b936151e2b8ec..e36621ddaf01af83e3e2c0b5583a58db05f30bd0 100644 GIT binary patch delta 713 zcmV;)0yh1)2CfE>B#}W-e*gz`Nliru=LQD>9tCjg?c@Le0+C5XK~zY`)s-=C+E5V3 zUnEduu>_bpas&~?6ke)?b|IJ#fRHRucARvJQWdOjRiQq^Vv$H-g|&*5DN+_k_6KN% zKUB{^n$~AZhc3Or()0cN|KEFe))V5NMS4qq2lloBN58ETwJ1<2e>8tx*Y~3mnZo(y z%SwYNu#+k1=Ra4;Zp4uUas~b3Sz@=>g=h^KfHs=zMNjWSgY5ze&%iErTRA3?g%0A% z!@wZ`1L{ja)0!lJ*n(0dpCE@mYKTK^1=t)g(ZDcB35QVuk*E}K4Ukd{5Y{kU|d2`<$NN$i%*TkeW0mzr`Cx%*O0*BOpN{8XV!HtZTpk^9SQvh;6ZHEJ!NvK&_ zw+VoBg&u~TV8D@7?UjcIV5Rreh(|&;$o3SV?2V!Lsj{!Ke=x)hT`ke?F5A;*&|OAO~v-xf@=EHm)(5^@?6y$)>t00000NkvXXu0mjf$&y7I delta 721 zcmV;?0xtco2Dk>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+C5XK~zY` z)sr!A+E5V39}+0CSb~{4as(xa30|s%c1bWFAc|xKWyeXkC{@AgRu$@VSS%7LSjk#N z$`mP!Bl`oi!XK*lfHbYolnz~b1JdJu{Qv*=?hya33M={y6vW*HZ08&Z; zREFWauarJ;fIK=cz##`jp?q{V0|p&5**l3$0h%8#)bH;GuT3a_CohrF!EYYlQ_71A z+kmp46wv9b$??}+*nM+KLG0y&u~~lL^#m{?u0G!`78dMlkd?>}dcc zps~Z2$0UrRYjf`1_P5+Gev7S`7mSN3MSxP*6PJ32!j4F_=X03>b1EKXNd1F`8m9 zq^%gR5Lyt1IO*5aRj=_g@SXG#pBx$mIk?wQy5cE(A00J+N{Zn6{2KI*i02Cc(;s>T zK>wP)+J{XAxT$~xe+59FOf2q^vrZQPX;`U%^72a#IQ^f7!8H!@lVq_O697KAg4UdEHUN|K6Y!l;NdQ7U_KC=7=H~#OTt_&NgD(oGGFbHBrIqm%gXYLlhZx+|f!?m^3qlLFdjxb|>A^D2GsQ(HK5?}^C zd|>*N0JGb4J~}WwMgk174`2@8{1q_JtV$mk6PE;-ye7ar{ScUek4v)YZ~1rwfn&|E T_7;#w00000NkvXXu0mjfG|-j= diff --git a/graphics/pokemon/aurorus/anim_front.png b/graphics/pokemon/aurorus/anim_front.png index a43877822f2791b906691de7382877396d813883..3fb5ece8fc8e948e783eeef118a40e413f154d56 100644 GIT binary patch delta 1489 zcmV;?1upvj3!V&+Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT=m;8gH+ z000GnNklX!|+<{#XFV|Mc(g>`(2(I+1tt;pNx&DbOea=hKN`{afRpSnbNU z$?>hrX|F|F=tN(uqEjpaR7Fi0zqM#E(rnPI=+2%p7r-| z6+#qbK+(k+K&Sy+Q%fo90b|^FIPpkv8aQms+gXlld!)oyiI_XX-UOsCAti_*7+iY zG>lR}AVB0YVe9^Z6XkMNX^~eZDr=9 zz!Ez4V;QO(uujmygb@F1<_Q{D!tC+HYw^Wm5sQrz0n`8k=(fHr z)RQAhbAJOQ;V_KO=df7F?U@m!a}~j<>?h0d67=(9O|;KJ0}j?9S!!eaBB`Mq-d?~I zXa)#voIP<#wA*crIC$Y2_#1&x8wXS6DVEd}gpS}`s0dsc(LwyIvKhRDCW6XR4&pjb z6=uNELzFH`b$`X-dTt2iX@>t|nojt0bwA{)2!BIvJfVkplvV7aTHTSr)zx^Y@{>p` z=z8I+)oQqy!_{9&(uO%e4?qZ(TNHE=USr)5+`(LciA}r1s#P3hfCa=Kb~o)#pH+7Z zfU)H7roD^~CGa5yb~o)#UxvhDUr1mF<`H$a9f&i>0J}&=TRXEY#ORL_&Vu37ryp}A z%zq+K2Z2aAqa^?vfVoi(IN>%>W+VKnHmGJ{v;`c=2y>Yl6KE@BS;nCz1=6Wrz( z%8XHYs*6BH@a$uyFN(n3-SHZD_&O>8+IR6?U9{_q!L!~GZe!h}PprVH8Rz=10O~Vd zFW7fa?CL;%_K6p~1-N)iN`+v}(#Owr1b;~2VaKuMfbu}zvnq(i2LhgQ&?JF14HO^B zZn8KjmZ8Z=4k#*=quwFw2b#cWMc~VHH2HpeO44~0cEZcg$wWj7X!@2IcR#;B2+$2h z#wfVBoZx1Xy*&lCU0e!O54{wy%;P{F`-dpdF)YA4c_#@CG<;Ibq22?$hK+}&=YI!9 z4b#I*G!0=}3-5^aVV#3zHAySszXDcS9W0x!PL2)WZvkSY1qc}@yelI#QO)Fl3TTPq zlJRQLRS}wAJ_R175@pP1UAyooX(A{NDs_kV~1RuB=ptTzCMM`9Nk8d$;Lxl?lw@zNJJ+ld-r z+VKv>wGtRNHUM~(2(2#`&o}wyFge5=#KH&+$PrwX8fPJ$WC8=?oAr89BOem3jRPex z3{l}mq8MPX78ptk2@Y#u1seiGc4i@8sF4roAcj<644zFs_>yUu)waM;j(^e?aj`E$ zT&ELJo(4apBbq6YgmbI|W|w+G1;W>j2RrVb1mbusjKCO3isl7|1fsDLR7zk#UZO}B zTnY>`VF|?M*kmra(hvK|p8Va#GK}b^1ldakhOA$eiOs%+5<~)@Ghj=B$ex`E3?w7Q z3T;t{OknVWJW#+8Qi1V05K3uzP_YA{0Y-A86?=DI==RV0uK_wj`TpJxl<#!}-PdhE rU+{Hi!m1x0IL-9K#Ht^dT|fK}KLlBu{9)Zt00000NkvXXu0mjfj~<{F delta 1457 zcmV;i1y1^&4E_s{Uw;LONkl^&^VHM(zaW1V_Q<{vkAl>!v~+V@6C*4S(>DR#A4oW z-h19wt|i$Hkhx9sw1t1~MDR&ZwiEJK+C)(Ot=^E2EI5^ylW{J)mv^@I@rZ089ISi$_; zq1)rjHC)`&HBG=Q<_ciUb^hXlOKfZc7oHKLGM>{9}EU=c@F*?~B=G_Z?g zyluDoLQMXs;VKwDqv(C1gn5L>LLipTq8fk+z}zAQSYa8cvk8vM1FBe2gW=G%{R0hnC4WHR ztssGE$_Esoi)y9-IG`ko?N8U^fsD{~iz)CplPFU@AE>?B>i;}qb$J=>rTnJ?wxv5C zK_r`&lX4i8r)Pj_&Ff@fki$IYkwXA>MSf-g>Ub07KrR(wd(O5~mr7Avj*uf9AP_FMr{@>lm1rr#~t z`7>DKMY}`M?d=m%Tg(BnCJxq5Y&npl;$? z0qn@og0co_7;H%C08Nn%$ipDrz5!nj4esB8r_XxQxO|uaPmX#FxZLKzlcNE>@9_uI Xz&cyCDo$~Er@d}Uhy_5GQ7cg51Gy;au7A4%G3rLz0j~f>ZC$k> zPn-gjQsMx*bP_OCgUF1yS#TZ%lqewnB@UqNNM%pL=g|NVO+a~hHUx+QRsj!)Y>3A} zEL*S=nuEgAfJpciM3aEqC)}uLr>m=YKFg<%Fw`jAAbPTz&?{RfwaAoZ8H+Y_0 z#_|?$-2PS-2cl4cV+L7@OxIEzaqanx||GAKw$Hu>rm! zBFcIEy?Rc0PHDymnpQOKfPJLtZtVfwUeH4TUYN48op%XFG928dPR!(b45zNs3NwOU z7~oJCKnjHctF-ZjaWaI$fXybtG-@IY@2Z2DkdCe*6HAGVIftD;WV4RV;)Lgh)m`a3O@aHKX_d9q^o3$DOxZK zKEvv+#$~Pl@8D&09m;#al?Bk;Jd-qI87x3WO7?r%9stZUS(rWa0RU)OFt)G5wm7G6 zYF{$9eE3L|x&rtKh$!db49%SKoa!-9v?MnJc7dXY)d=9`ik>|1#*|%b9RNnE+54L& z@{Zu%^L%k$VM83S!T|fi0Fo~Z=v3|fu)-J_d|^Om6JgqPA`J3G7?=vf#}%gc!xIKK c>ZE@B0gf{A=}A_(egFUf07*qoM6N<$f*y{TcK`qY diff --git a/graphics/pokemon/avalugg/anim_front.png b/graphics/pokemon/avalugg/anim_front.png index 2dd6c74f9b083139297b3e17c911146b07614f1e..01364604b55a2d5ac2d22a92fc544fac759aab95 100644 GIT binary patch delta 988 zcmV<210(#32(1W^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT=tYB4#P z000A!Nklv5wm~5Qbey4?xAh)h6lNIvOf&QY0b;AwUYj+`--jX@UfL0k4ja za8HtEQ>V%s?A}9VhLmMnw{{mGg$Fivt@$+^&WxyUvAEhVwSUZYm)*6xAaJghQdMWY zZYS9QpZBf`^{Vf8K-SHceY0><3c+`)O$gycz{_ga_n$-&<4Xk)nu9;*YwY{8|13wN zHSk2h!B;}Q>dWU8HTeqql1PQnlYNHcJRM&G3Q~+ImXgz)^2~UFg6?`L4@UQg@MbR% ze6#q2qr;H`s(%!sro~0d08$2!6s0n($PHDn;3zSJknA7YjY1y<9E>#kB1NMl5&gIi zPi`AE^(1I80F^WK)Egm|&QTnL+qjNIkO8C}1-YRFi&YF$;gmbpf#U!%NAOfM^rfuTuGFv}tG6kDGU!=Q0DlQ?poB?aU&a8Khk%5nbY#9c}DdC5Q|88mXR#CyoVXX(AhfFvM!HSPh-+T$CTv4T? zU;sl&)MAPBpMvV+!&hpTDQPq%lkqI!$Mnd-4yM`iLDrbu6eB zX*%h8jx?NbIACf$01MLS@L&ISwVVk|7{*^5hZ-hhg~sQO1XVabO>!frapj*>rRwCs zN`j;F1!o7^{{)NKftP6(TsUgC^dt|kxgcl@N_^9t7lcCJ$3C7hI|v>81woEt8GLo& zxPQ-tzO#7gec@b=*O%(mu849)lq;f4h?1Q}l-pG6`W&Jh0Aq$Ih!IgHz?dUS1PrJS zfN_6{C=oEI1QS0jhf_p}fI+X?D5xS}oFGa940>x%{6K)=+Atx?1Q;VfM8NQEANGiH z1Q;Vf5MYqti-m+J6JSjIK!8zIG#u*@QB@|uIN}GS)bu(b$}wQ1XNCo(meo2TO7#q2 zm{2#e>k^_=Gr&mvfZetm5v7{}#-1PY2~lQ%amo+fl^=d%e)tJ%0L4+w3<#3|0000< KMNUMnLSTYTv%@(6 delta 953 zcmV;q14jI<2#N@hUw;FYNklAdz=h`lNCSz|e93XZSA#sT6 zwHDA`5GXIu4Sockgv)Z~#2f7LP|VnA`oXpm2PBX>YPFlpKjZPt#QkO2+5W2Kwma>v z#R-A6HRnPf_1ZNj1OK>pUW&`UUjy3yBDsB;SM=!)z7oGE5+U?xA7M97OSb@nlw*n&r!=QLb6TLp zr=Ihz;qxK9+z1#w%$`zo*inE^A!=Nlr3@ft07+2^MT$aU1xtz&GYH8(<8Fj^Q9!{^ zvnf(EOwxNd?tjCf+eA%02^t>&%b9xW6k{`MF^=-9xDNNg18_463WW)l^B6|^75Vun zNV_POYfKP762nvr&lj8<9+wyemIA~a!C}$7t9UKem4wY$y-ERu@{R;0px^>3m;~l| z4A5K~4P4BbsYJCzf#0;V4ZxT*T)o%`WQ9}bH#y|&B7dxHb#V(1o~D5TE+73ib&GNg zwS4#G%@0gZ@Div~`r6twcDZEID*pQIr~4n@aS8s!dm5Ia4K`-kHdsVum;H;oZzuq6 zOX+a~1z0d$OwobA!e{PDAV7&ys;0|wa8Z!Y!eA*S|Nidh6>i=LEEqbBaX|BsGm9Ze zar5xaRezwWIaWFf22hwp&1N3|6QFPIzGAyng`;WE(UM@Gfm7hIInKfTcZ_8CD9GU! zV8Dr;W839Qth{@0QGg@Z(Ap5FlsT7}i!T;MR^avFf%J z{=ug{`i|Z@66h>VC*ChS4kv66m|6}%f;2kx*MGg5&kh7C4C58W!G`fzq4B*#feyQ; zNul^Ou5^i2(t8J166~BW{@_6SO^_WNc)29OiKBLfZ}I@k6N0wH#Fx!+K`7;I?BfwL z1Czm>5EP!xg3~9C`<%&Z^VnHFnYG19|Jly=r*=k^Got+Gh>{;gl&e(h`WT{Y0pkEs zynl~~G6BXRqC~&|y#tQ5@6u3_QVee7`6=) zqD+7>@O{0Ui_@Tg?^#00GxYL_t(Y$L*CpZreZ*g$0;^ zD;BeHtAZ=HETmb0)fVO~6r|889N1MV3zjdD+Rzmi(gkFzQs<-)vMd71x=V(CvP_Yz z9l+DRkMGS7DfN1v^`Df#@7BFUck4vDTkqqfQ@}k<_T% zF<`R(L4>IED79?CL;Cw|O$Rp40lNv`&rs?@hJ^IGvUWl501rw7=|UuJx!f_39jMSl z)TB-UssgyPk;{R_`Up_)W`G#tWMvmGM?e)Iisdoz^nd)zE)PJZmj;}n_b=8ilM1MG z5#$D06FZ)B>6hPrxdAp1xdD!{3>FT7eS-{qaQyU_iL&Qh#F`U;rkFQ{C2s8bY5C zZ(Yk8yzjshAVw{F%JdMUDQRp3ycpoz;oZL$Abb97d=uU6E=&_(2tbTy6wQC%xCX!s zfg4C>IGg_&GytAt9TNP3Kj+sPj{%AU5WFH4-CoB{KzweDiSZfLY$|zGN2`tvD*1Pi zZWKxB>VPr)5`XZC-5_0{l!F?;2mZ$X1}TxL-HfD0|St(w55|0@;BIJw#3F7@#VEI~%ziSga2K1@8uk zAx>6y@pu4K0iswQ1NRS4cDV;Cy)@tqy?eBFnN&cfi*Fz|$eP&loJ+s__R9^hfyfPT zlw~kb{yn_myFmeP6Kb0QwEzi40_Im(9RV^Z6F6g{Ueh`t0+4$kG;4nkBtc=o8D#=z sY}dWC0#2v0X24zg>z-c$U-fC~4QEWi&w{p_A^-pY07*qoM6N<$g2DIWxBvhE diff --git a/graphics/pokemon/avalugg/hisuian/back.png b/graphics/pokemon/avalugg/hisuian/back.png index 6bf621584946214562c1c2c72dc6c7fd1993d532..dc98bd9ebd083128c1c5d389b519edf3648a9641 100755 GIT binary patch delta 78 zcmZ3=`iy0Q%EUSwea-@p$YKTtJ!KGPtXOJa#=yY9UgGKN%Kn^+JHJI*Mu^_GDNP!)rxtDnm{r-UW|Sr-`sfb7nq45ebJgT(%4h4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+5ym8McbET5 l**_g+U|>Ay>EaktF=u1{aYlh?*?>lnMo(8imvv4FO#rrjC_DfF diff --git a/graphics/pokemon/avalugg/hisuian/front.png b/graphics/pokemon/avalugg/hisuian/front.png index 58201f335fc75d591ef262f1bab114b36c8b0d95..63a13475c00d74613f6fa146c56863ee48745e17 100755 GIT binary patch delta 805 zcmV+=1KRwv2lWP!B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD>9vNin zv8w<80@z7JK~zY`?UgZa+CUV?LGpmIIh1y*ghRZ;Q52;eD4Zo25-EvK2P=uJ&JibP z=@u&>g)NqIAD|2Mk~Pj!ks&HKTFT_1-=y!(qyZAxTlI~8zxRLtfA{WeXEOie?~bg# zHm&QMsJ`4hpAcP39m+QfOKJ^FRi^;3mq%##r3+V7vLUj&|-IE+6=SvzDFFl4PJvgd&0&iU;NWU-~$@3&j9j zLU)Z^5VeVL3P3NPf4{Gz@Mm-@#IP%Y9I?CBR=1*#}f>DNK>;_5BaF^rcn(;W#9yNpMa>_to4=qF&*_+0#?F;M?&M3fET+#(pm#(uOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00P%ZL_t(|ob8jbPuoBg#vRE+#Aed8TcwzgJvlc*lp#&dQZj%9 z_;kq{kkz^3WR`ANBof)M%>4mfQZKBSr3wRTZnVVYq5nzWokK~0WJl^7{r%o|-+On~ zwEy+CD`%{f4PzZOR_O<(xnV6Ka)x1;f189LWWC;8B&I4t$ZHlkvjS305@7KPv2OO^ zcycI-jhBby3^1sG_KB!^F-h^D(w7#JKnM}yJnx6}g)Ac+0EM5OZ&q9+tq*I8DB}eO z{Qz_qPS{Wh_G@LEEo9J%S8>gXim)jWn?Bow&8YXyokcLqm{D@J2vBJAyl(xsb_ZUne?qK{#dROHTc{dn>-PTQo)0){JDQ%R0~I0?G0aff zukQUZ#_??=29Od?*U33in~0_W^b3WLdj^Vr$2UR@dlJYK+s}ab8gzuJhJ~Za=dlp? zJOIUKu&NmVx`mO|+7|UAAp{x*p`-byN%!1QKn!{d;TDR-1PL*5ze-@le*j2eh-n;u zsmc+z$CDlC2f($l%A=ix5H%XLi~4D^-y+pE9DdN&9sDou?50000O{0UjHQuxe{(7HBS_%v-2F`)e99qg~kb zH5++#84I8N1zG0D;vcWy0<%sbfl+%f(MJLkeeA%v3{3Qqz>JHJ9hlk20~lDq3~mP| y_YuJOMh%;f8H`lhw*@e{4>p6zeFQK+@bL}LZ{%6$!v($o0000ikSdZzQP3_;5-R^s*~R56ioag$zD@o^>y%9N@=@V}#fT7Od0)Jpy8)M*^cla^^r>ApWOoUn=AQm>$ikirjUe* zb56oUKaw!fk4T*`E)ypDk%XB_IJpyM@?#?m%)$(ACrs`~5XLuZ0e%)ns`cN3Fu5OW h5+?T}2=fC!z5&l~qWJ5j zx_uSA+g5|CcnQ>4F`84_Ge|`hW4#IZM9+XJQ1l2;)^JEcUlPCp4ZE21P)a3TonCvG zMiOnOSHim#Y~^J3W1!5NwU%G7hWjb-Mtd|h0D%ePjw=o>7?S614-kKd*wTE6 zI!hplMT%owQ2IO4zKw$hM#l5iw<%CE(&uYHy?h(nrw6!;Eyv&s@pv;d&2pzIXni|0 z)#j4BE~v_7e<5_me_6i;CSA!2M(1Fnj}=Vxk%93WFww^fW@_PcFzO=%Q(R^+t delta 333 zcmV-T0kZzd1ET|wUw;8ENkl1sx5Cu@*KzGOil42SM_H1d=%z#-HE+T=! zhe@-60pDTMBuy~uB3dv}#6YzR}p5w11sH@$XWwm7Cd3fiiE_ zT7JPA?&rW6?a-i%GN&Qy7=Z^x$E47u;Us?vO{0UjVb?>VCY00K-&L_t(o!|j$aYui8+$8`|V zF@3cncgU9r@)r=C-NiN*SP~stVembT#!%@-ug#dXTfRlsLQNN~8I>s+8@$*a-BX)p zy7yd4OBX%xbU)tv-&xZA9H*`SSFet&i{69>Ivx**K=%0t7k@k;f+IjD@Hjv~(BlBn zxiAsrgkBE0R^~d>g~;^E(fUBAFq7nFaTU$BL`pvDml0B;$)OG1de63wgTfi z#rXi|_1$nyJbx+=_y&u2b$vV7*h4^u#rwzlVTubP=4qTR;Vc>;+FNXw)tBMtS%egj zBv4iBLN(`M9e`LwRiY6WsH`nAt+&um%VLL^*+XQm)J5DJSb8A#k!r0=#5~pZoV$eq z%mhsWsCA*y{8q$>T<;6hq&QGdeyUdolY@Ns+%i8n?tgwozTNI3-#9ODMSrB?_y=|5 zGuKdUwbj;NEdfV>4jj{qf9)T?B`9*jN8o|RU^qZ{Jr)oh2qmvDJ&?S@NFV5J3Zpn7 zqDKOrQ5<6^GfrVbmEvr|D2yLLiVP4ML-9zUQ5a(=9;+~op(yIMNq!khwV{E=P%=U= z8UT$d-g#37^3!2(RNoJ`3=r3KJtgd5gecYHx4U>?H;|KhH!pL5*fWhLRtvgC{P5N9 zn*Ymc2Li?rpRe<>iDEx2u~W|mV!!;|eeq-cNvgQrQUfF~o8o8y0000OaabbkU=NklBjE6vuTC(=mOOqIAfY2=W&YoZZDX6<87- zT4C@#jmA*vMz8glwVS_1)E#d>p&RK^l~jIOVM0(z+G z!}V9Pg9gOgFIT=GCOiSK-k=S@2t;yW-o?o{(F9I-wKW2hI>q@A=k@K#3^2IIcUXL^ z>zm=DIRs=_e1CeV@29vRVxGq763(I_qPfLxS$!XUn?*$}m;0&c{0T~7%+7$b7=@bfkvnhoTnZsuhU5PPbT=_n@k4dUk?{<(TzMmu0If%syZ zmpY31uvjBr48(l-_x8onKm>97pEgGWA@$(s4|zfO#fv{=#CqosUA5LPR8j*ZBh@|b P00000NkvXXu0mjfxHTT; diff --git a/graphics/pokemon/axew/back.png b/graphics/pokemon/axew/back.png index e40b726e3149af2c6f2a71483e9e9e245853b433..70dc40912c1e5119f12c3e49c173f5dedf1928ce 100644 GIT binary patch delta 502 zcmV9wOD@SdRbz0l-N_K~zY`?bN?Y!$24S z@H%8p4_k{O_zb1GD@peha&-}l%VjJbl5Y$SLcz&F&~(()>@^&}XHP-kfB4i2JbMiVx>kTS z{J;*5{k|1=zVCAzP=^P0;PtxAEuc;~A;m+QrA83w<8{Vr)71ONnPCNOEk7nsh*dY1*}hO)-~!;Jx~FS3lOA~?mh z4jhbU*}RZ0WAg~T<s5YQB_#Iz1{*QJ(02!j~kep2S7ytkO07*qoM6N<$f`8`ZZvX%Q delta 511 zcmV!@ zjwCQ(H_!L3D(3Eb437Gevb?YF-Ft2E{$Q{zdB3~61$4H6xYPbMaQE=Tj=KbbqZ23S zx_c zpZCokL7n%g0D;!^tp!YboIwd5Z|=-70;qE;06^f$2Br=80@qJ}6Z4b>)`qf2Ykp+` z>$5ClstHbUX#yYfS@vAcac==Cj{+d2K@6~yJxeJMvaAUy=lwksFe!wPj7q#OUbz9- zp`eg-igb~`82?9XpnzD>An&;;{4y^lw2aw#p6A*who4})qHUqjKCz%kR6a>&d?e-4 z*FQm@UPZirJjUBvN1hp@@;N05{R%9hg90{@i1C{af+Cg02H-F{m=%x~KR~LVaroV! zAh3=q^HgZUwIi%?%^QJ>&<~(C_?=&R|DlEFeE=Dv?U3G~NlO3#002ovPDHLkV1i(0 B<=OxM diff --git a/graphics/pokemon/axew/icon.png b/graphics/pokemon/axew/icon.png index 263c9cddf25db539ca995baa991e501159df46f8..342562045b94d751af11caf149df957f21f5cf0f 100644 GIT binary patch delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Ujkwh0QDg z005~;L_t(I%jJ@>4#FT1hIs>W3A2+=pbuc0v@5s3XuG-kus(qi91&Ak#csX3*`@I| zzTCkNd`fMuv;^-g8ae?AaL~GY<^wz4QNTC~G=TTWzyM|<>t|}t2OwaM9&doOV*%!p z*KOL%KbVry3`kG({KL!F?JnjaGsU$S%`LFCWAUpql!l+O{xS3R5!^<}=dY oZ7F$6qbz>J@Zx?X%)j#E3rE>wOQ!=^=>Px#07*qoM6N<$g3_;I-2eap delta 206 zcmV;<05Si@0;U3xV1KbmL_t(IjpdRt4gw(%MY#c)gxbmz=m8ALZVSy)x^}i6))N@P z64xxWj>H(5p|#pL9WS4mKk$WET*($ZrbeI}kbnc!7Y3wWaYX_(P#^)Evkdg04&yzx{}x}>gs5Z3^K z;*V@~07*qo IM6N<$f=K;eoB#j- diff --git a/graphics/pokemon/azelf/anim_front.png b/graphics/pokemon/azelf/anim_front.png index 36dc5a99242087ee0aa5d564b814e2c0c6e2a927..de1f8ba730c018aeab60113808b31d4c7f8fe841 100644 GIT binary patch delta 1082 zcmV-A1jYOE2#N`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT=@rHiZp z000B+NklziS*<5Xbl6xd|Mbvr;7fQRvPgSR{q^*@Ybi*48#Taa@8DDQQzE zsRPb|x)>D(hd?4+Y#I4LFzaQFbJY!En-o`sphDFi;{Js#u7BD?yv*B^jS|hQaOK9Y zIk@@k{CYpW<2Y~E8(OtSqfu#YX{`gveCf*tZP&6d*f$>N`4WI{w!RBXyC(n}Ti=Ge z7HIN7ZR7i!7Vx|qyn}_!2Y1R4mj&SS%^$;Xxgi!&`{2pVaQXeHAr+xsgrUARdVJ8- zw|L+ea=tTqjDJ~+ck$j174Rzo<2}u0d3}Wn`1nyY91nGiaZ!ssTVjO62wNVLMGY2o zQ|nI=O!Q)riE(A`##8cu(07784#=8~`%lRpQ}`fYa!`%H2{MQ$Q(-F|dyG^7023oJ z?g?aZgotU*+Y3l$XvT=+0cST6#`y_-9*hTE3>WbraDNm9@D-m!C#5_s&=*oHzf)rz z#@$@JIBwCVLW@Ks3Ycaw9D_&{Nihi^F^~umAa`lA631XJ0gg`%cbr)&gveiYB^Ppd zS#w2Hz!pfBM}vTp<}`Jvg*L0Wo_& zyRdBwtS5CgLg~98z|F}S3uMrD=Pjxi0^mE-(~j`K^a8~S-ir2{p9>tdN@}rKf!wo# z6z(>@mH_J@48tcsNyL4v?-20&4_jXdK+6m5+JBG$)hvPCkG8&&fCUTa+r9O7g)-)| zf!A9X?)7T;+tp`8e5mMIee8vFE(@Ow|Lw$Q)U;l#v7MqY1h=1zMb$x{g`o2pp^rr4Nfr(L01O-H> z_kZqPUOE(?X|V63D?h|4yWo109GWV7msB@4M)YDxbTblnG?ITXn9=}o!0M4(;Bey7 z^fB!q8)Jreyj3%v763SBd6$GQ2xaw#}1 z-xLY9wM$iZ>ELwJ4lv@X+H|I@wEMHP$e?##*~+1nPA*lc+N8gXK6fV5fKp6L zcL0ZsbSC);M0uG}!2oo9l6an-f+?rau07lS9LNLacoj4nWd6C%o^jBFmlsUstTQ?T zR9?W0Qm-1b>d-IxmAVo5)qpL-zW}&sM0nlxFYG-Es=CQsp8x;=07*qoM6N<$f*0uj Ab^rhX delta 1058 zcmV+-1l{|J3GxV#Uw;GrNkl*N-Vhpxrh{m1XhYIaZa-IHmgM;)je6)P`E%Sg{wVT_b*&=)ts#1 z&8`m&e(x+KB$~YDPWwLle$33y_XWWV`=6}VXf)=!TgI4Ja(}<{@q+QT90~r7d!{l0 z_-yNor1XaZu(9=dvgd&&57aikyy1Z`yv_$$*t~bUOmRg3KHU5|NtPR86SdbL-AI;S zOB+%X>S>agH;*13HqA{Q_>O|_9zDdO#fNxxmm2tC4ZQOp?GO8=#e}G3 zp>Hw8eu}M-sehsd3#Mtz`v@+5y2#|Xx_|vKML_5U@jeF>&BoowK)2@8`VgA))5n}6F;47r0`$N*zao0SI+g{6XV z5Yd7M!E_*`n7ycl5O$VZ&B;*#LW*Fv1Z(Ve`4ANmVT0^;h%2gnN3v z%1it&?7y%}=7K=2l3FazLGE}#O7j<+XVdh)z(J>&D5xyx0#+Io+GCl6>+Tls(iRA`m}5c}rVy1Dif11vTnw}`)( z&2@8?2YQjF5N6Z#n!w~JCjtv8n*BRhmY%bXmg4R2M=f8(s<`CyCOMpQjR!%OR5x=@ zjDO-tbPE!96rwl)hXWcQ4p}|Y7W*Sj)5oNPY>p}7aTKf}sTE&?8hV8wpdSU!aaEM> zbr9j0is=h=>JH6GZE#NNL}wH4rjDk(b}JjHc2uJLeBf{Tvq4Yuz+Z9s0ph#_On+v8 z_Ibc>?8(XBftUZ3LhYvQZ0!E2Tnf(GcYij=c9vfhu6C*Fnhs8P&;dqVRh!O~m-c8n zumx;iRJL+xrISltsy68_qtBhuB&HGvWjKI~UqGEEy;DfXWkr?&=<~_5syYP|PNB6w z+ffCKW9E2S8V!o5>YCdRP0h_dFvS4{WtjT`7F2pP$6tq@6-T5pZ5+)9$n3lf-Wx6( c5&o_H0qi{rs+Om)1^@s607*qoM6N<$f;lh(djJ3c diff --git a/graphics/pokemon/azelf/back.png b/graphics/pokemon/azelf/back.png index bc9c23cf73dceb6e749fc596773f23637192de41..e52f6cd81bdfe480b7436f0418844849585d0cc0 100644 GIT binary patch delta 515 zcmV+e0{s2=1nLBkB#}W-e*gz`Nliru=LQD>9xB^9(7gZv0nJH7K~zY`-IB3xgD?<= z8N8>BGG)Wb)TOH60j$UqDB>AYF&&CnI^m%&(J4~YS4g8wRFQjUL+ctt_S}Nt|McDY za1`BRJw8n5EP0tGiq#Eb!>0*$=18RD1mjpqvKSwMfK`%+@e!;df1L&<6c(6JbilZx z1Nay~Yv>f~@ikaQdIMO!h#Nq11K{CxyFfZ}O0DflR%uZ1dr~;drFpd4qZ)Sh3@4N1(4}wo)l5tb<7@oYv-OTIWhN zWeXJ%Zqd+MpCYLc5E&@t5lq4!ACx1&Dty%b=}%p*-tmQ=d0rEFikQh&iNeZ)Ugail z-Uuf``&Y6uKn3KM#jptjBWN07$Nu)4;D5#(&)cm>s>)T&F8x*NfhfN?o1W3CTD$Gv zo?d>b@fx{6LWegHSgNJFWVZ(RTY002ovPDHLk FV1n|x?GFF| delta 526 zcmV+p0`dLo1os4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nkZAK~zY` z-IB3x!Y~kqJ$R=@ow~&^b*ZZG02cC;2;~{6GF^nSbc%<*M5juquRsw~D&*eTNpT$~ z?A&6J|Kq#!CF~~a{%$(w>B}@xEUpl1F-`EJKw>pcaDkPk591>cut-xmK7v!Mrhy5C z111z5Fs|qTF$T~YI>j=74v4-+hPVKW7kLFpuK*&xZXbvafwwfq-DI(f3ZBmZJ7b9m zz}F%JDo4mjzN{Kc9HT%Xk_T;bsAB*>CXadJ3|5hZg5(kM3Oq&dWv-t9Hoc*q4|}Zf zdD$D_TO?u`0X{E)m=6K5$<70Sv&;uW z^qxIV00bmMU}jEGD=ai@2f&vxE#0#|Fs3#H{F`CFr`~ykdLnqS6-!TG&UUs^Ybcz9 zDruM$6|+$t^pKAP!e1HYHY$5YI4DuP21gMArb9}QcNS;OW8z{zp0XNA=Loops QssI2007*qoM6N<$f*3L7c>n+a diff --git a/graphics/pokemon/azelf/icon.png b/graphics/pokemon/azelf/icon.png index 816b6f5cc7b4077db2e1c7e4dc9e999d56b9e3a9..e3822194eb2d498c57ba9d416dd3481bcb60b5bf 100644 GIT binary patch delta 384 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 diff --git a/graphics/pokemon/azumarill/icon.png b/graphics/pokemon/azumarill/icon.png index 8d1a6267602f30ef131377117a54d811b413ee0a..ecef258122552072f4f98594de70739496c1b9cf 100644 GIT binary patch delta 382 zcmV-^0fGLb1IGi97zqRe0001qplF?uE(rP_eir0{{Z2<#!!xG?cW zwoaSYgwOg4DN_V2b|DxdG8xO#G8Uu@gt##HG5XAmo{jmthrGO4fiMajysGHDAt--f zK1LJnH{iJd;b1=Z8qi@mrNN$``VHt#n+OwtVH44ygU$#6chHT6m*X5knumcSAZJqh z^w>0rAfQhGaKL23ur|Y;gBvg|XhvZWi9x?D3>U&sTL>c{3d89y$ikeY zBwbDwg^}B*6kV;tEK03{&??L%L-k6S8-ER5g|W*=0-S`QT)|No5$L)`5@AN!q}n2X cO+PIE8~#Vr|6F(oLI3~&07*qoM6N<$f=&UXb^rhX delta 346 zcmV-g0j2)O1ET|w7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0U=35K~zYI?Ulif z!ypVq5tbq=wLJg-x5Wff3^BdzVWnM5RS`2WHg#T8`eOmii%AzjTX5ju%W*qb$6*TO zhz+kV206^|I)WN31^Pjefw4$+?th>N1+P)pT3W2YgK7NZ#$}UjL7ui-<6NKOl?^F}8%Mugn%8XoUH_0I@0F z0mR-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT>8xIDaM z0009ENklJ&)5s5QaA=SweE-k3>RLWE0aTV@`>v&M`=Ij>AaDxdf8_DDDRY zB#SmB9TL)sDiXNbKgX=sxfAh@Q-aXV=_r`zcD?V+&bvZ9#D9MoJ)izL^PjT$5IiA* zc*p@Ez(n)_rXCMmXdsT59pL=E^j5G27Fb^saK8B{GdqxOu5sA~$PJd;IS+{7!>oik ztYa2fK^@bG6KVmp0K}35p3n+cD+st9#DD-?!2}s4d!I?l0sSTn;C#~`2xSAPHgG#v zJDC00Cc2!eYJUS;NI?Vo6iQ(mFe;S#m{^E5;5RxYQX*xsUCcLiK9*8Odm*ZQ3&_XR zQhliby<^d8s7Q{}aH0V%rK{A@8bL&<8fa>v)SsF=GM6%l0~sCuACHQXN4Xrz{4QS| zAH-P>5G5{6DO_wTG13x9X)cb_F8Wy+C-QIzAzH^2kAKT;nlv)FdyCctK$;qWWOCYC zms)DGN98J~rFC*B1pz4B>i8>rw)sL#n65tYgkOi1;w=|Bdkd6L|oy)3ZQ(4!Ksq0`JIkM8HnU@SG;Sr-vESRQ*>s z)G#z_;eRFL2hXr9LA%zJ@tomewgqiU9I)I0?6fH*8SfZxJAg+B@ccXQ&Uv*Y06R?S zYV`HjWC;`Y@?E}IuNNb-9q#g6&NnwdVYX!-2rEcm@8HXA2cUxmdY%Dh+o`lxGn^Pl z(VmmpA0PwmD4`y7R-hM?VWgu;$_|;F3?mv{)PGaRx`dNQQvXO}dp07&h%ANj0{85o z%j-XP6+7sf)p_C&YTuoAPXSnPx7W8@;vr9G^y`Vs=WC);%wx@jr+wS@jeTRAwX>?i zVyv@IX#-T&see|Mu_3&wu$8la4>(qpLb}?9$efIM4AQkr>W1Qh+F7H0VSUry1InhP zu}@~Gx5z3RkR*%7{h6K}Ql+k2X~m;yq8m^lD5p9U@@kVHfTIRD7~4eWpfc7N9hobNyLl^w|T*J9lV z@VzLD1r4y^)4YTQ>=F{#Kw~pvlgwEHE&vIqfM>YE)dm780vjP9HV_M!H&#(g@O2Z&Gw? zsBAdp$|BFqK$@%lP2Wq6L0-j~CSXsY3x8*CVyweZ>w1TREcf>f;;p*iE_yZ|Xm6tF%39Hc0vMB_@u zc;5p&5q|(Le*&$XS8D`Bk0@PDzW<5W5R;eh^3`s)oS^Jbm*;Y^zxfUGf_xxsAbWd& zZ?`>wG!k%p1Xx1MGgD@Bo-W6dIjkyMmW4mvB~Bq$i!B+keolcQinlZ$2wS(kA0 zh|3RGvS%Y!B0@<)KNHo@-7TS4r+(7^J$pr=JJ?3uvPMeen2xcu4yT&^FvI-K&Hu00000NkvXX Hu0mjf0aJ%D diff --git a/graphics/pokemon/azurill/back.png b/graphics/pokemon/azurill/back.png index 2463e13fd6d964c323d6ea15e350f7fb1d909ca0..57e30c9d7e64723738e08974d143ce0c36283bd8 100644 GIT binary patch delta 459 zcmV;+0W|)-1hNE>B#}W-e*gz`Nliru=LQD>9ywoxkz)V=0hLKaK~zY`?UcW6gD?=r zoxu}J5{U=kFjJ=X(xprdojSQxH}xe6Q72xm{sX~h43)Z7>J4CYKl{G>Y%Iio{4#cj zAM!WcCXS%6+X8w3e6fRJNOC&>Xlk2BtW$(EfI9C*W;m=@0D#U`e*#3k4U{Rh4j6{P zz7#&CfkTP4Td1iLBHH2z@ah3b0=7Dw)&Z|_1L!^AU#v|UOZd4Og{vvSt+|#ejO)FM#YA0Pq}$FbXKr$N)+LZ~DGIk$0+PK&hwc zu0;b8%Y)MMbU%P7e{^7>TcS+?lZOeS&>|){P|ZyWw$}?ltN{7!Gdpjwgb-j$U$l0rcKy^_C^V3&TrzQ_Y0C*;AE*EEb?w+T61vz?k!?Wq0tfTKi7ewQJ z?n(=cCbb34Mv~X@iFlc9q>edFRtsWq7^3^d3Z;+7@I3MBK|>m)U+l!F7$DvA?T!GW zq_1cluzp{G0VHCTS?WZF!GF9;uiZbeenI`!_y(X9olRKlOa=e|002ovPDHLkV1m^* B%)9^q delta 468 zcmV;_0W1Ep1ib{1BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hUQbK~zY` z?UcWAgD?!n$>514$sG@XFjJ;h=~AYKPMutOn);H2Tqj=|?6*hK%qqa_n=*lC&s{aGXtFaZL5oS0AKfNM~{v9lnd0tq&%hIJ4W1M*?N0PZjO98Wo38GY4OmLv~LrzJ5)WVre)OWAgTLv4$7+^K|bZCa-RI*3*-5 z^gWnD|KNaKWq`?~t|V_HIUS#f7jGl=%xN-O5dD-gx?hY?`gja{s`&LGw9+s3kC8Dz zYT(Bm0b0pW(>h=;{JsJMD2r9*?6hHdOY#@5PF$k{1G2voS@sQ}6rD{1yN?wB0000< KMNUMnLSTa0l+o+} diff --git a/graphics/pokemon/azurill/icon.png b/graphics/pokemon/azurill/icon.png index d015c2868b65c4ef73d64cf4bf1ef5c53117a3ef..d0ba71ee8f1d94386ad5f2aaee38515d4e2511a0 100644 GIT binary patch delta 225 zcmV<703QF80=WW^V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0UrPvnkXs& z005jxL_t(I%iWT}2?9Y3MW=(*BUq4jl7$5uumlSkV%&>uC@QOb?<(JUH4bdqC%W58w%0PhMlj4q@YV(OL)q?5hK9Tu7yLMn^nQ zZ3Q%!0wFJA)sk18SQj^rC^Cz8*8mP~C*(oGJ(Rl>k)_SlhQ6Pyw(wh0?c>1T#^D3x bm-%=D9>JfGq59}y00000NkvXXu0mjfBcBL_t(Ijop&L2?9Y3Mbkm*5iCeMnUS9s8xJ1V-1101{NxjD ztgP#K5DrWaqD4G7+ADj&kK5H;yQB67Q}7DY%`G z2QNXasXGz(C);rS(f7$}3%_O6J`U;IID9~e!>{x41|GqmkUHnytpET307*qoM6N<$ Ef??!9hyVZp diff --git a/graphics/pokemon/bagon/anim_front.png b/graphics/pokemon/bagon/anim_front.png index fd6e2867207882678d0aa80a147c73c9207b19ab..a333691b724c953b6eed2c362db0a8e2d54613d2 100644 GIT binary patch delta 703 zcmV;w0zm!t1(F7kUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@f_moKn z0007YNklL5tHs6o9*d&~sb2XPdT(q#$T2-n-*^%@&8QjTei~4=9wn=}i!_ zvh1NCORs?tncf1+Lf%dAwm-x@?b(yQw0g^X9z;>-K$64zn16ZmX2|<0mEHIQW3PUf zjT>!mz!GiG>kpW?)$lwad^&*#MZ9K_Ktp+bQS%O|EcU#HCkDv8<^Wp=p?nHx_eBTe zByi9XgI5?=)Eaj>VxrWf)ue!?eK=8dXG#J_UA^pfoHsTFR4p}qBp#nGDInBV*gbgq zc1aa`0b1*+vwxz1DnO2eJ~?86Sf{Oh0$3MIv|XJvi7CbykDoo!F;xgt>*Vbkv z%Lys(MbR+Su}z)Vi|9-m#a=0(@>v!OX+5OxwhJ11}ip54>P( l{ecmTAO2wO{NXM@7-~|c8f#T z#*0Pg2Lwvp^d<8-FVlO(#g@4~?b^nN}qUtw&HbCa3 z4zL+xf~cbEclxZ0c@jA6vcU_?3u=#BT{abB+HO%m%RZWlh7*#2(GbsjUFVfe0X0j6 z57@)yiUJ~OMZLqvuUAyF7a*k!oizp20CFVc>9H0_WY)e-02{SM$CYV|SYm?tnF9Oi#`}Mt{;4yqw_tP8^RSnb_34p2cU}P-mrp$|tTil5%uF06369HDgBSod7~C zmdtx8Y&~3qs=R};3!Ay^;k0uM}H=q^C+W$TIgW?=6FudB7y{S z=DbG$JeaA+aZJvl!gp(rWkSE}R7@^G4~#ArdcYhKe~f+X}F^n!u@pcjn7A2fpT-5ejxy+8b;@eT2+RN6K+0T2KH002ov JPDHLkV1iU#K4Jg> diff --git a/graphics/pokemon/bagon/back.png b/graphics/pokemon/bagon/back.png index 1bab33f32c35914937b32eafcebf506471e1d271..b2b33b15928b7b8ad65c16e49bfa98d11999b6e7 100644 GIT binary patch delta 498 zcmVa; zI_3~k#HrJ*=(EneZVxG+z-C@Y7i@~!kZxp~9>_$SvHRKB0FW&S_!{-E0AB%XREZ22 zO`R&Hi3_lWW5xsCLfgQxuto+Nfa9)inN@nA1p+F~%)vMd4a``gQT(!vHO+9EpoBN> zT+kp^7+xoUkprj$?2$6S_?`#=_Ar0Lo&`2|kgW!a=NuS-E_&0u4vld>L|r1@ziTae?C8Tim><9x=rWgqVV@)dX!F`eNQ0RDP>0x?w<4O64I4gdfE07*qoM6N<$f+4!uY5)KL delta 479 zcmV<50U-Xn1gHd%7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004(NklcIpY5*Phi~&TFH;)n1)>$T0fLjGun2#y zc(vg!z>J{h*{~@L7Xm^%SWpS57ZAMnjx2(X2lL(~15F4L&H_LcAl{=+PvR<NW)G z7l?(Gv^~^qOak{r>zbN)7Vujl4^V#z;MN@BNkENnf)Gc5^tf=6@kuC8S=T|}+IQ!6 z7L0h*m+%yzR^$hQinmX2;=?{{0C{I^9Us3W4t{)?~k9fX3>L>k@SMQ)Gxa7Th58ebQZA?oAAlrF* z7ZBxdfTtyJ(*d>re!fIk0V=P3iS7kz18#VWATPa>K>M7c?ahuiL=dZYO7N?1)gRj3 VAd3|+ypsR`002ovPDHLkV1kZY*ed`4 diff --git a/graphics/pokemon/bagon/icon.png b/graphics/pokemon/bagon/icon.png index 7fcf0b9d7c432044f337a44daca094ba9ecc2dfc..1830f043f49d6c546259d44f7060126ead5b19b7 100644 GIT binary patch delta 115 zcmbQrw1;Uzf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?C0u_Tgu*JWy!9r;B5V z#p#LZC6>Peou9a~XGt*5{mp1ABI(8>;l=rkHLB@nIh*dmKbDns0ZaKAT63z;{9S6> Q3DnBq>FVdQ&MBb@0HS^*+yDRo delta 76 zcmdnPG?i&W0{a3_7sn8b-iiGsRsk$O{{MgBz^lBV_#%tMKjR(=gDFC1xVNx;e$Nxt g^t1TWp9Nm>46QlUXA~=IJs5z%)78&qol`;+0MkexGynhq diff --git a/graphics/pokemon/baltoy/anim_front.png b/graphics/pokemon/baltoy/anim_front.png index 0227496d03ddcd54da8a6cb4e7dcf04aaa062e0f..dcd532457e49c179433f6bf4dd22eea4bb4869ff 100644 GIT binary patch delta 670 zcmV;P0%85n1@Q%tUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@l7eSyH z00071Nkl!H=3i6viD6-K$V>dxTlQ?y*btE<2K5S9r$b!s_&_X{CE?QzKqC zX(In^XRu8ZYmelu_Q-oX1holE?$!PmHINE{J?irTU|tkBu&%cAeRU|%8vgB%eZ_Bg z9-@T-9}X3V>0pfl)9U4Z2+=BU2ADnFe@%w)unG{lU91k=L~pIN^Jqk-KNWINbXKmoN4*q z=rbsxS;H2!JpHnaWma#PHtNl^3Od7J*4z+FO1CDLNPowessN7@1z?g!xIO3$iqExw zKpn<&wfm&~17>uts_L*NffrsCK2gK)ffu$05G}kA(m@Tl&4Bp?aBZg|=Ew)zbM4u6 zPvl%;fPWaf7FQD*8~=t7nUue$Qsem6t5u*ggB{mr_?9Nj02XL~dcjR@ z(m*fH?1cIPu((SD$_=#uO0B0BfVvOIp7YBv_!m3z6T%Lld|`H$8vp0)+kX1`|W%0P~{2fpxW= z@2f+BuHoPO+*kZ&=OMLl;NzjU zyDK(QE?|02IDg6qw}kmN4knP?J)8o*@+nalqJ*jX9NwJ*O!=)NP*C+HJY9sry{gm} zpxkZRgh6t90+5+5-y6LLRcO*MMO~g=S;jJ}CrlgbO>`BsLtxf?ARQ^)np`3$Mmp}% z=psi>#P5*=J92E~%M`X(&_x$r^lxPQZ94C4z-`|Q41eBR))=JbgyDb%$W?Ri7<`#3 zz{7Kn>IsuH!s9_}SbVAT1DY_Ns@-RuAF!ZvRaJ+z5qRcR;TzU)eBcGs08$GtgmhQ~ zZZkk10j^mpVvfA9J(ta{yCUZj1H{A*j0{HFjI0H)%@3eM8Ui-_7oW(0J6 zScVTcp~D(W3;+o<(8qxm<9}A91@uC0#0gp*UK~zY`?UX@ogD?<9 zaZZ2{Nwydf&e5PTT?b{_E(@~Aww0>7H)xJs+t|S+PLSFx^A{}Q=kM{KaiZw1ziBZC zEVF+CWYf$5FasoWKnnb75u}&_S^%D3A<6^*nx~6IiKzzg60tz+e-uz6Ubx8yp%wrF z5Q7#AuC~{rS6}Rcz#g3VbFf4h_3{<~3Lp5M0loqN5gs7lLyf*I5C=PbQq4j@GFI8O zp`cc|BRauC0EKP{vn#5=33=Y8Q0GdefNgxf%yCa$nH4>&Pb~v%6Sp2uUlR_UX2yfj z{`cIf^+rE<04GcC9lZdx8CTl6>ha)QQv4OT$q!e%%Ju)9KWmCOd zL3M73#sh}dtaZ`{MeU5~$sz$8>{|c)sLDW^`W6IiXB;4pvB|?(kizEXjyN1+)i}?> z1v?a}K201EeaL?D0EcS|;5*ZMrPm2ygW}8$U^Sf>DL=uSJ7D9f!eh(q?bYm_4PBy# vAsbsX{hJ`Gj#1xk3edjqTfawHbeGi+b^4j|MQ|y000000NkvXXu0mjf{T9eT delta 468 zcmV;_0W1Ej1ib{1BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hUQbK~zY` z?UX@o!yphvAtx}FlWc?K_#BNjxa(MMV@ zj7|RIn=zXL=Bpn9blpqbxVG0O+4)X*+#DYTJpPBvNpVUE1w?v>{m*N>Few;{kI_x_)>G zTDZRX6o+Gi4;M)I#`Y$0X%a$hlHKS7?90?3wwAW}o=1Rdl;Fe-V08`j(SV~Nx+4#Ub-k1_sD(1qeGlp6!AZQIkpXA$7f1|eT{`kC^e$`g?Q0000< KMNUMnLSTXrcGJrM diff --git a/graphics/pokemon/baltoy/icon.png b/graphics/pokemon/baltoy/icon.png index 2c0747b630dba65f4f730b1dfa3373ce19b576e7..95d879f806d080293c0a7768d812a8f6faa829f5 100644 GIT binary patch delta 229 zcmVO{0Ur+jA_Xk~ z005v#L_t(I%k7e}3IZ_)cy2ZiatV;?vn7hrSf;b8q zy5!?;@)Lf5Z?Dqycx-?qFTqOc`;hilGE)j|lFKx03{ce2_0|VQ)oOiUUbm8!NaX6k<8)Bx9mgBEAt0pzxV{2EQ~$uc56oR( f^HJLyeHxerxiNyPk6lW<00000NkvXXu0mjf`gCGI delta 190 zcmV;v073t~0+s@hV1J=WL_t(IjqQ@L3c^4PhVKosS@7+;oN$BPE~C%V#e)oer!Ec- zwJtg6VA{n+a07*qoM6N<$fzjD(+5XR4%xhgXmPPVF0*orli7R#iUbLvk*SK&;GfFFR07CPu@ zcmZap;(|&;@&FOT129h9q)I|6N?YunWLtluf{x@$-Ou0N?tiUsKSKV))#^3??FOJ_ zj~WDqZiB#(i+=)kZO&cU064a+%|x>S;0N||ziO8~A$khD2+XSUIc%T++d3ZcZUtbs zhc;w!z$UL;UapsR@N8nMwU2;PlF<167?DYBh#iV@(Xg&0r6WPQJ#8ZFr8 zJl|Taqh)-zoZVi`uBUBxKo{x_?~^37^1-FpBEfynHU5lB@_)D<*MqYtqRFCE8<2-;QH&;wQt}T) zi&C-&C5vJ-S(HMIvPCHa1&h*gn=FcZzeRy-6ZIB_Fq|!}Uu#iPgTc*Oi;@gDC!5JQ z&RP^g1KiI5H2#ybDDbBHxmsva<}FImVZh)wgt91Rw+cZ2;OLg@S(|>u5hgMMFfmhu z(SO}c{MGnIV_*;yv0zg{zsKZS4K6529s#rubNp&$XRb&L1^@=y2LOCi6aYK|YJq*g z+3s%)gx6!K!&A++1@-|$_-h5J0B;4H{!E5{W!TOGZ&6O{B00000NkvXXu0mjf5S*&^ delta 939 zcmV;c162Hy2>b_-Uw;FKNklin)5XaA&xhgXmPPVF0$ciwY>&?YOdPQBge!CCn4Kk*R)jWVz=xNMQ_jYpUP zDlO%BJkIRf?Z~QupL2D!YRB{RZl2s;B-f*W#0c=NLL8rF0AwJ9N z04NJ~r)2laDU?9viplxnDg-<8-McHN&;&J0KzcWuieiKafp`g=rRfX?TL@v8mTUz8 z2=@FYO@HS^F&YTj3IM_kk5aHH(JaJ86HHh~$)y$|2c(%hr<3o=SO+L`GJsBQCfB+j zr{UmAm}D@SoL2yHMGU+e2IIjRz=nDIHW7qYUbqxjB;Isg)`dg7GaHmJgEDRx3iBeV= z@bFuKlqil}1)zTLO;SGH$N&rF0|1c|lmILNV}X3Yw>?@3h_K0Wg(sJ72jl~$h?WtA1i}Sy z`XhV%3om4|8D#oF0++ge5H!g2L!UvgBuQsKzYxu^RLcroEBQ6MsPF>-;w!X5F`i5& zRe;nF5XBy>2Q1Qre?C3`S_w$~5OM$lQY3vDQaR2|w=oW8(?xoJ?GM5Fj)JvqY{LKm N002ovPDHLkV1ffos4D;f diff --git a/graphics/pokemon/banette/back.png b/graphics/pokemon/banette/back.png index 966f01fa587e2fb02e2bb40b40484754014173d2..9f79b832c6e89213a71dca9f9b910bf5646a671c 100644 GIT binary patch delta 569 zcmV-90>=HU1)l|wB#}W-e*gz`Nliru=LQD>9}}GK}D|)O%HB zyBT|KW%2|t>Vz=)31L8~@{2e(kgN6!f&);B)_#>q3<=1UwIS0=e+K3hs+8*TZ-7#u zQcxz_BZQWp@3a7_=|RVRUres*zd1CBrxhy0QTV6%2Evwi#=X!pS7Ss*WW9^q+V zt5L5CV)?Aj08zJTkJT#iquc_p2Y$*VAWi{a#kcRVMz&gzq0V1rstB(DmC!M8umG}Q zDIh2e8=yK`81Avhe?u2Q47UUjEC@^kYrH|01Q6ZRNEP-U`!h!o&Cw7wA8#p-Kr!C{ zHqJY>xk?s*LR4pg_9n4sG+Z3jqOh1j_drO&y+Y_i7jN6nD^$J>(YD1UBWPc4gM8KC zi0e~@2L!SJgy|H%VfCx4!)owgD_BskuJYN0@qi8h<@P{le|to1t2O`xB0CJdbGOfdhmyK?N18zrWujAXlZ8uIQSfMj^H6{gXCO7J6b` zRy2=dX_WpL$LSFPxn>3h8UjpVD|i{l>+SK_08PP+wjSy2r60!YG);e^t|9B_MWeJe z3?r@S*1yGVFZG*^hSXF1`uVmQT=XxbNrHgiVQ$c{|7raNBTTF8n^epT00000NkvXX Hu0mjfnvMe9 delta 580 zcmV-K0=xa61*`>-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tHD#K~zY` z&6G=Sq%aVMEhJXGDho7Qus}ISBWI71>LS_AiDsLuAvpnkf{0en1^NuB;$a(bf_fKA z{SfuJ{=ce>#e*wS2Y}HBgh>tv16pT4#A5@Au6`h507_BuUlqiVfJCzm6;?7ZrqG$v z=kEbZfm%Zdh?E*rR9c^ZK?cGFZRAx1fruVYakc?_z>7n24g;`S8<){GehgGw;QT0% zWE+q0FtFAr76m!~=0|`ms<6j=k$B100BnK3DhS9!z*h0+$=8S$3(D2`FAEi66(Eb( z#Bn}L5p*9 z>l%uNJ~T?Mq3dZ4*Y?eCt37Nqq?Y2B&$rd!=7l4DBI5EN>gEQk_wtu7A-(`3OsnkD S4(^@+0000O{0Us4~N6f(h z0081iL_t(I%jJ?m3IZ_H2YE zupTdg!*sDnZT{v19Zm1%u69;2hkvN5l;w5|A4J5co1KK9RIpy7rB+eI+ExINAcrg0 z!qms5{Z)JmOjJ2A8aOyG4F?CN;o!jJnC`%|F%C>>$_p4tFiHosRj&72O$g?FuVYUm%zx^+kFBB*rWzJ7yTIk00000^tIXV1MjML_t(IjpdR}Y6CG0g?$4dC|Qm#ldNZxY?B+bx9fcdvX*3+ zWD~HeAsX44UArrh!JudTJj|EUKMUQYkX5=Is0>r?6qu%gF?Yg%SV|{Uv|yB&bGHJ_ zcGv~Wz6#q-vJTxnJ{hdXOW-_x+oLvr^O-KDcY8mMRxyWvsDG-I<#q`lM8v53qlBPT zuwJ93R#C*-z5pOW4p**)sqUAy!W+e3fr%;yMgs>2rs3egG#nh59NQh3w#I=;O<91E z1Y;-*Fj?RfJ{Dk5=fk-AAU0qsjSU#71`Njt0|pG3#={dB-U9QI|0;d}1=yqp)xZ>} Q00000NkvXXt^-0~g0)t43jhEB diff --git a/graphics/pokemon/banette/mega/back.png b/graphics/pokemon/banette/mega/back.png index 35bfff01a344e2e93439da95796bc6d429e75454..a470abc44695b46d5b28fb776a7adb887fa36674 100644 GIT binary patch delta 576 zcmV-G0>AyV1*Qd%B#}W-e*gz`Nliru=LQD>9~cVuuzUaj0trb(K~zY`ot4jO<1i4$ zO$n>>7!w-`3-+md$}8AqAbyN2EPtme~)BP5;27=k^saZ zq`?91ZbDXYSavrQu;Q@X{f0sYihSrx02!*X0tlMP)IFdG-GeDWySI0&O2cM zPW}|EQSt3-&E_u4zQc0czerVzKLtB&cTc@C6J}DduIu^=h#HgPq=xIiwSRO%z`2#r&zJGVIq>xZ(5{=ad#;Cbqf}d; z8G-k1+bNKoR++w90LO=GLC2{^da}DM4TGq@K{jcs+qaEPe?Zb|s5nfB_1*xehorUw zHXux)nYh1t+bqz;Ezr87InRU;Npe;FXo*IEmF{+pN`bm?RB=5+WU6#PhPnOF+1;RO z;GrDiz?I04l%min2h2LjP)xD$L; znn!48o>hm9Hk|+*fW7|LD75|N$g014M58e@Q=YyI@0i_5`(3Y-Wd8t3;J#WtKC&_Z O0000>7!wN$1^d*V@(Ru}5I;s1N}#7yA)wt;3HUJQWm)j4FVRQYCn+V+ zlU9Fh*GXiF)|VK~Pv18)9x2JUbrOE={zia>ib#~|h*g*<0K+a4vakdb5C#$vQP37K zhb$rhav$;#01vmJRtT7Xx3?5%#eTm14ZN8K*pn&%0ze{5fM7G3t^;_e4yF}Mw`Wt( zz5{+vC89fF0YQEVw$$;>Tg9e|Wj|oPQLl|o#V^5*o9(mG&4dXF*0!xGfoN$ZE` zEl=uPb^8XZx;kkDKK9GK12y9;(>Dj;aB(hPnGO>gKHno{BCGLYs^`t~uke8x{oc)!FRvF_4=p>YQjk02KC)IXfcFFie=I zg}J7xjzH`^`W<3X*h{Dzo<)oH^XOZz19s+LgPZo-EerK0@CU6&H%xi@>PqV*QngiD a1hW50;J#YTgiL|}00009~+bZ;l=;}1A9qCK~zY`g_X~X+eQ?} z$BT)2eX)s*>7h}O)`q2!$fP1Cc`b;c$;DJMIaVO2dy|&X@xoRh%dm4cco$#moBo2H zeW)P_UvpmqKD5lCe?i~OI^Cv`)WJgF_tE?Dee-4rDOdnU8mU-dfA;iIg}v73+1fW% zfN7J;RWqGxfIRx~e_ZInaitxeYj3MlFj-h(pVU$_sQ@1QKpIw}mIFb@o=ko!2Oca~ zHs7znh$Sr-Bp)J~TOux3^a zm{#L-VKJ7pGpi`ef1&x*ocShWW>x~E?e(*TiR;Ch6$4q;l>l~YUI2X6$TH)Jv|H?| z0H~WUeqB`q=CeZtEX6LWqG9;|00mhN=ch8l+F{K?!1?}n5g{{QIm0i2CO(5#AD##e zdcXWJWdGfCZCe5Z^zihx03bYkcGw0P3Nx7JP0Y`EAAe+We^b_a_rSU*wtJrm5x?fY z%|HO{`;Ii$mQCv4O;b@~0-7cw)H3VpU!#IC`hRJ6%Nq%xeGfE*G&WIJXV*U%+Pz1fZ3OA9NSS8v%G@0bFDKZXf_hG@3aMbX`wMW_WmB9vKqw zmXGoDtIu$HiPP2nJkKxljgEk_k??3K;tjhaq2KY(e~UcdZS(vb|BI2#bN#I=(-#1y ze!e=%Igj}s9q>KR^UW&48kN>;GQshsBqp z`&a;!bFM8T1g4DXfrmh%DsbUn#(QK4-EvO7F+k`fz;s_fMoGbr)Zm8hbGj!=%xN%= z0Nycxe}|(J9a(^R1XLeUy2ZxClu$|q&_@8v5deFMozcg~XeU(moI)7&!SHt*7rnLE zONNd4Y&fvjeb7&Kx1Io0GK4RuFG7I-sUv{KVZm`6sgrLx7fIkuDFx%JsG}X{n{fio z;)56g)a2HiLfM@~eN-;iDJuh%G2fEQTaT9BD+Y9jE#T delta 956 zcmV;t14I0n2%!j&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1A0kBK~zY` zg_X~1<3<$6N5QOmeQUEariZQ;DK><{u1qWTB*%g^bbB$C%pNO{x4B7S={S%IWEnDN zgA;tMZ~6;*_MwI%eC<6Hd}x_N|AM}mBu(3u)Q5$^@1ytQ`{s>FnE@Q>q{hJN8{-XLW$(kXlnLw;mvW&%XVi5Jq@h>xVD&_w^-MEUNKOmCQi27H&2%~V`(S1%c>k%FRgiCF=pizK-Ss3T3TqYH>@0g$n%~Aa9WEJ;FD&a zn=ho_W>+OZ!+QPWx*o7z-Dkj7oU$&OX7D#qQsroIDl=?c)+z(hu=r+zlW~lNMMK&UVbeAi0)szGbKl1hKr(w^|`+!zcG0zmHs2J>5Jn& zU_!)C`A>5YK<9CPBF&BMkj9s@OthGSu8RyxZa>H+Rt0km{?zZx9}A%K2sDK>4$;s76Tx$aMa};5Qq$l6f}AWASZlrbFQz$vHlz=X$(a@_cN1#ZL^CT zHP+FMellXV0Hj_rgOxF+QKC`+{30&Pvg{$pQTHwYOMymzs6?WB{kQ9fX|i)Ksyy5=q=560`MmSxW@jyPyntNG;>|(dA^j) z^zpttG9}=zp5yJ;nB(>mw`T-JQCt>V0|9j_;qgl38}-IQzvJ(hMX}!%#X0_#AXyZ~ zdry`x04)7~e0@@Ip6~+(;0In5+jWdRs_pr7it9^B+zWQ-<~$+^a=b7ncm&iLn|q$v z??`?6?qtUgi2x|)Twlcq%osC5AAwX;;Uc(94#*I?Z@sUd)x-1;-9`p=>PDwi0PRRQXR@5tq?Pf3;0J&u%D`%zW|_E9|`pGp(m e|1$#@A%6i>mSI8c|H+U50000 z0r7IVX%|PDiY6`aFFPO3PpMxQa2p&S1Q5Io!m244WB~(;3V&GpfOQG24ptGn&aJ4v6eUE7M=Zn|_@d@kKL*8<;bTBLKHcJOk zz9TcS|Ct0iCL(m-Q;s)7#K|z?oWS^MoJs=)oF@R6@!3OnHbLL#;5~X3y7MXA_tz45 z$nV|XPVO+e2Z^vyFpH)_1M=gQWCg200000 LNkvXXu0mjfYwMfi delta 327 zcmV-N0l5Cd1DykqUw;88Nkl6{)42JUtmcfyM^jQv+40I|;K|zXIFw$ol z*g(miDbh*~IElsr;^pqvT^wmDnl!^tzn#SSl=`)RTX47oAO;EIstFhwU_g<8K18e| zu=Pe)0HAlcsX)$Kr>O=X4qZJocTS5_qQz263v>>(0B45-)qnR$PJh0L8Hf*9zaGlS z_0qwtxLYqBK;@3i#J30-@=QeNzqgz&mWZ=u#F@bGYQ4&aBF-Ct=iw|3E6t54Z`l62kawqYx%!h-8e!Bd Z%op|8*DgB-VzK}L002ovPDHLkV1fu&lj{Hg diff --git a/graphics/pokemon/barbaracle/anim_front.png b/graphics/pokemon/barbaracle/anim_front.png index b4febab31b510435ed6ffeb4e0b4ffd3a5c1b857..d8b85a13087af7141706a15026c1769aad09225c 100644 GIT binary patch delta 1599 zcmV-F2Eh6842unrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@-BJ>F2 z000HS#OeRl{M5F^tlM=^>#O( z)|;=J)z{dCl^YO3q&<+L#5FVI)i1B!V0UOM1KRD$%Ug3u;ok9p(i7~SpWbg#FR_X0 zg!DSc?QgpLYDbnqgj-7Ldka95m{n&9&Wne+Szn<1x7ueky1;an6w>6Zy zxDza{gMZ-HFN67Z0A=9;FcyL9fS0r2uOPVeN0*DmPy+5i^$>vBC0t(m*KjvHvt@u) z2eTOfeh8Fpc?jRXcsH7z0dO@L1;OxC3PCv!W|Psoiy4dMj9n5PurY#Zc{GcH4FWVt zOw@KTT}*=6D3~JFKAm`pwdh@zCyM}L-0`<#ob?V_lA?9i^u`qOrNzvR8}c>@d*?&})H&eLfBXyq~T(0tDB1}(nT*=LAhH-+sx zy?>I2yz5{JL<)z%V`#63`%Bw8FL_X|{n3;^nJz-TvFTL%;VW;?E>0nY#l;x|l+7pW z9I%={MZnGlTXncx&RLj6g8`~(-Q9m3hPXA|Ve2rPBcH#MVP-M_Y*d=jq-qNv?JVYH zf3o1fkqNm{wf6FEG^Yp8e3-|H?=QUH*nfQ<9)_f_OlCTzS0PXe*BV)S0GP{MbwDXw z2|xznho==FzZ$tXUFr^{FE}u!G+Zc_fK{uq%n@zcLlXc>l=57s7!^eV9Qfps4|5Q$ zE@X7Lti>b1)Uz#u*iv^|{OguZiGH*;VKTtjNggt=y3P`S?i@D>P_o*ldh0fTc7IoC zr%y;S2Wim0s)MPz0T9nyjq#v+15k@Z2%;p?VY`tgtK_K>lFX!#=kH3uQKl#Ys%fn6 ziolVPt7PO3_5eW3h@m1=5dajHqZtS?=NV>H1_Nd0E!0veGvF3<$VIe9O6R) z!rt9}zko1>QKQ$mRY0IRr{?TTLVrNSlFb>pd_@)zIRMMZ#y}(>qQij1SY~Vxv4DsU zqtpxr*rI?)4x`i#H&+r93W(@1JUON-Q4f)Thz`RQAfbSW z4wF!jNI+tT*$=;7Q9)|#xKK03eQ=o2K%fWOw?zS=JSx?QQZ!*0I!x7r&dNaQUndoX8A$(s1NnChfq-cr+N%(`VIGy1DgQ2NdwW~pgoK`z-}0$Xdn{cl=ycj8^~rlKA!Wf z!?$nj8wQepScw4Rp38@j4FnDyD+bJsBD!H9B9P1S|7o&;pl?jejg#)~uFZ`=Fc9n( z%ndir>+D}$KVcwF0qsQzI=#;RoJxYh3g=$YKO_WWbx`x;FX0bQf&LHq!{4d>53N2n!#Mx|002ovPDHLkV1my*=~4gy delta 1573 zcmV+=2HN?H4e<<+Uw;MsNklXE%V!U(7yx7<(~la1?*H;u|0T!)?O6GEgIh*45E66E#IuYcd-`XHn9X{Rf1Z`CHbduM%0 z&vE_g;(n7lkszuO(rur$zUjc4j$eHbOB(@Vq|+^&*;h6pMQ`xinO(n-fd&2Uc3NwW zalJJ32ES8hcOZ3f$6MTb-Y;Kx^F0sB!U13;0=FJ7m)@VAckK?Z7mI-e+=1!=0JCfO zc;(*0)qmhJBLl43o6P`leV~|;hj88T`{C>ofSbwC^9C2v6qGA(HW|Jj&)8fp*+--U zHikDX4rjq+Jz1Wlt}SVZ8?@Zg4s{qn>q9{>bLQ;Reu+;b8I^qt9Z-qy>YF{JQM5LG@ONA zIigJ#s@kr%n2fBO8}UFrWBXYUKU#5QIo5p6 zuKGg+Yd5KVr2satR?=hmA75yL+41lntUd}+H^1qaHlJDl=6<9Vn@J9ee#Kl0ve ze18E`Sd1?jpzJ(NbHHr;7yzX)+jaQ3p0jD@5d&1iynFb@pW^Pc#P(q}w_N^A$Vemr z*e*AMMb#FrRa(r8?qtD%Qv-6PY93_k!I~aDcVQhTuDfu4W!G7_8Ir;>ndy|?_&~wm zYs)+Uz*y$0BTCs$0MhqgJS_+L6{W&-sejv)zU07&Qh%dZ0#?nigDP&(t~CLmKq=34 z3MwlSV8bhKxv&Po?m|X~kF9V7Sb7#B7TfA}lfT{4DbWk|hL;+~b|k9V?%GQLy0hz1 zfRa_1>dj36?X1#HkC12%(x81+2TQdE5XV`K@u0H?sCgnxq9D?KJBpK4^3({4W`9!1 z^LHiSG?5np)j;We5jaJuazgIl0D$m()d*B1$^u~dW%)>_Mj9p8j$`qLZ37)dcS9-~ z^!K;GKPev)5atm6*Jc5Mf`a-@0sJ1dFt1w?cho*d)lpoc&}M2F!D za-0vN(iafXVIm6R3yA125e4xDM0A*lf&>B*I?N#lBn7Fm<3dfK``|FXfj|$mCpb(E zvX5pY8i$Sh9d018Hj&<}SRW>zGs%mi%BS2wVl-kHIxN+L_R2tNUquy#8GlIce*^h< z4CJ}gt~qN4LZvaZPSilCyju@w)Ii!zDHZ2iUD-flJuCtmw%Mdb1IgRs7+Me?f`Q~) z9U-lp`|p!zAbCnxD*++OVq7wimlCdoiF zIB1W<4shL{qi7%!U>Ep%D1RHsPCPuGv(4joZ!>EKl6_PT0Cca;hmZ{f4jnTDjP1O& zW*{PvO7j0{vVmA%8)mRw$lTx0a3c^51lM!Mb^xgSUtKR^Aa>3=2oiKW&HkK9g24>L zN{5LS@tnLa7)A(y&Sf?TMs9gVs75@qK`?UW@(Qt^YCa+utAm;!e;yHkcn0);$RGX! Xsr?VF)oJV%00000NkvXXu0mjfm`U24 diff --git a/graphics/pokemon/barbaracle/back.png b/graphics/pokemon/barbaracle/back.png index e29e04a89636181b4ffbea1ecca5efd263f78bc2..08a4148049da2c4ba2d0d85583b88f1398019280 100644 GIT binary patch delta 762 zcmVA0xZ{Sy%u70>Vi|K~zY`jnqwQ<1iEe zV40%zOf$YfAqOz1rFap9v9k|kY|{hOIY4kt&*2G!R$a`_&|apyLdd?0ZnPWdXx@90 zT_;gG^9YG8eR+QRGh-0v5%Wi2dxDD-Aee;I13!V6oL{6iLBhhwf1e-~=)yFZM&1P3 zx74~x<^hm7yG*fyQ(zJjfJEuk2PTs+2~$XPktNgAQv#;W&RLKo+1v|41Q847$-MmT z0X)32pvcRnULJ#DxmpSUeAPg#J)nYi5wW77I39)VSRVkM^L$~iDi6pZZ&BUy9Kq@s z@G7qm6xG5H;P0y%e=>vd0$$ZkgP*FZy`aS2l0MDi5a2u9 zxXh9xz(@U!H~>G_2Ots&Hdw%wn}#u9!Zr|SjzGO|?We%He~sAL)fm9Vco6xf72*67 z5Z`23wwK{P;*IFTfwJH19H)9C#2ZEjA+8amH>y7k<-K|^(E0lMiv5q?^i?2e-qhui~@2(%gjaJ<))*aEz|a;F_bz-N}Jh)Mg=V(Gm-r(G#Q=XTzagGY8rj4-0N? s4JU_P<3UG|(`>3fTH1;@$9R1I0(N_U!7Xuez5oCK07*qoM6N<$f)cM}jsO4v delta 771 zcmV+e1N{8o2I>ZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>eo}K~zY` zjnqwQ+dvcm;1OZgZCqU-kOK&&A!uO+A$e~|C6NPEK7de!&!L*4RTkX|lFMWlFy3d8 zjdq1}`hG@=Y>(4Ej4jQ4etLSNk-#_)ggZQ*@h(mPZ|2hs{CG}sei3tmNce#}L9EdE zv3D6b6C__^cC*9*AanA6HO2}~ftgPL62+G;Fq`?2A48&xB)W_pC1C30TzFBGES$hc z5D0G(E%I*;ApI)_S(?|?%`wPsRyPWOT-6Yz0~9c>0+H1e$9KUKMoa-7ZSQ!fvH0ruel+}VkIXq2q0 z6e6$ieDmIiv6C{*3WzGTAh(y6V~uwOMGc}%KJS5bi#6gTMM^-n?ND3WBFMOGCJbm? z+`?}ohHG+sO`;84Ts;sX%gCP}h?mth^qS`A@A&X*>zZZ}H3VssGd8bN$(I}I&dxAz7nUtV5t{$cy1 zHb3IP_J=xk{|Ep5_(=1{ymbmT%&-Ii49&lCf^KKbbJz7yOvvDqQA&3lIQ;wJc{mFZ zz>qP<-heUM^ds+n;VTSA0GNKe-9mBz^X(4vFi`|>0>P7i1$fk36r2K-6|V{a2H%01 z073}nAA&Om<|9Bw%%?Tz{|5ox=k^}}is;Ro6ZAq%Zes*HGX-3PwqSC<_6lQ_b}c3V zmW^J1)XN@H>-`LU*wPzXHe3V)jUD3!4%>FaPaLf{B*66vy=m?vcS$;66(G88YaGDuUO7CnU5s&^TozeL`S1lnd9G>3DjGOl6C0w@?`JaCm z-tZrn;rbnIzAuO@HiMoC9&yUaag9t={gutS9Q3X$Y-8H^3e(2q5M7NTj9mgA5>mpU zs;heAH;9!z>`N_cU4)9%cGTEAp=GYu&JMc4c%qSn$ViT#fZPTp5HFVXS^>>` zw`kAVc3G5=ip^1)0uwXTi9x(gW{H35%p3C!diNZk9sj|@hr=U;1E$9#pyPq*@jxx_ zGXWS)h*{-a4ZuJvWsk=hFoHXRPQY~c7ecZVFfhG~FE1z_fPrrk7o45}vx_EQi6m?g zxV;)r<+L~nK14k*^7`1FE-PG(Fuo4`ker!%T#uK2%U+OJq37lE6ZfigcF#+Ymg~j# zwG0(=75E^|1Cy8|AFsIzCIvoP@;Er>_-Mob6OvidJ!I#08)LkKXGOEO?}1Ri{s&%Y VDNH?giZlQK002ovPDHLkV1nuX;C%o9 diff --git a/graphics/pokemon/barboach/anim_front.png b/graphics/pokemon/barboach/anim_front.png index a1805b0a83218ef47bcacec423029c08987a7a3e..0d2a22823ade3a522ff8e06b24b75769db0b9d09 100644 GIT binary patch delta 642 zcmV-|0)73m1=aKWp1S7>8wXkTtQS_$)@Dw3B+$<`>eYxJ9U0eUN2mJ;ixQF+BPnLX-rgiD^Mt{>gl~;Y(2n^Jc<%!GL zY0bJmR##Wny1Q)zQ~_i5!K(t6?4W;@w}vyR0nR0G?x_yWgIfhYAAy6G3OZo zM6d+9c;TZY|6{?(xsKtI!wO`4*sfU~m|VwaF+adOF30-gmN z$AxWLfWRKh;ydOqn5_65GcFr9DlJ#@ETuW{5V7mH?M0LCmLog z01{6Cfz}4tuY6`L^L6RcrAsFmy*j_h3x;v4wF*Y>uFfxVf*}s~I^ZZ6#;ndSa)M#h z`bADKj9R}q3WflrU+CpI4uU}pL0mMAi>IW!(O&_59 cqj|IW2m2=6e$ggn82|tP07*qoM6N<$f}j~5&j0`b delta 606 zcmV-k0-^oZ1+oQ@Uw;BUNklW^uoRmezEYo9HB}^agYRlWB?0~E7%7v zpE3G54FV=ZGk{X3Uz*X6gE9%ra#Mo}W@?@Je z3-^0#R0O^{k$(^=0EDmxwt5!hSSuSacJ3m$5wHOj5B6KG1GBq`^RY7#LL^=SDR?3& zbijmLBNE?;EWSv6L88JnZNM;^sOAUe4_LhTAJhTr1E_Vqg7@)L@e*1A1k#c(P{ty0i;PpK~zY`?UK)G!axwl zmk`Lg#a`M={6~wo>I+0&5t35_UVMrk0xEd`8vujc}G;4}y z=MVzlZ@+J5cNn|W=`!pZ!0gvqjO}xQB3zqM2>K=pZ*4{`P%)7?j_C>z7{aA}S(U3Se|+{(-Q<=upqhRe;Y1|VSHdqM&e@G?|(jct@dV&C77z8{AuGPzPfx3hzIxR{9UxSwVzCc~VoeDHR z2X-l=0H)F(gV9w-eJf5~yo&}g*B!Ixl%9~gWKaMBC$Uootd}O{fRz8#>P;S<3irw_ zS)m-k!?aqr;vC2vb_xhF(5&ey?@$wP1USG^4KvhXkd&28*zgrDngHnsP`0i#U8!aBmZnJ|?+g4Z z-wYiY;*2$}xr?UBJ-zq6X;XGmjU2xQaC>zT_x^tYRc`H2hJ6T?ZSAN9RJI*x`@aLq zu>(P`25{g01UT&)zy%9`;LS;gqP?8fH$C5`BqCZG;B=1Mlh<-$M%0ANZH%@rl5&!Hxicd~_=V3KP&31Vkbr<`r8S30NFs7A{=gf3m`w$;*uKyxumElpkV~Wk`yt<0AN%1gFeY9 a#=ZcFNBjNOJKwbc0000O{0Us{KOeN(2 z006p4L_t(I%k7de4udcZMSTOyCy2z^w{8`M+*BA->0E3E_lk##zcg&C`!a?Lz-r~ z_98CqkJO`}dpf^=<6FFwR2|hp5XWlzL+L*!4#*yS_2XNhj9G!?O#p5KSz(%NWf8__ zudKp+q{@Zq1UJovnMIB=Z(&9^cTqE8cog@r{h>JRSTE}Hc}Ms38YBP!002ovPDHLk FV1fp3YzzPZ delta 224 zcmV<603ZL?0=NQ@V1L6&L_t(IjqQ^?4udcZg>wVTCy2zgub z3=u9NB8fXQRef8Yo_}P0QR>$Pq*xf9z=?oSL1c~q^i&z_RG6t$z&vqqxd@)?JT*50 zduBYlwrN`S-5IfVy-$eRR>+r diff --git a/graphics/pokemon/barraskewda/back.png b/graphics/pokemon/barraskewda/back.png index 439a7c803a4f212c6d80018765c68f2735ed3fed..f052c6435796760f6c13791e4898ebd90cbe5422 100644 GIT binary patch delta 490 zcmVA2CQoC=dVu0kla(K~zY`?UX%k!axv( z?ZQ24DWXc@k4 zoDy=tqrP6RbHr4Ve;yblfQ8f7P1A4%2C~2)(K_XRmWL}4E?9p!uNVXLy>6)jq7dYN zSs{wZpzn2?<7tXCwbDbV-t)DU`|U`fQP<^rrw)vQfWg)Q&s&QbN$NYV8=ge>e>Q3L~11#Cgr g%Md#EpWPqNH%-;}Ms0QNga7~l07*qoM6N<$f>Y++k^lez delta 500 zcmVDh=5dbyu~Vblw_ZO0nU3rm-5OW6S*-~W+h+@2wTbu(E5$1WakTTRq8-U%*Rz(SEkh}HT`HXzGon&NixV3`a;bu+qHuNRRDp$vZ0#p_B zu6v_pJWd9OgaUA{w{2S>W{UL4AO$SF-gaHb6&T1PgVdOe`#Bzeu0XhC{px$g1YjI= zM->pIB>&?ILXg2Y=&r!Sl=Ij?)qB8x1BHkT)cYRb3SrDqPb#Px*fg)9!ii36D(C7= z(=^V>Uvx@90-Ogzg;h@%i_nl00$}DnJpuF$8?G?q-}|~q6(x|tYvZrUSX>n+2_9%1 z1IFkljbP%}vp@n*xByjf=1I?%dJ3aKv?OBPZ~@jI^zxLT3Uo`nA|>dNo@qMwQ^@0v qHAOJ+pn)yu+)d%^BfiX^j}Tu?)%ZqGjZI4c0000A2X&(Njv}m0yarRK~zY`?Uk`_+CUh^ z?E&VTBg9Y^e_&Z^$%3JKsP+QOFQ2Mg*e9oD%@fWs3^x&g5$}-A++|#S0ceFuIy7K2IBI zNq8v%)xf9PyM<30e_J6xa4uz3sWXBrAI;mpgg?$IUn20|m>%jsYkZCVML?-&(OYN} z%}8(OOCC#r3eiAEi+Se%uqps1At8WyEmR)!cq4sdTDCj{R!hE$<7JWu)OH5UQAGRr zTXH8EY%_y7k8zUQIJuV$9)aui2HnL-2|}IX>wS`JVxiv`e=F*tczc1wvS5$`!#(I) zO5iZ102nv>U8v)y@R#&6QGwii*o9Hrf=T}BZ;@`2y{J)REcht-*F$*RMh%SN%(h<# z`5%+ecVd}!Fx+~}?pjvx1Rq5vBcf+y4d3 zC`*BXZMo$M{VclD?3DuE_;0iG@?-E&+;dMHwUy`pD|!9^t`5lOP@wW`00000NkvXX Hu0mjf1(zMA delta 628 zcmV-)0*n3A1>6OYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yRlQK~zY` z?Ub==+dvq_r9qx^3dTdd=(B~Obr#F%-sqxPHM)qV6zU?Yc(kw)6f$%%gzf?1siV(R zhJcBtdhSy1{$Ki?o#)dheYCR-W}=r5-&67*7DlX9pt)bGqIkKsS25 zgB@zucFaQ!zTI-p_H@*Lq9My0fVSzr5h0~?h}YF5hIW@!&rzchb!VOySRiCni3lS` zH=p3kvc5#(wnF%BNZo7QO2#H%#=yTd?rfuuR*1b}lnLPOsjeND#eG5W7~B_fIj z7o*wdaWfwYFD0NBg;akx3rTY=?0e3ojv93ba1mm7=cmX=Ey^Q*qVSF7qyMAMmzZA# z6irXwLWk&PemkG@R032;`UXZ!i~RdV1+WN-0jx{m@|345>5b{d@eo+d`65l{Ss73} z1u#Vu0;W7gW!GtTCk5<)%jF8wg`@`Ij`8z8%T}rI@2V4xSbV)eVqOWz zfnW=Uo)ajhQ~>jTYP*RI{1y3WoDnrTj(=yT_=5 z8B84KbyV`jD}aqSW&=#G(RO;a9X&#b*nYBs69i2Up9r-b+dlp4YvS+()c{~V0x`8Q z;?YdD8vrJADPGrGr2s+n3!6<`S1ABi0u+s*JSCWf=i<;$ZMo O0000z2q)qi848?C(%yX1Luc8ajGv7a~VNEk>(~UZHa1yP1T!LS{APZ z;!0)Hs3BUvY66u4>%7?nNZTB!5O0uY?cDYOMi!8zgS!%~h~}fmfnxk(iv0EX6d3M! z^k6z3Js8KsgFSIPJeaaCVZk^a9*pDR!8jfkjLx~|(Sp(GfP)3|_WLauH3swJ|9Jx9 Wt+JPLJk@>x0000R&=%$)3sT0lXTJ@((xF(X}I-XFfhp$P@5qpK#Us2Yn3FB zzwBzUBnFPEDDY#h0hHM7%j^N1nG^gi+dn=2sER5MsEhaKO@Dqe;lkHhqWm1cb3ql` zEl1wCT!j|H5vQ)bHCDHm3$o*SdZ=U8UU~x8631pb1SowC42V56wO@yKfYUA1W%5^M z4YO6U_rrm9Ju$OR+*kY;n2LBTU}hc*7~&DZ5RV8(EiD2V;t|0Rj|hf%1TePor^Lg9 rv1P&`fJwd@z#d#BJeWUbcFXt$;;pimi2@??00000NkvXXu0mjfx=)9} diff --git a/graphics/pokemon/basculegion/back.png b/graphics/pokemon/basculegion/back.png index cb4e0c0883e7391e103718b619a7d7c593117371..97c2dd3d980fb7322f018b2d6e21f456555e110a 100755 GIT binary patch delta 479 zcmV<50U-YI1hNE>B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD>A2~*! zpdtVO0hLKaK~zY`?UFr9!%!54gHR}SI>mxR2R*b9q?xkV;7}w$re_`Z^ z!${?Q8%sp<3C&LQ5pqV+20q}c;=#ywG!7AKjm-&p!RO-oz>;!XP>GmI?us&u1ugi2akmZHC?5ruu%Q3|02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM?{!*(FQ&M00EUrL_t(|ob8f5OT$nUhJ#Qjbvng>LkB&y5Tu#9*y2zrF5-|P zS*kxqoi4Nm!6^kHw021r>1Y-!?IM{nb-Dk=bM8%B`+b+{=&!+hmp$rHkOFi6I$KqBjAjqe+_)VSH**o?`j+%R-2m>@`BIw`p}kgTTqFZ zO74m>neFGQs3qvw6^IWR3Nfm^2@!AaAkOqG!tZ)gzKNl^!&O3Az4l(qF@Uq5+gNIO z-UTS3u)_mP0A{Uo0bu$h_$hand?HWj?yN5#&CW9k4Q=Ft)dCs-P_*U3WKgINf0WQ! zFW>=iOoF2Y&);1@0`?Ov)VzUjB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD>AOJx` z0u}%O0hLKaK~zY`?UJ!h!!QtroiMQ#76eo2f?%p-1{cvO9>SO*V(CMWq3XhfGh7Cw zK$p0pQ>WxHx>S|YsZ*uiyKr_&Bp~Gl=s)`Ve0TDhu|p0yB zQDwMA-M~W|t|5IQe_`O$z2fTZm_ zSs@JAbzQ*Y_qM(fI`8dD2v6$*{8oCn=8`bHWQv-&MhGq{J~Kq2kY-u@9n3?yqahj5 zZU;Iu#5cR75-{#E_tFZFwnPpxq3P^>G9cNIaB@})c@|6mReou4qA^RR^OU*Ki4g+( zONEG~B7y$v6mdDlIb&C&k(n~0Gd)%t5qnFmOWZA^T?^+%5DLfO_e;xh+gWYf>=S6S VHJjxKl}`Ww002ovPDHLkV1n{l*<%0z delta 543 zcmV+)0^t3!1oQ-uBv%J?Nliru=K>cKG#)SBZeaib02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00EduL_t(|ob8gaPQx$|hMh2VD=Y}6(gnd($qX)nDIUU@A!6Yn z=umZG!Wk|DQfZgCqEn~jF<7cd>C~xG?_D@MB@#5{1;{`8`+RrunXx8Knl$-mIpV#) z1puX6T8|GKeXVC%mg+-NOV1XOKc?0kUt6I&MJ5L299HYlM<7fT9b?_Ii}u zR8ak*DDvOJH`l;Fh-1>L=c$Z~rFvSS=+*NGw##Aoglk2Dv&S>=5sT%^3fHj_+B@F; z=81emGFFJFc0O9hGYzOJJ5+CzS$*}fN77p7gl(*B~p+vO=s_u0r7@}AOf#S zV>$o;0@6uDK~zY`?bSb#(Hei!YdJ72#6k26l#(?GLA!Os8IwZCcuj}mH68+2FI}B3 zZiYa7Chd|;F7yM`eJB67Gj%KE1|fLA_ulE9EE96S{?`>Vhj+HVEY5-C5Ezg*^5oTv z*#f?q7y^%)cY(DcN%R4Li7jSC(oYs+`_V1suHMAES#Y>x?-K)eLQ8*m5i=EHzVB1m zBGj~r;TraX-MKCJI{@AzS3d(#aCR5xzyS!LuHh2HV-()cJVp`$!%UY@D;qKop3H%_ z0YwnnoUsr*PA48hkM{UuDmbtK2>=(i6B=V+gyi_RR{P8WM2K<5gb*RgkK#@l!!-;u zDJkQ+f)M7ofm5yy(j|Wa&hSPT7$4_T9mn*Fl=TATK$!?dX!lRcAY^F}$8-&t1|{7i z0!}`PdsOGkf|RG=VFv^yGiu@3RU6~ZdQ?C!%hB1+V3UR@pSU$n-7~24<6Afb1Pdcj zrS6soxh7{4r0&2%;gkrm1|ulfsOO%7+pL2I1q$4Wz;H&@699i#(o$p4gJOOt)<$5d zh9Db4?u$fFm!}LIOIX3`7|^SWEY*M)Boq)>$_j#DIOuBaxoms~PamJBlQcMp#yaCUc_raUAyBQ%cmomO zVx5Og**t@d^Gkmf#rMf1_^{(bsohqWA`_fP@gP3&rrxrjMVj4ce?!m;4io0;3`lo- zn}6Qq+Sna|za1y3$qs}pkY2C%E2pr4YNve^v1vfa%I{tefl^;h1pYQjnN#t#mGq`n z!QESNvVg#k$EHF0VWtZe)wu}Hk;o700007&2CD~cKG%1&3%WePw02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00PfRL_t(|obA%RYui8+0Pu5^p;;2gU_4e)V{C9rOmq~LQYfd_ za$s7BgXlj{O4cL=pRt`o&0TQ=vv4P zLhyd?L+?b${rO){%pAVi`ms0%l0#rXf8NNGS1)D@cxGY+zng$Tk{W;{Rygj^RvQ#H?Ea%|CB)ZS0P~+m4geWCubPNUzuXl?$;z z*iL&WV$*<-mEXM{f-wAQb|Ub$Ny?mxudSpvtqM+W#mNE!FCLo)>4%vvRKm`UKLFd) z4aiLw|MN!YN3`8^RAL$|<1SU>IyMA}(KU@hMRf>C>BI#uLFUdaSDou2D9*>pa<_|d i5{rO&2e?1~aQ*_Bb5MdU`8YTL0000O{0U!l2F7}xK00B!$L_t(I%f*wiPQx$|hW!TC zZ5bjX@d6d~S}CvB!79%bv3R)J>c$eJ(1qcem}U(%spEvk6EJ|c`*gN)|9xTX50B%^ zniri*fb{7(hsr7xBX?99=sCv5ycwj!+3TOXxI9qO?b-q|O$gcRN4lLDSdLrs@-1tNX4BNfc zp-6QozI1pAI=EQ}@s{X7sSYO9K_xmM{Yr;v)TjeLP7(D{hxwoCZPa1T)22GOD@%_5 b$qqjOlDiA&jVO$J00000NkvXXu0mjf!& delta 367 zcmV-#0g(Ra1KIOgBk=+i^;#*f$6%Fbs#rW+ zZFOS_Qs}~PO-!?fhSYYf+7b*5aNB*lIJw_nisBE;vb1OQU^5`51f17mWpB|S)?`e< zA{@F-NwlLue-!J0D}_C6YCkXml%xo^&koqR2dP_*%3Pmdrhk={+%-Ut=muB|QUNvx zQvOH=<^Bb#6L6^<_<*uGKqrClsqo;@Y`8+Mwl;zXq8(Ry<-ljT6P-d0UGG2q((qDg zeCzK+0_;SsZ1EfeU>Y^A3=<+uTyS5(ot-1_n=zz@&wX*J!|K#equXgob?!!!1U$1e zVaNWbSdrd-F=$M6Iv|D=e6K?Uiw?^XL5JfeJQj68ce}SbT;G-G;DFcR)#>2Ebvp3( zOb5z!(76sW(*fyMIxMRO9oTV+Xbd{Ue`+*AhnT0yb+A{KRqn@+^#zi<3+NyY*kJ$w N002ovPDHLkV1idgt4II< diff --git a/graphics/pokemon/basculegion/front.png b/graphics/pokemon/basculegion/front.png index 4d46e3cbc637fe4110e0a8df7495e2d4da6db96a..7d147d198e981beca8b169fa93f017ec20956bc9 100755 GIT binary patch delta 819 zcmV-31I+xu2ZINYB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD>AP7&N ziX;F40_I6XK~zY`?Ug-i+dvq{j}nVOiQx)16ym`L(voTt31kTb(yfCO=SmE*aYU^S z;g&3&ItIK42ef49kU@|y;6Ne4?xaF}AeBHLFc?F<1o{p7oMQP!e=hCZ(i_CV|M$Gy z|IUvI`M>_wmABKKr#@>-z&HgoXlM=c^-DH^Z;w(S7WS`zdYg_H+ zN=toVf{@H$hL_%!HqkvVN&u+*9mHBi3>X^JMN$>Oex zcGD)sNf4kj<&tn7^(K0NKyC_j0xtq=&)la#RRw7KlkC0dl=a>lKPIpEv#Tj3OHy4k1DM}UXi zvaHnTPGG#bfB%FhC^)86fGLl9sPh>hqkCaGbe$ql3PTZv70cR5E3B+vmp>bzQv~oT z!;tk>)>yPlcb~z*-d&jJn`9p7ofqJs+YRqn z#o9}BYcTgxk0@{ds2y})A<(n7NA^PosPfj~S;6UIe{}@>%K;hAS0E%uTCLWh6Jmm} zTlJC1F9L+Dp0!#CgyBmY0soQ=?FGHQT0P`wK#vbd4gr6VUj(Y(EBKOB_Y>eU^P8^l zTlA_|Pu#60DHegIvTEJVr@)9WR?u`>Jf;OghAJ@UkFt}`WlkaX8Y$3T8jak@agYe) x6Tn`cDX#cDYy5ZPw@Jvp{f7~qv;Xn`pr5U5Yk=+OEZqPA002ovPDHLkV1gj|a;X3S delta 878 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 delta 557 zcmV+|0@D4a1@#1w7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005xNklg|?o)UXLFAB{_H3 z2~hn0HbAY;d$P@7~u#2af>0I`;|}v;NB+nGlBh47-=Ak03qZV5JCrtGXMrZ z6B@uy!TvnJvbSb80B>x!i#6LBD4@FeSNRGsC}O(=v8!2bWc{kT%PRnO*Uel3hRB_N v2E>@pHQl%bV7}1ck9Ys+dGs0R(LdEMnztjjHrpGb00000NkvXXu0mjf>lyv6 diff --git a/graphics/pokemon/basculin/blue_striped/front.png b/graphics/pokemon/basculin/blue_striped/front.png index cd6e6cda1b0ef6664a547d77cbde8a12507fc626..2ccb745ec4478e86d0239658be3ac7ead4add344 100644 GIT binary patch delta 480 zcmV<60U!Q~1hoW^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT`yTb|Zy z0004)NklP-QvW3{r^ZSnLK3Ir(gXp`lATL4Hdy~od2@GLb zX{hw*y8dMB@iI6j4LA<_@EnAmKSJze?O-s5;dek3`sVgQbjzx#1pj0*T+xc?YlKFr zzcF7an-&8j|9|v_Xi7{}0J!K^TAinJOl(7!YE2oh@xmN09oeSSEWTtE7gPjH&Ool0|evVsm6J`Cf&%geK9zgPFbE-`cI2C(`hItNcR`3l{%(vty_(D<58b~29HSs+vXl#JiqS_5nH=X&>O+v+avN_bMqp)WtG(g z_jEj1(vs+Fh(@lv21P0B7K5RC_DVD%76kxaw2D^Y*SWTPm+pvSFaxO;mDd9C-gZy= z6a(NrRo0(XLw~%3sAez&Y{&httC|QDoJZizL`?KTzfs+%n$LXf<%s#9EU(g^Ou_E@7C1ajoNrQV3&~fZ|PN zgL@pitm`IO{nt|kpr8Y_=GtAk8a7$ delta 288 zcmeBWe#JCFf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;H8(w7978-h-%i=cci4c# z#dqd}hTs49>sn+kG7;G7yp+%KblkfQj??Z*Z2uS1VfrkurqA@*x>|!`Ifkj68c|qvIY{7_H!G%f;I^Vlztde*m^5AHCxa#U-EcI!&yH{45GdYJ8`>cy9 zIs1s?%D;xRjcGhzxn~)DzBMm4YQ@&+CzjT}zIOfB9Qoe;9~bXTeSUle=jM;hrio>B zE%7XTe=HcEoZwfqW##*$AktF#*!|`qRr@5j`3x`q@Klst_|$y(Th0ET9pVYM=Fh3v h`9XZoA2tL39sl_~FUW9z<^g(>!PC{xWt~$(69C9HidO&t diff --git a/graphics/pokemon/basculin/icon.png b/graphics/pokemon/basculin/icon.png index 5ad173c5d3175191e35877d23d036074e12db7cd..bf0b5ec9d9fb2c569d991f223cf2993c06a8e78f 100644 GIT binary patch delta 305 zcmV-10nYy80*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U#JsD4IY3 z008SrL_t(I%k7e}YQ!)MhW!RY(ADW96zbhxoH-oSWBtzME~5vNW>p+~9eZk)Ch~2! zmj0VQglvgVslS&}+8UgL0s^pcwXCA65}6k*zzva{0DxQacz=KuQ77C1a7KLzm+KBJ z;(0y|AV%u*XIzevHZNnGoOm?$b2Q=?UxDIeoCLuyj>T$MKNN13<)Z%cPyp^gt#>!A zhMf{!U}<`l20_MdV%_+G-I|IND2;j-hBw1f|NaqvLEQwh;pzD>C}Xlc9pcv9eFqYL z0L>vtfz*v`G%B*g+L@{_0z!Bjn$^7btuV~|!0mnjbO?BjJR64q00000NkvXXu0mjf DD(HgB delta 268 zcmV+n0rUQd1LFdaV1MpOL_t(IjqQ@LYQ!)MhVuqO(ADW96zbhxoH-m+WBtzME~5vN zW>p+~9eZwWXd-91z4YJoA!NyXP4oAXQeA_!kU)T`02>F0fAsF_?~badT|HiG?4)6Ok0Cxv}wDb{I2p7DfQkTVI{#oU4T?rMmq=egJd`c#XJr SOr8J$002ovP6b4+LSTX?xPaLJ diff --git a/graphics/pokemon/basculin/white_striped/back.png b/graphics/pokemon/basculin/white_striped/back.png index d8faa1575d9e1ee56aac500aa8c41a420543c332..b6fb2e3d63f1c79a3d9b4f4218143e16bbbc2ba9 100644 GIT binary patch delta 602 zcmV-g0;Tl&H6bEo;sFyA|Ibz^jptDd{)RSkHGZ``%8Lon6=t7)+0Kl%g zR<)&$l~o;CDnwK{Svmwoa38Ag&S&GeHCs2HWFh?j>E7ML*ncoi_2263{8-8i!#WBe zwYoJexcZvXXOx!iB1~5W~gtIGz# zZIq~rgITSIEPp4sg(!@2(fZ{xkN}m3wq_3V46+gc3OZt@jMp*wi=N3G*uImOPD(egaW^PwFTl_ zulNB7=u;rXlMtJqR=!7vJ?bAV2dXx3v|{ZzI316#mcu^a<^Gynhq07*qoM6N<$f_^g!C;$Ke delta 561 zcmV-10?z%e1%(BWUw;A+NklFoTN%M8Oh3V>@lM*$*%v%$Yz1VG2cj$t(bBV<^(h4IjC7=Hs1jEWqzL|33Lz_UPY0gDyg-T>vZ2 z*Ngar_FpXnHoS0Qj}lQpG%o-MZopdVOMo)E#X6dNDF8^tGsm6^3wKnN9RQ00_ys%D zF}=(`CW**B*KeFiPnq#BrXIaqXaL)709H7glmL(B9)FEQQNr%Zq#k$$;2|ByVp{;D zEzef>g9Gq9r{BbeAQbT1S0fPjdc_ZbfDS@D39W diff --git a/graphics/pokemon/basculin/white_striped/front.png b/graphics/pokemon/basculin/white_striped/front.png index f16202e1493807f722b352d7288ea877b6795924..76233ed905dd17ff8672313f2056623d1f75c4e5 100644 GIT binary patch delta 501 zcmVA-GPcSpC0S$ZTYsfs)7^Hy<`I4 z=5D=F2HL#N{}@v9eSg4tliR?fZ)#mB<&_rPo-k;*%o$4mTiC$i4QF^s4MuF#Z6Ihp zjN&-Hy%J*Ist7t#pC64!qfz`A?AzBe7+%u)%>m9{qF{@8o>!Qm3&MCbZs81H9++os z)D+zBowm{pF@NfF>rxD*49Dr-xRoI4iZT;7j;{5pIxSngfoaWJ&5Dk=Ui9955A1 zy{Uy-3L#GDpqIa$BtDD+(K)sObASpc3pk&{o0?h=4S;C@5JEq~(EH_&;eZYc2$ZD~ rIL#`+8x`-6K^1VS0PC;b#Q!p%>|)=JY^oLW00000NkvXXu0mjfK=0xc delta 461 zcmV;;0W$u|1fm3xUw;9uNkl#KvkZgxIzq_sMUe#F1cM8 zS~Z*^UwBM5@A5FOzHpWbNZ(1AJ3-KX>uFxHC-?{qxt1NF7D&7$$Z~0 z?JxyVGM#mCf%iAecMfU`{_P%hvm7xV3Fo7jC>71J-B~w9G!;Fu)A&=|UrCsO!=OSR!WHoRRYA4Whe;0szD%jTSgEkC+B3&IM=z)8GW1+stO0!GGx3MemdvV|)=J=FfdG00000NkvXXu0mjf Ds3_1} diff --git a/graphics/pokemon/basculin/white_striped/icon.png b/graphics/pokemon/basculin/white_striped/icon.png index a69c4e51a816ef2090fecd15f874078afe61f7e3..ed1ab8a1e2444833f491e636fefa2cd1032bdee3 100644 GIT binary patch delta 285 zcmV+&0pkAn0*M2Vb$AR!Gc5=a050PIObK~y-)?UFHW!!Qg*eFK8f zT=xh?N+6RX-Kcjgyed9{T|>}XGcp8pOIUZPMPpxJFtlK`96bcX@B}=h=x`Ae=H`FcBlkghl$dCAI%O`!7( jsS;?ag#nQVZWi|qX^4B5q@JVm00000NkvXXu0mjfX%BlG delta 268 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 diff --git a/graphics/pokemon/bastiodon/back.png b/graphics/pokemon/bastiodon/back.png index 138321042e37228cae1329efbeccacbdd2085aad..33e641c18848d6efa3ffa2411d9f9afe2db9f7a4 100644 GIT binary patch delta 587 zcmV-R0<`_T1+fK?B#}W-e*gz`Nliru=LQD>ASdKbw|xKr0u)I^K~zY`?Uli9q%aJI zv(l(%tR{JYbb6Z;;Q^o+_PR(l=OQuF7Z{c2>q>j;L#>lQA;9iv&s!@RDflD)?bwVE zUlv<&!+&^47CYEEz`QSLqc%X9o|3y4!RsQ#eQJKJBiyH__o@|De|twSqO|7M8nD)w zf_k7rwY*6`l9dDojzG_#x&WM3F-i}p79;@i#x6Cx2>dLqK@~Ib7z5H;)Bqjuk8(h2 z@<;+8f(JSP*ad;d2bKx?zA$#;QZhy_JJ4Qo>kEP(@TP2U1!REKU0^g{ea zC0l+2(6;~;1KT_)e+IT`aAW-&;PbqIzWfPrDs_N%0hfjj)fx#(Ho%z4$f-64aB_^1 zHo&37&s*9B1X{%Lj8IlO6V1bc-1wQTmjLLGpO5q8aU0q)TZ#Z_j7jFf;+19HLWFDo zESYATy}U38mEF|3$vnDz1Qv3@rHHBNzPUNz(F6EC4Bl7Ae@#`I2NvLR#9_EDM5yO{ z{Q8*8h8pz4TQQ3uYDa~}PBrR-3Li*K0LRZhdlIkRB%&eGp~gI^N=-NAk8mQCQccYw z(4eiTX&OGCUwj=L;YIMHr(7ITV~~gx4}SlKnlp8&hLG9;{4J>%An>o(?02ck@irV_ zkIqlpHQf+wL29o)02SZ-ndCJBJpbf@jOg4{B;DiJ0Jw5W002ovPDHLkV1lQf5oG`X delta 597 zcmV-b0;>J71-%83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v1U`K~zY` z?UYMy+b|G@SwP6z1Cu-eIQtB1JYX5 z06p-JazJj%nFK%t5A*=A2?Ps(bikqA0>A@+))q}$ZUVs&E1Cf(Sej~K3S_W0eGibc zI`nH`5aJIi*~&YBz6Yo|u+Ed_z&Z^ctiJ<%o)^%U-vLgg4$vll;L^~cT9KgL3W%9R zPIYqtlOsl20a=epp41NxPvNgQf8r0?=^h&m^xi!1GTYD2UE5Z9~!>zXrgSQzCcZ;HuD2 jM;icW&c77@gbDErRNt>A5%|1Y00000NkvXXu0mjf$nFWw diff --git a/graphics/pokemon/bastiodon/icon.png b/graphics/pokemon/bastiodon/icon.png index f44b735872a3f1a8c25f1414348e7b17a5ec9069..2e00c890332969963d091aaa9ad0734b0a0e7a1a 100644 GIT binary patch delta 316 zcmV-C0mJ^I1Ed3xB#|^we*gz`Nliru=LQD>AS#;w%fJ8t0S8G$K~y-))zUF;gfI{V zP;OxP0%K*<$5QCC2aU8jLuwa$7NED8P$8uG@q%qIQtBkrG5TXX)@z!-RBAkZPoZu| zd#zGR_Z^NYrDLtB+%OzFeOG39xj!;`Z%EKFWXcEwI))hK2*(5%f4rm_AZQP5JnR;@ zJV6J?!Rs`G3sV5kx6ixUB4C;<=6C0KJ!P7i+V&N$GzKB?bGzV!)`kp$<|Y2u+_wD` z1#^w}GDgzEqUCMqgp9T6s-P~8`C!X>5DL8?ad=gXU;X)|(fr5yRWLY#DLyh7Nj`Qk z$wvWGd}J`iM+W20GGL023-K}|sb0I`n?{9y%=Aya<=2}wjjR5;7k(mQU1Fc1b{ZeaNW zV`b9^DfHQcM%tVqwTnFq(A!L?5Yqhdf;~KxKFM?p|M;b^`cq|w)AtyU4QZ~2l(Ail zeahHWOR6*+r%u=E4A1vR#%>LXHievyFkn-Np-Xrsz~Lp&0MQ0m7f`Q(%M)z$9D~g> zxG;Z3@O1mUn>7NavBvc7Juj<_6I0W?!fT@!0zWr1K4@u3A8DG?zV5c(&ro#NbS~#4 zUs$ZX^{tSr>wHvDo5n({^?DGBT^O)?RSaL<`K5RN|55!a7=5w~Mtu}8l6`DovJVBL zJ_;E1QNZ{!81+%Wp!nFp$N|jGM+UR`SivD2d_2G$eIzhH`>3jKe}npU%|K0J00000 LNkvXXu0mjfEeVoY diff --git a/graphics/pokemon/bayleef/anim_front.png b/graphics/pokemon/bayleef/anim_front.png index 05f44e73b544892b06fe09fada1bef2560e52d28..46915d15c5245166592694f1bf048b071540c859 100644 GIT binary patch delta 1082 zcmV-A1jYN<2>l3<7zqRe0000K&W%@6Iv;5L499h{c0NE7SdNA37Op-*mQ8*@8(a`{wlU*gb)DY|qf3p94T?2b}wI zh(t#h6F%(h;@*J6Jb|?x@YD7BO>Tc5{&& z^7_OMxcH49{(&yw1Yq5jh?#nk&AR|6Q%ZHN#!RVmu;+ogC=htuw*vkQM_BtKJ3t+j zVr)Ay>?cLb&Br~{!8;N`pHc;rKn{dqMUNse&NUGFA}}pE7s0s(rd))^T^)ZtqBv9{ z66QTKX#h2)17sM%^JvS0cU(zRE_oCLDaKbKlBUyx9~p_E1_F^bJ9}@S9s=G7JXl3S zgs{Ob61CTl7mUPcB|I45N2E~81oi<&*#gsye)1 zaFXWZk&cxEjLxk5_g9 zA~`8Pzp>Af}9H#ZgD_A!5&fzclD`g=z}X|o6BsA@*_Vmh|i1C!H&R=o5r_JH5l*g-kj zjnKMmod?hmO~l#6Eq~DQm6z(P-aP^>;2k@zW!}75B@BCqf)j1GR zs*C6T5ZWKW9}QQ52*y-C>%%;tKVbhMNOX`C+GUOWf%;EDHo$*^8T{c_is2E2O}lz) ze?UnJ@k?-ub*nI;KhRn=6U4S`Wm;;P)c!(kVXpolQ?dtTsLk%Vx@}uR+JMg9P9L`I zJh2?js<;J;wk5HGvYQpE*a<`naOs_s$=OaIEP%|G`U__5Ik042G3QGnHQ>s`U A)&Kwi delta 1044 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 delta 297 zcmV+^0oMMb1OEb$Uw;7#NklA(q)U@9t>+6+}Ay}C{t|IWmM1eP+q-%oya^ojhfrJ9sRt>whj)^c*H zGyl0uP*2o4W5->?gBDV27ftV(F>-p4@mBX5_oiC z;zJHVrP4U+$v4nt3^dR0*4TG}x&Qdu6j;S$_n&KEUeXye07DK21kV~i z+YF`^L||G$3?>NT89x-n_X>hM7`=1_L6z!r vcd{4c!H|zLm?Aj31;ai9n8e35e$~ejzi`V=g}ct{00000NkvXXu0mjfAa#wv diff --git a/graphics/pokemon/beartic/anim_front.png b/graphics/pokemon/beartic/anim_front.png index 136ca5ec0277b5291be8b12230674d9f1b095631..d7a3efa96eeba442fe17fb7159ff8b7025a8ed69 100644 GIT binary patch delta 1150 zcmV-^1cCeO3F8TnbbkN`bV*G`2j>O{0U$Px{+Evc00c%!L_t(o!_AjFZ{#)*$5(+0 zmy#$TFpy>`VgtC7M#u(9BZ-48a%})#?GspR7Z|}}>w|H2nQEgpXIznQao;S%haPJ^ zHpX3muvuCBX=XU&aQb9 z%@H&Z?NlZ7i+_i=_eU~vYu?g`h5AT4=V6Sc3G(3p$L9U-w*Y8k-%;j@m7i5&Z;VnB zx6S>Q0JGyU)YX~=D|Sr7A#o4d7rLm`~>kNY#*pnuc=WJ20E5{@VLphtSMPjt9$ z*7(+Iv`-p{xB>i@prY8`LT@6AxXqa(Lj7~-SToQi9m#6g`=b3s?Fg|yY_wZ`KTrFK zh{d>S2EbI^y#|;%*&eN<2Z~96MN0r{Gd$;lL74YIJ_S_a65v4?!!jUKwv-4D@?jpv z%b>6E5`O@#3qAw1i^!%dc<>^IU<^P73+tq_4SAGk`^gND(n;hz;e0&}B&kkM#cAlp zBqM-IAmi~m;=IzE%0{_1-^M{CqB2exu=Nx`FQXzRYbo#%;9CGYYrzB{hVFt1A7TKH z0MEMU0rApB$wd^LM|?h_s_@$_jHY~`-@6l(u79zKfxAKozrv*!T$C%nSp8pz7hV8l zc0r>^STD{~f#(xC$BUgV@$%tu>`6vd6||Rf+8$_+rF~UB+d7aSSqh^2%xyl`?^aVR-%6T@BHWB$4jCaHEuMy&vBEeBG&o6(heNwF#MT)ScdftJ9m$ zx-YsQGU_PF_LV0$~?SM6dCOWl8{K++jm{)GVhQs7L1%m4!g5?oRs#dm+N zK+;PJWE{k+6bQedKr*qA3h2e4fZwylNt-{FmMQAN+lo?U_;7 QMF0Q*07*qoM6N<$f~a{TlK=n! delta 1158 zcmV;11bO@83F`@vbbkb4Nkl(jF*<~t6ZO*tN|Kk2xW=QJ85+%cci<@R;>e0+__%W}8;B^+R zUU(np%K(F7(M6a5RM7&!B|r|@~ic7Qs%N0sV>1&~0% z#b8>4`7#8#*Yt4Fd~TYDK8C7OUQ&RshfG=Ev1!f-?A)}40s`W_t}`0A`*3?kC)Z{a zEy?s3T)9vsYJX>vygR|U`SjN{fU>#ov2sobGt>rtat*4dd*h>zdC%? zVns^@DFT2T6ncL|U$Rj8Cbc75DkKPeBrBe% z5}3p0W^G3>g-7~ve-;}h34kJ#c0|JY(LIpmSI3mnb$@S7Y?`BeA|Mt9U@d`%VtWm} ziy{`bW{!yH=hU&rlqYP7GO10LhA0em|<#Ci0< zIKBmVyae#J!gC=wL}d?@KA?`4fDobtmI0X$COR!d2!jlK)4;FQO8~SX#0=0*qVRbL zVU)wTQhx|QJp{({#Jvq=oRa@^2FP(I3Xux2_5*27<*5Z4O(vZHcmxWOtYaZ+T2wx% zwfQz##aX;dQVx9W18^{|67-gXm;lTIs`EB31OeGF++_>xxzFvoD5XeYgzEHFYrvS7jNi)jSXc)qgJN;(dP>E{Ov&xhyc~+FhtmKurWn zkIo4br%S?exE*_vP$=Oy(BO=3UxofuXv~Wv?@LhWW3$Rs@j1&^=INON+>xEcNgIt|>4Hj81_tr4Ko! zhJWW;X>AgVqUiFzyBgv>N+RmKaHX|vy`SIzcG;!|99&Cb4r1AZ~=Y4lR)1oqw>mlK?UOFvPIfd96OOjRZ^N1PEG07ggSB z%dR1|0;IF{bhW+cof9D4ZCW{iDcjAB0P$b>OzkLw0Yt&Q*Krj6XaxwQYxOKZXVM7} z+x@5SSt~%O*wf}uz_tf`COZK#BYX#)*$ccVFy2;y_<&~$WCj>05U;=(Dv-(tynn3% z@d=D)3S^qZs}#tbz-SeSS6~bkh__M`1v1qSZ>>P40%N2=CIVxqK-8?jXcdT8U0 YKm2`|?F^{QzyJUM07*qoM6N<$f?v@a)&Kwi diff --git a/graphics/pokemon/beartic/back.png b/graphics/pokemon/beartic/back.png index ab4586f69eda30511e8177c20fb8acb7847ba8f5..1eb01303014e9d7c373eee287be3a5ce2b57f62f 100644 GIT binary patch delta 488 zcmV7Nsf+{w2MoVO0PX@%n%yEmTL&~6r+Cn)Rj^Te@BjfCzD2*mXK45qLJh#|9(e!* zz^4yB!willyTOC!H+AE%-ArIu7u?Nc?DgyYx02_aU`m4KUA`GDYKJgJoaKD`R2%!a<`}Y0HMwn`x zFBHgW!f+7nmV(#mei%_FHAOQ6IC#+JHh|W839OAL9DGVza-N`|pI~T98AWij4({hk z&q?eF=!?(|mQH}hI~zrSCICYpR8(Tm00AlingZKI0K!*>giuilE~Nwxm^f4d0m~W| z${37avLbrh>?)860F~^JkbpF0nE}%d3*?+2MAk7NE$5VG%E*B^goG3{iiD6r&uL7l e*Z=+g)%61rG@_7ZkBce*0000lr;kr2?UomsCs>+ z%B#p0n|Y29dLXX?=P6`!2>{pvDbc({cAx-6-YtR(EVN|B1&}tMg%TrJ;1{Sxf&s2W zIG(6zfD_pFZ1|R_1z>;)&%7F-0{a>caP817$N&$3PJja#3%vkYSX}`1ft`gd7C-`7 znCF2&Ca|p|pbgLn+cXl|0PQ)fS+IWqx+iF!ge(|;IfQ}6H^UOL!&>M*F=wxjWtps1e_(aAF%U()gAvIJu$$0e#kV2N^WxGX3f!_F z7g+>^CKa;A6%u+AllQaJA|b?dzMlUarT(~)T)i_=BV+^HdH|+!ks>%>eZLYTS3-aG z{B*>UwZyL;4|^m^lhB>wA;PP%7c$#Tj1iEj5ZkYpSYkSii79=ChY;3+xf0#&cHvDg z-Ddp^+>1_gVFSRWdEyLLglgW5^|!RlOYYWnwZPhPZ(QXeLUg0s6)ASE-J*!7|6xA` zrd+)RrdKU61UWXqWNh^Xm__*5G{8SFRs%5o$P{TAfbr}nOb1}}`E>n1K> ztb*oE;Af>Of+iBeYZt1$_d0;-wg5zGUlJ&e1pastoqAOw)!sUCI3aT@mQh<{u8kWP z&PS?*s9{owl8M@XpsD#aNfb5XRXxgM9bv2I8qSjp6F_-G*+$Vqv9K%v>k6|V#X4e# zJ_)>T_LM>?aLHwbwy)L5^*>LaCj~M}uLS~s>;&TekhMTge_RC;0sHe>Aj2OwfyhkQ zH**untQg=|fe;17_#8h1NrvuzXyfY_jf$E45ET>rkSOLDcm41JVPX+Evy2WW00000 LNkvXXu0mjfG+Bjh diff --git a/graphics/pokemon/beautifly/anim_front.png b/graphics/pokemon/beautifly/anim_front.png index 018925f0213c882e397c51f51b6c8ef5a22b96e8..63ee78df8aed6e1520e453af1ce152a6d83beffa 100644 GIT binary patch delta 1194 zcmV;b1XcUl3Hb?-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}gFIWS? z000DBNklKX2Pc6u?Q~V68frmTRCbVA{##rIyDIqI+SWwneK>}OPoz7 zF(jantT8}fQKNuD@_hj>-ZeOrg{Bj~f(sZ3ywzW!efRE2@qeGxp;M9EU;}zT-n(}^ z-uoHG|8UTMiJM!s<-pnx%K>wb!JqPCz=P+_)xCxB6*>P}(^@=%gcz$Wn_z_%hI&2u zmn@D4K^rqHh?fLEdJX?;QM@Nddk*wD=L5L}Pw_AzjDgB4hYP?_*)Uz)fYRwuzz=>9 zh+Yg_Uibi1Wq*C<>5!{&C^SL%@!KmtGS(UrSQlLmKU_$}7wrUKHk**blyQFfc8Zhu z69qtuvHz&qgd7`P$Q}bc0$?()*{D|c%n9c~aHdmm-Y+8{0QkDGyJP?2Oyu$hJQ@fX z_27()?{>p*W^Z&VK@#xs#gQNwdtn&9`_bN}8zKn0F@JEV-mG&TyaC|nKMyvYzBnJN zO_23yz;ML(kl^o|1N$)qWNzH;F8B0N;E_v(R>4-Q3Yy z{@(D|b7EWjGy9wA$sNxDHOS!_%(d*TZ{>OS@_rJZ&j|_*CmdU$m1qC4X_{qd%Dau9SgT4H7^L{b6G)^#bL@WWAZkz?f#^?$A(H~$n+50pQw)1$c^{FYqho5&x;TrYl2 zU0K>69-}^hJ&ZFz~aWeM@Y|YuY!B&(%tb;yGa&jP>fbxgB)Q4d~cb=t%zym> zfI+^wr~ILk_MePD)KMQ=MIUYC4`Nc(o9F&;EA_!Ex)zi_{Du0E+l0A4Jh{2Gitdfr zAKa5WFAr#ca0vLrMShnfJ#amPvCAp9=wiSiFD?M1MO6~j+g+&-EPGKZf6#!Woy?W3 z^?=3tKmy}uD3&{6nG^f5lm6%N4-#b|xwFPS*8l(j07*qo IM6N<$f-h@IYXATM delta 1162 zcmV;51a3AQblLG_J`4CI+B@Yuq3}s#n4}hbZ zrhC+Y<wOHyz?s1YCl_^h?F zZU5v>u>2uUg8;1=o^kQzP8`qd^=>^Z0)az0!Z7mVIDYfJy=AV8FzjW(Apx3u9=-zL z$KMY&+<`ccWD{^b381;+8%Xfy&4K*{1~4~uyT@hoHGiG+uMzlg#cm4G<@}t+!zcxe zKmhRO_9FzwW)LRP<4FdM^#QmhU}CN%&yV`)1dxOI8$Vp1+}V$WX$k^HP@?Z-0O!`8 zZLZi`U05f?1lL&j_3GSbHpC;>gs96NC_leC9G;c3jX?9DIm_wH8#Ok;3|vEwUP zqFX*qGk`YwzGJWw;ZUKP=g=<06*6_1p6r!}?ek=btfm)cG2|=;H8fd+Tc6eD0+a|p z^9tXG@l>PdsDDP%1*5oHkC%E&WjKW*<{yvm;y)k%Z-2lW{ULvVI0b`P=nptSbks@x zVSgFzp$vdRyiELI`4sPyG6E;dSo#C#LxlD)QVH*Px-b3V{X`!IqTnd7*PmSl^q&e^`%DFGvo8P7yesl0SeR1ZQ&rF8u-gA`E2;emE``8A*R=_JZv4SAb?H z{b9{K%I)BnVwJB_e-OD|{9J4VOZ?#p>3;**LsSA%e`umU1nSjKk^4hej>F|z2Bbe^ z`p{Fajm#gqi9Srqmv`b1W2q0rqCCh*{DJg=ZqCxUk^2K(&E;{8ElGb^1AUlOSDIp|1K5MeYwx(ua~gsQw`4R8aJXThxa#P=D}; zKS&=cP00P>tDD<7$49{*ypy|10hvFz2Kd88wacj2CK>A6WUIl>U$aNV}yYJJAC?f22Mb=B%~=Nc4fJUq|8(2ECVy^we%t{UOzi^xt>> c@XzBf5@jK|VDG7&00000NkvXXt^-0~f+>tbi2wiq diff --git a/graphics/pokemon/beautifly/back.png b/graphics/pokemon/beautifly/back.png index eb47feeea41a0f7888e8f2f1014b7c6c9560aca6..f52187c9fdd462a6d7107062702ab4da657f5486 100644 GIT binary patch delta 729 zcmV;~0w(>R2a^YoB#}W-6#xfxNliru=LQD>Ap~DC_f7x+0``%US%0j?>DX5L35Gie z@P_RG^Sm7rau;C9HV>e;1G}XGnt=`5Ivlo3$iRbE35!W00=sogXq7NQv`SDA?GpI@ z4gkyT9$5Y#06J@wIC1b2bJ z>81-dMO)^dP{yCZBGwWrT)4)gx>JUrB(RTVyet7(T~}&T zOXwUx_1;*?QZh8fR$1~`Q6y^|&iln7Ode-i3Z3SPU~lr~8yI#&tR(RwRk z!bng+sjmQBN^xLYH3^~HOvnPif_azL@nkbzo5R7lM`4JWcNGW%o_(vD!)z=XIS$q5 z{5NeJV`vVFO^Oif3dZ{gP)w}e1W*$IJrr2y2>4Ba(tpH_BB%KH&o}(`#47-&8&e+R zVxIu)@g*R~#V@3a_5B^T@Cx8^P!ya5){oqiqeI>REa?jK%r2{H79R$ba zf#2D*fHqZD2P8cebc-bL@{RhHGf!#3d~=T&Y1Zm~*~#{nF#7!m{>dP?4k5e300000 LNkvXXu0mjfemFxB delta 739 zcmV<90v!F52cHL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80{D@MS$~?R zV_WSf815jz8@2N~?3M;-1~zN~^b9Q$GVq{P!eWw$pluK$SZi1m zM5_b^(Jq1S?*Ope?t$h10id%+iIcZIWR^`e5xfnsYz`|;1j9YMsSNaUwv3{1H6_$* zG$E8y(zngA%xR@1z3WW4(V1 z*Jq|4O>h?ooNl^ca|H4nx(2v^Ko0`Ei;`eq05HJgV>BfP&--{$1JL5K0#;H3r$_b{ z0C3WCWAQzjXa~=IhC0wqM`e>L{-W#d^HWoy1mf(5fMeG^`eD}qNRtNOB7gAduSwbf zmr1mmX<)VrG~f;zfRn^oMnsljm&XL~pA8Q<&oq%`*rfqJ*c*wzDqX!Y$tQTnDpeWN8-INZGG_jnhxC929bvPQpBw{V0!i8%*syk%}N&@>> z#>*0r)peydwS>+ARPUVzM1OUyBu*KnWtj22XMjW4-aBccK#5SL_$Q$rrQo%zO=**a zqH~o{9j&(#CX56Hl==$5r4$FYRg)09&4euQE0}j_9ZxpnwK*J&dlZJ4c~^lT;MupT zIn2hQk>gN(&VSR!F^1-#*rW)tu3)^60L8@WO#n3k&_jWBj)30;D1S}dC~}IA|9r!5 zPrL$fx-sQ3F7^q)9$x}-T>L_+Sl{1a3$Fk!2Sve2VExEFIXdJGz>>az0&*dXqW>V} zC=wWS9ngdH^E()<`?pw<(BZWlN+8d`Un2W VAh?$YSjYeX002ovPDHLkV1o0jQXBvP diff --git a/graphics/pokemon/beautifly/icon.png b/graphics/pokemon/beautifly/icon.png index 84b1f7b8ccee70b484bed7d7643b006df370889c..b7161f04d016e8b3b65c49460f77350c1a904532 100644 GIT binary patch delta 374 zcmV-+0g3*p1Iz=EUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}m#yh6; z0003mNkl=RG6p4C)sn3wXVysxYXJ9QWkHFMtYlgx` z&Z&^f(yJ54CMjyAN*y?P$o=uzzWYCbD+@ut2~AP~pM}pgjDKj<6YSdku6i~0naPz2 z4w^lnbotRdhBGj2@*IudBBrPbT#kts-ltkWi2P=W(pQ|c-rOG%qwt|;b5*YL1iM>m zJv*trDU1v+AKz`WRgvW38C@I5DM|txW8#dDsehCYEWcSIcNIq|H}?m` zV0_BiT$HOk!S0k=&W>WI3dMcro=SUJx2=(hx_puSBfui-NE zMp~qkjZc6RP@RhH(jRIsX_qih7(Jo^&Cgzyk%2R@3+KZ416{|VQG|p2jBsE(ig94* zaOmZ57^uYodQ4y(4qyT>Ee>E*0H(#kD9c9&OpC+&fDeyDn6ATNktjc^4hL0q&Ho&S lFzoMe&^(%?HR;!e{RJ^lrKu9n&AtEt002ovPDHLkV1m?OoJRlv diff --git a/graphics/pokemon/beedrill/anim_front.png b/graphics/pokemon/beedrill/anim_front.png index 05e48a56c9d037ad65562318f65fa0a3415185f0..3927c4e84400db70890ff51b8895368cdf34068a 100644 GIT binary patch delta 1195 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 diff --git a/graphics/pokemon/beedrill/icon.png b/graphics/pokemon/beedrill/icon.png index f6c91c86cd35cf04e561b8710dfda62975c0b889..fedf53d7f69bc02f9dd70275eab40e9b409005a9 100644 GIT binary patch delta 371 zcmV-(0gV2o1IYuBUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}vMd%|l z0003jNklZq}6b4}5;E5A(2;`*$S$c!UYkZb&bZOR@A=z1Ssw^3Zk%i=T z=wBOSuxSs_ngP9Ek7r>%82f9B^rjl+Qh^bW1b`+@B-X%PEPoBA2~$9bi3Uh$GF99O z$_M5p26Q=pKoVcZe5$j$9LA-A8Ku;zulOTwa#yN5z1O{%JI1?epRUbq{~Q7m2i11h zrr*yqM~Sz#vnVh>;qJCU1Dm`*!49P@S(czk17>y>>5)+-24oFFBJ1!KWl1;|_D>hK zf`r}(S_8+$3v6b>k6o$FMlTYA7SS%f!r8j6;!&$PqOS1+K z$?hem%96pwLY8QT`~_od@CjNNtoP~XA)Y_R{@NnFsYba}U<4!p(4>jP3fyKXm^w^= z5QzpzXfjp23CaWW5dmEOMG%Ck z>gdNTOnr|n5J-ec{0PFVeu$SB1|?zuL6}p#(>=fmGvJsB0}Ms315UXPT$WjYyUuCC h4~StqR7P7ctzQs<(D|m*%U%Eg002ovPDHLkV1f>*mJt8| diff --git a/graphics/pokemon/beedrill/mega/back.png b/graphics/pokemon/beedrill/mega/back.png index 74cc606036dfb5d4261c14be7e733ef7f977b026..ad4d79a5c0a946f8256e82b6780d7792aa7a9e43 100644 GIT binary patch delta 743 zcmVArsu;a)|%{0_~BLLVx_;v!5N$`|R+O z4?y|>@W}-bFiwAEmmnpCijM$s!l&;5_wV;XI0AMR5ayOhuK?eIaLmzypuPZhA|=%P z*7_oeGf13Bcsm6u}|^ z5GQ6ECsm}dbbtUm0rtte2D~*p19}Qz0+tBj$4hDDbzL_DwgXaDl`8~EHw;5JJx%B# zj1gBdM(}mO(E)H*%x5-+lI1E%>GysZ`hIw*{j56e64a5$Ie&uqTW`i+FN+-@7^B$$ zkVziBTJYzA%dyb|b1RxqQGeCF$f$bUnI#$n!c$M_lEn8zUa8mqSvwF44;6UX*j&IQNNvcN+ynh)Gc(o~^Dwpwg1|rTdi8V0` zuq||y0XqkT&2nuQAgy$uwjj!EmH;TDY;gn!2gW4UCIGpCjxzuvSb*n&Nvxq=0I0OI zRUFz{yDCf)c=Z7^DaC!*9rmKw9RViM-~+`L2HYJEx^A}t9JFowJ Z`~&7tXhehp`)U9H002ovPDHLkV1lzhNkaet delta 752 zcmV-b z04#1z5iAk_abmV{vWgT!2MDkeV4u8ez+1C3pr-&PAVdg1UP>#k>$(}R9gwoBTp>uh zVHmpUX+jTSj<}LBg0BOP4uHF2KC?NLELTZNzxTt?_rpW&XVqz!U>$j!BY%j$^=AC_ zve*HFIhqXsndH%{1%Dp692-3_x1w2=n^J}{>c^2C0Tc!~GM+~g3XKkS{)uxrrtmh9 zgNA$)$+9YywxR*B8kZ5QAOy=Ig`jBl8_fUCIFB8G5S-APWto>%TCP(^UTq$;!!H8j-z2uu+OY9EeE!Pi?`Z}G(SqzD9yx`kCL=mddH i-9LMJc3%JY@VtNKP-sM5`8a(50000Az)B#}W-e*gz`Nliru=LQD>Ar`EQh6Vrt16)Z&K~zY`t<}G4+e#b& z@Cyia3XRGow9~`qYHOFOa#ve99ZjK>N;+==sip33 zkrsmrqzcd`lGt;CUDPrlUYohva!`vscNp|&s-!-Xz$Cm$*`mUlGBzwrpXt$5xr00F ztqf4JPL1Yt1(mmPf47f2Sf-Ry%UPHPoHv%jJ`UDp`qJTCZO#IXh5ebp#~fFjN`9xkusS{?_1qw3dUZF+9xq=Yudz4v(Y#Ok4NMV3C;ogXRoCx@T@IT{0^f1Z>RaBeofC5K5on#=y%C5#8uJV(~5mZ>m(}%BuM6_SW=Ncp+ z6JQQDird<0BOP^+=%nYGo`L2>f-K(9Segn!g*ek5>fE{lc>=8=#H+m&;@mqs&B1CZ zLBmBT*h@!Ze^KD4yI(a}sMW~?SzL|*ptgcpd~O49CK6LuC4O|NHAhM zizA;tOGh`>*QkgG!z*AEaR4lJ{|dK62DD;M=`t?I|B6xPAlw>>ox!$U0HcT_8HN;p zAB0H?E52>(CW`e`?`pZm_Q?OYwi6a>vxH{Du(j z)sA9@e5NQg?s=H{HZR>VSuw{2aC^gN)Wb}&^~})r> z(1H&jLeRu&xdJ3Wfd`;RgE&HxJq7AnyUYvmcCsHR8F)|vMk61!yXDg-5j2U=@ImR} zTh8b0e|3`|J?47wM}>xZ>CqA6<^J=JC=tlG3t-+>Xa5Q1Wo2dH!VX^tZrPko>wTqd=m zF#t{oX;xLh0ckO)K&k+3B89yq*hei3;m-I9RXb!s)|E9kt9yM5fjDy5t{-pV}Sys;MdakQ;}(pMhmdUFvNEbg!E zr(5im&H4P8Hh`!7Zol{Jv?Cw^hoQ;jfg?BpytlG=Gx z2CKy8@88DR;E%IpuK?vP6^D5I_qSR0?)$TFW4H)xqI>515826|pHIht=;!4GoZF30 z*~wp@68hZa+@scic{u@hZ6ksbry)H6U~}($E`d8V#C|pqV&lNz9@qK#>y+uVj7~TL2p2Z>#faU(r@ve}-n9iwO$JO+2G3p%0yCbnb z*mI}An&bxnLyBLI<1B|2-*e6JLMZy=e)-PlBlWi(?dWi{uch_`{CFKlE&Rfdjx=p8 z{Ws9QwGF3#cp!v-v!j@ykZBrCdjY1Q%S%s;Eav$D9_)mS2AC__*})trzq5y4gQH<_GYhLPN9k>WJ}ta{u&Qk_luz1hDMti(f)@UE3J= zu*0{3ZyxN>1R83~lc7@q;#iiy6a0dvV7VG35_n_aRRKA!J-&5V1!M(e`?rBFMTIF? zt^!3!8J{h0E`p*0QYWXEiy%RFA7A|c0VDL44}|^$jip0fbr-#u00000NkvXXu0mjf D@ua+I diff --git a/graphics/pokemon/beedrill/mega/icon.png b/graphics/pokemon/beedrill/mega/icon.png index 9a1788b7e1e94d16e05bb46a83d69f13ceb7a5c3..32436216206603108939d809eb9ac06267169df2 100644 GIT binary patch delta 362 zcmV-w0hRv61JwhNbbkN`bV*G`2j>O{0U;SYG@F+I00B5jL_t(I%gvIZZo@DThW!So zXc|o)!U`A)DL05rTR1j2I9%jn7laHgAbqAP1u?nUima-nUX;YHTe6Z#HL?8Z^q=nh z5%Pb>5zsg91(+B>qD{(%+j+2nZuSM=d&Ic^Dd7&P_ z50+9J%5?xz%6%Ck2)s$Tt5t*DwPIJ*3aKx#N`68J08GZifNw6bjsF5ZiOPxXfLKnW0svuncX9T@7zh7FhsJq7bSH!>vIH zf!GJ2PaneB9Am;h;Qh;yo<-nuXw_>HHh*$c`{i_@%07*qo IM6N<$g6P_$1ONa4 delta 346 zcmV-g0j2)c1H}W7bbkRmNklD%45QhB*r)U~Y9>NM33Mn^;Oj|fMI5=G7 zVi%YUEg*ZQDg`mQ*ova6q+S%qZdS03Osa|HPpAKM=Z}#8JC1<)_RhdA0VKwzY`k3n z86-zWpfBe#>mXe*VsknJ2R1z#cr1$$az3Ck_JIZfAE>0Ulz*EDq?Dg3Mi6+Ca$oBP zyKBY1sx{J3GHCf;p>F7$3cQt7je-U+@by--TS0SP_yWGd!=>$L=`#k-T)P_w9DFEn zXF%-ED!a^G#+jkjs8PkXWLS@Hp~^f0Cs7F9#Njreg+S~hFsB#ch63U~;Q7swo-M%Z z*s3=qZvNza`%}d~-O2f@FfM+j7sk=e47@Oq_ya s@<V!H?$FkN#Ibt|0gkH~*6#Uk(8aj7%p2A^-pY07*qoM6N<$g536=QUCw| diff --git a/graphics/pokemon/beheeyem/anim_front.png b/graphics/pokemon/beheeyem/anim_front.png index f61201cbbd8462dcb128bcf3b93af0ba36c7d91d..4d67e46e007b433edc8e6ffc8573a07f02fdc7bc 100644 GIT binary patch delta 1085 zcmV-D1j76G2#pDlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}*OkQso z000BM>2rW!MY=57@2ZB#z4_QF?Fb$0vX7F z|3Fkodl8tsk-^Dkw?nEi$l&;2$eOWJkpH9aC{OaeOVFtWdVia6AHDna-ur&(dH=c5 z8w}j@A%KhUIlx%$(*VxHNEP$~5`k3ZG+-hul$ujO_$|N~0df-?6o0ab76u95;A-B0qd^H7e9WoH|rtq z$|h*759UWg#NF%9a1X5R97Jrlax-X>JBu;5JvLeg1DHN1 z3V&-x*O0Pqfzl?Pskl>rR30_7Ea9u87ebu;T28SMTD$0Q-7Zho?RhRn_V-?_U!Jeq zvv#Qp`&Ii#ZHvUYAaynPX{k^Jym`w$AsQ*#Q;n$z$9vX@rSDVc-?1#Ep3k3TaF zG=S3o426G8z86}U_q=l&7P;^{GaR3*0#=U?UkbPk2dclQ~PD%=!rQt%>E4X!;%E)_Uc1fh5cGm8KAkz{1 zadu{RX8*Y$_|I7!A~F9-9qK0kMQY-$vaV~+))sn=pYEQ{C|3KeX0vJy7$a{lrX|Odd5vH zX#BCa{>>*?0TlDiJGj9B&HxVffd?&z5>XF?IpL^UqjFL2$FJSOc&<;4ib@zvB~bN}AuR+psj3+`r|R$JnOf?hOH(OXED0 z;Jguxk$>5v>Wc3^xd09WZrdhoofpQP|Nj?@B9C;Nb!-S9A&j~|rq@lik37;G3{5+bs)#l)_2|*= z4*MG5P|-p3QUq!b5T_hiMN2aR6{OXIP9v5zG=F?S&j&GYk_J2zM*JdeY6DP>6*sJ@ zpvj1*0Z$r5lQSG47y)EBK*$+SfSNEkjwnV~3u?lUsH|JzCHD9d(8DPxO&TT%aSwVk zjDgj5f^a4(s~I%uZp3i7=%qM17{I)9!g1PI(KTeuZcw_!GZQ=YN99oi#}-|6^iqhE zpMT3KK7`I!bg*uhC+qg25JUHUFV?Rv*6n$_RCD)HcaPc@i3>sMYWTxaovfCQ`Q;ze z0_SeuJNcv5`uMeTsbe3GHtLE(6Ki#brS|yXPpa5%qKK{%!**HOf(*GQVe?;CFjxg`JoiqqDBaHUx zCU%{mMhoizMuHl}NW1)c?vB#}W-e*gz`Nliru=LQD>As^LOKB52s0s%=xK~zY`oz<~U!!Qs4 z(4aIsCUj!LWJPLw&d?G2vN0r0J@8#s2Y&}Yz)!I8G1wQkja?fA9uU&KoX=q26~#Z+ z0ug_TqvV{!Dj(;xR8B0WIAWI(lH!dmqfI9`1CidOoOY0?5c_x!));O@3v>^b-e^@&Pd+Y*GS-|Qbi3(0hAWEWwzY@SYP7(lHB|wxU1f%`hCmEBV za=|G{4JlyvaEp?75dnXWnvy^Q6dI--E+V=wm1avl%tieAEB$7Ua}n=RjK-KF%tV}` zw7?8A5reG*M|KjmE>ge@UbN%YTeM0Jy2pDpb&V6aVJw&;jd;|e;g*?8RxVN^tvd=kjtagjlS1FY5AYLod_QxIstC>Tf!Y|$3GP6Zi?pGFMuRxlTO0;d zh)@Ct{$6VjrdkU)3c@b=SdPkT>@lD zQn1q3G09p4oezd2J(K{|@Qaf~k%736o|8ZUG!{aIhse%LXT^(Mwj#g%o&DynTanjj zR_ELmHX={a5^&2#iUaW8 T`Qf5400000NkvXXu0mjf`}PZL diff --git a/graphics/pokemon/beheeyem/icon.png b/graphics/pokemon/beheeyem/icon.png index 2c76e7aa49eed4d273ca3a7ce157e980c57a414d..e881b8c4b392133035e3c73142de928553b0c2db 100644 GIT binary patch delta 312 zcmV-80muI80*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U;udKXS7G z008nyL_t(I%iWSOYQ#VcMSTO2W_1)F#t;a><8IBcFrPH*+oVnBCXk#a-f|5A4s zP(l~%rR1@MVli(k^UyA2hp!e#vV#n5B8em|qccOEyr}DMa(@Gn7k7#6Ttt8X0000< KMNUMnLSTa39Dzar delta 275 zcmV+u0qp*d1L^{hV1M;VL_t(Ijop$lY6C$GMfV0Gjdheg%z`0=o$YJ}!+g?sZ{s%I zHi6_cS(gbIcEE;A#wl!loghTrJiern^qc07M=AUk;EO;8wj_8&^gx5n5j=oER*fEL zGC(3!ZJQjgWW0j~zmj{7^hY4ss!R9Qg-`pBrJuGmjLaK;pMTu6=dijomkp=ZEBv}+I2Vx=z<){RtUVr64Bo}6_z_gKSj!Fy| za0S*uYXHF%k^c2#B0rSS1$!wulu+z#Wg6OO{0U;$5Tjvk}00NXrL_t(o!|j%_j?^#^hC_sV zCg*Iu@!8vhd4Y|_)N7Mj7T7Ct+RZc2UUAatdI}!kBt(CYKn3lU_XzL|Oah|WOjbgo z+mTZF)7ayg`2Vx)6sP#N0Ar?>pMYP2nak^Eo&hMtB)slx!+(fGocrgsF$Mru0-((h zBA|GYs3!yh(xmvY^tCj8e#I1D7FPA3$(^? zNGSK_CTfepP*;u-iau?wiW-C4Ep~y45rD49+OX~}0mE(txT9-odZ4W|u5op6hR>V3 zKR}_);sD6p=6_4%Ehu)}Q4D%Dau1*lQsjmf3>+Q;3cxxr27q=1$QrbWM10wrK|OL4 zP0i~GW5J-&;r{TpDdhn%G_}PFx8KH^_7t0ea2jbl+EvRbm`Hp^H45Z?3UqMTi@$S2 z79H2I691s+XrbiU3Hdy-p8IFh z0L$Mr5dD!9>Fh`fRUJv8%w&q(xMaMaPvv*!{N;S21n*f~B|vFn{pI&w0t|~MOK%c^ zNFT1_tSzfTC}H{b<4x?k(g=WJV8a<8iNHJBB=#{0<`Qsy8;uoDnOnNOBU8(DHjb!Q zUlB-HmwyZ-Bb*^q$jWFiRg#Yx#MQbaS|t`&R&O$;JPy={yhFBNaVLo44tX0(VlyQJ z`&aF{11IlL&S2dYdL;u;&e}q*vWif$RTBYL_5rYxFe{e+Sm{~@*gUXLscQ*Xrvb3o zNS1Qn3_#ckKr`F(M4*e3y~vl{W#0=eSApzW0YYW}LHIl5c^Qa6^6T>0&&zhgTwFY4 v>igG;2dXze+xw{(jKBBC?29_d)&GfKVxX=<{m?5z00000NkvXXu0mjf;Pg`Y delta 701 zcmV;u0z&<<2Bij&bbkVyNkl}8>u0Dsd%Kn7Gdf&q|?07*-hh*>^%E?^${5^XL0Kt2-?^XA(`BIS@aL`_>; zD(Un`Y-vxa9SN5cpGLQ8MM8)mXEaeD9VE!XbQceWY{|(zw3jI#%<(+e1?0A~eob_y zD1$+8w^=vmF_J6k<@YNoPaI{CllzSu$?vzN; z1+1#$UHT4BUaEjxp{m4OHNfO7{wx3Y8h~P+V!c5HJb&E!Syz-YB0E@7X%$!F^RAP+bTRP&q?lNSqNVlv<7% z&DFY~Mt>zSS8;DfRY1ITD1AaQ7jtLu>V&lO1xuLHfz7LK*@M$36f;=%*))Cp1)!L9 znSRUCLm^R31;p7$z-q>9#QJ@i*E%5KL2^o6Yrry$fTdQ8l$&-0nzaJ7vyHq6a$buU z>7qX$b`c3#54Rvmtw4JIV7f2;y^KV|T0b$j!!~<~C#?HAyGhK??|MHO!q4e6<^3~5 jejoP57qh2-s7KasVxX=<*{ix)00000NkvXXu0mjfTI5T* diff --git a/graphics/pokemon/beldum/back.png b/graphics/pokemon/beldum/back.png index d605b0b24a75e5fab8fda0b8a4bfc6b736e97ef7..8ec87862e7fdd9db8484cc7b29e8f3aee9e693a2 100644 GIT binary patch delta 550 zcmV+>0@?kT1&jrdB#}W-e*gz`Nliru=LQD>At@T|t2+Py0q;pfK~zY`?Uhe%>M#(- z5mJ_2*oA#@;sZ2R4-jjztOPuJ@g#bzE|9oRcg~UpQV-MlQ$qsgExLJ|jzl1tpTGHL z;)L1kH~x3b&C|crwQKJZRgAU6Xzz&xr52rY&u~v<(HHtLd( zMFG`)=WQuJ-(*0?V!n0)EFk`Ai+QIsciD&9-HgG|1fN&59&A(JjA2UyW&i*J_-i22 z?3^9IDe*x4Pm}8!LFktAqrY^fNP&;YC88+Hn19O*e@CzEGd@m(z7Ess& zi$CH34e*@kbe%^)*QERspb@}dfJy@g8wdo9@rx( z<}J0QvwlCY^Q9LHbj%*#j(B$3rw@|wv^YjgpZDa$=^fy8f1lC-zFPnRYkWR0TlRGL zK;V#4VuN9%EdmEz3a2yzru+RbX9ze3z=>I`FabUp*rfsc1Wz4ID^#Mr8zObaz_bDa zM_d~@&%jh*Rt<3-AO{22ZzOyoCP3kttz@#_Cf5akYV^xnr2qf` delta 560 zcmV-00?+-71(*epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r5#hK~zY` z?UX%^+b|G?1p_KmkZbpAN<6@d$N@x*$^~qPECP6smBN6pvmI5sFtCTo{48zBrUN8R znjOHBrTO^g&4^O<75_aJ=K0U*#&r*gI>yFfbdN-WQp?`C7kDJH?UhmhcyL{@f?BE^ ztA7Hv>Y9&50o8xzZ7IKh*k(Y-V!m+#EFu2rig~9rcR7T{-HpM}1Yg#)9&Fp(jbTRv zW&i*J_*)>-?3^<_2@G%t)Y6+_2X+TwZcNC4bWaX!^u{Z_o&v_uTHWFg|5@;8rJ2+) zR2_5BYs_f$NT+U^S5MBgXpMx70O|rPFi$-gFmzv2m;DrIoV4J73>$54frZNt_&XY; z{2(Q47Ess&i$CE24e*@ka+60u_oVy^pcTMhfm#Cx8wdo9@rx(<}J0OtKl%R^OYA1bj%*#PIz@bq<50=v^YjgU-sm;^DltcLrNp~ehCC@ z@cq1Q+4J!ofn!R4i4BH{wg?<9oN#UAJOguqsvhGeKn@0~Ie>z31{B`eS|Nhs*yq;5V#!>(a0000a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LT~0YKLF60001sNklKlQ9m( zFbG4-!W8WL-?k>opF)_cuXu{;7elCco~sXvQtQVUqa!FktRZMpL{mmB2oQ3zvjrZ3 z*2_f++Cg}5QYsfI30SYPO4NytOUXkCa8!2^1D)?fPJLQ zNorPl0V{tZoCD7(CYyhFVEg*Z;16jeKqWU;LmE^Olf~H~;_u07*qoM6N<$ Ef_8~iga7~l diff --git a/graphics/pokemon/bellossom/anim_front.png b/graphics/pokemon/bellossom/anim_front.png index e46c11c0d20a4349671613ef83eedef9593b1beb..c2e9b6cee4c4885ebf23b64031612c8dc6bb1762 100644 GIT binary patch delta 752 zcmVy^j(>6u_5E#D+`w$OVlwtR~m4%mD{s*Mi}!sQ9S7>fFLG{{GDfvT`CBFxs+x70R@}b#nlbFn9>wffIQ(myI5m#3IO>P=O*Vj=zY63_~ zfn;g!F6*QufK)}cqBV2sE^Sh^Tyu)0pRtEs^N<`n0swY{W|=9HpDwj2v|1QxhlYWb zhYT`y2lXy?u~U@4SCr5#ilQ)(--@CzkgcM`6b7Y6H3ZW=v^r2pWin*pQAtwm<{Xv>cl-Htrfqe;Cm&l%7mP zzCZp96$ntuycmI(&7kL%P~1p(GR-n}(E#*8YgFc37>F~go&o}LB5rmf=Vj6l>yfBaaMZ i>?uwGygNnz+4u!RoI;OPDP61p0000jTQjJtc-P+c3Rty0l*ZykiZKMSc93c5Xc}rj9&vtf zHOJ%_0CF?V9nNpaAuu7wIrlkVdO&1suPa+<{z!N@I$-R)ehlRG(u4~G z@yBH~5h4}w=Xb97bx|!CUjB+N4FvFq5IGXrLKq02D;-4uLSg1|%v?F6Ry+!3i*aQp zB_^+!k&^l#1w(ksSg{CHDogh$l1iXf5R`r@fJjS1@;DHlp)w5L4Y2PK;^Sa?Syceo z#l9UP#PMC*R~{%f#N~Pp*~s3~d0B#}W-e*gz`Nliru=LQD>Au^DNV%Gow0iQ`kK~zY`?bSVQ!Y~vE z@I+Y{fex9W18a~8vr+SHKjeZTYIz;|r=cl{xGdKqwM~1PD`G1|SQ~qZp-+3XqKft)nQSnNX&5 zxF8~rD3uu0%iy9P^E{?>Wdv3m9@lG;OMsB4c5n%eMNH)$M9+cHyu=VhKSjR)D}4qB zehGTl0Md@>LhlT?f7(?O`=JE9o(de#xjP+`SPs%ZDs%#&@tbvu9kgrCYLNqTT$$y^ z@T|9)0nC>LK+)3BAfk(WgmpyqDJn57)w^L#)Gy_xTfjkj5g%Kg>kXXO@$R@0`7YU_ z&PWs8r(JSne3xNzJZ|vhMFpKvk}$TXtAu?s=HqAex0;N3O9RIGLng|{SOs_}a`rip zV2^R2f;2g>3&6);WpMCuaK48hWUr=+KEyTP;0$yJ1wgm|g+HzzCtF$T<72u$00000 LNkvXXu0mjf(*4u? delta 476 zcmV<20VDpr1jPi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iH=jK~zY` z?UJ!>!Y~kq9c5tzI%I|ptU)HEWq^UMOyIsi`vTzMR>r~;kgP0?r9KT?CCb2z`v#=8 z10mQ(s6&TJ{EIF9pYQ&=1l{yM<&?9tQoaCG8_Mw-)aF)%GpPx}tHanwk?ohwuq0l@XZ45>tM5A zNq>{BajS0-?Waw;=b}q5-S1aq^r8c;ewuQ=Wy_R*a~_aq{acL&q5$We9+wIT(E-wv zKL6}0U`xnQ2Qp_j$1eZ@`6>dtfDF%j1jEDA>@Y)I16*O{0ULD z?{qUBrvis`^H`klH$35hs}RLkRy7?#YgOl}4RO;Rye`SmPG2!!7Y7vKGB;?9K=!n* zXtOmA2%0mkkwBszC~Q!wB#x5PGdlk|zY7d`0E3GG*AUjmLJDAAV&UL2Up2+c(m(mg xr722BK0Jhj@+1qO>}H68kqs3Q`SFVH=MFGUuF2BQoLK+>002ovPDHLkV1iwId+z`M delta 259 zcmV+e0sQ`g1KR?SV1MRGL_t(Ijop$l4uU`sMY+M;#v9N=<5Dh#aZ4zv)N`1Scpehe z3%J-oL4tv1F($Ah#sp?b?A7V!=kMR2$+N7l9>Ce&ZyH1Bb|HdD(vWr)$SeIugaT<5P-1IT(>~U82YjJwk2dYlX~USj=?d=Z z^h_dbZZE4zfDE~}iCL;$}-hI^9QfTf!G8LfYv-vtI*v^uE`dU1Q`GT002ov JPDHLkV1ml(bb6RZ7zqRe0000a3BXyP7LYne1jftJK7+ypkpKI zZ;(|G!HKH1lUA(_o=tFu?lB#_nIMekLU&Wl;W1>%6!2io^*t%11--kjh58M)x&MFf z-g`P(dVj`t@lVEHrDE3)jz!f59Mo!}-moO70U%Dyz~S@Su@JsF#i7731AC{a*ZsFf zAQIxmnQsAL|I5!7;4mv-2KI-!?gs|o>U!w=7GQrozRq;4kfxI&aQ*IEmO_HA)Urs7 zE`J~(lK^x@At8YBd311~rO3 z%$71ux2s94AwN-}jCrB>L%hj;6f0m}r8WnrW`wARoHb(meywI?+O zdEQP}>#!fdr(Vn7MrFIA7qm*r6i%$yUaT{#ks9WIm~=HZVLX2guLu5NtJdc6 z-*doVY>cPPD-CGXtmpo~XfU|zHf_$FUsU?&KqTV^y(%RFJfH_}vx<`$Jq$f~d4kJM zA0FHmIs8l6Hk|&@E0y7~E*J>f8}L@1*701r#h~$ccVuEXrl)1oZFF`o`2Qe&0jwZL VI1%x2n*aa+07*qoM6LruV1haqc6$H- delta 695 zcmV;o0!aPb2K@z)7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0((hBK~!jg?U>gs`sFziu8vSTA`1;TJakZ9_8vNzKgJe1LLyq|F5gZTSwszHc|X+5dbp zqLmH6e%Ai(kD@Mrz>d%7*F`|g_CwTz*!La3P5>eSR{POa1-_W@dNBb|?v8{pWw-wL zdq;%uda+qd^1B+dyT`vo16xOrF^Yy=`qs?w1@Vaj#^U;&8w4|Q>Wp%k#7-CwqX3k1T7L-TuO zVSm6AXSX*1hZTnWKp`-~4PZb2858&cL0eB_06~EB%NeL#$Uf?&4*(}X3ElPJ2Litu zp}P!(x>yJW0sa2l;)*c&@wQkVD8HdC4+OroE5F|j1o+r+Qw>v7Q&UqvR3sX)>j+KW z?-UwL0cbFP1)$LsfZ7ni0ie+ofJRe*x&v=`{&xicbq{#}j|xaJ%R-Rkf~Ed5RFJEFf+A3V9zkmNVCbYA0G?Mcoe{=iJ`)lk zG!cgVKxu$b6Nu>X>+GuCaMgh1!`j;6V{kdqFuXe5uzBNFw z%&l^C>h(GQ%SXL?XkTA-de@Hj7I3Sz5G)&j`-H2*yTQ-hUhZcm$Fc^!FSZ^+Z}>Ge dHT9ns^&0|UCJ#hc0`LF;002ovPDHLkV1hFRHm?8x diff --git a/graphics/pokemon/bellsprout/back.png b/graphics/pokemon/bellsprout/back.png index 0c6220c26dc0dc49603b65074a7876de048997e2..3357a68a88ec37c298aeb8c99a651d5870be57a1 100644 GIT binary patch delta 451 zcmV;!0X+V)1gZp(B#}W-e*gz`Nliru=LQD>A^>x8V3Ys=0gXvSK~zY`?bR_$!$1@V z@DnOm=%6Wx&gmzR5O5W)#L-d@bn!FX(2z>dB2?P3YeoDF-7*B}-oe$O9PK8Gbae>j zc}<%(n0Fb)p>HUZ_sjdgYZ6Mxw*G6?3?r|-dtg>9<6IBQrUF(?f7{!Q z=e&Nb=@-jp#a4jpMo`O&`@C-Bplk7E=`x!33UCWQse4gP0KSCFoFoGWjrJPgTb{Mu zWQh|L+;?~`C>m})C>&MS;1W$ZY_0+CA>gz_H{cmNM2BofJWjJKbOoUg3HZ!r6xxE2 zYG2v{tnDZg9v$`Qh-JnU?K%zpxJT{Kz+6%5C~8ir57oIL@=BSe2LavDj{*8GUzY_ zP$mR9z+Mc81|a1GB7kwWUGhBU`-|&U2m*pz88sX~PME+vIg=2`P)-6T970?fK;>9X t{$~CPy!{@~lJWT(PPiN(wtpFaUO#mI*SpQ>lTrWx002ovPDHLkV1k@$#r*&P delta 457 zcmV;)0XF`s1hNE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gFjQK~zY` z?awhw!$1@V@F!HR&_PoWozqVsA>b;c#L-d@bn!D}NJu4U5i0H2wIY6oZW)4f@8IfC zj&>78x;lh%Uecxw-n(pqL*H-^-Y@U}9&GF1RzuT@+PepO&Ct%(psEXCG?e`vUDr+8 zH1>-IP)eJ}ihjAO*GvI_sA>c;jI>XiCJuTAU6v}NWv&1<@JqdmdIs<%Jj>29aNu^< z0N?Vg<7G>npy0ks3qe`)ib3h9z6O_Q!eMI-XdeNmU9ths*b!aWjCh>MEA$*74;lEB zGfEu?AUpJWECXT*kcC{0X9`gE)0C%IPyhh`hSI@TUk!i^2J?4+C<1r$563A0;QM_D zFkt1rf}sRTmYoN&Ji^TZ5@Wz}a)1w!B@(d5xp><#cMu>lDld$2i1}#Y;7ha@ObCVp zkwHcg=fXss$vY$?NXQwR@|g39+^+b(6$HuuA_M{9EsI?{NE4=fAti(?V$;x$Mm#ME z5H=B$zpY>e-hK}xXtVS_*N&D0kR!MCrv>l>bpO}8ba7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LU1j>U%LR0002KNklS6^?}PT)(`&PV)xf=Ov=g=shdYd*4V7kkt)OodV4OVq7_#EyR2j zVF6^*esejDAVng^hbgC+XWa@UlsOh}r)*YXWXy&K)Wc(f?0*45fWJQ0s)DKhCSMq@ zJOg0S3*+ovf!^6tJE$vD3=421*G;vXGGj{?#B9xI!TN09{Yy1Jl#VPCR&}F%eLr4n WVRzNxMPiNs0000Kl)(-H zAq+%0K$jZR`TxJQWkDlQG@djv374JO3C!Vzu=R_AYUy88i$w7?;kL9ua1zyLM)Ct_ z0a48x%ufJON__&S&wx;j@k;cZfR?iPHV0`#e^un1h3zY3z8K^O{0U`#P5yhbZ00L)8L_t(o!|j%_Zrd;rhBXkV zRR2V-G>!;7+^Vr zN>&aKYM|$6m4p@K9LF4J09GYH?$)6wzyOphfD9K(E{wtCd&U8_U+}c4eQ4PILSXXy z8@_0*h*N^wPk$Q@x1S$CNcr>}+6r#&zjAZ?_y8c~(~Y%NzP-z8m^|*lwNM1`a^r^F z{h$F>WLO-=q9hWN7kH(>;%QiF$Rvf=7Y(=Fs$6#ic`t3(UEuR(-E|8~tzv24cKdpF zy&!?PT{>j8xSo^ucDYDCURpb!_bClr^+}4_?`M5tLw}#=v#yW)gf5SN@?#zApDPoK zC;Ti1#L`71JRl%cBz_c8K=xrkL;y5Z8w@aL1k(uMhA@2qz!pXZ0gcA(1DX@#G}Pb) z3?QMU@&L?mmtiQ!J9u+5I$j|?S&Zp+?}?-_kH%TM5ylpzM)RVUl?iAxe9+awcc~Vv z0;Qom41YlY7!S&Q#-Rbs7XU-)B8=1U050R?Xzbn3 zk)(8fn10}ZL2>T8aaTRV+m^0pfsf1f$Ncbr*A*W$d$1|rl$fFb0000t{W*-0%0dT2~{Rd)Z#+q_b}V3;VJDJ{*#oljE%YTw5B;oCr5*9myffv)-la;g5^4j*LlXpm z@t_zo4u1_`z5wV7A7Q*l0PqO{0U`+suGlaD00BBlL_t(Y$L-ZUbAvDp2H*@H zy5e-mYKeh05(8r)9`duez|fyvnXkwJOs`w-;=4?GPI`sIaXP)vpN{!D0QCVdS$WVP z`%E{uW|*8|thGr{I|s=SjRnY)696C;;s)U)Ks|s&h-Lu$A%6@FUeQotFR z)?mp9cm@Vs16)KFR#`9c1kP?eX=72(fXf;%s2Q{dz_frXZEdN5vrYly$BYUfWC}dc z`xgL(1|5NraAm_!kk<>|h=Fd=NofGAp0>WN zp1B+WEj^;}XI-YIZ?=QceS0bAK@R{S50V=b&Ez-2B5E zz^>p*zR!7v2$~KzLAQeH?)&t$cZuJC!H<9(Km=!G%0bKscm@W{0Y;(2Rq{(bKxH=G zv@$4Xz()=k#0<&-Fhy|LxI_XfQwgBloKXM-Ex;X}djil%Fc5eWHv9m!6<`bv#00>% z0B@nwJpo7oK~m3Q#RA*}@Xe4Q1@ef&w2HVSt h|K&|<|ESy5GB6y{D7`4}A`j!ueFXpj0i#JoK~zY`?bT0f!Y~v7 z@QB2-acIvAj9!Il@58Wj8LQgchT3}yk1(ANIYbDEpAMQ2!m+Ai;$)O0yKIp<+=N;^9Xc32Z2!(MJset(*XjB1{-{n zaT#!_!4w0O=P<`3e-QFyfmIuDVN@A`3~&KRq7B*vjd1}Da0?1JuL15sAx3#H`$R_# znSeB;hd~FbF~>)}ut4CU8EoJO{uNO9$^3(#0({aoNYtVIF2d9K*b4Ti^XGf%3snVg zN~!Zl0m3?0@U|Tca30|b!Y;IPpm@|NP7g=z_JePQ?NB1 z!WLkLp!+%y7Ql?4?AuJi(N9OP!Lpb#tOY?1Xgw&lahcHuS&!}S|IEJtuf*Z4Qr22+ P00000NkvXXu0mjf*2vXB delta 481 zcmV<70UrLq1j+=EBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i#JoK~zY` z?a{q%!Y~j3U?XH^Oa+;1smh8}$X;P}j;e-`trg(iks^2Of&>qMgn5FNr>sqypNnIV zTB%cS;K%pn?tDRiAN?zNe2WlqW;+C7fykZvaY|xAs2iY|#)8VQE!Djr>rayUQi^`< zq>Krhz33jElyZ1J=uOyvy55~Jw$$H|Cx>~5K%ayVurVSYrBs+}c3A_g^#2)2sR^H$ zmW(~tfvG6+yb--s1E4u)4@F*!8`FV9zz4JnVG00%`D-mt{b!vApc{Aqj5y~@u&L<) zfJ}om*mWnZ11dC_LICnq&fy3MJy~FR3HWl<7y%7n0h#eNxCBmrVF3+b3oKz?1K0!0 z6y&A3Cs?&Cgv>((5OicS=5W=q1)>1VV1qCUuK>8GfAC`fH*JGV?JvKJ-B#}W-e*gz`Nliru=LQD>A`|z_AxZ!M0uM<3(yO}rRkV} zdW1a@!p#KSG1Gy-3G|fb&Cdbe1st$Xz@_eYIq35h1|RNFj2bG~=(sr7HyFGHHwc(j z2m(|g2O|bp%Ap;ie@O(i&XMA-w*ylgqnH4J84qX!1Qh`HxB-9{1W~rxQ4;{~7+wbJ z;K8?D;C7oo`kFHP@H+jq$){=hWP*G8Ib5eHuFV3~SaJm_aorNsI~YBT0<{uZfs$GN z6Ij+evb%7 delta 559 zcmV+~0?_@e1+fK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tg0t!h)K~zY` zrPRM`+dvct@GC~pG0_q_`iT&arZUYO`f{l^k*ghl@()S(WY_c!(&6{v`|b|gV&8hT zqkUi>95(daZU)-+VOxlnYxZ0CzDo_Nw%6)m*8rao2h>26?u1_F9FV<>D2m3?9X0?Q zg#d6eme>TcJ_%akX9HM>7f@8T6ORKS+yit%aA-Rwpc!FDhHy6mXUI$-a0VUay3IR}c_ zgRo(YLzE*RFyR4RfTRF$P8$HYK@eq^9W?=PPhmS)77xDd0{83w$=8&*hu7(^RXUK|1pJ2=|0%{R|SwP9m{|U_N6ZQt>8TlFZ0WZa~cF3z; zz~6wF0g3kYvYqJoIbV3CEhL(Ne$LxeR|e2ISeKvE8i>n)!VTv0>DHWe*yUj@6sJu31+AXg^A7_1! x*zB4ILdlsb7&{>oDrZmUp4e7OZSPl0h`;TI(68)z)~x^l002ovPDHLkV1h%F`V{~G diff --git a/graphics/pokemon/bewear/icon.png b/graphics/pokemon/bewear/icon.png index 5ceb073fbcfb55ed2f80f6666e1d1406403db4a7..1130bf6765e8851980609f5aef84f7bfbc0758f6 100644 GIT binary patch delta 294 zcmV+>0onf50{sGzV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U{QMrq#s& z007`gL_t(I%gvIp3c@fDhVur;&4Ctl6co*_59{V8Zr+e*DUN|O>Sm#5tx*3I9F^Xd zFL%c!_Zjogpp+fekXO83COvorGnI3~l$&$n9kjX0$?XBqqJQbg4oaHf1uM+MZ6(XN zUtHKi2F3X%1ORP_Q3OFHf`Hv})%j~`xsa1QEx`@i<%2{gimR&;Ha3bUz3oupE17-O2ttPdBy8x(!ED8Q#mC}xjHA_L7S@_-3|aP+Ds}a zX@eK6Fn70=BI9;;VG9`)=bI1!bRk9&1hohPiWe5)X#tpPPIe!G(XI#Yn%tFnf`DS3 zL4%-SRvdM?!h&a89RWk@ssu)p`N#MRJ#?f89Y%T(ccmU=+m{~0B$uhpdU&;I0Bq&J zcKCi$?!&$Xse1t1WML)^ZrA&PZ}jwoOVE_R|7|}WG{T-Sr@c{<00000NkvXXu0mjf D9)WUy diff --git a/graphics/pokemon/bibarel/anim_front.png b/graphics/pokemon/bibarel/anim_front.png index c9a7d403186e277b6b61f2e2bd545d70c6b1c512..f50a42ae6460fada316f94abb15ca9a3b173afa0 100644 GIT binary patch delta 1095 zcmV-N1i1V32$u!HVNX5Qb%Z3d~_!vJF0} z7Iu6!W(}SA4e|)NESL-k^iZj4*`t=+n#ny=AZ)8XbyvGv^?(14^BSEPus6@=UGQ0d znqwXy<$X_kl7kSzWfs||aWADTWR^>LqIK(2qa0Ds8zf%>TizTpYXrBVlD!+j0R z2ngm1$KOd+9gGbRG~jCBTJ5kxS)Bt}3^+zm=_O>v-UM6%XfJVyYy2PfC9cUVQZF<( z0=U;zSrtWS05M2OS*jwabd)B*VqG3U+yK>M14L>|0C#=*sOK;i;W+aRrzcg-odW}( z>%=^20e@lZ)zMSv@?JmIGD%Y288{9Ab_{uJ-SU%e@Q!eeD{udA(r$d z?c@OVkHLDs0&FwJ_g$? zt}pL@tL=du82Q=ytCU*YZR+nVVe*B5t9)g(57^@->)+WJNB96~Xtf8EyFdO`>?`R- zU>m`gsO(BjNDpjPE`8J|Mj~T37*4W~D*Eirdx0U0r&kZ_Xr9~s1p@x|-NQo^F_`(* z{eOyQ3&x}A1~)WH?OkIuMUOLbAr-0pJot>Uky!A==z&#bT9AzF!G!F=2|)GSe>c_t zWDmlpyx~De{mC5^x2JVpl%|8g?OHKHZs7zxwk!tz5z~#-2kHo1NR=1O94<`NrCg0` z?V}=okZ34AJpnNSTRE*YQ3K`CgEYXFuYZ)Pr755ibFwi{zyL)z_P2Ai4@(VHC0dM~ z0W1TYo(D1LDnb%HtgvYQ2(Kc delta 1060 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 diff --git a/graphics/pokemon/bidoof/anim_front.png b/graphics/pokemon/bidoof/anim_front.png index 23c31878132abc3b5c69505fc744dbaf3347235c..cc37471102e2bbc7f5bab2a4a2805ac8df420dfd 100644 GIT binary patch delta 700 zcmV;t0z>`r1&;=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU1@(G?Nq z0007VNklv5wO~5Qf)M+!N{P_<>eGps7eIoJ zE3DI&w7dlcT^`^H9)_8i#AnaONYGIDZ&u3uo|zpd`9_Fdy?_2yQg+9^7=o^NGz5q` z;vvKUsqCna31E1t$Y235iD3dTb;sv$5H~Dd3xV;){Dffusqg^KAU$Eg2Lo(xP7MNH zWZ5?0$IliEijpBUDqtnfu=~*pCS(B34F2!tCd>VivRPt-H^n;&RX#STusAP@?d%Sw zL$~2oUZA!&RezJ9vR3?J_L&SH9st6 zl-60D+j{lt^&g42SRW3kA{Xn!A>v|vI8<^@k&BPiFN$%JmD1#}#2>tTft~Fiz!`_i)g!r;FuKnRi@G>*PwLjDZ i7k?tS=n3BI@AV6XQ|e(W1x$qi0000Fy_;_&*^!b^2FH zdAc4X&_7j=2LSPjdISkT);>f^Yyg9{A-y@kIDs+1#9yDmL4O>WzYzlK^H~efgG>Yf z=a97k_+lUJ&B!3&L6$CnAHSH-sY*a*lzWUGoTK~U3dRJ0W5V~9`M^7tJJl4 zQQTSkSZphs9)AGtMizBXw~P~9Kxi1*@87I_DE}A~1A-*8HliK_7-BtkfeN*%f3uM|N4aXQu4RiF#uZ_gRPCm?tkHC<9ZO{N~wNCN2Kv4zjTcsI7N8$2xWD^dE_Gv3_t-F4hl^C>QI8M^!G;qb=8;bFm+ImxDSN zafR>^buLO@=rwW?eRzI{j&c$A3&~nEb1`GL;pAe%4(sM3z$Y{rbkPefvX6 zEEW{;yPfgv4+qHZ7Do8?hbLizmv&AixabnR(-+_C4~0|eVW+pt6aWAK07*qoM6N<$ Ef>1C+X#fBK diff --git a/graphics/pokemon/bidoof/anim_frontf.png b/graphics/pokemon/bidoof/anim_frontf.png index a62f24b7d2473b079e0d4f535456498c7b3b5790..c5e7b97c113913e26ec319db63098e4335c83c1a 100644 GIT binary patch delta 710 zcmV;%0y+JS28{-g7zqRe0000v5wO~5Qf)M+-Dt9L{Q+heALcdE-ku*K5=e? zQX+J|`g9`Z1(2ZQis-Z@EpI_Vmj|HWVVH?YeBPM^2^tDdvr^{w%)ett-ze2a8~=YA zTA$7b33N~8;~qeKA|F8lkm(csu>karHR((Nh6xM-Msj`v`{07&m7efZKt?xT7g!2VbCa7`U%roV(wB42B7UBy;X5)#yPV^RX`oVT4apj|Id= z5+oy6MGhu6CNln@aiLw_4DG|FhOYIXWQ*oN9cb)#sd70 zk(+e;^E>79z75zIaM+jW#~&ZiUP}H}8zq#m7E9Y4tB0!<|D>*r=|*%#YHvf~n{)Rn z&>il7AGRthb>Azftk|8)+GwMV|0sxy^&vpD!ca$`QO(8r5TfED9mlwS;9@rrmxG#% zxI##Znu}V3UW1E0iM)@wi2HwqW+j?j%-A$ME+*`Taf-`qAI|bW&kVy z-U4|4U=ie9Cm}8{W-z{L)EA)e8%=*8_A2z(>t!mi89;0cfb$plDlT*pA*Vx2K#Y>{ zN)e(|P z*W0 z69G3%oY`H0rqKRDRah)8QV~$8$o_%zH7=SJ=CRlm-9OkQ1{z8bm+UfGo=K2@ti`iu sxP=EJUQ1E?EJxSNo})WDI{qd80Itj%s+A}7{()&Bqh0dq-2K~zY`?UO-{!ypVr z$%1_$%IpDgfMWF?4V4cto8JEjV*`eyMKjx3)KVe^9=88CQR)+)P|95X*a!FPsRbb2 zC#SBmxCHRq8?Zv!)MAWL%6jkP>%I=&J6r)AUh)*+#RpLMZ3-;3f0%usecGhwy$6ek ze#D!K1?lua+$*3nmnR_&!1Fd@X^#mzOF-%z6DcKdHN&Y#y>e~>LI~2sN#)MsW6dyW z648?N-mQrHQKrn!z^zqXlgk6Z^;&_406UvJfDF|uZ6Vebl98P4fNf^djAB`h77|b6 z)otzDYRz*5wm#*3e+szjwzh4r6cQPwC{!!5oa2|MC`Ur6p||0VL8(wP-HOejyBiKh zlvDq(uA{hUi;{*>ao%#ip*ZPvQfHhH$snl8Vehx%Q*fQ5@^bV znQimRa_LHb^L!eARA_ycE5)DgNny_b%Dv~$F9yC30F~)iA99}oaq{PV;@`&)v44JN Tm}@=(00000NkvXXu0mjfFOJDO delta 435 zcmV;k0Zjgo1e^qrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d+}4K~zY` z?UO-{!ypVrlLh-il-UE~0LAJ(8Y&-PHogB5#>O!uEt=WRqL!+v=3)DP)9DkRps<%e z&cXkBYX->o!L6$%=Llha0~W~ZG+S$@$%PQo>$!;`cw7KHUdj;QPof1`MYbbvKkUkrR70BX~o+QFASCyqp(kfmAwFEiKTzDxuNGLau)X zoLqn*5`3m==1}C(Kxda;za{@2UwxMa2-*C#X&iD<^+_wVo)3k}PuK9`bBJ}2Dxw@6 z5PQdY6sRr5ZCpl8M`x-vh#hndxcb1mRzV$4vGq7R1!=P_1<91+EN~4#bP8B%NiC^0 zaFt_on*#wG8o$miOe?woM68Vf*b9G6u*MFprHUg5SKV2#3ZAisOrOl%jd6VIXtJZw2Hh7M;N^Y7r>p1N<=} zi5>&>9byAYSBZN8T0ZQw@&kqbPlNUNwu=b?U%!Kcga5)CmsJjm)dAh_000UA07*qo IM6N<$g1}6;y#N3J diff --git a/graphics/pokemon/bidoof/icon.png b/graphics/pokemon/bidoof/icon.png index bff68b5347f697e7256f56e944f97904bf565c51..042015c6c12dda56dbce5fc2f663f35f618904b5 100644 GIT binary patch delta 231 zcmV1)~V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U|5k&Y9Ez z005#%L_t(I%k7fA4FWL?MzcYNU=X(X%DB6uf)b`-tZfnRqG>E(bV7a0QR~3>4#F@DMstH4f`jxn-xzN#6O3>gjukq&5kp`~ zaH#S_wn_{L;mLZ6ozK!!>L)99y+$RekI}#t;1K~f1$ZD4OZmZh4+9S_;69xopo~1` z={OQV8HCGx7}J`(GcaFeNd-Evl^sL{4D98XP;>1h#L^^JH$6`>(cGrBi(%=G*G~Ow yV|}eKwil-HV-=O{0U|E1q-|RO00TowL_t(o!|m2RPuoBk2XI>! zJ4y2e;y~wXoTOV`N6Mv(D<)CC1Oa|I2os6sU(La1}q?V7O@_JYKe zxI@*gQu>@P3BkTgq;{&Bvz0gfe9v9v z){(69LAuI7m4U=w$hDs0AeJ8+mWpjftLJN6TJj zRE`b+`0Tm!DhZ%+8x}{w_CB`b6#%^Jv|msl)te`H9VfwAv341OvfDmA;((3P<_EXM zs=016anF^vFgDqBMZ-ueL6S<%_2c2h4aYH(H?7ii-G3uCaUDB*oLjOCmD$7%jCnw* zX>8&J?*eb~fHRzU!SgQA4B&CW&B3*#X_~a*dFQ;}qvCltwXe55|(o81GyO zfCGSh!x(da{0hcS*bB)$##>xa#8ya1mvjMq=1uSuhr}nONA9h+gfqqK0bCEDd)p0r zfDhnqf%U^Cf;-_~xyA;P=3_pF+5Hzy!!Wz2fb1Bg zxL_2`Fw!WwKr{(biDHx44eu(+)l6hJA3S7tYJU-cj*?)M-Sp&uhwO%845UQatv}N# zi0xz|yQ5+#)}l;iw_b%}DBej;WVfDEv#O?7h1sp<)KogJBT;rMYTb4kyDAc8chPP^ z6JsqSQFfP2n%xZ(iLx8QAC6YM!Fb5-a(mr{GXcigU2dNnwU3K{B&2f_gK4?Eth{^4@oKg|1w|9t!gT5d!&;$`Gn P00000NkvXXu0mjf4D_=c delta 890 zcmV-=1BLwH2jK^hbbkX^Nkl2~$lDbf5dejYYB872 zFEeu}6d;LH`Yik)utaMz6j{S}Wp6+GTj0(fJ zZVxt-0Tj!&Y=6go0^i&ZJ+iYv(DwFMBR?9ieix0f0`QJFj>EDtDnd0_+?h zo2>xA`(F120i+o9E5x6R#i)op}Kx~^;(Tnmy^ zX>WWOCvG{8!QZq>+jWm<;wEzTx$~qqcbvF|kO)v38h=fk^3Ktg2yn)UQ=WG&dTx?{ zCj_n!uOv;=q)pE|6P%Y6&%17XzX>#iW&>~f_~sizyO%Qn2LSv7AtZeG6@;8{5aK(8 zwuL|$Ss})K+y~&RD8X+OVjtrHzO&w9L5kNSSPww|rXLRQFCJJO;L#t9NfC%!0T7IW z(I|w~;eSsY3IRU|!*ECrp$Jd_@cp6h`(fyZf+iEdPzXq?Lw`6Q2q+MQz8Fw^QiB45 z9wD?T5QqV|TcCd!BDkITD%WT%c-23~gNU(q&jA*Bg0Xhb0di9yEd(ag43XiACAFJm z;EE-+8-CUJZW7up24d|_F9D!)O~l$wb^#D;H-8kP05fZ>-TE_~0L&x_?T(5S7>knB zZoLl03apb#Xt$nMbE>AZK&;(rUQK6;>>ROnD{9krT6-!7OtiafcfiD0D;zMHu6ECi#%F>2Pqe$TbLQ-S5dahIuAq;|GPw$| zG;^m=7i}N&4rB_zH9hGe5paEYIc?^MZ-FQ;1r);&wLpNY=u66RY}PA|0cSk|4lG9~ zD4^Zz)IS^u)tvy5e*l9a@;DI?`3G;71EB!;hh3qCN&1J2NB{8XA0Bx81zK)IH9XY% QIsgCw07*qoM6N<$g73GHApigX diff --git a/graphics/pokemon/binacle/back.png b/graphics/pokemon/binacle/back.png index 51fa2d761ae281abcdce1edb318933529e6d1e79..63477f9ed22f9fb8f556105295c2b05929fcd726 100644 GIT binary patch delta 687 zcmV;g0#N;-29ySnB#}W-e*gz`Nliru=LQD>A~L(BF%$p*0(VJ7K~zY`)zm#}+dvoq zU>!zlsm|^X(5c?#9K{rxK$ZM}l5)PPL$@YFr()FGx)tm>2%_K6u|o%qS%p1#mI-*Z z-N9?9dLNQ?`mj^F^@SMX_wl_SC)+UoI=c9gJamrc!E1CJ^q>URf73$;SV#a1xrZxo zV0q4w3djK$dLO`Y>!9bU3SF6pPzO)~Bmp>=AF;K5y1+&V*`BHZ#4GS%3Bb7o1EfID zQ3sU$0B<0`iK-w0xX?il31Gtyz!HE^ zM%kMjK(DALql5Z{e=r)5;6?#ntP1)xU_2fA5{QAtRN5kkj8H%HqbLWk09~veGZOeD z60rwR_K5RY&8bQ&V8VV5a8bvcMjD_W>7}UPh`hYm8W>$&1rmrq^#q!c224V~ToZLQ z`$696U@{q969VM{MmykJW6$2|oA9S4@NXxRZ;Y?~1eISke^Uq1?IffmWMe!o!EFv) z0eBEUk zHP*}43I_cY$3IlRe%k@Y`|kxX$MTH&Z=MGDMj8dGfHCzQI|5kqx9o8ci!rzN2f>KH z`*oYl?hP|8e>S3r_}F%xB+1M*}@MJB^FV_NOyXF)!pKQ`s5@fgz@&+*GC4Of@RP&vOq>Ntz?5dmWs1sJ0SD3GG zQ*@Rhe|MIyc$qZC8OCRe3XnaXrs;Bhm-1JI{N?s delta 698 zcmV;r0!96l2B8L!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(wbAK~zY` z&DB3^+dvcma2-Z#sm|^P(5c?#9K{rxK$U!el5)PPL$@YFr()FGx)tm>2%^u>u|o%q zS%p1#mI-*Z-N9?9dVeJA^v6!=)CV?L@27k3-pRJ{_tC|V3=pa&(eo*r7j zLIPOGJzRkU%X5xYKn}Qn(E9+ETL(Q)Rp`n*ggSr{APK;^yv5e~=>i)eWP7Rt5bwZ) zB>?9V43GjnM=enH1H6F%C#r%3;6evIB!CTbAZFh4UtF(ZLbA`yE4Wsf-Dt2tF^1x(n_0WRv8(?|pKBfS(A9Fdm?TLYu3t3U$rQcs{6 zX}~1(%QaC)v){-&9ZV*pYeJx0z-R}2YV6rteG>k(1pe)0@{RGapP=%qX6hiiorIKx zY>dYxxXpnp01x7Shy3hHpss2_n1E=2ZxrW8QGn17^~c`7;Wde?0kvLv;zP#6txru0 z`VYWu2W1mYptkk0wSqxE#qkf-uiv(S@&0=O%&}af{+p)(K9NR&Dqu`~$BqEj{4IMN z#A2J<`-5P_uYTPovwOpgi;3tVZriStB$>Hp9RF+u+eF5H>_uF3Qw4cGneSQwE%M1c z8@7QDGP!-=C9>VH37)KF`Q=)GY}ed{%qN@ll>`~CgS-KZd5Pbd5Y>F=At~dR0K4iW zJ8Fd$<`w2E+!URq$lsl%D_$l|afb2Pq5@=(r)j!e-=+K=Zx+jqTkm1TQ|an7m9a=S ghyLCE!!V2$KV!qGFXI2)`+45?7L@c`!;%JfJpmFt=JB1BV1FJ@X&^_l5|?hlE-ovy z=bQ!!WTi_kVH#H1V&W>Rj;gY;3!dv+Bxfi0cd!W}F1Bt4q`YWwnYd$Ks%WdcK<5fS zxP+0b0gL!Gn!Mrr(V0^5E eU-QxWsgF0h#J@IzbYL0)0000e(U8G1_(m=@( zLIn~?uyWztfwMp&QaBNyu%W=%G@hZ{f)&&G%QLp@$JqM{D!MkXq`}opfds$v_)3~! z9?xi?#z}>n>fk4?8now>1u5i}PtIW$Hu+-eTULGD359~8J}8Yw03VHt9ooSzgM;nD0q5U( zj{-0@`eL|%^VgR*>=WvbU~u#VgE=@b26J#=2nPq|h&fm=l!FCR5)KXw;o!g!4h{_A w;J{E0_NOTa`yXG5`Po diff --git a/graphics/pokemon/bisharp/anim_front.png b/graphics/pokemon/bisharp/anim_front.png index d75b02373456d69d11c03e0df8b4907dccf31c73..5c2adc90aafac31b3842dbee84d34118157f93db 100644 GIT binary patch delta 1327 zcmV+~1O{0U|hCaM%g}00i|(L_t(o!|j(rXd6cqh9?Vy z4GAW}^ezP2*7Q=a3?WHdjASSwl#R`-BCqU%jAjwIB?Pp>H&HMM333o<-G%m2Vi02= zYY^TZ3ihUl?xu(0Q+GuuC_U89t%pLPeX~+xIXk;Pw3kBXFn>tAPxIcJc{A@9LX+dh z_3?)^5|7!%F`=f!z?JOM7^p;z^$^G_;TO3a1&oIX;cR}9M}Q5gM1hU>&`NImK6jAm z2mpCw@qTud^%NdK#}oni{1RjA06bLqMn{l3-+lb!@5 zKF!$Qc;1nHVA~;pFB}7}@>7iiw>7&T-2e_?cevvF!A-j#Jq5`G;MxGK`@T;O6u}-- zD6qBfi1mz=wwg!`5N~KuK6Z!*pqYxV8ag3R2%m~7p{i~^UDiw9*;9Rsihwe#osuiw zux`>5B!9>P3ZRUnj6l|nbfDZS-_WckL_$Y=U!1KVT zJpoYY!j%LQ4}{qQ04qqdVLae=TXH}xmDdMrTaL806vu>kb;w`M_LY$pKuJY3B^B>~{_VEEw=B4fF!C)Y-U?vchK;SX@BEmFYteNxC^zK5_PVHAo%2~mmDZkQP~wM z!O>q1y4v8dE^42}FY|Yl>BAnH66gyw-9&Eo9sxUfuIgsgM~gM_(ZbOx+jbq5*3AfD z!yCO`I%d7omo9X_9f5{nPd+H+*zPIe4Vc!tZ)U2ooa^7+Yj5`vhCWJ-%tZl$et)y? z`TlJ?6c|NlJ@i~jg#u*8;lTVzpuul%A3IJ@2Qs9Twd(06I-g2oUT&$7i1B zXrsO=snpPEc~XG*u#rRZ{TJh&hY0}H)Pw*T6hZ+~9lbNqrE01{QxgJ&=(I+-(mZ)} zbeN2Nj0A`x*W7`BzQ-7hBt0oWB!5~O6t?K=-kyF_fS`0qrJIftFF-Iqg#-ZtX$}Hc zs8K=zf_|l+K`2&DC?7z8%;=ziisxxw0Js2|k!!Z+h)QWJK+xw@JAgEGtr5LbT!3Jf zS%q|KTD19NOD!mf_jO29BrvcA0%STtVBjsQgAxTs(Mq92fl=W9C6WY2*eD?W7a0GR lzyJ@)0%JlyDE~G6@HZ*|mwVC~Sx5i?002ovPDHLkV1jExT!jDt delta 1335 zcmV-71<3l63z`d%bbkd9Nklr%fGhMFKB^QlldPNLybGkN@fqIG{+j3!AIK$A7D+Hwr++ zI?A}HWk1zu$*c%TH0n1Fv##2*n?;vasjyv>cDG)fE6&^9HIGnL6M*Xnc6V#w-M625 z1QDo72mu?B864fQ*W5bKSOD zZ6X6`svKyBP6#x@=dwnvI7Z+gN1Nt2d|l-YJ0O)BN@36xotgiy3x3N^naJMbb&)DD+zLd$h9oZKBkR`?Yn z)@dbI*xCQpW+r*pmi1oq0uXl`TWuD>-U~P&iGPvjDZur>9=j4C*MTDmE|!SxNC2#& zf&=!5`5ozoAq@T=d&t_F+avZBB-<1&B`lo&v{OPg~T7M-eS%S`o;b-5xWNK!}-G%d&_e*S~CT}fjfGwcw~1^ zUVAY8wj~icdXnyU$o z8aj<{t4M$Z@FEA~$FJ(~mjr-#%OU~N&v5}#iS8MgQdP~MX8;o*M5k54lxEy>`7$PP zj7Wf}O4aKJ7w;H@lgyljU;-pTi+}yxCOx0+7i|{{5HwTN=!PrlgEIkw*)E9ga{&Tn z_CrsqQMdp>ztb-u6{{+h4UX!6&N}8zc9o&fx!pF t{{kbnw-y)>VZ6W?(hqX+{U6p3{{SigmwWFba-0AF002ovPDHLkV1iSBTr~gy diff --git a/graphics/pokemon/bisharp/back.png b/graphics/pokemon/bisharp/back.png index ece475973cb36d5ddb01746775285f21e7639d58..80628c5fae3666e5fbc9e94749f4bc4e9f5b9f22 100644 GIT binary patch delta 815 zcmV+~1JL}Q2a^YoB#}W-e*gz`Nliru=LQD>B0Iu)iLd|w0`^HnK~zY`&DAk$+dvcm z;HyC-LoqG!P{?8oPRQ2Oq+_8(b5Uc?sbVFAAs4)qE(v(c(1NKqgKcgpbSMO6X@)|` zLFiDG5H8vR9U{nLC`9#d=zAwyI>|2GO5Y@-kN4i4-kk~gPh#$Ge_-iN>gU4;nfJMV z3cRdj!3xuXQ7L4B&Gxik)m2l0Vp4(Y;9eyHrACsI_cc(h6wJqjJYfka>3~vNFxN?C zT?3n(AB?*+sO!4aG%KbK?9yZz#+HlGHccJmR(O95qW7-*HU$h0Jt$zf5(2jsnsTg75pu1l4#94A0v^e-Q?o)=WU?aJUmfifc-y z!F*eMCe)Wy`c!`ppbOx`ZT-wW7RHVYN4ErYyRCs1=Z;?&!Y!*6d0V5)hD;KYOq^4p?-WE$w@TD+GJJs}D&d;q2pN+f_RbBp9-@LU0L z8aHW?94>2Ee;0*k0K75yqJb!0iG?){BwsUr5GQLg^u0JrATO*UgppNfLZ?)sVcFqFCaB!W~M}GuVfnmwG`l?=`*jjt`^iJ1aqA1cry7TYT#f3UK5vJ*m+ehC0;SWDBOgutU+ zxO*AfU{e5AF&e@mcoD(UG_choc#jtCK5O)`Om?dg(5*wb_}DII+5wGXUf?1+?hyb! z3v|S}ly@+W?*Q~#eOAs?5CD9f*G~Yr-EU@Es3!n#KAUHHobMpG5O8Xa@hokQPqbbE tz#Re?B|(>GT4+xI)YwqK`bU4;zX2I+6ZP?yN-qEa002ovPDHLkV1l+QZ=nDH delta 824 zcmV-81IPT62c8FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{2NoK~zY` z&D6bX+dvcm@T=iShGJUcp^(KG?2xUgNykEo=HkX&QpHLJLoRqJT@vt?p#@WK2HV_H z=uimC(hP-=gV3QWAzZWtIz*7gP>AZkq3@k-=_I>!D)dc~@5lQ%---M$G50r6dXsp4 z_#m~O=_SC+avCgi6VP&hE)8tHXS`KcEDiE;1!01FoUtKTPCmzlQHO)i_x+y6J(Y}ZwyB3uKP9tsDK_cpss=d zaFhg1(I0K4qXGzZi78CbANO$oD$sFrnFIwPga$MSCgR9?$}1Cpu#5mVLIsgXfT9f< z5Nt;vxG=#+9mj}U!1%GoccXpU=!^gjW`hhzP)9IeY+UBrs6ZP41cITblt28X0XIP( z=IFvx=;22CC_JNu7-W^B#T9}m0Vy>E%-Pjjt%34`;QKy_hY%50bzr| zP6#Qk8JPz2E%}*$Fkdm{Gjkn42f&Bh+L?PS>5dAAw*+*nWq_s-j$f0~&8>#Mx+S#r z9!||+1R#NM6o8MG17OH%@+<-1RErS7i3JtZw?zrb4A9LqMK>FIQs!Rx04yoBhyhs= z6_Sm>a}DHa)MSNZaI8U1=AHrY#^8$qM)686tQsKxH=_rCd9tcP-zz5*7*W$eRTt&? z-KlOdp9HkF;EX`%|HL2W>ZufzIliyFm9_)hISUZ#;GES*e*{c}L4jU<)qtm);IH9e zGg}n5Z}7d826G1-qtVT0*JlEJEn8xh?ln>^)M9{NK3k-EoNptzkZ@~` z@h)wSZ?stfz#Re?K}V!oXiWgrSl1xE(f=k0`3)HpY!mf-zTpS}0000b>!3`Kc^4+EVOAU=Q*yK^-42Jz}{S_-&lcAa{(84=AWRY`5d z?9{D@Ha$?(2l%p=D&3~JHUzNy9W9_8CVB1W+ z8QM;PeiQ{R-P0jk_qepjacok0V0#*~&wCPa?9bWBwhM3-<74CRL1f3+Z}P3@xkOC- zrr$FPvy206te8+0%fMjI{lSKvNkQD?tz}67C1WT^Qh3CWk~7rgMOd!_pa(b)D+~uM z3{0VgL2k4#C`b$X5oQ4uQ@9B;&AXDQLlh>!&D#Xsgc(@M6vcH>7CkM#fm delta 299 zcmV+`0o4Ab1AzmOUw;7%Nkl^k*mGa{N%s*?DRL+2vg^gv3Vq(}6B#YADfh9Q)^2JeA>P6`}DH7HP)on-~8v;ADP z$VX-Epg?EqM9p+{qd?n>0=MSvkgWH()yKZC=Jde!(kI_b5`S^*ugS&M6L1CNYvY$7 zvSaKw>DKeuA|@Ww?irbxo&$C47*J&648vaAgAF?~2XTY9mSqOW8C^y)her%4DTCG} z!fG8aKrc`)D+~uM3{0klL29%x$TNBhGl7CBJcJp>zmlj!6ehrpzX^H>)3M}p6xT#y x*rgLd?tS#*z9icS0^#n*q7*&-P=@^J$1i&4w|rsvd(r>^002ovPDHLkV1l!%jI96w diff --git a/graphics/pokemon/blacephalon/back.png b/graphics/pokemon/blacephalon/back.png index 679b13cfc037fcd9d968c885012847423d30fa01..21417542a0f8a32ae2ac5516ff2d2b56f434fee7 100644 GIT binary patch delta 662 zcmV;H0%`q%2Kxn&B#}W-e*gz`Nliru=LQD>BL;&C^xyyh0$xc(K~zY`?Ulc4+dve@ zFD1~bq>!tv7LSo>>mjtHhw*9=CE(GK4%4wF2m%?3QzMftUi^|t0@wITDH(1310A}U zQUV1JT{}2yDJA+F`c6)Yl$;FhoQHl4?{nYpyLS(XklXmbxYt>je_mRnl=iaoYYz>! zW79X8>vQEN%qTLN1>_jUj?GvjL!e=^IpQfz?&iD$CK;pHsHy<(0JF%TLglRrcq|PX zcDc=1rB}@=5tAO?&lJG&JkQE)&#ROaWnKY{wMreMa}&5@W0zzTSj8wAT?J5lX~;Gr z)-`_rB$*0`b)J9zf3%=TR9Fbe8k81V`)Zplqh*v7fH!Yr#p^<=qylt22yA1y4M$yo zl)JeqUx7V8h;p5FkCMQWncIi~Jst<{>{2*R3Yff(LuQ#8)j0-z^prv&>CNjr$1Ls? zDBU*k%I{L@Cl%gtTBo>lGoa1a1rgxj7t-Z#an#niQ={9$f24)rngH%Xh%NNtj%7)u zd?1KrU7HxK&*KVt3=+DbJ7n2fO{<9hCBQAYA8V85(<8A<$F+|#Mrz(N)gv7uv1cd7IF+3#X!MOy;Kqa8{PVo_4%%%wJXE|sy*ToKK w`xy>oI^W>RmxQF2?DQ#q*Dx3;+NC07*qoM6N<$f`nQ$O8@`> delta 666 zcmV;L0%iUC1%d{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$WK$K~zY` z?UK)H6G0TmU!|ZU6*?xX1;sHee93J`^@+Ioi_uw^`CXGwXnUkMk(#2 z_tzepY{#K*QrBmSPnem1XEY7SFsvPiv092i&0#ad*P7hT_y<~OhyWwH4&2?P;y5l~@hV<2+alE9SoG0TDspje zUga5Pb2mrnwuMi2m(p%r;T@+{ic2?pwEj9LdwB74$@p6wwGHl8=(emiD`cqP37`9- zb1Icn1(l+aRE<}0U?{{P3D5|>MrN+0yb_Nogb2n#5Oi0(`dOd5U6B295(vat1e5N- z^VUJmjUoa@CsK&PH_!84oWYGEBQYK#@M8~wx(0yvBXLZ1#59x$cwHTU`KA|PD9=-X zp_K433@^WbIQRB6eIjs`0)R{=I)UH>BH$MS5_ArS01qw{00W%>>73#xyqr!D*iUmH zQ_sT*ko^<~n9Me~^5snL0E4Ru4A$Yc{;dH104~PqkY;?BUH||907*qoM6N<$f`bw? AMgRZ+ diff --git a/graphics/pokemon/blacephalon/front.png b/graphics/pokemon/blacephalon/front.png index 95bbf1c458cf300cd13960301bd0ac1472cbe8d8..346d48196f569e5d103e2daff101d7be8c434eae 100644 GIT binary patch delta 712 zcmV;(0yq7+2CW8=B#}W-e*gz`Nliru=LQD>BMB3=>2Ux60+2~WK~zY`otDpQ(_k3K z-%2hiDOh8KUDH`8qR_sHy>{fyp&~+Pa>!M*F6SZ{6}&d9Ai>hv_h6ZVZtl2?)W8@$ z2tv=I%z5l8bNL&5lXR@mK9%`~yo5ZT_xrqge!K*s%Z-$r%`UTFf62+Xw7LYimczJo zvjRJKjM-3EmjLBP`Kbj1HyRNjw|ofrP>VdQyCCqclw()^#s35E@jqN7d#J;k+;Zd3 zTn7RE2?H9c1IB@mBUvgeG;)MZuUIbRyNf+=m{btaWsBH|t8nuPXzj z?QVjB5+2?TC$GyJpn_0;^x&-LdLS_T(lLMc+Pg5|V71D(o1lk0tyxt>Tif%txZi{V z>e@`cw?IN<$q|MQ`r2mzA4_Df&I&MKG|c-bx+95gl)}ZCe~gNvIg;}fW%lD@;aknO zSv;E$LKN9y;ZFxiHBnDgF}VN;wp1Evr-K1W2oWooToe;F)i^lmX9Fwo%rOakz6lN6 zx}E^;XVIL#G`m=t0+jlCHwH4T=CL_dwd~oVpnPmUo-~7>37~fE1-Ur=zH_>NI9)QI zGC{r-w4MiWe`5*qo#4a`|A0V$EC&bf#!DXt>S5@4a6$FYzJ=jr36KdL`sUXXfIk@f zd^mv*7<4rDQ9pE-00Sm-bOHmJK{S1W0q#dM--Cg@I6pcFq}@2__YWapr@R?S3=1IO zMu1StLq2$~!%9<-K>$%rVYV%&3K1M$TVX;S(*^(yK1YR^!paH+B<-VNAM%j24+L{f~P!S+3zH84gGg3z-la~`+KT>b`Mk`4>)uj*dN%Ok(f`~H4;zuzz9KSx4Irx)2TWfdqa zF95D&0SebkxPynlhqkdRu2KC>0!XTO6XzDMS(YkEWdKkE)Kkfzqp8F zsNz9xy3uE@p@8^^19h!NP#`+VLVm7MpnQ74bD`Xx??C`sBGgc9>JXtM%qC1wD=Mw1 zBdSqBw{&L)&{Y!*6DVY4J!7uS0v*G?YG-71#WeMdJqHjOW8I8@sb);Rov-Hx8bXZi zzQ+$LtL(Je?gnNj(*2vk_+@b&RgkI=?w$4A777eMb*!Jg_6`ozKr4&w2I?WlDt4K$ z=GLq&>NhD*x(=7`&5@9Ka-?C6eC~5Vj3m;Rrv*4L8s=7|^=2MMZ|E zU$;;94klY>Qzj`l{N__1Z!Af<<)660FBIq>EB?N_{@lZVfoc%6T6jVA&%Ok~cma?K zYV6gI1%SAJ?1{k`|G|*MV~_L$cL6ZqGKVKPkQ#*32OJQ-h4UR8*p2dIpg_`%l79C9 z1GbABp~Ntc0&WOMg&gKXY;|~PN(u@PrmNhxSu10N0IN$}sAD+@phH-Q2~d|XAZ{NW zJj_GfJ{TY^@CJ$&s}&E4!0}=sbv__6Z}Md1p9dko0ogR((zJh|3;+NC07*qoM6N<$ Ef}^oX=l}o! diff --git a/graphics/pokemon/blacephalon/icon.png b/graphics/pokemon/blacephalon/icon.png index bb1f9cdc31f549ad9a24f60015613ab8cf4b098a..a2799f1875fa165304204c57481bd2d0a8937cfe 100644 GIT binary patch delta 329 zcmV-P0k;170-pnrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU4u6xc0j z00033NklF%8P+c@?Ge z*{kuxBVzX+&330_N~fhU)mD6%lUT74hKs0iibeP3-STEK!ngRknv5`UAGdO1#9iND z4?aJzm}5Er6G9kL0Wez*fZ1N2^uUnoJ+wO81M}tE!Nff{ebU00000NkvXXu0mjf_PLPD delta 292 zcmV+<0o(qc1Ns7xUw;7wNklbZ6G$nFT>dV%OCH3+cQe>U z(%VT$<$-Wp-yJ@I>usf+j^PsB$<~58-TeGJ{4@J0^>f88>QPP z2!S+!x{)KaUQC1nD7r@>*kVz4TQSoDceM>u$!Lw+5X5<`VSg;X9CY!NV{P+q2W6Y2 z&oOsQqw;>*B>8;yZ2b6$*u5sR{c)JmYk5ko6$^8gDmKD!mUK?B$iBQ;UdaQgm-Moc zJ!S6gT3(E}&#R{8%Sebn=C9QM1cp=u%#I^qcIQU}FysagtxgWWeE98X;sKa@gRo%F q2klKD=)ed05FKscgT%hS&c`Q+dYugnGIvh^0000}|u>b%C`AI}UR9M69md|S&M-<1EfR`LIYgHHb;GHO|IL;+i{(+UJ zhSEz2m5k#Eq(vJ2hWR~O_V}yH%!4_d|g$QBRmmZ7uf9aduwKRXD z$f1Xx+RniOzt6sT^XAR_zF6$vx$Zp-fAL+wqaRjd2tB+{9%mN=r58FP#KI)SUM>X6 zgv1FfgR$0E#s`kmN&G^Bm0_$WyXeqD%;}yTUTu~_z)HDpLHgF~o;riUAqT)pZoB}Z zrT|CYcu*glaef6RouuLKrrVbtTzh|AXYh`51Dqe0AkO$^PjS#W8lRrEc|S?WO7(&y z39gl82V+|Gx)1>c;O9EW2C6)kj&P8rxqtD_Z8f`Idi*Tll2E=li}$hDi~!P2piDM`@e2cK9+Rc&)b! zzyu?NOoZ)J0KggHYTKXEkl>6|+7YsD^(S>({p$B%OW^d*r=wRoLP4>19z$2LNoOmm!M130Nt` zluCC|b%Y0Ei6}OM2t2CPV%6zX_LBjCOkWV!g*kv8>_e4oq*2;3fEYU}K&f-!9+SWa zv7R{2`DCO3n&UXzZYfEYMY5WZD(@?x)7$PFB%UVtCzhXh3jnvgeGGrKlHsq|9z=OM z4^;MFf1#LII&V?|*mFRKwa&qBe5LvRQk?VJo;zoSHRw}F&)ZAd^hF5RRL{v8Ns@VX zV5JEb;Zz72Vc^@x!oKGAB;dXd zc00slbc*jgRgBgO+Te6MwK8mq=Q|$AIj8v$f00K7pQ+eoTU@28wjI2MMPuG z^$VRFg*$bKR`_t8UwuQVvV2(Pt#1HYyEW~rcWhFK{dd;iQTBVF?3g@`-Kp$Q-&T^O z?#OCsBT%f2Raty5+IP2_w?O#=>EE16zpLI&hgO~L;N48w*Hl1g|6nlS#i_E_`ig^4 z``_`>RM~%29ejUz<8|?XU&W`&URE9KT)cXcdJ+JUvahNU?C?g0t@D0-s_d(31P8-b zX84wavRe@%0}ryn+1mx}ukdwVM0zs4(wcuNJDx@f+Fx$BJ{OVraG&~- zvK!M*4cbo`gO8w%VMg}?)$~S40&<|;Hqud?JWA#0QK0O_Su2MiYb;k1%{!hTh5JSf&-JP5`I zY^p=4g!usqUq@7o2jTo+zKq>D9xR$4!tvl6^MgDdES?{f@nF&XFgG6jKR^8A>n{r5 VPmoH-^5*~m002ovPDHLkV1f#e3FZI* delta 1575 zcmV+?2H5$Q4dx7x7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1>{LYK~!jg?O2Ph z>o^E3G{#Pv-2eaFWdJ*m+BxlNrPY-V(tT9QOn4bHc|3mY?=Yg%Pv$T2{CpaQVES{K zIHmLjflSYdm}r6#gCOVp1%o6*PSuz)OnycdGa+Z#4G!da6h#p=M=wh$`6ZLcnSeOY zYJC^VpFau|pcS8gU#}n_4gL8H2APKhigyOXzg|WVue~q~@e3Htf5UTRzhsG25(v@| zU&Nvi_kR|4{7cFU1w;;6X6a_o@!|{~zXZYbl105?Z3mLf{Q?y2FGc8I@INUYKQ9%S zNP}VP%xgO)g=FH@9Xy9;2LTSKRpa;0#=Uynd%#3YK}HjZ+dH>7wFuSU469WUFGmEd1bHX00{St{hTj=vXINLf9#D3I zJp?UknhigH2fi_Ydv&;(G<-|J!wLcitOB_bpxWB@z?2GKOC^xwad7w5TkW81=T6O& z#%VKHX>hrsox*Gh0x(cSA?|(gCk))5C4%`?3A9`-53rr zn^|feNJ*Ls9~%gRESD4%c;bctqo9_Wz3FPK(7RP5< z;#tyZoRc1o)C#$1Bi=CppS9O`@um@*tVlp}fNvPkMcF*p%&j(v3@oh|7duEp2E(@- zl$T|Hb8v0LVt5RrF~L4P^|2LKTs;K(|26P5NF)yG@d}X&^e&81LL&wr6Q?^!)|2@x zGlEVGo}KB2Kzxqz7X&O9ypPkH5afhcf<1>GVI9c*9EvcV@FYv5Fb1j3(wjz*x(!aA zDY8w+Mqnf84%9{v`((R*qz=$D^TCEIo)Lt9of{6vd&jE{7`QUXwPB@ZK}YU*Nqk7W zx!WyvE8w&bF9svf*lQfUZjsw1ISC!D`{d2VqM6cRK;CJLKjTLS0YC;YmQ(xdgMI$p zJ!}`c9@&okJ^m5fo^3gw2#T%~*`VKvqBFx?nt$!DwEswU``LV$YW}XjLU!*$K~?X6 zR}6YhJP&$_^}75>bT>R*R5#IQs=evtOZUsE?%ar`7)EmAeJyG8x&#+7?Ef|p&-dhk_lf#6+szt5CV z?ohmf+7Z?F9h85Q-Tb~HhH`hIz_A@!*V!(z9W)~(NS`2u^tauFBacrurL(JlZWX`X zMca}n&}Djf>oQFfTGD+h2i4x))XjSYoU{+ymZwM8rJjVXp%$dW5X#+jciR#x!P~w) z&>Jea3es3NBz)va+nGTeKiIxpGGfV!Ez$5N3c;#vdt{%WBx8t8Iah*16JcbK@Zi-KvI<-?^T8HeR?h+|Y``b1i{)gbOZwH&DF{ID? za0>07+_rZMF>IOzJMDl#-@bOx`^N)Z4c#j;#6Jku^^K!uQ6JRTiwp>?t3&;F9Wc3N z8mgxS%31w)3HbIq(pmklod|Bl|5g337km}}w*&|E&oUDKL&2n1-{B&Ea_M~#|346T zlb)`^tNNEahG@`Rf~MWa1n0~6r2gCIgHalPQvdBk>RA2r$LfDrg{JeLon<|Ifc4jOG8Q-w$r(|L^yM5A65*!T)0a Z04*P6P>1MLjQ{`u07*p#PDHLkV1f&c`1Sw* diff --git a/graphics/pokemon/blastoise/back.png b/graphics/pokemon/blastoise/back.png index 672de54975408487d888cd7231a2bd1658673e63..18275be68ca408aa512470ba20263deba92b8303 100644 GIT binary patch delta 765 zcmVm~=^@(%^m$7tuKhNanV< zpl8WsX`w#6WhmkZT_y9@LV^*Q`Vl&02+Ghs`YwI%-N|WFm#&5O2HW`k^#A|gy*q#H z?fqYW@!F6707NQ|nc082yB?@GNfJV$*S~Y1dZGw>vm2OkeWJoq67KW}Qh?b+DV0p3 zod9UWdPaZ>XQw;rPa3RKY#2D$320pd4 z{hTtmXfKTe(#8Ry50)O$=hKU}ojQLY&m5rKUOt(c)sfUMjRR5-#1ru-4gF90ZL1k* zAWw4#yc$U#dQHTF>Q__xq3b+NOAmZxAV30^EC5VuOw&x-RO36E$@!F8beszyvT zdf>|dumE*O3Wzid^i8ODE+np(6aXMwn-xt;W1V|o^vnTB4i!ycN_8UA?0A0wCf;Mw zZfF3a&IaJhhmlIyBhYxk4%*aG&q^7lQg@MZ8&Q(N736DEvqV;uK4kwbQUc^n!2qr> z!x{?ffy2K4>VTjC>N2ON={y2dzRed5NS}c%7A=S5LAjU`q3=78aTX59NuYFnNXovy z?@kAx;x+)L<_F;JzPoi1>;Qk{W&lnI=(_G^ZvZTN(6Cl~WPONhFF+0+m>bhXRG}m_ zeSf-j5gougLB}GJ9U9AC#xNXq1}Xu#o-jcn#&3tyZmk7t7n`|Ra-FY!ST?Y|RsxWR zotpPFV7dE>#`AF9tgQ;LRb|Y~0VHvNi}L{}*r6&sp!n?*KLRRd3KwaC!c)>%m1mpn zjpc|$ctB257?o!?+l(wgIUEp*iwdE807SsrxkQL0C#CFeeTcvbSX(mS1o$PlxE=s6 vK)}fsAdj=|{9&hMRqLfVI6!TIe`9?I%3FOFSu*!C00000NkvXXu0mjfDXvlI delta 677 zcmV;W0$TmU2I~co7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0%=J^K~z|U?Uw6~ z;xG(GNmRQIo2u{swj19XJ4Lgg`M1K-Xh7ned`_LfGTrBta)_z{nc zZ&E6$W&6lb9pAQ6Ookr?*b>ig%Lh#$0CE+yB1h@=9>$e^QncpmpRYlQ)WQJp9t>c2;ATZ zkOg!JcvOt{^>K#MIg$YJA(Z_YIxvItoY{C81RupL_;V9~7;g{Vcr&y#%4#U90VfYC zuw$el5VBxQLJ~9$KsNW_xOH&n$GOf1jQk94@i8~hs~EfqL1;G6c&b7GJ_l(F`cWkV z#t7&FnIY?3al&O2kK-t;n1V57vIo||E}+s#v;Hhd5no7(*m-Us;0_D+`EatEX#CW`wgTQ7%ZwJS@YM91a6aK&{@CeL1zHP41 z2!md3bma-%K*FQr{MX>N9u%XWaZDK@N1w?lP20l&GUGS~{p#B1ySuG)GuBGAKVs z0003#NklCCCZe2EMBCv-WmY3 zZgCq+Pgu_lxJs9IT*i!AZ4(9WT=E1d*{HVdm*g=n6Os7szdq;DHA{ru4dP{wvA9{$ z{wyWsT&8&5Z+;7^j^GH?=#!@_e{yG4c-m!QuHRl6|E~0rz|@8Y;!J~JHo^?sHNtF_ zI~8U&fJPWH*MuSV>4X7K6QMJjAH_G6Y_ jI%7W~`P&aKKan5bl>5hvs7cGr00000NkvXXu0mjfLR+do delta 357 zcmV-r0h<2X1G@u|Uw;8cNklK`HHQG z1u}&N;VomtmjCD`p_A1|3Y{<^@0zg#-0|r6K8`=b_`8C&CTv_y*pl_JZ$n%I)NVHP zFcWo%X1m_9KZHpl1_6++WMNwU6F^*GaYk01V~>bTJY0mW0DmRoo(VflTSFPJ`zcBi zc8)S1r6=s?M!3rTJ1%2J?Y4=6cP@E`l%%R{`z3jdekQV@of~i- zU9(I$-6CG`7>k=Z?PDn^=Q79h{#sC#1xG?9ee!%Bj8m)v^R#4PqGzv+e^>fSU}{SP zagU8)Hoy$mHD16h)$si_FxDV6z>tXs3~~AwCj$eX227~~vvoCKU|j5hvUVdhO00000NkvXXu0mjf D7ObG6 diff --git a/graphics/pokemon/blastoise/mega/back.png b/graphics/pokemon/blastoise/mega/back.png index 0aa5d66e7335b7b15d9f621b5639163ec52ed081..94bfea384fb57621329cd941c10d30117a9e5820 100644 GIT binary patch delta 669 zcmV;O0%HB72ABqrB#}W-J^%-FNliru=LQD>BN~?rsILG30((hBK~zY`g_S>R+dve+ zU5GOKh%`9;7L}($pohV9O_6Isqr>1kS8LOxxpcoS+LhtAO?{JXfL+m#sj2 zB*Rfb#Wfn0LlAt;TJ@sf#CC;RyVLlQ6gO z1vV0k;NYm#1PJix;JDTWS_S?-;ME0MMFg-qFslo+mbA{fyP0c!^4FEyjhEYx`2mws~xax3Y6eE z6c;66=A;?|EMW=&Urmu()#6rw+av&92uRdCQ%OTW+nz!J@b?!1I+003K+6^*cm#iV z+8Cg^-+rU>B(C9e4)9z8x>-S70^5H8_f4Q`L5Se`al6g;fl@%gG%x;ax34+&>Foel z3j$XFKM}aY=gX50P*#Aa3CBo4dS}L90VOS<$|)7EsRa^c?^hKtA|OpuO`FgLAiu4F zQI7z>5f~akDwp4NNhJV$Pe0ul0E1CBz4^TLOQ49#66klg3*~Ce3(43eV-DCoQRNgy zYy7_*m(PDvrM8p84C3mWd1EjO?3PI=WmwZT$~X6atY+~y86~!A00000NkvXXu0mjf D1#c>j delta 701 zcmV;u0z&R+dve+U8pkqh%`9;7L}($pohG%GftU>qnT8Q_9zW5}L$9)9Gk?0Y`1{n4WVlg}-5d4Us z6L5k~;M5Alv_1aH3A%uPQxCLv5x5eCxM&5^BN>hgl2A-~1tEqeJ%WJCQ1G4}C0?Nj zy9JCzQVQNFNG36lWXL-O)FYRP2-^fFTI-KAqezOdMWAPSo-c`r5)rk;b8{^x@tCLV zP_WD`kj8?iyfdC_HEsh=Ts+eXM-U#Igqe*mu#r?m2S=qQK!7KI2gkK8&?*Y|fuJtX zDj|T?fe&?o){=I4w(b&Woh1Z3uDS$TVW)z@#W>|QERuTblML1w5Kqf`t&KBV^WL|&}0p*Xf4lHT{+9(3= zp6Wndpm7jqaDQ%pfS>}J0_p!DRvMEr47f_y8fSHqO2(W}H0DLt?YE_F{0dA83 zcqSlIvs`5j0d0E2>85#TohLjy?V^1Cjn1c2}JPuB*( zpiOT+Z^8;Fld1&z-R(lT8jDggcEOkf{3PuZMr-`P9aqnP=2P2AVFq#e&Ac&~1$N6M jlrpSo8}#NF9t{2itY+~yz6lgJ00000NkvXXu0mjfsq8mX diff --git a/graphics/pokemon/blastoise/mega/front.png b/graphics/pokemon/blastoise/mega/front.png index 30fe7b0735155ffe8987e22f1904194546ec0179..0f3514e9544f4c84ccc911597fcfe4c0ca393f46 100644 GIT binary patch delta 1061 zcmV+=1ls$N35N-gB#}W-e*gz`Nliru=LQD>BOZ`uY_;qBv;AWGBfVVn8cHpD1P1F)|WSne_xfF|DnDv#>G}<(jHi5@MhXG_56pY!(Xi zu$d$Rw6X;3xs{c`e=t~ygvuJJO2C@z0Fr4Tq!B`jL;=~XY>cQ{k{A|+fUyS@Q^1;l zA%U$J2bbi8^O!iathuoZtb*l@5R9=a2{_Jt4-hL6GGsiAVLLIAO=1<^gi9erc>^rw zJ3t_$--Q%d7+b(W5WN3aFmD8yr34&%vIP`;aVvZ-IAFQQf0D2*BMW@93Po^rBD@gG zAjg*Nn2W8w`)(YFHy?fxp}35CalF&YgH;$Z`0y(NE=k)p$+jW24S*tF0RkZaNL^7d z)kYE{k0ZE({ulnzOJd31t|b+O*4Lvx(Gn2 zcR`ElPxO2-e@KC%rVq4Lz}D+KJTnGWit2Pq7oaC)Ab^W}^cMY}D4p4_F@JhyO$^uo zZ5`P4i`ai=T)+^MKBLZbhKWQ;)_Y9>t?7O2pPl@THGFS5HlD6%8U;|B|2!QWV*Hsw zY42HI?-Cv4u#$P^)z#C=^2PcbP7&%V13ap~>GJ!{f53aI9{4RVP3r;`DluRqkgQDp z#}$NrYs6pOV$?$gfA-_dX-> zQG13?+)1ZT8p%!-V92yCUwVJ7(FS9FZN>m;Y*wZa-7Ujc68I08rkjpEzs8+Ncd9E1 zW`35$e;sxnudR`f+u8VX%RqPNyY?Rle42qIIQQEb3A8159oY$rlLYj0?zXc)0Y5pV z3wd)~(6PYExetx(*}{LgG`3l^f5HdoWFv6S%mhewc*xu@#0cXuHzvj@z}ytTwB+9g zrfH4kRl-)=fXlhZBw<<3ICy`1D}vC=hA42Ke+?x8rZWogtc!5uWs@vOXCzsGk-V@% zKJvEiLHYSGmMqAUFyubq4m(NH_JO=|BvWr?0G^#hzNEF-@~Wyu58G%TDB-|gUXpsb z^8hfA&rLs>Z@$SHTXMgez21RaKwlzF?}Z>t*$@ zUuiaq6}@y=L@5IlN?#CvDVhMil97ryXropJC};p}-7uP!NaSluFWvd*Gk`?O>XR|0 z)ODTKUWmx5T3c0JG;6ezz2arqyA%hT7AS%dzW@TeU)sn=pC90kFOd0*TMp9>CH?x`duj+F(zT81LH zITNc8%OI!D#I@&tTYLA-Fc5Fv|13gr9rfaLr@Te0TgRQ?>58V22fhCH z)7~-0pIVf5o^{POF+mP1nWv&JpOzNS*OzdPP+RTcQT^4F-){!qS$4p0fNeWhs8EW5 z2?EK=C_gNJA@myq{_+t|WS3xwstJw-X|GE|5pt9J_WI%R@dLai#tR#pHY1y*>(oPj zJK+B66A~YcXXwP8bi1UM>{K55%xLq)>W?*AZ^&=$7$CLH%H*TFrT;%P00{S`k znpq%^pPbXVyg9DuP+;ZUhgwG92>;>H*rw6`2_K-9jlemx6Cl~)KJ)%31{jxlF)>U5 z=A{6pCI7ZCO=l>t61Ln1JkD245{}~zgLn7$A_!O65P9yiz9hhQ2LYaS5e`<_B=gc4 zN#2V-%6Uc4=C!1Oudl-cy(P*&6P1%SZw!uD7 z#DTxKCRMF<0O-l*rkl)HsdL5_+%IQ#m-`QDxiXmh+$mWA00008NkvXXu0mjfRN(s3 diff --git a/graphics/pokemon/blastoise/mega/icon.png b/graphics/pokemon/blastoise/mega/icon.png index 5abfe44abfcadc36854df394f8ed7faf699df853..f96fba00f2fa1cb947e7cb02d7d0a398324faac4 100644 GIT binary patch delta 487 zcmV0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU4?CICT; z0004>Nklq_ZV!)t%wCe9YI*yk76D$EX7|nuLwAk$*whlw2T2)QWK7s+cFL z1{y7Z)czdQA(R1tgwMWek_xbgQocr~x-vynH8~QOg&cXI&tMNR^ta?_;BVUi-vU*7@h!;~F3u<=c zt)FJYwH-9yr668yV08jLBJm_c)m}bn&vVTC=&93jdAAyubFsb0dDIdn)*3~0TEJR-q?3nD+mDyK%r^Zf dz5t0+4h+L1d-?zX002ovPDHLkV1gZh;}ie@ delta 444 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 delta 619 zcmV-x0+jv81=9tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xU^HK~zY` z<&?2*>M#_BBa0#3YIGyzZU!zA9lFGk;+aHZP9+b0jtuSy*B!D%qC*E>s}mjaF87?{ zkWh+)I$tZug7fA3j}MUGzg~BHZ{?o0ci{tAc>@TR;ui3PL6IL|9BNFD0KbZ&U?YZN zV@y?WFHmF#R<-j16RI13qkO=|)y<0sm~?ehZN~-1Y<(S6G8+MMSxM=Lm#YHl7PL^Q z>jJkjlVxf|063KS`x#TbdLY?f0aAMg@GA+mRH_Gmp3en23Fb;B1EBW< zKqFLhS=&XL_rUXz(0!FpxlE49)BLL$puqgum(3}J#A#@(`81IL# z<;?*h3X_2Ccr2LKx-2gMoPHt#cB~r#0v$!%o`9GDh4mn8+T+9TH#A@q2!wSr2Y`t= z4Qy36hj)zN(1e0M6V|pLXFtrx&x6Lr9UyJOn)dG*;BH4o0Uk6*;8+iaJGz}mC_sfp z03!N-2ljtB=yFZ~w+IBQw&?-(0A*cHU7g1Oh~Tkq#XmFV{Upr;t9t+d002ovPDHLk FV1nl42_*mk diff --git a/graphics/pokemon/blaziken/icon.png b/graphics/pokemon/blaziken/icon.png index c3eba0ef66dd1fc88c26a543b9a5e9cee7ef5986..e731b5745ed04dcbdbcca95271539876a1475745 100644 GIT binary patch delta 375 zcmV--0f_#p1I+`FUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU51#?`2m z0003nNklLIk4AkK>uPA zEaTSj?=~d$+esz z1P&`fd`2D8n*qr8iXhtsiDW|r`?F-u-Oi@d#lT+p(sjzIZi`L6F0HAf4WdMdl(7kf zQCTDctr5WMM|FxfmHNG}$0vxNeWHPiG@hqAp#KEVTN%&atUO<@3GAEF00dz^uxqdX zDh$ko!PXQ8s7-Zi2qUcn8p0s6i6IPN)mzjHlh|?^HlBq+=T7BQL?YY>WT^0zFAYK~zY`g_TW?8Zi)s zY4u3iVz;AYmR;imfM|)Z8@uZUS>yn70VEU=)>(vEvjE>VRc<$suFBw5OZD;U)$#-a6Q}e-}UtF#iw$3+?Ne zf^EZG03;D^uw6`n2ySdr(We4LZ;MYGTW}JvF#05q3V>8D5*aW8fKh@xwlb*-<0z4b z5J6NfOGJ{$L&&7Mz~w+$a3r>E1b~*x0RFWjz=4?yAOIyno7$0^RwiW-^B8~xXi3$G z$YVh0B3S@j$T31>e+i!fF90%uY?1&P*ed{;AQuGylmMHcCTuc-M_kX89^52!=t)2U zxCdHKQ$+syw$*wtLJB&Ndyow?fC`W$0`$2azW$l160QLKF9oP`6fXmij$2KF<97cC zY7W9@v#WIZt-Kr^-5$?lgfHo`Q-GRxgI)ILwA*Tr4=W57e@<$>rW=@t*rbK}dYK_+ z+NvL_z>qe3{QRcY%YKoCpKl)uV88#aKCo^mJM0gd$7(gyA-MHHN$IH^1f(l!jFE4x zD-+U@H47yo9Uyi3Kuv(|(XfmwR@m=)T+yHEnl=yVG1NwuMsMGnn*?i(I z?~_BhPbYT+`b29tu~2|eY|>i)(;@Bf24KU)d3`UCiiN;JVNquy8~qEl8p`V8{5lB$ O00000)+kA1>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` zg_JRl+b|GCMaV!}lVXr;saYPth7Bn0mekxJMGmkRSilGz*D2zyUD&*BW+-aqh!dL? zfqDA#=aW<=EVZoeFY^Fcga?3f4*(+o_5q;W4WXdb1pqf6sn9-`3eZj+OxqVg3$VNk zfPwa9*e`-<{jvZ^!cVY&SmD3OLJf>1U|1d>QYlu2zpmpx^{k(jnA05ntva4%Z|Ea+tcc%UTcP`Bi!EtArS zX$(LDq@-#@>z2r0-w>OnU2017~o@X)8a|N5sAC2R)zUjk64D4qu( zp57!0j@$kps5uCi%x>cKcO^*B>v24W{}Qiz0jT*j*kyl-d!YsWXaL+`;Vjl`dVy(( zU0g|ZI**}_-49WJU`U%iets3}`Mk)&&)2&G*dM-2b!CUL#r`OHRGXm=-gZYJrA597 zNKaI2UH)rro{+92uXzt|AdCuhx53W<9dgEl3+LA}eHNYS*sSLcw6>!HY3V2op(Qj|;_1Cs=&_psY+@<#>39S5$5Nt> zmyg5d8+U!5UCKi|+X?6+t^LeG27IMyk# V%IaaSY@h%D002ovPDHLkV1h$69fbe@ diff --git a/graphics/pokemon/blaziken/mega/front.png b/graphics/pokemon/blaziken/mega/front.png index b41d5ae14c47a3cd3f0dd6501948b8c5cb0fa9d2..b08af4bc618e0c74e8757ba875366e2eee88a1a3 100644 GIT binary patch delta 923 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 IM6N<$f*+;Ja{vGU diff --git a/graphics/pokemon/blipbug/front.png b/graphics/pokemon/blipbug/front.png index 03dc7d6ffa5688bb6479eddc8b8a1c6c9d49702c..0ce868eff778c3e473df397daeed5bb769997925 100644 GIT binary patch delta 406 zcmV;H0crk(1pNb$B#}W-e*gz`Nliru=LQD>Bmq({_k;id0bof)K~zY`?Ub=j!!Qtr z?W$QkB{2`s#!)54`1$}SSVBUuh8c!*M+{lJMV+&_EDV*Zq`UxhV?^mdXZkKU%(?3b zLvQt`|L*>~Gh?UtpAjAdi+gj5(P0K7{+ zViH`SU2x5{(yD6%QITVp!4ZBi?JoerE`x>uX;t}|asnElUw{Q({s5DEPztNl%O7=~ zOEnDRk{1$U%!m${l~SX?T{+Jj5RpJphUe(GymFHj3u`H0SuSja zPrKQ^mo){{+imlke*v5L@Oksr3Gf6NxG*k3>N|k?{>-8I z!Z*T6ER9WLLO|G+HROSt;qu5Ag6;e%{yu&H?ebdGs$zO43;+NC07*qoM6N<$f=q_C A3IG5A delta 410 zcmV;L0cHOE1B3*SBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bNN%K~zY` z?UcVx!!QuW&sDp4N@5Ypk)1gIg1kOzcHSimR@I6x%G8h}7NV*xln;op04!aDRc zB3-2zf{u5H4!uBX}YRr`-u))J8BE5~b=O)!x7$b{jxA$nJ1*i&|58 z4zhcbWlB#YqTT6yVY0agz!E^dm}I%aF#rwB3uQ>)rdXsNh*=;nqEm8QgJPTJOXoOX zRV-Zzr0U&kQE@=E+tt4jsEPLjTUJ4~Xt&%f{MuS?mE+#6X`vzdqYG zDczlge81k0eU4!iclSa*^_$IuU#(;WgrvRP)S5Z3>Y^%}Hx4LW*)-aafLyz)W*^7Q z{n_vOgWd>lv9fM9W(=fTJIfxp?XM1eA=J(v_16OU0qycy)M!fUsQ>@~07*qoM6N<$ Ef;2(83IG5A diff --git a/graphics/pokemon/blipbug/icon.png b/graphics/pokemon/blipbug/icon.png index b3cf1cf79296e5bf970ef0dd8e51bde853c04ed9..fc7e5d4b1a7e22d80f8db2a41ec1dd6eab397d92 100644 GIT binary patch delta 316 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 Z=^s{v7?7LHdHDbU002ovPDHLkV1hl9siXh^ delta 390 zcmV;10eSx81MmZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ZBgD@0Dp<-f+BiTDh?GK>tw4w}679^gx4vye`S7*W>m@!ktN7XhV#DLQu;9{nG z@Voa3Z_}oKH+ow=u zUuO6SU~2mSm3r|(9}fV3)fTmVq`T_b_ zvY0@a0_ritOT>{_zEBT{`yzbcwvS97QB5TU@D(8S!e#(CodJ6@CktC?rub@yILm-| zqGc-wz>8`gF}sC20EZDEczP4Fo&+_}4M4zz2{sdyvcEOWaSfjJ`soB3Q?v+RUPG!;@rD{eyDNo96;4yG!SG?;F=2s9AxXhLI3;T k(v_j=@2lFhNz3#809J$;kU&vqod5s;07*qoM6N<$f|szWAOHXW diff --git a/graphics/pokemon/blissey/icon.png b/graphics/pokemon/blissey/icon.png index 69e19ff5b2bec8f7c34388d6535d15a4d52671d3..4c92f8082b4512802d305a5c0633ce5614900cc6 100644 GIT binary patch delta 301 zcmV+|0n+~b0;2UP27b&%H9hLFNd$aMcR^9MdpsXsoFYaUk`szyY~-Gt7v z5$=;7J;&+O-BcfLx(dlS^;~f4*JzizhyP36`T_ih40FdmTgHDQ!$I zwCCnfZkG(2=#{OOCDc)%TDOA3eB+M6v_y!T`379ACnDP5c?oeTgi1P=Lwa)|+7&xY zErD(k2YhHvM)_>c>k_?Qm#9G0f0?I&iS?|3f$cBAs3`+Rxh?|+x?3jR`2efgoG1bG z1x&|;<0CL8W@f;+r+|SR7$uSc6RmH+{K&@@>4em7xweSv00000NkvXXu0mjfztw}r delta 262 zcmV+h0r~!;1N;JzUkL#RNklW`1) zn#YZXsu59gH=(m^g!`mN&vE*6=jzj}tB{OK&lLyb7XwPm9N4##e%QB{c;eHSU^yD5 zs8{25)G_px(uRAYBR8jVzh;o5XSQ0_(1`-ox)mIjo9P@(ON6*vZeXglBcdH%*N}2T zsHAf_q&GLBLvg^=66h9jz%Q-IDDTZxZN}?ui3;+X|L;5uOsr=M4D5daM!5_aHFX&< z(9M~6=L4)}bD;##Comlormr(FCT3>9Ob-DAIWS5j114JEfccS+59x%|ZjPEwCIA2c M07*qoM6N<$g8DmsQ~&?~ diff --git a/graphics/pokemon/blitzle/anim_front.png b/graphics/pokemon/blitzle/anim_front.png index 73f4dcc8b3a666842f841d5968205ba01c8e875b..58fc91d190123eafa32bc946b965b184da20343a 100644 GIT binary patch delta 865 zcmV-n1D^bp2eSu|Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU7#p_Ycs z0009PNklv2GJV5J2yQvX)YLF2smCH@65kqzP+929vfw}-hMyKp%Lap@!V{{|}ZSz=5fNt+10348NZ3sv? z0QAERv$@a32-8q^0br8_>R}6L?6ZYH;NF=8taah;OMnJj>otIlUjuLt_b~^^n0aNO z8Wj*O6|`rzZ+`*d@}Uv10V7CS)#2AYK)j7%bgMdT^Wf}Q|GTbQTTF!pX0SD<+U{Pj|!a-)fU#MFy`35LOY7kdGkPw_XogxH%z z1QUEafKLdVAE2uZfQvXka9GX*#Lj*60>_j-jN-9#3x6-roznkt`F`{3n7K0q}g zD}Zi8(LpCy0SjO)L|}dccrQc~fo2v?GXZEWvhbM*%mcL(1b3c$f!>!A$gyTSejp2a z^Xq5i8-IC5j6CvH!2eNO1r(>h8>rcz0i;B0!{Ag5Qw(cEF-$QmY+;8IV29RH93Ci) zwSytM32WaOV+#>znNyYNs`u<45qd9k9*&J(K`j zh`lZps33eT_W)j;tpM6*eD@FV19%JY^wl1=w14v--QUxhul1m8sUGv}nWr}ZYFEJd z!*^iWA5c+Be}G9w{n6uNISxmCIU|2ax#o_&we*JzKQO}xTY^7O_t!JoAEKG)4^<_2 ze^@8|NCkgbr{zKL2bCry2q_7IA0WX6=crSO8GVpsYDFBtt%rbNNOS=k>-K-Pn1Ci{b0fb0)yF_--Td%x@t r_|T1HDnvA1cTA7yaQIXtpHrFyP{400000NkvXXu0mjf&P#l| delta 834 zcmV-I1HJsS2b2epUw;E1Nklezw6o7p~^+}!bt~7|dEN4U)x)eth0=6=+ zwkQ>X#c9+V(hl8nYlTGo6Bv6884OD^bO}p@lmX>O@!kb!rPwb>2!s%pGDQCJ{QPX^ zeM0<2qp@N>%Kr=yF+f5B%5sV)F)27yMj1vCzVg+SoWIR~tD;r4TY zW@uil0c`vlfP1)$Ie-bwOAU*$0HURW_VmsTAX+{&0ydz6Y>U1n%XbTbbO)DF1mMXm z0kW4CMTM7YOMl3sIPz3n7NQT3scCUC&YSPO1w92wwlPnoVC3B@Mxc2D{PmJmz0piP z2-J&!F)oAmF7*O5pW|nI38^=U1jhJw0G|*zKR{O-0E0L`a8%C&q|SZt0wSQ>N2?EUC3^DvDRssJc;8m|#Y43h? ze@|!rt_O8X^_XW*KfVS~yF9?cAHD(0{(y>7`+ozB4fRKlj}PJ-YENHFq+K=_+` zJzs?dqd!)coM1?oU9y7FcU2RCS3$w(J9mgc5fluW9+IVm1w*E;_J^=w^eZD-!N6JG zA3JJ**MpYf{Xx!w_Xjzj@&16lpZ5oRKDBp0UpLe&5O0lP^=K~zY`<>EeIj(hkL;D9uo^_&+$*f5EL3iagpsB7t@&uY;@9|HYTw zB{cPtf{UOxWVz41_q`u+oWDNYW1z`?9k`O!$FBjpwkw050yhbce*ny8L?sYN@pvsr z808SMVjCxj6rvf3q#96&rmO(Wxh8O~LW5>SgSgK z2y>+b#+ZBuJOw@OsT-tT79cp{YHEOM12N(NV5abjFMAmK0QXH}O$+LuZ!6Di+)k_*aE z0u2pdm!`{J3(m{OFK`Xn%HjyhU=(Qp=|5!!ebiS(JK~zY` z-P6BH!$24S@Ek(tT#FgPIphQ<9ptb>>Eau>v_o+SN;8x!zJo)31-DWta-%7r`5{-0!}BcX9sxB2A#}{y8Ar3P=-Bu?Y`;3rH3;04R2t6)?c^ z=t+>dSO?>lHqHRBh<3n#GCRN`+S~$M=N7@GU=~19r;p%S^s{R-0GBC%UsD?d(k1{1 z*5VWZkP9Igq>vp0nu7uL#2sKR17H+jHPe8YKngIDaxVNwNO79S016-}^}uzAYXU1N z3lSSHf|OuJ&uw5->`!0J0CN=JklmOzx?X>Vi*Dp7%W?^0vXVu7G6lH!lnilQhi0c>Ox$$2-d z!UoYK;oL*?y~F(!Way{^I&Ox|p}3)xUZ6;&tTh+`Tw&H7=K%^o!B<@ed0q^$%sBt_ zQ6^YJ4dkum1Kj0R)fKM=7PaBE7_4P+vKm1hjAI34{!baf5Y!c64t*2#r!XGG3M5-y wg!B)E#{d8T07*qoM6N<$f_M1X0{{R3 diff --git a/graphics/pokemon/blitzle/icon.png b/graphics/pokemon/blitzle/icon.png index 5df34f26cde58e6d8d63dc41e824d09c63b49591..011f5ffcf5fda9752deb22c4e65ed93777822974 100644 GIT binary patch delta 239 zcmV=W7V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VEr*O%DD5 z0062;CTvvmi}Sj1id)B|b`&K^y)3@onP<==0F0hmLj5QB&002ovPDHLkV1g>TVm|-? delta 199 zcmV;&067200-pkqV1KGfL_t(IjqQ@n4Z<)Cg|mU>NJwx=lrjJ+8K5ID0yA~Qws*+S zy(VyI>~KaxhCQ80evSd*`K8)FSpB`16s_r+^JJwFp`3y z0z9CFJZxzq?nax8-@rQAvD0p5V2>J|tvhJKA{GTu_oz8IdO$SMGBCSxm#1F|12Bh5 zAqMfb7?OM%6{J*yenkJml)`ZEDvapIvoN3Q#{-0pZ#b}*Y-0cb002ovPDHLkV1mjo BSdRbz diff --git a/graphics/pokemon/boldore/anim_front.png b/graphics/pokemon/boldore/anim_front.png index c0d5ec5e2759a021e46d05b861f5fe72df99f0c0..51fba613b5d41c2b48002b70ae240bc23f3c3b45 100644 GIT binary patch delta 1109 zcmV-b1giUj38e{;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU7>s36Mc z000CCNkly^q>R7>6ATXX~+@NY~l3X7Oz*GxG;vdy*)rID`W=3LoVO0j6Gw z#dVbCu0&~)^2*CUm-ij-8qXMxD$x~dtyY+M=A945etw4WbbtM%%f8V5%<=vkaGc&H zfS+%)`bH~aUE}$mXMoYJ1U9=f1@`y-G-Bea*!NEZ#b%nOoV_jf%@SE(0z;N|S-jXx znw@t*jQ`*Wu;}Fppvd|rVW|XI1lxI~F69G`<=A0mi(m?OI)7Hk+^#ND=66_v$cK zo_&PxV;=o>4Sz#8-D0QBW0XS!|KgJOpBZzUs2FKKnzh2h2pj;2*h?KSQWlYS2bbI) z;8Vn2EVcF)^kctMm(Xu87J=cEW+4QN7=MMpUx8ex=&9YguxXrpb=_D0#3E(Tpbu0DoLx0$l~L1Ck*^T)0No6d`(5w=kR+%8lehr@WO*!ou7M_ zioOJ{7X5SbpSGC8d)s2&KO_Iy5ai9b#rE`C$NMRm_nMOv_Q!N$Jl{D8JlJ28`xxSZ zi;S0e`SR#Df^r95(%B0jfPw0T%(fG+NLu z0-2ba6%xafsZNLnV8nKn79j56&!GW+xOxOIKTsJ!>h6XB@pv!ugRcWtk*_>8KTf<> zf&0qTGC#nw=0oo^Q04~!R-QV9r{stD&3vt#n6dVpm>bRhW9>mRXByDR5A93&!FR7>B(U&emf)k*>36&EnfsX8Z?Wdy?o< zaR>)$6h6um0!+OUcdi=1#g|M`(rpK7Qw8f#;`bFXKNN z=9T)51Vhfg~3mEFoo3>J7pcC3<}|2Hu?BFW0n<&k)tegg^dw701&V@ zDxf7SAio@J@_%rEcL967RO&5wj{Qt+LchUW1g5K%Ip-{3;add$@Z?5$ul{(*O&Y~t zZTs!_h$jplsJ5{15tk7AhiCrn5dvlG(F6$fpbsI@U2&Yp`VC$M2oTdH0NAbsx;4P` zNQwxt0ki9XT(%d#7DEY8Vv?jbhYNe8JpLdi#Eyt5sDDXhi=YGur<}(=0G-d|UQ8)$ z1nM*{0TWIt?ucbP%UxfL0007-9?z)&=w=Y_cis~~Vy^^rVtWAS*&zP3_U@<4Snil} zrvwNBTF0U7r58_^cvw|HbIlcA>G+E2$m`*u@haeFTK=&$8+*WA7+{Q3o`t)HS`bs`F!{PO6U1H9)^I!^?OX|IWB^t^lO_eElYP#_a{b zdKZgE3f{5c=XHJo7>T|FZWkBap6{nEW`(`2Sbv`-!0odk$UEGMt#h`;IG=)f??Q6M z{+Ld*S33)VC;KaMA45DatdL0n)U3)~#)CU3C#=wwDtBWc;{gJwAHo`PFXBOHCFBdt z5H#gp#DkAfWPb&9gQXjCm+{~M093bSHRW!Aq{2Vl$ovM22$(8&`0WMzcE14daFE*w zxqk{^_9^U-8x14UYXDY=_J08TbH>33^*RWMMri*Z2ar1l!PWs-LHJ~UhzAji^n2gm{ovu!QTGV^A`htKYx+=qU$+T0P4K6_S*9Sk0&x;c)SW=fZ&~_ zPDhl}0jfQ&12zJ5skNZaJ(-xA9b(OqsgCmophaex79j56ze53Be{}>fKTsJ!s_upW zalDrK!Bqi6WUHr!$NccF4(v-)%lrV_nh%}xK#?B+Sk(Y=Qn}0z(fj$j3TR{Hdn=-E s6#I`I1(+#7BR{mSb%707*qoM6N<$g3LYrPXGV_ diff --git a/graphics/pokemon/boldore/back.png b/graphics/pokemon/boldore/back.png index 1e01bc5ebb9c640829aab6b97a35f1bf0222eb55..b576908dba2ee702ba3a962feb91631823a71653 100644 GIT binary patch delta 503 zcmVBqH!ghV}pe0l`T`K~zY`?UKuG+%OD9 z6=P;!O6op-q+Kgi_La?cJq<8+e;`KI1zOJ!81ZM9l%Hsg$-2OBC6Gs#yb_hV#s3+H z@D32%m+Jxs?NtB_`l~=?5U=(KD8Tu&TRfiB9WY>zL%$2u{psKsfAG!gaK8t99{OiC z5nR)ByTGT*TV{g6k6qpF0uPr|TW<06tKA2ZXVmNx@#_x24pfr6SV#Z+U*HEDON_%Y zz6o$VZv|e5lR6+wfG4lc_10_F@!J?QxC9Nu+Xi@OyPmICD^g$jdIKEWm+!2M3-Hvw zG(Wd9)LiEg<|!Fyf4VK8&N*kxEL~>!`?*WbxfCCTi)J1>0q$VlG|8vjK+8e42D8ko zLxmrvMUp%5rkpA-Snj!wZWYL*1*wIIc_c|kiP#j!pO9N+?QHbgWOlSE>P1(sK==I?;aOhB-uSph%&C}~Q^Z5~Mq?BC5mJODt@L02=7 z;`$HV!+`)4G*9R6RZ>8XqqVU)N!^Bm0fWRqDdf5>9wGn*Pf-vEkg<(zEN8x0zkz+rgb01s`~)AMRY>T_RjfJ6KG zgOp(bp4!*u*S3e6^3=lIB>_#h1;i<*+tOxB4}Xulq&t_vBXiMz%wxyEjhyl+-)B@n z@qxDnto0(T;C2KmeiL8vsq&2Fp7P*UfjnB^T!@$l58Hfid zWl%v?GeGF_4^+cjNd_<|>dxPbq>$9FS$6?BZ$d$U1|*O{0VF2(B|`52 z007}hL_t(I%iYqklENSm24LP`AI(;uAY)}0J5#z_r45Zdoq9GvquFcNO9nCmb{5Wf z+wm_f1M?~MbtTmr$d~;pfIX8b`Ulp=XZ@gAkKHq9wmq8T?tgjY@zayZhKNO@8A;L< zz+YTxCTh|Y#&BDiH4ROg!sP7PY!EN$NI1Exz1x9YdJkB)w{tPZEzn9MhwB`qn;%}F z9Xr7#fN7_UI~Yzbf3R1;v+eM&X4m zl1Y|`MWY!>;ugRME;JKWaSNlrF3gg;DsEwN_Gng!r+CC4+;-XCY)3A>2dvxLsTjiu z)KbarJO%OQdoNHAjo=)>I4Q#hx`Rs}+$(SMf1-R{1kk7=C!*5{7 zqpR diff --git a/graphics/pokemon/boltund/back.png b/graphics/pokemon/boltund/back.png index b1f44db7f314d25f7cee74a312bc8e56183010b7..88caa4a9762cdb3c76adc0b8f5517dbdd60269c8 100644 GIT binary patch delta 487 zcmVBr5)s4#WTe0mey0K~zY`)s?YM!!Qtr zOQh_at%!jE?5b0Ss<99Q3qzS$lA=tgTh)=f8Gkf!W1GyqCBy&e|9$7H+vyx>1(z*C zkobU72${zsD24DL@d3%H2B^m(#0=^0ih&yd%zEl8JQ*R#N)_PA&_L9oJ+Z>>j7$L| zb|uzX;sr)n0yBzz83;4R#JgE2h}*(i1mE8H0X82s6_HKidFeCQ#Tw z*96X{O@NZB2|xs53&>b)fH>t(Z?26hi^jZ|Sc5jYjNfe_AW;pRb6zyhAQPx@2F|Aw zdyW+mb7he>*X6)KTFe_3qXtmSy>}%OhJTV+dT%?v*TkK7PzvC~Vd?|WGMB(d-kg*H zbn-`@`}YZ{Ml|g^&1WxuF-xp%*0-*d|OI?T! zSY7C+NA>rkfNu*3a0zH#2-3(1^xGzZi=8euQS*TMaVrC4eMSzQL4U6w9%8SfUmQ`_ dCOxXZ;XhJ`xlN37X9@rS002ovPDHLkV1gfa*d+h} delta 497 zcmVa8I4pYGAGXyfQ()-Ekr6AO6L6r`PYNGEA z=_nmwyqW{^g?}JvpbtY1N_>YEZw&xSu>{|Rq_r-IlKL_zG=<6KwF49e0OZO6;=;5b zPcDF&2~;l7F@ckb4Wx8G1Yio80~D+=z&z!TuXcjrpJu#zuvfl)x?c6h6(V&U>E}M zqLjdUX`hqp^HDbxlSL-+yX!6x1WXaQ&ous7&!yui`!#rK5R z_yDN?YpDyd24@PrdenU13ixsWL~20mLQpFM>D?xQv#l=HiQS-HZgqgHkHn)h=Brf^>%H03}0#QjsK~zY`)zvX;+dvcm zU{(0$Ae)QGTyc9gT^amsuRPQPrC5s^-G|O7_2Re2U zw9q4Kp`m-Bg}yt{Hr46eIR}<7@AG?ir{|MpJ+Sep`JZ^JhZko}f1J7{GK|6CN#L~+ znc@JiJW7qA0YK$2Rv5xXctyR|jtRVlmy5U;E(24A4BottdkbL%U*YqQm`(~)g~kxR z-Nm&3%p8X=cUM47oBfmnOmmnSS9$Ud)G%(-3mKher$#`Y4`rqikn>m zTTevtJoORu)wf;Of71kGeuk@1z)QTPB|d0504`Jwdy#Z51rPM+Ek)C^y-pGf9_bB{ zVcc=Bsd~GDYYD6&w$$u^JF;sq9_bx}Eki$X-lBAi*Cep_&TtV3c&m#SA*v7F-p2$7 z7&_uIuGg?Boc;wE4>a(4b`M;ST@CC}HHAolBD}25vb}#Fe?*f zLb@VZ)`24hiV43K$2Fj^Hh4r35Sd1+VJCA5EQSzOz?K@g!G68LAhrVg=vvjCl0k{c zW85PW&TEdbesfi394fF`3*_fe{+2j>6DUJA?bjTH3T!)=+-~at{}u`~9h^d&Y5>nc z2z~>*+ojb>`jAZnJj>1*E}t}2o_{N(`3e=5DGvjtwL`iJ8rd1FjIRrZGw}U;)|p1cFStYdniqNDuO3h46?7DYa0wq25w zq8lx6*el?eiD*$QA_N`%ZPyPB!FiP9E;I|@ErZ{AO z0N!SkLjI}g>;DNev$}3=F+w(M#J=JI5m=wL~d0QHk8cYlzZ+e>;8Q1{%DNDWr zRDsMlfsDT^AeAe#bR9U-pd5%RdAtUcWJAm-0;IYX3k_-> zw$NY(!1o};zk$Br$aM$0z^*0R2fsK~y-)-IAeh!!Qs){Rby& za8e^RY+wb4l7al=hSo@l3VWadLk;P-bZjKMILHC@oW^bJ3~#D>$oF)*v(Hb6n+h|_ zp`0Pzm?|iUX&s#p?7&ODIShy10hJ_s_5dL2dguYJ5lGAv9)E|8(IJurtobtKv`i~u zs?wW_WVUOb06r1XF1iARHmBoMp<`;OkyFL#wUEt1dOg05GBQ3WTAQ^KP%E%E>#qQo z44Hs;_BLoixHOf`x60y9;@3+whX{)AJ^(7+ZrFFN+t-h0;Cz7iEg%2cfey2re1qDD zpF delta 285 zcmV+&0pk9e1BnBWb$|a!L_t(Ijop&5Zi6rohW!R7t7D`hg)Kum+yotX$7X7fs50h; zGIUCoJWINDA%~gF5XXRtF`Zjgy~+3K*PSt+5Pz!7tcSN5(v>NLKup`HKd=MO`R>#m zS_f2;9C!i%Q6IY*;0A%jJmF#4Pz@qkz?#P`*JWA?Q;vadFMpERZ`lJ}5z%{e2MTRZ zXP?k9Ra8lzxV{v!dX$qHUuPMaDJW{&)gGuPus3V(0G14yfLEU|!h-P8R3^d#7XPHa zeTn7}L2+pVpwj(r0Pc;N!*S6A=L5u>eE81}G??WyHK=|_KKjHcj8!TPg)yIVVa%@x jqt=};p&!IQ=oZHfyv>`iOL5}900000NkvXXu0mjf!e4@V diff --git a/graphics/pokemon/bonsly/anim_front.png b/graphics/pokemon/bonsly/anim_front.png index 0744736800e49f1c9ee0bb7203182599a533d8a8..87901044954859c3394ea5d213e8fa0eefee7f42 100644 GIT binary patch delta 726 zcmV;{0xA8F2B`*+Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU8CbDIM( z0007vNklJ#O1T5QWKt*j9|314M}6I-qg@%XGgHv}7*8rP8_Kj{vtKM>&A4 zwQB>BdjatY(&SK?WdgX-n*cG8N&|NDVRz?ovF`=Jss5?rSby%nNoFDuUM5L8dJS;q zfvE(f$xH;6DHjI9c)|TS1j2E0^*&7}5I9Scj}tB}05db;1%R4i%D_8gbPUuC(@WMM zDkCITI82}fV3@%4OQ`08Cs?h!B~+7v^TrVtD_TrUu%^mybzF zec6!?4D1JubAMC_*FkL=*a$%D?j7~Q0{8A|N8L3B9`_6o98tB0=l$0m2G;F^+dY1x z9BOb!M2GKGgF`5~Z5n#mK_H^-?adFOq61PzD{^>c%rHy(AXm9eu@63vVXRSOa_N!py0)u3||K`Y@U_! zOBz|amVuRYDF-pcYyEPRQ=RI+R2Yxs{y4c13GbX2e*>iU}uJ-vb9b>VIYiy$mqe_^>Lj!SJc{j`|(l7J~q^5@OB93wqH!r z`B5!~7=L%Zrj4Hj{D|4Sb$w+xhCmso>mEN+UM1ZMucQZZ5&)l2l<4i@Tekn5_!2Ac zdcB+hi4xTHt-Y;X9NB=D8(orFu3|oqZC!%{A{Uj zEdt1ujmbGbKw$ejKNuL3_yC*_iX2YS`hZaws82&(HVx+otL6M)3m6!qdH}LQjv&Tb ze26M5Opswf*_?Y3PB}p>`?kUsQm_M%eJ*D>XPmv_@`P=kF zB%-r4&EC8QIP}1g1Z3%n2wY?w7>JSupU)u>9i-tx;Ka;00oZ1g zG4S4)JOSH`vNPU6T*qixQJ6prK$yTx7jT;ko?tnQ7jT;l9CwcJvf{&p%0%D{8gIY$*d-G+lQc-EANc)B5`Ag{T_As^TTN8)Hn5096n< z$79+C01XqgT-qAVsq1bzj$_?GptW6NOp8BuX??&7+=M5Z76P5ENDd^({^ce$DqGFQ=ZQt2wbilr% z&Aqno9`(T6hSmgahd|y>i&-|`xr<=qjt5%#Np`m2Yxizy4BL>MKyWC-gdZutrMwqj zNe`4H0Ds=0Xi?jvcP#%K@g>$?^`w`W{euh)?vbQ6y}^*|fj1ZrY!6m2g?@VW_Fx6O z=-3G748;r`p zJ+yV#v4224{`L>Hf`&0}15jW`8B!Q)aT85Z88%g5K--efV(fAh_AlE6*rjb_Akh*l j^@Ub)iFj`vUJ<_lla>9(DO!e{00000NkvXXu0mjf|42y% diff --git a/graphics/pokemon/bonsly/back.png b/graphics/pokemon/bonsly/back.png index 53e14e8861a8958984dddaec9aad64eb18406694..f436a7df00aeeadb82ff1872aa5815e87c0c6324 100644 GIT binary patch delta 479 zcmV<50U-X{1jYoAB#}W-e*gz`Nliru=LQD>BsqF5PZ|IK0jWtuK~zY`-IKv?f3-$qQ%sg++*z^tnPx=XeV0G6r`z;%EPe{KCG;5Pk*7O-{z zF946)7_0zR3XpW)T{CACkDqv<$J9vqMP1hMzL&C;KojzMiV;r4#J2JjCj z+2k>lu-(Sw!v~+KJYdObj|5@>jHx%D1XhR`w`M-lCKh_2Hc=giD0DzjAJ2PWP6oB$ zA@ZFrP~k3wjmQISf1pBG3W%G}o$D4t0ZIzyx{b&YlUho$32i`G1X6h z6fS2XvF9qkQ5ZTgd9OZu1uTX$?6f-f5=l5*8ym}O)BzGHRUoatTA~ot;@P<(t}-f$ z)=*B`R9?Fwgb@+mmLRgcB_xrS9ru5UaZUh}Ty%uY$=eg6Y>@gH>lR81(L&aLt8Xw; V$C2I%4x0b~002ovPDHLkV1ny|(j))? delta 498 zcmVnjHYKN8Xo{(0Nvi9ak1wnjCgCBEZ7IIl?Skux9u(zYQpS#X)m1v zAv<5@Xa9d-zg?a;boYf=xrpA{7b0)~W8Ys2F}wl5y?>;d2jU~cJp9*baqp#eqrM@!-LqU;40bYMMSdo=8)yF1Sp0YPkhe>DpRr(OvQ1}Y`fKvI3~gwbUHJqjj&wvEUTcV?7zV>E#F zbz*Fw`}lkd*f{{Bfa%sf0Mn1q4PbF}Dj@DJp&Lj`%Xf18uJU*TC`wu*Z-Bi8h#Md+ zl^ej~O!fOMu-_+CKmD2TaV8RbEVHW#T_*;w<$F5;^R5O@%X2$o7kAf&V{zFwfIs~CAD}w)5JwhZS%Y~wCkn0WN~Rk2qU(5U9t=CYeEre@ua;aCK&+?GT9I+BmbTl oRfU)*6;`!SO3E5y|En1L0x(j?k!1`;YXATM07*qoM6N<$f`!c4r2qf` diff --git a/graphics/pokemon/bonsly/icon.png b/graphics/pokemon/bonsly/icon.png index c68beb1401ddb41b941d597a29d9351f9a937c70..82b8ee194c9128771b4e85e0f93b30b5b2f7be58 100644 GIT binary patch delta 110 zcmeBY+Qu{?L7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKV`o%l^fozm6eu*))5S5w z;`GGyVv}?3yc7N#Uu=G3f0%=5F(;et!3A#r|JUnZbn2Mj^o5bZIlfS)`=HlSpe_ba LS3j3^P6!P~$!7ZN|NrVvF{eKw aOZXX_;|pcH1;ZN|fWXt$&t;ucLK6U~vKY4j diff --git a/graphics/pokemon/bouffalant/anim_front.png b/graphics/pokemon/bouffalant/anim_front.png index 116a6eebe75d70477e24aa531786e9c221900270..1a378a27143bc6a05f667e9244f409669e9fa958 100644 GIT binary patch delta 1319 zcmV+?1=#xH3g`-u7zqRe0000pc;ob2b-`$sx&ud|=P(q(9vD1=Hbi;{+TFLn;xeqPADwj3rMZPWs%ex`bpW<=VgpM6QsmB` z9spYKT&Va#@jIZIO&XtfuC=HJrr8JR^Sbf?>D`+v~AA=&+7(hRAl-_yN9+y&rg2=#U5T!Flv|_ zX-ktb2axTaZ{UfxZLcUDATZa>ly-axG-~IusWX^wcg5aI{7dnT%M1ClBj$lG+CNL6 z_w43c;(dRi)qQh=z}f^*?ynaB1@Nscp2h9@+YErrhE{UA`r3zqv2Yfa19?S3aOa?4ptn$TVfA%#}!b3{-6+>n0Px za;=)MyvzvlYwfM$iBpyXl(%5m!BHQ~&Z8-yl~nLi8H6L@&jNpsIhJwebR$#-!fGM_ z3rT9#<54#hQO9RZ91cBL$f1lLLeV|35#W4#Ld*hv5e(tTlV;x9?!SVWhed`!X%PH1 z1iNJejx7+k*OSL>DlUZRIUo~wd5stIancegOyx;60Nkx6w_n}F?KtjuN;xzq1XWEn z28@dsP!eFHQ<{H>G&&jmH9{`lNn2bk=EQ)ePecX+se!o~IR}4~Tln@mR;5N)gI6xT{L_r+f(W^jJwwD5mqf^vbiNet~ z(UXeWAeAE*-M=}N5(i@aVIhz{o*YM+sbc=90?R0nm<@j!8F&By002ovPDHLkV1g5JUgH1& delta 1312 zcmV+*1>gGU3gQZo7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1mH-Dpr^~^bE9}m5UVbBkF0l*XY zWb)+}fgCD;Ub-8Ey7h_zp6p@=4hS5>IF1((4REJW1S9?9en3wz(n0%Z34+cNZ zWa=OFDf-0%nB&NZk+6Jco)4F^dQgP(Jb`?PsRxlRX;dVCHss%r03bbJ07U>CP4X84 z)5sYneQuY|&c+}C^25Oy7i_HHgg%Y=}Z9qROj(vYth8a z4(5hXAbiPxS!{-f>#=&CuV7lB`VQkM;01M);HD*1fUyEJ{1ssk7^Y#68B6i&QWpO< zK)L}u=rIhD2$17P-UrmZ2YB&(#bkrFuWuFh^oS?^wBe1Gd+g7XJF35WUIO51<*!xDS}Om<^X-k9F$yp388oB;FgwcTenSrTJy!9zVluxzxHDAXlZSoHUPT| z;6+D;(Cq^cwFd@y9W|MF49N|`3BU*M7047g@M07}g@ z2N2GG10b*Bv3vnwE7v_j%2sMH!ctDml;@WK*>*jKd&h5Dlvldk0c_z`z~8p=y8c@L ze+AqevY-9zXa6g+1$ubqg>0}}jnPB@k-jpCL4_drTVn9`bfr&F&ix(!`8$F<|Smm0xHetxF8>J;BeFEu7wO#4>IG zRrR7DfFkrjAbr+Gv%kF@yXAsnQpnPU5~X@!uY}fC+<@@ryDZyEN+VYeuKQDeKRhlg z*DrMC_De>G1dmcb;bPEvz2(R}05>n?hbR7A_~3yMlvWOI6MPJ4v3Og=x2%*GzIX2@ zfCs7>Lk8e80KZMjB?vO;eqjIr0t`t+K~zY`<&({7+dveB zCFEw^u>$Q@k?nn-T_dXx4CxEl3DS%#20Z&uFehQe#V8G4z*AM{xbw>|le;}Mg2rTe>1TY=K zkAbjZK>L;fgbCm_tio%6t{vx_S@g$U=WP*sI$U4%$J^y; z0MUIvJTFfsERK|tVYoR7TruE4p2t_9Clfn(1|V@09{c0LU(&6Zp!NQ)C!JSu#e@rl zE+rDvZ~b3_mOgNie^=G^hm4?)_rs7Pt4Hi9Fr5?JD_I}f`+p$z4Jt9)T4Z!xn>s)Q zl>sNX#R7FL0JcPA4A^js6vioFgaPKppsGswMj!^*3}g*t2CLx#D+j2)3jm}ZkUKyl z0k=aCxxi2U+9f=}Ugfz_3Bl!Do(I4H;e*xLtY9Jm)8SL@f9fPv1{yf~)#a{EkkWNT zNdKrCP(Ur^)Rg@E;2CHjHd}@=VQU=HS4#u}z!+-_35bN*hJRpj-Z)4g7CYnu;JQ7p z9Ylq%85T`d7qY-*kSYJhB#4WUmyqES zdFdq6Ybbz}Ikr33YPBa)4>BvN!Y=0k`Z;9<0-*o^ delta 590 zcmV-U0$Q@?0Eu%=wlSJ(aUw_ z&VN*+b?99f?$}`rgma9M z1s+EL*D-zlzjITgX1|2*Dl(-2`{qf+JbXQEsdjGSh zowwqO3zvj^l1R)x_rEDw`oLvgmfLSKf<4_2LrSb3@u$FbK?tvZWPNDw|Df16C}Fl0 zWOQAdIzWV#fgps%f^;oHc8SOs@DUa%j#I=51I&#>^9H9IP z07^X|cYs;~?hZlZ0^h}Jmxu&=l@~^(v?=EDJVFKtAFR%2g%b&w9p2}zPE%!|f%CgA zcXdjXt|LPBOWlBf0xBt|X2}l^o`D8p(=wC^TjP+vDiHwCG>x{903^)5h>r%&8wUx* z&>;sv==QvJfEBI;kUI-HJt3jtz|3h#=|)Nt|OWI|+vwO9VlVyJ_5ODPd<~S}SaI9lS*;(+6F|LPt7Jpn2I&SLZKoM%jBEb0U zm>wkM;8S$bBbb~?cnG1RfO=3Qz>UX}{D^~+W0&OdD4Q1L&o9A)_hr+ZF@FJ Y4W^g4ZKOQ5y8r+H07*qoM6N<$g1UaLyZ`_I delta 339 zcmV-Z0j&Pe1E~X$Uw;8KNklo4842JUtIu8{&*Px=k(@<+?D7s+$GR7~^KBXTb$Q zb6Y0|sxUJS0mi3hW{}i_PobknFgcU(5W++O&7eqt8;>LT5q}3I$CTvpD4Q1L>zClc z`?6_Ha>~Kk&3;t%eaZ^v>**1(n8V+T%G-12lCXW3VU@Hm`0Gu{Y*7w}UAGi4gJLDb zrk?_4|FodP^{y^wb_onJ9uAX$iHBmw9#(vCwjjt6FL7oZLPs6kDgp+uxe!6dDgp+| z<`PYK>B-pd;_MJxNW*OLB@iKm<~INU0WL{IK~zY`?UcW6gD?<> zjfBJsDe8{P3t+zh&=Z|9lCB+^V@;*1dC{!AOYZEVf*s7%p;d1EKHvF%{1M__f4HJ7 z4f6+;hq>0}1`i6vl?;rC4X;CjDj>i`t1}4h*z)`+qgoYeyNF&%e~SdmwXV_?;hU4; zLY~{oMoxlqw#l?k>3Se1LzXVr73WAs0aUwXpb?)j<7JZr?+MGmm{qnjbi)S;%fMqs z&sOLVhfn9cxq&i*Dv|2de+EPh=LU%Vn-`FjMyhl3{Xg}hQMmRbxVs22k z6oBQogaVRxXb>miS>Ol-hz@7fJ9|JQ#8*h5O6J_V1dmw=*q=6pk7o&lIQVLQfL4G002ovPDHLkV1gXV Bq>XOfSvYz^1)|4A2Ja4Nh4_jIlx)d^NAMa%N5J8{A)K}ZZ2nys z10i#I7!TnOxNP!r_zt*u`NJ?xSA^8=xGB@`y~ev`900*=7s}aOfEYnV5yurB1t%a%kv5k|OM?Vm8l?Cx%$m^6*au*L zV`=~Me2+C=rF#8a>GQN-)RU_;V9YoNTxQN-rs)iIlLN{s0Tfzye}I;HEk`KL+$%=4 z_rgWF#R;%atUqYqI=9P^fE}3+RL1fd4j10L#}t68y^9edF!%A40?;7-b&&;@EO2(Z z2DJXbPuu#JnEN1%N!`bKWv%tkK>}{K8`3s}gEY~{Z}N{~0i|YNA%xEW@}sx|nA!Kl lv!T7E%{(my{a>N%?j#4CW%l4^{T*(GD~Hdh?u<&Kt?A+)!B0Bv5|RG|Wkkanp6HPPP` zSzs*!M~7n|AHGDuY=4PGh|0Bl-)_A3;XZ1>)$WO{0VNnOUv32e z007oWL_t(I%iWT(4Z=VSMQ;P|zyfT*2wW4l$r$cJ84HO$QZWxTB7({}0g(_zOsKH0 zfr19EyC?hK`TK|P^GCBgV9G(2l?)ze8e-OPO=?sIEDnm*i+{k_VTTxPPg$dV=q^VR zTXE-gL%q>pnZU|OF!LL5VkYX%SI1LBV&{d0$lOmin`ee-3V(Ax*uDdhGB8w7I0F$i zf~wvAGENCFn-eS%(FNq#xr(h&Ek*-cZtW(+ZL@2Mk^}4kvj^id4YdIvOtnozxQOii ixaV2s5a>7Ue-!|Gvw1Td6sXex00005c=0N(+RP2P3C=F=2)td~r?Y3C4CLyB66_fo+r*B@Q(cy4|}tDGdpvz_y7O^07*qoM6N<$f@9ikCIA2c diff --git a/graphics/pokemon/braixen/anim_front.png b/graphics/pokemon/braixen/anim_front.png index 2d8ba7ee187e6f055ce8424649b638c68cf7611d..92a782fa21122f53b84cb9ec472edc36a40e38a6 100644 GIT binary patch delta 1257 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 BNX7sF diff --git a/graphics/pokemon/braixen/back.png b/graphics/pokemon/braixen/back.png index 828c631835b7fca8425eeb976926a87a86c425d8..a864d6cc359b2c7c3976875065716c8c545d1a01 100644 GIT binary patch delta 670 zcmV;P0%8621%?KYbbkN`bV*G`2j>O{0VN;@UDlfb00L=AL_t(Y$L*BAj@m#F#*HkB z(@BUwRwB}|;sLl@2r`F|Y)^9?67ul?5zYfdW{W%qX`rB?@MoL> z;by(|La<4iR8dAkvNb>E`xs_M)BfEkRsR4Oox-ox)Dsi}w|^unTrUQ?b}KE=wu(IH z0CqJk;Aq7F$P&g8a9x$Zenh~M3Xs`#y-x}VpCHvhAoW=G{D~?M2>_~z1?b7j51!XK z0i3Qhfxvsu9SZ@53gSshJnj<{s9?SEyqW7V#<0M{OcG%fD!`e07#|t)$HK_$1V9r8 zfWugl7YdrrynnGY5uyj6R01-D*Yb4!K@_@+A_Oc#5U6E9@*DbWKB2Vdg$P(SA#H$u zn)k;NKtYc&0o2JafNZ0iz9C?VECK87i3Q0vZl{w|L|Cr1Cl`p1Q%u#0vm#Chk^)zG8;LDN?PsB|s>+d~3e#fxH~w%W#=FRq?9 z>!P!ze}5B{W^fISWYiW9&G#j!JaUQ6*w31C4j%I40hpId z(b#~sHqT0Q;TRSLYlIEooSo2PIDl6WOHl29{1?@D1z9;p?qZeCKL7v#07*qoM6N<$ Ef;odRoB#j- delta 653 zcmV;80&@L^2K5DybbkVCNkld9mmvUn>w8mSz`#LVNsEVL z8Uh^bSH8dSJjNIZ+%F^%#gPKsr4RLiv0y5KED8XGFe!BzOZ&nB8O)!`5D{dcgh)V^ z$XcB*-wUC;IDZDf#u$J`4y6BK$d)rg27Uy9?O@!cbeQ#nsRY2#XG{Q1`~r|;^s+ku zY|+KkeqD$lQYygdifO8hfgEFXE^j}@2a`%5AOq1KWK$mIz%c_x15_oDTOEXX4t!4g z?|7Ib8-6+;mD!vHgxtkPE{F|JYhOG}Ga+{kz`4Q`dVg89JiXmpU# z#O;wQ=nHxwo-T?X8_#h8u~z6S?hnq}q2!LU`-dgkFK zw90Su#&Oc6B5lr}x2w`PTNulwqpdb4llACA!Z0cHO{0VN~=FcN|Q z008kxL_t(I%hi&x4uUWchPydl47(=s1lpa+I7*D1BMd5TGMK=~yQ;*k?Etb-kr=q* zYNFoOFW0}9>&Ms^YtRRUGLE30KzE>wFkm|95G4Bm(A8-R;(xtgY!*ouR9-#2C2*lghqf?GW{C96euMn} zpgg3_Ze97H_MGsgDm|c@)AHS&7y!qsynux!*1<;$5xjW|B!2)3<)@r$$mqkxtYZaT zyV*;_$sP{LK-HWV4qT7fDoWO{!Rb=JMv#$i)fJiv((0M;kp`dz4w>#A*qtdb;(rcJ z!9#`dp`$Q{+{#TD0KdYtzM2(Av4Z}CFf}v&Y3Ok~>1X9>t z)Z%+dk47>32b6$(N=V#;soYEd1ReL{qFzMgTyzRVhmyPd-hb>5jTA*Gl-@D|f&4!E z-gn;2?swLN{EJcC7~Lvtv%>qYEfB-n02En;7_4AeTZQ+;nFoMnSh}@7UKKt7Wt|z; z`gk|A$u?sKe2Rs&ai1Vyu`<&uE0dG)!0BW_X&KnkF&;W$Ku`o!v6!s_Iuj80!URAO z7Q3YoTTFy94u2xC24&@C6?zq7$ncH?$_Q8$B?08e;dL=B)L_dhwyJ4dmcSG%fL_hw zf&48~7-d$=nx)GMBGH(qVC9;*1fa(B4~Yu8Z!T*LM4BN@u>cYYK{qQw2*nC?zocr! zIL~Je1f_J}Rwtpxk;s9(O+u*4V<1pi0D%y=8 zyAOZ*WIq+LSSjV|-q&Z3osN2HiL`(J?%>V{OU8i*WtDnkD6E_wuz=R>T*7--3EYQi4ji#bzIKvXJfKU zE`Oe)1{=RdOTgZYT+Il%m`|EA)LaD!Cv6+B*V81Vg~y}S$1VtJJ4ch3SbaxZy`|*P ze3wsui#fuFbO+r z4QOxZ*gL-K{WuGPwSbstHnE*?Yu4p!0e?5S-}k0tZM_F-$>g-@c(V^{Lwhr@ck}_k z@jhVnnoT~AkK_LyXp0*Gw8f|I4=1*m9MIOD8#7xZV2fpN&(Gfh6kC*snH55{#bj8^ zg;ZP22(oHwsVzc!qtaLhq_&6x8WlipskW!sqQzK+RT>qBo|c=MVv81@EgP&-M}ODL zO-->y3u`b|H|r*+xv8nPsH2Punj+;3Q&VhF0tT(|B~w#u@%y9=`_xoTZDET}l0t_9 zU~2hHQ(F|m5#pO9MXkv1FFKLgqVR+e$%?_6nv3UNW{bju6ham$!m-Oe zlPOBY#X(EjqSF(?gAyQAPimC-0)J>c8;9Kl5Vj@(+*!5U7TMJdj+aLl93VnujdGDL zRPbsWjvhysZ_XvKm1F>&8DMnr=yBN|{sk3M07Yc)U)%Ed=Fh}%hzW?7s)Tl?fIK|8 z+;2@V0Y6NDg$P3ee0VsVLIOUY){+b$!b~LuVc-XRI+>o^+G}rI%bHy)rhgKGu zc%MQUb+n!9ap5ft?30;Ao;f;MYlpY{3i&2Cm=r zwIC5aM3q>gRL2xh!4ENPlXTjx3;-elJU|pDI~)@|X*Dh3YgX6afg_{>oWHC$$TH@K{w+}a??&(s+SYfu?biV>00000NkvXXu0mjf1J1+* delta 1447 zcmV;Y1z7r?4D<_-Uw;LENklHt_7{*Tq?E;=mF-wOA)sYA~6`)QEI#SY+ zbqq;y0a7Sj1V{mrP>bwEIvR?>KcEO8PYDutFe-QHpP-S83w049XVDZO8j9@h`yRhe zvZ7?^mJ{Hw_s92n?vB)RG9e!^)Q#2B-WJtwiwglrQQ$`b)O($vMSSRE0YuTz&^}?$}&*WupZiBK+puJ zn9Py^jd@Ua!vsJRCc7mOCFX^q4kl59vg)!6tqwJ0_@Mx*2$(gg0rbb=_OLBzuw@se zdRi9}*kT3H>VH{15WkBSdX+V@#nOa=mw3!uuxi6t0?=dnhr|Uf8_OO8FYS=FD1gL5 z(90wUp{PL171<-!GYLUZO3Ri!3Av6$4&=+^dGhw?2<#O=;CXmANc%%+g^JrISI8|U zqYN#Ymb?mfQQUd>%V*`(M6pxS)%|ZzA3p~TBU1neynhgQxD(wwJp~iAqVDAlBnKw| zJpR@3sj4xWTa>17vLD?WKJ5?SL1J3cAmDf}WeyQ|+K(DK-r)6{Q{0L6qo4XwbnoB= z)9_{wxVH=pqQTQB`s;MqGEpE1eUr=EfB-fa{>Bi%S8M4(On|{~IDCN)ph4JL?r`$e zAUZaNA%ACg>u|Xpa@wR4vUT#!;8_1Wj3Ry)p68JBIOa`Cd8V^ zUEU7Ecnp9+IsJNm|6K}nuIu}~esoCMaCHn{#(%TU-~8(JyKExeKY!T&{v>)rlsFx> zH+#)90kXTenm+MQcyy?=Q-E{(`Z`~T-NoYa3#)&~EhQeeQ6jd8A}!R#V&1q706~c{ zPXKvbEUf1fvO~_Fp$7}UjF*7jIk}t@a=w_hMX9|C5Kg)lU~gtgNeLgV0Em#TeKdWA z>VMnH>LVqF;yZlyN6f+g*?Qn$az1-CCQA41Bn%F30*>36ji#~HJ?rq_(>J#j7fNS# z#WrQ;(xREmy=k;pGr56bU3nDBoK>LNY5{C08%W9 z!^{dH$6_+fWg$5hGh!JiViDTwwbnWyjYTxjssVCKjy)+BO~z`h)~Yegv^>?MF_DFVPdtC2~}+2tILmq+Iu zAVP#jRi%XsUhl%uLH0eTOQ9v9uwKcJ8TXd?UkwIz;k{@fdlumN#X zm#~~EAP!Fs_d8Q;zz-6jFrf>8j}AsNXuubSa1Ze{oo}WO@EXJ{3_{? zZI}+l!0~&&5+tTa=n^F=O>6-Qeu!m@q|@$X01ye_0+R17AqNwpB}+{!@aL_bzYRx7 z2{?O+tBw0DTB`c7R4-)_Y0wPI7K~zY`?Ulc3+fWq7 zZ4h+n;v{2-`dX9>ouod1q8us*Iemr#w6M9rLZ^CA5N?o1^O9nc5)d0|% zJ1AN5N!PWPb>fKg_p;qN4SbBy$(D$8M>ZL4kH8V^l=wUnI~Z|OdESyM%r*pk+tIZ@ z4Zk2*aM084OA%JKeF-au37M-x9~04o8i4ZDZBZe5IYDGkgQ zp+rwg{TRW96w(FjSwQC4Enlb^7BdL)Sd(^V9FSJBKKbX+?D(0s{A_n{e2)TcR?? zx+Oy-rbiDbx@Uxfo!?7;*mTA^3H5-#%LsPQIVkXXHo~Uc>L-+A#0Vj;S_+j?k7vP= zJ%hY#0a(plj2QWB82XDQalrWpvF;v60V)i#MUmf;O-9=lcmyXWzKp^hR9w}*x5X7^ z8v?F(4E;~5mjsLU`}$o)VHa2AGYE1bcKUaJZ!53BH-Q|P1mo|2tKW%KAmNn=4n@H* zPE$z$rBcF=;}}9XOfk3er6n+T12zfA@6)veaKkJ6k9Y?E<|0jheM{GJ!s83spTkMA z5)2njKWU3zh7$1Web3Uci!DQdWDqrh-tL~R(N7lsDFfIUP+xfV)-dd| zks+dk^*na!N9eu50xYA5hQMV@P>DW@oU4|g5~4*<>w;1~o(l+pTCetN3)mB_MyP|v x_Zd+^_NxnIlL}&4_|KqGXMy@r9`k=ulz-=GevI002ovPDHLkV1h&P5W4^X diff --git a/graphics/pokemon/braviary/hisuian/back.png b/graphics/pokemon/braviary/hisuian/back.png index 947bc46aeb3bf10ab616a52ddc1f17892e0fb01f..275ec9bce1f891003520add1149bb824666f991a 100755 GIT binary patch delta 25 hcmcZ;)y6hKd2*#zBqtj?qpJS&N2j?q-_~km0swR<2>Ad2 literal 11612 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 X`JJ`ZF@00000NkvXXu0mjf6UC@2 diff --git a/graphics/pokemon/braviary/icon.png b/graphics/pokemon/braviary/icon.png index 51bf4b04422865a95f81487c6142ee381a20c239..c8db4e52248f5b3b72384753c184410695373a41 100644 GIT binary patch delta 366 zcmV-!0g?Wp1H=Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUDk7apaM z0003eNklyoU*ii7p^@LscbrOSatBZmb=6K_ZaZ zoI_EPtw(5L*U8ki{02+@{O5euC&Wbum}xMtwN67)rw5~pc7MS^rqXE5RP7xBW$ZVm z@?qc22~?zFM7>%bx4?a=u2qg%WNtd3KIbZ)PBd=w4$RD4t*qG~?)tK~Ykj3`j=1T{ z)NhHL#nMhN>$bq-I*)RB*JKVX%lBAHf((lzs9v6?>gQ_#?vCo2N`^%tnjXNb00AE) znzZkQ`oRPL4`(z2EdF75)D_oeKtLy2hd%)a-3l{2GX|nHhy#O!INP9thX&bJ5E>YS znMp%~Y=K)tCxiZi2?YjOX5NJc`3{{y{+-UC6L1FkBhDZn^21sA1z#Yz$fsU2-v9sr M07*qoM6N<$f}$IrRsaA1 delta 331 zcmV-R0kryoU*ii7p^@Lsg~g zmTbALY^)u4K_ZaZ9HS`7)+0Z*Nit>a4VL`*?DL&IAuc+A*^KrTVlpIEa#ol(2M)3+ z6e64QO_l3Nc8Kt4R>4E%O%YSIOKsshUSgEz#X>}la zvt@7hcqMg4bm+@e?{Tn-0==NLPl3mM7G}X+ojR~BKB6EnkW$`(^5tnMf4?{2-YB0< z!LZ3iZ2`Or5b$Y4o!DNCT|Dq}FcZLY#(QbOldiZ@BLWyB4krO;Y=jx#nF7%m!~=tb zm~BwbV}o=fh(r-XgD6#PHE)p4>8RQiYfu{$cfcB?nYlB@8RR>32Kj$FgZ_at$X{^= d`7nN&6@OnKxX3tz7wiB4002ovPDHLkV1kebm1h6| diff --git a/graphics/pokemon/breloom/anim_front.png b/graphics/pokemon/breloom/anim_front.png index 7dd5f4869116b6a70b07240ba7123eff5fb5abc3..b00c2d4eefd3aeda88be6cd3e9e0cc65525eb1ff 100644 GIT binary patch delta 1336 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 T^77P%00000NkvXXu0mjf!OAKQ diff --git a/graphics/pokemon/breloom/icon.png b/graphics/pokemon/breloom/icon.png index 03a99944a16f73f7859337850b0975683e0e6816..0c8d2a8eb86fa9a07c978759d1483a2609dcf3c8 100644 GIT binary patch delta 337 zcmV-X0j~am1E&L!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUDtZo(Zj z0003BNkl2^%>7RIr22}vgPIY+!6zEbzg!{cIw;tYd)9YF!lXB#fDQ;98b4-aieg2or@p= zejoZXpp_ulw|xhplLeu(%xv2f#0y)h_b1sANyT^d)#lr26|c=DABu`~Rld;RJX7t< zM+cbP$NEp;Zc4WaJj4GR4+R4oFj>$7Mg$2M5ww8Gf)bb{D1pg>5*XfqDFofYun0W9WwS00000NkvXXu0mjf{{fM& delta 299 zcmV+`0o4Ad1AzmOUw;7%NklI-dc3LcDGf*>zp0Do>zLN>y3#47IB5Hpp6V zswoSm8Ksd{0N;Xj@6o~#=L~lm4O$#%Ir4VdH%J1hm|I|{$A7K~PxZM3=dtU;7HWz^ zVYp5E?2Fvx6bi=ye4o3!0L_8Z*JCSO%MGs8M5LP-_y=h$k2gNyQTliJ#SH=~>7Vr@ zT?&$_BL73Zv4mw7PCJkw?*)0G70n|xEK~zY`?Ub=g!$1_q zlPQQGMvJZM(Zx-WMs#aED9)13Lh*G?ZSg8DZoOpEMejPexU@I93;q!;$e1L7@NfpSzyv&iqs>Af0N7!lzpq-* z-ZZw=1K1U@6LZdQThKAr=>=^n1W$yRhyb=M9|0Lq8cSbHlH2Xb_L)dvB>nN2QW`l+ z_YXR7N@MAZB$1sif1HQsmpeTL8wvSu)nUjNA79?5Mv9T@uEYfA)9I7(B7)8&!`@6^ zbztEOpj1pufQ>T%9h$&E1MV$@$cVp1#Q-^Tih;-}2IMde@mxmBw!9w!wuLXSZ-8vd zq4j3Tq~un>W5p*p?mEA$6rA9$AcU%HZUbNWI3;3h0HpkSf7;{P3N(~YB(-6W;HxX( zq$4rJl5;blUu_by2GCb65_6TuRlEgCU5rpYp$5>$d#Mi{c^hFiF@P=(!Z0O>Br4_^ z-s({pwjhv~3n8U_%X{=f33PgCmp-OIe|Z=QP(g8r<6Am1xsyl&=c&#PimZDsR}=iwqD%Lb74 zRtTt;1v1|60Z%`eCDWdNUm&Dn09mh1$hrX}-qHM_6fkN62)yuk4%Dd)_>`V(=K^I) z_r%BVn>uZ5n*i!iy00P>Nh$B^v}xrqqQRAtu~H*draLx(Sda4vay5$YcUuks0Wg4k zIOLqS(9(Ef0_Qw}T*Wa=x4Vuq3>5rZPw30V$LZV5YBA7%)3t<>ayEOiUPSS^ zpzPi3#RL{U0nXLP2E;H0@V*W73}Eb7L`w3tl@G8Bln*$zodIB(mSm=*og@E8fa`-V zh;M*&OV!q*#4BKMY2P++63cD%q^fx4w9TU;Wi>-WC3kb4#R|C zKy27&_^T&jSf^#UTo@}HI^Lrb0?_OvQ@X^liV^^gZmkq1MGv`qS^xS<2)zSst`|V` SsZz`U0000k~S1)>FzB#}W-e*gz`Nliru=LQD>CJ}wEg<=2z0tHD#K~zY`<<&8d5x)afaKtgh@)CyaR8ClGBC{_R_U0^%B|kx~ zwb0ye@Qp_}v%7DNt!@D%@5_5LZ{{sR{BKXiYLtT}w8|3zK%*?xeQT)p0yQ#2R`>1C{;Pm!c|0?49TVI$Ar<=1um%y3> zpEl^yIJUy;Hd$JL(ef{8D*Cc`~qpuqgGJQ$Jq*7fHTjbb5-MP0-PLno|)sA zI#NyM*|^okqr1>CAoZ1+$ZQZo;5h0Dia7v`cR`WsCm3f772+we`+JZL3=V0000< KMNUMnLSTaWrwgY5 delta 581 zcmV-L0=oU81+4{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tQJ$K~zY` z<{&pS z@|Yo}o#H&3Q(BUlItmPz^i!Ds_(227Um`Ax@>ka1b%*6DMma44$G1;K5I*g*&2Gqkb zswmpAZDg+C2I3?*XfZ}#h>~XkahkU7fL{u?F6cQ>1kw(~uK|2>jT7$?f#+$uJ3xht zZSX3&MuT{p?)I*K>xqQMZszhRd8)zwAPTftbj>9sXFzo#8U@XKWOmp9oJIkis~DLD zaJ=7orjKJ1a50{ld9RHJccG<$iiH?+GY@Uqr;itbMYJP?c|pAqsQ?>QZ TQ8~lJ00000NkvXXu0mjfc_0wG diff --git a/graphics/pokemon/brionne/icon.png b/graphics/pokemon/brionne/icon.png index da33e8ee07154d4d51814d3e5fed1d2b30e0ef8b..83a250b08d00fcedbd2fa892a1cd760b7e060bb2 100644 GIT binary patch delta 337 zcmV-X0j~am1E&L!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUD(dc#3` z0003BNklVGg>-;g^M8y*CLNt8nDUGZRs$0V z5OG&O0``|3u3TV3p{p~ph+fU>f;rNUDYNFC4=FSkvkhpBm=BCG+aQF-D$j*YV|B?a zoy8*;z*N|ltNgwrhV4e5Ji21IYXdH5rKqT3+@Ju3*bgmKX8+%!|a~<`BSSUZevY#l(Su7Q_2!fS7OV84mrv!K!7)?spo4VK_j!z}|2i xlEHxD2$>g8d?X)2|HMc4g%A59AG5#a;|e{az9Nu{O(g&T002ovPDHLkV1l(6hY|n) diff --git a/graphics/pokemon/bronzong/anim_front.png b/graphics/pokemon/bronzong/anim_front.png index 6ac7575edeb8f7bb22f6d511c4c7360e888c7e1b..0b55949ccb88cdfa25c2cc269bebf25477a80db3 100644 GIT binary patch delta 1416 zcmV;31$X+k3)KsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUD-b9D_+ z000FzNkl~B`00y`OvQbU)ybhpLqNQ!(CIJkd z+iQF&ohm9LKqUjTPHF%#xPRzoxRazbfP9-%43t8Qf?$VeoKpyy0|)#yCw~xJ>_lmqB*(M`@hQI= z3nEV+1HQejFZoqRL<}zCM}TYW*EjhU7+`d|1N7-M1zdm0^B`d|1=ZSg(d-Gj2Y50i z`^UkAOzHWSi)OEXOJ-xwJrSB`Q9-;J;c!aphU_22Ab*^jvr&9wr>*F^cs&2;iR?(5 zXM?ZqMuazcv99ReIkPU#XY1FfHE>INVy-m|XXL_}t&?~@g15#l+mS%PqmWMs&@14e z2jKejIEXgg2{0XGWE=8j5ZDj?f%=9dm6(n>vnZ87e{j6;yAQA|lJ z0VdIR5`TtNa3)7U6)5Ge0gfpB2Gz8!Cn|}-NLc_&paY2H5Rn^zO2Pmc#LlubJLHrA z4vZDApP~@iw_^v3Z8lG6lMM?{64U|)N_AAICys1v0u2g5Kxa&LHOln2)lD=<1wdKi zShS&IfKcnn3ZV2&uoTH2jTL2h_k)1dWgqYYuz#<(dA#%fVUcOQx~T)k3lAne0|8*2}GW`U7v8fl)0W%Ba*_mSKa zSz$k%-khru-vyvI;KmHsG~x-s(_OoQ7c@2s2@uExx7BZx)4cjLEfvJaiSMv&fPcm! zu>4aYFs{5z$LSW(?7At37b^h~?gFhI`dH|LTvFj2>ABO}*hcep#4t_$QeX7>5w+?Q zchdpQLpobu%66OVfLhNZck_J&@a@zajjSC)eFkgbz+28uPnfzxAmEn`fCh5$Enzgc zIiq-b{+jA!~>}QP1l4v6?{0lduH%3UI(|!w8TBGy&z{+W?T>?E+wW&h%q|3T9+vHAUC}5?p?A z{us0e9da-+XC1EojaYtqw}{9GNuUW0$5gL|vs}ulcbAb>Pz#lYdbkD}vVT00ch8If z>s&tkNO8V1y^COr5t78ZdwM@H!2EHW`kvh~7Tm$TkHZQFB!gexPM>_fB>5q$91wsn z4sS`oScy>40*u(9@vp2zm{+xkp`HC`9L(c-zzT?(Ut3F}RzNsbVeAzUQvNpu#9uwQ W`afI>fd~Kq002ovPDHLkU;%>B6P6zU delta 1384 zcmV-u1(*8O3$_c8Uw;KbNklXX1xtADSAXarjQp)ZQ@rdFT> z=YtY}TEGPpL!>|TC7kB*2(SsT(G^3809?V2>WdVDLl=PwF~l0=IT%1%oFr7gW;IWN zGO)4LHWKRm)guuqatPhA9UDN5&ig6u6e$fL-)58pr4Whl?-14*rH~nLz~3{{1OI#{ zOUD#BrAH8-vwzE}AoAof;N`pZHM{JIkiq%*5zsa9tLy9%43M1c07F_$0astM%#WCi zL3OGUt%0C@fG2Z`e;myy6rXKLv_R$sTp*C~DB^hnZ%te} zp+LaHfX@if8=yS^=z26AghP7*O#3OtCVX84PiYxLpi=_`Pzej=Q*5&EN&$&9VppIe zrbAe8@KcqHsfabeBzktlkPe)w5m5O`c@F?bl%7RrIzLZzBu0tK0W5(YAd(;=Hvk<8 z1Eesv*MCQ|N1_C9V61rk6s1VNAK6$uX6u+9(#ioUg06s(Qau&unJujZWWT>N#L>VKv6pr98ykf`^ogv}4WP>Nt1$mQZx z-QNGWnSa2%$jXW3#kUEn)w8>dp{8}zJAl!fX#f7{9isZ0RUH!ZeVZ(LCb=1&wLN4$!Pbbmz(QK}LzdHhyacqDJxK&MPHg*l(!95wCmG{QhaEqUis|VALB3 z(|h*=c76f6jRwM^i+Jb(b4AzyICRB!%~jg~w2mFRgX29w=$Q6zF3MRwkoyDj53V?` zmoWaovrLZBNrMq0KxXE?SM`Lc;q3=%Hh+ewdqL?by3v#XvUIBdn4l^-JEg@$?~HD2 zc$CEem~Y0XKj^+?-Cdv~(jtB^zdln5-vwYW;wB7N)Zz)ilij$27t}Ti3*gHLx7}}x zQ@{E=FCE0knP;~mo-F5Og*<1L`o@5UTnYz#!O3v>qPVc`!lNeAapFMsVp zp z_f1!rbB92{Zxw(Va`7!<)VMjLe0uqs&fgl~_^klq+&vu9n&1qfyOwA}P}-r0yXIsX z0}?UlvhfwlknSKn=fk}+5rVJGz!u2Qn&yh3gk-*HXb+Gw2V)^OaDkKfEKr?ENvEDRixwcd9 zF2dYFtyCQ7$pc`?az)-fGX|`8asM;Mo;D!uLZV_s(0AqHj{j1y})Cd@lVg?$4W$hg@(d)5j q__ehr8V!V@0000CLMGb$w>eJ0+LBYK~zY`-IT#<8!-@u zjY0Ql*}Yo>qTsi1uzOw&C~0*wR znb9m3pUq@-`G0LozgvjN!r_0`f^Wrp-zDGnvq17En+LMK1I-+;e+<~kITw1#Gl1hh zVvKsj2Y^m!kxq8AE>vPx5eD1M9zq2%sL;n;5UGOzj6S;l7SKBbW>2vnB;!S=2%?__ z)PTh;;K6G&34-5p}=62DHoH-)Jvcnd{BnRRmpr z`*VQ(Bm&^+s_ROAfBkis?DZ|DYaed>b~v-w-^p(;e3bF=aFA+-yrgz>AuvAvko6J1 zN0Bcio-ZWII1Y03P3^aeq^Hffz&IA}SE3=2+W!)Y{ULZZQ_M#r;KFZD60Q*N9U2bb zVr|dPZBO}j5rDFzHHu_*zqg<5RI)6PU_(ZHCJ6)Dsp{B4e+X!K1FU5$;6pztNEv)Y z0E(Wf*TR4%So1q&bWt^$gjy6KT0)`$SY7iroB%;Jr4Kl4v>?zyIuxb=NapPX(e(-e zwII;uu`hNhW1b3@eeWP37DOIoaHtXUz*L!~9*4toXO$|w`)l4Ukb1*c3wvZT%Q$=l z)+@S}P=T>8e?wN>Yh|FUnS>RC7aJr5GG~ME>LWgedK3c4_TB&tKASFl7mp3bS;Geo9qT%tSA@e&AfUF+Cm>$-7(*!z@iQU`3i zzX0&?K4n?P9N3SJFSP*H!?a!n_^T~^+w8V;=Bf}mK&+by+nxZPlUWEBqfQEb_jCqm wqCivAIQhDNI0KePzGrEO37`cpXTWE$f2l$4b}7keqyPW_07*qoM6N<$f)7VbfdBvi delta 726 zcmV;{0xA8k2E7K5BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+vZcK~zY` z-IT#<+dvS8g<SS>N#K$u~SOv z7^Tbrj{DG<^iB)_L1>A8LAJ9YR8mn9iVd@eP=N*&#+Vb41028@BeeH`))_E+id`=S zA3BAIb{0?rs(Zkb*JPgW0B&~)Z08&V9Fn9+^qUVZ7CY7f);dY3`{OO3p?rO(y%lAy z*AF)eLV5qShkYjk;N_<4x^nojpX~5n@@)(^eA!>v;b-=ns~FvX@Vwv4XokGyW_{&g zc>X4zb+K}ee`UmRE|aoxF2RGcqcw>XcE7jBW-3_`xL`vj{7o(lXr`)T2NKZo23X6E zfRF9uLAu^22vGEY)OalnsG~K%Q>sg<$y}(Zh{+O?48YqJZ^H=?R8!iB!zL4f4${73 z3V;;eP7tA0I8YOTHcxG5mok;9V8yo%4#Y&1UV4WbF%L|YS#EJStb*rvWz9NA00nx0IUe4vjaZ0L2R4dc225MYQUqOu+0hJIk5=Q zH0tERZ(lAk0L4O?9m~QP>+$IVSRDDCr6Fa2CSERpf8VO=52-=!cA+@{lmGw#07*qo IM6N<$f}Frk?*IS* diff --git a/graphics/pokemon/bronzong/icon.png b/graphics/pokemon/bronzong/icon.png index 92fafe5f059c30ad761d1ffe2a50e7ced65025ef..67787ff7fef804573f2be43246bedb6287ddba20 100644 GIT binary patch delta 302 zcmV+}0nz^A0)+#RV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VW|^ceTy{ z008JoL_t(I%iYp34uUWg#_`^uiAV4NE-o%!$Fn>K=s;q0@>-AK!OEgE4g?4ML`tD` zbRxcuf6_wBPpM@OzMi$%xakC+HcuxdI1ZFZ87|?PqR_Ez<9|I0RAE4Jr)pjTaJr}T z=7T2TG~2E>f;r%LmVybeEvvPT{em6PHR) zSMbbMhx{6R`im|?COj=FGB&73@|zdqf{G#=|6J>3AaL!04IO2nJK|VDJ-|HxK3I%=nLSI{*Lx07*qoM6N<$g6ZLa Ag8%>k delta 267 zcmV+m0rdWb1L6XZV1MmNL_t(Ijop$l4#F@DMRS8l9DxI{u&{8Qp2ZAphDrz~u4M+( zwF^)&RADHewrSFYjScZPKgmv5L2N z7$CntW*UOb)2G||s!UQx9K%a%ECZW5V(SPsK19;G##(mak&>)N@F-|EsVUT;Jyf7UHrJOK&R%#Lk0eE4;BYh>z8xQ5>%!Yg$ R`~Uy|07*qoLO>WyT5QVJ<*_)JwtUV(ifO;ajj^qOfQh5NQKze`xIYW=#p?-=i zhID|e(rN&C!v}KsJe>IshdsV*7?WQw2*<3zcJO%tBV;oufqyBJg}I)Ak*n1D!CH<5CldJO6A zAmuz|pSQT+v(LXkX8$=t*xU3Td;GWfQ02BLB0jjZqJLMzz4r%{(fsIxjj{Ug$ud7qU8H;fJ$2FT{dznK;b_`ato#&8$hiM;QN3 zy-PTz2J1FAT~?3)jK~kKksn?Yv%9^A2OksU_~D_$TjYng6hF+EBuUN`q)uM@j-xcI z8-c-%#9=g^6kN0$%dyInB)GfMpw5$krIjZeR&i10I?d};s`Is|#;t0f6A$o_R)Fv! z@pi@)Aciy^NdC634tapc&i4{`8pM5osCIz(m*Wr65XP;BeXpd1K4-=`fc#nXdF>pa*!2Oz z!u9|QdxjpnBmZdw9cc@NmKF~(0jRkg=I8`hTB4dH!J;5x*zfH4&_@W5Ee z!d}n7z^B~$;YwsDqW)7x(9#mMo~N<2MQ^oQ9XleR5y6>)vVTF%LDpwQ)8Xed#KXu* z03vZi5daae;zUCu6hY-N;0lB*=%V`lFmV#dL-nLNVLA>eg&^;MQbl#R6ZD#(B|JY_ zD?cL8ayZh*+wCiVxPAF80Tl&!z5%|FgA^c1CMz|gg+XWx)mQX_muV9Ra^(n4MSnR%zu-@sq>cW_Gu4;lZy7 zO8ju>@S6DHHOCJ#CP|Vr1*wzQ-Eov=bt5pik(kDlf{SirIaYa+1b0^&)OiwcwDM%5 z@nq#?u1nLrPF|g_<}_?w`CMi{{J^TOw0gFjQK~zY`?Ul=F!$1s0 zlZE#g3qzM3xr=UPVdy$v5PKNt?=+;~&+gTv?IQCCWE~lXkb7)BE$?jaGf8ql^80PHQjwL-w zS9|}8xlXb|8g(*a(2Sr_d($-$eO~b%1%N(BBfR~(ZPExp)d>MTa}PIv$=Mw8!iR2}Wv`c>p|*00000NkvXXu0mjf`-aKJ delta 460 zcmV;-0WP;fVD-qm1q`Av|gX9A9y2} z)nh%?^eo-%^&^$K;{{TGkWq<23c>~HRhLZkWyO0G0Q!`a@cQe{g9HE~mXT;3fWbk; zBcmS+z~KM>7a)A51S~v=!vh~q?0t~kObRfoFY-gtbTk^Xq8@M%`6A8kgvcWUaIB@M z1CDLv47|8w4Pa|$Yh4@2Y2<1*fTV@Msld6+A~4>Mg0mK+4m=BgyNE0Sc)r(7!duo3 z2~i4#p_qpbKJRNUs-Sr`NBwA`D9*mU={q-RyJBxG|FtZGsx;dnsW&W_b8S@1RMrxMZNC~6>0000`@T delta 52 zcmbQr^qz4-0(+IGi(`mI@5KHzrA40%_tCNW09rK$h`0vt(1K~zY`?UgZa(?Ar* zjbtIlItW-QAzw%(#`wN~(`G1LSh!eXDFe2@0Lhi8QU?ayEJ&ah&Vqp!IrzQ>3)Ip{ zOpN^&EtRTB=Dkat3Z=eIEU15Fdq4gE@7{Y>EbChTMmHSC3^xDv2dA%mKL4qBK1yFqAV0<3Ohg+Hq+-bxY(xl<49iZro$Q81`8NQFqF zpdZ!(A{P-y)nq&pX^)$M{Q#;7=Yu*RhWeIxJ^68|MR#`}?YHtbO8vg9K9ccJjycai zd~?*Ig*}oP&qX@sf1~sjUH-lRtfPT|K|m9Sw7qDt@ipTJh%sMJskeNzm=IUMQFry> zc9C3MdIJIIpaRs}*30(_)^an_hfF;Ofp`u~iet8?U~#b?DSQd=t=JjPAlJaQ`t*yb zLcrW!;1v?M^ra~y hVuF`Yg+&S002ovPDHLkV1gL;7-Rqd delta 604 zcmV-i0;B!81;hoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v$<2K~zY` z?UTQ5(@+$~UCBa>br7&rLcSrD7~}f_PMV=~Vd2J7moi}c1xRj*Ds^DM&4L7K;aV{C zj~sm8qDxy#S7Ku9TeMWFBAIh;;vkgTomfymdHa6)&bj9t8+ZCgTCl8Yz@oI8SfRAO zSXH4#sne_gO#3!~JgBaJaVuc7p$4r2S{P9Um^DI!D!}N}mienP^L`XTk%#5Lj))_p z8+iS)fLMq)@OpkJAW{)5CI!0Po~{TdDJ}e}EMVgl&d;OL|g#tU#IA_4sQ5@Xo38 z$m50N2qJy}0F!rrb(5$DEBpae*;ZE?=wp+n_ymN{3L?cmIR}907Vr`eDPgFM{7M71 z^|+_9IPAHTEl7E=Jn{4Vl1XXTX>&teC#)M3Q%}t-~xO{0||RM-6SM5iW2z+OoiA_uBDVW9oP7)ONfB4ML qAPMo=v`++VtRSUp-06RkVf+UE>No74CN)8=VY2`L0rN>jK~zY`?UcQ1+dvq` zWe~<=RcGvyv!{$Y4<(Z*x5OT6C3uY6NTkp}pz=%X4qciL=u$|rPk2jR+L(tQN1+~HxepM^KhHusZ=oaTZH-ur;RiwBPO!E34Wj+Y3y z&>GY84%9mFz`hS}DLv`{)Z$ZY^WF%70}x;M-BvQj{1!Oxjp*f6O$o&i26)M@+r9ssXE13m-fIFEo& z*WDpz0Mv_B&L;=sX!waEV&h5yh+a#nVPj^2>`w<8oOhMF=wcK=Uxkeo@p*bkIJ1UJ zg!m?IW`qynIuT+z!r6jo#u<{qN5gn>DhG8!roii8ms`<{e{c_AH&1Cv+3SoDG68mO zZZ2&HL%?49G4`?~2QM{7CiT?qtJ_=0e$^iho9*%mU9QMFnryOwzG0)PqA#TlYyJtX zY?AqIG61_;7E;QAU0w6dXUpubqh^eiMFgO}F;-+TbHq)$ delta 562 zcmV-20?qx91)2qrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rN>jK~zY` z?UTQ6(?Ar*&r%d+#DtNhmrNaf8BnJP-O^+vZk4ft+A0!ANL-$pFtE@c5(`pMa#ps2 zf}NF+;W80bE%MDp9on6t{{zpVauXCgGpOIm()Z){zR!M--09zyd2fkdD5d&_#jJ7~ zkS{C;3Tc4Bm}M;iSTU`CgYkqFQzN({-AACDJ2*)8v+&y4kzNv!BQCfg-ud$FV&HHO zL|dPAMIzurd&17TQ131V_B?pQ*kKo-zBt8>?2i%Hhv2iEj$)YeBS_hwut##gB|Ra% zGBNUWZZ}-tgUOoz<PHArnfH*QO797og0Pi*Gq;q)#fG99u z&Hyj_j_{TT|KXF8CUTA=z-`0B6oGFm~=|EG;p4LBl7zNPRVRJS3 z6a!dM)UiZ}Z{jdxdSV`L( zoKhMCFR!l7Z3jbtz;5S0?qx|0pAk;u^~~58*Vm5yd@vrhI+bI#QdJE!d0Zf~X`^bv zKq(v6y<=A0qVv1S0qj~OP)ZH$+PY^wUg2b3obyT$0jRH>7ytIBeJX=Lfci!k?|z2g z0FA`s;?>CCqRH2n!7P+MNWU)5)BQXB$0Fo6Tb|?z=P1z)l>h($07*qoM6N<$f_M)O A`v3p{ diff --git a/graphics/pokemon/bruxish/icon.png b/graphics/pokemon/bruxish/icon.png index 00d049a5c6f8dedd3e16ce5a88d44677a589a2f8..c31b54860f7d076c1bee1de9bfac468c171a3faa 100644 GIT binary patch delta 383 zcmV-_0f7Fn1JwhNUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUEJ(Gq+j z0003vNklsn8HUt}Y5Y0vhlEXHwM^G9|n6QMxvl;USfKh5CBFEP$MSFR;Lmb3`o%gREx&_Le0D9p9SvM@q zw`jXTVI+TOka%RK4ss8V(|&H9>f`K5f?<$q_5OK)Onay*$Y-D%9E2+3 z=2LtteHIBlK1q{$a|Js+zGRTZN0r`KUI4_SrPX}@9AX-pRS%c+WE0v2x*sP^Hz*Ku d8iV*-+&?P|r%$>sX5jz;002ovPDHLkV1i;Op+5is delta 346 zcmV-g0j2)c1F!>-Uw;8RNkl!AiqG5X~PfOF*zfa`5KO3Lf$|QOKbL{E zfszmpi=E0!uf0eSio`&^!CSYA%_)#&ajln~&3=J6w|&feJM-pw-rp|LIzWGL8uG#c zvSP?1U%5W=u#Lces@uLnfCIcXbEHVVT5DKfhgt?fGg%l7Qh%3Xr{cm;NL32W0!so) z{Q?4~RcjjE^4yZBsUPu~p>*4{9zltcFkuOWXB_hefKh5WBFEP$)%Nmmr|q}rY1hDi zUfOw++%cdRE|C2KR$#uxp&bN9@`px~4C5g8@Hp+~)~POV07*qoM6N<$g6w~xm;e9( diff --git a/graphics/pokemon/budew/anim_front.png b/graphics/pokemon/budew/anim_front.png index 1c8e447f576251cf02dc9c61eecc4acb76104ed3..f9573204f947724623177e90c92b09e9a2d0ae7b 100644 GIT binary patch delta 648 zcmV;30(bqr1=|IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUGn;0yKr z0006$NklKaSc^5XNm`rOxx8L{7&u2e7e7NEaK}Y-_MI2dK3#36%T;!li06ms6o)LGW!Zj50sHzs%hJ3q2_PsA zb)N6*M+)e>#m~B~AFJGcep3zMR&`xg<&O9Y?dq&QNUVY%$DTI-T2{7Sa0Xt^YA_N8~){)y~HK{zJIpAJOh}mkS~DB%l>&S8OI(6 zw40{Q0eZV7Tb#qd5v0eu0~CKxa?*|B??sHTc2N9n81mXaU;*Kb05}&E*aKet4a^U@ zO&;@H0UMwfFl*3{dBF_nz(jEl1hx4j-K4ndC-q;@i$L{PrxH{TXZ*(=jHnK;PxfF# z4Pn3!w0{T7=>`bdGvGm`N_9z~j6Dd>*@MQLdVjPBRcTS@l%qX3 zR28ZIfhf=(p!)kXfc608+b2)fEy|q`7I_cvg^PLj8-4Y+kr4d{<|w=CFr1|faI^;9 i^_f@d;vfFy_zjy2xh$BaIv@Z5002ovPDHLkU;%;?PA&Za delta 617 zcmV-v0+#*T1-%83Uw;BfNkl z$rcL;Dcv61AZ)r#4sfJ!B-0|0GL#_$gf&OXHZvoL?3%*?Lw|s%9$G8_qo_{l4>(}8{z3u6kJtOzY8~H2;`t>y=_%gL zfMf9x$GfD+2!Fs!Peqa(izf;gG}7-yQ9R{|)q55&L?bVXEYA+aTWHsJX`W|EA_fG| zohJDB%PFyfcD3G#q`x== z)S8T4lnu~%*^jp_!_eh`wo|h>KyNo?lS>%5f^=n%27dxHe^+wWjppwLjInmm{4E&K zKw;O*hNhPG zc;KCj2V%zS;#kImJR{8A5DCVEQ=XIV?}-%S0lGhRBM`uNfc8xRm@v}pAOtl*)82^& z)*D|*z_<;B7(6nUvb*v9`Hlg~Xwcoz^*_)>|Ehign+v%tu4kPQ00000NkvXXu0mjf D8?hp% diff --git a/graphics/pokemon/budew/back.png b/graphics/pokemon/budew/back.png index 33a92ba75c2ecc5578e9a233923fb5030300f61c..ebf3177f325b49bd252ca93304166b8ab088c53d 100644 GIT binary patch delta 441 zcmV;q0Y?7h1A+vQ7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUGomkh;g0004HNklRODC-e>7NW2g zD-U2&0M9Ds31I{ft6S>DyfToZppZ6ksiw%*)01yBReD-eh$ch0LZfC63^LT_Bd zs1ad!2B2`I2u(T-Lkz9g4v$bA2qgr+pL*C`u?2(Ag9{J?Fo?iq?i!=`l5hh90eg>& zM;9=vr*sZ@nE~3j>CTSp^!?SfEk6RDrz`snXt&IplD8@Iri{0)vls!X`#2?MfS~&9 j6W5a;G~y-uuivi^{3c!gS$t0n00000NkvXXu0mjfs-my= delta 411 zcmV;M0c8Gy1mpvd7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003~Nkl6MTBBU26=0zCX1TwIh!DE2gZUI~%16zC)a7urH z3v5UN905)XSmGoJ!I#0wSSjB4k2e zU`o5dc!4OC{7``@?;_@TFSqh?lYn{F<@ZNm(_M5}R0O|7C10*HEla-u3B>;Pcp+Hm zJx)*pkdQ+33rH){@f<{;?sG`_N|1k(ke3pj6_5|UE>VQJL)cI4RD^+7C-6~t*|w1H z;9Efh>;%;V>wP!yc6?}7XaQ@h!Zoml&;)Ri_aWTd!#9An4P5NOufZ#B!g;W^cW_z3 zcC3FTbpM6_B=mnGj_*o+0GdyXwWk(#@Za8Np7|T|1NOcP265yp0000007(Z$PDHLk FV1lH=!OH*u diff --git a/graphics/pokemon/budew/icon.png b/graphics/pokemon/budew/icon.png index a6ffcc1606f1503c3803f3696b42f1bb8bf0ad8e..523aa383f08843ab683d982bfd4eba8c1d9b1e31 100644 GIT binary patch delta 142 zcmZ3)bew5If<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?GkDJ|U5@2q?75)5S5w z;`GGyln}cGZO7+-exdlKF;PUJ@qfm{ga51SqXgd7wNH~timP6%@l&c?Dzw2~rJBF% t!2WcNjr?8)Kjqodn|}VE|7QaW!};vQEByU3^MIx@c)I$ztaD0e0svPzG*|!t delta 105 zcmV-v0G9v90-^$tU!} diff --git a/graphics/pokemon/buizel/anim_front.png b/graphics/pokemon/buizel/anim_front.png index 3cdc6e3272a2755993fea6ab0e1cd410e78381e2..60f0d0c60eb559c34dad94f29f5efcb5e945cdd4 100644 GIT binary patch delta 909 zcmV;819JT52lEGzbbkN`bV*G`2j>O{0VfNY*G*Xf00UM@L_t(o!|j&6ZWBQe$2Ypg zO3B`>0~ONEIUh8U&v&s>Q26X6L@1H?vS{NFo!kO(p8z`TE6^jP(B&CO2~|?Y67T># z1G9T}i0^hU4RoI3n*H6(?C$LRhmg7bS6jG!1KlXpi)-Dnzy3p9Xd(6*@z*g=ec#$^rjY zN+Rv#LE4|?r++Qxl>nL^*5B1YDaUOY@cb~jB1FCaq(Df>0a!W^LNGQuEL~JX zU+4<%l668>9~Gi>!EdVXP^JS;90v7*3#w{>0s?ZMYk$57xQvq!>rF~k42TxXGGQ!s zVNC%|#g_mq2CjijuOvZGtV_WX4ZH*Oa%s=wrDu^amBW5skyMll7lXJk#G(gtO)CHi zuss{J5D8WVBy2)(3lK9;^e_subO(nCK`6T6)(GC@z-&OMUH4*Jd!b_D$c-y|9Cf3h zQ%Q*627iFWVlGB=o6GhzeuZpLHei?SNk6yCc78-vvaKVSW&2u$T(+&iRJN_aRJN@E zoyhi?br&|-zVdKxlI`ojWiHz$0F`XdBHPMpQW+t;M%kXO%OgU^M%gCAEQjzU)OtyY zYIzRX5jJ5|ZQ&VrFvJL|OE0AZBTyS=QmJi-K!0c~s7yto;9)AQ0W@Pb^L;(V_~!9I-u?g`=KJ$`LL-m>0000TnbbkX~Nkl)ar)p=#g9fkaIll5 zRH&7BMO>RwS-JAay#-|LSKyA2%B`OPj&Lf+Mgl$npMlwR8X9}oJs>V9b4U;K^UT>jM1Q&kKz2WM?`P5E{4zjCLPXm|53>99EQ%(RZ*%qe4iZx!o~W1y2t^`r z)v(^40xC1^2wwrA=SqUN1`kSvfC7N!L(Vy4<5#5`p;`e8R`D%a60p{|)TIYrNB)jP zHgt)_pj9eCVT9@iOP7>h?&Ft z*o7Hx2a9n|D3&o5NSRZNY6JpRx*waa7s{uF?ASm|IXm)`T7vsm03@!Q?L{oY6#uns ztNt~zU4H;IvaO;{wpG;1w(6jl?ModB*){?fvTXz|WZMYPscctteHJF!o>e&0$@XR7 zypU}jfJ(M+kZlhxV6V-44;(I=Qum(2 zmUsgzgE>HutdYa_rDjg3;!APCHNw+SDwrPO>BD%8?1{5GxZ!1 zup7zzCqTgZskGE`nJa=IF1=?{-m+f#OEtv4)q_|{s`P9ebXQDI>N$$C z^m#y9fWk(HphH;|dDZ?X;MNa^7Un`;5th)upN&Qf7F#3$CCuz?B%*>lrb#aUM`}hqV W=KJ%m4Z#!u0000Cl8*wi9i4V0p&?VK~zY`?bE?d!axuJ zP?GHjxU}J7G;#63i4>MJJ*c5V2nY2aNXf?d7g|I1Z2Sb`56I1<9?J=j^dSC-v%78S z0$mc%%&pm%o!OabrE-Y>1#*Oqk0pXCfC-OEpDCl-;I1(TCbXoZofOy~*SoI>(kqT< zFTcAx*~-9seb+8!MFQwG^&Eaz1NN+^ZwBHz@WKt?O|%sD!;liK2tU&LV6$m-{;Fko z*1`CV)BZM~GGq-?f5yhe3_KL)aUz1!7OpWJ48?3vJWo_CD4eryA%ic#MV#aTqF92( zMH_AkVBYC#YrrSninUyyFXK;r5E87wPsj5@uKz#oQ#@CBCvXe+3auWM6w%xFEjrRbZU? z5+Kq{g{b2@Z-SVM1Z_f6Z~~x{cVWO-=s}fel>-MJw4Rl?VgR$V8Y0C=fkj~!77RZG z(B=SY0<@gIHY*Q`@N8HLat50s!NyNBVk~e_V?ur~6Tq>%`cFTqG25~D6V#{x-UN8$ en7|?S#UH>H66+>pn*?w z8GwuM{E;>;tt&D2ZIOTS|K&YV4f0Dozu0KHl$Twww8&i^iC{YVHCuniMK`;#n6~pxa8&Ii>(3wFf+c43V0sh;? z`YRH1#s1{!XWcm>jRL%`Wazh4Gzp+{VrRr{3;2_c{W6fSL6ok5XkW27S4I8jX&d7fukX3a5P1t5wm5Q8`V7v$MA zEczE|*cTi=ujKzRc4mYIk$@WZ6zJqLHD;#!)ETJDLBzKlCW+6?bJF6&G|>Vv9I3f> z&PhoWz>B!xu>y#Ho){tf_*@J@?nQwnr3M@TXf3AD<2;R^OZ2?}0sPQ%SMrJ;><-su z#6W{tX%`rlp8{wK096SZLD$+<1WiOfJPLXQFGT^*-qnEfBtZ2M{UTg~z;9as531Y` puy}wTH6W{i3<4L}mAgFe7r++lCV_XzA^-pY07*qoM6N;tV1g9i@+$xU diff --git a/graphics/pokemon/buizel/icon.png b/graphics/pokemon/buizel/icon.png index d221810789065405df862b6d6612aeecf8258e51..438ae63cd57d3840518475624d7cf7d2bffb497d 100644 GIT binary patch delta 207 zcmV;=05Jc}0`vlqU@!@ANLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VflRyVVZ> z007rXL_t(I%jJ=1D1VOW_Mbdsq-jbLGJ=cd4BBYAYJdFBq6R%#@E0QB`0lcz6LPYsvE5E4^Ij^ z88&xU7h_xB8x+Dw3VR)R*+c^%LfVatH2a_RH82|o2gY-7V3QC5Ef9W<#t;Ai002ov JPDHLkV1gqnOj`f| delta 167 zcmV;Y09gO@0?h)DU_$n1<~Hj&&sziZo25XT*CWU|$X=x*WeftN~4X>t7QKfqL-4K|W7h7JOqBm&*) zS9dH#O$}Lg0mFbdrmv)q<>6-4!-q1@9y4@d*3S* zR<^Qhx3#PM8!X#d;`Pb~*S9kLP1|l8JJ|sGZJQf)0?;}tfNek6=4}!P9(VT9_WG}F z+o(1OK{&itxf}h7y|-^ z!Rx6a*84{Si+_CbdjOtMBLMBqSd4VJS)5c?R#Bi@|H(2#LGEP?>a zGQl1C5`2pW3b90&8zngac+3R__&_yABonU?AyACtm;%-l1;}JeTPzk-R}F{mR$&lf zbjHZmD>7ElX0x~Xt)H=YWh-0RbxLyO3Sfih6KncrJr~%iR(a({4p6EZI%<1PikeZ? zIp53#nt!#nQLS*E^@Wt|rj3fI^F|hMA4M58H4|w51F~{7n>c(JoNsfpLuR<8fSLj< zpCZi;7Q72Zi!NZ8ACi&| lIDD8tK4^}!`s@E+`vYGGZHS%BJaqs7002ovPDHLkV1fpIgem|4 delta 822 zcmV-61IhfY2Z#rdUw;D=Nkl2Bff0j1VbTAV!R4=`0{ zgN@%m;4Fpqo|90@J1JA> z;%~j5?(RKH{yt4xXrXIY;i~$InO$6Bjq(bstYy}lw%sx|vVQ@r+cq;A1faKN1KWPE z&RQf8JZ|rzc6zUE+o*050N>?&Bzk-fFttSxa1MdsBMH=qEkn+S5R8OKZc9L&@f;ff zp93wU)}Voaj{pI~U=3x7<=z3uC7=B6gJ;wTKz}ph!{Fe>WCmWBWdI<7=^Usiz^h5X zfe$C+6YzZscz-#GaED})opLdI z;6O*YCw===h{KNg9ZGUpYEeX^lVEGhLFq$}kIc$9s#6Ahsu)dXa5r_oQVriqw*j9vqg#gu}!frbF zU*6e7*CB!8mMe`F?E;N6A!g`3E&=pSZ#GpOrR4O7=YS9Q;!p*GeT)Za?-KBE3l+cs zG7{0F+1wWiAVOd$qF*O2E@2Ts={y1*eL!E{v405X)ej`FKmL4%_UaJ6BRk*)9)FSj ziFBZqX7Z59@h30C{7c9Ec|r+IaDCF-Kfc2VB9cKJEDRXx4*Jt0fkCMA^_yqnZ$Y@H zoZy@3cYL@G+r(?>+%fAIQiL4u{v?i3^zWXg>0TnAEt2nbJ#_Gep_0X=T)gT|PHM-z zW-r#M`14PXD*!zVpXCCB!NdIcpgT@(eWCxVKVJuJh=7g6-2eap07*qoM6N<$f@EBY AMgRZ+ diff --git a/graphics/pokemon/bulbasaur/back.png b/graphics/pokemon/bulbasaur/back.png index a16779fc73d45e4f2155f6788da08fbd9fea9b92..73cf623a8bc62c6bac2469286a134689fb8e51b5 100644 GIT binary patch delta 417 zcmV;S0bc%_1j7W7Ur_)Fa7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUG=gkW7g z0004|NklqWe#1>&33b&p^L;4R{q(K*(Y3;-6zyw7W?Xih8wu=30ASRPq6lQr{f834sQ~~gZqnoVs{>{o z02aSi(&M{pU_0`A<k#=}0~l%qkSh~F_LF=8Epp1# z!yuD)Q><_Rh~(WKLjBNk)$IV&l=?wA_EZhQ++`|&@>TJ$VAX~&{UpgXfcO^pO@d`o z0f%xkMwlVj6BH&rfcP%;Mf*8&J;m(+AcoINEGXwXX4)9%`WN*BL5%5WwC!~800000 LNkvXXu0mjfpP#W~ delta 359 zcmV-t0hs>71e*kqUkCxFNklMv9$K@8w6l7!JY)|Czb7A3q^v<7-14B!A*i7ZwD8x@!U zgQi82gc5joR{%=_PQYedcAOgt>_z}!)Q+MEWYFD*62Ykf04i?MYC{KzHzq=4hjy1<51@63{H_5EH3G<$31I(|qya5*QqIeyO5RNo z;{XuJyFG;Zq2;RE0j4SSLpKGXY6#{oGXa#ZiiZVp8^ZL{G}i#)Ti`bdmT3hX%Jmpw zhFniknDhYRyVMu$=g9R8Hv@neJ}1Z#tU@-sy002ovPDHLk FV1lm>ou2>z diff --git a/graphics/pokemon/bulbasaur/icon.png b/graphics/pokemon/bulbasaur/icon.png index 7738836b9ca7d398aafe37127bf0bc3d5e5d9f38..9c8677a66add6be4ea547e51a789be7d5963ad8c 100644 GIT binary patch delta 74 zcmZ3>bd_mBf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gj&V4A%}5-7C8)5S5w Z;`GGyZ31@$W2=B744$rjF6*2UngGdC6aN4J delta 34 ocmcc0w3cZ?0{ae67sn8b-iiI&1lEQ=e8m6+p00i_>zopr0On>4!TO{0VgCf25A86YtcbMTa5; zJn;jMKK@L8o=pDb*oj7f*vw=kF?lhQDr6=rQn3P!RIKm|fPYvb$&Ar6aSyr>fgP=N zDmGH5`lZ;Y=pZ^cmVh$=kb$caKz+Hft3L!DPy{CL{sM3*XHGqSD$Cy2Dv?l##G4{T@$n_K|a zdA>SLq!P~2XYxFr$8V{M`~YVr9WfQzGj{xAAZfzZR3sCL3%^1tX$0w#3~1&x`1v){ z5nvs~I+8`iN*BaL*#X2iUVXTQrK}kvK=<`l7M1St9>)M#GkyT&F>e{Z!dqC*BtQWq zdBg$aF@KGhh%CH@qGzccww96e9#d^CBM9umcYw7FZwMy@kYyBMO(D^_7-$c1I5k_* zvCsoDl2O6dLVCnF{PQ~VqSHQYEg_sYFFLKmzF{n3uO^SN-T{~=UiIWLBpKLqneZM% z3m}^b)s*GE_ZSYCy6Z>Mq`KouG%b0Iqjp@f3VC5Wq!YCqU;zdks1;m^x@o~;ExnxG zVqeaEl$cVIv6!+}>`S*GU1Cm93`b!+DstZ5i`00008nu5P)UCV3rJ#lyn!>ddMabNY@Pd89F)8 zg{$qiCPRZ45ah9-#RK?+^I`w&N=eRgU z5UAfE(81jAUZ})WzXdo!ASZwwumBeWq}1}(gFk|{xc@S^d;L4>Pg&11NdS!pS_g^D zf-QE3s~hMZFMr)f8J>f1*SC5wu6M2p<*|qR>RjsvM?DSEwwQN=IS%Ke$PATpj!a`T zrX|`x2X?4fz-nhXqVl7JYC-35mNfvino|pPT+C{HN&(Pi_^1s~EvB}^d@c=n#%7tT zvMgsLFuv+?Np-*w(#IUfC91;a<6LE1OojK1iN6duO&CpuGm)h96&PS5QI~i?61Tx~#ME{19LqS7>@3%y zxfetvv<3E#7oTo{dQUz9cUyq|`z9>whI857!WQEp>LZjIf4`9#fB&5d?PN2_P-Q8^Q?!Xc<9G-vJbz3yWt+!do+n zj)nmoAsID{7BV=OgnwRZFFM`hXbHhDx%Q&d88@_qCG0lnG1@x-am9-PJq9Ji4T~@^ zdJGnDIYC`*ePy@Fiv##W1*xM`b}CQj~>KE2YR1m`l~!VNQzB@(}-R z%?|I$3IcOdp5K#ah|ceqGMO=oA&gjY`H`XP|F!W0lbPT0_MCn!6xJSzYI0qRLaK~zY`&6Pb*!!Qtr z+a+BxkWiJm7ep5pY>6%mRN`Ytm@EuXRA)t1(_8Z6P$inhKMLD*TZf)giHRHYKDv+B z_NCMLbDUwT+)Xk*QY}ErGk(KAgL*IHCPqO(T7a=o3i$+#^DKh^e-McrAY;JT38}|3 zF$Wt7*+l#;#A*Y;=#2nsAy7F02p|?B$EpSR);gk^hf3%KT1VT&5H6hYC*9pVGpoBM z1}?#BczTsM3reeFrMwQ}6try{(+YG^%{>5&^W!Ff1&rjj?n-CiH@3n~UrM>tdno`P zqw*6hr8k+WhNTc{e-AYDp3zYg`Pa6Bl#SangiHH*apw}qU;fRZw)(xGbv;DA(Q~V> z5By)*3Xjg9HE}+dyXkRJi(BG~pcmr#5YWw6$AEp3lBm%DkN~7tL8mwbq9*Wi2oyem zFGQF15gu!=lqJe(r7yrc%ga#vICMkC(00000NkvXXu0mjfR)_AS delta 561 zcmV-10?z%11(^kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rE*iK~zY` z&6P24+b|G?=|x^NL~4-CJ{9qjB_xn68Db!9_o9rJ46O@OYhYNuML#Yu5NqL&DoN1} zRUKs@Q*JW!KHR%|me1_tb%~?$BrC*Rj{vzS#JzZl>eE8lnnwZU0M27A)KB0-6a_?p zM3w*r2hPt(JzdE)xXQ?XA<{P~cO3xp-vrP~iP{4|0I8HEHY32B(Gm4JW?>o_9o-N! zxauBG&L+owR!;XrT=)jN*_WHF`D$3_Peq&b+_y3i{0)vN;mZ1Q(~04tcQgYV9C z5ckgEsBe`z>eC!R+@TH|Y*nzCb;DXp{SNf>shP$+t7Z9ma8RLt&ZaZCc8@oYzJdBL zzcsW@|0ZeOEYWs)>Gb^||DALA;RD(e-_P}Nd)&10VF0iegOb07fEm6y1-v(@36CCt z1fT*3(_#oDec)*bR3U&*#FXs`AUOr}quLUH4go~~X$Vk1*fj8HC?FhSPw9cjmTX|- z_PSz`Qr4wWQQfV7+Kk97-N!QUy3b0#M)ht}`Aiel;gzW6^EiNYNw!EUAppg#eZT3X zmg+AzhepK~NiIrl@61&!sXr^(m{Y|$JkWr`5|`#bp!iDb$+?+->5eDeA;~J-M9;Ua zg~IPn&m%yx(Drx(L}p;@agjr2fOGcQim`u$1|wvFn3e?$00000NkvXXu0mjf3_J(* diff --git a/graphics/pokemon/buneary/icon.png b/graphics/pokemon/buneary/icon.png index e628ddb4afb8b96f6b0714c802bb42d661fe5d91..1abbb8ebce77ec8fbd502779e8c4b22682c152e9 100644 GIT binary patch delta 320 zcmV-G0l)t80+$1jV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Vgax-S{#9 z008<)L_t(I%hi%SPQ)+}g?)oL4kfplWSdQaUXJ*u^A&~F`&bJ@WqBQ{q#H-d5c3w3)qe_cC#}vrOK+XO7blTk z4odhCc@9olvWQH4z6r`TDWNI~=snB4RKo26P zRufesdV3fZVma?mX&O|O)C|Z2HO$yp0ZQQd#K(YqIEMr+{!$^ee&ZwmnvYMtAB?Y4 SXzY0a00001Jl+&)a#Wi; zfi2z#8hBo=cgon#^O)W-0|GEkuHi#Z17!#O5s_SXWb hO{0Vgmh+@yT~00S>cL_t(o!|j$qZ<{a_fE@|$ z1-9Np_6HJBrQX=;MzVV8G=WBYib`G*?H)DvX`$y56szZ+c5NoL`*V9HN!P|aGimA$ z)yxH%kN1pi{65BBqP6xK9=mNL;I{paqjx*our0rhSF{_}@qfFIfa`ZP0K;zkTwh%p zfPL>aw;gru0uBP3PA^bx2WYi>Z9fRrtsT??zPIhAfHrm>RKNi5oN)Imd+II76aWM7 z0N(6QlgiMofCN;_>VSQKXbVKz0^$3x0Y=jrfO-3y$O&A|^$cok0OM%|=z?dcE@~U9za$X;xBIX6Nm$QP}jFwmyalDif zqlpC!WntLRb_p;s0mMT5Ibf$HOcum6RKWLpxOqqnz+DQ96C)s?FahxjfpZ#&;XLnu zSwVbC0DS;%{7$QcAwHgPa*R*`a7xajfU^Vx3@LzH{D0w&^N7=Ham0^;Af%sLUG`+FbN2m(W{Y6QV=BwYO1V7nG|IL$JD;Hia6`z zY-iLkMFG`vkVB{d+}Y$z2-#P_g#i!>xF!Kh7D6uMHC>T}y)ZJqIo6 z$;tC62zoo7aVhTAl;2oXa(End=HsIZi%P zM@Kr!^QnH$#U&bwk{nwu>m`OuDRazW%gdRptvOssd4&cduOv~EEDWLyMA9{jAHTSP zFqI)O8OS}r&8-Pom6P*T18`yj;yWW?$ME?p{7gs#v2Yvpjo-;jh>Zq<({!e$iWUq3 z4_-eo0KHfn17ZKbKW7JFv@-cniTmdPg)nFO6#L%!%uYwDHgJ?534!2JCxvVg03vj;UcfXk@{@>W3geL0sg6XX1IOAk84WxfWctpMX7^I6OW zmw9UsjM-c+uYU_RSkBu6XkuP4XE`g{+ZC}a(sU__0Ge39NRk1tI3>Wu1P~kX>wq&T zVX`2WK?7g!;r2lofV%-KPK^ME!UUu%1kPz7h4Z}saRupH0_X!I#(CN$jIeoau7Dd7uw}vJLf+6BiOVE8k@WFS!Xs=O(Dy^+<0WqSM|6bbH71mv>4RV@eYK># z|K%?(?th+HgfQ2eMaT=9BIIs`w0cd?v4Vrg-&WMEdk$LC*3I)iih4EA@g5xqi)dPk z7x+PU6T*R}2)Q`ywZdosH74}84=7raGLY(8!1F(hVE6>kmb6I&>(uuoCumCwtDD7v zrsgP1+Bl2?nik`$4#rcRmCbUrfNN zoSd(A0H-D(y)yz%3LiefcR?D6jh|89IM1Yn)My~MOlNATXu;s{@C^gdn^hSI+5QI& z#9ARmsWK2j#!!Nh$&8$*7K{u9gNmR8qwEVH7s6hoS+dg~MsTr9Fe389uLR@J;14?l r1N+c|5mW8x54f4X?+@O;=np>tH=;;aRS*%g00000NkvXXu0mjf%p;Hh diff --git a/graphics/pokemon/bunnelby/back.png b/graphics/pokemon/bunnelby/back.png index 2b7cc3b850aecc52d32efc03fe4cce28422a1436..2e6b7a70632944d8ad7040f6cc032bb085727ac0 100644 GIT binary patch delta 521 zcmV+k0`~p-1n>lqB#}W-e*gz`Nliru=LQD>Cp0gyU}OLQ0ncN_T%G1IR}FopFlYvfSx9x#^)gW(c|LqrN`Cq@H_je z*GnNrP?i{|

fuf1ihkhAU{3(k46tJq6JS3TLcA0ck;JK97Qv0c|#54M8YPL?c9p z1{iQM2{Lm6B{b+Vq`^!=iAJc`j;4VF$fh-KJp#g8P`QCKz;^VJ0Xr1zt^hwJ!U^<_ zBc#3n*D<3as>lT* zj$0IjYghwICFk3yMi-p$P95^xV0=e}U9Ar4b>R8g$bK{bCkp-m=Q=jnV=5U|&Oa%ryWTL2DZC9DaM!30rk2~;Bi`2GaU{2VNP?7Z52 z+IcfQ{$76%(dtR52~-sY8a;sw4u|ok;S9R0atXJg#td51^$2pH)SB9RZi^g0M&hk z8ti!Y0QaD6i3ezGH}=Z2h(;g9J)rM`?|%c&cXm74D?WkI|l!*4lR;% z9=uO`h;wZDej`D=f)$8dOZk>GO{0Vg?8036u> z006E@L_t(I%k7dq4#F@Dg>wUo?xd=_7r_DOZ8ElZ?ZDm)-bjCtvbAQ-i&&6AV!&HI zJw3Fc8LN1QI%QsNLiR6hA;3+DX>JRDf(k ztUpB3Ass|<=vK(bp)1MTgDzQvK7yYjFI9Ta@rHIOnp^qd?z>MU^vkmUvt}O{!GeDg z97#qn+i(`d88f1+(t>l@rYDr2>$E`58IyBHFk39sIV?(9r#;Gw@hG-w5A8M`z>>Jhv^?q8RQP zSv@L8x@dli)y=OE2C73V8@X9qOMQROagy>%sNjh(3$X3>(kdKuP2@O*?IrBI#+rz! z2Xh5>F!;Jl?SdUO;LxFa-Gl-QJ4EAJVvQbl;0-FOK^|%2>_+B<+-Sp^(u zmh*9o79F*S)=#JM=6S6g)uMm7iz6N{$PT$YpxCqWl%UWD6cc?QQ4E^RM$oJlW7rCD zF(6W`7N#iZcjyQc3j6PU2cRg*Q9gpy1U9miBmVq=FpbtbqDA2$hCQOeb|6p;#si8O z^d!thOhTh6n9KUeni@S0l%R+h=A(f8STTtMiWx`WIgBWV468+Gq){#`-}?ir)d^P9 o)_zN~T5uezJ#eg6|8-XT4RgKY8F|>{)c^nh07*qoM6N<$g836iQ~&?~ delta 725 zcmV;`0xJE82Ac+u7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0+~rfK~!jg?U~JT zBQXestwD|O&-*{`(lE9Uxh&$4t=gd~i7(wCgp}yZ?RLd~5o0v=}$HE&XkX z^c>_kCR+MA(J&aEe{>2Mz6Z@s7(Ig#YiQ_?gH7z{XGhN#il8$`09tb>ev&#zfm5uy zJ%>>8=9m_G`z_|izPRR`FqVgbGdBb4{ObIbbj1}{ zTyez}SNw>77J(pzX)zQ&z?%h3`P~Bi&DY{kqlZ9J-|0axkRFI~{cm%m76-~6Hnwrh zo}ObYvqdx|2tcC=BE2rk(bJDf`Sge5rU3$D#5;aRPKdDh=nfjTp^x|X7z4To!z>a< z4{eq3!?%E7S#*fUc$MRLkY&waS%QtnD<&Sfgu94;mMd`mmt~P9)tjLDVOasQ>MV;e zD-Poh3`>?O5voaHYA}o}D-Dn^2&FC{S(b~DwOA3uuZ7Lv+VNf4lkl2(3DE21D} z1v$0Ry`TkyNo&s!gm3CC@aXQeOwwa zEYRRI&c7)L!}J5g>iU3TiLyE{j2A%@hUu*f!}$H5hGBmIXx|!_CWwCFOWBC9g#_I0pDaetuFm z=8v5MV4nxd>X0YSWwl#LQ6AProYzV`?DN2ih*dx|oK`X%%Y2u4f0Y81$6XEpfXAFl z;0&iaFS0ylHCSt_OrIM|6snWGq~eYk0N1}J2#J#oLo-ew#Y3WkobUU_`7v?%Z%EVadjHaaOpmy9+)ewV17kr=%m6yj zjvLR-@*s*&wMJVTD8z=^+*IIMMu^eoR_!A;k9AXvYv~W20rL;fFM>|`^T^Up`v3p{ M07*qoM6N<$f+fq$yZ`_I delta 484 zcmVWwCFOWBC9kap z#{geGKfjo$zjidhz6@0Lp-h~sdbc7`9o9^o*IGR6%fO0>Re(L5Ruqm^Nua9AE*Yqf zyAl8Zk0qBt3a6$3oVi7R(SxHh_OD|ORnya0C4^_LvS5!M9dHyuA?D?K+knVXr&ICCYO{0VoOZK`^=i z005v#L_t(I%k7de4#F@DMUihCf2k8lc*~Pxe}DaH`m%yFfII-e5!e81=&)?my;;%x z0OoAnnyN_Z0c0dr53U1v9&oPQ{=k`Tv^r_P8D}i_wnQ|Og{A3=qE$*ru7xX0(+Zm$ zg~bhBOO&YIzH-_w-TknHM{h{7H>4#F@Dg?j_bYX^Lpu+jyu_RXj`8bj8SNXfv0 z8RLWj!~_!F{K-Gh)|;j;3rGXV0{|R>4Zwy9%SK(!islC}XY1BfMN$tSBe8mL9>9Hv zbLG|pN4n7JqycA~v0U2{(M%SWrYnk8DIvKMt}IO}Y_b;?H#c-GQKHiUsT{UbcRwuQ s);}cK)0clHUi#xB!&smH4fC#H9;Zl(p#{3I@Bjb+07*qoM6N<$f?O_BfB*mh diff --git a/graphics/pokemon/burmy/sandy_cloak/anim_front.png b/graphics/pokemon/burmy/sandy_cloak/anim_front.png index 32c1ceb4639815da39702bf4fed9c17c2ab0bc9d..d0bedca63f864718583f37c50c0221f4c905f908 100644 GIT binary patch delta 696 zcmV;p0!RJO1^xw)7zqRe00000(Krx8 z!8B3n$JMc;Ufp`SkV7tw(YdkI1s~g!Z~b_NU~o=_p6qw&N=k2@nPVY%uKQ!>KO=t$ z{T%0Bmb)nc4FT8y0dPYpg4*GMir?aaC;m3y!F$%>0oW2kZV5o;P}swv2OU16Fr^EM zAHs>Eh<{W8>*Me#1DtC_GrT0vAK*YC;ztq~4FXUZB6UR_0}o)2 z0p5KNV0w(2>QQU`^5IQrQxKCT?Gt|mQw|7PP-OT(4bg=FppU3K#1QE<9QQCoGbRAk zJ-Y?F%uhs%{17#2ZC3WE+?3~t*=peV0?VRq_y=T}`Lg}ogjnynBBj$gP%M^9V ze7YtvhW&b@SNyq+5jpEx*Sh{oZ42iQ1&48=BYBhnG=&b%?upPrP!y-(3mKZ>V?nf( z;8AYF-xM-P9tBERbhsldIuMLhDd2alJRaEagejW7&>=cKI%k2JRk1Gf$El5mh(qR% zzEv?sw4A!mRcxPjwNasBAp?I5rjMZg12d{e^8W1$XnpNdA?jK1O$F_rdz5Ke8-&xs z#Yo^9LJMR#rdsG2AdQi*phC3lvDG9!W=yPbHA3btZc33NZ@4W?DzmC~#sM}&x;kWX zTk77NvXuG+bDf-67weD;V<)gKMtRazDLDrz1-v$QE=IliFVj00qktr8VsaNt&u9lS eg^S%o75fWlj}6O9bh{h?0000o5pJErGB}gf%Odf+$asj9_OeA2fsU?)8Uq=X#*}>LKaX-j62@@6c6sn>LMLwTI z@c=RJBEp!Tj-Azi&%DzS@T*x~1^bXc;ZVEo063JOejH1HSOC4=RU5qCs1?|oAiH}v zEzn+9h26ExgYnfshae4N0pe|T3`2gIA*s~@Xauk)L3Y5z>SjHRHbwR%9OE;Ic%NcE zoE5$`*66B${nLIW{Br=FXWu{NYw$CGhu?7)aSiBQ-M%e<;7Rk@_bzqZ0df*Wqkca- zxcw49JOx&Od;wciQ}6wbar!Mlp8g!|wU77JEK`8m5`rQK1T8cxJEW%KKW(LMUav)0l zDUMW(g(dudcK=RsBppJc0OtI9i~&|UicoX@f;9uO?611Atk7*^hz83d zjAhUvUb}t9T9_B2AW9hoPnKmF0hD#KECV?a7Iwod2%xNk_XTE=yMp-PC(QEQ|8)X4 z%!&mVh#D|!06iyxSYcKaWi2p^eIV(RWZf{#SD~+HD2bgYOZ^LsnlO!`0oM~a{IZ0; z`g!0SABpNW$Ws_)G{%jx_(J0s&2myzS|N<#oB+!Dpjlp&MTU?Tn&o}FHygvGS>)N_ j9ia?u(yWJN{cU{#fbbu>O>)l?00000NkvXXu0mjfwwfwn diff --git a/graphics/pokemon/burmy/sandy_cloak/back.png b/graphics/pokemon/burmy/sandy_cloak/back.png index 494ef54471dac0f37643cff3c7409211f3230760..19a90bdbf74ced19a89c76d59a0d49230c7ee219 100644 GIT binary patch delta 417 zcmV;S0bc%_1c(HXB#}W-e*gz`Nliru=LQD>C=z-k`Bne`0c%M_K~zY`<&?dOgFq0+ zZ3N#VFAy+AEYe&|FXR^VZ7l9U8#$1G17Y7MU@F_Q3}`dYaJy!s9?Z_R2RH5fcIH1H zJD&H)%ok$I1L5w-6X$TZafAquE)i!}inlEfI7B!Bt>NT|5Qlt~f4oW!gz<(0gb?qX zN}(d05?18Ch`COQeF+~-ojzoMgUD_E&kO(%tH$ClPy-SX3(_ATOeO&L+mRTM|%Z9yPcdChIT=ZIJss$4uM|x{jj(hjqxN4yPwwVUvkXXLf zG!3=X58HV#JN>X+A>XuOuwE$*GyuYWqTo`9^1_{J6~?7~ef_XcIbx{ZqjzAQY-8a4j>VK>nwInO0LiJ=IAq|l(>;6TmC&IBIdlZ4F8QP4_lfn@JIgNo!i~^<+P$Qx_@Zl1$w2{t$wgokga|K1ecOKG@ z0Dv~}H327N;#PkS`7!_{E_J;z$tx~#q~Zx&>MI0vo7=m2yRCJ9r3zV~Vlx8JLmx$b z$8C-sij4>8W{n3m&AK{3my-gzm^q*jVAgrn~-1ib&e>fuu5%=hB+jU$qvOu5a+4 cMi6`hvJo^Wv+K_dq5uE@07*qoM6N<$g2`sTg8%>k diff --git a/graphics/pokemon/burmy/sandy_cloak/icon.png b/graphics/pokemon/burmy/sandy_cloak/icon.png index bb9c68d906fb0865ad0f1778a80158409ebd7520..0001e534f011bdf52e8d8a680badcfd7201dfe8e 100644 GIT binary patch delta 223 zcmV<503iR90=EK?V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Vo#=P7T=r z005dvL_t(I%k7dq3d1lAg?$5|HA8)FgQ>}J3?e>5MuQRY7zkF!%32DUTByd4r=KUD zb6-|)7|;y>v_K3Hqkt}c0#`wq1Tjn0Jr@z>q5*RxdP`tikyt5f@W7=}QNZs$QBq4f zE?&>z((zOZ*ISXO!DvKVRmYzp(q7f65IAtsUY=OP${ delta 187 zcmV;s07U<{0+RxeV1J%TL_t(IjqQ>>3d1lAg?$5|HA8)FgK6k-3?e>5MuQRc7zkGB zR9Q<(rv$3;|n5 zxZzYOE8tf@)2x;>oV=dFx#6Z1uGK72gITT002ovPDHLkV1jVzQ(XW6 diff --git a/graphics/pokemon/burmy/trash_cloak/anim_front.png b/graphics/pokemon/burmy/trash_cloak/anim_front.png index ec25c45f36760d98cfb933bdb22575f63402cfc7..698a81c75662c48e04822192ff1d2af040cd099a 100644 GIT binary patch delta 722 zcmV;@0xkW#2D%22bbkN`bV*G`2j>O{0Vo>-_(Adj00Ny!L_t(o!|j(pZ__{&z|U%3 zZ>Wvhl_B*9h_G9wC=6|0B-A0YC{`^HOihV5Bvi$gx&RWpK!pHSfB>8(HGe`-vjeMs%MRT0x9lCN z`;i@h4PwX*0$4pD&f%a6k$pyDO9uk`5-g5m`&EUoL!2X6hjeyNgP!fO)`a3}Xep5@ z6FoHFRij`}6IcmPjY4P&r7jR4S78;Pu2csD-nz|;W9 z5P8@F0JFvfS%2aL^cJTI8^V)P=XaGr0U^3-pi-%nTnglJtUoKH23{~6FnMH)T$!9y z_>k&vP{8sbS@s9Oj@snJM93imWD`@pk#UaQ=6R;KY`j7N*2shqjjK8a9O;yl{l*L# z!Toy4P4s6-0rxse1_pRm!vN;S8i*_aW5>M1RJ5spWtt7oH>pGQ$GUc~ln{3M5cX$_df>rvkT%R;Dlw^0*PH z(Pz%FyWr=!0qXn=xy{UoRR8J{l@KjbQp(^MWg8*r;7v8)){MJtJtq+=B=mYflfx%+?q7sNa_Cs-BvIsgCw07*qoM6N<$ Ef>;Db>i_@% delta 724 zcmV;_0xSKx2D}E4bbkV}Nklj7NBYYDqsPerfr1q9u2GoEgIMg?$90ly_g1IgMaS8HY~u}zU3VDeIRFW ze9M*&g!B?DNfI(&iC~)qwgMoBbaqa|E_GS!LUA=9N@U7J7tMFnFx=GyR>D)m2%18v zw+K+E$Oot^b%FtJK148ii1+Y%p96T()IblZaQ`rbi2;xyil_wuW{okj#4+eCP8BwU zC#BBsD1ib(bbnM|Wl|}*5-8+I|5iv1yjVTs958ugi$a;4RQQnUZ`gpAsSb83^>#&DK8pRWCZuyB{y*~MGCmHIPDwY z8S>Y0XUt7B5EB4nNBo3UkR6z5op;b3=i%`*M|N1Y>3_MsK3O7m2lOLGKZGp#o4ASV z7_@;fcGu!C4y^|oXj_1qr33r*+|t3KD6AS-W~jA)SVXI|c$8BOXpgD}Hjjdm?f~uY zG|>K8(nMJTeb%K<1Gjw37PVlnO9DsTLcJvNo_TeSanV}Ov}p-kv{)v!X=wrzE&X<1 zm=^X*(SNEo*@T0Sc#q=s(?`&HmtiG56}=CmgHOBI5E_8TbJbccTC5lyLldBxVM7!` zo0iT?49Jx+t!$)SYBk`=g(nGt%&-7-9@WK#0tr-;3X5p{Qvor6rD){}(;$xpCUKpUx&sGC0HzIX$b%{!d7AYxZ__dCCl1&jQ!TAI1BgLJibJN1eXMmB#}W-e*gz`Nliru=LQD>C?5osh3fzS0eVS9K~zY`&6Tlk!Y~kq zvsir_9-@L3dEitJ0kKe}4}i$n#mV^ri0}ikwIf@R80ea3s4pZ?%GtN}lq~V*|NcAM zahCnFPynYi(4MDhV$q&Qf|e@g<|@hAlVz%1nw zg2F_nOn$>+oaz)9T+I@7Dud{nReU}m?!0f7v2nCP!1=cwPblv(Cn zQDAok*gDh;;x)%B2Mpsu!g;2St3ZdmGZuaU$l1IDoCKhi0H%zMq@eBq_gLps$WhQ( z5dp|UQDJofJP(uvf0R5x7Q*bBR6;bY#~RD-VXGj3=F=MmZXT?Tbh7BHL@l*?DRt8F zr|K5lOvtenQaBM<3LZFs{tc-O)t&AkD*i8&n?Yl}XV2cpkYt^IauWHz-?(e7juC(k za1AO-`_c|uu>UcpP) zHUeO%D4;vQM1kV~uzjc(#KGg01Nw0IB>~VhsEDux!R6IZt{OpEQe6?)G2CHzfT@XNj^XZNP_Y5_&d34ue zXaZxvP|W|J#7{kvIAnsyL9j3)uo5zG0G$m(ar=UHcVBz{6e@JDu|09)>Z3Q=7N49% zaq52DZLZD{fHrUgd8W=^j04FkxGm(80gCWW-_}WeKYA?bm1=YyB;XN%;8W|JW|sOM n1Ta^Sr3g$NO{0VpFY`uS`C z005jxL_t(I%k7de3d1lAMRNn8A!~hv9HsP{_TW7N`7G(!f*W^CAZoWrS_+w3=pP^d z%lPxV?#l$T1I+oOg5qy+S00000NkvXXu0mjfw}V_b delta 187 zcmV;s07U<}0+RxeV1J%TL_t(IjqQ>#4#F@DMSBCwLsxQy9tCmDWXN7i&RNO`QfL@k zsfMk#7Z4Lj{PF33Teg1JeVJf(pg92OfjA(}0ZoDdOF=OP8YSt>N>3FHYE4AD1^9&3 zf&=zfl>rV@I2zEf4<=F?u9VdlF2WjYiI~UR9yzbX6xEF3LNswx36Le`!Q2lq-|a(W p_AmP#z3j(Fg%NA`7v|lv zR_Iug4@J_m?c|vmE3xz#csU1SWvC0piFn4MZ55^uXBBNGDlhbq^D!$zT@%lMb+{ zM!|&$if)!vH+wHC8O$wfq%RSHk}>Z)1@s9hr9Epy&VUsP=xz=vKeJfFUAfdcehW5qLiLRRW9y^YE*ez>6>kzDR!wFu@8s zpzPQ6Dc)JIU(<9^1w7AGJYDd<57;TZ`R;X^eqUX9^3lJfK(8P(6yb|E@6&&@y8PW0 zFMs|A)W}Es5!d9?181Hv%xuH=F6#Yl;OZ z;FI00ikL=>`&3|t1@@(MKHYznQ22I$<(~*8vERn7m&>y$#vL9Cp=NRL{*c*f^UVck zPlZ^-2VH7`@#^+j72G+fP=^}8Ua_01dVc53u!NHDuR}XdMDnbvf{l|1S;Jy)CA$(D zQCAnwZ+szBKp7mCux!K?=K&VkFiep<2MTr*3xPfK#S)2Sa~QYmI23=Y4W&#VShI&` zh>deQ-Hga)RwE!*I$(9H08Eu?05V&ywjV6AnTndn;-Lg_-U2)_hD0%`bk)W*4$@VrZ2(j%zb|rXZjMJbml%4T(9tC zXYO?~G60>q$16QRcIGaw47++~?zLkAI&+UFCZIF-#srYo+)onI+eMVQQ*J83YRx@y zObG_c+-+mr8notaJ|qUMxnG%I|JK~a+z1Snxi8H}2$AM~5+4Dixu3+2xk_p7b!Y}o zH&j})WA1|lTysE%!S;iL?r;2;W1+c^$nA_B0oVww`ACf)sq}7h8#;4;uP z@+u64&7oqK)%SngKQn=r9#p6|dyH)^9P8lx2q6?^FPC5Z4}!kc^Opqa1rV(SO9Ipe zB1Rkls4W#@WgT=OlyME*lmYP|gT+k9086A%uR{=|{AHa;TLQ{l2%UNWAh#H_0_^n^ zaikxhwvR}G>O4w+2oYv!Lv0bnBG3Y(Dn+{fmUxZ4PO@DZ)KCJTp29wXO0GzB3y8t} z6Ls7sFv|sUFBk0rL;2hRTm>0^aE5ME(1m~nSp%ZQVv&Mnzi#IsC4a91ZS}drJXhkV zijun#01=@@AM(7?WhD=)i2T?mDXLf7hM`Y94_g3R{al29L2Wf}>LJ&wcz=0Gh1&%mCbOw`n4)PFg1Kn8Sx0d39|F(?6ci2g?Zk zWEprB=12#BOHid?{UiK*I$@fQ0K1*In}eu@_ z0M2tTLauw!r@4Z!3XlmlO5$f(HAecnDuKQ~X2`n6=8sL_L%G<-t!nuGn6io);K{xT zY#quBsv>?$z*^|RzKgJs$S7u@`JwnB0VM2Ahzx9hAxU|up~~AO$Q8h>1$sdzVIS0l z4+k}B20*k9=OS84nZO?oYD+-Hhs)hZ!2<&5kLNsgov*sh9_J@Umb?nQJxE@a01JkV zU|%LHVj z7_C@;)*-#`poL(ye}p~&?6Y|J5Ic-=*>nKK^|SG+wXiH!zxc&}A->(d#cH0$ z7{FcAS@#|uv~uso!xFzytpIk4!*}KHXY);KZ~h*Dr}4&o+qFxz4^Vz{l7usE2dJzH z;QH2A8aN_{w9yY{sXkng>I^DC)+2?+IZ%rVd@)baE$7wHtooNQ3G+TIE zL4PsP-k7*tRREj(;O}SJ0h$3>kIw8#0GnY2a5virNCLo;fVDx#3<6Nhx4=sqLOb?0 zRpwigy1r)ymzDWOUw7&^<~t#Yo(gQuH|~jDuNL>_+fwLxI_}K3G+t9n?94X|M2Fsg zAEImX-TQKNYrgFQ-le~6&39^imR5w?d{gU1y#`d~oBDddqc-1q;-X%g?^E~umH9q% zQ&^er&KAmq%6z9Jp9Q<9%(tFOVKLvf5l;b%`3B(3J!diBaMEYi5rATS`vGCT1E6Oz zaP!TS-TOH`5^(d~2jM6Z)F;o&FcU_(gO41J|f0QOR_D QYybcN07*qoM6N<$f*Uss0{{R3 diff --git a/graphics/pokemon/butterfree/back.png b/graphics/pokemon/butterfree/back.png index a8dff2f333df2e19950648d5611b4fc0db4a0892..f543025db19787f99117b9b4ebfe468b6774ea4c 100644 GIT binary patch delta 830 zcmV-E1Ht^Q2cid%B#}W-e*gz`Nliru=LQD>C@i~0$30>lhTs$D;H92ks^>L#hxIi2wNqP#_1Kv0kYtg z!R6$i8CxFNIY2TXjF^vq{`b$*v*-P9iv{kR*gwv`2pytx9pLFXfBU`=!{kUrGQe{J z+^eK{y-2){WbO%Eh>=o_1nYTWYaf8D@73m@*Yi5P*1j*srGmuO{?+r^`vBB#42jyl zLclu%l$O|C?SbB3fZe#vtVHKbzyPW&gxXpQ4#1eWGA1D*#K73}ofCX9qEg^z00|+) z9yn&oW5P<2Lj<6|e;w#30^boJvlx%m?HDrI86Za*C^?R(0n|Ef2jGHALvZ6^ptc5Z zEcE559Lb>tY80Dogm8f=6iO+l3wTs2)j&QI$11r#9|F<>FPYkIau6**yC@T#lu~_| zkTQS!p#g>fmasVy2Z`)L%1`f|K9N(BL<^yBL#d$wzJC7Ve+0RdFhN`lHBe_S3k^IS z+TSEuLIq7}Y>W#4j}Py9?WiSyvD!kUruag>d3gHO21rhfhdZTW05{*Co`W_(i8Xnr ziUKYlzx@oFcCf49nIUdT0J!;B1#X?qb?HLmP-3l{AR^SMhK3$w+P2@`u@k>)f0ygo`q!@UVx=dMiiJgL@>3mYX(Y?k$? z$a7ga6NuaUC=-+AZAQiQtTn;xmCEUo_f1Re5R`09e^DMGNs~mRZ5SYI56MxfMMB%T z8*^E$$sFQN(Gr3;K>C||Z9?xu0)^}tj(F|lU?)*TB3_b~Sa1XUIQ=&eoR-AUf{Y?5 zyT7Z`NyuWF(gObqmlVphTb%(ut>(BG1OCE&u=k07*qo IM6N<$f{d(#-v9sr delta 839 zcmV-N1GxO62dxK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0|rS%K~zY` z)s;bt8bK6>TTjqc1DTb_Z4GS=ueW=m$RdzU7IT7}BFrj* zY|Op`IY0&+1(%h-svND>93UxZq^Xa;{`c4GXYk)G5&Cbmf4qH)Jfe9W;%R&P4WfQ} zBw`ifIRWl;dU(A^gQgOH{t1$3p!GpQw1cR&4?u11^!i1w9W>ju{RRz74T-D$YY^1; z0qETj5*zmlf#3|#Mq+oh2ikuDcEd7r63sIK3+S>Sy>%8mKnS|BCLux8wKf~x2@M)> zN%-kPf{6COF;kf^Ru4JE06N>Qi6U%x0%o6C$XJhukjc&fH84PbDRIOGz{bSw0g|}1 zgtQ*IdTRmCLPrhCf$BS8gJQEakq=CuP%1TQ-5Ks`^aXYy7T1zbLS`xzeE!L34OmKZYuxcOLxew~NwGKD6Q!de}Ih*77BOU4dZ^hO2{ zhla2%1!V5R)?65%7uEshKC&e00N@TxM1IS-HI~@ks%*!9D8ri-E=%i@OdVT={)=Sb zb>;pHm~bu?3*mox_KYzu>;>SLCQR&sc`u*Jr`1s+?(a>wI(KC+&(mt< zxo}bP$Yr@16nU;HZvshoA7yH@9A{iyPiqs*U8$NZWXHC|4ne8f6qPZOv`NIqh6SSf zkQ|goByyd9ySA5Ao6HgJ6fHsW0Q7##piY>5NT86Nz!9 PAP?Q?g(qF_#wj5u6Yt zdBFlLC^%NC^}9Nqgd*Vy&+)Ht$&u={sxzR$%NcG|;CoJ06jfDt0yLMiB>*k}2-&DA zc>>UkXF0yrWLBiuYgMN%B`pP5qe*4_>3{x<4b&Y>V zIBWuJSb&H+1u^m$2)7l_ZwE?{8ABk;ge0|`HJ;ps> zGva=`c@O{c`a#fiRu7e!L~1%}B_?DwjKF}rB~;17%3~rm=#IK|OfsfJ;W2?3wbF&h z2}}^8RAey0tSuP~iPc;NV@Q^dox!x#OEMUetCtg)a|Ij>3o;n?$0RTpumR(L3+4-~ WWtHxu=rFVZ0000a4oP-;Qc%;@Zw4HbSoKk1*R2P!1|%my4Xq!v{{{Yq z2sLbjg!6qdbK~3FBawD}yts(FA=u0OpHI%O2=gA{7;W(oT!a{cc<3%6_ywsB0FMqY z1VuIA;kyp80EZ620Ky6o;9;dhm;o~IumR{BAOjDZ;Q`1*z{8HP2O$01cJS~3BzYTz z86dje`}!wC^V=ke5(Ke0^mtRK~zY`?US)<+dve? zr6KXEyT}$aU~;c&ycrr1HzBkjBPe7rb&ZliOA?c#j-ipmB!AS@b4zcN-tT?i_nuCQ z@;4qb3-GlWK zfN2S8ni6yDL5OJyYS##4<1Zxedjfn}>ni!sq>u7!N&+>jDAn{_6&y-3`TGg58xZgz z;R9p(LgrqA7=IS^tfG?SEd`p;e_Fef0tm#+tWt9v(qq7HnAMm};M+??x6uI{mSnqO z&RXA@0IEzwZwbJSL%NVHu1x|y7+^*U&;!TrnF|&lug|}PDu7)6g*fOPJ*a58pv=T}8X0%QpEAb0z8cTB(&ZG!^mzJIJm0OU#sBZ;CAc~a$?Lgh&H|@vUi#D*Esg)O-+|T!8^l%^|GMY%K}1|OCK*A zdr+x;v471z@XEqdZeuzoga}HQw|;>aqDCX&jaQ5SodNR@5Yb~DKc@=L2*`M52yt-- zSSNV#sU!dYxsA72ciWEH7Z6(!u(qS(Ko3wNwtDEgp7@$|`U0ZUCw6cjj{XTHwsFFc z=vik`mT@JWE$M<+1f1Zx76F8Wx@i+xmn-SGoPP&$p=L$?jpxEzfg}Q9R}5AnNI)VY zz(MEEt;-Lv;)Fn#K*SS!hb1n~P;x!j#3DoUZ*LV)(@!{+yAaS7}TBN0tn?ocq4^?Iw`Akd?w=KG5{ q?j>N~Ya9J-X2dp4DgVzubbbLy@DEnh(m1RD0000KZ9YWjML-N-{-n&L56`8NKvVi}YiCjbfrOb;YK}vC4EPPR8j}fpdx7XS zI)KB{Y$wcHYugh*m1*cL0l0BU7jmW5Nx%mK%t!%x;MhHL&f??s+1F47uqy~;kTLCE zD%%(bN-n|Lk}&`vlfNyVj9uN?715CZ83H}X-#*_N6Yxaapuo8=Ykv^{`SSiqq9jCt zRQcuU0Elvg`}Vj4F*ci)g#aA@NNi{$pl!HkA0)sA4gkyyhZ3cAQ8*Nxl9eTX)GSpX z1m{S*%V=;eT-T*6kiF2S%p+S-wFv0&s}>icjZcZ}UF7^Nj{S8*(%{;2+EkZet{RFMkC;zSBe0g0rL+iAdwjHxCAT}dlbz8-O9-%~H<KL;e;X4bI!ah<4QW4(gm*wIKfLT0tg9p(a=dn0Zy`XzT22=wfbYM`<#HuaQHsqL0<=dTH-ElJN?=bIsc6!J4h2J5tGDV6 z0zF!8e!NKH4kz}!w$a~aR&3GuzsmpTK^{f<14!@>R=1}GbN~PV07*qoM6N<$f-^H< ATL1t6 diff --git a/graphics/pokemon/buzzwole/front.png b/graphics/pokemon/buzzwole/front.png index afc8230857425bd67696e91025588cd79247b6fe..fd1ef0d8631413a1b51c264afc56f2d494dc2364 100644 GIT binary patch delta 1196 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 delta 352 zcmV-m0iXWa1GWQ@Uw;8XNklAEN0cgK@2@u9tIxjxlidNBXFdQ!-3-h+Qi0+2XI8=tOn+Y9 z^&FhIJ$V-Z0000L02;c~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUMs;OtG% z000BSNklF>l*O6vuf2gf1EQkg$>|+Hm52fkgfSG2Gn*dZtWi$s)}jXsSRL z4u)AJONO8j<%I)L>BL0?flyCFI2egUF8KlhJY;M>Lyxi|DStM_?u8yWhSj^E}}3!QtZ<1u+MxR;$Oq&`CaGCK z>3j^VgQ_wN%zw-hr0#yHW3YFt1ZMUe>btjf9DV*rLHZ#ZfUiTG?A^-fxLNsP@9hqs zp$kJ~SwNBY@Gd5?M^7H)A5Fb$1*3QZaU|)?YuwMrVdTODlo3=^$ALPMPh)0Ann#fEb4%6U+LbYj&Mk-|krQK&{|-+40KcZ0ri;4g0&@VIH%Y zNW7A@2JC#aoH=0IHse$5i-Od)&{+b-w#E26DSZxfe5&$J14vze2@op#R1{P_t>D=< zPY~X!Xn$=(GZ#dm2EILGH8TYSnf?l z-6vP`9Y-GKg_=4qS~fR*y>OQxn)n~5jJiE&x3P`?Ul5^?moDrdhzEIx19?$>S>1n{ z191Crc=R%-!~ypg$45E96H4hue?cT}0Gg($ihn<4A5x@6ix;ALiOvapnFnfEj9cC5kKHkGTUG?|wy8 zzd^jPD5YhclJO`>Zf-_j_#nG`pW|RI+);Z8D9IEt^hSF+m)mcUN+eB^xAu2{#HlH8 z&VNGSdOQXh$CR=jhD${u+%hCda<;G!m;^c-q(8pv=1!tBbl4d;58Od06VQE18@z0| zkUhn`W5XI*{MCaq4K70N19it z*_WFDRsQsbc~_>r3DC}!8M|5dhfKgwSNl*O6vuf2gf1EMkg$>|+HmWBfkgfS3EbTT za;8ja=_1V@XsSRL4u)AJONJm2<%I)L>BL0?flyCFI2f%&F8KlhJY;M>L+@loQeujG z0X-0cr1!gb$9G5m|B|$eU2Kn%beNa^x$v~`G!J-ubo}^Pp?{PE)M~YpUvhv#t#*8J zlCui(E2S@AY|Fx_R6J{2CP-%XBtM#`daGr1T)CAE(6-rXwar(N-p&SyIl69{uMqW% z%)G2M@O_8pQJ1wWpnNd_)((pbtFg&Q8 z5AGCny{vq(|9@tWuh4@LvMiuT`*wt9B8qiPOjnWDf8tBF3lS3yRn6DkqpsJeGtY zG{Ny$ZPgjr^|fiuoCgh_6D%`x9u(f$8i{6;-DnS9UI*hQ0&-@-;+AvKsTTo?=*ni z3swN3N2+&&z?c%D<@i2I9^t@eP&6H4h;e?eq!09ux%m43*6Ns%@! zUbfoSpWfMTnLzQ(I^+JLj&Cos?SWJ_-e0!sh<{tOolqI^+TqF@UeNCd@V}8eJ&X*Oq$nw0T1gJp+XOU}jag-|?$_lDzJ_P-cck0F+ zbcLh>AGX$RS*Z0D>%IHE7jO$OSPY{Z=VFEkwlZgya0i3#ed!0Du)@8EBMb(!*Q37K z^|>SL!7Wv`Jv;KELfyIA258DZubF>sIokmJLY=eQrGLl-Ol|ESGJ#G1kQF=su#5iy Xw63aq@JLJm00000NkvXXu0mjf;n?cG diff --git a/graphics/pokemon/cacnea/back.png b/graphics/pokemon/cacnea/back.png index 5b5c31deb9f5fb40520298471639340e13314bbb..6eee06da7fe3538ef385af60c174a00314512b07 100644 GIT binary patch delta 607 zcmV-l0-*io1>FUZB#}W-Jpc!ENliru=LQD>DGG2?P(c6y0zgSbK~zY`?UcQa+CUJ1 zy^$!=v0R)e5k(H=1y1A%a!6@Sv9=5}DZG)p9DjlPM7puOUhjOKpPgBI-i!RF(y~{j zylS;>+l|)k$0|Uy8#kT1#!WTQx%=F?m+flcQ-|fgeqCKt-Wv;isRDE$J73{@M=~6o zeQMvtI1!Q78Ujy+`qaw6tSkUYs96%F_3#9!ZOl5bfYWOo>S1~UyxyQus;0Ur+lL>< zgns}d)+l9x-wJ1siO}Erk3)b7&NdN1mlQo?<_z>hg{zT>QZr>e=F2&d2URo1Y}j`k z4dYea^FOSS^|-`*E(0%AW{n#TKh7YY)jhF51k&epqf)_J-ACLJP)kuE{_^Akt(0_U zFs}O$(+dF+@LJ*d4#@eDQxJkaD;5@rAAe}=Y2XYLc8t1Se~sAyDGeFL)@{!LOFL%o zl_4y}kkXK)^?LxUqkL;9g$$qE>NY!h7kn z*W#GvVOlJTL&=2ifa&BED0cYsZ!`K90AOG`DGvIlW6g#13$(Q=3F8>{JM5nIrhh0% zLncbb2K)WunVx_t1Cx@+jMA3RdRsIduwx5(*QIwRP3vM(*ifn96#%8k$sz_9fVAP! z?zn1Q0;1`RyKPoiPOk5am)vmkE5}oe;zP%%$aeh&0KV(FEybE%hTusUIf9N2=qtcG t0BP$^z*whO0ZU}O9XfgW~{Qm~P+9Df0QBHbT(S$lq-kDal2 z(f_K3`(4$mM&q_wYutXk2FPaZrgc}lxem1MKDX{w^E&XU#k#LvHdnNG|A{40I!n%b|=@J7GKKiy2S^ zU9r}#Id&2cl4Vr{A6CeATwp#^p@_6y;hNJ=GDxOXA?Jud_M9%%I(%!oh+6_GDQd)D zLe0^sq$`6_HGqU}2#A576(aCJ&VM;2A?dYZ?ttWho_{^{yo186aa(j(nDvm#P;uhI zc090fYxZ7S!cvT=3{|?gd%y+CH%BW*rVzxa39{e64fRvk%V7}Yr2Oux~ zzO6`nmH|gC4pr{A#k|m9jE{k0i$DJkW8eS)1}5WTZ+|-UT&kcz*Q=5+&SAI3 z_Q`C@f`2UJqGYVM+s&WZ379Z2E_uzUZ1rrmW!(c?_K>%Ic_*s75aYt7N)5jPP>EbD zVt589mmZyt@76gW>)yFP=JN=ASk8IL12?VZJ^u>$*H3{(tHxsmJuRX2y0{{R307*qoM6N<$g4o?7 A8UO$Q diff --git a/graphics/pokemon/cacnea/icon.png b/graphics/pokemon/cacnea/icon.png index 6e4f890557603ae99ddb8e27557b8528fafed45c..9f01850d2eb6bc585e48f849955506a15dca9d26 100644 GIT binary patch delta 279 zcmV+y0qFk90`3BkV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Vxi5K9pDh z007ZRL_t(I%k7de4#F@DMRNlmg(I*;8Of3`lBIa0=ivxU+zF+OG(*!NLrtkf60;y7 zu^_zpDe{+{C&cd+L12AIi2=~3H} zxGnZ;v>9~H;bpbYKv1Bz9qqL(G0|D)6qex0&ct8|9(ud;QDL3}f&3;KtQVX#SXqPl z9z^0_-x7ub7iRu!E)1A=!U%d1=0O%=>YPOwq`-uc*aRkwRhXrMMHr(h%jl*d8qNIx d3Ll;B4*n~M%MdCGX^a2>002ovPDHLkV1jVDa+v@C delta 224 zcmV<603ZME0?GoAU20000)nxRN0VUe^nbI97k}Tm}IQ1MHANfkHzc&JHM@&3tTWXiyf)ma|9e zzTX|gGcJpC?6~yNBkYY;iJHz&{l|Yij@1C0bjP?8E9+@EuK$wZSXm5x?mlE4Tz-P2 zo#IZXdtu$YSS`ztdC|RocW$R_yV@F)K4?J~z)rkmToBZZ25qk8Qg^$@&GCOgd^nts z>acyC=KCORtbX)w9;K-O_s1~_6O3gIPd?3aICvZ5&tY3gO^ zJta)xo779JaDj!3C6mQh0sh1t3GjxcK7z%vB~Rd$`xwSUeJKERP-OTyJNrm9WV0lS zqa|1X(2<=~azz|vEhYiHIJk`c44_Luv7XLs9T1a3oXA`UOp5nt=3MqrRt(YQvWo>^ z@vaEyileO@`MC%{5NCfkN3Onz^@TBBA^Es!^Z^oE+W)rn`?w!e1N8c)ZB{`LdD*HS z?wi}y3PnTPudAIv!99S6OU-J)PPGpkLLO9|@m>HbC{EMqk2S^E1A99C@!gpxoBGM= zIUxtBJg{Nr-CcXz&(F?MKoHD&v_R1dFffpm!FAsj96XmWx$w_LbR5)wIwu8 zt0kJ(DGLRCAUm^O4|}i~m8HwTg!-R8bv;!s4fY+yzy12V8Zd7RJZ$rkGSy>3yFbkP z>aVKp`0OI;s>^B2?L{=L($&pzG{rTAnv|L7D~1WuCLrI$htuaVd^xqd^={bEM~9dE07X)8x%@>+$5{! zY>doIRQz>)qd+d*6~LkCnBn{t$rOlKqh?kV)SAit5$;|S7XVV9z?(_dG-%NlcDT2u zNpO;U#_*$)ZH6^cNF_2@>52(mW& zNM3*o)=I)~>y{L0!{8N@IkIkD?&5Nmti}{(w-~>RLB205oGvS@i^1thiFTYF65VPY zZ<%K(%v$F5h20ePR9`Tzn*F)H2)&Ya6a=}xxG2s%ttq)PeQ{B|hLAL{Whe8}DtCdK zHfIX`Ad+$rni{f~3jF}GA&jG;hT5!LKWxa_#1hHM^usr)Di~@8XQlc9b@K8m^}{F| z%^ih)Fm^j>c~$zsaQkV0sPuyYcMo0(iSp4_zfl@x`r)?H_*?-{>W6iu@n7`Azv_|Q UZ7bDJ82|tP07*qoM6N<$f?3y}p#T5? delta 1159 zcmV;21bF+$3(5(Q7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1V~9lK~!jg?U?J5 z+aL^uBN^e)EqVXPt;GFe$HJM;{t21RY!l8w2!ZkUc)V?Z?|;8)uzg|xfVd&R?I_R~ z+Q3?SI||%3^NC&@jNL!U0@}|Ez{m^$J}}tqCpp+nG`Q=)`ebm+VYfz_O%5v-P~|Cr zYN5y{zy`a0K7)aOs|Lm*a8@rJ&~Wt`)<1g#!yiCd)Jq5MjF=)YwsYXBg6nLcL3Rla zTc<~EVtVZ$|DO2FGXVaGIJqm=gB?NyJa7IWQPQc`lO$YOy+8b6J+0OfIfuKf{?FeZ z{PA}TkoTg5jtJh<`i`V91*DBbLBAXTSENHOKIa^G&VgQkUqj_daPTZA*B#4mCd1vR zDHGrXh@5>|y=;f$h`?Yz!{hHfcb?b@KvW3Ucm>O8$(rgw<8;V&5x z8@+GjaRGzgR0j`oCSbPU|N71#uDCC*i0&26v}oXSHDT-<=ZLLA{HCd7R@$I{xo$6E z={)yyU*`#w8;;m;*Q-Pi|v>{g#nL*^tDLve5xkwojWFkQ~XB zmS^mKb+`r{6+N%o_2Z!PPc@(QTzYotRNJT8^=p^KRG9ocYsz@RfwJDV4n%5w3?QsR zNuz8)r32=Zfm*#=xbqf~Zw{HT9T)YSIOvY4^#J72QVmF#MrtH{SE(l*Sfg<$DGWpM zuJF}=z^dwbZ;rPTQP{qqt7b}vUN(SwOrz?SK#gE9P;Ce@)El%8iaGEj3Qi43Q_cJs zJ2N2FHM2`v|BZ4t%*TGQgk7^8FekBOtXg{2D_n9w8orpH1*Z;}@7AY5tv1ZQ3fe+WqonlXVRWEMKsEdTTZ8HCU&jw9 zD`+;*Jf_Ly_y6hLTgMOh)W?3iFY<$QscFk@ksky}f7+BBs`$a&R{6nfu*wh49sUbH Z_y>8oRx{TX$NB&O002ovPDHLkV1nS0A0z+( diff --git a/graphics/pokemon/cacturne/back.png b/graphics/pokemon/cacturne/back.png index 7769b4775c27fbfd9687c476a91ccebb510422ff..106f7e7c1b48e2429fcd627bb61eb9ac56372cb2 100644 GIT binary patch delta 656 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 diff --git a/graphics/pokemon/calyrex/front.png b/graphics/pokemon/calyrex/front.png index 6439045eb009518c26b748f7de9e6747f9b94666..e523c02e94fefbdfc873ff646370cc72e6e232ed 100644 GIT binary patch delta 662 zcmV;H0%`q%2Kxn&B#}W-e*gz`Nliru=LQD>DJ9#2Z5RLm0$xc(K~zY`t(CoR+CUhG z4>5SH6GXwDaD>!K8IbIdC|l$!UfPAyWXTf6I+hFuOfR^}(4n=-R;dy&q7F{aQ>IFI zY8AF-OQjC&|I*haQVpE(ki3#Vq~GKB+crXvX&F(B4mc<1Yljp0X#`Va31H(P)!Tk4UYF zGCbhk3VD-QMJt|RmaGN}>v8?a%R`LO3ZS0?NEZ?CH4aGc*huS5UAq z2V|}m0c`;Y^YehIe>v7%pX3-Ihj~-S3xE@gAx~_q&qqK=2y*`;_!w)>BEZJEyGfZk z^RYphwJ=Qz1fJP0v#G=A(n3(@3ypM@J*CX2oShRW+r~zRiHuQ;zt%wPg3f(><^nqs z=wn+?aA5CEf^foIj14}}k;8CuIRpUnT~uYzpAB=W%?AYNeV?#;xJMGE5a$czV|RxJTbj=v(4xIuF?KKEp7=@LSDu8$1^~ zeR>Dbp*z*Ne;f5fiU5B~+nYQf`(opJ5QeP1+1OTiF|@;OiGfk&xCzT_i;n?aPsL6KR~0MOS7v#@%ftl}VYmNX1uWEI_&zm(pf@IXKqJrqE_ w!eBMf@~o6UV=B;30n&0rX*t3?(4*Tw(^wY6>4`G?3;+NC07*qoM6N<$g0uEHbpQYW delta 666 zcmV;L0%iUC1%d{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$WK$K~zY` zt&_cP+E5h5A7b!YCy0VQ;RvafG9cL@QMQOzytE6Y$&w|C^;j|(FulP|h7K(zTct|C zh&niZOqnX-sa4pTEtNX7|4Xk)q#AgJAvuzbrStQ-AJ33SRYI1-3-2-hnx@Hk;av>K zvX)!Za+sh!5&HP179#k6yCEt-X(f!WQhZ1i76F4XtD@y8Ls`}11wT18@?|!a#TFup zQ{&!0V&xi1h=6-#(iXF`cC^DJTMlH_qyCYX#u|eqKz9Y8T!g^aD4@KL0_rFP{OAno zFj^tF!hy{hAaOMh7;`|7o&_w!wP*IEMgTQPTO~RNxRDy_*rBC=*$RY6qtyQjKBa~` z5Ab2??xd^|_o)edwgMr51f6P^JK%C4^8)t^guc$70{0hvtO9(SnoTZq4mJ@AiCy%C zuTLYWtDrx0N-+V>-gp#@d52O{3^dgs7+>}gpyG(4ivF{HN_WJ7ggfLPo_kGp5C@!& zE(iT?@#Lp?4C(lP^w)2%1I0HtF;i^SF1$`%H`w18;A|hDxz1{FQ<8HF|6awDYTTl6 zldZ{q>+ssqV*mnYH`Mua+oUms&dgiWe`Q)aEr|T2_i+#2jo~fxjFJf0@jl~W1i`nm z*QtskcDir}K)*8)MM&^N2?2isjZG1de6jI;6a>7nS>4ukL^X`VR*s`UyDoqT*n*ci z1;0qr$d`y{n~<#3xv%&{5_S+aaggP<(nIvM7?AAtCp+5z^Wd}svhw?$Rmr8f74hN!DJjx4Au|8~0{lrtK~zY`<&?2c+dve? zt&j;%p&$fPaD^IKooa+ma)*YxQYk1>D`kKc$?}>mWo%>Wp5zIM4lqFlLp>3k!EjL| zXqLdK|3tG?sr)zey}LLuDXoWg>ys5J{(k=6ch7fLlz(197I1Qye*qkA{w**$lhGrW z6(VeEGAFVBPFyZ?YAkVwQ27yytJ38MiZXxATdjAtPh@}=+&u|!7|)+K(}Q%)UF@R ze;Nf*@h*Kg>m@q1f1MyGD#IWlC=_d;?@(et(u$~8=Mjj6>PiBBS0mSZUp+p|Emk3E zUYVdnKo$Vhsjj}zMUe9+D!pAh-G~x5SS{;8kOs&Q;0PS=KMO?C^F1;KtRp~|x(#8V zwDzL02ne{e_5C8yajEUj7_bw6MWFrTLKrCR-Y-B*5a??Xe^BEwpc40~0C*ra_#Xhd zJM)!r9QY=H7QdEzuid{rrWh@WAGi3`{(%I@Z-DC!0a$|&B((@iAOh!~H{~+IG%(7@ z`IG?im3}&<%!nO0pVP&LYs(%IaAkycPXN0DXvQ)o83Hbg*Ffi&yJDScGwy|hO|yg% z%%-)52E1F4e_LOL8w?QF3@dSuG59BR-knJf4{KVM8A`orvDP}5^>KK*RAyO57{@&{ z(|J<6Lm;Bq!{{}i8V!Dh1|88OIe)M%eGIv@MyMe*2`r8PoQ1a)QO_|RqbAmQl^pR# ziAGv&n<8K@yQnb+jr1X)`BdX?wtW~@?fw=5rwVxJe~kffMtr((`I-WtJ-lZ_kB*`g zTb+xuS4jq+*0mA>^@T4F0Ju?dMU~%(GmZf9NnL}Ou-1i=0CF0I@|no9wyX)psX116RLTKY>G zf{eOhEBii<;R)y|14T6kMQjHRU<{h3{73Z@)S6MDE)mIm00000NkvXXu0mjft;KA& delta 833 zcmV-H1HSy32d4*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{}@xK~zY` z-ITFU+dve?PazYYLO}?o;0iUeI@JiBln#WtQYk1>D`kKc$?}>mWo%=bp5!SK9bkeA zhI%46gW;k`&@6#d|A}U)sQfqdy}Q^kDQbpx>QfXc{(k=6ckk{({(br5fRn>9z|q#< z0+TaidSu3h$Q&Jv>0xYtj8>1Y(3VQ?f8D4BtZgD7}h}FWz>G6=TWbJ%p(v=)l~$1uZ3>? zL*@7|vsi(oSu!DY38(^qIhD1Sh75APq9ux|-CoG3>#vmz-%kTH0R#fa`_Fxu^n7oi zB)|p&Y^m3j2Bf_=%s2#G*8Xwf8@SX?cLdmtz9G>0c_9r*r~exeQ3P&v1!&O-P>yby z1cWaS_#XguIs)qtx6`|9YKtlqpNX4WH;PPl4baB~` z>(p9NU&UbV5=JPttaUUHy_`Dw8a&{DxW%9x^*M)MQWw2{nfUVXmSq(KrME2J-Vmxj zCAUlCmSqM})JHQz#MMZEkYNwA-+E>?#T6QKWsms&!Ljr()Ro# zJLXf=Ezz~y#%#lYmO2*4_O=ZAkn@SLK7S>&eNDSS1P0<@yZ zP5hWJu^7+^Nn4m4b<_4d9K#CeDFdRJgQB*B1~3L3{f@!^U4;As)S6MDb%Al400000 LNkvXXu0mjfVK|Jd diff --git a/graphics/pokemon/calyrex/ice_rider/front.png b/graphics/pokemon/calyrex/ice_rider/front.png index d885a9c8eef61752559767a98d4dc87023e4d2e6..7bd20293d5f10e9fcb1c4b412401da403a3a1c5f 100644 GIT binary patch delta 1063 zcmV+?1laqP35f}iB#}W-e*gz`Nliru=LQD>DK1P~e{4&5YORTY@i?;qV<{X3lgVuwINRUyprk)z4`pGbZ)2x59dg~=Ao zTHpO=kO$xY90sbQz+`q**&m_&)AM5x2CE8${Kb9ki$8xnf53KlrOs}3&{iyhX`YNqq4XMm8|R(a1LC$q~g7@v8-i>%v|bd9vP#>+suOE8gE5yo*s`eDGq z?ik?We-mW01{*H{7ZiY^a>5$S?eKA6h+MJ*K*j~2KaTf9C9*IDz`BxR=P&48><3D4 zT?#nV*kxaOIUB?;7eV?0+JGA|zzHtM=Ilklif46tPp5+5Ev7t~9Uu9)Ve`9$kMJHlyc%Yqas06bl!cGNe8bDGa2XuQd`{x?Nhc^5Xac&9>120$vKD`6r^I(Y5VR+(bq(N z>;t-VX$hZ5){YO5p*06_Eb%E@l2)2`&okRB%m2!!!vblv((HJ@!J)r|5|W!K@R2w} h9g>be29{NI<9}u2D7GhdWexxU002ovPDHLkV1fX+{agS5 delta 1073 zcmV-11kU@336%+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1MW#gK~zY` zebv8j8fO>>@Ye@jxamC^RfZ17#SF#_m5`{VE~X(>FHl#9!Vr73b+zQFsuZPjEsEsn zDi~gTLphbf2dXZqRXMx_$rcOY-O{bXL*gZ(=1-{lyhjWNNAgIZGtYZf|@gCMQz`qL-+;pa>GD^(cL&>mw; zS(ikbKGNwpy9m~Q3>YBEdWk>Axh@@#T@grm0gkj7WBJ|R$K#u85cgB5v_3s|A!0+n z$Cz3zjOokk;rM2&tnbefY#X=Opu<>C+02>4+u`4D%caB8ETN&7ywSv)cj+x}c&AU;aaL zCH>34j%M2>z)Jx@2r(6!>vk9|9p#*mJq7U02}+)WUz2QS1Q#&pt9W4=p>U-np|5OI z%ohMjh34zhZ_@|`GQLuHkqU7E*-q5syB?t^*(=^BL_K{E>{!?<)_crtkjey95>_4a zUxd4wtb&(+`hF5^8!Mh$KG`Tl6vic0`^7%$x|5(*Y8lc6|Z# z+&*IyfDpAMKi~%o=4-llf?7UMnE=Knw`%qb3VHsq3kK&iFsp=nCSi?mwg$^Uti>o( z*9fH|V;w&baBF~Q<}q>j0UImi3Yg&~rWCPHx+pw2+-_#zTGiqM7@ z<=4+)7ds0PLJNREs(bv8cG5xO)jWt@Vh0I*4g}c+iKH_RczD8qccE#upx6Fv4s5uf zZNP_0^MSPq*OGS(!NlA@u|OuJM@cAio=hiP)Pn&`4B^9GD#B zdkjZ^g@R>ivq`9pMo~t#VDR$+d(@=sy?7jZfZ8bTp~e|sD-tPngh#LPnaC6bO#so5 zde*r6Qt%baKk@)Wy|U#`RD0J0SkImUk*ZSEQPtJj-SfO{0Vy(AQRv?Q00GNML_t(I%e|AairYXChV=$R zu1b;ffn23HiOV!Hi1o8w+{7U45LYgIFXLtn8!eYQvXHj%fxQyi#sQr+vZYun!v)f0 zI(_`JVrRdxtTzgB-3KLSx$&vt=jtVf4k;aNNvt{myHx9Hel%fEKdyWzvCC?8RXJ%rD@$-i7|lkGKQ4qdRHax^039exc$?ruXgr zO7sKz@yQ|2QQiW^=yE8;A!`8mYk#^xB3#N_fNXjO{|^TZR; z+WHTr;p(@n4=moQplyqcz=sr*}71pPQ zU+d=-43aw8kyIK0Cq)miRb{O;cCd(v1kGK z8-KRMgpIo#`l=eHX#GL8e&`wUDd5YUv6$N7N-%s&4S8@=>n;R z85bfih9I!6xqoCacwQeMZM_VH%naY`Joowl${-4rtwJlZl$w0hrcWcWs zn7k(Js4Zb+mavRje&p`EJhOyRMaf-mj6zDlaA^qxzNolm6jY>O5&vjFM525C>fsIe;Y)J@7lxiZ9 z;&6pA#~Pry16fB}VNjER+PN7%3o~l(4aRi)y%pwdwD?>3@ZJ*_Vd@w}EYN=!rt(Ek knEIbWy@D%W&_DU|8+)}H`m$y%2><{907*qoM6N<$g8$3ys{jB1 diff --git a/graphics/pokemon/calyrex/icon.png b/graphics/pokemon/calyrex/icon.png index d0a835fe0923af8e23929618a4851489aae31b2b..d4e9228f13bc74db77bc15476db2337704b995fc 100644 GIT binary patch delta 242 zcmVDK=j`EXDu;0K!Q`K~y-)-I6g1!!Qg*eFM`A zc<=#aXr?aCIXi@&C(x1;$R_DjXdIJFg;F&Xl3HH7lxWjK{ubg1@mD1y@&4JI8F|#l zx{7N{5-aS{%LPq@=q&na0n&beE7wTfq61WB4H;plVAp+9=WCHJ1e1LG0<9sYi|NCD zV2c$6G;H+%?TLZQ-SsS^x;f|hlWpF delta 229 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 diff --git a/graphics/pokemon/calyrex/shadow_rider/icon.png b/graphics/pokemon/calyrex/shadow_rider/icon.png index e1747ccc62cf9e8e246513a3bfdf99239195eda7..0157a181f8a51c60c0c70fe33c19d5212ac3723d 100644 GIT binary patch delta 423 zcmV;Y0a*T)1gZp(bQ=H%bV*G`2j>O{0V)S2&woDv00E6jL_t(I%aME?e~5XZR#7@P ziASOsRCPxJ?i*gG_YSnrZZCfKi zbhU}x2h#!`cYXJMYT_4FVLF6B@3Wvb4H&~b^e2{aih7?)4-x$mylN8k1)+0%^g_}kFaMm&lcb2;|JFj;sl z_a%35Q6Cf;IhdAZ?co0SNw?#&PFP;mX!wn**tekaady`CO(paOPgl!xZJ?hj9rq!7 zy^Wrlfn}c}NG8z$Xki+aLc+>TzqgYF0jV7=0)hTq{{f6H8yG+~e=toWY+yPnUsy%?vPYKnYE|}98Alyc5r{X((Spd z6P8ys8h+y{_G74goSpT3QwhDn^V9NNH_%^|j{A_k-bPQ&z_L#fBvv#4+OVTi$c{;0 zNYOM&5Rf7?v(TUQAHZl$fdMoHrhjR~6qt?*uz^7`Q}Ad3qe2=hH3vo-V2(u5%mC8{ zl+Yw=MqnTyRU9*C1O~$D;*e=xMqt`~fLX%u85me{M<$HnGcb@um~|Sd5tycyl{O48 wpfoV<9GK>}!03L{^gA)*K^?uRW?37315@Q5i%TP^?*IS*07*qoM6N<$f;rK-H~;_u diff --git a/graphics/pokemon/camerupt/anim_front.png b/graphics/pokemon/camerupt/anim_front.png index 394f96e9f11ea9959cc62466dcfa10ddac08dee0..61f11f8c25372307026a4b3880bb34094a1cc6f0 100644 GIT binary patch delta 1386 zcmV-w1(o`k3%CoAUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUP!vK^+k z000FWNklzi#6;7{FyfIAn}uyIs17Qrs>bBA(mf7Fi)|O#y00V}ZmqY)u6Y zHAMMtD+Gy1AHb(Pf#J14Gu+hS`UG8XGcx8G`jM3NCzjJr#eWS)12(Mh$4?(Aiu@_c zr`9x0lRwAeCbm0{(!yBNP8;Ga(-@d`M`Ru8%p_0Qk_==D@_Xn=*8L zABr$q$RA^joMQkQAd>@wL!dpGm=JN{KK$ok9Ibxe&H)pjYx*I8@fZND1Eu2bcZ5twm-4jFJGDyo6M_WN74PUW%%RHcly`U8FG8md0dIV zSSmV3$n|YBnl5g_-s@fxI5nWv`w6B%LueGzlrCNeX;cH~Fr6l-J=W1EqLd?)Rd2DN z9t}g|%(twR$`(;}y${C##Bk-toD^|rthh(&Ea(!h%zxoomT?*-1+e4*OKE^cWqh?R zia3FimW+;QL@EigthfgUl5|Pytpr$1(@0iPq|e|EtBttF34>4ygCEs;ulK+Sj4MrH zW}ERgY7QXei45=+@ZS8NSaPbx<2Ew>mJ!ic#`87V zX=6-aXY^zUf-pl~r3hC?#sDE}MtF!{CPb0BWCj(9=3Og9c7%Q}M6w{C2*TqXu{cIl z0)Hx-L!9hi974zd5(@wbzR&Vg1xFuLk0wToXR7ZUdoE`%#NW%d`Y4Qiy2P|#};7LZ4fS?>O&wYG2&^GRKf6!c{ z8LmG$090afL+Sc24SeDDu{FGY>OjPXDen9Bu;*H6-mB?>;>hrbXEFZ^a|^bG)VL5Rx3U+f$s zx|o9JxL$eumPJUxNJG7ESK<`|$ps^vnpJ`M)<2$6@Yh#f)S6719id3_{nxB z271D`)~AB8%CZ9BqdpLf)tUoa0e|qzxnRu8^lSJ;TgLY*byNrjoiB>?D*=cqRj&{X z8ZP$fB`}jKr4$VQj6`}4uq~5IVlNoHT+jm%%mJ}$mx95B9_)cP+f5SG1%n7Z*aNrQ zP0Z?oAy0n+tg{W=Ar77hMggqWcT66h@u6S{;7%Oyj_NfC1|KF9egXM~KVv)*3|?Y> zzB`4}R|R9075?Bf3&wWy-vlH1H^K0p5sXAS!coECKe1O9aUd9wJr@k8SunuqYW|Q5 s#xSl3M%^EzU_9p!TrfWS!>8Z=0ZwzEff+uW7XSbN07*qoM6N<$g7W-)bN~PV delta 1354 zcmV-Q1-1IP3z!R#Uw;K7NklM2y?v7TY0W zO#vE5V}ZmqY)u6YHAMMtD+Gy1KY&m91cBEA&2UqP>nG@XTaYoIq3@Bh{#Z_K>2Sl* zfDP;Y`1nXs;!o2)w`LfI`gtmDQ@1nFT9g{b%RTXyZ4GU=qkpvsA(pcbFe&tPw60H) z+XMK})kR=pyZbV9eIJUjTEsu6lnkB%$dK3w44XiEGO-~tf^qPtF^^Wi@8*C_j|{U3 zP0rT^aAgknvW)X6 zDS#ycBIN-Ym+{rQDB=K0S_(eq5vwG~vSJJbl61-It$zeW%+p9!QKZjcgw?Ga<3Kuir=j;^EsnxSsHN**k;J`uaA8A|P?{{!WDyA$xNP zV3oQT2U|cAs<#3XoQA$wyjN=vZGr2<74QxKIgN3k;vRg5bs$!N?3?0R!YwNRzS#)5 zsq}xM-+v?!F(Jk!5CP!HDlgJM`Hzq#6pZm4$W}K3CUKer^zIb^i4bWH0CFp!G2B)9 zhd<~m`WF{ho&umh&o&6enukRU;c=qw{Nisy40rjtc>g9JFuPPfiZp$n+AB z&6L3R{?7oUaNkt#5@^{Hus)aoh$xDL*b5MYsDBLGC`>Am`(DohLOhuPz5?ux|Kyg_ z9gMrg`d39{Ulq^yWT#CjgEyn6LJ))%@+w7)OkxcQab^rdc$qOxo?-_f1n4RIB#jPb%oZg>3 zJbzY!$H#m5n!u-CZUT08&x+TF4uBkw#nCbhJh_*P0u-VC>K|vnvWHnURB!sn`?JUU zr{gdN0PLB#obj{qFYSMAt-WrbA~Mv5V|A}$pdMIouT0p(=3ozCx*d~RgO)#W;b#v3 zhC+`_0DO0^9cbNiIM&I)JVZ;_BN)&Vy?^1QN%{yhXOaUBq(Q)H0^kqu9&peOz>}H) z2nfjm`^cxwiMDAU{lOR!!y5UM2B0$=4W;WJTl8eqr_Sl+&Ln;2!V>p=_p~>1$h=q6 z18vYc^vS5}TPIf}{Cc`DgPLEUKiDpD4kyG3dl8%~Ux{>C2h2GvfngE{k0nGZhkri; z+zY>(T73(ETo9u2@YnFoG3JXYc+SWxkKeKgB^YUF_T5UnVj#I-gj2if4_RqBTfqo_ zuL#I0d)E|FX_7mN%~wi`Lo1AMja3dSnS3IJ!_5RBCtfsF+4axNJ2GW{Ap(MI6= zN*@=3!RL!2{YnC|O5H02gNKW4dVdAX)J`b{1MiVckAT<+wI#NKf#rf8$Y2i0w{|HQ zLh8X5c(b`pg1TTZsRvu&dUG3#x?rf&Ujpmw7DkAJ9l_Tgk$g%pyk`U>QA3XKq+sAr z?3G0{1Ou|?f}y6-5Daj-nm^=%aT-?yqwWt%FrM=V6pSza@cFm@08VqDfh;zKsQ>@~ M07*qoM6N<$f~e+$D*ylh diff --git a/graphics/pokemon/camerupt/back.png b/graphics/pokemon/camerupt/back.png index 2188e4850fc972df459b6f61ab1917624be816fe..f97031b2c00d2426dfdd74c87630145f8f2df3f1 100644 GIT binary patch delta 486 zcmVDiP5e%5DGv0q>EMLw^)~)qhzM<<3k> zaksBfEQ+3{IG4BmZ)(a|qP_>fXEz{0A7T>49;7!Q4hhrQBfylec&?HM30RI0l@H)% z2<~SPDxZ2FXVLhgKS~lVq)e4soWRSk3m_%u0EwDAFu4bq+scK?7Xgf@JqHC60+{3; zqz^zmVd;davP>(|XMfLNYycuwj4NCfIrSgl&yzyigH$4ZivPot>Jyk)Ng>>N{sW+p znXHAZyHme5JOIH{E)(@Eo9wO5-nwxeGG1P>xSabbQkfN1Myqv)qtRi*t9F^CXbBIR zqIo9MQC~Gg0gQCFT4HXu*V(e^2ptr_de}v6R;^slrO1{)aetRWRi}VxthF{-D;m+f zQb$7oU|k2W0?;edP;=_}(zx(q+&j=~x~RU_El@o?!PO-&MkBL#?}P3FB)Df#H;jNW z4P6o4c4b+9fc~m~wC^pstsVzJp9x#LcRzM-DhEc$(&lolJpF delta 495 zcmV%!dWn4}d~uvKF%LPW{^O00d9DOw_Y%vbQ>W>&A7+czMO*a_*-{WmZ%ft=1imMu!cr z+GUoaB|K<~=9x@Kebo>JFw)&>iMicgXUnD|bWi~6VHdSowQ@O^B3u5%U4IHyodTk< z*4kvPXhic$9Ss41bsfM8K(90`m6rYzPIGIdK>_KCT#8A{n)*!92g->o6EKKKpShVu6}!P zU1;rSv)@|1PVa-maYs1p`$RgyW|!x^EyA}J%b}bpa=h%Tbk~KkM4MZH(d_~E=>y;c lItN&M++BmO`d2E7{sN#8$_& diff --git a/graphics/pokemon/camerupt/icon.png b/graphics/pokemon/camerupt/icon.png index e79a080fd4062177b6ed187b30fc487cec626751..64797b64d1f4fcc979b37f3a0ecb9330073a7b90 100644 GIT binary patch delta 337 zcmV-X0j~am1E&L!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUP-)^-ke z0003BNkl5dr5WsQXz;ZKmjBuoOYt*tgZ*%En)P?ir4IYu~l^7$FNM_6B zz@~g`-5O8aPqHOW|0MZuM-VNc&EDNK5xML6X9BUwwkrGBPk-=vJ}CJ#f^f9U_6)Bs zK5s9nRIQX~1LQ~y_8ZLz$F7ynh^DUkJHq>}>v+bhDtquih?e>}fZ%V$qBEwh2S_~6 z7A?amA0EA8Q4~ZBWrUa19srE_0zF(2D$N+6ga#t0jr1%U0$h|z8FcP-c;lwtRJ%ANo9YFeg|AQ?7y;`-s8J`v}4O_7Q`b`Ut_y`WS+l j_t6JKi$3~o{-KXMQ%T?!)V8aj00000NkvXXu0mjfk1CkK delta 299 zcmV+`0o4Ad1AzmOUw;7%Nkldi x*N-I3>_-%4;Uq^8X6eT$4BhxKw)qD?egIQR;1({0AiV$p002ovPDHLkV1i>Mjnx1E diff --git a/graphics/pokemon/camerupt/mega/back.png b/graphics/pokemon/camerupt/mega/back.png index 36192211a5221059c8b42d64b540afa1dd177e22..5891aa14342c06bda59e0561f947703f2a38c1b2 100644 GIT binary patch delta 755 zcmVDjG(~6XpN_0=r2>K~zY`?bJ_i(=ZeO z@N$7jyI`tzTuBbyHMK;!PTCOHYB=h35_NLjfIJ_kbzN-o1>*G!jB@D_x-Z9j&YyNP zMH~<(tjbmWetFM+@z&}5!@(GP^t}`J{eVJj==;xG;!k`UNHFfdf7%P`(URiDUjQ7d zbI$jHZh$e)87J4eNqm@xV(dg4@F+eNf^|6$UbX=Y^o0;({0@^gFy>*80M-a6Z6M;W z1q}rKRv>t<2EE^dZrIyXq6FvNaM}jotODaM6VcT!xZMV#14#HM4+kdNSo^RnnmwMl9#wt7Y8fE- z@wEYR1F(~+XYHF7MHgWLZOMnBj~p z)FoJ#fTx&34MECe=+hjGV)LD@KY}Hm2?jFB6vp6k062f-hq0mC?cF($%4>XVhW~6i zPvxZ_K$wDgkGu3Nib7KmfCoH;i&VxOB*b9EI|4KcX*>t#BjAT1lNe*T32Yw$T>@&& zD3upf*i6Ol9aAQ)3wIqJfkHzK6nSu^w*ajf l_ff`qw>F=2{*ON#KLKa=ro!4gtbhOj002ovPDHLkV1o6ESuOwo delta 764 zcmVB>h`$ju5cFGt;Jq63{tUWdZ%>I5Ty(=}8-Vi)jJr%k*Sp|u8;BM#KMyOw_JA>) zIuO<1U!uY-GJvG&qO^Om}q0|uPot{M%aPcFIgF1v>^cqXe#oU96W2dQmcdhpC4_$c7kD;T>M^ljABafmF&n zjBD-lV@f?sfl_4J;#g4v87tPsnC63+R+r*cp)e)z@VnBSs@@Ee8W73LeR}vMl`gLu zNOGBUAXT=YvzKR}Bm$ShJ)B8b>8)D0!<#>7EkTVEw?0aLag$Pt*+^M;9_(`YfPN&) z8dAdyugF4Of^`XaiYe3(q)diBU4v0syNfJTA);Cux95M&Z#3>Sgz zBcMw_tr?|P@{)FlJH<{YFa`ZeO%1RGIO`e(n%)LJI&Xl@RP5d{WzxEE$KeSmG}J(m u2UmIv(427}Wt?|&^R|Dh|D$DeI==vC_ol+~jhdqX0000Djq?k*Z%+j18hk|K~zY`#neG>8b=fW z;I%5nYvqy&ROVVZ_>8IKT%!zb)mv1rLCUf9?5c;Vjm^GsrAj!d*#YF7ndKVEyR$j? zk{F28A5irN^dIEb-_ZAFH--}6&`X~%!uvkvy_tQi<1EG&d$7fre}k{pvGuU}MX6e2 z`?WRVv+BpFuLcjR)!Kf|iU;dJ`3b&N_t%2P5ie1NH6^}l)H#1#tu@MPn*5%XId7I4 z_44sgs{yBAjFk`nD`*m^6X-6bcIfRMKP2#&u`dr>OCY|PgC~sfroXg+ArSK8q6yA} zWsng#%Db#1I9cd&f9J-D32e8#GoClWz2k*0cQOR&jk9xG0M0)5ykK$tsWIk8$G68v zoTKpwv=??@fi~uC%R|ug)KdhWQge_RdYQK;c)jDb;etQ}c^f(hu`wAY2}B?nerSWV zV5aB5MjHSKcu@gNhJY$ey%8=^$2?qk_0rQvQ8x$FBLS@wf8YDI5)i-}#*`{R7XNAT zZ6u<@Dnfz;R#6p@7Th=EHw0*nMEEQeLPe5A(1T(d@B0=|yz_y8kg@`i3<_{Ree*{F zdZGB4Kp=OqOc>g&-6LC4N%^Vbg^f&?Pr z_b`c5qxHW)t3$wG22UCKBm6!_A8TCZ07ogN`;ic!Z|gho8vz`~wzhXnfy%#4L6f~5 zasKtC=Y@T3m(WVjgLdJzJWt{<(sdN6UJPo|xy*;zUWjA;DR4=&^0H~VVg=liQs;W* z3bu*9f8G!X+)a6^u@OusSYf(0J=PN}p{DD^c%09JnvFkA#?$e5^zjkWAEwJBONOJn zyyME@FrCpM;VIBxX0k{@@qDmA$z(8_(dfrG+;K9PD7>ljCm~LWQnSf0n+>zUBuTn% z*O@=VtiXTm#b79-_sUrtJzoKA$U83fCcDli9HG?4{QndG018cjOgZaxFaQ7m07*qo IM6N<$g0)-ACIA2c delta 945 zcmV;i15W&j2$l$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um18+%0K~zY` z#ndrx+eQ=sU>XH#8d-9Y3Tv%2c$QVbS%aLMqFYd(C7@&LqtKyfV~g)xpn#k-;z@!t zi_{vxATCXoB<3GDry=s`@?3jzV;ZG<_9j7c#` zAOOYik2WX^vTzP;v;lyC2nt|QT!AXg#2A;TV;(LJ;E!^5)M1^nLjYfsWe6GJYrDhHHMMUE)6DcelXDPWv){9_|&Gt8;8&Jk(O27Qll* z%M1JUxx9fN0qj}DzNdC2HE|%J|3Wux6R!gB0Pr|60&rk|LCKe$gVT!2!4;e%NYDfz zpJ5H}IXu)ad@n!j%MVwOK$c7t0&Hv#7ub`}YP+%kZWp(4_T3+s2;#m}`=Fltc$^@y zPus-VH|8~e^7pImkZJ%_8+*!AQi9TB0^3LYHGXA(`sc&~U!ETL9Z(YVARLbobnTor zfBPU1#1Ke-ua8NbnlQWrT3rGLGkD4{7~}mI1FZ2f2RKR*J&%|G-5uV7-$~#wwnO{G zH0b6TVo@bO|imkZF&-aPO*fZtrL?;J`XyZe431Algaqw zD`YTAmPs0q#ikWJQ=)Y? z9i`bQ9Zuu8=k}cWJIo6F*Iw+5RPg>z>TdKs4X`2axY(QOIh%ym8}t81IL^NcO@K^M T7D(0%00000NkvXXu0mjf2us6^ diff --git a/graphics/pokemon/camerupt/mega/icon.png b/graphics/pokemon/camerupt/mega/icon.png index d1f4345177b5645cdd7f102c25f1b4510e280bf9..88c96b1e38fc33a56ae74922842b21a3fa6a61b6 100644 GIT binary patch delta 458 zcmV;*0X6>l1D^ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUQ08O)pR z0004kNklyIZY6g6sd}{mCNjLw!rufsWTcyxY%w z*k@b%AZs53m@8ZO=)vH2 zI4}zz7R-Z>9?ZhW2xj)-z$|=NFe@L}gZXD4-`OZl)W~>m;{X5v07*qoM6N<$f*$hE A5&!@I delta 420 zcmV;V0bBl`1o;DyUw;9FNkl5dr5C?GHz)C801la>)q^f)S6ewFzGr)$Y za+`TpCkoyOq>8=y3K+sir&g-B`|Hlw_~&_lUx=&vGpgq`xkUST5x_p;iy%BgFjcj8 zW83G=V-r&o%C_Ng2nd1No+zUq!;D5K)QM4=P}ib42xu4$lYgu~8h|M;{}Y z$;Sw0^3j8t`EX!nJ{*{tj~>j*M+;`=V*oSxaA0OWdL1weAJ~HVXCL3$C{5H;IU7g- O0000O{0V*ht9ztdS00K`*L_t(o!|jzZZ__{&$8E#r z#h0jMUI(mHLON(92&9;21ey zOXBrf0)YaU2x3HUMXIudZw6#<`6Q~dGC@K zJdm4(P&I+E`%=H1&;?LlDf>sQpCld()OSukuJC!1csLz-tOGqeFB$G-q#k>Df($n?7iXY?#;+h#DMr#=Sy4kF#($AKP@?(gSX zpkKLvq+O$^p>%(J2C+dtjcP;<`002ovPDHLkV1f*=F&_W` delta 638 zcmV-^0)hSP1?L5jbbkU}NklljA6vxkoElZuKVPGkCWyBc2#8HMwRc*uv zAP0hop|N-}GgLRQN6CmHrMeHm(y0SghKg^{1y$*S{9Slw2P%4ZDH0RHe<@l1KfinT z&gVa4wQ3pV?QHj(5Gf+HJ`Vt$9d@4|*nJ`@!1evxz5|uKr+*{Q^#eqW@S3VX3q+cb zjRt~wp4W^sk;I4=g0XP6>?as)kUhO}hsgPNgMW`#dhwS2#s*+8 zT-2^el zEH#a?&(*W440fNHfCn5PE8n%OD?S>46;I0bF@s2$&VPHACJ=zyEJUUPZ1thKJCP5D zDUcdpDt|u>V9x}whPqtQ<1`JLMxU`D0@xSnq5j5ik>eO285rDm){# z!Zv``_;(wCnuMK{0Be&ih(`P{-nPxoh#!P#_|E=pLZyFb2<4kDDgDFD3be}fkF7n@ z3|0EuSD+2ber%lrr9b*|fz~ll`cK|HS)y+ngGzstIKl9a^v62=>-1-J`v0an{r_qG Y0E%lt5W>$rk^lez07*qoM6N<$f{s2qF#rGn diff --git a/graphics/pokemon/carbink/back.png b/graphics/pokemon/carbink/back.png index b6ad2aac9638564108200fcdfceaa2a3b16d8b81..0ee514b8a5111021ece91304c737a354dcb6f18e 100644 GIT binary patch delta 558 zcmV+}0@3}P1(XGlB#}W-e*gz`Nliru=LQD>DlPtWw&?%>0ryEnK~zY`?Ulbv!$1_r zYaKi2wSz+`wiggYswM}8{sqns&Z32b(ACnhe?u(G9i+3qm@!yCFUHr^zL8l6Wne-Z1o;?`u8s#k=tA7nyYcAK=pI3Om2(a(<3uu{oGu7XwO|F)>ugN)-C7P!U+Ti^(_Q#oJ8YcoWG zLv$moLnw&1LLsVgD=r&qqx)Zl`#=BBq67QS4$HzN2ue}9u%NxlW7(g4jlV#5VhiG1$ wG`NdPIIG|sBxS&z;O|440s{w=zw~SQ0z-L({~`JB`Tzg`07*qoM6N<$f&x(i$N&HU delta 564 zcmV-40?YlB1)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UcVu!$1_rV;no!YX=7r+Y1y#swM}8{sqns&Qc2pp{vr-zd?n-{TJ4?H2*_fOA5M% zJ1hvUzPn58OH=7CeurH8zMsAy;U&(${=NcAskhNtei*+mgc#CR)!)0&g!YGwu{v^g z*|`PAOYKKsvo`WsUpz5?IKM8&*KXg~tc@x#p#@1k$9Gr9!(V(M9_j7)?$Y=HLB7j5 z2OF+KLP%5lq*3afGONG~g@_0vWPLi%`aM%9BGvI-lcSTj64k4OLp`5_)~0l@0dRI2 z)MOY@C0}5I$-x>hRZ5;jeAHE-tTl0w$G8lyWm30`4eNVo7&m$g}V+W;2QEdcs{6pw*<*biD;0KfVmSrY^3LGBdQ zOTf_zaJ@Xak6So%aE&V9-y^`yOJHCh1AknO^9@6Jg#VEbfATH>0000TFEpaL7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKV`tPdDz4cr0~G4FVdQ&MBb@0Mzy@aR2}S delta 92 zcmZ3<)XX#?fxXYu#WBR9cVd5#mxw33z@PG7_d@FcmR@@<4c7k`S?%f^d<}Ty?=uVY vY%;0~Xu9Yw#-J*Z!dTE$*{~$RLrsEVHIKEZ$Z=m!1|aZs^>bP0l+XkKWu+W+ diff --git a/graphics/pokemon/carkol/back.png b/graphics/pokemon/carkol/back.png index 21c5eabc535a875d2f0eb5cbe22abc0353437fa9..d44970f735df5c20f71f52e3b1910ae1fd9a9d57 100644 GIT binary patch delta 557 zcmV+|0@D4Q1(OAkB#}W-e*gz`Nliru=LQD>DmMcbPm=%u0rp8mK~zY`?Ulc3<3JF` z<3`P4$i$;f8!O=+;Nl1HDkJxTnA8HXoeM+mr4-Vp$fDP95uZDpVoAm?5E;{$h?Vr$f6W=-e#8Weu-p#X zoR9)!)5Ty1ut*8ZkPA4-@*uJt0^~Zlc*qA@VzB|pp3~lQWW=eI@;K{tK|&O7$&}f) z*9AgCVlC;|mvAsQte@v^Y+Sg4{>QcghWr}kJ z+O6;aJOH#UT!eYsI5&=47ass#eX|QmR?d|+49>P|GkyOH5N*7F)4p(-&aAaiy{HDx zjmHC&8BCTxERPDoC4!nw<28`ZlP%U8Iexqcpl(!SgAaa>yU<&lKe5b@3c*BEn1Jr< voq-FZsq6``Bl%Q=9bSbXm*4*_|Lpk#=4H^mW?+4J00000NkvXXu0mjfJLd%` delta 564 zcmV-40?YlA1)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UT<+!$1(m+eZ4@6seSmJ9^d7Ky4urk+Am~d)yn1lSYxH2ryZFtvQJSXl zBwk!76!zEs{>*grfBx#o`SAVt<|iPz9R}FaZ0MedB^iD|WJqHyR?_S9AAp+y6D-1V zanR5_O7bHaS zBbhRL>~(>VkXT51m9g|CWuh`jq$JYwgmWz*Q+(vO3zR~#1>jYvs}ZStBC@0a(caJ_ zYr-#iL0b1zE;}Y73N@f?sAyZZ`$VBB#X4SWfRy(DRoAjD789R;PSA+Xo>3*3QcjZT zNy443B3j&Q3W#qe0-L)EkS0+b>k4(7vdnfvsE0X`DJ0RhgimiffYzg9;9x~|R&&xg zS8N{9Mnhxx1AJ*r*521n0SaSKq8clDTuG4TH1o+DzWR0ivb%Z`v0g)0wpv zsu$J3z416enZacF-E6B6Tq3AhHeLhiJlSHsk>lt+0Cl4pOMLNbyoKK4{DEbDmx0G1GoSH0(414K~zY`?UX%h+%Oo& z&x^M}CF_pDO;Xj{^Fnty%0b6KrcM_)1V@sso$>{oZiOt8n;{)at>cDtIBF~Y0BM$X z=#|9iyHq|xIs5G71GImGFn)e|-uy_N&Oa&d*%JW3PdL~D;0XY4e?1n&Lu3~}<|5eS z;bShmfIy6CI}l(JVoq7B14#E6a!(roA=%&E2{r*}2?99@wkV+lwE%!KNGJ~}>NTgZ zO$mJYcAGNR3;+TU=esTh7`6O{v-8*IgkW&cn1hESDb*#UkaR&~6Z%rd-{DS(NUy2R zU~rqr>l^rDhXH=re~={{-m2;G4FDW54jKS(oF(6mrG&W4fmm;qH~5&!>r^IRA$}(i zUjyJEK8sT+FHRxB2Mr<6;EStLUi^M@N$_|m)~oEEMA3Wu>ooZ!(2(u_SOfMZ))vMj z>JS_-wm-8~`-WWzSxO7efK#Tc#GQ;HN2t%ji06sUL0{`pe-)525<(nhQKS;3bDPap zfepDLC1b7i%vJ%FJQ$^WiH)&#u^Pd5pO=Jl?-=b;tO3TDG;@p5_sXr=%!+xXiX&t0 z%u;!|WFnte0Y6_9=C2l_$mgRPpr_?tYfWyQxhUqfR-d@ka$^fEWtJDF_*ws-WhYdA z?@CeWRo@iBe`XEnl||0VQsXpW4uI8>@m{$QYFbiLiDiD%gV!XOxB0O9_nw1SrKs)_kOZ@?(t|(o% S)I#F`0000p0B- delta 694 zcmV;n0!jUm2Au|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(MD6K~zY` z?UcW2+%O!+?ZsQ5l66PnCaLP}xrFX=l!K0eOr0)p2tqDfJLLtOZiOten;{)at>cDt zIBF|?fHX@x^h#p%E|o(lC!a5Qfc9$;#=nn#|NN7@e^dUmCjfw-a4-Pi2>=fs3*sZP zgCBDdZu00c7k)?}#&kV@5MmNxPT5)qknS>MpLGC)WN&9X+yr1v5Xeb5po9{%1^}Ev zLU}|{w>^a|O5n@4Ta>YO01$vU-?1UUsMWy$oSwZtBLsu})*O5sOPO3i3Q4D}+dk|` znSO`c5hC5TI>Y`=CawUm<=c5MKdcKRr!zDbG(J!TT*CQ2&dqQl9^Qb3yQUC|0ZN9LMo{^Xnx0B+!uU z{a68Z4~?m`&XNPL&)D9~xb_XR5VDpMoB^vsxx}rEV@o8Tg%-~k`kFJrDnzjlI+1K?Mte)F^lC0f&F|>SofAuHpK>@wayE>Xmyv^ zwU`+(cd9tj`c~hotd~NRa~BB8MWz30A*ymdY5;0l?=?o3#+s|jb>Ml&HnmclN=aFi zm9Bm^|7YEaq`b4GB>81eSK(#@=+;Hf>Qd7@WEOz#$oQ{+Y=~r9Q&Wj(uR;Vj0UJH7 z0sVncrcvbHBdA~7?t%P*5O#FQ-MNL);X@8dK8F?%9661E^sug?$YfgR1HwcAT)-z? zp{8~m)KrTx0;8ZY*nR{?LU@6l8R3n&J^#(qw|uDtoQ=GoaYu}oH;jkgikuB?z ctUT`zqpm0sUAAa`wg3PC07*qoM6N<$g1SpW-v9sr diff --git a/graphics/pokemon/carkol/icon.png b/graphics/pokemon/carkol/icon.png index 4469388d66c4977754b429aa90f228735c1f00de..5e896998d9ea269e8348348565d766f81529c0fa 100644 GIT binary patch delta 395 zcmV;60d)T51N8%tbbkN`bV*G`2j>O{0V@Qh-53tRfEW^lK2oJ#HH!xfEV7qKF7TYlZ|_`mzyG=Ew=*56=d ztpJj*gh;j$7$b_p1LUJEJs>DazC6KDs>O32T<6^4fwxT;4}a9>mPxN)+@Aa_z*g-x zKDF@dc*f%cxq-VeJ0>*L$soUlpb&e{0r4sT_x*lCL^~gye=Q{-Y_RXt{y(OEhmb^jKlQAtTl=pFI;$0mTX==3!CC2FEmV#TC&VxfIgK@ p6Ik8{b5IGN@?ir182hjF1nxGkUVxAWiquBtyRJ}ke%$|V6LzW|Z!0x(7tg$Bq+TWUa1 zLIsFqDAlYv53X}=*1*TQi+k#G%cxgxZcBaw(5TJYrxunK00&p#( zhuJQtp{H@=Gp=oSd-$&fd}r|zg%&5&CBBsrpN47L8mS@EtO$OXo03)F~@hB*b~rr~qj za!Qey;xN82YmFk?3zxhoOExc`g-!O6=QNDZTC&V$fObl!3C!<O{0V@gHY-4!<00f9hL_t(o!|hf*Ya>S(9v1^r zmt9tg2~MFsE#~Tpi$#^htk3GC@eHy~PAZ>!LBuMZFPzcFm9Q+FL6spUpvoXrh^<_x z+q*8E?;rR_bGE`9Ax8?#}Zd^lJY<+cCht*?;UeOj5M%tWe0cm)pvU zb}nO>&Kkd|{cj*hj@#u`|KZu29~FYY%PXt~`1ZqD&Yqc*S&6WdJBRx0L;Y@3tFYY5 zj=nN?etxDtxJ9!|h`7Ss2MzE5U@!Gy#R#2(Ryn1Gr7Cb1CZr%)N>6-lE&CC6EZc-A z)U2HNzO~u~c7M3XEJ~>f{w7_W6L%W#nBY{fs_(awbCR8SPub=^t2Uegd++<)OZeS5 z8n$=$nRDk1{(L`Z(nSf9bf@3V?~WP@aOd6gLTyx@`SS-;C_CDP1m^d5-bb1Vw*euN}S1Al^A)U=fUG5R}{;36bcuVEP- zi*yI!3JjPQ#8dRR_f!wVa7glm?5-no^f2pznP!FX9gxe28h}Y(~4Qh!CfQs3+1+)cWLOtU) zFZtH>+tvjN7F$z@sUNi)v}#=6`mLaq*t>w)hBVQRpsQ!Aq& z*z}lR{l#pj^e^WG9tf7>u)@wpKqX_t4SKy1aDSgRm?O$BiHa;pl!R2q}hlP0w?XpKBz z41daFAP)px9VX6#JOJTA6}bm%R1#;#J2*P2;ELR*2Pkl}oT>w4u*`nL0rsu{xlb#U zn#Eihr(j3>Q}+KzsbUUM)0~$Fnn4S4cLE@HD#k$VF((4^x^gNpDpPXzL?mQ?7+(%4 z<`YxoZd#rY(Oy&^%h>ucch62&!9@M1D1S0OPk`ZK^)T*}gXB06J~g7xPmvHhhY}Iv z;fuBOd&Un>(L{x-#RvfkWMOG{bowQVYI;7Z70@s^Iry$S!q3m*=BCsMfK_V?6*LV% z`Xjh7;2tgcz}-m9byV!{x}o}Ay`(24kZdZAn*hjezOM>O`JZ_8(;sb3-C|CSX@97= zuLCH6_gg2`PLjXcT_{7{QOf_Fd%t#2Itc*Pru;hLRV(e$nj+Y_JV;AWFEc;7YN8&! zkqJP$tNk;5F(@kll_)h|!C3p}`a%JElqRVCn7DJl0${IL5p*FjFd^Nv>noDlf!93Wn*6}${kiuA=}41600000NkvXXu0mjf^hQ5= delta 1209 zcmV;q1V;O%3Y`j&bbkbsNklWx9`1qv&{D)^b-HQ*fJo#+Kd|}*|+VyP|UTr+bZ_$LVwOMoi(_r@mG+f!0pN^ zesKEgd&MB|@=B`-zJ7OFu;=0ARx)fA&Y(a0K)>76DlM;NOW#>IJ3CbuZqfV_BkHj5 zP7^#J*h}lMB8DzOYn;;3QWrQ66H=5srN=(EmT`m~%QhhkHLJ(IZ>_EZJKSRyrPKtx zMOWvWFko5|kKx14VpnA|B zPodfDFqnw&DV$wXPcw>BsTspy+6TVu6FEUYewx+GmWTU9ha9L9QZwLNP(fJmo1eV%HQS#!;t9 zYsS@$-|n_k`z~NMBHE)&i+Xi>-1YtQXAf0UFf-!RsaH_9i#EjNAIx^jn^2W(Bv^sN z7WOt0syQ1T(5sDvyR5-H_z!I&bncL34lj5c@P7**mdjw&tACHEfUl;%=8#E3%>%DF zrJe=*n*>Rgmw1W)L;Q1lu;KQ^9<0Yx_MmF48jR=mU|E>avOU=Ul0C?+l!!W*+XKq? zml-)N?qCn{kiw(Z{_+8nb8IE<2WKX;sQ?XMUaBH6RmSA>xJ9j%Q7C)B7_`U09tgTR zOn;mQdjQ6RDsk_waY>vRZ{X;pf-7;44^Yr%8M^~yu-tCb0rjqexW^qztzxc>O0dJ- zSpDBqs+2?2wdNH;W+H|bcc%;DPQ?_YJ<>!_URTBzqZ*65Cqf~Iks zggaqlDx(-i+8u`wOf-H7L*wHN6fSZP(|;k^LyN!&pBUlC$504eLz#%__}R7$2gY}g z;Y_8gM+^ZDWD!|+a`Gt*>v}$FDd1sndhmUBf}ftm^>w+|JqO#ca6xebGMvDTUGCAc z5891H;-ezG?*{67?SdYc!Lq3`Zi*oL#i42_+qp-o}`!HUgkKuY@q?YmMKEEukpFR z7*!O3N|Z^qV5;%>TSOR8nv(V-;wHEvU~j)F=)z)PLi(v4xojyyZ?JF&n7HFqzFHf5 zHmrgrza0_j-Y*Ea!z&C<2>d!Bh%)DH1uqknBTWbRX5}C7CWnGB3`Bg%K;RdH@NdLl X3uV37Gg{KI00000NkvXXu0mjffNWQS diff --git a/graphics/pokemon/carnivine/back.png b/graphics/pokemon/carnivine/back.png index a53780d2e769cf106e030e0f08af7640e5f9ad1f..b4caff4d2c4ab8c2b183d9786c32d2da397781c5 100644 GIT binary patch delta 680 zcmV;Z0$2T)28{-gB#}W-e*gz`Nliru=LQD>D-J~n_Sygd0&q!0K~zY`?UONY+CUV? zU8x=rOF>PROdR%0+_ItVc${#CyS7?3u7NeER7w&;C27R^OhW-+`>%N zgI|}x^OsNvE6V^AIRDw)4a-)KGDQD{=mLfi6w@3)wW9F_f3Cr4@i|uHel-3(#~Asr za*uwd%V;dsuWuKC_VDr!bG>q_4A{>RP{J?=@D+)Nhxwp+DGN*OFT=fU3XwNOf)EE6f?$v!;}&*UV* zTFPl0?XjPAe`lRi-IilG?8(=OxI#BW60 z4RfG}>9IRw*2N%R1E?GNHl@Q|+-%zRIp@(k3O?j11?W>2V8)7nzPKv`L};LC{IP=p z!@3KnlN^x1*KdGM#w2V2biZ3b7B6h_mjK@aN3;y+5V~K@gPw0KdN`YshkZ=f_qyjW zwYL-iRUv9T?MjAcxQ54TptdD< zli}wH#wdnWcyx1rT_!`RKLck27!SYbFfpqjWx#okfEM}%fLAO7eG60_61Vw`w8xRewRx7ob;gs=B*Fj^}#(xSv?nm1}1KQ(W(Eqv!`3ss? WD!gYlB4Gdv0000Uk1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUS*Q3977SduZR1~*ev;T$oI zyfASG+WcF;eER)4_oqs;GrVR(r)ql?nb#Wlf|nBf4ocZ-AThr!~|x23@$ k3KkEi4dtoQPdTUh1ZEk+#x*dDA^-pY07*qoM6N<$g7X-bUH||9 delta 298 zcmV+_0oDGf1AqgNUw;7$Nkl977 zSduZW2RBnwVIMJ#%*-A9n||w;Pxc4!rzAyqn6&5{Vouv`1K1Tc8CTvgR`Hh;*#bZSp+o9_q)aEgZH zl>+&PiyO|V+bo%24o8wW&Mb=xsPx# diff --git a/graphics/pokemon/carracosta/anim_front.png b/graphics/pokemon/carracosta/anim_front.png index e93c3cb39ae1bbfae4238f658d34194a7b07f864..64bf2a4f1a057cb954c1b02cb089f3cb880824cc 100644 GIT binary patch delta 1593 zcmV-92FCg8422DlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUS=A!A+| z000H(NklJ#XVi5QZfvP;F9D7^~Y=A-JQslz2g!7+fm{cM7$JN?%0rj8q|s zfN;9N(SfafMUe8~Lk{6jNSz;+cb1~858C}9QDaN{U}krgoPT*5jsM)oIC*)!$%U}# zpO$zAaFq&(aCoN{m_%yU3lM-0GP`EIrPRt~UHe&}nX4J+%%3>iOY4BI^0mnmHkAOJ zlUl&w?16WeoW~BU0}ReH#=AaeamtTFG_h{a}2VS3wh3aAVvTV zi*+*+g1g~4X8=3|JJ>_}wb_fzi8T3p06{wP;sfB0snBr&q*qGKy(~QdZU9IhThM?4 zaJ!%5#$y+ADN#?$T_H!7?cZ2CcarWL>jtyjvCiS#?|*0DL)QI{Bf=o{sTA4XjkWVT z&Xf2p!}(FIG379Jfc6amEdEpi6k?8AJpo~!=gt-wWCA&y9iY9)^E(2Hv;<BC6{_a{oQ{BtrqbvyMjn~-4-VO+0ALV87h-xx5&XMB@DBpU<`$h5S z7~Je#E%R-TmD&JHTvSmwsMSL+3au%Jyukp@&w*;cb;3*Zc| z04R4_0*iP0uf?-|VeSFfC7{$b_PX|Nvq@pz(Tnr2!8F_S@Kg)K;Z ztADMD>-u6n>zRWRXpETjn?2QW<>nD^{fVz;%&hulGwVvPH?vZ|YPwPeXsh0~XN#^B z%IBRbfHA)aPa8 z_-T=_n1D{5qqIzI0HF~M;-gXAM#({Ff>#60URYTj~oW$e>p&(JLhM5_#ZjUP409EKous`#*^X6 zL4doY=a#^jCWPq32LbMeY)(bs*3VP&hkZqf@*FbRqjhF!!I*nrpX{w`J%|!!;4bA@ zs}$RDC=6c${!C7_foMlb*>-qix_{@_S}?e|1%h;2s*wBw_ignz22$oQDu8D5nrs>V zurUxpA+9!;p%c(EC@{ITfebRkpb$TtRC=NHp%e@l2o#0$@pg1mf^xVwS!p00C<^Z^ zs_Cx{sN9T22J+D#V%;c*yUtMQ!^S`^Kaindc2@$i)rZE?WD*9V4J8_ntAEkF1=<0; z83w{lgMWFUf_z;83#|{074E4|1_DJP&mw?wRQk}y5QD2}!62(G1%iNHsXJ{oONK`A zNX6DbwTU;w5?C#Q+ux1i0|6ZfhN=W&$$I1$DCpYDIzN6m!%N{|cOh;4K}BZK%Cef}ab${BF#00000NkvXXu0mjfJRR*1 delta 1567 zcmV+)2H^RH4eJb$Uw;MmNklm8W5Jn{^U~N)TcviQoLU1Q>De;0dF}PL^ z?i6YbmA;7L8L2`N0pWCkqXS#}iXi2|haAG6kUBps-z-JilIcsEAW>sW`!F-ROU}Gj z>p%A~k3PNL=0c3=pN@D2aFq&(aCo;7m_=&Q4-kM4vvI?EM}Mh}#d_msfp)GIoHKvs za4&5FUgTSgCu}YOI8FO`k(->|@!p#A*kMh8$$7?j&*v;o`O^?>teb<|y!K|1l`1K@_K&~X8z z7fLO?EIk0O07xGtXg~qD-p_I6v9qO=I8WQ%AV-$%-1X zea#VJnEG@S+1`yA`3>hu{DxuwIISt=FdqTN6#*>%SbqW(Vu`bQ0Kz=aof;Ts0y&&V zfU(N+8v=^71Y*j;%{ss)&$naT_m9O#K`F930$BVw0Nw{-7e$c?1i0oy-q=+sJYL(TLq z7K;+d@tC>MYj%>QD&Ia-X*iZiTMpI67g9=LXMf@>S3Ut{GxHqm8^9c^YgbBNtmiAK z0c%_VI1?k3az5?|5ry-)oD;ApfsU<#RwU(D^c_LMFeKm`t9*ewNe|^1GWv6_zq)db zMA)Wfr6mwE8MHPiLF!xW%v{$O+eP0RmOyL5q~GqVt}Azsfa}kEwP04&FWXs9di{l+ z`hVs3j*>D!TlMOmEqYQYpLeSO=JG7S$$JkyM1*587S;C&x{SN@((hXjALDVu@kY~y zE4`+My{kbG@XT1LkWa5aKbHRg{8K)EXBa|==bsULIzipHn(tZ*hF%hl3etYHgpkm35yBnHaSYiLJDTbQl45fugOuIiNl6y6jB8= zm@Q@=hOpDoFqJTnB?fcMM~5-4Zp7%Fi#?E|c+|1?*NyzA*9^@RegH=atS1hG@qfP_ zqR*Z36FvN&ILuYF?g4uRW0%*h}26(!1Z z$Yh_^nXLt5>3wmux32XdN|=eelvAxz5BoG;VfYg8TXL)oL_12#>fw#)o?mLg;8qO; zX?;{7`33IV9_$RH%wbjl&E_rHGJpJGXCQ(?T<#`fCF!i?PW-KKLW7o8@rV87h6)8OZs2G8D}2 zN+4=|XssI@MahYw@m)|nF{i41+26_v^Kb>0T~Dsg?~JY0LoG6 zgMlFiSJQ$)R$B@L0sT^U47Er`W^qr4t%0hD*P{~Htb*%b%;G%(T?mG%1Y*tl;Y9mFvuT_ zs53*LxqPV>=7`i6ePleon)yW??b02_KxDSv&Bry!4{@FMjB%QI@{TLS+#9w{>A~6*} RgQfrg002ovPDHLkV1m{s=imSU diff --git a/graphics/pokemon/carracosta/back.png b/graphics/pokemon/carracosta/back.png index b76657cb2851152093eef1906890da194d139722..c56c6da96f1fa4853e3a5e9c49bf96661fa79d90 100644 GIT binary patch delta 481 zcmV<70UrMJ1m^^hB#}W-6#xfxNliru=LQD>D;&15hmrsQ0m_k+BYz!$JAiQZmBr$}{&bx_KktstpOm_h$LH!!)CU1KS1LV7oHmUj zi9^I=)?3KrF`yu7Bh`@87SoSl|G$3<`n{Ux%dp2h^P#n{Z}BLL{I<$h_0Qaj2vbohJOG|=ag))#qF>^*AtK- z&_xc0VRsNB5V&(BA)UShs>(8!j}o|Xkl5hdwf8TUjbhehcyVNiz8lR zc4Gtv9UX)LOy4oun1BZl7!HgCOy{-(X1qtMw%3#qfgGng0E83ZJvQi^=SW%3JTZ)DAZ#Xz8A!C&CM`!mIswzCMGozXSOsf&vIY^x8?v$YC~O2!FtIPRRya z+zz{QJpma4UF2XGb_XE>fjdVM(&;;(sw`vqD1jRXi4FR@_U_fPQOueQUmO`CFy8q+ z7&rwY*hSN-$1wtfjt;^ArtcVSOu&N&3)AHWpi#6Rl+`z8QmO79T?IuP9i isDodlWBsXGEIt7YKNOxZ1`eM90000W;^b|GhVXy)3fMYD-Z&!yCx zALFS1e8&9gWwnfZfiFfMfB|Hst;$|cz)JH2V7a7)=X?hOynoE#w4Gs0A0#nF*9p_~ zPO@qu*IEQ}Gz*r`n0pIm)?EfyJ6P0 zMWbz1r=Cp4q3cqrojG#~c0*m*ddHo-{YC65T0-MU;+Eeb!UZM|Dvirj*`+Y7QK3mZXc3!$Q>}Mq0h0R_G8{(9oO1Wz=DP& P00000NkvXXu0mjfu2GWo diff --git a/graphics/pokemon/carvanha/anim_front.png b/graphics/pokemon/carvanha/anim_front.png index d2383d1275b373c70a637f3b7e5d107e12e1a82e..0141b57dbc84b16fcd507c93b4a194d10b1d4525 100644 GIT binary patch delta 1053 zcmV+&1mgSK2<-@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUT4aJ^n2 z000BfNklKZx5_7{DdoaDx}Wo-OL@ctZ$THDG(i=*R zdnUMDOpyxL1S3k30|_CMUZ&=zGfe_LS~Q3(8E#L8YfHK1hJPC}xbMjq+{B-xy~!KA zd_TYM{nPjT6y;qTY8mi>E`RlWpeAGLW`2gxtCDi_0n;i2Y(-biLO^wq>8di5vJU`^ zHtia7HM!QcF$ieZHtRVO81`3zx<@_QVjdH~nhzXD&7;&ZndgbvaF7GoCSzU|&aeO& zV?CL{&H-uyaDNK`ye$A*E&)0&&9fo_SRJAazhOEAG$vvNQ53ZU7_g#=*=qT3UU@1`pBnMa0)`HOrR^q;0w4!Y<(#HFJ?!< z;42V77FpZ?3C1wsy?%^D&jqT5wX`KlL>XY008TNWdX`%Tkm8E3StTt&v&))_Th>*o z%KP!Z7-bi^5Cc>I+*n!$IO?Be9X=nZ$&OkK=zmD5u|h!8x0#M%dys9>rduZ4a$$SO z8mqT%vbvko+f|1;vbj4F&_RWvS#uYkH>ej2KsI+v07@Rv5oo!o)%30@k`T z6ahFOz-S{Bj05z(!o_UD^RuXO1k+wM#u{LMdh& zoPYlk`Y@mi%I8cC(PpZ8&w^V zR%hqIgID*C4lkY?W2p~suM=I{Iehx$`hWR+|HSaYmhj|9FhP*a150j@oCVWF-9q%7AW-4w7M}7cii-57JAAX%Aol z>F#9?BlKYacQ%v(NnaO!0m}h)_LA%b4Ic&+w1qQ0K*l(y$h_7Aq!$41_28ZMhZcVU X2lKkq**RdZ00000NkvXXu0mjfLnz_y delta 1035 zcmV+m1oZpu2-^sdUw;GUNklf$ei`hQ5{O* z_CtNwS%`Z}J(LR7BB)(NxGT6V;wa@5XbG9_WokTGGzrwS+;C*c;5`}Kmg2>OhYafX zofH&D-<`X*%{ORyKi&7e@7=xcr)mGU(60inRq(fx4is=r-+xTc@KGMAZaQFER{?FU zqMMn3-eqQ2$4uHj0Z3787i71DwXTgwpk!^!j*Y;ew+a*;;fR`aBmiqJ(T;*6gk?&{ zfwe(D1!$X6I(a(79FS6WFhe^9C;-sS0QfclZ7hLmSIMyg0Ia5=4L+AdktL@*h6;ip zsCzVE1!J>Q27kbJZ5mKx6W8Gpj~zHP5=BX?J+`{e~7#A=G^M5(C? zf+iAGq7Tzh-Jht?zmWwf74C2Pm}3Rd^G6Ef`_|?|NaE*tUgLbZ%!{43|Ah5Fer`Q~ z*bBy-iw>8|tyXO*Ke>MER`~AjlVRiOxF`gk+Hxn%5Px#_os*Lv-h1B|HoPjXJI1A* z8piHv6n}a4#V8th`v%7AWj20~V)rz5BhMRnHR34N4&pdEh&>FqO1uv&{w)S1Ax46F zqgn_60zi*A3IOcAU*#O2It@8s>w7V#7~LiT4Zf;40SuQ+p)q@&p~qa2Cm&%5fe9*F zqyI4pXn$L8!T;gu%Wf|>& z2ApzGkUSa8lDZ{yXCo|h7Ir}0Ge?$ErG*|;sT9)7eDN z*a16h4eMvaXo&tnWnkY7528V$7c`*N58{Qx)cdr6wDuB*0e$GxlZ_=n)T@AB&~m`- zy(sBm!=(X@ZSh18ScA5Qr5>=fdkBFydhm~c|EfRy4F~hO(*gvJjsO4v07*qoL^Itq_uijyc#;4g@;NfbpoLg~UO{85=*%;T$ zl@$CmOi%-&wL!k4yccOFas?{p32}JCY;l&O1nd9Uiy?%Fm?3uUFpoIXLkN&85m#Jv ze7@Y$r7=5%=s`i(S6$a3ALTE?gYndI#Y@=NkQG;`#%}7x`J002ovPDHLkV1j(n_Wl3> delta 533 zcmV+w0_y#X1>FRY7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005ZNklvriZvdJAAX4cdJ|uR*ZZ*loZ^L*Mr;V9{_h8DO^o#Wpun0CzHwmGZjqp$2dEcQe%B#+VF{+5oU`v3(Z+&GtROtICE9J6%L*gkM;2 z&Rtme4IrfnQ7pt5Q7+dG(u_csh2scF7cOEfyNJ&DGXhzCgrVXJ0LD7ci0-#|O!^Rx zumI4693$MNo=wH21#5dk)=vP$6#;*2Ayh!n0wBI)xUxWmVnH>)fP?`r0mXu9AVhro z6t4hG;QOc=$W5S{x9tFM6)@{*44wc5dr5Pl2%Ll( zH4il$Rnd>ygd_M>onRbz*aF$B&WEZB*U+rF7 z>kz?wQ~lfLfI}?2s(zZQs1(gs-M|6sFq!-V0O>H9R(AGY2LyH<3~p@GA^Gb~hXm|8 ckYCf`3mW!_=}Qa96951J07*qoM6N<$f||~fj{pDw delta 293 zcmV+=0owkc1N#DyUw;7xNkl7!G6h?Ui-pF1^WiMgDT|HQ3v|l2X@X{`B z6;C`|r6?OnHdeCume?v>_Ac!wmV3m{1r8y9JJb>a+xP+XHo6Fe^%s`_cJqEa+lbpr>i!({SL0HniYTG^rAcO4Me rbTF~rbx8jDp&mm5HXTy%n>u_08up0k&oc~I00000NkvXXu0mjfPd|n~ diff --git a/graphics/pokemon/cascoon/anim_front.png b/graphics/pokemon/cascoon/anim_front.png index c1eb0e0d8b2a4132b10e47c34796897b1dc626bb..9065450f514a99d7560fcefa6e92c49a34b9b9cd 100644 GIT binary patch delta 667 zcmV;M0%ZO81%n2VbbkN`bV*G`2j>O{0V^_UXNp|_00L%7L_t(o!|j&Mj+-zLfcbfW zIAVQft$^BFw$R*x340Im-pvwAz4j4$iuM)y6g}tVItIdG1M#KmiHSr6^JT^+g83Y0 zjWuS&4M!(_I0NLPlkXP5Kh5b10G#tP6ak-X(&Kx_Pmf&1nE*`hLR8)JoCD;Ux<HU#M5Z@vSd#ffNB_BVGo5 z0nRG~%m&V`JbzYv0E)7l04X4FirP)21-zR;96-wXmtXB|NQ+XKz%xL4JYBC(m`9+Q z0uAo%>&G>~zY~hAl*T6f9=LUYkj5_jLoGANf81^jra@3CwHuurWK9KR^7kJJ_=Ny% zfNX|5;w+XFC}s{);HPE`Nz&J649j^^)s=XpQV3k)mVc$N8Lxv0m2D5S>%V3CR+viH z3SkRRFN;M}3tF?q=i6gJ&RF>96%b^$cSO0d08MBq5m*6XTSRVqm2KCz`5J5d-_Rer zZ<>|8@duC3_=7$-NB+P& ze{jj7KYyg?4-TRFXx!;~kP~yR#HJn?dGrTe4`OEegG~=gT@R#958mhW08SrPJ-FTV zU>4}7f2RkgaXzCSsOdlGfmR_&)JSgH>EG)C-bdn$^Z@;#pZ=X5D1QJl(u39?dOhg< z0qsE3gNZ+&9q40x>JJk;_&5HLS^QzugEbzg@kM|!K=!v40qhZXztygB9=4S&_U2v;LO-n;lQ0fdLK z9?|`;cH_YBhaHj@xb+C718la<5U}zYW43_XA*d|j7q1)ul7DR|2P14MTX+Xj$|Dq! z+W||+trw7apz{aaVy1StZ}L4pjr0#a58xDC8@xv%66D9UmGq=3L- z(;Ol#;N1n{2!B#3zy4`%Lt2!|1zrHs{o#E6f_Vh$AyDJlzI~h{{C7f;mEor=+7aP%{DK*?Y|WCD8i<-MStiAp-053){5&#d7MK;xp3+_ z5oOP^7=F2!0P3d=Jn|Lr08mpyk*I z^&n^NUVn*QJ#g~q4^$6gXYT~rlpd5+4+eta>cPMttRBGOV^R+;S3MX7y6xZU!HVXS z7t{m0{cn0eDkOD>iKkPDB6z0a-~zK~zY`?bNYugD?;V zU=UL0kPwtHiki-qaM%N9=9X}on?Ubrx^?O!^etu_HvpJ25FbEtpmRHSJ3|BH z$hyV=_DW*`paWIoe+GjB#DTs;>JF-hzHZ=+I7oq2qi-J;uN>sy2?M4aWPYkn)GXfb zK0%zj%$%?O257LEZBZXyJU}ipOAS4xM-LcLyFI8UV&9zxh6phIiOMnnRF!(^X#}fF tpeVgT#`#yEkHCL^A+Wms=l;X`0N&1`rspN8l>h($07*qo1w^hwV1faRuXX?c delta 407 zcmV;I0cigA1AzpPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a{5!K~zY` z?bESR!axuP;AApmO(0|_8Aq(0$&ntims)|P7J~aUc2+)uZ|UuYJNNKFYh{Z}nE%V} zv4P}Tf3vcOA3(bPJ-B&}0`xOp2GKLj8xN+@8Dj@BjDrG>GqPrs_3&bl;6#xgO`T++6NCJLBa|hFd?^}2$333o})$-$q$(sZv1j2%$ z1Vxyd6Sb3%`!A4|KC|a*z5zP8%(ZBCuK^&R*-HZ*<@*3w(fAqE5sBX&14|Ux{zP>h z0j6rcbku{}OQ5QQMW*E`;3LStUkr!|*ZL=wB%j{SqNck0bKn2~002ovPDHLkV1hWb Bw@?58 diff --git a/graphics/pokemon/cascoon/icon.png b/graphics/pokemon/cascoon/icon.png index 1aab02095db5e895d69f308d6e08f11731f2ea8b..bd6d5442810dd5d6c9aa542654e9a455b7fa7a90 100644 GIT binary patch delta 255 zcmVO{0V_KbyE6Fz z006p4L_t(I%jJ?W4#OY}MY)01IoyBARCP20G4rL|qf~7=CyMJKkdUEEm#Rf#@RN;f z^NjhqGwPLHOoPTl3j|{g#Sp~Btz?!bY~piGp%?+A6e_T1z<9yMl0q6GA*KqFR={#D zU{-KKw*wBTzj=O?M<)HbNrI>~(;x`6Y`q>!5Jh4~^!p zkB%>L)S>aC)j^Ir%-^Adk)lKOqv#OoPp>-28y!CK;{~rf!fF{3-z)$C002ovPDHLk FV1fq*ZZ!Y^ delta 216 zcmV;}04M*~0D(|l3cE|oEQT2X3+wZU z7KH#GiV-9MLopkR7$f2czMm#et7FEZ>2H;*3M#Bjb?yNEwH{%{vYs@$m$&JHl!l SM2e^Y0000gE{-7NV?tr&Sn<#HwJ@6 zg1-JSDZ#zBIwpr5mU?(WMP}8pFVdQ I&MBb@02*sdO8@`> delta 180 zcmV;l089Uy0{;P!7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{SeMv+?R7i>Kl)(zX zFbG4d-p&92?aWw@QP{CG&{G~NRc001*kOjJbx005CGFn>Ua?Zp5900DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1Zbo4J($008hwL_t(o z!|j#35&|&@MI9bP8j%10S_#>8bZmsQxy266IUx`6@i;j-Ir%#Pu!E}-(S{*#-{?S< z*>~FK;8phoK!4O#%>J1bsdMSNOg8AF)*SFlD>7-B4@hCo|qm~$!c zIT-7Pct+PL#=nzyHW8HX+``(3_ZB}nIXS841@i_@%07*qoM6N<$g3fD` AzW@LL delta 323 zcmV-J0lfa51O5V#7!d>m00013M{Ml?001yhOjJdYEHHn$v$qET0004WQchCW~xY)FS3cCpYizLkP#I2pyW&lakS?gPY_D z3QdMgg?O%_lmGDr@~!{J|DOxjxq$(T(W9O3cxvV`H)cazE$xBI|8MUI>D)4Q-hVUW zBO>;m*m!?N%CiMCu84C!gDN7?P*zwNt01CA0XFvgi|}__IBZt$au8tx!gDS1@!JU@ zVce-ucO?{(FM3(`Xrf-5L`lMzzLz^1X{ROzyhrZ zMvrrsWC@MniCVBYO&DKpR#fUtw@{$hoT$||xtGUsUAnhS9^WVakDa!7KWg zH1;#KHT^0sV`e^BwCv!`_nb*K*DneweVff`zMN6e=pOfRt$^VDem|}yu(CWioUs1; mr|cVS6JIN6)>rWCVVFLfcYEKS6Y@YGGkCiCxvXm00013M{Ml?001yhOjJdYEHHn$v$qET0004WQchC+z{*WGuZ&@{$1<1dE4|kDTyocx92LJ#7 M07*qoM6N<$f)Fc$0ssI2 diff --git a/graphics/pokemon/castform/normal/front.png b/graphics/pokemon/castform/normal/front.png index 39bfaf4266e50ef16a43b58634c1e69c3a56ece5..d6a73c2c409882f61cb893c32013dc58b9d5a918 100644 GIT binary patch delta 354 zcmV-o0iFK-0-Xbp7!(Kt0001;w}I>c001*kOjJbx005CGFn>Ua?Zp5900DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1e|mDsre008hwL_t(o z!|j#35&|&@MI9bP8j%10S_#>8bZmsQxy266IUx`6@i;j-Ir%#Pu!E}-(S{*#-{?S< z*>~FK;8phoK!4O#%>J1bsdMSNOg8AF)*SFlD>7-B4@hCo|qm~$!c zIT-7Pct+PL#=nzyHW8HX+``(3_ZB}nIXS841@i_@%07*qoM6N<$g5&R# A)Bpeg delta 323 zcmV-J0lfa51O5V#7!d>m00013M{Ml?001yhOjJdYEHHn$v$qET0004WQchCW~xY)FS3cCpYizLkP#I2pyW&lakS?gPY_D z3QdMgg?O%_lmGDr@~!{J|DOxjxq$(T(W9O3cxvV`H)cazE$xBI|8MUI>D)4Q-hVUW zBO>;m*m!?N%CiMCu84C!gDN7?P*zwNt01CA0XFvgi|}__IBZt$au8tx!gDS1@!JU@ zVce-ucO?{(FM3(`Xrf-5L`lMzzLz^1X{ROzyhrZ zMvrrsWC@MniCVBYO&DKpR#fUtw@{$hoTc001*kOjJbx005CGFn@J{+G79!00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1jPD#a)O00C%8L_t(o z!|j#Jl7t`(MJch%2PEGA|Jo)A+LSX3f?My3h361R)DYgh=}*!;pf^n##Este=@CB4 zU-&4091r$S!havO|A;{GWBdTu_Jaj9{E(nrf6KcCSNjG9=jck5_ZpJY@gs>TxdqD4 z^T#sJZo{N}HOM0Q1gY{(e1_={uLhT3S&UoGg-4KtUn;)TWpo&%0RB&aegUhYu*_zN zUV(u{ql*~5g4Otf7s0yv1yLb2tj2o3dML!7!d>m00013M{Ml?001yhOjJdYEHHnJyMUnp0004WQchC3jJpw!X%5Cp-+h=Z&5ODx2xi%Tc>^oD|CT$C2%E`K2v zf53gmiNiUxw|5d9OH*RfRys6aenDTdy$|pEeP0MU2va2GOURcQ=V{32oDYt|K7S1K zJ6{9>vhROzfE-#t;6OC|o(CH;=MQioas?qE8_wMhD6n2J1h^ARIS}X;8J8zXa+YI2 z#8a9i$;~y^(c)uznIx3v2#}?8qidw&c)SH@jsUM+O0O6SL@Dc9pIPF}J47q(?SLOI zP}h|8YSz8LfTm`wZrE*%0S`96Y3}Y(;PgIby{~_Mi~{FzeA@3j;Mun(IUaq+jq~Fi z1J0XxEd*$#8ygvckPaVh0}y~Lp0)x01~RRLbbc;YA3ndW;8#c~b77$LbxhR+%tDA~ z15mvCfJp&R8KVI}sr`tynyMLWHT40ddb1^K74K@lqg`1*Z4jlF)jptYhgAVH3+R1- zXjo6Wgb8Q|lo((WG!#mE4$%Sqp8%!t+=1w_a5I*6Sc001*kOjJbx005CGFn@J{+G79!00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1m)B%}lY00BEmL_t(o z!|j&Ql7k=&MLU5`g@Ew?Ut0+vTG0lW-G`3%t+waPEei4RxO3;uoga^s5)lV@=bTas zyCq0GrBeZ_q<>GbHK-l~=&b>|Dinot&{aVfL5CqU(0afCnz9<2*I_ScU&+J|3smpT zgah4ZKvfO2^GL~`Je!ZZaX}?zbpU%eyMQm~lR^%Dg;=2AS;4MA1ycDHPX^B|kobL& zR{_s>GWdZ4%nIR0C`DBufKh=2qG}K?hJbEXXmB(L5`TRA53zta8iWwji%}s7QZ_UR z=2pQz(=;rY{z-6d0QL6*8mngl){_Vq6<8a3Sa4xro+$C%0_!~MNIEg_PgTexVTWVG zWPmbNGTk&6<~h%1t>a|MgBHB!;KrC@*antwz9|Sd#zI8_*4m)Bm00013M{Ml?001yhOjJdYEHHnJyMUnp0004WQchCI>u*0>*-@J;Hp`{MOgWG&0gd0?wD?6Wcel*;!}(mo8ZPJ__7P;G@XC1OPrl zSO61*b0mMvz@h@+%DhI1{`SiZL=ghg7-5AW64Dr9#c_-gr75BY0A38h;uku4g3E)4Br^+|YMS;T|tI5I?3aVmK{!sBFjGKEpVM@hoOI|{5)@n fd7c^PSsn2M_2Kd^LME`o00000NkvXXu0mjfV@12# diff --git a/graphics/pokemon/castform/rainy/front.png b/graphics/pokemon/castform/rainy/front.png index 15537403506fc7a851a973d613327100419e3476..0ee52a35ae888654fa8ea46504fc663e457dff31 100644 GIT binary patch delta 475 zcmV<10VMvV1eFAk7!(Kt0001;w}I>c001*kOjJc$09TPIFn300DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1r8Bb1T=00C%8L_t(o z!|j#Jl7t`(MJch%2PEGA|Jo)A+LSX3f?My3h361R)DYgh=}*!;pf^n##Este=@CB4 zU-&4091r$S!havO|A;{GWBdTu_Jaj9{E(nrf6KcCSNjG9=jck5_ZpJY@gs>TxdqD4 z^T#sJZo{N}HOM0Q1gY{(e1_={uLhT3S&UoGg-4KtUn;)TWpo&%0RB&aegUhYu*_zN zUV(u{ql*~5g4Otf7s0yv1yLb2tj2o3dML!7!d>m00013M{Ml?001yhOjJdYEHHnJyMUnp0004WQchC3jJpw!X%5Cp-+h=Z&5ODx2xi%Tc>^oD|CT$C2%E`K2v zf53gmiNiUxw|5d9OH*RfRys6aenDTdy$|pEeP0MU2va2GOURcQ=V{32oDYt|K7S1K zJ6{9>vhROzfE-#t;6OC|o(CH;=MQioas?qE8_wMhD6n2J1h^ARIS}X;8J8zXa+YI2 z#8a9i$;~y^(c)uznIx3v2#}?8qidw&c)SH@jsUM+O0O6SL@Dc9pIPF}J47q(?SLOI zP}h|8YSz8LfTm`wZrE*%0S`96Y3}Y(;PgIby{~_Mi~{FzeA@3j;Mun(IUaq+jq~Fi z1J0XxEd*$#8ygvckPaVh0}y~Lp0)x01~RRLbbc;YA3ndW;8#c~b77$LbxhR+%tDA~ z15mvCfJp&R8KVI}sr`tynyMLWHT40ddb1^K74K@lqg`1*Z4jlF)jptYhgAVH3+R1- zXjo6Wgb8Q|lo((WG!#mE4$%Sqp8%!t+=1w_a5I*6S@2~-f zOYiQ6mWTiUZxc}WVw0ac`-#f3YPK^4Yi&c7f^H}C_;jq8_V342<6=e*e?_I5t6dh1 zaZJYc001*kOjJbx005CGFn_mxR965100DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1xZKryEP00IR`L_t(o z!|j&QZi6rkMUj~Vae(>%zjpR@2%(*bXAUFiaz7Oxfe08aRwp;4R8 z5F?x^M@#}+p+U5XfL&tSkq-BIFyb4U>Mp24GNOJyCw~#j9=qYsUuR{6LrZ|I|L9jj z>hGc^k9nHhH|>KQOrisF@l7rpjyVc2LY}tY01{0j=k41F>fJUcj0%u&SxqvbKr?$;Mkz&zgr==skhOd!neHvmfjfqI-r*X(kDWr2I=!P*k?*bv6*R{&qn z!@C-xAb*c1p*jnSg!BR09qa(M_7&#~MMipk4Zk?U)vp(hPS+;_)xUffG=%DR!Zko& z)Nf6x5@=nDf1&HbY$utL--;PaR#Dp9Qt5dYiy&xX?$;*7f{7$5-O5(*`bZT3X2J&` zQ7!NtfD#%2HV%*#ppnj*6kP{=P|@x;f_L~}XIj9g2|ohjjcJg*r;CkfC5OcUl>mb+ zBH!~XL24`Xwp0QVu4#&Z$UCHz!2Qo{@}+;l*%03H{{es!-t)f?801a=NB=}Wka#Z4 Tl$BG*00000NkvXXu0mjf?noLb delta 631 zcmV--0*L*x1+WE>7!d>m00013M{Ml?001yhOjJdYEHHmgL=Kez0004WQchCMcghEyBR4j`Zf ziZoj{70lwX2!U?yh@O=s!uk5C8G*bYkpZ6ApSjY`g&9rotl% zcNI3ABUFE>_}Yc}k$dJMVX-!b;)j>)C^jH}6q@;NCYR9LL4Ab!=O(Qk!cUO z1d;#~5t*({r?|CWs86CcMuh-EZGihYhmI-=Eu>HHQV6K)x~uL&;O7MgVF+a8eJ@;L zREKn9^e&ZqYNJMEp182q54;UC90=<~l_a~Jxi)`zaUOQTOAl3&E&&n_BY^^o&c7{k0@|2p8secwy8Us>NL<6Z)i?)Peme=Sc9F!B2<`~@)nLx%rWKLGzlS~QNP R{$v0E002ovPDHLkV1i9N7O(&S diff --git a/graphics/pokemon/castform/snowy/back.png b/graphics/pokemon/castform/snowy/back.png index b4f27cbe6da8a6ebb6a50d64f21869d163d9ca01..11281385a5bba260693760f922cdfc14001e7486 100644 GIT binary patch delta 565 zcmV-50?PgL1nvZo7!(Kt0001;w}I>c001*kOjJd50CSNkFn@RN{rvy{00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1y*NnjlS00F^CL_t(o z!|j&Qj>I4cMJL##MarcA|Fx^47F(>H$?iV&&RgR>q9Dxc_2|)~N00tNto4m|)%pYz z7UF6O?=ZUV%6}O6vG}o-Lfr8Ohi|nb5H9^Fet*^;8;k+bz@Ws5fCB)RH3-39q(Uh1 zZ5;sYYr>wbI|!}-DZ{YuvaS-k={EsB1ucZ85+sX(CEpP{Cy>2j)F%Xp8*6RYR{&*u z^@QXYs+@fM^{$X1-?Y{-5f}a#1n7)4u@nYw+vQWx*MH6jrAz>fUSrMO(a-rhh6GMI z^Jnu!lF+d~=Ur<`xtKjzl=|R!tEWb;HAs~p{pUL}en8yS-5uEz~ zKyk4qIMFiC1mn2?0x-19?>hj-E?{{R@{LOTL%>3VLX1_97X(U0&V74qVByhU08(%5 z49GmtOMf0Mk%!#(%=}3c&Xr{QeeQeE@ymO?06^(@YyxuA>4hME>C|jCv$Vf-6fzGG z?J}moN&&8gV8tN*+P05~lmg7NC-qcn5Ja&rgC5mz0%U*wM-UNI+;kk($Iilakmgb5 zDV&2;h|~l<>P)0n*q>%O#t;78WzA0+Fvzu|7X?c00000NkvXXu0mjf D_2>dZ delta 571 zcmV-B0>u691oQ-u7!d>m00013M{Ml?001yhOjJdYEHHmgL=Kez0004WQchCl*25QU{(Lx?OA>Pa2~XtcNfpbh~#7buWH8Ij*Ken~U90 zzCOqq5b^n~uGj0&Qs#5uem!b+@W$|00Iut4IRa@m2Z;8o)nJg`(qs-nkkEd)T=w;M zfyXqp7HOK^eEB)82O)q_H(%#KbngOphvO7z{|)$dn2b7liRIoQzDu$2>L-;{9#F*6 zed2$3_rJ*nvJ&xe+W4fJoZNH%DiN?t8zE9I6AwUqUeKr zq3gQlT-#?pB=@Aa1prjq+{gGDF;Q(VK+GRa5G@#pndLSacms%(jVNvZCV~I}002ov JPDHLkV1hpC1IYjY diff --git a/graphics/pokemon/castform/snowy/front.png b/graphics/pokemon/castform/snowy/front.png index a75bf647e6a68b6cd965915d2f8aae2942a1de62..e921cd1a6af798669be43c50e9e25185b3f8e329 100644 GIT binary patch delta 633 zcmV-<0*3vt1+oQ@7!(Kt0001;w}I>c001*kOjJbx005CGFn_mxR965100DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1%FPEd;g00IR`L_t(o z!|j&QZi6rkMUj~Vae(>%zjpR@2%(*bXAUFiaz7Oxfe08aRwp;4R8 z5F?x^M@#}+p+U5XfL&tSkq-BIFyb4U>Mp24GNOJyCw~#j9=qYsUuR{6LrZ|I|L9jj z>hGc^k9nHhH|>KQOrisF@l7rpjyVc2LY}tY01{0j=k41F>fJUcj0%u&SxqvbKr?$;Mkz&zgr==skhOd!neHvmfjfqI-r*X(kDWr2I=!P*k?*bv6*R{&qn z!@C-xAb*c1p*jnSg!BR09qa(M_7&#~MMipk4Zk?U)vp(hPS+;_)xUffG=%DR!Zko& z)Nf6x5@=nDf1&HbY$utL--;PaR#Dp9Qt5dYiy&xX?$;*7f{7$5-O5(*`bZT3X2J&` zQ7!NtfD#%2HV%*#ppnj*6kP{=P|@x;f_L~}XIj9g2|ohjjcJg*r;CkfC5OcUl>mb+ zBH!~XL24`Xwp0QVu4#&Z$UCHz!2Qo{@}+;l*%03H{{es!-t)f?801a=NB=}Wka#Z4 Tl$BG*00000NkvXXu0mjf=i?eC delta 631 zcmV--0*L*x1+WE>7!d>m00013M{Ml?001yhOjJdYEHHmgL=Kez0004WQchCMcghEyBR4j`Zf ziZoj{70lwX2!U?yh@O=s!uk5C8G*bYkpZ6ApSjY`g&9rotl% zcNI3ABUFE>_}Yc}k$dJMVX-!b;)j>)C^jH}6q@;NCYR9LL4Ab!=O(Qk!cUO z1d;#~5t*({r?|CWs86CcMuh-EZGihYhmI-=Eu>HHQV6K)x~uL&;O7MgVF+a8eJ@;L zREKn9^e&ZqYNJMEp182q54;UC90=<~l_a~Jxi)`zaUOQTOAl3&E&&n_BY^^o&c7{k0@|2p8secwy8Us>NL<6Z)i?)Peme=Sc9F!B2<`~@)nLx%rWKLGzlS~QNP R{$v0E002ovPDHLkV1i9N7O(&S diff --git a/graphics/pokemon/castform/snowy/icon.png b/graphics/pokemon/castform/snowy/icon.png index e8651ef4172f5295f0bfa2f858c6da06490c6f7c..9a8d45daf1a9768396dd6492125842bf8726b1b7 100644 GIT binary patch delta 257 zcmV+c0sj8M0?Y!C7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUV)@J3yJ00025NklLn1?~9ihXA)DbR6Iw9(sg_=Df!UkePK#zZj zb9Py$W8c63`RThC%U(HojIVj)i-^4|4sqVw_FwqqPTm_W3wG~T+c(2IONC+cyP{=E z68AOr+)gx{5KBu9pOwaZJ3FR!<1&7iEqo30w1j+iXE9%3(n#_OU_9zO!7-InUBSm; z9YbrO&}4@Ehdk{643~fDwtu3~XE?P%IBBl!v4~$k=iT{q`Ej}Ebj$j(#UH*mzMZ=N pi|$(9&1PpVE7YYNuG!@9F4<6QU5i}E6QJW6JYD@<);T3K0RYYPbnE~C diff --git a/graphics/pokemon/castform/sunny/anim_front.png b/graphics/pokemon/castform/sunny/anim_front.png index 7e14f9892e79d668cfb1f273db8ebe363c6c69a1..b866e48c1e4beeef475b89f9e47e33658e3e8df1 100644 GIT binary patch delta 575 zcmV-F0>J%{1^5Jz7!(Kt0001;w}I>c001*kOjJd0a%7PyFn`f@O{0W1-RL2c*&00GNML_t(o z!|j&c&VwKfhD~u%s42bwtNr=|>OA-??$mc#W|ln#q z*ZPY9au<{b27d&Az5)|SHDR!NyPy;pET>lw$}Si!Csv<$aa<-aR!+2E7l6`&gXL`N z)wkjR_*Kr({`CriZ3dpo84}3v@;O+>1QS>f)vUJ?9vf1k6KH(Jk47DPIXN_X61b(OtD!$9f=5a>bOp9EmDRw(zYA(8=+SYNmv5P)4@cs1 z2@gG+saF0{Fw-DkRl%L+ZQE#AAP`$NO|3*jJh`IBzoWRoC()vU%|C*MZRfYcpeqWl zfzJYa2^`1OK>NszAHr=Bd-eQd3_lx~#)o$U^&pA!6Wj{%n0)hQJb$5hD#rPRs^b6v N002ovPDHLkV1iy?0RjL3 delta 599 zcmV-d0;v7?1ds)g7!d>m00013M{Ml?001yhOjJdYEHHlrSg|4i0004WQchCmVCE7JqQGckM)_sVeO$w5pP7xlFt zhOc=A7y@8|_tED_^nBBpge#dC@P7a?DxZlw5BVVH{g)(wJ1BC_^Mbz(dPGPZlz5Nz zi{jlS0>mtzGjVnq@WIbv5cJ?hbCxU?=Rt5b99ls5<^AC#*%)R&g2MVihR54jr#pq& zc@ck9%GjoPQl7sPwT%(*w35a?-5t#K1*(&2F1!O`UjSn2VjO1&%KG@f8T;~q06LH; zrM}4t+;vLAcTRrET2y(f^=(Z|A8G%@nA;Nl^0)rp25fa%mRc`vNMdbnkg&pE6tOmI zW3|;QqvuqMxwRJtUA=715ywyii-lg2zT-PQ+Shu!rQh2gHsBn;7T01iu837!(Kt0001;w}I>c001*kOjJd3005CGFn`;k4`u)W00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1<8NIX&i00ELoL_t(o z!|j$yj>I4gMI)150E=+{(>9)fO2wE?)vohbDAIp2p2)U6di3bg|4>GKVvi_*yZ(3_ zkrB830=P%$0e{>BK#E-n{+#;{0GxY()Cmazt0m2H^9m3I9sq#OKBA?L08Q1d-(5h< z{HuSlDZ0M`f~W$9jKX5^>a7(JUprzP6+IQ2C({(rxyAAtL@ zSn~+cC1y|n=KluZ#-0K+1>mg1PXJRwp9M1uumFe?03s%Y2AD2(9msd(2n&9bfGZ#5 zX(^jaz{UA$r$-kG+Kc;t#xHDEMkYI3i*FwgiJ!LA?3ell+9@Zsf>vor00000NkvXX Hu0mjfDD~1- delta 501 zcmVm00013M{Ml?001yhOjJdYEHHlrSg|4i0004WQchCgwSa^7kd3SEMJS*KiArXo2# zVml$Qv7n`Qe&0!Y&vBFFzy9kl3-Pe51L)fYeYHCgu>f>E0kF`b>tPW{_pF2YZb4iI z$bhh{H)emsg%bRyX79fp57YuKHrztihl2vJ#&pqw==Sbx>l zs0!fV0~Eq>1ZvvTztCR*6l1#?b@oA#jZQhnwk!jH?jr&=V~ZjNQUZ=;sjj+mK;wr= zpXu9%PI(IdW_(|Mm<%YdVqm2spkUy<04SlVi+>jrpb);ENJ_E|^h}8WXd-}?wEn|L z?T=Z236|iX;K`pMCcrub5)sUBK=j>9zeSfR|Eh*HU~GYqRq?~%78b9%-Rlo~iS#6; re-ET7_ec-(ax>8f;u-Osb?^8Spbi|)J%{1^5Jz7!(Kt0001;w}I>c001*kOjJdjo12j-Fn@Z$L;(N*00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W1?~PYlEW00GNML_t(o z!|j&c&VwKfhD~u%s42bwtNr=|>OA-??$mc#W|ln#q z*ZPY9au<{b27d&Az5)|SHDR!NyPy;pET>lw$}Si!Csv<$aa<-aR!+2E7l6`&gXL`N z)wkjR_*Kr({`CriZ3dpo84}3v@;O+>1QS>f)vUJ?9vf1k6KH(Jk47DPIXN_X61b(OtD!$9f=5a>bOp9EmDRw(zYA(8=+SYNmv5P)4@cs1 z2@gG+saF0{Fw-DkRl%L+ZQE#AAP`$NO|3*jJh`IBzoWRoC()vU%|C*MZRfYcpeqWl zfzJYa2^`1OK>NszAHr=Bd-eQd3_lx~#)o$U^&pA!6Wj{%n0)hQJb$5hD#rPRs^b6v N002ovPDHLkV1lG}03iSX delta 599 zcmV-d0;v7?1ds)g7!d>m00013M{Ml?001yhOjJdYEHHlrSg|4i0004WQchCmVCE7JqQGckM)_sVeO$w5pP7xlFt zhOc=A7y@8|_tED_^nBBpge#dC@P7a?DxZlw5BVVH{g)(wJ1BC_^Mbz(dPGPZlz5Nz zi{jlS0>mtzGjVnq@WIbv5cJ?hbCxU?=Rt5b99ls5<^AC#*%)R&g2MVihR54jr#pq& zc@ck9%GjoPQl7sPwT%(*w35a?-5t#K1*(&2F1!O`UjSn2VjO1&%KG@f8T;~q06LH; zrM}4t+;vLAcTRrET2y(f^=(Z|A8G%@nA;Nl^0)rp25fa%mRc`vNMdbnkg&pE6tOmI zW3|;QqvuqMxwRJtUA=715ywyii-lg2zT-PQ+Shu!rQh2gHsBn;7TT227zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUV;_bZua0001`NklSj3`K8)6BAG{!NrOwnZn!z*d2PjUQull8?$4j zeF>3l;-_9z&}4rqM>N@a2n-|c7`SE~VX}MVyNcal(urmB8|+_xz9Yc+CiKfb#S5FOOV+G9!0BS}Qj5W~YmHLp zt@t8U)(5L?J4Fs$XtNV=P2pKPZ4T4Vw7E&!f*f4hq&M4Te2wfd@SB}=qEIltdkXJA zjve(sr#?W@gi>hJbWeq?nl*2i2?#KHhhJA0Z=4n29wn4 z(t%XnJT!WVd6BY!LIfjiUor>BhnX`tnH^d8q;4K;e;1xB-~fYon~hqh_l=(gJVK8;uqd3oY>N zyruGD>S*%&-P6`HA;OiX0UlhOww{aGnnxPoNQeU=W;u&BJwAydW=s!EEz1|P_a5hCh`w55n~9lNP9ZW3=w7I=uen&kM~GB5(LZJ zAE=}q31aW22X{zE>ILB4%sX z;~)%#jT0;(i~s+3ZzZtLP3#7ohnu-!r|nbsizGxl>@*Dx4GsOz3L$*wpC5Dh1{Iz& z01*n0=kqpUSweUKKsNw|fKHz9Gxz)BLLkgD?39x969fR0*&*reA})&&g4@@1)n0<6 z0x14Ws(paybqDum2JAPuA=Eqtz5z6P9)dZ4CssL@Q z;pmU>7r>;=Tj^H(dfouVnA_JnE9!-?%0}3H)C#b1xgTABdqbO#nr2YPwF58><*l;T zA)sow$;Uu(zYffeC18yBvdc`~gZgz~>}JQsvJ!BYK*3tDGV^{MZT=Of2ETOyKkgR% z(%QjP#-RS4iESC|Zgu^6vt`OY2CRa0A-#VdOBp8fYsVfQ30bSK0=NFp*=cII7Pst` z@r`?EXlQ7EXlQ6?=pSnYK+_0-P6ME>E=~iWo>86#Kqu+PWsY$g0Hrs=b&hcw0KEbH zO@39vNdP3T1OoWNe-;4QdvX17nD&yr0-Oav@)~6Q7Gk^yK%SofcOc~7mg_YDg8ap= ze+eHVj2{7z2QU%qD7tmQET1BbV)eIf$xosW0$rF@q#?m@-vLk_|9b$@@PPNoBG=>r z>ujCiqm>)|-bHPNwg^OP{?Hd7kXPb`>|siezeYi|ko)EFKsBaCra#0mMl}K~zY`?bSVM<3JPu z;MpR`jUk4>_M2QJ!3RhqoE1yXphk=dHrZkggNpP%fRXkw@hyU2m?7@eXi$|Rf#?JV zXWlp=M0$4G6nUlR)4U%&+l+n3myI8TPry+ap6`PP;s5y}WNdJBe|$)u|DI!ngW=h) zm;#YMpEv)8!xIV|EFbZ>vE}fTQx~L-kLQi~NhV-7{`{#nHTgX2fd^3AvfKesJUPG% z63k#5b;<{9 delta 512 zcmV+b0{{Kt1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z?bE?Z!$1%K(DfkcrC>quuKtM95AYINgY+A630ovZ4;Gdjy!Qi2;;`*sNMOlgZ@nbs z)PsWg0-^3~6)~CCqaK_?4&B$8oymm#$KQ>;&JW*`-Dd5@jNp;ulo>E|cfBuZeRk7@zaVkMn*?3*+BeDRyx92aVF3JD17FYmfv0QEe zC|(TUDGA1~iE_yw{as*|ZUMn3&?B`IK%PMz*jqawge@~G>Y$zB56*Bfp`x zH85RnL|m(ouMxED9H)^1_qX3cxz;9UG{-SP>_GxGaI?lsL?2Cm1ic`sl?dMuT-#%* zc;NPG;O6NIC>f9YKAAy$0LdG33^N2yUkJ~Xkj*(48(=mHo6MTq;8=ijfFuH)`AwkB zb3Df}BqOaGpq=9+Z5J8zII(cyCy<~tCzgSa%p(vkf{a=gCtEN!tX9I5&Ko z1ycc1(-~s3P`D{uo-9%lfNxh)1y?x@q|b+@2^kj!Rid5C)B}OQHq?wzDf1S_pi=s~ zHUI*U(@4^vExu0!lnV5g1m>3J4oZdF68y(+2V?JUNI6<5+P=~N0000f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gjt>_5#W11L1Z)5S5w z;`GGybbEV)o~DHp6YLhK&-k3d`Aptx7L(eH`pvIO0{cQw7sn8b-iiI`9v7VxL>{m*&q$aM%xrN`L0vJR>1X?-WeuFq?$@Mb u|C|4@zUkGUdjCHGtPL-l8ASt(YZ(~iMWXk&if?3P00K`}KbLh*2~7Zwts|EJ diff --git a/graphics/pokemon/celebi/anim_front.png b/graphics/pokemon/celebi/anim_front.png index e6b312384c161af37f61a800552ed4f782949675..1ab0f89907f295369186bafd7a25423b7d09d943 100644 GIT binary patch delta 746 zcmVF^dyH6vt;tWU)CilVY8-%B0wK&w+$X$a&&L1lvO_10H9a-4shA z7T2h7)tVx_HCG%d!cHp)VM%2nSP7}_K7kwa3#;u zj>68=p$57dSYpSiqf2O=J-)?CAU4bw@?0u!@0S^OY67?f2!J*1kW@@5?5P;Z zAQDZqz>yeQj1>SC<}x8fIK*ED;rOB<929sUJR;qq95UPP0${tCQlR9GB1G<_U>Cdi z=Rr%|L#Y8Nx!cu8jpEDQefzmIkaytA7&D%mCE1$Jp8fa}m5oKxe?@NDFslt+wL` zV9#HtzzYE4YaqFjHvmUwWwt-Aw0)30h`VOtwKI1k)6IOTl{rL!P3zewwRpd_OuAXg zfX^Cub3u7x0uuNp&rf>lK(EDkYBKlGdf8cM?PCrx_pp#X)j|Fzq&|80TdBGVC9+fF z<*2QkiJ}w%Y+XdyPG*$)4ld8+0Q`_rw?H?gBr?FS5AhvutKuk-l~^eP>Lv19@piB1 cF8(6^01EEzAh2(}yZ`_I07*qoM6N<$f>Tjb?EnA( delta 721 zcmV;?0xtc%2BZd%Uw;CxNklBjE6vv;ii|7)3mqERBvNCvedJq!_rzwp~ zp=$^o4GrlU$%C*sWP-8%RU zx4fU;d(z$M{|8vce;ZDt3TRf9knPg+9>~?QeEk5zbxUqHUw`@o2wHrPdxN~dJ~*w` zF$?quiw*>^Jt&n^yC7v5@Om|;(tn3p*VxX~76ID?Of7ln(g>S}Pw#9afQy$CeWXo$QxUH(B|a zedmdep}5}pacTn~=$h+j8lBEX|jceha`$HYZzU}4#4EwQ1Oof&=vV*EMpn}9-<16l?J5ZZr7hQ%P)8TwQmKUA zP%JVGEj@CezV9@B3s7{Zzf*DS^FPu8aNeVeo4j%t21CST9%3GF2ykLj|1@FU1KEcL zd5ncU;D3iu4M6H(lOq!D*qJTz7QnrHlc6dBARr*U(zl2^yfV8VXJj9A50hzNID7xvWT?qTy)cS73D z9~yEG6Wudi%ku!MwrO~^%?Lkz0PS>}5q|lAv=;XQBDHq2QOn;9Ko%QfS#p2ZFWrWG z0``8A@U{*ic#GGv*QXJG#nacKx5!!j?~6=&AZHC^QNAQa+37*X0!6tbpr%1ya)3yR z;$~Gk12bm=HA1%U;S7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005-Nklym>Y429KHgB14tA9oWjk&A`2`)g;KPIbo4`8WxYbXmUfjbR+e z@umWx2JHJIBUCWh8UkDhC}6JvD{jy{0%H)gmf0PttSY9TzGSWp3oKnT1jq9Y5V93aV8PGs9QhcOnA zg~t|B4VXZ8w3M+sDX1t}1`|NE5WWla5f3S z&H*`rXrm!a0Tsd4u>u3SRxbl%4dZ{sc7ZbkIR_^6a<(urAUV7u08I3f!)mKdxa947 z_R<1p+_-=c6a5l9S&}YGN$P#7=Y1mkcli_G`A`5t?zbf*z@Y%}R@=K0ssWK;`$qEc ze5wG6&>=h+uhI*lx1cj11n;{lXaRxXjj0K=$QIH&gyXr`6Ab($2fRM6lfhaOej-6~K$-{cEkZ=VRYu^Eq6Z`dcW==~ zS+Cqsu3hNH{ARi}?gI{|TZPDLr}Kfzz!OX6oLW!EIbcRO8c~zsASvYaxebJ26-RRd zU@Bdn?Et!iSqvaVdH>H(Y2YP_zXCqemxK=iLikkwjsFzCtaBjpKP?Gt00000NkvXX Hu0mjfke>i{ diff --git a/graphics/pokemon/celebi/icon.png b/graphics/pokemon/celebi/icon.png index 2834b278e10861190b0a10b538dbc1df58a04cb8..800de48f78bfdef92daafffb0081760a2d22f73d 100644 GIT binary patch delta 132 zcmZ3@bew5If<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gjt@1{`T3=~@B>Eak- zae88Uo>#rY$M=(e{9mE?$yDCB$Bj!OmulE*B}o9yV(@hJb6Mw<&;$T(2Ps$p delta 104 zcmX@kw3=x`0{b>k7sn8b-iiHrVanE1AKso^AtK82C;qc!0ONo5wuww^p+y2NVhpP6 zPj0ZQg9ugj6xIn(8f3OVc+w#Bd%=?isow{lG#px9Sj50ko?NOiCtv6g0}yz+`njxg HN@xNAb`mK{ diff --git a/graphics/pokemon/celesteela/back.png b/graphics/pokemon/celesteela/back.png index fe7cc4ca470da6a89f9f7b809bdce4aef33877d0..ee683652e3db8fa35ec1ed4947db0322b7f850d5 100644 GIT binary patch delta 636 zcmV-?0)zdg2AKwsB#}W-6#xfxNliru=LQD>EH%4Ai8%lO0(_B^JAa1jr|Bo@-Mf?S zB)gU;OZxfU|Gg(0hW6F7smD`_Uix>%QH5s!7NU29S5Ybf)Rl%2Az&Dn2>L_<(;ZbJBZQXmx~Od4Fo9> zz`4c>G9*C&NmPxpABFCtTLB=+O8l$_teWGxg#vhT6NK)2KKB2E==Iw)P#``A{5@eC zMnLdgMIhHH0xNL4!sz-SKm!rE#oJjMkQyXc@d?1kQ-h)dIIGhDyTp|IzP1bzSOXys z0qsFFKyhMHtAAJm8REn!7YeWtXTb#vp#wQ<31kR;8FJPN1T4hyGGRI z4p1PV^jVEk13W~W!MD=$yrAwgZ-9p&`{?ojVOaHDos_+azL-cO&DoOz~hKNHwl7E|DIn6@PFfaw+Reu!0rK%)aC^i8hD~5mg9k8CIHdrJil*) z2`#ZK#{&~681g_S(BoDy2j0^rplcWp8K{#n@DK!#UBvC!eeiXWoZViAWEB-SHXf?-m3kC4xCJ5d4Z0!FB(d)Nq zpg?>K*n2`ZjDX;~ia@NB2Ug&Ah0*mv(C-pNILQ5NE*!4WR=uYXL+EeHmib3IsI7@iJy0 z0fso5)Vc;DLDc=XrtbGjD*0Ap7X~RaGfKn^?#;=o$0sp#HyY zKtrs{SEK=E4PZEHA0#jj6tKVcR0jtQc$Qt>D8N%@8YunBXHC3Q;9TM=!)1sJd+QH7 z-&tq?bO7+Z322BJ0{&J)0y7P;ltB#&u?&_k94SyZ2`)f_9D(eU+=U;q23WMfr(aEg hPaM!H{N*4m{s92N-Oa5l%$5KE002ovPDHLkV1hEh8leCH diff --git a/graphics/pokemon/celesteela/front.png b/graphics/pokemon/celesteela/front.png index f41009173dc48285f166f8eb631118741c07f31a..37bb71b4d97413bf5ff3007775ce2ea75ba29523 100644 GIT binary patch delta 1092 zcmV-K1iSmP38o2EIKRwl&Amz1PMt*K~zY`rIk%+8%Gq! zM_U$MWl%99v~@Jd(xoX~A$60RU`=Utkrl7J5G53eT6<{2B*fX|P)uTWH4s=3Z83XL z?mY@bDd<*6dyz_89EzyD&_L5Qco))(j_#Y$wTFG|CBU^$3DPKi^jbhwRh@^h7Dbc*2!#|Sb>|`gG(0SkrD7=RO- z8%4P=dO|3)0H_S8PYSUz2QUfhR!&WslRRgEtsel$s5e@1tV7f2laC=nZnPOIk2UsN%&=WE!0!@^@aHiT@q(!=&Cacuha@0^ zd+0I|FJ!7g8to~dJyGx#h~P%w9f{Z`qVj!hW+1=7e^(%af9V~ci2wkJKUuTDm&OAC zPB>swTsM%YPwywYRl6QU=tpDzGZ2w{;E~ze#j1A8HoNX`O3dXVYDiO_Y z?0T8m;At1!F=`=yNj@gE-=| zAAke~SQUc8gR|}Xun0B%hG7_YnnBQa01(#o+V0sN2Z#uZuyfql8w_4GgJZ{mB*0z> zb0B#}_#)=K#{t-1MH~S8T|kWwhQLDx7_S`1IT(zAe+{;hU;$*fUfp42d9PJal{!Ch#2?6RWZG&(}Er68{fjs1T8ZQ$^wc0000< KMNUMnLSTYzZuBMq delta 1102 zcmV-U1hM<339<>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1Pe(-K~zY` zrPNJm8%Goe@X?kh(q5#}7Kb8gFEr3}4c>+HqNDR>BeGPS@2XWz{fRO2;~scwiken3-w`B4^Qi(_2%xhpLHJ?|*EyK$6UxFIUSB&Oz?>j$=87hNtG954Z6su_wu&-g zU~VHc25@41ttb~p?+^;j0hNLJcq5i(0E?h*=G2rq?sFP!{s-vUm!y9)0~Pe2vODnjPK_V{0R~8dQL57Aw-Gw zIRQByTgVhM(J$VAFUmUM8!@iH0Gq&xt!s~+zX25Z2cl!ZZ*z@cb;os{p4`QjIRuee za9dKp{q;C_R>P+C726190zzx>UdWWb?grh`OH8!_+qgS3z}m)%npf_s^kqfX>Kx?W z0P0Qpk4ineBAX^leP>c53U4b?$+Jz(<3J|t@TOMa8E;a5udI1Cciuj9Clm5DX4Jp+=dXCnsqp?sf!Kk{UpJo^1;z4L}qwgQ{WGYRru?Og?PbI zmZtBmn1?2yf_vby5HDn^K^yG}&>kuH5>#-bAC5w75mEVJ5<;Wj;7d@!zwm+2LI6PG z&(<`!VcY|MaLj>Caos?oKKXvKZ`FwHhI|M>Jn@$sS{m|`SQ1UTI zX<$L6 zn!%CdKoc-u2y>7;C43NbKH>nLFCz|M{x(qKlOedzfbq(4oc+NW_|IS?2?ij;&hqXc z3}D}2_aK~v4`O~J3>3yp-X|O^?+)*YArWLLoLxFT2ov}l7~@$3EqWQVKjH|z24ScW Ukq&qVHUIzs07*qoM6N<$g1znX3;+NC diff --git a/graphics/pokemon/celesteela/icon.png b/graphics/pokemon/celesteela/icon.png index 854c36851a9318712f48c88ff37d219107ba121c..94cb03264439b4caff351390c3c335371e4d3e1c 100644 GIT binary patch delta 503 zcmV48T7B3N|dUdsv3)0}Dw=>FmI*TC%z=n;oKa1M* zDJV96^->(0byxUS66^O)A7uVa!rvqgYo7jfZ%erLHM{Rh4K2jblK^ zaC~osh3^m!`hUVY=7Y5U&s!f3RClLSCBk|6K!~Gs>4c~RI?h8N*247mR*4VbT&}0_ z`ylWAbCY9wM$Q=1S#lk7AXob0{QK4Iw;R3!{APi;XAaChark3z{|Hcm2}|}>fRTeL zLhCu)apU0cGH}4shv(qR;2t=5Fp)#)W988AA#!j#m~fTDHg|3khYd{TkX?b%}$=RL41xIQVc$r%4>N tp`_#xFp-i2P`W+%m4mh9k;DJJegFXGN+j+nAU^;A002ovPDHLkV1l?&>^A@a delta 467 zcmV;^0WAK^1gHd%Uw;9!NklSk&L_=GhTn(KKMsEUWzlMDu#V_f15AJY0cie0z20H>r_ zSq1C{&?zW2w@-AZ%&rAs=&&^E34pr#cLsx9rBdAv{17_Lntxf}D+5K1(y%wVT|l<; zMT{9>V04nhMYLwfK+)-IkmAfzSNyFcv>&}b%LwoaMgo6%)$lrpFNQSQ2V6AZ+rU- zsH)a6lpIwUq7JG8o!8+GyAD3fpaax?cpY2~+=C8Yn5aYTN77+9K-9qONIC?WN|aFtOvrxmNe6qxmvs2Q^8*0pN+c7~HVXg%002ov JPDHLkV1kAH+MNIZ diff --git a/graphics/pokemon/centiskorch/back.png b/graphics/pokemon/centiskorch/back.png index 7a626389802c331cda23b16d34318f021427abb1..24595a7d3f0bca4c05ac4f50a570ebb766a38598 100644 GIT binary patch delta 618 zcmV-w0+s#V1<(bMB#}W-e*gz`Nliru=LQD>EeQHC^l1P90y9ZOK~zY`wUn`LoIntU z7s*Y;6^H548J+-mg{6p&GA^PZ*%gJ|+seHFdzX}0VI_)_B3X*lTtQ=z;-a9F(e3NF zO5rT{UA*y3r8 z0z6$tm;N@oSojA(CPbChK$LHz=sWG5QDve^8VTub6kSRn%0EIN?=+@&l8{m8GkK*L zuzD-gKMK+ZekwrxE{dXdser520`GW6!(a9OH(RDIOq8t;e;N0~W_~3CR-?>2qd4_9 z60jZ5I0it_8pX3B4+uH7Y|jB>Th2O_@k*ESOxN}-2&~H%_&RTf+H@_;gFr2Ui;7q2 za=$o+2WDnRCh{thM#NHx=MR8kU^gD{FO&-8^P_-@Q@TNjQaO>(00DB~L{T6BxUYDH z#VmMGA9U|E|v$AC2$nqffh4tB3OaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yjxSK~zY` zwUjYy+dve@Pmra^LlkY@B7XwuzQSn;*4PZCf@IQ=>i=s;fMENHOE){UqTHr)vEc{jPf3s!%g~_t@ArpSsykCWY z)hP4MD8c-V0;Vp1wT=J~v_^@n$OA%-oGEp|vn^+x%6MfedA2vD4g}U^3w)i|3B&dr zheDthA!H@0blGGKYEkfJc4VTiB56b{rL0pHv9v!KvlH=!F-eBe1C?NGgAir!M8X0D z$bl0@fdJsX;uTV#%=%}E0-cw&nR5(SgGaL;P`iVju_HNA*bPhsF@==sQzgnwi2}XK zD%tD@M1om4X#rN7jkGAsevBOgOcHrV(0+8bwBde+okW0umZCS!cGI Qn*aa+07*qoM6N<$f=Ou?*#H0l diff --git a/graphics/pokemon/centiskorch/front.png b/graphics/pokemon/centiskorch/front.png index 091ef94b3f5cc89a85a86131bbcb43e3c8c2a4d9..61018aa601e2960adc17ee4143af59a32dc54a1c 100644 GIT binary patch delta 830 zcmV-E1Ht^O2cid%B#}W-e*gz`Nliru=LQD>Ee(oW0OkMy0|iM$K~zY`?Ug}m6G0Tm zHxLSSbJ*FXTJW@+PcWH7dkPU|C1G>i5kh(s8&4jpxIw%WQ@d$;@Q{Exi6}Jmv;_l^ z=^^4)q%H`40HFkmr`&qhH@n-oiHZFH`VLvx_nUeD_kS}RN%|kZe7K=WhX} z)08n4Gd7n16P9XQSx3XvWQ95A15k5vYmT<+Hq7peWbY_$133@~yY60-+KJ&@T7--n zTh6wz+UV{z<07#)fAK?Bb$44ub<;lW1t*2X(ipJ5;Z;@t?wa;TWFHU1s!GEAEUhCD^T|IgzqFSdsa5e0{ywYxFg7H~)rOiSkfBf5{?lX+mtENyOe`SnSs0ULd@iCS8;LtsE zcdC5>ygLD)e_bAecztp#4nWnDw_X|mxeN+Q)Ca+6l3#jAh_l=9B+wxHAffW|OW#Wz zyQTbiytW$+LV5)iY)g`pz}*qakDM6j2nnsJa~nJ$V={6!LK`w5fwqHWe%X!y-xQNN z7EPATLIN;(T%sQ~Au1HPodCF03q|g54uEihTJSO%e+Qz?`Xiw`9opEMxm`VRGalco zic1JC2^**5+I^?~d>8tJ+Xo7$Uz!0<#SYHX6Ao$CEfqN{Oy!p?#{m(3nRUCBHZ2ak z{xo3HUVfAx1!tvTe#x8tM8FCc2zP&v1}%41K+GJ9=l!mI(=2cK`qY07*qo IM6N<$g7s8+Gynhq delta 837 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 IM6N<$f`eJg&j0`b diff --git a/graphics/pokemon/chandelure/icon.png b/graphics/pokemon/chandelure/icon.png index c6a736851aa4d8aa41cc9e08110ee09f3144662c..2b1a4580bd5658e4178185be52751077047bf4c0 100644 GIT binary patch delta 327 zcmV-N0l5D50-XbpUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUZ2A&Nb} z00031Nkl7Sc?R~rL5B>~Q>6Hr7(4Yr7!X3N^c5J$hH}S{ z0Y&oFPTI!KP}Hf#n?GOvJI5cG6j>8E&~z@)_+9~p35;qVu$u62dGax zP5?(RW-gxthjXE}F}3>w4vOW|`O(S{2i6C_TkI=a41nY^yRNo-V_hFdLE^F#;aI`na=4lyp(p^wXSDD|Fn Z_y9fH%5jo6%Dn&p002ovPDHLkV1jDKk8l70 delta 288 zcmV+*0pI?e1NH)tUw;7sNklw{l%OaXG9aN~Q{~{U zo--tN=pS-`_MPVm;0VU7$64Jb1Nj!?cjk>Bx8LJMuG77Wj_m z9|Fhp^w!E-|1<07It&H)VncZSG!^0Xvl4`ix=OZ#WI6z~q&m=`i4NiGaGvOZT!%3( m)gi{EI*f6d4jHxnCmqf`+RAY(a#9=s0000r}3Mb-=|H#+(l$Sn?DRZjP-2DN?uz_yv+Gjr9zf{nG8-?KzM%DKrS#()@pJ zW_GnZ^B)X$_P^SQ(udr8ZF*f!9vg{$}cvy$Hm`;kRTXyLIT6nP= zIy>8$BS5_3Autn;pngbw8YR**l4t=zyU#~zilV^K3S-oLJ~~}ex^Dp`AA-6XIU(ue zz99XP0*+w{%ZQG znJM+lwH6@D%vB%?AX>jn^n5&%O?8`NiZ$}a_@{DfoK`pG<4~tI@&Rz+QP$9T3LwN} zIF!?W>>0f_g9H|y(VGxMU^8A6?WyM)_TyskAkZ0${|p3n{aVA!JEJ+!0u2R5*e@_b zc%EN;S8@FEAb}*$KmLCSP(sS5KyFkK2IvzQU!LTbKZsQzV~@c2l{*TgY~G(3tiZV0 z>IXLljRiOY13#iXaDXApT!FF1j}>`3Z~^8D43x0qMMGZ%^7~p~An^IBd4pFns1+C$ zzE`8>ff-7N6&MIymF>}6Vi8tg$UogC!^>w@VBmrEHmcHUur(^{8SR#!ysrsziB$X{ gX`lqi&i=-J1Co3`>K6~bJ^%m!07*qoM6N<$f|i}EWB>pF delta 933 zcmV;W16uro2?1)a#Jqsc#RDoFr} zJmbH`htFYzfTUM{syBW<;{FbwCo}{`xX~+rrvK0t!4>J?Yjp@R{-mdbbuOkKjzFjZ z5G$a&Q%C?}$YkxEA@~{~=AyhFL?HIwt3V(i_AejD0KVEi1|Y)V7R(4cL`HWybG^&I zoKkntUw#RoV&M`&`}++>`UFtne#i;dBJNVFzPzr0il_j8u-27oD6arigA!;Z#`>ZJ z_2r{}5n#-9UF`_g0oQe&=k@9&um&LcdA{GTR=)%gy#qvo{RZ$(0J{bVgxCA+^+K>k z%vR?Fi1DiAQ~jo`HT2MC0I2j9r|(&$q8_ki6eK~FALBT!QS6M$Y( z;9piXfD@R1&7`Dor1cvby`D`Z6OiAMvUp&vpUV?r@9OnrF$e)n2un|?zZGx1zM~+p zl4~3+gtcB?5Y_B!&S@e4xaeaBacZ2r3>pB03!xAGE~(uUhKnx365s~@EBzBsJn_U6 z|96OgvF;pHofJ6`yy;tIK+zAX!a=x4gdJ5th&;1@AZ|Pm-~RK~$bIUd?|LBJ-aGb_ ziaZF@(F-ADIwI`8DdU0~FEhyLG$CZ~~`(7O+ID!jV|clAB=NUep!y?Z%V^$+OWB?QfLQ{m;yZ82Mw7r5&<>yxp2zT#Nhv9xN z>od83Ehq+HV*ca(;>3V(`NSRgP+vI^Rr4*|-Es3jPrz{ZH{ORX0_OWu*GzNsMWeV@?3+j)h)};Y)EiA?|5V!yU0i{VqK~zY`?US);!!Qtr z-9QF!ZJJJA91{w`WBLMdZ}ZfE3|R{iguF~@+JMMYSg3(;FV~Z7$ChKITf5{3P50^U zzthR{Zu%b$BGQ$3^f;ftz$kRZC$Do7z`{X10F;1(xT6S|I6%?|e@vkgB0x`y0W<*i zr8p-@Q4<#_ma5FH?~_!~4i1^e;yP4GwgJZ3`?yTqs5MZZNf7DYj4vfh!&QaPHs7Ef&fG_wqw*k|ls7nwbKI|q7V?g(?t7iFW z12W*I2T{kn06v@gt6ghZ>@l7)lcL$SarY@3hZGGx|KhDrn%IQVy-uHazDn_e*mIG? z12w52^sz@m9Hy`!fL6R0&;wJ60bqtMjWnPjaRRiKeyo&=Q5_|u-rEDFsq7~Xxn}@H z(~o)^F^ey%e-iWn<*#r$#PYHH_!odoI3z0|cLAsRYr1O8>UGGkTe#_u^aFmDQ_&Bn R!e0OY002ovPDHLkV1l?#*y#WO delta 486 zcmV~%>3SUHFXfC_LBcT@pW2S|p1In+V~ z7_b;Y3*eB&#UMpZTv@DtRpqU}C#kYq95au_O{tdb0*tfwX=UB2bD%!Qr&-T{)E=lW z-f-Rn0(!QLF_R$MqwIH(F`hUnC*Z*Gdky^vWn_Sz2DTz7?G7b9C&sc0*kou&pmK~z zpKry1T8#N#1E~c_15^f?2CR%ypMptXLVj_M(vCnga&ZBC!S{uK4VV!{(}D=`VGmiF z0D6YJKFd!VkO4O{h^F2L@Y(d=02b)dL<0&ECqQfI$4aT#(L(CIJz|>5 zVd7YL22gbR(GVa(%;JmcB?<aTDn#OktqN5Tt0Asmu5P`H3|^J}_#EShz2S>)bL ce<#oT0e+TK(Ja37AOHXW07*qoM6N<$g0iUDod5s; diff --git a/graphics/pokemon/chansey/icon.png b/graphics/pokemon/chansey/icon.png index 965edba8f00aa3b661f7148bba7f0f57f3e4aaab..9a36259a25273307393bb1ec3eac42a0cfd875be 100644 GIT binary patch delta 286 zcmV+(0pb470`&rrV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0WC1nGfejY z007uYL_t(I%jJ^63c@f9hWiG2m>mTlrx#&8?&bqkaEF111>D039yXW*p@S8S8N+7n zO+AUZ{Xc(`G<-_^S`kGO2yyMe1Gxs#(_uE6V7R=R4Id)VHGjB4Kb0ZkYxJ!3D*`9f z$U4jc+;K}yrS!--LbVv@%ax~CX?o8(>}o5UjoG%h*2?l@v1fgh2ox!4PFfIiK7GPYs`vQzJF)+?dF))q)1ehTOrc?mTlrx#&6?&bqk(1YM%0rxP1 zhYjXH=wJn7=Co;hQ%_=U|IeQ^4WClKRz#5mLJS?aAy+SY+)PI84V&*L!}$obH7?MN zJ0EcsI@bCXfdgt}?cV`h@kmWOnUQmZDlv|yGrwYF=rwDxt#FKNHe}1r7$eIM<(l&-(RBr;KQeYqj#-_l)42<=6pMkMO42&(t x7?|390!(1cz(~sz7>U>!n1CQkfKlJ^aR)MJzcX3kc_aV;002ovPDHLkV1l3jZ2JHJ diff --git a/graphics/pokemon/charizard/anim_front.png b/graphics/pokemon/charizard/anim_front.png index f3b62d8fd530a646ce4735e20ec7e4b9217c9fc3..5615646182389404b72f052c0a3b18377758468a 100644 GIT binary patch delta 1612 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 x0(~d^!WYc?tc;DY5%<2$%8*_>(cxE zVG#K3`_1s47IfYp#(G2USoixc-Yd}S!zY=R1b`-&C4~lvfWe=chXT9plp^U z1_;aWJlbUM+RC3Oq=zgXc>5&0ZmDX zF!a#oiC*We@g_-0D5bW{zI>cQ) z>+u~pa_-0J#(`J>Jp&H3f!V?>fKxIDPELq`aRi8s0I}mZ99Rhh)~o}BGzzRMx-i-+ zvkDM^vIA;A;NarBBM%S&e2P4_)JdBM;6jufR!wXELm+aU(+Gf6-n$z;0YG*RZkMY0 zg+UKW*jzmWT7rVV0_*xLOH4-)U^f8GfQb<{2=(v(0R8~3BKdI7ZrA$&0000Iic$kaz~Ilq zg8=VqUnu2hE|3;-YX?5eYt1Hkbb zNd|PGH#mdvIOae(PBYEWm6rwr`WYZM(eR91&ulgUxqk^B!swC5X`0KCopDti8R!@= zU2zVgW8n1$^i-5wHX#cd9)B(tG%iS`7XZ5iFO)IdUW0(drL>1!fM@{$I+9c=dxV!W z?LdH5+Ub0p7N83j@T_t`PCNIIFJj_-v9@_NvmcBz$v*U&UT1^aRkVf1o6aiIIt52 ztf>=(G6eP&U6|f$QzZyMGXNbw;NarBqf8J0e2P4Fbdt7Az>R1)ZQt`Bfh=_{BLGT! z@9y*r0L3?^4!z?S20f@&D%45C-5pLH#IW9UK}SO3Ml=?ZSGfK8@74XslA7uU*1YYvA0W z+aD)tyO2rKG|eF3mwgwXzoPi_<>DyN?*doxD0rrR3%(Xn(0@J8a^OPYh*O9~DtQQ! z8B2)T2Z>!}M2!Snha5!gQEF-lsjK1Slu%{0*^?;ez{@F4n$3Pkq3fGO1WlwqZ+E0Q zsFbJ@;q#WdGwQ?CsA{CrNbrF_xCnSatjlH?}CC}?#+VAqkEJyrhez;NNw1P{y6j3;gJUzZiX2j&{gE`s`X z1>;f;lPV;7MZVk0sD0000=bXtIS<2OphW-z5SXRjSlVRd2}f$>%?3e?{@<2f_%*cK|9Hffe>8_SIkwVKvJD zd;v(&ha#3VfT&9BgY+O0REpTL*Nx90SdC!Yu#c$+@F`lCb$`7_7Rtc!DNNdWzeAsL zBQskFH|OmRC4)*3D`q-xG2Id8r;1g}4ZR4FwZQkO$Y#-612AAM91)b|!ZJh+I3^)@ zEIR{eDfZ^@wv?k?aVVG{T7U{3IC2gdMuF>t0lkh)^{H~72WAf*P4KWB&3Mv%v8w-Z zbPRqW%oWTo27mSEDhxoLrra2WWIq9eFlJDY=&UFU(;Eb8>({0iCK)tol^trz%?7Cn zV|y5cF@sE)=e?k&T@D7-ToZ00{s|MNUMnLSTY9p|R@# diff --git a/graphics/pokemon/charizard/mega_x/back.png b/graphics/pokemon/charizard/mega_x/back.png index ad74135366faa024e32dcef1e313c633e5d61271..5dd0f4152b6d929ea1481e839acc65423a5384a1 100644 GIT binary patch delta 790 zcmV+x1L^#z2b>3xB#}W-Hvk88Nliru=LQD>E(p;ar>Xz|0{=-wK~zY`rIo*K+b|Hu zDZ|;#N443;exSuMzzE_L8yu zMqUi(b183cN{+v>7?hV3P)m7JO$O4n&&%5{Qd)5R!*^+l900O7os%>`2N=98BJuTC z1wJUvH3B>Y-fg$vA=A3_0RQkN+IE05Y)T4meeRppS|K z&D(s>;Nciya@ksS$7z_bk>I{kjD?WB{0YuRobU2Zh*=M)rDo?T=DiC&Ux_|&$wrjV zQYvDxUW?e~iMn81Dyvgv;jBSm7Ee1-1z#(yQ`+2KHP7qS`(H)eBfZ^z(~x35y=ctE)15U~-vHH+|G%o>=Djbv$+?Ocb)m${q-{6QuVrxf&l?3Dp1y)U_ zBLQ15F=ezRP$4j%>1bOd^a=n;Vo_CWOhkLhJZVABcgKMx_0 z!}76&orNC2efO4ncb6Z4Y+r-|XJBt(A8rTK>L47P5CMEZpaYBoEYyHDeSvNzD!|!* zancVW6llvxu<^7H6@6P`ffg9oV8~-iUpH+A059vD|0CdW-Z!FA1#&B;I?DSpS^)A| z^|N@t1L(mVj-v#NOGO59umgF}-lg%)aYI01I)Jx;K5|$B_kigXbRQTG{b%&!ADD=N U2i68_%K!iX07*qoM6N<$f^>6fS^xk5 delta 800 zcmV+*1K<3d2dD>-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tg0|7}yK~zY` zrIo#I+b|HvDZ|;#N<`Bs4q?Dcfg)hIb&xCyk*g(t2!igXyZ?PqV*h2y1Mb@U)$JFhEVzF1otsPmKo+|Ng$C$= z3UBi$`1-2`Z{+3%0UiSHw%hNJ8B=(G|NID${tgq24LTEW0Jc_OpEBU%KgTVA3@oVw zP8FDcqawlZ*54C&NFytuTB+{X4HGt!+*gXWkgDfD!P&_3o!?10>jAYg>^w!kS7GKW z*#|D!i2PYfMJ(298OuD;7mO=yO{y)NH3-b&X(u}8YmId(E9_PCyk5Qk6#)XwcKgjh zivIMnd7jJisR#pHxb4;~W{_3jl)93u4^8ub5&)^jK}pGdiOOBgWz+l(QX~pnJCdv* zKxhoGYBCcAusM@cMq2_U0`r-Pwnb6zC7V)@Y^fLX)ii2Csd4>AQT| z^G5qz>Njf{H9FN`H*Dl@0M1J7;z{rtV0q6lgX#bq0b|@jIL$F>>Sx`Q0G~pUCB1il zpL;1N(!L<@HW29p!2KPKgZktF7iORUs1cXgPzGC+@yZGeAeI|{OTbx08)Nf80s)V{ z9aKa{Me)N{Cn(**>5r~o0528~78f>@VBsNWU7Mgnfa9b52uQTwX97eZlamB^peij5 z8#fNO7Htx0^nme2INTQ-p1l^>-nEl|Y=Q7_CNxP{B2cwJwF7LZ5rGW$Ky?1cbQlrX zbOH9ChY%33d@Nump$Bl^y`|YbO1152h($~#Y1Aq_foc|H<*zX%t(E`FM zrH}l+j1~Y<>%JGCcL2R8;MfYVxKt!SfF1CI@hU6d95)2yRR{1EFh>dt;2x;D2&NB= ehyEF{G4>Cbh=B)yE)Ah}QzZZZ1KCMLK~zY`wUxhb+eQ?} zk1B(%VktFs0wXr7!d*J3kId4cC-Vr=O@UV7Jr^zD$$<9|DYT}624-#wSYyz3>S#?K z3y)p`SR=Rm0|vaS@7Pj|TgqgH`-z8?3x7;2+WjRg;f`!GPnLkkpb4?}C95)McqW55P8q7=Z< zS|>n5lIcu8T}2xje_*nV5(A1!`uWpUzQXv`S{GSRKpcy_Dx+2tn7SbSf}&2f$X}Mx z(u51*`~^qef>T^LaWU(5@tBrUw1EU#>% z5-CNCYA-n)m;1Xl5s=94PN!Nn8SRnFWcfNO_dH9)1Bh3^6W5dSZJaS#s3 z2oQ?rxNm?==`}Ft^3v?RqQ}P!_J&zrZ1jVGOko2E9dM(%DVMj|kPUz;&jR(^4xe#O*DC{* z;S)!2vXj*4xH^mPQRkxu04dFnSjY`vu}TClDC>6(7ioGa#JA#j5e{13n=_towOBWuW#T_PY`3t*BZCz15 z;)qslv3QhW7n_UVbQ)(?Fj(BN{x5*-+QbJz2S-@wtvm3KH#9}t{i!Y{@h0%_!J9wV zW_>KSEvU;U+1hWP-0W=msQgA)Uv)1Z%-(Zne{iWT)cXK3m#(hSe*n|Q?lfQYXGs76 O3IG5}MNUMnLSTYl%I!b^ delta 1050 zcmV+#1m*ko2>%F>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1K3GKK~zY` zwUxhb+eQ?}k1B(%VktIt0wXr7!d*J3kIa&xC-Vr=O@Wl*or@OGWWalg6k5|l12Z=T ztTAXib+jgrg-0&|tdU#(0R!IE_wG(4<^I@u14Z)t;k);J_wL00*Wq~H=C=2bvJcVb zA>5MgsjoeTGDyC8wYLR-977BqKrA-8(=VCV32=G>I3m%!+2N)0f{AS)$`(~sy)?jK zc>lGlxXtzW6cohSg2tJC6HNBMmBN!Y*W*#3e5v(?j^L=tK8%%8hXyG6j`B@_idi6m zlmKHU#}dF%t0N#GPGu^eH*S3m%r`EThn~2bJ#XseN3U9)rCtGlQN*&U40~N*VNJRP zx=tj^ek#LF2y5c(B{?5b*?_a~U=|MTq+m=e&UlZ#|1klv>=E#ZslF2*S)jt|B?OGr z2jQ#?6}KrE9g96@E*zf(04ki#%1;N};WUG6bk36aH2xK0{C*bhN4d}28LCQ57#k~) z=kWOfS_mQXfxFy)csQF2!Fqdan8RfO-)J2qHktEU$yf9_&d+)!E7LrH936bNDzK9z zb9U0KG6P$rWIgP?_;6P4@772_%!8dlwHZ9z!;~@dRaovhhKR-xHNgD90AF4GIb_+7 zb-fz-AVmvQlaNt&zq`7`wWxOMT7D0YPsZkJeF<3_$IEwrS7YgBa|Etu9-P8QCPlg& zVkM;*U!HUKMVb@vGfp{b3ABpa=b`8K-PsQa)JJ-4N7^VCS!KE=p-njXC7-TpfvS&- zs}o>DVRnm4o9syKPN(%sfG-nefpFH@wXVV>>zaxsm7LQgyk`Ni4S-bH+$De==mv5B zpdT_}ffNCMCTNcP8c2m~ffcovr0fM=J|w`EOSI~$u?3>U08GrWy$Sd(O{GXp3iVqt z1{ha5w7}-mzjBE?QySnY;L#+rO?zvAeTiFFavOnMM6PXb3#3Y5sive~@8ao{#C`qV z10`)G=}8B;UcxBCB>Gy9Rddc^<7l8xAeR_pN_7C=0@or)sJ-=u>;Tw#2B_Z- z=!~XYJO(AGONx$u+h-*8l(j diff --git a/graphics/pokemon/charizard/mega_x/icon.png b/graphics/pokemon/charizard/mega_x/icon.png index 6fdfe06bb1a90d0f9663919ccb69a491fadd9e19..7a516761aa6cd888b96d479a4376f0671edd3b87 100644 GIT binary patch delta 411 zcmV;M0c8H?1CIodUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUb;EPh_l z0004UNkl^D z*Td*L#$d7tizT)NL>W7aWEyr4OJ8;o98I7De8+OrJx7Nj0d28(-S}2|VB!Q^q~q3> zJ8?*;P3@kJn}UZvx&@{wMpjKxGaeuUGNok%-GFvGD3Ea7w@3vGnmvIa&Vf0+g*mWd z{wBWg!`%6C5@04PcmG8g`d*muDNF)0VW{$x4p(8En+fxxKQ6bzw1Wc{z7eL^;gcUH zVR+c}ktaXS!r&kfPkv0oXtyVK@goVN+mhA2AN*54J^-1MhBpqwa@_y`002ovPDHLk FV1mGru!#Tw delta 371 zcmV-(0gV2S1m^>gUkCwmNklyI%OMq%A}7E|L5v7MH~~Tez4~*8Fh+=vzS?SGZ8XiIIB4=*Gn(2~ z#s*fBYXs92wz5MQ*Q6j#$qFXTY1TaCzSHV9XNhhskVo&+l&05qaV!W&FTT@~9)AEN z%h%+65Yd_l@Jda-9!B3W29rftEU_&h%Gg;X)3AG3`m&4QXaXJJ2bP=eIXVmpXp6<$ z#<$V~6DQyz9k#aIi93Z{iC-j&b$lC}2!h?*5A~^t~|QDog@1VW{$x4i{mZn+fxxKQ6bz zw1Wc{z7eL^;gcUnVR+c}ktaV+!r&kfkA6(TXtyVK_9F?S+mhA2AN*54J^`7NhBv2- Rx1In1002ovPDHLkV1l*tsyYAw diff --git a/graphics/pokemon/charizard/mega_y/back.png b/graphics/pokemon/charizard/mega_y/back.png index b1d3bcf6b90f4be3af61092de2c207f5e16493f2..4ca04ff1dd0b03cd05bfebe09d973a02caf9048c 100644 GIT binary patch delta 740 zcmVE*D%Bs$T#A0<1|yK~zY`rIx*p8Zi*Z zclQAz4C^9IwD{Ilq)1?10AxRa4O7sjh*GDCuD$B22wfBL8fkf;q`GIw%-FlEmnB!k z1v+_t%>3uW!xhEYIe@XY24jioAv=cE( z$#!d2)_Mqc?RX>r%x~o3?I8ggfw2Z*@iG!ZAt0J5I{?|g{08{&W1OB75M6+Oo`a~K zazJTuaFC9m4AeM<+FIvjLT-zc>`6$Nw1dJr#xTp`^~UZ3*+H>`=H1iS4yq|@2Z~iF z_2+X2)K)3_^h$;;exDt!*K03ZbsNfVATvA#L_ManA-=#K{5xP0h$t6y9cvU zS(fM^)}CtQ*G{QXBU=~8uk3(vpKR)GNfGwajfWLG5G9nda^vLd%MB4_@SX40=)fZ>~~EDhO96x#tIpLXap66%+2KC&&|%43v3z(Uv1 zeWRN-1d1M*Q&Qp@gd}))f9fQ_+T(?g{t94~;3omVfJQ*zRnxy%0=NtufdOjCY^ag5 zEID5;wWCqYvLEy2I$N;}RKh$`9Y-lD}LI)(36-Ged`)QtDy@ve# zcfgB|xBYtP0KpoM-sPJcy70?FbMP4pPT) zIIt2LlpZ^XX_Q!3RH1|QdgLGi)d8sefP;(6C3ny*S`1AZX$7V*c_Aux8v^~t3~SJ* z5drCGeU9w|0OWOx5A&Sy!k{lom^=*wL4t>W0^|BzkLW@WpeBI8fKDDJ2>C8iXe5GVB4*>3XE+6Un8v#lvI0$ z%nT`6l;t#GAuKqbXa0F`w)n48F7BH|gWpGYj}VXMP!w`!_w#mXt=X*wer+@B-qL}i zwYzpEMk(2D&Bj^};jSHjj|70_jXb%2_JZIO~a2??`yP*}$pW?j79*j*qyD0a}id!E`s zHD&EUu?nUBe9nN{Dn(zfWY}X8A1@b`$yCZUMd>{H_qARb1b)4LWkiWUr8s^ojM-c+ zm#-O6bK(^P2V=}qeR^4s9av7B0dZIvKHISa$Gzufgna}y&DcRK?V5n4eJ~s(bKn`E zDS@qfFdLO+i4J1zsYZV5l$tcMb#eU49>~q)AWA4H!lQK4VZ{za2_$2zOB=380={Www!yXuB&G_VE`Ni4TFSR0HX_Q!3RH1|Qdg34g)e)%ufP;(6C3ny-3{(+-R$vN~7ouXf zA<+MraSet^G$J59tk)kj0@Mr;7|_YX g43V#inNt*h0is}I1|h^s$p8QV07*qoM6N<$f>b(4>;M1& diff --git a/graphics/pokemon/charizard/mega_y/front.png b/graphics/pokemon/charizard/mega_y/front.png index c7ebf7cc8302218cd60f22aca59085c3c57276a9..d1915e4d5dad77651a2842ef48371c692215a4bb 100644 GIT binary patch delta 1030 zcmV+h1o`{-2E*-qVLqPxl1I$T8K~zY`b(Ozw8#ffk zdAAi=bUNM;ccG}GA=#63%A!t3ze9m+#~cR(MS%opktu&f(YdGvWZ>Ay(@oy30^QaB zAQ^&A`7`<+NjYc9p#hyJe)xSq?!9Nm;z~q#X6zd)4?v>nvpqdef0p6NJ@9ID3h3|v zFO<}$76?cMkKBtB32yL1O`!HC$?6yg(uxBY16PiLw1un*K=~w)@VYZ$U&7?b1-zMX z=s+BR$3(KyhUF`OLwF@{82XumHpwd}ppN-8t2zc01wh*gm|p;59!yn#m1881z>l-v z!NyF^rz;MSeYF63e**2KYx>ShWcsE=iGv#ne$_y$*&YD5p?!1%1z?OJf;p>{Pe==M zM-o>HFHj*MJ7{EHMZog8+dKd{0`%~cF#gpe0MDJX)@B5N z-tflaUCx^TXmF0!zHFS`S=eGt?NXOR=Y@COQH> zFlAfoQ*`+cQyBuOvK*@v{|M*>?g>cY@{Xw%TLSmw1Rr++V5uc95!hkFYTDYCDom*e z;FWX4^#0xhiU7*!H~=5;^0~whz1uUHV9*x5!nEP$ZX zv{HTVN5>RBx~e!x%!BNs6Jbj1P=SkS(}Aq$6y3NO0+;uD54^yZ!Md+u(t#mB9)Mi{ zR-vspsJ4DXfRb#C!1(WfgNd~V3V`!Tdq%)tHZwGOcY6<{)h%U-`fKvK4}i@IF=o#` zvHKsO}U{^kWl%rM2BDkXdL<6u>muqkkAFeAYQuMNa3k!0+{uk(=s`|A2Fh;m69PZKd3O{<(+ut?`|j5-pC18}(5(+yo1Opm z*v9Pj+xCxvOENw3awfmXx1ZU!mt_A5DV{p{A2j23v$qzMjQ{`u07*qoM6N<$fNW)~D;?(%*#x zUX4xx?Qi6S!t&Gt15qY_dhW%EglKS46Dr+GxH<;Bv=St;fh)&AR8w4eAb%1FMcFof zp3~&W1?&t3wUixz$3(c&O^~dJ4&mh_Xy|7`x(Q!VN@btVW>xk9^#Y{LgqmN7`aCp6 z`Be@A4)}5QJDEO{^XWht4X4LIZ0)94W?@lmb!x8RA#5O<9snqw+xHTaWZjXv-r!R}Li7ME zkf^QY4|&#gw?4#w-bU7EL6p|M&!Q{@z#$SDxd}a>0L*VH*l1J(pd&qpgvn$CCmQ$Z z0nl@6jWIC;q&K26*egWk0c~%nw$hrI)@-B7a#JJAf=Um};c*qSjt3|UP28J~|IgPjlgbuFTCyHSRNip9N7x`cG?rLjW4U6@Vr7tJ(pVXoeE8 z+6XOK11sNFf>d3;VL-`X3}F2Czuv^!0V&b>q&{QdFB3O>^zQZ!h>Baz68G2S zb>{&Sr`b4o_A&54$CXc{^wRm*-KNM~+yuK%ckYCLoUXSHsCr-0&@l?Rr_w5LF9sA_rvq{$rpVMM5NR7Jw;GR3nzb^*&K zoi37XVkv{vmGlWvv%n%A@hSL(0x~i+ zz{Gd!K|;;We|v0W_WEu8$G{~S9eFvEU*y}*!MBGD{>x-``aTH$2Q=e$vp$!+od5s; M07*qoM6N<$f)#k{!2kdN diff --git a/graphics/pokemon/charizard/mega_y/icon.png b/graphics/pokemon/charizard/mega_y/icon.png index eec03b4f9ce85139816e8adbb5a2f7cfc8f6cf83..28ac3648c705ab25f44d7d8ba439d7f61bbdac18 100644 GIT binary patch delta 481 zcmV<70UrL41hxc_Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUc33a4&- z0004*Nkl8nu5C?F*!M%+$W^w0E?C8OOkI16ic$>Lq%NBI%vl&QWZ7R_k z$9U=GNXm}v1StBUMbMwRJ4*a@-Je~0^$hg8K+=3Q&4bh_#D5O(R00tQIDyA>3WU0x zU~>v`w3jpK=1Z$dS!^kXm>sq0tQJUMb+HBmXB!CYS!)j&wrqh6%-jOr#z!iF=h6c_ z4;BD^yd=+NAAl;vXvr9IDUOl-q*k{5Iy6aHSVoOLR{$5d$#RE|J_>P3(CQ* zhKLDJON&4R&VQ{~NyGx1B?O<`7QUkMj2WIkNK?CC*odr!` z;!IEh(>P3m-oQ+PW?+h-8JJ1X3``L;2U7*<1sD@#U|RT28<;9+=>r!Z2Brx*I5*lT zH853BG9PY;zfdMYNuJG=-|ov-+i>fKgyGc-u{?^AU XvOY?klvzas00000NkvXXu0mjf_aEC+ delta 443 zcmV;s0Yv_`1ds%fUw;9cNklnZzCFjdgbm|jPTf+>Qc`Y>JiL>>f1-l!?N+~%*=;WXL}`<^UkFj-LXapgUWv_(+< lh0;&-306%NRH93Ld;zjPN}W%=BVGUi002ovPDHLkV1f~n)1v?Y diff --git a/graphics/pokemon/charjabug/back.png b/graphics/pokemon/charjabug/back.png index 010d6496af178ff302581d11e540f42839d07167..e0e1eb74d13c4f991e06eecfe9343f6d3758b34a 100644 GIT binary patch delta 388 zcmV-~0ek-U1MCBkB#}W-e*gz`Nliru=LQD>E+=};n)3hv0Z&OpK~zY`?UXTY!!Qg* z;{x6*Y3(8!-n>}q4Uz){4l?zeow5`KvN>Zm`z|3VrjcYN7pRF01^&zD{|eE~W}S6j zjFNdOdzmuvC*!=AbjR+RfxhG)B&SRfu#vytE_YN-r0RM2 zXn+eK1FA+f(m-*5J_WJ>0r2~$0m!L|fy!qMaZC)DMDGP~s$_r*0ss!$f&m3^+@}Ww z#&d44ll9(P0Q+(JW&@{=IFDN(0IUZ1I*q8;b^soGl(zVa4uF7}ic}CyI2F=C;b;1x zM~VRx0Fp68d!-0NdJG&G(5Pwx#s$DvUqK~zY` z?UFH$!Y~j;la=V#cDs!yN|z?~-T)4Of~fYKThXjmq6;Nmau;UC!(uyz3v9k9kp5%l ze>2spRj;H(Pi-$M6Mr`9z2rNdt{Lb{^MmD-DFQZ{@3+exbrbo!Wr#Nu`JY>}0CeJe zlZUY0J{sTx$bh<0jWkey9H38uEIh z1#sM_2L#4*K42&7y|)1N` zPd+I8Oh5EUF<=5fHil@g6k&*g0|OdeO~AMS_^O=70G0rL%Vb4pOFqu08Hn@E)ER&Q ztpLCiHZg!H;WcpJ0+>*DzXGHo2L8E5>N4Gdqy`tDSA@$v$lsavyst;#Di@R1U|_^= r-F%jFNK!J;%^0wo_SLHYrK-9CGfj*9qskhG00000NkvXXu0mjf0G6(= diff --git a/graphics/pokemon/charjabug/front.png b/graphics/pokemon/charjabug/front.png index 636c46738a785caef430224be8b82594413f67de..d2f1139c55065bc29ff683188d40d11efef6a8f3 100644 GIT binary patch delta 409 zcmV;K0cQS(1b_sPB#}W-e*gz`Nliru=LQD>E-dXILwf)K0b@x-K~zY`?bNYu!Y~j9 z;ACLyfbB9NhP$W_5Fg#TRPX>Ol7~J)CAP9KH73YJg^- zTHZEBKY-^KA-@4c=U_Za3*vxMRlrVC!JUr4pX6{pvNM}^lG8m5wAbmh6 z@(~IEcn(P0iA{%de+OcOcOQIgwY9TXTr3y>!U_i^aI;+HBXB20x{Z)YA7t9i!R>>_ z_NJ4W@_E^4u1cwBWBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?b5Ms!Y~j9U}xyo0o!Fl40llCQ%B*Ie_*;WqVcz&VCQbtK@Dh!nR!m4XWdS5mbI@{T~} zBJQ>PUQ&_BJ>2!E<@XAIL7qkYMD$Pwd8Y~z^?Ok@INhLcU!(^DItSxEHG+IcBapuX zA>20rWr1v$0S|uwFC#9#0fd)eGENKPfRt6hOjB+*oq&JH;bLs&CbgSR06idzW)0C=H}=>3>oE2OwQ+_Go?64e00000NkvXX Hu0mjfh%UJi diff --git a/graphics/pokemon/charjabug/icon.png b/graphics/pokemon/charjabug/icon.png index eb2f9206e9b0980fb91a4f76ee2a7f29f3123a4b..dc726514ee5f98424b895be37cd6e8aff420e837 100644 GIT binary patch delta 320 zcmV-G0l)t50+$1jV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0WL9)884y$ z008<)L_t(I%jJ?Wj)O1|MSTMcg|tX}ffPQ&P|$#oGBualDn+PCkvkEnws0(EQ-lKV zK#`fD+IF?>{Pe#y^ZkwaYsbb7cw!9l9(%+_5Q~`Xv0*SLh<|l@3|dg9fnQt&;~RYE zD-i$y@i;P=dw^Vm$HAun3OMh_vE?!RZupR3Iy(Yqp6hhok%a}ei|*?a#BR~V(^UsT zqD?^2{OhCJv3z%<60!3hF{(n<)DU*ro&-r=Z3Iar3bY7H2CxzdfGSi9u(U$~=cz&p z44L<3AuPAdWjSTR{pbb)#r-|k>vAIt3(V9$vJNV-Yp}1&T?aC?+knFF!~Fs4S%Q$I SIs}ja0000b^CjTjxVWUxetMSK~3 zK@sm@!c8#j;GJ$n006|xz+mYBQVCvPHU{v3v33|5KEodRlYazrZ3xtSS9Lp(g$25G z=J5^UZBDuB<_AKeAfRynXXCeH{qE9BL@!4~NhU0)A?(r}38M5I2%;TOfmT7z05&24 zP=#^<)^>QnSgMc*`o!8i6P9~ol04&nv^|0Bx!?7<-pRrOH8-!M1wLHqQGc#aKajZz e0}A%v<_GIpf)S7}ORXRP0000O{0WLNWeYybv00R?AL_t(o!|j$mPa8oHhL4jj z2~IV8TAW#YZ_@ift5D#AL?Si(100bmRXXFwt+|F4r%UYykjssfq~?A@ zX3pnCoOhQrks`%Y*r0v9U-Qn+>v@a#7h{PD_jo9!lUR`$ZGXoE+pRwVnsy+3A!Y0Y z@b{sN?Q0wma0qtb2!X9bZU^2Y@ba|-*d^ed9q`{G(0FIxgP&gm`~sHe0Xii64GhXe z4JTkc!oMhEmF0^vpfHzv5P3onRC!zi{8dk>F$X53Bw&;d?yeCqkuU)XUU*FVNQY%0 zl+kXi0Pr9R|9>A2M|Xh)M|fYbkIt#cYZNPu&M?S`9&ZwDqlp9 zFs-k`LNV#5(cEPRJj-rplB$Tod^$F>ESpKn2s|gC(6#@{vjNjJe1m%ZuL#@}K+Oc; zc=lroh&&;s5CnXqP58nje?O)rt}vMbrBO8ivYKTYvwzvdj8!KlRc~rdK#Xb8Z4=O( z0+4{780#YLXw6YC9X&CLKR`irG{=N@u2+qfflEhf2S0>)90Ae_hsaV|!BlKDX#@5) z@~Yz2HzZIh|LS&6-Os5~?L|*n#QzguE6Uk8c0CudwC!&G-pckp1|w`y_qPK}lI(-E z_C4cHj|h@$}dZ1O$9Iws-$^0@jc0z*>F{u>)w~AsdMuz^2|% zA2|ZP8Q@CokN3$xtQj*VBKB-N{zCqt)i!yQT}Y7NP!|%W9kE}!hOkNg0XX)He1^eU z`6-tX8Gvx6iF9Om%gJ99Pc>SUxnn?>kE`hfWq*r;Yp^HSm~KXs%wWrLyh1Vsr9z+@l1pn*V$W-!vW?vDnemILO_8N}%2 z5<z=Lq*YyOLUHB*{p>}xPUY&RVZ1IjqNFd;h1S02naB|YV&p9lb$zP10q1pVT T;|ZLL00000NkvXXu0mjfR>y`H delta 838 zcmV-M1G)UL2dxK?bbkXQNklP1DC1RXJI8-R-}8^QIp3K|U8*W?NI>tC_s(}; z-}^ewBL2l#qP#lq3sFg|2#8k|1-hL-0or!J-x4CM1mO3+2!HK8_7ONBcHjtr?E_{9 z-U0C9bp_Bv;Lr}ZZvki>+SlNw+dzH-%Vhu`lKukDb)o?UC=1{(Jh9sHr4C3q%Uu#U zoFi0wtO4$-Bjtn<%7sASIzFH8;ZYt@P9oUw5Z4ipb-))vFO-D9gGl&)JieX>BFF@g zhe(%jb#*qs27fOic?9^Nwc+sMvP96jB7~RZ&wX@)C@>w2R^tt4*+U~5yKW`Ei$n+OnaEd?ne4nG3y=TNtu2P2B(%1 zc}Q7t(=B2V|635-OIhS$>Qxa--Rj}*taR@&7=8z*za3Z-XdkTazT-T=`)zyQ4m?DI zaqz|tJb%I^o*vr)4}tf`_UXTl!1|FLSWCAdtN=RjkgdoLz))|=4-5d;3@|D8CVS`~ z)>e%L0{Uz+`HcRdlXcNNN{>W9Fw*3LWD{{T4|skX{R3ezFVYI<+VpoK5ugF^3r)oO z?8dts{Y8FNgGDJl2JzFp%nIlh1$xjYFqm^e)PG7A1#J$_-CR=fXn3KwKzA@JfbsAw zHUUY|Vmus`EBx*b;!$Y{8E}{PsC{}`%BMi1k(V&Ng#dgT3_=PU;q7z`x~M0!4M7-* zn$kEM-MUh@B4mIR2c`j`Qd1Bmp@f+1gX6UT@WBiQ$~OJMU^G&|JUP7(yj&zGoVqFP z;6LF962e9@zi@0gOpRK~zY`?UcW6gD?=r z9V8ZaIwQtN{1H>sA+h=%q!MGMs#0H|%42jUSx`r_bpxIvl{)4zy4N;1^*Mobt(0%Q zAO60(vmxZBe=cCjbUomFiU6*ZkJe|Z3_&;w$n*IUV08_6$|oIwf4xK#04QM0V-~17 zu;(!#1}*k_1qioez}f&jngrl6aDd7I00FWpa0UrHSU^jt126y!xZ4pSdJk{-K1{$` zS5pzu3Jkmz)-swMHGqi_e%l??J8=e}CTS!z!yHE00mgs$u=>EQ*- z{`&&ZeGyGlcB;=*f8Pap0x6J%D9ciX^!NZ|#EDQg8i@PrD3!z**mwK3k_k=#eiu}H zEK~&LV1N}0`7Rd5!2p2XUb+%$jwv@GrO*i}Q*|AI>rFd-c>QL5AuS3 s09j6a(?xRj|MHJ=dd1~8chevB17WLpqvo&d;{X5v07*qoM6N<$f~)n$f&c&j delta 460 zcmV;-0W%O#<*3I6&n9fB=~l*nv zy@ofO4->G~)l@{Z0t4@bwTxy<4PY#UKXwQ8R-6H-N!p3J71UAyhGszPy6Gx{Oqrz6-JfDUgIH%Tk&2_yAuni98+#g%0LxTrt;bX*PC|w@cPaAMj?v< zkHPEb8Xpx3oG16a;2MVf{F{sbLtFqNVr?1@F0j#ne*%&-fMLM>8aDe-1H)~ZUjUR# zKQkV`+*g_GAO{0WSr%w(3>@ z006E@L_t(I%jJ@x62dSHhWiBMZLl*O76lg7)Ge-&dlX&`g@oSjNF80vu`X1jMno_9 znxtv&H)a(E%1z~zP~+%}FEoS5Of4949{NuWFuUx7J5}I2&TPQWAhN%d>?bWP5(f1w zI7ZC3vCfgO0N@Ht+7kvD)aXa?grq?vye$<*>{;-kK0fw4#Gp5kUb;iE&9-aSb-$W_ tx6lX%Xbpl9+X!at58r}$>m&S39}^;_gw~pz(7*ry002ovPDHLkV1gnHW(5EM delta 208 zcmV;>05AW`0;mFzV1KhoL_t(IjpdS|62dSHhWiBMZLl*O76lg7%q^~wdlX&`g@oSj zNF7}Ztj%UoKtwP7nxskYH|8e{lpFIYzTAV$zR&~$Gc7@%;?TWwfVoXRw1)y*!wJ|4 z1a_w!eWzL?qF3KS%ZTYUls+P609=5HTS70rYJD$`kTeK{mr0so#2y82YVe`kAgX{g z{zF&DwpurHV6JEL?^bvA5)723eY0T1E(9}lySZSV`p|;;Odlg6rG(ZoE~>f!0000< KMNUMnLSTZzv0Q8b diff --git a/graphics/pokemon/charmeleon/anim_front.png b/graphics/pokemon/charmeleon/anim_front.png index 570b506692ab4149465393a58bb140f08ec7fa89..eda3059dfd713d63f408b134bf5403a1573ea56a 100644 GIT binary patch delta 1170 zcmV;D1a15B3HAw)bbkN`bV*G`2j>O{0WS(B3HQeU00db{L_t(o!|j&8Z`(!`$1f5A zY7C`+z>@O^(5C+YCZ_12XzPJTHbRSbAfFJ_1vrqp$cwZDu{zt8o!v;>e<0{yq>JZf zQnCc-6l95`QGIv(brfl*K!Fa04-g3IefZwHcR${jkpJ7b`+qs0`#GTTuj1?f1Zv!9 zGW5pAOXfQWuT{R5;8vRCy_@0=;MbX z1+CrL!VJ_i2!E_3$4AVzeF@O+Jupb?*BFFjoaGlUe{qM!Qna<5U4#65PF;~30zZzA z-LS}^)3$bX!WakeJB2?1Lb;M0AY^s|KE{Y?p97Ax+&k7TK3W$iUW6aU)MGIOav_v& z`J`3GLShdUio=O~Ifi|iS7ii!4p6U@g#D@l(9w{{Kz~>OkN{pN1GziZvSJ~7f5E)s*y!g|v0IFD|)V^3abwG%FIkmr`W(_dJsU-Hr z+rC+o1ZCX*lK|psj0sjB;FWN&cvl0cSJZ}s%kKoRRBM1$0lYD505bWA8C-tFfe)cl zod!__Fn@WE4wil$APy5uR__-dM!rg`wIqF9#$bhG4`6Tobn|7zBm*x(J3bMpq^VNs z(-60QOu=bUsKmg1){hbpxf%d(1hL{V?lnT5KrpRD5Zi=1pi}bX;b09oJU^%WKNUlL zbJ{w&c=4hPjE|qui)j*KcJ_Ead-{A0I6Ae)VSjSE@O-gx$jSg~&50`KRIOx4ZpZET zPsbhn(fu2Mw&>~fdSHWyi_)>`)P>Xv04(!*FDm7isc&8{aG2U$SfR)-d~Xxeg+(TSq}`e2$uq|%^H1!4+IW==jvhPR{+OMnt%Vn zA6&q!1AGA-7CAge4!kP~>J$is#6b|%!?FUXpCHkf5PXgDAxm18FP{*&a?sBN<%3%V zRQ!K+MWN4DAGv&}c2JeARxx$3C!73a)U{X?9&Ykwq95vRr;>iCjLM@F62$6k*LHU!asPp!dyy`ln@PzMpi__~jz;y}@%Wob3KU)1 zJiw62_qq4p9q;aa3Hh(tCm#a39|9WxD1ZO&K<`O`F4k{szJG6Yld+vXNtt2U&k#Uo zPd^&)Wo10eKN}Dffh`33P1a22Vz{LcJ+|Fp`6xC71!AMyF8E30fkcEWUm{R}aetPdKKaQVr9h)??(Q-2<0W@hZ3uinJ#oXVhEChs>k}a)fa47L3y=f0 zm;?w}oPv)zB0iLWlL3ugYY%@~SEt?>2S(fz5d`^#FusdxawGrxk!tvS~^n%m9c1FU$jJIOWfFX*9dt4!Mu_|Z4()Q&&h+k2PNR>@{-GU6jOb5-a5T{{J02APk!cC^Ek!g z;{Ms<;iD38d~QwUKE>08=SxgOQ3OQmjL>{d<$p;K5>{V*w2$_0+6Mmd%8|`kTlIAQ zZeWwBi_)=be9hz^byHh|cSoUIUZ#E>p#_dm{jhZOF?pl6sY9siIw()3$#xW{im*^R z$PmZrQET?4Kdo{kY{09gb#Z^LU&hiysS7#JdrwYWyulWa7CJjDVoxWZN7bN44Eh_Ndd^ln_lhS_PGnSzQ`SC#>SgHQuKGYvp21$Y=B;JUk-rV>Ef?@7lv_UmQn znzwEzfB{&cFY{-9Vs>{kfXA&{w*T}?bboiO+i3|xyS>~k+GEz86qu;!q96^l0E$;Z z`u7DtIL`rO7g9i#_w9-wsB1kjBh@!?_kXeC;;0_5^I?j)&Kwi diff --git a/graphics/pokemon/charmeleon/back.png b/graphics/pokemon/charmeleon/back.png index 3970a2e13e693e6bfa2c598ad412d0c55b3ccd8c..ab21e518c4d6980463ff3f58b754c90806d9d509 100644 GIT binary patch delta 541 zcmV+&0^FA&>n4!r;X0p>|WK~zY`?bR_><1i2a zPzU^;DN(`!g1iUFi!P7{aZR;X_e%sLjCjfH**geA@EG5iHwmc4bTwqa= z$e!<+u_8NB^gaI9p>_AQIvh`oMG|XcZx4&a;?Nm=-W~=S7;8%me}f&RnD>(g0Pu2v z#^f9<=h2a$ZNZO+rr_Xs*@L9^p#5DpT&PI0A_V?zt>)lJc8w$+T(@{Htk2^BG=yP! zpK>|(AR7Si8fhwh7j+2dKlzPJm0WO;!=`zzLilttQ_B&c^midXi4Z6?0u^5c1fmDY zK|m$aFF+(tv4?c=e+3Xi$#i@h4|_mJ74fCapGH6m(e)6PGUr96Ql8Izh1f-lE%0A^ zf@d*12}1`zxSa@eXgj9*cbx8+={fied|() zsTN{}lXY2Q3S;Sf{AyqR^fk^9V3QiRydgj-@IYTN(8cMYe*g#8H0>8-eTgl`F7CR7 z6&;lvEZimgpx<<{!5!`sSm=PO5CEPS66E-U=BqWYP*X}15)>rd^fT}sYzV+m!GR1y z9Cr2IwyM$6yQ7Q4&TqU;GzMYZ?A$|MtQdf8cpx1>!M9X00BbXNr%=PU6oR4y_y)Xr fufG2=K93K76BFVQT}Nm500000NkvXXu0mjfNmlZR delta 546 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 Rc3c1e002ovPDHLkV1mro> diff --git a/graphics/pokemon/chatot/icon.png b/graphics/pokemon/chatot/icon.png index 9a8777c7ad17d306950d0cdfa30d3e04fd0d3665..b6cafc8dbcc364e06413bb2f13d6b183771d6b69 100644 GIT binary patch delta 350 zcmV-k0ipiU0;mI!7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUf7jo8Yb0003CNklg zQqXWBR@zuvrP*g2#0qWUAwt=#?V18H<>z_x=O@G;3o1e25=btA^jV2rP&tqsT?T)Y zrxY-2L5YMFTsjL$2{*s5jpI%Mt>CkU26R1)k7sav>Dva4=L}eLyLO@1*!8xVF5uV$ zmAL>xjIqLVI{Ew6IAwsg+fBCY=lz?@FUk*(#R=Jqe-q^@qzgi_AoFkP3`8ySlLgJl zG{K4J(~|}-5*JcHkuMc~-j^hT1guJ*g-hD0-w&`Y^U|2Q!G6HH4RZ?2-Pc<8#IwXC wcHk#qylE0Ua70y4=_GVr*M&b0hhOx^H&h**^s;dv^#A|>07*qoM6N<$f{3e^e*gdg delta 262 zcmV+h0r~!@1JMGI7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S&q+iKl)(;! zAPhu>3Na*1|Nn2d?V7ki!P~}zJ#d*vI||IUz2z6*>4Db>hpQGcPS!pH6IwWuK=I;U>~Lf#5SzgO9rwoARz{qoQsIWq=1M+haZ55qVpA8 za7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUfC9cR}M0001#NklF6{MMpD0`_y8=;6+l) zYIZPl9|5od^tk)Q?%)7=m`LKl(7oH zFbG651r6By|G%x8c8j{SLm;=lhb9Qu+R1N0#()Ni4UEwtu>f>8VnK9;k60^UWeP=t zEmM$!&mp`rOaRE9z>xqZQbUEnAdgPT1qy_UH&8L4;C6}2ar6gQ{1%)Teds++Tk|VbO{0WUD%1uk^}00OQ_L_t(o!|j*9j@m#Fhlzyf zkOH|EICH!}cmWH|0W8)3Yz(t*|oeopKG;C{CTumj=bktiFY32y#;7@0NhxB4}ZOnp4auw9Xbx6?)8w5 zLJNQh0n}+K0~2nbLi!XhZbd?&0jY2pBL-rLD56A_`8XE3H0DGP>s69)ejyZ?Cl6~x zQWC;u8&#fx`ytgt;4|`H8CXb9t3iXLDu5pHPVkgHSdAjuE!4 z+aU7$p5tuxyAHs4`YWJ5HLkO~Uufu?0gP3Wr#rI9g{1_E1sb>W_4><*C1)XJIel=H zl|_OoiGPuXJJe%+upl^yFFs}(aeg&|f=Ep;E`IR8gLJT5E*J99!xmOMmJsPa-$M^z zN@G}xE>g)aU2 zA^_||zn&TXH>oy%WCZ*)ec`3WH_A2q0gfTQbMT8BKA6hv2d(nxtCqtIE`IP=@dkbV V1Dl~SIFJAU002ovPDHLkV1jLaO&tIL delta 748 zcmV6ozjliw&vJyg*Fy0_6n|Iv0?|gzP;7 zqC5Z+bVtE?f|lKrTHpB>3^;~z<;4T85nT`?bE0EY$6gG z4M_X_IjSdG1ObKG=<~VIr8XscSTDnn^_gHW4IkF1&=4KLAlDgK^+_-Q@EQ7724;eR zs!=b@4bVdZc!;8;GZer*w^&Jsz!0pD@n<2P(g62fJb=MU90I`Di{oet2YJdd#oyC7 zCXyeNQdzRuq<_2E10p>rrS_Z61{P@JMUq}mjzARulz`L#I|E2F)YB)-V1U?@ffNRI zfU6RCh8~NjPVI=H=JA`$^2J-T)SpGtIPZlR{@22`di)x9FzGk@jxm}>Znf}q?$IncDl;0Rsn zQva*o95Gth?;Q)E+eiquh|%Q)VFfs(*m`u`3P2-4Xd8fx;Wupn?vPH`3h*439F)&d z_4en0b62K2=6<1mX&)!RS|xeALxtv>5F{GZCe!u$%YZ|UU{IT|e8?zE!Jr61d5Dpg zJEF(>kbi=ZL8KWl;DGhz01-rLf_3qOKkY@m#bP0h$x9DMSnfE4NcZ_3@c>C_h?Ej% z!pf;9NC)2-fJG*3PLnS-wB!JQ6ms4o2hw2`V5$Uo;s}!inFJ(hVUR}RUfie0l7Z|5 zJcr|6q#1t)wxzrK*g;zVbxKYK=VcZzFWFJgbI>3EthgThFt5HYzijhl eaLEV%RKEay{sWu;dQ$}e0000FE@T+yVd{z0kBC#K~zY`?UX-H!cY{& zYeHl)u>l-no6IobDkG>>EW&X!a5V68X?(#;uc!&{pe4!xe{#za zM*u-?L0k^_0LUHCf8vofc!62!&_QzKus{UC25>d>a{Muy5TS#E^PUbUY|H`+SOf0r zJ^+;}=%^=vzL~>{tq^a3-gX`af+g0_$_$q8OhyHl0C-LtKpY8yAWfLYF$*jxuuTZV z5+GF+^8ge9kpukNK`#Qh1-quCCx^-vzp{XqoI2NX&V3kmT!HY71N0pL0`8sE;j;*+ z0wDMfD6YXLAW$eV6$5#RkOy#!LWyuL3GPtHm~xkvsC{k`uLKoP?d;Tohm~liXOFWj c{p%YlL8xv1ACx{yp z#{c4d4@&EMuV~_CJVS@xujib5tNm5!x_-5D?w%SaJBU5^+As{e7^u6hV;Gfcp+VV2 zITgJK*mt>{vmFUs=SRhVfXPw{OVr&KcX5h=D(_JMl>D0A;G5XT9mU+gC8HMU++jwG z^yJSwAsO^qgpg6$z8p&#C6ACn5ST+G%-WzK8F=I|;0pWrXiM{hVL!-Z$^|ciyvDMF z$+QK+@r^_r0z{bw@g?9LAag*A2hrdeCaFUk$)P6#Gl72vM^J#bYO9W4e}>p3jN3Um#0H}g1BEU|*d)?o1_WbES-08eQHpfe>9r3ne8 zA~5H`CLxXsfK)Ro1CR$)4)ALSD-Yln;+mSp4wZ?%h=9pXooO)@=Bz{>h+ieZ`T~IX zvsj6bJWy2t(RV;fehoPRfn1414P+%^8Ne-aCE}?Ju=m@HM7p%b?K2CyR8&AUx2IP8 lET%~slF+91ub)fPJ^=v(h@tKlF2(==002ovPDHLkV1gOi+8_V` diff --git a/graphics/pokemon/cherrim/normal/front.png b/graphics/pokemon/cherrim/normal/front.png index 5b10c48d1d9c7ff8b77e683a77978f47e5b59e5f..ffbd96c7d94e96c59ca2621d38ac05b1310d88ce 100644 GIT binary patch delta 430 zcmV;f0a5;-1eFAkB#}W-e*gz`Nliru=LQD>FaQgN5Jvz20eDG7K~zY`?bWeP!!QsA z;2=fWkZ9=(;L;bMFA$+~i!7$f-aAx~2dHG&QR}_|-7{I`3Bs7E1c|xgVK_S~)7cSX z?G0W2Pj_caag*d!f3IGzBWEls&KTB31oVdpt|Q=be8bo%4^J3&e}I&YF;_AIuq1*M z<}{eO0bIhPUOte5;{f1ts<9?y3#GttpKDD_$qInY_Qe>NFNp?)*=(_l7sO$+Hg{k> zg@gppn7=x(q;4yNiD?_)4Ej0?b1Xd%gOwYxrVfEixO{;>PdW%z!roznHMsNipNHneg2x;#{;~Uibo`QXX?Qu_b3q6Yu z(@8`RWs-&V>Kyj+f6Pn*8+NWgRI62!bDk6z9P26p+Fb;<32@!Nm@I z1fRG=08Y}N!Uk#Js}_7=?#NTHeE{V@z%GED2k!~scO>r#|BKCWM>mLrvJS`^P#!=Y z1wti�FX?W;|A<(7lcqISBy7_=al*k(`BBsLi>C_(OKz0eolT?-*+-23p4(um)x# h(cpy6^{W{B0pThV`n>$n`)B|F002ovPDHLkV1jmly|4fP diff --git a/graphics/pokemon/cherrim/sunshine/anim_front.png b/graphics/pokemon/cherrim/sunshine/anim_front.png index 42c7893893e3dcdac2a6067f83070216977b9fac..fe8ac9e465dbb5f168bea9e8bdf378d04e99d5d8 100644 GIT binary patch delta 496 zcmVFa>+;xgV`RS`)hgf4}aZt#z~mb>H{T zsYVO2#7bKLGEqQ8fk*iOVqmkd0a|&$1$J0J({Bw~2$y8U{iI<91Y#}AJ$}5KaZ81@ zF^^98a5w9L#R7?}lL1LW07Rxk94Ge#u;WBLLll@6qSZc z0ECW7RNJRS=;azfqexMXDE(WNfF8uubkphHB4vy$s9ua#ppxp(^0lH0F;1j3djTW8 zexl|T4z>y|Ssy4W(CM?xq|xuflnD7!X6bquFb_=&9#VH$bM+Nd zcGuJiXadc91z55FxvY#3dT;{*N?UdVP9wJowmJL&QNRf}VA}wCX?(!LSCz9x+~G$k m^8lx)q$6|JklbzZzZ>7_2%LVobI&sX0000h2X{j delta 503 zcmVbTYjqDmlWhMz!9*c*gAOv;zurClHl!oxC0 zI}n6nctkULhz-{G0U(Kg8X^kZsRj@uo5Cm1s{)R(&qhUlWyC_b6eDhC9V;LZ+ePo` z-SwPXCX`}6J@M`JdBcf=j1<%`MJwRt`mK4cXhMpY zQX07n6TRYR)PM}o@=bC`a{aQe79I!N1eerL6%FW*SRrZbyEY?2K6(QmBj%&2;3I8^ zb=U7Hb$892fG*HdeXjvM$6Bn35c_Ze0vdM0#aZHZ!FCT{KoW5Rw%AVqeQErZ$4{!_ tFXE10V_5|_btN6?R8@8QU%yz6^8x7yoPHEqT0;N;002ovPDHLkV1m`I+(iHY diff --git a/graphics/pokemon/cherrim/sunshine/back.png b/graphics/pokemon/cherrim/sunshine/back.png index 5df400429c66738019f826d424dcf6214bb0d560..e2c14955ed2f2e729ecd81697386c5476fd7f6f0 100644 GIT binary patch delta 542 zcmV+(0^$9T1%w5VB#}W-e*gz`Nliru=LQD>FbeBa`B?w}0q03XK~zY`?Ulib+b|G@ zCGZ18U@fel#sWD|_ayKbwzoj62k52GQP@4mw?HnQzQOwCI+ARsj%D9^DV;+C`M-?k zpP5V;`yYQR1Y@Toog2oRLjX=P3GgYeAi$IfAiG3Df&nNKm1Xu4e-cT66mULe)}BHM zKExI<1Y8ziTjkjbYi;Rk+yi`E8LJKfs^S>vl-L8Rpm*0F5zyN{c%W^Y?-AJcA@d2K zGq29=04?bhU&qmX5Fmtjnt4p^fzQDi@nWqIDWD!l#G8nwS41`e_|W5U)_`+fhe^*j z&v5-I_@Jexi`n|>|P{cR#f3gDRst_xfQk01Vc`*SE zd07EjHS4#Ki^{w|4N^(Sb-lE?#?9Jm`b0l~d+LC&teyd()7MGY6VQ}9_e)P>*gbMw zR)+wcCv^n)^VJ*yf+pI8B2@YmzxbV~JabM0+;(K5f!s8$NcM@=njRpj>u}w%(M$Md gywmGH_aFBg6j~PoD!G9AyZ`_I07*qoM6N<$f^awhuK)l5 delta 552 zcmV+@0@wY71&{@hBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qIFZK~zY` z?UYT5<1i3~CC~vPuo^n2u|N)tXC-hMdUk?*iGl`UdUGbxCrZaa;Co z76VfY2V9?@Uj0PufBdzOj2-s!+%n$m0&q}SfKR%T09$4NaZZE+3s7d933rY{3LpoZ z4#K%Zv=BnB0ZYJn2G%ZrPfj}L%HVMe2ytPo+6BnPKG12o1ynKLU4A9NtbkzAwQch= z0qZ`9AOM|x_I?9sDNpfz9Q_*sQpztgPtpPS7`&BF&PkaA>TyK8%2f1%5EFopd>YOY z@IK^W$``9Md_Q=kdABit{!$0POF!c9J1DI!Fy=M9ypJFF7J!z2nnqi(sI*7j2Vh8U zyKXTOUKpdXMyl}!kC+?EW!r%@->61>edK2Wu3T*Na{%<5pO-)6UHqa)9JEm>U+B94 zeV+g@{a}t*1QBcI5_sH|2po+8d&H|D%k0kz?uX(vJ}GXC9;N>R37||rRLcUmyF#pB zk|;9*#c=`}s$~Ixi1<3>uThI^E-f&j6%?kP+g#&n?G3##58#%&K$xiSfHW){rk;SN zWE;dZhRsWkt7;dZ>q+kc;reR!07(;Vq6wY9il4$xRDn5V0q!~~qJhFTt;_*})|w7b q)OEPzO|V|U4;w1o0{+!t>=RlS0xCy+zZ(Dm002ovPDHK)LSTZeh4Tae diff --git a/graphics/pokemon/cherrim/sunshine/front.png b/graphics/pokemon/cherrim/sunshine/front.png index 8c65c561c6d3b3b219d6dc7fae474b46aa657fc6..686ca0d1a6391b2fe54e2d8a5b8fec363c4bce88 100644 GIT binary patch delta 493 zcmVO{0Wc4nIStkT00Fv5L_t(Y$L*BAP69y?#_tG? z9ZT3VN+Zi3iI%6<2U##cb;->YY6Fq6mcsK1d;%NoG&Js2maxx2>H9bbv2mBHjbV~a zF8O|$`F3V+9A_8*HQao;P^t&HK)vj5fP%0m@VOtYKUx#J0e`>lpRIMY19ji`WW zvBXMS05VZPM1e>70AgUXumM_mzy)?#KhtjwSqPV8#QmgU1q5O(%RPR)n{i8pwK0!Q z_;5GtfyDxetdjvrLI6ajLmVgf1hC^oJVO+i7UTV=#KY;ZD;i3gcciObVp79#I+sIb z>j7dnnKk%WFMqXGa}y{cmW62OL*1?tz|2|or;!jNt#vH}IE256Vh?18((6S^004xJ zNmSdXMCj!jK%+=ejwt&4*{eGh66%MuvE?FNaD$wb(%%sup!juU4QfBFT7%&e_3m#H;SabCiQ+C(X z31|Y%dj(jr|GBJ;5PEO}0!mwU15P8i3AQ=>08zjRIAGfVdTD&X!&jBFMcm;>DDwcP jsH7uv*O1(8^1mD3=?I*DxpU7m00000NkvXXu0mjfoUY!B delta 479 zcmV<50U-X@1jz)DbbkTANkl5W#v6jN~348(@?KCvrRhF>NKSkJu2ch^&H>97js(Fty^r#@IBkjQ!&5XS^SXePvQ zd_w@+i^T(khJg@K^*;7+GVF_HqRbg-v=fZ$I8JA3nAmoJ*pH`8KGqAZlbHz=5z9g} z^^We;2w>)24Syz~5F@R1Jp(ud>qOB9)gya7PYD2kz-Zz_t#d$xUaSB#niSQD?4N4{ z_z=<3&7@oNlrf5s_z_xxN~+(==LvO)@KPyr7ckNbentkAz>MHH9Kuw;>?gAd2U`c1 zqMs(zpf_My$nH8&m=K{JD}4{U%tJGRhqN8mTE0i*?pT^S0WF~WUIJE3F)LO^2t2p| z0k*#?ONo=vZGr6`zJRdH3D{ zTOv_vKthSznE@eg^VvR~tuyA!0pp?+6GzeQ%EW7>h)}_XG!e_0$ZDeXM5BQu1HE>~ zQXr-+urm&qKxG=44@2uCW#P!&`}(Ex#+|vo)s#gi-Z7uE*I=7HJLMg0W*2^8l9 zw@DL1CsH70_kh?HX!8yPL=5^oz`=qnes+@8Q^ou){()Hs=9v!_82M;E9_Ql1)FriL QjQ{`u07*qoM6N<$g3MrU-2eap delta 259 zcmcc0bdG6)1SbbG0|SFkK`+Oz`m3brC-7wJ9)d?gEjN+rKU=8!i7G zI=%Dd-L=;5^q(Hvyn+3MoWg#!`!6@jDDcnam;b6Ge%gAIRTR)C44$rjF6*2UngBO; BbYK7g diff --git a/graphics/pokemon/cherubi/anim_front.png b/graphics/pokemon/cherubi/anim_front.png index c8908ed7757cbc65b4bc2bf22b17aa34a71ee1a7..aae380b5e26186f0b916c90f3c1085c871b7a91c 100644 GIT binary patch delta 658 zcmV;D0&V@B1=$6V7zqRe0000zWAGZ|2J`(StPJ;sqTwU{X*R$ic%`~-QL-b*{4a~V38f5FoEIOlS?=Kn3LRV#m9 zuG>)eysoMK%2VoFodE~D*1+4&FyM#}8o0O`jeHIJ>-+vFXaIs}cEtk1_pc*$`OE=UH2b7$g5S;Qpl`=aEsp1*a4)}PxS;D9 zuI86-I%kM7B0A%$Hx#HfU12q8)4iKOS3Gm1sgd_%_ci^wSE+d63_@gA$z11=_|GR%h*nR<9 zwfcYU|Fp^e&rciTfp^{%54^sC7&HOaI~^cQKt}@u6EXC>k7Lu2p>p@0Dd=<*FgCVO z0ioA30g-<_9vfx|cldtlc3JzkW^QDODGk^O%BXv$+mL{*(m`3y?w{4~83m*VSr(Y1 zoYV8|?NOWio;Ajk?NOP#Ocj1`M*=Axl(FW3c}4qH_9APbVvNnkST7-e21pp7kh_On zp1?i5NJsnfCdG>LR!5uvMnx<-UFb#PN}E6Yh}itFsR7oTZK%@$4>$n2ZgBrtY z12GIl*R@xYt@QtYx00;AL7|pY`cOQ{OCWQ0d`V!mZA(i_OG8Scx9lIHl&Ae4E+ga| z1)Y8+1`84bczqX_H1{*hFu=>d3NkV~0!9JS-n-vQzp`Sr;b{L>n|Px7 z-P=E*0|En-qy6{lPknX~iSTIuOkVuQ0nhf&Z2r;Ng#*0(YxifX{h<|H?cch8X!LLa zYzJDujDgWZSHFc<_ip2(2ajNrhYJudzj(F(x%SL8kM=*)zO{5;{ePxEvmrW!fByRS khyyeUc!HLemX`iPU*DA+omJcJ@Bjb+07*qoM6N<$f{;NL!TFdKp6*{c8m0dh%1K~zY`?UKQ2!ax*7 z2ZSiN8X|s&VT${~q2Cb+jJDl(65N|t+}8}c?xNkes-gV?|Eh1MX-ecpp>*NGyS;~d z^X`PPt1eVRobi=9NrXx%8MgbKfpWwMi|CviAC^}wwUf0|H45IIju&rPV3 zDMx}2e1xJSI7)KIDNaR)hHR*USOmiW*C$ z76lNqpawb(pakbTe?Y|KKzne?V>i`~0s;>#8C#geJCzZn4tQky+<<+fh#C5;xClSg1j9tryXwYA}@3)dH-%(}Xs SG&{Wj00003OTCoEXp|zUNN)gegHe;2Opr-20*tCxXb$ z;@G5)qCoaRfSOiyc5z z0}(f`rDv~pwG}E(s~tl08wJ*`9tyglmZ_$plt-Xl%E z!GYgIjZ0;gf|x*1gH{8S=;jW{1i0+bB~RR`wj2mNSOCn;{FCc{2r>trVV4`UADo!b ze3`V-Wb`#}T*VZZ8Zs(CyV-M}(bXEdnA574&3+AhjN3pJw%GEZMB`s$?VO!=u>xop z7Xaq$j>!Qad+_N$0Au_+{|vsc&XNVe0i3u)S%YsDz!RQ*1nnqMKfa&baLZK(;0L12 Wy1L06!qxx)002n`MNUMnLSTX&aLZ)? diff --git a/graphics/pokemon/cherubi/icon.png b/graphics/pokemon/cherubi/icon.png index 380f4d3513c93fe8b0c814c6251d4685076f640b..9a6ec0319f34fb408060879116135a988e2d534d 100644 GIT binary patch delta 254 zcmVO{0Wcv)?*JJ9 z006m3L_t(I%k7e{4gxU@hxZ13DKw`Ji<{(RaR|iKT=sexf&|%wvEj;cmu%gzB!q;z zed&JPpU;?IFAyWFL9ntJbc40K-m-46{Wd57VR$g;5b#}Bk9YCiN<^*2vtLu$Bh!W9 zNiHYQi5%?dkikR=AZBn+fH-2#5IWMxP^QGQ8?ibTs{PC58<0}2+`N#Oe|<+7ZiKlx zQwbwf44Q?BNq|b2h(&-|7*YSd2&1OF3lm#E;In?b0Gkwqo4YZ|od5s;07*qoM6N<$ Eg5+sz8vpULZzTgTcwB)eX+=8ppc9HQPY}7}^Je4uN3pa!s%+ z5p|ZpVNGR5`U}I8d`_SfdDzn-gPsyV%;25?am1VKWH1U7u?R2;BkI3rVbqp)VPfqEeAbT_n-qkb Tw~mf=00000NkvXXu0mjf1f*kd diff --git a/graphics/pokemon/chesnaught/anim_front.png b/graphics/pokemon/chesnaught/anim_front.png index db9466c88d46281604ea3c5c5f9989f9328b2dc6..f8de83cc60c674cd46bffc682c4b0b9610e15476 100644 GIT binary patch delta 1493 zcmV;`1uFW445AE>Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUi9*^8CB z000GrNkl5NYWcMgGvh2-008LZmsI(7AQRIsI0HKniDAJ}70|XQ~LZZkBjS&b{ z$|*>Z8kB?q#0fA6+IWFq(GY>T{Tkx7{4F=`10O@4n6C(J4rx}oZLN* z9v#cFDzw|_buW@3QaJgggJv7bXPwvVrUSV4GpRP-IDg;YKipfd=+Wyw$k$aPo~meo zGJbR%xX_PSeLlTG0K|M$ix&>s)eGae@6P9HHEtI~_shO*D~jALT!IG(fJBtnm+Glv zzgyn4e^68p)Pz01WCPXn{k13e`iku>V)p#U{OZXAd*FE<>o5A+{fhOayuSmOtHCF5 zKpuDt)_=$FPTn$RuFTNtf6T8J{_hjV7J%V<&@leVim^ciSeYyKWLXc6Bq%a76&njw z=M>Bhovatke`8r=j7qeb;yBgw!W^vi)``!2%bMKT`1mjetW~+BfpGG6<0QXAyESom z+2H~0j?IswGT~01f(+1pHxAQQ5HSXWNP;*CoPT`85I+5MVmWqnXq1PsZ3Nd|vA7ci zz@#>GoN!;omhxc3xy~<@=vZ&L4{@X*AR;JJP^!i`ULX7b99w0kAkLKfG$P31?bQHE zloTQS67#IxDz)EW(^4qWM5EfEjZ>)4U^IN^3$-ECVB3@UjV){Vd+OJQ;_cLygxYkz z*?-tvBe=056dR;js!8H(Sepv9`c&L@DH1dlQ7_U$0Y9rrwV?oYY1hUmk-}txG!Rgq z3c?OhrO`RZenvxpI7GtT%`l>#K=iP^V6Ma1u_X~e++G<`inlRRNB|NCfAb!Z2 zk$0SEU&XI)N3-eYW+aSeGwHKa6zWsq|MmA5Iq;mNFNDfp=nJ9pkM%`Lq9pZ&NJEN^ z0!ix&om1pUv88A03x4@u}_>dPrXwfdV<^0;H9tF9hHchHBS`^o0PS$~x|FAB{qa;kl1%-7@4r!=%b2Jjd~Y zGsyp$a6qqjl>`KKT%YXgE81(fI|)EOvNQ9KU$4&EyEejn6AiqMpltI9l*Sze{=YLao-~N2T4LJFOD86~E0s{8zfd?=8W9+D}diANh zp9Y`8fh|b(*kzs@Q%D@J2mk{fj4QK&7Xx4j=B5lB03490lD7|#F<>bHSo^pSYi6!x zbL}ot0DtB40L{h9lvk#=@H{tum>AnuN@h$QBmsGuo$dfGRxIv8$h!+u4S%v!UFND@ zk|5eD6(trXzy>LT2rvN7vf=&GoFk)AWN4Z?H!O}y5rzQS-Q7*-HD>zY0fHhCj1uifWdQ{yc zG2k^Qr@M#fZSC$(V8kfA=uX`7B5njmjDqg~UvOx+M+i7P{r5)i0fDiV4+jLsPCjJo vhdud_tsnN}L#BS%mk*ixVP8J{2ld0BLF+00000NkvXXu0mjfrp(A# delta 1463 zcmV;o1xWg$41^4jUw;LUNklXTR^gnVp%h5&HK=?nTzGWd9X6v*N7?z|s;qR)3BHDT!P$3ZQCAqR3h( z2KW*=Lc+=jiwU3_6B4AzG)95~;sQ_vYrcS|SU^AlaRC7^!ZZy&R3ISUP5>HfF?!Vd z0V1p^q~aMw5mmxkN8KwSkrn`;(-e>OdqP5GtdpFVS`{8+ZONBtGc5(+iVt-9KA>sI z46t14H_&6}#(&RIN(mrRs!dew`}41Spjk)(a_Pfl@^W@30dO|BN;ZiQoqm}7{PNzQ zJ$Bab_L4x3oZLN59xcN#s;u7|^e>VnGJ5iB55gv`ob_Jwn;wM`?WERxYyEitaBsX~ zN3Vxex~^&QR7!-Q3-yRMmh&3`Xe>vqcws?Yxqr}(hxT%*)Z%f3?XQQXDa%s7 za7i5sKs=7{^`&wuoA1{*-JfK|p-Lj2U-OaTc;3d521D6&RRhYwf7 z&b`Zr<-E5Cba(WbT2vZ2D?WtsPTp~@yLu4yKIJzn?~j>fBFf=++JX9KF6W~VaCMhI z8ODQEMt`!zb=iaoY6uB#2T3+7?!7gPDO80`E?ZXZys)IkW|zd{o?*=HO!)dRr7%~O zQir0GciSX+7vjdu64Oo}Aa0rBb(Ci!$&=p!#P6m-+cFSSs*y6nGe5~EDB<&)6T>ot zf~ov4H8p?R%Z5k-0G-vxmKCfkZp#lQJy*r1!he?WPUOH78Gulr!l+!+&SCq&1Jp7V zt|PpV8}m>g2fMdJX^D{{4W5KP>$h_K_i$lgPF#kANYtx~;=7vuUI)f;mh0#ztM6ob_wD-__ddbvJE zw0}`XJAjdL(2U;(0F609d!WX`_Z-eM765n*g1grS-t%Bf6E!$qpx1Hq#ls{7@NUcC zatzQ&Apyk4?sp)`mjRNkP$4^oOaL>D?1A(V^=!FhS}6d|2}vJOi`(0e?ehRAWt_9m zCX30(cCc<(T`rf&GYX3nCtO$j?d@bS&wprRH|S)s$Y>)-M z#$TZ7KlT?Xi<0ygm<1AB2a@&|s*uQ$Vq4Aj7h?0j$oaQ-w!aX2zA573US^s80&=jn zrm{o+0*a`%Xm_9<@)uZbK?)$)A%CIy4&+!Ekam{8KvY;5*1109FAxn})^ShdXnz(` z3eP;a0hw65CIGZS4qH+!}x4oU$H^A+e-lXFwXTqf4e&C4hH>K z``s>vy9M~uTh3rICg9yFz36Ok~mjJNgyxr(>-9r zjKwpcyuH#Dze~mDw&ElO!lhEcVnG9ZloAMm5fv(~0PHldohSet+pdafihoR19%gd2 zn<&SwkQPOB9g%ST_C#EP3?5wm9`!nLVCXO8shC8#{J~(vww9=Jz2T#^0|HNL`1hhx zimjIaMy)B`h$d|+3`W9_D%&PTVh$?l(*rxZxV<+RF$pJpZ^a~T4Mt2ttbiCIcjo0D z5`Jyjw}0g7Jzy|)_ThlR*f86NZ2u6k583`9VjnX7L)1QG`iH1}_z(JrzX0WGs|m1y Re#qt0E diff --git a/graphics/pokemon/chesnaught/back.png b/graphics/pokemon/chesnaught/back.png index 13917931e8629b2c6eb91a00b70284b640c49f9a..741fc66b7801ab946c140cc92123f74955ccffb3 100644 GIT binary patch delta 479 zcmV<50U-X>1jYoAB#}W-e*gz`Nliru=LQD>Fe|4z=?4G+0jWtuK~zY`?UPGx!Y~kq z?T7>9bpQhH776SF)b@x2Ai=sqqRSqd17y{G>lw$1okz3js_HD*_{;wo4UGN$$+jy% zy#jEZuLv0T)BGR+2#95s8VUsTqJRR-C}2sVS^+i|sDyw84=yRAe*+dIoC5*H0>GuB z5-fvxk4ge%L|{$=1qMLR2`FEJfT_gBItRm+0WN!h*K;1|;7iaVz~&Qykg)@fDFEmY z1E5|<4r4&(Q-^SG1x!4E025A|0P-kzZt~!e0O-MYR=Q8i#yKERq<|`g^rI_s2pRpR zz|!Y5Cz%4ihL$o0e_$x#0WAhVSrRaPDeM`&yH^y50K6$10Y^#=#Wn(BfdGhJg4bFm zL+`qdQi>EH2@~~fsuYmg0rjv-R?6|{I_a_31&$r(=tFc*x~Su249m{?Pt}0n`}xg% zi~{i%J2h&0zp>(kEt7nv3h(A|X_O1f(~_$6{s8aS!yf-qRTI`< zAb`&ROlc}ntYF%sRzMkl5tx!dfdMd60y>l+;8|kryaQ#N0hsCmCZ;^lA(Wtt09QT< z#Eczq$N@ly6af7?au@@ue0GTMjU$kI00Fl9Mm-&QR9in~bjSeoU|XmB(W>zd2=E-x zl~iF&O%5?*xG8XSoaU%KatUyt)WA0h zkP1XV_7Y4Ol@0BUNK(oiAPJlFZ0a0P#sgxw%A!)^F(T`+GaSc_bMzs)mEj`2jN!6Z z{ZTz2xIex5!zhs6Vy8w;Z`Xn!v1OLe)^Ts|=SKUWEHA06;1BSA+3)ZtwSpu*?wYWN zmuo9+*}bTko7&Mw1A){1)_zv;RcB+vHC;a1M;RYfJ{3i{?%PK(4S)<0+OPi2j!h6a ix9!ru!T51lk0UUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUiJEngt( z0005KNkl1QC6u1qWI){n6Rat?;wY3ACqml{bj)O7fCR|VnT0B$2V`#78^;aw7|y-$gmP2 zHM`UpEA&(lE`P4i6_DHx5EQstZRpONBvq*9WHrf8egK@;ze3-x^MX0MZ6L7XK! z7a?@n0pn@|uh>UGvyp?AOFaz@B6fxR-&J;?PbfMezWFQaj$dOr}95e>#!FOY8M zp%lUI9vu0oVqE;3xsGNYvSlT|-?>O3dW?4-4=Oj#fqt%&ubvE-D?3gbe)!>IT(Zi7 z;YM}>$;mP@;NZ)mzy%3})nV@qK$4-Lp)hxSiwEdwBRLf}XHY+Oz5v0MyfVV*x;u1> zJ3p*2r~eC@qVvNEbM}Lu{CE+@_>sQ|WBf>73xm28-!kMc2Uifd;(fBs00000NkvXX Hu0mjfIQj1% delta 479 zcmV<50U-X`1hfQ@Uw;9=NklCwC~s zfrH$9Wb0-E_G5&i5YM4Seg`Kg6dT1fC5MTz&WR-VYPw&w`RDJmKK=DGLjQ58KB&t+ zNKK`EQ9miwwkg&DIS-}^SO=Q&VjC@?~e4B zD>F{xf4Orp&RJo=a3foR~+c diff --git a/graphics/pokemon/chespin/anim_front.png b/graphics/pokemon/chespin/anim_front.png index af2f036fa8ad824f67e844812817396b3247abf3..172c75ec201d1e9587641ae6e42ab446fdd70e3e 100644 GIT binary patch delta 769 zcmV+c1OEJ-2FM1G7zqRe0000ljA6o7pmI%LY_x*##Q7pu^;0@+u($FX2y zLfxwhxyfpw7&Cy>!5nK;DZNgJjUwfLAeDarOBbXJtc>B^IfW{@cVz%1q&zv&Der&N zyL)HZ-`Vq4@t1-GHvr59kfs4BFtoXlqXvkYLTmS$lLDtjWZqHgk&k+%}|3nDUwG}WW*n@q@!zu;0Z9+Q|T}tV? zuuh;$u)XI}mU&ww$Y!#^seG+eo~D0xfb5lHsgxRrC~&6Us57O)G_eDZKD<{7ej^MR zZ0}sC?JWn;`Sj&uXKQ?n0N!Afb2Ta@3fxjAPLGi;yfrmY`oh}us2Xuz!agKP)0!6p zGew?;Y0K7xh`G*>!j^BH#OHwr6BJ>Wo3U+?S;dPXhx<+mc@11( zK%pa{w?8|9XW?T6@QXQs-R_?N_uK%-yMXkt$niG$@R0MP9DB_*&Wj?@WnR3s1CzVv)OmI++WQ~RPJk8md)j!WlsaUd5zp3W~gm>rIGtxiJ4c{ za?kX@YF^Hb-1UGXjT*VTp1fM_c>YT6Zs7lrd)|5HmOCcaE4d%N!~tK+9jJ4>LSQCB z^A_WAwPVN31L2ME9atwNn;$yoZfL*7ApnfhR8vK7R z38@ue^hy*ApOk?|(-S~`a#9J4N)ns_OQ90jT=?QGA*5VB#JSYFvxI;Pe89S{3*S2f z%KCghSGog_hIbHX4uGbQJBQ5E;U0g*3hqJKJN# z(-){eCF}7l=Z6fS3V^L({|v5NZd`um?n7;GY$!yWks@+NI?!RB5zSsUBkx4aBG4y_ zuw~TOY3fmDfELu=WQm}6wR>puzyqjl^kWF%cgZoe03LgdKtq6xH4pZ&5Oja?xOsK% zr@D-?a~sq`a<2A0U|qcdO|%O_SfBj?nRmj|7jW@QfO8;T0(`$$UIYB|&=Pn@bWI~< zL|IhGyTR!$rR3JJ)KZGezm;vf1WF`_ev(dM}cU1Ux`1gdj@a>@Qcku0@@3-*n;l2Ui z1HPvpg72(I&b|WcrMQTo3rhM!yDsC0Bvh9lrMlJGstR z_->JAa;>DX!}lS>7#y`6@ZF~ieBbfk4jAzLGw@B!R&K$!6Fjd8NLxa}37&gGg>Q}W z!E>zuPQ|$S{cQ4XL&pEDqtlb0@x9}}9%ugzd(S5i4gC-L0&=M(*~=eIx&QzG07*qo IM6N<$f*~b!iU0rr diff --git a/graphics/pokemon/chespin/back.png b/graphics/pokemon/chespin/back.png index 1cf511302f1c0069211e976f7d6cf3b5498432c0..aa10f57c7e99ea920d6957cc35fd2218da57a848 100644 GIT binary patch delta 494 zcmVZPlVh9+U7-o!}%`&?;Zd^9&NX|g8*>Y09r*k(|<7B1WdyLEj>57(ZZP{ zT2irhTbWiU1Aq~b@SXxABK8;oTCr=unHiAL)Fky%N(G>c0x2K^pd!!$U;+rl(O+Y; z2*8*ep6ERgYa{_O5FzanP zs7zF`0#3Dws_qiDhf;#0RZEjPUI7$p{YxA)y%ioDX=hm<6{UwsGof-oXn)tffN7dK zCaTj^U!4iS*QGjZ>B#*@J4~OqYZVx#lLtuRcI&DFSM+}!YLfWA)CA_^=mwJbt^so| kt?(w7(jfvYn6Q5pKa%~iEPZ-tAOHXW07*qoM6N<$f*}CSS^xk5 delta 458 zcmV;*0X6=^1fK+uUw;9rNklyO>ToQ5QS~j13>Hp5C^eO#}}|Y2dPkndX6rl z9J^zRiT_9%WmOA-@O*mj*@j{4iP1d*MEfGZ;rthX_jdpw53vJuE5Km~5Rz)TWw;CI zmIGRP?(BwuGe@+fVsExFO98qCzzyi&Jp~LR4!8j{V`ISS6@Li20(6p>N^$}EO&|rj z1&|vc05Aa>MB^{h1_3b1;WdK?wu~g8%r0z$B*i1Ai+3jO#Z43Avwjp$gE`2MJs{gL~RcAUSiQ$rOP=aUCW;(G0?0u%bb4i!mU zDkfw2X8MsNE;V4?OWSypLV{)kz!sBg&VM_80FwQ&EIt<807*qoM6N<$f|*&u A`~Uy| diff --git a/graphics/pokemon/chespin/icon.png b/graphics/pokemon/chespin/icon.png index 6bacd750e57e9d0b30e0bc5beab1aa8bf6d62c58..adefc6f99431df06ba066d867c9e6523fcbd0827 100644 GIT binary patch delta 350 zcmV-k0iphp1GEE>Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUkv5}hFi z0003ONkl3&7BnxH{S;%@;_fKyjZnq!IzdJLZQh)3uFK#OJ2&kZ&YJZZTENcXtkZX@A!I-OL zPJoOtrGXkMvm=3u`OIe33PP9leXAitEs-yuFtd2RjjjUVBR39zswnb%z-AV=n+O2e zedj!-6L8$whtE4GVIIUY7yD*#2`82g-6Ti)aqcCcr2fs3y^yB`ZBVlh{l-h6wE$C< z)tGYhqbfoz1XnU*`ytcDfFG3Goz8KSZ;LhivtIhqj=$%}H)%wfs^UzOumAu607*qoM6N<$f?GY2q5uE@ delta 315 zcmV-B0mS~a1CaxeUw;7{Nkl|Fof8Ih1b0@AjJJy|BJC+|y?_ON1)W>O%fRg$*C1;^P zGuoiW5Zi5#Kx+YpD%)Yo;zw0PNLd6jV*4@E#(*D`+k?(=ldqOvgkl3f@D+e@+CSHA zv4TX*wim7^_B4f1+jg6;glf;+bZ##I_ZHUwF$H4x)rkNA0cJ@=K~zY`?UFHW!Y~wu zEipvhh=kaa6IgN!QwO4_UI2xzMInzh5;Q48moDuMkVUx(L#N&$gYQy1B^ANWOC_dC z{iRI*7yrMXA7g(~UKge*lmbfGlAWAR;nW z076`cg17iZ0s=7+>C8=x5w))s$I}N_fe{`R$8q8S^4iB#6LyG)C(2%E%+6BUe}I90&_IaR^;aXBS`dGsuT&}9F2LAEm6}i$;kv+9n-%fyKEN}cPSD>0g#&n2mCPBtPb*=?yi&@V zC=b@}k7A?$lvRp!0eLLy^Of4G-G|jMo!$Nrr33gEV_!RK5(pf?bZ}k(0000?4h*Wh?P7uiuCWb~&T%bx>socD-NG%B+SXkf&l~sC^4ouu3gYSYJ zHK>lASENoz{8Fa>^ZWm2hy6_jr-0Sv*+4}50h|kjkkKVpzW^e-0>DWirZPeU09gUZ z5+(sMB4Y`_`Blu59={TQz!3#6rheiEQTtkXK6&sJNb#UN&xHplTOSKexFG=^NryN9 zN1I6c6O6=lcf=q?n@AI)g3)tARWLwFRR}{|ObB3>y^fFq=J7jVk@N$@IF4u_i^te` zbZd(tz?k1B{r6x1@n)B_Zqf%>CFTHk;;{o9mzV*JoYxFe`zE`81N1L#UG~E9?GeHq zU~MWY=2LmXX9Lo|kaBYXyneM)s+N5VFt%2;CR9WC7T9RBAwK*A0^{if{q2!^fEU%s z%-DW82}>5#Qnp0BcaA^twLU4E6zK!XoVW9p+NtfQ)3BJ{{t&eX_!nc}J8K9W!+`i? Q00000NkvXXu0mh|g3@NVqyPW_ diff --git a/graphics/pokemon/chewtle/front.png b/graphics/pokemon/chewtle/front.png index 7deb729943987d735abade3ca2b182e91267c3b9..b121a2c7c475599750beebef78098c1f8ba132a2 100644 GIT binary patch delta 399 zcmV;A0dW5R1NH-uB#}W-e*gz`Nliru=LQD>F$;xH_>KSo0a-~zK~zY`?UgZ0!$1_r zTQX$nP+FsNj=EQloZ_ZL_fX&E1BBd-7Q|ekV?jF#PJVy2IK#dwjvV|V+yTIcz3Hpi^6WS$o*kO~7luD;fv5DJN2ex#IF2_#ZKA;SR1wK{{* t1nI$=O7p}D+m~&+x0Txc2LCj^0c{F)vF<+Gt^fc407*qo1w^hwV1jfDw|oEq delta 405 zcmV;G0c!sC1OEe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a!^yK~zY` z?U6B00znXkmuztj1p(2T3-*}JuEtJ-_7|AFA8@(dQWGOfLP?^OCRYB0BeAxCs5Sfo zYx}!`9=#>n?c5aaAiR@cm{PuHf_5N z2=PG07Ep)*Avc>Vlp&;mkV-#2;KV>FbvjLO!pnitV){X72epWBma|3j$dN^>FG^?2 z`EwE?2Guulm1d)P@{R!Xb+t~@F%SbP0l+XkKxO*FN diff --git a/graphics/pokemon/chikorita/anim_front.png b/graphics/pokemon/chikorita/anim_front.png index c12f9f5f0242c1139ec647019cf690dc4ae2ef4e..78a236af054c3dfb5ef9f2cc8d6f2599efbc1e69 100644 GIT binary patch delta 844 zcmV-S1GD_+29XDl7zqRe0000P!Pur(gUd*af>>Ffj?d8I9CO zE4m<6F^DNkWDBW76cN8zC3F1;P*O`-n;~t+c8U5QWNs(=4|M3ghoM!tdsc^b%1M9r z;QPG0dq4cXXBZFmudGzEDmu4m+jf&iO18aYS(e?ZQ2r($0M&3JXR8cgEo%n@Y9)JZ z?FJGe-`w~er^6B8w_BRKouS2f-PzdQ7SM$;`Np#~(Afs~KqgXAI`F=q!x!RoplWGw z?i#Fq4=BcOf%xMCyEoDIaV&%wkh_0WJX63a2|S7+g)c%9xH^kP_%Wb!e1iDrKd))v zD*$hPe8~WopT!{s+yF2GV5$Wm1qr;4M0kFe(DNLHcM~D4M**VrRQgZ$NML2hqd~#b z0k9qTau!$KHawwl5umUF%Ib{*&2+pBfdb`|{dByDT(rvLO`Q?CW5H$`BAI{dfhY?| za9|W|{5UX9f;7Q`0v16i11u)V0R{|{g!ceA;{6G_4u#2FZ5cP%6%Jg(=ND=pIDR7J zXXa1!*DSj|%D9NR`yfXD*DS5_8F|az-LW*oP1~~S4oOt)R#k~kh4hL~QmKC?1q5ORkW~Wk zP17LwASUPEr92;_f>gZqUhOOOF5@Yf53NP2-spz2v(Jqigh4-N|-Q_}?CgR9QQoNgb~`(;*_!5+Gdzqen< W7>hwhwPg_i0000Qm7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0_90WK~!jg?U>t^ zq#z7M3oM9&I{*K-lK^tD>@tCVm|4p_*}Xj5!$qu<*XyaL{*zKzTI+7{l&S|3)ug1t zOBo`_TMHtDYSgjNhvE|SbXJFYYr`X;{z6Tqjo|^V#Hknrnl6K--z!m{B>)pEsgdvClu+5IvVBWXQ zxsHXTVQ(9_IhT>mBMlqR!lIuz=f?@ql(Mvx)^dG(0Kyx8A=#5qE2nq50RD0`7F6{Y z8!)NU(~}1_0G}GPs+|tUUJU!8jR5v`fKM^$9oxbszzqVN1c2jr7jgjr?}f7-gaAiJ zGGslF-m(D@{Nl&)*g;rmf&WqxA>17a;e%*AdncmK`*^d7fOsuA74ppnr$Txrwxo3x zIKTEXrhn>xseiIUbQ)1(YUoXXn3ZB=()3$hj7Vx#a*K!%<*Ec9N(_RxTo?HiBZusm zAm6G=UeW`G;^%u%KmDFwiw{UOHN%(3|E$Ly*mFK>HQ@eL0ysBs|74)+;RVnyk9&CJ z%SJ7L0eRH|7yuY{O86{*n4fzQkOMgXH*#Hd3qYQKzti&x06odEG7uAdPYWOoASHOQ z1;3~9rvxtsoD+OMVC!rFB)}E`J?r3i{Dp1yJtuf6z-(+Bla&W1FA($vXqm0)liIOa%bQ z3n4gvmO@+%5S-AmlKd_VrM>8)G7w@cpI}o{_B0=oVa$b)U5Jinb2NtYC@6gk07z)u zOWFqq!Q~l9{Rim>#<+7yj}>Ew0oD!!uuO0QAO{3OZ0E<(h(FWDmxBn;3Aux&?ICKS g+|r(U>bL7JZjLTvJExN!00000NkvXXu0mh|g3E4c_5c6? diff --git a/graphics/pokemon/chikorita/back.png b/graphics/pokemon/chikorita/back.png index f6adb92739acc80a97215a8195a3d06c4a2f82f9..d7219205b069ff80708e79a4d50b059577a52740 100644 GIT binary patch delta 508 zcmVF&mip=;{Cf0sTotK~zY`?UO-H<1iG4 zk)b<(OI@`8=l{Lu`VsP_&rukLZ`nsf&e>>i_;{c5UdVds0UwV?_(6^KpGUv1?R2`2 zII;eKTueo`KhDp-DgQfq^d#*NXfjDj?dIcTIx& z6(Brm^zd`x07+c>=fVU?DC7?(fW@W*J|k;?;{y~95c<4t0s>l;K7g!8O)6kKqRPK- z0hIZ=!ugm9YW*8n)BqdC%4SSl7A7C^=i9sjE)ej2rX(^bmH+*1fdm0IRsjKVfUE-O zkoC%h0{|M#D4@3%czJykwuK51wDMv1@(MK&?g9S%s{rgVDJzf~czl8#=>nG)fGfy< zJAkN%(0#hsU;>)J!U8=LFd#HJb^u{-+5otf^LYfoj$1%#fB?Uz^9lUwM=gNr^Lit* zJcBKt0fcT3RL`LNrTTe0oxwIf1$zy84C8O^)ms^1N*vWwswSA)*5z6jg{i)sPF#Sh zDAnQ?+ z3K);5^6y&!WxlR(K4yYi{{|K{z=pB1855U<$%p*;Hm`sS1bm+Rp#lW0eAvCbLJfp_fIt5#0DDZz3Zw=epI}G2 zz@-J?3i1wrAnGA>pY9q=KoeM4pl1RGgeJ!hAnc|MfVXl!j{w+l3rGzR;Qw?!fnWWo z1>h!8`bK7X23tM@2;Cm2o{m-!8Sexy9Pam@i+JCTNzD zQ++#~xByivBHp_G93jmhydrfCToGAGX+LNk;@n?MiXBjR15nDKa7w5ulZLO}bKwM_ zW({Bint(m8Ld%1$M6<%G?e7+i3fG;0yg9?>9pFnJ6CwWrAO3L%u4S7n00000NkvXX Hu0mjf7AoR% diff --git a/graphics/pokemon/chikorita/icon.png b/graphics/pokemon/chikorita/icon.png index ed1eac67f8bc157c7011a0834ff533f8a9b8478a..ef430db2961cdaf119164ed2035c2e9e261654d8 100644 GIT binary patch delta 274 zcmV+t0qy?A0^I_T7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUl5Ui2|o0002MNkliY;P)?An6;eHtEQwb(j>b{o z1ayR`QWyzQ8L%@WB=F|19vn+a delta 251 zcmV%Q67#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S#7RU!R7i>Kl+6;t zFbISb`RTz4y#L#ZNv%C((ea>mrhDBl6w+OkB~D8tNO%i?77_?(^w1WH&wx2%h|#9lbQI??L||gm5~hK$_N$%( z_j_1>1pqE}wJU*IF5LsEl0Aq@$y*piP3=>Erg!!qEq8hB|L1;rQNIUB*5L?{#Q$P| zfW6uR1Wd9E5EKwwfXoA8A0YGFc6kQK95`-1+yIf(3zGOF4`BcR002ovPDHLkV1h?t BY(M}2 diff --git a/graphics/pokemon/chimchar/anim_front.png b/graphics/pokemon/chimchar/anim_front.png index 4e6879f524d984710bfa47826da6b24edb373fe8..a8471b873f8c9e7ef5e8277363daeba8ad808e0a 100644 GIT binary patch delta 975 zcmV;=12Fuq2(<{1bbkN`bV*G`2j>O{0Wl`Pkfi$n00WpwL_t(o!|j$aZ`)Q7$Egxz zx1f)dWUYL(f{qd$HOkTgDnEc^fs%$4Ra1zMgMq>b$j2yIWW(geSz2U>4FmR61W-PJ zT)3Tzpe^jIMTZPoy{NO7xX(-nyM0Fi88Z0@fy4XZ?sRvL|9?}IYkMy%ECN2NEdVS# z|D3w{faNWr28 z7DEp|btrYjLwiFhFsN)$Yoj@#BuHcc8^FYd34pZ(2(S}3LD+gQ-jV{-qZm@yjVJLG z0UiRxkB@ee?SE+~O>%r9fW4E$X#5-jUWo*LIXPt0nY0i(e<^^q*N5x{mse`^G6opk z-QlxPUTQ7MfH*}QC>j?)_$T!5V>8viC=;X}I&*rQ0L#I9BS)BvnJ%{T zbTd~LRcqO885ZuMZi@`Xg96P8r4<{DEQUlG^$HkGsKCYrpe6qyhS`UBGy9rb<)Hws zN~6Cel=ne;p=!@kA*_Bs_OEysyguHW30d6x34fMg3s@9ij-dy<=Z~KsLi+gUV-Uj1 zIQK7)RuFL(jn{q$c=Gx<4W^;SIlt_o%pyKyYkvVGua1*+8mc_Jl0(3wP+^Y-0`UGw zwqJx!>1wg`5x=jnyBY9XvOVkmznC7W>HRTuYN7!`t$1d?OT~)mD$m^1ZasvYt zuk;NO+aNBRN_T19XwP#1wF39<>>s?vuf`z0S3N!7%>g26```WWJqk2o!%vbk^ly;c z0HXH@;ET&&hP2G1ePsU_8byn*-{g_hfk+;(vRF2m0OWg=p76-9J?ayNELuM2W=-+D x1_mgMkKXN57@+;TqiO900B+Z6d2JuS{s98$JjfYEy%PWc002ovPDHLkV1jaK$uR%` delta 968 zcmV;(12_D&2(Ac_bbkY+Nkll*O6vs~`$ZkQ8lw_?uSwTmMjvHl30hJ#> zvT%}y6jf7*$H72h1iWLFEV5zp#aUW(s0{=5R0L2yfLyqpil8m*tVM?mS-rS(mbfRj zDD38r0*a!OA3<<}XT-}m!EtdY#G1xB7M!6mjXhZVi=5#q^*^oB}cP}wBz zW^+Ptn5Y0YfJqf50PYfKfZezW(l)~Jwi1{g$B@EaJc*|o;2}W#_;@$jnMTSY$EOn5 zKRx2(ryAgeEPvpK(<3&WDH~yl=Mq?ddBmOxb*DzpV}Q}UT`^N;K*;175T}{|$P^NY zeue%6-Awi8ZGx0)XU>XK0G1W-N=*a+A4FLJ=b9KJy4rE%_l6EYhJ&#z;YU_LJjpMHRtZ(YfTQXj>6As*nhdWPy>c5o3T~J_`}!g6rQ{h z<=F1vPu?g2St2U7nAfpu>I~sV-B@nj^lB~j-LhgB8pJJmCE_a2>s_8~qXup_p@Efv z#W_VrqX)310R$UbOz%X@D#@<^5 zI1Bs*JAYr*3dL4FaBGq3-C87^1;3Rmy>s2m0}2=uS3S|08O2N&^#kiIkVV5?_FJ~A z57DT~3gx2(niWDSRj{)h!?*ob1?(nNU~>+b$v=o;_9NcP{^o9ZD1oce7;H=B{UV*K z+Bc~b)}S8;SE5Va8t>1fEbe~?ORx=$$Cq4j` z{bztDFHh2N8ks_f%Mr?qiy>S84Ip`OlBCnf5Yd$yLct@%9t|Wwe@S+pMPBJ@v#gPL zfY`kZ_$k?$b>D6##dWJ6$|igqiYK!*#d&ocGlWNL#83j0$QxmZ)qjEPqu z2!B?76cH_{{0MdN?eX#P*Sv$F)O|y*hT;V0w_sDK~zY`-ITF!n?MxC zFS0=Df^;UxbE9OBg;3|jRO*Ojo#~Ll83Gx)!mFGag8Cn@*kdHzy;c1$By*)s_UPp@ zd$IctM3^Y?|Zz1kbkO<&KrQ^2B6hz5a>1mecI4se?U!7322n|)I^t_ zepIHQwC#FI0jws#Q^%y#X-Gj$rkF*mD_r&*waK>YI`Wh+gryJ=<$fB;98iWyI^By@ z*1@_>uW1KtIgn*30+7|s%SK?B2KUz>0fdFm_r*gDQ2ZRpfN%36hH>#DQ2-E*i@5^$ zg~0cj3>dxuf0Ejjf5n(EpFhOor>jIZ2bie=>fd3E_=(j4nlRyy1@JhG2+@N&muR8@ zc>Ilny3N?=&?SW#PWnse5j{(@^l&A?2T@-I5N652Rs%#33m_o@z|Gz#Ygyvuz=sgx zL{A}zUwJS}fe)oV0ubpbD#dRA&9=0#1R?-WFU?dEoGkj(fAKV05&(@ak;#aWnl&!QgAYz`Hoi-Pyzig@{!i48G-jH!5lkb_H#k(Eaqi?|pYC_HWgzcMZUs2B6hz5a=`k0W`GegY9bp z1E8lTI&kt)x84Fc@_em-096y9^$-xy)d4gG*j$rEt0P_Zx>^rJcq*a=@JKis0a@Os zp~?Ypnxx(Nkg7U3SLp?`(NzOkmJ)zjU0yB$gEYFnKm{NzoL}cR31a?hr~Wqp;vD62XN05Qfy0uvS? zURJiO<;aht5J#9y%oL;Ki3h6?cwguffU%j9Qt}KiT*nv{K#b^{g_%-9uvGwE-++RM zI5X%mz|w?R2{)jBYXuIcqW6Yu$IA|4CRRrO$=wX-WQL`JCAMNkZz;^f-J}DGF)uw> zVlTuYDscLT15Ay|7EA(`1Z;lf*{=82=Fda2<~y;GK-=e@=bgP+w;p5*Qgx6+)25gp3z+R)P6kYy?@0S#8mn+x>L9hPDErDfatDtpqL=z?6WU1XRDl*K<;s zttlP_V3EXhMkbF{5}SwJR8Dbxs*<1>*76^x0{-t}>@TLK=}GO*j=TT>002ovPDHLk FV1l4XAZq{s diff --git a/graphics/pokemon/chimchar/icon.png b/graphics/pokemon/chimchar/icon.png index 056ec698bfba65bb6896b2f71825de0fa6ca8956..68d27a1965e150bf19dbb81280a0a4adf000220a 100644 GIT binary patch delta 308 zcmV-40n7g70*eEXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0WmQ{Lm@l> z008buL_t(I%iWT}io!4uhVuet-o=*_>645Va~JkpB*mVki}vcFr#%(H1U$vG9jnqL z&S{V0-16~f$V@&VKB~ZQAUUy`B~ZSDp?ymLAY$C4v$#M>F@KonsJ9_w^GfAT1puj< zE0;zfD`x2~HHjy#_{(->QU{=}ztS`Tkiw%8P22L@xVkaUz*Dp021F(pCwGfg{he^ea(akI=qAlI*flb3Pa7(`(Yo# zT>8z_!yX8R5-qg{oqYIVFxQ{?1_I77L1 zdvsQc%m^1C5wS3d7t(x^Y!VgOV)ApkDWanb;M|y_y>miQa6QvV4^zwX(kN<5c`kyTVO1Q5sbaLH<;G*@dV>I zyudgP{T=mSsG3b%7 diff --git a/graphics/pokemon/chimecho/anim_front.png b/graphics/pokemon/chimecho/anim_front.png index 991130d1b9909980ece34a076e0257b9a97f838f..f6d41a3835d031e07acd75c72f77d7b7c8252bb0 100644 GIT binary patch delta 558 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 N002ovPDHLkV1oHzB_jX; delta 635 zcmV->0)+k91>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` z?bNMr+dvcm@SBN~pgmivLn_5*X%5&xd{R1G-BhItoI$pd6nNBjB3;MU40Ny{0~;FX zK*NhlH!!KFJpaq?-P!S-LC`eR2b@#xckkYP=*Uz2({Siue}BZ1op=TS&s!j3j3reY z4zetpgPnkRB4h(SJkw!+i6|+F6MEQxxSdms14~3lm}<{D-K5u5%hh1bqerv!ZaQm$WA@Pmy|hl@`Wh^f zm)AC!nV@?T(di#+iu6toa6toqIsIj%Sf}srXC^2EK7BC2PYHB?iV73~=MNJTr1y6d z6D&FB4d}i}WxT_t6XI68;gSm>sIdqcXKIeiKz=$PguE7vQWL!W(SV@vnF@WN8t`w} z781B(2pA|vD7s%U0Y631kzkNYz~Ky45Q&DAOq z7)PP^p=`4r-}wLl002ovPDHLkV1hiS9+&_C diff --git a/graphics/pokemon/chinchou/icon.png b/graphics/pokemon/chinchou/icon.png index ba57ada02e6dad6bf77cd843d39caae5bf1ebce8..4daad97802a74e20dac2d8d01826c430e1e14ce8 100644 GIT binary patch delta 312 zcmV-80muIA0*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0WucNWXF^M z008nyL_t(I%jJ?g5`r)gK=%f@10Erj6-}&ZOo5Hpk%~f@k;WX(%8DIG0S#+VAlVd- ztz(Kz_Dw#U-3RbnLl6;*(M=S^0Jwtwy%g()Qv~|DbT<&~n60#qkw+J5r zbZJ~Qgnu2AFyZfCK~Rs`9q&guFV^lG4&LQu5!x%t&Jn zXJthOD4^jtD3B~Rwr}1RO!k{3>~21yzZDEXYS_qhF~Je^^s+)Ee) z04Yq9CQ=wiG74jL@B^bTm0k%0T}8ckVY=ZSwFA8`hm8=%+ggkFZ&WJZ-vbiCYV8N; b%Xk7Ps)qFF%nksF00000NkvXXu0mjfdQ^d# diff --git a/graphics/pokemon/chingling/anim_front.png b/graphics/pokemon/chingling/anim_front.png index d564a3fa29889a394d5bb63b28ce2bda7989de06..7bb184c0a7419ecb1059d6c873b2ea210b8394c4 100644 GIT binary patch delta 663 zcmV;I0%-lv1>FUZ7zqRe0000M>QoM?3|At1m@iP!p5Hw;Kx#Cl#D0v zb#a)p3WetW2a@9uUWO4-!b z4Qz^2fPU)B+`UU*mFou3;23@%+=t^*2 zKp-&R)fv}=(D=2@T)zUs=>;_$h zMF@7B^tv6j06V&30zQwM!efpCghDQ<~WrOu-Y zz2xRi8KeX$g;#t^X>5QT$dx|<1<=25fGCO6bOr6tIUzjN@MWZ#+2LFlEn?41U(X>B x2pcf)5`oU_qr^WcA?!0hks$moLHxh<2waiqS=sb0y#N3J07*qoM6LruV1iJkJr@7~ delta 649 zcmV;40(Sk~1<(bM7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0!~RpK~!jg?U>ze zS7 zh^7}Idl1!Wz?(lQLSSW0a`!`kjhPeA0F2O&ulp4{NYUJXde`lu0@aXJb8g*Z`=tmy z31^7?H(*wQ0gd3rJ3tEv@o(;Gg)_Q%1t_0I=)lLgm1Q}*ga-;Jm#O}gp&i_7neuxT zbN;2JrKP2%|3$w&JpgfU(*rQOzfTXq=>6^V00GqL!8QA%+5L5TfM@qIJ($VvHEqvj z_e=Pvf$YwI9=G`kJ0i5cyJDo~so@`e?s23BUi__b|8E0;kpaRj{DR4~0OS^4q0}kcCA&*Yzn>GtPp+E! zBmv8<9@DZ9f0{fxX9tLU*oYGJl%LAVCBc4t7#8+ul}iQw8C8g4gAfm`)!zw<9tHCY z0L<^TZt^V{zv%OwaX9#Cy1V#$YUb}Ij`>Y j3}Qn^I7>@Q|Dyf?VObkRJHnR400000NkvXXu0mjfLS8iu diff --git a/graphics/pokemon/chingling/back.png b/graphics/pokemon/chingling/back.png index a89d846aa0ca57736fee090fd2139dc2b1ae27db..b8aa5f37ef38c9457d35e0d55495ff0e642dde71 100644 GIT binary patch delta 472 zcmV;}0Vn>+1iu83B#}W-e*gz`Nliru=LQD>G9UupQVjqA0isDnK~zY`?bNYSgFp}f zP-re~08P)LScjXjkD`5?Txuk`gw9HmA28$xfc;zVB9Mt}#>U1Ox8mj=ce~3Dmh~UM z8ur+7jw{D@zJrUIEt6i$i+DT$t0QoSz;R-4+OIqr&+HQ+PXPW9 z2m^w|5?4x#VG5Rbe^mAgYiK!2q$@SJX%IF$7c=-FC5M0p;y} zUGAFQpjD%+2USzjdf3ZR)`Kn8$ThnIl<8_XfE}o_3b{s!PGgzX`wxKLxz8o?BjCU1 zy6LmnumJb_u9qbXM0Z3%^_hYA$^!Emt#cz|_7lv`{x1b0+rq0&$O_)QV%rAp3!N-WinCpFaYf@l$^`5BN91+h9_5zc}s;D=Wf0l*PRl>#_( zkYK>#y@E39gah&8v7h)7n7=g^rYQ$Z50F_P?_;inC;)C>rnZGUa}GHJw0^No6c0T3 ztxbNJ#UK3)5V=5F5a&YPXd~Pfg#4>Dz|UGLE2l0HXl{n>p-69k4agZ_ADT3cd5zW! z!38bY8vu*dnioORw{}R_>;*4yX8hnB|l|6D*# zJsj6N7EpCO@0xwTcSbcSN6_{St=w5o$`S0SLvGjupwhgC12}-LY>_#)eGX|ip8(o$ zze`pp!2i!xKX$P@WdR-z!z>#X$l;2bI>83tyTGbLaY5KwV2-7@6p6?V@jL%Pgm?w{ W#JN58DBi6A0000O{0Wv1*z4tf( z008hwL_t(I%iWT(4uUWchWiHh5I%qj3{L1nG4miUWu_*w`xrW72dA1)8W{{E^(>&a z$Kc@Tb-F+8pZl*LWB*V{TfoW?q0KImT!>d^Dx`@dPwXi%#DCTvkp;GhwqfXPQ3x&2 z+rsW33RR`?+qQRt(Dt-^^>7ugO2D@z@Ih#TnHsToCm5?!CEpf-09SrHBM;C3j7>M6 z875#ng%dF79WVM3m@vj%$Q>?(AmxDJAwf6*6B0B6gTDjw1i28YizVHobN~PV07*qo IM6N<$f~&HE*Z=?k delta 271 zcmV+q0r38f1LgvdV1MyRL_t(Ijop$x4uU`sg}K2T!ULE{L4_WQnuE|RHEW{1$Iu$K zu)>6eNMSTt$Hl+hhm|d})x7My%$s~cFoj}liOUXzK0PY<5JnXWNvvSR9O4da&7K3# zmf5rcJ6o1gOLn%j-pQgalkj7Evx3y-Fn{-SlD4+QA4?L0(0_V6wQ^&hx7M}ZimdPi z5?a>~o->hScIGPzKj)fQjnh#z#zQahB2+dgoKuB1eWVDO>cj31OkEb80j7+iS?WfZ zo0h_b184xoB&+WZFJK&nFJRa?+@8SrF~&k}aRGvA3ykmy;sF?+peHbRpTB^40J#vU ViwNYaO8@`>00>D%PDHLkV1fs3eW?Hd diff --git a/graphics/pokemon/cinccino/anim_front.png b/graphics/pokemon/cinccino/anim_front.png index 013385d78d45d89ab34e28c5e8fd6d801f078f54..b13d0c6264d623ea5c7844072bcf454673ec672f 100644 GIT binary patch delta 1205 zcmV;m1WNnt34{ueUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUoH3uqoD z000DMNklNmS(|_>vnd9~TXZO{x6SX}$ zKCI)eI}#?~N0)T`^bq&KAZ&n$0fiw?j`oX+Ty%mW#K75Wh<}ne?*LYKm)(3L;OUXBA;(Pz z$T7R2+;H;>BCNan9>`5OGY~~QqPSWWUF;k0fv`YvqF@a0DYk@~`v*Uu_V!FaNZrN{L}&W*_*dVTQ~NmHJ#+j=Zrcw! zfPY#-^Mi#c7-|X454r#^QD=xmFHrdbXAr{g04dadz`&Y-s0}RMWHpe~aq!x&zJN_9s2t>ahXaYeT`$1$*e@!6z{GcTe zeSYA8CJ?=TpbJE=ALs(Xet;c;kc~j}`hS6g@+c7O2R#CTM}g?|16?5I*atW-3j|%| zqb?9P!hHEiF&AilQ8zlyUS$gMkG&RHOM{Ch3Mn0~4CU~*N2)%btiR*Wyx zS`RA0VBnz*RC=KFp#t28mSWs1J*W+&0-khWs`Owa1nEOq2*JR;o`Lk>(j7_4?|<%) zets~54-LS2u#yr;FmAtAKTpn@`9D*y{aAI&IbvQn!(IdUDyw$$_joAw{#cPcFEGuj zh6_uqf%^t1SPv>7JumBO+r{xYoG3lGt5(?OHLx#_O>t7`LG|k>sQtmxNBExgV6gKw ze`s$f0qMaqSh7Ftv9FG`7XoB9?MOy9ym1lU+@QYRfGTY2j_=BJhS}=xS}EJ T-n4hH00000NkvXXu0mjfR`okj delta 1181 zcmV;O1Y-My3hW7xUw;I5Nkll*O6o6R}0tYWv|3OYQ1hosHqe3v8E!MGQ-T{=Fl<3dcN33%Zd9X~$AJunCxAb+I51Iw!80B$z{9XVsb zKEz?!131O;oc^hJ7qHbKN-^OCP!0D!z#9faRpU@$<@Ep=*T4zam$C;ue91Kkm=f?S z1E(esHbA)ftq*KAalB+8Re;w6E?xiuj~R%5-)xBL+^85X{-O)vi%4M=Uc4Rv{#JmT zq#;Ca27o7P2!H)wiqP|F;Ispb==3y#-z^mvfFVpfZgp?{b0Xv2DqaO%(I^mU#3d_t;rv7^d9{mVm z9OXU03U1P?w*sq9$=Yyz<(eU z#GM(R&*&`ag-Mtst8*+-b}y5b84(jH{VlZ=mNbb;rzHggMUZe@h+ROm&xGA;7;}fKMM8oj#RwmGn}Z zf^W$w#DD87m41$;YtIdU;zDG!6duGrmW5^01vLwj(-m=<6ZMRz=Xs7U5wjM!c2yY$ zmb797P&+v7lG^BUf?3Hx0%3*>SZz}{1Wc(U0g%N&tF2DX+cnSK`BqF2SKQJvsDZKt zoPt&^;hZk?O$g;lV&X${2n_HP24moaF50Da&^cmM|cz=J0&5HNpS`N10#7y%1JTnj|p z-~Jgm2*j`-XaYeT`+>3j$GSia`9Vh@hWx+*O&|vSKo^KXKhOn&{Q!Fck+lLb=m!pF zjXN zpQvtmhM3pQu-5>dWz}xp9uJGXZ&qZ_31(^4a6ySRaN7a}>p=x1&&qnW?V`C4M@kQF zsto(Q2KHss6i1aFRKJe=+8-=^3*WOIjCP*p58ZL(lOC-675l>;hZ^cL>A_Aae>mD> vIb;C-r9(Ua7yLoZYVoXuH diff --git a/graphics/pokemon/cinccino/back.png b/graphics/pokemon/cinccino/back.png index b97531f9f2cabb7758150b4b40139a0799e1f2ce..bfc91fbc6e251795f5b693fcbd3b75c03f495e61 100644 GIT binary patch delta 547 zcmV+;0^I$=1nUHl7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUoId~YtW0005bNkl+ z6w3&|hD{LnZF}`E*>T#n)I(zFd_MO`Tq#NZ_Cu;4bh=w5QbMYfQo38wH_v%qFa&>S zW%!xC&G9KbaHKJ@1qtNuwnmC?Bq1*I1~gDu-~nHn4kw5;(15hCKr@VTMiD7kpfDi_ z>Y#x935S^j-VAW0gPTLb4`dAmG&p4}@<#=j0dB?K0cP?wgC#Hkc;qDjiW#6Dp?+OT z37kS5hTj2W2xMBBmH@6(0w%(T{;Pi>sKG*Dh=6ew0N8p9M%x>J@D_|-JkZ@(X#@x( zx9yj+hyfLEBG?^nA#8u}fO4K>BN_k+*2os(;6q5=0^>NcQ{s10hL~solx4{-5m3XC zMh>FafDO@IX$asat?qLR2%-VMWd{w|l)z>HH%BRRU&IyQVu2yDSOUoqS@?gE16&B; z5#Y{yb`A(%f%_Yw_f5;|WrWCLf@Orr!W)S2)^QdDZbgs_InVW|f+YG_pBcz1{4>-= zS1oSWIy|Es+w+bLLhffk%w)K7)%dm3V;MxRySl7abZ$>haYxt3w=!32l;3QczQ+)l l#plD7bAQQH$^Ur10f4qQBU%p}rSt#*002ovPDHLkV1mYv=Z^pY delta 505 zcmVZ)n0e6BFpmud_MS-rg2#=t34SiM!U<5x4h7d+k z4+6>e%~lcA8C1bj;u45Z1!w&Cf}jaZFQ6kqSp<*x?qz42BOt*dPG>k2q_WVE1pZ8b zw;~A`tsxJoHG?V`BluVhrdS9>1gd|B71&L_mtYh;5$HbshL$Sec48A}u7 zff7OR!wC7ocK{$r5xmm`g=a4Wz|isF_s(qvVT5R)H6I1?gLm*Ynbpg9mE#pb3M?T_kmz@+}e!v@BJJ^M&tfGljTUPJKKU%k3Vr}F zk-*oM@K%YQi?0e`uogM;H(df@P!dydT@rzmMjQlMlW$O56n~<}MdsGPFh6x@m2Ut9 zQ72aLrFj=bPs2MosM7@FUucvDh6)@!mT}f#YU_+`-DF*8^C$Mvt?axuaNFrPukpU= ze^NJL(t05t^8?PL1DO-ph0*QaO_;|;7#J_YgyC5jAS%KrU4VIHVU*k>!8jQmteIO{9&4iOZpI?nr48X~33J z?YpeDSZvC!MZST?SKoyGwAkuUMtWuL5762vyQI3H1 zV4#}iI`C_JJ90c!K^N;#&HbcMCut=J<1Rrr>Z zM5W&?5Sy9{`$t(RwiVv5-TjRIe|l zj{>+~5BiTW5sUi)tLmqI>$_IiAK_xRNxwy3!&W~6{hmetDOd@$(SwKpuG>9yx&smy z5c=|?lTkpT00)tY7yyS9dp~eNA{nsLTNy4R#6KB-0b1sS1&IZa7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005_NkllWHl&bV*MFNg0H9w1 zNJL%)U=$2-3_24+IL?D3#(NV2ou$D6wcmX|f)L?^(0MDsXB5JFA<{iS0XjhmdP{#o zduM@x??P}3cO%e&V4ba40fazkg_kPIx@k8PKKGLXou)uG<5~E4gl5@*CIFqLU~@iA z;Sew)3(Y)w1a61`?i8BQ^gAQHaP%-e@zMZV0CUIXud8-$qFMoSc$HQ{KN|x8VI5zD z4ruOBhYvIbz;-~}Psfl#Ed0mw@d`OyCIQ zBHrRzm@Pt1B41j^`n4uKGHM8{y!TL_=U+#QOnNk(@#r1+8?%4e;dXLR(}V-x~V1?cSG%O7iBIV2i*%U?q6 P00000NkvXXu0mjf;T8nf diff --git a/graphics/pokemon/cinderace/front.png b/graphics/pokemon/cinderace/front.png index d4b086a789cee40916029b4c74cf858f6b0c8ce8..5b0fb17f6cc7789c3e312e70918439ab01a40a7d 100644 GIT binary patch delta 699 zcmV;s0!01R1%d{U7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUoP7zBoJ0007INklTQp<|-b)v2=#oI_`3D)Y#9rGPQvVlm0?qIYiRox}2n0$X{u}z7v~fw^IX8bu zp!?{1_kMhju{)uearsOzDopO#l5)vBKw0KF1!w?LK;u9GJP#$ttULv1P=j(zdr^Zp z0pzQm9r1bNSuDnBauwd;8e)fly%C!q;~D$aSbZOQHWtQ0H)6BPYwdY)K?df0=-kNP%OVE&(RPv^_Z; zlX-1&wqBl0ha|8nd>9EqcA>2ekBTGVmneX*4TY#20(qywJru{@8408Sl0|>H51hCz z5^%NoL0Tl>*^eYp)_kId4sq-HEG!ZzbC}zkGZJ+mnWd=H5uKAJT9Drs^Jy(O=g-C(LL3`))i0$SI%(hHN>o z_-u?G0#r@J8jH!H3&os@nxFmy8uuh(-R|ex64@WPfA301(e~|M*{CPm{cx9XoQ0~M hi9Rl!r%Yeae*o4i%9cLl3G)B|002ovPDHLkV1hC=K5qa3 delta 654 zcmV;90&)F<2G#|T7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006-NklFh5K_47^_F)kZOwb?P5}Jq1d!)ZB&v)Bm@pugo7(sZI6xR6TZr z=RH!44F*h~0Z?^x7*GPH#|m1`&D1_Q4sOECxv74fs6gb2qQ)R=YxNm;SnzEGimV3O zTA$D-MYtS*z=%SuPXJWwTfneTE9QS)ncaD0CxjbIe~LVO`!PFS;v=+44^4=p5kK+dwn7{AiNtYy^Ad1LaHKhLW!zqA2#*_HU+xPIF z0Zzg}Id=gL2kSlKN5Dl3rIf=f1&aM83q=#rAAnNMJs^qU_?Bb6vd;iW$3@Tn_aD$J o{G9ODwHWCUaQBt@ll}GMKPtKy9ENbve*gdg07*qoM6N<$f*YnjAOHXW diff --git a/graphics/pokemon/cinderace/icon.png b/graphics/pokemon/cinderace/icon.png index f5112ef2cdb47d531f5e56dc8f64fa1da99f6b6b..c54da0871c70e9e11a2d4ab0cf29bd5cab15646d 100644 GIT binary patch delta 380 zcmV-?0fYY51Lp&fbbkN`bV*G`2j>O{0Wv!OysLKr00Bx#L_t(I%f*thPQx$|hVure z)JoPUt%P7{m7Ll&Qy7t=CTpcCl`EEHV`O2W6Dln9@ep8%3C9(vQ%zyOXD_fIJbwD^ z^WA-(_sat=*h(jWQhJm@7PXKOpoZK5;*@Wv=8oJiW;`$eMt>p~%@_@cXSsO5G%`;F z`B}w$6Y1ir@)P_n1AP|w^&l}-6r0!eu}OH)9U-!e{2dg=+UjMbcQ>?Kb#lGBqY1?} zYoyJAj|sE74e!@zJ<0{Q62Kc?Sc!{vSy^-5%eRsOy^-)rZ#3uf5F$Wm50*5d5Ad>e zwyCA}*T=13sdeyWR0g(Y+wNUb&7d#14TcNej>#tBAk4fnKz$nZI3*x>nl%h#qEuNv z7i3e=3#x)KvndrPMVO*-4&q5TNw3H*b+5(*HJ#@mjkG0<-mPwb5@ziP^D=jYX&hnx a-H#8}QJmQkaf&AZ0000} delta 363 zcmV-x0hIpd1J(nObbkR%NklAGFE~pi+!7NP9J; z1n8mgfIJuN%$`yEWg$WfU?iuq8lweKF_ll4^z0Sk^djehjel&TJP%_0ZUcQD2IU~O zT{K^m<*7|D*q$Krl)N1@M#hHx1I^Ai$VA({>*lbS@QAI0+Dy z$ehGgy~>^cyjLG{3d}~qJ3UcdszZnXX&9_%#2nyt&D=8HHvgdf4vq@PYEy7EYqy_@ zY6g8NTrgaUdSpyC2?t>oxdr-Y)bosh@TI6YMntLk{52z+f=-xcoZC(5D9*YGTIV2| zbSKFT*`?`}7^5LiH-n@{znM0>_5Dx6G@dYT3s0EJ6XxIj_yX2ZoY@01Pv-yt002ov JPDHLkV1ijfr&j;~ diff --git a/graphics/pokemon/clamperl/anim_front.png b/graphics/pokemon/clamperl/anim_front.png index d857bf65d7740ca96551e2301795f8a8e9b957f2..bf808af5079a563c8bac794c76b2f455275d1512 100644 GIT binary patch delta 777 zcmV+k1NQv52HOUZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUq!xuOz2 z0008MNklF>ljA6vy2v1M9_M2a|+3GU^=4BaH-0s=7#p4594>bp*>mv??A`}{MEJU26_ zcxQFpwjZpjuQ`s5>c*P245(n-K_xIzS^IZ{DlT*oy4^yeO(yH6U8?|KgdE(`0e78_ zDFAOD?ZBZ9sB{}P27p5cpwTK>>bUE>F5m-5v(-ZP)N$9J!M_N=w(Dw#1)$N|z$#!= z4i*U9?d_KopntftxP}X!0<2k!9po|x*MSChuLD~u07|^N251H_8Vyt6r3!S##gL3B zoty@jgD5~j65-eBnIMR-xk*913dk2{N-6ym$rdVL6#8-S^kWJHz6Q8;&VK)xPM=KZ zBx1A7n4$v9ROu68^kmgllgqU=UK-bZNf5)j$#;mk%B%o^Gw zoQp-s`+qlB^L|6ExE&H__lVrbW=->Q8c@WqD+poBLpEs74=@kK(Xin-CM-E&9@;g8 z>{@YI-6+^Lf=8&d{1gMbWE7yj;+$Jq%#$Zi?l3pkVg8?@T=|1mQG{OzI~XoilqNa8 z^as77xI$3=`omDCD8fLl{9!2dA!{Jb^Vz%9AAiQ}nbts9|7YqCV;1WSq@4U>C(<9r z0potwKr9?wute%XU)X`4nL_wOlXD4-+i}AE9%TJN2*g|%M#y-Q^mP6p03rd=$luiZ zLnQrSEWYs35`Q4lA5Mw2Dk>0Uw;C_NklljA6vy2v1M9_MFD40dWYoEoBehhPRCSRG z8A96&>Ihc4B4LEuT`LG;hqqYZ19E0y?-P#p<2d{n5KXbJ>OG-^)?Pe zN{<-}sh9@1t}d}&b!ZgQa4-NY3jNG|Dr`HQ!zi3m8cHzA0$bHqhr)Ov>om&V$VYn! z?Op^5pq%$sOje4)gC6 z<;owliUNKCcF>=zC=NZo^as77cpxah{h_Z@6flr0f9Okn$Qp=qK6#V+!>~Eg8VK)x zPyJ!YW1WGNlOOy<`ol2b!p|CrMS=^SNImF+9bWjEEx;cfAtW$t#)+v z3?t+sNiucm4**aJKqG%$>kpCihatS-qdERSr9Yffd0pTS&?caZ{9!8Vxj*FoaFg>3 XO7+WQBgEVr00000NkvXXu0mjfnI&PZ diff --git a/graphics/pokemon/clamperl/back.png b/graphics/pokemon/clamperl/back.png index e00a350ba41f2d49029eb3fb22be23233c2931f7..db30e2faa0bc3db6b456011b1331b30b6672f277 100644 GIT binary patch delta 397 zcmV;80doF;1oQ)tB#}W-e*gz`Nliru=LQD>GYMID`yc=S0ar;xK~zY`?Uc=pgfI++ zQ8W!Wq=1b>1Hlvki2iF@$9BTcFmv0(O879B_woE}N7HprJ@uD`h(BL-BAUMFj`fW5 zXFU}i@pFGR@EGBaaLD}=0kBSVL!@b?k#&y%J&kW|9Ql+nGZ3Lre{UwDCXf#N!&&IO zjs&P5V=*9(LF0KoR(;k8;&icaxd5OM3dliE76Pmmp%}1*AC4=^tSlNq3`(=%lCc7d z>9}2h5G7-%I)vj8po))XfMuckRb6aAH7GH6AT0*e4zkbv`l-%=0_YG+ zGl1Ub*`7jVAPNw6e*@lF1x6Nq0W6~$@XfOJzyqKi%z$haX^iU;s2%#e1MG|i7{D&d z75OHi?)e001ni*#JObZAUc%NQXq(Ld>0N*pL0y85xvD=@Ahtp6;IG;o?2u@>8Fa4& rj)iDr`mLUGgS+Cy^YefCzv>s@=1Vjjo$&(z0000&SriGKv9l3>uDq^RXI>MNp@cMJNJ*MG%mK9xN1?J%SjpMeO%0Dy&QvK@Fr? zf67>a$#q;#K$kRQS9R$2Lx3qUxdF;Tx2uM<0@XlbZa|(Ks2y~l+m{m*&?zCU2GEXm z4phK~m{tR5W3eUy69Y+sZZqJGRbXH-3g8*dfNxf;2krpt;0EMztH?u|_dxB?mJMKM z6rcycC|BZ}bal@Mz#?D^72py04*Df5YXobvIH0`+SRMc536Z@0pR9KG}di%uK)l507*qoM6N<$f;cIz Ar2qf` diff --git a/graphics/pokemon/clamperl/icon.png b/graphics/pokemon/clamperl/icon.png index def997ad20055c608c596292b1ba5092c0a5bb4a..d6bc62d895e7ecf606d6979e9023dc7064c35929 100644 GIT binary patch delta 304 zcmV-00nh&60*3>TV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W%KA6K;b5 z008PqL_t(I%k9!V4uUWg2k_pY=Wx-%1sr-gmv+H{rEh^lxYsJ;H07e0000#4#F@DMRS9kg9Qc_%8<*kBug1s;-x(V8}GRMJC6RyMub?>|*_@m_oia`@)W%dsUnM;4F5nE`R3GS2u<|>fS8fxfy$0 zPsZ$z2!ub@yXy%pt*COJpJzDBCO&;ZR?yAU;TR84b|s?<4S!qOU!N6{M8%x~CA{r1=;?k>n%)az36we4>s%aHfv{ P0000O{0W%ajahLf300RC=L_t(o!|j$ak$)tAN>_{G zuv#k4)~&xF6C)A|QfIdQm%h6Ma0ob6yV0DKILdu~@14)O_YtxjPj^&S@oTLFFf4@3 zk^tru`s)DetK|XK%qdisVeMZsRQ@DG*%}mJG+3(y(3xRF+8HtSE>$0pc^!B7ceIRg&O3WR;3#7fP0goy~6#3 zwDF@+qWN~)ZYf|CYY)AD{0*(8wI*9*m7Wn=Cs+h{<)@6cAOInBc@!_laxC@Yf7A;F zn2eQ`z>GEo>~VlW-Noj9IIj;nJCt$)J2fc>^ZKB3$bS$+>4ogQ_w@niVK_KIV3*6@ zKc^3}Gw-FJ>U@NH0e)BMLt#97uYhc~qW~!&s1LNz)1(|gp7lfn60iUtD1TM!3>cey$Is_3_K!b63Q%AiJ{qcZa-|2^J{R{zHd5FND=nr@LpnDQ^ z*aVQ_DD5AI4NXjHL+I-I+;Jo5BG9&o_G=UMfH*TRpJ57$@&J)+?v4v^Y0Y+5!;F+Z zsJkexeD;3y4{F`&gWMgDKG3ai^g-@_Tz(4Jqi7MZzz^&N0f=TT58J0XegiPLANeji R37G%@002ovPDHLkV1gn;c3J=c delta 777 zcmV+k1NQuz2ayMmbPEFqNklB8{&tElBx5(N(}J!!$SZEuL2yx^Tp)a@mEr+02my6fU_TW zfAc!e&W?5wsB#Ff#6k}a2g#{dX<-Kd7s69QwEPXz@!whBes!UM7y(PGr*j1W28qpw z`#hG52z%a_K@QMcL%<$3K;XB1U=XI^$JAPztwdZ%AVUE62+V^{`tD?F?Q?I|;Q~`I z>M4M|@I>cV=i7NbnKqG2#JEo70-NQRf02ls&iBEW)XD>a=%#I8uT2SzdYvmuXZw_Z z5C|{^L3vX+-K1Z?yt%y(T;&k}MaFJ7N$8Ff;=8gdnlx{=lFf9iJkws`M>;UsV zB|CVpFQYtw`BK@T2(*J5o&xqnAh!njq?M@#JmB7V(O&L)LYnx}DA9boX*U!we~h*J z9{!rv&>G{TDfn&3YOP=y;1%YHwxj?dbV+^{t60T<7c0FWkI)MRn2Z%Iff-E*9wZEl zLDj|Ke!Qp;Iy;tf0(%uH2aEckbI5)YL+OQ_y?6Bi^DyWiA+XQo>|f9aIhhZVPgOod zy#T+h^dT3|-YX#8Zz(_u2BT;K4iTafRh~#2MVa+@E0PgqdrXif~(Ol#I*xHV^s-U zje4jLlYQtAL{tGa#^FsB^+I$h+o%V`nS1yQQ&5x#h#In-3vgx4Pglc?ls>4dDDHgzdh`!! z&GbQ@j(2xD%kNWtkmnzh!mx+YGGK`x*h>nKdktq5PaysPFt{K2$SIwO00000NkvXX Hu0mjf3esrj diff --git a/graphics/pokemon/clauncher/back.png b/graphics/pokemon/clauncher/back.png index 6edb2554a31c3c0787957923aac19eb6da6babf5..7bf2f1f1177c8647a27b24a50089b6d5597a6073 100644 GIT binary patch delta 503 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 delta 1081 zcmV-91jhTR35f}iUw;G?NkldABe&xNTq@T0>&lv8!~gp<9&#h z3a1gEY4|bE?ac1n?7W)xzZ=}(U*R9!1Qf0Zvb_ABz$g6U>wgjegY&%kt~6I5%S{A~ z((mhCXl>0`q-l&PRO$z9z@P2?4lNZ-1mBK&jK+(fA7lo;h>C-BapK z2+Vq_aUQJDn4XOP5F6^($y=pfggG>N>brAAyEvWw{W~S89!@UyhSLS`_H;Jcz;jTW zlga0_O#;N5MJ@DAhJaE&uz?w?!Tre;L{v@PY+N|#A2cSDDS?Cgms5!Mpl;v;YGAV2 zg)Pu;8h@9jp~cNK0fY(0<)sNi&<{v9v5xCxdpJD1ORLiAVL^hJYPy==~P#NmB=TE3V`@NYc+t+swH}!xh|L%w@Pjd z$bgMNn*uZJ2iL^DaKVWH8yFa?UKV=_{Zg7atA7FzYdt(Y(^&lx8+gr=Ze8Mz8N`#+ zg{D8;y7v3}e`kvr^^CQ4Txp{Nyht9g~Tg zmAq1Q_QVHDvwxVh4WT);6i{!{<+DpUBb(7y}&PznIKf>ZhU> zbVP)`Jc3_Te0jvXB7~M%zRC1Lx7_aZ!<~M((+>e~EA)eNgMP?>alL+UOK`n@sOC$d zEQsj`y%?5)Mt>+ABK?5Nugg|1l#PtKtZk>R{{7>iy9PR>~q7|1A2{Qda z(_a)a#RQPh4?z_&@#%F{KcwwWKP;BGwff;dcWAPzxjfqY00000NkvXXu0mjfR;m*F diff --git a/graphics/pokemon/claydol/back.png b/graphics/pokemon/claydol/back.png index 6a231d36b795470c40ab85a6e887d282660e5625..aea3bc9ec6e1d23260fcca68a4a298034039ff8f 100644 GIT binary patch delta 759 zcmVGdq!>s-OS>0>4Q_K~zY`<&-|>2gnIx!Y8c3+%qE@`5y}7c^I#tH$aXq4kdFROM5ks)x#-f+GjGR6TIX zH$dX~*;$gowmbOJ%KpXgAIEmD_m8%x;t_Bjo;^73`C;^M1@Z_;e+Y^0j|VNgAFwP8 z!#*M8uPKG#Bzyqm3r-L~1mg2Qgg1b3BLef|A4YeCcRVAl=AVam#PQ-fYm0u^6`owk z4u~L3^sE5`DZ2n_K%6eXE7 z1V73z1{k)LYHG$|CKKl39fHb$e6CHqQ7XynFv5YcdA0#u*|P@xNHBeX#f7V{jm)91YSg^UYVC8D5 z;a0|WHxJisP&zQxYX^FawMxuO_dZZ+>3~PamF@l{#MIIwGt;1+AxoXi$D^_mI^tP(FKLKO1KZ2}v`uct^xF&juYD8e2FLJ|x5 zb&0s=75MChy+x?2)Q?+N5cUPO2F2INNZ5b@%ni#K6g3d!jmZ2KfPwKIYG4RzR+c;u pNCyN}mAMd<;Nd^b;@Vi|K~zY` z-PAE_+dvowU=@+Qr>lmJm80FtaZZA%mNt77b5SASrQ}R!V;!DLiT6?mqhC>s2Xnt7 zV~2JL9=hls6#CtFr$|bhWX~-Ly2tmvI-TS_*Rdy_0B6zZqw{_c#g8YDCqP2TgJ4g< z$Q}kPi=wDU2>EYIAvlSD9s&7+69iC!1pFW24`AMi(EJGw;(NkBnvvEB&Z2wbXmORb zMK9_KUoK<^#84)F*?@tRT>u$SrwckIfPgq{66VXvjD$jTMOX{}lisRXn9GUC+9Li^ zgHr43SuRabTf|p({>5tzATJD%(^g9K!DjsV0brxle0445#B8-kYZF-D|AYhp^HOh@ zaso?W8w4{1zsm0h7`ByaYUW`jQ|A05g35q=uFbesD#`0I!hx~*Z3DQnb(65TMBt?W zL|!7;Ds`xn%>fvHb00H)>rHj5YoIU;_Fm1GR~8&wu(_~c<+9XpD-n2XxNd{efvH|Q z;4#*Un3wK;AZqD=Psf$L{8fmlrH5vvLA^qjRztk}t*TfJ;L5-rI~pZye2mFyg<(Q# zo)7f}zrlcDpHW7!LIctrfVUPzgu+9HrPqlAFw$G-kRmvL*oRqoc8n#2-*re0Oy41R zLkQ*e5YcLvVcm7LGnLH4@bRQNLC3eG0qc`KRtVv6(2*4ogLTttRBG0D9pRPcgtGcX zLkm{Xgpcet`7t3GHIt0j0&W{ta@**^Ws!vD<3yQT#eAy5dft52sL0(*!_46DU&!v> zOcG`c59+0TD}i}ULIS(Qi-{10ytKep3F;-1QJ)PYyePuH41^>W^y-Md=NI_fbNdyc zE~$6d51K#=z$3t9js#yiNs64dN0c@>fl2&*b{B`Cp{ g|0HX`b041f7ndW0juz?_s{jB107*qoM6N<$f^c46x&QzG diff --git a/graphics/pokemon/claydol/icon.png b/graphics/pokemon/claydol/icon.png index 40342dad58e57734e7c5f967b5db738bd0ebc8f0..92fe1abafbe69f7cb67c1106125c18ad8cccde40 100644 GIT binary patch delta 316 zcmV-C0mJ_50+R!fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W<_?hY?x; z008z$L_t(I%hl4oYQr!P2XMc^aSC*_k+R!3f;>j@27war(jjlxCD3<~X|e>Q*eM?G z^5IHWGWL_t(Ijn$Gpj>0eyg>!?^7-`EOn?6yn#4+FoNC+tn1-IJ< ziMu%3&>-0)pp+hdf*r>t)iT{Y&$FLLUy}Uuf=eW{`KY~+N(qAboT-$zgR5m3V#Nnn zBLt!lQ|~C4cod&FPa~h_h|-O8TQ+BW#uxjyU^^*`iIjUMK!3UTm2$T&-5pS$4^?(J zuAN|Sr!G}SuiUfN{*?8)-1wx{Q1iE(k{7^;oXDc_(djB?bH#o1hlv%Kp&q^qSP4xk z*czpp5(;-lqwcHfOL3qG2hb4?pd%bW$2iy?2jdm!aR>o<;Sd7y!oh}s^f-(FdE)RP a5_bs`qEn0!xD7u50000t zIJUH>>Y@ZffFhpQ`d(qmmw-^t=j(sim5t*mc##D#!9)+Ufr%rY;6egpw4X4>l=xBp ziM@xIU0_i{n_cGly_(@J&;89KLfp%Ee5L|NcT)fnjU|v|*)54Pb~%Ok8sJ(|kYsZ@ zKhN_iL;*k`_nQN}#`P~N#ytP*Lv#ahQvlfGQ%IHb%rAbdDBS>bl{p8%UvGc)RWF;* zwVe{*hs-a4u$N6~{1MO*WZ8hkeGP#A-K`2#;t(u8mNlBrY6sQfE=!=3R)H{Zl?>wf zmEc4?ahxnlAf*7Di@kD7!015WDDfB_U<5E7+av%d&X)`N(xxSVh>7Fs0ICTvS-z?O zsgghfGYvo`0lGhy8o6t0Z9~bboCM>pp5pi2AC*-TUkL=Ih3(fob6>Tfc)sm zLIkidY5*KF`ECkeR&)O4+VY}GstG9I)+8v_SOasT9!QSdpQ46-?Unv*e32ODnE>os z;Njtm2n?f9vZX0Fa^j1JuSs+Ba2$KzV*l@PutOktci%yrdOHY{3q*f|fd~gVf#-@~ zaKj)5!q?!3_SZ%*4C{m%NCB(`!h zD}urEw5o@j2u8&~L=lQ$V4HMi-u9T$^%cQz-sQP+$vDP`oV5W;!QlR&UNRlK|4tK( zj9fyUAkYPaUQ!(h`hebEIYbhiUSFt90u z5DYwbngye~OEA8>d%>s|3|YkA2?p_p#jMdE;{I&!5C44p0o)UyvZaH_>OlYi002ov JPDHLkV1jYEtO)=B delta 886 zcmV-+1Bv|W2fGK57#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R135`VK~!jg?U>tk zqc99bL9s2!?f*Y_EE!`%baC2;&I4LqZ6P@u*&%@UG+lMoq2_u1RUYPf5HZi70B$!Q zG4tDWLPmtL8Dk6~2JKFJR{@p&mZqIq$>|gd+gsK%P&W zOxQ*cLN|U4oL>T$oL}$vdwy}{b0|>!Fan_Da;I9A4px3S>?7{;8L%u{T+3&|x-6XE zqum&ouq=9<2Uh@?9vpfc2taA$=-l3&0Wkq*pgXA<5NgSP{nva>Jvs9{05aiTOKxPJ zf))@Wj{$JIwYAw8ZlIfl&|elSz|HprN_0<4&bPn?jOIJS8DQQK z1OQAc?1a2I7|-<#7|H`lzDhK}aDI9|o{z`=JeHq-7xT|I`FeG#8-$DB0X}i=^Wjxj zUG;y}FAYLb2)_f27zB@S8*mW%^1Ud8`8~-3f)#{nFbbjEOy7cl;B+z!Mi2N95M&^D zr=9QD|LqZn1VmdqSq5V|tlmWd;TVkCf+isHhL|J5KtDaf`BOgKzUAq1QW1rPB8T;zW4A-ycH2B^(fv zk1z#UJGyx&@AQS9`tGfJe1X(~h0POcw+XU^vRY36i{|5jp_JHT;M;&Yz#C($g zXA&F%;jaBW0Wo4QE&*`~h{G)WnSjv!!KgqG{Xqtd`iILOT=fU_4|*+8V|(!4KL7v# M07*qoM6N<$f_kof*#H0l diff --git a/graphics/pokemon/clefable/back.png b/graphics/pokemon/clefable/back.png index 11b37f35f8428edd1c15b391cab0ee7cec4bf023..48b83f31306aca4396af3fc7e4caa4a1156b25a7 100644 GIT binary patch delta 606 zcmV-k0-^o)1f>O#7zqRe00013M{MnpEbG;CHc?1E}Dw*|*BFwLBdCdG1lM*f1;|@=*8_oxmzO8-{L0 zevVpV10$p;qNXtTj5+RFenn6uePw_DHn?K36c<->Y0*U7ftx=Ud~EQf_+<`W;x^YN zwds#8QH=aa)jow#syQS@Xj&}hc5<>M6U!Kou6H%GD5N8omlw#Y2 z2nL)tLSqQLMG;DLaL3^I)z6VXVu*RcraCGySnRxL+R>BsyXnKt+LLzPcbyq9KzRQzU0_I?T*3Q>5b|fvs3i(%hWM5lK}5Qfr6#6 zg8XD>RtMg}EAVRO1-mVs08DtM!JMhQas)w< s2y}_Clz~nJwmH^67L4`xPt_OW11vj#isZ$DsQ>@~07*qoM6N<$g7^Fx{{R30 delta 560 zcmV-00?+-W1@{Dy7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0rg2lK~z|U?Uu{3 ztRM_U+ZdqAD*yj?PaX(?1a)@rz>Hd8FLr25{QbW8;$OzLZR6AM{6f9&dspxiJ-=kA znwCQwf;zS%PK%Ml4wO=I&f?ergs^3fVL2kNE`3bYnIMy106J+9h`C15A-v>5uzDuQ zuthX^C8)gW)1?1@Z3^fJ-M)=MwNqD>S#Jn+AMA@M(7NYvdP*V{gTP_~Wvtxl$wQx? z^e#d@dAL_S>R%I<`j>YoWKeSc$a&mUo>KaQg!ZY&@I4x1U{i3q8_0yhri zit}dPLSn>08RFW4iaC5DKm>6CO9M@vQgjfIk|5H;0PS#pB$bEyMo1xn4IVt1LcP>I z1#q||B)=AcK20&b%Hurvs|+*15+*t6uLAjsFw1EMs8o4^N2uNn3j?V_Jt9~i$^{Xm zG3KFv5C_nIQ!uTxD53<2!2;Mn!?e;q-w+THuoys~?;ZvQn3B<7i`u%itx}w$g^R%u zs#+JreBywS^WIw6PJigM5>x@ULc{f4(7P&n3lcd;ogGT;-!^O6@Fk#aYb!x$VfqR) y2K=dE3|M7g4IqT#=M2D@Ujc#)zWCyQh(FC^Eennhw3){M0000O{0W=i?H!-LH z0081iL_t(I%hi&<3c@fDhw}sm*ABjevv1VJw{l1zLEQ3#_F0PHkU$j&hXjmip-p;j zPW86?xPKfUV=D^&AmIH4?gT_VHpRKni_oULp8;1!#@NQZMSn?WByH!WB>ZWr;0{{@=(&OgNWkcMMgnM1X`3$vTqjhW_a-0~KtfqzkNHw7 zQrvX$5WDDL?76Fiise&dSCOw>_vEjep8aL4M3@H=hPOl*E~qe`3d6%Nf(QdgglQTg uOk;>JqA!IR{UKNgGx|{qGx`yK_2UD#eA=gb_yei{0000w=>|%$QbLGZ&A`2 z37vs#kt!$nZRl$~k>E8>(!9$lMlp zFrEs-!*B!<295|*RYaJ|5Me~S6lU~eCCuo@Qkc?-jjc& z&$6nhVt=sO;d~Rky+o(;&Uyv_9$i20^tJqp-f-~BB>-wxzc=i>*MQFOgRg*k^X+iZ z9cjSFE_eV9E|0yz%*|;U@uX1#RsiQY zoQbahIW@wyE@Y1spTDb|Y!g(`FLL!Ddiq>xhC{&YXwJroP%5-8hW?r@dE1^pn8 zU8+#-!UcRycmE=H)3i{xKgT!AO%JXVpJsmtr<*x2B~IP`LKJgof1`YS$o?7S`62sf z8OhNo_syu=H>AhI_D7@r7d*!8vohH~yG1UEKmi8(XUjs{v0B4me}_W=rhpk3?e9qO zQ-g7P6`1WWB22}Y@sl;*<8DVO*%_~SdhiqBu=FqPuH60~$8SQ=G9Z6~&D8(^002ov JPDHLkV1g#MRCWLW delta 696 zcmV;p0!RIw2L1(*7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0(?nCK~!jg?U?Cu z>M#t2kwt3RDewQf)#hxZSb;yCd##z4E$6c=31<$s+lUb(MuY+YK9Q${h}RK!3Du(o ztRGBMUq9WyIPU2Nh#SJB?=vC*;43G@v;idEjO%kBz=TOuB256)o-={<*8o~XvPU9W zKSzo%P2|hU17`hyPYhsv7?3>g2HpC_Or6u{kOCYTz3=kLCYS+f1%%~7 zD8(i4mYxrP$6EX@!h|BYYk=G4CdB8d;I8S9u+Tki#E20iMvVCLG2HtC81DVwaqkpz z??(95v2@+LZ{ZanP)4u`YGVj#1@wHY7Qm&+-Fw=l(5<10OLN;EYQ^2Qb!upf*P@b# z|A~7CXnW|mcN-b|5rD1pqt&5h&~xwNE>f+BK0@1nLBPF>vrBtDton$1*XiBrOC^`X zo9>+nX29Nc@1>UN7BFnS4+JW1-QIWai+Anoi>&sHh`V?B$xI2$nXmyw+&g>3y=8_q zg_wKK6JRBDBuI{%Zbou-g#K> e5hMN=i}(RZ7$cCj@AT0C0000G$2%j^@{)i0i8)iK~zY`?UT<+!$1(m zH-hBqHbUYtEz(@=Q0xOF_X;WP18B}hEeYN>MLKWbBM3gFvzzR8^T#|u=|IxJ_uHBI zX10u7;>;u2q+_zP$+DOAh<=-8@%D943pr!1w|tJ1Vi1@BaF)X|e~!0<0OuowZ-c!zM( zk#}8w5MW0Ts!2OH21sn#kEnNPo|e2a&y9%b$4ZxK<*>g{T@$~$o?UAtAV(~XMaG6`ZM=wR#CiroRSH_boA7F2o}PyEF z2Z6c;Kd|Q50w$hJz-a`+{5@JWatR3KupC&090XMu11@nM@dw4YBb;VDb#VXy002ov JPDHLkV1oN>(PjVu delta 446 zcmV;v0YUz{1j7W7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80i2PEAb$z% z18B}hEeYN>MLKWbBM3gFvzzSZuX%vdfu@D;mv8o)*|JNWdqqh+C0j|FzHBG-+cXV# zucMmJ8MB@Ba~S2Lzzl%14Ax<|8wE%Q$en)y>j;P_0KTZh7;q(Zbm$q61I0!H3;M*n zJnyTV=N{@B0?E@69*mCnc@MY_BY%L^1Q3UNghof+Px(PWyF6b_+PX17)Rx_Vnn=L8 z(>{kbz`>{ImRTG=HDD83!@X3oL&~5vMBln%=YAnWw5}+5S@+Z0gYJCK&Vb$ z2Y3@s1uQcZ+2D-K@=j0zNVjb`M`qJ4fa=n5#8IF+g6p;B*a2paG~hG>Vg4SS7?}iw oN?44nLJopDOaYfVhhppx#S^$AoKuzE!2kdN07*qoM6N<$f_$yVm;e9( diff --git a/graphics/pokemon/clefairy/icon.png b/graphics/pokemon/clefairy/icon.png index 9e91a91923729a0b071339d1093b3c9768208fbc..4941cbfe13a92512c87dfb24eb8a9ba9c6427e67 100644 GIT binary patch delta 254 zcmVO{0W>DP=TN=? z006m3L_t(I%jJ^23WG2dg?)mAuJs*UI`*M_sBSl)L%|^j%=I9e>=xpeb7kBvdF7!x)tH$WUg}*nt zvlPG`2Pm}1He8hCJ7~0_!#_*V5Wk{e&N=~WD^n9oMMXYM8~>i49t<`eW~#0a!G$Z1^-7O8@`>07*qoM6N<$ Ef;u{DeEWI`*UdsBSNyL&3od=6@X2 zQs`iy&jjI_IFxp4>D@d$ju4JgKR&$&kBO%gl&}eK4q)a8%oe68BVcEs8O5V7@avp- zw8gc>;N-&J+qM}=z#Rt|)W=#ba`FxuMsfJh9Mo@rF|g-00#3ooRBh6%AiqkSO7qi$ zUYr5ls7hZTJF!YPsQ=wJ1=GC_2A>9#6($X4?IQ|i?IQ^$^s#$^_xo4?STwS1H_z|Z P00000NkvXXu0mjfb0T9C diff --git a/graphics/pokemon/cleffa/anim_front.png b/graphics/pokemon/cleffa/anim_front.png index 9f2ee497fad3d4e942288bdc9707cd84328d6cb5..cb2a33d5b0b706e9bea025339d2224fa60f5423e 100644 GIT binary patch delta 537 zcmV+!0_OeD1mFaa7zqRe0000!qTKo$_aVP{eXL4ZgP&M)vEQE)o51$jF*2C z4S=6j0JyoM>+ur;o8M+js-8bGpYf~3Yev*}f`MU@=edf|7x@D$_yv&66@Sr_WDK-{ zmn2DI6)>6GD72OJsj7$V^iYQv$0TqGyrC-r<)Hc$UEmpf8>`3E)|LxIzPu^oGDE<( zWD`z60cLpp0hftjqXr_@k?)6Q-${SfpNJp<9>Q=^^;Sf-VMFxf6S(Sa5GQ$orv#c` zz-_+*NC`kQj&&y$#7?b+A)H9IFd}wNcSc#Z5yKU^wb}Pkt5&UA|1=(;G9I8T9<-R% zM~99Ftr@dS(D9%(+l4TJn2HCpeCJ5>r{h7AkI}YK5f4xv4-V#D77q^QPR4%&>HgAK z!y+C`m4glq%Vs9`%}jj}O*p`Q4=}Fw_GU4`#d~oQ-fqZ}$>h-?;z2VyrXb4*sCaMy zr1iQ%PYno3@E>vi0pvT}- bxAh6xyNf_q#T5Dg0000T2LZDQ&3?N%z4N~JR*qHBI;xf0=iM#RMc zZmKix-WPRq6R)9}D{H^s7a?wpd62%`@0kqP-7gpezVJh5BMi@X!SLfV0+waz=Mrqe zvoV1b6B##f?`%MS_h*Hl!VTC@`jOD>#n0k5Ldk#+-Y=H(BLM+Xg&ifNTET=Lp9-&j zK1M60`cbzg-c}JMwAQi#q%7--PFC_}Y%NuSq6@b&@I%cLEK`FD?*W1zih#u4pdv8A zAFl+i{$?ghaQB0V?|vVFTnaz|nSl2(WD7tq`n-jIRYw7u+||sj7V-pD%Wuxl zmnXZUmP(~ksZ=VJepNq!|9l<)c{ZWbfOnq4f9G!m1ba{5f6#vrPYk1{@jqZ)4(iL} zzZ-h2fV>1u;s2obN&G+Hdlvr>_)g>hpm*i{vIU%922}#RV-1Nx?_{Y?Q1lM|cy*0t zkPLe3KKrz1u5_$K2EA!NfuX~%Is8|Z*HavBg!6+O{yzf-yLt_YgT0{DZ~nihcg@nf zy%nHYdLIetp6LiMCMcA$2zf>yyD}4c_b`Z{y=v!C-0000< KMNUMnLSTa1)b^+V diff --git a/graphics/pokemon/cleffa/back.png b/graphics/pokemon/cleffa/back.png index 3f86a222fb6d4e7b8c63dce3f482a6a28cbe59e0..0ce2aa23abd4d64798a5549c263df3b39810ae5a 100644 GIT binary patch delta 336 zcmV-W0k8hU1Goc_B#}W-e*gz`Nliru=LQD>G%}|>gu?&;0UJp~K~zY`?bAVugD?~Z z;A{#xfQ8;8odbmV1(z+=(hD^90%N+Y5H-i1s1Xx23bPyVEq$N=dl*B=UV8=WkZtsD zY+c+KW0$o6(`UzxfHTjuUJC%Ul=>4401|2Hy(A9b>ShD#7|Egn&f#5sn$vqC4X?I>r4_Ca6nnzY&gWDerQ z|5EdS#}@ef0cf=XMk3Q^Un&Slio{%tQy3^D=GyS_i}ML6QJH&*5yTTvLE&f~kB2_J i7LjUS4}-n_LHz<<0=8?NCW+wy0000dKP~`$Kxj=E2K{DWD*ZjpcV34}%f>|;jZ$<`_ zz4i)Mlx_5{Y+YO#W0$o6(`UzxfHTjuUJC%Ul=>A601|2Hxg?@bb_USMkWgrg_dq`9 z0bReFPzaIBX#_0?P!y(rZ)yT)lMW!y#S*B0FaRNz0F@))b>DyZppnA_U<7_ZZoz30 z$otqIm+-$wBP=23!n`sGhBjzYjHcoNGyoHofSIq)sAvzXdm?D zu1Tv6K;|G${F9mo+_u2$4?wFGa4>!Lp@M*`di?bW*~00000NkvXXu0mjfZQ+)3 diff --git a/graphics/pokemon/cleffa/icon.png b/graphics/pokemon/cleffa/icon.png index 6c85eb40553e8992b4adade5d36cb374d7af8fac..66f13035288ecc246ae9586b575428c6320a56a4 100644 GIT binary patch delta 191 zcmV;w06_nY0O{0W>&A=xyBq z005IoL_t(I%aLatf5~7v#9%d>XGO4SkX=I5Bwq_7C{kCx zp$?7M0wBAgf%^ffTN?EqG% tG5=Y=EsXYK?1ee}nE1^PpT6qH3l{2%8lSs85C8xG07*qo1w^hwV1k0OO2YsE delta 155 zcmV;M0A&BL0*nHXU<#y;+O6cGGkdZz-V~!W;URDHm z4YEs!n&fj~1V!q~7u2B?k& JPDHLkV1hq^MqvN| diff --git a/graphics/pokemon/clobbopus/back.png b/graphics/pokemon/clobbopus/back.png index af53690bd69bc5a6b177ab94ec3db15f62c0e937..b7b688e143563ffa20878c3d66b773f73ee9ce52 100644 GIT binary patch delta 360 zcmV-u0hj*V1JDDIB#}W-e*gz`Nliru=LQD>H3FFbg)RU90W(QNK~zY`?UcQ4!ypue zK^Z(%3Yp!Z%&7$OkPhi{xt%?fzCn1KI9{<-WrlYNe~!Umq^?npM8k*rtt)0aH0t#^UN zB0iG9cbn^-pq>P|mIN1p%YhtdtCE51M%+yRpS0000IeZF@fi6{V7rJK!1E3m1Eyma0w@M98SoMVb5@Z6rsGfp z=5&k{&=GY&5u&RCO1}d3WuP5~p?H%<^ziq!AJE?K>3V)n5M=)xJ9~hYPHYk zsc;A#z>x_!QycM`1@O)R)ON_gH@h8=pQeGj4kAV5t0PeBI{*?*=@9oe&>MBK0BFdA z`m@C7-%j_O008s^A>_xIzykE^jrZ%I9XNU*+)3{Pi0X8QIEBDXe_a6l0HiCvKwT+> QjsO4v07*qoM6N<$g13^VY5)KL diff --git a/graphics/pokemon/clobbopus/front.png b/graphics/pokemon/clobbopus/front.png index 829de5c20e23ce6d70c455d39b39b61b496ffa60..cdfb1f993e79ecdabfa6355c3da863c25330bdbd 100644 GIT binary patch delta 434 zcmV;j0Zsm*1epYoB#}W-e*gz`Nliru=LQD>H3)brY%l--0eneBK~zY`?Ub=@!Y~kq zgAmGE!qPQYDmr8U+yS*rR+PCCtp~a$C)6oZleI;HL+S&-1F+DiAW=6z6n5GUX`C{3 zD*t+)?)QH_+pB+nR zlTz+G!;dIu<@zV^2Ef=L15ZSi5sX&qcGSjZ#X7O-HjGp-4R{*J4Xa@5T+XFC&`mtU zI_Z1Dfw)ueMuM9g2sLG9wI(w2D05}UU{d57=gw8~3Ta;VD6&}JSz0Nue*Noh#+J=a cf877o0p+5JAU{*}(*OVf delta 441 zcmV;q0Y?6r1fm3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eeYAK~zY` z?UON2!ax+qj}X#T%HrB528Ry7IS^&KG@VV*8*pu3h*KxqRY~BH_yOPpu;8bljaxsI zcSVQVt4vPvU*9k9|NigZv6D{vQ?-@O>dTEbC^`Mwx($Uc>Hr(Mq9AHov;chZTZ?-D z4~_ueGI}(`F+e$dSwI|rn=*7gM6YNQ6B!8G4}8Qx5k1qZJMl!3c{t^k$}PV+!7Tjb+&J!IK`fz}G>6l=~iXfJTa zOAaHwnHS)Bp6@%uk1*rq`T=+Y;CzsRE5phPMl1C?>SEL4oOtybMk<&FTn%KbDof|G zFP(vI;u_9LzY`ARo%%O9IGKS^Tjs1a$y1k7C+`?cid^H&zKUNVF->ux`u36~z-#}e j8YW^EXD9trG4=@*<)Vooh2zP`00000NkvXXu0mjf)XKpD diff --git a/graphics/pokemon/clobbopus/icon.png b/graphics/pokemon/clobbopus/icon.png index 695c42cf74d5bdea0b9f4c851a4d869baf77bd4f..54ea19bf51a73bc75901d96ed694558a2136ea81 100644 GIT binary patch delta 258 zcmV+d0sa2r0`CHlb$H4c$U$prua0MbcBK~y-)?UFkVfJxxw5) zdr8=03llsP#X|N1P+4yyhoGRdrQsG7P#7SgASA|dl`Q+IEKPK}d701d~g5J^T2CYcg)G5{gm1W>*!bPq7fEpV?GlO=%yFwCsxBzxK^u-qz!oR+@om@iRT zbJ}ksX3-p35vJ#D$zv~9bZM&B22B{Wai-snlRvewFg^n#pvc{mjNU)KNf>m50pSP( z$tuisP!p0>m~PVn`&Agjn3o?ROLNPQ1Iu#Tk3~2>0Dg9`v3p{07*qo IM6N<$f_*e<3;+NC delta 244 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 TcX^*D00000NkvXXu0mjfmIWpW delta 648 zcmV;30(br21@HxsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!c|kK~zY` z?UOx|;xG(`!%XN=i0d5`wq_Ei2QNtt9&pY7FZtM7Cpk7axjpU&+-W9!y^p0=vdI2N z67Uy&hKu(=-fZ3z`3>v$z#Z}WmN+0*KNg|zez_t3WP_sn3)hG?01_Q{!32Lq^a|Yg zNBEGBSH$gc0Or)N3(fg|W?by^!^5m^9$5r#SkayH6}ajON!J4(p=Y@RArX~4)0F}A z_4uLdE&><26J1qSR7Mq1-_qmhx8w5K&@ysb-6Uh&B z*J!YIKEYlLh^JRvXy0@(0e*>rw1U()=`RGg6n%XY1N2CN%(-)a)UmvYPIi1dd9xZi zz`7(KUt?h3DChMG;2`>Ayd$};2ZOA4X90R#je*wdHNX;ECi(;F=<>|P4%_o^oPi3I zbIVric-h5jkrSCljt^lO)B6aRj_`V;}HPHS!+rf~`$a&XS@aLq(lx(yae z=PU#331Ibiu+TGqAPX=~(Lvn>3yy(Owqz1z7=z^uPJn3*6~@%D2M0XH)gOR4cj16t zRz_=GCndrda^pO(C9B6oOu;U#eD8U@S|@#QL;!e>orRHT5bl3+>$c4Sfe?cq*y z%UyVJJgBAoH)QdRT)qc}>q;-p_hEqt<$qSbc&a;Z(a%X^g|n&NpQX=SbZ%2-U`l6_ z;|9dSTn#|UGiX!&%rD0$5NbSi<8|1Db@4S!+Q5LSVd3Pq#YAZ1HB2~$l?^VZ0Q3X! iY~wcoy6hi`Ec*paOXLj)*%E310000~_W%F^PDw;TR5;7clCf^XAQVOY2Z(e;DoV09YWo3ErEDGYt)7X3 zm~Dw~Xyyu=$eW*X`_jf>JKb9*b9na|?z=_tj}~ToA=?>=`iF?&AWB?61^GdvJrjS? z*ER#vZFev?2|yQ8wl_mTTxm4U*rA{hakYd~25GOkhRSlNh*J9qI5Pkd=@LRyE1NWQ z4&i|mRW~C1C2U_wnYwBdSU;1>8Upul=9nJM;Iwt=qJ?;@&o6-`qt_q#JsAK+|Hc<< z#x8P!-A|20x0_ij=HPA`f4{_i9PWP-gX!Ic{7ww&B#p#}I8+(HLA+NfFMxLjCdXm1 zWCu-evonhoNn=w7NGvuLPcr>f5;SX)1lor{+%{|c6A#6 delta 345 zcmV-f0jB=z1EK?v7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0U$|4K~zYI?UX?h z!ypI%i+Y2R|Npjt)mQJx+y8#7vTXLiLpRilpo>XY)$3j|5K=xD?*_=;Pw&xa(rA6zF_-jM%wA&_5NEr z(1QV6Jq$tY^l%7br-zpyHhMS-BGkhyh)54-L2UGJ5=5*xhvV@=tcL+W+UQ{rJ3TBw rl<$Iw^)Lxy19U;ar5-`B$vuv8p$F*QAR00000NkvXXu0mjfJ~ffS diff --git a/graphics/pokemon/coalossal/back.png b/graphics/pokemon/coalossal/back.png index 87c4bf0243c9386642334196056c475970a7c891..c22a71cbb2e90fc1121e69d24ccb84544018f09f 100644 GIT binary patch delta 580 zcmV-K0=xaY2CxQ@B#}W-6#xfxNliru=LQD>H6=auFhu|W0+W%GG$%1&!0-@v%+ySs z^BzIE=oxx1C0o+st)0R}1o)BnoO7>zaPYeR)sgK)E1!Dn43P7wLEGwVQNCQ%00{De z>15Hn*@@s6%t}hw=zRkOMOll;iI6@BlUxBBf1V@^ebTYvMKHh$IS9>0Vrqctq7ose zWHfDfyz?S3aR1S@H%7L>c+PU$nT$wO8m$H$2w|~>Up0Io44>UNS2|qk#20T&m35u z@#WAV&6qgK^{DMrOdwgooUNZi*^eU{_je`c=QWVz_?*cWHagP%Cd#X4nY1L7hC1I5 ztIebZES{y6sWKcTCoy1vM?%$6OpD?sf0Hh3s+1Ur2O5UPQNK1(T>CNGI016nWX{qA zMmNAE4Oje=VagDTT(4wujILw`w?)ANFCnfK#G?_F@dr%IR>LLbtWRc^LcXa4Fpo>s z-_G2nNT@pHWUNvFXlQmpc>u$u?*m^K0P({X2yW+@s+xrABP7Kz+oYy<*Vz`}Ml+SJ zrNRJqRFD4YozIB}Dc}6&-7@5^u`e6d|1<&TBq8$5X5<(D0%U;eC|}qAS$_e>e;VzW SDT;ys0000z@Vfrlk>o^wOTBdl$obTuZFP2E zK3~)T2=apIWYN3XiQpH^QcBq9eFFqVS&PVtkUk3VDSFoe=4B<~P$fj_r$~T~PC7Qc zhycj=^noM{ebTYvlVE@qauAx0#MA)O`$~kIlHm~SS;t3EFz`|VfX{mMv}pM_72x?I z;Dn492>fDfyz?=CE54U3!eIy!h6Su7inswdh_Y}n!-W*c^|50kHfc0)5amWn6CZ@I zP9Cy5pTTr~UICobgM6e4!d4Ci2T`(zBvYyHB@x?13t*q+Mj=KhU~~gq(s0Q?8Kw-e$kkFN$LLCCa9b2S z@Dk!mK|C6NQ5k>0#B4QOQqKBhW+~*GN&xeFq59jIyA%mkr<{ycDgX`5E+`LRxbS`8 z>jEHt+ycSvJX2MZP<@1?7-pN)^zJ&_0(_>@l~fqOj_T1rz4JNoAm!^nyjz6aHTGqr x`kyA?oFqh^*^K<+Uw{m79p&r#AM4=YFUEfw?ffwgD_{Ts002ovPDHLkV1kG5AIks$ diff --git a/graphics/pokemon/coalossal/front.png b/graphics/pokemon/coalossal/front.png index 53a0f5783647cad3e294bffd8df9420c8fb587ca..9b68771eebb1c5bef0a952a2c7560e16b23cb411 100644 GIT binary patch delta 1014 zcmVH7nXp9YO#A1H4H@K~zY`g_SXH+eQ?} z#X$nH6_3mz{ral8aIS^erCT-%ZzZtp$+f%_>;F_o?^V@<}6vrUzqZi|xI&AO2LP2%+i0 zIApftxR$x)kwUW!e^dqAJ?}XeTXUdU24nYpm$GkNcn%{48Pp`&N2S7+>0CPOH`l)( z!n6(y-XFD?d-=zYKRfnY%i9NtYbM(O((rx>qU=v*nVv;Jy$l3=YaIsZILcmIp67(FM!usI~Vi|pBG1Cu0td$|k;4HcV0psk~H{O2GI3)qWe+&x%61Y*4tZIt7g zA_9Xq&i)m^c&*UwnH2A1#3GBoas~vzI&c-fC_ugV0O}c=1Cuom7$ybe&p-6lNX~8n z25B@c;%}b+GcEyy#<&b1dR4%`uci`5Qb3yNAgFtQ2^63;OcRt>km>;7s1gr?a3V<< zGR{jNrZ|jOfAKzf$~fw1nj@_!4N9A<6!!!|uESBDj5wmkNX`UQ4^pskmh-{i6pavK zB^j#$_fGB2eohBLg#!SglD%!f($KP+?9}$AdHWsh$ggQ%Cq0L4Vy2fJHy$zHnGR`Y zXdKGS8acD8z>edeOouc?AWA@JJbTDe?elsOL?>*UMH-Kdw=ww)q zB>{b{bwL0>>wS_hJz58x)1!{)S1tkzQ;7g%p`PO`9P!*7Zh=(-*Re0SBiSx6lD$t?-Oh{SMvfCd4 zl++4!=`qQGBx0;pYJ@5&$B`+nZO(aKY`?}ggx0HDsZ)+cRl@9UpKeqxMyi{} zs>x@*)7`FITMQVSKB!9gj_*uv5*RkKH@Z&M1m`|qX_`G|d!Kpr8>D(F>%j1z8s5jh k(4C>-4?FzMkNi#aKV}NX{%X!v3IG5A07*qoM6N<$g6i|yGynhq delta 1022 zcmVi_y2i7%z5RGmCynqG%Qlukh?YPDE9QWK`0!bUN9(vX;yT1gYye(n5 zhi7cZS-OaH8!&t9>^qBGR0^PP@ZkMsdA?^afxHEn%ntld{nvIt8WFTTm^)i+@2zwH z$0|hxZ4c%lb6nT6tu3Dv+HIgNINn*`J>OaY?KYUZXS)dyL87auHA<;Ri6t*n) z!ezgD!QBXoCNO+|WH9gI_aA<8owv5X50ErWb^xU5{~X5oAI!FVn}B8;2zYKEhS?;} zU)#R#MX=V$4wl0H{t^-ye`_-D&qmplk50^Jmnm9T+EP8oQ0Lm>lAkc!c0eh<5@c9h#F%#7f>&xWRrZx zhksEtMo5%otO49Pbv6exDg+e{0fb8TwgD?ct8TJW$1i4`cl1PlP0w}OciAT9dNpzL z0Snw>L_0(4P-WK0nNtUL+~A}b(Gr2E0HN{O!+r&E#<_`LsUlYIni z`#`6oYAp$W7-+3a0{FB3C$p7D`+#%$t7Ce(5>_ClT=)9-t~R2(_=EEaMYGBzh?jpJ z2alT@qvkNtt2khZ)8LEdFy|Qo^llLj6wtJQH-P5a(2(DC2q6 zU^Sri$81suq6FnTC|_0%5*3$}Ks10ag_hM@i=9D#RYC?L88rY@(bXsauT=_@vx*wVzh(-?{`~avfB*mh07*qoM6N<$g2+eY4FCWD diff --git a/graphics/pokemon/coalossal/icon.png b/graphics/pokemon/coalossal/icon.png index 781259a2ca6dd9c6f77fc326eca66beb3c1e047d..09661934af4c014c1bbba760f16ee990ec7dfaaf 100644 GIT binary patch delta 312 zcmV-80muHZ1HA)~bQ=H%bV*G`2j>O{0W~mCDAcY100AILL_t(I%aME@e@U=KN-2)B z%g(w=l}YG$=mY3Y({C<+*aNmbuxr~#b)gA(i-PiWX^=MXAurNqT94ag@8^^93Oc!; zPtTW;(UJM>c&r0}Fz2gq95rgK5izC#I3E&Xkh0{=tcM)Bg!TG!s=2tK$dUsA3-#bk z3-I7%OmPLEPIFFk%Jf|of2{S2s$BZg#sQ^dbE35k6pW%`gzME@N~n%Hz^$>GNb4&w zqXwKBjQ4uGb=QYMc$@y>`rpE!JP1?5>rR*;qB~(|PQDD}E==gW0Q0*r#If{yRadu) zV)HPlLAeQ|+I{?zOO$H52?JPysBOZSp*rVH7;tZ2en9()AD>-=66$}G26R;b0000< KMNUMnLSTa82$Y2Y delta 299 zcmV+`0o4Az1F!>-bO-?^Nkl86 z5$Lr(-fBV<@OBH*)1^Y#z=ym@ooPL;lfIu%g;&tX?0kB@jEIKJZ^vUE0E9VSh5g8p zbM}Zn48ZXa5S^qRGjlma*Tk*u&mqTTiXuG*942bcm^v_Lq)dJVP>kjn<`8Mg3V&K# z#!@)7Ud8|=MKz+e3?%eYLFF)Y>PZVJhk@q_>X002ovPDHLkV1jc)jQaop diff --git a/graphics/pokemon/cobalion/anim_front.png b/graphics/pokemon/cobalion/anim_front.png index 556761a0db39677564c683d50da2120d5e27ff0a..0ffaa5d6efa5e538a8ec6b093f0d12b468e9f1e8 100644 GIT binary patch delta 1479 zcmV;&1vvWq3zQ6yUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUxUxl3`I z000GdNklL7tFPKC(@A{z`M!r(C}1W6%nb$`v_!V0(vF08yaD<#tI z&Uy+h-uL6po3}IbeU_xLp-BEijv2c2*l&!1ejcoEB+P8VZRci2`Q}k zl^9OQnhy|;#w1mX`K%#2C&lM|)*wfC72*-i%6=tEQ_*!bPJ%fhpg#E~PV#z1T;qnS z6mnEN$A_<;e1A@LF%T*l_kXFFLYlegwtN98kZ#eU7?|w`|IqjSfX3A)x?xW-HOF7E(+T3zH1(pr3VUNSYck!y z{E5;cc2edaomriU_&pPV{qM1p>I#oL65N>PYg)rr%YRyy$9t!a1ZI*_Y=o-KL0>KF zXrjvh0o?hr0sxz+V%9Wot`VrJnx?2(%j#MaRs07~Ra@1xjD=%-82~gIIL8YOM)m~b z-Grl0{p%61l*<7?9F1(;zUMP&+6p|kt(N0k-V6rULm;9oP?~C{Cy7r7w}T{osm(89 z5tKe_9)CMN?c+fo07(Bp)1cf+vw1WLd^vb`O+U181MxP`fPmovv_}Ae=e`RFFt*K@jzF8h z32_}`sE`q|1VFki<&v&56g;C0yALVSu(dq^N`DXVRni86UO;8|L?A$2SHxFHp&h_dQ|5J;ZfO20TBGld3vQ(8G!%<5ZJX`zy*I5fZr5!YCYou);IAL z`G0~RxsY+V>9|2c#&_@r0vQaHjQXAfC>h3P2Y>Sz*f0ut#}p8PeGb2cH3&?vlZTF7 z8_MI0X?UNw!y`z_+#T_#e+nfM^R*&MguopZSrKHB6%cS)(c(m?-(dnbX>3t!At0{A zd@KaGn7EIJ2(M;kSyN*oK-LP+z{{hgd| z373BdzuNXQ2sgKvrk_E$*D%c-wGF~l#0voJ)oBp{IqvmEK^M*UAn#y&Rj(~I3xB{H z%BN5@uLQF^0ZdT=br;WoVgSlH^e`|^$AO!F=un##MVSG2FmX+x{J*xuH4|0}0PRHjU1b>7#vViKJt=cYT{F>-rfiRw-y1zhsP;thkeqslu z8-XlTTZI}YubBWB?*nW$cU+lf(@WjC{3BI-);v1(5NEFL)dRg)1B=pfo||@h@80$qS@Ft)t_FaSvo1Uysd0AOTG^71Gg*dNy5nsg#H16-GU3i!_eXW0iBk^ zc#r%+XXGEI*IWSl1FOUR!$1~l{X@$w|C`qG&_9I01#Eiw12Xat(?-3J>3H~qk$;fZ h*T|aJmFeLh{sqtf26~98YqbCX002ovPDHLkV1f#VurL4s delta 1454 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 DQjGi2 diff --git a/graphics/pokemon/cobalion/icon.png b/graphics/pokemon/cobalion/icon.png index 5dcdd6cb0e912e463f735dfa70f59fd09b8786d5..d453e0e6a30512b9f2ef99c9abccbbfd380b66f5 100644 GIT binary patch delta 335 zcmV-V0kHn=0+|Dl7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LUz)w7(Mc0002|Nkl(8CVw`32vg#l!#q41*JlCKzH8%zdN; hgO)xX|EFsD006MD)&joJ48;Hd002ovPDHLkV1iDTnH~TD delta 292 zcmV+<0o(qW1MUKl7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S>`6pHR7i>Klu-}E zAP9tq)(sL1|Nr0au=b_UE_++D`qIYlJP?z6JpOW-eZb8wRKU)sD&dQB!{>yz1=cV* z;Xq2{$4@yCDO~n`Ea7cw#M?D`KMKH~RfNUw(If9`w^tSB$@NeId+XY}46gW#7T6>= zFk@y3+|MbvXj5i?N)$%bJJ8ltA)vr(sZa=}-Q0u2xD32N0f}>tEx@6O_lIGlRMKQA zrQ)#oi)kiM9fEDt7)xlPYc-Q8SkpoI6j^ON%(2G4HLF{A?R_ipPK_=U(feNMx&!16 qkRkXwKw>_O0J+Qu50Kx?hc~eF8O{;ChKK+F002ovPDHK)LSTY_4~WMA diff --git a/graphics/pokemon/cofagrigus/anim_front.png b/graphics/pokemon/cofagrigus/anim_front.png index 5724f0e22429590e09826ee327522534d7acfdbd..ce28c6326d190345f692c66c7110b39ee440dd7d 100644 GIT binary patch delta 1331 zcmV-31zjNb66vw^)fu0(2L#35tB`LkOZz%DPxubO=aF=V^dt;;I9iq=yc(cOJqBEe#nqQOoKm3f z=y3!1B1sl;09^h{m;}I9<|nIBJmvm^g9JbUo(4<=F}lhM9>-EC$k1xKT0)zq$hHwby_$@R9IPeOK=>9n+wCR=Kc3wbabTw>H64Ti!TVJ(<=`sk%Z}8*0Kc9b-dsM#h%iI>DFFseA&iP?PoL}_^c2TRr3eD<50!>q696A~_ll`RGOy7& z;e1OHw`H2vn`Ho|RBj{yHc<6ZErNg_b^%yf8m%;61snpI0;^ke`3gs*fM(g91iD#! z_J16*2}JUF3UZ?RgHA%F3u<$kfbO$et&yx%DnK=JudaHNlLpq=3%OEdBQ|TIYa6p| z_94l1QL<86-E2w2`uhY6t7^-BXEr?fDcN9FfL+$CUNV23?6Ei$cPBvu@X95VHB}UM z@S+Hs=U+9&nH+{g!J&Du%6_h7`+*$Jd4Ho8Er4p~jD~||tujy5XIWJ=431;CP8+~^ zPXD6==>327oTcGjF5q-^6SPs{b-v(T%gTK62bgPr;S3N?l5a89{=ykxkcd}g54u9I zC=>*g{=zXsloC++i}vMH^b!3C?Jpb>qI5Pwn#TBx7C;U|148?Y7BE;vx17)D*nidj zqNQ;lhJ2q<1miDS8tG8uH-!|c{e=rSWVjDYf8he6;vRYFFIoV}Kcn7J`HL2?CJl#O zTKS7Mkcr_wjVgc90?1*cydPEmq6H|2F`rug;<#L-!=Qs#`-{M_7qSo}u$UGf9d)T4 zMmUuIqHv%7(qZ%k`HRSD546MJD1ZHh8_*5|hvYBZfOZ(OA^8h8Ky8*BM&%!zb)S;M zsQiO#4&;`9a29^UKe%3FHugykRHA}s&l6k+>^4iU9~=oX>Q002ovPDHLkV1l7za-;wN delta 1280 zcmV+b1^@bi3(pFWUw;JJNklqJl%WsicST*vCiC0%8+ zPS>cVuR|7|BT!>`*N7UOA(BUTbf>N!J9z8ZPW@y0fCrMG31-MzoNUX)hYw!>4-em7 zuLoZ5^Q{A5)nf*30El58ek+3jfCYH^Kl}xZ00uq}>hUVT1AiKX0T0KkGK5zH*z{|_ zg;-vGOX0Kv{S99?fG?6{83(}CzlbRSY-N739>+88FF7axG~f|nB8c&2R`57hNF}{*n9>+?l)}{cazv)>Z@Jh;D=n(W=lZ>X*gT5F`DZ}-o4&kXqH1lQtjo^_? z#dICNDMP4LMt_9q7b5wc%;n8up2S67k6{4j2az0PyNI7&PA5eU))EpBzLneEZkvK1 z&##L(u&1XslMU89&Gv^B?oXFVq2^J}j#35&64li!YYJ!#Tj? zACZ(72C$RX-%M7I4*>TVAQlq^R2ubPf0Hfv*Y^NlVSfo2f`AXWPXWNwHTH|eLIFLq z%LIJC!=3&&`RgauA73tl>cr^jG6*Mc4*1FLfQERkREa>~?pSH) zH39JD{!TNMNM>umCucj9xGSe=oh$<|t#YdXuz{+Mk_ZHT*#}_F(rCr;D&QEXDO5+t zlps&7#7>Q}KMAN!0M%JiYb29O4d`M{RoencSBu;Ha{n_u(GzScV@$rPsvth1=wlL>Lv3x$w3y! z;`StH0A9IdDyNF#7G4xVV;8Gq2t(Bk$Aa5=0Caz8*?yq9bKb~B3&5NiVt3HYRp#mZ zG&EkF?IUB=%*N&G1Uj1ge*fP#D>a-AfPZ7_CUB#~>wL+(mX-PF4`fdM!Wkf(CO^uQ z{Dm{XAQ7+79(09ZQ78~7{e@$MC`F+17wzU_^fCSj@)r&XQ92(>9LD&I7Jv?e073qu z1q{~F4d-*bcFA9~G!DdwA2N(!{6$M6UTXZhP(sOHxPW6O4`JyqTtHOZNnZMk7Jq>9 zhgdr*f6)RqsNuLzD}T`jGBG-&QROdM06L76_oK>Rv;gfe7BkCVG#fb#ym-l9v;n3Q zK>^EI@zIf&HW4>$mooqW0vAa{K~zY`?bN}F+b|FS z(D)A`pZ2<{O|{n;@&SoNz1OVf;A;-~fIZaoY62Y{7h>xCZD%AWmbZ$b$3g`rV7-iH zMv_;n|Kl%*ps_HWiCoHOu`n--eYJTkgap`E3nB*qTd`O#gKG02f79HM*hwj`*AF2Q zQA7zKzqUNyrA$Q0N|0?BU#comZ&pb3qiu_~YJ2=cWI3W6Sp0l9`-Bh*UEhQtC6z;B zo@q|=U;`+)-qTThTA_y<=)gd=J2ZM=pk z6`l#yNP%iB9JK>Zf6q~h2jr;$EOz*dL^UOmO~3&(*bNL$n+cS6aQ0youkrmj0|U=B zTqgTYs;Xvb+cV&Dut)rz?-0ZpM^iTTEE2r4$7y< zWz-(HCv9Q?ckqfMK)auTvxaE_4*;gkDuFt6(PM^uL4Q0UeFdVAgTLE)0_{ipETS_B z2mijGf#_mMM7{Ix!+}eHT<=r>HVIaFp_hS>as)6WK_-M8x2sNq@Qqpos~cz@0u_LL c1pe*u8~kK->D;}c(EtDd07*qoM6N<$g14&#p#T5? delta 600 zcmV-e0;m171;7Q6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vSm}K~zY` z?bOYR+b|FSVEYXspZ2<{O}*C`@&JiMz1OVf;A;+ffIZaoY62Y{7h>wXZD%CMmbZ$b z$3g`m5Pg{+Y3$_x`r9RFt!$?vlk!=t?92R6Z66CE0S?uQ$N<1pEH>+)+CHc>(Qjh)5Js0LZT`uXibbBT>= zP20jQ%pr;rF9d3&KsDx;jswomL5WA?Ee{NK_=`j}7m?1u0yNlv4GhlP859$^xG*K> z_)oY)`UnB&cvM)t@(1I8FOqatZX2FG2OL3OBe) zy@dddr7Mx!s2#9RN{0X@@QNcqb69|jf;oW$0P|%PKqqxoV}<;H{&+%q3rrJ5&%Uc{ z2JJ`tEP|PYqx-#IfMi;!RD1WkAGip})V}nGFc8N52KNxW0fMnp6R8YshT0MgO(%Ga zE>NihA}b7tr(r;%8%Rdt3Q}n&8cu?UGNk65KX!}Q!ISUv-RZl_FGBq30kavKTzh|o zNSNRjFUZ9N!#3WGYQY$SZV%5-q9U2Q8L_;M7eg74&E^ae`D7Z0yDhTWwnpUh!%o;3 zB>;s0BAaKO6mlji24f14c~sivo|*k3qgNJz4YBPH<3Xa`e_XdQaOPYFonQ-pmHDLJ(Mai zWT0MQ)(mA-R9AJYu(=c2Wz~IPRb&X`mGVj?{@eKp3@mX&fe*ydy6vS}Bgmetfe)jo zP6q*}Oppwo-QD)b4&# z5oD>GEL4MWa8`1?z_BKeLw1lOUeWrjxlVn|R^=@AU*B4l@yrYM8*lKz_9`5}{X!)U p#&|4C9E`78Rluwnv9G_<@C~fWAE;NgNk;$x002ovPDHLkV1hvL+zS8z delta 481 zcmV<70UrLl1gQj&7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0jEhsK~zYI?NrN> z!ypV}3Ql1rw*UWcS2iT!)z02`>7kQIF~V31;ZH7A{f;u{4Ml@GoYHwRm!d0-SDGm? z^I3A93F;dwMFIhMO8V4&@O%=9a3)HXp%kof;jG@J1e&VVFjK#?7`+JEVT8QbH5^OQhWqo}CIL-}wW zTGJl!umin7#HV<;dI{@V3~dO_QXli71;k+g>6Csko&8tuhuQwS;T-J0sSt+Bzc&95 X{h=VnL!civ00000NkvXXu0mjf=fK-` diff --git a/graphics/pokemon/combee/anim_front.png b/graphics/pokemon/combee/anim_front.png index cc85ef4c9b7df4342d007d7d30656e846ffcabf6..8f49eeee99663004c9eb475d29e1ba307da0e4e5 100644 GIT binary patch delta 621 zcmV-z0+Rie1;GW7Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU!6KHA$D z0006cNklJyPQ^6o4(bfR(`x<&KIFx*arofSm~kV2utC7jjE7%-Ya7O&-M- zsfgPxIVDd&acs#VP~$h5M3eW8BtOa07e!-y$Dm%LAB4IM7k`M|h6{KNC(eG@1`ACx zc78j-f9eFoP;;czVaRQ!2qyCi7)jGBs9S<_1qguzTdrq$Ri`T^TY__OA8SBlH^mAz zvt?S=z~mfiOrLX12n&ex2`VIt{T6@~0CB{B2@6Dt0xH0m73zDFLm5+@7I%>arl5h! z09$GE1|S-^gnt@=8sKu1|6MICU}l?mz~kap=Q9J41c4XWt0DF;YKWx;4l8@kagwE; z7~@Gf#u#IKIZpaPdp*!$fK1%RR|TW} zp9Kvh=nuz3()Wi>Fy{M1|Dg8#!8__5e;B^ej{Xq1(OQ3q0~c2752t{~-_EJeJ%3mj z{W|1@=VlKJk?~Gmxc+dV4CK&>5~@FrKM<`brW4b4{DD{tvM#5D$?=Dz<4K8W^!1sh1(gMmUw;B1NklcDY)dFWl@d3IsA%BDhq(p*mA68Y{6+5oZ zgb?yuY5-Y&s&}woZHuM@uGY|D`$AwtIzSdr&>~Tv4gkCcNE7i{Iv~k4&;n*v>-T*H zO`4guyiXi(1qNs>a8Ryq0cL<}=n&`tuJ_fC-Npg-w0QtLZthIKv;fNyc!rbS;`FSy z*g9aivKImm*?*Wr9$ItAORtZ?uLt)GTiold}l0bJqD$48Ln>oqrN8oC0W)F zD}1R2N8KN%Zkna4f4=;|MIwEDj9)Lf&ALBcP4*KvZM;&q-zNb#Z4La60A`r~1vC-B zOgnxCH*Ex_cNnIJKi9YTNb6Z!)Ms6SAE`ojd^`@>tn;}`O) zF9LtqSp6FMGVq6uEXAlVsXtt50~r?4LiLsS12c+Z7qK<*2j(ouxttaz;t%=AlX6@5 z{=h~6S~`;U9pVr9KNHh8NfP)28;O=T%(FkB&XwLg1Am}T+1VfFyqo+5SHMFUQ$sDu P00000NkvXXu0mjf&t(X{ diff --git a/graphics/pokemon/combee/back.png b/graphics/pokemon/combee/back.png index 89dfa4f0ce314a9e0d7b0aa25956481224f52043..2d7eaad618dd52b352c3a70411ba09c546e231a6 100644 GIT binary patch delta 468 zcmV;_0W1Eh1il22bbkN`bV*G`2j>O{0X8Cty!Isk00E&%L_t(Y$L*BAPJ>Vs#xHj0 z+Di<0gF`VUu4?)KHpTb=$^)<*7KgHcq%2Ni!ot)x=}V9%?Z8wQG`SDux%5J9gMSj^ zV)`u{zWY1hIpih~ve%!BcA8v;*3}7Z0#vi}W58?%>d6Xi1b^seweOZBO7q8cehaj^ zb$QtcC{0;H?Ldf-3sM$CLJqoHjj9==#;vZR9%1n`++IO30D_V*eQ+PJcpj=d=KxV0 zbLwMJ5}2`b4)>8b_o&Qx+$<^bg8(~o06Iwu9UMW7>swhsFp0S?Qk)6SDKzl#8K)Hh zF1{vc12FUxzJCHY;+((KfUslktpgC?8n7u!&QQvoxJV9OQP}Gt;Dt5d@Fc-D?gNum z>a*0(Y9Qie8&Av0LWRbH1uzM;kEOkGX0qZMGja&O01O1ED}l2b$oL0fZs}{_;N~;H zssJY4G^>_;6C--opaf3)OKE${DyuM9kZ0EQU=3t5*-e(~)vysuNAsR-U*QC+zYI%v zY~&KftZ?e-hqirpP87>Bbm33EJeLuLk%_BFZQH)x{|5K^e|iUuXc@^?Y`HD~0000< KMNUMnLSTaA4%OQL delta 448 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 delta 535 zcmV+y0_gqr1b_vQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oh4JK~zY` z&C@Y%+b|RcU_r0}uTQ7}j|x%I3W5%XmW(x;15`pO&n2R#&IW9*wvvIz=mC0yv{Tmh z2E9y4N^D@*Ps|t&f&hN{-y=mvZ)MDM08EO2m_Ts|0Jt3&Yk)-vz{e1HXJ2LqvIz%f z4=D|7jfYh_+QbYX9c|)&2np4tYr+JK0yxq@>ov?vpjyznC>~+nP+(G+u{zErltjXv z0RVH%8mfi6Pb)}D&SfG95i>|6$8xDC5wWWpQ7EN8QzAA1QK=mTrntAFB_lR%i%w9W z-n#_0p=xmVJ?32iTwON-kOe@QNdja&_?A=zh0Dhe^ z2%>QyLx5bwt4m-jLV!ARu>-XMyUQYT8zsqu9gDsKN8)Z|1CSP6C=!bSAa5^<>_3ne zs79Ox2>&;i7O4G+n3{lU*avrm?GUF0D(-F{IqTJOxS>z`IiVUY=B9S=MgIP z0fJ$!dB2lbS4$6awmzW3d$52ZlgOIbFC_H=9M`bu%;o2Kj=7A6h#L#0!d7?>pe^XM z=6M>Kh}}k2H&4FBFKf_dis$Cp<)(S2w$JMC)35J+1>xqk{oanw7T*5(@cZYF=O{3u Z=pP1=$Zfk diff --git a/graphics/pokemon/combusken/icon.png b/graphics/pokemon/combusken/icon.png index 231252ccb5d34576092a1d8ab2b27e94616fbf63..e2b69e2b138ce12d76fb6a9353c09095bbb01b52 100644 GIT binary patch delta 330 zcmV-Q0k!_~0+a)g7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LU!Zo6v4^0002@NkluBA_(|`?+;xyNfHl zr7sJjgTVyoJi#HXcdRHy3Ix;b+xc1TJYyajB>K#kO5azmQYloryyOt%))lJe6jgs= zf)PNS2|%I>egW?ad?H>2K%~KPWqns#&$eYU@5a#EY>@(X@4-m89b@I5!-nQS1T1{j zDUN~NmH4VCvq%~{xr6hEOVfgmBM-7|UOGN@le6OD9Fu?RVaVjdPo-;aGwki59`N6b zd6sxhVW=mJX?nt#daZ>qwa85v-{Uq%n2y|p*`Vty-@L9v0rZ`kZd9SuqyPW_07*qoM6N<$f~YQ#i2wiq delta 297 zcmV+^0oMMM1M>oq7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S@kvBMR7i>KltB`M zFbG8xC9uoC|7}Z1#;PH-n|9GDI&OFpQ0Ardn*kuoCWr(8MDr5VfUwxTBEV88$SYB( zN^k;-M)Z1*Wdr3cfbtq3&FdI0fEHDOT>+X2R3e>ExL6qn*ct)uO;Vi*Z0(5W95nq7 z99^~ogK@^>VyD!9fy{GO=3-syM6}-lFxwz{X*<|A2T-Cfgc4JMPN1!nZJm?PxpfX% zZsiyZHAj2hzFMC8yH|?y|FHNAL_00008NkvXXu0mjfsquVZ diff --git a/graphics/pokemon/comfey/back.png b/graphics/pokemon/comfey/back.png index 143a34e72cd400002e4e8696cef1c924c02cfde2..9d201e71894061ddf7281689d8624fe561e27a7a 100644 GIT binary patch delta 696 zcmV;p0!RI(2Au|wB#}W-e*gz`Nliru=LQD>Hv`?y*E#?I0)R?J=ySFv4j_Oe2X1a`a)m{>Vy8k$fPJ)zm}4f8LYbKu+Du?j*`N zRn>M$um;3lmcHJSf0RrWTc7C*)}UJ|XvOxZ$|!5F`yJ(Cd)TT%y36jb^0+lIwry@DTI1FoGPe^CG=?p(HDb4yP+&TSO%V(w?TWkUr360=aEEF|z70E1g)QbLJj z=Jq<2D0Fe*UH~xWb|+8Dnx;PcnS1Uy&W#?-@b)Vpt{`w)^Fq!1Qda2o?2_%!MN+_l8d;mj!G!jA(Z|8wRf6Z15N-g=4zI%pqA+B^( z^3$FtUFin`gbX1Dg8?Wkg#8-%l9o2C{wy#cY>0vQ28uC~ihQ0J^x)W>&_ID}-gzIu zKxE5WnoOn@v$q7qc?bZJOlesiQx6E6cqL@WlBAq1q1j~G>i5WO1=Rd0BtcMu_okhG zZ_4#00QW*xfBQAPH_`VWMldJU$y$CBz~P;30~A8`^$1{ufd4nO4~NW(ymV|!z!xj5 z2>_24A+`s|i`r-GaM%oNONBHnfiHXmFeTvkXtL&k*N+tyteV8Ud)z;Y1Fhv0X7|&X z83!t62whH*e6tR*466tR)`;_MYqpvf5r|CsE33n!d{f>p<*f=<6-| zqeQaM{7hf4I^EJiFSLdgMp>QR?@=nW2F(h{9d>`0$F0G~JYx;cS*59;SnclR2G(stTCjkula43Wz{>}pnEmJlrwPghS-FG+_;>tipDf>RDaxXAI$P}XA z?}LSnuM7IiO#=snP0<(Mz+!}yMJ`87dT?xwX<&h?{&@*tATlLAMaGk|)m;GM zJOqG9B=wAesSku9UI|sIB`IZ!e`q?MG<#h#T>@1(g(3)w^X{bG>rS|_0N`H8a=(`U zCVKK=1ane@tmx|i4)1Im5F=#YhyZ2?$iJy`IAC_U=u0Hi5DgNdnlR@X;}% zV-jL69Dr`FjcMAj9!H%D0(GKe!U9L8+JFSkj@B%E0FxksO0)@}|MeFOp+Enyc=@zV Rj|2b!002ovPDHLkV1j2xKI{Mh diff --git a/graphics/pokemon/comfey/front.png b/graphics/pokemon/comfey/front.png index d2e87096516a2fbf4cbe36ad505b695133ec0478..35d801bba73ef44356627ca1b9e48ed7d755d316 100644 GIT binary patch delta 683 zcmV;c0#yB$29O4jB#}W-e*gz`Nliru=LQD>Hwir(J|qAD0&_`3K~zY`?UgZa8Zi{d z59y*zk#g5`p%aELK+Rgo1YdzFQmY6TDp97y%Ge>OLRm?45i1d~t_xDT+}0rl>kwVY z5P{UH4I^xwB5uk~4+59e28PbDPCA|6&+q;H{QOQ)9)~yr+U9Dze-1*MEA64xgl7+V z&vFMqe;(E&V5y63po1`oOo9X!L2KJ!GK^gi()5UICuDD8$8>+!d&Sm22zHfH8V6v@ zdmRH1My09Nfz!yOjf!L|P_0p9wye>)uciO-#v|0RYug|=1r zGuL36O|vX`;QYe%fm61sx1I2j?*;8ZW=u0 RS=9gl002ovPDHLkV1fbxIcfj^ delta 687 zcmV;g0#N;s29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&ht~K~zY` z?Ub=^8Zj8fjdUneq}(-K=!D@Ppk}Rf3BCeVrB)Gcs6?3(D`SVC3S}kHMXW@`x-LlV za$5%q)}eGELj+Q*HjJ=!inu8|H6%c515)=qopiF_&)@gX=R5EqMFD+dwQs=i#!5fD znh<_iT+0hU<7vc*!lfmDwxIzdFgk7$SOf*P;aJuV4C_Wz^$FP<`Q92c9Fip64g)7BNw$Sn-i|AmbB z-9YPfln(HjKa9cqX|3CqLk9W--~SnzuEQx?DzWYl@_zq%HdX+!{=y#&r$d}QFa1jl zZt@pS{`WM4Z8zIp-xQ!;P2sXAhrpJgI`{;pB(2w$^D=N~z`R6WTtbGuFK!N;_GhkY_?N_5)P-NCF zFOX{`<@0g|k4CpzksYS1gs6{^vaQkRTQ1GShgo>H0MKyoJLlatPC%4I$lcv z+#(BY0A6yZoAx|*h`|!zveRbFS<51d;`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU$^)Oec_ z0005?NklF_OPr55^B}=oP$7^eTp9#qqNPkjaQA^bJz}+TPfovJ! zq0$2_?it$(h~z~h+TIoYvZF3AG?0j)>V`%R08Jlff=D;aKy3Ock<<;cQ{z#uXCl&J z^0YiZu|h->r^5lvGw{sO+;K|BaDN6QVSHylY=#1!vNNE~cJ}k5B=7m5$Nt>19|ZyZ z+9O*quI`=Ow|{d7n2Y{`sxoOfIp|HU&9u+}LwYk)#rxZ9{^=s|6#yg5-|B>bs*K!x zKJd%grywyp`8ZDB*JA=A@(S>69g4%9QRD#5nuWLCwoFO}_m`gWqcZbji^+22=K(B< ztR@LkkpHp%T_E@(5Q)AB1f7~dAR|!~2x2s4MIaI*M}L$AbhM!MDcRp-z7UvBCg|go z4l-ZJhp!Csk#=S7%iooce6^ueYF`42+xAa7&=Qh}S@wf1Pp-~(!P+}p7J3k1tZ#*- z9wZLB?0T$bdl^4-2PEvmstE-1_Od1r1WeSGk(H!B0gqxmf-VIvY5)KL M07*qoM6N<$g2-9~1poj5 delta 537 zcmV+!0_Oda1?>coUw;AkNkl~tsHN|t7Sk7w=w|ICnjQbg!T)P}2zal^$qH&)8Iim@XRe=I+!_ZFPZB3WOM{ZhvTK0nqeu8ZmOiLP$(M zSBSeoF*O->yCxzZWKWCZ6H7!iaWd$`tPq|hnp?^F2=0#p%Y@w859>h$PsI#qiLL$o zNbFq?J@jUl{TMMQk3ERFkm_FQz8yQjocHEjm082lLU(*^=0z!B$Zw{qcz=7n}84s2O9dSKU#R-q!*ctv(9anm0V(z$~^C3${ br2hhsViG-q|ICfb00000NkvXXu0mjf<^}## diff --git a/graphics/pokemon/conkeldurr/anim_front.png b/graphics/pokemon/conkeldurr/anim_front.png index 1e15ffd29622ddf3496bedd0f7f736f0069f90be..baf2ae909ad5db6d300c37707b7727e13da884a4 100644 GIT binary patch delta 1172 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 P00000NkvXXu0mjffcp2d delta 534 zcmV+x0_pwQ1?2^hBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80zQ$6K!0if zWl!EeT{rPN=Mz5eKZyEZ!uehALBv_lbDo5~2aNL%eZW}O8DjvD^b=UddE5a(FLQwe zjvBj&pqnv3zXbvJQpCC(ho(X2S&A0p&IIwI0dqG5d+T?@UAc_Zfk}Ic*pF_mD7bSC zw)h2%CV$JFG9JfmgZt{4CrLtL-hWwyT@1iXKBGgJWf_~h5%{bqHcf)sZPDS2KI!bW zT@>T9Cn>*g40tNhz`p?KK<5xm!j^7RYkjc*4FVxeZ6^F)V1$I-YJF+})-w;mK3iOaFWz>S%!lEn?ITLEHD4|;bbzNgoLzRvcfZF%L ztpjgaH^cx&|=A%7B$JGrIEiJ7DTSc@?Y;pzF?x;z|d9O=~#NzZevc zR{(uaM_dJgWqJin9Y96{9)3%pO&`o$|fVuJOIk5wFUp{uPD#^ Y1%$0Jv0H4q17=ZH+UT}wXP?XubVso#*$&%cbxk-r5!O(0L^$JgyR;c1F%MSv!Y<7WG?+XrEe zYYpO4y~!Ed2RVisMDY;hf${Vmalr}#aoi)Mrn^*xp#gL>RQr-iAVj|6EvR;rtWE~{ z{_3YgHS6aSD}QNU-yTK=AigMIE*5nZP&b{Hkp)x%BGrSmJHCHUX6mY>&t^Iac5EnV zr|_P&jBdfG?}K_g@BtL^zBz#ObI|tP9E^P@2V?)y$-&s4xj88NtjR&P_S+o7i~S~t zi~S~tt9_e8_iEqf;Mq4hxb}4pu6+V32iHESYz|lZCMyTWz6Mj*zU~7(`?e2Hw(8@? cKK!5kKi`TYSM)~x3;+NC07*qoM6N<$g0?%!rT_o{ delta 398 zcmV;90df9^1mgpcUw;8^NklxJ4} z_h_CcGqn=DCNx>|ul`c54~g4!@dX!Z&86_(EV-zUgGiN>;(x^(7((-Cd3@eYBN4}P z3xu+0bxe16+1~SWxiug>RcX%o-pi$LKoE|pK5!AgO1a`^Lc?%CNX4>P`Mw2gGKO{0 z%u_1ghz69|EUBWAIX`@K40nBh-~}6+)6Ko>8K6px$EW+2L2`0?Hr7KoP)KGa^C|1SNnAiSNnAiH~TJ!{>{G2p=ICZfbE+cuzf-y2W+2|E{B_an**|M sz#Q8*eaM!5*GEe>^wF_Tf6x98--;twL)`&300000Ne4wvM6N<$f?;yPivR!s diff --git a/graphics/pokemon/copperajah/back.png b/graphics/pokemon/copperajah/back.png index fbe4cc0eb6df0b75cbf709b8218e0f9d40e625fc..02729b4b6594ec34ee7e2b8e36aee2e49d10ea0a 100644 GIT binary patch delta 520 zcmV+j0{8v<1n&fpB#}W-e*gz`Nliru=LQD>Hzt^qAm@HAfSeEN5GZ8-=wwW;;R>4)uYHjSMR`dfR()D`UVdJq!bf7g>Bs5!%TYY!l5 z=YXAQR0ZD~M7V@GV&>*yrEg3lA)-@!?n3ZRrEjS1i26;eAZQhAVYf~c(J|7oj>@3h zX2t}G0*q)5T?zDc9}|SSKz>pNHSDGUQ4T@{`xT(iKnuWha8&`0+%fw_!tP+mYlbL5 zIyT0Y0M1AjAeA95e}1=mMyOMI5PlV0)*P(>?GyPSLwV8XhzG&v{~nxod>=RAG)e^k zPZ~=w`{x5LsVHl2Me-MoN1w94KA^h+9DW0p<)33gHWH5AAQZ-;=%eiJ~amv4!WV7|^HMiBz0 zy#c_P%xesQpU%GLmk9XN6a6Bj5c-rq=YcobbP|s+!i5yY1sH#Oop$5fr=a#w0_nA1 z|Nb)JmK_BBW$>axBXJi_`uxiZehW)&c?bHG5kCx%Hvfv7TCO+9lm?Wxxv}X00000< KMNUMnLSTXc>F+fF delta 530 zcmV+t0`2|p1p5S#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n|xEK~zY` z?b5$a8$l2T@I|tO(nP=sPL!<0xjqlFQ^qmalrBI*bU5;gbR3Hq(jlRkeE>Ihktz*W zD$?{)n;whe->vSmbY2gc0QT~M08(Gm8w|H zcWW;oYI?v{*UEzLH6m<(${aIu{isyex|R~rH+=3w@J^|&scDJ2b?hK$6>QBrXRoK5Aj<{iZs=EwcMMxyx!fBTujl+LosqE%JMj7){|5$C-X3dvU@5qz} Ul#6n#9smFU07*qoM6N<$f_&uh2LJ#7 diff --git a/graphics/pokemon/copperajah/front.png b/graphics/pokemon/copperajah/front.png index 9bdbdf1758be1a0c8f1e892f04163051647c6b25..41702ef91133be3964d574a1c53af3ce76710637 100644 GIT binary patch delta 889 zcmV-<1BU$P2i*sdB#}W-e*gz`Nliru=LQD>H!OA^>SF)^13*bcK~zY`)z!aG8(9zs z@U`SrC!s7{&WY}>$Pyt}k(P06bd^te!r1&!63G_r#mRUpB#RY;LJ}zu-mb1lc?!)o zmy<3otm{&6{tMU?NOZ|oL=ar~Z^*p;K^Cy-nac8h-goBh+qE_Af9jR4Umtxjqi1x( zxII#2CScs)DvY>(t+8r?VN60{M3;tDG7$h*3t$ct*APl(5iMX)GKT{&aSNa{0%*%k zFeNCU=U`Zmi6%TOGJtzqrhcPdzqm`NzXGT)OREVmgZNO_&xsp6;WA>gXmN~G!qZ_Jjh(6v*%?NM8098w!A_ zp97B=Of`S2{Tl)mrNqyv8_6JVy?Z8$+i0mR0NhW525#~U=t{IqZU8a(rJMvs~=u(ty1Elj{z10NfAIy>HAaKfMvf(o_PoET)n5yg%wPd!qM1UZr@0ftn& z6jcVtlq2p@ksQ!Uz_^iTkbhzeu|zRgb6e}^o&sZP)0nFC_KE06A{z=s$e-gO)j4s! zo(}>ce&_E=e^e+eTT6p7gWwaT%RcSEHCe9of?#(vxT9qm1eXH79(=e6;t>k}{jl4+ z3@q#|_;V&<=e6e`BzyUb%w06rNXjn*C|Rm^LOU z_uLN-gaSE-!Q47Ir{M12lSFOe$utEjE`!-M$4UW}mwOR|IhVs{rG*g~>(a~4u@WzW zN;w2yIeeDiVJDn2+a>Csf}0GMJO)cEc+`pjFRywbIH0!Nnkn7#Tq;-lZ@N~r&wiKe z2+UC%Z=2GwJy&Seez%JesPfBDRXv33v{x)_@#D|IweC9+J=NJA@7O*jTbz7#YJVOb z#lcyT{5WW0$NM5gxq9+e)cSuV!RZnq&T?|?d*|WBojc#7hYBIC;D7NqUI4@V<`|)V P00000NkvXXu0mjfY?hkh delta 897 zcmV-{1AhG72j>TnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um13*bcK~zY` z)zrUF8(9zs@U>*Blh7?(&WSEpWI@PPq-A_Iy2{Z#VQhZr63G_ros;oaNERywg(Ono zc)PkHWfYoil1RaYl`aMGU%;k7qD!{o1i^*>hMTuP90N9ern3A#?>qDScCCGfrRzVA zUQFpJ-7xNq6sbv=Ft~DmBi6@i>n0e+6y!#9saXXR0dPGB<}fjaP%!go0fT}$9Ds>C z0EH1iTdjjBK>%YuAO+Ru0M%7#)dA)Z@9X*{af2sZMXcv7 zj*)7d>Yo?DO^GgsV0RsWV_@#lg%;act=7I5_EuoCfe9F|;ort|YtQTT&KcxFP@=|$6N6MZqS#aAsYi;D zAV(4w;cqRiloGQ>Sfk^>qEm@u*ovJY(`RwxD=ZetVOJ}_psjhRyCh=_h7vLQ!= z{5c*{-4oY8i$Ng7J^r3ViNdnAK~Q86e5S#&`yIHZilt6}5FCsK(^{HAa4q2V;KNlA zkC1!+!$IdduynZOA9jWf8G~hi$@dShNm%@{_=Ume3>1jA4ruGcW$lX5jmuf@Sr}<3S=Ax3!CKh!QIzWL`~w!GzCg7gZT}|8UQLU^E3tvE{D%c3nMVz zrf01)C7uSQVhFx+_&mSEPB>+{P1Nm!n+#Sw1}kfL+K2#eFMA<4rl#DPE8Oy2Dwex1 z+E#SVZky}~EKn2c(y={PXytCZjS(pG%TQK5gzGe1*DP%CO{0XH&?5Z3?z00AONL_t(I%iWT_Zo)7Sfc*x3 zhb(Mfy6|R>RD})<+(6Cabf|cP$Qd)8k-`uU<`lI941jATu@iWLwm11c-H&|w82eS> zJJ0+q=XgMm-2~3|gvR(p_(~OMY;lNPJXf0!1+tK_=1!2)Mt|<%EtW{48b56UXOw6P zG6~$UFl}J@ZtU2j`YvYRR@XA5pkUa-U$G_38GJ)Z9;ZW< zH?Z*N>4@YEW}qjl9h@OCMRCBSPtf)z{!hmtPG6S&s&a$NT#^|c(c!Rw(R`rRE)uqp zC2CV1!!1_G>P>t4P{%9wK8BE6T#YA4~B68 zq=XNjW}eaUoYYF}Gj{*}#5>#Y)jsa)Ldp))YS|#W)GoHqBn^M9{*5r~r!ed;OzUmqveY~%;p!&Y=e+cI{08SI VClhJ@SDXL<002ovPDHLkV1nMon6Cf; diff --git a/graphics/pokemon/corphish/anim_front.png b/graphics/pokemon/corphish/anim_front.png index 7cd114961ede1cf25b12520cd60119c6708240c1..bdecd6bb80bcc10e272be5b5c6075e1933ea7661 100644 GIT binary patch delta 1182 zcmV;P1Y!Hm3GE4xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU%YY{fnv z000C~Nklzi;C<6vssap1O#N{3GWM79$&X?bJBuUF?&WF3~}9(%_cZGItFH zV|em#hyza<4vx^NMY9B1Jhb*9YqJ#nqxz^MjuKhUR@@K*7Jn?ikKTKvDSp42_By`K zp}!C>{GhJZ3&0(4TD2Gt$IQTPpa13A-~BE^_v+f`zP%mC z@hr9EmH5}-#`F~M+m-JE9X6r52?y)`@2e0L@n2mrHK!|>K@{C5{O z*jxw{*6;`-qJE2ppC}2x?pKRB7 z4ixY`A#^yC<9_>)esD82iXqhqqmvsd+V0$7G=Br&x)7$*>a^T;bo^$l11zmXDZw*9 zGco|tlVg(LH%I`Ie`cC0*{0*vbY3`biTqxk0^A0=Vi5I}y7qfQT{+0X5=aMcuWbae}PX0P~00dFpoCW^sR zr^WELc-;vx!=-8>@H;~6J`zj-aO)PYAF%}21Ava`w{}<6JLq80!iYxK{nrQHz{!FT zE%A`TRwfBtF_?V9X}TXwuuH1O3TWN|;eT6{8-Rl`cxKfE=!)Kbg&z?Z*iLvbQ@VRt z3uJU=dQ_}{7W%BgoboTIif9ke9Sq~om24iD;F5XaTp zfsFXYY@}-Zv;y=8uXmidAR|_?S%%6zz*lQtK328~ftgGJ(WCg1V3-Ch)nqKw;(ts| z6W|PiQG^a9aY0X948>SfQg&+*^{gtb$mp56qpi`&MJ#V*)T>RF>UPbZ{4zlgBhfu9 zr)*8UQD3MoPnKiMP|Er!^bg)pbvdTfJpUlk9-J(@gK4gR7+0tB$wvQR(aF5u_VWFM wj_Qy8f#my#lCGhD&^Gu7U3>KpUl;B84{%wFQkFD}mjD0&07*qoM6N<$f{6$)HUIzs delta 1150 zcmV-^1cCeQ3C;<&Ay;Yx6{t z#<~%hc&;&s?Nwyf3>C$V@ld(A!J1ULIX50R6ban8jhjsVsJxXqEF;7HF2Rm-seA|H^#sCv~;H0z6V1Cin1jq-O)#9Ba8i0a=~yI0)dU z5d)0vrD`1MF(4GcdW~+9$l(p7=P01oKgO}B*9A|^*M#7EMJNVPXgc^qP4pVVeFE&d z5CJ!#7JvZ=&=wJ;f<4}gDe+zJL5pXYXK9UK5C_sMS z4#55A&Uaj?fH3(#T}D#Mg6Ot_cMss4NGvf;0$K^@Wq(_A#y&37n@foqpB)Pl1N=h% zhE>jE{8<7`qxe(N9pDArNkswc=ZaRO`6G5R3&5jTgKF#X9aX>(Q*cHp^){SL^Waj> z5ddbfs^O&pa&Uc*%>}?P1+&vB$bs68FyM?C9)tAbkpK$JR7Y0qJL$ zba4N08GkrGo>@++hw9$$<#dS4uoe^gCr!=g>eb5i1h*(GFGgUnG|+H|1Jy*kU#7Oh zQZ4KUPPwFj9pSyVU1J@{;d4UhU@AwwMu)z2Q#JAd)d-{Gdny|4%wRMH;Jy&1)AFR) zaCH1;YyvE;Kq=Dt}q#>=M`-Tav%TOZ>mF^{A?dMK`zQ zNX9^xG&42lYyo!m9)aAOW8c9O>{75VMMj<{_6v;;$lIFy7-d9RwfBt(I3CZWx8)ounVfj3aC8-!E2NofRhn; zX4wR2i|(?*&j|EwCpeiZ-R)FbGQ2cBDt}f$9eq}RM)_w{MYIR#4hGSO(iPgfCD0IF zr9Tf9Fvk?=C6tG`f-mZv6KCbhi46Jmbf{|lvI3Tyo)>4a3o;@ln?)!s0lwPv;+e8d z2ux)H2%p54v<6AQQcXrODbC~~1}+g8hUidY7xc`I07wE`(pqA0nJH7K~zY`?bNYuq%aTw zP$=Bv$cXlYa{C{k!9{e%B4N|7V0wzkTIDNJMyb=J+dquQ7=t;IlxZ^3Y7z4=GlL;X ze&Zn2cR-(i95DGU7{Bgi25daar5UAwa=JPMl?83x&Wx+^9t@fn40Tz zXittI55fbJUvF!BJ5UJ=%uBX{Y6ot@g4b+*&Xd3a6@SO{A801~BQWu0E5)EU0=UgT z@vxO*P&{$o+caO_h!|8HuwBzj5t||*-bhD4#vg#x14VHNY_bvHae2>n*XB_{lj>coY3;VM6TMMw9=|gQ&;3>>*PE$$ p^xu&%?I63Qf|?#@VY(Rn#s`3t@hrJ3Dh>bu002ovPDHLkV1m-k+Xest delta 529 zcmV+s0`C3l1o{M!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n1K4zKlN8B!v zLyZGS#ES(Q2f1G&1wDWbn#N{|G6KyBT;Pv{C;`|$BUQr;+gL2`6Ez}n@wdy01JgyWb3A~W%T*|ak=d$2j)!;(|*2(C-iTBZtZzT0ss%1E&!_d zyn+W0rsnz<+LL3*gYdxQ*W23O4phPd^DA3HwF5U{!S8H-&qu)Aax<6UK^}wF*tqfy z5Gx>C5SX{=FVIZ(M_}U1QHnut1aO;w<>4sBpm^oHw`m?uitBR)6$fnB^iss8NQe*8 z5s>i*z!hPEqBsO>HrWVpxmq27gxlVP^2@vH4x~90>sBiV(kvF$W+yuWdRGST>e2=s z*XBh*lj>coY3+`(6TMMw9{*<&p8KOtt~XQh;=d!y{O)0?pr+SZm@WqYdL+pofRpho T#rQ@I00000NkvXXu0mjf-hTA^ diff --git a/graphics/pokemon/corphish/icon.png b/graphics/pokemon/corphish/icon.png index af63d81cd26120c5d99597baa03c5848e830a5ab..c3abeb8743e9794a0052d45ce2a48a4b0fb24f09 100644 GIT binary patch delta 274 zcmV+t0qy?60_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0XPWFgc5xK z007KML_t(I%jJ?W4#F@DMSBC^p$BLsGIT3<0f~-CtyFK#UFqPhje>+n6RF^&nHfNM z^H=_N;=H2xwQ^YxcHc`7Bo+8!(=#B@Atxz}(p@MDfM`cd9e?AZh{^(Us`ZW-S$ zUr+5|EUFFa-cZ9yj?5(?pYf=%H`4~e=wzPD3MZpepciu>61^K(@MSg8s)7s85nT5> z0m^qIuK3^j24ExyMsi^M3z$v`+JL!A4B3Fu&xC#h#zZ~>Fw1g}h`9hvz2_qU^FcnI Y^eB|VYjOrJ01E&B07*qoM6N<$g1pdh-v9sr delta 234 zcmVT22V1La?L_t(IjpdRt4#F@DMY)0R&;zs*8M>9bfJ8^6R;st=u5|F$ zMyZ5H6RF^&nHfNM^H=_N;=IG**UDu**nKZSkW}D@P0xTpi=3n|N_(X!0HPf*bqoU| z)($k*pPBmAGQM5D8k^o&R2x*Cp_-E%nF>O_;7McerU`=4$zwbfC5}d?Kqux%BziZn z;EQskMFkh0Be?8$0+jDaa^auq8-S4<7|DV0FJM|FXanXZF=PWqKNGqQ7!&yjz|8X+ k5pw~UYR^Xi=7W4Z0rV)8!f}+VS^xk507*qoM6N<$f(Y1Ym;e9( diff --git a/graphics/pokemon/corsola/anim_front.png b/graphics/pokemon/corsola/anim_front.png index b3b460e69246ede670ff4964281e89c5856de4df..ccc79af26460b46a898f79d9c8ba5c97574aee0e 100644 GIT binary patch delta 917 zcmV;G18V%r2j&NmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU(^BziZn-6vriw(A7$$x@!+-XeTAIDHLar{baZ9q)5+!Y^Jtn7h=40 z%wJIY7ZlULp}j*#)5Tn-Y$g3)`cCqXMmoi72|h4{yN}*`_kZqk->+fp$A3P|$|F-2 z{SIFifO>oN2ZM@nz%>B4TOj7e6l#8j4h~v@s{#BpyJ0j!8!n19S^!p-rGaq}6#$!- z0aJh>;zUy;fS-M*08I%Vjz`(FgBaT zP6&X3TUS7%2!EJ0f9Axh7ZBitxyG!}NLsW5T8EL^1uCIfNOa9Rztx3AuWQKzwT(x%6}X}_#Ao^L4f$KyD;`ycaAfzmWFgtiT7dL=clp@gq5H*Fk8C`%7 zLf&gqcrIIt8~nT!iCi%4rEdNaVkXsa^{-A--Zj&8ujE-`(q-P+Qr?w5Tjrd4GEi*pH_)tR3qNcKu60Wf#!ik)z(;VLEL8QNZ@CPNmGBtQE&fcUsp+VvRn; zsj)}_O&I3%Q^BKHcl(rRt-5g=b=u#R|W#Ym>*Ykz{-MjhHzX6aO4t@Sqw9X zgMtS!!FNqerH0i5jRzrR_8SPJ6Iv%_)tDISlYj4!rbfy@pl%D99$9v(yhkOiUTb%# zQ?-+Sq&w2oV1m6BW={jWXw|j>49$c5k@I)!5_FfBz2dyR&Y|{@cR?iXwfD*-Dbp7g zT##wmKGoRG3JuW8yC8dP!;hKW1%FkhPfEdI#=%AAa z41Y#_oKX=-0!}q3AaZk!RHKXJm3k7r6UWLou delta 888 zcmV-;1Bd+P2g(PKUw;EtNkll&H6vur!MO|@Xm#($Q&`wSas#KA|@C+@T z9Q=rs4HcMEDTt+GKS9+`P@zUTv3KYgbwSRQtxCU3-<=Hv-vMhQ@gyYV`|;kpcZdIf z%i70(9;~$Gkxie&ml{xQ=3h9JtOL&gfWHC~PcI>#=VYs}?(Oq4#J5 z*jbetCQ(-d99jlc07t|tLyrJq_B#m}S_p77%pSXldIgFgf6gMrvI(H(M!xC>ajch6 zwITK`M!jB`YLu@CfWBXqKurf&C7ig4oCQR9#eHj1%un02oru<9C^z{GildN&$U*^3 z1NahX#j$0LM}OtbDf$Gsy+ON>AzA_vmOo(+n(F|AWJ%Cr;GkI;R`rVqUzTkm#>Ey+ zPd%@?0%Er~?ZdC0_ifQc+idyYV3Gl6;kbpttg#%gyF@4=KoD~~D{2V%z zL4f#Sx-iailMOM`{}nk9!B9*)VrIB6ES5k5C=d_EU9_<1g7=`A;2>iS4!5@32YtpUyLz{(+*gO!|cE8v87 ztCXYW0)JB0)K07BOuW{EL>UVO7}9XJrv#63k&8LkT?~nLtlkbZkb`qCHWbMvn?sy< z$A(UMZY+3f0LNN_BcFiGVz4NQG!Mcc^cgCt;nm3CK}eay8p7~|)=60nCWht|x}>RH zX&}(Fg-nlZM=9@-4m=X~2xF6~ojj86uAv783xC}sVGazyi$-OYK+|1{kDm8#(Sqsn z@>ibMT-1@gCgAQ;&a}m@}wfNTe(P O00001dIfbB#}W-e*gz`Nliru=LQD>I2751PBH)h0dGk}K~zY`?Uliff-n$< zYdG|(iTeU(AHbv%&SnQV8~E23(7SGE`uf{~&}obC0?r9KU;F>lPCq}I$I@J-kAsi>#<>Zk!fy8 z$U1l(Ou$=`CQpC@UO{$*1aKxspy=~4p#2JYpXX=g!UARy$o-nd93buJb$rfKK)G4% zIFuDJko8kMfO!Bvf1`==4N$*cPi5-Cods@>=}sh7^h8^~F2U%*M8q#W7|;kq$LKt7 z^-&sAR0CkBY$5<;{tn-Iu-s61!EM*!`XoBkc*Q9^QCsTei>SgBI^BzwrK2vLHYJ~gkG)$U`U=e`Fkn^zs#)A78%LDJwPhZopAA*FcKMa*$%v~!~(f9X?{%!hz-74m1E@0AS$=v5$hHH#%c zn$>Q4&SN06U$xUxT7-b#2-A*uB8@bzO&lKJMa4v}1{sCJ#Cw ze(1)4Mrh(yZ1dOpD77xC5ztgN0RYmE!FT698swl5Av0lMD_(Cp7c!1vUuwcQRv3CW6ztDmL0~QsKHLGK?gg1#l c9YXv9TQ$&s#6Y7B(f|Me07*qoM6N<$f+tPF&Hw-a diff --git a/graphics/pokemon/corsola/galarian/back.png b/graphics/pokemon/corsola/galarian/back.png index 790ff60b431b865c37d9c7f4a3a0e8daf2a5e4e5..a46741616ef030423bc524a35548f1660148c0e9 100644 GIT binary patch delta 466 zcmV;@0WJQ>1i1u|B#}W-e*gz`Nliru=LQD>I2t}ZV>JK(0h~!hK~zY`?UhSzgD?<= zjeG$tu)404>`4G+op?~!;cS*V!FCBsjrVB)NRTu3 zCIIa-9-3zYm<%!xi3P?LX%nb1ShElT%mKp+m$twR5Fne03BB2Hj8M5Lz;@%I^8gZI zdv-LiARJQy7vQnYfAX=h6lhnV7#>@E2FQjsq$9Ei`ia?B4!~`faO!L9bGOZo=m*md zLkD<1CAR0`rRhWpSx~1=Rlv-!@7j4(Lda50E<7vZrfI^uu0KF!)hq5*SRnp2``>jN zkmSS++v(p|(`cPzQkh*JOBUy07*qo IM6N<$fZvreo? zvdYZ?c9@bb1C|Kv+0np)a0&@rfX5hhyQ{4+SFVPlS!190pT zo`xF7+-0O450DZn=oo6cbwFTt zD#(sN3jf8JN^}NG@CZBt6B8q%Qs{83OuPf8Tb-+lM_5;cVU*ROw< z^Nnt?+K&P6^POQJ9a~uVOFhlNnaoh40brDQHPwt_%@D|@j4{t`6=`$>Lc%%%d<3us zVhYK8uAD789f*QF17o3a5tQ?wAWa6uuKRwAd;t)9Rb{jsJPr+v#FEcvR6mvhz#T1e z9)&qz%Gg-1*=`4(Rtw$IR@vB$oOyqMLA#qrq@Gh6V+(;gKs)Z{fTQK83*`WVI93v6 zQ5kT>R!3RHaaRF;S+73L#*kNg``mK;s2uVg_BsVHm`hwdaG(K`N)pbwTLP-D{ZGIF zZ%n#*NCQmhk*&S>@8^pUCM^X;uwGM2mH9iZmA*DRh0ZVK(Zz0=X6U#EM3k?WY zBuE*GCaO0*4IsGKN7dPA;U%r;0M?}fmJmn@Nlh<(?;4SZ=1n^7KL`h>Y0q%NaaB}n n(4m?<(&v(j6n5h`+%dw zAFIF9!jcz$126*i)@jLX0Ny1@sQ`NM3*e>|nU8?z^5=Y4!0o9K12`_j8a&>2qyk`bveR#+3S>sq z@LuBvAYobMJG>*I)pSj+ALb*%=>c52^hfmtZWI{iFaa1d00000NkvXXu0mjfTrlN# diff --git a/graphics/pokemon/corsola/galarian/icon.png b/graphics/pokemon/corsola/galarian/icon.png index 96ef4da0463cc943443c60a8f8d42e671a89b8ea..f1b8f232a9bb20f8bb971f7d7505c444a6f28f2a 100644 GIT binary patch delta 250 zcmVI3bTViV*++0Ln>3K~y-)?UK6=!ypVr^9M-j zo~U>S!5u4wkL{m@twY6QubWm10p<)H>hb8>VCxLSFPG>+<}N@ov_R^vF>VPFQm7-G zoUMTJusDE79x#9_01~)B9z(JP$Y9nb@&RPV@|{T7%8YxDcyl0s$h?0odb(R8d5lOm zjD%_-;Vq<86`1m}>T9(!i{}*Dqr|ztVi^8)rcy~VbI7eh+I0pkw1mbW4|26Z3XZuk zXp5}n_1D)RsM?@S7^_=@&>G}hVaWEv@TtPQ0cBBWZ>Hr07*qoM6N<$g4y13 AMF0Q* delta 234 zcmVE5V#4}v>Z3Lo1)3tNYZ$6l9I zN_fl}I@IIQwZYaIhF>nxgT!5cq;G*#U1P`z;iIo39IdIq>|juUhz`(zJpd$dfhJ>ufM+rVXh6z!Wh*W kgw`O}3PYwBhEEmd17%TYZ?$k$umAu607*qoM6N<$g5%?8xc~qF diff --git a/graphics/pokemon/corsola/icon.png b/graphics/pokemon/corsola/icon.png index e5ebe6c08d6adf125e0e9ee9cbca9637b13c16a7..e70ba179401f3a189544d1965cf3198d22a0605c 100644 GIT binary patch delta 278 zcmV+x0qOqQ0^kCW7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LU)IW>qgF0002PNklr9 zLId3;(y?0Grr9cjnC0UoOomq!KXq6RB4t8!ehrk#E(Z95`EJn|mqccl0O26Go&kR& z2WW6JgRKA>ke`*PxPVb4XQjeJahQ}2PawhzuonA)C^?N5nnUC`*UJ;(h(=U(I;qCB zz9it(>(Z9Vmx;C3ua|PO`4)Zgx92kj5z(rkAsCqyGzOCvGzP;>77TqO7`sXP=yl#l c`$ivkIY_mMB<@9Y00000NkvXXu0jG}g3^y|SpWb4 delta 271 zcmV+q0r39d0@?zQ7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S*hxe|R7i>KR6z>E zFbr!5^k4_;|G%A_l(uV}48{%{s}Ai!ilsQ9Wx4Tb;1#c!N&q#PDWIYUA1NW)6m&u! zC+0)nR4r0UkbrwyeLVL-!D!dCw?YJqqM#(0TH^5(PN=VBDE=G2J7W9i zF*p7J-_kG*!-i=EGH94nfeaevTp-o0Pk9uGEAsPx@B$f<+n7231|CZz V6_bnuHY5N5002ovPDHLkV1l{~aQ^@R diff --git a/graphics/pokemon/corviknight/back.png b/graphics/pokemon/corviknight/back.png index aeb636b0b36bed41345fcdba269769c115fe91eb..5d223f9f31ce2543e584adbf3a54a3d9ea12e4c9 100644 GIT binary patch delta 675 zcmV;U0$lx<28afbB#}W-e*gz`Nliru=LQD>I4y>N#yS810&7V`K~zY`y_GSJ+b|GC z*ATF^M+^vTI?^y}Gt9C`mmoQSy`k$+jOQMya)7N|rwe=wcMBaVLs66^t)x^5VFL#E z@c;00IKI347pqwR4e-lE!B8v`MZiid*%W9|GO-|GEmj-3AfbWde?~4yaP+*g^AamW zB5WmK0YCvL#H<6YY7bm22t)#BfKtjt5O9wZF-cmgMZP~xMD)lsSJJy zlR<+vx&Z)T<}#5*5zhE-@)(A41R{L+F`c$W(g5p`{S-5RM+_`zZ>DP?cTxzJ(Q((a zfJJ<;yjssWcpd>$e~MXvJ`d(>#{fVRbpo#E^YaKO+)*%W7Xi<^QBuYB=xhhn=5>%( z?R&tli2}XO+u-Z^l>)=OkB<)O`ej@K57+}PAL{Ekfv$j1y8Y#9%qZhdAZT#=-?bT~ z)Cu?!V0(I7zYGc632+5K9wVZ-2}tEZZ=HwBb<~S#mDKeNf6Bww!Ftfmod5wEKsa}L z8q5`y1ti@jkjc^Y0aI03ApY_!7CHb_Qs7cGzsN*GKkIkS9a@K~=_z2q`Y}AZh9C!} z(&N-%`=>k+;8X;pPsMn49CT9zj?qEo1Digua!H}2>A~}zeHxWO`!UAGAwux^+YnH( z#-`^J^u7lae^okU+_0@cA6Vt*&_28P<^Ii=4BVIe2Exys3oy_$rXbAT>mu?s-Kc9*p(D&>;bK8F&9>{Q+oED2-Pq?|T3M002ov JPDHLkV1gjQH2nYo delta 688 zcmV;h0#E&j2A2kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&q!0K~zY` zwUx1M+b|G@Z3xJm6N>}VjWo>JEE^8pTC@+~wDeqx&AmsbK0v0--HN^3a-5ts<^`+T<@u?Dz6;)h%S0#Ovv1UsLB z-B}?z!P~uF1RT+g!{&O)Az%V*Ef)d)+}KAq1pvBMXW;qq@nHggRQ@Cd^^1Xr!=zKy z{^Z>VwDx5qojw-8&zXS13}pyy`$9p`P^ViDZTou~0V5T_)4TS0+JP}Zto`xn+1g71 z8U>;OfBe;6);BN;gc@Lf|GNEsNw`q}H2`}|i0Uk$bO5vW0iMc~)hJN&trt+=?LCyo z?O+sOzyL_^@5_gO>jbEf!vt|Efqeo_$w3brwk5FjS)u0Xfy0@7m_*=u zYGdb+Ao%$863{7Qcjq(owg9RoZ!#5JFHi#8;W_lrE`2e7y!tc%S2do2bgD5iasPf0 zK<&(eHlYEm|c)%4t)UC1Hj|S@xMuO35m`Z3c34| zy4lCp$bF8GhGe9CnA>hR3u~}Tf+4*M;xWhI5T{Y`&j@00s%l-=e{x^9RX|U#_8Sr3uK>V~T@}c` zY~}CwB%aQvaiUtFfBCK!>o2;o8+$)hAbOVZdWCM9ri+dPqq}`AGho7LmZ^ZjcLzaK z#9d^9aMXT#uGfe9u);Z~oS@p7(erk<-fvboMVce#ibTXW+ugQWHBFV{NRbdgwXGyD z>I1%3)usv>Kr)jK;AO+^Pe6{3ZNMmoFE=cmG!8KLCie<}e>Z6wzXK!jq1|{4-6W1< z(&U)iP8T5J6Vdh~PjaLU7(@UG4bh9O1RWL7A~#Mc&t&ssClEZQoby8NBta)M6~Lei z0r0Q^(2Ud*4;r92<)AcETjEIqoC$y-&A2KN(Iy8I3M}Fs5@sOcS@?rV5#Av|zDGPW zanV#lJ0!@We_&vu#{=w^Ad3uyyvs950Ef1Om59F`3+Cb#G{dAlb&U+bTpC#=Cb;pE5lIXb;;!_?(>#_@!NgLwg553UlO4-IR8e%ynTuufIxcy{p=(+leK-Lu zPy}>+puLrEjj^Mz8LZtAwguN^S^ksTa}1#4wwYR&U**aAg(yOuw6-%d8(aFds8XHB zfkTSZx7H<;%Z@?ozq`_>kX)MQuD+QygNHMKJ$iDi;TeFy%(sg(0MmyW@z34AhB(j< bz3~476Xeqlk{#)900000NkvXXu0mjfd7)qK delta 751 zcmVr)IOg zbhVi)dB}I^9nQpor@R3y-_QSh2j?RnTRj53bK{00OTIxt* zE(*Zg*9YF!q&Y5@{q<{TDczQE^}=tzRfmlF#EA5V0kd6Mmg}nellg|D10%WGZ{+xX z1prRu=^*>ERlncUXgZ%pvEBm9c9pEZ=tW*M_^E^NS&dgK^pYfhS+u+`w%b=~28;zu zQyrLMcaWl_-XfL4)qwF_tq;{%6KMSW+6&)eO4zggiFS%#Qt5uw;@ciVDRZ>kK3 zT7(4Uwp3u)1-_Q$rVMJJ%%lapZ20{NWcb(wX5N3f;mM@#0JFj5UITcOB+)w<$`8$r z$I*+UD5CWobH{Ce19E&KxBYOS9Bl%VN)WRV4k9~7R|h2YqJ)W5ZGLP8!DAwX$kmgi z=#DH6m~0_|7}Wr+P=Dh=4f4|*jHMbdpA-;W0*)*ddPKXopT2)f8QSU3;?wnxxK3NqdksS+Td8DYnN@^8n3xx5ASVbVNx%@n{| znnJSiyJ$pk2@0P}H(qk8L{AfUg)gtxu?TZ6OM4XjZmF*PSOjtvInnE4S>KLJ5ejHK zt&TpN01vbP!|0K>;;nA%=o6DScZ6fZbx{=m)Z;k@`Z;H~Q~RO{0XR9FS`tS900A0FL_t(I%hi(4YQ!KA#`6Y4 z9P6>|pUmg4Y5s7JYkd zumMH8BnktgcEJaGaaj{}aERW7F24#iwX@QL?SsoRMUbxZXS8}B3Fa_Z)4P3W7&~QD zz%Li>)~Q#0Dh#o~ov)=$%TePFiM9hmi3 zkH7%a0hor3i$x_cz$$&s4h)#A^$ASFh$dFRPz6jTr~oDtM7Ng;n5kWkz<~S&n56<{ eAqGs$&#>r|Zlu|GJBg@a|=~LHwplf)BHPKK& zjE?I3E7+kLwP}4rA=lJ{)O9?gH(N6GeA$NNP23V)o zY`}oaS`T0pBRRUnUIC0%dtfp_1u&T)dwV+oGgR{)7?7U;GarCi_?YPz`S=F3kqYxI Srt^^i0000FUZB#}W-e*gz`Nliru=LQD>IRisY`m_K50zgSbK~zY`?Ulifn=lZD zvx-(+15#P3?Io_3Ua5@3y)h3EnGt889eT_r8*}Lk^iBEh44B*dzoHRO)?4 zks~sn|Nr*@%53&pW92qq&SDDKHH5RA0v-zY-++V6C3&Zq@^E})e;+t^iiaseV;RXL z#@#d!Nhve*Mu8i5ar2e>Nsh&GJYs(LC6TU=J}xH=^7LNn+}Fq!;}ZD!o)Y95iz$Gy z1T|SqdH9S4=pv#&?x8&cR0O!+#?N7aoPf7K#(}~BRQcau!f zTKpC`J|9m5KoQ|xe*vnl1P>ihp>YTHr$I{r+vF zC`Fwaec*eDtAT)!LM8yT6Au6ivH@@_l{A%P8f!2$aEKCNfBQf-a4@sVlA_q7*=$3F>%(0aPbtw5CfbMFVW;fe>_(K0typ ziL8TXfXt*&Z7o1;x=z>J}gg&kFeF!5#z56iC2mRGr%`uKf)Qe9XIH|O0D6pM RuMGeI002ovPDHLkV1m++9)17- delta 621 zcmV-z0+RjR1?dHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zyedK~zY` z?UTWdn=lZD6Gbbo0jaFi_7Yc1uT;k2-k1l7%!o744n6KB8*}Lk^iBE=W!Lazy6y|NkDG*;|d4+k838DPY$S&T0yHDBRZp2boLqPBG=-_{ctS?i3GG zgvK(GNsPN`Ad*sM=#2t@b9XuaPW>duVl^Hyzx|d-*GC^$69##DCw1;?WXo|0{CY$)GZrdNPF_cL$;6z2a1BU*@ktWg*20DOG_ zjraZjO_R(47=I&`G?io;YcMr%h!SD@KsInNK-h^F&K8nKR>5wr1ua=;_hz=>rMy%E z>d{at>;hg;Ui*8S_8MX#lP`=#FMZgjiRyU}uwlUkpx;xO?V%6Iw2c7pC}S<4dyXiT zspPE#=U7r#Tth@DfV>dY@d5*=PReLQk5Y;T*wTd%bbgXPK!P%ftb=EO%%o5)Ky7+X zH&FuwSZgEFp27ge68Ob|ic*LUploQn7{E6`EOtOzvWnFbf-2x=xSpnZ% z>@mPhfdq_3)p^~`U~O$#;A3t+)%^rOyIq3}ZroeFUbERVhoAs@SYERR00000NkvXX Hu0mjfk%$+w diff --git a/graphics/pokemon/corvisquire/front.png b/graphics/pokemon/corvisquire/front.png index 7ecde9beae3b18112a45d635f7c66a97095a6f80..9339cc44e985ad3e664e120d0af21bdf8f8724a2 100644 GIT binary patch delta 696 zcmV;p0!RJf2H6IXB#}W-CIAO?Nliru=LQD>ISHef6RH3J0=!8?K~zY`)s;PK+dvq{ zb%bz{q(FbS$lUYu|Np#M_Pl@nAhIFu2OHw79`G4^Rx7|Z03Z--5(qX3)H)!>TY*Q` zH^S$#MaX&+v?t|3U7EXX8L^ryw%W25fOt=G-m(saJb=*R*_KMiZRr52lT|5x=6S$x zK^!C^=YX`<_aXqGCIGRt#|bzei4B&Z%JrMf`)1Ma6uwg4c9l0XzBx&jEl{Th064@ApGAv$n`M`g-bxCHo8 zfe=CmTy?uBeDf+~iyUGOlPcp-CMY-{eSgh#w!amFLKKwkaeaWeQsRKI>#tz3&tqkC zTr_`Yq+JyNoTP6*eq!M;ieja#L4W5)KZLoW*HYTr4rY{dExJ^P06bSv*Mkg} zE>v_VSoo}=vXTC4-@)ZfbDbn9BWa`8$D_vp(!(4?sD9yxjl}ehJp35Ic?Kdws^8JX z7;}46^=qQT3=Ow$EN~~Y3IId^FpafJLyecMzlzCpv z#+UM`2hQ-U7~2`oitqSRRMmkC_q8i{;0smNtC_ppv78-W#p~H!;>o%;;&RE(n;ZV> eaOVAQ=MMl;`_34=oDl#3002ovPDBK*LSTXb8a=82 delta 702 zcmV;v0zv)R2H^&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tP0=h{=K~zY` z)sj7H+dvq{?+8JWnm~WgB6H8r|Nrxb{`tUUL*5TIK#7MAi?&=dwk}dK0`SSft3W+1Eo|K2!Fu+G|3hK)KC(bf<#vU;kRGIZ0><*IVemAjzCnV zjD<^pFBJ$Obih@&i^DgsLbj+O=CG+U4{d^i1Jd``OlSLBF(^bqIUY9$$SWld7`y%o z7W+I_w#LP9MlgQ|<$#m)?Z;0n97a*Bl$9s}4+zdJLBAA5!Pr2yRWIh8FL&+bU}A~G zVm_agfRZhpu8tu;b0&xU!;djzd)A>Bg>-dqxU7T>fvSHtQgxJ&x-HfrKsw|E8O3%;NxAWs#(q4bbkN`bV*G`2j>O{0XYv!`?j9|009?CL_t(I%jJ?gPQ*YAK<5S{ zcZk9{MEX4vci7Hp645118YE5=!U=YfMKil%JhL4Injt}%{AwD6J3qVd=PC8a!*5fq zo!4s?g1DPsHHJ%xFeJK4fCSJh|2Y9|N&t4cC7*x*fP}^*Ab;>INJWbi2#ik$xKNv= zG5YtMr4&x!tLp_!Lyt3%j~-239MfDnidaK*w@iP75mc+~Gq&_W?Updk^MI=W7HP^>Nz=%r(83aYdD(=zHn$5{{!I09PU8>~GU@>@T| b{hlA+F2=Y=95uym00000NkvXXu0mjf94L-b delta 318 zcmV-E0m1&X1E~X$bbkRKNkl(Uq>%#x{!zlKGlo=b$jFoy(4 z07DkOMqq3Sz}_?z5)c3ot!)AVFM?DwI09vS-ocrghcrg_k$8~(=!&LVVA5U~x{GNGrCt0l^s(at8q})|*GAODHI?#R+!~hO}=6Kb)qorlsy&vM&8~KeNKQ6|&N1DqP QWdHyG07*qoM6N<$f{Rm=1^@s6 diff --git a/graphics/pokemon/cosmoem/back.png b/graphics/pokemon/cosmoem/back.png index f1a8c6e3ec2aea5b1f088bef364a39e2ce7c1061..5e7b00e7b51782e45318c79d34f9eda56d282c58 100644 GIT binary patch delta 503 zcmVFzB#}W-9RLS(Nliru=LQD>ITg2=Pvrmr0tHD#K~zY`?Ua$5NPk}0 zaW48_h3vdP3+3%uU@KLJ9J6w4(| zKup10W&&UcBqSiV0mk;mfEPj}QGalmtC#}J05MrjBXLXaQY4AD2zjsJ76P60QkI^|mNW<2TLyb2R{VSFSzjf&$3hHO--Y z+>9^U19jbY0TfYBTDpocj}qP=d%saHRm@0A*_LWJNhl zXc&h<^z_}25B52+{Q$7R4NQVHed{iMUaueMJGfu&tbef9yS0&N>2^0t)qZ)?cO356 tFJfU4eKlh@4(;t>s_Hono2a^B*002ovPDHLkV1mGJ)_CEGs5Hb8h& zAOr9c%`v&w8xvss^aRWV0*FV=^KZe{1Q>su;6+{rk=C5)YfVi%|McN$FAKClQf)Ud z_@@ZkOYUXS7cGjS_%4P2)B}CQETdM+1HY)Ns`{Z4{k4xs=luk8R+(S_+_&XRU27dr zW`Eq7z4%%sWqVXgwG_j8Ky-jP`dU}d$7Rzrsx9=Sglhs)y)DYp_)T;FTn&KTm1|GB zpa61rO><};H{*-;KwY<807cZ3mabyVqlEXz-fz@P6*H1jw&fkYgox>CKL9s}-;9Bk zP!!M|Sy2uX8pdG|J$?7%gMChHKLBiSgH2#f|GJBx*XsxR5AK&c>mRK3Zf#^*y4{UZ zwO`)!9fv#ii&&VIDpl0Kf?ZE6UIF1;bkRS^asB|7SN3ts6s>Il0000IU7(RV&VV*0$WK$K~zY`?UlWb(?Af% z9mx;C#)+Y!h=VvJDl_rXI+3y{e;X9X_T>=uZDA{!U;gv4GZRI*J58s>Zn3w)J_)qp zG|=h;1pfrE8$!_lECQI(zt_UZ&rXc)9&i0Eg>PvC5j1oAqb3 zr;~lgx!23)O z@sxXpg1C@zoEK_qJk4E{CnyIP7J^EhTwjSQKt8-jFWO1;CdM{(>#kY8`s%L0`%xW$MjUKnFMvhTzIoME;I%selib8zCT3Ai#j2 zf7CfLP`-;1P(Y9$jwKpkL4QGjfvuu46$#XBgL~#~62lJM05=S<7<(pc- zj@&p|4|$T@0Oc6eyXR6S>uI{1Y(7Z84!DqK$uv#VUGnv9EwGaDGX0Lk%k7T>I2?zL zT{fiLtUseao$NE#7DD(X02M4I<0%0je;H#%6|Dm>3(X!pz!W~EuMGHOhw0Q&FyM>W zNmG&Txc|(29ENjI0$7WWSLT!H7s_GBIi(=HLkMjghC(jlbq-9n8Rwj_PH7|@{6MZY z>+}}^@3T&bR-PG3;zGu8-l(nlG!IeUpd4V>2x@h5eI-dOeip#de^jDG zv%iqZes7q-I~4&<<22FH!^_Ke*dabgzdF`5lTkPOmQg3i;&tT~FyNd;U71~9(J_dY z>c^St2nP3MKKJo>S{kq+xvT*0)(!cr)@ z?obMqIky4&=?G|CyR-i>P5TYLbKacj SHufC=0000O diff --git a/graphics/pokemon/cosmoem/icon.png b/graphics/pokemon/cosmoem/icon.png index ab4c13b8f260eeffb2253ab247fb32880e2f65b1..22dbd6432d252cf1ed5679174a6dd57056d30e41 100644 GIT binary patch delta 259 zcmV+e0sQ{70^0(RV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0XZR-ExS+v z006#8L_t(I%iWPZ4#OY}g>wTg1#7bKqzo0Ay7m@bIc1DGL=HnDb%N5xg)ANWQ6si;h>g?&mG>H%27)Ch*q$5n&`2a6SAv%$lW5qv>uV(<(nf+coLph-MO zK9w0QZ}u@P#H?jGWjr%`t!0;d58*;q1U2`*n8FV7Z@PIlcx{%IBQRGHDAU90I)QE2 zntPuS<=Fj6eT2S$Pv0Hr^O1g73jUgYD*d&gAHun%UnYK^{sYmmru)LE0Y?A;002ov JPDHLkV1n|%ZNLBk delta 220 zcmV<203-j~0<;2 z@(hup0IVXQk9%TRk0rW{kK~zY`?Um0;!$1(m z+k?Slcd_)moA>~NPf!b9i;xBdVLiA#_0U5yz2qoupFsBkq!8agd;{+WguIKh|4Q1V zJ$dlpKuX*1w=>^NCZyB(kG~&X(mSG(UYBxqMCXih&JU*Oq8J_nfAr}HFLne7M^}e| z6W+`~>OC1C+yMyZ=i^<#M6c$W_q`rG(8vL-=9)2|VoI2mhdV$-9S{JahKNSK2GKu9 z!@dXR+YA;kI*%BU9-!R2=y``2lz=cmGN*W>_JEL6Mj$gOBoKx=^<7XmH|l|4O3tiq zE$DAJd4?Hc*XNw-e-uOJfyidKPK5)oQ4{^`5R8XG=0};#3EE(8`jopi4X|3_M*>I? zGOpbS^uz$$Tq*SwpFjez2ZXu_5T{D17f4cx1Wf7+c6q@Dkcu_xOD#J6i0 z0NJTNZ_i38YDC{f*;+zd3iMQyll{JZA z5<37dIQJqXDE%zZb1c#sV@ZT7U_xY{mkg&z2o5 zpbE5Y;o)!7M4^;6+VF7UItkIw$_zua07VGXe3oTpSr%E=2;nV~Jk0Z#qBLrzoPXu0 zm+T-QlKk~8pIN^Y%{CU(_m5}imu-jfuivZF`3A}%<4a)=+xO7`0000IWKXQmRA4(0mDf|K~zY`?Uk`k!ax|u zuLBoH?*^Ffzz3o70EDDAk~Hab#DT#?`jHqCH+9g_wC)Tx@db=8V01-{;TR1IJcD-y zgchz$CJz3mOYV2y_rL!&UlID(pO&?6k^Q`V$|z?!0OeZd5*9D>e@Z@}wzG8RG}bHJ;zXUI&Qk`2(~lt!NL$l$sahp~0CzE_5$J%isJ4uu8t5&VpkAkWg2EX5We3Oa^OmJF${$Dxo{<0*>$F zhxMozDs451z2@WWGxp4Y z9HAoc=5@b+G~e_x00000NkvXXu0mjfjos$w delta 511 zcmVpFKDH6uW(kBxt>S9iL0YKmhDTg9cL0=m+xVlJ& zAcpBj&`-yyK4B;7Y7jOt$h?9+VXquO;d%}NTcp?35xOG=1@Ah4x^%(LZcj?6pU1H6 zb)qZ8x*fuL8oGi&>~vMVw)Ybh8k`C6uyctz!4CkodijFdi>?8HP*=dCo*R2>Z;*=D zj#WI<5qiRJ;P5_vxbLB9M)T}NgIC`O#tC@yhIqaaw8l@m!?S-r91b>uemse%aZjpj zENS~kkF)pKHv`#PR}+#04!{K5IT#p#bfxQ?0kq^Y24J`3=tdelYB3pgovb!W2xazu0|1mxxT4)S9Mu+5(Y;0xw;zkd-~X<+~W002ovPDHLkV1kaF B@yh@J diff --git a/graphics/pokemon/cosmog/icon.png b/graphics/pokemon/cosmog/icon.png index 6057034a9a87dca366db88bd78904caa68220e23..4a9ea59688bff413136e56a6b92e22f503362d5b 100644 GIT binary patch delta 263 zcmV+i0r>vZ0{Q}wU_A+NNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Xa8f`3?a9 z007-dL_t(I%jJ@>4Z<)GMZLjIlMODBbsv8m+o>rcah<pV7tGKW9I zm_C_oz`>GwEHr}sFF^)nov b%fjIc<&dIK3T&wn00000NkvXXu0mjfF;{CE diff --git a/graphics/pokemon/cottonee/anim_front.png b/graphics/pokemon/cottonee/anim_front.png index d2abe0c67a9078f3b479f1a53e178eca11e01620..0afb0922c63d31420a81b6b40e62cc443a582f06 100644 GIT binary patch delta 581 zcmV-L0=oT=1&jrd7zqRe0000%of$NmlL{+Os6E58%z$@Od0ipj#GiMi2XwG->8*r=4B+Fbo}?zswqJ{#<{z zNa1L88N4dN?5wPluN0}ezD}luyG4k)OSM2O1T6d%)xh?5i(LW@6|e!dX^VmnYQXgU z31HU&%E}hrbrYWf;G#@Bp6VqSyD9;IbI%y-WM`3kG%D?VhIe-Y)!4-j|{ z+J~IuxeSB@-fiC9)@zl!s8mE?EIoo@#4Ud2dN?V&?GY04aM;gG)1;&@U5qN(bsgHL zOVc(jGK&kgYD@U;3;?iIYjN)5JzN*CzG5{2aI;ugF01#PS%NJ9*T(f&v1xy)SHsKq z&eRR21TBHnFzF9p97-Gd*F{H1N6Y<` z+aL^tgC&88llOn!t^{^3txZhsPdlfbxrB+mYheL1-`#GZP$=|6l%Q|f7l>Fs@)Gf~ zi9UPu7l}+&LCf+b0>#+Z#6(cKMQr~5w@d}_>kP;XnMg>9>Gu@S2W#gl7NOMNAf8-*2wlj9E_Rc$i79nSDY>bL9w%6Ui%VV~Ykz1PiE2fh`t|xYAm``f*#p`L0jmA-SpjID zUspxI`jo8#8xhq#K?eb%ejl1xq@e$dj$)M2)2)O$C;*dxsDcDZi*4rAmJy!rtI`ti z4qzXzD7-0O{QGX;wim3SX1=hm<oZUXN8~y&~ z?`E1h)WkQEf51O`7HgtR)W^2sy#CFC<_C=?2XLZQ&Vtbp(T5WXEe zZ*SoHoI4GF`&z;Ye3M<(0roX=1$#e^;JW~wL7yXTltzU)Kj;{~Gy5~nz_oMd9R@yx z?~c9$ZtMxQmLvGCom>Y2weIY^<{iHC`ohjS0M}cib7SXc-r?IvMzl`8I$qRO&*0li zxa$y{JwVRjd+Gl{c)J|&rjOy<*!gq~zDAtDx3Tjl75@mnFZlz$dqTi>C=?3)RQ&>b Wix@rbe<$<+0000ItmfI5z_zw0gg#TK~zY`?UcW6!Y~lV zsZ^wPJc0+t7&@?(@&W}S6?F=tt^#w#Ba|nIbYyCgBE^|OBKMR%J0#`*P^lYVhFJc7 z{_bL1sZ_4I>hJ1yyO(UolTv!;eP~Ie!MTtd*|$JTo*}xjkoSDXe{V0X@5<)mv46|X zG%GTklfVPfvLKElxWR;IaS@mj6*XLOVBhP3)I?G!&H5gQT_B~1Rx-f_Mk$fzjFxzxDaA{}F9UFIv~mLs5fik1x-aw3*@sfo%(opx zgdsEx5Flb`_If_|e_nar!~#__3lN0-@X)k5^t{M?leR#`OphQyrFfvY0t`*xMC&;3 zvZ@isAP{X-t;T7H8&e@J_JNIY!vYI%U8pOJBHB#06&OfNjU)#+!4W1w>$uzsoftsJ zh~L2Kh=6<0vH!bSI_|&(APx-R0H|QIR{rjBRKcn-%HN>WI%NMiw?L`-(S_>m1IO2P ubUA<{yn5+^@K4=)Rjyb5^)GeRf9VH9E1?Yh=}H0s0000-DbLwkL$}%6(`HtzlWnofsIPElP-<$mPA3_?@-!UD0|z z_wU)6r+J2b5qKh6=frt`1Q(2nR#$;JQ9i?UPV7fD6pE;r0nUk?Y+e*8l>sdQ@Nr;2 zAci#PP@1F(DZRcA&LNOcNE;F33d4j*aYozuTu8}FgC7lWH`=&928c15p6=W7d+{aZ zJRO?`Az=Vb4fu!{=)GPpy?3rWGeAwh1@HsD_)*s!d0wc$Ng2R@(yu4rqm=ARo&Y1= zn`j$lEo%yK3J#))s@FLUai=Fl`982QZ5m(&t_ux`VMx2#egXrro)KpNC)kcoP%0|6 zLd6$#Glv z{bS(#x1C%M;0UiKQMllYtqYRHdU?^WROxnE)*nMFp$tR)f(!rv002ovPDHLkV1h(J B&~N|% diff --git a/graphics/pokemon/cottonee/icon.png b/graphics/pokemon/cottonee/icon.png index 807b65150c5098a957bf394cbdbd5a868605a0c2..62bf749e0fb72ff4e46a8c5f432cea9f9142cc6a 100644 GIT binary patch delta 252 zcmVO{0XiZi3Arf% z006g1L_t(I%k9#?4uUWc25{csqC9{}*(LOwTM`FWUcz*=&#V|nQiE|lK|=qq>!P>a zm&>(He_8f}MeLHE2h?#w7^@DgBNP(SkB}WIAV&yHr=d}lK6Pkx*PrEO=a)PV3h4Ef zc^SDYD2c|{Wn{=VO5aQfsKU0>_886)C?Fh1R~Mz=^f8XJe|?a{6eJwRpIdR@H3xG_ zIgpt-w86*B!T7t-!ojcQi9;N`IqaY9iUYatad-iuDOlpntpk_<0000-V1K>4uU`wgt@_sasZR1m#|asl337s3A3e~SuvJm z4TSay684A2SXk+FGnvf3WWOZ&K@r=?bB8ia2%}1GEg_STu0nNJ04aQ68V!vscR{6_ z_9Cx4H_{&z(CQoWQh6vSiOSSVrAs$T-;EEbz_!u#$-g6zK~q?Es|kx-1a?Yn?EiYF z4{?}+2#4|KRygn)2Xl^bAT#4|bQArIgK@Xef`gmo35PIv;jkb4$czJp$A1}zC!#4> U;yX}sU;qFB07*qoM6N<$g3#7t(f|Me diff --git a/graphics/pokemon/crabominable/back.png b/graphics/pokemon/crabominable/back.png index fef48f1031f4a65517071b9b34757180b2784a17..c94bbb7afb98c2c3d097746772bdfefdbb91f883 100644 GIT binary patch delta 749 zcmVIy*pO5$ON`0<}p*K~zY`wUfPS+fWq8 zWlSd%@CTP>E4snElgovWV8|m>x}2oxl&OQ~mUPV!q9-UcQcr$are^MnYH$Dnk0C$^G&3)w5%j^YhOeXJ6B2_TGHoP zM%TMqdx|#6J_ry}Av(O`tvpYbM}q0 z{dZ4Y&*jm>Y;#s@7ZtpZV0e{Nd{4b7A6p&Lt$j^dHBWwZP+IB4^b2$ z0KU-R2T};xf0r)DZgj;NBFZ5`9|1HGGIT&|Ku6�$*rKatA^LfLdo=7zR*}E-452 zndQlXOKPI;P5>Ystg3ejZ6Bt!mcawssIWdi5&-Ekrzc5 zYaPs94zysvxp@u&<^ZAu7;M--;t~uED4(PN#cJrIV-Dfl&s?P8HS#W$LKQtii7N#- zXF$8gc$;jF*N{dPT%8{=0Hx;vk1M+S_&JFPXqQ_f!0-XAL10-qpeumpUX2k202RRG fzYTiiz<-ZFFty|2BT;m=00000NkvXXu0mjfL&Z;2 delta 761 zcmVb}y8IB#Na+N}Lg44P%-X{peRhk&QmBFOa zs&eU3wWYM+SMUpjoH;vM?MP-_BsoGmNdGtgxkBrHV784WayZO;O|O*2wy9q5x^1Og=S*o?xnj^W6a|u%kVI>O(a|xQnHybFCv+l z2_X)R)n`RvpLc$7xxiyeJ_uOEBSKnnr_587;Sm{i7n;g|h{qLh?+RHO%*kz z4+&8GcmtRc09s5fFgQJ1%aD`FF8~nYAl2&BtD;>LQd>YG@G(uXhV=S}2jl=F2OOsq zxAh#;Lh>P6%)!REBw(E0NiMSDBoYry(WdS~t;0V!DgK-UL zki1QgFXRERc-)nRo7t`KzDt>(?Lqm@zc7)N{2lLEdITc zd)?i#u#2Tb1g!t=sT;UFGTvwQ`>g~Ijc++*(C!IS zIG_z%*8D?~BnUvnBt$W1jQ6?Av71~`hQ#JzDnbBF7*`H|XbtRD_=><6J0-pi3IVXK zlg=~&s3(^;2SnC~0rpNs;8f}WlpBqE70{MGps8ozJ>1~%JrSbr5HmL}9^neRuE?tj zsB|Q@9e_n%R9&oe(0e7&f&t~GImDO)EX6=$!_g6ypzVOlNiq7P#jlO3UE$>1(fB(Xrd-kJq8UBDU`mQ@1M r10?mTHLC#d09}68=urayIfCF1Fty|2Nqb3w00000NkvXXu0mjf_MKWI diff --git a/graphics/pokemon/crabominable/front.png b/graphics/pokemon/crabominable/front.png index 3d28832e07385206cba121c591d19cd564dcbb3e..261534bda10732883656e00a2ff0144b32483375 100644 GIT binary patch delta 1118 zcmV-k1fl!M3BU=EB#}W-e*gz`Nliru=LQD>I~E+KeBA&51S3gAK~zY`jg>ub8%Gd^ z_dr998s0LeA_f%f99Ixr9dALzu`AI8PFBae9AG3JBLt9J6IddpoIn@2l;C9LE>b?I zB2Wq!0;$R+sej-`Z3+eX1g`^)6e+K7)m!Ax z0-&#tbWgWSKs)M1J?a!ec(l<5(2us}`a8gNuNzN;hK#Uq21z=29R`ZxG5JA>^_;$=z z->|i43WOx`On){58mp7@(YfO<0ICAub0Dma#-o5Q09gxAe+o1Mo{?A`kC{_ja=|%m z%z%z!mv12Yv;ba`b-`658RUo1A$Y{docq?FF()a(1Sdfc1{Qb@13AF`%mT-uP)f0o zIQeJWS(fDnF2?~={63aDC#j#NRTc`0NkO0lRflgU6C{iKAfAVAk^{a%#lTif;pN1R zt8*@Wr9x`ff6_F7ig z6sX8l!A8>y?heNnuf}Hd8n^0&%}!hZ%)``4QXKK_1(^$a^%~i!aG81lY$sSQZK5(9 zxu=X#rfU-%%CrLw#H?b0G;olz0U1N)C!633;4Wf^6DdrfbMlXlOJ`1R{ zrh1HfByMQ%JKbCpNgh<}z9c9tJUP%?Xy5gln?G+bU;>T&2!vMx1o8FtzdreA{rVb> z&Jz|rQ(oZ$QD!c>86EvM{ZU(SM5)J;2d7e}Mj*AFbYnnE0f2qcr>Sb;C)UkmDMFjvIbe%& z8R!yvm%jhi>IW@*O#r?q`RK|3{a3d!nBTrl6NN1&C1B2 zq&;V=-5>H$xI+d*@|02Xe~`s%2N(Sd+V_t7K_)=bXF%t>_qq3d_wF9q|FrrC{Eqkl zz=ea<`vBneI23+=Mp=|WuSmj!tu6w?XlLoagSgK6@jQumU++a(cL})e{$4lI zd)>K)vw{219+|UW=f~h%#+bA2neJE(hi{!knK|x0dLatJ8Q{c!m`Ha3H5?8DgZm?$ znfW=K0ZmMl^&z1Y5isUhYds!cpnLt#4Vs|jUZ0Y5ye06%C3v!d0+JJ4Q?~w^ZA5b*1Ys-v*#c;-&n_kxj=ut+jsRZ*VSO^41bhX^Mu1NN7Qj;w>(eQ7 z8Wjo7f$Cy`o?=&juW{+q0(b!=!Bs06*+b|MdCZYH_esx~(-bfS2LTU81U$n47T|tP zz)2{SQY-`x{`qd6=QhCAG+>I~$LZc_>ZfU)g#uzwxS#~o$8TmcEEe~Xcow>e1$>1s z24lq#Ud_m^FSzuT3ZdOd(*Pw>E-@MK0R5BMWIDT6Ef6AqhIUGTBU9drA&FaGp>r}D zPsg(<<4NMpftpMe#%O!N-SPDD<poh8r#kYYb8mli(o7)I;8v?!-SP4+W%OXNPkAP1- zT?vqe>QQz%*c=XkbA0ivY)%j8d~^yNglzj>PyuQ!n|EG7z7l>?1?<-na&2V@Ns_AD zsdHO@BVAMrprPK{FYxHwKcfHJpUCf`OeFx8g~Q>9UfdAnG|Khxz zR5GOEE&+O!RiF>pyYT&Q@t ra0G()0Y~f|tE{aB?*i;=`eE!pW%936prrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU@Rt*w>$ z00042NklWqmYApC>13E?dISRC;^L;h?cTlL-w$KIYNT6^)qkYrgOEn!X2@vV%*tAC z$Xf4JIB9sY@G-2{golH>`>-DJIrlrA$>y6F_(5-uRRpAp(jf5nP?nAqQN))QS3Y{> zRva-GgTeK_Kq>>c2Z+Pl8>P_hx9p;X!xuE>pja@r4vrNaMN#yIe36?@5cM1(@I87` zu}+oAp+sVA5`UC%CFgb)(96Z{X~bvl8Rz9Jpy|2$ntM9ov^_Fu=-VwCmuG*_{sj(Z zq6Q9(P&RNdN~<~!kO*|^IDpZRwm4Wv_e9YK2glTf>A8>_9A>u6dKxEK;J~S91Z4Rz zt$3VN;u97)2sbJDFr0l@94sGFSA19;c0AoWYyX=RKNnN%3jp=SpaSyoTL1t607*qo IM6N<$f^fXO+W-In delta 372 zcmV-)0gL|g1Ih!CUw;8rNkl41+zC zl~5px^zz~=K(E@0Bd)}7c(X5%ssQc*;`QCFQfT*^`zYb?6^%J4GRBtSv7)0SN#2oX zE7J**z9R&FB+n|Yj04%>tTU{I`{-b57e&CJh6- zMbp~eAF+RdgKe3pg##m$Ega0HRTBru1-eZfz}%3wI9S0yQB>pLn7S}I7qZ4-YRfDq zX^v|gIISB2Sw2iFp5~k56RvR(ZeH6aQox&B~@8WxZ(!{hT z=;G2_pI@GP?|RT$ZNL7yj*iOndb|Daz!_HorySJXD$uC_PTM`Nf0(fx;0Wcw={WAB zv|#MIenmmYFDt+`E&-?f)$Npw&|C|chpnH%LI@%44hNp+Z53cHmP3o#8qRfC^yt(5Kz$NunvirLtXfDJk%>~Q|p)AsXS&#@3ATZ|u zsezi3S)VR(WU zwgKk!-$5AI9T1EPK=u_F4eetY+1)d+8tUcm|JQ!Az5p=fs6@;|X!? delta 526 zcmV+p0`dLo1os4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nkZAK~zY` z?bN?Z!$1@V@D`zvL9h`72Zv^`Yat@tJ)!QpS6k|J$dJY0oDyzvk)mE9tKdQZox&B~ z|KhtJY0@8F!NtY5em{Bd-SuegzkXduNAA4dYW+Fz<9)z)gL<$JwD$nN6`Z?4>;|}k z8~ANMcycy~gP^~sLA&pNYJe3xz$t$X+Kv^xrGWRO`7@XaA*7vf5QgDa1I)#IWbz9_ zNVubc5T=333F&M%u%MxHaO$kdWGoV)hZ}|yWQeP#zyWIqT-b{>(T)>nN%2ExO z1-TFr0&@Ob(PG7zu$w|6C2V-#dSXqTUc( zs(Bww-z3){$yZ>Zz_J8tKkNV%5T;y%Q~^(YDl0iinsp$0Yz55e*Fh552?*3rT?O)9f$_*bma&~)g2hOe>u=(}HmX+p1~BBPL>iDT QLI3~&07*qoM6N<$f;cDVP5=M^ diff --git a/graphics/pokemon/crabrawler/front.png b/graphics/pokemon/crabrawler/front.png index 0eb32cca5ab8aed96b3e070639dca71d35560b2d..de27ebb235dfdb00ebaec31d2e3793e69bf3ecf8 100644 GIT binary patch delta 656 zcmV;B0&o3*2K5DyB#}W-e*gz`Nliru=LQD?03hw?xFrAp0$52zK~zY`?UcW3+dve@ zuLKUfRbEWo$v4z%K^{a`A4YUeprZ)pYzs8lgN26=s;_RHh)38 zi>Pq_OW&P;#ELF;>Ds=*obP?^``+DqPYC_Dzp)pG0P7G@x3;Szf7>=iXtlQf4yE?* z0PvsCH&vicUakeGvTiknGEkM+0sTJ&DlyI`WSwQ79{`4@b2HH1D$w^@!h3qnHd!ap zr>+se2Z70?J=Kdf;64S=U>uH>1fD+!gkh*RhZ^7&00W?73^|mGN0nmK8sWI9jxD*v zxe54ay}JJbi^Mqxf1nZp;qJS;ZyD?-w~ozOwPSGaD**Wd)x@pMJVVoc`u^j7RiulW z5K@`|UkDKwB3&ez%uQ{LGf{+z5Gghbpk@FsZQ+e^;c{gbPBBjj5mQ1Gbt} za1qi{zrJ8Wu>VZ9Zoju89gucY<&ucgf8 zBX9&C0&PJY$8h+J5XOQ6{*)sCa3#c&F%risB>`0}MWA$)evq<|aNl$pKoa8fq6F|! zwvu^}L!gOXX(>b8pyNHyNcDr__y*;~`Z+#yR*A!2Jy{cTYgWQ-C(6n@s_mjp4b=)r{bB q`Mn*0hfZW{(A^1a9HD>9egTt7BnTSQbj|<(002ov22Mn-LSTZy!Yx1m delta 664 zcmV;J0%!g81%L*SBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$E8!K~zY` z?UcW3+dve@F9Z&}RbEWo$v4z%K^a6>A4YUeprZ)pEDJQ)gN26 z=s;_SHh)38i>Pq_OW&P;#Ii1R>Ds=*obP?^``+DqPw2n>l^q=dtV2ZI+N_Rk+Z3VI z+W1c?wSNbI|BSw_0(J6#VkJP8b*d?pfvUt7==~v3iE%L^t1Nr`0N|fb%|LsjK;LNz zZx1+XlT{Ku>KXxj5EzZxW4%}b?mmF}!)T}^@boz#iXy$~Yk*e(41kW|b0`;|?fX%! z5e=K_*n&Hpn}842%ZJafNSsRmDiILwy#4YmgZ<>*u{lFkp!*enfP9W>;@)Oe0fat& z|M9Ra(s@k?DNR5igoq1~&XY{$20y}?D56A&6q^OmB28`;AS}jA{#rViXuu+oQ6Nd- zDJMeQ5i&;40oF+z*GbzmM~Gt!6z-tv6#!h;2}HjoiD*RQpma%?)L4ic(rUs5A;-oz z$aVo+O)9tuX{q0TK(H{}eI{GC-y4zkNxLa>62dd@0_!>KhywScq0FOD$`Szj8juCT zjLDq5k}{W1z%hIXw1sgT!{G};7z+#dQ;q<@jSvgQNE|Pf1XQ&YfzmRYDRFm{N5J8zB4m6==KCQj?lkk2>k++NhAnZh12r@0000O{0suE|J3Zn6 z007@fL_t(I%iYpF3WG2d2XJqY!xYy}nbXC$>UHXp-KAcl1tFl9Q4j(#v!X7^DZd6q&_nW%pbU~{G5EnN=Y9!ckAKDsW_1v_gg~mU14^b? zffQ)&1YMj8G-ZSiQrQ?cg3}flXKpoNO3_}mZMKa#)n{3Yi*bQAJ@00rU5kAg&B)Dr zn$fl}{HEwX&pyBy?SmnZ-H#Z|6em((FcTz_V=yDoeg(7nAe2=r7`JJbl?CJZ5Ecyf rVHPko_OXC5o*oYi#`m#+`PIi8ZkL!mCAUOZ00000NkvXXu0mjfjj(x6 delta 253 zcmV@NBe3WY#@ znHCCx7}S6+jcLJfR|g%7+4AQ;68L4=tdE=A;qW!sO?qJa5gaDTV|U@fbE|j>$lI9( zyLUzbYU*PE6PS+(hWi-6{OaQcZkL!mjSx<{00000NkvXXu0mjf D1kH7M diff --git a/graphics/pokemon/cradily/anim_front.png b/graphics/pokemon/cradily/anim_front.png index b12899e3eabbfdf237ee6c73655c00d749488018..e44e4c21b563657f0d2c5fde136599c8a5fe9498 100644 GIT binary patch delta 1209 zcmV;q1V;Pn35W`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lb^SJS5oU z000DQNklL2KJc6vySmfKQ=n?9%i46SU*_o_bPxl&N1V3=NcE-+KsSOPj+U z)F=+SS4T7~>_J!z>{+ym`UPtC7F-gPTMnDl{tWxZY0KIg&3|=a>0o^D`}w_@H}l^6 z8^*U)G7bHDSbw0klP25N0~N;fE`WV^VSjYyS?)LIqEH&%sq2Cz>0q3FZoA&|#1z=`+P<6zF<7%0BP-d>( z0=g|9qXWU6uup%Y?CHwQ5r#X6~@kj=*3P?e15hlDm!adkNqsqY;4b zw<^^&;AD#CvuVs7AJ5@?u>QJ^&Jma<33oiNXZxe|Tz`~f1kOIi$;=78e$N+q;AaG4 z?#3e8?e|+ET+8L-nL7*;p1L1|fJggJx~o8`@?w^7p17%dDTGy}^zmwphxHdcy$3#z z(DagStpYFW>?B6uaF%*Dnh4$QTB|j)b28)nDt143Ab~owt<}4*0B`azNuwK(+iTZy z@7nIltACD8E^GwKZJH~LjwjImTM9CV19^;tHru&MZ$ov9LAyoRt3`HOP`p@q z#s=J_bI^3E`Sd!w(6zEJ({yfW>>D2!>9r0Ze}4xHZG>_Vh#MVn9E?S%b8r+mj?nC( zjLDn`yBNS%<2Vj4B*HAo4k{Ftf&3Ln)g4BOH%!pn@`ms(|wB zd^tVajJ4=%1@PLTtwwzoe5i+)AD+b#sz+Q3#z7SPZGOEev!GB(Q z0e~&W4;26z4m`+U3D}?rfunJN0!W51tF))=qyZv67k@mfH&w!u$OeVYPE?v|;C{Mt zCz5$kKYWn=It0}5MYTil5bbRW;1%~5ndWX(450q3c7<+o5s)oWQ{anRp>?pxuC)#p z**v=qiyds-CD+-FCcu}!=34v4`7-olrt7nJi@Q`i{`Z34wGL1}I6w5m5B>0;>W6;- X9Q&3I<^v;600000NkvXXu0mjfO(jlI delta 1179 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 P00000NkvXXu0mjf8pwlN diff --git a/graphics/pokemon/cradily/icon.png b/graphics/pokemon/cradily/icon.png index 0b3f8de2e7645cb43a1c85a8041bf9b5206ab1ec..74bf767a8594bdf4f98118a3fab89beb88f16855 100644 GIT binary patch delta 418 zcmV;T0bTyo1NQ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lb{J>T7ac z00046Nkl9%q;zGajT9kwk*Me_!3mHovd2gf zAvcNXk}dEHEB@IKd;Jg{1x)8(Gb4NaG4_YWbuUO~-Djk(X@7xjI8g2d z%)3mhp7?4z-hU2FAP46j9*=Pu`8SdVc8DRLL=>TY=RA_4dwIx1@AlB_{}=j#9Nqga zCp_K2*3mgCesr5IC=~<;G%G`RbL_^p1qO__SnWDsGJ{TZz=ZEMsK8vr zJus+!STMB@3#KvmGZ?suZi4}#_HhQ&_VEp-?c)Td>l@>AtY7%}0w0wC6Pyte)c^nh M07*qoM6N<$g7G=H>;M1& delta 382 zcmV-^0fGMa1JnbMUw;8#NklQJw}QMxk*fyxWIo{@!-VXu^rJ-z;yfc-e~pa6XFjCq6;CN_1}~_m4(;_ z>)9p}v<_HMo5BTu&AF5ctqXs}k<`)T`fh1)q)22o&-{J6b$^exyLeMZfCLeJu0!um;($Yf@@a^nS$h`qP+FopK=RP9 zy3_JM9=dpg>UaMdNCl@3c#i6*;pnukiig*ty|sWDY3=(5&VUNYozrg27OH@87pq+l zn5=@%bXo%we6Y{}a}{3zLxv9q#_++ww9Nes3^|E8^%)pKGJMp)bon>~)8*p?OrMWa cS-;@p8y}Sb6AM=4jQ{`u07*qoM6N<$g195O#{d8T diff --git a/graphics/pokemon/cramorant/back.png b/graphics/pokemon/cramorant/back.png index f8ee0569fc583c26f9fe4099365ffc7ad9bf7af3..329f6cce92acefba946106ac8256e0fc86b37a6a 100644 GIT binary patch delta 447 zcmV;w0YLt<1f~R#B#}W-e*gz`Nliru=LQD?0wCYs+NS^j0f|XOK~zY`?Uk`k!!Q&@ zQVY?u}e@s0k){>pLB7dmTlPaA@orfxzql zq4v(D1CZ=-W(01sEYTGufh>DTjS;f!E}fZyxAfTrTs^&}3r*1yD2kNQmHre(l2A$) zE8Tk;$vvgZl_mrNe~Dz4Gj)j3Jc@3M0+G2UL@p(YTp3gVqex6X&*@Sf;&9jJ$ec*9 zZ-8KuBcR`w!XtFp=ZE|R-~u2Q^_Rrao^jlGKbpjjq0qKt})o002ovPDHLkV1hSn#w`E< delta 458 zcmV;*0X6=n1hWK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gOpRK~zY` z?b5MM!!QsAU>9XTo$8baXwC?AO@r85Wq`oYB}#XsNNg;XJ9Y`mBfwTwo!mS@=-4Uo zLve9HLaprzF~W`Ur~CgnA^-CShxY8}PT&vh0GNMf104#iZ`(2PTnKD6CV(@tcEIs% zB`5+mIFZ46zsi`L0*>2%WO!ykuMxQB9i0)30s1Z&MF=6K5LjxAUGS)9c~f=UuK8SD z1PjcUNn7CC6Cf~tbCm!reVkgsO`66A&`}^wUlMDDG`&lvcJP)w+rZV+Yckh^u>yIX zaK6+6^%i*?bI#{l(flt%bX()jpR%S8Pml)2%@HWqp%nT)eGPNSlv_%^*44cVj z8DHp2wBPz1&Cv?+4KyY`0Nr}kWCT6&`5-$2vH|R({918vE+n3~!0yZLN>h(Kl*RiB zOI#M^w$y^Us1=agogPRj1x7@2C$$j{g6#$XVMVl{kg{%pc0rr5#tO1B0L-WqFhmd% z$$hm(urX~2#lEN|9;(Q+z>z{ka#K`-{B#KU0A{9*t{nF0djJ3c07*qoM6N<$f~JJc A8UO$Q diff --git a/graphics/pokemon/cramorant/front.png b/graphics/pokemon/cramorant/front.png index 296ab53640ced4cf2bab3e24ce621a7d135e6c14..0fcd30452d5440ea3821708a493cfe2445dcd09a 100644 GIT binary patch delta 637 zcmV-@0)qX92Kxn&B#}W-GXMv4Nliru=LQD?0y-kRBi#T10$xc(K~zY`&6T}w+b|Hv zMMFbjz<^1)Xn}U9C{Eo(k+B?qo)irky4pkGHGYO3_1#!v*B%EA_v79Fjz`L}{!_#M z@Kb+ka*swr1SY`q%mC~c?+orY0B}Qq5%&a_fms1IN_4T{%-~0kFh>BtF#;0Q6TTtB zbAEecY}1Pm-)>EPLLWc9Hv-S*i|;okU^$=1@fR^zMLgGbO#_qvS`Gq#+8@VPS78mH z=~Mp#+)~n7g5&>Pz&!pc;<^AJ41g=6IztzKpe~(Si0f@cTC1d#(5fV)P)T%Nj#qh5N@!FfN^~ROR&ZD% z+Ex;H1GrT8_#Ez?z`o4$#CZZRO)z=xD}0ah4CA5%&u>IXAShk`e63QIrW;z;==kkS z1dP(RO5H24bmNr(g4HxT2*V3iT8i}@7tYkut1;WYtAL!$VBQ>m=j5$hH2|}mDMBZ6 zJ+3lr;NVc-;M*mz-qL}qVV5;T;UJ(@rdueO1_<{(#}NqB3E<#JF+eB4I?r_i03b|H z2s_F%odD*KL9_Zo%iL3$223`rfB8DIInI>F0{1U=k5o-Ep zA!ePqt^t_LtjX^@;Rw6k{$TC*yWNogxIZ2ykNd~tLq8xdkG}$2ULFRkw2S&CohttT Xs-)82`XgM000000NkvXXu0mjfA8jGV delta 670 zcmV;P0%8681%?KYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$)i)K~zY` z&6Tlk+b|G@Nkc){-a0={jWj(p>uz1lLrGSLmS|Eb^zAP_ZImr z0D&dJAn;_MLc0TEwaAEn41`6;uC!+W-I@VQ?n&R0;YDzFYu%=oAHUz(_6dLb{J{#G zO=mxDZNPjwO_Hy&w~J(I;)aJd{YLcyMo*IK>u3+)@v%MwSt-7^;QDR-43>XW>YVcf zAloVCv!t9UZz@RHPBH%?PJwocS9}i$G)y}HS^~oq=HY!>S!maPz?HXQ4!}a^X$5$v zz)A*}xz55GIMe`u!4$8gjCJ<2w$L&`S?S(^Wv_J})WX>K*~Y z5JFw}nmm#sC!}nD!Sfpv3JA`ZzuxFfXW5EZJ-YtkOoW2-cUnJch-~Fm0EW?Qb{IvM zx{8dLJ1*TZGNTE{xvznOPT;(`?#WxXXaIrSF~-L_8rBt7@ZnBXQ=|fx54`7UI8_gE z)C(Aw*#k7pLrl7!;}{H@0`TEzd4NuUWl@*{06?0K6i!@u*Qx-@+fBIPNKG%UqIvC%7F}2)XJ9_O=4dC=6bK`sn_a zFXpBP#L1z3MJ|@9FzY!p%50-`(-!HE#0Nr+mzczA*1)Mqz9yEb+5kO_nguR}NJwH) zuPlEPCuB{B!2*C!iRG26)i0NFr}YE~0Fs;7U9C!oa<|pPe;k1C$qkFk@H%M@7YY#RgWf@iwf_&m9@jvJ!$R2Vw8VWUu!dPGK<|JC0suVk27I9^<3$fp z-B9Rs(*tDie<3!v`ZgiL@VFg7h-(15012Jm-{OO=gpG!oJg8ATd_D}fI%Imte{Lb= zIzQ~SHKxb>xP_E!xqs3FQpyZ~iF}e;3k<-1Cj@|nzSCUFV-0Ne!%`kQh#-p&06dBc z=&(R&BA<&L0FPZ2-0V3orp2VI0G3%ck&k(i{l_1G6+f|t{Y5;>;hg{g002ovPDHLk FV1hJNF-HIZ delta 674 zcmV;T0$u%t28srdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%J);K~zY` zrIN93+b|G@DIx{}Po~7Bnj~UU z8D%aly6RnelpLd$C>2F+v7!ItfBzkc-dBv+eewl~!#)7yun#c88RtQd0p?KG?*>L% z>0_}?h^dB%Isq4+B5qzK=7jK5NLw9fL?B^*a10qCSAAgT4zQyz zcmt|(|CTT3rU%5a18UXfZ7R%q&x|tLXuY&W`aSW1Q0pZov6>z@70H*xGSwKMhf&ku zN{ECc7WK;VH*rGN>@ZjW@G-Hxa=HBFQtmVjumB*ri{0h2bSQUQGt2?_mfW$pEPv{B zwY9Xh&I`q$X)(g*271|)2ID#qeG_q z{Kp1TuJZj(>oGm#hYh4$$=!<{kWyvk diff --git a/graphics/pokemon/cramorant/gorging/front.png b/graphics/pokemon/cramorant/gorging/front.png index 2a4f9ddaf0ab71bfa87556821f58bfb01a6c479e..36be31061ab730465d11312f6ab6f0e6fd6b78a2 100644 GIT binary patch delta 783 zcmV+q1MvL&2J;4xB#}W-e*gz`Nliru=LQD?11-38msgZC=cld@>`3I8dpkoLX$h2$w2V_Z?TMP!Jdm!FI$K0)*>?x2X=b?1T zl>enqmh;on$%9SaN8k5DPcN2rT(0&0y82`?Tvu<3^}tQ1H2WUufBHJRM@qnJ4G8J$ z9Ki3=hf4`j=%oW90oQU}_~>416y(OMf#13%L}_UxI#;Cc+;+fO&(ceH9qJC88`7mz zFLBdv1w;hk(wOsrosS#}n z&_1U0ZtQ#(>8vIpf6oBSxYY+BP1B+F(ApG`4=pcB>k>*w5D(Y;x1ZP-O1Urr zmd%A=Oo%v|8JY`=a>d*PSV0M3J~RP#N%%oxY;9Y5us%uvoy)N5%_U$9FrG(>gnt0w zE0DlhvL`?+J;5*M1?6H`fqN32pNZP2fX2cIG#2n~yp#Z(f7yu-Bowd#V3}VJ&%d^A&{tdx-}!q*asVao0L_ur z{ApI$?Y3iUyWQh!hM7y>hz>B+NIS`z?8?4QAbh37m zCW9A8L+Rql-=)v#Wcfv>oCXO!zx)56=eZYjGFs^UarLP#a9zA9HUl@^JnXro=b7Rz z$pN=LBxGPRfd9&)MG4V==%oQsKnt~6@X@3y#dmTHiNJB~~5 z+AaJest_Fo&;h3OZsL5F@w_6T)&Rn|Jpdq%;}J5A4h7^x+YRG?s)W{2MBj0Fyr_|| zI#28irCinl$l_8mCZ!0?9+0Tahv0Pp@^b+5Q5|6Agy%=7mQW7pqXO)68CJZx0xSu^ z^Gt2&l>mJC3OFnF1Q5yz{+u_I%TWOyNc((E^h6CbmbE}*3Gc>B4#1k7c-T?{TL4zc zcBz3`71+d!hi#I7dIfOw06_I7*u-&=q`!+4PLkkJp1lRrz9w6*02aq2coYF(GXNqS z92`yo89^iLg__1OS}k=7$1Hii1c)o&1zTmFPNB@wmRvQ$4#5^wf_0HXx%ccyszth= z#VlrXoMp@K0uYK2_8fDKRCY|r-}5FMzQxjFsR6AkFc^4FZ=;O&p=IA|hNDhTSPJm$g@vBGd&G zy#qAIsQI&AVZYx^&~CTi*Ttv1>7@C*d!GI^1Nd?J&$IC3q_#>cudi8FiO_!y)?jl= S%&si}0000O{0t5)WG1c1u00EgvL_t(I%f*wiPQx$|hW!Tj z4rK?aeE=4B%@j*zpn09kK(g9P^I9x`)Dp=IBpw))P`-R2q4sde6J7@-`W%~o%rbP$FG7gh)0fuuOUUTSyF{JG% z^uXk7)_@S03otxbA=*JGXhl6ABJ7d>U*JRh5g*?S*CtmzqGz-K0000Nz>!g2j`(ZkyOd=KYwU$&rvGtU!hh-;9sHUc7G*s#TN(vLx8(Fu@JhH^R zwxv`1E=}tfn@Dm4Ow;6%4j6)Qzz;Ld^Hm4C7LpR#a!U#;sW=#lzxdOw3RidAS oiZ(RzA;KN`{|kJ?_+dUi0SwnBSNsk&q5uE@07*qoM6N<$f~|Vgwg3PC diff --git a/graphics/pokemon/cramorant/gulping/back.png b/graphics/pokemon/cramorant/gulping/back.png index 3cf3283b6c573207e72312424532a19d7380d0ee..950ddd8d06df6ecb8f95224aaee59214cd1b9ac5 100644 GIT binary patch delta 571 zcmV-B0>u5N1)&9yB#}W-e*gz`Nliru=LQD?1Rp=*P#gdN0t87!K~zY`?bR`B+dvct z@be8GiU(h9)1iy3)DBhb!BzYLFK$NRr`IuJttpMUX~-8brXGr(-t++gH2e>Z3iW{5NbHp7?Q z=7hfkm`UL1$H2@**mH<>)sZ}fGh#P`p=T39Gzk)r!MsnucC~;|hh2V~8|nl$BSAok zJvSBQcWc5Jp;rNYZz}8CloPK{>5`7<0<}(t*rdNAtM?)BmyXF+q<1_7PI>e_>h(*1 zxj-hdSH}%5IFASbf9hWusAapy3GEGl&r$E(_o>kuu;IxOZ~)P*H}zi@P(R&b4d7>V z>r$T%RdrKh81CJi8m7f6C zG%SJ)ri_blr|dB;i!y^LW3jtY10h5XU?OgWG6DnG?KuZnsW&ZzC=Vc0AC}D6!w90% z0LZ9npou_eF(RI;J%A@&2Qz;zs%bURHNYazC*rB7@;~^`y#nST?`le&v`YX0002ov JPDHLkV1mr+1KI!p delta 575 zcmV-F0>J&D1*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?b0!C+CUfv;Nu2{h=D7h4qc2>i0Z&V9e#l6RZJO-b$ccTXSL+T`4P$HE%gwompxML z1!X}(_7X+%;`=Z8&J2~vouews)>|0fNALID8T9{r$T7Qb<6`ZX|ra}o9&qP^-!zQQrFo59et2_c#Z5|F{XPk(f^fKZ2>{hS-> z32a8fkP>@tD&nIxVT{o8kbW|i`DMn5*QazzM|6Q&ua@w$Ke5&O90p6rWGm7;Tmol2 zzKMJNGFUElK!>UvS$81#;5&VGl=)wv$_I(&^Tc`s7~?(AOz^oOzZSpOf&|`D0`&yc z<^b?o4=gU5vEKlH>VGKQG;IJm{P6Tv2{5eCDK~9c;sT%!2)OC}Esj(b2I}M@l27q) z5_L8zGL4FG16w9Vv{iOY%c9)CmWkM2seuq82QU#=LOB8h*zPz7SRo}SgednwS+Jk6 zgB3)j0WhPgfo23k6Y*5-06gj%%>1dSrqx7OfJL59#A8t!<>+4zLNDea?`o;Hm!SXv N002ovPDHLkV1l3r3_kz> diff --git a/graphics/pokemon/cramorant/gulping/front.png b/graphics/pokemon/cramorant/gulping/front.png index b6b64f03759454485b7b4dcde925619483b19818..1df32a67bfbb8b7b159fb71987872ef1fb4a73b7 100644 GIT binary patch delta 718 zcmV;<0x|u+2D1i`B#}W-e*gz`Nliru=LQD?1U7w8$Z!Av0+vZcK~zY`t(38D+b|G@ z84a8aqipM4U>y%i6u=Gg07cvfC|VgE4G%0pp_@@odVoGcJ8IxSb=F`lLYFM|;=x%g zpy&hGfX5DTPoiSkv8XPk1`Ygp_y5P^A@twY*|UEDulmjVq}vRff8BO(8*^A6UN-}X zJoiWwVGZ7r7ySmp^1M#Jk)X8mzJJ{(jXDS9`i3zx(H#hK{qdWDAOwU?1iAV8y`DG+ zm)*%^&{0t`s#S3Ay(2Ftq7x-aY%&VSO&w3gh$9QN}||M3Xd_*8>+|zpq^5a zaiwBI4rDp1STY)!e~PJrP?~R~0LE%$B#I2_{mBPPumud-zIY4~@tN@saRjPsL6j&zH%asW1 z5~y+jkXv(?N#cs&XDQ)81eYrJX~D5iVr7@Wv=YIk1OPJtek9Zj8imA zwS-C~=Y>k1=bf@yW@`z1m00n-5ZH&b5XD`T5~h1VDhOd;L57X;=B;NrNdd!X(-%iQAig%GADgym+dP)~pmid7dPTj&X(cvwD^Cn2(O zhN!U<);gh&fU4iG#t^klBV?Qtk{U-0hQ8trBPj1aMAVbA0cej=`;R%odcE1A&1Ste z?e8|bZTn&Ku={10lUKXnwneYDMweFMuYKV1FQV;;X7kk delta 728 zcmV;}0w?{m2EPW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+>leK~zY` zt(3iP+b|S`84a2YqipM4U>y%m6u=Gg07cvf2pSn34G%0pp_@@odVoGcJ8IxSb=F`l zMwcx1;=x%Ypy&hGfX5DTFGWTE6V;{Epy7VJ=N$f_|2NKF`~!H?tFPmBJ#cp0zOB`; z?%&n}2*31j9bxs~<5#_Z8p86tR_bd{FR-1r=;j*!K^R*) zI~N6T5T*bSq-3I_D)!-;v%(kvgy<=UYtCd?{u@&x(3rx%@i5gE_BFtL4x|9gcskWU zbP6n!$z{p|rvP>u0H|p0GD%z>{46Z&nP5VyoEA*`#8amLCOZ>M2movffFSO(!ak61 zfIU&u7(uhCwy<-5$yn}^DcuR3WsbH`y0j%z3t{^p3tikrVPR4NLP87YB1&jNW0GZ4 z{|E>b5t56T(?^=6l;#nlxHLh4kaGUzGY@zWETzuq$GbD(gi`+C{E@>5mXQW*_{zn0 zy4_2zM?eLIx<5qfD~Dx06hOvCaNd0XyAVmJqwvX$7s8J{^VdGA#N<;(mg)9!} z37|8$T_d1e1`7x*9h+9&E*A_c0oXVut1hTJ&oVc^eIc}|Xkoco8tNAygvF|AkuCHK zAX!*kl%p0|@rKAzH>^xTo&i~1-#tUbP)BH_2tiC`IGrJ3HBXQ_eW)Wu4bU8+<{xv1 z)oQ&#>-B0gWvXx2+fDOn{j~j64UnttZ^t568)Hf<&(|zdBJ>xc?TBV(sOP-^0000< KMNUMnLSTX!BuRGw diff --git a/graphics/pokemon/cramorant/gulping/icon.png b/graphics/pokemon/cramorant/gulping/icon.png index 0d22d7f1d53cd2630c4cc276e87ea20ba5dbc3c7..06b0d61ebec7c0573000e19aa8962d84ba21deba 100644 GIT binary patch delta 464 zcmV;>0Wbcj1iA!}bbkN`bV*G`2j>O{0tFDZMtsZw00EszL_t(I%f*wiPQyS9hVKom zzCa^|y-4i?uw-V7)CG7QXCPT~OY=gAxl2J!RdGn=a+N?z2G01BOPY3MfLkK}u^s#V zFGBp{09^=nV%)Kq|!2 z)Y#|13e)rkaQINO)4Scg#^fX{77L9@($`py=ZfRJ7p@lb8Ol1(eN9t_p~4K5>IDk9 zgKUb%3m|MG<$p>V7#4(gR(Q~1dRqaV*+FEjId`Y3stfe~2a zU>bbI#IzLHGo|f5UVg0669i>=V5?u(y)DOSIeXIaMkO6VOkrRT4w%HR3ljtS3>fZh z^*JyQMGlzJtrAID&+5&%}MrWzM=(2F%E;^fZ;gz+pJn( zB;~3XT3|9Zt3wE+1BM4HMBNDmh1BvP{5|q7=lKwS#K#Y@;wu6O_L>m@0000r~E)Gg}q4a2e4#ji_``9oy$P7 z#!K@Y2qNy z0eb?oI=Lgnv_b50O|(!+l5G(&?-D{~$^93{x~~XHJsxhJQGaN+={&Gx-51yteqmm3 zlL1&3U#r8q95qKDah&=+x)cz+MxZrCrs#Ys5E8M{4f-6|V3u704j*dwYQJALn4ZCE zwNjX-zQ%C8lpGfxT&$K06irdMnzo7}i8)B=0Y$unXv@|C2uv%)Mrarg2yaZd(V=@& z15L(3WQ-mIPJgNE3E+xp#{aLr0RSJvZqD})O{3jmU^f3uh;1p+JEhDaS-(G_GYG2a z$fJIF@?$y8s>Op!wleJvVhiWyXoX4LaUs;8Cc^OEMooo*IJUx!Zk0%gl14g+w&?sA zre8|TE&+$>x0`~6X?Xm(tLTK0tiu4TFdP@|G@DKsK{ti;pc5wNVf6}uu)=U-Wzh7X oq=-5{0(X!6%Q-)W^~ZjE1F_;O0yut-j{pDw07*qoM6N<$f~P6begFUf diff --git a/graphics/pokemon/cramorant/icon.png b/graphics/pokemon/cramorant/icon.png index e8c1ce511bd952513a277fddd87d5f7a0a08ce3a..fb93e834f38592dc159b84aa4f032479f6ae4b7c 100644 GIT binary patch delta 414 zcmV;P0b&031Be8WbbkN`bV*G`2j>O{0tF`y``N<)00C=BL_t(I%f-{NZo?oD24J3` z_YUr!Nbv)7@!kokOVzEf&{sGQ2`eo2lVwRV(8Xp*Dl?Sp1=|?!Rm*n2I19MXLj2xx zPEcNxQh+HT2Z;56=*Al4+iibDL^W-=Nh$Z=T)Vl0D*1Xu6 zCGWUzsruChFwG`Es1Le3Z6QTqEaJ%x^GO9XcsM-4a#Vlr&gb2L^%9h2*b>!3`KQ<@(%8v0QLd8c<&^jOVO=Y=oRQ8 z@hUC$$+9FF)Wz126xL9&v~0`r-lBiw2fsjyPl(@>wSv-`>KZUQWC5`n5bache7he` zh*-}JcPZuJn`^rysFbfK)HZptlP@t4bn7IxsR89RO^hvNzkg`}-R#mqombs?577c` z5YKj4CKb@&@%RMmsP58TF8P4fY7|A$VO1>|&vkCNR*Ugi)(#w-S9 z{DOAmW&?zGS~uE4+!#LD;X&hqz6aWVI(ffc-}n7yf5C}u$A1WHvc;(TGXs+l1X2=z z@JbL6^KnWD;(yBqU=kqU#=xuuu^t$hga@E61|}g0%8&P}N(rJ{S@t%;p#@?-Rvesm zD)14n-x@sb0ps;uqZpWh&p)+*4!{`3AsQnvT&pPqO#nudGK&#_srgtFLZC-rDow2z qCZnZ{0v}9D5dYrHN7P^Q@dL061%&*NkU;&ubG=5XWDkD>-;*qy7OV9{debb14cvtSK!$tUq4eE(>1FmgqI^ zBE6J^;ARO3VoTrRNxLN(_T;4pZ|X`~-pPN#yEnmGotG+z`+sJ0^VET41M|tuym>p{ z_ZT~||7%k-$In?3IRE!U2UO3R<^n6%NZ>*}2pV>k1{MRfrHBNkl|N|3T?!Znzz_+M zV0Q7taR|7p!dd?UpkA@CK_ zaRf6Dcpd_8zd|yuwvjKQu7KO$AZw!E_wq%&Hq8~N%tI&wKk)1M5IrFPEp>$7TyJWC zHSy*U{TxJ7AW+Ze5a{O|KnSrNn_uz^wILeF2!>*a$$!kxd4PqG@CXC!h>`EjODYYZu^LZCkhh^Q|9*|K3;2+Up* zaZ!e;N`G01Lg3sSEp*3=Qzcscu!nJ3Sh566&QuMU)Ti-2mwOY3wMCHY_a{m6 z@*CtTVt9e~wq1GMl;S z!6pH8q9|kCj?5^4*J@VjR`nfy$-v1r`276|mke%9x`mur-hKfWTh=&+M3;^L0000< KMNUMnLSTZ&yUcw6 delta 971 zcmV;+12p`t2%HFzUw;FqNkl@q{PMfg6mU$0v{nOGT3Fn_YwI0Bcw&Q>*Xd|8u;Ze$U7Jh{Bje&+4fzi zFG3{4APidN6ay&%mANwLY;+93ntXkXaRIU;5oncbNQ?^sAf?<*>_5v3bs!$87{+pp z#q1AdfJKms7!&NtWdE)SU_w}HGC=_LRc?r*EEmHm_J2wNgVaqC=zD5tDxm>BOoZ6B z9CHdw=4_A%{NgH_{LlG^(7iW-$$VA#b?5I*VbVb@Y(js8j-J~KH9Q5Zb^xRpZI>+CkqW; z55e~(er^*0oT~NMJRFuh16DFKkc`mbqG-5(Oaa=?Z~k}#fS7O>(g<$;eFKy-Ta25& z`~t5A-Q%)<|5ySHFPO5Z`DI zjelu0AjLr#3Sn;KNCOGz`3tH5O+1;Fp?sYC0s!`~8JKtLLXqGFp4;x2_gjoHJ_M-sEmT-EzLJfpPML1e8F+t$1iWO*nYl$vf^%gr_{p9yAd} zeZeaRgGYVc3O!j|TMM7i0M5-e<7AHoutbMn^mHFX?l3Pq+9rTr9OtaxQ#l2QX0vVm t+;~GDGH|lFSbQ+$kRkZAQ^>i>`WF{l);Q+{c_sh=002ovPDHLkV1i;s(hvXu diff --git a/graphics/pokemon/cranidos/back.png b/graphics/pokemon/cranidos/back.png index 39aacf0bad4e2bf263285a7f16daa87b332d7224..2da3c50da02599b674d7342adab51411415073d9 100644 GIT binary patch delta 691 zcmV;k0!;ne1^NY$7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lc8HZqi;y0007ANkl*70mK$ltZ?Rl0Q*3+ygiYz;~>qi`c>*7b2y|d~oE~U({KBQJ) zlp~OE)Dat=;o>I;E|Z{?RO#R%Bj0r%0RjOu!21DkBf3(g83UpG`m=#{_@q97f8IcPF66=mK?)bTJI!#t^w4S_I@G`4ET@ zn7I^0=U@gf!hrVx0|Rj81ZW0 za?hqjbow)fr7dM!{!6Hq2U9i&Ifp~&TA5>i9|B^iLKEnOh%04%IDhRechDBKT!}nh z*>u5!_6A~U)n(E&Dzv?PK~FnSLPTqu{q!};j0OGhNA2U7iVJ$N6rtySCE2;=F7!^I z2&xC5ZNjkhQfVwi7l_-HgGGO=VG-+Pk!I}y44>tG+wCoI*{QlscVQPO2Y>?jvh4!& zj2l_^5rKWzVh&}}nk*Orc|Qe?2<@ZVBxdw4<-K9kW5^}7IpGV67~&S#heP0sfKo>K z$D-G68pCqI6H3Sy8n}#O1JH{xfN4&@9ZkG&5JI3xOBhF$BrzF|x=0^r@exo@V(9!& Z^#>tP$ED|;^7;S(002ovPDHLkV1nzFH*Wv{ delta 659 zcmV;E0&M;I1=|IX7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006?Nkl_IAvb^M? z|K}EVMxf{rV`_xmkX`O1O>_f;zHN);{v#mrPcw2*=p00RrStRGll0Ih!{kO>#o zm%hM&z-m5x(Z9%1AJUHu7_u%eW2sXw9u8RNG9;ZGywE#mHAvhx4V(uAixIqQr{A|7 z=2JQx__haB!Z>q;=Cr9hz>I+L#|qQ*X?{!y*e?#}(`A5wPQ)Xu5YExJKo}6Dv4;fc zuHP{r=$uLO_EX$dFy0c5n0J4NGXbGogmR;<>yRIfvitNDEGva{@l8L~X9v=;B?Fni z^$Kk|oQ|=D0%-LU0=08>Uzk`B15o!lP!Acv0}OT0U80Zt%CIn t*7pl>pl<{Q)K#tk`uA`3HTsL+jQ^8mHSNyoZ&LsO002ovPDHLkV1nqvH1_}i diff --git a/graphics/pokemon/cranidos/icon.png b/graphics/pokemon/cranidos/icon.png index 49b6fcc4b4c6cdd9c697d1429dc737b2cdc8697a..0eb1721c63bcb7d8c088537007983d2ff66d8226 100644 GIT binary patch delta 265 zcmV+k0rvj60^kCWV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0tOl6x0kB` z006^DL_t(I%jJ@>3c@fDhVurYx;OOPJ;Vp_VSJegqR`F7mvK=z>N7O%HQL2NdPb>D z(#chNkmchp_j7zg{B=p&2k0J$0GR7V2r2_t3_wFg1;Ia(h<{GTb$ppT5ap1vJh$NC zItrXGJkUgYoY*I|Gg9jfxXl!Si_+_(?Pf|`s+HE=nrbwjseHHf(X%AELGHue6UFHi zvM#OU1`V1rjBjh(sOTsxq6>VG6@#on2;==|g(-W&M1H)5>G{Dw`|$!l{F>I2XGpaG P0000kF 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 O002ovPDHK)LSTYRIW#>0 diff --git a/graphics/pokemon/crawdaunt/icon.png b/graphics/pokemon/crawdaunt/icon.png index 3a300defef023d25c0a39a798a863228b133c19a..e3f408bfa8bc32131766e1d9451076f0a9f3be58 100644 GIT binary patch delta 361 zcmV-v0ha!k1HS{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LcBsOUjGa z0003ZNkl{f{uUL!c6${j4u6L*g7;D4_L)`wbC`I> zej`{D%7&9fc&$x@jEtu#8rL?Rlj|E#UVyD_TI*}_e7Y1{0fV_G@4T<_a(xMi@9xMd z4aMt{5bgcgF>L_0gfiVnO-yUtx9GaAsT8f7jwFO!nymxjyrR7{L+%PCoSTsjW#KMo zPu6^7{*3_&{9=>_Gf@Z>`j6`YV62D$j2-d<#uK!F@dV9alrJa%V+Ac>JV7%U*aTrA zW-v~W{f#jgn8APpV|@@JCkdVp+J`>yxruz({>TTYKl}Irk3r;-<;pF&00000NkvXX Hu0mjf^--Qn delta 321 zcmV-H0lxmf1D6AkUw;82NklZq}6b4}5z=uKV(4kDZK{C_H0|Q(m_o&3+ z!E7v+U~joaDh49OmeN=ij(D}exVEQmQN8)`Ka3wALJwUK?Qs_EZ&BfEx0hk!a0nxK zA0=*|S?xcEnPv1hf)y#~coGQP+DynqS(>8BwyB(4-&pbj)PJ@qrLM{I=~8Y54EmnD zv!Tu_`x4;a{gKuR%GWi)yZf=HN&{>Osr!$H=uW$DQBBhnf_H8@f)H|Pw+@8!x)_8W zb62R~+)l+-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LcEL88X)V z000F8NklKs}qI1|T?m)(|D%^wg)KIV|%p)91VYs$z9 zz0?O!oMR4&nv)S5yP{j@DcR`QKf&~}AmDxH(0 z_wjpge!O{KBlOS4N_GjLXxY_tqM%jMiLJezwe%Q!gyd6!8X=WsK)Q?EGGM(*$l<>R zYAG>R^lEw%jRHvp)RQyr;qjH&w%8U)%d&Kl4k(OucGG}0#;y+M0F_c2K4&Y2`P_~t zNsnFErSi1p^nVS9{A5R`sZv*rIy`^4Q-kndbq=)|pdP!gE$h;CuX%z*=My-}YCGXl ztH)rrIKcsg^$P5@zp3qnIU3S#SuzGEHgtUks9-9d!FfrxO6 z<^V5`jBX@CH&$8XFAtJ1LkDcm0ngF%2C6x8aNUhZ;DA@`hNs-REXQlJ;Bep$PwkDl z$}rCb;eWl)FSMiL56$K)Pdef8aiTaK%Q_Q)(?2=G`DE?A{L#92%7Hfx{B$%<00swI z!bR^pZ#bIF0U27YSga#}H|8tf_a||rS0sn+Hj`=g8UXm-Boe1b%Y+mSLjnV8ztwf$ zyPFaj<|td_&}f+g7#67w686%!p&^6!fD3vpvrr4o4Zoh%A+G;LwJ?@0XbEgM%^ZwObLOjWP~3p~(IFKEtpC z@XcWP*(!IO9yQ^8L-%dQ>`ngMON&TR3T{lv#`A;L~V?M`DTJ!*%W`@v*VX1uoh z5q|*T_}=3_ljG5wT`4aCzzIiMscjTvoJaq`u}ol~&Cj#TM9P=hB??2UrAL9*dyuYT zp!KdU0}hsnl%+sw45e00S1~J<^`JLLdUE^@DF{HN(C%nG2{f(mIiNO0$2_ku09ue` zu^IH#^F)Lbs|87HTj8iDfQxS>z(hw(xPO4_^$ME&wrr{_3FHiu91v0p%8Dgo--Er@8&RG{87rKk~*iAaP=h>lnb2IsO8`V47qy$J1}5#E@?b zCUMF|ikE*h1+^`J@nb0f@EHg0-anE8LiH`FF+d+cg!Te;Kad*38|4+Zv!L{zZigCU z@Z`3>=z>27jll&1G`OE9lS!iVN`ICk1j0Ltq4W9rYO=B%gSCVQK=j>t4;j{aSz?9| zDLszNT{cR;-Kv(1wh4I--+>d_iC!}q=z|mlLJ^A6bR6F=_YBHr*9@3V8~+X$3>Jk8 zjN=#v>jYvA+N@)vXK$glJUlILK01ND<23Tf_NxR0z&(xttw28X8a(A^x=Rj#@8e=< z7oS1kQ2C&MveCKzxyRVx=3u71z|Q|ANMMxbjdi*Z%4|t+j>kyrxoiBF=>ItW1~xUd UO_Yu0bpQYW07*qoM6N<$f)fXXK>z>% delta 1330 zcmV-21OJ7{^CjET{=5M=lZw$YZ@&hc6-7_ybs8 zl`d>Ngae0jM3|LKnyAodUAnM0SDEE3Wyu9n*>_v!BZxEyD;MTc9C(GeB3<+eQskML zm9#I?Dv&CfYFE$C|L2*Roq7I7=%0;DZUvxdxku?lQLCjBrGLGhwe%c&gcMSNBSLDc zfOLucDqy`%$l<>Rj#6@D^m=*`jUq_})b2S~SiTZl7AujoDl3=ifWnx$n+B{gc6}HF zR7&aeIaf1UPwi-t^wf1-L1c1yeZwI?+2Lub)D`0dopae@N~>owSGe^c9;)@aDMWyu_z*wFPkphBFn?i@h)5z6iE zY10g+)+J+tcpd;^DKrfS0x}*06o`-HV-w0B%A{n-74dh@&hA z+z6oifdG#$0M_+~F$b85B+!ja0s!KTMTV<6@G1$Ymw!?KitJkM>rgyHo_PbF;c5y% z30D!|*t>%afq=*m77&0}K*mg<8x?>O{_>!R)>MGS1bB^}H&9!1ft!dxhH$_u%O4dk zP>l#=iVg?v@GRbl#F5gv5QO)>urQ9wKQx;!Jt@NT<5(PRIhJ)U0H@zQ$Ax%YVK08P zF1I=GrhkFAN87^7aN z9RfNi>(CY)a{s>1Ff0N5X0Vxr!c3<}TkyW2`!-|try^|#=)iSmi`U#IK86bsb`s9+ zEQivg_H=VUm`tjSpY47KKsdVhxX| z?SIR3LV?RXJqxtngH)gdtv6MI1E~_+q^tx|b0|mkbQhDUtp~k1)RQ9$Mo|DNg?2|z zl0eh?o&#!Abj*t+(X`r7Ww{yj)Qd!huGNMjwyf!hODNsTZzaG)M@&e-^?D6WeoHo0 zmIU%fiyRPA362#@7RFfv>pbjej``WNL&w{Z%6s={#;10?gJ9K9+zBIU+@5 z^4y61rhO5_K_Uv2j$n#kZ)!ELEtJX}5kSFU7Quu(cKI%FixdO+1%-1Omd**O3xEu6 zuHiqY`+Vx&#sTQsdH;{u%VJ=E90pF}0GoOcks}E-&+_|sX@GIIe(a6sK;nxrZhs;G zOV;=c0E1bP$r{hTkrqR~Ettd^Hz{B-mX)A(1TbD!0sxP{7&f-2dETZ18X}(_Rqg|0PIZR4d?(b+!=7 od`WPg=Sb_hYy2;lhyTapZ#FfxO$|a2MF0Q*07*qoM6N<$g07`y>Hq)$ diff --git a/graphics/pokemon/cresselia/back.png b/graphics/pokemon/cresselia/back.png index 2d086a65fe5229af7818ce83105ab6d031878ddc..582fc4868bc2fb2721d06ae27a9f425bac6178f9 100644 GIT binary patch delta 416 zcmV;R0bl->1cwBWB#}W-e*gz`Nliru=LQD?2qMcrQvm<~0cuG^K~zY`)zm#s!!Q&8 z;3fyCQse_zRtgMsKsf=HGg2u5!&R1AX>G>O`b0 z$*1?{yo^Tw^O_* zAV~iR&KHpy4Y*t_!ZjLDuU8RJ8nC8u(7ZoIfxKvz!7*4ceSV{%E^U?5hb9E(u8rm~ z1a2MpkS`ewhTK*8Dys|xGY|A#g@DZ=r4Si(7PHoZN}mdc4r|`GZW6iRP#=W%z0Yw5 z_L(?P20t1DT06`;e-3Yl20lblfnw-?LKN4~ziLq1zRSHRCdcHU)VAa9v(VybL&i#9 z9Z#7(cVHA2eCo%{1Ys1)pwzv2o-)RO8ZC${md&t>?5+iy2pBMMKtQ@T;48BH3TfgB z0pmRaTn1Gm8Nze&0m5Al9z1R+=I-fRj1<1xNLJa(_X zD3my~%dMgZQg3S8X z?nKTRGzVdQ?=mjHIb#b-??^(v00008NkvXXu0mjf>X)^{ diff --git a/graphics/pokemon/cresselia/icon.png b/graphics/pokemon/cresselia/icon.png index 8189ad7d1658b3fbf8f4af24065a026a71f8d583..b482f263d8b70d6a9e48dbcd678888ba1d8162b7 100644 GIT binary patch delta 438 zcmV;n0ZIPi1O5Y$7zqRe0001qplF?uEXtLJW!Gz=yU$#{JzRulJSB#1(47`v>DvjV;rpy)1Wssu1bHe| z9Rh@|EmQJpP?!K}^LX7WiDV4__`ZM8p(w{D)eG-b*m8#`CseT1|hBu zLI7MEL}Ag6$)K?j6)X*E5XIUcKc5+RgZw^E|7p+y1cOZWB^re2KGG3SgL*ABX5tOH zh`!6hpe+xbmRT6AxfkZFl45@R&I@zer$IWYCSi)G$7B#r!rbP>kOX0JEhHicGryN8 gjDu$L@}5oo0p4;KnYIoLegFUf07*qoM6N<$f_B!t!T*i66!oc-!{32Ji&b2Lk1hs1Jme&jiW|0E?2* z3E<$!2!A2~4;zu=hp^0Q(}g1w@T8W49ETAj0JZrJNR%-HtPl7S2jVw@6t5zcHRyYz zGOu9e#R{9ZAjPA9HI@Jktu?DaudPBYjA~OAQ8g~dZ6OjCuD#k}32w01OwUkrn7vcZ zJPzG=C+0RID>dN=yk@610{Q>HSQ{6j8C=2YdVW@FW$z* zg-Dz7>v0Q2s;7taU&rqn=H?*uqaIGfto5*U!`$fMG|XCf50hcGs~)z|F!7mR_h6VM zFdF7A-VNh59-1F-H;ns%?=&~l5I2nbq4~H7f`*|$Ji|pGW)J>yftVk%q2hhN1+o{F zOWZ39f!LO1CL%!>$ikEH>IZ?W^>7O0Ru3g5Y00000NkvXXu0mjf Dm7BHp diff --git a/graphics/pokemon/croagunk/anim_front.png b/graphics/pokemon/croagunk/anim_front.png index 84c7edb09a5e7f5da221c27f56d336964e9fbf5c..bc9287ca543b0894f9a54b471113ca4f6b1275c5 100644 GIT binary patch delta 747 zcmVv5wO~5I}t^krHVaLq%b4Y@bfL&fx=WR*_QBm~3cCWDjr!1rppJ z@CAV)9}p?w59kh2`Y0kw=SnIr-@xo{XyRS>kupUTX`Xh*o_}5M^So0WW1LaXqdaf} zj|P+qkvj>Jrm4WlT|gg!fg)T>Jbsy`&&uK0wZwyS1csmAmLdxrz&I7d57(uu#;cE5 zet4|_dyR9cfH$AY(cE4mDg8_c0I^uvYed4t=-co z1`)JrZdjyxuzxoZij1lnqqzeh|JxL$<4uqdlNpYjWi!XXL#o2h!38h_K;qlSL8b}j zp8!OTc_om5iuXSpU4}EF^R)vYl#x4t`=}%=X3Q>=DvH|5E#Y-~dx*wjQ&Ndm;gJhQQQ%bc#aGRD#44u-4$* z^d47L(SP~DjN^FL2@u}(IX%TGPH_^D;}j6T+1A|x^7Qs*FCg}dIWmTV0^;zCy@2?F z0XX!58^6dBm&0hkpmaEM0T3tx1;TCzUI>8^jK;1g=ocROgZXW3vjY#J3;`t=jm-{v zAji0_5sZz+4l2|KY~2Wk)eaV43ao1cqiqL0sbuZI+Y3h94tiQI@Ij1VwCw-^eG%>j z!(s<~p>%)@j9}R8KwpG?bvQYXoOYl9t_r#C&1j&-GoE dPyTS6@eiDVBToAa_sjqQ002ovPDHLkV1kn?RFD7w delta 722 zcmV;@0xkW%2Bij&Uw;CyNkl~3_@bsHXF7b{W< znk5b`iFOTKL4gGK20THa$OA;W@CI~;DEBBL%FUHjT%LikHzz@MoIXA$n0#noS`+SWOaSbL(>D^L?BaUY7A!%1HErk7LJvm0R&Una-L3612~wG zmuZ)QHwGPhXnzxgPGX2Z);e_TSFB@g^zOT(%V0`vymA;Q@+xoSfFpkCP zSZQq|R8O!JG|$!41ZXtYXbmBn-lMYIU4{P@MUi9f?`w&D*XdD59rcfn0Ah3?0OHl_ zYCnKHxqrFd0to&vhYg_sfH?SK3m~548o#OGf^GOBja>|5`GT>*)Me1VaR5NzbU*^_ zH-J&&hyr{;=x>OxD~t|^4pT4~z^E}g=x8;9ybWNi5IQIUAE5OHFi<*}f6k$90~l>O z=qO7EWD6K=I_OxufIrdzMw<@6U?0LQU?6lL=1T?#Xukmrj1KHW*fob!h|oy~#vn`~ z*Si_^?KZ-IJMe&dY2aJ><+x$X50o*!pC5!c^21^3FPwoRP8sV&A^-pY07*qoM6N<$ Ef`b=GC;$Ke diff --git a/graphics/pokemon/croagunk/back.png b/graphics/pokemon/croagunk/back.png index c37d569849de01b666174d7db8a59fb7761a1916..42f1f1998da2c0b37f3363c5e28a8dd4a4993049 100644 GIT binary patch delta 431 zcmV;g0Z{&;1eOGlB#}W-e*gz`Nliru=LQD?2{lpo=Z63Q0eMM8K~zY`?bWeP!!QsA z;K(n4&Wb8^say-PRTXkyfc6+!DzX6*8S(%~JPaK>c4TF%#O9f)uEfv>fPppG32o!V zz0M$RNQV1#{?AI)DEhBoT18QmFF8EWkJUMsvY4om4D}g6tPlW|e^Mh60Dah&6@d}# zV+UZO#=#SI6{~6cjA0D`rh;W5>+=)LS(JeZYVlPjCX1$7G1ozobD8xFJcNHNYly zb+;8Qa8`BJ>23MWEU1U*?<1^J_gp6ao~)j6V~iFOaeN4vjn;zsAo7+lH%kY+GY0SO z{(Dt_^}384$U>i+Gg?n0c8b^$!SAuR(%Rl)A1{ChKezbGC1(8jorw@YTsgp;;D6^& Z=o=a2=V4u(W4HhS002ovPDHLkV1kkHzF7bO delta 441 zcmV;q0Y?6o1fm3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eeYAK~zY` z?bESN!!QsA;K(n4&Wb8^L5>C4stUO;KzocV71;oZ40!+~9)^w`JF>D>V)M+@RAT4@ zz`z>pq-pKMapp?=Lo?i`^PQUn|2fqZMNvNZxT7A5E6RB>6BF*L6M#@4016={%mE^( zqlBXc`91)ciK+91LqaisZ=W$X0ARvABe;P%f;uDNz7aH-dq)7cd1k&56nN&8V_?^Mm2yo%zA40eB0nm~ROMmVN*WdkfMA+`lCZSr4E+BS7Qtj(QsWv>Mp; zGdjq0p1MF>)sKWyyTNaq9pVBci}NydlMov_rujafRS&cQ0h(KXf_gxCOp3_uOBxwK zH;J>f0d|SbV=Y?XvZ`#8hw_;!U=9%-N7yF%cOBb%5_85~o=e6Nr(Gc5Ny&%}0&9u< zeyxFZ#^_7m|9Ms4e5?ZvQuCtfXd~r3AQy-O<^YOpq*S*U;Wbd>9*zlb)r|Y^jJW{f jMgyXS{Z5>4g5VDn8RX|-<@RLq00000NkvXXu0mjfy(Pt( diff --git a/graphics/pokemon/croagunk/icon.png b/graphics/pokemon/croagunk/icon.png index 448ba7e42706002f619171b4729c2725b9ea2095..ff938f9b8c8ce06a1baa49bfe098aaab14aa7442 100644 GIT binary patch delta 202 zcmV;*05$)c0=@!}U@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0tyjE*-(`L z005y$L_t(I%aLawf5d-eBhJOgo#{Ym;y-cD)vvrm9@&g{Z_0Xvk(9hSbFSmzBP5Id zz36Cs^VlAtLR{{Vp3I|ugh1i{j)#J8keu?L|HZ??H~lEy`&jq`)rb85-@QlkvYb4D zKp6$YB*DA@CK#mj@t@)U!@?J+9{N~_mOl9Zlbt>QwL*U25RJ}9g8%>k07*qoM6N<$ Ef*0UkrvLx| delta 167 zcmV;Y09gON0-FMmU0W5+P+bp(Dsw}SBF31DiBkUtww@;AuGh|44ZBZic+8{VqqUV3Z zKf@u193%9fAA}%w9ya4t%u%)o5>X-M65(tSwv!n`FSf!j5$y!2B|AIsjLj0RVqNP*plExDhzSXn|CBPLOTAImKvzYu5$N>-rR< z4T3vBdRBwP5V)aE477&f08QFK`ubUp;?@8g2iPhU&HFSfgp~p60dUi7x$J>gMTf3( z3)DX!R{=|+No3C+UnYp2^}sO?HvptvBoc5SI!LrNS5SA6BOrDyCJsaH$sSeSi|eJ z@07pTvhO~MAMZ=7&!o3b-lX5&KivJ^QnmIMTKr4<_{6l*oeY%X>bL#=L2F$FYyF4E zr+>72v|OO&Ez^1y2DBM%o&mQUF@c(lQhR%b6K@$VbXn7AR90 z5Gau)WWYxXz-7hQ4B;>k$5oX|%qp)3#_X2i1lUS?0eKXwrN_ewfK$Ep0Y}}~4-6u^ zJe&A1Sr{BHHj%(?epj!@5+eYJk;Ei>)o4ei>79*yNc44l9skd9{sn*g;c5LMfP%R7%92(1aC zk9&9)K@049yjJ*$q)&hQ#|KRlW7p$5iB?oorWw~%LEpBT05gb#+J{qhtdx^W?hvUN zxt;~Cyh{tTjE1hnEH`!l0=pRt18~mB&cB^_k))b|!c5EqrzN?xFK;Y_PlCZYi2Ii- z6N@nsG1zhd%9Q02{Ujy?h7QW;%D7sU1{f0bL!CjgaI)FNCjoLXz)EFMw$RM)|%|J~~H`XQg_T7Y00l z3C?u^U=UQlYfyQAPAwo?K%kah2!-C>05S;v*9MS-tUntF0OUb*3=le(^cO%N@CDc* zV4=5F0NR456o8#wHVNRYO@umN--Crqen8md zA)?KM7Jx0t#b}_^>oGoKGocEQv3Uz6!13xJHBbOJ>iS@R0dtb$-Fr7+i(HTZ;rXfs zG|>Y8PiKWnJ!zcuX@Q9a9RnsksDU_uo74v%waJ2x!9dWT3{=G#Vgo_P;1E@>WAO&M za?h~If@Hp=C()1P5g`^1)teXkCxEwEZwJ365aIPL7QSD|FxlnvdNIL+I9~YUj@N;_ zeirpgaQORwe*dE62ap`Gq-O#+*1z9B&c~`=p4wX+1j4dhr=8uS4#D*jeH)O29|?>V zm+-d^dh8|Y79d&RWb(iQL;yQs`LYF8h$_V@L9|o?sQbFA>t!(|{kCKQ!n6|-sek>B zdjQyI)6Az@u`r1U#?x>14{=;m42a{tAD+r7fOSBBOp23$idk9!)Q37pfX>b#nS~Ld zyJGl>4he%Lr-&|LxZ-HAFD8~O^q13v^!JHReBu+I_%HFWzm@f7{R6cFc<{OF3IO=( zchNxV3IUjPy>A!=`4fEvi2SAp?L%G#m%bzzE*-Vycr97Le~F(FzPnf=LgDC+M*@KnIsZX%O^0H_3h1WV~j3`h>q!c`rRF$)CLEkQ-) zDxRhZ+C0+sUs*rFX{WWd=(n{8g!q#ZI}AW%HjMSu%Qqx!R!F@h$5uWAEa!$1b~wlq!vdO5+b-o~FPAj<~;SDhj#%gbwrZWzVL9pbW&fewhDRf?NfhC!*~L(1iBns=>5WN!fCa2>=9YB-ud>3zjbW# c-&+0w;A11}o7y9E00000NkvXXu0mh|f+!s8nsE-EVRtSyzhKiP4n!4s>iicOnj@xg~PQ9bU0QO z1Y%u5V_ks~pkflRfZ-Gd4gk)=^aR)yjC$fx{{p~MkB^EFUEQPTe>Mg{1~_V{0n#92 z(jrr)`~rwGsW?pJtrlU;q3lwwiAL^HhO73)#2v^oz}R1>ncoW=F5_V`cNqcSsZ7J- z)+fM}&FJIOHwxPuAOhgqu&8_jBL=|C#SyJ%5$z=|AOa4&$3Z0x^j%*_!tDf^N$pv; z!4cn6(92ccTO^SPbnvCoBPmQ-hn)MwNyX$nCVLLg<8)!!EXD(+g_kjI%Ij=(M21&s z(Jw%^Dn?_Q7+@>_a47>vXsUGQ&mk^lez delta 399 zcmV;A0dW521Nj4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a8gsK~zY` zy_8{!#2^fXD|moL3jI5Vg4dWzFVwQ&^*8EjTXoDpVTD4c`6llrBn}S`jQzNBBNIQm zap7?90yCPffu=K~jIH~Ary2oVCVLDDVhRx!6 zpf&LFjO+F|TXiDKPXmw_VBSYY<9IWGX#j9315M+0y4KlT?EeKO#bub*8z8pTKRFD3 to&nMl4sxa6D=ue(&1Z9Z8ooKh@C$34S)^aVM1TMQ002ovPDHLkV1m9tv627) diff --git a/graphics/pokemon/crobat/icon.png b/graphics/pokemon/crobat/icon.png index 2d42fa21b609641b15e8da29399477fd39c058da..fd213218c342c77694babff85b2b32315ebb6987 100644 GIT binary patch delta 351 zcmV-l0igbr1E>R#7zqRe0001qplF?uE^BGCd0bjwg~qDb+McQWR6A<~=)gFXYH-4rl31;@5vZW0hNK+u2F z00W108m*aVDS#NcbR8`>Fn?K|z`J35AY}6Cin}2^kr7z~Zs-eC!U_0L6Q}csXE(^R zFu`1{Fi{1I=9g(mL>em9hsINTMXZ361_Bm$t%cD!+4~zPPfz2Y3-?L`0p002ovPDHLkV1m2Fm delta 331 zcmV-R0kr<81C#@h7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0TM|>K~zYI?NmVy z10e|9R7|>s$p3#^KwEWHyftZB4ttpq2i%$C_^o0o7bZenGYocd^l?m^^T}@@3Nzk~ z(ND!nVB!WQsfMBqBI{zGL?A`&k%S_JjU_`7#2EY4Sx?MoSk4Q68N~_<9wS_)$_-F2 zFnmG?bUsc}t#G}6-eiX$j5}fi7~fTgOyL%6p|e+KT@zZR`NmDVEnK+HtJxOaXL||q z32EPALpXN$zrLZ|kW!pBe^Pb#6mHx-#j$nw5-;u^VMeI#o?Z{Jx_h8V;0RvbJyJCA zT6cHp_SRU;t?t$c83N>}_RkRsanw@mFC1gcawLZ+;*wD+rq&?MNxWREL~*WVAPr$Y d74)eXcmjmj7JFp)Cky}p002ovPDHLkV1n*9jSc_+ diff --git a/graphics/pokemon/croconaw/anim_front.png b/graphics/pokemon/croconaw/anim_front.png index 3fc9ff81f28730f3aedbf0549c0b431078ae8b48..049b0233a4fb8f4a8705a4db858655e53811dae4 100644 GIT binary patch delta 1107 zcmV-Z1g!g>2$l(u7zqRe0000-1af8YkNg8k_76~)^J-(C*BGy_ zKfLT$X_0J+8)+Nn2&HF+=tqIMMg8{^nvbxlz|KB>D^lTq@-w zpzmS*?qc$nnhBtta&=oV-tJkV1%P`LMsY+~_t}SAu`e%&!9O z8OL#AtcVk^T%t$w1h@Iy0thg}67cz1Pyl%WM54dkqjUNK19@H&+45*_S}nkdN&$Y( zvC1&>D%YCPgYmm0!>n?p4lSI;0wN&Q0hYsx`cy+yO4uFG3KB&xsRw!wngIkr1Oii$ z^_I2~WC#-T&vWcyss`85GC+S90{@<4hyMtiiRF{Lg)Yo54i*u3V~VWERhfd zL`o5mRRJWhj38h-P`=RIUx#MkiK3MW-Mm>20^b#JU-b1iPl&csGlu_#_IhIt#+XON z0{M-EQCG2b)0a|}8*fFSk8DF$a{=g{#)q)dqml&Uc$sbtzR6tD;FpPwAfbqf~ zm`>bjs~I{FX|{}v`68CR)HD*Dqg+688l?IZ?m0-#NS(MI_~sl(<`)9uNE6=NBvq0= zlVlsKQgeS`Rnc-2=B?wrK(DRl z>7cp~4o)LY6!VpuF9x0tfaiq?8qRa2lSO(1j6vxSG+T|rE92pufW=faH3u0>^f<$} zkS_-6iKd1l`cPPm9K}1+HQ|RPpo9T%3ZSi~2wZE`oy=TX0)C{|Zb(Vq^#-F9cOh=b zAZYz+X(0L(X9hq2Kn4Om$`uO?{=sSn5gG`ie<+&pYW#!cNSV|c0kj}dz1T3eO3yyf Z^)Kw|TPcD|W10W}002ovPDHLkV1j@~2Y3Jg delta 986 zcmV<0110>H37!a$7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1Dr`jK~!jg?U`$H z>>vn+lafWVyXyb{w*|z@wr4hwo@u{?UZ<1y2`Zw{Wx32?>reF`@V9{VWBWV6TJ;QA z&p_6XwE^IE4zL01w-vUtfUN?y+i8H>PXV{v?Myfd0NGAC5Rd?fkqyBO2>TxKCUOA! z;RUe18iac|K?rew#~}LW<9-LAQ8@Md!S;k_1^8UR*ewK*N$|OVk=8DR2EjYZWZIno z*dLF_UET}{?iFxb?FgW86M!g>l(UY3;?W*Z^dPdH-cE!JvLe2K1SI|Q2{XX85(!vO zgv@~8_aJ`*pl1%2R6z7k9zm*0>Ka1>r~?(?89^%P@x=ju4JGT|&f)@;;Q;MS4s8Br z0YEAA##tXJy2TFkA@Fw$kV+wag0U&U1i(EYYAynp4z0-W@d9|Sn?o{kdsp=P2E z>VRMb@H|j|2#v8feK;J#vdVRYqA1cP>I6H0=6D0-MdYuJ5Pc2|c)x~{I%NfP87iU5 zGkvC`ARHk#hawrjy>6@bV}S6gR{(o&11!3CUH~LiK(eF)Nf-?fB%yVHF_#dc4uv1j zji7ql5eseKhm?nbA(sq9)#D_WKiSWCkldjoNPIe zkTmpvS<7!{8wHxYHvqhw8sx5;RF5b2wASAYAbIp&{WulXYJuI~IhxJ)bc>%KIR#Vl3 zs$Y^iz1PyERDxjyv0l|vO($|BWC2*p_ocRfFgOotI^jT)%1H`n%M!H4Lz;RxQpj^i znbxq+{%9fe6515XT7qi}p#vnQ!IauTI}qYUsd{c8-B#}W-e*gz`Nliru=LQD?3>J>(Vz2-J0uM<m&Lcf5Cx@HUQ)Q`|F5a=8)0&lqt z*^}Jq^zU>!IYWoOLCgE;-Q(V~Y#9Gp46HrCbgX^A8TB9G;M4vRe`CDtFEPcu#HbGt z*BG4k9YM(G4W8(`WWZf&0KX+O2V|tZC6lli6Hn8CV-0%2l;A@STrF5GEs}@Z-KB{! zDMAOxYk-H44j4x)e_#UyJ>UR%oN0lV=i!^*nIA^v9Z$z7*>r=oC=el(K+*xuFKq$l z*C@FH6?_m4Ky>``f4BWT{i;?dK#Xqw*l?kM;bj2;{kUdNrBSm25#rCaQUR(8%!ClN zfn9-lXwO6V(!S33Rt0`#Hz9m%0c-4(HPDu3VemYWSK7g(1Y1fedXT}?VWTbq-rnv!-Q;5E%lG7oJPjeug=zcpug(*B29h+r@Qvdp z;NPCNBEMs;FtG_{O~6Ym1jx$k_%v&F87UyXk^mf)fEF`@vq;+5zZEE^9^qNvE% zO+?KTwzQ6NJoOs$GFOc}&1Pb`4IQ8v;?bN%xTSJrtzn(eJz&uWxBI~4AO2mx0Cmm1 U`?)6YTmS$707*qoM6N<$g7^v&i~s-t delta 598 zcmV-c0;&D11-=E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vAa{K~zY` z&DFna+dvct@Drk*E#kKSM#?!>V~9&Y`U8Y~yCEQ@Luo;vrw*PB3H=95)HPdZr~V23 z2LherMc^%$p?ljqoqpWubaK1(4O+e*KRw=^ZS=pDifah3)U`qVw90W$N zTsowzpnpo+_eoVIK>h}V7@Gh(Vfm2@5DkDM;B{dHVVT3nRc}5@$V(olINSDvjcAZy zoI%zDF0Wky=C?Sz0Uf*+13+^6<(vB{|DboMK#K3ayKtp}(RBrX0Drz^Pi;`U0SV^M zjn)C04$Q=mbb;G|dF;+(c;8*;E2jZpi@O-!bbvGQ>K=GUi#YnN0L$@wQiC0(6hEn8 z>anA)0p<0p1N;`OOYl^vOV9xQsm{nQOAssIUIpws6@oOR2HNWcu;BS)Cuc1hknmi) zmQD?#=mFEmGcEUj1V|(H@nhVVmmuN;?j!A1+kBA>yyN5TFY|3FMy)IN6pEb2ke9-C zSIVA9C~^j}Jil6@QyK8zo);qDvr(AXMl%`k77GE2dL3_P@|1}N(i;W9NeyUqW^f^2 zTNi#bpgQ$*qkuKVRo)Jf$Zy!uw(6@VotM3qa$3y9O{0t_$F;_A2n z008$%L_t(I%hi&xPQx$|hW!TjFsv}O-B71^t5_;^Lh5_<0W!iArn9p!`tSr(lSXPY z5$7mF>az#b3Bhgtbk?uC`;_|4f*gEy>ATASJeP-rz*G5=f`4+e$$&E{ctrGqK)@Pb zwhLK7QQc-IBuK}`2{S~@GoW#G2W_8jW$5ZtN1SpQiV zCxsc%>}FD!UN+Aci7>wZHb@HNd2D_bCR{0uSP7hkN&Og4%ghhptNr)_*67{+ZU0(3 P00000NkvXXu0mjf6ONG& delta 277 zcmV+w0qXvg1MC8jV1M^XL_t(Ijn$H|Zo)7ShW!TjFkQ<8Y!y?yp)N>FmHJ+NfQ)4d z)7e=%`s%5jNI-&2jdRc;`0Sx#s#9>B}=~L=AALQWckj{q;z^2?M1YXO}6qM_A z2AoO36QUOc0@k>Fj^KEQt6u&&-q))gasXh*<3zY*=wT^D4SY4d1pbL|P$vU+IR*c0@!LK6cjeCPskFSdI>Eu59>GH}~w zcMf$rE6xIcpfbb2;Vgz??CK~fmcL-VsR;YMM^N#G((>c?y>Ht_6u=o6L?#0{vXmwcX8Z?)WeIr6kd$(Oq61m#N}yo|x3;D% z0U}T>yc#_i>YnT!nq*D7v|Djdhch5TFyJBlU;6HgM@n+W7Jmiw3|S!GkMHq5?E6{P z|1%Im_ioSLLC6V$gL}88odfs*;=%UXP9UC#&;18m(vX5rAisJ9;t>S0y`_a^?M#`e2$Iudo*bOOuhanTdL_rnWCF>-qz9;n zc_;vF0EvoI045Wpr$N5uVPfL+(L@sx_#)}Y>6Zfz=zn+Y17egvpn(y z1aYE)wf!cRj{|3NQ})K$0%$8Bw)K5A&)b3TIdCF?!6a3{+H&a%NCQ^X-wA3zM&X(M z@;A8m?(59^>U}0I=AuO07T|F)D(Q6eEhd+*;HnQi zT){0m`jak3zfXT@ZupfOg{}sg(7hq^V*LD^jh{cOkq-n#W)S;)=!6xxSX7IuhAW@U zH-L{c{=m-3LL^)=&)^F$B~Uj_jYq$oPLgJKcU}K|cxH8nXST!?t#@GmxEu>Va=p9z2H8pw=X62jd=NXCzF`qQ3)?63HF4{m{mAQ{8AMC*Yz zkQMTe2>I?kMdNp)V)mv5l!5Sr^N7sHn12;xd`3yr5ZOZuMgwQDJ7?pktbFVYG*OF!5_F_5FrpT!^R)r9L-`&`U9?{1xm%V z;}3j4q?Yyv@k(A?bo@aU!FuIuAJ-rdU4Q5Y*u%b?uKPn5fQ)y$KZtflNIoGE|7!dL Xqh30ey!&j@00000NkvXXu0mjfmKFX^ delta 1076 zcmV-41k3xO34{rdUw;G-Nklb(vi_e203U7k?f~>WZ?uWnf!+vTNPKd4?0=po*W>&CIst$#e0%Dv zLx3>PQ|ToGBXEMo?~OcTk>~Y#fA2iT7uwE*xHAoq346rhtp z?T>0e`BjqLW}O6}*8noau9?)aMJ*xln-IG)VXuxXD;a1)0?;uPCeVa0a`=t6S0}Q% zKCkF7noiLI~o%6}FrzN;ZFlaWhC$>&` zMzTe*C`uf;biM|>XW=`3P8ZVQ(0PJiWT}9%s!GTaSp13QkhQ$w$&k2QN2oBSlN0h= zjt^J5IE42+nemJ>9RX+3@H{4jP_$I67kPx$JU*O`4q6xRQkU+`vd;1{bPfz0@*5%tpeF9kbj{- zihtQxO(!_(3Ir9wk4+y8Q9mfa2#kC5)eD-Pf)*KPQa?0>MtMLlDHYm6ij42^_GcXh zvbPfVJ!%UWqR1G&rbZqZ1+oJ7fYNW?GMKy>XJ@Z!Kr0Y&aURh5gz#)aP8h8!s&W{C zQQ=+e%=zRA&!0azxx!J^1xlz&ln1lJ1%GFU{7O9i&Ag>RLpaxSTcmK>$vQ+CU17Gbte4wtgs`Q~;1eOGlB#}W-e*gz`Nliru=LQD?4J9ZnGUosQ0eMM8K~zY`?Uc<V0CM1|MGVnx0$BDXFFm$ZNxpW zA<;=*|6As|6iK{q86|tjp3uGC}^8j-ke;ynYE~=0#^D2M> z9Ni+TJ650!G>79KOYGdz0rQ%2fC8TjK?ek_R~ErJ4p`$BkfJ;Z0MG+Di$c@K5C|a^ zgDp@tDg)3c5O_43sg1D;Bq^|NtB$imYJ*Siyuu7n_W3d~YAF!!O%-Hp+M9SO6MNvg zSq)I#Xlf?8@FW0?e}H7?X>T7pfah)lcnhd0!a4w`0`mw!t*!z17Bbo?tQrmiSfnX4 zgbauoAoe@?3s8g@xRh`UD1!WDJz7_2ZN0w%gx4XUZ^PUGn4VV|f~hM4FZuYOwigMw zY&1)OLl4YmE2WBk514(t0`#r@6@VjPHh><9|F(s)4%=9 Zz5vyr#;BudvIhVF002ovPDHLkV1lIPwnP8` delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?Uc<@K?9C_Ahp9w>5uI z2V$)|eg`Zh+VunRu@1wh_44na_p_U=K;mb@0^Buz2~IIe&}8ibISf0J8M7ZAEE6_H zAzRi}00S`DCG2jhKp`c6hvgrKIM~Itz`Ug#Ai(F6cTfN?^@dGwjuTeD20~Ge0su-S zmt+yhd<+5aQ!&^ArBNAxCIW#&)l32x3`@X2yp6wS+z1$aqI!r$16ad+Ft=U0%irsCpW%)70^1HSSNl5 mJiQgb4T0x(^RJ&5$e1tHpvI`vQ=SO`0000y1E2(u7zqRe0001qplF?uEgUirH>*bWv0(b`s@R=~nz^w!XG#&sAXajA&1sdRc48S1Z2H+h4G+uVl?Z|7# zQ;sO>>qNYV)6#S99vmF`6r9crh{Mfs(NcZv6HsOK6d$I#w^P$s2~^`?Z&Pb+*IW}Q z!Z_Qfq4j+ipYva*=m(sQKu!`nmwW^1R# zj}+qET_AcJ#SebHeR-tUvS0m3WT3LF;@yveLNaUP2b;C^gPZ^MBabg$OdW{%G^L6F O0000@g`kq`x>M+tvTh=WajmH;vXR%_sMEOSBwZDg%{rH&LB;m zssUw0>daLyqzF|x6*v+8Jps%c;=^WuX-6mnWCZyZ#KARS4%HobiE z#z44UrDGtgcLNyn#P{(S#FqvE{eLnD)7@`_$oW4ELiL|j39|n;C z)$BBgrT?WqliM^1*MIg0-*Xs5=zsHvfxsY!{xAF?48jfR&L2Ym_x|9_XMZ@y4?=1o USUzK%EdT%j07*qoM6N<$g1T9$8UO$Q diff --git a/graphics/pokemon/cryogonal/anim_front.png b/graphics/pokemon/cryogonal/anim_front.png index 52361173111d1f5306a39d42b932f222318479a8..17a69e3a46a2a10d8a926bd4b21552e6cca2f2dc 100644 GIT binary patch delta 1262 zcmVy-yoS6u`%^L<%>VHCmy&YM;>(sO){%6x^Z1UM!TF)g@H^(#Tw( zLAtYiU4nI4QC@VQO?M#zv6Xd5G`Ks7#+xcqntT+8l#c)5-hZrZylWdHh0|3`v6!9T zzJ0UvX6DD(K#M$J@;eiFEeJb&ojbCCw)eo0u*S9cJvfHX}) zqLQK>?)-Wz3FOshpdt2vHPAA4N-b)RTX%^Nz^jcwVWqP$S+Y}#zTqC%9Z3M63Ig-M z^V_>cMSpZ$`;mymiNPmrr4Ja~T-bJ>DZ06DSx5EXzw`c1sW!(eAZ3~hHTO?tv--2O z?(8Q#&wo3~*(c|x`i-uY(xb0C1<5HAUk z_m@7kD(co}3`d|4m#3Ru;C(~UFK{3PMfgi>z9j%Js|^JNVn&2>SSoGgw=R&9SZ!p1 zms6kzi&872vay~QV%FL70h$b*MSAni7PfZ}2!GhKjvWas6Yw1Lh|&c(r!RS+R9@|^ zJC37I`v6U+(yf>Y)Aa%U4|wADLs0?=qgPTBmU&d0dsBpIcW+iVZ95MtukOg2(z}4g zXXacghga(~h|018Ty$zK(JLw7b8gC*al~8v{=7srr~3UoepOPyA0Y?PYU84JN`+mO zfPdCo8ELsOOwyXcj}*asSERC*wHxnEN7TpjTtzG+3OrR;?Ht|tq5q{Nzq%YhL#EB)VsdoZ85OBJ>Osf+f1os%wzj;IXDLSQohDDG-JPbTMz_Xu(s?OVT zu4y0ZeT5!iP=cpX1GE||rhi+~=}RV(t#&lDXG`EWh8qs$s4MiS1cEh3 z_>|6~nJn!OpsIq!nk-b4Q3a-+Hrezcbav~)&{iHblvbO~l{!0%*kQ4=K_b&?-|GaB zM6%^I2ZO|#_b5QZ-?3o?aMq+PSq=^TLLnd)LSkN99usAM*H0v64wTd&5bb=M?tiiz z0ffgMeud28mMwNugm6k<1H^8fAmy&I<}OCQK1G9wh_va2Xd zpH8KK3@M6q6nP()E-NaXEklZeUwpNp_JtG$hZP0?5nC5NaE+oMDT+K+?-b>KQ53vM zQBH8YqO{tX@ru%F-=HXqCs&HX*k=uj5^LU8QRoaDRFrS&)axtC&>0vt zAgCy8$YLmHP*E5QONuWCK}8t=I(iXQl+i#)QDhFC!O*n}FdV4_@_LP+^ntO?Fy0*g Y1-pjB?-e*?Gynhq07*qoM6N<$f`Icv;{X5v delta 1229 zcmV;;1Ty=*3Y-d%Uw;IrNklP@T+>BF%9B@bt1CL7c ztZq7|4O$+!|JmRq0rfJp}j!pM+)p%kbE)&psSHVC_Nr>2XT~pY5 z_j0@Q$$uBXGsJ5G#Qp5Yc2(K=guw_D;`)5M2fS;_>J^4UP=vqC?KcGAb*(9biI_2i zIb_S5g`F#;B-WZa;FT1pK0u3CP~O}qnC85F-~m(&l|}mXW=p&KM+6)gr?voA2zUl+ zMD78c)0aGwt1k~WY};06J%Gw7_c~@ucRWD-1Am@)ekchbq4is8%Fs{h3$IHs>m1Ch zx@8qW;k7-{Q)&+|_}qd+?eKDgUZT1p12?-pm*}??@C7HO&DrJ~{Qj~`J*Rkn9vie2 z@JGnOYjn@+vhB9QL87gD6d>VEY#0Mvv}h!YS3|E+2#5xdsM`_8M1_f|pGb-v zD5)?Yb-zt-TaE#O?;c!2#M$^#}y z6eNivj@3Jf@>L`X-X>Ab@Mek9?qqJ3DDBQI5@q>pAW_&DARtkqtuK`*bOwec%C~gt z4JFFR87OJu-1JG55t9h;OB6PuVn!&aU!pJ;6e*rK@Jo~s(3KZ{i83AtNEDGn_hsnX r16XKF_auS1P7o+VV1f;nxWWDfyN1K>M1HZ&00000NkvXXu0mjfjORiN diff --git a/graphics/pokemon/cryogonal/back.png b/graphics/pokemon/cryogonal/back.png index 8797e491a127b034b01ef4f8aca843c73118a753..4e3f5fc151a8e39d4326dacaa2951ae2710c942f 100644 GIT binary patch delta 630 zcmV-+0*U?S1>6OYB#}W-e*gz`Nliru=LQD?4mO9sAo>6R0zXMaK~zY`&C@Y&+CUV* z@oOS6*A}uACVWLUcmgVUZd!|>p8{-TtW2asOga@a)O2f*BAG3X1?YXs-aDUzZG5nF zs0Rk_$N!$qnUH^fHQMqeil4J@QsB0jXoO)~8qk4~Ss32S0t|o=f3oYnBtU5kW(e*j z0S0y^f=MkHGN8M-{t!ulK@kLzbOwsxA+874xQ-(Pahph|G%+9p!wdvc(BOatYQZcU zf(PnmY*=$X1Pd&?b-+cyh6sb@%@YE@y1lh0#Gs}T-y{hhi=kh+!|!`?wV`I9BuVl_ z$UBw#W$+8;SBd*!e+iFFwD}#4O8{Wr+YSdUIPip02FwHOAK|qH0BcO(Q*|rg&lbLX zWq>CbFro_RZBuUwS>m_KK;eP9)WjV|o-Y#5vvf)7M;R0+_L_sZ=DI#uRd42+&>GssOs~FaWDT2`u_=fF%&D zH(V$JtjGySY`74|((BiN1n=c|Zfn5Iv-R^}-1tb&fl2YjDT2@W4CDeB%Rnas&*Va3 zOwJc7fzyH~2Nc0izkeRAZSMluR1zm3vAqjmzyJ% zX#=JR?iB$Bc5MXXN-$u5!1Qo^9xH)G5rnaF28v*wRD-v;jw6JL;vhT$=7|an1PGO& z#sLddf~gpS2dZYQ*)u)_3oJWTz(c@>h{EOVBZ8p3y}c*IqHQa=O;da<21Vh~?|X8y zq3uvh)AW&$H#!Z9;1|qpQt$l|9++tII~o-Lz^uC+^c!&C39Sf!mz#vO)!AQMlt3_5IwEHDC@z!}2=u%QdX zaovy!uL#%(_QB2qy?!SWT>;`#5VHVnxgzn*XDonD!~&-4io}l3m}JKh=)z_Jt>ub@ z#sR>`BZx6Tb(z3_5v;EO*$H3)otiR%0L9_QD`;VW%EXSpA=Db@d$4nIFhFHuC;&Bs zEC&lmxA=EF;rFGWlN=2?Xm67n%esat2Z^&%@#%|m3O?mCkSk!M z0xbca$d$r~TrQLX=LKI4D1x6s?=o0B{uQt(CC)(V_*cLt7+nTwzX-G=F!Fzs{2vz~ Ze*t8gNQ0DAr#Aoq002ovPDHLkV1geF8r%Q? diff --git a/graphics/pokemon/cryogonal/icon.png b/graphics/pokemon/cryogonal/icon.png index f178578036bf7d0382654558fe3e6eb3d409d6de..3ed62143de76d230d77c37fa49fa364278974b08 100644 GIT binary patch delta 274 zcmV+t0qy?50_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0uK|_pvC+E z007KML_t(I%iWSO3d1lAMSTMwMoR*|U6uq48M4G+$YHYBAjl!QbO@h?yWGlbLcuXAv-Pnz;9%7Jo{Q2&xuvOqN(%*C?+K zi(H**!B2+}?=zSteauvEfI|{!t>#VNTpH2M4VdkbHjAWJ{1V1LX>L_t(Ijop&53WG2ZhVuq_m|HC5?OYTB4lV`+AI2qt10SMG z2eBD598INzciK(bq0M$5e=e8fQ|iY~j=NGvYIcaC?oa@oGPywp>K*}O=8kI(W+J{s zP*i{&N7AMDr3rS6=-HbJ!mxpK8^M+QaHh)w*fOBG7#Dl>++w00OK{7bCrf0V2TrK0 zgKZ5C;yY9XbXI@|Hd#!nw0BV@xqzG+B?2#`{^h*uFzrx^y7zJ$bkrf7*1>;Nhj3bl j>Yzg}b-+~z`koF?98JI9j=u>J00000NkvXXu0mjfYA0qT diff --git a/graphics/pokemon/cubchoo/anim_front.png b/graphics/pokemon/cubchoo/anim_front.png index 3350209b843c1905ca1bf4696d3166c9f804e304..d45fee6ad37726c5ad2600932c24cd4ad211fbdd 100644 GIT binary patch delta 594 zcmV-Y0O{0uL+wqJ3fj00JIKL_t(o!|j&8Z__{&fZfQA zx;kWGqj6Db5CeWKVl?eZ*isf$0e?URmDrF_4>6_4gAExy_{kXykvwRW?4<$@Qx}MpJa_jw=cnwcqt9D?cf87AugTgI_JcIGh_^e78$U=<+eILn z*T3la61J2D zRlpxmK_xaM)Q6Z_KFJHhLn6J2J^u^OcFJ_;j0oiKdLQ52^AGuB zSzWrY*>YNny^*zb14cZs3j-GbZn1z1RUJG_jOht*1abghvL|S zJ!(RKE}k0TFmZvolV|Q7DdmZH;Lvre?;gzMhi8s6pjNEn9_0Bq0}PqE0lws4O`Vxw zp2giL7h?E?Yk$y#ds&!ekDUt^*jI^Cm(C+@1@Kg$RO+?>7$BxUZZcc0fnte11FSrp zEK$dp&}-gb{Yn$9eZ(Z?I>aahngnEv-fF)p;+4V)2?QfdO+8b{0A|5iq0NrS9K$bA zms1^UJsXpNJ=NuSC!8%lmt@_ti_%nLJ?=A*Xt)qgZ(fc37rq*wSeiFv2Hbm{U} z)A_;w;s;W0@Pm9V+x_58zQGT+^L9V5tmn}u;|F}*+EL$)9}IXP&MH4>1u8$-y z5P$=Z7icx`Y%6_{bK@jlpn)5uK?y4ZZ0zwgB!CrFypabsA%JD_bR6|A@_=Zjd-FXgKw;=z7aZ;aCO5=&Oi8&zBQzt%4@lxP|~Rmhzqg=c4uswiNPhEEfoN{{y}hF%#Q2njttKq(}U;NTM&XJ!)_F*r0SqXQ(4;?OrRxR@|V zysv3kv)$QEIu21o}o;EgS|C+{U#(dLAQx_&id2W3xf$<$W?> zwY56=Lx|_mngt6IXgKw;==h6q;aCMm^i@Ql8_2P?RzU+CTtk2uNqJ9!b5VT-M+*5i zl5+(6{{dZML{-Ld5v(Y%&75%s7=EyAeL2S`{q?a2g2}^dEAUOQ+Hy%f>pcG%#=ZfM X&yLiyltFg@00008NkvXXu0mjfg|@#X diff --git a/graphics/pokemon/cubchoo/icon.png b/graphics/pokemon/cubchoo/icon.png index df3b0a682e4ba13f35547b004a1e2983ccfa5f2b..33fbe016694f8ce550ba25b40961dc3c6ceee969 100644 GIT binary patch delta 235 zcmVc83V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0uUk4Et=v0 z005>*L_t(I%jJ?W4#F@DMRNn+fdizfyhh61I%SC9S{*EN1sawN2#~ULs7SM6XJrEZ z`1ND`d_7}+P4MiD;-RX5COYY6E0t-~3BfX=F6MhYn5H@VxjWM%wF-95Nb>F__8Kh;C;>#y|Y&0``D$HcnQ2+n{07*qoM6N<$f(l?%U;qFB diff --git a/graphics/pokemon/cubone/anim_front.png b/graphics/pokemon/cubone/anim_front.png index 5b98b8d8abe22a03cc0d5b75be6b86e53a11c58b..e0f600c88ca95048e1326ccc081f2c6ab09112c0 100644 GIT binary patch delta 765 zcmV)`85nX-<&hAU=jWaMGv4phv}63AF*vC|7zBTC zYE>D7xdgzNVHlWq2w=br#?%v0bFf$$)Bt4-6}%U4IE%?;s-MHyjQRj;xemz^3b3UN zdF0Z-&1!OI@`wf|Pv;28UW{7}qpl0cV_>CJESZ z$sh?w#2if)d7K6Juq8I~1J=KYgb;rjMI`*<{zmi=IuBG@moCynyaDa+1D$>RhSx-G0aoUbt9 z+u(&fNV^ULCa}r*uv8%(9u{>VtDJ*}7zJEXMZZChGe`o9G*dt>4c0j?I{H_!

f~g0f@<#Z&7uaS`ym?9} zt&Fsv!tbY-y+`Vn%~!0A@^80of`dg6&f7BHzR_DP9>C^3 zeraiGX=!PHX(s2y;V+To{(rdusavlMf)uUYUlM#ky-4OsN)2osT>imEvKh|YZLsuLp zSH5(a5i&oRvKcMpOzy+bnDqaKe&$% i{PTk~K3H1%*ZKp>iyR*0*6*Bri6`Uc6L6ys&3*$4IFV`4gN!phLE%Fx@|w;pYVw>r7e_jFhI{<;Ge_o=P z=j(n)b@b&2L?RSG?us z+OmDC3m6t9nC%J<-)450u!5)NIq zC(gmUkTT>_u784R6KXt>GL;lD4`xmEV|vdEP2STn>G5%|f3brSc?iz$iU%K<(E)^a z)pSOu-PUR%k&oZY2ZQW+c|uGoAeN86%6mU^Pgg~qB0K<7fZRON)3mnmuzxBo&`zBn z19t7;=5qf;CeF4PnK4Tl0tzki z5=;?PhgV>|8Ylq&706`d7>bZ5fD~3|2Ld+XKKcuQ1bhqIDJ$S22V&FqmK}hf1J~x) zF2K#7a&v9jp49~m^A^nZTF==l0FeV(%-k7ky|8=^bLca~Kqk?DtUc`#7%krr&6vrzOGOWGIdvHc7=7l`CZJywgm8v`gm2K=Y0ZlJ zd4*7b9SMgnwU#)zmr{mY%HS8MHlfb@qfp+TR6tJrVH&=&83enpl?bXw7ntlX+94ICE1k7vGw9ANccXb%+MAoxTi)z$rwHfchCitqgnPN8rL$K0#haukE79`x$#KjwgoIW^^Z)Pq be`(qaJ<8*qpvZZz00000NkvXXu0mjf>;M}v diff --git a/graphics/pokemon/cubone/icon.png b/graphics/pokemon/cubone/icon.png index f5c262a41f231e4d69cdb84b6aae3ff51a1636cb..45e2a153af6d624a9e49e54732b7adbced39a03b 100644 GIT binary patch delta 280 zcmV+z0q6e50`CHlV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0ueByhKo@E z007cSL_t(I%jJ?W4}vfdh5HL2ad5ZpG-(q?`fp%!V6dD0t6CD>l$1m^pNLwnj7}PF ze7SqC*ZUazu}a&S-~|wg-l@!MI--UWv_r|Yq$8c;XC4b#>3`bDV%gP#HmIgMP(k{v zUR_8?vEYK5rktY(eV0RJOdA$UuTZ%)_HCeju~CJA4VezSAA+27VT05inJz<7-j7=h`wBQU)U22wwO2{@z@aL5hX>9z?5J`9bG_!yfgA1|p9 evoHCak2^gif)R=qd==gR0000=W7V1Lp{L_t(IjpdTD4uUWkg!=?Ead5ZpH0hr(!rQ>+z+g9dRfPmM zB_)x~6H)44M<M68%tq3M(!5kEg#r9sH41Cz3)#sFD5-2U7ieTI-B4;V8$B7c$6c}Y z5rV+gwz)T^U!i%u>#-N@#oy{1fEnjPU|fa?7!98{6EH*N3ruzg#^WFjP$RMMD-aPz pJ}jRN_?V73A5W{%BGl)6+yFf!f{K_%V>ti-002ovPDHLkV1j?OZ2JHJ diff --git a/graphics/pokemon/cufant/back.png b/graphics/pokemon/cufant/back.png index 0c49ddaa77ea4666e09d75bf6f305a9c960f4f30..30c0530d729e4a0d383a0c716910a698c6df02d3 100644 GIT binary patch delta 474 zcmV<00VV#;1i=K5B#}W-e*gz`Nliru=LQD?5)IJ9l!E{O0i;PpK~zY`?b5$b!ax)U z@RBB)uw5`<9Et3ZCYW?2;SZ2_b#btgKBFv6OsL*&INXhuiH3y2`x~73yS%m@T%j#4 zI`N&Fyieb|Uz&EvUkBi}xK626BnYL2qGSPx9;;kXg(%KVUW*bWe;KR_0ja{OXo5`$ zd^K~xT!0oK)j>8mMua&Sg#fXy6EPzjun5fd0!=KUpFaVc1ppo;$eu6+h=HC4NAU9k z%9FVS6}5hMUQh0KF-Ff5Yt%GDX;A8Rx}8QOkoq3y-fU~`39VClF5U>f(`%pevAcDB z&XuV4ETE_S^_h!If6|~$dyVLg0bKHr38K&6c0lw9qg#Fmqhs>4Z4oVWRklT0>D;~9#`h8r-=MY6!Q-m Q`v3p{07*qoM6N<$g3)r;fdBvi delta 484 zcmVuHDj^8&an&MCEv1fjH0=r#cFvC0J%5ar(Fwa_7{{;Cj= z3apAIIE27gBL~bmXcAI?>1TsuM3{qF2oQS);WM&wvNGAf4;(6;Hc1&{OvM%y>=GphdfN@x}ly*~bJiU~fA>JVNn*l^-H;O#z##xdD_W z4FJyKi(YO3MgtC9nS&Dp3?wK8Y&0-HsRS(KF<$t_qn482$2l(7KrEyJF99flXc#D< z8f^iK{|+lMc0BZVL0BCoDXID>8>oQzyhFK3!9t}ZFnEK|wH?G(8ca684=MEcD>c;| zKjlqX5r*KT{+w<!iZZ1e%F=pgV`b~#z&)oeas3>|E9K76Nax$``Qu!?0oiK z*HP7~(R<5aX9dj>=73iK<_cmP5r36^G?t;}aI%9KSgKbvYR>5a0TVnXWsTDV>}-CQ z;48U`ts9&Pf1XQVk!!+UrUXf-mt%PH{{mL@Cq4 zNmagH0<;d@>=4k!_6SE9)EQ(8aD@sU{qixOCNC-rOl0us@(&S({0!5eV1Jr`-@5JJ z2_Rt+r9ffHsa3eO^3i3Jt|FWVt9%c*fS~9mKb#-3a5e_VbH%`>oABnrYCHwri*DO5 z^1vAQa|+D2pikoD(PqF698d*QYv?MG}Nc(2Kg*m%vj3 z1A5U(rNiLE_)rB}(`xh*I+oB{6D9a~QH{>V`#e)?;+E8)98dS0@?kW1*Qd%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0sl!vK~zY` z?bMNx8-GP-C1pZZOjQ;J!1I~)!aD@sU{`4`RCNF9pn8@Jc#cv`C`8Ujh zf`4fOe(kn@C4huQlmUe$r&i(C%7+(Cx{NRlR{0)q0YTAqewZGza5@IZbH%`>>+sTG zHJ$?RMYru|d0-6uoB`<;^hunYTt0YxK0De+_TMJb6?8ADkPozt+6>4VQIZ}s!z`Fx z9tQR{F&S)U_oQFVR89c1@{Jl-|AHsJ&2y`KYYT&v*IH}z{dyqpQV!62eX1i_BtfVI zy{LA4^*Hvtwt}PV+pM_QGyTW)#!A*$1}AiZb=Qw@pMlftWZv= o3t`051)nGx;+Fhf{G-scKeO{0uuu+V2H&4009O`L_t(I%iWT{YQr!PhxG=B z7JDkD56~&l&F#`xFr5l@2aPda@|$Wuqle&0h)_y4qu4l^5>;4kZF%kxa@&1y+`o^p zD-UD*oRT-~fj-$PkMvu~)x7E;tB^xa=)yyQm(_0>$sEWL?tlIO&`Dsg#u?bTE}vr* zaDZZc`YfIvQREJEvEszgn;nt}AI~`oyLp znAW+x2qDrLI5dG+xAzlh(<3sPtxJYvwz%0UT3%JNTa7Ca#=g=Qrc=xlhE~#e!q9`P zJz?lBl5oP{eK7!BpGqgpsDrV624T{rFduV2ngDC#`EmS5KYjpX*SE7$7kGgH0000< KMNUMnLSTZ;7>$bn delta 294 zcmV+>0onee1CaxebbkQ{NklOo=Kix3)5O2)XV5;J7>KW9-Ju7(Y|8)E?-Qjq*spkzCEY z4zdb4^n@-v1bA8fwvo(%9O3p40G$N(YTSXH>+&^50S747r+=^FCX4Jvh sIfF3iwJ@J^KOdR^E93cb{6{~20Ats;vwA`lQvd(}07*qoM6N<$f-ByMF8}}l diff --git a/graphics/pokemon/cursola/back.png b/graphics/pokemon/cursola/back.png index 28d3cdf08834701a515c42e4db6c01e89c664eb6..cbc2eb5172d1a3deb74affdc57a6c63cb1042ed0 100644 GIT binary patch delta 616 zcmV-u0+;>Q1V^jJ4iFuxlP_-jppBH?n%NJFz zN?^K{z-26fO7Pd* z;L*Q}0Q4%aMBjr*e?ZV60(fHhW_(5+rf@hxN>~BPoPxuZfJGOkFi_VFpl*EvU}{YQ zNOE?W0uY0UOSO-7PqMOVBtUjgk`RaU67oP(d}6hdLTxxMSO9-xEEY!y0u$tl6Y)9E z^EVdD)G3{gT*K5;A}-mH@Sq2ib_nrNrgpK<^B1_sE!Rv2e_C`oF90c?02w4=`p>Ah z0KifcxN;EfeO!0g0T})?1p69-jX=HBLK@k@H$+W7G9XU@1NYqU<^Y&bm3F;#kibq@ zfZ5D=UP`>yOT`$5#Jmn4s<*tBtd|?WNmR*Rcg?rxfKk{0d~EDy2ZTQ2o3=1gY|@xv z-+MaN*}s8QUhbb8r4E3TYrz~Z7;cQ&mfQizcgQ+U0A7@}Isz3MTX+ND9&6+HvyTo3 z3vYo+S~_)V)B23CKHK5Zi~4L2XLElKUHxM|$bSL)Efuwk(2cbK0000`@c;7 zWkL*1J;8fj1Jhd#T*eyUs;_}3)BtnCM-|{6b~TA-^QwdexRm0rqn4+@wWC3@E10g{ zmrDS@0}i6|S9t8UkpS_31E@9ug95O126)PbIY5A?5q7(f;IB7wpto;>Iskc%0hGs0 zKfP6ZozR6-fs++ zSpYf^n+4?y5HP;a0Q7oZiLnP+0MZ}>cw#s+rao{m(czGkumWj+=czbc3D|TrkfE+K zfVxqyCC}8_0wl@VWg;LKk(Zi~{UOQ9_?Q6IeIyCdd{8hOy7CvhH7V56alrzF8)LaS zs0iGk&>|6^F~)CfmZ{UG9Jzt1rx?N)KN11VU`qz7FYVMV{usZ&KW=l+%s`7F;{qhb z3!q3MW`2!k3ji#CJ%K9++1|%B!w$gmr-A%y2`&T8(hJ4r0N;=`d7lAw3Rt+$7v3HK zOI_*KR|g5a2@4Qy#Pibfxjrh^G9=<^fx5STmRwL9z$;YA)xbsvtiloSzVX`~K=(*& zu7y={vyBM*yJvEr{TV3j{<%@=0C=@F%<+K{*4k~$9e`3w$Hq8nu6on~pGzyrson6E1j;4<$K~Wl7;+*yP81?mfID%vfaz);)hL z^14|7YQIkXqh$d=C0>ah0~Ylq1$qzItP#+qglqtqv?ChqzeC|DO-T;*t$v=3bo$m& z7M8T3GA_hyAsf;h?g2p&HDocLlTA5b6V?v{814BYDuIw<(XW>PAoEE&9so(A~a0>xWV6&U6Kj~8CyPdKzKBg(ap>O;^3fCpKY z768UD&ni$zQregqr!3HmLc@Y06}BnE<|d3&rPHVG0U?bv^KC)J2(;E-rByJsV2az) z74J9CfT$j%7-*k1Dg;pse85(1bk=>vZu!pUeo z8F|&V<8h{i0VbPs0H+ZKR+{!VoEa7*`Xz{6b}KftTmMI+Gr zM?df0nVy;5Gy{)BuWui_0ebWJmuS}vupdvruV&yX2aG~U99U?Ik5$ur{w*4?BBw@xniVqwW6z3ZS>Goq;*500000NkvXXu0mjf D?UQwB delta 808 zcmV+@1K0fj2JQxs7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0008rNklvggK&feTxkP`lc zRRC@nz`x!g=qUm~$_;^ky93ZuWH08t2i!3r04#rEfDuUcZX@9OuYuH)NH^EL^1y$; z6S#$62(rf=!Nx5BxEBZj+5te#x)%o|)F7l4K)m-(Y)sI~K(9<}Dh$*w{m?mpRsaqWEeP{XwNSl8 z(Ob^R(J27PFF8iFO(HwyF;x=~%>aKdfkn^8@%bw!0Gz+BF_ACiQ~{{Y?P6&NHQ3)_ zat~HZw0Ya&3&J*$I{891y8z@=$`Rn8o~#G?ShNI`QY1f6a;bWZ8ME(5eib%Amd6af z7*n(ZvZcWFEkLFpg~z5Z^IU=;He|?6=36~UUbDwR0J)U+EK49o!a#YEgady7tLC%x z1fb0CKhZNqLXnzAasy!19T?s*g2V#`{1g4(TaCymGy$MmT-#(|Ho*KIMy9;S;$zHb zTFqC@`WaxD$AMkg1H5ikepFLflfa*O)F7A(VSqL!H{^EgSAqsfVpnF*g!ijjVZPJx z=}VNgj*9EEX|ztSj1Rr~XoP=K9oY2Mxw?*jw?XyP$}eVf)4*9Nty%x2M>0de68DC;&C;7>{^)OJfUI zSN!sbm$hI3*B_73%Y`ezWz~Hn!2X|7AK{t(4dLV-xdYG=dKQ2n&~tzL6(E=RZ-B>y zX&CH(Kz`=K#Itl7{4OR`T(^GW+fwAy#9!yB3&9GOkt|iq8hZ%C$82Ez9Bb?$44;pR z_;`PM2$)&#k7E~r346fQp?~qUTmj)gUnYk!5TWn#KnT+)s~+DM0y9AwUPR9TuYnf> mMA}=-i()Xq59|Bc{{a;F-W@xw;nD5@0000O{0uwdi+8tZ~00DYQL_t(I%hi&xZi6rohW!LR z8LueFmlYM6+fbA~EKh>7RTex$VT}@pt`;r{rgc$=E*lUE{Xn*#UqBP5msc}vS5)Ed- z(6m}{QXGS+e=|}L7lhXOrG?8YB0*(VESCV%nkpp@dEbS((u(R@l$gtbr5Bv zF&K}#BMDKsvGwcYI9H_w=+-zS%{`)wVA3+oxhkpQZ5-kI#hBqG&Xg{fGK!ErB}6=u~fCn3gYOnks-6?SvF<2M}e>f_92Vp1trXa5jpK*DO7 zv(_b~be=7Mz&Yz0Me2~G%UYZ<=lx6rPXdN8rTWebeWnbZKGmd%qz@e0+bdDcN%v#1 z;!szWB5ZQIZt_TVLpka!_{w2Ws+>~9P&0Bq0|Q-t4JJ2G%sni#Zhi1{#>ZIjpZNFy X%S^)TM5Wll00000NkvXXu0mjf*2>3u delta 413 zcmV;O0b>4_1cwBWbbkSTNkl{6l zS|UMBS+7L^vZGdueKn0~FWFMpi3TgR_OR>W*zQHs8%)OY?wN$B{XB&2a-8eN0gPK5 zisFncBUp?|dv1!fe8?kwKU;fz$up(%xyd4A4+Rm=Ti^}VE*Dq`*Xc%xMS=bKxf^-& z@;^e3(OiUt(SIiFV!HDU4tNQ9W|0`F)aD$%ga}A_TIQYe1!+^2DUh+;StMfWnK_TZz*t>U1&TPsG3U1nFDLw3>pP?Wz!t{`%S^)Tm0MVA00000NkvXX Hu0mjfW|YK6 diff --git a/graphics/pokemon/cutiefly/back.png b/graphics/pokemon/cutiefly/back.png index c1635aa6eb4168961928b1a8cec020ae44aa28cc..a40fe3a561b412a8fe3935a73c10bd2c2579182a 100644 GIT binary patch delta 439 zcmV;o0Z9I+1fB$tB#}W-e*gz`Nliru=LQD?6cc=w4rTxV0f9+GK~zY`?bNYu!Y~j3 z&@h-8BNc{r!BM(26Hc~nad(Uq6{!sAlDSLi&>ygrKj8yNrEHOy>W`}JOG<(bj2+4i zQN%s_F3ttdyT%{J0AI+D$>>6!%+3LoKMMxr0vMkF7>^DcH~_B6f6P4Gof`~l^=pXR z3O0asN1bM1ci-24G%C3$=ck9fOGJUZR9Ze}V3M0Gf=FrMXJEuRbOo?*P;V^HA=E zDA7$9)Bv~vQUg&=f2@P>nSRXZQOcD9#akD^7L;-5K?AYt9aU;xIE{JjGaBo>D6+ob zW|JUY(|F|q9!g=C_Z0G?D6PRvRXmF}iZXW$J$k9C22|zNA@q@jK&oB7&8&QCrt{l? zjh9P;LUiGFV$n_?f~LJwcz@4^I!3)T5!aWEw|v-RpBtb1Wz|kFnom% h4C85j{WJfM@dGVKlm8f`sww~g002ovPDHLkV1jwa#%urp delta 447 zcmV;w0YLtq1gHd%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f9+GK~zY` z?bEStgD?;PP-k%FI8u|LU1CI+GR3fU!` z4;q4286ihyTcfCjlYZmxsV^z(SAZ-U5z&a(MgAHJR9Sufnxba;b%*y2n(B!Fau55l12$Sb=AFNxTJ9wP)s0W(P zG}6O{0Pw;F?8y{}8COZ{TfpN0=5@GG>z8RCgj~-O##DL>e18OB$S_`-tCaidV}e8n z;4YX4a-ZiVzUhJ*fG|L6ke3r{BRsBOGklbCr9ko41yF)<0W)ZSknfJRDls3NMWXgN zi*!CO(qkb^5kFb8XypP3Cs5@*fqY(+s2_=n=e&)g%#a=UrK%cGm0O3l+jyL^MGp6ndARg2RjshtA6`yJZM+`*^Ze1M?r|v{+JsCxFk!Jf9tGZ99sb>oWRRk zHNogRfr16O*4xCS2&kzaC>A_#4~a231$5mm-ektu2p915(Rc6595Mo^2>a00000NkvXXu0mjf D$3mkU delta 361 zcmV-v0ha#F1JeVLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W3*GK~zY` z?U1of!!Q&@pNCk=R)bQ(m=_!|NBM%rVopoanIJWg4?tmNA!8W(3*Fd|`g1&oF@9b; zA?13pbdT=6HZ1zLQY*hNF!lpih^vc%_%c9Xo_RY&Vv5pU6!TtjR~Q0>Vymi6UV@-0 zh@}&F+~_u#d?!#sP^9U9E-@JadhQ1rf`{E9F{a>vzTd~&+!!0-0`A|3{_VQJoB^76 z7>3U(OPB;1;|&qo{B4-OLVjUNz(+L&)bj?};`1v3x~6=We>!1j0Zi-K`HfQH%arg0 zZpp1$pMNMpGXON|OhQaKKwAG>Ay)y=T3@M%1*jy7)V^hX869p!*A3r5UnRRvc02$f zoe_?HAS7bs0SX9@lAkfsfz~r(v>`r)-iahRLI;Z$F#`AnH1tZKNwCoR00000NkvXX Hu0mjfH4mFr diff --git a/graphics/pokemon/cutiefly/icon.png b/graphics/pokemon/cutiefly/icon.png index 5e25a942da95822c503505c25ae3a635c24c1554..1914da3ebc545c0aa76e739ee7883f7f9ddc0ff4 100644 GIT binary patch delta 262 zcmV+h0r~#80^S0UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0u>3E@5WsK z006;BL_t(I%iWSY4#F@DhJ6Fygbp4e7IGJmkh-vB=-5MaKsjF~7O)x#i3Jl_YNtF# z5Z?01{^Q3F@Kb>`7`X;b$r1(54PYjfHm*4nc_q3N*C~LKQh!HbD#^hZ=;8-hw-V z58%Ixx!xDM`jsJiH8#MQYUZX$Nr2rF7^#8G-pX5Yf=2oKj|8OxzLp?hYyzG$(Bgjw zHirL?ckfPT{r{S_t$(>p{E&RW)U6y{w{)xY6hKXti2Ze1qH4e-S}6f^DWel&qD(FP zrC6U>lmkd+)g60ZryBq}Wpw+uIo0cLM}InWQ79+9Oo@9(`K6k=_Un- z>&_wFqpd*np^s0qfU3i;4r#mD9wdLj<0(F(egbfH)*b`{T5j<{GXMa5K5GZTpp6Vk z4T``qEW)UZ09G@tbKqna0(67-T(>eC#UW3|xW>ESE3T2%1<(hWIj_;e%wdWr zR+U`0%QxU@OTal1s7QcMFw=^#T+ShKoPEh{T+TY00X~c&jGUSTFgp0v_n|)r7}ivO zs>Q7b4B+lip%+;^;bTT>V9eM#+^~*niI}Zek1;jivys1GY^2hS`vvZGr3N$)dtW>( zI=OEs!|QBc)7#qC-?INd26TVnuA0J_v7VU;P*MS0AXL|B9)R{Q0*2JyQPF7v5K|6d zdts_X3h2}-3BZ)*0|8+E*lSW#W*ORU)h?mAqdQCUfwp_(Hf%KavdlJjY}-EI_Wu&i zT>z;DOK=-#jOYYG3ys@K0>tk?1Vhx(kh%l@y zzmTgqT%GfTQI+4=BCum0{J^IO$gLY94us&S;(_N+{M+38Q0%Q?o|7N6c+A%Gocw_C zAZDXAsN;dh#_=d8KN$D1S6ub-;(^CgMm)-YLtQ*Pkq-=S`=0-A>lbnlU|zQdM0fxI N002ovPDHLkV1hX2lyCq5 delta 818 zcmV-21I_%r2lob$7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0`*BmK~!jg?U?Cq zt1u9S@d87*JXO?AZYU=+<eY4v2)q;7!XwvqV&=;)+kEn-f7)w2`SIHil9I-wc?1|@4h0UG_r*mYg4 zF?I0=|2@F0B5O^5HS29_Eui|X1-8;_+cV&5hfQ+M83NF~ z(ZBWjJ;@oMo8yZC+qUIq-U7Tx03`X`%3l12NC4-30DN<>CxB4y>;>RG*-=0~o9!(} zK?vRjSp%4T5B7ZfD|-Pz^5a&9)z%ss4wAG$3Wy-5VzttL$LkF^RFL+-Lk6tt*3iHL zkpAH*z{8XY)-)Vr2CU+D0o^X*Kh_@nw;g!k#bgIyJGCO8P1E#E@?bx}vXEC=nf+}5 zsvqs-4?YOPF`&iHKDzy~;6Z@k`9L{AKpO$_b-(~f>u}A0S_^~-=y$v+5ufZ%zoU(e zxsiSZAV&dzA{XF#S0Ds@qXWU9UH}jQAOslnKc69OXb2+!+)weq>y=T10{F;2H8nLg zHT5qv8rwexl)*ttIo$(&(|qEmM-Q8 z!}*Q@LIL;!a8g8H_5*5S#Lyat=LbtjT?}LMgZBZ#5a2LC7>Vz29w77rDE{NOA{_`A wnjaiOI}Z>(%Kxv|^RofK93V_h{Rw>m;0GxYv=WWeEC2ui07*qoM6N<$g1o$ZApigX diff --git a/graphics/pokemon/cyndaquil/back.png b/graphics/pokemon/cyndaquil/back.png index 2b3f8f3da53f913c83d4274da35823ac4e59612f..f7d14a07e3554f4093d0443b5b07d6b3ec1c4fe8 100644 GIT binary patch delta 717 zcmV;;0y6!*2C@c_B#}W-e*gz`Nliru=LQD?768f~Ejj=I0+mTbK~zY`&DB3^+dvcm za0v=t^@Is-x4S{;W4Lf8h_*tDC$_!4b}LX;sxp*_2P#8&%kwFKCrp-d?&|&f9+HNJ2H)p7vWie zdG$rxauMih_DW|CWkK}>usPsW+sS}?3~S*&*B^@!RMNVjD9$;gxF2NxgSz1UIt!&>2^hPw@6P?AASg! zir0ncc00}86f$JMe;QK)OrU6WJEjYVQuvYs^QRygXKxXpXqKDh66gaAB9MS{5fH6T z`Iyj3$Ou461Xw77cZuj#OQ00*5u6~PD%(kN*J@U}VBld20+9xrBuQGA)fC`LIhC@3 zz~lAy4T2x}95!x--)DGxHbP&6pOXSm0#7pVD_|Wbn|lMWe+?!>XcRyqQ1{8*O|RT; zw;}tk0j#ampCsAz${sL%+X@FOVWkp}8<@@rU%%Kf;n zf`BT3O>?%+ADMCw_evT z6u-@WdguLtsbDr&iq@z$%9qkEmm;D9Qk8+7gTu4uCBOpWbgR@u_4Gpi1{g>>58u;t zJ2vH&IT+~UB7zjbau48o!ka5mg4^{T0I7i^0`D>vy00000NkvXXu0mjfsLoKM delta 726 zcmV;{0xA8n2E7K5BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+vZcK~zY` z&C@??+dvcma2*t~>IoCvZg+#w$8h0H5cOye9&18yp+h!z2W#v1vC$@Fm&` zg(yRYLc#d}1qXkZzIT#NlI>(Eh1?Kgy`SEnJDv0L7W-%5xi23u;XXgfe!$AKOz=Hr z7(Rq&0p>Lind2caW$Md+<1S@E^#ou7@F{aM;Ozs#^*G}m7xdpQpwgZIVE~|UcH0z~ z+{6uFdw?L5|8=(q1;}E>+5wo}1|w6&-P1xK1hI(I5BHUn^%Oz`5sl(!;PsbYPqyk! z`ikZVBEVFlA!V=EZPin#hy!m<2yls_-Rs&ZTuKor0X&$1;)1__MS!A6frsT07yt}o zP=K`v$adGZz-cE`44@POY!tz}RQ9VaP>S~m4iQk7oix2|w<=R`@G%8}*no#LP1_gM z6yPZ}QL2f+7mdy}f**MehKCUhIKG~(C@|pXSpg`4uQ&u1uu9U0I}30Ot|Dj_Kq1g~ z>FssDJZ`V42A&0fyrcD>G=1ooGhhl84~s4cBx!mU<{9WivIPpDA1xpe#8Ad#1N7tB zuhUXg-p6y51atuy)u@UImn#CR#gTd497Q$5$3_P9BFtM9C)K$6FfD*Q&F;jo7QZ|W zr>0A-JIa}$`If^4Y27YdTdHgeiP=6aa2Pm$Jjqq$A zm!B}fTrcq{ir@A;{gc7ab}*Z3O?z}O%D0l0TM<(O8=ZmL#Sz)}5@G|%X07#oC63=* zHtbN*efYlFtjD&!G6x59U1YdHaJ2<+KjF<(mf&W!1pu7!G86M;lW2XuRRY&o8!^KP z)@waF-2n$NS}$iaiYLj|lon)%Ol!A*sc|!+;P@%1<^TWy diff --git a/graphics/pokemon/cyndaquil/icon.png b/graphics/pokemon/cyndaquil/icon.png index 27ed10be5c5ab89b23b4c08388f6c18aca6a3c68..37c1b2361c10882c09dbc8990a52cc7ac076f302 100644 GIT binary patch delta 306 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 diff --git a/graphics/pokemon/darkrai/back.png b/graphics/pokemon/darkrai/back.png index 941709daffa68257acdcd677cf4cc464291dc7e0..eebad7c15f23b96efb1fa993a83a60fc1db85929 100644 GIT binary patch delta 631 zcmV--0*L+U1>FUZB#}W-e*gz`Nliru=LQD?7Y{?a0qOt%0zgSbK~zY`os>;(+b|G? zZGb|zp;KgCvw*q{!fMf-8k2372Fy8t6oc!+o8|xoBow_x4%1Bz)fxVXlq1POxiDzz z<9lz0lvb;YW6k-8WkT7OUoA>}vv#`#u!dW^D1i#L*(^y|8e2Y}f8?w6qnXv48D{e>{Z)NI0w)d5G=@-w6Ajyy7xFm*8iscYpp03~}_?Ow5P`x$Y|U z^wJ?99=)?l01zN$rC$2eC$W9>$~zbU65B~4`qR_tqrG*2bkux zbOMU~0HBGYEjk`KEwV$UV37EQ74FA?meLG>(NrOeDJd@QmY)+q)kvKKI1XbV{54s6 zGo;kh01S3#3cweC7Kon$rgY|!K$R~0B%t!|Oa4Ur zxyipZ?rfukZFbEtxxlJ03fF@K&J9LC`}(*BdI`fqeWT&3@?EX<*x#qrE;Y$0mUSSn z(}cD=TAc%h+oXN_;ziFhDz_A_nVtaB%YpSH{wjoaD=J;0`jtW*8tyYh;2+?yIk*eA RNP++W002ovPDHLkV1g%OD02V+ delta 642 zcmV-|0)7461?mNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z*keK~zY` zos_?B+b|HuWq?B0&@D38Ea0v|Sq z-c0le1ZLee>fvbsK-^Pil>v)@l#O~CPannRo|Jbs0VuYUNQ|e4(+79s0qIj?JqB&> ztUUnnbG-fX>Bet_$52n3%`|u8_ur2M*v1lIGGL_{hv6}vfeD>7836C&@D`_a1YpH? zJp%S_9Pmb=Ih}!jdY=GDqHv3jM~;*1&?uWEenEx%DWIh^2{0NfWYHzsh28RV2Cy2b zO90|91;V2#+?(W5p9gGeg#T@591ddw6yba9PiqdSLQhTfb`F3Se-?&9dYYeH zYVR6l6e~JV)@ef9J*}Ptwcn(veet4~9+jU8*G!)Q^2-7B1OCE<_A|<+OVqwlXhXxv c0|8a_58$vlxOPrnA^-pY07*qoM6N<$f;SH&xBvhE diff --git a/graphics/pokemon/darkrai/icon.png b/graphics/pokemon/darkrai/icon.png index c31c365bdbc996dcf31e5410ac80541738e33b74..ee6ee5cd84e56642207c8d88b2a9cb945d223481 100644 GIT binary patch delta 432 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 BGV1^U diff --git a/graphics/pokemon/darmanitan/back.png b/graphics/pokemon/darmanitan/back.png index e137393f1c0c1fca4a9412f20fd11b3f2d266aa9..58278d0ec9c83f53aca95327efe995c763e55aff 100644 GIT binary patch delta 515 zcmV+e0{s2)1nLBkB#}W-e*gz`Nliru=LQD?7$4b{4M6|^0nJH7K~zY`y^}p|!axv( zabXF%;2U6^J|b`dyhtfg!Wjm00TxoZK(It9sGQ^kmMl(U`A}K^@9Yj(N|CATna}UN z{c*4Nk7acN4^&raTBDAyESHcNsy)X9u&QHvI30lHV!#NYb!5s1e@y@ZmJ~$9(7`}& z=(>1S4vrul-O&gcXh7b1Y+qkVV7x?twk&7jdJSMtuww!EDlj({Y&P*`^~=h4$NJXV zZ0;@U=c(^bjlEy_Ex;z@xpBNJ=J{2KH#VOxjMKFlW6OqR&v$_Qi7m|=wqk7701M)d z+Al(gu!ukd;>0=Me~ChhaOewOmawOc`A^3D#Oo52gEHs*Kscy#z9R%Us)Hf$ksx4a z2xM6nzhBe1CPEGP%&LlMiGIS95=dzYke$LHX^6}1HI}tU4%fH?Xv4J&y=ZGlWr$4K z3{ZiSoN0?dK)%fdkzN~O3uo;dk|M{o4zq>L&4Vf(6rg{id4OXO-kWbBfbh;-IzUtb zUz`+>fGFkzxFG(DDHsq28%M1PH0VjvAmB)rzV*YzP2V z4y?-q{~^Y~G54tM?Epw32lgnXMx66d;r$S6^AG(?{Q~57kC!#{sB!=R002ovPDHLk FV1nE)>vI4A delta 520 zcmV+j0{8vu1n~rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m?~4K~zY` zy^~FD!Y~kplLZp&AU7bS`zoauAV%sEwVYuH7r@X}76?q$1*^0@L8OS2L^)LL{CaGY zsGH8pnfd(Q%p|e?GwfbqY|2VWd)jl$b`25}Ip^pAR&{g_rw6cI3}{U#8Q$es5kP>= z1rafEFknqw7fkM)%m6!6O82agGB^wwErSi_ganUT{Y>j%CI_j1PU+F$AlK>MAV5(Z zHGz*50eej#&-3K{mL)Y2DZpo5MPim1rZg>q%q#&sQy8QTalJod83*KWOL~B|xpvU2 zGDF6j$fad~44ipQ83F-f%>|L&8e#_*42V4>f=g;(s{l%X1fVaW0Zw7mRo_7fQAeFS zKwJS|rut3*tf-G;;En)n!wT4#>n)%YP{wx+s03&LfYKkp3F=La;u2S`#|>b`wW6#J zTLXYX0GslK{}{^QNqAJ>?Ffv701l{2g}8{OqV6U(`XBoDu&iI?caN7u9i!R+0000< KMNUMnLSTZ|=->VT diff --git a/graphics/pokemon/darmanitan/galarian/back.png b/graphics/pokemon/darmanitan/galarian/back.png index c89df78551fd4c124687e4e6e50bf7456b22b9f4..4ca043a05d2169631f96256e48dc1dc0432d8dd9 100644 GIT binary patch delta 406 zcmV;H0crk<1pNb$B#}W-e*gz`Nliru=LQD?7&!}=h`ay*0bof)K~zY`?UhY#gD?<< zNmLFn)a)@)R#6tz?lMvlK0sLXw8*DmS#g)zVAp>`-BwxlZL)Y@-ptqx6vg8O07C5B z2g0<(+nztLO&lklo|#qGU;trG72+Q~zXv2@v>hzn;v5HDrb)78S}gGr2TVrN648*?`S!69 zGa7Nw?>AjQVTO3!e|>*h1!G)g2DnTqagJx0RTI)32Cst_7CYt_(beHG-&T8ZL|@&* zdr$*P&Dmyx>pZ11a35%qQ|K!9s>OU&fmYx7oqA#nP%=C~0ZsIk2m=5{0}yls4*-Ju zP+K4-IK+Vc7HtyiTDi@5-*AI)Vg8M+&Y$!N58%ubkTlh23;+NC07*qoM6N<$f}?k> AI{*Lx delta 416 zcmV;R0bl<81BwKYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0b@x-K~zY` z?UhY#gD?<YqC9fLQ>RfTTu$0kIAn6&?qwOocoEw{HP;4(K7%#6R%hQU4yuUYI;kWGZN& zmdn~0zl=AhXPsNTv;rZl^Hw*lK=z%t+zbggdOjB{4Vb5ZIK=_yVHo*5%$9hG0|ukf z648*C>3Uy@360q4_nR)DFhjhC6?m#(jLVn-&O=I^;u$8@#OMxtLsUTvvmNu3Xna5& z^L4RjN3`WF0Q7*P=4>;;<2OU&ft6qRjk+-gC@`PvJ85pM`$~iX z0KEYyI)VoP#eJwO5EBAoz2GRzQB#}W-e*gz`Nliru=LQD?85X%xgroof0<}p*K~zY`ot3|9+dve@ z<-n1}%Sq8#up~5uw1f2`dk#r<%j%^Kj;Df6x)noH`Uj-YJ&-_W2RycTC?|uL4CTlY z$Q0{;>HUywMLMO>x7f$~_`UDFd+*sWO4h*Gb&Yz%7H~6LwSG_*f7B2S$Su$V)*67; z%K-q6{}BM%Jq_R$fPD?H1x3Kt0^oRmMCu;y#a%=;fk3@(MQe;)-7wBA%Mic0K z(?{68o^+?P*#yqNPh^C$2*iK$%@vum4I3aGMnJ#p-m!^OG-N8;xTa%k12gvF0m%b^{E0V0z-~R4UwSQQ- zWB{*M?&{|10o0?EbHqHa18+#*s{tG})~*Mkeh1ij!?a`Ve-3B_5jI7Xwx7@FbD35c zkT~FFB;e_$uK}Tm9QXtR?FO(Q3^Ng?r2!g3n`6m__jn4gJbacEFCW?!DMV51(sBu6 zF)r8z1+Hv%wx9L2r^*)D zQ^He8ASwb|e_7cOCgV>y&VltcT`zy!ceClZ3S{e1o=(P*1fn830ZA(C zNdhQSj95aG3^2}UnywgK78IMtfF;R17m?7EN0dObV=tb<3k@_#=IeeSlu@SQ-KQiD z1z;dj=oiB1nF_E-h2qD`;1Z%fn+qltFKhpK8RLqd=)4v{gx{aCdcZ(jF1_o$@b^ww fLSFK31S|Usl_?RDYi10?00000NkvXXu0mjfoy}dQ delta 764 zcmVhxW^Fb4L0i~Bw4kui z4A@Hmwq6bZaQu$|(C!$20KWw68h|w@1C9|GJ`;{9!`|g+36NTjb%67M4DmsUtgHM2 zd)I@(2=>02BdlMK_Q#XS2+qHcRD@L#SiJmsatrWvECHL;RGt9re-ys`Ta}>>;6s25 z=~Ed@K)KSy0HC+e{sRHjYaJh!{U%^jyN?Jl1DI@z7`q4BZ|DVoCS@}KC@uq?{{e7` za7@5y;95J>mHs2wBr^E%FiUR)A-~43UHEDz%l-u0z0HQPrZ;^7(9`}e^HAbfG+kuB zgYCW^|ETtnA-rCAi<_$l&`nv*k%+u5yrEsc0dUp7q31)So3?rfIK{xUll-B22eiVN zSTagGD0Z|e(~d%anuMZ^6nxY6wIGs_!+=6qq^hX2A&PPlmTdr9Qk!e5f%ioUe|7n6 zC0;e!lPP3TDiXvSVItRsc%XrHW$5JPV&QzV1RTks2&w^~gYCiPMGg>)kgaL}QTq7( zSgg3r5D}*`*S;=W?2M^MrGU5$tmS3HgbqKEqyUzmDf*XxH}~CSJgfux^{7rK!&m`v z8Nj;ss&#jiIPwsCxTK+L%i5|V=afpIi#B4nr~|&IegyPPJ#(JuHuZi^d-EKaWsiND zW$LH{v^zLujHNk{X40M%fOV%kn5Qhw0d&T)Y{A*Qq}W0|o~F}6M9MM|Q2`rW*$O{G zxR*|s^FSF_XI#g-&u9`!0AX617s}b04lv84;>X(JQmTJ9W?U(rqbB2AD1KtoMgUXs u{fsvQ2n)IFuG0(%!6|*o|14M1Uq+ diff --git a/graphics/pokemon/darmanitan/galarian/icon.png b/graphics/pokemon/darmanitan/galarian/icon.png index f09c2ea4dc53d333b0dbf9f271c283ccf725e9ab..2a7b753ea35b7c0936055fba081161cda3896e9c 100644 GIT binary patch delta 271 zcmV+q0r39m0{a4xb$D%PDHLkV1hz_ZkqrA delta 252 zcmVUMR6~W8I^6nL5#k^tvBG-hfKz9xz@J`qqIvJJ3)TW5z+AmkfZ)TZa?= zQ$LEoFeHreV=j!)!dQN2VJttiFqR)$7F#*YIcn0000O{0vZh%8Xk)P z008<)L_t(I%hi%Q4uU`shPlDqL2e)kjfq~uM@J#?Z%Ck03KF@M79?^Pi?tIQq1c3V zlNI(6OADRy%lxyG+0XNSxyS|G<0BxAyV4Vaj6T{6KvE4>41c@4F~Bm~t&Y%<_8BcV z47!CcDj7mHCJY)C#VHOA&|bqhj2YMnm>>9amJUM*>0~;cqaU7;0DizA?up9q zQ_TT}tUJF!(GXAN8YJEk@$jfO_EK#LY8wz8GjNyk8#_)sq-SLCI>c>wf`reRsmrZU`YAdENwV zw~YjFeFkw^sSe*&9AH>C`!^`A#8Y_;67Pz*In)~GQn3}PAt;J+0EidXJ9ZQQY}qzY zX@iZ5= diff --git a/graphics/pokemon/darmanitan/zen_mode/anim_front.png b/graphics/pokemon/darmanitan/zen_mode/anim_front.png index 6cc10f7ac13242e4def9b05334cfa0c37ba4b1ab..2e5e9cc33486c0aa1dde6fe0a056add0df8a9e26 100644 GIT binary patch delta 724 zcmV;_0xSK62AT$t7zqRe0000YN-?FN-&hcd_!0(`V4)7mWd1|!!e|T$&h=Oex@oMzH?Zs%Ad@1KkmE#-_L)t z>iB=7;kqxjyB;Cc#H+V1DWZzFzU&h6z97!b!0@W~?sfO_nvj+mu)DoM(7WmlD!Op^ zusaC4y_>2W$?Pj7&EXC6Dsm*Bzb{shet<6s&`{4XOP33PZ_5P&0nGFc()8zJ6K6qI4AoEU@oN&bf$ZN zbFKmQ=wVLa*B=1?FSlhN-#`bZSO z*2h@f2r1<5D}bCDu8i0N8SNWRl(!ylo&|nI7_LTxu&oe$ylWSs0SLJKxW+{mu5Shy zO!^saqf1s|WjfUn&OPJF9WIoq1IuEwNuEjhj7P={*s<*Uv3xA1S#dY1)xbPdWMTCK zVoUdohA%xaw0?!_sG}B)e^P%itW$#FoDvM@NH9zp6v1Fx@y8BS!FVzNM}lDhoFl<# z8Wcqp49d!OfaOFHjPqocXgQc77)4f)Q|ldAT%4ieNC{iB`L9#UB`8?bd;V zKSbPA{prCUisCOvnjIYcVJ#)s^}sp!LuOEzBY(&YW5n=<0vJkT_;zt)F3PQ`C{S)Y((rZaH>0000f@c;jAJ%(ggE!mh|Ri~4f53AED^I-EA>uDtI03Sb&fd|8R!s_x}2^a(G@9RO5 znK&4_1nIT}Dga>kR)#weQUR;Klvf0*9n{g=G*pD{0b!JX*8nM@Jh%T4>ENn+KuH|{ zt8M|(1j(cq@Ac;iP!918piq{X)LjSTfyp{JO1L{uGK=!1*9k`*sV-wCTL*0(3aWq? zn5-hp6gD{lWPE)5o&ej0us9fg0A>Eq~A!x&eeWf6&)^FF&y65B2%q$q&r=1KudT{J@+)XbHXiz??tGR_f*l1NlQg zKN!j%awk6+$RC`qkNzL|0rCgi^V?me2i5@MGCeRppZn>7B5arHReE54zF(yW1NlQg lJs6B050;r8OifJ<>lJ002ovPDHLkV1jW(IW+(P diff --git a/graphics/pokemon/darmanitan/zen_mode/back.png b/graphics/pokemon/darmanitan/zen_mode/back.png index 6396ada9fb1f9c6fcd6071252652da6f06f14c35..32fe22f590c45924d01700353abc14a70bd1eebc 100644 GIT binary patch delta 343 zcmV-d0jU1U1HS{1B#}W-e*gz`Nliru=LQD?8w7aWmu>(60U}96K~zY`?Uk`^gFp<1 z(f1ck|0ar2KmAZf% z2p5#80zuvJDFB>MDS*8Mh$cEP)!+8Ofwcq*I|hsdaskK)U*6i&LIiut<|4Gfr+<$F zc?+Cb45K2n0M98i)&cmi#~Gl#g*_HcA3?UreIUGVq8WXs!*79R0ceUCKuay^9|P(^ z^&zs@MCM({DA1)mO|y5AkkLID02L-il^AA<%CJ-kFA)f06BYI{g%Lq?`;M&l)v%N| pA#T{%Ykvfgn^2Wz_y59Q>H?~!FTrvf#}WVl002ovPDHLkV1oM_lrsPT delta 352 zcmV-m0iXWA1Ih!CBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0V7F7K~zY` z?Ub)>!!QtsGg7>pwjh%o&O;3J5mp{#lt^V82^gwLA1VPUF|J4aE{mu9x!lExrfFbO zKYE|#u%a;Uyu#B1s1sAklm_TSh&5;T_E>vbNC@z#t;1Mp~nDa&ibI#Wy zbi#*!iwk8ZTuBTiB6I@H$uqV=csHjNq5BGRs@xEPk0^aGym!%zzUTN`!EFexiV1pa zMEhewY}61UkL+Zh(p6ERPkAN(BGpRHAObX)D$!y*Q@Re9Dy1zuf}zQY3imRDnW6Rc yj_itNyp$7&(|cA}S)U2oF3@EBir@G{lH?1jrZ2(rp~4XW0000lqB#}W-e*gz`Nliru=LQD?8yy_BKdt}(0noh4GD2-3=>^YPA^0T)bgsRvv}q6(E^$gfqAP{skjP?4y^P%Gx409=+uBjACKZ`3~41cHts zeH{aFjmB$;5)#Zp80+Ztb%k0oQJ`+_jR-M|i;T>hnRcDb~3L zuLo|q(pM^ho)%*|z`;aeiJ?JrE!>v6Tv!C3^*?U-OdmRf~Zmnz4v9R5^#QR2Y zwD*SRtWvx&W6mAqzMT<1*^?V|$OsLSxf}w)Z#xcq&3?^Ne`h-w!ErhVUOHng2P+r> zf#7#Pk`7BNb$t*6gvHxo3@;_X5IzV?W=@Z01P_Fj0;Pm~0xuN8bR)sKn~I-#>F0=fHZ834GD2-3=>^Y51yrTq zZT95_%6dtK|H})M^)tYK1ruDEAy<*C!s#I5H=0Z+vuf&-89o7HUwUI z$%GljrqJLmt7bCjv&~w8UM5J2d`QjqToCn7K9%3n6Ora9wYXX+Xv1)9O~IB5jMiHuEuLI z^OF)EToaP5U6jCE=6HR=>>cEx#R*^R=7t?Oq3$r3Lnv%pp2uFZ-;>;Kha-4iJL9Eu z=5lbu5fBL5&S%uFx00000NkvXXu0mjfRut|d diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/front.png b/graphics/pokemon/darmanitan/zen_mode/galarian/front.png index 773d7db8308bf51a2df9b0cfd313231e5cfdb0ff..1d4c95591cdc377d77b5c49a85b1a19b6859dacf 100644 GIT binary patch delta 725 zcmV;`0xJE&2D%22B#}W-e*gz`Nliru=LQD?8#=kXip2l`0-Z@jK~zY`t(Ct|+dve@ zU8K?>D5`0PN@Zvv|3HC%fao&N2_!1fp<_)%RJ9Yagixm97Y9|cM5Uf8Wh+8q@f1i8 z%7&1L$Cd$Z$QVWPNCt-MyEu>^oR5VkOSb$z_kGXL-?I(lVZyu*e;B`ycr+}5RVBV%OE3;kP;mLVyb++m2i~#(c(Ko-fAR9zt7_+fc}UB?CrU) zBvV{^A6LWPUW8xEe?>AM13ZD^3rrQ47Gr@ZJc(`kN+1h2p#l;p?B=`FjtbZXSaY*3 zp1`$Kz^YtoJDt1=FsiG#*s;Ogv8 zS1`s-Wp=B63hufR2qdr-@JrR4k}YFQW-!nBF1UC6(4_v@f8k}6=cu%&0M0%K_2A+# z0!nuP&p#7Ez)!9MSpuBoU>9N2o4B|-;`~?~@pJhw&7T7^q~*p0XP0$eMaotIrg^Y| zwKpzUBrpUdL-Qp#YiOhmex8+%`9?j~*G0_>TX?sGL_Q0fcv+*krXN5B02X;t0!>Q2 zLBO<0|S(6Yw@n_%Ep z(33S<4qL;X&LP2WY)@(bpt`2dF?PE#SYsF%*f(hFO9b=p0H63R;43%QU-Ch>^H8FG zq7gues>T0B9maf$6GtQ?iS^iDLgKJ)Su0HUTVag(#skNHQsSvu;TX8{00000NkvXX Hu0mjfv-(R$ delta 731 zcmV<10wn#q2EqoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0-H%hK~zY` zt<%3tn?V={@T*Weyb}7_4uv|jnt!0`KVY~Fc2cllhmJjip|q2EK_pXsFK?vqf`uN1 zY!!)1ru^t>-9#|&*gEJ98AIS5&ERl-F0YzI?>!eE0ttCO@Aod3=gK_d95FNg{FOO>V){+W1fEUKOr^|gOr>VcYfR3jOc5h<(@C5*B_weQ;{{Vh z5-0J(C?UBoabgMMbcRyu=3>NSjPWv66(>|g573xZKHfyQ+Wu(a9ma1B5u@Md;V3Bk z5eJ;@xvw}~Sb86~hO@m$e=QgAd<=L(3ooEmSXzt)QTd8(R1^AkKB?l<1%_)q%bcyVScg4{cT%+dq%`0+RML;N)}A z49@l=P`m^D%83kr0&#Q^s3oYI7~VzL_9xCR4um+A2jW!ynD)=XzQszd3Bk{sq6*5< z0o$%`z}g#UJPNo45~2N)x@#~<8{#yhCgvOS`M@q3e%OI;iy(3tx(Oc}44xSTkU%Mq zW>SGRWBxF(9a@vT2Vj#$##pJ-2Y`Y30H>8$M{#BCHwjtc$WWZ~3VP5&=s!~8saeb{d~W~% N002ovPDHLkV1m4MQ7!-g diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png b/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png index f09b978ea369a3c93737e16a41b55bec2d6b125c..bc5912064d4106ea8856e429ac933125af7f5f09 100644 GIT binary patch delta 300 zcmV+{0n`431DFGlb$x@gI!16t@YfA}N)qWGPP z>8Kb5jImb(AVl#l-GN?Ocy|M@Sql%~42-;Kbz?=NB0qv+(0?{ba&Vi8T7U{Lo+`0+ zq2MS3kwIjMCW+cxtC?5In-+!`)wCbcReY z=6xEXT8eV0000#io-AvMSTO^VGJo_@CTLJW^)Al0IOu0Kyte@ zh8#wMGz(f2FK!m1C=h29S6c+O*#Q;vm_PgxzbIZ)F+CNdfHC%J0E8&sryl5Kg!eb_ zmW}WL&cMiu@qS*lL?va{zVkO{0vsE+yv4kFjeD4#Jx?|xVrVEEx# e5co$yyZ}^~8PcvB$*2GT002ovP6b4+LSTaTbZyE2 delta 251 zcmcc5beL&^3adeYPl)S89fSJFl@n4J7#IXfg8YIR{-c5e0o~3(xlNufjv*eMZ>JdY z9Z}$6nW%JBTjOeVel^CDbtT+7L9Dndz)>?QM}j2aiy>9diA^LEB-5F6YnX`>$lz__5RJBn@m6Z9CpbcW7_%G tK-A;=;Q$4H`!hTj{%jCq`4=c4FMUn?-P&?9U7+(BJYD@<);T3K0RTrYZb1M5 diff --git a/graphics/pokemon/dartrix/back.png b/graphics/pokemon/dartrix/back.png index 0be588c43a413d9801c543177d060f344598ffa5..7f7cea95b12739e6ea5f6f0e9cb2d87697d9ec6d 100644 GIT binary patch delta 582 zcmV-M0=fOR1*`>-B#}W-e*gz`Nliru=LQD?95(+;P$>Wa0uM<H$UyjnwQw78j_pVZ{h0qPalY3$(5TQkQMF9=z~L*vy^c{S7u2P7SXk;MDrv`#vuUpB)QUme{QcX%EMHy{3c4& zy7BAjT_M*p{XN&hYmpXqvFSX}!qvs0co>rlz-)afgeVvxvdIeNJ76G|Q$j`^aOVQZ zx;St$Bi9HFi%tVrn=uSo^fiE$jtObOaCz_=2oB)ZfnN~3TNiAKK&-Zg`l}Fx5DQWf zSSbQk2yg%sGeNK(f3UJ3*YD*R$dm@8wm}C#%9#OGWvbi*E@L0C8P)q-TmUf^307>`(Xx+#5iLO^EJ;2Z?3)Zhpk@qj*v>_r3E z>9HFjn&^m+JPMpCJ$o7Bg=(->H?cp$i#K5-LH2X&?$QG>SwO(egtlPyFMY%Q1_$0kF>x4VjT^3k(Zq0Mup-OBQ_tpwclR9T+YT-T>YJxHaGx1b6$KO)U_MqgnGs z2ttSkDGyX?fhq(V028%=vmUV0AeZ0eHo%k$qs8hj_XMnoNOv`dYtPAjVt4lVs`&KWJS) zeRTjfvl7PZ0b2^7wm`+R685vT8bAejV?Q(~OZ?ZSK884i1TTXSz>E@{gMgJ19N{1y zkQb4?NB}22x)Gv@jQA+PnbNbDFK~zY`?bR`B+dvcm z;41||@DizYU9#!OKQLXgISB6=&Ja&(aGqpm^5Q2YndQ?~DA?XZU2>DR4z}kSqO4hh z|4X0bkRf_9bk9SegZFVyclS66@gDyhwtcuiFQxmb*=*W2pZ_2!e_BeBcq#Nikb9j?X;C}JqT@SuS>j;g=~fv^4XERH7O zP#*a#Xr%opn#^$MnliA85^;o6tN^DuxY^wPAy7B-@<;SebMTlExK>>TSf1A+@PJj| zV~+r?_kd2%Yv7tHf8Z}3s15{pgF7%OgP%(M-tF|YQs*%Xx@e=_pb6AD{&<@|7^%FQ zs27fCFy+CS^c+vR1&BF7*$e5(I#po6_?vPhbm-6sM4J+@{$45oMQepiHNDLkFi@|- z1NsPBpz6{?V8j6P0=oCe05OdR=7jQh#`H1TltB=W%!x7Pf6mNf+V7+U!WaiY0OmnV ztykJfae&iN00u?@#+YiRDK)h#LVlcy=70#3@$R@I0;%ADE<~ggJxds1=}_;2fX`ha zVW`sy^s9lDXx;nV4t0_y{51tS@p>NUF!d`gy7g1rYKss+R03c4qPFEHs4WQ;g9@;E zTxQQp8Z5WZKI{aP&$8`8)abR~7I~FD0e~-74{H_(3wEVfzO`EHyVS{n|NifL8~*^U WGyfDV^teL+0000_khM)Cs>T8QJM4xADA zI2g~;WD#JV`nr2@8h~Rh&?g|1Is?Pw+ z^Ew1>u@1Zq2;k}k&)}COz4t4h$H7QjUZkT^fO8T>;kba|NL2U*TL$ zuL=eX)t~TyK7xKw_30rHGr&B7{!e6pn5IK>MD=T92AHg?AWUO(WQ@5s^OVjztAHrQ zArOFhn9}G~PEzcD;WQ4xKpbL0Jmg9cYV4=Mxyz11r-yc;Ah5mUA5_pffMO{0v#|9GsIm0 z007}hL_t(I%iWT(4uUWchWiGMJb)%V04CmKLUh5wg~_h)Oe8K{;CWc^9jFW>rj*1E zE>>}%M^_z)H-5SQlKb-!GN+-+0XlUS*hv|@q?3bTDIz+)Hh+?JC{arZ4FX930-9D? zAYj!aKupU8RJ^d6TLr)+0=a-~4(MtGEc0qW z&(MYE2OIqFQ~JRg7s89$pR{Jwqi{;AE>5jRk^h+Qg`vz5MkkIiIv#|nk};#ZL71Hd tln%m_?Hq(zP9TLD{Fn&y@k9O0j~AZ`mdrjOK@9)^002ovPDHLkV1k9`c^3cx delta 256 zcmV+b0ssE~0@wnOV1MIDL_t(Ijn$H|3c@fDhVuqNA3&iGP{Er7(WM<+IyGzhOa+%L z_IX_DJ2ZAENKC;DU5wVDxnyA||`GirrD8 zQ3_fFcnlKSPCFoB*&{$~CnVIOa-CZZAQS>837Zq3tqGjprFs1X9xOR{fF@}!y^h*I5P+R?<1z_6zy;+2oGfR4WFi5BcmbqqPeNKK(wXycN`qtx zJ4#7Gmi8LF?MW$4bTpA-s;i>#Fj@axa*B7iNEd}EpqS4)JAVtF{S4z2|7kpXZq&3u zy<35EEdX`si*MyJ7dcQXG?(5aCUh;%<_KutSvGbq)4_3m7F!f zDIyGKkUk$sjyg`efXnL?ptc0qkSJ?Il<*~h6}3L|Mt|ObPbGlK*=E~#%#S6%6=96f zJS_(dLMU};9<~gymNY2xOI!Y@CqXV6nr5&}}~I`j=d zy?d^(Ab;p1iqASI#`&n*VCxI$Nerc!_hiGFCpDD(_TJrb9+OuC#jLcv1+2B!86o3$vLQ%$YAafXyD^Ag+MpID=K&dDK5MAVL_zHnoBI*=H0J-NW z6(zNYLSf_;Qh@3lCaqD#SZyfU1%#pGdCmPFi7J8C4=i%hhkrSK0>Z*HY;aS+wg3PC M07*qoM6N<$g21&y8UO$Q delta 697 zcmV;q0!IC<28;%fUw;CZNklQ;sC0K@zEy?f`u zA3~0Krg`y_lyZS`v%pSs0aj*h^>1u*o&Y6d8;dnrf%l87ZGY%t^%$#w$5@-a&J^wG z86lJvu7%fQZ{wppd3v=X_9t4C>qVI{c9sD`u_A%HuS+?9U+mEA{JID({k?l9*Y1|m zOXPqbVCY3VDR1_h?O=+mP=U#0bH9}H$o*je0DSkS*hbNI;E`#VnK4$x$NlcR8&$!x zZf-I_pn&myH-G5U0r=K>o*AP7;2h$FLT0XF0MLWSe4an8+W@1^AHd5rP(ZIcy144b z^>OyDZ93>^B<{kIyQVM%VBHbZ&->ZBwbom(iz^NA>;PgdX&A4eMvM`_4r^a!C0St1 z5x|mSxvD(W``HPE3PE{N#sNYp=MGPToKc-(#{INDLw^Bc(X`HyTS%LzhgE%uH_!=Z z{k#UcM@YGEZlDh$gqY?6Rasl*0qUhykym|~zm$(T=9uT2lhfStD^hOd)h$+tKl>$9 z8%v3W0!~=VFi8nWvFY%4jFp=>q0FKUpnl7UU?eS?6|p#HEyPd~fYPND9%?9Yg3Yaz zYx)K=6n`Dti+(AEi70gpK%;RdWh085iD80!t0c&E-EV-OA@~y2l?2^y92~G=La(Km zMB4y798eL9F?9e30yxl%e*z921_NS;c~BGspadmV6zuD6Yq#j7ih|ukyk(A}q<~RT z6ri?9)<6|SWd@H5gBl2#C7x$g6m1Ww!r&7$z%uh3M$brtPdI2{G>kB*=Y0P|HO0^M f1DhW8;eXC=!ooCcV)ue;00000NkvXXu0mjf4vtTK diff --git a/graphics/pokemon/darumaka/back.png b/graphics/pokemon/darumaka/back.png index 2e4f6461c50ebee391cd771bc1d365962bf5723e..0b9cc445bfb0dad7f14799070c7fe4c1fc99344f 100644 GIT binary patch delta 458 zcmV;*0X6=(1hE8=B#}W-e*gz`Nliru=LQD?9w;|*56A!j0hCEZK~zY`?UlW5!Y~wt z15r^{TDsGU?vX4Ji4nOEK$_d1IqHph0AfZ|)Hdl_6*a6Zg{N#x{_G@#u^l+0&v$)o z-xEdCPWn5w`bU7?xY<8*jsPu68+x>_`@KeBK*vrK(594LIk$&_e-0u5Ob!Aak8^y6 zN&Vr^`@-jZ{%Y6Q-R^+edp{;#YRbWO=siz07fXS$kbq0DDR>#cW6Ri#ObNIF8y<6C zY@u)0GN8wovkJgpXhsxmJPBZ$5k^}X(8xvMb3|gzLt-iykvky9kXyQ`C2vpz z=qUT>`Dm7b{UK-Ye}Jh-6!l-Y=BGxM!PKoQ7`#1K%@>4lf48m)NR zW&X?&sRABnd8Txtks84NFy&cQ0UnylESQ%}I@KFTq7LglK+8f3l*Tn=MOqTTRRf_j zr5>4EPLw6GT4-sOKTk{XS;bEilW%bPUHn7+0&_J79X|>*DgXcg07*qoM6N<$g6w+7 AUjP6A delta 463 zcmV;=0Wkit1h@o{BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0g*{WK~zY` z?UK80!Y~wu15r^{TDsGU?vX4Ji4nOEK+5T5j(TDq0L+Mr+9qAAqK1{F@RYU5%}zoX z+kt=d_u0qxImRh}m`3-A&>7bAv+)t3L1|5m=5@DIEA;4aTqiUsrB~zI!$J!Y07eIe zmd`mp!>AHA&byLxK7Vz8D{#BrqwbyyN+Nex|p2x0-V{m8Tm){i-n zH z4@-g{F0*frNLlbX%Vx?X2B{EcAIfK$6#@@!tryIXJDuc>Bhj1np3Xud6x!8i`Lx7> zrw@e5wEf7u;zT(ra#r&!3tSAX##xCc6O$caobumd7{7Bh2OWV~`SAb%002ovPDHLk FV1n(s)MEeu diff --git a/graphics/pokemon/darumaka/galarian/back.png b/graphics/pokemon/darumaka/galarian/back.png index 94115f536adc13cf784b4068ddda0a3f869c423b..ecb309478799612fbfa8db008ea7b00100d757aa 100644 GIT binary patch delta 445 zcmV;u0Yd(+1f&FzB#}W-e*gz`Nliru=LQD?9|rQjGe!Ua0f$LMK~zY`?UgZW!!Qtq zT|>Z-rJ-~;g2s^5^cTcir-W+i=HW8jUK6sEOzzsHRkCGjG=)GCT>rUBj^pTT)rAi2 z(l_dTx_9Ev*m3^#cjA}d_>tf0Uq{1Un|~37eB27$@^+x3fKgkQe^*?||2fdj^RIvo z*Zv_%@}0HG(S67ZKS^dgOMzY(MMGZrir6%P8_vV%E-5wBN2&Kj0e&i=q)K?Jftlng z|Dp1A33t7y1Hl=1+&G>PE1EG*3;>;OCe|jv7&8EXe2*EU&ovW3E3UmXFbh}!7ivEE zbzq{+sdxoD&<9OSf2EYdnxFxIWFaep0_hO|Df2P_NrLz8;!>SvVtMKS$Vfdo*B%P7 zw*qM@UqqpE0YC#7$TbRm-|!W{j0AzEcLcn}d05W^_YEKy2JjX`1AuH^MF`de6jJS! z%N%9_;KMg(Wl`pnS>U9aw3h0c(P15oT_^xLu0E1&Q9w)=Gr~o3A26-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f$LMK~zY` z?UONY!Y~kpQ%gvZSc-QTPILGb<1!Jx7R`}6;rx)X$>1w@q~~7rTKHU zLkM=_rc#G?=^On%-#h0n-oO4(?D88w4qE-|c-U+6FXD)eTY+2F4s;YSYU}cfDFr_V zx_SN;&|%s?aGvj+O^)t=BUbpF&vuRiy(o@{tnd}FX#zKlMe!XkHPc6_|6~K~R6t3U z@K*yfi75Y}@^uNaUetl`3_NZ;Ux<~RG3EwqL10~p9P3Vq-36+n#yfu?r^{Ka`#&jR-iAQuMkmOul5Y+gkO z+5{9*?G&LNbpY^Td@SMuvcQ@JPO3?3sjjI#tb?%&1z?Y>kJh#*Ah8#MpmiTGsc%$R v?rN!R;|~rkADe$5c;9;A*8A5l%kw?~d4w8$(!|hQ00000NkvXXu0mjfAS%QB diff --git a/graphics/pokemon/darumaka/galarian/front.png b/graphics/pokemon/darumaka/galarian/front.png index 72979742262ba6abcbe280a116fd888fcbf775e2..d57abeee934987b580e17f9a63360c4553714eed 100644 GIT binary patch delta 461 zcmV;;0W$u(1hfQ@B#}W-e*gz`Nliru=LQD?A0bz@hAjX90hdWcK~zY`?UcPvgHRO5 zuOucWEPlq79HX?#!r%j#(%l;GZaQ3sx=11?rVE>$o0xd(#sqgV3^iJ(4ldHgnOE=~ zq=1X}!UL#hxe5Q@`O4uOLjLV{+RDa8GqC4$P8)%Jn-)NCy$=QvI0u1A8Al*7-7%WUy( zrAO##VJHDlIpDL!f13v`&JsQjeiBOnk-5c#&qC^?QYsscf9iVv^_uQ}1ARjUTsd~7 z`-#-1p4WzZ)GRBJ0}#Lgq6cQ_ub5_hi%5HA0;Zb91V*^sDT?$Jz}l#NFHGsLrL9c>A7>R4~*K~n@#&o z0hTdlz!IZre>Ki|&D+2$Q_AlEPylJT_!<{bJ00000NkvXXu0mjf D=S|sR delta 466 zcmV;@0WJQt1iJ)~BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hCEZK~zY` z?a{wa!ax)U@MjYflP>;@Yx9T}v`Yv707Kn{c)MXZ23%}nUknSI%p@irZcK2K=>Sof z7+fribN>bZ2TNNQ@2ETRElv9Uy!Y;M@Ly|M8#_D2pyX9A3&D}gQc&Ao1!~>}=hvH_ zyFwUj?}8{`%sW@bR>uN=XD3ky08)#{M?34+yyobEh}E(MT=y1z?9zTUJ!GH(Tiwc& zwEeSsnrna|MSo}$VwyM94S+%*&)W3>5IH~QSy?(@j(M2pV=Vv!^PGpUqRgZ@$y?Sc z0Ml`!XuxvD6nSVZ6#y`V5S>C$mX#qCicuL00sImF*E$!#H@s=7Dy?j&3;+NC07*qo IM6N<$f~n2e(*OVf diff --git a/graphics/pokemon/darumaka/galarian/icon.png b/graphics/pokemon/darumaka/galarian/icon.png index 88db35713d211132cc8933881e33d534331d5a09..7901d09842784a90f40ef9eac176383a8d857a55 100644 GIT binary patch delta 262 zcmV+h0r~#n0`mfpb$L_IbK=2=yVlIEaR1aS&o%?8R9G!GF7tgxnopg!r)p3YOPo zJTxOj{jeYP3~t_-^MKb8Dx7b62835=%z*ihLtFT9KLY|3>VMOffxK%syJ~*M1K5HA zmv4NX;qdS6samF zQ@M0ar6T}StBQfAbj^W-)IcL+jkt7DDgwz$W;W6%$o2advY*@41NAdt5N_c5C;$Ke M07*qoM6N<$f(zqx{Qv*} delta 244 zcmV-ChlcTF2D*xbZm>xj^G}gyR>+O{0w5Z`U_~_m z006;BL_t(I%k9!J5`!QR1yF9Vhq17;(-Vm4OcD8ZSP5M`Y-Y4eoH3G;I4Qznn{>%` zyjcboz7RiHp8U+$Bpo^?L}jJNF2KXdgR1dvA?p@fG7wHDR)5wAdmLbwQ3oIZ38q^B zwTW(raLipPXapeBG+Ph5nFnHcNf%G&?YtjY{Og0F*~c%q9)U>K9M|Zdlr)khh=wlh za}M^B_HyJ2LOWzJ;FO&?RKR2yP*GKy|2~T_+j)JF#rGn M07*qoM6N<$g232o>i_@% delta 224 zcmV<603ZL}0=NQ@V1L6&L_t(IjqTDs5`r)g1>oFZ4?{sm2PYudVIg^Rp@MXBSZAP9 zW{_A$urM21O5HBsY$iYZg!sX7&{O)mVwxRnD>5b8b&0hi>;p#a8?0cAy@`ShvFvM>(L?(!nYnSC4% a#N!Qb;$rx7mwBQ90000X*!jK4|Kj~9tmO2jqbqRG4TibOawf5h~P$3-BVUrRHZ zTOhuFortBB!MgMjp`^Q$Tqz}!#z%yzyti?s5@<>fKzI9il>jJLVgev-Tmb>#kw{?O z3xFh`aV4bA`#99#l?bz@A$=NkL6i1)R2B5YBms_xTsM7~n&kszSsd4|mH8PJO{IsOf--g`@~Su*#N?61&WXzVR#UAJ0lO}We^{q0yGb=of+R}ht(;W# z06fN^9UzCy0FqVoYkMx6+s&jB+yV5QFi)~XMP zlqPPruK@!0zn7FgU8iK9+HT~~ZI<|802C+S>lj#U@h4pafbDmCs{R5qXk+9?Ocuca O0000cV(bnfEZWfj@&E5ATHbq(>2z{dze>~3XNhG>#3kTt$cOZTg+JBAT5SOnwjsmUkrfit$3f=0Q5}&+;IZzjGF0x!56SB6gSA#D?klp zT=$AsKnePAJpg5OAvqBPYeL@feSpGhA{%9dN5CAIQ4>~*aO$UJxK11coag@k0p~)}z^Cxz&IV!?A^~dK6&gTnf7(D8 zCP?n}7GvcEJTJjLm4GN}G(gLW@MhS7UfgAfj~fEmJK0YO$n;u**0%(t47jC;M?E02!f|2zA{Ac&=Q56L|M_3t`3_VyzF3;lakAli-I16 z_BK6jr3Fu?T%g-Tx1CfI(;kOs@242p(?|hKZ}Prvvm3GOkQ6P;P6u4# zUAmo~!E$XVeWwNo&9^K70MzymD5MurYO4>__D|Z0&n%rUx2xORZ8Noqr_aU z4m*P-kIL%xKRGfCe`bvwxYv$NW%=QKs089(>R;^~-8*h~5H(3kU zFgA=gwlfC&`EFY+=ar!nfbNyg=mcN*r0&$7d3J;Lnl&zSf1?Jf@!D>HXS*x_cB&$% zFTGX-poFYG0Bm9?0F3%k)MEjsu88p!R}V8(g7KvwHA6x0Y(u77;0$E+g+!6 zcMcE&s}*8xf6dujA5ma^9xx9g8E-lJIPOZp2@CL)A=!IZj7g*Bix7f>ql6-Uye}sw zDS)Sh7=!Chu5t0AabGD?Kmq>_8yG~PB4a%&_+Lk?PQ<+^iYO5JekBDs8zM=efWpcV zhtV0C1pzF-LFE1gKnRj(h$xUR`i&6C~k^+p3f5iB$A^)n9uUF~ z${~cGd?OD_nxqkn-uWDS={G7P9e}>HgjR8m0G0Da@Q2XR|66tt0D_>$&)hT5b*9f9 to#W&qC7AoT`00U?{Lz9RFh6me#y|9fz^3j%oVEY}002ovPDHLkV1metZ!`b^ delta 823 zcmV-71IYZ72b~9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0`^HnK~zY` zeUs0N(?Ar*vqZ4B&@KVN(@qWSMYcKyYJWt~B?z82abyv}LqinyB+3>&>DI+22QPcD zlarFmCKm-g2<>h4w0mmVV_HfO_R_5XK!P)^g>5_OJ5Bh0=KJ2f_rlFZHp?xIEC7XN z`lY+l>QY^O0hj5S=JRHMbD3^A9>&cjIwm@HQcWy84i6us7~pB70G2nok1@Lu8Hc23 z**G0=iFf&SdIsCYu>74G95&yw00^Pl{sD{WMU>m>1GW8=cH%Qj=PT{n&Q9A(Eh1B` zRE$oQROzrY*z%~NUjLIP!(i6PLHF9pFAZ#`j|aY9pKIS2g9Vpa(rfv_o}(88WVtNVcjwe^WJ!) zY@gAI3~rd4<{Rvc0e`XEcFTEXssx~WA=SvbpS~^AOo=80#7NxD1rb( z4Xk^68&vNu07785LZq!b`x_$)Y%BuSVI-q%=K#fBDL7?+0iH4>d+&-dY1Cp7LQr&+ zP(+Up|<%s({lD1{I(~NH48`HIyen^8ce{o z3N4g0sH>nA@~B1VMy=l3j>7&QY>(z#+%+V9Px6;OtS&ul%YXR&?!CLG6PBd^Jof$t z_P3>-%~5$<+Aqna98i+fl9~s~yX=T<2J&w8h%vUEQvv2z@<2tYFhwbDUV~au6lEt5 zFi7z^r%Uq9vm1jnUu=puUlPM0uNoJxuQKE9M&p8z%iAxF=T??ze`^@GhH+_Jezolk zQLydr#(Tqf!+%{HhLr*xo9i5a&SBWLca=)OSHtCY*GwjWUm*p4!bRtHC*H3@7o(K( z7UvE{W+edr=D=*i`C$mWRt)I;Ae!w1@WWzG95_0r#-P*lqhzrfdQr#JPOnGt9pV@u zl1?B-4}0)J;L}76iO9Z#DM+seH5^|~0!j9YH5Lnj?$5}dDxC()%GFH20?TqtiMWD@CN3EGsipX{ZOjh$$-7J_X;Dvyj zO!p4Bsb_$82q0=x&+<~+khvKFh{D~>009#ZRg4-CZZ(iY84-7-00000NkvXXu0mjfYR_=; delta 767 zcmV(z#+|?v~PqJf6vfZUe5(U5C zz4z|vOvry;JO2W^n`CQsRM{lEMWwg~6p3Ec*MZVD-{-4=vVUFK=bUe@sQ~-S>p)p8 zb5+$=_n?I*_=F1mu+s-C{Pay^V zg@-BJmX=P?#(yXiq9KIGkU1HEpLwvG3b7Z1ppgQmc%1AG0fcceFAY2sQ)AHUgh{eg z4O25Qwb$t|{Ecx6P-0SuvAqubAP8Be2BAvmVG7#mKn*WcvVbTdjtKT6*wF~f0Vpei z4+vDIYebcML_?34kcP&1Jwhlj|1Ws_Yo!G0Xry zb1h8gG+V(s;K%nq*8^ex6gWPmw6zMDFw19B%5kp728(-SBEYzmxtBd|BY;a~-(h?> z$|m^H#(yrGOnizHMBU$MFnNL(Ss2VuDnwBhPy>Mfku{6~R*0h8bcL?0!gtG)%rN@Z zWk3$9W8oW;N~3=igLI9FtW#kou8?Y0Wc5(c9=e0S2C6^yf(S xOAF1)s9ql@K#?QZSV2&ob{Tj2?*3jQSL7Ne_iWS{3hYS%|s| zfuy;J38jZ!429lwi1+DMLkZTcq0obG3AC4?p*az8~&Yn0zU+3zZCm}4Ik~% z z0=mJ1+-Y$Xh<^|uka1B@3M?V8G?s{xt|UU#e~X_31Wd4U0Lm}d7a>~qOo&tCma?-h<}R!$m)d_C5a@0@{_r{7eE~H zIO!6Jz>lXPZ1@4HgggJ9{+%Z-{(-&LbN_ef#m`Q~QNH&tIBc}r?MEnaDukeCvk}Bi z{@eQX76SX>)7#?c{w#3B_gaQadbc+?%$i3X1iEA>j)&si#64i23&Oz~1N+bwn?jt6ccTd)4K}Tq)Ew#& z(u+he6kEYo`hP)GJKa2tM3rV{Md%g3rlSb}C4X*g*}(|i8gQpp}01jtb!XBxqUSSoNRcSLd7IJ-$?+Q^2<{ECd!U!w4 zOjX8QE2%QJT6CMD&%&Z2R{$8;5y|e$@*Kcblbr-Py)XyG(yc)Z?ND-h>sw=9Z zs(+rN%LOvv@`nT{m9+_=DP8aVH(!wgN@bOL?zdcINf3={b0(9BK`! zHF6s*4Nl6}`sHj|tvW{j?^PSr2mSuRWzCug&78o>$Cb~7ywS&EWT~D5n$;Cl9XFbG vqO0}BYzV#ded`)hY9qhR@1p9|Ncjrw*AjQ55bzct00000NkvXXu0mjf*tf6r delta 884 zcmV-)1B?9X2gV1GUw;EpNkl(*zQ0S&1zE4{XN3gbrLI-aRw9BKRnGOyw$H6To6c3rg z={~v5Rq>PkN5=2z`@R47J-tu1rWJJMigs07ph~M%Y14&(Z-02+BEY@xnq*Oq&EU== zgKt9Aqxtc0GeAA~@$sB^)Csylw-Y?`-0KWx67jpGV009Fy*8o(D zOVG;$pRX9=5f&c%aLU>SkssYRUjOESd6H~2X~zyezV(0--4 z1o4V*L97E+0DmH=Ic|!TzuATrYZg(PBGMYSM#sN0_r(F#bfv~z`o?JV$M+pRB&G34 zqrZ%f`SXCU6T2jXCLS-DO>;f^jtiP9HKMGZh`e;^cSyRuvi7!PS{lC;@X23}=+DF@LvaFa&T)v(@BtWH$bV;@q>-I_GQieoZlEXnc~AmWszw25m#+7}+^>}aT5XN_-gzx$MNoqo z(`|**GxrpNeq^mz(;6BrX0()zRz}CwYr|@OTd%vO`uA##nxoc`bT zDSb_*W^}o!0PXrJx=tI-I3{|tHJgG|{@=QRl&%1XoDcL1Gwna^*LS11F74|80000< KMNUMnLSTZNQ@2L| diff --git a/graphics/pokemon/decidueye/hisuian/icon.png b/graphics/pokemon/decidueye/hisuian/icon.png index 997071396f393ebfb463eeb9ac891cc1a02c3915..02b4a3c673ff93c388a31feeab084255d69addb1 100755 GIT binary patch delta 297 zcmV+^0oMMS1E~X$bQ}N&bV*G`2j>O{0wOIm>w>rd009h1L_t(I%hi#68Gmc1HX9uv z+~)k&@a4^z1mV%OGT^fpKq^CTyI1dh==PU1xl5-&jCK0Rl3o%*J%QCZz5 zi@-5m*L2k;(M=j0-LhjEy>6IC&$OC7KIn&O$az2wwy0V-}iKNA%*Teu^qpz?Q zD(iJog^|V<1y*!Mp)MLn&KjjP(c-o{z8OW%-qzVj?O(&h`$=g$JckxnuD1J^0l9xt zN<0kA`P;b4<3gDvbX?Vw9wotmp?i4D>N*WeMQgHpNP@s6-PJT|n>1}ov;ZeA%<$GY z=Z0|6*ZoP+C+=h9Q4H8jqLyw`G3{{6lHLUd?g1lg1dOmTFwg@-jUE{K3;z}v&j$y_ g^TC1nWj?+DtXQ}t>3@ue00000Nks-uM6N<$f?*Ve0RR91 diff --git a/graphics/pokemon/decidueye/icon.png b/graphics/pokemon/decidueye/icon.png index 6078f20b83ede3f2ca9f08021fb1225f889613d4..7ee9312aa3002c7b0f62a23de58adef1ad680ce9 100644 GIT binary patch delta 328 zcmV-O0k{770-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdAt|NS-u z00032Nkl23LB{1v_Kf^yO1w5A9RS46c;! zGifVW-9E84@ZLr|&fZHiOj(76jlK*_5yiMD*9oi|)kkSSLTzxVOqt-PO%~0zcJI>3 z{$l)NU@8w7NlY^ delta 291 zcmV+;0o?wc1Nj1wUw;7vNkl>5*#A7K9)v7*I zC>^vU&lJdNgB@=05ZP(S;Gt3N4)rfV$3mgE-SOXlC*2oCzZtIabD9K&Q&4cHxu5Ht zQ9-F@^#X;nVx=BIaFwbqh8}uKpRLkh@*#>5dQiOGvZpu}*MGTUkX%F}HMr8E5bTX{ z*~3m@4;?bg46c+Na%pQ=-OgAWcyB9i?w6GrrmW)9CVK-@M0s0QuNzo3Y2Kv)3AyM} zn+hZm-Obyz_s_2BWPdUKF)(!i3~d5n=*>z-KH4}gyTbJQ)^zOokY+lV^n8pfGvLtk pQM79yrssnUfE@XChVT+U#3w7hxQj8%Pn7@w002ovPDHLkV1oM)iFN=0 diff --git a/graphics/pokemon/dedenne/anim_front.png b/graphics/pokemon/dedenne/anim_front.png index b31e4382ba22300dc80df6e6efbb8d61cb1d9ac8..76283721e2a94580dd8371c90a6adf7db25999a0 100644 GIT binary patch delta 820 zcmV-41Izr62b%|wbbkN`bV*G`2j>O{0wX0OD?7^o00RC=L_t(o!|j$qYuhjs$K@E( ztF5%GVV6kWWjDnxj2#Qk)*S~CW#^7GgrR8+3h;V5Fa){?e1BKOv9tpNH!Z7k<^SR&6e4E{9(gpnse#LCQJx0-sk1>siRN z6c!6ZCW!6x@+ejq?q@A@8=eFKf;nYCzV)&MJ(&T-F6*#*vfs)8Df<~fe9nal*xPdX zpaE6@$exs~=3sENBW0KalzRoh@AaQVN+mn15lFyUs{q*Bhtd4Iid+5tAaC)C8VKn| z^Z8tBT znt<$updlQ*0U$s(j2&hH0NziU$2m~bPmbdo4cv@oHG9$ybPPtbPh#x>bQFlkQ}|(q zwZ5{JLw`2_jIRgW@>z_WDdp1~0XP#I0KN%WKLVlNhFNYH;4gp;3P8dp;NMAD8I6jB zq5(lA6b*=jNGKZ+M1o;JOrUB&sv4^Xq^i*{AjUFP4T!N!RRdyFs$xKpN|g-=QmH!w zB5EpiZ$L=HlwfHfkMoAbs}jIpY$f{UoxFrUpMN@r1n?Isfj-@@SjRCWI1Fy)IKR0a z2idOENR delta 808 zcmV+@1K0eU2agAkbbkW{NklaLEviB()`hYPnfnS?k_N?{z4 zYE7Jnx=!K>OOM^A&Ouzdz}EZ+sQ&=s$^}j8AH{Q;u1Wl|azntL)GG4(F^f=meJ2EM2e){{_VB`h9>+0r}d^3iMdAg91ElO{0P%(JOu*ij%Lfhc0zmepY&8diqa7*39ALsN z0DiCkC{ilfS@l2y!CM8u-ad@xUsc@d?+1B{Thu^EH=57qN{xeH^@``0fUS>nsGwBb zy=%5hK%{g5h=21^^EyVmketo{XpxSQwaC`^I{=S0)pc2wXz)gJ+=iT!0h}8Z7;BE7 z#!4{&VxM&lfO7V8cQR7b=+olL;fPFXE#l*Er%Ek;IG*pC0AUNIMj&9pZ#`R>C7jN? zY!Y;Zg!l%~=#b$O__R242--&uK%8}K1ZXOC(O&|whkpZ6PaY_kYL(UipJB7XIIrW> zGev6PQp!Vk|0GQVhArsuiu|be$?*TZCp+JHbAbTNb2nVkK2(Ub{!z=*6 z^Q3v412uVa9N%c*W;CnWlXjqEFq(a+0rEHs?$1BOUmMo_D{E1F_pSks90SF0%4e|| ztbCdyfPcUas}it5!=@exb2p4~LkGVBY)}9aHUWQ5!pdk=Boqw@DxqjVC?cV3KoALr z0WpE90jX-N8jz|+!+;pmR5c*RG*u0Vu~HQSf~-{8fFLV%XFxn;nslrU2x*uSEDhvw z-mpYf0{DxqMBluV=kVt zx;7wf58bZ?1Cn5XwKgE_)I+9;YJbr?&>F@7pm)2vkbOOpvvwE#riPb2DGvY`P80N# z8OCt=A4V!ZxvBva*aKJ)@DB<4)i!m7H< mZXqA){ln5eJotxyI(`8`055=d&UXR;00004;1cU^TB#}W-e*gz`Nliru=LQD?Bm^J>y;1-G0cS}>K~zY`?UhY#gD?<< zA-({EFHqA9cr;SfoTpMxkpsAE7GNp2;bI+|fCqz7S5+5z3l#Z%oHRwTAL!s9NGXx;JL`Sk=-NkxY`C*KpD|x z%z>e;1YmXoGw_}chM3+1TAUmb+EYMP>Kw@Q8{mueSp*QSqjPS+BA|osTnXT_h`#F! z0K&%%eA6L7umDWZf1&@(;N0j3p3mDRKl^J2mbdjq&M-U+ARn9X<2ZWXU&LJt;n}}= zpNeH;E@{9pC%r{#`h#|Ge52z7$!L&8$P!Z5MR^|cuaN!aGhJ=J}vKW&Ts(e zY71md+^6-r;#|TGSgz|*V-DC_odOS=cbNf$ef@v@C;b4F6MMrfq&(oq00000NkvXX Hu0mjf>EpK_ delta 423 zcmV;Y0a*To1ds%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0clA@K~zY` z?UYS!!ypiaO}K!^T%gbkFd8Xp&QqzU$N}g&3mYl7@x?me*d7yOb=7Y27FNXjm>*!$ zy!7W%z&i3f$1(>#WSP2ehzJ4vKEQr*G*&_=Yo?ugKLm8k@)|-dEh$->PCubdSzSAC zcUHtj@XA@<=F&IU$L-sH70^Ju(sEf~=MJ3{wR4URI?H`Q=hp}_hp_+|cq}q*W%met zTwMzbpsnaK=fKp~3Se;q6Y#!X3^Dx-7;$q*=nnzi=wqPJZ-6h>XB9v=4Gb{Tbpz*!Yp;Yv$o9fqs++O{0wf;YVMHhZ z008SrL_t(I%k5Gz4#F@D%n$q<_yDYQX~hN;$<_==vBbi2kXZUC5ZNF@n@SyOT%c*n z!p4Belw8gy+jm0z{2@1f!|e73WQiae0c$!h96&%StLLeMKz{;@ChLHgwri&hBz$@O zQ&S^q?}CJD3{H%6(02p=r2JlMF^C$qBW@(r)E0LIGr|CHUfPS)L$6@6tCaD8M6>)d zo|tO=VI}_)yH9UGxp=H=h(q;sejrvEwVbLD2LUTnMsX0LMcgpZO8}f0NZD)G+g2bN zVk@a<9Mo1xsVYMa<&(YgK8iyvu^@`$VDZ>7zL$?XPDF<=@ml@d00000NkvXXu0mjf Dgz$hm delta 269 zcmV+o0rLKc1LOjbV1MsPL_t(IjqQ>>ZUQk7g?)p$4Y>emp{`@?epQqHz2g3MH)9Vwc<_Z{r6;882lt|<4`yx;h zk!M#uK%YBwZvy6W=-+W~nQaUyMYubjI2~xHhT_r0y|pSQb$@0DDJ1=AJ@0B!qz34; z^k;2zt>mhU)@6ghbaNhejMn}#lK&`z@C0tN?{Q^2G(Vfq!lpteu1a=L^x$e~YGwynB?iU8Y>n17{lR9kH!&7=Xf@YBX$Q}r4@Cxl?T;@`M29d5 T=G6fJ0000F>BjE6o8+kl0gut;uLl0pk52D!70HeRpvzM-o#fg9#W{iTOxgP z)a4wM#U7e5IExIP`V$NW51Kk<=}+i?==qe=4tggjv_sKbgnzm3?%f^l{5^m={vdWL z#*KCr(DAh64}vOy2WMJf7#4#urE~@aj%n zHPeeo{n#%7_J7tQ&8`c;8kGR1*u-a*!H>#v%*3S_7Ykr10JDXdwhMqb3S&jVxG{B< zh5~jPoi+)`Pr9&)MS&< ze^cb--xjH(j(-_OMM*-V5~yepg5wGx?7q>CZ++n5nL*nfws^?iyEvi<>$TLs8?ka_ zZCr-K!F&-u54i^#{YL?(-se>5e>WiC@2%2*Ouz3!|9ZP`^slqKUjNeWzw{5~cK@mW zeX0ey*MDhupq9ATzeVk1wiqiZlK`-1s$TpNXzdSf1Xb;USJ57{p`tzT>h|D&X%FiD dp^m>AKLE@W3K}TPpQ-==002ovPDHLkV1hVjD+2%k delta 618 zcmV-w0+s#O1-=E4Uw;BgNklBjE6vt0?$sj0Haf&*0P_Kp7;FJ=RDsv)r zZ{n*L4=L2%Es?%C>T(XsVh_z&oW%xD{Rjqw2Th%_^ds~;^n8xf4)>R!&_Y4~MVR-y z_uk1*{2ybb{y^IWaci##XnMKvdqEK(g40}}7q;Hz0^OG2jDI-~P`ug|E#W!TcL3mj z?1}IRai7esR*C%XTjGH@1{Em&6g`iE@YtMyjp768(@t;*;%sst>(>->6lW8ed`(?~ zm%M)?6FxWxH&A+cBQNXed8B{5G61_vnNF_OK(%iGDsrXIx`H2>YK-ND9IO+N5n$t) z9PO#0;fNaFA3)$i(w6f2c7#L7*^JnY#o&7O(%cTZuC z(~#3V*`^E}I3`J!vc~4ZTU9L;1-OX{1z0*T<=6pxLUTRNRqHPP<~opo()FRky==1F zbr0FlWGLN>gfX5Uy)akv;|DlHg)avsW~TrE002ovPDHLk FV1hrqmz)3q delta 305 zcmdnU{F`Zl1SbbG0|SFkKG|IEHw1zMXQB>yQDD z>-A-x_a^=SADzFu^QxM#W5B@;?HlK8+nzWl_xJVer{{mYdcHuLWBvgKgLL^ACJyP% z8Q$k79Lu?NW3ob@8N)M`j_#RK=RWE(hD=?de)qmOll;okL;dyI_TM^BtenKPEb$^| zF2mOETZ6S5ZC7=E2`uzraE$-{s3NLwtAxwZ$qb9bSB7ko(CF|CnV^1q(SvP!pGyX; zy)a{|YD408#uWS3<=N@a;^o)f|Lo4;^RHvmy`RdbtbQwt9C_2f!T!(1Hv3%;Vo9Hl z>rF6y@~~gH@yx%9c88=#YO)jV@P{|nOqbWI))$bC|G0h^(BBN6u6{1-oD!M&CLJ+0r5#hK~zY`?UcVx<3JF` zgA3}!zK9eQi4)!NSBf)8rl275ii(a~u1SFex~ol;n^#y)OG8C*MaqM>01?TcrJ?5) zcm`%2;1HfoM2nadmNGwoGqXFNOQnw)^KgE7p z5*!f3Xo=Z_E`IsWNi<{3iB=b@yByE}L~L6iPWSjGNTN@Gm`jD&e{cXz$Ri3Dk0t`0aCI`^pDdf<1Rx6aa>fIVF|eRRb>o=A#{7c5 zQ^)sipmwHim42u@@1u64DDLadE^F$PfIBy^ZUt26?s7vZt#qCDPw)i%yL_8?T_aO! zY53N&@Osdj^I^f%Pb)GW)UOv0;CaiMY@Ytd^aY4Ge>Y+*e?RxoaV*<^fKl+QawV`z zeSk85g5-uuh0G-(sG1K!9wE#DG}6%W#$z&XlbY@C@6uq z01@ekmL`2(foEXmj3M&P**#*fuyphJpMU0NHu^`;)`qysHvxKsgepoo(1FncIBJnl zFoXKnoRpD~fJ7q`H%=#ic=NF&G0<2O!wL4DNI(jRIATDT&twxMF(bfim&QDlOe`dx z6JV|6VgSGr$|TUUQj#tZLBQz*dPky(gb2vDhZD$OjO021#u{%Cz-|QzB5otTEPx6U zB|2G5rM^1hL?Xb=pmtI@J6~FW0n{hY?wqX!#@W5~K>T(;d{_g2g) zBA{wuXU|`{H&^XI|C9US{LftpsJ}=5%+a~pZFSjq?+CbT2kx_g%i3K&aLzj~3Phdc zH}LW6YT$Z~%DKBMjZzw}<$#ONtBq945m^)(Hw>s`Ib{PePVce&1LV?vry94G9>zkP zhwU#QC@5C$Cag4n1CRh71Dticv|JXXTPUpo`-s-lY6*z>eqaFT!Dfz5GOn)}P5(y; zs5?v%PJq@5z@aH2dg0z~S`VT03>Gn?(#m2&OQV zr+6jp#6e)<*trmBT7<1S_#WOfQ}MWZdF}q6_7g?F0PnIAtho*zE++s0002ovPDHLk FV1kPc0a5?} diff --git a/graphics/pokemon/deerling/icon.png b/graphics/pokemon/deerling/icon.png index 666cce12344f391ad37c3460fe58a15f7ee7b8d3..843650e46a3b999d283eb3dc9275607f845bd8cd 100644 GIT binary patch delta 360 zcmV-u0hj)l1HJ>0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdHB_M#bz z0003YNkl|YePp#MV))*+CO z?LlzVXo2bOeqm-gb}fp91;nlpiilW!244JQ=Q#rrEg?Vy>$?me1CCo-^%MbaRetZMJy{H>Q{djW#0000`B3?10UKn6R4=%CR7 z^X=`zaqL`FO9zN;B@_{{`G|t_$IkBzlvt0K8F0DEVrGQ_nNKp#dZQGq^2yU+6gQz- zzD!+VbTdP|^M!fvgek5IqQfA}Mr#|#5BZyZd;!0`s2fs`r%?a^002ovPDHLkV1fZc Bj7I)EvYG`+brj zOD7R*x)_QAUOF|V&(K2fkfFYkU`PyB?X*ZIPaQgx-lk9D*PZkU@t2DRYlsIBkm!F5 z9jMaU13{uDOCEBVC$m(51E(YjQ&HPoxGBpiae#MOM1ZjaR~kEDPc(YJ38-}!AN9VF zfYSBRthcfb1J^yYV?+$uI1r+GUU9He#lz;6fr~<4Hhi29{Yb#U@hulnG0>V0@JBP= z_BocszbF`j{trD^$G|?e2hqu(2c}%R`Myh4 zc9F%x2?IJGWm2?ODOlvAr_Ly8LydkJ`@)#*J}IEHw1zMXQBtJ#3Z zRad)FP4(yh{daRqb!K-a8{A-HlRr{@>zGD*!svYLv7P-O9Y*H8Z0x9tkTjvw^5a`!y~0+*S+@~HhZ=>*5CMc>io`*8%w!EeVi8y z-(vZ7A~T?xsk&rsX-}6k6Gu^0_v1{-Ye@pK;Y?@Nc)wg^7{Ibo;J<(+$g9 zpRF-v6xr>s@LN+S_Vvuo`(pk-?-wZe*HKmb!TrkW@9r8L@B0nP|4A_26g(%t+TojT w-aiY0j_=3SS%m!m=uMEh!*AaBXPW%F>8`?RAt&EC0=>=P>FVdQ&MBb@0Ia@>@Bjb+ diff --git a/graphics/pokemon/deerling/winter/icon.png b/graphics/pokemon/deerling/winter/icon.png index 6528ea9711756c567f28352f32ca89afbb17a238..ead348bf03fa9917916e62edcb8f014cca91e325 100644 GIT binary patch delta 364 zcmV-y0h9ju0=5H?7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LdHDAHlr80003QNklP^k-ape}zK z4%MB95@$6TC&FG!fRE{6$QA6G6k4B@XWCT_Jrnol&IES{Ka)30EO#A zhkMbaiR&KPDI%t197s_y1&eV#VX2~ z69#x3MuN3gDOknfLuZt*p@u(AePPUg_BUb117VEkM=#9P{P+fUDU2l*g7(n>0000< KMNUMnLSTY{{hO5l delta 303 zcmdnS{F7;d1SbbG0|SFkKD{IEHw1zMXQB>yQDD z>vgtS&s2Z@-~V;nY>8YWK^9S-YKhaC)zZgqZmZuL_HE7iGCrwh19rBCSvQ^tE$Hkr zdG}IsZMR1GMwO0*ybdayNxoA>pWm3qaK^`E(!2NEjr~{H6YGypmH+LM64EKXY~e-D zTBg!3l>yp~wyU<8xv45Lvee%5ev~PBElEJspXp58(jd>|1qy0`j`MQ5n{M~bOLe&F zRD5j~L)TsP34cYVt^0arzg^7!=luc&|2j6^`>A~D)n7rbL%)^ZSl9D3>a=`5t~bH- w$-{o(#)|qq&I*Qw!XEFW+gCg6JIybC>Wsi|f5z%hKwmR>y85}Sb4q9e01ZZtRsaA1 diff --git a/graphics/pokemon/deino/anim_front.png b/graphics/pokemon/deino/anim_front.png index d0a21c0a2f0ceaa238c56bb6ea1f8161c04b2cee..22c9fa50c1a011e1469705a1ad0d9b9bc44a8cec 100644 GIT binary patch delta 618 zcmV-w0+s#C1=9tPbbkN`bV*G`2j>O{0wxmX;c9^Z00K5iL_t(o!|j%_Zrd;rhAjx$ zEm?g49o;F5%u}Uyv~^iB6)|kjfe{KF147^f6ln4Y^;&ex*0FuLo@|di5@?q;@Il-C z`j6zD#BVaW#2-a6jR^88VgM0AuEO~g!h%$XD{ww2$TEO3lz#_~MQD9v1lFjJ0+`AM z^HtCypXUJlh}+0Zemh{1K+Ss$2vX3e3Std?2P!{$_yx)GPBnQslh;7&#$c;q-U)&m z!{PM2mbN+L{C+`5VmrCQ`_D+7+$=nNbwq)A*gk)G90lUwr_H|3s7ngbB&|{+RZx|Q zk{LlsUAC$wYk%)qWW)`*{mzHEvEC9y+^*{%pf+yftx{77b8gqHcdqh|^-BpW_zBSL ztbc5Ojq~sVXokxFVe!k?-#BjuVeH_z#>VvSqjzq*)3>4e!7sqJ2CYG%+xZ2Po$ajE z%5nGwt!tgL?QW0-7FqIc?LQ~pr?V__RVoV1IoVo&w|}q9LzNm%HV?wknGL(_$I+4I zmR+_(Z1HUewyC6M9<%^ocP zLy(t1ieoJ^Qg5MKB62ZdP))IkipL=8i$wUH44MqqAUk!m=_~Cz#-$k6VhW!I+zyJUM07*qoM6N<$ Ef*^<_`~Uy| delta 610 zcmV-o0-gQS1V| zL=3qO*A;{f%7i;`J!r@>fGSi6);zSoNr63@qXE1JsbIDYMt|h99DpD17DS<=2hX}1Fc$%oq<{JG2B>|Gqc7wX2JFCoRGZN$sOK& zMDlcCDLj03+sXUjTSN#!&nzL49m ze3*??u=^h9%!K=?a^2W+UMrH4T9?cwl93nCwZTz!}*tKk42feeSohXNU` weFQQ*?T`s1^Ad=%7$Fe+ZwTbV5C6J;0!5s%h9PJITmS$707*qoM6N<$f?(7kRsaA1 diff --git a/graphics/pokemon/deino/back.png b/graphics/pokemon/deino/back.png index d203356cd0e84fe4c46a6adfdc064956c2540460..2585fe29abf0d01ed902343a7bccd318a2a00f39 100644 GIT binary patch delta 372 zcmV-)0gL|U1Kb0UB#}W-e*gz`Nliru=LQD?CM+j_cPan?0Y6DZK~zY`?Uk`^gD?<= zjr;;}VeHa91N7WvVZh=>hAyePS0xWnRepdfQeL5tL-FW`stF}T;cV|!ehC&n{dfNz z2F7l>RP1#Vj6U7UfUGqF8s4Ce}7=!S8J!X~J5F0bP)ge|8|MKny!b2rt6z zsIH0tUV@wEk3bKgCJR&fCN*gl>H*PN&@qQ6=+szxZ4xKZHF$OgBngPwpeOe_S3oNX zAek#*QxE{h3-y@$0ePws0F)yd5daX}RTIEDg(@(83dXEq(>^Z&xJa>SwI`=KO(SjF zcjjrL22`#>`^J1VY6QUX@UqXDZ;K SpzTcn0000HIXYld_C=w8h zK~J9Rl7LPTK(QoXBME@xnR?vD0X1eM0PTrJBme~e)C6$qLQ7oVCEKiF*FJ;*oOQ8l zO{7mfPGjA+uPjnT4XAxW`@&)w0^s=hbl9>;25R&Cb^Q2yf#lp+hc2~we+*x)#IOzp zYB1(4>`_@UpJ#1MFeM>)Wq}pb4DQ1VTv<^%3)2XIsDO{(I#zx~s=Z=8dHeqZY6`gM bKZvm(msg;&#JAck00000NkvXXu0mjfP9mk$ diff --git a/graphics/pokemon/deino/icon.png b/graphics/pokemon/deino/icon.png index 0b5ec01ce0d8a2cdb81804fed749ecd3f5114ccd..0a308acd3e2b020021d0716b023e4d9e4acbe3ef 100644 GIT binary patch delta 226 zcmV<803H9M0<8j&7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LdMxo00PX0001xNkl delta 216 zcmV;}04M*g0;2+u7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{Sp-DtRR7i>KR51?3 zFbE40OjYpze_Io&RR^HD;g-92$PgQFP~V7cNrOt~tDsikA0mKG)zm5u2#g%j8*7l5yT zD!t?*cux}=EvgPT1Iu6YY0BbfmyO@S4v;?y5EiZg>GC1imwYJvJ-hV$=QsgNPYlwI SiBpLH0000Nkl&uZH+7{C=H@HvUIUfaa(t%uC@U3QgZ6m&>py}$@A3luU4$q3}O zLn-Vw_5>keI`^@Bbx;5rG)FH(V>O2NdVYVfuV); z#fFXa5lP%W$$!NKkW7+1z{Z6DrsIb=wvua^_W(ZbrTK|?kN`#qvj9%xR~Y+p2BSuM z>P)`9uw^_FK$3#v(3T27YjM-YIEtcqnu61!b#<}e(Yr6VQS`aLodoaj4l^`mIwKTW*W0KaanW551XN*Vyi-Vx{TTW%K> z0kz{3*FEL@ho}nFPFE&Y?{5w}uKVhme;36acu6Ig6BTg6rU*rE#nBDYk7AMiG?4tb zPCK&fNPqIC%ZauMJrV0Bg?+|nz+6W9G8rN^lHXUz`5v!-V*MXwi<%AP0~%+1&tp9f znxh^aUUo!bUxXr@uX`ti7_$wfR!;y0KRSp2nTndgBqoJ`+&xh&TP{Z#uxIy@*p~s2 zUy72t=A;~mS8OZRfOAv=Z~+XESq1ir*vLYI zzYTx|Lt;+=jLTZnilw)rQeg8;>w^fqjF<6;EC~Ds7G%R}3kouwyTF2cwR0C*kfV0) zLJP_^-n<3%vVd+uf!_Od3o@J>pjnXU?N+q~1zOL@TM*F!&4TpKoU*`kQ?s1iZR5WklL5V<^Re%%-Qr6wcLO6^FmI83ab}_2(2Xo5MGyZ`8Q-Amc XP?yG&G$Rgy00000NkvXXu0mjfPutRw delta 970 zcmV;*12z1*2%89yUw;FpNklkiI`0wo0vln0g5G66Nogy|Rt|$P%BDjg{(da|WXt?M z2tA@v+naU~>UE6&feXB7qE=%3j}jCl77#aM8wh$9faAUi1b>Y51`ZJ0Kr7CjBI5YD zu>zY6%D}@E-H0(}t$>=4$ItY&pv#yG$Py$$WE`oSopwxuq!WdNS&!Wfy9hkgL_E;x zxJ~RL5I!)0aodRjXzD3c9v+r*0MsICf{;`KgiY>p(pJ~3eV~*Kb$yU$3J7v+14QTN zgrstXpvH#gN`GlM3uRsaph}1$c3=XyJ-hA_QWV9NE+IN#4fA2)r*A%gD2h*`^;H%s zfU!o~EaKh!uOIlAuP6LmZ_)+o*DG?(SKlbV(U$`@ZkRQ^(gD&&d$~y)4@b!X z@MQ2*h_?rEKdAz0ox?aj65t-t#L1opInIVaJaKUM*(Lh5alh1ir4TP zXZoXD-zC#t^c;I@rhJ64mF0vq=;{b}GNGT!<}M{v=Lb3*pS> za)Rcu*nf(Ro1@n0kd0sU;9$SVA$I4N+rWhI6=Uro0Hs)N1JNm*2|_ot5`aPBu&jj~ zK48mlC9(AZSiFKGbs@Y7H9P|$%A3%D0N^C4`v62GKoh(dSV6e-0^2D+gOK_F zyyaYm^*z8!9yI*h0Gjax-U-5<2Zhjr>sx&jpnt{6m)sTMz4ib2$HpJ9ARG8Q78GI! za4aaZI(LNyrDo@@w4liB+?5t&H{P-Z4Q;@+pv>+4t_1~A32-b3dbQ`(5|>VsptrJ@_f0WJ*gWfhh zKwnABsi*>QlI|oXqMrVbcM>!1`T#94gM2`%f#xul5;G=@RvJWY5Hd1dv0MP>{r~^~ diff --git a/graphics/pokemon/delcatty/back.png b/graphics/pokemon/delcatty/back.png index 09cd0999223bce73a206d9264668225608c4e2db..95f9c1099585f06da807c067349dd715ed9e33b9 100644 GIT binary patch delta 645 zcmV;00($-Q1?vTnB#}W-e*gz`Nliru=LQD?C%opu_@*l`8RnB_MztD5Dq> zfT*1i^$UP(9f5`wi~))pxBfl)Uo>LNP(AnhOMtT2{s~C(I>(oR;)6`*C{C}YXc>UU zT&8n0XLI@Zdyf4fLKIEnhk4xD z7_&Qs#Zf}PN`{5oWsiZCQux!wwXbUajv+3e_^LCR0=aMxX!DDMr2*{jYu{ak!@J=> zfX{d$PvOTIC#q&S%x<-jDZooV{6|>kgnZwpKqd}wYxsd=f2@SY$hb#Eb}S&k9(HMg zTv3%YQBqc@s^-1ZiWPFO4M~*D=J_|P6|A?(6}NK-HLIBgY)6u*rb@bti&?cbHZ_+) z2trX=Uc#*r049SF7JzMLK7-4lf)HeOgZRfnEqh}gfRd3A?G3k5kT+u-;Wi$GXmNg_ z&=!HaFCxC-dyH?k3BWujW1xKieaGtc7`RwJ*3dwNGCmGB`)y(%xu;tTT+OqDzDxWL zpgNSO2S?iiFwpnAld02#W7}ep(1r8a3Ek+y^)ds1>R=;)nodT*Ne=LoK~zY` z-IU9&+At7?t;iBC!0NAyo@#GYaI-0PD7WwHGgkYqZ>KLf=FnU7Ii zCV*@mfX3YBV>DND`}lK=<4He^`85I-UShRs^i}KEe$!`3_s%PSoHW>HP~Lj>uAM~D zBz~C3gVk6(Ko&;{{qa00!R@j~VWkxQbaC#Rn!lsO?Gs;hCQ~36?g4FnaIjRsR$u$w zRXDsm{tftyC+%?nwZmPr9A>xL$rRwFAO15eb3(ozQy>#3xHbGhGFHOIyb|48;9P*f z5vsI6u4w240+O55RE<+;-#m@2)ZjAsi85&^$C^PdBTnrT&K^8wj|6HhbZ_E==GHOH%0F+7IjB$i3 zJT#)k`GrJV1Rg$#_=YonvrPb&IT-`(6X-iuZ^yvR`Z0%R1{BH&z#`z=#6WUSw-&gY zR|0wf0j diff --git a/graphics/pokemon/delibird/anim_front.png b/graphics/pokemon/delibird/anim_front.png index c093ee531dcae4d36fc68f9af619fb8d61f2398d..c0abc2c579352fe918e21575f4934ba664f9e54d 100644 GIT binary patch delta 1200 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 diff --git a/graphics/pokemon/delibird/back.png b/graphics/pokemon/delibird/back.png index 64452699592bc619fde5546e4f59ebecf7b55b6c..0b5ca88dfb1e279481053039a0748effa37d647d 100644 GIT binary patch delta 580 zcmV-K0=xaY1*!#*B#}W-e*gz`Nliru=LQD?FC%9C(eeNQ0u4z-K~zY`?Uk`^+b|G@ z1%nUZwgwVFi>qWPz)7JWKz0vh0QxzUC8H2789Nl6JY?x3B%5Sz*C9iJ4E00xNJ^0` zT{3kFau7^N`h5TK?w6D#@A1DwWc0IaPi9L7P@j`o-k!)glftNZe|qsMu+LG&8#819 zRJfl9{fq$w03x1IakD0o9Dt61X65sLL@csmsz9+{c%VVdZ~}-x@5jF&D5o=Ci zvyFgpDYpkIU5EdNf88!Pg$Nj2ys$}#HB^Xcz2*R6Vv(e94j=eF>NW)^VDF>zL`4l* zt#(X}k*J_fA-}xev9m-M7EqTD_pAn4>U={*emed6uwyl1I5@q7V$w;|6Y%RtF`dOA z1%CO?45JwWcg!s0u!?D~#ace6AWv@}UrizFo2$bZ0oQLsf8q(5ZwzQd4_`bQKl<`G zh0xY$niDm_U>zoVT&N(o(Wr@`1Jm?m3_x^?uAFy-NohGQA(+Kh+G=kqQ#%VBVC_>d z71TJImS}<7R>_!AFGZW6YLyHn$d)exv=;Q@yciDK4kaiG@m1yh8!pAJ$Zn-}sZ|H8 zgUyZsYKBrpI&a5Dq9>|nEdtIuU>!UF8wgK!mtvDCH90000qWPz)7JWKz0vR0QxzUC8H2789Nl6GGyr^B%5Sz*C9iJ z4E00xNJ@?@UNUtl(1Tz?)~EaLj=w1W$6pVb)6cTMnJpPWe-yK#zfp50h0*iu;!R*z zppFk_$O5QwHxK$b14saWL_DM7W}Q$RfR2D}<@3KsEb}r|px7-u&>`lS05T8-{cjW@ zE-ex~;oBfUae$yIfA05BQLGePqwY&xU;pyYT?zmQ`CL=ndSJo4j!@Z~`pVkhyaElv zhJY<%%PDNO5il;}dZ5y)@P6oa!6`(*;Nq1gA=c0!X6>2-q=`j;lEOK>V>3hzN&ydG;q?3C9jg(;!Rb9rJ2hxt z2>9_WnFPQn1%CRP_G!8?a4*t6)wqgu)^e>5Dag~?r#Dlm_U39oMZmqZq40#vHw7v~ zA78vWzxDNT3RziyQ_()r5Dd0qXO9b&MVH+Lnf})h4b#Ztd zG8~E=RvMRH4Zu3s>=>Y7Xx$g;?bs>wM03z0;A{Za!2_@^f$(JyDK@#*{V8C^ZXAvg h|BbRo-9H#Y`~eMmes#0-px*!h002ovPDHLkV1mTv5M=-W diff --git a/graphics/pokemon/delibird/icon.png b/graphics/pokemon/delibird/icon.png index e0f804a78cddf3f8179855a00203fa41bd574867..2dc09c98fd1e8ae70f413a5c765884887d63193e 100644 GIT binary patch delta 288 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 D*5J^C diff --git a/graphics/pokemon/delphox/back.png b/graphics/pokemon/delphox/back.png index 548c212878da07d6a80a76c565e79db3a63b9d9f..28ecb60d2fd638ca8682a3f81fe472321edfdbd5 100644 GIT binary patch delta 718 zcmV;<0x|u*2D1i`B#}W-e*gz`Nliru=LQD?FD4e3C4B$@0+vZcK~zY`wUp0_;y@6_ zW5{I=3%25MA=6_vFrc7e?lOp;qx1`i#Cr%f`zT)K;AJ5&kFysc7uj>3VXL~j^T+gt zxojVdv3^}&*H>jb&KDM=$NKU2k@+$n;-{Oe=+*P-IapS}f`B8ve{Q-!#1x=Y7+~B0 zBF2WUq!eC~s{JggfJp>v;mUJ@d%Y6?jKQu7a1n?`QYKi)1^}jh*;T+EUzbvz4+IQU z{LQZl4)z4dBOG%h<%v1@o12qAU|tf2@g1B^EkK#G6>c_2XGhITs` z0ml^r&j|R9PJt;Ae*uZ_ouo`59<#brgE1Dh+p1G)Af80bbP7#_3~{JVsR49%Xd0nh z5kdh64Jh}iLIOk^P~M`*2uz~=LQEAfB|xQ!hAyv*8o*NCl;JKHw;YHte>(#pYoIoq^E~Gw+{z?5 zSpmn*f#7Jiq$140tGRsz;u>lo{$3PqfQeZFL{7l0xaFTMg#n;91oB@}s%OsQW&$Wf z@FH)l;`a{Y_0;h|yf%TW5YHlRO(o~W&4fP-oKfySTnCL5SLjAOe7rB*nK?kg`9uiT zxoN%`;tGeFf3*J?n!r-7T#0keyMW_?*?!-3=E*Mrt3CkRnfAoj*sAxQxSE!1)gPDV zqUQE*&ibytHF z9Mgr2KgA{6sj)qo%8s4WpUj4827a=mMadh;OIsgCw07*qoM6N<$g3?h% AHUIzs delta 727 zcmV;|0x12n2EGQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+&fdK~zY` zwUoh%;y@6F+s4Zr7Hq}iLZ-)TU_e2`++`3wN9h+3iT5Bj`zT)K;AJ5&kFysc7uj>3 zVXL~jlW2NnE?b9jlKT4pyZ&xvUnxN!i~IL|_s^h*e|b8m$8JEMommA;3E0u&vJJ$- z09L{Qg9Z=_(c_vVx@l&A){D3ThB4HX>tl**yL$kHfK?U15s3R*r#Q$G0Ab#&D`10< zGp&zX0y?Ju7E}X=8v^tWwz<^$#Q>@XxY`hK3~E5F8<~YlsWk!%7((k1`wan*2noR8^u-j@#oZ&Q*-d&&Z zvD-i)nbxGY1>V5I+NZayHIw`Nz_D0Cq(?>}PSy^7a4rOUCwJgiP>rnp5 z4pt)Y3Y0Q>#~dbJj}rjyYf<_naG50F=Z8lE9Zq~fgwJDQWF?uL+8$3vwY$iwO++nolAP2?|qm_RSa;Pm@9@YV7cpp8;>i-mDe*qyft8p&vK!pGR002ov JPDHLkV1o6|O1J<3 diff --git a/graphics/pokemon/delphox/icon.png b/graphics/pokemon/delphox/icon.png index fdb83b6dd428deeb428eac3a1006d79d1dcb6b95..53ccf86a617207bc5332da07bef0e3e83d16f1c4 100644 GIT binary patch delta 338 zcmV-Y0j>Uq1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdlAVUQK; z0003CNklaytV63psEo8gBb*4j)IZ!X6BqZ7Jq~nqf$rX=c%l;nLAz= z97_{s>VV`J8b+t}4iV)7FzAb~Ll%%G0o-SKd1(^yn`Iw6*)Gq8>kmg46Bw`RXLnqTzg%M%Q-POHPJStE(!Ar9LH!moReG&%5Rv73-66P)H(N8}&2{Y-i2r~ge7@#Q3+z7(>?}spU k@gwh|A8h4^@_*>Z9W{pBQX7Z!SpWb407*qoM6N<$f`?s_D*ylh delta 304 zcmV-00nh%Z1BL^TUw;7+NklO{0xu}>F9>=700lEiL_t(o!-bc>i`+&O$8{hO zOqGd-oKY7aq@Roqo2_;tW;@KQKtqF1MawyH5Uq z{0*_|RBo!#Y3KKtg)d*6BQtzqa3e_#wQe1Aj+-<$Ut9S;GY9Wgp& z;^6Z~jN&hPZD3o7$CNO)hcMZLi4gQ7o4Gx}ari`tGmM$jvxVYQ3BX{!pxa5<6@l*5)T}>N4JI!Y_^(_FUX& z!e_r9F<3b0dwqMIbR5M`BtwO(2$A697OA#IQt&nkKxF5uE_H zR!fJ8k{D5DN<&JS8}d?25gX|)DaMB(xZ~(PS|=tY&h6DzsT`e5O${j3ApjsZw*gatn8J~3=O`Tj5Odhq z|BdJls5wypkQtt1L&_;9n4}3fp#yP(JX!!iFy`a96L2Ynx+M0T=bgZkGKb@m(?_Hm zSb-cJS%30}sruFc@HoyMGnZn&@E%UufQj=sJ7)~yi@c2mUI&1Vm!NnO7-(yu&;b&I z3rs!Q0owiHPF%9J1U6gfxiE^ujO~ERf}Tyotbl6M%`rLFG=~(huEG!~0Mb*eSCY%j z-c&!+o;!w>o;FHRoNcS0sXhSEC`EBnGyq-pR)4Ak2m;XnPK!-tseqymSW~!5Y2o1Y z!PdZGI^6+LIEzKb0a*LRo4}`U8)gH5Tkd|U15nk{;pt1|Xw#3>Dl2Sb_ zG{6$cEEdzc=(a#n0YwyKX4DPnKqHrH1^fFi z@P7-PkWIQ6=sXpGhFViqhh=YTI>5sd#KDK{0l}K-6GE%wENc;i5rg4|+GfjipA;f& zhRJtzAQES*tvU|yu@KPMSiLCx5c;V-jZ~+5Q4OJ5gP!euxy-DqW0s1HxR_ z0+IkEX-WL;jPX;W@mgmJSTX7Y;`{RFhE$AbqBe=sbA{L+^DpOmra}MkK2s1Bp-=C7 zU!C(nzt^(zaeEw!nVKO+PJh3m z+34-Nay0G-?9p$(mPOtVVE64i9`uVEQY{yba$%-vxej1lj8y=awenHVos_uDRhCz2 z8-P(zzJD*zecz8|Cd1Y!L`g2MuaRWzK?wQFTB8tncztuTpsO^29M6{1HW1w0+-M6yUFC$EWiypxn*}rriw`Y&(Q{_d2~S@V2z|cxGAbN|VVt zz1;U06CV!)2ETU~pjFZiz`P4kCb|H>HvDxsQE#?)0-bvl`heL5)C&`D>r$T|J6f|j vZWOEGzm57x+YLCw0J;mP#+YFfYp4GQ%q9NuELoSw00000NkvXXu0mjfOyZDW delta 1385 zcmV-v1(y2I3(O0UbbkdxNklr`&8N#)`$Z?xK5jaJ&5 z=1zJ)z4vC`oA=&YmbvH$*4{-A*_vDR@05BJYtn`I}PO2Uw%0=RbbW=&0xetkt=aH0l*2@H*?) zuNV0_+oNBv=d)2X+#`=z>cO6~wm%870C=y8NFD+W1KOt|fdhjGx zJ1Kz*98p+uq$nFEVp6tM5Gb560+^;R#Jpiy?luf1j*bg{i5Z9SooB^dZh?njU={06MyiB&KQBw<>jl=r}Q93cbch% zJ~}71&%Eo)%ThZ!p4bLZ>P;ZPuC7O*0WrZXH}+9_2oUh#>;DG+4bX5xB9L35=VHix z&M3>~=!6NRa}xRz0Y)hwrkz0G<58E)o$;a*So+{`T5|s(>jqYsj-D#{gG@iQ06I+b zV+ed2$$#*{co(o~k>+Orc)ld8HSi{Ybh^ZhXCsSjG)NO*DY^jq)eT_WAMT|ktW%&i zVaCFe2RYmTl?F4KmR$jr(R!P_87p)`1M4b`2ZccPxalLVi`=cNpY6^(%gG+MN>Q3` zs-La@L7->>bJ+q67x0A%5Il$$@L1NBr2=FVaDOIvmon+m^~Tn~K{mMol6abmoFlOI zi?@LbA;fq=M_ZuK(bYDl>qAt``#-JZAMOqa&b0A>6T(i%SvF1#M+`6%9=~5^+n_Mv0%hMdfkd3HHra89 z9tnYs4VvwFnZ+clGcbhYi8!X;LbH^URi>tS4T$7i#FDy39mbRwr?rcGc`p9cU1JM4 z(@8oPdHup({TlxxIcvlw5%V+`^UW9J>3@mtO3h7VxK`Pseuo3X%*+L%5SV8rt9Q0~ z{Zp&)I;R>~fgd3fMe3JUs#wWb8%eV>jkq84FK1??G5=AXYY2$P`!Jn z&Y~zvRj%T;9J_a+-oGab;C_tp%iBPR9=^Z2TKKDMjxnAt+cppwU0q#=FsOie*0vE+ zM!&iK7yD~Ek9CaOHV|-w>ktE~lz%u)b5iU$>EYE4t81~0cf=Lo>i(>O9rbz~2p9)Cxi@`uxc62K0P@w+iQj*6rM^ z#(dBTkWKsNe)mrV4OBPWh9|Qwpxn#{w%ZLz*bJfJ-A*qh-ITT-FXc^XvSOjr%WaRb z>Ct|`;+==x1dK}B0obW-MlpC$Bx!)4^5yu r?V2`j1@`_jy=6YAmb?uh!|Kof%q9NuLr?G*00000NkvXXu0mjf66mQT diff --git a/graphics/pokemon/deoxys/attack/anim_front.png b/graphics/pokemon/deoxys/attack/anim_front.png index 0b43a9fe11e147604f6fb112102d703d15d38de5..6f4e960f3d8fcd3b94cbfdae468fc460d1055037 100644 GIT binary patch delta 1608 zcmV-O2DkaC4XF)~bbkN`bV*G`2j>O{0xv0sC^+l@00s<6L_t(o!_AjFkK;BF$3?6P zm6GUNED|7rC_B|P6dhxWLm=CXvkBasZ{;}U!dk}HC&i`m1uH>7+IxI~AgKf76Kqua zx-D}>ntYB7NxfITZKJ{u^5>Z$IWzp*Fj^0?jSoNW1Heh}0DpkU_yG@O_z>WSAND|` z569`JP>4n=!W`$A88keNqLojB)saZi@X>V?5i&X&2Y&RU1fru$RlvL1@L^yhccF9YWEO*v}xBk_jMX^#iw5+VsC-iTfUE@4a&r_aT>&j4Wq&IpE2r(50w zxISb74-_$2_J09XzVZM#bGgh7$L@Nt4J*s`Jn%ToANZ};4ix#el|<1d!vT4B2h4%E z|1^yt&q~$;o|i0me8~Co;Jbv{O(0pvoG*j`6Xfd`+-LCa+YMkHL+Iv(xMIZr>UYlA z7l76T@^*S@7Xq_)VBtXjy>f7!;4iBL$=H*-JI?daT0b!!is!X{NFV7&?QwEh z1{shQ!46{%b4Sv6vR8n$0icKx02?ZRlF( z08l5-X8=5f5Q;5MVjaQ>iHa_0LYs-~^s)e~xPM$k2^cf-*(OWjkkrIktk25LB2pbI zk%gj<**TBZu$4utD*0USA$IBz5j&4{;y@3qQVWyGn(I}5N-s2!itD=nA;#jJz8oCe z(!iMzb-gJ76+cMB0@&8sEdfy$%t9x_`Ia?$2cE=>t76ey|7NmnHb^|l%&Xxp%jyx) zG=BgbPw)^?z4)Dn$sxZ54uox~ivZs9|VU zjGl#U4=MyJEP%}{8g}H>xGLha?_WpX%-RWv^c9(@F7WY}uQz|pseNC-SwdAA`t5nl zS!WYe2#Ap^)8ITfY2TsB2@}M+|o)vNB|7%ig`vJA2?rv@G4V4 z?qgbb0L66`km1``GkGr+S%x7-@UYj31v-X}fBIq0sBnt(2H+ynAs{ljnzASP+gI=Y znx+C%^{cs0lfnZS2r)anhZtZlIe%tn3Si^H0~m-6#1Hx1d$re7cDh%L0IC7GND!T$#~?wBB`6FfL6ENi%+w-bo~=V!KoU?(ME;rXZvgD&{3F2N&aMGZ z?VicfYcYj+2hQ_^cnE-;NgwWbUtUE!D7S%B0Z?}{4w7=Nf#N<9B4+d=k$)=zU`%+P zONC*T|94CP1{aCit3U#TgGM1_K&&0(J%Q03K=*Dse(dJ%KK}v1#G=BhJBQT(0000D!Yi=u_= z`HLfwqT!=;6j3@l8V7mwqXeR(Q&qt2XmQMdfwC9T^{?*nT%kX|i+(v}_|OnmPd^fG z_{=-t0ojyF0*N=`paGjQriioW;^L42%1$|>1b&^Z_yNFnp$fRKh|};8;K@(!180U| zVc=fXAUZItJb&ME-{CO6<9ALsP~;A*G>Vov@#(vJV0P60r)>l|RvHVqUNZmjuHfO$ zwW&8~18JOaJ{JN^(63)`m%+C?XaR8op_^CYhEeyc-#KGn0NN19+32ZV3Bulig`M~B z4JJ*2zpM)+XHV|$IWGc}iyOkq$JW!@7^JCqfB&}}0Dpp&Calv%_|e>236jWYna6@417l#t4yq003>}Eh7%?M155-egutkL*mPh5z?s_Q zmiXB#0pw}Gr_Pk`!n@fXzy{g_b*DoB98dYkR01Sm=pf|YwP_emj{zqDcy!3A<56ic zyH;QEwtoVkwy6UPNts8P0#vP~NgHtGk`s?gAK6mnIK8fd^yz{U%ot|&NE%PK3b2*{ zlraJ@fF0n`(E{pp9cUm5h^GN)Fi@_Dfvd=ofX-mL)!!!osFmka0G>h!Ws1{8hj2op zvJ0BfW}-oMT>@58O`-yfDgA7jXRt_W;5^Z5Wq;=pt(TR`jiQ$sUnc6Yl}C%Z_-ybY zHfj+OyG(T9Ko6`-i_me*^(;U2t~8K|b<_V4W64Gz4tQW`;9Q7izbOEfFJwUpteWbU zfT%XiTo=RTswzzt#5kGXl#}NAo$;#OAjvp4Z-$#ZZ=Q&@0RRGHG8F4&3+QxM37{e8 z+kZN$@e22WGSel{^{@|+Rkw$e@wN+`bqyHgQkrcirgsSFO2923I0PKO-v@dI472y( z)c8MKD5!oNI<$<|Jdks69M|(^2LaR+w0-bww`*wvo9Y07=%580IJ{eCp%1|g!kyeA zT6R)MxgAm0!*VHWLdl;Hk#{g<%5Awd1!01_LCbka23QAx( zjfPzVIs~jw;?#`?Ag9O09rW|MV@s9HlgjZDpGLKp50TkDb zPls<`P35^%RvCd9!GlVp?ShVB7eD{12=@1Yd-%Qw(;_a(=;8J^l!V>{Dq&_IrIe;2K zP7*}t=Ltvc_#?pJ%x(ZjWzS^UT1;RZ z!+M@j2LVtp>BGKI)09Wi2DaO&Q~|K>rW_>YOanUCT!@5uSE-x{02h=Og@05SR`q|! z1mN^4Rk`vdKsjg>>eLbs0Fg&Rr9w&&Dn9^7>g|?EH7ag(@lbarKfDp0Ry*F9%W<_B zAP^{ z6T;d+Ux7^6%4s0rur* zPhYFpDf|ip8}a4c7HF!!Cb-`=GxOnq-&Mr}aS><6-NDXOe}wGD1!Nz<9bi=F?M=j- z#Ff;s%~67QT$fLCr@qo}wv6}AqGEGD&>o<>e%y8Texz&we{ipG`7i_$?T`94*Pn9O z4&=v7LF;_l*%Zn2F>A)nuYi^b`)s$TOH%mfo6%@?k&PDHLkV1k{wEIj}K delta 670 zcmV;P0%8651%?KYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$)i)K~zY` zm6Wk=+b|G@Wq=P5hC-(+St5KWiV|Xx(K30QhWVephyYxs( zv0_mY%0bJ0`tLvT?vnpJ{9yvniwQz!^C>`%OB5i-B^XRdFqn{F0_3=arX2HeU_zpR z2?=sJE)jsf#EkPBkVPban3Mq_4*-RH>H$IqL_1)k<`MUqLsAz9Ek)m)_PKcjL<&V0 zk-`H!_F~M%Q~>hmi#h)a8X$X#Nbq-ng!YlkOoP6638&b5U%TS@=bO2G^T6-A=8?D*x%GFjv-KaT`f&;Q z8*mR;-J89cT#&d{Mz|am$oqBqxbW&L^WBy4+FMj?5gIxGbl3O0&fSkvEdYKByYuau zK%x85y!Z8o9PR~wies*!b3W{Bisa^)x9t{IK*xj|+wJL+mSKEzYHd#I@~LYfH{TMx z9tik!K-BPjgly5ZuqA+*BLT)B7VvCzCx-^LJ)M)}dJzFY0)F1=APc#1KuN!**B=B3 z*dA|pMHW&IFbZLLp^wFqa%9be5P%*?usOC`dqYi<;vTSh6_R74+q)o-=&U7dXI;y? zI63w;%>$4VUu0`$D{B$LR8ZmW%^q5SOs~-a8kWB8OS8X_#JT~lq?b|#2S^Vvvp?%F z!~`T)a=OG_0MZt~8&DEV_eDSj*)jm9Gt(n$pgBqM51pLc33TEBQ2+n{07*qoM6N<$ Ef+DLmKmY&$ diff --git a/graphics/pokemon/deoxys/attack/icon.png b/graphics/pokemon/deoxys/attack/icon.png index ae34130ee00e4ee1309d95b33964fd2c547dccdc..b75df8ce8fff088d7a76927908b3e972e821040f 100644 GIT binary patch delta 435 zcmV;k0ZjhL1MLHl7!(Kt0000?P=%ZT001*kOjJbx005CGFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0xv6QCRxA$00BTrL_t(Y z$L*8bio-ArMDtLP2}q;=|JrKg^(9W7hh?9Znqq=ys+)a|oBsql&E#Hy zt5+EaG55v501OQV2Sy5@JDl^0S=z}OP)7kpi;=R0@1(&wirK&m3ORE3ALl&>U~0ro zunfTgfWN`YbAbFDcC%x>a4()J!kSAR4h4dIabad~6$pU|zwMvHJ= zQNd?nIKJHefBci~2mF)1C;YW`u*1LOyTQNd3;xs7Y#FZj5Au?3;<(^HJ1X7_{x|v= zd%_>hz`8T_(bzW+2w_d{U3L7EejRW(bO-)q+wX|Y_m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCYBa#P7hw(=rZ-Q(Os%XVE_$iyurAXOql0^B$x z*U+g$ht@(U{uNus{|94#Jpj`T8Q3BfMzm@#WJ={jDs;!QNCoJQr6_J~VSu}`yeJj! zz+Aype&BywY&%y2n@SWiUU+f`e7s<63YE(Zx+e+^L($5$r4p{4vY?XVauS(j?41Nq za%rZM7!SiH*kY-%U$M86KT{Kn#;8nWyea0ID%?kOFLG>kr#j!l_2Oy(p}Bp~ei!a_ z9k|e}7a47fCgi%kclAbpZJB&_KoJIE r0S7psyj}4)jOiaiIPCWNa~wVaMq&Y@9nQD<00000NkvXXu0mjfy#cN} diff --git a/graphics/pokemon/deoxys/back.png b/graphics/pokemon/deoxys/back.png index e20f53b67cf8b60339b0295f22d4faf3e1198626..79b70d92951efd0191c785d02d3783b0d94ad5d0 100644 GIT binary patch delta 609 zcmV-n0-pWZ1;+)DB#}W-e*gz`Nliru=LQD?FD&*#%wqrm0xC&FK~zY`)s(%8<1i4% zbC62a4Hj(hTLf*jRYX)AZja;Oo+90ubb&J~@)Q;b9Hz*FZL!aAGxCRIM{&PXq{#d{ zU;i0xHeb}f8NKS?7HWT31CC0m*R=o&U==t5K%t)J5WuzqxE^?tf5Vsx)_^UQ-vh-H z07feclLNFJ0SU@v>U2A+ry#j9sDlXPS`}K3UQ5|BA+Vgj-`Pv96Ay`H0mM*6_^C1} zs6q52(B_4bNX<|!h!1ldgeWOa#=Y5U)hk(4Iv0MU)!q$4AYevm9mlA!%_vP?Giv$v z=s)g*hHM7i10arrf5;HR$Ylya)diu)G>e4_{s2hRmrj|uAS1y3Glo^LHtzMbaDqSg#)t%v+{pKl=qN(-Q@xoa0@b3XB!UUs z{Gmp7m)?IaXBRGzk*mFo`ClxrReBf#u^RxMRBf*`ocSXmf9k(C1|(0kwzj3^o!{22 zyA9{SDeRRNcoE|4CZOaHq|o9#BTylS@Jms#KS~PF@@!62=lp)f*k#2v+jk0?0_Gs( zaCdDOZ*%gHtc6$dfMk9EMBV%riReNXN@7oxp5LdA02cwz^4;$rMCei}!y^AWMS!;s z3IaY6oe!`5R{{u2_89;!l&i0sv!0#^E)6RN?qT(SF6U-_ykYtif!!2B4?stIE+bHC vKn6bgc@iM5IyT{e!j+)}6M^h2^)>B3h;ZjK0Y+~u00000NkvXXu0mjfD5w*y delta 625 zcmV-%0*?L11=$6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y0TNK~zY` z)s(%8<1i4%ec(#f2@BTfErPb%Dk3Tlx5sgCPm%6Sy1^rpG<*vv zG5rCko&bEZsxmo1+X)bVT$xOsuC{s>$)$l6L?Blx(_->kjFyoAIe%Z{s0JnGo(?ew9O1%)>@a& zNxddP9FEr7cLGG*7a0WxKTUxD_%{P00yX+i5LUs?Tg$6?;TV1HjbRBOsF3dy(W655 zQ@xo)0drAv5JrUU{$Qc?dGMd)!-X>-Zxy5Gue<$Sd{ch?`#ZttkEjh;ZjKnvqbv00000 LNkvXXu0mjf+V&pt diff --git a/graphics/pokemon/deoxys/defense/anim_front.png b/graphics/pokemon/deoxys/defense/anim_front.png index 2ee6e0c527eddef7c6f11f0f0e651cb6cbbf429d..f326190e0a1d86819d79cb9a99b4d94e0cea8110 100644 GIT binary patch delta 1188 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 DVhjLG delta 574 zcmV-E0>S;81*Qd%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sl!vK~zY` z?bNZ3oG=go(4~v07OuF6DjteO?pQZbK8VzJMFvsrr7_|w7B`Fhl^Ku07{slVI+#gTC2;U6)^)F5d#V1-cnFk7wB)bTZCUwZ7l1 zfHC0wuO=2>afo_!dBo=DE##95%?boSg)SoSJqA=jGiU>NQF;Y)fx+qsfc|ZKa}1~e z?YinCPyvD0x3I#nnN@P7zX%|DP+{j+yB`5sK_WM_9?U%e%g?WWXPZw#3}6S0YoEa7 z-S_CDT)!XVYMOOSF2)F?xuiES3ZM2s4tW_quoQ~kg1k^lyv?BMM~HycT`pY*0%!1O z2MG5-3X?`7UkO}r-o%7{4F;nF9hewM-J1Z6n9u=m8(qfmXt@bK+eXs)`N&82|Mz7K zlW(F9;AUhz24U%cg_Z$mY;U84bmtC1WjQgDMq1YA8K?l{0(j&~tl)ncP@GPG0Q89Q@8+Q_jsO4v M07*qoM6N<$f>9X_hyVZp diff --git a/graphics/pokemon/deoxys/defense/icon.png b/graphics/pokemon/deoxys/defense/icon.png index 8c423d14b93ce94b4da7558e1e6a9741dc1b0886..9e5448959600e770239e29fd7155755fdc0edebf 100644 GIT binary patch delta 401 zcmV;C0dD@D1Iz=E7!(Kt0000?P=%ZT001*kOjJbx005CGFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0xvM)Ly#;000AFKL_t(Y z$L*BCj)O1^L^)Klh2(ht|7&;bz&0cyYI`P!w!*K@81mS*XZ^AOtjnspK%yKAw{_bs z0KrXvBVeW?K7ZQ=imY1^*HSP83IV*BH2U-egyDAn6Rre?q);~YLW18qNy-U5!=3eR zTGrWIn4;bbPIMs{zz~D(2}F0d2@p?0Vxzd`ydQW2BAh%DaMkOKbOlJTY5Z`{En47c zVM%yqNVErva!zDO*cBjAG9Y4NBiq$ufb0{W@u*|~{&K0@?&x-NZt6~}lea#&&wBL# zK>rQj>puXc)!+K}L+ah=?=}M({k>~Z-E8#tqMe%6|3m*;7i?1^^!L%-3Y_}e=q{pu v=s%Iao~2X&JNe)GujD`95BUAye!czx-F_a7*PF3=00000NkvXXu0mjf%o?m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCTnM=bX!M1=Pl002ovPDHLkV1j`3 BoxcD8 diff --git a/graphics/pokemon/deoxys/icon.png b/graphics/pokemon/deoxys/icon.png index c71aefd3ac01a458585d1021b4391e98a98c2fd0..38a3542b9d2a52ebe0c83f36e166b82672ae398b 100644 GIT binary patch delta 238 zcmVO{0xvO@M4-9= z008z$L_t(I%k7b9D1T%iQiuFn_K*KF=Eo24+kGfgK?rpTc&gCq|G2M@R+Ws0AW*p| z;Hq{-r20bDUDmZ8bghq~oA|NrwKc%3Bd>aj9jM4&MqosiZPC%Q#5EQGb9b7jKr2?H z>!B%lez>sYh~Az0hvJbP`aJW)xqZyE;bS3|%`KJ$17OXtV;3kFb3tnjWXY0(FG=>u opPT;U@HGzbhLa@$E*CWlcjQ&rVp3G>N&o-=07*qoM6N<$fm5iq#P`N1Js&+%9`a;#+wzVE~ug{{J__6M_HNdPRuX>6dsK`D>U__RE(b2oa zH5LGKcbTU^D^{fIp(%L&abd|3y}R@;#UnfPdFF>}`9rU zL2C_U$&!LEN%qLUn_lHvCl2t1lTHCH7dHw| z0003QNklF^=+nLs%UnRk8a yy}T;w58JTZI4kn8{cAN&Dc;>8xrQ#cC%00001sx5Jl$%9=1uTd*njiF6yEx_Bm4cNXwFD zJ7J~SG`4IA*cgN-(qTg(YKHge08twb>Y1-!u$ZS7UU0 znQ_3_z3LV(K#T1ztHuiuKihuEC_uc~?<@dqwyz~)3&dTmeSgj&1d(mOwlINDetO^K z*usD_?c!%KXoWCyb5P! N002ovPDHLkV1o3qn_U0^ diff --git a/graphics/pokemon/deoxys/speed/anim_front.png b/graphics/pokemon/deoxys/speed/anim_front.png index 947052f81d3a35acab3d090403df550dc6f83e91..bad27cd1ff80030e444f9ec554542b5cd5ad4ade 100644 GIT binary patch delta 1493 zcmV;`1uFW#47UuBbbkN`bV*G`2j>O{0xvUrO2L)@00o*!L_t(o!_AhzZ{$Q2$0x`d znk%wdDK+brOhG6TL!wAQvU0Pr1i1pSj$3Dw%mO!-PFe3xaiQQ}pa6-E25L?;CmOUt zQ+X?pEBk-p&DiVpjJ=VrW13_=AHVtG_ulu5&^wNuUhipOZ-3|#Lgasz*A3YA@Y8@0 z4~?SkC2SaO5RA#_*0;JC5^z9x5RC3Za)COD5RebY!8iz#&Q-`f2=5gTo^)@N&I8!Q zS4l8)y8%RD3*%XG?Ya)yM$G+L@^$}o8vq0Vzy7ivK)3#kJM^RN0Op*Z+kbwr{i94d zPtM=G+74hJh<`t#C%)?~=dTy7r|UcAR80U;&Gfc7uY#c7vv|%4`jZ27ljVg0T7-m z;!+gsmUIL_=uQH`0`_B!wj(<}jYM`$IpwUGIaK8c)H!4>smns_u4*BK3oF6d>lruYJASJK zW!JKoBXIZhD+R>B~d!H5AI#rN0u7B=*l@;-XB0PclJpL?N@3A@rLNQc? z%y&!~TM0KZ4}mwCKm{uv4{M-2#IrbitW$-Fv;mZVSRvdx88M{pA;Q|1DAJn^0QHmB zO{!dirRngjPDUu7C)b0I|NuZipP@& zPk-%3y@{OZ4FFzQ9&G0EDogbq18b&@rUF-P1i-90k6Hl`O`C7v!fax2$mWx{)dsN< zpw%X^9w2MCcWuwKqt8?HzZ+z$10iyF))gVIx*dqC8XdWUj!8Nlh&^;q=Aix1RJqsf zKw!)z5V}d1zfcxruI$0-CtbT&?O6JUFMr)ryGvOym;>b>uD*AF=$2mSKlAa7fBtQM z3m}6eGk!@YZ?=jzC9+A`zdvaYIB6RUsqMS9!{A>;E%AnN*jw8JzA(kv9Z-5bbQOVH z_5j3vKSG4iJw-qnMdo+fhkN7;>R-DNrMYN*rk8y*l3_{r04@o>Ql@txrAs9M z0|+TAk+Fi@qhAq=6lBFSR*(%JPk$8FofihiQtR$cUI7OrZWj|WQIe+*I490%I zx`1cWp*Rtu_JC$Zr3s}=DFF;mRmD)sidr=2S~;bVtP=t9RvHjvfR9`QSgf)$6Tqwd zX6-K^Z*zConAhwBtntsG4#c@|k43{?JPr)qOP6lbKBPvY1^;0mH2sGGfU-_(@mC|j zQtyJ`=k1L>ki};NkoJK#>P|alj%gnn{sjDoFzf-m(r8<_?JsC^9{h(H0PFT)m7D&; vv=4&5qyIom50JGof$9FEEk!u$_8EIgC+l00000NkvXXu0mjfuU)s2 delta 1501 zcmV<31tR*l48IJJbbkf4NklFG%t##!NqOpbTL6B z01;7iaTf=dT^d0Y1M>DXnnqF9IZLpN;(G*gy|x?@w`bl z0K_s}WS;r%R;HMw=1LQVbhzWaVKR|^L=k9NB?FGnOi0u63m-_)40`Y6IA0W3v ze6`x?eWMR;pnnwdK&*BI`eP5<=zy{`m&_jT^}Ulr#@Nt1mQ_(Q`|;lJq<^5)Z^rMY z73YaPK2py(K_F%)EG=G`61~CX2EPN`9y?3r7vD((7>pA2xDf1?aGqA5{hTMpI6m)$ zg83xysmzNnzHjfM=PLb>VZ>ideJ;6NwWk=U*XFFE7=H+78FQXN?Fo7(>VU$Ggb~K8e_5G8BS7d<5m&O}w?T&hA$JHwD_G-Q zbZH8Z(1#C-tqcIN=EBk)9TE;u^@-Whh+E8(^rjmUFGXsCbqZg>a>ui*pqL zWKhpghj3|Ic0?a3b<(nox@3cjf6ZZs`cDW z<|1$pc~xveg*emt+}A~w&KRLH7%$TglFb_HO@9!Q!i~Uqr;PKp^b&g$bQ=jw^6K?* z1L#dWN{iP`sBoFL0R6=)={3PfA#{%kHQq#(Ki>jyfAS_t=_z=gkI$N5gzNLL1u))d zoaAgVYk(Nt4tRDC}|Ags~ud0ob?O z^?$dZyBi!xfX#QVgP^OVfdlbWq6@AeV|J*3198XR<0aI7NUAz*nNzsBEfI*l4g(QH z%7QGFJ$Uk7*XmU|M*r}!_hcK@twzBdD1ZNO{f+l+7XWW%E|$}U`0(@L9sotMg}7p~ zmwNyZ2{1{yzw8@V_CN%?1_Num&dlgA#7EW)P`sfX>&y!FKv?#mH}pn~-Hbg&&>edK z#r-fLLBIxzfNNw;FmMmy9L0)-H(tV6XlBz0nc7IY- z#avnf2TXH#)hlxiSo*@O?xN3S$$ogz2C(!wv0wkA5=_ji7k2S&5;`WEHJ>wP z3N-nesC@lg11zd8A#P7 z4L}0|%SvL+fNKnEVwFQ#@vRv!;eXS)0%9m7QckxLy<_~ulA-KFyjUR+ZFjB9x2h>D zf+a4r!Fbw8=ryX!3B?`EoM!|0OCL1YgRBO`(^C^rmGe$yYcLoS1xz}DtLhJNKau$! zV4gu~p5GsFhSlFV1`WKafe90BKrKcC&esUIc=66h%mj3}JX<561SVBt0Dn3kt?%^=P_QDk>E>Qk`s00000NkvXXu0mjf DV#LQg diff --git a/graphics/pokemon/deoxys/speed/back.png b/graphics/pokemon/deoxys/speed/back.png index 80ccd4f9985f1003638faf76d4b25d153a2151f0..e587ac46c9cd436ea1d856b118e596a070f4941a 100644 GIT binary patch delta 632 zcmV-;0*C$T1>OaaB#}W-e*gz`Nliru=LQD?FEr&YR5btq0zpYcK~zY`?Ub=@+b|SG zRlv|(yFliGPTM7m;{sh>fHr@?lvdd=s6_=5L(==bA_FI8?G*n@?;~ZyZb*GW1$*H= zy1ef_idpvmdG~ynejEorEf>>K;7-h!qbB(b#CJJD>;#A(@+occf0GH_u9C#znF-n^ ziCj&E5X){LCJ_tr#Ne@BMJzlaXe(tDfJGpb)@>dGU_mng_np>#M_JV38N@wlU3A-6 zA$1@WC4kHj2nOgtQGhKF6hKYoQ_6y-_}53hN?One5G;s#b^HVvm9qyZ&;#x&5ff8MGjV4xAfB?aUp73*}QM45P9hF(_3{Ju%(kS(?_QQh+E?$zYRMEzZ31rofT67}V$=0!Zf;`A2P<;J=J za1nVTbzz+qobu1<_j|q5B{c}az^|J1wH< zw8?NOWIUf&LzOb8nIm5eDO@6H@Pq<;{m{I{&=$o6F6SY*UoSwY_+@I z!vmyoKpRVXk46~Wy7SK$pi_fIjwyEqGGcK*zl50Ra0azxfOO+3e=T1^tjln|x@}`| zkh;P$kY7SfZZtkq4;0Q??50h)`p>|+9Dp8!aNLu^ukVMHFlhZ2z2Px%99?BsDOE|P z4mu2MO=pXp2*8^9idVy7wjr$#5r9ca6<@yyz>^Gji@&=rK<_(=0MK3iFYp&`UQsK9 SIuVKh0000H=L|fVN)1lvddgs6_=5L(;uok%1Glc8cGn|BfYie&%r-5AgjA@`_y~~q;fkp(E6d*|DtkaPaZQ^x*6=qSzf%7O+08*OV z>s?&W%+}RmR&m+1&RK5|tzewvFTZaRI%JCyCaPP0-Mt!NOw`}CRwBXcDbb%ewJ-7k z7N@tUuC~^VfQ!g8r3>q<P19kK`7w@D2_8id!kJVc(O zdwHA!AadxP$qr|KK&~eDA-3CVMcXP9+yY#zk*kRXZw>@zBcwqa4*(X+?^iXL!0~Fo z^@aywtNpZw2T0?9wwCk(gD|*tmtQVGpN|#-TkZ>F#KXh#5@M#q8Ptja(yil7?d2uJ zrVQt+-?bJ8sV^)8;u2z}@i+BA;jBe9?GK7roPkX_0s|IZ;dmy6e|{KK!l3gd2E%LM zIJ(LvDf5y{6Lc8ZhRzmy8GsE96+aD!*@m<}L;z+bReb#-0ByD=z4)VSOFvvPXo2HZ*H)#=vIE=R<68dY}pAnBm1Qm>EEQ&S7S(+ahs%}kb6v+>* z;N)uoS~VZ$FE?;gGcceTcA7;1a8*DW1|)(oB4_pVhSz666ufEt7abBGXd86Mcs!Yt zK?jowTx}SG4nr1kAb>k6o%gkc*@d|d-OuiR<<(LK1T;1DT=ye zL#9i*7>rcOmL=p@NC=RwU7BCA44;2J8~FoxydYH@A|QV(&rnKQ-b4n=BBkg~t^m`& zimnu3R{d!ar2zP>hPf&LuIl>^z^aCZTwUoKVe28DXx+|TCVzOa)B8sIE`uX%WF5&{ z#XD?wob-IFjGDE(NecFofYIZV{c0_o^%Yn!oMyu_0Ql6vMh+~4xMCl9TWa@Vzrn-g zzvxi;fK$|=5&6r!iaOXvCW418>fneH@!=MA2q)ObIXHytqC+6@T^Q(9hj_{~HtA53 obf|#6=ui@Wyc^-VfWP_i1EzY#7JT2{vH$=807*qoM6N<$fasU7T diff --git a/graphics/pokemon/dewgong/anim_front.png b/graphics/pokemon/dewgong/anim_front.png index a767395501cfecd3cff8b8162ca30b0128117327..a1594dbd3348653a1c97a20501fd85839db0a1d1 100644 GIT binary patch delta 1100 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 SybQDe0000! delta 429 zcmV;e0aE_)1NH-u7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004HNklknG``7t38aF#1RWpzbPYXyz3_ix z*zyM4aamj500n|09{ZL0)21lZ3rgmRUkub6rBXO1#%9;ljNKN5y&qi zu=uveH>*EH&IK?96nDTAWbn>gk79p}y8&`9Ci^y<2(Tj1-v@bt7ocTcu3msl1UEoN z;0K6n2m*u=puN#21TpW|5b-65pz`IqyDI>x`{Pq))j&pmy8N$p1n6H>Spl)~L3dX0 zDgncA6FB&BhhLH$f{!M!ho1rr!7Tzad3Ym?-On26Dj2vJwP8Cu~H<&TA%q0iFA8WhvpwU z0q3XGw=LjX5HVZ}JnHF6e(0x?7^DO32;dRa$L~w;f%wn?$bav>Cn4eiMB^dSE^lC_ z_8yS?`x0{H2!6}1q_Xrxk1s2KdG7({rSo+SKu4@$3sf@Y?g+q`l@M2pxRfAm&e6W% z+RvNF5E;A4>5jS&VkZd_y0&$eqI{C|I0qyFSv}2=B{(iKW#*v1bir+B5cSQ6zXFl3 zV=pCOan&;zrAUpZUV931B5kk8Afd75`0ahEs U1q*`PUjP6A07*qoM6N<$f+VY=zyJUM delta 335 zcmV-V0kHne1Em9yUw;8GNkly{MvfPFNgWswl= za>hUik*;5qA`CVdGfI8ifP4cH!yMpIUuOKFzl6lV8E8)ckDxw&UwRJ2hYmn~?>Pw( z4;dDMBXKLpFukTAJktg_-syI?|qQ{rz-@JE#W#}@m0DpAE3L8+#$m$8en3WJ$ zi?|3#n{%{pxc2)dGDOC1e7mF8LD?}uLf1;q98_+y9-~1F$m&ZEGlOI5Y0i1>@fQua zRR&SdAo^JlejPi7fW>tH7Djou3=qr9l07#m!YD|l0}-Z>uAK;@h7L`b$&V^b_oE9l z{19RC@T0qdH%MWM4izL8hEQ}6Kj8Vp!c-mPSbk{NbZCC0<3m*k3ayu71KEooMHn*g h(LzXfKj42q{s2}R!v%9id~5&!002ovPDHLkV1myskyV!NZ}7)U_`8JVRM)=_Q8_5W$2t{=-lLQ;OxM5=M3GDZ%8EH=iNKMJHLPX zTGoGQy$1u1`#|7P8Z`r*;VwWm1D!ob$w`1k?h`pnTkk2dlOBkGs%@l&81}_3z}W&y z0xT!3+^Nb~Z}+^T`s5$R!bxKSdMSt1|528s}QN{`Q3LXVRdA5@f%##%V$ zSL)?wiZK@6qMN_3-{N_Z2>xP#IlzBA%nLRJdTe7nnS8`Ep6Jp;AD>P>VG`tpR4zXT zOxzll2uub|4P_%@438~aYKcB#ir9l7lj=D{>>)fHM=c@=P`wFpEi0tns+IXE?7 zHRMR8@FJ<<03h@#V9pbuHJG`hve}OX|550-_Xnmo%3!(VLfD{>RtLs_{`Pj5>Z>|=`n0=V9H#~5=ssJ!1gejZFW*yEnN!r9;nzdInX;)1RiY3FWL;LZI26 ztrog}_X2K@APAuG5~g)lYps8NX!S#@A9m@7{cMMR&|f6|fYnW!7wkc7^+Q6#ne;;@ z>4zA5*sLFDhs4LAQ9t+zH0uXETFXQqA&rmM*J4vS!_*tt>)#8prO90TczM?ZWN>&R zc1+z*(mNIQtfa~O{nRXl;jci$3b;HqqJE&! zOM`u8MEy|K0BHB(K>}^~2516Ar4)6~NPXQtLX9VZN zQ@|q+oY*}Ak*P)O-JLKJb5r| z&1i_H^_xh4PdSBSJgYatA#W+EeVNq{0*ySN2z3S154mbBH6aJeChTJSZifQ^h~h}* z+c+Koqo2pCL;8I-pB?jkGHE&?$x+hJgX=9Y*|KHJe$rO|VD%4H|6uhG{=)vj*L)y< z+dq)H0g!XQ8;+7wU6^&?+CK>7M$rj$LC*ex)0#PdJnA2e>#jZ?^bhRP3#+%Ye-NYs zDK`+VP46WTQUXaC2LtpVN$E>Ys;H7HQ1=aeKMWcTCENvQ@k<#F!kLq>Vqt5y?X!Q- zGa^ti_3~c})t(HX+kdY&D7Jc25nBEN{e$K}?1iroWPtP!%m*v{dc~{&ynhfc1bv|W zgLnZqv>pK1Kllbf`v>tm0qY;c)9&>TPWkE|tp34WTm6Io(S8Ah`683J#zpu50000< KMNUMnLSTY%@=4GD diff --git a/graphics/pokemon/dewott/back.png b/graphics/pokemon/dewott/back.png index 8130cb25e7efcbd843bdbea470fa0a9204170060..de7039aceda80ccb184120ceba1ea7a13b62dc77 100644 GIT binary patch delta 517 zcmV+g0{Z>+1ndNmB#}W-e*gz`Nliru=LQD?FFSRSNu&S(0nbT9K~zY`)zm*v!ax)N z@S_QX1Br!x0CK=k9ZYjw94WWR1T~L@iNr)ckCHIlX4ov7qx}koPhc3F)y*02`X{}% zuVs+MTi-A5y?ghEkP|QSNW9_v6?9Gj>bq==oMAm+#{oaD1C|8cf7%|Idkk>yna2RD z5@+IZ_O}>!Igr0GVg=HUl04V3t+joR&ayd8Y&BkS0v>8GKg*BL`;7JRpV+xU;+mQVR+N z6wu=wxte)^-ORoYf3QLI>njlW(SSE8Cph?42CjaJn|)e!YK4s6wcRecNwbPdYf>M;+%@39nkNCF!Gn7osw zSpgsdZ5j=Gj2yMf;LvU(DlvXR{tg>_IUj4Ra$LS(zYD0md+m!LpnMxXVW*&4k?|nt z<3Oz_9&Ez!RbpCxeMS&31?T`^UKDnmA=ri?Rr@Y}BCYR_G=+)_A?Eq7?)`0-q}W7Z zA=bGXt=;!q0tRus@XZ+euYIzOG+qFoyQGKbc@kfdf3to8MDgDhT^gsR00000NkvXX Hu0mjfi)!SH delta 524 zcmV+n0`vXs1oZ@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nSN8K~zY` z)zq)8AP;tMK< z&Mg}=wUZ#6fu$Vhuj*5 z+BsTs(T98&LX$j=W`H{tO1R49eW%HFv>pvm@}3 z0yY3Jc_&S?06+v9G+Oom`P8a{LtB-o#o#>;YBurGN(8Ks3-q1HL!O3~!SpKPUer2>As>@!u7A53@c1 O0000=ZtF26r>i zXg3ltAXeHe>}nzVq;~bGUtLxGg5ZyZ-sRN#xoCWWzK)(CB7Y#|O@sm}V)+6ap(_y& ztI#peY%O`iJkyK@b>b|^>r0CZ>!GItY2poXyA302D&`8MV1kM4GsGSDyiw5PYCdyW zba5DO6;D!Li;f9W%Ev?RwlTvoy&g)}mNZSN9Q+$nv^%q);Gc%r=ksp0S!sXMx05Fr zg{tJj%16dZ$ZLKRK4K?~tI))pNub8SaL53~`532n%nYD_M5?NbH^_266DNppsx=2U z?17eB7Kt7n{T3JtgZs@NV0vLTK+N3&^K8ORAXSS zA$7S&IvIXeXHaK@&;t=rV9{iiLOUx+pKLcD^UuD%Aoyde-_%_BHEAF4*TDl60f`(! z4N$VEXV?|G7J67fEi%SNGA%NbfyQ;`BD>d@3TH8+pK>IwVSholTQ`cKWJ(kyz!2GO zSSIe7ZqT#q`OH*a$6>s7JSla_YXOu}kNei$X6O#dWnZ|l-1C&EPM$0vjyBIs9Q@No z+uCfdW*QF=za2d=G$;!R7C%za!uFf+5j!w0Knp+`xS|s}q(CG67^im_AyB}SH09Yl z$b34nG>CD$_Cr$Kumvg^nH5@i_FG}B4DL67glTD51sU#EnCBr}0rMhE9g2;3N+b4! cApXsdZw$P=Cc2&U%>V!Z07*qoM6N<$f-mBZfB*mh diff --git a/graphics/pokemon/dewpider/back.png b/graphics/pokemon/dewpider/back.png index c992e69d206b7a2d6e61cfc57c80c7933998aef2..24382d74ba056f47718e44b23fb28581cf280f7a 100644 GIT binary patch delta 504 zcmVF1HwR)TCW|U0jsJ5bO^z=)}+vuS-c645hPT7nSmc}IwxD=i^(^TS2VZB-b`2Az)N zA`U02Fc2%tTCGGSfAE@Mgp;i#Re*>CRR~_hVdB8=)`Wnc2t29XgMm+k%v;wlig9sX zFr4B@U`0}2mg#y2o=l5KS$FnuBoLv#Q90R1#D&P|`cV-~3_xfu~@&sujd@sUsj z>-M1-7e5Q8R~-nf%39p8{NS5svnpu|Msa%}5TSliCD})$l_=@@P7y2&Kytr=j_L;3 zLB)FjJgzdb%{2l<6g==_ykns*09w$}<1wZCXvg&)$wN9Af0#j%a^x+;?Dkm|}a3%$d#YEwz y7v%-6G7LZ1rqnR~D3tFdK!TSjJ8JyZF^o^^P~|umDS<@*0000|#d;DF-e^P?#0WQx7Oq zzz1N4PsC7dp+M+qfpb!K*c~a*)VBaI2DqF-i)jJ%pgkS8Z^g(2)at3Y7Gl<7kZE>c z09Rs8hhkDSKqz*L#;u1+*NqMRPF@tMa)fYk!DEI0X7QzU+LQLk5Qz7nor0XG6 zVDC=sRbZgKis3g%f48+qJ$xu9Pmj~GGyu$A$`5w>QkGQLqsrP(%m8p62P6(yVVryX>L-3sSYA#M`@Wx8>VD|6*env(ql^#o&>$S% zd!zedw4L+5{^9U!Jt2)~3-itqkA{p?5;$LyZk!DW3}yaL%fukVVf5 z@DeM~w}33qOaRgPn)3{&$OZ~z1kTr>;Qs#~<8S5@S*?^}sLm!400000NkvXXu0mjf Drx(>) delta 465 zcmV;?0WSWu1iA!}BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0h38YK~zY` z?b0zz!$24Y;ByELw|GJk+R4vCcRM*6k`(M>B)LH+<#Gj`EJC%8UF_%}a^O+~rPmG_ zqJsGck{{)zsMB|G5*+%j?~{BlBxIRC$qF;6>es=9{nA&6^{qC53r$$Vd&h0Jw+#Sy z69*hh-~kBBDqhl$z&t%xL#6JU z0#f9H0Ju^U#_E#`d4PkKW{YquV0EThU2~ZrAQCXtWj|Fo;L=@8m?|siC^ecqj+MHT zA+{kfVCPotl;DUUiF!XEX<)$VJrtv-$8k|u02TA%L!8cwf@2$hO%hH*g{{t*z@f@A$jC^UR=?8fhQunh((tRd6Wef z;mGbA-wnb>CihXmWx5)(TDU=FVg=kmmc9tk(jw);=# z+GqW$c>YVowDwPbkF&SD{qw~~?F>2FUVLF>ILq6RyJBZyDbR2RPgg&ebxsLQ0Q5&V AV*mgE delta 110 zcmV-!0FnR00-OSnUEq{owAd#m!4RE30L=}6ZRjAV QHvj+t07*qoM6N<$f-Zb7Z2$lO diff --git a/graphics/pokemon/dhelmise/back.png b/graphics/pokemon/dhelmise/back.png index fa076e9df2ac5711f246099f18518f24226b0909..0c9c112c4b028e02ba5e5721a5ff99e52d681721 100644 GIT binary patch delta 809 zcmV+^1J?YT2aN}iB#}W-e*gz`Nliru=LQD?Fa>$4T9E(%0`N&hK~zY`y_COe+dve@ zFFo+=LnausgcJ(hWM5(=8(Knd^PJtOK)p2JF2(9<1kORW7z&yT89cZM1ygu`j-f*a z{{dOjcPC5ouQ)?XZ`Awfec$`Odq>E>KL^zpfZB(@1nB)sfY=W-f2m0K0;jLL&R)Pf zfxQ5YJ4tmvAorCJ;8D@D;YtvOp;UusLGUB3=@ ziJZPMaXfW(y-UQC%Qz%;rBfUqtpi*Q0hq-(5<124`G%h^voVezxfTgOo{u*qTpN-A z;}z&&if|BbB%oNqeCzCA^cNN{Rg(f^;l*YN2qf<4 z=#?AY>P}d#x&_#Yd)<8NM)BAN5Zz>}3A;*__gzMDBQvZ@4j9`6qOl6_N}(qRu$mCg z3INrLM8F%{XbHgVLI}}a2S@|Q-54iEL4Flo;N>V71B)P)f1FqvutDB%UdAbAHLJ41ZIe3609d=+Sa=D*Hb8A1n{{+(=4V|PpppalApvQCBw6}kVW4l?WXxXy z(sb#hlLJ(U$N)26e-Au83yU{O0Km_@!OH|Qbs6&pbCvG0viM<4;<`vJi`KLd7~`!} zy%H$eOgtR6f5Z!+0cQ=!>at=t^4t+#sU^@~+^ty6tOl16Z7B~gr5a_xB;PSqhuRrM zWvVU>U=$XUeBN!Gw+0+SWvYQ_2LR$w1D#awmhQ4Y?>`hk3s+NIVPZN?adS+U-045$ zHMHjl++U?tLciQ%pH|qWT{{Q#hy)*g`XU}>CsGt5NfbU-e*lwVOS-KNA ze%o_*0{)TO3E-qFt=#~B-(?|$BjOjswJ?ezE`~40KYtfOjCs_5DJ}#djZq^UZX;Sq z$CZ*!<0{%Fa{SK3;WWh6HW8n%;z~AzPH}j!4p1>tirAC_p;H{5Rr=`>2jcLNYLV#E z*`y-jIZB2Qucd6HHJ4EfTL^!T(`OkDh(=s3bm1v=`S$PMGGrJ zqVuW+0HilQc;m%4x)M^iHULL@SFQJ6oJ<_0SWj*g;aFJsw>(aoS;H)}M@SWjCnAI^ z1w8?P)ERT10m`az0Q`vqEm3NI&KT>h1E>k(Zce08;NMtJ(L#a}qHF||JhC<5D1J?8 z8OM;7HjTUeAOq%qYpu$RJ0^9U0c!1XgYgnjn*ernY~IzOd5~3MfLac~2dTILq+IpE zhQPp-Nr?8918KVIq?-enG3`r2a{WE@^(<`KECHoVWpE(HTwElyNj#yetSx_-CQ)rt z%R+0~08HRkihc?ofHtfqyM)Ae zlEUVgDycho$USrx0Nh`u7Q(lB_r}>T2M>1zz@d=K@PrVvy<@Zj@HOogSSi1iF@r(oE!v_&E^eSg4=)s9b8CEWjZ$Bz(T`iD3q8Mo01Os z7RCJnC0j`#9+aVwG4!4Cr|5h#luBU9zMt;hySrx*@()LuJf7RWf6yd8`#&JdetT|= zO8GUcgq>pWAl!vU^e!v}VWdISFA`344WfR>tJ=U$)bpV(QG5Vq?Vu<9HrK+IOv&4c zB*zw7U$+7Z-jlU#qNv=36-$I=Xfbk6$M$@9#%x`HS1ozi4gd`c*v8*mK6oY2VBeDD zGJqc>;A4AW1Fr}(1j&KPr=FC|*l%CnFJp6}!O3LEc|MU2scZ~|9%LIk zn|$A7PJXG+$V0i>9^h0As-!X=9+NIJz>@1LF{mlgA}=H+e_?>M)9Cpz6^i4!Q_h)_ znt<*G4AW&afk*3o<{ah0#b>&Q!!9XCa3 zZ-IOM8hlJ~?;gy81h&p~Ve88&92}apD^$9r3wH~Ge^WRQ1}32DV1y5204#8rDm4>9 z@sZN4I6_ck3y29mAe*gdg delta 800 zcmV+*1K<4q28RcbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^mtRK~zY` zrPVQO+dvcm;Ij_|-K=6Lq>HOogSSi1iK=EOP7VUeX7dIu!EHc+4lX37G98kW z6iQ5sO-YCRi{k!)lC2~V56V!;82V05(&{7`N@cKQzfbSoo$ev>FGqzuUKlSmiOv2G zh>G1_Sfg5b1*?9i7(DQQ_rVF?`h~y`6bSl7!U*Od=y$AI9@q+7UwrqID@=}0RD_a-`04E3R;{Poh ztTHHYm<4+)0Jax_jd3pzymX<3A^ZS@CeMQEk+da1gdl8epJ>s4l4&jl+=d80oHr(; zZEchd(cHoZkyK!0Y5GG4lrR4Qr7z!4N2Y0NMN(k;u_r`2NlAQuw}RnFfz#=T^YlbI zq`Eb7)garLZ2E1R8L7B&P9BQ&_5hb+P$SjJ=!A5c29`}*x`VoOTVze(Bs36roSq$0 zS8{yrlyhdpI-vW19>eJ}8o{H@J~NKf;PMkaz+smqBe;^A2c&zgfh*#ON&;}k!6E5t zC1z?6%}N;;x>Qva;&cf*^E)&U&HJ!yR#gJS*FcON=>%dO`$7bLriQI$KtP?F*4rgn zaH)ElItm=F9^mzB9b6@+r?_1h-N4H?xqzryVCS$bm|b^&?f_{pVoYXfaD0582G>7H z>gdK7wL3uZ_v|PQp2tzEb_=lm;>%xY@M4UO=ih*`RU2OnbGyTdGqVCOfOBKZtf}G@lkZ`F2ld(*`LVcPcL2(DTD?=@XYE{=tlE{!_gXmyBkh;X? z8?f6u@_^(r@7})vb7kR+i%NGf;Fw>Av=C6K76Sn<0%~zwMha_CHeWF6E_l5vkjO%? e@ZFqq5b_(TsV`8;v6&wL0000Uu1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldn%2OB0V z0003CNklAHk!N`LShXnk%H)c;dW@s{xhA7>O7ituFo%KOP6XrnCnwVE6WXqPp%g_JvZ- zn=4^fPznQ53QHqW2{ZpH3@n>48Q5*YWZ)(YRKm<$3p3Qh$UTJt?@M7ocAGF<2~&Wp kFnQ0bc2ik0d;YU9UuoIRH@tLvF8}}l07*qoM6N<$f-ua9NB{r; delta 308 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 delta 657 zcmV;C0&e~21^ES#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ZptK~zY` zrIo#o+CUVAt?>)w0un6)$SZ9Vn~8#y4j73y*avViveF;~l6wlvo5s?1w24B&;viDx`v-V`OgQvKq^@PjJtiyxn5nER58yLNprTfZZoQfG!+{{SH83Tj1WE$N-yy zgS+v_N??j%+~JWGIGS#W2|#De3}ZrU_Q)-9t_PQc5Z!AS?MC_BE zK1KDXy%RV?fWe}tcULLi8U@`@Dv%s11lq?KYk)G8g&Mnx8gm0=l^Tc6CTEFpxTHbo zoK;dgs8Nu#0DaGU%aQ&tl`1VG?N&g)3 zhx@A~R~bN|Lrisku?#19SV4Zd%bO$~5Xg`$R_^+Kdyq$1$$r05^avp~Rp r$>nzfPAaVp9tGG>8J#U~69|I81Q`7oH1SrX00000NkvXXu0mjfxZ*LA diff --git a/graphics/pokemon/dialga/icon.png b/graphics/pokemon/dialga/icon.png index 232b9bf945406ca7d20fb2ab98f6c7d3e96ab607..d79b43da0cbc6c083c595d817e1884e7957e2f16 100644 GIT binary patch delta 412 zcmV;N0b~B)1LOmc7zqRe0001qplF?uE500f-Bv#WCa`G%@F*Bl9qg3Zo#fdpNj6|;Y< zrYZsfo^*Ew7#vK^6#2?`NpG>YI;%WFn&-tJG}VE|j3^9^peZR+Z$OLWb*Q>Ow(Rmo zEKRqA#qm$3EwnV@gQJQ~bmv8zAqn@QRatl`I-xrfE_Wf^ILMLJsW*Q{P6iO^jw>(pbTyl9t_p-0EudcFBxpZ2qrq4f z1$R`FpqPk)d(?nTpnp#hrYnbdpZy*eUj>}6J`a)ndHe@p$O;$|a0yH};Q|0eDuJO86RB_%$yIq<|D8*AK~YGd;>au22R6s;DG=D000O{MNUMn GLSTX=d8Xa~ delta 407 zcmV;I0cif@1Kgs$N;ldrw^U(`T2QnjxhuF=V^Tksh6t~QYn+R9(Yci1X5wWb!%iClnmb}!SdCwGRAjpsoWaVi)akyR zR|guOHEProgZ?zgEsy7_R|x z$cHsR&iSwe$Orkb2FN)dDnLHX2YU8JKHwYj;T^>{9%L&~33UJf002ovPDHLkV1jW% Bv}FJQ diff --git a/graphics/pokemon/dialga/origin/back.png b/graphics/pokemon/dialga/origin/back.png index a9867f0bd801bb6b82247271ca2836093153adb3..6331247df21bf8a3f29a6dcdc8f82161dec16719 100644 GIT binary patch delta 573 zcmV-D0>b_81d#=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldn+cX86A z0005>Nkla;{s~U{b1q7FFq)R3DSw;%Yc&&4Hu+*eS4|89 z+CbUl%L_47Onj6$R{@qNmMZ`TiY96WG!{)FP&Ro1Vp0ns5{;<>EOGs=0U~j$g%F8s z#W#Q@@;UvVB^Uq!OeH38Idxx?IG^;jeKWyCLR)avVga zTK;yeWmIj6`{E00000 LNkvXXu0mjfUn26U delta 539 zcmV+$0_6RX1@8oqUw;AmNklyKLhC<8xI>up&=YBGL?101M)di(+Mz=;#*hipQ0Wvr@fdkqISd0;nf8v;G zB(x2Y57Ap>U~=_{3&10_c8b7YE#LKX9OgmOWbN}xqX)XTwax=`3jugtM;(A01EH1z zPvC#X0Kl68jT@l1FK`i1aI=l}#2i7_{Sy)Z-c8uT0)OcKB|!N07`Qc>7h#s~#seH7 zew-ZxJc3lfa74Zlm!&wSD471Pkl|mf$f7FiHyOO=;?%=3!0B{C$-vtbCl|NJJc-VV z$gLyAR418hQd!ZtzrTQ%&T^e1Qgrgy;)%SWip7>?ti?`eBY0GGmK^9ph*A1 zA=@_&o}DrFEI8Q{T>2c=@g;6UqBy|9n=#hu9-MF(68W3?g4~G z<5g@x_RPazozO&BQL4g9AphrvhW0e#Zy^}HoVnTrSiPw6O}NZ4zXXyjikhf2kA$~y zaHaBpIUvbocz^NqX9CEs7r@;u35`~MYWg26dM+5};ZEg06Yyb_<;+Vh-x8pm2mztr zk5BS6I6Y4z%oug8H0E^7G&2fwAcwkv?zcS79N7Jn2gCx zxu_IqVl0uO=q>6rA$2LCOO3$|+A8JiV@yue5*P~!vKtD`26{{vUH!!I@UchH$3ZB3`_$>lA-W#GQWbkz@m&dj-X!=tRnc}E;B66ta>ukj z1RzkL**$P@nC`cIZd`pZE*ufi6(Uo}RU80NFn_M2q8qs2!1n z``WBxx*~y4}1ym;dJrH6yATkDVGNZ z-p+wX2RzQQAo8Q@i%#V00002(So{Uw;F;NklLimUl@-N({sLM$%k>o}Mc1E@-0?Tun`K#c!DJ9C?|Yy5 zz8~`#GnTG{GJQ)=*uHh}^pvru-tk_5eEP&Y{Q+>Q&phGmkAL9lTCWWK{Q~-k{Gc9j zam~c>fqns}at|Oh8mAU{fj-uxM15TL-}F%@#L0*uCxx(R@ahX_&B4nsu2#_KdFgbAYG=5whyMp4vj zy9D6)YXWc#0bKG6P;EDedi5}H2^bC&Kn5V;x%J0D&ws1CXn}Q}d_Dv5d?v`RnIB=# z^D#mJq>x1LW@0`gH`StIppBtK%3_f8X-?`=LZ1eM8;t5yuZtlCQEOl(B*?xmG$Wwb zjyvh50*v|6fB|Y1!3OHoNiZ~jIz0=fHP{FW2bJnzA_UcraeoLvphVMq;K1HFGz8C#?GJ{fLjw9jqzZ+a1prFMPE;@;fU3-1 zB$X#|E1Ob=w!%`&K)y|}gfE(9Nyj4_DJ7 zwRQkjp}Ps3CMTeAND}rf-^JP)7}Y$ofbTTyahv>MRn9;tUaKK$x<#yn+4La+92#8$ zlrMyp5cwOmVhH%T`GNp$CA8TB><$$YU=$;w>CsO)8>3)jwngtKv{p`ljkFCkq4)2s8(|NTAs=X_iptpV1ZWPr=->0~*2`~C9n zqqTM~Vr&CUM&qgOw*EbzevG$u<3O1ZOIX!ecE&HSKTjudYB7*J<26y81t;Koy4VNs z1s_>p)UnppuO{0x%F1cfNW600B=)L_t(I%f*tvZi6ro#{CAT zj#=Oh`wrQRl-kJ_55=#OA;27|CCX+bV~!0ZCvM_kXy{h;&u#bVzVrF+N60tB0Rn!` zOUrFBZ>DSjNe;mwoUmOM52tZfZfWZ$2IAN+r-{ti|2ILgOLUI6`iS6x@&rIo6TD&O**ES z*(137PkIjOrF_d}Cx=nFTOD+!7##$HHWQ|#v>I1%KA1G$CURPUNnW!`#9=?zm(p4{ z?Pjo8yhy9`5qkQe1PY3_WP5CbkW&dcw?_y~x`_0NgNT%I4%n_t za$J*6^l|7SHh)dF9T=H&=V(o-l5O3I>ufGUY1A^s%nqTyy`n0u}7BA8&eS~hbKu*yXY=?~( zGAbeC_6WX78)->U9CG4!xQwx-0{iLG#R8jUJbw&?p%dqiL3HAMA(FqYrvbD6H(>ZT zV4{0qHqiqxGan-`Ganw9i4PA9X&!-rM_@c3WatJ;^wXL>A2Tq&v2WW(6vl6m0BH(Nu?H?TOiDw>>Lj#+2Seg%AiCI+n8GN~tw(7p z&_PFyZVZarC{z`FKw(c=oG~cS#8bOu=|7P%iy8-=qrQ_IM}H>om=;|+_y$S9{q#NZ z-NSt!LjP*zqxF{_c(nTJ9%=zoO61F0pldeZvr~&yn{D`8*LB^)yh)XST{%Q_50~nl zGL2kCk!H2h+rtZrO;@W%;skjptH8wRRIsnrUWeNbhd2;ki#u(fdHY6y`F>A zK#7p5U2AO7hJOkOj{vBasU3z&00rM-i;yyPSYO?UfOX90Rnv)eK!LemKl|l4X6#g` zPh$St{^hj(ig^>wQO$q<{Kfb6SAM9j0Km_W+2D_OWGmYMV_*y(GbZ?`RZ&YEIm}~2 zkB@Q{s_f(znKRB9k8);DCDF9V7Xf3QKsmFfkjP=1?0^62hT;k#c!>0IHn#|Q`PBO6 z=v}ij4 z950s`8(r%B`5Nyo-vAsk)f=m9ns zi#G@eV}F(a3LX>U!8P95Su6w)v7czfd?*m?V+?>KCf?v~vy1Tdavx&=7SJOh(qkvi z*T9=|%|L;~YgyvQhGxI;od7_HAF3LKfDNbE;M^zb8>j#SHxMxZRz(ZQ#eK7)t04CS z#!pOTjbJ6<`5r&PSwNrr7;me9@i2g)@AvshiGS9W56J@#Ys^n=qHe?(%FFeHXn+9z zEtgL;y$-x!4Ls2R1#ieQ0TlSmTLHS`9JwSH7kK0CRaw#-q9>9^{SHHOEJ$CLXNa zp8-%)ckE&RaDN#OlD93mKRH;t z|62fRG#NR&1O(RZzY9R6P13-@+Wn_^34omj4#3@|`-8Q=Gt0dsaC~w7As$Te?q4(o z6lG>u#{>9jh;$=B`Qj!X$b>OV0pp8{+jt-_n12EYhl7oHAb9dFD|#&2hzA8WOesBr qxDyYAxQ_?-@!&ol{Ey;+V*L#hj3Yal-pAtr0000>;B`X~ zr?f*i-(U&2kG}8m@qFK}rv0at4U!Kv@HGDD>?#36N@R;lpnqf3;BUJUV4E%YS*O?Q z?Pd*%0?pE{Mz{1rwOyn^4=GYFm%3ZJu0MWSp*<7Ps27a-Cla9JmeIk0$3;T|Cbim| zO$5m34c!C*LTg)H3u#gU1wzWrN^OJIFu>mfpj@O)-$wz>`&u^%DN>8|@j-a3ZTwO; ztWX8ySntahzklwBj2#MWU(+VPZ=Zi(ea-A6d|#XV@#)KNtFIj&uK>VL&)DG4&~2h) zfMf7v@Qg9R-9`zQ*t3|;hBkLIC5ldRgG?A_j0YK`i%HZ?@|nk&EwqeLK_oJIlWhOi z^TmaxK@+R5v%W#dtDnuUUY!S818St-MpnLuix=kh`F{ zs$GvyXMrT5X}SmBy^exM(R4O@qX97;r+}Qzgm`ovU0%*+0*KH_4Pr7B8tg|A0FpSe z2lt1ahkvJ+`%whI3}z(6>ai223Gn7raiBortt{~a`cEMn{YC&F#CK(dg2#p@(UfzC z;5SeX4%|S50GK5uAQyKG9DoXP-(&p1Kx=rhfbH1)Kwk&+xuffw7%&=oaOnGeeo&xQ zv`Ox9SR;PeB={gkP+qR*L;-m4Yq^~CVOn(QC4azk1(36cY%QR94zpuG^}0vNbNIdr z2*VgSQUk|FvVyO=!?e8bhul3@3c#uK{n4>n0M_xySGO1!0brc~^y#h@_!mIlSziI3 zbiDvP=|}cIwr=8q(%Wz1K^8r;2@uDFb_?Bo3 zCRX^;6<;`t3II&xH5s~9MLftpiLW{C8j5(3xIY7+f=}|!{Tp~ZSh#<~q=>|l`)3eu zzvuq3b*Ckk-CqJL64L$2t^3P(kiKof{eQ_$;{NXdsL*ue><|!0-2V!IQY)bbkN`bV*G`2j>O{0x%Pee(%5l00NOoL_t(Y$KBMwZlf?50C1$z zfzeb9H}W|QjJ4AtBg7fJB{Y%RH|cG+m26c)RJcmr+gG?J>XJt|-S^pU5))1xPdX35 z!au%0#vus)!HDKxfo$mR>MKwkMFT@QHgFKz^kxtop4;$j7=L6|L?us#N(U5nCVffLSF6zg(v3L3D2LUFdpF#3XJ{URV` z_rf?9uU0HR2f)73?{y+slE!elrKU<84!}(%W0(c~Dgknvsj99d@F8G|9kEp^1&lmE zD_nj84A2KuC4W~_15~=e3^3N`Kv_^M0NYhQD1na=U^gRGR)%{ZXlPwEssy~;3Uc~~ zA3_;m#*#`<`oRw|I)X|GET{)4gw|#~7v|D_5BedR$qX0DoEz}m1A3zixmhX&9c5GS zy!O^Z&`r!InW}OsWme^nPaY^_RshIN1&z{b3D7=xAb-3P8N=avj>h(;{y0)&p02ir%n+1WkUMn%K>vb3OGJrNauFJpXTx~?0MCOr^x zJRncIlHLG|9etuc)0fILOZu?16LnFj=B03AfQ&zPZZ6r}O} zSq3~nJAV@Z+rXor^m;TPT2cV&6IeX=17Ha_+qD*y7-H`A=s?u94!}u{f}1l+;OF~W zhr@tFj*FBsd;%J8Y6>T1noV$jlNSTtvCoqb1wVr5mjzP-uFTM7aKMa4ny-NU#FVrN zu7n`yUI=WZID`n9&0s;a|DY}`upvY&;Rs&$WmM${R02TnmHyA;51|qjaOpzT^Z)<=07*qoM6N<$f)Y42_5c6? delta 699 zcmV;s0!00;2BQX$bbkVwNkl>GVv zk0culK%@veuU>zL0{RZOUr zMKO7L_CO}n3_w-|)Jm%rK=bH<@Jgf%w`T@zy-+Po+J7fMA>)w7xPh`QHw(FFo3iu@ zTqFW+mIRt|qr|iiN+E)TwDUKyV zW)m!k_MbF`1-68UC7i(9-mFgtXpYP!*cSG`9W*d^(HtR@ClI~u-#maB1#=17T>o?x h<`MvUkMw_De*mEp6>#yX?F#?^002ovPDHLkV1fp}H!=VK diff --git a/graphics/pokemon/diancie/icon.png b/graphics/pokemon/diancie/icon.png index 39d8f90cbf6c1f47ea0eb116c63df9bba738eb9a..25121ae4e9173c126eba0d21ada2eb0185f44f99 100644 GIT binary patch delta 305 zcmV-10nYy80*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x%R48hT>@ z008SrL_t(I%hi&x4uUWchIxYq7M&z?wOOX(XR16wWW027r( zdUQ9@+xq3t_3rX{-j5e?-b$+(BB{7&gF(r8nJEM~6#R%ltAAl9VhlPEJjXq9elaNE z4G*IO^b1LX^*+)zqQ#Tm!z{I9NmhlXfKNo{ba}gO`YF4?+ z>Wc{w39M1XPC|Uy;AO{U=pvt8Y>50hAZ@6eBP;Ju>Ki)Lt`3c>!-1dWTnAYPFIR`! zMg}?RAdwCUWh&JwXsixGjyeECI#i<${>ssT{O zOX(XR16wWW028$_(H`ARxb43Dz1}5X5KO#?*DI|?i0s5g8w^U$%S<7_q2NaZS`8bK zV$gx$Ii8X8i$Q^4co-d_U&uCE?i1}IT0H4J&US7s$*R~C@PCcyoX&68RsV~0Wh+hz zxCk*IG8(SX@Os;x-|nZ1A!67&^nJ*da+c2BeKgFD&u;>DE7VsC^w8 zUxx!f%drl!j$SD6(V=#cL0TOo(qT(kwTK$0gOFASU`U6`>JTnG9q7b$cmqFrm8HFm S(dPgF002ovP6b4+LSTZvM0xQ5 diff --git a/graphics/pokemon/diancie/mega/back.png b/graphics/pokemon/diancie/mega/back.png index cb9a177a0d55682f96e4e8930397d5d47eea1a6a..af883beb0b2dd109ccd06b86fb9aaea43d2515c3 100644 GIT binary patch delta 821 zcmV-51IqlS2bl+uB#}W-e*gz`Nliru=LQD?FcoASO7#E$0{lrtK~zY`)s#PL+dvq` z6-^m3_~al8>0qBgZYT*z7jBoicz57}hb*?P_W`n8vzdTN2GJo)K1VtQ1f>)V88l_L z3!b`o&)D})vaLV)0PTToN%zz9JnwsVwyb|;*sbO>RDNbh4FZV@e<13_p8Qe)B#X9F zh`^Uy2LwYPtEUbbCzdPac?F=7owxQFr`DmAj3X)Kuwv;;#)gLjc}d_xMzR3*&<+rc zyMnPZ1_KPF80sW>G8+K^9>W0To>8ZSItih=iU5AW&M!sKotRMQ05Jeu6hNo6niHy9 z;5itD08kb|64ooNX6$L83m>PgJtpw!Kb8Ozy2jq5gtsBCf9OAyc1%|jJ0JoahkWTmU#!-WaQ!>)P>C zI+)b`3Ki}tr8>34h7k&+7?S{Dr3Y@DMmKf<2wZWg30xO|B_&}jA~fZuVjY=RsB zV83!c=)D8%e|yLWz_j8$h5gwD04#!Hoo;rgYDHQHGk*2UCoEDJf6TI%29R*hGaojB zN-{m}Y7YA_&oAT|0ACI8QWKc%fLvleZ3^()*Z}t$;8{~(WXA%kz}f@ungUa(l11qg zPUhyeDUbu{lesN>6at^24H`&4nEO#p;OZxqGzXsNf4t&xFwY&nLzNJ+n?5I1pl~RF z#S$MSRgYN#_^|VDZd)qh{& zC{0(VE6Z7Ci0RfLyFInj4Uqo8Gj52f^?!`NY4C)N88l_L3!b`o&)D}) zvaLV)06DPr=YD#g=Y8)a>)i~y)4qqQ_w1-eAW;KElh~7AYJg+hyrM##CRI-cC9^=$Hl#+2Ir5x2PeaYD9a44?`oXAL)z#iHGf^kP-jd_fHpJglu#!jRDV|yz!B{HN(9}BDTNLY1HefM99LFzN_7i72cr-G$|6X@ z`jyp;Jq`5W=XABl6n=xp3P3{F*qfB_G{hByhsuuWX<`RNAV^OhtOgMpARts=ILec+ z)jeh7Ziq`jI3OUMo8u~A^>NoMCJCvdJeXIH4M5=%z@hRcSl!edz<)#OU{d!hRJgB{ zstZ^aMktVCLIQ-99=I`YAvbma2wZWc3EUKbB_&}jB6#We5WnGI*#tQNz<%X?*nb1q z_mB^OX~kO#`}0cxSOmp7z5Gr!inI>q{Q8eiSfnuinCH(eAmN$3HZ2bcBgltSS@LE$SB79%Gm|Y)$ z!|7|$%W*ZrdWmEG@zEBmb&_XWpm2Cztn327c)eJ`if1+8`hIzQraxceC{0&q%Xw~y t+14SyJ+spdkp9ARZixD(d9TB={sU?7hB)PL#aI9U002ovPDHLkV1k4GaxVY? diff --git a/graphics/pokemon/diancie/mega/front.png b/graphics/pokemon/diancie/mega/front.png index ef48adeebd042c0ec15ffee5c51b98b8cdc05f5b..2bd44603e2d21856dd74a5f8ca22b6af8b172a50 100644 GIT binary patch delta 1066 zcmV+_1l9YK35*GlB#}W-e*gz`Nliru=LQD?Fc*pwE7<@51Mf*hK~zY`ebvE>;#L>{ z@E3)hoQls#m@-h}(}`}o!o;@?J(R-KnETH9#ET0t`nH9oZ1+&N(1TcJ=MA`*Qs~UF z&>pt8nI45XbfI|2MWL{l2s_K1ivA7#5}l0B#y&8{e7}6(XI}Dxe^4|eg6N)vG3=#L z+>k8F_A{KPrA#XxxU6Q`oLhOj92Yn6eP*#5Z&&gz#@hS9tU#QxdWDv;WygR|p+W#C zZCO<{1|%QWYyh?k;6Ypy$%hv2u)1rytp_yrZy220&?4nIg~n7sTV1uyIj>No(ETnJ z2-ONf`b0cKu>fZ*f3t0+vqC(Ly^_zje^vf8$g8Y4>cxU&@posq>%7|i>X%L6x3AMb z19<$yC>C^zA8(8PA9wS0Zv!aww}l|5dfoHlYP_fsaV$=bPxb1PI3WLB*NWm)h*Q1u zB&LQu=-ArUb0Ln2-j1mu54;Z7qyp}el+FQ+-iyC(b8RPUf8*hq&e`XlCvL^P*L47@ z?F69unYS(=?)_M`v~SPtowGuMcbvhRki%b@*47TGk>Q8kyuBYBx@mL}>Wub1QE8cw zlV|M|65dUt@?tm9?I*^xH9>_i0dhe{>Cc2(Dpv|C0;2?H>&<;o%iWUC2BNYsd`%Me&p5gy7#{Nt5>Po(K&M zt^s696#CNDK?u&9ldO|CA`lrhB7hRwoG}96a<}PE-Xek`aM%bE%^`k0eBZy+7NH0v zSaStTeSZ>$STD*zuGkg(2cqzq`GjaIAl%;BeZ-nqe*k8zIrVey-fhr1AZ$`%tVw)0 zzin3bRsghehgDicZ$Z!`lGzflUb0#Nj(L`p#6TnT2%_GB1JLK*>F%8j8y4{2dK} z5&*$^5pa=;iO#9&1^^RS?d68N1PJbKilAtYe`4LGRKbb{(=GSp#;r9#=LP_r#n6G2 z3R5qaw_s}FNP-(V14DjT>m>&!>-yn@4uT^H<;ujxX_O7#X^Oj&n+6*k+}cPt(!p1l zHq3l`Bn)kVp{BVGaM(xqKp-`>=wfZa!Jv=D8#1*_v-a9dMOprLEV683%Pi=oSj_2* kAd~Ti0(kSuYiMQs2l{rCX!C1*RR91007*qoM6N<$g8udo5&!@I delta 1071 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 delta 1337 zcmV-91;+ZR3!Dp(bbkdBNklr*#HKJRgXsaL3L#>8a9EDsU9Av!J-Z3G6Yfn3w%ra zy?si31oq}Mg?|cwI5d9mRj|GY5Kv?P%JW{Jw*Z(ce>e5Wb$ggiwS+=ryAFEUkry76>08gO=pns6V$V#Alq-z4mDu6(NiObbP z4(0cv26zk#aa#IEd-y2AFKd8THbKtRFqXxK^$2x47_Q^2MRYecz-iM@Q2MOt9l3Zw>5AttMUm(_rLwFC?yzFqzymP?W1{&D#6 zblDQqP>3yDwwrDsEX@rN^!Q&WEO7!J3&X8MVt<=001{c^9ZtiQwNRQ|XQU8q0p!+9 z5TCmNLSuQ0<3Df*AqTO#>wv~{H!)JT`XI+Rv9naI3-HPf!`QL?Er1t4z`$|B zRDZyrNGe!aO-gjRo2=t}eLoEU=Irgb6LXN?m1LaE~ zZ#C=BPbyyrcQYH&;Wgboi(P6_tbe`7F#&I6h;cWw>zL0#zS!fO*8vPL#Bi@R z!XIvcPx0f7b5R2V4UqJkx9@X4-IO^dz3PPM7^T>QVv**PV~R~VuL@KF6j0I}Bw zUP+kW8drN~V1X6^(iyy#J0WQmAZJg@65ImhjIIE8jcs*I2ROe9$lquIB2_Kt2I%2Q zk*gAL6}?g7-~*Rtw_R68iyOeQ0e{FXlIuNI0v{d%VAk)f4xH8_a6NaW0Kqk13J?j* z>=Gs@KzuDg!lWKSBuqyfDdo`+82VQfGp#2h)E6iLL?tkKP5n#48G6WAoZA|3j_Ux{ zCtn?NUhbW7T22jNhg^@C@roGB&Znv^WBmD{0W!w(!w^IcdZNA_n?Ml8 zA)<}sv+n`IfJhO^65t2$p_Q9ccm~U|=t6a}-z&v6*likfDXw)moe<)x+h@oO`wwHJ zNLOSEwBGs6eBbPXE$ahu^N+k8Pd)}PwU~_q4yf%}Gz#1(z>dd(f5ZT8I6^Q`z$|j( zYvR@iFH{QP#o^H56d)Gn?HB-w$rU$~ z3MNg&al|aAR)Ur@=OS+oB8EFFmBTeSMHfxNz=XS$E%F9E3cxpM`Vt+!33v;RGqQ8kV-Aa|hu1_M4yX=KWm%r8 z@>lkCzk`$ue`Ny5WcyCp;(*U`j}fG8t^o&^`Jb{ZisE!Ci^K0df7_>0fBq2q zuoxZlX&})D?!RNA?4P8(1PvVTwa4S;;*9@G`~_#iIDuX4@Vfv2002ovPDHLkV1oP~ BOd|jQ delta 727 zcmV;|0x12o2EGQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+&fdK~zY` zy_CO-+dvS;<)Aj;v+e<+kx+_&!ImGuCl)tH^bE!rby0QL@0H>j*=-u@Qe5lkIE2tu zx6hE7{VU6Yz!jOoEIYsXzHe8OosZPbKl-D1{4s#(g*ObiptrsGAaJ9BQ9KMJ7Vu{S z1Op9tb3eW&ZbJxW+5v)pc-Bui0f=SzQ4D~@xF3K3G3F5fJqZ`Y6pfL?wFC-;1o+CK zFF^vK^6=&oxR9U(kVp>=bS3Br1kgD~f$Bpr|8fzLJYepRQbBVd4l037Roc_daqJ+iw?4+D65 z*O*EV4fuL)>`uBK2G;=0%#83bfDLOxz%UT4%^tm{1HjIo3;H0JGCJ&WvYlq?S;I3wFgBY;~R)LOdFMqrRynv$_iLuh`f$CM@mlJ1Pk`* z)p#t(qUKagg^1&SIdj}v8#?Y(v^ldE5yPF6s>3yS3Q#3PmsHNTQVqFhbSOz}r>Aw=4A*gWFXf;4Nco#{$Q5&qC#w z5zZarWdLw87+v$JXVC@jzhk59-lTd61~}fEjK|Hz9sh@NoWEznIDyh8jC}wA002ov JPDHLkV1lXPPHX@G diff --git a/graphics/pokemon/diggersby/icon.png b/graphics/pokemon/diggersby/icon.png index 317bd4071c355b650184971a803ad29c1fdb18e3..90c4ee5044ccb0e2e3159ad1c78605f682e852b6 100644 GIT binary patch delta 91 zcmaFMG=+IWf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?E9QBYW^uAW-PLr;B5V s#p#LZPZW==l`l^ev)|VKw^4q6>E>rYUFVn02P$FkboFyt=akR{0OepFsQ>@~ delta 52 zcmbQj{FZ4#0{ah77sn8b-iiHBltdCY$(JXJ*>7wA+bBQ3bn~;H$-HtU3_#%N>gTe~ HDWM4fGu{+x diff --git a/graphics/pokemon/diglett/alolan/back.png b/graphics/pokemon/diglett/alolan/back.png index 26e060dc346577c083b40b883dcd09b47f5f0661..e1bdc439b518a1888fd84a43cb17a621dffeabe4 100644 GIT binary patch delta 283 zcmV+$0p$LU1B3&RB#}W;e+P6)O+^Ri1_uH#9`nzWeErZg+XTodZfl(yT0{AnL&<;~jz~DoQ zCyWmOXcPbpm{yvB3ac7E$)-_0O=2|V?2S293Y4}i|#zKZD|EdXM&0g!MB}{%$vYJZ)KkX zZu2P+Isw))1(X3;AtP!7A}fg@Zu*uY)0O~E8gM!*Em@$J#%Xn+3$(R%vNTM^RykEL z^X>qpEC--ck_T(-!mX%%Vi#J7Z9n(NoSjGSkHn?BVII%kFFzq-oJ2It14CF45aWs2 z5c;p+KtIQv-Y`6XXh?t*7=LL34OL;>uux(SZgWsQZNU7(cf{iQDj1IlG>9{BdlTRT oKms(0Z$P_zW%wre=l26}2WAFkPU(gP*8l(j07*qoM6N<$f-z8cZvX%Q diff --git a/graphics/pokemon/diglett/alolan/front.png b/graphics/pokemon/diglett/alolan/front.png index a99506bf347a8d28b03ae70010880c575d038ca9..5f23a5d45e311c1e734b73729b8885ee445959c6 100644 GIT binary patch delta 338 zcmV-Y0j>VS1G)o{B#}W-e*gz`Nliru=LQD?Fdu}-qw4?w0Ub$1K~zY`?T|fA!$1&) zZ8@b2W(!v|I2-^WL>-|O6%my~ZD9@K9uzqNf-7(ZH$MJ2+Wqhi43PrB+)9M&4g6?c*@$&p{{mN4VHrc~Vs*GOwvxKpZuT3f z)JoUevY>L;XbaHvNCxT5r*>EAdcQ*Tbge7uG*M**JVmm9r>-FC+7H{ULS-1LrKVoJ k4jo$=OAXtjM*Y1$0T3;GP%!nZqyPW_07*qoM6N<$f+6XX1poj5 delta 345 zcmV-f0jB=C1H%K5BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0USw0K~zY` z?U27t!!Qts9i?Li>>(2iDGz`UVy=+IM8%XcM?{Bs4~9Mgf>+=bvQUZ9X_k(~UNR<^ zg)x<|_%qcxPYg);EKk2r_d6XM`OgFg9zmRV224HkgDIyv!XqIPvg1@FXJp4DIc78$ zGdkyjJ_An|8MR}OrVF@#C4~4U1ps11oWmU@gpk`ubcA-kM_4`sC7j>C6psMeY*;9Y z2U38irANr+B>*RcF9wB4{GD^@&Z9SOjf`_XcN)=p!+)3?m$7c^U*XD>jy1F{SBEPb zE2*39X1@U|t#rMuO00H`b_h*xmCk-_cShIy6{^Q;ZLrgb#wjo~g|dIgu0-tG57(_C rWgV=g#$LU$0hEo@a6B^d*D&@85G{OAhSM8600000NkvXXu0mjfR~L|U diff --git a/graphics/pokemon/diglett/alolan/icon.png b/graphics/pokemon/diglett/alolan/icon.png index 1b575078a3487ad1a735ad181c4242add98a764e..34c40ea8b38ae0e7fc9a1af7931e7f2d7a5c6108 100644 GIT binary patch delta 208 zcmV;>05AXM0;K|wB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD?Fd;>$ zzCZu~0EkIMK~y-)?UFGLgD?z5a|6p4fZKT_8yS0!E-)Z*uPlsivrx4|T$sYo4I<&q zPhYldJ?C00dRKj(kIpQF?Ux3!q_Pc_;Co+oF9J&nqVvsE*o_K0000< KMNUMnLSTZ;K~1&* delta 271 zcmZ3=^o(hON;rFor>`sfV{U#?Gj&&=<$eqd4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJHSdd4JgcNc~Z zR#^|AY?r5tV@SoEr;`l%nhkhdi%zX|{jyP7DB#wUJubv5~vj(!P#;R)S7> Sz2YyB<2_ydT-G@yGywp4i(;$* diff --git a/graphics/pokemon/diglett/anim_front.png b/graphics/pokemon/diglett/anim_front.png index a652b66458b2bd678c083150fe5bfd11febe407b..f7a8edcde2e258c7bd7df0324a20cae3869e7bcc 100644 GIT binary patch delta 428 zcmV;d0aO0c1M~xs7zqRe0000A0XlddN^a8FV z)8MvZzlDEppcl|^0Ga_y8ioxvHq3YeD6*eEv7Q>qZ2-`lcX z*e{(>g!R`J#<~%2Z7y;`({#xcLc@PA)=iNXl+{I|8X-AtxMXRa)htuKrksef4H*+< zRtXT zp58t@;o*K4KXxNLB>kf(z_XiDzy&&Qi{2mf{-7B7{d@qt WYR*)~xK2X=0000UqK~!jg?U=!i z!ypVq3r?Ig#{B>1?f}^~*%O#*S6cZ=jdGcXWA!pT9**NU&TkP4Gw~QBQCO_`7^{HD zW(XA5mNyy#5hJ@=1q(F+TSr*h@Kb_q+jp`q0r~y;JdV>4*djQ<#&!Yi8<-IggO)c6 zUW^Mk+~T7G5k}^Jod&`K3Q38>9TiF42IN(L0Rhl@lL(iox7AUQ*js^qj3 zfv~9b7$lW+$>+pcw^8QD`Pf63AeVVl(IjjRC$r#eymRL#XgQXPMscPjJnD;RSG+0k zOLYrUlXw^H&%X!3>hY|C(Rfqn`8}riTQd=M9LI4S$N7(F{B`+WXUjJuzRr~Isp|Y) z+t}Rymuq#l2*R~Go67gKI@9={VYyXjV|RX4XLI?U=*}M&443Z@2sngm+$1;^XMMKZ nAKdW!1HV7;`vb>uoIbt)W1|>2j|WF-00000NkvXXu0mjfCYQDS diff --git a/graphics/pokemon/diglett/back.png b/graphics/pokemon/diglett/back.png index 8dca603b334c2d9bd27dff262fbe45c3829da4f8..558892d4562974ddd2ca44e90019144454a721f9 100644 GIT binary patch delta 206 zcmV;<05Si;0=NQ@B#}W;e+P6)O+^Ri1_uH#Bde$1YybcNn@L1LR7l6|kiiYYFbqX= z$O2zP-0Ka386XuIq+66@N2iHWB%;_AmAKHn>wogMZA_sD-5# z#*YTLS>F-Y=eI&R!pj0z!g5f+TQEC9+<610_LcsZLgycN0iZoOLznvne*gdg07*qo IM6N<$f+V_Hq5uE@ delta 213 zcmV;`04o2u0>J{1BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xnnn^@KR7l6| zkiiXuFbqX=$O2zPz2gm1cYq)mge~C6=p|98L=+npsfS8=*Z<^i+cX*t>?pAvctJnln)!>cW_EeiGG3SmwjvpbSW;f(Q7eH2C-mO^7+1+>izUK@=bf`Adf|Nh{=r z$`YlpmBMgpfLrt(@mRkw74i{Y7Pt_$n*u(9xe%s{H(;(`>3=CS{vTuBpglQ5$9pRa P00000NkvXXu0mjf!RA+y diff --git a/graphics/pokemon/diglett/icon.png b/graphics/pokemon/diglett/icon.png index 3c7bf8e1fb893b9546ff9462c61e6d7ac3691d56..e5db3ce02fa20deaa8bf27da5cae85d59eda7127 100644 GIT binary patch delta 98 zcmaFOIFV^Wf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?EA*>U5+k5-3#S>Eak- yae88Ul*WJKo+iZ!3HKJOO4!u~G)ZQ?WM-J^>2BHHVs#s+lEKr}&t;ucLK6U2a~-e% delta 60 zcmbQp^qO%(0(+UKi(`mI@5KHnt&4xmxK=P^Oh~x5SXIKVHlRr|>m@V8R8M!yw7SgI P3_#%N>gTe~DWM4fuy7TJ diff --git a/graphics/pokemon/ditto/anim_front.png b/graphics/pokemon/ditto/anim_front.png index f93a8adc4f00ee440fce43aee51f445794cda810..dd4d48c7fd80414c75ead9d23edf0cf5d8b2193a 100644 GIT binary patch delta 499 zcmVOKyWO5I|i^$=(i0wwa;80m=oq0f_|d5=9F8u;~?Y?D_-wG&81E ztF}^^m8E(14Bt0GOfkhT#)B3TL%<@(xY+P{85Js0OCA7aLw~dTQTZt8JevJ02hdH( zC%@e=bQ6%9?9z9UP(`3{skU-`R@@bwGuk-9M}=F^xPq7Ht&^R}ISVN*=;x4daHk@Y6yH1TMR8t2BF z8zCzSh;xlm;Zy*W8ReoF{!5yDeTNcQ|R{Q|){G9+jgKWPF%#LFKsP!@6Zfvmw)n!2-Q~i?yQtrl!uim^m zqvYO;)7I#$+)Kg8+qv7wy=3f<$6oF!2Y}L~+b?n->|cJ?{y#Jx?62}Q=YE$wP`COr pK$y*KBlrO#JU{TW#}xk}-T=+)Y|tv0GYkL#002ovPDHLkV1lY*=I8(b delta 472 zcmV;}0Vn>*1g!*+Uw;9(NklIbc=duG)t4EUkFTvoIjJ4iVgs z+{QDVN40-#0D1`aWVb7Z9zvEXo7pLHs)?*js%^}iP3Qze_JLNU%-&l#t`>@DM8 z<^TmB#7Y}S_jtY7`+P$kQv+FZx#T?bLNMj?W*-EKc`JSbc==9%euM143MA(kAo<2I zl)Ispyenpbg7<$)l5$sGe7EKm1ts@hoVrJ+W2T{ALI_Lw=yysr--VhFuT###KpdaLLqCT}D%mYGgZv6(=BJ=Nu@Y`dFe-R(e>}=3?AE9Ib O00002U0WdsXzstL z36$uJLAvV3zx~he&ty=Drl!B?;;ayzbEm$37%Ma=TlTy8I;vp-KvVV|z^D*GodAE) zkB1|$B9`uO8sHv%eB%Z<%E;)i_?3B1Jt5>Ce-Nx`NX~DXX^~eJu*>Hi*9st+Z!8%j z1qSk+40sYCP{39aj3>XUR)GPg){%5z0Sw@S%u58tBho?0Ni$!APq#tw2)LyHPe9!t u5lblnl~4AG?@LxQXjKA+_8K+)tPd1-MoaFEp*4g60000M^;@jd6B#d-U&j)^e?0~Z5>r>mdKI;Vst0O7KU3IG5A diff --git a/graphics/pokemon/ditto/icon.png b/graphics/pokemon/ditto/icon.png index da48a53fb10f5f09f0ac7391c42537b760acad2f..130379cdcfac1b92dac6a0f6903057c8e29bd72b 100644 GIT binary patch delta 213 zcmV;`04o2A0<8j&V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x&5{ayD`R z0059lL_t(I%k7du3d1lA1pR~kP=79yJRnQ`5Em!VqeE1cLL=*3dTIBjK?1>SNc2&ubo^d5 z{qsrti1zmq?C;TjkMW}>>m-JS{p=G=ib^-r)_M*R}1j~eY=I9rx7j` P00000NkvXXu0mjfu$fvG delta 178 zcmV;j08Rg`0*V5VV1JcKL_t(IjqQ>_4#F@D1p9;i5I=WR9#D%sBq&AVn5xErM4Y|! z#s&74k)t@8ou(fQZUpWb7SE>IPGJa_tg1PH=Wztpk@h=Hwbp9{Dfz&1{(xOXmn0p) ziKl}XDQnyoWwvp98#e#vFh};m_P0#-H@4r{KG;6q_Cp=mek&8QzcWDbHi)eKUGp}S gIsV7n@YO;*0DZfKpSKB=asU7T07*qoM6N<$f&=JOi2wiq diff --git a/graphics/pokemon/dodrio/anim_front.png b/graphics/pokemon/dodrio/anim_front.png index 43c37974feb860d43af4872b1ee2f2ed54aa746f..cfda98021e790cbf25e8a00805234aa626a58aac 100644 GIT binary patch delta 1561 zcmV+!2Il##4A=~i7zqRe0000O_P+Z>d-jTA=CW`P@rRNp#Mw%fs_LX~3UXXctg|Py()(b)cyX4|fJX-tf34I+q?iSDMH@lb0-KK;d%}L#OH$v1i<_L?+(Tj5tn8|osUKq zu2>ijJ~KcZgVls;`!n*|B?0F6AjY^WzOqKs9B_Lxf-~SW@_b>}e>-aDfOCI63o^@) z+TB#lllidSRVVCpU6T0*Bluv;Wl5{0B2VL=Fq>yH(59*Mn*j!r7HGm;%Ul3@Vk^hV z+?VqTMrXn_TOoU?c`orf;>h%b#x@Xuo^<`iC5vkZ`@Sca zrSU0uFY|tS$5L+bh9>u&t80IZvm?=yWfn0GX!8dK%=^jG?!0`5msi4oEj{6`pQY~n z?161h!#Ioua3kFA$9(f=DQ5Hh$h?ar&iq{gwb_-nbmv_>Mc83R5nkUNCT~AkJ+R{m zup_*m(&P|;G(jvai0jCdIVk`Dq6N>aV0Y{{hX4-{x1a#9E&wpgT`zyPknQ|n%=i*4 zC$Ws&NmKy5dB8)6v2!jmAuR$E>@vV}T7&H)Uu9VUv~N3;iGj?PalYMdm=Rb6TAfzQ zu!e>)c-n5aU&`eYBEvAOv0-jEPuqW<%LFtG6R|pIK5aLDK0iNyC=uL3Ydjn<1Dh|; z&lQEaWf;g}KK{j=ctn4o3NS&-1n9#z2vt^f_?yjv`T-wOnc#IJOhFiZ1<(`w7;sZg zl>MRe>#;tvMt1v4iLz%Pvwl+RguadsibQ!{x<@O4)r!?(alW)_8~69?I~xAMzg_h! zwxM6&rl$!)9JuYrWfS_cXWz=T5lvPVu|%LJ-s;SkB&_mNe${_ND;mGQsy|J{7ra8? z_$bfo;a5J<@3O5)?O;?8JPr+GJT`&sdAaORN1goGu*OK7Rn|5O$*cE&XY;CEkDIyd z$brXbh+IeY>oNd-O%U;kY%;8`S|y+#`PZ|#k_4b#JZ=3k>9OYJXa9UR?p6S6pB1`A zR!e3U8W({#U;2N%_1oDzX`7>>+VRdGbAWd&Q|$;yQ{Jo3C?+@gT5zxJ zB%o3UdZf{hqFAtNcK=H*0TsZC5Pdq$>Ih;tHC7TZuTHE$&?j5s@Ki{^sVqL1;t&0p zm!b}$Jj_mZdoqE+4e3!{iaO_yN&-%~eppPo{~XY5nJAl7NI)epqP;BPPE0nbh|HeA zIA{Tr4U2y>0tW))u-CCTBX)*6fl=r<@Ds{(l%5NWf#_LzwAg;n);Bs$bAchc-oFZn zI26;Qs|3b?ch>C=$Qn7T!@0oVjgz(S!^VoxPGE@MU24300z-6vP%AK`egL%sqo(cd z1V&BA*$Irgo}~mvJs<@}Ex_f2fsO%?5q8@+q7Q!%6A$nh5SncA>_{^SnF2W~Ai@-g zgg&MYjwy^VtyG$OZOK0T2~d(3>h9J6p%O1Aam{?33z4#y?3W<>ooCkqCt;Y}#}Be$ zuV_)Mg4_2$uqvT4twKPo(3So^_q|F$KpS4Eg=+)^%-{UK0^&ac3=Y%$rvw}T0000< LMNS1ou0mjfev#hX delta 1517 zcmVaoKhamVku-KwcJl zds+ZDzBKm;CZYo`ut}fs!aqMkpo0tn80Okd8wY$Qkj;>Vuzgp~8WGa2VBrk})?nZ#VowEJj_HNiuY6l3qTn&v z1OndsV*YT@v-~TA+`;FTI8yo|cti&;1oK?wICULYpBVn!Zgw!CjBxdO+8OJ=!cXy} zL135Q6t2F1TP!&&z`Q7dr7^xxVJh%|W7(Df2JjK05}klC#?s))rH#uBOkzL`57yZB zLLup4)1yAtnkKIac*Xa)X%wP!5*rlnXzSy{?`glmfNUh6J|3G|FZse50$1!a1p+-U zC0GJHIhQc#nH^i}N__OGiCvhRaj-=BeDPfpmaoo#x3WPfyyui31Z;Pm2_{@+>F@$A zDZ{Kwb#9ZtCV-u^a>n;uyk2=Za)LArc20joKqkfZEEqB&1zrmBBFw~u>rIe(N$*CD zyNLg_IpFFXl|Tb71uoz-eLkPe;jRgU0Z8#b>AIbMS z6D;Zr6Hu<^Ss!nsR=d_}H%^f1Y}^f&U~m(Eyqp}aE&+I-Z%`BBp^}DTHvoh{@IKY9IgrvAfTx=fPXjGLmflfD84BNi($Vlf<*gQ!mx0dyX z)E56~4n$Bsu2MG`&=4?=7zlTYY2N!iUuy!kdk(@uY}^`#>m(~~>t6w0J?Zy+Ex}uV zS`D!r9beU#^n1Pz10n$>GP=mtgr?`~nSerFyQo@O>GXVO3|r`;taQ-t`MLytXXexk zANYRH*9>-VH6by@unT?_k4!H=yqtk8B-ORReHXy z?)l6fSlv$djk!v}sC}!RFFon%c1>kOq33gZo0_}2T}zO9zM|9A6x!A8T;1Cd+Q%qx znYWNbxu@GTB>`?bcKh2_4&lo3&UJLVnjjP`LhwWR5i(|2RioQAby27gl%OJiPgif! z?J5(v_zg>F%oB%EtKvT9P4HQOIP8h{zN-i%{%hTivwk3+cdREN?NK6uAbtzot`;DU z_j~C~OgIvNNgo{n;$$d62*9LNoCpwS1QY{UCW{0e0phY_0Rb5usV6`bJyR1-VV8tJ z-3=$$3J|tytJ^k;yBzcnRH?0h0P#6m&rgRSH`SrY?FbMD{HFU=MYktFnBMueZ|w^Z zMfZL~&=Vkr(bI_l@u|2B4(*iXcfCBsbSr__z&G zK=_KldDKHnb(4`!3H+SW!*|VhzFr?Ru3h|B5`-(R_d5x)gD-FQ=k0q;bG1GqD8&OE zPu9?g2MiwDC5eeobM?{_ljnRpPN4JZgF;(?A)1)(DzMD7O)LT8fyuY&LoDi%J> Ter^+)00000NkvXXu0mjfelgLy diff --git a/graphics/pokemon/dodrio/back.png b/graphics/pokemon/dodrio/back.png index ad1f5bcf51de9dff7ba8d98d29ae15a975181279..b84b258a369070e634fdf4c70e7c24b2b677f1e1 100644 GIT binary patch delta 748 zcmV|&koX>U{YZmp328Cm;-3S2|%j$ zd{T1EVE_tls6AcHe@vJPMIDf3#cG!0p#w~@0P=7<18@mL;IkptB%GNrC3Y#6_S9xM zmO1ez6C|bp=TW-rcY#FE9jgzkL@2mz!)OeF4@xDVlrR#~06F1eJph=ka8~UiNVxzg z2rD6j0bnbfsU3%+6_8?F;oln}U4a!U#~MY5G>4K^y?{Rgf1EjLo)eZ;c0oD;U{4l} zxk}=;zz*R7l`opW+&lNT!kj}Om6BMXUr_E$ht++G@7w{tpzt*zhimgTn3w^Fra9r2 z_nNr_decuyd)4O9{1I$$n{NXT@Y>oq;oa2P0n*3QF772#?D*q(u#LpW$=XgmZ%$-! z4sI#oqX+0Ze@cLF+G9;yoZ~)455$@U*lqlBqAk{%B@TGjKYO6NTF2V_q)sA@b=RX- z*O8~#{x%zlIK7Z5KsW9;i+EB5{XA`NFPb%hpV+9!wV$+FEGGrw4sf=p9<3_(@`a`C z#x8SS{6i9B4k_{RsU%3T&PTpHj?IC?-f#QhUF%`*VzyeA7zW!Q3Hc3R^xblR7o!kg zM$H=w?31i}UzE(J0K>{v{WVc4n0UP1!cJmO<9h%~#O>%UW?~9(eNVvn8NbB^%tkT- eqW6IRK7Iik?HEwM)~iwg00001ldZ8&*dr-Ql+-#yTP~LGe*Es^@elcDgY)1% zK$p9B2)_Ocf}#Wb3D>(n0Rhz>(T0mGPF@-_E0jPYTz54VxBBSS#;JiJ=rVBmAD$gO zb*CG_dAKr>bA9sdc7P#PIzj78Gg=-e;U|+o2`=^|u3tv$rD(#sf0KfPs!q+d87~su z*$$KfGNryWlWn2S1XC3Nd@CRLq)(j*CKcx4v3v-FIe;dt0Ho@`CoRVs8lYf@I?(mZ zgziw(0a;e8XEl}`pqmAdhr1boQy2oDHL)S#%!F>SEwM7YHmkA9i8GlXF$Fk}(tW=Q zB!X^RU0NkV!LSUif8hfkluAG;p(UgSa>B*N1DNS>R_!B5xd12#D$YgCa!gP06ZWz-<9W&JE8A%PKP=od9qki&`HgF-$N+I6&o#I?(6N z{;ja452R8O1N0Nhy}n_`zQlKK0oPFYnvm12e)R$~;8fQae?0O|Gq*r*`Y~y5jovi3 z1zTL^tLFh;T9YTd3%yxDx_sK@okWT^{`}@GBXN1MF`=jJg)H8Jp(K2C0Nq3h@NIiO z(iUUfmFR)EVFBJYe!b8Zd(9FHJT*UipgUUUqyD5;B8{8wjv8G{USjjD7ZP!LB~yTI z?Kg{fQUraRf40MmW=!ButkvVA3mPq!lY(#ySX;Ci%_RDe>{C zBuKHzN4^}6mjj16-{!%)c`vQ5AxlhyxgZJo4WRYybbx2A5MPNuVuAN0v-wQPdo^Of zNX|6P1aL8yAwUFNh)YZ3#7@c-yDlHh4~qX8^AA4=5Dp-RS%G{~xJwfRi2Vj8XrzAy z`XJfBd};zL<3M4HxVC0q{lTLz>R$nW^rjm%tJfy&3f7E}3@Ug!u`0#na3IqoHRz>nZ$}#`lCq|AtPSBdY zFnO9=wdzY4)uElkPM9o>`XR5IFdDH6)V?oO7)ZB#Qi0leslsF}_7;r#F;-!cMQvWE z_#sS+TC|g^&_fuuJVeXlsR{$+gw8re{P4p|S7KZR+E8@fYJg2e7=1&BB7HTQ&YK@B zL5q8~a(RIApx8-1=+NQOkL2a(2Y>fNe&feq)fp6(>0ONB00000NkvXXu0mjfwQ0(? delta 379 zcmV->0fhdM1jGZ77#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0YXVcK~zYI?Ucce zgD?z4i6S{t4xa!2+x0kwnBXAoWiMOP3aS~#P73ch{#^m%yVVs33Qq6C3RR#KSI`RMGmTztAH~h!|68Vt=B=RE#$ij~YKoWjhM1W-c=m8)ZKQsa)A?3$q$oU}?AUl4L@x}+|#~UB~)&F}w Z`~bDQAwEIYN(%r0002ovPDHLkV1nt*rwjl9 diff --git a/graphics/pokemon/doduo/anim_front.png b/graphics/pokemon/doduo/anim_front.png index bda88f3de1ac654b381591aee06f5689dc2b1e05..5d9387b43266621e3d8e31d55db0ba9d2ed4d043 100644 GIT binary patch delta 862 zcmV-k1EKto2e1c_Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdoJq7jov z0009MNkl&yLzK5XK!OH_MGb;!vrFC21ajxby{fAHWS7Ev&fofV6wt3yP9c zFQrd_Xt+laet|wgZah@S4$E#5+ep0@9}r?b#-7iU{DzS0GJh`TLfjkn?QzDKRq^>A z6}?M>sX5+}aW*lha4-x$<3_=U8Dpy%3ycE#0Bk-8%^7y7nDs-CH@zEFU%HtPBKN%J z4#R$^yy@y!$uvXo{P(1b1hFLsL$h zHGH{~_Ex|8Nq?bss+l)rY~)MxI=3EM|a7a)D%r*2d0y&x^#xiYNcwSNq2Uhh|xz}S!jR-Mr^b>zSc z{Sf1UNkBcdLgRBqBN_L7bI+?3q2-~Vfy@9eW&v92!D4H9`02+Hp*8`*ztfD{Qebpp z6S$WI2_7J^2;vNDOigvhah&Zq_J~2y73uDfZHZeL5^R1Qk}YgueOUj{3pT%3oIDnL zQLMBA*niAdL= zHwAK@!1^N~UAJ?d!${B;nJg7$4Br+1?iuom7W1@fwGw0I|{ z0ZHB&Xz*U^SqO3-{O}L!FK@sf4^>;U5dZ)H07*qoM6N<$g4nT;F8}}l delta 830 zcmV-E1Ht^T2apGlUw;D|Nkl5Qf)C8;2Xj;!vrFV8;)DxAX0- zu*gmIr<-xk3)fXwaQcDNrkiuV250~sZ(22$mjL%MR!~;xOtE=!4e*ElDqK)jxD!Av z9!+tP1~7RAESiQ??cviz$Xi|Yl2Wd88dnZu15b$8xpmp1py~=#svGzac1HLh2FrsA zz>LjjE-Vi-@qZwXM^)!eT6p040LKFY!y~9VCY(o7Jit=SgQ21m=8H&*XTcYbv0!*! z!RBSMt<-l0Ujkg@TxmPUd@lg?L6ZK$oYxeYPcbsVT7eu}`+J zh4p^@tsU6>T!rMJ%z3$L1zqLt~GLoJ(KUc=u3T#@4jq*!p0ikt+qd%j33&4w+7h5zTJ0aI4A(XxbodL z;48`#u^^Pb+Xet*p8<^meV2f0i=>)6#@_=!MBgP1-z0MGh{h4_Zc!lJ0P48|#{yj6 zqN=mL%^h-k-e9Q!Ii_X*00&|3o(hP00{f4E9Dj}x+B^H$@`1tr#aCf@koF!mPmJiF zRD*y3nolEn`8EoGHS8Tj^iOp5F7K>vaiGQCPomY{&w&#X1*t^j$*1dtz zyGinV!Mn|X9Vh6``U%5MvMeUL38S0E=^ikz1M)pjGuZ$w+Va~#0bsKPKmRC_he4-$BvAO0$S18=||4^Mv&@&Et;07*qo IM6N<$g7l!9a{vGU diff --git a/graphics/pokemon/doduo/back.png b/graphics/pokemon/doduo/back.png index 15ccdeb78824e833c5c58b0e27297785dbbdcfa3..be54504deb732851e7e065fb04f911d9873390d3 100644 GIT binary patch delta 487 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 delta 1434 zcmV;L1!ek~43rFzbO;5CNkl~9Dmx4W*y;QAlPR_Zh>ZFawr5smz+Yt5+Y3s zg+i=jATdQ}-$VQbm&8ms0rfx z4z+-ZM}2hW%``v)fB~Dst{+>_@AqF|8PW)xa7lo8H(c{m;sxcI0ICEW9)J3&1>ez@ zVG7uY+yl3F(7T->1U$|*n?lezau0U>oV`|F3KTg7h}(Ym+p{TP`;>t{5@5&gZiat- zNCCyb#;>P^D`&sOjdpi-zX`+Nw?-?uuT-0|4^Phi2}{)JD!A?Dt1$Wyy-RCUidL~P z{3QzK<4$9K3Q)~AG%G&Gn#sD?S za5y3tqv-1|e0&zYjZU-eq!hMDz9ei?rFHs=e#p)P9e)B~Gk)Pp*lUNUy!^2{ZU#WI zwI7e8-qA^6+9afl#*fkQ2RsK9Dp^D=+B@%_u!-bf?7y`+_=JDntbD@12(vbjzDz^Z zF83GBr4?w*h(I5WA%8A7VmSZ|F~eWvOMZSvh8Vc{DPUHOG-M3OYJ~GWWk4VOkM)C? z5*RTs$}rLoCg{@uiGd=bgVK(`w4ea_#w1G*vd0)y@wfbt6R&`Tzx+p5??&wt7w*s~n zK^hjSO``%6;(s9##`q9uDmH(&bHFo=i2hFtrsHIvi`L#lBxOLeJsx`Z9`%V>=ChjI zu4nEo%Ioj?XQQEakH-H4%dV$`Gh`rGqq%uB8hTu4ykp7W4BvP`P+4E2nU+q)Z1~56 zlYs~Q{dES`G9a1l@!(|O>;AsG8Ak8NKzpF2KOW?u7roQe%lyD17zO-I)w0 zTjupcQ-7)FPhSd+i1kDssFrmtrynT&v$unKfrybj=#X+7>jy2OntB7)JlkHWHYisG zpRloh(86QN{wi5eA`j|+_wxDykz$YHVY9a<>r?t6F9xne&ySDJ>4*Hjo1n&fpB#}W-e*gz`Nliru=LQD?Fg0IuYCQk|0n$lCK~zY`?UXxi!axv) z9ZS^F7;m3-;sYd04q!ogkCL&{q{KIg#NnW%v~qinRO^2x-2Z$G@{A z$xZ(f08Gb?F;fH-MPUp@<9B@CU|!WRU@pKbfQka#;___*Kq3M)e*w%m10kq-3SdR! z*MU-cfGip>RuuroTTC7~&O=0jbOBd@XJX1ezy}``Ie-thq*cp3dSI4U ze#YFAP0Iu{^dw^4P-9EfS4B6!l zJ+KDq{6El44fXkF=75%Oq`m~$W98zUf>*==I2wU%@&KpcuKY8xL-ih*=@WuIslsuO+4|NPW1;gMy@Z>M?`f10000< KMNUMnLSTYjs^p#k delta 532 zcmV+v0_*+n1pNe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oF-GK~zY` z?UXxC!$1&*7fY_uIN6>x_yDls08vcu5sXDc8Q%mchf7LIi!0EiOTo-OVkgl$1uY}l ziZtKO9oyu(3;S9)(Sin9JQ$`4cVhm)?A`-9s$Ovab&a9l8i;uX4uFRPkG7IGH zXJwZ%9#(j|!~>AqOWs-}I=^frFAezP4mg=H=0UshoKBV6j{qNket$1C7dRYinA(TT zAWtEerPSdkY8di$y$rn!(3*j-u;cs))P5V@q+6@oZ2)k{vlo$@7-$991>lVjN_c<| zcVu+OGX@}^i$$H%j%+(7pl$Zs-tU>iX$a7vro*mpBA}fLI0Dx2(f8jG(9Qr*kU0We zqVL0ud5})j#Urq92I|8t$2Zbk0<5w2c`m^g@c@oiV3`8IC3q^Yq;nGm ztF{p!hy;249U?l$9+4PY2-yz6MwDS&j7OlMK-ax*K1sZda3ORAHXEAw#Q$R)O8o*f WMy@Z*jm)?J0000T7zqRe0001qplF?uEFbn|w144O#jPL;#U@zVLw@x04_*)(X z#D0a4<+oh$HdFgdn1)f&|%I<*3>8Ek;8=!D4DE>Z)d zw2;V!OeX0K1``CtS;&2wr6i8pQ5yFvqnYwE5WI3@GK01|Ve%La7-AbmF({LCkuX@h?^^E5CovpEbExcN_qU%tb)?(ki{$->(@KuLzR zm9_Y?>wq1zQhDK3p@3SptFkbz4p1&2F^IV;1Ws<0_+zPlKsJsz`|+qzOzU|UlDmT@ z7_V3Hbhk@hR^)(2ZV)1VWYCKkCW5wVWBYhFdCI00000NkvXXu0mjfTRpxX delta 328 zcmV-O0k{5z1d#)f7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0S`$;K~zYI?Ucb1 zgCGn<1ui)_+5i9BW)lQau``{vC-!m{brx;@Eq571-{l0jJl(8+GE4dziNGoWIKZ_xkAX zdK{!X$oee@k$VSme|X~{%^xNX()&C)h`57{P3#@S{Q;LJ{=oRPKXeC~`a^S&xj*FJ a_`?ggTp>57&X&{w0000oWm diff --git a/graphics/pokemon/dottler/back.png b/graphics/pokemon/dottler/back.png index 5420f771fd1d871319d1d4844e24816db1c738c4..72b66eb1b64640328cab8933c6002b58c113b185 100644 GIT binary patch delta 318 zcmV-E0m1(H1MmZoB#}W-9RLS(Nliru=LQD?FgPK?7JvW%0aHmtK~zY`?Ua$5FMq+D zf2ni-=Rarnlq{Py>;GDQ8=OgiwlN53N?e+Di){%FDhjjk!@zmyl)iX3R6ZDnhnX{XypsPKZ;~p9ITD$y37R?gJh}1K#}q;IBtTP z#OYp%fAMgi@BedlY+3)>TG?c0V;v}-URIZD&=o@5R}yf~)Y1m{P z_-;b`I)CCelJW903g3e0BaRmY;P5Jc;uOhp7R^ zg90EQlA?T%SE7i@0uBoeq&rT5R}XO)K<39F9k-LU@YSrKV^h3Q3Xs08f63Q&=cIIL zEjhB}v#-=4Pwj`1>F0EaJ_#>bOm#v?ozyMMBVMwU_v0y%NyVY93IJsiL;)y`5&n!l jGTQu(Ir9H4-%|YoFmLSDG>OZ(00000NkvXXu0mjf_;TQu delta 497 zcmV3I{Akz00ufBNP7!6FEkQ8dAh z5ZTvo=r-`#fX-$1#T}&6^?Mk+_~Ba=tti0JMfSxR()A)->K^lG#oGGMJj?7EvTTB7cWdi1nRy7ZwlF3w{UYF@&P58Iqlx=;5Baj6?0#rs&NDxOqXy97WL7tsJJ nYlWX+ms;mrUW)wdFN%O{0x&zc%SSo@00A0FL_t(I%jJ@>Zi6rohIs=& zP2RvlWGRyu2Brux!AqdXFfc{PH+6`RDuz52L9~OzK#*AC-jcJ!P<3v--6#KNo$vF! zzjv6~)H8n}Y%QU5$*KTUGuaD@1DyQa0^m{>4pZq}6o!2RpC&i35LueZ3jUi{ZwE1W=I+n*pBkPzputyx|Ms^u>awkT0jRyjZIX=8O?l1Sl1O4}L_tjeLUWhYb z-WP=9*Fx@XV3XPc2yX+MPNCKdfC-GGo&U-ZZGf~SFbV{f)|447o`FD+A73^%LML9J zVso)=Kz^Ve@-!Tk!NQNesUv9*R3UF^QO8M39gaEolsC8XWAz}v&o_u}n>Mjjq}%`i N002ovPDHLkV1k(8idX;u diff --git a/graphics/pokemon/doublade/anim_front.png b/graphics/pokemon/doublade/anim_front.png index e5eac3925a0796cdbc93a3bfc43eee4f3c8354b8..6f6d8fb495e9fb41e61afb06cb5d5a4cd61daaad 100644 GIT binary patch delta 1414 zcmV;11$p}03+W4xbbkN`bV*G`2j>O{0xA&sE&)GqyQGH0f=m?@J-E$q0nZ189-Ulh21AEH zr^*Q&+)@&*cq&}bf#>AZ-|tDb^&HEdI+PP6Sa~0Rzu)&H@_+kk+JAiIK3u(?G3%>= z{2Cx*TC0J4^*V_aIfkG7(^AHI2yI=0hC;vzqE40c+1(E|Ia!>K*~6T}_Kn zrA>TnTFWIcLJTaIkP!%A_Hqe~Kp7>lR3aZ`j65QV#?lB0iRR;F5fT#3R&>vl2nmTP zAeH73<`PXFd4Du@CBj@H1~#~^Mwm+EWyFM`r^&xWK|BTKYDtOV zZ$}ydqCg%9fH6n_>@)w5o>p`L+$Wq5f5nX6Q(Xae{eOLp8Dije_;>!F2mmOLxAF1{ z0Rh5*!l6If#9g||dh?r?2alQCH4FiV=cBF9>mU*qcsfU0{TAzV4FEVST^Cx7hM@v& z*x~zR;kvEsmwnFpb^>6WgT_u@0mn-?0AEA&zSF!0RMdE#sb3|?0|3+3PEt= zhclu)_6B1^%q7YJDqMzPe4llL?eaG6brwQeyuKYxqFcu+j{_9d)-;3o9_Si(6O zjK{)tJZA=6phtLl^;$|~#mTTT7DdN9n|ge3Lw^>pZ!e`p)*BAOGI$b*Bp6v-h6qe# zgkfb8OoZ@;jysM4+C~^}1WzfPR6;I;q3;|{UZsQ!FGz#$o4JzT} z_pm~rp*#iXsWGTX0)O<%y9s>`f_R_tAu~yk4}O9qFndgrnBZT_?}iY*3&!`}7W|%k zNq<;zIE3SQx^p$zLk~lV+fv-kmJ7 zW~N1mQ`XWQqLk*Qt*<&u3{hKg*fNB^vVQ_br=6-mkHbn=$XMi&UPQZjyGkJl$aatK zt!ID0UV$OPRseHZb zf^O&w06hq+)}fQwgCEXRja;*!%xQjo-PYF#{Ni69^wbA=@ND-L zZ#-rlj_syVDvkElmuBO%zhB_ExPQ;-DxHt^Re>h&!>L>=(61x^RbNfO+dYklHUI%s zgA}0Irh6ppQ_2B3$b)}Q zI$Q;&WBBUwj);qsj`FnG+qg`G{#|%=fwkz(*=)E+V|gNp3Idn6C~))U%zsrzFSY_q zfwTDv8xdK&ITJ|*^q|Io!~J%2hn2ZulJgUGS!!lsr?g9t^f;51Y{0oiNQ%eH#^+X-{KlF=#0cg&b UKz|V}{r~^~07*qoM6N<$f`J^2<^TWy delta 1400 zcmV-;1&8|S3)>5jbbkd=Nklk)9Il}w7Tsi_hK3Hs*8IUoOm8Qmwk0&M&H8Z*Sm>GN;>KM(-W(yRUA3V#6s!hp)5KUv39I?8_M>lX)) zm@_a80f*<4jn8&Lq%81ujyAk5>kkY7IILY)y6v{10zKH``()ub-Rl<~=X^5-FwQ|^ zr(HuhNc7qV9H}UYe7JO@2lS%juuC( z`Mw|gm48Uor?xxl4UNSK3GmMoHx?M~XbXgsQV4<@KTL@F)E!L?v5=?-sBjsE@pI7$ zHtU;s)+B_qcy&9OMUS>yp9U!4in#;=!ALl&=YFQr7$9go5~xDtpY7+G9~2!G6EgmGgQ%!F{qwlj?ZIz|{D1aB#v zH9|nA1fYF#2}#0s8ew%Bh5!kG$2bS5O+s9tK_i^~7B=WJ)aL-bH3khy;6J_bc1E9r zAUQ(7=BOwlCbJ{4E6f}y2WOZ-1y1 z46X9bb4q}-Ujh%gw*+h*PM%pivKR&Jy;M=DI4S<5B@&sa}|gm;Og>@h>MfH^0wKV z=z)d)U3hhYwdnO(GTh}xVkSgpvHj1 z{dRJPmBsf7P{u#J3FCD~4j1k~IBGwDxIdr?5*I=&15rBw*!HPdO%bRsHw=6g4ErWt zRp3t{3y2q$HwXakb(F-b=3i*EpIZ``uWO4slC}P8{o)^J&X+*e?|@4H0000DLH4l?@Pga}KJ^=V;AV9SXo0&%3!>=QZ~_Z{wOsWZj^OaS z2hbVuJm@x@zOZPXGq0G=Pb&@46s;p#VTEZ4Yfh8`sdONNc4kTEGY!fk1ae z?`k*!3J?Z`w4wsZ_e?+U;tr@#@;x$B&Z0$J0Q{~%e(<`JvH=%_1Pn)@-8X$|p6R}8 z2ME(hVN;Y!VxF3sV&ODoFjYb{vS>T1O%wP3-A{#((sr2NsuJe!F9bjWq6HYA`O3gj zmbL?&^5Z2M6OYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yRlQK~zY` z-O|B|8bJ^S;C5iyYs^gUZedWTAt0LUJ#@h=X%xqKhZuY&27gxMv~>x*F$hdX-l1A%E6 z#P-MMAev=?HK-w*4HyKbq=qcH05~9fE5d*S zXaojlr*r|-5C#_|(vV1%Fzu zx(z3A{NE#Jjd&ik8yc`)@Y|}}a9U$|1YZ`NhAuFRZa@ug)(-rCBG3u&z-L3i8<7sU zDVMIDf%_%28gjU!HQt%^PB^fO{f4MOOTWDd-O#5;^?f(@10qBmKG3~cz~GkjuAh0J zKtMHmMt(0^rT2G#;l47A5QjE2fmCEam&9-W-c#IfNOR1FWu)p<2TG2fbAOTqe z9EiUK7OHR^;FX__tdRdCR{3jr+#LoTfLKw7`fzX;a5%i4OZsn*5Ptya^c*-Z9aq!< O0000-X@gY&_KWjieP;IaW$Vk9)$bY~=K?16*1w%<8si-m% z{*`+fz6>N}4fy&v%=|fuTB7lBf1EA@p3@Tkz|c93QpuBCK;5OIT*t!>AWa{pAsYEc zuggDgMi$f^JfEm&0I$j2z{LWMoIhIN1t2VV->|^RU0zY9y0R+HeN-&r;X;FR%*R(U z4+JbMh;?o3n|}omYk%~pOzS;FV=1gw>uWEm4+Nq3->qMuG5!){baiUJVkJ2&)CP&c zwuopzZD81%BHYf=21bK@{ydYS3k=+iAK%Qyn@p&~;hkh?>+_T^uY(JR1jCu1%$WpyS{oq&fy9RL8-`a$!ImCpr$)0C7(2 rDVJuC_9d0O-L<(;?(moA`D6PA&PEe~EJ|q$00000NkvXXu0mjfAxFhJ delta 409 zcmV;K0cQS|1nvWnUw;94Nkl5dr6ovf;SEv%18Y{{JRLzk0p#v;cQI@im z2V+3p^Rsm+5lXv8iJeF=1bTao4FoHDYsp}JKDMrpj~V;3255nLD=dIo0)|5lj$p{3 z&O0#X7@>@7Eumj^;L+QNL*9a)uVdgZ1ZyM;pAM(_Dx^6jp??pIo%1B)G)VcT5kWlW*4Z9zXmxD zPEA)VIfVtgAb%0ql`)R63k+FPM!SVDfl=U4yat^0fq{qV^M}58oe6oI-M@=IFifK3 zx%>*?*`EfnRyVf~FORcP3qZ#Ku?Hp&ahv+OkAnfJXW{^>jjq%WRUBLanFc8~aqva8 z)F4Sx6$fkqyQJonE4@eelB)fFXf9NH+im-K-fX|lMiLW&CVVBHJB>U z%xf?|?L>z;bprfy5+js<8hN5ykYH;9;u|dpP!@&mAuz7!+y#iSOD_^^O%V5uZ4_X+ zDGJp@K;y6t)-wZ84W<$-=%5C0-FwD1DL`lYbq!(%AV2oce*#Plz=jY2CVSjG@I0LJ zm>4|@aGM~!!V?I7&Jz=`m$irzJ(*8$8-Ts;MKASGz7h`;KWc+v>g9)#csPt|Fs(s) zpC5`5Vl{9S4HIKZaia3=p?F2tf7yr83E*WZ@GFf{&jd#WMgsh{!AYJ605cATsT;ha z8YIXD%W4Y+T)M!Hff5Sff&<-x1TY5NycGj`_G@f=4Okbj0taX^vcOT?jFkciSwP(_ zTwDZMwdn-%6ElO&as$!j)5p0B9Mxy;Y=f`Ge_w+^7)5J$g#Z8m07*qoM6N<$g0XH4 AcmMzZ delta 626 zcmV-&0*(F51=q_ z05bip^5uqsxM_mLUgZJsiNqNCbUJ6A{7lobEO0A$38ul~B>w$>xhjhd0vf^Lb#(#J zLRnUMj0(&YsOL3UocGva#;m}3IpYY$TP;s@3li*1Ks}=c1Vx_f9(?19E^L4ryYwQ# z&IHlG*hU1aZJw(pd=>?5u$dcxX)u#u$%Ykx>)toENdY!LY$_000R4V=Mldx19|8eP z_PBizc{t}0HF`vUa2pe6?MxxWIgd@iU)C~=^<*BqtpWbJm;J;g*%}|lUf2es#LbRl zd^id#z_$TGa-SXZG2u0wFdW6klz5`D-7$Y9-`?S2&kEpWDeyB16W0VM1;z+|HNjb) z2LN*cMu{D~k_yD630CC}3Uq-z2L%*xashM;62KU6^VS?q9Qd!X?N|Y?e*r59K&Imc zIN{A$D_{fyb+?@SDoD$1Cy<|*Ic%04V3$uHmo9KppSepDd?g6^2Va9h7{TU=b^rhX M07*qoM6N<$f&-Nh!2kdN diff --git a/graphics/pokemon/dracovish/front.png b/graphics/pokemon/dracovish/front.png index 1d07a436aa42b721d73a33b4d4b20f8014b6827c..c0dc771aefee844dcc743a32d1ebcbdce3dab370 100644 GIT binary patch delta 741 zcmV-~7|f5=Fh_J6BXD!*CV2H15>e^vVxZ}UP(AzmL~ ze3$}-;C-_O@Qwo{$)TGFHEP{M*cG5v1hqB?T@H{O=%2)OvjXiDbQAy~C;Kb{&B{Rb z<@DsBjhqa4MWBn}Rb>9#Fp_`B z`+Z6aBdialw6+Gke-HKI2&<8S(pxg9Oo2jvgyCd;Q>@sV020a>1Abc(3nh$01cjj z<5!9)b=1i=xE4CVmHk2p-NEFT_m8pTxwtO{J&ll_?qk>YeY3Epu0W?K~DhxRNRa_@Vi@Imjb$9fq!0TdLZku{0Fi)wmjb@x3Z`{BX6(Et0}~GR>thzNND8hY zh!>L~->{y&&og1|iFf_3w9sy!`za Xicw%oQ_bZB00000NkvXXu0mjfy7F13 delta 745 zcmV{@zW`vtbK zD9sTs4?OQM1~~%zdKKV*4Famjq3M*?tDQsGm7tjg)fR#d0;&eu2YFvFLn{XD96+g+ z{AK|$5|CW1t{Swcl>jFTG&#IN^*Mu56baSq43g=B5zonEguo3G66A#c|{rou)zSI|~r$9a_Ul%0N&b zkF$XGpMm9;vne&&PBz#EJ@Cr=nGl-gv19BXdzNE+JtgQ8#=4s8*{-Vq)s`3Eh(QM= z`1UWb?F87K?KRkcBnNB|zv_D4X%uCEX1fUdt_1F>d>Coqc1R4qx?TqXqyaHva4kX4 zUjUeCpvee#b3Zch47X+gX&`H35&048!M=!7{PvR zBtj7?!43G)d_2GnOMb5aWEA>ysL3eW2 b{g05}icw%oJ@!Ik00000NkvXXu0mjf`4?A* diff --git a/graphics/pokemon/dracovish/icon.png b/graphics/pokemon/dracovish/icon.png index f998dea501bb62dcde5ad6339d87ed7f1ec5d79f..a9da17759e251b5b4f758ab2f0da0783d689bcbf 100644 GIT binary patch delta 416 zcmV;R0bl;-1CIodUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldq(X$L3! z0004UNkl*5JKI87+RY|er8HWyAS{NklqGH^rBUVh7 zr9kZpY`>iYWE%{`+BdH$5Mnrzcbxp^tcHgSgDu$JYM#}+*jRbko9i6##ebd7M~TNC zUo+6xQs~ru8pqc|xa^Bp8_6IC5Ro&O-O~&ZxrpdEql0YK%i&RFyJ} zt`+tRVZf=gCn-oSj1*+KlU;(aTo|&$3n+wgUl0LuNkl<>ICaF@ zLN96;9n(e~v0{oW0<|l!$L$=T*r7+;v3ZSvkN!m7k&GX+p41oU?ZF;xmRZk}jg`Bj zxy?bkx_{BrNi-7o&l%`zF?8x<9){OLQaM*zZA60{K)^0wamzEnOhgYx^v7D3(xpL36KP?Q>%D@5HpMFY0GA>U$0~V~n=#xaIve%@;sPY* z^Y;&f1tDK`IpH}VJqK`5xQhTNyl@G~!!rP6L<^0$5l?lDt;V)+e_a3^UPHFW`8CGa ztk0+ZfB=ZXBWH$$B1uQSy&JUU^wez#WUcY2( z9&?_@qOgw|iYZ1UR)Fnv{0K<1OQzdPb}0kW7Y5*t{U1Ea0CDJAZ>Jdmf66|m$P)qxdHcJt&GIsW_J!D_?B!L|%uInf0U+y0zR(+C4h!Bi zhvzcN)axCpLi5B`jSw}L>h{i;qA`JV4f{Z#L`a#8!~YX<>OwM}D!C<2;TmIDkpKiR zs-T$rQQRPq1ge-jP?(UcEWky%*Ppx*6%7E8#@6HE9&Ukxe^n7j31iS#-Lc%e>Mvl7 zfH+;(AAV_Ig#cqyVa(Qwt{Vvil=v|{|E{w~#Yj|RFROp*qn2EhsOZ~L0}iF1y6X>n z(mouYP|-h>@3!vB{<-U}bjacKX1pNmgL?Nj)haj)xI(E@-9 zzxY6$b^=h*Ee-=J+_>>SKG?UZj*1e26S-EEW!ztP{Q(3cv|$vG&=&vz002ovPDHLk FV1h14{k#AG delta 579 zcmV-J0=)g51*-*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t87!K~zY` z<&-gRqc9Z5ZKUfQ2TE_GreX&p_9K?1Ze38jR0;%n&J7gS8=}hxxDNerM0elh-ZR{_ z3Wj`udI%El=imSNK_H)Y(clu0Tml3roJ9Z>Zmz-4 zAlnt<7Gv!3Nw5Tf9SCQC0f5b-0#7^#Kn+UaJYW=wE80vkTt&foLdG0O#d&RazNMz_4d0_Jol%mqQUy8c#>fC0)Z1Axz(j*+@Ez3@)ranv|()a R4W9r2002ovPDHLkV1i_&0mc9T diff --git a/graphics/pokemon/dracozolt/front.png b/graphics/pokemon/dracozolt/front.png index c82163727944f2d60ce5773904a64674b1859c9f..6355badf05a4d11df47874683493bbdc020fb1fd 100644 GIT binary patch delta 884 zcmV-)1B?9Q2iOOYB#}W-e*gz`Nliru=LQD?F%52Nf^G9aWW zr39-aCq#NM6QdIW6^P?B#ndG3IwqhJ6^!|!B%0Cc&#e;CAhrz1HLBsa@67y$3-+Lw z4vTtSO#!7keIKWEe`gOsX9-AWD6Lv`s(YYZc7YK9qA2RMxJ6S+xeS28yRs1kf^hFq zriKwKS0LDB#+&9L?y&%nK7FXgECpi*pr=$AR`VeefRJ3BYjXm%Jll%^28*`Ai zs)A@$Z4gEeF8AWiN_l?TshA+i)jqcEhliNBaXw^>mFLGze;#CIEkm<*UxoPNVT*Id z8Jiuu3Ls6>RBzaDVoA;c48b&~Ad{EuKCRdFLf?x!ZO8crX4Zw8$9+sesC}ZeP948o z40&@phjdBSVT_Eb5~b~oZmuuKW4Du`--V>pDy{3fW&udHohyDehH~dP{LD`%xh_*g zv4&xb_MH)HfAL?p2)SYc;wf5^Q&fhe$`_rVjJ0lHqtW)AbMf8FC@odezR=XO8DQR( zA_yN)RMWGFx*%H|xw~}aC&IP|(mE25wK+f&z@Z#XQe|rdpD7q`4Lvy~2tdXM!^vTb zqsdlXofK@7#7J&XOu`g6pJu~-|0~iuA@(sLv7A{{f0!#4{^}9dT5o`8AhPd))&i(7 zwqAgQ0plpJh+x7^!2xLiFv(@oo#P_7;s8LHq%ckfS1|{i#fe*<`rt$e0e&!W!K>w9 z&28KqkizlU2j>ew^crE3U&qL+hwgYV#;JpB`xXh}#WIlOZYClW_3HdI1Vk@Q{pKye z;hXB#Y8;5OTBwWj6+l2U;P!SN2I5U{j1Y*RBrId}=Sdhw`Py-Q%qP5AgsuZbVnAiB z)TR9amD;T!W${pDV!1@h)FmeE)Fnxk9}v-J8;pf1UApuTVD5dsdv|`=!vE8ve~C+Z zc&|Vb07+Q^l=ZxzkkvqcB7Xr2*>%C*(iDhMASB;{!$^0Tl8VM|(NKNhsUT>SNyCs2 zF%}}dWkASKN(oj-UWoJ|6TKS&6^P>u#nd3qI;Nl+74-R{B$`zl&&@JXA+`*}>r};W z-x-As2kgNpT^4nRngL2R`aVJF&K`j75|GJKS~D9|b3vuz06hSIL{Zf036rMfN(BIe zcXcBO1mWJJY#k$3sY0;F^f#?T+-CtGefm(3nKH%QEIxZ zexd1SK49*dA_xyqRM&EdIv`gXJG*q`6~eX)G8z()xj95rz@Z&YOJ!>epJ|wH4Lvy~ z2td{Yqv^#K$J4F4Iw@KPiIM!Ul!6pEpH;(s?<>+iA=WV=vAj`|nIjhd>JipnZ-Qtd zvhRZS0;n>7wqAsS0b|Rsh+x6ZzyWCjFvw-f$#D@}aR49;Qke^Mn@* zrq}DY#%TJZ)zM!r01+iyXx67!yZvr>5%W{z4C9Qbx`~T3GCX9cTClI91*#xd1d8K!7Rc$P27r#XAs`1K31-gKy zL0p$_e&f1C*Np2$Q+!k`avW6@XW1^ziz3W-v%W7}7T??2XKQCZTzpqCL5>r7pFgHOG3aU?AZu< zwmIZj3bLmdIGNZS3U*qS<)0comck+)@+H6gV*FUvor5jrfXt^>Pk_0mr~EP3^cl`D zH7b%Y$N8R(MF8OhhnPS>b=D!2Buxuj_OAN>pco~Xe3e(qpns~_2aX@PrF(Y7-hiPl zeu?8bd-hr% z?Ke6dD$Ez?^MhMm1a;`yL(rwg38grH(iI>GYTh~bS4L39sb|~66?CkvVsd$g(-i_n zC>SclXvIfehJPmV`}n*4G_H}4tGk^C>~%K}EVlf8|1cgUXab`JjbKJW91Nf$QG%EN z)5<^#5@4XNk%9!6vz#kI3XCYxf+U!=43r=VM((KunP8+K6O0sOf{}un35*sr2g5s0 vV0ch+K?azPF)qje1FRMjx&T8T3g!>h$wBB+wQAJ>015yANkvXXu0mjfDS)+X diff --git a/graphics/pokemon/dragalge/anim_front.png b/graphics/pokemon/dragalge/anim_front.png index c5305dffbb8f2cce330172ed4786814815a2094d..b71d8603d0304bc92c6fc383f36e5697d543e075 100644 GIT binary patch delta 1428 zcmV;F1#9~33-$|;bbkN`bV*G`2j>O{0x=K`Y>ztt00mh|L_t(o!=+ZSZrex@r56HN z=M-GMH;Ciq#g%1T?aPVoEqK-2II$MgEG4L7!y#~$8i`4&G=dlYgsa@>V(_DGc1cmP z#HEVRfFWrfXJ%(+=RMD>pI^N8=j@990sXZBIs*%9ws*-C@_#OO0lGcz_2qB9Hb6(- zb=?tq&qeo~sD4a(R zw-3gC9KZ4b4}VejmLd&7jT;f2D0&}36aiv0;MN4s05G}O{iu|xt4*~MNDu5B_=>() zh)y_^fH|&cp15B^{1_A1;;DQC%%4!C^gSMz_5_e`=kGHNME>tn!bGZ6N{8ZPC+qIW zzQ{hkt`d)#MASIAh;e6R%EbHnNn>IPLUB_SJ4&^Ah^LCHmk}=m}s1dg=?~XoUK(N&<#-fS;x3=-W^}-SN%Qbj5`6( zdiDxl-~`NH*Z=4M+&QGPIHed)z!WhN>cyEPqmuvrJ)Lk*HQPmun9fAHor%Loq__aF z{4Nv${C{Hz(1cMRQoTThV?VWp8}CgpmNO#e3&5o}B>**Myk|~?ZDOEk)-vNm)kAFu zoJQVy2!3$W){I`a<5v#2y%E*{%U|q)uzKvAn-57f6zto?dyAkUKs!g}6R5%>85jtd zgP9vtFKCwM%VJXcB5Qg6HyeXNK#10*&tUm-f`1p_8$W>v+yGyl0@&)d06fzl<{UXs zjeV-A8=x?a>5d1@0H(^OVxBveY1wlExC#lTIh3VxreK<*Fw0vGX=W>J0od8%EoCBm z(sH-y9Eq6?<_5s2HkUB>f+70l?E=6fQ=5V?fKE7Y3jpt3kB9P|TS1)luKHwmJ2>kR z{eSkZc>ktB0@w_$41e>!?1uwKiX<^8%J7JPJEdai-jV~dkB<1iBdw}N_{ zM)!Zx5&t0ijv88GRLbbD@UCYBL{oyy82&Z_K+4C9hCR!M(P;Rd6hss~3QQYZoXg?I zUmtEC4JX35aaQ0qdiX5Lwbd*!M)I+|I)BZAvJ;L5B3mK4^k#o3MfPQtB@R0k0`Myd z0J}gM&e&kxXV30(F5Zksie$RyPvi$+EUt z(@O1Wq-wc;p^d%Dsx@sZqV^bx2_rv(iZslsFoMIfMO|yV>jm!JUL$7?wMcC8tAFo5 z6Cy3I>yDgf#aQiDj3}j8P?9z6X@6Ph^&Yo_XIwzF7->((bFH;ym@V_N)MLx-Vx$c; z(|T!S6yKJc070HrJ)YufuAgF@5aeRp5AFpktXP?0w$v+BQ&R$7(>q&P+AJ%c{yI{@TMmFMLInc+|P z+Y83ccmZsO4i5I674#-;#}4u9fDZaU35ZVs{N16Osg>q#J0#$Wz*>nl#-yEbPXhd( i26!?5S%Bk^{{yC&EfO6WRSoC>0000T7Qux7gic=682qF9z9T8g5-9`C889s0)A#$n_Z(+?esWHq zvrGIE_&Eh|2Nu?T-@{eNd%O$K>vJbizw}Q5Ty@jy_Rtq@cz@GtGY|xIh@tBB+j0n1 z0LBccB_7br{DxrPOUNgn_G2MM@10 zeY}tGtt+I6dz`^hA`CG^SE_e~Z%6l{B~kG{y1Txk`(yvL4RIIsuHk7Y^tct_M$y|y zM3FG29dJ#~Gk+mWa=!bg*1GvKK&_;~5jz8(#^)O0hC?MxZdRBl?o|*kHi>BPDBr;3 z4@Rc=9FME}L>S)8-zPDU`9BW{ld0AzlH$0>?Ji|cW*?qciNh!mJ@(IIv%6%P{C)XQ zn1l)fzp0MR-dr$)&v{Win9TlH2#N6aYk=Zpg`ltILVq|6j>JK+MEwmIH$rm49GoUx zN!~b5rry3ifs4yhLCKjGd$E_`0-6CI})ZF?vDU1dp|TIof0$9_*pnN>2dnZ1EFi!hLe$Z6l9_W}|aEU=mJ* zw+HK9FrZ(4S^zk>I;9{8;D&>40pPsp^H9C%RuE_X%K-P?2G07R-~J^JKDI~z8^I;< zH-8UQ5FXKY9U>$KybO={*R2#o?-~YhKRV)nS6Nl@77`?A=YPn8(d{2d@psU7)Y1}C zDWgBbn?4DMwg4Gj{6zvlsr&PmJe>kd{1MFgFx} z;R5T~I|>sD0n6vhhX>Le*bzs0LLoSDMhb!B38PX+KEUcE5gsgS)0)wk1s zj`eQE$V!U&6&`emA;YQ_GTV%fOp) zV?t*Crsea7TWpgGcyrU3fRnF9L4Ow53qaXu1DHl0>jiYsmW!P@H5bouZNisJ0CLny zCObf!6zjMKEYinvO_gI?P3nP$M6pR|f3lp*S+U85-OF15i0q=6JzYF;Kj;3enA*A8 zMXA9eiFhnG<&*C(^yYDD3oBE;TNE1e4nR2(7n@BvwF4o|goeC+X{2m~xPO?JfXyei zyF_xyb_VOJU+8jP>V@9`nl3d*Ccd7R(|jQ+AKNDF03u)NJg+8*hCg{>fNF#B5~3M8 zaj@^Kpr^1qc8Iri*g^lV0^(Ny-Y)5OYQ@|&L((22Je(lR7a{y#fcL`yC+0s2=t%NE YrkE`fD%IrQ00000NkvXXt^-0~f*5G0?*IS* diff --git a/graphics/pokemon/dragalge/back.png b/graphics/pokemon/dragalge/back.png index c713a407548436481a74a757a4b3197326e8ef2f..1dbc7ff45c1a144df2868bd50f16cc217a0121ee 100644 GIT binary patch delta 763 zcmVeo}K~zY`g_JRBBQX?) zC&DnT7v}&%fq{W-jB^09jQ0S+@&Qb&+N2pdq;fNIt7f7TEQD;6cDpoYjkexqeV2Vt z(!}E#1q&NIdY}IH>zBq!^2xYLE{xGIK0laV0_M{T01w1y+_&Y{f6Vy&Gk}b}1V@Rh zNd%Y-Przsr@o+O9e)NcR0EwINmjGM^fuiUTFh9c{p+mv%0#{5MjR0VWLBRt6b8`@b z51CwZcyPdAw&Hy0(*c5W;EUwuwgHOS0)EmaKNt&GP>|b&Sn=s-2vaQ}nKcBv6)@(L zp_}202KWxk+>*O%e*{F)1&DBj;39Lts&IAw?IQvv1iBN=xc8QpNt*zXq5-l6JT3%H z&IxGl>nw0>Ajw2;EYDA(576_|WZgPDt1=4THnTjdC%Mtg7{geGCH!{uNpAcAncQT( z{y;ESuQx^;qq_~f4FsTSKr9pY(>PIjNQ>2c8db=H3KQWCf9li`(9UlrIxa}#(TP03 zu6rFAOtR47iRs9j!zj@%3IN_&^zF}eF!J>NMq?7DNvpPR(WJDqTFYH+okY6+D3-2H z9Uv9-u)oSAl_x-!kRioWHMK&Q_C=ObwE(p<%pJRtTWn(wKa^?#sd9A(xFnzKVWX<{ zbztG*)ZhSbf5lh(+tjTK#k^$zwmxRU_GW!L2uKz!r_g=dX-q)k>Pjkzs}G<9G$<7aJVXF=AR)62MEm&4q>gO? zj)hc8RWGl0zm0F9%26N+PzR_I1YQr;?sv4`0edLyaq#n>wH=qldrGD2@bc$)>;QQ% zoj-dEJ%!xgO=6(K!2_&kfmCZ!2af>ctZRWh!x1=-M+X?zwSXC5jMg5He|Nbt^gIQ) tl3)?;DULl{YTbz`{D*l!YNJmA{{h4=nHZd?>2K~zY` zg_J>R8!;G#Wnq}Di*tZMfdN4`#yNl~;~pSbK7gsU4%v)cvhrr+tu_;#pb*kcw%ui8 zYSeW%^hf>@|uAH?R5kQAw zDIx%S3lM`JI=vF`#RJ3nT8NbghCm1bd`YfvTA-XS;nzHv4-r_xfs)=VsyGlBIg8% zlr2y!;pM1+hYYo27{=Kt`??v!nu#Don<|pw1it zlY+Jxy~sU0b?5uE!w!l53SFDO#8V9 ze3K9Eu+jBt4%Z>1=HS5nt@!MI+vcqRnES{8Y(veI?d{2bfm&!5BWK{gHL)Yc&Kk^H zpi$d?hZG+$!^j&bA<;26BmkLiv`z|S2-KOIyJ@rVF6Iaws(#Y@*l)6nHc|qm0kb<002ovPDHLk FV1l&UZj1l` diff --git a/graphics/pokemon/dragalge/icon.png b/graphics/pokemon/dragalge/icon.png index 0e88b2bb6813bd8e310c9e9e9355fc59acd7d8a1..3cdf843a76d8584eded4d17d246936ad0baf57ab 100644 GIT binary patch delta 349 zcmV-j0iynk1G58=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldq^3IR(Z z0003NNklb>!3`KPVp3X}LXX8{@_hJis>yQI<(lz42gQUeAj3U33T06FZ z?u`aP`Xs+Z;yL$^7Uk1@&JKHFzBmlnWz8+*)@%Y%Gf8YNTYr2(Yxg!igrV)5ILTJB z^e=ro$?$lzm)j(=dt`ZwBC!ad`km#<*T~*-y_OyF;oq4vW$HM=DKkr8wJ439CDO=W z;nS1)Y%y;bmy3g zv^HRVA%pobNLJw0=6V<`+*7V+2gZ&^V2ptiFgO8YQ1Op-Wd)`rt=8P3080rtG00000NkvXXu0mjfcWjyZ delta 309 zcmV-50m}Zf1B(NYUw;7>NklyQIv(lz42 zgQUeAj3Td;8vg>_8xDf>L_UecS5^NgD4otzs<0QPONAc0tf_(A>s27CM+x<1y`Rz8 zxrv+5H(eb@Sxe^bt!qZbu0%l1>K~zY`&6U4y+b|Hu zW$*=b@}CCiQl156FaldtTcGHqM#yRyMLZ`dOmuZRxSNs9nfnBOg9I6cJcQA)Z(;ZW zdOXsOC0Q=eDK{D958wA4DV{y=l~n`&0f-R1hHu%!gvvmqOnmUmf9kv-Fl&Z}5bZJ` z(swM;%9J5QXH>D5R-$!|M8p-q3o;f}*ismtLo}}B3saT=>>_p{x~!x`CjqDufM`+z zfZVMFf{Y=ECRat^y&uSJ3IGF?QmT~VajT6P5g6%_2gNpn6=>2I-dh%~kF>x4aGtAes)e-3#8u3)-52|+R5vxqY?09{w%LJhHPcn1_JF+qYopz_^{k6J6JL1KE` z;Y`(d?10~x!m$WvD}|Z#Ya?K9C5ZUq9|7p94z$w1e!tJep9gwFZgB5s>~A)kwPBup z9*PxUIGoS3&3cW!2R4-DCT3Lg`EZE1;-=**`n&!M6w21dTJ<=gaR2}S07*qoM6N<$ Ef}2z|-~a#s delta 672 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 delta 489 zcmV{^259 z^7lTaU250-K7Z4t7a-Fbu`6{M46o>=rj_Yz9BG@8k}b2B$wQlQKJi^6S|8>=nWUV|E0x68$_1e`f(vn# zr^Nt7W5nX;yP{IN;dS^Lhd1(CjYC0p`h0UAsr#{v6=H+M`{;u-_C;VAhE-%He9%z; z0n<}A1%^F8&4FR()f^ajc$xzPj*lrY@aPbl07HBn>=YP>&|wM;@o@nRXg&vqp}qiy fVS5P-{0Er7G|V(^neryA00000NkvXXu0mjfc7W`o diff --git a/graphics/pokemon/dragonair/anim_front.png b/graphics/pokemon/dragonair/anim_front.png index 0868dd485a6463d2f0b7dd129091bdbed872850f..864c0097488f20d093929de790548fcb64145cdb 100644 GIT binary patch delta 1079 zcmV-71jzfI37iR#bbkN`bV*G`2j>O{0x=t!zE-mU00aL?L_t(o!|j$$ZxTTm$Cr>b zdodBD#w#lcHXgK;gB~eEMNh=KSUDK0VcKvOhH~1N0wd9SsUe&#YrCJokKoxv(^I|n zA|~E_d1hZ=c9$7E^ypmL&iwj3&(6#9|0~M*j@YF|z%}pZEq@V^4uVl&?Uo0KawXk` zSV0sb<>p8xiz2}N&s0)Sr58GuMj`+eU7%190*0Z)lc|EJhJ2NfdM<-frT|b!Bl2EH zXjQb=j{ta<$rrAQfYm!g@*rJAq6{ngIw23!#mj>AxSm;W9gWd#QV;E z@NH2~`J!SO+f)pLpL+B2gn!=pkz!z6H)d1&f6jOy+kb|2+#oYzf5HJVJqxFa@drYt zS>8-e_za}y0Zr}zBR~W0%`}8M<{!rLA|MMl4&xmL_&GEV$m!W8##@O*p9ky;2MpVI zYsoNr0KD+$2Rs0Gb_xF83;@#{nhwAgo7W`3k`e}HMQj8BGy}X4>PrBK>Aq1yO0zp> zJ13)7r+Cv@dx4nwFU%i z@utp-a0i#cBdo2&W(KhwZh%toYVRSGFf@eLpiDLnP$m5CDKx)5MnD<6C=|dS0Qh5m zFV&{&RL~sgf^{HR7D}aEiguO%y-upMO;>pZ*WALyjd_OrIZ9k*q+d`WV&#zk#KH8Sp zM^qcF%}*Vf6CvcNZ^^t2>q0Uo@)#ObQ|6Xlfg5_#lK|R?bSDD9aD{{?zf|Fac0wf_m=3V)Y=BBSRv2Iz9Dn6>0n!Np$7K&_`UX09X`K>+Kyb5btORXM z2)HFkfwH4|T#+0AB33&zU0I9(7oJ``IsM+XkEY7X9E9UATtKs4{=PXGjLjK9+O*GE zvBBG4e~d~auION`+HLb)OhHUHdUr7Mi$MXw-zt1Bj zjDlH4VE{RSVfvRaFnJUhmLetCRvX*k0_*8@N%3VfA^xw}>f(9h(eQU%x2OjDkE z_3vkClr>H?laRK#nmYV;E(66r_(_MZh{J^hq>LhbO@Bh(QM%0XY9Xb_8g%3V-Q_Ce zeei$|oSS6`eZKOijrEIwBAhrvo-)ACfh3@86uX4%Win$Ka2paZ?UTJV(;NZtr$0ZD z0XVa3Fy0LS%N)o6V2{nC1Yk`I1FIr-0svkCUI_ge0F-YVTgB$Gw28~VjNV)VC=9r8 z0Q4pS0DrEYW3D8?Wz!vWstO#LJ29I#| zGP?!La)XdTp>=e)&SkaM$!+e_-hWPl)~P<6O$Q)`lv+nWm`!^|U9EKh zpj{(Z-BtnV%9M8VxTN}6>1<)YGr3<^-k-98_aEEyTS}Rbu5LN^-n))kM>IRV-4BB# zB|_=R*h$hd>=jBL#hB7odjz7$pE`Mu!UpVDiRo+h`F{BD^}*mqp{Y;}*eQ zbbn@MBVF2x$zVFdPo7ku1xEpsz384BUgSsy-D?U@%KXvqMgqW#e~L4it7YCb`XehE z;0SM;J7pFg{3I-PboUsuv+nyNK+DA@>;J5!^ts9imcaJO%tn&@f>A(pCECcVH0-%EsaDTe(0b++hKnD*kFChp7H@n43KpRRxl#mFp z5)hV(lmKXAtz(M=I09UHboukym!W&YQP%UAg5U~60LXdv-*1b_+*$#&Z;vG@HhKN^ z+hQpE9JuW(gg0Ui9iE?k@%+3u`@q3+^3$r*^5*RUM?MfRmgA0)An^~B=>JnDAu=+t zfFvPeGYGMgtPngRK_MVe8QVz;f_)oB{y6&|u3W^uWEjut00000NkvXXu0mjf25bF8 diff --git a/graphics/pokemon/dragonair/back.png b/graphics/pokemon/dragonair/back.png index edaa3ad18e36e3c414323ff0892bc943016abcf9..58a9bb6748d514fe2b822b498373f2f3a35ac955 100644 GIT binary patch delta 397 zcmV;80doGh1g!*+B#}W-9RLS(Nliru=LQD?F&%T=^M(Kb0gy>VK~zY`&D4>bJb$5Y zku2up{V@z7Cl`0X&BY z1+MAgdc}bDCU_G{dIls2xPn;k!GF{kAt_w>Xn{vZ1$JY!))K-_4+Czdg&cRnOMN$N zSAmTXBIQvS>suOE0cC)A06)$OSXNb-i82MKtf)-jiV~P@sNE6=LdNOEj$l376e>Nh z-lY=9xK~Z!se0G5Z;(9CtIp5FPh|6&A#CW$ufVay)Rrjl9@Fxd;2dBl%0+M2^raT;Kl)gPa!pzM{zmG->!AVQ4|O@^g5yB_KbSRu ruiLU12MqukK=x-Kwq6t9;IH zN3a=f36-8!-%^QV+^QzthwlGiCAX3#kXshXz2-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldr3>eQk< z0003KNklV7P5Jl$%o+3BE%~nQQ8W)lFZmy=V%n@=Sls!U@BseQ;2s1IfIW!5Owk9Oz*Od&f76Wn0)OIDVvdczW!@hk4(`$1 zeFJ>)fcNtUMYJ4O zqVgD42cwBd%5XH6E){@i=;OHt!3;zvX-KN8=%kybDy4nfX7=zO#*cMKpwa>JLahVN zIbZ9LKfBQ(e^Yj&!CvuYXATM delta 306 zcmV-20nPrf1Be5VUw;7;NklJ5QgUjnSvWQ%~r9rZc-ra-BL{v#Yf;m z7JCGWZK%N5%_>?LJc#(!A)2_G&;G}+58$o__aJxx>_POoL?3hlQ?57vp&9oX#FxYz z8-2@sK0zGZvw8Rh_~rp0=VhEq0`NR7W-1BT+|`b^7Wgi}*?)Xmbg74%Z8_F?_Q0X6 zfJl}v<4Pr?h?e6@lrO{TU^EexHXMzmO9dbr`g*NFFay!4JV@%R=%ni>W2Ll*hHzWo z>-e({2~;|uOw>ByEcsdo`Rqmq`RqoAA3tgxB-7|1nMMcLbvnQ{gXmDe>KJw-mk1t- zMTbJdK#S;*w=2PLNIKMhAoqS??+5NXKOppe;6MEM25DckCYy3~z5oCK07*qoM6N<$ Ef~moec>n+a diff --git a/graphics/pokemon/dragonite/anim_front.png b/graphics/pokemon/dragonite/anim_front.png index 2e067903b80e9f20de0582b4e49ca9bd2ae6d5fc..fb92b56aa835a528ae91d84f3f1066ae3758c101 100644 GIT binary patch delta 1637 zcmV-r2AcVS4Wtc_7zqRe0000}(IFmnKavEu}34s}u@3N&bHi zY-lV9^s;?#Mv`||W3{)=$=dh%y*Ka8%=-~CSX!QpU0R`>)5ZbkC-P)6*Z+}I0EHaU z>YlV{6$Nl|B3I;|Co;*Xfb5McF15Wv*&>-jLzP5!*>&rMiJ)v1D(W;RUH4kW$TiCo zN(Ut4y6)^U&yhf7*I*9-1e|;LbF_bErbj*i2M=vNk2tp!fbP1Vt=;JZBZOh*5GeJ5 z>)kYA{F*Z$#G^ahkwBLx%WZTl$kFA}cjkJ#`_@YVHUjRPPvJjJ08%b8r=AV~sDjz< z?CvF9XqSJQyatuz01?u{jEgN zfwXhKkpl7trL@PU&VbQGVj+KdfAUaa>Xggnt6+0%UZ3L|iAKO@5kZ9T0}f4FNK{b( zH^2ji@T<#psCwMRYXqDr0M6nrs#$aqtKzYH-*ex&72!g_Ak9sZ0omSD#{w4{)5h2)&@C~=5Hj`*5#8?tBBDiC8sm6LqJ1H8px($~T zd^9NyYOIvBH_`E}O=u^JfT)&I2kM2$x*L0F zxc2hfwXsSd)HgQB|FHf|p%73gW68`!eyC-X!ygrjW#Au`prQsclP0|KTBVVlRsl;n ztM1M59IBH*2^fF#+;h2AIcgKxt1g|qmRBbz7TkOHM!6`}h-!U^5~heRhUp!pf!t5I z0RB|E_!5AdICqKpvl0M#FuNuMh}pJ|08qlfXuqxoOi&LXVQ2#YRT3GLD0AEc;F1zB zq(YIvo~29ymT6GOXe)u10P+-pjtbCb-4ESacpm2g*jIlg@zkxmr31LPpLf-O{?rXm zdUNQp}-<89mfe1f7ext#)BPmb1NV9|`pJgODhrF*H5^4op`Kth|#sT&ZKjMq(Je zAZB}SYC;W|{N$mAapN**0QeRYcJ^NMoHkRyqHljia&ph0pauPqI<+VtWFe+)DKNYw z0mC*gJh0lL1neXMfF;^l>!G}%pg_2nPsLb~Vs2WDaXc41f9NEO4}*-s0tq1D<@3@_ z7L_~Q7BM0gz%QwSP-F|>JN#vpwnYpUH3z^zCrJ5FCHf{N8Zi(U4wLrMp?t8A4MQje z>=aRCP7id>U*VyA7@YMW+Zk`r+<>)(`&x^#8|eF6GTX00000NkvXXu0mjfz-j}C delta 1602 zcmV-I2EF;D4S@}i7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1^-DzK~!jg)tKwH zt2ziqMKoyC<@>+w267`-W7_lUWOwb+(UvI?a^V|>&jA28pLP#`aU7ZOD+H%eJ;3=& z=p@3ZKLj_sIuaPE4TfPrY7V4e|?5t0uS1ok=*5N_t-W;O@rF@oRq z+e-p<@I!$gPdY7sKiJQxiBOk%%|pf@*pt`?g88y-AAY`s=dTM2fXbKnhKK;K0Ka%8 z7{DunQznE6fGc1>ju!;rF0~Vqh#mxh6+jRT0^qS@Od;2StDHu+zY-MS<}%nGBY{&8 z08IkI;pZ!WN(B4y_tzwd3zC8mhU7g1Pyv5`ZGr&2lVu=(k7ocSKuDo@&?GS6*!So? zAc=h-@B~Tx>Vgm&F0cH^2 zJKk1*wQea@9gMyPa3urerGJw`UXE}9xNI)~EVYTB%SyLIC`sU8yxCY$0Re$`_Pk=1 zFxf)z7C>mmU15bEz+{HUd;97B>KR-(leIYEjnCP7Iv)x<-Umzw;zM>io*7JiTo{pH zV&Gzmu9KL`tFzIIgy&VaL*I>H3pSW`T(H!?I^*>!)>1c?*P5;19;wsIS~F2t6ryn%U&+^ z%R*=b!M=Vi190Om*sg~!0Hn*0FCspQ1qsl*wT5f;#Q|CUt=a_!S5=^Mf(HMDJ@f?(;f`T_nltw!ncnpe~sFxsB2 z)~Zo8c+`-fpidV^oLXKJM$NSi~ev3z2 zLAH;J{=k=%Zvb)_PL~+Sm394AO+kN{41%kX%EFdIstF)jHE@<%mY&tStYJw1-y|gU zpi-i!6r%uK^S&0;gGztk7-|K=wGh#TOAJLdp}4xAum2bQA@=^Iqt5$(!vllTji3r* zN&-aIP+Vd_#VO(eR=bL{|M5Gk!o;+ct!gXwe7JcVgvcOp1zZIIs~*UwqCJ#MPC z;H)`V`>Y=1Pi0?Cx@0)Cgm6YF=B&k(tR7tUUs44l7DJdKvHlcOqI&Qo(NM}6FNX(_ zprIZNdgev_;Aa6L=?A|d0*0g?{Ln-t!h?SB5BkPar9jQJ9smFU07*qoM6N<$f-nX6 A1ONa4 diff --git a/graphics/pokemon/dragonite/back.png b/graphics/pokemon/dragonite/back.png index a2133d2092999c60377ed965ad6f788884346e2a..97e783fac5c34a8b80bb0b86f00b3c21dddb7e0f 100644 GIT binary patch delta 642 zcmV-|0)74N1?UBkB#}W-e*gz`Nliru=LQD?F(Spg-n#$*0!v9mK~zY`jn>VMn=lXn zV2~;yaWX&Mw7JFV3!qUz%8iOsZ+l2{j!>N|5o&1j06p{tdL>G_sptz-eY)BPn;|%% zNLi8fr`QB z7lf~8=`hn}(PO&s=%UGL%OMLn2%JEJ+t6Lnmh!_w+UeE<#hmH9O5(u&O@-A0*9iVpt~R_te=~^ zAmX0^*z;YMxDVVE?(3~O5ho_N(-A}gTrKxwUTd(yec}oBe^Ft%3{-?_2zUZG^2RWj z>D&4|03|d$_zQzom!Sk!RH(*Aj@(PG0RSVY)3L10dCDQt1H*Qx4Xgz$=X+HHGX#YK z?KZ@~upIS?$>K}KUx}Ir#xU54UmpZW6o^@ZfM~J91c+ptMnF_~kU$o3mH^Ofv$+T$ z0a547@&tjMcnBatBKs%-3c2z>BpeIj(liZAcL-kAesWG-Cd5= c~0Opn(^ZLW+5dZ)H07*qoM6N<$f`r5{iU0rr delta 646 zcmV;10(t%D1?~lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!K+iK~zY` zjnvJqnm`l)U`U#fu;Q=R)}5p;Ku(0j9Sy7Q?!vk@q~jJtuH5YWgIrSMVT=1gC1MMY|C#Fcx=I{?5OGU-^gNAW7ULiiV;TWoZ#906! zcbm<500A6z&MZ#|*zo`YBw~&NkPvKJF#>!E64FMgK%{PAeT-A-j$>7U0$8Oj^WvMl z8hDy<2WkqUqj;{M1vv%KW)y{%6cp;uuMH?bLP4T_?lH){_D4Sk&;#&WAcC%jAesW* g>WWwy_m^S(1Ll?+^U*lgsQ>@~07*qoM6N<$f-J}*Y5)KL diff --git a/graphics/pokemon/dragonite/icon.png b/graphics/pokemon/dragonite/icon.png index 12c2c141d6809b9009ad028835432f65978d3a60..b296dc10bb5f3f2c27b98dfb8b810d9b0322fc8b 100644 GIT binary patch delta 371 zcmV-(0gV2f1H1!}7zqRe0001qplF?uE0O| zYw@Fy7G#RFeCisD6f@XY#hU<@CPtXLvjr}YS*bTS6JnM0VAqkV&e&yx3o)Yq<*@Ak_i&S_c?@(_s<2|0|;P+j0Eso5klhZ}Qp#2I3Iw00RJD_(Etx zSz1``ns5~ak*HS75gkE{0947IWz3#HX;2AUj(H(i7eEB;K+a_Zm_hSo5Nlp?83=wr zi#XY*r82XI5|Bg%@IwOY&ok*mEyR(vG)Q2&FzLph` zSNW8ZS)^5v>t3{l%}PP8OK6X_849nCjY;PwHq|z~&y7itZiwC8{nu@=`?2Jw&+VFR z^|$-~p8ipfQUAdHS^voXQUAdHS$}8$qQA4>=`U#+?ceA!KP~Z@{+^licfhKD&|=Zw l&#~wq{6Wn62mbx6{x97p8G!btr)>ZL002ovPDHLkV1jBIq>cap diff --git a/graphics/pokemon/drakloak/back.png b/graphics/pokemon/drakloak/back.png index c37b6303ce8898bdacebddb52729dd06dd52a4ae..ac34f32f4848cd391ff012e7049b364a80b21bb5 100644 GIT binary patch delta 557 zcmV+|0@D4Q1(OAkB#}W-e*gz`Nliru=LQD?F($&+8lnII0rp8mK~zY`?UlWbn?MwW zL9<0luE*elGh<_`xv zwo`7ir?Hs(-E%I?fIaV3FQ&jX%QNLlqFrA z7_bDp`ML~z0LDTIOveE8NP-I}R5QTmujP8`OhMub+-{Za zI0E92SxEmKJB=J8gwPgrbTavI$lhXlJ3cckr*B6VsdKE@0GPrD_Z3XUAcML`+q)Y8 z;?}K`L4r7(dC7^bDegeM%Ol8Nq-PAgK0)p|oU8WL_Lzqrs2mA(!= zb&P*hZDSC`NjgC>X5i%3JX$WEQ!h0@Y5`9Bu3gYP z=m57U==#Kf#n>)3h35c&FcwI_p8|}yF)krjn*lz3DK@^SMd?jr(zSXEnn@`TbqOl8UJ~`t0s7`|vI=&}F%w2fU#0AhA_mn6;I0Q= z;%**h=Bmt&0T91`yM<&pYNnAPLI`a^$M?zjP_no1Z>Qf3%jnyQMPhwcYy|l5fmn*g zD1+LcHn|%C;?|zKqXcn0^Cx%BOmRm_E?1DhNY5CMK0)3&oSXLv;@nWlxl&IH{s#1? zaQt}z=sV)!dIfH|qtE*f zu-c*&741Ilry`mHe;4WY{+Ih@N~u{q=u>J%gq_6^9fZ2n#KSs`1S$j?M)*I+iy}x& z5sJ*vD26}uDFC<5$7k~*Tjh^5g5?NOix6=({`mXyFD8 zgHwSYk@<#8z9T2tdY@Hctr2f2##eY8tzo@P7jSn!0;i z#x8To?BHT|0qh8YzAAOKzjX<>#u7I#EeOW&h;uFvfSjvDlo)YO9smUa1dGd? z(Mw@1EUh?hR002ov JPDHLkV1i6ODv|&I delta 678 zcmV;X0$Kft28{-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%l1>K~zY` z<&?c|(?A%9U+Xe57d=KRs%1Uq5xJ7l=$x!>!vFE8BK!t40GHN38_ph{M$ z(?pU9w<$ZhWDXrQ9|*;Nd~+*BD64=Pxtf|RWDK>KMY(znLz0l$${25odAYy*B2jo; z=-{`NZWkB#RcQ1;*OvnJ%N>0Cr2D?RQ+WmLp58YXQ`-0dW4zfNysNyX6!*;j-a(ur zT$UVv+I>LsO~!D+?6dwtL_^{N+uZ$pzr+|b3VVIVdI905VMH5$;|?>(u*L#`NrCwh z?vL?x6D*e~!-j7Z{2%rd;MUprG-|R@`oIEM3LxuID!+|8{x*M%=D=Sc9F;;Gd^zRJ zj=hRwx%t`PMB+y@x(~|p@3Euak?45vu{Xy6C6BWqBFK7Zn!i^H%Hgj= ze!Wf-1mt<<#Tvo8ih3w~Sx~aRFe5xX2l+=J7UVsTSe$VAAHsb8v~$7E`hvi|(clS! zH5z#{UbVQ!!&(-2OY>$nb*+dmA3|}dHl4Xz%SjQCt!iI?r7%qC06+nqd-N*8+)fxY zhzBn!EC&*bOr>C_1^{U1-UTPF&l3Zn#ivpboX2k7q97S3BOyd`01_fkWs8w;k^_(= zK#9D(DYFz+{nms3M+U0pTJ|4Tq{;|kypVpA69UwO{0x>C4X$La^00B`+L_t(I%gvI_io!4yh4Tg> zT?&mfFx&bpU34>`KAQt>!Z5zapcWVIyeTPkBQ-{$o1)EB?N8blaI!p{oO`(UL+EV} zNT8 zN3*i`{W!mC)_lflUeYNje$^d7bh>v%^1$jvgH*70ljK~~SGiE??i6#5i$y~aQL4g2 zE{JZfCK+R%N7~u>h56yvxa)!gHV>#>_v#Ve0|ply_SKzm>$-!gfI(%{TFNIdYpw^t h6wv^fHst-l`~fKO-&LHqQJ??-002ovPDHLkV1gL8u>Al4 delta 369 zcmV-%0gnFe1Kb0UbbkR-Nkl{jtTqKT(kW0|aMmL#E{D9lXqPnW+E<#>508cXm)(`}iVGO;JS`vj>t* zcdkh8wR%h;6>9F>Bso{@R|>}5AH|*HV$n5-D%I3OE@-=>my&btdDM891^2^`ai0YO zJ`b23_u|oLP#CBp+%p` P00000NkvXXu0mjfaw4zS diff --git a/graphics/pokemon/drampa/back.png b/graphics/pokemon/drampa/back.png index b3460057efb2dcdce3003190150c42a1704011c6..8bebbcccdcbf0dfc2011e0eb92f1d67e74ad29a3 100644 GIT binary patch delta 577 zcmV-H0>1sT1*Zj&B#}W-e*gz`Nliru=LQD?F)O@hW*-0m0t!h)K~zY`)zraivp^6B z@QtL$LbXV*vRFKX9E$ax??d9*lzoF>?~7y)r4Q9WPWu+U`ZC>_S#?d4ns^El7*BEEcX#N8aA^E`i=IbYzZ5F$_f;NG4Ke-X|XD1?b2c3vQ` zK(yAOsPE>UP}E7#=~(!hxOo8(F}BhtFTfVyWTij6T_UIrxYgR*CG=RpK`;aE9dMcj z(G@`5clzWR1g0e5&pD*L1d1Pm+iL&@5ncnkWyzN1<_ri2Y+uW&X*ctrY4%OyiUmBu z_6C#64o#yDO19;*1D>O0%b)Qp@KqU?s20;Qq=>gjg#EF3PfNG`bBJke@xRkH! z36L(pwN_GVr7nUF=KMAf6upTz0&U^|7=!^S0!4sggkp$ce}JqIl=Oq(aRO`!Nmb6l z()>Bc5~fgl4x;6TrAoe2i4==Wz^;-k;Mw~Th2-3VMcf034WlB_9WAgaN6_gb^szDk zS9<_;R$`8|P8jFa+5pL1ATr7!Io!_Vr%qXXK6{mJVK%XUjNFxgY7 P00000NkvXXu0mjfdqfY+ delta 587 zcmV-R0<`_71+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z&DFhX<3JDx@QrZFK%^kjnngi{ad9Z>eTT4WIqVx4rC)@%2zjV8xZ1b4Rxfk&v65HL z%1#+UAkqFjn*V5U#E-h}<2X*Qou@@nl@)o~-QOV3!0M01ws%yTl$# zJcwq%lLt<-Ah`j!``(@cgP@cQ!a2v3*FgDA@Nf&@AmUqKx2VLT+FStTf$e)$x7}tQ zwC%oaeF30!fF_k6+SVM}t{On}hU>@xbLIxGL%SVnM6|8R2$J7_&!z*h-%r5K0cfIl zeb!K8f7pBlxH2j&UXvP1g}O_SEH)xD`jbm!RAd5nwHA@gKaV7|ln&gb1HjlgDi;0G0hjU& zdV9n^Rsd+VN6_RIltM3p#yOHG^B({xrfs2+PzAzN62Z;-yWIUHz9o{Fg^i3C|!XU4|FsCZ+`YA Z#DB|nOEeZh^Nauh002ovPDHLkV1lB;54`{Y diff --git a/graphics/pokemon/drampa/front.png b/graphics/pokemon/drampa/front.png index 6aecba694918af604105278c7ace267db12428a5..039303e2a80b3c2cf7c71859aff952b96ee438f7 100644 GIT binary patch delta 957 zcmV;u148_(2%rd%B#}W-e*gz`Nliru=LQD?F)dXD!zus(1A|FKK~zY`eU&k9(@+q{ z9V-K4U8@5NGFFL)iXnZCgjA%K=E<396c{TR_Z~}!TB$uUAfc9TkczPbD}_!TGBANq z#l}!Y`2t;_5)2l4+`Z>Gj+63~SV``eyZ^g)ch4|xS(dfz7`LyQf5jMUE+XpO;M}O$ zjMnY~yDvBZZ!0@%&AafS54ggdm~&AFf#xKJPy@ZHi(?-`e2W;`3uD|FoWa|{dq6*7 z)3R*Vs>C=MoW2|k25$gjSWD9nRt2!`emgxu;EZ$z57YF*ngMF;>AkNf@4iqB1Pt`i zTbYXB9Fxhe@0~Aan{Zg3{V1m4Fnx} z^29M+1=RK`0EB+HgEq%73*g)+0|DiiO#cH6mz;X&W&r?=AWyxCdob*IAo9vJxBy5Z zYiSCsVBVYxV6o=3z*=*FIK+ZkDg#;Rvlj`3 z{E)4eYaD^^em>?B_wel=9fVzJ#230l&R)9|du<@9VVPa{ZgctN|iVJ#-k&4U7?T1)zuqe^+*q^m=TvJZc<{AxK2Ni=rT{T2I0s)v*YjWoFzgN9-cZ+pe#`-@n3$r4CcyU0 zWm8$gqtl*VHbNiJbOo~!IN3U7C`$UgWT)NHBUBJk=po@{yONme?BpURDor}PlAWtu z5HL|mgHL5wk2_KjQw+Dz;JR3;BGUWAkCE#^GvK=AD+`Mva>g4kWULYo6+?QBgjA%K=H$#Y3XGM4`^?gzR_YrWkWkBikczPb zD}_!TGBANq#l}!Y`3Jf{B^WGpym#j~&X00xtR(M~_rCXjmECr1d)Z~TpNh>nuP-91 zf(gMY4yUubz#c>bKs2>~oj2xP1keLKVNT4ss6vEhnLucO&a8{$078642{aeRxYIv_ zxBd5ke!{wKJG?Oy@XPDt*LW9y0#sH2)d1kYX|!+n z*5l8EG$55-Hd5&rz;9rLA(T=#o9YTb1{%n6ph~JnKW(K_L^RNv0s;+WN@Z%G)bQ#P zRs&)L)WsYyQbV~$fGhzz0vrs<{csq?1azf43qXLx5L4hH5XByw1AG{geaBrpml&V~ zXbI@GMNc7J%hN!AWp4(6FbH?h<}#}Q&RH4gQhv$wKY)4U)JHc90H}5I)LVE5=F9`J zU+%#LfQ;>>39y2Bb7ugX*C!3um;<6iY?!4okd>-UfWvnm6o7-kFS6!9=NTO0pjhs# z#@e=t(dN$&`T9g+g(L921iau4rwlj7$aZ0W-Vi$peMNvv{ip3mg`Lx6Cgg)gK=&V>p7t>KNWgjvA_|LJLeeEHB;uBo zoi8K%S^Lp%`AF!Sk?FquAUJ-^QK~UC%4sf?-p{9+~kO;jXj% oE}K3fSTS_uVcpCxY1J|I4{3cbW%=2AD*ylh07*qoM6N<$f)M7w#Q*>R diff --git a/graphics/pokemon/drampa/icon.png b/graphics/pokemon/drampa/icon.png index 5550dcb742d5ce631e28d922ee5e58dee3a5968b..660fb8a7b5b1e75b12a304fd9d31e117656382d5 100644 GIT binary patch delta 76 zcmZ3*e2IBNya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c@DUsK1+Q5gP*oqp7Eh dV~EA+jp@dW0)p=kCIeM5c)I$ztaD0e0szg`6OjM_ delta 36 qcmcb_yoz~3JO`txr;B5VMeoLbV@82E&olcOfWXt$&t;ucLK6Vd5eq*6 diff --git a/graphics/pokemon/drapion/anim_front.png b/graphics/pokemon/drapion/anim_front.png index 624556e4e4fbe4f9f20a095bc556553077b09c60..e4ff4d5070d49e84b813bed9baa17a931126c203 100644 GIT binary patch delta 1847 zcmV-72gvx35A+U@7zqRe0000o2}w**3yqvG}eSm|!D+;dD) zGXe>+^Gv|YUM7=@INruCQe-kQs}zw_fE_&;dm>UrBr1g=H5w*`b#4??CfQ`9mj8bx z@9iCc1F1w^W<29k!aB6qe@MiMSRy`<={M4>1($^2g6?- znv_0toCR+Ns4N1Y-qdbqWe^@7er|t0Jqnzyl7&6rrL^Ac@y_btYXE#UIEoe;bOwl< zqC?|m#OaGC{ogjtUk4BLRtZos{iwq<0G2Xs%!ldV*}oz2+vB2>aRshAWS~CDcs=S;>p=$#9RP4n>0i*r>9=BU|KQCh*Uv8j zu?v7Tdsd2Y*eBS6&x(9%8< zu|%b@H>G+$Yd#74MIA*)8XnnljHkWfaw#W;mfMqL4yPU{=N_GQf{K43nND?To&?l) z5l}Q6(R&&I@BeMGFDTz_bIfZ{03rz?JUX^U7VZm|AM7TWcqNOhwK+U(j-8Xhkvl%+ z=D-*TQR*l+(T0cuXY-rmVL%#tB5av1R6@c*BOArX?FR^`js{=(g6+wE>%a>!Pa2vW zLwJ1m0f&IeZ@ew+U#S{VRDG+#=qyh_f-H+jxNS~sSL-f=-DYC3-}$YzoCw6||k07Sy> z#}RM3xK+K%d+jS-PnGWB2_p+dRwCeb zF3tdt#vi|c0!mu!v-QV;7zHIjaPl4Er4-ooQjVmvc~+XE#5pbcnm~*aLnGe@bHn;k zaASIt8!w3SKyp;q8+$~$JUpUB9L50?mhYo4n z0yGoHrOSf-^mFs;qe2GE(SMo{U~UP_{Mq1(!kL^0h{iHEhx`zDSJ+V~qjCuSwC%07 zT8AHM;9ZP{k$5I(gsk@?xAOuxvjx2CyU3bhe`cZWD(!#sP8R39>m!jcQwDfG09b07 z8F?3C2u(A>t5gh3SNU$;q*5xA0@Hwj7y+`l!2n&$KP=_26` z1jw~+x4X8ja1bc~NS>>VT7pkX%8RGnJJ;9OZ?+K-!#v9K<*< z6%0BYCcuALIl%CQb{JXxE{u};y=!@uWmb{kJOkAL0MispA2_S$acbfuOgFL@v;Z*W zTR>kdZ4AeOvI?bO<_HI>G7*X#NSZtaW+OFZZXIomk(P)(OO%TopIljfm$;8VmbR@7 zs+4LjaxR7^I7VOs?Z7yf1udp9kx#RyAacm)$&r7v9yp<8l!92b#F1TyoRcSm;b;!< zFq7QJiI$6;b^3Dz5F4ePu37eqW3dX6LlpC2G**!FWIho$FI*0(EJTiyK7`9wV0e>x?1LEXE9smKuw4OhzS4_xjICL)K}tW(Cz>_0JvB8MpM2b4D~`xl~! zP&$7TIm+d2P#3$2KuRj^otOYXMQQf#+aQoW;#K@97z)NxCLq|oiW&hlS zO4CTsnIQYZ%*g{F`Z++T!@8NtgEURsy8O{r)sabHb0!a9bnr5{zfwjkIn@tZGEjbH zz!gOyI~5R;jtQ!`nZA&xHB75j2iWx>ZNy3mFs?p(HB$$H6$6#$B^N<8n;-6SCXgd0 lHg5CJaPGh0M@E0w`VVb=AQ{@}i^u=~002ovPDHLkV1ga=W`_U( delta 1874 zcmV-Y2d((@4v!Cz7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R2MtL?K~!jg?OE+| z-6{;U5MYCS-v4#4R^r=sl4++i_eW@&|Vxlm>xDX0~KTkMMZtO7}M?NnX%G%r+ zj6iGvK>&gN7L`E0g?yf8misRR;%j2|AP}4}c?Fjd&XZ1m7n=cCtRb}W={;;_0Wt_! zP2oMVe5?!s_(mYUZVUF7L^`}OX_t7()B6HG* zG}eNyT!HX{-?;ihtiU4TeV7w9! z&r`QDX|Ov#8NH?aOrZ8-kiNxyLnUKPRwoIZ8^Pv(E5kHDOc};tL3=!%Pl?Jg8+_h@ z$Q=sr5uMKK!G{uH4tB3wSYnLh8qhCzi?Le{K#Y`l-0r^9NDw$vC%EA?oRlEvJDl)# zuPLA!z$*b3R}Hw-gldQE2Ugn=!?6Y_63oOPgz6uVU2tE@mQ8$cipM5EE-DV>+e$j~ z53l7NoG z)$NFn$xb5)d1v^jhs1zag2Ev4H3CUxY`dB5I4lG>C+zBkmn~2X$T|bU{?TFrw{&}X z5Xebf2nL42XZb_6o#w}!Z3Vq{*DHoZSTI+@T^DblDO(< z4&y6*p#joEVqRbK^%H+5Fn-7H_+O51qW)Vrz2u#r;@zkY`=R


pouoKdWm@0(^F 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 delta 730 zcmV<00ww*z2CW8=Uw;C)Nkll&X5P*$D88Q{qp(|%1n0cT?nb3oXs#B%Z zfI6|%X_>)B%$S_|6WS#TNkg6fg7hC${ZYO5EK3Ra-a~DtD!1YLxH~_LzjK_Y_~-H5 zk}p*M8URa=LNf(ka6ngRpi*OjK`>U0SRja^+1PPepakbp6n_>0It(yUKqSHAfFZSr zrT{G_|BTWB0o5{7fq?Myt*pA-48497ez}#d$DC6UYW>CCMhd|ckN~yCuT9V6fGYqv zO>il>5eV>35%I0d00#i#W`yye$N)|vPJD_nlUBry1#r4;-yazAMIrV8j2&!%3&Pl; z0B~pn8de}SkADDjv;eq2PznMg5R4E9+tnTb?@`5Sizp~yrN579tagAos{73H+as%U zpw2wKyqZf0Q=YmcNn*-B#eaVmnL5i%KC>@t;VdCJ^=0;D z0mpsm)4!$2+qFXOo4+YShilPN_MAypo`rz|=2Eb7ya=N3dVXo6?7Cus#NhKKsfkXHp7 zHehb)05(6@O~8I5Se6Vx6QE{H&oO5`$Y#_)fH4t|w3-18b=+7Y)ALr+{`ZIB&I}ds$j*Vt<8 M07*qoM6N<$g2*0MTmS$7 diff --git a/graphics/pokemon/dratini/back.png b/graphics/pokemon/dratini/back.png index f67fe05106d1b54eeea70630951b7e8cac596b0f..1981025f536b1c5a5a0bbcb3cb0eb0c094a3557f 100644 GIT binary patch delta 397 zcmV;80doHR1M~xsB#}W-e*gz`Nliru=LQD?F*rEcC&2&!0ar;xK~zY`?bE?(gFp}f zPz$LCPqEDpRQ&;+kb@^l(iU!4kgSDVlXRh9Bb6BNE4y))qA=?oN^hCV9DMA| z?2eXo3nG@iM8rJlCJF@IL;-J%Nq5AZ7b0*qU=#)DbTvlckK3fJfAQFUkzlL=3t8j7 z*g@oKf&aqA5h6_!OMuyj5Hf|D9s#%zM{fc^cIkjSW10ARkb)kg0?uSqkvDm^=p)Wo zunyl+1Rg==geT*Ns!WsD$#=8}_Ba0UEW?5GOZ0;@c@oC2}}f^R?0(kEh2r{UNm zoKK(hgDTK4wxvPQf0mHn*)}REU^5jd#MU5Su%ZE12fVLJdLs~In?|>k2o9z8=d=GG zU=xSL1Y!forg~7AK-*;or3oZ|1Vdw(0baz^bW;Ok(77$BZ*wj*vxq=9b%BN}RFn=yjGYnpY&ee*;C z&jJ!P^{pUy7IFuF)DmJ2F#V8HwaAhYKuEbG696=&3;vX6^6O3se2o$WS5;Cn zd2;Y0j%V;5&B)6u2GoReEg?!+j)8<}K%qY6=oZ3&fXOvBK}X;vfzv)jCur~;uq=H* z7IkZ(Gs1EIiT_XoYR*?UD4G%KIbYEO2FBb}3e4#R92Phb=76_u1vSD0x5hBgAEIXs4SLqV!MLt^!A9`3&O4y9 xXVoO%O{0x>$)*GBCC z008YtL_t(I%k7gpZo@DPhIIp?CkU!6*#v}(w%n}~5eU#xdWb9;2>TB1(k+Cwco4!m zi$xomvIVH1MIZR)FX!I;=;jUKDKKVZP;qcFprqav;|Ij7D1QdWyuow^`3mlE#l(;WOQLb|2!73^y?GWuA<9GMDYiUM2CLW~rvZOswR^aO* z2c=ms%GBhbdo0S+eDg{lUt+7D^|AgEqYvwrLFMIf{sCHkd{O6N0n7jZ002ovPDHLk FV1kvmhBN>G delta 268 zcmV+n0rUQf1LFdaV1MpOL_t(IjpdU)PQ)+}g?)n&Cs^TawzIU;q~mT>BV@@(*+bB5 zF-qw=Y_Ld{L9^ Sf^Yx;002ovP6b4+LSTY7Fn#I( diff --git a/graphics/pokemon/drednaw/back.png b/graphics/pokemon/drednaw/back.png index e7939c5c76ea57487a30aaddfc6a869eced028d0..0cf21324c603b248ad786fe648667e2ab1250e74 100644 GIT binary patch delta 596 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 diff --git a/graphics/pokemon/drednaw/icon.png b/graphics/pokemon/drednaw/icon.png index 9d0e42c016b3f0f885dbbfb60b5971ac31d2c7d2..d506abf4ffd50f404a7727b7c292c0f471915297 100644 GIT binary patch delta 334 zcmV-U0kQt41Gxi`bbkN`bV*G`2j>O{0x|?Vn+Syf00A6HL_t(I%k7e}Zi6roK>Y_6 zB4go8U?VFL5~pskk&SNkmVfJRs8H9EvF(rXC5{r9e)V+ATS-)kWDf?E&4mn z{o8eY9DwO$)Q;Aqt}i7xaOl1O#*;L?0P#xm9yGvtdV>{!t9|!qa{>`(r@jV@AaiMT z;A9zISC_HhY5r0@mz{#Q<== zqjuYw8hmh&I7g!rO~5^(?xAmo$N$P!gV~a0i~ef-3o{9Wg#dqH6;DPn2&4Q^!p!`b g3FAtogZ!xQN(l}JaOV!537^ukDsg-(@{qA%=pPr`uvS_aED4I?x#aG`cNsv2LXj~Ew zp%}p#B7q>N;*p?b02db2I2j0X!8dGL<4rs~&AU6vy!&-^8h?Ocr^E`^xT^XRLh2xX>cX{i7J0kKI$K~zY`?UTQ1!cY{( zZ$h9;huo5;YrI4x#fQ*v8YhQ}c>qBobc;yu((VzQGF9l%y>C#L;*u6J*D3GP`$wBJ zH|-1P!9ni#<9y#axfh{R9YLV*}Bm zLusDz7T2nr=kG3e@KzbM{LPC3c*$z(GhqI-%Hm+7w$Qy~Nq7P;d5(kE1`pj^ryQ7n zCYgQr))cb46+>*he;q4|OhrHcSf>M~=gXANA(|)v(;cAnVVSaFTM#HM2yu|kB9IRE zX@S{zj|TKmq^4+c`Nl!_>mS1|fd%`KUOAlfvMK-}ZgqMwk2aM6@J-d$)8{R;{RJ2_ z0AgUI>0@&{T+j5V1n#QMg`y=U6uso9(xK9;Hd2jH2=>T#DI?;mddw0FPkoprVVHa)HpI_yLAxQhoo}d<3jPAst{R dlbq_f>KiX0q$c1U@O=OP002ovPDHLkV1lf!;&T81 delta 498 zcmVsJNv)8!^$!0dUMC*fLcq5J8=hly!i6XuC58&A=Ghm5d6&JuC^xee5Yf zh$j-br5xa|Pz72|>?&fudPeD10tT)83XfoRWB6t~34lj1wouWX-_lA1@%JCV^zL-2eap07*qoM6N<$f>hPzT>t<8 diff --git a/graphics/pokemon/dreepy/front.png b/graphics/pokemon/dreepy/front.png index 23b231d1abcd5116155f2066cb3c1bd450a644f0..bcd47f6ed64497fed6a59c85a90fe258ead56e27 100644 GIT binary patch delta 447 zcmV;w0YLt*1f~R#B#}W-e*gz`Nliru=LQD?G6*#-M6Lh;0f|XOK~zY`?bJU{!ax)N z@JG{$$uk7j^U?%KbkN3~G?&(;i{GG#Pvh7S-sIwhI_Y3+;>;iuOawM(C)0%KzKeHd z!)w_IZ|L%VdH3G^DZoB|Ez;c0Y(aGMd6>6w^7$?LXVa*$W zUrB3FdR$Enk`|=^e}`IgD_|{(G-z;W+O|?KB1t;a2&@1=2#*Y?1+_jexi+K>kVk!4 z0+dS4-DoCCc0pPJ1>j0dRy2^Qr9`aqNX9uPL`6Fr;dW0|oIfZPCZbK2TOJKGP?1`N zfu7p3KtyS-#foIflo5$sd761;AO%nT>h2sU1+E6=Z_rK6HJ}x5)YYTMidQ`0i0d^f pLAnJLO;iC0wgFRx@Bha;9DlIlhre_{)d&Cp002ovPDHLkV1iHg%clSU delta 454 zcmV;%0XhDr1g`{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fOMSH@P^WPC6KyI5Wru6M@ay z$uwcQ@8VtA@Q%(J{zI4d%e(h3J=o>{h3##xd+ifm0)*he7z3y`mV=>?W4CsV|y`D;->vaC^E zPVsiR9Gm*#$kL%YTLX!__4WyNFqvtZh z!6RjWIOq!pP)g4LwYpTI1HuX@0$-q9(Lkh@7KzGZk>n_eig7mLcaBw(-zn9Vyh)b7 zJRWGEVzufFkQ;PE`K)wKd|D5zvdH~JOBUy07*qoM6N<$f{sPX-~a#s diff --git a/graphics/pokemon/dreepy/icon.png b/graphics/pokemon/dreepy/icon.png index 27261fd31bf317ae6e08aa5a352a968d06eadca6..26ac52a6530f8a8c8eac46ae55f2ac3174a5b911 100644 GIT binary patch delta 333 zcmV-T0kZz41Goc_bbkN`bV*G`2j>O{0x}BQBPD_W00A3GL_t(I%k7h~Zi6rohIs?4 z0~?S>=~HBhly+laAkWk#15(Q~RFyhijl8g35KAXxn}G%4Tq`BP1}QI4^)~kQDC3Dp#r>VL)hycFRE>5EP9-6rNiX$*?Fhrnb)wZ5po4Vqr6x zbp*kG-7U6GYb+TpwDD-MAx|3=Vq6#HJYp}lub7p_@evL$n7fW1!@W>?Ghb$Zfr-+h zwdT=W0ZPZt~5ab6|3OdX^C9k;Vq)R#q3i75jS0E+4 zA&Qi0fR@8H1D$L^s`zW@o*taS;4>(5hy+AzBhoh~#nXp+$*l zZmvX+;SS4uR&?@l$4fnTaJj`;b>=Ezh$uhO*Gt)XDF;D&?6iaf4Y zh`h`TXR(*t7fcJMU_9)fF`GL&4EIv$jT>gCz(h%2TXX+IO#zD4L8-e|{|1I=$VHM# zS-X6U@U9vu!8GNA5xjvo`vFn_y7KaFn?@La9XqP!7h&uetgt@GjBoY^uZF$96Q}?H N002ovPDHLkV1ghtjF|uc diff --git a/graphics/pokemon/drifblim/anim_front.png b/graphics/pokemon/drifblim/anim_front.png index 9ed62c8595c8d703d475c8160393b01253603344..3c027b6641dcf2f6f13e6b37e9206f193811703a 100644 GIT binary patch delta 1228 zcmV;-1T*{i37ZO#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldt-GC+X0 z000DjNkll*O6vr9(Tmha+CHVkSzCaUy0S36nkYyni5V8(XZQ@Y~0z-pD z8K{{~7C2>6VQ^9hql2YUr~y;m3>c6OndES2FH?YYF{dn^)PHw8QI^D`IubxqSXf{+pEK@RyIqBPphU44jK@;GsiP2C_m(e=74{*~+Q zyRKVn6Jk_lK!43`yBu%{F^Qy$%^JjDv?D;0VpAk=+fYJU!*-7s07(tIRucfkWldzv z{rw0q1(2wbdHHj#=f1jtn4Sh$)IOrNX?ljNOZ%nKr&p9-&45G`cGa*b44&bc6d=Z{ zA*JJAO@c`ZK#rgSiDp3zb4`X+pij?vlVTn8RUkvm*?%-SV38L}5+FYk>q7KknNom= z>@b@8i{#CMX~clp)RTA9A-3qB9E9KNED2;RRBJFJc>6%IfHPLg;N zvbwU#fqxQAAp;m*YP1!GAK|OSDnVnG!XGRk8CU^+^euBH=!SiSihuZ&Ue1C3yYLhL zo=&Hqp&Gzw4<67#oB~n$j#rp^-KnSTMdg4P&QlcOVFMU>w_ex7h=vq%;xcXmUHHQh z|ABA21t1{#nDcnPdG&mM5cOK z21PwDP7zL=76(iF<#0^Lcxj=R0cG!UZ?t?Tipvkk9!4twS~=7dtb7^&hXFQVt;@KV z&4K==5pXFeJbcnz$djC~5V;f=qHJVi5Ai4^#rDiZqyjCy%q>Q06D?u_kj;Y2kTyYx z>wlJ2Zc<0ION)lp&~ny{Nj;@(ODj3aIz zK%u#RkOHqMJtyk`Du8Ml@B`nX`6O`ELw`cNo7NcI!EbW~PXNdQS8yILgK0_uA?^Z5 ztR&Ly1;7S>fCRIp%{JANEzAiK4nsq`VguhA^|c5s1$Tf24y4!{%mi&%jI;rDLq)9Q+Q{bNx;ItoVPci@RbQF`hz=t@qc~% z>~|JmC-N8IAQ*$f%Azu0c-dR@kkZnM4k7^4g&BIxB>C4t+_HnJzu;^ zaPf`9tpgnP`y=h{-vY5%$a()^vJ-~8@cRsUzf3Im^ga7dc|+;h8ISvk`%wUUpedO@ zL3jIO-yf{TpL^c)7OpxSo$+`g0Y!HQp2yEd(@G`)chK>?4o7$WcwQ?#bPC;$V6jwL q3(pIkwUUbw?)=kU|3$O^z414M$fJmfj3svf0000l*O6vr>{IRZSDO7j7vet{JT6g5+w2c?!9*hk^etJpI_Y5zFM9ymP;$^OMqgjTz`IC{x+vLyvuQXqXbsU znx;wMfqIT7mNJjMJr34giE`QG`x80K!Bom+G4KNY4Rmv#vcfw1=dl&QtHu zGE8bv!)U4U_dRdh^Sox4QgcTIG`+4T0FP3ODyCR%LJp!E1Bw!>vVhlx7RnxucbEbc zJ)CA!0+3e?QGc+uw`0JPK&D6G`LE4W@5Ke=j6A?*&H-~Q%Qsb1I?v4kyJqZq3S@?G zc1)W=hzd`Y05xA+GB*0nqC~k*0O$d9pz$uKX)URc3k=w~7*d{tu?Q5XHQlBFZ2Cjy z9AMSY)V`22*p?EYvN}ZD$N=#+62NL_MnK4=j+~$FMt?sVJPQ=KOg+~5`9OABP)2 zW%4d>;YLFMFo2sSUPZixRs~RlEffGFbAxuG=mUJzcq81KmI%&LNC8ej{Q8c&V|>d$ zK*v7=#(%D6z~F84QG8A&lTXkMV7vu?(6gijX6&u#F!B2nU*C$`0dYAiQH4Jnz}Ua@ z`#!-eVnh&E$q@J=xEzWvxI1uPI=<^g>kAb0`53qN%< z-{DJqt^qb+smr)mEP?*!5wH{#9$tAa$j|NzpW2mG6T19@e#WO?#knDfgxP9~wJPwD~94H1?YYRFp&7T>zUI>67tU^pv+i99UqzI#93h@wsSegd+w zim{Uukq`7mpaS+lM}@yYcL$>&I9tp=^Zm&ktU4Z^h9200000NkvXX Hu0mjfP&hCk diff --git a/graphics/pokemon/drifblim/back.png b/graphics/pokemon/drifblim/back.png index 66c4fea7d50d8c0a32fe311b595df977ab90e349..4099d199bc2f1c2fc07a7caa34f7e1a720abbed5 100644 GIT binary patch delta 547 zcmV+;0^I$T1&IZaB#}W-e*gz`Nliru=LQD?G7j8M;hO*e0qjXcK~zY`-O{~o;y@4p zU?eQ1Hi>jK%L{~%2QU$wu7QeOr%9JxyE!REFf^30_5n>&ZI?EFhRpuqFde?Mlk+sk=ECbz>`Z+=K1CR5TY9t;=}lJpdKfET1$aS#kg<2cs!;d&h!B8p8A&8FA=z{DRx9EW<$f9xRoLA2OQDa2xKK=(~V zOQ}QfXCo$^{I5p?N-m5b_h6e1-y>dhrimt$p(N}%;Bpcu#=Atya^qzF!BOD z$d%wOFS!By>?wZ=eabw&7=f6^Xs+WzMtrCl&sqQ9kh zl_0>BdcOpoln&kxek&(1IGu;+m?{?tY!OhI2S*K?*Pm^$L2UdtkeOr zE1gJfUN6wG2e5J=b9t4rs>xRd=oY$_jY9bX(OOlis=q3Q0o?tGT-RS8tE#R)&w%f+ luIu_G>VShv83zARd;=sf)YQf6rknr(002ovPDHLkV1g`4?KJ=Z delta 557 zcmV+|0@D471(gMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q#jeK~zY` z)z!Uj;y@4pU?eQ1HaY2PmKO-&9>7F!x&|tCohBW-c5_mSU}z{~?E{*m+AeMU44M7I zW4z|d=myEQc0Ojt_DUXnL(FD(*Yku-?uN78{E$FQrleOq7%(Cv=_&94ITFJmJjn2V zI)>ypCgevD+>_BLHYLV?K`SKaU2KTo^%qUE~i`TEK)B@Hkp8{^sy18vtT4hqs2nUOqbT zDs;TS$P08MH-fvo)QUj#~m`!1se>C0H8_JAp|lEG8O_a9xU+)++U=0a~1Fwpj|-e zF7-n!S0;dCz7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ldt>CPCcz0003BNkl^L{ z-9x4>tw4E~f`?#8kHj9NK(312#wWLXDV3-D_;r$XAHXjz21b(L#L4kqf@6|A+{u3k zP61q!w^@`h2ixofI9tzznuiuNO0bo0K}eeptbAGtFg~FfcC`(uo#=B>y0sK zKHj4Z4OIO;{(Uxoth0q;{;cbqRhkhm%c0fxrSps@gB32l3wN zQUXLQG{sNvcrpuwKd}CjFxa*8t1wB-!}#%{@?Mxu^}|G`pQslG2ZOLE0}sOFUx)M? veYICohae2=NC)r9t)d75mJ?xsew@e$g5KKy>D-at00000NkvXXu0mjf^$nj9 delta 307 zcmV-30nGlV1N{P!7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S`$Kl+g~t zAPhwpXcJ45-v9qwOBrrcm=F45T(?DMj~AS9mgV0Hh^xL#fDGh}lx74{u9Z%RcfbP6 z*;2A;f~r|PbxhQLKSxCC_iI2r0ww^o^nfw(9w0SQF)abmXbe-)6&UnAq9u5d@$h$2 z8=cvB@Gt>3Vpj8iK7koH{O^FpXUr5|_je-LwMFDs?@@u6z##x~lXj0%9C)2#$Gz`_ zu*_FP@x#YEA?o2H&WSds`O@w=SA9^IK#l=FED+!CAmT0%wA!^}Pj3QoQS1b<>LIkT z3S>D1YF>ljA7=|zMWvH@nN&kS&A8?eavn4J;L0u3&SKZ^QO4f9NjRAFJ zNDSF21If^#WJof0vhPQ6wj%+8_q(Vtp?s3Fe2?Dm?tISsGJkfc->V@UfCxn62_+B& zLE9&QcH0s`hy|)X1yuc@(?f{Y4nz?69T6dkzDSi2;so`Tww1m-M*XI)>Jkn}-o3Ag z7y>sna0&WH`t@r3r6j{}-vv)qRS;mZCL(;RrB)Z$ zF##|sX9~TFx`rwnNutmBd3MD};A1=`0gI4dxBaAeNCDCAA%SNuz;glI1+b9Zrel>A zKrO;!u0@2d8PQ$B{dx&UP;L*W4 z5A_ccMnhQtr}9NRu=(IA^Fo{sd<*otAT@Vm!&LRq2{k@>^N>7r5h#q$XaD87v- z-466_*0t$GygG&6&AguNm&OMjW!^ijt@8r_KJBa(Euy*0FmOimM(goPPZN|6O7mV9 zT4pF8aDP4CYzrM{NP$l_`LbAPogf9dHdO|}3U6(SDRi2kv!2yhnINv?Ipw~5HjPPF3g^{7KBrBKl8AnGP~@zX^YLFT zmI9)`20RzQ9|`;z?F6F70(@V<^*T47Loz9~Of8PD%%-Gr1A&&gFE1|!wsrcz7yJKA aAKw9&8_T9h%QH{_0000Lu delta 667 zcmV;M0%ZM%2JQurUw;C5Nkl3Y1U3oX|qU5e<+6yStDmm*MHkx&5TRrWqq)@uY(!Z+qpMvTNCd4B$8%(FjWaq=#PxToOsUuNau^(tkTJS{L zfB*|i0#zsoC4aAOBLZMyIF)EA${5IW7!rBTFVh=Jfb%cWgaiyi<(WBB9G^TB!S+Q0 zFRK8j3Lv|*^{FoTj-mjn31>&4Xjjz;jsmC}&4&tLlNTCi^9LlL7X|QI=K$c^?zfBV z5tS(Sv0A2?U_tJle zR)8y*@UXk6m3i@M3;@UVj790R;Ou4{<4(leb2z)1(>3{G@WF{P>z zqQ3Poutxn(snJqRV&o5s;l0XLm?D3`)o8uRRg@wHK3->we5q876vCCZ9t10VFfJxn zNgNyo*nia6oa{a!41|3D<5z`&xIe}~ToMK$lyWweA(mj_U@GMmWf0ilHkwh>mro}} z0o+A!7~uc_0eVS9K~zY`&6Gb+!!QuV zD>X|-H~j*3Ixx~CVh+?UU%*GzJ+;aXs#qDAJ2aK}wp{*@LUQK_Atc`VetGXMu``+c zH>K%_pQv=|VWx>vGKqO2Q>aKSuK5B~tW?eyG+NOSffAzjXK_q7e@IaiQpO7sxIimdYBe+D&=`Gr)nTBcFn)9W|3W5l#r?aJq)>^M!K}2W~ zWjC2#In@4*ipaG4)c%TyI6Jok)I&wQ5)o$yt>})h^XrWLpd;LMKov3E<9zX(G5Q_l zPXHi*@T-pz;2wQIf5jAk4#4k$(-`1=Q50Z${&ozogA?bUaR>~Lobiv)kFdnWF#d+` z5th8Y8nyr>GeJXOi>-W3`=N0)aAN$)dwq9|&bdFa*=Ync|1UT82{f}nb0jt|_E193 z1Lkml03N_CH_y06zye2OOW1mWJcL~HK#m(4oZ!eNR9_4MCT_~GOJaav3>Zx~_LBxn a(7*?TO3a8`qO~mm0000gLf|3oP zR5Bxh2lVAcs|kv1aW7kcDMbTwc@YVSxbtIj4RMK>(p$8rnF(Rqn$x+=wge&S)7f0c zD`Qq}OGFqMXLp%dI@JDyipY%n*8YZwI61ci)Kg8o6A>o|t>_t1=QkPq-i&D10d+)w zkJH6J*YIal*8o5O(N7;Ez&#HEHM9M50Dcb~$AH0$q5$jpn=zn&@ccjwckBcGU(OC! z@FRK^{0QptiID(&Td)DBm%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x}lQB6-aK z005~;L_t(I%iWSO3d1lAMRfxmB1iDpAxrk2FJ$OBiUwb%b0UbBVyNnbQ1nHiYg=u8 z{BN1>PxR%(8qRBvWbIOqAa$VNN16c?ndR(3J&9!RkZqiYb7urHO#rA~rDoXD6tIP> zWW$$P8O#GM!=io-*-Z%mwJX?J?7%O@s0emNOp)%F4>|wr{BdD;FN`BfTVdFPtuU@J oEe!*3e7uIdET%ZdKG@r|pFwbfytS;pmjD0&07*qoM6N<$f^$=3d;kCd delta 200 zcmV;(05|`}0-yqrV1KJgL_t(Ijop$x4#F@Dg?$4bqDRQc(4{-)t2%HFNmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldt}D4JBt z000BWNklKX2Pc6u`;w3q%1apj-SH2avK5e6wHy*nQ7{VeM+*5k$Q zM~?ZAeg1q0@B$NA=QS0fX+Op_GnOaQ#(Z6rWs)AceZUXs3@&oKZg3;JSrHp;eu)O-73 zJ{n6JU|9npwts+xfSV6-oD)!3ju5%n0P>?W@o#>OiMSof;IszTPs0(%9{8D<5pfm& zR0FvPOyClLCKd#I|6`$EQwjOR1jYoM2quOx0rw0<#?u;1p}(X#cy#5NQXm8t#?B7% zuq^8o-D?JvkJ1DpLBP^K5jj5O8n~CzH&5v8v|la(@qdSp50hd+@t$0mhtiP+lmOA- zus{v>*Z-f!?X-vad~eI##xdAOD#hqnO>{|E_?uk#+9aTxl+ z)-lG4fdzm%Qxq@ncHR`MBAT05P?cqQ7wo=`$bfvKRMj4*rPLXe+7q{E@jXhQ0Ndlw zDF40Q<$uE31L*v;%X@$x7pPQk^D!AC)CqtKZLcBhmv#J2wFjX6S@I^AWjo-MnxObo zfF5^yE<>aQ*na}Bkhah{-M7)!Gg$B`aWK?ZK+CiG{8b;LFj{*m zbbn|Sm)vT#9t`8_Vl@K+*#+6CO(neGW{X)Z7z{XrS)9y9S5wO#9Z?G1jeRCaFeKmD zgl2IrNR`|q@oIql;RMBmfwM}Rk~X1k-bp-QeSoN-91J+B1~LY0kso)s&k(?6a@Rwp zO=%@#T`@VPhDO~ey3IsFn~jSa&?Qj8nSU4~=nRreTwufw(9FOGp(~;gmh2BKC%)1x z7McW1$nRtbHLy@nvErz|d|Y4qD1WaoZ2X~I@^32EFeOCNipC$PTs_%llSjmrKR{Ko zNJ%M!J^pa2J9KYH0v`PVPfPu1g8lx0WlP-j2P&wgvmN~5;1B2)_uBUw;G2Nklwg@)p2`Qxi?6aRC$ZcEGcPCQ3(#X;tEZnfAiBf zv%AF3XIY2X#?#%O9P^8P{=*L71tu^}c7cfrBxzg1j;{=fzJKSnCG0ph0QcByOSo}- zVFF2-{5!zrG0(O&+@rKr!|ebjU<&Z7u?bwJNeT-h7<-1V4gw;ZZI?OqlJwL@#GN#TH=F2;)9Z*GBn^sVjWqH>YAc6q-LaC}dk4vc)l-iTG zaPb2aPz<{BPf-6}?{d+ZM?mZ2F7E*b)Syy>$H!zus0A1`+TBAqEbIJ>Y7c<>v!YEd z%Wl9aHGhHmZvi@X&!G-L0T_M*umHEvIo-F>))Tg*r^JC!Uje%jefpvwqcB>2>IA~# zi$103^XKlpcA&n5oTAv%#HQEpxi=`1#Co@&7$9#X%Zqhd~CT z0pg$dFBg_O?cpjeY1C?a5cBJzsenLsfo{~s7M{|ug{(Fh1UREPPv+yRnPrcUP(n{* zpMMB67?N&mL^GZXv`TK0cr}3j;RM8#fU`|KT0v5aONht=tSiui&=*n2 zR^%VZocKzQShf}*LjEX2Rs&1LDzZ50Z)YF2*FMPi6@+X5P_F15n>Cyg0NRSRf53Ki zvByIm02=?ms*;S9l(IEgHvZvMPw2sp3E21tI4$+jv?r6{AE4~WoBjbC>X>W?|4_%l cKm6b0E6f$-O=he4-2eap07*qoM6N<$g3bKiz5oCK diff --git a/graphics/pokemon/drilbur/back.png b/graphics/pokemon/drilbur/back.png index 31bd4a056e0ae0ff4411657b314e8883bef4085e..d548bfdead1502496798ab2d13987cf503d0c9ba 100644 GIT binary patch delta 581 zcmV-L0=oUU1*-*+B#}W-e*gz`Nliru=LQD?G8)E|HRb>S0uD(;K~zY`?bN+)+b|FS zVAh(tMM*3mn{#RdNLo}e4Pb9=Xm?Lq?`{nOo%;xVftH@wQQGLOnNq%7k4IAeserC6 zkQ)q|_u-DDC^7aF|5%*oPHGt&%|(r>yt1z9|p;K6$`w%e;aHpR~#f{b+;4!b2A1iBaWJaJk1X@jdaE7~_d64hGhJGsq zt9u6w905P9ewl9U05=v2wGUzk(|vFUnV7A$umf#54Fyade}D^ULLRmcQ~>iPr)!eT zNQ850t@WVn0ow;^8vqdSHq>M5Jrc~@N0%p1hx_eHbV_Oc zqw)ar)FA>_qHz^Um$ya8o4kKT_{=n*d;GA(%V$ETp#FE9uW@&n*0{)hMtM-5=b Tr$;mK00000NkvXXu0mjfzXtuX delta 592 zcmV-W0K~zY` z?b9)H(=ZeOU=dGjHEn#?Eq#XG*;$NLde>}#6809d2XeY&<|pt6K$*m7Z^}j|(4XVI zC)sg&zGLmsH{=w(&+kdHES}=A#f$&s(|4oOue-rBHD2NBBo5BTL9*R+1>W9{HddRi zz&N;4%ada;0hkRss0b#1+trl8u&e)twTsE-U% z1hk9fCjpD|43cdJF13_XELvE~+nrMCJ5FD#9!T%sAh@v{CQ~Z}r&wUA6fQ|f3;up4 zCN_el)|E&yO<+Z!wzfo&bl~$EK@Ff0;7B9|PP$4!2kzEie~<=$eYWa=Evs$`*4(bY z@E>!T=^mK82R6%cZZ~f-y+Ke@ZIiR(c$HO*=dC^f3$n{w6UN57Yn?HmX9vKVn;x9v zE*Amh2e9McIfBg{0Y^QCAPnb!T{|Tporl5s7 z{+Ma;Xr|3u`%)nGyc1i%gYB?N)5tl$P7OaM*a zfxF-xgpdc2)S=1c@HO{0x}#g_mI;7 z007}hL_t(I%k7e}4uc>NhIs>W>Ec8Or%p{E>FWFRE!^m$kKlXsZR}(h#IQJd1&eq( zb?VUcHon~b1ny((_lx81JiwMr0AMK?Jm~2}?!l1)B_#+l`w=n-_k2;_CpRSza^+h+wodXul~ t4}NGz!0ZQ7VIYDZb|`j!aQo3$y#Q}`cGNL>QKbL?002ovPDHLkV1gfBg{J@j delta 257 zcmV+c0sj8}0@(tPV1MLEL_t(IjqQ>>4#OY}M!5m9x@4k5rcRYW>YDrX7TM^M93l7U zZIUTn2oX!BxR75HsbiO_-^P<|1b&SDemEY^J;Y=L082sdK}S1M56%=QDM64Pr<9{Z z_)|#*qS^@F)7!O9@@=d`#G%yiSW398?5N8;DOQkK-fGi}CVE?dWxOrS*vM?ZM_^k@ z0vNK5t%Tzw3}~@!e-dWMlWGR;5`@tM=;b1Z zUI$%tV3uwBS;3Far2G1VAKDQx`GHiJ;D_xa;EQ-H%%{8oZ+LdpiZYki00000NkvXX Hu0mjfdiir4FC_A zd@c^a#BWvrrw>_se~cO+A_?wX;3goav~L1H1I)_i{_F{mu1@p9Jmrlq?@{z7y(z3QOuYYAZiCzkqYTYuC)Ok5*Fi~X%%n` zJlv%6QgO(Y&a06{l2`$di>U_S)+S)0>Vc(GO%o*qVh7}+TSFkgVOIe-2}RI(XHg=q z1aPGV>$D-AR91PopIU`TbuUC&Sr!3n(~)Snb^9hQ^3;|%7=HVX&##}Bri&)<^>O~N b{VBcynQZMg5`B^O z8G3dggv3~=GdDzv@2Bs+`$I1A&$x1Xc7QU^wG(T`>;%0&gYfJ==o|CwHi&Dj0T}-6 z={%odybOER{Oox&I6*jnIzM0f!y7XYEftV*f5eOu4yY1yfN`)Mm;vB21qIw0ryY6ykkRMQd#BUX+jFQ=+;1@I#~qBrX$g~*6pV{k=M4w;o!Gl`2X=k j3@)0$?>D)``9a7ZnQZM6=b00000NkvXXu0mjfq2u01 diff --git a/graphics/pokemon/drizzile/front.png b/graphics/pokemon/drizzile/front.png index 543bcf822cddbbfa5f9218ddc206cdecb9d6a95f..d50508c58fd5035ff3d7bff2169e74ee35535463 100644 GIT binary patch delta 532 zcmV+v0_**V1^NV#B#}W-e*gz`Nliru=LQD?G9Un$>{I{%0o_SNK~zY`?bN?Y!$24S z@Q9em_t5hMM zS{bwy2*dk>6ySla6~Qq8oK7XhXJ1=vy>bzlh7J}6D*@uAQQDA0G_*_rD;+qrB@_JO zJkikBF;-L1lWeO5e*{EG4uamkgMH3oMJ5bG69QRRc|g>0z)nNf5XOPZNuaCb7Tbg^ zfED9_NcDwY3otQRk#dDbG-t8i0a#jN$pMX+dhBuj!sdWz^jWG9Q<{u94+red#B}*l zOhCWEYYOPH1m@!mOaYvE&VRN$4+$w?HJl{}pfq5}Vfetnf0)jBJ1rQXK2IkK5Y_c~ z{UQJ!Jx$o5`-Gdo1dEW-BfDDM?j!+84!s7PrOyB?m4Em3ERF(P0mS@-P=Ni46nPv~ zftgo)`F$axnVXM{c_5~d>t&#E!`o>@=pql#7IeXz!uS3n>W{tJA0o*QcisNbz5t_? W*3G`@8kqn93IG5}MNUMnLSTXh4)53i delta 543 zcmV+)0^t4n1c(KYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pUqRK~zY` z?b0!8+dvcm;4>i_4g`&d#H%%w?CFrzkiT$75gCL*LX@n<{sU4T{sol+K^X+j1v~_r zq3x6bJAE>@fZ27>Ga*eMjwN7|z^;N*0JvBfW{m&#@xH?<@LUIc27UpwE4TI_ zCv@g}0KVKf3k(n9>N)8wa2T^B7#V?I1B7y3f@Jh@%3{T3H59IYYm;Q?SSp}7EWvIJ zZOT|;DH1pqzhwc(3t%w?$gG%*dce4cMd}swY=v{9WAJT#qX2p?A{;KC@C;OBe`^(T zA&Nbh=>)%-Tx|YS6Nne^EP>e6z-qn)3xMgW`H-W3Ei#fzSEQ|^ybe9fmSMRwSAkq)VYCJMjq0T-7wd9*xfW~H5nkSxig+H8 hw%}!R-{Zf7kbk3;*3Fu081(=E002ovPDHLkV1n9g_)h=; diff --git a/graphics/pokemon/drizzile/icon.png b/graphics/pokemon/drizzile/icon.png index f02ce10e286ed3d49a56fbc3d14cbc7e10876c70..373b453d7646e1e6b761ae8d186e819fe6f717a8 100644 GIT binary patch delta 361 zcmV-v0ha#91JnbMbbkN`bV*G`2j>O{0x}}*mW_A-00B2iL_t(I%gvHaYQ!)MMtuVv zCOLw=brusrSIJolQ^+cFpu${cY{)7W)PX?3uG9D@nN>F}_3|Ofe9~j=ubzJf_L*2o zX8_#zGjbaHBZ0fTU~>SUca7MV5_nho(gY=4u}bS5Khi(#|}BftZsGXcarw@y2Ye$&DrgL-44y zm%|iW2<)S(JHC!7kL9KkXdrJ6X7VY>J|#56eAvi$?K(Yg*0X>AepQ%U7KH)PpM_a4 zt~Cnd#oV5RfnqKlI|@_4E{u0s54df@2$bpiFgW9tbY0YA(}6ZWrkS!1n;&)xo%87L08FH3N2)nIZ$CP zGd5&p3+h0iVArYbB$Lu*OSOFHgQUmUUqv_rcP38KBLHs0Bk~&iBY~T|U~>Q;H;vft zDe$KB(<>5#u!G?_0*90Jp2=94_*eyG-ZHe*4D%i(eIHOUuH5=yO6AX2yKhEKCrleGmq^^6V_k4w5jz zZ+gIW6-J;e-&Kdf+n}WHvL34rwE8ib0xYe5xG8#)O5$UqAFdhfwoLRxDB4$!e$?0< u*NuLZ%~IQFf>(!&tR_I2vBl|%KgTC-?BO@Rd#R@Y0000zfaph6vvH~%4>WxfY9@7A41DorwO+R;BW2Mt+g+-9><+gk7H2>Jju1HdnXa6B&N0v`5%`|Tn? z9eM;{D*;>=J%2zAC}0zo6{?qM!PO!z1Z8}c(x<3BLKR>g=0NI3*|BSRn^2onkCh&< zRtB&t9art_^13$zSSv~aUfEMyFJJ!AHZ~Yz&2)pK7|QK__0uoiAVQ#>xd$H9`t5$d zSyhAySXFeTzU|NM1AfdN=CQi2%wP!^k3$)vrrI6M*MBeo$A{)ZCjqqKKOF`ISY85% znEAw61xQrXCV-o{_(48U50q7q06R*P5r%MAVw!jY0vuvwzSnx>kX6-DhM`9cFDEwMd<6uvoW1S?D*}vh84R*f2cwdaS*;YOuf03=a=6 zthoq;p<1KKjYk3H4b~6)%-1HO>^|S%9gbKV|G=mA=~fPPB;Y;PBwhMpN3G1-ilP8J z(tq)b)i^(%5!vG^x90f_)7mjJP1wL@2~ZdJjpK6ERbDb*80T5#e0L?FM)N{@oaO+S zP~=pF5P1VTcSJy$!lRVaM@i5AL^{X;zRPD4%0VVybe{<*MuaKIgH!{V9eRWFG;nVK zVwkjO&UOUE`BEj)0Z#4{u_}P5(SEWrp-AuyF(h=AKXf(Be4)d`Xz_c|5u|H`hr~q# xu{Yc^!b4)B-5=H)g z_wGA8;eD3%Tt*e#m-udb-a-IE&$E39Eo+4)+!BDlzSFP@pMPjQj=SOd?n%S09vsqo z9K-JENx2$-CV+y}yKs6MmS4nG0w{sh;q7Tyx8t}>90345Mrbp%H@YDO1hBFOdkFdf zbpybQK{y(f76KmjfBoewKppx7U`qj97d=27C}0id70Q=s!Brw|1QmScj#+S(N2md; zz!b>cC_8p7Z+{Ky<62MZ0o&66tJ-zt$<8nPDZuuk9N<+vdGyNpPi143G1ksEIEbOr z8Pq;}R}CTrI@&$(pg!mf2JM<8Ou(w4D|vO0-Us|x&I49YuB$MZ1IE{(0#RF@4yJn; zfa61Zrjr2L@Sh$A1z27NhzyfhMaWdtA%Lr?_)gqWUw9L5qVuSmH?0P%`j1%>$idgn%B7o;#voW8j$ENhe`Grw+R8Xk|#BxfQMF+ zEgf(YjUa&J;Ycbi8o)iUI8Ty^(kHr}wm7tkoU1+$1~8nrb>t=us=;jEB4uIFX7jeg z?Mch<(0}i<&TQ3iXNMUc9M0!m9oVW<|Er%W13%Yu{d2jlyIjX?;FT9A6n6sw%qYG& zGF8dp4@iJaC{&fELscdeN|&QM01P=Yp-_OF{XsDLR+0&Y0{lRwgVC8xD2qDCbWoy_ zfwB-N0s<--Og)A;8}}7P{4j0Y;&{y6G(%7TUVlCwkGYBm`EW4@LT7w@nNB{!rOkN9 z`Ej`zu(-vYj~5rP5Wwoc>3gbZpx`19hH{TK*F_iQRW=9*%vUBN{hY7x4o9qmf8bN+ zbgTO+67W82lP>+RD|cocNl}0usrbd}ocB^fe_R!rJt}H#t;b9gHn21Ss^Y%!xE#64 z%YWtz<9XIN-&zV_HD}uW%>n=uinx&>L|nn989<6C-V1SaFX-8yNe2snuUY^xOgxSL zTN2O%iV7WP7rm11w~C$P9ev58HX4-$Kg+90P>4wEnvQ@fVy6 Vc3?uI@3sH{002ovPDHLkV1haDvwr{p diff --git a/graphics/pokemon/drowzee/back.png b/graphics/pokemon/drowzee/back.png index 3489ea9c354101c3be20a836e0c78ede2605b2cf..123192b813b4092c2912918adef0dd3c15127e19 100644 GIT binary patch delta 477 zcmV<30V4j<1jGc8B#}W-e*gz`Nliru=LQD?GA8N!Nnrp00jEhsK~zY`?UPSx!ax+p zqX^mR6kR7%V%BCza{>?G$TJj57cI^@O_8A|ksheK;w{8YnKSfFj5Zl((su6$CXn~@ zdw=GQ=Urur(#~){TnW+%z)B#|8#$>B2qD6W5TgLISpevrVOfmhG0v2ErUWT}tD*#kf+!v)EmCE&vOXpwg` znHMDx>MTJM=n%L7seiuY?i!^|?@M=$g)G|J*jA*gCv@nXBagivyX1QP_d58(FKTZR@_Z7$Q`$c$r9SZUPJNy``B^7l zRYIRfeAQ08^h`iiadoIq!?OUp>LsJ*vNeH|kcho5KuM{JP5|{QaQGK+)nD`t`E+!9 TL9js-00000NkvXXu0mjfKLFZ~ delta 488 zcmV5oVo}dSC!ZQ>~7cI^@O$kF!B0W%d#aoD*GH2+U7&Vz> zQo8pCCy@X1fA5VmIybdMX|Fx>H-hv6un|ZMCRVBdA%s5{V&Y-7j&d$W(0hbli7y0r zZ6E;37y{8;Yyq;48a~s1T5F%njwbTbk7t;l(vARkdIDgxg*@$O@~!k4pm-22z4j3C z*@uw7v&aMjNRrBjAT1a(B8C8QT=@VL61Fr0YN7z_E;0ieN*6E98i4_P>>^g*is7v3 z^UqzBta>WIpmII;I7Bqngo(+)t<4SJtQR?!pwD*|F#-TQWKzC2**t(BAbOv*xpHsDnw!%P--o!;@0#3t#Wm z_hpjnadOc`Va_u{KB^?1J0_q?UmZ_C{SW2>?8}GL8yh+uz*$H%{1%|3R9P>8`V%<* e3%KcTInFQnbaZ=@SsxVu0000EZiXg diff --git a/graphics/pokemon/drowzee/icon.png b/graphics/pokemon/drowzee/icon.png index c5fa46316c6f2b64d340bdd9b2fb5324ef4b442d..a35ddb567b218dfafd60a708ba612046f0e7f9fc 100644 GIT binary patch delta 308 zcmV-40n7g80*eEXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x~ELLu6(E z008buL_t(I%hi%G4udcZML9tu7Dl*6x1NP15))@&smxNuQpF3oTBoW^BuhmmHyOZ$ zrBkccTfV-3zO0udzdV9=!VE+va$H8#W~(_woKUmFzX!aVHGgsjJXb@_{t^4raaav% zfK~y*M(`1Mg*DTWtgv|iF7<>j))2I))*@o=0Q_3VMf}GOb+N5FA!^Axws)<1vOq;v zYmzM3LP{%T$t$TX^GtH++!QvoY0eHZf`rXXe92MoPJ6f||34o9CS*jw2#SG8+&f@| z(mP-r1z=i_gDqJI3cz$8hX|N}LkvuWg9j$y5c5%flaCkbFT~%2NuB%v000013;Mdt)qX;PAF(Ct~$j6}s5(jccHO0ya_ znX6GDQjuv;rZSV&62~-DAaLie|2Q0!F5>99>ETGe zSXR9dc`KRF#@by);3D67wjzYW+F)%dkt~$!+{)3hDnb^rwK#YHhLEdoGp6@?H>;!h z{&@i~(+vd-um;A&XTX5-55Pp8fT{~`DTrb##`U?vD%PDHLkV1m8-fAatU diff --git a/graphics/pokemon/druddigon/anim_front.png b/graphics/pokemon/druddigon/anim_front.png index 25fffae7f0cc30cfaf1e37f383ae48bc8d71e916..61a43193d91541b32b0f8f1fd46d0b840924cb92 100644 GIT binary patch delta 1660 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 delta 658 zcmV;D0&V^61^NY$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ivuK~zY` z<(0pV+b|5qogmqx)OOZJHg509FCbgD-vPCgRf8FzTL;_E(6K|`x1|0>iUV{la9je5 zKa(Fn$x8PB#`z!l?YAduU!#Xgu7T=cez<{~HL&e0P}NzstJE5(g=XiW831Dj12E>>1mIkPi7`tiaaQIi2OQ9+K;r=E($hF4W;vh^ zz;a0e8p6zzTM5^H)9nFp$ED3}iR+(fidD7<$l7dI`$E8v-$e@G5J$J4C1}*}tB(PO z8dDnS?V5c%l-7TLsr=a1e}&)&|1fUu^hvSSZ4H67k;`q>U7w*8l(j07*qoM6N<$g65GhwEzGB diff --git a/graphics/pokemon/druddigon/icon.png b/graphics/pokemon/druddigon/icon.png index 77011932efee55fe8c0d9365774ba2a8d2732eac..528d55247e027db80f0a6be5ab23f34109738ba6 100644 GIT binary patch delta 418 zcmV;T0bTyv1NQ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LduLkSFoQ z00046NklE}~^=PybA(g8XL`V6tEm!MWkFRw%}hJPR?2r}RfG!znwJo>B$ zuBnyIBw_@>rZNFwjxtUGYprpLLjXHqtTBdt0NqRupT>HhWB)5nwYhzB(yD`{c;(C7 zTw4}fEVs^4obh3v@3Fu`{`f@QkmKhXOR*aZF+m}$crW$XhEcP8KThp%LxB5fC8xH8 zf0+QMX#y*m&VP1Hp<~Kto95&{o{PV(X^EiL7ka1*gQ)dn2(*bX#1m6542LHHzzk^; zhT7+jpcjT(AM{KZ-3GFmFdUT1XcDFl&PkdHlkZDa9bpj0asE&oUaN)&Vb=LB_#uQI zgt;qr!H=O4)73X_WB}t5z)QwGPfPK_E&PBL($bI9i5r%FF#PVv54CItE7&SgssI20 M07*qoM6N<$f(Z_{&j0`b delta 389 zcmV;00eb%T1KR_TUw;8+NklD9MtOS|KL`hyOJpDGvbN{ORYj@BC%iUs?>8KrRr8ehzve}0S{G})>;`sE&vfIt$&mv>p-kYZmYDl6{M#O z?dJB)a4ilR!;w#QbFHb^LbEjnLyZshd=E7os>dgcMY_`(nqoILM9Atw7w?T6yCIOo z-@B!?n=T)ABajtVaO>}roZ;W^v*e+N(N!7eIwc~ zyu=G*sCuXmukAot5@ucPoF7FYW0CH3SMQu3=Z*-kzF@;07>B?tC)m?86kC{?A8Z9U j_v3iPxgW%Sn{-^?wQL3}+GCtC00000NkvXXu0mjfP{FV~ diff --git a/graphics/pokemon/dubwool/back.png b/graphics/pokemon/dubwool/back.png index 5981dee2ff3d2f28c798f6cb3080e6d618f39322..14d69aab7bcee05a5228c5c74ece84fb948273eb 100644 GIT binary patch delta 613 zcmV-r0-F8R1%%%VU0xn5JK~zY`?Uc`I+dvS; zw*p^!%Em7cIYgmKFUBvB7+-obrXs26rNJ!tS}<#JDHMW>$jKPPTn(b>B=;8Vlc9g& z?$hK6I?{)EDgM=XCU=C8ay#HP>Qd}Ce;C^mwQ56pexv>v zvCo7r9@E(Ib{l_@c#afgL(*}-T7Q_o)>;ozA$&SslMf|0Pw~2S;tX28W4=mJcd)l!WF)6W^8-@xP*z*trb01kEE<@J>@KLFsQ&_`vcb>i}a zo7rrB2k=hjE)Qwne_7DUjABkTcGoq$BH%XxFBs@EaDdZ< zw|^#RBa;XSIRDBLF`gjx9vTMysB_^FA8!a0fbP?e|38X9jSmxN6qmIS00000NkvXXu0mjfaakI> delta 621 zcmV-z0+Rj91=R(RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xn5JK~zY` z?UK)G+dvS;w*p^!%Em7cIaHxaFUBvB7+-obrlP6nrNJ!tS}<#JDHMW>$jKPPTn(b` zB=;8Vlc0a%?$hK6I!4LKO0Zvo)A**2E0aHio*tDJEB%? zNY8K7A0iH!@Wn$Kd)|J3<1Z3Vk%DYUy6#u&_wzHY^&l0(r|UI&UxM=#uUe;mtL4f1 zwu{Otulq1=0knL7yTua{4KJDL!5X+`V17$~y~qOxAV$%d18klo z#?W;@h*9C;!T}S269=SPmwU)-0E|}oPIzQfL)*iRSrHa!TL*DEK)f+JA%eaL_)Wlb z2Ko#wb3642CbJ7;%k6UbC=^x=+8PO)qvisAwo-0>#TI0raS zOS^o#^yxhGpunl|ZjoJwwy%g2T4mqx4NRuuUxA zBuA9ecfC~v`OVsq4*;oCdQMMQ2xI_Y7$)g|cc`q>RRyEwSj}2LV0#jneO*y7uw!&O zLCnUK4tQDyx(-gA4vQHJ0HA}}ZIRFkK1*+ytU$)3!}PWU)W2jvtN=PInY8Iynnp`t zSW2O{>E-)OqAfFw=&az;t<&`LOQpb=vY^A;Vg!1JpE6*q0D7GV;2XI6{&Z6S@*k#u z{^}k7H=tGx~eKZ{!l#d zX>n8NtjlUlO7KGgbzc@h+X-v$#7aO2Pl&L*YV^Q|@K;j9giWvk3N1gaw-BIvvtY{jDP@_Xghn#Q_2Vdwgm> z_QB44K6K||t}+fvx`wsJq!G#rGGLA?Zac&$xWT8`!(#4L-iFw-5yqM)uqP@3B@2y3|VPDc*B?J9Fr{htCWDwmfAIi~jVU|aj| bM$`TP?5%pN=b#*600000NkvXXu0mjf|Jgs8 diff --git a/graphics/pokemon/dubwool/icon.png b/graphics/pokemon/dubwool/icon.png index d22fed2344794456f3eeaa451b1ff990434ffb04..0dd5954b779bf150d83d4c0ad71fdbe22cae6581 100644 GIT binary patch delta 267 zcmV+m0rdXn0`~%tb$X1iT%0r1LR=zR6hWM28_yZG}c_8#@G;`I#dwM$g<%U}U(1b3!yTUES}ICixI@ZL5@z9-u4$x4 zvJ>zs1{~`t4~QMuMP^P6_EXNkT7O|)2s8KNCd|x_n=o@fuEMPRaPR#%1HAjSJ>tBy Rm;e9(07*qoL<4udcZhI0ce93ZG>=td>7!;N6;+H-X2-EgFi zPUrwz=nKN5?cPfD_{o;-U!M?PUEo%rb4vyX0j-@8s6{L<95^hkCBUd4cYHRS=Z1G~t~iOz~; zz2y9>^%v%iFmpd1!p!`52s8KNF3idg_t}pty!*91$42A>00000NkvXXu0mjfZxMT7 diff --git a/graphics/pokemon/ducklett/anim_front.png b/graphics/pokemon/ducklett/anim_front.png index 59d600e5ed1497aa82a4caff01707d0a01b589e7..4aa45f89499921c7a6781fad3c651f770dce690b 100644 GIT binary patch delta 551 zcmV+?0@(eT1&{@hbbkN`bV*G`2j>O{0x~y)OKFn;00Hw!L_t(o!|hf*Ps1<}tu0l6 z#8AgY2z6Wf z)Ui-92Dl#|<2<(x0q({E2kc+vaCa+kmIsqEKNkYstL>+w5K+K03AUy`L9;Y7p9s(fT z08;&Ak-bA4B!3xHnz2ihChBGpR|vcANTPa+q{?$^h23|hJTI*fR=`p%)sYHK-Y(pw zQg2EvOa=QysYd9K0Fhl1lrhy)j768&(eRniOnBHdsSKER!6MfImi?J@DXPd@^JhH0 zQ%ok;ua9_%molG~`D=-CXvQ4WByqYL}0jg5* z-yU@J+4zU*jn{UIhKzyJKNvNA`v*$}v(OXcAJ~eH<@^M}%0GC9L^8ttgNk%sy8Odi pB$2!K%OF2!f6(}c#y@Oud;qB#zwFm`e<%O|002ovPDHLkV1haG{5Svr delta 560 zcmV-00?+-B1(^kqbbkU5NkluG9iaK|wbm>%vlP>%Ml>Jz|vEHAm?Lbu#f9{Gzo)n#Q-_!R!+b{9!^*X#w z1a#!Blf5YQ5-3Cye}{~H^=pXW*iYDmoel2@07yn20@DO2{C^FOGS5QE6yW=G57+te zGr;YXPb}QDm0kB&^g*eNmB_FmQ@oDfOt-(sXd2 zDAf!N0T8<_L8VkTO3L^Ido_0Dt~4k{2!V=F7N-&!&_Iml!c*3^>@9xd<+W-yJAe3z zx45s%d0jr#sD{2c?u+|+?*GbE;y+)Z4jnqYLYE(28h^a+{P00q2A&@nT-x6zKR6J< ze#00d0fXwR(o7jxi7afjq2`pN3`~9y0(M%yBEgltvvq!e0A$|sO$5!I{`?GDruc_o zJ(0YgL7Tr#ez3EyTDwJ~U=zIg!MN#fegM|qZ@th1lOJRw$MODzVUr&UBO*lthRF{q y)^+#Y`YD_r9%F&ry)XGe=L0vP%MTsi1pWX90Mqe48%8q#0000#{H`BQG z|8)1=cV}fZI>uiDF5>6oGKZH@02i1>fwaJRv__MsaRB0Fen4ePf8qcu@#FwNqHRFN z7>PKMsdI)&ut)+75Vj)G=SpUqu!|-DoPZv<**u>L@#-po%mS;IuIoNM zCJn%q0={b(&=shD?W&LN-LG-l%eWQd&EKV!S$&DxJ1J&$R)PnNqCGHw2+qQci}LWa zbr&-ppZC0uER3G#e+p{GQigU+=Y1~-Getpf>jELj0@fr2$L08%Vr4Q(xMWZ zAOS$%C`-T$P;Yw{fa>uBeTu?lnRpE{#4-ZtDg`jW%mu6i$Y}96k(fI}GrQL=aKF*t z0i9aHar^N}*FeL~aDeeva&+B76a=Jf;kj(6UHkR^w}h=cA!}R7hXk|z@wfHw@dGk% VcK`9jme>FQ002ovPDHLkV1j>k#xno_ delta 441 zcmV;q0Y?6k1fm3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eeYAK~zY` z?UTPw!!QuWO{DB?l1hxkby=7aM`Fc|fv|-tK|;)A>4b#Tl?5pA3G-YzLSd zVD&rBK&b;3DqIT!iKE0PKbOTr`qzPZc+PQjv6WIeO5l|t4iJAf^ zL1?jR#bHwfbZALQRTK_D-Y7%hG+_|H4S>Z116m?iDl-Vs#L@%EDtV%S$Og;=i1GqV zB2agRrRH4Qz}-fEPuScL*0diUWeqaj3=0UiV@s|&Oq{?tcKB>;m^t?A{Z9+q@wDs4 jb`ps8=n(%K2z>(-GH-VOwa(Sp00000NkvXXu0mjf&QHeT diff --git a/graphics/pokemon/ducklett/icon.png b/graphics/pokemon/ducklett/icon.png index 7689062fe3dbca71fb2f12d4dad3c57804520175..6255a6b587cf1594166a0bd5bf47a16dd56b0e3b 100644 GIT binary patch delta 288 zcmV+*0pI@60`~%tV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x~;_{Ux{n z007!aL_t(I%jJ?m3WG2ZMZLjXNa&(=>&o0oLG0E*Ne|PFg->%01xW=J3 z&Mu$%^ODKWvLCBuk!P|t5s(VES$YC+6%8$NQsVeVgHZ~Tn z84V}LzG=Y6QdhTlGQm&dj636cJ((yjVzkymC|r3LuZz1%R}{1VEuusSAz4pABKVh0 z5`{su9Dwu$JY<4=d&(^%)1^A)VB}q?^WfN6+RD+?j(rvRy4M19jI|(>F&%h<*$^`i|9~l(C$j1lWsfJEbOdG=h0000Vs`oD&kM;biXU6cBKI_oS%5q^&9W1Lqd3q(b_h`59U3lAaPmv< zo?v9sx>o(n#-_b*o#o^-v@Q5p>YENX7KF*oI5TcAlTG3x)^Qjkg1xVJnXK)>4I*RBqZ0;AzLExo+z(1$`0)nasfJEjlfg~^0000Y diff --git a/graphics/pokemon/dugtrio/alolan/back.png b/graphics/pokemon/dugtrio/alolan/back.png index e114284819b74add47b737b084e0bb2aed9ce800..b12f5da9943be923268ad4754054978e91f7fcbb 100644 GIT binary patch delta 406 zcmV;H0crk+1pNb$B#}W-e*gz`Nliru=LQD?GXl)xobdnv0bof)K~zY`?bNYugD?;P z&@guhMnWAJ5GOSYgMX#X)GAwttjXH;6Z#>^>PU#;2EGZTc444*2J8d6WalK1v7gU( z9@uQwSmXX^l~So4ZQV#lT>*gR`5@(ynym-CPV?bro7xe~atyQZf8<7bB7$KO@uhhm zMJPZtu44u}7Ohc9EfO>qw1|Ka?2aci5oD=P5gaYR8zAm2A znMc0Rz64(Gf$C<3x)ONvE1F*zBa=;HA8+4uq7&f~d|dcM-Sw}|13iGx>&<>td}x(< zkPjec!1Yx8>Yf*%f4EjI8^sco2kcr8)PKN5mE(^CSBCc-Bsebt#$w$th-Scu6otKp7840%72L#@t{}nQ^p_A% zK?7*?0MKSHr(mz?MhRGvNI(ac=k>p~#(nVzKhTiq^?*7)3;+NC07*qoM6N<$f(??j A{{R30 delta 413 zcmV;O0b>6B1BV2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?U1o}tA`(D6)-i(}6RlByNi7;Q7HAOxW7r)}Xky4x-y%F(0B?Y}w;(&I{jw<>Nhio@ zMnOL`)H08~(cS`=dq8zFqs{_9en#^RqcXW9_ImlGiH?Ytz}tl<>aPEE9?%2ue!ba0 z6%Va4599-|Wq|!u{OKMSKyj^HH_{R)57@OHP`?3ARgPZ{7+;lm2?|0N1l-v}jX5I$ z;&~0SEqr|}fuxbXr@*}hCaEc4*YsN%eshq(c?sZF)C~ji3^1ZaVb9QFA_3`wm)Ot= z66~4&2-_*p02)02XuFqFV6W+-1Xv=G01Yh9!Kzh%P!Rk8KhTiq(&G!C00000NkvXX Hu0mjf2<);~ diff --git a/graphics/pokemon/dugtrio/alolan/front.png b/graphics/pokemon/dugtrio/alolan/front.png index 313605dc3869841607e5529a6854b1d2cd04bafb..01c69c581253b2dcb73951b6b79a59b16fdaea63 100644 GIT binary patch delta 668 zcmV;N0%QG%27v~UB#}W-e*gz`Nliru=LQD?GXy1oIm7?}0%S=|i%0VhSbfMD6KW==K*dZI&_#{CAtlW}P|<&&KQ@pohFj?5rR1m|ecZ#I5J0CF zdqpssuJdE`4eF@Y)qWA1&eP8a1(;WRL{jEHup!vgT46sRd8_OTi2}PpXKFwx0 zv#bv`O#xMIx1G^StMd1qT3>nieb8*+m=#m&j-d~K0mHafKt`)_0R6`YOwr=Zbx`x> z#N^w67Qp4`YhO28oVX4k!g(HeLZHm=xdD$u2U-a9wwD>ef1T=*0xm~iAP;CX00+BN z4@%rsxq$IZyEHRUO@h`G0r>PC-#V59a9#mpa_@q3hnEIp+ftW#Ujg+o8N5zofsyUz ztLY$}{z!~NK!M;aZp>%EKF?%0DfB|Ju@c$%!&NUs6eF>E2HvhBA)=L^1s2O#3KIPy zrSn+I-h20+(O&d#B82SsDWznuj~Vt5IwiJk z6M9$%7ZDw01g(bSBv>AZgy&oUZVrf8VrEN!C$~M&lHfGRV{?kbb=+i zoOv$JymN2yZ9os9HTyO)tS%>>3y5%D1a1(h@i8}HdhJ3Nf#LQwL%32~Qb23=6^ejP zLvV3R&9KTnRSOt@&#g;fELKmz+f^(?ybAKb zVwp%m;$NhCoJhG`q;r-7DsrBMeNkOVnX&-CJU#=WV419Yg-Q@aNxJx*tB^*?n&A)e zlrdYRK{_u0EQy&2Fb!kOPvnvndJw)$gRBuhVm=;1E6A7YM5gE@X@o#r^tFRzEhWBU zd`I~48KC)Mu3Uk)6k><3B*a3BBo$h@DxxCx`7io^(zHL_hA8$bgN6410000|f9C>B_fDJQ5ZTO~ z3&lN>nRS3BMNCJwrM1D7kci4Jpu+qRBpmdo$~6m7Nc602g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL0096=L_t(|oXwIkZp0uEMY#du0`XCD8&;_(U8Z#^+NE+4X$vYsLqkhtb^-HL^?NWbKXFRe`6V*3*i0~y12!g<sWe5FXxL9_oi(e;^F=K^W(joiM8o;g=2>Y&w*$%sM1t1Z5qPFjASUBtsIW k@p{#v_T%UG;gS5f1AmkHG+YomFaQ7m07*qoM6N<$g74y=<^TWy diff --git a/graphics/pokemon/dugtrio/anim_front.png b/graphics/pokemon/dugtrio/anim_front.png index 12a88a418becb8732f32e17094ea9aeacf1aba60..55129fa47b11c0b9fc115d052e77620a37a6bd8e 100644 GIT binary patch delta 751 zcmVr?*IS-m`OxIR9M69mN9SIKorNRB4t5Hz1Z@W#U;#uQFp?V*-<|L z1ms9fG8I9ZPf)%Q4hl<|*(5Ms`|uIm}{FEH=co5jG1J8%c}o(Z^cFQ6DW0t6-i&0+xhb1(z9i>U$V zfdBRWGk{|N?!L{80L+4^84%HR3bydl2;dfa3Ls9w7NBSE@><{omjuwVp-YJ6d0OBN zKo742vD%uIADs{C69u$Iw_$F`6a0SxjIh9&0GvE9pGlzIaL?-C=Yam=6P9QZ(rLI2 zoW(E;+}#VnAr{Q1z7Dt)TM|J3!$;5ozSt51o&K&=9*|*?4!r%M0n{S9WQ2F(Qp`IG zOcXG-RjKSKM{`k{Q_+l9;Q7&Ag_v2+fn;^c#r|WP_OL* zINzPr(Q7*b9XzNGklKzWrgOWPfCiA-?xQ<+FU(pVklHQ)U)q2I4>nsuahEp00BEK8 zj|Xchpqn>2%A{Gg9yqq8WIGm-WOiG}#D<+qvxu|-!<>Im>OWS`EKtn?L6LuWt)3?T hfKmE~(m(vy@f%M5u?!;GN(uk~002ovPDHLkV1i)oTbcj> delta 701 zcmV;u0z&<@27?BW7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0)a_HK~!jg?U?J5 z!XONV%Ys1*^!*=qbAc9cTPXfiGzfID4`zGiLmUP#hn~e>k)r)c>R~Lj=-4 zGrgC{N;LsC6?P{edx&aT92r9`t+gcm$J*WUWb+u{j z11m@32r!WJj|6B{f&th+kOQH*{jSTg{B7P6!+0VRRXuae(?g_KnDL_-b8Izn=~)-Rw6 z{X3wMfP>gUM-LSMBwiDo2UP~BqN{`V7X;_F4O9pfAaympaR~swZQh4%3k4tn0kz=p z1E;&dH!&~^2eh2%fOPx<7Z1VV?K}zR9llFfT8jn`BIy zK+Dn--5Pp-FM6&9<-%$L&`Zt@FPv6!i5p0O;6;XVdFg3$=W-&rWx>yGTu;fK_548f zygCJYP@QG7o(sn>fxf(Om42B>TAaUvtGb;f!E15x9P}^zH)&WqW5$dbGiH2Y%o)ni z3}vs{*bHU2-h(rg%zBqIluqkhSZ^^)?6${p)mS#KF1=o{9#vfc@B!#daAJB|-b?&pU9`K22G zMebi!e*V7uuf6j%;LW@%t%^%+_g|TJ-bHq)>ABv_yRQCj=v@0oneT1CIlcB#}W;e+P6)O+^Ri1_uH&3c@%P!vFvP@<~KNR7l6|luZhQFc5_U zLf3snT=W!5B&ADn4$@+v>t3q8W~2Gh=-A(_Z{f(iFXPMv6k^k+zXX8IE2T;svMMLy z2xar_-ul$5Vtq>p=M$APKg(TS4-v@Q8Q=~A(gk2%!UUrxYWj#2f5>d!8MXHz6JQq# zKn_pkXC5m=pcwqV)r2tN3&0iV+(?QCPB-mW(Ud%JuRSm=VL}VQ;X$-q)&!6b3LO_O z0L+#(0dUM?KW7%`5d0P3f+(46GGz4#6v^E;0m;EBozlvH|kp8@kJAg3->(4<+9F^wte zcR&{f%IIT2@j-3?dOd^??Hs81Ad-^4ln_rRQC&fKE`~P%00008NkvXXu0mjfoKb!A diff --git a/graphics/pokemon/dugtrio/icon.png b/graphics/pokemon/dugtrio/icon.png index 40a15521a261ac930770134fbacee7fc7439a94c..0a4daf892028fd4177e38fa6622495ccc06473fc 100644 GIT binary patch delta 293 zcmV+=0owl70{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0y7OS>8VxKy03sQCnP-lC{)=y+VonnU9n)b|Jq_t+r{hzVBef(KAS ztl~j|L6xbwn}-6F0>5?wc_|XOSQ+~VvoBOPXK|kb500000NkvXXu0mjfM+Sf2 delta 254 zcmVN1nnwA3AApy)I z1y&kd1_?`rSOiHQl@+#@E&|=344Q+~;}CvQpqo z000AENklzi-n}5XTd#&VnMs*sX%5d%Z14Fh4YS}df}N|ma* zEn=l^{s0Qyn@Ap5g1Wr83kZg|6IB?}SE&NA(4{|4Cp;z0gwm-mG1LX5kQOsI2oiU!2U><<=I3c3(~{jOQcGb*VsN3$Rv+Vj)&ed zwOc8VJf<}Z2!8>{hlhi}-V?^yu|v#6jBnE@T9#!ZQ4ruk6tG7rRybtVM~DEDJbx7n zu$sk=KWnR@9{3D?KYY$&%sTwKu5Seao;Wd)tKmeXXyqLfypXs{(DggZS0g|gX zFkf2e2h#OwPXYxDH86*>9w0n=v%Rwh0ifstQ?!bJVSgB_0JFd6M{d8UI(bT~0_clQsmpOohcngq zy~ynk*sPo~bf01Tf00@l0Icr}0=5PLrIkMh)&>B^M*Qz{!`O@mQif3(k=yM{E+y!S z#=G_zdRF^1>R#r!;&s-nS-4X*Epdq}UNae*vwx=Rffr8tmNkL4X<QPWe&@V zqGMN99DfU%-{L-_tleS}cSz4R71b`Q#wFRFYW|4-O>m|%bj@M>6Y&e>NrS{qF9NXu O0000j3~Q4w!9V29SsYyRGY|C4krroq(i)ngsB#G)Xh1K6t~L}B%Ui0Wt4t{`=}@EW~|v`9R2h=F2H#5p`f2hoM=FN z{&p9g)qnN*-^!e@6K*dA?5FF3lzuGss#pJIWfr;s%bVSRwQj&hmmYrrEOh~_mGuAT zinW>!WGrj9Pir)iRi290yT&%7t7gRtXu$aGS=KRnr;3p67V-=@SeT!`E-~uhiP=~=e{xZc*%Mu!Z8UXa5 zDZ9?&Wl67d9g~ii*Fv%>5>4KjKO;$xhTrTyqpVS93Ga|z>1Ca_)ze~6w|}JnCnUQ| h==D;wSAVH~0p&@9#Boe=5&!@I07*qoL=2=RrO*ebF)6J^W0OP?Jlax!-2NhneNzdV0MbUN3%)<5dYxu;aj+j)OC zs)eA8F~2u!gXp8YBhd?jArG3O8%H~HbK8ryj6Fe4^IBEs=$-nYY?7}F8JQQA|QX<06PhO3>}arI88yZh1eLt3&r!sHed}=pm4zgun@roH_F2`=mDLa0F+{^!6ekV${g?xm4MY}1uibY?*3Sdac_Fb?Fh~g z#HW<%8Nk`s2eMYJIS`6ZH31lK3v#9ERS+S})=(TpHwZDz1k`}w!l@PJ8fNN(Ay`0` zI<~?yCz-vw-{TxJd~Q#m1a40B+kr8*!p0VL^qU^OAJloFX4k*7YyGeO0F)>ADq9lD QTmS$707*qoM6N<$f}FtT!vFvP delta 496 zcmV%aVj33;BnY*X7b0Z{IiEtH595Co z@54*J5RKPDgnSAzca~S&;tJ5VZ9^gD>;TC}7Lw@-#F1b?X3JyNF|AKv8}4ZGfUH_1 zedPoI%)eoqM3@s%9 z2vdDlpMxuvIBK=~FGAZ`4z7EtG5}aZI<%GvXdoQx*QPhfS63z&0Kw%44P5d@h>#w@ zUH5qcBlF2T^Fv@C m@erOZ)VKVsS+i#SN&Nt%5*?gSGkwqi0000O{0y7fPRE(7X z0072GL_t(I%iYqw3c@fD2k?<_8h;cEQph02p_q?b1a)e*{JBeV z-vtKZkOg->PAJAaxIG)0HSo15x4WPCF}$L4642=z%SM{mOw+4)7HRO)@#`DF;P4 vbcDlDZA%W0ZwQCvW9E?gm^l>x|8EX2eD{Dwfqokm00000NkvXXu0mjfea2s| delta 231 zcmV1)~V1LRgTDI^0Lpkr48$P{ZoKPJbaBu=3K=!< zwJn@4fIE^YZ7Aps76Yo*7pNnmG!>s(z#^h(vJm80TH*LARAA&6)V1@64vjuvbuIm^ zG-#tVMbCuO&c=hinuzA36I=ZHl>27Ahc4B5WWu%j*uq@B#o!MoU|6i@{@m1lv*7Vv1un~W2 z55P)b-VXs1aRJQ7+YpolH~_KMr3|FtYn|7jSYrlS3CM5M0%{3#L;UNg&ova&!cd*wbW?v}B?;K=4|?b(;HC)!l=`%<2xxc!cY!@1kPCoc z=^g&NqJdxmc*Op2UTO}YZGu14CK?ccpzNC-^DPI^l?m#;Z_fF}NpA4RzJ8t?V2>KR ztjoG=L3zwcey4d1rVdl^7A;JGUu&$OaA=nRraiiNTLcjH)bdh+OEZPfDV2YK4Ly#Q zTEOq@(9*q{N^xVKO&KsNv3D=aQagZUW+D^cAcj!cDidE)PL|2Zd)(u{jkW83v)Tu| zpc@O}imG^#e~7^14;<3w2tJel&<3D?s7tWOKLL$R{{1+omvtiBgJ5WdZ8-1j0dPm< zp*`@UpS&2DGa5%fF1n(X?ZJQVn8dwkMSBoW;$DDY4=(B-3ijY^A4LDq_d31;OU(+3 z=lmf02Wp|{cl#>uc@txR?zBG^!wf97JILeR{*8cK5O?$i2Tg#a{*PK8HTJ-YyECaK zhM@jN)1uiPw4d06$q(KFPZxVI=NBv7+5@h{*&cAf2YbK`-FtfgPrz1NwTnGqwKp}u zWDkIGARp|(AN;Chd!T@TM79TtJ|0+maCHa#<(-BJW&i*H delta 667 zcmV;M0%ZNL2I2*f7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0$@o*K~!jg?U>n; zgCGz^MUc)U|Np;3vtvMS;;D z9^i&x;sA*BVc#F|5b_Mjjo|ZsyJ7gT)a!@>IL|{Mq84yT$N=l+&jgzRRssmS5Y`|9 ztPG(2yg%W}HlGMMz!7X(eH#kAAqv6mLtW@SnE_-q@lh0i<5m9Vo0J|VoVNbQDSrP= zECfsXGd zYyZaq&Fe|=e;6>*e}VreeQ)g__kW-7*uO;o`}U9P|H%GP{U6&uX73mF4+1XiA2E(g z`$x3#(*9Av*!}@`zP5j?e{f;{2;kEG!T!P6{=xow!AbvNd++PN;GQ-e{U?dO1Nsk6 z;jI54V5tB20Q&l0^&g-abo3v!*Q(Rd>i>>)Foyb{+6Qn;G_GTAAE5n*t*if%{zE{V z)Lqnn_?`#60pIg@05~IN`VR#$-GA6t|6$dCs$Vv-Ae1hdaby4h002ovPDHLkV1ijp BP<8+S diff --git a/graphics/pokemon/duosion/back.png b/graphics/pokemon/duosion/back.png index 1512b039209041670025bc0b9646f40da891e045..7527c440ad897e603e9e83fa377aab1a6144af32 100644 GIT binary patch delta 399 zcmV;A0dW3-1oi`vB#}W-e*gz`Nliru=LQD?GZxl4NQ?jg0a-~zK~zY`?Ug%@gD?<= z6DbEEtGxgQ$vqaKMO*<*H~_-wiGV)c-XPp|$1fg!P;IkP{(@#c|1Ktss~rw_CA0vgf_5&m9Umr-x@mY48Gmh tN)2jqtV;I-Hmx@mSET&>eEyey0TR{8`!Ie%_5c6?07*qo1w^hwV1kHqs=ELH delta 407 zcmV;I0cigA1AzpPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a{5!K~zY` z?UXxigFq05iR1&|C>LNs+MX4rMO*<*H~?bZV*$Op+`!y6vo9X|ph}U#e?c?f{xkD0 z5WVH<<9dxx>z{-q@p=7}sEJe(s$Ym!d~Oi75CF@=7NP@#CJ$O5kODvxw7?Eik3=2@ zDCgQDtNg%C5FH5+*y6!|QF0F-fdEBEgg*hgo2hqxfKLXv z6BiJtnE^@{Ak%IL)xiQDyB?(vkV7boZaOBZ0l9*Fl-{US53aTyd;nbuZD0c%VJ)$J zHFQ20d^vy~)Z|!iul4!^o41=vYU2A%y!CGtMZXf&$@?Wmw%Gsx002ovPDHLkV1m_1 BsI&k8 diff --git a/graphics/pokemon/duosion/icon.png b/graphics/pokemon/duosion/icon.png index 9385bf6140a48c68dd3a58cba98561404752352c..a674bbaf3a6c98320b572bb630cdaf132f3984d4 100644 GIT binary patch delta 271 zcmV+q0r39B0@?zQ7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ldx0Mut@#0002JNklK9(gr0|=r3BTNh=JGfw2LVX-5u#^?}hzxrq zBuD&C8pnocpVG`{l zh<4Wjfyrk!75^Jw5e8$)7X@3_A(;0J>R%hAupwbkiq8$=!rTp#!c=W0jNW}N%ni>U Vg5E7fVvGO)002ovPDHLkV1feeXZ8R9 delta 249 zcmVlE47#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S!bwCyR7i>Kl)(za zKnO(RM$OIr|G(`h?9EvyEiEk(a+;@W6z4eZ_)bj3R#pT@QjQ29Og9U2V+8c`40jLh zi2^*I=u4o1Ot<`6VnUD7-BF_lrjG)g07xIhg90e*m!nKJ(RLYzNo13(2MsY(HDQ0D znt+MWITRtek#>?;wM(SuFxk3lpGtPI%FLaqyn#Fbv#$>&+0TES00000NkvXXu0mjf--~Ou diff --git a/graphics/pokemon/duraludon/back.png b/graphics/pokemon/duraludon/back.png index 051482fb11bdb67586f53cbf2aaa0ff33191c9ec..437ead5107728576cd9a19b38e34c8e8c2dfc1bb 100644 GIT binary patch delta 550 zcmV+>0@?kS1&jrdB#}W-e*gz`Nliru=LQD?GaIOgG%)}G0q;pfK~zY`t<^DZ+b|S> z;RNmhnj_RlC?bR12uM#EvXy*GI$M;3&e(ijM;LI)=MszM@p0^i;_Fk(B==1 zKM9$>y88d0>zfPU`}XD%*nVC6eq-GB+d3e(I)VZHTmuDz->ZO#f7~TNawP#TfRYo) zR*T}xg9ml3mq6_|VXedbh)o4W7=V}`v3bG554dF@^FW~=umfFJIUqoB0+a_^yE~Z$ z+-S8r7>D)KVgdt1EFa|p01*6r^RRo$CEy6&<|9I*)!2deot&?rOiXCpkK0^=A?N|9 z%nDs&4|Jwc7i2Lse=?An6?hYUBQ`d73Z*fy3^<`g*Ei;Y7Dgj10bW51XIBA;Apx7c z%p|n93OG+=1bCA31P}TIG#LQm00VeE|8;Q!pD`ya171BOr? zLNTCwIZudJQ6VYQe oCUlP&fco{99O(I3{=VHeH;nj_Rl2qJ^s2uM#IvXy*-fNl->GI$M;3&e(ijNNjM)=MteM@p0^ zi=w9p+VtV^Cn3w5Pq@C^UIBNz+iPI=HTQhm*xk20Ae$Y*fPUsc!Qgim5RttGNM;i7 z3Me^&OtmU*9v!G_y#{K3w+Uk`rblcmDEt7#^oZ>%7H+^j1DOU2-GDvlx=H~7iW8tb zn%e%5Nx+Rpt7BuaeqK#rfQaRjTmb-rpSO?u=Trht;Lmb|Z!{Wv@V=MJ6;u-vTKoMz zmCz6j090ayzHtCL(WnbD=o=Zx#0tELp%GiNNr19xU>$HmiFRmzOam<%jj#rI1ud+} z0uW;Ywg;I==r9X7Ph$XhmdgYOh6HR90K^eS@OJs@;sicpPFM%Lx=%<0pU_2(r?Xik zD4)=!fq(#x12~vv!YfXonFE(FYvi~4?;@dtsj7l+fQJ xz~b#p^i)j={VhhIe*GhQdCB}W4cBJ#A5;EPeTH&e&Hw-k002ovPDHLkV1fff?|%RQ diff --git a/graphics/pokemon/duraludon/front.png b/graphics/pokemon/duraludon/front.png index 99ef63bd7eb79103ae7b85fc118a4b30fc862995..3727bb9ecb138d80e81f22cadbd34e30542ffce7 100644 GIT binary patch delta 799 zcmV+)1K|9Q2ZINYB#}W-e*gz`Nliru=LQD?GaW(ekput$0_I6XK~zY`jny$v+fWby z;Iw$n(4{-7x<`Gsl?sHYupbOnm*-0((T(I{$zmfoW2MBY7pDG-?#MzSOku;#(xp-o zFUbb@H}swzOboKAH|Kr6JKwuJS1P&d)tgHB^=@?3+F;22_M5F0ce}Pg5O4C@f;5&ITBi z0Ht3api>5Xe}EX2f4s(j0SE0ua3DcIpr{Br5IjIEY&J#kx$_dB9ESP42*WTcMhcu3 zoX<7TUQGSXehm{F+7<&1-pCURZK}5 zc;Sg72}C}CC&HU3WLm>Nq>a+yNeJEs*bZl5IA(AtWY6<}G63{Lx^6BRV=Exm0p0uC zVR$)@;#iJHI}f;g!td|g&*L~|a$D_u5eaCLh~ouIe~#olP?Gzm@Anz2rDt|02dX@I zU^M_4@UkMN*9mB*fJzt=Xu{(kY_^m|%MdGI6R^O30M#%y696o&*#0Z0)635N4eE_t z7HsuOXQLr{L(}T7^_mQ;J-qW-NWk-ka};iqT`T73x>d0@%M3~ dR>_wC6#=$~hP>0^ie3N!002ovPDHLkV1nxOajpOW delta 808 zcmV+@1K0e62aX4jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0_RCYK~zY` zjnpwu+dvcmV7GY9(4{-7x<@_RN(Dkx*at(^<^0k}bR&7OWU&#Pu~OpH3sZkZcVrHs?OS_x$eVl>B=2Mk!zKHg{hD@5{mK4{uLi0QF`$ z*u-{84psYPYPU_o1lDedvl`Wq^CW@e_?=pmssu8ab`vA{=1fj6pG=B6M+qC4l?7<|0C2 z5gRqu$FKyby;>jLG7toP#IWQu{tLM16oLZ@LIOoa$bsM?Vqvp?DMG;AmjLB3t>;CU zrm2`2aGQAkbh1^Grs?23$N;)wm=~(74jXm`Lhd#>?mgSbRt8+;w2v*#Tt%tO4GEln z3PL>EKcyq3-&X(9c&^C^2TRcOyi?l}X!chj;)Mh*UczUQ5Mv4j}}4}=U_XEE@yF)$nj|90hezCy`B46k|azXtCKGx1q~8OGH2XN|abB0G3tk{FT$` zukQT~>W$nMZ23uN!vXpO%kHi9nhdKxeDhgEzz<*@DC=#VjwP^Rw+O_^fO>DUqU(^w mbB4f}Qn)s%%5qy#{sFd!hP;0rjXeMW002ovPDHK)LSTY{;CE*L diff --git a/graphics/pokemon/duraludon/icon.png b/graphics/pokemon/duraludon/icon.png index 6025a5c254e75f17a744a122e0379e440a2dc3b6..5c3059bcf7f77e9d60a276ba81e49e86a13c925c 100644 GIT binary patch delta 323 zcmV-J0lfa51Fi#*bbkN`bV*G`2j>O{0y7{PgWVMX009w6L_t(I%jJ?kN(3#N4%e7;CZYTBM< zV8bUY%cSPW4Q0R?$dLp<0ej zg*&`3_K&x5irYOkhW6{2(W1t*S^=OkZ3Z+^0vt4K+VxFiemR>bB^7NiGO*z@mVZT3bL56H;4Gx!LnMBq zwUUZL7Y_!=s4!W8NNb}wF8g@`1XWhyIv+GEfPJ|PO@-UPFm_LOaf*9gH{(C5kHDXZ|09eT2_xLMFw)v~*rFFk+H%-U-1Ndo)-;qX zdtvDDJWAIKLo4^IhcLx-!oc2!7Z7zX3~b^@7eDsn3;)luKbr^I+5i9m07*qoM6N<$ Eg6(gKn*aa+ diff --git a/graphics/pokemon/durant/anim_front.png b/graphics/pokemon/durant/anim_front.png index 46e975814b3bcdbe7a228924b6a344498e9db995..a7a0ccc582cd1bffac9d6829d8f8a9db5e64e247 100644 GIT binary patch delta 767 zcmV+c z0008DNklL35ih5QXI#E4@|*rRT~fnI7?)_G*ljOmD*8b()*g8u#3pH2zE*Tq(9O0v#z=>A5G>kn+DKe07qE($+Z5bU%WU%ELSaDL!ODoHR?Ml2Hnf+mqxE3BWu9R8o*}Uu}CD z>tGQq;Llp+@_#l=g21#4_$^rd$Ufaul+&%ubD>)$@P2bO`Fg+EZVA!+Tu;)bf!~Z! zsaY0psW52vzg24pe#66XmM!F=zyeKVKDI_6S})VofaP~mID;-)1qunvF^wT%cjye) z*dC!+LA+!cL=5Qx%@gWfa}MS^KVF>K(XStOwfzTgj_+f^_EP{q z!n1+vqb@kvi^Ezyg0ie!K-~Fxy-budwk-!`O?YrUV~3wcii;hL7BYnxaq-zDtXx@_25C3yo}be2M>Jm z`e@F>K7Tw&t7uMo@xV=zyEvH(>cIo2I+`~p@xZH&W;}@pUUf7hNO=MeoP0EEL#QGt zOa~9xNRy9d@OWT^*>vzA0Og}uL!|CPp=AdT0x&vFwT2{e*?if-gE7RGjme$oWQ^E% z@PJR_Wo7(~WJK7(1HRI=;mYxYSe?KFJXF7Xw0JEIZ9HJOtqd!26+(55tpZ#hwpF)i z$r+v+*tRb^>F&bXUlk_PzfJi-4};!Te*wuor!C}YpauW{002ovPDHLkV1oT-Yw!R7 delta 733 zcmV<30wVp=2CxQ@Uw;C-Nkls!ER}La$Rp=02Y(JdOO-}TP4Iv$Pq^$Z z^^H&@(D-S?O%%pVCbPxc1`r6h0>1cRA`<~;@A5E7nu>podyEacOv_W zAA57!Zws=Y0r(kS04h&bK~Y~EHsT3{CglOz2fwf5Mt>rnF-g(`1I}{H}=XKZZKs>0Nmt5jN zJgA(P;D!&x1Mj@vnoTqm53N1E<=Wx4rSetF~s_8xOo{Yqr37 zPdsq))_*J&S`l-mI`M!^BzkKG9}g5$+fFKZDi(F(0bR=)xN`Y{t$X5uJ(R7CcO}q{2gL3wV2!Rq zB(80%0F{SbwOXsu0nZI@_kcRoL#*?E9}il9eO5REqDec6w_QmwOslet=4ShrVrR!6aBpBK6RlN0yO2AKwhW zRw#9;OZ~?pfLHq(5%nwmH<b$M^Ma85*oHUT~ITLpiwP>p7ycq_wnd zRL1$!#S8Fczod95$39dz;+PO)m0tZV`SO=>3ygq8 z4c{_@Hb)98C=d17e*}w3nJyAExomHx6LG&{c04`=ekeh9aR z1X3f_0$l(4IszV~4gqlJdLSYG#rxXqOddz`SyaGv@uimSBD|H_>J}i9v#>FhrCe0#I)|=FetO?1nyV%p y$a^ZifybQYGV=rwt7uEizGl#uch#l-x&8w9Fm*$$YfjGq0000=a{Mouu)C_SX=}av2@{kpT1Zj zvA7-pf~jIgRE&TvxPQ}sP81~e72!|<8#^f8v(#B6I_cxwR4kB1rC;?unt!Jv;+Vh z78n7G8op)*ZH^RLP#)^D3Ko+xT_k97>E22v;=aY~czg{0Os+D2#l)BnK;!FiMv)v6 z{TQ}~38Y4%1^D>;%LsUoI0V3<>w&xk_;mkg1lj;VCH_TbvswTjfY0}1g#kFqVTxmm zHGfMO{0y8Iv=Sa2y z008_+L_t(I%jJ?WZUi9=MY(~sTcn&3MoI|^2Oww3ULa?Nl~RJoE2YHCC_{$XbZL>0 z7JpAp28lQ)ZQgf5@-=CXzZSUKpk30XpR<26X^zV#NI4tCxWxHKfGQWnOF1o>wnqWc zew3-y-jtL6)KUucrZ;Ef45g@UVY*qW)Y4G@I!d#{kWbVa1jZ2%si$3kqPOWBaA?y3 z6Am`ukPkRO&EbGU^$$20a}Fa83wpFW4or~05nt^RWfQ6};@7m}Ae``p=c#NC0Pi@T z1{}Z@fTTiKHThO-1D2M{%X%IlMk4^@OI7MyVcR|uEYL5>K-0Y%V z)VZIte=~6oWfLTy4Pq!^{t=+c1@V$kCDHaMAli>S<=UHa)PGkkIYV!HcQ(wBv+5S6 zyQNAk4fU_1G&>CWM6E$!908Gf+Vv-To6Z4;HXSg_!3Mmf0}fEra=@YbUpN?ZUPc@W zdbB$ZkiHOKZ3(goRT%Me+Hnw$_`>s)HwS=soK6D{;0Ul)l{yZjz_$WuPswhDWe|YY f`-i~);o}>fGZLA}O`0Qk00000NkvXXu0mjfWO#a^ diff --git a/graphics/pokemon/dusclops/anim_front.png b/graphics/pokemon/dusclops/anim_front.png index fee45d14a3ed25b1d5373c6f9e688b6a0b717cbf..fec0d07713a1299382e1710539eddb402026d497 100644 GIT binary patch delta 1208 zcmV;p1V{Vo35N=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdxGU|(gi z000DPNkly^h;P5XZ$FzyPi+LR5fM;rMO?q;iTpfQ2O+0|6{(Rix4}yrHBA z;GXyZHtFk+x~qZ|qQ%aDi#WM5T~a!29>LF$*`*|$#1929f`2r(5LE2`IWxPnJM-&w z{*Tc;vTi+TUi%EbGAwx7xPEfV1wg;qz;~Rxf<0~#jJOz1TEaUKV#wO!rvRO&Z32Jf z!jm?^1?TN9PEK9GHo@oL!jDngE-sVgMn)|L5*nFoHnC8GG+s3t$jC+VDvz2yyppnb zlf{$95U+kyCVv`(xJ>WNM%u%Faz@CmHXFo+C}^`oLATFuah`^$KTUQ<`KN8II#ttVnOE+7rBhA zv+=>rHN+1p4@FVX|E=`TME}shnpT#H9+V9bVsan|7k^2%5u{o$-uEEJpy^Y@79@l-G2ESn;d}jH5T@6Np_CZXe*~nMbj;FC&+`Kp*d^tOz7-DlWbTt< z+_6hHy?#&qfGe>f4#GWsDSqjNYg!QWdOk z>B3X4<$Rf>HFfCG?SeA#(~2^_xXEhXuX&Rdg|0qxy_xFcoZXc3=9&VDbF7-6V^BrZ zTz@NNU5zkNe`UrxhE;Ppon`9CTgoZzf=sj&WHYP}VJ{fO&ciqk7|t=kXyyas7+~1P z0K+~87{2N*9y)tI%S?0+W)a*y-b7BDavqc%akyX?Gu&t=q^H-Pby z2RxvDNQ!aUc};YYS}5B9#x?gx!2nfr7iH%)xdoO3Yzr9Y418~(n{nBB`>ta-4!{mD zz+#Lu-5qu3wGe3Cg4qTzR?1%B>2|I=FSTN@ED~%1!?%>4q5#yLm-gyYZ-;QH0e^#f zvldKrJ>GO)9TAfnFyg|eWoy&3H=WnifLF$*(D{M#6L0+1S#T$ zpo05xW_D+}-_J1qi_tqVZ-3T4_Yr(*+VExT{Mk8W0E6}bUw>2TG4iBCFs5uY?I`bz zu@UK*H?Tmry+Rzp*n^HW8pai+-6_t_JrG@jM_<8r(X>ObOp;p}bp%LoWU@WPN(s_< z(;6Vd6v@lHHOHgmrIf|%EN;uOOs;=bAzF)AruTom!6IZ^5&89RZ+}NY(Ncu@>i*fg z@y|&tTXKAo+<*V|?(Hu{Dx0h9eUX$AQdu-L%!GV>?fv-;t|I;cF6;Bo=SiIYMBm^} z<`F!vC2<(;VuAY*7rBh=i^W{4t+Fq=u?pk8-SP>T42!u5PV~nNf{S> z$f+}t(|-W~1PoLT%fne5GyUD5z~f#xHSi(+l)x6Q3g~JtfxUY6e;7jl$o-Vx>J{lBCA#sm@2&$e55M>TE_;4YMb*i=q2N~<ST>uM6j=P8f=uiZ(sNXYUE`L?CWOVMYZp60!aXsESu zRX(jL7F!t$tU*Sv)h$vNZ13>EW3T06oum!-(Br!mcH;XDc6@c4HGIF;ZB`We_F3q~ z)G`?J+w!@!#X{m-)I;Dls7ut^DrM6hVF~?~73&&W??TL#sV(ogPH`0&qT@og!sZeV zihmKErtp6mCjrB4pDO{Qoe#`YfZ?114CfSJnC}A^9SKUn=vd=>0ET%IFnVzL0Wkh; zz%Wk$hUttR0!Hl$GaYsS7;JLXREHe_24mtd!1LY#V4yKSRG59gPiK3;co8aN){4?k zOhJ80=R3dv7+@1ZiFQZrytV+Gw_#oZ#zw{CzP5AiylBN> z+bGxpMqn#FRsljgFRnE}Z-;QL0Rz2R3#R%$uAEm_M5G3cxCn6Ct~|SPUP}uS4SyJl zfH3!A$1QwXzZU<((kW@rAu5C3%h4HRXmdGQsPwD$l2002ovPDHLkV1gC!9z_5E diff --git a/graphics/pokemon/dusclops/back.png b/graphics/pokemon/dusclops/back.png index cf2b1c434308872094892fa1c04a69c9eb8bbe81..0122516416d6b6e8a3525536a2eff3af69868243 100644 GIT binary patch delta 571 zcmV-B0>u5V1)&9yB#}W-e*gz`Nliru=LQD?Gb@f!1f2i?0t87!K~zY`t(DDc<1i3_ z3k$l2-K7t(BckgXn=bU!XJ~@xfVLu57OeC0!u2Yr^}`fkR40Tk8Mf0REIz^ zpJ%=qDe}$D=dCZv6=2V=5PRTRFi6i%fL4(BNC@BnGD|}BvlM>re~Fm;iAhTNcZW1g zQ0##|p(Xr94u>5j`T&^9B-SawSJ=e?_#TKJIF>?CynXy@DwQe)$>WVJpPsLgvb-qDr5aKP%_#2m4D zt%f;R55Q(bs9qe^3k_ovtbotcWrre<6J)JlUlv_FDg#{LZejGGGz@HfiROB#{tMI})b7mKTnt*YfO$Wu>Byfi{XpQU?G#=Vp)^D~~0AQ@Smn%v&|Q(Y3yC z!1B$+9I^ac_H(cffYpGIojA&88pbwQ0iPzT0;@&1!jrgv#>WoOt&qd-4a%W{yKQ@C zOGv8MMNdJQ<~nJTOW@Tuo1PaIDVX!1)N2Zp)r**md3I7T9Y@-C_d9VXezgB%X}V2h z0LkWoQZ%c8N!VE zdI4TvDBW$hiN^-u^&7zkfOCYkY~C0Ke&F;%$!mc9+8K2s-6f9zEO{0y8fDJMal delta 261 zcmV+g0s8)c1Kk3UV1MXIL_t(Ijn$H|a>F1HMEQdo>|Ts6eHhL4*5CNQx3D`q$z58UD~Ay*Vho z0F(9eXPI;rl9#UkADDggPhimaa19vl`DnnP=c560Zr1p~+kAWhtpvKW5B&{%00000 LNkvXXu0mjfjLCuc diff --git a/graphics/pokemon/dusknoir/anim_front.png b/graphics/pokemon/dusknoir/anim_front.png index abbef6aac90a156e323d686b489a01cebc36da52..2ef9ae11f833e3ed1e9b261e850a4781c036a018 100644 GIT binary patch delta 1459 zcmV;k1x)&i43!L!bbkN`bV*G`2j>O{0y8iKG|h1U00nqSL_t(o!|j&8j@w2M#(98b zs0wnIE~$=w0_R@9#ZnR^7lgqPDH~8lt(>S8Z)xO;6ePGZu5b~-VlN#GvNCX%11-`y za0LPepmY^bph|3Z*5RmqvXcekS88CK3$dw9ZY`{LI zw)$N@Qc5jl414>yT&=o~h4^XtGENQwL9!C!S%yHkTcdWddKcr5keMe0q`LsS487G# zgz}j;YKrjr4uA3BZRi#N4ECM1wt8nJ7g#|`4|~|{a=H@O940_u?`6G^VeDa?HKpg* zV+(ErfXTtbOOjFC5Wv{|oAF;bgtGJ7`_~9~;yh;g^$j9bSKN&Q1Uwl@@dVmRU4Is5 zJXcr!Ab6~xDVvA!K&St{}cc1Fps*R_j zw^_59<@h3GjWFguV=%nxkCTy3(M^+}w`Oy@;tQI{I!D4%{a%<(C>}#PO`}pxR#qRE722CJ(w7kaRn7_4LvTmxM7X%c4VTN4Qb^ROx z3kaEDXM-Xa0>*b)0W4L9SA~fuUA%}vihsdWAb;>}k)f^f8AF6pP!ALbm)fno;sr2c zEX!tAQQ2@)EL7FEt`pEjv(_xj=G_TQZ2HcB9E-NX_;9HK*0QVVJJ72PQTy}Lc3%T$Y6vA9R~UX zZwu_5sI5PEBc%ME?4i!V5pZ8c7OVS-d_ujK=4Kgm67y*-bd|cKmi&)xmXDg z#XHPidLrn4QvX^q+91JyMSq~>|JghlC1U)sQ&jZcrZeQP9=we&$zaHN?BY?XAc`d> zQ4BWg;o=AM2NwlE@(+$T6@84O7tCT``Z8FZE!E`AyGI#*MnuYU>s zLoA~w&g|MtCzN3j;yO>DbLGkq5+Nfdn^7YG08~9vwLvOVRJBLEFUUNQhp=2B-Pl7J zNNAmsE?^hH(0>iz|A{~|39XO>C!La_OuB_I0CU~P2%vvRcwA^!swF4gs+!YqLA^$Q zAh~crYaQ-^J4G%6s@4d5Yoam=aDOsVHPEVuB_`d3G|3sAV>}v=#c9EsdczWZj02FU z888^&H8n;+nltZpi^|oflO7&guj#@0K(a8_t2o0H(53%_z1>L_6!(Y;lz+x>Vb8IP zo0CTXPGqG018w7OdUJg1oE(OXwK4*;P}Ob@9xDKCFpzNUTeFS+0c*&JEPudW#UTIS zH={ads=gl}|KMXIc|O|@Z2dz^6~M0MZ2dz!UmgGo|KKY$AS9o=K;a({z&C*kyt@P{ z+CJzbW=QM-6q-m*{)5DOzUTW-F0;MN*nt+bJ1ES<)*kFWEp08dN7%2t6>Tl3!XbB{ z&5QO2hc?~TUO0!vy@K;ut}Oo5e}{bl3(AS|9<+V1>@U~{`@dx${sz~_{6510{Tl!P N002ovPDHLkV1m?GtAPLj delta 1448 zcmV;Z1y}l&42lepbbkeaNkl~hYlq86nMx`A>u9>0XYS5ltK^PQn-WugCe7*0{R5z-mFnJ;q>g-5bS2 zouZS(es{%YEz=V;kyVa_rFz{U8B;uhWD>*ram(PmM(?7{IcL_qyBa0b#61ypl8N61 zx(os$jDK^_0&qqN;Dg?KHW?*JjKGnqViUST)w2Q^C1cm8mz3a%{T2dK&LqQl^TxxE zCkb|Uju|w8=+WW^i(~%AV!=9zJ}(K#|H2HJs_Oa~0u~T5#?JbAE(DAp(i~W*6t4;s zk2`n~{RIDli9q1{JVR4uQ-%nopdKg=4z+8(=6^XbWh_mnR$kd~5-e2Gx2_Y=MYF~< zO=q1kj9c`b|2P&+h4H~c1FX?1CF47@Z6e^Qlqw*Ez~t`m(+5+QPVpDB@HLL_j=o7z z-61CU(Ajp1l#;VN!M)6>2TLjovYwxc8NMH*^HHP{0y`TsBH__$EIjgzyp2Zic?R;k>7 zPy|#?Pbx)#adJ{QIV}QAsGJu1gT8>m1hgs-zw8o_!Pp~-n}hzq-2i(hYU2;yO4)+l zGT*G%SIb*680wXToj#!Z&zvLRzZF8IB!9i1_fh^8P=E$cFPFka@ea~guJAjb)V~}L z*GTZ+(I05}e?E(cu^4^q6cxR@ZV&kDhwq{*G8l3eIru0g5cv|5Cm2E4E@*O z{oe@G0?aFPir%D9sY12D&Vf&lu5m`Ay0C0cTljjGu-2hW5 zpkxiPw>m1L06QgB1Fd>kV%&*IlYi{t1;)cZS)2x}s5dOp!#DtmngRVjUQ=xdq&c&0 zC$C(3Htym>)16xVi@sz*q*rl@DWF6Dht_5%nJDfd6Da?T;liF_7u%CZ08V76{R3^| zPO?3|RZb2=Mp_wxS*U8;gU50}8w@1u)}7f#|9~}QNETqPVvv9E>S2{LRe#+Nkbm&7 zku00;2R8npp>kkXb2k2=nJo?gxqt8!8W57tT_E=l2;iGQ1>Ri(rnV3I5mO}g018bc zC;vg>J==++!9bw7NZElFv^&Vn!^R%$o`$v-+9T{&UQ=5Os&L31X!D}|!J$pJu^0AX zaW`>3i`BpMb=U{6pqMD`K_T0RLl?OLz7YTV?8Cp;$NWAT^(77f0000T1=m`#xYob=^Z;e_XrnWiK&wsU}xF zCLavZX99C_@wt*vipIQlupcMq(N`6-~5|K=&Mj~4qg>Xri zbao2J)RUWIgvLM%=%9`RWe^6mjDA~Jt(mBU@<=}O$d-_1Ke}oB7_d}BMPL*My+3heVyt)~>Jg#N$roBIQ|rgF7K6;f&d0000?;{mwt=i&RV$8T{hVKMI14>AIz_}UF1N*d8w z@q-1V=mI_}r3~Ts00!v*m{KLtk-@0K4@0y72KGC`HLX%3Eg&j96B=S>Dk^ns0Z+v* zlCaDeqy&IggxnM-Uso^&L09nmI-;y7R%Hb#!<6gG=6OD~3aX%g4FYc^zbhI=B)3ze z$kxUXru4C$p96C1$;~N36QBjUsN+CcgaKVg*-Lp)Mxb{Ja8nf_f@dqvxe*wT&j4|A z@@qm!N|J;K`$n)3k@IFPkr1>!#PGQh1R-kQ-AldHNC4*^A$F_gsN>|eSu6{<9*vkH z(#})R>{dDS-b-nJbM&F$v;+d)j7IG3L4jokTk`YKgaEm1fP2ncgwSQapD?{7(1a;V z!0Mua&z9wCEWnaBkR%T!U{3Y^kAx&is3U|H7|hxNKGVb;5mWRoB^V%q3OG;jAgD4d zK>&kh8@*T^gIe)OM7pA1SZfT_Jma! zoa+&>tilY{4=}4Ra-{q3m42!)n7!wnFj;sXT455=2JXUy#3(laMVMk=W55sm_y&O@ W$zM9Ch1dW900{s|MNUMnLSTYgV}}g@ delta 289 zcmV++0p9+%1C#@hUkCvoNkl1fM4UBmn&lO-Fl``-h5_QNRu9tXjKqT}=^O6hRF!1NQAYXE!7j%=_ zJvk*yNO0Pnl@f}BEN_x_E*ci5yOh+R*~)+%-l*J(3@?Z$8;GXzZUYY60VQd(^?!E5 zTo1@Fn5DmSqqaqVG#z$azsq4FkSHj%qooRY5Bd}PZ0)__uD{4m?XSkyDh>*q75v< n%#l%U0J1RIzRG|f`0)jSBFSG33=Ugq00000NkvXXu0mjf=NWbfCz*UXcsSz90;mSRI4~Cxzvv1| z9dska<5Y?6D%HTzh+xNr%^bvbryhR*jR?}oc;02ele#JJXd0#C;LxE+Q8hO|aib*X zf-nH*M;;OT{qt`E95VeTxC6+yr~3I10cy?-0d^!@UY+WvUmB2Q8GT=Lo7lYU?h7Q5 zk6^;N^li0o5UEYs1Bk1=dLV*ELLnUm6nFNdO$93DUd8@s0JZcNn8ZJ@YEXX{&{24v z1IGIrHm?%pBJyyY9$P>GdFpxFNcs`l@IC(6elGh|5CUKGIrjZMh=K1d38fJ(0~3Ul zPH+_(F~RH@V~qY`^bcKSBJ3Zcgo}`Wh)9=Saee+l=NaU0{$bu7QYFvyjuWkaD7#BH zUNbYCh4l|}BI(F1?erGbKNx=*=M=aW8esi{$-AeW(s(xhq2?L$b)o^*Ka@;(Tcr(P z{X>mXbIe@;wEiIl4?x#w{e$%0Xp}psd7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0$)i)K~!jg?U>Pe zr63H1OX6s;?fbuO6F@{gM*{A}e!HYM=VpE;1is3Ae2g0PKa_LyNYB$#{X+mve}wP| zfyq7EN04*f1eS8K(5064T`wT0lbky`DCD|)v!2{EG2przAV)mU3wk|>ewJF6YyzK6 z1PXcqEZGE>mg5+I^#QOE;FiTqDD@(XC($Xv<^uBpfbB4NWmyndOZ{fS1q-HIL5OnC z?8|+O7Az*nSO`Uv2ENZ{)7T3A+{qArv+(SwVs zUTqoTEEaswCj(7@aFkaaLtH-@K*ZelpY_E--Wv#xs&dhN+k31vKiD2*`9*ii z4{BdYP-T9RNgJp90M+*@blCg%BpvgE&BraFkSn0f5B8n7AxMw1YzAEOhq?!?L@4tE zxO^53)7SuIet@ul=5eNv`Z7O=-|LMQ&iR4;PEq=Kv_Its4Yx9k;*uW(3-JM8zm-JS z{2*Egf2M1F%@1fJ*!0)@AfGYQtMgTUu+7H=c$FWd@fe@2FY*J5dRq(c@&luRzdt{) zF>dk$V diff --git a/graphics/pokemon/duskull/back.png b/graphics/pokemon/duskull/back.png index 82b1266c5c49dba965119f88d0997a9adaa57a5f..eeeac31f8d40d86e676ba2da7812922f55883fc3 100644 GIT binary patch delta 476 zcmV<20VDp51f&Fz7zqRe00013M{MnpEl$Io-oi@|eS<;I zWi@?^Ko5Q0Sxz!bapK;`bPCaje)+fLqWEL6s@}8t!%o-ROkVBbsMi^y1t4M>K=glz z);1%8R3if@5-~Pk0IwUfYa@&%<%SP6eTfWw*j9 z`Y318)gk6*>{?Zt6)?AM3N*T81&q5S`bT6yodBynFa?0~S2sPOk-#klcpl!S8VXPV zNtcZ|Id}INcO8KHWY~#WlKizu^Vj~0PRcQw_ODM zGlK?EHE~VPkKRV8d%zQg`t)mR*+x96KtDFLeYo3rvg9ih0V4D!eAs!w6N5;h93UIy z=*A60VIs?0;pAvyycAm`fS7(GU&#JnJHO-YtcIPtZ&rf8nTnMdKMfZD!QuyXhRz$! SL#nm_0000c0004VQb$4nuFf3kks&^R0g6dPK~z|U?Uv29 zgCGoqC7fIj@BhM0K#-p#2yX7etXj)_PGEo@$5;Qg0KmUcBRJHByzns)q!BS~pq$C={fo?W5?=zc97V=ZK;wz?^{Gs0M&J0Qe-*^s$Et0pm;= zfSCm}4R8+=0-6Tq7U(cWf5r+)L7zInX#n`;c$Nx2!MYv{LaQ(J*aA234#2-(y$4wz zd(bun8-QwT80E==3g{#78qlv{?m?RaY&+=Rd|ObXWM;5`5UdSV0|xsU&uLZ&h@qr- zoWOica1xZGZ3s~dxCoRr?PxRs>1v^g<|4DwjhSK?YCSZ7h={$WFa2GW=P=ywN8b?` z0qLe0|NY#fB|vpe*7LFgNQmYED1edzJ6rutC5<)@$YD7pfN{o;X^;jR03k^$7Q{G; u7PPBc(90VmS|(`wNhSc83V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yF^{t6Pi! z005>*L_t(I%iWSO4#O}AMSTOr2~g9$9=z8_>aBXOD!XmSZkni4Y_nv^5S5Lm&j+OM z+_egd>Dd4#Gr>420LeJusHn)OJ>e9QVn-kZ#yK~#gy0crH)Mt-rWN#uiKe8(cdCP8`>(h7X^Q)oQkxe#0(=B6 l6BxCD(USsGOkhsT#~1bDhyVm&k3IkZ002ovPDHLkV1k!DVzdAN delta 199 zcmV;&0671{0-pkqV1KGfL_t(Ijn$Gd4#O}AMRNnh2~g9$9=z8_>aBXOs=HmtZW^mn zu*sSsW#j4l1J<9Wa}|7C&kiuT7mT9i^?Qb!<0#&O{0yG3_!LI`V00Z_(L_t(o!|j&8Pa8=TfHzY1 zBugn`$B}YESYmgC6*AWK4F?feU&Md)D4Yql8M_XlJn7ZfghV+}*V>mLHytoom~=AP=}re!H2m(6NtFspNlfEn~DmaA6vvGD`W z*J^rTH8*F?7%$#$*J`#FF!MQU=E>gHb~d}B?{774_@I z#L*0;A6e@<$$wI-*?l9zr(qaQbKV8unEe?9(2fA|^UD?N!Ifta z4~LvnY8&gc$$1cbZ~%Bdzx=BN!Vq5L0Oy}(A;bK#wSS1~Zy~`2Ome{o0x&5RDM!{b z0iZ=(ek&^wlgK6jIN*iwY4sVTuoM8FMFLr)0XhEQg=xOJKuEDxE7x&}-wcXu2{d_O zc(AlUytQHx*PYUVjJA#tQol0ffTW`(gw`;|@6J62pCQA5_75ciQ?UI)*r}skjJ@-b z#~9QwJ%3=L2RX$CWiUE$Ij(PhTk%fVemG>Tdjr5y_M7|R&nplwZ(fc{y%TW(0MS}g z$_k^aQL$LYrFW&0+e1wNXuOnA#s27Ot2*&qS$_b%wMP&|qSvP5;Zj}2{o7ju9g8|n z9M{=EjP@b^_f2MsTW{TGokKur-=ExsP=^og(8EXYhIE@0%HEK*q3dPTZR3>K{rJy~ zOzRGyNe}M=T6Y0dcQeITH3m8$(~S~0c-PkfehjcwAQNz=$&rb^%(OY{+Pd0pwfYYJ2%C^V>{_wJW8cu0}FShiDm+dnECYK`<3~c2O?X!!ibx_{h5+_T4 oNIR+>+p$xh-X{FrkN@%b3wW}8Zs?e@L;wH)07*qoM6N<$f*=Aly(~q?0vB7IGD_9qo}fGse4k zXN{6Hk-|e5nfKZEeQ#!G_lwYT{Qa1jeFDfW{!3uSG{2q>RDYMI1D`GA-b`=7H2)!x z&8ok7bLoXHZB*k1XR#VtXIwIEc%?}Yc)NvnOia!&^Pb*Yc)#?82OyJ z@a56oem1+I1<+>R%pdHFZqwAscWW0SHyRBhNdict44>%yI!VVgP8oTJ#RLA>HJB41gG= z3h)k0vvT;ONMD6vIL~<-fD86}5WqMB$S zfaq`y<1IqSyBn9mcTnilURM%Of}Iw^RvjM_;@%8h#-NA!J`*#@5<8SZwBT}5-~F`V zUb540z<*f#0f4RS`KRG`8;~#W-VIBgOK|}JF|EzhLECrKO_!g=T1yP0MG^g{u3?|_uh78N0`#{=(eUXNN4wsVQga}Du4jSu`>X; zk6VtK#C2o?^wAl?6pLAX+a;yC$~VxXz!##AOMlz3cQB(p$WIbS21GVQVO zF>g0?KqCU!R3H;@rqRfZ|CwoW*48xPD_~|;0vZipoy6QC0DtO$1y`zDh_u@(%#8xx{wH z{KL2X0qZ1yxPR!wgS?kmr)6l$NU4kOan&#VTYvx%0D<$0OcQ2 zfXF{+Z);>k{=rEulmH_C;9O{d$Uiu`qXqjB`3LP20>%7;9xx*Rkn++o#{NN{N5Wvi6vwHM7u_|43uMXx2%zi@lfBhsEFl@G8@rsKVAZ<@_`tW!^-;0thL8+-Gl1)~&iAAHHR8J@&o^I6kE&-n7`oyNZts^>Cjl@UjN@ zxH=vW=51iJ_NWRdm1y zldzq{q+xN!%YU`Cwn{}wLK+r7D+89}X&@%xlAo7>x!3~`{UwcCeqE{d984t2Xw(4< z1mZ|*SV9P=0w~l_31|p+Hk;jjtN=Pr&=Bq?0A`=-0E}bq22(H)6ipaF0q__E!PmPW zm;%u3_xnWvym-0_Xnkokd#z5p|5B_(Gs*x{-|8`&*?+uidJD%|3I7YGEL(rm8v*GRa&5;XvsM?yeA zBJiD3SASD6Kp@2X!Sib;2exPibD(t~@eDAr^4TyO)WwW4tgx6sv6Q3b8KG&56qL1x=p&(_ps7pdySNy}rwr{~Z8xR3X4K`%?bO z)pY(AiYDYwto$DBk6vnC0EV^q57s!+YG=Q=1vCJUVHke73Bwrx&0eop1t5z3MM&#&quFhB+C2*>%+f3i%mUWs9`^*z7B(wO z4e*#NeDL@g{DuXPWY4DO7gk}=X^Zxt)iDyxHz68{-+!bK2+=k_su`Q2gfWRNa792~ zb<{|V#GWJqb}2mJc_aYUpKS6(EYM(=o*2qT5u|=toBb!UkkqwC3DEHduMeR_pxRI0 zjJ?)Ki~}tX03?rugoI=mQ~_z50R}N%qe#;lt9k1x_zOo=8`s+5% zy07*qoM6N<$f?&&7p#T5? diff --git a/graphics/pokemon/dustox/icon.png b/graphics/pokemon/dustox/icon.png index 5a8df5c8bf380aff9eafce5e86d8a38a45ed457e..ca4ca7e1acd31bbac36c68315f88eadaf9386784 100644 GIT binary patch delta 261 zcmV+g0s8)+1H=Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldz+6mZkN z0003eNklaw+P#$u!)^Ra&P?MMIGs0LdJ{*4|^4l}%x!#6-*z z^Rbh9n_UXaJdc5yc@Xl42E}*KnD9ii0jDrOn)Q$RgtXZJb_4(Zypg&x0bh~rK5`oJ z567xQ%CG2v%)ID;kU`X;w3d*lgI&R*g9Ryakw2a~SPmi=G3p>VuLxbXX(3tQLE0CxX; zzmefG0UwhT0X}uU%>T<+bx8RY9gt-ZbwJ1<>QGusNYufuV9~*X6uHQ6PaP}=k&760 z5FBzu)Io}}M$`egC?M%jB52YfH$Nn^=&%7U>QI`WbeIarIuskS4%==&b$GotL5Cj- b`-|}fz!UN|Ql*1c00000NkvXXu0mjfS8`=R diff --git a/graphics/pokemon/dwebble/anim_front.png b/graphics/pokemon/dwebble/anim_front.png index 087dc3ff7a31c98830429dfc52e0fe9941e93063..eee85a425234e9926083eda16ab2c617babf9ff3 100644 GIT binary patch delta 801 zcmV++1K#}52J;4xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldz;`hK#K z0008kNkl!D`z;5QaAbU3^VNNw^YCJ9J-mD?;vvEb zL+%Nz0m2FNTBwOB3CtocFhLU@72!lC-V_12>FoFVOn9*cyuXixTpoZ}L{<~->T#K@ z?)CDuj<6EkhsUMAy5|U-Um+kaY#>V>o|c@8bG#`VU^!F?rr-haFxZ3z6wve%5Qxk< z_%YxlP(#}^uYU&(Y``m94M=@R1gv8^Vhd2Wu#pBxEa1x=8bD-+mxYH+j(3&mh_usIGdi@Nb?qU)9HUO&Yx?=woBjPYP1}2!^$yY#5d5|7oG`81$kQ>;8 z2Bw?O%Rq0`)uw2NI zce_ZLJNjvGPhZDVo$5cXv+1}ToSoxD3y0U8H&-}rqQQ(aZYEk356Q<&g!tfKq$AK9 z4*o&Set$Ff4jZ6gM5KVs_#b_s_W0!=*Mc1F81U*JCKM{Rdz}nh`J5P*$hz0t?pBiJsu>b*Q%v_8qks=d%TN` zoc=~q7NvHaEJ*3WUds@jvQvC9F!}3Lq73f%kRG6+@aDTV}2G9nOUw;DINklhDU3 z;Nn<6xO^+4KEe$G;Y(Bx;f}c%Ffp_OlTb(`FyY%G+^~&r%YOoRv&rxNMEa2dyuS~n zT691pLt_YU^|**v_uRhb2qVFJcwCHD_X5EA6##iS1b`%dcv=V{&+$?w;G~qtNWleg z84O_nODY>h0K)bj;t+6SDyS;U{YA$n;Aa&BiZ2PkxTY(&L`6j#)dH~re3?>7Kz4X6 zTrxg9Vep(+pML=Cs7M)@9tLb*zhQ=A{Y<3qA{mWLfOK8g%h#`nh=TDUFhF{(_JA6S z@$3NbFkbyZZRnL47zzte*Efx(HfcCEfugDP%a3&hK&L}t%;+>_oxLQxo0ttjJaDTkq@wAgsk!dlq1Tf&t@Tbw) zXEC<~aJM}u$mZ(8*56MubG-g8A9S>Ps#Bfn|E{y)aXC0U$3_eK`|g`7tedbm<4m+0 zEi@N*SHVOE_+c^HBj634f7o_EpD()uAQuN{9-ajA*h&Td- zmp%Y<2!Bt=P@p7_8d;|FROrW8%k89*Fah;Z$rL~7w}3f=g5;#Dr$u{7nHYe}deSKh z+riv?1vKF>q?EKSe>_tPhgrfv*bdC)4?|hD4g&+Ziz3Tjbp4nrR+ODeqp`94`BTab zwFa`WEq~PHT}fLipJ4~Wwwj&kc1hof1w$uRz;@fhVRGsR29#&DW&_c;w&l(alB+Gx zsjV}1lG3nhY3ugyBt^O<#nYbV+0i3ed!u*tbV5T60JJF{HkQ5Kk v7zFkMS_jEU^)&YYLXH*eqc8nb|3>`;MoA-~f^&tHuK3UCpLi@;*AT^|Qf#Op9=A%jw`>A?Ln?{EOi_0a|a z%%mP57N@|MV1LjcR<}TX1tgnB1auwSdvb}fndS=-a26C*a1EG`1Mu#F;tmchP`>os zgUpvCFcGgn32uj?gqMgm5qLNRss&aV0PVmV7Paia5g82tRnSy+ip8cD9VjAWWEsSK zPptCI9^6^w&cQ}8@TUb|GQvNF;tG6^CtOIdvK@%qno6-$)>@#UDbYY3gpmEm!n^K>_;d=dbevwv&qUn_}k0 P00000NkvXXu0mjf5)z)W delta 378 zcmV-=0fqjA1dardBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(u&hb@20y(JHo zOUxB=gPbZe-Zc!riBfxnM6sXVyj=+T>F3|0_2cbxfJk3E3^T1`05DfVLK_)F2_%w> z!UBvBVz4_4paY8N#5SLu2ec7}YYfe#S_iw?Nq~z;Tm+Vb?fNu;B3_3{3mH^$O$Y9u zd4~g7txq-xU?%kdu{;O91cQGDaq}CfZ-As|L_pWEy(gC#n`yof0T)5J32p)NaRlBy zP~5?R1F~TJBJSY~%rbMKQg$S~ge-5JEcN{~$nM^o<1a`T#(sY3gpmEm!n^K>_;d=Wi1P YKem&K^Pc=+N&o-=07*qoM6N<$g1ZNy^Z)<= diff --git a/graphics/pokemon/dwebble/icon.png b/graphics/pokemon/dwebble/icon.png index 4b356d5aaa9f0daaf7f32ac30087eca1b5593275..19f9257ba14f3b5e3c9b7ea92c44513702629249 100644 GIT binary patch delta 307 zcmV-30nGl*0{sGz7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ldz^2OLZ20002sNkl)t3b*Q;NB8RnWG!yX(hC6!eKN^k6lU|20f3_Q4+$% zY{;0-Eh*QyKl)(za zFbqQz5A2)t|9?9g~QlXtMBn z-xdTugtsg)3W0Wqk)w|S!C(NQ2%`Q)z=%LZVvsvr1)lvuf$0G+0Ehdapq}8OyC)?T z)r#YgN%88)b5yWl61t<807*qo IM6N<$g0$y!F#rGn diff --git a/graphics/pokemon/eelektrik/anim_front.png b/graphics/pokemon/eelektrik/anim_front.png index 567a58c2b2b0f7a7d4dedb7ec4fb087e109f7b8c..52b4759c1371d6640f781da09ad60a1acf332c08 100644 GIT binary patch delta 1070 zcmV+}1kwBR2>u9=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldz{cXq#L z000BwNklWFA;M`E{+JnXJ&0yb><%Y&f01a)eZvBJ$$Ry~+{9zQ`+JAEJ5Pl#Z`Skd{c;4R_ zDA;q(e}r-11X>uk_S_3>0U`hnTsv$9Fa+TO`T(>J{}}*5xPS&eK>ck%7`tw=k3u)_ z9Dox_sTCNa@Dm1uo|)$h$(Liq}7F z?2(^VFNIjb3Ti%GXh2dCA-;cCs|B)bK{o+XC58BIxqiZB>%1bjl0U&ZVkLTup! z$fyP+TD+$M8ACu1BQ9*oo(T%qJ7`0+HGPzTuKj zj1S$BDu1eJAqpWbOh8ALr7wy(l)>Ee7&8WiJuL;d0`iE{xsZjV@6m!7hcfdDDEWnc z$Rin|51-bTVp51$zvv^GCVxiLFD63#pno%vY1o25IzQ*)GByH~$a&7+5YtT#0;;Nt z5Ms_p6RDzdB#Qt+oX;^K#QT5zCjrf&&w9S=FDFkdF}|2vMUy`~iBP8diwttG3=+{hV_)Ci}Ae(%zk+_YyuE zABW+d74R-e+z9&zUKqd@majYPgS)%@A%E;ghfV>BFggs8TR;X*0g-;;5)kDVZJLf< zet}KS{Ism8G6o7Sx19hbod$ETo?)?CTL1sC}^sYbz z^ng$(ZZlx9Xu5O=U>oRC;C!L3YY!H?H-mjkmKz!`0W`F=y7dS3k+zYGNYN-dwdfl> zgrDDg6ivM^j`KGHc?Z_@Cm4HHz{l9PrGNxGfDnKqTZNqfhJPk(Ko0=__@4pLgbirm zBh=dk1d#=BdML01&j2{1l-2?lDEO2?&@asElqGB(sga=UAxy*``#4e^Aju;_+l`yO z1LE=*wF;jXRbVW{JH{4wH?aQAoesDn7b0Pc)y?8Y0x7N3a3?~hSeAE?{@&ir%;#5yr_ZzQS;?3L5#Kkk4N#J5DWn9f)Ror z>;xhkARWdI1l~@-w*igN^Y$(4PE!JKEo$rm=6`?R^FEU^uSP-kl5{)zjl|x^dSD_R z>x14$^GyC7wdLoaZFm`v1vt!Lc`JeLt^PKKHzVjnr(7Y#2Iaj0m`Hu-{QkbPYD++y z80xi{bQkjyfMuJZDxd`8`{lfpUC1h}N)06#Kb1v!EBBFhbs#SO$nxcKb*}`Zd#_0j zDSyf=@2sHw0Hx`mr2%ma8D1`-MU3T}P8*Ei50gCU+=75$&jef*<>xt^$AA!oOn^)N z1U*m#D?s#ROCPQ7m~%EHhjRSV?!9655B z5cI-htAKefm;QM#~o?NAAFg2DmHV0H%F6I2|k&rZm93=%`@ z3F-a#``M0dS${Fy^8h126!f5E5J?x zR-l0CFak!+z-E*j0@Qe#R&WF`%+TaKpeUlY$$$4VTkAn8XPnbb`!);ZQdr_B~FDfR9G`Wnz<3WWY5h zWEP40AlA6m>3I$?L8?U(0!ceLfC&l^d|cu_)oEq`evG)ePmCo3K{(3*u6odboyB0j z=w^ZX;3@N6hk1K2PeGq+LGgWTI9?Pno_}O6EZ2j!)bCzjeP56HtXl@^PTEeZjcE^W z{p^(=L_qzghrsIN$bGU19=|wAKxtr?LTF$+2+G&rP62TUsQ?2tg@fRV;B#K_faoso zu+XEF>E)K2K+ujs#T%t};@$-G9IdY9)_`aZ=fbiP5a0S=;}@-z9{H~`Dp~*l002ov JPDHLkV1mvA>U97B delta 528 zcmV+r0`L9q1o;GzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n$lCK~zY` z#ne4+!Y~vEa0`V47^BV&RNaFw01b5N&{i^)y0sEdlrC&tJ5(Y$LE!*pFgpY82`UcN zXD8$vgM`$2iu8W@``J!R{$;ez57c?bDr$`Ljt#UCc$SD7KMGjpXlp>Nz~h{q0{mlu zX9JD~{1iZZ4Qz+ub7lvB4rlZbVAj(l{t>`3LtO};HN@V!7y>-EE{t{u_D&pMUt=B4ip^k_$hCw8=R` z&lWLfhDThZl~kwm4&tySRxkIfgeyK?A5OfCsyjgyrGlsly);Tk4zjFqQLW#M11vT% zAp6&|T3xZPj||#@W8;_BO7HU^B?UVpaTxfwd`J=(5Iq;(#}+a3Ep?21VeqXCuU335 z*4NN>3*+p3h+I=foE@c|h%1h}w-L{PabZwToq%SfYJyh&I;!I7PeQgI=K}C%Q-3Mn zW2*7awZsxpX=1Z1t<`KPWm-zf?nQtD3fH(hegJjKiBY|2U{wGB002ovPDHLkV1oS^ BmuUb1 delta 316 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 diff --git a/graphics/pokemon/eevee/anim_front.png b/graphics/pokemon/eevee/anim_front.png index 7f45d8592eefa730bd664739412cb933e2d93737..d8ba89dc11d49d0e930f2abb0de71c1985f14b9f 100644 GIT binary patch delta 790 zcmV+x1L^$32HOUZ7zqRe0000)n-j@bL*c{4z8Abek1z$ZBl$XXh}kGTsFiFw3qcp^Y!0x1)vqu0;`0xnjL1YTIx zkRY!c7vL{rVG>B!+ejH_Rqn13aL)KV7Q`f=2r%bneUcf3+s+Bd>4Wz{s|0J&0@19Wn&10%DwES#h2V0Mh$)ivoPf^M*xT zIwNbWhR>ix$)Z;RtNpea?}Dd%&dH-L0k~g}U&PmvQ_c>+jEsQ0{-uOC)ymcw1KXWy zDW%YVl^P&B2iktS-}kL<6{SGX(KZ9Mhou0hs97T*JOZ5svhk~4LA+N=mkEEwBLwiC z_dOJ-2>@w|9m~(~D_0xXKt&^go_eJ>X*mTT6ZolZ)T<-_2-mTf;zbg8O|E!INVDXU zxc(L%q@QqJr_NhON=U$jaNa-@u_#%7`5p{KaT_M~s~2woME-|>tWS4~kM3BW zW-^J3ivZyq1;S(ie4gNj5l(;Y_d%Sv6lG-u!<*-|OCTf&1|$$Gm%|vrC}>{048sZr zWr?%GK`@%qbr&B5LnejGfd;{tE{4z4B^W~-v6z!!m=Bo6oCL#c2$PhfV3=`$TFg-} zz&)(R6fVKg51zG{QIlVeg3)=_V$OlPpGU#y=wLBtHMaUF7~1FoX=i`MNHBIV)s>mg z)L6{<__Tsy^Z-gwYcT~T7=5dZV5Eq|guerZ$S}d!gFtkNRg|%Vggb~s59I+EpNi*Q zuN4>w2nLNXM;Q#n2nHxhR^SFAOYnz^X6T3x8`T+qh=gN;OCmPLAH>Zc{@e8n)?DZe ULTmih00000NkvXXu0jG}f?4xf0{{R3 delta 765 zcmVMc{K~!jg?U?IM zfTe9=d=U%)09a~>fnKi;khIhyU}!+%Z@-5CeFkzOB)*mxLeER@Z}W))khqMm z`PBvmX|?)D?ug_I0-3{#y$TIko+8w zww#cl#L>3DO(Fo0ybvT~RaPE50jB`XZ&tSTdIF5)@o8R9ZOJ=9e+YZc0ek=ut>lHk zH81I8dr%0W8F&*G_x2eo05JMy<5V7AOyvlW#n=* z`hE4^%ZG0P{9}Eg_TY=Jinzj%%l`qeq%e+vRfQpQcmpge4E;pve||<`a1#(G6$V!U zaaLh80U?+EGYX>%2-K_V@&tAQVpJIG0R3u(#qY&`oqz!5cl`80-3f>>9`h(i0a4>Y zk8%_cB_Grv2LVx~TGXQ)1cXPLN15-)UO;55fS3hI2LYjx!J|w7X*&prZ1>LYQT|Fu zdS%`Vh>Xo3q?tx>0g*SqZs&FhZiGB}Fa`lpum3)U*23(`8U#ckQ~?pRDEvo2)gZHN zYyx6jbAylxMh6m*5au76ffx)%*n)7*mbdn+KX8Q+v?!y&=m3aI46gcwsz0#a<5yue vgVFtgWf$IyW-cgof3PkfZhvssT|Zu*N2wa0r`ehb00000NkvXXu0mjf>OWOz diff --git a/graphics/pokemon/eevee/anim_frontf.png b/graphics/pokemon/eevee/anim_frontf.png index 2f9da3756e1880d0868d5dc1d22c360358fbfe45..877fcafe69a5a9efe439bb89c936315f76a6e0e0 100644 GIT binary patch delta 796 zcmV+%1LOS22H^&f7zqRe0000p!3SXiypT=Xycs|d&kH0bA-H7`iZvcPM zP2g#KeFplJUI)TA0~80y`>X|eG{FH?C=2uk!Uf3CJ_h{oM1ax;A}%vWt;7a=A?J<+ z9?1(xkQAj0=*3h`8W+;-0}5f{V#OQk#Gwz(m;bNyQMZYA2wEWAB5}Ay#4w z1XIs9rb6l@-&z1Fc*KFegd%5xr+$BBj6rJXmr&tX$lzBRh;E8mE<_>$h(?>AC?IAc zDS1#wbn{D_Wp@=ErpS1(r2s5e-E|TXiHV?(CZnSjrCnf^2_|?8*wFzVnwJdX%;+r+ ztarL%jKLn{kp<#Qpla6peN&lAGX@0fEYsI}7#e__+0g;W38-5j?r!xQ;*EdSCJP}R zAb|J0Z(xFg0uV*mvHT2QIbXs8au!JR)WZjevLOJm#7}Lhw~7KFUB_O@7e!&4Tya8a zITMPy{uUmj?+Z~x&Ra$)NWi6Z-avgh&3JPC9waiox10O8>&3s-i#Gr=`9nYz=ewnc zu2`LWG99E>0V)IvknjNXM2LSI1{t=$`-9M>D03?q-Xtkp0--=KAc35_9L5Sp%96rm z7_DG19y(_@3Pzc^?&70hs4#Uo&_OVU)5AM+3C1CgSj<^4>C>|#asdp-%o;3Gix!GzL;ZePJ(}7EbwErNIQbD zgRZV^e`a*FpqK5l6%4BfFa>KRCB+1zsk9Z02$2}_8n8r+3C11-q7GX{={gA6K^$tx zjzITRJntH#!9YMTSb#ao!9c8FfTF}HZXhZHf5=&kwrEo7+WJEv9UWXzxwQTu@BZ-L aj^72j>)(caT_ykk000O{MNUMnLSTXsu30ev delta 770 zcmV+d1O5Er2FM1G7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0>(*1K~!jg?U?Is zxZt%sTn5l30)hbO zS_9t>fT?X^d=hj30GMisfu7F>khIh!pld+lZ-0jXZ3gm0NPI3YgqD}y-{unqAaNOA z^Ro>+fEP{H@uwSq(0MPqbSU`~6F}WHMWFQoTOMPthv!Q%1CobR&aqB<00XcNtLdC# zQ;`L11?ZcRH6Lt%KRSZX-|}IAth;B8qX6sQDny{C1NehV2MS1G0x#sNXq_lPj;EAf zuQ)&kH-K~kfSCjU0(fZ`DM0Y2P$&cj(7XYXG!ofJ86NF_DO@ZsZ5u(tT4O*;q;bzT zK&>GltvMkk?1j$(W-Vrte4gs29t!(Rc;f>|-VP2owl6Qjb9JU$*_y8c9 z$qRvNUed|-pb$bc@Fpzo?K4yWVDx0;R9;?84*O|CM?r`54`~Uybew5hw9n& z!Bs$eY360y_cGD~x%7ezn4XQN2?!XukU8SltmKxA~lt9X>*_4^%>vrBQ!A=Nhlukg@>%UK-(;$Cegib&dLKP4}i^5+5 zss2b6ogf0h8keIlxrdTl5z-+YD>Tnj>uS`t#vI}0KE3Y++nW<8!zxB;^}1XlqVc@{O!(2 z`hKJ)zy4f+uJHgkP)3TVn}Ea71#W>7t>o7ZCw-Z=k{|4{e{9Z7IRUp>5CR)U-AusY zHB1RbG10bUhNZqt%goQ`Bfss9LA^EBsBME6f-GXFM5{pvYt-T{1V|P1CnZ`7OcqZU zV9ey6W_W&_$#OFOFjzXr$@37X4I1~n>kz1thHn_Vp7IQcDrx6msAT*~cAtMl|5|?m Yg0+;RX#X&;3;+NC07*qoM6N<$f<3GD761SM delta 542 zcmV+(0^$Aq1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z?Uc`I<1i4$m0;gHkwq7Lu^oyRdQ!#09&6~5YurYtkI|Sl@;S6@o~PHo+>Wd``V-U3 z!k+r&kl6FfH{V!;$(R0zs^Zh~q7+;2a=E&!b00`WL|`2PfQG~p>#HIJgnzx}0L=eK z+6r;!8vsBR^lT=J)#A#38Uzs#0Bf;$&kM3J1}sc1feL;_R{8r!SuFWQ2a*7o9(gW4 zZp)btm=cM*G#9A#8tWN})Zk5cGIhaCg!>psOfD)cF=H@VNI}hq@)-lPXrbYhn<|fI zwA%e@fx;+uKL?C4tRCW$T^@M`;)sM1hlf4|JI&ygv?ht>f z4i*sF#9GyZ#0I!|zF`2=yu+_JzcCE}AhUWFqeZYf8w{)w6aa(8>N8HrN*hpnY5^f< zXC#O}ztUvQW*vwJpnJqI|GG{WI;bfXapT8aX|qxF$bGbhx(JWD&Y2!z>jIvhE93*Q zV9;9#9_nAn77Ua{1qBP4t}=IxgZ6*-6@<`>ZWklq!Kl0C@Q4%Oj+kL`TImvy5k)J=VDa2r&md?3(1bOo2EMdjojD?l83UC@Q7kY}F3&FoeUG8fYs~ zQQ`pa{V-S9tHH(!e2!Qj^p*U8qh6oQ8I>SVO`bkZK-ZW+ji>^f`P~H6uQPvuv&#-A zU6cj@=QZe@$$SFN6DI^ZjG~!<`rS>5iee;mNe)YWo0gd#_lMo?r9`ol+Nf=v7eZNt zP|#KYrP`>)(gl9#K2|Mdrv?(=!$jsH3j z@egW1NQomftk5P;5CK@OO%X*7F~F|J2rP04YhZwsqRUw1v4Iay373Ad2n0`pBm{pj z>SF^27zuEq9Co&&*BlDL?ka0`o+yXb6`OwEMQQ<>1vueMNg0CJGEglT0%c9kR0Gpx zfTsFtq1-8TaaCZYzX^3kZ^Wj)5t!|^_0YW-DAxYVZDi z9z)Pd-_M!4nh(N4p7RZG49o#I>V1E}q=qEw++Y4BK=gUg2Y@IEweJF$AH@s+YT(G@ zE+v&4w?hPtz-r()j)w)4Yv7InB@7n$(whm(C8}WqbQTbg+=qIMM>&=sfp}6yF)`k~n^Z{-Teb;|h0*3_8 z!r1m@0@B?E+yn4%dWjLn5CSu?N##U8@uIm!_|of0l|q!QWNmocS>{l?-uB|Xi)toj zYMsLz_IWEumLy#e4H6hUtdYOD0(z_PmxCn6tMVbGXv;1 h+I=v-@y5T7AIFsuxh25ziU11$002ovPDHLkV1hye{Fnd$ diff --git a/graphics/pokemon/eevee/frontf.png b/graphics/pokemon/eevee/frontf.png index 3eb2e2c96fb22c0f7c8d467ef6963d12c993a32a..dc50214bb2f4e050f31713d6af3110d65b410541 100644 GIT binary patch delta 504 zcmVGX@GXAaf(gWJ^dNYy~jj9k9^@SIt^ro*8{`gWZd+8DqEyIkh1D z3F>CowoPqn%@_*STV|+R42>XXHhLib2FDJh{jFYMzR}u<5#|#I2%g#oCn#hH0!m%i z@)1ut-{1mrmPqHV#{-~Zj3AZnTU+UaA_%1K+AFzM1h>hTj|r(tP{j9H1Xw--D5&?9 uQ3?xiDZMXHB$t9`r{BR?E-t^De~V9N=5p@exV9hw0000c0004VQb$4nuFf3kks&^R0hmcdK~z|U?UuoI zgfIw21wovd|Nq}UAU00BkZ2dvb7be@US2|sPSag?eR$DDo@c(s(`A8NGB80P*8=>x zfQH7Rya??CL^KpgNtUGxK%)i)y8yu7o=bwh0-OloV>}F*zDzPMN>sm{)7buZ>Tc=m6Ed?9ci#Ug| zI$sQ+kDVdcAADJWeNQ$#E{Ob5C4(#}(1)}HF0iseXUScRBrd@9WcGU11!x`uBq8Ee zARq`{p27--JcY0bg~0g`7=ly=iS`_)a1I`^!vNUpSYRf9jwjy*TOA7Qxf%;KoMZev zAOH^on5dkca5wOw!1-rXjNUgsT!|m@erg+^hL{}pIu__Jfyf9CgKj)%iy1USX$2V~ z@Qkmt35csVn_7E$+1e41;H7*sYTG*kuT3Cz+zsN#C)gAW(NlgKjob1|FThXUTZ`tU zdX}H!UJ@-a@BLn&t$%!%PyFcsLIA&5uKXrp6la>>b=Uu_FMq%dHpcYSb^rhX07*qo IM6N<$f`Aatn*aa+ diff --git a/graphics/pokemon/eevee/icon.png b/graphics/pokemon/eevee/icon.png index e7385ed6c5c13590d0833adcb915c50570102c01..2b66afc4ae373fbc0f633087ba0c7d5720760ee6 100644 GIT binary patch delta 254 zcmVjeo$Spq1mw*wv=BSmO14sM zdLW^Xo>IS7Enj;;0ZPmYn(DNK28EhE0Vm>(9vxJ~m}oiyM8qw!bfXg(#Fc_OmqNiA z>)eJjR!iiDTNrnb+yPj22eR)#YojT2ppM0uy$%545;BYdIeC%42%sRVe|;~E62d?q z{0PI^UWIW>7Q#$f2;-$N`L-}s2=g5O{TAjLKi%=;1ua>IY5xKi?EnA(07*qoM6N<$ Eg7-gU^Z)<= delta 228 zcmV-K}|sb0I`n?{9y%=AwPe%Nkl42FG!JWK~i zALhVrbr72E@~SuKW`#oB^o9eq*^X|&ux@QSV>d*0x`pv@$OC|3dm_65mPIcV22iKh z`lw73fapVpIUpw|@)rRVWc9D_g;7En7=s^ScrjODtj|K2H49;!6eiymrV3$R^S>eb eaE;f}9Y5YJS%zuZM1U~>0000005CGFn{n77?uD400DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yHwEdpeo`008JoL_t(& z-tCw{4#F@D1glN$D8@fqxNN z7~nKqQ!Lyln46sOwQCWWd0_ckM!&}LJ0XYFCZilFs@Px# delta 299 zcmV+`0o4AL1Lgvd7!d>m0000ST5Jl}w5F!wDh!+TEfrKMH#lZr|8=zZ1Hi*v0wNZ3WqWVwY zMso3uQIy}NX@nf$ewz2bgM!a5;JpX9vV!Y3;l&q3p##3c?Lt_%3I`DLPY8@~fsH5( z`7`VxER28Pb^!tmV^%2P0P{ixiy%xPU15QN6DY)r_#q=$qL2hcWPWodLYxqZ5lo!~ z#F_FZq)V(xAXc!rK`Z+pDx6aXR}d?zbc>OHQO4HmX&#NDIL#GBQ51>hCge~G`{60= xhgRGV4`DyFZ(%>UuGIaY`{6KjKPZ2|7cCrh@K_JwGZp{<002ovPDHLkV1iQ)c%c9Q diff --git a/graphics/pokemon/egg/hatch.png b/graphics/pokemon/egg/hatch.png index abea3122f4282dbefa003e67b7c5783ea1bf9382..792c0c029164a56f25f6e272b52e6a2d578634d5 100644 GIT binary patch delta 420 zcmV;V0bBmn1Nj4xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld!SOcj$~Vsr$A1( zav}_cemYYwVVHxS0$Aux2o)@YQ;;yQaIyXo1N2L9mbTCj=TJIleL%$dwO8j5FNkgq z#m)!Bt26VbOE>!9Vkj|;8{>sYy!t&RUQj9hQ%t(CqTG$EH5DN?#h)DY$bD4I$ASAe zzVY$Id>lLGLw`5b-N*m*p}y>c!gqZf=s@P9gBD=BO+K_w=Uenae|Hq44^eR+Ef1G1 z_i?Z-Ye_t6C(I`gqt+y}wy z`jroQ4JIE#c^@+Kp}h~2`H_o%^T~A8)9HNPS4}Lq;Fw;o~blir}M|d|aZB z=DrWjeYBGgo%q-(?t|d9-Npw!2BQz5ybqc9(B6khd`R!ZBt8uHVd%Ws_%JA$55av% d?nC~jj}IM|;P@c+jm!W5002ovPDHLkV1oU3y#W9K diff --git a/graphics/pokemon/egg/icon.png b/graphics/pokemon/egg/icon.png index 3c9b0e3e6e69c007fe574fd1b0f37776f9599211..5e7ee181eaa784481a04ba41c4357f27d04475f3 100644 GIT binary patch delta 244 zcmVO{0yH<(5zZ9= z006H^L_t(I%k7de4#F@DMRS83rejt!AXRiInc!w1afrfze#UHA%2DXh4v0!28+P_C z2ycF}qwnY$^Lu5-sz2Q|nR<6o1DoEd5$gv830?q#+<61HV{NLyz5*Z#7LULch^+*c znMmb0GwoFN%rWchayI{3S(s&TNek0B<;Ub3K>9Hs0H5TOMF+qA?%2}f+E##BfJYIA u1SrCUNS)M@Inq-GTbMhQ-R3;5_;nvQ3S$ZOvF}&_0000=(L** z*cd=4LGl#XfY?d^%!n$-o^h?RXO3Bam(Bdw$9h|sG`dL{noHWLe$2imlKr@EiM-f> zq13^zUOP}`I<^Kd3velgK>^%%f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?EA7wR*v(6+j^mPZ!4! Zj_VWC-2}XHT$+F)44$rjF6*2UngHWw6fpn* delta 34 ocmaFLxR-H40=tK&i(?4K%!&PO0)o0a^B91@)78&qol`;+0J)e77XSbN diff --git a/graphics/pokemon/eiscue/back.png b/graphics/pokemon/eiscue/back.png index 6f8c1beae8fb531e47d828232724dd7f6601e569..4996747934a5380ffcfc0793440393150fee8aea 100644 GIT binary patch delta 392 zcmV;30eAlS1MmZoB#}W-e*gz`Nliru=LQD?H30*#YRv!u0aHmtK~zY`?bN+)gD?;W z@GvBEU6shQg`a>t0foI-ac4S|uyz5)vVb4Ehi#|<+eoe2q3R8m$p6P(`10Yftl+Ry zcRP8o3x0gU?}%?+$B{$%;wVlCq5R1er^#cK#_=VwkufGw#0V5Le_E3xgBU82t0Ig1 znyMfpQ$-hQfCqh|0SHNrDfh$z$R`Mx6=ZvW{)4{`m>Q+e%^&ND4YN*(0>`|3GNv$I&W%wemZL~H1-xZEW9mFbv1+b-2%j$ zj(f+9TdhF{z%nCfumLPHP&O*iE@O1K7+k0bIr~6r1NX-zL#j mqHSvr5Y;epSh6Hrb)sn2!fW#hJy{t z)Tog!{xR1^K_?}9W&uxsW}*d9np-W8)B(^>0C6W!tO4u}{C9wd0ah>(0t6SF3c)>q z5OAnq7{?`W)Gte{#Ho(4PDVUFmsn_(I94&%w#PZcldUwyFzY5jIM&8XRlQ9yII@NC z$W#(ksRYMG0*q9`i^&$E0sk#zfRh&>8tA_bmjK~zY`#g(yc+b|G@ zq3Rt2+yAhWvyV{~!K4k~+|F{!P73f;~Hey=V`-q4$^{JZT`Je~&HyRUpl(6%S<6 z>SagD5SCRGiL<|fp^U@$Hy{P~5dhW(5Ud3RPZbQn+d!iN3dB(=jOQx~@P)A=l?WUN zl}rEtd-#9A=T1O&0$okUgH)KE(%XdpRp`?P1y`NGZ%6`g&Wfk0jTmB0N_m!Y{(2h_ z9jH(BeLz+VQ1wN*f69JQ2(Tj?N;p4m%>&=~k&gh*!DcFa#gCB*bDJV2u>UsCwZ5XK z@9U-1pf8l)AIE_q$cWJ!7|e4zqCeROAk=vVAsa~Fe^1P5v+C4jyH!2^LbgY9s=~3aPAm zv8SK`;PQ%Z2B04mue@`&0!QGvTY$aC6?op_f%L2D-f`YlYXW#&Emj6tRCvT*wOpB* sJX){s@dVc%AWm<&{L%4r{xRD>0bYseFpJo~Hvj+t07*qoM6N<$g2Yn$asU7T delta 564 zcmV-40?Yl71)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` zrIj&n(?Ar*&qxhR2OFrUTp`iZd0>sbl&$tzl{&!@?=X3egnEI^Q#==@Y@Mul>j#Kb z=BS?_@ps{!4;m|eFA?N_^5Xwb|M%|BPiFrpXD{I%9N``sa8M7tqqmqJK4~c84?X`` zD9vh>3}xEuxgxdqcrwRt(eV|hT1(G-u#tRe$ z1j1OcN(Bx?N~QpSJ^DZ3(_TRC1@<+W3^QSNN^cY1t0nZq}J93TLHJK0P{p!hj5VP03n z1P)%8rPeo$)R(VPgFaLKV4Q@8AS3cuFql_##9;CgfJjfNh`b2@07QfZ!mFIY z^#RcH+Uky(FSPG7rvu>ftM3M&e=2@`=j{Z}!1Hzh$B!%U{KW(5H_bg`Z<;j$Jgyci z11uUm;<#C^%uJrG*Y|jWXAj3&E`PC|ayqlk*l%8m=`gqtDSSQv0000o0`UTnb$Sx8B~Ok*DXr*%nEc-uk2Nr12w|1_QR&n{dfXW#PEsDsplF10000< KMNUMnLSTZ%GjFT_ delta 243 zcmV#4#F@DMRSAPAqQZn*H#>X%dm5}u5P$M!_cmk z8@0?aVWD<9fP}<^H$Qz@iT#ZEqT)MXi*)Q~(cC=oG*kcAhl6u+sJWjK=|r^Wi_yiq)BU9W!fbEnLKsVP7DnEhvksmlS)Rhk t>t>}IW(BICSGE`CK!q@@{jl+KKOR!V@QIHG=*<8C002ovPDHLkV1i5}ax(w` diff --git a/graphics/pokemon/eiscue/noice_face/back.png b/graphics/pokemon/eiscue/noice_face/back.png index 30c10eea3f9c3c907b78120aae6f35385e906604..5aa8c54d2a8d2ebfb5d77d22ab67a4120fc829f2 100644 GIT binary patch delta 336 zcmV-W0k8hT1Goc_B#}W-e*gz`Nliru=LQD?H3Ws)5mLR8L_7dJ|ee8fqi7_oNk1oUSHz;|z( zK*z~>pd*0kNCq_nMwpJQ9|6twb=Jg i0I;*$|&s(=7U&(_yZbYA7Bq{*|cfCjV z*p`$3{Mo2EAe|dXf8Fpi#Lf4Z1B$#TUZftL05*@&eh-kBuzijZcQt%u3-G`LC7e^$ z8)*Q*mCM1FK7w?JIlvp@j#u9g9p5k39&iIcanvYIEV?ED z{Tl<|$=5dGICdUr31A#*&=Y`hWc>)(1_#EWZ8)PQ;L4$BdCZzKfGfuopldky)uAyw q6SfWZeJ23eIEVHi06P4uBzXt@O2rX|ZU;sH0000*Hf diff --git a/graphics/pokemon/eiscue/noice_face/front.png b/graphics/pokemon/eiscue/noice_face/front.png index 967e2818f472092916564bdb7aad7524ac4f36a4..527b26b260481b3710ba51aed27342ef658d9ebe 100644 GIT binary patch delta 464 zcmV;>0Wbc-1h)i`B#}W-e*gz`Nliru=LQD?H4J?L7H|Ln0h&ofK~zY`?bI<(!ax)U z@Rq4D40owXMPp(LegJt85=Ob;ELA^%N|;$_(n&|Vb+c@ZiNbAs01}-EpP=-+_)1MA z;odPg=-``3-Y@_6?hY`F|N5h4?iB3D5$yMOa9#IA+XsNUM!1cRe^!({0eSUE09B~x z5frdp51MWjfI6#vg+O>Z&~s09pwz61^J~oxCe*|&E_q4bgWd9R#X9{SCbr>B_g*IF z{6O~>RvgFAI`D)*K4=0Cu`eeyczgkgMMhXjL*#;t2yG!mn~t!i`v^L6Ohtr|_yR;k z0Yp0_wkRebm=arre{lgi6XGD>V62R=rcq-JK;jZIQUSQf{v8Ar1c_oobdv{ky&%CE zQ>FmLh<=d7V;QT!dPEmmvVyN3Q6ogZCAk`~*Svo*@FmM5*w#fG&Il)rMt;Cd1u&W6 z_*jDh0)uY@tUbS|A%5mu^`+kc>T-g&9MHcU#~*SnIKm#+Mu74%#hx>NC;M48GmPVG zMSx{GPjfKO)Dh)uk#Zbyv|7#73B0%*bFui?@qf-YkMRj-G^^=^hCKNI0000ugK~zY` z?US)i!ay9x@0c3H&SR>1{j!iOz&4 zD18_IM@=wt|8rn*@SB=^zkJ_!cPaVTUlsk8uy>BIcMaHmgX_8{MxS%uFc5CDYa~jZ z;7WZI;5FV*5g1T$J>GJEYn)?ety}>hJQL7&Pfb9nRTt;ih7FY0#Vw4yBbY2;&0iPLYFbfQdH3N~7i);1WiE$Vdn9d+_ggPz4~- zG(I5T1J)Hi-j-E(^$4pFgSKRPz28jF97eg#gPmY@R7#p6esZ`66RbakN^^^a-rE9J*M15ThvD9D|TgXEdwn5cGJ4 P00000NkvXXu0mjfv|7=F diff --git a/graphics/pokemon/eiscue/noice_face/icon.png b/graphics/pokemon/eiscue/noice_face/icon.png index b0822bc01c87aecede2bc89342c3c38e2ed8aaaa..2ede326800fc5b458cd9215ef4a8474cc0484077 100644 GIT binary patch delta 238 zcmVps37sI)e3{gD1wg3PC07*qoM6N<$g8$)Wn*aa+ delta 220 zcmV<203-j~0?7i9b$`D}L_t(Ijn$Gd4udcZMRNn+AqQX}Yv~nwneIJYR~IhOP$_c= zDC&q}=;lucx>b1mdWkLj8S~$w-C)`RBPKM*4w9LfI}LDTekg>}GqTsgJ+}RzgWgtW zO_=P$@Pf9<_c%yNBM!!G0wO!tYJ`G2bs8zbxuz(Dva7v_epO?wg-&;-vcB@CJeP50uj0g%tDXqfjTg$2gCix?bzV512BLYF~@%rDwRB0oOpdU2-?#BYd WxswdHf+RKo0000^1^GQTOR9M69ma%RVK@f(0NJuNC@gBY;E_XOvm-?Is$ax*n zp5+BMDX;`elpZIYbHdIB(HIHiD`_nXx`22C#3PV*VdpMqMVh^HL4$;+v*y#xtZ#pI z|G!q-#y=UH*DLcP>>O1Q&eO0Xk1Bvh7)mM2OE@w-R3Jt9gi=1g7(prE9QwT%7asv8 zCBT!8>bIA#DgZNJ)anBaOMq!lLhJ&-0821hhb16ZpAFzYGrz9SX$huRs}+_&fZf_g zdH3Zf0zT$u-z>oUyI%-o=h(TlOmTm5_d5f!9_L>P@b=^`#ykZ0>vlrYdfjspw9S>$+xo%vjC6x#_0mud2?r%0-n4~O}x~YN`z&lB<54D zhK5L5q(Y-B+a^C(3eS-!3WO5c>B3X7*Pk#TfLYp34}dG>f|&5ukdDv|Wz2s)#TCH* zR1tvrvfGiIo9*sHpy&u!AWaRtJF*AClmHA|koO_L3uuQ{6Z||6;=tV}9g>0g0Ek2Y z2Xk`{vi5$jxyU{yoXtJU{h9g$(KO!*&eFLXxfEb9kb*bOU(H<^iGc1CxHv!OZZ;+b zYBz3i3Tei)tP@Mke0drUmbQQEtJ6__igvoRzX3W$#O#DFdn2^QjncZ}rPI1Hy^U@B zpTb<vMoQ46WltbB$UinM76tHqX;J^y$*)E^{h4qo002ovPDHLkV1iuPd>{Y- delta 829 zcmV-D1H$}}2Z9HX7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0{}@xK~!jg?U>n; z+#n1^TbM=k^8ddZEe2!U6@+I}l?U{cO3ghM0z_Xu9xGO?_-g>ieYt~e+q}Px0JjN% z5cl-H=@aFb5{!tbX&7easl|0knADxgdHM z<_H*k5H*0)2)+`3(85BL(mkKgLhyxvDZWfeAU-83p?nx$$+#XOyx$ej5aP>5!1w3# zepkS;6R(s_bqF7d2GFKpC}gjN!1hYbL3sj_;`pY@ys6F7k(K$|MHH9ZWXmwzHv(3U_U@at4QF9c-T5P;4L zf?ov*>C$qZY_^e6MKp`wM zDWs_-OSSra)Iu5`g?!qCvJKAK%eW(Uo1m36J*^F*LS!3oMy?2j?BYpv1Gz0;v0}xF zUx{UV|1aA+Nx0hHN#A?5y@%T}#ntvs6E3!Q5^&gm-n%IXqa*wnFiq%;cL%Wi&g+c# z34mk&zZ-AY7~j@4#*yhejQ9644$b#rys`eoJFOv)#vsLbKd}DFJAHEO|HXK7xpv>% z{k_q?lfGKt?t``|2z&4J9bmHW;By7^e~pG=5;w%S>o5CmnLtQq^ilQwk6ptOD1mLa z2_R;F6I90Jt~T2}0}sb$&1eU;wNWgfqc3!JzyDMAtjdV}39$0DJG~P6#(QKM?<~ z?d0zKfM*b`d7Yjgc%2~pWPaew5Ms>_nr&Dd^Me&D{%QOH)>|Ya#gQLT00000NkvXX Hu0mjfz|nta diff --git a/graphics/pokemon/ekans/back.png b/graphics/pokemon/ekans/back.png index 2c0e0c02644e181dc8ee69b4ed7e85be454cc577..7792edd9f40682ce1537fc1823f1678734f9044b 100644 GIT binary patch delta 570 zcmV-A0>%BS1)v3xB#}W-e*gz`Nliru=LQD?H56`bjwS#A0s~1zK~zY`?Ul`H+dveB zovsAlcm@Q@rc?)s2>KKjV@P*Z@qm_XRx#NYTw@55Awi|9coBEr!Yw61_>lsAhTf56 zX{5;RrrqU&J;wL*{XHWO1~2x%>=p3lsNWMJbPxMa$WL~d-~co;e>xNZg^AtxIPiA) zYjijR+3PRszX5mbSOx?+ANPi^DgYV!`(UWeJMRNld$$Yp0Vg%!q)2-FeD4pKlQ!S) zKDK+*8CpMld@9f3Osy-R9e#GdE6xX{h!D>KD}UPRGbca^@jS&KFOpCOr8b|-8roAD zZkGC82beF&%ex_lf3wS~1T|L(Qr%}e$L;TJ(WKhURghR5Zf8pQyaaHzP~@_*?xMb4 zCFQ2Q#a*uqhS%G2)84zw0VC_)jQo080b!C(wd_N*Q?T!QAQNM)YMNJDX-*}kkV^ef zUJY{;9u1~aTL2VG^+Y)81xQLi=}7IVh}ytj(9Y~Z-KP+ff2on<6d2WVVOhp(s=@c0 z9H$pxjbH(vff}_Nz*@u28p%_W%meJikPKWqu5W}MlwP^9vD*udcx4dq3Aky1Z=V2Z z6j8JrOpGFa5D<5O$eaYJNXpbCI2=sg8{6=uj7@_3DfgNjHKKjGPJv@ctFc0tC(&Jt}z75kf734yoft*;g*sj z{78X5L+?nkW~9h26uQd+d4%uB{U2G+`fqvxygF(3<2dq;+XrMP9Va*d#f*+QK&f~? zJ`KEH{u~{TKzjLk^Ecpsj-85tu;Alf7j_LGM}Hj*jr=!#!1`eJfIeW*0B(j=kDVXv zA#*eR|NcY$(%8`+#jnTe9M0sX2HNgt_xtjEkdlb_DPR|mJ9QQW$T)r)!Yaxj6hX@E zrz(ebmxkM=`c)3*3$pUAi{b35PC?Ek!c5iKj&b{YR~9L^a~ZCGY!0u}rD9$IIA2II z*?D(RUp}s?N&AaCt53u0T{UU{?Ulty-J4NdFKZxLWmC2G5!xZxw*!#JW3|=PFB2HR zt(PgHRNq%u!)%35jj6XS1j?cMaWv`$XqA4@kvY>iX#A z&zVCx1c8omb_u3`7ZwN@s8B}(_6AO{0yP)+WZ#?s z007QOL_t(I%aLa*e|#Kwxt~v|U#sA=H*N_b05=I{1BRCk%sV5&fXmLd5%|TyaRhXt zvttRgn%QxjK?hIEUH~;}HI-U?V>$*@POfbXdTs?-09*4@bO4)z?Yo6|K-V>K4;9VO z^|p>f=Aw5)Esmk>8pu^f6b!nMW*CC{+xoaLlnXQY#U#RvGMZc}%qbV944E*iACFQe mel)0T;>RjX?#KPRe!Kv`J;S`RiK5E@0000c83Ux z;IgxA1b%UF908r^>{tS=W_BEB(81HP7eI|#O{Eskn2rIJlWQA;o?Af{z}EZ}31CyO zeMg7~bX^noP|*xsZ|gW@E_yfA;xn{e4|0_!3I<(JvO-Avzp9T5L%A@MUrZv*GN{R= y!kltp%8&`O`tc}r;zxtZCVs5K&FYfJ;S`4aI6;q0000 diff --git a/graphics/pokemon/eldegoss/back.png b/graphics/pokemon/eldegoss/back.png index 73f8b0082c2d17adc4be3dbcea59a07b53f45bf4..dc56e7dd8b53c072a2d3c596e09bf889c77d9d67 100644 GIT binary patch delta 335 zcmV-V0kHnT1GfW^B#}W-e*gz`Nliru=LQD?H5!T4qagqQ0UAj}K~zY`?UB8T#2^%f zL)a=$u{cvrBaG<->jU_T!R>D2yE#@ich$t7Y&2n*W?|<9f^fc^d%WqoxBjYT_q+mp z5JKc<+b4!O-JucEQ_g}$4OM^nT)Gz`w0vfjOTaxb_tz!K z4KU`GF(B0(OaV+tbBPEbXL(P0UqYeD{zz&-BE-Yw330{{&OENM0%(N|t-!4bEF~1s z6F}k#fNjkufQ59+MT3OrfMO*&w)8-{r_De(?f@tNSp|w|Pyp!{mpdx~UAuuU0eZ0O ha7}vnGv4|)`T?W8k7d~C%FX})002ovPDHLkV1g8&l!pKS delta 343 zcmV-d0jU1B1Hl83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0UAj}K~zY` z?U6B#!yphvEi08zu_9Zgu@u}}3J2hdmeWnc-3S%UEXEArH8_gWthD)-EKC3S&u3^p z`m>tc^A2!gjLlzlpBe6Sg-S@<3+^>&DEjN~vwI;z&F5CR1l$u-`@P0r&U`Sa``<(t zd?z`MQUl_)X&Y^Pm}P>0Lc0OZ1i1N9BHDQy;R9|W5Q~_Dnl1v1bq!m4>E zNGN)Uj8r#Ax;2LA<+B#}W-BLD|mYb1bzU!Y!Q`njxN6C z_RxwJoD$H=nLWZJmxzI`gMi2M9B?>*HKB(Z-ekfoSjA3hmX!lTLOcf4`3$T{2zZ#l z%MPVk1XQQzy5=wgMyBgd`p_Brd^L>szUQW|}8r-ozmlSb8M+udflSw_js zH`5NbU&5o zH|Zh93kk`Se*z+ByjE)|@FORDq5c9DWLEexz6N}~2CM?Sahoqv;10tB8Gt5_6%7A< z3RjXnRzDRCKi-{AM!vSmwJ=E|f6K26GZc4MP92gSfF`&*@ zU`s;4!vY@bV3kT0;)@K0voB(joR2u;@M9IsjDcBs) z0A_DN$nAoE*>J$-ek=`UguJ6ekA6mSghN8J;6a5!2HesRtxkbkBr^f;z4^-p#oHU< z68L8lO$^+5htj&f7_kBk4p23K*<7bo*B7o2R;O9|b2bLihHjRWM&I12;n@61qiVD5 zZnNAhqh#hAZA);>y!MkFU2c;HAHcE8I!^j2*=&;{WDRx$gy&QgeNWTJ-4yyDK7-=) zkj81cpGx$b^bq5PgyfTU0wQM|tF;vPkrTd9e}M`zD|{JW1HN7ZRsr7F=8F`#!}LG~ zpvhwe(|@1Bm88e&r-JFnyVL0?1S-d|QaOc3#rMT?R#@RclKn&l{{fVWuROO4a diff --git a/graphics/pokemon/eldegoss/icon.png b/graphics/pokemon/eldegoss/icon.png index bb22f1b6c1c2b8168652f4a100cfff391356c7d0..578bd2a8c8ad860015351705fd2f427da6d3d418 100644 GIT binary patch delta 222 zcmV<403rY90{Q}wbs7hBNliru=LQD?H6QuESFQj60NqJMK~y-)k$f|M|Mq{pguIuB z(6&Y?B^EmX>@0%8D>a!x4@WHlF$+FpBskHV(>Mmanmd4(IL&mX_X+r#l@l0!;xl61 zDp|~80Y~^RL4%>R>CRqDtBYQAmo_|9?@3 YH?Hu*teXgu>0CpC^;FX%ppogQj zfS3&*84FJI3sseX5|D%pZJVew@MbXn1JgVKv=ASml_aUG~$&3 z_>p#DeCTTPj(d7eX;>M6#%p=vw41jZ=>FF7*?@4t+oHDCAF@2l?SO{1$e(s#IXI#` zS^*U-G8IxNv=A0(oBG$`7j>{5Qc)%Cf+!@#>i@r}!yB&f!>s*500RI3002ovPDHLk FV1gl4VGRHP diff --git a/graphics/pokemon/electabuzz/anim_front.png b/graphics/pokemon/electabuzz/anim_front.png index a1f470a0a93ca8367d015112ce0fd995611b1f68..bc17b23924f87e3f9393f7a4f39095c45f868e1b 100644 GIT binary patch delta 1391 zcmV-#1(5ot3%v`FUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld%Bq1PL~ z000FbNkl~8C6vt`aAzclIEZa?lsmPa1xwzLE>VvQf3=k&QrS0h)ccelY zb8=^&=4|}{>5#ok`{nu|QZ@;a+I!{Tv*n*29v=R9|HmK*&VT56aOw#!UcEd?3wrXIHt=%g6-eYP@6wGO9%c zhQt#!Wl{74mVXNro6166AW(~BGSBeGD@bdlU7qJ;B#A;^3G4P61e)t%B086GS)+DD zff<8Y6K}s-$kHy~qPX}hK!xlyB)u^DZD}```xrQ#5e?SHAS=^B!te51{`sR&lrj}d zln~eoc!$8?Kt(}mlvW@mSZVPS@krz`CV2UY(gm$z0DoD_+7&M86dT0zKR;2HR?++* z(^_!OMW@*8`PZ*3s?zN&n8z*&1Vjf2vKN1U!382$Y*y|7G6kx;)%?XjUzU~@&8}uz zWS~{|X!4)`(#wh-WtD@9Rna>xEc8M>00e~T1qccNW+{cEat%<{7Zqa`Q+oh{qAwnT zSJ-V1X>~ zR?si#nM1I`UCx7wu3Ug>snbE@XkpmAO3d>lYjsWB+=fm$qfW)|gH*HHacF^^oY*w7ocg+`XG^hS1 zZ|-k4G--2Z8m`~{(hsn|*>8%6h4pIx`{(`^p6%~Dl_9JB{U7~2!+vFo%g@)d({9Xy z|9}1Sc#>pja6SJvai`B7fsTK>yXfD(pzGhIn+b#uJleCtRw0t*z&=~R5ZCa99s;d@ z>k=&?2HjgCoVmV)09hNn<+7q6da8Je@zB55!E50f4Yw5fHwYID(Z9u72@*R~N_1cT zVK#I23?iBlh4yGo_rQOnKWivPQ@n}&cKA;hBLjeu|5yPIY27t=p(4j(}+M{7~ zWT0}MHy5D5?Kr>_dzL4y{^~Th$ERK)|dmjPFdGGq8Q%~c3nV&r0}=35~?z9&=V)}XnNRn7 zw_1T0w9#NWDxHw=Ewu(8ZR=6#;IKjMCao;IuSS9E(#(9{S`C=Z9Oms{8K` xz1KFJABan0>MeILKlsm^!TjJa@?V=D{slYxk#%mj3swLC002ovPDHLkV1i%Ok}LoK delta 1368 zcmV-e1*iJG3#JQ@Uw;KLNklM_D&^<*_oUp)AB! z-~pyRX_AcQd?_hYhuWUG8`bXe08ZgPP4aSCkkW|+DfOA4xX}q8cNfdW{wqSrgk6$z z%e#90>MW7LPp@B{1(X6fXCf2l0V)K*`|X(+K|yZJ>RgauYJX@=_@gE=r~qI!xg?Xt zcob@lHntOf3cxUO!z~b;07z=?b0cA;P61?A=b+C47$^u3EItL0ixh!{1@t&DnP*xp zd`;+lJY^ITri2fg1}Acw`u-1?E|BS|DC89awFpnf>HRo|sFupcc}YitDDt^5_N;^` zu7-iAEDy>WYkx-+7%}J-bm%l|OCDv=*FmarBXVj?inBjKx!C+L*;5< zz2cydrUpZM0!Yy>9*S4k9uD%J-Q$v`U10Wrc8a2W0yc*r`ySAK<0O9q77kF`Mq=K`j!d-&z&V92G)w~ShpmTS`v5Ij z)D$9X0IG7QHI{}&Y`<1Smledl{fP~(U4hUVzBNuuoXpK;YPbCaOcJe^MSq_>n`7*$ zWZ`TRnN74Ebb%XgO?vpotC^|O*xe_y!%I$CVSo5=pLkD+P17tI0qCKeo6kdl26%us z?dJ>a9udD=FF9lH+6V6xXYL{I9`DvH+{d0OxPA9a-@xu}w=SL>tL5(Z&;27j-#vCR zLzlb9Kl*Wc{mc~CpKpf;=|6CG`+u>HZ_;h}xO)1ngHE4403H3dchS9lq^sYhoe6{s z9Dn6mW2+FMtJU-XXlfh27>GGN=(j3S5&}>?7hY`p5(0Fk@s{Tm0}*$DXJ`-gdqr-9 zZ8Y34D{!5K4n5Rwv66xYR+K{3FMltItvrM9V=7S|jrMy6Fhu{g1yBP}wRmXAU|oH{ z=kV~<1Uz(-NbUdG2PkWt%%llYH_22`6n~5g^Z=LhcfO>co%heO@!Bu?s4=OA<#1IJdqH_Hc?L9rvfKe@LmUYm~Cs4t?C8Rezxi zC ze99td2LuPW-aT^LSiZ5!-V6v1;9VnNzf1P|KWLBM^Y$uudt&5b$@VEPZM=;9n(~sp zs-{?$`A8yT2VSUY%sHq zDg*DUQQ)?;b4*@GwL5IJ>*4|DhkLfH`@bJL9x^*WP#eV9HfhEKXMS+ko5B3xI{B~7 a5B~x?`;m1&SaTf!0000*&fB#}W-e*gz`Nliru=LQD?H6=f@jvN300!B$hK~zY`&6LfKn=lZ^ zDH0Db$S#*0uvNsp`vj!Jp0O3*dRncx2W{%-TPb_XLv;p|1Vfg+RrLW`o*y&+`LL7Z zUoXd>tos}|u;z%#ZF3N_hD z18zE?ED+l@kh&W{e=%^?(o6wFE|x$wv$KkIoufrTy5*q6>x}ztfQUE`w*&w`Vhv^q zh(!zyU@Hf5(8q~*k7J~|Vkf@VH)2uDQHA$|*7_kZ+MOq&hEO!wty(EPFWQWRjq4!C z0KpED!U<7_?tcyj=l>zP7Dmxa%7e+~%P&ofY?cQbPUqG!N` zD3s6K8IV$cib)CCEreA|j+cg`%wSAHHcR(AIx#KSt_TL}g$Y5n%c}-} z4<>|!Wj(AauUAC?a-!`zo3#CXeJ6c~Plv=d-MXONj&+du^wZ#jWCesJ@fYBuj;#YxT(vaS0Fj9$P|kFYVqNEGk&^{~pkn|oxZehdi1V;Z z0PrJ@pK7=XRh^x#*EQ;x)aBeWhJOsRM9T63TqN%77zLm=H zqKzlIxDLuY2s$VVr#nOup6MuOogIhK0E%=^*>cX!u0=!Ou hU?MAR^50jI`~}zqtW(f3!Z!c_002ovPDHLkV1h-7A{hVx diff --git a/graphics/pokemon/electabuzz/icon.png b/graphics/pokemon/electabuzz/icon.png index dc7be92f8b4d88301190411d14c0c05066bc770c..7c688278267092c8e02944f82fea3a8b2d6db662 100644 GIT binary patch delta 298 zcmV+_0oDH70)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yQW>0`j2% z0087kL_t(I%iYqgcElhM1z?__qZ`q_LH(M(WEF^TA{h~$ixmmmRgB=4RD@wwWm_Eg z3_mmHGv-$rsAts&mMmVCgq36IL4OercJ=2GVl0?azk>J` z!mC%`inl0>RV54G-E$8JZem#VNGkU8ZSDoh1269>p23_ekeowrh5Rk-VasRt1=D7$ z>xV8L))tO^LfO>VI?z+Qe`E}EeA>)ES$_l!J%TBF1H&Cm<1m7u8Q)+;aX7$SHHQO? w=3sDuQ5@)UfFpt80H8)Qa%eurA^zOQ7qt}DN@FIbR{#J207*qoM6N<$g3nlbl>h($ delta 259 zcmV+e0sQ`f1KR?SV1MRGL_t(Ijos3*a>F1D24FowHOE8y2HmstB|E`j&LbMkbCJO& z%>;x0;NHcEY~9+j@t*`I-ADAR4nGGabyrYXb;3TCOBa|LfVgFw^HNfAs>II{atm@1 zZ)SJ2uwcRv+Y>BrC^EMWD&ZQ+WK_u{H+yOU!wv$YK8e|Uy?l?YAUfdnBZeaw(*{Iq z(MDl+^{ZbVO`wcnF`I2oX9r`l904KG7U~3gYq!sYZjUbu{gd-Y!04gj`5J%{R}TiOqN+yS)|)=Dtj0bBq8002ov JPDHLkV1l_2aOVI3 diff --git a/graphics/pokemon/electivire/anim_front.png b/graphics/pokemon/electivire/anim_front.png index 9aae7e5b5c7ef8497b1c49c6a0b2321a0309b3ed..686bb3d746a121b7abf7905fd069a7a02c355646 100644 GIT binary patch delta 1829 zcmV+=2io}b4&n}w7zqRe0000lCgX%Bxcf3 ziQ=yhKm8~DwkvaAU ztG6kNqA%}+qXoAEaDUc<j?o(qKANIKyV8z zp{nRZnR|LZ0PqA`DKUSAtER!Ubl-(D28`x$VT-DM-19sNx{<1@I{z`iX{iC;0rN-e zm5}H|LtnR#Tukwl*SG*sJ#7Mk#+WFOwj8yRhXB2&!SPrC%cGl0sptTZWZveJ1>Q#JeM%eiKj9|4M0MqUOcPSI*-2s5*nrvV4lE)iOaDyh;0+fHPa#zBLJ6{04~GK9_J+>~>Y>vYdx6sHgzTzQ6?Q;=KNKka1Re;K_gCwI zK-o=TRXQo@4@AY;K%ne}Msi65Q909A_yd8m2h{uP>nkDBs%9f?v%TZu`ubYXeDsH& z_d`DJCwE)V$NH*AaS)Kg!E4zZ0(5sOX_Q!r&}#MwfMb6lsS{hE$UFHk+9wzARxCRg zEhNo+3}oUwmR}`(loGlwzR$xivBiu01ne??n4IK=!(az^(Bd9nV*v2>i#OOxOdI)Z z&~q>cITy=#vss>e`v&7NZC(e17BG!BV$*4$Z@+xaNs1+g?Y~xsuW6Fg76JZb6N+7R z(8h3l$tHij1nv7_Z8wen+~o4T*8Fri5lxj}zq>Q2GfK$%{hN=t-CG)sIJi{XsT zXe!~U9-kR3@vKwTWj6;&8n9zZW^^W^d?rpWg-vEC={*t{iyW5P&S7(+@K!3=VQApVJSa!t@3Zme1)2+#+IZ_w7^z{eXg3 z%Sc9KXb;!`tbRx%g91VZK3icF{Vt|xujzk!0!mCQKs+eSFLT)L>qYy+QGX~PyrF#P z1%&^se0WMgjO4=;0%9y5I*-7flMiH2j)Ad!z^zh7`5?-%e4si$RD>h>KrU*Nnpypf ze4zhOtC?ia$p`$4^%_0Aqz}{sJe<5FG1#ZuPbar8P2yKSoUq^}z-8_>>i+^ngS!!J TVlQQ=00000NkvXXu0mjf4?Ab@ delta 1847 zcmV-72gvy14)hL?7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R2J%TnK~!jg?OE-% z%qxH1#)A(4RM!{A;NS?&ZzT|a(t8RZ<_5sBHV9OJFxa;k z>MF8Kvxk|IR{Du605Z;^E-9Szh?226UDOqixfGaF#$KizY}dcrhMy3=9Y|0JUDRk} zO)iKA$v5(hBd4ek-);S_`m=SpkdkhNTUUUh<^o_dH3^eC05=39ck4?ilz@4_nXrlK z9KO_zmyaBOQ*I-)um&(d7<_$Jhq#7E03zsTPFZ$8cSEg(R(4$5d1NO5aswa=l}iYk zdp=z}!cTD2Afc-3@{&>oKxCV}jO5u90wuxA6puqz>ylyXnOr&!WQt|}x zSop$>jOz$k`S9?e>={5z%_j5!vc(oHO-wQX-Z#?hQHvBHna_1Q2p^IMOoyLNNxnD$ zu$!fx0P0qBdLA^l7y8Y91nAe-P_?EI*B5-SkL2$H2k7#^ zizxhm%7)ODIK~l5UMzcnA&OQ6_meu*Nd4(3OaN-t+as$PctQBB?H0kqH<{E5@3v0qn4nFYpi8P4eufY(j#gLY%10|3>ugdbN3g1xTWs+X@*rJyc< zp|5>V4y)e3PG5-~t~&bHB?5A8-Du_|QaZyoiN#GAG4Xrxg-w(SQ+VGbasEWg*^ zBG4xBks!;TzXA}5ZIu}9FZAD#pyf7#|B>;RG>m)g;KtrHjG1=Ok4u_l8pcdJ=xI&l zk7lpc6xzW=zCckofV2G30I1D9+k=*W-=U83$4Fq&TOT#?A~aCBWS{3w2w-q7tyL>! zvDbE_e)0)n04PN$V_2^hir(F?W}hB$iM_p$=vTj@(1`)HA*n+yrKdxDrqD34evG|% zfe*)5&7}`P8tK|(gq}kgYr!0V(F~P#(G9&9cyJp7dsx);r3{Yt{mo+r5d4OJRrvkk zQ8$ohg5BM+X7=6^D*LtH2=Cd-e)rL<(+NOZ8MAvkdpILU$1feYqOca$`7OrwU!x%Y zOYRi>z4Au^ie8$nXS{gL7Z_>M_1pg;2srjoTVn4=C(9SLwH$DJEcJfx;mEc7pW92W zXeUx+;>M?Z20mZk5(GdV7rn}V2#xi-ZJLW+E{Km7$#~Sn)LwVFV6!+%%N?UCIE{t` z$n?Dko$35~Vd>TOroFXPGb z&dw+VlP$bCj~bMmn|VPFl%c>-$xUM**1kL&09sz{d)v_{3PwYPBJ;n0c!DC+$n$0I zn_Dmiyh!^1`E3Vq^{8lqSN&nsKa>I%&R(xWU!x24`Qa@u`jwWCQfUwx;}9M!U1?6RzbQHGKWSLWv4znTwS>rHy@2(6j!sgRiT zsJHq7Wm9m;Yx@b{Nk4$|p0gH;*?()?=?A`jxsjmL`ZN8&#aJ|d##HREHxdVc-TP(N z4}zMQf}sB;VCpfxJ=mY+gT+NhCE^M~eY~9755ANSmY*pI{fU_Zn1XN(aIGE~d|$S% z*08WoQ~XImxKj@tpn5n3xKj_D->rmjryl5dk`Qjy14DR{5N^~1ci}-oxKR)M`)3K^ lQax}V{+AGp#6&_C_y?_!azwm2ip2l`002ovPDHLkV1h?ugPs5Y diff --git a/graphics/pokemon/electivire/back.png b/graphics/pokemon/electivire/back.png index 08208af4b81ce43e546ca1913a3c22d952e1fef0..5373532bdd3bcd77a2475058665cb0a3f8ede403 100644 GIT binary patch delta 575 zcmV-F0>J&U1*HX$B#}W-e*gz`Nliru=LQD?H7zk{1}*>q0tiV&K~zY`?Um1pqd*YG zgD}Cz2sva2pJo|oS3E9^D}BsiD$}PBNNoBA!d?aKrk--EOVhRr*}d&$zWhPEepY=| zvCU@lrT?JnFYz1HPvhz59nQ~ygn->MpaFo>bh=$R$_Qwug3Vnoe*p_P0p|1f(ou?t z)6zEr7LF2$eOO8X?r>bxFz7Uivm|6_1*BU0W#^H^&MdQD$`2Ui&TLsNJe0L&NhS=U zn|D#@APZfAu78~u&^jircsXnq2_)B76%(goVW6%c=))6lv+%ZRAQsKz7(3MSFcY`$ zkv~{V>)1oF29&aBm=5 zj%y)uu!27UT|E9AC~ed1(lKQ0Hi00*b8AiMk$akwRBwIIPI5%@sSd} zIw5dWhYy?nZl?8GA|FT$YIozkN)>X{2KzjuqB7R1fiOO^f9wh91ikYSAfuq#^H6~R zrzKq;0lrn5X9SRee4c?`&R3Aqm$(s75)eF~Rj6odn4k4y`Q29uT`2zEZT5S^U9kFT z4lL*Qdt!Y1`54bbFhl9we#g6dn6ZzC3bJ!pI^LbhaOt4nz;!LYnaoe>6$4R3b1pC| z+iXYAp#z^&HIdNas7r>Z>9Lma*;OnWpdfvk;{y=HN1+oQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0t-n*K~zY` z?Ua#`6@SE$KISl$=~DBJqO5Y4iSLV9WF3N-!e zvVfE!al`9j6D8oTzNj2=E+PYU1zsPPcw2GB(^m~v3XFv*#u6cRO0rZrjWs?Iy)GjU=%Rvi*v`v9y zr+-aP&)TtYamIdW$|nR=injxho;hOAn6en9K)O`Zae?EsUk(&HvJ$O2#&A@JlTG_H z(|XO(9dPt&2SV8jIZB0n?o&}2t;Ikno0<0nbd0|F2#`?_?PaJyfRUUo4*=UL%`*VV zK)%dCA7d+UZcE$=C<*W$Pzw~aHPr8VT7N#;D!vQh{&$=Gp6pMF`*{vd#_soo+F%3G zGj9PgLvGA|=XUilV;lDscxSLQZg(cbrGvZ!)3x}fGCQf)F*&IS=3HP_w%Lx}LkD+G zMSO>&t{I}F*IMSzZY*kmg7j-n6TsGhvEzzfBH#LpHk&VH`sF`c(E!o_0000H`f#D$CrR{E2gF|4&3KXY zxy8D`n}Cw#>;Vn}aR}Vv@^7?LT<<^}|J>o(QjCcsloxKcb>!3`KPV9>GJV9x?~9h6o+QK{`yg0;y4C zvV&4;GXzo*v9c{El7XOWwDE)dCO@8qc%H`$uB>58zorrnJZR=}M8q9psfd7x+KHRS zG6^RG+w9GhY8(t7>};yEGyzR;aTa{g$1b^OOIc88-x2pT(0}X^6{eXtBAnL)>cg3K zUnJ2_9T0nEH{*w-&n?yk-UO5^XAf`?h(q8Omm7Vcy;Z4RQutA%DXnJI62ME8lxDnM zS{QuG%FE`S93UFdO%al9vx#E7$H+0h3Y=H8A2KFgNxx zFyhkXIs@abT~=P>A7G$g0TXEj3{zVJBO*f$3=61%nfR!I8TqhdolPy9EPzRTi0>lYiI3`Ee8|TijR`lQ<+F`Y00000NkvXXu0mjfU67N( diff --git a/graphics/pokemon/electrike/anim_front.png b/graphics/pokemon/electrike/anim_front.png index b1acce4c958a0a3cd778b7418d6313c9ca3e2b61..26c0cdd124fd34e5aa96d490237734235a5692d2 100644 GIT binary patch delta 700 zcmV;t0z>`p1&;=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld%S%V#@H z0007VNklKabNe7{*-nEd)WAtA-a*Oej6=+d*Y(n@3} zQpHzb?FQl-u-(je!FJTU*!gopNKAQ_M1CK?cAT`&51~nu{(p;}K2o18`$nGta4FsG zeA!pN%0FmbkO70d%57bPHO%n7Q_u5U+d4zN2H8y40F+XMRA`9LbuP7jPu{K%f#IF2 z7a*0^w>ae;gUXA%nQj^^W3KCcOxlKMp$g#FcxCFC2v!19o?(U$AWi-AEyjBZ#=y(A zVK&E0`fZM_s(%;wnW{k*#H&~P(+_J{RrIjYWzF?XtHA}X^vBEZ)u&ZeQ2?`1vGomR zZ@L6noa=gb)U5pshof^W_NKnkjXZ;ZBQ?)S6KERf^GiMJl4id$0am7g&^xn;e@@Zq z)$ha^+=;VI^VVA;uOAFIkeQpn5dXXbo;FKB+Gluk0)J}9la1Ld6&*vg6AXzY;dUX0 zG5{8QQfnY_oiS#+aEe}j4Gj@RTQiNJriId9x}S9oAPI_02NLTt?119325zoqf7G0< zAfaKc+|FYq>|Fb42TBCkLAe9c|8tFKYA@-a;oe85|Gr6+rf?tA{9g?{;r^Ef)o-{b zkZ!p91b-6qK0}K@dcxf&ke+b&2}E?lJs^-I4EGL!Y=dwQ3FLVg?g4>ZbizF#kWDAt zeF90k;qDVilm1?~djw(^FbVGM(IXId8oKbd&?XSe55NmQnH_=9(h*3*4`KRK8~kF7 z9~@k`}dbbmE6eBl-i!CN~Vdkhr)20000 z%X))5mvc^dZ36XPL+DrNnysbZpxe#;E`74eoh8{hu0x07|6=3!*VD6X`2PqQHR_+} z*(3GIyzl85fKaNro%R^c;4=T9bwLLV>M}QV4aP8uwq8BYbAN5>ob(!0yIcb>#t6w= zLwKwUrS&y^x7;~~_f5S3m1%t&CBidgd6BovvB5kPy55GgYY1jp0pcoJU_GLem%ua2 zFo|}cu>Scrina>SAj+;`GL7c!+cYw&UPjNe8nS{~^=f!8{EV`r{M7Vcib476X&b;t9L}-JQ!{u#T&;E{=5T`v|B*ZXLx%6W}e3@ z9F|GX5NsqTGLD7Wh?5k6+Xk`(8rCW2ri)mXDgBR|t?g_*X_qKc_kkAizVi8DBxZ4EM6Ye&FNH5$S0*T#l_XuR| zgu6>1FMr%{cL?O%3wMV=R$jQ<1QPqRN zh{8_hhCo=^5J<}pZu&D5{PGk(G;q-*{{TNQV=&Y(#1EL3n3sk?2KfOMn$Cm#fLaSA z5Osp0O*IhzB+V(*yjYDP3{dyJWmprLhyqFikdSSbNngKP2wBf;S`en zx<>1p+vn%K1^QW!IEA24YqM`|U*Q1*kR=BMfb%V2UWm{Agj)$!o75BECj&R+g9pSF zr5MNA!U3lQ>>|Qre*jD}Dn&fZOz@4Q0%-?ajOG!ANv3R002ovPDHLkV1m$2QFXPI;MAP82Ou$F;b(C09BEVg>Wf~}yv_ym@MZ(*mEFXGH* zcN6bUZ7uGrl6=4UyPIgEjeb>4`qkE?y8OW&SerCY*N30!OC%|+n{`Cp+N^uslxzGu z3{tvUso%3Lk;dE3+OiLS)8JJA^rEh>4jmx&IYDQWdjk^Blf$Hc)$Q;$pHc2d<&Qt;&VUYRzlS#^~Cqd zzzzA}0dYks#&NcAz$pQ{i0~KylZ;9c4>J>dBdI{z0T-ir1o3cxY!J5Cm-R!&*l|<$W>$d$635R zc|huh0o1bRPq7L&Lg0+8mhh^S xS_W)rJ8c@#uc2TKkP0^-rBlmeZ1n#XMPJ>w$vsg+>{b8(002ovPDHLkV1fb1_z(a9 diff --git a/graphics/pokemon/electrike/icon.png b/graphics/pokemon/electrike/icon.png index 43235804fc8bad01ddddf735164baf4a0901942d..7c3215fabe7a7c629af43a39e10f7fd62ae56722 100644 GIT binary patch delta 274 zcmV+t0qy?70_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yQ{Xwc^D9 z007KML_t(I%k7dO62dSLMRS8(1_XX<5RK_KodNEJZcR*1gG5mb0y0BtBD$o4W?Nkc z>;9Xa%x3o~^&_R1AbJs){R}X0(v6q-_+*-ZPWcYk@fY+!2Y^0bQwhZ29cS7wm{Vp7ZYd?7c-FOJlA#Od!uGQQQE72tt*U9Yn6WJbZ;-fn4d2p z%$U>pXTlVy2O}CDKtmZ+g@p~mv3wcihg_m YDY|v5QhNib01E&B07*qoM6N<$f+NdvF8}}l delta 235 zcmVc83V1Ld@L_t(IjqQ>x62dSLg>!>k1_XX<5RK_GodNEJZcR*1gG3Pw zqGX2FRCGxN%?8Qf;JNqBPJTb7ekA%Gj6oFUkO2k`x(TxHJEjHb*spM&Utj<{;7TI~ zTGTxyKy_O?N^A7Z<>-2!z-S*JG7Hcas6278fOdB>6NP10#boDI7>p8OR$AWdpAVA> zqvNwmKXm->Ai&(ayAWpX@%uAj3e=Mk12>?d1ggTq_QJ7kxv?yS(blai;fESqL}8L2 lYDAU$5zqbR#|*#d#}g^Kb*sOZQy>5U002ovPDHLkV1j45Yq9_U diff --git a/graphics/pokemon/electrode/anim_front.png b/graphics/pokemon/electrode/anim_front.png index f5fee30396ece2774395c8388de105a915c6f6e8..bf91ac0eb8e6efee3355bda8c53e1ae2bdbdc176 100644 GIT binary patch delta 720 zcmV;>0x$j91(pVo7zqRe0000lcPjx62cqf0mEk)f<{KL7+n zVTx4A^b_=|WJFcnxdSUAl@6H^i6HoLeRt<`?901ERjaC%{7|BZ|1a;JbBXU41Z{u) zqZMLph`S+R`H}8^q5w!kZ=Q@d5w8<04Z!g()gV~`qay;?uK|$mdKy%~k*C491V(Eu zx+e}WaDYx@1q4nVfF0Cx93q`M0E9LlP(TM_U?z_>kveO1U})Y6&)U_NfdcUTwgCw+DCgV&;Dgx_XaH8gSp)c3Z2~J- zI2R4z?h5Lqa&c1!cJg{YQn?74z_)sSjrpf0@KhsI>;l34U7mke>DwGbi4W%sBcBVI zV_`BY3VdEVz>c_$Fi~|Iy%F=dvjPG$IF58pK#Jw^+5KHeu>iB@a44|DG+2LcF;Ovt zLmYAWxc=LeqR^YAa-u;H^n@rD3|^^A6pz&X;Zk3r&c&1hdY8ghM&E-fBJ(j8j=(v6ev2m z@c4tWpeRcBE~L*NWL!?Cea#LY~pU7!P?O0XU9>rwFm8 zaCl)@Q-C;*#=r$o4R9QH0=tM+z7!A*m~R9G!+<9l^8R%Mvz=rk-U`Gy<~i@<6a#Yy zx5j}{1&((=I4moF#Kd5q2KW^nFM@?8a8HDW506a*EU{S=d2|VV!NQUmFmxTC2;z0rJY7)#9eCLnsAkbv;PJQY3$(g1l)S;E)IGt_kZ>uxycMW- z4-fR<3XI@V_lg8h1jb+&Q8?a8c}^4fmzI|{kt!rG+CAuha*YMXATSX|B+wr52}9?AN2>16>0vhS3%|f zQh!hn;6L7fAKVG1{lTz+AoT|y6%hXPcX3*OFwA!gJkJIi%IMp6C_H~PPz2D7?XK8h zQ~`@f=0(y_rgx|Xsf2))1_K#x=Km!DZb8TeMBGN;ivKuv-AD=0xXUz&FiW&D*ylh07*qoM6N<$f}a5{_y7O^ diff --git a/graphics/pokemon/electrode/back.png b/graphics/pokemon/electrode/back.png index 86d20c029e3805dcbc20e8777e90a40c4fc1d289..01d4bc1df3da98aa787d0b0358d1008f9a05755e 100644 GIT binary patch delta 362 zcmV-w0hRuX1pEV#B#}W-BLD| zk)bYszwy4$cV`4x)-``KF2*rqk6@Mt#db-bdsoMOGRW-&C+U1FcmoQQkkx1p8|xQ= z8_`M?`~fF18mTjC0Ez%qZQ=7GRRkc9&ZvPDkONJZYJ;%=k=(*=Ysv&{k;!Ke4}^{b zq=}r+R#Xm~eujM~i%Kp6(b3F>DCt+w@O1!x-lh{?brUk~_}vVxFh{8sY+tuRfMY`O zBxb}UKpa1csbtvhB)eEdS zc+30SECgm%Ny%0UJWZEc9LVugD^R%EGfj5*mBgp(kN;og8>DYA*wG13BLDyZ07*qo IM6N<$g6v$J00000 delta 375 zcmV--0f_$m1B(QZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0c1%;K~zY` z?UTQ5gD?=rk(Vxi-@tI+@9sWZ#=7c{%0)S5+asu@0kK`u>)zG*J{jnC!YAo`40r<< zC?Ts+4jbzifD_S51^j_eVkA;$GyoI;s5-*uMXCTm9-Ywu37`)&U8)1d07No{7$7sm z(2dCC9mE5m^8wOCZfGm251W36eJ6{GE2{%Gg^;rxsfW*lJE zS+%k2P|^oJs|Q%|miMPw2%A+UC0hw_HJxhFkmIjbAaJwqiJ^A*m&7OQs{bR)`Ua$L VFxWoeRG$C<002ovPDHLkV1k+UqHO>G diff --git a/graphics/pokemon/electrode/hisuian/back.png b/graphics/pokemon/electrode/hisuian/back.png index 51e6686d299685094d32604880edeb46d64ee938..803bf47920761771cc4e77ecbfd9fed45801e414 100644 GIT binary patch delta 471 zcmV;|0Vw{21gr#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld()FYx^r z0004xNklV+45QXU~Qde~l>Ka$xup?GPuaQI}u0a)5AUFVq6SUh(6^IM4 zhSLH3D#P6Fo<5^@dxap?96C*ubw^K>Vu74nROgc?jpFflxv0r>C zmobobOyHRki-E9EfR89*JZAKmn%c5eh6l{$z^e}d=RB~Sq;r4$azqjK^$4FL%P>hKZT zRHZh}*T4a4zg)Z9OpL9zO>_1D>ST4a-`~wy|3>ats$ZLCwf#5$_a7)mHB{jgZpZ)t N002ovPDHLkV1fz9#=-yq delta 431 zcmV;g0Z{&|1cU^TUw;9QNkl2naE8{TTYe1fi@167__a6kDr97oWe~RCCD*`T3N-WB~ zaq>3}0Wkvd^yAtzB{$7iWC3|tZS85M+LpVfId%Z*VkmSr@88W){f#`XWmubLy^H>f Z{s1h^JNQUqy7&M9002ovPDHLkV1lb*#S8!d diff --git a/graphics/pokemon/electrode/hisuian/front.png b/graphics/pokemon/electrode/hisuian/front.png index 1e568d37643b8d9326b8f17f5a1c8138a7878583..457deed2ac83ff3ced5257d6e5806e064ade2d98 100644 GIT binary patch delta 612 zcmV-q0-ODf1-J!}Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld(+!Ty{( z0006TNklq<6o%zA%upc|l3I8~4@dGOC1&N+L^@G=$Eua_WK8k`T1c5j zxJqZD#4ljpAmDe(*_8yVTME}cGZgIq=|7iUtu*a9o)Ef-c7OTB(DneFX|GKmg*J#7 z_uBOE6Uh$1yw{?KS2GDTdW8(smk}7$fUAq}3=UDradJi_evl4ORg@L8z{Lw`52Aq!w&IE)$%N*VeBkTV4HZAm4g9Kpkg#e3rltHcG8V2}T?0`EbV1GzXtO`sJx) zv}6;L;V|EA=Hg1&sxeUw;A^Nklin)6onO<%(y}phFZ$Vy?vz&l#W-SHqu4( zA*x|AOad?9wJFocspv2QUI4!VcAkb8;NF#Ful^{gb7ow4&!=;Lb`9e}{~?prZ9j6n z5Wt^2?(&C;2dq&$L4NXJY0!IaAk z0=)JMZ3CcQfdSM|m<8knjlu#Kg%zd+g2>elV|1S7-s+(pUNo+@*)7-Z_OL<04CU6_ p{OLt$!*Q8sNT1jLvHXAk%&b=}nZs%+THOEu002ovPDHLkV1jeARo4Ij delta 168 zcmV;Z09XI00+j-gb$^RVL_t(IjqQ<53WG2Zg>!=*qI-|fn}y!Mtq21>&%h&|Ah^`P z&=$H7L5x{Bngh6~zTNwnzsDH!e~K~lz>Y)))0RvipizILQ~>%aU;s4~OagL(mx38C z2rC$82m(J>Fa+1IRILu}@o}}?Yp}kvxiWxjz{an^LB{Ts5 D56~nb delta 63 zcmZ3^)W|d;fxXAm#WBR9cVd5lq%(&>P2Kl*ky1|V7hbx#m1VA&XIRztF4kn?H${P7 S1!)%sAnzi-+=6vxjfMygnFfCVPvEbT^~qbRh?;X@T+F$t%rVM&*!S*s$H zzo2WSC}O5KL);FaBtvs!*LLV1kpHFc&it^!N5}pUPdbErpMUdvcYgQ2kC3(fon~0! z(3;IW99jJf9OlW9IC-joyeCJ}e7dWEwkJmt@V1*>3B1{F4`wbBf=pik^iNfg8x9MX z#DU)Be$SIY)@3w&@-eo*S1vRZVC59>x^O{bKn|+D1n9N`(ii?o5PgLaKp+7>&vLAs zl`g9{-3X9*2!Dd6N6Nlk%~4h+1YP!{fGI3-@1-h3fMQMhC;~LDqCiO?umNb*A#R1_ z@J~GoP%);&-T`GH5JUlzXSD*c_iUWrvVBUv;;!zaKxbSU5%=XgfM>m-Ly5R!r5KPY z3C{rk7@XdFK)@0hR1`27EnCw6-mxozJO&m2sI5Gs0Dn0PHwt**CB_yLi?`|k18^~Z zpRv-I6_&m^m#gJj;p(RgA%tnq%$FF&Q2pn$QAmJU^Bc|J(<@UkFbNnE599;QGsL@(#|g0JvvzZgQ;)>t0QD zTAKN-K!3=~lIm!-nR3CGfYBU(N(Nv88~`M~!o)s5BXGRcwUD>gg0Qwf zZck>nOH&)pCi0SU>Qm@E4s@sDT}MdC)mb$6&u@5R2IO#%bozsL8j;N*^pz8vB7lRO zU0&T>L}b&IvMGT&0(A+zhyENOp=`<+4^f*BJ%9CNe;z~z?`t&#rs92sPd?9qU?Nee zu*1j_6PE;YfS_znfvl2V^8iI_6sgidpfn8i%$fi}z@osoB)9@LsRBB80TVGL5E4k) zlu@U)iN!=NSrArKY#VAYaPl>jFkCT;SLs?=mNC>Me;apEED6ga3qHuk&P0;3Bp>+o z1%I_cnVCv6Mk$tRzKMN>J&|TCm)H#~rc8^KBhp;-mn)$~XVT0Hej%w2Q2__jXP<&*BT(FiUj7(?rLDD1x&aO qxm|seBY#g|b$5Wx(psASQTqiPvOyVm+hPC!0000u6DZ@!o<&I)HgpGzUi!;Ox?VSm)`H2uYUrSs7%ehalB9}_LZ zPYB;@@!PP)5y-X<d*H_FpxoPiU1CBa&dXxp8-8r$ff`q2s8w627?(uBH0uG0n01seoRNqis&u^~${1== zu!XxQTii(1ArXVDZO4*SBxV?-lo``RnVCp4X2}<7zK(r`9ZNHoOY8>7oV8gcAaOuS)j4P*(S>UK zK?wj{;Z9oal>#WqB7yhj<#J%81a!EHI3^W9qW<6rmUjo(EG_r1?8(|69I`ohIO1F(JAi*`jlH>W zt^r6&R6PI{7w+gU64Q{Xi^xw|(kgH+Y-kUl;|L^NVgj&h0Jewu_8$NVRX69x3{*XU zwhqt&Az}lm8u?kUQoQLk8=6@pVoh|zmb^nQkH1_RR91007*qoM6N<$g1NQ`DF6Tf delta 580 zcmV-K0=xaD1&jrd7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005|NklyCsV423PUQQ`gHciTd_C^)*4P4=WqIR`zYKsc z<=%fm5V`kA=@-#sJ*xv^0uXusl)wOl1Q2=kavu;_DgbJ|JON+@0R0jG2m&xKkHUX> zlp070ikD{wB<%`-=KyQ~z2S_!%36Qnx93+DCO$PS> zfU@4aQxD*O0SG=3U^zA+Cv(d{CX^Zi!O#Hl_M~o$5{6wu_E7Z=o^S-9bzSva@5H$0 zPylD(xcebY02@zF+jao3e+EQafE<78lZPmolyM(CDX@9y}m>Nkd!)}?#3t+f#|~! zP%H>QW`YC2hD{8Vv3f>AO1A~rsF{HVpaT?v^}$1=({tNq1}q1gN~_lNCM|z@n(OT$ zW7#XA+YN#MYtJPhBOso)7+&ZTz`Cs#PJ5i@>I~3Ql@>e$5S0{fo=A-Z^D zqGtRtZatol@=er#Xh}bY{FUod7IK<5tjApmq>H8qE?H)2&cW=D$zv2fhq#V97 So{GW%0000O{0yY#yK;7j4 z007)cL_t(I%hi%i3c@fDg>!>BPet&MU8M`N?nBI8rF-4v9F@`rx@v`tx=GW)KXBFA z<>QeV9-mSR8}b6&tO!(g9(sZ?4G|1iGq7*W99)m?U=lC@H-B_VATI#8>CG6Cp^STj zEnyQtdwbO-aE@TrT~NSs{G@jcqpcY+;sfnS9r+;)HslzCB=yyT~TC>oBmDE9n*E;AdF4mqy or~2GaeyCs`2OA1MzO?#w?xicdgbK5R+yDRo07*qoM6N<$g4FVQ>;M1& delta 257 zcmV+c0sj8^0@(tPV1MLEL_t(Ijn$H|4uUWgMf(TudoU(`BvT#i%nhNt8h2g#9TEa0 zOf5;D=uq40VB$nKPHuUxH%Ew-9U3z*>nw25Y3K=D93m*bB%tY33fhx7st8zM#t;R{ zJpl9mW;hh6!d$N_=m=1wTUi0u05-!7duR?nnM}v%?~D)`EqZrX<@zv~4hPxaJ;JUe zSxTnzy(wgCI(L(60qoS{znJOb#S>3Q=RER zTh4S~k?SD*cO7IA2FsECAf_@jz{@SQEEsoW00000NkvXX Hu0mjfR7`Q7 diff --git a/graphics/pokemon/elgyem/anim_front.png b/graphics/pokemon/elgyem/anim_front.png index 2900d3b3e813f8f2649b0e09fdf75485f4283d15..e6cfa5fe3816c13a47fc9b57f92b65a953f1d008 100644 GIT binary patch delta 789 zcmV+w1M2*y1=q7pp*dJV!IC@p9usV3dlUk z0lLVL1T;aq5z-47dV$11(Y;G{1CIAj?V7D?$4uS(3_UsNrn@X13e*R0`phGFNB)05 zJ?{|zWT-F{zaPyIMPhbx9fw@b~o zl>g>4X18mhDdXE~_;f9_wR#UQHHC06{3V#B5f4{ff)1o1#vv?I{^Xo$qrd=nK943i zEi@z*GS!%*QRe9xR`wZooVb%L zx{j1J;;w3ic}wE$=9bX|<*jAPLr))X>1$h)4Sss|u1V2{5yVhtuom^}}zNN~$%3f?szA4q+ z7S6U(TgTS`uO+!qdwU=nh~6IXE@u?#-X6?2Vnhe8w+9hpIgc>>V-J7M(qhmZ>?+gS zgJrh68QQEU+bxUU9>m$M`Zh4c*RnR=-X2tIycz(m?jH)ToFPCAzlKuyMNLl>Fh&RU z1Gia`4QUyPSF@JV8rln?T)wRkO6eI>lRE$iWp|*(n{NNwg5bFeH}DSe*W)+dY`;Z; T5>bQz0000LP`MAyD&w{2O%ed=B-2jOq!r*6&12U>y%%5kOqP*dVVX0E&$gf!&(`esC5& z1kVFoB|3^jz;h@RzYJnbuV5*hxJ^?1Lf35*@Rt--+a9tRJdMs zd~JdW5ojAk?}n-#6_DFa?srtcn?Tlxx3}XHrPC{3LG2$-jR=x45Y}-;5>QPDSSN7i zAof%_A@Cx9GchqSG4aHq(O|EKBym*3?7>k0qAf0_SJy9IjM|Fq*7 z_CL`EGw)P~{jVI9fO+@%K^nxdrPR&)2m62Az7O+WpZ1?PV&8{(2jAcE!V&xaFz>JS zKVsh>=3ND<7gNg+vG3iyFYesM`bbN{zFQ+)!#^cHg$GiQz0X7LLRlxhhS|SLRty^h tWRdasa_x1GC=zzu%rM(2f$QkodGz@#?{FbBnfU>4uH%>7BEKu&U-*%8^YxQF602%cS{j8 zTLu_4OJ($|*Iw#ja?L^Zz_=NQ2;h$fMs1oE896nYxe6JG$j}aYslvcU0Kck&+Q{Ol zhXg^7TWmLn?;LF(e*@IGY)%`$4|52EK5=1Yu`bCY=UXY_(nqgDAP8i974tWp5Jd1p z>Hs=jXqIr&kk8G_29OKtJg!`#WGI{S>VIBHE>D9je4*vnefI0EU_Wpt7>oNr;i7JV yU{}_X-{EEm@Ua7o%w6R}KlzFG;@^JNz5ok@h$ot|c6a~)3IG5}MNUMnLSTZkS+%bK delta 412 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 diff --git a/graphics/pokemon/emboar/icon.png b/graphics/pokemon/emboar/icon.png index d79f6f004ba6bc4ec99b93c6b8a02c3b125a5fb6..ca977e67600d031f2f3649af83cf9f87cd246e3b 100644 GIT binary patch delta 478 zcmV<40U`c`1f~R#7zqRe0001qplF?uEPsE1lfm;AS;V}OAT=CG36t8@f zrtio-VK+ocC}qOK#7>|q`I7Vbamvg@4|i2SX5{He;XjY}V<~q9Mh2iao-MeXAiAm| z;Foe11dBO)zk@@$o%*=m1F42o5g(5Q-U$!VB`hLundFrW`IZ8#Ms6P_) z@)Ggy&jPYm7lTo&43#@KKJ5p9XalN+Y09pJshhIGz_|fNm~-vJRTv9kt%WIR-uR(~ zIq(LAT9_qYw}j#Ll17+SX78wlN#AU5WQ2(mT@2jynGr^wqiO~^erbf6pvy{hVOVNm zf&x)gZJ$Pk delta 444 zcmV;t0Ym<#1cU^T7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0fI?HK~zYI<&?pC zgFpy`iwNA9_kY_0YTRY>#U6TU_YjlJ?0~NPUtj-h;Yn9~_COVcAqtD021LwhQ>;3< z89WWhz;19Nv-k)@{#*^=DBTU{dO4gaPjsQ7ZC=1i&)>U{c(v*a@+=HPF>35zE>n+ ztdIe+i|78*!;uGbI+)=ZkW13QTwUE6_4H#qWs1j!tqeZiD&=Wt>hTPb6&#bEebgc4 zIc-~pPLF~&_IeM(l>JeE{V?>LXTBIF^MhXXJ`Vx#G$en2cl`tp4~7LG>+m*!^wF6C z(g1M=3;^kXcn6S15E}s!FRrY7xB-%USPgaqL{~s80GR@?0>p;lK3eVo83|IuJ^^GV z$iWXx0GS9<{J;c|nIJW{7y;4=lKhB)ya93%1g|2;>AV2)jv&XKTmX4Pkb@5wK$0Nd m337CF0z^L>jxYRo`S1;^=^QIEytSkN0000!@dFl diff --git a/graphics/pokemon/emolga/anim_front.png b/graphics/pokemon/emolga/anim_front.png index 97b86d00be5d24be70d923bf184683561840f538..6eb0e5017ca9ecb1b9506df527ab8705d185b9ca 100644 GIT binary patch delta 850 zcmV-Y1Fih02e}83bbkN`bV*G`2j>O{0yZdWFQH-p00SIJL_t(o!|j&8PuoBgfX|Kh z^imIzI&sdx7-APiVyKf`Pyz!&aFsGK6kNo@LI*|?D;$jwOCq?bqC?f44*et2wPI=i zga}oMR3`e)rsU!uY!!=7ilXFwx%d3;#r_aV*Z)}>ex4YUA%87L%%pfmh9F)lCIBTe zSJa95Y9krI#VT2R&z$(Up2OJ4neMwp00ThG-Qzw=1}db?4<7-HDk&egoTSUFSS7+q z;syv=gmB(2ByNCm^Yff@GTQ}f`cdN$xA-Tu(;16QH_XG&JDqY{0Wu|GPe0`sIrq%+ zhiMLoD-~&-Hh%zCgFkEvaU}uLyb=&}7XU5zdV!Ea#!`SP6v0pU9L;;d=@Vj=3R9rl z=naQlyfMDPM*iUvd!~jaAATQQ57rx;j}IM`$-xe4Q*ixaI2v8=Y(qDh=%Wk^5P+CC@&06oznX83*`fLT_?j@x~ zFd&RcA<}gH-eEjj0yun`k^qPK0(p8=0=dYs>hpoaKqg5Tk$B(+T)rJuuo2!sgFx5! z50E`>MB@Hw@B3TORenUHbEP-(-kJ~WZ_--a+>L2HkQ|S(4Lfe+7~2fW1RqKO`u{{L z7E3@Aac@Cqu^J^6Ml3%HWN*c|43^}+2H#AO98|NYWjDoLqT=+vg56%-CEw#@2X&g> c>z`)*1t1eu1oJ>qA^-pY07*qoM6N<$f>?!qdH?_b delta 832 zcmV-G1Hb&a2d4*+bbkXKNklc}6H#>0>L-70I zo^uZ*?*lNa$EgH+8k;aIOpO;c{{}#;Y z+l0j2lppm?Crv&*Foz%ScFP?NNS3%YeV1F1vS*avPkUglO_b<%5HK6^-=Uam4It4g zAt81UNO=D)a(|vrni^2WA>=zbCvrXa0M5Bt%1?o#Mt?Mt>Q(kD9t8B|a?3YEQ;xok zuZC+4DJKUuBr|w|z7$qJAC1RX+grFzM-3p!kjPF)fQIFq{2YJZeU5i&sWZFCkf>@) z$#s_H$&dC0cBr?MA^-_(1pMG~dzaxo`*o$%J^^fc2Y*OfNC;8;gf9*P1N!|iZBKBs zg44CzxQbN*&TNY@0XncLq*tc|s9GS0wBt;cJfcZJMfh__IgYdG0X=FFh^dDUi1=mJ z9jEo%1&*-Cei*m{bz=Z`RNMQT)vRVUt5D4x=07;huPBGnDjjkdO&+L14x`J13j`d-vct(?2ta``bPJWBrrH~{R3rBW<$CAZST29h!uG#LOFKG z^;TVAZ$s3=Ilx5JJ;~`g&bk!=ph#_aW1031^ zqd6tDU!reD0Vp|8Glgk2)m>zcmFj;%ySo)ys z8H(EWx@!jOwPWBHB3TPc3f}g;kO&!dzy?`h&QIai0U28JyQ4iP-zX?%X$Ypuqj;Bg#}I*?|f z0I%xTyZ|3MKsalh4tsq}<`npefx5OukvcC+6(X?lZi1fy)uVFw3jlrt?C1`_Q@?{D zs(oAlzFjW1%M6rkRt=a`eJhEV0j|0=IO@fNPjXxyJf0Q6Z;4Y#1kb6e+c%UOL1vDu yR^jSWSz0FQEV^#Nw>qU4dXH9zxc!Sa-RKJi^mAf4&DgU50000{yTpg>|>j56_y zf9%-iYJb}-joNnIwUZ0lF$hN@IR{Dz-VQ?{5i;t4i)Dd1-^FtUWWbNIxXC$_0ss>z zi{+^g1X1V#MPo4Oc6n8Qfdmp_>;fFxOCA;rprr}GBEjNeuLFc05dz_1etfw<_scEW zV!(Oc>p)rw0iM;@JOOVyK)BkxJZK741K%-{=}U;I{c_Br7`X9bfbRiSqfz(`0Dc1O z=mNl9zk_L;icK4Ur^}E1G$SR~0yde`TNS@Fa8s?x(@-?{B>T%ohugCO_%CsY;=#{Q z&Gbz&5oA|Sm5NPZh z00031NklR);tU@UJ`KAcoi0 z0S@l+R7W_l13(nxfDJp!5eM){K{?`JaY9Nxa5zr$!EV5z48q$74&gKd4%aGL(%Tw8 Zt~0oneY1N;JzUw;7yNkldyc4`haJvLbgQW{5^KdE?E7mW{ zCmj2rZIQ128`)>6?H;wSgsgBxbdbW}%q46?wv%3vIsx@dNPpC6mgSw)S$j*GcR5y1 zQ?HFoquefsiAa9U3aX-RRH;Xhd=RzjTI{km^jszc^sX9qN7BOX4iZG-pTuwCkOhoG z4#vU%aZ$!N2uQCRaS-9Pqaxzqo7Y@8D3j04W>7$Odkkb)uN;4mYlHXL5_esBsn s48`zn!=cz>%07*qoM6N<$f;F6pm;e9( diff --git a/graphics/pokemon/empoleon/anim_front.png b/graphics/pokemon/empoleon/anim_front.png index 697609916a54f2de4b881ef6f110ffd6c0a05733..44032d2a3d612a55708f28ddf91ed1ae6e6f8c55 100644 GIT binary patch delta 1311 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 delta 310 zcmV-60m=TH1AqgN7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S{z*hZR7i>KltB)J zFbGA}LQ*#T``>mxwUdmM>Sk6(7B0#YD4Mq{4-DMp^_qZO0)VQ@oPe-^UX*|cS^-QL zh;v5AY|tnm0n7$%1%!aAr^Mc&I-hKlAng(aDl53vGr<{nN3*I-C;7HUEhwsao^4%Y zQ7xY|@R*L9W)H-FGRC}_@!a-w#E8Vjuvsl-^_@5`16u%Vyo?E8)k-63N(8VKF99@S zoI-eB)~FB!cRp?duS-i{d~AG)DXXfb^60jl6LiuRtCk5R3vD^E8L~uRs!i zFb)Dq+6)3o{csS-KtK)x$qaH7NNNy#{eg)=g6V$1|NQV30mB6vY7rdxlmGw#07*qo IM6N<$g6SNA z&?*1`0%l1>K~zY`eU-s#+dvS8*X`1?CF>AD57kN!kaTm*K~l$H;XU|Z-+k-@6mmAC z;6pEhg|P3TKtMjUpg_UL@lHy(9OA+x1IbRiJw$2%Fp8(^!gbiZg z11h5htaw&L9sy$vBv62qkw?Io8p0@Xz5KMLfvYkUSs>-z_br{_sw_pA&g9(#X+f_a zL;{HrsU#}lv6-*6e+WYag#1kaI|T6c5Pu@|0O~)mU6CnNBZf%kE7GLuMj$$RfIp*v zB>>kbI034?CV(K&Dip5D&+6$TQO15}^w0)nS0oU-<4jNk0U`xk#O^o>5oY#_t@7s8C}$k3Se$e}=9C94mxq0Od89Ug6#c zV4dLgfF7~V*gzi?0WNIj$ zp9eQ{R$1Hms_22G?E^UyP!@)bVPf|7r#~n(6JF{ z^W}j8jwgi{e_9f-4dVl_e10K49Pq-xU$P$prP+g z&etQ*(f0=CBhYl5To7{@Qh-uw?lIv25Rqyc8u$Rbb(;(d;`8ZTiVS)no5^H)!BnQi zzo2w$3RixT-dtQ9El!b27jN6evsXY*d_4n1pW_trDEuov3B`Gi+cz$qLGwz&c^F;( Y1Nxvq0(}HVng9R*07*qoM6N<$f-LMavj6}9 delta 758 zcmVZG2`{b^|JeWl02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00M1EL_t(|oPE_XYui8+2XMJPI$N>^3p!LMeSoHyF@vN&frW4I zVDB0G0ScK7DR}525QO_43Iyb#1qBMe50!T(xg^%RJmX0}|L?t%eDb`pz&GEy=c-vE z<})F#o#49=SA`J56){WVLM&20iCuute;E%lFK_|IGYg9J9T4a5f-iZZpbBM%ZG|fe*$2W zvL8Wsa)7^MfF^+1C^!SzeISq~4GqGPg6v3Mo#$Bo4Nt!a&|vP` zi0+uJeor161id$cE?XZda5^V+(2+p59vi^=>6z@|lntQm4%DBsk-CKue~@QT!{n(Q zR_HPkcueZG4QQv=%}!=)JA$47*d>%BXnRH;5G4#tfRwUyG+_YnP_{%D27Cb4nUf51 z;`M2|C!Z)UPYK5#x7p~6#Ae*0=cO4#Q*>R07*qoM6N<$f+&7NsQ>@~ diff --git a/graphics/pokemon/enamorus/front.png b/graphics/pokemon/enamorus/front.png index f6b93019966baa1db40e13384d3353c202c43467..c679b07e571f202cbeaeaf1bbe6459f76043c961 100755 GIT binary patch delta 751 zcmVcCgf4}Ekd96blii`}nE%k<&^tgaYTgZ%`eZqgf8Lk(F6Z+dLjN-i z$G*F1@;(jJEz}829c<&kkqj;%6LUdeBfO{sHZsCz>PrO#Cbb_Z@JI_nd(IC--^Ln% zYPKnd86a0P22}Gpe@i6&q<==sOvV66TaDx-IXP9J>p;M~7ApKT#!5X9}k?copxKkH{-#Z^4mIEFi*f5L#$rR$@u-ZA_n3_kys z zU5-Go-sLjKO1yXg1ItmM%X`D^f%bpO)yAV}T?5+DO-%BSnu%!VuScU#`D8PPft6ox zj7Fn;GT5BJfA4M{-+=Yz&KPd-LNrs}&sRmN8G|V%>18T*E+gIBy*d#hJr_;w>u*XR zcE-ak%?@I|s$WVVn#6-eA+O6JjL*j*xJwx}jsgjAeT9b5hK>VDY3Xwvm*pq%fQ?v1 zKyL#AKK&CR05HA>2$`Krm)zy0P$vzw%_13WItyHxaz03d7rNQUBax9NM6KK%q0bL=HxOXb=63f$gDh6 hGz(9fDEg-p{}=BL;T@^}8nXZZ002ovPDHLkV1lijSdjn# delta 813 zcmV+|1JeA!27m{UBv%J?Nliru=K>ZE4=D$ea}WRk02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00N{*L_t(|oUPR{Z__{&0N^vVciR_~bi?PeA%uO+R#4(PDs76C zO0lB0OdTSNP8q7BW42Q~6{UhOvm|AqO{+>S6X|3#AjbR$egk)H1r>g`@nkuc-k0~z z=hGcR|1&hpyt^s#F7@QiR|!llY+}z6e+(`l5(}PZBD|~uCer+8@}UL-oth6Mc%%fr zx#0S~YhndJfvJmOddOCc0R;{UkzUitk^<<&60@Y)L^)Fdv0cw5byXf|woiRxAtP$R zpzC(2yNrwuJAgsF7w@^W)?w@rE)fsn!5OVG5knwtwBnQa2e^%*( zAn)#X_fxlC?(szkpv^dm2Pt0eA65D_Ag@&~l8Yp>SK48H5e8Y7UCmEdTE+v z+4niFq8%8Zr$4i+=RZV&k7K9<(q6RZUteWUT05f=41P7wzNJ^uaAOR2K&2t2E7!+c z{W1I{G`{$bZ@>lWydOnYf0=#Y;0PqJSdW+4Q3=i?gUheP*nw(2bq=GW3V*n5 zu>)AFF)NCq_p-||2-bUCKe|IlKIFC?c zmZr&h+E(R}EBg99Wd{rWnHXeCmU{lxE`4696|?sSj=F*rSwI zzBF-F{1T^FfXeXbZ9u@Kf5Qg=#`gdrwF0o|y%N4ttPl|5-fL0ZZ3VbXQX*QYfPVuB z1awEXAfmdcPnJSdn5%%?ON9i)DIRTqz-@?rRsq=ZueW)ZuKrs>4@f93;z(wbl3qBu r^iW;_sS}YEhl*n12@@*UBpAN|?+)P|7+Vi_00000NkvXXu0mjfM#gDb diff --git a/graphics/pokemon/enamorus/icon.png b/graphics/pokemon/enamorus/icon.png index c127c07345928e0594282d69f6d67b78f0610585..5f2705f018e6b306b1c9b95600cb268e83e8c529 100644 GIT binary patch delta 389 zcmV;00eb%61MmZobbkN`bV*G`2j>O{0yhLf?EJt000C1;L_t(I%f-^MZi6ro24JM_ zvHAebaNeA@c8hq3(yqLBA#-y zzts8WI5k}$S)a4=g-7}Z8JzezWz9Ah=vsvEoJASimn$Gu7tr=gm(QCeuV_D_f>L0~ zBcqgd6F|6q3Vv9A-3t@65e@J#B1!uM@}Ut46mVMrN;d}J0}vQzsw9!%{7EE`^8RQ2 z0;wMg8sF0k8o>;LMlih~Wr67hjbH{r7MM|EJyi+SYbMJQ00000NkvXXu0mjfeYLF% delta 373 zcmV-*0gC?c1KNklp+WjNkJ!V6P)rcTWgGQv{w z5Ij-ap)Ak@hDen#V1`WKa`S~stva+S6aIB>wsCgy$agX##?VW zZB`YWTZMiG#}3sC(DMs+^nxx+3+x%HlYSTa#74K3*byX21b=m7rc24qdl>AthqBB> z(1s83<(N@XVO+yFc6(068Aj`dfp@-p69ve`u3x2skgwL>#<~ zh>rl5vZyWY;SsifeY>g zbTuXKGGn?Vp#hLeP!9N!y?u~98~}k#0hY|C2u+@`@Jp`^0RT>b9UGQ~jOnaDiFhge z^U-G?(%%N7YJUV6`&rT~)rJj$tHwFDIVw9H-bM_~sM&Xm#hQ%)TZy1Td^Z9Fz#H9< zzp%4rHz0r%(gl~WI*X!u6p$d# zBg*rX^XCol>#zbLqG-XDTN^o)I08jiMJod<&d=8{kbj6%NfoYJz0Y6Upsu3xsQGugL&XDMU0eEsvPD=k><*Kx+?k5a{g%z`lUcmLwoA6fALF zVc`JNZ85A+Q5QL`FVSEFV0Yg%{Z^>(z_Md0D&1-*rfW= zxVW|2qJKlGR;?&oz&2KD3Ka!;u2X}y+}(mLw~VbSCskls=Jaycr z>mRM0yy`65l3s5>Buyz^hW_dMbpjBY0OHzQx`aaj5(mKCm*BtRE--@=p(O#!#0pEF yO^^`ZDMG+Bpd)Z~A|Tl?F=fH@v;+K`{Q<|a9uZ^GirjGk0000ljA6vwYR83a;MOe?V=_0;YO7uR!==M`DW zoli&%UG8~d07dp~{Vbgr5#IuVI&=YMCN_Ttp3iaO*r5wz>tB(5_WRxcy?1_L>_HFu zZwkZv;}an^M4%bdx*z9rA;icpGfV@-H-~_;di50XDzh1W-hT(Cq6GrfS6LdoyBPpl z`y3xF)0VNf-+BNDl`O}!x=fiV$Y=m03Um$pNZ&t79}fVo5`YEsDFU0NEcn`MLjpi; zz>Y0T1IA3+KZ)r=`umeFK4k9t0B;N!`&rOg>UBR(z^qvuy9~7(4*+VUIcoOZVZIv1 z3D{Wh67jOKxNDA#%e~`^J`g#7Ywgr*dk`EJ^m+|4Zc6bs^iSW76M!@X5ZC511?&S5*8oJm z1b>-!feD;QqX<~UPCELnc}#q#2nl0OTVQq~Azm{%W_*0w0sc*Y0LQW(V+I->#dfGsgF}KfE${ zvwWoF)G8kntVgeeEF8xEfra4>zYwb>zbAy)#tXm$0nsg>cz;~Z5WxcAr`G_b=#%$= z5>cThfI`dztow_-DvE4eB>Bqvj-XxwAe3wZ9KhsmT0u$TrDElaD-)(&C@Hkk zEN}q727C*?zH@*#Zvp{9UFI$Yp96trEDu;2_X4vF%-0>(#>@*>QqBQ(RMf}nY&WXN zL};mrgi%eonB@70*u?CM5NlEoQ=-OzmxlOb9Z;+g zN^HYW%5fE80_5UZHwsF09NZ5CU@f*k#RdusbVLNhsq=uRpMMLnx2^)RCkte!;TZDt z7Xb%UD(e;O?H=;M97m9f?FJDgoS;jQ!BG$9xFuOgKYz8@9B>cniE4n#Sshzjdi2Z#+rTu3>NRRlJc6Cx?yx> zdUHTvDt}W~6}C38X`GW5Uw0(<-bJ)d*_qDtWy5%O39=q@ngH}PNLQ96&JvD^eGCG3jo<`>daGoswZ2=FL0V-;EfXs~F l1SDVWmjKCR?8ofC*&m_${EFT%*1rG%002ovPDHLkV1mdOPyqk{ delta 738 zcmV<80v-Lv2DJu|Uw;C?NklDOh+`6=L|6|~I9T!f}ld*cA_xCsOVRgt+A;ur`T#Tp{(KB5HVjpG&AF7rDtHXW7?JEoL4`XGE_(v-XrBI< z4dfQs5mV?-od+WQ{M(qhb>)!USs+>U03*_01T0Xgq*JiByU6yy2V=I7nx_pSN?5@z zMFPv_AYe@U)fh-WwOB834(g6-fKq1%fv2`I0O@0kSbyNd0xM9Uuf+Py;S?zL2IRi2&($ow9O@MN(BtPD##vCaWZcn5{WX`njd3+PYCU+FJ7hXw2Ux1?AN(bwf9$?#uy!E_GFw*xJClc22su-;v)69AG~d;*y3e@+JHY;E@IB*8#9yI9mXb^c@f#j-MCD!^0}fXf62gxg>_q zAum1y__N#D5fJy+KHXD)O{ZB5fUyz4PXkm`{{eDj;w&J=WPS>eOh*2xf5v}o&-O{0yhmfFhpbk00CG@L_t(I%hi&xZo)7ShW!H7 z$qxWX&Ynp2-aZx;Ly*c4FM$>HtulorR3QVX5|;o=7UITnLU8EN4jt+tia*_dC!Ie+ zzCTLYcc8Sez==ka0Z43cjc96RphByODu7O)Cm_5N=2c$*8h;4SICfl$ihyTI&S`{h zg!`gu!38s(Zd1%z8$p4H#|YWZfKs|Np>(?wCh-)?w{%1i9r4nD&1SY1%IiIrt4Ix3p)e_fkXrFb6r=3t9n(^yq^mBqLdxMgp pK}MK6gYJdt4eEsH4f>@pUxaNN3CA{pfB*mh07*qoL7xV5Prm}`O)I!7zEU_g@M%j zZ~z_IISR7}4FUrOgUH#04F*9k$Y9Xf2=X5c((43O-wjG#gN!iW3^H#k9D{Dc+zm44 bVPU=igl!uMe{5kr00000NkvXXu0mjf!{Dl- diff --git a/graphics/pokemon/entei/anim_front.png b/graphics/pokemon/entei/anim_front.png index 267cc4cb647619b68230ed4c6ad67b248f1677bb..850b65679d70fd83bcb0694513b0067b048e5c3e 100644 GIT binary patch delta 1639 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 diff --git a/graphics/pokemon/entei/back.png b/graphics/pokemon/entei/back.png index dd3087bc01c021cb44c2ee9b449c5cb57a291f09..8656baa9af30d43b1baf1fabea58e218010aac72 100644 GIT binary patch delta 595 zcmV-Z0<8VR1-S)~B#}W-e*gz`Nliru=LQD?Hxt4?c?SRh0vt(1K~zY`?Uk`=<3JFG zt;VIvVn{2Z;;uG=w0RZh4u&Y;6L&@Y2EkmHW?>4s3`ZWwpkh@TR7hX~+wRSbR*qJ7 zNO#v{3S0L7&CEYL5}Hgtd`k-$8?an45y3W~{RHZ5Q_>|_aM?5|`UjtZO!w>{)wJpzdE_9bEm4<|#uroILFv^muqEuq&v5xdI}m>+dN z3WR%&20B}CcaJ0Bf2L3M-*=mkn7a{RHv!QVaJFZ11~!jxK@`wHN zJnZ1l7kj``g`vkt1_#6^-^055mjJK;#-ISy{}h0g;V6-N2w-2Hhk9X*C!XYf83EH? z=PvOv2_ULie>`YOhCrC!Te`TZhJy4rnNfmq(0kk{3 z0kgu?^dD}8C{Z&I(@y#uZe~gk5W$7$m(DNArU#mGixPqnRMiCJ{Ool{fY{apKnBU_ zsK9hUhArnv3lEq*=bQa<$~Ll=b7}!vX+a~?GhwP6e(b2jR;JUL=JA+7nt4x~tzp&d z37{<&&E~9002ovPDHLkV1gB!6`=qC delta 603 zcmV-h0;K)91;Yi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vt(1K~zY` z?US*J+dvS8rN*VnVz^dBMN%8Vwf8E%1cuXrBa-6$28T&^&B7FNd4zi)gNjvYP$7Xi z*mg5BTKTlHL%O87DeSfXZ)X0Pm7@3fj}fo_27LOnrj+^+#h-yFI$VgaS+-Phx`B8> zhYP^$HOn%UZXSrF!vz9=5|=GgSY$WOx$6raGE$ZxvV)aUQ;SsBIh&BG6eyK`9Lq7w zoO6*v=a2gt!@0ubTtOC$~+&W3!=d<*hv3#u3D@t}Jm zaaSR*IO%>A2=6r>>1@H>Jx+j|A=Q81Z9`(=CV<@rL|?$!fhib&*gn1ii8}*+1{HcB z$rCZiANJStxP#v>4uGW!V~?>64v0^_hjsTa0bl`)K>?`$IRI_0kwm zJjwGi0cL~FU6P|d19F1{Qlqw5guuL8R~4QB%o!-`$>Y4;o3cbtkc@cCM(+opG5d-t z_$C5qcYFiprD^DYKimmXp=KbVI~g9hxv4xr1Q()Ty0{{n9%!o_N(e?!-4IalyVtJ( zv1>+v3{udl!1O?l9p^|3510ezo5O0xHu8>h8UZ?KK_k;UVd?_D?Ww~~rqj9R@t8oG z`9L?@z`8vUK(||dSaBOE4j1eA3xt+UJ0DZ-K^py&7Pl{F7P~}@yCgjq(RCW*E z>{Mi;T+UVB8D2j;LA1cEFEGH>pgtmo!)S0kwGvIl^*G0ROA%77Dj0eb9DVKx!#O(Se}mO(-$oaScDI+ zsypK&P;>L~AAkzuKP>Hrw&U(c(U9~Q-Tg>-D;?&rn+^Mzno0vUgns#+$I92j3?bk= z`c|DVtmt)!BUi|)FhO?>Fxy!$2zR%}9;Q;k{R6i)d)=W1(s-d1?WpDDc=x+s+UqtnpEkq5CT`%)u77Pyvk%js;b(?E-0Hah^^qznJY-<4l({_ zhU#R{Mg4xYK*WT98FQb|oOz)Z03_$kDmr(`y4{ei>U5mvgt4&eS>Of;a-@eO%a+5%!>> zUAOyxUB6J*{NUJ!y{sr!k{`NP`l-L?FUPsi*l@>(&JV|9!z~{MKRO;RAAjUWAV}ng z1LPDk^J4&HCdi2&J3tPC1bz&F90a-WqXA?h$eABIK#ndaemnrgZ1Cd&Ap9Z*KO7Qw id;k^D-cZ>?A;7j;JPu@2HhZ#}K)0 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 X9R4HOdoTp%00000NkvXXu0mjfs!9!o delta 594 zcmV-Y0Rj}W)E`oo)44zoFf9A~@w<;l%KHb4QC(kBuNVud zmKP9q6ZW-abIVELy2nEpo)K5L{GPEOqT=j~Af2;lC~W8EAU%kz;x|jjV5$>w?HEjT zB)Dy`Jkz5n_%IsW&*(@D1`m8rk9eOV2xkp&vw!a!3>HCj!JxNz2Z(it=u(HShXc@Q z+J1@KfwMaRcw%md5#S_KF+0TAVbCqY0Y)7l7*mdbrNh&ha)|KJ1_lcYxPv(h=B*|` z=>qWpaQwG5Kxy@Gfzo_V4j^ox)j;b2ex#=oi`4WuX{;8j5uiE5iPtCqMGSh>3BHON zxPSHh72f!mPOSm>NTVKQl%phDdYq z`%TZNIP5`YayJ2RhT`)p0ZLY_d_3$Yz+z1&fFTOp>Ioiy943=cIbBmE3gmY1=^tnP gGTp}i`b&A<9~}N8*+(h0JOBUy07*qoM6N<$f^D!5`Tzg` diff --git a/graphics/pokemon/escavalier/icon.png b/graphics/pokemon/escavalier/icon.png index 94f646ecf70a69b2d5aabffc4e5afa8b0049c28c..92558c0fd24dee528aedc031e7819cf9967e9a46 100644 GIT binary patch delta 366 zcmV-!0g?Wo1GfW^7zqRe0001qplF?uEm%Fc1b{zriVq7+6s4?ui^r9ovPOr$8Q? z*MOH`%+R+gMhqR?gGe4aSr}N>@k$11`4=&DC0e02H@THwT6{%U}cpp$SaSKwvk5kr7B}Mld-8 zflWVwVIZNJz%USK`VkDAR{Sg&z+eJo1S3))0~nD48Ngftp+ABA08kpahRoj`jsO4v M07*qoM6N<$g5>_2r2qf` delta 343 zcmV-d0jU1B1E2$t7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Uk+2K~zYI?UccG z#2^So1#C{@0{;JR`_P#tgP1OQx|+dFlJ_)#dP{l7upT#ZYi--MmBqT+BX!u1oI8fD zN~$*oCB{e{uA2#D>T6^Me1n6SIX4WQh24=i6J@p=V- zL_*jrKqf-q^#Tx@2w|w~1PBll2w}MJF8~RIu#N2skVptN$HN66#R(CcR8D}DoDe5K pR)ly0q$~;W0LU#NEZKoy;v3`j6*{Sh@vZ;>002ovPDHLkV1jUQn0f#J diff --git a/graphics/pokemon/espeon/anim_front.png b/graphics/pokemon/espeon/anim_front.png index 1010130c1bc05c39a1a6ed4eb315f4e54568cf1b..a86a7d1129d42fb481e08afef42a816ba39d88ba 100644 GIT binary patch delta 981 zcmV;`11kKD2&M>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld-Dli_(i z000AtNklJ&)ry5Qa(U(u)#>d;nL3YaLP@XiM5u22Lw#ft0c|+XmUa9TALYaY!Ehkql!L&*Pmu_x?Q$Y~%# zfQA#m)de9*GZA5h4(ir=Wcj1BkZ`clh-{!ERJG&@K-$~-^8D|MI^?D0;FDWnxk%pR zl?4RacA=VF4uISA&3Q=RgHm3;P0#8=Wzr4mc&Sr(d=yCv)d2WV13MfcV?33kLI>-2 zObFZ><3fnmWPdTpa{V0|(s(Y+k11k3NaE}0E3^QbXZoFa*^Z$~w)o*ez)FZ~t?$gE z;`}TU0nM*JJ^(#DtVQ?+X9-37T41XHN>;!=_jl>0Ep>a@+dVQ`+ zzKEj>4qZsOa(r4$sj6r*^we;N0}P@RmTJFLDc!))4z2sU3_F-lO^x$pj3<`t5;edqFXT{E@q5I zqJ$f*@8wu~BQqC7Ga-z6UpvH^Uf+su9_nUsqu2dKWCQyB{b!>2d2y%jkLo^<_sjM7 zLVWROlEil>d9g|ve468MgQB?#Pk>#A`2t56T&rIHN0nT>t}TEM&!T+&H;OXqzjO}} zFMk^G&qrudb_7Q99zpc&N9YzZLjw!P^Ffxi*ypS=?{R2cx+eq9RLzau$S3jXKQngV zp&K~qf9r1M(*WTC9tQ-E{GR~Tc|6Py?s1s$%m?LufT(is0HH7jFPFJ*fXG#h14Opl z`UVICv@+Q3=58QRo5J+ja*JmfI_HOt5l;1Bw?$vhESI~aG8}%}o%^u1-5~-A+`wMF zO#}qo*GGPgKnl;Ww!gTH#23Cw%E|fR40s+O{`>VWhQ;Xz@-(lD00000NkvXXu0mjf DZnE9! delta 956 zcmV;t14I0#2#pAkUw;FbNklQfHp9sGnun{1G9^i1tvfQjE!wdtYx%NnlM}`B7gI0#E1Am1@5-orU&;k(geDm*C zI^eMu;L(ZDLbwOvR0F8gLnK+~H-HoGU^6A~Ml1Kvyp6sP-z^$_+?O8QJ+gfQ(*|&r z0;{%=G4A=TM$`E@69SjUxDX;&RWz!czd?uRjD-48O-vg_ytH4S2hcr~=jvrWM-sE~ zyK4b6A&#UxRez77&Ao61WS`$(13)3={K{_ubmZnAhL8fFe_jUA0gT~%69qWg{>9qg z1OgIz@bn90fvjKAw-Yzq%f5aBsP~K{%`f$FI0IzGGM5arUY~S8HG%}ut z#oe_+jem^_%>COW?(sj^ziNL)-g`~Sdv6AmcZ>AYq2!&oV7{tKpeS#oUI6bKr#pp` z_q4}vkoTscy!QdbZ_E3JF?NXB+?4k_Lvcp&ZppjmS2t1D9EJX4sa|f%dtIIoyYj4b zY4Xl0rDB#l+m*7)uH~?~7&2mu7>=d9tYT~0Yk#Y`z#a;r)ceS41LWvLyt+=a@v)rO z7m*Igi_0e>`#3(8muq!z$ou~Mtq{+?yRK9FiGCXB;}C}%6wTS-7SQ`J8si9qHmmi& z)yeT*ssX&Y7xCUt6lK)^DspRp*viDO8^}Di23qoNgZ=sjim@M{gALmAK@jA4&e>GG z$A2L+>7GwHOH!`!*k0)W*01+k*4iLd=*)>2YAouBNH8KMAE%8z65%Wu3Dtyuamp0O329?#YEU@f5i5@FGG7-*f0M1XW(@bO{Ebs)T z3=jZb^!Q4WEHLDNa*_cS@uw=KK3L#+oZa)BXQAC&^eD_PQ6HxdRi(r32neNnG zj1+nMCZMhOm;>dU*&9$^L=MQT75)-ntAIX=HmCw38KqRU-IA03PjpO8dj;BN4imH! z?JdhVVdVcix0VkLV^e&r0}>xayaKpa$Y9&*0Q(avTvuOX4anQwRjLrkXW!n8YD6*C e_Gb0}^$Yy-sn#3$2ps?b000O{MNUMnLSTY6DeRa4 delta 545 zcmV++0^a@P1nC5j7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005lNklOq{QqAb#U}<$GIw!j(ex&5Qb$k_KcBDtX9NCG9~uDo z6{`avAq0Rg

=RioHRIih2l@AbhwmqE3tSZ%H)5SeYAnob<{_qiKwY;l>G-r|Ex1 zmXOIj29dm?dq(v&+vTG~K&Hg7XPop($SxFw%cy!Uf(G~~p)q9nVA6X4AdOO*B}VfT zYF!_Ey>+1?G&hRpEW20cH-KIY3K%XZf^32n2)KOFDQgzdqB@$wYKq0%Ne zw@z?>a$$|ml_wWArOHcqJ1=5%5nT1yuceE?S|Q>9^5Oyoadlui*`cZL5K6)E8n2B& z<*p0D$hyW0V2&W^qk3yAvjFycfQgkBi78lgj67R}a>H5lenUODaF9O&q~m5%=ieKE5~j@?dOQSdk8wWQ1x=+*OFW+? j6JTdka7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ld-Hl#IP30002yNklXUK2!^=<2k13AMIE#Ez_uO-0M(c1lu8Yq zu^zQvaO}KHk+QVj{2TZIe*k~#=+}!(=?oXkVgev#_@KX$wfmO&B%W;AOX?dbc!%|9Tz(26n&KR6!2J zAPDTHo^}ZQ|F;Y1c13Btbdw&+p=q1}M%3B1CoT?I;aD&P6GOs+yn2FRLL`yU7^0z& z5XX{Mq9uB&lR^o0L7^=Zd9PMC^NCx;KMZ6bOa?L&qJd1L(Lm}Y?yHUl;xFyoK-w#mV+(_U zh&w=6U@(xH8WfBMk_;*sNcJ?Nfn>A1)IiSsL3P~HA3i!0Dj5Vsq)-O{0yilHGoZBq00JIKL_t(o!|j%_Zrd;rhGp;t zLe_w1od_5RI!HVNoh2PmAa4_N5R%vM5OmLEc+8e9=;(*)k+RzicjqiEGKe6w+z;|d z-s%6UY8jt(_!~REf-8bh+wmI~I6aJA9RO2{trCYG0@Q%eh<^$PQ1c1^31AfS%Yw)s z)=(=Q5au9Q0?uLJZ=_M&;X5y}2G|aYV0%BWUr!_owo^K1u$d&mX4;3dpnv+g7XoC|X=oZ^bLuuW4uXj^_j$CB?Es z@HBwFhllyWz1Ei#7j5LCoU|m6x8Tk};~ZrRJxA|L3XRsA)ukrYHCCmw0yO$P>{u|O zo`jI)P+FaQG!9vF}D gKk#7Thfh6z1Ip5%HB-LS^8f$<07*qoM6N<$g1>qh(EtDd delta 587 zcmV-R0<`_R1+)c_bbkUWNkl|9I zy#9?I#_l_n9(UVq?ARYQ*-p2?B=y1A7^5QO5Pe9pEam&E>SRCF^qK6h;RwJqvi}SL zig)|IG2mV2JH`(K7-+ylOCl6NgAo86z>2Id0W7`{6NnHset*wSkN{Z2h;JK+9GKxR zhL`~?Mh39BF7cZfNWdbxse*Z=0Q0yp6JWT#+Yo?F4~H{o3UJ=l5VCs=LHmz@N}G!{ zp7CORk2O-gc5wB05BS;z@)UR%R}TsBuwx=r{h#fV1-pG7nES3_pNibm398&|up?eX zpzbOa;m3T;;D4z@W=jb4bMAzgg+cOHYM6zkv^yFLY?%^s2BX6Wd=3re!ZqWsBMz;_ zp^RJ+9#i1v@NFo~1inVCa|tcCo7G_^*%)=+ECVf@!!HrAVl!Z;!|1HgNCbqQ8-`*t z1Tf=NY`IF0V3#-P5lnUIIoZj6mwl}~P=1mJ%>FB9i+?=e*guhbmIn;`C+^PjKw^JU z9+-FXKw$qY4>eQHHMLt1MG17nyd4jbI?l13_T;EDwas_zrn+(hon{ ZUI5C{pfv$x4GjPQ002ovPDHLkV1m+29nSy& diff --git a/graphics/pokemon/espurr/back.png b/graphics/pokemon/espurr/back.png index d291dc0e605114b5390df21fdb5bbcdddb9c5c1b..f6ee5fae6344ba3326f6546177130bdd5bcdfd0e 100644 GIT binary patch delta 508 zcmVO{0yixKUSzBQ00GHKL_t(Y$K{p3Zrd;r#wBpk zXv*r4QCE7mL!v;olKPq;s{uVgfuca>0I|mc9SVga7l%C^jZt{=cRNW=Z~-KWzX zRTQ@vCBFu&XIFr}y(006E=h1cEBFCm%UqtQU0L~>+JbeN+J9u@vwgZIU8oFD9{~&M zk|U{6!Zl6Ex!XbkA_#xDZYj#u$D1q}HSHnjQyG>g7ppMg-K z`V0N7?@z=i7IeJ&hq@nQe0VH}02nx(0qX}mG*J!T55U^hfCQdR1l*G&)(fZ5afQ1# z6PVcDdv9nk$A9Dg?J{6pD!tzX!0)h2qEj!MpFY4sfP}o;Zv&tS0qVXC@7~9rl~JBr z_TU3;od5-s(LhEf!r@nBVq#YMW5=d(IoGIzxs*tYgoC?^vbI;5z3_UCXf=4~(m={c zKzKFBe$0V*ftm91-BPCe%XOM5?{-(FCxG>&RK*l3VFOu0S-Iih+6p8ygm@n>jobm3Z>61(B(fj3%N;^|l1CMo5qmzKb0 yo7zxQv*+r0NCAd!`V{QJUz-eID=u&BPx=9`RGl;4J^Pyg0000F;C<$5QP)DNx9C3f--~YS!^NEVP^nsyHb7t z(&?nDPhu&NC=ewLOa3jkHzXe0usuwX6z|KM@#MKEeq)vV5U^Ps0Q&ZT#SwgE!TF-# zdw`wgbbxkc?Q3WY)@6EwtrPoo4Z2VnpdJAW>XKv9qeSBfDSt~4x(1#B9AW1$fX*yg zSA&S)3$=g6#0)^|pW-S741`4&TKz$6PWyf{1Jt5=MSb1(pM*Cf8?WB5?tS@>eLEz; zz+ndLJjm$~)o`~5Hm(Os#I=clb8y7w)H!rq;qkp8L%f^^Cp5Uko8A4_fSpq5-If4P zbW5UB|F(ZafPYZ{ggo9o5TKy|bQi<>ESHNi(xGLSA<)(dP%s$)v22H+;a6Z{Vo`>% zV^dt_9yQ6OOaKrxxT{FDyCQl)k6{xLT@6mBG$>_cAc8Rk3V~7XnNnk{ox3qEQxUPk zu$GAN1!gMHyEB>IU)D^zySp;h-Le8bQyf>`gJ;}*?PEJ=*`fRnu+_vT96RV4$Pv|l zk; gWB}VSzpS5IAFouMGrH@=tN;K207*qoM6N<$g8J;{#sB~S diff --git a/graphics/pokemon/espurr/icon.png b/graphics/pokemon/espurr/icon.png index 8711d30251348a46e337e2db0c6a34aec994489f..e10fd6a8efcf292fe50f01df94de539e1e667d6b 100644 GIT binary patch delta 215 zcmV;|04V>90O{0yi*VSO|3h z005FnL_t(I%VS^|Zh-#-{|6L--}^tI2=MO~5|Zctk0PM7>9-O>(PzVrN{UKK`f!2& zLP{V3dxRDnC7_5gLV)3~lJX%Xd4w7Kn>Oj+Mlynd;ggcmCQwCrWQTlGQrv{*G{OI< zZr{Bh&3D?$sJ{DzY$;d^ilrbepZ8+~5yL1LAqnQcHd=D{tt9+`Q2HP~@BlQrP5QGB RaUK8w002ovPDHLkV1mg5SqK0C delta 179 zcmV;k08Ia{0*eBWV1JfLL_t(IjpdRt3d1lAMRfyF=K#h(V}=mA7JBAr%@F7{dWqnS zrnpUq*b*5!r`r6`m-NjiI$QC=ivnqm3h?Bd=d1uEp){?-hye6E$POF07s(ADaxH*f zXdm!p28;C1Y6MXPB>4J}h#=;)ORnFPrrEgbTJ0{@OTQAebS#ssW(JuL`tv$>U~*^T hkkDwm2l=3%>kTxzP5RG9V#fdg002ovPDHLkV1h@VRE7Wm diff --git a/graphics/pokemon/eternatus/back.png b/graphics/pokemon/eternatus/back.png index c7acc2311df42446c7e9f8005d3c5cc919467fd9..e1b9bc38a3535c35b8798fb7b034fc435e8e482a 100644 GIT binary patch delta 914 zcmV;D18w~O2lWS#B#}W-e*gz`Nliru=LQD?H#7NBS`}xH?Oq?@`?1FLy6( z$$!)ex#ct%7WmWiJbXloz21Mj`t}QeC0`;0eMw?Tn!n`dgrgdhe>1zwq#m$3+$^|! zLBg5U?rztN1haqQLH2mRiE-p{M)!BO$@XS^2v}meyIqVEYDz!$umo+YSrlbLaL}6B z$Hb&27MhnyVD|=-<9S$uZEY4>i!xdD25(wj^?A7=5GYW?9+cB|1zQ3EEufqZ?kDZ8 z7CgooZh^aauHVoWf3eUPNEo01xGQxzZKW8PbkqPSp?rORsq8iY#7b+T+8%{T zr?(Q+*C#;RAqo!nzSb8gA$|RrezRM^z0Wz-1=X4hsvjSI2vJa9DBl1DAfVG#8&H%G z!Wr5KiNM3^aFGu(T}V<@PeKuLS1AACrkowDo`HEyudAvWe}SS*65*FOx&|zK3E8G& zg#rqIGB$Fk{$0oQA~>67_4I?MoC7G2F-rAf7s8s5xOllPFqNcC+aSCdX$% zDV}nWp2xC9sr4UC6I@Y;k3jMePyxx4EV@F`$*u{kj!DOjA_pLxiNCXG{T*|cbiXZ? z_sc4Z3?apEe|+_My*3ilJ%E#|h#>^z9vvIt20fY(mItp#zzp#Tz)|$WdL5z1fx~z5vCdaP6~7?nCq$ z3!dCL$SnJUE5ggLbj4QwE`*1-OvVPd1@!lB4KbvC`Ee@%riHKXfs&ISf zyKM-Ie@$St9H+t4d3I}>Ks_$N3!dwg);x+K$x}5%5AI2DJh1zS1kKl%6F0ujQ{em@ zzn79@e{neEh-L%g>y$1IhxOrMe(cSshi^j~+iBcvwheG}5gdp4SgmRzYy(CBVi(wH z$B71ElEU>6!mcAPe;-BjRPxUA>Xe5hN^#qE9%&eY#Ht#0O5ik>ZrYU*tHVhw^EB)f oFw;!BGn%3SuHm%z|6Kn97<@U?w2Um`000002uVdwM6N<$f`*8yc>n+a delta 921 zcmV;K17`g72mc36{YtmRM_ErJ-Yu=cjYnf;Bd4twoh?t?~O_S0i5S2?R>iaK_cb>aB)AKntiA z!UniYR{A~d5o`Sk2?LY>ca^Rdy%b}Ujv4?ZRG{yFFO|~=pjz$$l-O!b zRNtdC>2xDO1APXxAEM-NA87pvC1ju1)6&r=em@nuAhV=+@ME)7sB@8-4vK1egbe6{b9F@ z(c|%OU);xlig|kpz|h1q9@TG$yW&w{`a!_Qae2Y$H-BS@_;{PPuNeE*+j~TWD@HfQ z<8VGA>5{P(0+$f|jud0hcP~Bski<)NE#vsgy~s@x7Cxg#2YjW%nk3(4GQRo@6pO-l zpVjghV#HW~_~flX=J{uQBm5joS8N*`Lio64GBLm{puc}>hzSj<9~%KMEqwV1l$_|mc>Tv;n_}r$nS8)Pqk*NuKa9@J!gEK-T?0$VY z@sjHz1I{n-_fm2!4v$>XeSmnK(!=AZ*-7)qJUilaya{P+7fJWA?SYd;@Ele%wQY&0 z4;TSRJYXNJR~OchW^g@$$Ql5Ok8!-pBp*1p><>I5afYAm5Me@)MAef)2^?eNWkVUU vIviqCWYM6288aQuXo?27hCze>wJhr&7<@U?nvz>o00000NkvXXu0mjfKaaKZ diff --git a/graphics/pokemon/eternatus/eternamax/back.png b/graphics/pokemon/eternatus/eternamax/back.png index 7d6f7f48425c5b5a6fc35e11cd73f14fd5c7a94c..a7c291e0a0c6197266d176f6ab6cc089630dabcc 100644 GIT binary patch delta 796 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 delta 998 zcmVl*O6vr>Tp{pNnC?sUiJ+_djxCMD{kmw*8 zihhEAi0-uq8b~@+8hk+1f#Q&!fCR8I6!I94@e*|rAWrU5pm2cJTY=~^^pUbGy0G1; zJpl(1@5gul_uii;#DBAP{w=;E9^4;qi3j%)JFS-R?gLsSaDN}s!aISe+7Und+C%S_ zxEFcYLSCPL`&D3W1Yel57`1QI6%Jmczkwn%PhdIT{L)aZ|2H}!?paKBD1e7f$J-N_ENc1gllY$OkRMStwSo#e&Bj)ry=Y!dJx;ZI5lIm1z` z&YO8Lvc)eW8`S)kyexseN#|7k32L#lqa!=WYkrg!ppN|ux`fAkf;~E%*MLCgq-4yN z{Bm`vE(RTIZ9lA?pd;cDLX+s}>hkGDcZ{P&U)KOn0l=Fk_Lm=4tJV35bJ#Ii9RPwR z8h>a%zgVq4?wv61-_R)7smN!v(`V;jT%0<#bf>xwYQU5f|N3cn`Y=s^M)n5aK~t-! zbOfEu{KEsX7PDHP*ku%7J?_n1J52{Xty&d4Z~l(NX0+-sO~Y;-kZiE+;DCDRV&6=m zUZ&nYN$z>?D2#noyCvlmwxeZK?q{*S0bexr7ARK;hQGX;2$~+$GE={Qh_?Sd zK8;4J9rq Uj$Yo)x&QzG07*qoM6N<$fB-KiC?Qx=VrNho>;>wBkv_@#Wm`go1vS*XjUJG9-tiWJ_kT7lM}tpnlI0ZU_24__ z1R>Qh90JD31&@6Ys0U6UQK#69B^_vQQ4wK~^|o1*B)xUVAOfUyp6$Ht)F2`nt@Tc^ zz){)0Gsu(o)LrxEQu=eB(##d9Mj!M=`u&Ra3u<(;nJ&{;+nOG5NnPfcF4yO_&k$El zNkJ8+<`OcdB!8$~%c?ciY0oOiJ{QVn##Cy>fSbb_-!_k#>8`F0kEgaTlWk!-8X5&f zQWlfhhdspym2#D%PDHLkV1kw3v%dfU delta 358 zcmV-s0h#{f1H1!}Uw;8dNklDCr>zM$SfyfQd|~ z7lqJh5#OSuo8}fFD@m&`Hb&F2Bp0&k1){~E`R4JD9*o7s9d~3#kE6HVl1adO6PLx{ zBW=-83UL>FYb`@S$3qb(4Ak&61UU}CGC=GlZBt9jl{X*}A%Dtx(=KWh-q=$V;iyzu z?7Zn^5MixSY9~qHB+W1xFSF0w-pbcn_{)&e&LzrL9n@9${fhJ}Y*o9NF7tQO=>bqn zRhN)2*OzX{U^j(Xg$?BT8Z)NIuv?3!)6IELDnLFpDrQ*D3f z?b~Eq=^n$NTwkIP)ns-w=X9Y$EES@@iUb&B88t%4zvAh6{uEBl7ncO)bxa&f_#p;h z{hc zNvQQKKIOuA6j`5e8zm;tt%_whFp;({e-(l#%=_^Bz9JtV30XeOC%Yf&6DIM!i=p7t zV})1d;%^8I{+$tI`nq~jE3YQI!Ca(eZKrY8$k`ot-zjwUn}wcoQ%Mw zq0a?cPy`5!K8C15f@eVYLKHHxBRk2q0&o#W)hxC4qd3^=W51FJNNa=GBJkZ$e^27U z%WC$%nssb7duyH1r%TZuW26#qZCecOXmtH-DcWNTr~1-b5IkE(=HypP+*=(47x*Xh`oJHvx0%=(~h4#CwlYg5H z2e-XfB{$_#Akx|>LO+88+MWABe}48!#YQh|g2532FR$}#n8UmK+g_xI7i4n@8k9tH z9PD4;_wt7q5BcpWBg8x8a|MuyAEBex)qS2npYj4CYmaqu4oW-PG~ByR$OJ zfX<9+EMlxq(XtGIyPGds7cK|W3yV02T?*UY%fH$W=d>)0Pdv?P1(xC~f4)@pN`)>? zc-nW9z1k(^?(aGU8H03jCa2xP6=hnVkjVXR^0h#Xe_;$4)*OdRpthRUDXUzfR-Y79Y-2usUg%ccM_}5bTuAcopiNGi0h%{}Q1ze|;!oJ~e7B1H_CZ z2PgkLK2D@a`y4IuH{HV}z$BKhhY|=Jz+MqVvErBg=^_Iwq&rWrKmPIWu&N}}k*4vU znIBWiOe~w0-x^I0f=b3(D330WF&Mq-JFJpidL$|9!djfMwH{4@8CcVOEp(L#7f3)Qapi)u63j_)P)%+jU0nA0E#@h+&r(jKHNY&DUBcXIZ_zm0y zm;o3JJPl7ZSY9&yMC|Y7&FHTJwFD$qMbMle|iYq!_D6iaT@U_kQJTC49 z1l0QV^6YB!)aL!O`*PgKu=5GX{{a7WKW~5j1vDh+bsi=M4L1M)002ovPDHLkV1k8x B%$fiI delta 974 zcmV;<12O#I2<-@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(th1I9^2K~zY` zg_XZ=<2Dq>NvQQKKKa6U6j`5e8zm;tt%_wh2$8HVe>ku7 zOyYGHL&2v<3a@GhFboMeft>*O1Y8Vu095#N=AC}d)LAe);gn4m!dPqNG0Cdju_g}==#}GbjB7=^`*5Sezw+5HUya4 zz_I10;_!rt?pHLrVUdX%2oAGZH^5o|DEK1i9NXybG zblzp%{M&4Ja@&7Za#Jn^BCU-g^fNf1)4e~*f6qRt*yx2#FgQct<#nD7b9i@u+m96S zf^059gOX^DlfCQve*W;{A-_Fkgm?#ht^gA8Lv+--y3g~6JU{vJ%H10uG`mFw&SK}N zbyLUh?#{{>13ELRv52ucMawc2xV!nHb>VU_y|9Rr*rl+YcK+3VIHzS{eBx8g~{d( zf;JIvc|*ZX;d^>=H2>#mx4{$|3HYI8f0VhnDK-Iu7GelNPYVzXM>o7hgZivEfP63=-3S0 zrfvfJ`PK0sLW+Yo15>p7Q84G976ex6S;RQfA`14yfN6P47&b@7HXi~s-t07*qoM6N<$g5kW>9{>OV diff --git a/graphics/pokemon/eternatus/icon.png b/graphics/pokemon/eternatus/icon.png index 60797c604f79e72776c789b68a8dd0161682feac..84cce895cdda8388f289078c39c0ae4fec5fec8b 100644 GIT binary patch delta 450 zcmV;z0X_bm1gr#*bbkN`bV*G`2j>O{0yqa>eX+Fw00EClL_t(I%f-??ZiO%m0ASz1 zLY>}%4^gT2c}vD}jxK%Mld>d7=$YP9i3OY`A{}rYLLrZ~QnzM-7-Q$>1Nd#=aUS?E zC)y*(n1VEWAaL{qLSKcjLmNaufP-inBBd+6dwsjKLDNEbKYw-6=1)#=)IjT8vZC|J zg9fl|UEg;ooKBj>fPL?*8RC^Ef~E7^KRg+86_`Adc0toT8arsQq=7R5UZ0GcTYY)q zaMp}yOgrK;3%<%(dx6Ar5NtZa{?-9&SrOeqoX2E)MxwGk31PBh=W{Jxp`i2K%S;r; zoFVC!B)(lbVt-_@ zK`WR_PzIBmehFH@RDueaTF?Tf7PNxd1Z`llAXGs+m^*yG8yGHv{00V!Ag;g^K^2%H sr~b{m3;VIkKfo!;NmK88fTFKcD zc14j^-lmtUlmm&?0P-pzn^&o3E*3b@p@88k_15ysyLBCBcq!Wj-Ymffb-b1!-#LP& zN0`Q5ST0M%C-B=6)MNoMACH_{)zX_-i+4z%P5-_jx+P{%7z6pwTaOkj*8nwNjQEm% zroBC+8m{JNwSVN6amGaHaoKyg#iNUWPVY+s(&i{|ur~tDID!^nx1sK?i)j)m- d%6s_B_y&L~>002ovPDHLkV1ki+#rpsN diff --git a/graphics/pokemon/excadrill/anim_front.png b/graphics/pokemon/excadrill/anim_front.png index 4a07a4d87f3c4c5b4fb9c9a1b184c6583ebc6535..c8f998dcdb6d8cad790814a218a8851c7be4219a 100644 GIT binary patch delta 1453 zcmV;e1ycI=3y}a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld<>Al*O6o8R$8h?FMkgX7SwptW05QIs#0BIC!Ho}Obkq))~Mz%D6 zp#P@t-H{Y&S@zI&D9{@S$nWEO$KxH}XT$ghNAHgKmU9PS-US3PT!aumY^p$G2umrm z@rDYnk6|3oZnzyP@Bu$eHL;$<^oYxC&f}pb&ekUA2QKe%AT)5YHo+j^n16xu;f(-s zeV6MI-&n(RV;a!|d|6^J+1@&Kz-u7L(b7%c~mb)Cg=IF^|Y64|W!Z)eCDs=vE)%hGC1y zF28$I1FaN<##nJ@xm;eYGJmuI$HyzgmzJN_K(?wuJkvAoB^V#n3DP!z+rh{mep*^$ zQtb!%T#9jfshvIf=#LMuB{L|IA;H2fuqz*Z4n?&Y)OE7gszA;BmxmvP1_}+x$^NT) zInBPCmq{oR{QJDfs)zS;__o zG!R%0-G#U~+n4ic7uZ&S8PIRB04b(LSuUWsUdm+TL_lnf9MkRXiNqt2zbuOi5XUj^ z54Q1DIW)3*Pd$U2A}|ADKb0cl5vRTa0@w0;@W}ZTfoUO64`!J-c>Ly?BG4v4sFurGOf=IbmPm1`v7xFrIMQ1%LjW!SdH5l`nHfDb#2H z0yBdh(GV}+i-5W|cN<{7z(9zX1jzFISrX7bUwyyXTNPtr4ZIc%HgoF(uWvR8V*rg8 z03;*`+8qG4Ez=c=5c}sL(oPF_K4#2ovL*YWfM09{kR*K0TG^6N{bH>OjJ50SjlJ9Z zPx$QV-vmgK+<(#Im}mSy{<~xQUzZ>az~Q+?g0ux~K!_WQy5o&+wxpOJ3c0~?v}0g@ zzu9rLMnx;fSxW&LMK!QNlLGXtMw7&Pioj`Ul33(xDFWATG%1^x7h>IlYE6pSL3sgX zPC7M6qe(236NXRH^`w;rEgQe+OtS*waOF7NX_^X%hks8l7b~EhLam}T%pUCgzADiH zB0Gwi{Auw0;>`*ecRUI_Xn3@9^($t`t^?>%o^f;tmczcR3?yyaGocW__aj;mPcsdi zE-x9&($hlq_DLwtRvxvj0Za8X4M2Z7YfS=r+RvXpR0g5}8MXkrjUE*$ z16kC-q<;-qyQhynGi4w}4YZuoq=S6^@MBULNUcd;N3<3!OlkwEJ?d2h^lAPY`e|(- zVOoin4qHY5K!|`&FC7U{Kk9{Q@!6=wKM!@Dyq~<_< zx95MY1tUel7!S22apiIV1bxd#e@JRO2zdqAo;sL8#4P0xZ2&(Pj^!vXH+#&|{!kAD zY%HMwpIW}B{Gl?CP~brY&2a_@xXkr@Px}M90|EmL#2lQIIHd2f#vf2Hp!Wmd<8ebE zCTh-_KOn%+vrtJr!@KSefsc!WT7vp*0x&rkg>&>aKHnPKyhzX>3e?s>NX@B(6Q zi;ujGz<@dm*!a&l>=N7ww^#;Bn0;Fp!sR2kwkdWOP(gnIH}0hkyxGfj00000NkvXX Hu0mjf0*IB3 delta 1450 zcmV;b1y%Zy4EGC=Uw;LHNklmE?)Con)bS zM%%3hb5xM6Ab7S~6bKN6NwxrK6l*rZh@+7XjlM>-7

pne z0)5qE>0g3yuCE|!pd<1Sd;%Y+G4tS(LJhAw%)B)Q3X z>C`u#e*V8F`6d6jcJ{V_jK1s!yneL>jJ8B%KnIW(ly zx*`x%#BbISz(G~Ywt(jafjt9`2JAVI8UXbGpMMq{dX1oOo)-34-$ne@KG*-C?SV4rF@F{+KqbfkFk}&^MK?wAiMRZB2hc_M0-BVm9$%`KjK?hX|+}c~Zb+rNLz$EN$ l1032{;ugHWOa7Nil0P);RfcsmaT)*s002ovPDHLkV1geu5HA1# diff --git a/graphics/pokemon/floatzel/icon.png b/graphics/pokemon/floatzel/icon.png index 3be21fb7718a7040cc9a3eb794d1048dfbaa06d1..3a91190d50f098dfc877f326cb95d424560e06d9 100644 GIT binary patch delta 314 zcmV-A0mc650+9odV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0{{V_L&8h| z008t!L_t(I%iYo~k^(Uh1>oGEFO{JRm0A%fRNUZ*qa9oVf#Y=SO12=$Iv#=iOa`|C z0daZNJ=2}~gm|}u=llBi>Ao5T;QqS}XwDnk7Wg^ysjcwb@qf`Y9n4?6(y@e6*&p*| zeGkZ`;QG^@aSxozEuGeV{02#+c^$f$l@O$~e)KqxiHoxbuTuqiqmoz{6Hr@JuhLqS6-JFG*tUjprVz?H{OCJ5ql&+EWs4i!w{P{9-q1x)2o zz*G(eOyy9(R5K143@V2V1_Or#Mm8KWn1(}$U=GcbL?6KDiT>r|2LA=SZEg1L*>gV1M*UL_t(Ijos2K62dSL2H@UcFO@Qb${<1q6<1v2x(+T;f#Y<5 zgn=ZuE-865twSInF8}Pdo1L#He(liw-ri>SW)cwA=RAN4cPcM172-9oFj(SAW*vwt zY=kQTU-m?Nv_k;e2mPhI(-3GLT1p{m_YGj==halM6{7;U5P$C;ZD^t0?A8ch0Y-8z z&;{|=Ah|Rfu5ceG(XQ*zSxnPvBiXXE<9omgVqA^S0ab5_^5+rtI9*u*^QHdN`5u_S zA%Te;5}3##f=L`An8YE1NgN`W#36v8#36v8k%I@rG7bSu#=$x;$806e2hn6jANhCz Y{{_2k(Fb%7 diff --git a/graphics/pokemon/floette/anim_front.png b/graphics/pokemon/floette/anim_front.png index 43eae1911a786e8c9fb878f42e1dadc83cc1f3ea..c18dab54e4d072ad86744dd404ac99a873454606 100644 GIT binary patch delta 971 zcmV;+12p`T2%HFzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lk{E&?z>< z000AjNkli15xrGF4jhWqLM$g-b@u|K;^ zQ$N0AS$eT&SyrtKJkzbO1!8>xI(AP9ECdIg!}G2Zv~j%So_Bjn(80^??b37X;q7$+ zm;#7FF-6-nIK2rRJQ;Lw7S+?lDUQQ|n1mLUK^;NZ7aJv?w-H{L2z+@G8U$j7upxv^ zg0S!E06X^ju79Un<2VS!41Qg?i6A)fk3zq#0=S0fyS&jc6?r|0R2 zn8IcTp8zylv)AunwJq@ItrebN(VB7GDeQ^jIw;PS&lfVXFF*=E&y=~1dz@q52xPRLTDR2xt=KhMk~H}=Mwwx zfhR$%{(m3$YyoUNV9`GSJf#F&cL)TR%3VlM9maYPB~cXX!Icsiw)}Y~x<`fAunaI> z1{k;5W4LzA8Y`&)``UuBqpJuwSlcTB`vUB1fK}EZByg4BrDfG+hv=%(**cJs^ZZO5 z-+CY#fJnu|?k>4VGPF+5=;W+-T+DydtbZwhEC2y+<04Uw^I*G0pt&WO1&0L zH~nB8Fk6viV27FLaur|7Yg-EOnC@Nw`-_>%ogMU_8qH@Do^k^T&|Pf7$>5002ovPDHLkV1jmnv7Z0{ delta 962 zcmV;z13mnl2$KkqUw;FhNklKBNb2QXZx3AHu2He}7> zK$kA1hSDk2U_nO@5_IfRYtVVxr1MhE!RaOB4wb88!C=K1&Z8R|hVFaIf;4%dSCalQk5dtnO zZF0%oxcxc<;F_w(2`p9s_0q=xu(*=|-&|M_@ANL#Q+byF%w0I|yd;1bNa5B2l7s|s z#9Ros1~5v}^G>`ea~CSYl4F2cefr`JEH?>Uy}rZ^=7066M6CoNELd8z<#dWDf=dz* za-`~bOPyBH#i!(0-;*th{UvH$0kciO>%(=Dj`MNEre4L3)6ohbwm<;l>3F^MhJ>JE z$>G&_v$EEx-nk+7!v6u_X&_?js8IoY0}Y7q0RV2P0p{O2TLOU(tO^a329X&EhhfMq zngf?CV1KFBc#@{0!fUV%5ONzJq~R?8;Z?AW{;urtfG?uK7fcZWi+jclfxv+R*co{O zFlGo1a9?{-c;+}|ogwH5f$r=aYRh@@iUYC$zym4)C|5i>+aZS(FR<9trgcvCu>5kX ziT-cfdkmlhfR8dBNpeIU05C!{=+piMv>G(v2Y=mF#-LkZLO3=B1O(m&dB>ObCHA zg%BYzAb2`KFhCKXmQ@xQXdwGNC=K|Pdv~J)M8jr)+9-@ZXBmW=P>KNUf5IyaFX8LZ zRr!De-1HWK2?NB}3W(6INFa`3kpnnm^Lwi8AM=3*+M9K4|BLTf4Y_r_BMPf|jR#qQGY<|c!^7$bLLQ{%SC(Xx$Rf{d= kUfLQDo^AuI|1v-P1Xz6Y$8$HW=l}o!07*qoM6N<$f@`U^SpWb4 diff --git a/graphics/pokemon/floette/back.png b/graphics/pokemon/floette/back.png index 4f76af315b7c36da18b8e2af4c26c39308e96104..2623bacad762e70c23f6722a6644f7805d03ff0d 100644 GIT binary patch delta 704 zcmV;x0zduj1(ODlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lk{I*`Ipo z0007ZNkliFNNcd4#^rk zL}S;^-Fi!*baFg-Jl&Kr(G)rr{2BUe#c?FXDSgw)?|1+Idw)+41)(ZBcj$85$CG~m z1-X>In~e4v(7V?1o%kcBCxFvqV;y+dBSf3C&kO(;kj0HYV@$7TO2Giv-<sncgG?|1_c2)F{~i3LD@$S7BU z%Pqhu^ASG)3vTt|D+2|%+yb034+fk+Rst4Kb;ujQEWv>*j7o#r!327Bz6I!weMT^? zYh3UJF)C#Jo9eoNA!h)%qxu8pb8uKCroizE-9=&pCw~G6fro22IK$H&01p%JwJin@ zS9frXB?@@3(j8c&oiR@mbKmuIkUX}(BwrEge&g+X-TnTh1dkwTmAjzb zqnl-0DRX|?_9kA*Z1)Nh$*hIQq>xz&#IrVF3jlb$i9e+2IR^kBHhdJ%5hK@uxa3 zs%c{z*wsK@0c-K|bXhtNe?$W)53R;uMX^2tK~nwzXkDga+5jZrAvLBb0N5V^oXCwa zMHpM5##eR^z$-BXa@cQt5CFiKVt6>yP~AXC^*JHJf4=-UJn3Qn4gjOY^knLxcp*3s mbJHPh#6*sBabfxYGyVdlty;8kSTU#o0000)ip5y delta 666 zcmV;L0%iS^2JHoqUw;C4NklB0kjO82qFxQ<^kO7 zHUT%mY68nHDeTs$@RVs&r^_~hkV;mia%U@-wkneOXy(Sz7(?b&UDa(d*eX|@!MA5$r}u59IoWkXDjb`0}u$A z1m>v)Kz>LGlYfBAEWi=@m>qxxvwHERfdpJ;0glLn0b`G~fCbbYvIa0qaA1Y8Fi;LA z&{O#qpf~nufQhPc!4`T6a3uX3B-RB?a0Y-KsTY{d!C{q}0>>4)i_`{A1P}rb*Klx# zr#Ao|Cg5vV3?8oT;21{~vT&t4&{%uMEH$P?jJ<^EBY$d*uLyO&*|%_v?)NVOu+Oal zp0g|qF96T$ZMh5EJ-T_mEz5%4w*4kvmHF-!B+^+6k(a#81(3|zfGq&v@h16@W#=3K zfY`86GAnmBa#hLzkLow)B{zxn0VqQ@+D9CMX!%aAfP#%CxF)oT+zVhQUT;`BL0Eh$ zOn}R%r+;lqbdpah&+BPp8`vqJsDU;Ad3r3Jhd;alq=#1Huc}%ffiM++09uzBpEf`c zvPho+y5a!rj{r`~jWI;D9W8$t z;E?A4HpRdt&yWC)P$}rh8#RCe+hg2I#JYP{@J%STvb7y_=!;sc$y8w^Bn52rgcqcA z@~fxgf-c8TBHmG;+f^qcy1akxH3c_pm=F_Osc(XLfEDU1r8FUA16Q&V}JMi!~00000NkvXXu0mjf(+PU_ delta 278 zcmaFQ^nhuC1SbbG0|SFkK|U`%VX44(J382_FJ$I2^cl8l7xlf1Udf{F!hK=kmIepU2L%E$Tem&h zFk$%>_n1HH%4>JMV>rp{$CTnf!_Fa2Xc^Ch?JX<6)_Y3$#HjG-38npxI%LE6yGK~t VCuiCppx+ogUHx3vIWZ+P0RZUSd^7+6 diff --git a/graphics/pokemon/floette/eternal_flower/back.png b/graphics/pokemon/floette/eternal_flower/back.png index 450120721173f75eafbfe064afe7f0ac7d75e33a..e67e882c442ab90f9b5898248f4c660e25b4e8d4 100644 GIT binary patch delta 641 zcmV-{0)G9R1<3`F7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lk{KH<25}0006kNkl8nu6otj1Fkrv{X`2};bdc0OfTF&D6{16d z4gz>P6z~>lZXYL^npIW@tzj0g5eEUARyJ zTtqz2d;q!b0ha?~EL(b(z^V$E0aAbJsFxrFbJj@(QiyWptY3l1-&b(sxG;=^h?7sH z%=kHgFpznid_;k>05Q{X3yeU5dm`2hnJy8w0@F1w12wi{S9LuFp9jpv@wdu-4scWU7aO9^#8qTG_;A4`>d{ zRj6=`AAwnO09sh?NKcFs`D1|2eBMH_3yAsE+JG8Hza6&3489%eikq~_YoI#-{dSOz zdU$yUX7aN-0fWbAjlYE0906@!;9N55vR1!O0Ob%`58+fHusQ;y&|51-j7<#jneGvI zqLx4#FiQ3U2v{kG`~NH)b|7Tq5OL z0q{|Nf|+;9PcZYd@@%m3W8}Nm&x>vOK0z9LZ1}zoL_-W<;gbOyzFRP{0rmjVpc8Br zsG$n_cxcJ+nF8?P;c|{0Sj^6Mrcwx}RBOQNtZNs+&`hh|2ygWLQ7hjy7hCn_o$XB^PR3Tef zrmq>{Fr+0$+W)25g!4WlmHfPXzwbA4TMRBmU@7B*LR5q|{Hw>^ zg&+7f^Jo4T;kJc7$c1)c(Cam=djGcJGfd%9px3Lz6OY7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lk{LK$a^~0006%NklyN@+_~4A=OqnJG+2x3ft4h>d5+p6gg7mf61HimiX~@EdrTp;r;e~IjesV zI|o4I9VxxK$^}Jm{M-~EwO08>Jnf$XO-dozG#3`sbs$8M1?4tH2(*OcXOaCY3ocbL zqmS}i3z|Va1C(C1JWp#Ka1{VR$uO{>;~WAI;CU|tC+jfK?3`L28DB%D9ZgT;YaV$X}x|)Y+r{(N9xe!}pZUQjwe%B8$ zFiq3^oB%MPf%z4|p#BZPP!jJ50J06~YN%!E*F5*-S=M02P%&$+!@TUKj%aNkf{#V(pGPWuH5fCxpKlBfxTQ zrwo;bky`+GD?R{(P>cnSwfDv@U@m_IvC&8PbtMDF`zry*wU6){0zx28E0%gr-4*3G z2q7loK+~5}r4GSw8>E;J05Kd@Jw$xPe@P?*_)7|TSu`j33g6rCn->EFKo4Jnvbfdn zzGjdTTlhx!E)N*HYXLWe?`k@K0qna{o+NggK$HU5ozoDCJObF1-!NyV+pK?>UerX^ zV0{uq&YeM8fTSP~(*$fGM4}P^tD{Ro^Z=2QhX66g-8#Z)5Yk$-AE49#0W^iuO%xw+JO)Nx(QW2MzE02Q6*Zgj)0qtk5L0Y08s<5xXI`o>CXTnsG7;E6p!L9 zz5@F40-#TeEkOCV9%aCzv~6nZ2S68OfC85hF4S>-1K1uJI04=m;Jy4ne*oyw@)v+w z0s)Nw-*gzDXA6wi;go?#3oiipTwl?{FrfjgejIRAjR_BjDHHrl0NGjJ0r*zG(*KM2 Y0T5*vLdh!0^Z)<=07*qoM6N<$f)i&NdH?_b diff --git a/graphics/pokemon/floette/eternal_flower/icon.png b/graphics/pokemon/floette/eternal_flower/icon.png index a1e0d3c5134cfe7b4c65a52a42b2e1ac35f33628..32f7face1f8bfbe82a75aab7dbc4fd2f6e1424a0 100644 GIT binary patch delta 310 zcmV-60m=UO0)PXM7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lk{M-txZj0002vNklP7a(T5QlC$o85oI42? z#7PHV%qgKu3 z^!chGRD;pVfS@(H0!VH&_!^X1Y81eto)hMIv0bP%R0n7>W}{q*CYVcNma#!QHB6=~ zXG0u2Vo@S+@Jr;lwD=`Q#%CC~-Qe7tB2dN~>oB+#YvNdYhsuK`&LL2)9}DgLC;9LC zfiT{5g?Sic6cXlX&>ji%GRU-3D}y3V-!_QKcZ2+!LF6-o?h#O~Zp31vKmY&$07*qo IM6N<$g5B?cTmS$7 delta 302 zcmZo*{=qasf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HP1a=978-h-%bhSZZ_a) z$!6}n>HO~h|J$*z5?);Tx#OW&0N3}gv)p!GtJ})(p;CFaW)hc!uFk}y=LYRZg{Izn z;Z@wNuprGGF5eO@>uG*emTb%k(VL9na)+qIoBKf71(jn**BHRq2}$Lze>VPdUtOs zE^BCAFA=WSdF6P`fiQ1|O{0{{`d^wKB* z007oWL_t(I%hi&-3c@fDfb#}^qv5!{Yx_4eyu3``?XP`^djI?l7=eass zp@TzF0N54-*CIzEaD-YxL*9r06xbd8ULvlW*92b$Vj(YfgKZ9c5s5i*6@)@kf%Ts7 zmKk+^^K??uaC|G09ToI>*2s{C_fM^+!X0C#1&Q)>sWlNyJRF=Fnf&md*KYuWE-(W@ u4lpA@1elQ^vf*0<@y(PVGa-n*N6-V?UA1XS!9r&M0000jVu0002dNklQw&`43<=-}m4c4EQ3EKjJ;uF6th;9g--Kc-TiZd0zNp2TOch2#Qou$}ctJ`h zzj`_@=yLod;vEILU3D^|%lqeEQ*gtEX+c(bOsO>irkM`@;)nk{enS{^g_#U;gqaN@ q!psJd4&O3}H%o)e!XWmZL3hMlq=XP=ohy?70000^JJ delta 278 zcmaFI^nhuC1SbbG0|SFkK|U`%VX44(J382_FJ$I2^cl8l7xlf1Udf{F!hK=kmIepU2L%E$Tem&h zFk$%>_n1HH%4>JMV>rp{$CTnf!_Fa2Xc^Ch?JX<6)_Y3$#HjG-38npxI%LCmu}J9U Vl#zfd zi+F6%mj{3T-!Hopl;LQ;UF?>G2h-=I5}~x7`8o{McMq3yD4n)$dVBO!MwNogp|ic$ zyBao}iL4A3SnbFp7TYcIq;S>OnX_E}vK>gz(5rM2iFSx}t`8NqTE#eZlTPgGpAHFu zyc0T>tjM}1rF%%tWYL{MLGy15F5hC1Nxr03(DyD{)7L5Q3PVXo(%KlI3M-DjsOXLJ z&hNfxx$%GO`d=lnjFY5un4U~DsBPGz;v=b$&l&vs|0Dy80wDIB@o{U*PUhzILShpx TJy{6!8-u5-pUXNYri3N{qzix# diff --git a/graphics/pokemon/floette/yellow_flower/icon.png b/graphics/pokemon/floette/yellow_flower/icon.png index 29049f106a76946c0ae99df792ffd7fae5570795..96da8a44e77b1c372ddb4e1b65b545c334639b48 100644 GIT binary patch delta 298 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 diff --git a/graphics/pokemon/florges/blue_flower/icon.png b/graphics/pokemon/florges/blue_flower/icon.png index 8a4743f4f56d416c7997d4a9ea6d3b8634445232..c5e0a88c89ebace5ea3f6f56a4f4d86c64f28a5e 100644 GIT binary patch delta 512 zcmV+b0{{Ks1IYxC7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lk{bT_HO*00053Nkl8z;>+v-=8z50Y%%d!p!z1|Qym8o&jGp5`4xIun0O zn}(H~9?S&Z3R(VYEFA&7Hmb!!a(f)X?^4yoOU9=qT~U$sW(o91LR9$9&l><8*Rg(Y zOJ?&MsM9(XNyb<^f|V!fWkXKSW<2A>&ScwNvT!C0$aWmN@{%3$$Xx*(kcHuvu11ji zPee2)dPF&#Va{7Gw-LO!YPyYck{Ex;g_`c`q_|{w)N)G136x$sVdl)7tb`DYXhC{` zcTqccpFBus?tyXgu^aif_Wu2Vc>tjxGz*FciXr3N%tE~uY|rd2pTMqB{r-*930PfJ z*r^V8;~xJb_>l%3#_}Uzs!rBRP$&|oK_HurTRzhyRhxcR$`ei0N8E)aH*jpinzTus zJ+*Ml4Zia@K~An`4#`5!5ciz)SA(vg59WtK`eJZs$D-b%ZsFSwMLYZlti3y%$gV^+ zmV-_PJ*?A{Fc3^2uJ>YY4~0Y(9*fYV4t|*b=f@v!PDhbOB#58@0000Z6ctt8IW^^0iI?iYS({L zN>_lYP|x|Pqhw4eG-ahuEGbJ}Lx9oMej=nSL{&^cgfUr>6aNvTBFr^J24w|_=LCso z{Bfa-XO&TI4z%7FIRGwr8~U(jlsE&_c@Xr$gzN?+IGAzO4G;@siF_W`0gr#d+Z0FNbPrmn*!(Uh7>OEa5u}M zXYeLjNjMJ*(pSZijgzHI+ix)Vha_A7|1U}Y(%{`Ya057_aDV1iPmxc=^0uYVjPJ|{ zUP`(7*;*a}JhiIBQZl=b;McQih?kU&OZu`V%hep{w~VOpogY^KI&D(@+HI(K50&k*r?lyUl z&fEgycR((9YFg^mS%Nl#t<2LT` zUxOcc&>@ze098%4oP$!4G!FvVB5rxlvs|q{CZ#;lM035ReOPh@2W&`}HN~e6uDQWy zmS)Jv<;)>js3_uhM$Q+5F5n!@4}<*C;Lwgmy++-^mo18J_zzfmcQlDzh&q;oP6j=! w)1xpDOd#&;#nc`Oi7Gs1p-CP5F#pew-wOXgsb<+(r~m)}07*qoM6N<$f}U>c?EnA( delta 469 zcmV;`0V@8_1gZp(Uw;9$Nkl z>`j6C)aj z{6Z{mTl&oS#zgR1%GFD2`3T^tRUMX++3g7aJ*$RzNm*>^%YT~87gM0$GNQtF{+t2m zv`O{fZbfZ%22I}NA}c8EMlkavKP<@Z-i$kTbWfK3p$I!+K(=StuMWkgO56#+25Bf} z`D_H0e@8^K<6D%&4zpi+xlG{E)$ujXNn)T9D!$iAaVT)BWmLoolwLX!8^VmNg%A^I zL3)8#Qag98Jby@Mu7PnfNp5;>z!&$vzrfspU=W%K#SO=xaTN*hr;?+a{00050NklqpE%SeMp+ku38_=cU8HQn+L zD@E?`KW1xVWhtm^Jd7+V`^Cc;#7vVW$t#dJvJJlXB*|YIe0T?H05=pyT2Bn=N-Tfv zd-lxf!7Lzas(%hA zX6qa1%B~be#n=$R&Xe+zk@I&G&p5M@@ze08?GD--1SwvSAF%gsG>P4bHkN}< z20g6Pi!cyOAa3+xZ4ZS+6&{<=qz-EJ7d zZUA?qUh6}LR!k{es#7N>&QjM9V04e48L0@-h+Tn#V5*}E|51wLm}@8u$_j+%1c^ud z(NM;V$|!3B(g$NFz>OS3Uoi|VGeDgOL0?SBY4E{D8Qc_Zu?g8?Fo3c1^E~*1Srm{F zsoOeHI|*J6W?c0EEW$*hd_LBNjKP0yTB0v{28s7AkFsA;=)2nun-0GLkY{;A9M}H7 z3G>D4oBYE+$UpE$|2R8#;~(RG?)_r`d;ho?#PAPyfBMJOAi94zCjVFr0{LxscL@LR z7lT0m=t)Ez-xx%9jo}~Ldu3rghI@nfxBl=0L|-GhP5kN_00000NkvXXu0jG}f(u){ A(f|Me diff --git a/graphics/pokemon/florges/white_flower/icon.png b/graphics/pokemon/florges/white_flower/icon.png index 11b04c54e01956833135e209d72082540ef3f205..65c16c0b0e2cd8d82781b4881bf66261ff19591d 100644 GIT binary patch delta 481 zcmV<70UrL=1F8g&7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lk{hn=Rsm0004vNklCp`BFfWK!y(1 zn=5Cm+=K8zpaw{~1+ZoP_grZ`79QWJAh&d9a z&3@mAIw)!^?ukTAm@sO0WEOGMTAzQSWtcR*L>=R6@(iPU1uo)yH~3R~|9+Tz1Gyk_ zCrUL?&RDraDB1B39(uKdelp)5Hvu~cwj0SCPkq^wF4+&6btvUmjGKAjXV4jFWfmxi zvSpHkG~M^1R00d;tMz%w6Rb4DGR*3-uxD=UD%ybrJkH#bWr`Dh3RoWoJ-|(x&Cf&7 zJKEX_WChuU)jjED`wzxb^sWkx9!ohCG3ybc-GyP<1c+MmE2LXD~00000NkvXXu0mjfQzzHa delta 396 zcmV;70dxMU1l9wP7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003+NklJkzBsOA@Y00006X_Gp8 zYT=d}{E%^il3dRml7&(r9wq6n23Zvh002ovPDHLkV1mS` B-#Y*R delta 407 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 delta 765 zcmVPUukZP|hT?Yvm7+-K$H2!8AdgT`)Exfp#bs-aBOMATAtu%p?q1 zLYGb^Awl6l|4IU(gAu6jeaVtPI(Fy{)}5c9p7(j*bAtZ&RT=(WACA7MXMc+x1g_j1 zjyDp+U=pgGb+L&6oeea9FbWLeI8H<73)qyo8b0K~SUg`4((;ZSsgD@vbP4dlS6f0} zd37)uO*oH3Q?4`R_Y)n|BJaJE#xR(2ZX&>!aJnD=&?nONJ_S&K=Mj)4jsX=ZASDo@ z0FP-IxDWcsX=03>Mn@DVL_n4gXXu2$+QGOk4GIyU4e^Gs5N+&#>`Q|}1P$n6AkvWr zg$S}wZY*F1@)Uw;AP*udFsFH`6?6reJ?Eeto~y;<+m0B|c94?nK~6<-g! zx{LAtuk)|PL5Mzo)fnQi$LH1N>GgSkbr1%y;j?-=?oiz)o9aH*7+9E!$0_|lA61PG z)4))YY_Jf(h!T2*mV^O7ce5G*cZ{4}xX1w{EEK?~Ys(4{;wOJb z1q%tpjM$5r0`AU|?l&j*JW6})Tc+YwQ%{e)5sr4gXfJpT13%naRu|t-E0s= zv$=S`mblvtR0B2sxXnNfV6Fgb#V0j7Pj~|7tarIu!AzKU0kCU}$Sqfx5 z)9+;X vj1S}#2P9v*WsAy`@(6jk zHXC@TP_|&HMoi{vd^V(cg7gN<->0+hkA6ZtSCH|CStU?LBtWm)4uojj$-5!!U@?Cu zxV~K*PC&1Xa9wufM-~??pzCz_7CsQ&a-$oUp$3Q7v#%s9C+IJl=`5z2Mm9c2DRl!E zRX6;^X<4?$DW$4dwIw_F1f@=~cWOsTu2nUqVSaW}?y08zI!ph(yY+;5GUlu-v6N^w zLzdY0w5`LdOb&PZvbmMTwlAMyVEcM8bRyzlcS(hLT)X&>0STBC&M+`5K~6I;2^ZlQ z7^+>gC;$U>HAR9Lm`PPL6U4y4yEh_10hnNL83@2kO6j!d0L-KgW{d`SVCZttAX8@x sFs(M5@#29Y1Ec&4%!m)b6i)@rFMntBXa#aEsQ>@~07*qoM6N<$f*8c6LjV8( delta 378 zcmV-=0fqk81H%K57#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0YOPbK~zYI?UX^5 zgfIw1eXl`g19kt~4v?q>b#}9BTy)y{A&64j_Kk-CaIBtHG7JWKBc@6oa9tEvy3|8X z)o;Uu#Y9kbnsVk>BNHmeq&Vdy%&&3+#8N-E0A@8m#8VhP`h(+HL1n)}+3$Ll0YJPu zfGa@Y2=z?oq=#> zJ?{X#x$GA?!+h5VzySo;3rJ!}f!Wj7GF~X6(tG+-AFuUUk6sM!O`p`;0WHrr{x6Q9 zeCu>hWi^oQFgY02Kzb_APz)qL{MBJl4aDVLusTdN5J*f}9u|kG29kOJtHWFdasrFR zT?R7rc&2r_PXkFHe4E;_kp^(?C+rb<0o;#HWY;G!Uk*f%N)+ Y0axxEU*m%b$p8QV07*qoM6N<$g3F_)m;e9( diff --git a/graphics/pokemon/fomantis/back.png b/graphics/pokemon/fomantis/back.png index fe31f43c4f5088455fc1faf3f67ba2d945f29e45..8d76216f1bdb194ea790075f371fd873bb63d298 100644 GIT binary patch delta 486 zcmV7ae-uMDZry#AfZf$T&0d1E=L2+X1q4ovd5MZDMh3_ z$xytH+2_&DU>N`Ufm+>8vp*P^okpKo%xWO|41op$3owR{*-$_Of2^iN+d2U^4JRZa zm^mbYhcm!vpqB$z^$|2+IR-520M=s`cP=+?wH106=l0{~by@+;B!k8KTmy?TFbiz1 z)#rh5#}Z0!av`6(84v)#9Lm60%KKa4B5;j9tYKwT0M`RRVon2ID7E8q542{bkZpZ# zVx+)2e69eg*4cNse<+^;MIk1aH6^r2VTj75@H7z!U!k^@ zRwglLD3$6^=@iC%QMq&o#zdrTTrslAMTXOPCr}aRu chyDn^0IgnGn@Ta)r~m)}07*qoM6N<$f>Y|!r~m)} delta 491 zcmV6a`_E6(Xt(O?y29K?B=mu&4sO!)@W7Z=Neh=-5Iycblh)0lG;Kwy=Z- z^D>x*j?l40D7}$_(wCg6`*sFG0GL4;jFh^)mL7sjtiuYH%mAJbfMP}if30-I6F%rn zOHDTQyh$MitM!8c(yX%QdS0Fbib19p6+`Gca#da_nb*TH5P*4q+1paa@eZ3XehOcU zPzEt(Yb<5b<`fgBIT|a4Z9c|%_FDqH7C^Km{>vgby_xl9{4Ef@P#}tO&?mqt!tApy ze+2|Za5S4_L7afB%Y#{GRp7z(Lt$p!0)37Qgy!u3JQ-~i>lspG>^2FV^o05pJQ htO4E?F~=VbWACkAS)0-i8@d1h002ovPDHLkV1m5~-yQ$} diff --git a/graphics/pokemon/fomantis/front.png b/graphics/pokemon/fomantis/front.png index 116850706ecbeff9828acef3c0b2fc7b59f06e90..4ee5652e8357dd291eae66d316223034bb3a3d8a 100644 GIT binary patch delta 448 zcmV;x0YCn<1g8X$B#}W-e*gz`Nliru=LQD@05@;>SJeOj0g6dPK~zY`?bR<&!$1@O z@RGCwc{6CP;|nyIUzW?76wzei$`@d7nxyQ$0cxKBgIUcj1cTbKU@8#Bp=ic8z@bQ% z^4bn}Z^)TFaiZ_n`}?kSoI~s>82cyB{hfjZoCku=ANibfpZ7`7e`!IN%DX&}633vr z@Gf`{K=R;B+CefNB>*t$C1CF&ficto)lN`1cHsR3JP9y`Ca$a<4B@iLB9hV$VA2k8 zV_yb>#Cn_a?h&PPAD`l-0 z?-hh|zge%>p}pd~B6nIaqyRpQAB*GSO%wU$=HYQoW6lr5VvZBbzz1C#| q=)=Hzjk03LXAV-ng;2hp8`O?l>%KNg#nZR)mBgrGzfNpKm&}RiVLzp7tX6J zBCTlv!+MGS=(lT!H9VnG{8#xND(@ov^8tiX>ek0Js!*^JL?g{#MuprW8UPnT!D{ zSqt%I4B0Qi3n=eyy;`k$bjJnx!mB}-1NbnxcWyobxS;?R@L~kB3EV8GMV2qc*17jd zo|B*q-!3b_e+=v<*Lad|`ORU90^9O{0|5cKSn~}4 z006&9L_t(I%jJ?G62dSLMSFuC4uM8g;HcsTq%w#OE5i*yQbVqXLNQ6*lIcu`8XAb| zZWR_-w?Dhd&!3lNUsrM3uY>5pZMNb(Dj|R)rT7kLblUN22YqF{DcMNpO57Q~gXqnk zub`oZ8+m$K)?DcA`6>jcPZ!IDj%rKHD$F%`bmIstn#SXb3E?q2tc} z>t}$82^jV)s00k-qg9#+&1k-jZ$7ZPvn&!Hd60Yz#Wb_0W}-?JU1*?PYDeM$fHz<4#IY{RzAj>#uY$zioig4O ztfX-T?hNli^k&an&``w(d3u^#4%+g36#(q%QgYCcEs2c^Q&>$N-B<#%s`9vCAUr0A ze96BH$Mz-{5+GgKf5p!T6MJFUv!Hrmm>;#$L}-hEqxA*ai!H--lAV4P!8dwTG Z#0$xZg+5`$7lr@;002ovPDHLkV1mT_WFr6o diff --git a/graphics/pokemon/foongus/anim_front.png b/graphics/pokemon/foongus/anim_front.png index 8c7b13ecf105eef66af41eaa1d485fec278e8115..09eb48154fcf0a28715e2ded7e55fb34ac371baa 100644 GIT binary patch delta 481 zcmV<70UrL91hxc_Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lk~GzBM-# z0004*NklJx;?w5QU8_Q{!*~RylyBRg_3{5U5d6o9xu zt`OyNObl2Qvtv<4+Skt8H~VMr7X)5jPF=ByZhFgXPsN1eynH9U08cg{;e&skWtxYHGI?f={ zo!mEON)6W1m46#DgzNJX1Vgm7c50n73?Oel-ULI0hu!^g*0>Wi?oLO<7xx?y_cJ_f z-IJVk7fuft+9Z&AAc{Mwsh)_Rzt)NW2YPvVU9jRfmKjGWbt}|IW5Nf4VTe&`tQHc( zoDl#X+ziuDLJQz#80;7Z3OB>haHuOYz%cC)!=Nc-hFWPi#Sr9hJ^n%t%P{|hoH+|Q zbq_f#1qGAyK3jo;!bw_Mk%B^EoKm77$bT@%@puwH>`x*EY5Y9B%lxpT$J_IR*QM(V X6cFo%-XH4!00000NkvXXu0mjfsv**V delta 448 zcmV;x0YCn>1eFAkUw;9hNkl0 zrAN-XN0x`0B8hSVu7J2)#v3pcGmBCp`L*xuoBgrmF9$cF z1GV91gjpM~9}6y!wgnVmW`xidSj%o=n6|z(uS_6>^yu5faL3R9W$paJ%o)E)nEY@3 zTzD?6jgyw1Gl;a4WCy{B1}tU!av)qbNALuqm9--)?l6F?`u_9;BHXSYcjHQK(74|3 z5Z~lIB5uaGU4O}&9J>$Bb5AZ%%X?^MAbM|7lkX{L67oZK>eQ*z6)28lpWTae%43W;%Y9|b{nz#!r0N&K+c qdnric&;HBL4{Q2)cl^-l+Vu+*5bK5p!QX)Z0000wA{<7f3Kk9xIrkj^$0Zz zOA@50lyWPQEX!`GV!r^WJQXDh8BGL=TX8`=yC%M#0c@O#vg{0i5$7{c#d?Bx!uzDS z!W5Eu`Aa!f*w09wjydO0TS7fII6lJ?@&{A6vq$8@6ljDY6k^2f5yr8I3os4*CRWA> z2Bwk1!W3f5NC8;nVi?ayBZ1jJ7a6^RA9pz!1^i^ie1|S#tmljc4t~tKOhY##Rumb& zT7MTZs8Cpvpk%3azamb5)AW`q4hw+NQ&FIh(nO&2D=vtq*Tgq7fNig$C|UzxB*e^9 zv6&#Ah%O1Pu!VSD{7^v^?iumZDHj4NN2ul&$1@xud$5H&cSI&_fks$DE=R&0VO@(T z2iw3mv9?BVu#E&3wh%c+0>D|%Se=Xn?tU&ZIt3r^b24)H&YJs7E*;~%lxuCBt(r+?~k7$p(&`%@r@1nhhgjs+Yz20$0UaB P00000NkvXXu0mjf6rH5Q diff --git a/graphics/pokemon/foongus/icon.png b/graphics/pokemon/foongus/icon.png index c6e4ab426bdb76528e9d941daad9a86480b43276..ad61793a1c057a3ac55dcd375915934d6138d218 100644 GIT binary patch delta 226 zcmV<803H9B0<8j&7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lk~PDd+B-0001xNklB^~A=y&GDl9tom2Ltx}p8R4qM40EfS|BTcBoZGl0|ri! z?4RaM8zi#*;u>>+WV&sb^frzFsFfZ7d`icWE`k#-O?ZP;>8f)I6HBkZexMGAA1KV> chyKrxF9c{%3dn?5J^%m!07*qoM6N<$g1?wqZ2$lO delta 205 zcmV;;05bor0+<4j7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{SmPtfGR7i>KlsgVX zF$e^`AUz}(=Ki-0pC$#6E=l2O85xZ1UF-6nXfTu+hIER8LCgn&+E8X3W`am5Se>(l z)J6!=p%W+s!XxsO0@Cmv^^^)%$j9jJsR;U2sUBn4BqX>LzeuyD*%Qs~AoQ zW11l!#8kgr-njuRvc44{kq^`7-k$;_?lFZ>=ED>KKgov|JE92aSI9M$00000NkvXX Hu0mjfm3UHt diff --git a/graphics/pokemon/forretress/anim_front.png b/graphics/pokemon/forretress/anim_front.png index 3ddc37f385e438a00c9f5dbc328c14384ddd2249..cefbecd6812601cdeff15c6e666fd01d859eb11d 100644 GIT binary patch delta 941 zcmV;e15*5k2$KkqbbkN`bV*G`2j>O{0|62}=CacO00VYOL_t(o!|j&6Zrd;r#}(8= z*0baX2xIM$Xz%_w%PKla3ZEbXtv!ZWbP7pj`D{r%gI<2@M(}? z{&^qdk@`8#)!Gc;{qY+i9-Izd7{$>|SNNGT5$y^T{h3ly4u6CYqn7aw{XbMnWfO5P z`z->Ql6%=xnGjU>5>Lw67V}ho#VdmZa4I=L5;Y5jeltnKW{PCI@ZNbvR=IXGKMC6 z{{4r?@#mLUjLS$%E9UV#I9-duvbZJOX37^cM8GjeUnj3(GR)K>&2<)e^1V;s#^@2FMcvrK=d-paU zx5uyLig^7dUhRq~S48<2h_a{ z9Dl43h_czN?Cb-9Od&cFNQEE`0zpe4yEH9=Fko!A7BIG3OCSUwd8M!jl4HZx zdjQ!XNQ@V3bD!*$JFmL;?&>kO2ejdQ=2bg>a$@Fw7n> zRs%|E{zv-@v+BY^DthTF P00000NkvXXu0mjfivOu! delta 928 zcmV;R17G};2!;rdbbkYUNklvkLFQ8&6w;jyDaW z65}P}+>~g-#G4M?13~T;i1>|`f2Qvj@N(IXP-2cOn3JHef~c4_g3ZRPB3+UrCINp( zsB_%U-Q9-%HK-A{?=d;?X^XMeu`YI!_2T1)F|^?6=YKEum?cMuOVoN{R(ZiK(r=AxTvj#2TmzNNtF#r+v_MZB zzANasUw?fe`gGj606G~g-gaAs82YJ5TuB+M;N@P?VR^c!H=8C&^Z^7AGg3Lz2_8y;#E-Y_qJ)6H(>uG;iyV_s1E28{2h_a{< zWnnHL%EDMgq1WRDL?HsPh{6PN4pI2cOYg!t6UYgoI9MS{Lm-EUve~Tc>Y6~N5H$o+ zA%DmbfuJRjU6~d^7%;Y53mDt2B@hCTyi!;M$??e6djQ!XNQ@;#uz*1km_YUbQXvSI zf@_!(V3ZAk>;%poA^`>$$bf-%KPm#LQaDis7-kO`D*_DUyyaspV8EE03NQ=7_Gy)0!EYL3KcT>5+bZt>0000CJhCB8?al-(>EHD$#nYP@6JIRfWHXm&Z&*hvZnbvQx20rFq|w;hSyZmX^SDQj)> zQBNt|zCP>9TKTr>bGW2r0ia{@zDAr=y0Z>SobD?Id~8^?t?0H}e>X5hbk0e74KSMZ zSd+Tf`6c0I1_r(*=?&PY)E?yGk!ZY#f%l*m0AEsV`W+=`Fr)j$S?N4#5W&HsPbg`Caj3~GO00009frKfo!*?#zuB#PPuf&Vg6~)Fit2GjhU+WI&)4oB6c} zq%lC67G5FRb~PTEzkm@efWpwOHb~<$Ae8b2@EESIgc$|~(0DJ{i0+`I&CgO3kZ))& zKq;Dm9Mcwn!x;#60TQG_9)XTBfKpS0wiWQmbDYV#0w{+ykk^@i0Hrd(l>oa1g!j8Z z+9m@qz@RD+`X!+P0cg7(NbE3Q#;$-9ZQqI1f+0OP2A6fvX`6iJatmdp6sSO30P>eT zAMm26d?gq-jfhHt6l5X_pt4NwkpRUGf+sJ4FAlv)0AA9U;mM3v98es3mw+WOm!f%G zx`yn&91m%?013S;G3h;S({tJbNH-n--lpm4nxl?ds%d@!3UslS=xou-00000NkvXX Hu0mjf9>&a4 diff --git a/graphics/pokemon/forretress/icon.png b/graphics/pokemon/forretress/icon.png index b530cd30b50f36d8d18c49f0df13bdcb7c5c06ce..9ebe2dc7057995768ccd87fb73a4caa82660aa7c 100644 GIT binary patch delta 298 zcmV+_0oDHE0)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|6UEItq6H z0087kL_t(I%k7de3d1lAMSTNPvIaWj0KsSt_*jK5Jx;+xeTIe8q- znMq^N_?D`m~)KhF?{O!iK1r{y)0Ujzwsav2)lm4lP!~Ln+%#0rzDpf zm=~#Ez);0U w%D~_`RD5*3!6WNM6h4U1zL{e_D142N2ZQaUZZ{dFi2wiq07*qoM6N<$f=h{er~m)} delta 267 zcmV+m0rdWX1L6XZV1MmNL_t(IjpdRt3d1lAMRNmFyaqbt03m1%_*j81Jx;+xeTId+`o3!O@bQhD;nlD_0u6h9t<3ZlIbfS}zeqAvlUowCpXG>2x~geU=I zE027qFo1=Fg*8WL151gap=lLvOP3UA))XH`7t$N;*@ll*J%3Q}Ttqpi6!|L~5kOeg z4m*>bD-$*9j-N!E8l;nRdZ~h%$2{KL1C%xoSBTk?eOkz}q4)dyyZ9U!@d^wwFkA)w z3Jmh^Gcb|MGBC`GP!C{e$45-S;Au0G_^4`)mop2A42@89O*4ukEbZk*9j Rz5oCK07*qoL-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lk~gLs!mj z000DqNkl&ube;6oA(YjSz;A)ry|i&yr=~xL}RJ=d~w)fJJ9PG(A+X0Lvz%<>uyCu?P`B-ZoZjB3I4Md6Fca z3#`Z}C1n4gm7jnzo3si5%Ib%tMKg~RD^SXg`iF#6vw;K3*vsGhb(>UA#d@j%ROLPN`7jJD_S%`91eL28rt zueRs&zpq8~5+MB;_pdLn=JPpRi!dQO`hRrwV)pUl_WZ*Q0J!4FcC`59&&w>%V=9I#>XsEkb%@JYo_5^&-M}o1=`ME$-KWgqEP-|g_^*BW`LWFmp!Cz` z$>}obhJHwRcgEp(y1bz${D>c^!0Bec*?7B1*XO;Hp4LC`jW-*MbkjySm<;lJ`Z2bt zVPjA@IACZ(@n`|#%lhy8fqR!96bpp(gCfAH77K)RKnexIBE{aZiC14Jv|rR*S2 zAb&)H-A8S9m?sb`s0WX{UcNv?)MK3=H-XtZ*+3neYrEHL<^mg{IX3#30SABDFR-on zP-oD@**u#~gkNaLS03*S zCgH_9CVOc2;p`o51J+f8!0ri6x-VK~7k|KB7k;qwpmci^n{V7Im2LQiOC&({l&Oi+ z-=(5R6a63-h`nJ$o&GKg0yKq`CIT^>-pXJ$YWuW`V_nRDArKYV8mN8Bgqn?UaVsql zl4DMus&-(Q=no>ki>e`#A3K^IB$rMIgqvvx3jhV8l4%D<*FD}UPUHX`W#I=-DuD=i3qKeIDSZgIjK_k*MrT?DPw0cF&`C0A6~y_W zJOqF6Ab!#_?bVce(B0tY(jTza^Gpl?91~*Eh&tLc2s?=N0ptr51u7uzV5tuof+6i- x`68J-g4~3i}eCS;Sd^Wk~W#HIG7e(| zteZy0Wone%VloiN*8&+8<%}I3CD%|1xNuoL1>mB5%<4RGJFx=i;-q)XSRolW;zGRq ztygwg;he@(1IT^p2~q9$!aTq@z|lW9GKf%!=Usq@)9FMJfsrF@f@s3eQyOn40aT3) z)?jxAUrgiiCx5I=^8WSiZ1&d;MXvx>mvR5*>UuVt!3~8O+cW>88<*4f?{{bKZULY{ zTefG!$A4U1!!Pe{Z^IUM32+^2c_+rf2!1&H`u6sNc;T=uOu*QA(EA9S!uBiPDF6B) zY+(V6)*0)Lw0+2qc;T=tnwzeQ*4=|(GFk?9UYANd4}T>*56szOjt%2eZLN0E&U1I4 zt0UC_T;)!m5^H53I&^i;IsS2$HnXemSOkFqYt_Xz}}|wxr~8q zaG?Vs*4PxD#6f}FkAb#Q1ioP)guuAySk^EUU+KU-@dSL&M?#3!a7gG15cp4?2{l6c zCiN-!K7Rp$zW_WPxF>uspf3fqDBjkmC{%SRya>wZ`psiPsYCuK(5MisW$72928-RWZJ4QSLq6sL0 zzxL(FW!nir_Pgz~^F`8%xk-3-M!{&ZIH70qM1P*>!1;EsR((BB*OT3|uF*g6#@p3- zx=A(YkNeizaf)r~qM8Cw!V7z~$>>CS_|y3J<3I3&MmkWqLm-qNqybJLT_BtzmMRbq zOBV>|pZdW%fLi%J7f0&^f)eaMYKr4^0+B&Ic;t203q;60(fW29gu9mvl(D%syWQGa zpnpQmvD(87`0%g#1-2C*$^vTmHczKx@(Tm`%mdl3J&x?)?buY1jmhI_6FXBm_6IZ! zO+hxsms8D@4*g<^gNFbu?W!k|UK!J#^ zuxSTY&RqyZ(Mqs`7*GOHOtJ$jL|Tx&iKWN=qPhPD6S-+fH(Jpfo=zs zpd(d05*#tm?I1^jg<^meT5$%W0_`8lL+5wdiB_s7up)10SL9In1J?RJ0f3?nk!XZ1 zV+~{nkv@RBKw(D*lpQSeAwe*d9WE>`k}X&KL9+vz(274S+d;BFXazs{L&EqQ{j&Sk T?*|`Y00000NkvXXu0mjfj*UJw diff --git a/graphics/pokemon/fraxure/back.png b/graphics/pokemon/fraxure/back.png index 670c99a0e2f5b3024f519dcc7e3928defecb870b..fe907a5868ce883b195f99ba11437dc9b5b4ad73 100644 GIT binary patch delta 491 zcmV|MJMl`C+Os#4C-=MN|e zCX7`jJR$j)|BIjPU|Hw!H^W9J=C5(L6uTLS>xnI|1b z18N2xjQbrXfw_iz0(5!+TnQK^1~C8-Yyl?q$uynXgzkezk>_moBmnkzpuP~hT>Gv7 zfdWpi8G!(Z=Trnq9-0vrA~IM-cu7K=5w->*g774Xo4tSv3IqZ?qC9TY5P<3kkB`w! zUf&Q=L4!bo+aj*je>ec2?+HBs>Lo(o;}cZA=5^ri0F6A(1&F(icT_dPFaYp2n&`M)a=KXHJN;nME|<5xj1 hRCGHy{}=q<@dLeF!8G0*$zA{e002ovPDHLkV1hWA)r|lE delta 500 zcmV7MKdCcYy3K0Jr zR6oQiHhy1$zyP;rM_>TzJrhBbJ39hls)J30mn6)Na7v&es7R97?u8HQCuIZ`_c)KO z8Vay7!V?pGl~*@JRVYEA!L^JlHEQ7fHDNVi77_ZMnBw9&uL9kFV+~m3386sTwbp2A zgkb>SWxU95>p({^24FgV6G;PLB;;W@5<*BR^9G<1qe4t}yWNLu2AoG4Y`0r^0PvBR ztc+M51QNt#)T){NN=8ALx0000O{0|6&%Rd(NhIxYviEFQkZ_*II>vphb>~FR{Y$ z6+w#A5HY9D$CXgqC0iq6e|mmRn2>m3!q0eN0<#I@ViCQCi9|~ZwdOlN@Z|@Z#E&WU d!+hw+6999a#}L953%CFP002ovPDHLkV1ir`cU1rY delta 217 zcmV;~04D$L0?7i9U&W$M`WHvW8f;oxKJyK73$P^Cec zAW!i)0&{RcY$=M{9*|OqJ|Ymjl$VSGR}WI6?PCv^L6+K%G#0Exch8%S!I}ZbI>&Kh zZiCFjbCpfdYytSbP}j>1@R&gO{k)z_CIvk%7475!M%qg0%M`Ufs zk|eM{tzQ!+CYvzvXEtFXvkK#=DJ;Se(FTQD^PL~~_5*33#gF60vmeQueC)>y0CSzk Td;A2m00000NkvXXu0mjfcZ_3j diff --git a/graphics/pokemon/frillish/anim_front.png b/graphics/pokemon/frillish/anim_front.png index 161c4bfb1b121c218cd61842278786c01532a650..c0b2f7b6540f36f750582c51d7dc30400e7ab1dc 100644 GIT binary patch delta 1048 zcmV+z1n2wA2acXq^y(R2w;e?StmFHR1cEz#hvXVcF1cF~XJ zbTvPBjv@Dkd>GVarCKNw=E26t$LD<$1V3SmqVeZpQH%p@y?>klHrok6PXN^ffTdP2 z@_eSL?MH~C-Vkx{hGJIY#$CDh3+h(a7IozV>W{Xx)*frm9L#>SNI>faB)5HQJiya4 zJ>;1m`19Y|HqVO@;BNx{qft&C;Pjn3~|SwHQm6(q&Bf&I_pHUT?KOEt8xpO&9n9m1tDC_i(Xjm6XLH zNykoJDdWe>KsPb)SX3B2jDWQOfQDn0wGc3l*U#%N)6k?Go3OS(Ndv=y7JVwVDWl&= z^mub2X3%xDaS%En5cY;(x*Iczg3Q(~A!XexhRMw~I)4XH6rapywtW|bIR%wod7T3i zrBt2GlD6np{-rWyC>*Qz{#7;$uhGeXSt-YHV<9{>-UF0Y57l7FN^cz-Ot!21t>QPFNok2?q!??1Gzs-q8x ztNLtFJafQTXFiM{;NPgiKfws_g@E5b6X4nM#TzQazkPPnI(j0v!%-cIP@vbL^cpHmE@c9 zpnsfy0P47S>9Z1ZF!|;n^8x}F?~A<8&pwmnAl9Z5nT2cLnQY-K{sD7R7|L$E%ce1{ z+#SZQjywMmlKhf*H#~Y(OwxA9J0sCqm5?-Py`5jQPms1N7htE{&~+3f&H5r-E7j?6 zXxkSeC21DXK-;^d%&T#{a&9@6yKoceLQ0{bz>7MwGa9fldCA9`6<`(J|K2edGp?x$Hc4Up}62H5Rq z05by=GXUg9vx)wNK|4+mmDwS2^15P?!_Hl)cLjB8Y73_D0e|%un_FwE+A{~SUo0Td zdI2SDZ;c0ddBskV_<`U5t!?wVngBi_@E?wH_5kPa2>gja`5XumbxzLTt%cYFD0ug3 zlNP)H1$a>a;F}=`By{E*pd$(i(%ZcNBe!Ov-RDM0ysyo(dck7_$G9tvwt`sxo!JXK{weJzw5xIRN}*O zZ_j1FI2zNfIgWhJ%nAWqC_!1fJd9qw?A7cotP54!rFlkhW6~CZ4C=<1 z!{Y$BPXQ%?2tUW}ZUa|<33nm{Ujwk+@gb^s+8-%VWO%qbx84~o@ck0UCBQl&9nFDl zQg&?&cz=XX;sJPzL{ z8i)=vMGiMJz;Xsy%m9n3I;K-ZVye pPfl-GQ%(b94hYyxI{sNmbbkN`bV*G`2j>O{0|7AThVwT700YNKL_t(o!|j(bliM~Bg$c~4 zKS(0ubRhNO3u7bu)zPGPF<5aX?Kg);!w z(EEVN%&<3zXD{%<;AAK~b1?J4T*3#;@fW}|2RnZ>#z8*d*S{xYAusUeHv;|%0K;bj zekWk?EVIardH!s6=sV8>fBHBV0=)pop+Jhkdsq@(1Ug1yFHr^>0;MWL<11*jE=8y# zM-9;W+j@HdpntCP7s&}Ygn&p=*9ZHaX!Od}$y1L)21fl8c?s6?2?6{!UM};|{dE7FB%4#!I^bQ#x5v*-#Eg25B zepufFo4VGzVmRz;fLh9tpGN_8b{Du~CBK#%=Pou93i+gnsEMM`xyiNB1+!94;qjt>8G%VN!}#JILHIUe}9p#SjY#6KM45oQy{}z5|ST2S!wdT z5(Y~DcK19FegpDnGW4>BAlne1D zS+!r;CMRI)fQ5Lkez8j3i;b>wfE=WtpInRgcu3qC>MC7BQ_7tYOYz>og%D}PBwZV> zoPQN~6>olmpZmmE?PgljLGc}pi!1S#d3h>@U0pJsgp(Ii_iOPcy}7*IcjOK%AxRFd z#hdGj+dE7Cf`mD?0yC(E=3H35n;X*hnR4(WzY}k&%8b>vqox!Oq?y^ZBNRDw_HGCv zmx>~`KnFdx*+A9PC+i!prw~rj$sI6MwRiheJDGhQuPFd@%A7KjPasnx7qUxFoS4Qa zNmX^dkXEI?#9#rGq~h)`y#eBVYIQe8Wk=93`;ERVOibs9UZ8z(8_DnB<1@a{xO1k!uFbA?2FS}cGC-#bFS!=O(I4~?_5sPbTfDzDa0 zA!562APE8hRcL(G0HmSu9xwvS=rsT`-YQpm1kfe4K435-9Dj_~7ccPH=)quk=Ah=Y znZgH*(F@?2gI>NE;~*dK+dqS`kQaFOI|Ba(fbJUte<08;17w#P^Zd>1b>ai`FJHzT z*It0>Zl^JPGY}%Q3ts|9v_cF2IMG7pq45>eO67ru*+Q=XYJXdAj{w+}{vsIy#}GgS zc73q#X$CtHNPj@1wP^Knjrv3gk8rEo{RIiFZ--afjGCM01OYZ&xHjgNn3{1+=-8O2 z)OGd^L8n$-6J`Orn_BmD1$u5qZZ-*t`+m3(h6Eo>^hT`k!bXbYDee1gz+1s`Uh)kz zZ!?s5NQFvp29S-NTq-=1D?oOIR0$@CM@Spn)3Q?~%zt)_B}}+l`>F*u$4RK-akF9# zRa-XGwOH73j<1hGXQ0h;%Wy2KPPN2$NWVnTy2iDny0i7e`VrWarBVge-Jt|1)kEtt zg>fiIq*GPab*=7elorSn1UluSSV*wJhg7fKc)kD}+|qd@bCs+6DWsCGNogl6aF;!AwOpzX~+`iWK3TRl1Y6ATEPq4A|y8PnIps0T0b@zbaS{({6GKLrg4 ziQ6IUVd8hOF%I$o(ch>m7V-i7PXvDc8p!Y-g@5FyuU49t0oGyq_xtD3XE4x!{1ta? zYb~p5${X=US+!s3CPQHBfE)2% zeXvU1@{KAofD8o3pUlO(KgRA1RgtWr%EjLBTk+n&MDT=Af!BsfX9cd}&Cc*^8yl#E+)y4hUDk4L-RnEm5^=5jz@6jDtLZBSX#ha;u**lB=0);su zR^8=|=1eTxj}>bBh&kAaJ%~3}W%^>~p_HJ-4ZWV=Z0S~&b(+;c0 zPu4fir{GS}(H&4NOZTaCGJ72_F#uFToo+ItPe4<1ox{p5K5=3iX@RP$${T5w>Lof0 zXn`v3{*pT&IwV$iBQ5Qym?@`3mvq>uX<;1OUf|Zwl@nbOmh}3aYIKwj+cO{0|7Me>o+a{00D$aL_t(Y$L*9~Zi6rk#(@(w z{Mj>&#sQe&04T|Op*ZiIM0SJq`ZH}sOJmYKPy3LF#P^GB3{DjNi%}d!yCASnMH&Rs zQFcKf*ZC_zhk^HB0Olod2>2o+per`JBpN--Y!Gp#Z!&y07k{7LgsUUg1}TL>trhfK zfYwg5**YSQEt90MjsWAF8!61m&tTmQ(47|J7~tm28fo!zyj=i$0j3S$?5+WvLl*ct ze_OZc&0Fwt)s|bkCKvdyl1jNz@@L@j# zNP1`&n*kDB$$u+>s(b-la@v<~E&vjJ$!mP^!`0NL1&KUZJ3Fb7-_UDy1_YhygOXw9byu zbTxN;kX?iBXo2j5JB2~afT?GI>r^6>J!HB_D{9!rDKM7ob3IgjD$A`?ZjiF-QS7#S h9Oz5-xJmqB{Q!Lcv-gpKXb=DZ002ovPDHLkV1mV*$&vs7 delta 424 zcmV;Z0ayN^1d;@hbbkSeNklToQ5QQ-(sQKx-SmglJZ~$a`UkKxUE8*Ut zxqinaA^{Ih*HvF6EaiQEGZ;oB$-fA(BzcMgRmQU@kWHeG0);Lf0Xh!6{sJ%$f%k~d za|HVG$Y#9NUgm&cxxUKKr@8ugCsZFy8^966Ou#u32P@tSZ6YCJE1U4Z!jIJ--Lb3g)L=Wpv)?VG?B5O7fdORSn_3b>cu zpJlrB=lL@ZSUc_kyA7BFpxz_^?17|)`vicO5P-Y=1R(HFyV?Yh!bU+0*yRIYsc}dWq3Q-Th4O{0|7YZU3&!p00CS{L_t(Y$L*9&Zo)7Sg&j_S z`RO`XRcO(t>}``2%%VuH;}zEsNeul1XjV{ck8Urb?{qI8GoW$!XA(0Mw-Qy^5_Sw@#22#ULwloliyaIuEr62PLkdg!#=Lv`yy{XwIdU08~RYhXa t=D%PDHLkV1l6ruQvby delta 386 zcmV-|0e$}Y1MLHlbbkS3Nkl$*P;Ge_ELA5nvWrlYeM7SzlW6YcLr?lyHC~!?%MVu=Yc!n{p^5R&DBKZ9{$((y!quTK~+=mHB|0!F_R1AJb-La*@S%A>Xp)3tK1)?)K?vl4zW5>$SXj^3p+&l18B_xg_H@17&j!H#x{C!vvOM%iB)B@TPb9#RAo_S{*;1_ giB8gDmiWW^23Az6YmS}3PXGV_07*qoM6N<$f-xAcO8@`> diff --git a/graphics/pokemon/frillish/frontf.png b/graphics/pokemon/frillish/frontf.png index 88713ea3aed584da6e70f69010e8022a68562ee3..dd4c7bf78a8939c421b5dd365527bf2ddcb595d9 100644 GIT binary patch delta 564 zcmV-40?Yl31)T+ubbkN`bV*G`2j>O{0|Eh(b)e1w00IC>L_t(Y$K92^lAACP$0g0U zw`}7{DJ0`b3&Ia@u=IwoOj_Rz+o!s;_XxQvkDCSOzHFpE*^>RSpMOb0{D&sjM#uar zEvh^kpvtSwI!5ev4VWkZP{sVK1|W_3dti&S(IWse!75ic0)Jo$Z3q}>gcBiNg1{5u zKx}~=lAh>lAz)1Y0)ZUz@=P>CA>jM3fhH&jeEGq^?+DPnFz}OsF3@I{5x=tg?GdWB zY_7**Vd9#vj{*;Xv@99TWz{J$>*0HM$AN4FjE@tyl=K<&P3Kvp-(|PIK!zak delta 547 zcmV+;0^I$b1&jrdbbkT@Nkl&Udzv>P-I9`}yBp=@*RshvFM0Lv@klWfn9jvvRu$5&L}&DhL3S zp?XvUB%yi-q`(>-0ubY!GQtr63ut^m??yN~#K8-^IP4wC(|?1z7q`dVN@{x4Oag z8S%oHjOnPG(|}L^O55b(5**C z(pXi3hQ1-)8o{fIc1f_E=7;Sguqz5{bB^t~04VH3bcH3Ia~5M_i>j*Z{fuS;GDSdZ zXXPsfJNl91cCKeDz#wN3wy>DTxc{k;)o`5?ClZ*HN&?4Umzq1gET^EZR^9Xzv l-v}*C0328>Ly!EQ(;q+`i`zDf`{)1w002ovPDHLkV1ir;1f2i? diff --git a/graphics/pokemon/frillish/icon.png b/graphics/pokemon/frillish/icon.png index bc39a2ecd6394107922661b3bb86c1a65eaa3e70..8e5f55c2585c76883cb4400ab085d30f2015530c 100644 GIT binary patch delta 274 zcmV+t0qy?80_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|Ezo76tnN z007KML_t(I%iWSe3IZ_W1%w#?bQ-6RE*Pb#mJMp|O!Fys@M<5J<_BtR2^!6BD&fzAJ%x^;c=lX&$ z&NadSx5ALt!U#@_FqJ`zFxH^12xASBP=rxqkR;t>XAH{f6uoK{My~%}pi&zee;Doy Y59*BU#Zq|M01E&B07*qoM6N<$f`gfEr2qf` delta 236 zcmVlE4V1Lg^L_t(Ijop$#3c@fDMRS8Wgh$9q2=qeUqFb>S5IjsaT@1}3 zx)mE75QX5FcGI7@aVI*vJZ6UZ;TiL5MfLlt71%ZSP`vRG zfrP|6?f`H&^8ic9%5WJcAS$i*DZsHbwg+;4?a3pP5gXSfd}Z$=ts~?*VoXON5?c%t z=Qu^W+?6Wu_KE*oUl7KaN*Ic@FhNUUgvVJJ7_o~mXi$@dL4(9)VH6CKUiaL9K}n6W mRWN9|zBn~Qt-zwuNA&^^>Wu7biSlm%0000{G-XoL z6i|cq0~eylnB|t#eq?r?k3|D{T-=HUNIZssny&bg*fAnht*dZ|YL6f^z_Ggjd0z;O zb4_4?+rXqQQ(A0-hM>aLX)`9ar`1U{*pT^1!#0(51cM)YAKw}YK`^f6{=j_Xqj5ka g)CK_Xhvq&3BkXr#5D)vQZvX%Q07*qoM6N<$g3ObAvj6}9 delta 342 zcmV-c0jd7(0<8m(Bv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL007ZRL_t(|oaK@s4#O}EMSTMI5IewtNl<#T4g}OFz2OweB*?8) zu#&Co$l?TzP1DT$^lit^2l%yEntbo~8m#BO29MKRLaBzBAlSL-SsqWVVY z8vse+f8q;<0cZ?^sWnXOGDp)?caEFK;9;A}Izrx!y$f%RcrO&z o^8c99;g9A5BEHH2F~Mi?1S9NsVoY-CO{0|F5E#eh5j00PNLL_t(o!|j$aYui8+faOI? zmdMB{B~vbnDV+i}Eo8I&avic2o!e1K1bKpV~~Anb6<3;>VCJ@^-$ zmg$8J{AhH2b7;vW+At`=FpBbIAe?OPGGv}-DBu|_7)CEVV;Gsm50-n0F%X$OSOjB7 z&rm?F^aJ3jB$1z$fGoIVtCb?(htU^(?_Wt>l6QdIUn-65pS#8QmH=F6J}UGFfNbJw z3h1&5=t7!XfZz%Z#ghq-H*NZlIB&RZ@iIHtH{zxnLiaHr$}eDdHmP-1wQ8maoiZ1e*gdg07*qoM6N<$f)_Afa{vGU delta 752 zcmV2G|CWbbkWQNklBjE6vyR7OO{B;DJ4@bN+_KIH7#V5@^T%r z6`k8rN#wJtENv*M@duC(ZG|qL3${2fg@!cPU#{i|+~0zd*F3V)!f&!}r`eUVrNj&-tuv!%7f%%@r}sJi3KhuY+ur2#(6GmXd$j>!{X ze7>lw*=@EjEiWa@c9og|-v>?uhj7*aafb$c4sc)HLU7SZX+T2fY=KY00=RXWopi7s zT|B4ivac?m0TR(peM#KH)dMxbpTU(#X2e_TPSj9IiGTm7N=-7Ng{-79XLGATrAq3Q z691adyv$4Tnm>0-U8=z*n{4tQXQduX5250-JzN78S`-Bhg>4%{X*fGzh8hi+c@~)! z7`;b3Hh|B<#0DgB$Q?gC6=6yP-48fOf|oelZ9tiDr=70{&?{=Nz7i@pu6q^?Oo?#`9Q@z33ActZd#_-XeF{Q;mDxtanZ)&LRYr3DDD&`>;? z@pLt&f64h_y10|6laV)YjOFmpBHK!zid{mbY i&B!hC$;LeXX?_4c=LK<50YU`;0000x?*ER*wusbm(Nz@#&C`2Ud?#I&KF*SeMpNe?;oG0)^EL$lR1( z(Fw>zoxpek0PVmv1(?#I@L}2x24T ztiE^q1f_HU<2agmaP(o+^v`3V6=Ydf0f*-XFqZ(!67dwie^?m_VwTFdE{KP~1mdJ9 zROrsAPy&zD7;Xo^f7UI7&XpdH0Ju7kGMOTJX#o~-tz|$;U{?bd$Ad+GNR;ECF7rWdw*ChLl6u{@&46@HJ$(X!K2K$V%6tw00000< KMNUMnLSTYXK+yXD delta 478 zcmV<40U`do1jhuBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ia1lK~zY` z?Uc`I!axwlBNlpS4zA_}-1-2v>811(JI6kZw-J+j!uAP#0zUW79;OT3z>k0fm|XMo~C*;pD@h?q5biD@fC{1dcB?U?u^U#^T9+@3_(mL@bf# zIwzid9f;z*QLYEALjgROV~kq>wl)kpQ!< zRcWJbf{VG-8Rc;~sNGG@HwqwM0;hg?Z3Xc69D_Y+TuvqEmJq(P37G#%|D-JI6M;TY UW%TH!761SM07*qoM6N<$fO{0|FTK9taKq z008(&L_t(I%k7deYQr!ThJAxK^Z=#q?ow-w>r)6isQ5Zvno9+5Ps&gV9TE#bKg{boY z*zb;unoSX4&#Mv@0nKKGSiOcv#s<-vN3v$LHi=&dP;uNE@)6gXq&bGOf3n|MtHP2r z*`M}nr9&e3;Hx)H?p#-=-Mo|jAz!xEMgMbaY*7XL=s5!}z0edC^1!zwGhV=;*is4y2lOtSE!&+hBT8M+La<5p4p QO8@`>07*qoM6N<$f>Gj$rT_o{ delta 277 zcmV+w0qXvh1MC8jV1M^XL_t(IjpdTDYQr!PhW!RN^Z`oT-KEwV*H0nnpyJoblDt&# zc2b8D=#W?-lg(BF#+zcrS*){Ppp@RGk6*ge@kPO27UbL66CQv}${x&ZBiozdKg`p(!Zj znSYVYFoIsOX~`hV%>zt+z&_iSoPelH849d}Fat6~NrVB5s4Nx6S!<{;qaP+&_|av* b>&G3s44LEVxDIkf00000NkvXXu0mjf11E-u diff --git a/graphics/pokemon/frogadier/anim_front.png b/graphics/pokemon/frogadier/anim_front.png index bf0d8a9a5ac831e82c65b3b2701321de419a7e5d..0c16f43f306b3c17069002d75a35f534caf16232 100644 GIT binary patch delta 993 zcmV<710MXw2*(JJbbkN`bV*G`2j>O{0|Fg}bo_w;00XK?L_t(o!|j(bYvV{1fTby1 z?ogAc4f!gSYx>2szh@L(#0^Cbmj_UaAhB6`VE8uRqN`sotIQD%@Gzx&AD)M z{!#Zvwr@|;D6rjfWL(5yKE3xeGt&F)I4|SJ8?K-Kq4ZS^aDQq5mvZjc1c-2gdYpw$ zJwSQHY5^|_UCudUejUI=4}qu-z^j?Z#VxNbfpf}#6~e0ruDUsJ-5AvXQN)E1)2O9} zcEB^h-6sSdtc2I=adG!~8HGwc*Z|6VJpJQx$q=w6IgL2KXwScjI+21mHUN0SnaYIexvRZ;F7^0x*{w03b(7hqtB7WcD`# z7!CsAT@?wUk}a;`lg9eUZo2`_uSy}33GRXh!0)izZGU>a=a|O zZpZ@QyFI4;A^=JyYncZo;1H%JCBX0Kbs&$K#}B%k!Y2?&`TGIrtc&wbbB2+Hkn&_t zkn(;t`@}5aK%PzQFMwvhou==EoJwgWT!HiHLdr9VL@khlsdFwYA>2XROk;6@#I3ZI zuz>x2k$<2DNDuc#FooqM(S#I^zzJANxWW<+*9CHBd9b4JUx0vwQV!b14;%wuaNyU4 z`G)!lKmNC)Hb;FwpPhOhsmGX zvC>5{6 z$Q>tM7yygV)eL*b`2vp-GyOXo+8t+gxd*mT<2b9;V-#X{-&iHdNYIMY6Kw^K3KPqY zy?=s(!psM#AeN(YP?*>#O11&(OPjnyDS`K<0C{1RR_waqOc2>d02rHs2G8zoPB z*(Qew)un=ix3$v+3WRN?V85qnEpQM6Q-sAI{&OmPn?F=A2mF^_@}1)!{OV^xviD#| P00000NkvXXu0mjfxM$or delta 992 zcmV<610Vdy2*wDIbbkZ9NklIsH+2vyzG^Q~;+I2&oWpg#gC@jRZ@oG9W+&XMdGI#FJ16!B|CxAQDN0 z0IvdYHj9M35tStfLB)G1qiW!?n*&$1VFkdskWx-~OMmbKkp*r)A#m>{qFztP+s{j$ zXnpSksOX98_lqS%z?6) zFVjiKm`AP45`X0GmpdyV)YO>G`0LyO{>Xt;PCFZb*RM<*)QXj!+Y~bin4qa!JkUKKB6&H0v3DyrHj(K+poP(=7myBc;pR(l)sHh5*VzQ%09Xg6R1Z?%|`s`pE8S z3qo9$B<5p01p|PeVYl1%M6bA30wW8YU)ew2?Y4NlP=5eIRRH3!$4p!VKP#U~31ndFoJo&FIB4527S~jGl)e%cuwNHxRsh*yT?A8BVK3ul z{I5nud;NQie2wj&0(0|yU^w46Kp5K}l;#3@^W;pjCI>xC{;eHp;{fPkLV7eH2sjxc z_8KivZeeOe?baCb*YNnKM89u=Gu4w##5Os1-b`YqPq*|anjq5OTk*&w}#x~qzemR5ys81 z_c&kRfiv5`-Gka&l-0!^c=Elft;bod9(aP?ee1^e7Up^-=!x+HM+=jxj=zF~g_#Y| zf`53fO0c&uskJDZEqGtrL4*5qP-??+0E|t*^DhDwbqvcX3{>tA%JDGwf&gu>7Q@s3&jn8a z2)5s*6_90soO5g4a*qLk4x(QY=rHzUkXZwZ*fwuxE8gBE_8yY9jiZBb7D^uXW}6%o z$^zJ&55BFPEzm&tb}GLG1hPsX9}QuP@c4)4Qou%B|KMPbe|Q=HI{pIu>Ssammzc@` O0000rWs0EpishDs#Bs8@pECGrDOVqgK}Xqk{ne1Pfn2LOf@M`6xp9soValtG7y9{>r= zL*xX2k!Pnm&u$2#4$v1L@_wQ6V8UpAXXW=rDNtc*06KGkeF5u$^%S^f6yl zP~`1mF>QedR{$i!f6HZ2A~BO|OLba^tpax8JzUGV5};?Vstr*TTA^CVTch#@K>tz! z8m#6DIDH#g{xY@>Kwi5BT%gfQ%}0J<*QBW?09ba3qExkrMhGCtpabkWVCEPZ84l#O zB%lUirXhiP$m1l?KqW`D(`v3l@h}1w(6foQV(Ua(Wp-f+7>gCI0HgV;urkjbpgwSb9c%T8 zAE+svs1ZIN1Fj#{mL84)R~$_0bi*g!A~U+-G)*%)N_zA0u-HKf=NofE8002ovPDHLkV1kAN`eFb8 delta 572 zcmV-C0>k~41*8R#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sTotK~zY` z?Ulbu13?hRFIS{WkxRgURlF0@q}gmxEJGH1pFs$MHpXJ`4Gu1q7U@&?3@K8`6-U5* zC};N1-LBavmV#5H?y<3i~i%c(Mr1C12JbF5+Cpx_mFsYD8UIy>{f&%C=3#d zu!KT1Fz+4#5>*KTEbNhgU?mC=JSf5F(G3GiqVE9gXqlMlg#g>>4*(uk(v2r#9stOL zO$Bz?3j-)Yd5j4|V0Z|`CNE}8a1ZFn54E1_JemkTxpDIQypW_YwE&-cz&^)#kD@b^ z7u3$E0Xme=S6JlrVll0OM_&LX;)}byAY!h@mYTGbTMg{udwdpuw_1RoZgd+m&yB)r zp_WSLEkOQ-1`N2m)xgQy(D7HX^#HbM8t{S240SRL1G_3s4S~R2lgJBQi>#zXg7q7~ ztpm@TB4dNTnwA3eLDLM+gtmK0dfnN zNwm#g))O&1JE`b@p(gg8MSb5Ii4U*H<~B7FTSveF+AdL7?A&Ol%qAQGYwCLS$^!?Su~8p~fs%8Tk)xMmz|~T%@OTWk1T-nrHH?ErW_%4iO*1}#Ua-xK1H95j zJcFey-G6@DmH_ZX7qzv1PW@L0NtEOO&z#;GBlzLd@y8+;iar6WirtF(FSG~%0000< KMNUMnLSTXe%>h6F diff --git a/graphics/pokemon/frogadier/icon.png b/graphics/pokemon/frogadier/icon.png index 8c11e46256c8031f067f67b16ed74c5b00e46442..e9d47cb9555b0b226ce6a126816425c73780948f 100644 GIT binary patch delta 374 zcmV-+0g3*n1Iz=EUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ll2nu69Hp z0003mNkl>iZl&7%a~5}}kFh^>+~yl927v~?2Vc=(LNDfEseb~E?>b%s{C*dpkje!% zEkO`M))f!DzZV>}XiDTf{c*(SQatjfrJdo7U#30qwG|kow8f6J2G$mP+CDt&i^fvGS9Ga;&q5ilN&?16ys+I;9s0&^AE-SkTW<6rUZrU@93C`v`a z1SwUUfthSuv{Y0xgCQJ-J_8eZIH+y%G4o&{f^qcW!6Y9uk2vtgM+B4a>=$5u00#@o U>ugZ2X#fBK07*qoM6N<$f@H#+c>n+a delta 337 zcmV-X0j~bc1E&L!Uw;8INklT42!`+&Mv&026q%Y4^2YsJ^`7zWnUx)BJ2 zUT}bHkFhE{V7GhzHwU(X3oFZ>MOcq9NMI_=z|4rMVg!uCP7Xl8INiPLa{_Y_*kAQ? z0^?5ja@7P3NJv5VtI6vh?gG=hW3X3u0hk69CZF65Pw!&VD6(q*gc!6lH=5>JjG zg|X4Fh7>uLJ#Er1yQft0Wn*!IY?UHK%KQO=z!nR3bEyt)u73|)oG0IJb) z0(*{Ud~*$7i5Jd@ZvtL`8w58m7k}kIRkA}iXh3kaTD=w`9aZ_eZ&;nefUSYQmm=j7 z00zJYP4OxRW>wzZ1Xu%DQ;3z=6F1dS``rsw2kh=$*8EzCm%&e(KB^d-oumAKrLb6B zgQ4kdDSuF7^YzCZB&0TB)ZGT+~l)$sWtRUd&b$P4C^@F~L-@7yb zS?(})<^Eyq4&HVlX$|(j@s3N{gEzmAdc;J^qvH+&CxivTBK(gd+lw9(0RDmDH}Nr$ zJ5&((_TCu`ZQ_ZW4g#&;zz>M4YMbCaYW<9(hw2`>4biVB)YwG8wESU&{($T+8Eb@6Kod_JxVd<)e}5LrFFY&f*~K6F;pYjVD6Ajm!Iu67p_hkc zbRs!GNa{zu3WJ90&$g%xdNsuP-feGFqTb4h9-k5!w5>zE$}P+1gyytEUEfak=JfEM z=~+5WISpu;#?c@+V_MZ_ZXdeS0(*e=VZsaEg_d>^Neb;jVTSdU-Z}{B`Uj%?krBo0 SQBtY^0000b#j?=c908rCsFoXc#Mjbp(0HIR*XW$j}4p+c~69BzO!&N#&kwXBi1@PG^ z0%yG;1^Cg)*@MU#lYsXuI_jVJ(ViY?K)>+p#6SM}djc@Re)--QU{Ij|7xpT@0vuL4 zdH`!YsT?8jNqmXLS1nV;+#4z2>ft379(N}OW?(LJWi^a z`-E=v()8n0RGZW?jet$ISu*VS1kemjQAGeiU&Dad6fsLg!&wK=m+e42h4{|J!2x({ zfa5iAi)IMS|2h!P+JVS`GsQi=zJhP$D|aB)0YAV5!GHDZ+20DtYcizW5(Jlv#ak(p zL0;Uv!^Q}@dJE6yE_=El}h;SCRN2Tm&ecwM0t+^t~`qKG+Nl@w1@>OYrv% z(xOV?x}!}x66uEgxAFgr_s<8PZw9h_8{fmWP3i4gkxx4xK3u=NOZ9#xwCng1s99Pd z1HJ=x4gufNc6USF?H{dO{I1ggq-w&b>*t5%bbs*fEu{6}{HHhcfEo{0zmM8_U}<95 zK;W1dLC{3+)5!6orv!it=zlvt0y0Amf$#2}Lf?t?CTtgh%J0w%^g65A;6JJSf~|)D zOv{1jw_~bpB49Ur{Rrm+!UAKHrXPY32b7Kr4bBfwhg1cORxlo?ZF<1K-F^|2uM6Km-0C$TwcmoumVbYU?yKKfe9~#TELXgOPE}~w7v*+ zt6(h6s_ODjYyV3P;z<#pw&@Fkr$re??%7@tBTeWR{ z0@K=3L|crA3g*_nl^4xsPY`F$+_$XlWOqt8?}?QrqeRevnVJFz1ef^tpu$$;LyMjt wa9kZCvf*BsNedCm!pg?R3M$gu2|^qH0;2qp#l*b`EdT%j07*qoM6N<$f+wc(vH$=8 diff --git a/graphics/pokemon/froslass/back.png b/graphics/pokemon/froslass/back.png index b099da31d0c45dcd7c6f55fef72e0c454544b809..4e2358e8b7a96c3da02df7cf53004188b3e154dd 100644 GIT binary patch delta 242 zcmV>g^3J|}Iuf@pJ+FHtgWp0BxTbGjs5qsA_h&}Xy7gte&zOG>?nNCuQtJCmtqy;@ zt%INOsLyt5MC&Oc&MJ%E8bDkX{aOk?bgwI5R0G5fX4MqqI+(-kC~!CcZo#y9Q=KBvT;aJtH8F4|63T?3sZJ&Q37)x%OL= sX3)g+fdp=k4eHM`vz!5%0T-{=ZvhUs=E1e7P5=M^07*qoM6N<$g7i6V761SM delta 251 zcmV(-a?K4bnlxEFQs zNU85LwL1Lqwhn&AqdwcM5v`|)IIAprYXEUo^lK^n(7mpJQ4J6`m{n7Z>tGJEqrl++ zyj_aJCrYlO2%ys|!owP{<{va%0B~o21yKl?0-TN}?HZT`kxYSv_l$rzKFpPXuxAD? zI6J}EXR8L9K@-yl61Y7!r~xaplmVIn8E=q<%002ovPDHLkV1oU5 Baa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ll2!Ev3QO0002?Nklnae-G?~KU;mw?kqoFlALnL{~pL^MQw%P`$2#2 zUvY$#ukH#2EAC^%3@!N3lL53#St$zuZa&WWm>^hB1r`&_Lat#iO_`;@&$g-F7GKXW z(%4oW=KwNFr34UWLAirB!bUa6wQhTpbB(}y@B&wiO3mM*(n7kg;#w~<9~W&t`4>5L zVQeIfJ^4r&elG`Ljcrs0K&~dI3~x2K`s@+~3A1_^2@*2jMS}G0bYnrt9Y%tL$w&yY bKMMZ=`g)kpQ~7Nv00000NkvXXu0mjfA6SSC delta 302 zcmV+}0nz@G1NZ`v7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S_DMuRR7i>Kl)Dnc zFbD(_ZlaOK68Haq8<3nw0Z!7SGKCv4*QCD#{pRPyt1d#I81WjEHJ^gXeG+0z*p%e9 z#e@yXq0p_A7!V787XwNRP-J-Dt||zsq&dVf(Cq)G3fR;A??IQ@#l#5yVpTBHaOet5=zgN69_ zM_E3;{{&Dx1iP-S9)bfXSue|$aoDF8pv`NP03gd5sPeYDt^>Jue-~TEy2{()KUowb znC4OYw!n!h0vemx)S;^Vw{y?64%BOaTyGx4Ca?~JI-p<(K(7NZCn1ajGE|Tv0qR@` zgBFBoDHgk z$)1ZGPyl?kKn+67lClpH+9dg`8@@h?4A}V^J7-?{GhYuGumgC&VVT!)fUyY|mzfKig*!H;!X5h-;Eehkoj&DF4f55F2&+i$qFKicMGqU*c zOC%Gm(0vmTK=t!`25bUSgUb>O%1@JUk8uQu{7vwj_{XpJ$KUVC5I63G*OMF|2KDpX z0`Os%%dRKQvUV>GMu7g!FgOR>322|YK2VbaN`TZ@4)cA8-`uMQAqkB#+3a{dsst#6 zbT2b>N`c07d{1VupEsdMLskQlE)7w-p{{^zLp5;90DZ~9egcXXU>jHC+X$K*xFH(1 zH7grikpsBz>3nr1%$dcI?)o;M`~BvFGIYK*VhP;zLkk~<6`*JW`TYc#zX9W8P>VT6 g@Y#da0shZHEg3Kq__s z{r3psCDFA0PA7XWa)1Hw-2ycTF-yw6h}tH}chm6qlgNObFWEWs(x3VJkO4b@2OJi? zjsuKMxWH6Mjlr-4x-1WCVC$2Vn*Tv66f>_=1sAq`uYwu4GI)!EJlOFAXal&F;`u!T zcEfftHj>4!KO&ibXk|OW5kU3(X9jEn(tyhnNXsviaIbL$TJwK`=fof0-k<-zCqvx0 z6JAer02$QJZwtVeT`s$xILq2?8XbZ5JA?EbY$srR?&g3^3NQiE=yDMA8i-d9LJ~&H zQ=2P(lS1Nbcm`w1vqfNflj zA0udT;D%`2(X4E2MGoM;$Me;dpfigkYrkvm_nQxj@O(=vgl$DWN!!AwVFf6hK>j=d q^glp82DO-D1YbQ^9pHm5A^ri{^U;Tt8-9KO00000=`K^K~zY`)s($%+b|S` zDO6Bai>{5L8xJLS=@3(~y1KIT0*bi@R;oGhBKHaGyg|@09a;qF(y`q-r!UZ_=_TbK z*=0JngaJ#wAI~|wmoQ`h^76tk?AdR3J>&oc5q+Ez&uksY^E?v-f8?h`V(U?^5zn(8 z>+4g308d4kE)nawVE&}c(d#-$#<gt?%m;stTTEDfxWww_{6wVos z%x()z8B-H&tlI4f%1cU6fPgYS0GH~@)+ajF1jvcqO(KyEMMUet>E}{f2Ln({3uviz zG%`(viAF$S4`6_)e+4knk+1^B`rLz!VAk9k$9kfXU9|uRh}r|R5eYykbxeS906Gy` z0b?Pwp7rQ-2Iw6kv;uTaj0a_ude$K%p&c;aHjfH|fNh;ogtkXJ0pl(7d~E7N!$)R6 zy+phA2lO(qKy3vx*g;^rAK(Jub8@K79rQo|wdf#VC3wU!f3$ayQx{?bOgndkV<0dx zAw-A^t-D9qdW0eBDj`ClutU%tfrfcP@exMVo2B5gAd9k_fURx<0WN^iYRNIC1H|P~ zg0poXp-8`3<3f$>NV@{;Y;{BXdGmhLERpernbeWM-Db_lqS??|FCzltV_@KwF|{_tsuR}GM!Hi6d9d%S%3^}}A6B-O_bW}L6@@$lub zttams05~4oy0pNl12-dRmmIqyaGHRbpK+)L4qyQlw{;|aM+CNz*w$t0%E*EU`v_z0 z0xotyQl&0{RoS+lDmM_!RNI3J*G_<4Cw2`Lt_mj*Y*bVp*9s%%I{{YL;gD_$QpSou z8)YOY1SOU9FX1}@R+}3yQ}b9j0aib!7}w^>cZRS*>vn7523SyUwSBior%*fruwuF+ or+)_y4^IL9Qz74Q_K~zY` z)s(%C(?Ar3uSJw?;|Yln-JG#QL$MieOdFi|1-zMll`O7TX&jy)**92GE(K^M8cOJ> zmlxn^xHHa=6K1L5DpKs+Z_YV$XB7IUD+t4|4zyf0jU}Pfc1g!OW02jg5%o)dKWRP8d)c_cX>J8Kp89<>- z%z$+O8WCy%Yaxx9ba;0b=o}){0=!QQdqtE6&LL!>9WdJtj~kMKZJ#(oJ)@m~^_FHf zwEe#2BfFkoqTTr0{L*tk=>#*lgTQ!yfOA01*rBv{FaQHQqJw~w5RpLN-9f=qh%GQ~ z+!2AE#K4A-Auf!6X>MWb5r!xi2@@K*I|S1Zs3?$H3@}){SxTXDwkVnjXm!(;5E2-y zmI6cGKwKOpI9sC(b+?92KET1J}vR80@BleA#nY?$IFLbKiq{$QgiIU z6}-O3!1I(f0x{svmi9mCOZC|Cn zjMR>>k1#Yo;9>_Pi_{0uBHQ*;?FZTuUC&^FYcD|8iL1WGRqh4a3vLffjRCd10F`Cf z=bM6*DF1U>P*#FNa8kwp5-l%4rM>YgwU4O{0|NtPVDO^=009L_L_t(I%iWSOZp0uEMY+M; zVQ5lBMq(OAitycbo9(vFog(KB&?J&ILAco>GVw0h3pA-BMWLX08U~pEg!sb?S`b?> z`v!+Ah{OHFtkzBYy(Jz7h*$uA=r5$t0%B(2{n*p#4Q3h=S%1bOogVFM*rmoWJ@v1n zWhc$&4SbFCY^KqYM3pKQX@ONrMYou zHL7*0{WPw!NbAdf8b{XZZF!KIjKO_(;jwZR_B#N!XjOgy&tu*&fdB^pDjj75eT2vQ zb=e23KhQxGItVCq5aAwm*cveEumg@dgs{Hj7af?05=lBRb4q*Df%u?<(|Qdn>fjL9 ysYwU9FTdy@RVB9ktb@$Mops2w1r^|5)BgcOhNMZ!9phgB0000O{0|N(Q4K%s{00a|BL_t(o!`+u%j^j2AfNkgk zV`Y2*(^k<($BK%)j*|d=m1XXGvA`UlS4bDg6?%mB1U+6!*@< ze;)v`PXW!eEYrG6A3@&NtC#c<;PGkubcksqk|E3lYV6MZ7=3z=5uh7dfXQVNH9`Y0 zfKurQQYrZI`%D2c5q749_dSd%lZT=ZNAu_3n)0w_GR%e+x9ea33WA*ct76g zGe9@vNiT0Vh<~7008PKX{_tTmF#|MCtUwzkw08C+3ApE_i-EcR1caxk(GYM?V+k;R z21-PO^wOUJwS@;j=#&N;Ur{eHAkgybTw;_hY{5dHr4VID{{%0suA~R%fxgKV8ou_L z8l$Gm=;msEq!Wctrw&44?cFg?kPRrDb4aLxkKQJ#BoK4h>;019$Q97exRx_YLwS@;DI_4444vLHMkOahy zA{ZDEclvx9qp~lKw{IscCWDUVnI76G6Z(47#qrzKIidCOkDpDnh1NZVx%Jx9zv|>f z*4Jyl(wTXi{@(xVlets3b$FhH5}pASkGAf~9)Geg>E?xf7LhFhbVopw*+!~?x}FDw z>$6w0cZ_uBmsP#$fyx-lI;LseR^Jm4NL!Fp8<9Mvp!qe!c}#WG5`yoTlNXGPp>#Zm z+pJ)a1WoEU%5~0AO4ANMeWfs&@kRY`yncDtgTl;+{N?NIMhqwNvV^F@2<#VEfXiiG zntv;rQ2Mw4&fNi=sA@>m=Yy}?#V~osI*hNXbV3b_G0YDet-9U^!Pzy{L z0@PU#!BFwtOKF%s2*!wYs1Il_un7ibC4U0AGaiBwyDtsr>4RW2E}qH!1K}YUsVPA} zF}Cir$q|4XkgR=C<2obq0LLJ^$o!5Gmft7~Ql@*zC_SJ_Zj%itP$CHiecz=45)i|B zVAzjSdl;*gHxT4gxFYfggL~!u!FUgf{DG?S%?b7gzMXN}Lj=sI1sA3!V2b_0>qLWK zf8awTrXA};<^91V0k02k@dx@R_6M&Iz4wRXRVVzx>%-y?I_VEyAAVGS_!sb4J^PzE R;*|gZ002ovPDHLkV1l@#{*M3v delta 1101 zcmV-T1hV_E39<>0bbkaWNklfb!|<{#E&_sQZ*RY`a& zhp4-%h91fxY8WISoHwNy9+(vXYzu^RpkO9I>HHaG5Bzxm#D5_Nv~yUdb(cSaysvLw z@<)Kj)8)3H5c5i8Lzo%V)Svh@vJomd0rX=BFlP@*TTIXbjG$CLf>a8={C=STg$P^I z!TSy-RmekCiG%s^r=~nCnT)fc#qIjXUn2n*AEJ)lRlFZ=^o-D7@TmQvqoZoQ0BDBr zRzv(UnwSwQt;!`we2)L)Q2AH0K8qpwq>7N0Og$F?B zoCjK8Q7b1!D67J5Oq&~L|#4HUk;|JZI04W==$?`O^(rYWgRip(9DhSC+HDlUSnz-wmllk-5Mhf` zSce9aDWGKw?d!e$wwWm*o3(*euEjUa+P`s@!m~pR%X1mvOaabm7Q&l0Tv9DMQ|Lc~ z4Fhg}OtTOGtLR1C{!|2{qdX7dbSms&wj%?T50M3&^gswP)X6S%NKFM*4|@XULB>Fh z7d}HL34frfY2()8&OicMKIW0qnGCar0R^h7JP?9I>Pp|3Yx9ll?k6Ivg>{cMsgv>qtTZP1?nRc9x%zFvog&Moso z{x0}mJ%u}UT~A8n`KjZ{`21-eZT%;E$f2g27k_p|M0Nzw9RY1&8>vR>dL9riPw>_3 z9V6fQ^`=?$KotyS8Pl|G^PcoUKp<~HQmsVxl!E5h1x{10qe2M2V~$=h3Wn12AnuBS zK@v2p-ze85L#a(S{`8f?6vh|z!{PenU5^S2Bl4H8w;M5>$a4s>i6gLITmjDKOK7fS zLVxK)0Nk=eI>H=p0nM;vTE-c#(Y)>$xWD%}B)}Wp{`LV($-U{UT~(2QE&=dKFk;DR z(Bdi>DL`XZf_(@EHId2y55bVT1Q2!u9|U7c%vIQ+q+T#;F5d{C3-4|qM(?QwW{d&q ztcPHz^zNlJ%pU|}!X`?jL3@T(Feobtz<-_b5RBA)X*kax1fzB7Oy(a555dSy3Hph# zcArhxX$0U3WNTkExXg$$z%j@!3cq87mY{YD@;7UaRGjK^n4Ax!7lZ|>GdIp4buRcyrgTeTRE@>V9RpI5r|jZ0v_0J z=%a&tgQRFE;6FBSiw%Af3s`quLx9+lcz>&5Wwsi4wM_aN=-T?Glh|!C z4JcKQtze|DG_QIS5D6d($PmMH1nlXN+nq(Go-K$N@r&C|TLQ)#Q zY2ukP01#8p;0RRueof^Abpy)(1ja$l1C_c1Q~w$A4%Cn=18N#z-vQD9;?*~R(}qZ| zV^Ecx0%RrrU5qzWd$E8(tb(DmUN7Cv2vnF#H5}Wj%9JxoeB>%oacKL4Sx9%*_*0SL z>-nQU4prpLI*5v_f9kOYTGW6wsW2P=QHCxJ;2&?!JMd>|2xI^N002ovPDHLkV1jNt BAQ}Jw delta 624 zcmV-$0+0R81=t0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x?NMK~zY` zot3eUqc9MLLF55qvvg?~a$O3D&(Udh#fIJOt^v*+U8H@HGE5g)U4$eG(k>N>-%n|@sp3JA27r|}`;7oCedtfsI z0E3?qpaypV_JZpmhU7DUOgz7F0e*b)d=0$8KJ~%rb(O=GX#h=L(+$|I99aXfV>#pq z#A|K=EA|We=pf%BDH;m+PYsN*#ZO`Zo33jJ5L*&&9fk>%drM-|6T805P6Mx&NnZn9 zTaP-4-6qq3QuVDBjP#Y}RS&3AYxIu4C$0hl3Uhbl}vz{c~#dfwnIEBHz@F4w^p7}3&+kb5b>+Gs3H0G#Q;|C4$x2ypE*EDA8SeT zMbwm^Wd3Zpb%oL0PN4@eE1+hk=<1^kX$a8!-+^_=ruBd zvv6)9DGlH}am^V3h^cGv22}cdP2~eM0_A@Kw?WMVm3jbE?+p0>YDks=H4U(@0BHd6 z`U}8mL!|dHs7g)&vJ$^+|)e-#O{0|OA@-m!fE00bvVL_t(o!{wH}isMKSfQ5s0 zw$Q@JI2#Ewj32|I&~k4f4Wh?dZLpj8hl^$zG(Dlgc-1ekfiK!b!HL@!xb(t%gN1p9 zt7>~@Y<0Jt9S0`|2KA@vlDfL<^SpoailXT3cn<)gs|x_cSAQ1(h|d73en7$%qK7Fy zDd`N+8{@;%NYyT297jC{{9mI zZU-GkO%AW8?bT#ha@O~O1r?|73iA*5EyDeyiCvufJIkmAffw< zCnEp>paDvA`S|1nAWwVIjeP9P;IZ{kK}g#xPsb2Txqs>ca;r8mj*s#Lu^TD7t2(RH z=KY$FRG#DnRK{}8)dukO=8$~HRL!zrl>&IbkQF4&+ZR8X;uoBIDP`^egv>QiAEv+{X9QzB`3zq@1 z3qXQ@8GrsPNrW$eA6Nn0T8aQK3%FpGEPEp*AJ-7zF69ADX9AJ{tR#G#jg$c_YXYVO zj8ri)3j!AsE0LbW(OGQ*b0KA+_sa|cX#!{CMiX%is;r)qvZ~#5P2zY)>YOr_3EFv`sk+`=5x12A~FG7fGM+82UH=Kxxz0??A z$}b4;aqOtYY$dmmAVqQdMJ>cFDT-4cwkRMJf;&R==O`fG+`#j5`}^*7!od)7eW-g}`CC>V*mUa)t!$AaN4x_-g$PJq7p`l$oV7Dom` z{rzhPDC9W%Bj`8pyWOZGsJ)7|7{y{|2DM zM3HGAY|U4jyr*N zkYH!G3kEKSK*30y{-FCgc7N^y!dJj97+N1R;A043CPDg8_0b>DFGw(q5Tp+TC|E&H zTl|6a0Ri*}8npNW=|iRc0S8lyKaf6DS`TIfnEpUQum?~dQqv!_KBU?oP#-M*p!LDi l{(zmIS^R3E delta 1107 zcmV-Z1g!hS3AhQ6bbkacNklP}kU{HUmE~%@# zz99HFuOvyXj&}ecdHWLp(kp}pAiV;p<^c&`hz_Rsq@*`QXMczfj}z7SfMJ>>F+ivu z#<^>pg)!$m=|R|VHxTpwlJl?!qkA{N`SSBU5$V>QL(!L#W(ncO4X}RmG`T4_A7*YK zxKni{ZZL%VEilBY+V2F0h$BykRrP+iy9V5~fBgL?0^AL-ylOxE)glnOf%jiqy2^3v z0hp*X077`)0)G)9_5d%#-Gu>kIIqrum0FlU^y?*{KAOPe9N_e&yGp682{iRJAm-6} z_zJ9iz%dC5pmG!Fy#QT100Mmth|>f{04%zh1~R(8c(MWz02-h)myb_g0Lr|R+{#B| zhJda63S!z`Wj=&d%9RPot=gnGJ}5K9ZlyGUU|OrqyMHwws4^=FsEzS}&D93*_2!U$ z!&L3EV6_5xw~#et``0giF~u)9_fpEz0|;4apf005oYln{p@F*WMc>>&zLjfTAd1?A%|BM-y6a9(nc`t`{x?6h8qn{44P1NFqJ~VdMmGYbgSP zBI1HMvVZIhlzd!6gu9eSG@T7d0t!y$WE(r&k?CpJ3Mr4S#t30kU0iF-FN;e3I95kuN|BJjSv{dQw1m@du?g!=mz1DMHc27)K~ zjK2zoZ6F4q4a5XK!KHy*oYr`{N9%(>oF=#oK)?nr4CL~-e+5utlEgL;w&ttNK`=yz z?7%b-Ce=*AK`^kdrnaKcNe>6X5ClkbRe#wMfrDUFJxs(}btY$Oxj703 z0d`#oS}83Ug&V+gUITS8rW~9btN`Gm9CJ;&fC+6)NF(kM490H=$gs1!1p}8upkQQP zf6)CLyFd2<@eAM<46P3u2r-1PlOTPlyXX(-7bF-~2+{`vl%S^_{y_SG0Qv(BI!ye5 z^r6=NfP=ZiA4nf+tp`&AY=0mjH~^>*x$O^HA9C#vs1FW*(E1Q)f56Vq9R5K1@L%e82OZeV?6H>t9CKzB(`W*|=G5e}l}J%Nx^&Ova=M zQ0Wk}2Ea~b<`NtjpL87P+?;eA7!^7S7+HT(CpHF{Am5QRC0N!Ou zxA^%QR{Uf`XeV9h@vGdj-B1JcI9^DCqcxNsKTCjOH6o?&rZ9Pz>NTtvrN>(az(hN* zFin@bnv1rNWkuJ0f73~U-8LI+y+V6*EA@!wgRd_zWL}XD1)O>T#=Iy`2c2@=a#L35 zy@xk#0X8Y=%Y6-4up(xpC&Ku>Qlm2}El(Ul!f?+u&nj7_!`N0I%PMf~v&`0x)QR{^ zs@u5F+~A1y5dd=|5=bjCh9r6dOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00HVrL_t(|oZXc%Zo)7WK!G8~}AeA@(3rA@W({IPYj`IUcr~ZZEJ^TM}|Cn0sUq;ivxs2O%P>t(=DIL!$ zm-ncMVU-}4Lrf|JKf`oPaA9!fxX`#ee{)>uYmN$zs!wp@V}c9#fn?!f0x<#;YLOu{ zyH^CfN`rUMKJ^wI{^CQ}g0DG$7cJX{qdDgbVc3Zx&H1Yk>~3X_Sn^~9H$S!o$kBO| zobM$27lqdxIVg^>RoM*a;{Nf8%^P zaL?WVMs7qkZ#{jKHlRa;ulAO(pgJa`#g_cDkfYHzwkH82%jLcx$eEQ`EQf1bf31qb z?Ubsq4g@FckQUo`RMQZ!%?Si|%TicoIF2w{4Dd+^?d{KI=B!gQ34=Jv0AcEXpN{K8 zTF3$evB?D*!tdHD0|d_$j?6yof9Nc@ARKKh1zAW$VBkv2rNCe&6D9?OLkV(blM6yN zlYb;2&k!`h<2V)q+--;o&+_9G2ZamS3(%<+)Egp&QTK{~v=Mn~Xdn~X=X{<&lepmI zTnH{A%%|!pC(WKH!WObGW2~zzJ#xn10aQ6H9mM?n-Ki>(lfvT{Nw(;55Wx@#O8@`> M07*qoM6N<$f@D7pQ~&?~ diff --git a/graphics/pokemon/furfrou/dandy_trim/icon.png b/graphics/pokemon/furfrou/dandy_trim/icon.png index 9e20ab1c4026689622ce97de4c3ee946fdb9c2ed..a54f4fa4a4a9bd87d3a769af4cc48d60a2d03135 100644 GIT binary patch delta 460 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 IM6N<$f^qu~nE(I) delta 626 zcmV-&0*(EQ1;z!CBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00HVrL_t(|ob8l5Qo}G1hLbV$$ZBG@^#^NQtN;Mb z$I*d3=m|i8x1F`kEdzrjFU_oU@&oGjDdTJgz}?%U0}RTxkwuu}i+v@)&~bDS<(RzN zkG1hKI*?%m1nkCoYjj*>Vtc^rBL@WRJz%^(ZbD-BDFKan9!;zVs#Mm-oKBOje}?)6 z%_f(<1-jtA6}=ACNKZhHtbm339F?HQa-~XreH;QA3}ieGAQuQEXD=!PI4x79@Jq}5 zewl20FZ3rH%3TWtbnW(Y7)E*PIs&lfuG=1irN(jJcRkRmK&O?f8K9i=Hk7FyP`4DN z#2gl}PBH2=&P!2@=-#5uSFq-Nf54KeDPRTQRsyq?`GkYaZM@xcqhf$^WCsUsYaC+$ z=-&ZYCEqH_VcNqAHVt2$ax%#|7Pod+8|w|;7T<-MXTCc?1|kZ9U8wy1r*|UG0c%+K z_oHMWOhSOl_4Fi{pNe_kiB8YYs==M?Gg09r&OqKHMObbljq)d)}r;AZT8_d9}s^4-;mDogBCL%b!+4gNQV}9k>xUNWAvbr>H}Bi z+CP{-ZfaFQS@|J0x|F)}!2}fVn?`?hj(i`A=V-3mP^POz+WB9OLX>)gHPiO{0|O&o4$x}=00c@&L_t(o!_AjZa@#f(hv@~p z%!pFky&x%j5oHgc0a8%25!&Xnz7=8X~S%7?tz)vuP;6 zjDVFK$D=?7HUOrO3wHd610dxr<0hD2286U3$Z3K<6bmF4z*n8BADI~h#y?59!1zR^ zT#`4*+Xo9Ql;Wm{a>S%ZaQD*E zbpjBey7wZqZF2%XcmN?<-vU?$fkvgWY#a5fO|k$`4}b+`QCi!7pDWY9*j5`9BC*ZMWwx3cHLVgMWk=?x5Tj?$U zh*+tz(SItXiZ&d8@Kn|XD%w2p$BYANV+IxJ)&sTBHd+{M3^xUeL}Rs3j%K~%fwmC@ zh+WOkAy6e$Nx}qxvI7cZ*2et70F8ZNQ<=g%4MW)Z9bmtxpQb1~pa=jc>C6GTD6}2` zq9s7+HbW@gw#5J_%O-PSa2R2m50cc_t}cwDHGkJOFrbe#dubhg_g6f+FbF+~!}ege zcTCOsf}yzn9h4a72k%$OC=?*EdN7^xA!2vHtVjSd_VcR)ASKuRZ@&#V!I;3MW*m@r zhCj-p; zkEyX9_J83Wr2v*5Q2T~5w!lsIInfV*Lw__`CAN2WNr>7P5R^0lN6X1PfC~E@@C*b3 z(&<6ND@q^OY(8qwFsy(afK63B{Mj&uVjZPHfn%lbeM@q{f`oF*c7OK+L@u-n0ZBqX zf~-G0SKdlG16f%=Iq1PX`zz_)NkEw1jg2`u0gN8xR delta 1145 zcmV-<1cv+P3El~ibbka?Nkl*Nl5QV7)yqp?JN%n%I*^3Bs0L>ggHUkam zN~K(riliLCrZ1ooF2DsUYj3p32{H%BQ6>wYA+G`IhhRh54kT6C>W|$mq8t5~B$sQD zCRbMab}*Dzh=CjrrIc@@0IV5+af}!&V3pGklX1+!gn)${rhmMPfpiWKLe5zGcSk_V z$&w2&y$%TJGLYj8e<&8n9DtuXR^Kxb1ni%roWVX)IhW*Z_U_36Go`o?Nuf4RnauI# z0ik}X>q4mluL!VlK(1kDlLYWwkX6l3Nj`LP*w(w|Ktyo_Zk{?WR;Ic?915jRAvPT# zx!Ku2|NckoQ-6{-b$uB_=*s@`#a5O87h}@}?q4jeGXMwmW8lHs<_vrc07A6B12B&Q zjml+Z8}+kGvIMZ}0W(BVTDyPuwdvk+^6mitwJ@gZfB}L%s~VLOkhb5Kfdc^tV*s{j z?{vBB0n-WHi=vI8L!il~(gS`st6mBy_zOTZNdVlT>VG}pVpLawoAug;g{i4;W*%5! ztJet!NR1n%&;i(p(1VbkfCF?uZz~gb0?|@YV1)jj$O%>cw(jjU*5F6!&8>%id*O_k zI$%Tg&wT(#!2Aq6_d=lklo}E8Lj*`%^P;!%Z3GahQdOf>P8A&%+%X1~b%}~LOp-2! z19ryrDu2=~B#_%i3!_c1rhSY?W4BO_X0_!3+Xw>0cE`sMs1m9qVIn})0;Mr4V}56V z#(mIKrZk`XE?j&MxE~s(DXJDIBLGTz=>c7qTK5292@u*Y;YwRu_JFEtmfj5xBeZ!h zNsV^(Zal5~KhqiXiDs8(ulu%EWU%`Md6LG}Lw`c;ozifQJCJ^UM@5X+2Okz$B*?&x z_o*C@c^9caU=}0*xLp{?#SxH_oBntI4|stwf|i`!hbI7a9{ynt0CqW9)#wa7To9}Mb9Mhh37kW8 zB!37FmF94GQTauZ9SQR0^{YJ`a7L+95?u-M?_buwer?=DYJsirfM*_PzbJ!=K&SYS2J5l^%it&lFb{z483lzh zbii$Uo#;BiA(|~RH@n*;L?DuEfs!WRq**Axi)A}?0^h`_kT`Go>2&0?n6J|VMa6h!OI8d2a})E4^9w#qx#`LH{C6(Zsmzp00000 LNkvXXu0mjfE$9fO diff --git a/graphics/pokemon/furfrou/diamond_trim/back.png b/graphics/pokemon/furfrou/diamond_trim/back.png index f3f8ae713e433d824987a29797136c89118ea18d..5e07030887a622b1cef4bed5a1f4224983e30ff8 100644 GIT binary patch delta 508 zcmVft&zBzORus;WA|kZ7Lg{~1dVMgJHNl+q*wB#g1u+@GH@6R96qe^_9(^*Y#DfX%_m z+^+x{U?m+Zb7+B;xpA+BTMR{>Ft8ao*kK?Y3WR|f!;w)s-U7th++vnto2A*+>=i}; z7M_*?gxxF5!xUVkJs`6wAvjIg0)Cg-76FiNA{LuuZvZr`@}B4I5*5oGpb{={fR)4L z07nGGu%0nM5MUL0e?TlclO~q1ifGitW-l5G98IdzXaayWKCq*c1r-X9)LWslmv}_S zi2-h`=Hn)<0n>z_UO-6ux9|gYV9Uts!A?rPM7=J!J4=3ge~Wr^xKBHWE~Gpa7$C>) zIHZ)izVrZhRA;SqeVqX0^%4eNB>E$s0F;;jZikV307=7u yT(kCVIS!EaRqgGQvW^%9%Jy?`*HAzGq<;fwTLrOYWz#GG0000k~!1d#=hBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00Fg0L_t(|oW0dOZi6rs0N_Nb_ZY|lFzErvOZGIOI{~>$P|wjb zbnU?417yh!D)n%EHWd882C1rQVIcB{-wzU5EdFskaL%JC5D6hREC2dZ=n?xtV8G_! z&ERN&SYay8I86kMfvLoGur(B?y$47>4dhm|UrRS&?WfvXCl|eNf};I9=wdiJ`xqiS)qbI!;>QGx+0Cm$ zjCDHp#k@YxBm``_7;pR1hLF=unb6Wy`4fOQB1_JvTZG3mP02ULm!FgcKK=!KX( zY$qps**vHId;B<}D^rKEfEMM^IJjINbjO~?=laPB#41B2U@;95u@Nv^q3A=*-fSXh z>J=_R_hSuVZXOf(h&AX%9+T@LSn*iNRgn&MYX6tnzUr$GlBx#H`yIE%NFPyDuXsPw z#}^T?9q9u+?b-53AM9^gd00000NkvXXu0mjfu0Y}A delta 419 zcmZ3-@`ibW1SbbG0|SFkK%!2P2i1gs$sVs4`_Mh_^Xk?rzn^6h`m-8K*Dg+& z9(<3-;`C071xCD@iDnwv+yU2@y?%4?%T>o_G1)4iFPy1!83XJ8UAygYeCNExHvt!2 zY9+p0IeQ`f(n9C_=x@i@T*+Rml-ZNeZL68F(!zN9dObBkcU)!(G|Cy-Y^RS)$ z$T@yyj^jXl9!zs{9Pd9IV|AV%%wRb5`7pzQ&xe@~eNcXI_*8!bzqWmnUCtklpBp|Y zKLH9%;5WB_(g-Bx{Q!zQJN)FhwEPa~^)&~!e|pHiut097D*rl8OJHm;c)I$ztaD0e F0synP&6@xK diff --git a/graphics/pokemon/furfrou/heart_trim/anim_front.png b/graphics/pokemon/furfrou/heart_trim/anim_front.png index 5cbba5a5c7d80b43608364d49f0b096bf93f082e..6d2ad2ce39a822fc7f4f04ee16b2e6cc67a3e04d 100644 GIT binary patch delta 1238 zcmV;{1S$Kx3c3oAbbkN`bV*G`2j>O{0|PC&w*71X00f;$L_t(o!_Akma@$4_K*0tq zEg%7VUPSfLA4D@s57-B_MQsR;Z+Bm zi(q1bqytt$s1rLd$}4t!w51apm;kk zhF}SQ{rxeM>3>>AxXXF6o9fi1iYH8#xuFwJ15bz<# z`Gx><5U*W;5P;2RU`zA+A<)QFTFbOz~qz#0M=sZ-Z_&tK<^@jb|XT!lyrc=3nSCEp#*X3 zL}*h_%G?0Bk0B7PsCumEI^aeKa1LS?o4o6Q4Fh-q7AOmJOSpiaP-1p_NNBMUfO8S0 zX5QeN6@T$Khv^9cWQym|tnIxSh5!l=S=!LO;fjEt(fas5|8j4fI{_FSD8bs61=upnTj2t}&jU>jyxf_Wa_{yx1xR&?OZ2Tea0?t;;b`l)AjF-V>n5d1C@- zjdh_^z5!|$D64&0-hwwq`2doMjfm$;_-hXasg=(*1TLX;N@bLxc9RLF69JV7M z&zt&P+rGvKc;ZOAOW>cC2?HGsY*)y0fR0vt`vma*(-8#0>3K|+Q^X8gs`&1Nfppou zoSgsG>cN!f%+76VzMAlyaAkpnZ~lFKF@sGR@zsER2Juo%_(OJS4J6?O#9QC|R{Uzp z;C~MbkJp2Ts=n;%&LtRgb>=i}6Q76q>yIq9`fz9d>Pj4F}*i2qmUf7+fr6^dUB>*`iv8 zt7w$NWFREo85%T1Tz-*cVJ9L*!PDT1fH9CPC4b;M7WONQ4(*gb6!#6?EJcFC`2*<# z0X6EwTh1Ry9~Aim>4VSs1L=bze@~#CVf?|^K~4Sun)QbcF#e!fe;|FZ{-9ZZAbqg@ zfMziE2h;a!>kq*AgV6`o`-9K;1L=eJKlO)y0X4+BJGUSCumAu607*qoM6N<$f=vBI AZ~y=R delta 1240 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 v+40!bP0l+XkK**(1; diff --git a/graphics/pokemon/furfrou/icon.png b/graphics/pokemon/furfrou/icon.png index b192fe64dbaac22e85c5c44a00c176fc6f4aded7..881ecdd6c87052652c575d4dad70528e71b26334 100644 GIT binary patch delta 400 zcmV;B0dM}l1LXsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ll5)MAQTp z0003vQForsc z;*QaHcFnw|`K?3oByh|}Ll^A9PiX5qWElvtzVHBGD@6=|(tphsoW)?=J<6gHjP=+st zi&3f~NE}Ykpe-jcK42C;(u#w&Z!C+j+4%5mmliOry?pyHGeQR!w-UUcq-~V_r>u=^ uzwb^l5JkDcD0086#r-1tS83odIZ~=Lx!c-3 zU`C3R#$>FuF?JnAq2uZEXNLJo{nnv)0vz*E&<1zV6Po%BIR-+kA3OlKiiiNvMs3Df z1a`PbsZ|8sIEaGdlTas$b`XU#Phjx+j-Uwk2~^@QhbW+5O@HQq3`Yri_4xETz%mB2 z)t!B4;Bnb{qif<37|Ve4lA00s;wfOl!;US=I9Xa44fp$esTDnGvx7UFssQPmlt{jS zqzxlxUp(d^3ZVVxNy>D`)sT1Uc=CC7e{u5ZPVN+;WVr@ead&8(v+On>9yF4ViqMjm zUKbadMc{QP#bOu1#cEw8NECxagEpVU_<&vVk=8gE_r}r)+btiS-LeJr>t4Qnm>HqP zu$of#ev)mY^gm@|rTaY})Ac5|Dj(Cev5l|tK{3Jqw|x8nOg+p?^WImM00000NkvXX Hu0mjfvIMbL diff --git a/graphics/pokemon/furfrou/kabuki_trim/anim_front.png b/graphics/pokemon/furfrou/kabuki_trim/anim_front.png index 9bcc9ea28bde53474c0edc6f34ccb5bf1dfba36f..7a547d9264ad14d11d56cc3a00517562739cb6d6 100644 GIT binary patch delta 1222 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 diff --git a/graphics/pokemon/furfrou/kabuki_trim/back.png b/graphics/pokemon/furfrou/kabuki_trim/back.png index 5904d6e41989037cb987ef486f75220e28c979f6..7a1e9738dbfcdc664106b2ee42dd4211a13af6ec 100644 GIT binary patch delta 487 zcmVXj$-lAwQ2VQei3)Wy7Kvi?Sg^Q;k)q~o?ZsuG}t#frqU28Esybl$KyfSG!&MOf&Yg zL?OHgaPak#IP0w0q}nJ0hmY_4xZbOP)ZjDE^L3Ue05!moD!JusDv&a8OtkxVCBQa4 zP(7Ex>uqYttz`wa5xz432i{BY7GZ1z@d+%U2ap1wPQY&6U6~F@4WJvKR#2`wF2HzT z07L-aGzJMh0Zem>A%H0@?k#1p5S#Bv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00Ey#L_t(|obA+2PJ=)c2XNT1771NjJwZFQx;2yo5PYmlbf#^L zE2G|^Z8!i)FW{nAF>br#E)K)jF!KP7TOYgrf4t$nPz>Y0eqW|-pY`QqhmeVV-ko2O zyr%X=Z_aCs3bW2TghQknBMnHa^kJMff0zt3&|BmU79eVYwcrhAK2){PTR3C}Qr)X9 z%yursRNlp|VhCx^o@S20%Zs zJ3+bXC|JO?sitP>MY?8MRYcURy^!1m*zr5rr5dr+6-k#^SZ5%XT@8~QDkbrcfI<^7bFp4I2ln~eBWUfiPKTgxbQ?sD_h@0UF@DUSOecV5l^;CB zYFs$(+KRB%(ZQ!vWg?G`xUHo2%42_xbn>zEpwrD1sGi>)*#7((Z~kF`>O5~@m?>gs zc(gdwc1BPr%1ZB+9+)6h*I|>H9vH~1P-&N$>4AY5g<3wG8Gwm=d7~!tBQU_9uadmc z0T|#=i1muD2j+`iN@rc++7FvBi#2+O0-M-{%?!jf>?jHGXk;`i|eND__poK3aYzyQC&(9 z@sh0j1>te6U_k8yap*K_nOalIn)0qJ06SXKv2||*$g=c@} zakRb`YJ>A08`y_)5+s_XcYO(TlA4Ahb@%=h2e$xMXSTd@Oq7dK8akw+u$-de8j~nW zF5|?$!*)89Y!;(JQ|?^Ib{4y`;A_s8!1CHTgQ?wag2$W{?)mh_5W{PV^sFnD{N$kU zTv58B%v>3$#XG1oEIuo}tlz}Vm%U}xySV9Jc>k-b59CJ&keMGnKxTdn0GatQ0%YRH z1dxdzBR~dzh!5RAr{{-NKJ;;%`C-erMt)3u==rhW!e)HOkMiLG X>Z%>ix&A&y00000NkvXXu0mjf60yI$ diff --git a/graphics/pokemon/furfrou/la_reine_trim/anim_front.png b/graphics/pokemon/furfrou/la_reine_trim/anim_front.png index 441e12750a740d15ee4fe0a4612fd7fe49b0b29d..927ff72200cd42c07f4834e0c583b45d70e8efbe 100644 GIT binary patch delta 1085 zcmV-D1j75B38D#*bbkN`bV*G`2j>O{0|W`m^pAP~00ad|L_t(o!_}9&j@w2Qh6xr6 z%v%_ufLMha4Pij7cp!j<-(g_~v}zX`sYsI|J1hhcTEgV4!Soi8M@W@2ow3Ez$m9|7 z3^`}0%aWWKH!0#N_M-X7;pLovJ_W&lIl{^0g>QZmaX$AD6Ms&_O@zD~3l|Wb0A4sw zkZ|8AZnEePk(3xX7=MBK5H5cw2p#d zsxg3WofXHFYJb{iFFVU_2Njdbe0F_~nGl;1Ab-99H~98M|9(QK?>;<&?mm4#23}1o z@!^erbOKXdiRfICR3BnH0AL8nAy5+#n+L(}a6TVgV=BZe0Bt^I62}1el8Vhst)F%V zSR*jF%f0^i?guJv`me@$HF!=ki#P&5wG#vUqK3UGWq-sQxz{H>RPe7>vTRpV`GXfO20l@ZNU{s_4wlxqa2w>(E z9-upgWq*y(0Qdx$1DL`p?|{|1gw=SB>1vI@>w+q-#J@+0FR6Q9zuys1OG`~D1hA}k z)D`up?1P}uwX6)FYN^x+U|P4bQVN^8(Mlsd1e&ImI8lj0DMfTK3d(MRVu9$~nq*C* z)QK(}c^iE11B1cuA6T&-BJBLYO+uNC&{Gjr0Ok>E0!RQYkoHrG59u)`ywN(AWV?0e)>`9>?H#T?z%HIq*3+`~h3{ z;rO}b3zvW>roSG4LtyC;kYl6&{ztcuZw@YlF@Di%UAX;%0FSYTfUW%;xXH4iJ{Z9` z1AjLt2)Bd1TZ*e-7=hUJ{Q@`lt6&&K+4cRR6~-T&0O`RMptuwH0Jysfh5@#DKgg?R zf)U^jyY0nX_yvKiFBpAbuiK3G1fw6;=ofE!Cm1hI3e(TQ&^$&X7<0@KIWmy&iM0A6 z7-Iurd$iH3V9ZB3%Z!*`1jDlV*T&p0f`2hK5N3djU|4|s{<&aSfP(R}U?h%^NX~*0 zIZCrk=-8M;%iQ7*q!037`~d-rKaf7i1N9SDWNz^X(l&?A zA23w&u|F7n===fo!Qu}_A9CXlxbfTkf$X99pZdeUG;U>pgf}V#00000NkvXXu0mjf D#<%qI delta 1080 zcmV-81jqZL37rX$bbkaBNkly^iBH5P$_02KW|+B_QWw8&f#Itwk76aqqCm z1v=MPnBF4I6KkH`pMPg?05#7qfOU?V^ZdK7 z0K7;&00BTe`5r^^jUOOVc&7+RCM(v*6Z=k8jIE>wm>oDUmK~o`nzGf@3XqCDA7w;i zmRaNQ9P-cKe|@5rV+K;T>Zjin0CW5O&z}`uE$i$nfPH8+pgPA25Rq+n^Rn~&eh7q_ zDCXCF%sJnV0Dtl60!-lT@!|7?ta<$S!c_n1hcR#$*Zku<_2L9#RrBbal9(TSX8_Cu zgb6eVBzhyrBg6}1jTz^6j4Ayw5pWs6myB=UDE0cFfeir0Q|{G|@4vz1#{U|KOJkoz z9#H_k?`9hK!H5GOBHD_*D(GxBdt)pBf!Bi4Mk!I~E`Kow$R1ziBj0I&&PRDgHiZUw z4@}KCtP3Lz=Y4%G#sEQJ*?a|{bw7g@DDmC~eANAeG6BUVEW!PSve}0K>Y#` zGnv{e_ykmvL8;p+l(0DhlDPo}<-LSfkuheQ1Ar0%qKEJR{ScNpLJhzU5C;&mbV5m+0fENM`at(m@d?uU0jr`JrF{^zsu8sYWFw>; z0Ys@z)KWrGw@NCYO`vT%0fCyAQc9%FDWvQJ*cOl;E%G#slqcHWP^DRM|Gx_wgD)JS zKzN9-_X9U^_6LVPTm-~vAhFjDg8V-60)%hhdw&fCn)^0S{Q%!pzEwi9o*JYBAoW&w z0nBvo6hS2=JFU`w`a|inx$dEf1Be;>xl3r0FvshXARz65F08FZ4 zkK-=@tQ-PzY}H?XtM299!9GCH`$eaeD_>v@2zZP&WKi0-z$DKNpwWVH1|}c~_d_5P z{C_GKS|A>7fx8$E_p4xNMHv7wv=;3TP5|}b3ShhAg#kQX1w#Y7TL2n)eIpnFoUpq= zn+v}HkPii82<%mt(}7?Nn>F~wx3m|G=}BRReK6G9s0CvIeMF25Bz#4!z6i$HK*%0! z^ePyOQJ*DR%rAmrIs6-K?iazBjsT*8i+^BPfa2*^Ff2ex=vgpQN0Ug;f)P1Vvr6&a zgtEx-4FFDb{4&R~iY6XlnN?^9whF9P6$r+%atQ{si0l9W{O)9-10l8{P#>_R zm#8W>0QI2<)|=Ai52z1;_J>9k7Joo}5C`oK09gD1^+6o4o**L&i$9<~^!@-%wJ{j` ygVu-MA3z^0{-E`t(Eb1izs(=e9?JiyKl}qUZe@V5?mNu@0000v(qi9Z|0 z1He@r4?vN-xB)i%%SOk}*Q9tK?f%Vc4-q%?Rc$8Zd zP9R4(1F{zIx@ZB{e?be#egi^BK8aeuR6P%2Yy+&FC~Jr~$uy9gpt#o0q%{O%#{a_X zQSLH-3AWoBC6p=nO6i7i5UN#>6ujMJ^ZAj5rB+1>4k-Sr_NCDVvA6+bTvb)MH3khB zR>7W``JgCHAmw0hrTMA?ObD@mZU9G~zs)~`B=&+3rXT_KT>xC)M`I7*k23)Kfmq@Q zhLIOg*BW9=;7{kC#Z(>$H&9MY>I8jpPvd$@3!wb;F*&V)tvqe+dOjsJUqqNw<#SR` dIsWO__8X9qER~uxJw5;c002ovPDHLkV1lC6&-efU delta 545 zcmV++0^a?)1oi}wBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00EjwL_t(|oZZzsZo)7a2k_KGrEC>kAeb;P7Sn+>d>L44*qP`N z=m}c7MN#^2P!9lCsd@m0+@%iS_=%&cTfJoX|M(tO6oTNtoer)~?^1k)yQDt1_{I%- zM4V3KtS{m*(2=7C>Pi5#V}m|X04%H~f2hgHoCCNw!9W5y9-{;rH~HNOBs#!zs&%kH zA5y)5(E|WE#OIRQ8is z1YteCGVz?2aC=LT@({5Jm#lGqDEn1KY?191I4ns@+zTmaY) z#1bbkioAfj)(~3)e>(RpX7Yt_KLh2BNu8iCzSFp#(gG+y|CyZEFs~BjwE5QaDXDo8 jVNR95lX^q0004JNkl_fZ2fI$12LQa?m%A_b=a(eE_kh)LY%n`g3?gQ2$n1Y& z%-eh+8UbAmd!bmTE}p0a*52q#JUd~el3J{M%B-o_DfcA^DPG*6Y*M%0R^vzRJmF;# znz0gjGJvY!@ZSewNx8xOp)->WhP8}b& zVe63QSH^i(g*xohs4=X26a@u4q lA28EdL0vvrkLi#3_y&1P>C3WDQzQTY002ovPDHLkV1iuK!IJ<0 delta 370 zcmZo+*~2_Rf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)DK42;^IE{-7{oo}Zc%sXPh z;UYXi%iZYk|Npt{<-s>+yxG{kZBE$flmm~S$R5wvPT!lmdXO{0|XN{mUaLD00az4L_t(o!|j*BisMEQhJ``U zkFm%B&)I#j?rCdu48-yp=C*ix_B_teI*PH@DprBK#xi+;H4z~XkYldzQO(mSk_D>*>#0>rBsMM7lBnG=J%NCIf40e`KPYYB5G? zt-WI)-|0FMz-}4P`-KQp1%PX;&$F2XRQ9&81!pnU^Ct3pzsVdyLO@k`z}RHC@*`BV49pI`pQ&m#d; z(+|J?GdvPGIe);%PXj-QK=KBPdJpJ4S}%%_=l%ka%v=vZH*ui8IqD0*#MR5qD}X6q zfU1%J`<_c~EDyU0bF6WgBam`=Gy(AN6+mg&5IA^%lV}+z&r^5?CsOtj&-g}=T4nj2Ng?|m;mUGkjUILQ#P}tkG-EMUL z8DHakhZ9gBd7a}>^PqIGg|P>FYs}sQLUXmw9JbV&eJuhBDTl!PSAUkvLb)A($i<@G zN9v~Y#KLv878@8L+&!8Tz-}S-m&zE(Yv(#A1Fn7q&~$OY;hge>J6IeN>7DfeK(YXW zE=>#5On)6d(c#XtMX7@0N{yknwoZRig=tOM2EfXg78TLrw*bs4I8Oiu02W#Xq#X=b z4HjfTVbWCxF6VKJWfM#>WX9vT#F-PB^S4yPa4hLPVT*piKx)r(RDFMJlwaUs1Uek0 z{$BuUC9=;wFQ8JkUIfcvOgZHsq$ zKGTvVDJGW37URuDhD&Rf!*53bSF(Wc<$iqX@sVb+x>gX7-;X@t0 z^?$=({|<-{?I`aT$6eeXyn@L0z>7ZMMK0;V%zYRx0l0bFYV!(kQ84`Fen~K9&$oX} zFlNuUe@rmgP%a4uQg{`3cmb3N1;f9@C>Vq;Hi18QLm35wCf*Lt0CkNNPJ)5Ln+Lan z@`HX94D!JFsBTM``6w7YIvVIO79Ow_6OF7()&YeBt7u@Pu#9Q0x!T2f-gkA@Kg7sFD1E_2FCfhyMWaaySA!1%kx@0000< KMNUMnLSTY${|9#f delta 1086 zcmV-E1i|~M38M*+bbkaHNkls)Alr-ussg|@ z<~K>o0hPWhbU|6H<)#Td?-$u1$Py401{nP=2>?o|ZB;0}mdR0O%n}ZSx^<g)&d+-Ud4IMSfG9OR0OmEm0`={{zUT8;nRQ5|ege>RVZh)!7N7>_kAKIXY~Q}UqU4gj z7~>rPMIn-eJ(hdDgFqk)=)qOs`NA) zW&+K{s_ppG0N{!j5W3ul=N>O94b`=Pfc!jAgJT1r5s$wBxN==UK%V>Yx4%Y22%aeK z7k|Ss>C5dO5)3kw zOM-zEz6w0P0zxeX!*5~|42M&!7XIK3WfBax@^&x-#5Gbl3kC{rv$zd}Z}gL3I1kKQ zwJl-hlVJ2XfwpW|zzar?H5k8ehvF<4J%6X20Iq+S1fwHhSy(RWj+0#m z9F3D91MviIb~>UAfDi^BBdtvr5R9jkfNrt_4(N=7U^oPFtUr)G;5+5WrDpws^dTaD zfIc*wKaf5&ZjcCmKOMh2l2EVre-i&|^ciE}KK+Pu ze##EJ^aIi{`j;KR33m~9Bw)-T=T}_|oI2vR4TwldyHj{~qzq2F0QQ>mN0@T!|DBfe_nUtFLLx%Dv+Sq&y`Pre=!nrex~JZQUhiL4Crx(SRkb=={o%;%m%MgN(X0(dOWgyo&H}ip>*}+nXvP+y~;KBkAVpQ%XuB~c7T!_cYduu`MQA zfBLq`ymdWGzS&Y>6<^r%wpf2{0BQ&DA->m7*`eM2+|jFm^y3QJqa-`9sR@zshI;-W$BnmM}o0m5G!);+o26G-73e_dA!v cKmEu21TR=Ia#lN-rvLx|07*qoM6N<$f|-#G8~^|S delta 632 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 N002ovPDHLkV1iue4vPQ) delta 1148 zcmV-?1cUqF3E>Hlbbka_NklIxU=5{YjR80aH(>Du)MUs3e|I@~kd|D$B*M3L@R6cvym`hF%qisbkG zqUc|JMw7|pED&?fufpNgcZl<(2*t;8O#lx9sg$LuIA4Z=bbs^4m>)s_lK?o+O%?>| z3IKm&0!c7a*8JQuM%vWK;0$n`Z;%0yK$bB9lw=hG(#)p7^V*-|t<1Q##JAog2$=0R zbDjjUWJ_6p*uTVl8d`=nyFY*bbpt?nvt&v)KmOJL5FIdH^?(mA4Lw+?YJqVo-}Xk( zJH!wCu2I6~fPdY0wvB1MJ0#6qX*+-%0Ha$|U*R+8CNSdZyWGV9p4-lWGD2;h2`Y8wpsLekBr85I-fx9kAh7;%m?wXI?R;77=hNyg8 zN*O1M_VbKa(mhyZ1>j3_nVABF_3Yfw?r`h!pn7Z+Z71}&!{CItaKtu<-=CjQiV57Te5-3%Q zch58cFkyc?Pi_KL0{ev!zYu!Pg%6071(X&_`0t;Z5THdE5R(`u3YSlag=dbjc`V{Z zhFo$b+<)`Z0;Wi58|lQlC(Z&30+v)WGgEoi@qpCc(I;XyO%G53NGLnCP+~Ed11VH% zVK4R8Z1Z6fxC-Xk-g;&XuHK-k@0!x!L`hlb(r7&Z7%GrSwFa3a#6K?r3k#MxZ#-!|%`rys!UP4=Tqu=YQfOx>Q9lJYG?i4BG)Z$UA5?aO;8URU95Qx(n82|}nIpS$;6$dxm z4_tQ@G-N?4?EudG%K)H$q9QjBWU02f-s|_A#{qzq_22uK1As($lhDiEANyYpR3*It z+kfwxzdoZK@!1Jjz3q)ae$l`m4#x_)lI#8$gdFZZ&X(-}BoMv1M&e$-hhWUQx9Jc_ zjTMX#a3O9b1mmu0-$GDxAAsKd3gkl|K25or@7}KG`)MnKJ_Ha*!0#cVCHYdRt)GAgmw3E$AFnq-f#O5RzUSOuXyEXThDmFg~ zMjWVRYEHjRxBwvBWm-T`XeyS9`>$6E%$5pv;PnS}a{)G z{y_Q=kw0K(na>|cA0qMxW~BD{1L;FV{($3G`22zNA+r9UMCS1a(g*ou{b6frk3Wz; zm?!cF%FyEvqz|n>Kp*O%KUjTe{Q>&m@dv99we<%yexE;(Jrw^@fA|7yMpg95wUK-P O0000u5)1&sxeB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@1R`cg zb~*q60q{vgK~zY`)s??)+b|Hu?WN!tCxM}iW@^A|1uq?KT@sHSGE`faD&<~;)g}Ri zLp$hJQ@%F{`YJ(pFMgL&e-c|HB^B+|TknVaKHibXUhjX4{y;}tfBux}Xd#L`^-mfL zT;}=9VANP(>T6&M;}1;$fUonQHQq#@913rtigE9b-#dWm3*dV^=7~$8iuokN*apr3 zI3m|TFb)+awuKwT5LLv!f`74f0PmwsArMB{d?an)jNMiit`vKhNXx?T_SGbW%(h72 zIIg+?_-FxxIrIm^T=DRV`h20$Es7IDiFhj zP@AJhs_2IS^oN^zC)HgYAfL@sgkRcEX*SydEdCi7b^#Byr$f#yg)C{EHpo>SNX-I2 zpW4U$C^bNmMvcYe^Y?_TkE@VlVkQT__PcdmhNOpdN+rUxLPXaQtGt zWv#JP|3~GYF(R&!^Jr`4^AD@6F<^RCeXFl?QsyZwOrQ-k$8RKwF%j1m1N;C0002ov JPDHLkV1g7K{#*b6 delta 640 zcmV-`0)PFD1=IzQBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00H<(L_t(|oYj@TZrd;r#-*j;SSNv@jAm@WYXmPDZPAIw4jHN~ zOO+2s<(k=|@n; z0Yd9A{=7HAnbOaa-rfYGSOOz7__7Z`e<+qZk~Kc%H=YW8RL3B=B@Z58^bW)kDag!M zp^nM05`_yKBSeHC5=aIa7Y-2iuQ(Qh=lCAQrz;O|kuPHyRPkX<7@X#p$?ZVd%o6+(!L_yOs$$b||ue`*(fkiV5XcA-A`L$Uu%rcnn37$u3QMQ13Y>=Fvl$beg0!0 z@!r?~eEDc_^MCg`OgBwyLOda$-RI#^y+kLGm_9=1A!+Jta{ a{qY+li7^r1CxjCK0000}0004INkl#8BU6mlHZfeBkm44^(eQ^b7=bwK| zH9G-uPguI}VMf7=_W3TD^i+&Orwq|H&w|$^a4^L*OJEY9BG%<0cvS8p{3z^P!o~D1 z7by7?h@QehZKbu!2Py!keWCFu7hLfjILj+MkQ>cz}kQGTPHSp3`ghR9LQqIVT?D6u*Kh-y3<*tKBw|m zc%14hf&vA2q9Hc+WJVgo_Ro!dVQ3qW0-{j>#RgAE0iCxG>p&D?8VH(%tO}-iI^)1p zXuZjjrSRcZmdt!qUip=i$OqeY7#dkeK0s{iUk{7;o$&Cz$C(c{x+jY>9~>qKvUN7| kA)1x83qHVcZSTy-FO-Y?Nyz-KKL7v#07*qoM6N<$f|EJL`v3p{ delta 369 zcmV-%0gnEI1iJ%}7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003hNklVPi-*q<6Ru0}Z(&);?}9f$NTl$d}G$f+Ow-n8#!w&HzLZSq3ZyldGiblo5Zk z;cy)-e6f;UJ4?whJlI1l16DmZT=bish8v3Px~iI~sd9`|Hv=9D3-hT_Rm&_1!R|VT zwyy-IO3XqtVt3$KXL*>VghmIfeksli#I(~F` z_<|oD9~OQTKCJwph7U78s2%yvkHUwQ9}OR7eo)7Ug&!>+@MA*NALYXno--X~^pO>| P00000NkvXXu0mjf5vHn^ diff --git a/graphics/pokemon/furfrou/star_trim/anim_front.png b/graphics/pokemon/furfrou/star_trim/anim_front.png index 117946c45de769ff52acdc750fcc617047b832bf..2dea3113e3b4085ea08faa56b34ff9f05e8a9503 100644 GIT binary patch delta 1098 zcmV-Q1hxC539ku|bbkN`bV*G`2j>O{0|Y3Bou4EC00a_AL_t(o!|j$&ZreB%hgA^p zvZxLB0A`%56+a-r4-yF&8 zYS#j}*0C4ZIv@)HlcK5$49}JTeBUvt@FdxCu5*3sCAL-dfz}w#_1Zhh_F+$lYpp5K zh~kM*mgeo@kbmezYn`_NChvPdQUCS#zex_@_Bg?|3kb5C-~O?r5`8;ub1bSZ@b=O2 zqwMuuyBv$+p)$P)3geBk3D$wyuc~(a?I5BR14J$-UYK5%qS3ijw#hpyw;KW%_8ag3 zVBcLZL|-#-T*cCuYEMxRm>4{DFGo;o-*b zH-h3}fJoE~V1hl?2Rov?fV?qo0l6?nWqZTDnL2>DGDbz4&e6CRE!tdU{J>Y>pqT8b1)BXHc;^&nW;1;_#H@O(2O#Bmf%x zsSwZ**@kQwunm4uzM(9OyBI($kchS9Ifl$V0jMKUd{#vodjL~XahJxaDQi=Xfuc0! zO|@gdq=T+_ZYC6684Cy0UZAY@WsOlTop`j6#(&&%%>t;62T(TU8Bmp!*4&!)aFuLh zwnPBjI;0~&sixjo`vwuP;-H69;NP(eLoH3--B7AM!vOnlKceUdKfeUymtb@RgU#Wr zU?lVJ2*x9hxsG5AfTBJe9vyHJjGlqK{LgL<2b^;HSupwr^8Y7mpT6L9I|;_nKwdua z34adYBp5>jiK3@3N1*M#v4N=H-4rK(7#RreZoTRX#?U|*n4L2aKIR#)Nx(n=tUJKi zKwv1d4lpth9OBu#tZN{G20$X;$*zHjzJU~Wg?b7b$i%Q7bPZ%65EE0&j)4e@XmBT$ zEFdQXAwG-yx0-NVY#5&LQLvxUaAa zWJCT?+%;TTG2Zw31M33=HT2=V&mUMHV)h5t2jTGt)`yt=fp^5?4{ax~KalbILqiKV ze=uHuV0}3HgYo(U>%-9>U-bbkaINklO-ZJBFX_~uCCn?nl}O8MqUH}>MF4V?5$^Pj`r(2~cRmkGWP?qNH>6EHeDOI!yX72}p zu7CgIue1Pg-+xW8?*oGD?x#O3<*B-#w>9dj54?T0JaT)xP_9O;pDHuRkR#sYHpMzn z`&QLqP^BQEH3LMhCSI69m7-CF%x%-XqFcGc7`U?EfF}UQ{(>RVtb=P$8;bOLeE2rrPo0;o^@wLCH8lBx(jQ!4d0&FOqu! zd1u@La$`)|_Kx>v<^bZ(7{{Y*fsK3R5)@uQ+}>kz;{(*GABe;cI35&XUjzUg0TO!( zgS*pu_J5W@Y=M6&Z~Q=nJ%f%_ML_{T5T~cKXaYq5nyyTQ z18Of&R>!hNlv`(4%Gg3%2Y3^s?0f{`x%MKGRm%=H9g z1nBy7dUn8BFa`$l`fs~Cop8#juYxf&kbi!&_T@89x3gf34dnF;pWpz_f-yFbD0=za z0e|i8n;J;|vzy}V4-*5y-L2Mr!5A9|1MwvT;bWcwn+6O7z@`UG4FrY~_kf9k;1J)w z+x87a&hS>=}rlh(>o($pUgV5aP3Vc&iC# zC}#uVORq_MKxZKQ;m2Kf_i<<-lUp(SxPRTA4a9rkq6C4Ajtv_db7MeMs0JSRaJPA6Op}_6PnV9)D|P{@du|5$=M%-#~)Z9qW`Hsd;#6`S%1j#yz>A6002ovPDHLk FV1k(51M2_) diff --git a/graphics/pokemon/furfrou/star_trim/back.png b/graphics/pokemon/furfrou/star_trim/back.png index 1e4dd296f595ce138b8d0646a6f1af0e576e615c..8ae51bcee6234da40bbfa6d17f48538bdc5af0c0 100644 GIT binary patch delta 529 zcmV+s0`C2*1>*#eB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@1TFUW zYpVbN0mey0K~zY`)z!Oh!Y~v7&_oe?4ao=8!0up+Hc^+vm%X5}M?z|)egOG|vS(tf zviTFLeq0TC`H{!mD`nvxe6JsI9Or+<49R#MNe5WQJ{ZXF?`aw9e}1t)U_2(=HV-LY zKiGh!by`M>mp1T1z<32!q?q*7pgy#bF8kVCuufotdd5HbEh zux8@oZWaKE-RDLFM*tJ}SS=x^ywsa;Ays>nfa|~mHFj?j5DO%z>k$BP6C^&UfbI0N z#lY9900Yvku?#-}e-j+FvydPQ@NRT@0`Q}rmmReLwT-FE03GnAfWw+!hk#W>W|0c& zbw(;+DyVBHLoi8z3~kkI2$pETVPF%U>F9(?VNm{vGE&MQ3&8B|f*Q9B zGJ$yudHw`&7E{0pr+^!3ptNr>8cu+?41+P?2@%2sU<$CioCLA>_9sBu9LfQ(2*&~S z)A}mCgZIqZE!OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00GZQL_t(|oYmF6PQx$|0ANQJJErLaU|_GY1telgeBEgUI}#E| zJV5gZbnnE7viT7Z567hm@n3#sPRi2z;yeG;A>@C>3B!1pNH00YW;v4I9Mc$A!(y}L zd`cvJ9!h?78Us~!X^fIz#DEIm{1VzIfB9;lhD@Q4a$pET7Rm~~Vgq9^3qbIw(UY@F z2b{%V*-oL2^){MG!tE>oinz~f4?F>cAmwfeobrX=L;|JTBLeLM3T~_)5v(Fm^b1ko z!*mD=yVea*YyWI1NWChcps$fMM=>oR1W*0T%~>c|1hgF;PXIsn^Vm@jSl^hte+*y& zodZPu{W=Ds8kl7+=+>FJK)Il+;S8aWfU_C?Ry9MY!UIHw0*QWh_e%Ja1f3mjU4Z`^ z_hry|_Ic+4+%dZjQszc}9{jw!*|{<1ULv5jPp``(_{mo^JB)+++tis;hD89M>|jgK z0Z_}awQND{pL-PmBZFIpg&@3zbZ9yQ$YKrME#*kf~*wnE>$o0n=A0M>q!8gcWndwHuWe+YX0 k_fZ4A-&ebR6%8>Kzwyd4tHP__O#lD@07*qoM6N<$f~!&d5&!@I diff --git a/graphics/pokemon/furfrou/star_trim/icon.png b/graphics/pokemon/furfrou/star_trim/icon.png index 7d571808e94dee49c62ac95b118de567235051dd..acb3a5ed6ce3dc7147e350027ea7111c812399a6 100644 GIT binary patch delta 501 zcmVd2hDYhrp%MdA z7kHgka+Q@KZA6)CTaJW4N^H(f;+RTo6<(73xjX-N_eIgQj*%DNkh|v~6M(s}&!T_- zt|6TQ{{7l^A!-USV3H|W&fvjU;8f_O?L!3bC4ZncFtMS(S4)t2p-kS2JE z=madb1-LPh5#23>vCVTzF+}t}_Pftq%w?npr}_wjW5ytm7tRHj2DPC#&1c-8I(Dma zUUANSw}%=UrURh@X!n>X#{ofNq%MEGK;n$rUMgQz(UU;Og^xH=Euw~dp*;xf+>Ax_ zSvE`(?=&KYbkiFT8T0?x-G7|HBZ)i@or|V7Q$u#^*1mok=5=G4BDiFmOXiRvA=0kY zjffyVnL`RAY^I9umsy%6ShH|5P^Wfky&1ImmF r`A|SD$N?X8vG~o$DY@W-Uzd*`UCt>JZ~*Ik00000NkvXXu0mjfsW02a delta 423 zcmdnT@_~7R1SbbG0|SFkKia*_JQ+fxS^Tgw1Gg%&Ldd?AOXw%MUH$yvf24vwOx= zriO+Z@fpD%R64gk>T&T@sJ}kLh^0Ga-K;BuF*{GoC%jD#t?~c-;{WIJzs%j{J?E`H zC^IU3P-am2oXqa>#GT3I$#Fr3i9f-ZapI3c7KfBN8AgVg@{9r#O^WHeg=M4 z{J8kXzeah@qo?}2_@(W=?C$*eaio2!y!?*`e<~g{e|kKV|I6B%AFQ^*CzUo%Se~Q` Pj1dM;S3j3^P69ie-Mb~PJIrm zz;UcY0_5mt>D1@wQ}i{8qDX))?j1!r5+%lKTl5Aw$o z7yc%2`B5FGfzk%QuV9e@{EqxaJY{mIJ?Hne_dc@#^S1U1{ka90^{su+0d?!Y&uzmT zokIAhMGh!576{sA0jDeYo;_d?iTL(G^6wk*sBDTqG zWC8EKBCvUs=X8U31oSrt@&I}S055+|R3>?^TsShOQxz^sh0IVahNdUTtyElOHHh`Ca z0M_MTllKMB2tLwZRku?KK<9%oSSh;GIHdr+Z@l!P0*cZk09`{2gAd_=4orU!V<13& zd`Po~j|6DjKTk}}`>={M&)Pp@h~dp=f_9Q1ZMHrDFZJL?EOi^fX}`4=0e!v=l05UI{twK@5LmY!sP6znbU|yp7S?WE0~?*!`;YPd6AYwnh?hF%OwW z{35DP==XM;X@f6Tp7~;Sf64XoyGz#f-~QX*BDk_v-URI1{&}1pHvz_ZPO$}mFB8pI z@GGG39pyvK$4+w>`GPv#o+p}*>2=3@9f(BpEsvo2Dat9FEHY`xMb&?RXa`ZT)&_^0 z94_FXf~uWE>~qr!vcUp?K%8XkJ+y+XzkultOSg`KY#8BnRyshvwZ%+(A?7du+>zEB z0s1u`z!V3f@IZr5_5kqG^~-z=d)H5BLnG)FaOAgr0JowC%q7h$JL|`QK7ay(gu||{ zc_@z_VCV~P0Tl6?1RH1PL;u1A518>ZmXfy84^NKtO~Dv;a&2Wlv#TfrnIK$e>fqB!I)clS-zOb3=)M z)4z&^M4%Z04CO)H0wVg8CbK#SRT~2Ef$NJDUifLul$ozyQLicR$^5nS14dg1a{bl#(Nm7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1L8?UK~!jg?U~zh z8zBsaS0aOEGU@RCZ(AJ@3+w`mlZ#AiUDRvG|7Rgil6o9(`}GF!O+AL@eM)H$*#KCL z7~>8AhzcMjB9?FI1&|3MCq$&Zm;_dVSdu5PJ-s>*{GWY216-Ib?dcC_^{}fyvK}RP z5{zB_L6L0g*f+W=yj$`e1~3xvcn)qe_Me-6?onfK`<12$(NePjS8vM6iaB7Qg8a$qQ0I9mEPCJ|9Fifr;4$$3HJ-|=D@FIYI0-ys8=SO`ECV--6^RGd_6sz#u0rGcz5CDW5gbeUogw5`R zs9P+DU=FDC{=`>G^wT|)h6E_8LgGUVbsj_xO|~60KUqCKeo2IUNs8xMFZILhTaI33oYVNlH-JM z8oB&gk_6BUqPC~`g`Ok&gV4w~@)O{V#d|=K^Q=yP@@_BFPj(umEaz>2n@O5Tcqduj z18KGm2ZZ#3=xuL%+uQyp`{~Biww}HXm}Tp03vDg&eSr3;HuP4}lu|-&;Av~^()Y2( zR=z7?)|vwncl*DVWG$3ZVw84r`34s{QLGTtw3U-?(en`MtdL3xQWD33p3s^AZFxgr z$^Th@HVpMv8ujH7d_u&!uQk(K1FJ2L;3LO=ip+fwL# zv0Flj6M!~oy!2TD`n=w&S`FZ^x2OFoysb>i*t8fNxe%%%ssEc3u+%g+fO@r#0C_ds z0zy^yUC)iSm2eBtE#eE|Lg<OSvKdgJw5|ezkjX?|D>_oy~I~vtM`YCJl6faP$IU!cwC_OiQw a-~IyqKRPiH4eVtA0000O{0|YkplCYhb#{f?*Ay5n>HwQ}(J5+x-MI)f^E^Wq*Y)!4n^(X^}>oHM9f+ zBx`G_7E}Z1yK3{w5L#D-=7H-HbmxGkdb{S5Oi6En#t|Hl z0CW{H6sCIMy6BhAMSeO6h*^Cy=M?;EY81_Upa3EY8~`#0U_PWU2DIl`4_iP?M=TTr z!1pYyx?O-d4}X+?cPY=|5YRz^XtI~Zd1Rya|E{=iK?)u`x$cywaM9~3Dg;Lgy zG5MiKudqQhM$Qmb$^$K-)Ss>^dm;J^(LYxs@A{e?d)&?&qJJ}Ch%)G}2lBlTJurbe z0|Xuud7jRCjS$#b_$%{aAXf6s12vm6xiv*^VlPB2`h1j%2c}l+x8VSYN&7$DCxFuc zI3uDCh>rnhvNVtF?<{O&0JxY}N?H0Ea2f_5{aghSCE8#tihl51BdHZ`9DqeHlHvVo z_qzSPro1mOgbbbkTYNkl<#uxyBUpAPRw9~85~HPxI*~z`>`=m^pB4C`x>a%#CA<&l3+Op z(26($=`^^MvCI1eBsC!sbD^0H5f&$sv`?e+5jqh7$x&-+7=JYY@@sv54hSiwrVc<| zzdQwEyqUG6%{-|3^Z8pqWYEt8s`}+qsFRH31++$lKmyQ5$dRc!kmCq;$buE`7XjNg z?{=XKcC-z$b`Hh>h{$jOjNe2x%twg@#iR)bHn0l-uf~MmrdyZ82SW)z zd9e&)!EY>Rf?XzGROyPCG!Zk`r3iyev*|WmftaNI({POdGY{MlQ4iudFhy4CvHP9* z8|eYl=DiS_{tQeGg^%`Lc_}K?<6&UwE}q#)>JqmGVCjHO{0|Yw)Bi{M| z008<)L_t(I%iWSO3PLdqhTjb`dJqRkH}4@rvb`>nZ1x5o#bfEF4}=z6YHD9KuZWu< zW@zE(Z_*@R*Zp+B&+00&4`3;iX`ycJNxIDm!G>0O^i@qd&J*SW94CaMGG3n`X( z+7hdPGCJTOOioi%O&kRU2R*9*BElCWewL1^91-Q|=vC+?|7DCsJ5RZi>BbSV`F+G7 zuN0bOuVu*gnI2NnHOh~BPjrl?{u@_u_Fa! zC;~6J5L5txojI&B34kDCG`&fqZt2HpchEim{A7}#U@CLeeBc%SUO ST7z}~00006Lu^0TlRnpX^YohCu)T002ovPDHLkV1f}*c=rGR diff --git a/graphics/pokemon/gabite/anim_front.png b/graphics/pokemon/gabite/anim_front.png index da2701ab0fccda38b77e74d8f54fe7c403cd545f..e919d96c999a31ff48e331c126ba0c768e380914 100644 GIT binary patch delta 1433 zcmV;K1!nrt3+4-uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlBJtzN>0 z000F^NklCPKh9+rPy^+pr$PF zCjgV@B)}LDDt`kw=`S^L-u{^q+m`_r)B7+hu=v9-uZ6DyPz_*#HNPI(_*hZvq(%jt zQn-geo)F?|PoorWy+ME>pvz|75nJI-#h1Xm_Q1FqhQHN(T!Cj5#g8&VK4S$rUWKP% z%TKT~fX||cgFt}l=kp|rtObv9uK5T;j66f&#KJ=*)_-hj+5?Py7Xe~%tgVT{Bv>ns zEd&A)=dyAnkRPqx>EcOZcGsimJdS1I$bGT|=){(qH)f*qn;7AK=_f#;84pfpCTcfZ zvT#&EvEhleTirosW{z)~0ahI>d@DEY4+9(qgXfv^`05>5g9Xp?M?m|~4^)5)O=s;RMlL?$nKg4Pp_+~x}29SX;u}m@|0=nRuEb?OyRm;Ev(eEy(83r z@q~osXgdRwGknsuPJt6fk`~e|aVZaJ2(UC@b}mO3%POI%{@px^Z85qwDG{kXh*5dS z(tj>pOpzD7G|980X@EnTc6(ZgpAK&RHT|i8IGU<)=7AxmtDrDG(2>Z0))>lvmOn`3 zKg%Bs78HS3b&4x zx@So5tL@(#ua&w}eN)YB@13GQVDd84x6|qV_D)5xOmR2Rg6x4!GCYi2BMkRB1lbOQ z-3ue|UW~--b{4Q+Ir#(?YXPf*IH~F4iqx`(l(ZTzdMo20az*JXga{Bg<`r3bC zDE|)L2qprZ_@9-5{3lQWErFwMj7HRH#n!+-fTkriL5A@HZtzn3a$8w0{%j2dLY%`8n@RN z0rn+uMlE=7i3Wnf?bv}1r&OB^fLe)TRoVj-cWBjIo_}(*vL#m) z;K3g>?GFOwxW#wMVKCkAgFtmuo^z9EF9;;)D45p%)8W6h_Q1GeG`a0{4x@k`FnNz_ zfX&|M=0VTIQa_~Hoo-?fOz9|7gczwU?h~A;;*FQ4bu-N#tdY{e=2VAqGuQIPRKVW2 nn5vQ+vr`QShVcJ4Mg9+@a1!Tfj9dGX00000NkvXXu0mjfNpZN_ delta 1410 zcmV-|1%3MF3(yOYUw;K#Nkli6H2c++UO8Br!1zpJ>()R>JS16Yi#$Bi$DlNdokL+ z8EaSG-H}SK?SNp>`^=kPZ|3_YY? z7*o`t$$cMyec1fU2-t9Y4gr@nn-4U=a#IB0OFj-!2k;a?m$QI{eE~-RoWkv@>X6Go z0xB>Jt_?b5Ln{YZqND)MfijiAEzZ=!xbp*}PD>?NF2spdgXM33d@5TyL4FDfu)$v3 z2p#;a>2V6J27m5+_yU14r8GZB)i}(D+s_c-2o&dt9bLH{?$%lgSTw{55mp%f+-Ttl z!WhT)oyt(2FoJ4N!nfe4DL4~=PohYGM8LF4HBA~t_L9$pFie6{QsxM}vhh%Mt>9?#jz?JwN9P_{n*xVG7}x0 z#|U4PehO4N@#u7BqF$$~3P%?dPfo1Y9gKEn=J31|VAa9W*J{zNB*DvI^gVMFpT42% zu;lx#G0=P23Uq>F^1-dsD3Z%-zVAP*rod^H1nRSLK-vP=iTfl!_Wehk;*M4?7)uY; zec#4-^nVJsjNxWIqBL8(y_jksa&b>NZW{-;l?Bc&0Lm!aXOuH0Nfxj_)4($hjRO_G zQoS61zd3+A(Fy`#4Hkx+Gk!mtU}z)I#P}}2!k{6pc$oyGGQ_*P*IWq|;0_v|mjkSQ z+<@!Py)e9wdp%&DmmNV}JzW2D?@JBP-|D#p#DCJ&T*u7bx(|2H>V>*oR9DifYhd** zH`J}9tV%5Dd0#B8HjH;i>VNTsq-}a2u!MN>H#c3KilCg1zRRZTd7=&}0eBIx`X}Ru zWsS1J{oOii?`?xxO&Wt z&3e1Hvs;sVqPP>ZATPk76FiI>BMkQh1d|;GzZOQ|KOBqMrKajt(2r2DmarIz;G^bpJlmP;VqNYkO3w(<5@8XMKA<&QiTph`O3RTb&xcbFtM}Pfp zY>)gyIlV<=`EMU}I%lf%mM;Ti|3KQeIxndLQ2j|cInrK7Cdb?E4{rtz#(gvp+({Bh zODCuhvOByPy;)b{@3S!=h^0S!$1{gFmHNAmauDKj)#w@Yh8tSDaU;<>%=tWbrj_pC zss>)Eic;G~v!1QejqhmSca)|ZN`L+Bti8qzu&01`%!V5$XdpOTuHB04+R%QjfL(Co zQv}3fHo*xXuoAsP|KP?pj-QkF{vQC>UN_%`2*83}FZhE^JW&>+`aehD9<3MrL7>)u z-Safy&NuQ2P%E*mDSLq84&8>A*Z;D1!)qGw;a67l2Z46n@*C|i^82is6?^C#RTjdc z#s>n4q+2k-{MaazR+z=6L{;~*_<{4me1@|1A-~0hyP9c8>DdOX@!La Q&j0`b07*qoM6N<$f{DVkssI20 diff --git a/graphics/pokemon/gabite/back.png b/graphics/pokemon/gabite/back.png index 9ee042e87c19b39fe9f137173ac557715143a1aa..6e2acce52e0b55eaf5ea16b2a08e32b493c0fe22 100644 GIT binary patch delta 629 zcmV-*0*d|X1=|IXB#}W-e*gz`Nliru=LQD@1qsvdzB>Q_0zOGZK~zY`&6PcF+dvS7 z4Z#3g&8`6zZZyk+1&e?jB&lUkH;@jH8;ESS2#_{MNbAnM8v|M>*9c%BXUG+@|0I_y zl|i-;An&I)GjC?rcX$8oxd*s;-|Y_s>+AP$JRT3!TqS_$V~x(;BI1$y8O+yDx&#{lef6WD>wr+@*dPWd9_pzj~Lu9DYW-bj4to+MUz8}4_s zk@_H1efECOjSc2h-*XcCV@c!+`TXNcrUrTn0-VZER$?WlHd5>FK|4-s_aiZNspK5O z5nJcXNb~^M1ceV@f6xA}kyvRL(OYqwI``}Di+*pYNuLd$L|D89;FI7bxyj~fjF5yC3Z7(=0LxiZ zw)rGj{73;5YcN0C)QPYWAx3JI3P=@&DExz|Hl3w&YG0N%n4pafe6V8@%l7G%B!3_yL%Z$gfG{h{ycyns%5E%Bj$ zl33?sxZBcN>O!c8?D~$I7);gQa}v8lMdUW}`Nx;c9_T3uaH>98iItcE19g5KbmDaH zUYZDAsaSNf#nM9>CM)g+A%5*tNROS>e0m)z{fkNnAzRUsJM37h!F!6Z4 z80pfT0D%KqV9h0epc}Umopk_h(VWstVF@w=g48l>ekJSfLK$FXW|FBCkkP{eLL@*b z+!=Pp!Aw09sR0Au1b5ehB^HAN_(nTefRbA^x+Hjq{@zgXeezL37cSlc@J;ZF++_3A zBQ#-!LME9ez;ZT}O}+^he^LMiT-GK{BHW1JkwzuMz*`Squ>^|v4K={4(5Wr}IYdCc zq8p#fHXakJ3k7Mdl4iljCOqQ5O{0|gFEiz}D_ z007uYL_t(I%iWSe3c@fDMRSAPMie|x&N2%z3s(VYcSVZeHCz;W2tisGHV~8qir*I7 zChfw7J3C~P&!1ub@EH56;+Xtx1RV-?TaXM)Topw1*?V|IB!9C^`!-8tHyNlGcw?}X zE6Kd@sK}|HLslhJDA>D-UCbDUnY19pta+aqS0TiKfU*-9p5m4|KNh?Em8O!U)7|E# z;z@d1lI*i{jiWFt8dhygb!Gq`xL(IK)IP`y&7G>oXEPW5{jRgAnFEtdfNA&`0fUy0 k5SW&a5il(u_!pgzH^jQ-fLRdeqyPW_07*qoM6N<$f-_up(*OVf delta 227 zcmV<90384I0?h)DU-eifxm2>CO(> z|d77Pl*O6vvNj2MrlSDXEa6D9DqGNM>Mwyaob_AcLX!3&ieRw4Z?1 zz@>w$NisKO;mK3m#XN7C=n@Em&W(o5?GTRzqR-H~lc?~>dw-XAiQ4@9zDD z(7(1eLN;~{K!DJvrzZwt)JE3n7$!d90D3SUpFn^$i6k)o4g#Wc2|ParfLy&0_?LFF}FYu@Dv`LjRZhk zAV=$o1SX_2n}2Bl;#%7Xli76nix%igVB%zyxw<;;0OuytIFLC?AbfL^rLG>Zp1g?3 z;n8o43*9dH-t4bWNchTU)YSqVgbv0(95P0yuC5G(6ZXN$!#vYQ5P%>)`+m4^_5DV0 zpLDR@1{&X*U}X2X6YN2ND~=5zqo@PCOZgakB>wUD*MA5(x-tlRd`F(W|I=xA9RN7m z^q+3tlE5MD8W3(j?af27x%2p*13hqW{Wn>=h-X`KQ35=PmtXQ|P7Sc)5g%xf$8jKmSpz6{IV*CEaZ)4*d65Q~v6ZOO)W1sP&07a%YK4tT`@kHMNJd{_mRENi$JE-TOcWwxrV+uI73--;r? z_y|zcVhkxwD_{M*sKprGikDaga#xK|1BxVHD1SgoZ>taNA}OXygp|%zATQ?C7{hrD zNL0Y498g?}EEh@&se1j@vb1xWs{7_y=2)py{d(iQSAAlh>;J_*>dCAS5Hc$S378au zG?PLo0Z<{7Nq`EW1R#a517L-)HG@KsW>N^U(k6uS0hinHdzk_2v)%kY zWcnDb4-zBQ2Pg%A&9vv=q(OF1_X@$MS4|h(?;fxl(|@a678QNaD7R1$3xj}AC1HjR z7}kJ%)o@Uq&VErOstYl`E5q7P>Of5(@adnZ5`;E@hDJ$grI7}F`ro=WjZ$q@Az~UD uMd@WcD3m``c%D*R7ZB>$$M}Egg?|7W%&OeJCbqo*00003om5Cs6c&9&Y%4gxVgdt2 z(4lbd3*@eI(S8EOgO(0gPxfhZ7tuGhS(v@Pily9i!@FrIPnnx*~0sv=A#&V73h0ALnhobf2M18&5-3p{O#R_yZFm={KR+GRw?g8g| zZ3&=j)Ijj(^?y3CRH=Z*(-#pR9{;*Lx6KmfMxUJU;5T0i+caI?Cgf=H{ZL9Vvj8v& zAn4J_!*p%Upa4aD^4(x*O91i2#E)U`rGjX#aXi$fGE<0s{O(C}2FY0aR#%Cps>Ej>h3Q_BAlC0QoHES;`oT zvzQPsw0{6|`C6^g%)gBF&1(X4xj&RtUY`?E0h&_ghjJ*5&vr>jcEXqKdEs8k?3j>JD0Dlz#ltQX13vWOPN%{ISs-&q%%JYUQ zQ&y}&nAaQZz2ZoHU;jV$-bnQdfslHIpn*Dtpsh|JfNs28A$ax%Omc%$vZ{6OrTktELZO`EbqgyWuT?Bx22m(*-D{P^N z#~tMlyBOeil>a5>Z?c(=kG{WoAA#i~By8oLkuV8cm z{$z#&@f_-m@ z!55d+5D@nO&`S5$0py_(0#I3Qr67txB}7SL*noinq(%-1Q0&frmc``|s(lxlwN4+K zfFTf|`^RMoA}T;dqa>oRk^0d6Z;CmTMk#JpC1NTXrL>n>KP&x1#TJPuw-MNzr5cRq b54QgR8_cTQBKy4Z00000NkvXXu0mjfZO9BX diff --git a/graphics/pokemon/gallade/back.png b/graphics/pokemon/gallade/back.png index 4f7dfd5429f236546c6d1e324eb8e68acb0a61c1..83bf19775d2564cbc6cfbc493a360505200b92c2 100644 GIT binary patch delta 593 zcmV-X0S5YfCjiPpNe*@sMrB0#_Fz5iL zK^r(X;6ulR=(=OVOTgfzAfFIjE<3N0|%YJJF%n0i5VSbUO&nV&s5c2P7 znqX4l*MOTS6fom?f6eLv+*Bwyf^`MB7QhzkdsYHuRfGV*5&RI`0w?hyrH38v?y2C` zgrV#ecgZlr-OsI{HGrsxh(UuS`L-=(9Lj0FPdW&(o+N8~0)Tx=hlZ410HA&YAm^U= z4fXQ<3}tLR8xef1)B)^|fghtirwtHxyo6UWKL*y%N_Uw5e<-t*czz~EZP?Ig(XLhgyFb{kYXv+00w}Jl=2V%@=GZhc2P<_6u%Y103u4j fY^~;T{GZ=n@Z01}nCbfS00000NkvXXu0mjfA$Aeg delta 608 zcmV-m0-yc21;_=EBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0wGC6K~zY` z&C;)L+dvctaPKA+$FZhS_bzHGCCci1+Cmr0>tE0e7j)s7!SSJKWKvL#hgZ;{=~!`< z|6n9II$q?xcXkrn@ej~}9g6%udGC8aoPWPg79I5uAKUAnuG+!kDryBMQPd7@5L~v@ zS=0dr9l$nd17{Yz@0bvOU3W})4j4Qa)txAR0k+(SKp+YH09gPp z<3mc1I^5oIkcA0D)ysb1SqjQ<`*Q=l1~7de32cxg-!`R;Lv@h>&IcjYlVnw#fMA!> z;UVYe2)N$>*qH~vvFY><%2Kk& zM~CjQ?>7PShZ6vQ_ZY+!f~}3&SW$_|UMpq0PK+^Idb2_AXd4!c5f}mPR0S7R(9c3x zARnfcM}4Z)XA5Y?2qs1-<&{EAi{RJ9aG~PjRv17)A($kfCmTG^Y-0ytABd3a9FSNZ zg0lP(3pqAh1h(6-7!*OD8cDX^>I~5FxkVre_|Eu2>-;%8;E?^La0>(iHqzQZ{L3$; u6x2m)eZT*<7Zxxm0efpTkK=z_j`J7r+vH5_ppo7H0000a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LlBhzA{?S0002-Nklc<@t WKAe_kueg!`0000KluHi7 zAPfZqm?gaX-?sh$QNSddN?kPGw2G&Wd7^V1|5pGWfEe!)1{iq)ZU|Hb!j1qDcZqg@ z_K9-d5s-eCA{Vd$3iwAAp!I8V5f}i3#N`kM0Eq#cFwa2{prqJ-j(i1BK^c-$)CtH} zfR`j_@rQh!j%)pY1BK+VAoGB#jZ%umFc0V}GeL=?MyBj$k%%+|Z2ED8POx1700005 diff --git a/graphics/pokemon/gallade/mega/back.png b/graphics/pokemon/gallade/mega/back.png index 3e7e58a93d41534ccd86ff88b49500ae1c510b04..5c19fd4a6010bedbbb8cd48180466750dc83a4ca 100644 GIT binary patch delta 673 zcmV;S0$%-+28ITZB#}W-e*gz`Nliru=LQD@1tI2I7Qp}j0%=J^K~zY`&CmWI=>`%~$i`4-aAzAS509CMl*#E3-G9K`B}6PBkXXV{ z6}CD<_xNw%o$dNFbq0il$Gl(O*F8!4AHU)7b!~jm@7IE1pPkmle-GX;R-0hJ>cIiV zPwEmh_W;870Fi(_t4SbQtm`qVPzRcS3*rjz!33Z8*YDXb-@65d^^|47ZgO6a`ZNv_NDC!{1W1h{YZN zxF|N8+o#u+Hc883e?1exiE14GtWHX-fv5onitzZ=m+Bf?O@?iPC&cZ`9f05_MGB7w z!413GvB@LGC<5Rp9)HaR8h1^^8Gx%=@U52vOFbP!#KBW01#r0R#EY<-n1BoLA-JX) z__Q2FyTtbZhvKq4bE4hI8EAtW_dqE<`XPESKWbMQIGiOwf1Jz-0*}w%Yq=@O494k` zA@DeUnp^;&r@MM9!rafbC_T&piAKPer4l&H?n31qqY#gPo2%$QD!o7nP+zJ5GaEx9 zCO67py3D$4n5Hu~YJlm2!{>VOP6QYw3BUxE^LYte;;AMH96+!bcZy(k2O7{36}m9) zmVq1X#smeNekPUH|f~M zRF;G&0$ecRJOUO1A-Wm(oPdiSc)o2-qBqGJ#W8R-SFz>YJtc`Di|;29vI^)$!77ybSKM#dXL{x$bT00000NkvXX Hu0mjfPt7r+ delta 683 zcmV;c0#yBm29gGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&7V`K~zY` z&CEu+NX{;`?tn zuT3!E^U#1Y_8O8jDr9UVX1ziKfF8s)8xw;U?Pr+D<_o$7Wps^FnPe(QZN);1<*s8 zA&P#JY7v`10Ps+(*EdhEDs9rH&AS$W8`n7cS)G*H16c!16w%Rtt1qNlq`|RG@TItU zc?Y1lNtwcDVR+3itAHGG&Jch=@%U>Yuy@-;k^zLKhu^vdurRVQWE^~TQUV8ycCrYk zfeC~JAHpk^gHMZ*{9yQhfXi@MzBSRWl^nFdOQv9q9sZC#SReJv92}gb08gWbz!$Uk zdSOa>2IJfB41q6y@aRejfRXL$tqhBx&?0$Q0EERLD7>G5lk6AMMB6OIW8f7k29F4- z11umFVC7>FY6){2Oc!~VdzR(S%o<>M;EI`10#t%gngA@&gqUrC3%sgn0v8a>$L%t} zG2ApkTUO}6xU&tscsCZP;64$pCX9`(IY9yn?+}cF>EslDyptkWCZG+Tl>l}MBcm|q zQpDTQ=6EMv$DAreiZZ|jQz2qtBaot#gU=~A?}8sV_C!8qd80T6?naS-3DHaeQNc3` zKqy2L=UNPs>p0^A0mAceK5CbR4&=Q$wWkBSB%GR?S|MC#>2S&ylLSLa; R#{d8T07*p#PDHLkV1mGGIRXFx diff --git a/graphics/pokemon/gallade/mega/front.png b/graphics/pokemon/gallade/mega/front.png index 23b3bfc07718a2753169bbf26ee4c060a4f8c1d8..9ec7aef414fad34b7500cb611f29d02c7719e60d 100644 GIT binary patch delta 943 zcmV;g15o^)2$BepB#}W-e*gz`Nliru=LQD@1txetgJJ*x19eG6K~zY`oz=Z-+dvox z;5!$Ef<4^HAweXAKZ<3M$v%5(I}|Hpz%fNx`GW zmW!1ZJd_HEC7>|{Y)OQ!r+iQ;Jlg+M=fnf0(&M1RZ4x9rI>ysa+)jD3@QTPRfbj_z z1SyQY_z57^jP}QeI(Jdx+}ydFoH3#=fH92FLuayoa>G=<2%yGZqGUq<ve|Mk*_~nD!4DUtfICgZeguCA`#+A-f(F#0}sF-(9#LWd?7-Br? zyt6YBR3?8e_WL{%5g$68u|@z~@7!;k?2G8Rihp*xLye&G()G*B=6gHswj(1*KoMGH zwcEA!zD-3woG>0Z-GNFFW~ECG3r37^M0_}Mwg#F@5M^(Ue{?~S<~s8c@nZmOAwX=F zDfFY5$j?W_$;i>Q9u+Pno0!V$A;J*|Ko16h5K7bXh2c8wD1cv76M|=CgeLM`h_I|` z06PBmU~2UF*DoG$h+>)Mb~ONYuzwKZ9A`4Ji0`|m8Hl*^0JNSM9Se~$U>?kz3JLt8 z6*nV3w5cJ$f3#W27a_1UGCsCh0jhPK=ckKcmu;v=NycCZ*BQ+L-3M?j*m~|8JT=kJ zJ3gq+fU+xrL9>h%1ec&(lK~RItwI?3i&Ss%be0wRywxq4mQo7<%o3~c_s|V34M6}P z-%_d%K!fBW_nMuQz^lRXR}uhrApnwP6OW5}wrH&Kw5TVT!JtkpvRY3T#GMw#)Csfd&nU=*+UU{l7_fP zr*w&NmzJhryp;s9ltMzrBvZ%6e?#9%axBR)?E|0T-pAkfefP^K6qpbhEsF$vo>XaN zDY24)p-z_*D;*f5DiBM5fYuD4OC&Tc;{(;wqxn^h$sS-Bj{`ks$$`S7HC8_{E8}(H znaC{wlM}{eBvJa}Cjg0dJf9qC%tfhlbLVb)MrCaQm_P*wor(PPhAM0k0FO?}Fd;v^ z|KT+htuX9?g_N-~6~Gni#0C084S-)haGPUJyvK>Hc^2+|Lyaqcjb-8vJRnsy@4&>( z1zRXF8TZ~18}`_zj3n9-$%+ZxwYzZuzKF^>%LxgU z7yBU5Xw(9r=Wh=t`hb1?;sLfSHB586764YTe;{HX=W@ct_g&Krh@|}hs16?=bDq)Ovx7lB=Wx}hAUDTNZQJq`hy55Tpc z>xFMHs(etieV{f6q+J2%Bu{CHGXYfULO=j;s}P2KnP?rB&C}9=b^3;dU19}( z4{3-j2mt{44XO43sGwYCURY@Xcpe)5N&KIbAwD z^nlt7z+3=-(4Ghf;q+Q(%bWwc<5d6&vC7=dAS{4NeLL80UG^%_a-o$aL}@kOBCI_F z2fjzN8USVOkmPG9K@OUGND&o+gO}8auu#@mn^IAAoi*WXJT+g<&YVt!1&y(^4`3#q z5InzuSOwrU69OIp60t`JfQm2R10X@dc{qb&72B16#_TCqnI%VnJggCOD$)$V2i9H` zD8T}yYtrl{;8rUJh+{}=^O-o16 zr_0?1AgqY>7@))eRp+`Jk!%$rCKS%~$P12J%{WkqzKzgEHZ+4dkL;fJKOdPPvHbrB bLVp1i@@Hu{wXu8F00000NkvXXu0mjf8JVH@ diff --git a/graphics/pokemon/gallade/mega/icon.png b/graphics/pokemon/gallade/mega/icon.png index 65589b4a35e5ff48f7f1c239fb803172a47b079f..96673286b36f4a3fed17f7cec155dd3faa0341d1 100644 GIT binary patch delta 389 zcmV;00eb$o1KR_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlBw29N*W z0003#Nklm#W*3?7V>lV!QHDDi6JNmg)PxCY zX-f(iN28s{m-8RaIr#|rwP(x$AU_bwxjdG@uE2s_37Up;Mt@=-{N%-%(K<%XyzTDw z1~f(6Jqo#W^O2?~y2}Da89>u^OM;dT&^HTAn#(PC(5bD^9!xLl_A+F)K=iJ~#Gyb2 zhD@UO5w46uyYX{%bpUTvG6A3%u0AqD!p0gwhXkQ2QF+ebRECXd!t_bhkeYQH^8rHG zraYDLrg&#~mVT{3fgMWD@zm6Q>6-3OzqwDSlH||dzY~TWg^}bSOdlp+h0z{tgbCm% z3_&N1T#X_$gGCsiL+OX5?@ky#4zKH9oG_-Uo_>g#m*CFbZSM jpt_#-r~W3)Pkwv><)+0f(OFKB00000NkvXXu0mjf9@MPs delta 353 zcmV-n0iOQb1GfW^Uw;8YNklz0jE9eqUpvO^0J0sSjLCfoYzi#cl%S~@%gE9P zKUjIns8}K=*0lF}1?sYCAGw^n`AA)s?Rf@+44`h>IYEyO(0^A8Oj^h_c+jb>&>oC0 z>h|2{wt#o8#mJz<3=A20=OauRgZ9SH)x`n4QOO8^yubL!1W7gs1RWBDszen<28Uy~ zF-1%Jgo%+a zVPphRm@Z5ng<8=btb_?*FAPB^jEqJRn!_v%(EjL$rEg9cHuTr{6(@|Ts;3Z1yf8c@ zqAth diff --git a/graphics/pokemon/galvantula/anim_front.png b/graphics/pokemon/galvantula/anim_front.png index 20b458676602eca06427fbb7595ef72b42821149..7369ad8556e06b5c6e44d358bb386017038e7a51 100644 GIT binary patch delta 1279 zcmV0HsxchZuT3pqdy8)f{u7WDv9V7@%s9Y7CHtuN(j|2#F2N#zr+a1wuY- zw*{a|{sGW-A!r{+P4uK&IWf=<5d83^N(d!6fOd%X;}Com5w&Ie+F2LiOn~ae4U$u- zqhpK^A_$mPUw?|AMAA_h1OYk-!tXV$xM)^x*1W6m>@4gCVK`CM1qV(v8vio53NNq1 zAk-(Osy4C?phw@Da257DVfa&dN2@QmP{8$7=bT=GKiQv@eN9zq#=`($kKz$1u%3VW z3Dnhv90%YEJ3xmsXavC2(n1PB^%~;k4S;Q8DYG7I@PCPOv3rjtU;zF)KqH%?3tqE) zx>*6>+`&SZ!Ou95IYjzjqK_))+qk_CLB@m4J>_@%{$lsl{npPl7kmY{myW#(^ zc{2|nLVt|MbRyQ>frRG(u`5aeJelfYcHMe4yKI(AAeq3 z^AtpN{7O-BI;FU5I9T@Fg~*tSF{F|VooU%z_oUBwYu0hQ#c+?uq!|Ex2Kf2fP8v#| zqdVqV0sv7Gl+~ZlJFeoXEo+)xG(A?|qp9m%SARTjHa4P1a*NxPr5^}cW^6VVTsV?F zQ#BP+&tboxTn3u|O7?7P#XCx^C%SrC|LOW* z6}cBGs{qxN9-ciAc`ksI5<~9Y(F>&7eC%==Iw3}Ke{%sKmlitmO)bN*m>aR981h?jvHnI0X2nEvu*xs(DF#d?=XjxQ&2~ya;Pwbp`i# z1+l7m5srko5CXziwfYi3iPnN2X9^^!Ys-gJZVu17u6x`SGG>weB{`Bthk$$U{6-KgNDyR_(hT4Y2k@#4bv>IRoYqVL6c|We zSVzXnBHT3tIqxLVr)& zF{lH9lTskEU`b0-KK*>xfzJAEQ8xv3dnq157R5x1MiI-fb7xwzP+SiRL;&y$MT{>1 z6P!p)(`^msDa-)lYt$y*q#g68P+V_PDF`+k>9!lZY{&m%1+g~+2oK2YGHsd(Z6e9L zZqQ0JPK$e-$xbXfrhvYS3gcurS9k}^vwN5qV+pU?+;zFfl2WJ^#r-JrXu_-0yjW5S zoNrmQ(URu8iV~yGhsj9EqFaH$(-eSmE2H*!l$HyawYrrCP@cid)P8N$G85x1(7J3H pnY$}9dBv03TUH}aLg4?l{swH6$wkdtBy9iy002ovPDHLkV1oScOAY`4 delta 1246 zcmV<41R?v*3atu|Uw;I+NklV*1mcQ|7lot^LfS*Fo;nA=!EF+hTzMHXgu_< zo%R7vImjw+7zLd=>SBfvK|mGjK?W%jj=~@aFhCIgpeW_MTe?~EF2mE)upflsRF-oA zoM=4xb#xhCTz`f^s7`fRZe|0(fV|P+G9328@aO7|V&y_e;QF$2MlQgg?oX?}BFiKb zVFa*8a0>+Jz`y+zEIC)>2wd(5=rIb-0H|Eal@QdgAvSLWbQ4>djbMXsIOn_f*a8aR zuLCr*CA#3XswbN@0LC0_bQSze0FgnY{>|qoGq#Pt4}T%ZM6j7B{bApq@4md>`laE5 zF9Gw?85pC|8@qP$v8Hd|)*XyLWGq@H;9uj(&Y$c?v38Vw8{2_PH_)B%BGVaI5z&lV2jzoc$s0!DBceS&1o*Zi%BTokiMuCC~BPSqG z9{9vLa~ve^-=@>5D(C1QnS%H;{lEtMw|{4-v?`emaLS71L%_VZelrMi5(Jr~G6#59 zBY0T_OU;%DCk-6{1qPBA_7U|%CIhlHHOTpHjeNK6y+aOdW(7us`XN%ClT9CfZ*A+J za{#0=v^~zTr7eKJV4&=1#DTy`DG-sfq$xYTcl3MA%sEVQhZv40Ia zce*KZ#kEu*9DrXaVtfvm;)%pE-S*X@ggIbxjoQSUa!qW!) z5PNd~kATcBl9ry(CX&4C2JLwYyUjdCMJE;=Gr-VAg>jq|L7q|19$;ORCcJ7h*JU0} zS|OVR|3{fe5?-CvMUz(G`4;&YO;=&Tt0*ys>?%1@BA-^k@gxNxEHw?j5T(8)tXkem z0|?9DMPk3w8tE0u%h9@MYMHw$Qc=iR?nxcw{TT`KWd95M2W*tdMeO!Mng9R*07*qo IM6N<$f_lDGjQ{`u diff --git a/graphics/pokemon/galvantula/back.png b/graphics/pokemon/galvantula/back.png index 4d872ac6bae7f5ddf29d4c5a63265889c27e34b9..58146978e9487c312d44c2688922b5d63127772f 100644 GIT binary patch delta 439 zcmV;o0Z9Jr1AqjO7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LlB#jOsQs0004FNklK?6z`%+AcPs*C-OE zTL}@_JGh(a;G%nEDCly1`tWB{LZBTA`42Xdetv#>j&sd_j(ZM7;a>xnTnNJNAen!x zvvVMwmxwL~-fVOcnRW@_rr*G)01Ai6XKVmu2K?ZzrTabSnNPZeBY@CmODSWN?@%wc z%?S9YpgK>mu%N80aF?(duLfX?l)QiHCj|*;wpKuCQ>5g)83C_IJtg!4`94YD($xr{ zB1KA=MI6T)xO6R=0j%KV;l6?&P*&HkhsHJuhx!N`05t+C>-vogVdelyM^DK5S$@_f zX9uU-!uq-FKp~|B0FC0z>;!0%M*znUebvR!fSFm?E~g*^u(h*D(Wzi53jiZKr~k)1 h569MmYp(gld;#<`e~qn=#Hj!P002ovPDHLkV1k@Kybb^W delta 419 zcmV;U0bKro1ndKl7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00047Nkl$Y~CqgtPfYjsTEg%uHJp)c<(hxvQv7&bC>=0n)05XJ4 z?dp%8pwv!-VN;R;)E^0o&`Jk@_cs7T1Y0Rp8i2D6Lid;mj1iz_K%!Ycj6fj*m`?y- z6)FMF`5S;l(5uZ|gb*;yFs``DP_};|ni2xFUw?=z-gkdZqHJTNH&#ZQKv%6>+Es7~ z!R43gojf180-TFFjsWm7i4ddd!p(Dnsy`6IHguY8QyGY<6@p(0$itMNbzgsMSv->9 zi*?qPmjGMdhkA@t09OI>eV88Fh`9(Lf4KfCJPMEi4Pa?$Y3V=c2Z$*S;6M-D?qvV~ N002ovPDHLkV1lYVwtfHr diff --git a/graphics/pokemon/galvantula/icon.png b/graphics/pokemon/galvantula/icon.png index 81e82230ab66df493fa8460f9d88e011644cfa35..dabf742e99a806c599e69d53a231b837d08052e5 100644 GIT binary patch delta 399 zcmV;A0dW4`1AzpPUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlB){D8u| z0004GNkl5{PG1!L`Qt9{ z(+i<}(0yTB>xfP_(p0fjx2GQC%qtdePvc|Ze6+~0;`Kowk<_b&m-0ie5hGFMRVIqg zLANsnp(>t>;2_JB7l7BRmyhyyTOZMvVF7acH5HS-SQI0Ca) zG5`em*#RSN0#ptL)&*cn!LTQWrbxYMuvA_M83&nJH;ff8!F0gE-6LJb45h902?uB4 tA(@`zuy1f@I7CM2J`TIf%}8I}`WwRi5k-$m``rKl002ovPDHLkV1ibEr=I`- delta 365 zcmV-z0h0cK1m6RYUkCweNklDWh(J`>(;4snS<$cQtDj%IIjs8H?r8B~Oj+{;zX5o4+bk=M8e z>N==3c@#vKb)3ng_ivL~`eEgNe0~WGc|%~RvC{!CCf^T$A(8DnV9Ks|FEgKkk(&R> zVwrWo#CqWzB+&!2)$PxaLG;l9qgrklhX%$nFu4+FiJ>_{XBx%Y37oNr5@W}{mN`V5 zF|hXtV_zUQB@2v$HE@vd20adKL%&jsgV*TGB8~y{W!u=6NRY}x|00000 LNkvXXu0mjfgD0sC diff --git a/graphics/pokemon/garbodor/anim_front.png b/graphics/pokemon/garbodor/anim_front.png index b211c33cb8ffa43de7b97672c59e86b90c8fb02f..81f91a5c1f30dcc0dea15dc7cb01fd2890baf758 100644 GIT binary patch delta 1771 zcmV=EUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlB z6l}I?I}*?Vstx-p06H?tRkPY|LGdzCz!+?U?$)5%{%Hxoz@WZIfL;J-nicH|z&f(!z*xmTEvdY&O+Qj8ygP_-Sv4-H=P{mf|k*(S|q+f?99O za7XyCUw`4?s`l5_hT0G}gJ8nC%n*J2#!0=@on?h5)#qp`?Jsw#~API|2!qU~b?D*b9Duc+(ZqnoG~< zp#$|8xX+_A=MaF=_rnlGzmDBif~g`3P{a^`o_|Ht?1Ss^;&ggUtGNmha0uZvak{SO zXsO^MCK|noBa}wqyTdgIyTGC9!qEz6HcmuuVOA-PHe`s+Mg+k4Z3gFz=TC3rn(Mr(bU+{Cnx|k6)FmLJGy+Qkc238~*smIb zrhjRJJ94zgr?i-QgRwkyiEXzVVGJhJ`wqW9k)IPoVQa2{ZbwbC9xf>dCm((*0!Fwo zlK}3mDDmRg&gJXEdMsrxs79Io%4I)A;Llw{Q)a zG1yHKoMTg#Mg8Ev*8Rf-k(JK~QjEd4@B4>?ILpenI1zcGxW#j?{6qW`5jpuD*ErX* zTn=Zf40cxrgLx3tL)ck5hrgv%&3SxN)bc!|{eQ1CFaCo+fDx<06$?e%DXPaN*nd~N zPiNbStMF16*XZDN<#XLaAiG@r+pSu!labY*db@Q609`sudKS-l3o1*3K{3!-K>^uB zf4B_L90u|*VOpy;%_YG=pgwv*=h;$6EVDGt0cHl@M}Xb!Lw9TLT2#JqDnaWWeZF9UGuYbBiK(FsCd7J(EE(W%Qt5arLG#~#IcV}A}*e}DW~d#-A` z@Vs>)aJJq!5yjc``04Y=AB38PNQ8;iJ9yd)#Ud{LNl_{X)}7uj;*vki&j{sAwk7po zkno5380d%DNDt=zFc%D!1eg5bbu+Q0FmIJ&J*X()LAwzHsY3c*s0U&3M!~4I8}S$g za3Vb*fe8Jf8T$hj?^q8^n}6zNBp7nn=nVygdQh1A!#CWN7TtneQV&9alRx~vs;SDG z)PqnkJpMSCexy9|u-#bDgGev{a>urf0G0np50Zib4pwxkYXpRP0L|uHFt7)kNuX(` zvq}%D(k&ywfDBeT$_B`-#d^@13kGCT^_RT`e=tcf=BZhK#%evO z2X+B|R$t8lwN7e~@2O%#!XFU$c4Eg_gaEXIxj&$SR7eo!DFmI0nYQu=0>Ca$t)xJ3 z7F|j(7&|*Q7Lo*y{A5822CiLjy72!X9Sc6$MOFz00oJ44g`>j^%dpt|;%xm;(-!;z z2_9MsV-~a4{e+~%{$Qm!nL0PPK6vH(yG#C{uVO33gHu4i*!@rV!(X^xwKF83E{^~J N002ovPDHLkV1nkmNy`8L delta 1741 zcmV;;1~U1!4ww#*Uw;OpNkl8pp(6ucfM5LpTA z>Ip@-J*1U<>!AnxZVRo|0<0Z?n&*8$L$QLdV`?JZcDCrTKDou#KWsBQnU0AOIyI3U0% z0kq8Od;<~7n0GevxS&W<{Z}d< zbSMTAIGK*${WTKa)o73cCZ{Es1oTPy?D6~4t4r}_dYJ-@%I^>Z(<9EgIC*@T?!#CE zsEoCnhlV(LKajxm&ot0dz_NEFywPuGlTQL;6^AsXvVYvbg@qs1zNIIYocXzVx5MTDH99&iZy4K98wFrVS>#(fo;TqFU3IS_#OEqDP1Bh- zs{zEoWPhwP_7E#w(IWsb+TO+hPlgli6`f_4@tqg|;C_a(0#e&H&vNb%Bw&KMfjwX= zxB&5{D`hm7-qA}38ZmG$oGTsMaw!BA15H@3fz4Hei6Tm{f*}CCi-y?)*W)Xb$tlg| zDn!6Bgu}$)x}Kxy!AHDkj28A#9)j-<)*x&GyMJm3M=M>}I1pnCZu!{}R%i#nnz@Zy~zT2eDgKdeo*aZOvI-n15&UHwDh6H4k z*}#&3T`=%9wyV0JVcOsh9qrLMO{URgtVm5_-K}OAg9(kE!|#pda$+cK%@xpTt6?_6 zDSzeQ6vMS5V2B$t4dC92E?!*iLb1`?l|Tld;||-7Nedrc-G!WXpTTZdby4rS!@ag$ z3D#KZ7P`+^y`y^AMF2PP>BLIkGT%@j446s4vzMKnN4S-?E#5=^J}qb!EOgF@DfsuzRMA5y!v5`55e#`(F{_b{_l zTJuK-X#p`XzdIxV<#(4t$n4kWGk;>pOO)To+WPcLwUA1yRBrqPQUHuMU#>6&Owc1S zGYOP?tHBt7>7_Wr7Ea#J132+$5M@*k@9dKhXVcMO9)NRSE8{Rv&Jg-C3+U8EyCEk* zR6c(mc@*o-!vv`P{IULA<#yqD>q6jYy-_NPi^=Je=aD}MH42dm6SH^lq<w#%g-i!o8?i!=1fKU%gi9dYD zO=;0vP)O@R2ypU;KUOuBd4JP-5DJFJ9|e<-bdNmPZqDdIBp3jNQ`<&>(to4}X~6&o zGdkrp0zy52Rx1$ z1p~+r!llY8J*dqH1_H_tw0x$B?Y=}kxYY^;1A!qpJoE!Sr(5oDH-FLt8H3&Ep+Lm< zl<~CjvOD7sCJ9DzH5*S^y({&=F2OUkY7VG*Ql0!r85>gmfWY@-JHAB-Ks!kM0TrZ5 zf)MXYj!wl)TloV4U{@wqS|B)!iV_UQE>5#EmjsXeK?(-WU2s10{~!YsKG{WH2?hby z!?a*vMb^q%EGe9=A4Vtj(jSoEp`|cpF>BpVNlNSwR)&+Q^DH;|uY7+$6@>B!V-;&D j9vlMtMJkN{us{3_xL>t1qym$z00000NkvXXu0mjfaf(O> diff --git a/graphics/pokemon/garbodor/back.png b/graphics/pokemon/garbodor/back.png index d98c0f4c5af873b2ce76561e0c2c130320bb6651..c7ef6703fb72be1bac44087fab74beced79464a2 100644 GIT binary patch delta 618 zcmV-w0+s#V1<(bMB#}W-e*gz`Nliru=LQD@1_Kxu1m*w$0y9ZOK~zY`&6KfnoG=iE ziK#MfvcQZdljaWFJ!I3IRbi`f>zO==t9uVqagy z|Gxw%ivHR70`To(`%cR00+2}pq$lw+4+W$I0GZfoj2o2ICIqMtf0?V6kdR&g+*KAZ z)tLTPQf|QqAj!AnAs-!(We`OA1^2&Ss4AZv02S#y&Om7Z5}p7!2V`0HWM*s!R&D}J zhAJyqA!juw=Y~@SV4zG4;N(IeiDm$*Vg|0x0pI}~3ihu68xtts-n@?Z7!u%yfx^k{ z_ZI-xv%uu>wKl+bf6oNqu4$s^x^J2~r+E%(F#?w=s=;h6w$P5gPlmB*C7yV26{C)9Ms1GAoru~ zE9w(}S}JIz9!!%H&?E!|7f(kPw}ZFj6EFQkZ;49HejEb{C_OaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yjxSK~zY` z&6KfnoG=iEiK#MfvcQZdljgv74^bMd3R{g^&*VW|-FujdqolH~@eCE{<+3XYA#uJ- zm6>e8opwL|{}LVoe<3hAQK1(PvU103J3uJA~D^V?U-nGA%JtpY`200 z^#b6oF@WyI__Yxt2Oofcq{z`jJX#>jAc*t}?ti~vS3Fq&8q|ASfl31?>;U)-$g=E7 zugDIJoC9=*CM!vyAT=vz%c=qpP$e3$av_jJD*#Qo0#}~_-~l{09JQh6kShU*A}=gAT1YwGB758u|BR3c&$}MjndzA zI@A1}J)5a8524kT`h9?1zX&;2lCn68jHy; zr|sN^sJk=3Xnz#3dw_iiv^HhV&xDu^aRujqUfDm+S-^x`flbJHG8wAWrQYmf*aDkP zC^;Blao7r|`CUugy2d8s$PKXk-tfVMK=u7lhHo?U7y*7!41s`RK}tLUp3?vr!4EOv zx$#V=4)<;M1&07*qoM6N<$g5ARzI{*Lx diff --git a/graphics/pokemon/garbodor/icon.png b/graphics/pokemon/garbodor/icon.png index 9b7124f7b4c053695679386e4704e710c1f8acc7..ac39adb47829451d66b94f24e2fa711dcda81b73 100644 GIT binary patch delta 475 zcmV<10VMv71h52GB0-iI(>PU&cmRZ_+^_%cr2oD|(Vu?K?v)m%YPW_A?tgg40xkn)=ln-2tkNo4 z&Iw%|Y@k&HLqRzgt>6l>>-U})CL00L$%S1X4QZgmD#u)5{z_{^+bJcD3=PPP!``_> zU-}_cE7WsFfkgTtX?yBKQY^h7Qx#fn#M3=t&RW67<8*v?FC>|TdT*N=p4|veWLkzj zwPD6f%?b6xVt-!plK8qg&eH3cX zpVh29WgTd%EQ7cdW5>Y;+SoNA>8B2df~s?WTRjVh^uUY<;ia7dQlnt}<|T}+-&8Q3qVT-*o;SciBWF{L(TIbp z1qL+VqNhw73Y#0vl4Q`h* Rj&cA1002ovPDHLkV1gcc*1-S( delta 440 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 diff --git a/graphics/pokemon/garchomp/back.png b/graphics/pokemon/garchomp/back.png index a44cf7c05eb90e74e46a3e52f32081618d3b41bc..00c123b4c48963b53567d016fad005c4d336f183 100644 GIT binary patch delta 551 zcmV+?0@(eT1&sxeB#}W-e*gz`Nliru=LQD@1`+G7b*=ya0q{vgK~zY`&6TlE!!Qtr zgE}yuEbOtO5)%uSrDkB@L6`!PvpPh=rAV;Cg4hrfE9!vy7AzId08>XsgjB`Yj+?Z} zB{Mfw{lDD(cR4#z^lxJaTpV@koQ|bDmkH_8ohqe;aAH?hfJCcYe_8=J00AjeJV62_ z02Bd4?DPOY+>{3b*cd8+sAl@iYB`io6C{Dtf#oH@A#Nq`0|cfsUqK&7C_u(C)k4Ht z9?UVo>N0gd#`5eG^I!*^crQTrT7d0>P%2%6T5}kU<}E_=B=LiaFB~y%4;m;fTe&{W zU|&UeBQD}hU_b_Se=uNCH^8g~1gI+L>01HNZ9&f_FXpSK!ted$+bmT#P&^dIAbMrN zd>gaG_E8AIJz&rRQEpWsN&wSK3q&~J2R$;xS0H?dJ8(PgE0AGFg?wG%#1tsNArM3J z-ebXeSfM~3EC4a9&mIdl2@dR*7Qhl_fdcCnVY~dmdk86Pf0sBws(ro1fB}elU2hOT z=k-3*v^_}eZ=Mjy?WOI_wh2hpr#m3+(FxE75N|)vY>H&_(1>k4v|9s%h7MT+pbb5Q zsuQ4keJ*(dSOr$Uf@YXJ0MC!Ug{D3B}Ay?!7BzBUB>ofEYD6c4`$Gj^8$3Y1(+@frP4O26o>u&*A}686uCi#7nW!N z#s;NDE7yl9>?Hx-h>b867?4603|P<&Fk=A$$_i@wk^^*GP>acblm6_f@H3ly=~dDV zJdb0udJY#`Ga^6$l^U4(v|53S`t#A=^|q z(K!lm@We>J^;obT)+ms93qbVxqsM|tf&;_C0vJLsQDE~&m@eP(9()SZB@U2sUvDvB z0HRvg8w5~Uwa+wvZVytqm&XV4dMWd=)d89G=@y84bON*igxlwtNfFgAjo8+GyA?2K z=#Vx5+R%L@RRUD6?j^4cs8*o_2CcI?^T7PUwa^4cI(I}ezjHQt8(6OFk5|vLq+Wq2 zkLvaE!)_m2Jk}F1Ra#iT7yCIy@6Mk`5c~qWNyAV$OOj*^00000NkvXXu0mjfB3AHh diff --git a/graphics/pokemon/garchomp/icon.png b/graphics/pokemon/garchomp/icon.png index 79303059c8c2a7e69984b53edf3efcc0bec627d9..6ac4a936efa9538c8c68c0017eb6de12559662f7 100644 GIT binary patch delta 394 zcmV;50d@Yl1K$IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlEcb;{rk z0003(Nkl}vx_ zm!I|}ctRu8#6pSsG{Mry`A9c(Djq3EOFV$dm>jHCb%ZyTL}TTAJY(lAalA$CxjJAM zVlcPR)`UX}E6{$Sjjwo8tB+rB>Yrty6Y_O0nU-l0$bBkS$N ziu(F85&}kE4S&+T>$*T%Xz~BoZ-R+U8BF#O!DyOk0+W42FnaYdgMohYF@t&0?1TIT zOsFIuuD^ic5wiH8&8JdTfg4_Y&^Ej=_^^+5@j+@d_<+0P=!47Vbi2(H00000NkvXXt^-0~g2c$TRsaA1 delta 355 zcmV-p0i6Ed1Gxi`Uw;8aNklZt~5Cu?fFy}~-`78idoJxil z04;Q?$o;)iFtPcN7vKrCp*jQws$qhrk<%w_-->aFbELo%n17T?gQYAla7vSrklZde zoSY^OT}0o?GfsXCmJ&KD|B-+*ho!N7?8#U7DU)6*Y-c1tEBhhMI!Byt-e37pyDkiN zjcQvyp^N`V+Ubb})%G$n1dQ88meyC<2PBzf|Ns0Zm{63!Bp(5c#GOVk$wvSqn~wzy zf(?<1X+%=x(>``36M+4j_h*;cWl_002ovPDHLkV1i#g Brsx0w diff --git a/graphics/pokemon/garchomp/mega/back.png b/graphics/pokemon/garchomp/mega/back.png index e17e411a6c84412716cdc77ed08113e8de6c068b..b79822363caaf02d96200cca0cb21877dede8718 100644 GIT binary patch delta 577 zcmV-H0>1sU1*Zj&B#}W-e*gz`Nliru=LQD@1{(`|oUi}@0t!h)K~zY`&6K}t95E2a zFR-vpii|B*F49;8T$>O`85v>u0g?w;0(IPJAD8^hjO8SpTG#PHncaSb>RPI2?M7y-FZNQjtuCtI&J1?`V1&v zM1WF_i#aN#vHAEu1bE|P?&>^knm1nq0=-_F{<5n2Lv)fCJ>VKdl(7H$I6B7Oz_p-1 zIpS>u)D*oxH^&C{e|dD$7gYs5v{5O*z!V&y%>ds>MTaCVdjRn2w@DccfW?Q)$1-KG z2EN~3E@#;0fyIyKnTZ|%yUeXbr{r$H(2WBe*hL-yrgi|O%fRG;wSOLWWMBj=ZgV|Q z1~{|Uu2On`6GXhcv&lv})i+5sEbdZ3N#?EuVD@Ge1BL2*e*!YGH_KI6Lm|2Jb3%mu z75Ntu2=EAX`7?fY+%B@g<17Y>ep%UiUO%S*2D%%^^-BW4Zkp$69u1Skrk(&=-!@)b z*aSjiTZjG$$m<*`0ydXIZ~xDo#pYV6Z5?pn#uft|OaN4Yz6RRS0Fr^@5!Ji(B9b_z zz-e(+1YBveH~F^6$l(4O&D6t~f#HC1e9|~Iu{Pj1X1IR1FHQ1&`bY5>Z~e33CK0)) P00000NkvXXu0mjfW?BZ4 delta 588 zcmV-S0<-<61+)c_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0u4z-K~zY` z&6Kff95E1vH?Xixii|B*F49;8Qk!6KX&GVp0g?we0(GdH*&BcoS;w)_LAE$6q1>gFZ990wV*#b;v@lPRNkMPBLn-qNHXdgLTRINfPtYnz+wXUN-8>kB+>n5IsmVKnVdlf zSbV&Es&WP!;M?8hs=&oGu>AhK$X5s0)r4NOO6~>>ojAaOT}}hQ)DEC>2}~YX`{!v# z0wZ8~mo)&N02kKUbx!vuLBz{@n{A|3zDZic@;(PtWbT##%-*h3pj2%LAQOALTE}ZB zC70oz5Mh5N{-p$e0s=x^{z&qrn?=@nT%*pN6K)3yMy~+UC4)?j9CznZL zGaCRJ-Lht)Tk`>vC#ep?PU*Pap~%6*06K%#XU7nAvo+M?VFKy zS8HuN7fJg*yk9f#J4;A)88^uF>*j}VCEoc&2n3ejO04+nV7tb>#VXY+b)sZJ8H7_ic9MPi!IP;K=}ON`Za1RFFZ=1ly+N@gw;BXL ze*U97EEA**?c!>jzkdIx089ak?C<_|D0eq?JW5$uvlHvre7K8UQg%x1dVeLBl)J|~ z+2KXOLezobacV;-gt8B)TXQiOr0Ek6)5DJ6lF#cgu#c%!`9n-Um!rD<aJvfR<(n5K2W>e#xPJ^GbP<@w$WQc}2@s9D5|dcPg9$UhlCa&=DI}zsNZE;< z{i^_sl!Neq5KQ9q$hq*susuye0oy&(gSEd&v%4oxUpp^%z->IO0uW-@=rti2Vi;5R zTdxA-C%XM`R~^?Z|7?`~>ppr#NV^Jj5=h=4(CmJ{K01o+$7CM(Dt{ta0Rl#{;(wYj z?$!ad{v+%?-(L?vpU1}28PF*T9#eSV_x;-~rY7Pl(0ob8KLL91@3fvlH~|bg1r8dm z^8kE*!)u+Xq0)fC0@Vi%WZ$3!!F?aR2ebgNzYK0n05U#T0BnF4EHR9s00ROt1-?)s zh9enxu=K11lmpCC1AnIKW`Hgj0%r=?>s0`2Fwp&GEC7_TTYcQEy`BkLG_{9Z_O%LP z5cIM&0=GRPC19OkC#_*$NrpNoA%iX17wwV2CZYNPh{U5)V9Il-rz_l4;3K zA(rYh)`Z}cbKwQFaFKV&)J3Bpw8CJgOBWL$Q3nO(gC<-H3@ytby+ZtGk#v$ILg_6?Xn{0MI405c{{yDx{{j82umf|I Rj>P}~002ovPDHLkV1l0m(j5Q* delta 1003 zcmV&G6Qi)$$3pubB$qve#igsOS;Nl37x&aS zh2XH4v~Nb*U9GjrTt=h!;r*JK?~s{cT_GPHS3iF*@zGa8Ah7seVkuk&*SBsjM)U19 z+5sXFK-8>SF|{BJZy*5yu=RPV`N5KL0WqKF;(zMm7r~u1U=gJO#HS{(f# zDfL<~CkAH_T&Lb@i_(@yy*V{du}sZKyr!H}2I16gd2)|__HbfFy3{k9yR~NRx4mTS z-lABNUk-wcXD>Q~B0-j%9U<;UM|M-sswX<&GQOe?qojAW|gB|RWwo~d> zD}Qm6+BxEKi{}LkQ3VD^i3_n1+TN#r#YMlLBo6~j4?BKMy{yK-J|;@%4=wtw8dmLJ zZY0U>$wdLE?j^gu2ym2Sj}chM5XTi42;A%Js6P)O;u_eT0{wi#^x8`O`T$r=X$CNf z;S^tXa4*f&Fuh>F-7=6BUqLMQ+iI|X5r0GMBQS}P9h)y3pgHO&Okx=iCQJcG!DiQ_ zAW2;+wcYaeE(0*s4&r@6Fo}~x?>va(_9O`nY%HCrzxJpMK#XCV zZwbK=gBJCF3Q9nBY}yYu^>IzJZ-(i={{1(Ew9CM@1o;kudgqtb;bF^tKxTpOn|}l= zK){kq;n$LJzY6H_A7P(_;c5itJk}mff$hBD5rt2~FudMi`bJy^>aWS@DWHe&M&k*@ zW5A*lV87Nliy#cwg2t)7R0gnEr2Ali^hcB+xD!Hfm*xQWm%)`WKt^X8fHerB1%@#+ zU_nGCz%4CecqO9%7M>J4&zf?hU;;J1gQ0Gwm&q%-Jg$4MV9ZkaZ$?&qcGU%!o?Vn`ku=-w`*4A-r?OVxwBxLUNP$F=xm|% z7S-YG?(DN6)5G+%1e_lO{0|q6^8i5-C00CS{L_t(I%gvH8Zo@DPMRkJm z4!JnC12|LH$=Q(@S(I+njbu-R!Tv&MSr^CDNPmq77zVRJGwFg zdc1UJNq(AXV8D$f@8z+{=Ik&9198;Eu;n#H14Nn__>f?^)@9*@LMqtSi`~hdOu~Z> z=H@7`w($d*TgXGWaYm|LsDrfkAG3|pe!g=(r0XPbbM?F*Xxtr~fhLHhn&O|Z>cG01 z%Ay?ARTUm@$$uYUf4=5kpGD^0^Wqi;%=5+515@~bn1NZV$Au5>5@$Y83Lkn{1!hOX zDc<=2>z#=55is8Q0DFv?4?X|LhaS~rK7yr@k1S+9qz;7-yD%PDHLkV1jR}z0Lpt delta 378 zcmV-=0fqkg1LXsdbbkR`Nklb>!3`KQ<@(#H`*GxG@1Eg~R!d~iA6kwKc z3!=q3T+twzETAx9En%rxZs1&?;beZ0^cVS@`?t{eko#^Xfp5>mQ6m%?+V2e!drrR8 z^>0LUrr<+qSzEsMlv*tX>kaXhj%ljsH?;4s*3p#_(9^j)X@Bz5Oa}w4kiFNtlhvuA z6dc4+Qzs}(jt-bDaqyu5r82W{BxMt@^@>~Fu}ieK!BQXe6>C4RyM{bO>c;7M8>*n~ z?Z<*q+s}8YhIE+(sV`o31CQRJaZm?Et~mY)iw>}y4V%>y5~a~`GP Y7tNn9(~*Zs(*OVf07*qoM6N<$f?SuhF8}}l diff --git a/graphics/pokemon/gardevoir/anim_front.png b/graphics/pokemon/gardevoir/anim_front.png index 2b539caeea82325cef991c95b3124a4772ec0a98..c7593e9bbc67249dbd33e2e20f164e5dae499769 100644 GIT binary patch delta 982 zcmV;{11bE82&V{;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlEwTBV$d z000AuNklziQh+7{KMijfI?Ihtf`xr9y`evGM{Er(HId1)@U|hz!{}$OpnN z5c&q)JV*kOr9%oKbWFT->C`THm);-C*2%i_(r&rIVD6{yJAd7Mr|+j}+X3N`rW$bQ zoT`Z4$Z?RXAdZKQbB0`H0P_r?KoMZ%Ae8tDVCbME_2n5x&e;i0tw0J49T($?87MNG z;6-BE-9Udha!zmNSt01E9 z)Zdniu`UC&iGQve=@qnW*;a#zG5GYT05lNJevWndX=-D5l0y{A3+DOPbrCA&Uw`@W z`%<@6z{7VVH04Xs{ybdT+Qd)-0}WVETC^X(nRnz&kc5D`{ag_Mpe_PJh|FMC&=rP+ zXx|=)$Ou7Euz!Sb#ar6*bmWH`m@l-NFomih2N06rQGX3k!f5WtlpjE}t^q>$;xV#c zyvFBSqGLk^ptBs77%x;nbP$+htjYm03MfK=MMQw5JVf-F0{BS|tQa6)MRdV|#kp*a zkOSls(hXFDlFU{Zmu1q0M8$wTf18m}CCOf*c*OzylvH#S?Jx|;D3K-C45`E@@kI?_ zT<{FTvj@l}iKDndSde&yKR4fV$*W1BhepvmUyUB z!`=7;uehF$#L@#EI%56+m>u-`$Y_wvV-5H4J4|&5c z>Kx1;YM|*Cao+F;oBjE6oBQzjfI?Ihtf`xuRI$(A@bl=@Bpo9+S`lNTeO|&Iuwol$% zXG~iHc^-N7h23kP0$H~CI$KUm9bimN(~2*#qp1KXrdIF6eG6b9I{!H_^`~h}@W}=f zs$Dl8e_f@tWqO#Kc3xchEV?L$KRxw{w`Q>zu|8OXu9_0IdR_BS{aq9L$3 zc+3Gnq=~>76MH;Q`3@-%_3pt0f}%7Pzku-6F75ax8Bqf*mPSd~%B_F{ppZN$0Zv%e z_c4!!w!HfR3XqBTfx4D z*heUcaeoPz=0LtE85j1|MgW@TnJJ@t zcux2&Q2YU_L(6lHRDb9=>Y>goukZ(X<2oi$uO9Nrk?;p3?4Z*nR_$8M;I>MCfPdmH zIkkxOAf|4r5sb?8Kd4jn2RZ#~NfdvO z(_bO#{vf7*wakG($mw4(keWY;>8}__%^xoFe7;c)r0Ne@I*;;A%|I&tknrgr6`Hd% z5XB$F-;in`ia(Tj_XeW+!+!ej3`F`v2{BatBHV2PK1;HO`h6)4MEHXc44obbf1v-z aAN~S*u`=>i?&28$0000z`GDNIKs>?n`e>^Y_0;Qgp7kq)L ze}6XNOQe%mg&AK06)u~On9K~{!<{2yHouxO8Y$@V(z!-sTtUGBQ(fLVwjoMB;w2xu#W?Gn0McQ$tX|+pk)COOxy%OfQkWR@_8?~ zgUVDdaql0VAddmof3CduoI;Wbl8|38zsW84x$6Z2s%Tbg%jP=(gl$Y@X0tpTws?w8 zeOH3(@U?^uKyKp1f*SS9WT1wvyb& z-@7;fdHorIpHV=4ZDIRuw~t;S#Yqe2KL!Akyx?i=;ub~(e~32PC2rhFD^6=0wSYf= zy{{u5EDf`od2aMj5jH(Bg87PJrS7DfNu9wMznfz31(*tXhF{3x`fQ%M{ zfaCp5r&`msLYw6cY8>BFsBn#s26q$tOfry1E>OWz-Z@V$lZ86kV6yO$@>>Mf=%sjT zlN4@NF06kyC)l=rW0QbzLxl>P(2q6m=g;;ZH=4EIo;1fy00000NkvXXu0mjfuOj{t delta 568 zcmV-80>}NA1)v3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r^QpK~zY` z-ITFv+&~b9R{^Cn+%6{q?so3vKsuwty>;teI#?S5DNlxbfd!{F_%&SI9a)@GkZ{}+ zq)C&?+`D9EB^SQTs&}T4iupAEKdYG)|6jZV06CDClLA9W^J-p%h}B3;(Z`4f#zCMk z^WvN@Q1;)?CVYux@}e+*<4d5zMbixh`mFQ<$~0;afdt}z&wkaNJ)6gSQ- ziBK$n#FZmrS}Nu=6;Rv|0ia(m=Qb`i(Gv+s$6-?9%1a#hitk#yzcK}G+RDzE* z3x_QqMJ&1!T!$|uYyh$NklA?<29DRv#mFtwGTlh4%!n?gt`Jk5--W% z{?LvQd&KPW{KkIqe6FfLteUy}PQew*5RgJE41`4Fg%BuP;(t|0;b^(`Bn%X}5HR*e z2sPrTMkxfp*G6nwr4E+pWzx6liwIWpu->jk^hAEYL76RRG7f&bVio<#oL}IeO0> wG&3;w?f2v}M42Hk-yH+%9~WKm?-Tg~=N+b~zUBHw01E&B07*qoM6N<$g0PdYbN~PV delta 364 zcmV-y0h9jc1HuE4Uw;8jNkl`;+=SbNr1$dCCO8%$E#?tiyz^o;Fs=lSHJ8+R!( zLZUxdABml!H6%p3B56R`90BZw3=S07uT>%E1hs_*N~|t5(vX4~fU~R(z`_upWw66W z@Q|JC#6Jk4dQ3vsaw5H}^q6$O%AoAgaXpGrQ_5}GauSF#2LTB@(;`Kd-JY+iYwUX?f4?YGMkDa6YQx~D z7~lsZ|0Nu7G7Jk5p2880-UMqA;xQa?)Ei{VA22?h;rZye56ozwz<-VL ze1gZpF&aRiALxigfxrWS5^u1oasR{v-lpfNdq64zPZ8>(wgE&6EIkDX2wsGV23rug z3QY70IQj0Gz@P*he-PMRwE~?Lz(rjHC{FQZdkMWL+buz|VBeV60q)}by0f9#rbBVf~ro&DyfC7kB+ z(}sOjU<(Ii(WKg(aHOP`b0byJ3uud5c~6{MA+*TjL*aiSBU$AA(;?V_sa-*ksnMDA};z> zge3bDg!udbLL5XW@Jl=d`&+09^bwHRZXZ+=$|d(_=n4N9Z0000% delta 594 zcmV-Y00BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0uxC@K~zY` z-P6Bo+dvct@N>azxlmnW-x;}inKBxl zTh@Ud9OeUDZ{)tz2OJN7{apAb`iMqvLX_~ySRZlN8xjyhGIx8g0{t025OOjj^U+aX zGoyh$_cbB&2^o7wc%TD)PesH4JVy&aydhBI{;{KZnvMhS0Ye0tV%)_C1`q;RIsgJK zc;UwiY_-4!Fi|Uz_`72Qg92={pw)#H=qv{|?ixUTiZ9y>-Ggd>*#(Ff>>G1BRe;Xk zt0h)524x2(K+o94bGD+IK5BK;3~W0cs=L38P-XZcA%f<8^H+~rDq;`@HG)zavKpWa zV^fqQX5cfnO4jQirhb#n;&&hUr4dZnl8_`Z&S;VaiwR#FXEYa##iv)C8v&b!?DUSC zmav-3PaF0Xz*ZlBkcO-FhNbs4AZYV2m7E(^NVB)-Dw2{@eczH9LhX%|yPyW3pHfB! zk;)xh;f>O3t+1q|$hwwL^jx>ajeH2K8zGd)qN=dOZ5Baa+~(q;G9(p(s(uk6&$G$| zA)>rrM#x})f)Jk{fl35`U*a*?-vTDkCqSmVeNav)mfW8$p(gxYp-gzXrUJzw#qTm9 gqxHYgKU4_)0pnR!NkeXNIRF3v07*qoM6N<$f?a3|M*si- diff --git a/graphics/pokemon/gardevoir/mega/front.png b/graphics/pokemon/gardevoir/mega/front.png index c4edbffb77db72fe60cd849f0933936670fad790..76579f496cf6741d674b3c18f898bec56dcba0f6 100644 GIT binary patch delta 691 zcmV;k0!;no280HXB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@2LbN_ zREq!r0%u7?K~zY`eU#0P(=Zf;&7$(A3)(3fVApm8>uH7uXw_=ABZS?&fUmRcL^QSp zTPJ>kS?~Zws=8(tY*>MccqnWquKHug>TmAnbB?c_Amm4{_Y$>@f8IE`Z6jVxl4L$@ zA+E+rayMU)HUVfjre|a3-#{^K`6YHNsMC%9((W%-F+`sOxREc=K`)$Abt@Wx6 z*lw7tq9+dR_gl)brVmkIx1~!Y3l<}~yRG_;uml#all0GD10ZY;RiH`;=+#$c*H9SZ z+=YM{6$a%RW_~j>U5HM>my@Cn@nVszvRM^2LbU}15L}48= z*9sK@Op!Yg77Br#d}RRB^fUs-PEWgP<8`9g3Fq&|dQ$U_K_ z-UG-f;Q{C2B+d!hC=>??OB~&vZUI&5zQ8$ILX*S&gB_ryswEDDRtOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00N0gL_t(|oPCtNj@m#F$2Y}k8;}A=bV)kkl+=eW4*&vP9|eaO zz);> zsHjw)f}*H2t&1Y!Nz1aj?E>PoX<3)ue_p>xpnuu3M+E|JoOiZ^3V^0PoEiaEp=H@) zXLNpT1e#XQar$o!0Iy&@bDXLBS`XBkE$iamc18^Y@Zq#&y;|6gYXoYY?%CqoxNig+ zo$kx~sksDfx4SRK&Ud$C=mORo)#uaUP1OVdw_2@_-dE1A40!~evqEZ$FUY*y{Ae+TLY4qpB4&Qz!MII5vn!e@d~jRMPdM0G87__&IAtzP=KZe6!IJSE(W4hYXYYn;9HJ7JwUe#z}gy^@?D@**3n2ve_+BtHr&LK zL=Ff%UgJ diff --git a/graphics/pokemon/gardevoir/mega/icon.png b/graphics/pokemon/gardevoir/mega/icon.png index 0483a20123b0674078ac58c15b992e3e367cea5f..8bb9edb837921fab0b7eb6bcc89feba63bcdb3d3 100644 GIT binary patch delta 328 zcmV-O0k{750-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlHNac03N z00032NklvxbCr%+nt5XUgEWW45o^AWMM+6rcyU(on&ke z6Vfw23~kbl>WtDH}uuWPq%t2Cvv zwQbA2nL13I(XRCZoD0<@aMzn{LHpSZvw4)+k{j9l0sL^7;7y0000=)BSgr{T0P89tej;3B5LR;)X_RGixY2Z3dlFP&S>Z zjm=_^`)b#wjyBHlE42V8Df$fVhjuM#H=EHuJb&}hMKG;~jU%;h0Rn!E z1lYUXudR2;a0JKO)9d5YnJb23jD!Qcy*RN|IDr^)0kNbFUN<=;j-|3}0)U)&RoR?C zE=dxKYXa`*3*6+p9!DTEfLIc*XU`hQ)AHp5gyJup|0m3ueHR9kFySIh@&kkm(GQyY n5x-g~oBX)wU>cJjKd!?k`5n0_$(nMb00000NkvXXu0mjfd;y0M diff --git a/graphics/pokemon/gastly/anim_front.png b/graphics/pokemon/gastly/anim_front.png index ff6c6591aee7374df04559cfc721664deda67ed0..6bb1447c32f3d7ea1a2a8339b07ca2821d999e60 100644 GIT binary patch delta 942 zcmV;f15y0p2l5Ay7zqRe0000h((RY^oaR9M69ma%TzFc5|*!_`ZhgMvTRY34Rq;H6G4XDm;X)_#s3%Lxc+}? z!GXF5!2tmSz&;9$3P7K}2t)~VOCUl8ZU8TE0Xu={1AL4F+rZR4Xg#!#7z?ngdLD2) zFacp~70eu72Y`Sip^|X`?vM~75xoMaR02nUs#VX?5};8wWuP3RJwZb1cA@5Er{EF6 z1?V-=gaQdvbO7p%rZ54G+`iaeZJ@;&9le#`d5}t+auUhO*H2& z8JW`%i4KB~eLCkujjYynJ@|jshajy4MdU-UH0IV;aofgpaG^hcw53o0ErQtOJYe61tEwky&kxd6SKLlmWfmXb* z`C+qMpsXhx4Js;d48zv3yyOr%_M#Ff3FwGgRoUhT2_Xg@0N1Ph5Ho+^_OKUmogeI= zu0%q0en{;YK{Mus3EhmV{P2OVT?-QNI_lP@f=b$>@f0NMPoasQ+PNUyf;|3$KGHGRbdjLTj37p|`j z(tPXw?_1XF1w7!QevJGZ|6Ncb|ne&+aKfwnty07+&n?Mk;*ZIqM(OVZM_QTwl9S+nPkkQ_&_=FmccJ(jUA3ymJa%YzH Qa{vGU07*qoM6N<$g4-*!{Qv*} delta 924 zcmV;N17rO12jK^h7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R17Ar*K~!jg?U?Iw z;~)%$jQ}@fx9=3V`J1d{>gr>I*0 z8i98=)wdT3fYI#V18BeqDEW80pk`E3Fs3b_+R)_)sMVF8H`R_n3fejTPK30jw-hP@ zfVCEkIpv}PqLy@j@ejqh77dW~O6a`|dIWGC*IHN$>U#3L->A zIvf2}c>%Z&2_`r%EiL+S3Wj#fdI30Ry_MB9(-Xk$?xg23B7r_by@_kj?S=_^);ssG z6+zV-z}-WTbC41+!3lr~0|e{o1R@}~CPK(5aEw!6JppQe0wxe71vybV;K_i{BoKlZ zz&6$s!CLSBL_lZ~2;OSSickQ?Q8p=|H2@MkDoiF2fVUrD@w4goGFqwNQ6hj~Q13%Z zz^0WrKDwa}`IIyU1Lzx{MGN{u&H#rsNa55%+%%r`F$JZ51^}P944@he-xTCtt#vT2 z6H;*>4fT+JFQo*SJl<%LLn63%5}kK{!>3hHMYjyvx7o%mhjuX>z0U}6x4gjT-_=)8k}yaa%Y@81R`42aMpbQ4$xG;X&c zD1ge+6u;UOqS?mE{8#gXrk8q8p$c=28K9PnX+NQ66}0;Dj@1B`@;|+%t?9RuxXceA z*0S)XT=eby00b~gBI`TzgWQT4f%TX9fv-9-(8l$`0CDe?|Mw4h--jVU*gQVj(Y3aE za_=C2(}QsW2r#jKfeF3$i=;b>N>JM0j};H76>(<=iVpIM=E&s z-8;-u5CGZ#o_mk>f8t)!0AlFgx0!umz_aJxJv zz3UZ3=S_s;IJ)j#)o*D?gx=kwWk0+3x&4fL|7Y)xsxNf!671gR`UJpkQwr$&$@^0= z#elC9u!gTVJ*WUPJ!<3pB0B%0%pX?ul17>xIBo#n5m)j*6KtMf=oerYVXFzoq(X+V&X-q?c#X;io{u$5~cWf8!I?&6=~LnLzp zBh%q-f1gMvpq++PnhFI{ zilmc=M>>vFsX$t5c)=*AAdy3%&?seQ1$dPGB3;Bv!5HPfvUX+dxl2ftRVbr1iM0); zsceH+fOs-01)u z{Z<1I*&yhHi$D88e{@4{7X@@b1i*VF;H(?AB+~{c%wg>Xh5+!;pQR9(gIRllA;f^h zeM>R~5z3e(5d4>ahQm?^02NCN5q6K=gPT`qk}(>4=fE7@f;st;{hIk!+ zBZ;UWu`SkaP(5=3#_K}@upMaQrtkXbKLR*CEP!xr;N)h0fBEQvWmL%VmNVej_&8nP zEzNeF&Vl32I89wk*|b*$@U5Mu>Cj^RW1$uBwFAHaVj6CnbAXSZr|HH4v6rg~;7dp# zhp@Ur*&5)d=_UO@#J*ilh!~bSz+W<&|(5?9|B bg?C|Z+;81v#j4$M00000NkvXXu0mjfBKQ*t delta 601 zcmV-f0;c`51;GW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vbs~K~zY` z?UXxi+%OP^#hie{tz42@r3et4y9bbWEMpV62;dEn(tsety|D)g(x`9|V5`(V$|67t z-6j7>B1JMcFfxrE^XZ?bSpB!RZ(9BHCVNs!Yn?qS74JrzD3j2_>v#u_Y@tB%i53AX z8roRO6v!CTA`g!ij!dq9K-OA#!5C4{$RSgxjB%p^JjQ?260uNl&d68Zue`sKgj8OI zan_Pr``IkzZI~1w9*uGVC_rKaHq4BR$&08eGIo81@Z5A=%R7IGGV?x6`rM5MA}do> zO4DlcBLawaX90vXr2X_x;*Wk1P1pKG0o|Vi;5`x$Yq}ljxB&)#b68IT-3)NoUd9lZ zgIiAm-5diFk2UEzh%#;jHi`fGM|WK60ANCibA45z}O1g0EA3Pl|^ n_}iSyfmGt=%cAfGtg8M3+;81vCUScv00000NkvXXu0mjf91#g< diff --git a/graphics/pokemon/gastly/icon.png b/graphics/pokemon/gastly/icon.png index a5dc4527d668bc2a0087bb3a2b10a4205577c7b6..26c52fb0305a70c15d4bd2e336ada795fd734cc5 100644 GIT binary patch delta 366 zcmV-!0g?WN1GfW^7zqRe0001qplF?uE%5;Se-habZmZcjBQ@i{Pm;Y6}*HpqY4!o1t<>yXk$P$M*`T5*1&&2 z*obIFS>pDS@(D+cw%>s%Ic-0sxLdJ+d6*{p7}ivECv(?LLVTsF&kXJ9>cy#E12dhy zm{=n%IWZ6eIw1YjOA@dF$Dr9PX}HmVtn1K5-zDD<$n;q?|L43X%&{}jsH9@TXp9k= zFo2OLGBDeR4fR=WS)goCso}dF6k%GxpHjS}e-7XrEuua)+!l8gSqHgS0Xxtr`V5`} zsLhSpsM^RzXF&{r#S2}S?5TD9j;N}1h|vebR+6Tl6&D5`yLnfbU!I=lkbNO`g8%>k M07*qoM6N<$g13>LGXMYp delta 316 zcmV-C0mJ^c1BC;S7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Ru@yK~zYI?Um6E z!ypJn8+r2*{r|rmXr~phOP0PY84p`B&MXR^9>+hv3*f*f;4X;)1t7r8%E&hYK+{!% zTLce+q>DsHJW#o%8xrQz$SdJ%sFbb%!>%GgKGUfY20*2fiz11r19}!$Ajv;-A&uP2 zTvuROq7P=j2Z28A8x1C9~Q9w2!QDiMqm)_)#(r3ye)dOE4C9GgE=P83giU|-WwtE)<6IN O0000F>BjE6oAj#vXsd24^W?5l2X-B%g|ZsK`3N(@(1z@l7MVzhSGqY zLMXU{9q8PlV~73#TKN_MUIEZhUr9K<{zN4j zP6L$J$=tgP?tl7yS_buR$-OJYyRL4B)TP%#{7HaYQE#DC*+azE`V-?rR*#qamxs}re=iKD#of-jEI3s|& zWo9aXt#i2rE(8~DnJbzZP=yZX2V!(Eaw~2&L1(drgMX1MI%j;}Z})xQ@1+4lAcn(TS~~gs1N;*)Oy4;Z z5d?yWwk?DJdP=3RCn5|(F_cU57^W)R$P8-{+$T~@L@ENr1TYQ7ujLw|5H;%QHhJ8_ zVJ-eH4u35`9IpdY`iwdWP~5;Y`Z7SG#QZHKLSRIUbw?ji?%e?WKRdu?GH&AEM5#b9 z*iOAjQDOiJ48%}Rt)19F)WFI>SXDVY69!T*GLZWJY9Ng5UCthI41}5GkF(iBu7SM$ zJre}zMt5u=rdebldUahG2>gYC(D0_YXyr;wW$OV;wtN@YCFbB?- zMD|)pAa)dr{a#k1mX5OTON%&B0e9UM2G?E3-lK)Kfc6~eT4+c$c@&_V% z(qSEd9tpy*r9Y5B0K|rHoAL*#AnOK^5Qs+@rVS%05OiS0c(RfY1V{=*4MVU5Ag%~&)ZC@M!0000@e1g;`FNlC! z*)QNHuni|cRD>8L2TVXIBtz;HDO2PDgqpyfi!{M-s>!O|j(%$Ft2?yXhG~`oynp??+cmcdwUyHtoIgA1 z9{1i6rUTx5_|ol-F4%z@Ahqey_v6v9W!pMnc=Yx4=*-pvw9z`*XF*sfQiT5#UaRmI%_$ZbMk5@~Wt-v{ z2_PB4i~qCfAPvlmM-6}>kBE7(hXmv);^^l~OaS8h;D5UEr2=3&Jm(#^KXF}moCl}? z@Mk-iI{o~Exu;^51K5M`Jb^^t5<)P1%ayPmgzx)eCR1T#OHgqmE2P4^%anK!x$poo zz`_^5;~anxO+3@jbO(8aW^yge>I~pM4J`0)coGl94O;{kGnQ!){)&Zw5hT(VXYU5c z*=hFTEPqk<;oQU~{$UvPH9%Fjt>OZ!b*6r7R|Z1WTdSHFh#FWK2x%yHXU0I(K*~Ur z=lLHDgpl3Kvt*dbTO9erX zDH_If5bbWk)rK)0thT?HJB5284P*s~VucVmkBQ>FkU-)n7@ct*7(nbO9amb!sS3Cq z1@du?7SS(EY2iv13{&n4G2U^lygyLf+~^NTjHNp;d}Rn~Nq<0rU@S3&^!AtjAQdES z5Kb9^cmkPRm`@7?KCt3Gwh$>0jAaF)2|lZ%2nq0S7(h`VXz+QU&A=bzyG9_WcPBx{ fv;wiw2VMLH^Mx2VpDM+400000NkvXXu0mjfwr`Jo diff --git a/graphics/pokemon/gastrodon/back.png b/graphics/pokemon/gastrodon/back.png index a20c30c77e0eb48573249a87282b66bf7ed50f90..df96289d5a555f8452eeb3c72283e413292a408e 100644 GIT binary patch delta 497 zcmVO{0|y@!4Qc2A00F*9L_t(Y$Gw!nZo)7OhD)9R zP$%tJvOd6|pj{y`w_euO60flncTRmUjy%*HQbO&7Rob-qQnmT&-~Qty%YGP2j{qfX zM*!Q70XQ9z!1rGPlN?ZJ@U|4dh64(U?}0J`_PmG^*8Eif^nb_A7yvRc1>n`&32Ea= zg9BOtv_wpv5b@Aa0s@X{S!)4qF-`x5&0a(M$r@}W4F2g#2k^4)ZDwxe~>)iWm5m3S)i~v+F03FYe$Pk@` zoCBL^?zNDJj(>*ILtswUucgQWpg#8%b5Li+4nUGK$ z#NysgkhtxVE`JnfeIMG$C_n&WA%HmnkE2rFxGhRtMyYw$0HWUm-sLF!&4$xDvGBl3 z_FYh*dLR<;3{6?r;|^gE4@7&}7EA#l>_=Zg)g|#@1fRy!0N5-Bz%K5i*{~&s;hQ1??sj{6BiS*kj%#2Vg$(uyQf?Wh$a%|T>|g(36dN zG;J~BBa@#~UkQQCvZ8KHPlmS@Z4C_)LQw`5!-I6t%!Sm+bWzDE609*m? z*PrD?UE0E`Wo|vL(<4g>kh6=IyR9`#v4WPd-@Ja&JP|8Y^kp^hvu!(G20hEF@Jl9DB$OffUKE=}52MAE= zNC}+>z$3ULClF|!*yJfAJ)p8STyZOFUBbRG0#0Y$l(0v?IKH@B?tD*^O2W{v&&JW1_1r&3}w!*0YvamL~75` z1Al3@2kAf21LZC!deHtiJrLeqv{w%fsb!ztj0000J(*Uw;FINklEPxMXu7mp;&RrIB?;J+27+r)1nE@hkg-Gm0Mn&#&fuj4d>t~|TbEAhJ6Vn;`A*56 zyg?AXpWgdU4*EVq?kZkJ?wbBm2pEf+z8yA})-?SPuT)*jEBZHN1~~TP4=O z`{nzK#Hwll+yD>jud=eQl(1}<*Pqwfo~;Gw@#)*m_KL09Kn&-@`!~&&+)z;idHda0 zcc+5DhN@3YuwPU`ZYV1U5c50s9wV@!?#}?_5hRd*>VJkbpnW3F-5otZ9tk0i_jPB$ z${z~xyKPgAMt|J#1xGXw^Z+pnazqLs2?VqnB+SNll>g)u+)ggp&m2m?acNLl)=2`# zyC|XIur8%Fw@dTeN`O+&r8PW;&yp)Lt;r!Ad=0M0*nixB3DBU_XKvT=SXVVc{uW4} z3dg6(5t&^Hw1OirhC=6d;6IEwXRLu5r3O|?>@W*l2#&u4>O1)bY@7GuM4`m_aL6Ig z+ydtu@Y0J7;Agzw@8ezBnv{U(0M18pLZpQFGh4DCc(PElm;pr;cs7dk0H7b8P!i$- zV8r`kcz*^+ivc0XL^J~A3-NwqMw=GNS7P1VqZEH%Z zBE)j&sfJ}ulR&)CzHP9GAwiY#p#PVlUbi0D8uP>iv9eX)Y-;V>pw7o{^=9DzYJXq$ zUjKN~ZfFAn$?mM5KJo0T*56^JvQ-9K8xTm~+<(%-ZBX_Rpj8P}G<^b%%fG=2^#XM7 zz01p*mjald0RFYL5)o($(QEEk^zOVm`I_s!H&eI<2yE{LfL6kd0O?67K=HbSF^vaD z89xQUcz}+ibpJ>^PJkYvKV70OnIi9}l|d%*^++@j$w= z&wo0JyUE_=v)MJc!xzf+8LaVn8GwUTkVl+O; z05Jr45`6fg6g+G~>`M~n|@ zT9Ypb{=WNIA`CA8B!prnPqs3ICuM*X*rlyB#o>i8-(p_P5CGv0H++b4{ps;d=_o}5 zFnyU%7N8bj^?%`F+~t@jkkBUJoq-$71Ne1?s>E%W5OR_OULQXe72t$mjYVn#z$PuC z2Bbx68S8*7+Uv^Q0v$j#FEIPi1<(=TJWvb7KLpY|?%ww*ioSh6$8-cpSSN7lQ}n*d zAqCeZ>wlHQfZww&Efb>mLX835uK_6=0kW|!veh>LkAE{%;C&0_1!_I>fuGJxduIcC z8I)SvcawJkB@NC%)YS0sa!?Vd5+z=Ct#_dTA~?5s5U=_w#*TlqSaMXcOQ(TMt{ne5 zS5EDHT6`j)cG?AV{VQr*0vrzp&`QzfVh>YRV6orp5`med8IZK(}i#`1)=n?T~| zAnrzVTPW=T0=-noDZ0!ds*z$_wq*zUL$%04?_=JZ@kBxJ4~J5EKBW_oay5kzfDDmw zf=5tDDJKXLpCkYl(?kq9sVv8nMz+Mwln0hr4TKct4S*&39)EfOB?M;x0&Ix}uzB%H zrcAfEW*R8uCTuKmv_{`h{C$tHM4Gk$ zv8Vv&h_C|$ynhcs4?v;=6q{f`bO1R30?yq69-x^Qn0@d8>;zB`)B^J#0!8TqA}6IU zLZ^+{2_O%>K-;JA>26A|gPYRp;D#6jYLEW93_^@#w2L(fkY59ev5+;e7z64q7VB>S zgoo(B#}M4qWAD@@u&L;L{Q0mE)kfjf(SW*L7-+hDN%fUpVDztdq4*nM!pn`L& zgLu}jVq1c6j977Wu}i0cg={+2qSmUJeV>+}2&k=25xV&mGbsTMdjn{v?4^x|k~LWF zcDh7jrtuKE1@r{4!-D}n3~=oL6(A5Jutx_AybM3cADk~@_Vl{8DA{%Z0000s{4$$qYR|ThB#> z%$&vCenOi~kb@Qr*LSmq<4${mT0g=ebd#@YeTbKA;SJuxej-lRQK}?fMLOv{G?7wk znMm6NQOdMQ(O;u9qs=1uA2s?9ihO@4)a-=aN*q9i21FMwokkBGA1*eYbpUxdd;!b@ z9|r`eeWJ)W3uaa4KpX5!o83ag__qx`s+e&?SE45d)hpxJW`!^|rI16WvcisTwl_Xt z#fN;vY+`&qfQhIV?n)&;W1-8QnC8YuqDxt(c174oi4r{^Xp@dMIev(?egG5*yU|y) SdSx8|0000a zU;G)td!_%wIulVV-VZyz9J)}jMB$cs)$GZ#wbvIo?r4*jlb&1OXUNuUaPs=9Zp9Y? zsq#zK?6TU_?!z4762`8Zc4$VifbP{zYNw{mnKtdz0SUdGE4{wHHqx+Oac+Zad(TY1 zIj83V(N!PC{xWt~$(699x+n;rlF diff --git a/graphics/pokemon/gastrodon/icon.png b/graphics/pokemon/gastrodon/icon.png index 9f439b6081dc53c7ba88595030d0d3508dce77cf..a79ebcc7b5023cba23a163a6037d6b71968f4e7c 100644 GIT binary patch delta 380 zcmV-?0fYXo1JVPKUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlH$Gt^l` z0003sNklH_XN~LnBwmhJaR!Wc42&Z3W6U1at=sFltQ$0kXZE-Y`XbF`u!vQO8wn}6kIq3+Ot>6$B}%nwdXnld$!vF zBT&KN9tD66ZV^#v1g!5tsh=t-p{}OT&I>S^)9c(3{lV3gxqk<#G9I*_91C)2YAmg= zVj47<4??yo?3q-Pp<1F?o>gl}Z=;Kg%a? zC=vp?0KN;>#ZAZ%V&7Cf;y%c`Rd#D-9KI1786d@o;SL0yZLFA>5Bq+(ops$he3@M~ zcZ79{%~1~?+)=Qef~hR(fO!-e=Qz9^%b2|1d>~~jxa9*iRttFO&Bx~sUB4t|ob%DT qp89Ta!aNc&v9vpONg^O!?NUEP$*lBr(w5f%0000i?(5XVUko47iFyh2^DL<%*YA(xXv6-hvu(RfmvaxBuN(kmoS zka4SwRj_s^#Z5+4q|%*Ss*E1N?~q-Pr#k|?bK@dKP;&nVEPodJ@w+JckF8iN4w;Vt zun8J+LS1cHAOG zwDyM?!Aalu*Cfbnj%8*8#c@Bb7P1x#3<8qa6KB7Y0Lo&DMG&&g+P3e>4xmXeqlhGF zYy%3w6oM4NLw{&1gvcyNFcL(He#{etmh7UH8u=uZc>+2YEr~J^1vpo{6Ua{c0=9et zFYgFN_R5qwR-kQ5b}v|vlIQmHhW2R{g~fXIBSYKc>FwW$vYksSO~1s`KOYSW7zOdd z^APa%;h`0v*LBp;p6RZWagG8{|GEDt=yqK#jELG|SAX!KrP%6+JMvzib)rJda1y6m zlb7(BZ>QVk3M;H~oWv>l3tm54j$T7P*i0BKrg5^*Pi(iX$gBRUPUyB?Af4Gtp|Cvv zqfW8Zek3S%kSRqEsWZB@)L~t=8XCpCQ&&7-$Vzf(B;Mv-EDRE}X z@h6ngX|-1*Dtl2tXUecL zIkQVXd#O4WR5PiaQ;RF35L%D3=0zO zAi~-pW0G2G7Z0lKCWbJj*y6TLDElL+AnfV_#usnDWkKLXTx?RAMuMa_2?W$Uc2XoS z4hp#5>#&P$>upYu?S7-oM$d`(JUc8n?s~fwq|_7rw4%J)wzjnCuZ-6LCXFvS?t|p_ zo_}W9tqzajWclt3gF30B|JNRb5#msE2x0aTiX)sugmT1$!vM0EP)7df_7KVo!tfdM zgt9@H)j%j>7GZi8I6_GSM0r7&cQkl1>VrOjY!IdwJoXJ^fR8AQCnx8Y{o_X^p;ju9Mzpqa$s)m@43dO!?VGJyy)o&RqDK7T(s zKBJfT`HD=QAo=mx5srlcQApqsLgLKL22tpP4=Kb2?F*u~x0{|3^U$@;h$x{Trg2MI zv=|X(Y_;`nBnQA45XHSzT69}MY&L+wh@#?L@ch{kBVm6@0TA0V5Vn zAcdRl@!3{D(H(squswAncvr9i7=IiEZkX&eo9t!$I|4yfBF^9e(C2|b)@3-+Mt&$9 zfvhnPE06HN@dFcxG&4gnQp~B5BM>USpfIR58}0Cc2!uL78_xD92Fo8C_ctf3P0npK z;2;TN1^WR*4ubuFF%XD602q!y4gvyO; g?g{fl{Z;tkU;WZlAVgGmW&i*H07*qoM6N<$f;0?gKmY&$ delta 1296 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 delta 1130 zcmV-w1eN=+39Si`7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1S?5IK~!jg?U?D7 z+b{@)gAmU8{?A)B$+E1?P5(8VPA21;PiW_IyZ!7xH2BgT0)FKmLc9zBDw+>*y9$7q z0PG%Ogb@JJ2uZ8fGQ?=#!Tg5-5c7=zf%HfG8NgA9`!oOs@Jqs=5ZHy?q5vcc_uqy9 zCoqHGj}lKzCc_thj)SW&jRAw0Vy8w$y$r z0(}a~=)DI(KFv%x&4&^=Fg#5^Q5pg;e+{7qkgh`6Zn0Q@M)HL2cSv1`nQ-#YJ(VVl z0Dv9_hz@Y2y+`JQT*AdXUfn@z1MFNmu?}yWX=ve@8c&Y)Wc`w~xuM8lZoND|g zJa+^Uy$0^?H*VH=Y2n2GGM@oWxH*o*(sJ254h%_4AK6##rr6e#B$-L@%nP2*7T`^4+|?R{(mjVm02h?tjyspTg2T8NW#PNfVQ=vi(~l zu%G?xXFt1S0LQ&A(Kx0|44QKo;MwolW{~bEUxq z-GWE$Eb=oeN1CKrq`I?E&!%2?z(hLVPyxI2rKhUD44`Q_%>kbe|C68B5wI`{1~B1& z`cCQ>;}yUzzOw*7sOKg5U$o9&J_q^!xAK1#aFG8-`5g8CBB1EQF@PoQ-KZbzJy??e zr}{w=z_bsL)^J%rC<+iO^Kde+#EG7z`BG@t4|ef=osj&)PPkq_*i5+6LItB;KZpj9 z5L&9R2GsQfGC({F(q05r{U8@fSEOr6tA3yasb2hL{Q#wez#sGai395Tfj-6g{FQ|B w9Y*W^jrxJuZ2I;WTlIrWw%pXue)g~I59+on?nc9-!TS1~&Xy()3V0)flO(2^wFf4?_eO*UjyOjnm9KqugfGr51Ce)$WT}6TDk;=e`1f_Vuqetg5 z2cN*>*#Z(QM!|7-f3naa=-P4~(Lx*Ve2vfyvoMH6X!$fp$R1H*jxdHQt(}(;$3AX@ zwL>I`T&$2HcWD#uu)4TRt^+{>gRTFZ7u`5Yd5ELZASg9d-CC}q#E7UPu&SHO%cJy< zpv6}ENp7ohFP}XD(b&maf_*b9g1O39n^J<^nsw8aFqT~&KCRn(Qn-e?{a|Pbq(z4l7!saMzjUcB#{uC!)r0{e0QfUPcS6S^jRzaxv~gabi@zaJiHn9RO-RxG-FpoL>B zy_I-iL20Ba+mXf+)+Krw%GW!>>3rST=Ed{=*W)j^;HQ7hOXA@G0000w;vM}km^VH8RDfA54I zUChD`8I*0!5+xQR9-YvC8oEGmAd~`&j22H9OpI(n_?QR{poB8$q{Y*^)%(_H43LM3 zfD#g&5J6c@pOZlJh&NMyjVwphE6_e*BCsCwyOjYUJt5#DfGY@~N7SL%T_u6!k;=eG z1g%BHlSl6|hZrH?*#Z(AM#1s;WT8dSx8*#Ng(ltkKLYD#VUQDlp%LR8A$vrLIl>UD zbZ%Zk9=o&+&h?2PbFos%+@(#t!9Jb+eQFP;|)FF+^fTUDkb!)jw5(A>1 zz^iU9FOMobf(Bb1Cb_N3y?hM>L{leg3I5Hl2&PG-ye%d8yuZ>@-2Bm_8JzMPS=dg7ryvqYp)HU#zlYbd4NE6z?B?b%bYYwq9NL^RZ)XY0cFH{^RipTV2#9O-=Yr{y-MX2}gpAe?L9bFuD8Z zS@GoZi58AiPosxKh)M%h*$gz6fF~*0M`BodI3+xp;hU217L2jKxZtOMj8(X}00000 LNkvXXu0mjfyP6;* diff --git a/graphics/pokemon/gengar/icon.png b/graphics/pokemon/gengar/icon.png index 8787922a298c52cdba523bd71dd62a37d688e8a7..49f1694ca03eb0f52fa302eab91a46598e2fc36f 100644 GIT binary patch delta 312 zcmV-80muI80*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|*gyEm$A` z008nyL_t(I%jJ@>3c@fDhVuqT=Yk#F3+)T|zKVz)Jv9%|Kp&u!I<}OEn+cv*Y?GSN zMZrLa`}mu?9G?(hJD@`#LxA*30S&~Uwwj@>9FU4Cu%&jORe!d!3P%8~QmRv>yBxSy zSh|2PT$hM0K=r<_@j7&cWX08?#wdA#YqH^bi89h7K-}He{L7F4Y7m$8)<+;^a^!D( zinyg+cZu=n`kHy3XVUn=pvbcrC3(?5W)3nXxreL7Mef-H?laH~lEzmI#F+lfDf%C+mwwjLj)E?PW1J^!tRTAMqMuZR^b7z1002ovPDHLkV1n}{e*ORe diff --git a/graphics/pokemon/gengar/mega/back.png b/graphics/pokemon/gengar/mega/back.png index 6cf90ad665abf8dec109fb769e345c27f60e272b..70c320f5f71e3da56cc4259c61ac1caf5a065330 100644 GIT binary patch delta 724 zcmV;_0xSK)2Dt{1B#}W-e*gz`Nliru=LQD@2o~!}&4T~{0-Q-iK~zY`g_XZ<+b|Hu z1w#+ulc}wPL`y(XAO$2^o-&w<4Rmk<*s}I)d4Zx&;FoB}pi|!>NJcLKyy_9+XXqWN zKNRKITw)!6{O-FuN^zXQ8gb|Hav`_|Y_9=Da1BVW0KNz;+hZH(e@nQ+3oW28;Z8&n zm;e-(gzN_-0(}XJgytjWfW9p-lPDmy08BFO06PZ)c*dijc?&?_L~~{ps3$u|7n0jX zFd6rA)ZLMjKs^mjfNrq#(+03}0ONvAi=fsU0wqt>tZQIkfl73I&{Zsn_lt;6k^QnTeHy)oJZMHCSxc=rcfD#t~bZARJ<5GP}LIBRC0z4k}fqC1a zrOLrXY9N^7=~2BbRQXE9RwW_>03|~3w7s(I`c)+2>8Gk8f5%-7FyC}Jo6a@hVj*?v z)y4##=f8BFQ;|_A#F^#p{=|>8Eks6%@31WVWsd!KoYJ5&?Tck)X?i5!@0PmUgzieK zoov6~p~J9IWxhS~e|sDT&)YfV_C&t^2pkTqlL#$|Z+nk!bJR&><~FwXnV|&;Wdlrm z3OJOI(Wt_vf5ANKd01n25pZP)T7rwRy9=0X{iXmX!dwJ+Q)7@q>|p&80sVs;ffuV9 zjH`{n4A|i%TBz41)+d*(0^PPuve)FWp#An_OAsI=JAAoaIHTB@&$2WDSWj;8Ba<7c zn`DyS33MqEvY59DUNfzn0Cf5KhCs;jI_%w4@AXh7N;N>AG0u*>swn*Z^ik15ASM&{ z)tahw^XmQv!|$+sIMqlc33&K8>Pvr$>i97~)k~W=p}>D{l;!M3nW!`X0000;xG_~Ba{bVf^*wLVuG|c*MKs)28^!&v2Z1Nyzc|9L@1)v z16+x4Ao9cpp!6i9yC4yNa3yFZwWk;ZTw7oVQNY*(Fi8Id_%RT`GZ8%&EdZ_wb7q;S znIGe{BsWGd@4GRY>c~N&W?d7Y3oPTY0sI)ixS-P_Y4o~4#dFo`2I!bzQ1ZU&wfw|{ zj0IP{mY04NoIaNeaJ+jBq&r=iRY zycisZ1K2KmxG6-n?f@o6h|g68-mri`y4%`pX~hWR^<@AhE&%AzmjL5ZeM(XQ&ZPn( zp1Q!SEzv^7U}9_`7~|=Yh=MX-sNC!ZP6e4Y}s!sJPbMf?32Cjw9%);MDFwd6wD8FS*zeJp8l|>zI;|?(BLROm zRAsYtS9#@RyWJKYrbd;;e#`&uuo=8)`%w5D`T8RXIIxpM>PdXtMRc39lf=~C#_~Qh zv;e6zz|c{^rlgEom6`(cspDaV)kPqbDQF2UT7j5KyLwZ9K#*Z90-~YSNFlbcddYzP z;Cc{^R1VhFMqmPL|B}tsYctX(7p(%_wy9*V`F>9O?a7uPKuEU#ayt)tBdb4)$_8LH zxW$i5VTCrqB)t>pQsiW@XcZ#Ut%3k_`TB-H%8F(=x~bpw6B{%Dea1LD@Vchu@5hgt z1_C28abK@DD9f;@?{9GV9TpGA2B{?h4<848>5o~nekhL3&?b)aAove&l;!NVHdD<2 O0000=hw(%UjU zlwJ)K_9$fEOVVoE=*8nc=+Msl&Hw-2%d{orMQoC{qvF07VDAMge?pjr&-878vgWEo z0ieQbl>(KGJTK150cPfT&sZ-(bRc8q@7Dxi)9YZNm5mCBd9=jA>oDO~n8{GUAnQPM z1};okqD&wK;AIIf6(|Kjz_W1$0i$Hl9s&&4G64ioJ6%fzh$ch>^Xb|s0oY3b95`PG zmf=zAuW8tj_?`pce?Zr&1mNT4w+uL=ht$w`;rfsxAucX|E&z-AR#8KT{fo~jzyzh# zuvUuDZ3KQm-W3SY)gp8kEfCmaV1XLN8uTq&G%t^Z;9Uk?Kpd{ru=R_H;H%iY?y`oL zTCCLYspo@!^Q6~hZt7v6fVQ;J8@(^KXzZQzu7r)FG<=-3fAtKo?Hic(_RTeOk8l!H z-W372afL(fUWxr9TewtCz(S)-U{~;Litc`bz+e)fKn7^QIyOxSZY6(lR;Rnf)J!Y; z&2d^pi`tDjhj^GLzYqFCgr?TCI9&ox)V`f3JIOqG8n)#K`W*pa(M@bci&|O~ol2Sv zlc$Hokb?OjTtt%ZOSwVdc&Q;Gxdfh(orX$rJu zU*b5c_rAP8*K0rwhnSxr(3~PL2nZ)t=}Q?L1E4tO70-dDRHHF*%$lr9*}m_nMc8#L z!k0~@YBS>Wm3ma;Khl59^Ap>R?E{d#Q*ms90crz6f9g2_26fP!sk>`}9z`i(ni*QmuJNQH?zK5UXLI<&@r>W*92hG?O@Q-MhV1RR^Z@vxO7U~ z_i2z#-VK``kz#az+)W~NrwrttFJeE>)Ih+FOa3#amFE0JB za`U>&8*XB;lHpU&1O4Vnugjgpql^M{X=5~cUu@afJLz3X8%J68aMso{z_)K;+S@nR z+&RKYFm;y)oW>P@4!L_J_m6DpFf{=S%9g;c6zLS5{TPA4#7BV?pukpamJq^<|KhAp zcZo?&EB&8SX%QN>8*>5mFpqy9^rZ|;+Oz~)0+q0RJCAqbdHghNs}Y=c1c1dh@hCKG z(J(w!EFQ*B4{=!yCNR}0m4{U(%1gl0eUOiLo~i>K!J7+z1OT@d0+p~;3D2q40)P)f zYaLA!pso4}$63Ai)cv_p17bMD{se*M6oG+H1gR=dDgPJ%EwHae1~io(jY-9Z-Hc`yP}k9062q`rs-FC@r_s_JJ?;VX|4 zi)ec^To~VspJY%KlON4g-V~AEiR4^<>deaxBT31K-69W>qQp=lUD!|Wc}zh uzzFaV&%p|a^kn|407-(s(f`kikbkk%o`jLeOep{h0000$USwq+nOJIvj;xfjl#vu_TS%?rL-tLpm|M~n0@$2IzHK_?W zOo0t29WdidEL__|?i*<71X~$`{g?Bk48U1Uvm)AgnR0000J{J}{xz0X@CMz;-=ke}Ix!kjYMI1c^E%1AR&(D3qbW#+vNZflW{Y znNiIEwt%alO{oWPbL~n zWtWWims|^@5Gve9a*fA?Qz1V0xxG-3Z)?dFyD?hk^rNU>FAJGejT?iQb^EYdT`8$- zHx`}UYKnKey^gjvVLJ2neb;NyQZK6tIh*JiKN9H~sn# z&c86Tgh};On5Oq*B+R!T)aD~$`XlXHPZ;NiCyZFk5@x0!U!+}RO*0+W!~g&Q07*qo IM6N<$f`({}pa1{> diff --git a/graphics/pokemon/geodude/alolan/back.png b/graphics/pokemon/geodude/alolan/back.png index b82b575e9944fb0eeb54702e2f20fd9ae7f0c71c..188a3d1846fdc8960fe1d802200b214944b65682 100644 GIT binary patch delta 507 zcmVqUxO>YsP zy9Y=BurCh)S>;up+PWnKvcwh?GLZGL1v>+E77!Mhz#Q3nW!s2im`c8nJ~+!Vf<;OeDv!ssTP(OFGTiG0-G{1o`I4w*UrylSimx zU|VZ2+M5tlQd*r^76Rzow3WAi+(LNU32wUz$`pOF%HWJNb>|OWF)v zE6OX>&O)g5F#hr6-5-eHEi_*TI&SDz;il;TupBtoB>#p&e+SIBS>wX!96+7LJ_S+^Lnj6B%}VN1^fd#82S|{w9qAUp zzz1oB%mr4tf~r5z9#NlS_+mvKfO(l${c%6G!S|siz_#EaNTgJM+n>%uN{uGKirgN% zNb-^vEqg`z1eMWXy>9!@j#kB3WE zT<;{mq;?oi_Pi3p4r|?!MwV#I++e~s=TY~hk0ZUxV>-==YL9?hfULl(zDP6;_sAwd zu?;C*Zr+9lD+!rjaZmeirlBLo`29UV<865V4Y9ff{5QcR*ccT8XtLP&fZw9xU-(!+ zq^PFk3@GpAH{=bnj&xZ<+^_%!^fEveHRGa%fdBXv5k)_F3Yi$%UJ9N70000=4B0fI?HK~zY`?UX@ogD?<9 z2MP8V=%P!;%DN7eDwb?}=xIhKDKvWLUUZCoQJ5D0Spr~DRRf+EfSiG6}9@_w{ zTJ=vA#J>PZJ|~1&%q14*m&0|AnEUy8t{rfQ2I%-1B9aeO$N?ole>Aw^08NPT98kgm z4?G;8G>6=XDnY8yMBN};*&4Q>IK$PIQ=JmkWTMv=anlrRAtRar>H>6#P2ZpisURjw zKSO3M1bwp^`qlv@1HuDJOJpE%z*cjlO>Ii)4G4*pg$TD=w#ao1)Wk8y1C#>b>a5M! zY6GDl@&I@e3c|O+e*yh?a`sb2rQd6XaX5{fy&I1wVjz*i_<-cbK2Kv+jK`^BmjTKG z=0F~YcB;$iWRZ*C1M+Ogi?uKBm*^AVIespBm+(#)OFk z%?zkHITzrZ6WU-S)IB2e{z+t$PY0000TEtfX delta 446 zcmV;v0YUzs1g8X$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f0$FK~zY` z?UF%mgD?<92g&R)&_$Pw$pP#kQkE`QYO{+#aDfVPfv6myy+G9qcbr6uiK15Ou2Q~* zV8ol5@3G;oyZ)=9%!oM-{)6VM~J zLyJ~WNla8>h1@xahITa$od+rgWB^o-$U^FYwc$*cxs0+4Ac(Ys7}rL1$bBp{#5pzq zvNC=%i3rkW29x%n-i$Tz%M_wtT~l+o#QFMu%x;`YO+&GyS%l~(|y=#S&m zpn5czGLfQP01X%C=KP1S@MFFP1UY|=jw-cde%S%Q@lz`)r70U8WH{%b4EvzGamR#P o0Pr^13;ZC*g1hb+`m+GO0b3$a_2|&TM*si-07*qoM6N<$f_Tf#i~s-t diff --git a/graphics/pokemon/geodude/alolan/icon.png b/graphics/pokemon/geodude/alolan/icon.png index 1a5f9699716f979d3485d22db4898ce59047d23a..f52d114bac36ec458f8a2d68a94d4b91fe7e4513 100644 GIT binary patch delta 260 zcmV+f0sH=%1K9$QB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@2rxNB zNPYkS0K7>=K~y-)?UKO_!ypVry#aCu0Eq!$gLeNhpm*fZyWJ$1gyayZx2mcyz()dG z?*aT)$?0q|wY*={5W&n9Lc5qZ5tvz)RRdasq5*JnhHao)^f7}@dTjR5c&|Z1u3qNg zrh&Eh8cUVz^k24*%EhJ}d*G5QuYi_%t2CiJQIPiT5z!rHlH}+#F~Pq+q2C#A^qUSB z^q1g3f7M~6uR3h>RfmE8s>8I?R~>fx(sUT;HywtVnhx+yI=lg7wS)zq8mwgi0000< KMNUMnLSTaELvr%~ delta 323 zcmV-J0lfa%0-6JmBv%J?Nliru;|mWJJ2sk9`SAb%02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL006#8L_t(|oaK_i4Z|P|MZE!X2fz{ozy|I9V?ghS(7W9vm0z4#)^&h}*m7LBdmB#x;^#ROU-nWZ&6M&gzTNRWYWCg&H3|n7n*2fHz*yMt7 zPC-PjPF8SHVC}VrTqTkAWqYffZA_s9VTzO=9&PDgEepyW1v}UpA<{IHL@F?qoX-DT zAEghPv2MB!Z_?kul>V;6n7-=pN?&yt(%*Ghj`UTBBYkN)4Cyx=hMAfU)4<=>;R$55 VgazOpLC^pI002ovPDHLkV1lJkf=d7Z diff --git a/graphics/pokemon/geodude/anim_front.png b/graphics/pokemon/geodude/anim_front.png index e5e28131d6e8f0fd4e5700359000f0dfe6ca73bb..233ace81dc96c31ce4928288e0f2af37760257fe 100644 GIT binary patch delta 756 zcmVJNR9M69mOFCWFc5|*6s$uMU_6sXrbQL*5-|sWyf^?j zT-1`rfYas(xr)miA--G|dV!E7xJXLwj5s6W<30#T|DR=3Oz|ILR?O4u6?{tqRR@3T zGyoh@HD;h8nSvn)o&P|$#0r0-em@OO% zbG-Y|b;prdrv{K!Hz&gA_5^SchmmGgCy?_MQ0^SJcm!An((cPu-#bC`1JDX{h?^ro zcWUEnJOD_VpDPc5I{`CL+&mMI4~lEUPv`OFabL*t#L?~bEX5^0Ab;%z@?%edhGsP5BB%>%lSnr;a z+C5tVq=8PRwVQk8NTp~s$Ot&-ZHQ${>feX&_bV9@3@C-ba|*V4id$k}T9UT;NU(>v zrKPT|4vIl~S!3Mu5^Wg(5=MV%cX69u$j$%P_NEz^Pk0000ES+rk-P@FOpvKX$H$;_N28Ph#UcbEMJ+gjyO+C#>G~+-=s$# zha{Pr5h$U|h8$pxf(L_6fgk*Q+MBtO0HBB|XPIP9Dr9)FAN+KH-oac-t1peSOX{ic zb^`!l)wLt639i=XioQymyL!j#No+7g*Ol)l!m6GAN+*sIl0NF!CH+1_rmY0UTm>Am zSz7>Sm7gJhyeo81zCk{aj~Fpx#E20i{(lVT`_s-h_MSVyx$_OZ=iz}<=No&^8qjsV zQ|LY05_-;e3cY8H2%YZ~de1OI=UXZ`de2@C5Sov`duDJo7c>Xc{`bB2o^@h}&mW|Y z?JM4MZ|Rx^M929$!TY;!VYqgy~Z@XWbNej7eqK)4C) z`!_Gp-j5d$l0TdzpagfSodtw11Wv85n{3kcLAZd>SAF@`M@zR|KwR<9dK)AU{nWM# zh)e#{oI6syfOs$8Fii0R;yR+cfVd90wSd?W02j1a7DIg3fwK~p<@I_AAp9-(mY{o! zmxjtQzt_P`u)l)nEx5VBK=LWvUqLXB4aSHOBYrQw0A0Bkm=0V7H2?qr07*qoM6N<$ Ef{WZsvj6}9 diff --git a/graphics/pokemon/geodude/back.png b/graphics/pokemon/geodude/back.png index bd2cbeac6cc91b16207529fa330feeb3f12ae60e..d24ae825c2c99d1e2781c40dfab5a6c35a18f72f 100644 GIT binary patch delta 511 zcmVnE%FCxpH@#uKj0o=_O+MKF8`GYa~p!Z3jHWWNrg4KWR zNSIU!W`WWgl0XB{8UWy_7GMgI0D7OU{sDx8E&)gn$P~c*2~xO3fqd?9$ZT_`N1Rfc z(=N;G`Ogz*3{=a#g3)oFTCDh#$DQG07Xr#FAeFn?7K&n|c-(;?5js4|Hc)6lCfGb1 z3qUoiL4m-k2*cB{NJpex0KNjb#OZ$sz%m1kYCeB(@v!vi#ugyU`6xE8t@n-&_CP5w zCwJ1?!V~9EX65#ioE8V6bUSOoyb-LLfU=<;u?ceu7h$ac2&P2)wK`s9zXeLuML-n* zC5p=lsg)=hB#E{V1*K1alSCP3@y$E1o$Y~9B+N(VCHL}2>>PG z!`&EHE`Y+9<9-WJ((jwz`s4Q&5U?5oBojJKZ3FT`s!e0pN%7C0hV#w7`Gw z03x!hKhOa74K#WL4|@jM5d;&*!Tx0L>cbp0O-Asj?;A*ZOO$WL0=Do1l!u~~$E#%@ zrh2K*-ZT6F#d~H=q$}xmvusAaqy$K8Nk>RwLr}UTLjtPjlU?G$NQ^MdM(jHp$od{) z21WouF%SUuQSxNH^8I%Cl3w&uO@M#GNFpnOx!W^6A&np#D4Fud0Uae%LueyaMNp3q zT_&0BEVB4wA2<7K z8l>)fX2F}_2uOMD7&+0`?c7wjdc#CVhQx!L6EIzuP=o?vtj6rTizhR^z4@DVp36-gW;_6tI{8}*V}N}8$&tLB#tyDY?8=|BUO{0|+~=mXY=V z006p4L_t(I%k7fE4Z<)C0JDLW3=mTfkcbJ`e~hMoaKj%{VyjL2fhR)b4QKRELhf>d@_^I=FAr;R!JJY{sPRw1fZv002ovPDHLk FV1hVQb4>sM delta 218 zcmV<0044v|0-V1K>L)MJXgx z5q;Ds*J%ewv}h?`uv1=S3`{#wf}*CN-T9y6 z1Nw)a-_h^?PV`qD)JVVUFwyTiZ1hEkfqvJa4)j@vjXtps1AW$E*ok$R7W}pj4>0#^ U#>1$@fdBvi07*qoM6N<$f>PCHV*mgE diff --git a/graphics/pokemon/gible/anim_front.png b/graphics/pokemon/gible/anim_front.png index 459d543f28d8b4286c10b5a7e43d47be79dd0926..be19deebff3e64567c360a59e4a385dad9c00d9a 100644 GIT binary patch delta 900 zcmV-~1AF}D2kQrrbbkN`bV*G`2j>O{0|^8H>y3&400T}*L_t(o!|hf*Yuiv1wZPi_ zWF<{X7Tw7C0Zx8Ep7PYzL&0|RNH8SOP_(Diq;%_08oCAKA!AqJsnDrp@DMswOA8$p z2(+X97ux$IH4y3grF3iYos93{+|Q?bYPE&^rLnvG(9rsg_J19KCV-<2(AEQtO#p3( zrXnyJdIHC8XbC`whL*q;T-O6V;Ey8c02u*>=+f@GXhLRUoAy6=vY7*1&Zr<3yKNNwjQarHL4JMlSb`U*!|?E3LF;jP~y3`+RAtBh3-X+J)lhl6a!V68e+m z014RY8TCZXc$_4kQx&2!^4to*VDWgumeQ{(Mr2nv&wn_LlgY_2P0=qRL2TX%rts+^ zO+^MEmfz2EOsC(mim2KMoai7)F4Oet3L9?|5eyiNFAvgmdhKDO2!I8TKO8E8A6SM@ zq+q%J6#cWAt$IytJ`P&Wlm&C1mx5N8!8gex4Jjk zkS|>Jihmz{%j#;swknZ@E$lxNDNL&|4Ac->3DMMRjCywb9F0G_ZSw(ze{PaIzm1yv zpI=|b=txr^1H-YAuy1F6e;R> z7ZQV>wu#3Z&+@Q7N7`XEOBmZ~F+NJVJIF^Y%4LyZ#AAM-&Rzp$3@7@UttfRBLV71jzmqdt*C zT>=8uCKG7MKsc1Y6)Sx(QNs}Djk0*&*#ZoK$6Gp<0tD7=l6uevc0W!SYxfmHhnIR~ zwtd&#mAB*M-Y{D!(Glgn!^AiOlA(ZrX8^x?$p#466+13=VwGASKBIz|kVn8qnc!Cu8bA@jS&9LwmD=DG z5$rgQiGkYO-^d975a72;6Vo_T09Tj*YwGW7FdrB1YEOn>3?MV4^|AeKK=IcAd|SjDi~ z2%Km?O)sIxfg6A?7%k1qGKY;ql7qX>WrPd*+>*32~25RDSTYStLKI)3#4-BP!$9#Hsell1f3*l_>z>&r+rrt{6>I@20M zGuLj;J1rsbH1&I8jMEM=2YA}3O2n?jyq!99W7ZQV>wt>eRxX~Yego3P VFwRtOb9ev%002ovPDHLkV1gA>r;z{v diff --git a/graphics/pokemon/gible/back.png b/graphics/pokemon/gible/back.png index 6f17dd4ebc5ee3bfa447ca995ec96963139a0bf3..26e709660cd619b2356764cc6ffff4bd9a7d67fc 100644 GIT binary patch delta 527 zcmV+q0`UET1@#1wB#}W-e*gz`Nliru=LQD@2?>8%@izbf0oX}IK~zY`?Ulc30znYQ z6_VaNE`?2G=k_42o(~|GwK&ow7Z+ob^1ufONf)q583YyfE%IK1*rdyRTK!6TIi3@=ze3b-OL+N)JrPBZQSPJ*c^hRPUiRJtyZ zgwnBSc~(go=?nmdSVR;kYzAFPj=($})B~YTgMf_tG{pfxiRD;QiAZV<4i=E(8IfoT zF$_(O8e6`|8FVQie};P?d>zl&aifti5*A3{=8ZlJ10=w7n~AQ5I;nvIOGG=F>9|9U zj<5v%cWJr-_US*0g2N$__nNt_+{3sAfC`a(`#@0@c-l%I5aJ;4vGp_H80-ihbZT}> zkI7zxc>~p$D1n2rt26F;#6$qk)ndP2bY9HvaVwz>OVemje`AxCU`FCLsj|iGkiD(LI+qYWDt-Nf}V3(Wk?8ElhuC2SBeAX z`ncYF9qp}tCpiyu+rp+QQB>|BH*>+C*QZ8hXpg)5YKkgxXHy3bi(+?o=G6WZm9<_^OpdUbV6S_Ex&<5^X_`L*iareDH zv6nYhaB=FhT;YCs-amPoV6T6dK%M?_A7-f8&&*+-WSL{E9R&nv8A==oJSlMvPDwV2 z0I?}4cAd8b#C44X41WTD*s`u`KBa(b0yS!yx?bkI2RI9+mME1oI;eDQj#SeqrPe(l z7=-$s$3khXhxGnX%2-zbFvL2hKxHfFPD%t`veVr_q{|>6lNl|s1<+zMm((Jb+Jl1y zkb+VV_|_5P9EsHFhB}_OplrBZs;a8P+^O> zPG%+^6JQWy3;J;Fw zc%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|^e{K4g>t z005~;L_t(I%jJ?W4#F@DMRS9k05}P78&>X>g^Lt1u=Xn(Lq#AFv-^oEN^KSfrV4NW zTXw#q=iK~@{LqL-dsu@4WZho^&`V0H`WTH7uT8Wo(PU!~Cud~{;)XJfc)|UlgA~en z4YVAGN_U{#(3a8geF)nc?QJ;Ug*_xuMZfIox$51rVlwA?I$31wKEh5!Hn delta 199 zcmV;&0671~0-pkqV1KGfL_t(IjpdRt4#F@DMRNn6fN~PxHmuw$3l}M3VC`2nhKfKf zX4egc5{HF>sluCIWXE56&dtA6KYE0sCzL=1=u{xYPzbR-*0-pg0;J z2y2x*LW0}f9>OZ870~E3#O+??iiRgZz4x1R+8a1({SFfIsX$bnw<)gqmzNrgxTH=N zHtv)CbInSa?8i$O{w9p|V-&{v(T~E|FseWJF#x^PzE4GC9jX8T002ovPDHLkV1oa^ BTpIuY diff --git a/graphics/pokemon/gigalith/anim_front.png b/graphics/pokemon/gigalith/anim_front.png index 67f9a51f2fea7d3bc9e2c019a29ad831b3b89946..f336271a4f0331c052a63ac0854e016a30294cec 100644 GIT binary patch delta 1438 zcmV;P1!4Ne3+oGzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlNcf;b3G z000F}Nkl977>7q_Ne{j3c4tywk zMP&5=a{x{)B1YZ7K%|inSxJI$4-hIf2|}+MI9)};Q>rBUfT>b)(gXNm8bz~Wxd(8A zD3ys6Jpc}~fPbaM)4Uh(ehgUQ{Ll-S-ZMNe_|wN??4hp7Hc!6B^UuDYJ;5#=bSF)+1wY4 zHDDP6kMRaTn22D+$DH{mYaj=}YXESfUh>T0qtkkfSxf@%J?ER9gPAy0PG)m{TbGMu zdX51|et+Ho1}E7vSFlEzuBUS9V%7#Q02wTSt5!)W^P~pOcfee&@&sPOU8YiM;F9yv z4nR0lGJjRXUZU$4f1WDl0DfQ}q(%Djc~wRA2+%291PmtI zh<~^j9hCAVOiNv_Iw)02ghwsCQhb7$x|g&8$6XS*+R+v$;iES<1=KI2QORonjm815 z0ILOrW6r}(j&RQ{6S_Tx@YzK80pIRPhgl}2joZl8Kec}5KfN`i7$ba7h9EtrBG9du$Q;7Y*0GW{QdZPz@24O^c zAMOE&mJ~xoJ@GD1wPNUf-Unm=WR||+`UT-sm6+h3{Lf?*xvFFWckf4kx{AP2lpXRO zfUbNmQ>#fIfM*$*%Pbasfb-2)U>MJy2-oQb>`%|;U>K8Lz?^-n4TEUF=mbt|ZGRXn za&yZcc5USGV=#<@j~69s0d=rK525|>EPuqo4~*8HtAe!xZI2{2_f%;x)&yAHh2h0> z5?(?smG~L}!K(jTxi>jb7=jCP)|x^HRv?a#4yf%eDL97HmY6D75xVQMvYdhdR6x@o zs$jLyT_VO(r}q*RWYqA7b+GD}4S(wF1_f#Q!#Y?I>?1m3GS?s$i8Avb**Jl@?8ZSO=@T|C>|$0T@8jA2z|7 zzxfpe!mSLW9{H>Af2a8f7k|VJ_EBzs(<`%`NJ+) z*Loo3Rm&fC!K%|=w~MwvG=jDE2YK=Kb<-aj!3twkj`ODF4~<|2pjMEUKQw|ho>dA$ zAGG{o7p&7n6W|AC%O7^Z3WLOzAGG~p7py?gUAk}mp%JXz{&2Hh^M@W_=MNqC#5I5D s0UG{rquua_8(m!YhmPp~PZ#~+Z#piQSmFG=mjD0&07*qoM6N<$f)$vZ)Bpeg delta 1400 zcmV-;1&8|U3&snOUw;KrNklqmA2?Y>!c(dwyMU=u zaxwt;VH!oVVz~owgD91W6axSbvw)?=vwRTnehgUQ{4fZZ-g7)J__N1i?4iERHjkg; z`RCuyo?w^m^?x0xiSOZg{#}as0D$b7&14<}P!im?h8^0RPG^t2#Q-o86cf6z0pPq3 zAYMEsp~_vQoPJD+`+&VWcon;=MFp_xK{qzn)_{Ldssa{J zS;>&`a37Io9zz_#r+FxXu~Z$P={QxB+qiycPgY)GMAjd~{N;F^fsSy%&7l zIhctPdP z?|(I`$}<1*_ct1#Ns?GLY{iiVR%w1YD`cU8%j8Tc%DfP3mp&t5H>;5%a=-BG{6|%EPwmv7SMB86aaNg=BKAN0KV9VKGus* z>zkkmy{u1+jJyg607&8LX+rDz$Mum)g0WozS?K~$z?zgoy#|zgEJoO~0N@AqL0Y7* zUQ|_7uK<(6i-5sq8xi-SgHpbNZK>lkBelzvKNRgbxEZD+w72-}eBFJNkh99l)X3Eg=&Ez%GT@ z4eTKk@?AIj0N@`Pk?zAC0MU|Sh-e_*#ea!b4Bh8LKn6f&={H`={`OZ82)8nfjz6q}_53o9;UM+(>9p++n_zuFrQ@okfOMX= z{b3WV`3%e=sq(+$58GgE^gznXjz4UJRj0om=Usnj1#9gO^8DSKwm-Cj6>-+69OrGv zA6mf*K&>Dhe`p13JgXFhKIr(vHdv>LCcqEOjz4UJ6&8srKj``c+5{^Qb<}nJ0d0e| z-yg1zEB-J5Z2jT-xatoBK+7MljcfjJZHlY@aGm&X{o!vqE|*ve33@RA0000%BU1)v3xB#}W-e*gz`Nliru=LQD@2^baX(Zv7&0s~1zK~zY`wbVV1qc9W) za1g~7)4;|#z^-O`A{&U5%Hrh!7Wf1sWr~zY<4BY#7Acomi6RA;n`grW^N~vmjpp>m2;Yi&zA(4ER&PT>?=Ke*odn0vw0*(MIAh zod>SoABu}e)Xwqz>6j<*ca}hvI{nu#*7N(1--7K~;2X!ngIsxk zU-4ao>XI06dY=G+KqS>gwIGsW0CI_cmtuPlym2Xom&3LyTcC!(VX&5R1-z=R_kb<| zsSUCr&?Sfk*bsOCe*{bPpa_C7z#cNL{xz*A09MYlM|P$(Hl!FIIWs+EQeI2CLoxwf zj|{h=r17z-XMpaJ@AL%f`0!4~sbZ$YJ~dOU4+k>NCDSGHyglqPKCn5!_g#geo&r4y zAUcm4G%*|J)&PD3bOKBdEYSw4*|6{-*lnh_Y1g9zbvO@Tf2BI$+yU(})o}*AFbk9j z++cXa|1u!y^3sIv+Ws;;8D5J4*x=Fm_Vt?@&~-o%NqM^s0}Vu?*sXy2L?CWg84D1Q z6jStF0M{7_(gX0B;4)D(=|N4v0(?baov9CH0qa7>ElPEsk_E6&EpQwIj0(y7DPX3o z`&gd>GbJq0Ffcxd!o~{2ET~Nw`VyZF^KFpghhiPY7(DlU0j1_K(QJ@50RR9107*qo IM6N<$f(&5+ivR!s delta 581 zcmV-L0=oU61+4{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tQJ$K~zY` zwbZ?iqc9K$a1g~6*N}^OfIIE=L^cp96=L!LR+uMPDO;pOT1TQxaY%WYlPFT~ayK?y zFdqp;v`8t?{4!(kA3I-h@rAmF{)@m}0uiRKf_wo4IXqp2hl>D~LHZJKmq3&QK=`$Q z>X1DF0hReYaP|A)^bm=E+Bu#-t$C7u7X+@<`LDjQt{*@B7Hls_b)~Lj@Fq>xyz}Lt z>#C{;x$=I!(Y*%MH8J4)J^_+|OscDDL4HOq zx03IOOh7l|K(C?X@u{h2fS!@>^aASm_|C?u5~jsIGfS+GM>fu-&@J-3-Rv?xiaC(( zyADM?1$q&{bRIQmVlmFG0qGs^2{1FLMH{GQBf_U(x0#-%-HZ;@;XHt~>VWeAw2!Gy zGvK?hKuN$|*=6p3d@~^F^3sHEV1F4NhPPq>HnepXh%hstn?N8!yq|_Ni$b0#ac`hL z3CR0VCRPMkMk)H=fSxmwtOwu=nPQ@N(u10T1=2Nx;GjN~1*`*^UQwp=lq`UKW`WZf zP*hmnFM%>;oyU3?glS=cMpy?nRX0``Whya>;n%9bkqliU-a<}zQ7hLqRF|501E&B07*qoM6N<$g5lOs A6951J delta 158 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 bAoK^3I0z~b@&PuY00000NkvXXu0mjfFxxUs diff --git a/graphics/pokemon/girafarig/icon.png b/graphics/pokemon/girafarig/icon.png index b4122753614936fa4ff606f0916f1355065c9891..664866b3bb2d219207f1ed7c1d4634070999f733 100644 GIT binary patch delta 313 zcmV-90mlC50+0icV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|_ldSrz60 z008qzL_t(I%hl4c4uUWcfZ@JD!-xY8ZVnn{=cOD-TzCdY95ha*9q^r83=Hih4vGV3 zW6M!GI%y~PL(_8k82hD#!8=dKg=3b&C{zm@&}F_&7Duy*Cw~|BNxN>OdFI!p3-@$> zE=l69{%rD$_hF^)XmXceF*Ke9fuCM3E&UagkY{Z48VSHeb0e{ntxDuCW2R(cs^}OxXkX} z;!3we^yRsB0O*Lk?KpIb>EQe&1RciX zt~Wu!4Ci+a6fB2fEC&KZ9C|R8!vMx`07YO72TTc!;o$f%92_5C4o7doVd~@be?C5) XJh(g03gBe`015yANkvXXu0mjf)Vgvc)N@dGQo_eCw~`{Z3NLJGi1X!^xv@W zRkzeF+sPl0#zv*8Z@>5I)sOd)Bu(9sB#B7kQN$lU&>8bv(ww$Ih%bn5N>XMe=*7N2 zV{=;5v_O!B!Hh1N3(%RIdJs!OyQFE`z96Gis~HPhgg|FI@n;{vNbUt zSWCuft_hzqhitAyCpj{q7IM!@rGK!lO6#lSx(kvWSe;TyhVh}%j|xWZbY<|K=gq4R zUBevpMSn9*$eFR@d6XK4K}b|FHMcFA%fxwG%hwIV89SIo!PJ~41k2?$UevVNbbnax zlO)=`qoDwjyp7+pu$^9Od7CxsbYE;$NH0b?_0~3i%U{AB}uTOv9he z{GgCSL1(Ez>$sZIRQ_-NEc{U86>2^6yy6lqG=JRQI6uKO@gqB=cQx$}Y&X{o4y80+ zO>r)bGM#&X+tEDrhi9szGc7*KO;A0eA zGS=q&gzr{m&iUg=lr^rE;Njvq@s3C*WwV1x0X{g~=3lmXig#qjB0*k`1va;T;+()= zRB-zZZa7W*kn@_|B>YHD9T67saNFb0Kz~uXgvb~nwO!uaZOezzG#rSvxU`R0bCHu2 zw->n_386-+-wHwdfT8;uhcLeg1v7kCX1K@R*mg6;`7X!*V<{r&ED8Z@Gkm+l@!y^w z3*e=WjHjQm1DX4RrcK?k4~65j(FH>foTWIUvZ9X!f1;phq6vru)KZ#_Yt4wDODpdA=h?LPoYJqkeb{1$Eq!$~o@jptKFxz_Re5zbbYTjI*)ie7RV^Fn=5$8`V|M51oXVcY?Jp zP*CYPVImtkHAY#9|Lap%HScGg$k9~|wLbo?S|Bi-=(w~VSoh7*j9WK*(r-VG>hAyE zIE3l^{pp#{xg3*aC!rfbnR;gsMV0=u(SbtOAe#S`@X3 znJEAsIUhePQEZA@J~|#R!@HXbwGclP6ljwMzAMmu#E*4>A6PYu69y7nTXcUTz>kKD zRdHc^a{Y9*QOuadf6_YKvw!_aRUS>#Dbw_Px<8<9*6c;<`Zx{bl>Yal*ZBr@*L$MW zCaK}0F-w;ZwU&o6M$m4oFeM zNSpn)kw4DaJ(I+)WD?<7t;^qN0zk@Ctj3j%AE$opZu2EtH*YwN@gICajldmxv!EaV zgwVZ*#*Ih&J`Df_c7NQBf^22r1Bh$BytwhsI5Xe}LCJ;6Jt7cMXvXhJO%_3 z3TnsWY5JV?iy)Aduu>g|(^Q@X1hVD!1H&`5P*5pQ1uL&Y_lCw|C+UwLgpdN9MFCO% zBDnqA%iSt+6jb4HkTJvf8B254*hw?nBQMGzoJ2pDn%f^J{d1cBs15CX;oXVnCO zd@KOt$OnuF9w1?XIL zK51pw1Hr(`1%H4c3&4Qi5UHoseQ_L2BMx_HE&>=Wb?@P4-K=SkNvtwdxXng@!Ex{I z@Z<9k)e^$0=>rDS8CR5f#?C{20D)Q`nhXJ>57%+qW~YpuPVhrFYn%#xNLPkCfGcO$ u_@T9K2!4Q@B9#+@-{Oaa^T*?d{{!hch=u*x!3+QZ00{s|MNUMnLSTaLBjlj~ delta 2028 zcmVxpYjbFUh#=E>%i>(6 zDy1z&5`$z>+kX-MP>}g{d!H%_rOOl)tNv}II1!Lcx(=kg8d)9 zdr3!a{UnMk6wGVIj5OYV>5SUTZ8PRq^82?n%$weVd4Gqx`gH-B18>Rd8gYhqbmhOR z*Fq3l)f!-j9agQW`M_ExNedmg${ez}8ee2+LM;`ZRw{pEhbnEYk?SrR)g$eFS0d6XK4K}cLNGruFcE5vzME4B>7nK+n3!OXlS z1S{1IUVqlKx!iDE9g+;%y``Z5lDvbz^RS&>Yek!NT6AA*RY)&JIrGjAUKW~G|Jd_9 zK7bu%`maW@B9`H=W?@t+pkT0EqAh%y(oFF${wn-XlQn8R^}O;jEw$Z~Nq&N5;w3+( zw>9k+Y&X{oUP@{5G{t*qRO$RZ+>Yj{Kb@+F?|-zoRLOgTi|vk5~w9h2=LvaZeW6UB0>Ip`bU`m33o%=@Rw2N2Qe4M=&N}+DHiB9 zgy{#Ddi3ZdQmh#CD@}uCz|%gz%=i|1F+qZO@T`ij3?p~We#ZDytiisB2{^{+y@6fJ z8h>B%C2+ud(}IstaLHJo^JBhOmpSK;Vo^4@R)NMvJNAyqAZxSUv;Z4U_xYE7p5+6X zu~?9o6M@a`A2}!Ri3@JN!40QrA9CKXJA@y}*(1VY9&UR4DJUwJ5E&z+vBx`meK{sb zke+xJm-Z3sEOCTfSZXa~nL04Z3=hOYqz^B=(*Ogai zV;7ciklz4-J`r@cY^IzkN_|anjNN`g2=cXBxXkqW7Wg#sHN|lx=e(=KkBiL<^M}wv zUUk*;11Bxkoo3w&6x2?fD3NWQ8h>F{lK=SBRn5EkNtU3ghT59^RxJ=1PJCY446OU+ z=(^i7Po!UOj_U6J);xsi{Pw&w`|#>WWqPEXxhg0ZGkBCG{gY)@yCz5=g{(>{=AKC9 z``6~7%-?UWO6wHM8T6$I)r104`Cuzm|GcD!g2a>nj?@Kp>yf|@DX|D4Ab(&yoHC)R zP!0~MMK9I>NB}L$+SJMv0FQ!?AC@RKWvv*WPgddHErnW$9|{VzX#?Mu=sx1droa!Z zn&l}2>FsU0e?P#Fwu@D9ac623j;^-L>t^}yv<2tvFjkerWja-wTgVMZ)XkeGvARA< z139Jt`RH}AP2J5CQEI0Rz<)@NJ}+w@JQfFi;+h38k*hlY{8MY$)yXx%>_ahdYQChK zhW^CWHXj6)`%1e@0|0>?_f|o^Hu3?)HD6x5O^`k_;15B?g~}Zg z2)0xv?5U55C~6)90)L4Fjj$>usn1zI3j&!4Qj@X;%T%5Q1hVZ81H-9CB&e0Bf|XaH z&9SjG$oTWU2vUHvC?Luo1h;>4xmQPyf+{=-GGQ1$VQJ1AyE$fiJX;6*JsyJ?LOh?N zWFU;=%RMdtBPuzmet;+lAUQ}Qiu;K2;S^xRDCnjw5PzktO##LgL4Y6;V8}5D zx_Q|U1X2V+1Q?M4*klbsARi0BIPw7_h6e~3$5#NO!=u_A0fy`Y2I2uMq%(PJ4SqBQ z7%<80?2~r5J(GnifMIvI{p4{szZnQdRv`ckSpWw7hsZvm?u%!^GLmqH7Gi+WRhth! zJItH*gv4rNg=O0;1PqRQcb7jqk5DZwteQSxFr9HlSzzou;s+3@t+B}vFotj(_ic8{ z*y$8M9OjKv!4J9Gco%Tx>>59GHx0oLa8hIoLhx(+kaqt6_~C!)If#W-7r~eS0000< KMNUMnLSTZ})4RU_ diff --git a/graphics/pokemon/giratina/back.png b/graphics/pokemon/giratina/back.png index 32a960d1604d24d935c9a4c31570b07e930cb287..19d95ae65504a3c0b03019a05201f912f84dd0a0 100644 GIT binary patch delta 740 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 delta 2235 zcmV;s2t@ax5`q$tUw;UVNklAlLnZZG zOHbKLH)~r`TDD8#G0EGpu)Rn$(UOD)U$ld04!H!Ur`ph|_CXIRv^~gB60-5ZLwzeD z5J;BLg*^!5!={+f>F@WR#*!R6gAdmHKKlK6@AuyKCr!gAK!1pK^a=D{5n@n!lz?}{ zC#ih&L3{7jNcI>&eJLg#{2w+mL!tbgg+2i*)*xFG~Eo`rxGu2r-RU1dO2xEuoUEVY^hW7I0kwgO_Xbjk$) zj7{2>9wYkwTF7ny5Ux_gcaodahH@-eubUsWNWEs+oA44s8U8vK=Ct8drtH)|YPJ4u zf3abk5TVuukQmk!u-*co!R>|ubfbTR3v*@b_pR;ir+*FJbnamUA4n$kL*O5~t|c7d z=o*0tSO;uHwI-KtI4G?8SGV1=D2s1&u-A0C_avEwe~}1^&3a?ysX%~W08MpIxK^bV z1(?l-BOroUCQCIUR|>bJR?Nn_z-j~R5#ihmEfKjF=sIwnF$sjk`X@qMeO-1Q+!L}+ zxkj2c#($UuC!39Nu|$3@mhVNxrWSzM;Wya&W2wCA4$B@Fu}Z{w5EWt*?6t}rPlxjq z$8G>1VcFkohA{*8rVwGQGwOBt63xkm(*ngy&H5&kxab%?~vAR)TYrk>O*jyU#kId z1G8K_2GBUamSU{5Y6~u$UIfqc;{_Zu$MP?pIs8YVT%4gt08(Y_5?_JlSHSB$?FY2- zsTwY?3(YTqHchaZ9>BSI>SF|+S`Fd+>wo2$w&&4Aw&rzI4bUx=LXxZmWr~$2G|s3C z#7ymm1R(bFQ5zOvVA4GBENB+t7v@k@6X0K3j(gF0A2@jL%G!9Imb4x0Ae7taO( zZ8S?upBEXMcilbMGU&oVJDhUHet%PB3pBcSAlBOLSK84Bh&*09a_FWiW~!0RTd4UEsH= zR2FI)&QRL^j}x)cJs=^Ttbh|xrh)>#TcFcgupW9QoQoIWF5g_L;1H(kfm|v*3mL!8 z(wAD$9(^vz2;9RTig~$Ir#c1z*buMT0s@;2r$QjeAH<(jmlzVHOv@Y3QTvIe5H;(i6Hgo9v|%`PS7cEcz$jSa`wV1>gwO#t9q z^eRp2N!U*SM%iVMUWZ==;OtWyCaQDVDb795sFmco7zKT{LY!ZnB}Jvq*maEpY9nAr`9^UbBOvZ%p$`cDQ46EwfP8n=8`R(E12jFbgLQ)zDB#SD z1p00q0DO5zF@FX1?+pI7nn*7wd57Il>fagsX*Gc(NU8LhZHq;z{?y3&4uY@>W>^a6 zuU~+J|Gk#lKFVTB{ZanKOtOl=JPf8QpMthicQ41TDD_wJzf*-O*wjVID-akHn4L9z>Tk^~G;e|LZO z?Y9S@zJ2R-3-{t5{ow?${NJEfrT%bp9er>URuTXJ002ov JPDHLkV1g`$Oyd9m diff --git a/graphics/pokemon/giratina/origin/back.png b/graphics/pokemon/giratina/origin/back.png index 528ef6fbe80612558395ff837ff85bcb681005d1..5871665df96a5f70af7dd1d7e29a8f2320fcf2f3 100644 GIT binary patch delta 701 zcmV;u0z&<+2BHR#B#}W-e*gz`Nliru=LQD@3JfG2R(k*d0)mRyBv`Cx4UoM6lq8|b51=s$ z^prL0nSx2RN3>A@jd_G$RYewTK8u<#*A%bFf;Ewa7-XfHQ2ZNNz;YNhaZT~+2LnaS zL}teh$X);v+*a<{e=`v=q3~@3)O$7&O2Aoy<0DYB#1~(p56~0e;ThO$0|5=a1mvUv zexk*|1B~Pu=+zO}cZSi2(F%^hj)5`_1V9-Hx|Dwa)3K;Z5ZbPeKp6}RNdBt^f##Ae z5U>g}z!oIPtjHO-e-i+d0q#IZO*@nB>ihEx+=jpfXsSWce@e{j^DBjE$ASZB6$&G+ z7C86ENC4HS%W*~fx;ea7L7O!TfYiJWMBF}QK@;e0$vJF(S?xq-pYo1?BtU2?GOg=5 z7Cz9Ycew{3sYsKGC4J1o3>+4ci!??EEIfdNEHWBXk(YhYyJ&!ym%_cz=CjC@D2(%qQHh?WmK7X}Pejl0) z4j_ZZtf)#G0Io=I_X>+7-tEzU27rqskvX=HME`FFx_Y=sGT?0!H$gN4Ra2xj^P$&f zT6PCac;Bf=EQa17T?Pimyv|G7#RU6MD}8n_3m0l00000NkvXXu0mjf6;U)U delta 711 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 KMNUMnLSTZ-*vt$7 diff --git a/graphics/pokemon/glaceon/icon.png b/graphics/pokemon/glaceon/icon.png index 32f8504bec1180b3261c7fabb1f51da8d4764d68..bfb410eca296c4e0da3d232d432e8c5b61dc2da5 100644 GIT binary patch delta 376 zcmV-;0f+vn1I`1GUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlQiKF5Lv z0003oNkl(2WgZR699`QtW#9u$~4fZKqHYk#uQE1Cm98pkQwkin%Y z>^KOcG2*Iy0a*MuT7J3B1C^_Atq9)kpHU&eE-*>>BPQ|Ucfrhzh!77|5XR%AX} zN(9eGB4&R!1h+(2ei;MIxwmON#{ifOYOD1;X~~atf}~W;UOW=@a}DNS9_T@z52JmA z(kW4G094Bqw{f{d2^u7?A?JhknLC^`263)#SFN=^-*X&lg2urjFM0dNwlf&AKeX*W zhuau~kyg*w<4PE`l>@}fI})#lAl`Y2QJModop{c`HxTr(I=MHXCEf04K1vzCnU8N? WPWqq|3`Knd-KafWHwlDjYr}xAlZ6;xV+zB> z(2WIVR5?zZsrQA}ix5AQAL;8G^Jh-%?htyAyAtqciNpp(L?3Pg7(jrCBDf8hw6aY> z&>R4G94EF>!KGH%ama+mWLM=2z@op=^2u!;e0j}OJA$|SXMYliuooE4^pQA+9QJ~l z2oW!|?jx{Iw5&*UjKm(E5B5aINcuy#vA@!b4KV9$(|Fndr~-A=dY*pK3!i|+7qJ%& z_PwvY^Z(>P5Bhu<=_ABviAVz=Qe518NjXZ)x(3b12GnzhlcboPtJ@W8ZP0g(Lru^) zSfoX_e{5U9piKJEw)-4zV~QrXe!d=8k5O7X;AweBPwP>T?zE(on*unQXjTv!i1Jun lzBeEx-R@^TN*lkKk8fU1`k)Yv-`oHI002ovPDHLkV1htO{0}35Zt#*k300XT_L_t(o!|j$oZ__{+#_gd4 zTiyewPFT1jG#yx)L~0iX(tH41$w^j_a&E^W#pjG^<>u|!f&SY%@@MHvzX7lzgc$fP zyl02TXIz2=2n0PTQlv`S3y4-n2;P-LfF&vA0BY;&JOkLG)@h5f zo)@8%!M13%8naCh(74;_@G$T|+@k`DiOxEQl?>3N9*b0&iEdJW3PPrXW!(~@RhHvv zfo;7cxM=`wA%Dt&$1XcGcyiM=zAtr!Kn4-8hie8f z(ch*c3NQLb$_b&A$A16~;D%mgZyPEaP)fx#zgx=h zLIEQ+bb$yl4@{)o+y}uOU0`@}Ou*RCp%==*HX{iM7#=*^C%`<5z6uk7Q->3%;4#Lg z*3OBF_7gyjUYtR{kDhs);Gcv&I;F)xoxXex%eVuO-KXt2)uW-Jo3BRIiwj_pmjlL5 z^?9#5bbkVMc>CfFuu&e^cdO@H>hlLRg4^#1*jj;`V?&2Sb`D2M^-j-Uy*ndd7uHNb z^0(Dv(ulvJ0%NPntuN`_Ix^y0}wcUF9@S zB1Il6<$#R}j#nQ%P%fP#NsWFEupB^6z{d*49NY-K{Iln9gylo)jNUH#)E8cf~7#MF{Z3DK0 z=zm}NdD;cQx*pf=|D*1ooiA|zOgylQ+&>c!>{~_d53_i{3f#ZV!)!b#bpLET$h&`A zbjn6N$hkk6yBQDK{2O!UdqzAccK>MyiU(J^|JQi%OWeOS&;5<-Qsn;4zrg+Rr`_KK z3fzA@*Zr+|?q8bc{wvn+c7GEnaQ|j59$lpF-{==F3t6V(L?yuv)rTgdO zfp&j#q{RJ2VLTxB$0Q$+`xnN8O+A^IKmN&hpxytw@j$!(cjJN9;5r`s*W(MEhZM1n Swn3%<0000Q09&R delta 985 zcmV;~119{+2)_uBbbkZ2NklWvxDs0&NIeg!zJ(af3z!MZa?KYv|su-h}>{#uKOxgf-3 zt}6%Y4m2Cfc|bJVLh!B}0xU`?2T)yG<2k?;)pkpibX`PJhTEdqtj`WXK>dEZ&7-gb z;sG^KOtjZHEa!j*?Xf_endqhss3GKbaGZG|nk6}&HrUo9!5sr=2~i3=>}rQP&yS#m z5PWYl+kt>;OMid~xI*|c1~ENDRdC49I0gCy$P^IN0P-U^P8kk0@L&qSbwKSAz-k!) z=`yy6w7_G~Ge!!!PiRKtn762bltCbMhfszwu*a(gFwxIuD~dv;p!yh%A<}1)tb(e4haGF8V4;0Zu!dKpBrQF}3ziRJ@-8YV`Ug^!wN`uM>ik zs7JT75ULk%&S4360P^Q_J6`2zsOZgCqsqkvu((qI#$M%BuRHWYb$IvUEwE7$*!L@E zTk6Y4HGhJ;?+MsihCBIlx|2h821iQuUYwo2e@VbDteSx2?<&Wn5kI8{u(XBA#8AqY z*Ex&>Z&O)t~p0DG~agC9L*Z@q~^u3t7L`-vJFfV(FFd=hv^1B((9)p3mFO$MUB zlPbiPWYXuN@CkFvtB4CVzNBxOLtOaJ(pvhsQ-51o;Z!G);tsoA05-}vUU~FL`E-vY zH3kL1@c=mipURkU@MA2@NB~D(`|#m2#JB-9^Oeo^*hS8sJ%e(LNf4vuGwkC?Yp{TQ zn$z}~cKyi#0Y{{S;FdZOK*W(&0j>>jIVfEQCL1@~fa@U!H$I;20^f6y|Lf0OzsLRa zb$^Td=i-5DbN^gCaOZ9A53_i{EbiapQ9d46-9H}>itgVM?UE4>3hqzlZpMQazh>@y z&xi+h_n+=S@!&@Hzl;Yz#r@4MvBmw3*Tv@kjX%Ks@rT{t1T5}v#si!C8&ccc-#Dht z{qy(zYuw)iEbiYZ#DmQJdo%aPLOjUae^NMee^rPF+WmDrxN`quJkah>j+DB;u*L&& ze@ycMxxY0YZ0cfa{`foNfp-6I#slsC-;4)Zga7g1pI%=9oQD*#RiYZs00000NkvXX Hu0mjf{;ucU diff --git a/graphics/pokemon/glalie/back.png b/graphics/pokemon/glalie/back.png index 51fe324882cc82c08ab93c123529c947106d92ec..253d76ec848a47fb539fb953e2118433345a8302 100644 GIT binary patch delta 510 zcmVrod{NnT|l-Y2}H%$waNh)y+g;J; z)(X%Vuw6*&U_9Kk$3U^M0#CLX6Qcg!hR8dZ=9|PlP<;selx|WYetp9oy9;|x7taPg z_oIwo=*@NB12KSg#P@#I4Y@^)08{P%SLxU43v+hM9B_6lcmMzZ07*qoM6N<$f>(p< AcK`qY delta 519 zcmV+i0{H#q1n>lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m(^3K~zY` z?UFlB!$1&(eRS!vX9=6~90_O>OXPQ?K)9tjprlCFDIF<_=|aK7|CYIj4+jyuKy=x{ zmhL{!%P6PaO%kZf&o=mPA*pw$aE&s260N zj29k@gjYI97zYSAiDgmyFnZl?+Bj4OaLcG`ZxjI40oItRm#EuGL`e%sx6RrvrL4jv z*foLVc31SdwF1;)1#B16Iv5W>?Jls~Sb=BTj0sVFZ$lIfOp8tCe<&9Mua%#aNMGM@ zVs~Nh>3V0-t1!y+h2DJU4oCs46MhJ@uE{T|1DI-oQ~kA~=nHdp%N&}7f&>5n002ov JPDHLkV1n4f;^zPW diff --git a/graphics/pokemon/glalie/icon.png b/graphics/pokemon/glalie/icon.png index 9d2426c9225448ad8bb62675030dd3092b427e65..e45f0ffee82de52dca00f039e7e141e108ee7fbf 100644 GIT binary patch delta 237 zcmVuK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}3b@9!=lb#EoJ#|qxt!?7@NE;i0kx;w4AqPSh^{#*coc$+`j zPkxr2`zrbV2&y9}4=tW`PkbsWRp)g9GDhx52eTTeW@`9kb7mvOf^y3nFe`I1PpUhj zS58ZZAGsw06a&|i2|&R>uDiJeG>>q;=uN=(asv2#2&NS%zV8xn%@Rdtk4?a#0btz5 nRS9W-0oC69g#PdF>35g_NywTrkx+Kc00000NkvXXu0mjfOr~Hx delta 198 zcmV;%06G7~0-gepV1KDeL_t(IjqQ>#4#F@DMRS7)b#EoJCo10C!?7@NE;i0kx;w;K zQB0P)Z7zT+@i#wxf7zCeIh5?X23-x>%3?|O#D=C5F;*79sizqwYE;C5aHNy=CF~o_ z6Kz0Irl6TP%!scX7KcqVA%bTG*Om}KKtUenQi9hEcfQDtK|kj*4F36GA66j#b7!Y5 z#`Y{FW3yl!0cbT8i?9p(3y9QbJgENf@auQ@0!hf4Gcv<1YybcN07*qoM6N<$f&$-H ABme*a diff --git a/graphics/pokemon/glalie/mega/back.png b/graphics/pokemon/glalie/mega/back.png index 9b86813975c5f8af84cc6d0496422a8af28f7d0e..f074b39f7ca9beb70bbc55dcca65a7f73507654a 100644 GIT binary patch delta 553 zcmV+^0@nSR1&;-gB#}W-e*gz`Nliru=LQD@3N2`KMkN3M0rE*iK~zY`?UlW5+b|S` zC3o}WE7JL!>L7jqLPOJ$2K@jI%m?U_Cfza-?G_Y>DQ|*-Alj0pKYGd>Qlt{MwzRZc z?k4inIp^Lh*h%tM|Fx*+KBZANAo_rD50K7#fWeY=r{s$sV7kbue>;Ng1_qkCfYXF` z0)vb9(Y45YxZ+xN0BK!Mk#YaFYI8H+57duCW4K;T$PVKr_-cb8Y&!1qXSNZ{_e zq+i=a43R2<2*thc^;NA*DJgERjVIq8}jqF7P!72e2GKK8ouC5$5|uc^*Un r1%SDCnnkT~ADW8@h|$}>(m$(bu>S1?Y2eT+00000NkvXXu0mjfY2W?4 delta 561 zcmV-10?z%91(^kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rE*iK~zY` z?UcQ4+b|S`C1>-LE7JL!>L7jqLPOG#2K@jI%m?U_pKh6mb_)W;lsCaZ5N*lQA3bFc zDN>CQTk6s+cN6*PoOACLlzi0xE$X>XX}=o~eZZ&(NM}93V8Oam@_7$1ndj6UL3RTJ zOX)H0Trbe& zR-pbyWXwpq{qscmS-muei^Yyf#51&6JuFC40t}bPV7g09WIs2@|cM?nZEY`+8m74n=TQ0y zTfdE}+H5ot4RGdvffdH;HHvi}fujacQx?`)xviA#XO&vtM5e|UUI6VtqF@^Uy5L^G z1N8aX-eV_kfyXt`MR0(`6CC~mUw^~%cAd8ZP6A70(Szs*2)_$_4Z;B|2axZ_b%6-; zeWg4PB7g$G+&j&pRyfT?1VqpO^rQZ{lH?Dt{_O-d!n~0T00000NkvXXu0mjfEc*UT diff --git a/graphics/pokemon/glalie/mega/front.png b/graphics/pokemon/glalie/mega/front.png index 9e7e9a73ceb27211f5638a6228a4af8100d57a42..d9572f11a1f13dfbd242daf826929e9730f87fc9 100644 GIT binary patch delta 987 zcmV<110?*&2)+oAB#}W-e*gz`Nliru=LQD@3NqzwE#g{kp++8J*$dhwLS_(^4@|QZ&(NL#z*9#SO8oJAriQlPI(Qm@xq^AOXo2Y zBAsLJ<_r!kSoXVLeV=D(0C-6PlA%B55YzwEbVUq^qG|y-)O##}fd(!s07(EEhVz{_ zcohTde*@qJfSk%9tNEKpImC6Qjy+)Gc=k!UVm_U zV}IIhl0ueB3FpJy=;1HnjC$u@7f3-!dFObps&{#uiCb@Uf9^5eCJ6)%C za}>^-sr>uIe;Wf^s^Ge)HDPbI&hTF;61n{8#3$gR%8Li&b$|{3`66ZXdD!#26;K$! zEli!SED_{f4YvAEvrLFQ#tW>+te+PPwpf>aCf+T8y+PZ4hk0MU_ zVDHL#p@CYHigi>Tg`uQLpYC@huw@4cH|M$H1f-zy{eHKhLljVVYRhw%_mkvfN1pEY zd(b^%t%POs99HbpCvfMK-?s^%^{HO~Jm13(;B==2cCteP$PHli`~E3*fgTmBS#1GV zrw5=Nf0PyKfQ{|}*hN(Z17I#51S-HNp}Tx+f=6>*fg7hFz~v?JAM~U0klegv03ocF zA<;fRAh_m>W5c$cBqB_bq!a)p%v;LN3y4ZUf?kDtA@XNHr+|fw7IV;pp3y~dYXW); zbq}OpU~?8f2V50kQ3YAhoXzOMYnTB2yRWM>Q5|tMyB8mx0c%FyJO(slp-dkrXgp7V z4J{KWt)K@1^+m%t=%0=6UsGB`DDUzgKiCamyz%<8{(|yr@ju-^s&lun13mx%002ov JPDHLkV1lCb!aD!} delta 995 zcmV<9104Lm2*?PKBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1EEPoK~zY` zeU-6p<3j2*Ph&&VvfGZ(H0vFRMuK_k* z_!DgDJT8Su=h(YBgQ^9~e*cT_^JN+UUXp-h=#M!BHNeB3-zH^-VIe?*P^(~BZxDMe zk$o4S3O+*9049j7G+<8^&Un2AZ3OcByRrfS7ZU^%un}Dm1EMH@TR;x=9t&Wgfy)v= z5`c!`eCG{b#lZUC0eAr*r!ojj0E#e5EFItP6&1u%LU;?%HGpFoc>dU*Txy?Ek=}tb zG@3l#d~|waf7)%5!ZMW-&WD-N!=J(#_0GL6kb;o%&hcDT@A7ylZoSdD$8?({5ICR= zz@{Oecq0N@I=|X~QQic$f+V~%BtXhVkvD;8DH3Od1wi?Z+Ne$aoOUdi3DXu+g&e^B zrs9p^Wiyv|8LcG$d;&hHEPp^=2iWlMuTn-| zhCRPq0=WU)!qoXj9`POtz@Pvgu&Ut-xEOV$l-zkoyKXRpqkqR<25<71~#C)1|BLaZIyLmrP_Ty&~pT}onPl9Q3KS@ zRqK8famojO2UpH>4b+-ctfR6h3?)ta^sq009jheVjAx1ykb=q%hy9igkwe|79nW0e zPm)g^d3rb;K=+8X5|+&~ShLTc!JSk7&?bP^r^;K5X9w5=obI*2UUo6VO|zdm#NBo3r>i;Hm)gGRT7FY(^Je!vyHxeO;#Mh_l(f`1lOiF!JUxpcxBg z`anTG<9PyXXqiA^1$_`uUo?z^etiyT88W!I%dH;;G=TBO>!0-(lz$wS^&j0os&j@L Rg^U0I002ovPDHLkV1oAu#rgmM diff --git a/graphics/pokemon/glalie/mega/icon.png b/graphics/pokemon/glalie/mega/icon.png index d563426c4fd890b28e2889a575dcc36d989dc39b..df4e3a7f488390c0c965e3502307b2df3c016a78 100644 GIT binary patch delta 317 zcmV-D0mA;41E>R#bbkN`bV*G`2j>O{0}3~l7QbHr009e0L_t(I%k7e}Zi6rohW!Qz zWsN`_d#vQ9F7QHqiEbVup(IN@^;x=QsM=?stks3OOOPV2uD~{7?2@Hy{>&Nk|DOhjq8WB)4m|YzJ`Cc7Geo&zE#O;`*u&h+lE+ zK(~EMzyj5}dmQToH^uT@x~~@0AOaf)xS>tS0O0OsKCrx08E`!w5&>KvtBh-MKpH+V zbaZzA@+~DB3*3n4a|0mve#9nZ*j)BuM3`q?sm#A%fj%l#kPIO{Xni1@fF{pZHpdVm z6P<69=IQpo4mN++p`GbKGaY=DUI*X)po0nRk2-|*2OW0P_J4I)-Lw54EI8uJs=#&< P00000NkvXXu0mjf?;MR} delta 299 zcmV+`0o4Ae1C|4jbbkR1Nkl>43BH@x8kcLkT4c**dexzh$fol^+O#lNsa-{b8-6FYb* xy&b&zogK`eek5;)LH*7SyRrJec391+{u3-X;>%F$FMa?3002ovPDHLkV1gD)icSCk diff --git a/graphics/pokemon/glameow/anim_front.png b/graphics/pokemon/glameow/anim_front.png index d03df57381323fd408efb7a10554b0b9d6452881..b912978b2bdaf4d86549dd4742616827e461c28c 100644 GIT binary patch delta 1132 zcmV-y1e5#F3DF6VbbkN`bV*G`2j>O{0}BB|w;P8500cBiL_t(o!|hkUZ{$Q2o^gS; z^!TJPP(-$Kv1>9}ZIBQWIstWV&!=ncVm35Lb|k+|4x|&OB)j}*kWk_%J;b_xi|wFD zMS*B2;3PW!4BmM6f_A)bsS)QQDZVc=@5eXqePQfB{RvlWgnuLTLEokE=)pTmr2+NV z!r4NLb$z>ZPX6L>lY7}w2Nz<2_oML4SK%lUi; zQ$ye}#{<>q#7r{UzyPk)2YetZdK6h&=6V=Kxp{#5Gy zUtUIW+XU>V-Ol(Ml;P*O)_G>|t{{5%kCYlz8gmfX?~M7GB}H$j?mhM}f>QwNw9nAf%j)nB&f8)YI$1>K zXKNpYQ-5h_|B#P}N0W?-#eKx1!3Hc4>Qy-aqs$aVyCeZX2p^j`>nz=FO4-&5g55~^i6))6L-5ZLX2N^=ZuC?c&%0&1O$K;}fH6F|L$9wP~UnK4HM z{3BvUJ9{xA5p$>^zrD*B`A5VJPQYG&|4Rda>wnkXWB|;1-(&z5j{C@%ev>BNwPnw&{gUTK@!#V0w!jOh&ge56iKO>!0X|p zu1^7`7sny`0)M)Vys6>I9AMJ4Cjp@egc{+XY0l^K8B8UC#*phaz&p*?ig3}MgfRwE zBameJ?R<_;>?0u_SE1u+sY*Ug(1gRY>f%bo0{!qbH{$&S0500 z9JMcC|0I{MQ{4?KZ+{wo{^Lt1qbO4Oj5RC2{FCz!e}8!y#VQGyPd%OSH&}*WzE7FZc<`BOMG(R0; zMXF+nta}D}(aQ_1n=)chXcwq9bVU~(+QX>|Rw0swWq!7@DXdC>`jCzdO_Pj^#e0UP z!2~Q2Q-4=k0OL#sMX#n?1OUc-@C*bWx>NlVp)3uA>V~nJASMzl%uirH6>j7~)rDgf zp|%*qYzM0e7EHhiStRt?@S1?NPFbKg)y+u&>m_uFk>HmZu~Lf)@Zp>DpE&=b0KoO@tP=ooy{{7h3V&ZC0Puc!u~`7fF-fEVcwi6!Y5-B( zoUuUwNCJ+T!Zc@yH)gmF3ge{0y$*omT;JZetrS8|e^ZA_hIG@|!la9YX_|I8a~EU# z_PJ3hGEy|@PqJ4kMMctuQYYA>-R=U3kE>X>!RD_B5{IZ~PxGo^P=`|{?*$iMy@DG080C_>L7SyV_ zgIev64Ga%v5+Fl0$J zTX?$C2oyO8GqZre$>9U0Bs1LLDFNbv5QZ5pMNE-l-&=TFd2<{78c+j6+AAz&3v x5I5=vviXVnl}1yOl;hp#HLf9(uy}Li`5SKOO2d$(8-4%)002ovPDHLkV1iAW4od(4 diff --git a/graphics/pokemon/glameow/back.png b/graphics/pokemon/glameow/back.png index eea86135ef756d6902e905c49aefa323af376b26..e3cb32ea1c8e315dc768a50668a400eb9ecaec9e 100644 GIT binary patch delta 729 zcmV;~0w(>;2EGQ6B#}W-e*gz`Nliru=LQD@3kKcOjwAp80-;GnK~zY`<&@2C)G!do z<2_V+jF*xeRzisn$+@Ka0!8B9ZryX^b|;G}gt8Jb(q2Gw!rJF3xB!5f1O@_+D0&dK6n`bu- zF#YZ}LDa2%az3Y8Wr2VzBUJi@P>kZv_xkUogpX${H6y4oy7yvH*Gz*0FH{Ky<(_2S5)JbSc2^NejIC?Kl<7nfaJo z$i|<6GYkt*lvsAeOXn8$B!Q@D9k8H9LTTRXXsAUQgRShN?8fz|DGyGkr@OqLwsw-NA3lpcq7*V)X#{X1|@J&Pf4-%7sP4gc(QR;ejqm#(0c^t zYCwdCqS^rT0&_J0Vx(r9e%54O>+>cE-chj;kR^^$MEbl4@BfRxdp`Q_$omz300000 LNkvXXu0mjf?u1+# delta 741 zcmVsU6@^eWb@J7VJ<8C|J&J_|Lj`-S{%TB`C@W%u}6o|Fph?M_Q#`>D0=pA z3W(we(r3YjArLc!V|b^NH8s zI{@D2d{7q@$D3!6$0$#Rb%KLvvI#gpIOi;AT8ciLuImR9fo4B;8C}0$FXBqdQ`YL1 z8{dTXdIFi)YMc%5`etFTC%9MJ$IY}|aq~Ghfu2m&GK!8{;FAe|5GnQfXt!MhFTPIK zfTdoKc(km6%kO3pMBY^^=QFCh%n&f!aHaYn6eGL0t;2Uhz{k)t0D%C_1O}ZgY44{3 zvfKnbinDyKpjuMtbh)ytphq~M*31CXo-9*_P84;c}4BLug%Y30HLeO1DCEm90#! zS9R+cV>nY1h#)PDLDhYV=9hCV<_ob6=)!U2mXl_0#5REaGoq$J2`mbcZt7|p3Epg+ zmFtW@_cCHO|uoq))3jH##Y%TD0G4$Jxr Xdp`Q_7o0=h00000NkvXXu0mjfhW=fU diff --git a/graphics/pokemon/glameow/icon.png b/graphics/pokemon/glameow/icon.png index ba3844f56db6b21711f4850f12fe9b917f9f9681..628dfdbaae3db543fa9431a3df087a6891d0af46 100644 GIT binary patch delta 346 zcmV-g0j2(!1F!>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlTWqhj)z z0003KNklz5pxuR{v^EszsF*BS}eLu8Vt)Sd_+~P2h^bJ?J4y2ws>mR2PFR2;WprDYCxZL z*s||_Y{KjcWm92b){QU_s1#;x3$_#nq+V<(OjNG(r7#XrQ6UUV=eZOnx*Ju(0NPp@ su}~?DA-GcIhYq^-LuqRKpkMp(1^so9gFd9W6951J07*qoM6N<$f-Mf1$N&HU delta 322 zcmV-I0logP1DFGlUw;83NklRUY_{{8~mfw}cHh{ITF`OAC<3qQax!(N5){EDT^VC<`N&HEa^bc(`oSN7P{}MDjyvUjcOWxPIfuH~n>x UgE?WOq5uE@07*qoM6N<$f@FZ2Q2+n{ diff --git a/graphics/pokemon/glastrier/back.png b/graphics/pokemon/glastrier/back.png index 2b1055d00e5fde52cc5ca9a3f038df86bcb41ad5..a68b81d74c3d7e63f5dd80eb066ec43c09155b9f 100644 GIT binary patch delta 625 zcmV-%0*?LQ1=j_TB#}W-e*gz`Nliru=LQD@3lUxb3*!I)0y;@VK~zY`&6G`V+CUJ7 zElW6Oyb$F`*Bam&Z~X&kle>4_K{?V$298kl7-rMh>mi6wXF2nxz3%AuWO89uPesD@toZs0>;HTc=koGQopZ znQ?#)5;%ip%q@J$f3Xdig*}RV1}H$ZHNphe;n)D`y!vKk*#%;Ll3%H|H4I^A!IK=2 z4H`XRY)ReiOsX6l@S8!RKi%D{MQ*1AO>Tk1L$JQG4S)o&<}QRZPmN@qCJ=hWwH<_z%M&?Zf7RJ11`IZ0;dJ`7D*I}{ z-Q%(ansGRY+RVAeQ}ccXMBq|N9;A_)&H#P)fy5m#7@&_>c|a^{t7|&g1g?+9+iK9a zHL~7nEs$LUNsaS*UF$acoBcTWH!GQQeI}g6?UuhFxOzK2$;Hu4nKlvUfS-PbSG#C! zocQ6d zIyN0Wq0fOEKS8&|&eu<&zV-FC%d2<`^e{v69s)0)b=cqKe;$7U;)Ed|J~}DL00000 LNkvXXu0mjfb-@(s delta 632 zcmV-;0*C$A1>gmcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y#-UK~zY` z&67`W+CUJ+t(9=jc%jOXt~J0l-ueU3CUj3#83!f9tL{AmjMfy3<1?Z4}k+c1Wty4%I|8_ zdn(}GMzh7J>RoBhQjHFOsP1|jLFoWlCZMza0DKZPR@$1W?F}Nhvp}OQ;wSWag1pkv?nQ=WV zVdsLU1t15sX2RH#y0#Np$6$+Q5$y$d9fGHnC z#ujk9f+Z1sj}BWH7t$yO?mdu2Knhs%6jIs8MzKy4h%@5GEkdg0nLMzH0O0_Oja+!0 zey!GhJ>d3X*#gafI9^0;=iKA5d3^(9lu{{Pq*aFA0QwdJsXt<{K<~8*0HJE98#+1z zKSvYXYA~N_WWCi|AioCE8t3(Hf{X5fWKYji*9HfI#MRK#-1_rda z==79y>Oj}E?dU0e4BUhU-4^>$Kgaqm)Y~bq>Lt=+hx9cDo<5qef6D*5lH@Pqgdrb* S*0Lf10000~-7bl}>Kh5YPIXsw{c9ySL>^6~PXya2%0 zIJ4mN=>0D^oBRa)AHWiy1SnbtdVnlIcRqtq3y1{MutRjf2rLxDe`KhQV7!vyOH7z` zhBe}eOgA75p;*tKpT=qN<K%$M1P~5MYOC zf#u=T@*AGoBw7-30X6NM4#K=HH(`{7hQNogW`t7rqmwcsM{Q_c+`l4F4Ix&XeprIBi| zq6NH302}u~HCWZ*#laGz!3yA_0+19&aumYBCcvd@s^h-}NYM;|))F8(xl=#lQ3S?& z6Aa&Q1Zb-Of3hmzjG`t`!5v?IqE)z-bMfy6xU4|z%aiu%CA^Zyq`n54W91)J5!b~l zlNH6R20He{Rd=ti!em80Hf190s>1uxs=ZDXSjOJ7G)SL5(ranIf+M-tD9|KGIl+L4C Q(f|Me07*qoM6N<$f~PiPr~m)} delta 742 zcmVKh5YP&p=(7Y_OS1u zNIqWPgD0?yh6CrL{lB0w{0@ZQfH^%2NIZ|sfH*+zLjhAGU%m$T02wBK;JiMCmE!qU3C8*; zP172MfO9@6(loT~1;AwqV4Yj*lN27c0j_*oAOFb##bFAvL_qlP zUjJD2W3b*2LGO*mK(-nXrvzRfy5{8f1l{Ho2Wn{e2P1Y!)~m zNT?q_-lK)QDK0N*1thcJ9%gghD_By-O{0}C7=v3Fho z008$%L_t(I%hl4sYQr!L24KH|XmbrKTkb8MuBLtV(yOswVVSRCOR8%?O^K}9yX>^W zeAAC4Z1WlOyfgl&A^sLnG+a(``eIiGa~jgFoR}_ss5&O>Lx0ak_dtW2kRot*k`?IM zuxEN_93}8Rymg2~YXI)zK9?E~=O_XCu+(@Q)(&z$Bt(lxzjn~z?-SqMewH1cw_C(< zIzWDlxo(=BnTzW~uo2p}xc+syskL=rn2V8fsy~fhY#jhKZT<65F8EjH4+UwL2vQ#+ z2-JrNBK0AH9yUHyQ1+pMvJVxMeTbmbYxW_6KGcT@;)jn_Q03z;=&3$#D&4wCNtgwO P00000NkvXXu0mjf?=y^b delta 279 zcmV+y0qFje1MUKlV1M~ZL_t(|oYm5?j>0eu2H?Db1zoE{M|V)pYXr}ZSfk_>u4JvC z#cL&Bt2!ZJVL2g@&A)8Rtv;pR_xh(A{HuVx;(Ut3l}#Rup$nUQVmP<1=oqkdEvvK# zDqOkXft#bOKvTON(+^`WfwgYiAQCMBn6tS|HSSMd0<>7dTe z6SrnJ$_~rxHDW*PA%2Uxud0n2v-81e4|ScLf1fVZx(pO^HgXE(Popng20&H5aZd6D zANBgD`X2?QE)kS`h#*KlL=Yt(BIw~G35q_Fpy(qBiatcp@jLnuLBGj|2;zs2MNr{m d7W7she=6O&Nf3;JSLFZz002ovPDHLkV1g7qfO!A_ diff --git a/graphics/pokemon/gligar/anim_front.png b/graphics/pokemon/gligar/anim_front.png index d3daf460fcbdd530d99330199e52540a705e6375..3f2a0c4f5450d919d105d24539f8996882854809 100644 GIT binary patch delta 1295 zcmV+q1@QWm3egIX7zqRe0000Q%e1KSl1Wy=(W7U_xV}uRjG0*Y%3t z3dr>agK|T?jY1{{`j@ik6N(KW6xjms)o@3HVMH1bXG>tP1;oN1YJdr~7w{Tjz#RlE zIwNqyT=~=l;b(?D;9@Wbd<4Qdz$||P6apiG%U5RzpcPWgwU~(!pDR_+-?R{ogr7L5 zbq**F1ehcp2uCGGq;QF3aRN6Fl*)?(Ax2_!R7J|tfLa3j5sL7bfN}LQp94!H7%Bj; zWc3Vnys2J78H4iF+HGOPr*EC$ z{*Q|yhSPfX+cq$}i=E5+FYez<7s`6J16bQ zW%Z7y5%?wSV+=Wg2T`_r6{h6peSwC>6dGYtOKxl>udsdBY5<-Ea>IX36c4GN_>o09 zhCrC5VmltBO0?^k6Bk%c(ro9D(#@LiEQV&P_;9!UH9>}UTBf2B&{8B-5>qB+`^A!T zMb*!g`!~RtP29X_t-&VUWd`j4OMSfTxV@IUSUc2a9PI^ydm5EkYH%;Gu5b)1h z0cyJpo7n?ETTbbL;BNrf**gGH@X%MSXJDeR#i$DyG<`X5-$693z0Ff0iATLiwOz&t z`}#nPFWL@a_MaheR8?+EeK1chQN@>4<+bEi_*wOx5aaRdw&Z^cUtGRI;H$h9_~zmj z6%g5$-e!U`iJ!>l!1vo}g2eK9{5FQT#f;#^x6*@g>|nL8_qzJzIrWkNzyp4Jv$qao z`3R_nfI7U|LvWANEQ7mv*wrT6XJuH%o2Ce{cb>^W^w!1LE0yAhya5Wp&M4P&40M@4 zyqXf>;DkgKb4`B-&~sK?O((!59y6epldg6+Xa={Z(}~9m=HV6*$ybMPHIP5P@~{jV zOacK4FMqMcxdyz)H*rCFvF{;}r%Qm*%;8d`#m!Z74@WMJO8QGcTWJ{{*8l??FY%8B zaDXLVmIN?xw99y)GVZFy$m&ujWCWOc15{LChMG~j1Sork+{9=AeO;8o<_e(Gy7*uc zsqf3B={%h$8PkA6qrs3)h(|_8;Lm7Y3D`y|F+B&Bq@xRf02_z7s3jYXqEVsEG5012 zYl5ny@u&v?8i>1kBU3qgs-v|8z|MeeUe*rE(VJb$&LL&eG002ovPDHLk FV1k~VTXz5e delta 1234 zcmV;@1TFi~3X}?v7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1d>TaK~!jg?U?DV z+#n2v$Jiv3Of>KRxb?!~BxE7&pGt#N={CdpFq`47KN{T*UF>VfaxlP`xxpGEESCF{li&%qWz}@&NuGD*%g@0|B%?Amt*vVLN=R zLohu9V$#aLVH}N60Yp1M{ZacEaL54Gk0WSUCwiH|ESIW(IF3W=!&?C|{iuDEip|{! zItV(=JVz{gt9}?cgtvT0!u)$ft}$4_h+%lME*b#e6g}X0FCl3ExoRNR89>)Ds$RmE zo*d}~ftVTtn=P4k#6bg>0pbc*=}^N!t!j-A?>E{f{x(h1d;yp~$P5J5aoeyg3-?Al z7DfK~d@cxoQe_gwI4q0k7vYfUKc7p0)tPuK5EH-_Xwjb%cr93+Y2u-P@ACaFY5l>J z0qD~IR?p+k12xZFnF;XavOrqlO!(+`3fsNx0^nh{DCe0Y2d9t7Tnm6J9j_(KU67^- zpzg3acj5eGoQhrvRCm~v24Ol;OPL+O5=`0v)2&s1z~d2{CNC3-?5TmoJ;1!yVC z5TMIi3DOKJ)cO>JkTZSC61>NG9OU;iy(S?!%^+pH4B!c6t%P>8 zh*AKgDS)$nPMbLkah@YQS%eNjNgDy=s#%)TV@VICOT8kT9#R@j zoAMTaz!h1|oQ)LQtCtDW&6F>7HxlYfZfOMUtn4mWb|RkM$_@*V9VxOQp6WB`@q1~}zS_Pm$Gk@ZnnuK(*)BCyhwjgvK0LnX5vlFpiEjeC& z0RUB{dBFOR)$Bu+%lcEf45XN?@-|fD4FWhlcYw`nGS11o##jJt!YTj;%(9~Egjo;? zPYpnMrGS#gakY(QP1r8eNeI!&TBDxI%S>M^}GLhi;25KS*{KP3ck*JNFm z3P8vq_+)PZX!TVea+PeK(-9%-X%EP?fvRm!cCl=za>if-P`q~j0SmG$=t2+^zB;eK z0kTQMs?YB*=t7{)EFAApa4$K9@Dva+8xY)_xFsg w?x6?H2JVpoLp|Qiz&()v4BW5$%KugV06F?8kRU%x(f|Me07*qoM6N<$g7;iMxc~qF diff --git a/graphics/pokemon/gligar/back.png b/graphics/pokemon/gligar/back.png index c9eba6622d73907e181458aa3befc69674fa0962..49b0f06daa7e22580b4929bb92bd732bee7bac17 100644 GIT binary patch delta 646 zcmV;10(t%W1?&ZoB#}W-e*gz`Nliru=LQD@3n!7fo_YWP0#8XqK~zY`y_G?7;~)@4 z<)UUk1ako;vxod}fQiuoDAf1A%5*o9EG#+Mq=to!;PLsin$|GeB%paoqxZY%Li|RWIIO(`O0it|s-47zte+^!i6&L-Dn{L{G z#Yg)$>#%evKqg*y0F3W|6a>(L%O`JTswme7U}`JI*CS9p_pfhl;FE!5Ll2}X3VN=O zSpm>`3^|4Nud}*Jq=4;#%6&5lz=|xCir)YbK($Q)!RUDMv;n4G302+Tb9{x4L-%dL zH^?e5m@<#!*g~w!qg&1A)vUZ7chRiH&J45mv%2L57*;Pk$wW+JwOtrDDn8Mty3 z@=XDbI(7-ltL8j;i9*i&P;jLZdO)ToS)3gJ?sga9?q5Mgf1d)hDD445C+%B+!v6*Q zH$X~frwBWN1+doovtt^nIutFU#V%>q<_WS87G+2506=2x0;pJ6x9m{*k|mxZn{c+} zR7n(izy+3JAhb8aV~moS1r5-fj1FLJY8_eI zNTB4(q;v#~e075YPPX&)2t@Fv946*C-bWyDv1gA?EO2ph2Y}b80CPtC9DrX{ii3+z z4ddjaRHMdEfD7u$SIOO9p`kNisXjX8j~3Rfw0dJt0i7>a=iJE-v9z4@?#Y)kO6j&O g)X#v{-0<`5AC$@b5eR0kTmS$707*qoM6N<$f})@^H2?qr delta 659 zcmV;E0&M;41^We%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#r#vK~zY` zy_HRJBOwfh+eOVjGUfv9%pRiX0Ate!plIFyDkF*hb=yf*YHC>67=1h*Lg4P-v=hMB z@pIpQNu2w49^W2ES5?;!%orczInRXq&0HVnyDV)|{SX1K9ls@zIp16NlbLOS^EBgR zpJ~yh1(Erytjdy00eOl zP*nxn*XL*e^1Kb*h4n9^xgs_I_CS@s8x#;l5uy?n02z^M3n4~l;}m!ST)i+>bAz}3 ziZ-qexSc@fFq=T<%GmdPOR-t!DYcY2Sn@azJc=b$V@NB&ta);OZ96T)1i5nQ_5jaK zek2;0<|?6Lc5wk@2|X&BtISn1Nej?SR-B8+A&=&(BDSo>&h5%jfIrwJl=8k)Gm+ZH zW(ldkjCheOo$m8S>fXp!g z;hg$80Kcj}4nBD^jE8u4s>$-FzzL5QGiQtI9iyi670r41uR~`V*ber tskE95&w>W%(+w@vuYlHG0Y7hD_ZO7O{1H1WCx8F|002ovPDHLkV1h=*D8~Q* diff --git a/graphics/pokemon/gligar/icon.png b/graphics/pokemon/gligar/icon.png index 6b371184e38c032b18eccb69481e01ee2fe34899..3e7a4b5d645cdadf2791af323c3cea4020916636 100644 GIT binary patch delta 368 zcmV-$0gwKt1I7c8Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlT%253j} z0003gNkl4UU;2s#Ql&`O*mRH>I{<#r;)1zjwW`#2JDy6jkD z2*jD}q@zN(npwcH&;fS%2y}g6N4S5YKy#E4#lt~<_5q4o$gQ{__pTxlBntsRf|0~3d}or*L61k zWhr4`{XWoFl6&hSr|Gt zof2l7RTjogl@?|ytDP_}7_~5^%sUIizY+#W3j@^XKx%O?yF}cLLFzB3X#tM0;x<$O O0000gO5rmkaIz_Xc{cL~bA`fWr3dpi#hxuGj)# zbi51LgJ_0{DrW-4O@M)#CkI5A*u){dJd!AY?ztt~NL3|p3V*L(z7~9NF>(rr4=F|`R){aqqp67TqB=We9^6m=>cGeYhWJTdfC=84e7Jm zZ%YG&bq1y#S%Vuf|7B&uz;y9Um;v{hFo1};FrvbwM;nqbsskor7GtI+voH#bbc-^+U0000000NkvXXu0mjfNSK-_ diff --git a/graphics/pokemon/gliscor/anim_front.png b/graphics/pokemon/gliscor/anim_front.png index 8c12ed4ef86816878d12287fa5049f7ccc7136f3..7c7be3dfb2b0da449a34f534b64a78f0a1c8e634 100644 GIT binary patch delta 1614 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 FV1oWx`wRd8 delta 576 zcmV-G0>Ay81*ip(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s%=xK~zY` z?UFri+dvS7)v@J}3AS>WJ9R+A>I z_AZ%O{)pt-aTQk{0VJXM_RV`kPCn}Y6wm(MkMQeTz%jhmnya`)JdR%m2oYkra`DO# zf&{ae&ez{D4tud)ln|hQEV40B$WaA^pk!Tc0|`>`NB}_kye>nDNX0#n5PT~`iHHF) z)*0Xd4kQ+={u*G%vDS^3{8OcB*vH&K*Ty8W6b65W0+bkY84$?TtKHUd&crutEg>~D%O zK){gNh5+6lfI22Ht4vL#aPuqa11x219oGX^?j68-_J~ZQ?TMAp9k7u+t>8Ib9=J2vMeIU{PhIJOJtFcz zw6G zR^Z>I|DIk3xKjVXR{^kWR;|F|O5&P8pavZI4T;tpfD0xYeAGMDWbzl+V@HVq>1>4n O0000kc+5QUDf83E&GrT*@M(s94n6t&$a$y)usPm(3vDL?^e9hQIM zOk_ajJJx`b&5k7c8sbtB=9jX+gxcbW1D}oThgi>N>jQiGJYRx_ErDnJ4F2_bh{+l$ z(LMxw9lS?9uw0$taD9WzOQ0|(12{PzHPGYa92v4~sa52uT$5(@$<#nkxJ%2-@SzQ0 z9QpK~5d0EACg7f?kvX&uk^}hW#tDDRRB$(p?2+R(M31O_?4zxtg8CQh2&M=+fGL6= zz*xNpQv^MLk>ChMKH&jO5wwEof*KgL30lB(K@E)Rf*P1EXaUm&eKatupblmgB#&rd z7D2+n^68SgAo)AsZeiL435Uel=T(rD$lV}du!(^@;_+Wx*Doi!Nco*tx%>00~5U>S=u-C>{*9;ceU3J~#I|Ec_`s$CZSBC_JZyL<0DV zrDRTx%R0XV3X!DYXvI503lV0Pv-ubS3-jLG#o88J=LUi8mMq*_UylI={1h0E`QAoYyi1VU^!CG!dsTlz~QS#EP3<61Vq~dXCrrim=l;TW* zNz%_Cs?XLGUTcWoS;tDL6$1)qDPs!?ly%oTZo*x1W^3V(bei9z>4*;WPWQ>(yb5ak$%m|P>Ve$x&3t=Vzxe`X!17svj zJbxEJ5Nbl0AUPG_gO@vDj^~e3hz~cyC`Ob^Ul-G^_l5vITkts~{s1QvCY7;+xGDeu O002ovPDHK)LSTX?Nw;wT diff --git a/graphics/pokemon/gloom/anim_front.png b/graphics/pokemon/gloom/anim_front.png index 9f9ea94c6b77633dbc9a1d9a03bfa20a06d8d419..eae8b8e89fe3638c66dfd3c043c4196e06584ae8 100644 GIT binary patch delta 984 zcmV;}11J3Q2b>6y7zqRe0000|w2JrIpw?*rEH3)eDbp^wgv| z9FjK(6tdZRj_yigsOAR_8@{1*H;=Py9ngL8TT21_MvZm0D9zKoGn(I{B^v>@n8RdF zt=V~bwo66ervQ8f@FieTOXPP-Tl9ZpkqjBL72pIsuWaEAJJhB5(yJoo7l6rHHUSB| zKBIdyXIVwB%UVhcVz%SHRTdR!sccyl1nLSPn*QoRSu|0yB;YA6n1UTJ&&ygO3OTEY zE!9a3FdfJ9Iua;a#fn$Cw3T%_#s_hn_fRbh001ZGfVvaMwpa=Xf)NrBV10kD5!))m zHW`D=4HAGD5?$v*e5*}-s2N8>#vGg^U?af4agpb9a_F#L9KZ*e0Zcf*<{SZoX#nYy z43}~97C)}Ykq!_9L<>m3I{~yv5*SBO^fQ>q3PutL`S-i~b`;%BB%sfb34_Tzif-L@ zG?Rcn9v5NC!!Y{dVukrt@=$-wcu>XK;e|WpJQ#<`7K4!?`uo+!Jbp>m0Gm`r<}*HQ zHCO_OJwqaRz#TKD!BT)2a;rx84~FH(*BAj7vD4oVFd_z2(}7Tqu0m=acgq%iq!41e z;ZLJs8X$+l(q)pF$I`%4fCRaYb*$t03x+xDB?KduAJkesT`<(V@6>a>NJHVBQ3kF*VhACSf zG~pBjv@ih{|bMGamZRrE?+bd8FL(x6o?FeG7xcJ7#ffX;|4;=QBSKMss<7! z1YyR=eDA*i0000n; ztRN6XaVbH?>;M1l)CSlcY}$|4dYG9u%tIE9##9>f)?07&)PVJqd>qH=8G@EZIscgM z6NX{N8U|Pv3+Uo5VVK=S1h7;ve(l6o6mC?;z$^e34i<)y?Objv$rp5Nw+-f5I?!LJ zcjPDBXY+u~TGHEp6-E)#kIBhjYzX3wIRfhuup)qDvizJ_0f0B=0CYJ5(84$d^`sx% zM1*bQeJub0U|pFoN(1EFiJfs8M-X`qz`p1*Ap&3`EnA=yiA8u@>>ymlWstx-$qu;t zs9(z+ggxG<2_T7X0!b5K&FT>l^t_MjI;d+d`Jg+L)kgq-ouy?BI~fXCP8Zj8%j&6f z;VewR#r8x1(8am8ydD8y!f8M?6=>%`e~R8NAV0_bQT{SyHT3CK_f-nW|% z`v=;$_s%;fdi3Rc7}Nk52wQg^?u^GWv{5g4+#r67PSwKfYC}1C5>9=V43N2gKs2F` zqIhe42Va2rEZ@>aJ?vrGCjdT9Dun%>bt8xQ2mpwGo6xV<7eO$<)prmtfV3t+_aRD> zPs{u|xC3Y--+Jqj6YI z!-(-gJAmK_AqxltYBhk+1mYX8@w`cO%@1+`gd`9d1L=~C{-ppSpI~g4D|8kr0Yp9l zNh3Xfo&{SEAo2l5va+-Sh=$%qLOy_iVgM2J1lXV$K-lU(oRS3rm`VV#)D5V=Yybfg zKvW3v%ghH5ctC7DK#1+7`TsM3z&n=i`Ck%@OL<+SgW!)`f)VD0Mub4~aV5bJLIvP? zE?Eiy3X5)4nIo*5K>{rX)JjPsgc==9eH7!DC6!Eh{a;xoW6^)ukDw|eRi+1^3xnMj-s QCIA2c07*qoM6N<$f<>>V8vpnZ-% z06719o{-tAN4w9ZkthC~o`Te0;(7+>&qf1ilY!&Zi@fkJ$C$@VYyQUn1X!kD6JLC4 z>%4e3^f>1MAp`JC@c9xKe7-v;4hA6!bZ5pK4IgjLMsomY;*7)_2!LM40Pi&rGXRg| z5#l94RYG!qylx5TK}&ZB(${&T$BIuZ>jQxBa1Ia&kS2npV}N*Rg`hi(a23#gjXi`3 zut%7WD0FdX_v=%xIghQd_ZCM;asWdF7ZtGaaA+t5gaj_~8bkdWbubBf31FLU4mx^q ztAmJ8WVog0NJ>EKAU*;pfX5g$d+-1tFo7%61vN{5OagEU;9`L*newaX16+z zM{K@`l)8zd%i|?mnLUpFqsv&Z(;#J5E|%37<7iY#08f5Ai_gC`pY*c~< zZrtpD3!paq0BjRX?^G4hZ@^-2fUn0lj0%91nqX6cWdY*rZw64SL-D9M2b)h`KK!f? zp}{J){s1;Pu*+kxdG;7=aeG+;s!qY}ZX1>VLt{mMJg7RjQ=96qv?97c0r6hlZ!Ht3 rI>@e-GX8w~1Vk~lYv3vVLHq&`jCN9L`)q*>00000NkvXXu0mjf{t6c; delta 637 zcmV-@0)qY81?2^hBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zOGZK~zY` z?b0!8+dvcm;A=pXx=ZC+d-P&c&s9Uc+ML1TN%RnL`YQ_Nutv*+_F}|kG8ADPvU=&I z;Kh^MUr_R2`cAf_lhbx9bjTYH>E5UJo=zf9@!tl(`QP)D&R#v*eJ+hW_2%ppq}~$O zGdO=X8bF&4Y`b3Mg?BlB#yn6jTM6`_rMm;|>%7rp zB_@P?07zV%1CkhM6G7ZDK(r(Q=nf-X6KKE29*GICN05)0=;F|S?$@VW3lWi^_ZCNp za{xmG7ZtGZa9EHe5Ky?tYYg>k)WO8>#ei+PIq2xcsSYAUk>Qq}BQ61}gXjpL050du z>>+#r-vo|K7tAa%@xd;Dg9WZ+DzZXYsh*A2uQ#!YQGSeM&2nKyAbUSSFa>sVc(XfW_Vb zUypAX762(T!KMVu0z}u}44_tr;$d+PmYBSJ_*ox9gH=RW{s1;Pu*zewMD`eLaeG+; zrcS}_ZX1^WLu18$Jg7RjQ=96qBq7_MfM~Dox5Nah4zg>dj6dHx0b#_f8hDC-9)$b? X5R7(Gvoz-$00000NkvXXu0mjfd)6(N diff --git a/graphics/pokemon/gloom/icon.png b/graphics/pokemon/gloom/icon.png index 2602bf2d5e041c180d3bf52f394a0c400c63ab67..ceb8e1684cf00d89e56acaaf46bf3936a10a31e1 100644 GIT binary patch delta 268 zcmV+n0rUR40^O{0}K*~NX(u9 z0072GL_t(I%jJ?W4#F@DMSB8ro2ueEmE4UCm6DCF84$ThZ@>*uq+S7ug)N<&2%(q` z6>+;TFah5D^Ar0;zbL+~1ks|W1m(!jultkdmef%SDq94imVd35x%W-0f_e!E9yDN? z9jU7U5b_&AV=X1gVjd(Ku!JCix>=Am8Vd^bd`XNCXI;>2`+M(b&}{d3?%kj~V>xWy zu(J&IRvGk+#T=ta9G^%ezxuLh-wB&b@w4?$fuU7kgjoeLnWPW$@dW)TxbPBj SLm~hG002ovP6b4+LSTX*d2n+8 delta 226 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 B6QlqD diff --git a/graphics/pokemon/gogoat/back.png b/graphics/pokemon/gogoat/back.png index 47240bf6acc30534babe1a982b52edf7903714aa..de302502254fd47e9e4b048d374b5cf1f128e378 100644 GIT binary patch delta 716 zcmV;-0yF))2C)W^B#}W-e*gz`Nliru=LQD@3>_Hv(GLIs0+dNaK~zY`?UTQX+dvS; zWpRcpJyMZYmUEHINc#q2ov6G&2nXDmV{sdU*x)K0LeX;=(l}jOzg%W!SF05lLfSwU ze77_E+xfm3NkQ=Mt{DLQ=^SDq@^m@P!D8GCUXb`DMP4kX=OT8Qe_$3<9N9n&fQSYl zHt}K%OhP379ecqQAOO4q7#FXA!WWH2zVH=t`Yk2^OHKe|B6cyn0>A-4aX}NIFi&H_ z>0$sNTA7M7k)zusPRjv&CrZKrz}lp|6b`^U=$5Bha5F-@R_`kr0ooUHXR2w?^)UsA-JA@d zAE{4FhN0F+V8D1J3@_=%SV-?u+&_RFAWoEf$gso{HCk+&e;W5oD#3%c?;QatS$Ly0 z?-2l+%{uDSR8A1A*tQu8hv< z^8LLJsCNFTe^cskS1Gk2p!sq2y14Dsvy=*fw@B^T#`U`LG%9uI4hZz??$GUP?4#aY zpC%@H66ksDYg)VOPrr?_$0p5r|5BIfrmlV9R?3pkxJa9Js@(WMTiM&>qVHNNR@OTQ z+;qz5cMMo78xK$xAOim!`U>~uW|WYFe|x*F=vO|DLQTrvEj*MIwpe4Vu*P(2DJf-T y*%6SGHf1Dq_j$tOp=k*@`onqT3}-YXJC8l!QHiwMls?2LSJ&Tb^dd<#-;U2jF+W|EmFD z>){{)_;C^kL`mE?&oKk&ms7~4F#~u#aV8=LSb;=ACRh)nH34{k1Keb+s3fgeLKe(- zTmj+417NNf{mp}c2TDJM%)1tE+8iq1`a5B7^;a*coh_cdpX&5fx;_Xd*r z&Qt;*9_C~L^GJPSG7OEWfC1}~FuY`HYeC!z+&_RDAWoEfSYwGNYBbx`CGMA0f(Py1 z9RY$YyfcRP2msB0ah2JpO}A=nJu(iU5_BZo(??^*pr5q^*3}ZCz+2=J?77)7bdC}q zKoehOw)rstr?Z%xqedk@=+6$Qcc)7^1yG~Yx-oWD=5#sx$Lc$3d}836`U`NQ8`MDH zd1nf%bGrQe=mWZ$e`&Qo-W6JJ38;Tvy)JHB{j8Km;5|}*2exs&t~`xGAKN1W-KIUZ zhZ6fJ_t&S1iH-z1UWby_{`%W*Bk!X0lO)k2& zp<;QtAAp-yTm6;+XJzXF+5tr1pJP|xKHrWKs`u}1HwFFj$FWJ(4GRwyg$>piD{L^` zI7%s1ICcat6s2t&NVxMC;Yn<|zRliEr?%54_kX>yg5VEQ@Hh|>Ym?*v0000rrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlWv*_Ox|ookKB| zhY+wOWBt~Fh#xY(^ zfpI-SH()#;;6CdMFvW0RsIS17@xB*eHaNL2>So8x?-%j$4MD5QcQc#z9{>OV07*qo IM6N<$f(lHxlK=n! delta 375 zcmV--0f_$d1I+`FUw;8uNkl~GP%&3a$3mStSf;6~ zMZM0$&dGBcS2ADF!V5fg(LdJ;B$cR@dJh83Dk0ToH7$aWWm2jf zd4KIu&khP<*9)yas8x5(kk}44>@G4SE`3Px`}08<^89ZP{beB`pzI121RQ`i9YbBT zGcUBvMzl1f&2Z-4(9#GkVpiWAz-WmCPEz}&z!(;03=F!LeepT~b6&dQ()Xj$7wf#FjegHwM V%6F7dM=t;X002ovPDHLkV1hYgsdfMW diff --git a/graphics/pokemon/golbat/anim_front.png b/graphics/pokemon/golbat/anim_front.png index 661f81d46b72bd2e5357117174d7c827966eb22e..411cafc615c08851432fdadf16d0b0da7057bd0d 100644 GIT binary patch delta 1196 zcmV;d1XKIN3GNAy7zqRe0000>s(>^0C^N{AK|Gm^;x3XdGKyG> z4I1cJ(mrIaggla)mdf_VpbhP8K>}F5Ih)g^>DVn9^H23X%9Qxi?${PRz%b4C@%MlI zxZ}O2Y5#`RV&66!4c^tBxd*Jt&P{o&wYlqh4R-1E2Aa0Vcj^fyeLlnAZJ6%3Ki1kE z7|_!m5(ibgi}qRi*an!o6c;xnwT@ zMTzZ0$OBtYl4u>J0uW~}79^1eRsw%T0L+b#)(=SuxVpLu>GZw9K+lkqR>pJPpE!8aP)f1Om)1 z<9%|a%LQB@G0%V?i3sTXQa*i65++vaGy}HOasi5fr@y*KQu=8cK*Y+&Iof|C0$L}o z>)zOMa0?(oiEf>eUH$B7AD^Eb-Apn7BZt#7QV>AEJ74?mH&Z_TXyZ}G81R)+v(>sW%omVs%7E*Q zQVXyqpE>VMen%hnLs%fN-YkFZfl>(s6M<_o!Vk({P^p)>?R$d?u-`*qUtkahK!9Fz zz=I{7QHvym>2;_~=Q$4uTvO#Nk`T6h1QkHLOo81T5EOw6dN(ybqyVD>7hD&u>6L3}le!;4Wsd0nAkg)_eL7Y|Z43P$bK!-Nr`Xwv!oM&GyQG?c>|dp9p+nmZ90lW%aT2b=fg+zb(d0E-P`i z$C7(uXmE~6jAbPR48X?hu!^`uTY6OhKk0$iCPJXY>)(xcz zn0%&wK@Fv$6j?*Teo+tX_j;>_V#<1nwq>O4fEluW#?+1UGPl?xUSIAO0v}S~r}_!g z||67T%Yy ztAKt8VKT%@eZrfPf8zvYfF{IHFwRkcv1iVrEU}H_+ssR^;*MbU6DR{a+<~ztSlaT0 z!m|bI(vN6ut}! zay39$1mb&uD6V`qK_Q^%Z3W0xhN3KIp))70ugd1X=6SkuqzZYaKIWAm!s6z}cLC%h zzAFfls0Lxg1&OeF!^8#Lsru*^>SA=O62+U@xTj(9?mrl$kNyR~3x{lc*YZOE0000< KMNUMnLSTYW%rB_` delta 1152 zcmV-`1b_SP3Bw7H7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1VKqeK~!jg?U?Iw z<{$`$1AI|)=>6aBa!_;9sNMeAozl*9n)p6Jg9MzWU;6G1HgYlvR23hodXkmfgsnMXZ@0Y03wu}h08&J7)svX0dm0$ zeK`P2&`hU>$%Pb4ituN>%4KaLKsK)0x}xRI3&0TRReGQ0OwzruZnQFDURT=h09!6W z_(UMvi?%lE0&eRrsSoyb!#NRj4VGk%&N+?p9h50^*4MN@L;Opsmtf9-M?#3#C6qMn zUyUpd4!})+&x8bU{PeGcfcOPs0B9H_g1_sh$wEw)6M^;})rj^j5-bpX1UxoVBIthe zw0}{w{R{0oG^4(&P;(#>EV0mr39u2R*;oKn9Z*6_OvKa32J$v2M`2yhfSfT9vJa%6 z;(X@~FoiQaL{Pxlg{ocvDtQ1P0`#7Le*wh!=3xRz1gWD0pm&L00Eh8& z4;K^wdGk;YfJ6Uq0S(Y4`#}KxG$3ZB%4eqt*y#bll-}x=9)S$lY(FYMuS-NU0Fu#c zD9{!G8w2FG%K@_QfIcejr_I)oQ)-6;5b|Zk2uQU*iR2*5p`fI=TYyXA~d`PZVXgCG|&xT{nN)5*t zpwMuPSh3+4uyVsOVC9Bm1W;-?h5(O-qpvW__G~x?0n%`!ejzs;V}M)3q0Wo|xZ%J{ z!vTZwBz0A87_{JMoH5;v%hX$$7!XHX00XRlCqV6VrmUYOl<*30{Vqt8dukXGfU)Iv z@8Q1a-L29U0{6~+kJmPzE|o3=0s~yz1vzum6Q@h1tL0Vb0-&Cm@#F55F6U>t)gt6W zzi_E^wc;ec!#1k``;Z*8c;jI041Hdz|BVVbDFO{zLaoTvc0FnfVv{t=Ty0RO8 zR09ku15zvlw>&Finpe^zPfS=kY?v*e*tjK7nuN$jT>*Y7ICVETQ49Ed}fa1T1#&OOJlMN zJ%Cc`%78{*YXMvfpaY9uW*0gDZ;Q}h+RzrwMK`N4QW#g6Lr+e6nZpt19fZmpjL9&|J^Zv;iO2`@wN+pX09Xnz19J}%YR S-3PM(00005UjVxt^L{3*il&F>Z6C|>_6Uo4ufy^CB@�EmAZCn*KYl>`i!wJl%Qy$ZsQyjT!we}9Xh2T07RAbwX- z^iuGIaG@T=?BknWijb)7oDjBY|K{73pyz-Q9VRn>Jc$IiK)Uc3It9BuKI0k=&`)3Y zJU{L+2p#zTFd)U};KYeA&>+t^0?Yv>)HKK2Dwma%69@#}D}1U9Ksp4X_HyJU0CoZJWS&a} zr0wz?#EeP>4pJ_t1;l}vC2IgV0xJvXELJCx2Bh5uTM-;|E$f2@yACXR>qT9)Nx}i3 z)@9KEC{+_d|GwyT*#O8&*Co1fcTxkj2!nVsz_VZm35upRRUrKZNDE$M3wFbxaloAO z#&vlzpr|oG=kyI|8d(B}20$?YrWQ;p09hZPK~(utjiKlP&viM8M)w-j7+m9@#1D=; Vxt2VEZ43Ya002ovPDHLkV1nq$%>)1d delta 493 zcmVtf~SNF^&n<{A7A%cL_}@pgs}DLXTDhqdJY)TWjgc6qeyWC(p50mE!geh z8K2<*{S0*G*ooKp*k0|`r4015<_7SL&;ZXylHx)*HeCJksMo4p3x z4$Lu7>t$1)nnVLYt;@0nP^l1M|9#QxvIUS=E+u;7?xY545eD&OfNvX2p+VU;24ueg zIe`~>0^4EGI$-WddE-(Z4JaE7&^-eK+E!Ko;sH<&fQbd;8bIC$Xb^R=P-7^2z;`Lf jv3IXQgTb}_MS0#2jyt)Q9HD5y00000NkvXXu0mjfU31W5 diff --git a/graphics/pokemon/golbat/icon.png b/graphics/pokemon/golbat/icon.png index 531b5bf78ec87f8d44e87195c4824b1d4a557a9d..9fdcf04acf7b7e5d209c13f8fe6aa730e568d8a9 100644 GIT binary patch delta 321 zcmV-H0lxn60+<7kV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}M07A>6~{Y%Rd@7&EjjH~{ zY%Rd@ShKV(rE1nx&=(L z7}}1R7X>tQ@(Q?OzX%2*I-Bvp-73)bPeUtnMYRH`BjN3+pnpq~$Pg{+x!>k6BD&uS zR&YJ~cmMg;TA~ebFVK5lM(i^?n$})32c(}c1K@TxcPQ*mg=gP@xs>3aEGXk5t`NBC zl7kybRuqX|zXI569K!s4i2_l*cSeXdG)U88Pl%Lyfz)W}!2E!kq?JTOO&E76g+?ZH g3T12ZH{$RC$`e1MMK|E}ZU6uP07*qoM6N<$f}Br+QUCw| diff --git a/graphics/pokemon/goldeen/anim_front.png b/graphics/pokemon/goldeen/anim_front.png index 327ab59c3df4b72eb2a173c30707e71bad4e22f7..68ac8d6087cbd825bd65b87953b1536684acab47 100644 GIT binary patch delta 939 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 TO{0}TjlF$ARm z008qzL_t(I%jJ?i4#F@Dg>wTB+#r=;BWknLQ}hH#RAOMM)DD&4E{t6ndkijsl!2{8 zDL+yNOgkiPJ)o`#Z+7gbXXj(=2Sbw_LRyfc7Gy?>;WI~-jDKbfzs4c<{S3__R!*hX zpu}^ZOFQ%kYcD^fo5Z%#qgS=!p>@f&c>@Fq#765OToS zzjDA>6$^|Lu`WL_t(IjpdR(4#F@Dg>wTB+#r=;qiVC$Q*Z(#DlxEBYKKa2 z7sjrPJq8y*%D`5tlpm=BrX8H7USLIdvtvI!JD(6g7&Xfw;srHoL1C2dK14 zkjCNQ%S=@eovOjP!O)w8nYATAvNzWL}_PK%cY^NDBez2T-IO zKm|Pj0Hj60Jey@X7=T5E2hi()MT8#U0PYzA(Q^{w_M@-J1p%IYh&$g}z~dp9!YQps ze&CpP8Gj#nJp{7{=jjKJ5tR?P`|^Jke)rJtVeoSOda3*&(E7UGE@_h^H&D@fU0*Fx zd19#QTFTAlicE0lNzUI$TuFIByU1e)!HOy3>hy_3jB<#1ClE$&asmiL)OWTYh)8ib zxIDcwfJTa)I$@Dcwea%vg3bXWO0Coa!Wv?93zW>^<&&{~U5%j4?WRa5m4SasCiw7z z8wZotLm*=Fm6z}G*pv>_`7(w!_Zh_YtE$hFHr9gH<09Arj>_u%(D7%|u5Ehu7 z{WyR&ngn!tOtU7>O&QH@WrIZ%H5@*_h6d1^Gw+2w2v1s@haU;3@`Qrm0^Tds?8a$w z_`H6bpd3>us9e=Gn^(US${v4tC%ZVkmO%1&0`^j}PLDD-nM#1jWq`ttG@;8paTyS% zbP+WW)3@C3AhvYTG!hD8)Gbb0=PfXn-Rd=QQA#KPXS34)6@`>zGUWn7a?o6fr_GS{ zQP!ZYP9`ZpRW#nZz}V*Fr^bZro?`feJzSZ!@$N?%-Th;UMb?Jf0oZ?{x{lg^hK`#G z&*bcx+&QxSJp{+?dYCG}yt~h^{bNFag2X=;7F7;E^#Nbj;;0rqz`Uf)ev$PJ(Am5^ z?ggaz{4-DQz_8o=Wr%@psu&&YO`7Tb`e%`wYie3 zsc-xTv`!BVXNAg5gmS*w{A`-J+X>?+Wz+3l8)3T5smKn0S7v`l*gVQ(!T{zM$7W!5 zGzfBQhP%RKX8*!E0S938FoSj`4IL9R(OH*Th0&QOq?ff-W^=adf!@sZ&X|$CqFbK_ zN7e5wAhqO~?zy1Gxov<1QW~q%JrklVx2e7_0lHDsV2(z+-FY6I$L2obMJ0>^*h!o4 z;aTwFOk0Z7$u)l*y@g4PxtV~C&>s(jnF%3AFe_9BmyHCpPvxycE zrd`Cl0!5$WRLxGTfY88jXZ+iYQOTrH82L`-m|2H1vihK~Dks|qMwGjfBwb#}{dEJ_ z%};brkWP?UM?eg3vP-$;!OduP0%5Bk0=LB9(GU2)e)t(r>W9Aof#Yc+p)(#S00000 LNkvXXu0mjf``tsz delta 1021 zcmVuzSM8^y!{dr9=eb>+AnDfFI%={D=pfL(4N_hyo^j)3Gaj_xJ59j7h#&<2L22ED+GS~+xz6fK>`Zl^9e-L z%ij{f@XyQ)aK{4z|9qBZ2|>4TXa!+Wc(gfDzz{lK8ZX&gexGSfdM|ybX~_HpV|SG#yjpHf@jVhS zr?V=FU>`xm+KB&@=e6csMZh%Ma7D9-?Aogs+ydGDdq9Hp-vSQ&sr~oJ zSyXtkkS}L6be#E;5elBc)d? zofQGSj)b!B&@?R_1g4UJ?RvJ&?h!oYb2MCk`8f3msOKQsp^xBQJqO8j2P2Hu);UN` zkVhC%z&S%R2hq8MDVLD^5o{f)1+ed2q@!u6%}D?N0w765K~zY`y_G+193d3O zLHGbL&?HR+-hNp_WoaeDyxwPs+~qovQrk)w$ro6s$Q|6p${`|c@4zs4ff+WPkybMr ze)GNW{b3fNcVGDCf57p~rij4yjKrs~hi^A$6pj%%69eDgAPlele;C9c1F)ri1qcpB zGJ#hy;s1u8oNjgdcFfUwMJ*^A#TI}Mga9QIAYc*VN(n^3g8+XSZd|+1h*yljw4Amu z*4qYuV-{eS0ASE4kS`A(Xnb8HAY5t-SPt@@SSVJVgm@g}&tDZ#E7%7mUk<$3Z;}vB zDaP&!U~HS9!uo8xe+oo|{SCD}3qipv>yYgwfnxeBT~+}cYZo4oUWmBC^#o>*_suNC zXN;aqj5UB#lSWOli|a$1W+F^h*dNd;k$XArpUN0G5=9NTFyCLwJO|nkX8-5$xjd4z zjdEQ97hC<7ikq|C{|>;#TrK>nbGclOGd>4kkO}ZJfQ2(Be;XQq9ORGWaR$m}hJhKR z=TET#XxOd*up4}sGT_0A%ICc-R`7GBHsHR7&`P=7^qLUh#spl}fID5aDS(p&vnvOS zC?y+!6O;V7sR>?91BOL8kV%B+d82hNCgC9BbOs!%CN|Z@F!MICQGzdK-V_r%=DA!u zH8wr#pF5ilO=~%G&F8Br&f@IP_Kod+9OeS>JT8u}nMm!+Cg_TZqK&OhQk<#mLa)Xs lmgz|J5?M-&`W^qw{{e@i@~$(*aNGa@002ovPDHLkV1fml5j_9^ delta 621 zcmV-z0+Ri`1=R(RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xn5JK~zY` zy_KR-U&NK!apdqm<4bM$(1MB(6oBQ@yt6`}A^ufgmA zfo)S)0CXsV3A&02`x`%hz5hCtZ@V6~m5m13II#s_kq{vJ00>x=xR8P{upq#m;}=ur zTV`d;z=s($jCoqo+g1bY0st)(3hdkcY2#iO0l-IYf%aX0$2267HzA(7{`E%&cM?sD9}q&27`k{NKJ9^TVF zJJ(Z6sQs^}w*)xzO{Y~ZGvH(!T>@Rfs<)k^dkT`E)(mFZwPdK0PF-%VbpA6 zpkKQFF?gJSbeVX6V7lJ&7qi5oPvU|sKpe=?-v$*?{eWhzaoDh%4#qc!~ z;MW&TG%F@xUSnxbgvNIvhLwL#B-9ZwmZ@k_L<{1(gC99wXjD-Ie z$N2~*4Dv1tia%ibR+69vOyIyt&0=gDgdBWG5>$}RIE0&oyGadKN9b48jO@7LVFP6naD!R`iHI5Z{bn1|~Qz%t3LE8c{-1bWH25*RwZ>}RZh z73Kx9Feb%;L}5h#FU5r-B#}W-e*gz`Nliru=LQD@4IY@~vGf1{0uM<*Z zx*c+Ne*>&;fY6kMScC{;ix1JDcv|?;N^M9D8&G@UDutEfnV4zd*DmfKX#!SA%4Dg9p(w5U*iyg z)8^q@w7LP3LDyB=e+ag5LJzbVIBnDK{u($8KphX~Fd+le*9_>bPHy`vAnRuhS|757 z5CVcevl(csT~F*82oE)LRmxzr(oBRY=OO_!r+13C@4T*#IuM3K{hO2OTY50qD>&K#Qx`Xv$;I>mFbW z0$gffX+jF?(gnl-?3&a-pzXB=i#H2?qr07*qoM6N<$f@SLdj{pDw delta 592 zcmV-W0K~zY` z?U6xl+b|GC-N1`#S2{UBD)$01djK0CV6p3_=mCQC02M$vyTSrA^qPRl6WGuxJ2Rvt z+sd|!0-1$G%{>13Gn&1}zlys&f24POP9y&;JZbtfR;7qrU(_|n%ub{vfmKVQ2J z`VL|k;}C(<=HXkEx&e|v*HzmHwz0ziv^{XzruY6DIE+9Y4`=Rw&;#?=9xz*z)b>|E zUq2gV%%PVMLMX0ht_Rv`HxPRQcu|?Jk_T(FA%eS{iv(oe>@-c^1ydaj6P8Tpu~V}@5kaOGGxl~ed>{YIn?RR{{B zOm$O%RVV@*wt%*OY)~F=41mTWdQy(pgn*_xfU*f-LlD4{z`RA*Tn7hN0C;c&;NUtY zn)1l?dH_fQ0iP03T6W=lx&Xkyu1N_{IK45-!2n>7x%GI6p%u*+^awO)qJ%yH!Kr{N z85ERffVLJB!SVDu-EhbvpyGevgbNfpHnAGj&_fsi9TWpA_(Z}oy}ke%x=Z17pjIIQ e@A1FHZ1xu@IFG4ux8hC!0000^1{ysa7nsA3*RMER1@sV8ByBh>@P8P|Uf9mUI!s zkj<@!g}#0n!ZVPO=dT-J#;`Nc|YI$Crl<&Q~!NbpsYgDe?N6vBC60#8c{>RA^=ds(qd8vXcmC?)(FrEfF+n&PfAWHfc3ii?WA)Q z0ZZi=0doS_U?oY-e<5J^0t)74Q(wg-*ck&9A43)bOzt+vQ>Nf?3TAy*Yhk_cKka@* z;Bv?JeF`2w(C6^@7U!)Vw@jl+g$XAu<4c=T`J?-&y7z_>AD}?$n9< z&VpJctVlLorUnf5bpN@;Ey-lW+GGS|KbvE2zuurGyO3m_n8OG%zR3XdS|+?5T%3am z3HZW#H*uU>e}>m-vw;FFFja^pm#zNJ1Kbat!JylK2DC9I!{@lOsslo7uvi)JaIf>(MA|Gz3QtwXYpI-Me_ z&`bwVIz==JKp&P3m|eGjvK6qLvH>493s5qm3Xe9`8Wji1M^s^UJp~w1iRL)40n!lZ zCZ>Qago|CwVU++Cf)E9qNl>MZ3PC7!(_J`a0HB7grL+&wECKKB9MB1XEtuU%Tkcc< z8+G;D&DJObw#tzMYXUf6r%A0LVD|zF)>c#B#U$7r0~BvV5dtiK?ls3#X5euK<^oR} zVZR7I?R`YxaW@D83O+y7*YNo^=bpF6dBE{!j`MA8jTz2;o))^D@TERA!kCnFKh~nv7fC_ z4xlFQ13d@2Qnqt{upjB5A*5 zg13Xq3$P#sUs&%pNk+EeciL>AKnpAtV%cMBzefR{ht6Ps&}~2i+8C4JecWBs0U1{uTgW?o^-T|HN-Vsl0As^1TCJ*!I2DIvU&h{Zm8d&%(VPVH$<4^c zCljEOBuNzKufEFduPD+pn2fcG^I^U@O_Fb8A<>NdooENLq*!uo++VC|{8JgmAD!W* Ue0-ii`~Uy|07*qoM6N<$f|*ijKmY&$ diff --git a/graphics/pokemon/golem/alolan/icon.png b/graphics/pokemon/golem/alolan/icon.png index e796f88842dfecc2c057f922ab7cb95c39f91894..55b065b914d03b6f09ac02946d2c3d485335cd9f 100644 GIT binary patch delta 316 zcmV-C0mJ^$1CRrdB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@4Jja4 z6#D=G0P{&iK~y-)<&r^81R)SbxdEvQNV*Ro3lHF7CTVvrn`Ixyy`IU<%&rRBq$hE~ zml=hk=L8yAQ7<1TD$kf-v}`m6JxDN?I$|9nh@t|#!4tVgtN=cdfAcMZPe2mJ7D1_5 zur`qK%2|+|f>M=4eaLzdF2{xj#0fhdL1JMJJBv%J?Nliru;|mWJI|(c_)XV??02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL008w#L_t(|oaK@+PQ)+}Mdt?ATmUOM04X>Chgm6flyRBE(8HN% zcDornNLh)(A8!_W!kz$xE6>yScx*kQU$k5#!X6}$;~jAx5zNs5-Y_uxMw|jeVn4J9 zJ^@YWTLh&R#nM2=t7Jv?21->D^&&T@e@Z#lHPA05vfOv9Edltx)1Ipn41^K4*N zbbbo8hdvd=K1`1lg#0n4cN`4hWzBp-9Tig+<-0K3q=M&kJWVy>L`T7K9PM>kK&#X- zO2p}9VEZAWOE^aQbL(FSGv5kxXy7W$`e0xaMsI~NKfZ-AKd!>;{n&)r`>_f08Pkup Z{{pv45D3*i)3*Qs002ovPDHLkV1iHzmoNYT diff --git a/graphics/pokemon/golem/anim_front.png b/graphics/pokemon/golem/anim_front.png index cd5af1012fd26fa35bfd8a7190bab9bf37c1fe47..d9aebe6124f3e9026246537276894598a5ff8528 100644 GIT binary patch delta 1272 zcmVJNR9M69mOpOeMihs&1r3*`8YjAqGe8>oxH9ZFN0#dHdv?DS*3T4Ggc7Y6`r4=(*1< zkO-PX1yloF2+lhz0D?4c62NJJjvd(!=l(HgO8~AvOmcdz*W^NQ1q=tiu$R-Y(r}bd zn@6vEw2U-A3B1W*J#O5%)d-x;3t2s8>GQ4 z=T#Sb;}kFs;+FV!KL3&<96KlO<@9oLy8zyep#c#N0Os>~o==MbcTO&*MgGWp)f|9M zDGoZpAJm?wg->$L#n~f5Ujr<0 zN$r!r2pI6;2c*@HOn{|SV61H+2(Ma(4N5n#)CZUXyx zi2$@ZHuEJg+W<=1Xe>ONd4h(D${c5?7om0%3kzrpHqg$=8yc{mDuC`-o(=M2!c+&W zK(&{B^(m{j1C1WSa3p`bD6`ca)#JKK7>A<-3jl3d48VdhjAOlMdhrosZL=XXUctRl zP9u)>TgFGwxEf8;G6?%SwE%FHh3~EYGv>JJTkoG$%U+}L{fl5<uh%~&E|01Cn@(EJX^^0?fR4y4; zLiua?4?o=m4|kaXqI$|&?*peUW8?lieYR6`N*d)TN i|GX-o|DwzPbo>i=$h~^Ph2K~!jg?U?Jb zq$&(X8|X-sJ>&bo?a7Uc3TW?BHNQGj)4T05ix2|(<@Ng7*KW)?$Nycqa-X?-ADnxW ziKl)0Wb_cgzs&%Get$^Nk>B9SGQz$*BB=X2I3cj7_s)Mn5CCVu2!Rch5ITT`?Cei& zF3=xAWB?ID4*)TLM#KidqgomiLGEN4j03n5)`(jnILf$p?_#_hPS#NT8Ga?;wrv&! z-AjWs0J^j*=f%H6fRwh3(28mNeW7^*_W?{$ge_qMI7|mZ5W*!5oFhbHI4ihZL3Dqp z6OceZ zi6B)&6JldP*-|_RXh9qaGfQ>^7 zHV>dnVCWG*{wq%kWD=Anvf{6VoC@G8`i*0%1a`2g2!IHs4{G}{0PoBMH6|}T9qo}Js3!$2j zr2gfQvvOZyumwR*uy zh9?kzG9cXpQr$;E&Btf|muN9NlL5jy~YzFD3-tzmPZh007YX zBh=sXSGeF0{wqJa>PfP8?!g&>HlQLf*)nth+cX40=o7RvLj`04_8%<97`W3@FcbJ- z?B6p!@yS0D0OgcJ7y)L+0WSQKvBu>!J((wewnToA$L0RcA)$PH?Q36qW?$|8FSUEm z|0C^w0er08PyWBq?xzWSuHDZW_)xna8X&*X?rj5Prrjlmu6A!4AU0Z8yBnaR-J1r8 zMljIsl7;RV;4mAQSCQ?*$?^HoO9A17xh-<<-f5 zUe(XiyJ>)owYxMQOwpbIZ3ASY-L?53uevAg-Znsn+MP8y-;Ht?e0tS!2qWftdr?zcb>wb`7n4%tr=~#y9^hO&4(L6PrDzR4>%RBP__GF+Feqs z+E1GgkF-1DvhMocZ{nXmP?`@@?GAc>B9rpoi*Cp&R)zO^BfYcuFBvq==(2K#bOTVS z??8ulRs25_&RP7^qd+@{Rs16t_a@6Q2blPGRXB_IrwV1gk?8!qE2JYJYj=nk`Ai|e zQ0=^|pVt-tRE$wt8gaP;^u<4KS=&!tMQQ%qSp2soJ^`em_;2^ucm`Y6)(Os7;=k@t z9Iqo5f89j~@&6!zj<~*v{~P}XkTcbYf4n)4M*V}z=Y2l$f6zae+LQjl9pScr@BlIG jA3S9IANQ|)?RWMc&N)(VIG+m600000NkvXXu0mjfiGEwW diff --git a/graphics/pokemon/golem/back.png b/graphics/pokemon/golem/back.png index dd4f8bb187715d8829fd89dad4cf7313483bd770..0dadea5aac956e219b52fc52e501281544de987b 100644 GIT binary patch delta 563 zcmV-30?hrR1(^kqB#}W-e*gz`Nliru=LQD@4Kzbucp?A*0sKisK~zY`?UhZA6EP5l zgHTW;Hn@!s5YJ>kJ;nzJgnc_!Nv)X;8{h;m;s8iddX2cksIy`bDT*)0E8F=Q=m*y}sYKo4cwPSZ~&Ce;cS5n6#+Pw%_4~ zflv(tVW7cy4}(D3@xeVt9o|=Ct;+)PThRh1OFtT3-lqg%&d> z9spbDT3RA}T71>;D$fDdr$!l5k|72(tlmU`SpUPihmIl&0unLP{K-!13X!p!Nui{fD=lV>|~|qHD0*%n2rq;IXtt*8*6#Su591)~L!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sKisK~zY` z?UGH76EP5l8=;^`Y;YSNAfCy7jPU^iVc!+2q=?zD0Zssj10Y4|HR1}R&Wc5(D83w3 zF6U=P-C2%UOl{KL?{mFZXU%&MO?RH5G$mVB%&J`tW8A!i- z^)a8_kwxksbiB?>Xj9r@e*j)$o0dCV_8ahdG8mBQnxsJ*(hm*t8lO9*l)n$~E!@$b zR`fi2JEwZ*Zyq}QN-`i^&vRX!5hG5J3b0Ux_;3d7MJMl@k+rUWCV8gpX<_-6QZlu* z6ZFwB+T^0oEtpc<<071D32_WdK?K%X%c83RMOsujexf zNjffA4_T)kbtb0Q@0;SGJR&L`1@KW?*u~6h1NKxP|M#((`00FbTBIDKnFOPWPm)}5ddYhW2c}akMRuTGaefl1o{?y z^dWFY@eZX!Ae~CPNL_+%@(==K(1Af&XWnb17I-)rB|v${yccjy6%WyPPIFwBQG6o! z6JY49fz!Gm1JM*90CM_+fuxlXu~^b|z}dbFfT4P-$Em6o`UgDz^F>B+Ow|AY002ov JPDHLkV1fcG0(k%c diff --git a/graphics/pokemon/golem/icon.png b/graphics/pokemon/golem/icon.png index f5be79e19232464330d4c42f45f581793265a993..946ced50ca85bca89f1d28348b1205e4f45fc643 100644 GIT binary patch delta 75 zcmey)G@p4wya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c@EnYqjKAs44>kBa^3# cV~EA+h3Sj}mlWOh0TnTLy85}Sb4q9e0Ls=Ah5!Hn delta 35 pcmbQw{GDk+JO?9_r;B5VMeo9XMuFg)D^D>1fv2mV%Q~loCIHF_3r_$5 diff --git a/graphics/pokemon/golett/anim_front.png b/graphics/pokemon/golett/anim_front.png index 3f096e4a4941d6ad30436998083ff17ae1c01c6d..fdefe4a81e68063fc130262a56106fc7d750f665 100644 GIT binary patch delta 1090 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 diff --git a/graphics/pokemon/golett/icon.png b/graphics/pokemon/golett/icon.png index a3513174898f6a17a50a6affe1e539e346299da8..81fdf7c751daab9d77b454537dcc440c7106715c 100644 GIT binary patch delta 302 zcmV+}0nz^40{8-u7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LlcYsS-9y0002nNklez@Q5Wl`OCj|m+Q~-e!kG)04SUQdDvjYSXlvv88Nybbt8Xg z697$kl3$GncbO&cc+en?yDpN2227?=%-I$}f@akz;JWQZvr9uO4bUX>$Zw6okT>tJ zF}4RWQqfzhA`s32fI9#w?_Wm>qa0xnt8HNbzgA(weh1{a3KQ&K1q3g`gpzNgpdKC|?a6mbYJwEzGB07*qoM6N<$g6{Hl Ao&W#< delta 273 zcmV+s0q*|z0^9Kl*?rPT_7znNciIr2xkU?KXeyJZV00000NkvXXu0mjfjRf7+sIJ4w%gif$3eywINh^9;OQOW_Dt7y+I-#ZDFgY3w_d+EIWp zM#CC}rv}LVN~g7*=LeCPJ7w3k6fm8q`@<*_3?P;oE9%tcHcrztqo7G#N~$#N8D7lg z24@s^gB3E+3DARTM~Yy9LXhAE+7SIfZLjHhs|6r{hJ}s@e+CF9a;IwQ!PtgCZD8@w zBCrsEvh@j&fFd3W227|>3~|6EDx9$iu(<2+fgQ2Xwl;KFBz4e&-o)c$`BHc*jHcr* zHO$p2aJ8SyqT}cTbg7TJL7?<1#^#LRD?0D4D-gOt5V8OU(nVKJoX{=9}%MT0297UX`8y1FL+<}e(3H-WDSe(FpQ28`K=mh0p(KMI) wUw-c7`WB!Jbb(d0l!4x^(j8yAzvJ!r55cR|ms>9=t^fc407*qoM6N<$f{=k27ytkO delta 622 zcmV-!0+Id51=aq?h7)d#PGe*vigM=9uV{`C&1Xk859B?mx`>P*u* z0RILkYudr3x1iEtwDX03UUMkSVM=2q*tz?r2+Y-oD#)en55Dvx9nvF^Kri3Y{x8>6ksyo2h~mZ9UO587P3JXQy97JH9v2)A^>Vcm;^9Vv`IQu za}TCAMs9r3}%ycvhXKf$Zjm%{B=*#H0l07*qo IM6N<$g6vr*y#N3J diff --git a/graphics/pokemon/golisopod/front.png b/graphics/pokemon/golisopod/front.png index 4242b148e5630b0f94ed5e085c7d73c936d4d0c5..8ac7af79e63c040b6c989bf75a3b8bbed3ff6323 100644 GIT binary patch delta 1003 zcmVrNCT{5m+J>cYz44s3G)6 zNT?Ff4d4jh!y#lNh!7Yk!7)PezKT;S^m2 zfTd*hGziGXBT&+qKvS!3hmS1C!3g@}rxPjD&`dExA9zv?e;@TqNCcjJlDHWf(}}V8 z2qf`M2s$`|Y%W8xZ_E=KI-aP*xH5pLXGfE<q2rTNf@YR+sw1vU~X#i1)t=3qtzLiUji#r5WwVO zJ;y?X#}e;{1lTMtzZ+8siFv;|Mqp*~JitQYSd>6(e?Bv2DyT4zS088QIA@Y3)-y5z zbpzOzKF*ij{G289^xD2zptuDFIo8n%1kLp2_i1ti2rE#)7+z9_K4{~_bnNFmG^bRr z)Sgv1bZJUa7N1Rk0EY16Oq3q%{)YgsTHBLTO)>U18_EH5A_X)bI>ZH{4qRIU7SQIc z)j9N0f6RNQ1k73lxX=V*=@he#5H|n?h;J2E00l>`ot9|P=Pm%EHQ(QqPdEV{-SaWO zunh8EK$R9`V9OyegzN2dbtOoHR9OazVgl5RqSpY>x&_E6>Juu|*Vd*InUPgbbs~0{)QUf8y%8A#>&*QjBPOVaPKGG-RxU4MMT51f#=HF`7Eq6vhCQ z*!jEi8q(^ezTN>^7Y*qQ?f_Rmo4{a4YO$rV;cyr5q-aKTc_EzNt=mTYVtM<2032`Y Z;eS@IQmu#s8a)62002ovPDHLkV1kwE#Yq4F delta 1017 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 SsXPDx002ovPDHLkU;%iFN zU|sOcyr5dbaSepk2(`fj$OPouvQagO=HUW-YTZRy7o1F>REx$}ir3}yJ=S&I(>{0} z%Z|CV4n?B@u78C_!PDrV-E&zcP^vhytcP!)TrJ)$uJ0TTd*`yC-5)yNM^`6CwSQ(* zwNrS>1!m^q90txPp8i`bp5c+T_MmspBtfr#s*OgYNx#npB{*;QY?fWr{yM(c9LLk> z@3J8Tz?fxc_po1W_neb&rcpHEQd zp`eQEcN(^I)%!*75Kiufaq_BKEaLk9_I-eClSBpBqeuN8M={O^E+7SFS+)6io#K(S zqn;JMGS>MC*dwAIN6~y2VHCZ$OzjAYXzP3dyyORyB$-}{@wG`3kCLXsXY$ioHhTDc zg3~6`3x6&c8{8-s9x9bE zNycw=OU&mYQw@_h?ZNPPj6T-h;pclcj^8S5ZXKeIUju$&H^y_UJ^tm_613tAQn!TJ zcsez9yMy*AJVAl_;&Bx}-@^-{&W^!zDdI9}2j8IwR@p(n&>}jHQUJ<7qviluETAnE1k?rmuc^>< z6qBZ8E_|G2mxr7P&ILTW8a9tpye+I8sx6%C@QVz5pKY6|phLuU zqM*SnTtn2ITE(x4&{B1gOO3$Cp9Z?son{)bv)EL9k&L+dBfb!N_H%*Hr_PeGk$OTw zldKkq&DZo!ATLnRf|-E&yj0fAn!EsY#eZ!OrR!)eSz&ZmQWPw3tE#jDl!;AXvGm|0 z0vG%n<7=TXjIhOnY@-Nml3Wut5>MC5g0UD6FNvCPL2^Uzkf&eB1>=N2UM>qBh655<97KoyNEZCYW=7@4bV5A-wh;qnm=`I!Ho>0sYg_mtfpr(W|N0fs2#w$N1sk|D}YN+5Z_Kmy4jiXafnS|Sh$QACH&s-TJl z0y#vvgBQZ=Ed9buK_EFq@ii~VXfMRdfdrCA6xONLcm@l_S`^3OgdIwV;(u?bc3@HA zWRzgx82_^;BgzJ;N6}xr7_W_^Bpk=FvVr5k(EdC`FLb*7GX%;Rn|;qF}N6J+PwWf{b50E+Rs={*VzxjbC@$U`?*b z>))Q2usOFbB}7pw5WvfU_kScN>dT*YEWu@YMA1RBPlqr(jxl9Q7J?iKa)^S_iR9cH z4&5=?tmqU4{LV5&QJ7=9v^^NOm)Iu32HxCB4p9{5>uvz&J@=Y4EDZ3pTV;r%HVz$X zHqES9ircqF|E+4Sb7o z&-Z6NI*%wQzzyIZPaW0X7A-c9D5e_dT?ZSi$gNu1f+a*Db;dN%7o{tW?L0rI4WBud zDGT!afQn#ysk=-3z&n6Ef0-X{+A=@fuuuHJ?Gr!TFqt3z1N*e!8DgY?LI3~&07*qo IM6N<$f`_;o`v3p{ diff --git a/graphics/pokemon/golurk/back.png b/graphics/pokemon/golurk/back.png index f93e3816be3afc445323efd4a065ccffa5418f41..bbf3898811f8c3521742c4a227662afae3c43c51 100644 GIT binary patch delta 690 zcmV;j0!{s+2A2kqB#}W-e*gz`Nliru=LQD@4knw*TB!g40(wbAK~zY`-IT#@+b|4< zJ)?U7IsyH#=MQJ+hT8x*(=BNMvO$jQB&tACs zN5A?207!pJSls|$p#72h3honN;_s?$cgs5k8PM!y(foQ50I1pof9Np~rJWv9!W=05 zVHCjbE(zd11J0HuO2mC!-?2ajki@IV1sHF?YHX)PYH+u-swDo04@kj0{EwZIdMQ&M1anF1TX+^F+u&NBl*bUz>xicHRF55< z9qTqZa8>H9Cg5271z!rbV1kV8Pxke4O05cEdKlY Y0}QZ&rs0Fvu>b%707*qoM6N<$f)^z(761SM delta 700 zcmV;t0z>_m2BQX$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(?nCK~zY` z-IT#@+b|4yH#=MQJkZT8x*(=BNMv zO$o|Aec|RG{o)P)5dY?|x&gjG^CR|4c#MD!zpJL%E$>Q5fchYd=C_LgK+!}%jh@KO z^b`}OK<O zJ*L3f7t z;Dm0Z_0x25@IWcR13wRLrb+;1p#WGh;3X@qWuX=aSCvrEG=YFUJz6&ziQojV`X?Y_ z2|J0Pv{%r&w<2IWU;xXVk6?9&NP9iGa~B+5$boC)BajpTZKXH6M4;OG2-Z*7_X7|j zTmj0s1PBpuyJ3KT4T@Q`->)O=BM=0fRcQnP*rAvw0o>kWRvge~0ig390QA6nh~NQo zDCXd>gis=&Xwt0*qCg0toCkjU&GZTpaIME`b0(l>fcFgQ*mvJZ!d6|42DbyB$kvZZ znkQVJu%*7%-O<$e5jaV73-b6bJBpgNNW+`&on&I*1}DbnwdvJ;;zdzf=nua*=Kwyx4+5 zhIkjDgTt9rlk>bdc4@QaPx8on`62YD%j#f*DPTz)!KXK@)ZM1tz zU*|r6-9)9)2y;d2fa2a@+rybje2t0_t5TV4fcX-Zu8>(XRvscBfYm^XqTuml+&o@U zMkK|LO?yT%qJIdvwfEjDjimGz>~jsN!kQi-%g{$bKJR>#`gcBl06CZ>gF%A{NdN!<07*qoM6N<$g0WT4 AQ~&?~ delta 427 zcmV;c0aX5<1b_sPUw;9MNkleQ{(ra#i5JN-QGPnWKood;QY8?=>IZ*TS> zN?`KlPL0qP!s(E}^Ey6;i0wVCZ4l0+2%jX^bZ?I|46&l1LVqUxE#NGtlv{433C9-o3AS49?#%oejqUk>U z3`T0-`sn_{fJwy4zr5an;TUa(;0%U$#fE-!u2q2XbtERnM}a?XhuZllo$vp>k8e4c VB!k+Jlg|JE002ovPDHLkV1j3<#^eA1 diff --git a/graphics/pokemon/goodra/anim_front.png b/graphics/pokemon/goodra/anim_front.png index 80a42871aa0fb6f2c4902ee545169872588e7625..253eb05973998cd34288a5758ddc59d45dbfa9fb 100644 GIT binary patch delta 1349 zcmV-L1-kmB3#bc_bbkN`bV*G`2j>O{0}e458Q*RI00j$4L_t(o!UALm6nY6=4BjP&9=*C4 za%;7Ql3Q5?Urp_NhQ85grO{}#p>wk5{q)|0mFyyeXtXvjsXA$AOK*f1}LTubpkT5i8_We zp*{evX|wvT^B?j>x* z07N077&Sa-b1=uJGX_{gh}Yal9Irl}&QKJZ?Dm;WV71QDIW^e^b)>LsoosdUM&NJ0EYB@`2RUDzuwn=8r)SKZazaycr%D5v%M zZ7&JQJaIp-dd*} zet*k`%|=!_2oQqwv;hv-bw;!RI}?g@Xl1()!&FCbnLP^a79a{tW{)C!sNRL+>d`h} zXTlxe1Dhh{5&{JA(NpT%&3>H&UKe_;1}e^1r!w*)kPO-Z>qAPwaU&>;c+4CqGvy#~ zU<{%9d3#D14oD8j_Jq=-U%q~&aKQl|+JD~jA3&if01xJjJ^&{_0?>@%@LqffBIsl} zi<>SS{s@ksK<_6Pr?UoN^A~Br7QRnF!!%+T`~ZvzjgpIa-duzp7X3YfGWpxhtQGi@ z*|VEjW0iWuXYS4C@6znwc7SP^Y^4OkQp02^G|t8%x`KZ^70tE&?pgru~bXTX9cXaRH1UXZq7x_t)@~r0-#no ziwelI1b{CBh6v;u#i5Z16cS}g$A6^@rgB_aqAV%bDD3oVB4#5|N(oY={H-ieL=h7R zBBqomHH`uyW?I#A1t4gYQo|&IMj5Gqnnn>s3`i8FVJ-?0v(YG(h$$sX%(_CMQA81= z3qYw+L=jVJn3_frMU1s^A!wAENMRDi?Nu@0PpLy2n7Ginz=g#%O3mC!H$M6S3<#6K zL;1%+cFpuddRYnx_(UA{Kk>W&kptk2ebOACu1f*IKY{Td`~Z@9I&)C%00000NkvXX Hu0mjf#rbd4 delta 1346 zcmV-I1-<&H3#AK?bbkdKNkl>GT^EdRp8T}YZ zBZtn#_PmeYd-LnPuL&uJK`lZYhqMjDWG7JLeTZ<#H?KrA5WTEx`@Td)CC z0{SHOUhutN7Tli`Ll5k~;QP-Oe9{U$;(Y$&7cVEFMQi}@WE(kr`_rrE0^t3v#iX%J z&L_LCp7ZV;0e^$@x{K2&isIFhcSAZKO%1+N2kylJz&5uD*j+X(iS^a`-FXJkhnxGCc!S`z7C`62dXode?G*;V zP)u3N`lbXfbwEd4DUrjM8Q@j`QUYQcfFWak9at$q&;|sdn0DEdDsWzS;BzAO33B+Y zw3`Yrvwx(E3gGREhq0Uq7qEp6?7jk+JOe}}oD3ZYk8gZjI>>-OJJUHo<5yY-Z0IEF}Y%m{3r329|db z&5k{fF-m(`j9zqHwPV%68)#4}0II1$`4vUNZ&(H37wPB#vzRujx4p>0b*(!ALi4ok z7N8j0!%qMPt#1Ji$8iRCd}LzRp0yLE?E15Q8{lQNEo^g;*<0(hCvVxP*~kh90j01# zZGV6Vb_0nPU~9pt0j+EsVrT)A`)Cj6ZVM0w7TUwm9qCu$`9^pbu(gm5oPo=AheXVP zLVWs!Pu*s}7Qmzny_SHAo9eeRoP;15$N>A07V!KK%Azwv2il$TC^#@jQ2i!5S{EKj z4%qDl=lef@^-|+P0#j&v&%OtRq5&o_XMgqqIQ#*CW(-gE;yn;ShpT1Obm7TIunz@# zH@-MpHUL+?NE4RuT?`tg5yO-RU@mwVUqolkB#gQIIS8Rl{(9Z?kOQBgJ-uEwvNS?D zbMNfz_ayzd9Y76}uC>5C|20VyXq=5Cx{8ax?gkzw*m@iPKy>pE&Nyp}HN-#%P=7xh zlqj-q0-~x9BK8rUZwchxxAgKkbfIyq0JB;x-QmGO31GFZZAa(b*Xel%PN~LEBT^mf z^aJXLv1B{Kk_nP?r03`bVFd`NvB)Ex@%fycO8(3NR8+gx7()1dq z(w(r>RLb|`@B5MGgt3RMol;pq;z}vDYm6z?^wz|figf&or}o#Vf2^HujGh2UH!1!A z3bWas8qnS~x&sh#8pC=6rz2rc05ab+rtko)@9Rq+p{hCy&G>N?PT6TQIF#EIO_p|? z0)REW0YKK|jHkvPQa~v+Ff3Ie0LA7I0dJ<&0mvX{7XW5EGANr7U_DT5I|Gum83FnT z@ZQ>|poORjPy}dKf2`~_IUrwID-#4Frr>%-{z7H73rjwEW^u`yfCb=%$(2sch9nmV z_akjHjpmC4av|`7)!@xbDgq6BCoxCdocNw#vI$6ToIzJb;l|DrR81mdg+R{h9*A6h za^(RnV@@eV+0cln>#-0*!4Cb%K*z}dj3&ZWqsTxkoBnZ+e*sR_q|Si%&-11p5B93N zE7<`^##6~XA>$6vS-F239St0|i*y_;0-n9g?g3b@5V4yJ2ka5}Gq^WYO|`C3hreX*d<)9P>RQVg z0CkuVRGuDyjM^f(H|?4%wY zswM-I^&yhM?2R4_l*+q;&`ghnO)t}GT%ra*mD@uE*v#q!kgI}RD5aZ;LDfwF5RkT5?hjd@h>hVX01*-DI!1pc^45lbMV}%!uy~8WO2LEh zSY~>Qk_`msfi}4W^Hr(}#^3?fz~&_u0S2yQgVl|mHpu_vT zX{Uo7`&~{BKsud&O6mxnctGaW{%v$LaL_K)VXzQ*_Ab8%K)sA5b}lTi2jCN#TLbXr z=IX;d;09xV`}xV;67aRZ>z4p^+xLsW>yH2|q)t~od5qSCYZwN3R2t|MkZ$q2|u7CYr28ti#e*@J`(=gy}UKm)n(`z@k9FT+o z*X!LmKt39%k~4sMJP<5{dLWqP%75glCIt8oOfZQNFabaefJ_Ma2U0}Q2N;T*VgLXD M07*qoM6N<$f`R!MJ^%m! diff --git a/graphics/pokemon/goodra/hisuian/back.png b/graphics/pokemon/goodra/hisuian/back.png index 27025835f1ab2ff8404acb2bf4ab7a9646b1e76e..41417eaf2ca423430578dff5dbccccb9ad297a27 100755 GIT binary patch delta 788 zcmV+v1MB>w2jm8jB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@4*@6J z-h%)D0>?>2K~zY`os_|D(?Af07pbw7qm3iZY5M|gUZ6onl{iGMgoC&R32$s9;N+d8 zQaRR}TQ5!Gd!-)xDm(#P;95>xkig9Bu9J=9ATLS>M3H1*_f3%QDA!Dxr>lHn*aXJt z9XdEBV=WO41QCeh z4HzCmgxHUCkqR_#jUhwAiSab^5N|t&3=Q;6QU{AMY#c=#f5XO1MaZ1O+~h>9T}}NWpox5pr*5Ur~w@4&^?A}^?sQKk1z50B6B|A2qCL+_oq z9uiq+w~lpuz5yIOUF*HBtB4mi&_CJ&+~AdE;8}Xle>G)Y!-YNJv;zF~hsw1loK%3j zI_8Dj5CN;RGO&Tw1gx+!uz{`xXp4is>w1j_uD)!X;Ce?*x|z|Z-@HSucQ*mwM9>J9 zx2dZT2kSq(ST*8IM=<4ibq5Ne0KZ>Xf}n2z^&EV!>!!)q83&Iwz^{IE*gvVPs2DID S22%h43IG5}MNUMnLSTXvjAc;( delta 848 zcmV-W1F!t#2BQa%Bv%J?Nliru=K}%`1{7=}Z7=`;02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00PHJL_t(|oSl?0Z__{+h7YN>l+nf&bK3raHh-W&MwJ*USHeMT zLBbas37C9eQmKs1W$V%;-Ya$NU*Q+P0&AIAkidN3-PyS~P6ocJahvzK_kHhr4P*Z| zbI!9ZlFK<~^QDv%-oA7s<&<=M4BOT(e^9wrx|E^?AYG>T4KS9on@s~+dyVb@L~Ldh z+Cb?@6dM4U&z5qm0l04J9i1?p8VkYP^%R%d30XT#Zc;Sqtda_9U&zV;AY10lO=V3` zJ&{T>kK;G^;8O%(JX-+(w<)b3fN+q=AZM=uE33CQTkt7I2jKl3f={#GY0V^oM$qJlg zL4ZT=()v`+(1774M1<>+E;51U&IocO+yr+skMOjokfVV_&Q zCplKvE}`~7yTP)YI=YJrQ0Xige`o*$T{_1otNs?c9{R=0F8v;dC$y2_>3YNKyX;;y_18Z zGyEI~PPgd2W6wt--`}p|9G$HJdrwz-uj?t|g$?u%HvlhuWf}OE-t){@$8cdMoK!$i z>yBq999Mu>Z}Y-yserRzZX4J@oq!Wn1~$;O0By0?_dLJVz|)6~37&u0rkjjD{p25L zy}J$srh-Or{B>QG*jxSD#c2?yx`G+sZ#qy31qA)35{7*PsOS0jrfwDmy5sp{0|=^@ aefAHjtf(08z+>wG0000+Ym!|6ve0?o2Ju5Gsd7rqwGn9pz%?ZvF94G|NDxUat=U zohu1=h#-ro7AiVxYnsvB7y*R{-R7QVxDaj@TNEN}&iR@P0AVp8kI=EsvCe(iEY`CK z3AV7#IfQf)7|(6K<+u*TarnOZ9WVkxP5vJOGo1rHJZ~QK0B5m(9@bzz0kn~V z6M&y_ye}?KFx!SMOA;&umI9|j#24|^X?&%603>rz;GP7t{kV5|eKd;zdob>G)G{R? z3TU&v_`0WQ{aE%;t4x8F0_}mQR26^@&A#diZ4k1M?siL_lRowcvIj|M)ylvOt>8Bz zCy__slOhuUd*l(+ECRWI-Zuz*U|ElOLd?PN$jg24A&!6H-e&3X9s#oMAh<#hbyS(i z4iDNna5;iM06qjO>JGsG(#nAmIsG`s00+P$X}}2BMt}j4jSmAOOc`Ka6gmI`3<&W2 zVT7uW%+ZCQj{)Fu{1Y^>e*Y_J9pzv#0g>a&9W1B0*EB_85sTY@K_5H3Ga(19LI-Vr z_cMZRV&XBv9+Xcxhpu`~G6X)K43g7br72kn+->}n7I delta 879 zcmV-#1Cact2jd5jBv%J?Nliru=K}%`0W$G!ehL5p02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? zGy!5uM@0Xn2lB-L00Rd}L_t(|oW;~JYui8+2k;A2f)0V6t1cY^y4rNFzd&M~1_CjT ziIJ}*f0V6TqP{yx*4dW3bm%1{;P>PI-dVaMm>9l%h*dK*nCOA0|di}s#4LcHX(X35gOJx z*0~Q`YJC_Xz&6%7hmcJI{h7_T9Ty@5{wPR$f4HH|-4Fvj%jU3I26z`i#MfAD9LOFz zbioBT@;)+V`$Ir01=xcST>hfLSZz3ji9h+2FF`EsbW~80zv&RSQ@}m^z%Bz0M7YTV z4xJQO9VYY596Sej?0jf`g+TP!eCP*b;1$64qj$}3fDs64;(rc|YzB68(LC${PO%Zz ze_$g8tdW6JfFDV65MP~Qwhdh?O)wFd5}d_xa+zG8CD*bCKstj2_XL>jC%vni<5>jQ z!{S~?Zc_j%0h#S3H$6i7iRdABnE^8cWG=2$C4f%;C`=>`N*A-Y-4y4fk3E9ngQTo# z4#5no;5Qij%6pPm-VbZl?nKt3cEp z1lI_njx1BrVXj>Omm~NM;6tz~?+^^2tpezg(@zo%Z~#1-1&n|l1Q-z6_%JZS5CO)e z(g6@)K!E2DBV>JKMi+uU27t%$Pte5r{V%k2T!5t%M2;`sU@_)?(}et(w&o>^B8yt6*N=9enOIRzk?Y#i81P z+#>pJY@PpF2?U7NmRs>ifcUBa-`?~1M4rR7ko+8q5KJwdw>7{002ovPDHLk FV1i@Rgq{EZ diff --git a/graphics/pokemon/goodra/hisuian/icon.png b/graphics/pokemon/goodra/hisuian/icon.png index 3216854349ee5150f774993210ed9c1700bcc54b..194f5d2523d53b1060b0f9f8379a9f4de315c0b2 100644 GIT binary patch delta 416 zcmV;R0bl<81BwKYbbkN`bV*G`2j>O{0}l*YYN9>>00C`DL_t(I%gvI%YQr!Phy4aZ zWK6K}c`Xw0ts#2m(y>D+8DrXKu)GFGme=Cz`EO)Hp-Z7!j6P11?{{Am{m~M%0UbE% z@xndak%R}Bh&ZbZk@o;@0+mJ7Kmd9KRdpvcnu|u@5luwcWq*D;)1C?w`4&w*0>Kwv zoY&NWO$Tr}wUy&?1y&A6zOF^q1F+=?M3WZAGEh=ZKcb2k#UP%6zZDf&NK2WF1@QWT zxk_s}1HG>hbKc9(u{+mcj>uQu+?>!Ec6f|$$r6!I5sx2x_sERF)AJ)qA?pn9L9znK zf(v6NE^_PSy?@@$#zp^c{UA)(M=uO_NG=q{^?Iy@fsHVrXFmpETJ)_6h2auwY$y!z zM?n$@Lu6H&EW(K14>e9(G{wbq{j0MNY!I>^fgo&9t~Lg7NnB1~Fo^x&{lP5;9WgIu z92m4il=b_{AUu?BOGJ&em|qhY%)SFfZZ-QR*(48J9~tP^Q~L&d7S_9^#knQ`0000< KMNUMnLSTZ&*|r)0 delta 403 zcmV;E0c`$?1pNb$bbkSJNklV5Qi>MNZeQw7+-LX`O?NBuVFgoyTtaLr-%zuOPv8xTm1!(TKJT7HE z0MJzctj$WL2?)-|i-__=5J)FrZ)FV{vWo9R06wo+h^*lgklPxupf&#quQNRsh;-!5 zOdUGG1`p|NKexzch==Re%%CUm_P%tI@g~Rns!R(MP~AnMoMuw8;FZyfAF=LxgFw zwmhqT`0L~Y8HD7=N)R%r5RpL?NvjcfgUAnB?*bSMI$%-pbY;*6kvHE@2H~#ynp@Or xjm2fZ%-6~ugj>yNklkcQq1^qAC^-srI~mN(_Vo}B%`$pe zO3Tq@P<|1B429MK5;R9`J4^%i{b{&mJ3!R3PzBMrwef!0 z6HvGW*5{?yCsnw+_0HE*Rm7Z*FTa5J5IUYW5e~Ym+6agGImUsSeT)N>29F4EnA$ry wJ^~!rxWa*%NeFRBj6jIPjgL?EUwr%ks=u{!=PT8)01E&B07*qoM6N<$f~HNe!2kdN delta 365 zcmV-z0h0db1H%K5Uw;8kNkl8$cDUEd@lJ;p?^Fo<_BrYm9L8Y<`8VQ zs~r3w*r@ir?@Oh0cuB|N1K{6o5Zu?iVxjb-v1=E=42ceO{0}mKOuy#WL00K8jL_t(o!|j%_ZsI@?hHWWF zkqXvNkg*h{hQ}GVf{3T-bbx^5fOPs*fQWB6AWWqI3ryxL00^WvFkwbSV+5|!82~e4 z04+d|2<-qo2fh;KMxQF4(_dwL0x}vHV$Yo?C6~B&z%9UXK?1$PO}~ZfvhV@G1Lb`K zWLQtTs0DPOm%uDbe&{CWE~ z^7q)kal6OJB33yeoTPZp6F&CrmmRw}4~-6uV0ZaY`-G za{vZ_>t#v;xij<7s(Il7zylO*I>2~918a1*hTl9;!|3s#pAq;)UPWQ_J0851d0B#(qC=41A^5quK_U47CTp6H8c zYTv%`09fG6UCENJH9rYNJP^ARVm^WgQl>rd02@KZ0$XChMt?wHGR5nhiy)&}G8-bm zL*JA`$& zEkHh~?0yZUF@NT%$TbP{Or=c?{H1`tscX5?zgvMy)4=xF*Hnmp>HD^=x5SA4@#8E| zmGy{?qV7}O>Sl(bGFrq9P>Sm#q1w7#b=4JF@034pe*q5Q?eE>*V*dtU?eBpW`!@h* zR=+;55yZd&y#28o#zBkyF+i9O(f(Wn32BJ#m2pC!fPc?9oq+?mzp>C-8)Q16y=&J4 zYpf7=gb@QsXaAH_cMv+~o!bi?Qy%S4s$0}zw?#e);l%DXgeajx^c;W-z{N5lfy|kC zWYxTA0iXrQo9zJC0~%PPyEXjbfeOYCd;NsKFY+#OqaXJB8wX5j;O8CzlNBq{%)$LB z;MqLB?p|JSJy_}u2kdtLyn4y+``MTuyBn`w3b6KnRJH!85Y2v}Ibi!=UvG&sFhbe% z8K63>7#r%R@x`wXZU*zyQGP(nhM>Cr;gi=JMW+alwHg!{00000NkvXXu0mjfPO&3f diff --git a/graphics/pokemon/goomy/back.png b/graphics/pokemon/goomy/back.png index 33ea4fb843905f39cf9e902d1cf85321e13cc9a8..bc8d71ac24600eb8b87b6be6366e07cdabbede33 100644 GIT binary patch delta 467 zcmV;^0WAKk1ib{1bbkN`bV*G`2j>O{0}mZD+Jejg00E#$L_t(Y$L*3$Zi6rog^6S~ zU8PN%MVF=*Fk`aFDh*_hgra002~Lps1VL7>Q7MWzW&Hy*Hbbkb%XSvnV!nCr85{(E zw6f{feL^3<1L$g`W3?6Vf&*)-J$Z;=H3HCAvjT7wxTnDMXnzQROOVKpl5_+JQZu>@ ziZKtZ%|pn;F+h*P26DBsX%Oa!gfht>2{LU}B#6WYAW?wwSdlcrO?b*xQ)fv=auy~8 zFCfEnX1YQRIMAJu#<2ywe=(W$0lv_THK}&0j{)z{Tuh|_R9~K*&(J8KeA9!nMuB}@ ziM^C9Q0mojxVy^TQMR?Ss2f2k?mOVTMIy*Sc@c&{9{ksj>I0{M%3!%3vpE0&002ov JPDHLkV1lbB%3A;c delta 450 zcmV;z0X_b`1gr#*bbkS&Nkl3yW|XBPK#sIh z;g*mOBTwQ=cdF}+1LRM5Buq;*H0Hrd!)c{a;0E(@2=>l`5PPQ*fvlBND2(K-$sx44! zAE@y448$u=;tu;1@Co%zTLAm|;(Uf0f#Smq>WTyoRXeE;TDL%9R>$GtruQe^*1kdA s2&j1IfXj}Epa@~ diff --git a/graphics/pokemon/goomy/icon.png b/graphics/pokemon/goomy/icon.png index ba91dea29a33f3e5f99a831c2671b7bec29dab69..b10236973a60d6f1eb9da0e6f40b9f5b6207c730 100644 GIT binary patch delta 29 lcmZ1{x|eB!^5k|-+sPL>rMaH7u`}~4f7(4ieeyTX9RQvD3r+w4 delta 2469 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 diff --git a/graphics/pokemon/gorebyss/anim_front.png b/graphics/pokemon/gorebyss/anim_front.png index b5a4ffcfee13b7d6a31db86ccc9d11aae77f2d1e..f0a928967a710b32ac0b68856f68f2f642572244 100644 GIT binary patch delta 1015 zcmVR z000B4Nkl0bc+e`tzVOA7Ny(6f6oVnq$uaW1b`5UkVsp^9UmL!5rWVz{m#l(H*}F zb{^1AE4A3v-6o00My2$jMalo(BJ!unFt?oPq%Ehl6wo+wH1SPMkAo-fV>o}6+nt`q@}bWrDMecnfaXf>{&iGOO^lWYGl1J&ZZI0h z1%GdE$DOsk&4-+kKkm;1r2F^UcMLeXlBS>tXj)Hy+6*`xT*Vb%GWaG*_pjYD;CSf8 zJ&upyrEtEW%{^@2<8j>2c(boaKw`*gvpcEIns95 z1v>Im#2a;mR;f!PIP!p?vJVt899XE#c5oo;9yd@cO@tLSB&?3C2j|S-%O?F-!>H^? z0|ptp`QVPDv{j7D5fKjV8Sj{e#fOtm2KW1{7jUm9fE#J5mKS~w5T9JZq!`d|o&zrB l$v^WfD>euT??0Wo{{Z_mq+^Y2x>EoE002ovPDHLkV1m#0(}Dm1 delta 983 zcmV;|11S8+2&f2?FJND=oUch`Mx`} zbAWk9feyfyqhZ$_Wr4B7Gf;D!2Lb^M=+A>eHpA3mCD;_y4A;p3GhQQKUk(^w^9&;Q zK?Vo}P*nrw^c%|nP7!dHsxb$QLx*KZ_8HJKbF^X|E{+&rUdkmzRehD| zyR(qrXZq42eh3}L2_Q%1htLZE@10obnlv?#*>4Z$8D z*Hu2pdVi-&&Q-i$)o@K!r5<&Y+Kif_%=!!IqLH`IcTzXyEexmZ=VLs^WBf;PQ7)VQ z=ThAt({ZaH+&g~~UKh$0cQKiUs+PrNZ()Tcy0?fdDAq|+A+7Zd*U4C&Juxd$+<7t8 z5jwT37n#;VMil7Lvl`Vb7HJdjC38hc^kA#8C4Ui>#UM_Mkm&Iw8qc=m61r$L_Dy7X zz1?msExafr6QI>@cBK-CymW^yIsIGE>MlzdO1JNRqUS$eX^Y|2@uJhEd>F7vN;B33 zV0e;yaGmU@Ax6uC1;FhdH<-?r8{Y4UMFRADe8`ywv$HHfy8o#EjR8kj(iD^c9sA)| zpML>|<0~ft)~bAwr2B8>?aPCxF36@Jc*i(B>Yu@7XLd(0Q}3OF(MK>9Z%PFFJ67 zIgo0LYa?Mm28<2JO&~l&YykGdZwd_Lw}?0DI^Crq&EU!dg3kV+km0~aHMRm-_ql;y z?;xz{F<}p6Jv?Uy?|0}`1EZQN4H#tX=1_w>PRiCXt|de~xXTOTVPNscDIkOUT^`W1 z{gD7}q^VjC{5L=oz`PtVZ~g{c%9Fn;{Bnbs@XPgojz9Y}q+@BV$;ki!002ovPDHLk FV1h0q*4+RA diff --git a/graphics/pokemon/gorebyss/back.png b/graphics/pokemon/gorebyss/back.png index c723ca667bd4cd364dafd71c98f161a815d8c2bf..98fc436fd0173ce44bcfccda82ab14d7e87ad5c9 100644 GIT binary patch delta 454 zcmV;%0XhD(1g!*+B#}W-e*gz`Nliru=LQD@4=?)-(@X#W0gy>VK~zY`?bR_$!$1@O z;Oi0{lVal1sUU9thYoeh639zCl~n8@RD=rMigY~8A1QGzgxpl(O=-;-SvVr zce&ssh;M1r_vPKYmmEdtKYk-T9@>wmr25u5XFL{e9hBriNRJHxe`2<)i+PzBgpllW z4>H1C4LEl+&vQz*pdxg2Awy<8?8Bhmr-L&EBAg<}kM+G^LADXbVly5L*aGPU%QWh& zhCYM_Q4M3o#BM?+RyonvQh70th3BpINgecW@rNL219}U{ZvjWUjM_lZ0wUZ30>^i4fKPE|1$;<$z~415u>szo zb8P{M00SEkmuG1+kk9GXZ3gmQy@?8p$@*~M8^Aa#Hs+JBJOH8P^V$r21@h7i4sTRa w(EMd%2c;d*jJ5*W0H(6Zc|nWyU;7{X0;H4nsL|Z;6aWAK07*qoM6N<$f)^OhLjV8( delta 459 zcmV;+0W|)t1hfQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gXvSK~zY` z?b0zz!$1@V@XHb%lVal1sUU8ChYoeh639zCl~n8@RD=rMigY~87b$Trgxpl>i9U4s7eEAe@>A5Y2Q&N*j1bFU66vL~d=1^@}$*2SzU zNvOs|S0Kh2a)U(Q3l?M(V=Ok~L!Zr& zPOvN^XE_KUG6)rC$;56VCRRDo*HU$H9&_Jc?$SEwGI3gvb}kZrs=GL=H(;{Cc+&e= zB%I=g1`uD}yzz@xR}BEBPY?G1Au<5jU<{r2SI`C!E2tL+!(I=6v>kA8r~^D+8dh-O zJHrKJR=}eJ=csO&ae4#{GyV{SZ9pFZ1ufucmvI{iTR@CkKRRDiw>h{v<68OZl^>oo)UUww!J7?G8H#tmSUmuqB<0)$r2D>DcbC@M49 ze^F^kiRCYinbJ_}M1DMDmXC*BghWx8R=nJHi_Nd?0ACv$9002ovPDHLkV1m8F B#XJB2 diff --git a/graphics/pokemon/gorebyss/icon.png b/graphics/pokemon/gorebyss/icon.png index 5b4fd157e885b719085d17c818d62fa822ce4b5f..e43f42c6d4eaacb0bb0b8278a8d274dca3bce040 100644 GIT binary patch delta 301 zcmV+|0n+~70)zvQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}nKDXd0jZ z008GnL_t(I%iWW)4#FT1hIs=X#a&+z7u_9vfHr9d7sCyGA4wWgms*mZ2ppxC7!xNW zOM8F*`#I=WA%1*G%j(gx`nWbY#SG9fL&qYW#h^$`9U38c=6{1t5q`Z=9{VUbFkbQR zqatBzf{+{tmwV`uO~~*GNtiJ1f(~}N_B{hlBX7{3dg!V=9!||!8NDeE)1ora7Qhpx)w;nbX! z(VJqK7L|dv7~YDx2DWj<1TnSi{Owl%D3Irj59EAYS%FNqM>u$3;*)U5zz_}@7{cKr zFbRhRn2ZDQF=U4z01^%a%z{G#robTrQ-1vjOu4ZKrec4D#IJF90t#)w{!L=Ig8%>k M07*qoM6N<$f?;HN8UO$Q diff --git a/graphics/pokemon/gossifleur/back.png b/graphics/pokemon/gossifleur/back.png index 7fb5721766a2a312bd0c9e522b75eaab51c712f9..f6e92ceed23ab4a9a0f9a9a95f7b4af1759bed50 100644 GIT binary patch delta 439 zcmV;o0Z9I*1fB$tB#}W-e*gz`Nliru=LQD@4?336H>Usq0f9+GK~zY`?UcW6!Y~lV zQ@IZii>Te*q%&zEwQR(kx+B3G^Z}?EDP?A`*^y$uZSBh+FgA4TP;PLf+|T!YcNZm! zZt-W4|B@%w^?Rhe0KCNAvjiT8ffU~p06q@_B})@506dN0-iJ!ge^yC!mjFOkJ->hW z02m@R3IJ^N5CC#}b!kuFrUZBzcsDCMV43M))`&_vaks7v$_)M&Jcw#HWCfKANzMCO;sA9WwXmRMJwiCLdl(w1QBiaIj+ zLXUvJc`-J1Og2Yge}BN9im-y#5;fd>L`DTmXn;u(T?Ukx6w~u2niD|p58PYV>=ZC2 zymdK%`UEzvi)`@RIzS72oHY@6Y6sW>U(K%odS})(m>|+>yt;r$j{77^Y|cFDR@G*o zL#J=j5H6s;OS{jWm`N$Vwl1*6@9t@sfRsDef)W;(^y4-SE%-nV)sV*yTNlu>DT)hI h9zL4p_CNoJ@dKme4BTqS)@J|!002ovPDHLkV1nl7#!LVJ delta 424 zcmV;Z0ayN>1g8X$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tR0f0$FK~zY` z?UJ!>!Y~kqUAYgCh>@Hbe-giK?TZsIHgxPzZg3>u=l}k@3%SMLMgB{kR@dLr@&fP@ z_1_YB6b4efrvQ8&1WJ}BC;&VqaPLDUXRCzVB><3B&+i{T0Gfz&1pu~s2mrZxx-=(n zEdgE)e4CX$uuOdk1ULe~mT{bVfUyTXz+=YZfJ+@Q0t+pYdgF?1f2zlL20;^5qoXd- zN3cetbhI_L5(R8x-V&KFkv}RM!bq$u&&15;J82}?x{94L`9h6=zMK-l&yqp$SwX`5b^_~fFS_* z2tfdRCyr&*YiWA+qYD(-C~|sR?ca zI`IgGy;vl{3(f~NU5rV`gaKy_`K|MkE|1F=n!2;^gBWuzT6;VIK>IQ2Nzk=KbccZU zJQU#g2h?k7OivjcsK$BiB>=ww<2xvMS*swK(Q2#(9}@~ewmDc^ilM$c*!Lt}L%e?Q9~cb`I|=S~wS3VAP! zA}1oRkK9AxQ5Uk%E0yDYsC$#T#kJNywO-B2M$>84#G8@DM(YQB$z`(*Lp*A%Ffa9a zWAW1T+5pP5F>h{e>9E0&Q>*S_NR04ZADT9rYw0a78CtB^VWt+gPZNFB5dxG@rA?g% zsE)N>he#-uNKWcH9?w<2-LBn`9!k}l3>E5%A>bII5%THu7y&bT%eQ4t-R*X;`%lZr gVmHB@|Mhq37h3`Hh@>FzzyJUM07*qoM6N<$g3o&xxBvhE delta 601 zcmV-f0;c`A1;GW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vbs~K~zY` z?UXTZ6EPIW9VODOT!0U7CShVIb%$OHLvy}-fK&VdD3y__B4xW|?!aZfA@R^Ikw7vM zOSWY1)R~PBK#}e<@Sa^E?(8cg1H94ypZ@Rv{4A4yw8B3D{YMY$9U2+pahu+!H0p$5 z_^bsOQA$IAXbaFA3d)CnB5MV>5R;)0q7CTDRE&fH_WZypPgBq{I`9HLekRY1P7|*_ zJ{{9HAr8TPKrbEB(I6FB^n~+0pDre-L&AtNM}A43V)N9F;Ob;Qq+-IkXr1wZQm~(( zo<)66#O{cKy}hI;@&WurSRjK@ERffGU`V?sYKIIy)PN4UpHQrSfgc!RJZ|)4i6^r< z(5JYf0}hqMY6=EL6Ts#P5G+;*%!zXPFJ$hYgIx&(1U5y;#%t;TCeAJ(0o=m3Fc_A)%rW!^QH1;iTLJQjd%INv00000NkvXXu0mjfb!rtC diff --git a/graphics/pokemon/gossifleur/icon.png b/graphics/pokemon/gossifleur/icon.png index 74446ed5df09ea8152bb10ec0f5958a4ef778d88..37e57fd693f1d9c3f749085c8e7e6ce02aafbd38 100644 GIT binary patch delta 254 zcmV6W_UsH>def~szgoFQl2QaL9M+Z!Ne|y>v zm}4JO)B)pa`321EG61F`D}f;%0AmKgFj)!Ah(8790Wt%ZjaAeg8~^|S07*qoM6N<$ Ef@<_?Y5)KL delta 245 zcmV0^$OYb${4NL_t(IjqQ@L3c@fDh6_GGUdmagu6>Q0sxKjk?ckhSIys1- zZ{X^5W-1+|HG?7)N-PZ~7dIynyz%G%|09<#ihg{AHaZa60*k@RiCl?ZAf$_Cw0A_aetphMM vxjhybVjn&L6Y$XkV~Ag%2WAu^@&PbUG6R>5Q&o$H00000NkvXXu0mjf%6@63 diff --git a/graphics/pokemon/gothita/anim_front.png b/graphics/pokemon/gothita/anim_front.png index 32e68ddf46278bc84bb89e54831d5f2c4caf60c2..0e70c4e2e528caaec5736aa496a82ed7fa29802d 100644 GIT binary patch delta 706 zcmV;z0zLiq1(gPnUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LligfHCmz z0007bNklF>~556oAc%g)KJpI$IgCI#v;+Q(B1s0NB@b>)E_Jx}^*c-!g*hFvW=*HA$$#lHbkq}bTi*IUo+R}A^f}Hx{(sV_xjO)lAJ~C#H{kCE z>ZdFq(kx&IoDF4a%GOUE*<-kevteQcqKrZ6ga`F_0AN}pf*xcd^xZfy0t`R`gq(9X zrho|G7y;gdkqN-U03H8=D=i16BgT+G)_JKsr6wl8X~#oIl~TD<)4&W2WKUHw?HBSGYu!l3NhrVSkizLGMw%&4ldHc}FJLm#O8` zJ#J;K4?P>;Hic_h!C`K|b^=Y?_`oa+tOG{u=lnkQ@m~vyWkhWJqc2k{K{&5aSN3x2iIfobU^lY!pV3e!=3=R$)lL*eJ}#Pzb+hqr!A$O#1~xg_&Ni z&|&85bMs|1lzRPfjHmog2uKCoqhLG=!XFy5>CO6``uU`(>+a6VA4~lp7Nmg8=cU%q zzsQFP9R>}gkmS?qVm1+yZn=<`cEMnx`ng3gusZ}ANNN!b$ACf9bQ4I^8o%hqmIozK`#hpYA@49rBN+ z;_LzH;;0<(_5<#IpxWmxqRd+yfwPf{ZPjX@DWBsS&PI_H2!9d|G4qb9;Sj(!M*uz~ z(sP|KvH~1H0eC_PC!~M?ppAfNz}N=hzyMwMLTICgwk?JbLDGG$>sn830PBP!h_%+K z)-&rtb;6og;8HnOXsMsk67^g-$m&D+-uyHkUfx z-puX5TCcVU=zptQVuZDs-Q6zq!|8-y;E&t<7g?h$S%AGng-r#4%uM zYa@-BORA2<3Zzj9IRdM60HnR)cJ;c-n}P%?b%7%!)_y9&#qkTABCs}n5$PQVv5@o{ z)$2qmpRO|%VPDb{FxGA+&3Aqo;54LDG6UmIi|+**C4Y5>Rr2oGrQ|;za>yZnasHH` zlw1*oe+=w;@f)D@qDUbqgkI#4Ee`>-2Vw}Gw7Ba$3yI5i&{yC~AzVj+%?_$CP!Q+- z;m)n^MHOP4yDsV{sqWYSjxPlT%Q5L{%Jn|82k;80R4Xhx(Q>5kgiwk?Q;0`h4O%7WO3ne`VMuIZ z?+5J&$}9+g5nblT0P6RZ4X_2Kx|O1X7#m|g;2uUu)wqDC4X`4BL;yB{G&38(EQS_9 zjZJ{{et?xRGu)~Pf85v%8_iNOY2{6zvj>bVf>zf0S_goN$O#y?fY=;z1x}rbHLU5bOs8sUUD8= zUwMX0Nr(i!qSxotaQ(GXw?1DGz!l=H&wl`jBH;nZmmH#yTl3MIb9OnG{6|8$0RcRW zEZ{i^)v$QED}mwwxX)4=Z>>}8t1xozqa98f7968;?^7_XrZjSxq3;N~dG6V9$l&rr b`zL(^f?>HZl7MXz00000NkvXXu0mjfuCCpt delta 491 zcmV@B&xKodVeJD3>;!W+=H?HT%q1P6wSjZd-^ z`}^tclH8eHaKARB;j&e|AjAsUM0#>5Gx{1h;C zfD(P4xPxh2%V127h_RA?Y*>)Tv(yK?2qk%Da<|W`88TxE6afTEW`;tHP0_EFU<$PW zfWeU1*zNoE2-+?QfDt{W#{inQwF~eK%uFps3o)|RzQY5IkgD+kk2_#Z0Eqys0?FL& z0J|JI01Z|FcDD!C)_&l(szAqO*y$r7lU7;S6Xqe4hiw0r20YG~UJ}*waDi{f=%pX;^TA+W(#SteDZr;T)T;pw82s h8;3ctt1cnNz5s$@xiHG(VwnH{002ovPDHLkV1i@T;P(Ik diff --git a/graphics/pokemon/gothita/icon.png b/graphics/pokemon/gothita/icon.png index 8d280f51746defd2c090b23b5bc68898efba218d..98b0eb16a93e58ad2a0bb7ed5d5d28cbc9166cdb 100644 GIT binary patch delta 297 zcmV+^0oMMN0`mfp7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Llir7vm{s0002iNklgW&fI1`mv}cdh}ra#B}Z9@$=jMblaqJ+6N{ z(W@)Pj1^Ih5-h3iatV(2iz($h?s+aMsRQfcDjOh2!%F%zGp&*eY1r%K;#6-N45RM{ z1pku7zCWRMj6J}}%5=cQTK#ckqh5>!Q_PzNWrFrZsKAyCW&*r#hg~P7!TPaL`EUhN vrE;2KujA38)p6h?(#ruSUOs@oxAGMO)=plBr}|lU00000NkvXXu0mjfZOMSS delta 202 zcmV;*05$*f0+j-g7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{SlSxEDR7i>Kl)(9q^taN_cgA?$gh7`8ya|J#wx$$IsjkF78JV?C-~owEidb2BzZ+L=_->KmY&$07*qoM6N<$ Ef{%P!A^-pY diff --git a/graphics/pokemon/gothitelle/anim_front.png b/graphics/pokemon/gothitelle/anim_front.png index e4ae46937f46deae81f3e2396f38be223423ba42..c227db1410f0ffef591e8350252e4a1696b74ae4 100644 GIT binary patch delta 1285 zcmV+g1^W8B3e*aaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Llix(eLop z000EHNkl6xjZQ{SSMOQW8rh6JWax*ni%^HuSzGAK!ZKGfTbTGz1{PfG3 zuQz9I;9?kC3L3&HMIs-(fBo?Ebk*b2K2Fo!Y6ti`jDKZ3Ti*`sv0wQs~f6y=+7f6k18eIDHd9%I6f(6V`4R?mfxsF_a?z= zq!!@~f`3A()nnf-$kIH`6KT5-VxOav>0 zv0sRQJcW=5A_nGSNXS!v`{-%er?Rq%wO@{=Fp)FtDN76qCK59(Y^zLkN5WZU%hVJSDLi|osJt{wklx<093~Q% zVSnCR(_(o~Evmg^oMEc>c6A{b1%Xn9npIbVX&qTmtkV2PyTIk?405Ucp(#q{LK;Oi zfTbhrJB~@^3ZTy+sgfh{2=muBG2Hf2@x(YH5ZFbMPn&h~Wsk#GIi5NZB(S zVGI}ruC;KOdq_D30aO4P2!?Z?X;&0Syhl<4`}*Tr)R5Eb z8#~X{mlbux%-rU*t|4{Jy?f0tEcyowy>0yk4{OOmKSY2H5fMXaN3L3&GWuhLufBo?MeAyF|0dBL-HWTpgu*Uu8FTQ{E z;pu?GA!D)G5mH7z#1LPUWqBbYtahyyxC<;0u}9^{@_#BIOf;$qh6}(-@BX|FpafX& zMj9YWtd0D=ADN(<4MUYk%pU{0bR1@*x}fqC-`1G%jc%~#Fh7r}I<`u>RV=hladK8n zM=qB&rWfDndGmlZ!SYnk!ySS`>*eEqyC6&RG*3kP9z2kN40&sm)OKy)-s2bqfe}oc zQFaQL4Szv`{wQ|s(a{Sky3hpDBk`zn>=N(*ihg#ax~zY?JlqnbOA*n9da_K$OcZ)c zAj?9MeSLDO<9>HfZwXlWqKH5+(>fMWsxNz6D}0qlB+aM!6cVxj^F-VL4TeGo1>>;ca*hpn}D4tbp(P*n;>1N zvm7U0%N{hfd4hAa2%hMrUS!xZZUMgsiJa{cU?Qj3Q!Ozhm`KdDJBv7OO-I74YRl9F z5-I)mOi^`XEkXKwCu*1|Jcj#jO^U@mJ-2tqxx>WVZTlcN1%cLup4unDb&f13mTCTD zyMKU-bPBmN{?HXAP-_Z9ZN`0T5ECt`$l)nS7Wh(7#w9^xCKepADK}` zTbjXQ4vw;bI7S$$FlVR%QuZ7pi~*y-vlb3>A1TKnfC?a^e2NgG^b9|ewR2%Bg2F&d zKcB%%%j<202qO9wVceZ!)f-PMgZolZ5P#equ}xYg%Bms44B?<#cjJBXd1eK@rXL@3 zG`_m+DLLrLjn1uF@$)OQK&7f(AKPo`C4T$qI6MTfAo!+&os4hnc(0X;nkY-MzbJ80MUnf0JSST>_kQ zI}pV(%nn4U7^WRjDu!|Gf!|69uNcO)1bjCkUNrCTZ|5s2aELx=xPMIiqbz-SSy0i%r{ZUN(ee)tFc@D~vk Vf@;amlsNzZ002ovPDHLkV1kK^P>lcp diff --git a/graphics/pokemon/gothitelle/back.png b/graphics/pokemon/gothitelle/back.png index bcc8ebdbac7d6c771fc2288b550adc4278c854c4..45e22841b93de990dd18120e8191020c3b69562a 100644 GIT binary patch delta 714 zcmV;*0yX`)2CoK?B#}W-e*gz`Nliru=LQD@5GOc{Rp0;s0+LBYK~zY`g_KK<;~)@* zZP5oXW}JP9vNx$AvyC*-WNp)RfGCkq(2B1=RlH1R;tUd!O?}kkr=Y5eA^P&Kma=*p z!WBQV)%uwb*e}~PkLEjI@$(ezv|S_Ot~8%d_Ve;}N_ONi6fVy5f0z9;&r`7PF^oQE z`!Ub+Pnuuej#vPkZBt$5$HenW`7d@3A?R0c>&s)BcwWiDJ_B60;9o6gve6`52Pvb`dT38$?s50=2Y-gJH)&&Ox@Gw=1aU|o0Q)tn8tMO8AeGEe@ zn*@w|i^^Ns)98<@f41nR2uNC2i;(d!M909*a1mO&LP!>Zlx~z_fT-(1>qB8DfDcYe z1`fN;1X}BF_P&a;948p}04cdbs5YW7hOGslU{M+eOonlgQK;B|;FTQ4CA9M*7OhH% zlwf2!(;j|D(G;SiWz5{l}? z;$r~e8NEwF6+qYlTpnxD`9;}fz{Lz9-$z=b1{rJuQqV|U8e*rU)*> z^lwri0PTCgtO7OwoaMU|7;rCL2#W4saEs>FzXp^EKv|mU_sbMimtst}mq5I}bO(?3 w{zU|r`k!OG0w7;+it#UC(dH{iPj?3X0`x3j8r*4S8vpqm)uY`bZ-mYn^o&g8n$7ILt8UVJX`E+#O=lhZEK%*~QoTj_`GfiW( z?;wsYXZtlx(@&iDU@4@2Lp|r9VlC6;1}9XIB$)Q4th(&R2<`g#x4A)Cp@Ko->LR@_KSW z7UOddkP~Y9x=dNLeSXGB>8=25x`nD}q*!Li%;$UTUtT_cbb*BD{sfOPPRAD__pk8a z!F)}pYGDYx#jQO*ZcBi}9GriQx79}gUx6jSh9k3!0Okmk<@!H>J1hdB{lLrHaXCk< z)B9`n0l+d$_aOxYzfZz6c^e~R%AunZWC@h{+j9|&@FNI+Hn1@tUm8rm8H_W%F@07*qoM6N<$ Ef)_(mGXMYp diff --git a/graphics/pokemon/gothitelle/icon.png b/graphics/pokemon/gothitelle/icon.png index bc96d2720ce2fe2b60effa8be9c962810aefa1e1..6c619ae62b6c623bd9da458453b1e318b5c744a9 100644 GIT binary patch delta 304 zcmV-00nh&60*3>TV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}w6PS-k!L z008PqL_t(I%iWT(Y6CG0hV=$QWGyl!dmz3wBtzG3UHhzo(6I-3fiCK;!S>~LE7wAN zvbSz+<;g$4g#7yh_|2sW=VOG?O^4A48fe&%8Ust9uwE=kOn*e5i!cV61$L!LNlvpO zboXEwPV~SWOHW?CQhyXKQ}FV<+l)=mzsV^giX?*#^)>+^KD$2-OVl*(L@k9i=)|A=l)r3jd=13^0JX0p_}|ftd+v zfSL3Q82h!~z$qX!z)YzH=4>4lv?55l$BM!q@o@uaKc>dSg6f$70000Y|vmE{cgH{=V>5Bu5z+9|@f))fxH7_W9iH|#IKc>b>%HgR1 P0000y>8nu5P(Uy-pNSR(#4K6c9AJRfb2_vZf0t7*C2W>ng)G=A^|!! zK!MB!ioQXCK0^CYJxWF_iTW8@phLq&g87MevX1wWkpF6Ma(_NLKg-VKf;6Goq6NgT zlnXwS^{-1rpKn?~0=Zm5PyzI8#b%HIYej&KOc7c+IF|@)pc!KZ0P7GT2V@ZFJwTGT zfeRA?NUe8xFDwFCGl@BXu?T2u%PWA$z6RK?8cEEPOKXd4Ypiv15#EDr0^|y(3MnH8 zWZTHyuU4)1bbrqVsda#Kmq4cL<~(&%gsE}`;k~hX|LIb>dF9oN=HbI< zn?2lLD1=pa0YViyd-e5j{q4(IQQ^-Mp$N_1-@U~z#(y2{jYu=OL%`j(8(t#fZgZ8xSgL#FKmN?q0c9&4nN3E-Ro%?zSQKpeuLNk$cgR zd*$wNx$6nJ(jcu^r{EcYVzaAFAa(=L6ajx|X}>IXu*99OZ6{A@9*j?tH`u zmE7q_Gp^-Mp5*@La;JI%AYvMr@FK>TI3L&vz)ZQ>4AtWan0Slc!|c=eE8{onttTc} SY*~N+000046t# zLe!Vs0hq)`M}Mfa*QyQR5QGP8xHWGz5?cE%z_r#w-kQTlT}VyQ0+`Tx{!kdb|9qWO zd#eWwE#{A3O#1k6l_Q+D6EL2$i`U-{H{ZXmaxS~=Oy-QIAMW4b9}`4(BGf)VeEM;B zv%>Otr$ib`pM|e}-QQDrvgil+i{E#)ys$lvG}fihqJQk?KBIT>e|KsS0;lWdJ=n=C zyBTbxFs}hFx}VAPc9ud4o1D#b@9RYs2Acp9orhH~z(f%wIMZZddh*u<7rF9aI>D!b@fxX*@fuiIjsvstak9X84YRR7VM7d0r>FQ=!Tpx3+Yx2a z(m4RM4g+4g4ia&6JM%D|V`i(~U|y>m|9P~C*N{0t1Q5-S_V*x2Vu;(v1Co1Wfe11U zXn)@YNbVWQoz4;!?w4*6`?K89-5Cj7EgS$Bet&S1dx8Q7l{A4`?zOvnU zcQ+*0Hs#(iua)sh?!3DdNz&O#?!3F1Ss9a8axEMS|b00000NkvXXu0mjfra+$y diff --git a/graphics/pokemon/gothorita/back.png b/graphics/pokemon/gothorita/back.png index 979dc7eb56aea48213f44922701e429a759a54b2..1d58fc7d41c7453fffeb5562912cc008f149c92a 100644 GIT binary patch delta 599 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 Ef|cdjyZ`_I delta 463 zcmV;=0Wki{1egSn7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004pNklC*2u0Nx7@GM1zdNYaN^3{Om(B7zxhDtcBxuaPE^oOu^45nC zHV8JPQWMTR6LtZCRCx-XXba%I1KI+Bb9(^C0IvsF%K&Tj07Kk@rwu?PB!D(=3?P3O zZ&MwI4;O0lInD*3%ezl0ROVeQH33~M6`;vS#QGd1z~QO`fCRWzg`2>#LL)#bg+_pI z7eI<0+6j&_*1+fA;a9QC7SXPkV00UMP9)O}S36OcjV^yI7pa`rfTmlW?RG1oL z1)#eCc0oY`a{jRM3iW>o&;rb~Lbrbd223k-J7B=H0`>$VU{axuKnO&@q=FDgU*TP0 zK)|kmQ25;h_VWoaqfkbGw|oN3DBxQ@0VWhKfXE+|ubi<0zUA|sG*&nPB=f%BibI9G z{t%9bKqd?o;_m=f=B>SM_K`vw|3lyjcvXnwGdBSW_1!R5z-OKt=m6dnh)g?Yf_V%1 z@l*isi+D5;gYyb^f&5&!USDGcDR6GEeSHkF${A#@2+!TA6H002ovPDHLk FV1nOW%9a2C diff --git a/graphics/pokemon/gourgeist/icon.png b/graphics/pokemon/gourgeist/icon.png index 534856b3afdd2ed762293cf33959b146eaa9cc8d..f4a0c5cb2b946bc7b570493218c048054155c49c 100644 GIT binary patch delta 293 zcmV+=0owl70{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}&E;B%p!- z007@fL_t(I%hi%G4#F@D0R00$f!`ICq20*HFM?QjfQRN8yn`h}mzt$W8Di3+k~lLG zBAYLZ+a;`HY}z6NZ6KY}Phr+x7!?Cl+aR)xI00000NkvXXu0mjfJ@c5IzezYX&83{@w=TvGwgMaFOxH7Foje#Q|81_0@S4s%Yh zDh_5mcm|;E38#%j^l;Oj_PVgV(0;ktx~N&}E)~yppSqn?$aetTsdXOmS7zgy1aih) zxxVG|M`J1p8q){>?d9qw4qQxK#6lnzJ5^9@{g2}F!l*(RMN*h#kQ4^cCSmTD0lx|( z3`)WT%Rv$bMyAv%OkhgAh1qjx6^5`BCX~XkdA}~q3&XLq$JxVS#sB~S07*qoM6N<$ Ef}B%vmjD0& diff --git a/graphics/pokemon/gourgeist/large/anim_front.png b/graphics/pokemon/gourgeist/large/anim_front.png index 88008d298be49572b7c5c0497401879bac765f4c..b3a84718a69976213707003ab00c7369f9f14624 100644 GIT binary patch delta 1181 zcmV;O1Y-O534scbbbkN`bV*G`2j>O{0}&XP@kyKj00d-7L_t(o!|j&Mi`zyRhoulI zd??s>Pu(b#fzOBQQOfQ9; zB3S5ggD)n%s8okQFJVD{L*E%ovOZ>1dTI}yWp{1QA|aDPClnTt@rAv5AkHUR|2IPesOdbx-ef#$GD>cWeY1FtgIlo6JqSnNNk z_BY^D2)B5@O{=TvJA@pOP3sBzl{wV->RZ-*L_I-&qXQ)_>72N9BHT}nj!BN+`90yc zIq=lHzkKH-MCHKoa`^^H2@d?o03;s72Y{}Y{uJd_t$zS?%=@d=d%rUk0}b@mq4~pV zHA2)EjsfLc765Ok((na<#zy{QwOU=UGy#BYWGTM`u#(KvjKIL3GhieGU^8*x*Vauz zKkPzR*#OT6`^|a)<8@O6z#h|oh7s6JE+A$MXv1}080;=z3jy`RH2^S+7&L_d{(_ZY z32A&h<}fCxQ`@>R}G$(TGd_AVm^ zoI^rb0>)(Qd=J1|2E@;%E5C@d}3=1IEN&n^RK=PdvP_m8UUVa)pD%0(n?v5sEEmqC0hk^qfJ|Bc4+ zt$*85X(F@sEQ%sZZ^IvPf}$?M1;mF`X^8>&JfxI8C>ydTo#^t5CxWN^yRG#%6}B+m zsr3)oOZ{dIz;+{U)&@Ko)dS!U!&(52fm(q1gIaeHd4CXJ#a0g_5nDZw&19+v^3A~Y zK%SB4fjlGC18GF62eLvlJ&+B;_28A?n}2hUk?FyAK4QeARu6iTGT7<=`k3hfE5i~4 z(;m}<9-pxCj5QGG!R&zR!JMm7X&gBHpPENMF+JEsln6Ne(aS^+XcAE%3VJ|aCPL=O z^gv6AiA)bt!pQ-)m)8SM*xf8bBbh%WdZ5jT4L=jP9>D(TlCDz#ih3|7Q(`-LJAWwY zfd%`k2$b}o;VAQTsx|^r(gO|@45g$8aE8otBS4K+J(%Z4a20_b&}{$!ay`)Oqy(8B z%xsu50Hk^VdI7*ysUB#gYr|5hQaykY9Ci^>JpiBscbi-f0Px^wuF->O3dr<8>v}Nn vb$T#!`N=HT1C0T-dcYUue?9oG>lVRZnHmL-ixVI#00000NkvXXu0mjfr41oZ delta 1171 zcmV;E1Z?|(3ik<+bbkbGNklnG$?gn^t!}C0<1UzZC5}@N9csRaH0gWzgC%}Ps;&~4qKTcQZ()!gk@ELyl!6T)G z2Bjmil>}e|chg5=eNC%}>o@j^Y{0vhCMvX^yzX-^CKO<3_f{D;m%zRdUMj-+hWGj4 za23Fz#{P&9F@H)$lsSw6E>aC%ob0FPRzo1sBczA_d49eGpF(&~&if)aPl5sGM|?Hv znt3vY9$$Tn(?=qo4;8A=;#7?JP#kKe5%Bo&yP&T9wgjGf_owdyN_FL9;CMQHLyd$4 zenf!kiv$3O*)-_V)LB!2s&{`jdmmK0dZ0wVI`Dp&&41cd1lk(Vey<0>8$n8e2C%X6 zAG6u)0@E}A^=Xg%4#3Q?PJIrAKS!W#0$?*q;Mej^%{=VFAz1;>n|oWu0Auq!Vaq+{ z{0tTFBG(Xo1S)Wx7cO4qb1h(fxCQ{jh-NNA0_+QH!EI?GWDga$DSO<*h>;d>C4fb; z08|)SFn@9Ff;FHBV^KL5Fl;wk%mv^RMnnrW0ItSf#cjx`bBJiFfXzETw9r0l0dOaT z2q#k3%0A_%{6(vB)`IGHLWpppDBWfMly~?uclREgYN-&i@@?ZYvusI zGql{@r33_XCplnf1HdMKLX(2Aok=uN06PYnZGU;D+%OA}?vMy;F7M{>yK@eJx+QGb z43<-YrMwOgjSvBKB}pFwoyzXV#`RwsJK;ws2jHbro-dZ$m*I98eu@^ElO=~Wcg`+D z80TdGG}n*iIEy9DFLMVGkI6iGvAhhIw;}^jik#oXa(U}^lv&7RJd2`8h}-Z-pFph1 zVt)eh3qi_y06t#`fj7#M=}xCRd}SDKv;Wp8|4oNw#25fjMKX2gZoC9+(cOj^K9(M%15gjX3n&uWB8eW<4Q=4l|9|x{>H)T)se(Yaj(Sj+3zl865(Pcz?@K)x zOI6C$fv5jd@8~DggH=R^fTurw8S81MxBzvec5PdSI`KO+-cy*2EwM_@lHQ zNW!lr5jIc!A=U$X%zgMt0a-nO{Zr$$fdZ&{Fy>wE50Vy8QB^(Y!TwT#j2@H*WPiL~ zs+E9b^gse64P^8Ho+0B@1?Vxa2jf(QA<^i8*aQGz)&tv*TQKQC--k5=z^DhH7XVx} z>VeH`KAbAcs0Yx(01v{b2LM#zYBTEr03&!b7wAEE4Vd)6u8m;bi}aumC!$afYy=AR lK%SKU^&r*7e^L+r0+|{Gj!eckV+;TQ002ovPDHLkV1gJOAbS7+ diff --git a/graphics/pokemon/gourgeist/large/back.png b/graphics/pokemon/gourgeist/large/back.png index a84d9aa5161b80b486cf39aaae4ca150b9898e8b..b6f7575bd88a237e565810c351ca637ea91cd07a 100644 GIT binary patch delta 535 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 delta 449 zcmV;y0Y3h_1d0TZ7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004bNklC*2t|uAFqruNzq@MHYPD0ux5@H;&m6!>=yCklx3UmwBM;Vl zzd-<>N=?XlZ+R1-Rp9W`d=hjDY^_1w0-!N_022UK4*&=NfQ>zJXu+~t;3P!A##4Vp z3Z;HWA&#F=q|KjkJ%K)92_^y%Re4iNr*P#XLNUe;U})I^u>+W8g?!1R_AJ@Bn|1E6^k#0n#bd5m0`G6(D?$Q-Mz5r3q?QaOD>i z=n`o12_RC)BN*}tAW^sk+PvfQMiD5`G#~FImMLTacX`LO{0}&=xkW@DS00oChL_t(o!|^T|3*q-gO;W*a*kzXYUl~T zb`E3WQ4;9nnt%0JKmrdr|2eUr+SiWlwCj<812rDHgyeamMgiV-+IS2__~#JkX9h>2 zNk|j_I@$R=ybIz@Ip5-$dE&JlXWxlNNik2l(BsQ*aeAM-iuwFHv^d~hr^D-nC;`hk zc%riyM=75V91I30bS@!*7YI;w5f1=99DjHXnmDx-ux>pV4*&Gl8)_g= zZ$7qu91d%gd&(NnezOU{2`70^0pzgqKf~ehJ*p`HyG5JiF93$>CBQQTg_jVh%>&?J zlE5F!Dgd5?4vBzgquZYV*w*qV05)1y0q_tSub>6ICbC3M0y=EOdlT=8krL28tO3AK zqOz<6*ngMUf>~8a$R2dFB759I30Dc262Kxe09NQ|FtPTYm7xe@qL2~j)XG(60&sy6 zB1j3e@Jp$iWjS>U5|uPyA2~&6q1LYgu;YV-AyRu~?>T$UaaHeEq56&w5{3|Nvc

9at<&|$ByfiL-4fZ&y27{OWj+UxSF ze`W+C$UeA*Q4p?-{T1K85W&o8MtAYZ=#PCErv(5M-#`s&gg770u5vPZBXJy#{cu~% z0e|ws_{hU>`>sgu^yTG+@!NXG{iu#t!l$_n4muNDFulpZexZoy@}Xr1~UxU3g$LxZ}Dfm=nlxlluQ z+S1zROMDTV|J;%9B2k|Yz5G$fDdDs;=iS9$hsqdl?!pY z1gk5y6#%Qqi$Y3FfG8bk7;*~e%Y{gy;k4Sxe4$k^UrfwDXG1=X0qM+e-J1wZ^Fy}{ zKlLP_o3F5il~_UosTLR{5CFrQ~2GXd5RkhTOs9+>)6027SKOo$KL=xmk9 z)A*(LcgU4$jj^?7YzOm0C3#odE!dF`R;c3C-t8A8ok{djIzi2!Q)ndTC%CPYM9P3P1=w%mQHT5`P#YZ~^f_ zBmvTx0Gs~;unF^5Map@l_aneQR^>^VZ_;2&E ztj5eU5Xb_tw~M~MHP*M#+*QU3-rhgk@n3%@^MxYT5~Co^--mpW2_SL65Hdf67eX08 z(ENj)&_6xz%>gh!Z1=^-F>4XGizbbkeyNklDYjJh;E}@jh zWemtOI|fk4aqh$jlYQT)FM!YX?>ZQFVnDS?8%w~s59#}lAI2&)Y32L^c%(l6IMD*7 zJ#uj&fN_vmWR-60F0Ncv|7t?v2CXbE3fyrrHOv^`^8JW-7zetA)@~%AfCobS9NSOh zYwq&SZYaQ^#(#qzAw?0ZQG&O52VR^j!;5{)r$QjnBBX_Xc{X2!cR{?R@@fid{__0f+Cs^D5d;E8wYfZ}iTiR98L%_C}*4 znoB6)B?44m!~;N#M_!Z0?pgxaaPE!Ae|j5DJy4|A9)CGMj>iouJZ%kVztsZZNRXnZ z0SZ|8pYeG70o62s+omn@7XV}Z65ttv!WR%|lbinouq};7 z0$`IY;i`wwdJQe$F_9$-3NT?KKG=9pOtgUUaUB4L61B8M2(T}(1-q`1P(7G-P4&2i z5rj2i2MJ5cSeFI<CQjX=^q=ztqB z`=G7x4gG2*aD&prmB4j4tXHkmyak8#sxX>4lV|~4FZWt2HB8=7qdi~Z^Jw_zMzN2C zek`kie1}IKL@Q8+>E91Mh#r8C?=@Dm;eWwlxpyS;+wh*=?~Jyo$Zg|=P^@B3%c32i$Ei7@}A7B8m8V3mp9Dg=qK}g*zu=K)XUNypH?>c{V2&67U8X7k@Mu z?{6w1EwKc~;Q{bMS;F!{!d0tM7NxePYQjp&ygdiP(H#P;sx-h|!l)~EGytoqgF;En zfzTZoXmUz8mrJ2Uled=up7%BM7xUp?aKWEOfSSy3+}j8&{6oJ3Kf7_jv|nQjYmtNk z5-l)rAOKXc2#kw7z&^-0K!2KZVDn!9 zHX(mWCMK_%{Rps6b#R{?nbn zKRzAg0O%jKhr#KgOzw0{0y#Y3R2C0000Byo<@#uj|$(spgs=`TmWp)${(f&Z40k3}qR)_I-aT z<$mA*BL!qH__ptd|FI#^EUK16zhyy4r5orxz2DbtxU<4aC3@fnZw!Lqyt4(4Z3m*O1}?3Und@n1Bc51FsWN0X(2kuepDAga#=d zAa?3K*N)I&g$I02)SI#$p+F+>fI@u{csoJ?c7;H_t!31X2uS>Z`{D(@DIGu$6ZY_7 zYyErz!s`h;4J2<>2Gqy>d;}m0Pk+N9Z=Ru?=m-GES9O>m<;WCq@q-6UDj@mhG{Qf+ hga#1)mwyO;0W&R28y;UuI{*s+002ovPDHLkV1k2l+pYir delta 487 zcmVNkl58z^1~ag8|kf0DAAf0*SCtc&?A`^3Qwu-h6&5L;ygaca&Eb+5uD0pn+=n z`u!&p$FF*UKrGACN&yG?IDi6JDG;gQ38Z683I#AZ$w332q3{uSR;G7@Tq$${Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lll-wne=u z000DuNkly^b3<5P(;3SftagC?qa-qy>DXLMc>be!sD%05?A4cn+KF}PhrL5Spf0L|) zV)FiD{oVi!hkp;0Dch?NqZ}g?E)c~C0BmbKMG4g=l5*obX9?7t5=060Ch*=Rq=HLH z@jO6f02n~_^V{R`^MgdP!Uf!nAOL?JPp5BRJ|mE`S zo-Gr|BxLVSwV(!Ai1j6e0=7&c#WQ45=yyi|f1H6IcYhPc>>)92aNt$aF7UF$Ziu^M>Xx zI~zc+fyZ)lh6=eeTeN^b@O`AR^CAx=o#>9?e*t-Lg?8`|Fo5Y9p&=l_%FqG4bLh&% zFDv*!qVtK~21Em_X$YWgLJGlxfVsgnGyenuVt)ZM#8rS@fVKBrHEv!?U7nVh-s@%L z13H6<)WwG&wh27d<$A0BAHSa0CH%6kUa9}!t0FgqHc7bX% z!`)v#3Y_l&WZWyA_*YTq{8pRP#~nuhkK4nu2UjmVdvNu_vj z$j<(eR?N4DxJ>7be`tdV+C%Ffx%Q6`P&fX;uK|Vi4-}M227$5lj~an$<7HGdF3~@5 zeEGYC(JZFit3Trs1E8UxpfHIy>x7_aC4chx^>jM@1Cymd*K&X)#S(W!gE`f(&at{o z-3X9QMQboMx=QLCwZQ*FMY9H@Z{*GawqP92DhMVPC>MAJ<3L70if2#<2Nh^)*8%+#a?43BQ_og9Rlx?$AQj`KB5JGduV#+Cc3EyVFT&= z!zSbpqN4{MfL%?98-k&`9`CH+0SP#Ov&H}}`q2FJfaw_s3C3Whx42$h6$~O8eOTyc zT?Fp3?)Zffh&*H{#vUx;`2((j`cOa`!H~W`5IlSywSp1yhyJpjKRA9t^fu$`eu2OW zePVdkFK~$!3dZodU*Mi|Q4g>C1(t6qi|?jQ{|iG3$JKl5&T;?%002ovPDHLkV1lMl BLYe>o delta 1207 zcmV;o1W5a)3Wf@hUw;IVNklxjGyV~U=Nt@zW#CGP>@HOImN%G^2EOY)$ zvvW6|0!)eQ5-JxsgDEk?zvz_%iPM@jYP7=3H*v60DnIpk6%81K%io)jIA6Zo9FQA zlYD*r(g8<6kJU8JHaV0M%GbwEPy?*RZcL$oZ3-xG52Y0P-VwkbC*bG11!H!TST;ED zDCrb9VF&@|4tYn zhj|Yaur#+rlo^;uToJL&VOV6=|3;qf4WWUg<03DId!n{L>CK(VpqH8uJn~cBlB)r@ zw+RqPNPjK-x}nw6olT(Uz-=WyAmp7{q6NZ%_al{!iz*UN#dMs14~V3oW0c2$6qYB1 z#(*4Oh6xbtL%&RXoFN2qT~GAefarl8jRABhNFi7hFekWU=AS4)EMP|THVnW96h zhl`g|KTjJh@7>0aC$@r!)Q=BAEI26Vf?D^>uYcqE2_NUxGr1SuEFfQ=0D`ZB;11E` z1uWPIhywCr3beBou73PeVB7)7+<7|jThUc+&+&%dZlo;#AI=Eu!Pkqx9(=tB>><#L zm_3X{#2&0(j0u9yZS}(Ok3cWJ>mOL7-}DbXhL#o83pAMCKQtQHgKVpk_x{1#%`9RM zynp0_f0Qh=2h@x5U_YeLxptk;jg3`wPqk*~g zj}C$MDyXPr-k^Wr`1o%FvsFg@?`Pu5F8(Msg=r{nSX85SFXuH^xF zflu5s8qBeSU4^g9($4_JQVa&up{o?$R)1^!KU6epF#1F;JYWyT;jDsSVS)02M=%a# z1f+fhb?|_>dV~ktFm7%iUSR+B0J>Kyvz2>&`+!OOX7Cf<1GfhA{=U`~9GoOJ2x$yP zsdgQ9O=6mfF&K5w4aKh+vewIMt$gi2Eg(J z!~`SV>Lu>hUlj}@dVN^yYh6dqvYYsY5eR=5UH^CuMBooN2kHaq1w)4ZKydRqs}+ox zKe*Ed{^0oq(aUtYkn0x+Y|$sCDKK2Wz$vyU7*oLW3tV$0x+&oK1wP+W*2#}D{sTh_ V$JJLmhur`G002ovPDHLkV1l1pN8bPd diff --git a/graphics/pokemon/granbull/back.png b/graphics/pokemon/granbull/back.png index eecb45ba7a0f68c85e58d73e4c79f9a7d847f14d..fd5ad606f61086433d20316d3eb0024dea6a267f 100644 GIT binary patch delta 434 zcmV;j0Zsm+1epYoB#}W-e*gz`Nliru=LQD@5i(3lfJy)W0eneBK~zY`?UXxm!ypib zQ9*BP=+cCwOk;BbJWJ;SP1u4>$&b~i5?)-0Xq-3YyGcc3igyWYTX-?sflJX5ee=9a$;Q($@K8w8^ z<*x^$6rTX@4=z&f!=smI12CnIj~FzbT;%!gMZGJfQUDS^0h;@nT=;-^m;eVAS%PjI zK!SD+5c|21Bfuw*ML=eNUOe4~LS=wxlULwiUYCGInZfG+BD7Vp=0}jAPN67 zNs*TL*SeHiw;znri@YLbNZRk5X#;ASt75LGwV)%I@s(t)njd=xdR!u2d zfQvCtdTRzzdhpiPBT!R+;AqS?K6*?xfUCIZ31CaR{P+enY<^$rx z2vCn)L14QMpun&O=sU*>?rkT-(0pDj}&vQBk7 z-}W@kQ4a0^bg16~;6x78CE#;_&$|Sgdw>LwQPU&}K;V1Vb^UpNL_(P%`rYY7$Z!Y- zbV(n5e{L5m$S$>T>WPScU@hP!-Wg*0z6E5y9DLFj;u!@K-mV?pF2CT*$7J1R6gY4o zd%9S>g<{Z-6)9I$7U9b-=EPr@@_ll!zHO=Qq~JXiDHeLj_uVW2fGcBQHF7|)8fA}q k_^*HN5&1d(wuJZ<2KK`C#V;U8Q2+n{07*qoM6N<$f@PPO{0}(mfm|4OA z007rXL_t(I%hi%GZUi9=Mdt+JK#_9klt#<}_<}>E#A4BIiG_m{?Tm+Zn=IuMAI#@% z+y7Zk7a-6Tpj{FGvbGCI9=YiOrT-uzPx#!DGQMXHwLL-NM}L~Z1H?}TOG&rmR3E-r zf|^01N8itj)dRFQGl&xDupsMQhl%u{6~zF@H6YRX9_K+^OF01pf#aExfH-H_O@~SX zy0oN&Lc2B{^HR08?fusK2;){^Brn3qpD^Yp={AK?BEGR=O}-4FAM9}igy1H18GlYsyL002ovPDHLkV1jmQYr+5k diff --git a/graphics/pokemon/grapploct/back.png b/graphics/pokemon/grapploct/back.png index 83261f858091939bfd3c4114239ea8a7788557c7..824b27c644ee9722be188835355a4e69bc3c3550 100644 GIT binary patch delta 417 zcmV;S0bc&51e*kqB#}W-BLD|Klz@7oA z0uX3|C0_ky4}g!5ULqcKL-;L<5kQ}hbV^_%2?4aost~xCVuf=+h5(Xcg-(bdkOzPw z2?0k3;4W}*Ozd1h<;wsnr^dzwvO~b--l;)3Oo&a!c&BT9HNfpF@%C})0F7APPX0G>*L97$Jx2?`74`SoTcMl)zlCZ9 zTEB%6sPrOG)8*+etM@>+t4~licfF;+%%ZLwfVDNmR}WBFz{ZzB zKw@nS^-vU$PbDM)q{$#Gz}Cv9?tlV@6lQDfIhBvsz!5-1|0I3@nOrAzr9MZuabylv?wrdRnNy4(u6_D*%C}SQgY@_5k=O86;Ax8zLN0SO7yg^2xwd z76WLLRV8rIVuf=+#sFe}u|lsz6euG=mBoOg2XG%acp-K^pvq+cmDgkA1H~bda_{w^ zDWf5ZW30#VuY-~l#hYibjrH(%;SXvo*hA5}>mMJV8Hvdl?{%%O2Dp7?!8tBHpb?wf zclevQ>$*kVostFMiu&gi>`+fYI6`BAE*!xEja~#=B$sD6tRVw`5@0Z>&v(6}z$~I} z8|_`-*%JC0^mPtwEO5RjG%qt?%Pr83C*nq6FaVbkXl6hP62~FC;qBrsG8gYiYXZ_7 zV0)MwLo-wrlv4{y0BIbA1Grj!ZhN4D(ZbwX ncTe@>Yv2gr|8D;nX(h=onOrAz{Z|(+00000NkvXXu0mjf)sw?S diff --git a/graphics/pokemon/grapploct/front.png b/graphics/pokemon/grapploct/front.png index 3dfb91195f5a108af56bf3879e96b976a51bbcec..4d81c70eef57a2ed9a5e8471bcb711cbdd7ce430 100644 GIT binary patch delta 636 zcmV-?0)zeU1>yyeB#}W-e*gz`Nliru=LQD@5(uGd3OfJ*0!2wgK~zY`?Ulc8(?Ar* zZF$RtO({cJYD|cjEFMEcD-X#{3?7j92Qm=mM9QUz4Wv*6T{5(0h>F;3$r30-m6NhC zgn>VR-H|A^^!^6kIYp}RIhh!cc#>@?-_O1Gy>~yNY5(J|gl?K^e|6Kc?RA7{%eYpZ zKiBQsm4LMYxJ+O>ZdHOO8-N=d0R7HJ;PDDzZsi<0Yk_UM-m4Shv@1N`?A+~j2li`L z0qEUc_bKO%lUHsnJW~OK0q+j^vwpu8iJ5}XImO%2u-}h_5T6vli1XpWqBnX^y7*jP zQvGX}zdKlT8gDQSf5T|E41D>{;TxxE0@av(DA%|J{KaBGjd~<&%oH^iLpP@foMwui~SY98CYI`8ZVF>QmFset=3|Bf^ujwY&!8geg)6>uV2ip{-c+q+Uu zv-88ORb2Eiq*LLTtsD?(7~`}6ghH66BVVf$=g;Hhs$Qetf2K@`d9Gq6Mu%7cqSZJt zkLf{-@y7%U6{2}W!$?a}M&cnt!D5sEpXACz38V?YA02RGfMx*ub0i{-iUx9*ayX#C zB%{4BF9R`NhU?`vp$tGEbRZT> zm6ku<%3H{fa;aO@040zB`r``S@-dWaQE`Ax%fX9}h#oQqpu9%?i@@DGPH@S#7$|N* zACJZwwIiSutaQ;>qyxBl(@rTz$%oYlerGkB$5=LMwc$$ZgK??fMxiFShWqdQ&HVyo WRW3AoUL8;X0000h3>lF42Qm=mM9QUz4Wv*6T{09iL?AX> zvINRd<)kbOVc-v7cO;4}y}yBXP7#>%B@+?@PqHof`?>eN_wI-BKmJabw!K!j9mduX zHj{BlpTE%AbuHj*04@@LFxS&1c(4JuvH>t}Yy|GFfItJ#96D=(ZC3Bq32|E*k5@Z4 zd))zh9%ulw+v`5$ym9)>t3_|CfWd%whx}2$UyH@8f-pJ7%h9mkkA)B)Du5B^!^1^y z^oDftQC(8=bCQFpHviR|P(OLWtQVw?h>6v|x*WGTQO9q{SXf3NJJKw z4HPcra6o}+PJ3al0tsG(=NC3X1t63<7<=>$pDH`w0%LznCJf_pNZ&hEN5k@nGE5iz z6qdTfB>`D!`CWHK7*0E(Zs`F^AOUQTHM-NrNUnwE0NajYi|6kVeGCGC3Z1d`dFbt( zq__;W0)?Pku#LxKgW3^Nia@z&9MS>2qG_)whvLI&gg>)d`zNRxby~lwS`dzvep{uQ h;91&k{%c_vKLBJ^E;O?^y;A@H002ovPDHLkV1hET9uNQk diff --git a/graphics/pokemon/grapploct/icon.png b/graphics/pokemon/grapploct/icon.png index dda18023ec3bc4dca106e45e812bf27d7b7139e5..ef4198b577111781c2c6485bb5bcecafa1f855a5 100644 GIT binary patch delta 347 zcmV-h0i^!61I7c8bbkN`bV*G`2j>O{0}>BE51*I-00AjUL_t(I%hi&xYQr!PhW!Rw zI&?}Or4+7%7k6nPTVJMwLP|=(1&f3{M?gVYyo3n(CA=63S`24|x`{Z&O z&$OR$d^yfw4HvG#R3V8$rS8f{h9Ch@qI5u=a)|OsrQHxztVE=b9kxVB2Q~}M zsN}`2-?hee&NTJ^KsI=9+Uy_@#3TbeAoYT(bQl1#xO&X$QHp43(6``&|5<-Xm`OPn z<~hGIF5Fg_2~_W%LEN;$M7)y>iL4a{H1DRK2-l4;dhI~1_e*u4`<3nlsj-%fvaMJ; tgY4$X&Z(BWei>`fmoVkX52=69k56-z*(to?jZ**s002ovPDHLkV1oQkpQr!; delta 331 zcmV-R0kr8c;YJfj1hH=={-xhxqb7nj4>Se1AR8VGS3qp{fHKfll3( z&kREhpk?WRKIIVRp-%e{T&!fMW#IwWR3ElfDhD=8!2$mRY)So;HIpskq{3)Y7X8oqL&D6;A)^!KCBN!ZE$W1siT)WZs!o_t z^patjb;5uVeMIVs3eyT>)($jgpXdYIuS_pULyY2#Z)M^PvYThSU`FkRVQhuJg()X~ dDD#7Ud;xQn*(uMv!0Z43002ovPDHLkV1fOaaB#}W-e*gz`Nliru=LQD@5*5O2X5s(<0zpYcK~zY`?UTK3+b|Hv z6(E9_4n3J140I7~KY(;LyqXTVSBVG@=|dDK3JuZjp_7LW_TIsIffz`az(YIup>iax z#2>PO0v&UMzV65W-Tg@g!F&93T*1f7`8FnS31}k)yC7imn2yf^e|HYResi|U4&Z6y9$0D(0CfteN?oR)%m zNO*AFFlT5o9F~~2G3Mb-zsaJ}x8w`0Pl4sgj|VKa8yr32CmI7N#4!*)&C1Qt55a)J z=^SQVlz9K0^1unme;cMSrcFJ@u$W8TkPkj=X``pN(5Y5glMSsuB#*;qSXQg1^{t25 z9hTeY=T23vOat(+Hdw3+TcMga8g1I6rSvpA5}WKI7Cf8C-)*?et!2wl4iCbKyk zOi7-*jpI82x+#cp4in*k32Mlq*gkp*2@pp;r4EASL$-0>|L?C z3Hl}(Xm|}FXc*Dgfj5n6aFBJ678fG3SEKxoNH3hjL5QB?Ze#beUlX7X0q8rWzVFjE zksSeEk#uYmZlOE{UW552xH$(nH**rm&j8v2dRKuNBmL*aysqF5VW>SoD%ufrzTv=a z^VWIhfogud9Xaf^u?M&&Lw^?bMqM5Ol2$K%$~U01I2bboo^`5U=Y4pO{}C??f}l54 S3l+Wq0000iaxIF@Mx1v2IaN#uR}`QM53KH~qQ1)neHI~cr!45{9oW}@lUz~K!~a7`jtQLRz58|Pwb*(~>!Zj8_&;a6fdA6~Lg)ZI zH7&L{Ejf9JnRn%=(^naeN=!N!G5^Lrm^W#QPtV2Sz~ds6wd@d5mB&7pWufecI8Fp58)#w_0VcHnjheJdQT7 ztX8h|?Z??2mb=ZSTU9IN03O#0i*=!QsOHW_tIqg&rXqmlO1D7DX0KZ~QVOX>QVU4L zp(SJuaB~y^!d~B#si5J|l!QVmdRt(;QAPA}&54(1U0 zsRc+SH3XgSTER9`9h_$tsOCpNW>z0;ya9|!-=2jxr7jzQpw)|C;sA6PM`ilJvTpU; hStj#7;$6b?UH}Y&pf{7&YgzyR002ovPDHLkV1lt5E_wg} diff --git a/graphics/pokemon/graveler/alolan/front.png b/graphics/pokemon/graveler/alolan/front.png index d2454334b548f456583d4e6f3b810d35a6709585..712516238e673d0bb0d8c61d6a9e16899273b8ff 100644 GIT binary patch delta 776 zcmV+j1NZ#-2JHrrB#}W-e*gz`Nliru=LQD@5*sDeOXUCn0?j8Is@mNc`Ts|=65?N9@Ic(8)x;Wk^k@}ee-TmdA;4Od!pMmH zXjO_h4ee-^$JlmL>fh_Qf*80+3jn!GKuIoG6!zQr4Jkx+vymk*(95-4x&@4ppK*`0 zI|*P?u%}zrBZ}rSc3q3I{^J7;#DJLWzhgNGQMT3?YLbyp#F=H3xHc-@Rk0UAtN|nG zSuEXafRqRkwT3D(e`7EMkr@eD_Bbpo+VXFJy~a=m;N->_JPQ4B_~L*}9Eg(tO#;@i z9uooNqS_v@uXGeX9=$w`DVHAYoH;TV9|vB@2{=*o>}{A5dwO+7qzaRP{qI7kv_v~` zg!H2A5gQ6=Yx9hHyra#}Qj6U6W5hrh_JGE%%`BxrZyFEme}ctgV8qEm)x;^Kh)eN2 zwZM8gVPKF_I_}YYHRnUuX%ZY2Ur!O8lqwoE(Txv5se2Hpwt|ux@VFaEt>+DyyZ{KLe@xf(vO#e*t!G!4&u6R!ojVg)==qwyzxw@&Wk%f12|~UI$O1}wdeL?v zBHUqTcK{((Id4*?8@&v)2pW*+ce;=&2GFxC!G=zeoTF{98mdm4oJ0Iy_pQH>D!Wix=pS1E0000-Jaw{dr9jn5j?QjVk)D7i-0N%hFLqIAVtLH~# zV_%f~G>zE9dO`#+5Y^6z`^rXYWAx%Yp@9r&_rj9{@u43m7GRx;CB$E*-+56ASAiOtKiAIDrjzsn2DW)tMnfHen z4G{*1$Fq~O$@gnLVIa8&2(4}34)T6+Gn>qBuAj}>3wjTKHn1@JHG6mS>m%EYd74v% z!F@m$P|}mDW(qOkE_e0-5K@s*s!T`J=agyKOW^sNu=lg)8 zQY3J5G9OB{Du}FyZkX2|`QD@51{8)Vrp8F6eAJ><0;fLT6#hlH*!PDa{mwUGeB&{)IbERcRFGZ)8VXly4enl-0IwlvIW*rE zI%@F!K_6J#f^MLI6u|%z!_F?GP5{g#F*m=cwMypej-3n)4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+5ym8McNc~Z xR#^`Q21ad97srr_ITQP@vL8MC;PT!7$0uho`U-43TzM5_hNr8a%Q~loCIA?yF9QGo diff --git a/graphics/pokemon/graveler/anim_front.png b/graphics/pokemon/graveler/anim_front.png index f00ad98d8f11e608b098baae37bbd8464d43bec7..8a1d432f75395e559c64728d13e3e4f3278e4888 100644 GIT binary patch delta 692 zcmV;l0!#gr2Koh%7zqRe0000a8{JN@-Dy;B#w{6Hkz;6c{~YR=3ck;SA94M}TL_^q}Y-(1UIN z$l;^k5q;n0#TKZQen$JQmzR1RpZr9ujw6?g(L^vIAXW*QzN>^f zdZf|qfSLqTFECdPtQUp{v>701MMGad?qLHVYrt(RUWmwHS~dx~F1DZqND+RLL(qgs zbrHj|^BV&$_$15^FPql|pfMKAA$Bo4&>92VQMcyxdlsR{O^0D%C>KCkVXJ?kn&2&z zLZc-Pf&h`M6i>Vb98Lhkxl|S?H%L2&VUgei0rGJWz&{;+0gliRg|sX!8p(8Ri?Ri+ z__xDBC{9fhIXmqXn*=BVc;Yqbz(Fi3F7^?tCf0NE;`u@PFrR=}v6 z#lZK&9x|XLSCE=VX_4ZrfY5*25J$x*jfpP%Lbn*t0JtUBh9U*3G0`Qn!{-1Sj-Ted zJijbc*P;cej@-QN@} zw}0X$o+}-=zUfW?mahH&Qy|CEy+>G@<8c2W$AhEt2W~U%UVz*=p=&o$YN$JfwCkfFuYx9X%c^R;>8{!_0n%-AptYgIFRi`4wL?gJt^Lj(p&0(Ny~VDe!05YUgbIXo2@EY&y-mgC_%KG~*X1uq$q zoKVcxDU0PiP>#n)jDC;Ay?m+Y1&|#KJRyR@ge8;;F zx#@%k%Wyv&){G#77UKbpvAc)k!k6+)-5b~|R4n2TF&di&>*K7emj_tU(H+1E^O3cxY*IBw^|S%oBkPktugh6F7X^YKOIgC8u3iApt<2 znj9a#5YWVbd}v;!bpmawQNLa}5h56GgA&o~3sI6~iKwcrGUYKqxm);$I(MS;tK-LB z8eP9^BlKO*O$4D-=sCea=)Myt-<)<}RZ-ial}q`HKuz~OO$}j`Hv|;A3{-x!s)K_i zekgeT3NWi(E`mq5hba857H zUX=mdZsC1@U(5_@=3f0)zB-j~5B`vX-CDQ*Cpb|^!QaF$;VV|GSg~ToDc1SHIzL$F z2kZPTpow9fAI!1N57zm?IzL$F2kZP`#flH&4?xH%1Ix=Ae*gdg07*qoM6N<$g0O@~ A00000 diff --git a/graphics/pokemon/graveler/back.png b/graphics/pokemon/graveler/back.png index 9704c55fe050f68cfa5a7d318f3937e0af1a8c4c..9154bfe38aecef3ad589dfbf967dfecbf4b44acf 100644 GIT binary patch delta 499 zcmV`K?0|J z!EHx?P@t9>6!L4JNnnvh6%7z|fX0wRb)NI+<&$B+3gR$?fzKE{Hbg^>UIA5>#HX|v zI_ZxpJLiGVbQ?l@ljm?`F>s3oHg1A2mJSZ)vAsu`!5SNxjakaVz}tygm)UcNc)UP$ zX~X4xvWPY|NX2B7f0phq0<>3!;IEW*NsRTQQ2Ni}QQllQ3|P8ITdAPQZJL6LW1eZ#O=d`!dNLeY`F9M9*#AXv% zk91M=cb?zn!E95LX#V?nlIW;VsYFO>JS*Y>=F?2V;3ZN;X|86L9@!Y*XMuBhMchDf z)CNZH2ue3usQe`B=ayAMVbgD^GSSk@*glzXi}QZ^HjkBP9^>hi4f|rkM^GykD{bsy p0V=h%b8&^ua2&W$v9|3{de0Bc!bns%L4iGsh_zkh@JkKe`t zKL8!Q@8*w0XLam%fVzCoE<06ndshRf+yp)2w@%u-v=1lC0&bx|GOu#>m^%z`=~ZUYWq2n75BT=hVe()M z12EmJB*uI=u2AH)yu42mQHKVx7>`oZ%L+h!)ewCduZyEE?@F70*F_^g$*l~S4Z&@# zWvN{`6ULymw&Hwl!#3*cAf7BAfB>+~Ss7R%dZL$5Y1V33*U&d^j13?vwUO(zx6E-_ zF4`^tdRv8Nld+@RwDK}7dHco}Ykh1I#D5)+hzW#_B_wI^OoRj0o@XZ_I6t(6UH9P4@pSk zGv@Cun_moJJS;2R1W*a>8`_2goLZJ$bFo;cWMoSqm>#mW_ajz+|Xcp}zk^bq}#Hdz^?J)v{k{JzgFwE~Le zA}sZ!v@c;!MA$)G$y2B)(0UcL(enu58Deni*l-aHbSg`}&l)iQU?JauvBWRHBn3vj z1~8^nI6Q8yyFox=Q5<*zV{Ax2I6Q$dXgI_P%*0^;({Y%BtRTwco(9SkYtuCfU=|QdOrxSx&rDh3D8zm3q)9oDMSpxqBx3!nhaC5Ela*oZ z2_3gv+_u@JRzSI349j^?*%rI>K7arTtxm&P60KK*HhSzSJwqH09UCqN2c61N-HQP3 z9|&yvwiCYrQxq8WGGJUg5%74q;R4A`ao`Dz^Qqi%cmm_lamW*xiGu+%aG1ah9F&hy ph~Yq%({L#E5F9_k;q$j~_y#a6z9Ff+(`Enw002ovPDHLkV1lyPfbReR diff --git a/graphics/pokemon/greedent/back.png b/graphics/pokemon/greedent/back.png index 543d241bb939eaaa693dba2087ba73a82b6c69d6..330a65b8e7ee099baea744505e14187fb2a97a5f 100644 GIT binary patch delta 594 zcmV-Y0o5=i z(4?sQK0w{JaYVP&6Vx?{KOhLX{(_n{jePz4cgBvf^C+wtA&Bgw@r>h`Ec;VYU@&@E z?B}KzOkgy;$g;8?&*9*r5c@jbl*LbKz!$gd7e+(8vr1LfY;Ak5` zPGfPt6mZJ25 z+W?v-}#SP>MY5-nd!S18}!h0%$4# zJgOYrb(Ie`&`lD$VFKpX$W@v`_RfB}57e!(v*QSWE~8mM>)aT9!9Z8y(=6x+FyN6Zi2DRAU=1B-KUgN0|EfX>79L$7B z=TG>-(Jq3L#^QV};7}BQ^GlNAxo!c&S3pnCTL)wSD>n*&g}T2>Tw|`gm}KRKNi+?9 zSAc!KYI!yRtOID{tR`NEM^E#SgN)+5Jre>|`R#H-eS+GM~EphwW`akK7# z8UR+=?CGf+ZG#HHQX3}^k}i*GSiu8+2W*Ugfxq2b-4cm$-xVYVF~NjDLM#S%2&ZG%m#pzWmUEGIV4TKq<#rH2{7P?tc?h;&t?sL_bpg)*yU}6Dz6oS-y9ajqc-R|0uak3y{_9S83AB)d%G82 tPG(@V(*pdNnF2js?jry9^?|a{Sz8ehwSq%5}pRb}9a3cJ%e6Hfae^yTpb^$BkWh@mj zwYxx*kAkHFLQ}(hzs~a@;`YFz9e_r>0eBE1uvnQrngTrHl-W}nX9i&LZ3Gbu=}BP# z;?U)%54R$yvj78#V+4|m3ZR_kacXEd1O(tx=NZa8S%Wl;IDG2z0HKQDvXI*jBeAj~ zzQp(3S|-b7wkNplxDd-2s8NM(WQ@R% zpSMs;&_H`H5J(??`=tQV3t*4*$?rlHpt?oc0kDL8aVrbBbZA%u?SUJP*HT61;*QS| zke$s8Sgr`+f2dKw9t?qYhk&y}S5PnWkTYrmIIuph1H`)g_9>;(Yj?0BpD)mf`7F>M zu+s%_9NDP?SQM1NiS$efoGUL`^=&V^fRa5y4b`VRLm-pm_Q`QG)OPON1R>;QJ}E$rOb-BYDskdsNL@zl-Mhkr zRLx5P=>=NV11yNp6NQ84(6Hw^qModR^c5Hk_Clh^I>-D$?}bHuQpR3i2dprwym6+p pUSL>zAxEa6{rBsW*n|Ht{s8CCO5@FNy1f7Z002ovPDHLkV1h4}gmVA@ delta 819 zcmV-31I+x72bl+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0`f^jK~zY` z#gsj7)Ibo1ZA;hR#&_oekdiy6O6A+Tq_%exkkTX)Yf~VkNO)WuVQ)u;5R_0v(9=;N zrQ-eqqN59xq~kX*yZ$(@V~Gx?xRX4OXWn^t*4DoZdsqL>RSW`dgg?%ltJoW>CwsR6 z$LCdqidc;MK%0;JPyvB|sbRI-Z2=onCwe)b^9L<(C<*D*_rQXRs4r+r)yV z0|H%*-m~Zv=bJCQ5pe>!0oXgy=IV5_`M3oN4Tu&w_VH%=%Zz5bqb z0n^DCfge9_ppl?~?pYv^J^uDf0b~%s9@&%Mr7A#mi>wD=3HjnimT=+HpaHrIXHOHU zBA?)iuMm*E!}M992;r(#z#a^NZU>*UQddwf^MEsI0=Te$bDRT2q9+I`rPAwmaH2V1 zqZ6y8uP?CM2XGzPu>x4+SHO|LHk` z0Z(kNu1$lPK1glD(&w(s3&SW<<(1Kt;%T|kGmpYAp(Y4Xr>TH^JOn_dW#Tp(d1rMC zAjY@DS)DY00H{HjXMSVxi+H~Uo-2Tuc^p$TJqn?Y)9M2O6jeSgL9NUH0C6U9<6_7r zjE?(&<$92*eJLS3N2>;aH4%EFaPeGvtAkSM$vVhT0n6G6h+gXg^Lqn%%cXNt#m-O% xtgx)TaTm)$z;3)Fi(p7XC&*v&|068x59iNHO{0}~0)cMI$Q z008AlL_t(I%iWSOZbC5(hI515q*vfJX0tasbm)yb!e9v>g#jr;pOi$Z984MKj0n$V#kNO)Su`TTdP*%(qMnhHv$p>@bWuG%B_K|phtdINAaii;q5?oo z7%dNw$h%NHjm{O6mmmUo!dB4A7a*1ja~we&WNgYCV#R2IMyG+VO{0}~G>6t39-00g*6L_t(o!{wJTZ`(!`$4O9w z2Ms|NtDdqsWq4gMLZ7pB}Nb-XhIGZz!#1X;}_o0HB6WX zq8Cblg#pAFPk-oeVFDTZ$Vd@SeevjAgyRWI7dY>l1b#>n14kS=A`SxnVL?TNeIRlu z0TBR$aWKpll=8AMDZ+Xi3MWp+lPdr^o6a4v+1B>*0)WAv@ch z0Cq$R{&?qCs4{B-sf0Y+__B#BLFRpTm!eRSM!bD-Oy9-SpK8EC_zTl0971H|QC zcQ#W19M9)*3qR~aWgXB;eq}}{qK`04*?;ZUZ#}qQ`h;{y2Y@cIYru1g2f*S$ zz)ugGRa>y}St6vEH>{qpt7oGaj$nk(ex{w`Yh3j0E|;HuA^HNUR{zMH_ied`-HSb{ zo&if*rfCboEUw;a9`nj&n50L(A@!?|(=Tt!2qz*Z=RLJ&lh`bH0gKLy`GWUFTw9cY z^M47qRQY^CqFTb@JYNbo{;%U2#@=~&h|=X(jq`X7-KA;D_W=-*rtUon>7prORm?X7 z?d$6tNI&jfXj2m#18HA10F{CKH5$727>E{-4MYdX1~R;K_Zvuhx!*vBx{ZU-Q62m~y(yHFWOy43GuWq%<2qh5m~1JMoHK(s(^Ajx@dAX)$oswh%Z6Sb6FaQCqiyGO#ft~f#5Y;QqasvUt^L4<+K>7%1w!##JfsAhQn}1w$ zD$zimfM5XND}u2(bCqB?0LX%|c}G-&Q2?jzZiPxPJVh`{U@I86AfB>dlocew03fOB z0SLyMN-!L8w&M>6^Z2K&V7z*>1Dws{gRNk^dS3?)D#1WY0H7`y2bEyJ`yTUc3ho9S;9bY6di2 b{j1|2Hy||AXu0&J00000NkvXXu0mjffxS6Q delta 1253 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 jl0_G00000NkvXXu0mjf39Oo2I|E{5M_T z@b29T>EmwU`Kcaiu-v-Y3t9 zUuI#7gVEF|hGRA_3x-b7;&~RQj(vao!D5~%{3v)FJj?X~;tyUi1HWvThW6Nre|l+$ zJ^$;S>r?r0H2aDlm#a7Oqrd0ZtC#sPBkFqf27VBy*EsXz;R@XOF(4@OLleX@KVZ=0 zxbp*iP|a0>AAIs5<01GEe?IeJ*R6A6dg6m8VC5lYevC7EGe5on=jk0Zp`8v!vj6}9 M07*qoM6N<$f@Uqy(EtDd diff --git a/graphics/pokemon/greninja/back.png b/graphics/pokemon/greninja/back.png index 36d3aed4d420df7abdaf10652d9bc257dd8a997e..7efb0d075ee9394f15df17558b11f67f90c678eb 100644 GIT binary patch delta 514 zcmV+d0{#8*1nC5jB#}W-e*gz`Nliru=LQD@6C)JN!a4u|0nAB6K~zY`?bR`E!Y~vD zV5+c{4o-$HEO9OXu@D0cbm$Gp*h5qdxfT-Ri=raNxKS6zo**b^=zDf-5+_uhI`Je1 z+n@etJBb*L?)BGV%$*r;I>VT|!rOL-+!bE3aeyPdWb5>BgqQRqe>ws|KcX!V3`Dd9 zfq{stAkdA_z>0C=M(7?^Je_YvaG{5<$-p)lfq15di{36VVo72i{Q^?v^Vpx=03K&) z`p)7oGT_^J#Br2j?RY?M$im$tMTE~75%7>PmJWeYJWqFi#8uERh;}}nGZGrSeYwEn zbX#%E#gf3b|MCiTf0g))mczh25ER3JI!xt}#G-!<8cfT&lD-1HLrkQUr=rHnjs#xZ z^|AsuKu)5PpGh+Bu0Q6NvPPfjI00BCfEJ3h#YC+` z239~Z8)%NZzk-9n zT3MksVj~J%RUcm@gw$QsM)LZiL4d2i`8tIW1S;JF7eo6x`HeWNsE4|W2i^i94+AA; z9sw}Gw*mN_(;2eaXk|9h2ACAGKmt8(>XF_5s{XBh0CZDlHC5^)_y7O^07*qoM6N<$ Ef~~gaQvd(} delta 520 zcmV+j0{8vt1n~rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m?~4K~zY` z?b9)C!Y~vD;8bBN9h?kZSmIm&Vj%_?=+GOGv4^M_axEmr7ez&kaZwk>o**b^=zDf- z5+_uhI`O1P*#7iC+acb){#=Z?Goy89m~dD4o9>Xi!cW%@aD<<3oF0zw(|$xpAm~T5 z1%iQymLMM)T967&8wXfQc{)s+ks=pAA#r9753 zR(>Gx;;x@6fISo>D*2hFv+nw1aXHlpv_NteU4Zi>R$xee>;}->1*b_geM%<)>ja>M zB5g5N>yU#L&=m?)6_k$nFhCu@C{zUGqBH_5DC!C@0rb+*ie1wIOy!MOHKK9>$Of9@ z?yg`ju$ES+jo64|5?9s77YiYE7qyY1zGx8QYGA%jVFZCn_rS%-{+)tG?3dI-UBv@$ zfrv+;5>uZ57!cS1{LbkN`P5sQO|$_fMJ$v+ubX=0-o5^(Jnsi|Q)e|PvV_9`0000< KMNUMnLSTZ&9_C2^ diff --git a/graphics/pokemon/greninja/icon.png b/graphics/pokemon/greninja/icon.png index 20ede920723b8bb62104ae196b64e0f2d5c2a8dd..4b5ac7e332f930cf0f4f969e42f11e97c8e52ce8 100644 GIT binary patch delta 408 zcmV;J0cZZ=1B?WaUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Llr+^cgE8 z0004RNkl@S63 z#QJv(kRTcCWYw zN}2~wvGl9#G+kD&E8fV_?M~rk!%GaSEXA5TKEf#JjTerOaCIsQcS6pl)qMY{W`6?- zeO>VJxZs1aCRy-79<>nyz(g$ZAZ+B)VgmEq2EGATZ0FhAPgj%x0000_b7z)4GM`NprNv;z#tE~%BgJGeS*@n z7ytL`(A|Az>@S63#QJv#kRTasCPL|?v4h~9u2khIF(Jzhb0<93Q79-qm2dS}g7`L7 zn2NO-l~$=b(@|ic^{!d1izrk|ysY?CK=H81RlI7aE>C%`5(A-5Tk(8fN#~z%rhhx^ zb7cVQELd(=u2C|=PzKzGepZ_}fv@bmB%6#kgQW3Z$eQp;ei-CiZt%zAcIuu2Ggg#o z>}!_#7XiK>29pk*afaEc@Qwr{4&IDC9|I0;;fd-28U;?aR7Y_?(HDl6*8+D~7x!uQ zDs6>Gv=_*QRo=A9>;tD%hE;YN>s!|aw{nV1^EP!B#}W-e*gz`Nliru=LQD@6E7Wlju8L=0o+MMK~zY`?UcVu!$1_r zQ+|REsjFaKR}K+s|4I?LwO-fXI))9M+GJRbG~CAeX9l3{(8D^qzc~hE#e%YB z3?Heu?1_lgoKv$f#f$Db^G*q{167>}13bNy`;kr%2+9M-e=zN-O3$yjA9EE92I{Ci zR!nR@^9N4Jm@9M2YY_FE$-?$QXPa71SC`NP6^XOYSKM*a1LtWF=0d*Zgqnf}Grqj< zM$hl`a{*}>Vhn-52BZNUQN*FXhY>8T0|w-ii!ZfxVR?yWSOZ~?`8D7EtN%0o0CL1h VmmAa_Bme*a2>?k&PDHLkV1kWB?D_xz delta 542 zcmV+(0^$An1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z?UFrD<3JFGjqHN*98siYb4XW0;=<)BHV|EjWF0>MtxU}!OLW0jG?tsx(9*D1-br^d ze~y{i^+yut>eGo=`H=iRp4oYKoDco0I`Dn}(_eglB!oDI{eF@N(s;jbfIY;)Ns?R{ zK%5Q%k0-5PL<9bzX!Rw3jt5GF*7X67&a(mF%$^Sbf^XUVj_<*eG9Vv;yImjvz!U-Y z0t@JLGtk0=K5)4U%=$ono?UN`@%2xi2ol%=y!r<_wbqu*H+(m&G!m62Swi-K>9{qS z+y-1+5+c~DbVz^2Mu!m*jp|>RNg*9~)*jSdsk8$s9nS*vr()87#i)8jspVxR(eDGG z6q{6vfbVjSe%pg`CSs*fX{pz-bmn4m=1)#LfKAq|UgNX5mc*elcD1;DP`*;_5_L;OV8=k79v9)EqE{<(Mly zzv6zZI2a7n<2~kiAyWHWJxEH%UYXZigX-qY)@}$U+rsfiri3A=NLv1W#T~ajaGoAv zFXT-xs3`=H%gueadj3hTD=6X^V~BV^HdI7(M3u(o9%g)pJ>?;}_~EUKn@hCAS_pfr gZlv>}|4EMX4sygvm%pLTUjP6A07*qoM6N<$g12b`9{>OV diff --git a/graphics/pokemon/grimer/alolan/front.png b/graphics/pokemon/grimer/alolan/front.png index 42e4660fa3daf824ccdd3ce6bf05e4c9818797ca..9e9a32183934c509dada253471408c133a9ac712 100644 GIT binary patch delta 574 zcmV-E0>S;R1*8R#B#}W-e*gz`Nliru=LQD@6E)x%cWVFu0tZP%K~zY`?Ul`Ln?Ml9 zEx`*+K*&8ZB&f%jO+VC=myVq(%?Sm$*F@0CrEjh z&XS}Gc%5riDFf^R|KGAZA1ivjNBd6=03Oy6agTekyFpLWh7cGSe+fHH6N=F%rd$&+ z8YSE55vo%R0EcbO5~6443GU>d#u<=wI-d|PPeQ?fKgshL!GWj^hy)AFMjzkJC;NHq ze-jV|aBmKa*Iu9+f3gE0Au(_!gm^KnE*ijVO~Hp$cs8YRKCQk2jAx*R-8g6Hy(dy1 zG$0jZU7+{Iho5w~S~1{)2ghrG4Gdh>t4e}E)MIuWT@kVgQg!QDvLwu(+NY$=Lu5M1<%J zfKO(G0RY%S3Z7ZmwKfhUCp=M3P?zV{-J?%lkPR?|rA6mzW@LL delta 582 zcmV-M0=fO91+E2CZ!Aap62vr)<%>-D0+q@+xa`l1M38zoJg){VLL zD)I{FCvbR|%yLd-xW!$HNdACb;QKARGqYIt`d45SEiCxR-yNWI)pGd_p`s2?YbeG|yuM7os*G5-czq ze|Wo?9^`TGRX{X^TXWdF_5#&7PX^Qc2){p0z>_T?8SR9h!kD?eG#-`_a=vZ@7D2?o zE;f2zexnXxCoYC3AxgFbQC$Ma4uFKjz?l%@>8!eF0KYW_A5!6e*^DOntoi~lnS<(N z%5pOF-w~^z!|@j200UR`x{}}>`wJ8BU`ciTO9L6G!8YJ} z%fq^^8IV4Jq24e50^nzh(`~@n*T8kDv!s-1$56Sty4H#8mg0}(`SNE~uI>O{mu0z> zjqe!&kA2#FU}OM)Yz60+H@`SpN0i*ShO#?sa7+8fbkWKXpr8-nymqCWp#|4x?m8 zT5JFS0R~A#K~y-)?b5MM!!QsA;Jm@fA`?sBfTirH;!=slRVCk=E`%pyfuX2UmuBcY zwKzjNm`ZgRSd0~si|q+Uq~4Z4caARpvh3d%oRa5u5hra$i{P~bfATf7wDU8OR2)D> zcZ6fjGoVTmSLf!9Tbv}izkLxiKExWLa+MDO9L)Q1Ehju9 hK9e8u{)v~r)Hlq#i|H5DqV)g(002ovPDHLkV1j&6lllMv delta 400 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 diff --git a/graphics/pokemon/grimer/back.png b/graphics/pokemon/grimer/back.png index 280c733fc5912ce15bc52c5c1d2e809b187ae7f7..a5a552c4504e1503ec59bc19e54c149c88f22442 100644 GIT binary patch delta 500 zcmV1hW4LSglrq0|eq_RG;3Ue?AAaU@;0r_`CpZ z>wH9a!8877-unm;!@=0+_Yl~&f&JI;g*E{9&jVmmwj(?Y-$+!8P}TmY4;0D}N-6xx zkKaD9W2k7I4A@(*6>bDXFr#BE5%zMdy-WQFHuJU{KvM3;7nE*h7f34$G=+2lcTtjd z(31j+Hn5!A=+mESr4+as4%(g%i10Vrggzb|C+*TGl zGebL#(nMIs&NMZ;Y*(NSon0}TMrOYgFhH=`)BsNEiC3@Oqy3&lphpbQ0aA~Sj2tqFRdCa~5Ap&*8ze*m35d4UbK>9xcNs@>Fz!xv0{`3a@IiUQ- zC=lZH0<<>Sh|j<^=TYu|`v|axM*Q=82<+Ox;cIw98-V-g0Wc}r5gvwjM5;xo^6=9K za%Bjm6n@3WZy(rmbhJ+b{?=;+3xNo3e2gWQy&S94g}wxvdD{&jDR*-glx}7hh)WC9 zg>(V7D9CI4D2KcatmZblmCTszBpC{Bsx(2osNV#(2~6_32M~LIePH5?)V4qq10Vuh zgzb|CSSyRYc|-deg^93QJJZ#DAlPaSg*cuw`yd{fqPl8Bd zws*9TH9=8$336q!OY@+~v~0000O{0~8VpQ&h(Q z0084jL_t(I%k7deZo@DPMSX(kCS8J@ydw?s0Q{&9(NTsRq$35hYFbm4rvjM*gquD; zDG>h+!_!x|9^NJPN&(`oZ2`5KrHBF~F4T4bos-W5iIC5)nSb4447^{E*_WsRADo&H zlBp?AKBH_#Bb?e@Tw@d%6_fe9NhuB^Ync-S?`A7E%re-=%5U|Rf|D==b+TikbGcm!`e voTviBBHEy%JR)U{%Z~o4Sr5eN0Y1I~?&s1&2IuRb00000NkvXXu0mjfr~rLx delta 258 zcmV+d0sa1f1KI+RV1MOFL_t(IjqTDgZo@DP1yG+Lx=EKHC+|qZJODqcLv)lO2kA(` zteV!8<)KTa0O96ON`}BU3{PL-diXA}PYMusZ40Q?Mv5pv;z4Z}&^h^;AQAHUHM5Tx z1Me4P_Dj@&4^Axz$<&l5Kcj3$BL_p*8)DXu5-G z>(^Yth#_w4zJuWrym>fL1;ZlR&{3YUMi*7}*UWklrw4p|1McV2LzcWO1poj507*qo IM6N<$g5LvpX8-^I diff --git a/graphics/pokemon/grimmsnarl/back.png b/graphics/pokemon/grimmsnarl/back.png index e483028a08854f571de7930f1f653fb7ee16115c..12b6a19e9dfaf0172d913bc4b72388c4867faf72 100644 GIT binary patch delta 562 zcmV-20?qxU1(*epB#}W-e*gz`Nliru=LQD@6d3A;z1aW&0sBcrK~zY`?UJ#I+%OP^ z9jxw}4S53R2^NG=;bytztYW*^VvAI{1MLHNohkHE2hO2FFPE8-Y|G(HnlynMSde!< z{WJe)isB>w;}Dnwf3Pq4^)N{(gU_G4t<81LyD)k5Ff}2USOJu8cnnTXlsYpuVcW4h zR!565xXmZ3^w3>l@G%`E_ylkhyj^efb|D51aRzu}O4_a(MO{PbiH5uZ3f&bChJXPH z+4u!;X=8BxN(Nw{H*&!*Kx_inuf8&n0)1`(HFn174B(?*e*j#b+J!AJ@Ye!J)YMt; zzzgXKprsQ7=BGb^a}s2L?E46~nYu?l4vMA&np;}{(CeTsBtS)DIlqL%K*sVW#$I@^Ttct_cSTL48hBL`P;mtnGxGp_1TF}`w*vx-Z|O~qo(A~y z#=sPZ8X)&^DB>r$QH`^5e3hG+CGN!ve8fMB-$;{vlad;;4*&oF07*qoM6N<$g3fXJ AegFUf delta 573 zcmV-D0>b^61*HX$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0scuuK~zY` z?UKK4+%OEr9Y|Z2EBXZP6C5BI8oV5Gs5NAZE!@zl37~rbpUXinRlp52=;cCE{v!u5 zx^yWJ0*ABBpFZ-VSbWC+9P-QGfNzKCNgO{W9!jJX0qw^?gA&r>Y0>S}ct&8r)7l<) z0IXp!sfQiF5ilGD45uA`0GlvFtM`D$VG{;gfPVRQm;OW@CqM#dfYrqV&qlmj8-Gie z0LX!+obuNG_~YD9tU$4vXs{~U=4hNNg;E5Za%TrIP}*DPT&%2B8g99>=kjY3h#36P zs?*k5W%B?)kqz)NWa*1X9muajx|jTT9Fa+MSV@_k%qhh z3ey(%mVh1!Rfh%e)5hTX2?n62JMu9sKxzWluevZW1^V0odT6aT8NiQW0dRRLAGbiy zZwsJM(`3B^FJvHpfR;}7m>=H(=Sh$OvL6!QXX=*tG$@)57;bF=z^sFML?BSnl%87c z@OMpvLSO`7=RBb#(U}>LEI`KcCWcN1a9l#N0Cz=AOf~SRA)w?6I%Vboh6Fq!08a-5 zG@mk?8XXPr*Oh@W4K+gU?V1p*XILRCe*Q|MP7aE;``{m@B2Y92>zGr-oGq&e|j73%jNnm6dM7? z@Q!+Cd=2o+41fhuwh=3{p{f3mG}a%XD+v%-q;5_ip3#}n-L%mg2!*a{qCpi zvq}IIhjAD;02Cdbe>};~sa2pcTNpPAK|H`t&#vhA02~|wtSN#6V@ltAdilx&c)6ws zhH-(v`9=PIeFuPBl@KJ@1kK+*apogNuK+NOI^%-n<_GzkTma2Hlc9G#zPTxE4X~C- z-$xF4G|3(C93_Kh4Zw>WYkst4IV3t~zVG`jm1-Y2D&S)ae~xS0QaN&LI82n)3LO9> zR=3m8ki%HPse;toG*(Kr00TUQUoHMw?Gop3_!=UtPNmk5iafQ2GbEh?Y_AX@2W^UC z_UO-I=4MU=WE+6yOFP!d2wB{|`%4yulelyYFkSY8pA3BAq;!AGq?C7+(F?%WvC`bJ zpfB=8=@tOTf9+89rgH()ew}}^iw#)-dbb7+2QZ~IK&Ci+{}BA7_CO*GLACU4BF_d~ z^EzBu48Ut7Y32cN#uLdlC{`(B;dB>#>Z#2zL?6|Af?!K?Ri%IueCmwDvjOOV9~V0hPiTFd56`ozqqJJ zR>!3B>)T{xqPznKE0cJnHfY=yIZ=rM!J0&XuY=~6vI*_40*@)B zljUO+^|Jn%6f1`Z+Ue3omqvZr`0{4`sGluQGQY!}NH#S~+N0kr0U~5OYuP)xC%=09 eN+SNFgZyu*T0dnx9C<7N0000_zE$D- z3$GE{A@G5do4oD-z+*zc`61f*$-!4Q;vawmbG`HRoqe*WSRBB#9RXrO zp1u9z%OA53DgjU&ra{~SP;_wiJiCmn0*%?iv{eY|0d{_I6Fmlh;NTEoZ4n$8Q~K`L zZ@=>ZF4q>pFfQ;nKg-{49{_Oc5=eqg(EROlXMVxx6##~`G+>drc_BZ^70}Kz8GF~$ zySu{H0PBeKedLgbv)lpCQ8H-O0=&qn<|jLrL!xu$`+nF_sSbgo0zS3ixV9aY6UWBm zL|LuS0YGAPHw_JcIZPFtD@eUfW2ICFFu+szXz|Z#mpF&R*AiiMDz$!E{urwWO4uQPgxXB;?^m^yy*u&8~MUX>3&~GDIY4M zSAef$rMYK8U*)UPtpJY4q3TWV3g*K)|70H?-~o#XKRP4KhY0}U}m zq@`~YeL3Qq*WrR<1YRReGY^0>o=A2W=KJ7NPi=-FhN#{X6kD3BDg~6_Q)e7r zjzEw6xR^@1Uz&A zB`X4Kd|Cs(Y*LXF;M^H`RFO{0~95)?(xU~00BEmL_t(I%iWSOZo@DPMRfz- zq}{spG@XlFgI?q{8ba?KdYk|mECUTt&;i6~D(t~#ZOd_-%qi;QYgI@SEr(&L?U8EFo6bl z-kk)OCJkqGBZq-dDhiY-_yc8@(tBIYO&c6r8|HhN2qa3i=rvS#9(tcwsrEyHu2{uh zRujCY+*JuKJ7yr7-dA_OrP2KH_)o&76etZ~OG-7x zdApFQ&KcI)E$>nuNCGty_E61j?0q|=I*bXLeBVP=&u~wLR!gb7^}4HBLKU|LNIp`f0xfJQQtFs#$~yF1Q9u%+QsGXu!m(GO<` sS(cz+@*^0bU6@IQFTzYJz|Z;d33)R($`rzbTL1t607*qoM6N<$f(`eYMgRZ+ diff --git a/graphics/pokemon/grookey/back.png b/graphics/pokemon/grookey/back.png index b7f6c6076e0091f7121fcd2ea4da25052afd07b8..83ff2d86984525917656c37b14fe498141fb1e97 100644 GIT binary patch delta 473 zcmV;~0Ve*>1i%E4B#}W-e*gz`Nliru=LQD@6f0F$+|K|20i#JoK~zY`?UXxi!axv) z*DmNHVX}SjVj)tZjZ$avC@oh&MzX>+DA3YUSl(N40geDg`p6ku#@PF?50Fgzf1bzA zKPKdl#$-SbR{gpM0{|TWyd?y7#SbdsnZnco01w8*<4%B3!NnLWe+XCg5CSgf(%qvE zNKkhLLLw-mXGouxK$>pcOQ0yL{NT#LVPeckj$~s<%bKXWPn)M zbNCGE;DXr3_3k>v?>i~?7Ow#3Zzb@lq?9K!LCi5q0Kb<<6R7kG_(DJ#Jw&_>C}pg5 zR_Rp_3)D0Hozq#9e*nrS(^^RLebZt&h0@Np_=1yiSU7r>g(A;PP^ zs4f6P1AGJc*2ZK*0AaKPyj%=7L|tHNxxID;X1%>fnBSwrS}Du}9LcQJg)kE=#v*k!>HQD~g}9Rs(+yY3*tO>!L75VMuIi+ehodGAa^Sq<#rT{-YbeGuFw^CB6OH P00000NkvXXu0mjfFdW%~ delta 486 zcmV5qf(`8X*|bRh@gp>dGr1kfQP$4Cq)HqTE~Y0z3i?-K*3Wg+R`^ zUDZPf zgyeI#M<0;j?h1^>V4|acNuL`aO;=80#8KAy-koETYTX44wz?ab89j?a9GDwePtfT6 z%LSA&KqA|7_z_egBx`HeyXla8Zk5^*00$++hXKB|QtC((Bm%<#_`Nz%pwvs?2LVky z#NrXqnmp@!sh1w6sArZuNZ;!OU`A$HNb_B7(R86L3x2M4Q0uUN(6$91yMl*^^zqaL zuqHH!@Y3`!vjC75;1l52YBTBsSi~E^+t~*ExCzh$3L6z7qMO^h2mKy5>>&j`z=6sh zTu7Q=st&8_I#Ca)ftgaPn~PD4K^!%n+|2}T{mbcW1A32th@{*oA>{c&-a_YVUabtS z&h>gB@2%JMP9+FI6k}2&+uWC~DE>}X4g5Kz)mBSb76oY~LSj>`eY`AMT15hjRFh~M c#WM$E|1;Lf&!(5fcmMzZ07*qoM6N<$f=ck%i2wiq diff --git a/graphics/pokemon/grookey/front.png b/graphics/pokemon/grookey/front.png index d2b7217454e058274dcdd290bdede7765afddb6d..80e69ff695e56c1fdc72f1cce946bf285b19bea1 100644 GIT binary patch delta 519 zcmV+i0{H#-1nvZoB#}W-e*gz`Nliru=LQD@6f!YAbPoUk0ntfBK~zY`?Uk`>+dve? zPd9iA*p*9H`JzH-lNS5AgU3j3^%6x091Q6q?4hH$IUT}ztT+7uT}uCibm^L{v}BSF zy5|ffYpk4=%|2bHLWjKJmhZ=>r|&(T2zjc1P)=JP9nS*vwGK7_f7(uH1Bl!2!ob#q z8@fX);0z)3tU!p?7B`ATR;s%`NkfLy&hGn488)J>sK3UatZS@@3OBg0WIQ2Fr$V?e*|TsUALS zx&ow>rTSe}f119%ql%Sl@2&jN1W>l8N{=$jB|{l|`k(x_^#D!volOh_i)sJ>002ov JPDHLkV1mx(?(hHr delta 527 zcmV+q0`UFr1o#AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ntfBK~zY` z?UcVy+dve@&o^X4O6s7l&eceWAFaYmhm6>7&4RHk1x11-N`{Ws&2&JQv26YWx>WrW z+J%*^0x{Vqb>|`>R$|U!OU}0;G4O_4z8`(>-TOWrd9T+fr>T#YX92oe2O9uQC$s^? z?Y7~-)`T0nJuBe!AoQ$%K#0~BsynPVRPV3@P77L1o9+TYw`tdHgbQC^2(#Qci=!lh zI06`-n)JygPm?I-DfGp~cpcalA7h@xJmyhf2(dn{?H}o{gmZmpATt5y!#_#RPp*Ha z{mkS*&xboBb$9ez144W!CSb2n_eWP1FuOE7qchx-^Ci&BGE<~~Ed8sLy4_8VacVLk zG#M?Fyo>oU2IigE8a?Huo)%)w&QO%)6UN$r5aX~38{{{Ll|e&X7(G}eBh$eMacU;o zc&PPSz-eoPda3FIlnhzQ})d0A(Ah@F=rbbkN`bV*G`2j>O{0~9#X=$#P&009?CL_t(I%hi&xYQ!)MK>Y_I zv|FM1kb{E*c{<2(5U;tP^k&Fcw9}!$(Rd0;Y?@3ZanmW%UJBLbha}6^Q|i|uC=h43 zz#Ig?$p{e9-$Y4l%^*vBmE{~HV;&rU*@Bh8q_r`uYy7end4Ec*opqXnqjR0T?p@(X zwFE@X!SX?th8$-6UV6hKskD=|Ek*?_2TH`i!E8!>i#vc`x8l7(EBP_8YZ5dm$Zt>T zp9cIW!($3b>M&ij0PtK$f#6kFqbOO;gRe!wY$^d}BlJ)SOJNY??u?qHz)R=OmV>9x z)lRdnpZ$FhU_v4KaHnkCS4;ifo^qz{LWo0%Y}qRg$ie3J<_8~seJ}i#?|akGi}yq7 b|JILh@~fJhw0IGNo@i@ zMLUHvgxZtwkElHrTXiSj?WNG$^l?9u?lb1sVl<%6aDjPL04Gu)U~^L?p{8D!G)0n1 z5Q!cV0Bs>kV6v7-bPZq5p-c&-ciu{H^uBf1y(=8K)PT769c;#k@VoZc8st+=9R{Xh`BNdQh!D(QsAZaXD7i^>q~D%*U#?WE3hzs_){|MtL5(Q zPN`6LVZ?q6Vlde&_9(&T_U4DY{Q90XSGn&^!$!RyV)wUxd;{{Unw*?6L(%{M002ov JPDHLkV1ftZk=FnK diff --git a/graphics/pokemon/grotle/anim_front.png b/graphics/pokemon/grotle/anim_front.png index 6a740b732ded806439b87d7107666064b16ea3b2..346593f2c06a02b997c42d430b84b931ce3b1176 100644 GIT binary patch delta 1305 zcmV+!1?Kw33g-%tUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlxX4*zxH z000EaNklzfa><9Kekg_tw6=pj-2!tte$N&L0rC$MwYh0HN4tklF!}7cm z?~mB#`;nyo>ot^&`W8uXDc$@Nr=m`22tK*sI95}+o;cR9meD486lq!}+g)Wy)!=I_ z6_>C!4xencI{^nY6(!`17RTejhKpc`LS~E-8I@;(D-2}#X-!p8Tx(uxDjn(qaRB;6 z@e~dKsFLlP5r3kP;ghV|Oo6)qjps-A75J49OQhih#E0jC`aB6nxo`#q33Ov|0zw$N z(bP}^c^o73P%qJpid9~V=L^l5QPHqr(A7t97E1AUQ7AAB&iNpkIUf~}~MlZK$fiaqYya+@p4iigZz}%wqjDInskS8fLnIMRSZ|A4wQqkFE z+Xa)^i)86>iRh9tD*zA5rF9NK++uc#mS|BoRt3N;(vkxucw9HPOGOIID*<@3XitGDs2zUmgr5RhS1VAM@;<`)(MvrPdzBC;Gdr1kVVg&&h z^NG912o#6-0rYR!mc1lYsQPs>rNcX#ZUf()PytY0SL<$&ajXS=wQ}-@0GJN^)LU)9 zhkyJ0;`Z!R?*Q`-Jg}QVw{N`z7tq+<`Bi5Mh3>$;3V`_^{NEXa7lP!3H%GZ%xjqTT z=FcWPIX(YpN#p!1IG~g%e>-}B`-C4EmryJM=oD+*UJL?aXN}7XM*6Rk*i7T@9T~K2 zV&rB@`f$BpSCnB4eLR$u+uuhS28MlyvwyAQ5rzSqom)dXK%)!;!#)JDKuIauFpw53 zeZEa24I^0Y7?yS-Cq){D%ujQD07Z#3jG>*Mnjo!+-)f&;xxV+AuOHwW$ZJk739fYUx2A!;sZ`J?LW?>3cosV;HI7wtpVv zpKP=ZL)3%R!;T&-wGBhm139DzbL7>Rlzh;G|3VKAt6e}?4{E>F#{dYuoUvzNJ>Y_| zC-v&VXKg*`0mhEF9+0VxmL814G7kfF0&!v%T6!SAc7NWS6}NxgC4}hqLI4~|3V$?2 z0EA?}pxaYzJy0yls4yq=Wm2j!x%VhG#6yh|yYy%&r< zDRzBz_pZ}}(pmX!f0(&?aV|Vh%aEW6aDUi^WHAyGTKM{((_3q^?IKR^a*sVfeSVW` zcC)h_0dx{7#y2N)pg&xK{aAzip>cb9Y7O!Sa(i}_AGk}%44Hi&cj&*8#}e*>T}Ck( P00000NkvXXu0mjfoN-^) delta 1271 zcmVHJhV3#C{C_fHJJyq#J8^7aBW+Cb zC^C%ncyE=6Zop+D8B?$^2EXy~-UJ*lbQD+9MhuSu8!Un$3YjsAr*)nQRuD+@-G;8C zn9*8#G8O0oaRB;6u_P7%RFS)gwDLoS&&Ksu3fu!2JU_avz*k%@k%Ao%ADR{Qc@m5= z!3+oznAXAsgnuw}W9Wed>KI1op;@A79qYUn&lfmnT1P{cMOPldUMR)eMS&D)gsc^s z&uu*7twILe1E|TNRf}4bO~fZqYXxtVie7EfJYzKbcmarH3{I>Bf!rpYV~kn(EJ>ot zI6));D4&;01!sqC<#WtlAd8Pn#8kAG67Zm0TH^r3i+{{6(Go3~)`|q=3bf=v2_83d zTcrX8=8XirdRK60JMQk~wg4y;BtR>^TXURZEB=+gM^^zTNe9)I9Ooy;W)QD>HP5#S zCAwOWZnjl+oWFKhp2q?3j;z8eot0X!m;+~EMIQIOUp;@%qUNrAh+-Myl+C{vz<%97 zGTlS~V1GQmDG~rs_5Bf7YT?0(&1{Izrvy;rz(GYyu$H%J5#kjm?^SDFt>*iFJtJ4J zbBvkUf4+3Kr=dda003VGqU%Sd`P=p1!%pJ|k0%%b;7|e-QipvP)dR+!dftAeUIE}h z2BK9seBH0G4Svp)TdDRmp+1Gy{nW5M%}+7uR)1XIcLTsPI9iIag^BJr5^A3-D*TC-s&dus(*N8mO%YeGEg@Z}p&$ zVWe*LppRiBhdO$YeX`y$3|SA754(D>*f9)Q57dAj%#t@>Q}R&{{trDksP+IsJ%6bE zULOTOK7H=DMhf*d=3Sd`>UR~aN=y3L+bw_^3A7(CJoOLT$OOT)iaDUi=WKj~8TKM+g zlV(x)1$PnW?r@JjKY4zgX?3%`6asV;YS!yxI?x|3z002ovPDHLkV1lxyNU8t; diff --git a/graphics/pokemon/grotle/back.png b/graphics/pokemon/grotle/back.png index 320f570aa98785add5010c8065c061b0366506d7..fc50b939cabcd2dd619dbbacb221eb8c9a0bbd8b 100644 GIT binary patch delta 619 zcmV-x0+juh28#xeB#}W-9RLS(Nliru=LQD@6$zOwtZD!N0&Yn}K~zY`?URw4K7X=! zKi+-ckxr7A_@7Ze2TaeN177_-KY_XFGnPrqUmGJ(CMBEzd3oA+GJ$hgzzL8rI4ehB zxpoa z;J#-xR;WqiB;=vM=I0h0*&`-WZ8WvguggIc@ix0Q{%Gwf{Xzw=4lyFgyi?{yHENq^us~+<* zdZhb9b9xv;S|AQe@atXFP*`BNM8MlDh`8o&0)T=TRnlk-8W`Q~^`jS=al$zFfOHPH z*zT*RFa9`F%6qltcYI|4Mt^8QmD=ndzJI;-O`2B7l{C;sq9@9+mgpWY4*PJiTd`8o zbXadBqgIRPe#{QL@ON#w^0Ah^&2Lp#ef!u%K&VJKGg9j6Aza&}I>x+ed;1Wwt8{Y$ ztc?W+cnPyg&q4<+_{LbUfRLtx>W-B@2H<$<+8YAp3Unm(QAdDtZ$M)0AM2Is^b>x3 z-t2QW+_%J`XstW#RHkmxnX|v~T)IC1pA%y~0x$7T;wR=+_!XF~Uef>o002ovPDHLk FV1g9G9FYJ3 delta 628 zcmV-)0*n2N29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0&ht~K~zY` z?UIp^K7SH9};JZ(Igz&R}7 z1V|X1l_M}+Ah5J;MqoZI;|>BDOyNAH%QDSj%9itqlQNxS8lV{!051TF9G0fZ@@xqv z&KD8DtO=}Qf%y^$E>B!6JOMx(tH%NWi$Jgp%YWCVL`jpB=kuE6h?FD%oZvFA@f@Sc znzEW;KuxkyBmq2Qf?i3&%u9|G4;^gE#Y!obSpeZM`*bAey^?W-lDveh0KeD19~ch+ zK;5`87(u?kea~pDP?N?D3@^csxKq$3cdj zp?|;Gky$M9`dzq+FoZ$i7)U5VKlu`A*k}z9=741{KHNH>v?Vgp-ffgA;i4cHZ~Zs3 zuz9Yodd$n{k?s%8>17CMfjB6^uXj;HVS(Wi0dKP);+nq+019GMNux1nV063Jk6vWP z3FF)Y(mCK_yRV+U`0Gq5@70#y@s$A>p??KcYO{a%{`J;3X<8vy(m)%Do+!s!qIMuW6Z0z zw+|t^N;fCK+E{RamoTgJEOgL diff --git a/graphics/pokemon/grotle/icon.png b/graphics/pokemon/grotle/icon.png index b91e96157391688dd835b04d66f9c9171af1c63c..c6933d1a3b4cd96e74f07bec6f8ffb41e3988dc6 100644 GIT binary patch delta 328 zcmV-O0k{770-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Llxka83zd z00032NklHdUM<2ECcR*=V5C#c$b7xX`_no26VVgEM-+7Cu_bGJ!L>_4o!vV1& zwIav@sd`ew!{?!*#r^GOQm?g+VMFUXt5kToiNAfT)uU0%Aky`YFtzNO%aaI37HIP~ z;zB&%fAOsUXF>fW7#@Rp8iCR62n_xPnCN2wGx&&LIQfWRG9Mpc+T6z(Ozz_h=Gq5; a$HxgJMb(l=Zq={=0000n^s0zbuBQcMK}s12 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 Y1KpB1tNnaKZvX%Q07*qoM6N<$f^!C?SpWb4 delta 364 zcmV-y0h9j21GNK?7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0W(QNK~zYI?Nq^b zgD?yu_Uhd1|Nq-cA{{FPdf0p01?LtiitK=v<*uzt>jLjup9ooX!l@7;DsoP#frHTd zgfbiyE{X6wc&X5OK*Q7B4^CFX<10H+s}8pl1}^Af)rgC*jRw**;DD-$0Q%c#s#)`v zz(`26<0K^4V6d8h2*pi$iPWm$p|zGkiE~~?Pr;HKPYxNX&`2t19OAHJ;w%x8EkI3| z;JmpQw&Jkqw8*1YMU5N^#tX24NhV%Sukt$29!yrS1DumYf0Wstb~KCr(xd=Fj^jTk zZu}e|o=JbRXV>OBqB#BjsPmfO2?IWC|KNw4uJF6A>JE@g<^KYtejgxp2oUCj0)&ny z0iwWAfNUvw8BF#_Z}A9ex4d{BUF`LGWVQ-FNP2PMc~=fe|-R3vqi(AvHL0000< KMNUMnLSTX!WT!>| diff --git a/graphics/pokemon/groudon/primal/back.png b/graphics/pokemon/groudon/primal/back.png index 0185f51f8f6c31238c724ef38defc1a8377a3d62..f8d7ba1bddd97611358d536bbcc69b717ef7940b 100644 GIT binary patch delta 681 zcmV;a0#^N(295@hB#}W-e*gz`Nliru=LQD@6*<53oW=kE0&z)1K~zY`?UlcZ+dvS; zr8l@;?EFy-=QCCwAnwvdo;2442am{^z;cEB8hM1INFy#BHptChKwKFF2QE^C=p|BK zmjw0-HJe#UjwM;TC%7rKKhMlJ^9{DFhv*2-?IFJp==Dy#-tgWGe>2y4(fw|_kNCNq zcBin7ecY(YPcl_6pRf6{dO#A|CH#zl-&BHcdzP-|j0V|j;o7LI}OcORhw*vD!a=u+gf zBm@9=UftL+E(0?^BGil;3{MzG@G3i?8IuM>Y-TAD7q`FId|xAQi4w@kN^f(*X-i*)1ibw=(jFo9Ildt-8N>Rm6;k<|_` zhVLDV!|GtseqaD*ikw<}de>6=nPtgJN{UAWHbO}UFz*bAMB+N=c!s(Hv_3z3(klD~cLavK$7<~}? z77DYOGPw#G#v25{zYUQJ%{B`_&0+Fdj2do>|JN9(2qqw4RGUKSSlR_k2>_TwVfsBF zNsd;G4N_%>LE%*^>`aGecB&S%8ITwa8-TH`{$UNi9~VcsS$Gfsj%EA<154A=L~f}R P00000NkvXXu0mjfgW4|b delta 688 zcmV;h0#E&p2A2kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&q!0K~zY` z?UTQb(?Af$?KjA-68@M-$we^_Ksq{-p}7VHWh^d2T3zA129E#*jdkdBmYik}$+{9* zLP|k_@Jmo$2S|H`n`PE^6x*@y1z^hfmv83#X4d*&UB$UQ=Jx^p{>i*QzE@%CI?uYl z+wKE?E*ISr_W4r+pj%>p;4HU}jJhQpX)5ZJuw_xuC6NonLdr$EgpE`pM$Dqwr0x4a zYwh`hsBF?Qj2u=@Lg?)ea7;C4)H9Q0^@JqLj|x$ zYUAtD;{V51$I4SL+bx9%&D>g_OhRN{0g2V!lZEJKYTpuw#ui+!d!F6&vix zMcA|20mksHV{y1TTD0dIfSD$z7M~si=&z*=&8rI?%dP@tj9Wx09rNg(({GbwAg%%y zyJ~hYL1m$Nwon_8YNRQ_T%rRQc)pKx(j^cz0b6a%k}xZO0STu)OY2_;K+v(FfrJc; zX&C(=4kHxDX4>Q~D2!JKfPWe$6`E}pfLg)qrI^%!JcqK!P(?5U0h3w^<;Bu2SV{oE z3W}pY0Fvxz#n>=aCJd^1wZs1C@XSutnl=Lxqj3W;XRE(k!*9hS+^*~I|KBak`U?X~ W)6z@v?V$h*0000d zpca1@LDc!;5hR^+mLO*Tj=d{aVG~dy2NV)Rrpt9kZdB}nv6?MY*x=H|>2J6i%P-~(EP`42~ zyUiL3KwIAeXj-kw1xQ=mBCy+RYoJ>FEk=KKFhs4T(w+o%Py9Zhwc7Yy2fMG6@0mak ze|lfo|0sPKX5Rt4yJMegsGz zR6izYfLO}j!OxiSspnnX>?^_JXu-Z0PyL9y;DT|`>cpL?q1}D;W!z935GsHCvRZ%E(|fuYO;zw4xokcqGWV= zvcsw40DCtJBNSLxc^wJ&v66qNMFfJWdrqwZJBcGK{8C1Vm_Q1+)e>|;CKv^^sO^2= zg}7Q({iv?Tn1+g+6pemgR+w^QTb_5GRw*ILszmiE0{6qkl6EaZ6a@@A3&&|9mqJ1) z?VMpYym{g(qa(=-h+^7txGr{;G!B00*nS-S`~1 n{UOFSsfbna#a{yg-u3wpbaw_fPW1Nv00000NkvXXu0mjf?q3v@ delta 1149 zcmV-@1cLk33E>HlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1UgAXK~zY` zjg>uX<473CtrQ3DG;7%)t!wc7z9)jH^Ti`bI_E4w%zlo&D_3C?P$CBu z5<{lTbw+Mf?17P*EmPRwGR5gL+%w9{TD$9TGldQFy7~q{(;96qK)T`vf$erz1JxRC z2(pDKY8{mhB(MkK_W`Zb#d96(p-#RR0v-PJzO?&Mnpkj1z7g5#c01ia-%IDykA?-t zP#3=iwp)J<-iG0=jerGT6I)FUT24ui!ER4L zEKUe2{z)XzlTUOI&&mV>MHI|{@tp-bejSDxkT{>J(ExyFDqWg<2OKB{{%kHoBf&K& zm)b~(1!78!Z!S@Pd~-wOB2+nWvX214G=yJEjPESQ8449a_7OOBf9t^ONY4Yu_=5^_ zp9AP1o{>CI`h5cmgqcXo3x35tac=<=qm-OP{+-s%Y|W0E$4sCJrtp zy9m@4_YZ)KKocg;5CO%elv; zm|*BJn!JL4$-6MbH0$Yo;&A{YOqUg-&x;+-9S7LEIE+wWRp)&q++!_O%LoK>_mo;A zc9cZe_?3(j34si7>lNsOOfU;-QQP~#8*y=8_oJqsU>Rz1S~iA5Sz*eRZF$~l)}@rB z_Z6zo5x5;MSF~>tq9|a{IGkpMTnQ!h{!OV9R` z=-7F-`(d)`yC3$1picjWU_>S?_!QOW|-w)Vf=uvQy--W;nz7N1kHW7!8x z+4r(SKLXew968TT7xh&{hX!SeAI?5J13&b4dVF3IyoFWCY6Bew=s9`@1neD?AEq|C zMqqM(5DXG`?HQ<8J5C@!0)KQ6U=?}&nUGpwjBW^#IWPnh0Xg?d2*%JDFdR|hCyK=w zrjZjU2$dl?jNgJHQRrww4_WR_EqW{Hj@aWpnppPl&YPUT_#%C!vM0c4S?tHdb)a~+ zyiXXJEcf z0003zNklzEWmlZ5B%YUIlJqopa}suG^Gxz(uby*f{);$Hx;ti_ zOM3=F2p@$1sDreOk0uqOBSY9CGFz3gSZ&kThqi5zjRo&(2HXV%!&ZY{M;t(peB*EI z5&7`?rV=Hm3w&gF?`Y)Kw__oUiBCU7h#B^pC&JX1MZpF!iz4;80*Xi=%hY1iH(9pa ztP8_sn4bOh^B=&N=o=VJvu|MF0tWP<;I97y!*K$m^!5TKI)U*%HfJ!z%wTGq!GH&o hBx2zM!GrlJA0Om}I002ovPDHLkV1j4lugw4e delta 350 zcmV-k0ipic1GEE>Uw;8VNklJ zl5Bm~6q;;tLL7VZ#c5MocVz%^$K!iH$)65Fzcmx)O$VYGV-7I)D1)?&8r-CUJA3ubU8uyYWOx5S2^adb{BJo`T z20%K?gxB<4mRI@B+A#FNeD>GpKM13u8(|>LZiLZiVYECH)D9P6D9pkLxjhRL9ffgz wY)--;wFpzgB8+yzBnk8U0PTeFiv58fU*v^4uJ2LNTL1t607*qoM6N<$g33^#$N&HU diff --git a/graphics/pokemon/grovyle/anim_front.png b/graphics/pokemon/grovyle/anim_front.png index c488a0aff7181da45d3a9cd53276688403f7b706..2b3af1097a2eeabe960276cf0444c3f67409aeb3 100644 GIT binary patch delta 1339 zcmV-B1;qNC3!V#*bbkN`bV*G`2j>O{0~ZE6q|deh($3T%=M= zzUV9`#dSrKj8NAIpnje}9^$|jBQ_vSS3?B;N(Z>ILMYFQ+#s%|LApHNZnyX8Xw5>~0Hd^_T10Cb640|87>+|* zCT-$80J>>8gx~<5N4T4gLR)IINyFSFkxj$tv>JS7u!QaQc7YG{HtCtx4gh4D9gbh( z^Mo%6*?(-4u4&p&NxJ;UafC}hxuqO{j@dIG=UZ?0IPm?S2;5W3N7y~ndB`Ej%@e&P zNk=nY!hM9>OSdE}L3=DSzavH8ao{~;`A-GM8&4k#?;Nq@27!R#Qt086j#Zuv-R8h% zyUjQNd@=PZ0It6^OK>@49==H4Y80!s|JRJtD}Mwc1PCXbdJCd->0ezLlu_(2&VCc~ z=wv84n&wdiI_7>mRlMm!QZ&t=Q;c9XPY(3K1-36ud$~lQV>Si-o~+>?ctJ z%z;GeXoibGJ%l<=@|~-s3r$l%FU|I@Nrh}=7w^l4e3{hxwHglMVlxG4G(XVlRomN* z7=On>eDE}Q2&u+uEIgOgSP8`^7fANM@xWC8#LpXq2nm-MC&CB~L;PVB@_`TcK|m&5 zaS2j`w80kVz)J(?`8fQv$F0zO-cA5N6_<~u_G}iXlk1783Fd?AiP;iX3!rtnANXi) z*Y}0Q*c~K8(UNE10{cn;95Gaxxc~^>Fn{)$5cn}#Gxq$es`Tr@g%CKO0s=z;;Jv~W za{=&<(ntUVn+yUPgd!k&7f>;9{VTOaz_mX)xXaXhl+QJ1ba3n-H${Jj5@Q!$br3*D z2`CiPTKig~h^IzJSr+{`ifetAdbxtU-lC%LoBOuHNnpgwb?a$sxA}jwV4LfxGm}HH#e>m8(Qa>5{hn@#|bL zybx@?OM9h_ijvZ6V;ecn0c-^*7+^k~yt$+_TDE%m&7*->q*oFUl#~{p<>_T%AVUlZ z=og)ny$9l4FmASY9B^HLk1T#RJpwidDBa`+!b1LMP+dS26pZQFh8qY6 zI+ndJ7}S@JuYRFuljM*KLF~wGLnMhuFccE!SS-e}DLg*WU`RT84p;6jn)qqWzrGHY0K`E;ULR>qY*kLvh zy)xm2J+bY@OcEs^2tO6!?*B4KF$59z@BkoemqL(eB}8Oqh(d^o5aKm|?!?6q6LAy$ zlmU=k0#@OVxBhbn&gURPtl08)S_j;G@89Qg6o82P=l92pAX7d)Pm;%Mj(nBQ^s@wj z?1Sb3JV1Br5vO$&&MtEGf7~IF~@k(Bukoq*V~% zXNM6P2eQMtN`Bh{j>xaNA$O+G?_DOzLY9f0u{+8E*Un&$$ntXY6g#jeUd)~4bq)x} zgV-hfe6#s|aWfjs;&>8f0UQq8IClIu0L%pw(QGly0)L7g>MV|zBLM!4hp@7Imi;P9 zgW9Uf;>GD^vw0tnSHd@SrazBsEvj~O#P~%Dj3&OR&;2oMHA2Yo7xt%`>fq(8-l7;e7zxOKT%2K|Pe2_MqS! z3A_^`{fS||{`|6_=R`yg0C)nHLLWxDZIo%6DS`E7lSqKc#njIMu>Mveg5{7n@F3|? zgL441mEimifB*n039A5joG;wFJDm#-=Sy)Ent#KmBV?(n!vW|T<>M4PvpK@5s`D8{ zFq&n8xN|tZRQ2TofUeOjCn2#Zi5GKS<|rp29^?Qbwp85)pcsNoqIBotc&@6LX_>FR zZ4+ON&F%Awkz6K)^P2d>aJ!kjIJidTMoecnV-k8{1pw9U01}dF;1Dasel36)GV6hV zXMe-&$VIsyZ%|rG*i^5%uc0+EJE$^4>5BZjfI@rqC7=fFRNeO39MDu|9gib#d)Nxi z<95Q}RZ011sz#PiiTIj{FKU1j z0V-3q@%GJoEyO3azz@Mn>~yNK1pejlrhgW=oG}27KL)vUzJ(OWiy)V8IS*<8Z=EoY zd&hS_0LfdA*8}&zWG~$^aPLklcNs}%xl(h+m2-!wDY{o6F)2!>l>j)3$I}d?__oG@ zObw2**q+Bhn6H#@CsmMF8&DJ&V$;G=iLcoJ6y)jw6a~zd#cYsIfkPJ@WqFYrNPozp zIOh5HtqvJu@$${iKm?B$xg1JsXsL(|0C+ybO zqk^RLJ8+DgrT`oTAQ;SezIjtgX|zmo`_;if+B8*)T>y}j7To3W?bbj>5R!pke7pyA zsRvs7gg*qSfk=PA839RyG>vv39)Gq5;wy%U4O7kRbj3K+J`ySLPWl6+2fxrtz}413 zBG$&zFO3-`S$;R+cQhZcYRJ#`eFMA^}O9V$+L<6&Yp+0*k|i(f3m*}cSFY5dK7T+ z=V1zm3@R3l2?Rl~Orc}|P>o5rbm{E_q}YcX>=ZjR2to%$o!=KHBLZ|8Y2XevmH-WW zQb+)9Zi|gAK<65GzWse^2~eL%V3ot!_K9r^5*4g!z@4_3rJ@X%NS+(815Ns=^V5?Bq?dkzw4EFji^!-2@2 z1m!?}VFcS@W`JT8FcBtzxDQ054m#r$AR~+eaW5mhd;o}ZbgI+P!3G)e?E5*60uKx`VOe;y6gnN z0473NRZvQS8WKL*3dp;RNnP`=QQ#sWX(TfukeA)wwg^Td!4Y=#Aso=aU-S_IZb-~2 z3rH344?i7n0asq14d9cM$83$^7DQ!q;8X#t|4qSf<0$k4Z*G7qP{3>B@P7w4qc<#FwZyJue#eQ;Kv800000NkvXXu0mjf{cG`} delta 569 zcmV-90>=H91)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z?Ub=jgg_96*Ld`&_yWg00W1$da)>R70d4GX(B$kqwz9ME8LYK2G2tQXB<3m$<8^i# zpTXH(b~#wM&PunsFyH$au)Onc%CXo%6=o(N}iFs4$pa4NEx(*7MSDZ** zv#tO-5K9471?%13t|O3<2A;z{2LVWdCnI7Tcq$D6?jV8ZFbqq7G6>8&>MaKelm;-< zfW-l0ni>akf)PxIk&eJSxiP{3&_obG(CeTx4goSkKOh`*MtI)ObQeb^3hg6QfCZ{fERiSk;%XKm#A> zBLr-pG`CD4Qotwv+UEkcY@Z3>E6I-70>e#+%4orv0_I<3%DZvsyPh*{fNM~|cWLpj zgYDB@XQF|d26!pa@HDpR%ym$rZo_d0h;fu>QsNIBLVf@gJue#eK?gl800000NkvXX Hu0mjf#N7G! diff --git a/graphics/pokemon/grovyle/icon.png b/graphics/pokemon/grovyle/icon.png index e65557f333c6002ab3d1a77f2c70028af62818a6..d48096e170dab34cbda414cb9328cb381dd2c713 100644 GIT binary patch delta 341 zcmV-b0jmCn1FHj&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ll&0^K*jv z0003FNkllp?R zU(!c<#{8uNe0nE5MhNj3A!fwXWDG7b+C7k+^OBa#mIm%30e?WtRt4SD$>&#@9KW7d zd1h?{4*RQZyK)FYe5hTymk=go+Ejpy9B$EntF_XxnWHOe4eXepj2>AOuwGK6FJ5dh z)0Rd9&fO^1v^(H@a~E2(s=@+iyZew02&vQl+fvSCOx*vLix nS%DEg?h7AiPkg+9`7j?p9!<_IOq@QX00000NkvXXu0mjfwlt4T delta 304 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 delta 195 zcmV;!06hP{0-FMmV1K4bL_t(Ijop$l4#F@DMSTM+7a*6SL&d#DRf{q5SPXS+)~@qRornLGWJyWUL5`6YI54Dum5bHaA>>d6jUKWF5*@)7iOO z@kH~fZ}(*i{Cw!HO##7jGjvDwF!57=@r+!9-59~qs4fsEMm&$9095|-gZ^3@jl%+} xI54P=120!jaiDx%$RiGrya?7f=(fL&!yU)&eLd)ZWlI16002ovPDHLkV1kI%Sdst$ diff --git a/graphics/pokemon/landorus/anim_front.png b/graphics/pokemon/landorus/anim_front.png index 762c5cd2e7c13356732098ce5d992e10fba26d48..13b09deed618ca7ad9ffdcdd4e885d5d52b285fc 100644 GIT binary patch delta 1444 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 Hu0mjfTD@sR delta 240 zcmV^jQVwvd*fJD9;v|6`MEWi?Cz2iEt_DQTJ zG-v}5i4yc`!?{b+L>U0!fB79@h5~TlsK$C%1q=?c*jId`0TXm>z=$0gr##!0fwBP; zou^v_R>usOT|YNcJa}9mZlNbjr3b|A8rHKtU@wF3iO*AaR~iIn&=(AgJp3qJ6*XMe zh%g{+rNdn&fL;OAMTREr0TI=srZ*7Z$-Y;=;wg@z<_X}@rM-F7pvBEjyQ&CtATr<$ q3g-C-$Hg)P&=kPq!RG=2k>W488lE<_GNkta0000e1WE)M@;E7YNS>*3vB86?ByLBmC)sK2F+-t0TJHCqth@UN`7=>t2%fVJoEv{U z=LE(>j?#5#3>r?OItDOI4TdQ?26HIJG0TfWrF9O4IWaO{W`*>5$TTToM@ThzS}dFqF|yFNUaWr@hr{APc(an0-jR3Y-U5XnYU?TqPmmW!1Tv*4&*%`}mN z)!S;3x_;?9M2TeCOJ8yxSmVKinDL?VF?P3_Jt#XKKlFoUf)HCHWU`qdsiYlh$bP4M zUwn6wGP^-rocL8Oc{Z4-pc)*XTK zl*w*GF$hKDAx827{{L@#0Z-4h+f^2oN}?AjTr(KndAiJxS=<>W5HLqh%w5s)GI2+V#!YGw8IDpbBn45>Db>0uGCEg*ebrz6_ND*@G|W3xOw58Wr}}hnNyCbPik2zjWD)J zQ^jp9g|&jVmAVQ0+KT=e&BQn5+g9u1y6^U4blJcCVxJ_82fq@gBj!e!j+iT924XIR znTWX%W+ljxFjH_L%z~IRVJ2d3gz1R65~d^ON|=tA6JccGgCb@p%mX0Chm9~}U<+a% zgc)z>ikL~56(A`qVw^A=KsLn0BS0*|PXGa8J_C?1YDgh8a+P9I00000NkvXXu0mjf D)v&|u diff --git a/graphics/pokemon/landorus/therian/anim_front.png b/graphics/pokemon/landorus/therian/anim_front.png index 2ea9efd8b50470c159e50f23a58933af985e6575..456f43e4374a735c9f12b251ca6972e851440d55 100644 GIT binary patch delta 1685 zcmV;G25R~34TcVoUr_)Fa7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&)QvtQYb z000JQNklHt_6u>E>BG95k7&$w0vh`sp1tLxgpuvW`N2#@uh$(-~C1Vlv zZ|Hl}7b(ihEs=FUy?gihei4MZ7LpZVS(77bW@*0)Z4@GOXF-1m`yXz)A0rPJ5E1NO z$*)1zN<@7a1nx($KcC+!7V{esHJI+|hK&8Awjtl0?-%p_w)r(6FvK`~QGP<)kB=7v zo3eaQAZ`}(t1t?1UzXvg8?6FIud=%a1Z@GPBzRz_3OcJPyOIj!E{CpCT}515jnkXeSEtS2b{-8K$G*+f?W7QVQY34A;`5%sV*Tk0}Pde@QeSVQ(jFr2&4)3aedw|5t zk7@h;4`29&&KQXfuLoRJA9;a#>ten0>!1TWL3sC?xA@QxRCH=Vju%wt{2z|Z4~P|5 z;8gn<_L6rW0m&f;^^F%W3`TGfQaq=ocpE}EIS(Mj^(uj%BQSqdQ+6MKt`Cs(^K_i1 z>pBjew(S%E*M1;v$7|_0bmY`DIZ0uje|pbnxtC7p{i6Z=GSjqs1lPUq1y1b#k?uG+ z#Y@}n3+udN+i!e;Z7WUZ5+W!k*ae9MfVZ@H1QC?)vFke<1NnhtS`ra>_sMxH{A_=^ z>3P@k#&*sP0fB$@PfowC{o*)&z=5w>38r_-H2b_t0k9Q8DoufR&doWqT!8IVnRVja z*ost{0*MpHt}-*nyO+=RnPyd59HvzQ8T|CyfP}3KK-y`F>{s!oJGb` zT{U;9ITZshSk+>zvFkaT>5YIW1?Ne1hg zl*~d5@6_hogG~1M>t#SAnrmb&a(h)ih>~H(T2{Bow^_2h@{7y6rvh+yX?I9g)n$P~ zSpSz92KIleE29wdZGs`^Hw&(eEFeS~`>}jK4sEDvP(fDnvOFrkTibbgK{Bg8JCFm$ z6v}@^AjZH};T~BGtjzp?EL0SaV7TdQ-2xO)FhnHoECiHr5&w9y00?^2zxUN z%iFSO|_0-p&(Wz@UqfIe%DscvdEYaZ7)5{b30(^M~6mfftap1;pw^Fi>+S zD3GRU^C2d)lxkS^;rY-?z5_a4$oN!p3=c6C3@-qsRhSsa>`0D1>0oS1WMUxGOX>pp zv&;yn8wv=9&p^aFZPI8mGg7HqbsZl4HLrn)RoZGtqhLzSV|0+G_~QBvgbg?XX%2wF zOe}w!YaRn}fju>w;rs%<(BuP95Z{`y7yMK`$RdCd-16^L5CQT!%bp$bQ|bb3tl@8b zAzrljAq?D)Lz$?W0mBetgBH~7CU1kpXw?+fa6gb3{5u#lzqC5KTX|aZh9R=SXS@IT zKhT^6Gl|`rHw=;OcJ$T-coOVHG-LPpoMC^67LC_n{p^vXq!H-&s(%a?xXhcb<~S-L zsd;~h(Mr`MxTlzZ`mNZS^9PZ}OgJ@h1o-elUDHqe{vcG+I zJ!vEk~F+%-SdM*iR{krJ56Ib$?6%ndIks=5B)eM}^FfC^#q z?of@DG=m28pzHu)g2Z*5-!)ne`on`O=T$ilLqFx!I$huo$*U^`ZkSauv>J;o@CQ*L zc!z7QK`itK{NL0F(3OS$fIt%OCNnv1eYVPtz2NkGc?_fb2etC;FWXo`*TIL6& fu}7A>L9qLOuViGq1?Xkd00000NkvXXu0mjfRFWUE delta 1660 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 N002ovPDHLkV1kSR3fKSu diff --git a/graphics/pokemon/landorus/therian/icon.png b/graphics/pokemon/landorus/therian/icon.png index 5dbe0c93d5ced6526825cc1e1f7e827ebb897ac2..eb03117d926437042c934de32f94aa0347311b72 100644 GIT binary patch delta 480 zcmV<60U!S51eyep7!(Kt0000?P=%ZT001*kOjJc6A|;W7Fn=+Wzit2k00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1u+?M{~;Ox00C`DL_t(Y z$L*BOZiFxlgb@kYxAFTwZO1m`2Pi#M?PPKJ|+-Gyl5`3{Ts(`Cl8f zT8r7~aybju^na`p789X{upCn=;^&o%v)t7TMIn&E(t?~BR7Gh4Vm0I-x?V+D0#!Gx zg$`zrGo)4By@Q+JdVyucY{5ygQQql5DPd6GMB6sIDx1*2oTaSAM8P%sxkdPGr>z=d zhYT~GER}K`m1SI&*}!d5ltVZ7*l<_yzHaj7#(cR(?SEIr{jYBF-kuGW1GV;JQV~Bs z@1J_cX$>Tg7xaY@GU?o~RDsX)sAvPr;E2XCFE0wf{WZ*aczIC)yy~C&6FAtbeta<( zWb~)}`X_!|0b&<^Tmj;ii61wBoa=PM13)HzJOTtZLhc5Tkspr$*(Sz40i^Te8-NTi z_#Ghn20;+bdILz}LDBDrBLhHAKA?Tz!G{1yOl*AU02%q<=?^~Oi4PtHKkxzn&xbE2 W-5;d#`x)^70000J&61my&f7=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00DeSL_t(|oXwK4Zo)7ShW!Mw)E7XdLq|kUYPPVr z9bxJd1SK1&Lgcpas!imH@uvbQ%AqE zPtMWiq{xhq0NLy)f4cRuQT~cdk_2FJl+Ib zT@^KJFKYKifmqL{hBQ|`$-3C*<#ay%)XJxq5XWzM`f)$YE6oL3fR`A~uFDUh1-pBo z$~we+dvWwTNEbQwc#zzRF}6Q++tOrc*>T2+>5H<8;&f8q?P4z;MMe9n?W5*6fZ zfiH-teXiQF|VUkBRB9^n3(h0w3D*arQ3)9|*~JKB}Md@db!8@!q!K5M2NO N002ovPDHLkV1ivT{HFi_ diff --git a/graphics/pokemon/lanturn/anim_front.png b/graphics/pokemon/lanturn/anim_front.png index b84c0a77fdddfbcb6fc80656a46ec76950d80724..000127ce1a5520183e7edafe2302fea2f56b6b1f 100644 GIT binary patch delta 1077 zcmV-51j_r#2>1w)7zqRe0000eJ+2({*dq*==i=b^GemUK27VRM7yFD`2uI5V>=uXyn&{>tUtbCYrsI6TC7O6?Yh zaP%3sBA}{vb1g-5c_aGMy8jg~RMl<^fXgmjPXZWYI|Ax-40vMFIuXDY# zUX?H%0B%P+G#o}44A8=r!8;3)*{3B!MDR1 z1#rldC$_pZ6F7>yqXh5-@CfO^mwT<{J4t~&@ael<9T#wSasXbitH-K(r=c>QBQ9s#skUXLv`S9Y8EZ{~9 z0AQc_sb}2k^3f=o&f(ORz-Ry2|&=L~-i+E=~jWRqUW zn-B;mD1Fxkfq!#i-NgSB(^J>j2Yy%%%woH|M8#fC0Hfg7S79l6F#82Fr0t{Izh)Ih zfU%1H5vW}Yq*qqY0EDcdUCkbxjDpc7DFFywb?MsPm4HFPgF2cenVh7j6Q1Pqz6SWI z0`k%hcN4%%0c!mw7>s{g02oTZTp=j38XW%5j*u=|vE=kuVxaO$H?>4^+B(2C1u&UN zP9qW!hg4(>Wnw~d;*-A-AkYU1C=(Nsv&K~fpbs$+o0yQCw@Pxv`6p+HO)Mih;`o(7 zY+^hkIRNaiS1A+AN)Gox4~|kMmX#d0(};oC#4?iOhNnHYjZ%Lmrb~_+hNu4iw)#PW ziRqH#z~MX?1H!~K$?4bN>?R42lbl@|o(?jACOLEi^58Jq@tBgFJ=%l3lRdfL3`Y>h zk)s5$!|3smpNuXpk3ABHlRNyo??-B#}g;*bENJ vI-~^Tssah&_@yC=LVA9=q69a`UOxT;-Qfb20Z~oP00000NkvXXu0mjfm)P)j delta 1029 zcmV+g1p52<2+0VL7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1II~3K~!jg?U>ur zs~`-8i$)=0+xLIlKj9>VgSMU7`^H>#D(f?x&3ZiUxZ_GFrGC>-)BFPgU?#xV1b}6M zd7jrV0VLOI<@f*qKBAt+;3GZf?1B-%`u;3vUHxSYDK!OS=*Lnw$@Ip^$4(xe`b-7@ z(o29z@`Qjs04e}~$mV)ksw9g9%BPjS*~=nf<6J#f<6HBLR|nL z2TWcc0brH};CLmsfDAAPc?7_+?+rZ#rUW1Z5FvygMA-L#2yjP1gP@@Rs6g=3$nW2S z+;vUW1P_n|>GC;M{3IM(pb%8F0j{Y3L zgG9Zo^|Voc)hQq>PutSFyGHRKjtI3JOxOh0t(D zF09P`*hDS|#MXI-)S3vd*DKeD#g_n_Li4obXMEmp0_oM7@4STYI@<>j0->C9?Jqji z#~#EHfCxv%3BczBp)s}T$~B!SOWZLbZ6|k#{%ezeJ{%}T7Pwz0pg$3?><8lY6qpbu z3o66~J&#Wssgi(=TkedNb)$XHUPb7^w4EZbz3A__FiPXxlq*_(%`k@QHFj>zhf;n}*Ue$N&#IIH79;jR|ovg!z5mmSU z;&s(m4v&X) z4NMq1<9y)>6(Do6`X-EqsBZy|WO^oy_T{@q7z4T{jMHn34n)5U?3ggleh78&$*tsM zOql00cVT?pT6!o$f-#QpdNBa1IK3Cygt4qAKrO%Yd4qgrK0APm1_B|TUndX|&A491 zqx6D4)O(0Td~PEYi0?d*i1@(+!P^75<23#NwcI^0>8SSY00000NkvXXu0mjfcXHUQ diff --git a/graphics/pokemon/lanturn/back.png b/graphics/pokemon/lanturn/back.png index 7268afd5cd9eb9d8a32dc4f95eadd406fa86d8ea..2a1dfd70cc84aec43da71b7221267939ba9508d1 100644 GIT binary patch delta 526 zcmV+p0`dKU1@r`vB#}W-e*gz`Nliru=LQD_G9v5QoBaR)0oO@HK~zY`<<+rnfsn%JOh|)9M|9vCRT`$!45$O>{8Ef6sg+1moOgArGe0 zi3)}Sz`eIZ249LsM!3RwG^qm1iWv{qH0y4JZ=$6FOo9pYQRq`Ydw+Zp04sxa0KgU> zq%uMbEL9v6cKtrL}<&=zAuBi1ppuf zbP(ndvdnpG4MfG*e;Ls3U-vvEN-_}FfO%Ag&?9u;DW&c_yFQ2n*9|rwqE0=YH%U{i z&iPUbn%#AMiE~hZdSQ4MAjGQ%L-UF2}J23!S{^PsN5vIO2?P}jgKL0UOYWrMQA zSlsQAHiFV10SDvB)ee`k1cPG*%w+#d#4*5AQaSXYGC&6GfBjYk2Cc3!IQuPW2fNcy z88o~C)UTIcf*4dg|Bh3F<*`3q-dfpc}ydYmd`kw+t5y|Dka* Q00000NkvXX1g=70g7k&#m;e9( delta 536 zcmV+z0_Xko1c3#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oqAKK~zY` z<Cg+#RnSKO_ui6!7-E5ij9^LWU|a>36^FuK@vOQLykSWNn2a*$l3>V(+55u_ z0;)9D0stF7$az#ANiF4!jtTIHuPg4KG9$2+Gg5G33Gx#`;p2BM-&&bd3wp7)sGvcUQS z_qiwXB5A7a3$c)bXSc2|oPz??3&T4D6t5bPb0&&?%;9PUgbKJ2eqDh@3A}x;u7Fp9 zv@%U)fwIB~Z+oD%pcF{Jp>%w4!g*VQ-k}1fvi>>Z2;eEH41J(9kO6zQQGvm$YXr`2 z!S^kKxf*ENBt~&K~8I=U}z`q5eTM@_&P>JyO a7a_m53>OTO`BUHk0000y^j%Hvt=uINHsOoL-&3~hclRXZ6V+_|4{-l9Q7}F z=v0g=NCQq0TxD6dYeDx=E#jU}^4;kPap{Z0c&TSGWUCqAvw!Z6z!+2Ez8jwf#M{#C z9<(eBu@-RX0pym^w$#RhlhTk9QC6b^pj2#ZOju*&z)Hql0v(bG5UDjC@TtG!C~Mlk zs}8sfan+=BFPDVbSL6%3p}PkQGz^ul_wnPpcplrcKUTMxzExwhC)FTsXfaKLTg2qJ z_&p%T9Og4)Er0&a3jKgp&>YK9nAs7q!gTwP1cq|Ammaj`*{L!B&NWbJM`$wtDzSjH zNUbnEILT|>k`pHLk1v^eVMgE*tT6r#xiDTBZ$tA*UYKYojJz--7=#&1?}d430%7R2 unuPh-;ii_=)c*Gl6XrmeaL9iN^8*mJ)!wm5^ZWn+00{s|MNUMnLSTZaT(pJ& delta 361 zcmV-v0ha#d1HS{1Uw;8gNkllc@@N6nS&Ub} z=Tw>R(p3SeeQlxxg9;=m5kP4H6q?b#7Se&93&@BlZ_ohXJb#foCu}e@AY#c_KxH}u zA|6wTPxg(DHFSLEBQO=gRh!X0+Y;tqp=<1h?jAG{Fm)OqlgGGv_T%Xv^IOc`PJY;) zw}?C1%-c`{V%p7ML|DLbXKI=L>$CO)qSbJUt%X@!0WHiJry`J4m{>b7)Mum01XLk_ zYP~|4+Y3AiAY!XBEsO;{yA}f(VJzqvQ)Gqlz!Yd<+#75ooiNUZ_LH12;nWy8VLX_G z@vU27URpn!6^33<6Y2TK0e21a0Mz#ZQ}uf#qcE$b{wd545VqCc7G+?>00000NkvXX Hu0mjf(T1YD diff --git a/graphics/pokemon/lapras/anim_front.png b/graphics/pokemon/lapras/anim_front.png index ac69884f41db1142b6e996fd26b3f61dd68e792a..368eda943ac5652ed4ca23557645bdd9762e218a 100644 GIT binary patch delta 1238 zcmV;{1S$K=3786y7zqRe0000vuqd}Ryv4*F~+kY zm;hiI@AFq7q^w>gLXlWCsQ+k;eknM0-O+% zBPOq=rcF3u@0Cdt(nd9%G zJp}|@Rp!h&Jilq*1OZ|s*y7h)1CTD15DTI7I*k-0UZ|xi$G1@_41kxag;IYfZII5G_Sn2r-)PE%CCdE+N6o-7WF&dh7u1Z&h^< ziH88irvT#14p3Fqod!~TTljxImZI3X83a^7-%lzqM1hAb@&@n?D2uKb6)Nuv5vKdV zA9R#{D#oe|Q^69p4^*+iO#l%|9OUz6Pop=I}bhvK@b8#hAjioZu3! zPkGgA;ME6sjS*r$Z9?b_#u8~gT`(%1q0%toBnjqa_X6wZi%lZF}f94mKq5Z-tAmkSo z0nvV86%g_Zi-6RAVG)0j+Ak~uvhoZ5J-@IB2>FFgKn}<+j_m?+HaG_`wr&DWe#TlJ znEj&vyo&`YF#1KTi>Pn+i=NSe)_!4b-P$i~b`T~%{`IG{`o&M5<(1VhE_7Y6T-+b@ z7mYx1WAh8Vmgl!-fb_v_>)Kl&b+G&6I)^u{z$F5a5?D9Bel&jw2m;s=b5^#A3;_@z zFj7K^b|8Tl3TK%rTL9|ai60e8-JVC~=u2P#sI`BHFix94%)n37QY|ox7JsN~XM!P0 z(drMRFgVaalrZ^&zIR=VKh!O1JU95m3NZS^MliZdVe*HSV2HI~>?E-jjC3s+qlQ21 z3Pv%{+XX|ffr5Y0<`27qk%L_@SO^d6cT+I-^r7|#YPeVmY=VJJyj?Ih0FA_J65e2I zAS4*L-`;F17-%3haIgIX1p~L6(iK91s11bk+8^#QOD!0QpR$cWIFI=nxI-~HBLE!* zoA|0bA7H7LgaOD*ylh07*qoM6N<$f`xo4 ATL1t6 delta 1160 zcmV;31b6$G3d;$Q7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1W8FmK~!jg?U~tj z<1h$73s!8|Qs)0ZcLWG6-eQqH%){uVZO-8eEy4Kq=jR_AfcRbfG)+oC1B>D(hZ6ou zzl|aiz&QrsD-DGW#8WtrX(E6d1yDFmJSD&c=-dzi5gccp2x%<<4u$|}QcQDlJPn?I zC;>OM!wmz7P#F||>jsZ81#sx=g&?z!p5dhN^X!K6ZvZ$i1OPi=K~De}1AuNH<{fZ@ zfP9KBuYMig0(8xQb=?dA(CKkaV-z4MK&nU-zN8FBYXPMIE01L{BtYNBA1(zHZUPh# z#Sib{uLJTm2qAoxK>Aw6@x5#T(R&*}i+ikur;FkE3`p^R1mMCF=J^>xSC9eT`#_8k z{lo1j0GEOo;8U=V@!@vp3aB1MA;gH1$`~M(lgNY=KhI1E;Q>KcKmeZ!VfM%*&f&gR zO9GqJRFE73@1zhyTFrb%D2JGfV$^*=lw8uE{*KTAQVMkyk+vbkIoxih#20|m6awWy z@zG!pZF;K-C5xJe!p7)r;w&kN66vw<7NqO8mp97O+n|b;}XCLq`}81 z1gy#XlEyVa;yDEs_jr7=#jkWguK5AQ*w=CANJF1^pjqUklLcRt*MA5ZJ@8r6%fT>@K&6i zzwU8S7`=eVr>ULbF}_CE1y+G@@DC@1&KCUikmZPYq7Sfz;!cCu{6oty5X!>bR}SLD aVEhH${!-*T^1WmL000002lz$TM`!4UlAE!83LRRIC+0gEwl z3I+j`gNH-vA%IbV8I?loTdW45NeO@EmwU{@D+*|DfG;en**(y!D&AcOREh?87}MbG zoOf;)z?OYlm~^vC09RoLn196_OB(nUfEJJ+V;$o>HOZGQ2RHGP0W*_)o_UI!7zL+6 zKGty@|9}oKkK^a>L#-WrTR;D_%?|Knw|(FR`0&vBWf$PR*$Rv^pjUu-D=2>-R-pYm zpq~Tm4}pIcn5}K_3!%V;=y>Y~+C_S}|I!YE^zklvSrMl!TD?C=xe`&_fGDk#pQ~LOO`8X0A zTa+V`N1SV*`v%5EB1R>^BuQ-(FkKb6!G)zzd!;qNHU+p~k1Jo(92}&B_YGj+{nklD z^jd5n@*2__;0Aj~I8}`sG&{!gD;yO200000NkvXXu0mjfjNKQp delta 610 zcmV-o0-gQI1*!#*7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006RNkl(c7 zi2xt#f%P#ia|8fO$@+N$z(OGi41oyriqQ`M76?N0AprZBumGYG4+5ai;)!@JhU$Nb zKq|EBz@y-KcnF6`vf>LsFJB`}1FTsP3?_^iJSE^OC-omuVe}_DC!tA?PB6l*BN_4l z)Ix1v4IZQufM)|WqPGMlz-T}K&Kk@F^neATdtYAwXo%?E)v|i~J}e1Sa9Y4?z>3}` zTvVVIyjyYr=;BIibk;CT(YAzpkUf83-RzKv&OzcS?HLfJ0IxZ$+g2?&#{dlg39#v= z^a8LcK>&)FSO`rIHJ)_)BY+W}PjH?HJ>Uyhmah{}*%q*&hF9GKzSjB2JGKU<^$)lS zXt(0s3cRELQ-JO`yW4{Mfcc+zJz&-Xx1i}l1(ckf2D(FC#1wl<9>Vxo!BT&6N?0-x z%5((<%g&LgfV}U&1G-g2X(fv4>HR>IH!N)Bnih|%or+Ne)aYUFr3u weJ3w?WuRv6N6^RK5%4hZv+S(zJ^bhR2B?uCw(+4L=>Px#07*qoM6N<$f>tyf9smFU diff --git a/graphics/pokemon/lapras/icon.png b/graphics/pokemon/lapras/icon.png index 97ac284581f7f7e79e56d46c1b4fdf0b8bae3645..2fd05fee8614f0e8f6f43b0958a8d5902e3e1068 100644 GIT binary patch delta 406 zcmV;H0crlm1M35jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&_|n_3Ll z0003_NklIjJXH;41eRD4>-oSOMMXIQ=-|# z%fW-xlY@3CSr7UU&Gi5fo?9`E+93sA%Cr*GaLA!knFc}xt~$Pjt_ms-sJLsY&mj*cOm8z4L(et5N`GqfJLkBQ*=Q8K#7z3YAl}+N-*`FsL(1;vo-eITc@&WYa*=ei=y4E6 zE?(g*X7}37ds}vu5Uu;sX=R0JLa(?Y4;n$fAJ_>3M~+q)0vL3#eypt@bT!6UKZ+U} zec3Lz-1BcPoUD>#&it1E&3RO;T|_}M?(cm5dr!^IV&0O*`h`5SbbV(EdQz;x#W zjw$YPAEfw{DK_#lc#vvzP%csopbp7YS%C1|iE+}|2)xvJBY(!R&CsdNBOxO9I=+Fv zi5d@7Y2P-n57woKwQKQMEs-?9bql>$D+!?C(g25jRc*75(`APSn!nXhxVICd^L!o5 z#GF&5!PpF;aIpWg=-UvlIM5JuPT3ay&N=R65sYGxSV$je#9Q;vH(sWE$l2Z0MX-}O zPZDxK&a!@zJZV~C%>vPWg`p1obMeC%P816BTYUl3TB?7M52CRE O0000J#W)M7{~3(6>A+=Wuj7@d;$CT0B$*22Z=@uG08|@9>)?$mB>pg zF=T*Zicln!*u9+ri7$Zo3?b^k+D;u)m%&JE;m%HrWM68D2!95YXGn+Vm*>uRaese7 znAP7YF$>6L4bU?H1ubL&cc%oz>m=4Gx{YIetD5u7NoH|gM^#Net zh_56CD00*Xs4-g6Qqv_=fVkSCoaa64z4b9rQxMWQfHdxdj1c!iEHCccw67Ulz!{I= zE+EX?(1d8n7JpLtfDJZ4qY2He+r2%`3QdoWsJV1RlWwHV-=lrx0-=9f_4EYR?;SmO zGk%nMavSqLI2HHpCkqZ@Bne2C91PBqz?{q$-+y&qZXvW1Tm)yqdE)1)9ajM= zZb($5%V|JFs`-PE(x^yCT~+S{XXlBNkQZ66TO?f);MI%ZTk1w7d~i@DglrarOZOD> zZoF7*^ho`(6Plfn``Sp-G2Xyt$B;&o-eB{)6m{{WS5IQ!#4}mUYF0^eX5|CrU*rR0 zTK!L(K!5UREzAC@@n?V-9Z#9YgGqq4!0dk=4>;=9V*AJOKoI5BKRA66uH%6qDl6%D zaAp6tAd5N9m0|BH9*Bs0T$Tf|-Jj6>z{x`Mjx)CZbK2+J*l+t&t)WGp+#~xlsph#^ zDz-n^uh}jN6B9~p|IqPl@b~!khuse!52I!F(|>#PSv+vRe72~(?bgGzN-RR-0j>B! zT3F!QpXxo%4?CwRqSask6}ZeMZ1$7H{l{J<>TjbZfM|jpF2WCjsU!p)M jydfR156PJM;Qy>&W#(xj&fcc_00000NkvXXu0mjfYYd#0 delta 823 zcmV-71IYZV2Z;xeUw;D>Nkl{}#LxkXDMFD@68ClnB)$ORGlYnNwVgVqE`yQS!rj>|s_%j;RUjeq z4$1KR{M`BV@H~n#nLjgX8jwjduu=d6O{W2Ot_i5=4*3*=6o24G8jwS1;d(#@S-%C! z4>H*Z(1nHSOb37+eo56507K_GK#kFcDY$EB0ixMc^_=Wwmset-W*}rq04>%*M@afX z>|UfhR5v9C6mVk;=>f`=15My2>nJM+9B=>{O=zy)>TXL;X!fW@&7&4gdXYW(9i0OY z2>ox>MF*yL4}b2xieIIkyvCFdZpC~3!G_%kNdlVfdTij_;d2tenCbiA@K2CL1&ea8!u1Vg!sB6o7zh?NlQ&lYnRCOz;5Z4~(AnWz-t%>Y=7ZDV zI5@csWX!`VK*bA57FoIos3=?bPDp7~B&43r-VTmW5`UY}XPDM0k`4**;%V?TxhcAd z-Q6l7WUUySc}G~#=@g5NE~%fj!$Lch$kanS#H+Z_&TAvt^K1&=G_K+?x}vcs$EuT= z%zry-T0b!UMnA}354b{qNC9$aDMgnD))fGiucu7w!8pL2X6b)X55!qEqx6sJfuib3 zK(l7xqJJJJsxdDB=sf-R6kW|oJ{j(v*8>$v*JZm9rTZh=A0%C9%5~%Pe@b=97yFg| zG}h3JZo&&z5KX85P-TQrh%#L_RpVb5J(?^?z zx6`^W0Gdr`J)jf4NJ~hSIQ?n7NBv>*NFZ7b27k~1*O|jwKS|tu*sE}T1I+?F84L%> z^r!8m9H+nkOi~XF-VUHb)8Cx!vwDyScS}Fy^&oU}@_Jw_w0q!oMj?5NthrN)?0KVyW39kqEZ1D(70$S_%)vAwwj1=s>5h@S^whODc zt}uDDI~2zBgF;B7zeItOykJD_fcG_rur7L`l@f0KS_fcKw#SsxGy7YhA}qE8UBu`+q9ZJNGz@DE(9*!^8o;dc^%enu`v3}< z8wOtOLIS{8(214PgGVu77yz7$JSUZC`&FcYVcXRXs7j*M9S}+MaNFIvhafmbge*6g zC)g|-M!&n`I-Ud&e-cwCq`cg-Ao2`g4oa8hV$+H(8k>g{K%Ku+I;vUm23upw)Ok?@?xAT{lbA*cq+qe zOfNsKq&`dN0IqCdaQpcd`a>$bHmZwlzUvB$X#ku$P)_%wdMQjj+etG#4ir~)&tXfT z5EhZ7IE}uINq8t_5?o3(MfE&#QaL!&V|;oR&;IjD7QKnm;=%X*m*CZTBp!=fI|&^g z7a{^cHXByrict*|Q1boP#o|F6_hstP0-K0k{r`LZR(t_0+BptkqAgbd0000#6~!$G85|uvduyT9Om?v9CI-E5->LWs#8m_d z4m#_-jr7EDY{%c^fT(7k&0lZ!Xlv~s*0fb9))Q|u+ zN&pL?b~UgGmOamNivWawZEs8nIq|*)>cV18>LNzp5q)8?N8)e`fQ|u<3jn9ZiY+97 z_Bq$UJpgF23k7gWWhd^E89Yn@LkTb@@*LHZ?KhwShTXt8zy?lMw~ZCChq^)Uj>}*K zVm#lRg^^mCT9c=LUBbD(f2(!abkhxX z#)Rtoq0v**?5ibcoe#BtGd;~dx?qITj6r50*3Km%jHgpHGYh%$MFLa8fzF^F#;MlN ze4dI>XSg1d^N)$ruQNL5fofrJ^Z6G0XJuj0g)OnocT?d?9^ih96Gpa@DO`n~pNCi) zSXtCVpU#2hxQHxg#YpmROyf&A6Zt6h6!m%J=W;M=#`yFs&e8Ki7PE=f*+UdXFY?oA zA|8rYJB=M4XCfq^nvE+7#Ha=uSdF6B+3Z1Fk5uZ|0y&UQz<>Oq0N@KO+BpuJ_CCA- O0000a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L(0(Ez&QG0003WNklQ(uw5rq@-T|br zr4mCt=1q7P_KJ5XL5#NLR_=m&xJa=bk8B8U{`L9JK7Wk;xn;6FY_h;@GTfOlPRD;P z4W5YOje!U`j)=3*SO)yQl654k53tp-$e#N%3mym%0_O^G83K;#Yl=b-2%J>0?ZtF* z6_Cf`0%fyW4TyU__icCUct#*EX&oEWtSk=)ojlN-NbAvzh#ABF&4N5|+2f%$V|*-- z$47cF*8xf6rx=cO7Dbnofd~Ij;+S5P+514Yu@9V$s+uJ5ejvUtO)Ah!k4RCmg?{a^ z3^tJ3UB2PvRAF^m{+P0XQ;!zf=`} QBLDyZ07*qoM6N<$f@`0mRsaA1 delta 293 zcmV+=0owk&1MdQm7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S?MXyIR7i>Klu--A zFbIUJhRC3J|Nq}EN!vB6W@QiC7*xp99p)7Lrs=8=70&eh+JQVY;G{uQ0H_We$O^EC zur_DpsB$fag-NjLsv7HC1JP_z4hYNYF&6LG^qW~TIY;}!3^P>&o0|hLGopDeI+IZ% z-y;hVaUCOD@{Y29DSix^ON$hIQe$!pkWw&eSvA;-oRECT#WJBNhJn0vX||Dk)qmBm z@i2|)(D1PHBg8|;k1$Ek4-J#_{0Q|o`QcCd$Pah92Y&eDf96Mshn*i09?B*=erWc1 rK+g{g@4xW_RYtgorAvKZ=ffRPa1OS1#{?Mw0000psdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L(1G__A(q z0006+NklJ&xQU6o74o0}SA7Z*Y+!4LlcH+VFCKNHbU1>;=Vr!Gn5ioMm|fm0)1ftZ@XyhF1vuW@Ap0*gQnb^=T=hIJa$Ah_!93Wna>}M(T5`n&nmQMrM1+1JD+Y8ZM0qRE2oxm7A7?&bo zu$rk=KsX({;D3#FL2}J#tvWqoP$ok3M*aze;r?B0q5_YdYM81GUr3M`wQpgyo)fi zTQ0yM5`ZF(>=B(cjMEI1zu=GXr_c1q2>Ba8q}rm?<$pUw9QKvV7^mBVbsPWLXm=Gr zZGGO~+1)k;Y0XxF@OGO(NL>V4x&uoow8bayO%JAm9$4eh_k{(#I~4qZGO%}FL-u7} zUjN4g*2bKJR6^sTKe=wH(ffbBKEdF4C{DBn= z0+K(hk2@zA3vf(zWCY{t4=a!nj5mMa1><*rz_LF;%^xy?fv^6cdBG5p=9=UWLbHM) o4jP-)A2Nc0*xdZ#Umm{zPTr7Yh$-Z(00000Ne4wvM6N<$f;$B!RsaA1 delta 629 zcmV-*0*d|N1<3`FUw;BrNkl2&fGYb6 zuos}nofxM?<}48H$!KZD3{~4LRpDd@YebPfsaG9es3KyadAVcsUO;1Ii2cvP}TK zeg2{4&im0jN0tI>ZC9gU-In=Hd8q>QYhrxA$R(}hw(LzfggsK7^{0G)r=&B=+ z{nZ1q1k7fmZ9?Y2wt%yTia$UH=HY7~Cv%zpPZ^-}z``c`Bx#9Jzo1B}>A~-3IE9)X ze0a_qt(a6>4_W}57Za0&KZw;IV6skFzJo(33+O?hg2CY_6noG^no+@szW9UGV+yEX zto|UgKW?Cc!BX)DZNMK;!C<`jgZAJLs9*q){b3pIm|zs(nD;>l#_A6XKnTX>54d3b z>ksJk-28zMjLjbi!AMtsP`F@l0Xdfafh$xn_(3JM_yZvrDY3ghyyo}=PTr7YG0)sC P00000NkvXXu0mjf5``w3 diff --git a/graphics/pokemon/larvitar/back.png b/graphics/pokemon/larvitar/back.png index 2facd5cb5e2f791bad917ea1622d177705749ea0..4493ddd7e97742c8a8c425d6957d20c0b5c6e862 100644 GIT binary patch delta 453 zcmV;$0XqJV1dard7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L(1HX4d=60004TNklBN<u$m@4263V!=%0c1J8Dx)LoO1*8G`RBoIP5pO0^pZTo;j2OgaI4=ehvZ%5f~7(fH&k2BPf7^fQ*0z1?2k{iavwxA%K+Y!F2@7Qv-jb z>%EXYiV%>J2PDB=Ay|CpAYCI=1A7(oB?6uGnHah}Qgo6FfxlgB=AnZ-;G5FoI8aB< zfX9;-r+NZdvOwtR8SwR7TP*6yc^w|BISc@70Wkn?^->Ci0e~kVWIza00OZU8bA4Gj znmU*nulqwozG0%$~5&JGBk==89k$3<3Ku7%cIlg?*HU0JC3(^<|B0J-7$(b$to2f%L`P`;OXk;vd$@? F2>=c&Af*5R delta 46 zcmdnW)Xy{_fqj;zi(`mI@5KHJ_OE*Tg=YOXoXo>0DIh;1$&~>JJYD@<);T3K0RVi_ B4>te+ diff --git a/graphics/pokemon/latias/anim_front.png b/graphics/pokemon/latias/anim_front.png index 658003aea26675d7a5f982446d2913a9b471457c..c7d591c6a180e6f3603eb4da32594be821e9cc03 100644 GIT binary patch delta 1010 zcmVO{1vf1Q5ppR200X;8L_t(o!|j&8Z`(!`$7v8a zXe=Wk$f~mtI2-F@X%77X$2)NZtE5&NgbX^VNR{Zh!gs<9Rm=Ji6PSq3_}T zuszRCk9ri~uvO5bM}Ygju@RRKBE%^Q%nUp$pFh8zE#Ckb21J%iA4 z@8RP_CXF^J#j_p&r4Oj5EDQlEdI9eDDIK8jWNru?H`u2r7*RTeW24b3zPYvcoc4kC z4*?R%Oo4kpPoGooh<0&bhNgx4;D20ZoUx5hSO^((e~{Obg-NE`$}wtxG9gmQeE0eb6EmpCv%1k*% zp+Et)eID}ULWr}fkev^^tSH+3t1`%9mgJass=tWpOzux7GE)Y)5ann2)M&=H`-e>J zD{+3tre?ETKhy_25I(crh**DFS|p~neV4~o6Mx;QZ#4-0kW~Wfoy%NDXJ*?exs5G= z*Z{;K@r?lDkn&1y0}urO{!IX)38M`_R)o<4AZmUWgwX~d9X-EW00gJuq9hDEfZ(zQ z1UrCqCYT^@2aqB`Hr@abs9!l7<68qrO+j$f%D9Oa0AK5cT%B-SzuN++^8+^l!(A&X zet(FKvDx5=-@jUN~evc=8(z?hVpAMSE);|C>q zRPe*&tCU;$fknS7e%Rf+5{oBRejulcA9nXH#A0sc2l89N5Bo(mHhv%%1wV9gYzB6I zh$?*4*(@Ugll6%q4+^!(+hq`0-=t-N0PUbp#T5?07*qoM6N<$f;VW{B>(^b delta 1004 zcmVA3t8LRxox9W{tr^0xS0Dg;V09Y)W`Af|sve zJA$YdIz{w7Jpbj_Kb#t8Vv(IF!P)cGcc1;8U%cFv(1V2R!l2 zI|#6TU0Tjv1L?u0%@9Mk0%edT8Epi<`+$al$$#vv;3jV3KZ*Y}fCQ2Hm30D05b0NP z7l23rkcXWBVhE!PK-PrO0U&aJE5hgkke=D!9RPycaH$Ey4)QZ`rHF9V3TtC%ya4#b9MrPI6U&jNVDkfW0VCWf8h+SbNtVL! zgMXbsi8WxX`N7(}j8z*(@$f@b^JPwPg{58mKyi^R-_H+}3Ss!+BgTCEASK@@et2+I zGA}>S{Hf%J-MuTmeCXwe=uGm%?%pL|F1-8@{h;_^UsdDdhv-uALm$^>>gR{N;Rl-e z_yHrV6hA;b@bH6fMDqiH<_8VkTOs*D;APMiKNR96V{PcXek+>Dn7G32-!3FK_s9m-k0pz|SPjRSGuvl*J$+a4{gTs){QUvD8#mJPjWN zK#F;#F>v+tG`NT0&ZU<69tbj4!0u$l@xC2OCKyH~14hu~q#||Ll z{|SUHpl*X@in)NMPb_fs$pvI=>H-+I?~)l^MlBHh5ooVAGnr_w6>ClWwj%IG#v0HX zqv=lsXSLYMJ2Ziv7*Q7X&Coc4d@JQE0;sW=2+;@P(uY{8f4FN*EP{vPwpUH@OU zSR_U9ydN{M6p&+HX(%GaB~@?U(nN-}0s;UYCse&x-8fZW5hNN=8jxmz24n{aSw^*m z2AFdVbmKIUWn)1DhZ*B^+XE;9q5+f%AJ_#+dK#)+*;+tgqyBDt;2W~N(#C+D$1?x` O002ovPDHLk0$_qvK;!-Z delta 540 zcmV+%0^|Mi1ce2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0p3YOK~zY` z#nruT+b|FZa2k98D^|x2rjn_PWD0_SPLeKxhYTs2?EMHD_XVnq1q4KVumTy9JVM?j zcND3r0Y88&uHlZIPxfY#e0Ns=`y z0mOy7z5*dm)&&C33{Dq+Z#Ou@7lKPHW&m(pdBD*zK$oIWcTRvK050iM^-dw_Vj!>| z`!7Cms@2&4at^_JY^aVi+$}hq>N@Pd-TZcf^lAcUAMV{V%G7{|>X!L$1mOJPlsp0?3xXeCoegNOr}eXQ)~6>{}U83Fl|HN6pI0~Pa+FvjDl8dV?g+Bqp-l2va}$3Be1Ww z@P)9im9QaRN0IbKRvPFTtL?vp&T4s3*A#+wV#P(V48yAux`R@81Zc)?BjplQLkg9` zb!|fIvYY<a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L(7b3+$%~0002*Nkl_YWyJwvYn{1^pCCw_!N zkPPka=O{Q-(9%MN3`S#`CY_yXhJ<@u?!x5}GNok*m^g+Ex^)cNv|~*SUJt|`fIWZV zUZTIDzW~pN9+=AR-Lhg1z?Rz#EjP>+)%@FCi#(wg7*V*ymQtG8nEPIa(!_w^MR+?+ zP|FCA7ID56(Q{vjbS6Uvqzi_%7yy{7JYH9!hT_FZq?eno0dwA{eO>OJL)Xv9lq?jF zr_$vOjDVf0A(LA_>ELceIyew?aKbJG9SG>L4xp-$4xrrsdmTV?Cydu&i2p~2H*R02 UfHSP|&j0`b07*qoM6N<$f>xr39{>OV delta 294 zcmV+>0oneH1MmWn7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S?ny*JR7i>Kl)(9w3EuziffQF4vdSG^rJ51cgN3OYucK6u8 z&3#a?&QvzY#W`PA<(qLS*ynORomYKW|B8Rdr}6Iuv-oevP)y_B{~%`Z&*@ypKXEs> sZ}G4BH=Yc;_>cIox#E9V{XYIrI?xmpZJVDo00000NkvWtM6N<$f?Ji1MF0Q* diff --git a/graphics/pokemon/latias/mega/back.png b/graphics/pokemon/latias/mega/back.png index 33bf9a297e6234a095e971b27f33b906d5ce9126..cc0bee56b4e702a2e9591e0ed0778d47e75c4cf5 100644 GIT binary patch delta 627 zcmV-(0*w9S1=$6VB#}W-e*gz`Nliru=LQD_IUT-BZwmkb0z64XK~zY`rIaym(?Ar* zFP1V^%B2?SVktNVvUG4RQYEAg_B~`Tm4bx9J1Fh$!gZvmA-6Cv!p6#{p=wsX3-8Xp z#%bece}_8TqlYdDN*SK@ zAYl%P2>9%mN=zkN55Sc;t&=5sKGYuYA0B|>J+}w-0cU`i%Ok=Pieut-4{wd7flln` zqx~@eV)7CbkFRXRF#<^`REmX-P~tCypa}3s;%aX77%$#Vk%J?7{@&)1GRCH=7g(07 zxn)!oftd#Qk8){geU`{pM*7O4UJI*lFxw>5Bv z^Rfd`4J2#ef%=mYI{;W^_)8uN7z-r<4xSU_PmJhk)sE)B!jh%tNH4qeo{8rpM7g_ZW2be;9T2XdKcG0VmK4_P?nE z-*p*uEDJpU+YOY9YrM4eZ8_6GShVZ?g*;>o(#;q=A<7o;`r?}115*VQqP>Fpxf0j{ zo(Ul~E9hx1?=^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zrIfL2+dve?&jODDpCd{ZforR+mkjb50)-6Hy<#na6slHxi<4bxFJn{U`j!kG+pTN< znuKWW|I&9Soh?Uq5ws7?6TF|k@6*Y8WK(pfS!yz9HX9H%o25K9XfzwZqeioOsC#>K z-z7mQ!+Sl5nL{E3KEG3cjj3kK09=XFs#&V%L*)Vg;Q=V#b9+!9@C*=hd4xDZactb~ z;gvWV=*AAd+8+ZTB5$$r=+Z_UA`s_7wMf_qCH_VTiU5BmE>Eox&*We36vh)dvsx=4r}0Gu-X#g7Gyg^~ak#$)0P`MiX&W!`wqv3;)pZ?%hc zz6Bg}5_HUoc@;zQG|)bPx_V`YfXO)O0GtlyArjJ&(HX&H9Q|{~petk8k>m^fHwX8hB@b{s&PU2_wZAmT2Az8nra|IAd_c>DAIbDhSxIGt4jmy7=fw$UM$2{q7E?ysSi2UK=7ae`Dr08 zPV0>FTlE$t0tr7JXkdMG!Ky9i$r>0c02k%`9z{Sd*q2=(o@#(oT7m*V$`$D>LjD3K W_~;ic;Z!*Q0000pMxZ}thvG+^6A(`he*@!QMIBU_Sn804 zNcc{lr~_*tPNeKVv&BF@z$ebf2eXs_1nk*CO8V>Z2;k#BK!PUXngcAqaz5V^*ZK;9 zDdd{(dNlD=IbIB_r(e+yVB%Ua#{;-~ipSf4jW2ME6MzptxUhgH<&`mRL?1u+ac)VCzd0dq% zmtFp4Oo%xGUqC=n$IGTy?4=MEfN2DU?g}{Q#5IJEz~dAk?F!g!4B#Ya0cr_b^yw z2|Ypp6xA6rt#ql@Ey74Jk}om;TQg4Bp8E#yNTO7vf6lV(9@7p>Z7+`sC>j7*kYQF~ z$QavP&55S7k|t(S?ikB;*_l`m(@IH};?(D0Yhb+b zfJYl4^e4mlL#Vb8Aaf0_Lg-^rHGNO4McW zT312PRXn+yM8eh~^ftnQmVOPW25|ERaKrk&knZDM03ER!Xl0bL-S1MUT0o$80k>>@ paRas31GIiHy+@++$!0qy{sCM5hf)Xf?}PvV002ovPDHLkV1oD~hlKzD delta 873 zcmV-v1D5>52hRtPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um11L#EK~zY` zg_XZ<+b|Hu6#?2)TiFe|R)uah6}aeTi%AM(NtH0t+MrRiwvBzB)zakybjntsQ(vWh zsNRv1Ecs8$!LWTlefRP1NIAHU=)>tb2UmYU)Z`hUH~0?_BhVkSL-8Zd35X|$fpM>* z4k}D6b;v>_22P)-1IrhGCsOvGN#V-}_{916P~4FK1nkKmC4G840{FNOkf4dU<^apD zoX_{fwZ1}N3Weso9!)$`ju*q~=~uJ^n7CHV@c{0g;_)_M;|ZoX0r>EP3k!HsUK!&y zo+*YUl(%T0&m#o96kvhIWoqJ@QG>CBSR~GU1XBEZQAi0Z6E97FGIz)?|MWS-et0m2 z$BU(v$5pv<+2voxgqS1n1q3YWcv<=N1$!xk1z;M%LU#ombmAIffWYGvAnOX)GzM@| zv;eh4w=TZPfxD!&E8sXy4q9fDVOQY@reovN?-s~g8%+^kOFTW;^LVTt2*~rI1&W3oAX5qH&rW^*lc@%Hh_BgoWkN; zV1NR<6+smT@ z77YL_$Z=PHVaOQUT+OMbvy!D|QtlWlblI6$54V+(EXAqM!PdZfcn%T-bk%2F7TuYr ziNV^T^`HWR4&c!U58O~8!)Ol50rqdu&43TMqj^Y|4xx~Jh%r;oxYIg(j#e;NItQM5 zLTv;Za6o*HnyU%(bIf%fD;hh=c#&6+7+Mb2WPGuK^8=xS)tkkcbGKeP(oZ6I@LOkX zh~xIrIB9*mlRu*&>4NsVk;Q3L^T%(X^WMa$WU%#r4nH}Euk8=#@JF_<+HkUc`u_Ic Y0R?~b_|W0NNdN!<07*qoM6N<$f)uKg761SM delta 287 zcmV+)0pR|e1N8!sUw;7rNkl04m2xWFch? z4wPVIQ5Fz4s8eelJsBQR!ZSbbkN`bV*G`2j>O{1v?H1!%SBI00jq0L_t(o!|j&8Z{uVb$9)-M zujvIL#L^>Ca|bMqE6TwX=T+T5;JPqH^z_(PI#|8Pj?^0hRJN;ZNSMBOWMVuhzDAaA zVCWQ8LML&|3?1_~@Vu{`#EyS3A#T7!C@rFv0n!iO9T8Fi%zg@feWL7@ z0<|B%paBESGC=-}Mo(L$6!=hn9C%R$(2}YCxnACa@XKTR{12TJ0n&gEf?m$yt9%8~ z6eOP!7c>IBoqq%B2L3Sh*;y2Nq?xN=e9vmkpgxcykKobS2%x%$Wg==!1b%%JFoNhM zew@uNVIbHH$d&*axvVLSpc6qDZ31-~T=S-->FiP{01O(18b7m!6o)Dz&@(&0LS0o}o>z)+v0 zhGZFZfPmbMmLq_40E?i0o5*t4j|~4;ceM%RU#Z5d#=8q!a)) zriKXLvg>j;7yzX{K&C}rBL?L6LdptkR=^t1VqljBG|X4Phy)-89To)$50}6Jy+pvv z0UdsMuYb|R2&bSzP3<$FC+{|SL;*lP!Terd-X%uhRUR%aNUIT zlqh^z+i?XN@+^1Nghf~j?8J@%;DElGuCFcfZcKW1(n1z^^V;J9qV9RFeMUnDXcnxR zw10npwgkqm;6$L|jM7DG9kDOQpZeH#B{reQ;KIaS0YcI)0;c(p0irXpCW5{B$VE*Q zYM=5MZ%xF4eS!TZ+I+HzX6X*x`tuvJYKyOR?KhPUAljlS{7c9G0`j&Ch`scO5&;3e z`TL~;Ql~ud0?Gu$@cDaaN(c2q0jbmYHGd<`e8VXc5F@zeYX|M%QZEn?3~=MKGwh&1 zKu|xD7p@nfU*rUYbzrad}rT*FN3g_hoz{TSF@ z>qS-{SdAJ2U7=VXu!hf@Nc^In(+8#~2=wKT_}5`hADCa%@H*EA93tDj%}ssyl7HKQ z&;7&CZQkCHay{r`w+8nMZ__UfE+F!wuucp0z)FDKz$o?$Pm>b^p|e825Z(Ct-U0Q) zyuskoSpu;>6m0IXfb<%qSRaJ;i2wh6xxpjyenCe4W6WYP0DFYAWo96u zn+MvX9YB3hmi$^EDa4Eq^XfrPoGJX-UHHG@H_-m;T zFirbKq7SF@-&Xpd4^w`@^nn2>eE>b<7fXGx*81S2{bHpLqLtQ%m0zs&K{~LlN`1i1 z9Sy5OAGkl*75c#aVO*gP9H`O<<`0$nz@*{7(TBeQ9Qdp%)vs6>00000NkvXXu0mjf D04jnd delta 1334 zcmV-61z>B0ExV2vFIsvLRve@W{k?P<)Ln-N4W(s)SDBm>D|eZ{YWyoy3kE zGca%iZ)lvnPrtw4bNuo?gv6t=ONz&R0TfWx3jQgnTj%dJ`F~ug^}#;@TO;o6w|906 zf#y3;)ZH504xAhxQ?*9B+W`58?~W-g0A@e=zdlj-w*sXfzhFKG2HODTGZsFr(XGIT z%46RR3xJx!^w0I}Es$Rxv*&;4G!Kw_Vi9aQhp(~~qydpVPF%7O^m+y;8~DM*<5ywe z(rTuH@jb6GgMV^Q4qb|)u@S&@7t4gq7!xtS2^fC(5?{_|Q|J+k1L+dLLWehn5o}Dz za1$sq|5`LHPi9k+0~jm}G;wA287@^qpq*GIFzg_DFTu=mi`D!sQAe8Nef$SEq{7 z@}dGP=tJt8mF*d;DL5YW_?L_UkO~krA^;=$i~+#Lqane!d|qk!Jz&fONVOk?f@}qhhyiM_eqI21xC9Q_6ahB_G{p3NrHT=DPK8pp!-2Natcr*n zfPRAc?SGEaq=s*2Tc~#_oKUJ_PW8~&bAW~lxHl=@&gxO1jWfVm_we-Yg3CLMJ=q~M2#{?~KlWj~Y z^)7i1{ly*LLg(mG11<4LW55f#(#C~t*8PEM3%E^!lb+feqlub z2tZ%XORr7(ZbZ6P+(H_7^V$^wlJ2^WbhoO+XA!{0>c6 zube9&WfuL+$TQEd^9023uf^U$JDBP@0)K)5PIPsS9pnfI>PP&8>xSqT83ExP#JdyE z<#E<8Vt*0CG`x&oK*|o5`mhF4dcn`-UQ}cC5!Z{vp(1Jw6Mlhuk=6%Zql7?f9gxxo ztl^0!V!tS7^noi10v+We@wT7Q2ksXooEQ3lOXR0_`kO_4_)^$`C;Y?99Nuo934c9k zVYi0xi;ZJV0z(Lh@+c^?Ts<&jpy?a=e&K3LY#?lw>lcy}&F>#FFUT4UZk;6%=|j%p z9tlXhLi6>3)Q95#?<*A%k@X8Y?3`eJmFok$&Q>U?!$a7ow61Ui37jlYAMOF_gQ~P1 z&gEs@2*7J<2RXo`2N4XQ#J!xI1=+2P0~4-iFDQYMH0~1t4KjX9OEH zm)?Fp;=( zCr&ZVemC>Y+-?wjk5FQY0zSeFQ+tg)kHUczGS67xQpQqb;htmxf2G&Opp&pbsACo6 zD%s-zp>qYe-RM3ia()nut0WqC_2k;=dx zvOq*>7oHBeG1>?uy8sW2r7{^w06a>+W!vmKOFQ>&BUi=&dfVEruY~xIKwJSwJ|Jux zWAdtpJ@HyDfe#kc72w<6Hlxbe~es9=x+a?10y+q4&~ZIBa~jbK?Eq7)~O! zJI5U0BvA7wuvG!d<#c@PcU(j|ss+?2;)Zb188Mgk>wFm00)79z-dX^Xztojr&;a!L z=U>H;e|c4hCV=U%9HQUk*l7YrjKZ&n`16$Kiy?-8TeMgJf17^b=B|DXt&)KBj$OmQ z8GU@3v%rLav}A#*!-NM40(xc1IkbR|Ci7X$0L2s)(mA{^W8MP+rvNkmqFQt6&;yu0 z<9YIP)rBiiAV7{uw)$)YKsloV;HET#6+m3W6gw0IPz7UF-u=WCNb!8?rZh$^OMC(| XD)5T~VK?vq3jhEBNkvXXu0mjf3$yfW delta 545 zcmV++0^a@m1d0WaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pm$TK~zY` zos%(3D?t#)k1O1i`Vef_EDB$87?% z!^RhTXC6m)oJ4B(PC39ypyoQTy8x7{>G;&|Sea{{{(0r-`oo|W==aU?y5|BQy*RU~sqmR#X7MKu_mMpN?FyVoMfL>X04lSV8WIl@-pqQdUI)^tV<|7br z4lwgyRBKKfdH~Z`>?iA2UAO@S0_2!vtG|r^C}%VPTuL)o0mLm#aYI1>O)zHVzn{1P jDfXu>r7`ONh#>d^Gb-?lMWbnU00000NkvXXu0mjfPxAU_ diff --git a/graphics/pokemon/latios/icon.png b/graphics/pokemon/latios/icon.png index d63fb4710ea47b6b753866887a8244a9edbe6765..875922e5aaec6a0eeb6f69271a81e773d03577b0 100644 GIT binary patch delta 338 zcmV-Y0j>V~0-OVo7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L=Eb!sDoC00030Nkl~IAPtd_h(cpGJ7Da@cD)Vj!jZpc{x~yFh>u<{WXC~_+w6J?RVIuj<2FsTO^1KM z!?-Wp^dvz2-tl}08HU`&KRLc&7 zKnOID7)ToC|NpkIt6jPeo1VN#^q@1sfXr^&6MqMAfyGU{WPq@N*8~t5z}yj9NvN`o zxSY?hm*_xfxL4Zd;00000NkvXXu0mjf DQZJCz diff --git a/graphics/pokemon/latios/mega/back.png b/graphics/pokemon/latios/mega/back.png index ce13049a75d0239790f9b2ebb8567b163af167c3..2f938d6ba543e8520182a33c16cc535bde58f241 100644 GIT binary patch delta 627 zcmV-(0*w9S1=$6VB#}W-e*gz`Nliru=LQD`06G_g>4N|O0z64XK~zY`rIaym(?Ar* zFP1V^%B2?SVktNVvUG4RQYEAg_B~`Tm4bx9J1Fh$!gZvmA-6Cv!p6#{p=wsX3-8Xp z#%bece}_8TqlYdDN*SK@ zAYl%P2>9%mN=zkN55Sc;t&=5sKGYuYA0B|>J+}w-0cU`i%Ok=Pieut-4{wd7flln` zqx~@eV)7CbkFRXRF#<^`REmX-P~tCypa}3s;%aX77%$#Vk%J?7{@&)1GRCH=7g(07 zxn)!oftd#Qk8){geU`{pM*7O4UJI*lFxw>5Bv z^Rfd`4J2#ef%=mYI{;W^_)8uN7z-r<4xSU_PmJhk)sE)B!jh%tNH4qeo{8rpM7g_ZW2be;9T2XdKcG0VmK4_P?nE z-*p*uEDJpU+YOY9YrM4eZ8_6GShVZ?g*;>o(#;q=A<7o;`r?}115*VQqP>Fpxf0j{ zo(Ul~E9hx1?=^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zrIfL2+dve?&jODDpCd{ZforR+mkjb50)-6Hy<#na6slHxi<4bxFJn{U`j!kG+pTN< znuKWW|I&9Soh?Uq5ws7?6TF|k@6*Y8WK(pfS!yz9HX9H%o25K9XfzwZqeioOsC#>K z-z7mQ!+Sl5nL{E3KEG3cjj3kK09=XFs#&V%L*)Vg;Q=V#b9+!9@C*=hd4xDZactb~ z;gvWV=*AAd+8+ZTB5$$r=+Z_UA`s_7wMf_qCH_VTiU5BmE>Eox&*We36vh)dvsx=4r}0Gu-X#g7Gyg^~ak#$)0P`MiX&W!`wqv3;)pZ?%hc zz6Bg}5_HUoc@;zQG|)bPx_V`YfXO)O0GtlyArjJ&(HX&H9Q|{~petk8k>m^fHwX8hB@b{s&PU2_wZAmT2Az8nra|IAd_c>DAIbDhSxIGt4jmy7=fw$UM$2{q7E?ysSi2UK=7ae`Dr08 zPV0>FTlE$t0tr7JXkdMG!Ky9i$r>0c02k%`9z{Sd*q2=(o@#(oT7m*V$`$D>LjD3K W_~;ic;Z!*Q0000pMxZ}thvG+^6A(`he*@!QMIBU_Sn804 zNcc{lr~_*tPNeKVv&BF@z$ebf2eXs_1nk*CO8V>Z2;k#BK!PUXngcAqaz5V^*ZK;9 zDdd{(dNlD=IbIB_r(e+yVB%Ua#{;-~ipSf4jW2ME6MzptxUhgH<&`mRL?1u+ac)VCzd0dq% zmtFp4Oo%xGUqC=n$IGTy?4=MEfN2DU?g}{Q#5IJEz~dAk?F!g!4B#Ya0cr_b^yw z2|Ypp6xA6rt#ql@Ey74Jk}om;TQg4Bp8E#yNTO7vf6lV(9@7p>Z7+`sC>j7*kYQF~ z$QavP&55S7k|t(S?ikB;*_l`m(@IH};?(D0Yhb+b zfJYl4^e4mlL#Vb8Aaf0_Lg-^rHGNO4McW zT312PRXn+yM8eh~^ftnQmVOPW25|ERaKrk&knZDM03ER!Xl0bL-S1MUT0o$80k>>@ paRas31GIiHy+@++$!0qy{sCM5hf)Xf?}PvV002ovPDHLkV1gT*hmZgO delta 873 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 delta 653 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 FV1i0p2HF4s delta 577 zcmV-H0>1sd1<3`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(ta0wPI7K~zY` zrIoR6+b|SGNkix?wy_pNKx2=Y5{{9jBY%Z%F#m-HVPGQf$Uw%S2v*i?WQTy)nB7=84**g2D%e+R-|E2p zd^u&@SbOa^;A6dHY^pENGw?M47OGUJ#{ML0}o_FhFz5{C@&a zwYon9H%9=x1_+qW09L+;M*wu@eTS+8pxrP}#L7h=U6(95PUFAPNtFngYmF zU8bQ4!)R0a@HmKuBiea56FY%y0 zN%wU;q}z0F>u^<1Y~Adh?RC(=+M?Md)`l!*_PuDDNHd~?f&-1;A@IpKYI;XS|*rr;Y^#c`C%z6Z#Q@Y1z zQjELY&T1KP}`mm3a^PEAo}rl-FC~BJ|!Y3-SjAb{IjOM zccp8NKyk?WxX}*CPwP~50A}5;yZ*W=MgC!-;NBS+*pM>;e8rGhF~Gn2$u>-uDpd~DJim~ z!{dq)W!ycj#^d!U_1B{LfJPoU1rET#!y87XXM2tT<#n6u7@V4Bc%#9zEbAhkSQ%rs zkqPb09e^6mqq)L0rMZErnyiChQhA6@7xsIJKoB|{K6`Y9DA_QzDF6Tf07*qo IM6N<$g3)YjP5=M^ delta 231 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 Y3xc>h!kD_ro&W#<07*qoM6N<$f*5W->i_@% delta 679 zcmV;Y0$BZ*2Brp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80)LT-8-FQy z1tSDWkB&N>b!Doc6lqgaW(!FAG*_kZOSq-rVx1zLT-;`67BJXwRFN{BJ>SkhJN&c8 z{}`sd1i%7jD$1FM`4VejV7|nfa=OlRfCgZ`34l)MRp6B-7=Rfd#sIJhn9{J~3?n8$ z3!UeaG;~Ckg&MfjNPGZ@gb*=za(@9>Ddu4%G%*1rUJr=PBoIO?A%s8Cq?J(~gbtVk zRxRL7C}e&oKpK~0xX#2d76I=PNS7*%0Po`x@aY0bM!@@TA4b_LWmuyY?!S)aaCMZn zIRduZ5pa~Uu%mgvlo-Wo0g!)&z`Oe);4*L+0>91ybn|AQ@piWz_UOiB=YKmm0Y7&? zh5)8%N}hvmj9cKrFqCTZR`(q}aBwYHVfWoodEOGqZCBah#bLlU%RK-5n+v2VISAbZ z3Fbu>A@G2m=XuURf=6j(K*{Tj;5+QWHr!_f_B18B9Xb9e4^DbZa*+t}36V`+R|H`1 z%sHoIW2_ExGSp@)2H&V(Yz>h8;yQ$^V zkcPVyyp%L(2Eyjiwt})?+wxNwYJW(+jOn|3+px4mdrihV;2(!!`~`xzI>JzI$SD8- N002ovPDHLkV1i6VEzke} diff --git a/graphics/pokemon/ledian/icon.png b/graphics/pokemon/ledian/icon.png index 6497773ae22635f6d87a2422e7e0655900297507..f77e954468d8958a7cabf7abb16f5be6bb0c3ede 100644 GIT binary patch delta 309 zcmV-50m}aC0*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1_v7yt8W?r z008evL_t(I%iWT(3c@fDK=TLp4;5SmJ2@4kI_gqgU8HLU!5|3EPEP)xgW{Hi7E=Yu zDF&NdM;FC|TON1GarYSep@1f^&(vXoc3B4=TzbF&F?<4{Qhx+MC2&a|m7BBR0Vw5W zCph@7yIAxpZt}Y8D%M-W=V{$_6RYjiq*44X0WsSTWk0R~yG+J5E&~AeIO>`>@gEnb z0k%~z8`!MqXfnN2mJ^U`3Z5%4yt!D-{xZHPOwi?onWvfxlST;@rtgpa62`VXaKe;c z4=0RCLK{w_t}YEHDQt!j84ab16j_Pkm{Wx`WL_t(Ijop&5io!q;hW8ET9U|BsB$bsQ@k(vHYi&Z>EreTy z1M5^)zMsW~>#`xije^WvaB+7w zSz*%1{jC*d=0E!;430do!n9rwD~w@!0G5jwd6EWK6a~?!(vjxrdl@JX6{;a0`at5J a^#^nbkrI4ZAq^t{0000vSD+e1fCPRkqNH4-g_;M!H;PmIchRi`#!h z@~hCk-^`nNJM3=)f#=u`cp@)lpP*!slXd}NF+p}m1rA7RcsC$tckBVg1n>j^;oSi2 z0>o(8)hh`iy0!~IuP)4*=AYj)FD`yGP2V*Hzj|c@RX^b97Y>*;(kl1>SNRH`;QKc@ zpH{xeMJuLR`;~xYcmr7*urOFAcmscV8<4Yg)3ckw*3Tx797GQ*hSxHJ-AYy0&2xOI z?4Nm_iBk234fR?U(0*;ZMo`U^%Iy7kSVRbw%C5-07=B0?>MkH>WkNTMvEj9W&`Bre2C#ns5_~+> z4nCrjSgXAW1o9nusu&4MVL}HVQOv>}*J(@7XVb|wz#XM@V9evq?N-4o$p%yeq#r=` zI`v65vVqie|9q>LlAKZQ*=Q($zG5D^cEMX&mqTB(k=O@iqjQo50^W{B=xuD?iN*uRaA-98ZUi2X_PQOU!C{{r7;E3F*2XNXIOa@c^1V zr?6CywmpDgud~{8qnYt~TdS4F-N(V}YxNw@ZvKzEdCzdH>T_OE#Z-T@VShIxu99;# z3oAEEumOs^AdID(by-!_YGJKhQv)cOwTk0r-Q;<$*dmWE9q4g!q3-y}V&!dJwUx-ZKE9UhX^vX<@fnUzW}yx(-~u!g=~;y4T}o zEtNT-E6CV#-it12akIX(0ZlQ4^LoABI^Q6q#m#zH)&=mkD4d5IjpmZ!B{`6@j*{|=9xB26yJpmB_H*54Y)1b_4K|!Wb+#n8N10>%`O<#Z8Zl(#^pVGcP10laH z0SjQJ*lzAm=&bAw`!2~`3NoCJfVNU+~;2GxVa$t0ZTVaviBlaZuXY{ vBR9t^FSkExT0M$)0~j}V0?+dQzsA2!OzUT$Ys`KC000R9NkvXXu0mjfL?tR~ delta 1151 zcmV-_1c3YB3Bn1G7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1VBkdK~!jg?U?Iw zqc99cktJ%Il<@vR(`~WYk@NNc;2i)3&YfEr7I|H$vN9CxlS) z4ruvmJ|-ClAStDPaFLKx$m0^E974L*i#a5U;)6#%C89)f0g=(W6M$k=0G9GJ0sx&t z1?a^P4RDr#Dc1qCEvAF<1eR7#-xWgEymlcgA;uW61Q^2U>l!)kUZ@TT!HSS5K+a4e zpa5Wv|Nj00AznI|6BkxM*Tm2Wdme-r8v;Ll2>S@Mpb?mV#ykpFrC<`$Qr36(2s!}l z879&B3~V7f&r8t!J^=uHQD_=p#6=zebkqR=J5~VX+knC?rSA2A$MV{{X>SM= zaWjZC=sqj~whB2O1N06SuwmXxBf(Z-2;t~zz&Q+|zxF!w*)nuO_V)fFQqI;Yx)p=< zU`Y=HnvqZ368s447uspyk)TT`XWK~6kCA2?8fLwJ4)D!nn?UItB48PODh+#KXbw0> zzyQix%qItG+;5{9VV$=vPBEWchOO1sO+0fo?^3^f{(kDIr*76GzyGWJihL^Pm0PJk z(BeVHPI*IqrD{en#FqRL(O-dMydY#HzxXwHwY(NVi`)NyVzVWe*GYcWUrO8#<~ zvM$8Y?yl9?Hd=5hJXmFao>zCJ@_=XKrekA&%UP|ns;5iiJDR*^R9$1YeQ7%BP~9I1K)+yT!#7%-cd|fH)pr z5fdPpdcsZOTz)%panl!?Mxd2H0m*hB1exTwb9)^sV3tp@Y<`*-7TX9^h0oj<`hZt| z?TG~;)ZSYFvJyVz*Jj}2xB<`(%ykZ`JM<~PitMU5#&y1SaVX|VRK;gvptuS27kMdjG7vg#C{FD3^_q|3~ z$*;NZCBRC4(H>V8VI{v8+`XP~Ibs8xRPRlmx_kTzpmo;WHwllsKlRkVtv^`WIsEej R{TToN002ovPDHLkV1h(ME2#hg diff --git a/graphics/pokemon/ledyba/back.png b/graphics/pokemon/ledyba/back.png index 9749b828da070416c4ef7a40f481cfe72e208aa9..03d2fcd65bc0207adc088ad7bc116e51a2c5c913 100644 GIT binary patch delta 530 zcmV+t0`2{T1^5JzB#}W-e*gz`Nliru=LQD`2qjWdZhim&0ozGLK~zY`?UgZdgD?<9 zCHn$en<7bLCzVqwhRIAijpP$x9mZ{%kkV-q%CxzitCVC{62ihjF5sPEnDIXTe)eNv z>{>$wcyKWVAi?h^0RAA{F z6dwh6VeNiz0LDya7HfyVVz8|MmZ)Hif~WP6yRSo9Aqm|B@M=a=F z&OnK6G9q(V7JCx`fBlmJ($9{7dO=|J5HmF3XB!=XZ#LV!wFLLSW5cxPJHc+M>OIWK zR0O0~GLjK+SYH6jd%>IJU)9^^F#+gGlyD~mpgJ6m!J`LUilG#&n%lZw2cR{71~d%< zA0hyzFF*j?*3hnjB$7T2MHj3COs|rth5(rW*(HGP&Z2-Je_*z$A^~{-WNTFk_Si+i zAk(4WE<>Hf27z@7=W9KptLHQ&MF8a5sJ|p1&3bI?c;IOLeIzDz@A!hE@ z#OpQ+EdQW)fO}!bD14qRuyjcYx1O_QE@_4gnd((@@dn~_qdEuxZ%)_mV!!?Xj90q( URSf^7000002uVdwM6N<$g8vrnO8@`> delta 539 zcmV+$0_6Sp1cU{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o_SNK~zY` z?UX-K^Dq#_rQ`zI#0AhKP=!*&9%kq?QcmFLFloOAe`RREB`vp0MQL{R&rxEV3$QaD z&t!jo`@Byv`>VkMyttSGkl^~1cE2}&0AnT#i?u^wG1yiBOH?pM!P9!k-mb1{sI0-#|E~L`t;vBb zM*!{mIKUInmow%&OMP-6hXCx?)VC5!LlXJ|z^9!6z6cmi68R?PHV9xJ3MZik1!@A8 zPD14luv3KzI0GfN*@(hDS?x^%^j8i@KRW^H1%cT^>~jNtw$TZH_++!qYb3b;9UCUz z?*zMPn*U)=p%Ngyl97yn!}L#R z05V!tf<5+8Fer3(=*MNKlh`1z&H)_`1)<%EvO4xIOA}6uOTyryznkVg0sgNb`-KY* ztF~>^vGWQkbGIhm#wf7-LGJ5JR`7lNeQ=}vt=%6h76hNRd@9T;`E|A2mtR+ d?60z7><5fjy7`U)D`Efu002ovPDHLkV1jP=@6G@K diff --git a/graphics/pokemon/ledyba/icon.png b/graphics/pokemon/ledyba/icon.png index a4511c6eacb5a8e1c3ab62d8424995a74dcc0820..497067f1daad2b0c7021a7eb2a221c2538e489c7 100644 GIT binary patch delta 265 zcmV+k0rvj60^kCWV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1_=#*{P)EG z006^DL_t(I%jJ@-4#F@LM*9YR2oi#8GQlLOdS=B|AaHAfshpVMJ;{)4S)oJqqpo+w zA|PDXll$8o#(q7Jz4@3SFpNuptOj;T_|eXWl2F>yI*=|X?SE?WCIM&d&V_4A@$iSO z6A5soz3D`%;l0vmLz=@kc&ND(WK1uWzX-ZXt#m`rnFd+Wl6XJh#QUfGNqmtG{+8(w z3Zlc_z?=)xwpTUUfi#%_^`sd*>JTVk_o&0r(AA`@GCzRKkGS5){CEMuLW8Pf+x%Go P0000L5f;6Zbju{FIScUoaU_=@U=zcUT0ba1ys2cI(?_8R(}v#~u@Xa_cA0_e#rWYEELAnrkjq2Z?~RVID_i67y- bkNNQe!9s(oRQ&C^00000NkvXXu0mjfH|uSl diff --git a/graphics/pokemon/lickilicky/anim_front.png b/graphics/pokemon/lickilicky/anim_front.png index 38f23ec49b7d7668d73a4bc43a2f3f09b462bd12..c502d813b5fa4dc0a913cf4a56a6b72a4926d1b8 100644 GIT binary patch delta 1102 zcmV-U1hM;r37!d%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=f-QIm^8 z000C5Nklzfaph6vv%Pj#w&jX~I@jIqYQJdY34exsKYs7-`JUfbQU35M zq2)sT!7AC>DFRkEnxs>dU}J+2QV^mFI?@V&0X$zdy7>SCprI82DgdNbbPSqHtg64WO|I`K746rm9Brs#((MCXFNb%MMWr;#;{ns$Ivi11LL(HJzQ$oH5-+ z7NG8Vvvbe$K7Wpl%n0f<(7m&+odqmKx;LQb)bsUIx`p&Hr=Az+9xDY-0!v=BAOOKQ zmEq(|1eh3BJ)I!}&Y)C4G?E$oNZ+5&zg+<_l7a8OAM4isTZ|L;^5Lb=2&!K~nK2YX z3i0^u3m|-J*PYDG@O2_VFGFQd{4>jiHDP5iHPV#Txk_wgmw&a356~hyxngT!_2G0HA{!f1j8U zO|CZ(LKg226=RJbz<}-P2-U<&nCrI`VVj^jK1cxSle;^N*I*Y+h5+?M1NPA!TenQd z{Ys^l_`=|ogY{U49W;_1Y(izNA&!8TsSc-&uYZ><3&Ca$;XR2bWgiw3=X^-7=6J|J zEeBAoVR%2EyPd-6sy=m(is!Rs?I?fm`tKh8A@|T37P<%ZKKC&FMfafpwtMjIa}Tro z+{1a1d*JpXa1Z7v6(CG->V)=TloJ4^KV1of!Tn1Je8pHAc}sDCQ>I^lF3sI(v;%K< zLVp2b(2vxz2t)zEK2U&YbtC{h!!9)#^9%O5ceVsz76*V806;9KfKLpVT!bT|pYmAm zT=%f$PEvC<0zQ$}Aq@Y+6mSygv-gBR+qB+<9*5uD5cnKCx6S^W62K1W55%e583@g> zVE^cxGMD*Jz;YHfK!y6@SPs-Db-+f-$?Gj z#w#OkVMxM%5atdVqThq(+kAL4`(Uq#06hgyVjLhC&jQfCrn=xS=6pa=fd^c@^upzcN&mEdK!QP3=L~87WGhf5^25k$=dw2a$iswFj|(`1|a^Pt&ol U72bu;?f?J)07*qoM6N<$f*hC$Q2+n{ delta 1075 zcmV-31kC%M34;lcUw;G+NklRgkF zh*)u2A%@lpUXdu3moPyk(!Hq8UJ3j!u%UJfBU_o;IYa+}^6t*|-T7A$LINR9YE||7 z@q6#i_x!%4(r;d6v|Om)StFZIi-5Iei)4vzref02+D$ zpaDQuinc*>kgWou+`NUj2j>9G$PJ*g2>C~`@`|cD$ve%mL5nmG;3qpona8(tbJV)7 z>u@MLhdrHrnz>_IMHZm#__I&G?|&GZnGv)p*ZtG3lLahAx<91*OdXZbk7)_%ZBBik z>pnXQoCKEqXn#Qff^jOt(dP)TFsynyLj;_{Q326NW(Xqv`F#HM0*GA|_!b1QZa;s6 zapGRyJr5W`^>a983_zVaH(Uq^knNu!lVg zc0g$kbmrVJg@0_Ru)hyuh9SXTBPSa z4lkX$QQnoXI$o>mWC6n{wbvq>NY4T~S3E>3Le*P0CjCqJ=OqzK0ib32ixycd3II?S z#XukQD+O>}1pq?UiQ(dUOu+lvplV+rrh%oKRjv^lUoHY0Rotk@hvBdiB*4T2RBa#u z=wxFdSAU5CKzl3VePTwmgx)|1*`hx*jCHXA6Us9X63@f39$iy}6+v~pmjJW}H#Zos zLlsPh0QE!z4$uu-*G$KQYE=n9t61H86zfnyBiX?goUA><5%40_;k5CMiftn()|B3p zyi@jJu`tR0kY3F3h=Fj(^`hY>f)t zgLa#HnEs@DFn-xR__w)-*=_D24v^&@g#F;|!P-p)2ooH;p?%oR2>{cdu7tr5{v`yy zV62S1r8vMb)6YOx=I%7Az~7!wfSB|nwJZZs0I&}fAbK51fXJ{-4aWS8eeT^&37EwJ zV1ID{h~*S;!hp$HI5Gxt36aNo>v{WaZ<3m;5pY7<`!M|XQ@|0|XYUAswrRg6+~bIw z8v-Bsb3OLkQUJEeAa)om{7`C+r2vTFkO>dgF(VRlxRa?nEp4>aIaR?7Ops|eL(f(c-N5oGS=~6byP|&<{zNFsXgdM?<`3L txPQpC2a$iswFi-Z$h8NtfB5_C!4K21uNBu0GVTBX002ovPDHLkV1n1{2y6fV diff --git a/graphics/pokemon/lickilicky/back.png b/graphics/pokemon/lickilicky/back.png index 0bc7b3547b58f9ee7804fa34f5b4cc6de8d1079e..06a1bd6de654b8178f2d42d59120e082e7c87422 100644 GIT binary patch delta 515 zcmV+e0{s2?1nLBkB#}W-e*gz`Nliru=LQD`3K%#HK(4Ji=y2Vnqljdq!+3E@as>`VG zZ2%Y(Fn?Qm0VHWQ*mKnV_uvD7=_?|`cqx*?5*T|660~}4pegJWg_(TI^oW;l|bcTmzju0<%c(Q$>>^*@tJ7LPDz$q=d^R6%$F9a*ADEgpF6S0VM|MxMD63p^;I0djCy%w)Sm{Y}E6Ji8(^7Tpf3||8o&{un&eQ0Bms5(H4u^jY~;z4QO)|q z{6NNj2MF?<6(A6W4+!f3n diff --git a/graphics/pokemon/lickilicky/icon.png b/graphics/pokemon/lickilicky/icon.png index 14d004ad5550c79148e93d8bd06805313b9cbeee..50ac18c8a24ef53d37765fa38cb387ff484436da 100644 GIT binary patch delta 333 zcmV-T0kZ!60;27uTJ>*L7$zjyBz`aj z2&j6N5w&k^aeM~_Ph15424)Ws72|hc8L>6!CZHbia7??cr5^#=ZOG@>5!I^#H0Bvs z>)qXOjiKIGZZX)4hzuXip(SPC!*juc`v$c#e_0MjdbQeM1%ztGGuu;MU62HM|TdcdzcXIIo`J_=Df fz=jVef6vDgtvtE#t?`3@00000NkvXXu0mjfS!Rvj delta 295 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 Qq5uE@07*qoM6N<$g8TX|yZ`_I diff --git a/graphics/pokemon/liepard/back.png b/graphics/pokemon/liepard/back.png index 1c557ec17f08ee4f7a1233f7f31a0d7b0f107c67..aaac4131edf16310ef101fe9a3c9c7c7fa7b7554 100644 GIT binary patch delta 428 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 LNkvXXu0mjfS~$72 diff --git a/graphics/pokemon/lileep/back.png b/graphics/pokemon/lileep/back.png index b7499076f60f0809bdfdab567dc8b22e7b47b033..ea237e93da2dbf21f1c2db95008829bc17929586 100644 GIT binary patch delta 610 zcmV-o0-gQT1;_=EB#}W-e*gz`Nliru=LQD`4=#$qAu#{|0xL;GK~zY`?UcW6+b|Hu zDWCz-rKoKInycgm94hcEgn-uqf#jjhsPkYCGK822ocAb#&RyKuHVSsFhC*38S?`iN zDt4(q@X)TgNzncH-6wve7<;XDIlbQLe%}w?p90)#A;VJw5^G$If9e!+4}dd}UKh~! zFJzcfUj#DknBe>VhXp)KOo(=$x&C?TL|BZAN~raLqr0fY ziWCBijvY9^x-IubfALiQx-o;AfDpI)_4@lyD2ha+tQ9C1SHIU$JkuKhm{fh&-U=>8 z-{N@=hDeUlTVAu#Ls|ZTiui~xLdwgUkzv2gfruC)9B|zTls_Q=R49?KH@NFT4IqKN z0cIK?bwvlT&!LitVIrt(lRVE0fFm%ifY1Ww^FtqIn-?Hde}5;O<+%+c)c34Dy92NR z$cCP>`)p|efS;l2?IsXI>pc8F@bFK7val$x0SV^J7qu{tfYzASbg0y#c3^k`NnG_c z=6zFTWdUcOr=K<^>n)uax;qrNWkRhqHb8I5LX~z!mp?peJh32JZFO9ZuL{ z5Sx@6LXPd-SXk*FOPVm#JA6$

Y*uy?X&NTE|r*PXv^T&_klSZYE=IA9c!TmCD3W wbpZGJi}`bS=J(M-thAyFit@a1T3_o>&y)ZqoKJT83IG5A07*qoM6N<$g3BKpNB{r; delta 620 zcmV-y0+ap71=IzQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xd~IK~zY` z?UX%l+b|G@DWCz-rKmpu%~kRT94hc^gn-uqf#jjhsPkYCGK822oc~b-ox8ZRZ4~TU z4TZ9Hvi?i%NIRuI;Gtb}lcD#~d#8Izv)5`VuhTiLcZ2Z#DWHEXYo0_yhrb?cF7gBK?|y7s|0G#DD;Sqtta=Q9uBVkO|S$SwA>Wy$FkO zVT~FeIJ}EWtVkiSXxYH|)or;iil_3|jcHT|gt*rQhz&~<+%$a zr2CG}?f_f>vVpIET%9c)0Pr(ZRjvauG|t2S0}uZMC?l8o_^YxthaPx=W5;xa+cK|X+dXKAGo(L!v;S7mtyP1r= zebgzVw^Swuss*^$U(7#;Z~i`7h?Q1!LD8PqPU~ygV(b}|041C`*!ya7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L=!pZ<&`d0002!Nkl-ZCP`tOB1GG)taKbiRtrFA=?i_1U59@@ z4=ql%7pp>x99#lLwJcL20(!)KXVIhV}Aep@=kUkFY z`FWdEsJQHkBo2hV*)2IJlrD&=0Q+w6+H+tsgw9FA2$O_x_#S=R*3)r N002ovPDHLkV1hx6e@*}Z delta 297 zcmV+^0oMM71M>oq7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S@kvBMR7i>Kl)(}#3EuI^rHxrRYZzribB}T?tmVJKm`1! z@01M;gY8D7_i0dnr{l0=ILmTfvbSIYDMdJr=#JKyvCzE^6`rjF0pZ|d&JU}2>bL4} zm^uPvcX@AsgqL>&NN{RQr_1-pe0Tu`)fMJ^$>K)<00008NkvXXu0mjfH%@`` diff --git a/graphics/pokemon/lilligant/anim_front.png b/graphics/pokemon/lilligant/anim_front.png index 0c8a907e7fc685a85f025b855ff36104abc143ca..20eb75562450114ddea9ad49c73030ca76772ca6 100644 GIT binary patch delta 1081 zcmV-91jhUG2#E=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=#1#7L@W z000B*NklF=*pf7=W!TSv=@D@x`qyr&jK~7W;LHx12rQ=7O@j5Y0&!8AOJ= z#She_+|+LA6^@EP@g%|P;;G@N4eD}>oK3ef6y{US{Ukz0MIn!7sbA z2$(VU`_oH{SLehZ&D z4yxA(5TX+0<+~po=f|s%5G0(b*}T$moM$J?noZqQ3xCgf0Tvy8?l?!yWk@MaZGw9a z@r56*-#dTYE}25N6=ULm%1@zY%XW!b%MOHIj$N8IvqwV zNH@}?e1DO~Bjc=wkjmIJ-9@DEB+FX^U6JtxW51f2twyN6TKo3;AX zfi< z@m+ZM1rPFF3(!HP06aTS073rehM0l`n~P&0Ab;dM35?WjXp7azIGNx%`v3&F!0aC2 zr)uyDOl2Qy0N^I3_CB!rt=W^rzkP|?}!u!BNNo*GYt5q1? z0TEk-GzDA$u-XFQ3jRp~rYUhCPO;*E!bc*pqflec2?#EQfYbmWUho^5834w*{sDkD z(|@!wQ@Jx}Y~m>X{z#e6(2mZD5a~~bIR~Dm!^M?B%aHSqM6If~&YDuC;8fO){LABa z_;gqdl#pEdPpk(6c`%Uwg@MEc3JfHU=Nm}e#R3D_b}`>Twh0OhBnISZu7PYypwc|o zKsKL6INb9MBra1Mfq@)|4P=vKJO%@KO@A6;9^j6_Kmb^&ekcMI*9F1gK-dri9tTE* zf79~-Fpv>BFvUPw@#v-hnvnX9DFVtfh1!?QvL`IKF|z;&1OV<^3IOPXDKZeBderjh zB-cPV;M)8c&oL06f|**hz(6csW3n}nlwfQO1WrQRRqqT$AQ*2c_1rrH$qELD1u~qs zm-&LhQ=8^J19=b(v0#+6STKtG0WPlo8~x!g(Ot^?RL-Pf00000NkvXXu0mjft8@Pq delta 1059 zcmV+;1l;?H3G)b$Uw;GsNkldAzc@1bEGMo z0x-J*n6ur50tgSuA_DAEWJ)(T1%eU=3QZ(%T{P7QDgn%rg(rZSMFH*@6j0xhaw3vP z2HjG?H&`&<5J&rRG_ih;d$|NfT%R1n@##A*{OIe$46K}7xLaDexDIrPyB z-2BEy{b36Y@NO0`$OLzO!#`Iv?O~G#lmNiEiGgir9xE`Mho1Yt($yGOka-tXaKF3_Nq?)N(11HfBJI4TXg-0$~K9`v!oJv8%a z{q1G{q=x!H@qoXA$F_~?H4_M4iSqKpFSh;bWnh|!d!}adO2@VzpDb$@agw3Z87n}; z!|!bSsJRRXAxXe+&LF<`&kYca5a~RYg&W@h_Zk6)}Hy(XvC9j zf*JK^-c?8`V)0A@h*JpGVM&3=#!E2y1q-rW^U*=30L+~wfFS#GZKh|*5=5P2z&Fja zBruXUp$%3u$H@fG=_kO?1!h}-m#V=kP?>(N0e`^u$uGIvK=fO)wwJO*K96w&Bu~CU z;LG=J0dE8BCV-Fz+rUCfY!?8lRS@0+AzcI{1)Kx0+5o`{{z(G5E;1lav0{M4jznTd zp~jpM5L|Kru>nBb;5X1S037T3Cjh=o-N>BEok1gtqxk+2GuP0L%7_4|5BaYJJZUO) zu73<#8ut>7h^pE;ZHoM-ARefy<#&%7eEY?KfW8p_TH2j~+!;vR{^te~7bq~0IG%4H z(Ey4JBpN`Gfou{K7)T84PIC<;DuIM~u7L>bT7<_v-$3FrwGkM|0pCEPB;zp{$Q!c} z~TgZ2$JJ~U@#zP@Bx3IMc$jCg<`9N86$%XgEH0#$o4=B$h zVqH+fno$2*&jKJ2066an0H6<9ivk1jh)WEYOmYo`0glC<@f-v32$-os3JkX`rl diff --git a/graphics/pokemon/lilligant/back.png b/graphics/pokemon/lilligant/back.png index 667d772e90c1f33e446768d0e12be98cee15a41a..7963da53f537ee54b62ee1901ffc1186a6ccccb1 100644 GIT binary patch delta 673 zcmV;S0$%-(28ITZB#}W-e*gz`Nliru=LQD`5h7PMQpErO0%=J^K~zY`?UgZan?MxD zF{yks+vg>1lm0b8Pb7SHZvORXv~8Ohn$yj7m+En6g(d;weP?z7|_ z?lbg`*iAW*_ey;O*!TbO-rf5@fuj6dVRc*Rg4{wRxOO$pHS6lNe~SYhG(`=&jexBK z4lvK4LeQAN#cpSSebutSX#_|QKXg8f`hbw$RqItyXE2_O29b|8n;)9(*N%_|gYoAF z4s23bbs7K|TH|OEjX$O-czw4Hg!aT5MA0bqegY8EYuH1?W7O$G3N9g6^<%sf&+Fjy zg-&kfH9d3&k-h=Xe+juB++;He2w{ju;eEPFZ4UTZ_B^d70O&&x(v=4e2driGBsDU0 zQo#HKYXJnt@>!EReYZ+=eu8`8o}na>2LqEkZ>w+3X@bqo7z00BTcBu0#CR@wsa z1pqejzq1z^AY63)PyqZlV|gP$L=CqIP;7+6qd4Rj?i6Eke+?T4eW8#t%sQarQZdR~ zz=0yK^+6;^5I$8X_VU081B``v#H1%G(0y%SxSqrZc0@vFluDaW+Q>+fFO=m%W(B2^ zS;|*F0gGEo^ON2LWHDdg(^sA54FFF-89l`>X$xF`66?hu;H3t9ssgzT#O6g{`DAXZ zfMf^Kc9#L=e|=t50a^p71W29OmB8T*I7oh(yAn9-^e8*t+ExKmHnc4PNCxH-pxsu1 zb|M3H+^_L`c< zXdai-dIA_b#(aopv-78f|0$=P?bs=fJZF++v#Ihw7hdBx={)Fms#4kk00000NkvXX Hu0mjfIlwQ; delta 680 zcmV;Z0$2Tp29E}iBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%%D@K~zY` z<1;BLe6-noZ##bN z2w5_r8HhprzAz<)DVGy)>_aGQYUASC{ZL;k@##hAK>gM)!cNVU3k zVBjjTs;_{9vZy_O2T>qJ__#y)ssLRyz*=+7E74r|wn;N;^<{cOGc(i&6%(2B-p*C$X!*{tfJvesy<$6*%Sepmto}%Al(@w50%~ zf>;6V8yU1x73gxu< zx_Em{#R-a&YFdwgu|vX#czz_hnCNQS*^V98f!9p)d@jGr{@Hw+!2YlSjzX4_kZ)=GmL*|wOzCKB+#@z z+J>=Lsne$Aw2fM)ifG~fOQ&Dk!&XHCcE@%!J!=Gr94K5i4Jaq8HS%Xz7|s9E+DA36a1AOv(Sdg>$qAP#{V3Gq2Egc_sS zZxGTV(ySGbX-Sd|(BcwMlaPSr(X|6EM5%VlAy$jIlz&*1OJJgAX;4ZT^K(i=8KLx5 zz`RNsi}>1##Yio~Ow*J_>09)z8<-P*IBTI*3W2MhW zI&gchi$%yY4M-jwh>Y{Rr{+K(ba57Pbyz0le?^$#AQZq1H*?BCpU-*|)q}g%N1(^^Yhy>tVf7AjIsiSs zh9-^m3nER*F|9s^J1gqES`Xxn=$=*)I~U#KE(*}|Dgyrhse3%4==sTZU_2fJaOpuB z)#teTBKDrR=w^g2V=t-(ye~Aq@mOU9lSO%alWwsp!t|J%4?+Og)@FhZ%L(rlzAU0! z^n^v>at&N1suRUw;C*NkljrZLnk5?Mf?|lR7Kt^51#GmJSLNG;UC~RiCcOXGa}w%$=}btUw7|m z+CQ|$zTW>UU|R2OO*^R7iD@|Z^1o2K8y zHX-{vgAmiWJoB6O#e6=%gekg?Y~Sx0#zllqzTl4uRe?Lxj*z01~2va6vW( zErgD-eVrt6Una0`7z7=)0I*n++{yYA^vZ9(ouQ*&xCB%OEks-geM88^m@=lMpqWQM zI$d-!1HcCTlYdeLJ}d$B8g&LQLlR^%(8h$1n#ijN7<0YYn7IlDGoeyaePVO2DFI>wpVU$enVq)n+ci7U3l@ zm9x|cA&hw$Awe0T@MJ*0P8bXM*7D_8E<;a}goVWx5P!=wPgNiui47q{nvEoY0&pk5 z*1B-HCjs!tl98ya@c38-?(TK540x&l@q+`Aa-K|s+L6i|p|wD_6}`8GEV5_z6y!)UGo-nPj_QIH4#Apv?&-BSkoV&0$19^9=y z20dEbXn%W34(oT2ks;{O4K!&Yms!3TQXY>Y(pSXF_STd#b`QE=?ug!b9kF-WJM9_1 z@wASB^B;PrV`4l#+YL-669BF#q*0p%={<{RzgE`t(71|dSP#(8B)X+L_D|)2g;{i) z?%GfroiaBY1^}>~%>*5W6W%L)S*SYEY0Sc4wNwSJW7&yL%jp#X_jnlt<|urGfDV9L zOab78!LnW>k93GITES-EJf+FT;`^SKe`403uGUkP>J^;gUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=)^0;+wx z0006g^nVs3-j91v@1DhRPvh|5 z@PLCtDo6z&UCI=zr>_8Dl}|s4#UcPut5K`UjI1-`GU{Ax)C$j&LHqWz^j#^5&+hbO zz`H+XMONP+ivhUyN>L|RApV$bS4Nt zXo_Ce5TimAw0{;pTS zZ8at%=uhFG&g34-J7aI{@6RCXIPs7FCHlSf@At%4*MD_reDnQQ^n*

bi6hrhBn z8#44`;l$@Y7B}V&^t)8hto!)NvWPxjnnFk-vgNxE@rh3s>k`q&UbF)of3}~GE71Z` zMCc@`xJg({+ujherbp13pUslCJ_dv_Y{A~1Pf0YjS;8g=O~Y{7BZMSgD1D7_ivmO? z>$1l4aDN>vd1js)V}v?O;JU{cfAS#keg~k9%cKEb#U0OtfTomwL4Yf3dKLWCTbize zAd?38G(ejua4Ais0A4d;Fce`h${T$U4Dv=@fXE_K!jA!zC#Px4q#y1$|4YDtjp`7K6# zKfHH-Ivb&<9k7UJQ0Gotwk1I#VQaL;4 z35oyIq`ImyMo#f%AY*q)neZ^_8f5Sy+$!(re}S)%&dbyfV}-7?M)idFae z`mDnScUAXFT7UfY7&9iJ@4Hto7BOZ4qwCX}+XgnW&xklG=6yRm-j+4QxF3bgoYxNX z13hFnK=`6z3Fqt_?X~r>1?0%V-SIt?J0pJ;Ow)}WC;14z#J@MeeM)@wJcrh|AZW)w z$T%&yj`zQUrM+I0VUP$X>HApR7+Y}Oqk^X1<5#wa>3`#;!AB$}8?N_|bbNBLE-`)V z$6J87({!Fpq66ZX&`nZtlW{R^drioSwxBydO>cwV`UDWhvUz)RHX-rEW(k{MJc*)7 zpAeGyLh08SwJE?cZ@f@9`rt;15N2Xe5{R1YI+Xc8?fF7a<19KPPR09S>0R~ne}X zd`r)RLk6t|`@+$(I8AFppk-;A0Rl}cKsn-sL$Cq;^`!HEXh#Gpzd$@V00000NkvXX Hu0mjfrpzrU diff --git a/graphics/pokemon/lilligant/hisuian/icon.png b/graphics/pokemon/lilligant/hisuian/icon.png index c8149843fc7723edee68da23fe4fcf43613288ac..b75e3948445be3fbea8df0ed7346060b0c16f5d3 100644 GIT binary patch delta 172 zcmV;d08{^-1FQp(bQ=H%bV*G`2j>O{1``)Ev-D&D009q4L_t(I%aMGTfAdEUug9v9 z>yZT*zANj0_>UrRxgIr)|33eZ8VBp=&qo!Q`Ex#cw0vL~8~}fU0m`E#nE&VrCJrsZ z@P`aYf?+^UF#pjL%oj+4LG}wc!Td){Fkk%963jn@A^fgr35Nd*D8aZOI~|;0KF}|H a004;ov;Imgi>3eo002ov22Mn-LSTZD5k~p| delta 158 zcmV;P0Ac^E1D*qrbO-?yNklL8R0MMSfBF2Xsvx;Wev@*eIEEoi5> z9ONY&vb9T&P7N6h*>Y8v`z3=qbSU1IFS&n?+=sFMzHIG@D1R@p*s|kjKmnVGApkod?6+8?CdXl>0s&Bs9o}_gE}}IX6u*c-;#VB=f5vgcp{2ZEGA8x zt9figa+2O}fT1UY`WgZa{$}3(2qA1qPtGB1g**fjhtwk7g?}whGOJcJvv1I}{M88g z*oNJA$({D?zmjgV^==F!2K+~BZf9hjk*|df#C)X$4~xN%>}SdFk>ZoEZ>MHUJ``sN zlx-G<@XRPKp6Q3J$6%a$Fy<+kQh2+F|#2TE>W3bEOzwkTBys`N8KHMO{)o{40000DnR4Gvr-LTTYbWjs`Lo`XNvJq&re)eSeH~`5zPYw*W$I1N7Y^ zB7;`YO7^BsH_i(>_cOjM;nfk-Uo z132tgKmlq29;l!w1=a$qO67qQ2UR5uMl67X^T^ymiSD8Ye%)UV<{Isx=a<(hj#IP; zU!y^WIwR(x_Nui{ktH+v55Qz`+>ZNYB;92u}T3+Ofibr<;SCO^imTc6CfM|EtR! zAIjy&^)c1;CppGPDq1?{mi31{sqvT5I~whuEcZ((@PF6oBZr?WIpHt0B!E3Wk$e>j zh}Wx0!Y%a&&J&(5IBU}9Pp0HoCZ4ia0~`Jl z1#a)srBidK=1$G`YGzy1jJEJV&A8lKHNQsX{!q=h+*>tgxZGPcXSm#3H7B^-TQzfh ztXnlxaznpY^HkfgnrXRj)GV|Nt2w95d#7d_R&xMo)Etm|qvn9z8#M>y-l(~=bC<{G YABWw+gjo%?ng9R*07*qoM6N<$g1{>dOaK4? delta 564 zcmV-40?YlL1&9TZUw;AI@;T{?~V@bIuBsqg3|hwptPLG zoCN|2N7&R6>^V{@3WRuo6d)def`%#$Ek(pLPyi1Qi5GymvlCx2<4A}G*`&;J;2cm<&JRe-tJ!n0%tGi|o;lu0Q-2U_@bode8plz*;TSq6|wLyE1eWPouE zL{e_irzj3I>DA1Ri`kg#`i> zGdVu{4EH~r&VTbj$cPvLj^3TX!#5vc9{Yv>M3KFI^ffzs0dRLp9%SIEYywAkm+4ef z!1d;$<}+)^SG&5VIsU3Vp&#Y)>H3e=~}ep24jIk&8y?3|Mu;FOOidxy)t{N{K1 z@5F@T=VdsPKTXI0J8~AvRXD(3SA#&(GhmWHCNi`gfPb_I_-qU85#whA7D%F4>8?0{#?7C4*X`hAz3F-ts;m9{QzsmCQd_zn>Ie!Tyqkl=X_ z{jDIJn+p>n&$C+k7()|?u_VCrT>5xn0tuGHq~yTFcLF%(=VSRSe=l4BT6wdkJa|)l z2jFW(b1tjoE`U&;!%FwbTCQUx0aU>7paB3EH$Zj_W0)F%zr;ua@)$z6%k>e7YM=yT7*M0+ z`nR3%xzgMKid(yze{ThN00zqSeJBFXl}Qu|KnRI|r_utZ8(#|uD0{a*bOng}Q<|~d z^6NL~tA2wrtD`q#E!36S0l)-;sJ1KYj)e{|R*hy@fc+E=3pF5SthED-5?O7}0F0dq ztz)~jH-hf88GOR4y%9X)M3qmXQH24B+AEF4dnnq*0eJhqSN{?LVZ`Xx20#x$&m}6R zEC-{lzFhYMAVP9F&IjFR-*+k^_gp|vzq_szErLjL07!}(AUg&TN)5nU5-b6E4G`Mp`iNLH zP(l&%sZnzM+fMjgX>I_;t=-MH0sut5ay<`;fOBOMg#s|fBH*ciw1DZx(*k_T-hm|r zi2W(eSZ?|C8}d}YL7CMN%vg(bWp)5G0Y9wm3cF*W1B_Lp85Ur_MZ*FOh!|__0HZ`! z+cO|zr$X!4Zta7hJ8cG^@M<3f&p1)#C*i2V0EF$8M&dgZZQ}sIzVE+8KoByzwE@^e z*mH@BDa+yLs4v$-{Q!uNoR0Hh_u2QIipYTr=;?RYb)rS$0QyeqL$nO{1{E(&>+5^~ z007BJL_t(I%k7de3d1lAMSTO&C2MYxULfQih2TJkc(XVkFM@xTiD~-hPvSx<9M3Uv?55rs&o2~0QA}fQ;O(*G6k_5pUCGc zVfC-C2opEI3KQR2gyCQ|!d#Lci!jY#Ho~-;X(NpE<1LKz<0Xvve_%GbAM}AA54*#G Vb4YgPm;e9(00>D%PDHLkV1oK+am@e# delta 234 zcmVT22V1La?L_t(IjqQ>#3d1lAMSTO&C2MYxTp;8gh2TJkc(XyM7vC!!mL=MYlb)$YP?wAv>aoc&SNW@P6Y8-^-doXfI%B? zN)dgTO+l;#AzJd2u=-c3FA5VczY7z0ZNjjR%Y!i2-6oip}yoHf| k1YyMg1GCBfpbz|b0=vV3b94Au&j0`b07*qoM6N<$fPx# diff --git a/graphics/pokemon/linoone/anim_front.png b/graphics/pokemon/linoone/anim_front.png index f2882dd048416982d3e184a50bc1e0427c141635..01be7de73681e151a7b4131707e797444024e4b7 100644 GIT binary patch delta 914 zcmV;D18w~22lxk&bbkN`bV*G`2j>O{1{N6JdmXR<00Ub|L_t(o!|hf*Q`S>>9?p*7Z+U$$UjAeFm<TBWigxNbi_mbgtB z$iLk%JnZs~VXMj|Ax?U&Y897jm6QSgc$*DWi+G2&JP&cY*hdgd!n)M5OxYvu(S&Jy zA>sMqA*gPsL4P)BBf<6yJdg@L_E0zuL2xvUYsN>$0ALb^4UHQWJYc2oxQUXNxFn#2 z-Nd874tBbDAdmU0#6e7kwKk@9>)Z_4Rko_>)JnGgQ-LR92$|Nc$k4v$Xop?@o)pfa7$%{WJhKQy}s;0x5Z z{MYkyUXpD7;4;Ku`eJ%v;L7R#by?n>3h;;5B@*%OoEvul$(962rh~pQa9)1Nz$a?# znfsIH2+5sq5EkflS53SUjI+{iS|6%CSshpzP`g~V)!3TZ0JC8o zAc${A`;M~S#~4-g)5r_7W7vU&x^v6H&yG9Tn7Kv{G>Rd!7d($6x`v(WW4 zfjUZ~lZi0#FuXkd+`hMFG}lh11$2&1HiLd!4}XHj?Xe&uA)tHUVSZrlSdP%4w4RkP zOl76GaG-KffQ*g`L8B74v_>SP-@38w=n=xY%s(5gs;OOw1TeQE=6j37YKC1Ig6jL8 zCd~f8?))5`d3l`Sq0fyWCLgY%)a(l8IEbZF3+i~?A)2)eJmZnJBOyE;8}QjT+-We8 z8Gi@&YwN2R->4AiqkYS_Dt}^30vxx=(;&;g3lx$3;q+l|?~= ztqUo^A!6uGM&b;nVI~>;8^W*1Oc)9%NtOJl?B2;>$;R}Ix51O zDk%f}!G_q=E#fWS@I1u%id~Jn*jp*3zf`Mteg2Ie3LpI8 zl`7G1|LIHN8y=tGLsvyXX*eF+agGpwu6GW=SEyg{-+zxUWr5go>N3P&`)YV);mP6d zZISLy38n}Zi&VTlmevD6vPJ;QbTBstE{ksk_)L#Ia(~MlA$jmECIWMg{kqEwu=_x= zLTf5B*usdaq?$g_W3(Dj82u1$x%s!tM8Qokg!jYjCR{~3*`z^wSq6F*x}G8Mmey#mPZQ#Pczyo0`DD## zuI)?k1dZDhK}JGB=fK1KAlw0s(0}H&8yYj1X2S|Ex61ws9dAz_=0#-X2AaSy2zVwo;Ikk2roky?9DHBLT*dfKhd>|go4zXj z#CwO-~38|gOhZg$j#URoMq+z<=*Ke_Bm!xnq5z-+C8 zIAxgJ)xi7^N17lNNz8a@vKBFAn~bBC`O(y-i%1rlF5wd;}lCxAP7(VFspkSr=RqHs8lNm!A*> z(@b;Cxxbm2^I0C&krCqJtdJt*fOvBu0kbAfH$-PbYN-7|KZAJue}bySQUgjW;Wff) zC6;Rd+lqWfSS2f&*Dw)!U4D4E)&~}_J3_yXdBU7mz=C#Pjnr<$?TKr>FgNl2L))Xn z%OqL#oZdeh+S!8PPdz7UByxL!ha`ElIZ2=x1Pr;oLMTKVVDZd(AEgk2`HOYERBnKf zaQI*Y7TV`yaT*0ceo<$XhAU41zra4ge#~JfWHRdm@?hKmoC4B8K-*x1?8GBr9*i5z zl4ZsPZ$LU~XoW?|4ipDOg|7i@sk#mDuh6#e!GiKObYni*D8C>OS42+3ohu+xgBAAH m3Z@_QhoI&uis@JR59b$!PNnA^SpZ}J0000F7cJKsgQ^Hy08xtLNEw`gO=t=DY%8+JDtjyAii7*E%+T z;`@hoCx;hlnsl7rKWp0Cg5ggcC#oe@_5u%S`e<{Kz_u6A=k^Mr5KVx^bLV*!LI~zB z*8Nhs0Ybvzy$x7s&d1_32!NuqQ5dc~0sH{F0Q;E3vyjWY3$V{@=&u221F~K~(_nViOA5jhQa vu7F7ORybHIn10Ydf?8x4{r;!9+62Kbg-)gCj0rq>00000NkvXXu0mjfp{low diff --git a/graphics/pokemon/linoone/galarian/back.png b/graphics/pokemon/linoone/galarian/back.png index 1ccb5486b5fdd11b1e90d6c5857156202ca9d9bc..e33d3cce4f895c458dd620e731e9d9ebd0039cf6 100644 GIT binary patch delta 394 zcmV;50d@YL1e64jB#}W-Bmf6=Nliru=LQD`7bNHpP<8+S0e4A6K~zY`?UFHX!Y~kp zLy@8;f0=9@Dshpb$nW!e=W{&oTG#r+y1$w5`=UOSa|ULQ7l8r`GMKG<9B>lNiZ#Fm z6N!2>Rx1Q5H=sqlP>5RT*hvgU94}rGF&E$>SWh<+jYTd3r>@kP0L(&A&u(3@j+=dy zs=%ompoEVc^02GNtSf3Vp<_OMLS_R%`nCpGe+GzB+}H-BKN$Um)eJ#Pw8z;5)Z1|+ zQQ9pGpf)hu0aAPq!^k#>0K{46QEm5cm2JSQCmqZrH0)XiyqZ`#X1BYJ0qsdn0W`|M z|Lz*l1)dE8?+grTpiE24!1MgCs-1v%G$@RL=N&35L7E#fAH^K;j@J*nRsuIEN&=ST zSYfWo|EZb;10;eN)MPNN{{+8kC16Y@wE?t#l?LDxdQJ)Ul#XZTVszRAXjnEaI01mU o?rDL5B|;xS33}QAuJvE)7rainAV-b~K>z>%07*qoM6N<$g6DFk?*IS* delta 403 zcmV;E0c`%11fK+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tN0eDG7K~zY` z?UFHX!Y~kpO_7);e}!xvDshpb$nW!e=X1ohuJxC7e>36tMSZB|49p%c0y*YnFkAOH z;3S;oYk&(T3e9M&R|r(yfRWKcBN}a@PGTsdXz_}OnS?Ha^<<;aT4d7i)U_THfN22w zxm(w)<7OWw+V9jYP{2n9SAFTeuYKmYK zy5p<^s_i&ZsN5C?P#M_m013VaLFgKU0P?K!sJ8pJ(ly}KlMZ$g26hbtUX2|c)7xFk zfcC_v02-z5eYXwh0?!7%I0J(UD3Zc45W@Q^n+b?VgWMVjaVVVxWpBuSqk!5KCgvkioS26TGsKfDxHg2GICbYJgMdIVHGLI-Z@2(P{GZPYVPr5&8g1Fw+)rt^ZL%`~tjAxgZV^vI!9!Zp)q%y8k(RLZqh_>xVOY=#$_O5G@pmJVw_6!Ggo!xEBCx z3R*@WbU+0JkTw9hLz@TumT)o*F{QJRVQlABP}16$0-ykwv410F$k__O>r1|nRdA#0 z+958rDGI;h$daXof7^Li&t2073W?jLZx4Xl-qyKPvo^3ht0+poF$@eXLa_weN=jWz z*#o__AsI{r$g0`*r(ALx%P%YHJsC`B6)K?p_+f!7*<^0-l!nT91{Rcg32WMkW@C?K z0*vvJ(J!!Qio4dBto^E4QZG{)WS`O%YCX&*bgvWQy-o#Cf2ofzTkGY+1890&@{C}OFv`$9PVo3g)dIdh{?<3u+y#VU^n)(#k^?-jr*l#}_bL6p%Uh*Gic>F^j zkecqsl88G;i%HMm>epTm)Vt5-_)P8gJp%%0*3k}Trvo*5PWlJzH}_2YsdVz{5RP{G iKgU#`|Ek`A7G41B%8&iPTH2EU0000P-R= zT3{{kXmaxeU=0QhF(}%9Na3Q!RL32#4TUoc?A6+N59oIhXoGbj2v8eD3uP+H=z1Vn za2Oo-0$@Wys|bW1sDS{|7NBrwi+~?ePKF_-bQW@q?R*MK+W1NU6yP%UZ>0DL@tvNUkJ=<9`RyFejvxANT)P`lfvkZRt41$JkZWyKT2z{nz$ zE1;{S)Qyxq&_^4Q!Bl{}o_~BOB&V_bv7(-n!IVy+0@{}^mbjKn=JsA$sEub}Ntsu$ zp_^#8_EaXo7%v(963e!H+ZmI0?=?&6RYrr{Q?^E}NBNZIIwjugOaPVn__4KK-Q9tv z<%)Ogd&ynt{&%^5`uw1EI(`&G^4HWW@KN9IX{rtasOxL$Q)D*)etcrT!)(HlCo+1; zf862z8~s3Pwx38M?i??t1B0tC2c4*Augz&q?GFP30%+Iq9_FVNHGUizB*|CqnGI9v pU+S@EuaiGY{iS}^KcFP}3G2#_{V+x07XSbN07*qoM6N;tV1iA|1DXH; diff --git a/graphics/pokemon/linoone/galarian/icon.png b/graphics/pokemon/linoone/galarian/icon.png index 12437ca3effbcf2acb1bc7874cefe5db44322dec..57391b401fcd937125293770f0cab32b13d0cf19 100644 GIT binary patch delta 279 zcmV+y0qFkn0)qpPb$7$s8Rp`0OmU~b?$ zklm5uJ-yGnT002ovPDHLkV1fcmfA9bR delta 261 zcmV+g0s8)f1M&ipb${qdL_t(Ijn&dIu7fZP2H@PlcL=+Y@J{d3%e_0%-A0M@h7R#d zXi{v3Zf~f?g7Gin=nLTsOVz)_M7wJwn*Btf+a>b2L=;VC51@p!juE&)riIT&Uh~ZS zFpbE$Y(z2=3kzi;9F4^FD`sTrkv5GI<7mJ-F)}CN)ElHr*?wjg?FWN&*DXffVfEv*LX{H8; z15C+p4joMOQ9Kxt&4DSWj~AHJM+ak${Q_gwXkgs+RWRNMgirMcMCq#Dg#Ubb00000 LNkvXXu0mjfxU_z4 diff --git a/graphics/pokemon/linoone/icon.png b/graphics/pokemon/linoone/icon.png index a1e1f96af4604706fb2bcea687e48afa67861420..2f97afd8457f6bde4e4a5b5d326e62ed969574d9 100644 GIT binary patch delta 309 zcmV-50m}a50*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1{oPHSTvP+!VwowTqJt26StTHffu# z;-J~?PmYkwC&UjfYvUR!(oyiBrI-ZSq$QuUfTBZRxGifG$$xMJGO(2L5SW$OGv}oG zV8`{nptKAfDR0RTsSrH4a8)ih3*T~o)l7&!09m18UL&4;Kyt+w#HRI+f%?=Q=U8e8 zw^~G;H98v272}5qGns_|E&ghKox^*IBM$z9M}Zb##vB|N!#r^4z*HoMz=3f-dJY|! zJP8~;n55_6!7i+Efe{#NZox+fX7JI08T)vH(ed!EpZItJ#`u8>$|Y%)00000NkvXX Hu0mjfpF)Qq delta 269 zcmV+o0rLKg1LOjbV1MsPL_t(Ijn&ez3c@fD2H?EG;Ujntpx{Be)pxOQI_Xe|n}YbH zc5$*|z;2DPP1+=@IP|vrdq=tO2{FMkChno6XB0HF6iKj7R*GZ=6rG30ell8-^dqna zLm7{O&h?48ATuHIY94t^u!J!vB4gNC=ZE97qBR^H#934hTAAWKxt8^oInNalP; ztXp>sRM+-0$HNo+UkxJ8>hKU_9vB}cbn+Ggl7Xq$-#L6MbbkN`bV*G`2j>O{1{whtrTTmT00R$6L_t(o!|j&MYTG~%fH%4+ zCxc!fRi#1>Ij92nE>^@oMnok)^wPA=1ElWA?lnPc=OPTo+5|&d2ul41Zs<$omP6j9 zvulOY?5+wumEt)F!F<}4W>-5OA*=XbW33_QZs5gf8S@s6H-AX00q`h|)`AcLOOB-u zfblE{17dkJG663_Cm=rFZ0Kg#hS&*@0zt-FAcr$23_~$MoT$KrGMFRK_9#0|bwJ8S za1yrRbdNC|V5h7?03c&I=z#-(lVdktBMcX}B^%1MRRHhsE^Ht02P0rb z^!2;=;cia=yE-7D5v6`A0c*FbR>JpcKs;L&no=dc>!vAVR|bHLQw*G8G$-qz0|=jp ze93@M`}(b2G7(}$8vwCn87uU_beT5-cD>-hOaQBQgnt>3!~ox9s0Z*9M~wg*@(TpG z8DPaa0^)NELm3KE3E(W%0$6DTXczwy6M%n&Cjj5q0^?+#NPuvze@TwddERF8NhqmR ztYQ`aQndagFo8K|xtMPPJem;42^tIst;2DI!MLu$aA$ZsIKL|`Zzf#MHV`r~={{(sx-zHVnq_qV7Qf1qz3{2Hi~=I(hE zRaNN4aDGMRsy_IU044&+`y5m|uu}KV-4ei5lvC4mCR?-F%tzbAdT9HuoowE7F#{L? z!V_2Ir@{{Ootu}ne=xH?Ypg8D`Rn-Mty%L9jn~QA0wAEYwbF< za5l?eAa2H~P=B2t>Ht>AXE!C!)!u4AaBv$n_r<*xa9Z^3hxq=sBY|BLkkA&TAya^} zyRCO33~E4LTWJNbRY~akjB$Qx0mz79;0l8&Sp^e7L?QDf2QluM^4Lu-L+FurdtfQoY{6~{OF$sfSMac58*Tme4sM9pYTk_I<$XdBWU6qwgo zfEwh$-G6Oo{ci}or)?ga0GwqNMA1Y8chP zGk0&=^sa{Tj2eN0C3LGN z&oYDZ1U*K{!%4FkfIFfFQ+*sx5ExALafqc{{C)feVi|5*ogc>M00000NkvXXu0mjf DbPjQa diff --git a/graphics/pokemon/litleo/back.png b/graphics/pokemon/litleo/back.png index 35d84e49bd59f1d249200c37da04d80fd87386bb..5b775c26c884f677bca6c268f486dcdd243a0c34 100644 GIT binary patch delta 448 zcmV;x0YCn*1g8X$B#}W-e*gz`Nliru=LQD`8YZ)^PZt0H0g6dPK~zY`?bAJOgD?~a zaKq+IX(M$`Q95)?EpdPfUjX4D8H>~dba8rs2xntKg%glt_VJ9t5W7s>@&=^n|KmOU z5kl_uf3;r7gFOkBz~;{;0bBb(6h-iSVh{P=ohL~GV#D^#2|~ydf4)T!yJqYVq(RPD z9zRCW)(M1oW>9bNBi%YC7=So+eS#31t^s0Rx+Wm_K#<%5u0g!h;4lYWeuP|l0OoBT z%df-*UIgayQyRd<`83_`z}=CmCV7#zALou ze^Pe?cvFMbwJ~`!{a4la!m5QW*8OKWv@S94H=!xX4S*T?Hoo0{p_#F=w%G+Pcn~M& q8qE3%=~?7_lRYyQ09^w2TBu)Kp(83wL};r30000QJjqhHJl(hW*^Vk7-GWI zEpI?V|HrfOGkMfM)_fw5)+Cw&i@QxCHXj2?lECwYJ>~0g&N&CMU~3ixG2~n<5u~9t zRtPpx&RCv4C&@Ahqmur0pfn%5JZV)jXtS~?~LhAt_6cJkO1_gJ zIC(jt=k}F`8^D(a%&xV~Ytje!!R!J@Z2Av!XkB979ztD`8vtvV`*yoSyT;5r<`6jH xAd28W*#A4Kk)P}$AHe7u6M#;EN8K$#{s3H|BPu^Vfy4j+002ovPDHLkV1i!3#LfT! diff --git a/graphics/pokemon/litleo/icon.png b/graphics/pokemon/litleo/icon.png index bb5f59fd8b5fccb921d02a28a29f04ce193db170..60416d1ab175daaf2dc4b61c960071c33a14cd69 100644 GIT binary patch delta 291 zcmV+;0o?xE0{Q}wV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1{)5a0oJSl z007-dL_t(I%jJ@>3WG2ZhVKoIo7|c=XzA29a#Tt|H+>%meI_YX=nyZ90SB)RMiZxY zDU@crFPHG=@&WwT;;5&;tb-gLm0F9vHpx~w;LJ?{Lgw@7~BbimIGm6$~h1QtOHIMEI1GbjD*67 p+6lA$?IMhPEF6s4`O$yXj~C1yo)9HO+Ts8J002ovPDHLkV1jv8brS#p delta 259 zcmV+e0sQ{@0^0(RV1MRGL_t(IjpdTR4uUWchwlw8H@Vq2&^Y-NNkasYOShARt-vhAxB9$sKbn4O!c_@^n8S+rIP4J(Pv{HvoxdANv(|sRzX8?G{ zU!npa`49U9b0ESjHUJsD17s+G$PW4zvOp2HF4=lHLJ^2(XR$0m$S4zW}A1hKE2gFWGOv zO`$@!W(7MAX_Pm>%PHOO1K<>1&L8Z7h3(+>5AT(Z5uO6)&&znC7$w-H0OxO%*!Ia9}LWOV}CU zYn;H>I99NhhymVt={2rMC=vNG5>t4ObqyP%aP(gYwr&#{UmKr-^t@uXeQd^4a|{w} yr9sAt@D%9v^)ffInE+CNI)E(znV$cq|BP?Wef85)q1nvZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mn&1K~zY` z?bE$(gD?;P;KOqU9ONC0B9<(0@_PgIFxBa@ zril#|L4r1)3)r4b6NQq}t+Q?}!0nsHmJmWt`Bl4yNHpdnbOz;O9c+^WVbp#Cas-=4 zz?NMCOx*~%9ui#uIRnDA!Th!bC4CKZ4$=is5$IqE8V@o-?|?3U0A?^xKq5ML0djj9 z9)fIqWUs)@M)_%t70hvnBfkNwQ@q}KU@NRH-|RsPo6fEuz6uo*9)ruzwLeh|5^Q6@ z`6p%Ou(||?s{^)Q>W=H!VzoaE6QHWgp^zAYmiPVsI0-$3j!XALnNHV5)f+K=rhemp z7~LM{IczmJ_XD_KJq|0FmWT#lJa;uF;Sx4b`P8a*KTr>?G=8n{e0 zuHfBsdH|fdIO+vB4J38-)MPz?YJVC+_mz<3+2jAh{;kh?3i=0P)RK2&9=M(W0000< KMNUMnLSTZ*W$gC= delta 530 zcmV+t0`2{c1(^kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80rHWFB7f*! zc(08@LZQhV)36WFSZkL6 z+8u-H`vAOHgHwNupivY9&2j)xzYB!94AyRLfzX0MM{JgN4xt4z02T%*LJRiNKxc1e zcR=C;ug>)v%Gr-C+;+gv!M>a?q5QDD*sd$`FtGau)2rRZudfy7qY$`8?SI?rGdNcj$7f2K2vC0lkcmkr_F;hJ3%f}Xh}A$?Wmn{R`!@gzdRUNX z3Nl6j?;s9fBr_Eq-qStc)TBuipg54&)l*eO0MY+6n2eQ>m9eciif?_?zZW6D0bO{1|0=niKwCg z007-dL_t(I%iWT(4uUWchWiGWGbU^{K7mgIt6?y18Wy_AvtDAtcC-$#wN@!j%WgDw z>zDtockl`EOGmHnAO+;$AWRm5y?e+E)U*OcyFp*0T>xW?=zjsoC1#YWUjTP=Yq&Se zB!$Jf1nd@%r3YpR9j;ALm9>nsfS%N;YIIC^G__~>-XIdo%D*xsqha3(n*d9@!Ev(S zNQ9hLa8Kycz=b$pce=U!GlCO;dp;-(fX;<6u~87lVE8jZ7$B)LVIT+&)B(2ED#xW|HyXS3%YWB9_>}sk zGpz2Q6{O&xY!ZUKf9M31v;tYZ!B8`J24jsF0O%!Vo2GmL+|8}wUKvALIh;$tZSj}~ zV0-Rxt+FC7wafy;)SQZHkVHUJeb(;{ggDcLS0oV#cCB&|aJ1{ai547*(8Lv{RU`Cq z;6f%{ce?rXGlExtdp;-(z*5J;SZTzG~^;nhr z0005iNklJx;?w5QXi+sfiU1kPRn@xB#%Gc9Ds%7r^74+KJ7@k$}_;-5kM0M?5>+nGDeSSaYr(#F9VnVuM{VK)Yt!q80%U?3Yo%t?>9^52*WJbzgn`dF3gfOxS;(u>YUP2a{AjIR9Qg zpb079i~tY;$|zbO%E?rbdoOB!Nfm&G`x6%zr5XnNXMfB+o9T<7SB?n~gIOC7s)hwt zfoT0d?m0`hqI}TVZ!OxtdyWF1`C+w288C(cc1OT7z+*R`WE0OY_!!nhv)%i-U}=D_ zZ)jO_C+}?mp8yP>Fvu6Td&azrE?`*R{%MA{0pMPkg`wdfc)RuU&fJ;&kQKGDVtzOT gp*}zK^%tA<0m6|A0}3~)wEzGB07*qoM6N<$f)Pva#Q*>R delta 512 zcmV+b0{{K;1l0tPUw;AMNklV4e5JlNysl$pK0Fx6SE&%bSrogPrGz8}W z$k3%R8t5Z90!nU>TrRUVAc`5gNGKxhZ~xmFvoiaCtJUbA>Mr4Dy#!E*#E3$~M`S|8 zM`U6U2MX~R-%$ve1mZgo7>oN!3>c0@x8#XT^anjDpA-)Wfqy``;$}=cqSr;hzSDj# zWe0s(*)=_4F1?iHfQ3T4MBlC)<+rU>N>%9F0|%V61`=4D{R-m1(lNm6830WKW*_#W z4dl->utyu+4^Yn(kV7q}ci+bixgr1>YJl8v1u%!u=)W1jGq^eBd%(d4nAZ??%sjwc zn6|@n#gMYkHqeeGVmI8`I z{AY>y|BHUmPxXW0@A?65NC6KBu+i=T>?krq6#ap~^q#XHx&q$=0u}cq&PRpl)bY=R zduu93wO?AMK(wd69+VXeENjB&Kb<)XyTpDF;+Fx=I(d-5r9UiJbgW$ftr=i{1{?!y z!+x|i-CfGPrav^grG5aykqQHq6r7C!0000!J?60G;Ll4(TQN=7Gq*u>Y_TWj=on z!4v^7D{_2<5&U=-G!72nh;1EA(AokJhHTl_dkDUJ0SpVE3xPg@Q=k3{2(%0Q85X>` zA_5e5hj@oJ2sn4wW2k~9h30>!KJtE@LMxmhC#*3UwAy zrFs1`lVsPr=(?E#<$NN5R1*P&+@}KwnWqDm$r%{1o(8EIC3)CPfCWtfoUlSrr2tI< z_KaY24&*JPk0qh&GvIcAx2KerWQCxJ0SPY_ESB*raGV?kNN_1i-8)@DWDv!%5IM_yR|4n_z<07Jx8h%Rb*i@I44%SO9$p^Z}gu@K->f zUEt5K;MEloptw84JG4c>xw}RkEGabqI|VxbRdK})IEf!0%&==v=8V^Nz5k|6Q(0g_ zI<36EP)8sK<$+w9W^bB&0Ih$7{kM=>jG&GJEtqWVk6_1UT=2N5zvH$3L1o!50T;A} T0R*~c00000NkvXXu0mjfQk$TF diff --git a/graphics/pokemon/litwick/icon.png b/graphics/pokemon/litwick/icon.png index 2cc69b77f95c6a7513866438463ee0ce99af57a6..4a90f63195cb4dc89a380a576a319f782f9de4bf 100644 GIT binary patch delta 250 zcmVO{1|B#q%(rj= z006Z~L_t(I%k7de4#F@DMRS7)^#DlC0Z{FwL!=(A$7)4~jE&$RFqASD$)rsFS;CC? zTb`^R%l{kmd$Kv$mIAQjR083O@9lmQ4W4lrgR-^kW8_YQU2_Nsfn(?Rq)n-%TJQR( z+NROKCW|BNvHt=SE0f^vBIYlxydP4k!!~E&<X$V1KqrL_t(IjqQ>_3c@fDMRS87J%G?0Kr*xGBH-bAtQNb-vOy1` z3$4ovW9n*tK(ZJAZXUzWkpGSOJ=qeh_X@D%R0HvX^Lo3A2G2B%QQ2A!De+N*O$Z2q zW9RswO{t?+-}-1e?=`U5Vh?w0ufWE_1eY2sIR91lLuz$c=S%{;0(!{lJV6R!9+JvB z=af>^L4ATNfGYqIlL8C7zSVuPJMJ5-gJTaH*%CaAxm+{2S}(Rd;r3@Edd~u_`!)=DkMqAwQ`VzG>SLS0*&?UoO2df z4*)mUn~`G#(0Varj8u(BSartO$YDcsiYn{d02x#Chb222GiGW;pN-4(<>Y^YZS*My ze1pHo9nPElP8UDq{0@alhyQ4Cu1oO&wh_ELlm=Xv;&1}HkKoc$;y2B}30xPSIJz?i z3^wBg-b*KhB9vy~f#^@M1Gm0JX;bMYTF=Cu7X|VSs43k-YUnHr{WYJItM#V6=hz^*Hh)l&1)1=EusUoj(i!z*cG?!XL8TI%G^dl^O_fCOk9!!LZl_wu-5N_{~jb z`Zrdo4|tI@5aAEIDe5x`VCmf;=FqI26lh%+Pi+0c&j*!n{)BM^;MO=R5q z1Ih>la*+VG{(w}0_yY%jKo1H8_=B|EO0K&HKDIKPdj=BN7BQ_uq0CekrGho}2>iZK=!Y0drKn?V+ zp%P53C@-7Aebj~6K)kqtN@d%j2(UU`nvU|*jG$b!u$@*y4 zAND$HLlXdcS_h%%alYh^h>7sgOwj!GRc}pI+aa~5Pyyz0#!v@AmcQudIiHEL9SV5d z3ay@8HY6Q?HTM-+2R@$b312`u%TA9H6KI3uhKl6;{m2&B*+M75@pDZh0nQolp6ate zXa#UX-~>dl1QN2@OEb44+XyM$5wHeqS#sKWFQZ8UNdcg4w*(p70Qh;m2o`|&yztx} zi{Z@+lFZJ!HrR=TA-~nOFRYs~E4B1O9irc$)HV?8M^RFBXP2v9bUd)5?iuBRS!N~r>4WXC^*?!=w zr{<kzLRk1sBQC*qaM@A`TD|-G`w|Nvfz|hI?=YDk>V^h1E*26?>hY8Ghp#|L4Ce zS=!0uU#tXbcFi`Ztr)Qr;Y`F zA~Lgyfk8xKb`Yr;L}a0W+bF>RA)pj%S4hY~4IfZSt*Mi8-UEDq^R=&37EjMH02Gkw z7JvdSfQ$n41yIl83T;3KKpp{m7qA`&sDcFNZ$^O#fx;@EeLz7A2wc=E0v66u(w`~!-|!AsR&`BI z7m%t+2e_ZRJjF+Hst`}YsRZG6-X4dyH=Ii0F6o`knfp(GcrX<3%1s!V>Y99*D|QA= zwaCb?_!*`YjxXBDoCh8ZeU1f2rr_c{UepWg-@bWYE$xW~4%Q7prL46L7coUck!|0b zpAmp`Lg1SLmS?~oY}4e|fF%pG6|6n7H7)?lHt~n`3%d2-DeW&43;+NC07*qoM6N<$ Ef{Pg3=>Px# delta 523 zcmV+m0`&dq1oQ-uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nJH7K~zY` z?UcQ;+At7>WzwWX$S!W@h`4}BV=phjp!)y>^gfw%l%YaJX7V0+g;c51@GjY130v3; z{hhg|VTSYhoYjx5-X%+;=Fe=8+Uo~)p~)mjCW;Cj0|3?^rIrsBJ`Su;elGyV?+qk1 zei~7D54}1eqVl^Om_!tR{s5VpNko+jXrr_Mq<~g$s7RYhM+|65PA z=Jjh100)$=2cUsFpyB{`2W;ngLmw~zP-noA0yd8UZZJUp?jg_uYzDxMfE@#H1CYD} zct#VA&HL~@mYv#83D%uNZKBAfEJM&ZoH3nRNCR|rH0L>wtL%)$7 zjxc`;;0S90uw~jw{0F}L$^jn0LJ!~wf9f14*{7d)p|Ium7_iU-8W*+BfF(KB#5+aj zhVO6}>@ehP38hs7K!>}!s7y19c#&=;XxjO3R$~?ER%&`lUqU?ru%l$31HMmvRhZIk z*@uNyl4ed(1D`!Vjs>z$`xTGUeiQwVKca6};UWU3Kp#PCLkL$X zVuprgJN&%ca*)eQ)zaJ|;gfRzaJ4I!MxjyoWTL%dlj^&h(R;3?35y}O{1|Tk&-5Fc} z007EKL_t(I%jJ?i4#F@Dg>wVn1+lZZ9g`&)Ap=r3#AVBfvb1ZOA??rI6=66l0*EVy}r7Uk17Nhg}tQxt#Z+yd|_9pUPX1!YH!^ZkqXa(Mf^Tfp4!} zo^ex&{!7}x?6`OpJ{1V1LX>L_t(IjpdR%4#F@HM16z33!7$p3OL=R%S8EI!fdW?N{0nt=xk60Q6=v-ldBF7EOU9)h58VToQ1b!Mcl6o87 z1lJ4FDK~IK6tzsDJ=a>J$a5&Jfs%^3Hn#Y3k$ZR8RjV$S^I~2WnuVqnV|fcw7*uY7 zn_<3LOmbkIz&F=6rx05u>g8C>AsfVK%S|TeWc9=tM69l@{@MC-U|*r9KlAYb&e^>KA_lK#00000NkvXXu0mjfvMXok diff --git a/graphics/pokemon/lopunny/anim_front.png b/graphics/pokemon/lopunny/anim_front.png index 5bef7124368adbe41ec7e13d17ba7af13fe75654..f88757d59d9ae5c13ecd8e73961d4dfb11648ad5 100644 GIT binary patch delta 926 zcmV;P17ZC92ZRWabbkN`bV*G`2j>O{1|b*T!=M!a00U=9L_t(o!|j&6Zrex@fY%@^ zSCZuzZZ)z6Ar&P`jLt}5OC(_+X##WUyE5T&U|gGP4!9zujJrX~%GgFHHer~e=ti*OSN zBcO8ms+(R=jDI*bWRUWOFfx&->sJv?(VqV;7CmzpG;ZjV1L(Ji79oW|Z zET^F-w)r9i*eGI0&xaimc-$A&czPGORQ(WoW?+jKseeBVAzpC5UDw3bW{v$44%8d& z*cuqE0lKh0mHPfS0Nyu&TYYCtL?4@iJDKaQrGEZA755q?@T9pclwF>3M4WfwxtJ(UpTJGi0D1UNeAx15ZRU zl>r`Y0)Nie8$D+xc@N=su>dPqrQG`H*8v+f%!?WbaLR2Lin@qi<2C2?M+{Iga4h~_ z&!9u_^vW0CfQm1gtF=Wv{n{0f=%V)N{n1)O_`>IiF7ofEH%kAuS;3F7M2uvWdfPYc z5iV~oaXPSXweBTm@y~5QfwWkZE!+7iF#s)qOMk0{ZJ+(RCY<)M_X+eZ7kqE5EyAHk8p#kYRp?c+s^O%9X=s ze}5jMK9|gf!flht7-3~KlpspwZg~gzZYUzibmx!uZHD6Lvwa6>*JdcL1}0D_i=nV( zF>prH6T6{gk(9pGP&mWVm24n3LpkA=b#rYX7DGAda^BiN%!YEh&w1Je!=(yn@q>^* zce`NBY5YG0LyUXvg29J>yI|-l?(v5QDHj-D0CULC!`ljLxc~qF07*qoM6N<$g38#c A?f?J) delta 918 zcmV;H18Mw(2>b_-bbkYKNkll*O6o5}4Cr_5;7+&?{2tp=Glvu^+U`r%n zAXy6Y=wx(wd@!;$OMna^WwZ|&+dtqsKw9KIZ(#5*A}a4%rtWTxBeha{- zCUB##jESfqPyAJ9SZm@&-yB>Nv=`Rt07`1q*dm>NrQ&LsoU+Q$1RPFIqd~lkRVEz2 zDo7g{s4VI8)DO@Ltkl%Y~jZlYEBo zxLAOdtAA1+ee~;ujUMJj4Fovlu?t1rM6dCf^ZF$Qs2DgBf2>!~DR_D1i(8=Li{@^1 zsHY#h0utTSK7BfD?uGD$&lz3hzn?xR{hMY7|Hl$Bl2z#~-*iT}e7MA^kHF13fNU z0gbe;KgM^7M?<*<9u4KuQ0k}*1-1hWTMUJ7+~cjb8cO9bdKPSkQaQ{XZ?(-(w8M;k ziI41t(kGxe&g_Pw9VS*dwHgXd&vy}H<#%_?hBEpbWSE~KUUV&na^>*1KaWv=m&}I3 zV}Fy#7-3~KlpspwZg~gzYA7Pe^yH8BZHD6LZ~G3=uFX(f4NRa=7DHjnV&Igf$96-> zA}M{Vp>TzzE7?G7hH}g!>*m@(EQWI2<+`}NT1)c?vB#}W-e*gz`Nliru=LQD`A^>(hb`byo0s%=xK~zY`&6G=Sq%aVM zk(vX{Om0wQ!P4R-mQlkX_O$x~CcX!lMcr#=H`e};<#l}tMgGzQ@88X?8bI%wcGJ3Hu)&N^Tv{~iEze*tn(bpNOk;~HTD=)sf; z0i#xvqZAv^9~?B$ufWGvpMcSPp`&0Ypk9IA0{h&FfSnP*e4lTCvcO{XoY(OfVOvL_ z^#F=Rx9F5HcYughjQL8eE5C^@7y0KvA$}T-xc6kNGH8oCyaY=S0CbsuLLZbfBgqOkHF?F*ATD(0000f%nt^ delta 578 zcmV-I0=@m71*!#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s~1zK~zY` z&6G=yoG=iEk(vV}nHvTVfNtR=^c&NVq z9|jS9+We~W?djrIO)T5fxGmoO_fQW4#icUi`6QrcyB^M$17MPQk7MNZR^W4s< zWCz5G^daE{9Kc051v)pk5fC#Pck>vmK~tLusKx_ubMwBmKuy&s_5$oM%d3mP0ExW- zE3^t6&{m@lu)s7ia7|pswjv*J0<(g|3JkOIf!I}?ukdOG4nSvrE06{#Eud!fL*A?a zRlph90V|DO&DaUh71F{87(k7l11%1T6;Pykv$qcE6TlVl9B6TX1g!%D?;D_71o(OD z1;~d#{h0&I&VkC|SATHel4)yz+5%D>Bc#+i2Lt>Rdk1r9odcEldjpUUu!H9FM~#@4 z2rIxBwoC{Zj2aGqs8*ocI2fQ?fRC--0fW8aM)Ha%37|!EiFO$?4~Rr5#94`DWf#?ED*GJB)px5AJHXFaUZKfv@DeP+0PxR# z3C{p+0HBFBfEPid`8%bles04K$Y@G!-9U+g-@4C$vgq9%h4>%ftFI{f3qFs)=J`IM Q#{d8T07*qoM6N<$f)iK%X#fBK diff --git a/graphics/pokemon/lopunny/icon.png b/graphics/pokemon/lopunny/icon.png index 4dea6a47edd7637d9f0cc3c7eaa9fcdf11b3cc27..8511142bbaec328d52a126a53f1dcfe49a9143f0 100644 GIT binary patch delta 372 zcmV-)0gL{l1Ih!CUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>V~JvpLQ z0003kNklC0pm*lAMoWh)6Ad@uLX`wK zse9}3({BseA42@$0s*c8!Fko7z^J0C!7P^8$ApsKW%D*bkd>NAiyR+Y-JEkNgzqx5lMbnBg+wzK!fbFFuH*LA%i^<{UC3c z{m^b3y2w}Ms_S!h{RbRP98p09vM^U}g^9?mFr9Hh7e65Rkp$q@kGqffs~_JxSnLc& S@H-;_0000@Kypa<{W;Oy?p8 zBO%3xinX^ufsD;hX3{6>c=JgE;tBDG3k0|ZY|g6&ZHy|Y8q88z<7%J+nJNP0?TlTC z1dVn+KNqliNyehi9pmj~Mti0`0_!yNZ)oWN>o^U=<06T427gceX9eJWyyM5hRC*@x z$YLYnJ>tT|(rqOo))RS^z;Tsuy7=o_0q{y;IH zj4q&mNZ^PBKSszqCO@>>hc5C}x$5^hx&94u69-gKfh5e8TVVonD@ diff --git a/graphics/pokemon/lopunny/mega/back.png b/graphics/pokemon/lopunny/mega/back.png index 2e6c6565e8211f9d4e3661038c3d77906e54507a..28fe47e44748fe0e95a6f698fecddbad3c82735d 100644 GIT binary patch delta 713 zcmV;)0yh1=2CfE>B#}W-e*gz`Nliru=LQD`BMyk3YF7XN0+C5XK~zY`)s(-En?Ml8 zL0D7QDi9!98ro?xxE)yygg9NgXCo8F)X>X?kRlTiFe8D9~Nwb zQl-c?wwNE^eDe+9dH?0{mwy9l_m55k&`aFR0an5%bAXkIW&kfLf0!3A><~`_i-Jp* za_W<5U{Uf%DLBu40(82LK+3s@CV_WYf2vS`S6}0L0#J2Xp#YcnQ$VHa$^rh|Lw#*v zi+4&{Y9NF53V7gri@oDh)Kf(GcdfT~*y_7C_*le}l9F6|+D>FFQ!nK`%m9yNebJTd(Na0!2N_AzXeib;*LYS=dgD z#*E0Sv~`bZ0R-gG!zYB4wjKyG&G((m9gq=nXC`E{5N4WBJ1N*DkOQ=-Fm4f$&O^{B zpkjb06=v9HDYt`3){vt31{$agfH(a9;(#DQo3R0m+X8`Ke?LcKs-x;{X@K+$2tWfQ zgqj(kDi!cR9ng?Q5sU?_v=*d%9)JiSQ!c2NL1{b4@fZm(fo*^WpaH>5@D5;1J)`&@ zU?K|0K$(=nwa{ybfQF%7iU0$+sC7pgFts!VWKgGibMBL1`(*|w0B%)%ScMz|cSQ_g ziav);q&<){e!QZ63`~F83POR0BAP? zLkD_bro;Qg$fGb?2>|=tbtheaIUVU4ptLacjRC^2J9Yz*yMGFJ+j}*-{dhWyVE~Gb z`fB3U@z7t^L)f=#^D2MP8=Z)jNJkzu`+~qxKc-E+KktEj07UniKAs2?5U*TkIskds vl|0ACRJ{i}zCI=!DGrfuD}V+p@Xya5tj}jWY~DaI00000NkvXXu0mjfLR~j8 delta 727 zcmV;|0x12i2EGQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+&fdK~zY` z)ssDL+dvS7DNsn0MzjN{N}+`TwJR?~A_xQoATNk-v4#9oC<66v*GxtM4 zPIYpCANNpP8`$EL#-t2HP+b8JS++%BJqAqi|0lGtB?}1LjtGzi24({S##vxMUJFp& zSxB#dMxX_X5dm#IrcpH_5VHUR7afcf$dve zWrJ@4rRa|0dw_`$5CNGqx^2O0n1c)gUWx__v{7?M=_^_q0TC1-Z?3s3>`U@a2uJ{K zsot%kF~q=KvV zZ+ovmw;xYuF?2vu%Lz@qI3Ak6c?kD*ZC=d}dBcgYMA-Al>Y@Q;t@{Q<1cXFM{(uxJ1P002ov JPDHLkV1o7WKpFr5 diff --git a/graphics/pokemon/lopunny/mega/front.png b/graphics/pokemon/lopunny/mega/front.png index 4de84f030491f6333c14d071f5afbefe8e88fe3d..09c8451aeae2ea7b3b07bd1fee67c569e3c10626 100644 GIT binary patch delta 803 zcmV+;1Kj+Q2ZslcB#}W-e*gz`Nliru=LQD`BQwzUCPn}N0_sUbK~zY`jg>u5+dvq{ zFS<-*i4DbbE|om69JwSGY6hglma0xDJ$I;>oZM0|I7Ygm>e!(lpnL@O773PmKo(u< zt%wEuUHY8ufK6=ETm1I(|9QRV5c>bsdI`{J4sO>0eS~J1w$!y6f9RnZx92*k0|sQs zUH*YI0I%Hld_@SY0W8w9mmp9Jv;eU6dJ71X-r@)ZhKDskTPF(x1jM3-um@xZEHEJ! z)dJijJ_t;O5S0=(7rIHvn2u{CY*$!>^mY|cCDG=t1|b9sibbV_a)I>0#34#;w7MHE zco5-$^gVCianL2I_XX0chQ}6P{e_rVO%ov{b2dTg)$yp>6#XaKt9yzPX!| zpG49uvS)x!Ox9V>_wI9`wW}2XppBJD0r(PL1^F}}k6j1N02WM1$DCWAe`M0I2i6jr zs_kHpDB#lte;d#94#;hxmVYYt=^(uF(Z~&xn{k>GYc+cWq@2lMaDN|kMjw;pGV=14 zvDVW}lTrpa^l5ktz^^F%4?k8O?xo>V#AxT_uMLenuTjqLLHVK|AS-!#w7 z6EODDcVQAoERH7?K&sYB5;sDVcwg&o0xIvFf4uxQi4XvszakWh_-nw@AqdoANd hpxFXy8Ol-Z`Uii-=c(RdVjTbg002ovPDHLkV1k9dbzA@d delta 812 zcmV+{1JnG62a*SnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0_#acK~zY` zm6SbC+dvq{&$>)xi4DbbE|om69JwSGY6hglma0xDJ$I;>?A%f@I6=Ch>e!(lpnL@O zHWDoLfGoPyTM-NRyYxBR2@bJ?dW&D4-~FH0JM-f<1kFi2p6fCy>` zr%U$00}~>s7T`V!L0}|=sFZNHFf2j_bWkJVc)}*6y{~{Oi3ay{NMRmOEGi{b2&4lp zj#1`AYi)$!Lxx?_@ey`~7;p5{@qE_j6Vd^7?D}NZ*$9C;oO3pR5YP(Do>yGo<9_2S z=iWD=0ECT^S?-x;z4q8npYz}-2kdiUuK|RNc6YvW{`M%(5CDJO1tAu_@0r(PKXCB}-Agif^VE_-7qyx_F z&p&c$I0H)wUG=tmKosz4!3J3gVFC(YNDI%!A?-%jA?ka7QF=SbYGTjED?rMzoOd4{ z=FR@cG`)&*0A^}=o9R-@IgUaa-2w0`&i3I|=iyzNAw`Tf&;Gj6u zP9J;2B>qi{+B^XRKl>M@Nz9UDSOH{e%{295G)xZl)+V6p-b^2-6yclvCUwg5umqA= zohg#F+u@~uX2Fdxg2ymfs0zvgC`~m0>I)|cMcvSpt>+V0LM|_BEv+}Oab^s948X#NRFov$NT01foP;Z8=&g~ZfSab`ZYOqZJB-G%b q?Llm{LycYpwtGO^YE-ij`Uii-=c#Datakta002n`MNUMnLSTZyD{-Iz diff --git a/graphics/pokemon/lopunny/mega/icon.png b/graphics/pokemon/lopunny/mega/icon.png index 652bb97573136ea4f770a0a554f9b0b5b687bc1b..28f35c1473521263e0d8e73dbff5ec15cf8d6087 100644 GIT binary patch delta 383 zcmV-_0f7Fm1JwhNUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>b@G-i$1 z0003vNklb^l5Ji21xlax>N*d_0H(22Yx6s&KiWE6hDrA~96|qw=0Rvv! zQlvCd0uB0_8GZh|runl2XJK&-#k&&*K+Y)_K(O;NhN*R}?K#=U?^8A2PK%SaB6DC%Cq61`Y z6aeQAUf3&ljn88V+)T)$eARui;ssGF+#;)8AmCa#AVglwhTD={cwWukXi870AB1V2 zPtK@2mYL*70-cI4-@-D;L1aEm^yJKT;yBw!BP{Q)p^ d<^#Ux;|o)d{KZPi`yc=S002ovPDHLkV1lHbrj-By delta 345 zcmV-f0jB=d1Fr*+Uw;8QNklb^l5Ji21xlax>N*d_0H(1#XZkfjJQl!Y4 zQX$i4!FXC0Y%CBP?+{7rOe5Ed1@ilW(yIB>xz#vIGU__bChTEK6 zcv;NecuY?yAB1tA&zezt%6aHdf;zPvLjS+#H-X_zffX2ALW5}qhH|VBh6NZ)yy4I; zz^Dxeu>jMCJ5mk{Fz*m?NIemU3{10`;RFm<35R9-P)A_6PB^UFhsT!vl(t*Uas+Os r!@9%m2t)$ru-zX3!)HF=dp^DZQ;+<`(v!_O00000NkvXXu0mjfCZd}Y diff --git a/graphics/pokemon/lotad/anim_front.png b/graphics/pokemon/lotad/anim_front.png index cadc74768ee0630912871d18eaaef9e544127ae5..1c8dd71ebb87e60b7aaf35b269aa9255ef24297b 100644 GIT binary patch delta 685 zcmV;e0#g0>1)2tsUsM1Ia7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>etNfs1Y z0007gNklv5MP35QZfe2X|H0QbJ05B5c_eTvd;J8m`jEm`T<4LC9e?K| zNV86LP0$nq@qfEJn%&j>p4UVZ&l$c_0B%{S0JYW~=V(l{b_2d0?FRgShi6JD2Viv- zBI-83)*%0!hii?9thENU2|}HPT2BzIR0C*&EX=12^k(!5HDI7aonu(v#!7G47~(1u7n60I>_x2Xg~@umrfDt;`$ln+GvttS$B zUKFfDUpf)3Zl0zDWB|rUGkEK7oCEX?#az%&AHJIRZ%i2?@O^#v;YX>1lz+q7@BOdM z#_BWq*x&E>tJN0<9QOilcdHvpaUo`43I2qwfs48GZq6>Qw(mUXxNq;t<+gMD`k(w0 zfaV|BL=#OsoBvSlV+JI!EzOA>42a8NsDlA<06y!Kg9;r$P#TOerbwC1 zYZ$Sn?PHSHEs7VB!=Ne^w)>AF{h|g8V;)X*NJviv1A$9ggiD#QKJo;Iu>=CB`Li$V z$PRMOnze z?e5N43$k!{^ZWg7<1{ek6nk1M T-#v`900000NkvXXu0mjf3!^$v delta 677 zcmV;W0$Tl=2KWV#Uw;CFNkl5c_nZwd;A2l z`jEm`q`SgfTvEgkxcZu47gwY?aNr=dpWqMk6-}_gw$fj8-vc}_q9 zptY-lSbgOlpsz_64*%r-i+=Y?*Kz{iR=4lJ*FLyjc~TO*ORxKBY&99s-C52-v3{Wb6T=I$(@dE~N_yG71oRJ>WeBD1fN^A%Zvn+S?=y z^_-tWYlnizGEdGkGjWo}KEVg-t}=i*O>hB!YLqpBj}Jgrxgtt9OxQ#7Gb!zeA`(g% zbV`+({(qwcpIX2$<>hn^8TocZp@gxZP53A?_N^T_VJv_E8vdLMtpatz;OQTkCTyQd z14;XEJ_>c7)k;>1MUQaXQ00000 LNkvXXu0mjf)C@K3 diff --git a/graphics/pokemon/lotad/back.png b/graphics/pokemon/lotad/back.png index 1d25c71ede680f354177d6a367c3ac7afe2c210e..eb1df98263c7c4481732bb156612132352fcd9e5 100644 GIT binary patch delta 506 zcmV1CJ6Im5q()oU{C`ByjS;i3|#aBIGqOt5IKM!;4vX9fbGe*gzfdD90>DS%s#*=zzbCtbpi(ZhHd{og)k#8mX5bub$0d^0Zy;@ujG_s#A%)d-xr}hg|IJ1NPvof z3BDL1%U;_NfNzxw{^VW&i+wW!-A5jQrN6|Gi<*JpLUX$(aCh4dIA7F6ENKLnuKn$H z_nCn8x~}(rDPIficVfr~U+;T>p|#6DakHw|UI3TmFXd}9(0h?!!nv$odc>klFq%)5 wb=7-!!=|)u-PZ$P(3C~3UfzBJNBskR10_V&@RB-TEC2ui07*qoM6N<$g4iDAhyVZp delta 512 zcmV+b0{{Kt1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z?US)m!axv)1LI(8yf{OtSIDT9v*ZB|H#4@#T~DP2l@we-X~QdMfP?mhJXd!9}-kuV$$M(KxrdZFz@?j zXR#+$_96z4)A)NHL=Ogk?j}Z zod*RHJwrV0b9kKIS7CP95m%kA26i=E?Qqm*&e`kS~p&Q7*}BjPzRW4?Y(LN ztmb70WLNG{bA)eKP{xM;?Ktzr>KMnt|X#bGv6Z?;UWus)<{99=MA%?v3^}YufTDyFS>rK7&0yrmsEqq$_UL=@sE}LbK zShWd8^Qp2fB@j2Ib?ZJK0K=v%YO{R#2^{tB%Cc`IMAh(w&R0nQ0000f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?GcD!qJ_c0Tf#7>Eak- zae88Up7YMX8g)Pa|Ng@s^8QnOf&{CxiKWf&hG{Z>^$xy#$L|?0P;0*~e__($`jYpT bjC2?~lB*u_Z*z|T8p7b|>gTe~DWM4f{uM0V delta 94 zcmX@Ww2)~+0{a?I7sn8b-iiHrK9(&^6XO5BbJ~Wxc ypkXOf-T%ZWps1qvQAk3O!$+ADyCoPMTp1WTlB*sbUt+A!00f?{elF{r5}E)SMI^=m diff --git a/graphics/pokemon/loudred/anim_front.png b/graphics/pokemon/loudred/anim_front.png index 71912b382f1324f12ebd61e9fff640f0a26c000b..0d54a2a0458becdd89d95e88eac9f33d9286ce6b 100644 GIT binary patch delta 1559 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 S)dk-G0000n%g=EsO z00038NklO$@HViSjiC%_ zq{K*OIYNtk##2Y|kVwDo?6dU=@jy#b7WheXU+}qw{zoyDdVi_=FG37Ht`**Kqen%J zKO^@X5Vce@7PYF=Cov|24C33DF zS&h7l+t;raI5-u@b!`<766ULwv+qAVsad$fR{SVk{cUEJuOiwKg6Wb#QX@(6A-BGl zxBTfF@qFu1!AFP;OfM({gE<&=1H*z&#l8oV2nzG#<_^pshcx)*kO=DF%HfLzwIu;% gKB&um$bb8|02-XV-9Whj-T(jq07*qoM6N<$g2}m&WdHyG delta 296 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 delta 729 zcmV;~0w(>$2A~Fz7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0007yNklt5#vpS!TxJwA_!IG^E~cS0lmY?N6%Y zvr@_eA>|;XoEHcwm*iG*&MSbNVn%>jLMp{Ake4za0|V4I&0_vP0l+GG4gx6CNf3X4 z1pY4o_MHqcTa5+)nUsac0KTmP=1U1Y_d1z>43I1ab5N!M9>b~wwVqn*4(5}PNN<3J zLO_wXR#RCj1guR*t;tTq6aj1P1VRvG4gj?(qWYk=g0uS5m?1z##8<-a08;Z04W0$+ zX8m9RY?BVYrdN=N#8 zr#}G9LLDu@Mudh^Y6AgVjqGa%Mu1!&07RhuYeVSz)->e@0|CHJpb)nE-Rd1iy_7Ek z_DJlLYKsn)6$9d(N44Vup$EG_OGf~zI=(5e71sN4fnk5Xgai;PRzluYigkY#cjTu{ zE~6$y4NxnTyP!)HKn+sg*HDzJ_js5A#0UvA7LN!<|6smMeoUaPr&T;vqFeBeA_hu1 z$kjmgv)wjA?klUQfQt8(7?n6;Qc!)0Pq1&vVLFu_;v_@&83X2+>l#` zs4reF)_egvEZP8&ziYJzVT%AyfG5;1YKO{1}PkY$n%u| z007HLL_t(I%iWSa4#F@DMstJ6LagN|6%unRB(kR0;T9bb2a809E+s+j+7C#F+8z-D z!dsr=pTy6Y-;SuxwpPd<&`5BbG?*3e-ho${$Q{#;fwc7muz!p|4@$+Flc=~5Xa#c- zu1(}AqdUzz(H01fUorL^#-`+;Z|#OpHVy;t@&Z-oA*$Y8EngR9MjlrKn17AWgt1Wx zBXoERlc0nF(;*9!*tch4xItMM-eeJmEn*P{r4nXeN?{-;>sweUOy}jMEA0oq>Bkdv X)pm3x<&JFt015yANkvXXu0mjfg>`Ry delta 237 zcmVuK5V1Lj_L_t(Ijop$l4#F@DMRNlyLagN|2#J{riLA+WdW#N-gGHi4 zmy)1%jiKq#?~I56;Vn?f&-;Pk6sV)#5*-3DpN{|X*tzoP(X>*P{0C8(IGh}%E z)UjG~qOPu*^$JquZ!TcUXf6qBDq{8quPAE#==KQumNwYgIA#p^${USL;(A2&RILayV`{lj6^E+GC+Ew!`~P-ni~uX#3|y}U(AWT&%{gzGLB9^r zcQ=40K+6br0T?p$O@9Ev2HTW@CKyl#wgF7=H3En82d@a!4dD3|xZ{};a7ln0fX#5$iB5=Ja&|-u0H=Dvs(A!T~1n}_w3zrd4FC^XDsv_BN6cX$Pw!) zoMrRwuRKL8C4dMJYXc0!6U)B!Gt1`7yoNKDa+(w%!gdZ%tizX|vp@6Yg|6X9DaSHQ zPyzrC1n2YcQZ0TgFVuNaVJc-TX`9-38UxR=vrC2lE2Z0KOi|f`>0QR)x8cy3NV?m z{FrghR?jNZ;6PWI%%0+YJzvUI0&zSo0P=iDgWA?M=STmJha<3sGC9y|?WF1ZE!TA$ z*N#s_Km>ZB1kydX#jeGXKm&ONW_VYw^%8)`L~tyVNPi}sbhg)Ai|4>%Oi<5=PUZXPTL|MLzr-_OCv640x#e~$v6K=8E;(8z&x5HmfE;7edt0w<37h`@|h z0d!D2;sZLEtW*J$L{<%az2fq@CSdKid3_^bZN6U({2ZW1Xc0444ZBEy3IK{#0!qMg daPQ_u`~?RCN%0b9%4Yxo002ovPDHLkV1mKERSf_D delta 758 zcmVg z9jl1NVk_H;EUavdDDVL)vUFfzF#mUULeuy%;3%ia@0a)Po$qX|UKP(WURyNqo-tmj z-Nm@wFs7(904m$A8Mp*omzls$_lVMTduC9_z-jzX(Bx=ihx58;1n6)xaJ>pZZ3AF7 z=e%JC-6}xW-2mzU4I|hEV93xl0e=K*Y*PlBU_cqz1~9_c2prBIy&+IFfR_t!&od?9 zk^naVoA-ryN3(fi1ifCvuXQRo+6eKKm>?20s7&IW#9RkWz%_H!x>6BP6`lVIr}Hp;p@-YpXvNc z*KnkiLm4J00e}aB^Lco!WawUXmNJ&KOietEo@d$FwZi|E(%T0WV#*6K#4%fWa^Ac3I_xPRGZN+Dh>1Art`0NQgMr5-QiXaW^RdZtP9h~hR^pZIe3 zqKV-Gj3)Xv6=KV06;VVU=qjVhbKI}ytt=9V<8c9y=R+D)wzfGx`gc4WfhCm50j-2= zrRl|%>$RgHfQ=kj2Qkyr2)+bX zDRAPL4+u~nV2@B6>pc*7 z;px|8Yf=h2LVWiqK}!$ITn5^+ner$>FHJilc(M+Z0>Cb1Y1*EBD+QPOMUAb1pX)X3 oA^|D@C{_w60n5RI)rGLEzXt?ALS-2zae_QzZZVVc0Lmh_T=D>TBXtLmTQ-7a4}gp4;LmP*m9divXApLc3*q`& zEfZEk4FFWl71()K0|~OO9zuN$HV#0M-8^>dwT+E~Y|0Sb1nThW1Gocv9VRD> z4VNq>07X&KAj>Wie>`U4vJyDf+&p-U*Ofq&xC7*9F&HHcO?Lq3XO?9JJ}KQi!7vYO zSr;rz&CC~ivY|16&WPLXVV}cN#Wb6zvIgomyMG(7hOs{PbQd>Gtg9Nl=~(SsKzul0 z9pc{~{yIIZ1vE*u&)NVlZh)BGVs8lWY-GxB)1nk_4_k!Xf21n>X~h^2l+;aAf2rul zaXa>%G^W}#9#Go%g#y?#b=AL8)@=HF+Cdocl!p8%Lu(R4jGz#uUk>vym1L2_6d_TL zk|XY6!~dL8x%#tltBxwpta6t?oN=S^h=79%cfL@{31r(hC^A1Ts;coORKxpC- zod=dmCA4iEW!}M;Dr1Xc@lr{GqEomi{J0u> z1B!;j_81BB6~IGo5!U@+0LlOW002ovPDHLkV1kE!aU=i$ delta 804 zcmV+<1Ka%n28#!fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^~_VK~zY` zt&}lu+CUV?54rW60Lh*UG(#7ci>(wAD!^gs(gKfElu8I=M?y+aTOmF}KR|}8rO9w& zsDzZ|1RYWqKt7bKQQSx~%GrRq@8BT7nwZ89`(^!xe$fA8MCL-!vGcjP@Q{{t*e z04%u!A?_ca3vhXFYEG4Zp}+!KOeN+3B?&DT=Kz9{xC6*88~)N90EKk$X13?Gv6Bj> zFmcU`!P;6i6->KI2y4|U0HifnVCP*GWXQOBh_yA?H~>{~^VqFbH#QD32}5!dsKKib z;11|Dm_&vcE>+3^s;VYIQCuVh!qX+ycdWU22!yPwzA$wM=+UBoKTPYI?f|gQyvj0s zQad?Hzz%E;E_juinag(-L*oFO5w}{y9wKttG#jUi2I+5B?=~sl;mh@*raq?s`#fF;ecOG zZ<_i`RX>hek?*vBJ{1thea3p8fRC7_p7ySkG>iSd=^%~-#sc1ip*5%>g>ZneFNZm} zQDgxThOwlC=@EKZ_daJ#sr;

Z3wZtLPHQ(a_^2DId=aL@W?V&?u#Z@?j|BGOgQ= z8ws0@ZlfON1gn&(!@y*I(5A_WIy=!E1Y&v9%$prpr8L5Sns(qp5TKjyb^wPbfZZVu zIM@k)1qe($!ggS(hyws0v7SxvUhEE@Y!R#5r4+`H=G{607^_J&j&U%13yHTV+7)~G9=+J7P%~%j};{onlgNr7b69VhE iqw@$|5PV z0003LNkl$78qv`b%`=%2sa>47 zEkg%5C?WCrCL{)gH~+fxS@tKyU#_0*;f_U+Vi5=PmIW`Z5`P#4t^i4n0j+bS!K=(O zs~|M_B$KXtGh+={J4>v*c^U&R?MZfCO)c+m=CdktWafq^9hb17>E tCNTR3Q-yED^a>{Sp*Icl5rO%gj}LITu6m_@YgzyR002ovPDHLkV1nuJlxqM0 delta 314 zcmV-A0mc5Y1CRrdUw;7`NklMDeGOAuwDWd257k`F~C1yR0A_3g7w5oXifo zd=q;3^VA388^&yw|w|gH1%>R7+0dTmkdMDV*ssI20 M07*qoM6N<$f<|DG@c;k- diff --git a/graphics/pokemon/ludicolo/anim_front.png b/graphics/pokemon/ludicolo/anim_front.png index 2796df8df8494b3f93e1ffdaf8939935ad0de682..fc060ee36c30e07e597fca30667a497542aa4ab9 100644 GIT binary patch delta 1754 zcmV<01||874y6u|Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>xU7W5>1 z000JvNkl2H1-_S(n}1sL2VomX_~?B}n&kUf zl4hGMNkwUKla*D)s4N32rOlnn%HkOEPI=4REG>z#YVxKm269!kWSX1vavZ?>!LPDL zTP2gs36Tj7CFxx#w+z~PRh{WQl#YY0^dRVJlo~XrJ{5t>Ob~oNd=~_&L47Sp#1J2& z;~)s~@OEjjFn{oi;us1M^aUIm_=RZT?~56t7~m}`L{Wsq0CE&vCH&I z8!i*@Ie$}nQZ3%y-Dy09u{*tIkH4^94ER0=G>CvxTk?45IV?-J+Y?}y&~|DGe(C8B z%YWFS8UVM?wa!~d^HUqTr-zJPnp7)}?`~Tf{TOsn3Sb^%(ZICmlkxc0-=lgIbf|8U=M^8AABQ=ZV*_Dvv zhyyp{F`@wIEZ_UHo7!&ZfOhKs2%%3mgut2bLT`{->}I3hp%jfqH*oGFzVgDsa{cYftsxMd)ek& zCu_k=yd|4XGgMz^^%&40nJR{8HWjH1OMl$!M+2VA76|zWj`9k2y&l|=><>OwVXYnh zcNxFdIl!lb=2a`WWeN#kqxto0r3m-%us0{e&+Xff;`Km_sw$snXcQM#%>-CdxFuMM zP?44rXleh-@~0)Kq%23&9i^lc7psR{F*i-Mxl z_OL^U<+?Mw4LSDNHRuOIggA50XVyZGzJD5xzUSV8H+E+(5P4VQ0&|02=6~KY28beF zUvE?h4}$V90YE6tu_Uclp2s1e>>;Rm{jNAj6D$e_2~yoAdgysGIkryB3PL934S@WW z0F-FktW$HF_am5m~sSL2C zhpXn^iAhfYAiOk(hpAHqF@IN0xPP`y?r}AoM{9?oswKZ{cmOD_upx_ZM)C77viFSu(etT(Z#IQOb5%C~92Qa^No@LVvVo!{co`4RBS< z5xNUWXbtQFECE|W9crT59;hl!9K>QU$`wPIRyDbXF@$Jy3Bg5H#wevBj^br`4~36H z7VC4$w-<7C;r>!k6F{i09*6~hY~2B4ng~y7Q}rXRFCaKx6cvUc?^gsDgXL1O%|3EL z2*v&hfM9~)AaH$P{8Ln#1wt1DCybg0M-6Pu{+xuslAL$Z*8{ZHFr@ha9CNGbpyuoa w5(7$XDf}nfoRS2$E&B1r%=Hs_{=cRF0bez04bN;=-T(jq07*qoM6N<$g7RM?s{jB1 delta 1729 zcmV;y20r34HI#PAXD% z2q!@OetM5$Nxok+Ej@HiE6@4*CY)W)TD9ANTIJbBZE0~1eSf3++*S_rg$#t*_#wqn=H!~&w=y6$!d;y)|EE;x$pEjxGrGWYZ%0Km<9iU06S zcm%Js&Ng!QudXf)02=a!%Y^vOjD6THUtL`pSi;(Tm;eqw^Fa&*0RjeOpwgB+82cX2 zv-RE#*nf0cPg;Us2Byc0@18RQfXl~5|FvfXNuV?^BhJrkW|SvamtBLs4-bh1aG!HA zvg_=@WO5m7F;j$x$r?Jm1Q(HA3nr7ve?fzpdr0I*>P%BI(Jm$7Ew1q^_bw_H6H2=to_DE6pJNP5d_ zo%|MUvL@?yEz7DFd88!hh&-+0^X`siIo66-l;d!}jA(h2vA#>KDz(b(T^V=}Ks|yQ zE`OyCrCmyhoWO_kZbp>$>2y@7JOv%kJLh=_)hYb0rvb9hr$7!WQS(>pj@KFH0?X{!a%e)x_CKSu5DcbFw|nRat8f|6QdoO$6|D7p2fQKpX5A?#{v#pdOa>$W68N1dwB_TbQR7*OOqD^*C4zXe+-#2C}dM=zqzm zYXx5xB!FgrCkzc%5-m;b{P8&Wq=B9s2C*9Wt#pDgB-nUxPmVJDL^*nU2z_h%km3!J-25dGJCFyjcY1@!K!4oJO%#+Koe{~!EX9sxg2Ajgr!zN@fLNkhU@*tA zf5dvxl3Eg4jX5*U^# zj~5p|3a`N%4^tP2zGnS&$3AUk|sxU<$QRe&u$UbeSB*z5xUF1F?l-YdG+D&yfLCwSvnwp$Kb$U4SJ}xxEw8CV!1BP*pZ{kUEE1 zE?Eh2ZnyLXrI4bB5<<(oN{OT)Ue?cJgu$;;o|<#ow;!Rppud!IQ$XpiK8OWAw(5Z~ z&4ecz&kP0X3kZ%cL}?shT*?402FsPB4u6k=5UKGQK;Q+zLE!qJ^r4mpq7Dd7B-*?C zEox~g01|6@u|vM>k~)=^8ovhMnAh7LX{Rrc7{ITW%J?T+Djwgqv#$x6>nHmBueJXH XUo~nC8S1;B00000NkvXXu0mjfx^XU( diff --git a/graphics/pokemon/ludicolo/back.png b/graphics/pokemon/ludicolo/back.png index d2b6b4cca217ea0a951689092274c8ca9df23fa0..adf34db0a2d1346d5e4915e05e23d98b239d7daf 100644 GIT binary patch delta 718 zcmV;<0x|u-2D1i`B#}W-e*gz`Nliru=LQD`EF{#uzfJ%E0+vZcK~zY`-IKj?+CUVA zfg)Z3-q;6j>&PL*0$jNDN%vsAcY#`|))d$kKf4so5F z8EIh7r*nU#ZMFVI-F)D;M;|bqyH;oPH=xgNI%D_z^EX}Y_M`JPe>$V?^syg3o(HD4 z<42AFoC~>)qHp791iaZsW+S2~nns-8HGD_86{LZ2G#)oAED_L<<9?2G#`Ls;^JA%Y z1TA+S5sfi=Go^M8U9UNyA2eF*DHPszOEoMYU=uX&LJ$~}x#0sGhj1xBEP zOw~g!(^#Um3M=G8f9*3>2ii%JT$g3}BITE&$QffE^l+@!r}-&>@`|BOfC@<0bzp`5 za{zg6fUWDu8W5K$hCBl!8-m{3+v1m$E>$65g-rSU1WY4==gaLD`*x{{29lJ@#OP9! z*Dvx7fwhcj%!ITk)0u}vh7mNAFXg5VV3`Dg3~xdCvwYd$e|FN?cBzG63|}z{{0(-r zO8iYy?aM^y6iD^WPZ3CyI5j}~03-~r8QbWVQ~lp;{1`#<(Oax2(Y}sTVrB+E0!`u| zs^Dbv7TjH(2bOC8#5rf_d!H&ea=Ysza6h^Fa{w;1%QYZGGo)(Kmuv0w??Q;l39_Jo zwh7>ZG-0+-f6UB)6j102My!(kY6&O`{vbp+5Jyc8E0P}i#r?eq0cwCaCV1!<4-e=Q zU~?>xtpWWUv=7>|IktwshU&N(AbbblS2hSOp#$Kw3I9SrcK}R|hTM#fxKBOl2%Td( z2{m-3lqTB300R*oI-!&a9{0Hggc+a$s)++B)&2+wL<<;9ga~XAxTq~JH2D+*fFFXK zYXEA%z+jrOKl2EYc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+~rfK~zY` z-IKj?+CUVAfg)E4wBX?BHEER5;@xEN{ zz1o$89O61TGt$7EPv`zf+xaJT^MT);e8BYXI=#u?fT4fWo7(4}zv=t-Fg#zQH|ftG zhvDOSV17G&^a0@KLTH(Od<)|E2xl-(Pyd&bmKU_E{fts$}f4IF~%H!K7g@0pO&Wp$jQf; zz)K+6Hh~TJ&mPY*4eV`8Hh`!|Amo`dvbi^Sdt3dI(xxf|Y=9}ApEyIrb6mOKL*F)4 zK_E`3Oav}9dHo{a0NBci#*9g;B3U>B80QLY}G?o|W ze2U>5J_NZmM4;MmU^anv4K!W>{R~Wu2K0vOR)yZzs0984bvnNRSn7TQ?YTRa00000 LNkvXXu0mjfk+M=f diff --git a/graphics/pokemon/ludicolo/icon.png b/graphics/pokemon/ludicolo/icon.png index c6c61239e0a660e91d47c1035451b90c3ca10aec..ef7e2e2a0483d5050830fbffd68d8f9588e892f0 100644 GIT binary patch delta 76 zcmeBX-po89-hhF#z$3Dlfk96hgc&QA+LtjfFtC?+`ns||XJcp67 diff --git a/graphics/pokemon/lugia/anim_front.png b/graphics/pokemon/lugia/anim_front.png index fbe467fb6c97d6d5d1cbc370cd24bfa43f6e27c8..4b7b6e25ed220a1dd879a5c003e1549a4b228635 100644 GIT binary patch delta 1580 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%0DsVp zSu`DQ`gEPf5f_5^7-GDLyw12aJ`r!Q0s%29ZsUUWA}?4D$apQV0%0#H^~rD8SwC2< z8szhzUqXSA-Kf-y^`D&8?bB6Sg5CY~4Sdi$G^0@uPf$}Y4s`tMW?CEiky`*{jD>B&L_GyS4)1#bn3tzYAp^|f zWUi^SDL@Y1j#--RZ51*qgmPrH96Pxk$STC<1bzSj0ozGLK~zY`t(38D!Y~kq zQ)KY~t<<>!TCsv@#pot3_0pv%Qbwdk#|t2`hXnk9tbLc-NgOBfB`mdsgz(4x|DEs7 z^ZxmaCQrk_lrARTc&ERP84gf-|8gjR11g~ax}5a`UO=NQUFqoKe(rvR;5p zr8?m^Q$UPstTmBmtPk)DK+0@$1YCp4iU1feq0a_-Oxyx|3-oBnTPB1BaE)64NgDvB zL6#OkO^C&fGy>WHINDSe;F!x3UDqbwW3=fk5a2+q0l_0ffykKn*|5O~Sr1@5NGaY1 zfmCKI7r3(uTzwcee|!eG_5gJmu9+AH_}3Ky9&C~x`4tRFqE5l{c!p$IDa@ssV38qN zmVol7^a<WDTrv>~0<@;c2 US>>`Q000002uVdwM6N<$f>2E5;s5{u delta 539 zcmV+$0_6Sp1cU{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o_SNK~zY` zt(38DgD?<=X=L#Lt<<>+X_Yl`T4i*>O}%t!gv1!Bk@Er(>;w`&VAj4%Z7|ru2P{1a z3E_|X|2v=U{dY{JPs2cf7gNvQsaK!C0LJ$(#|k)t5)#16SwG-KIN9Qr%I>G2Mu>$d zaZY*x6bKpdH<7>|)>tclqAW-s5LSQ?#U|yj1{Rv&e87Z?4ev2A280Ia(GX)Mm;qpo zF#zQj0BNA50YDRMF;Yf^Er0?*U;z|zdBW?~#5(}Up))`P1FZ&+9tj8}jftNP8O%`h z0F4JB*xMkGi(=&hcSeEA#{~idTzi1F4cCGV1N7?(01u`}5B)NK0u<4f;CZwFs?-W| zAx|(XfGTT1`jh$y@~C?-S0;ea9&`j;fIc4#2BgN`Ne*khz0c0Vu3a+~ttEfYOlb)v%>}FF-)8tDWSWb=y#DsCE1* z&MHCPT~{ee1;kYXV3I;AKW}lITvP%VpmqPsSXyKNpaxh+mB4AFSwB|^x&RXfpuk=s d;e-Wv-XG=rU~1VpLS_H}002ovPDHLkV1kyJ>SX`` diff --git a/graphics/pokemon/lugia/icon.png b/graphics/pokemon/lugia/icon.png index fda93844eecfe60f543d95acaa7ab385b05af503..d0eadd642bc1044c1ba9c320761d17f93178aed7 100644 GIT binary patch delta 473 zcmV;~0Ve*71fc|w7zqRe0001qplF?uEc3`pcmlXi=nOSI~)@WO+LXS^?JL!M1mUREQ17^b4GqAGP%7)jYaduLD>JKMvr^OFT z4tmNbSVc2|q(-+)S^bMaeqvPUQ`^=lb`nU{DPOPoaU%O#RGGq(=SOkecq0dESPu2_l zER+Bh`b97~0zyBUJf|gBnSNYIUQ!5op#NiX1;Q9PjylKT+7&sbw;l2e!R6aSY@u6> P00000NkvXXu0mjfr6tt% delta 451 zcmV;!0X+Vp1d9Za7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0f|XOK~zYI?Nz&y z#2^eyOykV#p#T5d^8>4!#0M-!i8TCc|06bdp!5Mq*&ctDIO>&JA}#E=(5p-BAp*jNt)0K=IU}1L`j13!3y8-bORzi`V{sG)d?Rb%pbO-%bxJzvq`M(s7X{k zM%vtRsgqS~r5_rnR1qlrG)P-IszE^3L7!`(y-nw`l4-l^BVk%hgQn*_Kdd zMmQzheHNNE;BL(Bo+SFap4^Sh7~k35gOD3aa(9}vjudLm-Dq((Cr9%c?r#0W|0ucF tHJ*Hlq#rsWXwk8zX1ezJOFQoCegKz78TL_WS&#q#002ovPDHLkV1f>y+Fbwu diff --git a/graphics/pokemon/lumineon/anim_front.png b/graphics/pokemon/lumineon/anim_front.png index 29ef5dd7b6b88c2ad3a2debc813036e59fba6262..c618191702735506f6c8f12e982bda80e4c71db7 100644 GIT binary patch delta 1083 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 delta 611 zcmV-p0-XKd1?vTnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tN0z^qfK~zY` zm6T0x+b|G?Rgst^fBl%07z+_#3-Ek-@6B+S?6c3^dI5M)tJ?rqyCq;j0s*}Q-1f-T zf=3c~Uf=e}E47X!b_vyhU^9;|_eea4Cesi?MH*Z^O+6k%;!zbgn-UC>;?&obF{f;X zV2)p>E^(0pD0>Y)fGUlFIe?WCf2Woaun9mEnsBOuJo)l22 z+8jE86d<&&%mSbT0Ok%_H|-U$37`Q0!!gK50MLV7RP`;u(YbyvKePZ~L=?tu5?wTx zW+0470lKr{{=he>K0Cnq^PB-0BaNo-WC{RHma(4TvkbZU>0iv7IKMM41f)5>c|s5% zJa9+>86yi(eA5_P=(Gl2F!au3}9X*K8ze%^Y_gQG;Dhypl#hL296!D z-x`B5VC^>CTM6Bc zq`O3ST;i`AdbNIOP(gyKf2`*~w|1DpK~?fy=mE}ue|G?W;9T;jRT`j-AkPJRSj8T4 z0B8>KqF(>S9xR9el=4;V!dap101)9oz5G_!y~-v1Q4F|00gw#_{U9$00KX46lZ^;1 zo+hB0{KsWIK)b7P)}X$|z&I!(_U8iB?%j@xEA z0003MNklY9nASeqL2V1*iqD^XRtm=@OjGxQ~;Y=*|j~h`lm~`Am-8J^iPne1{$sS zMD`^M@` zawmcYgN9dXnZQEh)p9K$^)r~Do(1T$@!%NPQWn4wdNmg?Lw{$6jFwWOCu`qMip&FEh;RlNphK&*iu`mgRL0Omy zJq-n{!cZKGK{1;!)u5L!Td%(nhQ<@^go*9L?}Z6b{^19ycjp__A-;>)i21_+0000< KMNUMnLSTX>0ggxj diff --git a/graphics/pokemon/lunala/back.png b/graphics/pokemon/lunala/back.png index b4f341d7c5119581c83a37f21b3367c1bd4ecd85..29868c04b31f6c2cb0e1838d3af4db3162655d8e 100644 GIT binary patch delta 636 zcmV-?0)zeU1>yyeB#}W-e*gz`Nliru=LQD`F(@KupLqZP0!2wgK~zY`wbij|+dvox z@DmyYnIbJM!b>hgizc-qh?t{v=o=UhoeMGn4JxJ*1>vESSEDT2B5AwVFz7JcTNtl; zhMcXtN;#br0_|Z0YnsYr~PwExW;LX!$e?3@507F=e^$)_Y z09X)0^$?>D9|5>38Msk`ILux45UdWBIgQ}($S0_0um%}#pp0qMhcmE7K^o-wH_-s% z!3>RtIm>8`0!$wmu;D1MW`}%d!;gP1bqC8KuFAqR+5YVq5aG6b!YF{e0miPB@ddy` zV95<80e%Hw6|m*He+=fOR389bcKOsmS{3;3z@MgTrJ zlM&<)!wFIdS8+7^Gb+{L@3(N3*F)EWHAs>q8nh6iaM@)Q1pPL~h3j)sHv&q$7n|!< zB810w8X=Klcy(|Q{K&<05YwYU)B}6|XR~|dK5apH-2>(pe|7?`TEOmMBW!`T?O%ut zXf_K8izg#&BfP)$O8ED!qWWifc})0$XVh*{J}(`f*Pzs5_ljwn@8Ylpx*H#M*r_^z ziy3W~*!7U%l7p14EiCGk2$0+2t4oRJ6vRu%!9H`U{Sr~nXP}M*m~)`hb%tl_B_es2 zN}y`NeTLE9aw7em=ZF%z5@5%HNADLHeL0fl8SGWyZc)&UPfp(%a8VF(khMTxr@xK` zY0#!wW+{o1HbmS3ipa4d$8^)2GWvskzRZXZ0{9$|raAdFdoFZ-69)SU$wm&r8`m=m WtHoSFwiZSJ0000q1BfBKKkh^#a6&S9+Ey+B_WWE+v$2(xIlt;FOzl0^#O)3 zo$Bv+p8?PygyV}Sh4&19z)i-$-6#mW#AKUbbvT++amr`D!uT4jLChPB##D;(475oQ zIZ5(GG=O-phD5!DWz;4CrcVs$a1v;XGTH0!{ja)i;C_gkELBxDe>Vk0xE)_%53g96S+q*QF1^5+!$H3);M7rGsLW?7-t+rbfaNWr$m567e8G@EF&dWGz|{1kssEGS~dfPFTj!m znQmgd*sKvr;;0Am20X?XJ*=XiNrEV$t^j)uEc&>@=+lv6tk2*u1|C)^-P+{zl>rku zJ_m6Fa=8%Goe z@LATdS7}qbs&Bix1f52j+D5_z(yUdK(nGMvpkfL_)+_=wB$37}e`A)JkG}KfhjvBC z|GTVw{_Uo@7R&Yhw?uxn1^azJmuA6Vj#$$cxS*dg-!s;OPA^AT**7iN2>lz|%rpHt zjQ4U*r+gFP`bDzQCY2oCehdvx0X{6bn?^tYC3Q+{9N7!8>G8mahzB>INEWuK$@)YC z2@y^QB68UX3vDx)f2YKw6zDNhK(Pd!<*97|j%Y!FlAAGf2^m;wjzZ!{@pLc?UfPt^4UJQ5!7S-18lSxuHpfEPz7UwDjOXADP z7WFFReZfG-_L?CP9`s2|JCvl>=>|odocwt&D|?Ge|hyfDflsUI*9?rn%6YI zMv(mR>IwmKI-=s^-WE4mQ-ucjADxI7-%Jv>)W2Bk^zH(HNpRj&hv{A{NddEHm3|fd zv(BjjbR+2@V1(5CD1oICtynSRA5fXbjj+pKzvdd>dU9QWQXE2d+9LJ10eIiG5U>Jsy zt`X9Q;|yyg+m4t|7z!bArmI-#nhdEU=4()OArRQ2@0NtXNr=uCo|Ozh1g@qnh5HK^ zvJU}#4nTrFuWKFm@(nJQsi6pqm)1}>5vvc~%j*zMe_a;QnTY^=B2TtfhVC%rpwl-l5&{~2pA&M)#5z&Pq_Del0uNBoo*_BALB zR&c+Me{=-&$X;6^=<&_52IkDE#1QqY*OOJHcDUdi3WQ@;Vr&J*5bE$;gHSvHknkh} z7_*`joXf5T3ZAhr?Y@m zf6Jx{%YMHx;`}R`cIknL6|rgx?gw#Wb7j+=e+LDMg+M-2!}w=K?Vkz&^!E*&l|QCf z>W>GMQ~?|i>xV)#3vTa?@zzBKB~W7RyOGH@V=S8oGXhdY;CgT{E}V zYBG*w!1QBUu=M3K1MF$Q%!PCPba0R4=L2S6hXD2(^CJDwF9Dm)*7qOq4cS)b+V_wE0000;QVe}l!$ zr{BCcGg|ULA1j}KduVRNaw&aFJ1%EkWO-JB?dEcj=u^vo%IpUY88NorA z-`Ms&GoQnFFXwd1HxVu^l8rX0_fsULyqzOVC-K+6Lf=78EGCSwokQfu-gsB#snM z2eSZH;O(>oAw&>}?!y6%pi0-vnrvoZB!bB#5G?}+RJUFXcm@{L*6))^Qa7M5HsBWL zDg{g8i^=5bWcTTy1i-IQeJbD2g3nJTFJAxEq6l^jSiZfO0%&vhN={zAe@+TCW=rr%Vd0raC2@#5=A;+FasYn|Rb0MG>IO?8-_#gY`z zMXU6y=$~~?4PYBd4}niejYbJN;l~jJe=y1b?6eBPbtyt(FUOIu=ZWm{Sx}ej^5q#cQjX);XHK8U z(Ht0tp=4`>^x-brZ4r$i2J{;nsB_f8rj3SZ`E4sMiCC za6-`n*{pXD)zK7i6#&_-heUq%==$=X?*KIU_Nhyw3_uZ$U?}>#&kPuLIN$ETz9QIw z!-6&tiN@&L>&ut_YOn(UezLJXZu1NQ{GIgfzENs}bN*+n!8pIjQvmCzucWvOZIAdV zFYIej7_8uVAL$5~f04bmLeS%zV-3umQ;8w!S+6InO6_pLITQ%jtmOMEu!c~F=Ng3K z34nwr8NiqorQlw6HSjS&3BJSq6hv@FRdue8x~9@q0HYq~o1_-u`5_=S&YT-?poWdn zDd%h!km_$)tFY}48Y9lXWa*S%h**(dO~Hd8Zfve>y7QpGf3Oh9_th}|Suy*k0s#Gc zLuciW8J7Cv0V7oa2gLfJ5Y2+ydt?0QB7+hbvG(1_WScdX&5IcUsUmPa8tW!>1bm_7 zr=H7$Je-`Y6#d-Z z00043NklP zXBuF*oRH~~N6?@JsNj~aM>+<;H8KJ^Xm5yHCcV9+1{>T4H2igb0<~y8eu8<+u|t@h z+l7lOc%L;~V1Muq1P;@*ub}jeGnmKJt)FJiw!hEgh@b#1c)#jsKSsI>GF^&jBWr$m{t3F*-eHT5dH>inXHI zCOI8XDWLiT46JCCA}=(^=lr8@_`2>Fi|h#mb1GOCdjcq+?7?c2dKV}Oqi=@V$zS2y>Hn=T YKfA9m^f|Y38~^|S07*qoM6N<$g22zKF#rGn diff --git a/graphics/pokemon/lunatone/anim_front.png b/graphics/pokemon/lunatone/anim_front.png index 20b840401c09eec9d568ef3e8d30743413e9e023..7967e05d979dbb658ef14f48d2ee8dfe5aebe606 100644 GIT binary patch delta 923 zcmV;M17!Th2kZxsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>}D@PriQ z0009|Nklv2NQi5I_Y%h}ND;*K0^S$egO$BUgrI#b&*B2$I!yV$;nJxX2&0 zUl8Ogdq>J~BOVcv!^1t16pz%sC_2VF0x%AwW0_;9(|=H2eavlqt^)b|C0HVE zlat9rYmOMSK!Kt4B|Ct|a3koc2aNMVyTJdevtDxg_gTht3e%$`v-g-bX$g$*#-hhA`4>&QDv%v#VTW_Usif0ap zDrsw=?l;d*>s#(Ms}bfiBXExOHM>#C2!w$Q7jv_Kl7HJtSuX%&pNb{8TEun{r7gGQ z0K3Y}otKgUs)jOnq6D6o&JvQ-D8Uo&W`I(7z$&Z8cyYCzfzoi^xfft>ccHIj3v};A zli3dl-kgdC@isce!Kn`Pc$snUaM!fgA;YJo@b@__{sJ;?m+p4NFmSEXd^ZUME{)j} zefC}=(SIU=JQ8dA(tR`Y@YkA-?EKi%j`4p5;*dWm5(xMZ%(wmh0uJZtBftXtJWnK( z{KX*h;xY>Q!K5IA@ckkBs&~OFNaFl~^neV+A0l=Bpqye{o%ur;>i#=IX3doA?Uop$ zVMvf15T*E;gdrLRz_{xuE>IvEfg=dtQTEN<8h=K0sQZ@(zI0X~7H}>Y|AXY;J z#4Yu9ru!>}B}ad72I4h$H7IOB$C@{glRTd|JD6>F12Of|0#oxyf&pCjH)dHI6pVnP zj54Lpar({E4<1NL>RUq#tT`Y`s5NIp3tY1sMT((J{qrFN#MJnqeth0`fl=%BeSAAO z-+w%jV7vlWr+bIV1PaJar#EA7#}n^5mH=Zs$4LPTky|?eiR&;6@mdeCw-1~hSh*0M zp+ZJsTRpIX-~(yic4e9#(^=3TP#p*e`$G$a{lNky x?++L48Zz|{{s3?IgV9v5xBS5zTiUzg4-{J-F}S2LSa1LU002ovPDHLkV1ngCtYrWI delta 884 zcmV-)1B?9Z2gV1GUw;EpNklJnEgl`9?dSu74EIc)bfoS@(J}ra0OLS9mN|wx3+2_v z+{WiBkk5C)5^#XU#RBZvb4)~fXspf)AHhXwTPlQAX$Bo?Ru*UO6DDr0s!vT)l3VcidxEL(FGJ;2z5x_C+N_5C$?V=5_`p_a~cxc+|km0YT@ZWP<`~hU#TYA_M zgTS>)^X(=OxHRUCIA!l85-k$QBeA3}-8U1;6M}IdeT-xL_jt!26bS@;2L~ zo2QQe3xB-jc_JBavqg~?S3a=ygKZvtzeMW%K{>^^KKGX} zH2t@P%o?VOmKdR7NRS*5rTCeI0U8FtsOu;$P#_wCD+u3FcF*DrBcLE|`j-d3bXFi{ z?*UVsY>xpTRs#gY9nE%T`YVMkM}Kez;thAzFMn)9N18W~lRO_gJD9F`12Og70u%E> zg5d)={f(K|1_dLaD8o#t3*3IS`N0E8Npovpfh7k-3617#V1XOdnaw!c@x;4{CBPWZaZ<<>;T8&j)wl!qxAN=89p5#DN!`|};6HXuFK>P+<9x=E-fIBPz0000< KMNUMnLSTXeKa&su diff --git a/graphics/pokemon/lunatone/back.png b/graphics/pokemon/lunatone/back.png index 71dbd1a46c4f7e43437efd265741b554cd857dfa..05c4f397b6f43a62bae553fc70f2f1aa4fa87411 100644 GIT binary patch delta 469 zcmV;`0V@8>1iS>0B#}W-e*gz`Nliru=LQD`Gz?=CkL>^e0iQ`kK~zY`?UYMS!!Qtr zixeqqyN)-j}nOv?idSz$`#O7e+B}@#2-lb0zO~` zZs%hVOp#LFdpE5IR6_sdME3q>1x*-X1e#bAafsE!j000opaXSbA$Yuf9XyDW=+=aac+E|r`u1tW-8Cw6cq}T@AD0sVk zfw)t10E3T54G5t;f1tooQUosg2%j*3B+LawIRjkvd414Uh9NBQ^aI9%5M33Y*Kf$t z8XsWhzQOzTY=BUK>})4>1mAD_FwO#ezYE|r)ie05UXOc+_W_nR8*fxN?w9H29z$R~ z0kYtENw?1HlJhK(NY~lmr#vS$&N6XyQi;oNH;d|%X(G9IOLINpZc_tr{OVe%+67wU z;T?cOsq5opTmj%MV0yB_v4}pI>3+cgFv4OhjuKs#O3pkYf7*Tlmbr&ysxt&p00000 LNkvXXu0mjfqt(uI delta 482 zcmV<80UiFl1j_`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i;PpK~zY` z?UYSU!!QtqgA^%iyNihI&JmX39AEAgf#TB_yN^O`f7W7KxtP2q&ZYs5B>q z?pe47E?^99mvb;Gk#jkJsO#1NDuw?_Rt|a-LE~qbfF{(0jBUkW5NZNvk`D&E0KgC! zFA&IpHD*%_0>G?|ehJo~1eC!VM*skVHEu=&fU>y)tPwbdfMJw71lrIo_x&{i&L?Qy z$C6MROrzlK`~~VxF98BR9uZJVJ3vmOBBS&aCIA?Y3gT3kCN52ck~`yeYTkN zqWp2c%s2Po1FIR3dY_kMV|`sRnR*tO{1~fC(b)wJ! z004+dL_t(I%iWSO3d1lAMRNnw(O}3)dkBq!LeApRAn;KVPsL#PbvH>v=GNNukp36q zZ`;2WF4s#nB#4x%!Jt%%9toY~b($ScQXRmd`<4k&i42kb*+vxz0NxsOW;f9&8;yBt zG%jDj#&%>TeQA3{wh}yT>_7Op?mxCv{Z1U<;{YEAtQUt5y$gZmwqkPj00000NkvXX Hu0mjfzfDtt delta 165 zcmV;W09ya00{sDyV1I~7L_t(Ijop$#3PT|bM7@Fhr6BaA{}5RQ3ZBKK5b!9!u8JT` z?Jmg)+MnG#;!KbU;ok-?r==SbMOxQjQEpAI#7XkJ%p1Oi2cZ{|O;NpMC>08b3)E)u84)Arr{p#=my$gZm TC7A_w00000NkvXXu0mjf#mr3C diff --git a/graphics/pokemon/lurantis/back.png b/graphics/pokemon/lurantis/back.png index a080a77f099511c4d5bb9b31787a80276e082415..d1cc705b163921deb0b076fa01ba85c25300f11f 100644 GIT binary patch delta 786 zcmV+t1MU2R2lfV#B#}W-e*gz`Nliru=LQD`H60MRo?ZX|0@+DKK~zY`jg`M^+%Oc! zeUs=Gg>qNuE%B1&*3da1F3^9V^U*^`$zq3K#kH4C>6lExxh#d!Qg`YS<0y-7s41sE zs_#j%EuW84fyv9$N8k6=kGy!^|BVqnXu>XX$Dw~@^P@I$2l4$Te}4hd9$@3Ejmf9} zY%`P~3P+#;2EeSlbiQ+B2|f4n&815J$uV@!vO#SUN&ioXQFmV4C)yon~}u$?n2cD-|50*EC{ zESJ%Kz!M=iD&|P`TsaB3JAyqgvj?n(K;%r1_W;xd7UKax=PtlcsXLivx0KBj7g#dd zAtcYg!X+lsB^Y~~-M9b;K(-c<$n)l+ zVS#%9#slDS&FthVdF3a}D!NODi1-b)?(EJWkydpx$FbDS<$u{yZpExjiUsfC+rn;GdnFd-D`oBdLwm>4w9l%U! zqMEAeHQfG#a$K6V+d}_LRgEt*b&txNl9aasYEc#8!%GIh7N6iGRCUci#9%^o+t3~X zxWfk}Xe#(BF649PlGqCH8`elGAjBR3{z`DZ!X0BP7yyMm5B#DY@bB>#ec+3eKg@p# Q000002uVdwM6N<$g1t3nfB*mh delta 795 zcmV+$1LXYn27(8WBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^3PMK~zY` zjg>KL+dve@<>}~_3&k$fOSEM18af9K2l@p%o0>Bvixq+{st_gP3(%1@e1KShQ+B2gJUj4#rpAmhrp?)G2QZD|F9EQBnj&o*{ zUHhF31Q2rw%;)ibAP^BZSxigzTseujyZS(PSl(W(zhWmm+yhV-m<@XXow@)&rEYMw zx}|KIy1<;#4k3B|6)rKAF2UH_)r|{q0Awo>i9G+_0pGw2fPCx#-T^PxxOapAt}@kf z&!sFH5jy!&Sl}LifME}KTm-}>_?Z?6fVr~qWF_U@G9aeLy-cNuHPGD0$9#2%cA^vH z0LTJ?vN>k@l>b1RtaSwg_!2CEDeg5O;&WNHHx3e>@-HwQNP-doD3&BGMb~QBXr>rR zeuZ19W2B2CpwvcBHxW(LR*2BMOX%b?4zUns=+&o*QrRYd+#ymutm^Xk5y&tayRLsW>pj;J$u?6bIqy_3dB9sycr0UOuQk6S{ zq6QejQ;nY2Wiz{Ng1W7N50UEvVOL}10zs;Q+C62HLIXF6M4%Ia5~B{FowS zMJDjbm4^XP=-d}cIkq9!V+tQ!V0zQ#e-2Jp9CybD`icmDkE;xC}(9zmkgfB zfCrBM)OT(=)b^37DuWOCefQq^e7-~I|NL}K8u@+2ZAo0gT7H!Re*-}6b=}6Y5(d$b zbwbFzQ62BQM5|2(gbbZ(U=5xC31wiYSW}2g5+LhzShr3g9!f!-SYPCERGWTqp-cnG zfi>t8;z=_o{rnL|mEh_Uq5Au&3t;HyHwtWddx`4g4a}lT#2~KHB4D>l7rF{AVo*hzi{OM?wj<4y1A5r>=Qp9#u5M>qin&W zSyBm^F5$ud5bXsn7d5D0fiLiw)`qZKLKo?HnGXIGJpy>aJT@)6s>k50AB#u zCV0*Fg%nLOe}q3EE(3+ZLRt&ZwVj0k>3sogVl#_&!J;#Fl-T5D@ZF$c!~>&)bFfcS z?eEX#;~7Fx@B~7d769yU0Mx(}pr(h2u1X*jV3&i5_)iN9`>iPC?F<*dnRFkFws>?L z%&^^cYSMiYsk5%#36Gs-MrZCm1F&=SJTyk_qY03rA~%kosOltq2GD`nkeMmGw-OP`ZH+)GA*w1^{cjQ*cP3gtaLZz+#>NPC%R3;#wI%ha9+EfMSW3 znF_$?05&OJ@qM90Q!L>RNXkHAaFA94bR2gsKz3gM>%`iB#oKV+p1De5@iO>s&?x4i z(Z)I0XW3spRQmA@p*Va35zPt!Za4sH=nGKOBSe=a5DBo&!C1W0!ohwk8u?qp18|09 z5pVGDIGAFmN6!F?{&gVq3t^k_ Va7E0~h?J?8+H(0_;$_~xakx!-F9O3&kC zC)VNSoJ3z*2w~Oi{KCg7h|OHssVWeNYoi}h4My+to~lJEs%mSIQX@gtt#nyqLE2W; z17;a3qiQoGuo#Wh-P9N;3`Sb*W!y2qZ0hEe-d$!Vm25~ zCkGCW1@P!~;dqCqJ6$T)M1itZlD^kZw4F^hw9%K&Y^Oclu6N>U*SVB|$4%dh1!mG! z%6(Rt>tJ1OrIH6zXM2f$9E>!SWw=pEt1tl^qh(2tFt7-?O$IHYRgP0Cg20Wt@WWq# d_!s`#k8dld%us*453c|K002ovPDHLkV1hR%u6Y0e delta 345 zcmV-f0jB=d1Fr*+Uw;8QNkl0@+qstO^z z5ZA^$4C5-5PTr;|mn_>u!yLd#0v z+Sj7yelIOxdJa!LTllN4ReeTRfFi?}O0ifMLi}5M8Z^aiw zf+hH67ZP!hVm260CkFQhJ8c25i@x+~JMZasy<=Cq z-lPnB+zbP2Qc?{Fl`vmb<_Fi>rPP<6JK=*K~Eg;|CPf@@(DupwHO^zb8zfa+w> r5;|chrXm)oGG~6cGZ6p6Kl||mE2qp*UOHSx00000NkvXXu0mjf$ibb+ diff --git a/graphics/pokemon/luvdisc/anim_front.png b/graphics/pokemon/luvdisc/anim_front.png index 631ab8f094491447f68c090b141971bc62ae66a2..dc03adef1fd199c34859e93dcfd61795d85b88ca 100644 GIT binary patch delta 316 zcmV-C0mJ_A0+R!fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1~(VNTNT0p z008z$L_t(o!|j$a3c^4TMK>WA2&wEOU}d?cPqE?!oHSNKGK#i>MJn$gsCbX0Sa0B^ zjLEh$TLi7(n2^g&}V6+WA2wT}nz{+w>ZxQhVP8usA8AV&c zB9(U#RJ=!0tT*sd#$>UZ*&_U61qzm0Js%~04{+9bhmSCDk^gxP#LfZ9RV5Vw}i(Ri9~-ZDHuu$#upe^Fs_xSU^Kph(X6Fl fI7z_}{a$ZC*%HRRUPM_z00000NkvXXu0mjf>qK0w^Bs<^TWy_en%SR7l6|)jbP>P!tB> zD@1d&x;R*SU1}DQps}pxKJ+E9-_dVrt-durz=&B2jl>WqMyl#7QXvlo2#2B9fE>@8ga?2QJs)2|P2vKY@J{ xh(yC<5O{1~@45r6e!_ z004GLL_t(I%jJ?Q4uCKaM0SL04rbipXc27!t%o4 zm}XAsFfbSas@W9mU|`b_7>s`FORzR=D5qHE5ozq&AaV~t_cTzD6j+d3+=2P#AODI+ pbjYHE)uMw-HS2I?hz|J$I-J)vX6`5zylnsg002ovPDHLkV1oL^NKpU) delta 149 zcmV;G0BZk}0__2iV1IZ?L_t(IjpdR%4uBvK1-Zc%blk$&aa}5(iS&9XC3KjGmb~=< zM%{9<|BNx;3#l7}V_7+2L}V}nR8utA!9bSi7|gazEy#Xw?G))O0*%ccfqMXY4-JwA z;?ynX0AG9m$G_qc9jekndZmL&J?n5~C>`nxbT|RmHD>MyMGmUX00000NkvXXu0mjf DPL4nL diff --git a/graphics/pokemon/luxio/anim_front.png b/graphics/pokemon/luxio/anim_front.png index 8b9ffd23381c0cdfeded7d7e7ac21f7a2741c3c7..36368cddf41b7abce72b808c4d601f50e165016f 100644 GIT binary patch delta 1099 zcmV-R1ho742%8CzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L?G4TebXE z000C2NklXG0+%k2#|I%Rdn#?NDWX;tbJr6b`e_M8RBa4vF6ap z7SYW^in`hy3qnrqVwWP!D>9`^GIr?D|Dpdv|As#5M=OyhX@4j>6z~B8D83KhJ-xf* z_bWo~$G;l&T|nbt2k^kG*B@;MOmi#HFwKv4BxqWdyS;xdDQmVXaU)#)cGT{bfrsa- z-)K851I}Re8H23>m-u-ettAz!0G(VAnj~w_7_h>3 z5r?mazi24-__ZMAFtZV{I< z$e!-q31Fo-q5WR~Vma=HnfXB~0>@sD+eZH_KtBHb-G4Z%E1W*?))$(K{_StE{Osww zv9DN&wX#x%0hfQ|^3{hb!|4G8K&b={K6X$k1fs-q0w_&E7&ah_5fFe4^+G2oZ#U-n zS*8?+qUBC#v&xpH%q`*&@`M5RG)IL3=MdOY!jv8`9ITytj42iB0S|w_%{f-eIj)*S^(OW3t56&7QV1j8&Il`YB)7#$}wg?CR5QY|2#&w*eA080SAoCE8^ z)_=Wf#ox^UfLVrek+rMVvlN4vAU^M4tlUaEY&=Ur7A_%neT%S)WVkmUPfy2kjKcli zvshJ?sCt~8{@}B7b$zoxrb3@H0=dVQi4sja~^K zxlo;8K?Dx^2lOJq^{0Z_=n%p!fDw8KxGD=b06ymq2p^SO>oABRLO%^X6^9!DA2O8& zwm;>z-lLdG#mb4fVmkjo40I3*9fUVkFEsvvkT1|dFv2|CzG>Az;2xH@o%uhC!$jt& z>K_W*Flk$ht2Wa(wTWD$rJYt=r}}qGhq1vxkiWBbcNhq=(?HOB1Mwe?zW{MNoG|%- R-0=Va002ovPDHLkV1jBe{ZIe^ delta 1065 zcmV+^1lIeT3Hb<+Uw;GyNkl8-Kme=)lz&5j6I2R;IQ88SY9$E60ptk+ z0&t*yU!0Q#}1aJ0n5eSxzCtVks0vu z`5n%&Q_i`q1A#AuueeB(+%W<|Fcf~=ut z8X(%Tn}6Xj81dv3E7g0jird{E7Z>;2pLpYM>cBuw`-|z~cc{ylHt9j3me&q;yVv?7 z5^tQ{AIYnF`g!8}9YhN`H34tQ=dVl^DvQ;2^Ac!3Y;)W?TPD!W!4epice4GitC@qv5`S}m(5?&S6h|=vjSF(%fH8#?r>BIB zrA=*72QJRZ+yMBbA?0;VdCRJ$LEtDB!X6hU07c&}EygGf$9Yoz%G7EgaD9}{72Z4E z%Zz}0wgAF40Nexc#R6Crw!vjL`F0Kf%rn%RY+QDqW*Ec-$ypy`^-uCnEbP0(U z*nfm+lHuKaG&`Bd2@3Zc-)6chQS~@K`QDW|9KYedW6&I?MDcQOFooZg;HQ2)0WJsR zRjZIc|1pEqF~m`qi=X;Z{(#CC>5@Vne8%ClkaDUp4x0SqiyDatb@8iY7BV-~ORyAc zpfLZHGZ$P#3rL`N^Fa9?=mnNU=%Rl>FMk3i?Jfxi9YVALup%D;Pvy}XAmH2u5ukD# z9R{&P6l9UFl4uPOK(4aT31-~%s!9i;RHEF3D`xT!#6kz5&_Vb!_1xee2>Bcx1S8DH z?VIWT0r#-H?JxdO?02qp|4`b7Y0q9B_4JpG?q4p`(tcO}Z-STa?j6P&13~`DIwII& jAjnn&K_3jnf3*GvaXXwa3&fDW00000NkvXXu0mjfm_h{R diff --git a/graphics/pokemon/luxio/back.png b/graphics/pokemon/luxio/back.png index 8ee3ca65bbf895990b9827519f75144c3452c63e..4662c081f5894d584cac5f09c410472042965101 100644 GIT binary patch delta 639 zcmV-_0)YL)1;+)D7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L?G5#nEZ@0006iNklqh%ZPfb8&t?g4_=bZgR1&nF%w_5_a^FXbQ zLB;QB4F<+u7-KpQO!dNV;6H)l2C2ddKoXpf&wyJ21~iuntANlxJ_F-x+J*r;U*HCi zJAqo${#k<1HyhR;#dVhn`o?S-gS*@y)BkKQbC3;{Rm%Q1Q|@yhMb8&gfVS8N@!4t zixM(U+R3tRdo4YcuX7uT*`fdd002ovPDHLkV1iCgAshez delta 635 zcmV->0)+j?1;Yi97zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006qNklrT*^_;4gd}hCIh)_+t%OYloIJ80GmE|pf5_ugWdope?Wf_ zmji*Cp2`2a1h~Ee$n~k}E8?C|0rF;nt4-ekV{q}v?L{C3`X!(l=<*YwJOfDXPV~WC<{QYdLH#J0BQj$Q37+IFL?pT1`s{>ff2AOZvbD$E5K&~SVXV}{KmitSQq#R z&9%O)Yn-EhALJ@(Loo$m#qA>viA@~|RQMkn9|SP&!(U&}`DZyE`-E(g02(Kkob z5lezms$O=UMw0z{pr>802cRK*Jdlf?cD*Ago?KTf@~>5q(2K})a#-E3K@WfWqg-yu zX?tVWuOW~sAxnFMQLeY?yuAV6vAV`AhUUyxdn+5rE-39r` zB1S2U254f-;4bB+*FHBq1L$XAR4WGnngg*nIYT1##O0xGoB;Y`V!)1#Pfi1&hk*7S z8SuJea}y9*=r?L;z>8h2f5$T1jAIAHE2tT8uA9E9F7Hj}d<8hX1JL?_7frz*96u<( VGMBsl-E{x}002ovPDHLkV1kZWC)xl2 diff --git a/graphics/pokemon/luxio/icon.png b/graphics/pokemon/luxio/icon.png index bf3696a2a1621d297162a5485503ee42daa69b28..8ccb19b479a1f0e53573801c1f30ed7dd0a55d9b 100644 GIT binary patch delta 351 zcmV-l0igbp1GNK?Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L?Gh83$xJ z0003PNklt$Lr|h}3KA*x^1!GB!Y63`>mE?2M;Q#H?EALM0oJ)}0@ccM@B&zw3ABgRPDiJq zH+3rEAMK5G6da>j=Nd9t>q(Q+D2J&tj9$r@+D(_|IX|3g?bB?;=v-@e{(B4fd>_m{ z&cLR@TgJ_0Pguf3YDnfw8n;(#g#UVeAdD=9p`|e0QW(AxMwY_#B2Wm^uWOhKgC+|! x6Q-|fD1?z%Ln+MH2gWQ+;fHfeKje4)I04ot=3Td<`vm|1002ovPDHLkV1h9}nG*m2 delta 316 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 boAnRdj5+{(re6I30000{ diff --git a/graphics/pokemon/luxray/back.png b/graphics/pokemon/luxray/back.png index b8625a41a0152033420868433dea339e457352f3..3c40f6f73d34b73ce7fd69657000bdea20f719cf 100644 GIT binary patch delta 750 zcmVT0007*NkldQcRa<+`Qx4=DW?x*T*V^q;DpB+HSVi=mHrNc7SB<@bFlivO}|2@rov zK)FPe%|Z~?b=LvjnEM4l_SXR|<^2+H)dc}5Wwiu!R{`^!i=%pB)XACDsH9#(e2O!JagDIM%jRG9tVN$J2M4X*Yw~k0KAR%?kS7W zc8%;@1+A|UZF9^3?^!BW0fh6dJ$--7-caj)?0ZPS=8ywSJHmiw5MuNW_@2K2fWGgQ zg5bhMm;=sg)dm+1czl(Qi3d0)(K~=2PA_+PCnA7J7@y+=a2@cbFc${);?P#P$Wz^9us1KcAtgr2bz4_5Snt>TLg-7x^3tP zcwv;&g+&HHP%kYW7Z&Q9RB3-ULDAR*R8-J+<(?6sXG_JeBLdn9QxvOkuGdolgt5+I8b5+ zV8|_31uZ4)A3~!|YOf27b=R$;t{Q7Cn*fDZvzq~B{JDK#Gl2P7Rv=p6+C*f48v%^~ zSUVEqzX7XT%@v#h784x-FKLBY?8EU97a8^yeAh30Sa~P%wcCbuJ-@PjfC6n|1G=>xJrO@ z5y60Ti2!(!0ECGWT?6p?od9%^Pym+*3ivsa4)~S8fWH$^*8m{+dRKkjAOa|auK|BI z08~T*UKOw)^e2YvM-gf`d|`qJsQrS_eMdYuK~5dp8UaC<3Ty%3Gso|XtP-da^4j+W zfs$>RqmLo{?!mTA2@njHz-jb50_$I|ZAu7H6IVun>K6c%Ot>D+hd>|$yyi}jDfEvG zDF3$xoC9nj1F$6+;C^2uA^@O9p_G3Bss8y~)j|irNXQ1P01cr~EG7kTe>_%zp5Rd+ z_23JD6S%D0g#69M>-7-8vcG~M_$j3rEczCZ2~w7|o*l3;0OlPY%P~UIc0lVMrub`(A(T2!5r&W4#>Ch%b{U>}LpQ#$(VA2Ij#V4bD?h zNo@>qtiK+R38=-0*d?LAfna~Vz*Q5hhd>@m7!%naAn~(Ye(F!5HyvPvM zJ3x~|cMisM*U81dLQP$6qZW-*06IZBxT=%ha<;8EU?3n;Y+MA;X&gk`8Y9)wen?WD^XaWBKbQv%TrYBz400000NkvXXu0mjf DO@lwz diff --git a/graphics/pokemon/luxray/icon.png b/graphics/pokemon/luxray/icon.png index 9514dbc9b21280086cb805e914a149405341a8c2..b6b6e08c93401a10e695591690ed0dfc8dc9138f 100644 GIT binary patch delta 415 zcmV;Q0bu^l1Lp&f7zqRe0001qplF?uE{!% zWauEsGiWIuigg+cDTKS8B-_{-JA`U5*2n37q|cZ;F1gu*y8&qn2*Lz_$~OYq{0DzB zRxk)6ff#6Z6>vh7gk;91&EV1{w1}Dp_Kk+Xy9S_3QGZ_~gHHE&J(JduXeQwNBT*tK zfHOE9Bx&jb9ievodV11R!A9m-M!I^B34072 zsm|EHp<|Cyht2mDwD9KxE%!AXHNk(6|Cj*}!rIiaTRba+ delta 389 zcmV;00eb%D1I`1G7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Zd6mK~zYI?Uc)| z!ypVqg9H(gEYJV{ZT$e^0Bv`7QC$|58V`eQ@Hvj3Tfmoi`Yb^DAdm=n7K9VQP=my{ zgFuM_h6>aIwh^V|C=iQe0@F1`84A?u2ArCWDRNifs=nVWdLk%{mL@`+$Un-jo_kCJ ziD#0K_v{vchaeY!@{AEX+YFe<1kBnI;8wT;pG2a86=Q9ESTM>dTSvLp+tFE^C*|y! z*a57GFo#x>F0oZbRSWBWyg9Cwtx;@3EU#zO3aW|Lharw;p~e@{H7g{pmHV5KyQ>=k z(8^WC;@~M+8tDHv3tHYjGxdd;>QLc4}NR`68NzPi007K zTma&Ojq(0wfWR`2(?0=3$JYSy4j`7R_=mPk07-3(!}JG$3_d*Y5CGEo@SKqWked(l jbvA&!=YwqhVLrS7;gKBo3aRrr00000NkvXXu0mjf{o}86 diff --git a/graphics/pokemon/lycanroc/back.png b/graphics/pokemon/lycanroc/back.png index afdf38c6a95a6be78eb0d124e030c17dc29a49fe..3222647048edecd16380179052cfd4cb8bfd08ce 100644 GIT binary patch delta 584 zcmV-O0=NCV1+E2K~zY`?UlW1+&~nC z6)aFIj8nPu6BuUKHmI@Dc(p;5A$kItX|_=ypxrtF&6a_{W}ai0ZSKqE{^)NM#i>#y zQ>f7S_MUU^T(Lp$|NNyBReu0J9Ns3QT?g#G&jO)qfym7RbqDO+e~-sGVC`J>E~Wx+ z0G9~Z-vHru?>^nch+vIVsKul#M~L zOM<{FkIGVs3q`WobO0qe8%1)hwXX0Y_&|5q2-aMn?pA4}e|vyrTzNVqWORHG;2@X1 z8R<%r2(jl9A$WRwm=Hk5IMI<9Jk*>Hz$FgB*u&FLw(0xGXLM>b!xEKv9Ldzv7qqpw z+>LnjL+%YIL6fyWpylmA92fj)g_!`ld#{te0)IMHsI#$-@B1Pd13@sIB(hm+4AB$FY~x0Oz}?jeXs-+eF8dsJTr)41 z`LmK%isDqM>?u^}`|W(+j8^Kk{#T{-KY&k%=gD-}0=u7+K;i?C`e|U(0z3cfZVFg= zU%$zy!85=m0`4zBvfcZCFIO2kcsB$V*9^G5zeE5X#=x@D47eXxWyTI;z*>Dxz`GIw zoWYHNwY9d=Gxu$dKuY=uNWe03GcWJ66lK@cBY+8O=bx)=OThPD<9K->=F2|;il^2f z#LU_cq`R*@a7J$if{Ors#w0)Ej0@<9iXEaM)_}w#bVN0bfNLgyK>(c-af`rqGZ+!z zl+zP8o(tgoCJI3sr(E;0DvgMb2-Y~IKFc60hu^g)7I4&XVk77PY~kB&U+9~s0OT@< zqzD%jWouDvlOXWOt8&!hLTi-mQwva%v(+STj4?HS2rg)gjbOzMB;%3*m;@x_GCq$! zWOTe0;2YTSW1yd0)6Ee)209H| zV2fHjj$}H}XLM`vayR19Ex9wG1WgeDW#ny79B2G%C4~S%2QYcpfq$JkF-5H7`>sjB zfKua4f?3EorUw+C%3}(NJ8IE{I~@*1_3`~F=|(`pn1QS>P5JOvwIiruOpaQXOHKw{cmfT0$h!ixO4arF~L<+(^);5%9g#UmQ z{tqjf`Exfjy9fBvcLd0nBUqFPij(?oL0HA@t zf(Frq&(lH#=p#--6BYrj*S~+^gw_G}c#s1rtjl`0Mco1X%4FBf4jg=0Qsa_A^;AsSvx?eCxkRZ@q}i#c^rYt0LP&oEO6Ss2NoFQ zlLcgGf#iMdO+ckLAb@(n8v*HhTmxXTo)#rD{Dx;mK-1(7Fz5~pRD)FHaK7Xd03$Ha zK5HQm=qy3N-~gN!ExM7&Mk2Fb1mKBY^hx5sd#z-a6s;!Ef8tf(j6MW@G8>1BQVe`u z3W3*f0?49zp`ss2k|MyK^#mYMbI(?9B4bajgD{^OIA1g{j5;U_nh3e+2-koixTbJ{ zKAI5>_=`Hgi=E*|i#qgdK_T{wI^K!W^sp9l9gCij;G$?j+Dz|p*G-B;XvS*KO_WRQ zDZxjn0ngXFZEy&|hm|KK1HRpr8uLQRXW=DD?&$a=)`V|v Rqd5Qo002ovPDHLkV1k3(8ejkb delta 691 zcmV;k0!;nM1&0QZBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00JvXL_t(|oZZvCZlgdD2XG`4U2#pQu8t-5kv1X)4QE4g5)F}p zaF4YOi|{@J6Gk4dv}NupK}?>n#z01J;iY2z7^$dMNJDY}ZdCs0=s^fAwI& zaq|&aFvw>MWN1P1@#syU(kCE*_JDT+sm&4KWIY{}%Kugmsln;2!7%2aEHoqJW=FUL zM(~=#1${IV4E)6$;MMl$7l#;LFOBl7Vl}N{#bE%6H)@>z z1bEGUwn7BTFU<=0m=C#i0*I4x1USm9P5+V>LF}0oJa0ZGuTT_4K%a}3b5ID1@tgTA Zo`2}fNW*Cm3a9`8002ovPDHLkV1lSvH9Y_T diff --git a/graphics/pokemon/lycanroc/dusk/front.png b/graphics/pokemon/lycanroc/dusk/front.png index 0784c7bafde058ba8be4dbbe4e2b28daa925de42..8e8beb2311ce23a89f2fffbd1688faa588346a43 100644 GIT binary patch delta 871 zcmV-t1DO2&2CWB>7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L}Knaw;oy0009JNklo&%hn$E?FI=dMe6f&>*bpSE zhm^R9;DnMcNWMC(rCuAn;w^fpT5+ShTr8X*3S5d&3#v@m0Xa6koDmpDDwW zz0T+5_xj}FCjn2+JFfED6`FJT7)5^%k3$}V(>RNjZXQ-`0aSmaqwH}A{CA@RfEi45 z5*K<`O{J7#6ah>^AZd^M78JU2HjtpU6Ce{x5Jb@hAX5ag{znZ6l4z3Iu|J&yX!8E}@AQ^dK@tjYMr2|RWW75M zJngWSAPEBG6#*(QLvn*_x{=?|KYIa2=(3*!38OXR^fS=*;rs;vox=*6(fh%vuUZKo z14*3cIR-2@(fl+x@yD2e$E<(3%?P+h0OoI*#e&KO__zaDGujpGyr&fa3Y)WXK@E;O zQPjqsAaMI_35Y!GaNK2$wnz!MCqR_}&i#pC`@2FU2q-8?R5}ENlQg4hC8-n|SV&j_ z?!!0)+!-ywLWFQrz_@teATZF4VoZP%;wywDmjs|{GnKdvV}r6&`EuFS>4 zm0nU46a}gxF)VTy!qRbNLMzdL2sB`=0Lm93KI@9W@F^HB0aoBYCj>kb5Uc`*;XeoX zyo*7fViqhPBzhjEGByHg<^}!gkiQ8q{r>>~FsuOzS^y7Bk*{`~$$#ydWE)qSgQa002ovPDHLkV1gdggz*3X delta 824 zcmV-81IPTW2mS_-7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0008*Nklyq0b4244^fyZj!|8=VyGB~zlZ-2GS&g8P3k0T+0^LqVf1AP1( zfYrudFpz6!s3CkLHuJ~>0_r0Inrb7+hsw_gDut4O3iXMF@-qMBUFtCITM%J+znOmz z0e7-lM6c$BQg#5ilT2IQ^)vvOQRFvLAvztB0$Li40I=8ZfD$2yeqCtO%hxwkN$Xk) zGcD_y7FYwrS%2Cs0$53g0Gz6e)AgM_GhXvJ}2l?MA zLGl6Fsd%h!^^}07&%x01i7{UPj zPQXTx$y%f205HTMpjE&TkOZVm3Ala-h$PDTs;`;DjnJzrv+x0sBsS|H-35QkU(W=htLZgEtf(-#=%gSkDXro@Rei^G?t>9Kb_?9|5ofPyt#XQBn=PN4G6&M+D`-a3QGW90Jb%(%ab4#Yo*Hj zI-CKVVWRd)Q$P}4c;&tWF#0$EqXmEW1%SXtuxZ@_IncQPtO5mxA$KF`XDd^NFTrM0!r`3!A+s5bm1zA z`p8`6FQ$0#w9PLC;HsEKuMgef*d8*cOQ={h7XU1BguTPDxtZ=k(UT)iWAF`Ju2+L?xodtX+dv#Sm@k*xb`(l!369r z8x_3O)K)?vc!RMi7>$@x5#&?AdMQ)Nl)SO|VJ@gh1twpn>t&*N^|%b&DVdd?Tms00 zB)82fP%a6FwJc2MWr)U1f}o=!AzgAI$A8;B(Ul5a3MEGl{S!S@R76^h zU?BOpe!dQZFrEZC#CtzA7~Lj8y+J$^scHrTN*?Li$VHHAG)!7ZQ{}TD2K_NRh(vC{ o819-a7`OHD4QA`334hPW7bX_W=Q)-|R{#J207*qoM6N<$g4J5ZCIA2c delta 511 zcmVOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00DSOL_t(|oXwKWYJ@Nlfb#}J=smI#_NcG}yO&nqr3Jm|VWD&L z;o8?I1rxBhtVZxwQ(F~(u7%Rv=3{2a%zTXf-2=A=xFx_^tm_qMYOCXTRoJ**oUrcY zoYiw9&<|xW0pMI5w2w-9b4DqS8Y82^e=&9`RcR4%t`0vnkX-0OCgMhpU7@;M-&4{i znn0IP{C1`S(M}~T;>)?vc!RMi7>$@x5#$qKy_6|sO5WJ~F&9*%0+TP(^)gYsdRzwX zl*~#`E&%c%$!og;$|d2jmZgcUZOB$@1W~u^6%GT#-4-xtc7W|K^FN;3f3uCZf20PC zVHJZ10j|df&z0I=83d&$_35-2)C?jFN=1u7hN}$Gn8_gMs7OecT*&dZ-4k7@(4|mv z)S-W(hl+|wt5Fz8KCYjygFzTi206rgKQ$QLCWCr|cqUTSEDR`lq-P@+gPb*KAx)Lf z1~KT5*+C?7BaGqBZiR7MKfZ<89r|Iz?UsMz#}_6R%;yPr*zN!T002ovPDHLkV1hEA B+6Mpt diff --git a/graphics/pokemon/lycanroc/front.png b/graphics/pokemon/lycanroc/front.png index a5058205ec34b92c2e54a9998e81f1449795a2ea..02ea3ad9184288533d3de013eb2e8c689556d2d7 100644 GIT binary patch delta 806 zcmV+>1KIqM2Z{%fB#}W-e*gz`Nliru=LQD{0X3iHuVerK0_{meK~zY`-IdL5+CUJ; z7ugcmKt&WOC!*4GBu8A_g9#H# zwC~ax8;G5d^xUolYi54?pO4)&Li|f(>o3ky{RKZeUk3KJ(hrS;f6c)0mZ&xua85S@ z$&AF6&swXAH!j)1?wS0ez?0W&)wUkt+%I7<75|RswUaujGS7 zVEhFp4}kq{qO}|}$^8jB$2@Znl1g?Q4z%c-po$9}VSG1Ot z4D`Tf;G6(l?S&w+<}Rqh1L*fu1oKP*P439ln!LgHNB#be=DoS0l#9RzNjrQW9X56p z1Nz+0$4CJ>e<(PL4tq)|Dm3tmF=}lBPI06o>Xz#2c*a0Z0{BuGyr&(dER9k#Lxhuy z!GMpnQP^F=bI-$YN2EFEZ{AH z>?B#w0uH_mw3Z!s3|P(Vy1Pe}jX6jPv6O;Q#a{4yVZwHuXU*Q kRxc*l9Q@w`p7<}vA2Al0r~aEHVgLXD07*qoM6N<$f=uvq>i_@% delta 811 zcmV+`1JwMA2ayMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0_sUbK~zY` z-IUF4+CUJ;7ugcmKt&WOCs64*k|Qqe!GsN=@`*HlfQo39$d^c|3NBYGEa4gj?-Ml2 ztzzX=nn&m>wC~cHH4r-?>A77AubKJHe`fZ>?4KH2e{q)TulULNI?&iMKOFm;f#WS! zZ4%&|ZUoBHKC2}cj9KD;1>kPZqU$-cTH>^_shje>yol~6tR+OH(Q)?3W;xls1ilTU z`@72&zBk^A(4%4yegxRpk&3SG#t=4|U7^V@gjnQqjFeKzbU04oL@ZF+5;Srtrpk=@ zSO7W(do2U#H4vfGFcTqCA{;ZXTP~|aC1(UAUreZgZir7)Z6*+Zsavs7&SM-!#QpoQ+wyo-MB!vY{zWjRubc%Nd97|jdLd~kszRzQR$41N)i z_$ekR4~Gc2X&$)R&w!ZXuP%^gXAI`{KA41fm(M)5&kN{NkzelbU_gTN__RE(>CC3`BF5s;JMbSX4E;ErOI zTFRM5!pY?zzz5u@8{V5iPfF0mDiOf6dZca`)!#D!F90Eh-~sk*ob3)ST*1%KK$;`z zkpxj5D*{^j28a!SkEcNAM~t>I0u}-GQ-E6_eFSC%VENAgG{-icubIX-^7;B1U@Uly zUIe@)kewud>qWqU*MatO1)c&{E4%LQVPzvwYGoJ2g7!(a#BLF&Rz7W`#d6`$#8;f+ zT9@ke>aJ#`ZM?kZe}A_K*wucMd#JO#k+m8Ug{9=Qxutruk^$|Yw#(VGfjV_<;_P;? p!H+uC{_4ZD(T{}3{=>o8A2Al0r|#B=@&Et;07*p#PDHLkV1lyDf_DG_ diff --git a/graphics/pokemon/lycanroc/icon.png b/graphics/pokemon/lycanroc/icon.png index 8ae43133740c618b989b88abc3d86c9e1f99d63e..85cbb86d4297de2db7e878bcff7076d63756e8ec 100644 GIT binary patch delta 440 zcmV;p0Z0Dm1C0cbUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}Qnt`aEP z0004SNkl&jU8dNd`I{)76YiH-8%gSCS=1pN#<0fTyOM z0BL#X)RP&Nrhg0_JDH(p&So}M3wP#b&czLwHuz7=^wRXf{AN3i53VUJn$aNGn?j+r zgF$e3zj%nzU=VQnOc1s141$V?lRCN{Yrk!^p)F4#3C6@o)gr?KGm|K@Vz~?={9oMP2PAZDk&Np1S?M1Ak&gD>AWXc-Iw*)#gc( zHgON?l#<6K<%m^(<%IaW%rzdNYYL`)q@+B|deFWhmy{}gyygKH7NkOxjp-ULlvlit zfosLnL%>G>Stv4FO@MMDV$Ebmm8~M?#u|KknvSpy3^#MYp!@-*4gS-*#DGZ+L0eAa zgJ(;Jb~Fffwtv*<++Yyw-_AZ_JQxImK2k(udV`=Q5~L5F&%1A1uW3WMKKP1vIy7s# zFDQ?->VyIDzWID<4Z@^1$RR%5NrUmRH>fd)OCnWVg#pDEv^9J*$W=z>+!WdHM?kYk xZ+*dM!Whq0b79=vkBcyKKdNXp#9#UG1r_7Nkr^fqt_%PG002ovPDHLkV1mtexm*AM diff --git a/graphics/pokemon/lycanroc/midnight/back.png b/graphics/pokemon/lycanroc/midnight/back.png index 7f5356abfed41e5bd639bb45fd79e7fce14ee256..821fe521281e8d427be2db3fdce990918a274259 100644 GIT binary patch delta 741 zcmV5-Ob|3S-ZC2yoOJ zJ&sj02D-1%EI8*WfDM~LVA-YVv(yRa+MESF-IQqBaZIOQ&Wo6YnRIIcie%m0&98zY z0f4qC`87}^T%Z8$f7ZhgAuzlyj}D2e5B(6MChOv%EX$*?by==^Fj@dFDGpC~5#1bd zkk4h=#i1-+bqR)i>8O+ou&?{)y_a6`DxZM!1l~!d)?xzkhbDW(j}#e#WCCpWyeD80 z%u`xr-1ni7!vr;fZCiri!`txGm%zPqkZmDvUM3E09&ED)f4Uqb0kISU#v}=%93Zm zObDE3Gy*pFe>$j-5`TDP)ZDBGmYo4^Bfh#xN-u^TfC#}Mia9k`>({IS0%SS>Ng#?i z!$I}y2Lh3>-VJ?_bpvn^6vb9O<9#ZOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00NmwL_t(|oaNLpi`y_10ANG>1FrLR$D0fF!9)H<=E8AOy}a=>7^jc6wGJi{AB09=a{A_^mV{gA0x3Se@1zw*bpe3Rrkpv5vrIC!E-dJg6E9@6P8e^ z9ilMyoQD8Mov2|fqajdTg?i38PXSEW3<8TbO`nBII9K{C=;@|J?Z?rrem*Z^6nfOH z5h#*XdpElZiUa_BQ+C%tk#Kn|xs)q00=xSrd&EyJ zG6cy8nD%)`z#y2Vw92^aLy`9r)C4xZ1i|~a;jt@$J8L1^0D%eP;PYUbHPGdd6A)Vh zG2re|8d`9~>tW9=7}(N@nBz?we~Dj1jy10S>;Zns3L7Orcfi+(9dPdJsR7Uc5Fv2R zS?sZTfbNu0fQFF5n7hdIuuDJOi3T$h)a~4L}rm(CknOawFGM+=dXuv+NPu)(rF&;0+)Xf_D`*EN5c zyaI5Xie4Z@)Zr~!Hu5Fk13BeuP z92}1h9-T}`Wof(|(da8!JG{Ck1@y{|2Mk7s=jYZ|pSOTowt+EREH+nn*RW8|Y~BLS z14uU0J4`eoE<_s$_`}`r;`_a|j>wxX24lMCRBc@nuwFc>WfO=9V6NCFxv_tau&Oy! z(Z`?$G~|XtSn!F6B+SoHFDw{G%wdr!;RA;n>^ewFW7em0$kdWrbo2}m%|I|K2%s{< z>0(Vl$i)so7XhIGO;w^;O3k?RfDD2Vm}bUV$!PXos`YLgz@-hCU>hftM99fe!|W3P znFAh|G+Ewo*Umz|QkHULOLc#fn>IktC=HbZR94M&I|IknjkFs>1Ds(8z)%{zcfgIx zF%ur})G_jC^bd0B0f_@DlqEF_pjvVChJvr?J~!pWg6r)!j%nd7Le~)*=(^FVYyrQ9K}0Nty^4PKaXh* zh@G652gBx~VU3d@y&T4)H$A6d8pWe1?g7|5K8yQ+fSt}`=sjwI!M~jPe*mB{Yy@ID RFPQ)U002ovPDHLkV1g5`T8aPw delta 770 zcmV+d1O5Ek2FV7H7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0008GNklAL>Ud^Udy zf@t5#$1|Oc!f%cT=6n4lVW6K&=NUj$7Mb56SxJPDAT*#}Wl zJ=Y#c3j*|GCsdVr)%@#8No&Vr;PHPT5<3F`^s>@w0O9g`0_f`uK)-(l0s22i3hM)5 z3|RGJR8!Ttr~p={$swI^4L~+3|Ng0-ew2mN5Ofhk*CU-#P7;8M$a*Lz44__)Kd`y( zh&m)Fz&~td1MlTXxIi=yG!5D0CX$ZO{OWtwo>zcuv4;lLY4se$yL3V44ByhIZv5sS-;219omEG z14hPs&>5hi>i}waziU7&hNYY$kT9We;S60M+cWV*d0NhFQWtLAUIT)q3J;{0 zyP1v5@l8)Y0dq?4mOEd@1_V{-60dnKlDekOWzmJdSAO27)WHDmxhX4Qo07*qoM6N<$f-}`% A6951J diff --git a/graphics/pokemon/lycanroc/midnight/icon.png b/graphics/pokemon/lycanroc/midnight/icon.png index f6b98c949de5ed49a4267994b91c6bb73678ebd2..5908770b1a586b7f0b83356a1eaca8ab2de0ea67 100644 GIT binary patch delta 333 zcmV-T0kZz$1EB+uB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD{12#0; zoLm3^0R%}zK~y-)<&rUK#4r#=b%PPe}ycGO@Xshc+H9t zJL|mH%+lH3$?D;WMH9;2_zae!G`_b^X7Dtf>dRZGA7?COI=x@4&$lek&`KH1uAqp@ zTcdZdb>YR1xl<5u8{7VazxNjW90mr~={!%CI2ht=*#Kmsm|i&`K-&E7S+7tLs2u>s zn&2>cNa9b_KM%}yLl2B&BLHK(ax5R9&co(-KGZ%E1jSw6m&tLBMF f0$Td{6W`zyLp#V|D4g`500000NkvXXu0mjf$gq*_ delta 396 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 diff --git a/graphics/pokemon/machamp/back.png b/graphics/pokemon/machamp/back.png index a5744c58c286329554d1ccd0a30790e035cab8f0..88b043558f4310b28efc909ac645d2854a3e6efe 100644 GIT binary patch delta 758 zcmVrGO-9|@20?WKlas7X3x9I_rBxv0x&`+z)Nd{@{Id)%TTkK~P-Pw<3OxuUYf(wh9ss`EX&D*D0{-hb8Btq}`2i4F z9<773upz}B(O~o*m<0t=DD;2Iyi0_n6MzL{hI#V3BDQMlImC-u{LDQNn%C@-V<3*3 zzu-7F@3Rys8v}3vXh5R~gq}qd;ddE;IbInwv1h%X^)WEdI7xJ|JObt-0XWf+U4&OC z;sv3SpMn-d%bUZT+6sPZyahBtbpkZZdBKySH9n6yvyf`cLUN6i60lc0004VQb$4nuFf3kks&^R0-8xgK~z|U?Uw6u z;~)%$BRGuRX2|zLfdEQL5$N%aaYrDDmH`9-9kEUW zdAJf7aKxJx46!7CKx0(~lBbZPi%xSr`O`X&0uU9vpNJ5EN4qR3>Ow+4fu=%4kKwwo zlz{%6rD4MypG#d3U>V>->Io9&{S&@+CaeJt;qMgUOECbpdJj0#IL24LkcqzbJ<~b| zd;qN?odANUU$+3QBs`CUq*}j)@y+8Fpj8Aw5uhT(&Tk2SNQVQ=Pc$$XP{q%Rct@~c z{@G8^yrqDBhx~pEuwC8FZR-vw40!M#SSLYslgH)kgd%l(G2nss@phSl4RRx>gx6~k z{TRL6j=%&OB)s-;epxsHniZ`CQ37|xfuI6MMhED=+F6VK4ROqMfDp3n-~jE6ZF^aeTtgoq9J3bypCVNhjw|bGUwQm=h8*PkEcF8% z$+q}(0niM#328Di87-rRfnFh;0C_mS7KCz7S2HacV-29g5uMQUP4EsnIY|l41NJ$m zNrKAo-f;~WE$v88!y%#F_eq$kO;-Tel|%rXjNk-+qzK56FE9rb3Vav@_W*HkHW&6m zZvdbfkjbukrg1e5H>4kH6fj7zNm6~7;}3^r3sLu61LUT_?kv&Rrpy#(;oMqWCyc2R z0OJ1E+ToqX&KTVpUs%*E7zpHT##>n|*F8Z0Js3(z@fDY*f%#nvyJWeSIlLs#fVt88 zJslf0^oWT569F?|e!@3xFWM;y7w@UF$VqZsTfeG)$3Hjz0NW!Q!tWH-+yDRo07*qo IM6N<$g7KC}xBvhE diff --git a/graphics/pokemon/machamp/icon.png b/graphics/pokemon/machamp/icon.png index d8ca5daa5a49fb9e9600cc2a31122ecb77299e2f..7d4b471d5a5c29da4729947c28a89437eb4a7e52 100644 GIT binary patch delta 324 zcmV-K0lWV60-FPnV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2L(0ziE3Z~ z0090;L_t(I%hi&xZo?oDK>34HhmQG_t{uZ-R(GiSh5Zd2D|?Sy!e(Qnw42Wt<3Ji$ zs#u&4E*ZU1p0Wj&~L$&FVvE(osjjlTb5D{ZEBinXK8M}@}#wLMS zfZbW!h;8%Li55U%$W~647nc*peh8q?jp+6 zW4tC2@Gh=<%{@)K1|U)W`?ytuk}xZS=0E<%Ajt;(P8j(j47i_!QIdpN`ytZ**^d)U WPfinW$}n{R0000ij>Hc!t(?KWHba`kobus)rI(cj zFur@Q(?Qb-0M*7bQe=t+)DMp@NHffJ_x1hr?GC8`nDpCSwSVi8vE(osjjlTZ5D{ZE zBinXK8M}@}#wLMSfIV2-h;8%Li55U%$WjG*t@+I$z#+&NP-@bZ90R%n0K?NU z47nc*peh7fcM)akF|J7jyjg?Pr>5Nkkc%DvF|O61B+SO3`H#ObNU}k{6GkqC0r!(I jN|G>JKScUJ`xfyDOixY|8T=tG00000NkvXXu0mjf-<^Yw diff --git a/graphics/pokemon/machoke/anim_front.png b/graphics/pokemon/machoke/anim_front.png index 3286b07fcbfd1d225cc54e21a649bdf685c89496..0698723bb3fa5076209741c0b70499c1476e8341 100644 GIT binary patch delta 1311 zcmV+)1>pLk3E&El7zqRe0000)d%G+-1zQx zU}hR}s$jmA+Dlm2UHclStaG4F)a2Al?}1W^Z~X&e5cIe`An3=>j8JW2m1%S z!N%Ro5BA=dydLo3ojcnkMLi(h`jXwW*R%yWsOX_PoTR78IfkxsRis=t{G{{-|c{Kcu1%KSK3M;y`MgnHm7 zsin>z(l}U;;Di)K)`e7Ol$;Enta$(eNyKwlI2_`Ee_f^Uvp6NA;ej>KH}GZ5gB1_P zF~UP8Wk#AZAZhTj0(hFkfXr|eYBbCu1&W>LqH1B38!c><79c=l!u)h;<8Xg8GNBGE zz_QCo#TwDv0Q?cSL+yn#0C6Exfp~+;H5(&@&9*_P@P>z>l*y8yPn3$lV>V0nvSh#j z5K90llLO#IQga{@yaHnBBV{HPA-*%t$G>piwy#*_wlXb6XbIVGXD{Af{4rUtIVO{U zmA~4(IKR61i*FR=f~`II`1*ep$EmB@b}>1BJprJmt{HC^_QQXz=^dte?V>1nC~H~+ zX%;ZnN$(?>#$wUE{TY&pd6Fx08rMut*MEdZC{qF^*cDIf>d2R8sNlnJ*0hmB|f z@DQd{Zouq!3{FsQBgk0MeEP5u{k!4BAyHX0I4wf^1)FI!3(s13(wl!1j?BzO&$o5C zIbwYHI0r}@wd6%Yh-$!OJVf%^V6R#f*uY62LZ;|>FH1C zZJd)Q-i8E0`-U@>gE=~Wxo!a~*Qj18lcY}7V10x0!Tv(MMm;k{NkoBQa zARt&O6R0(f$HafC9dAX0B;_RAd4a_^!On=6lXoVA%0g@Z{^!}Ns{-RLTr9A;6T`T~ z^Q)_i^Xmx!uqIZ@b!a_e1wVWHdZr)Ps)zuEO=wYka^7}I5I>(yTZjXE+I77X5-(-~ zLe%ty)eoftaZ^}*AV3h+0Bk6fz(ZS6qDG>`!UCjQg0z21QOHXr=msqGLFkqsEL#9r zJz&1xLE#ug847d$UzVbP90Ecw_9?b^ys`iNp}8^alfwr)e-?J#09C1>%*jwGLf3WK zAcLjK-H;e71SN&2*AF)B8x$-00m4tIHHuaJz%moZag%-s@l`kJ2Nu+d>wn?=4Wfqw VD?lL@umB4H002ovPDHLkV1nnya0mbZ delta 1119 zcmV-l1fcui3Ze;+7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1RzO7K~!jg?O5%S zs~`;3*bv#)`u=ab`2wqgqId3}ou-}cj+(~o{)7+&;RXO<-v{w0x&=Tuj$@GV z<9G*wLh^_Ba}R)jefbl9AdV%@ZJ_zGfx>Zf6Kvz=;js?>9`h5HxW@!hd19*xRKP)p;_2 z^7PluN*H0~e*uB4E)78fplblB8*mdeL-f|xh>!?>NL@QXS{6+R+zghL1s`kZ0)VgK zT-JC60cZ!XAcPA5tI@!+AkFE_pMrLy&8`BhqjAeR1EA60sH@rsdq#s9fbV2kGnP5_m{XA(4u zSUb6Y5I|3Tl2LLN^;SIDWH86DC=hb)^z*iV@Ard<6bA?~s)V2pD+NL;NphjNsUnc* z24uR;N`bJQvnw$iTBRz*9k}@A6uVX+96_=GB2kTF3BmZ;5uY{+gh!#hMJ|>AJU){M zV5>kZ0Jh8uTOdlk!}gO!1wun3JrR{8gwf6kc7iV|5TLoi{Z`fpxCr73LQ#RBbet)F zGXH~Gs5u(p`sr?7{Iv}RM!tW6O)P)^a*gJA4rL#-an#nq#pqK l-J?7n>IZt~x<>ui?H5=vJmmC;#8LnN002ovPDHLkV1j|+_)!1= diff --git a/graphics/pokemon/machoke/back.png b/graphics/pokemon/machoke/back.png index a5f819669fe4a7d24e7d2934d5c00dd372a2cedd..8d0c23169146f687dee02ba2a531926e0a680f71 100644 GIT binary patch delta 521 zcmV+k0`~p?1n>lqB#}W-e*gz`Nliru=LQD{2Mm_Ffa(AM0n-V@sMKH<$xVGA3ru;UwN}+EOT0zzbLtT)bbt?|bi+ zFdDti!5~EW0AK>T&)AU|E+% z3pkV=Ks&-A$OoH%1M!A|&+p-kz`h<7O5O$_xNoCG<-nRjV18Fmt3s)sq9L?A#&sQ# z%Wj2QYyl)S(!O5+fAfL%b;wT0gb4S0J4D1x5S|Sb7JvzGy9d_Zv;b1yo)e*W9;laD z@066*kYozoy`B~!dO8h}iOQH0^mRrFFe|74ii}`&EgV&|bBMx;0>;X#q-G1|(vC5J zI8ICx#9FsEa?(J6i6`HOHc%KqE+|c8Mg^?&E~+OV5w+o1f2>^tRF@S}&I16I%vJmVE*Y-|BW{*cSimn_#Q*KjBQ+o{ zoS7np8{CA%{;Yvg0lWq5ulpZ><7HJxXeL#A+>X-Yq8+@~H&UN}1J@)L>+j>400000 LNkvXXu0mjfHY??I delta 534 zcmV+x0_pwm1pfq(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oX}IK~zY` z?UO-H!!Qs$ycs6$!fld_5H|?{!$hzRXGu*A z0K4RYfT#F&1eiywr-2rK1grpH7WcOZcDsi;01>@_oG;{p0J!VbV9*}k2TWB5z^c!J zQ%}oZ08#WwIKZLm0bC1*bvYUW4s1CNJim>51o3*+p^`2D>&qAwl7eUlf#pR#uL~7@ zbs+RKrcE7CnzXuG>H#e8T1Sxr5dj}cD2^y}6B!LAM8rZ9OCL~w9)KB0KSP_2Tp;F= zKPSd7G|(=y*(sy+!gXQO+i5XMp`0Ftu1qDv$a*w@@Qi9e6%6ZZ5m3$dp$kV2n37gS zwaNwbrJdp$(lqNrxc9}(Dah9v%$DXoxPa;av!FaP9tn7~yQsf%!f3;(Ub_XjEfdI# zl40$p15^zNqs6gtWN9mAN5E_wBciZion32CxWo9!f-3;(HedP&a4KXy7=5z>t<807*qoM6N<$f>EXK>Hq)$ diff --git a/graphics/pokemon/machoke/icon.png b/graphics/pokemon/machoke/icon.png index 7a8fe82244f0cbbce26e77fb6fae23005cd17037..fa54dce1d27bd3499386a2e875600588ff580de9 100644 GIT binary patch delta 373 zcmV-*0gC>m1Iq)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}f=$-fBV z0003lNklI@E~AkleY~G`T@?7L>nuFN^E~UKfPcsZMoA{oprRmP8*G)l zMhLOmD)~xl4GMAG0&JwuV?K;M0T_^@atDfH=l}>#^x~f4Woa7vw4f4va)ClYqbmfZ zvGO_Q`x;B2BuV`%qvCT)da&tIE$_M5)2`>&>do;nYs1eNs70s3&jC#a`mlqH%lo*C z%;@U2&&2-4`fepK6r>>s1}$Klbqro1_BC Tf#?i$00000NkvXXu0mjfgB_~W delta 335 zcmV-V0kHnd1Em9yUw;8GNklVw=1-YsFR814Z8>68^$ zL|LgtUxVtZ{)mYtswob=OPClK5ZP+EjvaqO{Ou!YNWbS@p9J2UrifGI;ZXERKphk& zMP}8ap(x;6?2Nud2(jK8{YYyM265T~Y;>sOUYtJxIM9>fgnzOedjNtHJ@8ess$5HN z9!!RJ94HO6wni`(>ri9)-(m%nWqG(|GIA+NH$MOBRt{3_X*bAA_wMz!=;C1CD9I|Kt$Bj7a!=qqX50Ib1OqvgcI=Fd~x6V4`6dOuX9pX|MX! h2hHO*AM(dOJ^-7f0?EgM(sTd-002ovPDHLkV1i_&n|lBN diff --git a/graphics/pokemon/machop/anim_front.png b/graphics/pokemon/machop/anim_front.png index ed54423a33e8e20a235f240c78e7ef20234be128..805d96efb9ea2d29a96d6d994d27a109b1973b29 100644 GIT binary patch delta 779 zcmV+m1N8j12GItP7zqRe0000oH<3ubeKi0Mx2(5Ak-YfQT!a$|ZoSjMXASVJIxzc`izpE= zK)?~n9m2U30Qsd5;(Zr9=c5p(cLIM*0if)asS0I3%>cx7BZMO~pgyo4SHHkl3cn1K z%?e;N4wT9-uFogetj_49ibO%Y@muUZ4#UL`%tS6Rg*2FqtQ$PK{i zR=Ez86__1z&$6p5pREJ#;+oj7SbC?Ig$>8)F7}lMY&L5E;xS;MmH9qMi7kKn1i%YA zf*k+^WttlSha-TeWR9SF!1FX-xn-9VGq60zK+TMR(u7i>DFYU$SIG@IBrE~WC(S*K zq2A|wW@u91l&%qwSig^-K5x!}=Uks5#%Sszl&eFwIWM>SaP_6Gf1dMr(og{etLN-C z<>=IRvCgp#_z2u4W({vTn=ya38$`SHANqmAIq3%+$13Fq;ZRIp5`N$a9E^R!4t1?FVfs6lt$`AB<@W&4fZ|hq>FsyLp2Sy93{lNIJAV0f8 zKk&>zd3JMs9vdgl7=p>g&4?ID__j^co*8gaJ%%DS0~S*SK6C;=f*f~?mRm5K?F4{h zi}{%<31ASDet=VDlu_fqvrrfk80ap{03KyZ0j^r=ff1P3dQh1k1rj(uOYg7!A^hk5 zpb3xi2Q-X0B>e&Ppqx?ufQGT1W8ELL#dxGY*bS<%^M`w1zX6F(vjrlrmhAul002ov JPDHLkV1jg~Ub_GQ delta 752 zcmV9STJhq%KwdQEa2{VwNkk8es>DgrywSoZA6#=F5V51c>6P2moVF zUmM!9pAcmM%fb^uDIoh4c10w12<*GC)w?Z$RYDJYyKm)}`en$H4k_@~0fkRAkOj~| zfHL|OU~K?@eYDfC0B3%=?SRJ=tcj1klcVTcN8QF>+Se5NYPs&o@W*LW_&EuF*@E^8 z9U+u^=;cz-E5NmP8t8mm1L*zF3l}b2_z&^927oI z9u0tTzKpwU^S>DYqkIz}migZdfbofil8s>s$gYtmy|JeC_T6k5EQ;iXcml8+03gl24nI%@h|1{ZD8qjC_DtWK2XjVX^AH^Ke@q#81r9Eh zLxAZ|IR1}Tp_p--i!x{+{1yLT=*jXA`UgBxZjO14DE)H17v@s=SW6e+U^*eI=oz4nh_h z_6Mp7k%3GDF+x$oV6Tr5i$?`u?E$khyj25TWcHwIDge_m3F-lWA>YM#WZlFgmWLlX zKy1rS#vFLTQXm2XdF(uCz6FO!efc6w;9Uy11+d$G$pE_mV2l3)lru8myKzPae4YT3 z52qP`rDRp@r~**0fB6*hT~5k;1Wxmm83ZRbMWkYcB`}xES(KQ|4WmtRK{pU8^5LK0 zgy%08M+XUuO>NlIlKR3)+J#|K&(ZXhdcJ7c0-%l-t|;|Yc1Y=>wT>uV*Lp1S1@a%4 zszp;uXFOwRO046@H6X>2|8pD0rf9D4{wrE35ygq481HuEK!nyvBDW5Wua;!vG*0a zb?e-L0K>gYZPJ1bHjz5!#DebQ&i?N|&>2SS@&s^of7xwdYz>c$yWy=Wui+lX`r|-J zXt;~9g-3&-0%&0!8#<Ez6^Sumt8(Kr2ej<%U5{ zKF}S6ihTGxaGT{X7PX6ng;G2Ewj}GyO*(~P(!fJnN`i`5rP3+!P`DyQ1UNgSWYOM4 zglvQ!i(EkVuu-*1O2}+0c8DM@fH|Qd=&i8{QK1q)?_oaC4jEs-WgkcRAZbirUTJ|? zEC6wK93+dGJKcb1Sp_)5u$QpXK?GO{2MIJFI~Do> z006;BL_t(I%jJ?W4#OY}0Qmvx9`TdDAxq~h`D-Ur)E&bT#wHBy79gZcZ04#`RgWhd z+xUd|v5=*3@CqTagkiY!O+wFVo?%*Vv_?(~K%_kkoGHj2u79Il4v^y0+f<|P6fbwkAn!%TQfa0Kb@f0LqIFPZv65CG{e-qyjM#x5(ddVtG zWVbd9vdPQaO zg641P8^RcS5GGwR34=;yVGzVDjGMrqw=ixOCU6p_2N2n1VL&MnYVYdYkxCJq%cKnZ av>zMME2mj|JEZgg000072CN2@0!5QS~c&7{prN0C&P?wDbmO5Q+0b$3>rF&zw;I>GJ2b+da5rbnK+*%@8mwLI+oe8X%L{yZ^Ntd0#lr=ZsSXX`# zI=?ZSxYvzHc0{53uEIz)J0O3C?ka1VAMsg)9$;&F-kzd|rq1{j-?XmlddjD;oC(eA zx)jmE=Ub)o$DB%nJwiz>)3St`Ql zbX0GQ4`SK!+s;#*Y#&PL)IOZUG$U_*CSgc2Eq0TTeSw^2>>ep`j0^X z!0ozFrq3X(&z8|3+)t4~xH0do7=-&J0+jJKty05gWssfAd`|P#^nxxzrLGj3|?Y*-~#8nVzbCKotYq`$K1EEcFx3Ou2nS{|Dn2E>4hJb&}sK00000 LNkvXXu0mjf9U)b6 delta 696 zcmV;p0!RI<28#xeUw;CYNklljQ5XT+MQrF&lW@slr+ej##Ual}O#m;N0 zuz?`VEy+$%n|_6|rd>=onBtia$UVDk?{6d)gp^aZ`{nu0ckk}+DB9b9Y9op$8}e%= zo?t&2X3LbLGe$gNPp|?&!K}NVoelxs4#R-yy~Lb?7)*aaVSfRT_b0F-094!ukx~f& z%~p9pfh-cDwj5AtopT2Di^O13=W1e*#=)&262H_d{~Qcp%_L1l zrDVDa0y9?J-hZ>I?a~FGF`wkGTWQ&hTowde7PlQxKAVCxinjgXuZ0@`c6#9M#q_Oh z3Obm(pjQtPCK^(TI%48SS@4A7=>Y}+iSC2263aA00JYZJkKA@-~>o$?maIuJ-lF!g-uHQ5fQfTd&uY6ReYb z*R=No8byF!Ap8MrkLq=m9b`_s9V&(mxsW;tn0Ugo}sw`H>Py z8FP()2_KtzomZ|g-alN>Z;wS9i39wiZ5jW6(f59v&QCS0Ep+K)Q z*EtYa5|lkt<~gjEFR>Pavy)mUC8i2XuEfG+HFl}MwfOfI07wTY^bi=Z@^hy^SwTRw zu0Lh?1t1KJ%J9kWK@u0L7Zn1G`YKSP492vgMKOpKInXRE!o{Rh9XDtml7&x%m^^P0 zU}H-|?DlZv?5NZ2f7@vuxLba~u?-Wk{Dwdr_2PJhfDIFHz?&1p2%OA3@px%P?MGin zytKXcGisRl@{WN)Z`}?h@pURe3340sQgo~Xq5Y!Q2Hm8a+7&jl&2U>ZGHEWyt8~G^ zW@++Dk(q85GB?@#VEwsQh1^8Gn*Lnl{h$FWlcr=ef$8X4dke~lk)Ur^-k#=#~4 O0000 z#>IdB^LJ-#y43$vNX@)1E8kEEcW3k~5n&%h*4QVs2FQx#0sD6fELO}c4fJ1#sLEW{ z09Y6>=puCvM9~K2z?6A^4`=bU)=EfrQs*^dpRkllEqs=->jSRUf3N^Re}KXcfdQv4 zcLtOd1XSyWQ^sEa#=xYEkNh6AabbE|jbtaRLrBPu!pT zMBT@bBhfkFGg(o3ddI-1w|erVe{f=0K{=)bX*Zl{4@;zf>x&A z%jqh8^ym!HnpcL*Ota9v$^H*6oMu(%O=N(CQ^wm}0{}_Wq!@0)@L|sYm-<@~{QzxW WP~=@V3L^jj002n`MNUMnLSTaQ{=8TK diff --git a/graphics/pokemon/magby/icon.png b/graphics/pokemon/magby/icon.png index 5fa36dce2274de3128a899e06f8d18697494be57..3765f8c52e60aa9fdf106aa14ccdb5e82ee2f18d 100644 GIT binary patch delta 308 zcmV-40n7g50*eEXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2MaV34R?3| z008buL_t(I%jJ?GZUZq8MSX+0ML|Hz_Z}t-5|jll@T~^eQkHu_?^3A+0bMIr3=%05 zhkY*&iE8-tJ>&5_V_xf!8tuR}Y04Og66FiQBqB3_OAD~a5`Q8|IAbC-1c1IdO29TH zoQ_z7tSxi*j;$Rz6QF8YeOYi8okIA4OZpp*1NP;S4+{)Td+S1l#wY&(cqMD){)#yB2W@njuV_PCb`rrz{ah_SCP@>5CR9wmOT^x>+r~*kK*Rjr>2S8YK^1g3 z|JdLi=s^3?*DZiLs8;v4VAY%BgW|U9$`5*5`SB?7L_hA=VVFohJ?b|A0000&5_=l<3qb2fl$wp=ifH0e8nMO9Y-mmc7VB~-I= z!Gv@KfIc{>V4EtZ1J)q#>pHyS#m`&_Q1fiD9&r|1M4sW2eSgVe!oEE7{s;rp&If7G z_!RE|uM}%MevzxSjDX1fmt(^Y`slh|(T2Y4tcsELwpo74nim9JsFdT7NTXx7$DkPj zP3zO3!`Z)1W}w6Q(@PAX1MTM61a&ZL;Tr^UbPK#U+;-deK@S^0?nQplj~~}zm`Fag SIFkSX002ovP6b4+LSTaYHGWh8 diff --git a/graphics/pokemon/magcargo/anim_front.png b/graphics/pokemon/magcargo/anim_front.png index 5d7450fabb5d7e518410d4a1f2c56b897e59cb63..99daf54d8a1a3ca7839ef87f656dd156c44f3728 100644 GIT binary patch delta 1590 zcmV-62FdyE41x`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}uwN0v3h z000H$Nkll*O6o9D$3WQ8P8Z5XJ2+t*uC4)*E&d@2!4=@=p7K&J>A{= zEJ^>?s67<@W~T~}9|U$JS*uL3QccB#GIJc#?bolkV#!;CI?@$n*&RdX%O~a%%3DfyW1wyfb9+ofAZ9 z@(bB(m4TL}?|-+N_#J#o)6);{>HfiS5%|L}m3`wtl^!K&n*M$Io*Fv%1>p0WP%+*d zkbb}})ATyA_tj1e%N6ZIrbPLnHeGl(2;*TA2A zs=YHpqGAy)699LfMQ&CAI-FC55m{q#a(M*+!x^}Iynn7EM}QC_Q`KdO0LB9V7Owz{ zV+sT)RRI!k2N|D_!24RvAOM+aO6>PwIOc3P2XE57lR+a9IL`cr`N41m&Jt+cX0VZp z0OGk9`+ku5Yy~{a<4Q<~8G(n-#y!W+Sk_;@gDJvo)g}swylgmfdjL)VYXBc5p`s8| zQN3(30Dl)3inaDuK!XsKAP}n2csOI=^m4#iZ(`lHh>7vAoqUYE$YnXOE_Fvcr}}qO zm5|HiYB-C6(E!Fhh*v2rO+A153<2c?f5{kz^FcQ2xxE!oCraZf)|n_h@bJ-qO?ZsI z`Fh9LN0N1}g$Q^U0mqM-4-W4Zx22^rT_Os>`vRvi84Se6T|sXri*FR;ydPvrzR;3R;mLdrGeFA z8)axS7K)QcRXkplvHrH}mx-11rI4!k-N6hm5CQh@y`|es`d^J2c>t*F+}N{gm0cI7 zuhAzJ1U_Ed!_WN$2B}u{nl))hZW663$$t|BXeF@Ql&b()+kHW+Dk0O|7HyWcqrLd7 z7D|l0k{+1Y*3aqcFbX-?Gm2CEMRi4{`mH@UCaU#*u0`G2;% z0lYgjLevM;i}VAoz=jg=BSS$E05<0I`s#ZdZ|b-J{M6x8ML8hRr<7e@Ifp)8=Id@E z)fLfL+o7yQNs5Z(_=Az_Kmq71TC+@F`$_Uq$U!!C3U|GE3sCwL{2Xw3toXVJOWB0$nIO>CF ztv#;@C^im-uw(3ns1H%z`wM^^VjS&&9Q(OG_&LxmG{ke;ZVNlGgA<_-EPoO};kTfc zVz+ZUh=e}G0~amEEx4emQoAkefV@Txi&5gTaW8g@=O(07*a0~f`rxnu{|bYf@=dSh zc5v)XaE*Qt#Blbtd>$9wMmd{_CHRrQ_Oz9yjUcOjkFaI`T!&7ImJR2a|nHS z`{kzRO!`}aTp#@T7|v$WHh)0Q^}*q@EVv6;xw2xpc-R^6Eq$w_k)=Mg`OLk0F$uxY zZA^mOkA?Q#t||6@XKF3{0XzI=%lr-j9ra)VD5hK%j0O)m*MuIRVBp@dbW;8grfx5% zUg<#@u&8E|r9hB7`j8ulUKR+YREP%EO7^fB$3buYJ&V%KSXR1t~> oU~jX4MkqoOyWbER|7Cgj2g0_Bo~=6YS^xk507*qoM6N<$f=%M*i2wiq delta 1570 zcmV+-2Hp9B4ekt(Uw;MpNkll*O6o9D$3WQ8P8Z5X32+tLeC4)*E&d@2! z4=@!l7K$q4BMopc5LBemzz`jnJfVuVC?PTxX_x+i!r(4zAT(&|qBYSV@Hg}w6-h@~ zrl&4BK!Bn5@!s9j@!n@i`oBi$uIP6=MSy%Kup`M@VTzrStbY}*Vy8rFa$yoluF*nZ zXSa68B6gn^1KMuA5GYfk-@XKZ)3QwV^FWzN5;GU^D0&YD-LK|=KWL{S(j$cIFN)*% zpR;#VuYxN8pMPHYivH?=bUfCLPZ}(MFX%C2rRJIz+cme_D1)Kibd!~0QNiy>_h-s(xu7FT>ii~t;bHf&pN!jjH%4F(T4Rg)+r zaFYJeZUa~ztO0zK_=-XdMRk&K4{Y2h*4kMC6+%>kfUgFl{)~au&H!t*%~I8D5Ch|W zGx`uXfq%_1U|s5#c0sETCMqG_XwaVp-mnLwHiWAb4Nbjx^cVr<1b@j8`tx2gYuoJ= zP$o*{5!RU~ZE)~WkB!q1fAjT;F^{Cih2|sRU<52TWG+~#aHKGe%5by4q!`JHfF%_V zC8puU#BxO;-=odTaJmH`L1eSQ0SnqfAr}D60Dr7=WRD#e++-%@feDXOHN`p7B(ToY z&IZ7b1f`VW9Or58+S`~QJGXogH4T;7cxHEQ0jS1^(oX|>BW_NY0AH-iUgk4YE-^l# zRg)|LJUT}?;O)OWPFoX0=5d7@ay3Vo+0=@xDP%ch@d7DRnng^)Pp4^QL>?dw1H;)+ zCVz`*RB?@2;)y|o!E$wABsZ{HY@-ZK#(e(fQ59b=%JPpd7sB{XI+9P-Ezw0Hyg)d( z?eS%zTSMRED3LpW!p@C7yHwb9arzQ{SU}+8r9J%IPGFE~MawKnJ93R^MM)kaP_)j{ z!`+%(1jyR%Q(9CBneNtUP5h>8EF5We~ z15pn2AH^K^^@c|DS_WX_9H1Q3saS{m&knTb&vf}Hvxh4#2YRkfpXvwXd0lUGa01u+ z{R-uvMsmO*0*AWMk?x(K9Q@XJrjzeaH-I;Xx{vyRdJ(_J9hi^on_l&UBPB={J!?!Y>9@iJd`6RE85#@h5{Er?=NB+Km$Z3_gTwP?*Uec?vY z2QCN6$P(^)<10YvBXBdoP6JE0%bU}zcgq|A)wV2fIxK*6VRPgmDhw z&7Jr5z`~Bz!{$4OWUUwFw>;id4S(MI!L{aI=%N7#Esghf)l`)XfbjDO?cv%JD%C{d zk^@b?K4TNd zk{kAb7L+L~mMisN_R=kVtAC}Dr9L#%*`_^63&E(Gm;{d>^UWJ^?zNNFq_OY^?C=|L z_5gt@>cIj~3^^|tm8n0SYFrOcF!1a&swDp(Oxavcz0!j`(4d+@mI6U;=tE{8)x1C` zxk6N^ma~V=IBwz+tE9{52%19(9a;LgXHH*c1m&Kp_X*MOn@3NxGxIxuK$oloWCf4nYnJRWr2R@^&T z(!-lp@AkxP0lhyDuG8~8@1#!Qe*zQu`rv_c=7H-j)%&39pL!-hF$n0kp#*>c8;lAR zqadv+!_fA@?80)PUJB?=j{FZM(1Qcuv+w&RaP|`58bG3fFKXk6fK%u+NT30y6iEbV znHD?)-n9TjV%` zT$^CA8Db_xO295#%&r8rVFDd#ATczgOpqme?BXPX0CQAL|Dgof`v1UO zjq~rG4vqm>YKR;q5Gm95EM9Op*InGv?v*?&b2&D4Q72dyCwkb(LV3){Nw!NXU`-jC z--`TAfd_K&++J#=rdr)<0zEa%_ODVqO3M N002ovPDHLkV1ni>Oe_EZ delta 741 zcmVDd!FYVHYNNIWCEWbJaSGwa@~cxAN2eq&jgU80H;kA zKmcqqIv|H6qOLHseKM!$yVQgNdXoeHoeAvG4)D?UeG@o+32+S{(ZDD5-~hl8SuGN1 zz^O!nAT6^`&ww}3paDZ;Ey5o9?+qX^0kyB5J(*zi7dkXOXgoQ8R=|D~MV$i8pfo;~ z`RLot&H6|D8~`B|?5|f$MpGov0J@;UC98v9C}4zR)BslRZ4`-=h50Rr3xT{x35}fA z-+lD|c`d|uNhEYZ-VX5f1_GIwimUu~0}+YmIspZuEwEmz_H)L?ra%WLI7|XcS_zFn zjuTQuLO4bw8lb;_Y9>hKWy*M>#%MeA8HwL4MK?4X~Y*m@ItR5ldsJ+u)OU87y=P%fN%3V6R0{@ zBi1EKWJRl?1B4~k#RcqMh)xF<7IKQPEKA&ETq|qTGM62oolmd=c5#RRV6Lj2 zKa>Dl{vDX9b^hMs!!dxqS|S$`h?MDD7SB1I=_&5;^h$m#Gr2Z)SF$Wl^s)sD$HgM3M%Oo~zdt5N?*zC^DCs@@kzGP%fp_#=rf~hh_Z% XWax5i!CkS`00000NkvXXu0mjfM%Yi} diff --git a/graphics/pokemon/magcargo/icon.png b/graphics/pokemon/magcargo/icon.png index 85e78ec6872ccd833c4b339b5a66b6ae0e838239..d6fd85ba22af131d6bb42ff059a98079fa9e363b 100644 GIT binary patch delta 367 zcmV-#0g(Q|1Ly;gUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}x_L|4%M z0003?NklKK6sef)RU-Tx=a^BuAV*KQ@)20*$55y>|5 zpwCbXe%&6tAWid>>wM!&2(7bJYs!3ul|c8mMg+mv8Fuw#s-p)=NdU&p_Y!>S*7ukc zFv~9b7@C^e!X%oYAa*EAt;IYF8O!!0st7O(V}1Hl83UkCwANklX-u$_i=aD-T!CV^94!4 z<(w3(Js{@{5y`rk!BC(U{IcH71$kcPT$ii4h0wOhwWe(DuoCF@+6iCqb%aejnPxu& zr6d63=6eY~bwAIT6fnz9dhdst*1{w@UqS3x*IJ9P3c1z&K{OFy7H$oOJuLv#)_;0J zTwW>n`KP*P+>!J{5R}U?8iH2ID7|;#GJmc}w9d#b0hb~LG^~GL?i>K2IB~t-c=d;$ zmTK`q{m>yV2P58Jd`AW4suu?@+<20&TV^^vSB%O@09Vl^pa~B8m4Hr4?!lX3z_bZs zBU9rfxc`eI$LYqq2oMBz>Z5Zw`86wKED-09hY_QKMM~ diff --git a/graphics/pokemon/magearna/back.png b/graphics/pokemon/magearna/back.png index e29c4ad6c5720e3d15eb45f184e8edb0f8f46b55..17568f8bb23011aa8a1964305d00bebfb33bc7c5 100644 GIT binary patch delta 644 zcmV-~0($ms*rQiD!j zBo~>yI6?!oXouiZZ=HG>J2dg>eLCh5nrA2}$&O_+T|1OO0+IUilc6X@(SK~C30QwW z&~YcXGqA}`7`Si!$!yNSE)f@ab?5!jj5~Ydi6-zcb-*p>EfECL2m6E3oL`8WAi$=f z0N8yHa1ygFfD&EcWtahgA_!m(=PRXbL_|@H0pWah=LMDj@B(s{urHm@pa=wn{WS#N zV%4!-+OO0D(#bmkkPwXzRbmOkmn464*ST1EpQmj4r32)dKZ{&mfN%3A0~bYmn(HP9 zoBn8l&b}u?AlP?A0QB~wNXr1oi@_MiYuNxoXlhW$AYuWbH_x95U}KJ2t&G+iW6XCF z0NZk2nJYky`z&P%5=BHxY+1q>ON=>^*J<;US%AGWU#TL;CS{NTpyd^yW)6SgqN<+= zpgN>B19Wml0OMV?Ia9oAPN^_WRO5%l5AfuJmu{q$np8=i+eA9SlFDes* zHoyy%WO2zwhHI8&y#&}{wkS_0zQAUtY|+bLUzOLV^ZAt8H!JM{r3F5o!G5_l&j{cX e0>4S%U)mojnPBNov#jy}0000&vtjJtRzn zd(kjSB@DtG^hJXlov?4)-iMXDFd9Uc;I?gT{r;+5-Q|+toF)wYgjnYZnlSTM!Z3e9 z5iaxZ2{XX{R6qjYJfW7L;=oc#Knb`v@xFvrh1;X|C^cd;UcxSyPyy=B(D*X}`fvx( zmCHr-GXeT=p2N^jm!SNK0M{Gv9KsBM&^CJ-7y^zAxcHZgMucsRBf!YsA?^S(dxMw* z?(B>Z#smQPU@wfijupV`W^uEE)S-U>$&4``!RAk?F(MTLa)LaPbl7Sr=`jYbKGbU? zpb$cu1htc^2=hb0Y!^Qr-}wn3)&gKcus*~kT>UhQH-O+804?MTLP`a%{JD>efRMz? zR{*t>gQ=77IF1m@?%BMZKmgM1VsHxt82AYg57ILLhJeyeh6;K>nUNI`{9k_n^cHr2 zdb9vYAiIaKS^y6|`3ZoKb=E@<@%iQgsCHqTkH83M{e;K>qkl#)&tQ>_xhK3RfV!ba z;JX53TW$!!)B(z$k`dKv8hc2@9$^uKn+N$FDdYDA$cNEqgfA!gYvrF1SU!xDiSqjd zC-;$1|8-JodiI~Bbbj_D?Q%J{1gyJ=cli1IBqfAX|4{b;<@d;TMtD8$?ljQ5XWB_?2Jtsgc$2MAVh^^_8X z>gUi-AUO_Ypq3zU=t3o+b+VvVt(sRxRA@bR?o`3X$VY$`i3P@Rb|@n8dkDcLgXMqw z`Ty?j-5ntUD-;UZm$^b=>ikL5v<#6eYGorOa?>UNXj2nFQ3qHulBel8NNi?80R2Fh z@Uz^UlLGd*L@|BIP-2?F-vO=hBUBGYXPlqVn#>|4XcR@v5&DtnAkgDSDbNy?k93}= zz#W(mg?^GBG!b~w+YH2h(&Nz{^CN#gkoZZSUvX^r8b6RJT-d9CO)LDZOyR;I0*?Mb zCXj#jy3FdDwH$59LNHIjKGj{>8F@at1J_@jv3~~C?(B&(dwS*$LRpkMXCLhkm1Sv~ zWK*Z0vDFPJ&}-fX>K<&!OZ|p1wkoe=kMApfkeA;@-oHzl0qO0_6cm_Okimby#2)X$ z!!IskGN29fpKg5ib|D*s;`=`KBy$(vK@(_@^?A`7QIK@)du9hZ)iPyuBlWw(VP=Uu{dTWRp>BU*x2+9_!+vJG z)?a>2fnj3(IL-i1_%;Hzk+w`M08}2E;Mhi-v=joFLa7liT3}x0aq7WiAPyQO0DtKC>EfD!@eV7s>y4cQ7&@rv3(7|Q%V0V22m g2M9XViB~@W(S{$a!O0F(E&u=k07*qoM6N<$g4X+NPyhe` delta 757 zcmVK_H?Cw z0B-k)x-!OoWe71sa#O^O9_mU|#PL~-m=3!p1lZRh?t~Dr(_a(b`ZwXM|1*I2Dg=L~ zGvTDamVZZ}xM2slmph^{P;$md>A?aS!Ey&lpAYm4lmLw56f_%z zrEtw)`m6+;&cdGo%mVAn61cur1yFyMxjr->V1*BLVRZ-Q%eV+>1lCEar};)S7qk&q zp9-WK;(iRN7{*IgLtS1t^Dou<58i@IUL5H=d7kO6-4DLtr*% z2oL;kVVm3aK&l%@q$W{k$$nBKTXB(3XP}3x!&tk=-ii-s&#J|8w=2!_8jvdwE9_l8 z+E49h!&0zWN)0`s_nh_zGY-_U>Y*M8Cp`=kC<4IlKs@w%%^Cw}05QHJsMj+)9wLmn z@J|M!U;FA`1AzU4a!$c;9xs0YV`(HvT@hlhA4&q%kW)}aupD;!p)|G{1pf(XuY#8$ z*=1n>VBc-aRTK6q)G~~02j6x_@x!SIv~9Nln;hnVZK3AETfJ?!7Y*JvA_rK+F|j2wfDmJ?X*!XAwtz774${4^1rNnl&$56_oeqp zU_nG?)hCZgFL@JsClm>sLa-C5YU{raqlY}(wQ?Wv%rfJDBiKqMc;E8j#q1@4>&9Vs nV`8ZP1bAluAF%MZ$8Yup;B_I`?|mC&00000NkvXXu0mjf2k2+z diff --git a/graphics/pokemon/magearna/icon.png b/graphics/pokemon/magearna/icon.png index cfb4c06647983b93ccc5b5022203f7c761a70cd3..af8009a9865799e556c0d1f548d485000dc946c6 100644 GIT binary patch delta 343 zcmV-d0jU0p1FZv)Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}!!o31u& z0003HNklPT^@%Z5CE; zy;wmaGh0!B#CHA~{rR5%ocrOUSP1i>7#P~CAM&+6O7VzJ~yBF?6 znIr^}TV=8IxB)8*R6RtL(2rFmLFHKR2!;~q6{8V81f%53cTU|MYfp5?Af1ZUgon3@ zFTrV%=J{nhsU;ZJt;Pi4Mhnso%&e2{HjSM01$UbeygBj{V4BF+$hL@F6;;uFS!Q&< z{&LC7zF3m#6;K7r`a1k1rCG)hqZl+11(n;2j|W> p1d9WNEe@F2;$Whmao~TB!zZJVs?s9Rf}j8Z002ovPDHLkV1lo7m_`5q delta 308 zcmV-40n7fa1BwHXUw;7=NklGJjU=R5O^`QcEggyp_6*glx7UC{+J3W8 zh;9$KZ{f`e528XMyvU`BNFy%5Dgw<25haXM(}-6+5^ljz0)IVWDuj2zBzgPJakyfg ziQ&b|plWsg=6U9=I3?*G9_LrJ1a{q8gaF)WL3+!~y6IupiOMkXu=Cz2f$SYnTq2(% zn__ZPorcL+)xGm%_aL5%7 zgbIiC`XvsO&MitDj5*=p^fl zOe$04G=Z5+QbA0WDo05Lr&R8ktQ)En=q2t2c!umsG9aT%n<6`d(e8fUe~}gi!GC{j zEr!+%T)6C}kH#W5aCh=qe-NXcBPQ_X*7~h}Z0xNi>cD-^05@@bBAmeJUcb;9#AhOM z0>hqL0PW5Rm=gU2Rz(w8?F5u)1;Q)<%5Qx+P#`)D4h7V~CB#H11Y8#7aAQ982FCJhj zHzNBWg_ueye|Q13B|srx07A;EN*##E18<3?Iw++MQf|C|r|D0n0rg9M^EH3jmX$&U zgmy0gTV((!i|wNaDAtu$0N`B@&|VZvAON6*oxBD0yqLs ztJM{-J_EFy+ZO?n>H2`>-vJ@G1-Ksw0?s=^Of0Yw*E7RAbhYV1P|Q6$sq>6=Xgj12 zm@rEqu=UMDXaP2ZofinisYHHv?jM+%n0b4onY6?!>6O6a$^~`W!TFy1Z+I*tm=K{{ zyLY`&;82zL1$Z+G4ywG`27u}ig)=B4TB}3U5TG4a`x#@fr_HR?zM(*)0>9bu$SOw5 sssYS2Fgc=evxdk6d?w)83;av_1GQ_7g_+QvdH?_b07*qoM6N<$g8OJ7U;qFB delta 595 zcmV-Z0<8Vo1)Bws7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006CNklvDu3423tkOAwsC|Km0Z7XyOE>Cf$%PF0fg5g_aMdj0Fm1VuLq z)8JY(Oi~GhumnFvgB+c(F3Z}7mAfz+M3?Yh7HIvSvsN|BDdGLrgrT1iFi+5gnZJJ$ zh6##rT7OTN0oJ<$2!Qj1T7rr@kxFu$fNK-)O8^yaub&U58nGEK;dd^f0@Tc|@n?eT z!yQ0Zo*t@S2(Az3H4Ody=#-xb?mU64!OsBb+GeMLAz;gZlmB(nh_FBy0Y>%?aRr#! z8^j!NWfw$ZOaKmV?1fR!u>$1WEN*|1Pjx5&nK6XT+x(Oo0&*cP-Jpz+Hd_rPJp> z_^1Hxh8}^>3P`WzhTu&dp!}4Ks7}+^LrKRcw=kr6P<|s9U+Ss=IrlwgL@YNlzL)Vk zf6hcXK$$jkZwXKumr`l(xoAJSKl+j1a+d_GZ;`mu`hQ4-*x`7)TmzIpqSyry^?1Bm hL<9J#0yE$%^$VMgF9Sz3*j4}l002ovPDHLkV1h~B5oG`X diff --git a/graphics/pokemon/magearna/original_color/front.png b/graphics/pokemon/magearna/original_color/front.png index afeb78daed2f647ad839d3932ae25c437377dd76..a4e54587e2cde6548805af1ee49b47133e9322a5 100644 GIT binary patch delta 830 zcmV-E1Ht^l280KY7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L}!%13(e ztx^1*=g_wcKx6Cz&mi*rok~6^H}~yTUJ6>9Hjld^gskg9^e5_x9PF{k2&pF6%J+q4j^Vx?vdE+ZOY%p?h`s1zkSFGKiyi7Ik_*ZZItRH3j5s z(jP9G&H!@hqz|OyXi`mIn&GFAR@5X)Ut!hoJ4b(7nSTZtSwaz$0Hix3PzwV&O-bg^ z9P+C`tSq63Ofr)~Pz6$wXljO0#O%bBnu98o>qs|3bM7%h+C5Lnb&`M7=g&ejFq=`& ztc6sd-|@WA5LrIWt7qOqDxc5Kd!APfwb#}cNd zNy_n`6ab-vl59MC%hMiUC(y%yu!PrdJi7cDW4p?V02Vv-!l#F=lH=5EyUKc$rBw+Y zzf^MA24Gum1-G5T%~2p8-iuHNGv6!TYXb3Wo%b&SIe*e$6At}Bc-Q|K5afR< z1PSkiH~qEzJHkgZe*)ag4bd4srj+stFedMA#4{k8dR(p+Qw$vtJ#MDd(5Dn*Dy0xb zyP4A)fvId87vcm*COud<6;}Pmn_fTAFPuA|D1)Z;F}m#7X$tUSZbkDECu@)#KNuc7 z^ipUx2&C|l82Y4yGM$A#14JTxFNl8tS4weiAHoOC!L#K+9hfiU5=kS#PEtM1Z$!AD z8}XrafIiOyG>w^x8GW*o@%|)1H;{HSPiU=$iZtAG5=o<{rFW>oj&?TL5(v-dvrvak z0*dK32Ekw>G0@Rf1r?y}i8|t3*~&dYrJEVS>7oQtfO5nRHj$h54s~e+eYAg=wGc$$ z43!=KTi9^h^rgKxF}5V?S)zaI>~fh;V-yQF1nfoJWjmlPtBB?9t%T>$Yg>VGw=A}+ zNB2{2Z62Ry>)O#1`qlT((X9sw0Yd`+(DN`MIL4sV0B+aom^B8_0GvA_Xyci-2mLnY z!jB9%8~fU~0l;fOc~8M`9xs0YV`&V$o{Hek`k^F*7V-*50&;lL52dl!AlN6YuPRs> z)FmDP;MuIxp=!db3at#fr*DTP@lE4vt<0yf(-IqMy#*j}b)e$q=`I}VT5kspsWk)x z=))Aytu~AKw!=t{iZ}puHxWri=kV$U0$F5EPK}q<&`+Or~(5R>#4V zhkOK}SwIj@MD?3Rq(k0>-UwNz>n#Lyq^52EI*c}X!C3h^;zi<&|DAx9O0Z*Gb}wd! t1Zf>r%#Ddd{a=93?EeE6`F8ouz5pwWCtV2=PecF!002ovPDHLkV1n+eX$}AY diff --git a/graphics/pokemon/magearna/original_color/icon.png b/graphics/pokemon/magearna/original_color/icon.png index 057698e414a0caef9128f04cf6ab32c20fe9cd73..5e97b3ccb37dfba710504349c2d6291316e5f901 100644 GIT binary patch delta 374 zcmV-+0g3*+1Hc227zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L}!&oWt^U0003aNklynV zNaHkAB~mF0j$K;$DdHJbDH6zZdOV(nc^_jx90-XpHHo3k0*lx+w*h}7 zc0m^=o&}USmbKRBZ{f8xMeb0@D7-OS6tV1NE(#Q}=e0Bz3A>(ihQb&hbxihzSlLKXEXmeToAtR}=@vzHsmq2VoV(K@W=Jpsh=A=>9nl@6bxP Ut%kX-iU0rr07*qoM6N<$f;|hH9smFU delta 370 zcmV-&0ge8^1H1!}7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003iNkldPHC>(09Sxoz)_h!=UY zQ4ub(6wy@*cZpS~s}zo4Uhb6&i=oQAXZ%)#Xh0PLc%+$!*8ZJjzqD|2uGDANZ}BWILDo zalL{+MVq+;^POieZ=VAc_f_LN Qv;Y7A07*qoM6N<$f~$|cWB>pF diff --git a/graphics/pokemon/magikarp/anim_front.png b/graphics/pokemon/magikarp/anim_front.png index 6b7d130f6b0423bfcbd1797530e5cb342c313c53..1351be507fbef451bbe2927f3a3efd313accedd3 100644 GIT binary patch delta 1118 zcmV-k1fl!u2%!m(7zqRe0000>5NHHW+4F9t75ph?CZYuZy? z-oPlxP!tyy^3ugiCkfZkF7 zHpb@wZ7FKtPk`=eYGAq()cIA_#5tgQysJtfgxH<}cZ%`4V9fWoKUPox^|i!hKJ&KA zfVJcibA^Z{L7m`UKCb^s8DlZza5aCOt%ijRx{O0u7SX-1SYj<*eqjPt|%D(e4?2{gG$S>NOQegMpTiv3s5#*{g-Nr&I(osj2_b3e<*ubF=bE%?00 z`Q6q0P66=jwcJU%Bh&YtAPnXXI{Ft<(2Yf(?Lc;Z;PD`wX`-I^0F3C5cEelk^^SR$ z5+2NUDSq0^-X5K7Ae(%@#e?IH4vU=yuAsfY0U#@A!CimKc>o(n=GKWCuihR-gaF`@ zY>THr%)N~FSNF0J04sLnlJtMOEQQUVyYY7T%jm?N0AyYDF6}E^L_|Q1MwFHS9YTl@ zXklF|0lEW1BIt6rBm?YhCQB?~Qw_+&Gctq_ZYqa|IUO@LR!*7sGXPG@M+O_1eeVV2KHHvNtH_iWi`%wkd1#<17)LJ`}Tc7 z2LQ)ZDZMg!d7#=MzykyWU{(PZwoxSjFBex`tyy{hj6mh>7NQ!cC&|a<ZjT0gl#OwQrrVl1RAGrMv;f@MJetb z@^F~HuQ%R|K(Q=*z1Ir?*vZ={^iBxSJRq8fpzR94tV>ap#QJ~MW9ZIkAd-xUCqMQJYan= zXY4&_yM?dK%d$!}`~Ic)TiufJi@-fd2crK_KIYKG9kj|OX$?PltTY(YX>fX2kcr{O+hXkxFe+G3AlbFyBry@oC5L* z;3=HX43L{Uav?=x(%Qk+W9@=O920UEuU95umS;oaRXrYk5k}H064skg_(pbSy#iRu z2qqw3L&w^Geo(|}7g?YLQauw4z#oi3gCo`ew?i7Gh_eHPfS`b3IC69Jzt$g4{O{ax zJc}Oh0IH9KJdK5bBGMNnU{qfLyx9?b|5oucndZO|zsFpzSZGr;Y ziOx;u1NNK`H}UDabf=M)_6aL-TLZ*XNRJ;4Kyko-?RHPF-4+A35FP=#V@xzqbR{2C z(0!%?;_;Y5OXE)xegLqIu%O?zX!qzNI?*30F07i)J zQ_MYoyK8d;&t-^z4FSwO!*s0nd$zy91hOYER`bm6SM9GDj{YR8_OF>|-fW}0Uy4kk zAe;GZ<{6rK4(rvrzL@7209owD^Tj+Dlrc&daBbEVX1#i5wjsGY2@}tz))m_rr<&(N z>|y$&G`y-_0qmY}Hs1vzfW&~S`o0W$OP$SsH(N0*QwPA_SLNoH}dtGsLu&VD1-%!K)BS;F+LP1pdI@yO+Qtz|He) z!21=nopvLr3HL#Uwbhb`bY$R(RPCGM;7(>2{+7V9)t{i1g{odfD{};te1@*=9RfpYSv|Vzmb% zU)Q_yPV4&REp4hlQ&a-vb-)tS_G$OygKf`g|FMS-vIbiWd;{oKmDMz)@F3_l3kB>5 i&SIDT8{had@e95DC}!5z1pEL1002n`MNUMnLSTYh4&_q- diff --git a/graphics/pokemon/magikarp/back.png b/graphics/pokemon/magikarp/back.png index b8af93ae6e85a7fcab9b1a3a3a9ecf0db1796df4..63569d6477eccd67641aa75cb97adb1d6aca3ab9 100644 GIT binary patch delta 653 zcmV;80&@MD28{-gB#}W-8~_J&Nliru=LQD{4?29TBgi!~M#_DusAHzScV}z{Y=%zl4IX?y{_j1XvE%$>t8};z z)c1koeSjVA1JCIrqMhn!sTF=&-pn<+@%|k z%%oZ=XlKB44rVheCUze@Y*X>h+aBFKXgdd3kAw@Gg?%b$3v*}@SPBJN2M8XuiBOP5NCe&m47H|* z@z}Kyuw4VkP^Wm?0I?lmf7`qXB^clsupOb2L6uJx5@1B%Q(1ztV7w*}jITwvyNU3U zi^2*6{ek|d1JNCiRtUW0DVi81Ph+h=(x=rGLcG7CHsuxwVK~(5uk^hkAViRWO^FZ! z>aj*OE(vr8F{ESAY1tu4FLn$eRyxQ4P2th(j!VEDQ9^g!&%jM2W19%p7C4I)CFm`n zJRqRIm=caNqzE0SfX*VgM$oI-&q*00w0=qtgTNvlV2uR48d-qjdD0;1M^qwyN&Y;S nbR3`Uo01%bd6CTf@IS0S_Ao=A$sgB500000NkvXXu0mjfK~W)i delta 664 zcmV;J0%!e=2AT$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tF0&_`3K~zY` z)sc`Mf4tDr7^y7nKp3)AIx3;8=@7OwN04h~jFkIQQO8Vu@6KQbY=%y`!2|c>|K9W2 zc3#^m9qt45ec*T>V2As_^FB~7?zF_PiE1IhCW^p2#-2-m3qX~zy1NG)7mkX6J^UAV zKv2yErHTQJ-RA(8Rf+-rzfufb#%ctjA9+nwe@y`UbDJlATQKX~L2eCPlQEx;cMF$l zM7$+=``5`%fny%cIBz%j*=Sf?2W|mC^ zD+`?Yk`nY5P#zG_-%JU|8Bl~yHh|6|yhhNi+0RKCBeZ_n90q}T(#IMpcr&yB$Md8? y(vPV`@{+zhmvkIo?URxog?W(7^YHqY!xVJ1OJynahk4u5X%Ql9hC1IPo=5+Tfk z7SML<=CKEzHYN`M=*LUDZY}~)G}i7S^f!vgl;pv|>S@{O-EarqU$pLutI5d#p7++Q zrswx#Dt+2IIg4EO9RdfcOugE|@a5J~rA?Ci>A>=7^N?ULE^^t%1Jz<5b6uxwqACW!oSx6lu^*Zq0qs_O6q`82b4OX)FD<}hsJ}W4&^Cw9bPBMby$xbim2*!h~2Pm q*dKKu93Q@1a2*t7LI?P59lijiQMI1|Q$LUZ0000Er$%bov;(p~5`S4Ba&+Jz`8aR*)@I;m z&UuqPjIJ#B+)J?>-@f*(_$$l!CeZ1r1P)k;a=8KfkEPpDw^4|mln)f$>hKdTcm7ESprq45)8bAC9n#EE2Qp%GAS*LEP;k^CB#BOk z$^oN8er+=+9XGy4Juo_~`U!?uv^s>^emCrm4rnK8TzvRCFiZzJz`1q!1Eo>5pOx7M QlmGw#07*qoM6N<$f@M&Tk^lez diff --git a/graphics/pokemon/magmar/anim_front.png b/graphics/pokemon/magmar/anim_front.png index a57d2c848c12c3d2cb38d0a55efec8c9c6676c9d..282f5ae8c6c14769c2bbe4e580f6441408dac406 100644 GIT binary patch delta 1560 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 N002ovPDHLkV1mD8PtE`U diff --git a/graphics/pokemon/magmar/icon.png b/graphics/pokemon/magmar/icon.png index 1c553ef2f697670b1b795f3d07aa805c9f0ea652..22ff1b83317113e6d0c52ee41a9e4c8ca4ee17f5 100644 GIT binary patch delta 365 zcmV-z0h0cm1H%K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}==a{}W7 z0003dNkl!YSRE}D_1N%~WX#)SVCmMOJWc}Lz(U~` zB(6rP;c$m`tZI4sWdCG**b&U2L#H(PX+g)2k(K4lPo0T_njVx0mT67u4eN25ZskRnra z(;QlZE#E7&yJ{aYS=}o`*eq>8zDpkRWO+>YZ25X?#q<5N#s=481dKp;ZKJufQ~zUe zY?K#9GUyGggl6gWzL$Cc9(pYe0<_uFixbggahmAj$5<2AtpI?J&C&aDnss^-}~_ijm^N`&NY#u00000 LNkvXXu0mjf;U%K| delta 327 zcmV-N0l5Cd1DykqUw;88Nklb>!3`KPV9wtD>_6G41p`(Brr8jFzGUhfJ zymaeOA1AT9*@6*sF<@2(Dw|e^c5DeP`XE0k>M8Z70$e2YMzPdDJAZ`0+W8!rpc5?x z%8b^sgpdwLBYFW6qV>IIp|P0f4i+0q#}Bk{p1YK|*`lK?lz$B6`{Y6RCBQHg7wZ(* z;E)%uJQ@{-g%p{Zo8~YYZ24ZH-BtVG$?9Gi!e$u*@?G+fC(C2HXUo@HE1vJSH8!|j zBVZ(S*H*1FI9~jJ4UX;;Fj9lwzzUdN?|X>{;Gx%&AV8Zvy*Ob_7N?Cae2g_=-3kHl zu{nA^PBRW~=|E=UBLFj$EJ0rPu4 ZJ^_u*z}_QjkrMy_002ovPDHLkV1jqMlV$(_ diff --git a/graphics/pokemon/magmortar/anim_front.png b/graphics/pokemon/magmortar/anim_front.png index 3f0531e117f2918fbf21119fe5865ef19125b005..fc0d3718629e048c05f40df957adc0255bf73a4b 100644 GIT binary patch delta 1928 zcmV;32Y2|j577^hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}@tMRu;m z000LxNklcidu`ec#FZ2cY)|)Pn)GX zh+W{-wG)!3r&J?u1dBw~9iA5D*Wzh;D7>2^CirhCWpMOxq3p>QB{Tn#v&Tlsa z?!s|=K6B2wcg{KYt0*t8;uYo6RV0;5?NhoIdH84U_nG)hId(9e2i{wm1nN0p#)^R{ zLc$Q!?Hq6`{`M{*Rr$r30A@lL1x_>xOj}kq#vLn4qQ`fLgU`PNKoTnq0i7)3^S7<` zdM-(8W%?FCM}M4<*TGV^+TCmp1naNYe$Q$rIZTxZDas)2#vyAm z05toa^?u?2>_l^97KYor(P8}V61$U0alcwDzBPv@VSia43^%)stuixvO0z{=V(y+K zp8n)AW*)SSMr>Dw1oTBu67I>1Gx5MMQlJFZc~L5nfmZ}zYxG~=_i{i5>|(z{7XAHK zAjW8P+6`_ShLhB2rRWLKmp~PO8>7)laF78ABnXR?i0@VFR^#->LpJu(2ms8dfMIM5 zPq)uEynn=jq9y?Ky{m>H#PD=u;P-3EG4zEDQ7+efh}5;&H2&LmKafL4pG%&dgK37W~$>b22029%BsFNrlr;ezvArIc<3V;Uz>fR~&B z7^4!{O8^Lhz_Tz!hoOUO0Rr>!SxOgMNCbf^fmZ{wS{3I`7H|Vx<0Xv1woFGnc;sb6 zFf#-&fhAK2N11(;jGqu#1N+lH0&|WkM1OWZNq`O3f~V%8v@3Z4-WOy6Zr3(kCPI@) zYZ6_o7bGBXyWwaV_+EaHb{Mo23>OyK)u!JWOai_K_GmyOy8S3ONV~r8vTi)UUDo`0 z`1i_WCtKme=~0PR4;q~egH5+Zt>l5SbF_nY?zm1Jr9iq(T>|v*NDg7U$(-p>E2PQ_SFO>KGZ#Tw=}d zP7YB8WL45Wr8=Pp^#&@3=g-y-B#==U`#5#zz-s>_#IOG!nT71nkhtXqb@jz5dn4aQnQ|2?X5nS&0(0 zdY@ixcpy%KaRf|M_d&5}e1GfpfLQ)lEk6cT_zi^t*x|T9 zF3_r4KOIZ%slRe1nn5S7ulU@ObTj0Np24Dt~af*a|3wlGGKE zf}jB4a$*-P{tnrRTtIngOQuXIo+dpg_7An4&;=@xE;H4z+Y;cDFBT#I9BhrormCj^ zT>p0Scp(Zw$Qw{LLZ!N<(Xta?|C`7BZoEa50beR*xVj?%FW$}Lbc@d<(9ZyH<=r3k zP}y9Ev$`fr6J8euCx5Ym0HA~3VQ2Io7XSqW7>)-x;QN09oJv^$7kdOute}0Xh?a*W$A4s!*$4X%B_Q7+ZGU zJIizqE{qUr6%(uU{4CSq9+oqfyeZUS@Kjo!Wa=84vk;05M}JA=N2Yb4h#e3BpbpkU zl{#U}5hXr97g=GY+Rfj$&vKnTakGnmKTnn5#ZusbBQ6CL)lvTD`U8F!ze~|QY1;q* O002ovPDHLkU;%;v?0Ibf delta 1899 zcmV-x2bB2H548`FUw;QcNklfC>#)_v3sB`GxkJEfgS>*f)5E6#V(gkdkPGt?6D|} z*1awEl>80*-tgB@cD!?tX}%BNdo%Oq%~w$_j^edTUdnb-xqs3=rE9T=Kj+@hBoF1p z!E_$Dy)p^ZbHI$108@lSA*S0o;9m0d7ecDy!I%JMA{PaRXabnFEIGylD^8;4><|~f zzW_iID+~dhEaLa~t@e5@No!^L9zaJ9A@6~uZne8|4h73Vz({>Q^g|ucHyISl|_K_ z$ZDrKOqB>JiXiRAA!{-KH2abDQR)EfL~}(JhS$8)Va~%P_CQK;zgjH*aSm6)vOXSe zb{Sh`ro2kCMI3zYksx0FCMLhW8D_O(v;ViazIk0aO9FGa8+Q2NFOaK^UY&0>4_f z8mD)jvaz2<0AM}?3}a(>x_!Rkrw$Y~1!&-3Hw?~)ryGNyUrU#v&qauGxfVd=hB@&0 zAozB-mVdd}!zB40tp(gz_E>=9U%OR50m@>U{W2Z!9`7*bAmBKIAaPOBaG~@H<>Q`> zyG=d_G#OAywfGO6%yH$=aqJcpH6b@0XEz0uJyO{x6+Tu}s5a+eWOsI-XY=4(L5+IA=cxwcufRkLn%HQl);}{(P zAc%T8!tseFQn7E0zM~kPtR~ULdO-jjr+*u@mOTFa=Vnp+3=)9htUrDG;4#0PK@w%ckq8XaNAMFwbiWC&I(@trfWaGeF#|q(WUT zy67%y2hbnc)rtU2qoz7YI=pZn?tfs*x~1fSvU{|HcE|PHI!b|Tnz{h!;gM*9qXFG( z2@dZuLp{?rx|s(}N5FvdxWt1cAgiQ(N_9dH>J3y5uV1Yl2tZO8`+wMV=)h|K z#QE>PjZ8xT+2yRL0ti4Ez>WFc)3H&X02I-e=x(|v)d5Z9SQ@m!+&ytT%gq;?}8gW=Wl|521wmLou2>{exz%tEn1GfO5Htp zdM;U^yb4&5AWooWR`o>{>@;fyGj_7;T6Dhy@I1YF5pcf1(giUa-I|2BxP!6CS7ulQ zILX)n0lH79P~c*)6;KEzp(|nqK>@(wCN5gehh!&q0p+DFnIfg6n}776*#D~SL@rQ) zbeX9}r!57({CXhnVooC;Y07kdm$<$ptXVGOLYq0kvF9H%O+x(NW8e=@N^Zr>@)uP}rLZnqptkUx{>4f`O&RFs$SBK$CVR<3d zH5|@DBr;qjl^@d4fg*N60Dw9WeTDOhGoc(sGCENQ7XZ~UxnwE*Kj8U;IqP8umiW6t z{@lIz`EHA`?A4JSd@DPgedB%qOAc`C&bHj5_*ds#7FMd={O|UeJ82%Dhm|tx{HjfwAXZCtRC@ilsW>JC{BF1Y0m2p-*d`*4_ zMEe;qmxwU{aZuUg++@s$6?ssS`H_IbZt75J55*!)9tqf7JZnG!R2hoowb@>ZM)E-K z5Nz%}aQGf70sb}|^ZiWZV<^=N>VE;iEY2i_)}jX<$cAH>CsYgrY99>oQ9UXbTrRU3 zi$ftj9Dqcm2xOFAu*unB7K?-jvMGSyw!Ep?oz6xe7PkyMZ}Q-5bV-i|{s{oI>|vqM z)HF@beb|Pk@o-}_u14U7G@Wenz5tL5&~d678zM!eOosEmqZ}x520~j)>wig|hnY2; zLiasAdq&EWx+Gx0xR&1f{_NVme?zP$C2*q(<4EJ@8-eciY-@vaAc}TRuG6GSKzFuw zOfcN$giN>-Z#1q&6oXR}9_R!htu>55J^-1_Duzzkr&=U29P?5#R}JLfA&t znt+aSFj$)%5ulV>hs*Dd6@Tzi&Q5^BiUH92D8RzC3kKGl-2*3(6@aL57AkW0?q0Risi-UD5jr)b;`z=8~ZY`}NPc%WpP#T1|j&(!hl<7KMH zBKjJ>pt?m06&<21zls*6f)&_~2<+2fgM&=(Wu^w0+ c|C@igUo3b9IktI`VgLXD07*qoM6N<$f+Yqa#sB~S delta 650 zcmV;50(JeI2Brp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0)I(FK~zY` z?URv_IDb+EZo!td^X)(X%&epL^^aBze~By1ueKnY$BXMTdp#i(mRE{dl;DMk@j8LZ zSXB?N$?t$@KLh3|VhlhWeC%;8tVht#ODnpUH zHrq?lNFL~$x!`~$zK2SH--ctppNaeorTT<=0DmxxGm+3*@_`4k;TYx#6~lnq2Sa>R zkC_WDmsyR)p^zR9Kq9FKWRyOz$=P8RO9~HUQvknhc~i4HosB>&ZW(yqH0FVpNu~dx>k&>lMhV#Co94K-ILR(Ag zNq?P(nKdk-`<|XXBjrh51Q;-`rLVp}ySDG&5UWWE+^E7hO8)bWK=*pKwZSDSeqRYpp;sN%kPdA@PAQOCqQAv0BC&_VBy*Y18Y|IzzJjpAZnb2 zirhUp_Cj?UiLav(=R;kEbgS94COoFjol; z@Ku2O*R#ZLJ~IFwaO|IehnJQ8)b}FsK>%u909f7HzMlbY0JuZx0}x5dr5C?F-!97B@K1t@FN-^2W#AT6x7JsSg)Ox~y`HXe?CyV#;IPKI(#3jK(Cc>)%v5X@0%|yE25sJAh2dIn0$vI+Nu5h3&V`Ut$728uZ&1kA zA0NI_mxz-OFl-?#k)&+24FP;vy!n7Imh2Su>RqCZ0ULhKALQN;V@W}svIS8J#=UwH8oVRBZ~ z0SqJ#2~3`T1k+;jk-*poz{GoaFlIdl6LyRT<-qhFObCWz_Tj*!5}JKDFu4J|RPOwM4CX&%@+ydv5LXJY-mM{U!# zQ!Ff?&h-TaNI73EvMZv#O9Y9J&8fTkM6fi?%dKf4T0W*aEU>*BQ>aLiw zJzRHv%maBNU9E^pl`8#Vl`XNdHCV7n5fO@3FMe2S{iyQRr(M50(X|t UFB@dr2><{907*qoM6N<$f&*#dq5uE@ delta 518 zcmV+h0{Q*g1kMDI7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0nAB6K~!jg?U>PS z!ypVrp|R5%r_2BU?Q9?&RN7=Gdzt2=K2%ljfdH+rQwoA0_%~$XQhZ-vxu5{aBfx_8 z$hxkR0W)NI+4J}N17P?dqvDu=XM3gDutqCfBMgwl!vl&FdL%xvBfZH=?nFOdnW6Vq*LFx;Lx^SiN$G-0$ta&mU znxamCG%p772wr<20^S>}c@fypQ$2fwfT}=#65u$KO@M;{D%t9g(|oJ}ANjUG+tXsm zJ1o$5;g|rfGWxn11v*_l1}$D!pv~R*2r_=g8f6KN0xSA|bxjh;!)O#;dvL(`%Asoy z25`ZpKfL@k*6)<)J3yh)m#3=RhL@HSD4eO z%Qk&go|xR%{hA+2UvI%7`7)Qj&XPw31OB2bahV0KvQNk2x4fh91n8yjlsA{Y8t=vT zl(#kzrt*Jfh#Lh{1EQWoa^+hKM0+5$1wtdn(=#<;PUQPMdK;)4Ty3B{N1APD{#pJc!oj(!@|PXGV_07*qo IM6N<$g5q)VKL7v# diff --git a/graphics/pokemon/magnemite/back.png b/graphics/pokemon/magnemite/back.png index e1b35043bb12a85afcfaf1dfc9a93faa7651749c..f6c42150312e5482a4e889fc2829e751ec0db943 100644 GIT binary patch delta 418 zcmV;T0bTyx1NQ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~1fyuTY> z00046Nkl!Z zDx71%p_>#t^;30l_ocBZcrUIF_Dzr6FL{3w;yC-*$KQrh{D0*#2^yR@z*don#^+_D zX@hgbqyXzc)fvzoBi?O*TR(C&2Lim0^DJ^*V0sW;6=0td^8vt4Arca?vy!L5EkAym zs9L;|{@dBriW{@(bX0IGeKS40kk2-_egr2{3+WjHX6D%)ARe zNNF}P(+p5;rZcGRVbKMH2*40m%r56-`Xr51OVP zkA@CkW7@-3oC{sCt7V6p$VJ6Am%7v52=?O!0IHwS8XL0xf9yZT7xJyJZi$>`=l}o! M07*qoM6N<$g4brV&;S4c delta 392 zcmV;30eAlQ1Kk6VUw;8;NklgoO14jmfrAl5! zq!8hfv76=#RNGMs70$8X&`pY+`W1@bz(J6@9XPoAlGqe_udWXEKOK3$SXzRZAK-G8;46ma!hn4SXL24V)* z7Or04K|KRiMfXGFPFw_3v8;}tdBIpTLFIJ*KX5EJew z1#0A&6C{a-z~_9dFc1960R3)R2NTX!mXWat1j3e+`~yl2_KhCU6~g~{AA6X90fNdB zD92nj3g0OJCx32(K{PIaIb|k_x*9|f5@H3U)?WMzxYwA4A=vp6bTlmr(7+;gxn7?G zRvlu9@nXlK@(mI1#KkUpgBkz;002ovPDHLkU;%>D2(DuQ diff --git a/graphics/pokemon/magnemite/icon.png b/graphics/pokemon/magnemite/icon.png index 95b81cae03d1139804566a9bb7958ef968c43edd..1c0ebe8f1c7a5daf8b9079bde8039320400bf6b9 100644 GIT binary patch delta 274 zcmV+t0qy?30^I_T7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L~1}X9UuS0002MNkl1)~7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{Sy-7qtR7i>Kl)(4lmNMit{5TP|yZ6N`3 z%pVE}4^ZTsTgy&#?fqIUAm>h4j;+eevLige286_b9ARA7K99Cj zm6GbxSbu;vW?bq+$t5EHK=C1mHVBN4HNB+`Zt$U0lA)!9f=7i4(ThAel$>n3kcNLy zdUD^Jl`QS-N^Y;kbFe}0+nqP_-p+i4Tnuw0($nL~?DEuj+PWhc{+|@TM~Vm}wo`h# zlnKn#m@762nH68@>E1Sh8-iJR037_2D6OoTfF(98N3dq|+YN||mGubVY(NrCDG&EZ zNr+243JB(Ib=p$)lR{KEp(X(-7F&M@eoJ=JI$oQP0OHD_?|&mZ4y=Z5*1m|&vGt4Z zpCBNp*nD6DggdQ+-w{X)91RxPOb#jde@NBMLp;r6w!8J*_rI1(74z|N(mI3}bd>6) zjrh!v9^aSbdUN&Vehb~|1kjluAMFb z+c!UcFL!YKlmf6MN{jGy^bBCuv-(dRuK>W`b@lym+w6JhF4ys>t=QaOb=7b8Vp-4M%NfN8V&$%x6#f^C} z{)=9u&H=K^=MdSos=h!bddhonY0RGqMqF1H#YiyX6a}vpj|GB(M}>L&*D~N3!q$R; zck|uV@a>n#sa3Z`5<&o&>9;FMmGv1cWS9I!JsCPwi;N5Gr{O$3S&8> zmqDVcQNb8>!U~uoxTGN%qj7DGp~)G75i!MFSTMqXH;*|g3(kD38>VU-owhqbeGHC{0A%L2IoAQw$97&rhRd@dC)7#hfNQq;hN z`x))SJ)Lq~f_+$(m(xz;*X!1uslcm$157=!!9J!-!bJP{-;aL)`4OQEt|Id900000 LNkvXXu0mjfJ7G)( delta 1254 zcmVu5 zqbdxBn;4;r)c1ee$$^7f1>3dnc5^YaYMYM$A(H>`_}R~{4FLY)jxY@019)s22j{4M z{>}6^9kFpyMW1idJwuqfZ4e@2P0F%4ge?hEFqvP!2r2o7{*=*q+_QLf*2?O zl*7m;pM4WYg4LM?s_+yk0zo7$ar^ zKz|?9cnj2jUK9|?*72^p05pV{{FTsjhiU&2C4(aS^V%7Ifald39sD*y;5nn_(BhtM zMgwf^Et|l5o?&?kFl!7k0&kuG!ruKYnZVl`=jVI~EpnVu=CB=~h*M!Y0Ep5qm7|Zr z7Ec49I)C{kPAAEb5U5}9Ats91NDoAy?2ZiBFQ^qNfr^s;Y%IxPk`>it zw(7D=>JyU}a|u=~D5>~IGYM~-?=g?(9SXVCq&7*r2Ik_`HDgdl#0A7E< zJJ%h5E^e4iuLTOQ%|l%K0PvHgS^?CT0i}A?25`A!cY+Fl&9UvzfC+LUbR7(^-WYZV zpvT5v2xI?Vbg*3d65z(g>JS5828;g}0QMiNzkL1_FtX9E-hJfH4&#m6V4Lta_n-aj zXFn_UH|;@->faC`_tx5bd>#;uyWV3jK-?pLq-*QD0CC4OU~4|~-BJYzEY<{gudydW z6(CCUEAOp_KR5S2y`OgiMD3kB0Fw64*%USc#HRP|03I~uUv346-2UHKgVF%L3lKf& zqawgsr-J|iw*lHY>;;H41tMzS)@$10UVy;5ir!x<7^2YRFAo9)-T~kwNl*ZL0Rpjq z1CU;0nq1M%-UJBDD{#6703txD{-Ysu1&B8QH@``NGv%!M>0$mFbEdbVId@Vp&e|#QF?%!QgfJhs4h9Jv#gq{F_l9cDo zyMEafAk3z-K89z<0rUh2ZOEoGCCMOvT>(N@5-(-Rz5qcf+H?Oq0z^A0y8=X00l6bU zDBXM+4jzAPhk!JS4y;0z|e1ko!*Yx+OqGQ~>Cx z1Qqa6N1Bxj;??}>)|iwF?xVl+&&maj!}oyUKLUJxZ#L!PFH*oyM)?2OKlYeUt3T|N Q?*IS*07*qoM6N<$f-+Jt0ssI2 diff --git a/graphics/pokemon/magneton/back.png b/graphics/pokemon/magneton/back.png index 7a45ee78ddca83e9bc23ecc0b8ff22e3239b01ec..d0ffef7d4a39bd06accee41d3c06eec36478f329 100644 GIT binary patch delta 650 zcmV;50(JfC1>FUZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~7lD~fvi z0006&NklCSf?7{)&s=+3!`Cx3qlY#h7};2yC3%d0ia zxp%z-U?FN;g24*$`(K9fhPngu05A6VCCtU+@BT_7&jm4w2mCni1r~5HOOic7Zhwu~ zhPMYw9Ymr50J8(lS+V{;(1ryEx?_xG--f`9N>I_E6#N1?2kg8V$WYNOlQB?ZynD`T zkoC9ml^;J#aDVOx%bed&f+|5GZYREEI>QNJ9--F*>Ts|GaC--Rev;=HKHPwH2iU+P z8UhZU6A@y~(5KFzH1Kgi)H4SMbuVK=q6T;v2dYcQuSIg8+k)sCKk6=cmu3hE&m$v| zFQHs%0FLU?3IRMkU#XW=q)Nm>grZ9VQc!iEQj{bHAAi?fT11F<3T#A*y=)O+s(u+l z1PUBU%1D~=3r9q5u8EP@Rd5wJ^XFn~Dte66F9V~A$+Ia?MaEiQxS~Z3K#at00Nadd z-BGoZDSUCm0HApbN4>W!lPSJH9Sta{29?}wE0*U?1(t60Vzau2!AAnqCIMUKda)T* z+h7sWo_{m3by(~pEG_f`wshpL^!D2xoUN}i@x^HR_iqt16F|BDv1;OF9kgAN!G k4OETOm9PE8_)p>wFfkefKML$100000NkvXXt^-0~g0SoyBLDyZ delta 664 zcmV;J0%!f*1?vTnUw;C2Nkl68YT5%_=81jXI{Q!X*m`>$yh7e_P^fN?=Fq>EcP9YovVR=gtVB<)o#%fv?GY|! z^rJR*%JdL=_vUYUrrfv)5Z$^!H=R^qTv1T>{V6ny={cMNcsj$lWI{UwfcgxtNYMJ3 zQHB9#cti+Ue$N7R%t3^+LeK-OC?K0bMuZ3t311mG@}s*|43_C-e4yKR9Bk4-V@1!$ zLFAik9d^7yWPgOUi4d~heM|xIDj^Qqhi8!cYs7*3;sCVvKmh>PJv?elW#~Y*=r`T` zq<|qo6?ss6JMVdMEqMs-1e6i-M3v{)-?;E+co;yL;}@&qvNxs~`V$j%Y|ZDF5H=+M zRP_2+G;4nX%Ba&6mlVu}a6sv@*JoA28ejs84G|)Q4u5#voA4?P$iy=N1}wysmsp$p zVEgomFyRTXfO7)pOL|}%^2yaLlg%n93b3Ky+0;aM5qD9yEb~kUpdvtIYb}1@2nR86 zE!vVo0>~hb-AoHOdY!c_t zXiGpP34cHuD>>K%i)k<*RQrTY-BKJvjf(;Si_f1Q?MaY;rUD}sVekDJ_krx{9+)R! zl?qgjDM3wu-0;=l&T zwp_e=Ag)FC(ipCB|79rzI8)2ehchi9s-7BC#oYmVW$NfX%}O>E0yrb0gfOl_);1AW_?SOwf#M{SD a_i+X58R9Z1n7|hR0000}oli}}a#1I(=&+?`mqNdN!< M07*qoM6N<$f`CO{2N@s6MgHpm00jt1L_t(o!|j&OYa3S($G3t)8+4#)^>Izo`muA_f@bqCXj(-DI5#p^P_>MlC~;QTly(m}~_ zE^Mu!mt|O)g?~}&pu_9kxG98rPMHuHpFJq-6{98>ce(H_u*w4O0#iVN?XtqdsQHB4 z<05bC%v61+%v1^q>_*YSE3z^W`JPQu@e;B;X+fDC)T4u~n?!WQ1W>jBVBP&e zn^&Jp;MYHhPSLo=>os9_bM55|a!&$VzkN^0Rqf|Z;ipp?_`Gu`ifS17l}yps{(7yO zF6uYSS%2&Nm=_&%{7h7U=jg`(yrC9?{ek+G6~s7#=>!GB4P{>m93ovwo16%fV-5nd)oqYVut zibc@nfN{6gCO)#jevmSN19_~WZEAm1-6)xJ0${wL_?H9dP_Hw^0OOubm>UeMIu(FF z6BrK9REp6#P?!(+8GspQ;#V5L9J$n605F9YXJx<~V3$*x4OlxIR%d32kHg{F+yDst z4uA8H_`{($9{_kK#sA+KBD-jYAd6;*%L`@*H@n~kb1ymn5=h)ww9G}ot?TiaGqWSN z#;c&LIOD(UE-xEEO7X;szf>0&P?y=Zj_ej_Ii954VtNPNs2Hf8MbNh>EyVy{$fwN& zp^i|W(o~$nr{P$<%jNBDd3pz_31Gj<3V%3)6oNfG&>548_n=UU=ODLKp-Om33nhcH zbo#!tKe31uWUl}>N3SjO9TC9i2h(V_yZE5GIBX489yJ8o21pYO($2H4JkFKCQ5W<27f|6 z8Uq6I;ddQt__)Hb9W^yTEDbs*JygrsT1tmeMV~6+eBH4R#Af8L&z~aU=6fOL5R(?x zdXlS&{;}+`k4jp50}wrR-3z;_Ojkrv{vUw;>Y8QvQFPpXlh7&cUbwlnV?IF)Fa(N- zIJH29(mS{7V}HBd7G1mt8RHLe@_)zxkL>eFa=Zr_1jT|Zuv3h2S7-xe-SnUC2MZp>~&5C@bN(j$YEwY zQh`JoI2hm}<=9|kb8}RMSik@S?&%Lt1819~lsEAgOKsvn0EbpiQCAbA^E-*Zd5&(5 z{siyP%Bc&U`-bx7Xl^vZF=_ZVId#F6V(-3_)Bl|P4P{I$x#SxaW&i*H07*qoM6N<$ Ef->EV>i_@% delta 1337 zcmV-91;+ZN3!Dp(bbkdBNklQduE%T$))o{ZJI zYI&+n5H-knt>KJ(t2x2yd=%eu82Y+;7~4*GmLaQFWD41XZ`^>iSTOoabiUTlfb?3y5f10DZUshGP*q(!1{766~UOuM3Ks53D#zEy+kS9AtC~u zjNm4d>)_vB*@5)lWCXW#cTEIX*`-xN7&{G#xLdTWx!fXnX@Zuh=eMdIR__{rB!_6q zDj_7|(`Wg;f`8v+{4wK>0amD+nxhiP(_NZ>?l)hdCyZxJor#KLm8eW1fL-6OUZBMR z&-P4`aw;Oq6Xup^weDAQ8;E!L7*H|*r5vS*Ay`S3iSbK zKv`gY2|TF#zE{&3a1JfQjt2VdcLSWTy617->BxC*WBEh?fBcP9ipB$0uW|D8b9%Hf3E@cO5JmVHMV0j%$VAkM$j%AygoFBLq1K3r@M3hU6v1((p#=EXd z0-)!4%@z=h1%3eb0>H|`+G`!1DK~Vm-R_DKOe3Nmuu<>1FAX|481z!*!aGvbr@#pj zE9!XCI9Qul(b2zY4aDOWBAyE2+6F!>qoYwq0e_J~fv9qbcDLn2d|`kCH>LrLWTA$( zuKh(NQ#7jDV`Ifyw<@n*o-;jnUJhQOl3tEmA1_-kqakz;BAag6EyTl;`*<_wXX zHGe~(Su@1_88d{PobiI$_on-21CbdeSa)Utn`^-(zOf^l!6`5;jMt`r9rnV4280xk zo%mb1m;+s=+bXi1$E9$RvJ3GYaD!ridKQSfg>f+iU?Fzv2||8C9gJgP3I}_Ec$Z4s z+v4l(#>Rky3eCd^l6UvugHEYXyl461et(#vSjJL#Q41sk(|CN}Iv6`djAUEKN_ksC zRW30o77b@Pe)KD2$4Ys%EICJKWXJgDTMU3VNGR`;0vdI{#mo$3T`Y-lp)OJ^wiM7m z2J~m`k9>@LP(~)kB<*Jdw1HY}({!}dYzV0VHIbqtG9dJ60C1A^e(V^7?Gl4_)PLjv zF+b>>^*}8{Ye^jj6@4v*^KHj$2u;ghpS=dc&h|XW!N<+3^#oVr{Zr9p2b8pS4d6Yw z?s;8Vrp*`}TzJJ=jPN60<}`Oh_3ssT~flwnnk={kCyz3kCvmXyg=hH8Oe^{(!7B-WvTwQZk1|PHmF1 vuPJXDr$-|glZNk;Q=8aA?Co1Q{ow3BWlSu&XZQ6Z0^z+U~2Id5nlxA$vl|knuy2nvjR`h}2)@^iRqva(=A{LU;rsyL+?WpnCjA?I Y0@aSwILF;(vj6}907*qoM6N<$f(kaQx&QzG delta 387 zcmV-}0et@A1MLHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Y*tgK~zY` z?T|4}!!Q_yjiT&W&$V=qqeR}WNY}BZL_-WWbk=J2hK9y<6kK|O|gn(Ge0f5WpB)DP4d2jdq6Fi57Ki&P$dWGL z5|CQ*MO$zQ0*|Ci19?-j(HpP3B?RS*)H6@9;s#3PLcHbp*;{Fz?D$BN(2+`}tqV?@t^-=@Y3ULGo hVeJP2qyC8)`vldF(>NE-(FXtk002ovPDHLkV1leXu`mDt diff --git a/graphics/pokemon/magnezone/icon.png b/graphics/pokemon/magnezone/icon.png index b80791d1ff5c57db618c73adec3299a82ff8d6b6..1db70af68d6231f3fdd18b3b68294f4d23b43eae 100644 GIT binary patch delta 362 zcmV-w0hRur1Hc22Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~E8Hq&JO z0003aNkl+r+JXeGy)4U}cEAX`cru$@Ol&T0`Q_)IF!Kp<(Ff#!k6X>b=iL&Fd7c=ghMQ&n z5DQ`eJc{lYV`!fxVHIjYwg=vmI+0SwAR7bv-LaN3Tt&2s4S(qB>udz!UitQuJ}Xlt zrOL3GJM(S2Q3_wzsh(%%{pR5ccgMnvZhf!Yz9l)*x-1P)9w8Mtq|_Mzm9IM_LPXmk z+D1T!SoXy{1@yE4Y6Ids8p}Bt{HkF9yee>j(;?hL{FlcK8vly<0d>p`g3w8v7v{V9 zB+MbQ$2|$tNQOd%$W-46``@#~H{JaO>+ bR~^0pvwh^!MIjyq00000NkvXXu0mjfC#04- diff --git a/graphics/pokemon/makuhita/anim_front.png b/graphics/pokemon/makuhita/anim_front.png index aca8179e69669e5b66c94d25ef649b83939a167f..557f31b906466136935a61dc4e70ff9164f058ef 100644 GIT binary patch delta 816 zcmV-01JC^A27(8WUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~G>tQ*jH z0008zNklzfaph6vt!TTnQVuo&91$Di-5&D^;XJ>{mrqHzfZDsO$)d0j7$f z%&jWI+CQNKgS`cbfn#EY|E2Faf!x_=SN$>OhD7K-{=U1*`G0-r^;YB0hvUva*IEG} z!to$#0|dbKng?MAFwO%QWbKQHJqQNa0VLkQ+ry|G5HI%pu7IBNX3x($0-Wa=X302e zpU-z?4A5^QUgvoZJo+sw+{p9Y3TQb>I;Qskp_>BOH$v4X0Ee8=3IqTi1J<(=r!?aQ zJRjPD^E6~2gn!|g9TS*C zkktS|#pApJiUVNaol<&@9g1e)n1Gb711Hph84$2l6qkIVa8#Hz=gKm+O}gi_K3l)5!eO3GfM1NC#Lng^y!0A=&e2s)nyfc7RLU7sF|dEWY7Ncxr6 zDTuyN+JEkJ>MkCX(wZQG6zA~-lNv(jopE;V`DPEVeD1Qp|5D8uG7>zWwGH}-uy4*36nw)8g z6lcgCBXLta)gUP{pvxUIj@5yvXULrZErG<#OVH&`fYJbVi7@2OfTG8YJFUx|4q{~f z2T|?P0ECpiPN3Nv48U^bOu5_4`pnk<>|M3fN&w8odmmvcH0000%+^*;dd+GCdeiFIJuIx63&Mo30Co5TJMCnT}~?^lh~UZ~L@V9M|YKB}6&`*eN)FgE(qR?3Edvpdg8xW2)efPfUqt59K`rL~tHo zC^a>Jp}LE=_6aD;3dm}JpyF{}0mTt8@K!0k#vVyCaDPfbO4orE>cA8T*eQyie4%hy zm^J8k1prrIfF%t;F#t~y+5ymjdI_PFGy$dVj7~|}OLU;#2aW{OC4jPdX9V?U4%nVH zmvMbs7<1nGUPyY%>m)?qC@p!By7PrnS`|c);%qz#46U!Xd>TC>g(KUH5sQN*;I|B+ z1-jcY3V&Dezr@Pi=lPYn|8sMV0rQG-m80e{`xF=JUBharvY(nA!k_19v?I`Z*`m?7? z$Rt(~E5fhJa`)BKwdIOf7}`UX+|SWW!Hw+qN$gZY61DFGH6;Y%0ryb-z%EAVy=z_r5VSXzNC zE^hO(6oW~%K;ikSF~U;jR_ce&1^6V!yYQ5Q!aPg>sVwmwON3GK% z45f}z$oa7)$qliWlhk%P>%;*AIJI`xiG#3t=_F|r z4ns%2Ark(6+}Zbs+^WJWevteZn5?hln7}v?tf3qQ?!gN%)_!Av$Q_z-jzjnpZ%~#KtkV||;q6k`7)$Y6JYZZ!ks!)5=rvMiMe?FtX`!s><0zg~xrm3pB7Ons) z1Olj?a0Y+{4;4_?d#eOy4jrM{J2L>Rru6VL1{81M{9pr_1uQmyg32-AWh3-EyukZ4 z0LKc4W9bF9IJoV}QVcrP0VScTFv9c9t<(p`22d-24-~R2yb5p?Qf?bgeNb znEnw`9<^^TVI*~yQqGSZY3&euJxQ(8*|!2PfK#WlZv}|jgT8MLq`uSx`mxK$#^lhG zw4T_my)EniSog9r9{?D!%FG4;4=o@Y0IR8)A&&<@k&IuVm*eI|$S-oy@A@N++~xoP N002ovPDHLkV1l4M(Om!l diff --git a/graphics/pokemon/makuhita/icon.png b/graphics/pokemon/makuhita/icon.png index ed89f64e4a7f4934eb9ab5eecd36905274d6664e..d324fbed667ec0b2cce76ab77813f151bb346c5d 100644 GIT binary patch delta 268 zcmV+n0rUR70^O{2OKyaIKRaJ z0072GL_t(I%jMEL4#F@D2H@Plf(umT0zDoo1DqorvZ8uOt^{o9kY;TbQ-VYs4@_MU z9)I}}MW0eXRv?2EMV4G#Gae*|RRDt?tANIVss==K^$J8j0)MB3#FtW!4zHKe&@L0& zo&|@+1b_6O8ECB6I+(faKof#~bnL7R+8o+4V+LGAMY z83D#lU%`+71DyZ^odmPbV9vL)BZFZaAcJ8XUOocn@bdk%BfH SHAnye002ovP6b4+LSTZIjb@7g delta 229 zcmVJZeuV{2_tx?XK^j~;Lfc6l+;qWrBE zpO1#bbrp!?{_K4P%%}@6c6=T&NHP1+37zapT7>9?Cz&Sj9a1P1G fB#(*mmXCa_nX-|BY17*X00000NkvXXu0mjfP}^v3 diff --git a/graphics/pokemon/malamar/anim_front.png b/graphics/pokemon/malamar/anim_front.png index f688174419781e3f22d98deeeeb14931385c99c8..234741d74e8e7663f0f100aa320ce30ea91f7e42 100644 GIT binary patch delta 1340 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 FV1n?}fUW=l diff --git a/graphics/pokemon/malamar/back.png b/graphics/pokemon/malamar/back.png index 5bfe6a9858088aab41b036ebd0fb481f5b5a19c5..de4dc940d6d0678d291843b2cfe5787ca4e18dfa 100644 GIT binary patch delta 762 zcmVVi|K~zY`?UJ!>+b|G@ zX(7l~AQVK+GNBl)fevk7AY!QO4ouIrk?1)BqeHT0iq=di8|ww^p>vZ0MaQ68JO+rL zp?62wW)i1eJM;z;;(h$@zoQuY7lZHp1rXWJpMlmOd@)5=xALRpeSUwHh*fSW!#B4)F81Po8%ebY6y~u&FEQ)+)18mJ93GEPF6 zLWxbyM#f19s3D>aKwz8%n80*8~juJI!YaJ{O2tSVSLXEo)CNEk^hd>~GnA;| z5N}ntYoJEpW(qN@@9?3qMl~Ve)>UA^mnp@J0JKs)tSn5RT6fySw@cZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(ti0>eo}K~zY` z?UJ!>+b|G@DIv&KAQVK+GNBl)fevk7AY!QO4nmQw8hXJoBXMnz_=5!uR&rn zG3hhF)et0+n9;Kmg_8&jNNg0t=j{q75g3pN28yi#oP;o?66>0cjgt^iL&R%<&^QS& zk@xjFpnm{~9UP`9*8;3-a;~U`IMDCc0NJoGGQ$~&_z}R{9VT(8vy|zlK)0RA=FvcF zH3F9a`2R(BCc7gT)7R8z7 z0@DYaMzsxH9eMzZ6gcC>0gp9r0o=Xcwu6t9<6%y~fVkCb1&P#NQw#8fv0-BR zF@L4psK>IZs_|=A0o16&ebk5ulcyEN`HAcCsO>KXSwFuda40Z)aOHd`Ywby^aZCoY zoR`p_k`fK5-h949&RvlX3BRc-lz==D_5_Jz*CbSz7D}H1S0iwD3&iCTfOuu=`|;_S z{s{>raJQcqH6Y-|{C+GY-n8}n-oACj`F~OXkMHa%COurMtFJ4-&Qmy?G);paX^87( z{bO0d+B?=zo`{r@#M}o`7FxW=(6OVxK$~Ez8Iv%qN f6A$cvKrr?jwN-++>+99500000NkvXXu0mjf_fA&S diff --git a/graphics/pokemon/malamar/icon.png b/graphics/pokemon/malamar/icon.png index fc73934b20965847193fbd22d095cd70a96d9574..b53d4f9376189d334a314a9ecd2c85b6e9c4925d 100644 GIT binary patch delta 384 zcmV-`0e}9l1J(nOUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~Sj9T!xX z0003wNkls9Bn|0I1Uqg4N_g5NzOal(W3r0RhKzbh| eAia;j0r>$PSKD6F_n)T#0000QD)AffaEaChj%B%!Cg%bXykbVt-!)e7ne=;>vC~WGnuf zmb@N<%v2SXoUd)jp^VoD&WAJb-W00I-(1M{KD`ohc?__-+tbUJTIR@&TF9V5s$>c?bi>`p`Ux0b@CspQyonfb?Ba rX&{L7+|M>XPJr}2PJr}2eh1_m9ar04inGs000000NkvXXu0mjf+Bu&S diff --git a/graphics/pokemon/mamoswine/anim_front.png b/graphics/pokemon/mamoswine/anim_front.png index dd42d13b6895a2977bf7c0e22d9330f78b096a5f..515514217710faaa4fac6bea3e4de7bd4ab0648b 100644 GIT binary patch delta 1723 zcmV;s21NOe4x0{;bbkN`bV*G`2j>O{2OlY4rOfmI00w?ZL_t(o!|j(nXd7o3#}zaf zj9*dk_l_?Yq@}w^}$(uCE zppqd|(p4ZzW(SPt2&5%L1=s)c-sxM>(5aMONYLs1-T!&+bboixFM+_na67{oo4BlT z&SQ)3UB|KkW`1$P`ixj+eEx&6Kq5}-*g%Y3$FW#XZV93BF-4~6Sm7k|2U}u!T*Q=> z6qa)*mCqlHk4PsE9LGuJ4`hBztc*rHw`A%Y6v%Jc4-pYJhE8N!tUg*j!1|#OUc}-s zkgHVk*tTskwtq%dY*#AbA`;{(0apCtFpzq*S*x*pUdmt5gB2gDF)dPuk88Esd7MQG zfD`A10U#)T{_V|dtyVveK2Tww4>b|{(KtT-6A{h)y$^B001P$}z5epe+v8axW?xwj zDhvWaWB!vy<1GQT+QJ12-~&wrXKPQEP8+Wk;I{VT{eM6Pe?vwcz})M02J5b?);l#a zHvTDT?YX(eQskXouh(71`+zCy837Tuc`|q6zO&oyw%gJ?Le)r9K%iu}YD?R0z25Q@ zd?2UJGP2MCT(`;lfGI&00;b_EbbywtaYF&&E)X<0qxE+JKohG*x63I}@PG(K0BE@` zJswd441b9hJODdQl^~u*=q!BzU8Kbt^@vC<(j=g0{DlXHDL^v_uvL$UWz9$$0Iv#% z`G8I(sD`;g7nd2>EAb8Cm^#<|E<1qw`8WXvfEzkj5sL~~dxjfM#C^a%ixPI!0}2FW zMdn4-verAm5pGBu^?YCoz)eurJ~IpgM8yN#rVk)3Ycp;X8NTsq;Hh`AMV%t5Xn=O`v4}qe z;GxTAvs3{GXcYwr1%&Yp0U?~DMPDJp_*|%R^cj(+PE7=4HG5am@usGs2?XWjh|xJP{c0>GC9UYgKv3gU zG9=|uLRAQ>BYH29Al+fC5K3Sxs*9?C-t!y9Po-i1==M&cL~PiM=`7ZJyiE;>>|*C*O&z0 z9S{=uxFbhi=D41LKANNx}xiAblCq%Rd=KU8io95E&GsU$kAR8)d93alO`m3~M`z&;-y z?deW%h+h)PP@_T$=@2)Q?-++Yw0iPZKc1m)%V z{Jq&%7d)W9Mo6sYA-S@EO&YeWaFIuiaXQ9R_*TP+(r!bnT5bZmUZwZL_fPZ+})F?rp zS4}7dv8jia>-v7-GUx*jlP`E(k|sqt(|n-V{0RDBgjJD?9ZkYcWMN^U1)#)W2RYUQ zl;prrU^$W2IShZUfRY;S{Qxpp^D_YO3oBbxK-ANN0yP;W<`L> zZ8erdKMeXq;KBOJMl@oxZ^jS#L*T((QC->Wf9(uS@X#YswI|N>(0_R5{|)FoFoHmt R>jnS-002ovPDHLkV1kx2C^i59 delta 1710 zcmV;f22uH&4vr3xbbkhfNklpC5H;O z|2Mn(R@`eT9b=>2`OSN8SF`(m*0g`&IK>z{aa!k`$1lEj9)Hs&nECe*YJNs6F+Tsn zL?D@k|EnsXpVq%V(*s4||B}9-b z1lWo5qd@xMMt{A|3I!>DMGbahB*(N!A3Unp>t}HlX#j457l(k5`1!Zjv-Nu8Eb2gp zJw8%I{73WX=ud=b74CkB8wOywh}g9kuiqZc5;6PIc9CHi2$}PrG@EY;sMi)r>USbf);x}wI0L;DWWHIk~YQCEz>wn-+S?|ovH5a4roJOPJF+KoH z*-r_GdadKRWAB~Q>2$od?h`6Uh5~41(^Dhkc#TFoh!6mIb(PVDF5r1BJ^)M!%Ai@M zx6lRJp3Y4LM0!BT>n3n!PHgM9~ML6aqlo^XT!25nxJ`-~%{lsR-gpl&&%W zP(?Y_RUjT^uqycD zM}JVmq7a6~B2|%-l!2+FeIQQPz>F*LxRf+wi~=E@Q_8TEhe?$oqE_@@A|cvgtQbyW zl+;aCK>zuT;j7Yde0Xa+Std4O#SIqkKi-xOU@fBEyS2Sbo8DxV?By?#{S@K7ndEY^ zsG$fIj2ri|&vs=$LfEaXilj;zn~AapJAV&!@C}0dxhnhxVS$g^QX3t(pV|OW90P`e zIpYC_gPpYg|MAa*?BXQ7P|8>~ujY;`foBsri0l-%jtNv7;|9^RW<_l}+eLAtkmRkbfH_ z#zJJ$Dbkm!a2_Z(7!5Hc3h5LotX5S7cN|zbNGbi0l7Kxv+S)TWx2o_XxC6<9J=VFk zYC(#d2Ne)$6zaG3p%B%ybeu=^FA?PKjB)Z? zF1~q7Av&FQulWz;h+QB-dDH1+5ka2>%sz&oydeP@&`iMmeGBpgH+78cq7$_#dpXMI3P4h#jB6K$VC^XCdE ztL8okAO>rF1^|9x=Sm8Q`Fc>KB4eaHI_W{_v{236EOXU(Ga^rb#k-2q14@3&QWg|4 z4b}znXstT{Eb8_V0!SCFOMjO74pD@i&8Y~gyDETW&RV}tFCTuU>kqh9)EFaO3rdP* z)h5r-zaZ{UxiXJMN|d9hp8M73Sh%JL-ybp+ZlU}40Fm9Hn-c)=2fKn!FR4KneG9_b z9d{$J9F&kJ6{s-ZA2O&)h#hzfmXJR{Ae0f|K3JBj(na0w4#Y;5lz)Qc$Z?D-lz}2l z`xfMTl&n;wu=AE-T;63t3RsY<#7Dh|i)gPK^1I6{D|`MhO`aqqeg9Z+NCF}6Wu->S zVyI0yEp1z3W9z0F(Zb1WGFc2uExZ;t3?tap=-MF$gZ&f=vYox9+H&}ZVSmu>uPv`9 zHwJqAh(Boe?}*y+#wWmuQGWNd$tpET3 diff --git a/graphics/pokemon/mamoswine/back.png b/graphics/pokemon/mamoswine/back.png index 5414fda62675a987c4f166836735f0d2a69e6f61..8519a4ccc84a4c17821721a6755bd78b4d159fb4 100644 GIT binary patch delta 408 zcmV;J0cZY;1pfn&B#}W-e*gz`Nliru=LQD{AQ#3O`(pqA0b)r+K~zY`?UXTV0znXk z1v|UBkjCyVT`FZe3D|5A&L0qa$%0#_u+J64wE@BIMBT`yOPQ4Ef{?!wNEZ$^v!@Aa zW=$V_?fZE1-WFS{9d*=Ee@S>9aucrrQWpSG1tc*?)Z0*LO>}}je<_NhB(`B6AdV@c z*z33DM?NBH?gqfNVt_M|>_kjqSIs4g^DV!z=fe^)dn^tFAfil9_z9Z;lyX{xF8Bb< zWbX%JXa|7jLC#ko zAXoanm#Pk1!9N25fA+?zRsa|gaBb~k15AGbeg6#B8YS3{9>~m4TQ&G#I|5u`mJY{C zb;}kHEC`rP#=?~^Tu0hDLTT=VbLHxt=~$JJ>BY)9w|Zp(Uqa5xH;M=V3&cy&r3BYu zR<57w)>SIF5hOdp?m+dr2N$xnMfzN^Tq^|9UAW5{*3ME(I|=w# z1UorcXD^8)$878+uYDhH-kad0lTP|m%;}gLJ9&^60|;v%jwqsa1+_Lr&+DVYFpMMP z_W_~^GxA2iJwJ32apy390QMCDT(I~cVgZNhtQ5Q4^Vi9JqGMfxC)aCh?fRVrTnS!O9~j{Q zmP*~QJ|@^6u@dT6O>M258i6ts)jtY=DVX!W10MjjZ@a;NP!Rk8EuX%xFd!x800000 LNkvXXu0mjfBmT6K diff --git a/graphics/pokemon/mamoswine/icon.png b/graphics/pokemon/mamoswine/icon.png index 93e673ad633f9cee68b52692df8338d5b3012610..012b943878d0df44ce06d0616aea2c24344fa5a3 100644 GIT binary patch delta 429 zcmV;e0aE_i1A+vQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~YqEV#RB z0004HNklDx>Uebc2#Rwe@=A7eT`Uz@Rm*OjQh;+#d4*GF~4E;_u zRKdZ-J4nXsUFcmBp?m3V_wc(v`P~!8`Qt-M*_|U|i-4XZ7Jn9qaShfsz?kd0tq7mY zm|{(Y_vZ?*V*~D=q9{_ptbs>-IfyJo%xePW+kSZoH2Bm2fX->MxacMICcLQ9GvRXs za-x(7LvuAgDv3_?t^&vU81VdL7t*dYz`1%-fy|E$0C|<{GMvV-y(&Bm87na#_y%}_ z1tk{JHX_x|?SF#mPJ`)f&4u$n2FUKGfGTv|BC@RYC>lR{U10N}RSqY5h?DjtCE3KPEV1Q|$P`*o`0DyYU0$uYP<3 X#KG52g;&+$00000NkvXXu0mjfaNfuf delta 387 zcmV-}0et>~1la?SUw;8)NklDx>Uebc2#Rwe@=5>yP=_jaNU5c;J zA<`u;IOxX_GW0vuPz47QFOZDaOXyt^p?m3V_wc(v`P~!C`r|`N*_{(ni$FCe$_&WI zHCUSfqHWu)h?vY!u_hw=a|Q6&fcvK)2o%t3;E`SqdEyhLHGhHPZNI#D75J|Ob+7EEj6>pjQr2P<1xyny04S+kh%uiddFn*|iC-)CsKLp~GI({JD h_#vDdKS2KK$2Y{m*G`9agR}qu002ovPDHLkV1oGayO00? diff --git a/graphics/pokemon/manaphy/anim_front.png b/graphics/pokemon/manaphy/anim_front.png index b9934eee73baec59eadc80afab340551566e67e7..a1d3676e9a21a6f7a517e931d4a70f320a078bb5 100644 GIT binary patch delta 876 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 diff --git a/graphics/pokemon/mandibuzz/anim_front.png b/graphics/pokemon/mandibuzz/anim_front.png index 701457ff3b9e2156e228e6067d0a390b2b39efd8..6d211ba18a7084c9aa09a315787ddcf6bc820db9 100644 GIT binary patch delta 1434 zcmV;L1!elw3+D@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~fGPf*#? z000F_Nkll*O6o7ds&`ARyO^HfGhu{Hi7Y{LF{{SNAA0XJ;qeaRP7*GeD zfeeOc1Nd8;i=0E*KkLZi8=zMCiA);op9bj z7+uDg=W-m+)LGz+of#IlIG;D{gUP_P`f$|{g3#`XPWa*hTutY?G6eyR@cDy>_c}1Gh2G zCwH{GhqQZ8XsjA8v^6hK$b%2MRi0i50jkWb@qY8MCO65#k4Oc~&)R+WhuY?nba8p=u2 z^oCWyMqq23qu~)7o_R-XPp<*aG7#p8jpdYiCV%Vd)eN?i+QRgN$!zl}uqUV05+@@3 zhD=-RF?)~crU$h}$^mahKFh;P)nqYL3^P^d@sY)~3@rq^hQ1|iOoRC7{wFGxwILy7=N8=7Y^hv6IBIJC@t-yq+5p17@sfnCql z+x-D(n`B5mFxm)$&wI5ZUK-T&q^CS?4spit%h`L{oWx`&XY{Aj7E@vvH!N zpPDu1`D^ZkjX;!3%4HY^Y6lUq+y`qs2-TlHI>?IqeD)C3m#2e3Y%Q$W!+#v5#RzOR z|5_J)A2mf+S&Zzf=peKHZ&)o9B_i+L(m@vBLhakTx0vMJ6`!AD`@e1i`o6T7#D8eC z7<3S{n9ZgQKuP)dzG6z`vteKkX))DRk}rmV7E{xl&S%9yeYjOw4E;($?sAK%0ET_9 zARm&Q#vDXS%h@@~-J?xK5a5fWGTtIEs`QBx12Cw}0Y7?kE)YcNSCi1IMxR zjf#rtb!4u2U#MS-K* z%_L|j0OkoWc8D5NcNooC;@&blI%1$w6q&@ZBlI|Qk0a0YMk+-B9X-SZ+w^{ax_7Fq zALOktb+YFz7=XG0^v0ObDgs|<|`Q1#%Q oKgfSu{h_V1wz$Rr@Q42ZP!kKxq4@y#<^TWy07*qoM6N<$g8kL4)c^nh delta 1414 zcmV;11$p}C3)BmcUw;K(NkldnG%(VHo*hhE*@&c`2a-D zA3%t;M~jppFrW@P0~rhzMa@n@mH_G2kHDFOObP$)ghV zycl>tzV~>%KR+49HxFok1)whM2MA+GJZi20KpA|;e{Krn^M8!7&hTkddggNKQg=8W z>oYKBa&Z+v zsRRfZM9dyM98Ip$rfDZaz}q+CDqJ)Gh9zcySkuiuK#ffpHq>ZE7@p1`T0848J^2L3)wufLj2$KK zef$l=e?7OI6|F$VRGQ2-qkRYy^+f`;&DQ^aFSqXb)PFL5MMu8uiss04d4ZkRm|z0KQ5d!}N{U zIDhPkecK>kd!D%aqJX!ayC;S62VnaoL+JtCM-Y78s~zH{!AwtiN`r(H0)Q*$;7M~4 zlb@ZlAM}=@26Z{+_))i@wk0~;gziMlnh3)jP*B%*gM+AV0Ypq2H6|Z0o%i;nKtZ^K z*FCkm8v!x;v)dI}bjya(}e02m<`)C^>;Z z={1RaTsVr77$jo3E?@t|h1^jX9BwV9>IaTv=Mxnb;Z%6}?euJ9TyPXj2uK*>Qrk`PDB%qancMumX{ofEwN z;MPgA(oYEdawr(Nq6|*}PC5vbXMwt*GLS++a5zpyVo1NJFdUu@&-vLPt8Ogn76}Ri z;T~k=%}p2rDghcu;V_j11XPpgI47K=qQGfwXA(3N0P_quKS7PDJB;BhaDQ&O9i4K} zDT*pW?Fc;%-Q(0Vy`fGKpp714f^B-gJvn%)JwM1hX|~CMH|L-e036*HcsvqsY<7k2 z4EuguoUkyN!b@F-!XMN-2U-Eh{oxmt8XM5v!CQY&|L*k%ZLAou$1Qfq|L})@0ZV!Z07*qoM6N<$f*@UyhX4Qo diff --git a/graphics/pokemon/mandibuzz/back.png b/graphics/pokemon/mandibuzz/back.png index 9d93a03cf8c27f98c91397aba5a2a355ddf308a8..f5992b1972cbdf4ade897ed2b8e86f6660203de7 100644 GIT binary patch delta 545 zcmV++0^a?P1&0NYB#}W-e*gz`Nliru=LQD{Bq43gtNs800qRLaK~zY`?Ub=@!Y~kq zn}vzNSBaK_5rUZxmEZ}Q7pU6oumn1?H0@MnLD@Q1JVxgX#LQ-3CzW^rBA6Lk`yh@9 z2}0`He{hET^qG96%y;X+by!-xIJ4XN_JC$81 zd+yEf=GCqHng!a(e+~mrs`vak@Z75Zl?E8O@|4_7)h9YYnHa2~%5MEhi zymfGyp)MH@-2$=z-9mNPYmOP!EOG&o1MJ>H(!Y1?)V;(Zf5`e`3-A}rpB3d*78ahBl j9o-c$jSu2q7k}3;9u)6N$63;<00000NkvXXu0mjfj&S$Q delta 551 zcmV+?0@(eB1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?UXT3!ax+q+r^2Y&jbZILSWW`1U`ZN0!F*TQgCFkI+-q{o1@`lICr4Od<^W=gbzRi zGlRZ6+UrqTLgMOwXovqV|M%YYUA2FmuM$I@0xnyqQ;6OYIzhm>L~vo-z5F73;ugSp zv2*>I0HAY!?KoG*K4A=h2?`z4M8L^bDWQ*|mi1(s6(mNzJU<4YKgbY?&lq$qvkd^8 z07C-OXRK^l4`Z0X;MLhpH|Yctpk3?1gUJop&d#4IGhzr8kMd*N>%ZNMzwtJ&KkL zTjWjX5FGkU_))Z`@Ext0K5I2qg0E#g{6=6^5AnSwe91EbA$KD5@x9_(+zK)QTubo` zS7Oi82z?)rim!)%8UcBL8X+shT8JH0A_@Vc0NCG!w1!>?H02O^0LuV(nHD&38%ThJ z^CMuEbSZ9y1m?#8zn(B>VRG0C5F}GlMiw$a-sj}cCjbhf#v-JIrT|R<5>L7$xLPCy pnkqoh7wHn1B?s}Zze>}70Ui|ZN)?!Ay8r+H07*qoM6N;tV1hZR^1%QA diff --git a/graphics/pokemon/mandibuzz/icon.png b/graphics/pokemon/mandibuzz/icon.png index 345f6359cc22c4b6e60f7df7936369bf0ee6e1e9..58b9da75cc3fca4dbbced1dfcd7e98e2e7abd607 100644 GIT binary patch delta 52 zcmbQvyq&pI|jh$VUe+A?8f{nRa Fi~vm?46XnG delta 27 jcmZ3_Je_%h3NK5#qpu?a!^VE@KZ&dp740^*YcK);aN-C? diff --git a/graphics/pokemon/manectric/anim_front.png b/graphics/pokemon/manectric/anim_front.png index ce1293dad8c8085618074c28e1ec675e5f832120..4a1288465c98ce2fbe6f4a11018847250631a13d 100644 GIT binary patch delta 1223 zcmV;&1UUQq36=_wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~lNXS)LF z000DeNklzi#735XP4T#F{G+5}j*gk_S6TB`@^=B-htFvT;|+4aF;MB)3%I zf)|IHA`hT8eVR0ZfdF}cyg<^pNpVP(XUHr`S^Q4~*Jf4DPk%GByTkoHLjJ?j2jc2t z0I&xEx4(wUh5>I7nD@j-Hgo;HHdhGrwuu1m14c{6{Ju7afeQ)nZot049vSDIP1vgn z5H?R~#W2SUFso-$UB-ekkTz~o0-PVZ+}zawhv9OMfFf!&Mn&9t0Y20YnlWxUoR14Y z+uqeS!7jh})qmkWJ#=}ptJJXB5`KF6wgk+eybp`HXAiKu#}YZ9lG#3~%+k%n^B)2M zc@P#M6FrLISVQ6G7>=zoM{ZN~i4y3_7D_3`LWmHYOGhS9`CMVTBFas?zukO*=wo(H zN)BiOVEqDUQ5peA;FLIHJ~x=Y*+MymLMg!a2pGC!Sbx63uC{Or)eEE3Yq<%JJCjq+ zuE1K9O5_(VBdHl$=1SWI!sRr1{9qw(A_g*!xyMtjR3aH5uFN z^$tMjr{)@OCT;&+6Xz}H+3 z!dm&XYdeNWJo5AJT#pjv)u$)gh-<$*J-*q+j~rEpzG}wh-{|xo0o<2Y-}YK7lzjEq z-@j4XBTJb2=YDOa%8-74_8P2U4*)6~0Bq)c7BCtz2vXkrfDyC%9mER7nfL5-#J-m5 z?SJ)G=mSvQrFwhahq%fNM5p|(a-h>6;2E)A1EB_PUZJN%A@6$ECbPvmO^p2JT>Nzb z7K;0iQvEvsjK6;OJE}kTTYJDQTt37Tht*^PSURiB3hIRo`nnw+C;0 z@4`Spwe{+Qt_5r@Nx+E&z+y0C5y|Tlx!>4M@vP(nAXDAp^`bTvxR{E;1zf z{7=_)Nt^ES9gE4ZVwXa4%(($$?bs|W(I?jTheY1rZ lPC>bM3z{P zfSzOtfCNs7H|BGT8JjJXQ&7_c_=JFEc$O1d>}m_AP#u^#y_TB@xHmcF>P!1oE`+c=#m%Sn77w6X=`eYjJlbQh=Sj8;hM; z1y00kp;mtZTzIuFfQn*0!UqX>jSpaU04xR6KOude0bnA5#y7Sp;#*J|{6+<8<_PY> z;=bSV4N_q%Ac=2z6!E~&>xc;nCP}9^S867^q)`O2sSxkRFKpwqzeD#oiqbk01xqxmbkoA~qAvmg?Q3 z?y^E3fa)&QyAzP&Ee%Ac{I7DL(;wg&v0ekAMSfnPr$iy|9l%J%8SgYP@|*MV*9ABz z?mtNN?*K6V^389k{yc2$0k?2@pMH<(zZZY^d>yQi)b8i!KT!RT_5hcDFd@2wulT(X zHGm#XNOCLiQIYCjSd_T}jz&jMVn|Z&Qtd*U6RM1-UUEXzh77#iUwCt3DPU8!N=QI) z3|>ek3YcxnTc%Sf{(MY~4uEJ<{6lLTcp;5)p!(V>^|yEsgx+biM5kiRs_(U%+k<~s zVQ^s~pt(l%LDwU;l=k3F99(e5#_j@L%(?`ep!%baasY1GHDeQI#1*5ItG{!G!n=#m zAiIkgRlE$)gSO||ZA;-Rc?^B8-Dv?hyatG)xVzF{plm=^ZqnSRz#bG}XK^`>J)}j3 zU4H+km9RY6=|kRw%FuFosh#BZU?+FoLEG)7xjnFBWiU)~+XR$7nBG`&DE73=9%wgL zNSH0EwpV}Wd?(Fg)@cuPJV0~@-S(gWTJ1prpt!dsINAdg_s32^7>NW#pMRK=0sml< p0skN!O0R!d5BUf3zkg_1{{UW^#?qs&D4_rV002ovPDHLkV1kK5Fq!}W diff --git a/graphics/pokemon/manectric/back.png b/graphics/pokemon/manectric/back.png index 9777f648df9f61bc8dcec64965a0d60c857b89b4..2ca64c655ef4e73d2df0aa11c69a9653d62251ac 100644 GIT binary patch delta 597 zcmV-b0;>JW1-k{1B#}W-e*gz`Nliru=LQD{CMLn2T;Biy0v<_3K~zY`rPRT0;xG^f z;3iV`oRElQZ!Iw^uHd|Y$&?4E(mT0yxweP8do)^AvroW2?v9;=7_ecbTH@qSp5M&G zcX$82k{kOGk8gnbtDvcuHvrrO{QhbL_$puk_39Q_Ub*OVLm>6ve+^0GF(vS>-z13VZ~@W+(^W2I zt3T(M!FmMW2T)eULCS=&E>G?8mOb^t_ jgmwVB=X8O64Reow64LG0(D-UQ00000NkvXXu0mjf&XpGa delta 610 zcmV-o0-gQ415h)eunLIOuajKpH;Bcm-5x zSYy1V{+fl?(L56%;0C~d3{Z=Z0yJ6zg6kMRYL6@oELs4nfC***k_osRH`W4uEB`uT z=l~D_K$npb4?aMDCF7B%WKSMMw=5ta<<&J}0qrBn#Ba_olN0NfEdmg0Uiv(m60AVP zKVbl90M*6kid^8ZMBHsJ0Bh3JlI>B=E>Ds5BOYMCn|)paQ%3`T_E#3pO>7XaUlP~E z1{2T99Sz~@yCV{RWcqUiGIs)mABg5Bz&{}3ZQ??}^aQN^Kw9Z7fKJt25Gb_KCH&ZW zJ?J19AY1y6kr1Htrj&Z|0{N~WVDo|sl^^&(REf@G(M!aR;h%re*0Hb>G5zK}8_BjW z<*SvTX6#(`=vOy?AeWO4SUAA9j}}n(^3^C%bMCw*d1pbDQf@5}*Usv5+eJ(Xc&9%W zFj>GAkQSJ(aw&KEI!_p^d*FKq%&X!kWkMO9o~^zxz`RtvD)9K0?~+G$2F#2FP5=-~ zH~cd(;fXtu2$8NN=Ma7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L~q<5K=rI0002KNkl zmr$?_nt>Dx<0|YX#@0f?ba{lp|9qvs>PT}3j1Ba!0NendwVk*?!Uv4yRqAp2wE%qR zC*)87(O9Se(HYCx#RU!>+LQPhc(++=9K(KrEgiKZ<~b3N(>M_KcFCI13<0Zz*<5G> zTOboroe=y$;;WV*jX_;~RX}EpQgs5W&c0Lxa`SENQT^!o59Vz!(hMdjsar}P-Nzk< WL9l5oduRFp0000R7i>Kl(7!O zAPhvK23H;|?*IR`XCP4p4lEry;4GEyaW*#faqJiZSm+{i0+MC`XfOjHS<;mw;z0ER zU;#mZdL<&D88kpg0!0-T0+t&AuBti!fvWZd0ezq9IdY;!-&EJne3~bM8MN;yn`jKy zsY+e=^@N$KpQmnT-qT?$K)FaR1`>{qiF0lSA;HpJZYjcXRH9rm94o8vEAq!{=+kXc zl0O*mAlS>v!{k8{i)Xod*gJj`dx7i)@(t7lg2%B{0`*@U=-$r%+z%g^%M?*AMLQz^ O0000 z;7X_`sML$RmL+TG9H}CEm0;=Jrc;+5qf^w&J&ZAd;3SWswa|xuOb&;=b=?D(ZV#A$ zgOxDdcH3dLb=zTTG<$$EF0GiMfHQO}wm9~@zXA@LGg7euoCqMce@?{)5HmEy3@oG; zmVpI1L-9ccat7|-Ix56D(!l_X2x#9IVn*1Xfsp|o#A2lDEWTE}90D;z$4f+DBoGb; zAZ6%y5VJg>k-G&58G6o8rUL$;hSZ_}mJYfEaH4#ebo&4(qXyWS0j5;|GYEtXJ(?x( za}c1k9EACCpZ;T7f1bguT>?f11~}u^L!Obc=Zq3qC^K*($TJl0b4ExTYXCQZEX~wl zOa%g0gL&a4LdHFNseFxi9sKM=K4;N_GSr&k4JiW)sfEqJf}Ej$@<9c12JT;bD#SU;!3c~9Xg?HUM%fN)SlX;FdjlJKA}04L(Zl-ox@87;uh z8DLriFoQtM(4$#`Fb4rj;~>tD`wn1E;~BZNFTlvaK+d>2;29-9 zW8nV^U``ub09Pn2LYis8SPBHb1@pp7#EctzQhbeg9enKrpR;N~8S7y55!h7#l%X4N zFO_4!N+2x1cSAGhkpl%Ss9OANf>7B6swZ`1l}@0V6I%=w2;bonbaCVE9f9;su?zxm z00Piks9FqD1$MevS2C~}_yUF}W^^wCIspZ@0w!#+01pK|4?ldK_)`Hjg^c{9x(KF^ z{$=3v&~PpwWOUOTx+eoucxjG<*E>c9a6kM3Ad8@9D72Br00000NkvXXu0mjfuW!|7 diff --git a/graphics/pokemon/manectric/mega/front.png b/graphics/pokemon/manectric/mega/front.png index dcb98671b90b95ccc11cd49e7b112bcd1f0fcc00..0bc6dc449a7983064c59e74a9cd06af0d32a235b 100644 GIT binary patch delta 866 zcmV-o1D*WS2gV1GB#}W-e*gz`Nliru=LQD{C@jCom`?xz11U*FK~zY`wUsez+dve@ zC4>hLfm(GwK$YNGL5`^-Cne}C2y_To@?I<-WbQ}k7YH~Qf(`lr9YqFnE*U}x6N5iM zsh2>P;z@Kc4qV^eN%Bbv$rKGXdjFr^|GlTXlcK!kRe4R{dqp?Qe;4ys3{(VE9(OX` z$*Cnp(cb~I@1%MG@Xi^a>VcW+1qTkOdX0y<{tU3E*8-Mzw-%t(A)AHQ1^@&I@48GE zK;>%&^i|!cvv8s(UYSq#i_QUa7YQ8zwPLtiK(BG&0AZm!(2_ihN-fZhJ>+_cjvTe> zN}Z@iaB2Y1PIYupe}!5y2UW)i04Mc_tIle5BpsbXw2|p;97wZbItS`ofc>Nn6>gjd zylhsW@1qoOQ0@{5RG}kR2HdTKT9sp7a>Kjn@dVXe(zXl;2hFO>gjaOnh{c|@cu=By z(sDTr+8@6$y(hFYgsxlw{B#hgeRTA_j$E7pXG3f%elHzFf2Z~1Pv65BCl28t9O6qK zCxb9LQ%e7V0rry?LOUE@3~-X5)ag^YCQv_4I{}~(HgML)=NWB{Zqn*c5e}QQNgLZX z?D1euq7*p9y|5WytnqeZXf}zgMzUC(8$1fbIE>{vSeB{b1hBgo@#1z(8`p)+on&xG zx4EW^4Q;Lqf53qNY|@#mDO|Ug&jJo1WU>MMkrvMnzF-}j0go(0Ts&U_VZZ>o0AN5AK4+n`rD@OU2u8Bt7Ug`Ouv1ZIx}b5>j;0K_3v*SdhOuwiV-O-@+K^)N zDenP*71DF%_akMeUE@eE3fZX)rdozGC7b6qKOho?ZvpWnl(VL*K2 z3(tk@;i1-Dm#s11|LKWyqb$GAvgh_1JxEZ3J(uii8PHlojQcEJ^0I?xyalvlvW9KP z9L6)`SXRziaA!QtYB*W0ehqPlm$dHf*l3lUr{ sflRx%w5Oj%>*U0I`D1EnZ}5fx50JK{3@n_^OaK4?07*qoM6N<$f_FcT{Qv*} delta 877 zcmV-z1Csp42h#_TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um11w2IK~zY` zwUxhX+dve@C4>hLfm(I`fGWYW!a1gnoP?mWAkZOT$$PPVkhyU}fO3l0KM^_mC^eG9Os*ZMr~Zmo|KhjbQh z8vqa>yz6j10xF+UV4&(oorhyR_DX%aA9VqkyExJTP%DO$0eVdU2be^<4K2yDsMPwp zv4(7Bp z2#Fp1p+6#59*GBkVRWX9{RRW##Vz=jKe`-}I6f)_i*17FPAi|GJQuoB77j0g zk~e>ZUBiL!){8tBvWJUX4_&^;Jnx$uy*JA8^DMhguhD}9B{*~Osg?n)H6mod<0UtJ z@k}y6JEm(mcHChy!%pRb2X`jZw1$)A>idXvM2VY7>o~)5wR%bbgqBaDg`FR(U)Oe2 z0$LtFWksSWxLg96bdR)`pG9O{2Pqn9X*`zz z008<)L_t(I%jJ?WZo@DPMSTO_sFSotOFz&_xnzF-bNCCK4XNpN0%jfPa;pnV8#>RJ1?$rN_ed5BWD=@VDb%3Da(b`Qpb-m07zqRe0000)LNy0rLM6Lw|gsW2u+?!>i1xeciK+8Ql zry2gcFPk2qNjPD8=avBT?~$3y6;Wmc}2R0hD6NlXE0R51)Sh{`S!bAaT#EQ2pocKYxIp zSNQ1&s8ZeA>#H(?l@RWUr%H*pSJk7?%rd)B4L&If{1_WTGOJEH^f0u5NGX43=UL!s zjq|P9wiJiCK(!`5j-yE-g6(>~#xkU(YA*`fcKB;+b)BksSa4RrIUSZ4&HGlwvI-~) zdngoRx`$@9(yOk9T+K@Lz!;pY7q~R99~H+A+Y6jxN9E9jJEIdhz{;w07?~?zCuMGy zB-~rXgrv9@_RcjkDW z;ckH*!%xOS$8VxECT0E!;cctSsDHA*km6Uv`s&M{t_3+l8J6=ak(p^awP3 z%5E2WNyDe?cA2(E!GzteplHGgyTjNOsBXgUAac2?rtBt99>J8|#JYcnO^zwM6L8yO z%5LJp=8WBW-?)M)yGL#L*SIyYndKz%XZr^1(Ww-aTowD2C+QppRZiHmUZqMrn zGj_Z7plG_0-50Mt&Tdz&hY>WcMDrH1ya5%u$U_qbpjU zJ-|jbiz7{Ef;skp##LQ)O@;ozu?M&;c+O z+a6r~1HBp%`^c~Ufy(#be`R)D%5qV#eK_3k59_;s_;1G_E}R7|n*sgi00000NkvXX Hu0mjfAI7NG delta 907 zcmV;619beh2hazQ7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R15QaqK~!jg?O5A# z;~)&REKrwq|Nnbe7r@{eL6bgoX03-zGC>F3;jnFwJo3m-3jn;Qzwi4y5Teh5FY5=@ z4=)2C?63!xg3vg#<`@QG?E-)hRSQKuu9<}_Pyr}10$@boZ|i>HUI8Ey@P`V)3E?Lj zOByf+Mxde}v1n?4vR#1edki5K5gd+$qG+zh2%t+1fZ{0tW=T%A4-ko?*=iRI!cB55 z=^jT_x1tifRzC>9CV7J3mK*Ob`k~jS5GaRN#L?F!P`qv-a{AEU-`0r99~U#S0V@Dt z0Qe_n49zH+o;1u9KsF2vz=7vNhMGfEfN958=Tl;U0DnJ!41h(jXg)H~N;n;#pGN|0 z0HQcGZ!Ofdlny+OBjpg10mKymLm*5kVanzh04x-N0)QbXgj!=itLkJ#A?6LWDX45- z{|6~&ucc3uTRFE6DnkTqMBeeDf3BBa!Z2=WEYa%p!)d`Lu|Q`ia0t~!9@7HFx)gOj zc8mPM#yj$VHo#x_6Vxe2YXb+aK0-NR&KV!kN?G;tfE-AUa?>($HgH(16v3Ly(U%jl zomw2vpjkwuIx3xV9i1f;&ZZdN zb$-U#3?LsvH{5y3*)l-H0e7BrwkkTfS_Mxbrs4K|vUCXP`BJA$MLPZJNS+?wpHcju7v;^W>IYWyqbSC}{;i zHoW0~&KK_F>x+El&MkR!WXzq(zvnjq1Ma+f;T&-1_5138JFlu&6Gq&5#R88zF9_7E z-*M+{PXEQ}3wNfb31{>_PlT2`GvZ0xX7pc{n8k%Vb3_=RIx(aFWY3*-zytZZD08k6oB!`Hu@@>$ht9spF`rT?0y=ANPDh{cykGx}fBRQ1K0 z@)!wa+`II@e?P$PJT?CBHpcb+pz#0m_w+@ye?O@7-`Bc&(Qaawg6|+)-w*g_*x!3U hfam?-kw<>N`~wtd9umkLroI3G002ovPDHLkV1oCUs-^${ diff --git a/graphics/pokemon/mankey/back.png b/graphics/pokemon/mankey/back.png index dc2e7c53a71b3c6f6dc21179123343266dc69e59..c10eefa25421ceabbdb69db3bedd00455783d547 100644 GIT binary patch delta 541 zcmV+&0^|WK~zY`?UTQ5+%OEr z)m+e33F-$Zg02M|sMUH1EMyBh$zywfYmU~t7FoS|lnorB(JpD-N&Zv2FOYA$ z)}Od-B;`7QV(s4b23t559*89#K96y3Tif;)&IFLh5MF=aC;H2xDhmZQae&})Q-5(o zdt$xy0wWO^BJlD@e@SBvzXA=&g7G&5{3dSkynaAs`^x7dU?6?dp};NPX9nQ2v4g6i z;yMpQB(?g609^6`e&Q0pBT$5=e@Ze3mAA+A3c!`vrIoWWf>qYm|alicat8LB-WBJANn8HEJ2 zo{nn5ru_!Y=si{Fk;(BV_~|E#W0Ij;tvY_1oErKE(8VUik%L^lX8a^^sRyw#5cBU= f!uG+u3-uRz6R2!u%OCbh00000NkvXXu0mjf+qwJ@ delta 553 zcmV+^0@nS51(5}iBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qRLaK~zY` z?UX%k+%OP@X|Iu%F`@$mM%n-hn6O#h)VSp0T}uLe&7+mAuygHQjbyMpz!wCUI4fp9nKS=Vh4Wys5}J| z2OtqlwzlZoCxt`bD1m2bS7iV(0r9`+m~IGs8} zvzJSRJDjK^lYrLqRZY0Gzkunz=L#8_>_39vex_+nGIX$!nGS`4{sJ^p2yx~h*Y(*C r6OVcl8w0@>l3R=8|8oD982bZysBC5B!>?EX00000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~%4ol}RW z0003YNkl5dr5P)X@bm@pd=BiFs zP_7RC5oPGsp{ghNba%cxe?t7B!<&DQBxnt6rl4_Q34X{4u77-H2YoWI84_CSeR@CknyO)cLq5#_0000 delta 320 zcmV-G0l)sf1C|4jUw;81Nkl5gs41n_no|*a_H}t(abuCjR#t3wIhMR-R zd^!tWpi4&t3a&auht3V;M;t@94plwDC)=@;Pl!Jhy!!`9g0{eB3L2M|;HRA6!Y6jn z7XwQ!PxYIEqM*=ZDC>GCxj2Thxz$<^CEccY&h_F5c2>o{^M6q555#i`w*WwOjnysVIh0sQ1eJ=*IIw)!%^kqH zkrHO&D S65c%k0000O&pd(0YxB zm@FNW&e@6x*;+cbYmxtfV3p3H_;2Vt{k+pD@?4S!f#CPucYoi#yVLis(Rkp2v09sN z+D@-7kL>*+siQFWUHYa5pg1n2qdEdYDK&(j+J-NFMM9acjLkd{cprtPEvVUcE1BGj}Y5(Oe4DG@Te z{`hkSIF(D(wm;&QdrZq!NGMdc7e`MwU6)E46Pc=JcZa}`0(|L=Tc*A5`r`~B?NqZf zu|K#h5(4==n~*z$zu^q>Q!F3j-LJ0uodH_2su>y$Yk$*y%^18{OI`#E@5>R(yS_J* z>J*2M6A9F>UPYsIR;-~CuzSJsmpLFT<=Ym$;PUiS6qYUpX;D6=^XLbkhs*3!JfnpK zG+%HClU?TXI5i%#Jd|O5u_y#2=PYIz4%3}L(HvxKEE56g9-jljm`;;2&gW6M46Y&H z&kiz7Gk?W6+owqG%8PrQ&vG&6lkyFgQk?HA5pr zp5157$6(DMg2Wy3#_~_4HD`d0yWpnMnnwVDmO8u(g5YoNugJ}<*#imsR(Kn*xXuA@ zbARgw0LI&4bbGT5u5x!>9Sn3! z*wTJs%^vCLJymMv4{~d6>P$pcx1U+FPI~yT3>a`d9wLX$^6O)V?`;r~_DgXN(#9eV zwjGD62H$oq-4iP07*qoM6N<$g6y@>n*aa+ delta 972 zcmV;-12g=y2%QL!Uw;FrNkl!r>h5tn`)pDUl+HmXB>e@s94M~94tJLVkjkytebz^S*PSIjvej)0}nh zHLoz7Hr12hG5m7K^PWGPDt(H>$3g=0tItAfp62IJ34iRI^ZZ2y%u4x|!_K8V`xF%k zozNzeV=|9!u)bTAWkiy;e0yyC(*74;8FCV9?-!(QSAU{w!xag|CB`9BVo-dk&X|sHNUDLQ1DI^ zimln>L<#7`O-!wM1jJU6u;ZesHIJxLLg&k(%zv7}l(np0ryF1*eG$(lz1 zz(_s23&ZeF=C8=hta%6$tc}@i$m1#l-e%Sf0LGiM==ORUUf!g@ie$~(6nDGPZ1z*i zYkw;*b8EIJZsBPt6@xyGwrT*7+^)@o zWlk4hfCW@#0~$7UnR934nN$Ih94Hh&?Pyaz^sxl}L>es(9|HC1WOW*jP(5Pvt*BC zGTl>h$`zp8(?$aHs$x2L-P2o9i1)OJ;-0C8=3}p7$n_9H%)#dCNqCAD&?!0k^9I?3 zjTdnM%3ahqC?kH+VK)KshOpN_OdrXM21Vtg_yK`4rP$>{4xZuw0000-2O!Cx0QAyaz<#)g;0kWe7EC=#Eg!h4-1L;j5 zN+5*(H4qaAf&fy}Au=F;C2pZpAzT2sLIC$CfSgIXk}X^UT;T^;888SyQNXqe4ImYm z33Z_G*aZN6*POX*8z-Nk69okFpayIXhYCu2zZ2<5;aSH?O9!_^>W>y60q_+7(5sYC zPzgLLXsKalFnfIli$@hM6-u z6~MpGQaqx`d{5aaRe*X=8w%j7vgx4pfNzDt-ZOvs^q#SYrem*CEcF;;DnaJ!Nd$}* z&^g)r(+0&v9`VE20p(8W8x#v?9UdkiT@dyhNckgq(V(h)5MB2TfitDpZgcM!00000 LNkvXXu0mjfl}@P$ diff --git a/graphics/pokemon/mantine/icon.png b/graphics/pokemon/mantine/icon.png index e72507df9b54bc7b11cdd7fb258bedb2750315f2..a2b404ff5611f1f08fe1bfaeec38307c05fbd9df 100644 GIT binary patch delta 308 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 SX5a?^0000O{2QMxjhi{|+ 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 P00000NkvXXu0mjfBG;-A diff --git a/graphics/pokemon/maractus/back.png b/graphics/pokemon/maractus/back.png index bc83adca5ccf5e6a8a9173e177bfb49087baf7bf..4a6107aae75f2ee2e9f7f0088fed72a4c9727280 100644 GIT binary patch delta 768 zcmV+b1ONQ+2IU5jB#}W-e*gz`Nliru=LQD{F$;mhgggKM0?0{3K~zY`)s(+$+dve@ z&tx&p5_xGB4>>4gXuzOQInI*7X(*+e1t~O>K`L}9DEI`XAett674_5>DtjqtQEoD1 zFtN8nwhnDbz{~wFeJ6=lKhvd4-yqKSK7QYK-+K}v`KT!hsR&H1e-Wb4t+fi^Eu}~_ zC>7NJ-B`QEM+HzvfGUF0tshFHRtS(p^Gd%~8nRYtmy|xx^%oK>5vn!hJ_7nTx!BC5 z6%yqsz0!}aHBBT2m}**ujSEk2bO`jD&ES0x6;>_gUmd z0RRL5ml|V=OyYr+e+=*w3pg=gOSk$NqY?mDD+~kweb&!fEM$xTVt@e{SzsO0s)~

<@ku=^pu=!6q(h)h2}OE=FVfOFNK?T%+`G0lxTNF!8!u9`cOOMWruPX2{( z>Wt0LRm0fveID?zHE_v4Irwz+x7jY^W2Tb={5v-_4EBFpL*j(j?iSf6X4A+`2O?HJ^xG2 zi#9-q%gJ~(=lh3N5x~g`y*3WUOOAlK?K_3B;jXRWb_c}t_`AnOrvwNRHx}F-nAT*P zSMWk~NisHfj}NRu3$7>KYReK{c-pfH1=vY!lmz$({r$9X<5ps&i$Dmx=ylSfRR<5h y26q7Rz(wG<0%I*wB7p_cKDEI`XAett674_5>Dtjq-k#90&Fp;-HwhnDb zz{~wFeJ6?5Cs`?U>vs^Rdmp_Y-#bJKs^~f?5r)VIcB(ZU2UF%huYiXC1KCrA85?oTKQkDA%Sl{GgD;L&De-fwk$~wN@ z)T>+GLJZfs@G{`xcR|$_Dq>D58)9C;4mM?fw5qny7sA^RND*DX&k{EZ03ZOkG#S%n z5C_&3;3p>VQoxmNwH2c>09Pvvgs#&)dxrc24JheI))7cAI;`rLNFCr7kyzc zW(YX5T1mWX*A@%N3FY>Ve}LQLB>=W4PUUw0W*_D$(A>`fege#imMqxGZEFEQlOfr6 zA@KqA#>;E2h=+XhECDz-!s*^%%4QQ4&_Eht@UhX^9bWQ_n0vVtf10N;7LN_v-VH-O z;t?szcjJ#;+ir&g&PV69BCs0sM>fj9xZiCri;wI?hJj{vUgrS~CrIL*)Tv?(NGo($ z89)LPdt{lGG(j}Bp#K&i{vsfKSe^U@xa8$E9DKhw9;(2K`3G=ig>dk-w1&JEataC9X=;=N_y_BK9`KoyS?MDX0WW%;H?`DNvo diff --git a/graphics/pokemon/maractus/icon.png b/graphics/pokemon/maractus/icon.png index a01611b2f465f0efa7981dc59feb76001dc8f25a..314a0da42f2cbf4a1e64e962af9b2293d6da2f48 100644 GIT binary patch delta 384 zcmV-`0e}9q1J(nOUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~}W*{aAb z0003wNklH3n3L8?GQ7ahIm$E=%a6DLq zcEF`oV>?V8I<&X>m+$WP?{BmDL*>@z{852?pPN{?4KHdDz<-O=ad!{~rsCcR)04cI z=@=SelxK0v+r4kHs!h&)yDRQD&e$@Z_q`Y1C?TeI#diys_mW7V_A|v$(n(%k?<40< zQP!5y`?n-<5kzb!aDKyjUrH9ijDN|8>5w+f@iWpN!+7>SsC7Ewq^t3r*-;3OqbRuV`55VC}Uz8A{i4iHU@&WGi&@ECOw62U#Y}+8C3=|?KHI^_J0?}_Vm^>qDq=p+4)LN-K2(In e7atCO#K#9iuGd6;g{S=h0000Uw;8VNklq{4S!=K@>qPAfO;jMkeeS^_)pU)HY}BlpIPJ7bolPBzB$NzHg@Ovwo2p)n02 z4~mwRfBgIx%54$8s?kTcwkwX`uA94mRJg+yi_KZHphRqfhp|?7qzdl welR3SAf5$!3@`fhLj+2E`C%ZK+RuJ`07I_VMEx!bc>n+a07*qoM6N<$f;|SIfB*mh diff --git a/graphics/pokemon/mareanie/back.png b/graphics/pokemon/mareanie/back.png index fd9ac27e942ce70169029c36b9eebae075096447..fdcc7af07898b18908276fa70e27a5ef2bfd7743 100644 GIT binary patch delta 508 zcmV$>ZSky0mey0K~zY`?Uc((!$1^< zD_z8;=o469pg1L^-DYU5K1RwZbybLD7~BdrblK9$&}9R{xD_0<-nUUTQH$f`PmuK4caV^{w^Yh4SdrS-v+$S6V; zkGhe%V%=HbLHd@Brb4V;KuHMW{=K-#7b_`yk8dKY?8CbkS%L>KzLU9>@>wy&^+)aa zHv3qt-XEj^G~*cfe?o|t*yO&?WEmgsiiLPpQZC(afEpQ!J1HxGx=$*EqpfxT9+`as zQkho(H<#;Q%K6j*rdBf#o^TZkU=BcymM2=b0OPz(w!5O-_!_AMm=934ahlk#7NCX0 z655*{3ym_;vA~=VRiiK<`o*Nt7}``{Sp+~yp?d&hLL%z`a=?rkz=-p*g9t_dAu-h> zFcb1+NVh;e?kLAG)s4)l=}+~bE}JPmI*(v%QyJ9&Bf8LbQ-rd}j>b1fWtEhtD$_Xd y^3Xn$O$m2T#hE7CF1>OM1whN^ delta 515 zcmV+e0{s2s1ndNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mVr~K~zY` z?U2iA!ax*;EiTe!X`i6>1*9Vp-8yJ(A455!DwR1fM>OzF`@0AriVs0J9(g|?d_lm&J)UL2)W zQXZ>J zv~t8Kdyo?Z4gbgg{sTz`!CSrFdjEp{Zf|hZBM*)~97JIcF^G>Ne}0nm06gaWv@b%$ z`KS*FLrx{0*ZH=RXA?|*YyfrVla_dT- zU8j{dMV2<0BUV_VE`30O|Ell-LlP804SkgD4l-0ZR*M?ZqBTo2;%N+K$k{$r1mHTw zrRn6H*I1xJTw#+He>Uw7DpH)efSC)4wmT@Py#Ol_ztIr(wAuvKKH!?(@As)6khJ>x zi&BT5(@l>&=>pBo{uMv}D7S#_c39~+j-s(fH|q*^EhGUN&cZ)`rLG)+a>s%};Q$cg z_7k`e=@Sdrp^^E|(e!Ez61Ns@KoI~0#5@{<>p>PWYi%W0at&xLL2w~K0}&Eet<%lK zq6U#Lc_OA?ff%q7?9PraChod~qv@1~0h6W4OVd6x!{1J4?oveL%x0IFxUAb#Y_1!N yxqHZ&-PD2bTtP7sw`1{tg@*`O^7b2k#q|ifDg+?Z2}gPW0000stf@`7BoXGKeX!(GSmgt%ZA92vn#UlehgvR z+1=I*&?cjm?c`iERFWoIQ=6AA>kcY2n)`sc4@s^&D674IsEDqAcnEh|Z-bf;aLM=Q zuUQyS{PyJstzW&*wmphj7ih1aU%v##;bLNQ?QZT$0>GPMUt z9asn~J%Cc)yg?r#yJz7$w5s?vnqG`i(avHY&n4(c6_g`+GnRL61c*rV{2dAZG`v4*&oF07*qo IM6N<$g3ti)ga7~l diff --git a/graphics/pokemon/mareanie/icon.png b/graphics/pokemon/mareanie/icon.png index 7b7dc44fb219dd9ee69511e00e70f086313a49d4..40934c36dbf5f1fd0c505f1b36234cbdae4abac7 100644 GIT binary patch delta 302 zcmV+}0nz^80)+#RV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2Q&d3V3}tC z008JoL_t(I%iWSO4#F@DMSFu>3O1Cf-m3I83@mKihP6|y^bph%NKwhcP=R7nQQ8Di zMkMg&Cns^fUY7k>3FfrFcGrXmv)R@$@b+lW@c?SA(M{lDF@IEa##aRv6^$c8EuhND zL;!%m$Z`ZW07Ys7&9Wq*f_OYa07Ec>w#-jDO^s|b}!Id48eL_ zU1C{NDiJD&x*)><0D+NJ0yY3e>IIrbML;F_)I!w?WYOfqD}Q}qPFpBRB>)x;NK(VF z0+c+o@uQ(YP$l(_KrNqx`0j=n06T!wxG(tr!ei&zwy`by;}FyQGG5n5Vfa06K^U$> z=J03@12bXVdtus%Ff9|N{UA&db0&;`2-AENCiw9X28NdCM-=9pe%t}}kHVJOj?@|e P0000^@R9M69mN9D^F%*C=1{*SXxYqSnC<5DBOZo>)lR`Jg z#FrE@7#AyXa2A8Bn+3MD1ez2ZTnOC??bfk>z>_b8LNnQ9C}g~DnbNrL>5>q1k~@DD z3iShnLEk++NvC_C<1FIuhWljx_|nSSd?2%uDa{AmOm!}>;ksrZL89W4t6B3n=dFnF z%n1sd^N#vAs2cP40BBY4|KVHX^DO{+J`hRMDxrWV{F1X=ESU?4qU{Vm8300VfmUUY z#fwZ7c1e`x@4hRqwmb6GqAF0p^DhI?GpJ@XpcJynA5cS{C9`9lx)T1u(ckjfm_WH)HIUw1f;i&zQk#~1bO(fifU z0|j(qK;uIg{u~Y6Apk+3MQ9DW(rxD+y%KZ~U}yAFReS>J;dK!$&Opr=Sq z!tkOwVl^lLnEd!u-^gYdhU0)rl|XKfNBUVFK#}8bI02PZus{bk-<+IW1(b7mT$Vj2 z_C9R-&8u-)a@+-Bcw3x=-(?jFrwzM6Om`xQsigu)-gv3Xs(z@UL(I1>MTJ_R$T9PU zPcu@^0g$(S7tUwX?_QaB`<8$4^y~_@hOuT~0aAfFp6S>II85bk#tun~=4Af2%So|C z4_U+_{@X|pGJhC4^c*4)IYujztp{d>z@HMGhtKrhNbVE^fu-k9*Q^48b1W6z7gm92 zL-J(N&DsPalBtbi)g}-Sn1a~_LIJvrC6qwy+^AH?N$N7zR|3(y1D1a^8EY^U2&w=H zjp^0iBh4@#qd+h;4D6kq?8m-t7$^`!Gz{#WTbY5jh;=0p$}j++($%|b{I21i5adS-#>GYS?24K(IrkwA delta 862 zcmV-k1EKuJ2crj&7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R10hL7K~!jg?U>7Q z!ypVrgJQ|xLjC`LTZxxR;uw*vI>TLbT90)lgzTDgyG>2~Lm30##ozA>eiOgk@8%l^ zvlwF*`rH7;z>F9G>(OBuiHBA6V1YCozpl3Fno}Ea?KT^%fYrhoH;_G-V5Nv;f!a+h z)gMahaEnnHyvDPCP&%+VodN5`fIC4OshSw00bfcmi&Ght!CCmAS4ajk$W5d`0 z_%Ec~LYvg<0r6G`l4RtAxc#`~kkx;qqH*Duc)PqOw=K(mwnYc4EI`)a_FvJ?23&!2 z*&wz+GX_NW?7#*;Y(NkTU;{v)(02$F4esQL9H)f5`uIaS(`!QTu>d0O0;`P|10OmD zd`~p^^?WbX?&luzMSooa&tS++vauc|$&@tdKl7f=_&(4&CkRjtdO+(9K`1b% z3$#uNLi}>C4%a~IoFJqN+2Q*0?+rmX40=4PB?wPzh>O4u&vFexuxAGDau12?s|3N? zCN>>^(9w2^(JzHN)Rf7NGpgZLF!?Q2ZG=*B7`QsPqSKrAOxa9gsk2f=9C~D2U+NX zoOcAF81&-b5`=W3Mg`83xJ(e%V}ue%(!HCpJ^d$x(hJ=wG@+k{U=#)IF%}`^Ea`Ja zL4OWLZa@lKD+L-mM~4Ux3c-jBC3y7;Ziym2P_&>3G=!mqFc!}aB0&h_NAR!*;UMu> o{}Dq7wcfF%pJ^h5sVSZQ0P90DyF(g^QUCw|07*qoM6N<$f?=tFBme*a diff --git a/graphics/pokemon/mareep/back.png b/graphics/pokemon/mareep/back.png index c0d26a07b66d3bc2361f03f53cd6bc8648dd9814..7a70f4b207f5b0e8c518628140dbb6a5e6f29516 100644 GIT binary patch delta 493 zcmV1?tf=rj0wT4W-Y8X= zz*4>H0_)ZKRQWw?BnB<525~&Jt}udOG;f#6*aFXGwAc zh*xC?Sb!PxvixoVeh)}Hz!=vI)*T>Om8~wvEXO?|ACT2V2N0a&J9?&VLyU8(xY`Hp z9%Ei5V9dq4#82kpt0|!Ss(i-GIZP`NMhmgN;>MB@56{x!9?1my@$&|-=s{Vx2JoYx zy>;*)XvUmX4l5Hn9IpXr3mF&yYkgf^Agcj~cYwOYnjIrggBIYL2`K4P3-Ee6J5C~G jHPOmnRSnMn+kX~6ATR+Sw$XS!00000NkvXXu0mjfUqH** delta 448 zcmV;x0YCn=1c(HX7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0ftFLK~z|U?UhTC z!ypVqgKCfkPVRr*5r~g47(2;kri$Lg71NJK7Vvm1EiL^g*`P1nKpX2r1lzZ)PY@_} z0v6}M_vf$vAdGq^0M80g?an!4jJwI;xwwAH@0|BPEbs3i!gR>~8lUaS?*rn>Z+H}f z68Z?>6^P~pG$sarMbrUe1#SUw52dnPLb6yY;51-f1rC6i`$tj;fWc z`6FRV@4^o^8Gpu+zj~Td20;BIfd-A#n$&Y#MR}w&?gG##S3zoHC7gbEl%sAuQN8d~)?)C@p9ARHKHfNlu`zeK<>;22@(kAn!u0J^qA q{~?+Sh%Ve8WysrC{nFCX-_|cfvmOM0W{k1`0000Us1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M0C@AdPd^ z0003CNklSzoSvb%pO+vNR@F zvIYXkx$UC(a~$09GxisQT)u|&O98gKC7CAh95X;@=L?VxpnpS@q9NAJRSB=C{pZF9 zfJ&p$=(BVH%9yJ`)SG!r-zi#E3bCI7JkjT>LV*-cy&c{z9SRk$4u}0P^_vHi}lcLTm$oSAY6hahRltW>h%dwqR&wGiUOkL$jVVh9G%pZtGOP7n1vY+cOSL0}zp^Zvlm(?xTV?)}36 zO2BoSJi6T_;Kmt5%Nm0)&qV}-Fn-_;!t9>HNHk?XI>o|Nn?x8qFNE=a#PJ7V)C5Lh z6vk->VFa>4K`WSoeTc#^2*OMTWmJp8J2UTv2NQi5J2fd3jq(MsuoZ;ovi{%H|Yl=gD#qGHte7sIs|Z)en64* z50X(XoPlUOq@%KB3{b$UhYnd&_+NUYq{LE=nLFqf!?=eNd4Hn#j_y>(1VT9ov4jh9NCM6zogv`BK{}gK&v4R{bSkBU^yGL* z0!L@xUIL8Z==*760lt8a^z7`A+{UZpu>r!br!&)*CY2Ng09WbbUpMYI2*({@wm*h& zlUn*hc`c_5flCvaK|igCGGIPh5aNWe7l21I|YS z2))E?!~>rp459{1-EtGyE7-v$L*TO-09)~iaUnzv;1htid46T`Q>?9gKdWs*!ET-# zBJlQgi&Q<&IOKUr2-9WW=rn&_0Qq%L0IX4g{VahiVSi39R~HRnc~bztZ-wqPUo~Gh z-~83-%|-*=i~`EI#SU`CAD@`zHo()=0yqTv03^b*eEkUMg(c?1k)h1O9Xn8ll5}jOX8#z^?#_$0fLTcdu^T4*`e=b$c$gN`JZBAaP~9xUa~4KB(Ixt-1y5vGoe& z%sO>J{@HSSmZ9A7Ly@%GSKaIa#{)Nx>tBd03V7L?;|RnV#Bt-r%FjA4_qqy)1MWaC zg8JF&NVQONT%(>&I0xu8fJBc+mE8G4&xHiwRKO}}%!3Vpu{jP@b-*#(metDnT&Sn7 h6dbPFYqyO?`~!XyGzTEgslWgL002ovPDHLkV1kdhep3Jd delta 766 zcmVljA6oAjj%SjnHW01_|m$*{PX8(aWx**Dy zD5+pzs1#g&0BZRM?dYI%uxN)eI$Os|NLe#5bS=t%;obS%+U|2l7V?%Td7s|BdvWqT z#>kNUiAe00QT}+6TZ8zMwHd_j6;#-#b{0?4oZ0$_~_?1urCLO;DcyJ!HH zHwEzPR;XF?RU^;%=8sBmHVWvZ6ky^OC&;sAkLrvnz<;yHKv_a~Yqn+tz|PA8oiu$k z1{I5;&Mz2SH)o(D!>=b>c=JBPOAvVuzIp&+;Sxy$sK#Rb#F3Hd#_e{%gp^O`x3P_F z{NpfkZw({&cKaK-x7**yz199k?kKA^`yXhzKVkn5%Izq$Hv6-8TFri|{aI|x+-iTX zG;?z7QGa>nm1f>KBmwK*%soN=Q(F+s-WDqc{YNUJHfOL@6LVyV5j zPf4|^ZkM!b1?aQ&3gyhKx*&g7+@7W=cl@D9s&|C&R-N<$*8?Yt>c0?K6mZiu#}$Y( zh$5%~Ony>%+3#ey9B>=DA=IBOOJ<8~jy`7Pu@5!? w#^$(C)d5>yTb7;kxgcl$5Y#5LjsHCU0)7)T2mjt{n*aa+07*qoM6N<$f?U&dTmS$7 diff --git a/graphics/pokemon/marill/back.png b/graphics/pokemon/marill/back.png index 8eb2c5da1ccf9d947e028cb261b19f6735bb3bae..61676c01b4184c0c9da2086607f0ada53e438cae 100644 GIT binary patch delta 373 zcmV-*0gC?U1Kk6VB#}W-e*gz`Nliru=LQD{HzJiPyVd{z0YFJaK~zY`?US*NgD?z+ zGh{*PVw4*gvC4ZK5giz*y7a9Ay2a8x%&mQ^+D#z|m(uBmlkk8N{~y1xLzLQMkH3rV z^No(jY+iT%O^t{-3vCfEB3NtyGPPJoG-ANInQH|?j1j>p%{mZ$e{t%JjY)xq0Xu-{ zc-^}K2jE0pp@vFXFpo7}r<%Q%8tub?ffINgVPXSL%)p1}yl*S74`3ky0Q_E0r8k39 z9w_QsUgu~NKzqQcwk-V;%nJY@3#g}|h7gkK7oZqfcM0Gv13|>QG1W~3D3ZqtsAB!+ zH(*>i@dL&4cfD4v6(6<~T*&arfc3Rcer4ix^$}4A^#BB{y+ZX z&HJQbw{^HX)dv1FFq#>eQgz1QGYIM{fW@?E~WHms1yVeSX1{0wJBR(>}%h8n@ zn*xmh-H5iA_23E`Q4ZpN3N=>Hp(mwj7#f5Z+G zKzF(~bLqqIk_U>q*2hI{0vHcCXv@+s(f$A+W&!vLG#I2u!v++S_$~o_WFVMjH>JLf z0AT&u0afgOeg~`zH-1_Iq9)Ymo^D&hokO>)n2XoR%aN4HMKGhv2PJo@S_rdWjhdprOshYAqZm(hFqd5Y!&rqa-jE*Zj c_3s7n0G*m!!jPXessI2007*qoM6N<$f_JU2xBvhE diff --git a/graphics/pokemon/marill/icon.png b/graphics/pokemon/marill/icon.png index 1113feb24bc2ae14f5ae8cb3a1eed4611dabfcfd..6c2edeed9881fbcbf874e82ddb154c5da396366a 100644 GIT binary patch delta 296 zcmV+@0oVT90{;S#V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2RIPgW%ii> z0081iL_t(I%k9!J3IZ_@1<>5!-(hX+r?K!nVj*~q6v5oXYY4K)upYw3LUeFJEEdP8 z*>$k6(nd^|&txVE&$(Y)`m#qUPQ?VLiGZUG#)oD(HYEt#gc+~WnF!`}uISN_wDLZ7_HRqZv%sxVeMT)cC;xyBnC&OT(Gak#1m207^b8FJ~@ulTGrG uz+e_zmPO&cJ|U+#)#O7BnCt_e@^J+%HK5Xv=62@*0000#3Iah4Mdt?p4r^nd#=`T6h2S-&7@T`}4M7$O z>mh6`M1u=ru^2}k*SM|Ni0S5&oyitl%F~Vsg;An;Mp;?Yi3qrXYjf_w; zvlS4-A}ps4Pc!BDI#l8sel%gmt27hAyv`jx8uHc%=n-)h5q#P#HPK)n-Ff>ox)Alf zyjAx<2L1(*B#}W-6#xfxNliru=LQD{I6HRP57__!0%4JpTz|?xc@BODnx}sW z4(Q-dfts{#QLhYmv1n3K5<(@hcnC=GD5T^=$&A;844f9Fem;Izg(VccD2^bF( zkz1yUW%p)C(iXWPT?vw^BR;)B!DYOMLm4xWmlovLjioqt!XR|yypQ=^;T8oD>+&hR z2=I6^tF-^SMV7Bpmc&UzJIG!)5kZraI{=?Uw`7A#tNj5eGX5z%bWAP z(J4@G`5Ly%@B7)HngROtYE=sQ8@|?_ZTEqqrx9k0Pc{9?3ZR+=TH|iQtoLQ6SpcS? zXM|EqBW&251JX6iK51ltnSzM9d~G6B7vR1Hpfuy>g#a3|Z2JU32HZXOdvne?n9pt7 zHX9kB14yH;5`UnHdUl3liriA*uQLI@y~qI#iKAEXvd5S!{%v5??cJ0nvJ9kO-!R7J zbcDgQb~1?DtkrG9;*kK+$mIaYFfzYFu1fSY4qq|0h+MvDLk*$E&ax%2k7;kgJ1%D& zlF-@Puq424w85M+wuZgiQrlv=_7RUVKr*Vp5#3nf%P)?Ui5DKnN#kaXA?0W_02&`$>zU zJMB&qFdil%w@ekw?#+;-EpkJ;5+qeee0sSd;xgXDp^O>GOAGSr#!?(RVGufU-p5K_ zv?zdBmrvN;7_52%sU$woedbz}<7d zH|Ly#`P{Z`vylNhfHdkV0e_mPXJ;s;$Sno_IuqdAiyY99IC>Q?dyKi_-v&nA-c4yD z%Ru_|4P$IhM;J_NCxf`nTHQ7*9tjYQTn>N?Bl9cdszguY@D*c=$mN?h)DUXyEL#Hm znD!RD<8sC!37t7&w*p`{+F;HZTf^RMsco@b`-n%bsLQk7tGisQ+a5a4oT&02ol4~= XUKc-tU!d-Nfl5WD>f#PPRaMe%IZ&i-HLg0Rp-aWm1-W!=Bz6Yt#Mn$G z8$*Qd8_@KBHW(*3W@yzD64t#R|Npyt?-@n;zf0Bso-k?$fcgPIe?I`IhJ662+Xof& zazZy7dO1?JOuJD=)NQM2H%gK)?G`cHB{|ql0M`8;hD89_Wq?D-lTv^X;*?mZW)nc! zISmsUrA_gm^X##=zg_8cHV-a)`LGCJth0&tJl9V*^O;lzAh2AUEfG*Z-CMeVW#=mklFRnDV39sYbUO$B_Z5OU5( zNpPPtJ!4FiZQFfJi2w`W_mn(%G*L;=vJ5OJ%f(W7={8Gzu3N zchG?Vr5gdYF59!YZBHrzsV`O=0Sr0-Vs5Y7m6sF*$6__h-UKZ|T6@4kc-foa5pi+~ z(t*-=aqVSOe`pb>+0JSKfF8$JYmosM04E#t3LJdp-OW1A0C+TaW2~{Wz|&%^#Zs0> zesI-RHbUAU$OGZ1io@u7Zp2>0Aq4~~5k}$c&g5tm6gs3gQwFVjRa}DGD=G zwAFk`(^Z&(qP)$vsaTc+`N!NVB>0-`YDE$n-KDPGlSQs{9}fT;{g?mee*mn2S8v3X R5Apy2002ovPDHLkV1mO;O}hX9 delta 743 zcmVb<~oWK+BYDVe{C=je5Od05t6N)kN+R<%#i;an(_C9Svdey4*2D=WRb-#z%q5$k7z@hX>AwVg0 z3M@3M4xs2eO$!=@L-C;f?6J3hTxz#hFD`%iFc09oy~=kz*G~_(D=GCsAY9IU&|V(! znJ3Z3-`!JnrtN%7rn`gFT>smgW^eI$<;*+D=nDJOR3YK~i8@i0F?Af8HOb z0=`lRg%AT$-Ij2##*pX*!KI%Fh!7r4qHXSBJig-mG6f(I`3k6{z;KWNectN?sz?Zg z5uPTxs>&FOXrKVjF95vv%AuIBW7ki%sFE5+r7j$L*Ig+1Fz|@}s%v1fk`-VJA-RA{VKE0vePy_JEmO z%^Pmv5p}i{lmlb&>~=knhTWo0y_xj_06U3qmNEmd08X}l=p{J#YqfN#Xaackqm&oX>Q38egAn$g46qOe=!rBLb52u=rv5i zTrpc=0+!`7W9Ja8<*R0lh5@Oys)i97*Jlvnm*JYz8BczZ6|+has^k`AHOwW;i5+mi z*np@rDQ5J21czj)=pqY$NA@AUAej+H#*e&-4j4^Jq(>Ksu4y4g68T%fsp(rN2Z@S( z`yK#eRy6K!Z?^@aPiOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL009$8L_t(|oYm65Z-gKe2kZh_?NTRtWKNiGuWPxab+p zK3SDw^y;TjrkE)|fy(m4*x3hL`7$y_fBk?QM^z0I(zZ_!&Yy>CMwfhc7uj-FDMFRp zgQP~8WEn97_7f8jbtc7v?<*Qa){3sOaAzd%{1cG{=UBUuSKfmjNr}hF2E1=Olw*nA zsgSm!LvoP#z64SMp!J5Q$G>;`1%lh!((oUvIrIihEa;DdsSjX`@)%452QVhEH((04 zqOo9>hYt&83w-QgLLWPr(8mo-?BfO|_R;O{pZoX*1Co`UG`fI}00000NkvXXu0mjf D!5yxz diff --git a/graphics/pokemon/marowak/anim_front.png b/graphics/pokemon/marowak/anim_front.png index f1a22033ed4670233313dfe618dd4acf97ff72a4..696a9633a9870ff52783aa7bc671a2f584dc6941 100644 GIT binary patch delta 1019 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 Zyx%&$*#xY^0)7Ah002ovPDHLkV1iOZ7IFXp diff --git a/graphics/pokemon/marowak/icon.png b/graphics/pokemon/marowak/icon.png index af56d377c599bc95cf1c497a0ffb7f02baa7ae42..7f01570cc5d8ac6650363b3e5c857de875b3c890 100644 GIT binary patch delta 289 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 delta 387 zcmV-}0et?I1d9ZabO`~0NklvkRgBJ*HY+oS2Vza_gQ*!q$u@*(KOHXW!tVq zVK$zewHR+Ap%-*=LBOY+TvKiWj9f$MueNDOH>R8PH|kTs#-wC*578zgHoj7 z*St>w%GypZ%^E9sN%q^p$qM!PQ3CeEznit10_I1Hhc^ezwU>dIa_3KJ>tl>o@(_O$ zpq9!W0qBGTk#zh;BEgP(jOi2y07?MJwXQMupeGoj)HO6fINfw$CL9!a2o8jMxiFxw z5_smJe*{<;SmPHUJOa#vhQ9)Jjeh~uZL)!=E{cy-b=7Ph>Kb(gTqPTxCD6E6cSPZ1 z?~dMI2|-ud;W+1>5N{oS*k|Grk@asd5|@#V@gM+7+i`O!q#793;bM?%r4n>k*+u$D zyG?<+k+B2o_&tva;JQ4r1rParPr|dL1nv$P-)NPC0K0PqG9x*F%h2?a3tetNh9cPP hp-tnt1>K002ovPDHLkV1j_lwN(HB diff --git a/graphics/pokemon/marshadow/icon.png b/graphics/pokemon/marshadow/icon.png index e7fb5674d396d844ebde7280ac6cd1770d24424e..5ac013d4a03281ec1f0c7816fd52d08552e9df1f 100644 GIT binary patch delta 261 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 delta 569 zcmV-90>=HR1%U;S7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005-Nkl)#XsAfhki z2iG2fSWVFZcJxV3+W;i_HUJ{u1*kp(HucyyfRf%GfRg`x05txs2xCOwFF#j_42`euv@No_^`L_tGUVYg0Cdc2^dS?tev;N|Q$BWlDd5OT% zCcuZTLd_6MMsHu$5rN_)sS%4r^x-dAAG(Sg0a6=;%CrACW`Wb-#?%dh4xN7`%L^bJ zI*0)d@6_3PtxYC*LAcfc_{#$55a{5gD?;J$l#?u+BLW@b-Vg*JV-f@0IU>-Z!?Y08 z0MAK@`5qC-L?{Ha0|lsshEMlGyI~#x00000NkvXX Hu0mjfCT<9x diff --git a/graphics/pokemon/marshtomp/icon.png b/graphics/pokemon/marshtomp/icon.png index 41a6fba6d9ffe8224b5c00041b029b9393a52a6c..0cb17213f16b7022df2e18136076b3823bb1f952 100644 GIT binary patch delta 276 zcmV+v0qg$A0_y^hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2m}i#uK~9J z007QOL_t(I%iWSO4udcZMRS9w7a&sh-hlJK0xK+)dO@>vVIi*4r3(sS>OztZw8UZT z)Ye>vBU_5S99&r=ppFN+woxOH?fJbJ z(U43yh5-*WwZN6#r5M=X)^7n5X?O!8cEE&ay8`0{OM#iA#|s#;+6oL2R$$V^l((Pq a@dR2!s#u!H{S9sa0000}c8V1Ls|L_t(Ijop$l4udcZMSBB_3s8x@H{d+5zzR#HUeGLESV*dL z>4E}GT}a$Y0phTAYn#nq_RqKV4u|i4L}3kaJnn^K*fOah?3k1aW{lE-0H{%NVNMZ| znLs~diZ?Gj&jrp+?Ps9Gu4pr6ViRoI{K8D`NusNfwjLv|T4@dtt?}P6l9Om`y!}ij zFC|Ll7c_MxdSvP0k@Zrun}DQFM*M07V%%MESN_xcEnqwiD=_R0y`Z)vnXuth`Mcv6I9saTDEG ze}H{bk#bKOwltWmaL(OwL8RT{5bGik0wz_+79rd;X zLvd{yaDJcvVm#E_1Hfc1zy0y2Edp3Y~vp|lRdbB1hOVpIq+*- z0AAphUFN_^TmbN_TukwcEh}We$yNfchrl^D!9yO`%(7r=(LUJ=7}Q;uRS1}Kihw?2(;I(>knx{M zve~4AQ{*tYKx7c$EC16t~8F{1{ zH{gXcpnn2AVBRy>cQqcZMKsU_#6K6J{T>^UfE5iU0^?~b4u6*`THDtLZR0f-yywdwSmkI6Tp7(YpW4>N@9O3KD-mDkVG@Z zHJ$_;n%rTksGS0U1V>D5+|+)JV`)^7fIK&1pRAij@U&4o2a@D1?5S2{l{^)XM&AQ4 zSkiGV0WAlNz+>}i)lLS5dcPgL+-V;G#AA<$(YJj{O9%ha_315u`LTf3Amy zJPv5X4hK-}Y6!R1iz9zsX_n8X^CN)C;8uHe*q3M)#G8Od%4<~PDBt&W|6n>LF!WLP z?rZ9AD9Muvm^27YAaI^PD*)aCzEjGb1EsP)C}HJgjUjhi04jGdnpb$;YF&B&Wd6YjWdb;4#ew+3zhR@9t^C6s z_oQ^cECJnPr0@@#lWDsfR+O2d;3@y0F{$mavsp!+fH+hB!Iat#AAU`FDb4+Z#VnNe zuyxK0|KK>T)b4*#LjVi^U|E-7KKQJ87nc5kfMX$E>#i*P1HD3JZ{MYbe*m4NT~}@C z9}cXFf9PIS|Il91;)s8Ma3pro;*ft(21D!)_y<(VZ0)3fShN9Y55OQyq<{DW97YQQ zkCBcue<1zCuA>dC^Sba4QI}SNbvW!FQ2sYH|4=93xF<>vRQiY99@N`dC69%?qdi!T z8%36t$1ClDLFwYqGwZSktqt{PJH76+2m1A*N8ogO@IPDs0B{(Ar>da&5C8xG07*qo IM6N<$f=-`ABLDyZ delta 1218 zcmV;z1U>tp3WN%f7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1cFIKK~!jg?U?J5 zn=lN8V`SM0ki7rn){=aYZ$OrrPCKpk&o0aPkmU;;Jsy8dn7jG~{(itcLeSp_+#=is zu>J;s^wwJZF~OiEz553ZoIM>k}g&E+d;~@d{w2n+RabBsix4nh^92U}b#+pdyY_=m2YcNCl9sm zdy@1TuqHhN9HOqG5L~!g1NH*Q@(f6~8j{O)#B$kl0vX_cm7ZrIjG+MJ0*YP|WBF@O z0Pmhv0u0D!n4vP#75d@Yc)yc80DROtZ1py-0}4Ps(wyiQ@Y_ogkQ5B(h?w)|iMRR? z1z5NcBsYtsFZuuo`+aeBaM9~iI3U9C>G6>CRDyjsq|dXI^p<9!S*0M6>K6gLaT@{` zY<`Ht{?Y`0u8LJ_B}lQFgEl zK2*_j921~o(4U)%l+__5Ge91_`ywyZIj=-cCF^Bot`R~W=?LI7BzxEu;)DQY13uD7 zQce+ZQp|J)#HGtiE)DAC^C~&hzv`vKgmCq|5b+>umpX_(5aJBY2&CUe8zr4^p3bTe z6M*l3pWOhqY3>4;FM5DWgrg9|4M0TPA`s$qDW4*40{*4=>wWxP7yi3!yqVr}4KS^f zx#;320Aui)i=WiVVEh6+15Ab)K1fkMpne80@-c~H58vv0fav8*{1`B)v*Axz@lCb! zYYsBA*kJ;Q#rx_1w(i|mey!-!CvfLI2LL927}EpX1%SueH@AS1_0)H+$uKnpUP3eP z3Y9(*mU^{RC2Rnyf3OzM)_krTi(~g(^$%8M`dmjC*Pt4K2DFZ6HVYb%tS^oM(LC1x zZU3`%#^hVOY3Ns?0u<{VeQRqwV>>SVtScye1oV1W?|Mj^S^0m}KPcWEV-0)T8VE># z9vKrr_YZvX?!~!w8xp993w0I566*eeXYXE|FOC4A3}|iYa8>;SQ=9it0UR1vF{p$7 zfw9_p^Y0VmDhLC0|G+5gZBwmhCog}aH~oW!n08q~@sJRw55K%fLM4DZN{K@$n5bId z8UM2b)b9ak8o)gW%qexrI|Sk!GDrZoG;$dM%N-y;pa0kbHb;ps4gyurN@M_+Hpgto z0s>G)AA#QZ^dR8Ie*m+*;sKnKpy0A38di2;b?tX$nl4d@&lnZ13dt= zL}a1>akSVp!(=@+o@$AL3>H=a52OVcny`RU8aT(O13CKmfA7^uo6tFK)EYlMH{0#0 zub~NMfR0i=2tn9Iz+5btCbnw&)c`=`0T{p>8ZCPX*$5;UD`N_!xDOVvM<2`a6&Ya? z_9<6{xRU%_8+Z}F4mIX!8(vuhN`l8`zrB4u@=yjKp4(Uk2>d0a-A+6%)gH70UISu) z4QWr(_YgE7fBu?lK>g%?>ZVpky)i*R858_{A@zP$UP9X{OA9D@*514Al}aTS1L|yY z=t(G93$VyhpmhZJcMMpk0kKE|tJGG(XF@*^5pb2PU!(=~)Z4 z5xy@F2y~snRpLCA@C*qNb|ep^)Weo?J=rZ2Y8PVCF&)^1DgdQ0*+{%C=0pPuQm~Rn i&{qun(q+%0B>w?|a;UCA`3EZi0000`kw7OxC=doyb138{C|JHXWJ_Y;+03G`&b}&EKs431p?Y_?EvWO z@(PraS~(DsW(hz*fHX^gBpT-cl+|bqLja(Lf3!94bAIN4@IS!toRFXozi29ud@p}U}yaV9G0tAIC=GI<0XC0_-d}w*V+O;8g}d9%mJrMjF7>=(rj_ zq_F~HT?6z0FcPVWJ;n`hmdwV z_qZJNpcU{M5DTnGd*tN;21+^PUkU^0A0o;FUVYFT5(Kn=H6h;a72dDHAZK}CQCKR)M0)r@q`*~v`CLFGqiPa; zy0<_pzuZK;`o)-<$Opi+%?o`4XI;fw7A@>YR$u`F7ie?!U=I;`P>YydDAViv;vi%a zi8$(@kb-evpf5*>q5 wl5Zs57JH%r1u2NU5%iS-Kh3r$wutBb1A=m>t_bOGX8-^I07*qoM6N<$g07QQD*ylh diff --git a/graphics/pokemon/masquerain/icon.png b/graphics/pokemon/masquerain/icon.png index cf9cc1317ca0c800f984681f0a27014bc9103745..d44da9adcf02969a15b8591219737adbfb617be2 100644 GIT binary patch delta 298 zcmV+_0oDH40)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2nH44mR?o> z0087kL_t(I%k7dq3d1lAg?$4ZMi4^@@nH(-QpjMa#vCrIX%5i~1Pn2h64gKXtEbW_ zLp{jxLwt_)o)E`bLw1JtI{`Mq=>V~zK*Tv*1s7F$@*9+)P=6GtXna+nA<<+IY#+Xo zK-eV26C++&jRSZv)JW+TNrUywv7S3X$`;EWinC0DVEIBcPNP=yzjBADh)6H*_T8Pb z5_x&e`SAqb0(u4a1Rf?$TxaCzt5EP;JrHd{cIjdHu?ABSVafwMS3 wmBqoPIPBezaUKSceHXO(2CJQ~GdjMSO@{ zz#y<71W&YhRTWYhqGBX{hNtC!A&xWpY!A(M0<4150b)aeh;z6IE~@h6Cn!UqC{S_p zRfUE`lR>auSS5k*mJlzDcwsg6;K5KMrBfvJ)-#8C>HsMlEO|R9&N2yt&G^I_!3=}p^1++G1onN|-vX+= zAl6fkGX6adoW%jEEDkosVe5X3!`A&6hn@Q|4w?J#v-=+-zq#KQCFN-V0000O{2nPg{Jx}ET00ezWL_t(o!|j&8Yve{0$2DB# zPNVU1THnU7BP%wpGCKr(BwVpst_(OT(g(9w?*%fea@}Y|IIwXcsYqecr3e@D7pPa0 ze;{Der1Ia8_eLx0=lV!egn*~q_t`h^J?=s9 zowD;90bfXq*%p(OQrV6MfhERhGq6!CYX|slxqO3J(wS%MmetPKQOh?90mk{ZoTLem z69vZr;NhlpPJf$892)?FWKzobWxvo5fE!DxQ+p6t^Wc=Z8qRtcc+16405Bb?&jx`@ zE)JNxxjl>2i!R`tlp*BI{r<(7R^uMP@di)i(tY>QpIT>q;AG8tFabdS0KldX;E@w1 zQb;03p!LFuv2$_91VQ53wkYodzPN|?L|qMkrn9Nl1Ajd6>PPq+xrP?$Jnu3DZ*s^G zh{1`Jtt(0(m{9z}sdjY$Z>k?7CSh57YrUZ@GraL_jClY+qEclKRv|d00fetYrNZpW z8mPk0BWaVb)drtNnDuiIha*8|oIh9QTs?$A=JUA;5kdggN9#IMt7+YpM@JBWC>)8t z&e5(^wto_J--8EF9#UV-;D+&9g<+x;vm0#=xGk_3iA^mx4OOP=*Wf^Sw8(FBf7@wp8tb@GX~z@xq$sEp zY@HMbxgMLt8&<_cWo%-SL3XEq`4mhXjsbqi%MX? zG@_KX;w48*1pKXjz+pmI54b1=My1DEbAo&fz&EA9fT1d?;Zw(W3(GQZ#ms^F= zxPQWl%yJKy9D{y1ySeHuR#gG6zL96~W*G2ix6)2$w<72NFyom1Ih-w%xH+2WT%wX22v#l8=15XZT=${m+$;V7L>fR<)#xXNk~z=s4^ zD8iKi92V&VLs#npWW`c$xI_@Zh6|EK3gfyI!3B8&_H6P30gN=M{0x~{l9EVD$_Ef2 zg|{)l`Du1$c6a7)%X(V>Vo_=zG84+BI6#o&8TX~!PaMx?Q-2;vvDd*27Wdd*7sn+a z_PQv6K(G>!^5ganZ{`3}lJiTu1@{p z+7{(qz!#5jpQx+h$8<8bI)Eo$zlWcZTX-U^>s^N64Sz=rff$@f+1R24f+58dPPMB8 zxKrI2F$v2$TIv;TnBk6BG3EgPiAq)btg0Q(X#nA?P^mDx>E^)2Pd#aquha^!MwoRR zcw*EOWWxD#W!B9)3^JWgO^6Tzus&LsnOdwXbv!#cfe1w5Nc44ycBQgKT`73?;K7q4 z>Wc~N(0^a5FiezU_S(S=TMHdM1XS|L_$XY4I!;s_0^zeMbe?fB_#JZa96JreWvb)F zR*q2D!F_>mk=WF7(@JiJzyUIFz=QS2)=?640QSvC(r$EQ+<&mQ?lS@te%ZVq?e!N;{%Jj}|7`so zfpOsWRsv%`Q3;H_`r)4njAv5raIg^=a>D&)G|p^(wGkNf6VrDZJAgcx)dB;$5v8mV zFFBbb;8*$qn+ahZ;HnfDwH|Bq3GxvDUzY*{nrdlbTYz&40_2_150cAQmBQHC!imgq z4}X~KgMPTUYm5s6s2XtfoxF&yMOcrj14@WKBa2WxSFyWy@eV7mfP1&`+A4` z0f9`fbkn|;5BVcZ(@bgIdOglMgx8-l3MGveyBq}P!(zl7s2I%UY+FD$wR{*BRKTIo z#0ZErQKPy-cN42cW}?0sx0o3wMZAn18Tw zPx1SmZwT9{Hhc+_A$wor#a*#Xz-ha{10oo7rafcqZTZ|vJV_t{M b|Nr$TV56tsA0Ogk00000NkvXXu0mjfz*aa4 diff --git a/graphics/pokemon/mawile/back.png b/graphics/pokemon/mawile/back.png index 2455232c25f4453a8b5fed9f08e2b6ffbb1b100f..059778897dde8ab2fcb46bc603607e35936826eb 100644 GIT binary patch delta 598 zcmV-c0;&DP1-u22B#}W-e*gz`Nliru=LQD|2QadUyHEfC0v}04K~zY`?Uk`^+b|G@ zMRfAU6AMI*0Ry4}G-JqHk}-&0sFTxC@DOTC(Z#Eg%|QomeI37mpP_dWNl~%n7ib8> zfXz?;{dfFnXW8dEUjjg0+K0TZAK}8jwOZHpEFrL}wAMHETor|ueSn45517*qbtTU{q5%&8jY@w2;IZ4m=<)*~ zYCmL*lNbYEEB|Dae=uewaMOR=gv=PT8YNde^};RyxH^p#l&=s0vp<$+VIu?3L?BNG z0m1sv28{ZQXEch0OtPeKLtl11fC_^!i3NoY@qT&ekJ1BWVnIE)-{_W06$z693X2D~ z**5Phz(^z}D9+$$HGd9%lI+$b06F{1z^Q1&0KCN-3>*k(f4?~p-XY@k-j*_sN$y;? zq%h%3ulISV!FO`W+bt=e@?D%D_Q8NC2-v!YE=RbaL#oJw$*7N(AR^LKmBW=G0=BLr z1|Ui(9y=_2m6!>{ybM3D^tRZx?9(}b0KhRl(!w>gTR2X?_qjh>miU6Kp-yJ`ydRv7h0OYlOsJreFuIyW@b=S=j0^3$=ecR1dQD|90>!&$^ zak0kd8G%H!R|H047BGr`e^!5bDOWJcL$iQ)0R((0R3LS4!JxhSRh_s(H~_1)|mzM;C`T6E>$8- z4k&CM+;-RhS^*{^GeL0%N2~vR43lKHCIiUX9|q1%FD}5(RD*#d0mDZJA~;06IoP#K zW0HF}E-6er)0;zo9c%ENT=Mon3aCOCXGnc8AQ}R8uBXcpFX$yzd3F+iK08v-o4zbuvt#*nR zs_wi5D@>Prx}WZdB>GR&nZdVPSx5{`C9T`SL0Cw?C$vbAt;4O=GbJg8*Ge(iwkL z5s0SIT(v;l+LRJ<1={!g{HO~##x0^>8!p8HzA(P*DNV&Gnv}cnMlgXvONDcefXbXL zf^%FAeupZDYH*tfoTqExK>~igqw)~T1ktb_U$j4{QCm zAMnk2uuCF7EOY=Ppf={XS^6PAw?S{L?+7?y;!2okM~Tc!6wt1+GkviN?l z#4rd8$;Eg)*8hK7Fm^Jb;F%uUUY5OVRx%N+rQ`V2&kMjFK2O?E1ePMo7={ZWV}KSR zW`LRO4TyCJfmP%9P%w@W&7NNZ3~8}z3a zLG(`rqm=N*we-w?U<5Oa9bMWK<9LW;;)OlK@HTN7li%+c|AH+~hmRLR{x)15Gxmd#O>798vd%~ywqJBFdXde)_|2Kr?|1?3S|KkK%{;yerJpM09f|&nn zo*=jX;{=)huUUf3C5nPLK_-rxB#7CYn&Cl$412fd{I>uw8TLk%zM2n(eSj>=ap!{z j5Wg?Yhy2?7M?QQ3+#?fH-|tDC00000NkvXXu0mjfU?!V9 diff --git a/graphics/pokemon/mawile/mega/back.png b/graphics/pokemon/mawile/mega/back.png index bce83460ec07ed33866c12a8991f3eb2a017f579..7cac134eaf33a46f0e15efbc8c6e24847d03c299 100644 GIT binary patch delta 714 zcmV;*0yX`-2CoK?B#}W-e*gz`Nliru=LQD|2@jfVyW;==0+LBYK~zY`)s??)6G0Hh zvv~r~U}M=rkeOUu(ZJ;e?$}7Q7iq1O2+0qSf(M|9Xib9>s?a5GK|zP|4)iFG5HoYT zw||@{sac)Qce}s+=9}5Q^^O_sJl;(66i{tT>@suyj$0DEU)OIQe*w6zZBvM15ktpq z8Pst0zFXIa777z!n9`fXw^++95eOL|0=Cs4*6u}sm>>bx?(2917%dQ48wfMDzCmWo z(70uvh`~0D7g<0nrW>DdRq6Ovb>r@Dg`y@{TQ=Vo}pezmIE#NrhkQJgGML?`M=7Z@eM>_)81RyTl zM|RU`<`)ZKvT(<%?%N#l7}120o#3Q(-%q;)Fc!ck1+FJu7GsuT$QgAi!1B3+1km}{ zC?UYw^-VU`e-MMt*YThcV5-AQ2N9t8rQ{I^0caw?%5^CQq3o(~Ff#74d7N4^7K*pi-_2%WR2Z9UI15Zpq=zO)g w4L~GNzc6F9Q_8uy>j6kH)csTcs{cv*2dehiN5$4>uK)l507*qoM6N<$f-Vh8jQ{`u delta 725 zcmV;`0xJEl2D}E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+mTbK~zY` z)s??))Ibo%Z}S8qvV_iIDCAQt$vY5$(~Sger8&TTsxU zyaPSTBP7gt*Zb!ZB{eI{XYc-YzHi23-^h$dj}Oy41ytK1c9=Q8$E^^&SJ!VI0l2Ph zQv}6AL)UF7YB;;!sp|uO3xx?VOzBSaE!J{M1VRQ#0NbjFwYw1@CP;v_d%E5LMhisN z2Et6NACTEHG-=rBc8qRl2@aIZdh$VVGMVVz&S$3TO!IFEmD50Dhh{ zKqT@ICTtudC!zpaKivb+AJ(4cK-ky#bv;!N0@NRRftCF-z7NQM?%)F19)BpatWc*3 zhgkOg=LZ2Z096j?wyM$XFsNa5cv=9YfFv3L&Rr_N3eY(DwZ{d(+B8fwRQ(d|;XMEo zu(*^;&=vsl0|5XKpeX@3P%H6yiOUjz+Hb{J_NoM)wc#mn41wc3&3AsfO8{Kt0KWD6 z9Si_n{V0H-Fpa=}{CtuDz73S`SryVP2F8-1<8!CF(vfgyx{TCh}=q7qC#ga?-EmB@73^aDVPNdm-X=iKiphId3Y z=I5vyJNnWAx)r|ob^Ql9_KlRHf2O8Ux&0&JpMS4!dLa0iZ^Wl`-Xu)EzI%D&f#8Dl zgC`~+Ouo7>y9q!fP~R|PbyCWCciRJyG}Qf5|EmAR7>)h`s`l7N#C$yp00000NkvXX Hu0mjfmMuyK diff --git a/graphics/pokemon/mawile/mega/front.png b/graphics/pokemon/mawile/mega/front.png index 5ab49d5576d2a89c900e78fd5295594c8061dce8..ee50483e18d3a5e18a7db8993f4bbcb5cfc5a412 100644 GIT binary patch delta 819 zcmV-31I+xv2eb!}B#}W-6#xfxNliru=LQD|2|CQ*f4~3$0~e8#A%Bq(pi9%COD9bn zqOk$AdTcih9n!gg26=EN5AH+tjyk;XqCcva% z(bX8iWg@s{++2nKLP#VUkTE8dKur$f@IwP=7MU~zG{{7YgM=|4B6BT5SsL2UM#GpC zjQtBpXoWeA*cfXw7=J9TBOrN;@sB#X&bk-+#i8(?^0V24x38*q{$8QVxN46%G_YJ-HY* zii#A)4<5)gzAyCb&zV=bU@qY)Tu^0G~=@kM(b^wKV z8e!8@bK!yeY#IVmlOYTNaIv3ZS{K;gJpc(A0xbhl-*^G5e-OYAIl!Tri8el-smmHY z1p1`k1l&-aGgTna+pM!Hh9NSyminNaA|N?RU;@ZT=4wujwAwjb#4991BKx&yk9>aoDoUE(i zn<`e60<7LFkH8`(laMI{uU+9&P$~fCH1~?}uPXsHEfQ0BKl{EMY@TV&*i_d}kpQNU ze+~dV8Q`*}DSr64fNX->>_cct#%oZnc%e)Mk9EGx^MA0CE3CM~8rS4TCha7L$=%SB z7%ym(YW!+7)_{wltuaiwYQZr+$(N@mnCf;o2;931sPczTCjiVd@)a7)F2qHZSJjZ< z*k*r_`bo;?$LfUO);o+-oT=vb1|Eh)ocWw3?I-@!v?UU*2`m$Ldl~SgWxQ?MrrfBu zwY?+a!+%MMe_`aQaV1wjtrVvxGF4~Rx?StshR^3(oIBIo4k$4refH3A8>jGb8{p>z z*bEaWJTP)?%yw({t6jUY90Am>blcgw83Xvb-Ik7kkvaIfA)wv5tvC;q2*9k}jRF2% x!D{XtjNXo-J6Ofo?Ff5LvwseM5&tLS4{?6;oe*)%*Bk%<002ovPDHLkV1kK$exCpU delta 830 zcmV-E1Ht^X2f+uBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80~(QuA%9U2 zpi9%COD9bnqOk$AdTcih9g?|#26=EN5AH+tj{BoYnC7!yjMCI_*<(Eyr7CJg}%GSOl$VGM}KT#8VZ zLi^Duj7h=RS3p8D%qe1Htj*wHa(^8G$$QLy*3o6wy)aA;g?E%6&F&@pi596U1^^%? zWImJ;LF!yD0oRw-60sNn0iX(?cR|8+b=v`h1gFbI04_?4tEzg!S$MIq;Y>x!A@HHX zKmpW~ivxgDlcM$|m2;ln~V857& zHa?%J^BO$_`e?lgxS~F1sz6|{S!Y#DLu9Tkt%GukfTWke0+5f)#hez>YUgkgZ;%L$ zCnL04M)^#;0&C2r3<2CN#(#E!Bb=k)4Yo2|ji}FS4@_<}`ZEx)-UM__Rq>2~)G~kQ z(}Gi;tgGRNDwb3NEZ^Prz#=A-kSPSOUExbmDgfp*_LA}MO93@a5=;0v``H7&nbVrF zsji(O0W2Z^8UT1Qz>@;d%nrhX8V}6p~v7=Dk4hMmIcL7y?|K$jPc}BiM zgV}{RtMaNkBsea!KS=!`<6L)(V z@T6tDZQG_?tG2a+BY)!kNr{gz^VqnOt6x@%p;0>kpUhgfZJk^5`CJS3I&cIJlvt5w zCxON(yxbc2DFHUa0tyeX(=pqw-0ybf%5nry+tO`jt7Z(~t9Da50!GH*tA>Df<2K?n zP$B@cb~^_6?+SKv>tLivzpLqB9T6ahcbsPb4F4hiFM_eZaT9*?oxnM!-~a#s07*qo IM6N<$g25tw?f?J) diff --git a/graphics/pokemon/mawile/mega/icon.png b/graphics/pokemon/mawile/mega/icon.png index 6fdec15ccffacd880abe564fc9851e9755c4c1d5..e0f228ed181e2acb11cb944117ed3e0d54bd96b8 100644 GIT binary patch delta 477 zcmV<30V4jj1jhuBbbkN`bV*G`2j>O{2ns6tMLcH!00F8=L_t(I%e_)DZrm^s)DIRE zkah`f>4Jn?H)&EUuwgYWQnd6o(nG<7jjs5oXN(K_h@BUQq3u(Lay znWFfYFI@u1cmaUf64C|GixX`)5K4Mk?S&qLc63I1^h6ZY8-ELgD;aPuE-Twx(&R*1 z74z4jWVBdy)PIM^5WL TV|A{600000NkvXXu0mjf8yef7 delta 459 zcmV;+0W|){1hoW^bbkS>NklE_b5Qg&xqlr{HmIoF%DlIv3IHy((DL7ED z;NGgLbRfX{O!hVb1+KHL4g{>vNxa!42M*Qn)BH2z`Ts2Y$``ia=r;h0wIFOjhbLZX zz~%hD=nEY=W%xomvdrw{Sp{hF2#h&{4x2kxY%t7;lNvP({Tw z6PxN@U7OdEeoQUVR5{(6P^tuok>51>lNx#i#JH7wI|wL?v12TVTV6ZyX+;<-1ar~f z#v!(O95w#P9%|G6z&yBYU{Lm$b64J^uPC) zlMO$Ia5*ddKLqX&fxCVojhpzZeA0xGFP>ZZVv#u(SE9p z2=;yKIOIcFeG|&5MTbY`@S@G9Q|T7K1=MkfRmm@4kwo>HVm=ZOq3M7?9$_ zpKjWik0c2mK$|~vKE|qNvC2o*#h=6Ks9WRa_ZLS_>pnj>=SKhl002ovPDHLkV1k8f B-<1FW diff --git a/graphics/pokemon/medicham/anim_front.png b/graphics/pokemon/medicham/anim_front.png index ca6c359703de4cc32db7802ec3cc28571aca2e73..612910203fddb7dbdb915da42d127663d6752b83 100644 GIT binary patch delta 1129 zcmV-v1eW`t2doK@7zqRe0000977@4hn{lVKtPCIs$y2?*6t;jkV}6L zzLb7|JF}}at~+mrl0%wE>i`yH75F0hUecb-sLYl!yQS0Y_>LD8xxOT8RwA%aI<00;c_-J|X_ANTewP4C6tq{V{$OVG-g;w$JX%!>@nYi^QYD zWWXZjR=g?)5dC%t0gDIXfScY&R75~Ny9hL?AW*xq#}|T-MfieuhxQJFO(TD3AJ`~h zVj~xeFr>XO4mPpV2pN_ohzE4XVR69z?R{?hA&oKP>tN?>4ZqsL_&9=Ff^Eh2B2~1W z6Mv%tczOfs+p4xhlzwrl=*&xJzxJauMUX#|=ST7Tu#2TBPJUx>jHMY_FOS&$Qz*ua z-)XPq+;^vdgS@X=rxQ1`6+nM^G|B*ARsi3-SvFMx+yMlvCWNe8ryP*Sm?gT zR0UvJwUh(WnNXc1PgBcst5pCf{XF68Ws7@ArGRM(D_h*dW%+T`1d#ttM)C_&6Arjt zo&d*XVq8-L%+7%;BjCIdv-3>L;HBeDhgIvsRxnmiEho~HvQO8*gPLjW{qW zo@O$?qnYg`q6OMIKr`FTwhpLhHep<~-?GlSLM|*5wTs(g_NyFh6#4>opaYhLyimj_ z<)0uJC{_4qe?~m;PF6EA;XeXNQZt+85$e!^nptC+>ytYXcxNzru{OSQoz=lK(ThrZ zdYxgg+UQ~L@Vl2xQR{yJR}Xzv=XLv^sR8rL%5YD4rS9GMfIC0|2%vi(`a)g!a1a~` zbpaA)gGEAJ$R&`Eamcv($iJ5t_Y!d9+9Jl+<|66QKZ2m3&xCR3b9I2&lXC?}+ms$N z=Hpz86-qRu^v!0wM}z)gAJ4_wZvGJPs{bvmySx2^{ygn2-OYd1!S-I`4S<@*cwXVN zGkTP(gYM4Zxiq&Q&ztsAlKjqm;R4w!`{#t-YiAjL?>UPL1!78Sl@XG*ocIK~QcK0? zjz_@oFNS;Pq%{I&djWW@mJ0xdzVKQ;G}~VTE)4MDPtq$cBruj%6D}~Uas~mVpE%%I zWuXpITdEFzNY+*P&`eVR-~!`EG5v)H`8OgT+gu)`S$blF0z)Yeutr~S0%J=FI8mWv v{)9R>w2Mr!Vp<3tqyFNrV9ikZKlH<2;h%o6Z;*=C00000NkvXXu0mjf91jeL delta 859 zcmV-h1El<{37`j%7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R10G34K~!jg?U>P$ zgCGn=O{5WAsQ>@Bn?$i_?Uumq(>61m>2!JzF@~Ub82&Z@uung_J_6j_*aHCPx&dQ1 zpsNHp_9ZYN^ywvqUO=HIvg^w}#A&h;Mrnhb12Moz7;jDk^ZG`@c)L9age><=sIRH$ z9{`*@g%B(Na9J;Z1jKprAT7_Ml5;VxA118r zfVJ0vtjFR4_MsptR05D-%imGh3AF&(0dz;rpYR@(U;=P30C*TAQ~=^$giuMK={|Yy z=lgvM4~^W(+7zU3HOe(D0Pg+S1v9|=eQe<5U}VCsAQJt5&j8u;JA%d$#;hkIRpZYI zpyVuBD1;c{39}mCsds{IU4_UF!mNHPUJ0n>*R2<}yzA8(9!W|^D?{Z5wFddX(}TQR z^jzI~W$@Yzk@9)V5IYfq?*nMzq@ZN4!H|zMISD3Omd5jO;n1znNLao&mYJ*3M&PlA z$OP%927pX|W#1yJY(K&rP8PJm5s z18@tt^*+Fo0ri9=`jr5Dt|l`8QU-tkAi)Z#e(;ABqW}^pAZ0@Rn}ZPID(3`teLVo- z5%OIL5Dhy55BfDYDMK$I_URQN0UZE2Mhn1V)DNV8=WtOB^Gw;EYOqnhWAuFLcx}P@ zXPQ?TbOJbqPQcJpfbRI12Oslb_+|5;B|7`?U>>ySOY@*ff9oO~&4Y$Gng=cVlX+m2 zUz!I7{k3^e9WTuT1K`>`s3*KI4=izM9+&`^=7A+H%>!Es7v_N}p3DP#4kz=Vfp9br zsO1fRx-<{$2t<`;^T6QWkUmvu+NF8$oDfNuJcHQ77bzg8 zk9cg{XZwJ)=>26OX_mzg>0j9gtYyMw8T~mrt(W#e-E{fb2Os<3V;`Id|J**%^QhfE l*aY47!R8+{%m0ag@D0%wEg{RMx!M2#002ovPDHLkV1jd7k_7+& diff --git a/graphics/pokemon/medicham/back.png b/graphics/pokemon/medicham/back.png index afe746eb69793bc41f89338226f5c833b5f101ad..636fc0483504eec2e2683353f247c474b122d3b9 100644 GIT binary patch delta 636 zcmV-?0)zeW1>yyeB#}W-e*gz`Nliru=LQD|3<(Z+>XQHf0!2wgK~zY`g_XUE+dvS< zS1N={>p}u41hNWqhPX(P^2$7b4Jrf1#pVP)4peAKm5?ImHZF8*<#$NyE`=*KmT|fv z?~o#u!I@oaFUU8$nnJ>!pXcL0>mA07g&}jA_dazKFVi%QoxsgLf1SEAd;r+H0RIL6 z-u4{;D039yMI8VecL8A+;CBJK2&YoxF2IjqH*k()05v!V_9CibpW4Orw3hECRzORM zMBfhV!Z5OT;=%5iGqJ=1EVwW9S%y1r4ZsJla>kwSm~)gi2U|z+yc0K$^mf? zfne4iL~VdPs^gvz`Q@ZunH(ZXPzEu-IB+{QGC-_!5*IVMikT^*AOW<%)NmG(m@4Kd zrF>M~e-s4)_@iuvK&*kB9C?O8w0stTWr-}+n`5t(Kgf~mR5b+bGg4NCZp)9euxy7x{Y&i=o#W#Mgroov#zS2P!%+g<}&qpT3 zjFz~OCX;}$p44?$(z+MC;>|?u_ z9i!#Di4`zXBGI!0yM8~gchZ5~YpszeEr18;N1_3iv**B08w<(-ee9}CerW@v6Yw1l zq{UJx^{o}8lbnDR0BP}{)KX=wCTc*B;V?14?J{jO(EtO0DFL5<=GRe6g$7uesXnOm z_G{Pzq<+c)VHW{^*2(~71EfJ2c9lw7O(O8B$)TbMWl-}r5bVUL0YcJAJ)6l@D4HTN z7C`fx8csqoQ^g#)){oTvN0l*vH%e9rga$|jV_t$mjC>YAB$3YPEwNY5?P)jLE(1`a(wGbu`6F(vqtZv~Ab&kc&Ep9rq`OLQzU;8CZLkfF* z(m`iDfPQm660K$|kkry7`jMXj#y09Bzz;!4a?L1`O6^4EQL5wSuZ{RzA+Rns8(s{l zt1SkoiemGFFLYfTDL_$3$%aVQ1!hv9Na7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M7!`As3bu0002TNkl`z1Ge%$*kF;(D|5+gpCjWl1$-RM84FS7G^UjYeDUO9?ApZSB00000Nks-uM6N<$g3E?#a{vGU delta 261 zcmV+g0s8*r0?-1G7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S&PhZ;R7i>Kl(7!O zFbG5=2n-(J|Npj!ld7o#v|TDy4HDBmgADd9%b$k(3w?~9@S!c>*6NN1)&P(ZWeFUY zNfdzVEFfhG06JwY31UUCmR+2g&6&zs1;9*X<+Oc-Uf(j(YaK@;nK$wb7zKhJfgqC> zZbH0@Z?{R?2(2+>ZLqnnDibKTA*w63Athj{hJ8r0aEt-#=$?!(^{DPlGJ;c;E8d99 zKz_hL=AUQ`WOtC=KvKXC29iQg29kfThk@h{b1;y?VZLS{ANs=${ZJ6B-nDU}00000 LNkvXXu0mjf{dH}v diff --git a/graphics/pokemon/medicham/mega/back.png b/graphics/pokemon/medicham/mega/back.png index 692470be7a0dc4c087987318c7da59bdcfcf1a00..685379f2be5cbd5264b7d0b917aec50f340fc7c9 100644 GIT binary patch delta 681 zcmV;a0#^N)295@hB#}W-e*gz`Nliru=LQD|4J9SJw=nKaf{02>EjFroF_W|_H#>J0EEoYr$)Gg>R7fbf8qpnS=rwxQMwP&@#w2e9PY zZj9zxh!X%&f&vW(T}sC2ek%y?CJERgjSAGN(&<5?~CRsgsbcPl#e! z6!1fO3EnsWE9W52e``c@TM`+7YXKHb0?=Ly&{(^YMBsyf%@zFy-2s0T2t)u>LV&Ru z5si#-!BT|8EdWqDAd`S>ly`s&2c=?9-aye?U=MI6kX6{8T5jn9AI_9}Dx7L0W`mve z4p6pmgaq3Nki@=Y@sIXU!%ZNTBr$ZcrRjbhfk4cPVHkwVf6NbY0s_JJLvt4YF5d6a zZ@1{q*KBiEba>z=s^oMO;POXWbSAPzvb7*3Ugb%AIRKT7Q@ggpRgYwiTgP zG*+LBfeKcn`hgna#TeQ3Wl=QHCxB)DayTLZl1NCDn-|6yZ2FR8XOeF?4rU~UmVuah z3EI8)?cZONf5ouhjFSqC8>-fqs+KAjM&QcNCLd-*LV$8-a7xV30Gw7MK@%Y)GIlGKfkGoe^TK$IJWD2)Uo9GIMcHb4Fwn?4rcf><$47NC5CTHe zV4*ArLM^Jdw)2N0$z1XT#V1hI`}>S zhqq}GK&ju;10Mf;N_X)63V+4y+cZyi@P6t0r~CC5#2DbAc=&B*Uq?EiZp`DIS&sp4 zQ)A4gFlLs>FnI?+i7N#>y_<*o0eDFO*c#)-S|CmA=jFd_ggkCL#b}E+) z-9*o|OLKEu2NANwE(aYP9K`cpY1sC%sJt z!VJYbw@~mZEX<4k8ye_kihv-~o&^UUNlFiAIVAbm18#v^m#I>r)X1_5Hw^*{`OQ8B*|=@MEKH50S6XdgYi}D60+d2pZ?)N1 z7L~Fg-AWP|=>X8vAvz&xy<)!J$3Dt>s7_L41F#E_GO00~f65}iTRUq2@H+z_`GM>O zO~m8z31RI|?ZdBisTa5)tUNhBp}h6X-Uk--AV(}YLFnc@@H}H^Rw-lqsc$EC)ZAam zFH3RKWI0+jQ4fg1{CvHyQ?p#n6Jy{7|U6xTIUNb$CUj9V&nvOAj= z)3GHyiiH$5f6zZSfl@2esnl{QD;=aspetw>oEtzbcV?6_P@3Hd=42DI9Q0jy?`(PR zGP&+yvt$KxGVZ*8E{?n9N%CB`_0v162Qj&ECQhb9a+Pk&{RSj_2$JA+Hd@Un9mkf} z1?PLD>^M2ED@8AN?4y0poQ~8V*iO6MU9lr89J%h%f1x>LN9^I@)q(Z7-7eUU-3$dT zk9XB&>#*S1_CYAn*j3fb^SvqCcAR=>lT>y2nFL8Vk0*tvXTEvpE#&#mifQ(JFTs0Pd z8hf0KZ#P0eBWZt$F#yN&@U$>#k^|ZB!vZwuOrjo-05JHu4kRaR$VNt@)B&*Vuk}bk z+`I!II{=3f$K3~}nAaYq delta 900 zcmV-~1AF}42kHlqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um14BtfK~zY` zg_JR9+dveC&r+Atq1ZG-)4}pNSWW`Q*q}H|pl&jBEJQ=05Qsnug)B1YLWd3=9EZ~2 z7y?yOFzr-i58XnntX*o&Z8L;`7N?7#Lxv0?eRr}PJC>X`NV@yK``_KWXQQ!5+@9cz z`QhO`S-2S#ixg0mVPa)}^#&-a3Vo%GVPa)jxX~;0n=e&;kVQ-$0KBT!XbMS%U=}<) zW2&4wDP28t6a}nu9Y`rK%KRrOq<2S3kf)L4YaM4Fgtx3M>N|Dk*4?1272y zjVcQx2FxN)F-Za4&oFGjEMV&*kt&4fvoyn~L0}=iIV4!r#|@~3p`grqyNl`CaRY=f zAvmM9yY!SrNz(;1M(CLUP%|MqLK(GUygr0FifX8i(wdH;3OH?$TN~h6>mg(|HZjJ( zvlugjV$iHST#rwGaGQT>AAW85{%|SEQ0MrB^wu-_2P~>VAJNVUnr_L%o~PfMl{6?n z@$Gn5&ixhqv;-y%+D99PMo2&u%H{e%Cx%wdBWYVDI>yAH1V+ox>U|w!Xx1$S71FG% zScEMV+}XyCNp&a*YsEqu3h3V(M~InqE45tO%mm%Uk#(?t3+@f$TJBsgWpQb-5zL7O z^m0&l?!CS1z02l$omR;V=0w=};9hKJ*Av90Ui+taUhmIwBX?qFU6iZz+RitO!h;hy z&)sgfqI8H|uZQjLk+N;)yq*xf+_sJnJ!3vne_+|&Zg1U+%y8^D#~owNirB-$>m&1X zw_C7ms}%}=T%GL8Yi6flTh>u1(A<~htBZp<%d+iy7{JN$+Udp10~;(tfhhpa_GR;v z6_En~`BIkmo?P1Y(RCQ`$^k@9CC^N=c@~mn%5i?k@{3gR^k4GiG6aY@4p_uf@#bDK z%mBrv+m0MhJdHn2C7PkfNLgRv6o7ahrX!9@GYptt4FwPe19t}WL<9hhpL20)+QLx) zLM0bt%lcZ61o)jh0Mx*^6LH-GV7@iM0NsawF%wM+)10iMk2{lfBv$SKIFi4Ez#~6B ag#H7)K}BAH5TAzt0000AN)Y;GyvF z=A7lSdQ$6)jxr(kjq#tCv@f*=DX7Bqqhf;<=-crZ?o2LnHYp%EA-$bkuhESMnZ mH!wbMV7#E?fkF9aAK&Zcn=4#Pbmss7002ovPDHLkU;%<+)20Og delta 355 zcmV-p0i6Eb1Gxi`Uw;8aNklIaAvA$EqY9T^zl zAz#5|$O&cyu)?XD17r4A)QiO^9)BF4(1fREe^L4cJ>$g>ufc-s- zWgPbtK)BO-8 z4}>wLEE$FI23cXeLC1t~U=+p~^nb#zsW8X=_y+6cn=8FlGoSzf002ovPDHLkV1kYn BqRs#S diff --git a/graphics/pokemon/meditite/anim_front.png b/graphics/pokemon/meditite/anim_front.png index 2059f18cb3fdab345d3ecd2cf5f3c804c9bb576d..162ebf20d4be16b2ec056b2e44d8b72482219d29 100644 GIT binary patch delta 690 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 KMNUMnLSTX*7HMe! delta 220 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 delta 608 zcmV-m0-ycC1;_=EBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0wGC6K~zY` zwUR$;+dvq`4?#en$@v7bylAbCf-;4|33&`fChpSFpCCpVMJ$u6LZ>dBI*Str9y%Bc ze-Q*YVQb>pluiLr`5Ja6m-Yk3 z4j`ri*tpY6Q{>DrRDEB6$JVs|PP3qwsc4{eZ!N57F*7x%DlQh3Zu>2C9Bo`tEP@cU z{Llj&=plSx_~FWPUICg5J)nQ>hpW}c-i#IS7&cn1C6kI7BOON28=DY6ypiU!(F2ZV z0K}~i#99JeiXp*l6Yc~M+)4QxxT6`2px<`B_u@+#8w|3cAWeUN0KVTw(v;!~1xY%6 zzKZXqJ#1Rx+Y|8R9B33vfE&-pf$J@aUi*3=0q=f|1E0RVR{%uPkH8xT7Np-{OU^Y0 zc*IkzDQ!uX@jMy@2pK;o2#Ll37=fZOU`bWJ3?MWPL~jMWn?C?^^xuK|0ieB2e+XE% zzV(~C=EEyIj1k0$DSI(BV9xR*K#%gnk2aiFI1JD6vui0000Wpy0j#N1Qd4Fi#P^%C6ocJUTBE$k`q_aI|Ztj=c7 zxZQ_5kGlo0!4Z%F?-L(<6B2{$7~S5hnd1jN!*%EsW*I lS{TcZfq*b?LbUp|AK%jC)gkVF4IBUf002ovPDHLkV1nQ(qT&Dm delta 352 zcmV-m0iXWR1E~X$7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0VhdBK~zYI)s(@G z!ypVqs~8L=%FO@&?b@WNiel2k?n*6(T>QXelDymPs}}jD-WsnUHY;{$4(!l%{VD<3 za2X-Bd(t#-0c}Zb%_gDOlOdTR0YTNKsfiJ&H6XZZQh{W3Lg;Py+KcO|dWU!l6hn-$ zZZAMydrkXuD^;L>17IQ2QMV%;zzBFpE<6A~0Qr=am3s^Lz9`80<4Y*$VR{i$l$V^0Xrh^mz6obif2mO<&y?` zAB68ho&$YBqV5BMH~-joum3hkm&0!i;(Og77r;jfWcX}9BY_MCi3Kt!<|73X{QiSL yVn4hJB=*BoAX7ga0-5{4(&=0fep~!=Kl}jjt{IYH5=06B0000ZR@J!5LK&>+)Wz7N9%=E(DAsklg#PWC3zb+Mkj! zfTeGbZT%}AQymr02gEs(9(yk*`Uj$0rC*Q;xt$6ve*X|7BSywY5jER zZ6Rzn+cwLKTe2SniX%w9GBV$1($ z|93X1m;SL5`YC;`><^v6atXeD5%l!GPhEJd#0{0qrU- zqLl#$+G-cgsC)@l_cY3X83`W%Jx}Be2CQBtVn)IV{gNeSPziGa&%_J{^g6RrMnyHY zDxHS42#{)Q)cyRd zV!F}N`svc!LfCA&ZI*#)+q?s|H$8!W5(HKL_FVv^rIvw58&`+{OA)DCe(XSY*T!fB kVAm%dV9XKl(%+C$Kkq3Q5R1g{Ut>X4h{PRIJxptJjQpe93BlQCvnfEmpRTn|2U1+SUzJ z5?ut}0nkV5q!|qR3KYdYX)rQb^- z8uqQIe?zUA4(9>)WAWCl0{HevA>!lP=Af=GZD=^^22i?|e+sb+z_r^T#Ppcd=^1b+ z-gzEnqyZxSWMFSluK+gVi3W@fY|;*b0cm`$0GosR@nkGSkFkeA!*0NSTjao{ls(q_ z2w+W2ga%F0ZV=0AkajBzI00(xvWFH?0!F`;1>|5ahI;&(y&OO{-2>6K!Ym*M-^4J* zl)p({K|^*Rf8!(|2VYN95#!+kPF{67cgelL;(0(0=#D9|0y6ojL+(I;h>wv zk~5k7@p4Qb?^_{s@V>g=&LX`kXQPC6bD$$&9@kjV8*+s3l~l~45P+T|kAQ&Z z<6J;@i6n97Ad7&2!$VOR{A3XZ+*HoC&w@Wr7BL^s564CDPJ!hTDAk1sVUEXz`og3D z#u@Ooe@dWmwpvXB7yqwdasl``uSqHWJ$0}OV0a!(%^$caRSU1W^a2o@+=xu6I<$8N z>}3JaXccHYiOtZXyil*CYdS!kGg1vW3%z39s9cAo#pW~vQ#^YXmg)ey>Rpln0WTd? zt{c&H1`qmD1fVh<&lqFFG8mbj3oj`R((#OzH?KfVF;d-|t(#9}?;J2H9G>U=)~XKS j!*l;Sm5YA-Ka76>+Aw`7aFnAt00000NkvXXu0mjflY_!K delta 946 zcmV;j15Ny-2&@Q@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG1BFRMK~zY` z<D7bo99#&Xp3)~rXi0-+b#zR6%^+}dP*b2vJ>hCV>Rk57`psJ4BI=z6Q2OK#4eW-L z{eO+{1+0jC?=%2o?^guuhyIu1H_|w$1E?yH2W$$t;v=8Z@1+p7b7R!IruIw+^ML!Y zc;{6CeEVF8`1q#Tuj^YI7_NE%l&+;h>;mwd76>stCUtrS9E$h8PZ_a6#Gmz@4eA%b zW<1e=vA#oEVb~}3Z3WmI+>a+?A-aq`41aCMhV!<_fk!EOtj`g^nwSU;8l+_t%d$zU znFX8xRlDq=MU;T*HM4*m?8VTJ->{c`n5KImT2_<=^WG7Vm2dyqTWg06l}?vOn!c=wu&&t%axRM zs_v2kZ{UcTzh%lG;tMbfFC?n6xZ+DSima}0(J2}u1u#RUe=zjw_LikcDW}^szUL%iyfM?@ez;uZu@#Y|lfPlk8 zQ7C@02?HJ~XWM7N?*R#WM5xiGmxdcjmAtG4gaiPC3DS&YX{H+owT&;GKz|H?7 zn4ANC%6n4EU{8Hm1u*y!OwAv;Db)zCdh{F+o7@0d&;6Bm)9oI;h+?Mpqg9(3eI4D%0_d zF*YcJq3L_@lF}d@&uIA$)DlBAz1hC`RCYfAMuo%gIe)ZjLikyr$T?sB_hlG=1KKcs UDP*LassI2007*qoM6N<$f>C(E!~g&Q diff --git a/graphics/pokemon/melmetal/icon.png b/graphics/pokemon/melmetal/icon.png index fa70c6b6b50788a61f19a2f3720cf7536ad3ec47..10cc39db430ac928eb94f1f68adcef74442ae9ee 100644 GIT binary patch delta 48 zcmbQmvXx~*f+}Z$M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?B$CxlSzEd1KZFMgSv; B3_Jh; delta 21 ccmdnWGK*zG0vBVFx4R2N2dk{d#?}pt07ZxfWB>pF diff --git a/graphics/pokemon/meloetta/anim_front.png b/graphics/pokemon/meloetta/anim_front.png index 59587eedba70199bf9018a64a4a2c25499887f13..511566d9d0ec07851e2583b5b75710aacbb152e1 100644 GIT binary patch delta 871 zcmV-t1DO1y2e}83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M87#I_puE z0009VNklKX21O6u{4N-HE|=A}YpQGBG)Spi0yM$7bl(f!G6M8y_f3t14%t zd;kNi07B24`Xyi4m;H195AVakoZpMUP%yLZ0#BV;`u44V)` zH*XXPaXk%SQg0<-H1$By2&1H>0SZPdO;a`DmaH^s#p#|3sDxW@g!mR8EA#aE;KPL& zGSyCv^4mdQh#^%dj zUM80&MF4{a06qOujyp##4VL$5mgF}xN8+Seu3~wV3GraIASZkVhrErYz`21%{aD+*-U(-6k^2J90O)>7e2#L0Kj>&3_KEIyyH??Q^q)Q zEzR#?Fv-(W0Gnj&64^rIMP1~>Fpww3_OX*b7bm$e^hgAIIK+~ypL!-N05^u=)!K!P z)#ecrw13_kA_I83j{>Lj-^&AFss>1|YVjTp?B1OX01W**Gl0Yl2LiGHIPdBnZJ7q! z(-9EkaNYdYW331ORS)1b)#!nk4~-tcEG!W*l^!$zsEbCV)PtQfATiJ+PQM#;qR2EWsN}rU#q71nr9pJ+OLHtasn*0RSBY zxM0_VO`dj+b$S5JAI)N+2eK`C8a=SuU?4=R2MO+3nI1p{{NKy;KvvV!>46f+x_`_% xtAK0V7K6pDy5h%rJ4o3|J6J6k>*n~+;}6wJD>x0ttj+)c002ovPDHLkV1fxge(C@K delta 849 zcmV-X1FrnJ2crj&Uw;EGNklljA6oAii-H9P~A}YpQGBMdnpi0yM$7blp zK0`n?0I>6p8z0rk%yJX;*i>ayA8kiNJ!$rO>VPNfmu?fcn%|kMGd6;5&jx>Xr-_c zcZ4KbqI7=`-XJ1#=ySjoTj_-mc$u>~z{I7HSP`?C`hUnd`ru6_m_8oMf=+Js#9YPZ79D4d&g3fWR2eC-- zfs*OLW-meK;!+Q+-V~eNH+ld-7XfbcU{j`Dtn-(80K*?W#ZnLSSVZq(p$FDJ7znn0 zqe=$}?pc{0KnDE3m+66iO|*ne4@e-J{;}xZ1zh5`nCXEfFDRYNfRwUDmgNw43r61h bI?(t7)k-TkiJ8zZ00000NkvXXu0mjf4L_4X diff --git a/graphics/pokemon/meloetta/back.png b/graphics/pokemon/meloetta/back.png index dababcd31eb3fc6fa45f351af18caddcf3d6223c..63dde56e2ea0fd4cfabbdbfbeae8ad3789bd5cf2 100644 GIT binary patch delta 599 zcmV-d0;v7R1-%83B#}W-e*gz`Nliru=LQD|7YaT{aI*ja0w765K~zY`<(09D+dvS8 zWft{Tv>0-o*195{bh{_RRhG0>syo8UxHMunPavyJ8AzAPK2ltf#z!6?kml-;hsumZ z2zW>M0Zy=Bn9uY7quCh+!K-|tOTe4?1>h#RkmyEW3YJU)N+kdDfA~*mRF#-}CMJMz z)5}UMtP&*|XRF?Q&|uC?_A4866ur#OyB0tf=i`o3#(3*g&Tn< zFFKnux8piSmrCCqK6yPzVi#$x3#(FIZx27u0WOw~15n#M;l=jw>paB_{)>Pvz=7Ky zzjzwF*kN4P8s6pUf9q%8WwDD#K#1h{?!~XNc+e6=6aqhvKER+r9ZQKo`gRJ?n4uEs z)p1P$d<3-6S0@T+6aqP%^7%V)SzMEkRlu15+5rHecnbJu;_i7(bi1%FA5D~#z)(jW zMU=t-G&vHgCKC*Rl|u@h&!+$fM6IHV8XRd10Bx=_#wj3de{5rn$r#*dNnPvE8IWl5 z8e?%rz9HE{;)9d<>{sk(YvA>OP7HI$g002ovPDHLkV1kuU4PO8N delta 607 zcmV-l0-*i91;+)DBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0w765K~zY` z< zow7zEga$XFNR1sz2Bk0Ng=9``+4?@ibOh5a_-wtbs123b(N8 z~WBzsqu;jDYiWc>T+tvV5xq6p;vjz7Ia2FrZ3=K#;wf z0tz!!Ji8v&A;3nUxVk=tKqC{3RwpeIADZJp^Etwupnv~SE0obS_5bcl~Wc1QDYjdbxz@n7NO5N zvKmS>MUAl}4*>{&8!PMZP7vb4+U5zaoybD~YqUA#lFS0@A2kpLKxhS^^0zlKSfddL z)^N_ugB73!Lgm6hiuF_lIHeGHqfj^G2FbN}!~$X_a+vA?T>gXRDL002ovPDHLkV1kl#6KMbd diff --git a/graphics/pokemon/meloetta/icon.png b/graphics/pokemon/meloetta/icon.png index f640f80999eabdf3ba4362884ba2852cd4662914..3c6099b5df0bf2eafb3cdec852d4858694c83f09 100644 GIT binary patch delta 275 zcmV+u0qp+80^S0U7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M8B75hx5a0002NNkl)quOV%gywz9~rp5G9P{ZZ#0H+EjiU>Q!Fv{FHz3 zkd}>~acnc`*HEi2^6Uep)_MH_uK57#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S!%0LzR7i>Klrav& zFbG9sK2`@?{QKXw5T{!pjk~_q3vkShf>AnR5{^vYZoKE6IsG^~68LBaj6wf#fB=5eTjXBEJbF z@|8gN5l9Xk0x1-;1Y)&=E(O9`Ap57Qf6d)^1N>YJF)a2*7XSbN07*qoM6N<$f-1^q ArvLx| diff --git a/graphics/pokemon/meloetta/pirouette/back.png b/graphics/pokemon/meloetta/pirouette/back.png index 7cf58872b832ed4cad6d7e01bbc9362f52b5ce13..d48d1aa74348540e0a6ede2ac90d4c63c87adafd 100644 GIT binary patch delta 686 zcmV;f0#W^;29pMmB#}W-e*gz`Nliru=LQD|7$%Dc0G|K=0(MD6K~zY`&6PoG+b|Tz zmBP9nRsUOYxW$-cl~-yz$v zm+eVzM(4()i@yMce*s>!C=`&8V+1;$ zDk-3b0h(m?wO%3s$uaMC>MDCQlX6i2ei$G1r*58}NQ_khAc68|<|s`QSU>{I1Lj!RmpaR&(o3)&qBwMbJuIJ@8WZC|GEui6 zjRh&^P^6HDg1Z1(f55!bdV)kQW_;k7G!n{aELKp=5jafTE^Jz+aJGV6h&rIO!aQJ{ ztqd?o+h*f9vBo(Q(=@5KvA!^Us0;uBr~^y%Y4%HMpknL-WW2aAKCM%o$7V8j z<79zLp==*gzKNj*94v7ul$8KEXNPs*eP#zDvjhu9wTWAsf8D?|6!@jHmo?yEjQ+BF z6S=4Z*y-Y&Qi>|Z#Iyl;_D+}>-ss|#jv9c_=Hs#~RpXi36BWRH0Ih)GhF@(P0d^0R z8~!0_0q)B3(@o(A;_}DQ)$3MZ_;Yyq)^8GlFTthqw`qXukEd-w`T4qh-UzS<;A=BL z{s7-M#J`kge=ELu0IOkua!dRr;=2~WmKc`ht@oOx%mQ2gMNC5x-~MX*GoS%IYRi+T zN65beo#4?=8xGLt57%lCiXg&Pk?HLKmcXa{RUAY?VCMfZz&Ph7%ekO5m{v;Dok5sk zPQ;XU@$^&~7Px!Rqfxcml^?cy^r(5ciV4^UeB@h*BnjX=c4mHH0A1Txm;68R8>ry% UbSU*^IRF3v07*qoM6N<$f>7Q@1ONa4 delta 698 zcmV;r0!96k2B8L!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(wbAK~zY` zy_L;s+dveB$A-FDTDC*Ln^==^+-2J-bS--xKp1AEWhiLyTAjeT3p73s~?9!%*lyL_5VSLn|x^;RgQOgWK0_Fb9b)Z^G zt@RQeAWCOUjGX?7QaULdAWH`z*s_e^dhb!p~M2>=361{Rpp?3dI)#n=VNIKDJF zZBm^E=E>aGX^cyu>>N_Q3!nrXEO055wE#J1M`hq+Vjqaa63iR909l#cz%pd`rL)&1 z;9!jTl1+$IlmVQ7G`^seqKgSJtpHwp5JtmWot@E91u(GnAkT9}s?-(*!0P~70K+xE zey9Z42FTa^Q`i7J=J}V~tR4vRpU2m48-d}k;nn;4kO+MBt}4f9KLIzN&zgYz?k0a( z39v2jtr{Rtz>jrhy+~=c;(HBXJq(anFLlu(cx(V{i(#IB-;+8~W`PG%PYgtG|C=<3 zdi1!dPW&Dr{|>agou5_?(C6FNsy7gxkE0^f+XF0tSNWU3^F7Zz|GNO=oSQ1=f>Li< zIPIRSHoo;ZE;6NEJUvB)?d33g(4)SEH?MiNfApxixzGgc1zvGBw*Wqmtyw*A2wgi@ g!(Z!v79oEX0I1;cbccQq2LJ#707*qoM6N<$f__pw6#xJL diff --git a/graphics/pokemon/meloetta/pirouette/front.png b/graphics/pokemon/meloetta/pirouette/front.png index a3b532860bd632eae9ff136063f5d1f6c6594429..a0034732495895afd6f4c9dfe4f6c785ebebdf4b 100644 GIT binary patch delta 642 zcmV-|0)73p1=aMAK8k~Xr zsAm8uK^7PR@XUY(F^x?L+AuZ(423{l#_}@_z}YE{80WmwAdFwYc*K}wQWbH)8HF*H z3XD}M;x6MMjAv3IYY?Tv0Fp+bWGQE73WaQuB%@X#&3G5ERid@x?5c zCe!4lA_+8qFn^B%86qz-##7Zv9I_#dGG3(x&ra2V568_O(xP0bfTLG0BdJiPEL8*O zoCTccd6Bb1U5A#KGEG$k+S$wa&saD1)-{IU4(xB`*C)d1lO zA+9PJL)UiU^R+MD2&@M-+wb?qavNzITLMe*<9ewDCVyY9CGd5rzg-` zgIb#|=;rd_rCwm*B3yrds$U=C1QF8=2|YitOc(qPMwq~(cHRW)3E&~(Q;=l?wR_!eh6JE>ON%`_>H@9(T(>_GcH1g!96?#$o=~JgBxfN( z$4P4g6-r@Wdy$fDsp#)cAT1IU5lt-d0D(t1@c?uYUGfIkv3BUZ>p;UumRI`!_CK>< z1Mq*t@mj<{e~h;PjDmx$0P=Rg!I;G@I=DD!1q6i1JR$No7JopBGZqOc<=lb@d4Yqz z5SmF%#DNqH2ShsvF*gxMLWVdPYlo~tj1FB)Du~yGJDLgs1 z0RBLId^AUuzqJ72bEV$Tbqrv)z6ztD=_?eqk(T$ z0NAIMQr{J~0`9QdsD)M67R&1g*LH)h2c-P+#6CYH34hSG9ujgtaawe^Lx50xSPg@~ z1h~3^P@kbbHZ=AU7d>#e6JUfkAg&u74H2n9cRUu8!zmErT1ps=dWoOt{39?KP^asY zL^q;{_Q=?fAcg>u=<-f6@;$e)VJ=d{TGkPBw{dISTE<_C`bWd&wF)aCD9d0+HhZSS z@Nuv$w_1M)ZYY!TPPy2YYr?dZX(IqSif>8|PT-q$fZMBE>#NvVEcXDg-RuE6n{_(? v8{V$pZFx4k6rcBG=0oneZ1K|RY7!(Kt0000?P=%ZT001*kOjJbx005DLFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2pJc{!ZG9k006W}L_t(Y z$L*9s3PdpoLq!GMnfsr1;-B4smJhRR+nph3(^rwZ{=UGy)|DHpKs5u423naJqoy4y zq9uV*@RTzri+^&T9iReBGu6QX(DZbAs1Ac5x*Rt2NCE5gm>nJkU39rB^R+HgwZ|dM zt8~q?7}u--inramp@9yAr^YslJzC3XGmqhv)iy|7I4}Me{~sv!IGXMqf5?OX;_<~F sa=?E<`-p#;x~=&4|8RJ^um6V+C~^$uxi{PI00000Ne4wvM6N<$f)cBFrT_o{ delta 374 zcmaFJG>>_LL_G^L0|P_nf{eL9ioL|s*OmPVBO?ccZol9L9iWhSiEBhjaDG}zd16s2 zgS(GQfSyn2+B^)IMe(pdSV<4Nst3gv9NU@|l`Z_W&Z0zU$lgJ9> z8wB`-xF*eMZf-8#yLa#Z|Nr+cas2j8^J>yW2bucFl@n5cY8aEe-CYk^R8do$or#u6Z3Q{cb205ft}wy_3#5=L<)I zdRkBN)g83FyYGyivyqdIx8>tCTih0{_$=x%Q$5_c{7YVu+<_ZiB&r$ z9TWL5H!Y^;-yS~J#oDs7t)AR`%?CQ@MC539l6<7O9D-}bbq|!o#2${x?Dce Q6X*j5Pgg&ebxsLQ09Q_rS^xk5 diff --git a/graphics/pokemon/meltan/back.png b/graphics/pokemon/meltan/back.png index d2785c36daf35b0155f64a5fada8311bd7c8bc01..df882107694ad853f6646dbf1dc1e37869466937 100644 GIT binary patch delta 437 zcmV;m0ZRU*1e^qrB#}W-e*gz`Nliru=LQD|8VF_QZ_)q&0e?wEK~zY`?Uk`=!!Qtr zJ=xHyXG5|kDmZf@$eVP^;y9q8laryQ(7kzs)=y9{$=E5)Trl=rXq|WI>10ERPo6X6 z77Ok>eZK_4j&rR`EftH~p0=yRO8TR|aWR&1W*^52rJV8-Hx^WZf0VqV>0=0s1A$N} z3c)&D>@Ptm9fEZrfPE0L&Ebj=d=U7xIAYvj?CXWafq)MqTJVlo8%E?}9XbLT^ony3 zFl&wzFb)?p-p!meZ9;S$I%5!d**3xD1owy-Kt@m5_C*8Wi^KxF835o6@I(V-uXJTF zaQc8Xz>o*LEK3Zaf6kA&(ZJjsGweptKo|sbb0ZTD@cschW5fYdx*eCxNRE{OVk@we zcHO1_`BKCmv#0mMmau4P|wIOgM)w^^orlAB&m=@ag4w z^^5(_cP2#oh{GqW!{V4HTuhuk5pXQN*nUCtSoMzEps0&|D+}xy;HIi}Ex;P~_0Myw fD88@%gG;PGdHSVi%Uf~f00000NkvXXu0mjfCH}=k delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?US);!!QtrHQCUqXG5|kDmZf@$eVP^;y9q8lhdK0(7kzs)=y9{@z^QNTrlxmXq|WI z>10EQPnk3177Ok>eZLMYu641c6M1{4?PIk19Gtr z6M+oo#5o9qA%?}!;d#n0LL)c_F4)B(I(0N@1h zWdmeyv@+<4bHEay&jWszr54bq&wMn%)IKxnMle7WhEuzd5eN8xM}Wx~bHJFk<8c|u zv9Lhm1m=nylrioC)}dV)X%kw3(zNKF5S&A5ZT?PtM1Q|$0b5JhSNFS=bC}W(`DXh$ zt62bly*#h}u>bYJgjhY{@BwQ(+vO=26Q>UZ?8>#}Hpf&p%-YSRL& mp{RdfT1ELIu61!2CB#2@`lV+MiOV_w000035}l)y8anl+ z8C2K9!8iy#li;8Ue;Vk+@*;g$Q40rE&g-6DrxF$~#~+4BsL4J=1`r8$x*gQ%L delta 446 zcmV;v0YUzs1g8X$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f0$FK~zY` z?b0!8!ax)U@Wa7?Q%@nzNx;tW#9e4Vf>3a2QgA*HdTpt6wVy!Tx)r3I1+N*4L*gh7 z$w5DXAEEZ;>iAweb*ld*!~K%~-Mg@3{%tttKdx6q=bZBs8U#X!vwqJfKhO|mI=vy; z@SQflBpcje1cCt2;6}24;tAooL_-)its_7nTu;K&6Cv6GZ$_R}6264*(l$7gDabZ= zQP8b7Z!R7sbfJI+C74*?afyH{0JoD_30e^bMgW}I)E=jWfoga-MMK0s2AuMkcDEuv z#Wu;V+&WAW2G#X(FbX5zHn?a50JtnahRcduIH(Fy_hFrCm_HwXei)*mru!@~07*qoM6N<$g5TW4`Tzg` diff --git a/graphics/pokemon/meltan/icon.png b/graphics/pokemon/meltan/icon.png index 17fb4f96bd70fcb9643529582e56e64d273f2d46..5069fab47a127009a2fd0814122e96e8df30a548 100644 GIT binary patch delta 47 zcmZ3(bew5If+}Z$M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?B$FYN^chY+}|S02-SN ADF6Tf delta 20 bcmX@kw1#Oy0vBVFx4R2N2dk{d#MVOqK{^I? diff --git a/graphics/pokemon/meowstic/anim_front.png b/graphics/pokemon/meowstic/anim_front.png index e4d9b1e43d1e4a86cf9c40005f0512bcd4a96281..b44643574001caf27e1faa6f1ba94185f0ca6d5c 100644 GIT binary patch delta 1210 zcmV;r1V#Js35g1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8P$P`jj! z000DRNkl6+B+C)d? zF0=tNTJFgxogqFrCa?u~+l#^=O0!m=C!`1>umLXp2G>G_A}D6U41s~FAV3IN%r=1y zphtZX2*DmUk$;&^@=E|AQRO3A05Y)@0Rd&@TRadT2w0K_yeBKRlJSG3qP3C$nOkd0 zuMH9J17)weZi&7q2~e@)EEWq(mRc?l$4OCMQ{c!_$@mtHX{3PH>+Y!KvE_Egwh<|KHKpHtufU+JD?--DA`&?pR|Iu=J z`DcJ<>fgVtFJ1rf&XO0ep6!(-^>;xX0As*-)wB-GlctGsUI)DSV$8-{aC2Xhnh9>= zn}6oc6*Uv7X<%%dD;r>Vp^|ukAIN6HUUBa4S$>yu+D4(gi3u!z;36fzeRx1 zX}?Rfhd8kc5GqBWkw`DmCP19>pdZQ>0phVnO7NgBECQq>c`SqaojyoDm;%JU1`VF(bXLlqTBxu#tLISrcvq}#tEy(uK+Q@m8BzUYXNT86^sbcoa@AJkQKEq}(m zK2=&i7-yq`uIN+O#A|-fH

D{D_;pU}=w|l_lw_JPdyZ#*Sm3{#qRnFtF&0^dlqoo{y2yXpeGK_-nKr*VrBw@#(&$7xn5X+uIW+2C#?;@ zEA-t~BF|ia&KrrIn)%cPj4?crNj}#4-m`%_qIZKNj*`6S1O`HiC?OZ%<2$+#A{J3O z7WNbvs7nAs$a1`hTmXI=ibx2Kut?1DW)c8^Bz35@1AxR_L;$KfbVL9k0L&3V-$KP6 zN5Z4I!dL}BI)4PP$IaN0*0+&zjpLM6IusQEm3rQEI(1BQ8Y*mPPN_H5$J#oUe*F>S z`sWXnV%wsHFps7G+b5*C{&q4Mk! zyEKkXPt+ITzRGmQi`DwgE92ONQ93{Pn#J|vC5Yp{4IognUZ1r~^}S%=M{AYqy)J1w z#RYNvoqrAF4RFufK=04vzbv3w0ZNrbv9^I#1TNe_jn01>SU_>N0=V=`oCdQx{Q3rS ztH&7wfsAcH;lLyMw5iN%XnY%sn`O|`wn2%{H*{-1-F2}%;h8CqcT|_ zaa{p<;%xxsydr*KK&GytEwFm&c!Jq8z?S;&AAjef+h1Ne@)ESOeeFp7Rn!K^YA``P zY6FwZl&B_cAecNDvj`5C?UV#(OGBcVJnZavxyT$x0$2hQ8_uQVcUA;Q zkbkbzzPv_r#}#0YLxSpyIEn#eTf4Ih(7OARQvfjl2sR)cfLE>!2)QFPz&;z0E&(qH z#VMvxcL@MEVt=8jtM-Cn6~bR=>Z*Taw6OsVhc7w?`0|PrC2Wz+o~1_ZbLGJk6#q?yxz;3yJWA{NnQK)h=0AF2)m60k?g z^x9uI3`kFMTPF1fUSJ<=1L6%%(e+gVk;Y$G2E^;(L`72GV3$aaV$*>1hga~MLL#5y zrLz4+PaLaxEJ99)$X)h9o!1xQl*dP^u@BbWsHiW7sG9VK*ZIcLvs9RHk(X@k^?&iT zBk8JIH-84KMSAP*-?#$+wu|z(?i+)#vJY0SHuhj+AM8048+QQvaJCpY?0vB@7*6}( z6)FF3LpcL3``}&9(EU;S1z&eg``|Ue%)j(H+yVFPC+!1(@uo1H_Mrv1?L!N2+Xu|@ z^%`*72Xy||Pq~K`@O1AFZk_=U{2H0@f93fHZo>en6`(w400000NkvXXu0mjfe*;P! diff --git a/graphics/pokemon/meowstic/back.png b/graphics/pokemon/meowstic/back.png index 1c7d9610fe6b6aeaf91695663eed51c75bf50055..3faef99bb94f2ec4a44b98085d0406b84a765c57 100644 GIT binary patch delta 498 zcmVK~zY`?UX%l!Y~kq zlLgiqp?2zkLF(S9-6==;0p$o|Q5C}&q#*B=g8Z|4c0T+80aYDXdKed zxU@i@V0H8bNaX-?Tq{@6D>Z;=1I&?tqd&m|^be&K_3~E}0>CH+kKKS)#C*hdb$Ujbxv1;}pz^!$Dr{T0YhFQx1f zAar$4h?!E~V-&JO5Yru|$|OPDqET)9b=G~(@q+-|nzJ_*Xx^P?`eOoK^fxpFJa|{G zF6tT}tpInk7(oIAB<3qiCil(_SqTy#z=WXPE*X>3ri`CWA7(W`CsHyu!f=-8ehbi< oCc=p@tW&jsUQn4w|MkoI0kIh{*O?@FjQ{`u07*qoM6N<$f}LR2M*si- delta 483 zcmV<90UZ9>1my&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80ltxm9e?`+ z$`Qt*DuyvgiM&?|^3U$s`S1q>h7K&f4es%CFUEFs+lue50HdeNea0sj6)~T^<(57( zUltdRw-2Bd z1b|kU{(B=>X8}Np?^hv2)+XpOG$9BO87)NY0Z?hCYWrAX9srbrs_m~c3)CUjrr#;j zc?j%lpj8N%+fy{Of(|&?^HMAJK9Hg_!6;gw$sm><5S878>f8iU1QF5#f`6-!ZT#O* zKpp_NakmKze}V@5D)K9UjIIFr4S<2)PouvAClkUD0U&hsPl%aPKT{O4M-bB+rm7@C z+@Voz{e9Mb&he7~+?l&K7v7sk>p7ni@Ipjk2zYP>dOfGE0n!?94~r2bK!BcsQZjjP zUdURI00AZhop#BXls0AjY&iO`XaKsAlDQGai$wQ3fbKLAPK0rjssr?f$}|7Oe_g65 Z`USBWFxPkaQAPj&002ovPDHLkV1n5=(8d4& diff --git a/graphics/pokemon/meowstic/female/anim_front.png b/graphics/pokemon/meowstic/female/anim_front.png index 53b386c49dadf1efdf9a517bd9afde7f4ab880f7..6982cc35a0312024e20ffa5d57d4a12455911740 100644 GIT binary patch delta 1036 zcmV+n1oQju2=NGzbbkN`bV*G`2j>O{2pux)svxHT00Y!XL_t(o!`+s@Z`(K&fGGmr zLrXbiRA?odW$JLqD2XXLriEqCaW3?H0vyimWY5VE|F?Z4ZPyYX-2!cw6EcM6C;oVR z;`<2sKRx4qlMVYLk@lMx9xy#^#t2ZRr>#D3Un%R;76J%)9DgEeaG)j+u94tCS&tk* zrN99>cR&^ZG5{z~VSpNd)CZ>b>hrByrkR`sffuFJQlda43O2WZnlU5{0K{UhRto+; zi6Q_j%=^y@-uI6J7ST9h9R!59e^Dzv{|_P}3O`}s0PnTdt-gjWAOjFG5tA1Bc?JCi zmUEN~(Q+=UMt>9+XjVqTJ&cXXS-_k-4zR{_mn;bZA9t|VYPUH9d=cU*43K0CBNXpn zWEueC7>)^+5Co#X+ZmJ6Y$9R|qvmQYW!ttSg3qM#i4hz&ztL*-keKcIOC7D$Gn|)J zOB)b>DI>LBXx;I=6F5K?E3J7Z>ly4eDG}gup*ieA-hV!ouu5c#rzw{(eR;1c==Xrp z9Oi}oM5s1#;TT3i$7XTkT&b2ZR(pF`aSQyl%+<3^oB_c(u|Tap^NG!jF`iS?Rw)~) z-nDfA%qH>|WhQ{(YX7Q(yQ9hV%OitWH69Sx<#idCb=xKl8twSH*2y)jjY^llLxAgC zciqI?LVuR+e9|p^J|E z8bI=2259=H>Mmm!XMcb)R}6Ej8fI%cxVh_odp7{?UVBFwm%G<#Z^YeOAGmwp^#EuO zfbF&qY_~liLV(^Pqw;-s`kld)Z~c6XcW{TVB6m<`; zk=lIon99)a*NW&EaCw(p6^2(6eYqgQ5fQ=D2YVt9(>RTMUiODq4KCGfx?*` z6(vx#=s{6Jm6z-lWfrV@dqv5{`>94ElpplrTUG zCx0MSNDt^oX8Mb(EC_6XsIE3=0AnDVAV89h$>z=1U>qiiF_0<)0Cy>RG!R&e9G@|e zsKM>vXdp9z8wfobNC-F@$dh1=AMm!#_Xcv)wuth<3dXrJkPlG(kt5?P;S5Bm8w8+eiBk;$qG~lz;lyWk!tywNg)D`V1EgV<3?J#x9buf#^?C zpus#CNS8@mj}Hc7ZUE~S9&j*_y&ZV50s~nb32sMP~2UP0^ zvUd~;{@^E!Uc;&Dut8XWEY1Px&j9p{q;T>B-~{`f&o`Y0QYNl;5840#002ovP6b4+ GLSTaY3e&y- delta 1033 zcmV+k1or#!2<`}wbbkZnNklH_-6u>D0-j9*4$mq~YG&@vLWR%1d8FL5A zp5rw1TmcT}>txT#5dXJ*q&`j}ADyA?QX+#H{=|>RNAgF=|EXL|tITbW#C%%);sLkg zYK#E+d|aFI_LICE*API+p^K=(fs#D7l>`U!a@GP=3LKE@7JoajsvVR&3`#dLcqfb)>@nnXMi66AEzZGtHTf#}zI#iTTg zh#14Dwc1Nr*ENaYm=r!SgU#mGTJ0Vavs{0wvz>Z@{nBb{1L99*ruG}H8=f@+2gqip zHBV)^g4HHD0({+Q4y%wi&pFHz8RGetOBg=CR|T|tz<+EF<3f8PRGqZpaHF7OGr5aQ zshTn70yDMa7WieGsTZ3#4#7FGK&ig-h0P2vv)Y`xt(CHonp|5wU>1?RDl-6d=S~Bz zI=DNkOus%ch*jkQahYG`abDJSQlZg~uS%U_6a{o8Fy}Tg9~QydZ8q#^U4vcW;xejPujm_z8)`>3s^^eVir$)E(e>oC3$=1c(q| zGRY|aIE~L44Ea9I$N2O~M^pRII! zUBt*ON-Hyo#~wf~YUrX@lnA>-p^HIL66Dkpd!Tzo!A`9?(1W4`9?o=7l)$4!dqoMo zyrfflAcr78l7q?S!(YKTED~cNMG64!Qgkp7n2W@S-aw)Xw}Zhz zRsuH=Iv7X@7!2fDu*wg3U1yzvT-PW?-v{C|aZ2BMz9^cgM~#y}wbja?*R1JU24K!e#E zNRvujk9z|#H-PmE59ke~vjZ>|xh+*dQ!G&L{@8O`ihvjHGb#2{6L`&GI*$22v(P=D(2u0000V*mgE0cJ@=K~zY`?bOX~gD?yS z@PNd9QFs7kQT2?%3jpp5pfTQHI~S?S>(}9{I0>Ll+ikv7m4EWz&H*8QTJoeH>9;db z90PR%BCVYa=?*{++?`a3O>qzzX+$h|q~i%Ro1sy|ccKIiQe-2>e*_0KTQDXdI^dNN zX`6s)z4l}JyUCam4uIMLOU9glIS0)=qU+`XVUTpjsL}&bI%gywpI>+F1CdXlpuV}! z303L&9mxB%qYIEdle5AISOJ1K1T}~gApRU=-bW|> zWl;OywfK7=3w#>$?SMfXkGO_F(gF>+!Fvs@34o+G<^j-~M{kA@p#EBe@s~_CZMX(N z441i2n*?_h35+SQcLY5|docjxm7#aC?{I_NhyJg#dIG~<63C>O#6bQ40000; delta 419 zcmV;U0bKrr1dRlcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0cJ@=K~zY` z?b5++gD?yR;82PCqVNEfMb$G3F95hNfW~-(?c7RLUcU|mij$B|({`ILRpn3q?FjMX zk}vw1etQL~G*B-TDARmlTbpW!$W#k{9UsoLh zQO=;EzPY-DrtpBxFjC4Tp~VnrNxupsz&4Pw$sopnJp*eyW7!Z<20-bl7Eo@1y|bD7 z>j(zymWqR>z#{|80KHzxz~KpS2Ph9n4n(PvJJKD<`?RAEkUf)rx55Ni0fI<^*6W8r z{5d%KKoq|Wf)(6H^?eW~%%A=`;3m=|&M}bpKtnF@-a>C8ARmpn1B~WAnp+G|f32Gd zm&`Y9I7h$%POeXzM0XT9OewH;1U*E5G62(+v3IiXaDm;2{;zZi@c_eK$fOoxTlfF~ N002ovPDHLkV1mzhxCQ_K diff --git a/graphics/pokemon/meowstic/female/icon.png b/graphics/pokemon/meowstic/female/icon.png index 379bd27f91beb2d472496f8850228a87998e47b5..4f9bc1fad9ea218668bcd99af91e010e41345bf2 100644 GIT binary patch delta 373 zcmV-*0gC>n1Iq)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8Y%lJ!!1 z0003lNklf0w|rNcHhq_ z!eaK)f5zvzXoT47Xt#8>3F4PTInUe{kl18-5E=wpk5u zV{xd~7WY(p!){OFikcd5%j?^Mh#bQKq$14$f~wG2f@a16Dnyx-3K-i0UrAG8~4Xl^-038y~N|<~WReoH-67ABN*_=VOJ#osWm#@Im|nueXY^ T6HnTV00000NkvXXu0mjf*ZZLM delta 336 zcmV-W0k8hc1EvFzUw;8HNklZt~5Ji21(c%Ljph~j{MjM4DoMDBM8|+<% zCKNPw#of}SVI8bUOS8_h5_lk0x@07mliQ#_SC<}=VfSw*z0KLZyplF4~cTw&F!PoN%YIYwK2kB?w7rE zlg}seGv_hDgkHi)=HDLYk4+Rlfh66}Nngaw?p|b?df&)~D zGAS7j77sEr3`vLaa5{zz2cY(p8-@cA)m?gJIE-T}-#898KAwBcahUixa~vi<49DTl i#|no#AFI%Q!N)hRw~Dcy>i~HG0000weIU4eG-AVyLq34IFfDW5lbV`zdBr^#9Lt z2FjO0vPcQA@)6+hS=JVy>fKTIg}Uirv|H_n z5?xNBcbf#>9+j3j%!0h#RV$0boG}R5ZsoN7nV>!Mdg3K@z{Hz5P}OSLozV z3az`MiqJtUcg`^gH0dmdxzn<#Qf|53L$BH{tPT~)ifv7vy@8a;G&0P` z%s=`^7UCa^Lh|z}z@)Qok4l{6AAnS%=*3?HsmF1L4N$w;G68_Cf4bi*0w@La;@zhn zi0*a(jV1zLzW18wYr6*wE%flDE$sq8h!v3fJOevDfF`s+@1JyY3>amVDh~m|p{o(` z7?@1V9|0l^H|NpN!I+`M4A25(ixWSi`j8%Cp2n8D7JUZF!*HMoE_J^Hg^|o>&45W3 zwapY(rf4`&)E#mzC2_ylZG#&u=|w}gDq$~AH@|>Ubys%9hgFWtO|{Ua+vX*#-K+p5cYY9xnZ5J= m?b|>oq2C0u8WNTG@8TyCeiJOg(WHm~0000`4YaCZt0lAwkA^@h5-}Xen z;40FK52e!5rnF`%WD zvN#0L^lfE~IR-`@@<)K6=BB*Sc+e(EOaRURJDl({xTka<@;C&5Z7u8>kcUozjJDK1 z2QtlWlK_tlS^t?Om3fmtG{xfO!DA2K)P=No``wiO;8le zGT`d}c<)pykQqJefO8MdT~?qBZ|T5n0<0CvNnl)oo3p!|FS6!&szB#8*ZAz5lp+#? zjNWQv1`eF)h{~3KwOES@X+GSDvLB9~5S7~-Cg z2zM>%3n@XR7!KLR3sUqz&3YTe+aI7$~x2DRQgir^?m zQ;gdHwCin)xZe6#e}Yv!CIHVnN$9onL`D>MFRjMov5`O^?=x#8I-||knTGr z-&vPjm-8*)@>qZyjKXVkM@R>bYnee*jtEvp^nzAoPQ8f3N^8 zgbTpJ`xARRL5CTYuxPt23v2?=D6u&2c>o{NrpQtC6M)DPiG|GZ{HHtdZ6qSEg@l!F zx%-V2wU7so1V*ffz6;xyGYfsSRqJ;&rRLL~S5YkY{uO8~yzlt;LoP2NF`T=XiD&S( l1FIMK_j@ei8T~(rvA;4=eG;KAgwOy0002ovPDHLkV1h~u_%;9l delta 556 zcmV+{0@MA81(XGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qsddK~zY` z?Ub>K+dvS8SKD2uz2#g>BO_y6t%ht0cS27P2p7^>g1z1@_KaS@Wk@5$buLr-ASU?b zGLn37u||E08-$zrJpar;BZ-grKO+d~M@^<>qzMSJNnoB|0f;7mLWf_4E}_VIg#z@$ zbEKh|0`fL_d_LNF4pYE?CHemAOO`Kx77-8po;@Cp8+AGHfS6a7DmZj3K=#CFza5Sh zV#xtyfkvbXh-kPb10%Gurs=-uhR9RX8R9&pQ$zz*3*%9;nT}17D+m0f5{8YZ@&@-6OUf zl^4?BMo9NW;ydf2;W+;VTp9{+eNcIAZV2hXk$o_u{5^Gq+T6|{Qd)*7W2ZXOX)|&{ zRtin0P#K|OH{-0zH2FwNQ3c>wR@Doatd6M#q}iJ46C{HHnb zV?-h?g@l!_x%W3vG(y^CBrs;(wM}(1LgvdB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD|A`|!> z8pQwr0Le*2K~y-)-I6^H!ypWWxq;<$ClXyc!3~VfWf*2pHTmK@P93{`+mNBz8`xRyM>W|}&bRSueSFQP>qu@_m% zWxw5D4p=?=S54|)>&JmnyaT3v)(4nG)@^`MRak-HO3)h^=FYY3G3bI~KXN59f02&| YjkcJS1mcb*000002uVdwM6N<$f`rC&1^@s6 delta 339 zcmV-Z0j&P!0;&U$Bv%J?Nliru;|mWJH79Oi^o;-j02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL007QOL_t(|oZV6}4#OY}>gpcs%st+0e?E<3^FE?osg8YiPG0OT+jQ+a?JCussP zkowC_OX>=v*Cu%#fK{kZPdf`_4m9VhagwB6rbI98Ouzs%%B$s#lqE~@`1aInN+LQ% zv8|$cPbXFR9M69mcMG;KoG|7SUmB9K5?}ArH!@dV|X(;fN z&em&yD0@$y4-2Ot45Mt@2Uy?E0x=6j-s1>wSs>j-AHa`@Q^>YYsF8X_gSII`L~qCw z+A{EU6bwgJLN(|`iApO9s+YGIKca@K5ef|zBYkPx&r})yA*89u;Jdc{SfPKbC&~2E zySoNGS68PEHbiLxE=5{FfY^W!j^R_aPKlZdoRh(m!-YZ!SguTbb#^L0T}j8mjXuT?#lpU zX5KFj-GI@BcusUg@jwO)nhP1O`T3Ue9~G2T)aL0fRgmsA(}doby}_Lo?$C!`3~W6u%leHP70S2C{9r6U zU|NS#fEhn1<_Gz#mETHS`^Z)<= M07*qoM6N<$f^c?u)Bpeg delta 810 zcmV+_1J(S82k!=u7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0_{meK~!jg?U;*> z;xG(Fn>eBMmh%6fyM84Ny9n%}m1d<_GeZZsr;g(Ua+hVsjDH&G&DN0)TxdLN4oVT?vptks-kTfYLGme&P`VJcs~g zwG8C{7~psuM=m#i%3v*-YOs3&kQ#wxngP`?=i{;aYCr``0>}d34CIms&Jobt38A74 zt0jWi&CwrYZ-<_NKAg8NE-p`E22N>*=w|v;c?r|LkT?Obo^T9AM9evMj-zt^&|dKjV*#!hA(X)K;HC&#aw1Tmj3NdQ z0%brCbb->^F$5Qq*AocFW;RIRjz-iJWM-pfkdGE^0%>h)M39dfU!=2*pzF8${q7}< z08jwyw{3HO5)z((#S$QWDQ*H_Prxcj0G9g!Nv8quEWs86Xd}qN&@3RN*XEHK0AA1f z5lv%ownW>3+tT8CY#c6qIafc}gFHiWkDjM$Gk}8ne&D;klxkC1`rh1 zzw_|Ud!RZwHiUNmcOBlj=S7=_B0$%FI=st@F&`@RCPZU z4)1S&0aUE4ZT|$2XovSV06Fnnw>%jTjqvgC4tO@(U_kVzXn}k|pvtj2P_Tl@pg1RZ;7lMnuZY)=58#oYXZ(}1|-9~3igP`#75e*ouo o{?Fo27tSj~C1aiK$n57{Io%LiCOkc#=le;z+c$QN5|8@^Pm0d@EmYXE;K z!WP4JRipI^&1w>~j_(zXk0&WmtGsjSg9Z2lpwa=Luq9kBccF-a@S4!BAq;i*0084U z@%?W@dPKQYK(N2o?5$`RB9@C@R0DuuP`(#G?FMKTN%R5u@%9Wbb_ZEVd<>ukI0t}o z9dKcQW(^oZ9I$d#h-H}?pmjfE|FC~dh67+&1|K!b0__AKN4;B`ro*^6dROT6$!_O&%vi&H&uyrrEsABxZ$fj^pQy$m=|gpP zjQum6E}3K-xY32;?=^_l^tn{A?S{&hWMfRqy8mIoWv>7su!3Fj!z zQ$Q*8vf3tg^*}OkZzx*b0j16db&}OR?#4ii_9n4;RcEPwlZnvM2MUPRJ}9+!s*d0? z=u>wB5bzYqOkF_@ zk2}(aO5E<5{>lT(1{bgYJaqOxo(Nwf+Nd Wv1v8U?PYiX0000-7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0xC&FK~z|U?U&K6 z;~)$~YX-GJ+W-IFwa1VE0g`5=t9`hBsG2l$7-IwJ>-8J|Ye3p-!MA|W5F~sHP)SWl zL8ed6J*0mz&{~iO227RqZ{HaZAMTjPlmT+jhomG8Kmxys0C$|IJ|$4#I(P=q+tRnk z1P}rVv>@*{0j5`f@U;aq5JD&bm|m}3f5!q1I02eFJ|8vk&iXqR&;mZp;0Zuyfev7E zxa;o$k^@A8EX6zk6tU;?B_Or(ptGM!6)pjMRI=_Ecn4f}QqCc@fx8(LKpgs7zBo&Rbi8#|09s&;#?xtSx76!@-m;JraRJaugw@6p<0WBL z${7D>Tp$*Oq@0Ln0P44GyCAFq8)F5SFNds;i26AvSg%N$08FX!xB%#K$SZYhAVNQ} z0D!?QrvtzZY(5P$0LmeEUP}eQh!eo7iNK*VV7#QO0u1I6d1&e}AXNLIt*28z#OMGe zMB}vxRoCx-8@BDAvT+ND<(Gosv0gu2cI=*z0mror%&!2R!?us#PX9@7&gK?)m>mup zLIE_?)`GUH`95Zl1gZ7Ct;T``Z`mpVfA5i^=f&XdSB$_@NGniRaW4oYkFJM*uTRz; z$aU*Z2fX^OI1R3cD%r@nH3sZP-B_b7rKDB}Z4tRd@=AXX7nJO$sn1=%G4IVWI}(t~ zhLZglFb@}J`hal#hXqz5>=!4(gZ~S^@ssfva6BrLc(5Jz00000NkvXXu0mjfSFIGt diff --git a/graphics/pokemon/meowth/galarian/back.png b/graphics/pokemon/meowth/galarian/back.png index a7ad396e7318bff0bd023db5eddcf3e69fb50b0f..7040b58c89baaef79006aaa1682586c666e66203 100644 GIT binary patch delta 580 zcmV-K0=xaT1*!#*B#}W-e*gz`Nliru=LQD|Bq3&y?85*60u4z-K~zY`?UcQ4+b|Hv z8Q6=q$cvFN>`-J2dL#mFDtJP{v6VRZF+3DP-a;|ufp6QRtq+ox^8(F576ji<_wm1@ z82b(w?3fU6ro(C?T67yvo?0jQ6^72Dtf zobiOcAT4w786XkkbwhADP+O{e>XJrq z188ZRk-(sD4un7Kwb3oPVGR&|tkZjU3kc_{s7tRg1C&Z5@2GJMsyoIicR>r`<3bRxpux{88e>QN+LC3v7yb{8AL~4Tc z7x733M7$mvL61hh*0#|(Fm|Hou@<&bE>?>Gf7y7tQI7MO3K*gQMevJh?LGP?-8pK4 zgc$XvhQs{QoeTa+O?8nZ4S>4zGa!5*;s6`8CFfpDQVnJRlg!fo=4A6YNQZb`!qV;d z_m02J+k%NiI;;lRar!vLfJhFW_(=ht_T97-%4n5-JU)2$zJH$qgU+xoOY9$orudL6 S!eg)i0000`-J2dL#mFDtJPnv6VRZF+3DP-a;|ufp6QR^wlFA0A8%e|l=-@vK09Jgor=OwSJ8$y$KZeFkY-YgFEKodbYh{R&{LJmy7FPyl#a z1rUs*2-|=H<(xxU2Y>+7#+Y^+K#KASAVQ|;D0bT{?{kpj137trDPaQy@{& zQVV!XlBGomC(F#V{S8pDlyzyFinesgAo@IUf-$^ST$_$8#w2n>z*Ty zgs2@NH9`7|aHIo&B950v&}%JUE7Rx{m^xAPS_#uA8>&TsyKX!^D97bO1q?xe-225? z1Q6kxc;~1I5@OPu8us&xch37~HPuy;H~{LxEr4*I2m|cU6r4LTOEuI3)Zuw;esi*A z9Hc|IE`I6u{Cme=mTkdEB31$HIsG|>fQT-h_(=ht4&A&d6ROrx4;DUn_kMU^fEsO7 c4~r+=8nKLld@MkIghG}wkVe@pKm6xqs$w}YfA^{M2Z^t8d$+vA zTlp9OK0odSo&!Mi5peoVBNJYrjxMdva%7uN>S_o; z4YR}j2P_a>jUFIz_U8f7{^lg$ygBSI24-LRp(~#s`UtZhhb~9uIS+mGJ^~}>M1lo$ z`i>fS4OED&#@-5ce=DM47X;WNQt&pAz=Z=~-P;O>2@(VriEh1~Kh2@ja25izTae*f zSUt~qV-3-1p8tC_VwI?~EUioIUjU&>wt8{e1`Wy~=>9ym z4%D_h)k&~*OrW+7ZA+F!b5<%Pu4^{94nXo;Cva@`V(pN8fBwiQ7EpIZ>c;!d8hS0G zFn(YW?Yb<=6>SsvdRxw7)I)g_0)$c8l;!4oZ~#!TYYVz=f`FiwsHE_S5k=Xw<=Bv7 z{cZCGAWqE~5U1HEEQNM=f$^}vmQt4j@k{O>b1%7EQX{mLGV`VpFUzh2w3pem3AE|B l?WZ(8(gnT$8P@*Y{s4+?rb)BLm!1Fs002ovPDHLkV1i{8`~Ls{ delta 551 zcmV+?0@(eD1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?UcQ5+b|HtDL@N1OG)9bVu5^&smMW|6i^4)-2(E4u9>oSGP)Z^M#ZvWu&cYYe`Swy zQPdVGAnlq5K^*SKckfPs*qi=E$;3Y+$_XgO42mNZQ$|3>@;iEk?~6<(Vxk{15jIJ# z3Uj}_#5?gA0d5|5xwt5QH&^Qzu)duxFBY4pD6oQDD3s3;fV~Hteo;t75NOz?QF(!+ z`J}0b05mW=JiNma(KZ+WQfs~+5Y10&0yfyg{2*ZViC(G>)uDHoeLMIbb>Keq?!5yc z=R}Gn_*; zD7$c)zQXExP6uURr-OnfPw01I_;M*ciJKsfr+Oi7+v<&K^<>%@)25>EvuBy#f7LzM?UFojdD8OCkT;*6CD66)s z*oY{9*Zv2PWO@upvit*9T-p1`?_qx}gsM2=$0Gcjdnv@ywOkn?@?abOvh*8pdy!AW pIrwoyd_Nso)nDM7ULnSQ0g7#=NjR6<3IG5A07*qoM6N;tV1jM?{c->R diff --git a/graphics/pokemon/meowth/galarian/icon.png b/graphics/pokemon/meowth/galarian/icon.png index 5292f0b5490437b889f3c5b947689f4e513062bb..4a8a7db601693bbf01aa2a0746eba371b60f702a 100644 GIT binary patch delta 262 zcmV+h0r~#q0`mfpb$5C;jmR*#ba zb2s2FfPy#8S%P{TQ3)_#y}1C(wRCMBFF0hN4ya#%Rf$juTz_JMY)X`;(=jHr&ylJE zhBgCb0XP%pe8iS0^3d78PkivZY2*2~=4b^;qD9a3n8~^|S M07*qoM6N<$g6*Gj;Q#;t delta 247 zcmVD~jAUr;OC$jy7_@$DcfczFo=P7y)hEB~317VnOVL-y^_P{|i&!`y)N2f>N z{VW~Z>k5kk;VnuyERk(qbx9YBH*PNVFlF;un3!*qg(01ixxs7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M8uFvmT>H0002lNkl&INjlZUxU7EN1T&lxESD7?NWY zshI4F7&5gjO-AEGou%>2nb#`Z0@d4t?oXbuvo5loO{ssR`HQJ2IpQ&sfDV7`Cl zMQ_QB&{yZqLTn3a=GV;3G7XvQ{M21sDyf@1QxuaS3HI*XH^|?k&hHr$ofxv delta 287 zcmV+)0pR}j0_p;g7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S=t)FDR7i>Kl)(yv zKnz4J9wa7Y{{L?~iO_13RoYVz1_W{5PO`f=({$JOg)3cg3IT@66&Nva0|>Zx1ed`@ z9%e2*z}2#@qNG}Ygb7Or25jLT4rWTA8I%T45u0beK()HS`B`U>(9NU})Qx~~Bh*Ej zE+j(cL)|}#*eD%-xIC%?TyKKVQ$RI{gQo7egLZ`YZm!wGs=m48eR&*3t4j`HCl@~G zzAwMfN%*;b*PqlKAU_01O^{=NbU)A`K-z!+mREpOAOggfcYu@x*#}4lL>(axdkc^Z lh~~I5ALxzYh5lzl-BW6vri3?j&U~?AiqX5Qac1>zxV75>l+#)LKW7zhI9n>2Beg z6bYm-R$pI`?pVT8A$&>UXb38=Nt5yjq)C;|n-Ex}Vt?{xv=_4SlaeMyV5hQ~ zkLSJ7jQsr=#_jk|hUqwV)BMN zyfEMw@IF8O^85%~7>72yz~tHSDFGh81aXq)%WPGE0oX>*D(_?j0h!&X?x?ytgDO;iACA(vryN>53w)pB8_Mho6Ul*7FfI9%JbW$4T%)fM(JmY1FI zGh2V_0N52^*b`zS=Ueq{HXT&}V{bYbI+5524NwQO3V&ca#yE7G{4byr>>NjHWJrvc z*MP}gJPR=vQk@)sWsIDFNEP7$sQ}Rv8C`GoO65x=psxV70i(!LEQDR?jc~)-h%8wf zg>I7_PH&#A4NEjEQDm3I5yj1J>9?1CHOIf;i;Ms%*0pc;0=Je}UITL$$SjeSz&v4q zHYV*T6Mrl9G35cwiwsw^e1r@zkMInO4gEI%l-l81NKffOF9=AG15CsV0&)WA!-m<0 zLq|DRfQ6?q*M#9L(o6&C8KTW^Lj$r9g1rtV-6aJSV#EJYn)Kd81hmza;;%y?iaco- zS->*9Q*?C_Ujs;8aI|u;g3mAoy5-%Rz_JPsI;(; zmrqYdq)E2gQY)N!H#SKig})WXFXuIN#%3_kw5NPb~!1L5P}>|m;s zCIe9b8~^5hEbO^5kh=IMO`_DKaIcGhy3<(+)Wm=96;K!dW}l*6`9ppDTiPG2hWOY1 tP&CE6_J_=9@&~!ew*TM{+yA3K{0W1>6X28L3}OHP002ovPDHLkV1h~37J>i( delta 1105 zcmV-X1g`tH384v)Uw;HFNkl6U$94(bhmI#iUd*^yI9f$a>pI`?pVU8FutU4^av`iNt5yjq)C--HzBZC#mmf- zFPx>3QUy}%R1)u_nR$96eZQ7<8~;hzp66Dr_k4hXSFsKzN`HwOKo9_gqmn8$7zIIa z1f%|mO!(jjcY~u548yUUVEEQ7;Erd!tU*o2#`l0Ch0Q0k&uLL(kj% z12o2k6Z^u+k*P zRJp0yh!oCRCCinSnl{DoTGM1@IjSN>np_h{l(c$9&tA8AP5!`V2?1J(4`%>gIqG5y zOhq7ZRFVPHr2y1%S)V6r!I!ZN;3iFQLFwlx0Mj|1VY;SgH=k2GQVa1Zz33SMOOyZ` z@sfZI0e^I{7PjHhQBE0f@HCQ|u)JBE7$81Fl-?z6!vH!}N*o89W{H7Rt>qu3P2bI& zfI5$q7+$K<&9a^*?Gk`aGfkH_4dC534L~(^Qn2{r zvVX-V@#}+ymDL#URDjMtUOzqQkxg=WOSNz^+}R}c7)Rc~huGs&fj7b(1HnMwqd#o; zv1e(m|D@X-Fl76nE^aQgo+B<`OfKX#z=jh7I-Z&5tah~WICzti zz>~qqWU*+(vS5SZmIKZe8;lAdH3q{h)PMStMcEpRS4|5g$Y99MfP??hnZb~w9+8ST zt5&kzd_gzstd#6Pw)UW)n{|xXfoS7EMENH{uj|ZU$nrnKxq+9<`W>B&edYzQ}56k$6%6031>L30F XgTWKvAIMIA00000NkvXXu0mjf`Ro-? diff --git a/graphics/pokemon/mesprit/back.png b/graphics/pokemon/mesprit/back.png index b3be041eac9ec5c3d8cd02f8c86e0b74ff28dc96..686144387de9414772e97c575f828ef601482147 100644 GIT binary patch delta 559 zcmV+~0?_@P1(gMmB#}W-e*gz`Nliru=LQD|C=zw`!r1@-0r*KoK~zY`?UgZZ+dvRS zR|H&ZR|Ww?EMk(_1h$JHTo677mssQ)Zrr7D;U+3_4TCHU2?!8q3grN4a*I?!*acRh z{Nc)lmb4BKcuW4r|7V6nQi#{{Kc6f+KQ0?nWJh#|V@!5bcdj-sf22eZZSPTx1KMT) zGPd|JYGAL3v`awMZ@-TKank>T=6#I}{3Ul27-;8Yf)YG%vDE<(BS9(vmH~J1>+4NefvZG{ z1WP^e^InDqE(MUIe+duh13>W;l0vUcxd(n909+vwgwBmgdf?q{6$Zc{vgR4k2n-A? z02q8A58TS21x|=+4`60G9Z3**pRl0V)zzTKy#atNfU*du%r!-Z6E;f4rncb}IYIXT z?Zl}$Tv|V7aq^tdaV_ToAbmoS&>LEsA;3lReVDTv0@xKce_$XblF1N=6#L*RmWAYG z2>77dl>FjIp%{2S@>ZY}S_5D&bNMF(I>+nSwjL-iA47vh>=e=Zn+J+!9ax;v5<0aH z0ML(}cZWN{47j& xO{3&fyF7!gB}Vio=wjM5a)M=f{g1qK{sD@D@8+r{aNqy{002ovPDHLkV1m)%@8tjh delta 565 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 delta 717 zcmV;;0y6!g2DAo{BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*y&TK~zY` z-ITFz+b|G@6%7Ttg+eGKnJgmGdpKaUOVDu+1@X}5=#*wEx}{^MAWzxkZh*O%u%AH|uUUw?fNZ~TLK+WkN7JXZWakdqanfRLYOfeYhx z-TZz#ntrnz5;dlze&K4h(iH?Y@C5&6Zb7^kLW-F zbDZEpwuh-pVb0LS@i@U30bEnULrq}fM&g~s(@0B&SQf_>a_sMYqERKl2{UdII3C)X zXtJmvKD(_44f6sY)m=rKZ z+ZrzGRTD;y-2pIDYYG6Vw_%twR))0#T>&sSQ*GxQGh|Qg;zHqcig0iw{vea(+$brv zM(%bZ5v_RN=-kMP)d5hQdfo<)xo9;`Nu68T%JsNKoasA%E$|L3jfz#Mz}!_!0gP6y zeVNs&85r-E0(e^<^3teE=rAhfzCHl5J9xA^05LJw-c<)ck9iUx7a*h%LN!$VLIkSi zrXd*-Tny;ZQc4cjLvLpwHFy}Qmw}OM3qT-Ovh5cc$>}}P?R2K~ydXmpOI~WEUS`~) zMy`O|UA;3XhTnlkfnGL$1xER|0<;33U}f1~%4Z%^XO*~x00000NkvXXu0mjfLfT1b diff --git a/graphics/pokemon/metagross/icon.png b/graphics/pokemon/metagross/icon.png index fa305319704de865d73c8e4c98e72be8ad282527..fe451800f9e56fadce3038dda076039e443dbae5 100644 GIT binary patch delta 370 zcmV-&0ge8o1IPoAUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8+@Dc_-t z0003iNklMLXn$v^dHA5QGYi4o6?B$9 zU`l2x1bIFVkYyUct$~AntN?U5pksx9LPF=NPIGPqf`7y@7?AgzqY`eG1({_wxDQ^w zn0n6Pkp%#AfB(&D_viU#rj?~lJ`G<@v(9^`G_12AH~KY`G_12ACbe! z$HpP~*f^Yg>>Lgsk;CD`Y#fr0okQ}maya`)9CjZohqI5s!CZWVrT@{#FYGfce-e&* QaR2}S07*qoM6N<$f>?c~9smFU delta 334 zcmV-U0kQtb1Ed3xUw;8FNklTuC5C?E>KMB*N?gtnHN zM+j=`Sqyy3saGLjT4g#0c|P`#Wdnd)0tek#0t`iuj`7e!L4WJYb`ZiygwVt>=uvb+ zpq9=nPQ1!`_a=&Ork_4GnE@~l_n&NfHUOH8^I%6VK0r;f>03)EtqASLccyE}%ozVH ze2y2Li2>aPb~83gX2)76k||^IvL_eEyX@&pUiL<4IaJrhVs&3N{{Ad4bN=FE;c)Vi zIP5<7%Hi;lI7jS05{HwImBZm<<#6(`aoBw%4!aMtayWc!91b4~hqI4^!{%e*aP|>7 gn2V1%^gsIe0qip@e;lse{{R3007*qoM6N<$f`byDjsO4v diff --git a/graphics/pokemon/metagross/mega/back.png b/graphics/pokemon/metagross/mega/back.png index 86c2b6e145655c2717d7ad305e9625253be03337..90bae35eba063131af31ca40d8f4a6f739e9d819 100644 GIT binary patch delta 879 zcmV-#1CacI2eb!}7zqRe00013M{MnpERJnmAKO-ezbgi%t`x|lyxiU%=Ni2>>z)-ej=2ctLDZW z;(HB z#`I(u+ZI9OV2Vs4VbhbKB2eKQ05lPzzQ_fF1-2=ROjmNY>ANU7Ca)ymrv@QseIv$H zp~4qN0is}in_^z!jLH#YCh}eaxIi2`Kp8zD?csJ0ZbqEI5qQ)W(OQs2rF?&eLYIdL zUJ*g63^jBKxbC$$AzYTStDv(q>WOI4W~VWg0ABVIFj(##jul8}*4H5Eh69hsN2{K> z%JevkL9^pq0F>TkPlEwF#)B9M4%dA8+%Yquw8NRO#q^K7PaTkZ2s1j%_QRe3`SsXd zJT3}Kk9e9aNzd=M9{-uxeb;{h?FTR@g_rZkox^`6>;1G_6qO+kG2xuW{MO+QV`Zn0 zs|JjxG0H8W;-*Wkj9I7NEqN+7~RneYlr$z3)^=qf?Ii#IaShbypR( zV2lX9#(+if+*-zQ)N)RHGq+0U_=yk%+Gz$Qv}cN1zlcV}J^A*^B5gfK=zN(5$G#)M?_Pb2ZbPHsY2-PAyyPzC&} z%~nH*b6helb0l1cFxp$1VIrX;v~X^me@G~zU{oW))WcHw3QAzb#aGaon=K7SVF=+{ zbW8zvJ?8Ma+14fVggiJ8{W&1PRnP@y*k&wAI>LVuzX1RllhnFCxzqpv002ovPDHLk FV1le{izEO5 delta 828 zcmV-C1H=5Z2Z0BW7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0{=-wK~z|U?U&tB z>o5$2W2siAA-wRjMqU?}-kYyH?^S^n0~Rg?i_n5==kEmxY

Tk-y_X*p?~4pLP(^DG@a&h zwsbH!fpw?(B%?taprABG2h0_>ETP6jk=WkcI>nLQ)r!Vy zQ1^(2O?NM-lr#%HPz)N@&aPHXNv7;=B@UdU*43C3u43fro>~cs&25kU8+z`s`(}~= zj-7DpC^E$F^LuY*p6C4{NndGPyTYEi0hj9|jME&*t5Rkb{(t$Vx{}=-0&>$FxUS6r zB)vRXHcG>Q1yAS8IG48pKxY0Dfca&{Dyg#dEmrcbI(c9!R2t;jrrkgbW-|${jGi zQrTS*0n@r4kZP0!WV^`i-$w=us%!xGnDH2aC_0P_W&DYLW~Ms;98QFc!9ryes7NLM z`^Po_VSnh0$NjnLy6^UYoRY_QtL#VG=YX-$<3Mzr-&tPgF}Meeb&N4>e-S_^0&H1} zXsHkIG%|=P3Xnles~^es%ZE{{aA(L3Y&eUcIpP2x_o!0LTV)HCMy7 zNZ;^KrD*S0F9DKlGF8*D#sQCd=%?9Z!>^eafPW-w5D2RVU8imOdP!4m&-ooQRAaBH zZc7H;rvU)7ACAjx7|6D4$!S;i4f+~=fU0qs8N?i5qRO_0DhBn}3N&;RfV;bC2J}tE zh$5ryVR#i;>@bmGS^LA(a9nR3kehvAl*R$qZ(|#GP!&Lkd=jNyu0zv^K3>L))1n_ z-$#7_&gLWlEuOdiW#~M-gQrZkuz;auKdLqKW9aZHQ(Xn0|-pS}4jI)6KZ75G^Q zsj#T(k$(X=_4M{$7r}uFcG8H;thd%;r3I4M_x%o9R_+53iy%$C1@R4UcN9e(^hn9qNJ2${S1$K` z2EQ@#R*fXOqg-raaX_$Q^YMMsOdd2`TL_61kY=s9ny?G$pmPFiwQ}Z@lm@MXf>N^@ zV79m<07!s8W^39e=-(ueg&zawH+7Z*xR(HzC3FVY7XIK~)^`$Wk!y?c;GPWnei#ti zV(?|AO^x_oNil7au?i2iM;^%>(3Dbsyb{sW!Cw6jPsyf0v6xDV00000NkvXXu0mjf DGinr7 diff --git a/graphics/pokemon/rampardos/back.png b/graphics/pokemon/rampardos/back.png index 834cafb289c058526a14185bbcc7cc674547f25f..5ee5dc37f7f9c5a80d3f410371bd84d9e0bdafca 100644 GIT binary patch delta 713 zcmV;)0yh1(2CfE>B#}W-e*gz`Nliru=LQE3Cm)DW-WdP@0+C5XK~zY`)s(T0+CUJ7 z_hczt83&@&I7ld+Vc{Hw3bPUqfHpdmCdGjeG$6PvI+{q4oqYj{ya6($C6L(1xH?se zRC$NY+F-nEAJLT=2?={X|1+~YGYCDyUjD;h=$`*`&c9}XD*U9%e>LZn(%THMs7z6z zjL^_)g1^7cNGvQ*wGfNk}pLZL=5yxxrhIH4*qf_WVteX_5xp=BTkmc|6M)>gl2WKfzA0md1BEC53f z#9^MZB(Ev`f9T1r!6#y$w?)A@-gpx5Mfik35NtfTHzsxtFrd_j+BR}8_&LA}5Fg92 z83J(Eoo0adUL*ixHR3)YRh__`#{xp^0B|jhz#|BJn%mJG09I8wLz&t5G`Il3+$#rp z1O8z$_&dl!J!nG)I8Xl0!&t3TMwkTW)iCHqui3f8Ka)TZ_rf6ho(Yx)QvMh)TFH$V vrxKD@lrNhi8LN}PHU$_>`YAhi|FiuCqa6C+8QdTA00000NkvXXu0mjf#_K)U delta 720 zcmV;>0x$ip2Db)~BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+2~WK~zY` z)s(@C+CUh`X9?6jHr3Merh@bqowzCWWE}7TWXeh}J?x6;MbYiZdMT8o^8z0F29g{D z3eIEfxu+g_>O1tCMB_~2TK3ov1oi*R|NqTQzCq8am;ca9-Q#!8`PU*)gO7B%=6AmE{Q0L4#3oeqscXi9YQZaUa z&vJk(G{Sv+%mIdf27GXT{yGP2AKX9r2xF-xge|tU&vY5@;Fo=-%a#OYXPRgUd;(ai zfM~@rI@5$??B@a4)^{ovdV=Bit~J1ob%PtL_R_X-=i4&=bnlz>+&${#f{D9wlv z2t@pZK^U%oeR*$;?GwNqr2(vME$@Zk z1n>gPM{;Zi0Ni#b1>n7(7{FK!c|b@lPhied10gm5cvg}+%x zTmWG1wT-+6V2};|271sp+K>Uq$=~=G>+6&WQ=`;Vw%6AbFk%rUHtd z0!Ax45t%S6QuIVHnj#ykgF&PKMw5Oj&fWi82>k`49Qxp3t;|3G0000PtA4FFP;T7R6WXWyMOSP%!ARgN6D zc93bHEH2X?@RF z%#ab5KQqS0NSq)ySYfYY4AHICPRIl*%WEk_mm(EdyBxP|UX`nfwC*#2@Px&%^)lg} zuUF}Y0su|bKYuGIfh)h@Gs0`llBuO>VhRQ2MbEhOG8x8?% zluyDe`tWL8lZ64TTf?nS!hq7|A|HGf#+`TXQi?3hV(L9{%)-DjNM^qa6KpSpp&!CP oDNOKVElltOR>FKu|E(V%kL=dinhz;0ie46n?FzkSO0>O-!lZ6JF#2{a4CJZ)2w_@1$^K^lIoHT zjaP`~PD#u*>{=q&D4&H1diQQzSA+qrd&8~I!hq7|Bp-Yc#vNZir4&V&VA?HlEW$vT zB(uMTiMCh5&>vx-7AE?!7AE=uD`9@N|JRQ%kL=diGCtyq00000NkvXXu0mjffXAjI diff --git a/graphics/pokemon/rapidash/anim_front.png b/graphics/pokemon/rapidash/anim_front.png index c4ee2d83f1a6e0ae7e3b94a1cd859bbd81345315..de3f07c2e423558e082dabfef9b0b46c14c1b03c 100644 GIT binary patch delta 1669 zcmV;02739=48#qP7zqRe0000R9M5!md$S4Mi9rDC0OPblUDD`p@Q@%aSP`xfe#={ zl_H_H7NV`32pcw~7HAHJZ0gV+Qs`sfpf36XeT2S3U!VmFxV`1*&hC=pl426{)=hsL zA=o|mv|0?vWd|+ z_-u9oi~)g0$7^)`ijS)^7~Ky7U;%%G7^=srDYG{H(a&qv255v10Qd*ToV<;M!0|l? zLk$koFy2J3IRmkaeh%-%I*(?Y4*;ZjW*%J0IFf=O@G;Q3D;-6vG3RRxp0)6-HG=c? zubF_E3=R}lH2dZ^Au#a|mQD4ttx>f5eZ@KNnbN=fhm<1VYW0d+B$^w0vlD;2J0URl z71SkrNA^mXPnQ@(QNhiwNB2e+e78)J1?N*keMbyvc7QZ<8`d}-8WXe<^;NYtDVC_~ zh5OpIhK3Rh@BnC}0VM3WSfl!RrC{2kq(O-T&CrELqid7}n`nwT^6V0 z1QhVTqM_@v0IRbk*q~tAcYJ^L^$9BR&H&0W;65sVoybot&+?sFN)Ua;UA2{ko=T@jqIAawnTU{ew>$JMLvDc{U)vrVonfUg(tSY%SInG~3Q>4945gzs{} z8h!P!JYB=sA9Y*^W_*Hz7zJ&YCG(-j}7ZLv197&{tkhg4tV|-a%In@;KFn1{093N3b0q{4f)x_ zJ51PV$2I0RtriMcrJ+B2{0I9$)1~%fB3ibGTE;=cv^mE%Yoii# z!Q;bjiGk6q3)>H?T0xM%ly4vYsAsgI_Jr$e05M|1lhz0Mhl;LpR$Y)Q}E1 zVaEaCh&4KX&0v2eO`IQH3WR_dt%ri9GZcgaUf6}8X5Tt>uP<;P*}|!FU|35S^*y&O zj082?Q|kt9x8UQ5LAIz#!f1E_uh+PT>;UYL(vU8O&tKmU#P2g!OApuQLJ(jCb?}kR zlKV9ibW)Ft_6o=UI`Hu|21EzYeU!I?4+auX@?(}_y_J6*TnLKy+SDq`iq6+72`EK* zkPzH`bz0HtOD+X@h?GF+QphK>HQWB8dN0}2M zC!4IJS;ja6iqqQb8i=N7!0Uur5Vt}gFlH?v-j1IPjz+a@fV(v|(V3yIrRt|rs z#3*ZFV8s<3tPRP>r57v(uM#!6#cVG>5}dt4kfb%kUm?QoP7p|pbdUo^Rghkb;clme zk8+-NOEvuy;bVvy%rdtU7mc|c= z2bF?Sc6ELzcf>bo%qsj)?ug(08Gn!;?1y*p2l>H%l!Ev3gLM4=<%fR(8Ktb~TWzW2 P00000NkvXXu0mjf=<^!2 delta 1551 zcmV+q2JrdB4bKda7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1A8!*XM-LIo|CzT1^76N2-hj1P-{M|_QbEEMac#87*TZTmA zMI@2nM6zA~xDvpNM@-voatdi7q{L_%@_FN!FA4-7BY=^_TgY>Q9RdKMaL2^pq-#!= zQ~D76I1jKRWJn2rcKRTKO&IteFNQN4DYI!310gfb$a_J8@-7Mi=QSoyi+(vKK#G9_ z_$t8IBn;`L86lo+dpa6WD0(6ghE38C1+EE6&nF8?NxKt7J`K7Xj9xhfkjqZvs}znt zwvT>TzTx*w@WKPObPQel0-oVcu<<_DWUk#RAapLY3}di=5o|-32nhdOE(F4m7Oo-( zQ1I&?CkO`C((r@_!RLR!bOpq4x;sr4`b=L16b_6?STg`V!%TnWNG`&6((hXb?Y zbI#x)oUwxEir3*l#RBpWJe7y@G${;;ZzkhkR|WunG{}8W0xk;;gTx-SU?#cScM1u* zA+Q|k%=qGeC+p?ZnmO3mgMb($?)Z|=sKp`5CFchp_2^oD&RLm_SSRfFMf_O1|KKJT9~}j__6!uK^t2VA%Af)h7VE z&G!Jn4p-1hsrzuhQMpUN<-tNgBiQ6DUV8|}XI=xGz&^O_TKl!hc}S-k2_OZDLpTVm zJUIsjuhew0PEXhLX$(%lUvial1~0bP7Z$(RDjorS*J;RCr*hppg`8w5i&Pisf3ABL z1m7@!+={Ie@E;*)XB5y0jNuwW?*z!-xMERq(DB4@UqtsZ${FCRMpf%XpfO0fhlU~D zY7#SS8*T2DKo~GE1=v>hPLag`x;rSx)?TYZK*YM6pl_&NVOIv^2SW{jD>D(`#zH_C zkV}2+mo-`K`-A+tWddt->1(@woCuUW_d5oEdBZ6IEf-}|qtIHH$pq2~Yx~g&0b2s8 z|49O{lPd(;GmUz$&zlM4U_sPZpb+TekbB5^)BT}QA0_YdfS(W66CwBqJ%ut`2sl++ zkfxy_2w|b?l!I$MYJ=x$gL7m#G`COiSr4{PupaDxFqX8&4FA^*VWxI3L+z8>0a|u4G}M!I!S!ga*;~BW zC#T0rQyb@+{g@lnK56G_53nGb?O|1@*X3AGxhOnU>C^m|`3|9~-bK9FC)Iv2<*%xJ z1>V{x@vt41!{?Wp+b4wbI35M7g4w`-IoT&}9;~TuW&lRAePS^CAzkef1HF{1ed165 z!4_~gkllYVhDG0^#!#w#0;XwxXa{00jeX+A#r+nIq}JiTRP#cc>dX9LN^{dzgXgYe zAN1A#*?&>{<2Gli{!jjk`6qY$MEwJW@BWK5v*#%f>OY_Sm!=gBYw91a4h-*qWl)8? zr2exLco5(xX+izt5r7L5)#K_%a z`DFB=Tj3)92kIZx0Xhiw;TWiYICK!q36|CWlwhjc8&8IS=I!|7EWJm4MHGRc_J8=`2(AUkRWkINy+&`fnm=)PI&6a)|%2`fmxK zu@6-JAD3*X{@VaDI00V8|4_TPo4^i)@A{7!)JK`v2M-KjSG!T~hkXE5{m;F;d?Bd* zfp6%@KBx?A74-arTJU%Y!((W3>7@1i1FZJL$UZOvc4D@!e}GCbwhw}CoCBJh2L1sW z!N@+aV7X=N`v>YjOzZ<$0R^xP`~xAF+6NZwHt-Lg?E`3o9r*{7{tG{R3fwFi`3IAV zO8Opc=5PE1WdFnoe&HV+`u>;xfv@&||KMl-!5>`_Q0%PK5X}Gp002ovPDHLkV1f_o B^H%@> diff --git a/graphics/pokemon/rapidash/back.png b/graphics/pokemon/rapidash/back.png index 18af4e46a900ca9023894f80cd353350c585e5b0..811f88d2917522ac58920dd65f9916c00df25c7d 100644 GIT binary patch delta 715 zcmV;+0yO=+2CxQ@B#}W-e*gz`Nliru=LQE3CnPyqH$4CV0+UHZK~zY`g_X@}+dvS< zC7D2v9a*MVY1bFu94)2jsGtWh6dMe=I&E*hw8jq*Le51o`xrg-0s3N{+1ZtMS0Wy8 zY-fI&|9tH_Nvx&G4TBs0w7mgj9lReU?K()ikM9u6t}8kq0;U7ae>$?3V@(4sK!GBF z+@w@p0TLx?8300Rw$2n0Wd=Y(Nu04#_(CEl3d&JqW(o;agSA{_MVKl9XfW6^PL+WQ zD)tvtb2$QPAq2)ppd+M&Sb_l?1-s^nFo1qhIiT=FW@|M70!whfLzp2;2$ms-FE|!K<#Hi4^x!I(~B*lRzmt31WJKgh{*_oE+4ewp z&vkk6N#3QEaqIpsWm$B>J3eL*#RCKSAN3)tg7ZaV9DqN^_?j_(+%*e420$uG#p~t* z=zbesm3eIze>Pt^;O!6yNSK?WH~3>9x#x4)41npBpCca$1H4WEJZ6|1*Pb;tag8{a zl@ItyC{yCxs{iD-Z$4nolm+?|6EA@ToorjfCAmA}G<6^5Kmdop780>PUcDxV+yUf3 z;uOr0uZ3m+lDpH!F9880c$NB1^piGRU$%%#vtov2EJMnAD}PR z8I9yfcDfnJ=lneX`I3aUMBFgA;ZM37K&s*GD2djP==X0B3#|(cM8NexnI`Kv)^(r* zC{P5DyDHUGfJ8}J7J!(4%2uf&qD%ouNQ^U93SUU%L_s-eOs0@f4LHkXTEwXmfChst z#;Gz;LB;-pYAz>0Bc;Un2xvk|7)vnVqF~no5eCpND-RTbNVZY~Ah84wJj5BYgk%|# zm;xU004h8MO&DZcu>`!^PXLSo($$eWAdqm0x;i?s-HTC(AWMLM?rFQ8L?Dfd+X?g6 zpX-Sq2@Vx@w+E@wO-&NMc9j{MDnS%vv=?K(OjCR+@0Hs1!JB{|GS3UR1O5mrIHo6 zKq5=U>*fQPeiH(z&KtY1`O*Wg`$(XMnLT=ge+-CwK9}u(0N752Ir5RPz{?eY#|$&; z+OfuZTqDk983JJv%9c2D>Oc77YY5mg<$(Uk#B(G;C)?F<7I!C{rs?Ax2;dOdLLzpD zi`V9mdw?8B9D@>-yB6935O>FQSONk_@GA9j2SqwuU#^IA?8n9SM0*{$ul?oY+O!z~ zS*?Q8;B$;HTHt{8KY%;&Qu$R|Py7@@dH*=a;hJnGfDr!xbp=7}8uK~f00000NkvXX Hu0mjfRw+$z diff --git a/graphics/pokemon/rapidash/galarian/back.png b/graphics/pokemon/rapidash/galarian/back.png index df065bf1f0e64a7e0bac64d93f3c115997c86a68..5db4665c296fd63ec0b6d1138b8364903d6d35e7 100644 GIT binary patch delta 625 zcmV-%0*?LS1=j_TB#}W-e*gz`Nliru=LQE3CnncaRuKRI0y;@VK~zY`-PFI2(=ZeV z@FL|FrsjONkg3T(aEaRmmYhM@K@6fiwr#q}kc0-}ci z&TU*@0;xc!5#j8bge9PUaMc>v;CWVcpfvE?KiAeiz5&!h^oX8ptwlHtlCr}kO}iHj4@{ z1G;)1h{ySOQDsP(0D6zqm~=SjHxCwYDe91EaEC!sY?6*3f5B=zYJf6=0Q()f<%NdFA<#UfGppqux_ z0xBh*@5?_GAa8=N!ymG(y#7Z)f6Y?_R1XYZic>L{x66)z|6%+Bl&5I}iPiH+00000 LNkvXXu0mjf&yyeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y{}WK~zY` z)zm$Y(=ZqZ@F1lNQ**vs$kgNuT;g_tC8rdn&>LgNI zT%sz#dN5$$Ma?Ck8uVHbI#(#D0QUS#Yh;4gS=|9+-|PNf8~gYUv<|FC_+o1;!X^+` z9WJ2o{pBZP9}~!s>X5=>QM|l8%rsyF$KhE^CP64uiGQxmBL8jm6ZhSC0 zR2lg^%+KkMk@k1$kO~X{2u!Cgz1zLH(Icpg2^0YE)!j32e*CTR;)5g6F- zw5?V^MZmnm`=||n5*_^fd=fYUEVT-xU;y!RkQqY`_ABkMBLG2V#DW4A?njoma6-(Jwwe-=EpiUWjCP+$<{2R!N zg~IAVml22wL`r>r$bVFVq7A-}fAO~b`X2?uHBB@idg$OSI~8?#`{W3C`opsR0F1ljwP35W@hB#}W-e*gz`Nliru=LQE3CnzxNdlmoy1M5jdK~zY`ot4jP<3<$6 z6_9AzQ*CEia`cGwkefZqVW9_SB~^CqLz+ZUl=!%)OPtGshgs#+!xjuZEkuaPX=#3J z*YZ(yA>%_2ZdsD~qxwd+Vt1>g&;f(d`{?_=?`h_ZqWqt=Qu^xge|Q;HA0;X}#?{9J z>KGwhETJ|OMf+Yy2D|h>IJ=5^r1YQ2qKUWTY5S+SWUL zxP>HH=Iwwf5ZYP>+9~0t~;6H;h3j9 zb9oP_XwzrW4t^#9jV8$)F!C~0

Bu9r1DYKn8gR0XJz6nnn_G1DwNxEDo&+W%349wI)7Q|0 z_QaXDe_E9t>4WXGE2eNR#u?zX<)&!N0fU}GdZ#PkbgAPT01P5*LcN)Uxw&g~#HB-t zfU~3WTS_Z75uQzFE?v`)@aWc~l)4`zaQA^$nx0D?@Gi$ca~azcQ%xQTX*=Opv_F7d z3*C@_PniU4McdZMp&Zxzz1<)D&vEfe}y-W_?2Qc2PU>WStq;~ z?ryRu8);t-;Ef~x5u8{UH&ko3VO)&;I2#U{+tB=o-@phh;iW6Z!afDO> g9R8nxYAwnC4ez%08C>0xAOHXW07*qoM6N<$f+QvWLjV8( delta 1072 zcmV-01kd}336u$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1MNvfK~zY` zot4jP<3<$66_9AjskXB$IeJ9)kefZuVW9_SB~@|lL+V&jl;pUmOPtGshgs#+!xjuZ zEkuaPY1#bPuH~cZf+vR_+_EI|NA-Ul4 zQPMFkKPFJc2;qDQwXP_C+7CKHNU!AsFBQctN&r>z<#*~DD^@oVad16f;%(y{s@_}& zjN}7K(|o6Io_>k~*2xFd{V!o>s65~z(Vc^nbr!MRyzuIK^|R%Lcja}KFR_|f zJ4u7>e<(j^`4X{r{yAX#FHj|7Bv--=aq zPZmG{24HRWe-(h3TaaS`tW*)M>Q)AD02*GsJwdQ2NnDYskSO7(R!)fcf zohlxVc*0Ycb3jFZTOJGB_^AXm8pkuBmX)a@moY}Le4x4H?6%4IZxK7M^)ineOs>5O z04{N<$y1NK>VRmmx}H^=UxyQPnUrxhz7oY`X`~n_wPX~%ee`48&x;h83YCV{sJH#0&q76 zY&ev3uLr?@`$5cQzpk!KA^2bhsI*u`y4`^kiI|w*`~HbyQ4_wXu>?5wSqg}W3V=$} zp)jT<)z>=OAan>R1~b5>Yc7o?ke0cvBbU$?Xtso?!_GQ!X{kn=+@#a5rRvyrC2%{G zz<2%$eGNTm-rBQPtFj|Ku$>%>3G9ne3b;)<6!jT@P@`v%-aZzvyVTJbfEp1Nq3%?| z*xEB&;>xB(z}`{$9i=6U2-l)hmyY3uczEYhN}Z1qxc^8?JFY`*@Gg&k<}lU~6HRUj zX*=fEwAY8Jg>Fc|qcF1_$gb^bvQCM5GRT#Y-WJF3qu9CqOL9T%~0lIaldJ-7_bzj{52>C-ZWHT0;DjN$FQ4xRN zdHEI5+zMqzR40^ZkmcQ(cMgagr685$_H7IJ$V4e~t21T;Nv%1r8=-g+T~hUM|+I$zV2z)glNJ*Y<9Od#JGcWjcfS0U&=qL`8lqn|!^zLPFo=F$q=lt+olCnL5qqP}>Ao zW-zez3WXsfVc>7=^8(Ch#``*%41Iq+Srk>|{~8XyJ*s>!^*5>KRGO89=*)RlRl)5* zHKxaV3r0>T$Iij{9P@&UPPl2epc&f7MlclQ1dO0c_q_DLXww37oYEN>@)JiGoB-pc zV_=FAFfAV^U_LrN%A7c0?pi*cxhtEPo)2-}TF-|X;_$@egbx%`KGd)I_y)FxCDJM< R^q&9#002ovPDHLkV1i19%-H|{ delta 454 zcmV;%0XhDo1dard7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0gOpRK~zYI?UccC z!ypVqogoKhK-&NR+iE4S!Lid`dg)Y$7_$$7WU|}#=K|O^`v|C+enWVGBRg}(8HjYi zl$kK;6nwoCnBFn#D)A#csFBQZp56E+;6u@IArk~D_jaX1B`VbGoInfGli6L_^Gycf-@Sx*slw}!rZ6OnTv zqypgX&nGVQB-krl%N@8(-u1^LPJ5?sc;daur&|1UpMWfX_dk9fsyFl9gQ)wJRgxz( zJSYajE4#?X2vteIv2)gS#K?8{iFoR5hbb$YSxj^*aL@b=(=q(TOVqFk~S1)>FzB#}W-e*gz`Nliru=LQE3Cob8K-Xj120tHD#K~zY`?Ub>Oqc9ML zfnw2ifk-}WM~K8-O3o6}zD*30>(w?udkxU7(wKSM8;^~{;;`LzJ4%AXeE#S6*boFi z@m&!eg5+zUyq*tc7$yflpQMc_$}8oMJX>cHx_d4qXN|zo(~ud9;IO*2yT_wTc z{(R2CwqPIi-zq*a{%@eXUr%lr@l)96X`_nrPW`jY_8m@lucelvQ8@Z^mf!bNuTr64 zBqS9MakL7w1jzD^vs{&bERs?$Kr+~Hx{=Dyw-RTmRq6?FfY#;Om!-u2i$wR+{uUZF zniZ%v;PdPO)l?3^-?Qzj(-wi{LW>GDD*8wgsJ+AB9k3)ZT2g`|An=x*h|Puse1v4A z2(i+>D*rtKLLX~!aDWf-H;}Yz1eOMUoh98bbePObhi<|Y$!ryWqM)zzw|sg~MhgfP z2&Cg+vNdBKI=qcTZxuSQK%@f+HI6x;L{AE$4nxdSmS?L)v4vaehn>&jnSj{!uv>2- zC}V6W0}0gBUA5jGv_O=>Ekmu-%N}?q07mc**eg^nR^UtK0bD45^Mco1T;>4W3ooz> zNI*+~>89V|PP-6)ErrDAjNN$)0GmGsz{_(0TDyilhQRY^fdiy~PQuOLC8tF^0w%W} zw;nxWjzE2IP&sWDhL{ITsf**O^oJS&m|N{u=^2pp0A_48KRPS`yMaOGJ$%Y^dH;ab zXv5W9UO;#v05}&f0rUWPvKwjz@Hx!mqF-gi`U(a@BHe%>xJ8o(e-+`Q7-N3`bzF$s TTA5~u00000NkvXXu0mjfTM7$2 diff --git a/graphics/pokemon/raticate/alolan/front.png b/graphics/pokemon/raticate/alolan/front.png index 509c47662da78d5c350a99e5c6a89f7e56d6aa32..ba70a67870053994a2f884775e2bf4c6836b0431 100644 GIT binary patch delta 714 zcmV;*0yX`$2CoK?B#}W-e*gz`Nliru=LQE3Com&`<3Ioa0+LBYK~zY`?Uk`^+b|G@ zWi47GD+$_8DwWz6Iw=gaw~)JaXkd1)+^QY}FQirt;c3+(aqXH12!eR-BXsM#^hir` zY#A9lug^l|{$fAj>EOOLuIBac#l z2zZe-@*+B>K0-qS%l;7QCo$eqH#q_Xi)gD;FG>;w4=gB4Lb< z_f?J#-s(1{u1n+W2LjrF^B$OS%Z{Op-`s8DRr#(31oVVm-e@4Zd;fa{6=Ppbqa0D* z^cJ=F3Hj|WE}#xHe_(2K8rkX&FA)%uL&-U3Y}xifKx<)x5Dh>Hh(Hl%^m4mOr_T{W zBe;;DK&}H^>3M4H=dcCjj}O|U0c?hwwS5wO5oJ?u9udH}MZN2js5=0ky?=lfpfqmx zA_u>#66?>mK&9Iq`|UD1ph1UwqbmcX);?h6jojSpB9%JVe+Di&076wiZgQn#LU$HB zz*g8ouJy|7dF=Z809v#$*&d2G-PYa%c8-A-B%`hdBHz?5cPFY2L!#CsTSgEV2P9@? z(F0+XUT0yoSVphPwFa=;q=9M&Oun;EDOu2&kY%792x+A1OK^yH#TNQK6I^1ivQ*Vd z=e7!y1lFPn6F@;NgxCI{npVNxuT%=|dBP>2)~i0ZcMJ)N!U1 zx#%3e9p=YVD`c)J(nhETfCRKq_`5kZsv1-2DfrJ^$!n)@if1ov+!p`kuj^R+1Hm5>QD+U~jQ{`u07*qoM6N<$g3Jp*y8r+H delta 718 zcmV;<0x|us2DJu|BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0**;UK~zY` z?UXTdn=ll|F$-%jNv`cgMH-vyMATz%4|nU(oYlR!r5STxBvyv#X=MSeUGo8Qxp?kJ z=+^JjCmC>TaveM6Z{OMG|KtCjo{*hq{a^Xr=Onbh{1Fh@OVde!z{IB)BfzCc=v)NU zKbi!ThGQT|oJo+-DGd>S8V5M;`^4OddQJW82_RY~Tb~9=mQgYWSm)E#@q#_kg!?&N z(Um1K#^`k4<(Lp$-K5m_XzCO=JMuqu0vL_qakpNDhi~&e*D(gMco7!UZ8(00oFZl@|13 zyGn1U5ko7ukf1@XBV6fe?(Ela1(Xl>CZq)%hF^4Z5kPUqW)BF(qG4}e>uFoG1+H$W2F-upq}_a=^sUXx;# zKx7k;n5$|4;yS-9;(EDCUZ}MJaN4AWdIy|;V;^&}q;nxvWD*Ezr5;-FNbrs=&3i7m z#90-&ZnQ23fUDzoj4fEUAiOCJ;J-v*Jp@R3k{MvZ7%sSf#uhN5d{m*Dofs3fyo_~( zei7?(*P<7CHS6_(7=MZd9v?54^nUiKu$q#C<9B9DEVJy-Z{z3Aq1pD{wl1DO z3Dwv~Z8t_K%wPsj`aR}VUgi8txGkactdSh&FTo!YQBhH`mjD0&07*qoM6N<$g4I}9 AGXMYp diff --git a/graphics/pokemon/raticate/alolan/icon.png b/graphics/pokemon/raticate/alolan/icon.png index 4acd9d0404dbb87aa4a89cfc6ee291dabfa6739b..f0154de8f48152fea5f989e7eab4535cf057c779 100644 GIT binary patch delta 353 zcmV-n0iOQ)1GNK?B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3Coxoq z)7Ah00T@X{K~y-)-I6hG#2^qwxdB4ymouy=whL#8B2mVQws02?lcPmSIZT8E9Y5H{ zu4~M`?UOJ22xF&uwhHlV&BfTHxOH6w12_zaHs)$Uy~pCPg{t7T zhvWxi-l`DtcCGYto`WSyZrTKRPjN03=6yP@SHwaEeg5?6rb4(01kT;o%Y?vmpIXj` zU?s%=SU&{@;s8v;S7QLv3F^Q!%K)aOIDm;(+ym2)8o;!!1DNjEf!TX>U{d>e3oxFj zOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00ACJL_t(|oYj)CZp0uAhVuppbw8fr#Bkg3ELA1OM%4}3%ER2F zRqAM5A;E_0Bo16MRqE2RApiU}*nGqArxzY#6_3IzBAXO;fsEnJNr*$$+8_;SwJ4{w zKIy1YEcBAj=HsNzpu!@Qn|(`n%Fn1Qf37KC?n>5;e6|Sb?Ciz5tWm1Yf+h0Q9md+5 zBWN{dhpWJXUmsGQtbJ!8mi1Z{rZPnbko~v{6au8FLY%hlkgrG;Dz*Oeryncyn6tcp zjOPxC#{JYvISf|qGyd=TDKPXPEWijJ9hgQ?14b+z7@1-RCOJvjfDxoRFjBPxLem@@ zFk6iVOqS1^fe8Q&hXoj>fq@Z$fr%Hk#L&i(BQa97kA?Xlpxt->hL3OB2h=RUttjaL O0000-qlhF)}kgX^XX(PHQ*DP7GB#YO;eRs0Nqey>| zXws?e0bck%zW2S8^xn^g@gF{fkiC-d7q;hltrA6}O-RFYcPdO7GMz?ir$D`GI&`nx zsM+uQhzKvsJI2@-Xa)R2p#u$U( z<|^|U97)Q{@EGpkGU$s zJJhCH0_nUqJYyq94nQhSBkJlFJM2F8$1njokSR_%@4C7J>sJ35N^BZ&E(MW(2NofR=#Y)ZD}g*wro+zuWOByF{1KsF-w1f-7A=2rIGM2T zIKM~vpiqDr*!brYd=9)wVDu-9eSdVqwUZH;*uofO^7wh7;0HF5t??)E{1q?i;!E-4 z?=t>k4uiZPj^hLIdcOFBV|-%)HYMuwMKWJp3n5-F;K{~9H~qH6vqW4^-+mM#iC?_B z=`^C+hgrWAN7JWwg^1^i0gr#cgDrt!gm;N6U%KD)Yj1|g=vSKFl7 z@TH)s#gpXyIbe->%p266P;I zCbk>cj@!_FnDwRg=lO+nDM0>#0qvltnVbby^6vbDP$vQT2sK)Q1RH-%WP&Svy%) z;$D@aRpp{G1^wz1w_*w+jo`CQRPAoZ|7@4-DwmZ48hlcTT9EQXfuLp#Q-NC`7(QUf z8w*7jh3j<$>#N=`;1hqf`&SCb&Q}2M~tq zz}9-m0|;&$66^*LwX^hrl?4#R7d$i2G5|7Ae399_+W?YV%|!r`-Q7h15>)|6^tS-S ztO5|p7mv081Pb^f10b2zE&1ZNEdWWsZ*hF7_#z7+-Hkv2$n}5p!#04Vcpw1;`62}n zRl(Nyp&m=V2yXynZ9&HaBb0n0Rsga(oeV$JFWDpz;Bjz^}>4+tP3?&VMc2%g7` zXZZmEBuQWmAp9W`K$ah@U_!t@tV00Ja8 zR}er<9}xv%Z6->RcK&|?1Q3UWcg`;mQ<9$R(1P*UZ8wp9L|_CxaG*e7`VPqMuqAX~ kFnFxM37{Mf{^jWK7l#lrC|OV_!2kdN07*qoM6N<$g6ysVK>z>% delta 1059 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 diff --git a/graphics/pokemon/rattata/alolan/back.png b/graphics/pokemon/rattata/alolan/back.png index 3ad8eb28f28a562bd646a22cb12b1a459d8c02ec..99355cae6fb19d226357d73b55d6440de8746117 100644 GIT binary patch delta 552 zcmV+@0@wYU1&#%fB#}W-e*gz`Nliru=LQE3CplVNTjT%$0r5#hK~zY`?UXx?+%OD= zZD`6AqDRdFX@=_qct%Pe*=*9~HaW`#dx02xhyk_;ve-i{^|EMtk~TmPHh%CENs+(Q zH2>|d8}0raKCiwWcR<@qV!Q)j|7W1-u!cB{0D2Pupr`6b#9^C(e+{^L0^N3q-flD4 zjtDg|cItW}zpvp;L?*;R!*7%DKzcY{h8Pz28{h(wVxU8Ik*6(yx`9UqeDv=Dz*CD6 z=xH$tsFCX)xX26L2O8(e>qe0i0LaOKry~a&Wr!c_3BEJO9hnhU#-cS za7d1U(ArW&@IMVlYl{rH)v5P6#{&Z|Uzb5poI&iIG6k?dB`^WlD!TyKPv0cqZIN&a z@zD;din^7fOZ!+WT8Xaa6nmij0k>*$HnZrfO`0;aK9+6)e@xNTItN$jb$+=EsIrX; zq#SRzTEviZNwIvG3vte)XJ8EKF)7FE)BL=&Z^~W7aC-SU0tc9%ZEcT^wfJ!OX$mAf z%s<|mIsspSp3Wf`exI+mMurGj0z!x|!CyBSLNnII3xi6^S41U62N%?0000JNXF! delta 563 zcmV-30?hr61)BwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rW{kK~zY` z?UcQ4+%OEsZRo}hqR&f!EXVi(?321zHkWLDn?B10d4U*thyyYNE%Hz$^pLQRaFnvTeS?Q-B+G!5HYFkc=l*C+8UrqMsD0G9W8m%k(g+4pX;qs5^PU3}KpfE_ z0_N+F9B?L$a0qd4dbJL9owqLRqnv12TN*Qb0;CnNMUkVi?3C1OXm)ulWg7{Nl`1tj zOQ++@O+b?9OCV@}d|cNg`lyu;%a=J3Lu@?*qfAd5G=4qLuTdlPQmTk@digm52bf>Y zS|06ladP-+5)$s_myab)KN|_?Xb>%YnlINX4-P30hmcdK~zY`?Ub=j!!Qtr zV?}Hk8m9y5=8G3LH^K8R%IKzv7$EKsvfXQwn^r!vm>|mP6T6@kpRF`stN*{>6El;7K~i!S3v5H zMujs;Kl2#`qM1cfKXJCA+?tt+0JFNTKq5wR&!s^mAa*R0M4>^l983(TZ8zHaJOX6z zt+z0lbWVoO_OwwQ=RPA#q}}(dnW8#$)1@jsUiW`gU*}_LC<7|bi2wiq07*qoM6N<$ Ef+eER>i_@% delta 470 zcmV;{0V)2q1iu83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hmcdK~zY` z?US)i!!QtrV?}Hk8aD&#=8G3Lx5v_MxCYd{s51k+KnHjSCMZj?p-i@T3Dk+G55+l! z0mbf$g!&JOlK<1)`OhUe>YpnAbqk0qe`V!ifaOsj2XAo@u^wDQp68$;Rw7*%075Qd z5Cd)jKwsYIL3Bt0;Ob6)tBB8_1MUw3!bk#!iVeaY#I*(kikDo4fzt;q=#&gX05c#S zYxjbR0DaL1CIIruIa}_V1%cd=lm}!#EjC0BqaQ%?9>B}h8iaGre%wBQYPCjmcKi(l zj&ZWib{~Zq`p8NM1%ZVzMtcj#As`3&N`AKvtPkvV0B4p0hyba7bFd(w0xrp8y`Z*D zyP4LOkUh{_yRB+fR@>T&%J`^yz%JP)nX}H0+=d=`aP2Y*`mJq!2N~R|Apy;7M&4u| z@>%ICAazF*EWrH7dZ=>d=Kl+$EFU++Pp?tGcv-BYcTXw&a-^^(B*YmJn96KDA}`izZ|U%a~B@7?@ozQ zd=AGJuS1|@{&ai@hGYPvEIpWndNCUqo!E3>+OUBkSHccPWdKvc0jAvc4yFJ)z|^pV uX?$cbfg9-=O!hH=9(l|?nC!!U&&L}~M3jxP14D@b0000A^1Bv%J?Nliru;|mWJIWn&aUupmV02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL0087kL_t(|oZXT!jsqbKMY)0X)1(_8A-BpE=rV`dlToD$Sdl^p zVP*#mR9kEjg^s6hTbO6eN1rg=iD$5cEtM6xV8|1ch!5g|EUi}p<3ezum0&py0Kh4f zTm>(HeLp<{&)fkL@K4+(*P#yC+R~%-e@u*cV+DpD!X;HJ%9Q8j<)HzSDciFQPfpgx zbpZF(4_l&~9@E;=bpn*lm!3ZgLz?>)Mp(%%Ooo2UE{rU!C7Uok*o7h2z#)vZriU;M zRAJh0AHp<&sxS%;VLCsGFp)dci!jBHNtpXO3RC>>|L4aWOhlB8Y<|z-000002uVdw IM6N<$g7dzOd;kCd diff --git a/graphics/pokemon/rattata/anim_front.png b/graphics/pokemon/rattata/anim_front.png index 47d2ebff134ed2c73ffe2f9a40248c999bb1f309..b6f1016ec42365af737c6f9b80fdbd704b3001c0 100644 GIT binary patch delta 727 zcmV;|0x12d2Au|w7zqRe0000)MtERzSlGh8~y{a@c#MRMry9gz|f(|#NH8>Mj84GSlgA6g@pl%I^@4_&uK%6@6Hkvh`hm4a-Z(KcRGLj zdyMVk?~Mo`3?vx_i71nRdjTNM5-em0*q4~%FhCS2)1)8T0-&r=1qiNH94xcRbI<|A zvI|I5SB@?q{{tXecLsYtAZa>_Q2Kxzl)VYX0GcIe0kMHR!!$8tT8c&cfX#81J?o=6 z6+Ym(1?1plE}~Mox~vJn!F(T?Q>$^5%FX`{V^-S4e+rvW^V4* z!F3MC#a0Ysb7W@(9I+a^7r)yJjO=Sy?>4WKsK*13JHmj=Z7Crz)7)@*+SVhiX^ zXJdVM%~%EElJeD)-+@QB?!K-k<-hB7#$JeKr1@0d~0F(2HEHQk3K)!6ro)%ql5qxKlH5o;ysTVD+Q zVl6fOJ_w4{0;ylDcgLl?V)cJa5WmFg0XAY)PT+x9nXAZ$VqO1J3a?m)Q8~0~QeLr2 zJ08Tj_KTI|Ug?ln?OwuZBN8h#fOM&ukyy>x0tq_Z&A1h7ZSu9;okQ*6HN3nBgwu%? z3|Bd%AACSelSvMO3h@A<0ald9Rb@fL4^g^uZqd6K+uAuT@f;ju@x?>JC<3TMJ#ql6 z#f{qNe|vsdA0@Ys8`{P(KWxro@kWK_2gYmN@%7-l59t3KKLI+Qsbw6kd&&R+002ov JPDHLkV1fgIQ1<`; delta 739 zcmV<90v!FF2B`*+7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0;fqtK~!jg?U>t= ztRM_U1rwC9ng9RXlM7ylmWWm7i9Ag8RJ#{}AkEG&^ytyU8jjl*6p*4k#@HPeaK83dc_g?^~ z_vZW}ngFN$!mq)9fnWmg#=}9+0IGa&2az)XAOzm{at2V@0{y#*ObH-K=oKEBzzKwD zAJz&`J*U9>Y2q2t%VaGg?f^<)5`e5F8aDwRCP3%F#8dEcCRjHSok60X!OMY6LpvcD z05J~v2=ef=EK*TKm3u=C;}qh6GI_sz6yQ?Q1o&90W{^^UKwUoge5jrwC4z!m!!U`Y z3nt4SVxm8=>rKmu!Fk7nlQx{?Hh^r!9PuF6PiWbSM2ImXK+Cv(G9(cbZ5W(qM#Pj9 zKzc+aR5k<4STWDbuVkwL`B@MG-UDKwq6HSri#&*;k7=D8<#G$)swa6QFO~w*wmc!; z14MXy0*}Xk34a@(oytDJ$m%$(c@dZ?t;kex1Hf~ z6Qs41vNu7ztpRW~o@78c0SCwz@%okjukp-w1NgFOAQX(J^V=mEs(_;LB-6Kf$C`Dz zGoG4YC55u_JVf=zUoxJjIaUD$VueXNZphu;#nD?*;(w0NSB>GDZUIJ)4X|nUs|vU4XpexQWF7 zn|h)`+6BN3uojQ9ur*cpF2L2l*ZK$hgIgCMg@eY>KlnpB8TiNjgKpq^^yu**{sGjg V6WzKy^pyYr002ovPDHLkV1f@RT3P@A diff --git a/graphics/pokemon/rattata/back.png b/graphics/pokemon/rattata/back.png index ff3dc10fc332aeea23e164ffa5631adf4a65b7ae..361dd43ab6a255fc7cff6c21d2b87573f096a6c8 100644 GIT binary patch delta 481 zcmV<70UrL&1jq!CB#}W-e*gz`Nliru=LQE3CQpTqJW444S|dU0;!GxH8fEm1E{ISf8Z%r3_zn1!_r9x zl#4^8ymBK@&I1$%sJup$Qq2Ptq96|F=}$UI%S`1wum@01n$enqGj7l9R;56q z4gjk#E1*E5k4E5S1u)N>;pPSa)&U%D{$_Uo;ec`}GB+8VA6_2;atUOUyqmR^ucRv~ zdOyBN7uW-(^%@C)f5+=J0P@l))Q4WbpU;Yk`x}yzl+*dICOYlj8vitANd6T2WdEDF8iQuMto+&QKmE`FcKI?g5)|96!!~pR!*9M25gg_Qu@< zr3J=O4oBx6oHy=(pRYaxs0!2fDlk~!)Jx(E2NK)>?}V%Z0#*TALmgFSO9X(GC_o=K zW+X2QfZh@zT0pfqB{e#n!vIkYsvn{N*u5|AnohB=F(}c573LIb0o;7>m(8c3!D)l^ z$=X8{(R)BDH{WDHqEQVp1jL4?5_S`Gi17`Ad*k|WL3byfNR(j@hiOP8s;~puYv)+v bF9#vNkB4V4m#;}d00000NkvXXu0mjfsbt87 diff --git a/graphics/pokemon/rattata/icon.png b/graphics/pokemon/rattata/icon.png index 30d865e81a6b6c5eedec53db2cb5f220478ff7ae..782947eca75a921fca3c4a991153e61c64692536 100644 GIT binary patch delta 219 zcmV<103`pp0^b6VU@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4k!m4rCNXh z006>CL_t(I%aLa=f1RIp$C}XyvBhy?`rctkfknfBVt~2;Xq7WT)Gl(AML>U-D3Y+v zXmxZU3^a1(fujo9y@v;r1EA1)4a$L=l=A9VX5iJ;@-hY&`dkmD37{%YMM>dXIzDsv zh;1DvCzEs>QO)9dmn=^j#a|CO26~k`CbS%MER#8kbzY?mBZq;5 jr7&h6fejVrhkkqj5U!_T`G@=K00000NkvXXu0mjfca2l8 diff --git a/graphics/pokemon/rayquaza/anim_front.png b/graphics/pokemon/rayquaza/anim_front.png index c1c78f9a1e0294f1870077d3e33962c610f449e2..6c25d4b8b2d4844f527f753d35d44e2ea73e3c0e 100644 GIT binary patch delta 1681 zcmV;C25$Mz4crZoUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#C+`yF?O z000I*Nkl{=Y{)8wxA!5N*z)t}~ z)As)w?Z$xWVmuh+f!e>0fqD@L@_$DA*95e%u*RtZ?0*FUOnjpNh604ozeX=bZGb~{ z4H&F$e}5kKxsB))0my;<@l-V1=-?X#aPpI_?q5$uPk-<3sDR$dBVWDl2NdRZ0jMZ| z6HPho-|cKGd)STv*GdjF=-Kqw+E#vM3{*a0b5%_as&UZY$y#gtGq6@qun>kyM*<*z z{--avgC~vja=Y~83{qkX$6_BQRKt;*y_;_32`3w2Z`<=9I zoPlNp0kZ+RAfJFGz7tS=y@Rvl_YO4M;{f0xpB-xkXD`0VgmXI1ERBy9`0hcM*L*mf z>B6*)UYwEWq?Khc51bALjMsvmi*A;(I5(rTfaOC5P`sss+9A01>ahBgy>z+i$YVesfivn7t1L1A&*I~#j!zGK2GYSxisswA zn1(o)y>C2qy2vi114f-@xN;Fb!yyvU_uE~pa~?&%v5;K+k>}LaIjsqnd4O042tyV| zuYXlQbB0%ENb%^Pzu2SF4V?H#Z96DpfRbn|?Tp`Q_PWf2Vf?r+?W}*i*62ON1?@}+ zX*bzy4G^^RrLDE%R@tf@uDLL3KD9TnsefD3F0cfM`=5N9>@{3pLK9?ME-46{k%N+v zWyC#p!8kuboRkeLkU*V|e2h`~%yY@STynM>jW$efTPznQ?IGMa+bN>W-4N~;0LBmO zKe)^v0b9+x^+n}L?{0mO0h{!Nwv{|r^+jR&Yc+FCU#Qbx(_;am>WjkkCxGA97k}#X zFVz>y^e@#H>hv$w7wYsc)fdY2-=Ht@>Ayi=IkDFCMWqO^HGQ#N z0CcvdFW&7GN^ebHWPp*>fxf0M+JET^4JQc)jT*;N0R6HX-&ejkSt;p7eK8-TG2&m+ zh!zEiGfz&U@)1O;$(=%+oXZrrNpsQa1bD6hj|X9#E=DgY1*_A+XX;t)wI9v0!;ItJ zK@1j39K(ZbbQ`osXpG%S<7rknHyy>M$@9+fhT0D^YK~T4! z=@0&fZ^_moNJC`+kOR^WOa!lN*M9IV%|h=A(^H}zjYu+wleuDxl-}*&GKg(hmgmquGa%xKA!F@|-v#4dNvF0d~W1Om*&|p997ak0j8g zhk`BcQ3v4MQ~Qj&JpT|${qPe3KrMnADHm!BaPgNBBmx7p>WL}mcYkp%QS?}*ABd`q=~Tg=`N(eApHQeg4rq=|D+%4OVSVYHtq5*{lJ+Z z{V>_29~LAa`n8Svp)Nn--t=&jexNlL3&F>;P5OZ?>ZBjUz2nXLVQE4*>fNayH0b?r bE$|<=2+sH01%S-}015yANkvXXu0mjfzQa6h delta 1666 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 P0000$EEN*Lx@n3 zV$}rP?Y+eH%R$(}O&)2B7(-ZLx?Mf?@Yu+&LX}csO?Wt#sZTml}`b!>AcexjHAyw044RVb!O}osWKFm z4}B}3xk8F5o`_`N7+W0Y3o#+KQknTWNHS~$?F=jsmpTE&zgB9PYcz=aA5}3u+lb$q zYvJN%s>;_W9)G`?LckA`J+`YU#`QGZ1l0n^51_r$! z-DUcoY{rZ@@DuPqhF^9iC&SZQc`*3KIu*vkyRwo55RdQMS%>IHszda{COTaFNOg#Q c{GASe0C0X4Z4YKYF#rGn07*qoM6N<$g75O{GXMYp diff --git a/graphics/pokemon/rayquaza/mega/back.png b/graphics/pokemon/rayquaza/mega/back.png index 51eb1dbc316bc52ad3d238689f15034f2c3b74e8..63ec5cbcd08ce5c2d5fad52b346031f9bf8fb3f5 100644 GIT binary patch delta 951 zcmV;o14#U+2$~3xB#}W-e*gz`Nliru=LQE3C=U{T(y{;m1AR$EK~zY`g_SW++dve@ zFQ$^E4k!*%*pOpaVFh0WYg#2;x^xIc>IQ;~;xHsgX6UScfLF40;Roy1pj~e-+S-gJ0n!AGxVRuTK`flA8&sBfAHk-i-!K@V~p6| z6QET97zc>mG@b=4j9p~&_TwFn8^#Xkv4!RBY5)v80q{E$@bPZH06Z5yY<_E4z^`l# z_<=A0fKSZCF;{@)=~@{U9>#d2fJ#wJzK8-00u4C&A?$J6UI4BFN@WA!I#t*KX}~xz zuH&?zv}i;g1HwYae`$ek$7He;f&^s2MPY10@|YcWK~P}<$L@*DHBc*~WumPrqk&Ro zsj(oDx3Y2?upAQ*VW`S-1uO+2ESy)e79$OmmH^A)ljbsDm6vqJZ`#5F%J4V9DMOfh z&1V6}5n(1xu(0V!0mwCVL}4{)9&cYcxQhUU-ixA7DIEwve@1I<6?z%5`zw&sG)e|` z(Q+E7RS=7!t9t^g7g4H#6}5#`K|G40lu$|%C<2SsT=?3+eR&W1l$=nSQ4+FPH91xW zHI$@64@Dky)a9{EVkJm|M3t6iE)w4R1I(&p#){6*bGE3Dy$^d>p&cy0PA)S~9f$Ksa zYdw32NOEVMb)Z7b)S5+8IU%a)tw8E0LW3f}9%(o*=4z#07|dWc5}FM!rzYStZ6I_( zoL-)p03K%#(jeD?IK8wDz{Vg+1I87xZikB`zU+iFf6GDU%@*?t#7E$HxXW5$Wh!f_mRb+ Z`~kwRw+*DoG|K=0002ovPDHLkV1mYWrpN#Q delta 963 zcmV;!13dhi2&f2+i7rtX%bOGqQg)<)=O9|rAVhYh ziG?U)OOYF@xY>uGprY_IaL!zI#|f7y5_|v8|NQ67nI+XaCI4BX|1Z^x=*E{ZLuw=KNzsRh6wL_l7-Kt!J&l|a~n zf4;nQEZ|qZ1)?q*03auo4%qK0i zgFKt1`N%Iv&I0X!1`%m`e$8MFQ_d~0Vz%%aM5bvvW1O=bnjkWBFCuHux_1rwlpS+k za2AWq3^_FhZIaJWkFgG(3}mK@Sm|mY403ifn;vt$-j@K}TV)XX7;etzobmT8o(nVL zIDINfD`RT$40K?Gnys=;UbLb0`3?R}2T-M%UlWlgT8DpsaZwCY#)YoZjE^yZ-;WDi z!!+g-_aJBo^|959o0R2O?pb$D#KNq3I@LGC487OY`Y~$I1lVI1kJJQcgOyHcFo(O5 z^Wx-e>H?9l2B;(P_UzOJ=(xDi21*Cw?V0ZYJ_Sh|2x*9QKdy@S{3PZ@5o7$Y9R!UH zF7oEL9|2I`k^?A05uDhy-eEJ?W1;Bmpa}_csQ!Bi ztajLR_(=nT?KjmyI|ih-2~S1}fIGGiUt~7mqY6;H9gzph0D)M_%rSuXa}$C4_{vZK z*6sjawANvREd=^-j?bF0YK~(-Yi+g;W&ZGYGj@1?q5&rYeMEx&#{ewey=Dl=WdKLH zv9<}HeokV>`X|3YF5Dep(7ZJYZG8zlu>Ok$=yUFrfSu?f(BDni;T~Jaap4r9E|UWM zNemhH;)R5HD7WzRyR{M3NpA-tyxEfvBkB#}W-e*gz`Nliru=LQE3C=uv!@6iAN1i?u}K~zY`eU?pV8%Gq! z$LfX+KA5ZzNgHyIN3Zij}E;E$CFcqU*dSMA( z8>pfSH;hVks`qsAe^vsl4iq|dLQI4T1v!tCuglRBt3wKekgJ8lR=F&Y6qxM;>XsP< zSBu+aLaN&Wxh*wjn>}E$V%mk`7LiunDi;!9ntz%21A{nW5O^fDd3Ku)1Hp2~a_(|& z*=dSLs0ZAW{&j98=lw?2p+F4?%0ZbyTLg~=a zwXGH6g$>L0f5)+D-9JrS?`w^!DNvzp4hkM~ecK$LBu+~sF8l5Wvk%;B?{mXiU=g(` z*6em`jxeMycw!DJyeejSt5mUA7^)V{j;P$db_lM9m@0AwV13?&eP9i0o0)9JY1-tO zh_ytuwm3)DuiPLZW0VCL<2GzoEDEe|zJK|CTF`HzgD_j7ZMXetq~o?@t?%JdWn1s3j#p5d+Fxt zr{U(9l=#l$YN*to68UW{iWVr(%-XqD|$|2bWooO0)l5`D_Jz6 zKT7|E%0qm<-R7;`GboM^RA!SOC&hYXa*IZ_bfx^8@=(va+-vPpG$zV~!!3`suA7fH zzyE6n6?rZ{$(b2J*wY~(r&kx*mA@&P*1nhY_X7m-M#?X>-W2GNp8|Hh1_e1snhjvCQwL zf56(5+WAVGi=U^B#aWp`2Itx9%(iMx3ywueCFXtYT9^W(08Dd!k0IA0L;|CpM@}z< zsf4;F0MW{9Xg?NX&ZY-amVcuMKoPUDNyyd$C-pH*q*>!D13*c7p_>56V>Sn=nO^&Y zD!Z~zsgQz&NM#!#d9Yoc8UV#0$px1qbAoVU!8>Dv7L7hm#iA(MApzNlB3oX(7fk{i z(N3gAwn>ixg#G?B^4ymJs3F|(x!rT2N&Mr0-4EW6B1Y>o=s1n1Q3Si7vX}mXGdYKl n9{(FJh>*SNUjQ3kAz}Xk?hPj)3JxOm00000NkvXXu0mjfH?&v5 delta 1287 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 QSO5S307*qoM6N<$f>J`K8UO$Q delta 1382 zcmV-s1)2KL3$zQ6Uw;KZNklJ$K?p6ozN9j`{&3HmQtcV_Gp<;iLj1ylH{G zu%#`5l-96j(%R1Y=r_1bN_WX0%$*sbZ;qRslandHVjjQuYBY22D?J%WT9Fuo=cf&UY+eY=RL?b5tTW3x@w`Q~a2?q(Pe%0OnK-0o;-{HOqPC0GFJ=d{6>( zfQ2o9CS%S?`+vb66hoLjfFJ%m07Jf@PI11o2l(;t1Yn=JO$!2z=bcM|sSsi4c^)+i z0{vmvc%?u6!6>7~!wRu+VJ#c6NsYJHpZ|KbUTvcdD{4B0d+0wesL^_BS#Q>xZFB(U z_k2_k_yqO_*sCo=P=E{Q>~lo_u?>q2%-&>@27Q%O_U{VFNFYvmP1?fM7 z1Xeo@ulToQ{^Uvs%r?LkK<^|l;|B>{3d}bvK1%>gguobyL?{HH2mIk)0b^^B zmk0wXV5~T(d3w!QPC}3SsPMIG@CUFJ5aPa)689lW{6YorL=6tB1UO|(#sJ?&Kx6#{ ze8sze0DqnUbfRL+4f)8uDIGjg8sUu}fS!`*Du9e>&!?xj3@KpY&d1|NTOtS2Sekg2 zMz{AvS~s1uW#BS30*{77n>qU3mke0&L2vDefd`9*4$;6N z`Z@))g)CnaJ9*$3e40NQgai_}HZk`wv;?3P=85hJ;KmdSrs{EJcsCgRMgd;UJc+v0 z9Divt&)Rts*@n37AYj#Apt9J$3&_f-yR1~cvKYPu_I!H`Q0o?5)TTPxhZkSG3Wxf6#GPZ^W*iT$w%pw(1}B zmb0FTMb`!pzxZbr{}8rZ9?FX`U9kA6?0+9Z9!C4F$Su64_9BkECI5h1ci*LMh{*;P zz*YQG^bb)e=3AKMlm^%cP$J6vhb8B-!pu&wP6|Ls+U=JK60DrI! z6rfR2+wBwx6JY6j$%7FR3nTRp*D3K|nHU$QkR46o!Lf{MA#{DW{H z`)Z}k{Dbl^<$03&2jzk)0wnVf(tk%)=1JxsgjcK1>zRKz0%ZO{n7L{SdgdRF0jYlw zma_)P`G;B{?;mP`f`6#Hje>uu1B%`MePI0#;8qn%{-JUgAIkor40NIFABsbpL(xB! zUqCdlJ{A0faa#t4J2U4Wj7pZ%p{Q@@pN?gzCxF=tSs3~?Piy^I0Ox*>%U?=Yv*$Dn zj!A?PsC#GBx3r06QTd0Od7|&AFMh}F&&)ai9muH?|O5^|l0nkZAK~zY`?bNYu<1h>c z;GzYzQ^vJxB?H!)n6UC3ZQ$;*0cCCsM6Z9pDBE=pNp8F4swuF({G`dW4-Y@*e?E_| zf4MiB?*g;0`g=l6MBP1c5^!6nv?r?i+ad=D=yx{)GRQUhZ1P!6xw^4b}^EGQ|fwTY+gfQ z7uDg6acAIl>W-HMNE1q9$RY%g>ka}2yL1^Gz6~J&E5*ggeB7AIEM_y` z-se@IN)!+qHm%2>21$+2zC=(QeGuSnGqCrxg7=?)>;LTh2DDVei~uE@bpQYW07*qo IM6N<$f?N6KVgLXD delta 525 zcmV+o0`mRs1oi}wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nbT9K~zY` z?bESt+b|FYV50%JAB8k)NCDz%>tOmh5<}T30rVUTFkinvkCdwvw!3v{I0@pX|BgI+ z^S%D-_2cy~`$qFaV0O*$NT``;|45t!+!reCh??QP$N>U|?VW%Oa*g45J0Mpm;ATV( zC^e2Z16JThgi57Ct?@g5f_b|Rh(W;HOC3tf!`m!k6cFc+(B%D8fx*j^g(8OvKhr#X zGLB1{W_GNiu(6}boj699F8>{j3^1avvU^SaBc z5Mal?Y5xR8XaeBTqNm8~V?1G4Ib$rK!{fxOE}t;ECX0YmqQ+?-{THCn-pjm=kp!I5 zen7_R7z(p!4rg3<241KA@v;DELTOyG2m$2w2LYp9x(p6qLkPe~u`w}srm+i=13kee9460F&lab{Zqp3&{(p|W^>T`u~1 z(-S~DMXKPvjsjJpfY`C=J^mUbH9m(DL2>dyfVbVq-qRJlZ@$;RS)0u-v{b{4_y05T P00000NkvXXu0mjfv0C%b diff --git a/graphics/pokemon/regice/icon.png b/graphics/pokemon/regice/icon.png index 3f2c787a61c4af61ea7f58a7b4a8518c61f0e597..7aeec93ae876282317899e65fa8880204ce56a19 100644 GIT binary patch delta 347 zcmV-h0i^zp1F-{;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#D1=Bj7o z0003LNkl2+$TAjLeh&%0wR7H6R)FaVgq|Sls-iRtgy2(HY2C0a0(1xHILV&Tyw;c{rV(5v1 zd?JaKu zVZ}eKR}co0FjP-JvM`D8brL4&0M|AP6A@6n2orRm=7GSikHQ4REU)GLbrB{YoVEs0 t7@qR(lQ2K?Mi?<~gb`3ay+iv~Kkhmh^SNOA-va;u002ovPDHLkV1muHk!=6~ delta 312 zcmV-80muHa1C9fbUw;7^Nkl0K@2SilGk{qFKx=d&1?>8fP{1|(#0$T+a#lV*U7uF3Wz_t2R1@MZxor*Ca zM7uv1LoPeiLN417_l`fo3x8r`P^%1tVB``p2VDr7 zF$5y^_^uZt=OXmPV4>NFPzDdjNX(wXTOvG|)B}4-B)WO>`QY0;z2o4vX9j~OvhMM@ zFt9~fC>CTH9IK`N3Ru1Ne^bvO3?yM5eq>=1;oBrk(gChr7A7JfX%!~ufa;FGZHU4I z#H@eI`|B!9Krtv?4WckK=i4V?zFZ{?bCocx5X9bvsh0X@KYjo@81uQC-+sIR0000< KMNUMnLSTZdV2Kp~ diff --git a/graphics/pokemon/regidrago/back.png b/graphics/pokemon/regidrago/back.png index 9c96ee2fc16dc2e24a11a4919619fda39664c01e..9db3635c4cb7b0a172ab565feef5984e61cb19d7 100644 GIT binary patch delta 621 zcmV-z0+RjW1=9tPB#}W-e*gz`Nliru=LQE3C>sc*2G0Nh0yarRK~zY`<&&?D+dvS; z6SISnOiZKIRcE>`2utEoC6i+Z`T{x0;NZEapywuL=WLvh#5(1EfuN~Go(gU_2F1W=FutW!7 zjwG>inpT!BCCOglmcoz?k5ppI8y*}5_IlwSPF#3^ylaED2Z(SGW)UB{V2%4*S%`6; zcL1y+7rtf;W8AFgcWPojkK-O7A2X1HZySvzIs*a{c*9NW zfsF?^g=lL*ff#cI;;I?|w40K&b8*#KI8H%5R_}H(`A_N((>HqtONu9S00000NkvXX Hu0mjf4Av4h delta 634 zcmV-=0)_q41>yyeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y{}WK~zY` z-IT9x<3JF`ov^@2CZ^Gh@S`f z0jj+n147?C90NM-&@L~31Je!|4Fc4}Y%~ZDTnj>aTnR!=kWx7ci1>IAV3TEVEeKE( z<3SLR1s8&FR0^avDF?u0ZmFCHSUo(Oa}om8*9XS{^+@J(Z>7HukUo?QfR#$h-e|tk z?=*!c5-3lT9m|&HbdwDPNa7OE69Bj~efp!oeT%pq0Bl?9P!}(Mzj|sus@vn^Me*Yt zkX;LW)BCz$;CBzuBjG#9dQrTXGaxwuPX!_q3}j~}bjWYCj=M(%pqne@T~p1+2C>~e zV=K3>{ILSvFSGeW0&Uwi&8~iG1aKk|Sp~lQ+`yqhBKG*)$k1-Zab@o|A(v)d7k~2u zHZ8Vso$usXZIW4kc4;6+B9KgAjECF^pg!ddFtDZpbL2W;B@)?|EwY3FB;jj^b&m7{ zTM!rAVg@YH0hl96temEmrAtXN?tmK#LpD58i7jvV^dzv?3-@s1!UN=88?;A&2nS&n z@u8cpaepHVG4AsYfK}we*NlPLdU2~J7K=DO0_0;3a_|jRWG-&J3;DtT59##47;tY` zbz@coU`hgSxM@AG@c^d~Z7nDeW3E74RXu=qQ<8Qrt~v{+DX7Ql-H!bgezFRJf73U6 U2Eqcm;Q#;t07*qoM6N<$f(gbIA^-pY diff --git a/graphics/pokemon/regidrago/front.png b/graphics/pokemon/regidrago/front.png index 59f367fae290257ae1914957e0d126ba8d205af5..dd73e21ecaa3403fb77ba7742fdc2caf45faaaa1 100644 GIT binary patch delta 819 zcmV-31I+xP2bTwsB#}W-e*gz`Nliru=LQE3C>`O)qxt{<0{TfrK~zY`t(Lz|8$l4p zclQZyy$8rC&~c)%3#7|lkSN!8ij*b|$phfRmRumY+USUAp*?~kUFj5AX%+DVJOL6f zK!*#EDEthW{bR6?ixCPd%gy|5=9{_QZx5kYEE=tjWBwA58X$fFf57km17HSVy%j+I z7649rE5`69084`vV=zD-tr$bTMLj@i&OV!U_=1xF!Ap z^bq52)l#rIfcd@yL@j{_a`wSzNNNcz@NqE6zVe0|kiY*=R~Ao!<|bj#LAA)e<8BHL9tlt)(iCXTDeiBivSDoxdEiSR$4Xye__yO1~|IXR_2)dz2O1; zC1_^`01Z~>Gax}U^&0-%c;I{y5coXx8nkKv)&ypm1D-T2iev(3F#DmBPJ*5Fo2yI0}`V^^mn=!j({QsOW0!#(<2SVl*AYM{vJ9lj+LeXvndQfje-L@ zi%?fzKz^n4gVud!RR}wVkc+_~07S!jC<^%RM_xr>fP+vR#ye9)MtZ(}M_vV_V9A{+ zKw?Dh9!ziqDSp8wu_}b=Vmh0`^9YgItl!nT3jjqFe_0h7IMU}Rh87^+nr+UeaopAK zCZgpX0|2xcxoe1&x8>~&q)fy_^bA1v@*lAEiT74gwX61KL|PLOS|Gu^TJ#}ORaLue z5i!X_@H#{TTyvQY5Y-uhurWjL3X4A0X+w%Lv>iIXHNdjnZgt8EF5hkF-UBr|CZy~{ xF!5g4DH8t3)%`pohKshNc=a7kUh_qO{sIhXV3~n3|GxkL002ovPDHLkV1feJWw-zU delta 827 zcmV-B1H}B72cZX$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{TfrK~zY` zt(Ct{8$l4pclQZyy$8rC&|%To1=3|VNG{iRij*b|$phfRmRumY+USUAp}hn}y3#4K z(kbEzcmgC|fDRWRQQR|R_77kmXGj!AmYezAeBaFO&7pq@8a^}wE`A+KN=;Ud4mQNFu-W6ruPcV0NXRb z=vV>38vtx{#ppyW0dmO!<+~@xu7XJFF2O;Z^YO_SrL?Ia8h|8!-_&)cn_s+0M;aCi31)zESh8zCouc5R?dQ* zb>F`uwh0*uxFWsG+Js3?c}$+b8Ccr-OYrY#U}Or3@Y7@XZYZ7H4E(^Rt!J#!k; z-=>uF_0e44+WP`XcEnsC4v38dIo#=;IRZp77PAKp(<2Rk<(zcR%G+D$G&|BI4VW!q z0BRiU(<(x}@(k*0UEY=DkXaYfjv?f7bN~P;A?~sa{)drw5g1@Uln0%iIUdTr0HT_&Ea{3NL3AcW!VFOB8sew1UAygr~@rPzEy2j z^G>H%zM08?mfsivpv}mAhDd&$UsqsdCTDVB0NPK#!__B#x00e=v^OKtn#s@tG3LeM z9wJ3iwDT5`vowTVhiHInTc!&{@r^**EJJrpON*@Ah7#YO{4k#ZF$->qE00B@*L_t(I%f*sAa>O7EK)HcN z7l7MQxCr;iK|DJ&J`>HBAT=&rpop;c8j>~>I^O69ddB?Sq3I6p7a#*DQxF%!Lm9o* zI{-_XG=NeEz?k!pfwqVkxfok_L@#(X=5)lkAtGH z+;f2Vcs%0DXAy9$HNQck-W2yoTw0et9VZ*K=q46z2ly0i>jNh1`pZ6O_udB$DZOYg zb@!oCO}#4V?|jHJi%xRRDw(l>lIwi}ESl_YKMieWBJ;loX2A3lz`#@no_%nWW1}Fd zR2`MdG7FL?gL_mMkXt}GV&F>;ZK})Vw;tMbUE6A}5Gae^&|ZL`38QKzckZMKv%MW- zX~HOY?F}$BVYG`aucoL)SK)-^oI9u% zfKD7XYnV&#$ate4=qdGgCr@`+egQmyGzC#oG?bBBc>>T`k_M2<00?6oGEgUG#hsB} zPHz}{V+yDD8zSBzl$`S<;0`IvY8+v>0H|_)`PHJ1EeA54?|-*jCm-ez(K8!I|LQ*SgRXL0;xrA0V%kR8+k1UhivvMR% zAf&&Kfmo84$4^6@InN9G?*lWSc_INYFp+^~9|nWuHVPt2l~Jk4vmkLYNQ41?1fUv01SuTC_kZh*T)z$V8NUPaUcaWh9BWi{#hoK6yeH7R=)i diff --git a/graphics/pokemon/regieleki/back.png b/graphics/pokemon/regieleki/back.png index 59d39eae45564e59f9516838b716cece7a335ce1..ae081d19001edf2c50a5664197ad86aa136e7fb4 100644 GIT binary patch delta 574 zcmV-E0>S<21d;`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#D9&Zysg z0005?Nkld-A<@j*JgAQn)D z7%`zPg^dj{RVWL}m*XyNnmB1w#QZ!(^)KiDou$;Wp4NY@(SMD7dvXJeZvdO|!*Bt{ z21D2!*k-T*fV>)FZas530I*kAz{2%tA0)3*xP8E?eJnx3z3+h#PD?WGdMxf0IRg}o zLEIav2Q9%7jLlPQFjwsGnE{+GSj5&Kn8R!sgq;HIjMWL=?AjPkpgF<41;(R`T@tXX zt;OVGmjsUQI)4|z7C}Ah#i-vzzLVm(Q3EsM`g6!0vih>B5GF{!!sOSkzO0bBmTeyK zK9euM|EOo_c;K2~z0aih=ADP_gwfWFptn*4t=qD@AkU%z;(c?I(ar!bbOsPT{JaW; z{sd5#`;X04W*tCXvp)@3W?mO?KiM?kxi$tR(oiNVHGge@(*>SXSfXq|Iyb=wsT5QE zEbc^Rg2&%VB|eJN_ofg=N}=<@S4ye`2$W?h-{tKPBCi1VRYKpJLNfo2ZVx-ob+N)T zFh~UeAF#6)&?x~bF|7cWd!19vbr38Gr0ExYiAuc15Cy}tBuy_)wbqXzh0qiN8%Yk< z9a+A*$2U%eriFQ9Y=eHrMh+Iy1pJM&4D@kj5D9$*+@C)Ezy0I-3k%@@f^#_8!TK7UPOh`1UfoI6(KjsFUO31j=gr`AnKbc%6^&sXI6@3J=K5J3Vbyl7Ckz+#z7qIkq6--VQ(r zk0lv*Jr)m|oB#^OARa8$gO1<`rsgd+m=!zx&HzpyEMsdFEZ}Y&guMpcjMWWZuR&+Z z8nidK*T8ggc1i+vb+nwFosvNPTjwm;A!v5JoD7G^_fpgc4KOoqK8Nf+YaXi#VS@B4 z%zo{g#|oKi*?;C0?=$)G`;TUqjt8y@Hit}#Z{BIyP8jXX2zn<)(0MJp5ArMuAU?D& z8SM@5LT3Qc{m+X)=uZG;dHC2qW!3{UHT%wtJmZ%uNui2&Cy3{1LTyiy;bzcS+h_ zoNBEfLJFZN1P+oMtsAm@eT$O{O@(=59D}~bL5>#D1pKYD3Upl=L_*hq`*Z85{;mE3 Y3*i8Qvk!xxRR91007*qoM6N<$g4a~=X#fBK diff --git a/graphics/pokemon/regieleki/front.png b/graphics/pokemon/regieleki/front.png index d88744bcd793413b2e33828c8480540ec0f85e2c..b622002114883da2335c4e304b6eb68862304cb6 100644 GIT binary patch delta 729 zcmV;~0w(>02CN2qJRDz8-cr@E4VGyVVlSVpJEn(!M0SZy$prSZcYvAa-WTADQVlK}uS3N`NZl5bY2M zH$_!_8B!;(28-AbaZZLH8!kD*cI`L}1UYAtH3~sWdcAE?RK?o-#~KtP>jdCxk%hJ0 zHM|iy1b=J9M1u+TLK4lsM7GcZB*ss@m(8}_xCy)1olaP)a|JUL1Mn2Fk z>Qyu$qkkTO*tX_~fJmG>%rW#aItNU`dp|sPAB4nQy0yZ8^0IvcL2A0U!Xaf@z( z)Vx5D*+2?79*q>JJPPPw^$j|=TVAerr2g5louNz78*JJ9>HF@EM+))Zg?tOp!@mS1 z1aASLgizz-4nTy0u{z?UXdO%pgdCDrDh3--d>8xssap2| zS-TE*fw%=C)|Y`g0vHCg*=xLpx(yW5fOG0)a6^jj_2iyD<_rWnYS)o7$}Dh8z*VIg z=!%rACGV+ICT5EtB?OCp0`^&>`5aq=tDkGQEc-2RK!Oi38^CB=2J4*)tcAXf(be#g z039rL0YzoI9)AI>HYLEjJ|MI*7uuFdc@VHR_+f$A-zYUNZJFl50st9F-E@Q!7v+6t z;X@kcME6|=WwQ~mT1ROJkf%FGyn1{t$z|5))HQr0^Aj9zNxC}8=^j+ zrd9&72H>h5i`8~hRMnRWO#*wciIa$PN(i#aiWRocLNE~KTuIhAgemzAwnb4D&-Op| zAdRdiz}=!0p53Y8gUAx>5fcqo?1?OzbBUZn3y>K<4W2gJ_TVP;R%)B+QRjJGia}L9 za*D3Dq<`r)1N<#-gpP`_*Nmfw^_I3kAip zNHnyqL4V?r0cx59+;+a;tT#vK05^VTe)JoCobB9D$UbR3pYqdW;=k*6e$QKGM}zO{4k#tb#T#S*00B@*L_t(I%gvIpYQ!)MhW!Nf z!^D|0Bw3Ro_Uz~Be#VP^LVtIo9|PpJ&n$EuifjlG zhhn9!-y;s$Y_@WP0}By{0!+q17EhFmIDC#rA>*)F0pqX{^nN$41+VEd>l%5+!EH)9 g@bJZZ`I|6&0BeQcZrOg3x8kd<58)P5wZ|6rc@`JEs5P^#k`lNpwXdjv@k>7&imjp;eVPT^`+k@o%<|jQ`Xlg%);wc9!~w&> z9S8K!U*ix4v~0p5j*w=u;9%mAX@nSYNH)-rBM!+ZvcUx$vX!#@4mc#Uy_Fjryby56 zz$6@a_C%O~!~J;_dK@+*@HlJ)dD!=B!AiPjUBfTfnN3Lpc5AkSUuOR=3_ojy-{fYk RHv|9x002ovPDHLkV1lOduucE~ diff --git a/graphics/pokemon/regigigas/anim_front.png b/graphics/pokemon/regigigas/anim_front.png index 125b269d1bfc6dd9854be6ab2a6116de349f7072..52c1d6069be4e3d9ce0c14c2b14997e26686f4d4 100644 GIT binary patch delta 2040 zcmVO{4k#xl%X&xv00+5AL_t(o!_}9~Ya2-xz$J&q z>zvZG%*tdgY1R^p_tKQajP@o}CiYE=Qe(BH%V?PnVJ}&MtqIwSmrm*w-omPi zfArhpcM_DUAziVuA@#$k{tV-kKC)tmU*^aMgl@$n7=QSr94qH2A=yA!U9qe$b~XSw zEXOQ8S|cPGh;PSZ)&t(e3_7&v*Fhjmwa?4t-|f)!H?#ur2RnoW`q0v!K8fk-H*`0W zspvv~K$n2eGJm9^$2PFY#HY{2UL+j^!dxSj-(vwZlZl?&T^~pW07Epf0%~w!^GIe1 z*wF~tu%QB)Nh6Se->NnTFk|Y-_Qo;F&-QB+GD>F&sPAKqnN!X=0)OlaI{-vE*XTxu zOo97CusHxVK|o71iNTNE31FYip7Txy0`4`8KS}ZaPk%iGE}ea8&qtc18b7r?;P~6W zb!sq>mr|aK?0hOxM?b!QM~ssc|Hu0tPh?0D;>EMsTxhArxBuc=N=so49I7r#VN02v z15g8uC)9vVOOvGRi{cE(`2i2W44Od*JGb}c_fx>|9?t{%zxFtmOYEYQjvrTgDmne< z&%GKHd4K%f-#h#b(MXaXwR`~fLOZXOAW%zbryRhB)HG7yN1}y*`q@jmVQU3QT}!}J z9J`ItrDh}-M@gNdUOxw?e2YOjbdf zkRW5IgwXpYgWSDH=CslJp)XWUGb#)NjAYob&wqrL*mdmU&3P}f%SYYw(c_($urv&b zKz^h3)@&xyj%~JHbpRM#wENx`r1U-xWL~tTDF|t2&Hlx>-$tjT85O6J#xrd|d0N~~U_+gqrj`M9tv`o$07NkG3V+yii83kLg}My9<$iO_d1H1*+6rU$au6i`6Z8wI$;-px5K$tIY*q<mkk-nLo zmY~PHq86%Dm_O^2n)O4gyr*y8etcF}t1QH_q5tP5L`YTD+vBjp#SW+Hz1skI(KQ%L z(DZFU2LM+v|Ml>(rZDr^9g4>^d4F4q$aV>UliPrmziczRWHLd?M<-+D@M(Kw3N|vy z$AMVvDR)hq4*)Pfh^p#p%sPc&fgk4xDZE~a!`t(>)>D4O;Pt>x;7F-|5T_5zPp|XB zzOD=J%vr3WdIu%wVN7QukP;0b5l+BUol zAzqpRTDlU43OCS_CI(U(vXVQkG5k`iJZ~l_Fo`Mfi7Uj+AMVshYUD`}W&joOfZ<$X zKn}r@yc$UqMIwO@>COiss(+Day`aG`fDMg)e18psVYs9DFh(?#pm&K~@PjDG3>pae z0zeq#&vTm;{4@IZ&)1&iEbN=GfiCB}n$h^R%^Mm>%))94qkj!Tpf;(YA>R;V zJ+POc2u!UB0PqAJi67wdJ zDS)HE!6}yZjPg!P$(wT-NlS1P+3%Q38I)m8E1|?}qoc@SX}AQKoncOZ#6*(PSA=2U zy9NLO3kV#cLe()2xL1lw@}jNS2mm-lBW zA{4Y9R`^iyHD@rmk-deZK1?(CLEyUCyPm`h#$XuyIsimH;B^;g0VUyJW*QDc3Z3*IRuZouP2+s9#Y$^+D1OKm5l&o5l`JKKQAs2YUyY@ALAZ^@Qp1WdMXh$@)IB3W@%A^x;3Z W#O-&0dQWix0000PiPz28Nf#lgX>xQ!T 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 LNkvXXu0mjf2np&E diff --git a/graphics/pokemon/regigigas/icon.png b/graphics/pokemon/regigigas/icon.png index e71eafcb170a19dca42612cbe024c57c39e809ad..93c4d86a160b748a275d252db292d330173374fb 100644 GIT binary patch delta 392 zcmV;30eAkk1Kk6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#DKuo5dr5C?GHz-mIaq!o_T(FiPciz_NviIDJ|H*VF=(5if_hYMj0 zuK5TBo}jtGlK=(nY(ml1Xi8vo7 zs=&tBAi3*>eSdJF4C58f0Q7Dg6h$Ah#Drk@9_D-h5{M)zOJLZ5+Qj9~_yjxoThmV* z#}zRrd%f%=lG8mRsoi4TE*Py^fI;aJ3{_z81WW}BFr5zrk6?NqD>8z)`hXG4;9~-& m_b~_4`j~-feayiO^$Teg@mQGMa5w+}002ovPDHLkU;%<4~_Qj zolxCx1AJ6L!}3DzbnlUQVP>hB6Ie$?9gng?KQR?Fwt7~kx1;cY@@I92kQ&PAn!2_) zhsWVpsYM-ZBhH77DsVA2N$Cf1A6zKIc!di9y;}zz4j=M_3Bm9^?Dzg95Xo|u!O(ze z;&Nwxf}8!-^jVXpX+`Wwua~Vva@r$WR(~7kcEM=X0u0KRV5kCvCtxaAfa!dgcm&h? ySdkIT)d!4V1|JhJTIXX9ru8uc)B2c$8O|?h74cXQ1&1^M0000A*x7{+%gRxWq!7?UW)nFV??j{CD$>8%JPciBV?196ikvs~QZ zVm%-?G{D%^UV)rd+7y<%6pnS;KkD9hmX8G%pLE?FLgHh8^M8KL?mUlS{JR$+&tK0` z`aIz{l-g^nim3oqN)J|nl53|jIP`QiK-K--Ff8^SGf-Ns)$BE3-!Pi~z}^JVQrWhI z=nV|Rq?DFxD>;g=$Zi4%QK-C+y3_*z54ZOZqyD#@>I>J!MpGej^n-g` z|8aW;Db&uJ7w!qAjdTcyHj3q@>Wq}|)nMP90^R~Rs?}?)hf(KYbkVyZkbzd~O90@k z^J4_>_$dmDMVu6?FH$rbI3?W$0Dt0cmTR@fqR8Dw4S&XruZskzViPIAY}9`xKnwtX zhZ&Xti!`s3^#DwyqkBk|U^Fk9{xvR-e-=5P0jW_JWK;Op@zZ6|p+{17=@B%UzOhZV z2RqHLVJQNV?A98mG8LgU20)z0GoWh{Qjpz6jiOUn0&G)_C(=s+VgSJP3=8*Sq)pG>-Z7o zYRRCD6>tR1j`C&^uEvlX>yjJ`NC1O)h3TxNfPd;9;ZLi`amQN;VB;r&`g${{%2=d0Xoi zS-Nh8Efo}Ctw#uF89HUDAtBJWrTP+6t-Z`|H+L`xgK>2ugKm~q_GJL~c5A{I<5_^g zw4AoaP^Ii{)=aApz@7b!szMk4q|E=DS8hLZ5(^LEI0u=|gZ{R#7#SgQ4rOdgR)1+m zh|=+q=#j*NP$v_>r@@{Ar)$@XZUsc+#)cLsdJucv#h~)_L&G_EmjyW0xA)@fJp$F; z66oG)4yW|?Ong1_qissJPfpeVR&-k<(HZ&C4t?|D5G{zka^3xO4-UeQ24GPz!V(}a zY3caW88`_4+W;Jhdk9sga%>5hU4I4aLuUk!{q{B*h;^WTdoSSqq{31HEOKnI&kn6L zZ_mW-*+twBi|8;a3yUII%s*C}&;q;xaA*kwG-d#t_l$o$5;K1QKot!}eQHs*u7r#S zjq{noKp-&~>~wxT9tQreWIX^402T)03I!(~dP4rv{-Rh3KwXb&GawP1n16c$14;Bh zdFRR#FgkK?~Ud{+R245tUL zB_rrpN^b=)=7&0Xj|sZ0Ik5WZfPLU|fVac7u4S{fL>(n zx}|~W4*Fy>o3Wgs1`Y!x3&t`xDyslvaMpV)AZYm3G7ORk6A*bL>wmyUhXI3*UTXEv zc!BfCL*#HO)meZV6r?O{1W?uoQfm3nlq_u^h*tk)&7KRVHV{Nj4Mzr`4FqXz1f~We z-$Rkl>@zVCuO_U|H|Q!K!#1Ej;MuwgMi}lG8@4OV?80d0)fn6{C~ux^n6(GbTYi&& zFpO6!g1ca|e=y9#og(z?XZ(XyUPW>Z00000NkvXXu0mjfB-Z+Y delta 1670 zcmV;126_4P4blyeUw;N&NklHt%7{;XxLPjxZ9JlCj@z-86&3=v1Jt%A- zTiwDm?Plpx+Se@ZpwLDZFSeOXzQIU^t{sAG9n#>SKkA;B^0$>9aN8YWK(h4X`$dZH z<2e6rF!t;BTb%!z$YweBH)ds)3=}zku@2-){sQ1xezI<$SbzH6aXj&sJaAqtm;DXk zz;WuWzW*4&b9vuWs@r!Qmvf#kuldMel3xcf#{KRiKt(Cl3jHmbj*2e*+iDtGWoh`4~=S>{y}L9R2RTexl(T2 z4cm9a^X?Uc2VShK0Ki52`w+kAAslBiR4GwexTw{rN;V4sf6{8^%jMc4$h}$_Wu|c+ z14T+=32tkZ;Jt3gEH&Wjr6iL}zUdOCdP*^M88llBP#LGE&ZfrBbJLU9~Qw zhcB5dKhnCxkC5c@#&*R%R$5+SDgm19m1`$@$wFfUK%GT1pyM)@)}2L+s-0c|eAkR7 zy1E3YK7h*^5cpoZ7mChO2%@@Azz+f>rh2Lw%0&!m(+?N{(HG8TKvSg<%wO`5*8YBr zs#K5^0)L)$jhx5e4O>;jMZmodVxXbggLw?wRi@!E{Vj?nT1zdcwn}}P0~f7`1->JD z-y%4$ArLT{#jriRjP6laPX|qkKoa1#O?77BVg%n5mzESj3^=Tsp4M6`M0byeUPkJ< z1yoK^RVA zK(%q(ArD=nEzkfUB%Y=u3gKOVplG&R#tfqSpyQdn*h0h5G32#S5CYt;G3E>l=$SqN zy)ph10LufauLTBLzik-9kYw{I{`X_RNLukm4ES_qh_5>X+VmX2QwwyQ6kV|oaWPm0 zlz(puq)mK7SJ7c)$P9ceRx6(9xHN;V4I={WlR<;%Enwsnps?LQpvrz~4s@r0Bh5(I zjfomF$Cbte`mM9C$eG=@o{;g@W=sT*8wxo=NUjcGV)11V*bQ{Ycbf4MI1EI8<*zqO+^<(RsDmSRi+}3O|C_OOkXVU@hR9|&^n-oOf18q! z7zrk}vRsHMS=^K$5FxLQRF_!;=vs*YeGUE;Sl1{}2&Dp=#+8p0IBAgeARtnx^MCcm zPWHu{Bp_RSeXBm-5>VXBq3^Bx$mU+3s?VpbaEJ4q@o)4e~U?DIrsNqC|s?tBLzQ_~; zbl0Qu42T;}B&&)HY0^J(3d9N|Hedl2XzJZub|64Vfuv&K(l%TIK1DI0cYjHDl^Kpp zG*BG_>|zP%Fa`x8EFjTuY)2xEG6Qf=3PezlIB?IRdjKv0R$+(^CH#@u=7v+x4DRUw zg$V!;q=KGn_)|?5OAws@()L)_hWiC){`2TT3lUD@&T9dCChgmTpfgk6%}F?p&pLP7 z6>!&!qQB65*8qnNrU$R5Lx1F}b#)DJ=7&18$AnbY99aK!ARpu$kj?SNar>@dgFMAdW~_QBLt&t0p)7NuvJMD=v%V?ZN0CxZU2ca%YO<8X1o7t&z_A~ zKrk~E90`CG5UlYiFclD~E;aeYJYxazY$AHejTif2gk>OkAd~wlgfMoDkL4OCX5lnb zW(0MN&YMco4^+x3zPHq4`oVFYnGn0+asA-9=^I`3f1w{7uZl0=zo;Mn1|?#SCJg~H QBme*a07*qoM6N<$f-vP2)Bpeg diff --git a/graphics/pokemon/regirock/back.png b/graphics/pokemon/regirock/back.png index 8b2eb502e5ab8689be232772fbaab9e29afee5d4..d9dd76c77ed256d6c8bc34c5a02aed039a230906 100644 GIT binary patch delta 719 zcmV;=0xH%j=V=HL51Vkj+{iFy9m{{7}pv~B4rU!W{C_`a{+v7DuYV;7-xsdAknyb03r$Rs}HAMov<;3XJgkARnA$|lrnFK`i=K%6+V7kwLQ4}NnIwl|=fSBjxk{OyA_aA{tloE2z4b6=H zPoR|&$N2FP5Ol$CPJHwNDU3i!z?vm!q6!yVOFpi*oFY1sa}h|)@yOv%l9DWrp3Y&L zG*wNEBO9jPp>n|yf{>P*?~>U@(gW+GYpGe}6Ym2^-_{gJvIsFaA6hZ=*>DVh`hqBO zD5B$$51hYEKwAT`b&&u|)8;*$$0ULKRtRd&rU&rxft|DosJUq|KtZ~|vr#3dS)y_x z0d2-kN;0wvBTzq_CZ1CwpC$p#K+W|CxcE>ba`d4-5fE!h#5$%JH2XVx9g)K)dN#?R zntTdEfU%wdPv^T6NnjUI1hp9gO^K67105GP)^Dh?BbF0UIvD@}002ovPDHLkV1m18 BL1F*^ delta 705 zcmV;y0zUon2K@$*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0@g`HK~zY` z?UcQ4+b|S`k(VlextEgc6oHp69ZCbTOnyH1+#f0XSJvHZcKdvx%P+Tph1RQ=Tfj`~ z#Z6$o_!PLC4RPn+S6bhv`#0x)jFDG~xKpZm?tyLBb>~gm)>@ZW0LPeiw9X^&G6IV4 zr#l8ZmiYDwuzi1L1(sMK`>z+^8Nk%X_Y2C0cT8OD`>a`M40S;QiKFdECA_1m|kMn9RRGB17M7)o-Awh z0Lr;wi;b#(dqCxt0g)uOETGg9z*7Q@YYmx5E&|dl;XpMPz_+F{$fS>PcE}78jjIPB zBGC~DTgU-W&a8V6G3KVK2A3gVuYrQS0wjzKz&@~XoHJkXV4BTzq_CY~)( zohAXzK+g3DxcE>ba`d4-5fE$HN~%+eL9@T3*AZ3tM9(G_sHQpvA;4JAfT#1_i6pR# nD1zD?gN&0t105OnE6aWZsInuL7e*MH00000NkvXXu0mjf$0Rn3 diff --git a/graphics/pokemon/regirock/icon.png b/graphics/pokemon/regirock/icon.png index 10010ad632166ededb5a030516081875ab18dfbc..518461352dc40b1869dc80b54d2c112ad99601b6 100644 GIT binary patch delta 402 zcmV;D0d4-q1Lp&fUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#DQN*11@ z0003>NkllWb88sc&8&+T9pwOF94#Yf@>k0(8GRRsLZvv&LKg4 zn59$|N+9XMl#v1c&e1(rFyh^vL==)uWHun(#-G?St<-fJ)$tsMT3Gcu8^IC>C8!( z2zFsY%`VIapnnOofdNxtVBt0qX3C!IC=4jNv!gJ8r3u1-`{aT5!wcgt+&3Aer+rIi w$X2jU%lq-fLZ1At<8 delta 368 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 j#Zq|s#O{4k$RP!*{&^ z0084jL_t(I%iYp3Zo@DP1yJ6A&;=@(2e5!1+&NP`cAzMZ9rSCtb|h!))I^&;ND3kz z(Z4#3r@K#fiCh4&e#e}vOX>}AMONu0?o-XOCY(v}q%L!n+<$|`Mf~%e!X|h2CJD7n3 vp@A7VaA;sg4k9H0Hgec~Tsbr!^hX~*YQ))#FcI%X00000NkvXXu0mjf!+w7l delta 259 zcmV+e0sQ`e1KR?SV1MRGL_t(Ijn&dIlEWYj1yJ2U!v(@v2Y{J9xO1ks+(LlL6#O+_ zJ3y)}H*|bUVyt;Y|LQQ_?zZG9G65v_J3^`^u{Zb)Nu`&VEj7s&aV5o~nuIE;2djzL z*ENMp{BA)X3*Rbw3$Z?{g!CFpwbY~!SFZqT@>-ndvxS4Uz z_BXG9Km{V;wLj}_fH%Fr{Q30002ov JPDHLkV1n!)d0YSh diff --git a/graphics/pokemon/relicanth/anim_front.png b/graphics/pokemon/relicanth/anim_front.png index 575db345cbe7f045461428337ccb9d26b7d7c441..1ff9f7ba30dfb1ec39d739a2dd9aacb122cf101c 100644 GIT binary patch delta 1178 zcmV;L1ZDfl3F!%tUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#DYM9mhF z000C`NklF>fMA6vuaqr9mkcf^?Ee!His3P6Hz%qfL>Iu*RB|PRP27L4gn8 z+ai^#Ye6>JlN?log|R`$Qly@)q@@(q;@63M2#$EHm(3s zA>`mzh{TOe7^~(8p?Cs9u0;|s0bo^HVE{1T=0a#C%sp5yH=HS!fEvzR-@wdGVf{3^ zj&Or6p<$vz@jYeiG>W37>d^`H3g)NpZ&+cq4!~hY=zl20k{t;2R%Fj=NeF|LkrNu@*aK;9f*NpaQ+Wa&&`+w#)JVgLn?BfyV z%_i4hN6Jocj?2LJeHw;yPl$L0lTe0(tVaF*)$dLiHt`U#GA4m3N?`d@)CoIt*J}^O zXrKY|DSwj&o!t z0g>{3vKrx-*YSn7{=gb31V1(!jsp0m@0TT4I5(c3=jZM$!s=^ z% zq<=dK#J>bC-feIch=14k$`5{dE6z|s)*J=W-43t)%jM;nQji2-D?bRX0;M1cM=|XX zKj&3KRtl1E6m#!TW>Q@lMrF-WiqjiN9Ue`TVRVy@Vty(vDCk4B^avCPQG$W%y&C+b8HQCllz-8z*6|RK-x`pkDw?DF6)@Kw2BNpR0`7VQ z&Oj3el2ZWq!OwSHav(d@(jD|b34|H}C`y}iFP7a;=?{P}J8WWn=;5yPpx^IzE1)QP zs=Rni|H4b(k64I?!F5A9TBZN2AANy!fr=6Xp2D5&N4K5%uXElWj^f#8K8CyU2Y)ai zP?UBoo=pt*l^%$JP>M2)2eAF>FHC=!Ft`IufFlv#;nl-Kp5OhHBtm(MjXs-BzQ`$H$qO- sd%z=}9{v3BHQ<}RU(a6f?>>J6loMALviG75176vuaqRU=aDDuM$mg=TSKoJJZHEH=e` zgtg2p1Yxeyh)5s6w?!&f*Gkx84;-$MAWD;!keWRg@s+18;6ph!y&FS5f%D#s?Ch*o zQWXw@rx1ww?Yx;cTK#{T_J1Abj(OdFxgD@7U+(}4we1zkw12n*sBB-MeU3nD8*pCJ za=yC_aJK(v<|m(mWzeq!aMeu%`46-?Ay7T& z6GG}&JWAEb+ke!=86c{J9NcoAy0HnRHH#1%Pe8~uPXjstv}RW+02H`6=Sm5E59TXP zXNo1DhBH?e(5)%VpT^fQF3=-(l&VmAZ&P|2$MI6`(TUUw`p55YXmK?Uz+soGKq*|@ z&@hhwx|dZ^&8Psx z`nbbXmybzhiU4eJfJdCST1){fo1S1Fmx1s5b`;G$&XW~%VpD8nEglT6{&1qGg@;I# z(Ft@>0L!1^Zq%K-UT4I|Lj@3{cpCFAUV`Cu#)&0#JY#6WHfFf=5ULvFhg;Rut95UmUk6ewV?#jT62-$?d z3w=83Wc+~v;Y6WDW&%jxwIG^N$Qt;<8-HSr41aWMfSAOuzTYiQLvgRm|?q+oDUoJ1t zq08{!wa1}@eNjZvcM)-GLBV?r@DM!)w4n-z4q+wLo9Hlh9fz)B~L>fjf?I`-k z(!vIPh(AliplL_3eqStX=Ns??VHiR|WH3DfMM9)t;C#Oh-xR|z%7-GF>Bc zTSjwyzXIl}!$9=bR={1Kz!~h6fmjj%KY#f7u15~U4wZBVJ&*z+TL6mEVa!Wp_fz@< z;ENr$Fh109mwGT540=^i6g5>|Jf?r~2j7orgodFI816FtXM^}N%yU$f1n?B@bU(iB z&VQY=&S;#>KK(J=r9XfHfueL0@vLLGuk?Tqxm1)#w0KMiNYDt0VOju8>OiNk0%I`< zl$U;Ggh0%QgSm~wdVCwK88IT?0~Tk-yTRDwYmgR{r}69sUv~ThlvftAC<$Tb00000 LNkvXXu0mjf3)Kxn diff --git a/graphics/pokemon/relicanth/back.png b/graphics/pokemon/relicanth/back.png index 678602343ae778bf2d80518731078f8ee9627e57..e4d80ab976ee7d25db514cf20768d18cd85d0195 100644 GIT binary patch delta 609 zcmV-n0-pWk1gQm(7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#DZGs-3h0006ENklq z_!KtIGX%ED3uHlCDTD;p#1LZ;fnf_10!yMIm5McKx7=sQxr}66(gSRU5@`?$`gc|IB;;sm0fo4UngI>66VEbD~wtXuF+Tw0r1S}AAqr(Wrp2}>#j zaQ*ZbhZYQEv~p43`Rj}1I@NRkBU#KGFahXxfAQxx|B`bhE)o;~Ek3=Ou!Dd6176}> z2|qb=0OIW}mjN)~)abVm%S7sv1PB;bz*iyub}r7a(mMzAGzJsbezH5qw>Js|6@baU zfwmOFz?4al&JWKQeE%5sfaW>Bu|XB$P*YGKU|_uaKEJF1y|PRv853jDN9e(k7|aW~ zZL=9qVQaUxm>2~HlA;ykt(8qN&2?DXra%DgzKof6Zkn;=AdMXF1D6UEnnZXc?`Ww{ vNPt2E(Q`26tjI!N$jnyaoZ=mDuREguYkW)6sxjWw00000NkvXXu0mjfkrfL+ delta 540 zcmV+%0^|Lu1>^*f7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005gNkl`(zIC1G?3l7tt4*@JK#t_K?gkR0m~t{&aPk3$L8Lo^BJ*9}3b z)n@{F09*lt4UtX(_%#N=m4IsJeZ81~9Uxo)iny;ogUS^37i4guAn2|%my>@DfiE^b zhn1JN7F=7HQEz|%KLw<+{`Y|20@?*Km>WO@6Of;u+{04Y-LiuEF`Y079l+K14`Y9U zlKa0~A}_$-R_yEh+vp^8OK=BB{$rNdByb&pnwb1M$JhII@|RA6)vJc?mBC-5c+?0E e@WvZ&EFXJTCfdH##h?HH000O{MNUMnLSTYi*!f@p diff --git a/graphics/pokemon/relicanth/icon.png b/graphics/pokemon/relicanth/icon.png index 034689977e184a2cacb611ff496f9511ffb3ce4c..ab1cdada81ed9bfe725f3bb37ed9e47acd5d437c 100644 GIT binary patch delta 349 zcmV-j0iynm1G58=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#F$b=03u z0003NNklQlF?TY>UAv&5 zzDr4gi#{yM2m!}7M4f@NpfRl*v7PH$L`_fc0G~P871+K`vYfQrW-$LLYOHo vvks5^msyAPuO}V8SD-p*BNI zXf&ZCwjx2dWPmX^>9*XR&ToFO#t&ouVA$~u45vIBjAfslAKut92-bMOn@Ay6so((r z(NrVlpk>Ooqe5ydIL%D*a z!$m*4>TqAdqA&wTotbpFr?*TxY;Qg5@UsEcAp?sJ`Tz7g9iFdyuO%SwP1^tf002ov JPDHLkV1lBpih}?E diff --git a/graphics/pokemon/remoraid/anim_front.png b/graphics/pokemon/remoraid/anim_front.png index daf58f3c395c0992f74b5af73968808782e1eab1..e9858af03526d32c439e9c2c541a2cf7411b5205 100644 GIT binary patch delta 815 zcmV+~1JL}D2bKqrbbkN`bV*G`2j>O{4k-kjw>on&N6-|vOIkr7`!hA};KicBU5rCtF&&bW)JoG19%}p$9TEyjL<(JO z5|Y6b1P$?&DH-xzdU`4}u}%`D9esnqx}WdeJ-v7Lm!z?c?SDU5f&||w*MFqu0{)4o z*8|Mug21zD?@}|BAiz`={;H^2YGt_GeCydou zlW0;Z!$+4$tQf`uPcuM>x~6CB!Dt5G&KLLlZ2(wa(eieGbOrg#<%j)E0kG!YHq_pkmTFbE+eXz3bwAS$5{mZ_-e}`-;gPHIHyW z+IsFi-RkG#J`QXgde5^W=V5DzElL(koL3?)W|A&P1Cm=jvLo;I87=oCfh48H==LzA zv=T?e0FoOAAm@5)V;c|VNJ9qm%>c+?z8PSq@^1h(m`8w4%nF(476*VG-W-UMlZYMO z;$Z&I<$vxVgZYmih$*~*fe1?YQx6-=z6eSSU`MNA0YC)#0f?e*p#X>=CIkqX#Q{$Q z!SHR8EYr{eJP{n1I~1Ni{@ z!yF~1b-j?%A683UN3EF@(HEBP*^|?*db>|ifnwbSpl~n*`CyjNLph;YmgN=T(&eyI zyKy2WchwHNIUBu!kPr58$jy;^tH1R{$nBKNViQ4MgsoxubGyW&ukTrze~-}@$1yF& tjVMzOx8f8^(k;fxi#R|Uj>pYk+AoPS6B;s8@>l=>002ovPDHLkV1j^dfkprT delta 810 zcmV+_1J(SN2ayMmbbkW}NklDP6D^)Uq7dkbrR>rvO!`Q;j6kcDO`r$uMT^6mW#9D|*^F z4tMbFbZ)oP z?q08|s2|JW7Jq!8&YOI5(gLb#2^p|1PGJ*Xd3FP8t|o;ESv#NN^($<@zMXe>5FqYv z0A4nrnn3|#H39@`If?=#uFm*??z+n;K!}>-_qyf-rn!I;M?9W)w}@Gko>oxhNY{CS zyF4yGZyzZAxaYbP6;^c61ROXX)85|im@EM`WlhKL~m@rD7&xgKex z|6AB#9uP8^2NNKJc`yMocmE2&26G6&Kh*sS@?Z`F(qQh3Dp^A1!Q77nOlNN)gSj8) z#035U<9{Y77EC>CFb5_m_Hs>N*N=69m2ip;I^@Ob{Qwb(#Tewi7B$ zkiQF1Fd$|KpcXWN0pmUZGkz13c!JqrmvyQ?#DR3+fk4k88MsfIx9x2os3x}%U~_!l zSxg0S%synGI^VK0+(yx49s^>$`Hi)0Fn@xu4}S>2_qW^BO;&ox?F088W|)}N^?Xu) zP%gGywPG^FUs$@(V%_FIey_*vgIPom<(Ot!me_#D7Nbt>>XBHxWhd&* zS#2K^VIQ1Bqz9pRdzl3OBI50gmjpn#zlf?~`KuS@vo6&w+25}P5-h68OL@cG!;N7M oB_rVt0r;&L0+8M?V5E?K0f{pc8kc4UumAu607*qoM6N<$f^<-FApigX diff --git a/graphics/pokemon/remoraid/back.png b/graphics/pokemon/remoraid/back.png index 906f92e20518e72b4f357d61911e5aa95a24839a..128726f52592bb43bec700a13714c3bbc1a6726f 100644 GIT binary patch delta 494 zcmV0iK2%SVomzH? z*9^JA2;X=A{U-_Aac*%%G4BEvxC216e;IHGVF$44kZ`juiK0uQf5>`aM~~OpMG1Gk z+Fb^MAQjEcu`2R)%FE>)#yW*8S21~#kx4%cY1lsljHG_sqjdO4LyR5tVgtkn6KFt9 z3@D#lwizMHL`r9J2YCt48NIJtCdveY%qcz&p$&|rw@?X=u?C851ArdtJ%;erB3T~# zHo$n9*8oqFpBms2f7L_lmje9l_{r;IK0^-!sHc?Tef#ZMV@@YZLX~qR;`6VSuy<-Y zG4pZVC6(N-138$Ord1wVC?oZ)tXx)kq1KUg;AF(AeE+}yb=0z4+f>b->?;%- z0b^5}AfT2m+jX7CuC3;+&m=UJRH26gc-*`NEC kv7F>ub~zs3eh$|df4y-QxaAPJwg3PC07*qoM6N<$g69I*umAu6 delta 499 zcmVY8fN1uRJifm#1D;0%HeVBI0%q+Jq4mqd~Ff)0sEU*@II6aBB-izz!~lUj_ig+kGD8oWor7 pL)-GoAg8&OT}>wFR##UD{Q|vl7PvlqP+|Z8002ovPDHLkV1jOH;*S6T diff --git a/graphics/pokemon/remoraid/icon.png b/graphics/pokemon/remoraid/icon.png index d7d7d9793a2a928ddf9f73af69a4b4ea87966a70..6ab7ab4f7f412f198a7b772b9d7391be8f104b37 100644 GIT binary patch delta 247 zcmVO{4k-wg0d`OT z006Q{L_t(I%k9!J4#F@DKvCbo12^ae7+5RyHcZ^It0M;1h7PO@Q7bV8Ox#Mu_QC)Y zB3pjbs*WDOFD`a_Ji3rOAGYp|DcOBK+mI=Y`Z+!*k~)$zU2rMtFc5`-Yq?Wf%HnVa-x`2YHx12_)Ajssc_;=^!|U^oaE!(joVIILh4 xhXu?@aS$+}Qyc_LG{Y7!lNqIe!SuzeeFEu(av3cnRm=bY002ovPDHLkV1iIPVO0PC delta 207 zcmV;=05Jd00;d9yV1KenL_t(IjqTDq4#F@DfZ^Q012^ae7+5RyHl4U-S4Rx24IR2N zRIS8hFmWpp+l<{1-tzaMSo%Wv#bI}biwo5FaCBeHlReYT2EsV#=kUUW>J=iqW745V zj6Ij~#5$Mp69BsdrlBgK?Us0&mU7p}xlSCQ`~#RPd#~^1|46f+LvS1dI}Ttuh!4X- zg5e-w42Knr;;?~H99A$_#X-QtMsW}@$t;_}%x0Ag20WNO^9JdJav4uF#-acK002ov JPDHLkV1jZ~U`PM} diff --git a/graphics/pokemon/reshiram/anim_front.png b/graphics/pokemon/reshiram/anim_front.png index f0bbac2064dc503b42c7b90e432aaf98ec449f88..80ab6c459ca2108f5e039feacdec091bf153be66 100644 GIT binary patch delta 1728 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 diff --git a/graphics/pokemon/reshiram/back.png b/graphics/pokemon/reshiram/back.png index 2738d144eedea317ed2c911a68906972ae744807..ed5787f954a08d4bc2d702d70c188b0539d7d386 100644 GIT binary patch delta 613 zcmV-r0-F7v1+4{;7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#F=l5Da`0006INklFZVf@!Xb7<~S1MYYX^o|pG?${l9xOIQ* zL|^WR2LN;H-ieS^c;FE*7~%+<`Vc7L)dz?vwmMd6m zC0HIIlDFC<#46Q&t^svE)LTdbt*(DtO$4u(`X*Gls;H=3`jvp0Bq}rysqmrM17`VD zvaDI3lD_+S70c--K-l@9b zPYcLrfa{)cxU2!;F$3IqGLdUQ&Pq2@C>aaHK2Y8!0pTsn49vS3CBK^q#rJw!|qUAWzi!)HMOtDiWV^Etrbub5Kt*@mAAS?kNt8a@o~n z;ja{Y)Ugy4JM(W?Te$SS9e`2MNLC8CSg}S_!qHL(xe=fi$E6O;vjhec><;Gqh5oA*z&GG+LI=T823fwXVg|$;z>>4`pIyHIdlA`yDG$3k(wzesyskes;H!MV9~Yb( zAeC)jAfFKk#xIBhIW+(~qAa-JECtP91!gc7fWx5ySRoe16r4{}P#RUBIi%qB$$Wn# zhz1pi8xB*j0(_{!1!o2Tz$9S%(b7K5;huI!@$LX$riK9nWd)DUB)mOPsg%mc zCi4BMhAs|pYDEbg_te8y7zAVL%94L=v0K5wRqL--R#?T9hhe6f>dJ);{b)^7) z6hLfYGRQ*F6Eq5_381@8<~lk8U=UEVm9&kBGF^2YLDwW`&b93|q$h#Bl40Nxhb}(} zXv(Pa2sSjxi2!Mg5A$u`=4^j%e^CRcl3X}j_rdi zm^y#kgdv4k!u8D0HPi=5up3PZX_d0UmT}K_MGp_YNl;5j71SfCn?MifRuK9GsNajb z91zM&n67wY{C^yIs|NHdIo~LdE>(fdt6*__db->KQ18UT>l^Jp1Hdvp@*#xo$)>oZ@b!-8hNX4VF~WTcs{D?igourk0nae9#Xn~gZm khqXZW$r~r(fBe$%0cE5anJXoQBLDyZ07*qoM6N<$g5G@n+a diff --git a/graphics/pokemon/reshiram/icon.png b/graphics/pokemon/reshiram/icon.png index 9bd6457f3ea94d627ca2489beaea50298e5268db..503be04a9b82ad13c86e5816bcec6d5078c03805 100644 GIT binary patch delta 493 zcmV3BjnFpJdA1O*SC*^rq2Aaeh5*J;P(JMgQtHf z;LDWI@)*FAC}@>Zs00HbXaq5@0pP&R7yyP-4lLlna7=<}n$j8pjFW&#Y-(IO00Uzz zfE`@r%(o!4RnW2yY;!qrFnA($W$*x}F12aTQjo|D6Os>BIRJ*op;5{&nU=tPBnHx| zz@5HBY9bc_SHLZp#z6UfW9!p4$AKJfP0o&)Sfp9xqQ}pD2TjEeUI|ok=9K;Kt(1OPtLQ4QS z08+r8@#_?dw~)NxGv|~A5*Uy1SXC>B0*1M%a42B-lS2jrX4p7%84N#78;4mggW;Er zLl`m`w{yr~?9PEo`6N jX*~F7{JRetf8pZ?OCdDqmlUF~00000NkvXXu0mjf#{}AO delta 479 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 JPDHLkV1i?$BVPaj diff --git a/graphics/pokemon/reuniclus/back.png b/graphics/pokemon/reuniclus/back.png index eacf29de6bcdf25219f4aac9dda7307406b00dbe..f1c77cc5bf666c1c283bae3e01636bcdf2ba4b85 100644 GIT binary patch delta 416 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 delta 1637 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 Hu0mjfB_Nvn delta 329 zcmV-P0k;0X1D^wsUw;8ANklJ3eFi^Fn@9{F$JJ=&5R=Qbar0N zoB;^v=NH39I#;^_kIpcif^OGzmnVqy49#V>9 zS@$La5_0|Et3Snhr~krh|eKFFF)sV7KT{!HJpApBCURP5A?qWAGX9TULY!2AP?oP27Rt3|0S6h%PH z_q?!LlRti5Er>ulj?&LV0NSsqp<;hQ^%KL1hU^dkL`$O7@a4}BQY*U)Q{cdJqP?av z&WS_lM27&$3KeL8=am2ouve>zWLB=JkOJh3nxDG$ePF&{bSW^f;{Y}4ozI&9AW5O( z++s+nF>aYd8|&YDd6u&% zWwQwY+Xo4A2AV0so&!|fZfp5gN?u53=K#-0GEZ3-z#92#_=eBGF-M-J`WwI=8Y4i= znZAo~$oMDKfr z%xKRWCT z0%DJHi!Sz48v;=)nZ?cK&OJ&IqO?l)ad2?Ft9|35=;iVEy*@;~q52RWy&0cr0sYH2 znYr_avA59p%=>sBKj#4T@wOb~(gG&q)Tyg~NJfbh&>6sZXVya90>FPIqd+GIr?D9Y zRKf3w0@P*%P-(RVd0pw@6coSGx1tw?8UnQAK10B7X>N{)*Y@zCvfL;zU-7%pg{{4_ zhbh|w|D6MsCeb=*?P3p`RO~_Kc^OlfptX1QU^{!@c_{?KE*i9lf_wW@=Sk)gIN8JY zEC)d~-|T^#O(zGCC^LU(4=8fL9nWQr8MFr!Il#pE=La)r54Mv7WAjyfZ4Ym9@HvOY zm^~<#1FMk3WP|qbDhIIW1DE!ojda&bpl1&(2mH&nBlghAfrMy>?V&lz0f#u>MraR? zTPrtz4k1l&z#dS}MciafjAqy#SS6vgm^Jvr!~%QhHf(H+&A5LzZ?5e@5zO>qeAA@kh)Gj8+NY@(U1w)KTQ{MuN4&a4kkt~}OnKxYqM{_)_% zFTiO5{H8hd?cvMcfAK?_xvt#T?Op8Q2^`;6Cm2I#UqZ|OonQ=|?3p`N{)b@P81I7d cpN)S3KhQLX=dKR!QUCw|07*qoM6N<$g5NOnTmS$7 delta 1008 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 DBR+}N delta 265 zcmV+k0rvi>1AzmOUkCvVNklKdMM&@ zVTsAG2`T3<4k5lerSbU=TgGY{)gOrT<5u6!0!pv14YSkb+WoRt{|^t%o#4{tdv>8D zKJ-w|&qc1hdFE+p3Mm2zXGjx7gNV^8Fzd3@yQ8^KVbKhJ>*r$x`KLVdxF<9Vn1?0&`Bo~TH+r9~>+mVkrzv1H>Zqb&0HixO^ P00000NkvXXu0mjfT#bD% diff --git a/graphics/pokemon/rhyperior/anim_front.png b/graphics/pokemon/rhyperior/anim_front.png index 3d07661e3f540bb82966647deffbcdea09e9f64a..22b2d66353da36e1e7e3e4a4f2e5aea6082b8ff0 100644 GIT binary patch delta 1794 zcmV+d2mScJ4$TgbUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GE(B3K~ z000KCNklAqpj=0lIs?}aVi8yc~yKXt+%;q_j zdT`cSyZkt8wU9bdkU*7|xXKNwG^1WQ!2yKS{E&|z{vF=fj(?k!Z8^bdN0DoLK7Mb0 zym{|iMakQ(SCyq^C|BC%`%90vYoA^PYSP55`QtmaQg#O!sakL2^|klrK;59p{YrHw z0}KmIY`mq+AJ=Q^DNxT$l6 zT&KEx=M$pC=6}Y<)66l0$0b)$9_{e0nkh~A0Rf^@BL!*(qnt^g4hW#BLMucY1lS-M zd!xhy07p@p27|h-CBTtSXe6A01Q^SJ6@z+4282g8`RJF^J?TW%p~57fawp(+5nru^ zk|_T4T>m}=AO(PXK!~dpK0)9spFA>CfB+;e6b2M*1b>tR3GCV$A#3=gm~+4fjsW_2 z9f5EDz?o?Gzmj5o z3w%$E&VO)}HtY*G_c3+5m7_S0CmtFQV$YSpy%g}!DBC-TDqkWn=J;BSz%6+C9OyD& z&i=FG0|ds5^QjQPD{Y*`ECp7N(M9kXEr#*f1avq(2PQ)U#3%(KhD7hQ9R#M%dFvc5 zD3S5U#W0QFF0J?=ey_-vPUD`qkh=o`60;C})M!8dV+75`l!en5+X2baL=F{eS- z+%!0C7~4W{Z~_@A`_Zr2De3~PFrr!59zbuzfx2=5`P9vTRiBzTtWE5<$=)$zECpzO zvI~1Z93nxfjqyUUXY5MAxjg%yotzP9$;q`kI)wX^F>V1{0A{1nM2OH{n~8xQ4*UJs zMSs9u07Nv5PDI!f!>Bck1`_bVTLh*OntueBU^EG*QPPWj*r=BSD(*!%9UPJ{>~uf| zh74tP37B}ONr?NQV;~V3ZwPRQ&S!z=jARYZX7Z=C1WX7qQxj+*;q;cznMd0(ABk)^M2bTL)PH}DBAnx$M zqaK6{n~)lii;IH_aAE~2chOlkP-A6G-q}-tIhZd4Tf6k(PVQ9Avf4r`xKFCV!hp~M zbC(BESQxb0d;rZISGm4zS;51bfqxI>?}k=zKk>+_M_;!ou*}D!_**-oNE9^>zG9}4A?w4-&;Oh1dBmTG;=oh z!T1tjV&>>$Cb=(ud@<16C2L}IsNKl{a|r;;vb*uuM7uM}=Ajb4)ZaAh{(l!$TZ8F~ z0M)8CO7>Sje}JiI|2Uij`7~Ai`mh}@{21TrrFuffkv%S3fi~|k4tT$332i? z0Z0xs>zraTt~@U7vaSHS) zj*;lvygz(C`%QCXs;l5EPJd88P_%01z-rW*O|-^cAA*wCyV%EMOQ?E6bD-O4iGfx! zuz@E~pdf&IVzUeYQ%8W5OX$MrN&SGSA2Yh`+j31;WQBp=gp@7IFj!BV@!zMIQPVdWtqfwc0Bdn(^aMjrf0klLmGbh00z9=w46c}+F z0G2VSFsPL1?xMhmq`;W8by0jldS6nhvMfTb&o-0fw7;mB%#ML#SE3_^+ta791N1;#V9UM#O;NCsE* zLm1}zp=j-Jq6OFMhoa?MrgnpV7}uUyAK$1S0?YD=dxL&BdUCg3yiq>{Ppry~`oXhy k-JA78;J(xk|EqrZ8`g+_nkuogoB#j-07*qoM6N<$f}Y$`4*&oF delta 1780 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 diff --git a/graphics/pokemon/rhyperior/icon.png b/graphics/pokemon/rhyperior/icon.png index 9104fa724dffe8d298d7bea48dc7d2ccba0aba74..22226ce76629f889e047c841f224d2bbc78762d1 100644 GIT binary patch delta 427 zcmV;c0aX6m1AqjOUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GI*=S}C z0004FNklOraUu@@O5P}{L^eGb4gT47`u$4lj z?p1HXpL{=X_X+WrOS0rWIC`}wbM1SxIr9YA==flALRo&?Tz|(xV!D4QOEo#KOa^j3 zfIFe;#|&Z*0C+`OLJqM7ox)&^%^+xdMy~;f1ekQktVZi^(*h)sw#U+2%ply!$5aI8 zrxnbkeZ!Xd!H`<+#<$n*+B6o56e?t^deyfU@`s7wA{coCv||?v{RA^{(C-(n>gNcJ zd49aPmIcVT z|B&ZubY9s6U^<{XN!1MrgdRlnN*llwLYY3zJy}X%HguNWpnvQmU~O7vHIToJ3jnPR z6}cywzr))|z>e19AkQOS1?=$bAH*wow>EsihK8m=@8jp;quJOaR|kPQv_vX%WU<=m~(s jdNkAh#g7*ue)HoCO~U!=y?S;q00000NkvXXu0mjftfjIw diff --git a/graphics/pokemon/ribombee/back.png b/graphics/pokemon/ribombee/back.png index ba18f68de80863d070c8bff41904f81700f904ca..76b45b715bc981ddd6def3c16b3a0072dd0de458 100644 GIT binary patch delta 619 zcmV-x0+jvT1;X$2vb?@K&OeACOVmy|1tH}=y7ztWPD0aO*FRiW>T`6xceKjze`R1O{$319wUcK+ z<+IZO?y(J)ht3K4X3c0E(hIClEFm9nnlH?1_&A79s63Ux7LlMRi68+L|z{Z3?@C2M9c6T7e5gq^`nX6hI>d=$>Nt!;j^1 zc?U&M$^bwot~{((t6$Jb4goaDX9yJ8Lce> zqX}ju6qq0?(6VfoG=ZOmHq<_%*@xg9WE=YL9VpA=6Ia%Ve|v3cZFj)hC_pJY=EdaeRI z=5vxEWEUc2pGiOk{2Yi7=^SE{h%K)|&w){xRIp}&?TXtx%R$-C?&49u3odLqh62#~ z>Ne?$taleYVRQ+2)|FF?xqC2)cR9GFCr5J%qG*#JVK&5*103rcemkRAjZBa39c@og z%%o}E^REN(>^*C5pM*h4Ju@2cPv2)@9rVa~{muEW>n~m+bkl|R>Nx-a002ovPDHLk FV1l3h4VVA` delta 629 zcmV-*0*d|71>FUZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yarRK~zY` z?b5$*+CUTsa3hddL%gx^EM;KfhocN6wW*q_N?GYY;DLdKp_Nd?pV0|rvfb%c4-q=4 zs+5cJ%4(>rvA@C7@pn3EH7#;(_;TqHFciPWtlxnq|?dp{CfDve@KkCpdCazx3 zIqxu*fs!Xq%fK>N&7Ks1z#>WmJ!`MD2( z-xf3AoG%s~0oZfU)Wrz6SZ6ri1E6VY+CTyuV*>s&aDv!QK!78E+yf?vkpf#N0M#Y{ zIw#ov@_V^l-a!#0gAxFs6;&QqtJPm<#rpx^#p*E(*CP~d7=^o#8Mc)31MP=4qG&^b zEG2b8F~hY*U^Kz3gaQ*p1q{n}NE7%|XhZEInmzE(K(?X(OF&s3A3L%})NO*XO@Osg zfKs;5Nm6v_Cj)(d1!$J7t;!jh9vCsm45#TM>t;YiF~OkYCe&s-1)U;@nCFYIW9DX{ zoMsRu=(!5;l+Q_qkX?w7JthGa@NytRq;rT&BDTB=JqMk_r2IAWZAaYZX%5O>b{9|j zoqul2F%*E-Q@2T1WPLj4fkVKxF8jrp$%BdAi@_~DIhvDDABLO!2(vDp9N<{r@Y@-^ zYGitN-`92o#f%%)J^wKf&)&6m_DOUoscVJ<{`J=^I0il3-G5(iyEN@TULthUtc$g! P00000NkvXXu0mjf&o(AE diff --git a/graphics/pokemon/ribombee/front.png b/graphics/pokemon/ribombee/front.png index 77a4dd1497f3ccb16c5051303a04c263ab0605c6..3cc7f795567c26dbb3bffabedb6ed5fb11cfa1a8 100644 GIT binary patch delta 605 zcmV-j0;2uP1;Yi9B#}W-e*gz`Nliru=LQE3DK1A0^Q`~?0wzgBK~zY`)zm+4+CUTl z@Uwc|GQ?I@(PrXs+sG5bNUbtimph38dq8J(r;^1Ns8HKI@?K@InA&6sU6D}5!VoDP zfGMMoi81&y^lTI2f0%(OZ?KTwkN2MMdKPujZA^m{wQ<{wgpma zC%~qI^xnw>9Y~aX?nl30_uOs{;Clb^((^(g^<4KN3-q%OUKC9LDsBP5wZBpRrwXJC zbovOMb_f2B3pB2pe^NIDj*|x9JO+b?T0uw*;YM>Nz_%E9TDubGqb>>XRoe_{{tN$n z8iT|-;m#ZHEz!Jz0HSyv&`woW-{G5q>ANVJA_H0-gs6>gCK2exLngn$ml&azjsJ|+ zel()%q-O-MAu2F*@(7&lUIMICRji#@d^1Bg3*c1)X}?ARe{Y2#TI}>W0c1EFzOvT* zJk0gNN9Lp*k@jp6@cXI0Sx7x|RACVCfOG2s=${1mqUX-Hwd8Y7f?x_>=(=9d<&Rd2 zO)kW&0KoQY{vd!Q0KYFP0qOj1{A0vKeq|H^ zVlVE-AN$l?Q{EQlq0MIS`!%DC7v=>p06e>9&^C)fc>PdD1h9;qcO^Bb0SMd!N&?!1 rfdfH#hy4I-FR9%n4h4zJ{JF({Vm9#(P8sT900000NkvXXu0mjfw7VEb delta 611 zcmV-p0-XKB17)Ru^e!)5*B46HaW0a;IQ!rRRRbtG8Gw}k z2Ki47lnZ?N2%c^S{SF&cuWCxi2eusta2|qwRV!jFmvDkTBj8(q2wc5c4D(=01bo#u zOSb;`KRyjX`<3M?h8Cf#Z`$U?=Yqh+5K!eqxHv4xJ=GS5>V48hWDPgW#~^&k4}M zVDQRZi*rBg`X7mZC+&zfr*lu-PmIk$8u1*E=Lt^;^8t)c5`0PK0OnH61ogZLyf6%- zlFE-(^W`n&o>)vEtK|IIVm#z)u|t^NYPJ}SSxZPU%>bymnmtHhN+9mDS|B#N8~qq^ znXl?ufLimr(Z?QZEpIb(WbrBbe$5#dnYjdYKxfw+S*>h7;JY^XF9n{{dn)@eVvA0S^EG002ovPDHLkV1gYn6xaX& diff --git a/graphics/pokemon/ribombee/icon.png b/graphics/pokemon/ribombee/icon.png index 10117f123441f15ea5586e2bd0dee87156d8ad26..e21b70ea08edc09c3044bbf17c76a61c0bca70cb 100644 GIT binary patch delta 330 zcmV-Q0k!^s1E2$tUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GPy#vn9 z00034Nklb>!3`KbZ-XRz8z`^L`+ZdVBL4(Jxo!lWywb*w{fTmt#A_AIb z2`k5mMcF{64y`sm5MLDa0RGm&S;a?w40r}W`dv2gsiW&$27l;_J2+cwd+&1k!x~BR^d7KR> c{Ab>!3`KPV-XRz8z`^L0+ZdVBL4(Jxo!p^I zwb*xSfTmt#Ap)9qF-zNtD9J#VEU7j=&|eh&l)A42S>;adZ{RYZXm~Fs9yS^Qa~!*hjNgCY{~!pN1Ntgu8!kh&x!gw7r7GcU-z#>ff6f$RFFwujBIfgrUj9HlIH7j9=g&87Y w*pJ3^qXpa1{> diff --git a/graphics/pokemon/rillaboom/back.png b/graphics/pokemon/rillaboom/back.png index decc2fbaf00b3089db6c9a1e77eb84f12c1e10c8..f31df221fe011df6ea56d092375961fa0be284d2 100644 GIT binary patch delta 859 zcmV-h1ElKy^>hRn93f1`maz1VP4DT|9I!7H%_U zYL^z|ilhApnyxLS@sc4i6!b^+z0>KJ>+HGVYB=8QbGXOn?t9pC1GSaL1Ae420(%0)Pwe2!Oi|e+=NF?@8-E81!bWZwrAbu%4;nu)_X>&~CBgOq7g7eqFk0)*`Ps@i9 z2fPbD&7!k3_QOG))UF~1;0sJE5Xk1c^!!D8>yZW`M^gw)v*l$Ez&T;v$e_h?xw@Xe z!so{AOktwiU~I(saTcvUUWeGd0c>gNAoV1Vv(xp5Uw{!* z?eF2h3xAuNphjj&)y;5+j~T_z-fJ&beG4z11@ASjbf`IjUn81$(7N|-^F4pnvGUR3v~74;o1D7p4nnhd@23$^jMf z6K|H?^&N1`>JkMIz%KJht;(JQ-cz*@Pz8M{7JWdqYq=(g^{(-VqR5$<^NCtc>G)Z? zxVr29ychr*&|X(*n!Z_dfVzb^zR>6nfkh8!I?Qu&NNII}=M6B$S4w@;K>DdAvKmNc z3RFG5{0B5Wq5)1}rR%#EusZ^E2n51?flZQEU*;tNWwa!ZaoaOzVz*-ek1LpeK lxZe{fmUZ0#;gk8N{s(CGmSVzLbhQ8g002ovPDHLkV1h~zh%*2H delta 819 zcmV-31I+xb2ZaZaUw;D-NklljA6vrLOA0QWZ$>?)G0KR95)#m?Z;46f4lN6D%M(Sf}y@2rCGYEDUWVB!4L0JD=@1q%*wX8tMJ~|G)n`yO#Ao zmfe4}#q=p%JbFhT6-3xTz~GpS?QtYV!26cZj{*X?V@U*h!hds*0lE8|KL&8_ zBH(c(pIE()4P$*91QI|P7wFR+RC1S54>W)p{=n-3KJ~z>0P^CZ1B}1{Q=%fgZd4om z7BEN`KmkS~cz6cscXCJo=_29K!GVIXLAwpcFoP7>#5kw{@pIt`w+4Dln`06mDeeam zT)qT;I&xciDt{ja9PlpqIEyaQ*bjSkQoD*6fG;quKp>m$(#vPNi;`q&a zZ2)To&3q6zz9YChjFU|Z*p+O6QKOMhd*H+PYO6M(<@DQ4lTWmi4sFs^D|NU2f+Y4?T>!X3!9suK_*J&v@(2S3Has?f~Jr8S)i~!VhpbW&NvTDAJ;%G zN|%&exPPkHMvl-9^%^8hDNYZO2Lr_3X@D1SQ+cu!R!pbGj?%({STYrZ6j<*xCF zqR5$;=Myy_)8iNE?4}(8w{8F&KzrS!Y5Hom2h=0P@s&n*2+TS_Ghv>SLrS#|JZ*q6 zep2eQ2GS2Lk<~ylQRwmMFQAzb4R8w!-QTrknx5mSWi=tVsX>002ovPDHLkV1oKBaF751 diff --git a/graphics/pokemon/rillaboom/front.png b/graphics/pokemon/rillaboom/front.png index b3822a3b4fa12db04a68ac8dbb63542072313807..d8f8b71e95aa5cb7ba3a7b7bbe2a6cb8833713a7 100644 GIT binary patch delta 1103 zcmV-V1hD(~2%ia%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GU&1pJ8 z000C6Nkl~ zNs8JPob;bCK+3(sOMs#UoIjvQI~9->1mILS+_>2t*~MDJzJH@Ap_1ix>VqJN_da~z z_ukz-Y1))6e5BoO%1KR4Bey{d=rl}?uv-B}7A!_s0~#GRWG50<)5j?E|EcUPBP{NmIG?tITX3af2qf5}VOajnap3=~3y^t=sZ+|4Up;<8jtu-BiM?h=v>+3*5 zv-~lD8@6V0*awvO;p|5lHqj5gz1~cn4FKDfze#zh;zLi&0*+cflCqoo;Z%reK$mKH zE6QJ~^wwNanO3~Xx^}SXu zGcL5Wb$^iqf!IqxDBG2GP8^JYtz>rutZc=8TLFFPjB3e6N{LA8iy^pmealbYqkrG& z2BFFsp65WEruD-R0&e?$;%^(=@#V;I@~EIPot6eiAv7JJUdmZx6S( zg)fo|DZlG?1MMIj1Emasbx5=H!=EBa92vs5{eM6^$~&4T;eEJji>HXCDOT8(D{;#) z>Wl6KC}r&=iJzu9!QaZY#3i+05hj2J2^!Y&7iv`N^P_k%6z4f zW`B-6IZ`1E!tPOv=A-5xK$c$P`SWUk#>`*z*5i>{A4`RfOVHUKT@g+1TwS<&^V9I2SSyk>DU8h z&ob~byERUt5pACLi(?)8s!`8Wgb5(~=h3D;ino@;xLZmAuA|~Ul}-h>`^AG^C}hK| z5k;f52DV|>E{0`k1^q$^3>$BYwZ^6xh~1)Q?|Maup_gUea9o78D%yj=pm@S{&Pcz2 z%=5CzVA3Pr>2!*GGSxpFnPKKlt~{@EK29MkCZ3KmbN`F@xO#!REathoRsjGFgNN(imZ&7o|X=HvFGN7OP1 zpW~;LHO)>3I;>o+R&Npy8M!a$T@W2k3?y!3p_iEr^sa!7?lOkBb5r8MQuoQR`Q*p$ z>asCMV}Y_e-G3KvjMu*$92{56#tn^!%w($@FJ6_q0Rk1XTAe9X|MFXl!^__cr{x@D ztH^8?`XLy$`|HbBH8`dfO8D}O#`00vthr}rbP1Z4NdQ{QQyO}$7t$s7jifd-D<+_| zrX%nOXbpaU9Y|=FKLv2Z)=UojfD%8Q{Vc;K`k}Yin}4aZ0bslG4=E2-eCUZ;z){CX zQg(AcoC+}w=u#bT9GyV^16}AXGWS^BjoNw0;;uz-`}8{ML%#T?~;oY$I2Anx>Zk-1agNC;mmi zPa;QhXBuen?cw&e@I`VV)qDhG={4TZc@Q^uOhE}{1@O&hC=&yQxRe~v zoPYJJoqK}pkAavmUjf?)s`y7F76``2%^(!?Qe_9Gy%YnR3 z7z286wLcJI$D9VPz`HKykhi1rw%Ezn-CC@2P{0tf>tdAkDB6sKcu>zrN>zbChBg5j z=h68O{4k{1+ zXP`}HGSE5&2gtxklP+$gRyu||juH+<9Twy$H4WSO>Fw(0eJ14Z z%3Xf~C<3|Wy@LKq;G!2Q>yTQ+!X)%kP|n%K;*GpxjHMy4E`Q~`)VxZLuu!E9l8zRj z$Np;>giS3B-ycvnyELR<)ket4G!4O3{VbZIOf#mqeG{rEl3+UA@kJN~@TM!~PbF<; z=aIYudzd#>H(21FR;07x#=-6BHqgfXz1dL*;w*Fy);2uOKuk_O2qYK>#SA9RxX)(e zNM~GU$CF@utbee1xq4>;=*T}P_{~p*1M~HYIaIm8m=YqpTW@}NQ5PJ9=8RF1@uAyD zPzF$|+qn_+;%NJWLA^`i`)a9PQAkn h0rvY}IN;y$@eL@};~xBp#%BNk002ovPDHLkV1mw;(M|vW delta 405 zcmV;G0c!rC1d#-gbO`~6Nkl5QQ?ds=!CgktRT`mC>fn4)mL4P4|(F>JzNG)Pv5_%~p=j?3pM&2>T(hyjc za$ag)B}Z7O(gsOK3($RkSO#HJ3&YO`)XgRh>7Q#OeN$4D`Yhc$NH7kH8BCgSpY__2&bZEwC&BnwVf}jX&IIr(ivL+~wRRB>%)eL6p~?luln~k7 zdh^SRI^!TTXN-!B58XzBGJsm$&W(SdXGh!b4C+k^-&afZhFbd3;?-fl3>hED>ldBz zfh%9vTH2z((0x$iu2Dk>0bbkN`bV*G`2j>O{4k~3xW6oUAlHDkQeAfbjus$0n(*&`VxJD9%-iypd&qX z2w+YE?my~C{^Wg0avHC82zf+ML0ltrlho^oAk|vcR}n$JL4VwIk$&{6)nKTU_v}h(CpDc{VT|FoQ)HEPhY1FPyZPOxhT=(faS!3M zTs{hYZgRPN41WlI{9H98XfJ;~@Dr#_*BAq&c;fxmVI>PAMb#?a(O3g*L7%M2nVg`m z+ho1nHZoCdJBw0E3Uc8bN1rfrU5b8E;RFpkJtb0Bj@Wft@&eo`MS>>h1gV=^(?QZs zXkM^#aore@Iafn^rCeOE$p*y-u1J|=l%LT)CZZ4BJAYbyNnRBud^Z<^7xY1e@NO?y z&mRPnyJ7*)(|F@^g&jhIa&RjULqxE*bkMf~PMzX3PGs=9$Us1x3|!-nl7VadQ8G9* zeoqE5bns*Vfg1ji0k41;WWX==1sP29s8WB)VBpvyZ4t!kT}|)3FoT`H_Sp_G6WMP^ z280fCL4RIvoWhfV;Lt)qM%_+b+(({SfJ!%T7PVx4ZZefDAHoVcQmrnZA__xIHN*~k z0XComXy9AgN9@|HV$k5(l{ZL@JzdL)Z5@Vj!;yh!2d&wwlj4pPYs9N+YXa~Buux+CDB=gu&rph~daT#55i$0#5w!|HdDDGpnHF8TWVq0000-1@Z!Yh;Dge7X&B0T8Zcg zP{KSTR2@{s3=k?MtIZ6MtPof2%sW!F@&n-Fc;?Fxx@!u*#ec0Qp6Turw#E#=1KFUv zuZH5i0XB=gcffF)8?)mGngMzG?uPo}L40xNjRnE-L8x<`M9T*c@Z)D%6VP1# zy5}d5tG3n}h<|uwfw09g%5)^kMzTPO70?!RK|z(t0aeum#d=*wfoz&dl!k;5Eo{Zn zUpSk*AKj$F0yR554Wv;CV%sY27zn_vlmyfX2ZVNNMF&Ycp?Dy*aaC)G5-x{uBW+w2 zR0i1xF3Bi}X?#rk7>JGoNI;9vsaA!jn5-7P13E7uTz|D^Y|Zb1fqrvO&6D1^vBLB| zAn)x8L_Y(JCGD+SF;meeo%BEI^*aLr^UlCF{#j>W8~>~`*f)OX47@WuIRloU9R4~3 zo`3^qz%TW{84S~?l+Vtf=e$MOAc*u`MfbhXy_w$j@fI-_@o(!4$U01cq*__RIRn92 z3jr~8JAZj`XCFM*EI_I1X*+!}O>(Yd87%Mp1Rbf8mya`qrl#ui4kLgyD33L;T71N| ziA%;B?3G?4HTJOZ7Vh4Lak9?9c?YG~Pbb7J5e4F=T(fPra^69u7}>pGh-x$siT$oJ z&6EShTWcQ1ra3LSCwBqbJ~5qp?=EUF*s(B7-$dcu1w_L2UD2}!!<9+y#`3P)DIbnp xQ#n)6FSPI*hf$(G@(wYurvE^GXK~U$>koW0tDvs;^K}3K002ovPDHLkV1l3?R{;P3 diff --git a/graphics/pokemon/riolu/back.png b/graphics/pokemon/riolu/back.png index 10d47dfd5835f9dc852be42723fbcddebb94357e..faf590fde0aecc91649039c8ea4e4024cf0e2740 100644 GIT binary patch delta 667 zcmV;M0%ZNk1>yye7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#GaD$y540006-Nkl2PI z9(68MaIcUmr*ImTZj~F@rwD>TNSO=d44K*GpJ`Gq(_{dFkml2ynVrY=ynhvw=na2h zwtfrPjOP?rSnBC$bxq}cJr4MK<4t0%*W*C0me~a$&;Xhv7y-iE<@IKyi?GU%76~Z@ zS+>HvkwIpZhdf8byFm#*qda6l02b51DS=~ENEA2-VTA(<8Msw%`^9rCIi~BD-=y!kN?`wdjy#5K$FM*~7_7Wj!0Hs_7bL#+sSjrtF zwTqP2O!)J%aDYU!FW^%pkS=LKIXlgi7}r2~fIkjMGrL_2Aci$yO!(XBySz?4Pn5Kw z4&dINrEUPpI}9DLHzugo=OV9xBCdhr1pp9LfFK}Y;Lv)E1PGXXWMJxvm;irl0H1Bj zE{K+E7NB2*5*>gE8|myuTAO`%QVTk2(`<_VVSzCJE&}@Y{CqlbJKLU1QeWR3A4HIR zdpbP|+fDOEyBblD{d%D1`_rRL$h5DF82JG|ln}gW(d@Xb;SrH4dmJGhi#cY~o&3|c_b$nbA^PK~z;g_bbh($@Se(UFM2-ijoD+03U0}${f}<^1yQuZ6eI5i!T5jrM41_z*fePxr|KqOh9CeNrY5B<-iHf%KW$Yvl+xBHa^qC&s z<5R#L3)MG~zhi;wux#KCKxCxjJAaEH07q;;=`RDoDL4*a1J?=(=Nq{sbjbvI`PF|k zkmbVRPvE#lK#^CyB9;kiz@^}8D1lW1s$4>ZA$_d_oCSz7gyX@8MFL!FK*krqW0BD4 z8$bwgp$=gN2sj=O0mS%@fY}yod!-a zkOia+qHrb#NIRCV2rwYDRTMqnjCz0fr_sBl)@4t|Kxix^K-ALwSb!tDV^4qHsp9mHJj5(MYfa~-EAUgG0 z5$bZVbBNkF^FSnZfziu5Ai^Jjj4(l**8$VI@OnLYrRAmE)?hnFFaU0V2jqWddiLUY za@5N7`mS}5miE~9-3i3une~9ps}1T1yu6rD%Ae%H<)%8(_ZCXw^%qGtbrY++-MLdj zM(B%mO7f!^+1zlt41`SwmTR=@8j$Mj`*_NZgz}&QHk~WpX@?$J1A(T5ytBCkp^lPP z-PqKuiL*Hs0|GEUr?X*AWWsH!PeZ14i@(m5HVsm}YXGUZbM*uvdRO%Cj)FpHDt2RYalXUcH{Aj|GN8`d-U bkMD_J)$11CID@v&00000NkvXXu0mjfop?AV diff --git a/graphics/pokemon/riolu/icon.png b/graphics/pokemon/riolu/icon.png index 1a2978852ef50233f60f42264cc4c39e583dc4f3..0d2b8e90ab7364bc2b612735ef929089acf1f05c 100644 GIT binary patch delta 247 zcmVO{4k`i1@SQgR z006Q{L_t(I%k7de62c%5MfV0fTp&4$P11%Y+scuwZS`u}2FO6mSDUz-S{ujhc*AEG zctk%}X}4xiY{7tPHWiu0fGQ$EC+>2L26R{(6v%G9#-6Yp({MU}2@ZqbBF`?!{qSzY zz{vpOa|}g;viNcGs!yAw20bgs8uTF4B4=|MPL%g=0{Yk2g#loNan20Zb xBg}f(2_thc!rUPGGs`jxk`>1Kfrt!ucpV)7@8tjh002ovPDHLkV1g9CXtV$T delta 214 zcmV;{04e{^0#7Q!G5hI0cR7if>-(ynD`RymTht6ojlQu<)! zw|1aOXI*?|%l8Ng;UoIFm=C#eWHjiI)uF^AE0CGl%ZewTg8~hf0s*33?x7{rYf9s8 z-lB80WbK03c6%cOTofR44L(VbCf5&cTYy`0sA?ByU-f=`L+F=nQC+zIF(HNGVb zu&;R&##&peHereYZ(+u@q=HSD<#Z5+$E1XLfaPbVsb|R1R$;Us2>75MFInt(9e9*> QdjJ3c07*qoM6N<$f*39&@eiIsI3;Fc)1Q=(nv-w&~|LVkmln* z!{Kn8B>(NNGbvv;Z+2;l{i@#rkCdhl@!?*nZnJbp_ly?t-8ZH5f9!{)uyVI&j6H>S zWKwF5kWt0}cx2Yfkimpf0MFqmO|83#z_92C0od_70u-158N#yQ2H@g> z`_?FL5Qr3vvS7!r9v~(HuosfC*>Z9NfW&D5Vi^FKW(l(R+2M@Cu-fZP{45WS1C0*)4FfpAeipd-v0u+5j8O)y7pfZ`Uwhf(AlfNBju9gc4}NtY!8 zIAdpl&%(B(Hy2A+Ro-e_PJRjsa|{OzM#8g5^9q6$b5AaSe`w4*=x~sI&N=rzcSb-} z>uYO98|fFf6*vH%J9Wp@5B9yo6Wnu?s;ZJa2b#|t1BNQe~? g2jmChANs5L11zlNqo;G)ZU6uP07*qoM6N<$f|sKWIRF3v delta 604 zcmV-i0;B!71;hoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v$<2K~zY` z?UYT9oG=iD-I5nGyJ6r0#nDMR`=Su{C82W1l}mNE<{z-(Dye7ThWprCJ% zq`D;p_3>W0T$ucizc1SM=kCcNNpM~bd*GR|4$$_E(HoHHKc^w|T{L;%)8Q@%t-?*NcEuRv@A0P`Y2*E}yixpa$xL1N(O zyVRN$P#E9=P|GT;2L_5V^ch8u0oO@tHo$Pk!0Xc;pfHf9r3JQs9vgsffx(K6`yx;u zXZUS_yu^JREHZ3>%r`m^gLBycCku2yIF}EY2(tz3@R5rJY&dcUkH$PxbH0f6uNR>P;*c!9N3 zBjm}$x2bNYTm1td9X`#t3N4|gw@x=kzt`P#t;hJ`M32&)C9rdYg>JQsM?#da(~%?s zcC|P2&^9I6NtAFtamM6FFDe*~ZUKl48+l0G;US^P6{xH?01>{;E+38uAv#GAA?z~F qj4j6tAQ&LjipT=xfgt}%5b_5stmUHsrw=Ot0000t zFpvfQ5H=M;ifvXT)F;Ku`}F*L&oM%`@gGJ&{;bYuL|bNsEnk5sf85h6g@VE=G{`MW9Wp-FuT?9=HzGx6_ z-+*$nhvwHwY5)+kf5lvt)+|1}6mQn%DBH473$@u}<56-Z5_1Zolqyv<-2nJOB7_*} z0*4D#^_8^+I>^OwGJ=S6%yr({0^!LdPe;++tVDI?0tlyRMv1y$zd&gZywCYQxjI)R zSvU(ItgbUvy{=?uN2#gn&h*F0`9dvur=_OM2|i}4>HJbpe}g;o^`(3zJFy0lGmr4$ zB|Yi@_X32wuzPc>Jb#{m(slzNq@m~P2Yc$120MiMfc}me@U9Qk!kBBo{9q94djkyn zdU$8RLk$KVkpBj!Zcs~4848}X8BT{z(92SWYT_B|rEi_!ARC%z;yLQ&o>`a~<{DuB jm$wdccKhJ}7pwRQrSYn(y~PAQ00000NkvXXu0mjfaO?G& delta 551 zcmV+?0@(eB1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?bI=g6G0RJ;I}wM(%oc5hf1>`X1lJ=kg9$9r#fW*2Vae~f_sU7gX0cI=8fz5-ErU{;3v z9&k(EVU*sL10NVCXB2UNoXFS*PM@Ix7xFE@Y&NU&3OH0DAua1Ows&__;}OCmaR~z<@OZ8!!F|H`wzsH?Xa#) z5i||>YCyDm4OZJTG`~$!3y|6tbG;3M=-qSqYGb#us|vl)+cP$Q9wZksvAdvJ>y<92 zTY%h4q?995;CP|SzOJ-@qgV@jW z21L$0kmDJ1O3r}J<5E*yhj5>*9U50EDYd& zFo?~)K~8)#ys_ZE0Rs=n|A2EhsHNu|f=6vm(xDUdvXnzjKHO{4k`)BD-{I* z008w#L_t(I%hl4cZo)7SfZ@EsDKEefc96K;c?@=ju%$vpy)Ajx#uDC~BdCmap&>py zOBV+46#bIz+mdH( zEaA;DK``1SnD|V(GPItoPrCnn=TC?~cl;7un80)eC+!T*WWBv0&Hysq(SV564BYWM zZxLk`Giswr;c6WL5w)u9Be>F@$eSW|ak|^Ib}YC{e%Ne>k$)q;vd_BFZLARI?9?bt z48R$KG67;NKBRsDy^-B%#{imI+gl3idx0AgU>sRUGK7aTGQ4&Hey{jHA6QNYRkHPI zRIhkrlQ5q32*M~#40;NqVn`6C>=`_SS+O4vVH^t-gz*LY5rpB2r!dJ+zE7A}KlIWM d_f9{40LmYw5)gtwP455z002ovPDHLkV1mrKeO>?n diff --git a/graphics/pokemon/roggenrola/anim_front.png b/graphics/pokemon/roggenrola/anim_front.png index 6094a9110692b065a8850e5756bdee6e9abe39d7..8ebe4f02c53488e9102923e2cf230ecd007f55c5 100644 GIT binary patch delta 545 zcmV++0^a@A1oZ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#I=Cna<# z0005lNklv2Noq42Er?*;`u=knp0$$(A}V;8YKA6+mYXP^NQ$#(RJ(;*Oc( zjG4}U%9FE`n(l^!snH*P%9N;|Q8dJV8*vf<(tIofuPa$1et%uAWni_mV;Rr^AP)jI z2&@CYsRO_d9ViqeGB7H4pFhR#MAfIDQ67j6wC4qA=NIi*iITS9lkgHHWzDk(wmfiZ z&K}q>IaIZ6>Wc>|7Win6^)tQmz`TL^FA2y_klk>`0-Hs5{Jx=M0q45w^@cd(DrH>T zT@4~|buc);1AmSK6uR#05c%UY1`LAZk6U?tbi9DlYlCjWU)!nG0AO>DP82Qji*4@#rca2JmiHeq4R((rXgcZi-0w!%Mh>% z1M(&x0uxH40y9peCLjYy70TafR|#$~>YZKic5lrGzkhgd9}$5eVLTYow(h;1c;KV% z$Afn+$Luh_G+#ai57d{;=h(2ozB$9Clz`I_zKyFm!0fxluo!QR{WzPq>x j88bW%?;7Y3e=+_5G6slcw~MIN00000NkvXXu0mjfQi}O? delta 512 zcmV+b0{{K>1l0tPUw;AMNklg=byHA%{uEt2Zw-{pS#{}tNdA0c}Ew~FEbkYqz1ST1;rXgPo6 zfyLag8PP%ofGh}@Ai!TzEL8xwQ*43|5c9yG*t|Wl=gyUHjDJV5b8hFhw1M0B&uvJH z!mYuF&=!SD>w6EZY2Z*FJ+LA&WVx=ZlLtx?c&+!uoNKCwnvLdC3p)B8i6$M7TzB%Z6MX7MmwUP z?bs*)Fd0S2tbZF!X~@3-5BS-aW^_y40}AUcG)=;4=t|_z-KJ#PV9+%?)9t>RcmAWh zec&8u$E*hfx30QwcQo)?b?dU|tp!XJHGMKSu`hq6sMXs8 zV?Z3|D=|0000al+`>#X{(&bq0)6H}VOCnG%yr#1}Am)C;gt(RmK<-}=@mxp%;L|0* zD{@9W4GCffgJH`EB@k#_GGYbL3FRdMg*(vyeI}YgEP*Lu1UCf?85aqJI}ii_-7hdC zf$cn^H$euFMdTmoH6+l(R1844rZGBbwz)BbwFIV&{1L!nJPLgw;aUHnegMotjCeki R+rR(-002ovPDHLkV1n9rh^+ts delta 328 zcmV-O0k{6A1F{20bg3_|LWgW zui<91l=H@#g$P<>c2fSfGR7|Ch6*rdFCOtl3!VcTYLJ2btbnDJLF)+o2%vGU4)#h0 z_FDqO5jEgsKplstzz4K{?f}PP{+<$ncsZ8ybkkkLlJF@HUgMcx5ON+dBCh!bkn<}d zo(l~C^mPf)iPRBJLj&7EV7M|s3HUS~8L$G<3Hc*@@(-Z@lQ(Gwp#-Le5!?hYbX+*# zAAn~7biY6+4s7QYz4knSECRhi$AKQEApp#8YApk`&A|-T9GE&I@`C}*_$l;-hS&W2 aQR)uNL5z5UNA(f_0000TE#RWL7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKW9QQnSnII&C{U=^)5S5w z;`GGyNT-X=PwWqSu)Wy#-2cCWhV26G1?-ytH-FDK$!NNcUCYv-=Ffk*tFoE$c9%?R a85mw~O^ESq-OCL$gTd3)&t;ucLK6U|dMfY$ delta 85 zcmZ3*)XX#?fxXYu#WBR9cVd5}bKqPqA?cG0cfbF6`Ql>#M7ayB7n-O1m(1E?P~+PB py3vb|NB;kQ_fq#;?foUb@(i!HCd71oJk!Sj1fH&bF6*2UngB%}B?|xm diff --git a/graphics/pokemon/rolycoly/back.png b/graphics/pokemon/rolycoly/back.png index 38f090049096c535b4d4dc6ce80f23fe52d33bfd..3a395f3358413cef8ff6a1a0e943ef985f8e0dfd 100644 GIT binary patch delta 422 zcmV;X0a^Z<1dRlcB#}W-e*gz`Nliru=LQE3DibtG?0*0N0dPq~K~zY`?UFHW!!Qg* zjZ9u81ck?l2m)OrfrgA-GIYxl2E9OoZncm)zCeTOwk1u;asoH)0nEXW%*Rji+eI68G<(zBPCDHVZ4iCVMI0M7s#oEykgr#BRUt`*Oq z*^3NZP8gmCfXV=ff50^eP{zh;DS(yXFcn5Q3Z!^8>^n!^rv@vE0fffu3k6Sc?Y zfQS+BAnvhM46H~zv>9M0;vUZN;rLF#H}(Ln*~SrN;p2&c99?cP#T5UI9{|09->ix# Q0{{R307*qoM6N<$f^FHl4*&oF delta 406 zcmV;H0crk?1eyepBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tQ0dq-2K~zY` z?UFHW!!Qg*jZ9uek((ZWEy;2MH|+t;!H~?yPx9Nv6jS^fZt(|D!((Em6+8q=N&r!E7U^R?Oob&nhR}h5SL@XxhrEpW>kEvMuE-TF`yMk z)s6#OjDRtBGjtua7C`cB$H(pdvOT-Fh78=8QDP|7DgfZnsi7BtrAyk-jR1i4@T(xY zG@S~7GW_f%X410*5*5^%eFkI(1hjS_Q=Q%@0DP@v1`sbYa5<5G9snu>7zD090A*~f zmH~h;!G-glq6vBkgs46b41C>~z`zC*piB=GEfd}LHZ|)2diDOgk3_I1m-EHYi;q(> z(N{teLDLL?qK$c3{^2%4tcb8V>}VIidYKet5k5b0duk3u6ak09J+VrF6^r{e1L8#7 z!&*5U-x>I(9^f_GIAU<*coJZjTTC&<|Dq^<006y#-zcL1`~Uy|07*qoM6N<$f`ALG A@&Et; diff --git a/graphics/pokemon/rolycoly/front.png b/graphics/pokemon/rolycoly/front.png index b379710ca4b454c58238b512598d4c12b8347f84..332f43f231ae21d7e4fac87eed2ba20889202e78 100644 GIT binary patch delta 447 zcmV;w0YLt(1f~R#B#}W-e*gz`Nliru=LQE3Diz%-NlE|!0f|XOK~zY`?UYSU!!Qtq z15%_cnKZ4s1WSl+i@89G7i^2LX_iRM^hd18Hi;DE3napK-~=3?3&aUH4dX16xEG)! z*;&jNzc&+4Jnt0$H_qVlXdXuVC;*(#LwZ~|^5>k3IP@5I0z!xwf0*F64ug>pKug>^ zfYF@*J|~D|T)>C`;1RH)TEIFOMFf$|V!#1a03wd;J`6}i`)+$sB>EaYW*HJdB0%e* z2PCH1Wb0PMTI~V8F+`+Rgsjd*K5)R!;BIMwArHQ3_7->&6Kt79=Lo;qe;o`a%Ly4F zXdQQf{rB&|sC0Srf3|svH>QRz@M-~x#dFfsldMT+T@TIA=dMOoC<4Y(;i^{!qCwO^ zfE=U3$Glf&n+KJuG?b}iT_AXG^DtKG5kkp&KsnP|7eri3+NNdKq!*N|N(z_~bH!$P z&}+39=pgyf)fN~)l@H&!%9t8UQqYcTAJ7NIZ2@}a1Zsu2HPteAjb5dwMX7WH0ot_G p?&;Nta;1;WH+3sN{UuM~jz5TXg1nE2N_7AL002ovPDHLkV1h1h#fty{ delta 452 zcmV;#0XzPt1g!*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ftFLK~zY` z?U6rD!!Q)aQ=~{4c}ZGzgh+_4#atl818Xa6nh~ja{Uc_wCXs@CfkgNYoPYy#K%9Wn z@SHJ;dja}MwukQ*f8TSQv;MJ0aCOp$fSm+@vAIvjrNzHsjK{tcF)P41k0IjhZrC4% zoC7WXU;%=A4s1>k#n^yy87^iS z5#+wUy4hx%HpEoz0j}0Wq$Y%_&Urp?!CvEjX@H>)u5Jznc;XXmnMLOcw>f+r zH73gm6(ML7cY(wA?@`NidHc3~iMP6jF7RpqfyHyu)RU}9XWb5e&Cln)Mp;M##zNw{ zHwB_bR6u|jqr_F-8?*I6rZV+KDxxmny|+G$rCfn8q8?Drlu`u|H-ffl*)8dKWmF{v zOo_RUX1UjUYR6Mv@}a67L;zLaZdGYrV@U~W*mpeop|~qRt*t;U5qC;h5-3B`6Q#lq ucxY^4t3XnSVtv9NCqk**IqNKo9On;+b%MNu@7y~80000)*e)@d#rSIIYkGIzdmN0wkc0<52?IIr%B%uS6 zC`{l+3g{WCCT{`=7zE-kP>DsVDs4~n7PW%i<9%O&6>T2zK|z^wZop}h!kW9YWPla! zqKS2$YZeu=A+Q$_8}e6yyXHUpqKCfJzaIK>ay>rdpq6We!sTfI0000lL_t(IjqQ>#4#OY}MY#d`7cdgtlf!jj>{;mnOv%#CE=Ywy z<}9u9H$Q!BzVwaxbyay>rdpq6VcLuWkz0000xFjeH;K3l}PtO z5>dIVA9n6c6CXX$rA=^?dCQa}`@Bt4i6-+EQYi_;JOL{65-CcOod%OH096G`-2)pL z@<1IVv?OUXg^u%xEkUwKCR@1v01L6HA_*#sB-enuy&bk_A_-ZRcWMn6b{JI+B*eDM zaeG-=Gy{oTbbvN>fAU^cMG~fjb^tq9ehLzxq6gR)03Q9e1!Q6UH0_QJ-TfnT@A$}v9@z{&I&HRiy?#AM9Uac&KWvOY$2a(!1`XMw R??V6p002ovPDHLkV1jw1v6%n> delta 427 zcmV;c0aX5u1e64jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0c}Y{K~zY` z?U6le!!Qtr1(^ySvSbP!66l^HXE0>*ErtxKL$>~?z-f6wf1`Vv)`OsHr_!-&enVx; z`Y;WYLPsBD(LH(Zxw9B+tpBLz-`>yD>p(O82~4g7hw%2gN)r|ySVW*qfUKTQq%4jD zfRc!8FBK70tMlE?zZv3xV*t9gEpC>B$PgDC_+ z*U{4Sz(&PBaE=m2k+Pc7qvUcjbpD0V;cdLjZ7pAFeH-O6O}riP67;MvD6&fvlU_RJpP+xJtPfo_fD zo)-9g6N#qumJx{kHbQseMn*seE0 z;^8P%!wxU4qyjXTY0w;@YEWpJv`_~nu!?3Iic|$OfEbh@1>{W%Wi_Y(#rmKGbO2V~ zs>Gls1!o8>7~DRw-m?_kOosr*V1LF~uOTa;u}5YbY&v5P1+ya&^%1*YSg6=t(=Daf<|s{JL5*znxM)MOy=R{^f_02=%V=xw;z$L$Za5?}(C0vnd7;`sIW z7?3N7L=cG`f)^Z5?$vrF#7+pD!yRKL37~IqR0t82?G^%_+z4MBvftWkS#JT%<^ZB_ z>y9T}2J}rNM7R&XxzFW)gzkqJ)#&ecVEWw@ko_bi74)%ucCLKgw%={MdA0&Lp5uLW zNq^xfCh=cA7nk6;A4{TIX57DVf0=qr=$!D=VR?!oKhLF{jM>xsKmY&$07*qoM6N<$ Ef|IAXhX4Qo delta 415 zcmV;Q0bu@{1fm3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0eeYAK~zY` z?a+~t9e=WPaW9lB9bN3+E`qau0w)awp@TGJ>(q7$xRnI_0A62gCv%rCQ2$&mf%nUM zxsX%-X^N?bqfiAmyp)Oz&_b?73xvu+sjbse6QsZ>>s=^Q8BhQcP=O3k)G1WupavBC zgA~vq7)7I&fQAs9AuwQg`@{y%LU1!10cgWHV}FB|sD;8FnW?eaoIRBEo&Y=7R}k|s<~sy0SWo|}&6@Ka=QzWjV5TXc23X~shgGwKAT@yypC7W{nj29A zOl)ufakRB3Q%?lcAm%*UN8g?=tfTNFjI8?m9T=yd0rH=OWC91<=NHn~P4nHvn`=sd z5#1_p(m}@bJ&6JJiCA_iI}V6A#T1wJ@#uEH=3hI0eofeUm%Vx*^FeQ#jnB<_^8nL2Q^ zw=mgJQBhd@(+*A3Zio%NfBa-Smh(CH^`R{=U}7;B$c-&J@);!W1&*4z1Z*ZLrZxjF zBFVS81@@=PA>^T^k1G(ctWh2IiIF>8zq{AW92WoubF%=FA9m%YD^?#)@?74SN`_y+ zm7%`c9w55^ypip>ND*VnP1tKG3^ywi%d=AY@?(ai z^!IaJ3PZbUk5U+_47w5~4yTPUqaSNwCO_7~eB{Rqs9lr`vmAIn00000NkvXXu0mjf DGC_0& diff --git a/graphics/pokemon/roselia/anim_front.png b/graphics/pokemon/roselia/anim_front.png index 270ab0bf0a99583bf739f89037ad0b9af3b27b4c..814568e648db05d734c15d46b413e3378fb7e0dc 100644 GIT binary patch delta 1049 zcmV+!1m^qk2>u9=bbkN`bV*G`2j>O{4k{vLm+VCV00ZGkL_t(o!|j$oZ{s!?#u*3% zZn)uilANKNd)@8Qe}+zKn5jS@!=aT10t~}2b8Dd5>}a4cPUlZh=L=Nv)}d2?;udW* zG~E`#D3CduHw7xCII)bgWT49p4FTJN-yir=qUQlE8B7o}52!UX zq7kCzZj#Eh!yYkmGbkmdGFC&m85CM#yJfUcrvK*nA7Y$9*XKSolJ_Cf^07ta7Vcavel zD!J2iM*?CQ_)+kjB3*<86h|`*ECDElSOt*}wtxvx9E6ay24X5!n`4%7Y669~kj{r7 z$q@u`uz#5WoK0v_v=Xpb0zf;EZ<;xH`1sr$>J2tX|FGkTetGOoZgw64xeOod0xFoT zuRh&XS#Vf^yr5i@sgMEzZtGu9H-Z_@zZm9IR)4fYbeF~2~fV1 zU$0{kXRp|~n`rggU618g@NgUXTfp_~O8P(w9)>|Ah4S-8?H{!m;3i|GUx);vr8ERTBeaiNoVYvg z9e>d}Skol_>jXf(#QK9iGP`js4MA+F`NS~+93}3a0+G~Wf3w+g6(6{C!_j+} zF$bAa?zgoXKuWm-Ab&q)7neFv?5zar-hfr=hx`xDkuFu;&L&t-!urVKoL?g8dl>G} zYD>Q2AxB8ZYsLRUV>=i17DDwl8|26_w10S=wmBci-PjJ%G~JP6*M90CZv)R(@;VU{y_1o0Wog5+g(BMZiEd z7zN&}up!b%7x@6>l~$Xvg1xpX5EcTm5m6fbJ#uFa_W*bw0QUjFd~ubpH2wv2w-TGi T*vz9<00000NkvXXu0mjfv7h7b delta 1036 zcmV+n1oQj;2=NGzbbkZqNkl7!K=9XskbbZ zMF(+>;?(O5W3G`uimOrifiY(1nH2|=A*c~24#*cxW-^wFiyJ9!9yXXATfs>46z6#o zTfuPCywPZ+VgX#Na_Z*dGhqLU`z=4V1%#@cH_AysE!_|z7h6HsD2b#52)W|2urq;t zA+OHh4y*_3vclW8x^pf#LWA%9r{4}`j z^**B0BlD428o*EE$@qQ^oDYELU*pP;kL);JaB=kH(|m zDO>_)vfJ%;npEUZ9++LZ@(U^o)zF)+0V(_MId9JZhktS}R4N?T)v^XYlQ;5L;W_}A z@Gf01P(k2M!xaE=DbG5vYyPzLg7iizP(!r>(7DudaE?8gmJfiM1j8^`m6$aFfZ?0A zO##44sc8@n(H77_hEE8oEr7^XtEYe_q;wr*h%&K68|fNB5C!WD=&a+yRRcAy0qh0v zq#G|D&wuYrZL7#zvmd-DbiaP>CE--(0JJguIu1aV^2OG7cdabk&SH_UW&uD(DG5Lj ztR(_E%bxhNp7sBcl*w`Tws*a}pKVTsw#*uXSuX+OTe!T8RJ6Ip&ZYM1x$?(w37+o5 z;TCY)yMcM26EF>oCiSV>a1bfGy+I$HQbcnm0Dmt>(~%d38*UD64FF~|ld%hkj-I}Z zz3GM(YquW^9GuFSnYT7&qv$>w4#Ur@4j_R909EY~%CC<}7GXTN~420pj$AuT`=}sF*?l_7@lMSpvU1crRcYUcHl?`@{je-}Y*RU03)Bi+5dq zacLpL+bS?ujb{so;x{3P1+MOG7FZK2_0~k&7gvFnDH9$^myB2>mFY=serb_VutXN`OA_-{00V82H8@x@dtBZI5i)^{V zdBT5P%VL}ez(K?)Hsj;-EbTo2-3Q=(0NQuJc-FtAzW{W%o5phw@2>y=002ovP6b4+ GLSTZQK=lg% diff --git a/graphics/pokemon/roselia/back.png b/graphics/pokemon/roselia/back.png index 8f69c2a6c5e31a9bbe296e13523cac4924acb637..726dc1910495b5986f1f2a9c6ffdbfbca45dbfd8 100644 GIT binary patch delta 674 zcmV;T0$u%)28RZaB#}W-e*gz`Nliru=LQE3DkO~bNpJuF0%}P_K~zY`?UXTV+dve@ zFBn0GEQjRwYgC+tXXDGRU=Ew$pdpYw2<28Uh12Z;UG~D|_D)^8WRuC{Eh3-7n~VDH zT*;-C?4euf!w8%AyZ`&&dwNFb9}99KKcF9v10J280D=<|9&RNDf1P%`u#q?$U35xZ z;=oCqg|rXAP9mg}VJ9%dIPeMb=>$iA^oS7a65}Z)!35*@cVI-RPa*(<(G;G3+;K%p zZ3+kWG3+u(DQ+X`G>F3%h`YLk{WkB%op<~N=$eUld8pubj+GsNVA?&a!!4$LqiEvh zZ-MtWeZxEscr9?>f4u;QYw#EyHSrU;0Q;{uID%KBHw5<_-uxn`I!(!YR% z(Es`c2a~@4fk80weJ~nO-~JS0)uztB+5Cv&h-Z#~Dhs8AX!7gV((VTK=bYOY2iDxn zmB@>|M!BwbRf$N%2E z&v^F9=t2S@fAa^#tUz7E`55hiY?fUaEdezU(<2YT81&#t3nL7CuU(B~*Ia@V7|<28+I~Kx82_=4A4M-b(FhsHjQ{`u07*qo IM6N<$f@)+#F#rGn delta 682 zcmV;b0#*Ho29XAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%}P_K~zY` z?UXTV<1ie>Rf6D#F2c^;*Epk?%%SS;5=27D;o+crF|O7w2eS5p)%`%#e$y?tbaUvG zt)`zMTMpk}>e)G3yBTgfP6U(ietPdovV#7#K@aF7_VH~1vy%frc)$Xa&SKPC2S=^N z(d4w(;*5me;wWN60Pz-o5u1&BfjJ>zKvBSEBz~z;N?l7rP8bbmgd{J431b0`0SG52 z@C;r7utdh3L_+r%_Z4J}bR+I9NTLo%UIREHL8k{v?;8IA`pyKO?Gu9DW954w>;>>1 zApI}K*&g`(x4`>;V15X|9dOlu0rtxf33{`{him|7ONh8%Z!-pe4O)wg59tUyVmz#S zf^s^10Y_2r{Tm5qL;nM#a25nmG-QGMDdlx19sh9pgppX}o`964)>5|m`mu6%g9Hm9 z+=~O(92Z&^<+De%u6K2XXw0b)o`^Y8w^B=0I*;SJs+#p9q>M5L@B20fY5Zv*S&@MN=ndB7+UF9?(()@U(7Vq|Ig|JTZmW z0Yic{g)SiCQ|0vSD&0)8g#%)7LC>v(5TlH~Myt98Vw>j+5qlt?UR^Agg)zn&qe}pu zoCSxei3h}7A}9uXaA%~I7QQz=Bi*%&5EKsR9JbnhzM}ub4TOFHMK3(jjscyL Q00000NkvWtM6N<$f=c2w?*IS* diff --git a/graphics/pokemon/roselia/icon.png b/graphics/pokemon/roselia/icon.png index 6fa3cb9c29c629b024f82d23e60701bf1c55d3f3..00378e76679b9e02312d6bc8cf9759475b0dabf3 100644 GIT binary patch delta 359 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 TfNa&100000NkvXXu0mjfjtop^ diff --git a/graphics/pokemon/roserade/icon.png b/graphics/pokemon/roserade/icon.png index 68f7f8660bda544bb4eb719e9041ef923a1aff3b..92a1a520a745e9392ac40748e0e9650d885f738b 100644 GIT binary patch delta 342 zcmV-c0jd6n1FQp(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#JP8zzwW z0003GNklr&TX@cvp$X(Q5^(9-A7haV{C7zIeM0>GD%c(9`+xMAa0ux=2$%(=l)a$u z3-YGtEQcRqz$_ObWJ4}3-qf=U&DM25@nLq+n=_o&V1_cYtzoRl>~C%BIH~1JjmC9+ zs$>dLPHyH%O&U|B&O#%~^a9y4NYonBC!Wq($Fb%Dm@0no0wg>0S_BNK@G~aykLvos zPzM-L9bn32O-~#cNS^O<4h*bT8>-Q|MU~?vHc`H4cMIi|GOSQDEFs1k=lpl~cuYA$ oqA~U{^&)CskMk}c^gBMj0A#SG7!N6MEC2ui07*qoM6N<$f=AJmmjD0& delta 305 zcmV-10nYxc1BU~UUw;7-Nkl1p=5Jl$(gL4F3z(m{U7OLI3hz-6*3<_ye z7}B|jA?{MFE}&vS5JMX9cNkGHkJY{vUQ{9>DomDelOJGZexm z{Gg7(j3=_@f z?aFqJonAgQWL)A~Co_x+c0I>>+L}6b79Mk+El50rp~)zHkki>`ahyp3O&#A!0odMn z5x^0b;9KAy)#-uZ9x$kTz*NbaB`}ygUKbJ=T&DN6dLwGzw{wtn;G+k`Uwr%kWU!?e!^aI=00000NkvXXu0mjf DJB)>v diff --git a/graphics/pokemon/rotom/anim_front.png b/graphics/pokemon/rotom/anim_front.png index 1579cd38651b81bb4070aaa3c757c2bde2f82ea0..bb3147f3a1c6c9e609ec33e41eed9d27fc652a99 100644 GIT binary patch delta 619 zcmV-x0+jui1-}K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#JR;VG?~ z0006aNkl!EV|>5QdpP!OrvvJV^zWe2PKbAyMd=SVd9w=prZp;)`jh5yVM49R*Twa+jvp{uFTXa5w!mn0W=CzTT&|uWvK& z8T98ReOkR-`30**`nXzL`vtFW>G$8`p~GH6}T$_-BN(1Tt@mks$Qp!l({~ggjwG#j|G(XayHeIDAHv|uYf(N zmdze8`C^q%*avL!s57c>(yjur)D`4j79KJ6o;6mY8h<0|6m@QdTxY5%I&HMk(%*%9 z)nM3y%F(jue;7`%+{1#qHQpGn_ZIRlunhu8F1e8G;qF)r#GEnfgLVSfq_j87Og|~; zU$Qy1(38^msG)z^DD@u3clwvDR&7F?{w1?6I%v_~RiI8_)87Gxsyatu(ceW5C?;+r zI?%rYT4d@%nD_L@3hbG4cJya1gY$^~>~m0>B;RW2|MNLS{|?w8&VC(RvJB*#j1+){Z zaI}d?%=E7qK-BN~8?(_Dy5txkc?&!?*b$~qbA?kUL2 zr7K&&j*w~n4(NK3tY?$}`oxvV$hir#3&he?kUOdWiphP}Scx1=jU%Ex%L+xEsg};X zi6(v_{vG|RE`}+nyjlkRmzNU^_b}jYTyKm%78dd?FnM&L?Ql-&UY1VA9_LhU_}S zz@Wd49FR=>3~5RK3TVj#VP4Q5E3l{6Dd^8!24~($L4S5RC>_PeHS~YE^U=QrJBK%J z`s+1v`aHV@kkj9pU(nwpDCqAM__kos-?Itt7MAq)?V`>=Y6Vb}Z=#7mk1w}Ih$X{Q RTZ{kz002ovPDHLkV1hRWBJ=I7!BDA_r{a)*)!TO1bxGg_q4xBvqvO$kS)D$w5$ zQDTHWsKj**j0o)|z+cnldN^8v0Da$p)$vVPBgC5q1WzMi-GS$K#YG^x{jh~Fd%6d& zcF?`2;Kc!`aDkN_e?&Zx^-^&_VBUipw47(+D#Tvd7IX*^gvz#SWZ%O?0L!iss2dUN z(Gz(79z&QxI*%^zO#qmd>c=??sEatGxUMenRLZXj&R$)_{1~gtP?(;tW0;<0ecsnW zW7Rx4Ts09;H5~k+Xg^PworV&!I<-#`y9tWfK@9;8rPt3zFLkMh0`)l6&$gvl4Zu|E j`-%1jW>u;F%-`uJ%1CfR(4$WE00000NkvXXu0mjf*WJc~ delta 452 zcmV;#0XzPn1g!*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ftFLK~zY` z<<&iI!Y~vEaD0RK-M~+g%)rD8uqQ>CI??6=pmZmxas^a4K-*(xf!9yPMIgHW zvV|~bx(Dxe(7mVN%>k%zft4LZJdpKPaX?_+gFCd`XW}ZvUfDK(bO;fI%64jG-@`-z z%c&8l8xic$6L`LjA&5GMF5Xa*;u++YQ#&IC)TgVGEF)Z}sQfi0Ln;{O{a~(Agury~w zvN*?u7S>18r3XJiPkn>#yL3iQ*|jBkFFmy@2*lQ3Gvk?&^nV)+{+Gd++dmK93-?~E zsT}~Ai{`Dv@IkP)faAOAOsIMKkE3k_UovklPJg2)PS8l(g`icgau!J`vs69Z3x+d3 zoYO0g^Sj+=DdV<@XQ3E|6BiBmIKSJWjihCQPiLH#a9Hdv)1p{OxoMejyiicw-2Zf$ z!dNLfCREtuA%BLmvMh=&2QcoV=aXP9 z6VWZ0KtW#SMS(8h3Zrqm3h=XId9%)rH`g%gMA;}7o3rwZl*=590*djh#8N~{5^Rlv zvOGl5vM6nW4Shg#EX!-NfP%zNpx;Qo)dW}yNrHj|dVd}o!3WAgBgl0D2C+Prxf0-4 z0y7A*;;54S6=O6g&<8H0f?r`(7}pdW))M;_u-ep7j;3&6w2&)+c-{0Qw!7Ok5lfk- zr>=Gw2cd03+81(@G@F2dq2^J##|TB!hs+aN&8d>{XCZ+?{2f)b};hS-=%!DitK_Ymish{!73O>7ZL6aVLNpl z*yDVZTLoxh6-5_dKfJN6R%wp`s(6t@@9EDC4S(Nu!r0(xJPj)zJR}Sw9yFJpYsUj@ z3Bdk z{C_O3Zx`7isB6RR?+_jYHKux*7zIs?w}b~uV8(;MPw|LLg209c0VWCg!Y05Vs|pHi zhroshB%oY_4G(BBW&tWI9yIGQ)iylHp~g{-dhh^U)X<9uL9H;0s{05YF#T?C;Q<-w z#RJ-8ybljJkudb(K`6Kwih&gmaJMiXLQo$bgy4k}w+9b~A%LOi_jtgDp{Mi313XZy zJm|xNf#LRQD{DOHbVu1Y+y&nbBxQ`t^E` zWiV!U&x8BouY&1n3jn50`PO3i;IO)YjOv(-iZMap>! zMghfmk>gf~ISJNAL7wk~m}hyLU_}cM`#irj3n)lj0{sT^ttP;&kR-@Rpy#0!e4reZ zf>ak^5c7SWDgmw%m_d+adzI|37^6XfKJY`@@EhC}#(y;hho!`N1>9|_C`(gVFqp{& zK)5Vx63g9gnh2$g^HP4iKPGA0!N^~Km-5v@vFG-8zEZO-*VYvM*!UMm+RL>)$pp5ZIc%TGkJn+33 zkAJwx_uKHm$0Q+Nv%)`-QDMS&<{XcXblfoKhW@@h6jq3H8jCF9`p>iR~-)w<6q#x`|#L}2jR=@19))t dga`le_zi%poVLpnEC>Jq002ovPDHLkV1h~M&F}yK diff --git a/graphics/pokemon/rotom/fan/back.png b/graphics/pokemon/rotom/fan/back.png index c8b7316c4e18dae53acd2b10500e8d6df8e2aa2b..571f289d1c9f40305cd283fcb860314a8cb84ebd 100644 GIT binary patch delta 524 zcmV+n0`vW@1)~L!B#}W-DF6p_Nliru=LQE3Dmr%ibQ1so0tQJ$K~zY`?Uccaqd*Xb z;~T_&1M88eG=FY3-|;_06mOSHaU2JK3?AbXU+z~kbEW}qFu>|;(W?f*d)*j07IHb98W*79MK$zDCIGZ4J7m#%w*Eg zGvuwfM3s!T0ze=R1qus;RVhWV6T3}V;aTz`3$Kts4SyVDSfOOwx(+~kfrM3?;WMOM zv{!$_+SR{vaYD*W4&)HnUcJA+QR=;CwpkJdd9~0YbMGMFAz=?V=b*8$P)NrAR^Wp< zClfYOEGTf33f`9hf;OR%DL?rIFq;H;Y&BCm{X&hy92h+M{zv;YaN)*3Y8+-B9zc&i zJbekEm4Ewx0gYBbNdEpAa1DUlXF%$ECjh|LZUw+Txh|El+`qg!S^+fxbXscUwZpk_ z7oLOkLV^CmwG7RU^A%8JG77!B>Dcj}=D@BT038W}g+0ygHHN-ubQHXfUCH$v(C3^0 z@wfykjNt&F#>(U1vPnmvTzXWOY}pL}Dpa(1J5|Y97B*MnSGlsFQ;B8UIOjj`V^v{; zmyH~AVH>%;5QtZK(oX61hX5@d5U%oNe1YUE0fPmM{)5Qf^8NW85`O?h&r!{dW@K&v O0000j zKti9vOePIIL*9x@RLN)~00fdyps+All~M#dvD<_do+U4`@Cpgkz<)u86-u_P>j0z| zNLaNQK10eyd-XT0UHv;3C#1~eKn{WJ)%*J!rQUmHn{DGDuNGQl?i~a?B zjl;~t1L)C*r!N7ta)19XpwS8l$=^Q%t^siS3`l+N1OWKjtpM03*QGL+`* zE4iKn`kWIW9+yCcF&qHYSa}>=Ht7hIOONW3ExQ3gg^Ct$CssMj!sbf+DpwYCDzR)E z=llnLtSUr!*~l>$wvo#Vfn=2@?UY`B2+-02;VNIo7f8MmFj&CoKZx8d-=E(RMN#wz XM9)#p0aW`y00000NkvXXu0mjfi%07+ diff --git a/graphics/pokemon/rotom/fan/icon.png b/graphics/pokemon/rotom/fan/icon.png index be3b629368725174ec1644434c2d034dd2b733d3..49ec1f4619cecddfb5cf6f5464c202593dd40734 100644 GIT binary patch delta 298 zcmV+_0oDHB0)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l4oP>#TMF z0087kL_t(I%iWT(4#FT1hFLDYi9UddeGQfi<8AF&6Vo#KwvHvyP`1{iP2o^?jZE<8 zzn?q!l=|I;S}8zG=eP%)eNw>S8D~3tol2~t&<;+E8geu_nSV05u?;@o15>cI$ssJT zWAvC)$j1!G3iUL&*iO1RG>#)|r&A3lu)%BscY0;PY!0BtS}sWw!lS=btrm^l`@^Xa z=v3{cz@f+5O9AL6hFz4|e|Xq`T@sk}EP#oV7r;b!0SqJ6mB65V0fuWzNdN!<07*qoM6N<$g7No%(*OVf delta 264 zcmV+j0r&oa1K$FWV1MdKL_t(Ijop$x4#F@Dg|k@P1P*{iuaU*-=&c=#gxZYUma&mQ zX}1=qKe59FKzK@?o?mR`Gv;>-tucU@?(qybhonG>SDf7(Y-(|a#-{gH^^m8@>y*h4 z%^2hzm_}EX62byIhJcbnA!dLm)KTx_IO*lF_8j3_n|e5b4S(e>@T7MZ%H07}JI5_) zLwI$!qLDESJiF5+6X;SLwZNh0Drf=dp_W~gIhefAn!ha#%z9VA#LY8cqB{eIk!o{b z(0u^IJu5JZsSOyE&tHH!xa3)ZL2Og*0t|{{2S#9CfKjV#z=-gDVBX{Km0tp7FE9WA O002ovPDHLkU;% diff --git a/graphics/pokemon/rotom/frost/anim_front.png b/graphics/pokemon/rotom/frost/anim_front.png index 019aa481e7452853b553fa98ebb484a80cb2abfd..fc7d2d35983cbc9cc55f8793a73dd7dc24f4c362 100644 GIT binary patch delta 1342 zcmV-E1;P5~3XBVoUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#L)u7Ozj z000EW~h6vv|*h=ea7%0Ty}A{Ur$A`#L7Cej5Y(*dTN%Bh8R8w}9N zTwu@(G??vda)MdSq53{ZiLn*CtHBV6V~9VI?>#=g_xIJ+_kSKjoS%=Biq8TvEiM4p zMRI;62DZg&@eW_Q*~nKs>tl~D-ftsYK*ICKJlLgP!_(LiO;PV3je?H}41^^p{_RWB8HlOzZJpPNo z1}rTcAc%se?;c@=?(w4s2HYO^7YI}^_ng;biP58x6QEi$34lP57nH!#1Kk89G6`-O0vdo)dmu~LhZ(TnzSf7|zF7xA9T4$L zz}ouY(toOE1`-zy0)M)^|9I$fI|IJ+3c;<}0^o{_0}`J)f&n|) z82}@>`-2MmS*aHa!>tfA07uvrDy;TniE)6|>vqWBf(TUV2F`nhAL3@*mmmuZC-~Cs zEu5dh99a1RV+?HBvxJuGZ4WEx5LmG#T=AuWrd-*q2mu4bmhQZ&%9c>5`=b?fRew6k zh(MC{I5m3# zK*rb25Mc1aFmSVSD{NdK;JYbpF#)3LjRi0FgNt?5XJB>+Sc_rsJwaAoW;-*?K&dTS z?kfRw#L^f&a0EG$I_pVldF@c58-H*{bWR4mFjYVIwFy{}YQsT^I{}c89VQTY$alZa zZ8^d0)eh+}LxSBz>Uki_@%07*qoM6N<$g3`%m A0RR91 delta 1305 zcmV+!1?KvU3+D=uUw;JhNklW~h6o8`}h=ea7+CcZELKm2BA`#L7Cej5Y z(*fE|?bJfM4F>3BE->f?8q9V!Il-*vP<=n7MB9qfRr-K9hWLqme|+!x>gugUh|BAV zQt3rNE{j)y>ms{+!gYTcSZ=nj0L}KImU7v2XIdsPU|PL91An3i@*03lMBake6V@t$ z$3mG-uN8<8{xz9;Ad&cdsdH< z7hTK%O@BT7PCDe2)W-nC+ijYr4Z!-epvG5c9w`4i(9Hv=Fd~Xc!pt3u}r>u=>MwT;eas#nfC?(o#{UvI^!lFbY3C2H9G)& zk?}wlQb#c01~&nqBzJ$9!hTdLDwE?5DSrbH!mdzpwI53K1GHX$f_V=^pi(yw?*)E{ zn_*wVSXlUhZ@IaJ_*u+>MJO=V!jV0X&~mluVFw)p3)X}yzO>MkE0-5BU_o5z<5g9z zghJh)?4YaCkBkW9+T@wAUTzj>DFF8r3IZ(nC1|J^g{(N>8M4f=KHDPNL7>}u7=O12 zSmp2?^F!d$WCZ{@UpGsD#S6p0&BE`n_Ktw>wsge^h^n^^tlaOsud6->wPV0JbVKL~ zvg&fz+1&(`+M(v55P2c~sV&JBEfqml^`-$3o4`Ctt? z4RLG5>Vv>74;YRv_etlZIjLzH7l6~=?C(}IN1XxY1V~>7=H@7{wY&^K>gjPk)UXpX z_FN}vKG5}9`$vEJ`2kL-&n6J^=XAe!b3Z$Uj0T9=pVvtg&$;#gP5uQTpAuMx#{JUz P00000NkvXXu0mjfcqDKR diff --git a/graphics/pokemon/rotom/frost/back.png b/graphics/pokemon/rotom/frost/back.png index cda64c1b675fc54d311fb85d8dc34b945adbd065..5d6188dd37552eedfe2ce879ab24d94ef66d9c70 100644 GIT binary patch delta 358 zcmV-s0h#{Y1I`1GB#}W-e*gz`Nliru=LQE3D+f1-2}1w?0WnELK~zY`<<(togD?yS z@a6`P8^o%_J7yf9LG%DA7g!tbeIRlDI((EBs55EOUh3EUu>T1`91ibTDh71&XJ8@` zAO?;g&rsP(20F{-8M?YeKzk8GC}^Dwj@FAIRE8f>AkNTHP+{5Re-daB8zBVmlEJ5u zc8TbnNra3jq*N&cP`(JEQVj#(l#p(Fgk^xft3m;obkm(5?|aUOL{#MfPeO(6eTPF8 zw)76+X^aldaV{3rU=GV}6|Y-dswjyXZt@TcvY+dSmUH-K5gIz&0P;ScKN7uafJFf0 z_&}0r0`38--Pl5{Tqn!`r~5g)e0lKFi=*k_>p4G4KUu|4uF-d7D4!9ZE6KcWX+=`v3p{07*qoM6N<$ Ef&{3TKL7v# delta 371 zcmV-(0gV361Kk6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X9iQK~zY` z<<(togD?ySaD0Q38(<;vju{7N5IsQ31=c2eA4s`=%~x6Za3)RK!{%52>c2xkjs9gp z2&mJKK_d47Lm)*t1G2LWRF=ybs=5Y1dli=eY>f<3ZN()ZqqiUsGgJ^%R5rN;TB1f+ zf=|idT>z;jvL-pq;2lYS*b-vwL3ywQ#0m$%TVlMO(YFzOSM`OM#GC2-bMJXaa?Vvb z;){TOy6l;d(*;BZY#6{T|x4|xi}>}#J$^B%TYgu;$Cz*(Em zABkEGprQxP@B=wb3A6`XZN?F>PM85r@8@vId*E)z3;~z`aK8XfZXs|#0D28pS3&hR zLGc9ZyO@BU!1y`rfJ=Q20RNdp5~wdSxRp)@e992`z-0fOTtMj0;jdH_Jpf8E(04b6 R(y;&l002ovPDHLkV1iA~pgRBn diff --git a/graphics/pokemon/rotom/frost/icon.png b/graphics/pokemon/rotom/frost/icon.png index b476f3ba17096457e4a587788451284798116fcb..ef4b450650530f2bca895a86fc44bd9c916ff8a8 100644 GIT binary patch delta 337 zcmV-X0j~ar1E&L!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#L=NjY`? z0003BNklyp8%thTNaOwqK0w`W6FxiK7SKL`v^h=GM3=(d zaGYfE4;qypV}CnDHwSzdFo@$~Ky|MH(|mc|F&EGx&Yhzr7k|(GF0b)nCJ^Atd=;fqd#nPUJc)+N?m&MAP@>#r5r4@yDmE#T8$ zotY;@ecQHuS+btTAoJOtp6JRaf%y$Uk&oel^-bbsyr04z;&sgUD^4GYRB%wi00000NkvXXu0mjfGa`=N delta 304 zcmV-00nh%Y1BL^TUw;7+Nkl7!G5WsQoJW7OB~h=-USGCkJz58dkqlR>+24=FfC~99Im-A zeS;NoLbpN*YMIbXh#~EfpvJgFlLHg#goe{y0;mgqj-1E9#D5mP@HCo*0+V9fV%_B& z1Cx6Dv_kuVF-V;PJnhw)Wd_i<^xBt2>p2CP&-V0)S3V2KGhhlmg$LA`(9d{3hZg8} z%_9J7bEOiX8#IICO#jjKD=_K#4$N=>L$B|_5UC>=(SwPCIxsQxVB{W5K0^glLIIOW zi3%o>+JPygDk+#ks(@*vDws^FfhkieVA|Av1m+tnP9KR!o_I9?0000F>c#16hO@zi2nxuwl#T@eFDco5M&MI7Vsp%N(Q4-ZM8sm=Kv{k zfh^rSHJyYy8A{~@R!)%Q4E>aBQxs_h9gBttVq1Lrq$u+L*MDlgwZCcHYwl;*ZUz9+ zYYu>R2v)g;bpksCwDlDjjx2zpY68Y1YYbypHXIG=0L{C*kIFiuaS8A$Fx10BQ2t>1 zOB}E>)&PTUn-{mW^$dnV1;9?x1>yFZ0>T4C3V74iFB2;n~gcd>Btrk%f~G+ za|8Zd5`RKKNJBUP=1-P{NO?D#N>@T+cs`va%QzO()Sc46Pv`4NvY4mnPKxTh`tpue zksnH?oFn!{+LSU0kx(VBJ6O3O4;OS7O?WBt{xX0 zf?83?HfQ=f(_gTXCiwolp$DE>R!bn%k7ibGzAIc?Jz!?J*wr7c2iz<; zZ2K5m59*tUL+L;}Jz&<-6@b)4;Zc^ zAEOUX>jQewf^|fMABzKez(7TaBR_QO0qygCgrrY#=+*;3nMoQT_NPugU?}rEmlVOD zI`shhdH$drCz`FDdH`Aep!|dow;ljlR9mhjXR~qZ0Z9@~f)r-6aqEGa1BupSo^9}e zen?5<=bQYHU%c#16hQrNVE!BU+t%dC_6ZyVL69|+Tfmb5 zs~L<=wbcUModcxE1+sMS)OIrJWGIyrSUo|KGxSrkMNy<3bZk)~KxFahf0Cm3U!(EA z{Yewexsq{A zq`QQ*ve?p4cYkuZTD(c(s2H#{1pbBHNy0#qB+Gm%SRDh8NYErn_)oW`?y~@1dFm#~ z`&9wtt6>2R5XetoUF`r~4QC&tJbSeVqz3@HxIMjE?Ew;42fFXRo+iobGtRV-v&i`n z82EOdB-gh$9Do6GfZ*ddj_~u#4fls~Ezkir*BA2B`G5C`6t@X|`2rGg;20oO?cYOjVj`L~Ud^^#a=`rP8O2f!W#z z%+)hD2J|dFrv=99*AAHZfncr}VIbrb9sq*Lk`bluW>e)mkbvGyXUQ^-<#g>o(lA)h zHBh z_J8E#F+FHNPe$`&dH}SE0*c-~ZVu={12+*9K`amG0icc$M?vV<1K#Joh*+QE(60wb zDpi~y4yIl`08&|&DUJ|Ky?TJXEPK$76U{bWJ-{@3(0;;*Uk{KiD$|m)-TL)_C5Z>Y z3bWn%^+1n-MeA3VZvA?|vrwEr+h&LS0y-a_If6PAK)=j~=SOuo0O#nbHRm}jC|I1n jhYU!Upu8RI|Hs>Jk9(ao&fAfG00000NkvXXu0mjf1n0`W diff --git a/graphics/pokemon/rotom/heat/back.png b/graphics/pokemon/rotom/heat/back.png index d3490af7179af736f62776d3248b855fb0d753a4..f79738f1e9451bd1e08b85439ef261055b7ac448 100644 GIT binary patch delta 495 zcmV5R$oa8R^cF!)l4FPqN8&Ns7kOB@C z&=x>TnKLC`+DPk?T3A5i5dO0OD!t?}s!jlSMjW&kZyiZEWk$q)zU(`^qn!T=9Q(8X zlEmHzUi!25lJGygS^N+ueIdD>!Fao&7Twyl?C5cos lK%Aa0L}l&vfk*s}_yKgO$6GGCs?h)d002ovPDHLkV1f|2(s%#> delta 506 zcmVK~zY` z?UO-ngD?<9@eOR>fFWhYisS?dCqQz^qT3{!b`uHAB3)K+E~IAH8-%-b#wK7>HQ82G zMoNS{Z~n}DaPWwK5lr04OW-#F2@u{AV}QYLh!Kzug~AbYJ4BoChnNQ}GJ9-*`4rd| zvZV#^(ex19&qvFlwTujZz}!KoD1|7U08X8_wnK@yQL5j69&PNGm z1vch@fHf&3<+KaUu*lK@Siu@NlgTy@-7Qv27=Q=|<_z{l>5M7xa8R^cF!)r>F%+X4 za&(Wz7XblvPL2$S48_!s2L{-FnDs)_Sx&wQ0we-Oqm;@m;Tp?-jF0h7skUs}5)pbc z4nSfO60EM9qDJJ16%riVNZ{!efo)r8jRelm#0Xe{-3fuB)fjC)(d-2whgkwbF=gYps zZ&Zk1fm46+Z<5?q`@l5)pecR8dSL$X_dW;C>KaA> w*O)8pMxZ2-Y6i&j^OdNq-9GS$zYsz24Roo;TYqoL2><{907*qoM6N<$g0Yn0f&c&j diff --git a/graphics/pokemon/rotom/heat/icon.png b/graphics/pokemon/rotom/heat/icon.png index 3044cadeb14279b375cb9a829fd1b3b9f03f9224..a25696ec6ed4f5cf4c49f1589998689ed6be626f 100644 GIT binary patch delta 331 zcmV-R0kr=A0-*ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#L|T2<|+ z00035Nkl3tEu2`e6ee9ooWWi>iNT%bGic z9N5?&*2yP+Nxx?uF?_<>IW?E$v-!TQ?)Gl}Z8U4v41?6vu&mZp&6RSEEJ^bgzO$!?d zzSrydYXL)+JoK=xamm)hYOROqhB8Ym`xb-6HUkIf0c@H>3>?G5vD$#+L85zq*~+A- zC)G@!NmVdAsYD89BPC#j6e^gF6jd-n3Okq*kbn_V8<3eo delta 297 zcmV+^0oMMZ1OEb$Uw;7#Nkl0?+fG-6nh;5(oYvlAbC1+SfrFe zfHd1}u*aUn*_r||QljK3{+@B3bAP4?cVOgj{(uXh1AtSxhaLn+QG=*plnlCx#wFb( zJZFNMpC7iwX_hc5aG=PgX4DNG@I4j)DRG+mHGlF0qk!5C$>rraVG`G- zq8q61;B$Syye$yelA9maH80sSqW6B7K2T@L6(2KLVmI&xKR^zUXORp~#~Qcp zh-&}m_kUZeR3}XR<=ynER1-!^|8Nt=KrmrUDKuerrKkyGO5qTu0y1Gtsa=?+6v2dP vO7+6jemh}W^CBh;?u9Xf4q?oo-xlTvpLwqnyR$OJ00000NkvXXu0mjf^I3%T diff --git a/graphics/pokemon/rotom/icon.png b/graphics/pokemon/rotom/icon.png index e2ecc8b804e0284cbfb797d6c81613a316ae8b47..9e54da11af6159cec584bd7c3a7049c5735c7854 100644 GIT binary patch delta 344 zcmV-e0jK_p1EB+u7zqRe0001qplF?uEzQoM+^{NX~bJxg-C1+anD}2tGJ^9D9eL z3OsU;JV5~T!1&;)WgG;TJgn*Y^HmDAN9Tt+3b>_k)~|noK?RJecsn@oLArnT1yF&; z^^rU)Fz`J2!f#-596b3l0P`^{C!<8b5GGi0P+*W?fhjy5fGJWS1*Y^|fib&gVA!JG qTC^1y3;(meFZGT3&Y2g5pY;NEq^B8d7tB`x00003sC~*c+=#M&2M{1i1MS4r0A4AmG=SJ1$oa9UyKpb@=(bigiC%RFY>P~9?h)RA z_#^b!>!${yvco`hNezFPKIbY*0aigQvQC$(S2>8xyMZX86ft)LdFV;nm<(i@g@()q zvW!;0fyqEL$u0(>N_sXB%f_04sNpaS#ELfqG2_EPHUxPg{|j#<{gL%Y+5^5`AIYH; UtqR>D`~Uy|07*qoM6N<$f}KZ$rT_o{ diff --git a/graphics/pokemon/rotom/mow/anim_front.png b/graphics/pokemon/rotom/mow/anim_front.png index 550ddfc73830614df4016e18e9ee4eef85769d4e..1939d1026c4df4162754d802fa95a53f8447fb2c 100644 GIT binary patch delta 1110 zcmV-c1gZOv38o2sJij?b-EU2_}4?v1u0!eoP zxQ8nf0b&$CfSpn@Kw0UHAgbJ@$h%}_bxzDbyG@cN$wF7?_J7CO+2!mv-%Td}#^D7x zT=R_M2wd|*L<{cQ0GvNufn0>P0DK9nGl1t-U={-ok=TJ$;7D@&5?qyu%I!%8jAxN+ zo4C&`30(&@Az<>40v;ym24>&{f?y`|(6s8r|nHw zXBh|pLdMP$fqxenJP{&BWGn~)F(g{ADGCM|0*9wqE|u0=q$!B*TgQ6GBoUAV)T>qc za^ZLDl?VLU5`n}3SbDkN*C(q3KT<^QtzuBxFAOqf#1leXDzu5@#4fT;T_ z*j$OCz1?h@?RHt!GAVlH@6DA`ReRUAcQ>M{#Sq|1@p*;7%~Dl$p+vvB@ok2j!YGv< zD0QCZ{(nIK`~dY~H`0SqkqC?m8f^6bpbCUd0fF7fX;xu=Jo(|hI@_xC|`IE0dquvvUaDu2DO0!#7_Qsh=3U6O%N_9ak4Bub4v z$p9PY!nMr_wO;2zc{7>2HQ+A;43l&NnG^5=v?$zniVy;!b)O!Z#VirriZJvCaRNfv z^p5SXo`b~ZD#W@?n45NiKN9e_PjoJUlXLZQJpgnskJ_MZ!o1R!A?NEdjd>vL%E z>jtYD`yLg4*mWR9c8vA_-d`AhQ1%^2MZnv4aPs!T7>p4hf}{J=e4x@wjR5lG{sNBg z(Wg{(sd_h*DIFb)Tg>4q7U)2v>Tbex|9`JGcX;p8+vY%*0|2{!QEWGtZPRY95(0WZ zB8&xjy1l$?F54Rfgz8^$MlF52y~Dp{qKgq=j=u^N0Vx_Wg$AQn4)``XdvFKmsqqKl zK)*td?JR~d7~!DiebNUr28X3JmMkD27}#K;~v5beJ^x*2oL}F c|LY#&cU^^wq2(kz1poj507*qoM6N<$g4??TLI3~& delta 1087 zcmV-F1i<^I36BYoUw;G|Nkl6WCWO8p&=5!2Z$1=ut0ZK#tAi+<%x?L0}LYER}?TRAD94 z@DbAHiJgX>Mb1F@Z zs=jsPJDdcd34d5jCg~TW3V?j)^5qyn;sK=IbQfT9F_rx^CIBXKq^_<2V(4r?HUuaT zZ}tJ_Y<6;K3_dEcE=Th3I>}_Qh|G8IjXC`Rr-L@8k{E302>8*M4**`fMFTL;%vV1f z|2YPbHvsWZzZmoVuLRiRyjr1bSj@9;UXYVFIxbwE-+Wk{#F$WwGT*Z<*)#7 zJGRAQW>r1A@iu#s%vhTqT6>XBYYByX=yLRj?Me?Dn*{e=&|{7DgDyyYbb~b*z<%%X zxTeyf=YNCEX>-%YYS~$$wN3joe*4&V3gZW5`7zuhX%ZZ~-LJRZeVh<9Krs++W!M14 z@Sw#2+85%$MQaNbydzp8i5RiA{r}frTa?gk0q0Z_y)eOLU#YYutzeRH)yHXOmY(W4NkDbwI%R*GA73)Iqbv05JE{ zUy+rDb|d0RwweC(D9!ZK>RU&)!^zB$1aa=obfj3xktS0Gj3iCbKl5?`0dYRo-K{#^hHWR{&k9+(f8ULWLj1yT_3 z?!7sEcj*O20}z?xhunWm;jC={^y$N;IeCCiDHge{Rj9BoI#GA<;W}1OAlgWWeqC#~80sa>Wb!j0ENCcqw-RQrU}*nwCVMAq1w+E*vrjXb?>K1) z?2F(3^tnMp_zUvwSIruN^}4LL>u$X!8UF8X_y4mR;tySgilLH(9%}#q002ovPDHLk FV1iAp2tNP- diff --git a/graphics/pokemon/rotom/mow/back.png b/graphics/pokemon/rotom/mow/back.png index f13609906fa8f2fa7a2d478e9b8b99042a362409..cedfc25d9cb6cbf6b662ac9281dc9ae78d8616b4 100644 GIT binary patch delta 433 zcmV;i0Z#t51gZp(B#}W-F#rd2Nliru=LQE3D;iXeWtsp00gXvSK~zY`?UXxigFq05 zy*FU@28=9mfB~gT0qc>k6@T6M8EY4%j;FEE|1tk~9?WKs_?IE1lp$Rz00vY;+$vDSv47M+5hnm9JhFTe znDVG5fr%pYga>yboPq($pBcIX{a#k*zI zzHe_A&@BZ6w5S`*AvtWv+Z}gFJ6_%r7fqReZg*z9PQiLVBpo6xn)kX{9d^c;tMRj* z7}GJ3HtUM&)xqecxpH{e0tT~3UjLUhQ9<@0Wsm4`yX|1?b!fg|Dzd?RAui8=fce|V z@33BT0!q=*&*vf(EX-*5`=RY8fVdY9NKb%GVD|RDfAl**!iSUje%%k1U2hFj6JGO2 b{4Kr#fOC)Z!*Sw000000NkvXXu0mjfAt1p7 delta 461 zcmV;;0W$uo1hxc_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gp*UK~zY` z?UXxigFq05y*J424Lm~P00T;w0+yt61B1I%F$Vxgq@s4^OU4qe_6(U_KjMdWQR;Xa z3;iGSkLSVc5&tuUlrp4C1pom;f{Uks9%-$;fKZ@wqOzTP0M^sGA@TtNG*PpnC3pZ8 zr9{@jQ-grq>bUm(3l(91N{DaZaS$p;4&8#+VU3vdUF&P4fVl71F?yT8U9!Snp$8e=ZT&w6Z3$3W7oDyo-zqZj7a!xk`@9rF6Wu84B7 z4+(pm0KVOJF!nk$UohqAV7?I-XFx#oKJq)P*PMV7bo9%)2nB^14Szqh{R9yA!U4$% zunEl0-uFSj10;MXI+^d+{ZQHU)-W;QHGjlkVmA8$fOC)Z4eB9V00000NkvXXu0mjf D!M@j% diff --git a/graphics/pokemon/rotom/mow/icon.png b/graphics/pokemon/rotom/mow/icon.png index c3982e342dc4610b84d08857a1fe1ac5c8d054f5..b76d1d7efd212839c37e04a61392cbae5e3656f7 100644 GIT binary patch delta 309 zcmV-50m}a50*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l5nX>hL)L z008evL_t(I%k7e}Y6CG0hVKF5r^o|zC^QdLu(uo}V2$@`_W&0#>5xg>P`GUJ=1eEm zhcB_6q0psJs0L#`eo2=6H_b1GLc|K7$m~kNXsmaYAV7<*5Pw){S#lY5+xu>UM;XLG zp`!^pToWYtn`I(1C%_~E5ll7#WV#vvCan_~=@Vjf1vp$5B0=9%ju&{13g50>*z67; z&_>|aw!s|FmaqQtu<=dncQzjLY}@S%@AJHBS%=V^r(a@}oPp^qGU|Oco8gHJkyL_y z*!0a`iGRcV$SyGI$uKG{qA*NxUHx&YN%Y6b)duQ^Z+_?tT~{N1#Y6CG4MRfq{6h1(TKzyKp)Oo=MO}SU|0c2R5 z!qu=vVBL*6x!Rd%(Rx=hq(~D8nPjp3-8x?^|TJ5ah-lrFKY$n zv#6-|sW$$J_(Uqh$!|{TujoH8KMIU~3XIN+C<0Slv;4UxDIezwq_}wXy}kflS0jEg T{IC)L0000v2NQi5Qfb+5V^EN7M?2vk$EkDL@M%BpeUjt2+U8XQ)~!{LciO4O8#fV_}WsY4kf5!3+f*Iz#? z_3|Ts{!yx?T&#Ua=NN##*MM6t3bLoyt{wp>K=+J(Q0m?Dxdz0{v)9|hlP{rAM;B5D zumF0?sgJ)OUw#@yCV-fgw?RAS9`SMI^75^IAAz99%j^5RMf@-^FPjvDs05JCq@w{` zNRq?=gGiKt{V7((0J?<8;CdCfVL1?Pme&}6Ck{10|9ryBfiO+e&9&L3=s{6z!dp4e zPnSsK0B75-VVvebx&hcr;~XG)Ul9-j|3x57zpsF&*ZC(rHs#qV4o|Vgu#(5=w<*An z`vO>>Q*+t+U6o)z#>boW6!_l805jlNpcNAAReGl+b}|B;73Ppi15iw2Jz04z7N>WA z*r zc)8F(V6Ke=5YUIZM5br*BhIM8SEw#XxuvTi@D(h`K{Vsdim==@@po#*F4cK@p6tQj zu?KanSFs1rro7o6unBLr2du*z?SVTVEPLQi7|R~GfMpM=Q?AAy6mxQ0726(vSO5dt z9++8OoIZ|z+a8!{zXj-uI`&|z7bb!A4aw}m+2Ph66pEwQ*~Bx-d-Us}um^=^=>*qP zYV1My@KbH=L7{rNa#CXtge>eqp_{pKa>pK!!qI8v3`dSVD74!sX9kq*0hEe}${7r7 zdr)cyt(*p^+JmwTC^1)wZ4b(Nt)zuDvFrh_3}=Ysz_JItGMrf?W6K^`dgY7QvIm~6 zM$)zij-c80z`m4`Z4c~gePG)I=U&_Pz?lrTJ#a^ZWe?mCmOXF*%O1Gju?7_eM{03@Nv5j25hjRb`002ovPDHLkV1n4}#Qp#P delta 934 zcmV;X16lmS2%rd%Um63eNklcMCQU~X9o^R|92{${Wkb0bsB@*X zK2R|dK?Bfw_v4$^Z@%DvAFUh8C0Yl3h5`5|1JujKL3PdE%p@vQucH&}$M|Tynt->rw!joTEYK1O@ix8H3OgBr_7ZbQ zl?6B^u^KO3N5tuWEjDU@gaAMWNCaGgS8UEI;$9^278C*k%qunk9uID?2ELY~xzurd zluk{EyA1%G!5D7|Mst89ih?k`G{7uB1T*1puoNb)0Dm#Jh4Ru2Fi#?2>diQJ8B)IL zVTe419N@)gj1XBf?^@XEuQ8**dTvsjOjtZH{JSRwoJbgPF|N$Xt^k zLx4fljk5h@+5}+9H?Xr&5zYa6+XgELCP&%4S|nfLH48R)@jRN zv1{V*)QnxK^SmC(dUE!lsr4%M;Kig#JWKXKjO#$f9*8yph&`y!2VxKE6NcD>Iza3} zb;>o^gJMp9ZmL4<0RaS1dthgEar-#>sXegMegp6&ui1l*Uf2Xy*DSLKrw1E*P$-Vs z7h~5d@8RG3!X6ZwWfELXxU~o2{U5!t2Zie8%E_%gkgBi;g>L4`>DBB3D;%9s&Tv?> z2ZeT9<;;MxJ%CaXQ8|M?wFjkUFv@9xsy!&(Gb-nQOefSHlv~LNYeMWnxgSviBGo7M zpbRiBA{7&RK=jI&F|h~LhD0?|)E-m-BWTnfI3z?w?SVr=>{EN-&=Axf&?Trnpo>v^ zP!B=uK^-9Wp#BbO59&z}d(d!>sy%23QMCsRA)f8Q<6i#&YE-d}$~*BL00000NkvXX Iu0mh|g7fvOzW@LL diff --git a/graphics/pokemon/rotom/wash/back.png b/graphics/pokemon/rotom/wash/back.png index 8efbf3767231e2987a0f061b50011d72c53bce62..96959e52d5f059125476ba42b1a1c6a2924ff3d8 100644 GIT binary patch delta 381 zcmV-@0fPRd1egSnB#}W-6#xfxNliru=LQE3DONMi|p5X|@i z#E2&d0D>9c0@)Ve{yses6%6dQ5ET&KA0ew4DEZ9qG~oi845BP!P3ks=Cpdrwuq-60 zd>VuOx{{?J!ufq>9=9W>q$%C0a@oKq9G~ya)EZZ(38Nd|wBWV8=M{xJS3BIiPZ@o&eec{B0=}Y#w@OR-V5Ch;XF4~UdV7G;+fO|oBgsftq`RCo22eSa}!({_hH~m+Sxq0z%()(0D^AyYkQhIMfwL0ctmjC=g$oR+qkn z%+0wQ#S;dfJ~~}G0IBLnu^GQR|Fh9;kAw~ud+UMs#_7ufiKKS&9@zK3OO{4l5<%=t!pk z0081iL_t(I%iWSe3c@fDMYGI(TzI3nYd|5hYlANQ3o+O79)fit5iGP>8AokvlLLr2 ztLE`DGi{#`zg02^uvx$%16{~&bYU8ih*V7pVo7Bc?5Cq4u77HX0F5CwG|Bf0g-EQ4(!d`lYh@ot$B9EabBF%0IbTLbG7uS z(2o@^`#GU{x9xNIvPEE~uEu;9StLxYYMvO!0RMEXE{pT~;DxV%gqyUB&#1O5>XQy$;`NYd8fde1Ik_#8ATAEjNKqCNbFK7S@I<9RJa4K4Giyx*wfBlf8-T^A` z-dDnZ+dKi7Oakva1izRNpg&3g?x{FHDVMHzckL;$4Kliv*Bjy>@=4UAh%*lQ4`ta4 XdYH43Xiy8GtKtJ7=cq-afr`UXZ04XrmZ>nhzqKsFQ3iCQD6@mREbbk_ zB?Usr`){Z$po&K@TdYEe%`QYrf?n}_+$I4YeT=40hm$0MxKSNxj#>%}@MY7y%rYmz z)moIp0)}Fv*H<|3f1ALY0Bx=H2FC{iDSrdr{@(5)*J@RZCei=tQpdo5OU&MNP-d1~0g0yvCQ(+6yTF|#{9BWL6E)L#l0$kX%B`cKvm X7mSPGb5}?k00000NkvXXu0mjf_!Ge} delta 434 zcmV;j0Zsmt1e*kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dz@3K~zY` z?b5MQ!axuP;7b)sLl}B4g@si(M+!=gga=Tpoe8Nk60$=<=P39Bh%W$>QcLJ+uc6yM)kUc!+YbmKU; zgS$NG9l<39A}IQAs4Sq0M=)EgB1rTuct(O=`Fz|a0UiU4rcZ~HBmuvX9ifj}a0>`T zQ-4g8li+I2&9ZCH!F8n9(CO}&$wZZj)K#1SKZGUg~lfBx1eu_|#KupvZD7Eu7 zXfXn`phy70=75+?BM|k+#((HO%K>HtH7P4 zFtLE?5@6{9yto;eR~BWt1om34=$uvFXY)+6g$1}U&U7EJ0mk(1+&LRtf$5Vm_ar#i c9~EOi7mSPG*j5@1;Q#;t07*qoM6N<$f;Csh0RR91 diff --git a/graphics/pokemon/rowlet/icon.png b/graphics/pokemon/rowlet/icon.png index 433666f6e18652b97d9a2179d5c044a8974f4d90..16876f03b7134278f97b971ce51a209539610e6f 100644 GIT binary patch delta 250 zcmVO{4l6C}Gr*Mq z006Z~L_t(I%k7dq3Iib!M!kV7=_7c6z+$=JaZHyZ?43f&DRPnx7>g|yCdMsN1T=Pz zc1aTmna;=O=MRsupBtW1y?z2zWQ9DQ1aPAUI2RCHuN93%)pI*H)Zpgmo^>8IE#au0 z${htv%P9vyln%rNC07cO0jrK8=(*8l(j07*qoM6N<$f)DCw AK>z>% delta 214 zcmV;{04e{{019r6T@ Q(*OVf07*qoM6N<$g4csu`~Uy| diff --git a/graphics/pokemon/rufflet/anim_front.png b/graphics/pokemon/rufflet/anim_front.png index 4e1e1edc87968711d11a9ecc411bfae71b473627..6de5d6b5c11479fa14821e1a678914fd5518dd1f 100644 GIT binary patch delta 893 zcmV-@1A_dy2hRtPUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#MRk2S1J z0009rNklziZn-6vq`CPg;7$u|ZvA#kE0BA+;NsLNde%+LFbQuv1Dh*uqbc zEpa13ww4af(4|v6+JvN)y2Jzu=~k0Xg_7c_&HvJOcE@|_P=5*?e2a(g*LUy7>E1_@ z=IdXr1uaHQu1E`+dW_zxN*VJGZ7>Y)foZBS1`jf3y}Cl_wg+v~tOK=0(nZ4)v*>Ds zBMAVRzFF)+N37S-@VfsFz^$m%25{Uj@*m+ANe`9&2{(8RVUGN-`~(0;6^F3rwflLX zj=&Jw?C4}LHGc?8VW2^I#in{sWU%-4Ua&kHurq+JFo||9Mj7p>CW(&)MdI2}^ zgmp-Hx$@d+p^)XJ6xU&3N16PkLL?!j;4m6rYa3Z`h=$wUD2kr*B&y51p4+J`)ec0u ztSojNFdR!M`M#(S@?EyoDONS6d?E}XV_RvRv0&(1!WgbD7-M&t5)O$x6FN5pK`^4e zO}UJ!9$tmy*DY(f^f2a$xeD}P6!ShvyEpRvZ?tST*DKOeg^u9sntf}n-;yDW!Y|SH z<;nOb(SJ-y9hE26@MiL3NNu6&YGTyTEwWHj0!>m`RpX!H#C#gf*Z;NBf4H*Dj5jRA z4u9l}hvtS9%NLvusxf@A&*`8O!xx+m;6S7Kg42O(5CezvMW+80hkH*W$HDPzxPwaZ z#mwM#NxtaM_@YAbg*)R5YWO1`{0>1>3Jl>K*nfwYQ(ZKgF$9*~e?J2dXo&ejVQB_@ z@(R@W+Pv|>Aap!q=h>Ty4~O@f1k~ESM{l?B1kLYJ zz;@}Z@+x(zVmv^o=6&)yn(rToKN|zP;5k<49}16(Z{f delta 871 zcmV-t1DO2J2e}83Uw;EcNklGLLad!Fl5=#Xb| z_VD%ygc<+pXbn z_(B#@CUvC_JA>WgIk*NrZY5rEc1J#r%wax!{2o@eeb3=^`8~M453W@sr;Rx{<2g7` zY}1au?YiK(&E8!F&!MUn|aI^6N5`F-U(lHCVWA@W0Ei2314u_ANk-<3REjF zg>w)eUyXHYHDd}Qz5ihXAV58Y$QP__j)S^ggx4zT+GdFB}+nO@j&v0D{6{q_I=0hvieK~zY`?Ub=@!Y~kq zqeM}qvXG8U#i+`LP%QA$hloHS4}jwASn<6MVsw{E-OARvFVPp^8S0dT)MuxtVyk+| zl>7YO@AEmH_jluVcnSEp78o3dR|9=D=nW0%tPcp%V8i%=uV^1of2_IWWg!c4beah2 zG}mt-rY>N<=1l-3$DL#Sq6JEz)19-x8DNPGFwVOYK<+IEIqw8Oz!n1wZYaP!{Q=Mt zz$ygfX1)S2B|;8H1+W2*05LNGi3NH+l;uf)nw{{^eUh?~Fo6lkR-kkNKG9#k^0HMh zTNwgv)f0%v9ZNN0S#A%VBK1?uy&pW;V1k6lRKqahgBzWcs2CSjYm{GwR zTGM5fy;;C_7wqxf2E2!^hM+DW{N^H=Bo3fEQI>kdas6XxC92f<|M6+J3*3WMmT3S^ zMTCCvrPy#z(lC3`DShb}u&oX7Wjd&VD&NMC5H$1Jp5VpdMUJe1#M#nnbnRb&97oZf zsJ&9;88@+(1{g=9CshLq1AeY0at)|gr4C9(Bkw6broc5D_Tk04UCmmAva9Mt7;yt!$lpiC%y+)F}zU z&rVUrR`n%Q-sk`S{p^rGT=)HJz~`+%@7TW?=<;B9%xAMMz>ob67YngsT|l-LrO2}~ zqeo{5ziJEpW^(ER=4(-Z7eI8}Io2;4AO|+xIStMLk8FSo(OLj~v=XGE6#xla3@n79 z0Q2|G3A1Q-rr0|EhZW&$M^=**DkCjn+o!aL8YENcl97(v+xKgxY|P*+>*Iah1o~U7%L7 zN)ipg$wcZ0{}dY`XdEQ3x}|?Q4t#3^Vj1@;ph&k9h|G+hUIJ2NhX=X>I!Tt+psV~6 z%3&DpsoE<=Ul1@cuA~8m;ow>P@MGQsIF7*RP6@FN<+58jU=<1^@s6 M07*qoM6N<$f>{j4zyJUM diff --git a/graphics/pokemon/rufflet/icon.png b/graphics/pokemon/rufflet/icon.png index f9129355a3bb39eff12aa95cd84f0065119075fb..94bba65e24f3dfe6b94e3b2450a75d0deddd68ee 100644 GIT binary patch delta 290 zcmV+-0p0%40_*~i7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#MW|6f?c0002bNklOuPKl*tOi zFbqVk_RUsC6nCdMdKw*YqvfTQY)K8Sf&U>#C=C5K1tZ|N=-nX zK2^jXa02BBWWaU;M6U$IeA`^ia+$>ls3c&f`-mz79s?wOt|A(k+<-l!TqOG#!~x`X zs)N87qkBX!dw>OG;KRd7iE}}~+?gbwTuYUqMn*&ynp~HLrFj&S3x{{8s+W5>2sHHG z7yr~TWeK!5_N|}MT_FEbAVFLTq$Vx}QddlTxh#;g9~K4DzS0j5N0$$&;MdZy00000 LNkvXXu0mjf8Cq?n diff --git a/graphics/pokemon/runerigus/back.png b/graphics/pokemon/runerigus/back.png index cde168e6c256ad4072e1795921d01589f3188f17..c736b944c25e433997bc81592b72cd2748843320 100644 GIT binary patch delta 392 zcmV;30eAlR1MmZoB#}W-e*gz`Nliru=LQE3D>#AfBz^z@0aHmtK~zY`?Um7Wg&+)u zbpzrCVqM_kT|jdesAPdYbpH_=5Rf2p+CE>N^yE9AKM88rz1N=>05t3UpvNWw)Av`4 z=m*-H1kBVVSU^p}30lMUt11Q7nC%c)jJ=Y3;2wE_E0Z0sUD*8t5YJr{ecU*r#c<;z$YBy?dk7IEz#)?0 zh)|A-Q-%bwkwYyD>1es7~wbs(E z5P&B}Zrh1|p|V6Ko|F}TIb36^HaUHs!WtGp%)2P&xNt;=@g+o%he>qU zLyRB+4zUZi2<1_6%9tPxQc1;X9~g;ws9gt6iIIqd?oAEA6yYLi1lMfRb&w(WH0IFO zP`^+N{2+20Dqof_FEHl#<;e^z@a>`Nt_8Av7HH9~31t660Z*v}{5WcJ s_7_UGGLT!#5XE8pHHr}5dZW7TAFmt|H)-Tpc>n+a07*qoM6N<$f`-PhKL7v# diff --git a/graphics/pokemon/runerigus/front.png b/graphics/pokemon/runerigus/front.png index d43f55877b633b3b9704267d3b34932725214381..bda306c62ab59db9a4bce817208e1116ad3b3a67 100644 GIT binary patch delta 827 zcmV-B1H}BQ2cHL!B#}W-e*gz`Nliru=LQE3D?1qHb;JMw0|H4zK~zY`t(DDk+AtJ_ zQJ=t9!TU-!O|lFZVr?OE_omh(G}FC1Q`Yfx@H$W2bB%381H(+GT7)F}IQK_KSF_na zETUWc<4P{>E7`LBqU!+n%UqTqmES$x39!79jLNG)01$Gm?Nfu1-eLHCY}u4B99qGc4iB^v`uJBJNEKm{MmYQ807BY?8TwNHwL;VX~y^LfBU<92(YyPl%C2|ne1o*3IJg<_lCq7vlAdiJQ_Z1 zbuiI>QS@a%=I{|v{Q>=CWVr8I$LoAEr{L4w7y|p;x+S-0e*w;6ZRdVNKBT*3Y9g}R zudH>_inSHnr=bdC7uAy1u`w6%*+!z;m)A9GNPP?jZa zq%Zg`{t9*JnbT1M04$2c>6lR+f|rU{VUVB&)fE79Y%SraP&E=Sj}i(%pc9~UCg*`O z8zhKw04Y)!e{#}d+nzZ}P@k&`_oXnxc_R^~L?&PW1pQIny73{6u zT^WR=4=|8xpRK(@$TfSxRc^YsGiOIYv63`gvrNthe{eE+OiT`DnViknp%<7n5NKMo zbOO{kzU2o5BmyjY1|)qPm=4YafKIm^PrwxZp^uFmiry3vF#8K|{V(GfRMDh4NSECa zSWUoGjqduRY;&1`zTABPP$K3C=3of8z^BV|nnm}=$7cCkuK3Qx4_#l08lH-7Eiad$ z3s0RqF%?C}u??qAoEU4aJ&Umt-FjDVy}UPG=h=T-e*gfZ+|W)W4?h3^002ovPDHLk FV1f&ggd6|> delta 836 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 diff --git a/graphics/pokemon/sableye/icon.png b/graphics/pokemon/sableye/icon.png index 0e3f3618d242aa3975f08ec951c8096d99a53ebe..37ac215c2829b9cd3dfa83ffeb20500542bbb2bd 100644 GIT binary patch delta 275 zcmV+u0qp+80_p;gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lD`=c;h($ z007NNL_t(I%iYpJ3IZ_<1<>9ghjFRkP4s{+JU~iwfCT0c;%bEHK4oH+shxHsxEd_o z^plh}JmuK5V1Lj_L_t(Ijos2q3IZ_<2H@TxhjFRkP4s{+JU~i&fCT0c;;O>T zKEuQ)Q~THmt_DLl{YlD9_?+8zP2C;h*C413K^YXKVRCZ`)O(J=C76ksWGGJ@9?a~k zV4sMIF^_7L=cy-I|tI-krePQQF+W?VP*$$=FcPV@Jc>v^)qtO zq27T6jM4AQUeoWCFljF6=Yyq nK_HzV1JenLs!Qhse)jPMeDudt=!2>500000NkvXXu0mjfj1g@0 diff --git a/graphics/pokemon/sableye/mega/back.png b/graphics/pokemon/sableye/mega/back.png index ed4d1ead0a457c813de7c4374808eb31c2874e0c..d9d0eb386ae6e1bac7a71189ddd0a6f8ac380b39 100644 GIT binary patch delta 697 zcmV;q0!IC*2A&3xB#}W-e*gz`Nliru=LQE3EDe|(cA5YH0)a_HK~zY`?bAPR+CUTl za5LbpgrQPK&M6Wj91AP(0ca~@g;xCoXL0tA!Y&a2>>x}Ap`eOEd-|LT0sh8eqcm`1;Xuqs}`Rm z+ykH!&s(uO2@Ip%y}%JDTN2E4=D}iX2^#IL(Z=CpXAYHxo&p+u3Ft2Yjl^5!vY#T*Qeax#MYz>q z5pfz!t>id4D)vBB#Eig24w$&AO6=8>0TnJV#{JYu8qKNYS^O< zqvGQT#BcAbe|L3G0^(B{&jZTor^7=qQhtRLFyHrD2@w2nI9O_?+>zjo=}&q|kDOiu z04B>^-a>rj4M{KQ@%rKW;qaS^tEB>U!ZyAq#xWp2A3q+CzbHRy9Rqy^e?A_G`06-LGP4wr10)2~FBr_^Oup5!gPt@g2Ow+AE*;8A fx2FAH|I+#k+3Sn{W!J#Q00000NkvXXu0mjf)ha_x delta 706 zcmV;z0zLhn2B`*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)k0IK~zY` z?bAJP+CUfwa5Lbp2}7lfoKqx5I2Kmm1JG8+3a$DAyMCbD@`f!ia%??WOHfOH5E_R#%}_8P!Eld^0A2udih z72Hr2?!pkdXHp?TuzkA_g4dx3ZlfqATbn{m1K<+?V$?(i?xAXb2u#nlf)d31z=#BM zgj>C4H9kqW20$mCw`BJc7)Gmei6c<9B$(>VgT+=7)LR{+g~P|r>{AJZ+;?r}!M73W z7&r!OIgtAt_Gj?1UP;i!3DCWz6%=q?LAZOL2j!u+v1EbmY$h1l+B63=1_{M*9RyiX zQ2@F~mdcn1@;0Y`A>i(+2w>a^*xE+`^spijyypP)piu~V3~2NvpuYq(65lG9d5SColu&VP zUku_uw>J6x@cHraSpZl>r)>^eG0>;*vgkWr-HN)9n2S~Npz=S-h1TG=_e^tT(P$?Xu#(rf9 zYHY6qD+_%9tIBZj8sWHpAzrQO(#L_Ce=}FcCM%UdF(p2AHP|{e6YVnaDWUX@Y2@4j zdL3aJj9IN2*u0#js%zlVATVI7zYKWT4@dzrli>jn4KOvUDbD3ht6YKwc6;YznS$8t z&jF0_o(9i*-KkWfe;UXXwMVF2BxInvoBdvQ0zkHoM>SRk(B=$W$V^CiBY9MSL;>oP zqyT4EU74p*TpWi)H9-UFnIgIw**Ta@Qqd~F0Kgusv;n*F>}gOxp5%fv3%o4=rR4pE z=!B&{ZLkxHJd9BZU?0=hrVW+iD(ncsN(5E320Y_DMoRz)SNFLqI$|M$J~2=#%pZh;haW94FlS0H#HW6sYfG@;AYH+*cc9H8DN~S+KH6*T7qbr9c_#ms!ekX zK!_{HWNE-$Ewr}_ZG&+2QbZkuB73(?632iT)x@;5QurR%A%w~Rf396*>5>;4LZ|>L zI#2nM2bb$!BYkK2(kGb@2e^@Cqt#y?KE(X;8?X3yam*O6{6KQ_e~y2wJr?TWe~Y95 O0000cEoYKNX9Bu0GB&^10q>gFXfrHiGi=c-vEMff7pwJBl?Bm-+D zW9gU^OR%>~vvx}Vm%h6*#5Q2oK8fl5{66juB%^}1gt4~`kaAJMggh$+CLygdVE`x< z29eP!9YMz4Hn4HfCD=57hJkUpFid+P-fRHG#*WM%<;K|YGb2z;iA_xfcF%O8odq@} zlpg6tE($=MBc#FT(@Me4RobeqfJq%kgWbV8U}4)K3lQrLOCS>###EmszYuqBc7y_` z^)IF(0SqD0nSx6Zb0O{o z3l?A`0kz3!0nV>`B8h@9ZBc=Qg{ea=Jwz`i`-ihx#N7oL!j=bc(i+sn`E#e~N8a92=5gK5$|;lG~Jat%yOSwe$^^RJJ8P#$0t%TQ~)e*F9J(=P&S zLYJljuO5E0Tpp&BUt1Q@;00qLS_43sYR?+)@|6ne#lWbLKlC{BJ{7=FzbSPPpCcyb z;Ykk23s>R>o<3{$2Oinpbk7#f7A%IEG1sMMi^>;NBEFXITU z3Me59$m%RQVygf#wQHdMv+MFw3~?ilCun1^F=kia87dLj_sjB|djIc%&_Ap_7V5l_ Rhd}@U002ovPDHLkV1f|EM-c!3 diff --git a/graphics/pokemon/sableye/mega/icon.png b/graphics/pokemon/sableye/mega/icon.png index 9374e7b054ab1940c7676ffeb9d34e078d61933a..8ec708d70f4592d23c7057db3a389707a66b1a5b 100644 GIT binary patch delta 373 zcmV-*0gC>m1Iq)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#O~ViQaG z0003lNklLPThkz-{cKH}o!_ep#Lu#8?q TN#3@~00000NkvXXu0mjf%w(N9 delta 308 zcmV-40n7f&1Em9yUseGyNklbiWB?l}U$ArV{1geMZ7H1aeG!k=-7D z=7NL}m_?~sZ7H|_oK3epp45;>LNImHV&GL#X>=3BfWImP_W*GuPn6*9ur&=LDwj(^ zuLnJIa1Dn7c>PS}?f_u=hmBUAkp@oI5Yn(8Vr}o0D3eIoU1BQaYwR%!A;fYC9 ztJ(bL`Z1Wup$P(q22A8ogGn4}Fo{D`1%^57V3@-WhB@qDm_q|5a%jNBzu$o2;Fbf{ zU=jyze9d7j0dpAFh6AeIN8~`YkHn$&kvKFy;={@BllTO%j9x>^1~bP10000O{4lEWDdB1i500mk}L_t(o!|j(bZ`(!`fT@AX zDn@eJjFH>Ti%Z&_9UoC-qeGo-HLb0pkSqm7(*Ut0wSbKdv5%vNlX*YDF2Dfs6ci}> z3xXB}{2zh>$>7N`Y7}ALyCW%5q>Oeb(4hw;uyvo_y*obM`+uxy|Hdd8M&-JB<7T~n z$GB#`UN_BpeJW9^&k`8sBtc0#g@&f#;e?loUYjMj?it12J6lW5$6(q7e}vDxfSzNSIv@!&sFuaMw{pPjI7T ztg<5n%z1z#V1GFZal@z@Rjcc9nX2g|09jB#)imm6hlyLx?ENF@S4ynHnCa zt15yyp8y1b113h4GTt1)e$<#r1Nw^x^sBSEb+0K}rGE%mNCTRqw?D7Xy<&U}+$WiB zZ1wNgUp`;wB3UB~l>6|Sl6bd0P1L);jshf--L}eOtPdwj>`)a+311m z6wia$O@A?hGjvMuW-K^Zg-Jz7ijXBCC;&GtV&ehnu9XI04FGt9tjwwd#5$b-$Za52 z>V(+QN3N9yAa?)+hgB-cM;XAxH9XIwjRY{A6z~Nckr2M`v!}_&ZVD)W57p>F1Sp<_ zNCVx2s`-9YUF_)^RA}cLjiv%HRc1l(GBgTVPR)*tMJe+%Yg)H zK7XzugstiYfk)wa7`_X`t^)4CyV?{_qUTE2nfC~1FT?OH0z1Yh5Wo3^#77MP$Jy{y z0%G(S5)+N2Fm(8=b{fhg0$4-vpa#I99S11;o~UgE--cHwLC|BcyN48OCwZ1z@LP>; z{161e!{7vd5p4~&z>_EWZiqY9=|&KoD1X2Kpq~Jn=f6Y2V=h2Y+LM63ySp1NLEnag zMz0XXn^ywgy?GM@`sPKdbZ~WiNDnSvBuVP&;zi&H-$jQ`Xo}N3` z5%k%o7uWY*syo_$d|a;w<#v%C^v6FA3iV(>$G1eG9_Xx%dVr{x(}Spg!zE2upnucz zoF2#si(-Ub)97NOpU?w!_}IVav41;xJ;?U&0zJs~?;<_O_U{5cNcV5INDn6ZcTNv- z{kxI}vi*Bf543du=6OAkCkg%g>(>GFZ=Tl!IpC#*0sWij^+1JqjR5p-p4S7l4T{7o z+oJ_~AYE$&m&fylt#X*u1KGbFxPKb3e-{Hid0jzjGs4a5fhPO60&X|moE~JF^KE!q zlX@@#@YYS^3IB0We0jj4J7Rf7PZt_J|1A57N+t%|){(5ZS*ikdqdXt5qB0Q7)Q z)dTZy>j6&zdaFne;`;)_J@8hgVBlDT_og9H#Xk_J{c0l>U&>1LY5dru`wU2a!L}j6XPOJt*{ttR58lLq-n@ j{UQ3x?SFsx=i@I_skv^~J`U(K00000NkvXXu0mjfxd@_; delta 1421 zcmV;81##dElzxKHQt)>Oh2-FqV`@s&_huyR z=+Bx`DD=<=HoH4Nz4@ajy`QH28&NTgsjJ3~>y5@OR zg&dywDP=$*(Ts_YB~axfB+RalX{@O+aNCtck29lUtk6RQ%sGH#U@1;<&8QhQtLrnd zRMSlXdtL%H(|>4~9m=0bV17Kul9;2iaPY~D8TfJrh^ZV<>((se2IXuy1{PC5&T%8C zInTR%)ai7-7Qoz8W)al^HI9Fx5S+)$90NE_^75 z3g|EIk#A0C*ZdaWti-^)3TUq0{<1OqnzAu)HwDBtwtxC}8?RohF`mwm1*-k_Y2($A z(OXD^SORx*d>e53+Z-u~s+-@>L1KwpF7wic%|K#!51|GYdRw!>i# z&$R3*-NL#yEeQ};+lY=_IR6%Gv}xLl8mw_?o**0FaGl_J*iMU&;0)agJQ?#YR$*EZ zg0k&J&VLC2*Dc$@1JXT91z-*USkqpfkq3x%ngi^cKrAhqPNNP2D}FKv z`KhRM!a4OfHGRlCfUNB&)sO%7#HUseaM%SIa^7jv{ebTG2edE7_5#eqe4oQxOK;k6 zzLfR{yU`!RXj@#|`vBJo8+oD$!d|0v`(ihWcB6}d0O|qG!MP*r1%U_ASromGqOJt) zz<;ya;*aC|O4g|V07oyP=p6#v#%GYf_1I318UTi)(TM=~=n*W8H`Bt<;kWupBo-0E z9Gr!901liaK{fDseLegxx;zfU9);cACs;e_z1)Itb+Z0L7>4)5WB9_`8f<~3ck=xZ zcdV23Fg%uk3qU^wHqL&Bg2%N0K}b&k`hU*OPBH~~7jan{I&=*!2EKp$HUadFbER}} zcDzaV&R?dB)Yale;1HihSG_6=40p~ajLCe5Kc1YqR}tj-=T~L`LccP>e<7~cgKE1> z5BlSegHk;hq^DkeTB-*+ZKEC_>KF7t#1PvuS%yx}3VI+iEbtL_O{0sAKBosF2!HnP zIqctVQ4d6<{kudDM5O(@Ob@h7|1Qx3P3hlWnI34_{$0=mE#JTMdZ6X|cU})PwSTjs z9*C2K{{8Kn5c)SO>VXJ&Xd$3~v!Wiz6mJlK{>_SdAh$t~cuv}x`Y^?yJU{aXSzTV6pAl)3@{?p9t8azIfJ#!<)K?3L+( z3N$C`0aOhFY_c8zfPOGp540NgZcZlZK_zbPaG>RSAOX+=Hc=1EzpV#M0rbuIb4Cx6 z_XT?YC{B>k1AqJ;uMRsRM@|p?6(JZHtMEK+7WDuPLkNbZuW~?&dO%{qfPaP9cQ`N6 z10n@O5Vn)k1L+S!Fa*(bvU(8vgA@$04wBac=?{L|TZ?)S`@<6zQ1l@22kxXmRu5u- zIJ6buK-Gi9AChNN_(Mhyq(9inEfM~p>Ot%e=`9of;Hr91>JM2xDD{Vo9+dini2wcJ bpTu8Oskv@6IS_*Y0000Zbeo(7Er0uaCP zhye$*hm%5x0D~H6&A~$e3OYn=1%!6M0iJF=S}6z&kSXVZa>xk|r1HhR!_)>0AkFtW z2j?&=xast5%yo{&or)~@Y9Htf^$uH!1 z1ck8{G>QV^k0Cz-e|Q9#-R&E1gNO!DNysC-JV6q|cs(vJ7NfQS5XKiAlpdeoF857B z=yBlB?>8nu7&KaaB7m<)7xE|~tdUA6<{^ z1@~A24iv~QY6J9GS*}8k0NR1F@^wj(5Xzx18{^RP$UoE$O@L00000NkvXXu0mjfAsFXV delta 563 zcmV-30?hr31)BwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rW{kK~zY` z#gsiy<3JFGmtvh3T@)nf?oOhINKi*Oy4FIsiCo2vjklyhGJPVaM6x%Yii*Y!72+4& z54a{R?BZP;yt7HkNR~h5@x1ShcTK)CylBs(6aiMBZ!#O8)u(5Jb+8*q1p+{);jK$z z13Zs91q2{rr;!2<7!5CfhZq57EihO^fB+PXiPQ-QqkscEZ!`uu2n>)e*O6AhnovM4 zUpzR3^q zI0XO>O9zmZXEL8aWqk{pBoPU3pgab+16W-jT5p3$W}rgIBR>Csi8zFtkG#CtEQS_9 z7~gQvargLgerOZIPtZ7=V|TK`^2MP$+Q=feCfb|M+p*{YoYdJ8> zAZ4tvP)zH38`?mBI|ctl0v=SzFRB41tghc;jsQl1vif;T5ffTrD(%!U30DpUpDDuu zVU|WS=fc;ko%VmETA`Sl?Z6_efU zMZFjhz2{)x!Gp9gY~CVJS(2DQ2%%)0-2^dt0qejX_RHkoo#j*Nn2UL^Q-H_}ocDjA z&K2V_ZlX<3>N}+>8wWV=3227)rou`{2hcQc z_wsTVX6|qg4mb@23O-! Y4NiPXkrLT((*OVf07*qoM6N<$f{;6@3;+NC delta 347 zcmV-h0i^!J1Ed3x7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0U}96K~zYI?Ud23 zgD?z3St~^eisJwO+v~JY$|g2lX>Y?11L3nY37ePY*8c?R(#j8^8uUs+8<9vjuu^9P z+6Wd2cSwRyND^5()YEOJ5t#rH50-8PHh>5Y-#ymh4?=bV^hFA>1ab&D5%j&FR(CUt zG4cTDn@?i5YhTHKAWYSQ4R}ykhQpif3>1n)sD>bNVSNo_8QBD(?r=;QucobfN=V11-cI@5R zFj5jJ{xbhJvyO!rD$2yP+%KY|1LTPVbkko%l>?BYqpn1#gF#qx{ zCqN$pz1zpXz~gQ8;{MEd;cd7V=L27!IELJGjcjn`i5Or%fPyu}{{ z0e4sa5?Z}MQ*<5g?`{}Fd@|Ryd3%_9fPljEw)ODa&k)cK*RlC^>jMJLKnFjsxWhVE z37T8vnE0CcN6{B-wANkgpY}`b>9qsc<1wIMW@+Ug@FaSLe}+C=kv#r&pL#nhurN`X zcyynFMRU4dUoTSwxc}~=wT=s=Xknh91UM|B6VAwa>gT%dsCP=FvI;3Sm69?T%lPC^<2Bs)6^C@@N* z33{I+u&7XAvMgdiDQyCv4*EQ+=a7X4&=y%&rhNjy0R_O=zjK?;i^d$WsJZZohrf3N7G(g5|^Zi*BGg)PZDAU!S&x4uB|saBMc91K@NSw3jj` z**!EL;HT2S_1oZTXypz}>2-JBWK}0*QL-YG81c;b` zPW(cEYyzMZ;b~9>F7YD|fN@dmq?BFj1N{`>s6PiGj&P1Bn7y?0uLvXtg+~9jB)$9R zt+Rs_SedAt-1%>RLDlr@^~E|ffd6!>);g{@*8>X#sSv$Ft$|Gz0^=0;g$5XO!ITKI z34-%&q7c9)tf}Bv8;VHSgtgY;iTg5{CvaheQzC+le$F+ww>vFzG@)J(&x6RZ21Wrd zdbB_i0roIg2ui&I3^yB(0mJRgSLurl>ewdsuK>dywE_+*Fc^X4Ma4R@i7_Dt?5BiP dY>=@cG2*e1GB#}W-5da5tNliru=LQE3EFr4I8hMeAU4QW2kN@}Hy>~cGD_8}A zZD{Llvj$d0Xf04NF(JT|WZV+b!+4w2rOaxrPbpnN#t>mJDYGJ?CLue!>8laAnj(N% z5z&xHlbIO-2d#|Q&WU@hM^a=XVzFE?%f!6_Z>GfaM@%JC!8wuD62&P%p7AtWGbgH9 zkX#~)vtly<*MHLw3^7*3PrRAc+sGxJs@G767(GXRG->XnfL@jeC&)q;2{`29mVs2l zun4LVpNT$HQjUR@WaY<``V*4yiOgi93~WnDE3h2&kcoI5@G!CLKLauLeSbfTp%(!o zV(5>*Mt;D!h;IV|29~;8`&o&`hOT#kBPG>RO19t)hrJi{E5}Ymg%@#8^Ku6%8U&`-~;dcbR zNk%|;FE#xN1YoVbNCg;+7_%Jwi(n%dr?C&hZi}Bc5 z_d7!^1oT{d*y3dV-{7z`L(sb3pH$)57$63eaAhe_SQ0m&O}_i9CxgU2{8n z;^6T7j_Xy^C!em)+`9<+A5ZsA1t4@+`~U1;stEQMR6<3K00000NkvXXu0mjf4%U>g delta 882 zcmV-&1C9K|2+jzQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(u&hg*N>-jDzP zdw1_3tr!&qv7xPx%^E}%p|wE8#DoA-l5tB!594i8molrhKBaU88AF62q|AzlnuP4^ zraz6q)f55Diin0phOEp8IA~?Wc23-5Jw*_-5wTdVm}TPLfP;yQ=Z}~wrh;=K>m`a) z3G$4m)tWg`%}jEMD9)PA09=1hUoga2nf%0?S-*{3;;H%>3K65{$d4w?ofOc^65#|{ z$RYuUTHG>_N*ESFHR3bThfc~KSV>lXJgGk+37^PHHp;-Zl(YiNK@XXT*8vX`%lHb8&>_<~Zu*9v2? zPqIdJr`V^f_nNip1GW~>UJrh*nOl3p8w22M+yIP0uMU9C*8yR?Tdz7>wx>KC8}r)KMF4I^lh`iozvqd4Ft@eJ412ueNi_9Y}+@R==UZh(#; zKfjdkAH(Me&L$ZF;l0%KD-eLS_97KvEMm-Z@GpXmV4TK22)ixLhF3}e^chV0CPAKH z99}<&7xSgNcg%(h32><}Vn;Q^y(AIPDD6+Dmw!EWoOG1KNCC-7m9dz^WsqmR{B{|G zZ+kk;0Ukd34myF2@5?RjE@f>|cPXDdQh*7ia8C$Z9Rf%&77mx{8Kl4uj0sP?QGf;# zRQN(k@UaBmqGzD*y}{YYb-yiX9L7>YNI;B##{e|2ou71fI;E{ad$yc;0z5>#GyyoV z^MB(sD70`&)wdVQtNtsMv$Hzx*P>6SoeTJ90HOsc(bJ%XIL{mN12Lhra{)%}>1PSJ z01Q?@=j;m%JZzaVYKIEY4-XG>3;Op$sOizEj0|}9^=l63opV~4UQYqqi}R1GBK6XE z12BQ z0003(Nkl+Cy!jQ#JTCPsdU<(lGVx!2vS z3?{CErERVN%C+CQswQGQYnTI=`9oe60AzC33(#9SWrbbj4dY&b-U4#-iaKqAka{O> zN`o5GgV0KN!$Je>qQLR#=iZ_P(6L6Fp{x+miPGoPKTH|SmVYERtC0JqK-AP}pNo3m zCZ(z>q_sxSzH`@UUj^r@D$ao08#hg^aXytQ^u9|fNG4{1C{@}UKE{j3$*s>YtHVT! z#C}c;N_vR1*^Vd~CkAu2eU3HB-~2T~Y&iYRoRb$$zv263ARPNIYF#2QcV~eS17LP~ z08HQ`0`uMjV};OjQ#JT zHtzhims^U5^-*_=GMKmumVJ8#P;ULnRSgm2S<4*2!e8>L03egIUVz@xDJ$$MZyEOj z^cIlyE9$fjLh7AZmj*SYCt)w)4GRr$hyur_pL>fIK*t>W3}uCgPLw{T{$a{swtps3 zZ$j*w0?|;XeJq+|o0O`mkk%SO$Ie}+eHL79syG8~Z`?e&#^qe9(EA~&AeosJqEu;b z_?WI9XSY7WtO*k-68kwbDCr^2W;dZ^ni$O4?m6ZpU-@f-*z!}^pnBo*8@^u#!nuD` zYmC6${Rxa10CUg-U;-ZznD-tSdnLw)OG#bu!O3=dz(?ao$HykX$M^9V=Ami_2o8kn(4h;S!2bCC=Lf3lsH6T;wbuIl zVy-XV`-k42`>{#{_v&em*lu@w>Ro!IagT^l0KO~5qp3C$WUkfte+%FQ09ydz6`;sD zq-j?GdI5AMH^JF55c^R+cd0mA#XVP6P@G*Ofq1b1^@Xy74A8lU+q^#kU^;w=6HHGh zlXRB>l^az-#02IpJ{x7?Q~>DQT}m{DcgUnkG5czoD}oh4N4bost<~DP1z?{(d*>>I z@DWuSYogE98~Y+4Yz$3|h&GahF|ZOCiSEoBN#yEaEx^RorGtTt`|UIV;S=VgXMmdL zVX*Vjt=#aQfMC-@ZNUQXDE*U*g%F-4V6m`x*aO0|Eda^mAYGO`4yPT7qyE2s0G5{k UK>iaI9{>OV07*qoM6N<$f?5Kur2qf` delta 381 zcmV-@0fPSC1Lp&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0YFJaK~zY` z?UJ#MgD?z+Q}P78TRT)i3M*=)bh)R&Qo8pf@_eXk9_s7>!GX{lZnyqc68|zl*ijYOnm|9;vynPh8Q`paaEV$|558$s%wA1>b70t_qg+N*#wca% z0+3Ii-MI`Qd_2FSS{1~ZRtc!zTWf=P$kf(7a!3b9xS;Z*__3yX(6AiUZFkUS3DWy#}k*^xNn bze9*0mX`oP^b2ZX00000NkvXXu0mjfM@gql diff --git a/graphics/pokemon/salandit/front.png b/graphics/pokemon/salandit/front.png index 33f5fa26fe680a6806b0ba2f2997ef77904db2c8..fde28b78c6b7c9220acff44c26b819f0008c5ce4 100644 GIT binary patch delta 533 zcmV+w0_y#P1^Wb$B#}W-e*gz`Nliru=LQE3EGj(~!|?zB0p3YOK~zY`?bJ<9<1iEl za5uR?Ver0K!d7<%3%bb?4iLfHb(KiYhLtPjaf99fG@27|1$HH3=gk~o?!t4@(0p}2 zLU>WBe!u+v>b8%upY;va>}0eR>F^?2a5wK&g;+#6)zzlmIZJzWe?%t;DEtDwhzMyp ztD~nQKm~wOt1W6aaYhJm0-aV^9sygod_ml(GG|j@g}D4(I8|D!j{x`jjD^C?bZ)BC zB!M?-qt`(nl*>QVW`TG;^=vS`4?{1DIsGF*d22Vc9qdrxtAUeo~g+p`B4T%@y^ z#S3U7M!?DZ#ufzjfBU@KLWECFS}kq%0c}JVL<+ak=Im5H2GB%wLFho{nsNEK1K>?W z54gfneFpChs3WLJ-ANGi<^a+Gh|tv^4A#o?0M_&RjKlXL77a+>30xD{)u0;w?0M?_ zE&u>Sd;&ny0=VQ4;Pv3Ily*RRd$%3}o`R{tKLYojRv*Ohe>Z^C*9p}G_yC?HyL(?z z-3KsiGVwgAIAxm?UnNu@w7_D|jp4tjlz2l+kN*8aEoPu&b7ix|#K4GTh5>}Dx0x6N zX;mre>7ZPh*>Q%s!dzjPA*I25+yNCfE2Y8-hMCRO)QYuP-RvJUM<$zz_0M?!f7d73 XQ@jdjPy&ho3jhEBNkvXXu0mjfZ}a*h delta 538 zcmV+#0_FYt1cL>TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o+MMK~zY` z?UXTY+b|S{Dd_@ETkbA_knqNaXuN1_4j?3N^CSV(l8FZNas%I>MbQ)V3f&wb8K#iAtdMUj6Hp!a|L`HOAbhfm34MW5XaI(6!H36qNA6H26$w{lFEni@W7z3%ogR~WYdnX?Q&_|4c&_Gt2 zart-z;C(~{xZ07Qz;h3D5mZu-5(M3xfnoxr=(-1ko$@>YyH&Tx`MrpB4;0S?d?w)7 z0WF(|7v3KO0AL7T03aU#_{1N;>)20<5m0=&+f4ypfa!og1l)U43}o;-0EO=o+6CYR zc%C2ceM`O%z_es_?s?vF$~ITN&B>osV43H}@b_fp-jJp~efVmffX>W~E!S+WRF)Wk zaP+nmb3j_vi0<#8TvOV4hPlB?VfcqM2CI1kGWJ`g!VZR+{Xz$pX|ugOEi`OdCe!Rq c|EL)I3)xe=3aR2USO5S307*qoM6N<$f@7xjod5s; diff --git a/graphics/pokemon/salandit/icon.png b/graphics/pokemon/salandit/icon.png index e0c6309c75446da9653a1146c2af91ca572646cc..151ab403d359a32992b35e0d6ede8aaf9491dd5b 100644 GIT binary patch delta 252 zcmVO{4lFIBa#m6R z006g1L_t(I%k7de62d?TMY#b(YvG>Fqj`edBzH*f0NYrk0C5~yj44w&Qofnb0{Z}d zuW$=YzkmZKL|1cxHG#31DPG?InP*|eDHD8Sb{G+45t9Hd!F9|QkxR>_(SqBZ$}8H5 zxQ(d&9UcljB^*~#JWDitfLKiGPgfJdb z;Yo`y&(NwxnD~`+>LrXqpAHwM_z}Wv{0LzV_2U7x9H`qZzP^-|@w@<40Wd*|THnReY9%Tw@Bo!0Bd*BJkNtcorcovx0F7BbH{j!j{<}s! zP`-g)n9v0~A3_)psqpYV@)YI~niGUD@hj=nOBjW=^w>|B&W{jg@FRrT)sH*19H`q- SF=_<>00001h52HvQL&!BE2S^hf0zu~QTmYa;dmc zqEo<5ppQLCXuJkV6u2b#?Nk>)*Qx=j_yRCL0Vchx9GAB)LwJdeFhBuX3mm$&UB5DJ z!)95f_p=ijw_%6Le-22cmopt*+G+S&>pCmS=qzV|47~*un}FB=Mib?)0lNht+X52A z1U#-1Vw%zCIdM>f#AO3`YH5i)+^6=P1mHp9 zmIAmOUqrVj}8bAR#FWzBVZd zuB!P;`A(uFEa(7eVvpv^*2Uz(7skmy{a=3rHm{k_{!=D200000NkvXXu0mjfHdDNs delta 470 zcmV;{0V)2l1iu83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hmcdK~zY` z&6Pb)#4r$rV}%36j+-q#_yF112f)s3v7%f-%^i?9%1S6b1vh}xk*pI#))S{dNKBJN z^XbhS|4fR17L0SA%X0w$yjsu0CDaF%p*Fq<0D-Pi>S3ml<0yM zPXO;djzH&0Vo<BC~--M>s?&{L#q~)77M`s1i0#a?S;B_8KYC!N(&TV zjKoW~Zs=E~ZMdSS&3<;G(l*@q$}UK4mU|jpy70k_F-=ic$y&~T02yWrC^rGQ0R$7( zuK~9OAm0Kq!~`5y2|4Z2#}l28XX<#~0PcHQg2nUHzmdRvO!yiQns5la{++B5nvfpU zD+w??1F-vSHh`W2gbFuem=o%p0h}BMVL<}H<#@GeK!-j%NsnR%dRnPbf}FHiW0W8P zXJnL6l!dObISHXL>-k7^gG5DGFcC1s9A(-y<>a9&t*3ume-lOV1vaml&x%$^6#xJL M07*qoM6N<$g3Oi7ssI20 diff --git a/graphics/pokemon/salazzle/front.png b/graphics/pokemon/salazzle/front.png index ca66daa78e74ba92f514ecadd02f7e13ce9fc836..b127a7c5a380fb243475cfcadeab08d348718f99 100644 GIT binary patch delta 766 zcmV(*1K~zY`jg`G_+b|G- zMF{ZZA-o0!I`T*a9%<1Dj4DedqHoYAXi%W-+y{sQ6pFVNS?pxVW-(jZC18dE?GnTf z)e{{XvLgx6AlST5_kYJIdf~(PUbh@jbP|9PMVA7U31Wu|$PP1(f3gF}KV$%+!@|)w z1Vr5q9G(bNUBD=VE`YQPMB5q$6CePsZ4Cni$<3%0V5DD~D9+jd(l7NY-E9hjyd6*? z$l0J>!^+Zms}FlC?i^d1hK2W=L3!KR5&>A{k~Jyn&8IgPPXIL4r01sYM;2_bMqhhn z=`KvR0XXM7z+LGtf3&G=R2DcQ@*N-C?57SP6F~iG%y#wnKl|A&0iv=%O-@?OR?z!j zXO|OAtr3Bws)RU_x(YaQuB2}TN6jz~XYm%Gzqs< zs^%pMVH)KGu-ESLZXyI4(^ydn2kvIRAVBG601sU0+$qh6e{5nkKl*+H zuzFrn|113MKl;_~p*aMV*Ahp-@p8F*^Z{U;(uiUkbU;c4J;4HiG@yp{nNLS3gFILm z%4(FhmO@O|PwM^3@yc^rq+0+-rDU!B8O?Hi?Qlf{gmtH?S+9@bKFOi|_J|E|nF!N$ w#|>pHBGZ1yNpd;qxJ3gH>kdFid(n%Z|JymmfEU|a0ssI207*qoM6N<$f`m0!X8-^I delta 777 zcmV+k1NQvm2Ji-uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?A24K~zY` zjg`G_+b|G-MF{ZZp}ZOeI`Sw49%<1Dj4DedqHoYAXi%W-+y}4&6pFVNS?pxVW-(jR zC18dE?GnTf)e{}Nk|PP#U|76Q_kYLWe;>wQbjtxnCjlr?bSXd?BX+2O^f2WpJAmwc z3LrWx9DPMVRPDgwiNL6T3mB)+1(0@uXj;Qy0tBEjtzm#5xgNIyjPy$#glQW<`la%o z$TkID-VQ{<%h|A9!^YBCs}DYWhG*E)G|d0L9u_y9E#ZMpE?JYJ-g16@{scf%O?q~2 zzo*^?YxK2O6!u)FJAiY(2iz6zTW+Q!rCd#hiqyKF7eyE zSlTNBqVZe)Oo5Pp`D$WIV1}3(+$TUtyPD*73#5Al8&0LoPhFlv2}Cqx^-96~Dw^c^ zk$VD;X->r+fLVU3^a#ajhEcL6q7rR5w6p-U@_XRTiU9Y=RO=DG%K^(iV(0;rxO+oI z>;KvTr$SC;8Lhy{ie!#d5OBFA#vf>YsRUpICFJ842p%qfw<eFAt%Kz`zF5YS(2 z9nmp70TE~dG6Kqjhn=UfDTe`K6>FunG0D9z`orxm5K$h4u?p#%M4RllKYrW+f%eKm z|C_jR=Ku8F4q(;1B<|L~_8;A5_s|?dlvNT(!0~#$esmsSoYIJ*4j`q19&Z6aYKTVF znNP+jz1&-57|C*!YD*!c>nCw;<9O*gEz%mmF^XiR{Ta=2b?xwo1_-N8m9zfumEnNo z(0+S_8n}#w?z-bfG8BPsmD8Zg`u1o7Le&ANp!=q;JVEdm+d0L63s^|t00000NkvXX Hu0mjf&wFMP diff --git a/graphics/pokemon/salazzle/icon.png b/graphics/pokemon/salazzle/icon.png index db4edf2fc30bee677568c47653b13690c3e1123b..62187a5426acadab796a7228edafacc0bbfa45ed 100644 GIT binary patch delta 284 zcmV+%0ptGB0`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lFh)7oWZW z007oWL_t(I%iWSO4#OY}MY)0HwF8_rTa+Q^h*)x_Y*7a=9W(GtS`~1%ZdKWMSmt5A zF~7YCmwjSUAhC5CxQ7D7j}$}!wpLV2yY&@mv&d1kgi(N`bbrwvCf%Z(z8_3>358_- z*w8+K9c{JZ7*}>e&GwkqB;8G9$Hf7mfq9=ehbEi%=!e6jo0njSm!T>5S6_D-GsOJK z`nAB|5*UhIV9vwry1)b&+N1?$E%vpb1jZ+ZNwwgZJe;BGLi4yVkSoahJ1{LlfFJID i?cZ12_5Xj7j}<4*8KCDP`v|N600007sK$ zel2Owdtx+W6jJC+gTXOboNL9_Ph=Cew40l9y4-}OA1!liU~&kKN^D_ESbVqnHYB;9 zyX7`CmHpdSj|_lskNMyAG+~Z7O&F|oBFuhRsvjauWWc!^6vPKgwLpaNnHX{{*qmnz zShL{JkHlOmDB%#M8N}?nx1X->lkEEcfAHf2&KaQRX)Ne%00000NkvXXu0mjfA**#K diff --git a/graphics/pokemon/samurott/anim_front.png b/graphics/pokemon/samurott/anim_front.png index ee43614bfb256e15c7da5c346987a606f182d57e..646801fd1dc5711185d915ffebecfd238bc4f4c0 100644 GIT binary patch delta 1386 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 RLOK8d002ovPDHLkV1j?lZvX%Q diff --git a/graphics/pokemon/samurott/back.png b/graphics/pokemon/samurott/back.png index 546936e1c240c992451d6d739c8ad30ddcdaf29d..e7d04a5996b962f49dded292a76edff2121ff04d 100644 GIT binary patch delta 564 zcmV-40?YlV1)2qrB#}W-e*gz`Nliru=LQE3Edc+vJ7xd?0sTotK~zY`?bET2n=lv$ zaKn(X!a0HNBver&qz+v!RvrXL-eGYvFrOEeEEU74QpfZSnzzV882lpbQ}nYT#NfL| zr`xK2iiF7bp}g-vVLsZou9Jk{iH-X2_Gb05Sv6oB;pve+Ec{IbZ;;Q~Imq z?;w4g56O7~fDn@ChvL(~1)n%)8@kQ|lqODq1`K|bYLOBrKm$`7E$DiMUIUy{&hKdM zzARj)4~9_U^iyi82l<^d!qBIbXu!fb@P~`xkZG_?oPhOZ5i5Og1J>6?WCj$|fNP&~ z9T6-}Q(*Nu%Q#D>f55W?I1hP_W`H|jI|1PokXs<}A}JAhU;TW!=KHB@(I_0NYp~Zl!_|U@JV;76Y&z2K!Q1dIVVMqEf9eAhkeV z$*K#GsG$`rbru44GNso$+;8R69tl~)oI-(+qMY2}b0wt^f6^?(Q%1<86_7Uopv*$_ zJ#;NG#+Ti~jW}zd%wBpuI9UPTn^Nh3elLfJ4v+l@4M3=_e=ohthz4K!hx<;L|MtU^ zEX`ThU{enV06QJqjW6~fz8!{&y4~Ii&?18K^5X?ywd=6j+h4{4vWs71LiP2z!_K#f zMi9hp^n7yqDj$9vk3W0hwGiom-^b%10u-VDHK{*;3OJ3nHL}G30000Ay51*ip(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s%=xK~zY` z?b9)jn=ljyaKn(X!a0HNBver&qz+v!Rz3(sZx4%;f%&|!WT_ZVl{%*1p!pVA2!p>! z`ziWtNMi6^qtk6wpCTdhe*AehK>p40Z-Fp*Hz?i(k{iIoW(dh!0Gj}8j)4Do1Ej$e z6bPeSpuivJTBOVg(7@D63%*>C z*8l(qxZ}A4e9-BGVVpVrl$+{7e&>uZ^f_l56yX&3!^L>WG?*t&!1BC^g+90e%j+UC z1J>h!Yac*I1heB9SbZomD3USo>;QleaxwwnfXxVmW58~K9N4UXHbA@rvS8DLc>OX6 zBdNp$6qyCulT>Ce$hTDHIAR%F!J@S5gWg%|bi`>Llgd z3dkD-SY{#m9=hg#l+yEV(MFs!P-ZVpgi=Q<;CoXl9nkOP5Yf>~|3L#3s_WlNuQH;c z=l=e_6Xw6&@FYuf)-}}B!yds_Pu5*t>_L3n4;6LWofV)(gy-eQGoWhQQMI$bj2ULH ze_ax)ug@KIzD;rgLEJ{qN2mYc$Kmj^2VRSj4)}dI3?d*K5&2(M5%LFr3OJ3$YgwiM O0000EPCoppZ$MMUm$!f4i$>Np8rHt@K3* zNzd=z=lvtg`X}SXQ^0iiYydwC7`6d>+0eTnPEoyxh&%zTTL6d+z@A%=0kLr?+5iSX zS9ztXi#d4|uop|v!vg>f0l2t`mtDTFdDwDLz$ic%t`WK7QCN^e091tDz}f4F%eGzu za?62;!=<1)CvAU% z1j?T;;2ylC)~Z=W^bw)4I=kg-xj`86v$}`PRfi@P@&N}RcI!YC2HHXUuY;padrXl; z6(CtK-Yr{03O5KHl|X^UvHB%C$9n+kGBp~YkQ@ka@536ve|gm0?eEwn~8+hnt=bTDiMumPG4knX4L>4Ka7rdUjY!u^+_Ax8&*0R7bn8^ z(mG&Ky~Qa~e}QGuYXhBgsv6xGU9JG=r~Mjmn&Alba_D&Q z-eVO|Xh8TS;3{2tl)w#f;e(SV`n0QFL;@ZRfP2tsR8G3^>6NKbJ%SEN+^#B8={ZrR ziDQ;Q)w8;hm-PMZX9{{wtPkLMA`(rUQA#^PWY(`+h%dPYw1*=S>wlQ|4LorODI^Sd QGXMYp07*qoM6N<$f-bEn{r~^~ delta 745 zcmVOV1ZP1_K>z@;j|==^1(6{? zEdgRnM@0Xn2lB-L00M_eL_t(|ob8f7Yui8=#s#KY1O-#*r0L++(BP2Cn@y3ZDu4G> z{S6^Qw$c}4Bt5@-pXc5?%laql#Z$n1{A_?e3mCTnXWh_k5a*;GB4AGd+ZF&~18|ns zV?dZYWNm-~U{YRUx=^x50cW)a-G2a(F#zZ1;o6ofNBS)X1STG#@SCtp8Tc7{2!Kk+ zTUdJ)NZr;8K<_0Gp}%SC2oR5ID1WK7(Cq|pSpcBnR+|d7<}KZU_EgGMPGmy2#}Jr& z1#u93+nluX85*F!T*1Hhj$4~%ir^C=Q(U{3TfHL``ir`UBXNg$t@J(hK(y;X;Csfw z_;0A6&d1`bKX%Zv3}n`eN7EuJX{r7 b|0}OQJaGsqKe6nW00000NkvXXu0mjf02)H3 diff --git a/graphics/pokemon/samurott/hisuian/front.png b/graphics/pokemon/samurott/hisuian/front.png index 65e62201c5a3c5d2a5a73da7bdc5733dc96663ae..2a8099c0fc1fe5321bdd72922d9aa76e724e3d7d 100755 GIT binary patch delta 995 zcmV<9104MH2(k!}B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3Ed`I< z&*=aF1C>ccK~zY`g_S{z+eQ?}Cm8Eu3KcP-hvXty`w$4GGR3#WSh6i`?Y@Jt z{eJU*f6aR{Lg)?ppBP@s&uBl;m;ll6_XFB$f)E=VszKrgIRt2gF#oVkLJk6;Fc};K z{NX_hXgJUgm%y?JK07aBeekcaqs4-liD2|S5S#x?-;yHCVo zLSFR8Z9>N2!L9JteXI*uMk(L@DKh z*uwfeCh?ulH%*7q50)i_)q5;fq`K|3ht_YY8vq1E9#JS+kD6bW;GZS`PpXF*FEcItSoBs`ZkQ3(K96sR#hxKOnLGh$;Y{^!NsV z^t?Y8l2E`ff7bPk()>AU9c>x%xic5S1P>aW>u+?O7Xs_qrZPrY{2e3YrnA`$^DNwH zoTh+uB*any7npO7Q56U^EW73Yap6|-IY1ZdA89q;D1dMgA+91Vt!I}G%?aj$c{j!7 z!P)|p$#3)OU@||HldAw6(9#C1f$!gQ%3m{YHC2#@CD{tz*rEC&!frfyh^O^qHOafDHB>`fTfsnt38JR(KBHI3i6A-(- zG0|A^e-OG?0AAZ4IFyZdfGEpk`xO8g5Z7qTw!pQU55Npe1dP}c2qw0_v9JaP2*XJU zrYmnXK<+K^{H+BgfV4;ma5oho?sB#{{Obzo0%5`6GA30u0={1?yw38kU_ R#7_VK002ovPDHLkV1mX3*4F?4 delta 1059 zcmV+;1l;?w2=oY$Bv%J?Nliru=K~H9AQ1Hb8_xg$02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00WpwL_t(|oQ0J!i{nNV$LBCsV*(Lpjudx|VC~`{n8@UsC9qhy z2wMcf=Bfi<*c+d6kqd!61cS@PO}d<65c&dvz>-44B3K9;QYqkrL_{ppgkTpT^BMAH zBzYz6*?EPr^?vhzf6aR{M(7RtpBP`tf6s6~(3%6$n(YU)?HnOCI#h#1EpiCZ2w?{* zC<$^90EPLX3P_uc4_ZLuk#@KQmPPQ{*nFh zO>8o?0ceiy0W2cq<#5_1WC|YaI`AR7CM5iN=yj(blPPK%waz~nXg`RMem?dLf8+0G zB(k5*?g2kiO1U7mus(@Mbg%Pm)1mZt%M!vGJQZ6~-}c61>(|5$fUvCiL}0n=ja~`p z4<5(P_uu@ch==9^gFwF!iC`KV{nMLIoisjaTc^5Zna?`N929v~u3`2XH*sv8=(-dc zn5H$%@~vHyk8k2%tWx9^SmD=@8F2Y?0`8iX-j0q_tt2Jys&<<7)Z1OV?I zkw||+6##E~d;>soK3oY&C}14vdP-^j9*v&13HZuc31NZtrouCpIWJ>M#TU>zc^BB`ur zmk!Md=7M=Q!6Wp3fHL`QRZYvr1#)r~fPGrofDHKd9j6?&&c9+ErBRi*WE?h5*PjIb zoOOs(muSuZ4RjUUC(KYle|ZyO_|hCm0kAz~ID8-Q2t0OeLjmOz#zMLSeB0kjOBZsnS2?*0vwqF5|0db8+><+kgfAaxYf(f4yTLS*v zp6x7TzzAVDDgI*XZAZwxCEo1Lf)YSlCO{4lM}rZL?GW00C@CL_t(I%hl4cZo)7S08szI z={mqt)k1s#QoMA_w`3`uKy;uRh|NPqzNuS>N_>Nb6gJ`zDR_u-y*O?Oom;8(;KZl% zlK`&h`>0+IN_Lg&_CynnNLgmN;!m%l6ssXrvUB;eX2H5-eFkfH_Q`%`idf z2)Pm%JU@+=xI*h*WxJ^<1~;Rj8DRc`I}$(uQ$$RLiQL@kRDiPQ1vV(jNUd|OQO4Cm z-cuPHw)1{JkoYb{S)nlq6MM_oSJU}Pnbwt^^3sjq^=Cz6s z;ec*GdEb?a+E9Kr_F`e;%}Xup)HQ71|!`^<7u9`M2Be z=l_rK!(e=%55^0+0^5tDA0Ivp5>*1b1-<|P002ov JPDHLkV1gfgz+M0V delta 397 zcmV;80doF{1os1wbbkSDNklgb9Q)UQ=iko9*k2jk_}N^A%CGtSBJncJ zYm%Y>2FbR>rT_YhRtSa#taK^3LBo(k$)~S+n1OHz)QM|2zkiIDuma=Wg)eHW!QE)6 z2T;Dj4jD(zrvQ)*GqJf>Ipflt7tn%0EtD#$hfV8+cto3Ox5W^0oMyA!%Ib(+5G$Jx zWuJt~xw8`8wg@#`DQu288mfrr6`daF^G=$j28x3=&l{H#f8Z0000g;nu-Yi#=K)$28ep5u!$Igr}GBy1um0s{+nCO-Is=;$vha4Uc2V^^_#35AdSYT%+og%2xz^YM#(d;x8B{8F4Z R8LI#Q002ovPDHLkV1k0_oi_jg delta 332 zcmV-S0ki(<1H%K5Ul9RLNklZ~Uh$qyfw3P4M);1pXCD}%~dkQgP+2Cty!FMr(9WXvf3yXnG zdG^nj7HWSW0B@#sj>L6M-8KpSx*oZPM(HHD{pxXJf!uAEmXVUix0Z~M7=^=*hjo%0 z(8VGMX+^2{bDktM$_>h^9+H2i%>DoA{1`CVQh><>&45X7RDj6@6<{WUA~0A8q5zC% zf?OsD7#PWLbacuDF)*|QVkBa$g#ZjJ*qQj?A4D)mTZ3J>GatK}?Mo

{lZ6$VC diff --git a/graphics/pokemon/sandaconda/back.png b/graphics/pokemon/sandaconda/back.png index 9b3a9b32508e8c50489e978d6982eb10a884ecaa..a14bc0b3bfcf5369847a75c55f0c730fb17c3ae9 100644 GIT binary patch delta 555 zcmV+`0@VGT1(5}iB#}W-e*gz`Nliru=LQE3Ee;qC7GVGY0rW{kK~zY`?Ucc8qd*LX zTagFo1WvgH^#MXnR)SO5nN-@GRtl3BXv6zd+Y7lNxWrFc+cQ8yn?3JJ^#uig`Tg7D z;qLA`{?RZL#ly|?tcW=t%?)HWk9|CTN!P*um@y~XVm2w`hUVl!AM0VaU8hp~oX&xI_D2XuM`P)8~v zqt+VZJ(4Rsnt(z@e_PI%kn2P|^3OwMH+~cR8w*)ocZstg;ebG?w5FnV4>d*0Q}BTC zfUfI5TPlz-P$ya}NKFTXzfRbuRs$jukb)~X0@;Z&pdqIRp6X2Z7J7j5*n$A(^Erzq zfI$z)6Hob@zV?v2L=QCid8koxpR=6@@*cqVz75%`0FjSjf7b(Tj*XYl4(QU7)FU$j zsHM@p+slB)rs-v4Mj(K;Q=N#)vEdw4Ycopack+(6AUJND>wWU9Ca@YMM5V{@*6-Vu20cft*ap t7O!N^4J7>}A$Qn%z+J`F_m}@aiVxt77!VE^i?09x002ovPDHLkV1kl?`j`L! delta 565 zcmV-50?Pf71)T+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rp8mK~zY` z?UTW7+CUJ7smud(u}|Ev@&GtvD%q!OcZpO^mGJTc34Wiby_lP2Uzn%t%)rBPr>qBi2bnL@pob5MFW=MjZ$$9FPuRy)i9C_KGkAGa zK|adV;`v1nfLbxIni$l7=2Bmfh|r^xmSqWm z$!`FfNF@~1Icq~kO6A57pjEQvdIhD)BqRSk)Xs;P>+r@w(KLO3<|Bwa5Gj>6)YR>v zA$5ET0k8ouP4jC@4GIRD%t!?3>4Esi3A@}GKtuv^@C`?xI8g-*l=Q$;QZl?2pb9K@b`7`o&&8Te~r|5oD0`x5&Y zHq<~dunBRv)(hZZiLyf(1Cc*?e~ic$K>LZB0VP1pgn{M7f-GUF>C@5z(9pDT^#3m7 z6iaOR8z?D+Z1GyoxrJ;v$sKk9@Soy(_No6xv)Lcuj2I9Q=J!t`00000NkvXXu0mjf DZJ7q- diff --git a/graphics/pokemon/sandaconda/front.png b/graphics/pokemon/sandaconda/front.png index 54c2af1077bcd487d5d6132dafb28d4fc5d84e42..2ed17bcb4e5dad31bf95e6d464f4dcab6b4412fe 100644 GIT binary patch delta 666 zcmV;L0%iS*2LA<+B#}W-e*gz`Nliru=LQE3EfJLl80aO^*DVn@~s8LZ5b2-99^N$VeVZ)SJ- z;i0vK-vlz`edfLIdox2W_oO#oKk#4 zqVre87denU*6-;WMjY3hKs-UOFD`ln?CD_u!3Hoygz=xBcTdb%)#D2K>p6zU(XqUp zOTVF;)#GqQxwb|Oev9fcRUOOD8UZsJfchZa4^U<@8Jh z8DMvV5!U8)_oUSDVR72dN<`H_qO)@GBUEbkuy|P{U9jTFC7@bc0*yl=2G1{lkshi9 z2&gYpG}s{llV=BpDAgrw0tVv^U^f0$Nk>gUG=jKV16ZhLe_?EHgaOJ?gl>Cuy##no zDOEAYKv!cf59$#uq70}MaT2PV^q?9gHJ9E!t>UbYGKXcuN}dK$Q>8qG^D)23063OW z0@!hjCI=PbD!cS3CxCf=R*O5annHPQkeVn^hW(7OEE&DNgtj*yk>k zqK@e^KR7Z(f0HbqWB^CgqY9Kod2?x-yX6v}#cedvn!;%--OK!5#=1slnSu7xt%l>% z`Nhci9hoX40k?L{ zm^B}&@6I-X6gp?fUjm)=e)r!0y}QeO=-nxAk^U36ij1+6^L1yOX>ni&kvDM$bg#Dq zMH4T>6=G|OLd5_j)P&f7nu4R5Sm=uFDLAUeA;fkd4>-o6tAQ;w@>NsAhL(HXe;Xfu z{>eC{_<}?iZ-`HFAbYIe(>07ZZa0B=ie6t_^#~~HVF1AfFhYdMukZJBW~}OQ1^x9L zqm$@F4wuqz>SpygTv4g75hF>O`o3r;<6NwLqft>f&3d)Z+2^W0j)Gj+7cqpBxyX+>o#d7)&;R#pFjd9W?>b7~*CPV4+%svAGcjs6-LE zm*d+N!0Sq>syPOKx*AJ)*obHmWk9ur(@@=|2h}XArSu+X6=!`^I4m1h@-&E=Ddj0# zO!!p>z_E-Hz>eEAIj9gfDNsNq0nGEW+T4lN49atZ)WjZTILH{wqH%aC#{73JNL>`p zaLQM}0e7JkbxgnI;jtlFWcf4$I9eW6pe)K;O55Bmm-sAwZli_v49=y}y(}MOtZQ_T zWuX0ZtKs-`elfKor@F|V&lBQ6-+40V_-Iptdd^dK#)Rwh>`hSS8GKr`W9SCcM*Wm% zX>Vk|Mc>D{H95ZD(Um#v0fo%phG>swa=W$n@1_sEGv#uB0r+R>y@NHa^Z)<=07*qo IM6N<$g26yR$N&HU diff --git a/graphics/pokemon/sandaconda/icon.png b/graphics/pokemon/sandaconda/icon.png index bfde35f579292ac1f5cc0c8b10e5b55b93656f2a..67d761c9418c060709a1f875f8e56f4ef14fcb2e 100644 GIT binary patch delta 266 zcmV+l0rmdn0`>xsb$`FURy zm=cf908Pks&j8~x3Tm*HjCvp*c7iQ4Ls2VYA}cZ4NlaV@^M6w6v8FkN+aR$ZlFmgG z23XrcQQ1ox-(PGx5IR7if3Q80G|T&@N-46=3@g=1JUbPDRJ!h+cq?970L6pVwiOyk z^2cR}SW?f*$|2JugPv+wWuuSqlPb;9B Q00000NkvXXt^-0~f*??KcmMzZ delta 248 zcmVS!lE74KuugXM?HO)0R_^|znlo7#e^0U`?K|Z yf$8%x1;*w>SCtLSkdNw;b%7cGU#BHLnU5#1O!7aVuutXy0000*ZPWI4xFPN65; zOg7|}V!xbKaP%4W5q2FL1%JvtIct_kwtFu44<<41r}vbgI6p$BOnJMxdOu!&cfEgH zd*XDPJ3xN3sO}agLVt3AXch8ku|D2W2cVq8Bj-2Ygb*Fj*uZCQ60HiD$<*6`1AOTK z4jF)M3V^@@!kmBLKRB=T0e0rH01tSv<3A0c0cIMQZv(Z0ob!2jkIVNuVry%}rqrs= zxeP0oWuu?$?=_L@t97N2d+_rz9!pj0k;zNby7K6oY0$|M`8Do-o4{iIb z3;0e7U{(u~U_JI9p0&(yHDwNf!97YTscG-Az^zlI5_~Dl2JdG*0Fjb(0PcUUlILr@+KVSN*o2F$723DObA9W%v1lV-(eDE{<)DTp9UPJ z6O4w4eKX)NWhWTIag>w8lt;k;+c5q+%uz6y1)MufCm3T6gEMr~jyQ}y>{Kntki%5- zTg3|7A5IPFLl*mSFy;>#*3&V6K<|0QJd$+!VNZEAe*yigy#MyFXz>65002ov JPDHLkV1hQm7<>Q# delta 623 zcmV-#0+9W-1-1o{7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0yIfPK~!jg?U?J5 z!XONV8%RL={tvvlP@!5$yYBwk&2h9|dJYLN&hRZuC=?2Xepvt?*%Rc9xGX3y&!Xh| zDW#lqLClu3SFLUW2S6@RQqoeMe)I#_pHeB}Pf`n^ss~i^0&b~`Yavd9N<=a%{N4|^ z4*^^YK@l5|EKwYPHV=RzJpey%8dRic^=;RA07~;b5+~eyz>oj{2aCH4U<(&btpg~y zCGaJAeo4?Fxf6*XnE=$!S^@{GvjABw_3My4@lsH4LMC$R*DZ{X=_*Ko2t85in)xYX z=5&b*>X>b<5zJ2Onsgo{s>~CA^ak0*+=qHe?CUD~2itXC zg7hpmn|a-2#uaTN&i7$!TW&%$yG*_KWP$vRC{;8&?-(>YJ(|~iC!oc&N<>R99nboC zGgn^6_M!Xb>r(*>StC7wEO+?&w5U{mn2+1J?ALL zfRLl-6hRy^lo3EU4C4($=>X!p48;J15R56pSl%)e1rSOw=HnkS6jXvC$7b*J|H@G0 z5Kl@lgd?~F54a1p!|?xci62n250;Dk0AX*xF8s_M3Wffyz5s=77N$oj^6mft002ov JPDHLkV1k;_5J&(3 diff --git a/graphics/pokemon/sandile/back.png b/graphics/pokemon/sandile/back.png index 1680947040abe0eaf2819df4a504866f6fef2b50..533e2e59207a2f6b1a6afc9d14aaab08dd8dfafa 100644 GIT binary patch delta 314 zcmV-A0mc5U1EK?vB#}W-e*gz`Nliru=LQE3EgN;y@`?Ze0R>4!K~zY`?Uca^!Y~Ym zC)fuFbn|sAbUQ1o^<0>_d$F%?l1^7$H&5baKa?H*ulbtf$@E$kf!yykr&XUwfZ3k9BIsex~B|xu3c`&cmth!1OqL>dYXeGJLZJ+JKb0Q z5TAs3`fcvhdJ@6aFy*py+50Zsau@;5(C=$fGWJAJ22X1H!)*GU9>^PQhtp`r!T(^b delta 323 zcmV-J0lfaA1FZv)BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0R~A#K~zY` z?UBKb!ypVqS*d)0C6fM5kx0(16zCZ#^?fhp_iLN9p$$n-tG#5TD2I7?@St|>`d7Kr zwr_FVBo2r;(r%eG#?*5Dm(Ixdrgk&%o6OTr{qEPbYqpQfe2CYqpGKKM-(Vv>^aEOFkZX z!Y44~c<1^SBm3CB1JnITF}L;kA}^rL&l<)O@T4gNnt?L>rSYYm(l402BUtDNHggY} z>{Jr6?|fc|V|o(y>35}1&yxwBE{DA@?sw&t;{O{4lN!9xdsIQ z006g1L_t(I%k7d&3c@fHMZ1HLkqDvgqeEynZABaVV zdS^M0JaWUSs$U7Qv)D|N`-pM@BDGgU5~hHr0|-)u>F&W}P<4G>Ksx&-cM^64A}Uj7 zE0rC0#G?c`)T_OIfII-Oy*g@7{nPf7rs(vM?IE!7*JW>=Hh|o@mBt{0!86ZgIa_z}tP<_oH z+-wui5;_6l)mTR@l}%*f4?FeYs`3$stl%fb-fnuK}kFbfk3VOIF@dE5al W-;(t~3IEdo0000wiE0pm$TK~zY`?UYS!+b|G? zZ7sAe3DJwLDnb+rbZK9p&gcL`=xHsxkbvHz``#m2Wh%&c`=D z9D28VxBuDfhh1T<-Sn5xsv_!YZMOhL9YLKd8s7$(h*aM-)NKIOf5V9+M$`GXfr5@F z>Zxif& zGd+P z{{$KVUzvGV9ih@Abur^OTfg2G3O!#@D{6qm_*X>f1HYdV!3Tb0w!eF@~3+gdSG!;wmmlEgTKv z1GIE&SU<>+RgmXMwsE~yC@&_qCIr$3*QoZ}b%707*qoM6N<$f*1Mt7XSbN delta 544 zcmV+*0^j|B1&IZaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pdwSK~zY` z?UOx@+b|G?WfiJJLUfTTB19uVO8Wxwjt(${o@?8I1mqU!bC0Ch8|+>#L((Rd#OecN z2arH;KEC-Qt2g_v&AzK@YwfDPfmSWi&}q8{C>jXr*wXniz(l0Rp{HR5XrB%wG5Wzj z25Qx6)tGtl1w1q#Mq+;Ct10ydI=03|duKmQ5z0>~I>kkh!}{c8rKZ9zZ)3S$7g#>AfrpktPGEMXLXzbNRPetr3t6(XR3 z)Me>2u>1J@a#v_zLK0JO;SQMj`;V#sV+Py}@R-j9@Hkd=bit|{;IIH#Cf6XHWkGx> z#OyL);JR}He1NPDr0%kWTrYE~GZ6n0#bsb(!W!hhkCPBeD+ zO1#Cx`*i2?JGs&L*H(%p$!32aU;`1v2Z##%Me^2Z2ZT~$!>d=CMRiiTg)@ zv!`h+CAv#I+#!9#NPmPHve-I%{ApKh=lrS))mLedgTL!QOLPTOKUYL0%Qfl8jzk7U}+H5 zQCRR=Vj*P4+Am|C6(}4t2f!E0vOonC^*lnsr>1(U2zZ9FULHrmnu`kHNPw=VMVq2a zV$6|g?OKRQ3(F}B$viukipmJlv$etZ-O9+J?FMGuRpoR(bnm@h`9bgJe&a_(z-aSV e=A7|gTcKYlbeq!=#j|X6z6r2GMClfyhH#Uzd)No5wLA%ciQ=3~2?s&I z>jII5Kq@3io(zi+=Afb~G$bkT;Bq;)*cS%EhswOR2^R)k0^h8p4u!^-k&J@7fsG3_|K^N zBS-nuChfBU(b5ST56slsgcc%I4f5Y@VgkkxTKPYsY(<31SN&o-=07*qoM6N<$f>5H_asU7T diff --git a/graphics/pokemon/sandshrew/alolan/icon.png b/graphics/pokemon/sandshrew/alolan/icon.png index a1cc049bdb95d2e5cbaf2f4ef86a14cd92be2b8b..ee42ab5cd033362b3c14228060a80cfb8c010420 100644 GIT binary patch delta 275 zcmV+u0qp*%1Lp#eB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3Ehk#M zjtu|+0Ln>3K~y-)?UFGLgCG=!xdB6OPwL(P(#mtrf zHt3a^up=7)N43-l9jY`1i_@%2>?k&PDHLkV1lqQb{hZy delta 338 zcmV-Y0j>V$0;vO#Bv%J?Nliru;|mWJI1poUFV6q~02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL007NNL_t(|oaK_g4uc>Nhj{~rzCqnxZgC*+a9tRTJ`{_?Mc+YJ zgQhMHrdJ0J(YZ;}^tbVa+#mRa`0dO@r?c!7(42x2o8kn(DN`q8v)0vBcYxLIX>k@Z z+*+Za64fM@05<4MIbusL0EuR)5Lz^`a0}@Eq20)JEVKxRV4Ew^uxTr%A2BQu^ kn8XkAna1JbhySi0Zyt!1sk7#e*#H0l07*qoM6N<$f_sUK6951J diff --git a/graphics/pokemon/sandshrew/anim_front.png b/graphics/pokemon/sandshrew/anim_front.png index be1d3765034242711bf728e3e7d1374cc32b54a6..1382c8fde539b1ba5fd3a4480b1237e2893d4203 100644 GIT binary patch delta 751 zcmV!rkX9$b(5E^RLMkaNl~5Wx z$DixcD9?8*Rc!GAKs||1z|H_tKLC3XizjY435k&rmir{wX@x{%w~Xl2xB6$l=VyP* z{&hNsxRDX=87FW=LIaT_AMo(OH9$zBfe(0et<)T%e(eLEAOKa^t9(Vo6riLp7hWKe zh(JXz^QB0j1VvGLfw@TmatH9t0F+DNt08zNB%Hr5gvflr9Mt)T6X9Eeyf7ua`oz3B z$b~84f~T?cmDwxl*3eY(&rJSqUmMS0)px*)6*^r5t|jlIkq;-Uyt>1 z7puuEo`fdRHb9VT{rRdY5NAb_V5=E~-qu=kHm8UMN^CVF0t>7jmw>83(Jp_X3v8@) zI;5y%h3yhLk*ZU@N{5h`Rw_rk16idehNS^&*Ub!KWEPMDRfXJfT3l6z7zw4Y;La-* zq9sfpobx-KdzTbB=K-SoK9HZw^~|F0UVwc2xE{#izWY-0&BVKx-?N=>(ed)vZs6AP z$DZemXNM>M5QjK8%-;^vkM@5!Oti;ghX0Yn)cYL9uPFcOFuojr97ff<9j1#abJ&Ab zl(oYc!LXlyyO4bCFgbXELE|t$t)dWUH@uM6VTw{HvkgL>Kd&B5%-=6X-RVjfFyZW~ zv;rc-#L+EMOz$)Tg0nc6=l}*!nGp~st${e~zz9agG(Sxn198b%7nEC7kS~paC=ItVu>QbV%Jcqo hhd%`T;14%AeglB=>~z4%TeJWG002ovPDHLkV1n=yRc-(P delta 765 zcmVMc{K~!jg?U-F} z>o5q0gAF8Ey#D{6J3ibtSuX;~x!946Ds8I9Ym9-3XPSl$8}^3{;HG~mpeoRX(t1!! zc|3}m_=4zRR)8Lb)l@=0oECTxSpdXL1T!TCCZJ*hq!KV+5GZmmSrnuS7yRvX$%6zG}0?Bt20k#Z?z#<`VHU_}2o`L0S!J5AW%!_AW zUJz@A3n9#!0Gj7{s}-%NQv#^Pr|#wt_LQ8-BQnn2y&^%$RufA0aP#9)GC;ot&c*}U z!*83p1N8vj3UC&T7N3-$J^-Q>HSb>%N<=_9P!q6f0*VKJ(6gxDoTUQ^8(`fw`QhEf z&?5lQ20hIu;;jA~tl-xHl4Kz0c+~5h34r=+YS`ppwBbU4By&QuaTjeC@4)o8v1dH$EcI@7N`nRvmS!00000NkvXXu0mjfSi@S~ diff --git a/graphics/pokemon/sandshrew/back.png b/graphics/pokemon/sandshrew/back.png index f8a0c9ce24311a8d6f1ce3ed0b3644b88330c522..6bdc2ad3316960d260f82bdc68c56828b5b3532f 100644 GIT binary patch delta 535 zcmV+y0_gqh1b_vQbbkN`bV*G`2j>O{4lOPtU^b}$00HAkL_t(Y$L*9sj@vK{MPtC2 zbr@LMN2qgx9v~igGH7=U^wrtQsC0q?y?#k43)yhc?JR~s5+r&iKR>A)4qx#}qoe-; zco6i2GzioY9m$Q?UBCkIl-$`l>;pGscX5v0_ym};%QgX0>VLQ|GG*riA%gcs_SQ*u zIXC%9n@;3OP&E4`mI?$B;dc{UDCbmxd3Eye%`S@rTO?%sSeHK5kBdqKB`|)rM!bv# zczpmM0X|ybRDj;NrSu?1h4ia!;{^TIg=keGiV=U?3`;TYCQXik6ftH6bglsAt_lJt zX_Mdov`vh%>$o4pS8%&;RDwT3N=R zz01=Ic<{X1$zJ8jF2-D(3WM>Rt$(ZPSjS}K?L2SqWE}tpNhMnE&TsCn)X=l69jYC7 zw@J~LN$WK0HsJnk`^Ug_S-iGT2D+&+CsR~-gF*d_v;l@WrXW>@NE3#6!js$m6`wi& Z0fVHh8rAp6LLHDFB*%=%e{_R^0 z7$0<-atJ0lFn`w)nrkoPZxFg(C!Igt#-}T!jfLbOa4CZ@?*Mlq(Iz()aE8%WHCo-E z(SVDKQbH0Lw*}Beu}4F7u+VR88Q3O{4lOaRXggd0 z007uYL_t(I%k7e(4#F@LMf(LbL3Ij;L~NLuVfhjye8V!+n!VuqRKE={sI6qCQ;)Hv zqn(F@geylEeelBczGoChVl7Q5j2nc3K$tX9VlrqHCO0zJ kM%SWxfQ|g1uNV691UO`k6kUeY-2eap07*qoM6N<$f)k^APXGV_ delta 252 zcmV(X^%)wLcA;_W zO+1^pI01&GOeZuP7G`5&;y->#|GVZs#(q0|3A%>k3|QTPPq+e&rtyGLRRNkYVpbW* zA!v9(od!@ESz7`Y^j?aq9$vY$@^I7^az!0Hj(26K#A5<$Y<1J52mnWQ`P8*TftE0000(z!+;e_u7LMQ}kKKu8>&0P#V7 zDuHe(g2X97!`mQ>q+HDI*iQ}Q258WWG?3Z{7yZsyTblTCEdz05O^_I|#eNy@n(!{e zHjUBRuEpWY0_Y?ha598U2Uk7+ipBH^AS62sfNx&eaq7zTRkWEOckE zEE&98^h3NCDp@as_%YU7WSeEm`i|14s0a##*12Z@qRO+r8dT`&G8yQN?wD}+pt_|K zjOqjlv5~N=1c^#@d^Zp=5D8e~4+k>6zfSz3|ybdzW_0GIci^PW^`Yij1OKxir}5g@n(ic``mrjv3Cs7_x1 zxeZVI`D)t28hQ%6uI5^E1RfzpFVCkF1k4mN*`we^iV3dsr3D1dS07u2(Genhv9u{2 z+-iU{F>Hq?c0MgmOQq8TGlWDyFRM+vjlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0|iM$K~zY` z-IKp>+CUV?9S@y3i#RA^2p5^4C`)k=S&2}lF2y-HV@aD+6|p21I*+xh#-}R(L=fuW z|H4aDMfXSby*r!YijqAifr0no{rG<0S#Rp>kXHcPe}%AvfPC6Yc!SGnV=EA_%h5K% z4hKNETL2af7`xcgsuxCobH;-I6C@PA*hbh)h@mES$mV7}AtHfMIfbWF}K#?xgaO(X zK!Mbswo0H4HRxY!cL;H>q(}ocB406{CSON!sr3ezI1P$-QERu3Q`N4i_AUA+TuhLLzA3XFsV=Zaoi zGx=5lhyGCL&R|(G_%!cM@m{E8wG86>P;ZfAmMQDHN}r-4C=gobjsb`&&+2MWp{vWJ zr#HH7!qZ1}P&&b=PLL1>38zYss8q*yLlFa!fF(h{C(~=L!{kvpsaXabp$lOUlJ#kq zyR$Mu@uJ&*)Iz%;1k@4C<-EsBf{q)d6=_E|iADo({lGczNR>9nW)2&Krm_+Nf(xKH zCCy?yDyM+zbPdQIc-zmH<0jV7Q{Z(q*P0{n1SvXsJ{}=prjW@V1us%eaGNh|AZWh) z&@7CO5ZQ~RLuv0`1H^J%o;dlqI4_k>kIWDf0llmt4n44rm!os*EgZ}G1A;ff@{jB; QD*ylh07*qoM6N<$g6=qd^Z)<= diff --git a/graphics/pokemon/sandslash/alolan/front.png b/graphics/pokemon/sandslash/alolan/front.png index fc7644cc1db0081dff6eb43bc9094222eb4f9773..77cd15f4aee598cda39b20f9907c45578d333730 100644 GIT binary patch delta 864 zcmV-m1E2iP2gC=EB#}W-e*gz`Nliru=LQE3EjZV-gZKad11CvDK~zY`mDRs<+AtIc zaKzAFx5|S2@MJ5AL&$^`$T1S!4%sm0k`?FbJ;!l)r8&;Z7-!NLj-jWqYyP=DS%x@` z3#|q-=yP8^J=vmC`M+W8m`CmoKz0E1We2DY{p|tm93ZP4L_vF`e@iI`AHE0e;Ij%~ zPI5Zs zFvI7>O?U=yzt~QLf223_QwSi;1!njad=V7exkucX0GKlcu4n>p!T{sv`^%T9q{|sS%X8%2SI$F41BcT-_(f|e|TU_G!p3aAm*S3OHt)fk;f&eXyxMHy zNCVW$=D(@}BV02*s{kI=JE1{Vp)+2Yt2ID94M+jFf2QoM)~^$~#@S~`SS?=x29-V8 z!@5)Gy1CSwIS0_wz-g|`t0)R{kgbM9`ttJfE1U1+z$${O5a$3?4V}mdSEdu?XVKK4 zawbv`(CAJSM&ZgB)4WP^xzxAFp)e?QA{b%RT++>#Q>7V2H0xJY0cunF?v}$s_d`XL z-IM0?R-ryKJKx=(0ng^MNUbbkTpD0XX{ZTRLsmuhs2m?JD?7mUfY);War_4Q+$#8cV{bkDNV#>;dS@9#9>5?+3JVfXs3b`0a64N;&xO z-EaG!RRAjo$e+!9GcBcm9Mr}cK<&0!9urC>4602;T;K`p#rC{T;8(o+9i zfiE}!bTeCgD+?gwDCE)Hgn+25pC4yo3apz|SOO}rH&}u5`6>Kl02eDIX6=TD0Pb{^ zqX2%@PI5NqFvFL`iFgWdzt~Ql#5c<`2q4S>rh6K`^o#90AWles04$jT*zqt6XZ~xj zWR41eC+<7g4K^oM7K*N8G`0qux}I06?Kp`=oeWjCHK0YzXTIYf(z0ArHOT4&W95U9Ke;^c)(_bg0(b9XMv9 z$_A1)rF;-EQ^Vn_#`fkR))j_3pc2N<9I(d9!kZ5g=?W2lyX%Sq@*%#>B9kU|fjVs_i$UU7vjaF@&mL0Z?V%_az}pw1Pi^Df*B zd%`Bh^>z~{89=Rc{;Mi5z*WOF3*b@Ri43F_+LOdcHURZ9KnlPyWG~rVCp5t6Ye-l% zUjYV{J=w#5S*OsTxz09o0ic%wyO|i*K`_lhx*8Jk%gf8JbiR`Vvj{3eTmVotbOL*t z7E8pGQfM?@b#Acc>DGe|~q}0`fs-Y}_N=mbK`~_4tRaXw! yqzvq&45axkNUHAxtzKVid%*hvyK?_&XxeZ3+$#8j4*=Hy0000bP0l+XkKI1?4y delta 139 zcmX@h+`}?KC7iv))7O>#F*m=c1=EDnaqSEY4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+5ym8McNc~Z lR#^`Q21Wx<7srr_IUD=+7zK{7iNu36db;|#taD0e0sy2JC0+mk diff --git a/graphics/pokemon/sandslash/anim_front.png b/graphics/pokemon/sandslash/anim_front.png index 99b6417fb9ebe83d25777549fc024516200e10ec..17ace08013d6a6fb282d402477681449ec7e01db 100644 GIT binary patch delta 1209 zcmV;q1V;PA3Hu3<7zqRe0000omi2wiuUP(kjR9M69mQQcuMijsY87a~pP|a%7^BQsYGT338G+GJD zBK4G5{shAgQ4dkoKhQf7J9m1hBh<@El~DIaw3m@`;ZP;AxU}COmr@X)q3@0V1Y>_Y z>8+QHh=uZge((7WFh4?`*3SA&z4BM#B`H+Y8$FvVza-@fF-f6pm>JV)v+A9^RUG; z#(BL9amRIC$EiV@IJJU0Zla542+UyAkSGi%9;4X&1>%R2 z^F~87!}wN$Vw+7pNu`v$3#op@B-BiNUihJ;d?n?l4g%0B-7ZkN>Ol%d z$Vy%@zdztM4s;*LHwu{EdH^sJf!W#{`+Xa?-2p)LP=W*#8{>QM7)$S0?+?x`SKn7j zafr8`Kj-+={Sdh1{H-2zg=;;X%uTg1?Qf*K_AU|VVLV7c*2{T77WscU05_N3Zy^xQ z@^})y+2b(F>zj`ez~WC6iGlOg_01A0Ai$!{(BfTzVVrOLZ`a0Uo zroD8J_kGz%bKiXEXIplcxL z)GB4;5dqQ5nSK!q$bP$A_2+si)Abz*?v*_`CdRW{bD(e1ti-qrt?TZvi+ho`JjIUWF}|Xe(~&f90^De z-}Q_2)QbfK<0-#@Q!Nq@xX()a1)OS;fV_+KW7{v_RMSEMVcf>*JAMJDnidGir_RXc zYK(Np^#}+ES+!aM03?!rp|Vg?Y>A6b7Y>_uJAM(a&EK$FUB=UX5lr(RZvggV50tjB z#`k9Wu(hMQUn15Ti7Zr~A|U7u+m^(FB-E3CuDLJRujOFq(h}!~~R|fy8-D9n0V> zyg_bjP=H26m=uI~xR?@Sk!8+Uqd1R-5}JjkTuuhDEDk}#^S9?`&gGO>0pk{~AD1-p zInEPUFm{EL|z7B?;$b zysqZ4e2{rb0iRLcI~IYwIrTQCn110`eT+>>0D`B}Bm#MR>wU@ugr_RRNpezzK<6nz z9tg_gIux^~Ri*&^Y;ql&ijbN33wxqB{0qbmsM*$o|y}qc*nu2G6 z&DH|d)j)i`toXv90-J9Hc9-LmXzB>q5Lh52UIm)n(Age3Qy~P81B?sA(h53xAQg(B zhyjl|fHC^l$uqse<>QS36ritL!2C5#JSJW23Xtz=6J=3vz(bzK4VrR3yiUGm4eo(A{5!1TL-u83b!_)#D&sVAOz;)$El z_!ndLL+M`(+YiDg|6 zpfA*|e=%S`Y}9h>{fhznf!eOZzxYT8T(;X6_5-zDjek+%7xqJtwzKgsB7SKjN_EUC6&g_SLYjzQ^ zk#~%Xr_(4L^>6GHFz$WovDJym3O)NF6>#$!Q1MCNz<$UA*l|(-)CqiY&uGthZmTq0 z$#(<}-M~-?L_e(%Fc&;Yum-oO;qz%<6vWE8_?X1S==h-+LQmk*KVViCo6#QHm}FpF z+YdYQAf48Eyzbrm<^fyIrn~+czGogxxBY_y^I*E~9~^%2J^q2F@c0M+Yy1PxqDNi@ Sra7ko0000l8 zZ3u4wD@3A&`bqIZu7L+E#rmY|kVyuu3F^i7pH)9qyu;Xls!Yiw(-TwBv8Q3kI0G64 z7N{fws-->f)dM(2a6XgJNZ@+k1Iy3^P`(dThj1YZe}75`G+kkI7{+kze(d$zP$PYZ zF1YKX%Q1BNvg!h-;4TjWofYt{tX5T|On{1g9V=jYTTK#&8^4w zgUY3p#ZvaG_yEFNaJQ0~9-S1jtgo7M640ioTxVL#d^W3qrtpQ+9^kapbfhIsd-kSA z@Q#m8cYih-8F!A?yO6p)&wEWR3ZRDKYCm9K}Ni;rmFzsvvU2LQtsuZ zptAtHx1TDX>j2Qw*~Dk)*|T%+B6UxDfMc7qBW68oe}rk%k|^g><{ANwYd^N97a>P; zB@%~i)RL|b)_%73yw>ZXH;LN*B>~rVabwG{a8uM|=}i()AU3+bvJ1Od0jb{;4-^F@ zd5Xl%A}nOp2Cf~j+e9;cOhP$A8&v25Ww^w+QbzqNdr{v1wfwX58-~PFjInaBssI20 M07*qoM6N<$g8Y6~hyVZp delta 692 zcmV;l0!#g^28RZaUw;CUNkl9e=2Ql!#>N$X?Los>VqMP6Vf zrVl8r1a1Nek^|{1>;*#_R~w9QYZqx;B}dddxXTNujGH_|W_I^Z7vYp4jTdwXeZQOe zzS&U}-Jkz;7>lBJFZcc`KTJ{<9hk+dJH(hVCOTr6vIApY-+!UTX_~5}1H<%@F=o3- z3?Ky(9S)E_nHsa$E+GK;kZRzUw0Cz2=pq3MzvKu^wo7!e1Zps%5B50TDnS`!Mg)>j zOwD4k_lKOMJ5&NOjxL~Qj!ctC&>j+s(K8b;ni+FAXb>?F!HC1xWr3qIhy9<8tO9(B z4rAz1qi#MvUw<~T#=-|che)(hKPg|x4e)?v=ugTng=Em4qF#RcQO{E)JB$s8k^mop861g`fzunI!}<>x>?gey_{vvxqs8Kc9n zh8y=|um1`j={HQl-5gzyk<(Z86gU-keGuqYz}I!9Gk=jW0V?r6DqvMLi1A(K3^*Nl z2I^T^ejYS*=iJMn3Mpl|l7qTFfbbFAQ^{P9PfA($r&W_q0@@T+=v-@A%;z=G65crN z0p6CHjkToPp1)}jyz8seGarwQJI9+{$lM-sH$wz^9x%JjW#LjP5rCi{y=~;6AYNCq zs=(xIU4Jbs(BDaUqa&RM;Jy7+=iC&4w$7)%L*JgA`xKdb+XEcOq#ZHuTl+oSHZ6&A zIc1>{(75&!dwLOiv?`G}9HW->_+ag&wdajlk9vjG-4=!!U@a5s5yqgx6sW@$)|E0ET-%GyTHK$1 aeSQOm#8Zqu(OfA20000A0hLOYOpOG4_#2P-FDiGz zE4MViRuL(37DH1BnT4wZ25hU{tDe00bcgNZ5%R~Qi*}R~itC>SCdh{kiQKgd6cAHZN2feCy(z;MsU1jh3*gYkV#U|x9) z#(pILV}HMEa$tI<+ZYUw!MK~OU^WgD7-4e!y*8?;H<79Vx=&6=yq|5}{P`~5&#yf#uBosb?zz4CHP%{9f+!!dS ztw^T<)iywdnSvw`tyNJgRK>y@nqI+WYLLWU*D76S5yj;IzqJsSSkQkLLs!9t){O4D zW@uJXsv2xy-)c60!`R+uq6@iXlH|z65ADPgP|~jv*S#f zlMH>?0pmDNGh`Z~D+eoh>6_Yn0dv_gYOaR$O(*vZ}vFI~E`h2fxR)CaNhKNmf0NFP109nss2S_mf z7eHjpKW4r0gM3JxFmC)`{4hQY!npY#{9uAkm5R=jiU6~Z-S{$%98i# z_xC4}l4aNVi1hUPJ0K`^^JWEOlk$esl?!?D2zMnDx_bGp(dk%iADPtKNqz5Wx zWJCbM)CNCla3E+9LUZwVVo{M#2 z|FGTc#ZMY22%y*{fydu}LL`A~vm*ep6(Y})5<(>JVZxpGI>z@?2H?KsUv$sGk2Pg1 zgM;)yrHqUSK$zO#hp;oCj7|iU{xN6-ljj653W=E7e(%qyk8#BoK+bRjz)Jw$LH2-- zD|9t3B!&v8#85$kQWpRlCjbgm&PFV~W7EI_4?wLk#}mj;8xlrLH9CO9DV$}-H9CNK zz~MdH*Om3a1h2t51(2&A&?BI10XQ_4?M-PUq4^948~zCNx4X^NCd>W-Vs`eX&r*Ho P00000NkvXXu0mjfrm?8v diff --git a/graphics/pokemon/sandygast/front.png b/graphics/pokemon/sandygast/front.png index 5e80875bb0de6a2356f773ae83286b9e2ffa613a..edfdc95e16ed1fc3562ceceb3f66f990dea152b0 100644 GIT binary patch delta 418 zcmV;T0bTx)1c?NYB#}W-e*gz`Nliru=LQE3E)PT`bu<6~0c=S`K~zY`?Uk`k!!Qtr zTd7E`x*&K0Bp!hW$l#@9F1!J}0HP}c61COQL(X}D+;!=YrA;4>JGY3C#`b^^OHXo! z+~@y(pD)T_aE`x<;bj82`ZaK!0ERaykGCn{E}ox1WYPS^)2m7We~(!lm@g8*a|&3z zL_Lg`A5maps8X>KnjC2xDL@hsmM{e12yIvZnr2H_gd_kP4i~Or%6+qE33v~j(UqdW zfDKtF*+9eu5IT~D0TYIMu#^Y(o0#zS3JMR{ehb`Yum&0EF)@CVK5NMCMWM%pS?{C* zWMdCBn-c)rK;hQie+qa6?1-;ZYr>AilyK+71F#1GQ=I~98HGwILaDIQN)$aG~@XGlnG3ukOFj9(LEDwnS zgebdTdA)`2D3!`jZlm66PUJqH_YO=g+olSj&ZFP2Qk(Pd80KH%6M;|jwDn8La{vGU M07*qoM6N<$f_^%;CIA2c delta 424 zcmV;Z0ayNs1d#-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0cuG^K~zY` z?UOxD!$1&)9VtkO(jYhi5=YwI$5@EC4H(>+fOmeYIx` z`0TEaT`mp`*uDrk2MB}!LPxT&Cxqb{EaidSA;!GDfXoB7I|7dxtU(4kLX19S&KlB3 zap(wP%AIt8bmW0*-2$)z$0LXe4JVnHY_HDJ0}@{GXR)>q79UC6$+&YrNc_+ zzX3h~8Gyeq3{ZhhKyJ!W+<}_o9s*==*e)LlLfJYo&0wYB)BwP*`n;!ySI!TKQLnng zP$^EaJQOkzB5(fXn=Sk(S8A3dEkbi)=IiaMCuG}10c^VKCn>c~F8Y5Z$v1&d^Rzuz S2Ri@&002ovPDHK)LSTZccCOX{ diff --git a/graphics/pokemon/sandygast/icon.png b/graphics/pokemon/sandygast/icon.png index 46167f5ab661db2326084af91487bedddfb6f49c..8578e5f6945b4124fd0250b84c3dd62edd2daa83 100644 GIT binary patch delta 267 zcmV+m0rdX90^$OYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lWWWA{p%f z006~FL_t(I%hi%W3c@fDMSFwXs2dgMbqU1mN(nelElHDcp}0^S$RaPl zzYTrE@Z(8pZw@cPQGxlQ0<%iw^R*Aap?hzR1m6bSIN2V=5r6wLCS};zfW_k$0IDE6 zA0zfw0|+3vmI^xXAPSlgR73AJ3%L=JF9-6`1cTFsnqoJ=y>qntdY^d>wH8Xj{NN_HWD- zVYvc}$1?y_Ky;oNd#eEwAUK{fpacR&o6jalorHjpTO!g>dS7zO0&J+%imdNptLq3^ z5vi}&uKs+!Buul-DvWOeOjZk1=^#oNL-H1;_^}oyVUB)4`{8KFrP&WxA}9RVQ00e7 g#thmI{ZmiR3qpLsZE_yIdH?_b07*qoM6N<$f(x5ykN^Mx diff --git a/graphics/pokemon/sawk/anim_front.png b/graphics/pokemon/sawk/anim_front.png index 9ee0741031d6fca8db2507e85e51e31598e48c9b..f789e668ccfb458c69cb8203383431d79854c2ba 100644 GIT binary patch delta 1306 zcmV+#1?Bqq3jGR@bbkN`bV*G`2j>O{4lWhBMvP7X00iJkL_t(o!|j$qZ=*&OfI+2q zgI&usy)gFXUhL%16WHTm+8mO~>}-zNxZEp&W_yg3)lw-JRHN<_z3uh~thB2N`C6%s zv_GnEfW#PZq#j!>C(L|)?+r7&ZzSn|dC6+$@o|k9j}l!%%zx1%E{&ap_2a2id z%d00Ik&?Mj-ktt^(6>zb}9^;Wq92E55i* zp&DXp9AgQo08Z#--{JPpkj2#+`^O_mPt!jV9{B!>aZ86R>r`qaSEJ6sCX4SFKk;WQ zkd!QixC#t)RXjpqNso9SN#DKGx4>uS;RN183iK}F;eX{3$CXjyw34GoT>-2m7Z`ua zLILQIZUG$tGB*bj1Oll5wmA+m1az<@1%Z$+1pw8F%IRjaNpk>mh!P|>i}lwJIb@Ln z-b)1#=0K_$ueV#%6#)L61Lk;^PvUEpEVh8+LiQ_W;NC?Nz7&9_l5Pb+BEyY4$M~Md z@VQL7hJUv6{U}tFl6W5F9?n8}ZfnmQ9~f2wunt}5S;}~H+^>H=iWmn60a!~XS9H7w z@RkBl`aW&+4k`e4fdFY-O^>`C_-Y*UFHs==(-6EJV7Mfb!@ze z8X;tS$5Eu>hQ&=EMP5(`bjC0Kwk3yKPB4gG7JqBH3xqg3iE@jc$)~tEYawJP0BI@y zd5Vj=tOMRf4wSDf@vOFWsO-^o8xU6juv*rkv;7h4Z9w@;?q&=AqO&tc)Se`%@S$`!TSTvZ+y#asVb%|YyXOr1SjB0m zJ@jHn&mddo?w)gNa9dR`R!>uPlcgEU-G7Z@l%Z;G87QPKY&Jh7!rikYVb)E>dcs)< zWbhR%(cNPqMkQ6ZA@J;h-b4?6ykjT6T>zkG73*y>6f3Oh$0VTRZmw3lYE~E0R8O(7 zoeDR9!AoG90|Bf;*iNYT2cFjel_C@@Fr@{`5I7T$-VuGfAZ`Xh8H;fy8oAq5wSUpg zcD=K*vx*#C^l97BjLA)9%UKT%6E_47Xojh_ohu7_BXBZO4_g4VH--?MerC=tTh6v~ zF8nU+t@xAKr1^D#*peO-GO_(tGlL7c--DP|>aK1JDD=)BL3f!wz;XyQyZd#mE zs#T%EB69gcq8@m!!FQreyAmDo*x>BO07@+{#VyOmlK^0TCS7P QzW@LL07*qoM6N<$g3BRd>i_@% delta 1301 zcmV+w1?u|!3it|;bbkcyNklIQtccP%=`S_ zj0fH~2>maIq#QgPSF!#e(Zkp@9*AFz@CajTZ~XHCHcgC|`+oryk1@u^`96TE7!o`> z+FRoSk6;S)`*|}!ihq)a%>rnyRJFDMKK9w;`HLn{EM4=iANiC;K^LGv0`7h3Fy_sI zdAwUgo|!h}&^Vp_#{9Q$mQfQh^y?*(Hk{hW(c5oNmeI4_8Zx$n2~@~vXhh$<37qg1 z+etA4z(R*SOMk*;G&%tw{&Q6arsKgt0BOQ(G6F)^(gJ4OSrSUAQQpgxz8wZD*Y;{N3X)vQ9lCzYr>cB`-#4P|ka?C=6 zzI&%tz-Q*sgumx0CwB>pu8tY(jJ!%~HTuLAz#6%nvVX@k5`f0j3eY&`nVSO%03j-X zs>WdkfW|E(0}wG!0KC3XDcx)~X%0XQF$LsiEA92Rh9pYx_ox7(97t9DwY5#*3IION zIn;QPFXC$jFDgKGdG-rbVE$ziy%d0|;9d;?B7+Ba4*7kb!hH$%bam(bk%^c};`@a8 zunPI9t$#jkyVa95-Jrk-!&3!d%COi@23Sg5Nlf6?kCbp^sxf zYyui(mw(yFVU`mP=q@RKEe zqeQU}_vOTO7qF@Ud>1J8;h_4k(z<~1o_x!HHg#nO=o3Y&vJzsdxW5BTRXpm~$`XY% zN=$W(+Z$Xb2zfC6Y5eQ)AG%wz^1r#eTiVP+`S(h9cd5BBW9jawBLOaf+}#~Dh-nFP zmVfScS__e5pqaoFVnqGY-OiIn51LN(E73{UrMn&4 z=s{DxClVYcrMu~ZJ*%gXg!T|p_=nQnbP>P$aTgdF!mJ+(ch4#Gv6|CBd*HLFnf|Jn=H*}?rspH#OwB!IDg@(%Qu_niE#JqSeSKFvz~Ak02%*^d*JS| z5Tl$bRSGzJfH%Q|AMfaCU>5+_vYPca8Hkmy$;Tul<6f>-yKYvOr>T}gV>=UW{(_Z2 zRRaK+g@p?B{=o7%@Y*C~m|#i@lmc)rZoR`=wIOcC!!j3TR5Wt8r>MqFwclCUS${Wy)4=tp5e)u&0Y5WbBoef$vRSxlk00000 LNkvXXu0mjfKS6d> diff --git a/graphics/pokemon/sawk/back.png b/graphics/pokemon/sawk/back.png index 35e589d2853b31f6e660a87658349ce792fa4455..e6e65d0645fdc8f757f009ed711e45af53f57318 100644 GIT binary patch delta 567 zcmV-70?7TU1)T+uB#}W-e*gz`Nliru=LQE3E*Y@!z-0gc0su)wK~zY`?Ub>K+dvS8 zwV(&E?p)|FF0{%6B;I=f*;<2}K*B|j64FMXg9-8$hAU!nc@LRHU790Rz{MUuy-Q|h zCC7#2KHza7ujcdo|I7~dyh~hSFhnpqpTCmPS>jqs8NEJJKq)noe{Y5Xt@WK!a!^EP zS@vP6R5XzHGmfPi($LF}=-2Qy2NHMvfPM=Y1tK5&ft4iy%Dw*du6G7-V4#NktQVNT z4=#Xp?%#K|l9K{87*_zJ0~RM{LgN6^S#R0`Co>gLR;F?au-;NajQo>#=I~A*P)L16wk&K#kkBN7Gbe>haJ5Pxdncv5XxM)(zyErsOQ-@MVV@ ziv*waQ~7p+DJ&CiW@^X(CeTaUDXtjxjig<=F?n=06T z$CLI1>J|j}VA{LDmMt{FBb`z&Ab{6{=Ex=rpDr)wQ_dIpivjw^vmSdZ!+>F+hV?_z z?LE6pyg5B5EiHhP|H{DJx|Pcl&&LgeX@$V(@~`_J#a}MkDm5py|f002ovPDHLk FV1iH>2V4LE delta 578 zcmV-I0=@m61*!#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s~1zK~zY` z?Ub=@+dvG4?*KhOlz32Jc+ja2&{}x_**XJW3baV|C_&c>PyiP44F)pQX!;&9T5Vl| zP6a$%;OJdK@+8-T8#dmfuos9C@WJr1z2q;Auqh6 zflL5wi2zrDCkDcFdKkLIgvF1u0Dt~EKplVpr32D;v#8hX;8MMRIRKbgB2YTunM`<5 zsQk81iHUp(Z6i=RU>aSir0cP2b^)fH1p^y0F-MJ?wnx)cBkFPA0#Eh}0+EUw5Y!Fi znx^C|<_Q`xtK?Qrb^{AK%!7fz~7h#^SWEw@4s>rC}!sC~d0|K=W%YuD?G*aU)0@$jS^1 zUnqtTwyFHh4?JlhQMVw#1Jm9GwrrvCAL*0|p8#GDnj@PiJi5G`PdQ)YZwBZa&w3=5 zh5^Gs4XX#f6WV)rnTQ!Z$1Q-9|Hi<~x|Pcl;o*kCq(a~w^dHVS{-+S)6)xH;HQGJe QA^-pY07*qoM6N<$g7G&0IRF3v diff --git a/graphics/pokemon/sawk/icon.png b/graphics/pokemon/sawk/icon.png index f9486e93fa0c2037da5998a337b988560295e221..a60a171bef7e2aef99f77df6de0602003c9e5f87 100644 GIT binary patch delta 349 zcmV-j0iynw1F!>-B#|^be*g(^NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lW$P znl$PF009$8L_t(I%hl3LZo?oD24HS5$^|$_jtCpPbvDjpMh%-yTfbf)n0n{&psrwWRmTG;LU5hJadDX`^BTVc=Hf|y;00000NkvXXu0mjfELf52 delta 322 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 delta 730 zcmV<00ww*%2B8L!7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0007zNkluByK{0$F6-{J^S>qc3mW1xGv3%|pbqia4=$8@W*Zk); z2O5B?Y6Lo(4t>*-VD$VX>kK`y37~%+2^!4xT~WU9YkfMqlO&)4Hhcu()0uFCz7V(; zm9fAy1(2Xe=Zp&>AaCMY2E0r@AaW$a=YwWaLo!+GT}{f#L5K_>+6V})rmE(|B?ovsl9pu%j(T+X;VpaD8KG157A@>&*L62CW4p7lOqaGz-^RN`Ne7ElKDX zfM;-=mheTbATpxltpe^1(6K^yA(H_Eu-CN#9G0Ie3(6~`)!P|F3qVQy;>G$G17#ZP z*Yan8o7eg$fV-asCI!bFa1+)*#PLcWPitU*2e1YRa9uADLk0-2zwt&e7!bg73!{O^ zfX5a_y%^vuP(0BeM=#HS{gI0plSIo2a6QwH^R zWUNvq%!p=YnF>PPjQ_|em6>gv0BM#i$*n9vOv7Zhv`-A_l%#Z-bC#7bOSY8KF{P{k zAT62Aq6GU=R)KP0M3|@i1$0Ngjb#*A2Cy^!0^3taM_>_PC4qFI470lINmIVt#4wV6 zBmRwdUVYwM1AiPT}e?-fB(^b1iyRDRVukJ&e}?lPLj=SJa+T4`clb02|ux zRJMR%EDQvIhm$rE54V^=40;ic5->e?IYC*honKYHBr&`ZK0@s3*eOvYw0$PWkh$RSo)25YDy)goJFGF94dX^@h zDYPa6Q;FZ^x}>e$D|M}UQ7QWF1ynrs(upiVz;8w|A`Rd3hUpmBYB|tzy|qS|e#Dcd z@(1H2kQN}r8&wxik?TQYBtQExoPVH*K|6$3fP(F)pg1Qw#z)YCj53=j|^42AY`02&5Gl!lQs@&J(FbCiA`5b6c_ zz$2bO3!II4ZVXO6&~8BwS~mxP_5$XU9H0n}#|@xzfG^;HL!>Ky2=F&R?;k)902q&R zfMDYl?0p7c0YJT<11N|a0dQBuKM6-Rn~qvae4# xKHvjD5Z9jzKy3QB?vKbj?v2VJ`#+GW{x8;=WR%QE(NX{a002ovPDHLkV1jhygN*JNz1`~fO*(vak0M}@In z23er&8qlHXZHFCp3@Iki)BXf^At)^j45P%m1;W_!2b8g$_IC{So}C}I>Sga>$$FoB z-w#O+A+Z&bp%Om@F|1N1%!+4rnF>NXhX24Sm6>ZD0cn>U$$uRaAhu;QSGq@*^h#28 zn0I1I*dDf|N0FaI}vnav3lvSWS7!l?fe*xXGZ)1i6GXU4{7fis6z+%8j1KC0u zW_8||wtTmVVWs_6@*DrO`no_Y}i1+Ydv4|xX?UFI@Jh_ z019-}6*V!v;Drt|dI|3gUc;u=^ATjhu@bMG0ji+b)F0pIUH}W!Xf|y2afcMY>6@=w z^KEB%3UJ{Z7su0|Hy=gvj>oE#3IWHJ6!rA?A05O19DhzJL`ndgGS`#Z{df&9nGwKv zMeQqfKi01RaH0KPWeW(_0ie}T>hdv3@(38u+SSQAa8qh^b>)wBoCJz6YquE=FTizM zE*csw&W(BUG!4X&IMt(=fLA6`RS>$FG?lNXTF)W^$0B>K6I)&?1hkGm5l0YsW=$)l z`eOucUw=k{j`S=`JX2^*1f~+7&2>pzyHn~)_2W|X?F*=Q>Sq&Kf#v zuGDg%=Xz_6D0_(~OBD>pX&@^=hS#bt9%I+N#z=wrojL5+)eQaPAHPt@C<08h)c}E; zJDm^EP<;o-Os`f87>7@RsEt6dN`Rd0Xoc-L0)Gq9YU*ho5QPW`5k*4#IRK5qB1*$Z z8hHRn@HtAq4+-_deBc3hpassxJU0fXK4`a~2d(QpKzjl6Ne)m1$HN9tIlvciz$Vfa z-vdD!@2+XI2ieyr953)5AWZ7d1t2zkSocTdZTCiHpZy;&s{aetnq-tF+boU%0000< KMNUMnLSTYSc63Sr diff --git a/graphics/pokemon/sawsbuck/autumn/icon.png b/graphics/pokemon/sawsbuck/autumn/icon.png index bbbabecf1eb13f3ca8d55621f362d5bc175c91af..7c38538a381657e6f61702bc05f92da566bd03d0 100644 GIT binary patch delta 357 zcmV-r0h<1*1Fr*+7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#VI=$MRj0003JNkl+TRN17(G%a63%q|@BmmzGgVo0cPh7+k+yfQ@$R1T>WWI-C6L)c3G|ShpyQ z4Tb4KVI&KLnf^NnqXS{mAHtM@Fg6rs=|?ZjFa7ui^~DAeH%Riw00000NkvXXu0mjf DG82}; delta 352 zcmV-m0iXV_1F8d%7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003QNkl$+4=cMLERc<2TMc9{SN)?j7ur)&_~3rVy~M(?-m*6k&-Mp-Y9MNY5I!$)6dRB3x$d)i$@w#lT_c z;~=&ta$m>Ay9Dg`2rfGywm2g%Z}?0$vS#_%oqYu44+}_LW)%=$`4^2LgP?0)~V yfGogSKsG;j5s)46CLlNZFst9_!xWHT)Q4|(s2>-6mTbQO0000LCE@YynJwnLZL-VClW=5IrIuw>>6s0aPiQ5LKEj!2!T_%w^uVAq{?a zi4IuT1$gX$apzTHf0Z3TnMa{jR7zpo=rK_0fdXn;D+8#R)}&EiYdzsY;lmCL;RrX< zbK1mAXE2_lo>`&@W~ja(kXVD9n*KVmW*MyYV=FLQ0ol`|8yG!*+P0|Wzz4W2=%>ZU zD^2*hg@u&zXcsV#9YYx4I<|V$BLlp-fM?Vxm%&&ULDBbqZ|xD!8Z0>#fb}e=IWX~@ zL0fOjF95}qsSPNG7*?IPMQ2HGhlQlSbX!Pd&uIaH{=kuAmQJJ`xH_bVvcF8Xk!hOi v2uNZNh00n_>!|;<85liZ!}`0$CNfu delta 514 zcmV+d0{#8q1nUHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mMl}K~zY` z&5|)s!!QtqO}1HHt5Ic&5l){2K)yl?*m^uZS86m;M z58$_OZW55l*_{yFlEm*jzvpwJQG7 zCLnqjejw_#%2mtU?EPdZ@tfGs-PJCXtd zh;|p_2|&^g685db3hEI6A2t9k!Ja;rBjDMU8WJ9{NCu2cEPzcaCdBRCz7zn|6c*JI zy)!c4mrK0PM?Qe@buO3}XfFX;B95G*)*8o+8AGjaDWGGFwt&umjUj^u#+a#)8Xs<8 z0$aF|nbRS1Q^3s}^};cVFh}(ffs{Eam|1_5I%gS{`nD6u7eH};=LfDIK3rRLD&QS_ z5zPJb`x8wBRfK1y)YdX!o;Wj>z)9lFXs#{r>H{87r&5MDrXCdi-O{4lXNrCz0g< z008kxL_t(I%hi%UYr`-Q#q|x2j#})`n5kPjW(?Z;z}Q2VbjlnY0-kN^&)_K-0+s2K zKah(4S7iM&Q><7D-8t?hVVFkWw0~e>Pk@oR>VS_=zrpGNDfw2KFNdSxyeB6NH5E!42D=<&;aRF_Bwq>}tUY`H}002ov JPDHLkV1i_KVUGja1M2>|iI;AJT$Xs>7Wac-RQ!TKaOMiN^)Cof;ALX{nfgxg> zM27`{ajdOplj2$K$+uJ^Dqxdnn-=K002ovP6b4+LSTa7Xni>V diff --git a/graphics/pokemon/sawsbuck/summer/back.png b/graphics/pokemon/sawsbuck/summer/back.png index aee6937c4bd568196c9ab5d31b8d0a58cbd7959f..b9ff2e903a542a43e164e712c0b0f800c0f07afc 100644 GIT binary patch delta 681 zcmV;a0#^OZ1@Hxs7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#VQ=0gNV00070Nkl#cZd-i>(I;QgrOtY}xw~9r_$Oij-uhq_TAAfrd^&@o6>(Bc zEV>kYAlhs*fOaKY*c2(B_71rAkb+2c0i3nHDCQ?ca?!Sd^Rz2K(&D7Bgcz?p1zFhb zI>Q_QM`qd)bNqw9>3n!k37Vhrd7C=sgk}py`LyVtWPlxzQ`BXKTQ3-`^aX!L!7`L!0uSYE)u)H0) z=v}=p%iFOE^_z0}Q2&h_YO5nqI&w6q7`?ti{iV%`)@^LAzI$B$$MF>mKqDn|d2uMz P00000NkvXXu0mjf7*{a| delta 644 zcmV-~0(<@N1&B*}k- zr+OM=8GR}5+C8uZrt^ycz*7{%0MY5IZUpy5eK{@DYqPQ;WxFP_0Bgb>aQnnu8O{KB zQMiVdP)%d_WE7e?xeGHnFV!A??#DWY=buZN5XqT0(ICk%hyYgi=(@XZk3dfNK)GO+9!D7rp*(a)>RdRbx- zqW5j?Lf|=GXSymSuXo7~OqktgJR|p<_`b3Xl8b%kW05;GBLK_k*kP$fve6TdEIcmP zFuhVG5ujWnUVlmMg9uEq1Yd`3gYf5|&yNvMMdaAn{viggzf6H=4w|n3lJb8)b}K?S zBLh_Z4j@EoX~cCsmCSm?Kr)qwwO(f5+KRXI6d1#KMd%N}?*{JHvHYGv-@lMz9CCk_U73A7xCX$1;6O(uvCo&a_WU?_nI1&}NU zV!n(jH?^_fM!J#43*8Q|Yn5;iIs>aGvF}3s5b(xT@V^0F55uQDq`Nt+88~|b`x>A( zK!B7M5JLwDu&;O+3^2fMVKfjkz-(dEvw_?N3X493R<3~ET3%f{xdqqvI`@wa-4|vlB+Tvv%j(|DT<;mwz$F1}0-B8?ZVA)6ST0s#+gBg~R=@zjwEze>(91mz(w~9{;ME>b z#>g6)OnM4D5>NoOM@5Wu8OnPF-c%3Q8iSRBYnlF*+6UNI<%CyPS%vFQVI5VT@n==u z^w%)d6|imJEPp*+*lGYED}eh2F;-xWRRe%pLKe>B5Zpl3ZdRiajHXTNc?k0L3UEjM zfw?Y%_DSV=GwFqu`p7T(x<0Sb0f4Qx!rFoe(I5sSKB$>k@a!|< zBwh3Y^X2!m3yCQD09^k3g)zo`78!o9FXwTbE&2qaAh?|4yw76d1i|4Q;=Iqn9tUru zIbz(m34U|!ppK@3(Ilkc1%UM_a+Y1SdPx>ba>-Xik+lkT?g{`gzhb#$nG?5wC*Slo zDb8Q!M1RG2-0sEUeF-c<|2vUvDHys_Wt_i2Ttv|Z@NOkhXe^?3(~KMHWrlUM9hfmD zj|Q-LDxZquptvlYHoKk#L9Fxh`yW{+VC)8OG;sD2y8)gQK#aGy*YrHz1oH7$z4EpM zL z^blMhq6Q|>BLMFND3Lw{Jk{RETIj!k&0e$gcm)t>^a1qaiB>x8I4!+{0-$?Lo_1Vy zX)3hxo=))&2j(OMq+;*4{@^=qJU$aei;MTUA4tmmcLGw^A*u_Z=PH>A_Fy~?w08d& YmlG=>+?}vIYXATM07*qoM6N<$g6O|+DgXcg delta 759 zcmV8S%5XbknL2l4Fz6V&=Ir}a}BzqzRWe&fB zQGm|Hg*ruiQMyFr#-xed*rtpW0pS4>LC0&*(eW0{`s*Bj1V*~^?apui|JhmJGRD|Q zXG~`!R)=6*)B{}~k3eU}crq>~IO7X$3Mos*07nPVO~)G-i+@eA?U^6}N?-)w7ytz9 ztK}{S=`FwoaBB}JVq%PSCS4O;5- zXJNZ(+J6o8GQ~RD4osVpM+0c*8T*tU2gPOX)a`og`;p48?ti4cfVShmQNZa(><4(9 z0}j! zQYHN-X1vqs5=cU-eojd{>Gcp?9ijr}{Y7j5-f#<0B6$pWs=SYs(0>8lUbEz=1PIiI z0Q&G)DV_A3mfArM&^;zkdak-85lVSirFf46vtt4hvHP2TTRk@(Uy8iN`TIN!#3CQ` p0#emcYEb(i7rc#l$rjjgb|QT8|Vy#1tdCHgBiyFa|=z+H-&DO7kM^aU=;tuMoz~gyFd`wI7o(Px|oy Xz{=65ppRZG00000NkvXXu0mjf3~!1r delta 315 zcmeBYZe^Yz!O6kQz`)=W&^l+LqJ6zUNswRge>8Abanlr_nlGL%jv*eMZ>QYmI_$vV zqCBx7^5Xyhw^!}l66woTtI=BGnfP)}pZF!ow%;H!=+#Ie`gJv%~_gF`9 zhR-5TcG>5y;n~YKZ&<&>)a;;DM_N$lwIk0JW?i_gYo>T7!!|fR;q#5oV1=v=R~)uH zv~piBdf?G#&ohD77{1od$thxY*j~+MGHuWO)4~5XmH(XIf4-J^$&6nD3Rk`V3MshS z$S}Kf+oy9)NV&l7ac+aUJkNwnk0cese>%MXl*l_l|Jh;Y&%qL>K4i*j14Dqp)78&q Iol`;+0H>ah(f|Me diff --git a/graphics/pokemon/sawsbuck/winter/back.png b/graphics/pokemon/sawsbuck/winter/back.png index 607a9ee99c54fbf89d0be1945d9eb9d3ebdae4c5..7bc1cc2923afff4654d86e0042e7dc89d1b3b493 100644 GIT binary patch delta 599 zcmV-d0;v6q1*-*+Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VXYfA~U z0006GNklR9v!oA!PB|DPvPh<|@n2N!<?R$12OR(<={{ppxWpf(j&l{Cwq0 zK%+~y8G{J$j(>{@O-l2s0U-36C#v5_sNyD-Y6uXrlzQ+eO-fl00%v+NY`(g#6R~be zk#yZx4wzco#Tv`5wU!MUTWh~*?C2{De22FrWEXsh)-K^@LH%W56iG|nF9fWDgS>YB zb`_juvhBYQ0__G^KKvX8Zts7GB&I#^3x*=thvwz6Pk+1^Z71a-G>G0i!yN!$ z?Z=3WxomfU^U{|9=tDZ-(>^ddu942OT}){gh?n~*UmIg2JqS{}L3!ssqrMpvfD)$* z@cbj!H!vpi3N<$+r%*c!#0F=FEYbH#0%zQqv%bG6PD12x^aQXH;?3%4SR%I23LI5_qCIdjmK`LX!l`yG1%yPc z9V2mSBYP!oJO&To%aRKRE^)89l&In*D7W4a&%sRWwo!I$jxdMB$$b9*e|Faf_(yeg z@fRR?3)cTLdb|#cpzwgO+`C@Nz@vyxBOfRr&F+8X0uW%-1Amk+@f`qCYXD-txPWvi z0hmExI6wq~19^~ans9(fNe+B>P;!bqK?w-r1cHjkQCLb2Ar_G)hodEyaU8$+=m9wv znjB_WD2?wvc>qb*CgWi&qEfG=n5vFwy(*=Y)aA;HevqLG>qr-40O(Acu|DLPu10|~ zvs-Mr+O~zz)PEUF+V+bCESzgYgIT+FP7E44=e`1!DHre2YdYvd4Xw^G*)^;e<* zz+_F`&jf6S<_NFY-)#m2NTTb%83filV0HIn9Ju-Udq`r@1HT5&Ll?o_)lW}-;>omI zDUMJhy0b%IW~aw{06sg65mJ|qJl4u65^X@zv2U9+Gm5HAl?KDX9t zx>0Gv3+0{rnEG~30BT$`%JUDnZ`GX4OEl6du|mZbh&7%ci$vci2|O17i2MGoBne2= z$pautz{}0axJ2kwJqplHJh+G+yb<>r5-_>ujhc6W^a|(>LsJg|-6PRU2=9o_fgTDy zFvZn&*D&9HXNl4W+U=GJ`rOklW(^1_B}iiH3G002ovPDHLk FV1kGG1FZl6 diff --git a/graphics/pokemon/sawsbuck/winter/front.png b/graphics/pokemon/sawsbuck/winter/front.png index d97aa2a90d051bb39f34446fcceb9a0724b3e81d..795a8764f83292586a9fbad1b0f0282a30769c10 100644 GIT binary patch delta 719 zcmV;=0xI!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VbY$naB z0007oNkl{I)NAF@L$VXOT7$XSaQO5>34NfP;}$FMr3?545Mi%FD^`)s?VEDC0!FMSBD` z!*MWO?nwa^z;uc4Y(UroIQx|+Y3_)?hmKm}NU#bROUmP33vuK_1ptgS6Q>*(K0pl6 zsh9w=ZIa%hPi$;VAKY`;44Da*eJ&=ETj!%A!VEFP>whBQ{xkmwNTa#6uN$CBbswM6 zk|wHGi#Xua^cOi>lZ2GDm4RhU4f9q*4!AwofAVC9C&o&^T|7HCSkXE36p43e5 zpcXXnxRxB&B5Km@81*1IBmiDLKY8Q_E^OZ(PDpRir~$no`n=^q-`zQPYlD}ZfH;pG z^mor?F6dVK0#P2@a%^)kIF(}GEzSpGudc%s#$Ud~5^8Y>g#-Wq002ovPDHLkV1mA^ BPAdQa delta 683 zcmV;c0#yB?2L1(*Uw;CLNklF}5;Nne56y_*&-;;? zmlwwVlU0tbr<-5G0ED)qmWMnvgs^R;SY0Df36;XTu44eKAb(ffCnkV3k8{A3fwA}D zCX-2jFe2$0vyCOxCk{IpSx`3+7Etzsu^Yh15JJ#xS^od$7)!Y<0-GAzczwt#{R#B|PooPGt}%}Lv@Xj))_S8n;|<`H0OqHy zxdQsaZ{t)4WT^s#$TERa1Mn=Zs?fBujt-y@&Rm6lkuok*J+M$G;FH){XmdDRQf&W* zzOt?X(tlnK9JQzrscGKkO^+?4V_n33W`EU;tY+L}oo|j6E5OzRmDjKVsK-kH2?_|+ zY64>VKWyFsr7E{T^E__ooiXXXKTuIQJ_A_-U@}b2U#c9r+&ZiS)r>vtuACjU-^ZJwKFTp&e+$sjOt$o*aWKI~kuMGK^6L z5QpAKwN^7mS*>2o-;e(XOd0J97|}7$R$yoaOs|b*V6@Q;41WWd=?07}__zV{V|-iz Xcu=mY6lo%^00000NkvXXu0mjfsrQE7 delta 316 zcmeBYZeyMx!O6kQz`)=W&^l+LqJ6zUNswRge>8Abanlr_ny;QNjv*eMZ$ljUnhkiA zPik@;{r~^%9Wj+_%L;DrO?G1uoiz7~?~3V9`ixY zn|28FcZ!`5b5h)OwBY)+<9xx4R76*h&?$ z)sI}g(X(lS(v(|)Uj1A#$~Km~-R~`4S9tUv?z?cU$5H$E4K0_0oAVeimSi=^o|ceO zjc!Q(WqU5h+;wik}*1&{@hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VfWsre^ z0005=Nklv2NQi5QZrsDLmFz9zdlV78)a|OGhD7r^12coq*1JftVfx4^gyg zNUc}!QwOYWq@?c`VyX|TMW7$$Z2PN7(tp6^R{_AS5G{BhN^%aU zE|NTDfF!+Q`XVZmZv{JLvRqbz2g;P+$D#`C^mqOSwXHw6{iQZ*vt41LG55w8TA}`> z@xYeQ7@e^zxLee3_h-Eao;uP17`yGp?8brGx5w?I z%j50s@1sIMbo1+27R52w@S~7PzRb1M_~(--ol~Rnl(Xl)r4{#S#FVM*fdP8i%k01a zd$CVrIk{k}N&g?B{~$0=S^bN7!Rvos$bkOknfk8+`hO3^0}=BJTsr+T{dR4|*k0r7 zH_pvl?2Glu?odfD@xa~!M2!BQ19nd^Kv=Vqv%3OTn+*p$!fu3KoJkK1*}ww!Xa9a+ z>^v}HK;75oFCJ1zx+{Np0GyX<^-oQ91hi4HGk2pE$`3+ZpX|?sxf3DrOSka$$Nd-k z!_VT?{xxaH{^_~)=K%3Y0l>urHb3}y@DPXxY<{qZE~fnOY3n~D>%Sd-YYZ#^0000< KMNUMnLSTYZ2^2yA delta 557 zcmV+|0@D4E1%U;SUw;A&Nkly8n!WQtf`N9OuUvvn#-{rAg8}%Ou`S*frsN6WpvYKjE2}L! zYKjXRsyc3gYkwK^QX`#6hl1BlchbxAbR)yFwe3>ir#{hR_QD)H3TN4OqtpO z0{o--+*Ec6O_D#(#3Z)@(C9`ddjZ(dZW;?Gb*fW6)A~Q+e-IesCO-aYEX22u|8XXK z-XZ?Q&;JqezrY6i8M02XJmB2Nzo1tu4#w&dKfm_bynn%YvFg(uM$*H2z%9Uv(R}g1 z_8u+}oUGQTy8)>-YWHkm+reBM=>W7zD+2sy|K~tg2cW}%xyju%Hc8rk`u-*W;J!>% zel0CqKnE53c!kM)Q2ho8mo^oK2er9T87oBk3&cXj~q v>w&mGgeLXiRsj5ZAnp%*>2%s3o^1UDWvjtGuvPWY00000NkvXXu0mjf0>>7M diff --git a/graphics/pokemon/scatterbug/back.png b/graphics/pokemon/scatterbug/back.png index d22122fb6a2fae0899088f424f5372ed306eea9d..c42b8f60fb3157b142eb8f6a9e49838c9e534588 100644 GIT binary patch delta 323 zcmV-J0lfaV1FHj&B#}W-e*gz`Nliru=LQE3F9TGG2wngH0S-w-K~zY`?UGGy!ypia z2P9|RmJ8U>dLQ5d!58Sp@!pd031Y5ah>_wH7`AQI+0Li;-uwXkvLY|QQGgkuTNKcp zLII*$W-1;`;wdE(;xzzB2%@^+(Xt{ioPCSQA^?1lAw(H~cW+NLe=;WxBQk8xH!s01 z*dl}kcE$jzT7m)~Oa-92)A%ujQ8+-gzyT1IdjlOz1>l^2ApPcQtz9_Mcg_>GM4Tq) zcA{|eG4$Q$fw^daN=(xO$VoJ}y?^(}NlXh4oYv^z*1SjKBCu_FV7#qS;I6QIeh2y` z2G|vn5Y2U7V?LV&IjEiOQ~e1bS(N|A{s^S2?(4vK1jh7O&mq!(p!Vo7!+-s}`T~ao VpRh||t%3jm002ovPDHLkV1n@{k<$PG delta 333 zcmV-T0kZz91GfW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0T4+LauK0(a&3o%lh0^?=Xs^A8XBZAD&y zqktKrTNLO{p@68CnS%@_Q9vZJ#A^h|5=3<|qh(bvoI{JrDgZvnxI`Vmdx$3*IVX)r zWY{_1!U%T3E<#9PXADq()e;ndFb9C@PUDXujKTrc0tX-t-W%v(4glx;1L-$c=iJPZ zzV|`6nmCQ#Z=&+%Hun7*z*G%DM~veGltwhSt$)ubjTmPfoR*Z}mvTnq6IjO{4lf2In@bdrw002ovPDHLkV1m#cVW$89 delta 185 zcmV;q07n0_0+9lcV1JxRL_t(IjpdR(4#F@Dg>wVT>eMA2x+4|#aK>JsIh#k8q)~QE zBo;q!YzRDldj5IV3*ozpP6vARU_uFP+uecH4e9EZs2kDB0-!}^E1_MOD}sq_53%GO zKpX&Wf2J9R1`@%w{ZeYMx6AEY%B2g>6qOcGJtXx9Adci%l<58U#vS0u_$#qfjt&mo)A$t5X?#;#H@RSv8oqYH!wTy1@@SCn~z1>33zNTdA#hI zLK;tBKKrwK5f+BOcPiXIAZ3EGq!XB?lF}vXoFnmOOOzhKmZ<-|2OtE*A#?iPryQ_8 zz;cMo*!SIG;eTnsCxx0udn!ZqaYJNZ7K}x23hb5L-i|?zk8nc%Qo!Q^^RRXR?w|u7 zfJpskzhamjz~V7pRz%()V*JOyu!s!Wz%b{Ihb^)ZlIi`-WzHa$x%r-`lxRlWP^h5I znUlzJ<`_UOCK?brXl)ji`00A3wkRdT2o^)Vi;BVrXMX^ms>fcq_+9v_i*O=msRC98Ww#!^ zmUeaW7Jtu9a3!}76yV=~oiEmlMZMU(ZS}#M;~%i-HC=2_y$`~uzbW+nanDQrd|2;q zYA}n98MESrKEK%K22fAdI=nAVQU1U}qW!vF09e;qYYAU#0265dJVRp{zIMnGaNK@f_7?UyWj849+uk z5h20@eo|FuAVw>549@ko6H4b8W3;NyjSgrirkS3}JV^k^YIOeaLK-jI-2w>+KIhrP^9yNo;7x?v zELloBlY>A3nQ=5+5XODL(#Se*ot&ZP8^_%a)5zXAd2Vi;)gnkg$t&hDvZtjl`fhzY zDxi=3S{n29~u79K6dD>$KoT?kJ8wiB#^AEBY&V=YSnDLJX zef~iX#qqbiiK@?+JN|J50qF)@KZStwta9q%0-JOvf81e=2{-5l(v(vATlXrFcI4^H zKERegy?k)!_XWxG2g_c7JXk(wL2sOG4W%O_)X%t{ettqa0(wG-5|H~(UlpHS%6|<2 z@C)|UvrK2y?6W{A(pyh6r6_X~u+$$R`hA1E=}YKCMg}ba217gm!^SUc=36}5aU2T? z*J9z;FMQp`xIO05QfhSR7jDF3^YB^fg2K4?Lf%CeMO4UgVupeT0ADjPrK}X0h18Q9 zjzc_8LO{NNfQ(Z&7tt`Bv=oMvGk>N8WHJmegbcM{%+ma-3u~qo1%5GBZc?h81cgCr zw=U-(9XrP$$}d=C%QTXb%I`MS<$g+aAZ6nh41OWAd?VRH)>j)Ycl-j$e_bH6Z?X=* zpvc=fGV^99qOSZxCI8JD3A`0tHxu213%?ku#J;K5CuYVX&HpE-$}e>0uYcG3A6qY7 z`Nch@4-5eMSC7*ckgYzX+tiNSZ4TibXunYUaFzQjGcz9_Xur7DhxO>FI*JWIq-vkE zJ}jE{t7^4!uC-O9P}*QF8oyX?llwIQZHSrH2l&Mr?tlT#?tU;*gpvXPhsrNLRw}u# zs&77+27+42DNKX~CkhxEi$G5B~rq^MVubK5MZ6015yANkvXXu0mjf DL8{=W delta 1527 zcmVF>l*O6vvN9%B73W6qOcGJtXx9Adcc#MDUqY zGRV{kXeP3hE=cQWYyxCYvbPA}Y#o}xQ!=GMCjmw#W-t(R^Pojjz|YYCJIc~g4mot| zfskO`@7}w6eDB`hjBN&I?Zdg#VGie=Mqp129bc)a83-pcrGM0<*~1adtF#%I9Jc~{ z!oMw#RMH6eVlRGr+OmaYIDYf;&*nooaR1;;d2K)<6c=$LFite*r=oF>%%7ZMv;eNg z{O>IQV;~Mi^SdIVE7}03!#pAGHm8MefPm$+jrvx4^l?L_U*|$Z?{mb;t%swV;bSmj ze-ZFB$3C1LK!0{%AON6};N^3;*#R6m#LJ4bdin0lhq z9qP<7pt#mp#=L=|q|HPp*0V{+0x~r+fHFzzifD$PwkLJfObd8$1m-i+o0$RMKHOU9Z|9I*e*F3I2Y&JGB`V z@Z=d5bEku6XWlWzD{eh`r`_V@1D>7aify`Vf63l#M0ls=|>KAdY0D7!gpm<-OVf=xEMEhkq2e2${;8=ZY z0BocJ@bs)>%x)|H$J0~g;V5EWF3Yl9@^WDT2a3``-oY0rb2{6DP=rBIvIc$MSo%K!95J6)KU%)g#mcKDDItGCR|$0 zbk?QZk{PD4zUU7vA5x}t5h24vc~TVTAo>g2hm-#ibQ$?uVx2r_-48DSY%7#f4>n57am{JDJ8Y0A2Ji9$#)V+dJUR@T0p`AXblM8AN2jku*ao<3h0>4`^fRuf zU!Gm-X6rFxj0DKT7jN?~9_0oA=nL`9%hYt#YgP;}Q^~CtDM^&64LJ120CwM_Z+`|F z@*!p28UO{ud;q;lU$`Q0WX%OMj)R8lh{0N41ZK^4^rqS&X>_G8yhsl1;&bSNf?s^0 z@4`eL<$5-<0ObR~*F=rEn5oo3>&YyQ!+c*ufP4i3a+G+Pih6@lO~SC*M34X(^+LGN z10ygdNwzWJOpHW*8Z ze_-?l$%jqvFYL~Id|>p&Rz58I_lkQ%3s4Eg$;gL!wSG}778?^TCLw9VsjBqFa^2jw z0A#~Z82JEwv4nPjgY*0UY&V&cC;)Is`r>mz&3#dPX8}`Mt|f;O5#b2|{o?-63Iqv^ z6m3L%0oxQ3%31ACg2OF+AmPyrTyP}?CQtIhE%G#F(6*)hqobCqs;ZS0dz0aIbm3&qs;O{ z!!q{WN0*F;SOlZY@?P5+(3#RZLG94g)`5I}-zzl$sh$D?0tR~(Wo&??^qHUtraU!p zt@t9iyZJhikVG;reu791K&e-Kqx6jnAM`!wix^rg=fXd|3mHQURV7Ui)@hWEV_YzB z?67&sKDqJ+7dnDzUqcO5JbU6SFpLbWjpjcbe*i(z?cJemcF_O;002ovPDHLkV1iB1 B13dr$ delta 575 zcmV-F0>J&*1?2^hBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0zOGZK~zY` z)s(%Cn?Ml9k(V)lV9hyeQ$|_Y>oxn^`S|ZJ&c7Mn?-@Y6v!BbdVF9?Yo=fm%$qPtw zD*y@RfsNERVy$zeiM<^VY(!7Ev_{zjdzzC=K)Vld*W!tz)fWygeR`9fJ%OnpNoG1ltg;`AD#l;%LSmLPxJHwP)VLuHzQDBE=|^= zW1Xp*vF}fAj%ivAF?5dGkw~%!`hpL0l%+rHs~;a5QmN*~fOw@J-iA2FOETBj2GG4w z$An>#9%Ysv8kVu|KDuN)#3DG#EbsL`13FTAC#W5o+B%Sb?R%vLAk|YqK)_(HqKplY zls*&W!IY;4t`%PdcQ;=L5|T*9#7_{Z0VwpUZU@W)5r4BY;H9<~lLvMEcFB(b zdw#m=16SK#Zz1QTR(@qcWX_Y`@hJvUC%gr&oYO&RN!VA^ke%;>WC)CkLu2i-F~tDV z_<}~|ml6;IqOQuu+x0H+h^eG#-5SIXd`^ky{YK*2w%68e1p<_m4l8+w8(mKW?yz9^ zH$djko7M*X(0hxb2oK#N@z>+u3ez2h5#sapAPfmO2*U=!EDYyiHE1C8RiNm@YLEt_ zks9yj5;lm1v22j*7G5@pg_#V(MF)UM7-ECE4R02vWXD1#OiH7=^N*dBeWi8S{a|5a g_N`On;m3Y_1D|i~Ed4e-d;kCd07*qoM6N<$g0WSq82|tP delta 330 zcmV-Q0k!_v1GWQ@UljpCNkl=Eo5JkDcUJARBoEm?~l98)ap3w36yL^@> z#M2f%?BNsyg`J?OY6~G5RW)@f$j=6KS)m%lq6fS+_H0U_X+F+n3$Uk`OVNUJb=~D! zln^WOrw}6NJm`CTih14`U{oAiYnQ?l14!eKG%3GWK#YjG zu3B$zcY#Mt6-9sRZbJOR*OYiatVvwg4cfZZAV5j!u$Ei6$qh8(JuDcW2FUVx^VztY z0Nakouvh5uyPm)PEinBa7$LsjcfgQ<9WYD~WMEj&HYR8!^mU-5E^8lDyeU1`Umij`Ks(+}uc52r0P`$GuA{75yrILZf{Z_DK zAWI=-D*M_8>h^GvO`U-cfRs?n{dF7IMi6S6ezR2(Zgwf0u^E2w@lz^Gxlg^|#r%?O z&HWM1W<0cYyA7z-y(8_^9jKt9_L1BwfV8I=&R$K)O5NVy^ z2WMqWN!jSOY>(%;a@_88OkmKMfs)Mgoj`{lmjl00l6)GE0|l*8jtOLIfJM-1jNryI z8zXoEn1c=lf6UxsO(0)^!U3TSh(!i`5oW-w;8?~f(=J021o7kX4Z$VRc<1yD1BAl9 zN#YU80Spnl0MQcQ<0@i36^b;WYlK^$UrLe90CU(uEkJ@#>lA=M>;@$scR~AtyIx@p zAQGF^0URgogKb1tPyjdLXa<7OQbHAUEGZQIM~E5BCVy)uyC1VSPIy7TcZ(kW+v5+D W`qo^j#kA!B0000YWV{Q2cF` zY6gSv$Nzu6GX($N2zSf*Z=l(Yvk#EXIPZLbi-fgDBD}ar2p);>;vykZUeRu1T{^!S*i$ww-nA;3_tMkQz}cj zPrbm4`6b($`xVY+IJ9-U4N$GYycV)-!2xUq&^}+jRr~Tf0>^xR4RiosULWOI1Rfwm ziLajlCZJyfg1cHNA8_i6j)3vJ9L>T5OMNni5wZlP%}^cQ8)J$tT>?Ch@;PAAQ!oKG z39cfWR3tD7BpAz=K%tq&rJp}U55U;0d?OI)M62lCkP1^m^_!OR6`-;kuZB{X9;)Fx zu1s|>cS55~bIsL%6JVHCVDmoST~jcOE>#IfQ&z)6p(Jk2R&D|ctsKycfpBEzKw*lVBatz;eOhB*EflQ|Uj=&8s=Ycn5l8^0iKtZeI zF#_2dz$9ojM&Qmfs}U>!^q`@DnR~1W$X7t&0HF+snFD@*2ou08!7+_frkz6)1o89u zhTu#z?wsyWAQbjX8iACQ?If6?+CX(3V_Ha06lD@W*h1V25^yb!CO|M+N+^RHOA1B*2r&WEZ|!8`F^l7b j7xcWF)$m^!jv)90llsQsH8Gkp7}(GPtgPDWlN471n+ zgrgFHrz0+6qg}AC0Z*Kbl&t~Qk6H!gyFkHg;rdx=i!ftcguD%P2|_gB`)OGs;8794 zO$C?_jS^612U6OevO|eJ1c@u4tGmaEBS2Z1LXwrC%$Q{hf0D#?06R%=>5N0Es8m={ z5hUw+wz{QmgE;XZv{D#TKU?`F!FrK_2F$Xnm|+HCUqnD02z(;dXeoqf8II1AsO|~@ z;nBVTh{nE@BvVr%D9+(pK$WX00^Fy4>}U*A$_y(>AIno_rJQ06ekwVS5?`W3>3f?Z z66Gp4Wd?VNfAl2xC6$=Pbh&APQn@QvGAott)Sz8OU8$Bn-vX+OJ|*?t)YVaOKSR4@ z8xIz4cX2lY66^Z$Po;Q2p2piV^49=*CK$-4j|2mS_{Udr3#6ErE2plT|MKnUzr-1) z3X>%Ixw7YP+_gmNf4{hU_Spu}0lfy#E8zMrb){bJf0M=H+21%Yodw#@-$Etv%`sMX zjU1zbjkaK+*W0VdIDaEjrW%=Ezd5ld6>w+29#?masgTe}&W~@R*H<8%7kLiO1S+7r zQfn8N`G@NVV1RzGy`UPttc%Bq#O1pW@9YR&h#{VOARYlc?XFTN@&Evg#juzQoDB%K zz)GPAe*$gXC(edNaZ_MJRWot=-xmx67a!(r{4Bzvm?0ykRhp;0d!>n`N4Ymg0B4_B zMX{Mn^Ynf#u_T0Jt>G-PI`Z zC0kOwxi-31F|Xa`C~=Q5dbFlHyoG@5M8PbJY}Nv^A_$7x0UB>`fsXkf`pD1{6^OopgWl)9@5jA&Cu9FIx$*EagLWG&H=AL* z1dGvT%D5GURX}b#(0RZ6q0bpjw5OrFC5Fq+t6txHO{MpUyBA#Bi z0`_V4_5z0Om0Z zKHmpex>o|{S(b^tb+A$djI)#TOgwVSAIPpso!B#COEUv`fjg@CdufjBJ!m2!(o5=Tt{J4p&< zPXnc?(pXXH$5lOlJN*K`EQ(zStOTaiOV?gOuwG8f3>C&MD2&bM>B-L{%Db8Ufpo{e!0pZahb~J{mREm|P_vIpmxk`A7D$HWO+O$BSowcL5l_+O_ZqUA_j?ybnYysUzpNe`; z;*?PdFGaiJ8xIz4cW^fX3hVmugVtgg&7r;kV8~pX!DoldVO&p=O09=q(tVIua4NP25#BQX?@3-8i^9g#Nk!=@&cs& zEX%;2K@IfRx^i)zy}SGhjL;9Z7u3U-_VGB8IDhl*4GYnQ9OJ3`@*cp`?rV)AUjcxr z9Ony(vjM>tSZiH42y}6uJQ?TtRgMi+&&2V6UoZ@RTwpnq&#$AmPU(yxDn`@(M<%`B`juLkmqe~mQ;~VhFP88g-Xd^Hy1RpwEiNPK26^ku^ zmjT#Y+r}IW{>3i~8;{`#?Xn@kE5L8$HjF~Ljk5-t_p{{>8<|?ATN$41+*#%~&z9|n uUi(8;dT;|PcnF~QqCfoT@A*$)82FVdQ I&MBb@0Q`CqtpET3 diff --git a/graphics/pokemon/scizor/anim_front.png b/graphics/pokemon/scizor/anim_front.png index c5e6b302b67b5a8ccebee0f778be98f1c71105f9..2eb0806c7936df87c889e96bf6ffd950f1ab2a8b 100644 GIT binary patch delta 1412 zcmV-~1$+9n3(^aaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#YF_U?Hs z000FwNklqLoO|pH2*+z&#l+?5c=2j&1$_rN9axa4oAfYhH0As`g8h8u@s&Tl5*&?iT>}?6Yk*gS^m=l?Dw&p;`w5( zfz+}h)Br8-<7o|eve3i>>^Z1`5PSB?Gej)cc>Hp4bwQPDSZ)42mw$6dK1&j z95@pB3PLCVWz~UsrcP;sk3#h<4>)b24mgWHvniuEdVgdFX^LaMSrXHr>{-k1L^+#mKAm48tt;ZxtEZ7qTi3)vHa~YG zP$8?IjwZ;1Bk9vR^HK5PQi5zwK;xVIndRvK)6qmQRi8iy|GU5P4cmgI!bdChO$T`Q z!F65QEq?=v*zFpF_Gn}AxfIH?h~$JrL3APm==$#UsYeOH7oBCj~JJef^4!&OKfVpL60 zrY~gzuGf><4SnT)P&-6$A61Uy*?LBGP8}#{_dhP^IuX~iO*GQLs5Krc+9{oMJh`AT zN`Isl5JH{@BF0Tb4YUJG! z@Fp|>_X1BU=6NSKk!GDy; zLlaO4{96rpoluqn|M#z2APiow6!?D>ZNcj-Q3^bO;M69%KuzGO`UP~?CfL0^H!_QNMPd19gfy_c^G4VYf4O>S$e?6HxzF3^A=NF!kcHb zk;Dv;_(=8j1a|@?^i2KxyUxiSYkv%XAmER9H*ib9Q*sj>!6{?y=XL{j0S@2V4K7d_ z0m>Gk=%zt|IZ~u)o+7gfAk4re#4gWW4L1W9lq?=SuejRP|3K0xAIe}?0|cSveYF#? zL^PgF)+?!Y1GwJIK&sx3KoKyWtU&sy`FRDQ_Madl<85gR5a#y27nv?&YkdL83z6#D z2B5G2x~ins(#}Z>3*h9UYsVd+v;d)YMFg}%QCR?eQ8sjdh6NxXZl^@k0@zIhVXy$5 z>TX+rhCeV_fG*Io05-Ty&(O92ww#_dPtmpjVb%hcohm!qqrbQN04MlAe8PWI627-} Si`#Di0000J5voPg3>2PhYsb z$LIRh1MGIO2=RO|S3qJ}Au51|_i23&{ZZja`` zq}m83ga9Z2HHqn!22O+?K?n&Tttv3j&p2wn`ToFldpe}F@Lh^r?!tn_4{r(Xo)L^!#u2A~?HcJ}T=gy@f@0EUyB1^{r%BTSg=JCtB#CO|o- zw4$WMZhtP+4&(=82W+6$+SF04fYuK*WJ+<0zX>FB!;r9q0$Nx14(_+4K38 z>pjZc>J`B)r_Xs1coe{Or{{s&zwpsG)(#K6j&<~cs=>X1Gs;)L3DBRL7?Z&YVTp+W zaLyFq(776{F*&1I*T!%;-)=CAaWG3kE?GRR5P!DE*%qKA4Az@;x%B9KmxMY*UcTn& zY?f{YtAK8ZaT%g0U#bLLuhZEr{p5Z*(OvmcRyj^)>lvMMx`B+9&^Lm%6LCG;gkuGa zjs8H=OlhT)^pg6hkPILIT?Zn@O-L7L0|;m(fu3-z&%a-}e)Lik*q#O_KeKchB~`%3 z-G5OQIRLdCvq#%|B@fY80Mvl4zL@ga=oG;1_lmf4T zZ+~n=C`Y(Puqd5!1IJNxiV*25qP?J8JLA$75MR(ZcY}p z0ENI)3}FHlf&Yw2j|Xi)F7R&^;5AZN2>hQvD}iY7dWFFMC20y?V~9fF0R*ROqJIfg z1fEX6Xe6Q{@E(9`wE(5S2X0F$Ra;UblcCEPd4SfsRjM-GB{$I! zoV*=nzP1~%4{-R_Zg7FJ6`*Pnl7Ds@B(!IWG|iJ_Rslpia0Ri;wX5Onz$F!nN8d}{ zJ_VJjh1II z!q(kV79h~}z7w`>#?}Im7b4ZQTY%gGs8bawEp4ncw*Zb7T{~_7g#`$dD_|nPOhst{ z)JECR0BRP1fY>aFx&^T72EuAufX3-IEkMm5sAgJ#CSX_q8{E2QFfD)`P0#DAFfBlk p8Gva4j!dA@?hXOY-opJi?H^MTzPHwnfUE!j002ovPDHLkV1mWKjWqxO diff --git a/graphics/pokemon/scizor/back.png b/graphics/pokemon/scizor/back.png index 90049e102251f3aa8a590fac1485d0af47ac34ea..aee797574dbe9f9b50b0ae4e86b8fcae0614a17d 100644 GIT binary patch delta 658 zcmV;D0&V?;2KNP!B#}W-e*gz`Nliru=LQE3FC_7Uy)^&;0$NE#K~zY`)zwX|(=ZSK z;6&yCF?E106MBGzarbRKL62oyd%-bS!5NUcKw=Zb1$g3}f)#ApA#oRGY^P1@lx`tX zt4i}_JmbG++5hw8#VxQ{-2nCaMxw_x$MWhr*i?T9C31?qZmt$#f4hpo)gpvN*ARGq z6)X|=)a`yUDk(7m)8vb7`YHuqR7D1e2)T7hmCGs!~VP9H@;PJxaA;F^b^uXY*;#A`tN z!TmJw(oCvIw3YeqI9MSAyCAHc#IF?$W7Z00vmB-#wH?G7~hHjR1N$#aopw zsNq#+z$ri{Koe+Z5ln2$lEKoN0YCx_Rk@^11FhmAn&e<}e}kHPbk42is7r%mASv9rT^)rEC+7qnQQTTYSI$vHF(BfReWk0+pM zFSIiPFqB~Df1kcb0KUd7Yb7lQ#7R=v|N7b=yAWpC5Recmrb*mle}5lE^J#xLX}_$E092hd`0Dc)>Jucy)ojBJ*+RJN=&Iv3 shdABDc)AA>6#t(0XlC%Q{3rhbIWy-_U>w-a000002uVdwM6N<$f>4hi5C8xG delta 669 zcmV;O0%HC51%(EXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$xc(K~zY` z)zra`(=ZSK&_w0~V(I`rCiDXm#=ST71TDw5_F+GR6MO?w4@g{s_yJbzS8#$WHzfXr z8OLd}aY~P9BkgKe^E{pzJ4qhVlV;bzYI6mY&6Pw?OOB<*Ww0&&4RYiZX<1z?!nOs2 zi$w^Ft|IXAB3L6HsN2JTY*bQW0;Wn=yLc%DUlmybhzO~5QI+c=5l|MH&@5~l0bOPS zby-vl47O1ldb`maIP?Hb3#-4_wy2G1F`s|kRI0A;zER%z6Kxk|*h``r}yIS%0U zG2hL#aRN8T+|E^LL@46L@w>}rsx(Oe&yT;RfU4BK4Pf)^!=E-D6$3E9qIrLxXVD~R zmX!c{IK?{^AE@C|X22;xM?e#(7Xi#%%bda5ngKur3{|PCHfqA?evku@xpS_Oqb?1OfuwNj_GJ*fT93gKid&25%0-_-4IoT_ z^S7w<EyLC+V+3Q{Ka>Nu|>RA+C6iERgABp(r`ghUwYh54-?--f5(EPFPf Q#Q*>R07*qoM6N<$f+Fa(3;+NC delta 383 zcmV-_0f7Gd1JwhNUw;8$NklZGHm8IZ%c?gz}fbL!x z(Ivu&&I!}aJ9sgBVY>B~i{V%sE6ljg{S!@Dw8H%4-Vf2&6& zn}wNYf@CWUs_@tBglV_?_%l`*;{7=QD-1~;ffa^Wg%&3a%RVaRgb8COVK@<{6p1j# d3G-h+egTH3-z=9b=Kufz002ovPDHLkV1oE4uWSGS diff --git a/graphics/pokemon/scizor/mega/back.png b/graphics/pokemon/scizor/mega/back.png index 8cbc7f76f35af7be094411b4f5677dd49c6a5037..aadea4456a6b428838dae07dfb43ff2702b17a46 100644 GIT binary patch delta 678 zcmV;X0$Kf*28#xeB#}W-e*gz`Nliru=LQE3FDqd@pril*0&Yn}K~zY`)s?Z1(?Af0 zZEZyt=MLdCNVcw^wAq~GZIB=?+#?rx6_nzVHDa#gWJO|m1?Z@#=@4&m1)|9_@Xvaa zI9}hSh1KPXn{Vd-cV@B|1pm(oC+C0{H)nu!eWt`TJtH#RB#&FUe?jk#**|%=>`azV!gz2lRG10OTn^s{S~1spF$dqWf(-1gLin zdcRWb*fkEohm|s8F12tbo~^!_Y{aDw9PoVgV+aU430y-m^Yq=XTfbEdNG+LI|Nc5` zHZ;)7Oh_Cqu~Ys)HBXrVE+KuO0FYleU}P<~49qLN2c!qIe{ea+(#Sk!iJ`)ir9oz) zuj`ssj`^{BmV_~d)>^evowO)U-NPkJi&m++UbekCg_NdgasWuz2B$p$;U+E1(!B-> z-meWSn0*Vv=~cF`PtZ);!0ML)~!^VIV(H_Wxleh&6>_UEF0ThUwzdnHR<`Kpr zUA#IL;L!^`&j3W&U6y) zI%dAwRK)yVaVw|5TGG1lTqf#!3Q^eWB zBI-7K6c9C45?bYhz?5iz24Gl3g3kbqjIUmYp>V#;Mv)>S71y%>m}Zesc{UOy6LlMi zDD#n^GS4IfhT1?xxwvfB?X;1C}9B!>gRry?vE}Dh|h+0!W5{ zmH|aeE`c943N>6u&G7{DhoOS^!jZ8@B#OLS^ zU*XBzBC<5sO~X}x4)LkKmV~vXF-CVvpR_2={lz70ho#j`Gw+V(6jPq(*&ZO%SXj3Q z;#FQ%mA?%%v|n4UV0SHu$5$1bPXX<^(-w~h;>&7lZ$=(4R&xbkW9vsps>%WAlj&@d zpn?OOzjnj-0GiO<5lxUro%nGpL~d3^s&Nvi0C4Q*i;V$)C6XN=qZ7XaO6)>$;Q%B^ zyuM=q<1G@5LwSFFNWh~PW-0+B*j*prwxfQl@ml`L)IVPXK9|2~waoZzM-B<_MpI_`DzuEkW{sD`kzjv#E VeZ|I-*8l(t002ovPDHLkV1nOXIbi?* diff --git a/graphics/pokemon/scizor/mega/front.png b/graphics/pokemon/scizor/mega/front.png index 534d4403dd957720de7da0ac5072ba70b9f8f8cf..b1a69d54527ea73c09d39bda493ba1d987a2a1fe 100644 GIT binary patch delta 943 zcmV;g15o_L2)GE4B#}W-B>)F>Nliru=LQE3FD?;QR4V`g1Di=iK~zY`b(Fu3<2De+ zNf42vDSu>#b&5l-y()Qud#wy**_LF5h5u-N{N@v9h6vp(+`s+RSa<$8KALsK@#GAQ z#*;3Iy9uqx@pycd_$H}-kg{rrCCvbe=3?I z`aKB}!v*`}SH%lPQM6uh{({gCld39%L$+L-h1L*HA$=6RJC?vHE@C~DYnxE5f}vfw z7bh}5)&Q;baFy7Ua8JepOW0}xjGwSTsHXp6$k6E-}ZpMRf&Ndh%-+x74N(k**U zjF|qZveOCJ63~=s=77&%wqg#&dRQoVYFqMxPJm)s>DSL+;B+k$41fVh%R76ot zHT#jOXhF3WUX(Q^g%Sz?W0XZ%mbz@y$JQ_rzl4-rE*+pcN0vvFXPMj+Px~EVLVpj3 zH99P_{dd9e7JwAb2f0T*fKXs*&zfeOJo8*i*x1`!3|%)(Y+a>Cc+NNS;GWrpCy6yF ztxFsY&vUtUKrbnvuMM514dCTI-^djKpeRyq6Ub3-XLQVu8);Y0j7?KW0XZ5jd$}_J zv(P8je%KX>rH1>6Tzwv-jo{yCi+`v!qOge#!6Z|)Q!4S%ZfGeL4@r`SGaGE%CyHY+ zGd^5Fg{9$~2ij``J2xI=2NDZ0C*IC$6>YSG&g>($6E=+dfX`Zh=UUfCOgqqrD{9s> z0T!Tl;q6=lpRTB;3G6mHQFaAX%YrU7orGTkO%q_D>b1aqkJ>rFLVRvUxO~IVjR}0t za7pQM_;m|$vzu|tgjXH{YDo<1Kzkf;!-TWY?)E|51m4BB^D?UCz`Krt!y>)_UfeZs zp5C6H+Rll^`n3Xj8`d?kh#f8f?HqX$y;P&I?i7IAv;q#@0@XDJ%b@>T{6A@nTIf$5 RD2@OC002ovPDHLkV1j#{v(o?o delta 953 zcmV;q14jI~2*e1GBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tO1D#1kK~zY` zb(FD=<2De6NeGddDSsq~b&5l-y()Qud#wy5*_LEwid|Xr@t*%_EjXMGZPGg6b&>GUe`O}$z?=$gshz@zc zBcF3w2?Q8s1aujYz-t1#faQsSJh1?kAVsb%02AxYGB?I(Dn0x_q$FOM$D>gV zq(TCqzq(TUTz|>)^1JEOB2KmzYj2UUk*>FTr4-~7C?AIJP9;#~d8Ec- zYht3LKQ=4-;f}~o4L~V1-oz#$Oz)X4w`P-N00i}VrGJbXn>^Rcn2xLc^X@Y+=|E5H za`pSaWKUmX&F6p0wAukv0*X*YE%5ovo-d(U4=X9Ev2|Wh1xTu-dj0$bcGpn;@IkIC z0F|YnBa$eh=#NB(E20#4!xS}xI0OJn2@TUUvDM~}s2z@1LQ<^P7LcefSV&l!ilgHy zuP5!0qJP+;Vx1np^T)RUlz1-05e)!Bz99pn+j-}iWkSHh!O>utx_NAxDg%dQY$po) z&crN^jZR2Y;-p!YiLC_&aSn5>$vkNRFZbC_Y#adcJYgn=8qIM=r|h&7W@F8mB!Lo8 zqvdh{>kF80JamltaL8jrH1m*i^;rlL!mr655r3n3ZekOFNh%w=RN|Av*bu@W;y4Kw z#@}~$6i0laJ-C8$LxLsqmD>dl_INl4kXZ4h;~v~j(2c62>N zl?6Sxq84ovU;$my))I*R&9|rx|xlxaB6Gj>NbLbdLjWnXneR(>`jNz=!Deyi6K3@S*3x zVIExoH|jfZuG*j9n%)zO)oTq5cC_!rB3fJk(w9e0_)O{4lgnVR|sSP00CD?L_t(I%e9g_Zo@DPKzV`^ zM)nv;4`8GQy6P|iJY+}?(XB)8ki~-r>r6qH!h_9NKn4wB^>H0r1=^vF1_OQ|MN)hK z|9B|*N0oqU0>~)jdBRbuMGWp+DHYseuyKH}oJ!eq*R`a#0e`UjUb1XmlU{j%ts=l| ztrea^3cA|}?8nOyPdP*&73bA+Z&o5)XpDI~WNa_}CKkcIedTo{&wUa5uvXN>Qrgx^ zPf&OP9hFM?d!hqI85T+P~0bM>Vgn@^WqcA)Q6UO$! o(2v4YQJCBO1OFz>pZxd)AV3id+Q$zL00000NkvXXt^-0~g1C{aFaQ7m delta 377 zcmV-<0fzqc1LOmcbbkR_Nkl5dr5P~a9NL~Ffkr*VmNIzo)jm@oRBDGd9+3ESz8~KQ@Q+8Y{!y*Kbp^ClNXrYAR5vkr zXr)vz$6(`u#$qbv&Ry4PvtvO1dr6XQt<5F?Y?TH~wnpKJuYaJ=ronx@RCr1u0;wo1 zpL@FzoX}ePc1*}!`YaZ~zI~-_BhP&v`*2Rwnxu5ClYyWRS?-6c(6+Mnm#`>uU)S|R zZhf~Nyo=D;`Iu(53=!NZxTfg{ANOCwV0CH|4Mt4hXk|w*zY&(bJCw_J9yH1o09!8s z!U_boU+>C%TXG)U|J+L$oD)Z3jFCtkajnDYj<4+egO5cF6@DACIb9J{s__o*wdcwJBdJ>>jGZg14srqP5^lBzw91V z4hx$rfa>|h`+;UZkduKfs28u^ccAiw4wHfE*{iS4>orxP$w_SZ!G%Av(-N!z^1=04 ze$*HPRFeVz;#APbO1EO0E7nQ4jI4x`4b~#bRQ!mLj(;+4+F*+Fky0EGN=mk=*>n!v znFQ<2vpAwkR)zu$bXmUbVTs%PNpH)i$(B4J_vrz%@)z8bqVS@dyym834&k%L}uH&O$hZQ(DcY6 zQce*3f-jpAk=w=-+#3RDR%8)?%ztW*%8><-#uP^R5s^L9khF%@a%y^q zowLZPWtRlr)jL^h9hZmqe!pHi);BgMPKh^2W0 zgnu`WA~2-16kmrj0ptmw^l={Ae~|!uEa4qj8EvW}(oReO zCrrEH2A2^ze&<6BNI8rcE1?qpEwZ=7v;R?mI)u&P^B-%c+7YOX#h4li#+mCJ$2>a`QBM|G8K!IrYZV`x~-CkocOd#yG@2`3(6M?Yy z?g!Ns1QUoX!0zi6{xA^;6-rQCr65coRIH3$%~}Dpg`!$w0#UvaR|*6$16c`lp?~W8 z+uGBXyApUFy!sjJ=5Ow*2zmd{pCtHJUIjeg_~ZQ>3rLkF?l|wC2mX1sQIM)sO#VGx z`XtCIXc#eIA(45Xd!~?3iU8Z}B`vz1$m7oq|h{kXa(SNBpho^&7984T4oI3 zj+`*7HOsRx20YUv_j4s@Y=eC`1Apqw4kC?}&roOF7{KgZO#C7S=%xH9-Rq>qgScJ75m9Rl@~yU0VF{Cp{4`P@8NFqP!jpYBC_(N{f~fph6A=_t6n)5 zTVo-(0jh?l4-Ot59LoDYoPWlT^%U4Y(P^#GG>^=s?mq>dSLUkhF@(2^sgMmS4?G4lst z0&xSlNx;X+qXdCI9ll8P2ll9fT+Wq~1S34c2s=uc?(k$uFjCVb97q%l* N002ovPDHLkV1lM8>b3v? delta 1584 zcmV-02G9AM4g3s{Uw;M%NklLJrQ?atu9b zmZ=~o*HW5m={$CflVVNh7EI~I0vVRR|zf7$o>rv_zu)&Hzwbwqq?B~aP&RG>2&~^i6wFn#8|zZqS$`Em*R*%MBYNfNDHIE>2}*q#acpYsosPlvcGsall>_nTWn3w5^Sr4p_|Ho_&y{v05x%P$=rW)VnM%yk!Q%GfR+ zHY)bj^vZFAJv@+}g#d~r z26KTT;ZzG@fYdR=(5YbrpDCa`Ew%PkXj==QA%KQbbyd?+^c|;}(cO|n7eES280Lml z^(|A;8+yyF8Ex^N%?AQF6!5R!se0?U+`sqxwSN>IGoZ|T)z{O$mG+XcKt%w4+O$*_ z1vD{#iGXFQC+3&tmCB;8to8|kKm{*Y%n1-oZbhKaSTVW|Z49VmK0*8M34_*ldlPaAEnb@Oa10!)iww8*x! zGk-Hlv)$mvPK*IJNO{4Uluk-y>q7)cxPlmIffoFo6inG9Eig1_)B;Zc3M1b7oY-3YUniTyhQUaZCe6EnZaV0tk&&N;9fw&vV zf8Ylzdp8cnTood*fvt5FKwx9FKw$6AuYVQ@;yk)VAe^uNjX_4S%%C zVt1Sj&iUXx)5t4T7Fz`2mjlW(8X86fSV&}UAU)G)poD-;{OvBfUXmCt9;B^#mr0;$ z$l()!WN9$co4PfPDq3a)kPh7-qc_X5YXW#?gyyqFcjSPxKLhH*4nmEUq?tQv^kDWZ z#(oh2jACw>>ai_(2XIbd;eV)S6(<0F;xE!Qh*3x%{st zu5x;Wb+O2h!C-5}3>l?0HB#AW_#Jxegtk4|$#LqjY1VGtY1i#^7{KSn-bbmTWP(jJ4 zhXE8dp0P24>M14s(VHIVA%N^-^UhFUl%Zghpj2_5^h)XiNDF{+v>#@<(EJ|mHusez zSu7%>j@$nbm~Xn^C{D>QXCrIO^9fKjeWSPccyC|b{oynOh;5nxyC(*#HJa9;b))-F z0kD|CEWU#}#Q01w)auwT@CXosL6SEGLn-(J6*N3c diff --git a/graphics/pokemon/scolipede/back.png b/graphics/pokemon/scolipede/back.png index 2a8235682691dcaef58ee464567d7f5904278cc1..fe71c89aa4ab3808fc91025b4a73aee63b99d38f 100644 GIT binary patch delta 773 zcmV+g1N!`l2mA(*B#}W-Q2+;YNliru=LQE3FFFg1fK~ti0^dnQK~zY`&6F`~+fWe4 zg%;DrpTXD;h(a>tY)6v_@l)}XA@VbwyqH4ALWX+EV7<_T5DlH8&}8Tq5AKoA7JtwK zOTzc#?%w_Ho@M<@vnzk`*OKi(4YmU|c-sT)w6_B`@2U*djX<4q0;=BT3jDr$Mw^ab z#YTVALFz|D)H`8f*^lV5oS!5%Z$~+xtT_PKqxVQRfS=H#on#pd&;#() zhoc(6yOkU$32fdbwxfz$+`-h~`KY5+7Kc#`!#2RhAxmx4Zv;GK0qbj|~B;)H;6S3Y&1 zk!dYQlI(#1CIW99Um>Q_D$kcd>1=m4n>lhwG81rphbYxpg!#CYa5S6UBc7##h2HpX ze1+OG&w(K#1)v%t`gu3sD1U_Zq+T8Xao5pRQn^w5YjI~ZEJuF;${o5C;xYarZ!^zx z24f+34*HAu`{d;|Edd&+RQUb)=Qt?@ro0Ca3b-x?rkwL$6iF^`CNCGsbXqV!Xz}-n z^^`1D0GUN-1GIw3DkqDTeJvZ{f(7s{Q1#2zUCq=KK8>6x+IFL+lz+k>fan$grH4zc zg``2=DlqLJw0g7(#~XkPMyH@ovc%e0Lr52dD7ZND#iA+)Zjlx;AGzrp z!05K%=EY|lEsB8j*(NXJcv}wTF9Pxq+8^Iq|DpW`U<0`-fC-Rz00000NkvXXu0mjf DZ&zQ@ delta 802 zcmV+-1Ks@m28jodBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^&(TK~zY` z#gs8?+fWe4g%;DrpTSrTh(a>tY)6v_$y4!^A@(z!yqH4ALWX+EAidCo5DlH8&}8Tq z59#91(IHbQn2I<7d3m3q_uiA7#+Kcw^uUtv{kXe#|GQ`XQ?qM-@jK~ez=6$x4gTf; zTZfwgoA*?P`dXmDIRSNle|-hPKt1C!pE`aWn}c-+X&eyI=tQYy_q;OTksVkzW0+c7 z{HVlV6^zvk(BOmo&sRy3d@cZF?7$W5NEMoAuwReIW2bJk$p~O*fTjU#hX4m4tQmlE zAQIp}UZVrr5AaFWDFX`0!aAc8ay4uK;|K2q>N|+B^|-|wsol$e0djr?V>5tVmjIjd zc?JXY0eto0ss`|0tpF+oz`L+_LLa*+H9!L$19%=H zDuC-E06u77H^}=qiXv3j;;pU$Vh5VM2Ma()pwn~c8(>cXZx=vj0#NTF4j(lD8W23q zd!HNYw1$2L`YeKfcUA$>IqUj&ZUi{<TCg2PPeDi zsVhe$GXYn(h*FJ3RE%2%!|C)M@iY@G^2fL1OVplO0gMnS0M!uF&%gdgA+#s+ivWn* zuC9{Gjgw#VTccq${sU0%$fFRC$rpK(d!92Gi@Hr3i)~dL=;R;X-R6X;v8DUj;^Zp~NH|Xs?4cfU8>_XK{5E zAhE)G(`tx)%W71>58cY4x(?X>Y6jCNMp}3=<7qh{7`7?I+2Yn(1|}VZcAr+^Xbo`A z=oHjRmRf6Ti0Fb4B^PJ0SXAZEE7L+2BR6>i7~iY{ReZK^UIr|d7ekpOn{p_B8Bm1K g{-h+w|2E6|4PXPgDjb`V?*IS*07*qoM6N<$f(#&Wp#T5? diff --git a/graphics/pokemon/scolipede/icon.png b/graphics/pokemon/scolipede/icon.png index c5b66dc26fee9a169d03c03df416e8bbe466f35f..e00cd4d91d074117255fe395f95924b40dcc3151 100644 GIT binary patch delta 359 zcmV-t0hs=n1HA)~Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#a-?$kC` z0003XNkl>RrJEuZF}jbdnuk zWk-@-Z=p-6Ch6xS9mfaoXO}Sm%<~zG0(kc^C#VGPw8%_MtbfflNjU~M1z(*alG)j9 zdo#rvv#a4F>(42<9$m0mci8V4|Q1#tWLk z1VJ+xFDQbcC@6q24}*z5Di0?5c=ll8NZ5h-=>z!zAK%~34w;y6?5qF)002ovPDHLk FV1g9pm^lCd delta 322 zcmV-I0logc1DFGlUw;83Nkl^@6Xb%r5=GuS z)H{(Cd9{=nOP#ReE5?A`Os%?9WrAM^oK7EOe|8ze7}0WuvShS-TN03*cA6`b5^D>M zLQDbp;G>s_LY>`qFg}*bRvhJ2+?G?xjkcSkF5IqfrGJ*U&wqA$1Nf!z!9L4+7XTd^ zU%@)6sgf|f<6#bfbq~B4G{4Bu4ZK>RD-`j}pjGI4ITf+lKELUsIBAR(W7Y_Cmvjue zTnXe=y9($<@1M*VKe^Vq-jZQ)D3Fg=D_27V1Js=FCfk|2fY^UnzXLO`6&MJ25|~-g z3QQ1`z$8HlOgj*?fQf<@FhNiPgGo>X6TAC9nB=1lV3Lo=049xu9GI^@fPUcP6W`7b UneS2Wi~s-t07*qoM6N<$f&vASGXMYp diff --git a/graphics/pokemon/scorbunny/back.png b/graphics/pokemon/scorbunny/back.png index 1189ea61f0adb9d16d850d1d27a67df8f5dbfc17..025949e0ddfe6ae479b52d0b29cffac7dc020205 100644 GIT binary patch delta 465 zcmV;?0WSW<1h@o{B#}W-e*gz`Nliru=LQE3Fb3(l@=pK&0h>ugK~zY`&6K@v!ypjH ziR2+;vvu&2%v~xfWwlgGc<6IL)+)%yNF>YVwd$;Xr~)==a5y@)x89HY_}_7a{7c*Y z=6`w0`it_A2R^1GunCEaX&RHj_!R<7W0lH09m*vD28_P=3^0xRe>npR_~KB2l-9E+ z1*H@L?9(gN4xkutrBpM3Gkr}8xS1$DDht5*Ej@xOJ%So60BL}{Qvl`sAdx8_1E7&H zL$E3hY+e2#1CV9`B(_P?I!z96&s8P^aUxkr8FX9O+yuu7-vhKL5tL}T&J^K^la-~) zNC~ap_El1-V5S!pf1bgb;*uDh>|p_fH2gkBVeU(C*6=7v!3~T2ii=3|qUABri`CFr zJHX1id%x-6!K%2$Re&K55Q#JcoyKIIH^0^oI;#kHoK&OG0>eJBTmVPZw?-tgw>P53 zma_KUsv5tv<<45}6uU!(T-y2netKXxU_cKSo8q|@$j8`QO delta 476 zcmV<20VDpn1jPi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iH=jK~zY` z&6K}x!ypjGiNxTs-a2?m<}MYLvRbMoJoGtm)+)%y=t!2$Yt>o(Pz8+B;Ba(ozx96H zpAR_lKb8L$e|bvAX>mvcA9EDgt%d14Pf=j{S`*Au8LK=W3ZDQ2Cf9rdn5X?x0R>!h zC_oAm*%QhbLjZI1$~p^wFbudd)^UI{dyU1(Zf5ML3;^f1C_u052x>F{!~yco0F;e` zj05>`1-dvuVO1FiGFyL40HpQ+(gLB<1a%6q$5o;Nu_hTvX$+uz8A9NMn*mysSeiZUdtZESyp+fT@u0#`f zPFoQIL$kRw-j1+Qe;?O9Jg5vu+$0#o1c6Bl(1$K;W&~Mn@2mDteg()@v{qZPx;5x?Ll5 z=nsT&eWz9d{|IO<6u_G_(_V))eAqx}VC*NLCc_)6EVQS0o-oOJltf_y`dWzE19l<} zD=nNHBcMBQVAe~ifAG&E51f=>rCZN~l?rtCcwZlt03%GqU>sGxctA>`7L#h0pd?_e zm<^v)f}uuOi`1MGQu{=q@9Ac-sz>92>1AU-@ZfmA^sk{SAi2pdQx`aqcIZI%^og-* ziB+tYU`W6pnI@qDFC#Se_do((N(~J?cwR|O4^}xYz0#J7Vh~j;Ht?k$$!4(y(-8|d zV_Z}wco~n43<1u80_8|#t2h8{;p~v;c%0{R$tyU_iJLfn&a=IUUFF#m0nE~Elz^uh i^;~ei__F-lH+ut#shhez-sO@20000)MN z3YeFdEGZ*Ed97?xmO0gbZn~6v>)P_uiU63C&EUSvD@FqCg9h1bXkaV#RsxxUr68eg zw5Nft?OFgs0&Ij1pncc}!lvh0 zQjG3Af0n>p8d)`WoZ{7yrz5=KGc^$mcV7gy_KbqSLV1$VrT%gOJ ze7iGkB{8%XTJv}U5_b9<=@v$FbahCk)|HeK6=~MnC z^N|zjh7MFupBSgt*u`!QmIT6)*`zcOY=n(_JCH)K(g1li5kMmieX*)>9h`Pl23GI* zAl7Cihs9UiFdiRM#<;32ivk-J1H1|cOk^;#qwV-#MnQHshhf3bU#f10000QMb{CP5_rt#N|N$)8Q~>%3e2*D^5`M4nZ5E#%y?Qs;G&c}mk@m6gplg6 zSVw7Ahq{4^5*wGAI+xDKk%Na**5{*1ib9c^MkhgCw~Gca z->?5UygvtW*!fu6thnjk#3d1lAMSTO^pamPc8X`J%@F7Z05O7Y=WXz#F zddQWW7@AS_)JQILYPM?AM_=!Qq}1;!RXt3Vuzd()Qbf%0XcLWW3hsegAz;YYmXq>) z3*!rH}6a|&qGR%cL1UqoL_J<@KWRJa-6 zGcZhG8rr$wyWCjCEhk4-L|@Ko6%O{4logFYIleL00aO@L_t(o!|j$qYvV=~fF*S4 zB@jopDD)6En;#%EwrK;l5Y`_EMk2eAgBkS5-zde47WTT(F1?jK#Cz(Ym-Za92OYA6 z9BmPD_L!oxGJPX$w!88?`BW&h@96pT^hWbM?=y^lTbQjKz<>y}20LOtJV9+)6)bl}L?*PVh3QN7f?luD*m~=_N=>>iS zFd=sVJn#X7%FqSqIk?`UQX~-ZK@8J`*r)X}Qu*OoGSk1qI*Hxlk|NunEpW>MyIS1LUNn^5SQaH45<%gg;h+J)VF5m zx8eEiWF*MbTCLAl>yaRVJt3sPSX01AR3RGxm0>7zY8#@E#RF>{5-H3M^Q2sc;i;zw z90-||eY+oV{X3kPbr=i1yw3|g&@wtn5_&S%ccqCxcYl&s5!T_5fRm=+$>m^QUn2rZ z3d5x_;JO4ca1+u5xM6`7;8Xqq(lp|G1O0!8O}#q>OtZez(N@VuPMoF-ILrr=>Q1Yl z_8nX#$pWUMdw1_f-D&l98NgYZ&LAEYd#jDB12{|5tC$HlQ(e`5QtzkxkznZ+!;ZkN z$c?uDC4Z2W-NbNR+{+TE6}b|hV&h36S=+8R+~(o2De=Ih{L`*CoLE+btN>Z-yya*k zmy8V`HZm`eD6-;9z^fj?u9L%SOXe=CeQzt1Wxo#aZt zF))bW>+cER+t=l6kAF;v;m+Qc>$6`j3E-pzF5>x|0`L{-;w*mijsU(}@FcqU0lxW_ zD1Xw7sv1tIZCarsngpXC;#gib2!=Hjw@c9^7^{!BbtM>E6G>gxp9{v;z%gu5Wf-<> zEnvcElPSRnLvSsn;aj7Zsf&CWvVP=du3-kXBAjV?U-wUCKHxZ!x?2EtlFis`g0qI> zMDki}%MO%aC?KDTO^zewx^4$bFs`^PZhyeu)JKxC149YMf)`m1;MK>5vIBfgf9l{;)0# z-PEZB;}!bD`dZ%(rC_{|xG0EzDFq`9N8+9k)>1H1B@o)4`%ExIuJ6ddBi9@4Co#d; yB;T6o9p;*fa}Xdy_tne}K%aHi=;+7V94@ zl6?oR20gh9EGq|6xCndEf!l-JkuF@}O?@0BwU;YY7>r4!RpG+bjtDAJ$&(q$PQ3Cw zrAZM;Ub*wl)05`yyie2qZPDuf4Y0XwG$+`0jID;{4c&2!9)F%=^HTxrI{P><5_zR`%t=D#W+C#jT~LON7rMEp{KQ6 z9W7TDLxB!soQYUrfW@ld4S>ur^ltl-5RIXOjAw5P=8JaOFvTMdNZ63)$u=~4AF zLZ3_taqZlsg&H`~rcvbDJXd#RTl_qY&OA{^hyr08gMZDF!B^@U1rWtBOtb-2CGdf^ zA&!7*Iw%1e&|e{rJ=z(l|2rhGZzT|es{zXa9LDhse5>dzGeZSX62})lVMZ#us#gO#?8agwz96C_L|5cmZ?q1iWj7JA z&Te=K)PIUxvOgoUIpd^PyY4KO-90p=I55tCs{uM=Nk#Aq;I+<6tc)jw4DT|Y7lJ6# zVjZxnEu!oA@KWcwL2BPyPkGtzL&@p&)ha_y1jjk@zaXUCrQ1)ctA!vG`PT^2xcqeeLO{9?kBxQVC4A(m7F$}h5|lrDA0GLV5qLyvc?doG?YMni)z|OFMJ^2 z!Pnm*z!$H|+3tTIA;X=#E!Ss1o+H3s2^{DuqwmwWTFJx zU}dQk4A%uiml|FNd?GLM#3iO@q=wdVYDI)Wd0(3cJReXok#?T|qLU_s%*LGmPQ^sB zyX!Zuv;!#^637FV4dPXi_j{VzU{FLay}McOaTB1>-_EN-m5mSDcuAEBqmbQ=alG07*qoM6N<$f<^2FivR!s diff --git a/graphics/pokemon/scrafty/back.png b/graphics/pokemon/scrafty/back.png index 9d066bf0b1333a3f9cdc0a1b29469c4846817204..ca3d0f448f1620c2a115ca0365652643414271c4 100644 GIT binary patch delta 512 zcmV+b0{{K-1m^^hB#}W-e*gz`Nliru=LQE3Fcca9g9iWr0m?~4K~zY`&D61O!Y~j9 zV5AJ4kf;iM4ysGK0gA{2REi7}BVk2CZPl(_c!a9z)~UP>Gh|?Qhs?x1p9wVaIdtey z3mEXne?I3#qw&|v1E}A>iK12=!2PHNHN@Az4;{PsO9LELyeK4af8{!ce*z&NKBBin#zGFd`fgNbCqt2pv%mFrs6?Y+->wP(()%SibN;KtN#n zy6o}*m##5gS-=xzfAHxBg1|=&7@Y$cF@0Or0gQOIK~NG;D|ef;#_#sHlz_0W+ABve z196O)Z1ACQ6IVoRWxxesgb@=dcVq7FuMk@)B{MFt0sRs&sGI|7Z==^521+TcQQdE< z15nBV_D7H^u11;}Fi?4qB5Y6u~nZJ7gyA z`AkR?+o3~;TEM`4`OoLr`SaxhwAXKP7h2colo;4-2$c5EO#0@IxE6O1iWl*=;$uL3>$Ca?>5ma_&0uG1LI zK=laIG)>Gm;+`Vk)@(UktUadn9>EE03Ic8e z3@gBM0+Tv$vl7T5?(m=HCP0ZCiZ7qZ+j83+<0#NDGx*QTalQc^IB;l>4)$^Y0000< KMNUMnLSTZ|BH(ra diff --git a/graphics/pokemon/scrafty/icon.png b/graphics/pokemon/scrafty/icon.png index 0e4af9f53ed404c169346674acb18e6f79099a0c..daa5061b08613d626969439fee48baac6bba8a86 100644 GIT binary patch delta 368 zcmV-$0gwKo1I7c8Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#b86SmJR z0003gNklUHc-?EZ}@FGWXVgl zWFw}*ATiWsDV!tq0a|bO>A$n?^f}HSdj^zM!@fV*;H}K8$bT2-Wkv&YURmIrA4O4; z9#aS=DCm+cb5FEo`EuvdUtqC(xVJ#F5ME5`He$@jDbfia5hFG3)5;HY{ZO?(08~A1 z(F=ife17t8gBy}f>)aw`HQ zPdSa$Jgq2zb!jR@MHGVWxOEE(a=}W O0000`XCBs!uX!Wu=&t*uy` zEm1`kZ^_#*bm>b$x}^z?9Vr7Q5+Xh$@c?k!{rdkqpY=J;A1e)w)x&-`*uqPdS(XpZ ztBe|4UR%OBKZ>Fv8C?h_sL&@{=ACF{@pR+SEihl)-C9C77k~bS^eSd7Kx64efQWH3 z-J{Ak^n$2S-vTtPtIFAC5*%2wOvosj=E}g&5{YIkXpHqktjSBX#4Fl6PKWj%jw$Eg z7BoMO8xDK>{2}F*1uC9$YH4{|Qvp_~5H&#v`s3CssE`ZB3L07F7uO}-^1ggNTUeg% zSG!9S0fj!Bp+!OH3m6P1L6tg)c4!C!J@S#Xp#f&(!|h8X1j+bOmAE!zLB58aq(nf6 e+9u+6K0W~{N{dSB4RIU*00006OYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#bC6x$0m z0006%Nkly^hmB5XX&_l_+Qc(Q`+g=JEm*UY|s@oV*)F#IEACpvJcn;svgU z!gn>G01pu%`5J5&Na^e=klZEv49vz!#m*ijAWyN0G{2qwnt$>9J#VnT*6uvG1$cPk zaE^TXeDc`gPnF8f+O2?+{>?e#wDY z&QRdhRlfY>1TORCrJ7w}z>8-9Tm`fIJqna%`Tb*(e?S0IX|0>`nxj`41E9AJdQl#^ z0e{;T_-pYNY=6xh`M|5TV9s=kTDRXjy9Ky+G%lR}>Ui9&Ts!!2f81_xKWUy!#)Za1 zkj?SY%__!2#6Kq|dKGmz@C^VSb%Y};Y&!trdMy+~w!nR#YCTm5Fyf|a=AFc9XWG}5 z5K<-77K85#M@T6}V%aI_Ym-W2iAa6}gf!I+v!z_{g?}aSLfM-DzaJ!)V+KBl*{}rl zLZ5n;2#H5RDrCYu;#-a(V5S*%N3`8GF%@INIE`>Nw2Hw78wAFGE-=0#eXl$SjH<8_ zMRgDub!5G&DCWJuC~M8^0%cPefzj03-Z>v>y_wI8d9Bx5`x0HGi&SNxQS9Gq&Pde3 zV>gbkIe&r9m~mIaP95p8ivT(I)(Mz|S-DsE698{Yq)+NJa|3FM0%8v+Yz>k2zK|#5swnoMKlM zO{T^X%=9cFzQFA;+*)9rAz?On;Ith9KYt(e3yr6s>yzW#MS`bD{tQm_B5rZuCjdNdDMwb=v;ZW_l~C?t&@~SN zru9f6K#!ZQnY0q?ossP;A*4!~D+k{-j*wD{)Ui`)dy`3{RHO%hkfyugZYigH>Nt3j zv=R^x!oviFh5?7WVF^Z}fE@ynObLyckm-=n!0{LY?te6w?IXIXO-;v`G+t4>uR3+= zgsU?c|CPb`v2X+B-e6RPlPIda!C1!5QpE|k2BTbRCy?lMVGKsS)b7doRO|I*QcRY5 zwQ(=e#=6MV3_Obad(DS5ZsBFup07ED$v8viven3QT(%kD%zf|z=D;lcEBp(94<%|3 zb%yTK0%K}~0%8Xs{sMr^0v8cdEEwF@Kcv$AIzl`B%@23BS8oq6;c^Esw*wQON(O&i z3BW%v&ZBTTq=CyF*uf9}ft#!QA=vIhsIwBCf4KMh3-Me}QIZ7RzyJUM07*qoM6N<$ Ef}S=mjQ{`u diff --git a/graphics/pokemon/scraggy/back.png b/graphics/pokemon/scraggy/back.png index 992f635c8bd7b22d4ea28ae844a51f8c73c69477..446961805f63139c91b8cbe00ea704944ec7caa9 100644 GIT binary patch delta 453 zcmV;$0XqJ)1gr#*B#}W-e*gz`Nliru=LQE3FdvQ5T8{t#0gp*UK~zY`?bR_)!ax)N zU}EUTAS5~)jE*FPKfoYmtqBhk15V{gh$Hk3{*ub#;9~d%GO@^X448ClM>g$m@I6|w z$lWm*Cw=St`tDut`kKrA$8H=H_kr5s9&uXT2Wm$Et-5KAsu1X1e`tYKt{sa$qN@XK zQ9c(eY)t`?L?6Anra&5a_h<(F$+&Jf_#&2s9Vwvqb3Vu3RU{gZ@%> z&3O_FbDp;v*@_(#SeBF^-v9!@Ctf^LfhHn!=fWjYth}$307v|3xNupCc0r!T1__(Ln+7bD zfW?pndH~;>u)t1)yPi>0E1M*Jg)Ar|Qn&?1j)my8*O_F9J0bS607t;je2plYgV`Re vCiZxfb_O)Inrz{)g=zJ4P~z}U{V6{H03H`YU;_r}00000NkvXXu0mjfSUAiY delta 459 zcmV;+0W|)s1hfQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gXvSK~zY` z?bI<(!ax)N;EUll1|iYeV00uQ`~e0jYfU&zj5w7eA&$^D_)98_gNxx8=)@w^F<{cI z9oe+M!S~t*i{2fBaniTGukXFf^&a~VP3%>6f#&`WaopGing>F3TecnzDZxK80$yt# z${~Pf0zFwfl_VTP0hz^r5d4;*Kpt@WU>$IGbw073DG1Vx;T9SU=7qQZHH{;!U_(z&9mA#;heG*8uoc zmKV$vX%kBx#nPUqqlWB9fLa_`@?{!QSwMCf$_9ueMp2Fx^+=L`xe>SsLXo_gIz)2> ztLpXI1VZ{JUTZvYZD3W^f>K)`5Om{}6CLOPi2g!)NGkRBwHCmHo`xsR>+yF`!nJ|I zp?A|3OD!NVCIP+>Ux(nr$%L2gD6CaXqP_qUn2|Z$0uz@5_`NifEir&W5x_*yH=ipC z_h4}b-hlxf(kXx@_STSH7Ntgft002ovPDHLkV1leX B$_D@d diff --git a/graphics/pokemon/scraggy/icon.png b/graphics/pokemon/scraggy/icon.png index f1baf8d0783dcf1f9f38795ff9905a8118403140..de0377438a3dbe6279a3847a9b90a3f9e2383a03 100644 GIT binary patch delta 263 zcmV+i0r>u!0@4DI7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#bJqP->v0002BNkl9%1yjYbQViI(q7fBj6&?Y{ z>co@`5j2>^?vG;z2kY{($?l(d#{6QD;8|Wbyzlx5Aai?$24?oUg|=KVfX$cym`8J6 zodA%vN0{=Q8%OX-KQ-BDl7|qyT7^7w2s(~*gU5KnMO-81Umumk!k-I*#TNpx?;;As z>@-OGu?D5mdWV2kV_o=RZPf14VQPi4dbM1w3wkp7nZw-_e#Ec&@djegTRy;CI2Hf^ N002ovPDHLkV1f~QY(xM6 delta 207 zcmV;=05Jd30-6Gl7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{Sm`OxIR7i>Kl)(za zFbqROeX!Mo_5XjncxxGh$gtC3L{}-UE$AC#>wiVEch9p4Fc7T|AObQ`ekoLf=71UG z2-*Q-6BsCeqi^hX4QsvPnciR9M5^mqBaeMij?2_zPH4(JH%3AW9IW>_PDaS?xku zh>br$SNN>R3~uY2V&<#}%&@nRQ`*zAur#v2z}h)D6c*~$mngaCGxUw*I38(iAGUv| zor`1MFYnD8&C~yHMfty1eMcM}?f^7>M}nhYz7o*dD*)BE1F9CtD)fBcDdJYIwF!7r z#M^HqfC0eCIe^wt`>kvXM%(wB0BA>Te-qFJ09gRaDj?DxQUHwJa0Afmb^)l7PPZ$q zfO?ch^xW;y;qVl11R~O*6gQ)d03?5)m{MmOa7yJs?S#@MR5*utwE|L<#uDgA6KHj0 zalq~I1TrAd?2~*8@(KW0B&1P9p2;gHnnnm|dT|cO4nebQLPCrKs1QjKAd3Tl1QErq zULlZbSv<}>1LJrUgypyqoY`bVSjZR&nHdmAywwH?Mx;+n;xSbvp2^Ha6RLk`zg_|m zd?aBq>Kk6n%-C87kbTX8=K#2H8eWV&O_*W;K0%eA2*DSY-S^@LYzf=ce*5#3j(YhmG>Moh_ikd^LXsrHiZCS(>gY z03hB7n2Q0#rz^m)#ODQlEz%jpv*mXa?uB?~2I(wKv-uVmiszzJJ)eITnCdyeb>*Nd1q;A*UYb{Nz|r7#hnnpIlo#`_1zsxO+Cu7% zxOTWB-m342`_4ANTv>mF4GBow-)d91Lnr`MRW~Ha0adkZyDm#G^t%qXAXcl@syYBP z0^z48r^jclmM`-ds5cyf@_D2M4nk%j3@(X0PP@J@vq3q4Ar20rQUIF5-|+<8A5i+X zTmT&?>R~TW(4i5ARR(O;I_wk)&YKeXMz&^$ojk#LN2dSi0F-~XNwFT#JRV838Gy)i z)!aW+VA|9{0D0GpFI|w(%O-URc6XD{{yjV5BMN}OtD#RT# zkHn!HI8}pfkiN>r9Rv@XM3(_-%G-cul6YiPW&@Fa_>m-@3qTmNSPLr&xOO|(g%V&v zcOYSbliWa0!BY^5a=F&Z2$g(l+IG`hq*Q<9!VJ6Z&UyczrNzi8Ds3R82mv6 z_??T9nP4-idHTb@b{XL33(F-q;lf-6RCwHQ1cQw52jz;g$>R{>Ymt8DK&|8t;2a^u z*LXI`Be+yS%hF;^)7w14{fHnZ>8x156oB9#6!c}b%#e9b{#L5~L3ue_?r^1xqJL0c zWc=;+w-l_-JKRy8#sg8zvg|-8rrp}s+4!8fPEBgo8 zByN9Ym;FO|3M&4g43zyt1t|LmNynmpkSyn0(&_&I6bb2n3HFy|00000NkvXXu0mjf D$o*D3 delta 1225 zcmV;)1UCE63X2Mm7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1c^yRK~!jg?U~WG zn;;NH9mgOVR{sBUJ7)$EjRIcV)jpKohveSu?SN=J(_#3>2R-FSe#p}!0gcn^uL{7Q z2&j8u&jds?x=sT*;r9liM>kE=O+os6#9!Tf6il-bf{%jt@~MCq&n6(lZwuxq0ROtj zi(r1uQGmDeO@Z-$CSc|9ua}2lo{gU;62y`i~c@w-Bn+QkV z+nRa^J|AXm(QAGcUIktkLnstrB`80(1d(@NW>_6qMw{yDH z=|vwx8@W9P%K{8|3u)%+9jo*u*pX}90hiR@U`1Y$Ok{tIKiv; z_*pJ5Di=@Q`c31{vN4x+q5bAK7VthjcoZ-MOxFVN7xaKrjA^jFxDdRL3;%7Y{7shN z-Quf%@n?FnwV_#@IGdCNi37ZZuwdQ+1~}Aji2?Qb&5TN8+^)p5r+?WUl(B$ z;Aw5LH!!qtJ4G_(9iNJ6AKt>VM56@p)4n7w!5SsMuL?+1&2 z&YHa~`)=V`n+etDEVndgo4o zefgwIS|0ni@QfBhgU3|^C=UdWEq!x;wEV`D+CHl2;cFt zxf6y|1T70MXM$FE&kBL*fxsf>$$xXT`v;B6n*D>8pxHlY30nPw7T@e2v;?gv{y|&N n=pVF3vwzTMdBFZ3e`fpwK+-vFVz)YZ00000NkvXXu0mjfL&96z diff --git a/graphics/pokemon/scyther/back.png b/graphics/pokemon/scyther/back.png index e161746499468d77a19ec0445aaee1e88ec808ed..863bf3366f37cdcc0752c55198ece15f61622939 100644 GIT binary patch delta 717 zcmV;;0y6#G2GRzQB#}W-Jpc!ENliru=LQE3Fe=+&o~!@>0<}p*K~zY`wUj-I+dve6 zCFBEm;vl99tc&1MVvIbb2!z<1N8#5)R=|4_6P8hs8cIE6-4Skc)>$FQPoD6|SIN=>0v6;za(6lGPlcP|4YO^Q)f zJ#5Ay02K)6$GZ@KiqWxJH`8&T2vV%7^}{2C08}8LUxjlt3fs^RFXtdYr(Y0grn6v< zhJOIvk0R#RfPPIt>P8W7PS-i~3W25v+SwH#7Su+gT#j^eipPGA#lA#9rw)*67N1*Q zE;~T)S8G=UJ0Y-{oLesSa;fzJ@6r{K?ig>?c6#^h$LJpGSkl1iC{_xftv9nliDd^= zWw-gHWdKlY{^oE1-N*Y5U=)W`O;28qg@02tDw7lkrBvVz!iUR?tNV6y> zpjGDl7IzA&Qdjpn-8ul;ZQ(0uWyf{dY@;p(fc@$#7TwAaZ~_Fr{mO=lLkAohC3^tA z7uj&1A040zk@q=%{&?OePFeRkq)h;fLk26KyLBMeAYgi6c%J9IV&7N}^t%Ki;eST4 zZ$R*zOJIU~Iie^Lq&OV76kshjE0_<&U`er*5^_5cNWAku(Ft%;%u%0DvM9-o@Q+7g z!Q#Z`QW_2x32}MCCM^*HB;UN<+3T-u#CNy=EYQ%)u*-&k>4>7G-i0*yGF)`X4e>&_ zMY?TyIXGa&v0;!0fEeGw2{(!Z3x5J_okLnf%3lIvd=7hOh2qHcyB_-j^NA~9s!q4~ zYzJiCkm1emR_!eHFO8rab_hfg0gOR`e=8z9I_AB%sKh+69H&z#=T5}@$@l;YjIt=` z%a;uN91PQ^rac4VV%E~oVI2%0k^ZFq=k*7HKyU|+6uJcf00003>B!6!t)?Ep^ai!xMKvdlV z+FOb=tcbd2Kd7K0+EJ+ZhoYs>=yO=XDKsj>iq1Ydh80Cap>%prX*ED9Wsf|Xt9BF-u#(s|FzCb{y z4v=aVom*b5IzaE&8&^bfLZF_UTQ2l!rS$>t!WEJ365guq^zPY@(LL6&qJdQ`QVO80 z>e-;gq65mJ+kD(60Fc*zb2xzR<9!Dt6o*tzPhO6tQ-3sSE-4O5smjYi04flO`32w< z2Le!$&RIr4tIYWncM7Ufm-jl|Isn>j?ki|z$4${}S(gI9e)Sd0Ze<8K0RrEC&4-FZ z2OJtDdjP)Y^Wi=}IzZvR14@w`u*vhH(88v_`J3|78y>p-kQ!1TcIeO~m6ePcP$ z?-F3bjela_fZ!RIkO=POU@R7-I2^bXU@bN)5+8`bl42z#WOgEuc;|njW8kD%pgx<- zS)3Wce87Umi7liw94rzSamFSs5dtKy-|noJ-POW(xBx8B&|%okhk)sbyrtfSG3UA>1O}w!9o1u;R!hkOhDU&)|d`#UTj-ZGV+PT0zQR0wR14drxx3k?D6m_66n> zSCFVG-Qu$yFl-Y~$eZ7-+F9yf8bLYi5MUAkj6sfnD;T~y=DoM5*gPc}PA6B+9gD@2 z@c|SVWl_+VFB9-{B$z%m?HLdkvzCTl*1-T`=}+qaU5xz!fk1Evq}%Q^00000NkvXX It^-0~f|x`{z5oCK diff --git a/graphics/pokemon/scyther/icon.png b/graphics/pokemon/scyther/icon.png index 2bba195d2e71d3e3312544d1cd025219621fb314..9b6129670013cf1b77af2009324e8a57a97adcfa 100644 GIT binary patch delta 295 zcmV+?0oeZD0{#M!V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lpj<3|h4S z007}hL_t(I%jJ?W3c@fHhI50rc#+ZrbTDQSnn9feUCJBn0Tnz#FCk8Xfh11CZ$+9k znF>zg8$bS+@IO8wetgKlB)~%@fcA=kJ~sgDxaF2y0RGB~jelQ8z}&B_PXnNa`5^W7 zEFx&E!m! delta 262 zcmV+h0r~#^0^S0UV1MaJL_t(Ijpfq43c@fD2k^YXExt(U19UKEDYSz+3A&UU?E@lWVk%aD>s}{t1of|+!`!g&C=isQ-9wlZfRq{Zdv(U0xDc} zInE0?LJX(0L6LRU$>-NNne`1k@0Kf%PmlckD>V7e)I>;tl~5B}801LnP;F;N6pKmY&(a7jc#R9M69RA*i2A4hp#aM3c&M{%52#| z7|oJn)x`Eu$<3~$m^-T-89&Dl z{3%7otJL~gB`M9I|C=qLlt3tme~;^50?$ZZmLYk>*C&530(8GR z9>NF-?@u0Y!rvSf39b-V2h)+t%lr=soSJcOAQV;g00alRVU&Opwkiy;;wvb!eXzZ% zJSY{^C6{X7mf-uXF{wmZi_ z-`%h~$3UMtI8$AO@!gD$F-Lz_5dh++n-EK+3~dCsRkwD6h>4|0R3OCinl2VdEsb(X zedfDcz0gPA@?&}WQp_DYBeE_Gk8|fOUPa(}JhNPV0#}z!ETaMO#O6I1r51sRB@`(} zke)g2buz^i%;X!~X)juSxIrQ1@PC+10@vEa@$-K+0n;b^@)wZK z^L*VRM6qN{{QM2;PynO7({Y{7B-MLA7I^dg^~r6EYtJBHf?%%<-s5UqGpM{v9E113 z=~D-dSoGOo9bjuVApoy7hJJH&7MgKk@D`e}L_!2B-jo5OT*H{n2-ur@^K4OjNx_{Q ztHxWjmgaGnhJm&(I$D2uiUJ5S701R|vJFr|y93eZ4sL0mJ0NfF;D5$nKF}^=Q~CHa00000NkvXXu0mjf$9=Wb delta 937 zcmV;a16KTv2<-=u7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R18Ye{K~!jg?U?J5 zq#z81O$;FK|H7LKLG12nBmS7(EmKp|HPe2_1Q0n{mM8x60KA98dP@M-RRs`D#y_v{ zEP&`T>q?jTRWRZ8^Ac|b;GV@4zqTxr1YH{i=zK~j613Rw3103lD)LGBk^ppGaipAG zAb(dn@`fkDv*YD|doe1YGuUyyKQ*556Mi8fWd&^pw_pv!&v@jbg->)8&^pRFF9MPP z(zXlm-8CZoLW%hHxD5#)03enU;+JJ3Spn2W&jffZYmf)%E6D05lZo+Q_`q}aM3zTn z{MPlzqgAh2utI)|R{?!=EpZN^0evW|6){GA%?KH^b)KA z3cQQRn*m`q1@IRFP6`O;A}}jpZ=?iw1hDg02hlT7c4`{?;Nj##YVeJRVc&{pA11Cc#6bk-5!a!HpoZp) zW>^^;hapsl*<_a3)ZQKNPzLN%$u9RZjTuHrUBhrTFcE>pO!~3&g3-2xOHg(JY)1SF&%u7NwJZ{e>y#RzZc|ebr=-QJihBNU z9fuDIuw^H0d<>nFJUc`MhRYmQtpR%Dp+=K80qq*(cEsg>=gYeuL0%@Ybj!}>Qp5MvYI(YZY|Ge{l_wK)7 z{@2^)U)$<9D=>KX-!=a!-7)`~{w?#bhuvG|-|@%%&*M-0Q}GAB1tZ8v42nPi00008 LNkvXXu0mjfE&;t@ diff --git a/graphics/pokemon/seadra/back.png b/graphics/pokemon/seadra/back.png index b4264953f378cab4227f61442ebafbd6a3a58c30..2846658a2de37624d55b5db7d4a949e5759480c9 100644 GIT binary patch delta 702 zcmV;v0zv(*2BQX$B#}W-e*gz`Nliru=LQE3Ff~?blUV=&0)|OMK~zY`)s(-A+dvS; zMG!8on@DmvRkpY$?qZSVD(lz?blsg%qsjr{L#Y!lev254%yzeqNTD~#+ht}~|K-H> zO(XFB_M2~JXKWa6G2VGsfE)h`absO0{8;y$>>CaI!5pP@T^N|a9w}fC`1_Znu)&#=iKg9? z6H1uVy*Rko1t%%MNzg+N*dZVkfY%cV&(Is2jH5&-grFP}VtjSk8=Hvp+?Wu65&>00 zCY-j6=(HCr6H_P?P)9p8boppz;y?-P23WP@gn(E@8qhf?f7q-C93%9A32a#d)+et< zG9nN-AkYY49e(XI(g6KfwCCXXb+ZsinKDTNi*l|f3khvBWh_)#$eEgK9R+VU1m&RuD(sNYw-$ejk+}QZ1mLA?@`+xyDL)5fjUJ1naBtK zahYfZAef5$H~`3E>yd>+V5 kMxZ!*cV3hafj1w20ls7(PKePgcmMzZ07*qoM6N<$fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*6UNK~zY` z)sw%9+dvS;MG!9BO(Z#-DqCC=cdrh|(+D)b{pOq5S>sK{JMRWC_HPhl>lPtbpQrx^z+e0;S6rwDSpHRsH6D(O zsbRu(iP4S@$MY!yg?}D@YOC*%JUD z0KPl)fIzGe+mYDnbO`XTar{gQjtszBTmwLb3rPS&2?TZ;07-!L(wBIxfnX)En^uiY z36wRS0tH_0zv_JJdyAMoweC=ln8|oR6|0Hw=O$t6LFpy zBLYw&piany)3gzt_F`#b31tGRXtst9AI+^ePyxFJmNkHfg;+)!&^0L7v;!O?^ne9y zSpn83uR^v&AaFo`pccSB{K{vf0s5IYd2sw{SO}y{nIwUEG1Hrcgf^No7OE=bOl`LE zD0L@hnWP|z%A;*CR5_O|lmQLkE)5f(02N>=cjBD?h@qOK%`h`&+JYiB0`v4R2*?>T z+M$SSgZbETKz62F63XUAqQbKR(oTBBgd)JbKl! z)dY$FOt^jt%{7#FrRLyak8Pk*5Jx>oH3S}hAG9D+EugOB%&HPJ%R8~|_8BUH zszd-=k#z@!3)=`lFcI0Y2av_aBMbY$Mhhs3c>s4A>s>~4toJ2<^ZO{4lp@i-`{co z008VsL_t(I%jJ^43c@fD#`6T`VO+(jox8NNPa~vI?CMb3*QxN)K84^QwS$ESfm545 zCe9*=x80Y^UB1hYv0n>5zNIP@B!PT|=je*w7pm@j7&$rNhJO>#t5=QcfI_twW*hMi zb&mlQ8$p4V0Lp2ja{|_@Ls3p?GFR{d&tno(mTBQJvudRvnI*0Tkq}}V*&)Q!xNT&V zZQM(a!&zL&^RqxL0>7%=m7)Lq)Px(_=i!DJ5&NU~CNS=b1;%vd7MQESL0MqTXG>UM z3_)su2F4MDUMmA5EI~ACVB%;Dfw_7F&A@Qa;Aerk1AqwCfTxE~>;M1&07*qoM6N<$ Eg55NSjQ{`u delta 267 zcmV+m0rdWf1L6XZV1MmNL_t(IjpdTR3c@fD#`6T`VO+(jox9lCrx8*pc6AVaofbaY zrw|;Z?a)Gmz^TojCe9*=+3w5b?!L>9v0pp9e+yM8NCNo^&rs)$FC6Pz)pK&f9ao@H zbB?NkT$LTOg?NoqgBBDUL4lS4igBxB0@kZ4FUCzWW$+xYYkv}Bnrh+M^H@qjGEH0w zA|b>svQ3C@;_@t`bn7O$v^UX_=VyVF2>hyYUxfa%>p9%eAqzLeh}a*UZvx|9V+c|$G%$`JG#VIT38G#D6G!v-6EK5E&;$(k41N}v2Y?9GfLxgX RumAu607*qoL8H1Wjd853(S%KoG#m+9m?4bZQI1amN6Jd@ec^DG{ri>K=1_5R%9}Hlk?E~6` zC>tV(52#>U2mvsOi z+Ghmp3E&0wqiyCVz=kp%qH{n17XX@UWuQj~P!^VV9&+AyIPYQ?u|5M(j6HwOAHfUm z;vNl=_l_YBJl*BIw|=H|Tx@n-+zNn=5a@8uf7Gn4{yuKIZlmRi2y6;09tyx-!kZko z_j#i&00vQ@PbpCFk7*j5?+SoLLyY){^MfVal0dWPcpi)9aP7@#{K`*~0Jqt8TF0IM ztO+n4k6&~C1a5Kx^xB=)>HvQ%BB}vl*R9vj``qcclq7FAp4GeoU}T6d#&=)CC!Fsi z0X=N8mW+VmN?jYjIVS*Vj@WRp<^xtejIl5}2e>8H*~MMw8S?>gU?zZESXwOC#jmr7 zMM}YMlPt>;aB;ic_>O)?Oay2ncDn?K<6aTx4W|IbIA%8-$3e#%SaN@YA_+U(Z>>hR zUH}b;F8va9+7Mkz6^b{$k$~eo%ZlGkic$x25{}8iG>SZ-Wmp_(f*oH-RlBy~x z(6MYK0l7^khbrsVbR%LhccZJtcv7^x+@E4rq`qZ`Fv8ut;{WzYh2T)z64UI{)%Ee2eA;{W*edPGP2g%r+=K-~~)N$e~7XXD4NeY_>P<=1! za{$sDp%4EaplO~6zo^ayQuBcHnQ)kYunQ&iPT9rZWky;>^y9?a00000NkvXXu0mjf DB`m5@ delta 1411 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 Ef+oCwUjP6A diff --git a/graphics/pokemon/seaking/icon.png b/graphics/pokemon/seaking/icon.png index c95eeda1c9082b83475a46c747d0f7eff1a99f93..161987fe9dafbd8343670bc092d69b33a5b55168 100644 GIT binary patch delta 349 zcmV-j0iyno1G58=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#d^7aHyf z0003NNklgB?IocV{Q#f=;fhH#2Cp;0AD$*1$=bdvl~KL!o1sT*$vMbK+`_G?eN80 z%tsG5hm-dMTAdR@bJ~0Fk9`3!g1_TO+c$K*E&3zc8Av-t#JWk~7EJ?E|EIoPHs}iS z7*?dByj&8dUse&gNVPD!fG=VAszVmWNQMYA_hS-=*;T7ivp)<200000NkvXXu0mjfEnkr) delta 313 zcmV-90mlBb1CIlcUw;7_Nkl=>W>%Ao}mg8O8t}0D+UJ1erg3s zPIegEhGZB(0Ap-OD`emlk-4Jg40xu7s5U5}Uz;WqV1D&11Fk>(XzmL;M6vqRRtfd^=3Joc2uTrn$XzwII$jLx+?QQRbm09qfu0gUc zu4oVv0qL}-fZ-2_xb$9aT&+$*AbBIDC-)cR($LWDz2~vB<9{DXb5~I0NlB6UTiMb!yhu0iq16@_OLf4*+z! z)Ff6pP_-fd%}u}&0Q=7}oE|MxcC^)bqT8~(_3pVFUPjGwXAXhJ7A*9FAk)`KjCY z{O}<@_AXyYIGcoTqv%uQ^u2L7qc0AUdV|!R;)U32{MW(U3s98k-Q_L7p%dYP%SHKrWWY<@~G`dJ?o89_+j^#xpq-=ufZl`57bXT^+T z!no65P;jqKucz9OQ?ONteOrZVtF?9RK?FN_L4Rxrt71bcQI}L}?MTE_P0ijkl`+*; zo3^o4|No}`H+=tusXu6UxipXZKB_-zc)2vg@1XwgP^-t{qv8~Pa!2a&+fws{e7=MOJczYn`TBzcS&D#T_H8U*;pwt%o zoMufe|Bj~qLA4W`P%8Rtf!TyLqHk?A>AQ`80f9S#7w{?r4*&oF07*qoM6N<$f(cCP A&;S4c delta 994 zcmV<810DR=2(t)~Uw;F>Nkl8qaLymN?qhn(#pv71z`GG7UK>sL z^;|bxp2B%Ea0B_XdIgBlkOPP#&)dHonGUvi!f62&hWC2Wo`2xFAHt-<77N@DhcWQ% z!0mc|co$!LlYea_9*)AdQS>!(y52DC(~AhiubZ`da2WI=h;QL=^gf_X02&sQC}oS{ zIKc}9zJ&cS*rwD>fqDjrP9T1dfn6tnT?3*HJxX+be#DlrgM=M@*_{B;uVTV8{^sRI0lXsswkvN3`*IJ+kcqNQsRgxmPN`$p}Dj15`kF) z#L+GsjRZJmfpTjZz!H-LDChGVvpMiRA@cb-FpiGW9)+Wq0>|-tkSPGw0x(Vrj1j0r z0OUIerEyZ=7+YL`CQ=djk&Xbsq%z@r9#^vwCewJv!U)3IYvaW-smmh>s*&vF5iWwh zG=iy7xqpKBX|hPVk?&9kdX5QN}J8PRW&dZeUb@mH*K0G18g_zQne*^ zR8pBrS`Dr{9WDyy)9G|H8)}NS2C-#paBTI4!MuoQryqz7(GqMZB^k0-d{cpWK+|eE z=ObPOmRgrTjnnuW@xQD8Ip5z;)E~5)FU^ClkALcq8qSwy_#f2&9V)NKmFBtnd!r9r zY4$Sp=U2EN4!l7ArJ}eGLSBo*;c)-@iRq*G`@D}<=wz>d(CvC*pR?M|VGQ&@ z+&_jvGx?J>2q4XGzn=V#z$b+LZ5o%z8w3Z`|9KC^{XJ-Ra~Tj@srv8sA1bKrnS)qB zv48r5xJOZ<{$LPpG6n)-C)M^SQU3&}GeAN8TOu3{b73Hs)xS+-Q(+9mlKLCy512Fj zk^xe2hXdFu00n!H(?*Ux$mu(y{+T@>HoKG@dywDuf59H;Ywdw)YJ{~1QelJ=e%P!% zAbKq~f(S~Tvj;GNX_||}4blyF4{Hw)QCk-dpwoe?M<=O0Nc@3LC1XCP*wM7A-Oiqs zRorNu%8NNglyoum4}{cIyv=HQVI_pjKWKJp6NF-j^F(43II%Ku8vjK60f9S#7Y3|= Q2><{907*qoM6N<$g7k#d+W-In diff --git a/graphics/pokemon/sealeo/back.png b/graphics/pokemon/sealeo/back.png index 84a89788b3f7e684c0e027859d78932991012797..ea0d8f473b00b738fb924dfa5e5c5a299e266c2d 100644 GIT binary patch delta 449 zcmV;y0Y3ib1BwKY7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#d|5O*pN0004PNklFidl^#Xt{WBMKyEo_u)YYyo=mosccxq)mr zQ~(Te(3vK=A_roN^BhDOLiiYv4PSx)n2ZHROKAj2(6hw9g7KavJe7d;x}yL_s7nbk zBfv~J#tV>up#gdth`j-9j{?`zkMDoB0ezQ71$QB(Zm}WfjsY$UiN0|O%P~4$9Q37G zVNe44lY^T9yQ4s@mY*mCQh>4er$hivu-_RoMGW!O z^h>~1N5?A`pc$b$l5dF>L3maK*sK7~pcDmt3Zmyvy$E=f3s`)C7|d!DVsI^=gMP7M rPk}l;9I7g$cRWG(%?|CK^}o+A<6FyV25o3d00000NkvXXu0mjfl1#dd delta 413 zcmeBTdB!|Jf|G-pfq`M}_Qp38747QAsnN)S73?A;_UiThXpR{IuRQIfvDRKYP z?QA8#-9Jp0* zF5hFVF_);3R@(eiVy~ltngDY`>SKolu?asaPR{3;5T5YKLcE|gA+LeAmA|sL{n%-q zX2wff7|t6A1PDG+&*e1xvQ6RVErkx}=U4L&YFaGX({)&Yhik(5rmPK8K>B`74qGyF z#^>b<`%M|^gKoWVuiw`6pvGXYl>fB5xd6{a$CAd^Zk#4tQ!0MCl6cxa{aK# zLAXK9;OFg6pZPd6zSj4)J^1%SGy2CirHII%@;}+?#louG)78&qol`;+0H2%@#Q*>R delta 36 qcmdnS+{Zj2o`X@+)5S5wqIYAzIHSOqOHOYYfWXt$&t;ucLK6Vcb_1lrY0OZTMy0nvm0(8+TB51L&N zq9tR8OL5GQD|I%+It#^7D79}XIJo#n`O-S(T}DCkUEe3~``%r+FJra-vUo+^@=kxM zfUX&EssZ2Z;FufmwrrU?aL;p{u5Z{Nn8+(mo3zJ)lp~K*EiCDw(56K?j3-h`PA=le zgGR1Hc(nOJxJfx+@o|7#pan4mIt0PdqI3xBRJv&3;GV81-@&~Rh0cf}Y`32b7D6XN zc;#0vE;i9tKr&24IbcT!gs_=vbxwZ(ofU+uPJ}?|LD*pk@EC@xg(}^G*)P!!-oq)R zia6>^Sib@)BY|E1g!OkdBW|;~&XL$cpz0BW;<(Sx&zT-tlA43{D6 zs!xi$2R#6X<<)|J$1oar_}RkeJs4k}`p1hbjst1+_WBm*E>t{9Tr0Eah0ResUu!&n zUcFxzSi1<5DL!tZ0ycqOa3{<})hEbZ28+9X4Z-K{vG#6jU!pgVut4BAN%d6zoCcJF z0?2igv3J)gY8a6P!71_>+fl}RguR(Kp1Q`Hx^fj~jd> z5{Y~#rnZ>cVrq-2EvB}Z+G1+c{DP@1ZB1>OovCf`GN(3tAy*8#woPrkDgdW@*Yy~) ze-mujQ_jXgzJ<3ihR=Hpkt;)+uB$u*?!oojz@u~Q;s0gp*UK~zY`?Uk`l!ax+p zOPVk_cx~w3vtfo@N@H}dnY>8~SFA|44T;?gX;RJf zX8r0A0@F|QUg&G->Gio97%MX8{>P0D!8reAu}p=ry6QdM}}VZ-=M};0{%v zU*fn7kO-hBgdnReq+hlOD39oO65hc}8a6HBQa^RELR=88x-A`*fNO8{UK7w)3HVj+ zPd%{$TO0;jZv|0bbt-ErpYZzE%1W+RkN!wf%EtPuY*Rf>XRLp6)7Ja&@%GiI9^r&?DrP$HQ4k&rrJM-#V}54L z-qcL0%%3nIC0j@4xto>&E%%cL9athj&XJ^v0m=3O=#M)3+yfXP>N5;r%MA4;35EeA zkzKrFg6RX^mZcph+nU+g^NUe4B4dli%sAu^V;Eo7(!mqXzBl&(000090O{4lx^(q_5Wi z005FnL_t(I%k7e}5yK!1McF`y2T;x$AY+k|&XmlG2at^m(?tmt!tPSW*3szQeIdAK z%>R|FeGl`}_uHIAgZGdUst^o3VtVKaPiCv8WG1qhT4qDG-%!&)CajSLAQO#?x)-8| z>|QS(Lvecf@{&md@Gdx=fJvM$Yxj8B!|?;e+;s(E;3Q0}!gPKdg{kOwKR($qcM1+q RS9JgY002ovPDHLkV1mUjS#4#O}AMSTP09DphuAjfh>Z}I4}ItL(ehIlKj zC*xG=&@t*43t#$x&@<+KlD+R?-TMAmlW5~Pq=YI21CN*c049G;|ruISu diff --git a/graphics/pokemon/seel/anim_front.png b/graphics/pokemon/seel/anim_front.png index 4361b9086a6c66b87306bbbe21a559143531693a..9626b88941e7ea6ff98e5b83951ada9994d4972f 100644 GIT binary patch delta 951 zcmV;o14#VL2m1$*7zqRe0000!&Hw-dUP(kjR9M69mOXFNP!xvkNR}$G*l`l1AS8TTcVNpsj#S3D zx4Yx?4piz8hAhne1E~-YMi$zwnbNy4AfcB2g0eEv{1?u>ZocfBRDzKlRjr!y5*q*yK2Z3wZA+mJ@#JuDBh}bd{6-3TE2dD@m5CX=WqYh&UKvhELt1WW} zq!M|Bx~T)xKoTN`cxVDB!yp0CL&i;jhu9VwM3#+ltz$YtY^9b1sb$r;NR0q}ssW#; z#&hr#mCy;;V*O2pacA>Qt~=#~hYN`Z53`kSfN_39SIQj&wdsEE1!=<_%TZBOt3PAPE-ZTc=4sZuEbC zza9^olL(?rm#D35#c8~q-rj$G9W*b6aGkCq3iBxLIzX`Ev?w#&d=C-ko|JUO^2Kerh<1-5HizUZr@QgNg7LG44ct#JCt~+ylhqaPt zBy+`m^(F2244$#7Z60$U9N$6F2G}Gk>ch6ykGSj^mC?ginClkXEqQ-No4uj`m0xW8 zSQo%q!86(|q3WwDj0_uzM!_@Mty4-iNL`rPic|88JLhKvh$E8j9__B|8AtLn0q>8< z8_+7<9xHgp9VsUt@cim(r~#%=VA(V7j9*G|PO>%uP%0Nv| z<>1*h$zop)BeS3D4t{^!eUf_wWI2$eMZKBc-rqF(vQEOQ@+A}Ekf{CYHZL=Hh$8Sr z0dkQq0p7{CmK~!jg?U~z> ztRM_UJHhnW(Ek7Lo{(^fih@qn)Oj#nHPsjQA_xLI^Ljn;#2*K6Tvs8Y$^ab)UPK_e ziGvZ~Qe4VH8l40&xf0_9bcmVY+zo=r6T!%Flz>IE&45PrSOHT?NBT4hNO~SgmLn0# zCx(pyKu3;sgi#-VzlzNRkI4`~F4yjo>iMhKJdGtFfOKgExY7JmC-R#qPhl8t-Uh~T zxbYm7L@rL?M*F`al=*lMfOS6KA{hA{0Iu|9R@`g;24JVZ*oVE|;guAip}ztEw0V2TF2O0VAVO2e9lcG?W1U{*uiA-&m5*ne+h|AKiHO`9(Jqm^jgOF`o%_o=Ts1){2vPiBAN;{@3H&Pe`T-mlwSLXw<5$5Xm{Y?zZ1HSVQRlD z-NX6{;At1vn~XE}L+UUmg@gFSYN>&rdYcYN1!2I7$174DLmpqLOyNBTFB2%Gb2Dl> dPdxD#@eh^)AFKt&!A<}G002ovPDHLkV1oYes)7Ij diff --git a/graphics/pokemon/seel/back.png b/graphics/pokemon/seel/back.png index 0521176e36cfb15363063a0f1e07fd74a7083c38..17a7860fc795c8d88018a4e6b7eed2e859da06d8 100644 GIT binary patch delta 441 zcmV;q0Y?6=1fT?vB#}W-e*gz`Nliru=LQE3F(bRC7fApB0fR|IK~zY`?US)`gD?z0 z?cA})1ojX}_rz{@u((S%xWix2JHDgek)d;&|LU4=sD+Jf(liX6+KU!s=~8&fD3lJ1P--7F$+`1*xD*Z0BktVe+Dk+oMZ9qq3>UO z3aZV#B_zf#hq7T$ecv0@B#8CRO3{4q1Ee`ezX01y8uPt&)C~QCF{p<~0zjG&u|2NL zePE~w)SxsiGyYOq0J;vW)TTuJBBa6kA$0&?j))mOan{y#&WX7M@|5M z7%~skI)qPXB?&Bte`~-t(2ws3RB0Om;f>=57MYUB7)#X_7r^P25Y^bHREk7xvE2l~ z+i6^@&Nh~&O0}*J&*$?9P#gj(D$&a^5(f`NrfrL1qV>aFN5Cz0gz$*aba8u*h49_z>k0qFC(Q48tGF|b1p6hTdl(q ju1OO<;&;GZ{)Bu1i$}t1^_Ou(00000NkvXXu0mjf1xCiw delta 453 zcmV;$0XqJm1g->-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f$LMK~zY` z?UTK7!ypXDA$Q(`WAFKJx+l=?HsUVb;=Aw!z4LSQIWlx^^Il!^3`Kwer)fNNYA^pG z5$J~`giP-G51Nkn>1GUg907{WNRFA<-_9V%04~_=5;&;1VjiZ9vAH*@1Xyyuu-uAs zj>WTwu6v0osM+Q%AvykkbEx<1sp~q2x&*m7*=V}5et>et(J#RFlIDDC9Ezb|Fb2v- z5&+VL$o+EW&I3bBpar!BW)82V2jFl3FXc)!H$ob`AIbm#=E#_{i?FMriQUe;UD@9S z!&pIUyyO4?$YBuyWkSS+UPZFAy9TTi`}mGPQ?@CPo;ZGBktNB0+-9xY>H;{u5~58W zdzD6$tgY6|1b933V}-}Cv9#2>4Sje%pL>9srG0;0nBnM&T?8*O;)0Av~;AQ}A3H(3fJ_z^H+q?Ab` vV+!il6%5tP(-N*AX`f!=cfehLK!kh&i$}t1%A&Tf00000NkvXXu0mjfe=*l; diff --git a/graphics/pokemon/seel/icon.png b/graphics/pokemon/seel/icon.png index 1328be070cf4e3440136df314abc10d9877bf9b8..b72059c906be65ed43c46becf76b083911812e8f 100644 GIT binary patch delta 300 zcmV+{0n`570)qpPV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lyUZ%hON* z008DmL_t(I%hi%S3IZ_@MstHX%-4p^DQw*%dH}&DZ7_uw5W-e28VEKT9M{$S3HI)k zk8hHh;R*3?MUO8Kacl$7ihT_<98?`)z@UzZ0O%HUp=l98QGW^W>l;}$1W%y`r0w*i zv?ZX?IhYJc0@xQotf6!#6QFpFI0Q2$5N#Kj;{<#L{jloIIRP?{VYTk}@{-5A?FKix zYOwoh7cP)G??&4V`DygB?CW;ZGXCrAEEZZz5~k9j6^5dng~@(IV`pJZ0dHZ74oR4z y!&?}azom~bMJ0zMjB148N{3mPMhEu4kN*S%lfmu{T95|-0000I$ThaUjJg#K`stywe3Klhw1VDpFgacFwDp#}!S5ppz z^&80=+(eE8Qf7HlnjBE5EOY`S0h}|SpirwyMnL}IadCQxzUve0IGZEF0`~>)Z&b(r$D*(zJ}8mtAkSEK^)#oloqv_9P6`p%jL^*@Q`c zcx^UebOs+`vJO$0tiwkbo4%#5FjPjBNy6u_P7p}B6=-lIuTV*^r^*(S8&)OD(g8{5t<;@A|!-cYk@ zwTqA<(_O{k=1Md#z4;W+HzH#GB$h_vyyJ0=Rx>pDcui9OpHN=Q@-y{e~5TLaT?DfBcs3-d+5MNQ7X@2_QJQ~S< z<^ue5z>h89$A8}+#r$EUfe~hF4H5kU01qGSjTnXWUM|O$1znl3J3%T{PXH^ zG^P@OU;lc96e3(v)@PMDcBZKW9)5<|m*8Hjd^?rR{^Bz=3B>Ps>b7wN4AvN8gLhBi z4*SCo_;~_xwjA-e1lVwQ0WqbVpZgvF#eNs&<)&-|!+-8J-Nod5pB~{zl;Ua#Q4;O0 z8*cm9jw$;DbQ9^k2qVM+scgGGW4eFh8M}tdAlkla&zQ;>_nZJMa)1btunaiqy%MtD zA5SoA6S(9G7@Pz!p&fC1>KcG2k{`a3IrszqB1mNhi(|MuoRvVQhk$D5!7JQ1A>6y( z@KCQ+Q-35*Z=eC50SWYigXiOH9V0Pudb|Jv2}E~zOU`AUjb3nwD^da&CB~otbxC&4 zf+3i|3kfXXJzk@iT^xW*VC-BM07fZ8K%hTTz_Z{2W(I&!3NeZ9<*C3J$Tkab@13>* z9N`QQV}D-)csOn(P^8I+N5TblD&Dr#t;4I(a(_0S7BMgcW>a}8)Kc$dw~;*cb^i$h zUYy87iU6T-^9EzYspLlBk;4tgt@Ch@g**>#c9`XsLU6fU9C?xv?YBrf5q7`_&9d8js!VOuDi9p(1Ik_dyLH z1b_8HlD$QeBdvz-X(H>#mLF-N2HN(wmMi8H;Ck861;#8sR3}{@;x9pMHQG#ry^OD|9iMBl?d>)SeS8# zRuWB^x%066tce*{0FusdLCaUZnRrPxOMlw(=Ef&YOx7awf))>N=%w+RDv9%vXdU1o zkS1#YIUj8~|GC!KYVWTFw)xpm5~~cO!Fewj;^M3_jLm`cgMG5nFh(Qk58c&E7#qA0jL9U@f>8n3H<@6>9bO1V1qd#bV4z== zf-y6LXm^!h@QPrVLxe6}77X)lViL=OVZH|>oeNtqz?1 zV&*V;^|uA1aG1RMTY^zKOkVvh!7v;~SAR<|42RLxzbY7p!w_BltAbHF3~_b!uL?%# zFuMAWEx{-qMpysX5{%Me+?lTa6~RcLa2V7BOhH~|Q!tX$%N-^!?v`Lsky1NM0a$_| z7TRHCLCbzyf)PPX%#*()7_OF_;w`oX!?S=T!ANMUQnvni!La;cNidfD0R>~dKP3PA bL$&=4T6~9ZF@NO!00000NkvXXu0mjfvUGiF delta 1310 zcmV+(1>yRq3xErdUkC*YNkl~7=LWVsq0h~H@2N!#IY%cy`g&5Y8N3zrl2_7 zT#5RnH=pA91_kjY;D9*rU3fDd$K#398ypZLRaG*-%)B@M-p_IVz4nB%NBdhNK0t!8 zCu@Kmei{V(G&nf>x*2$LItYUEV9fce#{SJA_6JuI;Eh9UvOodBi1W*40ErIBmlqu^#D1< zxT0*xYIE$&atYl34C&|KUa5S0=6?XA&puI;K=M7$-7b!R!5Tws@cs$hVt@1=Kg%E~ zmLr)|02}WvAfc4=Gv5QC*zdx;+LVo8+~20Vn4Is^LmY`xTn!;AqT6?)Z6DhaWgmfV zBA+kAh;TqE+pf=;?w@+buHiC>uCLm2rZUDoCjg5QAVOrU0FDQ*h3xkyQ-93b1TMG& zM#lk6X;0joxCY>f?7J^y4*rP0404&l;s|b^r4`T{AfVb=@EZ3`2={g{ex}!|Eiz{? z(f}`j3bqLfKa%8 zi!tIIo(H!$%<@!S6#I=wMqrEZj1~airC0&wfq%dmgiNDD#(=>n zWa{1cM_H}kA?26^FMpsz8UP%4QhmZH>cDh16WOBr?BTN1BEZ*TVa6R zwANO4|50F@pN=K5&M;b>4}vi+&N{=`97#XeCuzb+V+!|3Wiu>_-X z7+w7nOE4;jaZ_FWYl4x%(qT{!Fa>#;O~J@=uXLEQxLbljMd>h0z!D6x&<=yGcyVmO zh#?{7$zKr+S4&RWRs_SdfEB^WXs1@T{&~T${9#2fR{Q}4qf-Ygf5`s#hkE-PT6~9Z U6>o&o01E&B07*qoM6N<$f=EAQUjP6A diff --git a/graphics/pokemon/seismitoad/back.png b/graphics/pokemon/seismitoad/back.png index 9435bd8c05f650aca0738b8e48a91897c862a755..e86466f42668f80fd1731a95c8b62f1230c68622 100644 GIT binary patch delta 437 zcmV;m0ZRVq1l|OYB#}W-6#xfxNliru=LQE3F)qayYxDpB0l|@zMt|P9{%r-p#mSsW z`S5fi_h$nk;uGLTDbD$m*X2Rb+CV8a=REdr=6AA9bSdW%G@46!(KaDsP-AGMVv!z# z>1w5+N`~TXaR^p>ZDB!RK!!&ZwrGF^&YK9#u@~HIuIm{u69glTpdN+=Pn+@{XRwJ( zH^GlmGg_-&r2CBWeK1w(KEt(o33XjAfCi6JCIA-OT$c_gr+?}WzLHiD&@ty0>?YV5 zNq8KTAd-=`;F*B0-6|Oy=^DhZvfl(wjX~h<`|IHH7yv>Gn}p49V`kuo>Zi zJG$~Z5;yjs#TN+{F89DX*j~<;{at!P0yJX{pHFh>%-8|*^atA`xI*hZ0_OFsw+o4N fTZ41`nfe9x#}cA#OZs6P00000NkvXXu0mjfhQGpD delta 446 zcmV;v0YU!W1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80m6}qMt|q} zzZC=*Cvzs{!_$e}pACeFPk1EtiQ^Vq+c-^n)7rJP65XfEYN+k}Wg zjiHf>MS2LPtCfZ-8H%^XAz0;kULavOD{9T5NZ_?xIavp8%jQ<>gU(Q9tg?AgSmA(c zDWwRFs47i0c7P9gCQ@C|`P87wOMeGY10h06OaqYPJs>RDytB}NyxdI?rXbmT$}9~H z_-+FqI4s3MAeIdP|Cjf4H6RPOg$02D86H*Gq5%>(Zz3?qUU0Lyu4lYV5R5c}dKeZw zZOVI`!6q`@1V2j6XsvpY?la2w!BnaH4A<&~p3DJ&29HuE02Xx&cj16?s(^Ff^V-UFe{yMlk27u7QCSfz&m>KvX zdjojGX&b=Bj;_3p#Em^@@kN4#%RR6TwwLo|f0y2n0L@s#=aXDIGj_l{{lWGKuFyJ< ofO$RZ?LuPR*5F)!q&)8z_7lgVZU5e@)Bpeg07*qoM6N<$f^Q|ujsO4v diff --git a/graphics/pokemon/seismitoad/icon.png b/graphics/pokemon/seismitoad/icon.png index fc83558bf2bc9e95faa00370f4806f45823d51ce..b4e348fead1f3ea7a49f858e7118f4f2a873aad2 100644 GIT binary patch delta 422 zcmV;X0a^al1N#GzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#eZ(H1wm z0004ANklV+45CveLpuSMggXoG|pce_*yUMI`9TrZw01De6g|Ved$VkD{ zI6n~RrrXxLyvQTZ%qPSjJN)u3-@Tk?@>aO7!assGl4}b0NPl7^CUW|I1371r0>&~j z;Bv`UY?K`?wWVG!v04~)7=l}+0jxg&>I122-Wdaw8k~{<_;v?tYpt7o3TkNCSW718 za|&dwv@D5A1VopL1nos@Z3zuMRP`cVsZ3XGdaNvMaq4OqH#M^*+TzHV`U|W$W<`FV ziS#VwY3rV+rhlS-nXB~TKb{|LwR^#{O!A>(dz}9#ine-~icBsN1%LOFamdMyYf4`9 zYWc}m^s7!@5EfWpK5*VoUb-D(VW4`4ofqF`8L+7bFv*Lw*re_EV3HRRI}IlcV3HTn z5;gS%CV7#zBbLC#vC}u(`9RV+zBV?t>U`j;{N#g@4<8Qt*+)Jf%I|%A0})0Z`Jh%* QZvX%Q07*qoM6N<$g53POM*si- delta 383 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 j0pEYnPk*w-uY!Rl_|L00000NkvXXu0mjfx#Hoh diff --git a/graphics/pokemon/sentret/icon.png b/graphics/pokemon/sentret/icon.png index e95d75ccd41ee47c49b7d235e0371f4c8ced1ed8..7656279a00ec0d92b12b32bd850f843c477bf42c 100644 GIT binary patch delta 280 zcmV+z0q6eE0^$OY7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#g;Me7A_0002RNklf5AR$lb8F~V4 zRdpii5+a6#mId3YSU?pXpZx7OddBQn;1!s&Vvpm>cx3Pk`vgqN1D}xr?Ue_{gsp$$ zpzbgdi@-!vw2qN@E{Saa2B9b3s4q$?0dj|d z`EU`D8SN-QM3NxTMGl2ZZ_VEPXZ^yUMHrKl)(xE zAq+$nA%;Cn{{L^A*sZ-dku4P3(p=}ENp^ju{9c)D@;V5P*->p`oVa5z0>xlF_nWPE z#ldojp$EYLL3hAZbxjyNf;s@K=k%yG9fjo~Cas;s8t@tB8KeslCp;FmC?}+MVRHuI zn?jPutY8hyOY)y&#_|hdS9F5WVy#FBtMMt30P28dfW#8BCS#GCA$JewUuS)SVTM3b z1r334!)yeCD*{>H@DvEq!v%pbU00000 LNkvXXu0mjfo*Hec diff --git a/graphics/pokemon/serperior/anim_front.png b/graphics/pokemon/serperior/anim_front.png index 1056e166c84a9482d57c436d8144fbb84cd1c4e9..40c2f29b676e7ae6aeeb9040528bd993a8146234 100644 GIT binary patch delta 1542 zcmV+h2Ko8F4ATsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#g?LWaS2 z000HHNkl8@>$YS7brVgb&uCa^h~|OxKp*Ck6|xH9n(}J zhP^kLbm^IC+k~kB`}yP)pV@>U#AaK7$>}*v2h3|Lh*uo&Bjl2f=4WjM(40)Z%a9+6 zdT6Eq#z}^PQ2v!EfZNFn_0Zj7~$S?rn8&_=}!u-Oj zcj;6+oZ^5J2Fzn$04KKn0U^DLWz_)C(>V^9=o;fiR{)JWu=@yAtlH=tfGN%gOP_I| zQl~@M1hj9}cF#5KFlBN&V5tCV0MH>^II-$Y0i?Wsz%HS&DJ)Ru01WfQvN@ph>r70i zX@3s@i#Jz;l`0LBFTqRXgJ_rVOYneM=VU!i#pB9}b9mrJn%AHsb2m-JGnB-+e4v-< zOKMv6m(T>ixIA?PM*ed0X3SkEz<(90KKNw4C*>eZgpjS$<4cmB_J18WKFsyD#V7ia zrrkv7lTxLj)<2hb3y#a@FmI}?B;=(R8;723RB|uhHSgKYuaCyCRcG7eZ#VUiC#N*+Y>_{h`F}Q; z7jF$>8~}A!?Y%80Rs#Eb1U_d(^-_S_ZzU6$b_h|rUwid_@`6Z(5taKn0H11CzO$Js zK7d$P?l)W&;9aR(QvfkH^K85O4KCLCY^(b<<6vE^ioG)a1|2BOtL5oni+S}`I?$Eo z)uPp&#T@We@qy&ZQJ9y% zb@?nn%@|%>Oz>5}xE2qjyN7r`mI1@r1av8PTz!X|`iTq}Yx%*D?&fwUAls*JZ2-m` z3wP6s{Wd0q#{)QhSNQ?vbHKU-J71ANo*y(35CS1>t1j%%4M zDcsD}&g67@9zqqqNKIhrRBYdxt3w$DD%}1jri>5p60hY485X`@+JCw{IVAu2rvAw_ snXkG1@ITXmOdRR-HTqY7XW!8AFHlW%|9gyPiU0rr07*qoM6N<$g5r1SZvX%Q delta 1522 zcmVxz%}C!bLT~P}wq6srTd1OeZrq1I7=M!r#I2g$ED=WXF~*EB zvI9A6jNR@ga5Q9cxfO^rf~uP-_7lt|gtSL>885H<$#C-O>%WHV(LHS(87IlZqp$uv zX^+}tUA$7?Pm<*5BpHs_W`AdG{J&= zh;-}DvlE!bqWc>z96R#r5N+`Yk=vCGYALV?`Vh%0rVp5 z(Jty`9SzW$PQTA^FO>OkImJcmB*}0Ps{b+#a4UI^-Qs$+T;t;1#K%Dq?|LO*zM8-& z_h7n^fGjW5f;{JWSLTVFY-$ECss#+|%c{2cc+fRD5M zdFH;$$^eRR-h<)dKKr&5=UG6JDG(F8jFo!ixC2iS4Ipz23D~04BHYhC*+wLQEG#wP zBIJuUsu@%Oz~n23$-tS2W!MwH1rT}j7^)UX3_x(sqYS7Vz|_Mqnw*F`{=kD-4q#LP zObMO><9{9@1!0UkX1Fl?PAIeWM}5}AG$u>J7)g$X=nC*foIu-RB2WF5!A98i`;0^b z&gUY9I5`^thC!T0y)>P10n7kc*?k^k*ef>f0g$HrF+9`xD!@tXj$x9MJt~0oi6wzq zaRNC3Kz`%utpkWJ>}H?M(7}uZf-oUYdJ;HxoPQ4~9n@^Q0f3RtNx)^-ge>|J*treU z$GB!UCT9T5NU?bOQ~I2? zzxP?UX79kUEZ5mj9wxuM`k6htdq=3dTYmzcCBq+&em!ZA@3p16ch|#}El~F)0S_>0 z>(sweZ*9^0O1ri002*uE`1?U}^qF4VtF~i1Td#ggz8keCT^(@8y6d#QIXr<;X~kWL zztb{4nZ97DE`bn#Q07~pyyRLVCIFD`y0d%DiB-VfE``q-)x8v;?e8X22)mSOwSOO7 ze2_e+O2Vj4`vm}>YEQkh8fixtAgoL6H_OTmfPW?3NCU(|nR7s={iYDsc@Ai_ADR2B z!m62-`47l}MtM=;4z5vNW9beIt@5I1IkQ**y;1_O4|zXY5BP;UP(TzK zn>}Etuu!=K;N4u$0rmlh)Z^+Q`hP6*qBTI+hs?trC=*B^!fSgV?Slz#vZtQXWieh$ z5KH?omwhUrw+=+oKFm8<8W2nX@WZtV9WbZn!drv_faAhQ+(V#)%OT9YEQ~x)mGj{_ zNw3F2`*RBd;=VA$Se=a+69owA&kcrBe?#pBNHc*Kmr!zLFxKpW((W){s6H0|WfYW#7A0S=;_HCGaO#y{} zK++%tQnc-+RDWR)&X@jyD+3@pXxiWp2zK{uO9EH^A-GKcmC7vSpY)II`gXYDABb=O zm#PG)|8b+X;|Kukfy~dj5Np#}Dw_oLhf0nmwOL3zSK;(5ge;;+Lt^Pnj&DV)LuCbO zLj8{|Wgp-rUhxmgEc}qG|13W_w76Yu$d&vr-+w9QS9?Ye{?{GIBs879M*j8R**A3k Y2T)CP|1B2E@&Et;07*qoM6N<$f`RYlT>t<8 diff --git a/graphics/pokemon/serperior/back.png b/graphics/pokemon/serperior/back.png index 32e8fc79d67e4c72654451950c774b335054e135..82cc793709bf81f7a80476dede548edd75ea9734 100644 GIT binary patch delta 631 zcmV--0*L+U1>FUZB#}W-e*gz`Nliru=LQE3G6_pCja&c#0zgSbK~zY`rPMKN+fWb( za1{#LO#KzyPf#-W3uN%nRn2BRwD(*Ugy`@DR`FEuqs?p(flP&hK7d^FKy#POnG6Dx zm|)On$lX0Twq#2(?GXt0e)-=$J;jzq)d8!ep4vnwY7=20I(ZH!f32;f41eXHBP=Gb zFDnuH7W+|A0N~DwP7WgzvCKNrL5&N5p>trMZ=a|!$G=`i(T&K>MRVA+8Rlu~~VfDr-#MyVf{14T6} zKLxFUX6QuiYF2p)e>!2{z5w5UJrD0oJ72x4-s!-8Z353`pExmA>@Wy|?ceq;#4%C{LFF-umLAUjQ-r zUD+S6mqee&BbdZ~6$Al`kijA*Ul#EJS!4>7Ha~UK|oU- z#~B(S1#jy0cYynVGn}D`@Xe|l26|%pbky9*4i75~*!L~#VR(2LkC#};eZK@Sf&ur1 z`6w#^o0nMdfZ|a-IAtIz0SL0vorp>R{;QWS4Y!mfP<`tlGy%e@1=B`g$&G9Q;<0H3 z0?-U>3h>&%ZT7Ktg>ymL0N^a3H}&7g@*Lpl^uK}5{u$T|f_l*5+m>PN64N#y4G?uR zY%t)e83;H7q;*e$UO5TFZ3}Q}j$un7q7nBJhs-aZvz&Fq##e90oRGnYH4h8Ww;;=fD8(o=sy;pI*lCt==bu5ymDY z!leQ8;mytZ0hR|KJZjAc1aL>-y}p0A|E0g(>ajQym=0*hilRqv*XwJo_0J< zx&C_D)23$Sr+^4%2BvynGv_H_%3$;djD;J)Ge*hD0FGE#kN~xRzx2j`-34MqAWf1_ zL#=ym07vi=07zg~4tUXSn+OI}6Swbu?sVF(B1|nvN8g>k3O1eBZy2o1X_Bx!T>%7} zi;HdnP|1Qsp1o{Mt zjRD9YG*f-w?^~gND1tT(x_iKVpc#JOMwq2&)hz>@*uFVx?q|n`l@=WOLOk}54-@bb z3w7w107Wq1zO;YJO2FeK7CfMMRF8fcNGE_mR=N}E1kkHqdgh9@R3+e)2ayesq7qDN zflyo30OV8M3I;$u@Jv9^1a?oAE1U~fH2}^6xUB@{6>0`u0j~ZVVD`_zV-Qw@7T>mt zDwmix0cC-#n&E*3SM@-`8K7bbdcVyC==I-NQ49(=|FlCkw{*Ki5Yq5!oZ_2 zBE*NPjKyu;43X$zCv_6?1c;mL%YEg4KMV2a4b;FY39mn1^)HzGv)3+Qex}By_}Al6hK>Z>-kyX zx~!3P^l?&T1=leQ2_i<5WEm~TO-z{}eHPK>g-LG8l*AJp^A1Bd8^ba%rCWy(`!GPR zkXpw&q@z2O^MBT%6S^l_n^-;`4y_GAn>)hrq0iiGz?;JIk#ipUsVBnNkl+p^JA0yS?7D5tGM zCv;D=$h+}`sgx-lO_9e$Qx-?Y#>9VrvHqVp7+R~c-%Np29aHube}UsesG5hV1IQqS zG1vh*hYn&c4KM8qV4$|-zxv(C4ME=Q`{|NdIfr1+qZR3fAvS9ke0oEx9BV!_A~RY( zR?YSyPAot*AGI(jLr^xdd^{XV8-g~4;X_}z-helSnf z0008CNklKWp1S6u@;5qs7DBmD{@Lz#pKhTJ`cBlip%5&(JFZU>Tsa_G7^Sr=_i~rZ%C0V)Fe8Gzs)q=F80rbWQ%6ry_qoIqN+Td;XdjP;H18uuos;8ax{9w zoWF&$G#%1FHh(_L(&{sL#mNxxJc=3MEPaL5u%I(!=>=Ex*(e?6+)HNJaLfbgxJ+1J z2rQto@zf-A_X;-xZIuvY=a|(rNvzfbqW8pyP|;RnU$iIb#V|cJHnCEMBrQ-3B|wo_ z%%h|*5@&%t05A%xlpPppoYIGV9Ip^4Z6XTiq{*?>4}X7@cN|9~}U2DVFE>gL5fv7cuY?B#Nu(DW2j_qvsSW zAYuRKB!AK0?HUL~M6X^5V`1=|XpH_02T+J-uO+qJXU5u3HYtdSy$rh<&@ggEKSVQK z6$8nv_jz~`@Upsd3)!t2H2Ov8PBB15Vs?+2RT)D}a13y$|B_}ycJEK1FfYi*7ncds@_(##d zXd*cPr~`m_#d@X8IY205 z>TkD8P-6;cK;M1`&=k-Em;(MR1uSOZ?b@CbK->VV!D$kR;>&gGoSsmAw5oD+hON~H zfTQ|`%Yc9@hr@S_|2>>$*?WImeelJ)4Ep8XDVupShtit9wRnJ3?|eZ}WS0UHddaDZVx#o-4G0Yi10ys$S4gkQVSe)Sp=Th9C z$7}$fgt_ChJ==~QTgeI#zyHT1(R+Ak!4o9l8{0Sa%R2&?;Q;dX;w_P-ftfbui%AP& zVlVt|27go-<6!4+57ADS#r|Y@G{4^G{vzZ>FCR9ul#H+)rJTx%>ZJ#mz1713rY!Rs zv2!=1hS}zDcEUa<0=(X=uh|4q)c$V@Bm{O9hzPxTSAhhTZC8PWfUW`&fy(bH5Ginl z?;W$FKs4$Iy$f^|h{pfD+U_b49nc0(6^IH=fnTlyQGw0=M1iQ#X74JHB3PP#6$l~E z9~DS}3S<@X|5hNSwT`HnKMI5huu&kb_tV?Csu!+ZGuykjx;&^r8de^7{cy$s&-#J3 YU$Yta*SwF>egFUf07*qoM6N<$f-I6|KmY&$ diff --git a/graphics/pokemon/servine/back.png b/graphics/pokemon/servine/back.png index fac3947ef035a3d41da583ea99bfd67a6c4d9bff..67ac5207da1c54ac0213e007626d785dca0f78b3 100644 GIT binary patch delta 475 zcmV<10VMv*1i}Q6B#}W-e*gz`Nliru=LQE3G8JDj(Gvgw0i{VqK~zY`)zmR+!!Q&E zV0kEB?G(Fsv>+!)4-kl(F+81$&dz&rktRAfFs^K_}i4AXRGlQoO&$ zV;ZQpqF5WjYO`6#qNT&FfF7X@C_!~Z6_|^O0es_!d@@7F>PsyqCZHB_!Wj7x3rS2L zBM=yV>|A$Pf!elDen51`X8=hPaPRaEr8)41$a%_q7b<`cneSa3L)P`vQ5rnyH`!~sS55^4zI1Wh z3WGCnnNUWYz*E*~fNF^~$QwYO=J7bkQ<>5M5Q(vL8^D!y2HsD+UC-?Qj6Vj$;*dgV R+Xw&v002ovPDHLkV1mVm(a-<@ delta 482 zcmV<80UiFr1j_`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i;PpK~zY` z)zqtCoT?M>prm|4%NtW2XUTnfAa2IyS&95sn>LI-JxBc0pK{JS z0}?>Oxj|@v4O$ohV9mgP2!M+4p&Tlr1UE7xKvt}KyZ5!vBN8NPm*+C2L8z7p+R>H( ziBikw{Ou(g(?GrE`Pv9po6R~B4IOR?^aM7b1l19iU@j&G@P!ZZ!3-U%PqmnsfLh3= z^{QhbiREJi0!B}!JFGx$n-}9a?&*%kP1G|x9DeQ|kTq_ienJ#~2ifg*<9kL6UyIuw zE%qS$MzIGdG8iSk@ilY?6~Sh>6OYmqp+83;4H3nUDf$*LAJQGg=?O&N3``xz6C4aJ zAhZGOr~~gDc-M6>_09m2I^Zo<-9t$Rye2Z9Fwcb&;6>)O{sK4ccu56D`cA$Cdci4y zz?&{=dPDyVTqYDf5hpN8+ci+WVg<4qkf(M0oa3oX=l}@CSh_Xf$|?iTC!Ve+_Fsmv YUk1bCkQ6)#L+4V6ganw%Hr#OvLMRwv5lGcL#^8@ zOw4?-+hytfWqc0D=mp)khMBh!-JFt5Ao{<2rQ(3%f~<+L`cK7H`!KWSV*$kYAo;*{ ziS?eIu-YQsiC?-Q1uwP3!NIE$_|OPL{8$;wG1JxTAsT(hR6561R`DK9*W7^<_?lF} zxJ?ZB{Wq;0%@P=oBrw$N50}i6+V?G{0zZK!X%aTZe}a&sw0e6CUw>tu4nwn%zS(`c75j9GhD8 zTk^7@9-Kgz%sT+%cV!?PzDnsy`+WwO;MUv~80-TA@qrU0&S4s{aj14T^b0Pix~w7>DHwTH#BpSnh^i3R2moheG0U6P36Jw-PMNUJMppa%%$W zv0V)I8gj5LXERN*z4YKU^pMNatW98#!6vsr63_=Q3BLE*Pk+$9?`TGU<6YQe+W`~f zc{KCRWJbS7lKw+YRdr)^ad%F&YwqU_vanyXYRlbrbDJy}03k8pe8RuE?F;9W&RBnJ3hDX$HTx_7`1^%( z^5=eP07>%Zw|^Y)eS6d%WB~cgIjds5?O$IwkFFc386?@5-!NeJ=moX>>la=MkVp=$ihRu;bdk6rw3_#}d4gy=}djXIv0fAd6 zB7ajnojA~6O#?F7oSp%2n;XxZx&<|)0b_HD+kM*kWPj$s5MHVT00;;2GtH?|au+bg zDmxNYC?y#{K|uV^74mMtW(as>qmf#K)H8y0a-jVdU}MODoSFhAqJ-f9_em~0(d~e` zBB0FxQc_{Z!(nJN#r|;6ASThOI<(cUvm89u+dSbbYY$s+p0t{^1i%XX<2tP0F!?G! z@bS!=c7I*_76GlgWCr^nc1HFaF+lGw=_|q71yH%%M!>4FDfFJM8*Gjk;2Hp^L6N#C z05hE7(%pd}`Y^!C3KYSC-75i9uA4YV9|lMO0}ib3_)Ql8C{ADLF#xw!@qZRT#UCJG z;u=d4@C66t9shd3meJ!t$v~iI@J0Mm@mozS(tk8{!z1{?YpR4N=*VxmxJ(2HcH)On zPh11#vgxu_vW9m&{KA2C*WDKVX7C9x0l2{gAs{9RH~Jat*9uV&V$thDW4BD!a?$q6dK z?thf4Fg9G~#648-Zkv>UqjyCD4IiOY`oFz<%c-CKP2SY6IUoPjBCCu0ZI#{|z{y+q zyy`fR%_TSevJKi_-#@XpUa{Z|-Ylv1;SamMJ)R6Q*(}=okj-1O=gF%OvjdFYi>+U2 zD*YonfanF_k9H$DLu3b#{*dl<_NI)NAb;!tfGeN&ANj*nx(hpylntMrDfv8^eG(M}Rvzglg0I&1s z2h*3C@aA>^n>v$D4<~z>@aA@aK<@N#RL>ZQ946LD?(xA(tLmizBh0+qja{#1(tlmp z0ZwwGS<9KjAnX9z^f;$_86XP(DHi(%U^*W!0s=e89}A$fDE#vi42RZYKpGt@WMgm_ zFo{&4&48Fc#O(k|_!^E}C+QC{J3v1`fct~`QQ8hrFu)JIAezl$EoBGb2Phb%ANs>` z(heYmnbPiYf3Q@RnDO&bxg-&wcYk#~X$KJhO@oDd=nrPx4j6#J*p2+bjN1Xs5Tw5u z`GXm^14$zOfGJ4i4+%SvWVgZ;#0>obR~Xts;0G-Jg&r^L$(Ym06ZJfHYmUO zmo1m&ZZGtQPNWY|4G6+^0EGTv#;(Z`_=TJH2Qzj=y_g?F{@_Kxvy@;631SEVh4rsh z6MC=~JLJJrwo`}$b|C`3!e7^%dLiZyWhbKt8W#-oheF^0Qo=CU(EY$4mPyh92<819 r;SV(J02F6IL0ISyO8Csb(;xl;I%sHaT~g~>00000NkvXXu0mjfcRY-7 delta 1358 zcmV-U1+n_K3!Dp(Uw;KBNkl8F`NES88T2juW39Q1!DFSDWVsEfg zD3QP%*9f%aa2FdkWpW6l6S$DH@_AzW(xlJ{Qm8rNlQ3LqB-|N%hW!JCjrz3t3zGMp zosa#nlB<&p2+NvhXWkjj==W&af2f(Jm4C3jJ7rdD?xzj1w0}QasjYU~&0Vr&kWU;l z=hO#;+~2d+r|FS+_fGCf)fo>Pgph*Ok$^E3#Ql4Ib!YYp0YXB+#gxBu+n3H6owNSX z6x#E}YxYOF-Zjib&t&&ZZ9Zm*ap=wr1x5+@>aTr(S^?;y`|DhTDDC`DpII5MHbV z00;-t^Q=>*@fsO0!zw!(H7F$sz(8Om{)vARZwYKkz<(o~jo2czUOreS2ipGtYz`Ta zGGoA0lrS9NKIuhA-43Wr0c{45f(bh=hoNeU!{MMoY?3Wo&>nQ1)!?z-)+t|Ed)R{W zl&w`(09b=BuEYBCHecm?KAu^-TF-usK(@SM2m2s)M)w;b!0N78Yr)zDP`cVhpi*X2 zSUtv#5FLknl4)78E^E zA_Xc}&)6wkMMna<%?YZ(?i9-~He6=ak1NHyZBzb^YIig$AE9^l|KHxSrOc22T$;?- zpMP~e{GqihnX$iW(t86qc}t%+9S5?x;KqM!gZ9U_PpUhwSa1fvEV1_fcl&;IG94tc zS+sW{n|J2VqgNqh2N=DVJ3rG{`YStt=mp@nb|X52vI9teNcTGXr3{xK>;Ql_KJ7p9 zhp}`QcAy!XK0P-MA-undWR9={JjRoAF0 zZU+#oqx9`~a$b*TGq(c(UZ*dPW-k-r&Fug-b*`NqPY)8|&Fuhz)Y_F4q5>pUc`U9>| z+Ckt4EdGTaFhJS?6O18S1{DCF4Ydu%FaA}_Wx3mv{?JkS0M&pX>;{1J2Rn34PQWkR zxIfsTBkG0xK>35GfM+qm5E38(gY~bMBYLnNI^@AqRVNb$su=}*fuF8B^+!y|ABs*w z53*b^&>u2^1IV4;mL>KBe^@0^2OyO9cZ5ICxC2m}1qETLKN#|vf2TkE1v+SGZlux8 QHvj+t07*qoM6N<$f?F7gF#rGn diff --git a/graphics/pokemon/seviper/back.png b/graphics/pokemon/seviper/back.png index 9dbf0921b48a76aebe2b1812324eebea6524e442..3c5d85d92e856a5537ec6ea73dda2fe608fd1cdd 100644 GIT binary patch delta 661 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 delta 688 zcmV;h0#E&%27?BWUw;CQNklljA6vu5NF=fcvCOEW}ob!p@Ige#<@|v9i zGIVLALefuQGddFChAv^LEVV;Nh7J`Q&H{9(6zI^ckvuW-C3to--d*R4Jj>Jj`Mr0( zclZ8=v9bTuO!5E_0BP#{7DN#0f>_W;L_-7|q6mO00S24{nt!Se3w?cjV|58=kp^Js z-y3NF7v1CZkYWv{6fj|!4pZA;v2RK1G+~^2qIFbR0xqV z#lK*CNs=HSTsdIF1Aq&|q)s8S9+d$mOe%loi7As8*{Z%4N9O{I3?+U#7*#;~e2RM} z$zZ{tJ=rg=Gk2Ok(7mk^>NFsh}W|Pk?-drKaM39D$py?JOZPw$wtgnn{!YB7Ogi+;#W*v+7}Vb(kZ& zdQ^#zPJh)9J%F+v-)!KllFMu{#N5D{F=)~48D|$5I*vEswF%4^e{L2mASoN5?ToUL z9tlR)eJFr-584JMEfY*&pin&O=Lc~ss0l?2aCxT`^-?(?4xyy*bRl6}D?nJ{4v191 zm;lL#NMGmwS&f*4Nl5lO)qorUZUMLhj93AXUeg93V#8#g6)I}Ms;v5{bVl-A9#0`H z6N10`S^;Io0cb2;Sw6=OKx?ZHCh7?r@nd2I<7QZ3%ozZftE;#Gz{y!G<&$%J%pn0^ z4lpI)*#-u{v^Fo_CNN6=->d1NPbsi-x!mjj*A*wVS&FRJ4OajF002ovPDHLkV1k-T BmvsOD delta 365 zcmV-z0h0d91J?tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0We8KK~zY` z?Uco$ zSzc|sEyC}fZN`9WL@YC_QrT;3@~y%Y|JL&zyST}T+$ z0uYwC10n@5CO~Y7^tGL5F=7%XA=&Fx0&)bn2H*}bVgW#UO&frS6_ef+%4)`nto)Qa zBlTP!w~(3%!C!qXfIQ;>I9J_c2cQHz988oGHsZ&`T4|7p1xCwA0P4D3UBv|eP7U2I zmU2@~HHQRzb$}@W&uw4;OxNb+y9tb9=e;&P_>=;7elGX=@8#STC$(9Mioi7g00000 LNkvXXu0mjf?+=?x diff --git a/graphics/pokemon/sewaddle/icon.png b/graphics/pokemon/sewaddle/icon.png index ae517307b41e3be8ee3bb0068fc6f19762936c42..047285e9f18a38895820cd02f028b5cb63bdc23e 100644 GIT binary patch delta 221 zcmV<303!d80;mFz7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#hY6g34@0001sNklKluHW4 zFbqQrRSfZfb^qIr5@u6~-Q|=LZS~@B@NsNCRU~WMtO8`CB4`mXAR~zQc!Z)PgaY_L zvK$25y9=;&CzL-G>q2S${1I4IA%Mdbg=Hh^VLqq#WE3K14*5wRWZ>+rnkALqTRO=} zn0YJLHDcT>y#5d*TU!_H1M;Q=a(5s2kNfZivBC^#eDwZM00000NkvXXu0mjf=mt_K diff --git a/graphics/pokemon/sharpedo/anim_front.png b/graphics/pokemon/sharpedo/anim_front.png index cf261cd4aae7027d43f5de71570c070fbbbbc6f2..a27d1085b6f8176d1aa0bc01787881369a0e0ee8 100644 GIT binary patch delta 1057 zcmV++1m64D2=NGzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#hc6Ij7b z000BjNkll*O6vs~hwfiiodylrVMttPfK{iP{fmFcq@c|C1EH)tRE+Bq^ z3~Jpm0qXAg1c@eUiv<)2$1EN6UHa}wIWk4^0thL3iva$A_kZ5q;~n2$j1@=YfYpz~ zAM5po00UsVh71OPG8lmaLk8#@0_+J;hM;~4&@=6!eiIEFz%wkt007h$vgr_TQ3sG7 z)BzFBgs{(q*nbc%Vj)D!5l68QlgW+NeE?*|5NGiuj$@^Bzoc3%w@Y$-O-egUQ#e+Q zld00_#Bu<~-UZm1*6H2?Em-X4u;N)fQ@ik$UIxs>l(u1eT30FB!IM%@5uT|fNay$x z>EQOLsO~m#O7r4d8)SGaJE!34qHhxl=+3}%F&G_7(0`Sn;yn_UPCWt7`%R)JIoG-n zN5M9rj>@aw2^jGaZ|Nz*&I#*-E)D_jBMe8pLxhtNd6r*3DZPh)VT31~caZaz-f&)y z=6nh8Q?fvsOd1bTR6iUa-zxq+pC?JO#F2iSrhSHpTQB_z$B7;*RC4;TbEh5_YDN$Y zQ$2P77Jn@VACqYP&)W>y{Sr1`gp2X(_4?)gTOw8^x5A2|SL=1~=KdW8D7~K6>gV;B zH+SJUO|kT14e{mrOR}ic*^4l`AE447D!v{M7~vo33eyUJA=PQ2LR0~&xEEGh1L(b& z05({rwGD+0lcXN7OaL300BdOgSitrhoSEFifq%&yn1K4mtQxBUu=fQHjR5Qkm@UvZ zY@&DZ{r$y$z$Ja5LxVl2-KGMJ5&jc{;q^^`+pl*Z;8zfqFDv{*KKw0*(JyxY=c;jS zjiP^`-ot!HY~&DSzi2Rod!09Ja&xqki=x4>&u>L{GEuFqUE&{F&e3#67UEaZeJH7C z!+$wd4r6BPwq9ZnSo;U1YXjkA{-BVkTNLT!4x|@6{n(vfcjH?j z$bsOow6)iHV)-nZt(M@qm)MJJILYd<1qkI)C_@;9hnRaQA-)p6N%HH8vpiK0thd6uR@34iKl$6C|prE)ftQEYqaWyJTib=_rci2GHSd8w2})JF_z+ zHNQ2jy!1zVTf6J%mu6k(LIGHgB7*|J3`(H6iX%((6#)(eFn@#Jdrj5YMCIEH62?(1LNT9J#l%eqsN+A3>Aga~%3I(5)v043+ z)S^$t7p*N&>XvSE@zfC95;Y-o!MSzL`G#-+N+DV{KaM${Om3v^2?1I;#Cbf4;1n6_A{ME+km&(%%EjXTf6p`+EKS;U0H8(*l|lr6rz@za zF+h^o3W|kc574|@DKPFuo2s`r!r5wgI zmVXYzku$pjxQM6HqJ(ztKzjb}kKM&}H@@W@9SEF+mh?J1me0V`bOqPBgkEHc)2tr_ zfRjhT3_%neLGGnE|A+7>_4G!BS8v=9daNaNB>F|5d*ixq-y^_q@{7zrY~GAP)*RP; zM+SmPf@eeqm`jE9e-DM=s~_FxDV)0SbMmVPND;wj>C99zmxVs zZjW)WnKT5qWtc1YDh@B2mgnE_yM1Wp$t})bQ}Nx002ovPDHLkU;%U! diff --git a/graphics/pokemon/sharpedo/back.png b/graphics/pokemon/sharpedo/back.png index 647afc784492bd743d1b721cda700867253a8304..4f1e78bd449ddae4ba2123169e1dbca2771ac9de 100644 GIT binary patch delta 554 zcmV+_0@eMU1&{@hB#}W-e*gz`Nliru=LQE3GB_IUjb;D<0rN>jK~zY`&6P23+b|S{ zHJBHntPA*w4vKaNL=jyw2&RalfRUjYbbtin(u?!}1#$sz9l97D%6s%0Al{|@)3%#$-a6o@wf;i) z?S@X>HLR{jO6esB;0e*oYBd{hLSPHA|5>4P>d=Owxfytv0U}Eb8Fex1Fv1KJ z&2!&9DWRk}%CQl!=p61yXvjD`QC%7qm(Ew`2I6KE9{@|kUV9}cZ zbr-kdlUugsQ1-xj6M=gK>`epE+JAa;E!HOV$arWVdU0L?=U-Mg=IRY1CX`v6-~clL sP6xJXP!OZPAO^sP4d-k3uYRuo0yrD+(Jk~vK>z>%07*qoM6N<$f}^SZ{Qv*} delta 565 zcmV-50?Pf61)T+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rp8mK~zY` z&6PiH+b|TyHJBHntPA*w4vKaNL=jyw7^aA#fYG5Dbbtopl8f{J0dfIv8M+u5!h7@@ zcVbg!T)HZN<$#n4>4*eCWCkdRcWHmxcD3iN z1NK_$?{wR)=+u>Abv;l@{~|U{hnn_C0HtEhfei_I==DA9-pz%G5$G%c{a^>@jn-|8 zr;(-_0geFlHU%!=hFd$dZbd@_01m*WBH(mNt0OJz2>kHR3Z0{W_1(6iXl?@TCxFNj zhm5+IbQoX)3UYL%!y?86a1IkX!g`#?8L}(-M>C)D8t`lE;Wgmxu$;jxYM9wKlP7Qp*|w`T~c>IoqHW?Z2#6d{@9@fMSZ&)S;^1v3jkTzY~xh0hW|tr%yg zc*JkKC_Gs7CP3ZATk*wRw)s+az&aCwZwS~*1JK$(ow*cC6MA4gBoLiA&4JUa)s4A$ zgNO-bW+ynnjDXXDEfN&O=*Ix~VZ-T?`-uLdD2hKg8}QK(T+UPe00000NkvXXu0mjf Dc1Hi% diff --git a/graphics/pokemon/sharpedo/icon.png b/graphics/pokemon/sharpedo/icon.png index 87a1c7e409481eacc65f4443d264ed94f1651c0f..1f3d9ebf5a0de6237caad0b2e8c3a5cb8e8571d7 100644 GIT binary patch delta 309 zcmV-50m}aF0{;S#7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#j50x+>2$7)hPtGb^qPrI0*7JV!vxV1aP;i(1oiw#G>=MMtTL;DdKsn z!yJ%O9=-4M&>=`pGGm(P@^_`mEPn1)ZRTwpfLvT=$@9s=jQ`6pHR7i>Kl-mx3 zAPhtef+;VZ|Nq;aLdZrgWs}`Ew;E%dv85%P<9KKQ8(n+@B!6evC&<}#Fu|rmUS@!` zk7AJNBq#x*rZXlE8dTmfb7+znQ>3b@GecrjnU8U$NHHZ#u8SJrM@vARuVb$$za{F( zc1zzY&QL6h3xZjH6`UnBgO}AArUhC;2sSF4+1RE{;6)DZL^{VEAR|FKfJ|vz0dn~O qF@1IZ8)4RbsD$wVQrC80;0xjr6dFk98`%H=002ovPDHK)LSTaZ(Rxz= diff --git a/graphics/pokemon/sharpedo/mega/back.png b/graphics/pokemon/sharpedo/mega/back.png index 893d63a2b47386afef91253cb5d6f953d18d4c15..847b52f1deb8c37a9950e0564e91ddd21f0ea5d9 100644 GIT binary patch delta 543 zcmV+)0^t491;hoAB#}W-6#xfxNliru=LQE3GX-0n@HPMd0wJk1Pq z#Iy6@!0f;l5#~FwCLLKlTLsnO0kX@PR)xj^%;n4ZMAuad0B?oZ@pFPYMXkDk5FZ7d zGh$)0kR@rA0mSA+Uw^+LK-`d0(yuDT=W$6^N3|x0!nmLmtFsJ{UVeh8K%yYGtD)Xl zfXc`Xkdh5D16&+SZlWWQAR~Y*_5gK_6DkVMo2UiQ0+pHVB97>kLPZhs4k%z_0Eb{5 znbadr4~7w7V;lk%$0jW4Nf!aB`xoMarv4iT*MZZMiZ2gtLVs*hH$?4bDDlksTlZ6* zI?JDf7Ec0)!6Jhrtm?NIu4-U+3*doGw5^K_t%>cOpDi4rd&O{X&2Qd4ab3T!}Y60M_5IcTO zP*N1t1%&u0sLqImokEtRRR$276MudEh5&IxN=cup6raaSvO20YITXePrC6O!fb{Yc zLy zA@6_!wg+$s){z-K;`Cq`0k+2>P;qS9lAd%Okh*UnK4{9{IJg8(D-~ZJ+Tlie@>DH<4kDfe4ugXA>9vkk`?anlDY@7{pfuKCBNUX0Z_Jp+i@kC{Pv3lJs_@*2JXRRqL}Q? zeA5H%p`#uNx+5QQZVr!mvwt0x03`jLFgGP17yujDKs|N94|B_Q#}SuW|E3|pnjQ%4 zJuGYo(urU>)OG;;GeBhlqd#uQW2^fa!W(DNI0Lf^uJi!7)g+T5Ex_$MZ*||n0@?vi ur*#euf>8hY+5(R*Y^HsGqAyiJ@E`a*9AjhXx%mJ9002ovPDHLkU;%>lYVeEz diff --git a/graphics/pokemon/sharpedo/mega/front.png b/graphics/pokemon/sharpedo/mega/front.png index 4709fd7cc2c8c417491abc3c1a2a4e1c6376af43..fa0f5aaeb5e2440810193bdb863ed8968550147f 100644 GIT binary patch delta 695 zcmV;o0!aPC2DJu|B#}W-F8~L0Nliru=LQE3GYBOtjEevO0+>leK~zY`g_X~16G0Tm zcVQt{x2f&Hle0~Gk*yqmrRq^ADBc1am_NXOpdbkOUwpHPwVP&VA0&Z%KRfe%-zmWKz~vlvY^YU0IE)O7IJ{TYC;Qtgkb>C&CZ#cpz37W zTu(fLmvtfhGR(_cT%)K)#cvkjru@_*rpw@wwMjAmFYh*CZZoz~;rt)rAwt?mF=9&R zJn6#Q1HiNk6JGO>^M<2zdr!SDgke@1EaHqVB&^Q1S-4gfJzhFefDPa}cYznQe?tKt z08181pNORlwi?WTfjy-YAVdnNgon*w<-WO9*?XpeY z;{3>gPIarlzWem7mG5Z?c+iFLEEM$B4yW~0j@F_@t{BW)l)#+w$~DW*UVA7)Bx0Ne!^cNV6}_S zZ5g9|KZw-fsW=KFhzQu`hZktCx6!t3U!wZ35fc;dEGf_L6*1sh{ylgD0wc-Bs z`g?UamU8)ec>4Hr`e$%O`{VM-st=~q-|s+RxAkdK+aF3vCNh9G z6LIl{beRDdr&WB}Iv9qTK>z#$Kj`vSCQ#s<@~e$x<{wIOdX-RU|8Z!DasZ>22Uw#V dz*zVN`wNM+`|0Ldc@6*o002ovPDHLkV1kk2N+JLN delta 732 zcmV<20wevk2EzuBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0-Q-iK~zY` zg_X~16G0TmcVQt{x2f&Hle0~F)qPtdc&Y8iL_!Z{-EGf}nO+<7f&0*|#i#i(z>bO0)P3pv0V0O*1&PzrFY1w!z3 zKtBNeNp;DBE~f&hI@Vdp0S2lGEf9tQKrd4_sR^oXrp@)lBY0UC!mq$}d5dcl)u{Nb zBHWapTEui2JhI9Z^Z)X06Xq6U8&%H#5gsC>eH0_6bk375yj=i)OuI1QH4iy&I!d>9 z)%!viX0^#8&geqI>U^7pYh}^nr9%bS0IqWvctQI&72pA|WTEtl&;p#do6Lb-r4t}T z3aEyv1;(68qC2Fo-j2#@mK4xr&~-Q8q6^}EF%{JgEAuwzhYoaWn}hY8r>DhKn3hWb zb=iiBhkoa%FOnpGT(+@&14M0BQb6VN0FV08j#{Ks{_{M^Ij0sW=z%>cqy(+ z${$Lf%7yX4dHLhU^g;oMcjn7F74_3u<68p6#*(VlM|-oY@3qlX%H`wfsH*mnvsENoH5?kr_1`@NJ=u10lc{s=U+&d8Gvz8!sABTo02Qcb+fHlqmjMQ(3Vf+P&wfpI*dW-S^ O0000G>#FG@St@s>5D= zCQauO2dFffWhKv@OHA;4n{87dI?t5^L2n&*-55mKdb-+OKQ@n7y$^4J!PnCI`=O2x zNaXyZK)faXp++$Ec6?#LkS`1vE= delta 301 zcmV+|0n+}X1A_yQUw;7(Nklc&5^4i6au$!+>L-JMRK5O)l?Fien*o>E0_!*G0 z42TTR7y`No8yW3Lm61w!s2wmT{Et2b@>P9QxdU?_)L+h;^0CdwU0@ zluNx`2D`R1phWfiqozsQxx_gtjb>lTrgMo2ew_1j21LzVNf6AA@rxUSC_kh1W#fFWNPFkG053q!XHLv7Js7;K0WChYv^ zg!x+O1~_4^87AYx#A_zZh(X>y#tbUBL7gyvby3jN_4*=200000NkvXXu0mjfgn5X` diff --git a/graphics/pokemon/shaymin/anim_front.png b/graphics/pokemon/shaymin/anim_front.png index 82ae306265fb7b332661b6599a91083ed5ce32ea..e37ed4ecdb56e8b72c0b382b94bf02f0ac761ba1 100644 GIT binary patch delta 614 zcmV-s0-62T1O{4l@x!M0j`)RQ6+_-N?doM2?=#u~)XsZsj_ z8nMvt3?;O_J4;=<__f4xk6(Yb&gOBPDpmeH&-O}yW@ud|L4T9_fu*0)5D(9^?D~`{ z#5Vv98a8PjUq5M6oxSeRPx`!}R-A{CAtEd1Dkl-0+quPRpFX}_#`h1 zO*0;{&U%hwMeQx2?RE}CM^y8?Ygv}XEM^H@V^ho10iR>WdQ*10n9-J7SRZ6r|C06a z7|QX?-~St^pMPiB;5}BbL`pevg>HoNDW3mvh=BZBoMDg;Iqk783b-rGfYEXNfb*1%?qLGBE*ve9!iAJ$enwpFmZ^1L^9!8dfgcDx zuv+%{Pywl7-@aM>C_4s%vxHuWfl$|CAlJ0jpu{s92rLLj*bHPr+yd}qAh)Ow zGjgCakYB5x2 Au>b%7 delta 623 zcmV-#0+9XB1=t0UbbkU)Nklr~?{8$RbRNdAKe58XLc zUOG~Bsha8VkWQ6isZx<55jYw;Hx`Tx*;tDhIyGwlfJQ9z-Pr-dy(3bkPW5Mr<$eC% zXO{OPq*STD*TK_A44%JtOzR$V>wEGU^Wk}J8#^vz%HmoKHGk%NOv}Zadg|>g18@4I zrl!FO{M6AJkO0GzV;zD8Fm1?%MC1jJPE~|sH-x7;2-%T!JmRgahZ#|MM_IF}4Z$%( z{_jeXBq0xZBrhSUfg~i!*O2qxlwU7qtl=2*L6Y=8@E$zFbUbsP?Ha0`BpG~!2p*+r zI&r#Kh0YY-|9?CLL;Bt9FwiBZJ$|bUH%158@#!LL@fMHfU>F%42$A=q`GQAbB|?XVk2qzoh+IoI`^tq$lT2G0ryS_&|H z?5IBE>-%q|lpHX?U;&*CVEA}bn9|H(X}Ts5o1s7;K8i|30>L7-2?Y7nHGu@`_#-XH z9vU5B#c0KvKqkofuXbML1fm(nC<*lNGA9s)C^tq2vLO(KC?m}9Kp=o9E=5mtP9S3; zT%>|hdwG=+$eHEFYkv5Z-o;n}CCv|V{?j%m89&H9^HTr2{s7r(A0~qah^_zt002ov JPDHLkV1kF+AJPB- diff --git a/graphics/pokemon/shaymin/back.png b/graphics/pokemon/shaymin/back.png index e66df248f59b758a7ef2d7cc0cc763b5ee2209aa..9950f398de1cd152fc5d06de79ba751322b8f3f9 100644 GIT binary patch delta 538 zcmV+#0_FXP1%L&RB#}W-e*gz`Nliru=LQE3GZjWE;8Fkp0pm$TK~zY`?Ub=@+b|G@ z1&^9~QnLuC5lVXjndy?PfL|ajY!rpoXy}x=Pe5nL8ZZ;BAb>)+*}7E7=ne+gEG`tF zYl`F3d% zZUr)tnFJ}Nx!h(X!_xyg$fyqANJ{8ArB>A;T>o)y)V-nA2Oc2J{@&061L@y@-Upi? zmC|>pg&c4J>>NsdfK&Oz&t9KxG-4lp(6jf_BfFn<4{qlYBQXl&)tC@Bxi^KOk0 zNR9z81emE20+nN-e~M|WGa#^|)VOqkfW)i%=%7&F$Dbxg-3;&;{RdeTtVM z_f0F6Dr^3^(*MJrDls+eZ1*G+BW*lBXHaW0^5VFaG@4Ae+$Nh57-3XZq%2%Ig?xN zA(2<8Uo9_MSvwOG0!&Q~DSzI#ZR;4&Kt$GejlgX!JRkx4mIhcdAE?$qA1mB3uS6u) zB{Wd8Gk2(EF#QAE)|?-Cb04mN*JxqFx$wVTY4r4@ZN(*b=4D0TRHW>rT?XMLKYRWi c|DW+2wtCGs5Z_jA$^ZZW07*qoM6N<$f{bMQCjbBd delta 543 zcmV+)0^t3C1&9TZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pUqRK~zY` z?UFH1+dvqGPZ=}u*|1n@#MwKNb97;=ls`bLL{;S#51p9#1s4WZbW9f`By&pHy3}G! zhv-(8R7PS2!EfkycZA00l)WmiZu0y1{oc<$@}_@Poo#bo@skM8D*$DC3ETUd8;}lT z1!FRf(fM$+#erqtPa6%tOM`@k&K?e< z{2)JX&gcS7Q2+ygsU9Lwcom9}g(d-kEv-kn4-gtY&&LLt{yF-8IzDVBz>9iMD$DXO z;?xJI^Pe88T4|k^;;6AD1hDzR_`j;^dXedDHa=bX8y$)P0|a{LSJ&w4ITvzu%ZQo< z;Gr_gw4UkDya5!pz&jIAeb;(ApO(j~9h6(6SG@qoO@O!^+=L4~znOC`+kgxBaihQ8 z&$wFi9U^sw{?+1oqE@AMW4Ztno1xU*V_nx?0Rsed`K=MSEoBRc!2L@LEO;9zmOu|D z-1F9mKrTlZpyX#BKopt$0d7kn4t>HbVzq-6#zM#zK$P|4le(6d!n-fe1m236pVSM| hy%cBUP5+??`3<&u%{Q+e4eS5_002ovPDHLkV1g}X`gH&R diff --git a/graphics/pokemon/shaymin/icon.png b/graphics/pokemon/shaymin/icon.png index 4471c5c2b77d506fd012c6f17d735e5bd05289e4..85143871a41f0b246bd15b83e714d7cc0555ed13 100644 GIT binary patch delta 257 zcmV+c0sj860@(tPV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l@}~oUC~O z006v6L_t(I%k7dq4#F@Dg>wVnp%>`T9hR`R3vcO=9)pdw9H!UcB2^=0a-%|5Ld4Mg z3@i*th_~5#ezL7kh~F1kmp0ZK&PKI^R);PcfQDDFkgo^u9C{MaUcpk@Z30kA%4T!i zTNs|?95SKIg*iALF#S112pXIE)K455)qZCTk718nRhW4xqfM8BONwtHSJ>=+C;oaT zN9o7tsJrB6EA)gE7_SVNAqNKE0w&_)1x(C3xrH-6=o3Dk#l(6palv8m00000NkvXX Hu0mjfj_hg} delta 217 zcmV;~04D$00#4udcZMRNn+feSFOw@bRh(!Vf-V|43E55qNj z5k#a+22og>A_kl=bm>s3>fgTgZQ0gS>i0#1j|+1SKLp;xno|`tz+#a^Xz>lWmkB8E zV6BI(129JGVoOXV9Cx~xnK16gEQu#veU%Z4+9JQy9ZMlQ9#Wj+R`z&giR;HS*mO)d zrSKN=Nod#e)L-x9DgGFpZ591&hV2jovuFoQvj+y>0w&;N1tw&j{Kz{#=o3C(#l(6p TTg5z`00000NkvXXu0mjf;n`u6 diff --git a/graphics/pokemon/shaymin/sky/anim_front.png b/graphics/pokemon/shaymin/sky/anim_front.png index 541477651a92d4b606dccbb328be2d70ef3a3547..3bac8c84f5864ef9e28e4a400cefb71a13ab5642 100644 GIT binary patch delta 876 zcmV-y1C#vE2h#_TbbkN`bV*G`2j>O{4l^A{@n~QG00TBjL_t(o!|j$aZ`wc<$6W+W z849RrM{v|MD_om7stoo>Q;a=S)g>)1>JX`|;aMFRA{(DnDPN=?pkE;aWXyykhALCS zXXrcIkTl$ZI#%K>SbD#E@7>+w-d|BR_Rsd{@fsjgEw2H{f`7=?g~SI^OI%sKCs?l{ zK*~8lLWic3)wF~Ael0`PJRwEJ0@DDGYC6F1oZ>T!5Yi0FCCnB8+7RJi!hE z&mpxwov*gQ)eyi0RYGb{<^a75ZvptMnZflXQnM1b*S=SP3BZ_Isv$v03N-HASq(yu z4M}1z6F&oYv42UO2W0G+#5KHP^BUYm1cPT_%z0a?7KqKlqz0$6$dPv(n-hoR85CFy z^iA`xW6p6udrh8#YX?r~)te9Q!Dj6aYaCbkDIaaO;h|q?J4!BScAuHwdr;X{J~c&m zZRYT}KKJ13wvrbD3Igs=mjhzUwL`WElM*^C8Zz_Hz=WBmh3iZE?yqbUJ= z@ZuH^WPdl#G!C#8fZqZze8wcZuvvg@RX3%;;pq_n>V3slCBU1?u3~-Z$G<|W6sYo| zw5?fwJ=4+`doAGp6=8PG{Dp?@I*xHtd}aFmRM`XkmC^^xb(5f0vw zXf%He-`_;%!<$$-N40!yRWHLh!|1~_rr9@u<3J@6FMi*W2g<8Y7AqTVHzBod@8>Rw8 zCS?z7AHulD+cJP@AsEbHLn+YifNM(iLvC-6;;mDue#jJy6!k+H^+Q=c{g1vC@ne-d zDAm^L2QEc~In-1?lo3@|>4)+<{h+SX54DYcShhbjIqrXuY&tan0000ljA6vvM!$<%=)qA(_|C|#3-&J}VJkD0OvF$LaPvH6sGRsDq)t=*eR|$piXT*1MkjG+LF6QY)Iq{iKX|u z|9ifBw*Q1Ihw61U6%h)dm;j7vg$fdsCP3{voz@}r*?`9JG|n^dW;a>qf{g7_ z(Ze$~?ZKNV7=OG1WA4jBIY(_4#yz<0S&gjg+ML*?k08ec&^66l+nnKf_MAQh&+faS zUu}@vVY617)ppB#mv>fM@MoU1T$1TGI*-inM^IWN@8$rp85!KJ_ebz?m1Ly=LBRX* zg#+@)G(+%zeuV>vtPF<|Ae-!Q;H-?I=;VAJ5F1qY2Y);tMdQgF(ZPHbSWVe%|n3upOT@}e}4#nQ62h$GsF+?@LWQ?4PReI$Ae2@ z9>y}FZCpji{n1!uFOXnEv=7nviW4#k;tKl^sU=K<+XpUiu{UpmxI56~0vUg1;@SbzoudRNg&M}DBzKn!GW@+*)lWIJJEKved?4j>dW-ckWf z4`IPz1{)}WRvSE1=^rv18xEejqx27{eBMF-P(=SwlmqQDFHNL&<_m&gYMvp z=ejTge%SyB1{XsKL;+tpO%GZAQ4TCQzf=HH0&diH1`*Et%(9+C1W|Bvf1(0n9}p0Bw=uj_8cs{M;2S6ln5OA3Lc-VCjcpYmP4D*m`?LU}FNvpwQIBc3m2F9u zRg<6hg&wk~pm-H9i}?M|ysP-dH4E1Tk%k!&Gy(IvULy*iaZi#+)4eCBQ`tNw4)S=% z7^e4>RtqtPe}{SC9AF&j-?8*Jd)kE%Bul>35$O&^R}4mr5!bw?#~A)W#n1dX@D&isVDBx=xxrrItvUd o2mlvU3&f^4o&ZdIM9BZsADB(2wme%B?f?J)07*qoM6N<$f*Q*+XaE2J delta 718 zcmV;<0x|uk2DJu|BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0**;UK~zY` zt(47f(?Af%R~7cLQW_fdNP@%z#OggDhlE=N-q^>4hOH0fmUweb<&P0>LLY!908VL- zJv9<1PL-d5S$iFS>>6?4FGY$nzs&r1W_HQH${EQoMhoDsBr(0v0|u9b+Xf_(aHF;w zJSW_B3t;n%Fp^Ds4M7-xoVNhP#5zXXQL8BAW0TA`kT2g9Sm zV9-qAmcZhqZ&}v74BDvCtOE4AmUTWa!+;8HcBs(lbh_uPh#Mk*oQYL{Q&twB)GG-0 z0I-@tgVL!0+#HG3c;eoHULXZQR{<5+~6br z*9Y+5AaOdcchW)N(|ZJZ03P&vj5S(qK*Y!q0yd_A8+Dvsg!{hebe=;5k#}>V0^&X( zAnb-Qyi^8GNeR4vyY>5XqSF#92;l2@}Pyy2PZoj`z3n2QE z%#<+dG4(?^mSkNu`FUUHA&Ux%R{^t#-~Y^~il4Y<;kqDFKO?**U|!d2L>@HyB#AWL z&*XMC+h8(rkjFd5F#Sv!wGd-?mMLvz{E#{{4Wvm2bfK#wxS=Pi~s-t07*qoM6N<$f}K=P Af&c&j diff --git a/graphics/pokemon/shaymin/sky/icon.png b/graphics/pokemon/shaymin/sky/icon.png index 346e80da0dd406df4c815ebe78ed8777f7d20dce..a97340a4c4578c02728da8803ae302553aef1a08 100644 GIT binary patch delta 353 zcmV-n0iOQZ1Dpep7!(Kt0000?P=%ZT001*kOjJbx005DLFn^E(Cz${M00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l^SDmqlFw008evL_t(Y z$L*BO62l+}gdI`FlkEFHZNdCBZ9oq_b=u7>tShMVrS#WTz{)_FuNN{$m;*8aTyd;; zvs!|PR7M&>RDW>WgoL>=gMmUt?wg@*jw)I&P6TffDJp`OV9P6wsyhuV-g*sZWkJbO z!+NRuWl{sYJ#=(cCN-e91}|Z>PgZVzli2FL$893p6ul!&FKsfYo`W{3M~29teb|_x z!LFJye}KdA+4KGDO9&GKWDw>85cjb@0pbxxBTj(0ghJ7uCqOjMAw+5#XEAa;Pv_%HzSn|ycx(-IMuG&Sjk00000NkvXXu0mjf(p-i< delta 434 zcmbQke3N;CL_G^L0|P_nf{eL9ioL|s*OmP-kG#00!d~9O!$2YN64!{5;QX|b^2DN4 z26rEq06%wyveY64V?C3?)+G;tN;pai{M>;u#y~cMSA(WJkYY)9^mSxl*x1kgCy^D% zHwf?vaZQ@jTwGkdckkZ+|NmFd@tSkiYs$BY4l?zbmbKA9HH=B#?k)@+tg;>;PDzko zFoVOh8)-n!2TvErkcv5XFYV=PG7w<@u+LFA?!c3TwiAZ0n^xoBXuiLxrr{Op2W^eP3Ii>8Ev>q``jJm6CvPAaE)mg@$+8gHg&kPVb zf2_8?MpNwO!T#sY3t9wBla^=)P5fmjIX5J%t+!J2s*m<-HBTd6m5UN{1ot*{^{#X1 zS*&DkCU~ecd#+bp#jR+4whh0xsrm(NF7)oqIomK}(mDTC+xttK?Iq{4+)S`qAa_RM zfN+nP%Twl_D@_u%2TT^Q?mdv%b8MGy+MW2l asbAWPzn96)@oyK<_Y9t{elF{r5}E*CT&zt1 diff --git a/graphics/pokemon/shedinja/anim_front.png b/graphics/pokemon/shedinja/anim_front.png index 897127dffd67726af1e807f289273dc8e3b4c548..ac8cae6a4752000103fe0d890f2f2441f19214dc 100644 GIT binary patch delta 1014 zcmV&2HO95P&HI1PJ(KM-SjCeSwsI0mpg(T~?%|_^71}pO>?#FS7Jc50x#WHW#UD@8Tiq4&yFz8T?24%?v`=-+SFu8 z^bIZ81FP5V_xoqP=Dal=V3l6al(y_}s((cW&p$b!10%Xa%qb7TzWl z0^kHf1h4=h^%|GADGh*;rH8-_)9G)|^M}LqtpY~3!zs|&f~0A^jk^+HY04?UB22N( zS{sw)CEi-VRw)kwgKBwev7}fUxDWy=pneylVF9pJz<*Vq3;jXaR|o_ELx=zvJ`JJo zt{;8~ic50^)c3mD@O4p~No>Ny=b-~$Q~)eq$Or)djUaq>4d9D755{=`K)p)D(+NN< z<-3F{fJZRbfnV25N;yinj3VGpr2V2qnuvvzSxONQ5w{#|!=20E&1UzNqyd-ST+gal z!eVm&_plGcj)i9NE4AK8*GS z_OXwBe2>oYiP9Hy{;1Fwv)^=&PulFo>YSHA$A2IvR@W`Hp>t}e@zU*;E4i;tdUIT@ z)DCo9GjOKzFI@L~lQyXVr)XGRRH$!&J)G4gtc-6J$S~l~6|2fuGG`A6PSEE^)j_v( zv>p@1>Qfx=^|@L(7%)#@zL>Atjr3Hk;cg0xBCiV61!R zx?e0yg<+E!PId4Y(e+{C6^6ou#|r~Neb9t+RT_%Fj-`mM8`|_sL*XKpneqoBG{AxC zvYa5Gvij($){Uc|W7GrjFH5pM7J$fU5O2$K{*8gD{o3TX5PXS!03lZ8fqSkA=7 zRuX6t4BTack0~|^2Hfm++lUk6@D=g<-7a59^Z0kL2FbQ9eh|k5_o8LIANm(hX2&V3 kj5E=G;5lM{=>K2w4;f>>{4@bFi~s-t07*qoM6N<$f=u7%2LJ#7 delta 977 zcmV;?11|i>2%-p(Uw;FwNkl8n`5P+!w1PHj2qX%%5yg)*~fX{jWH7n{T zF13{5dO4eOqlV&!I+sTuAAmSvfwWN^+vNcPPALNz%IRHhmLy_v%~hJaPSfaTKF!Q7 z1!2%HOn3j%tCI?tkkd@w`(HymH->CdR32 z0G^$?MI8TP8nPfdh7s(p)oyh9K@dEH6_8>;ZkB(1|uv#1b0#y#%I~ zM=`VpI0Fl=6MqUmZ~_4W*np5~kMrx4`oPG{LtujG^pEZQK`(u$fWdWd40IBbG_8(t zQvfVYIRyxV6vwQLF`Av@(R?;fc>owx%Uj`$Vr$?+2q=N-DF(e9U~`|VJQw;!*%t`- z06mBR7~Y1K$NLXH`uR^63aCEo;-+AkH)j%u@bEr#z<-N!fW@JV5CG5!!Y7vieGxDG z;UWj1+9l%Y2q2d7eZm#MBbe&I?@K1793)&u5pXA}0**)%5lWe*6af)&%c%mEbMC)g zZN8J#=hB<%Srsz~N4NLis6Ukbr&%=x{I*)H9w@}wq84!A3V|=cvSB@7i8%tR=+jWv z3{cd#y??#^{N?JK8Mwm=U*A3$I^ZM!{?Fg{>m7h~AK(2Y7qO`W{s4Q|>N+m$AFRKK8MX$7mcLDSa{Lo4LN2{idY~nC-=CoEAXCASYJKEwrI=Z0PaQ zZ5Nf?dVN8?IV>yf1{$szI8piMuKPHoO)9`K8h=&`73v3I_qNyOt5UHZJCL5ww}2OA zzLYt;OK^iuw})sIj@D)(uRg~0Ufrvug8}md=JWlk9i**d2{&U1^So+M6_7z1Tu}ce z@%UKnOo8d@`nP?G3iI(AV1@+8G_AI=|5OTdfh#-8{X$jQKF5~A^vk?9W~nfjs4&IP zwSRM3gIr;N;rc~2z^v{UvqE9mXo6cEJVtbV7M3*&V z_6tMdB9@u*2O>1Uf%0byf`H2EtEa3RN596X2jYn(S)X!1ET|t#O+LyV-VzTXGX>Q8 zgEO8h$H@YtKg=fLY%K}w5Da|E1g|MJ3Q7iCZ8qzO6XWs~@rTW35lZv=cd!S^);s(l zjtM@C9qav|fA(N@oTAGxdwR=N;wSli{D1K;8Dqcv-iVX&00000NkvXXu0mjfvpC(Z diff --git a/graphics/pokemon/shedinja/back.png b/graphics/pokemon/shedinja/back.png index 97fb734c18b0cae1a0e833357e88d63346731f2b..5c21e6f551eb1db447b6bda58bb21e66e47d36b9 100644 GIT binary patch delta 688 zcmV;h0#E&%29*YoB#}W-e*gz`Nliru=LQE3Gb->*&2Inz0(eP8K~zY`<(18D+CUJ; zT_j6Z4pC|Q0O0Zhjq?IY`~beJ`N-J=rf0H9T)05C0Z+}yMQx9}}s@v=DgWwwPe?a7&e+~E;1UK5^&Pvo| z-Ivj1*a^0}7-X3+_d;dOu{ zm3a~mbAXf+ytRfpt!Ypy)&(+PW`REs5Yb!JWy8DPQ~d(=P@U5ID1e=3(Ri6e)kI|LYdV7(`D zzF(D`l0?`WWeSiILM?)G)#(>ZV7So^jD4eeB@*Z;!0XC2f#{DFV4A?-%#7-F)&FIn z!wy4wHsEYi@nK5cLuFHQ^YoB|%qa^s;K+N1g4{IR4a zzQqn(l#3*Ee>N>WR;FHa%*FQY5^8|fb6USCUOkbWwB+}I*y?Qirqi>OZp2{ W{AASH0000A+CUJ;w@8+(9HP?p0l?)28s`O)_yM@A`N-J=rf0H9T)05Cyf$IiO+xzn%ZgtjT{FRTFQ2BfqJJCO%c&`ui}v#`_--dFKK?hT)B| zxN{N}r3WhNRjgHW6u7Q`2KqRtqsy%WxCv|;V7FHe;Bcu@$978|jqs{=%pE}GE)0&< z9DurJ2^`4LB&h^Zq_0(+4k`jQW+iAuCvN3vL{W762c4*0*2rJP#rlxR{qOONkjtN| zeflgU3K?vOT<8O;b#VfS)!GLD3Zg3|@iIy-e+VILJr7f{k_bS5JiuIL$>(kcm^Dv; zC0++eQk5t1AOlDRwGLiK1E6Ze$|wfZA*GXj50na_4DdLiuZhXvsACPP0RR@m7K?0@ z+vIF1bEB(x&^jdNTl3UekB#{gW2RW5R%hp=O$&@U=Z^+RniulfuF4Y&O4N{ShX6+p z)Vneh`&FqaX%l;YV_XBOgw%@=LU;NF6Bula1LxnES&0JL8t^-6O(1(C4cI0y1h=F5 z9sR!uwE1C3-vyj)Dn3kUdMIsbrauNd#Y3;n;}X!Pb`MWjV9165{Zqh)X=XjNLu)we zpFftWiEpvP7S$ptn@$RkwbZXU;`Xg*K_{IQfX6+?8T4m=nkWGA61a?^HEKbBH`5JRB?398%SAyazRaO{4l^%+COO~$ z006y7L_t(I%jJ?W3d1lAMSYQQ8h@sp0w!*UCayAfX{+&}FFs$Nu`eIUkO{a6IK=k_ z9@$+GATk$3!a0@L>waWV5TFe`q<#fchZmdlX$7e@S}7S8FVMBdNbk|SuE2oi_ykfe zphInHuheQkp>?)aO{4l^^9CuOey00VzXL_t(o!|j&8bJH*s#}h3q z40U9fV_8XmvDi=k11u{W1Ni~$83b20xNAx_dI#;y0&|9x)5yS524?P98T!}ordIFN`SiX0I9WRJ-XJNv+Rjo1oZ3c_)133Hr1X5rnU^QO~aiC z?D?l-tj2u#F<;mS@;X4@1MV4S6`r%m2KeRyWO-=` z`A|<$zx09G^3``F1_xSm);j#{0S9{eqs92+D{MTB*Y|con0}a+vc`+-=Tdh! z-jfI00DrQaZoX-W-U4hW?{3|#|8%v3&0X83kZd9tg$@1z-!ErDvjqt#Eib5Or$JAx z17UcNVL%$DhX-)OeYKXmW>!#`Pn Y0FTW(M^|Q#5dZ)H07*qoM6N<$f_@;d6aWAK delta 937 zcmV;a16KT;2#*MmbbkYdNkl=^`CHn?j_HhKqiW`Q|F!f9k+DFZWitPFe_9yyM$k?eHp9YdAz|MT-^InTeLXfH1VMSS zNk6nYBtDQ`)gg6qbS9GxkZp7b(p`Y_5(rBjoHFAy9QUxtBrkPvUOI=YKV#D}0qVj7 zq}H1CXr()|?0<H(Noqt6A zEY5Sq0_9)KID7f=WW9J0341H+0C9L~%-Mr;wLQCCVw-(!%+baBCV+rEF=qXhj>3&T zaDiMN8e-< zK7cb+gDQY_b1arNg4_n^d%%HVR^bB{*#O@?fUGVpA@A!M>X$w+U%mQ)#PC>a&RP%u zc)+oq{cJJ*_%B{OjMw+NAk02O9{pVv&oVbab$+e9;7+RR0J8G3JAl3h*i+u^xjp~s zX$Rf?I)8;^AHgW>@elZXu?w0lNI+@v2Nl)&2h>yRKp6gy)cJ>2yOUc3fpQL_CPX`o z3kRZ##rV_*LTUHA;+w_ku5RlM90=;d z0dg3leaJ^!9h3`*KDq-os&wa4kcmWlpkKsge0=LppIm;h4#SSRu&vCE(0e=A`ozp3 z&qHfky%g!u(JAWZLI@d!{>3El?BdkSm!D`}znsw?%umev{0pyk?{1AGPqBjK#l^G% zK!1@ zWiX@{VY%ZURNn{GRSP1$<$YjcJHzdqn72O3VrfN*4Pq4e&;!sve6vJ^uN?KuTK_1dardB#}W-e*gz`Nliru=LQE3GdKhFye9wv0dYx0K~zY`?UX@s!Y~X) z!6(4MY&*m?U3Lc49>7FwnPCVQV3C7&y3QFY%Z{9YVci8JQ^DycNjn RLB0S0002ovPDHLkV1jZ#v|0cF delta 436 zcmV;l0Zaal1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?UPM%gD?z*2`7k&*>-~KblI82?Ews8o0&|K3uM8;J6&^zO7b5h4(l$W6`+sz^n@v1 z^{S`U2(e!58)NnhM2UUq_D}ob9s2<0nS?lO%ojj^J>~l=bLgmlHs2x(Y)pgta6u0v zvI3y7ZwWFc<063p366Mw7_83$G?}2(A1eauKk#U5R+r<>1m+LTsz4%?MqXPpr zI7qky(np#YV1;wBBEX>fTBw=eKRDf_)x6)wo*#FuapL<^fqo1K8E4O zOcJQHJ67cnr9c3yNdlH=2aM_$D((+A=|@CIq8xA>l~NvHk1BYz4v@!jbPmIyVOnkR es{d0(@dx8CycK>AS-sf+0000mdKI;Vst0PSQMMgRZ+ delta 43 ycmaFGbdYI60{av2NQi5QgPJ0n#ZK$_6sV&I_;?aaYZDmg}5jqf2F3>JtR%3mDMY z4jB|bf!(=7qL=GYPO|Xqp+KkV264F0KY1k0`-7m1F8)=(et+lzfSB)%&e|ceHkn93 zIMQxdtr);F2|$E^tDM=_MthE4EnbB7Pn4(tKmKiWh6aoFB@o71Vr79AaM+TxH z#^eK0WXIa&6N{L|f`I$2bstum#)81`DjBu{3Qdvv0z-fdK3uU%0yZi@N3TIXhCuk%CA1DCmITJE zjxP=b1wg%en1mgO1iX0|6b;6!hdFm1Mg(3wjD{8v&O*I;7(Q;yjla)v(R!E}>d0c| zb^j14q?Vwm9vkqxKLtgbzQ4aiWk@LWL=)8yt!sqI(uwkb74#QdXAfxL46A=1ZZ7KG z<8DhdfijoQYO!hR=6Oq#K?bW-bO$@`%|Bs~8;E3pqb^H~r4609Kj7y?+3VQL7uv4465JfZlt2 zo)2Paip15CfvAr$`9Kuep?3AeB4)ltCvm^E?t`7iJ`hFy>!jZrC^W^$H|PUo@bQ{m z5{UgFF0KGEM~H^pW{AGQRgMMGWH;x~KS8L9@{w4%VF&bqF^;}f501z*cPM-y4yG;e zeTfm8uHRzBz<-kHuByfwvz`aArc(x{Rkg$ta(~PqxN|M0%W9dMo-%&@j4IkWP(A_S zcIRE1)kIZAX+BAnH|SXc^!&W0y9eSEgx~>T0+;K}=7|WP_sLE5H-LJzZ5V*k0fK1O z{A#uUC1xN3!HR*GGDk8p@V;TaprPQ_dIxZN=YZdI&ws}e9@qo$LoDs}l>yQFpm5bZ z9jkK_x%WvYo%G-6&3JIAyLgZt0p5-Wo%2^fp%#EI+O=*2#2Wyw#11dTC;>G0QVT?M z2eek>T#5%AQBbw}odbvz4;avhE(54Jrjmtn3B)xqeJLIU9aq;k49o|nE4-9BVGP|N zEPOyCy??Z$-3V<0i6w&}yW>8A`1yg4c*rmbClCpE%`hkij6;UGa2ZAf_8CS)3kdf@ zy=EA`-I#mZKg76bGt2~aWHIx$e~1)POVC&k4fxxif}$-yK0cr_Bn*0{iR!1;!epaV zdB6g?v$cx{)N_H=e;#fx>&^3KO_V~JOZRHFYD(&6yQZ|4!9oI7&4zdLPw3?aA{k)S zWr^`P69KpVYkqEvQE24^QrC6B|0I8-qaom=laA;Q^$+5xeyaPl00000NkvXXu0mjf DuQgNP diff --git a/graphics/pokemon/shellder/back.png b/graphics/pokemon/shellder/back.png index 6a402e9ea12a5de4274d9b9ca8efbb5d3117310d..ca1ca31dcbcc075ec35823143198e540c080674c 100644 GIT binary patch delta 295 zcmV+?0oeYl1EK?vB#}W-e*gz`Nliru=LQE3Gzx@cdtd+n0R>4!K~zY`?UO-n!yphv z?M1x~87BuIIY8;h>=Dzf8(H-_7M1URgkrF(P82EYs{TT^(U228^lnnexCW$7qZ{Ns tjcLM((9vVRn#vQVmSzhtOG8cydvhCXNp{JsFPFn8q$O#p`*usHI^@++w5cIZ`$-{R8`-3=|+3M(L~$;00004 diff --git a/graphics/pokemon/shellder/icon.png b/graphics/pokemon/shellder/icon.png index 8ffeb3edfa95cf44487ddbfd4c8f2cf5cf4b5787..a7f4b52e5e5f68340b078b1081c1030bc9a18f43 100644 GIT binary patch delta 280 zcmV+z0q6eG0^$OY7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#n3^a+pe0002RNklxjYHfM-}N zg_u+p5ofh9F}vkfyE~8~!~c^oydd~7;Wz}!-U&M#!?<${Q-Eo>8|fC>$HtA2hv~}6o%@G|OcFC|yP{W2 z+0L}xAw>=y^F6+dwJO6fRs_zd5vp4sBv%2{YeRpduf}2baX?Y}IIPth4z-U1$>HO0 e7UJXZnV#I5yI~MpxnlqT002ovPDBK*LSTZcyLBZ1 delta 263 zcmV+i0r>vn0@4DI7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S&`Cr=R7i>KQ(X^) zAPjTyfdt6<|NrfELo~-Y?(IGj7bTMxXw`1pT|ZaA*_`bYUP_y1)7!u(@a62JOc|<> zT19~A9#Eo$IaGl6h*!sJC+R@ouIiVOIAByk1*T6ZkjwcHWCFWVB`J2wRHPAfhn-SJ z1zit{q5QjG>Q6eSa2e_<_70bku8FX?=lY0OpM3UBb;u@DJ=tFae z4w~ECV;~{WcJ2^M6uFJ%B2^-xeTK|p%A27`5y@fN``G`?_kR=OP|veoNT2=wssb(c z_u&bI70CfdVR+o6XE|zxVe5Uf#Q+dqBlD61stthSCIgfl0L>E`fEWRwflenzq;W$I z(C-6Qhur3;e*d#0NZ=y^R|9|sHNyZ0_>yq|4*!(_yh#985`l;Uh5+y6fL^3GAF3>! zKtS$7rfI51L4QJDw^Sx43w>%&j6}$N&t`6{+i;62T_{@evc5iB#skjcmk*!^ANC^n*(lr8WQ$Y zT!a0Y<$9JZ#>FT3&2G%OQn^;et6UpbQY%#qcxG3Un18`D_ix?jy164Bh5YWxhqdpq zok+?nWbs2N1UBC){p^2uJt^Rm^XQrFNQPj z(Ryd`3;K3|?GCw%C8U#8VurbRTFua3iu1z`NT&gjA4J`57m;)M0k^SQQ2C*Z`2iD# wS?$dan#>PtmmlsVogbud`9U1=!?UeF{N*Li84p>KQ~&?~07*qoM6N<$f@d@<+yDRo delta 637 zcmV-@0)qYN16ozjtF(S3V1GqOKY7`nN9Au><#1Bvj z(RK}1ykzXaUKS&^u=v)GfrPNUWkX!5Dr=(-omvU`8G0_zPX2F(N*xgYdOx3Yd@Y~< z7viA()HCT?&tFuiV}0H~Cch$WK+X4$TDVKCA*#bBdk1izx zeFTh%-pC;y(wUD`98JhWfRIrXsj(MAKuD#cEbNP3=`A9%ES>dBH(dmXhW?g>vPTeb z^fC!U8A#CsK!2{&SxC*Gep3vT^L#!ds?rGnzUTSRDc`u)2U9TcYs|m}xK8e{1<)6B z7|3JOgKi5;Y=JQo;q6@^z%%4O;v}1eX(1pQU-Gp+Q!2?+@sulVBr~Oo0Y~p7K?g@a zyf()TeP7%`$ghrkT)B>Q6G_X8Iq0B0m2@4~a%|lBWq$>qv-$q3JG1k)t?t}@%AGHG zjj}t#WnJ>jo^73AfUUPmgn^wqgH8R{o!_|#_)qS9{t5$P)WMi8pU`z!w*U*1Ai(E1&vy~S zE6xu)Aewq0KZr)Y86vUe2Y!uZitbfXO diff --git a/graphics/pokemon/shellos/back.png b/graphics/pokemon/shellos/back.png index f9d12dd631d48910ba7d7a8d367507eeb1c3f174..7da2fb83e4318b7fd65267d13f6583afa35b4583 100644 GIT binary patch delta 495 zcmVo0l7&;K~zY`?bN+)gFp-b zV1&d2kQZov3hKsyLg!X=E+T@J3WTL7L$*FZCL)$96DW_+CF+zYPt^#rx;{dZO7+pb z>M7fO*uL{Qit;yC;B{Dc;y~7yyAt0@EyKf%v!))BK$SA)MDNzvIB<3Kn-828^6D zm@a<-P!!y4oAx!wcER1l73?w=B$oiinr-N%h-p@C*k-g~mX&+9TWSlo`Cc-;W*b1Z zuNbEQE9v~JO@Oj5`+M*ju#*OujLj|(5U@KksNg3~Vt0WUW$cLng$&RcM@~SuAOWeU z(6B?;ey}B~VJc=u0RAcXVjxTbX8cnaLo+iD4G#;zJ~fI)D_-{5CNw})8kc=Zm(K5z l1Lk+I?gq1RrTniS>kHq$1e^}AvQ_{9002ovPDHLkV1i-e)F%J{ delta 500 zcmV)*QeX2%~ z)%B4dI{4_`p4j|h`+h9`=nA}^pdJX_edqyE?M1GuPNAcFAEB!%5_lB6v$0VW(XlbG z{xa}dQN%{{uW(=tYXyjZ5ch+@*chVgHcVVY#AaaP-p2Y-0mkDY)~+oj3-(dtQ~EuD zlm!i9KmbELr0g!JOIaT+03O&9&{6^Y1P&>{hyz-HXcB-Jz~q4N=_nTn1k&V*O|d}w zS%TPkW>Zji^g#%rbIYd)WqksWlrQW)On^WZfvi}wK>pl{Z2iW6fe_9sU*B+G-ht)K zI|C-OGssrI04PiDv@NHrv0XAi>%gvHL2^k@ZrBUGG?5h**QBscATO#=2NQ=1O%L(3L5yyEOGik49;AFQUz#_lUYEg zpa7}t&~!rBey}Z1YGEp8MgsmR_;MgD33C1^Orf2b84V8$z&TzNjaIxGaiASbke$XA q54!ir0qZB&^n<)oKZk$2g!l&Ez66}kb9q$&0000v2Gec5QYzF<-(RFvhSz=f0;Mx(>q51Bgxqs!f|L-`Pda;#%roUf& z=6QE5kjuO7p27C)eRfzdKyKf)1MD22P~`lTO8}Jspz#`9m)fHY0L>PhQUC++L^<#q z)C2}z;Fnvt#}V-kUJwLk%xQ@@g>wYX5O`1Yw^~8qf51K^@DT#vJkP0fHtOwbd{b%y z_MjiF2Rd)o0DsPn2W^f(m*}$)6*$V&ZV4a_<4E3sS55HOj#|aIlrkQ8qSC`&Du=5Y zJdWjfB)Yw1M@i^grf{Y16Crpn4X>?$!|M9i2npE+7}z(}Mgq*4wXH9+n>`E!z>NW{ z|Jm;>i@t*?Y2Cp94}&F;l+ceL;$;W zoh|fa94BgQ1?p36YEp~i*t%q0FXmcL^>neYf4Yp%_=%qJ1?Ti7!gy(OQEzHfFRpTX z>)ZLlI)LX%+h5jOAASD-FNd5x#jr~s8b^nx#e9MEet@!1rw4R((QO4#p!O)kWzYoQ z#0vtr41a=8IHlnd>0t}A!Dq8ak+|f}5CHV|gA(Q3xFFE|<%Ev$T{2yuKvYHhrsD^| z@W=o=$_i}51@w7{BgXNqV}Xv*D&u1XUG)vUJq=eT)g(H57>&BI=p{;iS@9cIl`>SR z5)~m5`L(lZtE{G!8pNY+MWh#2@83qCf1g}5`F}B3y`M=H)pd%t+qt$|JC{SPf1q=B zP$9A%7%!o1{xkn}pD?s1^G|L`;8B7|TPII|C+rgMvd0-h+|htkC?LiqYD88Il@eEW zb7wlsOge~(bl}YAdOF8+fQTKaYyA`;?4KUjGt3VYt~Dp40mJ;@tcwqu{P2I*U*K|a VIuQ4Fv%vrW002ovPDHLkV1jaCbkzU= delta 759 zcmVZS@wsML^Y z{@fAbUe_-W#5P*rz+_KpvuqC+0dLa6RvHQxmok`H?u3t z-{&~%`e!TuOn>*_nfJYwKrZijI~Loa`|f_h0=Zp}2HZ1%!heAfFFXb)2LSb#;Cb90 zB>-qN;e-QRfR-!;ew~}(LM!k~P2A&cxG*Sh}d$}zUTXy*&70Fh^He_pSB^!+{jIppXR<6inuKioe#$QM}e2PpY` zdO%l~-DUsK>CGHZU7}uzMU7Y2XwAK!4w3`WpjW5cvLl zLdW_p2Y;NSKvY5dW&xDHKD5A=CV@@3fW8QE#5lfn2BjE6aZiiA{6{Dl%!-AZHFwuoQ|_+y;Nfd z`w-a+9Yc}KBU**wtR;gmk-B*3BKyzvT_icsd#po(h5lrvq3pz*pCp2@=-??zmq05*21s z%EMN$LfGmleMBc_qR?{UQnD)TWd$>eb9ZoD@ zG$c3`_hg@-=38cUz-2@X;b!J1~yFj5h&>3Ua4+PT8)LegsZmmta zsy!XgOv!+WS%St@ZR5Hu8WvCw70jFUsw@msVoNO)%edX9m|^$Z0rM>_yo9)=tk1TTMHi^d$&5jSy{H_mPyYfO`k{ sLcGq|REUY$rv}ng9R*07*qoM6N<$f&(x2>;M1& delta 504 zcmV53`Gr;PJ#db-@Pp`x@tlhUpCq4!;CSUV}Takwr_mnZwDhj zpy-V!L{}`hC=hp?Nfm;7ba2fDfvFL2=|6Fduhd;GK?o6{f*4uxI1DuBw@pGoR3dV3_ z=o8))H0I6YA}#gC;4KT*`KR=972{RVBP|)OJPailw}8`CP;$=onV?3mfYXhj=1TdQ zfXF)sx)Wdxp9$2Ez3m{khFY`RaJzp9x{(i30AH%Rqi#~b^Gk785>hyCqT+7;k^=a; zf}7#YFX0gIkuUDm+aI*IbS)mF8t&O3$*X z00i&63R)eh#goDS@KGb_D4_H(suS*+%v?v;MjALeokhHDJ^c u;jsc*Nz+my3qJ9?z;_ltNZ=d)JbnNGbRa;1gC}nQ0000%T77zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#nJ>As(f0003gNklMHz5|rrFOAKIyb&2H?o73dWbeGxK?WK-!bt0s+79m`=FC51}mb{`9DL0 z{?L^Ts*w$ZTo%MtLdJPQtPUh&;KpdEM1&TwGqrsIv(Uh8R=thCE+Jn8ELZ=*gX0LG_v1OBCiIZ5sm5^g$dNpmyy3M09=_?1<>M a%l!e4%d6Yb73MYo0000Yt` delta 285 zcmX@c{G4fm1SbbG0|SFkK#zZb z>ui^U?JxfR-#<64M0W1i+#W~$FDHY0C(Oy+{dq1!spwuNg}vbnE=#17JnS?WHe0eA z7%_0qm}j`jQ9%E#!>xpUljbq(`PZxVQ?BEg%#4K7*BGP)E$bEd7|w7$RP6RWX!5dH zz~P9>(0sOT@n>)tJC*n^`R0$pDRTU^INjw;=i-{UOg4fdS&{% zbMjBW9X~0b{_3!Ny5pYThbMD9`ry9ju8+WO`zKKX5BuF(6&A&DGW~wMU+Bofc5O!n dd!ZxDfgU0n^?wuY0lmn{;OXk;vd$@?2>?3Sf_MM` diff --git a/graphics/pokemon/shellos/icon.png b/graphics/pokemon/shellos/icon.png index 031c9b509216d5b3cc8d16525b50536974cf497f..c32bd8e91907556232369efe9a0a53cae56331f1 100644 GIT binary patch delta 341 zcmV-b0jmCj1FHj&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#nN#?j*p z0003FNklqwO#aK`$a;6|)veb6;YEQtU{H~oJC6!Xop%y|YXYf65vnUCBhfvz zu#K|N$4IB8y-t$xs~D*b?KO8$RY#nh*A`4`XDD-priMi zI1+d(UTYTwnW{2aTtvz3`NjH1s;v8luJSu$);JUZOnyQuT2^DS@=1X4vdhy4IV*pU zd9QZ{tn>dIJg~|Edv)v0KzLPP2^f^6md>LBbLX7|;F>_nQH1JB$wc%>EyPh)`kd&z zws$gp7ZbIiz55QT>WFg}q7k_$_eefOVgAZ+dn$s}O{4m2oH13H8N00LJ@L_t(o!|j%_j?+L8hK=Il zj_RD42goE=s8G0E`q=DVl_ndn;0n5vrL>VErACV4SKvr-#ZjCK3QB4kf~6A@?KKGA zfCpf9?L^o+v8X7(zapiWFaL~3N#?h#TK~BoIL=9By$R6iSAPIlN20<2wEEQsriJ5F z1Gey-LI;3R5or0~>;cCy0P8&B&>C3Q8Dr1}Xc9mac*{6`Dqw(BWV)pxqUaL9lLE~L z?WPGR3l3;8N8+@NJ&M3_qAa+#T&M@=c0?I?lU}36WdKql;60ONV4U9C=h4+oPxp{q z4h`U=WzUi%cz?c7qw=YgMZiwC*Va{%+^7+x3=t^q;o&CT-hN2XLe*tBECZWV35l<& zE<;%c#-9=dKEJ(q&2u0uEpl|MOx}h1!*XZRxdRnCk%WnKyNMZ&E?c}=DQWSK7HQR_XIqb m`G@m^%dlGKhg$!FegVw8<@k)H2=f2{002ovP6b4+LSTZ^u{!(! delta 629 zcmV-*0*d|g1>OaabbkU=Nkl9ATUUf}u zuiy&0lcltgBBe%(;#c5Eam7)biz_IpX$Y1O674kz-hc;Sb{$99JBcXK;a`zb%$I*= zN0H`dtkHk22e$oaZ`}dt9_<0Jj>H}V(AsU`6hPg=w)X>8=zrOj4gjMn(DuRJ0=8`c z>@*S39x!&oIdlLV0!RXHo~F-27+@8dUTugZxd8BFh~|TiV*<)T09s6uIPPGNDsY%7 z3*pUY>H)oOSO?zbS7>n&fRqS$&t)Ar%WtgHOAU@#YiEbjWuJi-v4cj98r>89v-#ogfgSmw3Q+msPk_u1r7S-LGCyo|;^WnJ z$o!z?;>qZ8-!b#U#=m%C=h(~-g@VlsdtDYVCDyJKGw*Yne4rcunAk^1!Or5@E_++6yJUTyEVLuI(2O2~~2TMS@fb_L8hzJ9` z%=4xCs0jsO;9~*$%Mia@L0xB2uE_Q2^RE6U;JMu2ogZ9|)h0hQx)1sd%)90IU8*aa P00000NkvXXu0mjf8w)Z# diff --git a/graphics/pokemon/shelmet/back.png b/graphics/pokemon/shelmet/back.png index 846c84b5dfa8c556a22fb358f76c3ac01b99aa79..39e6b3cd8fba5831e9cfef2ef775b0d23cb9cf48 100644 GIT binary patch delta 402 zcmV;D0d4++1o;DyB#}W-e*gz`Nliru=LQE3G%Qwb{+$2-0bEH$K~zY`?UX%E!$1&) zBasFwmN*Asz(u+^mK!Q7S|mib_Kw0ikRp78q)b7RCIUq7VV$>4h zMTjL)NBA{+i|(}UHK z=X)4S(`UxO90wbse^uQv;0z({1BY9p&;|n3y)xxW0A48f%}xGI7Ja0D97^Sn|%com+7MoIHUc0MwvNgznC%9 w7BC&{(*wOWJ}6-Uih;N6IqZHoo&H^)uu;96v@Qov000002uVdwM6N<$g2d;r(EtDd delta 409 zcmV;K0cQUB1A_#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bEH$K~zY` z?UFrC!$1&)Es+K)me>biz(u+^mK!Q7S|mhgdq?3MND;X~Ql_9ul!AgL#z&x}i8Y5} zyz$Q(FdbBWo%Ozb^LEx&uU>y7A;fR?i4OqcyxX5Zq03I<=rhq30F}m_0mx$D>gRx1 z`-pKzgcl=LL=)jR>@C)Rs)2z7RZnPqj?m|%ynBS}3K$pwf@e!9SF0s73Bl2dgpQcF zE7mdwSG6l70Tx7b0Wf=-1GqSBS158E=E{xnSJo2?1EcYN{S9#JBKx5z zf$B6n7#(@Ohl$jEW(>@6xFuRQ9Rtn~(!6lEBMMC*Kvk`Dp)2fkD1Z3^l>SUtILqk6 zScA_%Jz>EW!VS^Z+!NO{9u3tdqkP|5WTH&qJ|ik`Q3eN*ZTQJeS_9={`e*|7D1FZ< z*Vi1BGaO|A(@~lo=(Y7j2?K~2c*~zdt5>i8m1TVbuu;96UdTX>00000NkvXXu0mjf DWM#4% diff --git a/graphics/pokemon/shelmet/icon.png b/graphics/pokemon/shelmet/icon.png index 2dc08fe42b0b45d5cc79a05bbbb4132ef9c96dfe..a33100d298559f192295914b3d36f22873bb4732 100644 GIT binary patch delta 233 zcmVJ{1V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4m2?}Xp%$# z005*(L_t(I%k7de4#F@DMSTOSK0uM(9i#v=;v$@A--P;BR?S z>~HA-{ASGZH#VWqzz}4UeYi4tU`>eZfYDagGeE1DMA8HXrecwBnzrDJh{ky>s<56` zu2ids{m}uqwcW1vHSS$v^UcSx>4#F@DMty^*IY5!!9i#v=;v$@eJ4e~xTA6_W0000F>jkd6vuI>I`?t*P^&{ZSIyD^e4v6nVa|g`$M6kYe+7rll^0N^ zid5#-Wa}4bI!66seTQ4A${pwI;Z2s_4|sP6{{JkiuNPYYZ-2~vN{MIa4_rwY0LP&~ zUC(d>N~vSG#neH-rISv;|Ih-R&#+xSZ=cZ#IA?(AkW=H7J~acjT;#I=w*#0sXMpqs z;6CVqSF1C?MGmq}dFw<_;B5#ZPB)@WXz*Z8Rr$FfC?yCkEZa17K z#D~wj-R>GxV1E>q03-milT|SV2mszL?z4Y@PzGgro{jxGh-JTMR3OZFp8RmhQ3A)N zRu7BPA+9n0iG5KNjpj5zxhWGjcn2XgBj6B^5DQjS*w+IVV+VEwwL}%(6$KmTT4mHtz3Wv47mlU)`TDi~9f3zWVCxNwfo) z`wn&48Tl}&1Ih)M?L*3i**=^$m6=IjWM&fMj53xD_Hh=N8=qkhp9_H3DLAJoI{`|~ z%lIFlT01z|#e}#4&DUNh5T+2K1FZHsiNa!83PFBFkJqYyOmK}%+J%^3V)X8xp4!EV zF_vcph<|9ayR21%!Aj5`L>vC1))@>RhZxQh5Na}i+;R@V33yOxAEO+grX8k zG7nY&Jn?70Bp_mS1}hk$qNEu6EpV$-7|wYdRR|Py^nIxSc7mTpT}I8Zz^lWx`rc3J zBa6xd6Qc1fTXSCayWi*!GxUeLEB3w31N-X_T_SJh$sauP|3vQ(FS`B!#*o7x27J-e P00000NkvXXu0mjf=WIDS delta 652 zcmV;70(1TR1>XgbUw;B>Nkl20j9W_KZOIu?CDiJi;e+4}T-zp8y7JPOVdh)DC!Z zldl4Z0qFTBfV2Vd9Q44O`3azvgDeLjg~62`$Qgrao(*7_X^(1}*WzK2-w++Jk_6`| z1oV3SO#`%7OU}nZ2w&Fg^)0ACCoTbk2!gd##S|a{ct8D_{Rf0HD9iJ#8$LoJ>&0FL zh8fStzeuo?z<+MPRa$tIwsDWiZ>)==*sB2fOj0K9aRnhXBj6CvkO)>)Sl0s%V|VO6 zsj$2iVxs|^w`FT1kM{MPuwSb4`>rQ7I`DDJr zEH;)dy6B=al?$35_;KB*ME!vusWv2A`tZS?K4iGCr+*K>c4hMvev>}TJ>X!=mh^EF zm{@yw?biZe=z#&JnbHVQYTw2&K(BN}lP-DziDaLNUEMpLB<4&Jqx+ zGk;of4u6X-#5)7vre*oP``C<7R6=oPcMibE;pmS9M54~%L>-JMDcXJwJm?|}=RAok z1d46^W2OM!7_Y^)jQ6_&-ySZM7VdyPv$(utLhSpFr}8x0f$LMK~zY`?a{Gr!Y~j9 zV5E%gfbp6ouriRk3rJ0MMBoq(WS0UF+>0u(HvuYfb$D$uR~jY?oHu?H?=gZ+$R;3fcql>_$|Wc^6+ zSp>e*9K;rvptl9!YYza=UhCC-NqWfPMRr(p4B#Gtz!t5!362xe8Fbt+mgp(4L~x%6 z12+RPf;;2CDPvZ^f4V_%vr=2q`~)@%f*^wMxFyXG7|nwRnMNhxdNB?slSy{Z?&%08 z7(a79ooZmH=OL`$Ip=zZt0$GNR}oK3#Rw>URNaB+@+bwv48T;61p?vw**iE1oK})R z{N`(y=;go~KZ_C#^i?!VH;6&>2Os(yWHaP5CNV4-(;wl2Gbw?GSt3qjxx*|}H-H!* n|Bu>|m@X?o+%v(s{-gc?!#fACq3Ysq00000NkvXXu0mjf-k`&Y delta 455 zcmV;&0XY7o1h52FzAKM+g#D3NXhi7Y-o@QMWaa!nHP# zd(`cqq=iSc78^StO=6vYfS_Fg8t$e76fB{yfHPPXXjgznCCD$a2aNNs1t_rD6n>KC12z7O{4mARkqrwva z006{EL_t(I%jJ@>3c@fDhVur;>E2*gp`e?S@8~8D_Z;P(rrlg>8mCb3Y>Q2kxC$cP z_W#^}96z5@zcwP7MzpbpqD37WU5&L)77P|~2AX|pbj>C;9)F050mWo2pSW_+H+11S zXWF(gov&z)m~n)8z5+OE%~d$tDHfvEqPZvrD3FhChFo-$w-K3>37Z@^Fn%ryfh;$s44;3ID1qkKF8I)jC%Z`gLe Q00000NkvXXt^-0~f@j-rO#lD@ delta 231 zcmV1)~V1LRu?O{4mAdp&ISqq00l5fL_t(o!|j*PYa2%tfLCO# zbEHTpAotLrX7No$IvCQ!DxQ^MTbGDk_R@o)MxaeEQdS+JTd)EP%E<_Y@y(#hcyF%N zG_bk^>mblv3c2=w>6_J$oz>bhZI8{s3ZwZn^JaGDz0Z>LwSWDS7Q5rGP)k1Mp9OfT zkJq~5$3D=2k9< z08S@gRT}wR7?3ILTS>Ba>Ogyk%!Z?`4RJt~!}4p#Z|`=Bc4vJKxqj)E_ZGmnMLWN~ zj9SfVUn~K;Xn#9lB3`F-c#)d-J8x~xcEUuRo*|NXy#mUK>3b%IDIZXJe!+oH@N{i+ zo3Tka#**veCtasIb)5IiZd^0A9wx@pUYB(phcT8-0KnGwN|N^3cX^d zUiYIPzaLMpzroD&43FKY5kUUa%uZ8(RoKixI`i_;6MvH-FR#CR*=C;+X;o%kB!(D5 z4R)Pk>~{qzm04kbt$!5Ua~ed;p%7KgUPX zFO(>>dk1)b4ADpaMMl%eIaeBT{Jcw6g z#&SVF{4xdK12G4@gIAt#u42%y*?jDgru$QPAH9NbFk^;}6SnLVX*?fd%x(n&t8&qn zWPj+>(pq*w;I*rv`nNEN$b60wzB}b2r1-!{y*uT~u-9;=JbX_--%>-BF}^>o;{@KE z_sfR98IbRt{eRkO5A?@-4*>NCfH?h6K#kX#O@O671RTfd?(rsI0D!u|AOJX{>IQ?b z+6Q+4fS_=b#K@={nc27)#b09E?&ZXO~ zpX~-|)W0x-K{%E>yxgU|&|ZlKamuqj?T6P96AhvR<>F+mKWq?(C+k-@Y!HqWxu7x8 zAf|8a=o=Ib0)S}s77b#Wc^y><(I7@prY9Q=0%~XFR=wXKMy5$BcPPZtAef1o0DnXj zVr3B5CQ^3vkV2e5-U>aD)JgaT;aAQZAyu61_J2MMtwDe&hrHz+R`y0GC?~8N9 zK_hx~05s#JvH<)bW-Ea9O7*h=6r&_kTA8ImtmddwcoTJ=E-(m!QAP`c@VrG`_0Km4 zWCQ9u0Lo$tZ+w~)R;o&61X}=_u`~$Jo1PZLyjyPWV2wM*3Shy%0UW@@#$%#E@F=<~ z#hBM^!vv2LfbrA`A3P1}`p8($0Bv1eHCqOMSPgK4bCIGd9R>d2jh)k6wD7L{0oo_L s!5_Hs;0^w8Pj}!C_Z!4lfB2W}Z`Jt;6EwKbApigX07*qoM6N<$f&jFJx&QzG delta 1384 zcmV-u1(*8G3(E_TbbkdwNkl3(j*q>P zr@E zhv=NXM@S$NCdm;(+JqR!fe#EYr9cEgn)m>G+Ws6L$e>uJ5Wx^n6&op}X#!;EPoRhk z`jdnK35L*+jS$gW3I}cgpu0a8_*p9lH5i5lDSv{NQ+V*kvZA3x6^=7sQNC32c!V2rbijp9YTm@u{%=HWLp@EnK*;2pm3gmaaE zyk_&U$C~a>;eGIm!of@!I!@WLPh|08hza{F5LlHW(CjilN^P$hXe^KaKi5`DFhd zpm7h7r2h%1^FDJIV5#>3CrP?{au+ZJK#e^V4FZ4*8V5v!usVku0Kp)v&QWUro&yh~kyi>3@rt-~tE@qI>0b8W+3aHOfOY2*+|qSG%-- z5&;B*IOn%L9YoiW5DlUW?cy|+j~c|$Y5WzA8iZrTw@FHf1~GeO$McdT8Uz6A-CHz> zS?=Y!LWl-2hBm#X5Q0HK@2p0zdLE%cj7^hNHz-745X?j^0M-;@Wf0dUQg-x+LVujX zy%icns@6hndp=&Jlh}2K<euO!F9bVp+TWZTQ0T(gV40v zjv)Zt2J4sZ2nPnC=^F1&;UbdtGQDz#p+P|Rfp%~cE&|5rj7IyFh(U+|R6(s_5q{x+o4<|zCq;L%YW7?EMu3J-wvg$@f>=8lQ-uBagHQtM85%mW;|Dx zfM3LX1<-!EaWRBultxNB7Z}89js}IlM1x-!7zDwnprt{0-mq|CwlNS=<8!6m;oZLu9_`_Kdc70!SRDDW9c~b2XEq>ui3FAulxbxK+dvS8 z1=a)HUTh4(O$^sNNQDa*G9KX&u<(_5I^Ld8M|xXnYP zPav}^oxSVZbJ7MfAcHlZXa0Y7)}Hr|MQ`#4z%M4Ae->y8?=m_^epw!~5alD?TLf)UY^8g6*ppLP;QNY`o z2`o$?<_dth(W5srfgM+ag4NF>V0DnYb*_QE6p^(FhZv6NBV6rA;<-mPpU%N*|4p*a zqW~k{9+`ZE@2}*LU9{V9tkINR1qr`qayfp(PF$!0JH|-Gf7c&UEH`7`w_Q>JTA6J+ zYNyWo5ZO~8V8}T~H3~V;A+paw9Xc%~rcCe59J-BN*mGh-Ow~$=QRJFKoDQ~IWaL~t z4ax_wfb|+NB@u~mt%Hmis_09(0M9jR7$7o+AjNT`EFXgEBMy?0I2@)eQp89#vLu=J zodu|e21F8Pf6fA`ga$~)!R5)qKt?iR#OUO|#ULmP=Kzwi&hgMf-^>#kNY@K<=e6l{ zt~mg_48(Ezx~@Ni>t3}0P`<7oAaZLInAIAnK1DA8@9P>r)Kyj8U%O1i8bAe9_fCzf j!xwx|Ky~f?kH3rGXQHg|1VjZb00000NkvXXu0mjf;yx+b delta 661 zcmV;G0&4y51^oq(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#->xK~zY` z?US*J+dvS81@;4EFE)nYCWh-Bq{4*@8IN!XxVy8^8U5zP5%J&i>cSY2sDLv6<#9Z(!a{R zp8ILvpL)>Tt$8?eO6f~~`RE7D-Q*f(Q>WTksv;nr75$Ir=YF7p?c^HY7RruY0nAF> zV!P%TmqBTJ0Xi7w=i_}=lfGC#$l-aSSo_KJe1&rsLjj_t0xVAAm0Phn9(&LpGQC# zHjP?+P{5nH2`o(@;tGI;F{5WpP+_Z};O1usSQF$n%Qdi*BJ6T9Yc!^>;AS@#=N?r) zdj~hW?~?633NX&wE0d4#HS2<;RI7;(-~MIjeCg!VnCOQ)s8gz24GfY)lYlHO))go#=SF%Dfh zM9FZoK}OESA*enWIS`O#hzW^^g=-yT#8A~h$|ZQNtYL`A7=jetMp-@t^+z1WV{yDp zTcn7PdZcl@7&sfy3=N1lN}UZ<3k{HrqsxmQp0M7$al)S3zF9%|I4gj6k^#g=%jRMnJ1J&p78Q@)A0~P_b0#iZ zv(Yinz&oOjwc`?3EIyn#p>YOARBrR9|IXI=Bjk#T5`qCR3Ny7t1~+NeE&!gy?OA`S z3pfdpflPh~6%Mp5Pc99qc&c?gC1~y@r1y_}N>KbL#O6+OSIP%oq)opxXFT#PHaDQ( zd9v42OD^iN=BN{XW9pVi9jaj}L7`*wCS%5!p9@w#G`qTs(9bmufH~ly z?aNMiu!kLheccv5LBR~5*_P$>dMkVp9Vnm6YDzQ?g6u1t665VhMXO-Zpu$ZLAS@*R zp#DM_vJz&Tun@+5|4JAFRO?E delta 386 zcmV-|0e$}21Iq)D7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0ZB0tD?P`TxH?8`=%J!rkjhizceojtMF8VM-e@$U`fz?TN{+W+2RK#u9%7zjpfYaqo63C z-9??d+&P4MxeuU#AE3z#G&NaW0=mTs6cSQ(ymV-Vm%N2BXYrjn-8oDBJf&z+&ynTC zPHc7Q*q=y|^nd5*LWjquFrKf8%c=r>kL?&wfP* zbr5WRu&*bl#MzwheYqY@qT^C;cvzPprR1Z@tX(PNT*}Q9?HT%V%}3Ey3z+ke0%a}E zC()plAhdCHhke*e@yCT#mK}$(k%Gx8ssWG=DTdv^CO+PwPG0N2wL=Xwv>K=;u;%hu zw}87Sw?miii#TAQe>{LeKxeXFcL7!Sr9}n&>jjwgU;7_9_Md>A=NVl1OQ=%pyf5j(pMc8rC-?&3rF`|)!0@nNzW)@v a^Z~0-{nuz?4pMvo0000o63?&Eh+=Fjv(@Jb)|Z0dD&OK-4v;lDW#Qgw(2-5#8ZpW$9Z)(OJU8#LPmT z2O%%M=QvK2v`M-!@~L)gf4}pmmf5$ubaHw+=&PU8>G-18{;>+LroY1Zc+}%>La)nl zm(S0`S{(#m)b{o4kT_X?h@G$2lUcam>Wv7h7L-zAGMl$MeExgT)m}e;)eCp39~q0Y1pIaj z`I9qgL8ls01Ym12mB6QZ0Duh5%q{ST+y~wQSPOrR1)bnIXdJZ2bDKeK39!~0om)eD zi;>nCiosLdM;^$?!{H1!yb##dyF>XFjsS@@Ze#L80RJVEF(f&arH^mN!&~E?3`c~N z#@MC->1KjW4E{}dadaVFoH?wBX(lY?vU+of%81`cbe6?i3~7W%bj`bGU7|}Vmqk%X zN!PQ>-w?T|s2S7`bm>nCJof_J`R}YBcqQPiA1G@?Y&gYG0+%8h1o)8zUjV!m?}I&X gyzCeDtphRkAFELP*W!Hk)Bpeg07*qoM6N<$f{8B!L;wH) diff --git a/graphics/pokemon/shiinotic/front.png b/graphics/pokemon/shiinotic/front.png index 0f63c92c7d96863721cf120130da05de37645eb3..29090a83d8de86b34a2f78047d61000e4bdd48bc 100644 GIT binary patch delta 684 zcmV;d0#p5&29XAkB#}W-e*gz`Nliru=LQE3H5dMVCinmV0(414K~zY`)s(+)(?Ar* z9R@2R3s$NwEGShaR^uc))bt;yPRZyJbO9HZNHmNUQi>h+%J2RFE54~LSsbrj5+)>; zI@1jHllh@~9q_cIpd&utH21OuN%LCYh=LtxwDZQwJ`0|JUmK4nGmNj2M5ejD*A(BGfAnIWh*(U`)WgaiC#AS8 zmF9av>vMXJvYA(PD`17^0Y86<-(p_e7Zo8x0cc6GNW`rIcsGy5%uxV3Zp59kd+BWK zsM~+CN8bxnlDS%+;9)5AIGKt?K2gFth-2~NLM+B2zLj^?ql{iP4^D&_JGj{n74z7z zZF3ty-F!~*e}EGNG@5+3&FpdNubbzm>0t|}E| zMFgum@L)8AEA%k+j77=O4rTdcd*Lqyw7imgh}T2Jn4ISCcp2Lkcu>5P<>l>A4EW1S z;%X1TiUBv(d2va&JdI*NPxVk$vr<O}vG@Z4@<04G Shn8yq0000X} delta 690 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 JPDHLkV1g+ke$D^@ delta 847 zcmV-V1F-ys2bBkq7zqdi0001tU!Pc!AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00097Nkl^;aIFg`5HtXZ>W z&HAC3i283&^28~5lG77_=23_;rzZqLIwL7W2?Xi?XNtk}vRraPBS0xZ_Qpa4YoLD= z8;1|ZnxH^8wCDyxs$#S)cjvf|ti$0}R#`S?h z^Y}--&mM)ame{S7Fm~;K2q2a9!l?na>zVroz@jtQCR1mBC~i*%=Dr=aae#kbo|ycB zq7BqRg7_9NK;3*k#{k&B*#X7YbC5vAH@x0@E2iI;WCS1>zute+pX}m)4-kCW1^2T* zjYqe^(F#2a&YCrA)~s2x{&fXS^T*sXb9O_eh7ha&r)$!_l>!GK8dTjck1dJI&Tu6<=x#oy_xGh;Uw?w-fphplQvG}ySz8| z=EHnLgwqQQYe3D>4(?Hg?;Hqlb8jX)>Pu7`shRuN7g-$oXU-hfPIZ58HUjnGL)z3_ zs}CX|&u|n`#nJXFSJOr%h}mntd4I9^banYQdA1f@|M3$RmIG}x`L0!G!~yEl=CJxA zCeQ{ye_B)DXU+PL Z>JOjO8F+Xhks|;A002ovPDHLkV1mDdpAY~5 diff --git a/graphics/pokemon/shinx/back.png b/graphics/pokemon/shinx/back.png index 5d693fca8ae48ec10ee909433ba437a99939c2db..9c89683b5b7713a6f5a79e8a1ac942c2cf6c67fc 100644 GIT binary patch delta 587 zcmV-R0<`_v1)T+uB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3H6=Ew zcX$8*0su)wK~zY`?Ulijn=lN9;ozQnNV1a$z%CDfHG9u=((RRnIz5nU-~}?}y)xsI zxTY8KP_=9Vb|BjqSTVqi^&$P16eo&4?L&*7I@a#}vU&oP(t2Wee_!@90ht5JlegNRzd<=9u z!H0Gi03s7W8KlVuIcaFl(U<*h1i1Y+kv13stZw&j?F6LcmkFU_0GhV_Go>gA-~mwA z&29uzQow!SV1WBZf8q^KB~W^21hD#~n)6i2QV1RZhq}V4Rs}Dl3;?6x0pOlxtB5Iu zx*35u_5J+SD#yQ5Em;U`Y3(bjpHqZw0MIU@s`DGF762WwuwA32s{sgy&KbSSCE&iz zbi=oHJfqt(z*8k0z%UO6->*~tA0TxrcwNrH69OTgi6c;;?K_YzybPnJ@W*T&FE2RyfzVmOVc>q@`ZF&{`+P^ITXn}&tY)+Na=YOJS Z{{V{z@8FEqWM%*W002ovPDHLkV1h_I`|tn& delta 645 zcmV;00($+O1=$6VBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00I3;L_t(|obA-Xj+-zL08n#qPdy}Am_y|C1svcx!rD8Kmme4B-3mwf29*gzePasj0L33=(5ZFJa{bt05%axDPu`r z7QD}Ze8nG2x?IDj_7DJ(3P~$uxSGtVhvuDqIvz#<_P23nixJ>;dwgjpkWfC0iHZR< zZTo9lq9gzTsO#o1f`mE%ADj@}Hxlh2$s{fBf&j1IR5R|hfKmtuz^SgxG^+xNe=G|C zb}$3rMY>^JDWjVaM2Vk=XWO~?J3+pBiRhV zkKK@@d$|Vg+e~(_x34F=tpiAuaDbcK2YwT2{uhwAC+51o2E-2FARd&6hv#Q=b!+83 z4`wwKz*#%NHMbkW^TRBj>m9Hje}$rEROj+GK#hP`#*$u}oU0?sFiwE!E+ytn+00000NkvXXu0mjfN{$!O diff --git a/graphics/pokemon/shinx/backf.png b/graphics/pokemon/shinx/backf.png index 805ee62ee39b176282ed19a1b1276e2fca5dba4e..df82be9b30769147323c395f4802e0915dab25b3 100644 GIT binary patch delta 594 zcmV-Y0f`7 zTuEL4ZQcvXr^%IG!b5dzhr}jfEA_mCP>|=x%zr*GjD6bwS+wjwES>;+;XF}3@8^H1 zbe{ML5QCI9#42aYq`UzUg){X#Y#%2=l8~w001N+B4;AW5(}Ik z0Qr;r(!8DEL$e8hG*8JTR)Vt0!f2?^?8|mD0ARnH2ph}*ylS>@%?M=1FA{^MJy18z z`48W_Cs?TF5_h||NaHvWgd$og|5CK36 z9suwxUofr|>Usd8%=g2KRgQngUh)uFo3pQ|evA>;0br_RW$O=A%>bJ5a9o3BiyjD< z&Y5}c=YV^eSqy8pp0{}bGUe8j$}ED#_xn`*1IXM7UgvW_;s9#IlMqRNe#C#P%T@3q z=v5zpdhH0Vxh;t1M_!ui9bg?1%7{^|^IHQo0K7ztbQ%k;b_scJSElGS5DE=awy4UB z9rN+}@T;b^L49kHV)bpD+#ISzZQ|g?n{+_v5`AELN0qvBgtv}ih$DJHI=!R%40k|0 zis0CyFG5ZL)qM<%DK2&))9gMO&^iFVPc-Pxc1jbVUg6tm8o;$m)2!I9?b{517TB3K g)2(v){Oj}VFR&5rJdu$KXaE2J07*qoM6N<$f(cC!DgXcg delta 562 zcmV-20?qxJ1^NV#7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005$NklP&`+^^uz_#-q3$% zK?ng#g!sqBZwT~R5GueCWMA>u%II1U5&*UE`nPf-YV{*_tx@IL<{~Dm`I}rhd)jkKT{IYN{0A_cq3{XGObSWtLapuo};P>9o zwiCq)=Kcf-`S*a8;y92>{bLKX3mbnwmPI%O!1LWmI{*{_O8`2j319M|aVW5y7G0pxK0O{)d}`(AA;%H3|j}@(m7xTT`@< zq4caa*TxLG3EqIXEu6pHylz(jvY%2Yn!DZ5>*r~-7 zsHq`p!Axz@o{S)Oimebai&Ho|09!(ij8bZ@5U|1<9^*Ri?rd?c z4tm&k0v1nHL|$t^gliwzXn^}+?tyDl<83PHG*iY0V9F$TFRQ;i=f4F7?a<`CA&>zO zr3{3r7wiWMlRQu$44=ZnbidES^uP(z>)?bbOd!nJ1j2Mb$HJIEnCO!*)CluiKOP*r V#4^G$KnMT;002ovPDHLkV1gcni_HK4 delta 290 zcmV+-0p0$Y1NZ`vUw;7uNklM|aVW5y3%lu-Sxe{)d}`(A7cw z8ifW9@(mpXx3*{@L+M%DT$@&K6q=>UQy}7b6+&zQ91#_6HGj;wo+?0Hw>opc9HrEp zAz+73ysgTlt=Zs4UG=o<1Pn%$c}{CUgnJhlZ-SR;;($k$V;aR0FfHV&V^D??W zy{~bOZBhRSwCFbkasWgw2f~y-`@zBlG!TYwVPV?WXJI;Eh3Ry#!ep%uR+!iUwJ`0= ou`pfXjWFIXVH>Ct=D&Wt0UW!;GRP5w4*&oF07*qoM6N<$f~a(Zw*UYD diff --git a/graphics/pokemon/shroomish/anim_front.png b/graphics/pokemon/shroomish/anim_front.png index d06679fdb8d292cc36e062b9c88ca7ee0d8e676d..1a2b86f3aea9e38b5d3a970665fdee2a8923a5b4 100644 GIT binary patch delta 559 zcmV+~0?_^B1cL>TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#qa)_k63 z0005zNklv2NQi5I|!?AJA6l5VS)<+S%0;5qMK03Lr9CJ|KG${XhVJK;VJ! zs!3Z14*|D!_0+u|)nnqIt;AyouRK^@?t$W+j(WPdNRi^4cz+ws&fd)7CI-k-V)H2i ze8C1W24sl1iQOV=RTP-l017pqzj}Zuan*e#01zvt3D=#^gSy*=fgDb8XM;=3S|uo+ zf#4D|C8!H1Bq$p!RRU6#4f;BQ+oT#L_}_KM0950`?{VARhuS%(CM-Y`&~;rHc=$}& z8y?ucwqZ*E3V*&$w8?v1P6z>i1>$-+nw$A*_y@qv2#`Zx`~lt*F`C^5%6ioUty8Q3 zis|HK+FTC39EQHUBuFDJCgV5^P!q86e@5#n0F;k(3$t4d%6tnAbZH)2P{wN9xX|O) zm9q_MYpuTJPK7)8ygRVR#_rw0IlE&IhPJ!PU;NSX#eeB4y(CklNcKZ+}w1{{T44{<{8;{f|Fn%>KoPxtY)_MgffM)se|J*PFE?ccL^*fUw;AbNklt0rw3JOtdD)l>IAR1agP7x9w8oeKT1wEQ1P9fH8;BpEa2l)Q_! zld}}AV*oEX)}JH571oF`AVb7eY>TWBQ6Q}V1j=xKaSu`AqJRBL03a^>{p7N>J&4s4ENFq*$Q)GP)6#*;zQc^BFK>0vhsLi|= z>d`%@tSQw)143zuE93S_A{R#2D7Dt|#@E|L%+B^^7wD5rZ_Uma|Ajm3qBjfs1cAg3 z=MFe#%$WZoqy7JZ{kg4|JZyjJ1e-NM`-50Ah7E-6Pk-vSe*jLhzpUP{|NfcB>|cD` z@4w{-z?J)ZvVXDvkss|Jko%|aNBgtkwMfa!lp=qXyL99}u)iyJ7}(#HdroV-*uM+P z{b2u?+^ZAiezP@J?pqU-yV8dGr?9&fnO{EXFpw#_j4CGgOxh>hj~Vl3egd|5+x?pc SGyDJm00{s|MNUMnLSTYedO{4mC5veZnaK00DGKL_t(Y$L*9$Zo)7WMWZO) z2ePr0aUQ1AD3}U$X!9gC(7?PB3!tU)Qo79AN&Lyj?VwZcAVRr^_gAv)p@;q>vdZ#R z+7=BSYbKL^4x9b1LQICpl_DG%iaG%l9I3)e!X_1hAw`rl4S(#=h$25GN)W&ez*M5j zf3K;?2 z?UHCy%Ittm0LA^jC^t)#t_I%>Q~@vvhCaf+l&YdWWy!{~uo=PU5aRXbU%Pdi7~yDM zK4$Ob0 zQVx(dm5)f5aCVTcqu}!sAvpNuR-bzgrmV0?11g3RexRQz0Y@#73ln9g+l=$3zJ=lmtkXs4^GO1AnBuMH(N#0{o8u)cXU_ z+{q!~a`phuhsog5wr5uZo@OD$b4v=qbrxV_fOq8py_fyWO?P+JhWmS%V-SJY_W-e{_cir#X!*xU$6eyt(#(aAba_o0a(SqfkU^qpUHr2 z>pB{hw!k3*MptS8mfB|GGa&n}%()(bg3o}5{?HGVP7>Yc;T(0;00000NkvXXu0mjf DO{4mCJcuN$EN z006j2L_t(I%k7de3c^4TMRS88eU7t@5cB{RUdm?3lAJ@d3D_)r+;iB32q_mvW6WmO z+CtFj_VZ`v5Bsw02TCM;)4}$sp>m0Zw#-gj!tn&tDB)H;1a_}Fb}lcVdZdI05XX{h z3!F>D&E#wgW84x&7}&3PNkZtjzCr~N6E5o{s?e}`JD2+GUtb0cB|7|KUrRAd4s{w)o70n^ToGPe^j yJX7X*0wx&r2BwZnMqoOtxD*+INy?Kf$j1ZPzk9%J)+dnw0000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#s>R)FyQ z0007!NklL5tcz6vwlWtk*tcK0xCq$d0)u7z;ftC}t{g@u;kxdRgoiJT43@ zJw}+q9$neFSBm)>O|b>POJ}Anu5M;hXknrF_aNl`NaoGVdw=h57)L#a06-siT~yP= zPh8inqd*NbCE#m-s#`^ikqB6@j7;4E^ z)_YqBTz?-D+<$SB`Qk1u2Kt{!jxn7twn@>wtEAbAe4vz$?zg={;NtV`C82`2yGjcI zLROdG=3_b<=S6^(5t6M&lkuD-v-w?yAB~0>A-DeI zxGlVU)PFrI0QO-1I(_k&I5^I&qmKG*K>)Pl=A`P@JzdFEMTu)h8t)MtKp%7nLR$YIq*V0}643dFpQBUfA0)8nACv&b(mxbc z2bTWf7f_U^Ma2$CVB9LM3+W%kmtsZzN&i68{!o1>g@1T6JofWv(GT8>JnCyjWiS8$ N002ovPDHLkV1kUeN{avh delta 705 zcmV;y0zUn&29ySnUw;ChNkl$RUTKcMj!WM{o67z;ftRLoSO zcvMzTy)1SM9v23d9wSU)kFM<8E5-bcrr3i2r8Bb&u6AZDw58DcdJytH%zWP@GxJ*3 zQGY`KVD^0h_+VHF%fb=3MnJS;26!t6fc9?y^l$4CcypagH7iD<92Sg~g`h@g2u$VCVfi3oi;9D;4)oHEsmq&MYlRXKcPnB2NG< z;5+#V5XX@lyc8>tK#+Dv%}4;-R_s%LI-TJ$V`=81I!;0dyXeV>WApQi4|pBTK2mbRKGTdp6I;!)tL!S;FfIttlWrPXz3B`WMIQo#|xCm7v z(8nYTgU5XXAOZ@2YdXI~$}y~zP}{VWLiQoR`3c|`^TTI=b7Ou;qC@#1ZvMmhLCBaN zgpBz?0;c>Ri!|m33GCztEr7Ai522z;Ec3%7pgQW)p<)FjFls7%K7`BO{4mJfQ>I8ED00B)&L_t(Y$L-ZIZi6rs24Gi$ zGFycUv?rkS0I`7GNO`S{I_C;mat#J&r&4@{bnTGHhpMq55{aMLst$SU`yBu8$tZ-} z>z`Ist%7~}ROD5t|6CN5aO`eOQ7hJtc9PgBNmK!<8D5P!M8xda3G5^(L5VSqWn zQb0g6-heJ*0yPPPnukG(Z@LO!Ku8=+IDxBuGWUhp4M5nVrEg`4USB}u1t(xM6Wut_ZHV1T z0({60+)i%5=6F-u>J)gv=J+!K_3iJ_6E#f##U?Ds4XhuPAdgMc5O5NKm>pT2lMN8lB*#s8168@jnZWN d{;%=J^$V|)d#%8!l-U3P002ovPDHLkV1h4?u>k-8 delta 371 zcmV-(0gV3Y1KtCWbbkRToQ5QV8^%GxSipgjSl2Z#mP2PxCasOwxI zn_Pp1v!_ygg>>6RA|I;$0VIgWtSWVp*}iW)Z=S|cbgzF}q*?`a`c&jqNPjL0N;jzf z@cN?lEJK0P^wX4~Pn1Tdw8jA9bUg$E@+H8@DZ>Ef0G0v*)PMa1G>8FMBl-ZW(HI<% z;z?KG0Z|kO9S%TXLPS^~#nELD*e(I_f`=$(;Vqnr9`K)TJqAUJl@B1JOMP9K%K>=9 z0B3>}h0kqbOt^b0bDxQW0k~}~eUT+k RxcC47002ovPDHLkV1h?2rEdTL diff --git a/graphics/pokemon/shuckle/icon.png b/graphics/pokemon/shuckle/icon.png index ba967932f4e83685735bdbc9ae1b0eae0100297a..15755681cc5e5bee404825342695a6aa5453915c 100644 GIT binary patch delta 258 zcmV+d0sa290@?zQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mJrdTu4{| z006y7L_t(I%hi&x4#FT1hIxZ~ejM7lH|XMKXrI9P0Oai4w1%!U3Yv%%&KM_?N?7=E z2S1ljh*dA}Qw}Vac>!XTl{lO+12YE}QDy*KU*yk#ELjly4trQMTOPZVz)4=UNt5lp z(oF(x`aqzIP%m4rY delta 221 zcmV<303!d|0<{8=V1K|#L_t(Ijn$ID4uUWYhW7@2{&|2iJ?O=o89agb088aez~FU6 zRxwVX!>b84yX?!l{{8bSwdn%BOW-h-4-hl)#AA;F^f7RVS^)5MBFBK1Q^uw>h@`pn zTrCM)^uu;bWk)u)Sb)Kvh|JsrC6P7PB76+&OG89Wt-Bz6Ush6+Q_DeKpRup<_Qq;z z8Bd*b(Rvu0=I|i5S^500wV}ZLE+64OU%u_ XGv2=PWglIq00000NkvXXu0mjfNeFFO diff --git a/graphics/pokemon/shuppet/anim_front.png b/graphics/pokemon/shuppet/anim_front.png index fe5e682d36a957b28938b806ac6fe9944f1f76e1..2a90da2637cac7f6a6efe7df449e0edbe2986b8f 100644 GIT binary patch delta 758 zcmVb=Wg)E{WUP{=d1H$x!g5poRl*kg~q^Z{z<12mnL6&vbV2^uJ+c#qnT+1Y>5 z?tWug`|&RhyJWuNw;l}~l>z-$2_TDsYF`e^0Et)-q$;Jf<N zFcq{$DbxuVLCdhoW0{2*0Ux5~`+dE_C@uyD(Hz({D#vS}fnLA@)eGO(0m9y5&H`aK z5AfmIgO=DW=nQp+GVHv%^#EOG@;iTk%eLMEeu@ZifdQ^`h?B#w(T&$k7(iUzb)}pV zaP8RuunWAu>nb%xe7Wejz?Gthfuo>-h*81{bylEWB8!WE8r=X7$#|iznm+;|ldmoYEjp-5#vn8{4K$=I)L85EVc3o}`DW7-*yc z@7}tfo0DE_7C3uQ@1+-TKox&4)&ZX0ED{cQqTe?XBSs&WEFcat_f8JSZ%ja_Lxi8d zyj~_Lm*l}YzK|mgEE2X3y>p~@JVfsjL;i_fbU?)rB6d>#Uw98Xni>A42&l--6l~8D ze8+|mrSDwZZO&YWcLu)wx%xrw55NFev(^1KN}^!`Qnk9*&BK^!FtTFbLAv_xu6M#F zc}7mm<<0`6&3NN(0|12pxqB;rHc7Dsc>9WN4vs3z(lG!V0uA=h`v*e{90(fiDCbB!TJHz?y`J^O<9=finsp&)xD*b(5NB9Xq9YFxT zhQI({1wi&!5fZ?I=o%pUy@N=(;CJE{gph(6f&BtV3o-U(EWwr#Yy|P|2@Eh0q=)*v zhGZB2b$~-6v=E%%0UUpFCq#l4fZ^4DyG4Q$z=p8*--m$-5uoWy;%CfOxUQe3*cZIjes|V;R3=J2!?NZ1+4c6rjaX9eSaXsqw4-3Gb-*6R!F-) dXlnW=`Uc>q7Hkvaj_d#c002ovPDHLkV1oQ62}S?_ diff --git a/graphics/pokemon/shuppet/back.png b/graphics/pokemon/shuppet/back.png index c25c8567e03bec37e71d5fa915582475068ff6c7..d1f0b8b8cbeefe107069f17899c22846855ea9bd 100644 GIT binary patch delta 439 zcmV;o0Z9Jt1AqjO7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#t6OE=({0004FNkl6=K!Ow>`iIoMNwsC9gwy!GN_eArYIauYk=9 z@#q)BlAnq+9w5Y8I3@UL4TM{QZ}K9;f`D=h1ojb-$3U-&Fn|ci;VTT%r*Cp0M+!a( z01Dm-U{O$#CO_y=k|qEsVBPkhz`1{K=tRC=!+j9|rjOKiS-5~rTg~TgJp~e&A64lq z!1bot0q6Ei9-Jqy7}#f>nmsx*uTTy6Is^9z^w7eHjk5iFW?G%$epxQiGo7x0D4g3P^Nxa2Ww*)+Aw(IkV5`8uTLvL%UG) h??3?@@S6Oi_yJf!aaQ#tvwr{p002ovPDHLkV1kK&xl8~6 delta 421 zcmV;W0b2fm1nvWn7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00049Nkl4Ed<35H%kT&YZ}EfR!uNbCj{qaDg4lU6^I3o`Fkr$U z03iYcWDtPJIs}L;>uSD`Vjp7$W*e}VkbuPo$R0d^DWoPYB_7i^=Nf$@C?du5a{C4q*=F5v!jsqkMN6Zstn`za> zES}TX9i+YM)rEYb#3t$fe95HzS*nio>K<-s{Kljs~ zM-O2C9C3kU9zBJ-$3`L(CMqz(GnVNl$o~`C2arWDK=c#!|55vuyZ!*nw+#`E9X!75 P00000NkvXXu0mjfDCWf+ diff --git a/graphics/pokemon/shuppet/icon.png b/graphics/pokemon/shuppet/icon.png index 44fd5bb191980f0468139164d6f8a7908f983ac9..71f391f7a4114e34862cfd4a44d32fa41aa1d908 100644 GIT binary patch delta 212 zcmV;_04x8A0;~d%V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mK1_S|ou0 z0056kL_t(I%k7de4uUZVg?j_S{->P9`wyO>yMZ>*wMhQO2aA)5CccfA!h_~(?bkF* zP4dpz?D;|Gk(@P{JItl1nGKA^>_FLhi>^V92(|u}xBsnwx^LTtlxGijb{p zxJOqsB87Ee3VG~0%emzP$Y=ZOI|-VVASncGF#IG4fjJ3Ez+{3x4$KomLT-}n`u#Ql O0000+($T;k`{v8+~Ve{ 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 A(EtDd diff --git a/graphics/pokemon/sigilyph/back.png b/graphics/pokemon/sigilyph/back.png index e1528d21140c63c78654add02f49c7998af83270..0e0d355f15f806afa51a18adc9c0c016ec3a9942 100644 GIT binary patch delta 829 zcmV-D1H%0029F1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#tKtdGr~ z0008=Nkl`EWCh{;j!uw?l2=p1-&9fN* zc`ERpoHT(F0DsGeN-6vjX}wLxjV%OPYs5GMFp*sjfh1`FC4e(V0!odL*3M~?WGw-$ zt$FSnVblb)b^;=Y0IbvjCm^gqN@Lq8)iLiNUXgIM%4pwSWlb03IeATCaQ{iVk4{se)8t2N;Bx7+4ZQ6 z5%GJ9BG7D>QY$91es%oVm=6^z>@AIy?Oii!0Dqq<`GnI(LYIVSd>@1{ruwpPlMww^ z57ucDm~nk>8y;Ds4*_#qUFiZVzD;@qU~aEmzo)6U88A^{-}4M z7zfO?B?JLKzw)+E0Hwa*p1)Af%*UJWiw!f-{_}S)?xxQHRB=x)wQ{~U6_`{fBpOdq7XH`;Qij^00000NkvXX Hu0mjf<*9cb delta 789 zcmV+w1M2*b2j>QmUw;DfNkl8S%6otLh;4qT#1ms<@;iZ;(d-(WFeV&%nKRykI-KqN2e?66=0Gch2!~ zJnvsz{4W!JxOE=j&p>Sh0s;cH4G1^_>{KbSan4RS7hbPF*?$7`hB*RZlALbd5a#(w z;ISl0CJx{`?FBhpfww;ff;RBZqHqrY;VV@GymJzta|Gr}oh8RG>2 z?%#9(-<tbZe53<+pG%)r994x=Gpj1!PK2!NF)-~=QIq?i_3IqnJ+KFz~C^X6b> z>;!r{Yk@)#5b{0zW2z1b=-LiHf+ zc4?Wj>JPvo7ZfHwz?%|e^#VeYXmv{SMlXHitj@Kwn&P}w+|pSE3EZGzp;X=C3d~}r zQ_KS96MuEk{5&5Sw7M=9{I_U*=1i=MNG^9a~8f z@W|^YI?X@_n%#`rS{c8`D15``DYjy&nx77ft^H8(g1*v7Q}5bQ1MsO*j|Cnia7oDK z+>_SY>dOHoAqOuX%<&Mg! zVlgU>T-^_1`{UcvE?TFMh+N%Cxmw*XV+#V-cH#iy)e5hwy0$mBOWTq7udiRC5H-Dh Tat^Tc00000NkvXXu0mjfIw*G< diff --git a/graphics/pokemon/sigilyph/icon.png b/graphics/pokemon/sigilyph/icon.png index afaf880d540129514d32908d6900d8b1795806c4..bcc249d783e23f03bca123a4f82e7b9503e8044d 100644 GIT binary patch delta 400 zcmV;B0dM}N1K9(R7zqRe0001qplF?uEd>>*luD6YU!7nK_R@~=gnr$fegFT#*xekEp-@pEeecrYgRG#N^xA($ zRN0ndmx5rx3puMW!Wu_GWyyIddtOxIH9C4XLhLHckQi6}CUdt_8)36X;a)~%gh}g0 zm}^dt{Q2SNIsiXj7f*XJZ9wP!;jI+Y40%CZ;1Q=C0r91lH0}HOQ`cf{41vazZ^~DT zo&b5Cq`r-1zV%upRaM}%ln-T&vb3;g{xH8`NV)yLHq#!4CNQ~-{N@1hBu@D0000};{X5KIXtvNL#IhQO^Y}Y*9mFt5dQHB;2l7Kdk_vuX+TVPsO|)`TceW^ zE|mdl*GNf@sbFVlfL(P47=%NVc2Jz;1(B190d;L|P)aCPK)(3}-~JU2+CJfo}8vSjQLb;fxx-XyOiin`eXQ z_Rs-WgXs29O{4mKzAiba|fFY9a zG0=O9;Q?SsdIk^b72;URd0X`XD(y4uYuDzd1v|!FX|>g^GROF1Jn`RrL2!%jiO>hI z{htCtAK=XNRbW>*r)Wpu-~lohu!ELHX%NI_3FLkTYD7#Qpno%gav;)d0I;@zK$LnM zDz1i`G_HCRAdss30LbC^Liqu$br3)qOo7;DwVeW^8K|&sEFeq}KBB5Iv*tJt!0W3X zSEbrO&H>XPP~Mo_^GF8G;k+n56gphLIpftL;;l= z&T8y}P|6k1XrMn-`uhl5YqQkvaJjrm)PPQ40qQJ0{Yn#+UjfoSuV;POD8&J|axKFA zoaptzw#I~mwU=R(=4Z77h<%bvp$?!qjF63?D<$eG3Ow2)oj`$ z>AJlims0FK0O=gJ_uzS>{sItmw{CNb|1Nyp-`$gc8`ygQXD0Slz%3Zl8_hb8VDN6+ zA40Q)Q?T-fG&bK6F+RO+e;~u-yyXwV=MMyY{va3rp!C4$50f6a{9&O7SN&mI59+lZ z*npu2mUlmxdSLs*v+n+%dVmGpTY6Be^XgbbbkU>Nklcbu1WQ>UnCYXyrVN(oMqs-F zixdE{8fM}@nIMhN7w|`k$_bxynQ~3ccR&UFIt?Y%YB+CjAH`BGfK~(jw${H-(4B^e zsPAw({gJ2voxlUsUi$r(F_m8d(j8Zer8gU;Xn-rnA})?h&kuGDG6CLN#z|Hj)e0c? ztdN7+fbKZTJ(0Q(DfbZ>+!_o`SF#sl`^2q5Y}b5RBYzn>z2`$Y1kV2%Al^)k5kB{y z2SkD1?s1QA9BZ$C_)Y$2AXLf%!A$(4Kv*!QJDP_Mu@wvvx`8Hth}{+rXTbPFmb&-I zFkZc3e<0>^zU2?Ynm-U&^9MQe2c-u=f0*(~FH2X9!?Wt&=1YHgbO46k(jR<1FkN5#!7~gS)*r~X)`QJm556wm0r9QJCSI}D QZ2$lO07*qoM6N<$g2E;!i~s-t diff --git a/graphics/pokemon/silcoon/back.png b/graphics/pokemon/silcoon/back.png index 2df79c25f9142485cd4f60c7f1071c8d2d3330a0..b158c7762789281127aa1b450ac814f319558924 100644 GIT binary patch delta 385 zcmV-{0e=4R1L*^hB#}W-e*gz`Nliru=LQE3HY{XVoF4!H0Zd6mK~zY`?Uc)IgD?<9 z<4WCUj8V45G3uI*`vHc@K54@L|4PUBfswGX=&Dk#WE*r3^8#@=y!28{@C;~?Tke`gI7A`aNre1%?s z_uaQ50D~0X5jI9Rn&=PY_!7$IVCeu;0J?bWxT&4DGPP%f640r|*YNDxcP zgzSpsZkdwV5K@~J@Sf8eX09EN35dk9D;hh^y1_hOGoUr4-2RSNS9~#`qh#86^#vgI ffcf>u{crjO?>ljHLIjnX00000NkvXXu0mjf5EQfB delta 391 zcmV;20eJrD1MvfpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ZK_kK~zY` z?UKuGgD?<9ai#7v#wgq37@_e=&Dk#5F|%TsTS>3FlEJK%nh+h~qU^c_r$lDG0y8=T8R2y?9^y4pu^9KKkqmfH;(kWoAI$ zvlkM?k}@ItBDq_qWHyA<<^g!mX$=e4j)w$9V%-%@y=GluSuPpSno@56#H%m<7|>BN lZM=p85PQJVy!5ZsG{5gVadc(E@0$Ps002ovPDHLkV1gENu7Usn diff --git a/graphics/pokemon/silcoon/icon.png b/graphics/pokemon/silcoon/icon.png index 8eddb4d0f83ca1ea29ccfd1933e42b44202d9fe3..48174fbbaf89735b8a6433cfb82a657ca0157600 100644 GIT binary patch delta 252 zcmVO{4mL1wS-?;L z006g1L_t(I%jJ?W4#F@DMRNiw+yhi`cB0w`$YI$zR7ZxA_5c_oC00`;76v5n6u%^n ze)OFCy~?}3i%pjmh-^U03owZ@wnk|0Q{y!e!zw7A7Mh97Sa6qdLj!Xyh<2yP8F&*3w)4}{GrbCtQpuZG>#!%B9K-^!vR?1f8hWr7uPNT-h?+v zm##gih@7pAKr|%*fas*X&=8_}JO!$Wl&MVGppM`Gjo{z{5^yTH6f+xGLrui$ zeP@Hh2XDgwR*#>veh>**-3JEAD4l-s zK<@NI@pIVbiA9M6f2;>(E@QXlLK|R&*Vlotw+N7XZC#$yDZ*Pqz0pW(QFl(<@#f%Z zpKHD0W{$iAV8n&i`iel-`SunDd~}`CcLV{Ab7VdL5QPDAOy~jOnXcz>XUM85sSk_5 z#yjRpDYZ7DB(UWU2&V|ty}7(0Fn4Asl>s>m@{m@!-8X?%^pUI^^}KT5w}Ux~!6-tdRgkpKVy07*qoM6N<$ Eg39vICIA2c delta 466 zcmV;@0WJQu1iJ)~BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hCEZK~zY` z?b5MM!!QsA;A_TAz0fIBVlq?}NG+@gsgc0MWb^`zPHx&u0VP|_FB-bMC>Swa9j*wHILfS+it%~{ssD}LkQqHek zfN33GCtbQC6D;OJ)F5(yjxs<|mqbLSqvoO^MpZvUu91|POq!sIND*t1q6=8yspLXT zZD6(Ph~@jv25TR@^#fc!eonhVByf4x57PMIkn{l&?~XlyjvU|a?Ilz6B97igHNmTZ zK7gWV^day--UP7zxoq>sqQn8#i!zU~(}&Oo6ybf>fv}H==&k^NP@K{^!dsy_Xr#3; zKzJ*Fx$SeUH>sJCw*ZQ`&{|(Hm;kg!F!*S@rSAv^nr5^IP=o<9O6UOLnXYEI6DDP8 zjvWXF8}FJ+rPRuZg26U*KsY9#?#<&3gPAj-PzK}>(yzg7q>l`3FDYOIoK2_Miuxxb=cFAVnZU%y-cUx~!6-pM%kVE_OC07*qo IM6N<$f^`$rJ^%m! diff --git a/graphics/pokemon/silicobra/front.png b/graphics/pokemon/silicobra/front.png index b6ed6ea56d3eb7d8d9140a5e0aec5c512de8772d..81a79e9fac9872e01d9f05e57d1452aef7e83218 100644 GIT binary patch delta 468 zcmV;_0W1E+1iJ)~B#}W-e*gz`Nliru=LQE3Had`uDNX!Yv)TRPi9|je>x{9pXrfO{e_-2 ze6LJJutyBIYwP*Y_Z%vMT_dmv#6@`J3kndc?no`(mR~qS_{0o%<*pFeBH+=0>Lc*9 zeF+;qLG5v_vX9iSi?HE26u|D~NWoY~1D|e!b)W+1U+U^QVVe;|Sn^vgC?L=)f! zz(wD4$k)h-LBh*8f53^!=Xw{((sq!rISnki5Q1m2>3d+@7ETUSX`sXpD!M7>0K}HO zEQm1s2~r1S%CZ8xEP!dP12Uol4_QD<2Q5uSl+Iv^0Rmk%BfHoDAW(13YAm9F(>1`Z zT4SHlyiEd~92kgh6wRNh0KoT}R$-2nCrMlctjBr=s0lG4N;@ipK$rm#695LJ*;y3; zxa8Dq%-)8S=*bw9CT35h)S4Uf9a~AB;gUs`^4&@a>i9qYkNO2-P?{Cl!OYeG0000< KMNUMnLSTZ4Gt`*? delta 476 zcmV<20VDpq1jPi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iH=jK~zY` z?UJ!h0znXl*R{KDFNA_va4P~*nXFO}n-;<)$%#@HN2h`I0r zhKiV2kbNlUj!-#gZNcCEU%t7STXx7HIXMzS$Z~$KlnR2Nol7XKZ~h=ovDeCE1l4oX z*Sa$^lS<$hCYUl1RmGVVWlmpJ+Ig3cH)2%$T&yi?B%r+!!+^6-BsD1vN9S8A{=tzz78rTRtIgu>wHgv^FX8 zhysq60Gm>oe?-$d2{bdHD_c=CeWC<_|7%o&DV{t@;yhqEFcZKGi3#bWvIvAJ05Jie zV4FUx8~~Rb*_GWl)v*0N!m-wF6T2g})S4^%6|*FBG{{3b*=|mPVTb&?F!lptP?{CX S;g>@I00002O0jcM_~9b8fnUy13I(f}-BN5?3|T$$;B^ zVy`m*UmgsRD8hrcbXruWxH~KYs<%OY4?=I6^F@HPM&nUL+BND-0^p}cj-O#x|2w}U x41`gb$d9zQEd5aJ!}!P^4;ZkF{7~?LA8#m0ojp_uK5bqBjiL_t(IjggNlf0`0{m z?of|pu5`E|ojVRzlsPx;KwaGF$U#x>UWu!kX=T9eKC#ysfG-b*h#e9KZ|Sr+o#gGX zD5%~B{yhl2Y0ei0(i)9NR%zF$GY%j=HAeYNl=;8rcZ7j33M2eTdmFhQs(lzQAN+s; fOW}ut5BzuoC`p|?{J#$F00000NkvXXu0mjfAYx9N diff --git a/graphics/pokemon/silvally/back.png b/graphics/pokemon/silvally/back.png index 94c3826cbd699e2a83c48e877e26a50125604a3e..dffe1c87bd6c86b0bde6c395be4c464baf992b43 100644 GIT binary patch delta 571 zcmV-B0>u4*1%m~U7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#v_){>A10005zNklToQ5Jnwk!M0A*13;x@n`&@aSD5wyWW+v^ zNS8=1Sh;=2<}ZMqbau%+J?zh8GxopYFHe9?$R7i%D0(8}9?GQ$Z#S#!>Q zhc;480UHA6V|xY+L2b!xE77`{tf7A+LhSk#W5INhZ45n7nZKIDawbCn)6Z=yILyap zFvO{I=Um5 zvCyi7#3>M?w??ghl<$2p)(;|^#p(|rbs76`o`bKP8LUr?Yy47<>*nXgd+ z=oS!I&~MF_K%(z}WsU@3x7ETuk5FSF+AX-}kpN8EEZpzCT|sTLsQmY;0Q3U2d6-an zfpu)3uEP6?K%Oj-_<+~~L?|aWu$CFMiJ^lMl~aH%khL$^P=7YY=gwDSdAa}q002ov JPDHLkV1nOI0bKw9 delta 568 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 diff --git a/graphics/pokemon/silvally/icon.png b/graphics/pokemon/silvally/icon.png index 2ef6ae9ad7186ec9147c522ed7a39073d4edc59b..2ed3ba7655f277e62971bd5cff9dad1f4c093d22 100644 GIT binary patch delta 304 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 delta 277 zcmV+w0qXva1MC8jV1M^XL_t(Ijop$xZo@DPMs)*@JwZT8FYige`eC!)GZ1WxZ%MGvGZ7S${_kY6QP08Fk=SDquY!iXg za6W1)8dC@yZnkWJFn12r=+Vb517PC*Qx2i@8SStgoj`80On$kDtVZM&Ob;^z=O2iu zf4iPdm>fyM)H{+ezI;{^Mge7#g~2vU_A88vZ%kmB?!rhQoh$rZ7BkQs3$fPG>ki0l00000NkvXXu0mjfq`rEG diff --git a/graphics/pokemon/simisage/anim_front.png b/graphics/pokemon/simisage/anim_front.png index d9601c955dd7399991b21f656169d857911ab641..646ed188c5fb202667d09b7852889c000f536bcb 100644 GIT binary patch delta 1326 zcmV+}1=0Hc3j7L?Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#wI#r_CU z000EvNklIO5hS zTLok#U|oV}XA*kSAJ4<@_;`Fpl;2rTdZzGWlbfdQ;OCe00(k&it zDTpf)oF7a~HGeO7So;_wk}m}gFL)+*>;fqlrQj*)DDfPZ>&#)pY7oLUtUGC z@30<6gX%$w*|GI<@}v0$OopgVI2fdw1)$>Fqp2@ne}6KSxETy|4z;TRRuo6CeL2i7 zUPUH2niYoiyQ3SXFXen8rF^SGTP)(%#>pR?$uo(6EWhH6^J)@%b6iF)KVL2{ZohKW z6(8{0Y3vOhk{w`tnFbT}q3KyrU13i;+WWiZSl$NNZ!zuw^`NqsMsNStd79mSy_`SK zvdj|zd4H9plvqs4>)Dw!nG&^&2r_* zGijzw32e~(^zw15sEH?J#r_F9VKi@rc2Dz1>pKOSqq&qZE250sY$YHYr%l5sqTE_F zI$b!89VRK8P?G@rL(znAX*=H0X?f8rn*^#2#sGlJFkSQ-12D%H4&Wl*Rtma-0^9&1 zVt)s7@dn!^7^^nzihluYjfeC9bAty5RKh)><)an=NkfYD;JLf?O^ENY?c9I|9bu39JZ3w06L8QKQ#V_n12&u zTKGZl28@m+Xcq?k9RVT=H#-I~C_C>4fTA&Rzk46>Zp7)BwAV>;x~d9}sx<0``l4iqT! z<)h$IdR2yD0Fkoh(s@;%^d2eS$6@4xOiyf?+Z*rs)3MA1$GHQ2n#9gy61VnEQ!C2n$VFI&Y2-BRdYJ ziea83VC3d*`YDtVFuhbLz*x>92MlHIu0Qfv@m^3MJ*WZ(_GX=dm2bF?dp5qBgH{EM z{3X(4^#=3=aYps}3Sbm(xo8FnUw@>oRtF4a-zCivj(DN?p$Zt-E|QYw2zNQfbZUTs z{+@(|hY&;OrsdQD0|ixkrae*z43$FFo?#O(HUew|1_p?C{ERA^OhW)meOmxVQvf9Z z#Seh)@7l4m2^fZ&&-np!VV=`~2PHq4P5hurDEWc%27VxwHV(!%KOkUq@F#=3Xy*q6 kjCOt?w_W@I|C}HG0;037^`?8Ad;kCd07*qoM6N<$f)9yXUH||9 delta 1328 zcmV-01<(5Y3jPX^Uw;J&NklLl37=&k|Isw%4G=QAXQQY(i{t$q*-I1eFReYZ^#>I zwJWW)+K?g;xWSEgKD~J}8ol=sk{cSS9ttz70hRgH0fOZ~^?w=)TLOd#_*H~1fvPMd z;8g(kBoI_&p?Hi{rYU!cqqP`dO8}Yzi?f^n!NMeza0x&xwjocV64+&|xj0K}!T7TZ1#^MH(~ z(%6vC$KP`~Uw;JjfHS7PlEBFTIOFFCnE4HEpPz;7{XREZaoi6BoIhi8!1OKcc! z{A04fSy*^!R6e7B=>BB5-~Id~IR6&+V-m;#xazk4xc`IpDfHV&hYVDj&jOJ6W^>?( zrymRi9)=GJgTmDSJ!l0_9np>to&*}0MEAVn-BDD{5r1Mh5<;oCdVV7~*7wAo zz(4t*;`xl_lUNzzGGhGkczn?N(v(-c$qH{{rESu99pj70?aK!>TZjA#E5anNPR3o) zbK_rIcmkFUxwBMjYd!OReEQXR_%M!Rn*$`fq#2_7LcDNK;?u8>|A^z$KIdV;Jb=-D z7NM~xB7e;t#J?YZbUGLS*vTi<6%#;VjySZr3nz_kH0Zk~-Y(ojL+p=VrvTs?*)2+- zE20L-l_~R>6OFPE_ZoY{x+(X9BT0<TYrVluz(wpkDJUuecmR~QOw7e@-ra(lmgzcgYNc(%niOGbV|gfP zUVris(!3~u{=kBHK!aH?p*tdSUKi(A#DU((`YshcaTLt~cxgqJ7(Ec9{W*a4#AphT z^|o_7zYXX*FJ}J@;ZBkS3SZ*?d%TmF4EQf3rotbT<$|$f32T`K{SyEcg)P1lsl)IJ zU}NL??gS`R6npa#n>b9VqU0QAfuhVDrhimXYB`4~RTMAhFhPl;@VvupmnlloVagOG z=P;?FkXgr|LbNaM_kSl2 z6Wc8dyFYU}Pl`dvM$fKDQ7~lt&VOufm0fS$Zjqv3V7Ul0n_Fd9?3!H`1q1tg=uLXa zs;aQ}^vj}PAdqj**R|E6V8|5m?fI6>3C3K2bmRpC1KcSC%G5998YKaA`Rqh6$^u9L zq(1<5|GLqd3xL;3&L{qWx%l?{0+h}CK`ZkIxrNLhELP$VG*`w!z3UGs7%5BqK^#>3 m0}4j9KhWMXe}I4Q4}Sxfa>IRz#22Fg0000b^X1)~L!B#}W-e*gz`Nliru=LQE3Hz0KN;dKB20tQJ$K~zY`)s?Ywqc9ML zfk|_dCLqnEaAOqD*q%%ZvU&lDeIZw_&y^Tgp@O%#q$0yxTyw8;k^o!a2%0q6&fbsR zU%S5`2yP+{=Hm_?<^clPY(50Y9+m(x-vP303E=D54v@hDz~_J%e+=OVLSg{)50e@I zQF?(VlIJ)Bgg`l;10t{mF!4_bZKS?qJoNze0^H^W6+VqU;8PiO68*=BI9~vU0{#jM zK#U8(<{N>jA;Q?KC%gjd8z1px9Z>WE#ztJEh`vuN)?RuyF#4S4|YmNZ)(}T^E{ZoU0CFxX zt3kD`1AL?_RlhT>lJHKWnVWklMN^#F%K;L?_eGyykAX7_wg>r03>h07zRFloJzRN``@C z_+|TY7nn38R;5H`Zd!@kxH4*iWjGsS6s^3-3wPek2;D96Y_<-@*bNXkiEN&aqAxvj z9%gKLw;tbhJ(dvaliSX*cqUo1CRRBHLswoyALf^ zm=oRQrK(=J04TX^tOnip4)81A==O~nm4pu(ac&N<6J2#>-%gMbeyqm)b`D%wv_HwO zL>`-_(M`>E&YLc#8~>DSROJ8w002ovPDHLkV1g8#3P}I} diff --git a/graphics/pokemon/simisage/icon.png b/graphics/pokemon/simisage/icon.png index e637c05a548ea2738424aa0e4e607082f6a22cbe..8649faa98ad35be19eb855c13becec7a2b0861c5 100644 GIT binary patch delta 358 zcmV-s0h#`r1H1!}Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#wRbC@M; z0003WNkl?DR-Ijn&C*M@ z&??^O(XWF_f?uES9>P%&`-AllfpH_SzzmNB3k(4oMM(n;dr!Y?utW18HW9(S4B7`UV_xtVN&mSSbH*~NDAw%JAC^RA) zmTbQfcwoVSpc_Qyc>t>%G4X^f&2yx#1Vl;^saLYSrFe~NmQZKE((mt zQ(DF@th%^n>xGwWu2sDDJFN*Q?=2?WED#|0iN7)aAuwNx1;#!SdSE1=Q4}}8kdO3W zg9Y}$G_g5nr#|<y^q{P6u@n3i!>+si|Q1~JGMxWxx#+a(XiuLB$O_?{R0S*4?@Ki z7aAIbassL(DAH<`_NXW@E5T~whIW+(XinDtFT7{_E*^V#BYz=L0I}}&ZaqIg&&QiL zKg0MJUZ(q+b}!fucHZ_pFn;4(`H0LP;+0Rw!Z3-H--W``6VTX3krB_!P$fa&Zw zF@5k5;E-l~I)9U3cL6z@Wj;RbQw%Se&hUE&usGhh3*aE)VTiZztL%=&!dJ}ha_3`w z!ACw2o`JS1A>Q-g6!vg*uLN`0l&T>b1_Wrft{+gh&`U4QH4#BJKMLXhXz5(Hh(5C;1mR z%3qMXXMcD+OR8$zPC$iA?4{Q2{5u4G&GWO*EjWA}$7P%U@2bc-40$A2MHBV*35&+5 zdZ#FhcERGZRPhr`!=MHVhD!mgDt-%F;Gil>#v;xR>ZvXaE6T=@s_=S)Sd7t!ai;~$ z6w@A48+u!P^xje-vkGX8^)&$GlB?zS!pz$J(SO^58HWt+WKtMj{k+ppn))^eF2=I{ zPxNytYF;d5MC0Ug0E}fu_b1YoQabqCuL9P@$Gg&(LLwCn0c>^|8%ugeMAQ(N5EShK zMu6QyKs10q=;VlI&Llw8lynD0j*5yeaN)6aEXAOdc{H~s&ISP!W^bvJ;Nm{#@+J~u zSbr*?M;QnNK3uPgE%A+m#bQZYB~mZcnr*4IR*Bmd1DjQ;s;$NPXjMI-2J49JI1(5O zj5pVR>iVA>NPYb7F%Z*n49!3W(}Pt}GY|)#=njx$;nNI+>S!0h^ImEOBC#aeo$lA? zy>1}KopTp~>A*lxYB~cXrO*uoBcxpcnSTxqM0Xf`NH>t4f}nut2GVyJByISWV&|el@3x)?Qth0NUVEBy& zIPNaNXcc8}c3%sI-w4J4=nKXG=nBS!1Vii*3}0*kI)YIvLLWdgxDpJ}0R2(E5)1?; zhzEmF+6bUO)CM928`=RG2o9EFI3`>C!Gk0)+`axlMf8n7{8QIo$f^1_L%j_400000 LNkvXXu0mjfq4pq^ delta 1165 zcmV;81akZQ3ET;gUw;H=Nkl976u?Jf54jlh)sqQmN1{nleUP4Ry>v(8 zK*=q5|A3}JZqrkJaC+&bl$f@sBqgwzT-{R+RTtW2qD!w!E^RMH_WV%X>rI53dLO?3$qKyaB+V1;DTQK7WLk3wg-wD*ziD4iSVb zx}u{NWPm?n3L60GV1%zDfYcapA$4qkD1{kPGkidA43o-HX(u5rFjUkZF_X;PX z>=?nJLM|a4&H(Jr_fjhWAAuaQBHx`$aE5@K&x-)x4k(A8?#}V=0bu9&;2waBh>t1W z!$0M4EH-{(et$1_Kf@1v8UW!1XsZ(8GavT91Gsbafav+24%paiRbUM+aV>zFwT2EneI@yx%1dT7Ue;$-{3>7ufitlY;#Lk50-Gzu|h(Wfvsmj=hfrrud;O36QufQQwEHzo-h>V+@=wjvpVEM)B{^hRdXKae5;-6irH~7 zg-k^k8^q?E{$Y1}z{;@fv9!V1>XVO_3Yk?%V{F?9kjq>xe-c*F?~hOiiW~~KTS&qD z_I=kZn)Y!HxtPlKf5M2fxcjh_F^w~qBVZ~EdVfBXo|MwXU!x1mo(1?+22x0*;xT|> zkMpUdZ^T56ff+&ZRlo$WTL_2_2u7Wp(9Br`h?bJ(sclhNu|VL$V{|Ho*#(-YkXbkz z1kAW&#wmq|`#hI7kr>SqV=v+Y1OlI|SJj66Z0q=VNn0gWuhg24s(DHQdxu|fCGbs&-?g{7{m%`A+I0qExh~TT#Ej#{b~OWW@r~gCb3FJo1EF(t z2;hA$H3N}&Bwij6R(Id)2C_G}cM;ef83;oJll;j;UWo8qFgz|Zzb)Nvn16PA z4e;lrJ4AsD@)jPC9W!3a9R7y+hWjDVqF%t$cI%XKIif!F{H z1fx|16F@UK7Yxw><|r=(1A!Uh2H;asU1j7W7B#}W-e*gz`Nliru=LQE3H!TW8oyY(H0j5brK~zY`<&?cn!!QuX z9Z!t0>VdH}mMX^JJV2e?z>~NgQ3qUgtdN?yTV4QoO#G2g#|eTF{zGf|e!lY7pP^km#**HLUe~1DYk95Xi<$%%> zQ6Mo5-~cv z$!?wY0E1p61{AahfBNOxdhl>pehWYh80_{--zhu~6mcMMXgrDq0M7wM`y%)Zux%p_bY{P?lj^cxcw$ox^9AOI2RrS`)mPLMB_m{2KC)SNQlnq;5SUZEU zDj(KowP#a*gzlQSepl*MeNKVv08r|nXA^i}uU^7CcEDLVQXPH|c#jEywnO6MJO%Jo zk2IacIDSMw29oXRs;kb2Po_l+UaZi?R(L@G8;~hwYlsDZQ0yE~DiPBeDC{q6L5@Hu!N(PLa7bh)&a;v%Vv}SXNT(um>bk>36=;ufFYYf zVbsD4U?sYB)B~papgtgz9`wu9_GovwyDGi~$_EBl`z7ua4&eoV(hnvbnjUfmxDq}f z+czRx0BH-tYz&e~0Vn1_ri0fmWSjo9@QFtG!G^kk(_+&+2@~~PRc|O5BlEbwY>heL zvHN~|Hf`g=+A|nOg=urvdp7S+$X$~+?^?g=&pEgbfYt}ISOCFZzf7O81842x@Oywg zW`Jym;^RCA;nj>pVtx|i{E_?^1l!ZqR9&BJc3O$dB&%;$oR~Q(F%kA(Bz>&w8-u7> f=0DK?8-#oTmaYWkvawd700000NkvXXu0mjfx2@ZJ diff --git a/graphics/pokemon/simisear/icon.png b/graphics/pokemon/simisear/icon.png index f7bc5ef78dd34e5912bd2be4fc8705806896ca9f..cb6199a656fc2b624ba1f5b2b8f76bc34fa7d4d2 100644 GIT binary patch delta 358 zcmV-s0h#`m1H1!}Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#wfhfI(? z0003WNkl`;YS(^T$KiIr?P^fcENKGzg0lKz~Bixds%Ok!L{&`BZbc zBb_4`1&G26V+b0&k#iN$<|Mc{C1E`6ICycjaX;31y- z2=3acH=N$7g%~u*nrhJCtKySl#n8E>x80}v^ZEQ!>W>Gnb98wMfcoa$a}cr;KtklD z1{jS&vk0EhTxza8zO!US01;jchM>VIKUV>5FM|Vp1 zD4grM2$_$Yz|;Bp^kF%Dz=&`6_VaEVrpJoH?+*JNI&X|@;V|UzXtX!UEnwNu5eG_V z8Y`ZtFWmKP;1n3Wy5d-^t_n{5m-tm+WKaeS%zYU!A}qjwkAFJ>lK|le3`c?(BQQ!j zpozc)D#hJbD>=YuCX%&o28J+Lj{e88Y_Km0heQzbg!b5SeuBQ@TOjx+KE45tQum)H Syy=wy00000fhdK1cn5VB#}W-DF6p_Nliru=LQE3H#hetWU>GN0clA@K~zY`?UXT2!!Q(v zt(<_~pmLF?Cx0(Cv^FiAApa0W`M>Y9dZGC|N34dlJyLYt$4EwMxa2f&J4>4L8 z0rn8k%D5?oFrbbB1}XtK9&?o1TH8D$Fxvx91_=Yj9>9lL(9{Tl!n8RK&}EGP>&Jlc zfG+TmO&uM9kfG-81HcI6-mQJXB4^8D)O}S24xGZ-{bd|&=f!ne~KLW@I zxa$y?Vnl>38=A6g9umWL3$AO4JvI6Cj!`y`X2{(>wzi&5*Q`(b;f!;LfIORZzkyCi Z^aYV^K#{cdLu3E|002ovPDHLkV1nd+t6%^C delta 386 zcmV-|0e$|41djxeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tS0cc4?K~zY` z?U6A~!!Q(vt(<_~ph}UQCx6d2ZEXsiApa0W`M>`j?FcvtC z0Om`y;+lgw29(sUrQ{mqZ-9oH1J+}Xlv`ukX9Q*k;7KE)p*#TiF%Kp+LZH+(#{sHp z5TN}S&>m1F9rF%v}I9NABI27aZg)+$IKVKtR<}s;aHl84Z`^PKmA*I7wip zs?d)BG6Lpih)dDjR6}i=(R>~fL%RhxYk_lWi|HLr={)KX`+aOpGo7w!KkbJd=MVu! g9^Ro-Coe+20FiA#k?0nF6aWAK07*qoM6N<$f;R=Gw*UYD diff --git a/graphics/pokemon/sinistea/front.png b/graphics/pokemon/sinistea/front.png index cb9dec97c119c9132f9dba0c845e7593ab5a8b2c..6d091318bab9920ef076f20535d0f15ff6cceabe 100644 GIT binary patch delta 443 zcmV;s0Yv_(1fm3xB#}W-e*gz`Nliru=LQE3H#`22D475N0fk9KK~zY`?Ub=R~CQqR06Ub557J8{pMQ9@E&`~HjD*6CI-E>hn64!!#gJ3dt2wopR zV*14~$t|5a_*=gp-`#!pzY~NbNB%VkI8(Ug6Qt@u70H}>PR9rIf6`f|kh{a!uq^8d z*VGKdYHJtwCK*qs0}Ep{wTeZa&rA8nl#Iyu!+6EzL|r1v%?!3zfCdCWNx^&+PASqr z0R|69yG#l)2y_MtP_Q)gnIX8;b7ygf{1AODGX%z{<5FtV#i*MWU=MZ>?U-w`?V@R{ zlY#`ocD31iahvbve~_jGA`5*x@*M_k%;u!~mK>C6wB8TGY7>FbNeL1$`_7N&F)#AX z#-x)PwPccZ5bjtIM*e~r%k*6tMxEIC=#h)Rrn{9=y$m0uR=u}jLmJUsva002ovPDHLkV1gwv&;bAd delta 448 zcmV;x0YCnt1gQj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fI?HK~zY` z?UJ!-!cY{3Z(Y(g+DhFdSX$_$$rEV$1ahfs3%#jMMQ9@E&`~HjD*6CI-E^^VNn8u| z4T8zoA$a=$64R56Np9y3`PTpAKPNW_Wn}zsL?AD5;}cOD%mF)rv2 z=#+{ID8Tq$R4(E|83ein1t=Mc_?aTu)UlUgLvbR0eWVDCQOl;(r0eM*DZmb<7aW*v zvi-WFZR3If!hW+mI$_OsXF?MKDWj1YxE6yNy)z%YqWBE0`xXg*n_U1xKOqQ2A6Y++ z!<@j?+w*?nsRf<%JpaHvKXBJXi?0CxLepBzG@0!mJ!9I>@dJX3Q0000He0@DJJbs7hBNliru=LQE3I0Vmb8EXIl0Jcd)K~y-)k$g{e?)^ya2oAL| zMHXQAY8)II`T^N#PeViBBfI@a-@AAH$O8PGGdez?dJn~Oqkv+-kDg$DyPzf*{@s44 z35I_kT7u#CLr*YY-k~NKen0dC^BT22bqBafL_t(IjggN}cW#6L!~ft=8&hNfhOfrKp`jm;1o)qZhQ3F3 z`;WeN@A{Di_&aBGAnO1ci{iOaKr!G)PcXk-P!kOQZa>rn!@mzL!SMT`CzvnqP!kNl rA9{lM4^A+%(GrX`MuOQ*#{>faX5Dl?i1-OG00000NkvXXu0mjf77jcq diff --git a/graphics/pokemon/sirfetchd/back.png b/graphics/pokemon/sirfetchd/back.png index 966060fd4847ac16e317a9db66adae2b656daa18..51d3e24e2dabf19ca6ad5890a5e35ac39827b0af 100644 GIT binary patch delta 701 zcmV;u0z&<&2BHR#B#}W-e*gz`Nliru=LQE3I0>=eW!3-y0)BO3W!4gZ> zZrzZWGFU1SeRsBxAC=)B$W55<$M5@n&*yU{^R#wXwtWD2(>+kYe?9;haDK5Du)*0M z!bHH>gIE$U#hwHTNO!S7X0V;KoQ4eooD19OraAxzkxd7%2LasJ)2Rty@_n;1BtRj3 z+L+Q7CREc0MbQLAI*^q*KzB2PLDzh?u5@tDH}7iR{Y-wwIyh{r#H6V=i;`Ur6p*{r zCDu){ z0<|pwEb9+COo8DRM4(*& z0*?xy!)Hv*e?75yT_L2Q0L)V5@MC$bq;gYFt2uFa;00000NkvXXu0mjfoGL%< delta 707 zcmV;!0zCbq2C4>-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)t6JK~zY` z?bJVS+CUTla1Taeh0q~Y7fu;6(=Pz+Q4>L1D&e|Ps%~7?RJ!wH%+O*FNCc@F7&Dfs zLprf$V6eoJwOcnNrVN&fMBkn50}|PMfYuZ6et!Ra*!X`vx^nG3;8k}|0%s2};p{vU zIN)YCVIeRxh%JF7GCELyAiatWvIoaa>(g{VfP3z^-P8)eLFCc_&LDuB8IxK77SGz1 zDFKD_ZDW^?u%Ma>42nfSq=TG{19Z20FzLqU>M9QI+4fz{n;*%?I1Vn`Nil6E2^;9)RB4KdWjB6ZDzOx}bo0xt-zT>gQq* z1fdLr!zHNg0I==fSYZYXk065TBLJro^cjXh2<*`uecuJI?PHagzj{LZwW9O1BuF(P+$*vBg+dkNLS$ zE*?Fb4WhVO)D@m&T|vAcMN$faFI2@9_y&MAVo)OmQu5`hBj1hyB!H7LIdWPW$SDmO z<4J*Xv1~~Y#y>m&HEf^`9ES|Oq=o3j+i?LxjsWT$ci<&0M8JwCAZ2_LIeZY;;KmN9 pVFG+49e_q2oFe0G@{e7H@fYEescwk0HUt0w002ovPDHLkV1mb2I>Z0~ diff --git a/graphics/pokemon/sirfetchd/front.png b/graphics/pokemon/sirfetchd/front.png index 3ae79de6e60402d54fc9dfa9ae834eae100b47e2..4613cd935d58ce39d8f2e07166d99327f9e942d2 100644 GIT binary patch delta 901 zcmV;01A6?62g?VL7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#z2DAqJ=0009nNklR)xUwETBxQTwozRJp!c&aDiDs9f2CpAeNpHf-=esaT(K-V6;Xn0!S{;NTQ}Q zbq-L*6pWzTQFGsK`i_6@i2IlZy!k|_ZXVX~C&^$LFD8MCN$G)E=MqFg z!1_E{!ojBl6IEJaBmM$RFwH|s_qgMgl5N@Dap2>7&$$5ea4(JyEvd*8K*Vt_N4JBo zKdW)O#p_H>0M3Y;&An$*mxf{BM z6870i-0Fs9M4J9D)A##E(RE#@>qaz=L6lhbXe9uezVCk@c>SCK0N8G(MO!UJi7Ba0 zAb@_~YhI}vj4||=N=7RxBajJ!rssPA4fsY&WxTB#Z5<^r$#hn>L!jvaE5KD52eQtA zEgLPFR;(_F2>nLC!U}z_OiOpKbdBpknBFukEg!JWid4qpI(EcLl#p1FP#A0v%gE4ST&< z)3*mXCW!C7&#W2!7vG{V?#XXSB#fNFcHN>DPQnxzRKujap8^&duS9rJrDq_hw-XW2r&1BM6RW0 bZ2b6dQRRaN(9X<<00000NkvXXu0mjfiTjQB delta 837 zcmV-L1G@an2a5-g7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0008|Nklz3jm5QGD10)!;K|J!a=a|t+Z#^|p-+m7*!S|8OHh|}~*7-K%t zRk@w5d?)`-Z@<&e^LPILd;ORF|A+O?eO^Cm-Lklk_0aON$f>`zj|re2fTo{s5LADg z0nPtCfUf{|>hA#5g7zfA*bq2)sn&4Eb^6VtWn!}rb5JadBzUYfUkis1C z?|MlHZb^?VrL-u0-43F``ind3_bEE!)O4?(0F`z`>$LLsa+&L)6mh^(ScLJtTkhf&HmS58CU0J7GwxdbSNGyoP2@a=f^;PsIK z?%dG;#8?5=vJSEDBT!&??+U=xbx(w}E<(sMkT7(C0PnE6Yz3fqm5wj~;%wspK>l1G zl{^9U#`I(X1+-el*aNs2*T;Vpq93QO97{Tj1t6?LlyR7O0DIMQezv}R93m}mwqV4p zcvvw*A6c-hX9ye8)V=^jBIFbrq_M^UFgelueGTXPaD@xGscDeZPtrE%Mf{JzTe%7` z15lJ_eU)*I!>klrZS2AasjZLjQswvx+uW06XPfsLdfT@6_r`P8JFmGL_ldTl!N znp>ig<7JVrqqHF3=Jqk;g@@k&MbA`txlbq<+~SV?+#w%9K3u#bTzvKil+Z2K!p(5* P00000NkvXXu0mjf?GBK1 diff --git a/graphics/pokemon/sirfetchd/icon.png b/graphics/pokemon/sirfetchd/icon.png index eefa9a738c847477a7e80c2435d4a2eba1c227d4..d0e95e80db24242b1751b418f606ce296557c2f7 100644 GIT binary patch delta 542 zcmV+(0^$Ak1cwEXbbkN`bV*G`2j>O{4mb`kyYO`Y00HVrL_t(I%axP8j-xOTfc*yZ z4yHE}-sYr}DbBQ{30*`U>Z)yady2b_YF6p1Bc6GP40K`#!O4hLT-!R*Kq z%6L|m(w89!qkoZ2;cZ#E6h;WM|Cr=l`Buc@n2s3Zcgf|+HB*~TgNkDqavtinbzdG& z&j>aXxEciJQfZ_Iy-dLTb_d+gXFc=(`d|&t`U?Qr8t^sP>JP%8!S`_yW}5yY3_80A zFU*7nKYc38nu5PnC0#Hc)g2&9hyE<{SsG3Z$M_b9SEsDJ$1ac-fxM*!zMho-xM zImt|B&mA^8ezU|WlQ0he|0&Di>+Bp`9UE)|e74yozo@S2bp+|#ZnyivOfeXXDe2qO z>*JnD(+t}{-WgNO@XTzQVeJ8^y;A#x3thD>Hp-~ji;N3d)V0Po6car0DYCEYkRlip z{+qH=8XQHc_J8?IDSg*cAHp!L8!VVKg{hRWU*GrX@$gJwbpdBbz@2uM*vZ~E;C_Y! zKJI6^^Z$Ba369HhO8~_Z$R$`KxCuihoa0@X%l7ZWkYk8IVJ>LG?R#OMyB6I>VQ!$> zMq$n$B2bv~#h?I!Fu7|i_6ZL;3S&HoGaVE6#S5d|rhkiFjNEx)zO$n0FCarw_QD^~OSH(GP$tz)Va2(UIRpDl&UHP+&{| P0000va-tpk{T52znA|lN@M35BIu{@{nFa^Q2+i^N9AG|mp-_t^iw33u O0000=Og9k}6iT9P3&My4M9|i@K)6f5wrUtqNx_5w+o{&$HF7dy&KaN{EUQe1SCtEW#sQ_7%X>ov5fImYfQxqR{ Wp-_vLCiUI`0000qu diff --git a/graphics/pokemon/sizzlipede/front.png b/graphics/pokemon/sizzlipede/front.png index a5d40b987fa2cc650a7dbe5005f03892cd3b6622..90456727141293ef872f073722b3f24b818320f5 100644 GIT binary patch delta 292 zcmV+<0o(qT1C0ZaB#}W;e+P6)O+^Ri1_ur}7~5|}Bme*a@JU2LR7l6|lR;|3Fc3v; zbb(AVfoyH(0E$P1Ze9PFYy<8EN|6o_sMp0=_y|32)kjqb9-y;FCp!pR+`Oms0w@TI_Hh; zv_UJKh`FFQP3PXNd)*@NBI-B*?A%+`ScL9XK;>szRA3H1sSx{}ykuI1U(}2`gzN(#k#!XoIYN(Hhft|e9Tr`6;kTWq z@%W2KB=X-O&yzTz%rkE!i|me?6CQb%&lQX@uv1S8-r)&XB#qBkgFsbSI5ym@8W7;d zH;7(-3i5XR*zbp&M#2AoIh|A#>z+|b$KVN8_CW6p}yxpJk5kzWyE3-tt5)IWiZY=&pd6=ESLfb0ED+&Y1F7+cb9 zZ-t47P@GTlVh&T-TpCuHag6gLx)-xdAD=PCA+zqoanB3e{z3rhB)#b*p2KP8s{Hft!yU z6i0KX7%4YjmvWg*B8kE?<_cj&Pa>T27jo@*+{D;Kx2+Z?M3e-M^v3KbzXEl4ow4`x z7~sjQ)B8sVp^KV-w(LV(*dAZN_Rz1jAN}qhCq@M$DyV=FNi)<0WiYD)*92uS2-E~A o7*Rn5%p$P~Dq!L_m@D{r18i4Izg3bZ761SM07*qoM6N<$f=TI7IRF3v diff --git a/graphics/pokemon/skarmory/anim_front.png b/graphics/pokemon/skarmory/anim_front.png index ea1033f3e0c77d7d41d419c23b75a4207146fa71..33fa535a6da233f248e06f07ccd0355fac43c0ce 100644 GIT binary patch delta 1454 zcmV;f1yTCl3;PR@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#zPglf$! z000GENklTN1?@_y;&Jv}f%MoCC@K==pnpM^Rv8@o_v!AvCP%yFco~&jm`K0I0P)fYL5NrB&6<1B8$bfaU-~Y4u~Ev;tJj*C#CH0kyP|1JKL> zwM;4fxL^QWt7fFROR2Lqe=P;7s;sNbsAa6>XEjB25hx=-m}|B6)<%C+Q#3}KtXcv< zWz0J9mHVU7Xn#4tBaVREWKFjT1u(|M{n7W6$@Ap^ysH4fnydw-+mM^1@8*zyn+?#B zz#(h7HTY?@M)UbimahS<_SkY+IG)cZ&;6`KE&u_|j>=K_F624ur5nwn# zcmZuJx`3S0ju5_0Y=d|V2N=fC#+x+PFmD9JS0vEK0frXtDGi%x*MG0@H*6E(cKKaFy%7 zMch}Ss}vYuK2CdlFinBK{)8U%83(`+n8!kX{lUw0yyQs zk@9-dPx_~3I28CoBuT=aOxNBU0J`V2O$cw-9)BdTFO$Syf3rm5eML{S)gPb51krU2N1VJP8A%fhG8bK!fxm&Zotv=@FFH=-GvU zzJHI!*_BQaprzZS-zgfxPFGhawW1Oi<@dJDK{SUiSFb z>F{K6JZqifjViwA9oM_bVN3o}4>tQ~7`N}ILiF(e4!_z`<#AOkdeCl@WOEATakc@D zKQwx`?>F~bww!;oeBJ%M`0~>ZU@CFDSAPiTvXpQ3?zn|@U-{2|)VrE5eJ-HVPXKmW z4%$P`a#V1by<$Kmr47dbAhR5T3X*pW152eO&M;Tw(jQu9E!PU=<(|tW;29}!P7f~da-R>^mVxuY)QDZF^QR~f zc(aajU6$!-gCGF0``AWYZMX7&_GOdn8ev-AX+yOI}8K?vBN+>QMNhE%0NI-#J^)8`o1)f z`ac#7XQyC*KX|(YL;8bomM4O7hd=1;JN&`v+~p7b|C>Mj4choAck`N>Hvj+t07*qo IM6N<$f{VSi1ONa4 delta 1424 zcmV;B1#kNM3*8HlUw;K?Nkl%MoCDAJVdpxIhx zu$|whckdlfXR=8N}mC!wR?clU4Tlfs+$D}A%6vcW&lEI^)^si11jeE z1xr~#EfsPAnkk@`DW$g?2EesyMv}XfI=S_02~bsKUu8xuBbOi76xBtbi~wP-)q0$( z{qFwfu|e+x5=7r6B=NQiHGA?)9LF~0p3*rU`^J7)@{hm z@ed2gzfTKvB!95ST5b(~TCMS7ah>KlfYqK^E*nf1i|OlL+9H<#XLb13pwu#>XmP#H zS3u>sejGGUC~chr@NS)}0B}dq2(R;?`GQ)*D4IZ?PWga7m4uCe2L+-ix*Cj6S5xAB zL!xI_Yy=n<7@Wcw%PAnIv?D~%CbmI5h6P3ujPWkXHGj+-KIthE2(ZBD6o7Xk>EIdU z?>~@s54!YC;(JkahEps=dJ1Uum!G(&NWk#T=q1#M(i~RU4LHAabddnVXaM;{tcKKR zwb!qAc-x6Z-*Fmbcm{bS;9mWh0HUYpzt*{J#^GEL(~Mw&Gsv@B{q1ku6J|G@$G&Mo zfwLj>IDcB_`tKp{DdA-T3^AW1Gd`Lnz~6tt4Eme{U-eF z8b+gJ#Q5TH`OQdpJr3gF$Q+CWej(yGX3uBYgN;D_P!p<75eR&wout>)tK^Yp^B2_u<}lZx?_ym`k5K zOQ0?axuTWX(OWtLWPh$~$Q1?d`&(FK=4j5Q7)luRE)ME#j^Xl+2DVUaZ*?_DKjeJ2 z{b{-ntu^}gRzTmu=Ilym8=xh}BfRwtBkzM{$i5*oCFU&Eu_rE?fC-JCMcxo0odu@TD&W zRQegfotA_4kg*&U9Om(MKqaMuV*rp^4u3%f$vTFCEm$c);CV(_CVx;(fRZHv6>^r% zl~NP_7Yqjc!jKAMvBTWA3wu+UWm73JXc)}T?EqFTv!?2zqY#J>^N&Fl97fp#03}9S z=IAgh#V8#mKpFI*xrYh^@nkxkrT{k_=LCTh>OlXd0uFOMovthh0K$22jDQOQVSf(5 zVHTNOwRnYlHg6t-2f4I0IE_$pMwuR0{?IyZxz<3w+%vfZJR<>4=UC*VBpLq=c zLmCL==rD`*l=R8_Hn^6Z7>Im(FMm>pQBY&5piqXeeZS_*w?6<^10@4^eeP8Dg)|VU zFwyFfx9qXbJ-rf!(m+sQUW%9Lh|+U>ucrh-7$yc1jRw#|YLfu$;uA?+N?-^dN6)%m zN{$5NdiuN@`UDJQAa`1>hv6+xPf`)49(d eg8!R8`~%wfDR*iuo}2&x00{s|MNUMnLSTYFy`6-hnj`e^>;!QwS^q7sM^{4tWX3u*@>Jog+)YUUCa8fO3Wq<|GE>QzW^? zb`NIqxRBOGOl5L$ZUVDTb`}lroNR0W^ZGQ*u^oVA_AoXBa3tXRP#N;24g}d?Z5qnN zQF#z+z+%~8F$m;R9h8s}TqavUv<58BQ613oWhuYP@cmqO6wt;|foDubI{*Lx07*qo IM6N<$f^WRHmjD0& delta 423 zcmV;Y0a*Tp1ds%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0clA@K~zY` zt<+I!!!Qg0P!B`CtD5QGX%8^R;Q!K|peKk((btZ;E9@?_oVH`cwg#Ih+}g4-!Z?gAIPEpmq(ons8leQ-N}C+>mal1JbUkTb-% z%-sU{6m3vOY|mgPkA<`@Vv^0pr3vi1*;zEeW3#aV?DNyGq;>(6-NV!@fPsMPOJ&JR z9tg6*3J9`sBtOI&7*HA%gFtSs11S=~WwHfCYk}e%)d7_+i#(O(`x(Z30no-#fi&~g R9{>OV07*qoM6N;tV1jW7ySM-V diff --git a/graphics/pokemon/skarmory/icon.png b/graphics/pokemon/skarmory/icon.png index 4226ba3920fb1e8c03e826dce05fb2fff6c498fb..0240634905cee573b73baf42e6822635e6eae021 100644 GIT binary patch delta 346 zcmV-g0j2(m1F!>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#zZWWOXb z0003KNklMar%6#qyViLa{u&;kFTEU?CfDogA_)m^Eh17|drH|7XXRezS(zrkJN0#b_fV&J?J zATOe#F?G~FFfhcX72B(UOKV8S7Au?U2<7g`7o!&4r3Wu zQe{BJ-v8}+sZ$_22})p+padoga$sNw69qXiHi7Yi92kpYC*=hNFqxnsfXM`X1~7#n s4<;8Bz#M|$`vk_)#7LAsnqKJR3Eh0Om0Kt1IsgCw07*qoM6N<$f*Hn;zW@LL delta 308 zcmV-40n7fd1BwHXUw;7=NkljzoFwTpy;8Q$zeNPJcGhc56pDgtXhm{E#Fe^9_muaya`w@d2e2_#Gn1cTnAj@H6C$_t zSOnzvc`qulHXZ{@>KM@B-2d(MRzZ8~DJX$Sf)bc0$bo?!Ocdn6*aXH4a$qcqos<_8 zz!ZXp0HzT16)nIV1bHx}pa3Qdf}a;KmL^6e826*;jXoaTe6*D(S_S3+00000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#zdW76O& z000A*NklF>4!16vuawz-|OP$4NwzugLBf5ZaL1CMz{bBk+nqDuXlx;y%TJ z!NnO#ow|JsS8V4Ul0rq&ST58?ql1)o>i+QVt@vMp+J}l*6t(WPvUMv6LPM97}nsKlO(k;NS#WFXJ~e4(MWmZ(8dG z2fUQ0s|D8Zcz-}IW?El!fO{qM;_E|;(f)Y>nE3~~iNFn(*iXh&62Q1ih3AYDC;(1V z=oQX*qdc8xwFnLcfh={5Id^*|Qgh;|G1- zjShFNEcF@<#Hy4${1+?akSN z{>503I+jmW@nhHg>8W1e467+5d6E@3$^aOvn+z`A{&r4$X0gQ@T~wNn7-4QM@36xS zq<nw4^_>EA zDCliFyN$i&I4!35XbM3z-|P$;Ymc2Q{?Uo7+pwhlam^! zG5ExTR0e4Y#C?i@Aw`U&PTkExitBufQ>aK9%Z1u#^&q7kxp0-vpCPlW_(5_rDpMpL z4sp`_G&8sC-v947_wlQ8qPCR1h^?dFF3$G7kc*PuEk*UZ2_40Te^wBC6?GshGP=I zxK4%V3==2-PJdJA1K!~9NHTZQHcY1+Oxd1o?7(fc}D^M5MV18w?kPe~PqXA#_ z`Be@8m{l+?Jnp7C)1MVU0>d0sR$PuoI-h?w1q6&>L@ZZ5{jk6ed0tQC;9mlGn5!$L z(scat1oy>$5pY47IL)MFfJBW>RU@kzpdV8`vc_8_Y=0gBszkL>6LJ;(15pH=_P)G} zm}=p);~(j6FRl_TegXv9BJSeh>G$y3B{yC<-o+uKUgwZ(V9t)`N?DCuK|Q1aUU*LJ zRdwRH@sw;)(Vl}F7mwCbv%t~<6&hHs0B;>o(X-c>dqW@4;~V_z!~l3l#KyN9XXEw; z0dvOy$A8B+!r=fH&)l&sZtj>6eCj^#<4=oHxVl*HQ1Zi8YdiGA?Gj^itb4IGhH)sR zF!Wnk#&7Xmo;-PGIDXKlooI*88lc-<1C*nvi!V{WMn_^^9>|pqBDB5JGb+)Qhvo~V z?QOI;Xi%hm2UFT!?xI7{ALDb+6%T>X_A(Y&On*_mMIDkMq3z{QQZLa!OzL3uztE%n z=}0%X^!y9vAkB-~-kfadN5+EGv3#nEFT3W0$9je{EXI)JNmf`V3t%iRGdOwquCPqT z<80|Ax~McCFv8rNUt@<$NKa_M9h(U+a!5{S@ptq0)A&5p6!f<3{bCDulzvbu&-0oE2-&Eo*20WxxVIuo`s-+5Mwt?w zND9(jxFd1e$i(5nj;NA=BlfdH8~}ycrNzG-|0Cq9Jqys*xxMQiS!w6Q|M|?AgYz}o zZh_YpAjKUEFIVEvsDI^ucfhEBw^%>oYN0fcu4 f@IiXKzahQ@&x5_TaP;n*00000NkvXXu0mjf$_>)< diff --git a/graphics/pokemon/skiddo/back.png b/graphics/pokemon/skiddo/back.png index e0821bbdc4608b5e9ccc527f96a7c07d1c94cf41..e25ff07520ddb264f6a619b32ae20f5337867c27 100644 GIT binary patch delta 603 zcmV-h0;K)11;hoAbbkN`bV*G`2j>O{4mdRFw<*T}00JjTL_t(Y$L*C*ZmK{W$H%k_ zmJF1{=)y3(1GI1fn@IO0OydD6=V*7x&Yi=K9nQ{OlQA)GU6OZ|cYr3o-wcS($N}D> z-=KqhKfk}4h|rJzKix%->Wrf9#!wUzWjuue2_n;kix3h9Hh&t0Bp^UM%2a)(FoJjh zh%Z3^2!TR`*gYUk`3jKJ0rG)=>F*2>H@pCWeQCla5q72FlO71%>k+Yw?%WPg*+}Hx z3@U+0d6)$F)<+}o90|B+$VPGn0Qe*rTqL@m$IdUuA)ez8*^9+}0zm5c6h965S@uk0 zCr%xYdUzmx27mHs0vAmwU4RCF1x?`{fb>Ovx&c7yuf@R98ATc3}dExvbnfhblDHD_HL%=FyKX z7K8twhp)F5tCnS3=DESx@X?wTY_nvlN^)wN=6D0_*nf7ya#?)#bpYb84sZa|g+#l}ugI=hMCT zHUQND-!a}MIEmw-*=s`-rF2z-3X7@O3!wvf=YonF3lp&3C;VFYb1KB?dWa1Kf>F1A z&5M~3*HmBTx-7ZMF+S(0XBuF!vI{PH0_#)OT@zIgRoW1ff^}OOpBv%Y4{F>lTBaUX pt)FW^u~VyTi?@FM@$=uL>mMu~Nf>oRtWE#`002ovPDHLkV1jIA7f1jA delta 584 zcmV-O0=NCd1+fK?bbkUTNklW{a7>147MV2^eBm@f-XAaON7obwoeWbYJ z0EKh3yO13_oLzR{9lJ_KLbGn9xyl@%67$*lAvQU{Ec(je;P?4{`~e94=>OAQ_^9?U zY#t1S0a3zj8XoBY-|1fwJLt}70F{k|eZNfu$I8RR$G1KjfoDs=K|?l@ zBLKi7{@@_d{UWx1**0-)Z^(|K`vid0_9%WD^4IHU8ryMdyVS)4>DM5aCa`EqX#^So zBAUWG0O^bTbbkY^l2?hXSM){g3k`UMb9b%jO-tcYn#PSo>uoje10&fUl{IL+!Gi_> z5z(t;CkB8lJDM diff --git a/graphics/pokemon/skiddo/icon.png b/graphics/pokemon/skiddo/icon.png index 645f8ec216c5a652dabb6b36d3bff0977822e276..9d5c8800dba61bc4623287b3f202e175e88d5ad2 100644 GIT binary patch delta 309 zcmV-50m}a50*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mdfN232|h z008evL_t(I%k7e}jshVNhIxYtUbT%h)?OmjHEXjq_iSdXY1T)(5NT)-)Mkrgq;VNc z?5r*~<(C;?em)`oSV4RONeOBgNRo;JvQ|Yl2N>*G-0BoeIDa99p|;G382njqaOe^1 z2;!ICcswqk8?QU(kroj2sW*72hhDXIrjwubA+$ACB?jCO6v0ouH-AfNcK(f*HUTQ= zDH0O@^)d{Q5!y(TN-}aC^16hcs}A!N){&SFvqyi-tqwSOWI7b^Q2QgtSn>U1WknyWcYpDlB0&E?TL zOfVP%Nz93|!4#I$Rh_Qu2PgT0DJ>w*Orq%gH3 zDz=p#)k$;frc`x1I?I;>0BM`Ajx9{oA@I^g1w=}^E+ z0d@L{^L#X{CEv2NQi5QY^`94iOjld}uR(Bv?Efuwzar1cAA@GE5LU}%!U&68<8 zKwzPhCK~qy0s2rq(snG1M`bJ!=pPKj_v;srvUpz<_3HIsb$=0emf_-3e(CVU67J<4 zc|!40exJ<8at5Ir#6RXk7(HCh_=ti077rKCPosNz!_`G5Zyx~`3%LII$kg*fk7tv4 z3^4x{UorJc>(zuZMh{=PTZn3_ontKJ%~<+v6cj+J;abY!3UuB!OsQJxs@kpq?03(R z(r-mY+UkQ^j(@>Uul4VSqr~O8BSEA8QvLPqXfXahXj;UdH(Cn`vGy7%kGC&ufNz-U z+-1{t*gATw11906YT^Mi@-}v;Zz{dVgWMY!13L~kG~5r< zdEIsp9_;xc=tx`q;Em3KI_C%U=9W0)hmx6F@BFZK0lwkH4^z$J!HFMMik;34eyCFf z4i8TJP*MYr2bLd9m>+Y#PS0cS_Nmf*e4JlEIatY5CNs;BYvpEbU^$-pIO-8 n!m}_xDD%PFFP8lY_?h(&)KF!0+flK!00000NkvXXu0mjf_(By3 delta 573 zcmV-D0>b^R1(5}iUw;A|Nklc#H5JlIjwhU#cmq!Xff|b0^1>)oYcA^WU z&=uUc5Ll6Br%EdxAP|v?6@@v0fgCC`D=MP6yG)V7Fu-33g68w@3`J?45Q7H2sjh;OlY>lZWetJ7T0h1%Kn!(~rr$x^>lMqV666 zRx7yq_UNdmnVv1?%K%{cJ(xP`rPiA{WlSDEx{i?LUK__usoR;d$H*vvRKbl>;|=Jv zYlx^?=(5~z0QkM-i0QMeB<*#hj$?GtTm9T}6u7>0gjnm}RR8&UGSv2c(A31QSL%g? zSXqMnZ- z5NRhKocUpsJGXO-AF3D~&rFn``Jr;u84s8rYCk`qQSRdh0U`4PX4+@q#cdLZ57usj z;fIWoevY?!0w?(M)SMWCsHwoVrGFF1+dpGZ&}nKWeR zn%~eP8B5lOGZ#e<@F3p9d*34uwB!7be>hIcyQ8@hb0-h{`WP|hfBfq1;T!#U-Jc(D zO6ih@0CYI+15Rle!Xk#D*dhcF@ve`z6v{2IEi%YO9biByz-+`~7K4tf zt^-`1FWHjCYYi+q0J;apo}Pa1*rF`USw|tlRkr%Vzq5D?ln&cKSfaxHJI?vzPHTLA z)dbuzdYH5K2wX7je<5rF?&Qn>t4scMSn58Z0eH8Wt^mu?id-->i5<7{xxh==tj z>-8G$;gjFUE2YjtI7JaWr#T+vo9X7J0!&_s^I53R!kl#YAZN|0Z$2cjUW z2~X+*DgKBy3PW^Al#)nTK&P;P4ss6gS`iYMuPn1A%$Hq4e;K0ckeeDvRZrxbN<#GI zrIh9{yvjnSLT*gB#}xENqcN#Gc0$-j6Vd|G7Vvx)2bDX3SERiqlKMh7y(OwUcXQb+ zVNDekFl~1#(uRVI6OpzEY(6UzEpl=>VsT~ER*`q z(mWT3>dyYgU;~xul)%j>BK$U>cS%K3bMFCZ<((ge9VFi~{gck?;!Vt42|HfJP2Usd z1{EOsUqK{%3;0LgQJ2{9N?v@ay;S%wzvYSl7yiNg0dU;a8%i$jc>n+a07*qoM6N<$ Eg53}!ZU6uP delta 622 zcmV-!0+IdD1=aKdIq*f2-U-P?gviojC?ZJjLWEjWqb zOC+d`Od2wD%`^0piY4o>9San_g8=b-yyx(eeD&plt{c|L17gt*FApTt)l?SQdi69{s2xPK#r zc-$M0k1y(gGsX;a{uY4?ZZZUQz?qy`V09@z4|8))r~&S6VmiQoa)HrM49i>yApd zrG@O$l~Q&XZW*C})giSZoIVG$(RxhEjIENzK{vDk#0}ti7Dt_1fSbjgEjHDKZaZ6) zckZOB-l7PVmB6$)OBvT39DFfxgTTXYjvVmsU~j?nJE63CbyKCYX^}0v&Cp+I@A%OY zKh-ixl)1AwP35sWIo!Cf6C+97j3&}+0%n)eG`9Ed(}qq-zGcNj@?3j&28NJ4rDuK+yKLl|qPb;4$vSbDz&$mS3FUnoL;0dU;a8@Qp)C;$Ke07*qo IM6N<$f)1V@EdT%j diff --git a/graphics/pokemon/skiploom/icon.png b/graphics/pokemon/skiploom/icon.png index 21189bed8a1e8288c4d5ba4c76a5fe1adfe25814..8d6bb8bf360d3fd3afaaca4c18684152329f2683 100644 GIT binary patch delta 317 zcmV-D0mA<80+a)gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mk@($~C(H z008$%L_t(I%k7dqa>6hWg>?gshl*ox2XKiSL>U^`GU>QSO1oiF>NUPn3ey@Dn2ag1 zhz#Rhxgm8XJ8JYKJ?+nD%%2O(9Flzx9JJEoeTsv+fO0Y`5r4$MBg;??!iBCLsA?lZ z!2q*ZY-!89*of&Dk#lPjQ;Lxjy$wQ6ds--=JICYKxWbUfDkpcOMv`ae+)G=iVz^oI zSqs*&u}K5i{Kpeuk`~!3DxU!3Kc;H>5g1Hn5MY>5W|_Q+v+m*HYc>3WeO1dhmmgrd z)u7l1FcdT}_cjP4V0NDgFza2L0@Jo5VBBf0s^RbXDJ1oFn=oof_;v4Y5>a>6hWg>?gshl*ox2XKiSL}y(ry?^ zy@o4MIIW?;WK6+}CK&xtaDYtSxbbK0$}4?J{kdrJoV<6yE+!p5huB36P!2{V{1Q!z zEJNkNRc;oj4l00x02x}WWJOMvq3O4XF>?t`#U&TndXUS9On)NKUfk!6d!99#vs}!V z)Zyo8j9D~AGz{x0FEP-DN+$Ve{jNK2T+jqiXFhUT9M44rw#@%%X z3+qc9C}^ug*yj2xOgr;L_rgfj0000P! diff --git a/graphics/pokemon/skitty/anim_front.png b/graphics/pokemon/skitty/anim_front.png index 7f0c1ab4ed8e337da0519d2a02da9727e0b32b42..a515965288be218469754265184a5510bccdc558 100644 GIT binary patch delta 816 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 JPDHLkV1hvP1lRxo diff --git a/graphics/pokemon/skitty/icon.png b/graphics/pokemon/skitty/icon.png index cb585a363d9fcd010e0c8d228453d95a4f564713..1420b42b39b72e279875ac24b84411e25a7d40e0 100644 GIT binary patch delta 279 zcmV+y0qFkD0`3BkV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mlfJeI?%j z007ZRL_t(I%iWTp4#F@HhWiFpyisRCood270-gs1(^RaQUa~z4VrC@E2|B?NiWn_j z4Iu;p=lZ38dUyR8`>k@xnb!&7RXqg*(lj@MArQVR9pkRnS;# zJ;)FZ9t!0nH;IVH?KJ?~AjqnSKn7iAsMq0HSOOU06dJPtvfNNK%M9kNj)z-!t%?D= z2%+*A*ppb$WFfAh7fbx-`lc`}5ynv>jHN`F5b?qU@DS$tyQ45}MTsy`W1}$aU14f=;l6LbCSO4MRc@aPGeRF8y;KW4~2y(nB>NP*!8mp&8Hhpd$ji!ZC1_G6C#S zyAGud5x5|hs8yQB%(>QX>S!BE0#iN10nE?2$2?> zp=U4?^Rr?RST|=G19s(HW-+iQzA!NWSC4x3`icKs-xP*`7sio6UKmTj3qvD87y@3H wVY|IBZbi%U!bBJAg^AztmN07K2mip22W`@xb-nk!NB{r;07*qoM6N<$g8Z;*yZ`_I diff --git a/graphics/pokemon/skorupi/anim_front.png b/graphics/pokemon/skorupi/anim_front.png index 2120db4b0f682d3418375d422ddeee9aace41f9b..79e4e7a23a869f40f6c7581375b196e23f2b8ed2 100644 GIT binary patch delta 991 zcmV<510eju2*n7HbbkN`bV*G`2j>O{4mlv|cFg+#00XE=L_t(o!|j&OYui{5fK{Z6 z=_PjArajsr(4(8DNb$CZ>}rr}^_CLwHRv(gki9H28kU@jx6A9z5aA+U<4bf3?2;Vf zTaV5k)lr*JNwL)9vfy_x1OCvPH}A)MnzkPQ^YN(pBcLN{|9>~2wcV}!x2YMf{H61* z^6PEQMLenoS{p_XVe4>Q3mkn=Re*lbo+AFH)J7HXVaR}^#+9qsQy&39RIgHh_M8DQ z_p1pJ0}OBk)rD-tgK0oi{S8gGkN|4{10|rJFYkr{`OuJD?fg3Q_9j6-v=Ead|IJ_9 z_c`f1TO8`W#D7ck#O}6D;a&J53uExo`Q&?2{?I-hWzmi13>jzuqzQZn^iTzhE6(ci zl0%!Q2av!Zmm~>d0O0LX4+K%v6O2r9IrJ%7EKQ`v65N0yKOqc;`hTUZa8AAg*F?V1^cYcwrQ1L^ z4BYSvc#~$S$wcX{ZBjP=X!0&L25D-^;uMb#w%k!)LaX!CNg9x(=cN>M1=0m~XL~p{ z(PhOQrssK+2S=6jLaD~)g_k(-d_H-25VOpM3DX!wqj+5IOCf~d z8-YF^uYW$u=)inFhiPQ}xe_o#^Q`BAuzBxSUOan$nrMRS+z;hSK<_rbWo|o8{S&8m z*L`3;)}x|@Z~OpgZPni&sOkUQmNdXRh2Z|q&rvmy83f_c_OKp!HdIx>Zs$4Apw#=y z{(tz9-@83kDMGqZ+}@oUQF@sHQ1=dHEe$5Mg@26W80uZjMXDuStTzlUbyRN{5{icL zU}WvJ_B`m;@mcLE8p$jvC?xC`!-NGRSE-#QjrI#+oXpaTT+-ZDM|V~3*jXrGFw6Bd z{oozlbs7C&%wdB}802=t-5t|)Hpk;jV>bgnQ3!cOvG@KyU1oJzT-tjKgmIsGNiIn{ zw0{{e02Y^4$d2Qq>=){25S`rq;|8a<{{j+m=R`Rw84CMF6tQ4rhJrm-xqi1;`jgMg zfPQ~{ok@=W^EnfRz0_Tw1&A#vV9D{#S$dA8<6>Cf09F*yiwEo|<=eEG`3q|dp_j&7 z#*6ZOZGTl5YCgqzdd5w@4E)qF1Bm!hXjn`0LiRjwP`++|xgf#s94c{ap_3#J3`JQI zSX N002ovPDHLkV1g&=>T>`9 delta 988 zcmV<210(#!2*L=EbbkZ5NklYEvtSzJbNA(y-Fe!`d)S;+v5DvNz z@9y1ueD@RL(f;FBYy1a(9s9X4-8DiDBQ+W*%YWrK5R&8_P1 z2P)=2k0k+EB_Vje^K(=VWD0`taC=w{JR7PqV6Xk0GbnXhRzm0CGrxBoRVsuurFgvC z6+-Ff41lV4C>v?;@TtvP9LE*NNEV@72SjdMy^x44I1?dZk$Zhi(Jt>R!4WPY+IQtVKB|jHEsV5eV;Pg{+Qi5 z88FD5hO;-O>nz8UOMNc`{-6-@62c-6U6}6n5rsL(e=))!I40wYr>*kvi#FLc_(eTD^c+{Ni*DWlEKy`P9-2+U{f78jN!KjX4;f+eJt)-=hL>p=S*{FUZB#}W-e*gz`Nliru=LQE3IVGALICKC20zgSbK~zY`?UTK4(@+q= z9a-wqrOCwXE@g8$%QT@A?_`wx8NBGMh%u3$5L3zG5h-3g<0YQh+l{dv_>;JM&n8jh zBr}K`{66mI`+lDHU;ZW;4A1CC*QbF|5S}&=oH5{^1Ma?Fdx&@ne+UX9I!@f?uM-C7 z7l+dyLmr8qH0N{G3%rUgu=qAOk}o)b!ea&T(dy^J;3o8jSABpD5`$np81@Ddxb{3Ysu$N~!98e^8tV+)Wm9pL~Jy~&;$ z{`sEET{dnhnZ=`rY7}!WO)A*0~j*xD0IYYk!m{mMG>gDubNIw#QsIC?J zgM-&0ty@u~Z6u!!;^FHNAkkP)>I#uF@_IZVMYFAv>D(N;@I?=^daEQ&rP?m;NrW2M zf1zm1IdGbvUzz}^_ZGQ|Q7m(14&oG`keOJ-q#-q`2PoM(1K)W}T;2a6`3=xuF*pFa RH!T1F002ovPDHLkV1lc$DB=JB delta 642 zcmV-|0)7461?mNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z*keK~zY` z?US)?+dvG4WeCWUCHB-=S<+1@1vPdv^#~RAWAqFPMn@Yu6rEBp8Vgv9=4!E~?#b3M z8u~~j@1)v@WqWQ>4wCNpi9C}3dH?ONvcd3-e{_8s7zN?!0Ku66{yE_8>$Qi7r+}a! zqT|GE{yJfRe(`bo&yYud;wR1ZT=fF4Vhb$34UW_c4xsQ@LwvOU`7pQ%z2Q|KU=N8w zupSKig7_!|z7KBJqu!=5AeQHOOdsF;PxFeUnWQ%e1sg_V#t+-g7%#pIe|KjQ4;p zly<$Y0VWkfvIjVSosx3Xs@bY(2+0o6yCZnsL;x&84?1~vAzT0pRHc%u6YWCqrwY3a zRau}~@zPHgW$Ci}0Ifd#lHDSQWjp%uF8iLOSRf2+I2%smKiNA%rpe<7{R&`Kv3Ar; z^ZikF+MUj$vHi(C}M}S0QJ*g{1uE^_M$$%8iwo25wIZWY;A7=Gd zNtsHuQ{1x%HE{ky(U@!CGC#iz0n+a+au=gmbY%|CDL^5bSj40uHL3?FIXVO1SthRU c|BQLwZ_r>dII4szO{4mm0cqb214 z008+(L_t(I%iWT(Zp0uAK=TJ4`U$u9)Uw>h@0o>2oj|IR-)W^vd_&ki$_&cQks|}yQiI$aj0uzWeJO@B;cKub@?{Ip?-&9i_1g{J%tuP?=Xwu#@Ftix z;|89vI~=LQc59Sz(B7sE0I?$LF85w;q<7=KH{h7Ke$&|en*lYr$suh}5wrxyEOoe^ z2MNF*Vg)YMF*w;pAqH<#002ovPDHLkV1jOIjsgGx delta 284 zcmV+%0ptFb1M>oqV1NEeL_t(Ijn$K}Y6Kw=K>dR$@(I`HNNle2_r}JBR0?7DcM=Hr z5!>uFIXN4J#mRxXw+bmjn#4wZ4&#jbma)G-T(<|opaEVm-vs$*ni~L*BX85h7tv;o zV|Ndnhq9u4k`VKPFrS1n1J|n~M-WxX5%p@Nv|gC0B*Qi0tAACeXi5mJ?`SPzoVE(y zSr`>I0Fii9`f~5(Mkc-NdjoQT+Flv-kNl4Z z^x!5(YXf&6T5wFQ4%hSC0x$>HflGHy(lsIr155o-MHr|8{YsehV_{S$jM6({h&btG iCrtLE{~5mV;}r`<+`9csif}Oi0000O{4mmCj&f)w300L4;L_t(o!|j&6Zrd;rfJp)N zqD2H@A@$@60yHax^#F!~4p~?PbnSGhE0|BBizC2LdVe5-_)WNfsyvWGJe;6W zEl^#->e5w)}seSJ;C%K_j+(1 zxE7Ck5P#K|pa&t~s0UGg33^a$E;N3zf*us)kq&w=rTxLliUinrZ~K6rTPJ?%0pRxk zLx9o)W^JDyC|VEvr*CPX)dL*3nznjC_ys78*8?I4hpL)~%lG9N(4YV%HBA5r!C*~A g3kE|a?SF4S0m@Cr+mq)k3jhEB07*qoM6N<$g2v=9&j0`b delta 641 zcmV-{0)GAP1?mNmbbkV1Nkl2oD&7qw9OO1Kw2Px{Ac|BL|Gt%JYJwy4#=te0DtnTnDezJW@rm2HBZ)f z`Ut#ji2L0Lz^sV^TqG?}5Cx=7x=RRw0m%^%N=?uqYFi$X@EhY}IA9``N*KrH!HaeZ zY6UPl(Zr1)S264<3fM8k#TFhD2RPg=b_~j3~<&1_Rr|SR4n~^Fx)MB^kDhhdJvpC?XP-}m*W$l(}T?F!6oup?DQZg zuR#wmpnB7TAiD-V$TwHyksYL<2f6o12R)ej{lQ3L!;dlAH+?|QS0{Sv0pRQZhk#EH zSkv_Bf%5Btef1kZ;Pik7-c6kzc>Dqs#_EBm28XVy@b+y(LeqpkptgWVFj!sq1%r{2 b_P@t>%1y@Gr&cg<00000NkvXXu0mjf6W}zF diff --git a/graphics/pokemon/skrelp/back.png b/graphics/pokemon/skrelp/back.png index 54315f57c4ec5ee73f15dad756a60b72a5a057af..b94aa591650fe7fe51e07e518b104bc313e08116 100644 GIT binary patch delta 505 zcmVufxYP0P@fcOfhu>CDzQ9zeKDvmr0Nza+gVfB;l$Pe+Y0&OwlB9ku3I2 zCs5R#n6QEh{h5ZD~jdNgaXp^7+57k6P-sU#vXSAG1UN% z!V`(*^&TLPgH97gyoBBaj71PZF3GI`CYZ5^?yM3oC~*kR!8EC&M6JMaZrH~-)qQ3F zaJ)D^ME9AtV4QP;f5v$MGy*otQ;d6sn#U8|l_?^X&oJNXQ$F-d4bVYw`YJ}(p(sdh zXmmoKxTs7^ucCP?=m%B1HLoP%Ov>lab=!XBrlltDD=F7A`QFMCpkKL0>d4JSfCGSC z2^2*oH->pJ?XafVeH$hkvqlMg z8=#{E=R4TV)AopU4^KaDi+e5RN&tmfqU2oP-P{Ir%Wek(>@Jf6!1mIU2|B6_hUcNN v{#hWp`cx8U0dyQh=OJ8u4wu&s{MYyaWC_|x<`-L$00000NkvXXu0mjf{2k|c delta 514 zcmV+d0{#8q1nUHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mMl}K~zY` z&6K@r!!Q(u<$^L>7@Lm8ly)|vet=Tw>JV&FvP78NxebNP9Ri}A`x5TbB~xCmSF+_e zk);fU(hDJh`{kT_^hf@@0yqNz5BVpKOemm)Z%&4QS7HWZ z5*O*S`B{OM5X&Rr`r*ERBZ8y_viwNkar3%v2^B(nL_>*-4c593p@A$r1vY6PLV4t3 z=yBTkA{iY*tyM~B1$}YOh+VX-z$kE7 z+CUIzCTGqVJ3Tl7i|%q`k#Not8ukUlEl37^tYKDG^LPr~m?F}D{TzyeKK8?)G5{_F z$FK4r0A-1Ceb6a>;&Nf<=z!H*iGNr$dkg4N&ZT_%+&0ZuVJ%fV!ljhkxqNS=1++(Q zB~2CMLog4(x)HF-h1}UOXkr|;xOd++K;mSj1wIPmsJQJfh_m)*`h-fk^YsxJ9d2k* zc>84jTOeS}58zT=GGBk9_S5x0O{4mmja8dR+S z008$%L_t(I%iWT(Zo@DPMEwW+I<4+hE(N6j%HXj>3)EW|3(a3}NDNzxIV6TzPQ`I4 zIu_BU!-?V@Uf2EqV-0WAC_SN|Wdp$)aehuePl$^$uLl0i!hePnU08zR7UqHi-(-a~ zNZ(E~8ut1zRNV8J_Bu5fN=9}aON@4ZZ6T=jvf{Uv_OFCPcv(tH@aPa}Ti2Rk9XXYDpD%sVt_(9OyM04W=DhJuJCbHNEJISVRoabSW_hKy_2%W3#TL!B=3 z8Mm6pT1RSuhBo6}TL@$KvSJuYy&w)|TLebcfeAD?FtH!a7Wwc>{>;ZW7fhxG598kH P00000NkvXXu0mjfTOx)h delta 279 zcmV+y0qFje1MUKlV1M~ZL_t(Ijop$lPQ^eBME3?h-L|2^4btwtevy&_B+}7j1-Ebk zQL;^3{2#@*LSrgQgu5M$z4qv(^!Lj;zNk~aLqY2ff_36@pTAp(t1@o}{=&lWPUONG z6t^%}6!y8S_G5_Ge&06@ydTp%D~DO_=aN-2VhTO61m z)Un_i_HY?r(a`3PsEYY)fRt!{V>c9jV9GIAo7K?m% dB){h43l~hL1`t}Xa3TNz002ovPDHLkV1f`_goOYA diff --git a/graphics/pokemon/skuntank/anim_front.png b/graphics/pokemon/skuntank/anim_front.png index 52caa25adc046ff6fe4d18dd52e746d1f0dded3a..e90c1db949922db59895f7f769b847fd83a4de00 100644 GIT binary patch delta 1272 zcmVL2u(k6o4IRBIVer9g%h*f4Ej}NEPCWvBSESy; z1M}F&?(wNplAC~a2mlWmbB?_&0f=dxdIo3Myo)UX2n(4I0C!v>8AOhfG$jp2(;PoJqNX zxHS=QlL-VeDLGGTq8g+J0A)f-`fSeRe?3J630RZbvtDil*2EU~t4vdh#2LU6r%{N7 z5zvW9EgtGb28@)8qL66;fDl>0ys+LXoQPywz_i$pd<{B)bD5cv$28rdJo7Y%>~e?Jez z11uvKFY&z4OS#bYi4Dx~*Fi28MJ|#h0wR%8Xa^>Stet)-2R9YKIQA<}yV zjPU~&@#k;L1_5oN5(s;o;yG0NYiYVR0(bj3@f*)n!PCPyv*F8i`N- z<_%yBFU+k1JUA2F;_v=tHQwM`#_qbY0yu;S=uObLYr0}Oyu+7>G5<@OCWQNq5e&>M z{32p==I6prHZPeT^ut4vp3OakTQ^x3GUa2|MV9OUupa@j#Bj^jMRs*Gf6{?j3+R?} zj${Tu&S#Ii?(|DI%5Wt-J}q|uMBcx1fP3Tb0wzaC{@%KA^)cTM5aJte+yA9?w-ny0 z{FdEg=lvc1_#C>O0P7eLEgvvFvmqE8dH{gOHUy)g2Nj@dtyY+{5FO0VreM?|iVCRpq3nk0US^^< zGk6CdtOcV)z!5$`;2|-Bj=2Kvt+KAODLk0tAVvBT0IC3x42g9he*)qR|K=m3$QDa9 z5ZlBbPE{qLP-f9qGV}-ekojOB)V4Dm!Bjg*!471M|BG}X^9o4Q+I}dt#7Yky@K(LB z0%41co3&qnP}F*WC4vTUg9o}!(pnF&ED%buVCwonYduhf=X!#5ThB7B^+3HuI6~t% zto5L*T*PjU(9#1kf3chAsighfeNEPCWvd*dG&$4OV>w$eUTk?Z&IdvD&1{l13rHd$}~4gP~S0H))Y7jZn= z7QW|rc+rpJ)0)&R+&7PXbdOJ+lH3HW0|0o)m~-rH2|!Hi)H66k^DedoAS`4aG0|^@ zZX9<2%1q{m%8x&Tf6h8W&txirtFk!G$!HT`u1ZjvOAp!vfynOK&rY2W=;5dZgsf!_ z*ooHpKmo&f?H|O<<<5y#0xW_JC1a_amPmYU@QV#V&WE!0LlCV5u7ER{YJMQJ3ZR8U zCM#Fiiy{}v5&@A&DYOFHN2!XT{YQ)rLk%B)++YzEq3A9IwCo^7Wt1 zv5p|Xoe=500>=0Qi}?GGWs3ltsD=;t1*6c1zt(_3e|R{!1;BRIW>}nxG~di5C+ zB2)mSpGV@ee|ZZS!wYk(01wUtxA^=2SUOw7AHun(rH-SEM%EzvYEZG5|9|5t%aLY}=xH=l? zz^nuGf6JO9nZd*P?4bixb_qurJ_!$x-5jM6dH>!%?oFr48kig%?ebN{e!BDFDg=4j z|IXef>u(vnrP0zoc0SzU$NS)RP$z7$o&)!9U}7@9&AV?LKmawq`4)i!0)&9>Ao%Uz z>~M>Q3HN))KEXF%$%F1XLJ$v1Kd6}jGG-$Pe=&X2Bib~e`rt+Y)P<)_j8liwxD5nl z^4d@yTsXNHUvgX9#nvuwc23PLiDgd zn*yT=QB*)9A4)e&_p%dvGlTc=##&&M2xx?l5LhKf&@*e`-YVxho5GDbCMnXF08j;h zf5?zH2O=QO@NYgcifpk&1!9}{;8aZ#3S$=4N{0GDt}-7K2(|4DGni^8DX0S(VrEe>+1*9*~LMK2IHaV5@n%K6M>=5S1C8*8*dV zKe{|1CE(Tqqbm=h@;(ZT?eajqw*ZLAumqGm;MeOxEKl diff --git a/graphics/pokemon/skuntank/back.png b/graphics/pokemon/skuntank/back.png index 7da4204c9705d0f4f968b89fa33303e2a4cd8fe4..0b024862c20a8c0873a29b2ed9ae334a92fc0ade 100644 GIT binary patch delta 712 zcmV;(0yq7?2CW8=B#}W-e*gz`Nliru=LQE3ItCL~8pQwr0+2~WK~zY`&6LfK+At8u zgOuEB#TcYMMP%4>EKHVdFGNdvk4PP^E2S~VA|aM1=%e)cI{r+uKy&G#BLx!Xmzn>3 zm>~FP7Hvm>*AXD1=}3SPU=q{qNQPuA!*UE*=7(~GZ*bT5sAv>b$gdz-C=uIa8SWy&X zl%N&Wwk$p_0!tKt8~{-U6-*;|IiB_b+LIE}MTnF!gknm2Nbv#4;iA-1%U9o&Fiv); zXGFd!WVz$E7^t83fBdyivc@%n_F@ zv}fy8njG41vt_cJPI(8o3_sihzK9AvrvpIMu=XuG1CTYTe-mLPGo!St>ry&@W4B@x5{)YbAuNSUg?6#@^j0JGb=u)xc& zx>c=YL!cP>OL2V|~8%nQ%}_P`01Fcu5A(;Jo| zb3jQBNB~gjK<@BmqPiGh0~a(s6W{Y8AkK!UY@jM-K65npBChb;dD8=U8ieFTPF{qL u&XwsvY5>u<(%je-?mlyXxl4op!~OsW5CEeZksnI{0000leK~zY` zy_L;w+CUJ;jbz`u^0FZHDXfK@y<%}ld%+6s-NIdSjpTYc76}oappVk$>+GlP0QIHn zNKOp%+nN7-Y!duCi?$=c>j)6hbR@tCFp24QBttTmVL1jY^zUg=Z0~2#z@&&N{RFAr0n%EjRJy?xrUlAo;5%OB(GUyQs17j4uX3ZaxSON^>=m5fW%Jx{DfeBY zJW#9i4QH4mE?a2N)~hr*wBKgSWI3Jk4saQMxDWUuD)gKV09C`|BpvYe_lBEk0#K5+HEZkr^Gn_MVUhhz2&Q)}=@rrVDv2NtpstoLLdsPA zSt0Nt7GTH#3k$sbs$11cMpRG>=#97ieBq+fD@ByY199wsa=_HNxjABQ0JRoL(uqJw z4=c(A5KjQ8KEx2ghyWa$m0{rALlI)HjzR?N0DF0`a%$7DX@ZH-V0SJ=E9)1T>k#t- zG=M#DLM4pF0`B&PrN|smk^>R|R63Bme3_^&2H3y@P0z&ldo(3T^IgyhWp`&wUI*=Mb^sO{6Hidi79AMr?{!{)Z3xYog5CEeyx&0*o0000< KMNUMnLSTZZmrZ#9 diff --git a/graphics/pokemon/skuntank/icon.png b/graphics/pokemon/skuntank/icon.png index abdc48a59c3eb7a850dba804f83bc0f1ffd41335..d9cbedf0f338e1e429c993046ea8d799805d1520 100644 GIT binary patch delta 75 zcmey)G@p4wya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c@DX#hv>+t%8Apk;&7= cF~s8Z!gNM~f4j^Sfr=PBUHx3vIVCg!0Ms%Q)c^nh delta 35 pcmbQw{GDk+JO?9_r;B5VMeo9XMuB>#o1qLq;OXk;vd$@?2>`&K3ZDP~ diff --git a/graphics/pokemon/skwovet/back.png b/graphics/pokemon/skwovet/back.png index 255068d20479d6c3545248c02d41e4a8daa7682f..5255f89efa9e6b9c05d454619872440c55cf28bc 100644 GIT binary patch delta 545 zcmV++0^a?T1&0NYB#}W-e*gz`Nliru=LQE3IuPfAuap1)0qRLaK~zY`-IP&|n=lZD z!Ro%_lmjGQvVNxI01M0kP$io8m6-Gy$@mOCLT}r#0oxGMN`2fBLPYb8=bzt>ljQS7 z%K2aO>}yrk*+H#&6%|GO9tB>hkX1J7IPktKKoM>7N_EApx&buee;fmfTf$lZ5b?C> zpD|N?JRy_}8e9E^ytqVq00+u5p5!I{B53E?B?rzk62e! zw!8{~v;bI$3m6|50iC0gJS z04&HuD<{?Wca7LNe}IPooYaJP*FS%EF$omS4@A`Z*D-(=(5j1S1gPH-9|Y(js*&Q& zE}*qj`3%^+o{j*iml&RaSY`h{{w(x1N6%n%o`;_V8Wr>TP@9J-}kdo zh{F>w0$lMiuE1jE#fg-vpuHNUYtn61QupHe(9X)$ZKskvf28VB`#5h!Q0b^cKy87V z07Z{)G1>-a<~!Ih+ig2J00000NkvXXu0mjfB&+~d delta 555 zcmV+`0@VG71(OAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qjXcK~zY` z-IPI&qc9Lfjn&!X3$@mO?gud;R4aSC;8EKYXiXx(V zRrTxJfqcVA82f9U{wT{T-KjNSd5KZIM}Z3#($Yp12j1rf7||gYtjllZ4WQVPyy;IlxSu!T3NSDSTD4J)0M)CM z4+L}{)rj$G8)&_#d$=G(Df=g20JzG>;DFgocO#(^D#x=L#4@B^tHkN~^`RFlo!g5_^bo5D?c=l- zfu(~E0ksAy1QdRM{D{F0I5`dOlni&Dtg=8IG;qM!2NPVLFBTgQOpBkP)jn@jO8J3# zccnNIN1va7o^yZiIlj8Y3c&x)_GPvP7MFcoJ{ub4)KfozYJGwPNyMW-PuSfA(t*8Y%G{yQHQ)wLoeFX3Y44N|m3MMd zu%tUfXFt5%kN5tkCuBm-HB`pfB8Co3X+UgC1I(#!X#tAB*8*Y&e}O)xx$wu@YuJ?1 zv86w!)KiKJdMH&6gT9xdh5ZkBCmNgv{TYV!euY6`jBx{o=h@M%0?-!Nmyo`J&%OMX zj4)59l*&nd4^$LHNYG|g0K%B|3WSH66C2o?@ovwuO5D0|A^$IA%J)I^ZnQL zvkY+noe6iVFI?2{ZI#Cd5KOvv5F4@CV*m+c$l&6K_)?_2QkFpDgcSAlqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m(^3K~zY` z?b0zz!$1@V@Jpe4O8fvN)kf+RFMfd7d;%p2b`0bNbqgd1b#rod5L|^ST$}_eUUnxx zll+rO zbY$xLl)6f>MK`6&VbHICQjD;^f&0sV-$8eWVSYWK7Z@YFfZ@7Uc&q@l0oD#ApWv{Q z-;@!i$%In5$?Jf!AW^mt*more+F%G_Si)rkFh|e>u+nP?DGkeQ&+C9l0yqLVK43{O zpDRF$zqs5EydW62Hk_^DtOA$X*&0sgrC2C)>&H3pDChV*~_wWq)z7>Kj(D+AdPHLpZ<R@!EqGig!LVF#zJelQ zEbkpKgj9l54KsefY^=7iN5SH`LDkeAs;W_whY<6ZdL#Q002ov JPDHLkV1l@9==J~r diff --git a/graphics/pokemon/skwovet/icon.png b/graphics/pokemon/skwovet/icon.png index e7fc809164ac86400b72fd71c3103390870dfe99..bc8855f43321d459115d69d0e4e73117affd5a15 100644 GIT binary patch delta 294 zcmV+>0onf60{sGzV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4muhKS4N5e z007`gL_t(I%jJ@>3c@fDhWiG`Ep;p?sFNTa9DNp-bZaTXos+NNGZvwvCKc@FnQCK` zK7rzG`Saz%9bXiEeSy|tV3MnM5=&qu1D@E(AnE~!1Q0QC!GEIwv;cm(-1D}ou=E1X z%4$*`T@PSe!kqU6+<3n@MJ*LQVJO>fNNVL?H0#;&KzuA*%jSI9FlY4n16FCuG`z4# znv(JZn9l2+ioNkA&TA=xWvFgme_d*{uJHOFD>O((26e&&26e&&26e)SZ_ry990}tY s^b*EQ%3S-x03VYxs28Rs(LXKB6E)tBc3{l&y#N3J07*qoM6N<$f@6Vw#{d8T delta 254 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 R;Z*BjU5XU74I_t?qA}s~`B~j}_A+3T%)>@F+ z0R^%}4t{Y)qrlDSU|vRPFupZophLe(*OKqjd(ThuQ*;=X_rH5*$N6u6 z-Qt7a_*3tf{;l-*Szt>gKTPM%2hNyp1BdD8fD$wSm+}^w=YMp1>$3~j>1gX10&%X- zot2alvGk(4W=KQ=b14_+7Jy~snH+8iWIObIA?P?jRRa5!@b*m(mvteg7@SG&bSO4M ztnx@q#i+KigU1Duf0|_`fzt(J1Afo(!E*x92ErPc`<${nj{h70 z5w-HR=L&5E^em0qjyQf>-8eil0Jk+NE8bC!8zX{%@gv~n9isHsBAx`;0CB|}*Qk69 zs2ia^{unsXZS*&QzA^>WZKy%KSX_$B7Er}a8wwcA7Ju?~V%OOF#4Vs7$(dY!eq#u= zIJ=R^jR?=-B3jJ|X~s>rp2kBFXy8=MY(jft0TAz{=}1g;4MDSJxsOX(ZUBIEG!({i z+HzLm5=+Yu*NtBRevX4BG8+IpLr3Jai&tR_fMNsC$abi+p8yC9z#K*tmhB1$FCJm`r54kdV2y;m#WQYT(l*wTew18FTKxsWNQfP9uZj$ z?Aq}xF~HQ+AfVrcIXwUgJwYCtIbM~X0VqWm3Mh(@egl!$U7jhxRX}$xk{IU21q4a$ zUC)sKu7IIP$TiF%$SoinGXwMq7Am$CKh-P83^5?|8eZ7I>8S#g1kUa6n+&v+V*~V` e0<;R}pRgbJQ_vG8a%%Jd000050Ucc`8j#{lH~VSdKvWl>5&arVo!+?dw&;x7K?|m0N|++>uWMr zXn<z&DC6GS$_ypU7;l;Ut-wer-9vqlneKb(>&0&yL-*VDM*c!=s2Z(nxTP=0@ue< zdLH;Wxo98%25XZ)v3~F|7JU2gV9tGbFp&=rCi0;#eRwdD4+kdl;lRuzA0ABP!-08= md;~D(K6u?<_^|)d#~1GG2oGmsx()yU002ovPDHLkU;%=r5~q{^ delta 352 zcmV-m0iXWe1GWQ@Uw;8XNkl1pw6o!2R(+=?%nj9cFf^=$oml~w07GCsE zmG6@Sbtq(L4bkSN7$nFLRg#_5N+D~g27y2Q@5z4tlH~d;JqO+HbY#O$?2#C;bMQN# zKMetZr$!XFWJqX$YR1IU_Rm(i1QS5f2T~3Qz7m2Ji@tzMF@MqBgbCUA)JC!TVZB+Q z9KZqM>t(<0SQ$#v(o}Vh_x&6F48Ux8Wpli4@H|ug8Y8J~W*Mq`*&=`~Rgz=?Q>a6a z169p3&rnxY9o|g4L__XwrYg$M0000zjM-H7{|jq=*pYedY%s94GDK?m-Y#Cawvpyj-mI^84#E)EmTJq zYtN|@Ix@AK4!Wj`&UERZgZ6*%c@vJG3FoMHe8)VWygx5_K7Wd`&N}~SxGMCOb%4VD z3L*gjj+2iEGy)2)OG6}L2XHAg#0HB2oH3x8sbu5~ZcPxOC!lWZ@F<|7w9=)M8tuja z;1M&Fm6yk7Z+o)32~Khu(3zG0_^y|SY?W_1-V%`28Mt=8S5mV;1SS`OqOKT+c0YZR zuLBVcRacmp0Dr6i*k!44dkV7WQY=P!(9)Zs7x z=5FxGn(T+q4P$h~Z-4Z|9<Es;FbdK@G)s>Lq+bL;-QrRH;9%;JG>}B# z4_#Dx!4;@Z|vDd7F2h9emOa7o$eVV$% zn_1}(HNJQmruNkTLi_hO8=)TTEc%1C?ca`WiE707gQkwQ{n0c3TO-CF5(k3(;cjG| zdNVQp;7Wg}h}K{D1FF&fuo3!$8Y-5E@dt1159_SV9~CtDCFu!m3;+NC07*qoM6N<$ Eg81Bv+W-In delta 797 zcmV+&1LFLQ2k!=uUw;DnNkl#;})Gp2Z$14g}U_e==AMKR5!p{TLm=PD1Ur6Dnqf!HY{faC~7j;=6F<7 zia-ReMS-d&=?CUGcU*1*5gkR7WWE683gA%A_Dxf_vP=-`Sm)+s2^>_>DFE#3R9+d3 zh*A~taC)%>5Pz`_es)T93ZM^%A4bbfPS3OuQ0Vr3pbl-I6&$|YqX3)% z?@@KoB|y}9HgrxI8!gx9!*0uHqh9JDm!t^rc=LMHhr#C8F72k&TzSxZVe|Xv+0D^= z*YLJmVl4b%azUB?a<6YEpNz$MSg4IY;J@A34|CGPJbzYvVlTK88HTsBt)DI9q>duQ zSWl*bo1o`-es_n%A^HHtnT{uc7P);;5E){gu83y^aDFuku90t|Lf^UKU6Dc*KMyP+ z2=Qd08;blHW%^C{OPVxk()>5cu+@Pas;jF5Ia-H`mJEoxZEXwmL2Lt0Fe<`8R3olW z#upF|Xnz|q+f~8B>?2_y8P6Y_=*&`uKgjlQUuIAg{t%}J(!;{psi6Zh@`qJDARuR6 zjyVVL{DH*)#*52wuEuk7Z9I=bf%G~V&`cnMI)#(duH!Q3AX&wm0lkAU_Zu+)V=1n!*tVRtDQqOOEr zg#2N^NHBK0ZE&F5K_zn4GOA6NmL9NfQTRiPMIR%tK6Ss)`Q43Fh+gkuo+IL4Ey>2?fEt4xsuV;@qw=f50+Fg?bH&ZQP?@r-X+xxIVlbY-xH56+U3!D!(v@xE(v@d$ z<}vgS4BZ-&ehGo({rKk1HxIP4{-x41ou4RoQc6c-Xs_Qyf?fe9N`7hO>ZO%0-e#c$2Jj^5%;@Y&-_3oyY)c)fZ$2_)bo z%_c~-g4RhKnt&Rx(Q8V_lv%BS-W7>jN(XE~)G2l5ZGcWojm;K-cwz2VVS zAYdOFlmW(qa9Nh+EF2t7gdsQffE~s-p7v3TY_{D>qDrcNNDOA5>jDY1kVJnUGufm%n$#En8)H)fXd!mcs~q@v t-u`^mfr)MONhE>b`&scNpY=D=v|q{Z#6@c?u|xm>002ovPDHLkV1k=e;939x diff --git a/graphics/pokemon/slakoth/icon.png b/graphics/pokemon/slakoth/icon.png index e11811efe10bc7f42080631d15f0c50b712a13d5..ffca28d04d296821edb37837b0918520d4f2bb59 100644 GIT binary patch delta 316 zcmV-C0mJ_60)_*S7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#+0lSFzx0002#NklknAQF(9Peux3RGB zSdiF2VzML_jLSZFRTfsp?f5efSiUU#^&{Qp8D^D`1}Ya*N(n$AWO|7~kE+g_9twXk zvD^*ES`;*gCaZ)SHmt$BFhezN3VJs>^iX*n1BEiJ8TPo;Fs>pdH0bkPoA5e5c--29 zuEe5x|L+})MJ$z7tm??90?1%?0-Jm5}{m(uMS^IDtWaVSzu=L?MEPZ$m zcJ>iC=!Fl@fw@g^2;pTMqQ4+j|2`+?-F;LAX8u O0000PbXFR7i>KR6z>E zFbpdV$dH5e|KH9|mo{;dj$HXahYj@?Sz_Tc|O@}3rv8wnu}@DOiS=HPJ6FVso?v<>;#%o1*L_CIjp}6><+aA z;vhDJAZJ%}Te(VqWMi2!N_W@TRyswtYpC*Er)?!R0m``bISrr2OShv%{=tJU5PqkT z9)I+X$7TO@KD_O}&WCFMRX&{dU*tn$|7kw7_MhiNV}E!&#C+)NKZ%Fl{+Mm8vHvt4 og8e7)u!Zk6iH9iv!2b|0;ztt7x(>cD00000NkvXXu0mh|f=8T&$N&HU diff --git a/graphics/pokemon/sliggoo/anim_front.png b/graphics/pokemon/sliggoo/anim_front.png index a6b839cdd08105eb2f8047edfcf2a2d64fb258af..a291ee4642c947e51cc21150350f32f492ef513f 100644 GIT binary patch delta 847 zcmV-V1F-y;2cZX$Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#+B{+XWD z00097NklnRH9I1(*7VfB!Dh1h^dmSoyU$L34}rv#Q_5(q6mVW!V`{SEMeNs;~UWofpY8$ z^#dxAQO*H?032lWI+mk&mjx!HyiyzxXvzb5y`BHEvc3>f)TanNxuM z&yu}*V*irAyh2FshFf4vT}%fk0S5v`?3v1PP-Kb}fq5S=%VA2*5uRuy(n=i?K%+Gh zn1%pW7{9)P8NeGduCFx-479%2b=_P+st90f6Eqq|yMO*2Uo{;tqpr>?tN{zzsF(q8 zY(QijP;Wpfe~KL!H(x=&{o)6VjT>{KUu^xvYvaaqZOoPfjIOt9?^4xWTx(PKH?y{H zn|n)0Vz=$f1@1}V0|u73!Q@3z_*ZJMTCIZre#AZT@YgYk$%`pFa7Y1J_ewwFA{9A|Mb7KPSTIMz2?zs(&>BirN(MkfDJufFwf+GwX`nR}^b0?* zY7N9Xj29TRtzX|_iai==Y>HjNahwD-2+R^m>%(=k0qO>K0%AbH+TZ&-AV10dy?v)O z6iBnNJ>FXdHg#tp_u6c|z+I~k)(-Ry;}^zFC4EcfqArKuADm#+>!P6ip%o17-2c0R Z@e?6hc&9$#e`Npw002ovPDHLkV1nNqb&dc4 delta 837 zcmV-L1G@a72bTwsUw;E4NklFNY#Tan6YbrHS#S z_u6Ac5fxI%8$gX{lA4MKNV9Q)6s0*+5xKFqrKF?IGcdb*i75787m<))B+JEoo|*N` z?)*{omo426`(x1$1DOM26et!&Wxkm66S3(00;I|cm&celgntEMA?kWR0A!+$qOIEF zPEsym)aCJ6GG?F|*h2k)%&Mde0mK09!wgZ>^wXUnFzlC883K}$XjtMJxCkOa5{DQv z&@h8$B6&+R;}6X711v;h$I1B_# zj%lDq+pLD%1`>JqivmK8oAvXK^~J})>VNu!B-BWjV1M<1C6Fxh;@aqRFFy^;)jr4;P7@@iUcLm08AzFB+zl2f( P00000NkvXXu0mjfIZldu diff --git a/graphics/pokemon/sliggoo/back.png b/graphics/pokemon/sliggoo/back.png index fbc2e4dca8d3541827ed47193adf09f6cd780c4d..bed56d44cf83e3925ba65569d8670a78df1cccae 100644 GIT binary patch delta 445 zcmV;u0Yd(w1g8X$bbkN`bV*G`2j>O{4m%fM{R?&g00D|gL_t(Y$DNhIPQx$^h8wjH z&~)nq#91Ydp@sWIy9ZdOJkU77ksEtk;v}V@*{;BsO7rL6No4;kioe7(O-C{By*D+V zS02NVxeB!rm;opW)%rPTH-JG&v{-5Cau|9bCDzh15cVFxpMP^{8NQAnqIm4ylR#E+ zNy5_4uw;4;Sj5>LDB;!*En#J#+&V<8RW$;d>*0#V1|c;&8E6>*Yas%#0kF>vMr*wj z0Mmx4vH@U5Q#Elc5uvY{^WHOnTJnC@j6fVL2n2aX)j^Jq0cQ9nNT7i=&Rc+yfj8)C z33#}@%E0^W6My~%Ok0530;-o4I2@&WhFj1^G_CJ2G4rzIp=Q@t>X7UOfvb~&k4M%^ zQx86$0LhIbUYbE zw3fCDz`3S?yf0`Vgn=oa*D@V~0+w0gfcY1oIbg`Zg*Mp;1APPt4^(j@8WjHWlD n0c+A++dGM;1RQKW>ko-99y)}`!{Fwm00000NkvXXu0mjfm+r<2 delta 440 zcmV;p0Z0C)1fm3xbbkSuNkl(mwRx8jOfeC=KP_>)9w+39C zMU6X6nfHAMti`%D_k`U7_;cKv`)|t-WKPvP7KkowuwZIr4}VH00kgSS11;M1!&}%i zknbIW_No$rN~+Oj+Ik~3@l_U}769A}1W2zr1LAXosjBLb08H(>%6dR(O{J+V5n=T# z>dpy(nsqnv52YP77I=a^qiP_oMgS&Q2o}(=uInDa25<##&~Oj608jVNH1Ku*VI#Z? zjC+9E1B$m5IDef}_w={m2hnnf8;mTV^sKW-$SAj|3Sqn;@F9njfbVBPpKHi^08-PK z04e+g;4n@BuM`_rDyl=@2H>65kKTJ|W#EW;gW)0p#f5;A=n(%)ppt;vg;?6g16Ssu z>KI!ZAj|+$F2*t(f&=DWl7Q(Cu$>+e=p(SbMo5H#jxhjc1}aK~h5XI8Kj9Af%v^Q!@gQh=2;y*%^bw14DSu0@2h% zV7QJwV7M8Xnk6nsuQM5#Gk{+U2*3mYEMQ%AZUn&k+9eKPs)@Dj5qg`!cLk#XJ^1C? zFadqD96>&#P9Z2|e}FX{h>R)BL8~diUI=U;jU`~QeUX9J?K@lth|U3SAIUZxcVU(I zLu}xQJ2=4yu5t2&Va8(n%%5Ha-j+%PV9DRcI77Ow5lDm!KX;86fjc}`Q^14pN=YYx zsJs*~2&`ghm;PvT|HS?v+Wu;~ptdHE&u*-Czx(Ys-KpwRH6r@Pbrq^->yI&T-?m*> p9p#yN98fh)Q=P~WyZ?O>`~bT0rjGEOSycc4002ovPDHLkV1h@k#3=v( delta 515 zcmV+e0{s1w1lROV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00DeSL_t(|oTZd8Qo}G1MWxXNERzd(ZBhrDf;K@1py2>egqjAo zl(s8oXb30p_>@R%S#iRyJemCVzx}(GR}$g^Nv(Af^HXC?79m!~DI-0bErbgI04hRT zM<)_cM1;i3EUBsr$cR~KRRZMyBdU>bf2GP28-l=a?5;?_r=U|(Jv@;|0pYu|Jtl_- zrtp#l)Y1?bE)xf6uE$2Cxeby#x=R374B%=30cOqsa9^q*v#WCx0W!CCxdoWj#I+p} z(ih&h3q}KS^39GusML&`WeIXdS%6o;06Pc-36yZub_pOa;03@Q3hE>Su&!U@f52P) zLEiD}0d)y*`$PaTJ$?oKQiUP*@Js?K_~Zzo2isxlv94eE+l#>a9pg_!u)gmRd#(}S zUIzs1#z%pByjM%WBk#*%0Z`^zKqIi_&!HTzHuonELA3qT4PJdqAm77W{o(7}?}k&g zr-b^&x&}3}?dKeL==))4j&e*pArEM}u4_(YiSscS{QiA8G&q002ovPDHLk FV1kuq)))W) diff --git a/graphics/pokemon/sliggoo/hisuian/front.png b/graphics/pokemon/sliggoo/hisuian/front.png index 3b9edc41cfba4c1c9a185f25ff35616f10150b9f..7db0386772d4228d3fe4881ca70d5df0df6e0296 100755 GIT binary patch delta 515 zcmV+e0{s1(1=a+RB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3J0Y(} zp6>tv0l7&;K~zY`<&(cogFqa|A&rBZG}Ot(gE*rsbS%9#aj#Ec(>_24AE3*@;LMRY zG%n znT_WQ=}HSt=8kfme;%+J7|DASHAWLWGgO;3fjJbLrT4IZvrt}5RGfK`;%*`@pfr>r z)I_!y5keVjB`AYQha?~*erqErTNO*yj|9LP)0{K5+5zAZ608AutphP*S9~vO#3^Hq z2nb*~=UY6aQ4!DpAYj9J5fQUe%LecT0N?uU094q#zw?ZLdE8e((g2_XzT3|Cce6u|N|H8T)A~OIS+<`jH!5w{m7VO4t3I-SSl^M8?YMlVj|cz&002ovPDHLk FV1lOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00F;AL_t(|oaK};Zo)7Wh7(mCx-}7W>QX1_Oq&Hpf{E0fo}dU0 z(18Q6m<*j`qzzMTJ z6mX9x7$&u>dcbdVsapdWHl+jV<2@J+npY3i&s|FWI-m)!_u)b_u7)%i4ROF6126#q zo8#9&@Pq*YG&pkU_!$G#D$v0gokFeCBdrJec#kThKcJ(UZ^wqc3MMt1Wj3jQe~Zmf z5F|hIP0|+KkPX z0K6Rob0MzfPG!s!Av6mx5Sf%~+T&4fpaEd8k}|iLi=w6)@CATe`_%v>thQU3%8!Q< zh&2E@kQ=$r==yG+u|vgim2McFAA(J*Pm~uGvWNU=A;qgdvVXX~0g;pK UxGAvaB>(^b07*qoM6N<$g4_G+PXGV_ diff --git a/graphics/pokemon/sliggoo/hisuian/icon.png b/graphics/pokemon/sliggoo/hisuian/icon.png index c66baae5a9026bec9673ea2af98a23266459d31e..2a379330124f55fc16ddfb638c0ee9f0f8dea96f 100644 GIT binary patch delta 300 zcmV+{0n`471DFGlb$tyqVhwKh|8o$gn{Z0@oC zV*~52Y6GV>n44{&+if_S)Q05g<&o+~A+rWuxD+za%FMpjN{)IfcL)_8#-TQ#W zmJ7q%=ME(>gGEFWC(p+0(1`1>HOAy>uGM`YoWA>g)Gao!{!0F91En@_YJO{4m&K-_To|i z007WQL_t(I%iWT(3c@fDhVuqDI2P<6&Vq+iLp$_Ad^n#Vbj(mBxE1;!3P$2&i>I6U zQ*aUyZ_Cf+|L=}Zsh=uI-sC)a5ZI3u2$c#b^i;u@yQdyZLw`P^r!GqnuFNhGYKD-& zwF6;feZVpHvkiEt+m2Bn-r{nBOW1{s(K?=lhU~=d9JLJdrephRA!{ucd3@5$8i5!Q zQU6lk0cQ0HU=|55>*WL(nE)dRFlS&WJafCqg<8W-N3)S+N9~F>2F5mQVx}(E<`^T$ c%e#62IM;HnEDy)QRR91007*qoM6N<$f@ukL2LJ#7 delta 242 zcmVB;>Y;~p<{+3 z!L85_QD`JiwixTw+z3u0`nFzf?|m;EA%1Fn^i9T+1%d5Yf=~*FLPsV1a<|k$sLMvo zltlr;mDxl>#Zcn7G9ZjBkGRHRv4sqA+cOHpJ3P*D0k@D+Qfr2r(2$(j^nqna>z4Iw zA+0s%S>W)ARvv1+kDvK}=R3fxKLN}#0%o&%0S2#m0t3nfOb-mXskaSMs8MWWup9a0 sBu(DTmLb(OtB|RS)*04#w^hoBt%L-+aa@!j2fpG&1L>ao5~zgY$2TfC~jiAHlXQ05!}n%kmbZw6Z2IzAHh z?RvQguy>D-h2Z6C0kG8;I0FK_0ANpq5D!jxl@|obJOl>bGY+c{a-jPH0ndHBoS;*Z zK@NC2eI-1cAq_zeCpn<|I)3+R@EL#DkAmSaGk)hhj^jo5gmYYjVFb}EG!}UsfA}Mg z-+%`8pO-qmQZf@JdmqztHE(I)5+*ZHkbTLy2Ilhx=Qf*MOrj`~#(N&z036Qe*U2vk zsC^ud0s~;KV^!ch(LgwvMbYKR%oO}=SuOwq96G)~UIUn8ef-Dz_6A=AFoJ&&)X2;f zTipNn@$Va)fMWzI!neq!^6*c~O7Jb0Ks3v51{@{{%r2=C!YK?8d`L;fl`%A(Agup9Nt>H9F zK*^D@TLg%zK!{#r9Kk41O(TCs8ZF}rHbpsxm#3ly5G<`O~R`gBE2&BB4S9VBG1?UA*G0n$Q4%3Jt*N!P^rDSHKtHHb8Gj zhS?xke{k>?22Qt)7mRbaAM6CiepmW%oh*8TMNI>HjcFY5#81&@323AMWZwcq!&@;=k`^wZfof&wn}GcrjwhG~ zLAm4=*%_K!!Mk{EZgie7T@@MT0Q{?)>GXV&9!roa@Xbuqr?|utz+4Z(EW|59-wfK$ zTn($x=N0Hq^%QtHAzyz6ajUV$G63As%7$^)wsiH;hY!p8S{>c9L<%rW#D;>;etJYf z(ofZL!`cA2UfI_3vU`uJUS+*hQ!`1?!O1sX|F+)c_P}f224Izk(*MtYArOVnQXq;S zEfBW>S|H#SM`-~G1Qa_8)>;JW#g5{N^eJ={_lX{F6gdj}fq;L(vqDE<9{R%r&u|n& zLf91j;rpJ)SB}ytF{AHIKg9970nV_RKt7k*LU|{C6TiN4y~inliXl-EGD{q2J^20C zXDNV+!S=CleJ)c6sbMVm3Sbf)B-6gx^%=a6udb=z;BS*lNqsNd_Mm6MU#Wp0poY|) zrP21fmIde9Krny6V50I4g8pE+he-;+nELf;L;J(1lPT$~M(PhM04+$3WYo;Gl)Baf^auM=69IopN>Ew@@J#YfgoZ&1lF2pJ z@Wyssr2c@4GQNP3pEXLnHhjBWOZ`Dkq6_cksgVZ)u$Slwup>=oFWl3S;V7*J@Ab-h z0^QR>R1niq&@lFT{19EM!7&GLx;3~=`$8OC*zw0Dn4Vp_HpNM!)$qz5-=wPW%FG7w8SuI|b9aB-3f|2S0{ZD2Z z$S1*A0+>b9Kt2n`St`yd%++Nr7*!MuJq6y3VZJ}ekyw;%6bvU7jOLmjSmm@dkUwk^ tjC(ZREcAyGc#pWAw#XlFarlz`;a{-)qlk-ZZ3F-S002ovPDHLkV1g8WtX}{C delta 1462 zcmV;n1xfmo4E76<7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1$0S7K~!jg?U?J9 zn=lN7W21l#!TbJiTa6@NAlM20)t<9%H{0DZgM5>%@A3F;|6p^@9e;A&N3ZqX`zmqM zG~)Ht0)NFga$wQQO$;=G)`4Q6xQz|g_4Rt~Y_VJ#(6+Hb z;6K;;bxkj6iD*^5IjBJN2%{4P-p&qd_NWH51sQ`7A~)*jX@50s-*;*Zwm{r}jvue@ zbb$8#px;w=fD~WSdhZv9w8}P0yXaF|vw;kswr&7$pqY?=0@!0ssWk`)U-Uc-gL!13 z6Ngy>Q3Gu6AnmgOJFxuc=Lg@i-jnq|Vjww~VF-z!=jPICdawPDakE(%hmewVBH0w2 z3}ErW0A1%sRqyKzh>y%dZ!sgE$V~dSQ5iz4WN5?IS&Uv1QEvI)q(g{J5HX4rdV7)s zaMhxuwcH1P9YS=Xr^h?9gKP3)83nWG8b~(JI{kh!fH?HGQ!$th0f+$xk(Xo~%p>_K zEdfv-Mjm*I^Nbiqb2w?|PkJvKS`uv>Yz7%aPio*>y_ca20Re>mX3(dRmq|}q@0@QP zL_FF}I2zr;nTcjQr+r>oc>%~Y_Qn948Hs@Pi^QORdUHVId=q6y_xiBVG9v)OcSkGP zK`9RG8rdNBH?(5|e!pzSnJtpeYc}AhIM0kSf_tv(u1&&Cgrhzic)fjazUvJFZYG=z zip9zS*j=L-_@TkX&uR}i9r7_(418-q)Y0pJ*_ogN;jIh4=>m?{k%6bx*)`OlG}g_VE=Bz0fH1b}HM)enDT!Su*7eke{_QC!6t;oHrxx*9U{VoxZxT zvVP9*uK{pK6F$B%;FJl6HdxLu{40EXb7jtdg~lN&zHd5w+`Dr(4l|M*fBdE1Zs%Xj zz;F9)|603^49Sid>;T9K-kyi3Sm5iVm$Psaj7qV z0Aa@|H6M;yg%A`C16;=60)&Dv$}uSrg2T7k>Ef<&00^%{{@nnV#1Ol8egg=*5{RP% z0uNN`=T6k{~Z z0*IDi$lz_Y0v}NfO3oR8s08Ct5Dr{_wlT#p0wFj4a_uaIuY!>7O4QDh0*HoSL2x=t|o~kJ1E2WgdkA; zV^8>6yHaU!u$RaXgxv5^e>MbyP&9l%81xhbp}SE_*Tx_$P&;E;S9-pfP(ct{c(w$B zgwc!;h8WcHe?1Y1Ofb3xLT^TY4S+Zih)ghCk3cBFNNo=e1fn94>k|4MK%5AK8t@_< zArRjJh$De8eJ_<<0*C`ZuvOG27#9HIXrOC(Krk)<#Cpi>1~B?pt_mQ8KpZfN;rS2u zwF(^MJgWpE1Bj0RW5GJHSK7GPUicP3oB_fuesBd4?(u^Qfbh!?{)_e%2Pha%Nb(kT Q*Z=?k07*qoM6N<$g7Yq%5&!@I diff --git a/graphics/pokemon/slowbro/back.png b/graphics/pokemon/slowbro/back.png index 48ad3fbcb6ff017bf8adb46d2bc2164798a276a4..14b0abaa349f539065a8276df80f327106eaab3b 100644 GIT binary patch delta 646 zcmV;10(t%X1?&ZoB#}W-e*gz`Nliru=LQE3J2oto8z=w(0#8XqK~zY`?US)?+b|G@ zmDYo@#cm%Urk$ej)Y|B-q#R5LD9{1|`Upjz!U#M_;LX2vX9VJqv-~@eu91OwmeLDXC&vO(#)$w}H-aHP>vgM=wXIYk=e>27&1lW>gV}zy; z0WTP%J`wEv81SA=FAVT$vRWP^##5FpQNz2BtJUgl(2C7-G+}McmiP%q$PGPDm{+Sa z@AX(G^kw1$v&4H{>cemVWBmlFwBE;?Z~*hd5TI)%lammb+xE9eNDWdaqws{wu76si zM5uHbjs5mZZZ*bwe-qaLP)1k5fL9h6X(h1_>w$!e&lac+z{_nYfql8L9&}C<)L{TD ze%cgtNr0%<*FpcsF9*OHU<*nH!0z`gopFjT&;#dyN%+8`X>Q4f%#BA=frwqxGz6qI zuOTlCPzJ!R1w>s4$jOERaqXYLcXuWQr3EPCla~h{`2N*Ie;KD_vOPk0Di_V)E^1km zNvbXA{cDHp{@AOkK^bCOKy~P&_;7#I0VJP-5~$OQVt$`=S7q*jbCOY1%3FxY0XeuT z-A+t9jTo`bi7L$pJ00)ofDR~%GTjfBI;}|?CRGquid0_(KrAswnn7VJlmK2d`Uqo)9GXg15A6Mz#N5V68|0t2h7dB;;+tRiL6GI1Hc4rE`w%O1E8Xt zR@^?Y$mhiQw7at9eBDLb1Ef;45!oUy6#`=ijC`Q8ioo0h`kPX1Sc-s&3qpXh1M(Iy gf8k39Jk@{IKVIOO>v;h6@Bjb+07*qoM6N<$f(W)J!vFvP delta 660 zcmV;F0&D&31^fk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#!*wK~zY` z?US)?+b|G@mDYo@#cm!Trk$ej)XM0tq#R5LD9{1|`Upjz!U!}-;LX2vX9VJnu5C?sL91OwmeLDXCe{}FvN9s9y{W!2lqeuJC(lotbj2#77 z#L_83^JBmZ#;8vOyLbqHc*o|K2KYEzM-LIxIZGqd@b<%cy?*1hLi3!=SX+w-Ki&wr zrRNEAYJKLs9_pCB%v@j*JFiQ97!P1`wb`*7swKw2p4@|U@*oVzX!sVxb9;gk#%gmR+KHv5p zbWRi0VFavx^eO0)08wpjy#Du}7Jv;v21~zrXDOl21Vi)agXAypOw8nLTh$GKxwK zGS34Gyf6xQXR>%V!3$iK6 z@bRQL5>2@WD71JwFgL*+=hce}^J;+30s0aE1YZIC6Hfeg0HwYlBYqmU0_+leeOK-j zKvU0MkEIU4BMVvB)xHNU?0W7l0OBL&5#w*4QI9bFoVyqxq&%}&6O)vZ#XL@v4UAR= zK7GY4^iRo~%9E9HC1|)g-AlBup^(&}!ff_F}76e8h x>t)9R`;14e;(vg%EX{UVh5;x{;Hpdd1@SxF_QopI3IG5A2>?k&PDHLkV1kTOt;qlY delta 413 zcmV;O0b>681BV2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?UcQ0gg_L94O?uxqeW_GUtnYeLpt%2@lDdCFeuE%+QK4z*t97^<|%Xi0mu0Z>G!bc z!u`1C+;O{v0h1MAO-S0c2V|>6qQ%p7Y{$F7u*;#sb;EDMntg7F=5mvo4e*oemlo9K1pTUgK|6H38Ae6eY&=9>+ ziiI-vy$MLef%jkG2<>ywL8xyQ91=_e^BCb#HGznz%9z1)zzeZ>cc{m~NNF6xh}t9j z2>ECc!f=@NFJR{(U4Wi4uk{SV0StrIUmz_%gpjg@ z@zdpiV*!F~%eHht%`{;?(wb_hHtficaZeE&F~e~Xe=EjNpkMBsSY?uEJSl5oylLiB*)@yoCLu&>S2IRAKg`K=#Ool20&`2e!i z0-cS)fCxK1T@G}QiLy6hj89>i`HexKuf2B&xUI1i_Z6;Qpr^1DW z-wS}>1HA220%PU_VXd9cfTJgo1bDTYfj#w8=8vyXNz?_EPU9nNPbYAsyx4@jvo-vQ zN{}`O2^E;UDXiO~AbHMUdoTo`3;hp0vOExD7J-Xn_z4fi&GdHC z+msqdOgezMe}~!v5I@IwRqXE-sfwSa*{-YrBvt|7*s@k<8iuet&4QHe3J=B{Xti25 z(`iv~CmZHI)B!xnQFjy&I}U*eoL|#n4nQ!TivSmns$oq=xTf2A4nfAM4x;1l0I*LS z0SKW%#)#@qQg6s}to6X&p>#ORp-60u(|P|AD%))fe-!kj16l0v>TZ=o5y@WLDj-L2 zL`ZcELGA%a&O=Sv#bg)|h56R{-CRirFutDn(}5S&EGO$LcRei(a8;v9B<%=Q^M(7+ zXv8Nq`8=V#CbU-VJ!hn>cP7BIFE7e1HbgUhs zW@TXLQXw7FWkT6*nF%>KOEXCE&vzV}0B zQVBAJ7(kUqptCU;P~~SQ%Yp6@&HW82P?97FC5u2PAj1rh!Ri6M{pbJoVL>g%ILM z$|DsayPn=mdYf9~i0c3__t0Aan1Fcr;dOFQA;UvSOhTNf*r6{)dO-TMokg zJ-tkwdeC|Zya--5+xaqv|CI-Rgahif(BF(ATtfdCrXlnj-s6iforivt00000NkvXX Hu0mjfcb15c diff --git a/graphics/pokemon/slowbro/galarian/icon.png b/graphics/pokemon/slowbro/galarian/icon.png index 285681b2abd233c72ac147beac71e18190461c50..7f2a366a3c46f1c5df79f93c323f57b08c1e4cf7 100644 GIT binary patch delta 372 zcmV-)0gL|91K$IXbbkN`bV*G`2j>O{4*&_Lg0mU`00BZtL_t(I%hi&xN&`UpQo1La#n;>&C4`bd)Htq@d_T$z;=pgSHe#DB&Hql?RhG+@|CrSMFM zXL4oD1S{#7YaXTcl&pLp$W7MwL9LZHmW}NL`}2eF)-}f14nWqcZ>)@Yw4)HQI0)O< zG$l)@i4O6%FVksmvpD2>Wjmita*G&I&(%39N2ZZM*B1Xi$(b~0ZYogz(>$$VITP`R zW7R8X?c!al=xzTxf0Q7#C#X0bEq4T296RM2U@C&Lfi5<#0j45|2B0G+fY}|6odAZz zh?~#f1H(u$IRQ+DsKEzEU^vQRg2qw-!wdvm1QHm~iE9C~_Ohd@XZ5Y?AI=vlc+W&Y S1DSLH0000Z1JVPKbbkRzNkl=7VQKJo8sJOnZM>Cq@6)`J)Dj)}Z3} zXw?{`F)4*()nL3f$c$vMbzs-84Wbdq$bnXv=Hb|ZRu~Q=?tXqN3?s$VB^qH2q6Ak# zBMe6-Cg>uyFw8)}#n-KkFd$REfpN02en)lB;#=20oKGrv&qR)yktqNG002ovPDHLk FV1gfWqLcst diff --git a/graphics/pokemon/slowbro/icon.png b/graphics/pokemon/slowbro/icon.png index 6b2ab16c85cd231dab421f18937910e2f0e7aecf..3288121c2e1b025a2e9f4b2ea04d5e67a854ebcd 100644 GIT binary patch delta 387 zcmV-}0et?;1MmZoUpD{=a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+)bPT>|W z0003~Nkl@5DCq(cwL`LilqrzS=(0TGANOTy36I(sUf;>eBNiJ*1iap$O z;i12jY6y0Fwwejzt017mMaO!dwt|F_S_H#R@m421Kl|ZQ5471a?cb!qe~<=&4hjSc zDnwL6&{O~$0Q4Uls&{Mw=1>$!sSesNN_XobkNZR~-7{7uUCCd!3v)}FzIS<+)qyUB zWQaU2Yo)^adlTFU`7nA~yDU`orufXOTe(u4W#a^X1O hiCuh5f2rU3_yOb$`{-nrez*Vt002ovPDHLkV1m9Fr7!>h delta 373 zcmV-*0gC?c1Iq)DUw;8sNklh#;>De`27XJ4LvBY-^oM-1jhkyP_6nYH`oE} zrZOOjodEb))>8U_PO}$5lD!R1Z1J25@|5f)xvU`z_HfTdfPdj!sv+2H*YY8DMU#aol{@*KuK$u< zDO43ws)P26(#^6e(>~Elw~Wq<2e{G zo`V77IT$dWg8|bz4hBr?IG_eodJY;)?Kl`Ph2ubaFyCD%JO@0ni;q!-|Mc+#1s!kop$5Cr!APk5J4f}0YarW?n2jW1ZhH2AQfCYCvflpjk!jn*;H08 zvgw?``p8FBf1O|+p%!_+{NMk*N9FA7Ar8b7@cJ|`_9rLvkA2_2e*gd+1;7OO=NuXx z1D*pQ@`3;thk$orbSZ(4!|CJ@aXte6gnM}VVLF|@IRIEgpkh4X&jE=?K#S?KePE~q zk^Caf0_VBSq&3p0M5@I$lSkKT`Ud2`SGgL!Lz zzG(nbQRNb$&}Bv_;62GmGX=Ep_JKiGWvvN5$$h}$n^Y$Fq(cpWkP!)pRkkK@UjhQ4 z21QDtr2sBKd0TaHw`OXL1)J@s0=Kgv_ z0z#tb1lU!7e;a_ALsS5mHGo`_djznQfLIpQX4wB^tU~6A++v5QE*cZ^b6JKXu0Ds| dzsy4%kN?3A0AxSMk+lE-002ovPDHLkV1kr+C0qai delta 654 zcmV;90&)H61@;AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#8XqK~zY` z?UYYy+dve?(^d;_3W?hT#N(z&yVjbApB( zz*N^Ttu~`o7v5NB==_na8UH&$9%dGPKY!mh?=e1ktbO$iyg3dG!_m?H(=ZIr0RRU9 zFaqJ3fCh(v7XZk~bpoDD!Y5*glo9FNCu_W({G=o*g1XOF}a zVAS|@7wDV7aB^G#fNg~ywFJOmr_XKRmEC{NS!6q0+Wl&UEZ`-yGnVzg8MXvoTR?AG zugH}`5t_Syh+xPXz@Z9ArxHxA$@MJ88TkqsUp4|u4Is>68e?KDSB(A81aSDWGYv3-t0;-i8p9+yxx5NgYB=IyL|ZIaPpM zWgCKY77zeEC@NOTml_ZPtW}q9Yof~}rF+&Z=luoJo@<=*F-=Ybj oey(f;;+u2W{+D^ILv?cUAHfa)WEd2?DF6Tf07*qoM6N<$g1k;4Y5)KL diff --git a/graphics/pokemon/slowbro/mega/front.png b/graphics/pokemon/slowbro/mega/front.png index 4d2b4a45752b61ed525e2bd20bcb6f6fc03d9f9f..94678b54dc6a2bef0a5a00e9feea41922d068f2f 100644 GIT binary patch delta 749 zcmVI zAX$}{%hVx@?>F$yX;V8sr*E;M`||GHd-iEsAzJJ6M@v)38Zq*Rf3@3DgEk=m(Altd zO*QC|*5NB_XJe;b2h3-Ohn7X!Mh#edVPOUYqz343Ez5fD5rfnesZ#_)`kp||F>N0K zwcpew(Cl|#&n=1>YD&=dFT!8v!+OyC7KY(u-y?P4BK-S341WS4SOlxCkA8(Nv-m2$_D{B{=WD%pdW~0+_s6aRRTS? z1QMK=u~h&%F-xFJq$r%COU!8nkoAWIuL*Ihz<2<*LEJ)$4BAU6>`h_@e6h|GnZh7X z766_OOmO*hzKk(y5wf{ic&h-`9me=WK+7C<%ddnp&e+0$GXmHvO-oPn{xcbXvrIdh zUIs$2sU&%@e}FH)le(C(;J(Hb_fi2SvLF{KfCER6viUA*FbkxSmGU%5s$Z7u(oEKw zVu`%^Z34S*v;;}@4sp3WW?m!X35=>26nB}-jgjD7sx@G*g*+-Y(%}hLTvIxqcWFKh z)g@RMrYZrBYccOM_^7(0#v-@_L8<~c&-5-q%@!hCV}ML?O6@@KyCTxDP^CDyg^`oL zu>dSnbaIA&(s2=FflL89`A3>xv-Kf?sjUjUh9@gQpTw&{GmfuU0zHmCtpwWTW1#sM f&@LYX%_Z<3DM|#DDehq@00000NkvXXu0mjf3|&*i delta 730 zcmV<00ww*@2HOUZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80<@8d9)C9B z$#q5C1@#92(YXv=P!%yUMAlWRD?}G)`2!gK0GKgDgS;SFm6ywuA&c)f@Xl#dJ3gmx ziK6@R?%jKr(~8krpMSJ8b*vF1|FCxV)SyiW0PJm8yQUg+N$cp9wX?C)t^?+?qa({A zZKDRPy|6F?0#XC?x0Yo+_lQAiihtB8f&qO`K)tTnJ_2gLsY{^Q@4jAI6f@M6pdDO= zzb*&$p!qEf!_k39>cCa__j?%r1VXR~R$U+d4rTm^x(FKm%6g+8A;i1#sX9Qa0a34Q7EfvQnM~$@03qba<&`ohg>ctN%@4_kWF+AgR6~E|iWimHLf^(_XfV~#-sMtt{CtUGN>3rU$`7ksUD1_>r)6>Pg)8L~5V5@>V z5Tq)A^Gxp&)NCQL1;`Yq)D8u|DLh<= z>q7!lTNU^Wk5+;ni7!`!W*m=K0zHmCtpwWjW1#sM(5@c?%@WYG|0zlYmC&FTJpcdz M07*qoM6N<$g0-zq;{X5v diff --git a/graphics/pokemon/slowbro/mega/icon.png b/graphics/pokemon/slowbro/mega/icon.png index 826f0bccecf5782a980c2352911ba76ed03b1583..206b656c17b40d3f64db3bf6de8b60a44b7e2947 100644 GIT binary patch delta 342 zcmV-c0jd771Hl83bbkN`bV*G`2j>O{4*(xiRt8G|00AUPL_t(I%gvI#Zi6rsh5ZH= z>Fx+W07%W2NI_NU(ydbbgxzi>7_woBzDgn4Dj5>e1tj0P2?U#|OQf9f==l2ne1zOi z6emUtHNo03Qv68mCsO9wr)6|fE^{kEPw}?N#u`+=i01{2KYtze;%&18Jwzy53n5@I2M;kw<>n0cps;sKR*XnGI@v^y=yo>8w4To=ZokuP?v=1JK?_PdEeW< z2B8Hv3S^cH|LU1B!VIFJF|CZl+Vt8gWy+{JT!%456z4u0r^Ax-l2z9Dx?rlZR!G^5 zdxgDI)E;vePfwi{|LLcmo~kA{*InX3=mZDsCOB*-I5cv=q3jba^f=^w4T?Pua_!;( o624p<;JtQnK)eGS@ZU%M1x$|HamGOY@c;k-07*qoM6N<$g23gO1ONa4 delta 327 zcmV-N0l5Cb1F{2vlHobH@(wE(uNfQCQrIbFib7e{e;eUgmJ9aLHNVh2tm-rZ` zp}*_{8=l-njXX4j^afHa@t3RUJ`h7f_fClKdEV!KoPnSqS^>`z^R8TIBg|N2ibzX~jX31v3{WEud^^X1arR-10SERvHS2Lu6CZzvgZrm` Z*EdX#+i~6QJfHvo002ovPDHLkV1iqdlzspJ diff --git a/graphics/pokemon/slowking/anim_front.png b/graphics/pokemon/slowking/anim_front.png index d9740c00773d24a62fc6653cbcb72849f8a9b51e..0bb1747e5cf78c27dcb7d1f49e488d3d8358566b 100644 GIT binary patch delta 1279 zcmVI%1V$wZuq0+Fe zM5U}0CgB#9D1&-hK{qwx!huq!%KW{+y7Vwv_PfHX*pQeDpks7DAfNfR5Z%b)g+4+NI(&~3!^E}+fKAAb51XX4jsjYnIBh~bO1*pz)Asz*Ip3@bz#q`WmH4%PXaD= zHOoow!=Me_ro?evyR6n?LwQJCJ+m>q~N3Onqlk-D^I&vY3MS6z~0^X$YgVoHd z$1Iqzu^j_>6etB>vx7ql2wG8F;q0f+*#S4a23~PLM}N`mLFs@Gsf*VARuugno&6>O z0|gqlV&dJtC{U~<&GWaW5j;N%VPG+83vwl#!VEJZ3RsLPyU`58+4N*4hS&lCu(=+F zpM<}PZ66J?bo)XQ;r6wU=ern?TP)^}J-woQ~K+qSWw0OEL1iHuVAP6R6s8>c} zjOQT;Vnm4Ryo&*yU`cSE0qidU&Ut@4lrQ{DpeN*U=lbhA$#tHsz_~x#h2Imv{=M;P zf`C`V$nWq(HujGmeI>_XqDfZ>*vTjn9F$;kUWqM@18_qSdJr+K(eySoL8p+3|7D}T`#;FPN&~h^jm zK=EQhkp_eSOGAQM2=zm#h zZydA1wj)$$`r`nA zCmAhGTGB%iR%$gL1@1K;y!lYv4fS(WFmgd}UKKDt1Ao8-11|g8`4upfS}YhyAZ1>g zpI1YDDHtfwt^IjR&lU`ocmBIzhJ8A!q((gw2b4+8oA pp7V!_K)=sRf6&qYXkT)F_#32eMWtZau(<#L002ovPDHLkV1o7hPWb=; delta 1260 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 delta 602 zcmV-g0;T=61;Pc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vkz0K~zY` zt<_zQq#zIgU`;rHwT;iFaV{Wm08u9Cw~onrpxx;QuWK^z41X%1bh62k^iP`4s-i%< z_@_}q^&X6*dp8ZmK<@fI8=q7fAd=03NH-7$Zvbsa!Un>#IfnMe*snKWWO~q+_t_lG z4v`IkYzSc4UW^=Ui0nFlMwf!-fG|vspj!~3Z4E#H=uL)@VBHIGfVtA33&GG8sGea5lP;liQ(Tw; zw8fwE4#Yh7V!L+KsrX2VsOM<|sGcyt?Ep)?BEkV+>m<@&Sts3pV6GUNfV~Tyf9Zn* zuy2-#0XqY1$`5+!z_FRgfRV?59FaV-C_EX&`H#y3TQq@N$|iy3$NkpSX$ zdmtYc5S%_H#KTU1{E_aHp6_5cu?=>9&Io^`asWvHrB(oGlboJIr9MCofWlIKoxoGi zG)gJYWSRl32WV`fG(ZH*d-C`(Kk3*3h&%l}gXq7dY}O5|`(oB8!v%mS!&YMen(7Tu zF+i@W9r!BOOQ5cRQ2Q!3U^7)m2^M^t`Njg%SbPAXzRg}WN^_;%v{f4L+yRo0m!4mA oB>6HxF8XjhUfDmd|2m4|2YA9aC}UNbMgRZ+07*qoM6N<$f=Y-Ic>n+a diff --git a/graphics/pokemon/slowking/galarian/front.png b/graphics/pokemon/slowking/galarian/front.png index fb619a556e447030ed0d7b9ac412f76a71fabb11..0d5608684869567d20324e535f64d6478c2afd7f 100644 GIT binary patch delta 739 zcmV<90v!F-2FM1GB#}W-e*gz`Nliru=LQE405yp1&z%4O0;@?xK~zY`wUxha+E5h6 zjpT_b$Jmu3b@9bKfPKl1@lAvf9WLQMK%mI!3Q$+jy^ws=R1GwYZ(9GRE}N&tmeV6d1QG9fyfPfe>e<@@SavnG3eSN#G#?3vdp@ z5Kw{sblMC82JRL3K<}iD_UyJBUqpglScwaRK1O0sTtTr?f1P+he=*p9djui`P^1F~ z1v)Y0gQT{p5P(it0FG+y%TNH)p(OGNix|*A4iFNjLUeA%1%M_9K#WGmlL^+a0m?bd z_-cY@jQcFGjB=~Kc-<@~Fw-bhVR;>{S(;@}g~%ip#IUZtX;vJqZzkhHVEb2Rw*Cd~ z^3L3D%T&`Me?HT5%(A#Ms>eIP^n1Dy_}L!z^dk8>iMLHmAD^drJk7pc2(7cH+ijql zJ+7V;tryEI6LYPXv(b))EPJ>5l_W`#r>8O14zQecSF6=J{R_-@8j@Bt_FL)ntHr$lf+i*mNp)EFMfd-5hXVo9W!}q57W@sP2nM2lkf(!e0Q)98#y1f{bhw230F7EYXX>2FipZWJY#FlDSeY_3 zHA^Li3hom`qEly{p~ohw0vyw+cl7!E|NlAnV2uB9%!7Xb_R-$5bzu8@f!GTJ*bi{K z(WMa_Gzk!l_!Wfufy(zSx(5B;9>|b=7AdQN<^$7KV1|teeMD= zt2#TDpD&ccMnOpeuzghmeHJK1DYTnHfh*lJ<|06}5&P{(xk@U31SAO@pE^JumSI37y&BKKbmYGqFvmz#)D@H~)ky|q-NgAj zBM=dQA``eM&`F?wxJYW7N&)CZCE%)7l|uC@9_wFNAu-Q{w*%KiegtwCgZ z_OM*7dSxdCusth$)=d#uya3w*hK0{oX?m}*j=*ep*!Y%Mt$ypmo~j#GrswzKp|BT% z+-sq;xnXrlGp+BavSGc&F%=D00jI-tYrQo`I1C-J4huA3ydb>!3`Knd-lSLX;;l%#sH?YgD+r&rx}6azz4mKz^I+Tqtd9};b>|Z)UJjBfA??)a8?E$`1Hv~ v$$=m`rkjzE;CdZ_k$h0Uz2SrKb3Q%*J}~z*8T~eF00000NkvXXu0mjfe_58z delta 310 zcmV-60m=Te1B?TZUw;7?NklI|raH&h>+z$bKUx1q7<>w&GVLS`iy!nd31ha>GE_OLH+Y&`2D7bU z!CyVx0i2cM123OOKS~yZ=$Ni2KP2@s38Vd>e)G)_!q5Hq06sAHG+Z$)-T(jq07*qo IM6N<$f|ApbzW@LL diff --git a/graphics/pokemon/slowking/icon.png b/graphics/pokemon/slowking/icon.png index 8527e8982de133801ba193d3ff892fafabecbecf..78d912cff91174b7c586892fecaedf5f579c9f95 100644 GIT binary patch delta 368 zcmV-$0gwKY1Gxi`7zqRe0001qplF?uErlmOu-j;jbf|#u`{~%3&#qiP1|0jB>t=+(Z(&GHJ_zHZA80)Rn%TBr48(Jx7YN@q0-Gu(Ily@^(IK|b z3jv8p0hD4eGY8TlPu;!$1f;Ws)+V26C}iZ~VcF b{L~+AxoQ?)wuPC500000NkvXXu0mjfqj!^5 diff --git a/graphics/pokemon/slowpoke/anim_front.png b/graphics/pokemon/slowpoke/anim_front.png index 61740747b5188ef55d198c1fd4ef9c67e5de687f..5f0c1a692027e855126dee797a18d86c912c29ae 100644 GIT binary patch delta 863 zcmV-l1EBnj2eAi`Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+-WzL|ns z0009NNklF>ljA6vrK;Mp!JpG!KS66g01}^rnRj;V*y$u13xEm$u9aBZgD|S}t+#i5@Q`g(XpxG% zjm;oIWZ8*-b$_xh(e}RN|IsqD8agBPYM+40Na6gS-#HbP{0o>}j zeCT>ZuUL-=(x@kZeC5zRM&zr5A0r5@P)m-XMvcQSuYcUnj#$JHI4IePSztSZyT=_G z1EjeJlMc!PzOuE>2`=-vK#wsjG5P9sdUw0Mwiivo;91t%wCjn_+30bl*$Su7;BBSf z+Fs|=yGG?=af-q7{uY;R{|4t_-*?Y$_|w$({Ir?JJm&HDVoK$%Mb5Nm6HBPevx=bd z64QLNn15NW%I(2|$fHGA*6pWKd$3@EP=BbQ=1T1W8i-ZQLmq6cB(n$Eol+?7<(wh4 z2U)fYLXDt94XHi2-Sb{y3PlJrLr3d2gTXqHyXG zdl0C<|D6SZAapHl57a=JFR=xc+XMBNFXY{A<$tK$9w?(xApfID+DX|1rO5^H(>>MF zz+^qnJACL35DEyp0*zc^kNqg`nX%8x%csTTEy&BmAvYfI9E{<>IIq&L`KOm%# z0BUsLdZTabWi0<12^>fxwg<+*b&uCJXjEYgMAOU&!RPJnWSy`BRw~3h&O!gsR@6AJ zHCVa_kXR=q&_5_jXPid|prXMrlDoDi?11V-{z2)pOHigFp@nX#QsjpE!=e^)L{6s6qJ<@rT{F$xGYOCdYk$Qw30O7!vLr-R)J-4` z6ifgKQ5C(5Py(>C08pAe0|3^+0-yqbnHKB&5UN7oi?0$PO9`OCbnH&`G7SOHz)IZr z;O+1n9<$9dEl^RnaTvsi3_JC&&v#jq@-{`n*7acC7`S)p`~GLvV^pJoY+E$4S`je7 zx_`~s7!cBd8h;V+Q2_oiju>k>_>5Y7x)#9I@vCVd+J}1SUn1e1O@Mkwd`2_W<384Z zxnD*Qsd~`8~3XtmKXwu zMLTv29A|L%q)o>FY3##ff|ACcY;SOaYaTV|GKMWCZ-2c;@9(tM_oFKqJj0q>b}jZg z>s_uin&B1dyruM-I~#oZU!!udoI>!tw>?u18*v`a{qRCsk9BL^04%i7LJR#zO}X5R zmQ8y;v4XxluL(LYG0i7Ssa!=K57MHJ5h17B&!zDoZGmuqsG{de;{gVUHLODxY^^AZ z2btYsXn*ddWkVVdGHefo8$p{I(s*#U=MBN$ZR&061dS@w@!+lR51%r&Y4E`P@i57F zAk6#f!2#PttJM&aLP=>?6{)dyY zlZXdOgA3xfd!{9U$v!UHeBkwCKr$XE{DM9@Xn(J|@p$kq9uLZ%csTHAtrEopl1sz` z7tgo)l6Ukd9}tp{0ae;}z2Oh`dTjq12@*(s1US^_yY9*QCXG6bfasbjVfeh&nd}KC zV5fX^iL`_Hp{1zfx>oNTLTpb+V17`P_Na~tK*fMD*)$Se5eHN!$`4A9ZP^lo7esjS z1~c2r&(^UM?}Q}V*_fLU)aLxUqW+y*M#&@0LbqH006D}tSyFyx3;+NC07*qoM6N<$ Ef~stav;Y7A diff --git a/graphics/pokemon/slowpoke/back.png b/graphics/pokemon/slowpoke/back.png index e2ff691a06f3f28a1bc642a5d85d66861f159b4f..7f1dff38f5ecc67b4d9fdf598fa7a52f7a59ed46 100644 GIT binary patch delta 433 zcmV;i0Z#t+1D^ztUr7K7a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+-bApIBk z0004kNkl1kcaVBAfyq(XOu<*fgM5LqcodPsVk4r3=+qbUWN+D-o)b^0wm7K1tBq| z;U*x+NGlo>a-EI014>!h0enJ28yIx~lqYTk0D|1{6SxQ$NP+L$b_ge+zy_i_IH7VT z-24ZyZ}6{X*xrA`@W(jwxqS8~j4>PdZ6oGIAqwM|NsWxZ{`@gMFA-*1EwHY?8ld-5 z@K@x;EubTYbzQF%@K`KFz=`|0*z<=5dW8(|JGPjxTGncn4=P}4*HgM*9WM0*{#^QT z*B3xwRji1cFM(!&sIcHqoqM2x<_xMr0DY2Z;I`nre1~0rKGY+ovSYO&VA-5OoR6oQ zDwyju9g!4Phz#JfZNS(9V8_JVc?l%2W8VVAD+DG62qZ8AK;;4{s2~7r0i?T!)6kq^ buieofkItz&g1os1wUkCw$Nkl1 zkcaVBAfyq(XOu<*jvYbYqcodPp(~Hj3=+qbUWO9L-uQ720TLJFf{>Wfa1#(@q!Wz^ zxz5Jh0jaEV0H2W11V%1^io}ipKu}nI0vBNeDe!&M4&ek8m_T#~C)C!2oBx3P+x5K} zHurxp{L#*QF3$cW&vO&_?IPx7$qVB+7aD1Q{rRJPRw0}#b-=p$YJuKM$zG8ccYul* zHchjVz+<`K0VnqFe9s>W=#?VCcWgdkwQS@nA7sGPtS5E9I$Wv=?78w|*XKZBRIG`e zFMxIcudrZG&O1;*dk0w|fIdkSa9c7~y+d8U7^)Fd(XrkTux#(Z@5jln(ZNS(7V8=wic>yG_W8VPyCj=%M2m~+#Ky3plsK5bi0L0zHX{c|p*Y4;KkItz& T3Yz)I00000NkvXXu0mjfq>!q? diff --git a/graphics/pokemon/slowpoke/galarian/back.png b/graphics/pokemon/slowpoke/galarian/back.png index af8f0fe84549ae99196ee26e0e242d1e926e5aac..3f639a483497d2fc6f489e68c5f2b84fcf78ad57 100644 GIT binary patch delta 445 zcmV;u0Yd(;1f&FzB#}W-e*gz`Nliru=LQE40TV;}dm#V-0f$LMK~zY`?UJ!h!!Q&@ z9aKd^Sx7sww9W<-_6BR{5N0!UszlqN@KaQ621k{`!jOJK0^$Su3*{Slu3gK?OT}EN zcZd|-lXtJ3N61+xtBbHth!=)Ofi54AFyegB2kZ*_9_K9NN_QURe+&~n&L8$ZXCI2f z0F8PS1R>ovAYk&HYVnA+WCZteaU(%Ms3*%CfG=et_tG2!$UK#<76=IDH6XQ z`>vfxlt2O(Sia(fqL%RdA0U33erFaZ4zS)?M=!u|B7|^(-@^#_!%#S038j(sx8FPK z)11V@=m2c1N&{ZRf9WmhtPX$~v97ABG+V-8z+?S$xaThez?#7TzhOf{xv6r!r)t2| zt+&@(dATtObddY2rVl{iR4inDz5;XrRABVFu?Gey%_TsE0Q)jEzze4||HS@$Z6cr*^T6P00000NkvXXu0mjfEhfe} delta 455 zcmV;&0XY7o1h52rDCqc9V%7#^xga1NB(uXItzw`ctLO!=!+2vLLo*&z%H=w3Bd!Qb>lI?F)30Etl&d#ZON6W=gWjs;l>z~wKY7*ye5GPlspb$s7Kw7TL;zhh zfCOzpnm~$t-?d|f5(ssH)eBC@8wrnp0rI=;_vTUT0Gqva>H`>0rIar4a~J{tFcgl~ zQfp%U-PhjwEF+OLIsm(}tN||+?3(n}2f&Qjlx0~|z(8;qaNqoYIlS|y0pQGFfZwtq zq1cwyQ}(L?Gq+x)*W!F@64)s7*KHpF>Qu~CbG`=Z0I0y(W$O+MP?$%69VqryVt{AC zSoVSa#l}R;bjQ47z_#82_G4*R1$$1jiAr&Wl?8lx40v(?+%d5?uYm-296JDf#lX}8 xR0DGazbxB3g17P|ld002ovPDHLkV1gsX%eDXj diff --git a/graphics/pokemon/slowpoke/galarian/front.png b/graphics/pokemon/slowpoke/galarian/front.png index 37165145acdcff6751d56fd93af3ad27ca08f340..43d02deca9cb0eea5b523e3e1a71bdf203ef41fd 100644 GIT binary patch delta 496 zcmV;2otVU?SP(cEMF{Pl zcmPo;90Wi>F<~8{xCfDn1!aj6YaoO?iBwROC=mugrWPnMy9W`-lFR^+0cge|o2L$d zDv2u$NI`1(Ux`=!6nS%N}LWZVo7UT{mzw^$E1cS zp%jY@OOAk*wq;qbf7+9V3wR(!VMcMo0lGA9^)+n-FclHj9pHrlR)eM(X@4*}7WF;@ zej4Y~fYT4YXZ0x2`Wgf3BO9F@eB+rpm>ySg*g|m~R=@L>s6KCQcPJoleYV4UYgAX52>O4BR4Ja&bx^ZS&CJ z9soKWpL!baT^iYIrv#k@fV`=sUB{_b375;;C8)&U%CfjYrf&^TSaV8)_vH}ry#6X7 mcHW28IbRxY_!K44!{8a0L0ChsDFTwMn_<{E>(g= z4xNk!DQq|xA%iZ~*Fu3{XWK_nu6MP|eb4B(kW!Y|2;2tueZ3mlt%g9H^>;ef;e zJY|u|F$c&LCuI)A5ZW38vRYvuDv}%`Hh}XuI@a&?&1d^yLpuqPBH?*8%7Tkn&{|fn zeWB$DtrAA4g#yRoLtv?8S=O`mppiW3OI5j1)Np_f%UeB78v`I*43ozJJS^kvN^kjG&Mj;k=7`fkU;rxiv9Ca sU@C1JQEJz{TLwQ%Fn}jd{~`ds0ihEK=1C;GsQ>@~07*qoM6N<$f-f)Ga{vGU diff --git a/graphics/pokemon/slowpoke/galarian/icon.png b/graphics/pokemon/slowpoke/galarian/icon.png index 04451742998abbf340c0f9a194f4224de1a7dd37..fea1a0dc01e2f65a6891b8b65d309ededbd1840b 100644 GIT binary patch delta 143 zcmX@e^nhtXf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?H?uyTmz64JdTj)5S5w z;`GGyn$VAo58v3Q|Faiy7hx8&$4UaOgnIyogv72^1Qbyj(dQ{GI+ZBxvXJ{1UEjLB^cE70ZcFho<0ClJCmO4 Sf%dup0000O{4*?<)C3_nH z008(&L_t(I%hi%Q4#F@DhI0Ze1{RRG02>`E!NShemCLbtXvJDf-v6CkYt|dO41y+b!JTSIJcPA8Q|56c$m%K9KC&0t~3}c07I?A@Usr&-}%AJ4L|NW1OVu^-pAa* z-_}hzD`6zF5;q2wFycogOyI{0VZ@J081bVLMs&Cfv+gQkO514F8~ECf3*nEpCYGcr Q#{d8T07*qoM6N<$f_I3B)&Kwi delta 284 zcmV+%0ptFa1M>oqV1NEeL_t(Ijm?s=j>0euhVuki3@n_)3$W3#5-jXDb>-#QJQT6k zQtwqbb<0U160m@TDJZQIqZ5o|{1X3)?a!ExKh7!8WSjyxOuZuXqlzw1ph{~1F$TW3U zN*voR<5U!@9I@=%hhns}7W-ec-(G%ShcPhh2Xj>8VKu-{K6?A6*=ev)0A^Z;*=rq0 z)uetfbK=KChX?@O*W1q>{C(Y2^>YrwNM;ZQl`!H*5GL~DA7R9gAdL7Cgb^Jc!u*bv iFpW)G^#J#X7E5QZs&Kfp&y2(pQkgf^p0sI%oT$gGb;yB0;eJ1F4v7bL5J z0zv+5PijUUJtl)Wc+sOfep&A$#AUq8fHM6&^V>9F{61NKV}H723p4ykcgWf|03Z&? zpSY(Mka@p}7N~IaJCSXrAEJQi5N9XUT*V8Bihv&Ks+)X#Emd300JpxIn6=oe!;H1> zkSQSKtiu;Ek4~7@O*5r3vuA)X#Cd&n3wBZclmo5cJ zCfi^#N~&lJv}>6gpz#Q-q(9;Y&405bvHj;{t# zOk@BI@PGN~|bm7=o=sur&`z9b7%sd;BChyq- zieB9(<9)wW$OKuDp>`gSJhBRcZblYxYisJ-v2>izH3KY=W(2}fypNsb1%mX1 zjuQ&7QGp;cC{}?O^bm`Gx!53%4J!}|$nK#U@jnp}h|o{%I*Wyf3WVxGuRD=*2cpQ@ k$udHj5(sq>hz~pd0n?_DnRlQ48UO$Q07*qoM6N<$f*itI#{d8T delta 723 zcmV;^0xbQ-2Brp(Uw;CzNklc}YkU;6DLrpF8+fjnR%K`hFV=+r5K0Gk+a%`!0Vc_t?8URv2o_61o1SnVdB87i6U;;hx zWkYWLZYPZ_b!E!QN2MdT?Ob^CB`)z!k(B3vGvck_41bU;U3?wz4G_dR`YV3#n!4&jF>6=*@;m1=3KOO;jF3tcimdv$*=9VS8kMOEb;kx+tvQ?!ENucY7J z0Z@)eivVm6U}ZqM@y!7g3p)S-`1pLn?)5-M=t2Kxf&cRSNQ zpo<#Y2|Q#315vTO&%Kom1ltoHClp|V27;YIu}m3=$xI>n*WL}%+=>Pw1$OsP&-9N7 z7zj5k-PVOCf(9ZTz-%{>O9M&SwX@4`Wz0aN7X$I%#$VH>k(o1&eeeJP002ovPDHLk FV1nqIQsV#s diff --git a/graphics/pokemon/slugma/back.png b/graphics/pokemon/slugma/back.png index add53e72303c1557478092f9a03729a3e44fc153..911c884d323381b20e8178b391456caeb8b12578 100644 GIT binary patch delta 470 zcmV;{0V)2=1ib{1B#}W-e*gz`Nliru=LQE40WE@>W{Lm+0ia1lK~zY`<(08g!!Qhn zbG|%4lC2swoeX|W970xets z=JwgNr+b(r($^eI3g?9D;s%)C^Tichc_@jlE@3LsWgV_p`v?D}A1uIIKgM&~5dZ)H M07*qoM6N<$g3W2sjQ{`u delta 482 zcmV<80UiFm1j_`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i;PpK~zY` z<&&{;gD?z+IUf%Yxn{S44(S#v?3kzzKvLeUOS1JYQ=hUjkd`!Zde^O24QBYi(=Y!P z**~mO#nYyNs$x;Cl0>I)V>9KwDrI075WQ09D=z~I5jT~sJSI$X2C%Zu`_vG`9oPi7 zS$C%e188?PIRx4VhVrd{2vo5_8&8u4wjRf7C17`G@C8f6rbz%rbJ*_?ho;|)Q|1qw zLNm}qZ!!{e8+y=u*9Hoc8v!r@09vXV039U2u@2lkav)7fZc(xOMlnt`drtlZFpnHo3=Py+)nUi0Z}#Rda^T!1&p;qepDCkaqR zbbvAf$M=;u!kD&;z&QSRnNcQsM4$x9j)*Eytf z=55go-vTu(0CoF4+tinL7%js09CLDC376RoF#XSqC%Bp+C%SrsQKF>|*Cqb;f4Z{l Y11!K>KPuHYXaE2J07*qoM6N<$f|+d8r2qf` diff --git a/graphics/pokemon/slugma/icon.png b/graphics/pokemon/slugma/icon.png index 18b4973a4587b74befcd059b488464630929c191..2d38f1e22213277783604da4856061108141db9b 100644 GIT binary patch delta 293 zcmV+=0owl50{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4*@a{l52ke z007@fL_t(I%hi%G4#F@DMRNn6u5@H`w`QUqkm_SGFmRiWkcDKZgh^oNPbMY=+4A)r z+xgGAA3veF+oitKQL_lHB;MIsHz7)(qkx0P+e0Q0?h<9O76DSI}{gRkQ<%$ty|xvv_On29vM zXy*RowCPimzFV90Nz@UhUvO9@)Hqb>7aXeSUO3>Ve-DRh--3fy+h!b6Ra0<4V2F8` ru;|SPG%kD$NFH6`Lt8$=rvW_y1LvIUV-trK00000NkvXXu0mjfuK0pt delta 252 zcmVXLTgCsNm{^_H*iIPrhZ{dg_K+3xw7F1m~0isGH!^bmq9bP;e+J3picVU-{~9|E0w z5%$ngOI5ef5u{sBj8m^&g;(qjVV?1!Bm02Ap&=M6Dz+&%9(9$dK4cH^A?}{T^5Cf* zo8b`Rw9i$87Bi7zi)QXWs!X4X^xamZPoj=6{e;6NSuhJ_=_eer=w3MB(!Ym8_TPkq zqL6TiSx>?Nfg$Fm$EG(QFgWqiAa#ikE%_+-{;{3|=bY;l#RZ)J00008zOm8x_kY4PPvkwXmU!VoysQDN zEdXu}(E0hh7BJrZ0>JB510FU}2UwVQYXB1n*Q^6DZfZvH{w$!ng+_A(c`_xHdHI)oVtS@jB-3tJ}0F0}E#uybM0DmH8Y&I$o&Fm@U#X3L|?x$UKh?L#~AnpP-3-Erbb})Q=6dNHP?&z1k zI*>h(uEfJV=RLfSkJp7&ZVEL?t`EtI^$=dR^Aj+cci#E%kSr*CB*8^Fet5@aY+`LYRpu*Eu5fyPh> zx%TtPT$a|(5W8>M``KQoz(5?r6kG$W_W9In>j1vO%ADswY2_IF5GFqXa7_!?#&KxY zrhx<@M1O+19i%yiEc}uUl6{teBuZjP^x(6wCJtXm6ilG$z90Kz{ZHk3{o7^zOZ)H62X5K^QtmSE!bWDV zsaEcJb<@RO&kt4h#~jB)g1F57&wf16?I5E}+VXgy z-8y3Yd|T*M{e6hx{2+lOzfge*oEz|>7eoQ6I6lbtjO-k7jY9kZ*Sk#pUvv+a00000 LNkvXXu0mjf(hZZ+ delta 805 zcmV+=1KRwP2lob$Uw;DvNkl56qy{su&|X5XeyGl@uUi0TgMi-xoc;ON3iLkwMIiXt3f5PchGKSz|u@8Jsd9k|rWd9A98QX(0MZ^5YGqF^uB~lYLy93mk-@L?;kd07H)g z$U1T!^n!o%1-~Yz7NjjA?Z#r;b|=;p}1V z;6JmnP`GEtj$aZv?k}G)?Z+6;gW#>&ShW2D7qom&&VPN!^Sq!4AK-TlaP#*nPYtM< zR)S3+S6{Yq3@)r<9k3<K!16sCU+DP*`I*Y{-6U@`}?tO_i4fJLhC6V!% j+aBH)TMXf*{)sNsXKxA zho;W|`G3z&;wbuE9TGy~eSVy#={X4l!bhEi{Da{+MWq)ZU?P1=fBT_`OXbtyI8Y(h zK%mVY)$0E}F!(FLER&8xJE?)tPLhqE1a`8{WsQVQcJ^>wG*uF#eOlFQSByESgPElCtk1@20O-0uSf z;Q%G?5{vx+uZrSffBPzReO};hnw3sFE|-sHw#hi^Rw%jsM0(56e~c2u}oYcFY64Z4sdV=w(<->ty@3Qe|P|%NK)DrVoID0Leexx zg6VTX92rErkHSXfj71heDcK0WaN*;GwK>A6r(xPh|9QC%0kkh#dRuA&4+Rg9EhDh} zR4pVhar}|&_6do13E-GGz?JY{1o0sO9Jk#7SOdJugq|2p`~aN9Rxe`%kWK)!(bsik ufVLBWfc~z)BB?Pr+YPj_S78hMzkUD|GM=!*+}=q50000}N51)v3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r^QpK~zY` z#gs8_+b|S{Wz<2|5)#m?R&oKGK0pvraF+lcq-gS1%c}=VoC9chDUbuSKrdjRcj-_A zUVN86k|HfqqNf`92g}s|@%@jaq~Jg66CotL9qi}OgbM1fduu+?Ipnloay4S@`Z2@KF0xzW_r^IdT0y`%GZ*d_5u9r>%H&V>T&UoQn zNg}rrxGhoS+a*8{7Etg$vAYcLGS9chANPHp<8GRjE_yDPN3(8!Yuxk`3f?^tOmLB1 zy%BwEwi-BxRO(mFD3^K>`FXCos2Md^0MoZoSr_1I1*D9bCYS~2F7som3ml404+dDl zK@r&z7M)Hs5Iln3h}1}^h0q3Bp6G@6|$mAVPOHIJLoD)0o1zniH1{fM53ab z5K>~*AS8}6Bv|WzkHjZ~X!ljvsElb}0+f!L-z%^(rgy_Y6FLcJ;G-1;{{R#dGM=!KSc|~`0000O{4*~`S3(N@s z007cSL_t(I%VS^|P{98mP2lg{52y<6-o1}s;Q!sb?@<&~yuJ4V*^nO{eJ?utku-FG zKqFiUe|twq1yBSo@T0w>-5e+&k1(O|vN2FeJ4^|Ghwx?Ni+?~}aAW@q8W~>}>_7b#&_@4Awqy(xcuGQ>qZE-^DCPdmn$3FBi#Pc7ziFC z349kaE;rKufE=Qql$7*QgY3Kb2Li!9WWY#IFh=jt63n}Dqy)q85tv|%jnUHwa)N=R ej}O#J9{?`Xo)O}jC||+=00008NC z2~ep&ap=`jy0#srGkps>-i7>6~ zGuNpCxyx+=C}gVMQhPfh>4FiM+1nd1Djm>{fYHSHF4CtsPP~LrJN83;js0iz?}edi tP#DFW!UT;e48X7-Zebq%@G|?PA2%-3p5oO{4+0B&y0EkW00aX`L_t(o!|j&8kK;rX$Bn$Q z(k#N4<+jdC9298_uO~Lm6&xO?qVjlBt&lf~haOI(O-Y1kLX*+zYW{|8bE2a-X)8p- zUjQ8~yqS$*6VEsj<>{u1G9S;6H}Adg*KyvD|2aPR=mhYr*MBza`(5a_%wI!4Y6Gr8 zjs9o0c~{Rvudo5pBLF-+0R+qf#5KT6^AQNtdzgW7n%BV8xB#V5D=?;MzdnNn_%tKA zp0{j4#sGwHH4YEisflL*m&>H$TpUJfz3QxVBH;3uKYdLSK_^GRdQ}JV@~h>9(wEN< zf$e{QzkD^JFMoai=^mZ+-FjO`x<_fT@O}U3DLY$vFVzyWDxzT$FJwHvo+ao~A4d^rzG3Uu5bzJfE66g1FvL~`jBw-)GTAFbQ~uU z2T$(JIg5&dPs=j~xL&B(!*%8}C<^seG{7Yawb#K}J(vYT=<<667~uyM=;g_xP{A5Q ztY0K_;=>9QZp@1`JR4*cCN58Lt>Y3!BI=Lx30^c%b6%sqTzt(zw$N#91XMl*6DPy@ zH!6Pyp??7wmd*>#Z}12S3{Cx^V&aRGy!a)V1C)jqG~{`Z2q9D>5QgeYN>R562w)OOi@wjXQ zTp`4J<$QOBf660(%_MxMW_>?0XIy91*=pq>V1EI&9l27X2lnY!F|VT9k+xDqk{3JrmT}!(t{D{L8-ql)#$-Zw41+7x1f{#eY0wlm;lx0;36~6&MPqvH|#(Llxl)EX9e+ zSgCucQ%)^9fL;WF+y>xHbLe_X;F(b|yt#{6-&HwVaAMLT9xDIc)qu(4SClyf2~2!6 zMTQRGp`FY)Dtn)(z#I1{GT|VB4%#TLc!5MEmo89aFe_b>?i3eE%nvH|snf2U<23X{ zD~?Y9uJ%D~Kn|_q@1Al8Cjk%bLo0xW^&PVh{{Z@hHgQAubkYC-002ovPDHLkV1oRY B{zm`+ delta 1088 zcmV-G1i$;B38e{;bbkaJNklQ*1#n??zpd`hCnfgEH`&23@>#8SYoP;*M_D z03${}87?BN9t`}bFC-FXD>2qeRnvz|(pHN^(9v<6NPj(y)bZw01X(68riTL1--y^< zKl2%68GRM>&_zab?X1;B)Ojl9B`zU? zK{=mPwST!#&tvxVmuL=9o`G^OkZC_sO3_82Dt2@`RmBxywVOz0=6pvrcHCB>Xo^c_ zy~teP{mXZh#A;dH1uBzEI@#{e+tX^*&`@e_p1~<>>n=+(av{TM6W}UU6UOK9UmX4( z`vKH72`|a&`+>dUTGy?OQ66Tw$PBP)>1$FZ9Didwu+ksy#q-N^3$WVU>JJSH-_kew zRRP$VgcSu3c&E@{nGh?M`NWGB@TF5QzoF0-kl$_|X`uxLhY zkX%$ka7fz)Dql25JyYBUV4P|pzx_)oY`ScAk||HgKLqD-VD(^hOy#J-p}ne2E*&oq z@vg4w%^d)3Y!OJ{?SMCfW47(f(``-jjDK0`p)@PZrbV&}V4$454#2$}P=<3`mtjT# zImJP%v^Jfn1K5iokk$bhX$ozR1YTGb!<)NU^=+!zOfn0Q%Mtb8Z3EbP{G1DiA%TUD zO_AjW@UWdsBr1ECQR1z0WQlT+zz*6ft{6as4`mMM)D}l>j--2mP9mG#@l5zwIyueC zIkwm2rxES}T+;_N0cp){7xsPK!Ct___Ms8LhV_5eKKu>(g*I^}x&=W10000n6VElw_yMe*;K2o$+B$e(A47(K!n^Y(-HmEeflfs=^j&(SOqx_& z7uj=@!Ta>zf2X6&*n7M+#{bDD>D_hUCjD?7xKFd|6+Vk>eZ|Jjf4vYHh}pl8gz_SN zS_m<_Z1q7H002lw*^@u9fXNH!qVwARj5-JbuoCU=l|bqM>!LlVpoK^Pa&tByKt&ax z5BwVVDvx2h0|tY`E&w13qujQKYU_an`U0$dAz<$S9s$?^->To0cUgq_DIN2}OGV)T zetRZz*#Tce;CY13e%0Sp`5clm)I$dV-R|0I&~$X9DP1ijB$3p(0Zy5vMNr za3l+7z{K>IgE~?3Uj9GxW?E5keeDC`J@=e`$WFG5_X=WIY~C^{qOBf@fV~M3pz8} R66i@sNZ27!HP#d-hFw56#Jio=Sb_ zyL2Q)Udija^uBWnnxDS!o3X;)>%VLAkA4(C^aFSChkjrjC;bl3BH8uCxEl+RfLQ(w ziKs8)$F&g4?x<6t0RSL>9c4~_hXT4Uz?RKg|L}pa4}g)Vk8cEG2bdJ~S$QJ_0+8yn z0Rbv-fHv@R(74R}wgm=*^U(t!D6L%A=km}15wrzZ{X)RW0XzWE0$0Z#HX9CD%vbOWc5y8-lK(n{%fD#q#a8sxB-j8Zv7>R$ftGg#bw}(E~0R_PL2ar#?OVD6g)q zKC=su2nls&`6X9>-N1?lV$nLkR@W9Vm55U!^u?J-Gic4gIPEe;2f*#m;g^|lzBj-+ z?gBQ=gPkMny@vyAtciZok{nt1sx5Jh!@%pr1s6kDaqR_Ri@&oTBOsf^9)9A=DF2OH}O+Zw}4 zO$s5Qi42w;83KW9v(wG+N1FNb7`wmFyPU)>A4Mi1tWc&zGk=&7v0WulyfeThV$avB zHcQ^BSa{RMBDs;T1sEhLdVDfv>~RvR?)WmLf>#gN9G-nD*qRVOI8Yn}`qK8oY?DG~ z#L1k6juNN9OFtv;SCJWM&=#*{7l*G00*{?auM#o$8B{;_4}W@= iNb+Hq^bL`|DIec7&hNbfe;g&&$6-*?ogG)2sk0) zAz5JiCIDmPn(r55V}8(Ccs14``MFC1Oo}u;tZkEPyn@}Zd4E0@A?OwMk58cpt|i2e z4k$MQW8+3?FP*|*<-6TWlPz9DP~n8#m`rx2$v8YWLvFsE2m%heyh(@9iAT)N`S<}e&hNdOn6?rC0000!EVz)5I_^ja6`)4$p?7dAJ}ZubDC_RtpY+#Y(+vGkmAK9;#TMn zP-~^CH~52I_<%-{eC=_GI8ekP&Z+H*_!}6z2QHpP96_GsHh<6Ko$*TZYPBl<(WsL@ z0baw5)G4#g2;~lOO@Qq=4kM(2zk@>wN*j0=g!4A_uspG;$BDzS0#KU*!3f%85u9&h z9Z)x~z&P(>1#I|phLy1B7NzbX^vPNID|%Z!+B$?;V((~@rU<5eiUD;NoV<@>Df(PA z%BOsE{6wkOCx5R*`J|lAk@%?M4pU_~1gu`{Gkr4)i! z`bKBjCd*J@`Ah?m-Jo|~3^l|iK!FG6IpE9ZD4FVgvB#F3R&E zT41H`V3KJU1%}ISLcBH1!4mNB+5r5fs;HuhN-zFaFBsSZX`^~k2R#6LpbX2~g&d&v z0Cr#(et|4*=n?F}^J9zyPNe zsbU*ATz`}UJ1PV~%CTVOdNG;q#nA^?7aRkWI$NAR&R2H>+5Pcl5}giEU`Ng7FXk$* z&_x7fwwTQ&3RpY{lO)IwiOiaG0^f)Hh&M5vY(fiSgkOl-@X80KVrjjpE=xL2po8*iVG3q`XKW>eukC4l}3LU mF0X|c82sU03@U&4pW_#ox4c?#^9-vVqUwd344is^Sb834ceg?+wfy>Tvr6^Z{XJQQ6zifufyFZgL~)Jep@qJJSVt)E;H(5f@f-zYu2e2efXs7g z0IZReGBp5Ow@I0g(E>|#3!BW_D9~Sg=lrc<4>b-SuYU}{A8Heu*u=jS_rqQU;2ua5 zwHG$n18@%%5oXJFDszCk2XF^Yl}#eMCaow8AwOVsZ61g^ zjKBx@g|PaU;ShHh(8aGy1P8s-Lw|9_dC%Y;=GNs+#}+002ov JPDHLkV1i<9H^Tq` diff --git a/graphics/pokemon/smoochum/back.png b/graphics/pokemon/smoochum/back.png index b6e4d0eeba0a4a09c79123b0ce1bae31611edc09..9c013c280c1d46671cd9bd8e70f2eb1b8bd487ec 100644 GIT binary patch delta 405 zcmV;G0c!q-1pEV#B#}W-e*gz`Nliru=LQE40wJIQd13$n0bfZ(K~zY`?Ulc7gD?=r zZHcu~OuI*1x+CQUFo~6|@k>NJZ=ZlED@eHBznTP*KR$@kuK5O*@5i0*dp>VXs+e?rFq30!87iFa%Y zE<*r7-hRs5ufSypIpA{Jm4z?h`5OBWFtETx7fSqicn^3z(WdaO?SRg93!X4bp!b1n zicmPq5Xc#jP`4zz2 zS4x-#lA8>OZ&co9e~5wYbq!pO?d=g_z^?89e?L#fBLL3=`oDk|4*(tS&3q$ILx1IK zF-v%Mw-R&lzxmZN=4_j`VTrf8H9`9}sNwy(J*nY=x;M_M8$Azv@l~|@!9N}*mU{q> zy9ppUoCve4D*hX@s}6mcRW%Ka(yyP|)A|Me*4@J}556-13jhEBNkvXXu0mjf9PG42 delta 413 zcmV;O0b>6A1BV2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?Ub=@gD@C`jpVgbOu9$>>5h~azz{22PE5dsS6r_agRwBysT?!onwj864*i5iqd8!YbtWc5n`Gng^tR*S0`w+Z9ik z4bb~QvP38h>Qa`7;?Y-rO*kM<(}^G^A|mQW02?q7F--|*(FGCFjxtQL2m#t&eZOEq zLqX{bVD>8}JOt!T1Hv7RZW}^iKc9i?*x!Ca2-xi%aMvM`Jp=G~TR{I8xL*hPB%nVx z4+Dmue&%zhcSbn&Y)NzVzXVU1!8T3J5^q&wypD}m&HGhzQOyHYZw#tx{TTSO{4+1AiV%%2% z006K_L_t(I%aLa#e;<%dSiWl3s`*F)vnr}qqA2;^QMGCovcQjy_Htxv`0sYun^(?4 zsNlbM!{4G3*=2ukD7DW*7T|wgUWejT{(bLWzeDlM&)u_k)*}miuiiNwMd0`J@^Vz~ z|9?H7P#_Lj!2cgzVC8>QAz*S?&oC5{!$0)o@b@|`lEd%m8r9ROmp%Y&>X5;?WY&!U O0000&6%JL{1J zzE|&@jw0}TdU-jj_y511&wvUr0&&O!{{QF#EB~Vk0h7aeRDnU79R8svhricpACVk> fPp_U%z4QS9Z0eA~zad%?00000NkvXXu0mjfNLy4d diff --git a/graphics/pokemon/sneasel/anim_front.png b/graphics/pokemon/sneasel/anim_front.png index 72da2a55e224feaa672b406c31375cbe1793339b..60496ff09af36e7c10eda63ce5cd829d49d00d81 100644 GIT binary patch delta 1073 zcmV-11kU^A2!RQZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+=)-mnGV z000BzNklv5VtI6o*Hsn95)agWFgbQY3{pI?2wGCX3+O9AY$kcU%*r@g|kD zi#-SORg1WTlnV=~Qzg~Gad9DUwJcYx4DK#qt4*1|A#Y?mdw;fObO~3a*(sLA@6&rT zZ{ED$L+F0}@2k-;%RgHG{HHZs_o!soNq75s(=|JvNdRwS?;M$~ECTT?>pSpowwtmD z$o3q@f-W-JhS@m^B>>ogI4}*M1Oa#0%YTLZaA1M`L_`2!RR++wu#-@$quTX1ugd^_&Jsd6YSvMoyjn;y z!3iO~P;&t|9+Z!1S!4u+^`KMN8SCyFEt?Sf_!45AAAi7!cOB$^!1fZt&wg`GJWkH7 zJqLMq0|^*#`jO^z)K_48XfoHhXBv!3$z7j3qj4gJM|E!FVGe^q4h?oX5;B58*r9{f_=Yc@pStz z#9f@W%YXH@{Xk@z@VdGujC$NAQCm&e6mgrHN3A z^l7n?5b>te1!p1zYy#Xw5_|sp`b7j({40lll60 zp2;2+x@!qIem|}5(m3SzQuQxZEk}8EBD2M0QGZFS=Cf)bR$b>^j86q7+3c!%54TT4 zg?4XV=v!#lQtjRXgetWA4p3yI6ur+myJRSz2kgD=}3uzuQ6`)`H zY<~!X!fX}5ST7R5NEO2AJ!*h5wz5}Q(Gtvwg&YD1e;O*t3@ z#e*)Xsd~9(@t*}C@6;%FSmOO61`tCEU!7rwHmcB2vIW#`knmgJpfPbrWbvs=YKx9HuyL;Kh=`x;%g?I-M46Nmv zT|N^!BL=PHKxRiV9ACFcF^HKhNljzW>^>ttgHfm@)kLA|9zTP>)Q}1XfP|V{ znn!Cj1mQ)eQfbB^+5))gswV_oh^ykl?|KA|P}Pu8y+)r3=;R{+B&=Hv{6s#Y+$!-+ rRt-$%t7^T$)3_Qy9EbPP|KHc&h{Iw|=TBF`00000NkvXXu0mjfmel*} delta 1045 zcmV+w1nT>N3FQcoUw;GeNkl}DExX+ zPezmQgWAI@uT19IAL4oo;EfS!wU+zrA;7a)aViB6GziwLyHyWy`kJhPlb~8F)oeUj zod)hD3DCb=vvdUzTinHIvs`cM55!3`Ufp$XY}ny88#L8~9T08@rjpP_u?+)5Nfdw{ zP}BTI0e=+L$f7~Zm51mC#X=&&>(US$L<(F4h8alw`Jc-d5eD+NU75~r#DUS`ZAxrB zn|=_V(w8@xGz1^dmcR2%_Nd6FCD8ceL<-y+jiepw(RQqolX4S%Xf(SU%lgyC7PIMo zAXZ)HCda1&<7|4he+{=UBZYP^&3=#VTB_Y^fPV!F?cM+i?Ou%sU2HOP?Ou%sPB>6# zw_d2fj;&Iq%@;!bJJ477$>F8&2XLy;ZgS{{z@0v*v|E4S_&nt!kTr(_=!Ly6veBp~ z{~qrE3Tbxw^8SG8Ur2KwRDgc%LmveNY!v{|83#*HF8Xp=yyMc>WK7&6EIz z@PBVe>_C-)kXJ%oZETaODTktr9;r3l4atLnZAv|0KB9SJS=HXHeQFzIzRGMi-)&Q+5qp{NM5?h#UHUYY7u zJXq`}0=h!l?+p*Ey&w3Q{fBbLH`#t*JX`G78#UBTb9{U%F!(vWB_YOBu P00000NkvXXu0mjf*A4_r diff --git a/graphics/pokemon/sneasel/back.png b/graphics/pokemon/sneasel/back.png index a1c918cc2146b644794cedacbc3db0b853e35903..c79ab812b143d01750dfc1dc81c125d19857d87e 100644 GIT binary patch delta 575 zcmV-F0>J&X1*HX$B#}W-e*gz`Nliru=LQE40x`X|X$AlQ0tiV&K~zY`y_K&;?nE)R%BUkt@*+MR@7UbYZYqx^(3M%Fv2A&rshv(8O_K zrg}oUFL!6({Xd>}?IA8;>>|dekpn1xTtLyC;=XXCxG9RF?*L9=e<$!*%t>d8;hb~> zcZ8781$3qet^zu1EL|y+_f{UCc zEq$nO#YV;3fLOqxv<>K`=XeXC>We(jTLDavrkG)71uy}|X~t|7(zFayI<)~bzr?Lg z^vd#hIJW?_a*}t;e?!-R&qGZWBNN~sbpXU)1L#*B0Oi(!R|5d?XVo4OW&q!HfKt{J zf6xvngHhrSrj_`@bf9@?G+{W<92Pogt>F1uRjW(f+y`GPH#iqbn8hAIcA8l5TAYv( z0%19i#2mFUS%NjxXX>I0W^=$>NWpL=nw#P)lO_EC0C*|Ueo(Wv2{ zpn-ryda2W`)jA??8G-5+ikLLE5loWJ5TKduB4{1T7jPS?L68AQBGkG~aHf^FB;Q@%7f|#|+!PLpK~WSJ4&V^<0(ZrN z_exwZct0@WoChwTSAv~?1@z`vxg=I+Db*ydVMPYu z{xrgwRH~7~KVSiWjE82ZlWjv{MZ0AcqU)AGOl^SSl1%3Wh^*}*v^rof&@>8*;8&7} z!1y+%o>tzH!xgSlTrQ7foVe`ii~Kmf5-zvlR%XWcQ!^I#dT)pc0z6nJW^ssYT6Rq9 zJw2I^e-uz+IcPH5o1P~6OKU2`$2*3nX_Fe1nY`Cpe?9Fe%pIka>EAd$?eR+@c02Fi bkLUdYp^z1kbP&&f00000NkvXXu0mjfmS70! diff --git a/graphics/pokemon/sneasel/hisuian/back.png b/graphics/pokemon/sneasel/hisuian/back.png index b37d220118397d9de64074fc74adc9f8637b44d7..168f1c7e526405dc0856ec6f405f6a44db8f7899 100755 GIT binary patch delta 565 zcmV-50?Pg91)l|wB$0kRN(pdCS#tmYE+YT{E+YYWr9XB6000McNliru=LQE40yk9E z%rgK00s=`yK~zY`y_LUe!!QuWGZ@mLNjd=~;CV`6V+53dij&YcW$?T_Ob9mtBq`(MdSfcVE8_&f z0FcUYUkr_|0iQSh0DM^ha%%(bZ`$^ASFK@FX+(T#1GP>S_EXD|`fdAh-YdYQ?k>A_ z5p^JIxN zH##qt@pAPM$kRXq{LM3t*d5Q=_N&%-vdfa_1?PqOf%S( z{|Rg~9HMEy_iJ5!Eyi)SEBYku4?r6S3D#<2l+ZX+EgQ+N#2WI820^A~N`?3qLKQNS zql(Jg1~Do-FqXu_kM08i_OV1ZP1_K>z@;j|==^1(6{? zF9BjpM@0Xn2lB-L00In2L_t(|oVAp(YQr!PhCLYCA><*1AvMj=7bt{s5Daeek*XVi zKsKu<$xbatv9eT?;XeKU`A&D9cj=)nAaxO`cya*;7vPXUpk3lh2(fkn69;ghtrEKf zZ3niL(pC=%v`Y9F0j(ZGmxL2g9*N6iGSJ_g+ax5Rftby#CP*Y5&N(m^*wYx%_>(bU z8LuV4qf^?e17HD2?F6rBXwOk(RIV@|1NDrrgQK@SE7#_I+ zXbJzL2K2o;Q0@*R2@@zzJZcVVd1#6F7&m%_Ksj@MWfBZb;5c)d=z|eg%cC5Be1CDYe6=tExqA{^3?X~LAc;BYH%vxUN<=tUIe#O7Jv9irfsvGm^xOuj zr?pyA-0~YhiAc|FQ1-NdbyX*4?8F4NNmS1LLO+XMTCA%&$@K@I7Y7+GRL3ZxX`xEi zm4Asjln)Jth3Y94;ztOTNLRKhIleYXQQ3!{B*uGP2LKrSJ;$+nen_Mu**6>aALkbw Wa57!WzDnN!0000}lbla>so z>SVkeHgxIILWV+HVorlAL|dc7f!ISAgNA@M2|~bh@%2u&OYA$Te`A;2B=kPtd!OF> zBmr=@{`<-@tlngQudIyog`%5qv?q`Yp0nqv#s_zjk-K4q3_PD(ca9x2m`iU zb>21wO`${NbCiD*nh^?Ng$_a+pwKSYO)O9>Po5@n+(dArgfsUuE`)K}js_$`KXFPxMzWOU|IOy(IwY&ZR X!2Sfr6Kcg900000NkvXXu0mjfHZ&rP delta 699 zcmV;s0!01K1&;=hBv%J?Nliru=K}%`5HG>8F~a}=02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00J{fL_t(|ob8k`ixWW<#~--G70cE_8W|QLl1?i@Si(r|^zQr& zeglhx>2{kdf@`&;84|FuQMf`-xiDMAWl=+h2$vK#ffNVZ?ZR;oY%w+7zaDu`^q2hilamWEf75gu^;YSHAi)a*P+RK3j0jT&RO9@P^e28{ zssKr?PifSH%+E+L^9;bCOC>QR86o6S*CDAWfVTWCx_!6ORs{b_d~DFc{xo1LPHU)f zX{ayb^nDn|xKG{OCmTa22@#*x<4EgT?3L$pKZsvuoXEj}2J*c-$%-f1IE( z)rgQWmLAXuNqZ~E<{Gg7N_x;8fE72TUbY~CLI>a}lK?`VGX-ZZ^wS3Gup1$Sp_oE8 z6MB>K>k*1iJx6NARYy~8-sFdz^XB(pYQO&3yCHI(pg8?piTR*5gg)Ig$cro09p3*E zw!dMySCnoT$PK1~b})p`!|n%1e|EBI-~=KNq9ex>-e%pF<4cd;Cg2xUrQ2;eh*stk zJj~b6$~no(e6ZERxmo7tfw*1=j>Wv3$^yvM&I)h6MuQx~3W(e+*LJpXvYbX$9hKB? z?yR*0Ad$mB4PW24RYG0r$h3~DsHZqVJ9J1~z=^wEw^eriPk_A(D7SG(Srd!$$yNZ< zGI?tg_unpVMC6(+Zk;{6Py@3T7ekMu(b-s~TK6s{Mhkp2TD-@TMK)002ovPDHLkV1oN}LCOFC diff --git a/graphics/pokemon/sneasel/hisuian/icon.png b/graphics/pokemon/sneasel/hisuian/icon.png index bd9cae88b9bfbec648d238e0a8a067ee49c85e6e..92cc6750febf47ebb4179bfcfe4cc5c0689587da 100644 GIT binary patch delta 240 zcmVOmX)KIJF-FIB?HpIya*|Yj%*O@|9f&1rtRc1l0000|X6y}`r9t3apwK%c zqroxp7>MdlkpewHBk-Wd*Y_Vjz@JSjPtv|)UG|p-QIOy2V(BhxH7KyQ4Y9uHTcQ~> z;5^nEaCavSU}d7D0S495KNLx;gBTDp&&o| Z@c|7Th$YM%NxA?4002ovPDHLkV1m7%Xp;Z{ diff --git a/graphics/pokemon/sneasel/icon.png b/graphics/pokemon/sneasel/icon.png index 505cde5144061af16c82641d6899da573623775f..0213ef4e8e84adc52e13a878c21f797a6c9cd52b 100644 GIT binary patch delta 293 zcmV+=0owl90{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+9Hgp@H=P z007@fL_t(I%iWT{3c^4PhwlwSA3y~=t6;&=zDPI0p^Ip?0=Ci1b8O<^HOf?62wvr zz$r5YNq~phKmuhEQA+?F?0LaB4+!QBf#5=TzpffEJffv^?KY|s(Z@B7Z1H$%w7co_fV$myeh##tB!kMUhB=i{~$ANGOB>@=AN z%J^_N>?3Zc(w)^P4{CHmfUN5oV&P~&0QW$y>KO~@fQiThr~qnzxts%7MhegX$PW{M z#y>McR8T?9)Av)4zfcA<0LLf2{5S;|0??17x|#v9BLMuxBuBYNpcoX2Pgke=QlbUz z5y!gydi^FlUBw81wz&R$3fN-+__HrJ$8FB0!20I*)qNZ*JOSGFNjpg2vdwK~0Cx~* z+jdB?3Cb?S;9@g>ssn~wvrM~VaX=%SZO4UzZ*L9o90izQ%FA~`Ebra~Gi}mEF9Yp? zupc9r>(-RvEG+NX-I@BAZ;9DX1q=dV5C@w;S8<_?5YYp^5%6|S7j;y7u+@*X6qqFu zCT_`H9BuZH1tsIKGyDJm02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? z6aivOM??UK1szBL00LP_L_t(|oRN#I*wfFS_gO3LdQAUy-XUrcfo2L$q7 zA^&_melG=D&>nGZnr}C6)A1<=05ti{moZ=u0pQQR-kw4%odTQNKi8)?R(Jw5&6B2= zzGK_F)BtWT&@@e-VjC1~h{45ne^3VuH|Cgj%i@4WxZ4d21>fHp;5iB~!IYODgjn9m z1nc69HhLLo4}|?3xZE_R3>RT>&+aeOzida$>r_B55C(Cu4RjS3$_No1;2QyN@3c`% zwFg`MSWAIf5@F(&+{fWAU_@8S!KYT@i`*BkYXl??Q%F19&G7DWZF6n9e|m*L7<7KD zDvK;vcPzNxvd<8Pbtm8=z&zcLC}2iwCHI#SM7Q^(@03tV-B6G$I{_(c-eoJLeD4T> z4*=9bDi_Nt!^;}XfozbRrie*($`WvbJ&6GD{;gvd(P*s!cw-AtTe+{3bOzu!6DXnx z@W~iJ4_u7|ih!)o-;#U`RG`SZuFtJq0%aOdEp48?=JoOnyrLP!yeQBgjFdSiLj?`M z0LV!?1URK#KPBUtGAS5kW~%1m_?69iz@Ll%1$db1mlD^9lmGw#07*qoM6N<$f`T+R A7ytkO diff --git a/graphics/pokemon/sneasler/front.png b/graphics/pokemon/sneasler/front.png index 67159da6bc9724e3fe59af098d0b58cdd4689236..d9a427a1e2d4937f686fd45aa3a96347b91a1152 100755 GIT binary patch delta 773 zcmV+g1N!`t2i69VB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE40~MIA zyp{j}0=Y>=rDY3Z1G&Lhr}_fB)XScXx#Rr^jK; z9&lUc#k`2ETY<1+;*rOBWFqa=E1#YX&l=6e~f9 zCg4b^cc02^2{>6je}`LC=nIjMCSZ2UCetTN!2elahojlU-E8SV{BL!D_FvrzAr}tc zExjN#{2jLgZa_mBEQZGUVFQHh96->R0wD(@0pm_H;KB(M{Z?a@q+Oi7g=CSXZ!5xm zef2Ssx{hsfYy(0BMgl8!$8{jkMdZ(SVY@G&U8KhwRsR5oe?A{}A*B)^OlbvhHj6+c zII@5nCWoXp4o(4WkuCt&%v818ZNT3ec%wfxQ1RFV7!w1y`U@LZ0hs>nAOJ|2ky-U{ z_^t*78s)|TC9D8G`Eu?nDGYa^wFHLyV++vL!lA&C%14&1@9gg^fKDiqeeTtEw!?Rz zz-9=+M8dtOeE4M2_WT)gzAj@!Y7N zr-ULvWpy2n4R9zFma%MR<#>u8@h?4B6DhkkfU;h!dk;!AnaOiow~5Sf`4Lc4s!nZy z$x8z%RWH+~o9Jk!X46AdX^7M7ayBIhyl(&odu5r@d+lQfcsVHbaogxY(?Lr1hMynq z8?%&T?Pl-#=5*S8rLL6-NZAaaO|Sg>wJd4+PuKV_M@rwY3hfi`00000NkvXXu0mjf DYRF;P delta 830 zcmV-E1Ht^(29XDlBv%J?Nliru=K>ZH1uk@A>U01A02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00Om1L_t(|oW+zeYuqpt$7KiY5pF^jmtdTut5FEe<_1(SX6BIHQ(nP~8ol555CG7|38puHix0It}yM%s^KIyIn+wxp3HhMq)|M&Es zM96w*y6x@eL^v ziY-9zGzXA2tjKKgdC0qOuFrW3#U*FmKL@uNvAk} z56Lo1-&TbC_WE-obsan8#0G>2j0INePMScVi^yN@!OlQHr$|pW>iz)^eLm_zN+m#; z(i-4w7J*1`WC1Ts4oPDioB}!`e_aBunW=iWJAm67c&C3gQ1jRXm=FWF`VSjd1DM`+ z5CEji$W%QXzNZ0!M!9i72`hjrU(J0jh0z{tuYl3P!~*oRa42x3^0DRWI|sWL?@wMYb@W$_d4(hD_}vS$M*>&N<`RMWY-sumioDE^`Pl6 zCHteVj}NU`O0ssle{*}*mL;yW5&TQjh(KSxU6u$C2d?*IS*07*qo IM6N<$f>=0bW&i*H diff --git a/graphics/pokemon/sneasler/icon.png b/graphics/pokemon/sneasler/icon.png index 4238b0e6a34a0af05eac7fcbae351d395c2ddaca..acc1e7d720e899d99d67fa9f97c59f9298ae9190 100644 GIT binary patch delta 388 zcmV-~0ek-51MdTnbbkN`bV*G`2j>O{4+9&27Lkzv00B}-L_t(I%iYt>O2a@90N{Cp zq2Q^PJb;HDN>3imSt+t7A$=MT;tS}pcv}bouYvd^wG_Gs5$QxLl!Rv7{OwKzuO3_o zgvsvA&h8h0KORWpy?%=P1(0^P_%?^&MehuDEXNmyd z`@rGhPMHPZOCKojv(MQAjxI-;rjK?;<;w2g(o_+;oPgnZxC4yWE>dkTY)-xElkoQS z#+EG-?pB;!9-6ZKihN0^BIR2v0@#~K1wKF+ekn8eRS7dzW+YCme8%g|*ssCU36z-# z028L0B@K@JY<_(8d{Z^0{)d}*VIze7k zC&-Ix1&N%1wIGZI^;!`7t>ZYbg2?|KSPQcIaP4AJ3z~~&*$R@R?3|RNk>v34MCHH- iG7bPWV15Gm70frMSIkiRQo6hV0000S5C`yigQ4K5mpp)n9!gI=nzK@5PeS@M z9>f>WWAU~S3cUv6lhjh^9z>)Ytxyu0ar3n^5xjbEp%DJvnaw1>0Q~VnE3T_wzT_Zt zf96{AmMj3$T5o(%8j3W#aLBUs79fc6F?e?JBZ`MHML? zEf3&eA{B68G5k_y#;00LNtuCoV#PDwY=>Nf=OZXm5dc|CwhK|>Hcdway+s!O$EpR% z;Tl0=yhe~PR%{E>F+b&6P%d6}El9lmMi7f?1+l1B5Q}OBv8YCn=m}T}!dOtR1QFjl z4g)91^5=n-Aa@^rTwGRyW@1=!f+Q)oC!uH{Iee^a(er_XJwR17{R!k(FyE(F%uq?k RKh6LE002ovPDHLkV1i8GrHKFl diff --git a/graphics/pokemon/snivy/anim_front.png b/graphics/pokemon/snivy/anim_front.png index 893d974a254fdf076f66b13e236d6309123d7a8c..d76b490bb54e25918abeb4900f2dd1f1d89c7c40 100644 GIT binary patch delta 722 zcmV;@0xkW92Bij&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+@v&K-EQ z0007rNklv2GJV5QcZPl1p@Zb_>$&(OTNv>SBcs>sq^r8AyeYtk@lm0T)r4 zh{DuJNESQ*A|(ZZmM6fe4@I&I8vG3G+?^=M%tqAlR42`MvwwR#d-MN7?Bdpj)=@Zb zOcJs0R(Ve_KxQ=Ni@sq>W`MkIq;?i~#|kibPEB)Op}26*BQaN`8sU z;naFS8U!?TTz~V^?Ughd0ZkOSv!4GfhOvo#Qzf;^uiku96j{}EavST(^WnAzjG+Jp zPlsaTffWMeVQwCZb!@r=8j$;wO@hamFu>g$e)~%+O=m@Kp$!n@t=0t%s1$)j$j%@o zS5TJ#naOl#u(FwPbhBKVneNJ1<(PXp%9tanqX&Tbu7BkKHTOifyyXAh-rUE`@__1v z^J4PKjYIhs%!$T+^-7uw;-A(FU?BYLkJ-PwNZ~)4H{O2aoIu6Kx4$Y9~ z}HxTD9 zSU?=StA9Sk@RPa%`aDn_MQsnb5_z})&T=^0UNz4YP>XxheyUO}?%qK}-q%q;E$&vt zk&G!ow)H(P?pB(}-yEW;agwE8+(lzSt{3=Wl0EEHWkI~z`PanA5=ApY0B@d*uN7&J z{sJZGQ55V|cQ)n>ghJs(AnB}lz-Xa6oPnsNTT2&3$(o$X`j(~1XbaG&zYj+iXw)C` z!Z}|3%hCnae?D^|`FCR%)ZVF`J`+Lz5Vi+9|8VQ$54oMeI0sw`djJ3c07*qoM6N<$ Ef@=?04*&oF delta 691 zcmV;k0!;m-28ITZUw;CTNkl$&(OSCP>0*Tr>sq^r zSxAMDtoS+_LtI2@A_`L@AzAPMh?FS^v^)V$eJGM$(BNlaX77X$p4mJ=Jk?3_yKnz$ zzfXu=-PzJQ@b`_0I6`aJ2Z8}oqp@G~4I_~s;_pRK^ce|d?SG+p2tdICrL{-%cc0#{ zV_0jSeY^a?0wn@pzXOnwQ3;oU?!!TLhpLh>)IX z2Eb7)WCTD=t|ZItSptAG2xx*(v$M^OG#UX-h}>Jveip;fgm9>m8s%4Swl0d)ojN&< z)#T-HQv=3OfPb>jhhh!D5&?2E*N??2G~EFW$o6D ztqU4ZF#?g0ok2{FpsuY=O{zPCWs;g~djveJEKW^#X%a>Cahao(*`m67)?&X)-IjV5 zGa$OvHP;7;8Pt>&0EwQzFD571*w=5_X;S(Cl_f3f1An0Mk-sn0EdsmR)vo@nTWlR{ z3?D%0vH#peT8AF{&u#O_bM~K?*10=t|2_0PG96`VsX{y9%A+M7y`t_D;5w3@7+R3U#}$`(B}cS6?Ht|Byzt1zUB6ObJKiNKyB{z zH5e71(0NK_Lz}ypQ0=PNEp@vZ!gSm?)f@}-?Fwq{Kl#3t` zcK#1BvO?1g5Wt%!!!42a=r2%_8AaJWcV|N`Kqxd`1fmX|Q5;~j&>b#7)Yh$wqGCgi zi@sH5QaS=O?hlob0*(7)Uu1N`aPD7Kbkj*7F)Zc#VE@@T^LlTYlrMb!$%#K6?DE5% ZuRpn+!8qeDOYi^y002ovPDHLkV1m)=Ma%#I diff --git a/graphics/pokemon/snivy/back.png b/graphics/pokemon/snivy/back.png index 7a6cd028b153311c2efee79793d47fe982d82b39..2f9eaca6e151349c07a46c9352de104d7cf4ebd3 100644 GIT binary patch delta 554 zcmV+_0@eMO1&{@hB#}W-e*gz`Nliru=LQE4112Ya-GBf90rN>jK~zY`?UgZ$+b|Tz zB?Q?HtOV*?JXlkgfQ=x{lFdUuMuI_SD4hb<-W;lyPB$IgcHg0JrC*@Xp*lmh_g(sA zhc;H^TifB@;^F=L{QFC?O~`Bg$3;1Rxjz?z|9ZJEgqsF3(N{J(e*gwxnM?p2o`ra8 zt;i>c43N03Dl1$x3q=5qwyLU6V##?DQRo4CTfIjSC?X12jrEm*TSOH+pdMHD3s2iA zzdqa^_xp#N@c^0+S9Y54Q|Y!I#aj;h$FifB{Ghbf zql|NLlGrpK;b^ekf3C5@EQA(1OWI931N-#K-i~3c*}W0W^0oz&j4(e2D(IuB5hH?~%a>v{}8g6o5pNZER2O*2l2fZO2m6lf~m6l-fu0MP6& zu$cM1zS)j5Y`_Bxj3N?d57HVH0)7)aG!;3srIBVIIY!{Te`(GR)NmO9{T4$1oP4&W zW|6kr%cDG0N67WAbE*g>0wBnFk{AGLcO9fEDuKlbHCYEdwEQDckZTXP03anm<{_7$ z0`NLT*ym%t^r#;c@l3_uUp ssD4S(ee~mkAO!FGPS>x0i+@nR0fI;sZweFslmGw#07*qoM6N<$g4$dJfB*mh delta 559 zcmV+~0?_@C1(yYoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q{vgK~zY` z?UON!+b|TzpAcj#SP3+@c(A4}0UJY_C7XwSj0A(uP&yr0dvmB-I^9(0*6&cb(l1cx zP@N&$`!0R5b8V#9HdB5+WH<=mC3My&)0IM-(WH^-0k!Mio4u zzO3y>v23RR^X=|l?X}*WO_Bh(zx(l3>+=Q7ojaKCpFUrQ3s^S%^3#T&O1E`TZ#CQ> zPmf;mtD2=S)g(IZt4=F{#r! zm@|5=2VOj6v*xhbJAD&8&KGLn~Zezo31l)@UX xvTVly@^FpnKdt2rz&IiLxzjZ~=U)flH-bnNZ+(;sIRF3(002ovPDHLkV1nWQ{UrbZ diff --git a/graphics/pokemon/snivy/icon.png b/graphics/pokemon/snivy/icon.png index e423ad152911bafcc8ff6aaa93b0b400c6ef117c..251d3901dbabb5c15b749f2c41986a377e2549c1 100644 GIT binary patch delta 328 zcmV-O0k{740-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+@)SHHIU_5a0~}<6 z6K_h&&3-5PF>frTT<^pm#;xU&FG4`%Z6D=0Q6U7fu*?FJ`vrE&=HDiLRy24}@8ZeQ1~)fHG8|t?9fR zUOSP}2g@c*4QdB#p>LV0n!Tp*anhSH5baI+Cr!vDs0OAI4)1rsuyR?1%KskE ahH-5Qg&x`#yL&Lj`AU4KrL6mZ!l0l^1gc zgKC&opES3J;t1rx2%YE~n0AdgXRDYAg)X_usJnJp$wEYU{ zWme{)rn|EF7)KSH@U||IwO8Grx+B=}{slbc|G@%?xNyakP0VdEUINf{gt4VLA1JpL zKWJDwfC@BVz3H|ZK02wfN6#kA^`j#lYDaIOtqz8yTYCzFPY1#-FGKOi0%ONkl`}-}Mpzym8)^ z;9zPTuVWCR+n_@haA4#2_;m-)bp#mg#}Fv=XXTgz7>A#`HbFxJkqiINyfpW9apvv6aD7vN}3V)+jyKn>MZL Y9|Vg};IZri7XSbN07*qoM6N<$g6d(YJpcdz delta 385 zcmV-{0e=4C1M35jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0YpheK~zY` z?UPMzgD?<LhD^&?^ia7pX-08;$`^!$>>OPXbqCAt`L*uDR&kFii8U0OPK<~!K}CY9d-MTDT^ z_i~N^F1)uRIM^D^#Y7>xjdsWZ%zT;88*q9}0IR);fl5#FxCpmg1Sqtgfq>%vCkCoH zLxi57`Y00M+N(e+9FlKWhgLw#eGyXjU2MRZz6Dq}g%|^;YcoR({XW#TI$9-*HzFA2 f-}Rn7US+WNrlsd^5vcUg6#rHyj8lE{rhLLzn-H<0MjzS!$`j zEbD#&u{rxOUm*$z^8h-$F}~BgtiYH{0k%aQ)P0Z)vF_$T+esz>f9C+U5gPy>oqkp; zt6?e^dzDzcy>~v7SofnM&M%nxEsGj8FdX?LLcG%&95dKupv+*ea?UKk!=@B|_{e3C z0D$EXU*LIa5lc{=a(>D~P&*!Pi^KX`?Ow6w*dMOa>zDPmHuAPDd& P00000NkvXXu0mjf$O(#s delta 324 zcmV-K0lWUC1Fi#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0S8G$K~zY` z?a{GL#4rp7;N+w-lT?T~4zN=fUZ8yermhty`ECUXd^5vcUg6#rHyj8lE{rhLLzn-H zW2a`RrT(<6`vt`2{KtHSC?L!O=x)#=HY5 WVp6ZUsZC}800001)~b$o7L&j`@qB{3(OEYQctx+MHoJ+V2fh-pnm;wd?-|XH~rK53%hM*Qmk&ONB{r; M07*qoM6N<$g0E6rivR!s delta 196 zcmV;#06YJ`0#3d1lILw$pP7)=2aAF@*+xA9c?IEV05C?ViA z^f&HeIka25MVn>GM(~_F^+B@A+8JfuWq$cvXss!eatOo=e7sIs%M{L+g~? z@X*dc#;{TYj~v?@;v=@~t$ng(q$%){63n_Shh?XJp+5j4%RLf1U`nNdfT=iS2BsQ2 yQa7W923DpXa7zqRe00004veZ(DHw z9tYdc5*QcDLc)Ou#{|5j*}xW8?OmH@4-8jaV;63=Oq13L7yKFW-stbh8gIHlrdfY$ z=co6cW=48H$N4V?JTZTkx|SK%*MAZ#kVHBFPe(Q&qgxZ6S%5P>%;GraJj+}QkiEWm z%XykvLY$?XU(o$FfK4)v^Ky_`a<|S3ed2YsK+Z zG3EmTm>at0t^|7a2k21_*I_pht&D#fM?mw>@*D^xJT@Y*=>m!z8u*6u@2Ut?4x5%W zATW*?uF1HJz+eR>aIa`3#t{ZcM^Opf3|G3y4{EW}3laOYs9_Z$;SoLN;#UFp`Z1%7 zHm!;P3Fm!>%@z<8CHUDSZLD~Rz_8EW6gARr=`k(=?-$HC1aC&uKUMSfjjGq8DaSLdb zu#^Nei(p#=*gXL(H}bLt1Y3VIfB`UVtV8TJ zG7RL43IMqM>kp7}SI%PvVIb}*AiO*L{P!F~Xktn8;&ughUgYHfd!z}>dbOiL2RAtU zIR_CIfYaOIy%<6hG%xgGi{DG&`34_hi9k67Ws(xSVjZ62y=o_Fpr?OVLdp_g_6=TdqxjSBIU2^?CKwFuVv-iUpeqOU&3Dt{Q{M?x?f=pO=)S4|Dv4>= z2=qaR4?0IDpx*bYe$%BvezPG(9U7Dai<$1cv8h2&6uD69V^4nzL~Ljfgpga#$9s4- z(+(2@G&CqoUb)(|-oq>}AqI~(G|1yaub<0Y)pp4!N)2K}4>9OVJ^x#74`dXD2C*9o zhvy`YKj8;%8`q9fM0iCiN(O@8U+Nn*QLL0l0m(q{3wu=?NG&OT)@dNMV`u?6G7y}1 zn+`KN5{!l(P>6rFfs7;QHw9!gI}(gRbGIRA8_4*y9(>78>p?CUM)y}8f^h;k7K~Pn zgIXC=tNQJ<^9UFzT~7c2002ov JPDHLkV1o52If4KH delta 1148 zcmV-?1cUq43cm@E7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1U*SaK~!jg?U?J5 z<0uS9EewlEXutpC4gv(?B8WGCwq~2|s+n~B9SZ_Doa6X^G=T5&>eNpOpql(+fI1bh z7Xk2)pjaa1p8+tVv^KGw3Gj%3oz~|+p`9n?9}z+iFqiV0+5-S+tRUaqTJx9yT3#MJ{JeZG?l2ss&o3<$TSydEkDWjly}YydCIMiJ|#`30&6 zICGj*RvN_E`Im#HfHFVvZXE!Zpn=kdmwVYzQLez^rx5agx-71~0*HXHim8M!jO^pY z0u*4dtgfL432-V^r(!n|n`VX{xZJ<6n}vD82=7UJvM#{T3dS0hGUknGZ>u*+9~ zKmfnWe+lq$b*=jVRtBWJ1i*=bzg8sVywnHWrSXAjB|^+YB!mrb25{hh0PLLLQ{LhG z@G}7L0qorEe(p^0Lp;_W0eGJQ;6nDk?%Q8B6MU0@PTdce;lnQiup6ukp(?sQ5v*q| zZ?0hPaF=iaSRAi*3?SZ!6Kof^7fcDj=K{X& zCsL`~$^g$_4}klwZ%*W(vc^C;!xc<1mGCND3py%}J7=s~{;9rE&?P!YKLH zqL4yC1rp1Y6$Wh(t;Z<}g*JdzVT=Yt_Z29|4M;Q?jl!5A+Aq6?%1iNl^LqTS1EKr2 z+@NPOv3Eg(2ioOZ!sPtEH6V;IKmL;e*%=I+!!UIi=r2}zDj_ThX=7++uT;WU$A7bb z6A&B!zyySJdSB=L{`kMi?*Qu|Yz4%Wu<{4JfM|}s$sRlt5Dg&NgM~gQd5D0d5SrsV z9?B0%AFwyR zI0VAP9#nv=5ITF1RKUdz!cHNy_8{p4PS`7i!5&n7@To%Bp3VPOh42T~ZftnOR01Xd O0000;n zUj$#nOrU!f00nSPK7a(UgQE^1G%WzoxdwVXj^C3PUluz7Acjd6f8!$o$p^ehIwJRR zkS>w=0uVAcs=mg#7=qF=pmY6)+l( zNl-$_7l1aLf*x4{+Ti9+5Z6GPI=zHR-sb?qx|LBr&w(nR_>?87UHN$=9zU~;Dtj83 zrzHXh#VGs{{W2+%Rv!aNGo`Er6cth%os)eWE?a0uYd464G-}lr;|_qmG>b)mR@CcJ&KXuHK~zY` z?UKQ2!!Qhn9mw4=4eYi)!;tS?u%Jgh%TC#8&$_+9Xqcc!&uN|1v6b|?L4QIp{9i2T zSJXp)Q1Vx1U4A6#S&;v_A?cKZy;u5Iirf*?V-=_e=a+N`SngbO+@i9qKyZrM& zJbfh@6?Rbfe2c(A_A6Y8b^>;y9|DR0RAnuoD1QZ7=VTwd%N3eM(b^SaKdlkBt{64| z90zH)fY4^O34|IIZvoUOBOBAfsQpUusm5B59Z$eR|3ymu0#vZ?Clx!K0RR9107*qo IM6N<$f^12h)&Kwi diff --git a/graphics/pokemon/snorlax/icon.png b/graphics/pokemon/snorlax/icon.png index 36aeeabee2f6d81e02f1c16ca1732a889c4b390c..0b1aea4082cfc9bdb05980c2bd7bae3ecb31cc5f 100644 GIT binary patch delta 348 zcmV-i0i*tc1Em9y7zqRe0001qplF?uEFbn|wg7P&TI%Q!uBOV&A&AWsI$S2~7 zLA!LbU_YW>3ImP?XD||km1D`3+^Jj2jVDngs7sQ&3z_ARnKl|1NNM&M|xeF5D=~K z2EagJ!Qn(Wg7Z!^4_DBEp6k>SjUHTzGS#}RCjh!cT|O;rK8^wU1JkA`IuDYIea=qS zxr(8$V51JzH2AR2FSV_r74~X-j8;ersx-4dkmPRTZ+?Kx{J7~5_%Z4b`Z4Md_~CTe u|I#6w=@9#2b?|-wM>;q^esuV^etZLxjR+1d_RHP?0000z7HwEZG5ZwXq$}goIQ6p%O$wEp>oy#9NCIM;upuhu{L!(#nEf5^xfEB^2UF>BjE6vq{T$Zjc~+sgR>ZG`r7Pwi@hFA>=c_KB_m>y)67pWJ4#s4`+Ly? zdmxAsd%%zQ$lBp(${$$+u?(y|{JxwHZJ54PGO$4GJ;$ZgL}~8^zhhx8_#8xsfwt;3<>q58FalE6JGwV)7*F%k`I3m-q)mQ=rGWlyHauygj%9{*$sw)iefiOdmQ7qBS`>>P$xlzWHy6Ghq9O>I*YRn)gCrxhi8c?~Erw4%(Hn*t?0@?kb1^NV#Uw;AxNklBjE6vxj3ligN5r=RuJ)+ue%P3YCo)ehZ5%t60FKSAjpCclS2E9QV-cNe}yOZF@ zSW|mjoxk*3;h`Jw!=W4KhGOKLa55E7oIs>}=ZtPoO$UcAK!0iFJ3_RcCXmh?Gg{FV zym!s$stgLn=^5Pw09O7ZdO{62LUzTc+SlwKGmmp`g|{q9!HtiUs_)}OYSDOO5wONhyF*i-9o zvB~iT0~^p0LaC22uhP&x<3=GRLAXw8>7Vg8SBu zYESwiHU$ErFD-o}#v+Cq7~1Wus4n>g?q?|Yuh0npQD15GWief+RgM}O)F;tZE o8{(ssvL8J{eZafD-_(DuU!TY!U~|=;6#xJL07*qoM6N<$f(6?F2><{9 diff --git a/graphics/pokemon/snorunt/back.png b/graphics/pokemon/snorunt/back.png index f0b22e1661259c4a536b819b9dcdfdaa6e33db89..2ca3b0de72c156f88ded404b1134074aeb307a32 100644 GIT binary patch delta 470 zcmV;{0V)2*1ib{1B#}W-e*gz`Nliru=LQE41RF3{2UY+80ia1lK~zY`?UhY#gD?<< zqe$#)tL(wS2Pnw}0GD+@jKl#VZqOq{<=CC^n7?4Bn|7Cx5F-BOy*C3=4u@C$OR40S z^K<@`IG)eXiPObAC61Tc5D^wI!;Od}C}4)cm?|iN4g*P4A&HYge*h&+NCG2Rg^&bB zAd5OEfdGZ9gDEfqN*GS@<^eL=!i@*8*bfWN0g2!)rBN}119gaT)?r&#W$vNeE_6t~7;3pu&+ z=*klNWJ*UP)t!*+xo`xHnAtce` z@JK!(iByw?T@xif_P{($_2|)Sl)z3&Kz-T++NxJh;>V$m@pwt#`YVoS)5cR~#h5rpCk&}Q&H>>?}#T>!K!?>*`}YQhH<*&Fxebt+ke%cD@lF;4wBpr ThU4lT00000NkvXXu0mjfM;Oz} diff --git a/graphics/pokemon/snorunt/icon.png b/graphics/pokemon/snorunt/icon.png index 9877e60b2c5431d37e505d225be8e26bdee92a18..d5bb8d725f03fc2099c7b6aa510e55ae72ed03c2 100644 GIT binary patch delta 211 zcmV;^04)E70;>X$V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+J6hTi)aV z0053jL_t(I%jJ@>4Z|Q10NDU#g5SXlcodf@)0vWSkle7EQz6k@NR|J$F=1iiTmSx;=|A3g0q`})+ z(?c&tS+m|f-T?DB!c)F|*7^H=tXc0KAAtEB;Vr@DaKX2MV7>6CnLRB_H=-f16>6TnkrA$t8Ay&x3pR1})s6mDgkovrb zhU?s+>Kw9QZ_VUm%w+tb`kv3g84fa4Y9&r`gz`TAy?4F?KYxa?9e-);ymdVNdc32 zu9yS_l#b95Fn=k~^C+vy4$ffc!8%Il2uYwJdi1Ezumnuz3}Kq(78C_Q1OW45_k-+# zumQV6u1U%Oz@s1pdI(^^267RMIo}a-ak&ArL`^~}4ZHV?Qr~B3M4!R9L#Tss1#Y(X ztzxl;5T&$>Qvl=IH$qydS^RW{Pc3Wz5aSyGbmx0vo_`TSP_y~r)Y`)sAP6AjR^2WL zZ&i-bzO{D;8L!Ww-p=po;RUI{acUF+vfx-P*F~FjAJALNf_AHQ!`PL8*epWuYTejH z=(hx_aax&#>05gf>SzQlILWr0`gD7~?JqL5llXx1%oQIJXFzOH;ggl6* zd}OZ!BGG_zr>i4&c{WCMr$5jT;Z;@-p4feM;&TDXb4rXylf=;h!DRY`$1v(i@~mrd z9ZxZQ1u(8B(MWfqOg#Ip)|2PWKei^ex38q_*nbMfzaSXKOM)>EPy|CCpa_OOKoJam zfFc;$097!w0jgl=0&;?}I`V>{`{~LFhK|SyhISc>VCaCt7ez31^_$~`U}yr|8?+D% zYi~6kHen$cD}Z|d^`;^i#O)||yDk+<@L3fM^3h!YR18AiDS{!!f&g2jUrAdPj0-_@ z7Jm^v2(VSbXt$t`*O?nFW$+Hm3C1}>KdI-=0vHCX%LxYlAzY58i|P3oiH=1!RQaLk1?GkVCD~egoPg5!urA8yMHQP9(wVO;-QXHkVhV5si?HP5 zs;W~|A}4bHGWjwxIsT*ip3jNT@g+=^ij-F}Al}En_b%tikEU(v zAJx|GD?sUZZM(RIKCaD2`>1-hW(cVspz3*R%>n=*2c6vit$)RYY6&$FsVxKjZV~|9 zIZ)_o@2mx2Cjrof3<2D011Gt$KBxBSb0f;TXWU{)3Pb)zz>TMobPMf2>lU2l^o{Vnl?cv3n2egLivyW47!hSJ&|1%5Jn+FC;STXk1f=7 z6h)87hs$G6tAOx?UyKE-fXIi-V~ni;csrW06@VUv;k>T~ranZ>U_jtKEBcx~VNo~> zLdN_+34dq}i1vKu1v55QjfjDO4`9sfsfcZs)VN^|h6=*JO8VZjd!IbS@ZSnX zI$?!iECM9KPzOkYp$?D)LmeOqhB81F3}t{U7=NmOj9}y|D;SE(3Wkcv2!?VSl3=KS z!Z%4URQ;RdR4^0))(uJp!`R8k!y%-Ckprv)=(i-nAXZnp+p;KEg0He*kk3{MP+o+5 zkOYHQN`NiW@1!FO#sw$3X+$3aYO-K-+AznS6Wko(9hMP{bA*0T+nNWs7_2TM82Bf5 zIe!{&rte_PUxHb|xC9%tg$>3sSX&kh9qzZq%Tvc@{6|(Wbn1*8GdUA8PFfO-OB*~? z%K%xyxTJUi=;A$nB?(4N)17#40uaAt!RXa=TdZ9w-HXS^f-x9k2b)X4+#lE&b3M3) t{bl;8KX{A-*}FB#AMkYJ4{x;o0xc``hY%!|N{j#i002ovPDHLkV1i$KobCVs diff --git a/graphics/pokemon/snover/back.png b/graphics/pokemon/snover/back.png index 19bb8081de91e55e81e5bcd8029e143fe4392f96..27e7c161935b2dc222be6d8ce51e2c2e5de69bc7 100644 GIT binary patch delta 545 zcmV++0^a?T1&0NYB#}W-e*gz`Nliru=LQE41T2W^qFDd{0qRLaK~zY`<&(i`<1i40 zOAx(}7WTM@?A73d-lbQw7rk6(G`8#5QhMJGBx9t{ z|38|M@9w^3tTtZ&$K4kK&o=>a5N~>O!{k_sH&y&d14bKA{F#3=NGC<%| zBpnEVT$O3S05T6L4}otJ06O8Z1&I#$JC!L10#HQ74~h=JK%$842!Jl*4r4?;#OHq8 zV+uq)Ot86AeRy%Yz+V$^>*oC1_qy&9t@ZPkf*r^*Ej;` zafs9yTzKR~6d+9wThqo^exlaWI=viX zHwT2Ps5nkXT@R4NIMDl_ zAZt(6)jp&y^y;%0qJgJ(kE_;uN-U%IqeRs}i(4l1o)ZEN)c#L@_3wW*YXZ7D0A28L z4eT%FFo(vq{wfe~@OZhf$E$M$bk^2Wpjlu3GEfEJAEx$q4|E8)H7>9N#@WAe>Vd|E jm;$^qm{b$s7k`KkYDUB{hE8)u00000NkvXXu0mjfp3(UP delta 555 zcmV+`0@VG71(OAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qjXcK~zY` z<&(i`<1i40LlC`>_g?_V-4_B6p910_p7s4FCdX1dtK#=EV6*{M?iM8kC#79=|0?^G^15P%{oeNc1&1{R9g4glyf z?Jz{rLwxL~J;p%N!$kX>%Xmmg^nj$lY%U>U53|@P334tW;#Lp9QE%rCrf2YJ?!kcR z0ePBwaE$|i9*0DY(S=7|BmrVNm26Uj$gcrur^hU;MF!<10);()&Zi}$9U=!c2h4a_ zF#klYrFD8a#%>A-@2EKMEZ>;f#TLG42xz=vz$O83jc;foYBq|sbp)Ip1EBTf7$)u)}O(Y(n;NxX<3I@g!>m2fNn+$o3C2*F8JDHgdxR$^L+s6H> z?EsP(272=cWEH4?x+=uf#$J8&Ley~gKj5kjffCE;{UG6LXmHD9A#g&#gWA7zSO4a3 zy&<5jBG5)3U&H=V_H(Fx6RrXQ55F!K_IUE1fY#b-4Ah&;D+4Y9ZsV+`<0Z{kM4_m9=;9co6zF*=WT*8l(j07*p#PDHLkV1m5Z_o4s* diff --git a/graphics/pokemon/snover/icon.png b/graphics/pokemon/snover/icon.png index 56c5c124a3145d6a102bf00ee1a88bd233d1bbab..6e2f5a8b50fbb2a1067b9788d321e708bbba0cc8 100644 GIT binary patch delta 268 zcmV+n0rUR90^O{4+Jsm?9PAy z0072GL_t(I%jJ@>3c@fDhVur87Kbi^_yoyKE(Szb9kgrvOr=wn_SKZ)s>QT})7e3q zyH2j^ZTb1{BOISnUpI|>0$3S%kD>z0NQ(++l!4b6@f|QI1ApHKh?X<^#BfMoF^28H zVv0snC_HLCn?#{Nn;I>H!ggO2h;?AJYz*Yr S-17hc002ovP6b4+LSTZR6>>KK delta 231 zcmV1)~V1LRPm!4;=G69EPSU_>7R1IGXupf4~CySOAe=WG$O heB|ukkL169&l{}(Yz!|kQ1Ji&002ovPDHLkV1m##Xx0D# diff --git a/graphics/pokemon/snubbull/anim_front.png b/graphics/pokemon/snubbull/anim_front.png index b74b9d6a52242ef203ebc4fa11b27663239b34de..304a93050baa8bab274198c6961b7107b220d4bf 100644 GIT binary patch delta 837 zcmV-L1G@b62A2nrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+`{0*`C8 z0008|NklF>ljA6vus%M~1vy$WR)!IAVdxd9Djgb$uAOTany7vilgi*E0en zI#r0NV^xX4AD~0Czy~N&B}V8sNF*fo@SL1PtuU-C^6Lyjyfi`-U3V{D($62lhssh;Q;aj4o zZw|Rv5;e`XDSfs@>ES1ChyV=`QrT$Y{N(Z8fmH=!R8hw3NKt!qLVx2OWw9BsvBQJ= zA&=_;fgV!2&RfanLKjN9Jcir@4D=JYb>M@b5S8}K3V+0fQ-GoX2+`F|(eNJhdId)t z^?;?^$Gy{{sPhE+Pl#91J6bqW=ovmSaZDgxX()nY^K-csh=l>LH))rNV=RvKDMF;) z3GJTZb3+l*i%Ot}rYZ$QWr`DCq@fDC+2!rzb}t&LXay}v!C3=aU-ZCYzyDoXXFp+J zNOAASfPW9-+2G>BbXk2Z530EMc7DrcciU|@k9pit_1AtHFi~5rxC>|UR448u^}l*5 zJ5@aq$yOWJt}o0ascF^!3TRe=k@|aTSGX4}Ub;EdW>89_*F&fOQc&)n)_R1EP^V z0MID&4SPU(-L&!A9vFZd_CPNvV|T;$z@+}%sj}5G?15Su{`N;*&;knMrQxs<5xP>V z-7an%42Ln>1L^8@S9XHouYCqWgX+0}AlCt1qb#nM24evl2EgVqHW)=A^+i~=SAS9( z3_i982FVHTiap3?+XHc%J!lR3=KwS8!D4@KUfP4f4F6Co?ZMnX{J-%Bu=OQqLG>s> P00000NkvXXu0mjfW2}mQ delta 803 zcmV+;1Kj+V2lWP!Uw;DtNklSXE;1AJCy$;14KLB}V9fkVr`E;WH$l+_xtC0Ugr+Md#3|;d`XNH3{uv#f<6}b-(u)e9kESdIM8yziJV`?qcC*LJ$>m-(WYG#*l7fo{ zwm#{B)xqGavM#>E&@jZUZ$sXQ7sIP7(`EI!*r?*_%cY@x8kMVI8OylIF?SxcM+0VR zs}*#C@#(*I#9)swX1eYvb1R9o;xCcQH}_YoJ*L#_I1`w&K1+mz7x~?mZR) zzN7*xY_jl{0f*IJPW(fFO%`{jGzC_FN~iuo@>5Qf)qiFWiYvP;&7$7MIeVbdZUMN# z_TZ?n2dsFR%w{ zZS>P0S3wIX?5>SQjfl{dTJ3gm=iO-3WqTmCnk7(ng3*t+41@;Na{)na1G+|8+%62p z3N#FW&24Nj@?7eZuxzjXpfDJ04-AqM+!T9|F182aZ}y-y99#k{um`Jy;bmbDh70^d htsJliOaJiy#xJn-C1@ZnM!Wz3002ovPDHLkV1l`jj2r*} diff --git a/graphics/pokemon/snubbull/back.png b/graphics/pokemon/snubbull/back.png index fa403eba3e7ebae26777f28e6830cd5530d1faf5..0d558afdb2fe709054c7f465e937cc6ef32a9222 100644 GIT binary patch delta 427 zcmV;c0aX6o1M~xs7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M+`|k}!5800043NklsYCw3lJ$S$?E8HL!CiNG^nf_quU_%d-iPa|Do>ML7B7F* zyA1&1v)-TBDVZzZbiG52EFeZC(r0!wuUZq$fe-~Cc34!@fc-r3 z&#xNW)GQ465QZT-E&wYD@o3sbAZ$lq;Ru^{Ea3;jDel}0q@@r!FG+s?BmWmmeF3Y? Vi(ikAC4m3{002ovPDHLkV1mztx={cC delta 403 zcmV;E0c`&C1Kk6V7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003@NklS)#6y$Act@MUN&dglbp)l(w@34RHSOmEOK+OKemN6kf&aSvqw{=ROB~(Lh1T?V( zIYc+;+GUX7+KmZb6=G0G3<;7S;v9bXk83^qMmOIQ&=*v<=QSpExCh09O{4+R2EC!W^; z0072GL_t(I%jJ?W3c@fHhI51LBK8I@Zl1$a6`^OSUE~E`_69mTh<6aT6w*j3NQOKe z+7PqYRej^f|6cO{{EU6oa7uvJHW5HZG4iMhq@`(*w~B-UDSsL}0a>dWK#Oh!x_5vz zn(GJ{RqI8oK;d+l1L|8}s-_EIyE<%8U>DwX6+o#?P@qEq@FslD7Y_#%Il7y3K}BpP zH~R}jZiZ$4vLhpfgVQn3;vI)tzGcFPo&AvF@6LY}hSI|Dv@mQ=VTkP9e4nnU&{aWw SxOxBp002ovP6b4+LSTX;Pj68G delta 228 zcmV!@KB6bRwJOu%p)&e^>uC7)}Qx)4_;O e2E&{T=Di-SsL)mL)y-l60000GIoon)zQE zDfMbHhOgIl%MvSVZNm{?6JYmi0od*Zz&2~v1KXmqQj2qLQ4X>ae{E)hnW3s$0CvKR ze+GTRO)x;U6LX&H_i?;1OQ9W3a&57G!CB$60Nm@?hk}J30FH?OddL-$<`x~<;P3+= zM9N~CkVhb%2;heO{d`iSfZrkj{{ResJwDViNC37H5T6fd$%FPn3Uw9kK{@FrtD^vD z=R7yz%>#4`5h7U!Q3#m`Bk`7bS;E|(sOx2!rmgsh^up#4Lm|Oo*|y}OBfrEF@P__W t_*21{>9|ARxAelArr9JD1O0DaTi@f42k>=-Mlb*X002ovPDHLkV1gS?oTC5$ delta 361 zcmV-v0ha#51JeVLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W3*GK~zY` z<&!;X12GVV1x7`h#VULO;S+fKfME~dMg}$MJm4m0Nuz~n_H0Xx7u@U_q8}^7>`0Ts zonJejX5NT5;^m}Nz253=l~`%5yBhKB0li-{z;@37x?5L0R9iHfYjH^}%8RU6n~A8* z5KYSfJ7&f|7k$D{RDfoG$L@J)-{<*S281-|We&yq6{Fl&0l3$(cLfVQ0GtB>^pFXH zVv7^m;P?w5jFiPNA&o%%B!CE#yt diff --git a/graphics/pokemon/sobble/front.png b/graphics/pokemon/sobble/front.png index 5207e93d79d037bbd8c07e3d25ef35153dfdfb59..50a5b4e83e9762ac4276258de536431c026ae93b 100644 GIT binary patch delta 480 zcmV<60U!R;1jhuBB#}W-e*gz`Nliru=LQE41r6PpgGK-V0jfzvK~zY`?b9(!12Gf_ z@au5vL8TU4+bK0A+fB#S%qRwf1$FR2}+f0P*}|Yf2CYdsZ=v3xZePI z8LPP&t3MC&GOT3vZ9+(9p8^2M>1PRg@ByG<+5qqb| z(B6g{c8t@tlA@0-?y9)Se z;Jk|W3gbrwmM{%IMV$0Zz;dLBr9>>bYp4ZwSBQH|uvc6}oN0j96{Lv_5xq398x}d{ zoVKFCL!y~LTLfM>zoaCHR6h+Q1PwV^am>R!0cU8R*Q5n&LLVL;;Pl-Ol32r0D|M6NJJiVF_Nf{-F4SO~s? zps?u_6tf|Mf>$`t;2J-g+q<*TMyEIq=Eu%|mtFQpE0@pc&lDF@L7|uqa!VPYkO_*# zQtAZn8z3uVDKlf~=RsC~hQ+kL!#Pjw3jp95{WKwVrvR!+3&74hs3(B~=l}!aySSK<4KFWDHcy0%{oSd-&*;Er3;jR1gF$eO)oYo3ntI zKx=(#K4Z^-MjW^=`mKWTg8}mx2OnY_wUYpINsoyT3*ItXfz#6Z4kK*mXAvhB;I}ld zp+rPK4xB3EM@or$*z}QGCWtzRXQeI#Z-%BH2PA-`IZ6RhWcro}f_ynLfTkfVdk_;p ztm&I3Mg~aB9$e-{;1kLyBuQl3BV*i`X8dL-nY}n5xkM2rTzdyLX*!A$9-m8}f0X$6 gzQlz6*RL02ubY$Jz6FOSA^-pY07*qoM6N<$f?WE|U;qFB diff --git a/graphics/pokemon/sobble/icon.png b/graphics/pokemon/sobble/icon.png index 69327e018411c2047316b7f1185b79201c9139d8..8c28f2b4134536f0c2e6043d5f5246a9ebfefcf1 100644 GIT binary patch delta 355 zcmV-p0i6E31I`1GbbkN`bV*G`2j>O{4+RoXkdCte00A*cL_t(I%hl4oZo?oD2XNlt zmdusv2S}xY*Hjf)N*5TMTj}d~YUWINw;D^Gu$ADUiz!NC8aoxGL$`R{KRT$f}L^UN^QQe!3YD@tr`KkALU%m?L&Q4e9L)#IU)P zT|0PD@?4{C@Y(~E36^7HC@rPLlWExg6%#Pv?K)P z>mv@Jx4MnMgj|6J9}yV9GT4Z~K!Ii8fU_WmjAAo^A!jN$M?HZd!-gu3asm@7C}XQ; z1_RX6M;U=3KKoo-6M-S#8Y3exAZhRs0r>+yegO7_qp#Ylh1mcA002ovPDHLkV1hf+ Bp*a8m delta 336 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 Hu0mjffTa4d diff --git a/graphics/pokemon/solgaleo/icon.png b/graphics/pokemon/solgaleo/icon.png index e7520c9bcf6d5f54d0c99836340ee4f6544c7002..5ade3d74af1d086a7a886d2b36a55364e1203d13 100644 GIT binary patch delta 425 zcmV;a0apIq1O5Y$Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+}!0ZxvI z0004DNkli?{kAGAD&K%yZ`R?6 zutm7Wm;_MOp=wnx=$?G%9rOI)5{Q&f?1kUCqhAL()XrBX}jJU|`LvAkB0Qwzm70KkTVvxDm@?3C{L|B>;bR?A8N88d}9{`Z3 zKfExr^&5dr5P~KE{52z^oz-U12{{$hzY4^3GVNN6;C3 z3(*Gs(F2hROa{yT=P8c^EcFOF z;!+-hU1_fm0EpL7UK1%>v9(3v{2Y*^z0GU%ZRm2VqeSMM1Y+iz0Pa49@Pw%!ql|Gl zNh}xoP9jOn*gfA5{Up7Kh^muA~7QZSXMO6;4a5H8d@Bs|v&_Ok zF@jkb@Z-+H08PLP!}@V`cVWQ2>OvT|{-rPuEQJ}sN*HI*LKwCc#{7>kcR!pki}m*8 mgjxGxh1vSCUjJ|W_ySDjFb^90cM|{r002ovPDHLkU;%u};EZ5XZ{{G--JQzSuaisBZxA0Z71s*(;`vBpvt!2BH)20##ms z$^+1$DjSOlA>I1~kd8Vq)cac8zN;gH{jc}ST~n^yPf>~#Ie%qzUC%3*bjFyj(e*MD zsgOjOU1kK;fYocwh9HO*<+J)V+;Yywk3@s3I=~IwxeG@lo&dlCm=5O86*+?+94~PWIC5YF zu!+~aM*_ny_`1lk0UUw;ARNkl8O>T`3p@cp z9bnjLM|?Qj4zIbaEmIpByr3E1K^T&5S%T#&y@0b!UV z$v&h3H6zp^Cx0j)Uwu_|$vhcbh_uv)MJv8e{;6@%?AzW7MKE4w`@%mxCTf> zSdaKRCW@l0vWba_$v;mH4TSd#6cjhpFDwW5|5*m1{Gf;cqYtScc<2|S@g3bFCqxu9`4F-k0@w zl}@2|Hv+fuwjS_6J!r%`UjlqF%e@CULIK?NM+12W9DxGD06%^~3kV)U8%T4%;Pe0u zWSJz&FE~BW2EzG;`cP#cykFqrMgz(43q|~;2bR$Tlf&m5)2ie+X|GIu00000NkvXX Hu0mjfZ;Iui diff --git a/graphics/pokemon/solosis/back.png b/graphics/pokemon/solosis/back.png index 165a9e794a69b598da8c4074aea9fa2067da8083..0a01ea258589189c5f32c285d6c8b2a1cd666040 100644 GIT binary patch delta 302 zcmV+}0nz@U1D6AkB#}W;e+P6)O+^Ri1_uuXE`R^>Gynhq`bk7VR7l6|)G-ReFcb!0 zFVIUoDGJg>y+M0|Lc2IOj)H?l+?=YrphswTb;yt_1ScK5Mwcu;6N@IPPJ#&i*Zoxwm&Z`Fn~I7DYg|D`e1Ky)_Imae?U9%Jqw)XS&>&u zhC$yP;XqatJ6sY)p61nDLw1ba**?`mv-F7{)h64n71i`fGt z_YvFxvFZe+r5eHYBPcMT_b@ra(?RbbXsLP>HNdS(j1XmL1Mvimv8fH{>jYtg&I@3a z?mq&|@$0|=ccg(7B=p}7KlMTbQvlw)0!@CB8wg0s&OWexJ^%m!07*qoM6N<$f^cMk A4*&oF delta 310 zcmV-60m=TC1EB+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xn`bk7VR7l6| zk}(c~Fc^io0GId;(ZsN*H-Hn6;Nol@O&lb~%?aH}^a!x4Lx*00IO*UuSi1PzLbNS1 z>0rXQzAx{!O|6!e|K^V5O)((uC&d=ARBH3pD{P3f?0_SGVHk)Jz2XAfG{G<;WEzTd=DH9iV?r=TLUC7Z0eYCvh$N^J z91NDFFnw0!nlP3br?ik2xq1XC%;^&*DqL0QpExaKjz*2(R3XB75tssh35>CYDbV)@ zZVKHufl+#F6p-`R1sj}+B1E8mJACT3A}jzJzJE*0&#>Mg~2AGKH_I=&e8nm+h9n8Sp=;V7{B3pECp#W y(*mXx#9Gin39_}EOF=-K}|sb0I`n?{9y%=AwPewNklJ_U-NuL5Mt(u=qhV z`$i!1RsgXCAgv?;hm~dmz!HI-n4dA80<{=G)ODN+%5$UT^De zc1WR=v25HJZQY$bGA`l);XD0Eh2N3Zt9+dUO3eW^??bs&X$1jLdNz{C7(0JwoXf4C zPVaDfzUIXqtAAhYVy&~>B;Mzg&R0}yu^#=!#J2VR6Aw5JA=eBJPlzQFhN2(#(ob#tA{$R^W4|0kGScmug`T3dK zkSfziH~@mz21Iz`{JPJyX^IFh`+pt&S-FA;cl=97%70G>Sb|o-_*__bc%jap?s$oF z%N$BG3$5#n)l;Pn>Au1F_I-($EX$hCKqN=H##mLN<$IXtM}j|)g5c>)%|-PFJ!BhlpXn1Zg^lv`PS| zL&JrLO)`cg?p0dZzqJN^jnYbL9vIq?1&cQWqef_3 zPJfP!nx?_La_Z4(D*hm^c^gJlYcw8Ms@1XqP>v07;2&_J#$Ey12kgX~6RcI-7)xzk zJ@IFqSF-Uy>mKA?Dgm|nvuRv+A}IXEiPv48sDUK{OWKZ$sKa22EKSK$>qfH4l--Jw0Z%Zd`hY{(MC&DXsw;35TN8bVCQC2~!h>!5`VdpkEl&@4pbyai$ny&j3|}9j0oM8FD}PTg z=Jmn-)E5Ye_x2#dV@Mx7gKz}`IgWb8|KUzZAAExVfsi&N8Sc$HDWnf>0X%`gw2V1_ zB)PS)KKKGrmpp%XEYkh3J_G_GdHw)b^G-w`poSn2_@#Ko`S617MfAZVaJt#sgNrvG zrw=YcB${^t>7^H|4^StqQ{}w)<9`eB^Z`dsd$C`_uH#fBPakMGOo*O8$O`rJ;gHgw z!ocu%$ie|l^z=cA-Z|vD{((CM@C#QTG?j%VW^r5Hbn+fZ8fqqz?cr z)(2NG7V3kLNzexX7VCq66Z8RqBs(}wyxWuPAQ3=`cCeqM1~DW250yRw0}x&LvH$=8 M07*qoM6N<$f>`RDWdHyG delta 1383 zcmV-t1(^EG3$+W7Uw;KaNkl_|%gXh9;i0)fE z5@6TaeHnhsQ=3Tu#c&Rtf(T$z%2+`*#-Sr7kK7YEpuBJnEO?IWZuMafXf6iS!yoFc zYHJ(-(VzK4*a(tfq;HH zo~~+ljq0K&+JEr(IYenanG9+Ff`>s60FkR;YNhM7e!ldM^C0m1W~1TuQq@oc&iU;v z{}SkC7jjAkScZOncX!7FNR`#(#C0mwn%#&Ojvxj?Gw2qm^rz z=X-)bmV==;JH^t$QLo+}(M^%Y`;#iU`r`Y8*#fw1595&@0;`nnKqU3du^2>a5^2guB za*(SQ5Pwb(gI*cZ9PQH@0iXd3E%5BgRxHF=U}~1 zT8U3|5afU6oLG(Zz%wY_g7U@&QN3Zl5?ovoatT$iU<=w-JvPXicaDSK0NEH0yM$O2 zUSj2eKp1bpa)vc~;l1_!Zc|xx?Ni5jIUyEKS$_w69=zvp;ls;>;*p|5$A<|zb?Tj! z#l_(;>L1q;k;%%`okqK0)b^t8J}xAxh%MH03o5Z-XZ5QebT?iiI22mFaL49rAG`tE zv+YWpQ0-es?8n&4tLqBa8B^9WMj-9I@YUb)`nS-1FZ;9)Dw z0173G{1t$rXAGg_vjCJaLfHO$efS^zB1<1omOh{?eL!-3m|nw3st?d!jE{<(R3D%j zhoL_pQ?3s}F>2x?|A;<_F?PlCg~#+k_SR& z26O42-ol-+K5QkYqBhKJufG(G^ugtnsTaBp5|34IU+2n7Pu3g-NV6rU&cArgp&7W%_YiS8uzVJr|@=nrr; zZ>IDCY6t>>?@MQ#4^HTIN*_W3=bGJZxOfejJ_v$n)DVDn-<9eE)X8qwI4}KhPeOgb zsncHVm9cP~sut=4tt1IG^atIfp?^N?Q~F~P82k!Zj6f4ZeK6B^4moeUBCmS9)w}wrQi|}p%1I(_h1jR-3SxUgEbqhc|sr5Ru3$3HpIed zZOt1_^q>HhBlADa>@5(8PNnaS{UWNPHmkKD5QOQAkLW`r5CyVYlk3A+AYjCwwC7TN zcn}E0TKI!ZA0`5UScX0*`3!wPhZa$u&<6mX)(0UNPwIn`&(H?|p4JBiXXpa}S$2@6 p4^Sv+H2G0hNB#}W-G5`m3Nliru=LQE41_k(TShoNG0?Xn;5z3pIVLX47lO=wN1?6)Z zU_qs;NK`cR8=jJ{iKM`Y1vvB?0X*fE+E$ouK-|6WOgU#jybdduYMt2s|7J1_d&EXiobB zas?3K16FpNZB7E7Dae01LNt`Xem~i$m}t5z0`O^Tz3(M|RdxYc_gS#mtiZUJoJ>Hn zO*;XMdECo>4nWm^|7wpz-1Rt5$YR01QovUkjmCwm1Q92MFa5D1d(06Uar zX&mz%vjKq(0p(OA3Wq5v4FSF(+|N`!RBZzJ#aIBCa?~f1mH{ZMBY>RKIW2GkzV$Uw zb@}4=1VEuhNZBZl2f6VcfYWuM_l>KaG}iAp_F)|_M&LQLfi*cCkK4+96Q#Aa_hi?+ z6@Re-nzgVsyu5$8VUocJ!+P88UHG8q5J6!Ape@})))VWkOSjo1(-|Ch xN$MxLrhnb4nY*#~fcVtYZiE1<_xiE_2WaD%BP4X_EC34t002ovPDHLkV1jypPDua& delta 726 zcmV;{0xA8^2HXaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tb0<}p*K~zY` zt(CEE+b|G@EiGP6Ljo(*gC!tH`xpk1rXzoLftG`v@IKxB_a7-Q{{LF8&HzpJkH8Z0 z)fwRC;dBMKxjmU6g{#LiKzUL_4cTc41e}u)%mFwiNI^6+BKKx*DLPd;jK4uG0N5NL?)%D22&hI4%f|^w(`@)-itopcy}(rVL=IaM#(jS| zSrVpLP(H5##;bk@_x087)Nt5jxLU9fn35Yw`^)knzq8ba1@KkWh7hT*ZF^i1a4&Y2 zV+@+CYTGbV9YDnLE*F*ECqvj&?`5QvBA`8R$kDOfU9DZG2~ehsi1cuEHcyS zaRmGrIPC_#j~okKtF=V<7u}G;UOpm3MugQy(gVE#MPq>17AL^(0I3}U4KRPi(i+x< zDNGqO!1iTXTG#x7xq!rmfO0AlN5hn~299qC|07k8belkaF~$K?f#ycivH)#$43G=D zrv*;Hm%aw-E?>f)04R(Ir5f$=AUC-L5cIk*=f*cqTI*+$gs@H)Bk&x#z?vLR#$)Bb ziPCb8+`{Xccj7NDK(m&vh8KS~0bMF%gm#>%#EEl3QA;Jq*r^bR2J8Zo{B#SDr3pPh zq~H~=xs#xPPuoPv$^ao$wXjZHkOL%ic1JH6fDL$Q4(n}qcHy0wLkxutfU)!vvYuFP zeR`WsGQGiZpQL_JYx>u(nz=XjB_KZav>zkDxu592T#LmYXyce80C)~$3;+NC07*qo IM6N<$f~LhwY5)KL diff --git a/graphics/pokemon/solrock/icon.png b/graphics/pokemon/solrock/icon.png index 07a416c283246b82975a468c69a7bf27924f185a..7133fc89a608de819cfd95c953b7a3c284b0d802 100644 GIT binary patch delta 253 zcmV}c87zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M-1cXwgL`00021NklKlQ|N_ zFbG4#3`>XZf7{5o`yuu(Q&=qznZ;b!Q7i1?wjp2(0u|R+01QD@7C;dd2O4YuqXfKG z0+ld{KzaQJD=|u9`Y>QJ{lh#WNi>~c_)}>{qHSav7!}esF>3dKBVES0x>r~ME!=&S z)YX}cr6*^J=OeR64-zi@v>`PKN%qq(bnc+`VX7TbeUv>GE1%z?AHxK;e{u&L{i}2S ipE>_>IOqS(^S=SoY7gW9A5hi+0000EWt!n1xzeK^dTq#pRNKHk*?|Cc|!{L^^~59 zK2l8aK-Z(GyYaYu1{P=mA=yF#EWeOOXk|1txo%Z?2`jcE%tLv;(NYef1p#4Gr|wjfEvNBx5g~uUModv^(~V^NUH3CWSWsfBMVk$h&UZJ{!U@2( zDXEcSBtt%hg}YE^<4dHd&0$STWJM*M8ey@lvB;JLz;vT@1w=@7q>;3lF1Z4=)qkfjb-y`od;IC}Fy;H*np)Cj=500xUbkcp&e3^U!5+E(g{Qk1!s3 z@>3BwJTgqzPyu}i6&2?y#CE8^*^vWw2ZFCi>G(vF@3lJ+@(Pc4cg6YOS>^rZT0UYi zaQY$lFmyP2su@}#Yvg`gM=_P$ zeW}^Ric0SOIDbMY<<2|$pWK5dBK;?FFM2y%?yJYAdx8mKu=<<+G~Jl%L(uHm~#M lLSEu>?ArJy9>@QSKP(eTHwVNdY1#k)002ovPDHLkV1h5bcFq6* delta 786 zcmV+t1MU3m2G|CW7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0@g`HK~!jg?U?C~ z;~)@(Iox1OfcJmft!{i|wIiirq?!FeNr@*TSJ7^c=!-E+OG`f@Yx~vt*?^4`oZDst z90#~<+Ajfin+@;|wQm*y);UWv2^ib)3vV<2o*)^{84u0*r3A;%Gd!7e+C8z`k;)%} zi80Gdb zD1LTd3E`4>MHGWFpyaduzXL3u<#PhxXi5lQRKN-4a{$(VJr{c^dO9NrEr^PFu)K3| zYq!Hf0SSa0bLXblNe>p%dP;i+^#j7X4+b|s%rft3#* z-0W?9)%#`V@~BdHlWV1>4}h6(KCN6kTA?rC5!KhLUeXuv7SLWukn!7$9|;m*xEpid zDkOemTA1^Ho7R_3#V-21jlNLKVyj8^MX7bnUP|r(JdY*3QcXh%wc^Vmx9cNjWMD0` zKfMB_(4PMc*->}G%%{28KNH3WU0PaNTKfOB;QROB8}#}lOu)C0YcTWh9Xt0;!Z!+F z_6!FnOu#o6&;yvB`OiW4z60`+g`G#?8&4qYno)v(u=6l{qlHZWLZ2S&JPh9#{C4yu zknaWGN^&*jWZx*<$@G1~w>ludqc5HK3XW03b9msHnBFh=)&{)8^C*0G(L8*g0e1_= z;hTkieFMHN&)7HM+xERb4c~TimdSM*zOO?I{5=ofrk}=N!ncy#ywH2vu@U!l!}kvG zOR0TvwzD6j(cW;Fv|Sp=Pf#-KyC#78!9j#Gi6@eKSW3(hX&V2-T0l?g@XhBEW>IB- zPl~z!6agV?&@Cn0Ylrd-e%E>hP#*XV=ncoLkJc<*Z~co5o*qj;2E?`el;5h(?s6Ic-iX$O?W zZ{xy<*B*B9I~11f9;6?mc#Ll*txcQB?pX(t%l|k3_kS;w34elrb#-q8_-#P_CX0~7 zuyqsA>;@quVKouAx_2N7tE+_2O5*6IDg$UpCMy8W?+3LWV@$UFHDYK9lmtW-KrIGf zyw?x|co|d?O)`jERX`ve5COCkZ$>e2I&wci2`B^UC}Vix8`8i6xem>41;G%JbP2v1 zHQGo9C;?teZ-1AFwt}^IKKkfw6MJKH7LUHny*gv#b#5`cSa=3OJ!b1X#KU)GAhbiu zGN;4UvfPG1&V&W*#GbzQWACBozi3=_=J)CMAOnFjPuu zt*41MB88key$mdKU_H!rt#?4kyDkEbZNk|`F91)Dk9bg1DC`7=TfG3p&_3pmKXEt0 zVOj?IjMYKBZ68@c>oQOyf;D=qEsDTtQas5-5JeWl9k3`|Z1&2ar!Mf-Utn51su5X4 z4p1|#e}6mRYVRyl5eo@CQTl7{Fe(hO?+VacyfJ6$x|Gr0YqUQH%+F1P#r_Y;(1sA_ z#;ol2y$Ftw9La)!vu`xY>-`9JO^~DDRN=y;>GU9iT_@jBN=d+HW75&y6t=(|g{@$W s`LQg1h#l|&@!T4iUvqsL{9o%2g18%f_zr5J01E&B07*qoM6N<$f`9iQ^8f$< delta 624 zcmV-$0+0RW1;hoAUw;BmNkly!D|yi6vkJU&{M%lSnqjB1P?;8<0u}b^`2yS z29XdDG7A+^kYqq9{x=r3c+H{3|3N5C50XD4cwFC`P0S`cY0n+lT)y9a-}l~THwf3>5_3%v)B@?lWv2qARS zpAkbtp(Y^O15{!FAv-nIhu8iLBI;xiH}(O6c0dHs?0P$@zSB|q0ct=UNJkyRD-RI% z8OU|0`{rOmAR_4+d>IwGkql4+yw%<*5jlY^UJgHd$HdMEoyC)HGp{bhXqj6~FMpSH zNi$~4yu{-VWq%;#C1sh@;d)*kL!lIk0p8g2kKPW51h4@-8vCa}DygNE@WQvK1+GsF zEuU@+0FH;)*wwhUB=5VekIsv>Y&m;(8eK@?dGHo)c| z8P@reL047boBzOMV-SjnEFuS(skMI{a9sohg)pS>#Mtk-!?3W#o(rH~^)5X#H>HmJ zU8DPRAZh)zs<8FePy%uZb&;kEzJ05LBeX=aAmHo=t@38O0-rHTRFV=d(O{4+a|oVP(_+ z008GnL_t(I%k9#!ZUQk32H-qFz4ZZjfJ!V~I`nPAhBv%%?*kGH-NzOzpmjV-jWYtnrlz*iGI8Fgsmxh_^i-pMQ z+G|Z9S%JIm)BMWw$iv5!k?V1d8w6uUF2Q-yp`p|4qX1TTa?AKV_IT;GWUaw#wcB&(J>qAVT2 zu@&-CI%cjXHX^&rsC9s32OfrJb1OeZp4M$5VHM}MREzo4M}AJHzMhzIh)DZm+v}`x zd)~Lr11XkcTm0U9JsyM0!$tIS!OwJqPMhck^GL`ojm|cYRy|?#-1;DoW5P00000 LNkvXXu0mjf_H1=E diff --git a/graphics/pokemon/spectrier/back.png b/graphics/pokemon/spectrier/back.png index 705ed4468dfd9e5da75cdf4dea7345470094e80c..6c86e3b92371bfeafe1ce464a710d76708344ec3 100644 GIT binary patch delta 541 zcmV+&0^|WK~zY`)s(SP!!Qhn zApDe=k4|6Ql& zzW|dtZ!jXTn9DXSGg;)a4Fd%O*SIeLw3i1)Lq@ z^s@h)rCPWdmEaEAqsG2xlQaC7VDR;8*3S?CyM6}K#`(eGE-~d6s4W9=3e~AWVW}`K zgEO=iM9E;Yje$4if73e<@goAPDHOYBpe7GYBai3++ZOx2joYLgpjzN2`lb|`!WtL# z{l1GcSj@$~@@>};sFi@5PTn2!Ve|N4)*6__xMt}^$14@P^ z7a4#J04JJD0uN+R(zI&<4uC~kxswHyT>GUTKn0-KOap~dC7|_c4k#+6<^eSeFzLrR zfB`UkOfJpD{5T05upD!LyP68KG3McEGS1995Z_Pv_$_lFes)=+aC{*iy6!FmT;f8U zyXOp``E}jrfDhL=|2jX9bD)KXSqXH|T{X@lo5=8L0^skLyK#mHIE^#dK8_!bPGbS; zfz|;?Q|LhrnrcmH8OYFE5G709F$MnUkluqtPYK{`rQsex%K=z_B_7EGt}piQF>RCf zfbM~>$vdUVR?hlp==Xh^!BHvpbtpp7aUTmVZHJ1OO1~ zFj0>Ka1jX8$^oheqz}gICj`PUXlD-F7^u}1(7c00v(3iCw9F4&Vof$Ktt8xnw;;A- t1HDUQ4w27cJeV*|p+|+h-L+W!12r1UL5;HecmMzZ07*p#PDHLkV1noc^#K3? diff --git a/graphics/pokemon/spectrier/front.png b/graphics/pokemon/spectrier/front.png index 322b4cc76e8dc14cbdc42da9f18621c21e1b5d24..f56dae94898edc121ff418519a7324bd90e2f677 100644 GIT binary patch delta 752 zcmV+Q6>!g&2Rl z_xvmZWB<)K8(ckM&U6rr&-`KF&;AMcFqlL^Gzi>qk|GX(_i2b)e-DTfgO%1g?prT5 z+K%A9C&Bg)t(p)$pxmxk8V7RBw>OCVydS(PZvsvr&}mPO#m(~Lh9azb!0F;M-*BGl zRd_VV>1sY*j2`*r}vltYWUf44M#b%eY#;EPUlBI@4K*mTNB@c`HWhae>|A`nOdCww$N1TI>j zk`M{dkLk!H`SccODSvQ9W4fRST@VvcY7$5pD?2`v+fwaCS_6rbiT-K9tk`T8>kdGl zz-3JPXhB&Nzh8qi)?rWsbyXDQu1qR2Ch&!N9byB<^P=39f0?2rFfsrofsp|PjU9+& z>T^y7N&}__KnJ)ea>+daFhCOU z8o*$_ZUB1be*puWI6|*2f|4k6k$`q8$4WTygIq!zf~qhVDI|&puuJAFJ>Y0VI0e`o zf})#iq=ZfBF~Fq_3e90O0A}@snB?N%^^+0H7`4IvHo#fF25u$fw+_HV;0Ociybfe< z0b^M%+OTeQ?>@W%`HQHZa^1Xo$z=nw{ku^$;5vVSW~wq((_+?%19f%m`dTmmM`V@G zvag3*u>hcnSUqd~YAdi$=;lvQ-9qo*f1W>yHrD>B`+Z6IwK(?Kx!v7`W5JW>TQT_I iN|LAHk2ApW0Dl2M2iKLm2A%!@0000 zn!v7m7k>ET?|T^X|I}sg>KSn+yY(~ zGVWT}YiTQd>S(a}gR3Tgq5~A0)lx!FkJ;u9fL?Wj55-+b5ri`B=rO-rd|G3|vICsY zztA$4llkCUqy-lntY0l59u2sciA*dg3|P0uNZ|l~*nmTjA{ZbD1%fj= zm>mKaEC`Ya5a7*ZV48eB22zM0G{Bn7F`*4&1VJzgg@^-NAB#;9>_u7u0i%)pX~9&l z*Yi~ifRErN#_woAq4n?gAdO`dRv@_5y4a10L&ga1@vI}L!EmOF-Iyr|1Oo#=AQ%{+ zv35X-)Ta~&6b4Lx4B#!`0u#?3f^awmp#t+kQ*x_UdewAb!bc!r7zlG@7C6J8iAWXx zaq81l;ZZ2%nM3vP{p}ub+~s>1Fa>2FXdAeA2If@-;+XoU0rfy3NWr&{_}iTtI3O0( z> zfU2*K3a!>j4Yc+3dr z4$DfJWnT|ZKg9yh>%{U^%6Ff__YK{A%gYB&x+>4NtjXH%dfJbakJ<4qH+tB;<)^}v m*9S)WDoM7z>lk|~fRMjH2iKJj^r2t?0000O{4+bsG+we^Q z007oWL_t(I%jJ?W4#OY}MY(~+1*qCinKNZcuGp2OK3kiefHHZBYXwLGU8_n}*?9OP z*?vlW?aaQs!|7B3i*KOFz}%H&ZmnHI94WM&0PBITLjsN5iGPC`Q*LgMECsFIkU$>> zMAX_`(kFd;CXy2KoK`};HUbuHmRLgL!%dQzSaFOPw*uZ8V011l9(<}$fatU|3|o!& zBp;~7?j4al!krHtg8(juQcaPoDNCS4-~sCzuYTeDgD|(ett<>@Ke8~pA5oaXk5!oC izM)<=SHgVQj};f`C(EYTrk^7K0000CnKNZcuGp2OK3kiefHHZB z>n4x{x>i-Cvib49k?~jRYiII#4OLYDi*F$Fz|`hsYOGyMyi#ad0oDUw`Uq;NiGvxU zZ>o_j1+85lK^J;N)Y_b5ldd@tiNrj{g;1xBfLWV)mC$f^qi%RcR=iq_TL5nZFgh1z z4?ZdsAUZ7r!=~|`q=B04J`u?!-1smt2sqR)TmDD+F>l&H6vx5dn79h4B4uzNsfE?0a$Bd2M*ak#qqF03-J__T+b+lI zEF4qRZm?yE@KYs-I?tA76m?e z=3?&m?j{Prd46RE%%9x41By1`Jd*%;Cf=n32jFuPz%bw)c!LCRU$~1I4qQ!G0`$BI zouON)P5bj;L4S$&lFk4FU`nY?DTU)740MQIHy0pl`o zZy+s})@c_oESI4&sGcHVg^(7<=-twjPl3@&KWoGJK>r6;=b;JMH4xjV0od%Cn%Ml2 z$rRVMedCJ0!6;5Qym77g>1-p#=#WQrA{o)HMwB=2vU^Gx`|ZyH;$O-+Wk4Kv>)j(u zs56kXhksfFX+N!jkOl)G=tPBqc&3k!tbZ&FL;)NOgv6x5K*-Y>2qE7REURnC>MfFq!KtY`;6kwgi*iavx;iuhU4hrOQ2h!cUZj{O7^ xh!cH41R~RiF!cvZB@lXgFeWeUED(Qb{RYw`u;f&ktjqua002ovPDHLkV1n>3Knef= delta 705 zcmV;y0zUno29ySnUw;ChNkl(Uko;Se|q#jI{EZ8 z8prx?>q)!aMz8gK^NsKOUAwRCJJ|QSWPYyGa7f_I2q90A!U*#!uE^oNUC(77CI0O#4sa882ph1bL25YAHxAb$u?>7W$& zTn7*cc#HfV2fP>FVhRH%W5R)sKgLt=RvMG;Y`(y4|0SLx2tX5zZHzJEUtb|$G#X6a z4R{mVbP3I1(SL6vN)cV6HDwTRx~8%iV^`1hAPKNn&~i$^ih&hi z!*oR>0U)17d_3txt7WrX4N3xT9=IwRwOFBwQ=mb*91bOkTuFth1R`drOdzetO(2m*KqZg}bfgl9 zKl}t+Hh({;1fl`b1oHe4^&uclAkpI`kSOaHNFezo1`>z@IISJmi!`!< zK4K~N=-%gR5XZUC-wfmPgZ$tDA3Jhf;1vkOqMtAp78YW{b^Ou+f3P%lH{d#co_9cP z0*|c$mP-ILEZl|AkDWu#42zXWD5XKph8DACi}5RxIr1$7eG(7Fm=&n1Dq+kD z)LgI1F<@YE11PP4e}gK+LVt{8Z8&JaH1Uib)Pyu5wXp(HfQ-^M18E6Fy#%Ess(d0N zQht8M8+C`6(jAI-9f2}_MpU~cw-7@RtC2XV4ooviP!#v<-Wg;JCLIIFhng{Y9|QIV zK%Z0~{0*Qs>4Y2k_3i5dXibLwEzSp72hxl3dxN5gyGBvGBD__@xhM`jK<JmTh8vopkCJxai~-K4ouFWYarN~PSl-Wg4p$X zg}WX%k{JxIxum}*&-TDi^2dD|}pwT*a8@7Qhk5 z=N#+i;${!w4)G$$`@pD1oLmIbP?;m(x;r9rDX@UCx{(ZRpxH7oa&riuFOKp@aqa}l zvRrcR1S*l2hg(2TaRoRy0S`(`Vg8Ke!ZH}Za2Z%L=pE9SR@MlApaB_UO%E_SP<;u; zXk3O=wMfPLovid362>-=Y+3>`@y5*9QYd6m;1$T1nZPhp1cRhww_dMDuhLrp{nC33 zK5qeA3t%rg5d8cS;x-Cw-_60Bx6?TH6kSGO6X4lSeDvDhP7&AQT c{^fbU@d(o_tn>X1GXMYp07*qoM6N<$g1QF7h5!Hn diff --git a/graphics/pokemon/spewpa/icon.png b/graphics/pokemon/spewpa/icon.png index 69a9bfbc82afa097bc3dbe9cd709b0843c7637f9..1570afb8c4bf3043d793206d7e27846ddeecb0f2 100644 GIT binary patch delta 216 zcmV;}04M*50O{4+jE&5&TsE z005IoL_t(I%k9!J3IZ_@1<>3e4BJXPg2dmu_sub^2b--G!nC3*X&1)T#+fbbEEIp2 zM;Mafhwyt*U7VSn#541Dv_MQ^VWLWDV#?eD@(0~G%87g?hUQwW}&1ZC`IJ$+z@X!0g?7yWj@cnoe#`mLqv>$iyXKjvR Sc0>3IZ_@g>!=twv~7UiLZC>n`2lHHd`x%wBiqG z7sg#1->kKT;_K#Pc+9}(-0wwoF^d@D&m!9!gCLKWp1S6u_MjgvTlof_6)yc6Xjj)*4+jbWNPBRx3_eq*I%8?N9=C zcaam>0wKCg1uw}5Fa(ruP=A*`{c(%$k2ICiq6gNX`}w`Q<9~GT*Xgv;#$OBbS^fAr zY@39<(F41^O#pC+7T9!$htM}cN36N8heL4tTcD|8K@RkHx1gs6Y!|QuAOOnMtc5P* z(Z}Dm3h*v)&x$6dxzxjAXzqa??D`=Z}sj12{Es%Mxn9+H-s;AOwh~ zTEsDX2e9|z8h`c=36W>{5RO?)c086KMTk7h`Rw;J3>g{>478%ERzabVWg`-Kx`pJv;;T;0}_ba-Hpl=DKCHl z5rIj}kw`Fdz_P@>>arx_7%66$As{8_rneWoiW%_;k$*MSho2cbAC(?Zu`?II(}%@lr3Zds%X*M478P*d_|i(T`(Hif6-qszDgcW- z{_6fRAn1X(j_yRz0}+_8RXva@Op}`xJ&<u!Gma=={x00000wuak1uxAXU0x-E zR;x*qzZUyRb$t!CY(id{ft}t40Jy{mYCKyg}Kmh%nP3Y-? zt_OGoAOPC8X@?$&^zpN$1N;lDya;m0)wEdey~RpM@o^09i3)gmZz|e+eDC@yfL8;r zI6@CNyY2{b2mzu2+Tjs<1F-w-8uktdQEzz{j#*5$eU>0ahV2PO=G zb9}I5@6ZIWaeo1Pcy0oU%*gPt2H1D0LRgQ$Eg>XOCh-U)0&r|9jlxP-fq-bf1;yeW z=U<3F>QZ?O1r+fqPcMD>$G;7OQqC^TbrF2qPnCc*u73gWnCg0yCQbgs*mm{yU#r{x z+kbrfJ5aOzyEWT?sRv*JtQtLN4QljYJ^yKi9u)pip$COO5FzP{^W%Dz7TA>G5+5CL*qtpW`Z{{3$c(=GO^WTP#Xo-yJD$ zirfF{L2sN;=mFIMc*y;)?XLoo9?0*}nMisd0~5BY2g(W4O QGXMYp07*qoM6N<$f?BmIa{vGU diff --git a/graphics/pokemon/spheal/back.png b/graphics/pokemon/spheal/back.png index 5c23636edef66c297f717948d6d993bcde060205..d78b859d055e713d9c318a956e895a460d246c28 100644 GIT binary patch delta 339 zcmV-Z0j&Os1Dykq7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M-4c=))!500031NklRq zr*QNL=9F$k-((?TVPPSE0VDgdYZ4}tF=IZQsd-UP>4`Ay^9)4u=$p2hOM3%=${2r0 ziAs}DDZs|S3|7iSnFp~MGnfV40m$^l-lV>cTPR)jNaOoIfDEx^M>LBNfU53pv<)i! zx1goo1!w?UX^=rp@KIoz_@<8rMeVO^1=x?h*H_HB+;-}qIOzSyyaj&MGJom-6wLB- zb5bA=080d%55YkscmeVVxSYbHMDIU8xaXiPh^^9&!jYK!G+ItwoZnu zcA8t-0xZhdA`T08J8CZ2U~#zTdiaMXuVThyK~i!IT75e8aR~x?sz>VYb6hg}@XD?8 z^InH!iBFjdpJcgf;*>cLrOR-fx^l9nN8x)hg{RN#!oeU(4*x%blLNxg`p@9xfRsMalf!dx yazIZX&WQBE@DDwG@MB3I<@IPG@E<)yNB{tHuqi+Q diff --git a/graphics/pokemon/spinarak/anim_front.png b/graphics/pokemon/spinarak/anim_front.png index 0e2d525c4d7093eab1159337acfd156b0f239645..3b2d405a747ef9363ce0df7ec255f32a985bdd80 100644 GIT binary patch delta 642 zcmV-|0)73!1<3`F7zqRe0000c0aglepu;(K6 zsY$2BY#Hz)Tz3LD>LO5cM_wQ)bEI$;3*20LkU~dl`wes%+2L%hWVL~yDR=&!+4+C4 z_GcKKb@sm-16uv?{Z<7=!KDOmiGL9U;rMh2-wJ{N{qyD!z>Ar<2rk3fv{8V0WQx$5 z2_dG#rt}FC^9F!Lg79ViqHYXl@=b^kGofUJc`buI$K>t{{hS2D1dd(``-$b`?%p4f zM7;qPnU=&`dj5wW4?>QnN~Sj4G}eCvu_-?Ox)oEYRFqK$H{n_l)WzG8kZLU7USqLB zwGamPRX+&C6qb~@LbSfpE@|U?pL%ru`d%W9nUgMSYw&fn6WmB-HfP!u3}*?G{Ngs}E;p)s!>H=PZ}O83Dc?dL1zU4t`>52XM>XVoy*_^mqxY1L z<-1~Ey|=8-yH{|Avtl3H%^G%QKxbzg{%xt!E?$JTity*I_s>njvxLdKTzma zekk#vjURS+(8dpLg3kwjXv$FGhX%l46@F*}42>VIp}&i$@`I;6Yb=At4_>S@&Ve7W z_Qhhu(7V?;V&&=?NUcnau`Nuc{B6#g@c_m)r)J1!iSzz%TS;IhmvaC+e|mG;=}gn9cPj~!j=pI!nM@|rzatQR;YJqG%?P&7 z%d*T)BJTK!#J?<#(A`Mj(w+Jj;-vXXf{qQ{%v!Vs;@56C0AM8_xP3N~(-@J%!2}3_ zC~!ceqMYHl1V33G+fLa^*UJ;O1qND*2 zxkg6_7r^1B*`K?fz1!tG9)A!zS4f}9{^t&Q_MG%uFLX}ekl1poPkr^?VP8;e@ZA3h z(0e)(kUNooS-#Kv+Q<7h|4>XOlgVT477948oU Tf?HVs00000NkvXXu0mjf8A&G5 diff --git a/graphics/pokemon/spinarak/back.png b/graphics/pokemon/spinarak/back.png index 15a1d8d1504d52098db17b697a02dcd8d1a3aaaa..7989d50a1baaaf99f76c4c47387594e624c51dcd 100644 GIT binary patch delta 376 zcmV-;0f+wT1K0s#=7CjhJ^QTQ+le{Lm*C>aAc)m%Oi z1tVbH0&>O*a(Kna5yIn%l;MW{ZXsN(lF2=bU0lGGhXdn4ry%+sj>El&=#)`g1z9?K>Rd9EE)Dn<`Yt{B z54Drpo(ujK5BIa~lbkto{zF`E0u&R#JxzdO0=Vzr0*;r)nGZi(RSat?v4 z8zQe+T?5dV?0IZ&K(wRi^L>PbAGHtEQ28K|C1k e%$d`R)41#rU2B!r80000O{4+kOLc8wJo`513%yaWkIY=ovRLb?OS+3)sd+$s=6RHszfT4 znxQ6CB8gdH18+_&+lfwyp9~wRM z2bVJrE;t8Q?=%!D2IF!Wd@NuhA7%mL1O!n}Fj?ed0h3Xp7?`=Hih;3aMGTBpmV*HW jnt_2va4?|1_7-ywd$)N#9(mOz00000NkvXXu0mjfHuQ4* delta 252 zcmVfi z3jgsWm=Y`uv41`ato~TYK_}#(&ua|@_vTd3vGZZTcs`^7qXjI*NHdts^I^bb6fH~M zV5XX?r7&QW+}I@sjN&Q;0~}m2g8>ha0Rw9=-{%E;w|PA)4Pp!c0000O{4+kPdf83n_00HkwL_t(& z-tCv+Zi6rkgb{Wi5|Zurf7;m&FkqDu(|?n1nkucikBjZ3-87~CtBB|;I|Jfp1Tk~p zKhK~9qz`s|3xA~tuvK7)CxKvgc85UbW~M(2{S7Be7r^>U&j|WQErAiZ2WZdYJAfLO zyAgDSID_vC`QQ%hK?}gX@(%Eg8Mgy)FW7Fcd)Rj%Ac(zDXoN?-t%L-^2Ix+L>;Y^k zxf}r0{QX&Ug4kvW_u(Plr(h(2pC(-=K6;u_etS#du1Uq}j`6HiVZ{g?^n7RG5 z0Dd|m5eSaM+W@|s7{DT*ZD==9s0awR9y*I-RkUl#&g2OR1!$9e%h3FRNkT&qZQHVu z>~kFOJAXkDvMtLZxZ5NCcBkl-q}K}K8~=$o#ZiCN=ADQlK|6C@*R|GyMMZiaGl%@k zV*cXQFQrz)iHtLNHOX-gVI!<{oFIze%T-pJB8AYvm%FU_LuHtRZ+?+zBV=9NZ%qiM zKMJ{+ie;czfNF%5pjK_=3&14aJ3<5C3%^Ei(L}3*bVP6h6?*0O&-k)>2j710me=V| x0(}XvkjsZ=VJN~KcY>j%{q97KmCp^5+i002ovPDHLkV1mGY3ibd1 delta 577 zcmV-H0>1s61^NV#7!d>m0000PmXZGdh0UQ9E+qFS#Z zwIi6;<$QM)MbShLjME6FiFgqiK-alAiC`?Us{wzQoebHjL^~U3Hp%Q%reMhuzK#?+MREfT-aIHZR83!Vs3TFsquB?ID3n<>0CBg?> z@P5XIxElzt0pA+LGewXMYx*wS04p<8pWi(qc6ZPgB1=EzZR|79|F;m2J6-k|^n}sO zW59o&H5*fZ-6N`mh7KgPHD2n&yW4e|_@zH6qFR1(6q?8Zt zCIYw!sfuYZv;~(2V P00000NkvXXu0mjfE2Ra2 diff --git a/graphics/pokemon/spinda/back.png b/graphics/pokemon/spinda/back.png index c5f699e2cf61dee02fd6000dabef423af652ff57..fb529d2d2486a9ee35f2fc7398dc47c56c55e684 100644 GIT binary patch delta 620 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 N002ovPDHLkV1m+*Z=(PJ delta 1267 zcmV1&v5XX5}1&9mnu~QoE9B>TO=|(sTY9+sc z`~r8tF>px&s%;1eR3vcWN?k-123D0)iUFK5Kn&;s3^@-F+qD79U}k3bczfhhLE0n( z`3w8Inc11$oxgj%f2T$8H-J_!cxXLQN+lbdr~&y`VgOs~>wmNcS~&}^H(~f z?s9}cd^V&X#Bh$?oxevyyCD)9JNfRr2wpu7|mPznwZC|8|4Bc-)!LO5jCj}cQ!Dz!;^ zKwFGh+DFM{<$sb;evnvB09n-n($&U=YJjN&YTk^Og_Z*Xkf8+k80)b^|exPFwwsLW1Z?vo?ik`~}5=QU(inVz1WFM+0*k>V!j6$L4)^ZnDp^=z4C z?0`uP<#@j;N^nWG`;-t>QDpU`J}+(0cD+(*NisvM?SDoySIQ+2$u3iBRIAI=)^0woQ15AJPI3O5N~O(*wTd(rUg_d4(M$~ z4G_C_f_e3H#woZeMax4)?c(!f*mk%I*a5a^qui|&4~&`3W&-$^OHMUkEJSkPJorGQ zwl&=*E`PYVK=2NO+eN~shFW%D$O-C|o7Icuj0$i`PC6%cxlg4oIRpb2>i|7app7Jn z=BjfkmPGIC8~)mutLI9sy)kT$-rjJX=JV@|@GJG`j)<$XkAKcLytKDp?%tmL`0m}u z=imGsTJOEMzhnFG9$x<%1b$fDe<9$HH^1LM3x5J%Ef$OW#hcs3;!|*)U0B=TfLxs2 z^7?OQ8`jCr*fxFtzx`8NJ+7;k1kYn@@dLA+EwaNKehT>>EY}0qLUcpY41Wknj7WJF zO4EIdeDOmPC2GV0zfPfDG!FKT!ulb0!SON8i9W6&c6Yc70!SFI;E|IbeIDxs~)`+yJiXr03lzYZ?Y7f44@*yn^7PE9zt^$z*GGnGs4HU2n za10hPJI1`C;a|#;>pU{r0#<sv>w##_9iHw7Ov$Nl0Sy|s zOQe*x5o*6`4(^7jA$002ovPDHLkV1kY|TFC$a diff --git a/graphics/pokemon/spiritomb/back.png b/graphics/pokemon/spiritomb/back.png index 0a9870609f0d996ef45866420a32ae78c05225c6..db229bd776ebe4e27fe990a5c09599d6b7e74ea8 100644 GIT binary patch delta 680 zcmV;Z0$2T(28{-gB#}W-e*gz`Nliru=LQE42Q|m6Sy})90&q!0K~zY`)s?Z1qc9ML zskzF~oJfkrG!di;&Kp49AbFrmeXG0zq;!=~F4d-vly;>JFL70hMcjC7V*{s4y;h=K z*`H_T|2>*G&i7ev@dPNJ04{j~ls&*X|5t#}Q~wk=Smf0R;5q=>1aQ~BoQ! z>&-S}BS4nnNg&^WJz_T=1EL5UI9e&v5L-gj(5FbIg?fV`t055T99m{V)*O&`FV=?kKqlHC``cnJ`o|u-tp|=6)F)#d)bxyncqurn&!_ zSgmEeeq3%%(|p-&SBL=cH-aRKw)=Hxfw)+}i&NrcVDR484uGz0+Peh=LIj7F*fM(P z9^_{S>%+7Ie^FNYn_ULLeok&0U?B-eNtBf$!t(YYhxa)ELaERYlnFMzs$tQ6!AIn1 z_6l$%APAq)Mc3VWfQ68vaEh~>V>rPUqQ34oeA_+T578tAIBx)4yMFD_#hGIO_e{va z09T;_r<|)t<&U!sJcLOz#|DNG9%fAHF;v&}2$)TN9#uxb=^OndJAVOm+HZ9yw1%Gm O0000Ra&&38gDYxv7>KiFTzWFL4#cqTG0F zCr)xY>a{>1`}6$sk4Hnk(Q=9>K=}l4=o6sq03pP`0tBx9cc7HUqL?c9{W&am9Hyi` z+R*1yq@+i%;lR1amxhUdg{44ipNK%7^PZq_(E}%6$Suw@&O5+l1_}@YcX*a%8epP# zT$&pm&vsd-akNq}z-qJGt`V5k^?v}qjEg~;jQJ2HQt(23VOK$3UQ(AaOp+6Jvz~ifbHBScw)4+=YR#~5=66&?6r`|GRlO$c!QEC%%yqw22VW=2jk-PKeb{-c>h*C?u zeg=!Cx&4`x+SqvgIA5El`O+e~As_(!h9D9>+F$zz5N8W`Atg=*4)1+w0cao1<7NTA zG$EiRww&$TJN?-L zFfd+X>7WxWY+Zhb1M;=kxn&3u$@=9y_uWyHcDAD|r^IHz)$RR?@0Z4b>a0sYtt2pS|Hy@b; zcW(2MTeRcpLr+BNen+^1@!oeY ou>s@l0gOls=G^)Kk)Qi`02WH;@7%H34sIm zNL4Z9bOYA8<~Y7?YR8r>e>uj$PpLn)bWl75gbaP6A+1n96@js*RzVCf*;b%vgUwjL zlIV8>lzLzd7PR0AK0>X)XFSN*@(+2S^DKR96GY^+b7^wLbAR-(!Crz0xU9QOT1M0B z%=2MiaeVhUX}P z>Zq&n(KUn#j45+&dTK!eO{4+sTj?R7Z-00FE?L_t(o!|j$kPQySDh8HOk zQnuP~g4jqAZ9*!V2yy|0lpCa?qj4TBQr5Vmz#fN!j(FXq^J5zhz@e}mk}5MRCD4HX zcD~H)*cBhTXpvEeoH~=(U9q z_A!860>lXC#uB1MY~fya+te1P@Mv3>8W4aS_O3#F!W05`7{MFfphyU?#({gNnEhq` zF@?ASmivM1^`YYcyksa4JWs)iLKNWO`_&mC+`k6*eGirpSr-AaM&e6%8AMiRf&dXH zHIWfIf~|`2Gk-(0TI-moHy4V>QENe&8Z zCCA4sXeT+81p)OSc9P?I2FcNXTynT)keo_U5=t;iMIi;F81egpk!ZtbQnNaT_6v*G{%002ovPDHLkV1ld)*+2jQ delta 461 zcmV;;0W$u{1h)i`bbkS@NkliQ1p%~2W9gg_!0~7-$Wh6A@yFy%IXpF&aq%W@!lzU#UGPZtDJPnaE(m;93FqYj30>q&8M8#+XTiN)TChlCpPJTJydRsg6 zksbIK;IA=2ZGQo!uwQFkj0hF7f(4Y9f3NN_fU80a^#5Q-dhR#!72k~bj6bTl^D@lFlJl=;GWsc$ah%V9jGf9H)ca#VO0fi z>LClDDxp@b|ERj;u)5^z63CLnKMpN9+0T_66xfxV07h#;`;tSoAfO&%UvfO8g6vC< z`Qs&r`xPaps3<8_F!G8*77QEl`voH<6RfKIT9`foZLu|HZ`x7b00000NkvXXu0mjf DhPBu| diff --git a/graphics/pokemon/spoink/back.png b/graphics/pokemon/spoink/back.png index 8c873485fe0b86b96a1cc84c6f96904bb953fb2b..61227e4ad76eb5cd4957a23f43a1234ad35d03ba 100644 GIT binary patch delta 465 zcmV;?0WSW(1h@o{B#}W-e*gz`Nliru=LQE42nzO6Xs7@H0h>ugK~zY`&6PcF!axv( zT_8nDDnp7$saUvxLG%W>h|(pIxB=8CiWGjj2+4ze0JEf_gr%Xh*vnxVnr9(`GGnb?ozzRHvu^)|v}iNty50Wke?0|sP`~Za#ko1i4-&PEk4m)S}u)ph^Ji3=mWW zXMHH~2=9SeznxF_7AbuA6aagR6+}eBcm>k{6JTN1Z#V!F&j5)T81Xq0kiv`)%mx`S zq=3;800a`V0f*!8f4Kn|o(#a8F*@sL@j1{FE_9eBiE#<%Nwkplr2%|-I#4iR&4*C! zr~pr)b|VWBwIs3v*m7J1?i3vs%WHtrF;#RamUaMmbOlf|bYOA~*xG?mDyP^L^++lP z${xZEw*$Co4OkWQ*|+vc7F+U(2FTc&fEg*iQl|vn09!`qN0d-EaMDPo)S5FOc4U4M zxiuw7DKa89>3cv3ArE8xcx)ivIZ|xM-yJr@E2Y>v|8af*xJ^}(ZJh_B00000NkvXX Hu0mjfY3;)4 delta 470 zcmV;{0V)2t1iu83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hmcdK~zY` z&6B-u!Y~wtJs?%0Q=mhoP8ePQ5PLu#s%~v1-T-D)RVqIlLdqq1fMB{Xf>{_N{Bkvf z0I_||(n>w+`Et&=mO_4Cj4|Kod$d}25UfOLt5-w)g7Rs%|B6PmDfPT=|Lp+-I?DH2 zy$04%pcMs_o0R$(;2l+eZur=Q6llF8BRZ7~sJVf19Rs{fe+ID3FCkYH&H(mM?GsQz zfK3VrYy#OFM?Ap?v-`!x>=2Q_r;h<}h*(32G>q3UW2ym`cK?n8DB=YmwgV%+Py{3} z=L35{3Jft|bOJyDu|0spNqk`ehUWmVcZ@E+iuf9s4Oc$QZQSp$l>2AEdk&{P%mu&>zqITCc5$~`NRNZO{4+szoFp<&# z0050iL_t(I%jJ?W4udcZMbi^R=>drH*Gg2ZaAU?YX6RYy0iq-;5+RPxhN9$EKTB2VQivw$UTf=;RI&gEKOcu1YbQ98Zg$4p#aZw4Uif+JydVVbG zrf0m66_AuVbZQep)PTc~sV5;s^RRK#4B%smrVD+l{SRViASHH&|JJ?-a~OlMT{aA6 a`#!!@qG5S@?!s*V0000O{4+s|GQ#9uQ00NdtL_t(o!|j%_Zrd;rh9z+5 zDoR3j(R={Kr&xwJNrYb@pgN~@mwi~mHH{3&vc^hE7R(47g+gGZUXDsV%kM(yd=Xhd zQQRpVeI?pYfN6r=8z2)CaD7~~Wlh>>BFm>0tTQL5wNx~C3R;%f5VdAWwA{IvA{Pz) zBwY|4tY@HdUJfWDVpK0OQi;y3{VZ>}$dClj-5?!Kynku}7X#Mxe4hjW^07My-zaik z0HWRQBl6d|(zeDXpTCb6z z<}Gam1YC}Ov3>8%cvR*m@R=?Au;fIP-uy&xXa0+v;u{i9&uF}X1lcoKGfF)Lj5!$B zu0c(}WPc8vlblvC=3wnSiVHAQn0E}~cmWQ$3zq`{{I<;!m9qc}1(cGHKL8GHQyQmg zgC*dhZ|#43)=9corj3LB^Z$0-1=mf;-hBP`B()_e*dB@gFiFxvCjY?qN*&r6undM) zQmVyt$yf$Y)8QoT z8jcp&@Z&fLA25^3kM9#O2tPv(vkVc=KnDRZz5pm*)VzL~QgA!oiwl5O#b#|!@eXIm z!S4f<)%xvqgnwhKMPqyQcQefo>|Vbfw0==Pr8NF3^MI|T7fm<+R2?b%Vm&lAelg>)n;H%N)vg4}>5W$awFEeDPUKU8m zEY(EyHnTR*3ZEY0-vxyD+@6we6n{F+0NHl?ne@*C(F5M>W;aVL zHfN-oA@b;AvtD@TNkWI@M(B`)lqtGwA}}iDIU*du_#MH5{%^|J4NP39V4{WFPzMTM1V300000NkvXXu0mjf>X1sI diff --git a/graphics/pokemon/spritzee/back.png b/graphics/pokemon/spritzee/back.png index b6bc7f8d8191fbe493b0ae4014bd55971ca3cab0..2395e2c19824bb86e31d0b08d407746ceebea185 100644 GIT binary patch delta 422 zcmV;X0a^Z;1dRlcB#}W-e*gz`Nliru=LQE42pj^2-T43j0dPq~K~zY`?UhZogCGor z@#q3X*?=hv(8hB*Z6G`9pxb`|+E=g-I(wsLruQ>Hm#9j8;}~Q<=+2HUy>kpp3z*me zG*Wby!Qxs6nAy(l3hc*EKuaH_1dXJxjUL%;4(Qqd7$m3#1Y&6df8v#`)advTuvVwo zQ;wRMhNunfnqmr9v$Hqs15j&H^{E9uRn69^1(u1%Y6`IdM>SRY?2HRu&s)Wc!9a{< zvN~Mj+s-H5IvY0!Z^xZaI*86>72b;sT0eCNhek_(xfQ^k^f(5SX1LtT1=m4>bl#-B z05<_LKYErPlaunie|Lb0YRLWA4BO{M1i%YmazBiC{2S8o30H#T$D>3ZJG&Fg-1&=w z#^eAKhI#TgX*NZYEe@>fPk~Nv% zbYFZtz}tgP*$lzRr8Gk0=JR!xTjxdzh2fc8G-ZjH!e=!=95Zd-pVvRf4<$s7FSHna Qod5s;07*qoM6N<$g0up^=Kufz delta 432 zcmV;h0Z;yo1epYoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dh%1K~zY` z?UYTDgCG!vvGf3fU_X8WTK*s{Xe52B0Wu@I)dAfa0E38HKp>VTAX(W; zkB)aiB`eutOEqd?8lpCTuxW}VTrJMtun$0ONY$qi_@rvmX#|#y#%c+P0Y^1e=Io3M zSC%l-RinaP+CT7ncGECz6dY=p&HUeWd_; z`~!H6Fv&HU-~4Pz`FVi12cNPXLXb-tgvK?i&;|3-XrVB?lbfb&5li^22WX~Mef6JG a>IWr6jxR9Wbs_)@0000O{4+tW|=fF|` z006p4L_t(I%k7de4#F@DMSBC^Aq)&`SYl|7!##QeBo4vW4Bcai9EJfY1B%)Ki4LY4 z{$WCl;4NR@Uv~VO<`+u|-z0MZVHT-{ge?ylz(Jvx0SwF-GI%k2>mcTxkHs4N^(OjK zrtRjQqY0tWb#1Vz5yGKsOghpRi(Ylh~v>Bpl&Wg!SXN>Of|4@&QpkcMK(qkP+uj#ckRHl-U$MU)$Y7B4jNoIXpEZxAB_wc_iR99JiNY) zJ2v1s3C1)7sH~u14PaLk~T(5k1J8cC#CVElmrPiw-Vl;KIr=A5+>V7o! z>D^od1p*UbNf_5tl^V0u>ig&dAWR6LD5a9R`uSlB9^*u@1$wB8>hApnI@EvE+v^<4 zTkpsMu)(?t-1{qlVLd{d50q5u7H49HCa8g9j%tCxkg}VBA1Ebf2t^0g4Yb+6GPwjBN8#9_yTc5!p)jS=qpe>cvfwDBt2g1fUjyR(xAk5wMnfPeD9 z3T)+peOOz0U>|2>F8XswY=nOUMjn(Qw-8Q<@<6E>v#mtPQ67|X0hWoQAV7Jr)C)i& zARWL)9$=;k(X2Ly4WRA>1Vk^K1frrs2TOJThkOVodW3se`nWc^%B={^iJ=1{Q^SQZ5PM3&qnS$RY7@a6Psy~^`k%DHD!0T^`wwRXEP zin+!65JgI$wE@UEo@D@L?p)E`-TD9D`3udv6a)UCBU=Cf002ovPDHLkV1hZ4T#f($ delta 738 zcmV<80v-Lq2B-#*7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0;WksK~!jg?U>o3V4+*h{(d!0gwV%Wqox4){?@j z55VshuIu`uc7S|;q5h?e)B%{JJ_o8V8R%FAdrA74M9_T1x?(0Ln#0XxRf>>ELYUrq z!a+Ux#)W7_V0lZ3qkx*da4Daph30qy?>WHAh@3NfGs2xHOQ(EjKu>LYB><5U^r)i) z-byK^LOpIL^LH7NGJUrW2-*Qku#!LcG%M&470IfoQJ{JJ$F%vqVEC_9j#T0?yPHb)3Gj+ zfj+)L=mh_6&z-w}oRDgL*$NrD1^UA?E47eaXQYFFrk`qk`t??g{;zE#M*Q#b3x(<- UB)91oQ~&?~07*qoM6N<$f`AuiH2?qr diff --git a/graphics/pokemon/squirtle/back.png b/graphics/pokemon/squirtle/back.png index a57207153f15c7b46a86ea6ec50bd4a3a246fbec..75f4e4df3d5d346b8248403756cc0fefbbe296ad 100644 GIT binary patch delta 547 zcmV+;0^I$k1nLBk7zqRe00013M{MnpEn+b%}GQ-R7l6|l`&7kKorN(gvFuBt8^EniK`xd08HJ1jBsqg4P@2{}gq8npu8lr)qMmFvO`kcL-a0hUqF z=?b{DyDa|#ce?<(18|@0fFr9J@N5N~+3<0a5@%LmHXO1+N(9z6rIaxn=qi;fi_RBw z9wDJTP|GNJ5-qqQ+A4+V;V4PwoGX8#kGgLrcu5uut_d~)-D-)53mCH^&mqln%={(l63N``fTc;POE0g9t~|2~;*q zl-GcMx-z*{`QjUZOY^%lT>%eO@TswET<9(eC+VyK!``c98A3HA87gYleK&vPnjc0~ z3hjZ%-48=YTVa^hh}iu&e{uByS43oOM1#+~$9mAj&UFSZaSlcWl>nfZPGZWYZ^lgr zIJv9_m#j0k9DUVodotCjvC(+4F8=>OdqV5R>tzXej7rwW!}9WXr;p7CxM7TSY*(X} l)WaWtd6}*KC+n~A15ot=VV)0X2`m5r002ovPDHLkV1g4a?C$^o delta 478 zcmV<40U`eC1f~R#7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0i;PpK~z|U?Uvh) zgD?z48*c`xs2%?QZ#T{b63UXKJgvk$Rc+_siH+g$xOMCQ$f&N^e^f@~iaqEXM6_Fz zI2iRyymUAOMc6@tn8L3JJD5Up{aJRf1g*f-8Ul#<)KG>40OpYrZ~%B-1>hP$ooG#)e5z<0`4D?LSpj@@_vt_1N;QD)2yhw!e*lVq-EiJbEO2Ll<}8870Fmf! z&JtFaD?SZOB98&{48Hm%8QTCAX*lEkZUaPoO8;+wX@Is29>BIe9+bmAgr32x?YGv( zPHm@<O{4+u0jGj#(1 z007ZRL_t(I%k9!J4uUWgfZ?7%4&fa*0atKk)X6wH_JXf4xY|C&s0*47>eNyNfxeO$ z7ANByfczokrF@M2`b19GxA(Ok3;F9gg1mbH08ldnQu~l`ZGXhR4F&{=Gv6xNhm8@Z zwN=QvfJPqXR_Xqu`BF_69Q!?-l$RnV!Maem&G+clBo%4Q2bLP!0nCAdx8G=s}UAVtWe| zFkt6=E4Tw2#ZGH2BpHBI{4m!7-O_R?ri*+SXbW(DsgeL_b8O3sWaWAhdY{$s$iwbw z%_5+WnXE7bGHpZ%C^k%zC=>n$$aP2l84EQSgI*YKkQF92s1pWwEKF$7OBfXxWQCD# tM=y;3%rRj+u)+j&%|~IVY4jKUcmifTwb|(O$GQLj002ovPDHLkV1g^cW7z-z diff --git a/graphics/pokemon/stakataka/back.png b/graphics/pokemon/stakataka/back.png index e009b0962520a26bd4786d1a5381aa74b20ca1a6..d0d0b5df7b00e98217917c70ab61dac9b37c1b9a 100644 GIT binary patch delta 539 zcmV+$0_6RS1%U;SB#}W-e*gz`Nliru=LQE42s+S^OPud$%05q5&Z$O>a~fkhg=mO*H{@iHl>8aY->mehnXZCdu z6Ju%N5JK4bZg*!g=Q#f{H5Ocq8OcRLNG%LkcXr_ixh*D}u(ZiJf4`A{#*}tR&0V$+ z5+9Pj0v8H+^k8RMo>_tQi08o`r5OmrtrBPf@O}jjX9Lme2w}mx1`&h6E*!%hV#>uG zvq0t;?y`nEoFITx4z>}rT%C)i12;U^IRioj)Bsrc4lXq~oDN!3fUJ<`L5xO&mIl58 z34{KMS9b$G6itgS$7K$6@;AN+QZrs)Tl;8X)Df#ZzS za{4*>21Ev;Af3EF=75a-0(g2D7lBs-llO7)hyuvpL094RI$e?nwu*+U8U<+I0@(+m zCZ_T_kpF}RNgtPeJ#rD>d@X_Di}@o}zvlti;R-?4i22}gebG{rH_8g4QWSud^R;&JTdqxhZDwgcTtM4{@yB_BUq6{Le^C!SH z@XSEu0OzJo1&%shD1-1~A1n|s5m@J_02pgxBXDBmCI&DQz8pC=&_jt}Xj`Pq%z%A$ d{^L)?7YFp^5oxL=M`8c~002ovPDHLkV1ma7=(zv@ delta 547 zcmV+;0^I$91&jrdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0p&?VK~zY` z?bE$W!$1@O@HjZQ8AZj-9u#quqJMy#n$_wVN~Zde#mPdrj#7f&swgG630>->P=}6= zl0VA#?kgWntD}RDQp&ww?(V(5IR8-{b1ue|9r!_RipeG{)j8+a6402^ z9;vyD_Cex9(pTVI0gvu~Hx}iYE3h8%JlLf)17WyX0&M`^ufV}{Anv+CSg@u+#2~N> z$8d+3a&gNnkU56Ctl|zQ2;h|cZ3Jys=b~!hhG#lwK!|`E01K1gLW6^9(5?WoLY@aP z8V%YS_zENtLU8=l+!BCt)|22UXi+Ngj19*C*4%>U9*}huhz&@8l6&Zb-wDz*{p1py zYCt7$oW5F4zlIY)WFQLC;rJy7Wb75d>+_%pyb>6W2gM@_Ab$s4g?HEOkvyLT*T|65_ozyf28X7PXKnfM36P&XMp{y2JsXi?|_|} z4WJWTY!vUn%$u`*v<01tVTTOJoG%B4y#<4otTU$AYSlk(&&UB)#e$u9_1$3~SA+aO zltF}b&H`Km&kRHkaBk{U;IP|+GDrse0uV3}SZBWg7;9o9aAM>p1~3!8969!=hZ4b) lZILcB1NPPVk3SHO^9={|002ovPDHLkV1kqD{O|w( diff --git a/graphics/pokemon/stakataka/front.png b/graphics/pokemon/stakataka/front.png index fd73e5110f5798a3aa87ce5b822207d4b496f4d7..dd6ad4274baf312fedbfddec0fa8bf79e66c1279 100644 GIT binary patch delta 960 zcmV;x13&z%2%`v)B#}W-e*gz`Nliru=LQE42?Pl7bnXBE1BOXNK~zY`eU-s)(@GG= zUEh2(h@vJJSUEDGrwUPtBhi`|aWh?(yq!?fg9Z%{SwX<5bp`@BDVLyL-PS7=OLjy>n~We`TD%-tXRLx5Wd+ z`Ckag2e-s|j6m1F54}wUqxV(&$$s}<3cXG8XvO^}d+$I1JY1_DgRxTl1p%o@k1NG) zJw-rq0-k9|K^%7ntH3_b6`k?o=tmC$DYmP?TYNpnEYUn@q<|t;0q5=kNyIGC{J$`f zDQvF;Dp%-3G=C*~e{-=8yw8;pfk4>v=W?e4{QXfG5nTLaqPMIy{0i{>J-r{R{14WG zWLyt*#VIeqI8}PM8v!Ksa8R{6P{t?(S^zTH09d0C=!IxQnpBCi69i(O3-&7na;gfr zC&npC(U1b<8nAmpajf$c%Sgp0fL2YuFS*+VE)#WdbnF#e#oj$xp~}2g}DLhV+695OT~R;T%-(9 z64sU?OG`&=e=U9Elll7c{v~@Zz-n-9t@ZIc*Y*L2Mn#vwbI8s?WR4q}bGAM$TW&Ft z)T}v=^oYK`2P1oq*Zz|^k5n;oihvBg#C{ck^G}Pjz=~A-TT>&T8Fn-qfi!1$XIxr< zHT7_@;0g16eHMZSX+MvkO#nv6^|3#_NCJt3zjM|Ee;a2^07iYkwyZ7v9o^#+G_L7H zTQ7o0XZm^#@I=!oZ!wbtI|^Tyg==1?hCf|yXL>xb5?p>bz5;X|f4Y%vrPk+}Q4rM@ z*K=bsFlIkZ&-f5~YQCBRgHK(R*|JUuNGy}7vdW5 zhImJNnI734kDlmDqq9<`2T+(xWl}R*os}{@HhHCijG`lNnq@LLqv8hgrjzPLgVs0( iu=Aj`-uNF}-v1wXCY{8Ra)fRG0000t$TPY6gw zdQfV%@(=;V33#L-1#!?hUIun}uBgV7{hwU~q}V6}FY)ylvqY1io&t(k2ArF_BoVVj zlfPjiQ`lGqRIbp6X!1;UCt?+Nmn$Ozfw1dON5xqC2bB{Sxrw9lal` z{1t0LGN^^R*$VKP;>rSeva$pq8xcU2brQJ( zn1xG%JUZHnQUU3II-qy|59h5TEFr`?pm%?KtFTgnkd0-)%j2)((Quc51P*SjI@RaR z@pLS9;~oqA4cRCI?gav)dTvB)bYv#h0F#%d)xE9i?0r^t%FW{*D$ET~8z8XI23{)e zJ>w!}h?1~66Ir@YqB8T1Pv+~(dl&4n0IR{Zz19Y=T{{PVTpAT!1dky*1CcpyXzElx z&YEtqkuPF=Sd)u@HbBzVB?Glz^Lz6XVsa%sk>Z) z#xojf>qQWM=}cdqW2|T<c-3uHs*p+npW^tpu0v4d#HZ;a@khqtyB= zGYX>W^m1=Z2FC2C=@}mauKmq9KpOA~e`;}%29Wx4a3>>7&=QC3V$CEeYFVuon9>up za-I+;#-oMFn+&*i1uz(9SYeJYXoxbq2zs13==j2aa+xj=D4tOUPh-|AfPBC-c8W$r z@B(#Rm7omNURLy}o#4~x{0cZZ*Ul2qMqfModZEqfBGAX>cU$}Y`hrpCG!bYY7Xbe1 zGa)Vk?*#8?FVlVd#G_yIrQTj@(*r2Xr8a38&Gu58o}6nSqp0N7uuKN0U)(_6Xjr~z p&>F`g0Cpd=E?@d{YX01D{sDLVC!p=g1O)g*qA{3iXB`t4!fg__aw@brc&Sx`KvKc0UaUWCIU(1t_i yV<XZWp=g1O)g*qA{3iXB`t4zU3N@qUVfT^G zPGWsY6hg_+pG%2FTx_+AB_dD}t}aN4#9830n*-L?BBcdru(!vwl%y05RdhMYFi3H_ zaOdb!iwobQFgA)OX-W;N5Wi$R53)rUJ+(fMm?`0k3mi`4MlGI z0|GhZ+LG(C=rC$8Lin%)`2kJOJ`{54)!;(#x%v%#Z&q%M_kYdi&<^M#eVX@X=FPm% z^P1srd)?#S-hTu9;PKwaP(-+U`&lGB7B@2yv+c;CjN)u$e-w|~0Lw-!+mit7?4?mO zOj|^@>#;*w02)Qnek$X;z)=97p=W_K%_v~&jE!)r2&T`5UK{xS=LrHf!8X8;hClp- z0NXz+Jch~KnSVgaGj;S7fJd)pByg}ZQg#uK-Y5_E<8BC*NqK<4Xr`DP5vRd3`!$nl zlF3O-5+nHfnY3d_ohXz2v>%O*q*6yC5>SiYv;Bf8n603IU};P?N?j!*!j&=Re5wOS zNf`scD$&{m4xk?N%%BbvW5@)&esR(>3zg5u4#4w1H-D!8dp+mMl_rNApX<51^ck$8 z*1K+?r{VW1a0B&wt#uN+Bg|j_q4l_M0{qvP7asv3+Jw4L;aoH!gfSE$R3a+7uM1dE zOc5fiHYZ~Y0Wcx7jy+$b2vigR3oS*@7$9n5PZ|8K;lEeL^bED>$qjI6mRb`ba?t>9 zFE0Tgo`1dkD%5&`30~HrZtp4k^6JlK3S)Fml!e~_NN7!!O}+u_AP$X%53kmt-3b~H zx?Ee}t96bW+L~Ztfkh3#R1@1YsLSAV{Q=Hky`EFRNf{LU^csO{MeXCXguHm)nECZs zDQqssKhh!iS+hDmo6*4Waj{vEpXfVr!F)S(YT zO~DS7OCLnIw000X^ufmlfOb&1D$Z0eL4OLbq^q&^`4R-8bm{|)ccwm{R6XOggA=oQ z{;pDPeHa*{e$$0hAAD>Q#PfMe4sevt+u_&m;fb%@7m%I5hTfla_{TRdFG4-;0JxQd z4xo_(QFIYp2+?`R$I$MoE&$ef0|cZs=D1byMqvnomEmRzhoP_swza1lp#99SD}S^D zV}f)*D~!JZmc7-0RG0=>pu#K{l)@x`|Mj5(E=@@F=KSFr03hC4$JurPI0rgT`&9C> z0g%vB!lD4U{?||xr6~IJ8udcM_0fH*Wc2QOV8A~rtw}kCzODc`wSngJX>RAHK3${Z zRCGPW%+!-qCyook5STO3p8!CWFLHEa=>4D<#YB_!&A~eI%9_K3tZxJ$j8%(-ya3Sk zK_3`iz%h9N#=*ufP(Y}sXna4u0eDCPL7YQ1vllTQ9T5X0CWm6(!UmsL?JPkFZu!G^ j1OP>F%OAY|%OCy$$DROqDc=0N00000NkvXXu0mjfB~4SJ delta 1255 zcmV>zSo{AaWwC=))}=;n|}!NSAS?d^pyZP{`%tLBOruJ zs0$U(MH@mGLlHt{qQ?J)3n+-lMhOwO090%UfC-^>8iXQ8pr!yQbS65+0MQU@%HX?( zzr8Z1W2i;XZh%X()S3uUiWYctc?kgV?3Gus)(cGVvWd03rtFKWKiesc(Is&#!WKY6 zYwFmP8-KtKV$)ds;A$P)m7oEkXKM?5xh`=*oe35eSTq1kG_g#*W)_{U-@_iP*K-PZ zI*TfPdX2!fqSkRTgS>dxnECZklzQf5$?aj{u#1_90C2M$MmWWyNtuXPEZhr{-A4cl zgmaVT!o46|VAvA!&*0B9;lyBe)(HU20&a}q6n`-QFkeOhCkSxZ1qQ*m8zQhT0|Owl zfael^f&f&&iG{GER|o9*KF&lOS_`a#ofC!S(f|{`R5q8BAL$VMtgVhur!;VKQf(^o zJa)d{;Y9jAY(|*)UoSh@zW^dX{(Lvcz4{O)vN%4#cInZFP|7MlE?R)nhaiWZSsZTB z2Y-H)1{|Hhrw;&}eOpw1ec(rrUrrJ5>4TDwUn>NB`XJ@kQziZSz@?D3AN%wnP$TH* z`+j|Z0mN2)Kw^Y;;ME7rU3HT!`XJN<>_GYSLBvaI2dPINLTmtN2cFvkKn)Y*@Jjj` zYnLxUAZA{DfbrHe=cBsg(+7Ab&Fb0PT7UWVp=XTxO;=uh2(d{J&*z8Hv0cLVYQO}| zJ9y%2{{>{{ub}s5Tm0jj7Zv?Moq22j*(+;Tf28c*& zEODu93{V(?V6%8Lg~w3XXSTKH8^C>L*cIA=F;U*56(-yO%g(AtDohJ3P+^t}N`GOp zzyEsQ0+%MHdUN?;4FC{ttmC*zZUCGE9mn03a@GP!=m}v_09=1C6h$eDKD|c0&~SZp z*ZmG1bAR14;2*W7YOsA>0dQ&qk@j5b-O@CtYjhm)Tui_WOf$-L=D8pYfjJZ15dhTj zg>DSJAM~OcY4Ut?u#U2}<}f19H(&w~#;Qd|UI6I&pbrc$;E=ok!)W6dC?M2RG`yeQ z06ZpvC@tYMv*#&p9T5X0ri8<~gAKl{-7G-~Zu!G^1OSKNmOl_V1pmn&{sG6H0C?Z# R(nSCO002ovPDHLkV1nN+N!I`X diff --git a/graphics/pokemon/stantler/back.png b/graphics/pokemon/stantler/back.png index 6964b29532a6420b38434f03ff675ce5866fd619..b0c4bda1a1f13cf717e40011d5dfe19a70ed0f45 100644 GIT binary patch delta 534 zcmV+x0_pvS1^fh%B#}W-e*gz`Nliru=LQE42^RZE1*QN10pCePK~zY`rISsLf|^|~k+`}hR8_W-^B zKS{PMNSY;Z^nug^%4D;2+;|aWHGhJ6QZts%Oao|VJupeqOvl*He`<;rMhl*#P-W~0 z+hvbB=sk`pl*o7r^PB+`X=^KTU22AKtmGmkNU#7;O0Y@`%ZnCuTNr`E)+vExK2W>L zjRSb?0nl3);1mwtY;}m*39<(o4>-G620#K}#qS94Tl0Ji7K{#X{<|6=^H!qlAGL74 zT}`H^rGjBX^44Ghf6{j_ii;13PyuDp-&3D7#b-dzsIf)>RaGwbW$ckzgBtNf?>@*p zZ=r71J`N7KQUK-p*K<-z6;iAb`94-kL;^#4Iv1YQ7i?R1U!Z2h0pJL8j|#EKZ6}XDg9}J_QHlJY?LUrT zp9jyp1N46X#OX32ZkE8&2NDk`;?1(+#5QM0Qh6=ch-@DzCBuV^2!BRboz`urdrIkY*L9r* zqUiD5U&>HMMh(rUA%NiE>PtMxkg$L_05U{+61xGAv@Yc5z~gH`rEg3|G;o-JI|=Yv zkLHaDx(DCAyN5G*5qu5U=O(vKMBNA=3Al|jKtNuTPe4cl`ySZIfb1{;DUus!J1Dm; zD;qZfE1^4duK-ivC2)BI=qdI8OnRHdWdH(FN2|N1pwdyPu|v3)t_yTz3+&UCiYSkh gtYr6c3{)`o4;o#a?9)Y`!T0fhdk1JMJJUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Ax8=dU9 z0003rNkl9r{w0VzC6P zkz%=nuVx6Gv$v`z{BdXB`M#p~v*q$F@tA{P#yp6gCr2X-Fn=uINyLQSg~u_An5VM@ zw!xv7r+TknrtF$eZ97xY%1G5^Z3=JJ6f|mf1l&Tt-j;9nEBO9E)i8{9Yj;(w0f_3k zs@oRg=4*u(5_ko4641_e9U1}lw&Sg^1e&xXz2(H2((kwdb_-zn(s8~U4ZGqWF1oKW z!RBeoX2f2 z1byk4cmofBNxt~oEa~0qD*0j7Gx*w^pp=~LwT6NONf%fNb|tJ8)2DrjnT0}>taQKV Z#}8(P!}f(`oPz)W002ovPDHLkV1m20uvGv6 delta 339 zcmV-Z0j&Pf1E~X$Uw;8KNklZt~5JkDc+#^MrE!=ULl|b7p1(Ltg;5(#9 zL<41{6uDHSwP+SAD`7bW6H@@=?Gwcn^E_jZnU`gMwpuKCoqF&S-)RGF71^JXhSrGG|8z?$;)wtTbS!1o7= ziedB$h>N)dAiC$GtZRsyrvf!3@Cs-opo481R014r!+T>9R52pG*UTfu?Rf|679jdq zaRAA@eUpU6MgaPEa~0qBKl#rGkB^lP)g2rDxn}j)CE?8Lk?@j l^y!#mWT6m6E8Q>p@dIXt!}g7E99;ka002ovPDHLkV1nG>pW6Tc diff --git a/graphics/pokemon/staraptor/anim_front.png b/graphics/pokemon/staraptor/anim_front.png index 4620e6cfdc363937e9ace98d1fa031cd80a7a390..9a649110a1a1e13be8dd2937b6d604111a41f7ad 100644 GIT binary patch delta 1245 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 diff --git a/graphics/pokemon/staraptor/anim_frontf.png b/graphics/pokemon/staraptor/anim_frontf.png index 9bfd99e8074d2ae20738890cd21d318e8ff39f29..62715651bb0b81726a8800d212fe0f5fc97972da 100644 GIT binary patch delta 1256 zcmV!?KVi1xJT16bCZeJp~=)3B8o~u$50s#9~%UDfrm5r(O!NFFk)I z>)+5fvg}&2M!9V-tBVcqQBIsAk5C#Y`X%@lqCW2Y}B_aeSr7 zGh_gbVw7R^AU#2o1B9rnN2&k-qC`lc`eQoK*lh9y=7xPPD4_*$16S!;K>#!%UZvFb z1SPbZB_5||Jpr&^Y;E;<0>OT*?6-fg*N6Deq7oVpb?>Ep<{2X3TUBOl;`NZA*$pVI z{o41CLeh(TAW4_w*R{Sv1b`~x(daq|deF@DHDofnoCJX{1coG7QxtV;=yDD6LrZDJql~wpR9Q zyi0Wsz+>yoLJnF4AiYlv(kEYXfa)$|Pm#K~7o-nOg55Miz;W5>X#%K2d=7LhTsbYo zc2fZWp?L=EI?P#oO^wHbSIU1Bux;IPP^?j!0kI&sm;zk}K>Ym5cNKCM0Az#-Y=;%p z1n`OjgDSL%GR7Q+6K85WK(HNDpT?QXlBajN-?T$*Hhq?kH{Z_zV^$P*mJhb)c|5lz zNB{@d`-RO3oObrH&SnHo|G?ykz=F86#ttn=fZYSZZE8Un>z3t;u3LXB|Ddbwii(97 zvOIyscYhP#*t<8J`bQA`7~{!M6$A3lyQ|4$2!BSy)J61rSAUErI=^hjHz|bduzRB+ zv`8Mk8|_}DHrfea4}Si3^t4t+{e>Uw$ZGZo#nOi-Lm<{~i5IhhT(S5`CIEu*sdS5> zWGc)@w*g#XvewAW6h?n^QaDf|h9qyPLdPlbVN`uC0yc|$T4CA~S<+@HjEjJkW{Z$A zD9m#q@Q9SVkifeya-2sGyZn;&L^ZY=x;LP(f)M!TtRGPNnGo35IbeJL&FkEH95`gb zfYiMCz|JXZ9N218^0?NU$pO;hv%m56)_2dYAJ#!hWW+uUZTqUh57c$ z@1cPhh*Vs9k_7zix8or6q&C*hL{m$VtcDwdP5127;EjG3Zz9Vj+KE&IN2K=nHx{NexchkpTI*jX`; S4+3xi0000<~ zq$&)A#h`$w@Bg^B5{RO+YRCR{cZYMPM`x^$5P>Gub$@Mh&V8ru`<~v*dueY0zQ}w3 z65v$-k}&kz{42mP_U8yfc%?@G5<&>k5(og}uJ?{8MrQ!9e%$rsVoZ}QfTAy*qj%^n z0Wd)2QCgZ_1hC70S#Nrm!-!chjxn z=#44RxtquAIezC&3t|}fbDozqkI-l5y$!&R5-n(J<~DgN0ebJ3WuDhUumkvUf_#1m z;c~|%@}SIfuFY4%5kc-YET8vQLuj7I#BdMeY5^L83V2?BJmuw}S3sRm7$L?fxPh-2VXTulV>Dnlm9LlWQUK#+mdY(%>_^QX7KgeYs zJneDKg60?3s%sDrfSnL)mqtBLXlWXBuq_-vwyQ-yZyM;eL zTT0!3>5H%2iTcfCXhGkof7?IUzOygHfcVP)klOb>;Yl|BkThwWu&| z0-J^7%aI=6^CrO1*cTiE&NpVjxaqk*iIX>tKmd*03J?#bxGz-oc7VuJe5q%^NPC50 zvtY!78Af(6vg&Q6y8s;P<%}Bp7l47%24D|==ud#_&4vL11lIdvqWmP>*(wsj6ats0 zVxs&g{ZXmhRo=rm;Fvsyz$OX+>1?7#K-2<3 z@F@nlxT(FX|4>FRS8RdQ+B1|AE^zI7kpc$zJ$+LFH2y;cT-WZCc3iSIod8ezYCyD8 zD4#440$NE#K~zY`#nruzn?Mi; za8A5{F(|rRXAY$XFP5OV0(NvFauX@JCx~({!bMu^Dn#S0>6|Kds`xRIH@Fwc%zhY4 zCVO3i+?f6GpII1e&-*_|5V+U;mtx1$=({c-ckH1Jfg0#^Dr*KmpF`I9c64rV|a=T|)Ks;eG<} zahJpD(*^LN5j2DU@c9BsP_|7tgzV8h&KK^WBU4Q62Ao zIl=mP_?=FG>rz~$ejR=M>YY*O(00!133+{5j^h?`svK3TY&Yx)zA0*6+5ed z;MQDIO$I=-U!>+-Iu!u$BesB_0umZU3!Y8@%x{uEukp)xC+d(kK?yK30m&(#LReFm zz5-ka#BpM$y5cD z&}xLBq6)SJCZ!AjmIh!f8O&E{P_Yey2&(-E@KdSk6=UpL$TNUTO>T^8PY6K)5-*{N z@Co1)WMIk{Be>Ck!?ra$u>k}+0~qj)K+s0I1_f*>0C#!wje5xOTpPU?x)t6~z(xVS z8$1I<(TEJTf1$3hH3^vp99khVA=)RZRG1DC@NP%%w$DY2HH46b24-FMWw%S!log`b z^w*o737K;tPe&&QHBkjFOIcz7Lolw(x80z|sAw@w_6P*a%W=Jzo&I_8@oGF@_Siog s0bbOZX)k-!Izp6Z>$3kx|KooEEA?R1*SZQ=000002uVdwM6N<$f&gbIT>t<8 delta 671 zcmV;Q0$~031&0QZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$@o*K~zY` z#ne4++b|Rda2mRRWeG)^&5F@kGG#y-GDv&~TzDza<^)A^5v2f)OoA43*5*#NJJrW% zZ;*@R@k62tsm#_AUQGV z3B}j@y9vPTF5Atg5g?%j+t$1PJOZ)Cu5np%cJv0zvHD#9u&vV!_kttfppvTp-&5 z>`s-M3Wry0PyxY>d1i3M1_7`=En_nmPXz${h&sUffECUc9eC^kn0J!5DDjK^CCWf< zLMFi61g!di0%0k;^b}w^Ac|JqsV-OpAVH{r?9*FEIJyd{1hR<^__IZ%fZiz!a|DZ6 z-8Bgq1ZsU{D&&EG=m3)(K_M%2El?qZ53n`>W2M1-l?DafBM6~5S%9BHRWB%|S6mDL zE^Sj|RC}Cr86fZxc_KUs@DwCq%4Zf_Yrx=8nVob264VAzV0(_B3Uv(`aF7AG%j<8l zhZN_k@IBY9u&oT(E5ME|F@R@Vp1>i{6%HmL(SSk4dBS;m^(ZT4rb7g*KFYi8F!Qi)W2{bD# z^+weC_2S{vIG;DzKeYfKs?BN78`L_2=Yw_8kbf}yc+VAM>0y0-uT002ovPDHLk FV1m#`D~SLA diff --git a/graphics/pokemon/staraptor/icon.png b/graphics/pokemon/staraptor/icon.png index ecad4e21bf6a76d986fdd8016ed569101f9c5860..6753951d630f0f28b8c69b7cc2f450ccbb4c456e 100644 GIT binary patch delta 414 zcmV;P0b%~I1Lgye7zqRe0001qplF?uE@V={1V&r53pQlZOB+jM&8227AI?5?< z@xH=nW6aI5?;BBJni*!x8CqfjY;M$$bp46quwVvV93ic!!K000UA07*qo IM6N<$f=vgs82|tP delta 359 zcmV-t0hs>g1F!>-7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0WL{IK~zYI?UccC z1R)4SMXU4%|Npn4!DM6x-92no4vD+BZV(uGrTo1k@$6n zJjSTC@#0tw7-R2$&2`-Mn7c@A=)($Qc%JeZ4_NLu@o?6+ z{J=wz$d3|g7GJC%ek90S`H>Uk;)iVj^9@2PKd=Bcmr%t<#SiC$#1w%aSe=>T(gQ!7 z5AlY`k7WNMKhpL896vyTbp5~iK?%RS572?me30Ma!xvB08wK{dVygfE002ovPDHLk FV1oUKsDl6i diff --git a/graphics/pokemon/staravia/anim_front.png b/graphics/pokemon/staravia/anim_front.png index 5f8db161de3db315f6214814633e85b417373c2e..a5db43400a0b43228101779bc76db45aded72697 100644 GIT binary patch delta 937 zcmV;a16KUw2l@w)Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-B4$&hJ9 z000ABNkl|V{C-H9uG5E0lVA)d@1N? z*v40-{@}cAG=Bq)-;a5wd&+Ot0G_wSaUf9o0)NzOYNOA4eJqke%z2lXz@mZA_pr)% z&Ur=ZdKybqBi!R{pyr#_kK?GwU?7FLX96nx5Y-X~18MGhAV98xRGbR4cY~O8Nf+}2 zEDOd=K*og6yAaP>8Zb*>F}^-t#c7)6g^<+9!03YWtbf9`J3*kP1~!@Xv$WO1crI%e z;rWwPjaHs3psx9oeFfypJTK}`s6UxvJTEj*+xwK|I)83G;y%UvCoL)^wO$ZxI;DbI z-@Ys1|y*=(OS?L{~+wQod@zv-o@@__!5@L2e{zRkT`u1!691PfN zj8x&#$A8eW#!3aMC45AkeE2=(@ffP=8$Cm`m21u>Vposbz&{za1N-u;K;6} zu8GjPRZ9Ic7m)Gxo@*IF4=33B1At+37SLF!e}u+z3rrVN>BrSFVhB~iJDc{Pf;9j_ zsc>flh_yYyC;@Sx;_=32uGAj^ki}pypqqdO;tAeecC@mMFyKTNbmsktQ7&7sogiLxklcYq=& zCYh-JA!@bLX9=aONR$PsZ@b_oDgC>oup(Fx?H@e!59PCe_+Q5_s;i9PN-lVt00000 LNkvXXu0mjfI)=3a delta 914 zcmV;D18w~J2jd5jUw;E`Nkltd_aeIBLD)UbT$W_p(#;h)%r$WZaY6w=7EPcP=m=mE{>|Q-^X}uJc}T7TH4XCYYX_Azu2-sy{zlTe}6*hbcXS|X#sEVb5XbX>);Wm z9P{t@xiRjW`juoh zkc-pF8=kS#4H{zkEB~t|DIS@z?QC9!7w>-#@g%8U&ty zd1VuXfrsPwGPa64;|WSSto?zngh@}fLacSgc=uXK@L$aAS6PgPoTjEg@3Y7mg}IL()Rlvb|0@{Uezb|kBEA!b&ejnn)V zcz-f_R+dd`AdKiL8+!Iu{eJ?k>IhTV_1ELb oEJ*7g2>OS>HF@J7{{Qg}3!H-Qu&JwONvBdYdgNJ6E2bI?TjfgoT=`1e66>0KxB0}6on zfC%>qm0y3=Ma7s6sFd(|57JrN0Cov1#qHxF&GWphq@q>^MsGMT#4LZ$4-sgn zflX$EB5$`bUaE#g1mPstqg|F7Xlnj!TLa~yEUV@l8cwDdFDnBy_C95$$zM9Jct|n- zVVf#Noeu1a7(0K~D0Dz1Q5?IfNFIO5krpPSe?M}k8^*Wzzw_^ec`@U zyc~^D(qZWjno1bAxFKTaQEBxrd_ciFTfSvPeVkzH4*-_Uxq;TB`X^{C*T8l$!hBsX zBZXKOys>Hz1S|oNT7|nSKx*s(MhVDW9Zy#d^HKc~096f#L%O;cwgfQIVzN7AN?O1T zpK}2z5u~ITXUU2YLx6wtBa$xKD6Lek$~!u>>3|pcj7_yZE35f6@NW1a&nsgf6r+~c zQ%3!N1GefgmFf6lH8l=H2Gj!NRQm^QAP}I|4aGS!U0<0Q1HtSojMqBT{$XM)O2Z?e zUk;tV%(O*mdIK~;G08;#57DTdA delta 944 zcmV;h15f<=2lNM!7#Roy0001tU!Pb2000DMK}|sb0I`mI`%#mTAwGWtZ%IT!RA_smWA3oqG_A1y{%MwzvJ>i0GLd03IMjE)Dnl zC)5}=2`GItfp#Z?BjB!4^t&M-$};Q&6jBJ=D^ca!ArQb50F{lf4QTraa1TJ>TqkS* zMBfOwvj`pF{npz+EMtE?dh}rrKp3OV;x~oyH&2Y$!1Qwe0O2~cam0&xgc&>Zs zqP6O8440j(i>7}mgT6CZkFv508{n%^$|@w@gxRc?J)IDmb1*9e2)BJ0LW`hP$lxf2c7MVEqVN?0M!4ihx9dQ{bb)o zU%-d@x4rFcM@evxLq{zk<#JTznz=5AnJWuh? z)j68i5G97_@yq)zHyy=gJk5XzAHJh?=W7R4z297ggYS20y|)SM+<&-l^BAbD zamryggl~WQK71+9bNvtdE&#pw$`|u8#+QB93Ig;h#0=03^9>;9OLMdye+3{6_Ftvy z!4X4~PxPaEuK+&TvX&r1K%A@z(j8C&U^L`0ub{}rQ`yw8X<%#|24x&0)^_{ z)xPr+JI7)^)c{U1tmg3Sln}(ei+8*X{5-{1fRlguD*l;<3WAgnCcC-}bMXInz=CsW zAq@V1C_za46GjOkcYUuQ)Bxt^TqX3W%Q%!EmdgG0K5!Kfa42Cc9klgIK_kJUzYx6l zDgnEEy$ZsExXK4@7h6)>SU!+Km`UC12O12!f7>nbtsgYT?bBO7c-wz&{{V|ZF5;84 SXvhoz00004l)RUjGq+}`aT_R6iN(6{)e&$b!q`X-C8-wMHA61$1XNV|MfJJ|4 zb;6$`mN}Nm3@A#OQqYt}nMzSFa-B?pfP{izAic<$Z6W|?0X+xcat=^4r9y-`U=1?> z*30{~VmsEK6FW)v_E?v9OF<@z16Bz@Db?=xcL0_U0#^I&ZH*iR0$K58^XsOFfzg`n zkDKEWf%e-^8AY=7OQ3uDeMw^V_04}vp!@JW256ec@d^S^9J@;ftEOq(T_$u0P^foP z;L-Up0!P57D+M1y&`_#CfY4K5FEcc}&CYA+KQ^}q5Uujf1RyIWV`mBnkiKh2dQ}>K z5j4bxlcXmB@csy77yusvB#r=t4$zzk+6Nz^msh?FdNnJ3zsxz|XIN`Wa9?155y51ahQ4-n6YnWtB4U;DLS@ z0ZXp!;b2i10V6;*Ksb&m2_f6|M6c6N;@bIl*ML&G>rO&gAqen9e*to31r!}ckdz|t zBL~>+AU3tB0JdFcfB`N9h3IJe;qpbu$srw3RSv*u7veb}$2t^CXn#BMA!DSH=T9Vqz^r185q0>6KM;9cJ`}OsQ0suaf zBO=hg9yPWJq+4`xEuI|2MQoGbvW?w0^KhzGE`uT!K3 zl`}QZ=m1dXa&p5QGBr^>)#G#n3@IofG@%iQVqe3M1pnRX)k6p9%h}r?SUVnre8T=0+8K13P5)c6@X1IHJIiJNw{sU8M4l=1YZ4(eo2TI3rSae@Q>Sn{91ei07w!%S&mBW00000NkvXXu0mjf Dc9Rwd diff --git a/graphics/pokemon/staravia/backf.png b/graphics/pokemon/staravia/backf.png index eab9fd834bdd786108c16d130cc76ceb29c1fdd4..36e2f2169d51bfa7bbc8602193432ea9bba3dab5 100644 GIT binary patch delta 636 zcmV-?0)zdd1;Yi97zqRe00013M{MnpF+P6)32;bRa{vG?BLDy{BLR4&KXw2B00(qQ zO+^Ri1_uuc3$tT7yZ`_KCP_p=R7l6&m9dW7Fbsy{`UOG>@zANF(hi+0`4XUGTTj`p zsRMMp1om^ZTi2pb5Y&^OvZQ1w@m(TMT}lLqZGPrYiKM(({2PPij2~5*@@I%BQ-FU( zX?4P%BbGUq$qXn;nNrY{Mwv=cFLIqsfq;a9U?9E7nQbBfX8}D2;BpR7Go?a=IUqrd zz66vyt8!K!H*cb5qr0u<`q z6nJ!gjKC4_=}N(e5Hyr35Fqpv*vkwJZ?p3n`j5@+0Ys~Os{qJ~$=I2~0i^HRkzSR? zUjz-Y;Uwuv0K7i}83w?I0Er_2p#wDM$W>-SfenBu!+GEV&55ZP;3l9Iuke3;{mE&0 z;1xyOM1a<4`+5W_2k`1SOFIIR{0>ksD)94bpne8a&j1qu7=awAk2h^=QCX!7Jb0kr zMZl74dpKAWM!*P=4G@lFN}f+&ybHaKw7LA0QUd6n%&H4 zIDndl>h*dU&XdUc000DMK}|sb0I`mI`%#mTAwGWs9!W$&R9J=W zm)UZ|FbG8p$eP6e|G{Mu5?Yel%JiW#<)PC$xkncyko)!ZhXMdTlOrO~z8*EU38Z5F zxd{-xXm<&gzmc{8Za^xr1F!H*OD(f7Qw5CK%=4ImG@1ZE2zApHQK z_W*(s06n1QzyyCD`vw4gsMDYsNLI^p0u&2CqR;wPDvKkG0FCn;^j-yM1YNs05MHl; z0T2OY9eDbyJ@7-+^eYEU0J3{W0qE|b0|6gU03dgG%qeyIU8 zLK|rM8p~^qd`Ty0FNPrm=UY9`gpfo9loMqwVe;44>X0~uyKjTtBnT-0 diff --git a/graphics/pokemon/staravia/icon.png b/graphics/pokemon/staravia/icon.png index 8fcb75d87903520a7b88515bb5cbf629da63d63a..c013e5aa7a2626e0d0df9bb7f7d7dc1c092c55b3 100644 GIT binary patch delta 351 zcmV-l0igc<0;vO#7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M-DnP65Nl0003DNklGRdhKBroC5^n(s#8W z>Aulg;BqFiW5wD@VbUe)^bp_t=ncc4I-~|DvLV8E0KotiHJN-4rIt(%=PFbhSe$>a z8FUN{6o<%zjPVNSF_b5!Lui%g<+T8kVgvH=76DGJ7t-wHR1IS?QoPaqUNvwI38F<45tv57J-w@d?uNx6he2Z#Vz|002ovPDHLkV1kCPmnr}N delta 307 zcmV-30nGlX1N{P!7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S`$KluHi7 zFbG8LAlWp|STr|w|gi@;+d=E<`{c-JMt;KaZr0<6{pcLDq zIWV0GC|@3`({}NH;7!e%XZ`lLX2?@RVrk6HhE3Pgf2yO5d9UoK}zvct0z?Kiz%mW{+fN${O1x4Hv6}=*Y-eLd%002ovPDHLk FV1ljFj1d3; diff --git a/graphics/pokemon/starly/anim_front.png b/graphics/pokemon/starly/anim_front.png index 1235ff408fce9ac9bad3a2060ea4142ed0bcdb17..0e834f3bd3c84bfa760759e0285385afc3534cb9 100644 GIT binary patch delta 844 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 diff --git a/graphics/pokemon/starly/back.png b/graphics/pokemon/starly/back.png index 89148bc9f85ec173b4c1cf22685c4355f692e623..17b2b70011e13ee91901b3a86c2917934aeb08a1 100644 GIT binary patch delta 546 zcmV+-0^R-81oi}wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-D(hSris z0005mNkl^(NU?M3(kzjhc40w6$6N_? zQYXYWKrHYLs*a#eW=Z6Y_n~-ayNQ$doQLiPwg7H!Py1ohHB_KyZeN}K_~LG%PZ`dB zehV6g*np`2@PGYn=mI@s;O^l*nz{ft#@u}kojn2&F!$~rZ4>76VS;qD6%(`A0iEK^ zQi!$$>Y(#NFS?%k#c~KX>t^-pTI+O_rQ@8LQkgbe#rbpQYW07*qoM6N<$g5&o1x&QzG delta 511 zcmVuycSG1TqzUgQ83O20_Laoz%sKw%$YKXeqKJOY+n$H)!F9pLa(w_FPTX z)3eTVZw}o7kvb3{WOqPcgol7UbOnUn;sitpM_qRSC?&f_4SztWsc9Elxw>u@-h2zD z#9aFtoHnsqHi5vT=`G&l1EZA8G5cc+Tc-#P@ z91QI3tFs?p+FKY>!r9Mne!~z22!;>e-_~y_z`$C#d$6e%=p=$A3F9waW_VZGW>Ef*pY}=)Ew@Bc^}x6#Qb{ynMScCLSm8B;||L#rP3V zOTg0v=I4`t$!3Bn#|TJbyaRJ}Vax}`ljJWVlJOA(EcNg*1L}1qFkQIstPDa2fB3+t`)m4^|6@kiI^ub?T!2~xt2kTK4urY1d0eBLl+7H>Ma89{VA$S$A_ypYk zHpOEe*MOJm?esxQ0P`@fOz?UDV~etAIDfAHUXL?7u!NQcMuz|Z002ovPDHLkV1lh$ B>&yTE diff --git a/graphics/pokemon/starly/backf.png b/graphics/pokemon/starly/backf.png index c65bf27b0e449bbf7648534112cdbd8f8039df47..3851350df0c515475de75c32304a63b73abce968 100644 GIT binary patch delta 547 zcmV+;0^I$(1@#1wB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE43Mpm- zdsqMf0oX}IK~zY`?bSbT+CUTla1-$Xcy}f&48|qNP?pQN>Qo7vQNkk8wBI1g*s7DefV}m6sJycsFyJ#=r@VpXetQ4>Bs}jef9j&8#*Odo2{b2& z<(>pwG$%OV(LNydm4K*O41h<_X{rGrrDz&81TLj?3nlZ=;9O(@F14eNkPAWYqN{J5 zLvSttpnKbK%pmMD#m8A~3s45XGGFQ|lyPOij2i$qcSpUT?ixzaHFw7+KfbwJ=uw7~ zpAUY`5GxS&o*zF2e=g892JWAq!m$f*W6b^cz}X`J0rTYU(Kcbe?j}fvYw^L%Hb5&s zvjoC5fhuSn>RHEAzgPzTYTc|_U2B~T(`1yfX=c;-G0Q5Ttq4p`NB`302s4H;ki=vS zCh|<{&yuC-UqmG1BZgS%;avgb`$AwgwZG#kh%5jCs1)LPf59p%meHlYj)A4WX%$MP zyFi}J=N6oTq5)I;j!Umvqn`t`2}s~#3$%s*XPyzTTcS_4fXycDF`myaiVQ^%2sSUl zpI*QSm#PGd{wDB-v|S6}RrI$G@_>>v${Vi)+dhT?*!?XBbzeIlBvbkHp(BCU#xe@Q lb`Ne^6)brB8Q1#%@dCoXuo_g==F$KF002ovPDHLkV1lNC`>+52 delta 615 zcmV-t0+{{v1iJ;0Bv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00G}gL_t(|obA%FZrd;r24LFI1LR0KUOXhK+YI%>P(`N#mP}-c z7Xxv!bSY3UbAT2EG8KJ;qD%V*LB^3*LiXyJ#ScSkYyQccy< z)6R2m2HgRX+7lpTcR*i+`+(ec1%%z=e;7mv2VHjnC?&f_4L~TR+J#n|GHt?}W#H1Z z^brUt>0A!Xr)EGy2q6JraNQU|Ge~z#^?uRV0^}vG?3d;n^18BMryW4po7cmm1`y?7 zU~k@>{QB13!jKY9e*f?rhA2QVy#M*3eoFxc*23-mT~P0{0K!^(`+c{|=Nux|i-imj2Q31WpZx%zaB~S*vL$f$w`VUXRFV@Y=w;N;PaS~5bK2KeYAMvyV zJWXJBI(bUg6HGZqKoa9En5i>kJ}aIikBCUdM+~sk!>bIax0%3n?!MD92ps?ds5Rnw z#!4$z;idT)0Z;zYDzr{^fjV0*e;qglO#>$G9M`OT$7lo41(3j14S3RjSf&Krmgvb= zP;JuvjOWXXEFmibmAB}FKfizpu5}Jpqbguy+O7leEJn2-vQOcha-%}O{4+<~>Xw#Sg z008AlL_t(I%aLawf30Z9#$RQKq-e>Kr6@N&NaC0Hn&!_Jsx`@05vu?q*otEiQBqF3 zs2xP`J!t|wi`aQcz;nx@r`!oV`dKAyXfErr%&Pg$>w35daukwJ9>o`70fG9y$o-Dq zy8_UeJLk&Rz&Y7JJ`Ts~M+nV-uI;HX`UDUnAj+dNiDR>{R3sgyn?a{34Kr{Acb?parIg0&!aHoY11XDw)gDoBpevq&Ipx65G3+s@M UrguE;g#Z8m07*qoM6N<$f^FY+EdT%j delta 233 zcmVIl^x`d_QI;aM2{0T3b}%A+%hS7WoV zY`{-yVD7s!8?b00000NkvXXu0mjfL9TH( diff --git a/graphics/pokemon/starmie/anim_front.png b/graphics/pokemon/starmie/anim_front.png index 0a912a022536e93cc96b5af194affed60c47defd..40dbb53866a793ae568abba6181c2ccba448255d 100644 GIT binary patch delta 1118 zcmV-k1flzy384v)7zqRe0000GAk{i zl@e6OThTx;Wi8ok+8(-!$dnGYK<%w6rT;+jm`;wzE&=@q>bmbs>Vrof#kD|s6Ul#j z?!EUu`BW-jWZ5%HfP-cU@XRXdp~2UEFrh+Oeg0|#FiXhBT)iGN_jc*T5CVSzv`Q9$Mzt8=@pCl;C`9u}%?suO{$i{V8Q_gy zcl=;}%}>Vf05EdENpLn?EEc{OjDI4z93hD(!T7@W{n>f&8<7I!WITZgm*;N>G(QLg zo?cuommfy6`GC<}j<8N_IQe6_{Pfo}yyi`s2UrIJ+&Hv7U>PNV|AR>Ahlk%H@b^s&EEZvxq=~)5 z26^Jm0ElkxA3jb)*X?sFwHyk^GMc=(`y4&o0nm>>@Ybe_9=^T^&u$+dA8v7&acQPz z+cgoGy@{fSKd0eUTwfPfqYi&TMwdTF(fw%d53srGWLCm8z47eW{c$?+VPDp};&LgL zM$D7(0%l-7_0I>a%ZP3WCl3}gcpJiUhgV0zDeuA_PTv$JY~!cFudhOX9`>ta1T>Rx zLnwF-*hQDT^5@6gI_l%QmYN3)pgljJHebt?at|8`Nz+<;jn{=m4g+aDMwyZwQ2 ztHF2mK}~%p0RQKWKNJ9T?GJ^(+8>Glvhs&QVC4^mgIM{)4j}P|9YEp_#lXrRSV4+g ze~_n{@`qoNm4T85QvUE7>nP#kkiQoEL63iHRJa8Me?WkVza@Xs9|&hm)DR;2g9gm->U^mia@4 zX8a+4nJa=n$S!-qALKyVA7qz<;17~bE&7855dC3a4s87)53K!RFYyOQ4z%hnghGGl z75D>gf!H5j8m3$bd~)^an%k533O151QN`*85xr kv;@D*16hACzAS(E7w4E0>7p6PHvj+t07*qoM6N<$f_dl!Q~&?~ delta 1111 zcmV-d1gQI=37QFz7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1Q-ImIHvx8iu*TUA0ISys$ABsXY`&*Q09M!##^nX<5Fd_pJVeR!SN(HAN z>u1(43lc_7rL+BoBoR>lx&3)w*S{qb5a7MTaLPVHD`y;Iz|<`%1#1SlUHKeNuzLax;!5q$GK^KRr_%w1 zfq)5P$SFt@32Jq7HrdRei4YmEtfZHnEvfsPvLOcT2p9vUZDoBXpt`%D@YFNBtI}$m z^4L!!&w_!L6Bu4mtrI_=JGd4H-ioF?`Z$8Pq9de#z15b3;v|5y=m{_Z&{)KjKLfbI zWPnKrR7a0BBF{Mp1PGLW1EepT%IQ4V^v(yMQytqK^6(i4+xfsjoJ~dHdpT1XkWbq@ z{{SS)BLQ;%u|@$n>;ssZKq7%00ZIL;4t1OhnW$VO0_zGZuKKz4k0Z0GfOMp4}2j54q_Yc0;@BD+C z0Tln>9-#6MZU7Gc!B=TG^$)%vH2i~#U~_2!&iw;hiZS^j*(EgmgX-z@ab4aKTK>VN zZa;mx{sArTzLjA5{(*2>?OW6L4?wJx^Y(4JSNHq_L7eH6{L(*Q#7X>=8l`_=;Zu)) zFQ!NS0l0_$0hp)$0Zz-O{sFz~pZW)daoa!OuJrwbo>&+i|3D!pLfb#k16uxp4$$!r zRQjHOpaSF5B|3Cvc_y@0@f1v3@d`ig&WI68}epagt|D*k~s4sg2bC;ve4|AE$wwQ4|f$D%cHoy80P;MqIo d=O6q>%Rfl5J}RO&HZ=eM002ovPDHLkV1j?t3p)S+ diff --git a/graphics/pokemon/starmie/back.png b/graphics/pokemon/starmie/back.png index e80a99ec22be933ce27e78adab98891343d6cca2..589c49c31da4451fca2b01d9b353fddcf1ac5d22 100644 GIT binary patch delta 705 zcmV;y0zUn*2Brp(B#}W-e*gz`Nliru=LQE43jjT;(scj;0*OgPK~zY`#gx5vqc9MK z6Bq7>Rj3ih^oi{4Q6}jFQE&Nh^!|^K`H?|nbG+TIDnK9i-Wd%%JpB9BHuv{;FYot( z%pu^kf2NHg6Gs8~`q4PE zrj6!JiGu(X;_=lz`_;l$J0XXFS9dZ+*tS9;23xAAmiW7?JE%VAC(F0Qweqn-U^cB@oqvh_h1z#O6m}m?kyA?V-jT z0*~i&7Vw+XvH(Vaf2WBgL|_Z-AQu_}Nyz0U0`#CBLkQC}idI?)0QWlsPa%X4&3mkF z1XoUgcraiwn~geqJLJMCw@7aIh`{)QI#}?g!3% z6Fys!pcA}Gh_^7B+;Wi{02+~?2Lwa{vH`yH!I3X;!}s*Sf3_SVCmh<=ro`LOOCdA* zr%*?jKRc{bYON~Ls`bQrt~z|Axlh-e0p)$jC%T^xTvPB@TvlN~>*@sfNYw)P)qpEK z^Zp1iRwb~G%wgiDSQD>MtsZ^xQ#g}^1ruvn2)`N-KnkRZ5#mCWf1(2^uqOc=J`+tL z;HD9HDlJr8f1UjkI9UO_0(m|Q2PbWzBLeY&%9Ii$pq&>$B`UK4UgV)E03rPHZ?y%$ zg=S(k(00000NkvXXu0mjf7o|OT delta 714 zcmV;*0yX`n2C)W^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*XmQK~zY` z#gx5vqc9MK9T)CLD^nx>`b75jkV*PL)LT9rz5gR*W+XslbG&6#0s6T2&S>E93#%$0 z?;l^@9|P_Gfci2#^f*op-W~$B!Rny{0Y8K|maBtB9MTPJKs%O;!wX^x0hcYUcZp~P z;Oi%C^_JG_w@B0iP>830SNl9{7DkbC$qx2{90FeLMQ33vg+dU}&{eOkwHmXAouCn- zbqvVdQAJ#0N>w8tBOGXM*tOp)R2a+oe&N7#(IDP zk={!Ez?pB{XC)GJf_Dk==0=@bE^<9UDH8O608cI;Vw*q_w zwF1Ltz?EKke+2JU4s0V+Puvuv{TxdaKs&I=GFl->a^@=#}h z5Q|4G0TzG@O++6hjyfJ3U<5i?i3G%h4B8G w@f%=PK!M&R59|hz2Ya7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Gd)X8^1 z0003FNkl zLGfj(ig(w+GCmqKtd|jJ{vB+S_}a}kbh=Qq@!oY zRpI13?=0=l54yAi{tQgZ{jUI_+om2MI|oziQAncTa%xxhv{6283^u6LB7)nxZVn3> z8zILUMSS+E`n)%_-6!Dv!PJ<}@$sx}5fxrCEL{Se^raQ8PqN!`prlKNr~CJf_y&jU WrRNS4P{#lO002ovPDHLkU;%>mC5-L> delta 301 zcmV+|0n+}f1A_yQUw;7(Nklj53^ADQ z#F#~n@eI-cV3T3biM$6|shF_x!%OT|*GJhcz2Zw3Mcv(c%YXQ+QL|nIpz4=(#X?_D z^}}1m($q`Hy|39gdI0?i)v7_iAaGL5@_6**w92fQ?>pP}=Yg&*z+Hf8x%(9$beq@% zWaeOM9CAVAT~==Mo?7We&|-yBE&{kO%j&ogp%KHW%`O6;PrAf-j{U1L zSx`8^Ft-t~!Y1X0H=!svlMfViN$~vs{v*BthwP>2CTk@@00000NkvXXu0mjf4Uv*@ diff --git a/graphics/pokemon/staryu/anim_front.png b/graphics/pokemon/staryu/anim_front.png index 38d62ffc8a00e073d2e198694bf9bce2db447316..a245451e7a0dcb692f00d74e0db1ea7dc94849ab 100644 GIT binary patch delta 972 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 delta 95 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 IM6N<$f)y$QqW}N^ diff --git a/graphics/pokemon/steelix/back.png b/graphics/pokemon/steelix/back.png index 19fe60a4ded5b5eb04279b5c851a007c8653f7be..a92a444a40b23c672b72a7f903583b84a1ac917e 100644 GIT binary patch delta 678 zcmV;X0$Kf_28#xeB#}W-e*gz`Nliru=LQE43ng~01~LEu0&Yn}K~zY`t&~k}<1h?` zjTp$D37YkoLb#4aR6vi>1e*0&LUe^5U@kGo9a8dN6055UZ~~a0De^r^P4lxW@}(N1 z&@_DarWQxK|_Y-Dfe|Wp5KTp6J5W5kO z_2%h`xC3_3%>W`iPGKSNv5o=qntF30GLbUkALeF(-t6!%QF1+ca>t8w=gA6k(rTZD?fo!LKVWSl)!MAtcE0?Q|N}2 z0qvG#GgE+_ha+>Ze;W)T*Fb?R$vfr@v=a9s4IJVLOOfOZckegf=M?Snd{qUcC;^7C zRg1^l%^ovgeV0|X{Yg>-97eU+VW%mg|12V!L7PZvI4rJ49hMA0q6i8QQlcqNW&r{c zgjk%2qo64m?b44{_qmDub(TZ4Q#%CcN)1ElGGr@Q!`Y1)e=u+|BVb%Ab!roL?}w=b zQxupzjm;Y93m`sDJrpklpcLihkb$^pFdp??I%~yRf@CLrj?1`FF;IYMa}LtSWuC{J zl&t(ao2zG0WEr=88D(R;Ku-M9+$|t4BVDSJ`hrQ!kelaKys=q1t<{Mop3>oC zX~1BVQ2X$4e;GNAlS*8<;#y$wRw4GwIP7cjB;8yZ)1B-v#7qLy> z1N(sCaYA03n1>)$02y$d;mDx|z%T=d@Q_0Q062w(!23Ez$ZG!{DUiTrk!L$uRz2r!fy#?ocTqhJl^Y0Q9ulc|7l zsnn@W+`J#B5=>ElV4i90*1)*{GRLWhG7AAHMR_=8ATAozqrOY8TCtWO*$E%xVmEy# z0~BD|oP+f7Hv2IrB`d$q=IU7#S?sniRyKABKF%G+;1FsK0x;SWe@l5;v~6K2Ja;ZUNPQs7TxZ>R{wJZKs$Pm za4Y$@fn|Q%7qL}ueFN-6cHzn)&rQrGNDV*?t{#pYT0lN5Zn-g@0I4E7g_-~tG3c8N z?Kb=AC>rKXCHs0{#WeESB5XO1wy6}WSJ1V`C4QB2QtR9(vrkN#gF<7EJ|&0w^2$W} fzxm%**Zl<)(RagP*gW``00000NkvXXu0mjfMB6_$ diff --git a/graphics/pokemon/steelix/icon.png b/graphics/pokemon/steelix/icon.png index defe78d7d6f53947f5eb7f13cd17b0a6bfac85e1..c7a5c62bba6ab1b7747b35765bbff4d8509ae117 100644 GIT binary patch delta 411 zcmV;M0c8H;1LFgb7zqRe0001qplF?uE`qEl~2_%1n z&Xa6nw$?JqcM6uNMhY5Wiof59sANqlTEd3HYKWp%wFK~A=*d$qSdRptkI!VtBRkDH zw&9T|qX?%S0PT^{)qpmaV`s9j=r(;=tbMnj+XmEt^X@(nJ3+ViCfAIFG0l_GoGBny zY8>Z=Yw|yHMKWdT!DgD|0uJLid|-c+@w@EB=574vUh>cqaxQtU(2+0yyWSM^0&@yF zz#PpkK@AMYNsxl+*WU$61Jg=wK_{3&&v1R}O delta 410 zcmV;L0cHN<1LFgb7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0bxl*K~zYI&6L}Y z!ypVqYa;EV=l}n9Jp)N_gXz;&i=rxJe2Wd|_4?uhKIpAsXBD~|&}?l%C6+gZS-D%2 z8ezb-(7DW*hJTRjMr?(DdlVWQK9sI^2lL#d{tmaJG_4iox6Uwq!)i?Q6G9!u6AIkPIvV@n#xpDrypQrj_F3~Bt~c%FlSicqX#a%z9K@%3a+yIxT(bL_?87==a&=DP%b52Fau$^$5! z7SFSnKcQ5?fu~VqXC5e&x@(H=y97GVMe+ZCeUUH=fMmjX+yDV4eIm>S5NjL4=$YB!D~#^A3=A!iXRVAc-)8AQ>QuFr6R|fJ}th14IM(1Q1*p zDhyt{c{_k~gb*Nm1KULqK)kY`EQ{q8KKW4G@4w)~FVIpO&i8$p82|tP07*qoM6N<$ Ef~Z@!UH||9 diff --git a/graphics/pokemon/steelix/mega/back.png b/graphics/pokemon/steelix/mega/back.png index 8e773c0a410e60062dd49c42e3c3bb91cc71dd3a..87dfcfd35f486db9f0975c1302a77d83e76dde69 100644 GIT binary patch delta 897 zcmV-{1AhGU2jvHlB#}W-e*gz`Nliru=LQE43 z&;9+-h5%aY1qe~kmAM}`YNvG%5COW+@umlK-4nf=(8>K60OJ7e+X@U6#{jyvWkJFV z{R}|ccAZU3BLLlle_QNQB&UJb)<}vM(3gPDX@mK}OA6Y^Xu{W!Zz514A{YTO1(~KT zg6oyfFJSQ0l>mCFJtZ*L#oKk1(SWg(MgXn%CA-qs@axPgj4z!IMhAAhn-towe}Wd~5)-u+xklWO^Jv}x34r8vRO0e{?{ zIoEC`GG$yDfPxbsep~0(3?$|jM@+e#$U1H13vtIbVI;d0jAn8@I(@F=bP5R5MWK^ z%{ITxdVr&iXqc{K!q%VFrwEkcY_&jA^G-vNU;bUwR$Bo$+C-HWkpB6dfHNn6k^HR) z%W-&10BpR}Ad1Kq2yv6=+s6e)5whIK>6--W<#xTye`!&t(y_`YL7ol#A~hosO-Rsg zo(lfm2Ft19L))gh$`XJGGP(6;`@&PQx9e+UK-@VAzjh*mDc;` z0E$906$u@C_eE zc?9URcPjyLh(|!01)psOnc{i~s973a@b1aQ)>K1@vu-m@i1W|LL&h%~8!MEOsv24# z5i^-53Szu6`j=e*G8rfy1ndu+cpxD7#2^9rrX1Foa~sJ>l5UXht@7sSAjAO3xE22Z Xj&tHay-NE>00000NkvXXu0mjf2_&-R delta 910 zcmV;919AN22lNM!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um15HUpK~zY` zeU;B@8%Yqxhk*!Pd$670T%=AUeBL~P!k~mbtp}>NeH)o{(ZQ#H!B<;khQ0=T$=#=Y z0A2iYTh-O`&lVYwWxIY|^?lXVJz19JI{WkU;jcf(^G^fNVtpjRrv-o6Cd=?anWGg* z1t|5;Oq~MM$0{s~xdJeMp5kC$1B-0Am~(9Rj($LR36RNLfQJhPYzRlJTxx(y0BGO^ zl9P)E4b`d=!0wl);eKpG0Il^3glLw^-cM{0pa*~m&_j+71E8CM7~I58?xz4)4{+aA zV4!*lpzm51CA`tE0CZi~*~B~n&_B4tJ_UV_0q>oa6mMWC0lm|I7Ry7B6tt1aL};Mg zCcq#fSOE$Jg{Ccn>x)pH!RTpf0rXl2N?@<6kDDZ;1?wn{09x-2yVBS2^TbJbk9JK( zFae0Fu?P+}w?1%cbZe}3XX-k3bHBbk)wI*-!rNOfXQ|LyMc z%BP_*w8BHx5-?ML1xdUh9sk~uOF#Bu7`TkU8lMkeey~eyhJH4t2Pp3DeypWQjeL39 zG-|U_oZ#kw-)~R6?=};evff0X;sl6So6^~_1p1>M1HU()SG2g7&{7F%#Dh}%SiwD> zZ`-($jZ|smAojrb$CC&!f+(eG0c>aqxcc>^gM&#M;=qJ|OLly~$6rr=40tENTw4a7 zNkZvE+Zh-GtjXN$%JX6XINFMaIUiZth|S;XYXVF>TOE*50vea9JpXS)TkQnkXq!|z zK>Fu50#3XDR`Pcu9LM1!0k92HgD4_9AjWN3?w(edM96Y0r*9Umo84wz(xP6aXO&5U zJX`olY9=Co+L)l*JQuAY1I7(q$Yx>E{ko+zwQE_W9L*U_h&tobGGh_0=KGHTzL5GE zN|y$C@JLrQ{YvXcDLQ~fWVuocF)_?}lYm)E2X_E$7Y`kf#W%}R6{!t@4`dw1$?Iat zDO?&4o?&rKop!2>2q#>RFc@cef8RBDUnlYdjd2+$KCl^~=k0mbp&9pJj zpNWTpUp6jPFp{bsTObh&nI{UOsOVGVIs%0Z6c2(BX7E5j^odad@=ZCevE(+Aku2XL k-CO47`5?pyAdN-#KaO+aKeG_B{r~^~07*qoM6N<$g1RQ9mH+?% diff --git a/graphics/pokemon/steelix/mega/front.png b/graphics/pokemon/steelix/mega/front.png index 968ec96762263df4e8886e562815807d89c3239a..b60d5835a6d4c65a3782c5d3698650451f75a76f 100644 GIT binary patch delta 1244 zcmV<21S9*+3cU)DB#}W-e*gz`Nliru=LQE43>;?a82tbM1fWSoK~zY`eU(9P;#LsH z4N?%teRiN|PxcU7R&RJhmh_gy&8kO?9^!~i{A7vS?qSs%7-9Lms?<$yZKF!%18~_d z*Z;F|HrrKe2?Ue`GhnYz({D@hJB?GTI77kr3$*e`qDtvULR5#f&H9ry58S*Ab?x zBeb-LArtI9NFYjO3BZFSnri0)F|fT;Ax!K-PL!2Y0TGc?OK8IZ05f7pKq{mGnYcui zJe}o?$2@`^5^7+eWa5zNENcJ~r$F$?3UIf5l_nNhh1q6sdl6=uWsu)$L zx$c1qfN{tpUrWz5uvT#}tqQDFo&jc_aX+bng##d>258wkMj8_yDGj(0kU|3y2SruX zvt3|8ANMQ3*FMxSl_afT{sP#Ik`v(O{#r@7kkeq<0FbcjU#Ps+7_jK|gb*hCOtW@Ra*)c{>J z;b5{S@&E`eK?8dvk)A|)W4;p0Bq+4)kKjcek_W(Ul`x#0n?(~F94`4arYU{MNyUnpo}rc+S?(f8rn+N zsxW~fURh+$K#6h%peq0bc#jyJZLhSuy1aNje<-ZUiZ}RW4tata1L%rHewuq4;K^#D z0b#MOrUrVd-3-PpYhcr&u1NyGh1Sr)W;By`2cRr55!zNDCYTSmUj{wdH89b~*~hs> z-9quU8T({Z1AaFtH+o`_!$QjZ^;7unbWbqm7~tKezBRTMd#O~;;qm5G#$_4~Hl3xK3ZYWm%}BQd)iuoZlS|;cXWO`0sF#mCJwITj6CGq8y$0 z!!N(18Na!-&+l%jD(QFOjjg`58$_pkFK+(l?*DpYn&%(d-F9Q5l(*ji0000o`V97 zdutmMs2@O=yj=fXijI?_UBHIO`F7@?o!KFKzB)EzoV)Blmm^&KMHYS8^5QE%TPz_w z@#N(E`pM`oR`@R$j2w4=6txcG=9jHEMge1IV!UFu`xL{ueQP*iBQXIm7Xp6xlY-k< zH+sM2YLf)87UQkqPYQn3YRvPQ5DBS#FQx(0d^eY{ynd%0I1Ml%qELt-{3w;n8JFz* z^=kv@oX!M!oC7EWrl_vdKIbyN{p7a5d;&Y)i*XrrWwPUn63+8~AO6rvsN?Dgu=BZ? zQkZKX%Y2X9zK+n*B1VE>??VDnE^7b*B+*Pe=ZJyhopEmC6iT9^CIciyUL(PR0|0g+ zAOWe624v!@E51nTOf(a#OzOP z1PNtP*HSty&{Il#MQd1P#=3MzV2npwtn@t~hZj z{oDY$b)|7J4|IMor;0Zc95={9ReLdkueoko zIH>q=@#=%yOZnAC9RU>CL7U7Pmlaifun<3gsDs^qm5IQ*_7b&f>{U>D04h&>l!UWU z`kc~!k)0e=fy%fBtUsd>$x7v00J}v+4N(tE<8rDqgPv^f-VB?-8TB>(_2imlv;xl`~z7Eq>V}F-465 z^!T!WJk31~i0OK&0qzK0O%3#w)egp;(7?7sJ)1ay3$3Ax!)Pb(9zb1VB3MqurL!^3AC3J=v5pr%v@tC21>q}y&_f8cI3L*(VnMul+X7-N&TWS2(v_v- zVUCz%?p(A0Mx}ibV|e%#Mvuo6YU*G;eZ4FiJqQ4YoP0|8LN&mb)p_?Ie)^~inZbLC zJ~zGaY&n;gzdio7Im*=c>uS+-+j9r+#pC0r;JC?O`gL8Yqgs6poZmh^#y34&;J@QV zVNtKXwRhsnI7T_T>HA-PM>Dc-*ZJ)YnUa1NU%Tqxc1Co{_u~40zWsVx-`E-Z2io0s UV~BC%FaQ7m07*qoM6N<$g6A4hIRF3v diff --git a/graphics/pokemon/steelix/mega/icon.png b/graphics/pokemon/steelix/mega/icon.png index 588b9a6d24fb18f221fd34bd5f1d2b91be8ca65c..9a0d8ad4aa3ebfef1bfe950d768f315da27f066b 100644 GIT binary patch delta 365 zcmV-z0h0dJ1N#GzUrqoCa7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-J~x;zy! z0004ANkl>%wBB0~n1D&gn~FEF|!1=sZ{oZglZxrCkRJ zI;;uk0P`P+Dkd!u0rEppfAz^~sWAFI;8G|61IdVP4*SRGTi*2BBs#I~zop`z0WTCN z=N{ekhZIMg*tnEF;8+edH< z-B<B!KA8J7v4E1{m!VHE=8bKM%DX4%s z1r;!-paSL)1k(e|QxMKiFh$V)c7Q2@Dll0P^o4?ugRFHQD~Uuo&q8M&rUX=}TZNByeiz99Rl&bn#}TT?Yv|tO@7#jx8WH7?Q0-SUz zzzp00x=n8~5El^Be_jSoKA3Qpw1DgZgeZp5P@e$a&ApK>YagC99+t((W-51B6pg{mp+JQ;b@o55VK`_v?!Ze=d7KQzL#k9$#J`P36=D z&|tE9e%e;v*`f=;^JH`TygTUPY|#M}=%4qyr}}4BR;MA6_L$8PP_JPf^tyVqIizhA zCMc|4*Qs7V6sEyb+iDU{3SF&?ULR6ju8Sh?+yx0UT`6l&*W2b+_VhG!36WW)0tJ#n z8^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` z<&?i}+b|HuB}9N%pQ${6sTT+(KLA}3kfBT+@&<(iWXd2^fProvf;tb;0)_+-=;on- z){e>6sc_$=cOqr$kD=}f2TQ*1=kJckGo81(#PmOUI3LyBkdFg19xO%;co2;Ovmg?3 zME9a`oq$mtfw2Mv+&D3R0xqyi@)dACzd^voon9cW7{{fUkTZM+!*)m5fC%toj?Xao z*w@_<<4gQ)BqCaOeG7)VAn(8c*F6iDf^o=sXdT2|w;v2+3lbWK2>iD0)ju+deMHx7 zi@45UgoOnJv?`zsq6f5_UT1(l5KTK71bi^zG;RRd0RR-IsIO0dfM{nB0O^tkLTL?y zBB)CMzSh24YOVK!BG6ORfLUiiUIxCiK7ave0fQ>3Mgles(65q49RWxOMf8BA0m`_W z0(VI|s3u3|vCckCjQ|pfAAi22rF4AO-Ub?y?oS={H~V!=C~Ao=fUn2juP-LJ>;QF* z^yPSbd3`jMvpzt729wqE)3$WZ7Ht6EC!5>n-9hJPix!|z|GeKlRX@|BJPnDo+pM=h zdWGwt*X5(lA#I~5L2mV`O7!|6Hw~WJR)asub-6Nnbx3rv&hxBw7T~A4RMw!Xw)Ls( z*=gotkZGwrg_0s0l_loLn!gSM=_zlccUz3Fu*!l68J{Ls%A+RWG?1=~+pk)$Go_sP ze5+FvHo7#&{fU5k%G|l|Jgmx0LxEn!!#51c9+2C4p=U9;P7!EkGNV-E_wBn|j`I%z Wn;qd)Y&q!w00004C|Xszn)V{vF}I$uqhqS5{!P`8j>91p2g4O`ER@&{5X*UA^@Fi1aOzg ziYS58!5jzkk*o+Kf6qWW*P@06_KhllVYq$4$kmD*JNItn8Jfh$?Q?XM?`a?Ka=<0} z+vDTk@@-0hrud${z834Y1Zawd#{E;e8kPsQ4;22%O}6&KVX^OBK(qh(vn(wMV;9hE zw-JvnmUr1^Iqih;ka&By#mETzvt?n^4u-^QA3S(=dY#2_f4o`5S4`|!(jTMC1QEkU z63U-_14H4*=nvws0>}ekK7SC<{{xY{f%Syvex5|UqQfUEE=)|TithFc;9iU>ZQ#BD z0?sQn#DAFZ@tU)0d0{EbQl?U%AjrNeCF)C%sYOf=)-_@sq&2`StWTfepp#G(0dwS z=({z*xGn?&uGdxRFS#y+?Y{EZ%S*->jD0P@J;vs%9MaDpZA}i`XZ(1+{t8!<_ph}8 z24IT=0=K!Yh#I(58zc3~X?NHEdvPHvs~Yho6uJmdbH|wC{G6p-Uoo_>o>$ zJ)Ht!1q6itzQ6xP)W4|#y7+$c_^9SR4ba7j&fWK7H?0@$6j1)+L%ENVsp|U}u)M#1 zSr#>69|P12I@#>)_O?81mxCmmlJI1=1ew8jwN+XUAR%F&oQR5xn=;F?!zQ~H*sOMF&giQS#i+z>%07*qoM6N<$fO{4-Gjq_5J$* z008buL_t(I%hi%S4uU`sMyIf!J4j(i!4_IUL#++lSl}_>2v%OjJ1ImeoB*2`3s#Y2 z|16Br#5mo)%+Bn7c>q5x>70?13pP%Ruz@78vM#Lm9Z6%#m47FNG^QZ0OI~ul2-77` zL#|t}IMoNQG{J?<7a>p79f>RtA_D-l%p(zNApJ~2rvXl@T?A-6w$Ham2?l6qS;)wo z=>_a;{mu&lJE1;1JBj6PgcZF={h#WkG2#h)TNqJ0!u0VdjB4puqc92}J%ka7UX6n= z7%PCyAPjVBO)cZ!g&~+|g9c$DLR*+)1hz0Cy(!Eme%t_}EsK&Kyie)?0000a1L*>gV1M*UL_t(Ijn$H&4#F@HhEL${9hkr&Rsm`?(_mJEfXCP#0mZBE zPK<@A(ZHGz#0rI^y>|z2Si5 zvt6++H4tzfLBt!;A}--VGda0VG+xJ36=BTUK3Fh-b!&i{@upZIYD YqAiP(Qr-@a01E&B07*qoM6N<$f=35@WB>pF diff --git a/graphics/pokemon/stonjourner/back.png b/graphics/pokemon/stonjourner/back.png index faf01d9d5e85746432f98b4436ad7a56756ba616..78c401f82140a72c8312ee4d6cc3b1fd69255f6b 100644 GIT binary patch delta 607 zcmV-l0-*iR1;quBB#}W-e*gz`Nliru=LQE44im&F80Rimxz`Y&JRiM@bKIQ95+hYb)?n34>;9xR2;dl;PKF|2ca ztfTROrNLN+nD>L1@Rxgf1BmM=;ej#TMBk<%^eT2O{y!xkG(r!lo5O|FRu%!C7~szJ zUG4zDItos@9}D1EB;DICtC9vg7CH5lC@F$HbR{sZ0ec*+L(Da)C4p9P3ZZfM&N8f20aUAX6IiO?dv-yjf%Z-VO**%V> tTt>bRigSJeeg87RE7t4l(^daP`~|N8t~%=GbglpZ002ovPDHLkV1g1C7g+!R delta 615 zcmV-t0+{{91AJr7R?j zQnN%YL@BXCV3t6jlmN_slf-ibN{NdHP~vGI3kaaZ>p#FoLjpwG=0Ht=26&Aplt7RG z5Nts-?N9Hrz5*l(4MH}2LeoC5`;H|rFV{^11S^kGLJtySEy5AOLg-JF0N-FKe+P*G zka-&=+}Rf|AIK$o^zZ02F;+YQBL0T1VH|%xPPHIP-n7G zw-H#=KwT>CqIS*)HYo*uHo54XtnUKaG?UZT?RA*pr8ckMFP@x z?HLHmk^@1)oIV0J1gy*lKpod@0Vt|K)9(VfLT#lFOY(kJVBcyC>7+P zI=jSeybj^gP87+S{rNwi)>_v8v9(uEoL6731}fEUXQcqE*>4Koe|7J}9|6Xyc0nS5 z_&5__Bw+$&@Zsz)z&5P{fEZ>WYK+xi7(g2!bh9KWiT&6q0D%I$kaFE&^|SWpLI{uE zS%-)+DY1PKpPDgZ0-n`2_*>$*05E{H`a6nHwQajnS9*Z1(OtIb1YQ`1pEfqQRoVkH z$qK9Nq7MLKU^Bi}f8R?Sv;SP3(jNxfjLP8Vfa)$b@f%hMzvz-76j}D&6AVus$?)IY*drn+FOP$X#{4Be=<3R-iR`2F}Ju;-9`p9 zR|0Jq*vkRT03?O8CBVEm^#l+v0}g{H07w>qLvvIEmp-Xp&}IQNBj)CFRQqfyS0wDJB>0}6!RWt<1D zd_=zmheuAQmr{Vpk8g8;96%0000Pv0iz-9+WFP&e{O1YQM?NZnz(Q z2VksX=R)`poumO6g)l*X2|O770c^|40mL9pQDv<5!T@c6pqUm)MI1y<4)_YV0oA(8 zYQy&DTnd+dvjHJhQe+1rIx}-b1fEql`CD>a02rW9dq){6wr!VdDjr}n3(9QE@!cQ@ zK5cGttGEwlk!4oiLk|GNz-GKq+m8)UU|g-z7X~|ww!tm4h9)+D@GD>fxU;>>n0ZhZ zZ+9Db8RI3um*d@P?x?L|8|$>H030`YZe8sRz!P+5fSn}HH%!S*1fVS-NnGD`SAc+X zI)s;W6rAs!o#eo2BT1Tp8njmonz;aWo$iy<*i*%zpX;awP3zebbSZ{!<|xsm&>c|% z9n8!@4b!csps^Nzv|(Vc2ABe*2*VX%u{rew5Um17{u2P=C2(Zy5(cnHyc%qPozAvZ zjSv~vwE$|i-PMoVS>OTv4Dk`@2-_#w0IFXHLfrs$7C<9p&1{XTpY6JT{&;I>haa;5 zuQccour7WOwO0U_n11~ z8)={*^sb^Txb_ge791TronAr-LNB_@06B&bVD#hAv;OtS1agL93dVhC$s8E#$(vj2Pui(zpL!P$*6Kk;Ow_SXZ~p>{oU8T8bj?2_CDZk+8~lm&e;$_g3({qiN>Un- Q6aWAK07*qoM6N<$g4i!)H2?qr diff --git a/graphics/pokemon/stonjourner/icon.png b/graphics/pokemon/stonjourner/icon.png index 8fadb8567871e753c2a74b2ecf295ddbcfeeb75a..70e25218685d7f0eca07136c0a185c7612f5a1ff 100644 GIT binary patch delta 417 zcmV;S0bc%*1fT?vbQ=H%bV*G`2j>O{4-W&t&qm7t00DzZL_t(I%aME-e@gBQ1trFg zM9F0Qx7j64>KKVNk8kZU^OX8EV84K``#S*|?iWBh{&2cU7)%0RH<|m^$uyXVnIgb# zFJX_&3R-MaZU^=#bHJ34mtnXwx?TA>t^v*j>IRm2cuOUPzP%9*18U*~pq~ZMhD;_G z&GNpxS*-~(fI!rd@#uA~f8J|GB0O7H0?jNt6YBCT$7_w$hMMbn+qk;tx`GNb&ASS= zDSN0R^qU4UO9iK0P7Su9M@=l2G?-<1=+Yk0qPjn={2F?7^htw>o&StyL@r^XT-0AnbjZ1H3-9ngl^cYdkz`oW+WX{+$c0Z zIzVhTBwvya0-`a}&!U5LADvLAo;t(?NI$9$&_;vKpsNmWCSgby9WeB%nxL}|s6*OO z_6P#Vpbw@rBI}^#%AZJzNIJ|LKmABLoc!WP)PeUmKM-s8|F0k4{+ur&`TPb;00000 LNkvXXu0mjf9PPde delta 402 zcmV;D0d4-E1d#-gbO-^5Nkln$$58YaZX)W9BLK zYrt^GZ?-CSfoceB5LndN0#x5@t#O_oIdbGArn@&$$CQpv(btLSDw{ z&gc&nmb3ft??6vzHXG)<_9Gk|dsKsz#-QZ&o^;byfaEC3?WKqg?&rGNUM z8Hw=heGPPr>`bWZvmCECQX6V+=k3$#f!hiyF0>pf+OF=Qo^jkYkXaiz?Rsjk9X(oN zwWPtU>!U0JvsvFg%+?xTfLraGm-}ifm}zr4;mYa3?bfBlR)KoDZGKHCc)Iye&uw?U z)h=IL{+aOWU}p8laSg(BA#s=vRew8NKxszSL8Xmi_pJk@W<&NR>mVQ*BmJy8NcYhT z_3BH9lmO{R(*gQq&>3~p0nRK8>8b<9F;^3H(E)YLJIWqW02vI?)J7B?v|QyANfB9x wWiJOxeqQ(t(>W#Sg^R{r~I7C;pr-B5*!Cf&c&j07*qoM6N<$f@Q_MJ^%m! diff --git a/graphics/pokemon/stoutland/anim_front.png b/graphics/pokemon/stoutland/anim_front.png index 256f3911ab80a93ac34abcee63d90e7031a5d0c2..53913444d7ee2736acd9854be257c7368f0bdb01 100644 GIT binary patch delta 1567 zcmV+)2H^S34C@S#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-S!J*~g7 z000HfNkl6c7{DcvbIxl?qpc4?vR#^^^+=;f>%)|gi{1EbSRAs@wKh9+ zr^deQ654{V4eOZ5b@>Af&7la^Q+vwUHwOy!V23y`=w+~E?|+9rJ*jlpy#&Sh`T2Ps zz4~~5g7Bpa#fO4bUKIq<{2Wjd1epP%np>c(H3gRfV!56JxJp?=5-2pT=K|m$MS>rW6R!ZG$q#>R!uGH(fC#$v9t;^es^H}UhH?9$Ase!#dbwT5WRn^s4$wi( z{1(VE=)qI-TL@PbEH5vE*Z_Jl$br;QatPUNm~uA+@_+UUxpqfIZi8HNuv*bptn?p8 z6-*OsL;zaG8uj;u{^Ryae=s_T0T)bNQ%s8iqhWtEI@l)vqg>=FgHzLW4`?4GLf64) zh@%AbR&lzzv&Bv|1nA-!M7m36eOU82V8wBq+C_7FbZ^7~z}a}Xiv#ja2t-6Xl>ok` z-?)$=hJR_`s|>)2_o)iTN*17}^5fZl0yG%#GyyCU=K!y;I#>qI$ZE&HT@EBQ4A{*8 zqiuL#{iqeZ@idt;1LIO z|2P4p@%V7^Vmf;=n+}Hy*3$Zs|I-=XjQ}*ROndApDsxL5b$+hr$CQ< zefk~;ZGnEerX?L-N^O=4W8r_f#MS6f1Zea@Z+-^Qo8&oXK;BprS4CYB zn1BcM)(7f9u8ELB&O^@V#X;PHM+8Ji zuDd0t^&(C{Ptw%M%hIKNq*A0$(yTkRIxHE=Fttn0_Cv3g^^eFO_%5{uPk%=TS^tRq zA>78nzYHbvhm_-F4CO36{Q>GrhC(NI22g3!%L0-TjKdQ3hew6L-NO>|hb2Sd(_dx= z(wb%fE+8CmX`BGmA2NpW4)4B;4P_kqL&{Kaj|_MA(A_1568Xc&*ihKidBA`h;7>kqgWhua1Izz|#@5X>J+_!z(V!#}&J^*}PO Rg7g3Y002ovPDHLkV1h=b=86CS delta 1535 zcmVxU^J z7rU_<7Kbc!t<4VIsj)A+gtp*o!#XB%UH$+=b0~uK)Shzo&4EHa*dY!KdKoO)_vuMb zQubWB;~qgV{(kcPzW0@)??;lpbP;}8uu994R4_jW)FerXfPaD}EKsU6B$on((y9P( z)l!AXpwhT51i&Gx3=J%$>n#BwgQ=2D1Z3~_Lor}%+MD%;>{@*xfHgKvuw)mu2BIxc zz(v4?MLd6 z7>cEN!d)oXq&mg{+N2@g0xpAIJkbM(TZmT`EKii7PzQQ5@Pai|0in2cQ|ZKjs8__b z+Zu7}c+bIVCaqZNJx(f^CfEc4TE-go_N3n9)>5xO+<)hQ3#MLCO)CP1gWhnszlFb( zTzHqksp+~0bRQU@YkxTKlLYipaXPxQ867nS=wcZPv`gmdpyn~a;&DIIMRRL-Z^!`f z^YOTgef%Z{5~7t!0AJH@T*wiFEbvthV8r`O1!E}>(4+i#x|ag=2zZ(T7RDLCDlGS} z1E;uJ9DlgWfV74IJ2_zVoOV6~tW`Nc_b@`BKYY?pY8Y7n-wdPC=*91o!L*;GSgWob zQs7+#*ciX@V#0t&4A6t46p%-wgYk>W^vQHG7|f$BtsMqGo%%ZoKt|>9)pUA3ojmCw zfDixLQSizSPfl4Y?T~~QQ@SS8A3hx728YXl!x!@zOTaRmM7L9RY9(E3N5Jf2-o<#FUt_nsSaI~4 zPPB{p<^0pd-G%*VV&H%V*)tJGb>I{(n&1{`MGIKkATh6dtpi0gJR`VG*UO_o@{n+8sLsEb-}2n?x{!H`o`$ysrtV_-Q)8T&JKN5e4+t~k?p(Os0ah#l?oMxv#!0I(ap_4lYXn%Cm*99aa z7zah_504fCcMpn@KU^~uHvN^zK$?>rzyyQ=E{!8V{UK*4@BEz@!1yTkhm4{4T^#Nd zknf_QB>wP`8%i{F9z?*6(Lw4D+)%meh$84gXWc=ZZ)=2Gu8Hk_thfn;^x#L{(2R|E*XMElt{4Nit@6^0M lM2NpYAR>P#`v1ir{sFtG^*{-RiqHT6002ovPDHLkV1nyQ?}-2a diff --git a/graphics/pokemon/stoutland/back.png b/graphics/pokemon/stoutland/back.png index 1051ada0d98ce8288116791ae4e8666cc13a41c9..a9eede155bd35f8440e4c8a0ce9a461fd195a314 100644 GIT binary patch delta 631 zcmV--0*L+Q1>FUZB#}W-e*gz`Nliru=LQE44=?f;DkuN|0zgSbK~zY`t<=40<3JDx za0x8e8hHh7z2pVN<{+iz=)i@GC`RDIwetc8YEmR9hIz2K(?i|thos$=tiW*#{=oC| ze@45qgW$g}=--9Y;23xBlI=9ex&VF$2osTbAcWX}%mnZU2Sj`me{1k$0!BcKqYxkW z0N==04XDEe;1m%xs>dBb5fO?kR2?{fam1^Rh_Df>_%5K-6V3tJoDnJ>nODj3^56Xm=YRz_XLlwx!fWEoo7C4HnbD1)h_kgquBKhfV0J4Jv zf~pIUmn)Yuf))mF4UQrQPrPy~A{CkV6-*ph2TqL;-hoD@&gGs~h>ahRCMJLq(ls5L z7Z6@Si-ZzVs$ac;b)gOsKqb(P_2PpPtaZZJtB2@-w95Q|f3MsIz((K-F3`X8{*KFW z7L>q>-*X^>?oR91-u&705&n91LF(6w#sS_YP(M0L5#Qeg8qo#JtJ8=s$j2i(AiVwr zuqwwhT8FW|wBNJfQorY8@M+cSKlG{9W$$dmvaW0Dpf^*iJz8M-Mj!`P4uGKzWSvH+ zbn{Xk>)r-5Z2*C)(oNWnUMK+jtB?cGYTI0aGl4@vpy|My269S9zwbj^!kIeYlj(6W zb-GSQ-%i`MWG#WFX%tx2J*du9q{l7&Mw5^Y4QR}^t>14gt%CxMcgOte`U^YRIOp&Ij1kM;7boJZeSj)x%r`X^btpr z6Bm{hTm;paEeGe-Qy0Rhy+Cu>kgd1c;eMWB-n{XdKXaY9;X0p&K_}5 z%=j22SFoG_jD|q`yah}T7R?A?2^K&ARD6!2Y?dz)q~a%T%#^0Hl48 zs82UnpgMRUYAylla@F!iFv0?Ez)qA9h*$1JMXkzPJ?P-J9g#meH z11KS1(xC+b@d=E`C?Ti%DF|3feTV=$fo`mq5Y*tTJ*GiDMi1mo5e9sfE&w(HC-8y! zo!cd4iIboPCVx+Vfdnph+OR77XEQ{E>)8i+SeKm#f=!@)be1B$zX>#=4_HvA5q(gO zNAy5^`UzlDk7slaV|nbqC&96OFUR21skeXVQ>RPiZNt26Tk2po)2Ip^Fn=RZ0;{ip zp$k-wy)tp z9q`HaINCa0C!=rYeP6SlK-YB|%-aDp2P)FzoPVQDD6S1?%)W2m&poZJ23>H+{M(A6 YzdPCF-X;wRBme*a07*qoM6N<$f~?vWCIA2c diff --git a/graphics/pokemon/stoutland/icon.png b/graphics/pokemon/stoutland/icon.png index be14fab1646e7f4583c1c35bfbaa331a84855ef3..fc71ba36c1f1102eb798b215472eebebe20f47d9 100644 GIT binary patch delta 402 zcmV;D0d4-q1Lp&fUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Vl?LeVR z0003>Nklp$=3lFZY{4Q9Y`NOT zkOXC@I<>dm2Xi5))-WJu%?t(uy`BNk4u4IrG;oUGWGAPMFts@56X*N?%HO_QIs`|LIzt wrx*AJm!jhRqmcj!01E&B07*qoM6N<$f;42XUjP6A delta 368 zcmV-$0gwLY1I7c8Uw;8nNkl5d*41n(q{0>xIK?*}hmSbjO&25)0C$$pZ zns==lvV{}5a9iB_1EMHHyVaXNj1Bh3*gpz*1e1OamO_w&W#6jDO4P2<#wHk}s&^I}>(0 zL|4()B37I%A|4!QTOFn-f$2h^31vjqQ(I_4`wilzz*G-OJS4ZwP3j`YI$vysk{8|{c`VobJW&u%{8O*{k)1)OQ zVVIe(ABACL=4l>L7~*Dj?9al0d=Lh@D2!=Hgs!#=!eDVJFB{*)zMs7?K@bWC6}=PY z?Zf*J&rSJjEiPV|JpDi2+Ov2mvuwFPY~_($zTV&aL3aWLKNvl3HpUN^qT>DI94CMP O00001i=K5B#}W-e*gz`Nliru=LQE45FZ(o6dC{k0i;PpK~zY`?Ucc4!axv) zSAuwLsxQ#R2e4R?+!_s@EosaXm|S|(WQz3QF+KO<;<1N9=mS`M0HN$dbv6mj?z&WZ zE5$j5{9pc^o%snN=lTz2+b49|z4%FYDeaC;0stgaLK-7VJsD`&e}!KQBCI4J_h_I1 zm-Olu^;GCFK(Itz1}sXcTj>HwmY#P6bf>dIk5YgT1kjcM>}fJD4IqvypeF&|h)zO4 z0w6^P(1AwB^AeB?n{eep-53C6P6&hwfM+PXu#bSH+mivSqXW=ZcW^z{bm*yo)jk1` z{wcuvHQ?%iehW`ef1ExCPfy%H(UW7K83sX66L)ePTKIxk0fwO_7XA7ft@MHOASmMU z-H9)mr%}xLVJ;GfX{vgV#?VB8a~{n_9#eyX`0|PK6lR!5gFyjc69=d#kqqP!MkVl8 zU(p{ZGZtx&dH!ChkC{K!wuD5S=Q)(Ib=capMgc4egJ-rgP_0n_ekLZ!bbt&6@QHxK z@G)cCkF{Zqt2|E}mWdX&`?cW=1boI`N?>D1!YY4t7~2fdhV6IffBavpFI;;k8o4S& Q+W-In07*qoM6N<$f;A7&b^rhX delta 487 zcmVS z^*Kb1?LYC4m8@iUkgH< zn3G#HFo1JEd7jQB(kZ z4PawB4FCy%1RcNz8ePU>&<8_!`l7CC0Ao)G1O|X-7;n+804uMr15Vclpkuzl<;2pV zZvsx|2tWqM0O!|$X9M;vnB6#g56o`d(9q*5&l(A5%RkuUDYH55Q$9r~x$gfm?R;M7iGuoUkpCGO)L5!JW$Lh!KfO z;ZOu#@GB9k)Cz~*i-z>GiY~nN6Si<7Nv){`FdK*7If? z;L%s(C@OB@Biy8^uY^!aHT;Q~=D|A>NPH?Q;j3kuSV5WyN@@jJ3)93DBVM}84{@VS zU2uPr+5zvF28<`y=4t_q3qj9#y40J5n{n)a2Txa8mx8ta0eC9`^i2q`&aVNt9P=BX nnh>lU><%{_N|P=0kiW<$v$(WAHD*$*00000NkvXXu0mjff61?V delta 400 zcmV;B0dM}I1giv)BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0fb3JK~zY` z?a`5uHGjIvf4Qdbm%ewe?2vz%>PdOM0`+|WE=xfTps^3!vZE);{Vw2yZHbhDy;TeD zR8~ifNK^`!BJhG=iCCppxDz#%XSo3hu<&#=<#X)7|DKJ~}V7Kr@k zwcf1f%{IWJuf|bS+`>n=NmE}5p_FR)6EV$$cO;PbR93=Q%QUfqG!c~43bGcai77_( zlwBXn-Z2drPp-{r0gMYl?|8b@n}nNjm^D0IX&_n({jC}&LxU@c{$)!600000O{4-pWMFgVHp z0068>L_t(I%jJ?W4#OY}MRNn+qpL?Gx_E|rrc#Dxv{Vk0OdzF5WlAO7bV-1@OH^+> zVezqF*PXkhIfIT3z$j8OP%f~GurufVbQk8mKSg40>EqxRe)MB+eFp>BqnNRkWD)j>Hf7&EDT5^ rOd^{rVOFwK`LVenl^@^D|I&{SZS;{`z~6tm00000NkvXXu0mjf7Zzav delta 202 zcmV;*05$)~0-^$tV1KPiL_t(IjpdTD3d0}}hVusZ9$jw?*yUz@&lEB=<3W8GGet;+ zI;EgZm#8;)3BAn^#oynr>&`t{tU(0>pS_vdrkQ z92qUYC!PvWliPuO{4-qFQjh)2+00QqxL_t(o!|j$mPuoxwhJ!Ft zS3|4Lxn*gm*1sU2;}A;>RI)?aTFJhF5sBbLv>ODn1I{hbfvvxwLe0p6Ff(E>%pC&1 z0Mc`92mE!-(4mWuWGl)0>hS?6aI*Lm^cUe7 zld-SoH{Q*_aZj<-z5zg&+3sV8+Ago`4etj|-*wxpsef0w{1OGjX-lZUmsb!d~J|sK@kfyaRtLXejqO z6hA`hevqnk8~3_}vIU@K-ELJHgbsoyUxGlch+jYW+~&ze6j6A4;qCwC?Z%g9ynXRG zZ*OpKZ+|}L?dy5ozKX_c=Xg6>a{yF?;{^vq-Yzx#0mW_^AG5b%jxoZ`KWUqf3Ap(a zF(7H&+X-_70P4YXz?^l%NcS+I`R4zQpIaHg#8Sl694ifI{olC&9J=!-N8X>1NC99S z^xdfIhS)wTFa=!n>%ba_*AC{0*6PCYn5IXi)UOTaobxtpQ+TY-Ip(@I^BsxOZ+!`xbW jJ{|yo=-0v$ib%#^g3_!4eCS8H00000NkvXXu0mjfG9!aX delta 790 zcmV+x1L^#X2mJ<+bbkW#NklG~5$y(n>;dN$=)l%bP@!gIL6{ja80HRvPXOsX+X370Gg~WFImuR%|1Wp< z&WZjfNu&6Op(wfXm_pR|d3u2q3&nS0pg_nJA(P?+Bml^a2!9wyQNe3k1Wcl+@+^WB zV^a~Jz7(~fMu4D3fv5m5hkX{aYp4WF<&`lf1jeT;Yl>nUDp9hV7}p#G9CJKaxEfXq{1g%B`j1r@4}!hvmbHZuV<*fHTf*d}D^ zjC~{I4dXx}0e`?i=K$UjFyeqt0l#1{9>+iM=58kenKdoRWU<&t0+P;}2HQMu2mzUO zbk|!r^RIaWc76rXQ-8V>*RjYlKfZs-n{2R7g|^t< zq7;vEd<^@Tzm^y_KF3xJpuECf5|Aqiy_M`B7zK^wPLtwGNb8bZqB}V2I?6VHmX<>z z3?uW$!U+iFq2y12|Jyuy6r=cmW903B$J@=%&v^UNbKYL%-d=mo+c)yOeGQG*$?902?uMCM z4}zG`1M`2&@AV8|VmW4Nu00Is-Cwx?9C`~UNB-}K7y`gP=z3>2{T@U2=RoQdu!J2R zT-^1quMSSVvmrosfFI%L-ha3{^t==1QY%pcN`EVXb>H=SjmWz#BSy$*)EfW%s~>GK z+f=K>h;pM1R@~dUd9S+GV}dR8O8H}AJ3xCbJD&zXkV{*Q>#Yv8wDsgk=z!RzbY)9- zDNR{8Zaug`xx1l#%fOm6J#`s|yNDzV0XY(RPkoOQ!Vxf-6MTw+fv{9fh&27H_f^E`skM6v4v-lJui*<+{kuF7Hj^X>D%hvn2nYb z1O*dq3j{D;EgjHzllCD6*_To&9)=h{>8e@O)s{FemCMZE24~vkX8jn&i3)K7rU+iw z3w;|lDb<$9d|lTsN)|j|izEWYX$A)BT%#e&|R*=W4MaINiODa*wyP6lxk+j m^WyS)8XMfthaYap-^({&yM3;lvrK>h00006j21-KW?h^*)X;SlqGH^SXZ{{S>H0!7=N>#vV^36@4U2Kn<+>(7nomZYh3Ka#zz z-nHH+G4Y_JZbcRWj8{tw)ZL_eNRIb~kdlQZ#!sql7frn-jw@+1bEmi!~G@~b2yBB s(}7CP%z92-UQg42`#Bmi#xwZd z03q}W<-cH<;rHePf}%8Oa-ebQ-PYdYGmY1VRFf`MUo%|}*!0SBe;}Y&HJSxDq`9_S z3d?nz@Q7-PxCTJ?*hS>4J}2r%?bbjmk6*_hc;|3K6JXz_n|=%MBG-4VKU$D zez5>?Zy(??$=hO^Wq&^}z|?LXP`anD>%lb3cHhqlYv-r00p597zmK=s?#ma60agjx z6bUS`xQ(BtpJF@_fAbvRDdaO?)R-cSF+NT-3Fj;a3?PM33IzFi2?i@~=9ar$V(oI7 zlIVB@qTqhL^5S9s`kfJh5ea5n62v}jBD~9i)=xoBfx=*60faBYS@8k;a2-67pmUr^ x5D6~|;+q0E5CkM-ObOzEX1Z$rr6vcNf2MMa5zh8gN&o-=2>?k&PDHLkV1hlww5TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bWT&K~zY` z?a@t6gFqAq@F94B7D=N^3J0ixxM*EC<4a7twvC!@9WG#i1Jo4P)djBUru%N}#-uUo zqDP=7FrLBp21rA%Q2q;snfbl>09L2Yp~kIt8++4dx~L3k7Cm---SPxr(<#e=fU&F5 zZNMSjbJSK?Zs3APR8z!%GXdJi9wJv9pK>^ovmD?p)EsbXEE&a^02dlXGoAx>4v@ki1%l$d1ihs{ z@yb&!uy(OXNwj>s9bixIsy>6icj002ovPDHLk FV1i#cx={cC diff --git a/graphics/pokemon/stunfisk/galarian/front.png b/graphics/pokemon/stunfisk/galarian/front.png index 921888d6c93028befa1ec1289d85aa32ce55a568..1f9b3262997518ed57afdb86b12bbf5624ddb5c6 100644 GIT binary patch delta 455 zcmV;&0XY7+1g->-B#}W-e*gz`Nliru=LQE45;6C5dshGe0g*{WK~zY`?bNYO!!QsA z;6$0&YLiM`edGaB9Hg#p4;}!Ks^S5hO3YNOAhkX50EoUo2N=6GU6B|HPtaF@jTtV5 zg{BUB#jkAl#Xc+Nc;0_@J+;cJ@ce^HAY<97s{4_NFc$6&eB?A$f9%}gumE8N2n&G5 z2|^TtO=sUx4i$EL3Wv@#<+mrwYFG7xK45O7pODH7&v!G zyG1=k7pV8h61l;oN1RbV#jP#uO}@+44!456yM6&|<^aLH%?iQC%=%|#AX?eulpCZ0 z3tIw09E>hz`SOK(f7k+i0oWN|9F2Cu_)XhZ30B|OXu)io#pK&e1%kbs53w!pRoJwy!#WUVX^<@#P}F98{q x+R*qDU2vnzA5^c&cO}qUM@n=ZtGYJC8j8GHYTx@bmzLCBy^Fl2}V@H9=lHfRPJOU}?wFnphww z;0oGV>szpqW!755m+ija&YxtSx68lJerYQ_zgh}pO*YGVKQa;4gnI)YIY+AI+@PL= zumprTK;r}<3c;p%;OK*YNbvun1gO&_X=CUHVaKvCZgAF5FO$R=7w|jQ=1U0IEslQ! zhYV5%&K;6Y-Y4h+hh4HnZZPT+=eC#N)+6kV*0r^RtzhrImjjzRK=5GGT<|s1Ub_gy zN%}bE15%%bEdU{^w--;@{FTqJ1^5E6IlRbb?{6>kn2qh#29OYc9-UBsx|lDPls!$a zsP%I)VgdCE4edOeEqR5E2!2jRfX!Hu=$%g{&vchfX|Mr2U5gFL%HZ>ZR=EM#yoS&3 zP|-EzA5kkRyy^fIHY&2h>u?VZD2!Ijk6EF*1_b~p6^IQIurSyV*pPsz!GPQ^3Pib@ zEA7P~qrx#Xen;mj+-R>5y&~%-*wU|v*3Plr<&Venz5rX7jSTT}z+V6W002ovPDHLk FV1hUq)-(VB diff --git a/graphics/pokemon/stunfisk/galarian/icon.png b/graphics/pokemon/stunfisk/galarian/icon.png index 729a18bf157551fb244a37ef578a8c3df8c689b2..2c9970065e5400232bbbe2f1d935d2a85f3443c4 100644 GIT binary patch delta 280 zcmV+z0q6en0)zvQb$qub0d+AScJC$(VonrhlATdTItyP@wmw!&dnBe66`_uJ(BpE>1 zHs70D-NG=%A(zk|YVb5PVZ4@WDFkB^hQQ)EiA@0{B%1wIJkdB}Agb!4f0${#E{5zD zODrO{{%G#d74JY}yOYCa2M-zW8tnJr4d_)tlgxxJ>D>_s*!&Uj*<$XGgaOOUALSul e`9t2#AAiopjS)v`riVHJ0000oqb${teL_t(IjqQ>>Zo@DPg?$5o&Mv_!;IT%KIp|rE0KP>pnWZx? zKuH<0g)AM|jO`$EP@r$)C;mX>tEzX)t>RpAUc4tvVF3v60VHdN08TYd-?)wh2E3R4 z7`sOa*X=RJPXiKTRMJ?*>2_`vObJd-Ki_TNN0JeQZnOWm)_)C*Qyg*$%~uVc#wLuH zaw&yiYQhj$JSVX!fP_S|zltZCMvO%Dys>}1lv}ThA-lyAi^#PO{4-+D4(F@1` z007oWL_t(I%k7e}4uUWchIxY~Y>es?xVZ8*$JWNhbCS_?B23bWXLFIbG(;1S#j`Zw z09O+y{&eX5xm-E^F9;TS5zT8+n296Y$#YY)(Yh-|MaB)z5PxuuN;Xi@TT3%`*ces?xVZ8*WxI=ub&}ECWSHb8 zpUp+$axt2KEY^ca0XG*X{xHxlO^>5r5KL*qJgyO{4-+_-v+}Y400S#YL_t(o!|j$aZ`wc<$IV4D ztIrpN)X6@eNKuB`FDatxQm{K@s=x>E0$zz)S;x`pj*~{s=l)! z!uFjrb_j;%BB41drD-=!5G{6(}+=j1OUSuv*f9 zt*vsgav@%PJ^8a*dUPWIyOj@-T)n)#hAn|d_;v^a-{rqPrJ326*6lsVp_j&83m7>0 z9oZS>1-;_ABE03D1Bi%I=?<_c9W0lgQyR5J0XY52HpkcC7%1>mhsvc*LYXurKpkaEacY#x;P|Bw5K8CxH1X%*c~c=c zd}8A)={DpyH>#e%=k>dFY~8^p2M4^mwGqB+|GV*MN6mV`UVX6}2J@T;0{F58Xzf-F z(V)h(e1B1UhHa?Ez|sp^;IIlb*z*OrRe-|$2nC+(SL#_zEt7 zP(n~VdLt2Nef26jc03uy8-h_abR?XK4jpo-`@fh(#nM(VJN2k&l^JF=wG;9wD($8Hw)ZRgjgW(aqaaajmwNxp-_=qI0<1tGX!TP* za$4Du8V^Vd5?P;{`j+v4ha~lr{$8v}vjNfpU65?XY`p rtNDT4{ooGgU02Hwyu0Iv$1wf@uFKjPzT__{00000NkvXXu0mjfJT0Hl delta 858 zcmV-g1Eu`P2f+uBbbkXkNkll&H6gC&htUO;3QYZU>B1IWuzodw&O96Mt zRDloHsFg|831X?~npTy%RxHWbs6$ErLAR{^Refhegzd9CR%$tfKz!f(?!EKfy${3K zjlVqr%5e+5Kj3JW;SA9#6=yz3kl)CC0rC{VSh^GgcoOE1}a{kf_bK9 z7$X94pr#>=5`si5$TGAkg}@)HNrWzqP!Pe7lPD-4v_mNedfa@cq904CCcsP)D*bcM z2q&^FlMFMA_6uV+y_!j%UO^&}F0(CXGFnn}AnBb*q{?g&5M2{tjeC|zmuXUJPd?Y> zL%f?=Mj}jJI-x;9#|cAz!2FVWlLVemecRTDq_ypw&!E zMAy&mZg7j>GO;be@QeD@14v*`q1$^-U^muX6FA!G9oZhG3Ek|uVxs9T5M>}hg(F_( z4weH8fS@HKd>&z!*Df=-!JLKzt=59<~KMbp;gSwF+5-3NQ2*l_R=_DjW;*tQG3h9+o+fdY#&uTcl4T zTzBrmGKio$w^krAF!E%OZHW(r*uW(2K<~rIzz|`)>8*K{@Reuqj2M3bQd}~oJo;=h{riu1iA4CS;mY6qJOqr*WmJOiYz!Y!}nIOslg?8kdk0> z5>9*GmO)|7lmzpAIqiMeI21wgneL)i_|4UD7)PVWa#a#xhVC%Y&-Z>s2u>3V<3>^U zGWWF2Z?b=P6B9t;x&5~HJ@`Q;hX}{RNVi?8y^p_EOGOw`1sX!L7yBcJAM5P_YhtA8 zb5r8jyggv@fuLfmd3zuPHaMQheh2gfat{rFdf%TmYI^?w0xrPvI}7!{L*pOV{a0ZN k(Qyj>gXkDL|L`A-->%Er8H#wt<807*qoM6N<$f{e43J^%m! diff --git a/graphics/pokemon/stunky/back.png b/graphics/pokemon/stunky/back.png index 5b30a9ca27af347e3f41fcc15539aabf0d230e46..b28e9bb17fb1ecb1f8e22019672e4283ad475a5e 100644 GIT binary patch delta 635 zcmV->0)+kU1>psdB#}W-e*gz`Nliru=LQE46ccn#oizXe0z^qfK~zY`)s(-I+At8t zH7;w+sJ+LyJXRhc?~+}~{| z`Oaq7MDCmRYppKuo%z}bq!d;K7%ww_pP`f&0E8a(-3oiigETGpGNvX zrFZd-4v_Ch2NvjJe4&xtM)&KrxD7T8Wyl^uez)VkPyZh%gQ<4JAG zf+Z@`YW=MSLV!rl9WdD*H-&yt6wm+yWQ-p!P$p3 z+CEzwQ>C^V11n(sdSk5(;4Ptu*wMqoTbCdby((Jgw0-dKf8GsZ-t`Kk(+L20Z!5^2 zp6MslDFdvU3Nq{gFm7~6-3c_Zw;h%kiPbNO5Y97k!aF%h*Uc|6Od1FG0i5dx|fz;nW8 z_2oK~4PgrjaXa=Se*bv6tW7WitcB^u18|fCr&h#NiEc;@5DBy~w?LvK+yZlS7$rYR zlGa9i^(SEaQX7)2OxHEw&1tT-m;1jO#=;V~dgQ!6+)cP@;$I1ibU9!8Ue}+S4 zX0n4cNZ;>vzuh~De-dF?o_c||I9~N4Argr65%)1h9}!TF_}oJj1eiV_RAl*bLoCZu z1eC)1Q!-Y&oAz6!F7QfxZ3J2?Rsn{~#NTJA^%(%62YYiv0oUWt0Y`qP zFLa7w@`O(VyQk8-$(0U}z6|yvu-QP*UR$8m*SRS&1fHihn@U-KTSS9ZY)7U@_CcOo zn{B_=K&!*yXf}B!rY5mw{k;N0fJo0BFxnnAnSC`BPy-6|1aB@-$n)$#fczt!ORYIe zRl}HXSwi|6e#;+CpN);NF3z=;7|YO%SP06>C%4KDhg62QhDZ z1=8sR0DLqRbVpBr>?7)w0akSd9d-a1);h%Q1eUt99ZU>y>j4W7PvUyq6pO_L5P~PD z@kt*L;Wg`2h&ZWx-z2fe7EtvtJAOu*PoEq0nE*{PA&mjM3Zqq=m)53 gz(C*u{^JnhFJ-l!ys#I`J^%m!07*qoM6N<$f{Y6!82|tP diff --git a/graphics/pokemon/stunky/icon.png b/graphics/pokemon/stunky/icon.png index 013841bff96c32b8a378d94f72b96ecd578e5a55..c2032493d207aa1e87e2968c35e37767c2417f77 100644 GIT binary patch delta 284 zcmV+%0ptGA0`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4-_gZOBFo; z007oWL_t(I%jJ?i3d1lAg?$4NasZzpXfUKh&Qvn`I2}8L&>>Jka+r*P{E#7op{m+`y`wV3wDn3hrz4bCxP8ka=PnsIr+Bx}hk%LH&OMOK+L zbJpiQ9?6i3okKU)PNrrjM8*myX#{uytWXTGh}OTct~ejX_EZd;WBgF>l*O6vs~oP%}x8OD5{#E23@S2NAAcZdxF6r~|K9PvKV!Fx zSUvX(z};`Y1jIUoXOF`VF+?xT?IHFK-CmFu)YfEd-V%}kl8D&vPhXq=0O)=8YI+uJ zLgeH=dsSTn7754I(f~ZQ30%(gU+yQ0(Hg`6bvTCyN&S%2Fb^M1&zTd$w{=QukoX&y zaUAcbv<7((b$^rx2qd%yIYb>t_u~T+=r8B0KpjVMd><%)i6~r&h^ec1A4cYp$u1JE zbS2c)RcU~ir@I;NC8ktLnF#&a>3lbpx(HZHfQJ~rUsdzgU0GqJY6M*N^5?G>XKf(! zJotb>q~jki$E|Wfs^FsmF#e-STj~Hxs52P3eT+}uTYnGV@uD8NY`By#857?X#=l&L zIpd=IZu$!WWExP)Wg%SO(XAC+)bKtPDi6WCzN6c~zvV8(`)s8!pahz{y7@3!LckW|gZn#(y?Ec_t!KhXc(%=BoeZMEP${NI-iJ z_jq>t6RpEJMC$-9YLK)JC%zjWA+R`;v4DZ$J9mOFj8AlM^p^(Mok@IAz1F7~@1Z@&sAcl1^C6xR;M_)o)GJ%f z{(pG+T%QtrkM1P#!ny_YCk39uf*)$AQ`NjB>RjL{tjP3Se!OarlgW#8h=V>ibJ=h2 z^Vta$0_6udmnj>EwR@4G<-jaFSd&0iJquD#6>_7q4PfnX?57dGSZfbOxM8fF0H1O6 zCmH1)gszpIHcz#Q>TnNi4}tZ7bsCUQoooKWzo`F#w4*~5e_*-Z`Sug?KM}CccAU6B zmVoZSwFAaJ*r%$@H4@r^Fy{yil+6Zt=nBv%`cknQgS=+QOAU998aezHdb&g?`MSjRz<+y@F^ zA`0gsV)7!{g@3;O$*_rpb9@Wr#YL%sSI1EUuvFv#q|_0d@$pFm;A#_aF99B5e5b0K z0Na`4PSpsw?A0H4rjs_1c^-U1AX4!UXM-ldA(il10~r5ts|v9OMt`qZa8|>IRLDF8Z+%9u0_RJ> zKE{hhZ*xYk0w1tZ1>?8gMQVRreqKWMNj03S-@a%Ez#_80q5b`jz{7viEkKOGk~~gp z09OF>Eg8ad1akB35{KVDLng_~;}ZD3%;aJVAfHJo7w;nz5Ekf{PmBPUUMwX-X29jK z^h9V}1b=$CaG5Xx-eMKp3h7Q*HLR8wOS)IQ2BAOTaiMQwUtE$uZRypD5Z4Wj8@sV< z?f))4R<@BI)Ge>=QhGS!BV!03{j57aHiWQNcWk$+On{!JtUI01fSvbs7dUatYb)nz zg4giyxroR*Y*_4Kubj6>(tk_UVS~~h?&0|OcYnGLdmp6(xL89>*I_5OlLG{%lbEi< z#tb{)a;-#8ueerH!+!cPQFC8(q>D=AN4q;x0qykZ#b0WmS+a2^_*Cme8%KYsf#yu& z)9Q`NqP2(8ApIsVt4_O^CBV6j0?8_)2EYzyFI1M`7gQ%bFRWXDGb}I*3x2JkPUYfV zyMF~%fmv9Qsk!`Q-U`5mFVij#`drUtzwPJaBPaxxAK+Z3WE}3@%M>LCcH!ZY1gh$J zkb1I+S9P`l+&dimX~fT#N<+2Rp!QCH&p7Inj8YF`px*HHOo=E0*w_vN%gz=6SMq(U zzVOfLe<9s+Llj?dyWace4Ea|C%(ERQ?pALlpgJ(-h^3Yf=BXOz3JJ|Xm~#X=hS82U zAgTfsihkTY_G`aZ4?-{=lOZ$exU3>Sd1N)qRB8$00000 LNkvXXu0mjff|lQk diff --git a/graphics/pokemon/sudowoodo/back.png b/graphics/pokemon/sudowoodo/back.png index 777da6846c4065bc8a78fa88c87933ab82502217..4c7ae8bab1b428a92e603b417ec900bfc5b0cebd 100644 GIT binary patch delta 563 zcmV-30?hrP1(^kqB#}W-e*gz`Nliru=LQE46&quYBt`%L0sKisK~zY`)zz_X+b|FS z&=UvGi7b%I}g)j)^TNP5$fylXy7Nuf2VN`irm%)RQX*% zKShAn7OAWs8SG?%?H-DSe}2Ej0T9gq3E}`06>}VRQxy0`Bo0tTlDuU)zvTg?LD$B2 zV1Tzi6ECo%fGCY1eRdqC=hHNrDCh-@x(f2lu<%9nj@vL|P-*sXY*=s`d4V?!!NWIO zOQV#uQTrWMdt{cMe_DV9iUeSRzDr{ffZPMCwVC@ogEj{I9`w9TvRnXxv{Csgt}%de zs-W<+-eCpg!%w1+n+x#u(MmRTwb5{z;7Z4dtCE#NQ`yn>DrL6@>8DWwBJ8A9H z9mGB!%G$#R7s7y|9}fmi$%RM~t%-uh7a|}Qhb%v!6p{o`atgHvItBjtLXtoqxYgPN ziURe-fD_frDRc$EAJ*LLIG{U7Wr_DoWj@`%@INfb{AO?j7u^5=002ovPDHLkV1fuw B`i}qr delta 569 zcmV-90>=HB1)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z)zq<$+b|3OP+CLgia0L^9AFdhAwD2KaY#SFMzt3nTxac)&Y9%#JOt2M^oM$T|D~iH z2el>bJuMmdB9WA6_^_+*lOZZ3ZpT3APyR<8UjcUK(YazBSEdo6UXI5CzH!`5Yf$E< zDL_?U1Pm?$v^Gdp^T=R-CmU?fP%QlV^%@62Gy^1v15i}XaoD*i@S8{+ppGPY%XI#i z2b2bV7e9dk-ug_u!Hxo=G=lWma+sb^ZYrW+5HRUF$TP#z7cp3F!-PSl*~77A!ENLX z-Y^6YpG_l;Qqo54PgtFi8D5P536u%I0)3aJG61;;M(bkk^9;Iw81QG%^ESz90R+-U z<*T^H0Lra`!qfVM72rikC)X8GAOq2r$os6W;s&_ReGmPQ5@ECMK<{mT{$AqOG#H2T zMN=BoZm^{5YZBme;R&dxBp`YIxP8>wPqWlHkI$+}A;5b3s2^8=I3FTvbprZVlHYHozJV>ow}fP4Xw!Bhg?XRse*lUtcafRqsy zDN7skbO*7Ihcf2y&V?|b=*NRWTX7+hL{~&X>kAPOi$j(lPzp%`s5phj1DyiDeIZGp z58P_)0Y!m&V!(;&Wx4|3FKcdg9MB!4vc&tNii7`m0sI9NEXe$3Uisqo00000NkvXX Hu0mjfM5+Xg diff --git a/graphics/pokemon/sudowoodo/icon.png b/graphics/pokemon/sudowoodo/icon.png index 942b841d5f8d6cf6fc3b4d277b3274c1bf1e68f1..8b6845a8e79d1cb836c70e746047fe3808f2baba 100644 GIT binary patch delta 306 zcmV-20nPsY0;L0xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-l8Aw0Y) z00039Nkl#QFi!cbJ+2_a*2q2n6v>gN(kpRJi z14FFbHrCJFrPcUJj}#xD5P$AK3l`si*>QfIF8PX=4FoBGY!A$uNs2%hT{L+2ktl(C z6_Latf2}MZ37z6@>kI=TGV~eXpj>XdPBLIU+znAzX4pdm6xwU0VUD(O2(Yz`#eY4} zj=DJZjT=QgzQA0*NClQL78V5wJ3<{9 delta 266 zcmV+l0rmc+1O5V#Uu6LaNkl5+GE_5O|@ISbWrJ5_bH^|DL}Pf9^mF7T_f10pi?8Q`E?PP=w8VBOpeQI~hHhXyFL*Gj`2 zZ8IUjc4RF6>w&h_#c_=Q3wwNlx%`m=EMqK26eR2jJ#3qtB#%48aoZ%kNg7Rdg9ynm zWF}ci^m%WXv&6^b537nrq`FX7rQQzc%Db4G?XUi*cDwqc2FV&9>i7Kd2}uH|q8Ny_ Q`2YX_07*qoM6N<$g0&`iKmY&$ diff --git a/graphics/pokemon/suicune/anim_front.png b/graphics/pokemon/suicune/anim_front.png index 83c95cc1b7eb0e4fb5c0c8dbdec6f5901dbf19a3..4f4b84be38ce25e5f46da1c5540e6ec8c9835447 100644 GIT binary patch delta 1703 zcmV;Y23Yyp4e||;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-nu%W(2S z000J6NklPiq@T6u?JIZIJ0fvi8;n)+@yz8)}phf!LU8t)-Aau`$eUb2ACM zq90(r{sI9XT{RR|PP1`(igXB-a*+q8pP>kP3BL4}i$hgk0Vq&6u1!!c)eC5fdq{cLM|tLUjS2{XrW$$3a$;So^82; zgj11VJ8A(cxWpFAgt+{b1JfJGhE9}1nYT!YxX$0^aoZ;VINlUgM2f)^kSIZv+!ozH zO;G`Wrg>ApnEA=|Aj4itGD z7J=ZGlLzyJkWHQ35B%*d@fb`)7dPn(f6;D$&K2xznWCsuO-94l) z_O(v8N1yR{{^!pZZybL`h{r2$qWlY9m-f5QtMrfqi}di|`1m(s+cwnJP=^D>-ogtF z?Mr|Tj(*vgbN``R|l(5^i2jpDBROI0mll2D29J@P)DeDD8F+$LSL|m zc!O7u@X7#EWdUC2gcGX+jF-C{q;%Ani7N=;>3_+eyaHbC(eM;9(LrP8@H}wR1Ypz~ z29s0KOe3x^(|v|!p5Hxr$ALq-^!r3FL5;yO)kHksqlevI-+anW@hUwWp0rt5h7_ay zew1LJw)g2!HzxpK+UvK+VK|011DOEPHd1s=S!V%*8a-WQOOrp!5O2%wqC~m70c)2q z)PJq4FHIUsK>Lp+5GAVi=y$LU2w=>DfK3*U8kygBexK4I{78GlLe3nA6E>-=9Mv)a zbXpz4kFeKoDCYW_4o%@f2AH8b8wY#v@qJ%Y%tj&F`0AMoeRbVf3Q&)hYw#^EM*9*@ zckjHWnuVpXOZ%7uMzm{W0Hna8627Np0Dp2305vjzSgbPr695!53Y2jp3&5hHL*6Wq zxee8fo|ghwDMlgQ;4?d=5pSslR9TaKWdOyLi)8@RD}Y=En3F94a4St9TR^2+dY(&x zN-^oNrWgsF0phYZMz@fz%e2i>@}S@w75)9Xxt5uO>ZM7lsH&E}i&JHftJeNMK7aa= zD}FQya-EH9CCJ^`eRQ1!O%s22ms~ADv;54l`RLoYQiA410zMgSZv#y`mlb7;11&M! zJ>t0Jq6AqUnsO{6$G`Q>qYWu2u>_G8v56CFhQ}o)5|p?Cf$Q8@GvELrvc0SX5kA`E z5gu8N1f&GnsegFUxh3y6k|3)kFMqWo%YckA5J`~Zi$~zgCO|LXmbcuD1d&)!JYwk% z2#5tnWTg^hC5}TZ4Jkl;8#rVum7rE8o)3Z_$R-%bd@4b%$R8<0zSDi**E?NG_fiRh zkI~`^;gL;Kf^mnY8+U%F-VOSXZ-0enuijSH8Jp#;#0jF={kZ$0&zj3;ziR3_J1vwm1`nas1_lDI#l~}ZAV;@CVPvaafh*92V)pt7@PAS~SGfi$(g;xb z<$-cfd==Bt%{3^OOxth_fOc^*L+9~5-y16nLv%?nD#<1Zk`X__atb7~9ab0ESc`{y zI(g0Hw7izg&P)?&3#c@kWXk|*0w{PklMQQeg0*zRQ#08lpcrb}V+H^fi-Gha5QyYW xrB=H%^Oa_EEqOCnyC6J5&Iv@U9sj*R{0+#W2Wt1nfKC7a002ovPDHLkV1f~O38nx5 delta 1679 zcmV;A25|ZE4cZNmUw;N=Nkl25I*cfKFxtWAr(+{v-e}RCHt{Ms}rP(+=W%m#&0t#)Yut5OuEEhgQD$hHJ+Yyx%+`^3ovdaN)2RWSdJORwO zqJ>5oDmWJGx__4G2om0k1bcA{P{ARV*e1l`uN;`&LKbwQ%vX4egoxw3Js!6_0)Xw# zKt-gqcmfh9h?85Q8>lHN0MItB>(^62*7A6*7=Sxnf*SI0`PZ{eYuAkd+%OE?5of^< z7u^tI+GKBchXW-ZhfN^(;pF}eLddpG?)l!{j<^g)OMe$9=@O3I?>@Uh?rBKxQQr|) zQ*C{sVw=bg?ia&Dq%ZfiZWz(0JYM|q)8%V#z97WqmA6sxIj>9m;j-! z7h+i!)Yed!1Epx`xrTZYpo2FfsNuq8HcO~`h)OCpLXC%bjUw&7!WiFz!-@Ieq*a12 zEJK7u6Mr@K=PB$saGM^i(Gk3*C-Blt0j0(|?>ON=h|=}JIuw1K0}u)hbxy!qgAm2= zj}96LMaS|xrz7+ki;35G{RFQKAXOgVbxt|4KEQZ2Q*;bCQZes{YMgr6V)R64Lk+}FlN5bCd((y>?BdKN9hoLq|tD` zV1JB*37b^cPU<-TI;{=iM;P^+im|z&LsNK=1LmmC#{MDPzHjS_(G(BmGH&E5^wrJQ zijN{%sl&ItB-+L}dwLf&)tFxiLfXe15Kl}c450dMR*}(u#pX9)GCHCwT$tRySl{IY2SwW(5HC5}=R+7G(SV+3x7p~ z1loU62Wk-SV26`l;;~ukhv=lwPMSFj0q4+ zknM>};K?RHFW{7SoSX!aL{MB}>VGx}hzUkyW)ftkjzdfhDL{Pf+hiw`pxs=&==ji`K1IoB7dw9#cudVU+;#L9->r&;5M3EAzZQz@uP+1rNls_1aWt`Wpjtv=^mBZ z*vJe-NRR_@kPPk+B?xoD&=Nfm5`>)xV)#4G1;L0VXcWuAWr7h)kc|ILFn=Tf5`@z= zB^aW~BJI3N!(1?uTBD{k5dCq$vI_i_Nx?`Q=W)=fG0xl#xg~whm=uh}Kt7&KkRC9$ z8nBT51X9(B1*4G&gre!i!&<r*aB}Q zNx;_}eH1?Lv-axw&zic)&VS}BIRg=^Hw=5-PWd)FLXhDMzR0P8AfZ7;>eEH|iM{v% zZXP?=5g5q#$voj2R9&Kd{sRck=c~qf6!>hse3Ae?sxMbVF_kK-=U^b*z{|;8Fmrkk+p!z3u(3-pr(L=7joIK zmLy19C}1_0O#(_w&3eoMpkfJ-9RvcAeyG-y9D%PDHLkV1hoF8M^=g diff --git a/graphics/pokemon/suicune/back.png b/graphics/pokemon/suicune/back.png index 71030f3997259d07e41bc0aa13abe9657c5b651d..54c393a0d8e2779faf471f61cfec401fa0fe88ee 100644 GIT binary patch delta 690 zcmV;j0!{tm2G$0UB#}W-6#xfxNliru=LQE479{?~TDSlJ0=bcsDgls@z8!xy-Y$>< z8Kd*f|DTIy27~`+QTlRtUjBFic{MM~l9%O0;qAdWyHiIMRb z76oHjk>|Mz$sd)+$aoA3rJ7~T08%9(6XSuddife6UPO$?GXS0h>WqIY-3kQKl!uf1N%VAd!v8FpY%)qV1WOEZ@R@ zou+XBK>X%UHK6i@&B>w#h@S@pk}Owwrc0t4fxuV@angXv6VuQ+LR?f0kT!LAI({Ny zrKNSQ;( z_uz3p%0nKBos`?CHZ5{&&ZkOB5x%D=KmvY{3d2kfSYUzy_dsCEKZaGvWer1F8pOh1 z`g7$KjjHL{4J#|)AmM{T3Qt(!BxrD;51VV@TJFG-5^`UfgF}C{z!t>Z8@t!o!eEcU zDr*DhYU~bn3b4RK0t>0&r@D#3!2v+19t0YI6rcz_$dJQlq5-P|sFA_PdOmKqLYQ+W z8<}De#v`of+yjh99O^ORQYRLQXaKmmN$c|H0n(#$_o!2m;3N#txxV}cNZH?jf4}|! Y*;1w@AiFhD000UA07*qoM6N<$g8MB!oB#j- delta 725 zcmV;`0xJF12I2;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80=tokDu1x` z8jCxV!jKmTxHD6jq)wM~L9dWPony%4%$ynB9J>o-K*s2N^Z)0fncjc2D7_w@7C){a zuck#&@S?a#+!x<%+rE2uk+`=9l+x%jVNqOnlL@^FTqZn2OfL`>aEY)eAznp9@|Dv9 zZU(XKkczP3%{RB>F|utfqKKQvHh*B#7zn2(EE;zUZ4-_cwIxPPBAQMfJ=zAWF7eRu zP()-K!k#|Rj>j3%^{5FlP=wRx^%jHsqvQ$-u0`SYSzm8uFkjO@4n8wTi(dI-q5ui_UMlo6Jz#+e2HXRIG5;8rA(u7uWoZx#f9cPamozHJCx16At$>4s4+<$f zVTqHV!Ja;?Z-r~QJxfZ+ed!V$${DsG=HAe~#TEuT1QuBnIF&=Uw^e`z9uk;I1wYkI z4E7EHLiHff0Hgp#=s|`YJ`)XCEkKP7KGxG=vk}6aJK4w-i!dHxHRldsJmOG~5tll# zP(%&D%}pAYM+cA|ttz`mor(k}VSv{4<<~&U{s#Q()$9EM*;1w@iBJ=s00000NkvXX Hu0mjff<;CX diff --git a/graphics/pokemon/suicune/icon.png b/graphics/pokemon/suicune/icon.png index fbaff5a8cd76a9392285aeec41fedeb1c1e99f89..2fb873ac70cce7928985f70320dc7fe690ee5ca6 100644 GIT binary patch delta 512 zcmV+b0{{J$1jq!C7zqRe0001qplF?uENJ#eRXFN0ihtM|$28B@fjbRul{E&Zt z2omQte-$4IbLTXFvWG$;umW1rH~z@8E#!lsOu67$krmtS4n{f==h@@$BI_SAbxj+= zi(jqACM28u#;7a+aw#H zZ>l{ql8dV3PRw|8JGg^ZYE$(K?pHh3F3MtggM-tCqd@?FR!<~Izh^u{}m9?2cl}9e@}m% zezz!U4MQI+F>l&H6vr|2d!h%k?m1%ug?yG%lCn4x>8`* zyDl9BXM^B!kAHThZ8!-^rJw{rg&s>W(mJ^-J3e&3_7WPQK@ybJxFZ+Tuv_L)w3zv%k_m>)gqS-89VJpg>ubzSLM z6&f7@^eoynr4xhUw2LB68`4h0ym%cL2QgIgu_d18cz<5E4O6L@X+p%rwc#U`V_${z z&8h~#(Bnd+`EgLCZX1yzX2db1u+cC=aXga5$D9L!lI%9-e6dc9Gsb{;#+69BqDRCMb*W9(LUi(vpp+FS65O|)@iLLyx_PG)#`r`$hgJhM^4 z?xK4sP|J8mM4f!frA??UILW)7F602V$(C!V853 z`3DZ;rOsg>uS-C@n@Wd)T;UI#fzm*jU?9MPlz(&vA`F5LH!1@G{$OwuhBr4Fe=rF0 zE!6&C30$fCL7~~ZfHo9W{-Dr)z4Qm5{<8DLExH6$>JOsoy)FBGU#b2=+&g3s#Jvvk z8OJhlZ{*?*M`SnzciTvLwkjLB99JkM##aJyzIvY3`>uA&KX*$Y)~TVKkN&D851jk}O&;@E5@zK>f#Dtp-QA`fJnz=jyNfHxGsS>wu;D z>j9<(9@SsDp054?Oh->pe*xg3wuWSak_SyZW?&Dd>OLna_y;__i{%#(<|%kFgwyQX uTmg*dcHYhLTrn@$Ud|r2H-fabegH)M!R^gWYQs(t5FZI?>ifGs^g-h1y4 zJP$&f@n>WE30<${sdhuB)Fh@7unbCRM^^w_x?!~hVAu^gK!52e0QGK*o;IaKi`MsP z-4RvfomQw*wry({0C^Xcdbj9#SJpYDd$vR`v>nTXVE|yswyR*g*#^DrwN7+PHb=p} zK0EX--+Q`lOMzYIx^(EB4ZO=e+Lh>A^wcYryb=HvdeX=OI{-kF1IxRFE+v2kfH4}4 z`UzlU0eoJ&D1VN=eC~PubNN>8cU%BI_1wNgU&;0X1MqI-_FThpIq1;Iq3PdNtyh4D?m z`6^3HW5$4Z#^Zo97OgS`;)sJVsqz(PoX1hRM3sv{X5vG<$LSITTHrI}bH4O7L9if2 z;3{95qENU%SX5i4yTD?90ALHK7x9HD-Hc-%3jp06No9n-GsbQd+Ik)U(hE$@!DhL- zHY2LDN`K@aT;TDoa{hqv*hC?__3xxWHRdr9eeyXsrND|4@g&ho4q%h4U&!OjW^BfP zGIBGD-PqD=`4MF2cOnRw!V4)t|3$)hnU^q-(IS|If9=jxi+&%zc{Gg;lV{1i_#5b6=C_q5;AeV&1Vol{P3=A%rmYvkm?v*gd%a zly$4!;5c#r9Jj!U`>SE#__wEnCJQsMv{RM!>xjlq46yE3P z0fTrjSIS3W1o;8aZv#`RV;(^kLpX}RWkS{iFkOnT9>Y^U1;I&a{P5h2U&aqbFow+& SoO|a00000Z*$X diff --git a/graphics/pokemon/sunflora/back.png b/graphics/pokemon/sunflora/back.png index aafbc2bf0dbec5afeb6be339c65de3823399079d..031a9981fa257fe0dd1ca3b102198807062b10a9 100644 GIT binary patch delta 603 zcmV-h0;K)T1;GW7B#}W-e*gz`Nliru=LQE47cHIw(_H`n0whU9K~zY`<(0jT;xG`$ zEi2_VGh(|d@W@D8Yv{D0rb01&;;P$rh>c6gG(Z36 z)5e&uxT^L4fFF;nY)pG3W5N>f#?^t3#JC9TiMieEVIh!e4?=_;f53u7B_{A2*^t(j z$_O_JaG-m5Dbi_K&jLaM+Cz~_d;Aw*E&{cOB#z{l01jfI237>fl1&cyKyorUAS9py zpv|rcFfGzg4oH&J;5ivJ(!5yJvpT>l4!={mm#E(M01aU56<9$bVfQ;ZM;PPq?K}Zl zo=$~p5}$DY5|C*XAdQPm_RK`7 zkL{4eSH!N2!Po}3+Gz-0Zl06tnM(v;N2!(iLJp#NypFo~2s@ zHH!dw9jWv_h>I}u3|XCeADVQkR~t;8^hk<0@iK65<>t0002ovPDHLkV1g1s8|nZ6 delta 592 zcmV-W0%FleDL+y@~MNTFhL!G6rKC+-j#G zc)58_u4gV0d>y4$>I*rPc4Grd7t*{U&)lp8ND_;8(|DF{4b&`u0_1h1()%DT!pt*d zb?SX+(iNY5>8!Ndvp88BJO7SZnT231E46dLPH`@|xnA?81*9#`ZU$jw*1aez@t6X`Spe^HV6vTm0IQ_INN4Bxd{o0000E?LojVQWSnGr}C5keh< zgpf#vX1Gh~Pgt-sz+P|n>$iQjzbHDlP?$W?`J$6Tuo<;NQGaCMgJnhe($yKU;O&Pi z!^UvNFjT&R;hIM`tMNtS_OEK5k>vT*AK{CBq{n9Ef^3$>n2U*^+#cOA^1q*c@w9Spk}eq$z+AI%XW$f b@CP5?&bZDX9pQ0e00000NkvXXu0mjf$`Y{x delta 345 zcmV-f0jB=b1Fr*+Uw;8QNkl-<9QM!x}AROcp?F>>255JjQUkacKk(i>5F(o_yWnFo-gfQ;=%GafGF0}xAgsR-%- zmYf5mNorNTTp*3wk0LI^ZTV)g3qiY2h%x@#h$8>@iIjd~A%CSze87#&2&$yE`5mTi=vm|Pf zt~~dkH+mhD59syNM?)J77&g_OF|cd7!IC=njwaw#EcQ}J>Pc^g<(5}lp?Oq}9%-j%d z2LyTyj~*1xRNpxlYEA@wzC(RCx44YaSNv0w|S9AaaP1=3VwCY zP~<5dqJb+v&N5GfU)1{S4*s}Hf=!55y9l4+YNIhgWMWMg0U>E~DA~Zx9`bW*J8rul zP(OBTPj;|}C3a_f;1>v(i#@L>Yu=6+9DVT9AHrgT4L zVV$NE8d?iJmT5&(+?>cQ-6G`>uyqd~YhGfYmb%&t26m0K(zT3Ei4UUjt*-$PH77uu zpfgsbh;v?01G=*ZVfIo&;CN_l=>^VsZ)NkxI$5C^SCszLsQL_c%@=D?kc%5}H3xUPh? zp*!2BPoF-44B%dWtzY1+eU9$^F%pO*)wOIc=g2TFjLB$_kI>dudolTBHY={dEBAd| zZl{~2&Kp_5G$(=$q z5|HSqfI`>~bO!rU3G|EDbvgrMAX-WFi^IU?cF$O0NHuFy>R%Sn2X1z6*N1IbAGAeK iAIREpy%|rR|K%T=Qm+Fe(Q`@w0000q=s5c4Xrm*aG588}pJhd`mv43*l6Uy366 zeg6IXIaZ?Rs{hs?Rr#fQdXr4K8i(sil4Ss*GgC^Q`zN<)swM!ge~><8!1Hq;vl0qo zThFEdz||>n?*Kc>#{>7WW?T{g@QIv(TZ((L?`zz70Ac|-c;#?vG3x-xW9W4XuvwQa zJ=Ei~owD3#7k!<}AH7ye<&3+Ct{&+70HknMB2Z^8yR#w>Ww?muEtgD&4y}TA4>Afx5;{2G{RYhy#E~ z#vHya?c7c~av!V4^nj!tHb$EZON?qXT3-OR4eA~sck#J80%Qp9P=x_zhxb5516Ab# zV@v?hd%)ZL9?)T6^zjWaR38d`1jtSnzUUrJ1H1if2RxH^I7U|ofIRLlr3cpZ)$u8P sBig{dEc$JP?w+dr7o*knxAQ0Z0;YA!1TXdb_5c6?07*qoM6N<$f^GE5Qvd(} delta 456 zcmV;(0XP1s1hE8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0g6dPK~zY` z?UO%l!Y~xZEg>_pyjnRxqaFa7<^V`JKv3k+p#zhXp>q=s5c4Xrm*aG588}pJhwvwQ z&QMjI_@oFa-_M^vzhHLLziSl9Y{-x9!nu%BzaNH40uZ-hQl|a<@IH#<48R)EQvxFE z1Bp>AAuxV22LK_jiAM{6n73j&vOgwFqyzwBmM*|O{4;c|J?t)YR z006s5L_t(I%jJ`y4udcdhWiGmsp+H4G{`w-YhadVSuz8LO!f?KHOU|gO{m}o?yhQ? zShDQopa1^m{(M#H#|J18!g-X2(mG*+dvy#IH&HRz-0>y4o_Wfe@AL~5BEDEUG3dA%+t{y9`WpFOGAeO_KI5$#j!kPkE_( zx(w+Lm?S(MQff>p>d!M7zb@r?|`5k7%=R>fZ;2^Q1uotcrqm634Ks68me%^ TsgV?~00000NkvXXu0mjfzFS_@ diff --git a/graphics/pokemon/surskit/anim_front.png b/graphics/pokemon/surskit/anim_front.png index 9745c2eb0fd0df71567a999d1ce98b9ff207925f..fd966ffa622ba8df702a64e815a66e12851af0a5 100644 GIT binary patch delta 445 zcmV;u0Yd(x1g8X$bbkN`bV*G`2j>O{4;d(M>k3=|00D|gL_t(o!|j$&O2a@DhbIio z-rT^k2Piy9vQ^pxSPb130!_A(#VfiDmgiACfs6J4f|qhKF=_tHWRRkZnzw2@Uw-eG zZsucbnoAz<$^rOuN5IXw0kiWqc(FeUc)s+PFji1X`LM7P;(zX1%Gu)9S~Fd(q%RlC z!V0|H%avTN$r2%6!^b#|*JuUu5b+5S$-ILH<>6as19-H5R{(^#GXf$b_(Z)z0frK3 z4osy#;{l1HAt6xx#1(Kj?udeHK%}{@fq48NRY7F^8fp1NkO1vTKP|F(?=N5)U;vcp zBT)YQ0o7+UNgJs0;PgWM9qljT8xSslCl;VC(E&P@>z3dG zc>6WLw$C&d0f>VAHo)d=nrWt)6y+Z(3Ws1+QIueeD~b|~mZESl2?jqYN}*@&1Ju-H8!*J) zmMkW;%g``AN>9*5a)3fFRauH1|424%N-4&(O04HkpB6@sv2lhxldB%UoAm_TTpBRF zY==qgbpjJldLeWGo|N)o;U>i0wUpDvt+QqtMbeXtaOVVG?tf(@!zDQ)#B1;v$MF)K zz$QR^LPWCf!To&kEpP#RzJFH$1h};VA|v=jy@diSCDIKrmHvzeB$~Ggf$9-gz~Q(h z^0O9^ZgdUA;|Hkf5Zt8eE?4!KvALw)G8M(p%38IV^ry^=i?g&Ae^7(uK}#D z<2d7t^Me@`<^L-R2ftHMlwfo#iV}>9qVU#H^BbF=6=hCMLf^+{McJ>LMfFt(rJ}6Z z+UgIbqA-U)a3JLEJ=5-2eU0j)Io86Xe<8rd(0e`wOdlwO?nX$%?M zciQt)K0q7buG@X|6HO>YY21JD0?z=`3?QX+{NyVU#Q--Bu*ArCfJF?cwh+YhYNP8V zh+4t*$_talSAn$+LsVmAWKWnJ6T;CXhcPm{=&rjZ*7j~V ziail+mi8g?J>eX}jrh*M&Maj~a9kJnYh+SJU}K5wVr1whU<6g+FewfSM8#TyvAMgK tZIHuViQFBfJp6c;+qV?wAM>Bm7ZLBB*XSJT!T08Qiy9i&H*83*fGQ(|Pn04ah}l(tGg&&j8aIKuYQO$yXvy0B#&$iIMRD%LGzw zAxP-eR@X}qwTA1p3z1GZdVpA|xypeSN5nd?R93Ine{lXsJ;ccRdc_z+r_XmEpto4a z18}8L>jHSI0~uCS&k$FE`V_1R$YVmPN)LlZ9{E*ZW0xVy0hD5Na2sh$;2R5^m1;KISz7iw*#R}|NVmlZax&(}%${i*} zsX&~MB^X<{d)X~=xG#~pqb$u$)N1#ZB0B5uD2l!S5$~PXi=v~&00000NkvXXu0mjf Dvf;RA diff --git a/graphics/pokemon/surskit/icon.png b/graphics/pokemon/surskit/icon.png index cce700e6dae4bd53f98cc6e2665918f3289367a2..cc4e3f23e395e0a2f8b87a26395ece24b1d01d12 100644 GIT binary patch delta 256 zcmV+b0ssEA0@wnOV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4;mVi5eOdu z006s5L_t(I%k7de4#F@DMSTNbh_MXp?aXzODJvTn=q+HVkfk1l3{*-`gqt=>n`8i% z4oFza;HPgZQ69k073u;E1;8V`2RPjG{?XK&0=uu9L%P*mt9hzR0Pe__N`Rw_Beh0e zE%i^53qfJ%)^=wTha963Qff3Ig1tY?Ck?35cUs?Nmz#olIsFMB{OfyxHZzEq4013? zL}FAhh(**P7^Hwz{L^5N&(0A)ITL2KJU5QSBPWaue!>-OqMG58v9NbYf!v(r?R^b`mvR!@OaZ+vVH z>grYuk#}+`g#=pqOZuxiJG-*vBx^&j)qriJefwr?OZuMUG=J69ztuB;gP_GWDFU`d zA3#iwq;nQgWty>{#Y&i%frymlna5 z5ai+N4xTZr8eEA?WO&l;()z?0mgVI_RpzvUzB-=Z!HR_^rI09Sg>2ZvL#?jWEYCrm z3>jlXY)FEnE`N}q1lKG7iKpH+dV5M+Y3QM}MDlTCa~l#XtKaweEM@vxg&? z>&@5IB|qSgFN$L=cuRi#sY{j=UEg}&I6q?F@1v?`S$}>%j^mGb>)8aS>8*2Le7D~f zA8y9Z>FIdQeS>SR+dL?nYU)2Me`|vv+})sP5&e;D44}^mXy88FG3%ZnI-V(ND?tf&R^lJGBM6aOT9BJA zZkZp5zBNHPhO6^U@-5LP^93dcQyIkrO@C1+f3#IpnHqu2mICZgaMalGw3eFaj8*o} zHMcwvxztSp#daf*Bp_}f1SNS~vsygBO;B8v*nb5Q42}|ZIKp@!%>agsgk3a&{zRM) zPL}bYLMKnuK|Vhc;!6}7L7lChCha^G3hw(lK2TlO(4Ing_v`Mxjt5fjU$PTn%`rdh z|NgTef!@cNSA^Kbmz->kmD~ieS+>)Jn&%QrH|?Emhk}HE-?W(_IO|` z6E+X*=yhxPVU0z%(_5P#y2slcXKj86I{t?IU=J8gerW11n@xhJ8VpZp00000NkvXX Hu0mjfAKQW@ delta 794 zcmV+#1LgdW2kZurUw;DkNklNIklf=cXQ!?y z?kNzEt)2pgrYum3ML~g#=pqOZuxiJG-)EHycBbMFWYD=G!+D6Zt*H>ZWQ}lXz*Qx&-du!`!*stB#a*otwZ+k=V&~(4jJ{?{*k@Sn193lSC92kzaLs!(S@FI zVA-!JQo07uEx@%9q~YiZt`RH;T#Hns_|R!ne`W-Waxm3XBm#|q z_d9s2=}IlK4AjGbbKb{+1VmLpf&y-Mgha;`YD5YZVgV50h~5ivc{=FNXd%=r*JuK) z0G1&x-y3lRGJl*Y#phCDPQWn=hXMW;Qsyy;)y9kk1Sdk|TnV589)L|?l>{d;n-Y*J z9^i^qmjDR(Jk|>7Gy%wyjZXrPyx|M@!1+rdV#PyV1)50{&Icz6{y%z2LjCFrRLMtg zp!#0Bx!7Jom*eSblO817ea6l;@S5}<=rf0iwr72B*nju2=XH_lSo%-zhvV^keD!R= zB)(<$`8VqT_U`MDO(wSYQWf?b=aGJ0b=CF1mbbS92o84;4RU{Uw(T#ewM#1ZM~w5Z zXy|L{l1d`r;aGo9p?xYMib|Jsc&G6!)a}UFrzonh+6pMlofr0x z$I%GUw|_K{nJG?@AIN{0sLNxza~jjPeSGWTO0AE=DC(u^2_yPtP& zbv%&z{MtLwtP{)+$G?8B2++r??v6g&MBw%Z0`VHya`$8%4>J5@<`1}g84p}ox$)ob z?iBF=)vhoBZ1*eiz*Z(6*sa&8`Jt{q Yn-fifr?f_DIRF3v07*qoM6N<$f?dRiyZ`_I diff --git a/graphics/pokemon/swablu/back.png b/graphics/pokemon/swablu/back.png index e146b2c0c5acab0a2f430d5ef7411ddb65256366..54258f5e47d6185e9d4efdb778a657c66da66295 100644 GIT binary patch delta 574 zcmV-E0>S<51cn8W7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M-!Drlg?d0005$NklPzx4Cdk3^Q|KN5eb z%#pa*zbUbwzb2Oe69lBpWkOunz6?k~X1>3kBFs_)9$WhBDT#x`%E1O(2H}(f_Rp0K z_JF|5b$e6bEkL4sLX4&FcZsY-2{4MIitmZ>9JmibOPHJsR5+h-5C#n+D<(6xwOgQs z66LG>Lcn1b!>{8O$hZ)^dJdF`B5!}RDvs3vbY#@*1Kz|oHSjeaK}VvL8~}Ij`_?po zNaFZdrqSxa};C!|4~u0#ch9zdc2pc2xlcmM!W^Zco7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005pNklS#1MRn8w8>v_dejy4aD_BkpG|nD{%+FAzQGg#5Mw{16Tl1#x^08NLhbW zgo9lNl|G*XBMRVCQjkk<24I9SkpLf)!hk@Pz7W7F0KlD&4d{1npdv^TawVt*{#Xzp z=hnHAfKjguDJj7uf>;2S=TyMN0ww}gxyS?~`bF}ZJzOyYQXV%6BjDTh^Db&Y(r>o} z))x4KQEl|}%?6@QgF^7Q)aPbPUAV?%#{h`)qC-$Kd+jOvj5X8g z#a0}3SB+#7H9-ajBV=M&=vGhlSxR+IaNO#aJKv7_YwfyMCImsK+)e;QX=s1clh3zT zP(%#*n-c~D7Xo@h??5(@^DwysLBp;r%xA^`nWnJ^&>C<|&T$~5nXzGE0*DFu@CsNH z((sm+S?l#grvTC8hF%eoAs2n@(U!3Diit=1lBuo)Ok3BM-HJEzPp<`)L??UFa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M-$#kkIWT0002UNklL5Zsm73wPl zvviPDaLFKCA%%LEsY9pI8-M=`hI~T&+7wF`#9kl^a6rpTaYhozAc~QG_LW0J3tE3& ztsVDcWd*Ub7W;Q)D%a*>@B5N`K(pN*^hZyJ&bNUi>)8NkM=H@M1vOp50J`QEoJz+7 z8N`1+9?XNdWQdAhY#hvhW41Fd>;X6!;a^~=pag~p(g_R^bWC8VpajO{U>J{RDgej8 hcz~AkP~Q{u1Sy7NGgh%#TmS$707(Z$PDHLkV1iiJZVCVZ delta 261 zcmV+g0s8*s0?-1G7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S&PhZ;R7i>KlsgW? zFbqQ-aZvz+y8mq}scmW?mNRt85U!;4G3?jcqdUs%!dJCr%4}D&-WPRD*{vu+G7{x+ zLWJH#S)6wt@cunVICo+Cs_%s9xeR3!0~8+M#E&7}hk6$lV>H9IK|6u>MzaKVb>AgL z!pEdQ>V!v(QA4U^z_HQF|6co}M}O*yAMNwwRs>1HtN@aPSv5++6dvQP*8mBE3;>z> zG5};wm;oSj!VCbZ2=fC-vE%`enhpVw;0LPj9RNuNm5H49c7%BWb(IU{H_d7_00000 LNkvXXu0mjfPv~&Z diff --git a/graphics/pokemon/swadloon/anim_front.png b/graphics/pokemon/swadloon/anim_front.png index 818802b1f59311f20e56de1ed1b396cf6f35124b..a71fe43ba2f7c72eb13240c2f68d323ee8a459a6 100644 GIT binary patch delta 859 zcmV-h1ElF>l&H6vv$ivLWFbXu1{LB|`>ysF^$vPTi0|5mZ!S$iR8ZkilWf z5-E~Vr&NlR3u13*KR}yy=~|_dRi`wO;_uRTHY85CJ1TX^P=B6;k^KMp-Me>~|I@TZ zJXWL?S{^^kMY$eoN&qmu3Gy|}zX6s(2^8l8=6pc83wQ$a0aYgrFrZLW5KE}z8d4%r zg(`reiYk=34p~WxC4f?xpespX8xfG}ig&WoGr|&zv@5P+rPts&*(Ky{<>4Ie+f zc-G*}cs>i1k2o;6I6IO6u=f7s6EDNyKw1Q_K09Zu05YJ&x9~2~g#Z+oUNAuh;9)}^ zZbJ+dZ}oCs2!JsK2zi(yS{8T0tO0)I5 z=P9MzBtt50hD;(ysqNI`07Y%pJ(%d2fcARM-4Z#fH%LWabqf)YrL^%h253vVrs-+? z(nCVmnoTXK*M+Y~A+M(wZn22}DAxHUrLa9Kv`MR1(A&|-m64}3uNTFqf^Mh;~J1B*IVs$jJx%<(0 z0OKuB281P8bW7L@dv8A~VNAD#RoM1^SVBOlF9H&_?f3`;ha9j(=59MfGYDL_Web7o z%U+wIi~v?E^6oun#Mp`Jvcr8*uM)85+OyJvGdVr$br%<@Tz^vpa1w{ z=!=0;oAuxJ+1KyGu$=+`OJoB!yf$S(9~T(@oD3MVt;F#G2_Gf{#w>u971o$PwSOT1 z)_h<%9WZ8rOT2wG1oS?_+E}=a|iEjx_x#T$q4+4J9mrHOG2*j ztW>A-0U5`}hY;8ywK!0_H$G^|4hK@4cri)P`5g!Ft@Hv<1 delta 825 zcmV-91IGNV2a5-gUw;D@NklBjE6vq`KXEQ{V?WS98b;*#yex{x@I6k@= zVuD><@Q}f$DMJQDQEpH?i8bcE#1QY^EEaxrdGzP^&gOGBme;%z?59=rE=+w3oWDR%-RtyN_%z z8l6didbRllw|}2rJZbV`Je>t9M;sVjoE=F3SbKZ&fv2H!VD=aYus%CytOzoo%#ZLU z)P(>PnN~DF2H<5w0d7qUly3D(K?r~z0fansk>1S4076Kvbzg7yvZNlxK%L}i+()ZT zw`;gsh-6ZuG`D%TpHjL_vZUr_$<*?cTJ~lfps2072Y*u?9Z<)y??U9M)+9A;)h&iV zj?(7i7@#a^ilVLHmlhD3(rPJb?JkM96$@I@3%;<0{cpC;9~rrxGWpXOO95jp0At=g zO=$$+fH4Qa#~%Vl5J#RQLWzKBBt*a(a=?^3P!!LEvXP)GKI-60WtD{OUq)oGWd!qs z>=-*J1%Lg->lo7yeMZJ5^9x-;}y6kXYR4Wzs?3+)#IkRIK(7Cy0 z?0hsDa$sggQQ<}Bl<$B4ZRm-Ca)O_vuOgsA)>{wsZi4_^vw;`tgiP-FNVj%y zZNu%e%TPw(N4#^lDZM1*3hz3a56C1oJ_NuHX~coXz41XwcR7&Z#Ivb`?$0=YZ{^q@ zD>51UMI8i01IGtnG(PzLIJNGRM$%tE;4WET*x#{Vs02^lUsH0s00000NkvXXu0mjf DAwq%O diff --git a/graphics/pokemon/swadloon/back.png b/graphics/pokemon/swadloon/back.png index f1f6961ee7e9937dae740f620df74fe1e7940eb4..affc20a06d97860ae4cfca3f7ed339fe607669e5 100644 GIT binary patch delta 407 zcmV;I0cie+1pWh%B#}W-e*gz`Nliru=LQE48~`{eR^tEw0bxl*K~zY`?Uli9gD?z+ zEAG4l3S7CwxmKEDUy*uQ-=I7%>R>nCWp)T%NpQPOJJyFF_5b|m4<_p2@T$Mm@I)`| z@~Bk6z1?v;Wgzs9Dlj622UIE`y(OUvkc42ss(_f6L^>cLt`7k#f9nH4Lh!1EWOJ;F zMh7?^8D6{!aI+UcofhxmIfBv0c_q&->eP#QHpYZc2dB@e%5{0UJ=40*Kb3 zT}MIGoi9Uj=d6z#@cZDJ`eE}mBciu=I$LZ3a$xG!Kh#_$_hCu6%Cx;a0+5a7D&UEJ z2W&!)Pk_VEfM%n28(@~75+J+x2{6C@x&F7l0D~K_%T#X54OajF002ovPDHLkV1h<6 BwuS%z delta 414 zcmV;P0b&0B1Be8WBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bxl*K~zY` z?UTW7gD?z+5%;_U3S7CwxmKEDUy*uQ-=IA2)WL4N%j^If3Ao*Qt`9-#|M~YHsEb!U zRUZ#@86GA&_Isy<#SylH@ z2Y*DAtOG8@>_%VP}|Gv`={2DOOpL1Xkg9Qlf9w-|Y+#G=5bm_181Q{Ri7;V0G zz^4E)ryMZuW(W{_o8y!Qxl@)w!PcvPtf@)?niH-vrOP7# zxy4)s0@43~B;@b_DEZvMuK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4;&aPMb5PV z005{-L_t(I%k7dO4#O}E0P_QXDl5!L6PS_AG@mL8*{9k{C0&3uFi=k+OB^`1X=Xmz zmTjF*hC1XhA>9Zo zAmg?);PpKOXz??ml4#O}EMRNmRDl5!L6PS_AG?yw0*`?Y_CEb8E zFi>|PixV&~G)?==U-s9x^pyI2aWg}NTWiGHzFuxE&u=k07*qoM6N<$ Eg4U2;xBvhE diff --git a/graphics/pokemon/swalot/anim_front.png b/graphics/pokemon/swalot/anim_front.png index 20e234a6cff6e4a2c85886c34499df48c34c7331..f00eea3f061f2e5a08134027df1ebd751bcff8cc 100644 GIT binary patch delta 1084 zcmV-C1jGB~2#g7kUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-)CllW`8 z000B;NklziZn-6vypBC1WHfbPPI0Z9$1adKCmbwRU&qlpC7T{twNPF@+FF zvvml>-V4EFN+#P-0-541qtOz`nxQ3RRNtL`Sf^j5Q-9D47=NPo(R=USN&0>pjel>c zs#+IrY5<@vR>xO+T_o(q>UggQHN+CeMGCOX6ZBF5N>gYVpfp8G03r@fNs6Yy<1dYf z@QT2ro#$BK$@>U!i@@U@74Lpp4QP5#$L?BCRiott5J;C-?9qqpa*KeAmp2agD}j%& z2{0I*R04xfcz?M+817dzu`uNQZ?M5h6>z#Gj$ykBINIOp5}efbX(_Pq;b`9_6zA|7 zfx}{#+b4LP5d_@f;o;CP0>fiGV_w1?42S(9p!6BUlV<(?amgTQ9I zBLM0e7&ZwRWosy=>BHoU*gv5_aq46w)nFb1vuF+`yTqxJ(MaCtW+w=)InW8l)2k9d zK|rKfM__u!fpZy{1VO;Nm~eonu;dg1xaJi&FeQA+Dc%O6Mkkm}6M%Rn08B<0zlZ?o zNZ&*~;C~3C7Wm3OnTj*-T$rqpBm=ok z6Oj25_r@8#GQbfxJ5D>3APX4r&4k?DW;Q`{8QQ#o?3@&S!tHqvx0JMV?=R-Kb*H{%^KSq3P62NmXtPE7v8DkKBvDU!2F(SK2DV*l5#t)^O|?)+9mf1>{xgHWDAIE>$`|0*9+js7=#UEP@Le<>gdMp6HBic(?_z|oDl{uh7) zRb2_S8vQ?Z!!W#`>wg|t_$+{Dss5J(p`Yr19ymJS!0z`{|J}U&AJ}2|fIy=E1^HJH z*ndSJ)qgK1{|Gz?AklwWPWm1KyBtXMU!D|eq(Gwo`B5tRLkz^vR1RqRD+ufv(5e8m z2mm`d^xUVinE)2;&3R}=9!S*ygg|6=Z3QkiMpS0K&}CkWyZyOB7lpce?a3P41_Qkk^D$ZXo_x|3FjWuQl)w zSfqVZ=O2_C!f363z&k{%tj<3$KD%1~z?k<}YV{AL?k;V`jRr^n0000Y3FQcoUw;GeNklwL?qEsJ=V>uui{9r~aTXV2I!6 z-h20?$P$|f%ufYyrUJ7t48;^P0f-WgT0#P!MF#=Qi3qjCi%|CH zhKqR$kU<3ivkB(UV?cSN&*K?zh4Ba?@^7Z@%)(R5Ne_{a58=I6z=m0Ga-)o8qkuNcF$CO5M6ifaIMj z0DoGrhQJ#N?Ha(00dUiYUieq3rGSsxFRTFBR5j1&wbvpEP_qwh*CVPw(4NM?SCoIV z@3lR%1W?P0ZrGhY4+7Na-!wgMU_VMm=G-Vs$?ifZ79QceoJmnFP+u{sE1H zG!W8Y#PYB7(48s>0y0VmEKg?Y7!q!qORguz{Lp5RkT5`gG63g|SKkM0fg?8poV%ou7Fhpe6f zTC@O!03Jg5#h9qmz!EwDFt*Tk8ldJJTEM~@$N^j*ZKw3OLA@Ag{4w?&jBYSa0F5`^ zYan;WJJtkdn=TKT`If)+f+&9r1%P-K6dt@4 z<5!^Pbvrr(o#IUZv%a^;ig1e_uP3J&kHkU*Ef zgBKwt*o*oea7xKeN-~Yo3&a8o}FU}Hb9=cw;-JhSdeg_Z@^)w zPtL!OSb*SYH4{yDS14jS>%0whQfuZHz3fKG(N#jqN|uh$pQbuBvr5-q*}0000a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M-+#D1D}Dim>8|(KD~%5glHax{F!FR!A$D$% zjvLX`QW;F?^+W>}Kytw~km2A5xV3{N;2jWJY8D_vg*d=@aKF2pgUI^*Y}ouwoy7(L zNduD)ddTl@daTNqQ1w_^s?4h%i*Km{svf?FgesLvwZHY_1M_XvqmKxV7ytkO07*qo IM6N<$g1et;d;kCd delta 236 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 diff --git a/graphics/pokemon/swampert/back.png b/graphics/pokemon/swampert/back.png index f00f87b7f31f4ed7dee232ad1b57686cfdfaf26b..557249cb3e50ba130ebdcac2ae9f04e939419a08 100644 GIT binary patch delta 588 zcmV-S0<-<#1=IzQB#}W-DF6p_Nliru=LQE49XpUYj)njL0yjxSK~zY`-ITFz+b|G@ zjnARwlxGY|AN=5B~E2PpBW2P8i!>Y=sXRyQUZ+0ZZcBZZy0)OaT3^bYw;JS(P?HUe55=C6sHJ2#j zx;EdL!!EAZhJBKYRKPHaTUPv9^Z=1q@VBpDp*BpSh=9`uJYc>JhZzarQEoE4Xw3cn zV+S(=`uz<@k2i^__rD(f#hW<1dD+_dKiKon)FA*tckgVT!Ayj6GK>G5#32BqM4SB= a>lF{(V;l{mIa(3`0000gmcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tS0y#-UK~zY` z-ITFz+b|G@#D9MU~#38Q1bLZT`PH6PZA3ykPvE=Sk#`MfLVo04-68sI<6)ltUVMZ z7F7gF3djiv0=N)G0*oGNaF7h}9s}SVya1VlpdMq1s?31cXzWo5Nq+`Ad6dyX(6KQO z85|^?8gDcLL4cpG7(AqRkYuXKFa_L>0OSDfUl@acn5ND=(ASu|p@egQ5}yJf`AJa^ zt@WlpTVn*42#h6U0D5?V07!tp07}798%P2Bun7)W0^m<$k}+7f8iAmr%^mAv?%YcI zClTRN#P!i z;jjZC67R?3Ymvny(ISw(aK%SxPr&BO5wd){B{gi$h7E^3pi84sWOXS kPUaASQKBpUgBK`@Kiy*-4WLEN(EtDd07*qoM6N<$g1o>DF#rGn diff --git a/graphics/pokemon/swampert/icon.png b/graphics/pokemon/swampert/icon.png index e545791f77e3037b71cf85bd855f57e1723d0d2f..814f79ab10dafe712c8b4cd6f4b0b7a9f9403d3f 100644 GIT binary patch delta 356 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 delta 1027 zcmV+e1pNEj2S=}ggq42mLZg$BF`UCQ>2*oq=N=iauKOJ&Gxcdurr0d z2oq9mPq{QC&{GeA`o8qA7t^!;mws<#JKH6=$I?03dOv;N_uh;o>pxhGHFnoIcX!o$ zd^fNcpw4yx1JrHa*ePIta{}sLJ}qE#mvaV>=t-45K?007SzSI2oIn5)O+Si1D%DK# zK>z{U03Qpq1g`jqU_*dE3oD1c7h3_*cP(EGP)3GlQIeP@2Ez?eJK@|9Ji%R;GZo1w z&MHf9;{f9U_fB}kir2%s(}c7?*qUYaQhmCsg#}RDFJ=n$HvuP zS+yZ|1Kt$8smMac(+Co&pkM$dRxJSFE(CW-U@ns=z6UU@04sX60o>=X7)v>q9rcIG z5rI>m(F8!x07?~q(}|qOSpB%XzOV^E8+Dll0FKXvX>tyMQ2p|tUfLdC1Mwp;mGcR@ zP#0h~fEC38z!$$05K)3ynPvCaKt1jv9hxj9Ku3&4^93<(hr0BC(lfZL-% zR=~O7*V8j8rSlebIgb^cJ_B5}0yj_qI&A=PQQZDON*$bkE+4=rx)=o>fG&XdQtlT8 zJ0RdDcYOltQfK1GR;tC103_j0OsRV*zg0!k02X$qOMw06vi%Mjm^cP;f2-0pP>-bj z{5z$7{?q_W2ygkIrs1i|eczn_QDpOlQs4in+ApOvewz|2#v z_1Gzz^fr>=QiWgn<{@LOTwxD;n6{p=BBzY?$^4sthk+308LHhKmdy9L1A-NmL-gid za!$RQi4=K>O(q}=D+g=*{t>7ZMR8aGS31n{+yG}XxfqCH;{yQdV?EPOVa6n7f{}LJ zHIT2!{YvXuRung+fK!}4W diff --git a/graphics/pokemon/swampert/mega/icon.png b/graphics/pokemon/swampert/mega/icon.png index 63b1ef07993b5f7c7237a3cc98cc9cae062c9db6..847f10fb541e81ec4e01a370e9b7b7e925c46bb5 100644 GIT binary patch delta 377 zcmV-<0fzp=1L*^hUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-@2#$-gq z0003@Nkl**d}v7k>cz=8qiXRy+KVI{s?t1t}CK?5_Q z9EuJh^!3qomOhU&5SlQ-O=he_&5s1GZ$R%+Z9vl3{Mf@3r@Hg_>Id0JSiT3Zt6S<5 X2Gle~$2w4800000NkvXXu0mjfuyLYk delta 339 zcmV-Z0j&P%1H%K5UkCwCNkl5?kU0MPl=@AJXQk&u zt#MM>9zaeL!}L0y1rTAH_d@AjV?s))mm*I)pakh2`Z`Q$#{w{U-_9~j`j!ciko*7^ z3((66OONT2O^F4Z3U~mdkTc%CQ|H9my(V#^5E-G2b= zn?G}mTj}uK)Bu=s28g#Z@;ZX-O*XD=Du_grya_%G%}4oPBxFV)A6hIo^oUmF4aqpb zSR!DM{Fo2`9u+7q_vACtZR72g;szYfn!l3PtoWGwpIQG!nB}K1L)?W4yjEeJ-B^W@ z39$Ro5f)(>oP!ERL^%{4LTJmQ>p&QG(~XI77zdc002ovPDHLkV1fW~n_2(> diff --git a/graphics/pokemon/swanna/anim_front.png b/graphics/pokemon/swanna/anim_front.png index 354bebb26ee6237e31aca55f1d130e629d0e26dc..a982a7ed2eb838956e96c249fb22cc83c4caf4a9 100644 GIT binary patch delta 927 zcmV;Q17Q5X2jd5j7zqRe00000lh8F84`cM z{LI6{%lUsB#-EE)-K^^Y-;K0@>4O$(~P?Se$ouo zKnsBoLe)ae6ySIVKwXIkL92$7C>POr+k3-oNR?$gd&hVvGn6kc4;brGwuEAZ2||(29;K8hq1|T zgX7|%OU|SOz+40zm_`16+xR^Q;tDJx%4gsJUYSJ%xeOt=I0JxUiV`GE0Iv|RSAdYC z1__qussS7DWkCW307lcYrHin!hS_+H#kLHng>xXpw-HN$m;AE~_~YryfYN{H3&8Fe zKVJgEB1@kU7~SxZ#deE({rwJs(G>WZNrC4R*qz*Rz?C28(PX+izMXzt0jA?@0NHeJ zd^^5_U_M^Oo8_+qj|Mk;!_j03I35W7iVO!ovcYi3QeKF~p^b}aT1VMUHpm8_SZkgm z+`PCZOOLW|!z}yC0X$WU3cY{AV(AN-aR77pSV<_pbf@C6Dy2@1wQ-lQVddV2#~z>W zTd#1WjVE@He;NJ$xk0Qdb}~YlvY+io?JEAGRMm_+5z*=n=^0x^Kt~7kI_Kn~rylRW z?)NTEj@1A?q=&te3r!A!%rVvLtG>zy_5Xj=|H@dw_uB)V21&fhTpfJ@6gW z?^J0I!r5*H>+9Uf*#k(UP2pa*2Y9T_>SkLm)z<9+@VhPi*f4h-wz3C6aY|vUOcwXo z>_O^?Te;Qm8*BDJ(J|)$w+B@3AJp;SAAU7{0>N2#bf1BCqJ2fzoA7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R13pPaK~!jg?U;*h z>mUqSiVN7E9G3GZ0pfQM702a~G1pr#K;{eH> z*aL8kfs6z!vyen+pb&`6Bzg-7Rx$kvfKEUHSt$Lb5CGW#utKohOF;JeiDU*o22xNJ zS>TXIcNNGvcI1G6wUYfa5WxLDagKid<1Rty)ktG{l_3oculh8q61ofcxIea0sXqnL zzx={}z^-Ow`{%F&TnNcaRY0OhG}f39U@c@?)AAYyDWZ4BQ?m{S5t zofvI;ZD^urfH!$lhtdgT0K;BiCHOWJ^p=kFH9|-LLSMgs3^>%63EGR<#+}8E0JH?L z@_a0B2gK0lvYh}nuD~YO{=7q!0K7{eZ4l55;5q%J7{h zAfR=dN9znE*5`ALfM+JWuS*#~PoIM7GoVLrDC8~`P{4c)K#fztqJUKa^3f#dRSpz8 z)aj;WPUPk3S5qh+3#bzOuYf3t4$c`fo{oOeeA&`B%-@J`69T57I( zHX+&w%bEcpcNw63fc0+=(dsD?5DBS4*G?XYpa)(#acamfC2*X&KRs3V2QPQdkhFqu zWD`<4w_(HH;577$64G%iG5YpP0+PcLq=Q$_4jCnXj=mgyy7k6g1kfnJ5osyOO+y4H zIth_Wi~ywGlYSgclN%xkBVeZf#oMKFLHtwkaql1Z{&DaB%e_B50lL-Ez2DS<(-1)2 z`{Q==8(HBDQ_`C-zBhgS0IeC_V&QPiyJ!8VbKVy24|w+Dl``^^*A$3$fvi}VPNamOJZm*3HCcyUW`k+ei36$)A3m}!@*u7Wo z4>-ARv}1tm-iO@(Dh`}}gu4B&JP39BUjfwZ zf6cwu?0@Z1uG;^wah?1BCi}0%+u6odwErzy{{PheH~D{r2K!&~|Iu3?+W$8HAMVbM z?SG^HPwxN7{x|yn=>CuGe~bUm?*GvKcby$y0Vdl2EB6Nj@wq?v+#h^X`~zg(EDR9p R5a|E_002ovPDHLkV1m(tyR85K diff --git a/graphics/pokemon/swanna/back.png b/graphics/pokemon/swanna/back.png index bb657bb5ebc88542d88696444b0a2eb893541415..783a4276ffa4654ba33d73f72ed82af8f2d1c32f 100644 GIT binary patch delta 617 zcmV-v0+#*S1`v;Tr+{o`6+5^c+~R!eKWlz?n9Tdwjoh(I!lpWZyce_PQ30s`(qUjXzx ziQrCjfRN-!ZXp8=0RdwXKpg=@!R#{N%7Be47eWX^8AuqI$z7_19R31GL|~KwK>Ys0 zCviJ{0wR2p0ctWvy!|W#tmn5IsfiIeOr{SXH_tKvp~d^sLlX$fYH&rX~n!d8c{UjUgvOrTxkegU)eK|d{FH~LY5(>?Rg z3p9Va=Wtx0O&2q#4&)%1yBT(gB~g3 z6b#@yJ;3+sCV7j=f#wl(dQ8btg=fv_!378uJR3SjBo=u%6wPrXptKuvp%IC_kHl&=pqlt9+gYd;pin zhw_UF2=!<^l)oV{{j+ogXDR7kf@UN zqz+(fKv7eA6M8|N$V5W=1YsdhM{|)BpksVCQ`AJz=@5()AQOl&bTJ<%(4mg{X$q^= z2MJF1%sWrezVygpn4s&t#^L5X!O+9P1<9E$O+bn{=}y?J#e@d|GIQuipAtg=r2`-d zC?-7;#3g9Jvqyk`=Qc(17Lx<5hu`ZFb&kwkv8EqS2V5#2(Hv?qBLEZvN7G+xD?YUV6GStUW~~b+70R z$+3I90mLH#FO_5V+45Jr81juP)darUm9uj^R!=LWqTn{u|`J%pGpvSB&_3^7vo zRlSJhr}<*f_$l?57gL|_W6VJebp{9}{G5;joX;YF&O#9}1AhdM8v8q;z|Gd#B_}lQ zz`N3R=_p!nm`tz$E=P@}d6P5=M^07*qoM6N<$f^00T+5i9m delta 342 zcmV-c0jd7f1FQp(Uw;8NNkl=Eo5Jfpbb|m%o2=!#pPc6nte1lxhO?)<) z-d4aV)R-)>iM2)gOei$Nn_aOVo>G5#C7R?uMhT+t1R&IKOF|Z~PP71xXo`pe5F9$3 z?u2~m57w+xLGuymSevmNMZ0|>?G1qIQS*LM!N4=gW1Dph`RF5UNxM;dCQF#`6_b!Y&MLb@~yi37& zJr;#%myN=ZjZf)w$($6iUY)KHd8y2Ru o#jz}mIq}H%(3JgxdJmTL)bTf!(4mOjNiQf3ZWj+*wtd1m*Zsl z9Kyav9PVl{m%o0D!ybfLKlDPqq0!+$b8+>3HHwc0D1&V|h}aT6o<~-T#i#fPwbPcG zV zu!Gq?T@eGspbFUT>~}#2!vO~nQFBzl7U%--da3|Af?wSeKJ^v=96)mAG{6ApeFB|w z4PYPX4PN_{1!w?$bo2nPIAsB4H3Pd41DIeATxV*#z(#`?;4W<_uLmjtPYV-BztDj4 zrcePW9hzU>;+zJ2TNWyyfRTR*1TX04Z*FeYjA^T%n*=FYLKTtqVGRh*%bVqL$s$5h zWDvG$9bWK$$rj-SWD5I3&rOJuG@7<@H*rhkn8X4EaZ3mhDUpo?bd!v8_Mb7ZZw<;e z$H#&#=&uQk%#hi!`Xl1#Gi+Q78IN+FqE%`MWH##2uls2)cmLJ~e@K5aN@gTZ?j8Wh z{rqm09M0kkcSI17Ik`L81qpem!<%2s?=O=4;h+2HAa-z6BDKM28SXbm-ga0&+Z2PFN$ z5)A1Nh-m&`2!`|r>IVaQr`ncaNPj@$=*14f5dMJV;T>VGE*QceuBCz4f+79k`eDHk z{!jt7U>A^kx`*n*+#Kp2KgFbsc)T!LZvLmD}N${+X?4g;zDfy;x-Kq`L-2q$b{ z?GG#@vk2WESO^S_mbyO>`W?}4r^6qpq6{DR2SZUd{_x-HFIG(NwI}lRs{jB107*qo IM6N<$f(>uYbN~PV delta 1006 zcmVwZwcp8{i+SN+2Ds`&qJu#3M=kd7fuA+>uU&NOMthGNy7+4&~ ztuwYuK-2(|cRU1XqLW`p`DO)h8|}LQbV8cXdRf;eB1j&s)h7a%2*`R_pI=|k7osuX z0ZtG`CRS|#7l?p=mFx9il7~7U3Fwm&PUG1Cpbg+_ zAp)rQ4`W9S2tW`%&xA4`0lhpERKQdN%W~ukf}9kC1`LLO2Asp1z>AvZI{?0;8~{oe z!9*VCZ8L8n07-^**op??igfbMEN2CPb2Y&nFS8=U!Vr~3H(t9=T^ z7PgSzx4i)P0F(5_IQ3YeBi=z-J{(UWf2fuubCi4v9@!`TA1UV%-47y^J z0%9*V+_KgF5sxQ%mCrEBHz;p8;o-y2`!+!D{rx5al7}B5$@>DmKO%4g-*5S02Jvec zeo7!ex^LnX-=O4$V`|lN#Df9c1-J2r55s96Z{Nv};%O(p0349J?z-#W)PLd+bikZH z&;-PPy3Y9nO+fJWf65=|0%Kh#{efmM9wHEi{vbCXMKdcui3k3m5D-uTL_!SwK}SHW znSf~egOPxsb?6WJ0%GJ3CIm#+AIu2|-5*Q{h`v8a0YC8vsen-S|6PADFCd~n$QEHj zKotJq5D2wD&;>;14-$bu`JPu35V=3d1;U(vfXMtoArMU5adrem;t%T0^H4zK{-Cja z9}9@oAGG%WV*!!)gSNt;o`A^xL0ce@K7h&})B?d}GDvUX-2YbsK@7kr{-CjY=OKLH z51IzzBY#k}AQ#tQyP5lgdJsbaQTT(BFd-m{&3~#OW(9=m56rZH(ER~7G6$&qL9!A} zvxM9qB#cReQTv0)=xT#1pM5$Rc8E~@!6h&{24v(9E`6aOru@Od&;-VmKTs9O?GGA| cyZ%c30fLk}dd0Qh>;M1&07*qoM6N<$f+ZHj;{X5v diff --git a/graphics/pokemon/swellow/back.png b/graphics/pokemon/swellow/back.png index f7b06a1f492610038b010754301e524906506203..3da736c472f01ed50ea8b1a957242ae7e212a321 100644 GIT binary patch delta 486 zcmV@{fu-HJ@+)IJQIN{7rgi8$!gty%gM9a8)PE#yHmL{%DOb;DbU9KFH{+H6xH1EeV~@vGV&n)wzIZH3e?0+6)MCQwP@az> zK)sk`9=&pa9p0V-vg)UxoMQ8}e`D%LRYNmR#r^)<^$3)bGO-2_hWnrGdp}{+1OUvB z+m8cr$fc}~H+mdyk5nHFmFfys!2IAgKytjQ5YBpcL|qEY4mf!Rfkqfv$QUpWiI{_h zP7~@WHLOdrfGl*;1>)HS0AkLfOE8n3HwYO( zAO)t-&%k_P#ihh`7*2bD2$VIDfhk}JH$!ZcH87iH78m;fDr>N`o3(Z`j6qr(1a`I7 z?#`f!I)nNdTtE{8XaFP$8d`(MUUp4)LVz{cw7Lsmy=eftT-$x5K$DQtk3|5X(+fbO zXfJ>a@HrzLZGsQrIsz61U^>EUfdsIJTp%O2WI9rSy+pAifM$X28B*q!*Ij}EfVsr( c5B(#50fBBTWqEyk!vFvP07*qoM6N<$g6uTZpa1{> delta 493 zcmVVxtRR!BCVR0I46+ssDnL zII*2Rw=)uNy~p=n+b{SZ?~FKKKcCV0SUlWJ*8bx{4LnXf9#^T7V*vi*v8eSFAQj6g zsY87}jsfLzntSxd0d{zQdkXNTpMZL*&DZ{os2?{C)jU=A`)}7H6oT_q8$cB8f41+# zgmD)DusCi%4wgf~d2_telW2Ri^QDghbV%+9V1zj{FOidfEoBcR^9ukZl!Zx9 zlbtt+2!Npt%wU*-#Zrqaj%5_h1^^3%HsGNupa?gEZG<*Zo23>PhX4v~u+p1Vx*5tK zYYjrZTBW-)C}LyKK7$KL%K$n6tpo|ZL98!Z+B?BO8*F;r1+d*T0BLp~ZJs(sA3${ktSo@&2(J}dfIj2`xphmTqYaRksCE`0Nx(cqM%?n+ jBq#ugOBjQ{K0)vcfo?2i$GJv500000NkvXXu0mjfX{XUu diff --git a/graphics/pokemon/swellow/icon.png b/graphics/pokemon/swellow/icon.png index 52b3f560b06718f18db65d92d61213f3f8b13222..9615381a9dd9982adeddfe44866f553e6f763ce6 100644 GIT binary patch delta 332 zcmV-S0ki)90-^(uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;0udF)M| z00036NklN+qi+B>^r+}#`z=j@2}@aPt34lQfVB-Iz8tqF zoN?DF(tX-&-SbP7?eLa3?w6CZ>;ZuLX9d4DFvq_lu?3`c%S4Mo6@U$>vN1^cT68FW zQ~-UzIcF7>mPPf5TVbY;cqlOzKWa2KJslQ5TC`y2*V&H}uC#CP=10@PxcWh|_k-3+ esvq(=KYjqbdas<$%9%O<0000NK@Q@Dv~l3M_9cZd%h@Mi+^`d1{jfV@tb zXfdb&upU)*1}UFi2lt}@Xd}*hR?(8dalpMW<7Ybf8r_ew8XKPuiyw8hV5isF4_~g- v9K8Bbbucb|P$JDKe$d)U@ndWD-~IRnyn3&k>tA%300000NkvXXu0mjfy&Q-| diff --git a/graphics/pokemon/swinub/anim_front.png b/graphics/pokemon/swinub/anim_front.png index ee4dae2537cd7706c4bafbd7ab19683fc0140e9d..22990ec29d901326d1d8b5a0713f6d81a0d72cdd 100644 GIT binary patch delta 518 zcmV+h0{Q*61kMDI7zqRe0000gF!$*z%RHV^w7gtYXy_s%TKjVv66o~ zpCYb_N3?e5DS$!~UuPEh64OdANT9WWgfCD#gG#3$?S?CWf_N0vrnQ{M0+kcc&)RYo zhKQ~M2W>6W#1)=VYs+;x{pK|QGl^+UTw|aRBq!KwjoYRMy(Tm5S$%j-TSZ30&N}a5 zo|d-{c;byP9l&)||rd&(gz_7joXLw4)7XeD% zfeacC!FvqXv|p@K$7|MOxL+RL&?zd9VDa(%($_=;kH^omfL%dUQnbk`Jd<)TlzEGj zf?YwPCNom++!MkFAmH!f3waocZ@B`b^8f$<07*qo IM6N<$f|4!c!2kdN delta 494 zcmVXxSAP52@(D+o1q#z=s^npAVc@_|v zy%vDE%LP_k4j{LkdLq#yIvlDVhh7|{6LtqEswS_cp!R{;uE$khJ{)b((ntOMs`SxT z0hAl&JEf0o>%voi+xn<;Fd4vBUN$6}nji+Xfwbr`*E!e>xNSnFSwtJ7WkZAL&-1)g zJuRqCA<_FuFyu|2!bF8{u^I^Mdz7*iNN)UI^{DxXWvt9 z(ci)+8G^<}e@hHLhh22@IKVDDW=qx>1w4{pN#OPpekH$p7GihUB|ldQut|QdE@*DM zC%Eql{vT*$Zfyj;AUz**IUGq>kZLD1{+E*!kAcj+3Z(n& kI8FPboCxqi5Cm`d0pQvYQcJiIRR91007*qoM6N<$f(QrL^8f$< diff --git a/graphics/pokemon/swinub/back.png b/graphics/pokemon/swinub/back.png index 39bd6ebfa44ffcf352d38eff4fad2fd3a1308902..7f75feb37029beb911071828ba16ec1da89c3bda 100644 GIT binary patch delta 340 zcmV-a0jvJV1H1!}B#}W-e*gz`Nliru=LQE4A~0VyeKG(50Ut?3K~zY`?UYSw#4rqn zXA!#hWbnSp2|O~QOP4~KV~pz}dV|ti^vLy(Y&kzYKxrNXJG|#lk^?!N4juaAqO9NC z2O^b4_x;m8nb&EWm2x}B!(*|NjNT-Mx8$Fb3sL5>4m^YR>U^DMe<(65#4sXhHP6)t zxU2zjI#|f90TkFNJ8Qr90fu+he(eI1pLZHR1>pfJfGR4$O#&}a0aO79aC35r6%beQ zb&QV|7^2}DU`%VGJhe|owE}VhEQ2mu=sVomnp=j!BPR62VJ$$c1Q*H0Rq&UXnXVoaCr%jk^`|v zPXL*h@bA|Fs3)lrO{4L_t(I%k7de4#OY}MY#dDv`04oEnKMTQF4rC3=>FECD(KaCS%nx-u}miFZ@Ed zD}<;z>js*f3L+}5frWrPjK-#soB;-8%tS@k7>1pLAm>b6(Q2la_}H=q!G2zPyle)0 zalsi$i;t?ayz7U$;1CoteQIBSy70m9Emds29vH~XN9>yvXK4HKP~4r?z>d22mb){k rJ60%YaX38f)y0R`YJ6N+|0f?G{4!)g`pK_J00000NkvXXu0mjfQO0L= delta 204 zcmV;-05ku|0;B?vV1KVkL_t(IjqQ>#4#O}AMY#dD#A7!8mRzXnQF4rCOeb54DpA}a zhK^Oou>BvtP0S;@iipj!Zjj_uh{!WE6cu0@Mk}r{1p@`pkzqsE7>0j`K+g=XXsLy7 z+v0;@KMy?~p20o_VJny{3`S&GUiCwL;XnpWkJ{HiMZ@_hh(#?`eZ3JFXy$|aCN&t= zK0J&}?F}VR_u7{34C;;*2AKm6cfWOx!&`Me(!cOu`FI2TGGsxSi@ZDl0000O{4ak@E_YM&^w64Z^`aK>qqG-hXmFAb}B|VA_RuoKMIF zIFDQaUjtW55{P`=fd)7UdFFN& z&)9<=SFCD4tA83aw)v!iT9d7H*+2BYJ_0CW5FR7}zGon}MG|`i&|U{g070@VcDE{{ z0KL9U0D)9x^&XrwDtmZeY?V?T0c>LPA>#eB1yK4^GG&4+p^k!V@)#g0XdtVyDwEWI zQmVWx<4O6E+&OY(fK1LOb8>HmvxNpO_=t~4U^o*}DSx>_-~(BrEv2I$5iXV|&j=}( z%|Y5k6R*nt#@!Kgta7j1eM0V~yYH-Wuat6Um3!sxQ*y@xKVCC2zp}}_bhl0JFYZ1e z_k+8~IZ>m_;3b$B)GKVVnbLU4OFrizdEnMxE`k2#f1L3Z2Ui_?^q*Q4gdJw4!hOEv5^UJA5L%iE`f+CUyx^ z7o^w!>2HLhu<42qAEmf=}qpi8Mf{*ZzXn2MZ7mb$6=~4+pk;f#Fu- h%>AG(o0Isp#$T^nDSHlj=nDV<002ovPDHLkV1hIA|o7Qg|)*LqEDMhsxCC@k|xDi+A_8yO(Kv&O^@ z{Vk?`J`xbzedU0AOnt9_>%W0B1b+2a@WTMTi8ZEAGxVQu2D+|PTR^9}XdLsA0Bgw3 zs+=EspC1710)Nyai}0M0+7?;rGeCD0Wf4T#uGrn^oCB!7$^e0-&g~hTWm3-Yy4Y&1 zeFj*k=0T+Ury4-hqYSkPwuL?lcF1FZ=|DhUWp!@<959sLlx=*a-f@7V76!=GY&>J% zt#~>o;9LyFkOc-)skBxL1m3VMx=K0pk@1{;asJGrnt$_cw9&@D7)|y!?oPn1m3!sx z2Dz8+zO9verIg!RxmWIPk~{w4r>juT*a{@~(%p4(e|C3++z;*^ZI~WsAv{OuM|Ov` z*EdOH-VNB^%%Pu!iP0+U09FYC?)%>ka<>5|JFExB-C)_@$$Hg-aYj>y_Cd42GgqDO zu}PTPz<(0l3l{?SqIjSSv4KwVWxvIAfpUlUj5ks4yTZgS3-!5`C%LO#vE3tZlWN9` zBzL8hw>NTM*2{fj9*A4W6Z=88?v!o( a_wgIATPb^F!3Svo0000KFh30Xa!TK~zY`?UXTZgD?<< zVQD);sz|K77Rh5ID*iw%I)~N?W2IJfrAxv}q$>W|wFypbV@Sphy!CzDy*r=qyjinG z5YF3IJ=i%P7rP17Ohugl(wMfAd%efIUedf44^j z$}o%sw)vC*HG8zn7DTvZ13Yv-t&HyvAc(pI1(Fl+Vg*d%QwRpU4FF#{i3*8F*`WGz zOxP=-d1U~12NS@n@T=77V3gPipq>D5UsWHgDd3nH8UMDd6h~QYuE`G3?CqCMtSZE~ ztf+_wMU2Z@K<=9LWKxHtPeBS{m%Ni=VyysMpKZm6M?LrO84Gp0XP^PR;RF4!tpbGW z060Hh3;59m;FezjgqHyR?Epd@aH-Zpy3_{Rn3HSpd^Zrx|KxwBUmj`kH!hLq=l}o! M07*qoM6N<$g8vz!X8-^I delta 379 zcmV->0fhe61LXsdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X|7YK~zY` z?UX%lgD@C`VQD+YsUop*ttF3#!9W+l`aV@k*fG-*CvqKe0J-?O-T1} z@A);tTeN6QKGB-;Hvs4aVSIqCMgy`MKy~o0q9`5<08+7!IZw7dVBG*r?6}tB*aSd4 z7$AA;_youa2{g9*FaURdXH=UCOuKmr+|@pp&ih9&1a*T9^b9<83exagLI5v4z&8$U zOXA)Pke>r5Y(#k?9pL8Z0(jQGj5-sXh`k1i2>`cJzHg_1Q|xs7-Eylihzoa3-4f-& zS+u@s+DT!~mlb4TFU0w>)-bykjT$1gPr)*6=c-oAgjRq^FLujT=u5rK@P#0@-7v5K zRjQu8#cK;_cK}f8^jE+SW`Jw`JPVLHKz$7W#0G{`SS5#4t*m2CRnQT`!03-;(Z9&^ ZegGb6@i&RE%liNT002ovPDHLkV1gnFs*3;s diff --git a/graphics/pokemon/swirlix/icon.png b/graphics/pokemon/swirlix/icon.png index 14ebf39b999224e7007e320ef960d4565330ca27..f172a60718e419a05b0232303914d7b63fce1c35 100644 GIT binary patch delta 157 zcmbQqw3BH3!Gf22f~@r;B5V z#p#LZ?#cBIMql3YCO>}uwV+Y{*tY4qR;L7+{r`V0vJG zSVKbVYa`dp>i00000NkvXXu0mjfJCZxW diff --git a/graphics/pokemon/swoobat/anim_front.png b/graphics/pokemon/swoobat/anim_front.png index 2b57a2e43cd62e88b3a001e0ed175c2117b3b9b5..7580b1f9abc7a5c1c2059a7b6e0fd4ae09f6cc78 100644 GIT binary patch delta 1353 zcmV-P1-AO23#O{4uXzC&W00j?8L_t(o!|j*9Z`(!`$0@=v zAb8P{7U&Y;n-G4{l_ulcy?>k8vHGm?; z4q&dv&L>P$@1YviiE0RXL$2dIPs2rzCHH+wNa z7*HVH!`oWPO7+T6x!VZ=i9&z}TE((^fWZR_4I+(KG&jA$)uH!8&@^=^;TE5y^Qi&Q zuagQ8;Im3`XWtqCNDr-)E3>g3)Td4#7!R$ZFK)-GI!>%Rw#V0!fCWCovqwZA&0V3f8cdlFc8LUPCiS@0! zFB(?%lmQX%j{T2+Z?@V${qbYbv8z!)`6fDVx6gjfE;xm1co701yK=mO&aY7b*FEu# zk;tx)<$pX;-Y38w#`w7a+?=PtJFgt)hKsQnW9so&X8^Re>;>lr#uZ^c>E7FFg1OEs z(MA(Z+K}wb!&}>2AK-VQXh!SO2aTKIEh|YUxQ4lzEU2xm6 zflC8;8UNSD(O^TMitCoZl*@ps!){ii-8~9xkbiMV5}<&*EKQsr=Z*(}hZ%tnaUEl= z@Ij|>*^%T94`A|ty2|*#(+b_I+=(v9TnMy?Nq7R(t2SDA)a~ZFL%SwP)Y;Hf%~?J{ z%UwyD2mv0QB?(NLMnOW7eASRnLL#1ry?S*C*G$NM&s{aHLO?QEtJJi@QVl|8c=E~B z@qf^IBDrR!WF-3lSv_&*WemF6WPPL?l2<{zol5L&7f<{b@c(#w#@em;`7vuV9=M;k zVkO4y9pCjv0;MP4=TkAj!~GrKdPj|^-TXdty-^XSf5?9qm&CZcn|ISONoc$FW;q>` zgqGg0Hb0C>BF#L{+DMLg_{NI9E#_zRN`EA>-ZRdb3XTB~v0hw@>a!<5z2CU|;?8f^ zM*xf8e(`6!+4}muU-Hh35>aaM>6?|ycKh1FspBl+YAOOaZJ~cwE>0N`MJT7l^=2LIP=5CA=V#zNdyg2a`;8$)P=6}V z3O`@YwZ42!1fFKhnPCZ_moNO-#^>P-l|Z3ZjRJ?{|IFARJq{ov z96>?eq05}n(^UVwaMWlFdOgw)dViStF0R@p1LnK!bKiMo$bbr)_Hgwh0+6P3w%JA9 zeoIO|({*C2o`Nxi8P>{obSZb_9}j5bt?19aMGpdm_25WCD$VIZZ_he&VuwpmHISY$ zSm#ad$Ar!jpg`cI3Az_##5!+->xq@V8$w8LB%**hdlZyFfd26`@MS<_7(yN2p=p&m z*Y5q!^#)`}+t$CV&!a)X+ewc$-bbkdFNklnpMOgnzE9JrqR&@&J(a2m%CF zeE)|D5YYSw!vtK^uize~LIS>14A263cE-QT?63qA@Yl!=OSr&_>IeK1yn>(LfEEUN zgs2Yzyn=>M?{>I=uLj!~Bo7p@9+Y5P>#sl%T7ka+p!?P-B0{k2uOatZ^o}uN;j1wW zh#WvfQiZWquYUzOu#;SZAUIw#?f`(;8vOv1kPralMros00|fyIv)}NRQZ`b(WyrqU zi4jx*;E_@_%pRcm0f`k6#;b~*UiYm-?U!I}szSmpJxLc*1E9Z7CIG-k)zbF9F#w3# zZ@~o~*`@9Bpb64%fe;QPwypFBWnhMTkXyd zzkOe_%vuysxlPVHowJ{F^H#AI+yoEEEgvtF^BWAH4JZ7@NaU7bJ5Qvy0obFIJ_`Z2 z=NRzDOMlC{Wm6iiG4=TuX9%@7&3WqTe-Qj&Wk@4 zsIV8&f{-j*sMW^E!nO@Pge5ArWJyG^2+KQUAtZ2U+vu)kBAXR(vhLaDQ6CUV)wauM z%H}}LQhC19Jql_-96|#O5SN6B^W*&S0B|TL=zk$?P^uK)xolot3gV?7pm06gWqRN! z#qM?fL={9|39>+;JOGWFN#;N6cJp0zXd$4^Ly;A0>4YqG1z{opI4lbdOzK)uAcA<^ z6ixynjzgVBZIRY>%+Keqo7Vv#nXFgqN^!A{F*iK%
nHO(?tOMkO87gpyu2Hr|bCBF#O|SWl|a z`LU8~i-n9@jYQUZ#+j+o7=VEF(t1Q1O@Ds)uzCOay*cFX=f=UQWi8TLm`LuNw#i@17pEMEBBWDry_t*bYw$&88DZen1q1%r0^74` zJ+#oo?p6z-*%w<906Gd+s62i1<1=)gdjQ62f2D;gNY$ssAFpQHpS}WtovfZ2mVZEM zMKNbO$4DuHv1N5F1WeoId6QtP$c&eSr=Wxbt~hB~%or&+Mi?Lq6|h#sjgJAtLkbL> z4)@JHW~_BRB!Q)AW{WmAK8I$Rgx^j?#DGJ%o*Nrxp94e-R*;BuXme+D6xsb=IBGWg z0&FOCDED1jGj$Hkbvx&-^NN@QRezp#Xze`!U?`nwbxGGNz=7!o*s3E@igA{Y@|UWR zXA;C6ye0LSv*2JvsOo)^z)JI~H{0{c9PDrr%NkL$8lSx3eoUym0S0(pnqa>Lk?_e| z>o>rF-p*mnZX{uVK6B(P0f7GJsprdx)zJ6=BC?qn54PTOY*`;EhBKw`yAK{e~OSLROhKx=aE+j z==U5rGzCkhWS~zyr~1^Y$I!&o03mn$1Yuk6ZPx;}1*U=6Y;X-50Z3Bo2sWSvdJD`2 zi~!8K8M}ZH0M|kXbOId!_0XW3Lni>8g{1DGJ0gM)gn*pp$|2H*2S9AEL-2tRbW==C zLvVNaX9D*W%(v_Vf5<$*I;QRsI~_&c@!D;tO{fFxk~ z8Xw`i4Fo+v66Y8A?agCkSwI^g;?u)1{{CSBsRM{&b-%$oe~gA60~Bq1ygzyn>Chw1 zp^eqi>gR{c!4!HxEVGLjmuv*cIs)G>VQ>iJl7b69ysd&KUyMt>;5!%slk4NJbs0sz z$km9#M6R!A8D{fYuGE-9c(a!C^~=xmwIYDkml1_^iQUQ@Id49yCIGR$T?}xms3e6n;o>ugz?2K1YICI{i2;+h($ delta 637 zcmV-@0)qY61?2^hBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zOGZK~zY` z<&(c|6G0Hh*XN4v=B_|=w*$n)2!Xwg@e3fOL&_;V1r;e`Dc&A8o2!r;5{t^!c`HPl zS4fqfhBwF)!0z4d-TpZ`I>xf(oB8cG-;DRjzl;%t8BpOo<#WG`z!>Xu;6A8GXs+t4 zaOx}#>Hz(jkw>eb`Aivq=u=Nsedg3NXkuo8gn52Q($;(1TEMkH4UpLbzF{i>dEt!U z0!E;>Kz+apfVD6R6s!RF7CN94=m5}5gKiI<0CW~|-NST5gb+vonc6FZ)EJHcv)A@H zfe=W*G{wR;^nfIq3H&K&XgLIs27oiB>Ct-3$X@~4Og;!?CV?J*;FxG7X!af*3m(wg ze17(X4g(oBiOce2ONW5Wtdf_fyX_EQ{|jE0Cp(A%>-#akEKd)I6yTN&?smeJ1RMZY zzh1gP<^W0pRcr20Y!YeKgQob9H8(3Uas%9c#CQ5kzfOG z{_*bUo)@u4wTCu;)<^4~A1-D!t;nM<)+JlA zJ;cEH>iDZJBcCp(azJ4$HdpfrP8Rd2ltT*1^+qfXq(TA%!SBAd!`=8(>d-U?+tX zb!`QtWIjNqvXWI*32A^@1SVLMt!r~$d8j-SF2-G zuj3PAf4TsdLb|jVXQAj!##zjyfEb(rNto1aWrGZOm}Ile4S}Tb7U1vMfXqySdRs}& z3~znUmso$u+I5f@u0m|3FxudFF_glU-5}gkTuv{KqSI5X=CgQuwROl2`9uDEP#TW+ zr2Xl7u$z4!nt-T(Q`N3GPH$1FI$tn)t+iUm>tF?2hn0*#yF^RnTNQrR;t|> m!Qmp+)j$}1BS3;*T<b|d|gxsG1(kik_QOb zdlt_HVLyY%q+p%M;u_(rV#~7ZxkI71>F2-Guj3PAf4Tsd!g^`Z));9rBBa8R!JiSHA;(Ej2 zwZWc;FzfdFtcBR?7OAd54Wu79C;mjQ|PQ@6`|c WU$@f+U%ZF_0000O{4<-YIiP<0k00bUML_t(o!|j$oZ`(!`z)!w~ z@DwIMXlM!ySVho<#R0WM`cv3Y0j(}Xz};d2zF1w1dN2=8mk_OVV1}v!Du7$T!B#Gt zm$cCr=#cNycNF!9cdyLQr7bGJ)BE||~b7P zq7v{l@W=$H%uArb`94wtO@k8fcq`g10@c|)E`^UzDQp8BX_1 z_PzpuFt+?E6ZkQicMD+k*(M-=lRuoL8(?SwE7h`?VvL{yCGAZM0h`(W1q>)WBtA^2&S2A}*%H;T}nPt{J6x@^YJ;Y(B?~ynO z;i%y#bbnl?47tbj&bv&M(sAUpb>p+cG*oi=OOX4YUO%u^90%AcKfZ<-Q&l8L7xTXa zJ``~lqCjWNKHNj()%D_`BV}%H!&rq%K)2Dwf^AN9Ya7(<5df)Ajuw8XY=AJ80|4I# z0L1|4#S)l8x+(Tn(zila9{`ZyK<14;1wbp)Y=8NO0TcbU1Wlg=I1m(oZUqft!1}UK z{N1OAGrxYWQAYm%{Ywm_{s#uK|LkuWNb{gut1x61b!(T{FrdVyy>D135QK7D=;WAdjPdb&bv%SQ>~I^{aQJlQ$~{;$0ZC z+keTM6$7zG8dVhoX^*VA%PI!qAP;H9Km-D88;FCv_7wvW*f`iSkQkjf8v_Am8e8fOxp0nlfXSRcA1Ce2A2*`Pp7z|`%81{k2X})D3HsHwn(m>uV6t)I5 zI#us<{DH9!0)SsoEg0kXN8k^g!um|VaJ670J_rURvjFgmyQ4x6=mHKTv;gpnyH5cC zIibI6;4N}F*`V-;V)EnTpJn2*7AW;#N@@W*(Eu(Gg&xr2Uf}}q#ioyO51_-rC#DYb c|C!VBPqN-9qC2!J>Hq)$07*qoM6N<$g0b2Pi2wiq delta 1103 zcmV-V1hD(N3A722bbkaYNkl@*it&+ zgLyx_dGoRJeuVtDhEKM3tKtrOuy<4mobGj+RY0xLJFJ|det#BqI*%)WDT|J1Mcf;) z=c^L7v)>JX0}GZwHf1j?KtC&ij4>1N0DdTeZDt4Js03;f_)Z60$Vl5;* zcc@N5Xf`1Zhksw9V>W0K2T$fu1^i&_??C$Km}OL!8Xc)MIP67@y@VToXGpb^DTmyj zmx8f#Xcil9Tps^?#2BSl5*Pv)afiKr!e)@|&vF@$3DI|Zr}5 zoOGdaEGAS40Ibu|&%^6>p?fHD(h@R`b82OHofGK(h<^Z~bg?QOcoWY$1+ZMU4!|e) z?Ic|T0|Q8Y<*))A^U{RLm%l;a&%6r>OeZ?ff-kf54&yw*|LWO8eVIT3hL;$BOD~9% zjWeT$(Zg4edpxC(T-3A7_zpR%0er+b?)0rCPC`6tJPH|ylv=)H_oj9p3nAl{)5dX4 z_tQ|oVt>SD+)FR-=rV2x=rX^34xYH8NRZBF-vmAvaT;2Ic0xbjV&v83{H_g<8$g(d zP;k6$?tD(yr@FBX;`#uAv`G%;%}|&Cp&~~B*N1>>1Mn`Ezy#A7x1pHjJ(tx72xN93 ztBvjh@G866;?D+*<=Ya}n^6CAR!yD`hQql`@8S%Pb+)QH-Gs5_}2~po;Vta z)(CarJ_D)mbt)BxOruWa6x-~qr#C`na0KYG25BH#I($a^tGG0fEv;hohd?n9UAp*6 z4;BV;s+Y{;x?&&?qMkZOdj%{Eq!#tmZ={{q6$7cAX}#Oa>xzLGEzK2*fwV?O-=&Iy zcz>3MR51{40X7Z9v%L0-fpA+p*f0>AUu+r(`hz9GhJgqX+wR`lKq$4}&82~CWL4rT z1KFrs@tn1RtjkiS(hbCL5VYFTK!(FIfey@3QV>A$Vv#^Q(J;XsL<8YDm4@Ln4RBks zX`+GfmYl<%4z!lQ}J&;xgl2ND_p`o&Ejft~>$1nb=@fEV( VD5BO{4<;LzGO zM}z)}^fM+MUaL-N;1EVtJfXUZW;~3C%bEj^q4B0d_^Hb4K0aE?4 zRRQ#X%zrV30OebEup#&p@N>Urp|@b>#k{9h9l&=MqVzZr@SrAyEdhs9y@-}00px6> zb;T=gPAY-RKO0&B+8at)um@fkt%%sj%@az%+B}p2hjQ2nlnEkWYYo7BTdW=?`ji@< z?kg1_Zo}${UO@+2x2dL8K8<|-im%UM7+Sm{(j`YAGrGWdF(02>4!4Z|#{L3z7;WZ0 SdXW&NL7=+p-W$={FO`@W~AGmL+T z?&fvf3?2$M0}ViePIl8ylu z55SqD0_hTfpwo)u7%uRTse~Db8vTUQH6VD%nXS4MZM>l(*75Hl=R4Iz0KkyS*f|MP z0WoXRhsU`f?thT00;wp`-}4A1ha{B}CICS{MxhlsdyyzE>oK~7Ne@N8134Si-NX zJboD8i_}FFKQqveefMx4XC?n~y4=e3NvZzN!|>5dA%DT9ppR~UL49N!@AbfFc1z&R zz|~`}Pg$nVz1f1u)v$Cx9+4J@#g{3QT$Kq2YPwMit=U z30QdNZ;zK|UZDVtzn*kG(C`Xx-O4Lu+tes-g_$Q%_q7Cw1bRT$m_h>et2@O2^b~X+ z>2;$CJAW_seOHqJ7W)thsd%T+fYypq z79W8pMk^*(^5jV*V6W~~z@;3{1j+;vvrq%D$Pq^m6LZ=bAMYw1Anw4?vwj92ENoHD zs3N+K_%r@=0n5--PZy98*j!&?yqJ$JY_|&hzZUolbr@~t%B4t200000NkvXXu0mjf DJP$wl diff --git a/graphics/pokemon/sylveon/icon.png b/graphics/pokemon/sylveon/icon.png index 717e4004a565d90bbe00048312ff414148496061..1c62d466d811294db9ef5ea08d538317b8d1b714 100644 GIT binary patch delta 351 zcmV-l0igc81LFgbUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;DRJT!bS z0003-NklG#@8IIYylAVuW zS3_Ns?Nbea%Lj)06#qqa2)yCF3tf67rMO(Cwpev2I2IuqJA!N{@*G&sGk@UUDkppf z#(v7g`4aWvnpymxcR0(}v^hI{U$}e&68yFEizFJc?{QeTa24VG39UB$a|Cj!>9!ec z8>{eSN7;c*chZwW%r@$<-!`SOE($X%DyU6|eE{+XiUQS`q7f8VNL30yI~#y-hspJ} xVd#+7F}rT)j(|DHE)j<>KOAK8WB1E`d;(M8&!nV(RsaA1002ovPDHLkV1hQ*np*$> delta 312 zcmV-80muI11H1!}Ul0LDNkld3*2TcgiVAAeVIP3JfucY)CTj%6 z6;hSV&&~!Q++oUk+c0!U>*!rKbVtA(!Y&bquN{2IDB^d&oR3da;LoINAANoR0000< KMNUMnLSTYwb(qZn diff --git a/graphics/pokemon/taillow/anim_front.png b/graphics/pokemon/taillow/anim_front.png index 7e5c544439d652656e3fa66a89dfa41014449dea..20f98a12727dca34699bff4184e2554e91eb5e6d 100644 GIT binary patch delta 758 zcmVVQP*{D2bs7gP~Hpo5_kh$S#K5=uL=pyt1DKHF;Sv#$~x!f$<_-aDV~?tOm% zbkW7%#U4VBlzD7DF;xWaQ%v^T^ID${Fd<$m;802r3DH}DmmIKgI{?Q#A7K-<^?(cd zVw%iQ0k|^oarJDm{7?XHPXfZt>ifmAsGwyZqYW#->Gt>LX8TJ3drnrssjdd5>2{l5 zB4hwyi`}RJfTigrvysj`jr7VkyD@)eZ2T1I4(Zug6sWIrZ1F%gA;d>b0L=2%VFvV! zrVenx^Zg^l0m67*>JU(#r#WB%&Bk@Wr&$~!ob_;RB>j^dSO~!M#dg$ybDlp=d{h9^ zPYvF4AmIQe7#VT_0AEu&Pm%>f*ffoXQvqL{A14Ap7$eqjVuB=#h_^?m@mPNayg@RL z&IDjIow-Sp#BrRLFd9!~6h-qWIuis7hBCn-5jjEjT?x_Hgy(1Oh`C}zrE3`K`iKQC zTJuvqVhv5g+glIXy1`m6*Ln@YJNvr*f_n^vKi+!ER|bB20018B-r_F0_y_#~J>U-( zQTc<@=hNR*_`_pL4+t5m1cQGn6@+nMaG(HA-q6AGcf@RcqNbm|UMyp$RWQPv)t8fL zVz&aP+s~Vy)A$~!=>yk;tGm)4MBb@?FiWq5KjeTejb^R~r9S}SAktdKR_PC*bdc&Y z?)||7uAr)tvg;4pjte#VgP%{m>N+d_P!#C3`a=e2PE}GW{=lb}>r`S3RQ(}vT|PNI zl|RVi8O|&IAR9o{ANX{ZrsqWXL!A4A-=G-6ACl4^8m2GI1w-Kvg;b zqaX}~MM$8E@Bg|Nf*|S%5$Ap#JDs-E>3#+Z*z7b74Gj(bQz_O5`>eH|=UxQajWKE_ zL60AT-Dn2P*x{c|6cg0@8e#!d0@v^!fEY)htyN(f)!RX!L-POd=bQy~0f3+${4MLM z2}6Vn06;LOxcHTS5ayxu6KQI4PSK!iOm zI;Jrp>=hC2Rv>_cVy2A$2D-!S|n;Z#B43MdI4 z!&PzFJSg9PbC1Re8L)1+cHE&4&Whgv6Y^tdXlQ6?Xy~idw*VpL2O&V{^8@Dx+`V@Z z_WoaYClIOs@69mw{yzl>9RTkCQ-CnP&JSY$p8|yWbpSzsF+=}f1PE^d-2M9^K)3-K ze{_+%e}Bsl4tr}}F(Pt)Py$rD^^NWSEk8*9+(cJ@0a{=4gT4B)aekhOzvc&1Y}^a~ z<47LzgXt;JxdR^Z1F`=xKRElJ0gw4X20+bU%MViHRgW1f`9Wy^Aoh-xwa~~91T8Sy zN`4?|p=;jW_u4&tpET307*qoM6N<$g2mrD3IG5A diff --git a/graphics/pokemon/taillow/back.png b/graphics/pokemon/taillow/back.png index 5af45bc2ecfe86275a738a0c8936a3da0562628b..463913226fd0d7b53a9a3777926d14da61a20b43 100644 GIT binary patch delta 408 zcmV;J0cZY;1pfn&B#}W-e*gz`Nliru=LQE4DIAU&$Ql3u0b)r+K~zY`?UONXgFp~P zY1n>H*rZ9pNcIIHae~M-AVCdSj4dm*l@mmq1tr%=&;Kp8+c!Dc3gh_w!Pf6p^O#X7uhXc{Pb zp#Gt&FWlE(*)-4_Jk)>6GJfd*yo`V%A7^}Qno~OgxF#dC?fc2LD0Fdd#wrmUn)dtC z4ks1vCTrHcfaIb1piz1SB&c7IYFoiJq+S;}1LU|UwLz(t3G&G#5Ni`61>KTVx?0%w z4DjX)na931h&uxXe}o1obKXJ420nP50m$%t0P8*kC-D0sE&<6U#TS6UdfP`xni?L;;wsL}qv!LV}seFJa5;;rOJ4{$& zaFa5g_CNjk{8@tQT<7mYM8!pYh8QK&`r7J<^GQNw2mpwB3MgYZO}v_jp;D*A&Eo`6 zu@28G8V5`V)L(RQ!)^V4u^tCHgS+}yS>l)Xz|#OQ#W3T2(;V9oAe4;Iwy#Iu!noqX zHLFChZ`#jyKb*FBm@QbJ#iaMm8x7K1AVar7+iS&}C3U)Tn-owGqIL$QJtpV}NuU-I zA_v!!wz@so<_F-*8(pN4Ge}Pc7FY^UI@CbL1`*6o2A~B9$_1x^9*}bgEzKn{=%yZ#a-CJt~K2~hWd!g&wKIqAg*;>0~h;{n@)cd63; zC5pxFQ$TNN06?WUpk$O{4=Ek_9{7v^ z006^DL_t(I%k7de4#F@DMRS83CY@pN#83}(rk7#q4G0TEK|(oK=hhO*P!^L8t&=h_ zF~Hya^%TYOQ|dRut6A4crI}+9t2zD(~4UbODUXdp?`xxp0Mo$dI8jEFQH5T zrSJCG0k9xXXJP>;MQaWjq4#FfXJ2R2tybZY*1M^HJ`TMLk|&T}7>+k$)S+Jd0A#>W z&xCgsL_d(^)~S-p=lW5%l P0000hs?m8+H~3IqT1C{WL&U00EB;iTyLLPuYk9> zI1+XwjDB{oBo<;{&xSL53i;sW#Ar-GT^|FaFWaI@mn|pRXK_F|Px;^^Q&T>Y9wg+W d&nEwNK3-w!X(pi&28I9t002ovPDHLkV1lMnV!8kT diff --git a/graphics/pokemon/talonflame/anim_front.png b/graphics/pokemon/talonflame/anim_front.png index db505ac63a29dff45429a486cbdd29677c631eb1..0c6e6e560f877277b2623c6ab5df9dc4cc53c63d 100644 GIT binary patch delta 1643 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 diff --git a/graphics/pokemon/talonflame/back.png b/graphics/pokemon/talonflame/back.png index e80745d218811fe28681cca14aa9bec1b461040b..e3f004d92395fd3d085afefc3daf7a573fe904db 100644 GIT binary patch delta 567 zcmV-70?7U61d9cbUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;M97Z91C z0005*Nkl7xV6omnWoffJt8Ctb$UC327hEf7ir4C5oWJVQcC6W_AM_-^* z-z3WB$LNFf+QE%Ye&!DKh(FFb_b2Z4{!e)b*>nSIdLX0=aDT##(oPvC;E15isTB!0 z=akZvkhqNqON1WV7)Od|X45XhWg40`6V8fjByA2dJd2=FTg^n>vmiUPb)-}Xg7u~o zV6Wd_T^1{b&o($2UgrT4H0(LZOU0gfY>l-5(rI$unss! z6KF^nWhRi+OMg5byMc&iMh(f^WgmyQXcfQ~VpJ0_fh}ADLuvwi3G)j;F0&Dl)PTqa z7=R573d;dKygLi%7c^Bspe1Iu!&5=$^7q}n9>~H5+-NUwmTc>3z~1_SKwydj0FyJ2 zSzF&1Q6hZKUjQC8a5&k3oBNzSQ~ zo_n_vm{ogeJOPe~-8p8w0`RM5X4Mmb0ANNr0b{XILYp}GSpAoQZv!+f31^P!Fav`d zxo(EXImT6!Hl7Je&ME%>`2k9JZoLs1csKw6002ovPDHLk FV1k@*=C1$% delta 531 zcmV+u0_^>Z1?L2iUw;AeNklP`7wA9&T(RFPcHQq>mtSYoA3W)J3cu0Kf1yB^E~h<3eM*M zwylMj)v#0{f|~b9BvncYAu7)EDPr3pVmHMwl2~TEj*%#8BY&!Kf^C#Vs_`O=UV=eW z@664-OzUC-V4WdNA14$&Ab)-Sor^%lpO5=dL0=LTtK+$O>Uln#U$}V$(jl->-WaLy z>Sik?M+)R#z?fj`2W*D`+xfsq!>sm!a`=k7-8_&9XQ)*9w7-rEJZKJ(E4>e70q_F* zz(V+dTElV=pnt>cRpbL83jqlb0!M9-fEn>s035cWGC*n-cVWWMRxIiF*K4~Ws}P8? zH;sEKUt$Y{r~XJIaEk(f^B$;!Q-7$lQYT710Nhxhcn^W7NtFEI02O?lk*;-+Qfbc@1_IDFs5^(noDDMhjI**pv@qYv$af?~ID*yq&jrxXdP9b(mEhafh-3cjHm8_H6Nr3l6wl5cVcL^3#b zSlSFZF19Ig7}zQ@B=Y6?e7<{0a`^|$Y;6ri0b7uWfa3o7VSlpO*g~Zt3G^lb!NAUh zb;YlY0TI^d0t}ENdMx=1N@?v7KrCDSHK;Uo1Op9XMN%tQ7Bpqe0hDX$%Y=P(x583$ z#Gg6T>K3s<-Gs6S;teH^nL||xZQgRk*EBuftV79^Khs}Z%Dky2t$;%=<+NGHCtBoF zfYT2jTQhAf9Dg4vYA}eGU;X}LBLD26`C7yU!&1aoI$hU0^RpRXnVtJitb=9X+bBXN zZJnjTC_)!_XTXmiu^mU6W!g*EBWfZ8nrBHK&^+p@%e8PR2Gn~Tg<0JAl&9u%i%yu} zq~2exoG>cr(GD03W1yQ019meL1`g|3n9KX|1*t3P2oR1X1eO2*002ovPDHLkV1lT% Bt)2h? delta 368 zcmV-$0gwLd1I7c8Uw;8nNklE&hvN~Zjo{@POJZ9N$U z>~krn!#cdsBA)_W-hOR=5uOelo+%nIh_^rUPG-tn_+N|Wv4|UnrHHR|ylr-8fs+B2 z*=6p;cIX*6J86oL$-c?b;3z^Td@|slAF<=jW|{V;8xb{;0nKko9?<;M^^j}fN?6n- zo(!|N^Cge%_ZFRDf+ux(vvP(}!5*E(*f0i$xnZE+%nSqjb!?dH`{M_xE9nTb3VqW6 O0000$Vo&&R9M69mrrinMij;+fLe6tXATcg$~}PmhKuYpo;O{S zAjb}j?BfG8fez3_+!kmShP}@P3Z%=UzW@JU(3<0Eqq=XlTy0yt)#Q6%f_g7CQYR%EV_ge~Q3 zn|h5PR^|kkITEmD*f^RhyuTDl*ltCpevkD zm7xJG(pz{cJSbv?6t$WuO^9kYzLuloh9HHD-o{3);$m1tA4$+#eb;o}>1&NU98a=jps%O)?*FRRAj6ew^J$(V8?DA8(KG*q)A z3gzV5YfiLRMCQuG`S+WX-kB392!Ed|I zhw_A=kA3^;FfUmB>)z_|gkYk4UeD`!{Wxn$|FM6*ep-=Yw4J1woXJ<8n^^<=jq>z%Ybt36p zGGw-s781S?$JSy<1Bv=F>i6 z0vBwEjl@QwklpAfJq3S_%CE1LVIWd)qk&aR4S&6B0TAt*#-J4EWGJvMT)*GFi@SF3 zfolo~NJ z7|Dyze*mg0+0@0u-;S!uY<)QV<#|()t6zLMR2fYKue$C}E?{!~s{0ft8Fc7(9|KOo z)Q??PndzGYZ0IVEE-SuvT{HLYAp{64)&)Y%{u8pg{g|l7DmZ}!ASEc`ZC5_c4y$K; c_(9h<^8F{EjYAH5$N&HU07*qoM6N<$f_w$|f&c&j delta 952 zcmV;p14sPj2>b_-7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1A0kBK~!jg?O5%S z;~)%+gPo6V-v4>emQBd^5+Lo|uZw4A(z2DXg`q{m@Wc~O{Ocf#Z{XvYQX>8opMclk zTNF8G0#YMCJ6SYs|0E}14NZ3v;W07t@VUW~6X{X|8Jm2gJrnO4u%*<&0D?4zehd~5 zQeNtyU_*_TG-OPFtXv@_VWdewn3lbK!;hHSQt*+EB7jdK?Bytdz6ME?!Kzd!nPLS& zLga57MVR{J1eP{M?jSSfRtjidOztg|r}bWpMR9`D)u2$H_bq_JgRL}`5|}Ed1jZdb zpl}Vwqco*=mQ{2@fV`py6*tYxEIH5@Q2|bgGyEdF<~H?bD3 z1dD~^l>yyh%Spz01qXpiuQTlgcrH5uSJ2SGmtIp?CNE(p&_U~u20^r}swN@gJVgnR z9}8I9li~|6sFfjSh=>}jxA6Z8foG7L5AB3rh?e%zN*%Ei4=0IBBBhzCc&ouA$URpW zSoW5#>*xu8_+e;@B$8;LNTRU}1Mj;op>fyrda?Pe(>eQu}DY&Enu7txFO>+5(_2}Upmnx*4L{XMX5u(H~6XqtCTG4 z-5vbT&$hi@FH;k9D}hq1{REqZ5qKEhIJ=W@f|9g<5@4jiiuaC_^(H}^@`)#&c;bmC z{@3`*!Uz-N3yN%F+-5kq82Gt-m%#3?89(@M-@62kpzNO5Rr7|8vQPP`jp8oG7d8r} z{?tZs{rO`XCF|d?QNn3DVN(4wLCr>~tS+Hzx@?ql0#~|Wqj+OnT>kPsuWqBbJmQ+&3~d{w;Xy~YSqlw}rNV$hz zSOBo{g8#%s$xC_dAmrswc3uA4M8P`vtIP6#X}@jrnTg_CLuw9!vFpdz6}HFGL=hMW zZf3Q-tfW`xmEKGgu|e2?ExcX5_1?U`nJ6~6NlyY=$A-K5FB1i08_HAk8bZBo3quB@a5cy!hGaQbFOfHxAd7qyT+y4GA`}Gs9 z=`iTg zfdXH&nxsZJWnAPie-LEuApz!9VK#zU3pyTzVO?PYI2s^_8N{ZdA)kW0;xhpks&Gr( zSUAiFY;~2{*k`fYB4`vNMt2Z8p>B48wHpYHmAzAZ%KL0&4#)vEoIt!)^l!oB%#qWo8 z#FIV(AwNdNQ{(EZv=Lf`lju>kNQS-sc7f>3s^K%$NFAOcOvfIcgyy?un+ufU8rg3Z zhhwQQPiJ68_+?p*!sh)h*OQ(C7aRLO`F}fq0f_dQ>X8k@9{>OV07*qoM6N<$f*G?2 AA^-pY delta 587 zcmV-R0<`_d1<(bMBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x3yEK~zY` z?NdRH+b|6D0?xgxs0XY!A5bXY!-~2`u>Ak8bZBo3qiOFwggzMXjE18jJ-q8(|0uTo z{bBawZ@5kqkATLX)AV_N#XqJm$z{4~5SgayE8!RLAh+o%sN2_z#CUTY&{U+Vq(2Fx zi2!Gn+jXT{(gU8)R&|ko>^Lp*sYDhB3umh%EewrH6h(}J*tq#Q5jYgdWXd9Ho0j`I zBnlNNqMHf43S=}God__n5rma)1pd5N{{? zH(?P@48=u!j2j`UD?Fb55CW&VIwA~{u)tmB^|%0H*3{e`Y*tBy8scble|G5JoU};q zm?HRTC&Znx%*97ANXmh&`0YU8E!lh!swz`V*>IkkXDNB5u#fBV0HITa2$}a-K)`TY zr)SofB%&h1lQjY%amIH1@BeV)9(W7dS414|U0@0aO!)L0IIy^;~jy*gH&3DZ< z7dVP*WWQA$kEOyqoq-wQ&$1eY&HD|Pe%c7XWrPu`n;ATh^TzqcLcZ4h?H=RsuK%ir Z;Wvo(nd);N#f$&|002ovPDHLkV1hWB5TO77 diff --git a/graphics/pokemon/tangela/icon.png b/graphics/pokemon/tangela/icon.png index bdb6f8cb072a14e2be9c2553685aedf3ddb971d2..ab86e448209d39324748d28c034113512d932e30 100644 GIT binary patch delta 330 zcmV-Q0k!`50-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MCPk7a_ z00034Nklb>!3`KPU^DgPsrN_zIu~$$QYPA>XYDEJC|a0GYgWKPD`K-_dN)UJccrbF#IY)$RaLcodTBR&Rtq=dibJ1>N)qv zYjVyGfDHUPBH~IouLFpL68ae!kumf{jVzu+YJm$eMQ_p)_svxPxve$M{v`av&L=nPDj$$IgEpiK~AJ6;(n z^{hh7%}tben|~Ec>{>kRCR>N&*fx$(rv6n_$^?izNi;Sisrf92&s{H!>P71D0{7 z1|Dk*mKP(&j6}=IY`~v)i1Tzn4uF2}e%=aAE8>~NV;(I3mP&Z^o`(wCeG68)c;w~^di6tiDYU!aoJA(+Ap zMQ8&>{YD)HDaMJkASz`4Jn^d~PE(zpe4;=Sm4CeG3Cbk(DUM^r$&Z9SuBa!#$mkiO zG)4uA2>VP)a96|k$>W^#f<+N?7%&yVKp+(UL|TH7ZYcRZ6P`BaM}93p^&E#mqGw{9 zYUdd=T8Vj7iUg_71a_sgb94uFe6cO`rRW}hfmD_5KZXERLRIYv5|Z)aaF{>2vpq%I zGJh?Q%AMU*MNT4@vK3hT;JOuT{iFB#JKkInK+1l2I4k>NdIP~;szN|8z1insAvk!i znyImD+kU;LZH4NekPRQaFvKq2&R;c(IRuDeec3%|b?zxIETg$Ie^m?cWwlrJ`tk<^ zH+USY`v=>ZJB`4aJ8iX*QV{Ih$`>=I{eRl(M$}SvTX^)rcGL^+4@(^fUfqxWU*C4w zm*)8Qu45KlO|QQ~V2-iIceCl$)Fk-fZsr;Vw{c`Pd3!70Um6Hx!b$L(i9jZI>)_Hv zAd|ZlUz!MHxn4;lfh?1|)JP!k^|O&caOc8EAo%8IBY`Z}=~oD(e%hG`q!yS6q<)V^@1c2#Kt>F_{(&~JRCm)rW~4_5F%AgYH48ZdIP)%*b1aIlYiOZD;KgZ)M| vh7`)ZZr}QSJm^5cda#clUd99KTT{co28>9_v(29t00000NkvXXu0mjf%ddpD delta 1367 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 D0fmc_ diff --git a/graphics/pokemon/tapu_bulu/anim_front.png b/graphics/pokemon/tapu_bulu/anim_front.png index e5f6355bbce9c8d25a169dbcf5ae870333b12140..3df2f77b282475a8141352f2255901df8376e5b6 100644 GIT binary patch delta 1216 zcmV;x1V8(&3ZV*+B#}W-e*gz`Nliru=LQE4DJDo25vTwF1cXUMK~z}7<(9v18#ffk zCETFJgXPpl&`hRdI+hnj^eH*RUFwsUYLZ2ygOwnqL2Hz;hl#9>wCNr35bBl`^~yv4+Ec&39#eWoAnpqM!1nkTEV$s>jSw9cp=DP zY)KC;h!}Kf&JW1+br^*Bz7++>m0NuM;nw&4B4px0Y9PsXe@O_D2>fBnbO0kM2SawK zOgY1TTDBO&N*9IgM}L0RI6_JnJ8R#3{HrxUs>hWM(avwKCy?rKrGLE)hnrqc2`p^| z!39EFfohL0FT$a;4;4UW3Ei$Wk_5DGfGva^k)Xm5kEHoB2oNMsCkfcO#3&3vLd*3M z0E_PgkSHJ%f49Ap2XWxJI1O2aJsx`(AW4C3Pdqe^z ztQW&!lLbmzdJSy?2ZrAAheS*#-j59ls8O(=Ikf7+h~oLC;8+!Tyi65z8{<{1o7>o0z% z6*)=~(&DjLlXi~+KsW1w-vV#(%Q*U;etSV_52) ze|`x*>3|#nFs%ZRTteE?1D1)!lL1TMV>#{$6_A0U^OH=ip)K z{M-YetOoevz%Z7dYk*~c2~c$ilg7ZoJwVY>hFC7b`OE9yseyHP#udcg5Cvi)lr`~& z%XvG|@BV}VaGSj2g3Y;8uIRr-SyynkCBWto`EB0?suMJX@HrRm>*?_0pGl|_Vm|)& z{o+*k?hW8~IfpgFCdKYVv)3rGvU?; za+~m6n8DbV5j+sl@6b#TlIiQP2nhl^PL3y!`1->n_MH(jjvzIV?767WkzWCH_sPH^>UfNUPgmW zzpDh6w!-iNp{-DL#+Mh-K>7y?Ahm=hwnmbG)(xY2RKeewX^T^Tgh2#mb@86f<;q-I6QY2@ z%_LBpOGOSp0O>E8v>kEsa%BdvY6#nXURa3%ezG)s9~MKSt0r$hjREPO1AeR=K($(h zLsHmVky>X|7V^cR>~U6}9_0T3V77Fv?J9MO@a5iUR0LqYa<}tWO!mJ8TCG$WJDj^M zEB~BGAWy4*w3Ofn&wf@`L7qC-PU5?j-;a;ob{vveE{0W!=YZvql96oVxC^A>=thb$ zq_m_3M$X95%^ZtTTG0YkNR$?+(25o?hQr~tR%E_Z)B~1YBiP~zwXf?e|CkvGcE8x;BfF2ib16VXIn= zx~Igz(#pp(3r^DzGZ7{u#hYfiY()p~SI22Y9>Se3o!x`+R&;ux3es&vuz- zut2SUzxbV&*Z@CPbURjHB=Aw-=O_Uxm2Ile*m7b^0V)r??k1 z5)J^{sg=*8pbYzyPyoHmc@$##xI7sUwXQ oC(0TTLvMxq#;#@j2hA}426e?QoJ?fe;Q#;t07*qoM6N<$g5TCv>Hq)$ diff --git a/graphics/pokemon/tapu_bulu/back.png b/graphics/pokemon/tapu_bulu/back.png index df7f6bd6f4efccbffbb5ac6a9df66878f358a1a6..d3788c044117cebadc3a65cd6bdd238b6a5ed5a9 100644 GIT binary patch delta 681 zcmV;a0#^N+295@hB#}W-e*gz`Nliru=LQE4DJMS?AwB>A0&z)1K~zY`t(CEk(?Af0 zja;O4&PY&PctvpeGi!T(h|2vT4CQ4$0!@&GI`e;=2^dwiOmyMc$| zE(iv1?wr6`@ro{mbA{sl?&>fwfNKqm6kcFpB4OcL1D5YJuv|758p84|ZDM$~ypNiJ z!D|h`19Je-F+j|EjRzI~1qikdZ2$;dK%&2(>u45WejwBUrs4)D3A{q&1Wuv=VjmDE zVTuloRVw*0hLpure`WvYaXhQ4@)x8jt&qMb)scOLDiuJkR`6srsl;J?G!&bvnpHy0 z5ag%>qBW}4Tx`lptK{nu$*$6x%vE1MrAPu7n6pLKdQ6n$1W1CoT#?P3U2kflMS-ye za;1qJladDD=sQLi4G1yjs@kg5`$6tg$%WDe0&lsfiTMuDf6wY1>DGFD(17A=0!#{5 z+Nvf#83&bH09niji4qS5W@r&+ocGlZ&@AN(T6C~sCNcB6O1)+HbA`u(=VJO7r12$S z%#A2cggHwc(pAW@Aq6M{^ej+22tuX?P}}ax2LQXh@dJoNzA6bwd_@2} z@A`l^8(rM~0ffW7IQG=l#o{oDd}=o-rvX_X))`6*AH+1~f)AsA{=feX-JqjP$|zyZ P00000NkvXXu0mjf5l1z9 delta 691 zcmV;k0!;mm2AT$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&_`3K~zY` zt(Cuu+dvS;*QjtSp8`p7jqEC76AGN@WSCSpyT}mV7WpM09YH~>n|7_2YL|N0Y?L9r5zv>cm=l= zIB^+xHo)_p02PjQspMx5g3zNbN52pAQI@5DAPA^J@H$lo@)<^dssLiOh3C_GCYt%_ zMC`L{nF+N-kYhB6?ljwRu}?D{Dc?;gsw&<2N{#eWib7z4Rk$8h8gnH%0g@mtwR|6a1Mbpc>CxA1l<#A74U#^=b;zc#2m=4IU*{35bz@uX>_{8=HT@S|o Z0^OjaOz}z%vRVKD002ovPDHLkV1j$rJ{JH0 diff --git a/graphics/pokemon/tapu_bulu/icon.png b/graphics/pokemon/tapu_bulu/icon.png index 69261acb3f04cda9b8c79c219ac0bb32da02d6c3..93f5f2a057c8efb482750acd8cb70b74d83ef11c 100644 GIT binary patch delta 361 zcmV-v0ha!s1HS{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MIudO_< z0003ZNklb^l5Cu?fFhY@5RvOa>^7K zZxLB8Jd4&|GoVySiqP@(2MKsW{B(iOf+-6?dXYp>3TW7tLVtq?b4SvTWh`iHo$Xnm z@E&XV8BhJHutV3z0G?1IN_HxRpgm|}$7+;_T^u5fMVPXCQ6_Q(Ju`eUdO22Ob zxT?oTA~oD5+(&;mTS0yg$T=L?ZH+%a)RH|2h0-X?0U;fmHyZQuw{>rL~7V4>}P*BcY<69$XXo2F9aBOeyAk75b~u_#?xI&uaE|l zA$}GCZ}wz(1B|K3r6Yq#7Eu0D|Fdoeb8V!8QZQannS#+77*I_H#tTZp!1D@*^SFWu zJa#Zq&^7US1{a^e|3ds7!t|I b4Pbr%ja$Z=+ImcT00000NkvXXu0mjfjVF&a diff --git a/graphics/pokemon/tapu_fini/anim_front.png b/graphics/pokemon/tapu_fini/anim_front.png index ca583faab65ba6d0a8740311022c790e178c835a..c5dfc7fa320680ffa071cadf4f34316f9d37ba45 100644 GIT binary patch delta 1138 zcmV-&1daRp3GNAyB#}W-NB{?PNliru=LQE4DJj^h3^@P*1W`#uK~z}7?U&Dw+C~(| zZOM^1)~vK?)zc2(Kfnf7a&sW;7~)7hu})fcFJ;Lzd#tjOA(6%&fAiDB*j1&f>LGIi z-pAkfX6E_5hobx^Oa1KcfCG_Gbv^cd?;vj1vnc+HX6muW5fXt0+Bi|O2oVx@p*ZF` z46qx-?+8JG#7YzF-~0Zh2zVx1h^mpjBLa%kK#MT4=-l5GSV%w^uzy0R8~}*}*gq_C z-rofj2P6!%SO>DBe~%>iGDu5GXr5=bR)}zpD<2*gA%sVP`=CX!R~_GFE%qb;7AF*{AZrr^Du300t*h>0xJl{fl9v_PI};nQ6#?A5h*sx{rDk zH%%e|lotrKt^HOCV36jAtkI)2rz{0B)xzy>Xz%fWv>UP@l{?kK^+&W<0^sy_3E(v_ zIk_Qi+atuee-Vs2C1LOV^o9WkXuo=V&=)ITzTfZpL)#8qI`XS`?~7GPeK7L< z?(pZpE&_0Icc(`5ps@Je!MCs(8hsoKgvJ$U?J*0Af36>`&Q3P?T}*nfty;Sd=CQa9 z@Nt1j1Q1Sic5VV=us`*mm2mCJF|JDrnQ{chrQR)BMK5S;xFQ3PaSTA|G>|0&)O>^r z69BwoXh5qefG$GpubFEC0q)Ae@#h76bJ7`f_Hm+wxf@VHaP8A9Z~`5AMZ)%!{oMu5T@U ze;&*?K!&&d>iQHu%me%8C%xa_*x_aJYn$5!{}T!gzTaO!%eGHe33C<@V!L$H-xqBk z+VX0Z$#;8v$XNdo$#A<;+YtIbOwgmv3~@yVm=DEEEB}+ihxCn)WtZ8KfX1Y`BXNe% zw(S*#6GAD$+je*WQz}#nyztUq3Ga3|91VZ!d;jP47yi}Fj93z&WdHyG07*qoM6N<$ Ef|LjtcK`qY delta 1148 zcmV-?1cUqT3Hk|;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tx1XD>wK~z}7 z?U&Dw+C~(|ZOM^1)~vK?)e{5w53qri+#CoyhB#7Btdo}AOIb3_9;>Y6C6T-yf197f z*j1&f>LKq0yw7~!oALO)hw|T;`q|$BIgwCxee3&PZriVC(e^Kzsc$VuNCcW_9YoC{ zM96js#W7cDfZrhgg^(0TEH%OZz3*R&fM=puRE_)>BA_@;6sM6zXa250ECFf2{t2OS z03>p-e=u^^-vty0Bn%W=PImN>e*`y!w55dRd1iZw2}f@YJUv)p<5+M5{>bY{ql9`f69TgI5?L9 z7emJWEcFI07RUgt(WNcM>QB2)IJG7FR37+r*m?`V;CL!M?2NB}F>Ka9_o*{84H@tQ zD!7ODQIF!5NhE;s0-=tz-%bGx()y4!dbI9Tq(G)ty!{RBJsyxwQ6{Ggg7^Xe^ZA$%SuZ92>_URo(QN2u3D+8ymT1G^pG)6C=e=k*aV_p z!CAZXZ@8dsq8$1Ethe|}_Qj0~*8r1#pY zcN*Xxi`#%0=a@tQ;e@zeQ7{JoQ~y~R*Pk5WhNO@whfrJ^-Lh5kf{uo(G5{Gz0F+Mx z*=2y5k5F*}fHzMDTD`7SZZX+Q5d+`&&nz#Hy_j(dMb>!jodnVgy8v7dGUzCYKwv=? zlcxv(l)o~sgIMlYe>BVT9uY#4{BYQC-Qi9v$p()DSCvopZ<#os?D(_Nwz=s~2l#-J z7D5I8I9-5@E>i`Jk>tJI6gZR3AOA>Tl&Sy#)WFNM2qgUw`1pbJL7rh`Fb3s=yi6jyTuEV|5w z1T-ei9f>o9w&|}boDfP0-t@x)OsP;Qa2%zx6yEJ{9vc4C_x``8D1QO|)y<6kbqm!1 O0000#&w{4KH_`Vh?t1YPtQ`bz#I z$*A1gp)WWwJU>70BfU!OdH>7vHpvIT`v<`0>vSWaemM+|@^iJ_f4)ahu@Fmx=uXN? z9g5g4WegGW$gJ2j`4q_ryLXF-h+z=P2rFy@5!MDWg15${v@W)?0=SR)w1g;DyRaj; z2!Fp;s($ivA~sP}sGBuPzqHjFvB2F-1^?(9mRje;i|2TB#$e_(Y)9#9z7+`$BhIaL>+PmVE510b3+X6fy2DCMSsTknFKb)Y2U>t{|L5L8#^hsSM^^+tHRVr?&NGH7@ m*#%B?T{ZP%@=v@u{{UyG#6VJ)j^+RW002ovPDHLk0$_p}pfCFX delta 659 zcmV;E0&M;91^We%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#r#vK~zY` z?Nzag<1iF-2pn654F+?S;as@35ro7n{ug;crJ5_e+bsn4oc6X@tGUKq@L!}`^bwZ` z1lQ;r?#Zz&$#_Y3)eSfi%y{0srw8`_1F%YN2rf4St8c?W0e;UIJnG-YdVPriu~Jim z=w8zudj)k}iWnl~k&W1YHu)0i2%C$eh^S={=?Dwr3L;_*bOdin3T=(o8UdVRIkXVP z-4r&I;PB6T+2NNg2E{6haCcau^eZa|JZpuz8gvml+`X4Zp&%4h+919k^ZqdW&%PNj zh|NVD2A+-0s3AfJgsw&U*9n2v3KL;0@_L;n>0n3bi#R+Xv9k+*P~^$wiBkbajtZBT z6G2$?@kRl5GAyM1x`ZbnPKJQk2)bu&8<44hx+#^zQz{8|1shl3rxFBK%H@R5ngFU` zlX5lT`A06{KbftddCt?$XB5Z@f8>o6S$mp`p!o*zQy^MCC!m^7Mf;KC%m}P8(Ffoq ze&8v!1c5C8Ui&nE(l;6GCj8wVBK!O##k@eUH!u_})XC;bkjF#4p*}(()H%&vCEl^z z-@b)VM>KOcLAPwbWh^JwsNJjbS$$x2u17jA5C_I;6r54Uli78G5H$(~YWXN|_mOUa zhdwz!&94*jfhUij37|Ww7Zk2)tY8c1c=$wMHpjY4OF)fo&bmu)b4IDO4YW?QW@YnG zDPMEgN-BiO0u>tDe0{sL#H#6WZw9O{4=E}^qg{gl z008(&L_t(I%gs_Tj>9kv>kkC=0S?dyq`2$u{|`d^2D_`lIC~MD9rO}8>jA}iqd-!! z#LMLmPfL%9hrY15`9#R&L8}fMSBB_Ie;Ve02y_<=l%;ToB_H;Kd`UD zKr|&L+mWiW^OyfK;D5RNbukT>~K}Ww#<%$Vn{@YP=Bv`3J@1HRu;^%s6Q(k zL!zj;IUFa;CYryyIleoNRyLXh-z*8zO f>JEPIwtoTEK@zD!--tg|C7 z)heX$=7P3Mk{$O4?Xd&?l{Z0Ewac`Z1B&zE`#g_d{QAQ%pSl(vfA~JJ{CPlPp3Tn$ zSc#Qp1M30++uzLqRwZUzo0^h9?5eb_?J+Zed`b%iBi`SJO(;e_RzQBAQ=7u*LvC59O9IZZqF&Py%LAREtOVKtch6L(3hkN<|Gy zJaPdw05$|51mt8PqNtU0Y0(l;N3a3_e)Edh%Hr+q!_v`7f*1gxE?gG8DO`Y69FoOQ z;K%-Dg7i87s7QfmX?!~nE4BdmM$`Ju=CPaLSb_!3V(+$de+m-B(eE9cFP3@$^q>dF zKo*a&2PB~uT=@flpGyOCaA6?$SVk(3^RgR|#5gA)vC+ZL1|^g9F1&;?)R6D?Rh9v8 zpv2RDY1Bg(ZV$g`bz}wmz9@(-03K&bjWWI)kA>g5CFb@tTp}?*NK4uD5HAt zh5b%t=fGG+aUlEgR@PyRiexWrX45*M$ zNPlUXgY*LIW{dO{l?#C9eFb``$+*@u+R%gGkY3#ge*xK{0#nq|a=zQO*I_T5(V)`_ z0m+{@)Uewa=YQ);3D`}sWjGO_!{J&j4ZwQOk8&GW$(K zmgU$1csjgvdpOW4N9Lf}m^>j*yR|WpIWn6~i3XfN1-%GBlNR6uB^QvWfLlQ??&$!? z6kyH+D#Z!_jS3BL?*af4lxXPEG(g&sGWzKze+^*VYg_OG0AMp-N=d!Kq#gohugqry z$%g<&X8!H`|jBs=a8+GCseSKb6w)h^Q>4#>_Y-{*PXSFu0LM_2lR&l4-3 z1|$~Q{9J&QSZO}6Apo#{`|TWHO=5P{nJEdxu1UM<0W$~4r_@kDVlfV&gHkwvjR7n| z+9$oeC{~U@c0~(JbO2BfZVT=z z9Dr49lEu*Ahrv~X^t%8Qkpj_@w;hNT+W>s6s)JVR#7VGC!GvM4yX~BU1abU(7w1dm zJ^+1~!Pb$Ig0?sL12I>;xn+&Iw3tcJZ@e*&zK(H=zPO z;n}3TN zL`MKrP$T$>eAaLi^1qgTG*1%{fb2Nn&Vc38>r*BT0iy1IvrhKE(yWN5C3fM?`6tfH{_1u@7bPe=py z3#|)bpa=~=$cK=LOJHLVWD`QLg{0!~wG>vja_a=2d40Pqfg+8aSMdPN)tFjvqWVCU%d z)`D@E!*(|UFd6Pb?_haLJyO*dWAy|VIh?~$px2QZ=Vzgw-Kd8i5PA|N3j-T2Cjfbi z>A)WRG_{MH@Beav$P@F)t=$1mE4@56ZU(~+0Qty&v+n%X0)W|e05WU=AV;5t7q?dc zq+Y29$Ht(g%d*Tw>uhx8%kBwGKq5-GSK`Q~!q6PRs*#RUf z;B?SR2O0n}1z2!_YN-l9vq}S;T>wCW7EMi>1xS0+wsy8f0~qJt4*UTC7&E()T9rvX z1kA60?N0`h4*`tK{M+@vKg9eY?hYOh@&}dzg#97v4)<|ke_*2k@7;9#;YHXTg68g( z;}0(*?hpV@L}C^EA?gmH@!^=+)&0YmJNU%`0iKYJyThcCkO*&hu^D%V0D$7)y)=xu zLm1%U8UKD9bBFLA^2jFdm zRecE1vS*+N)tN)2sveM<2}sFP@P{fMGshpK|E51M%s=t>bKBc*>dycG002ovPDHLk FV1n==b3gz9 diff --git a/graphics/pokemon/tapu_koko/back.png b/graphics/pokemon/tapu_koko/back.png index b18e937ea6c1f21486919eae49b4e70dd1bf9060..c546fdcf4b68f853b327f8603c4caef24c7df8e9 100644 GIT binary patch delta 807 zcmV+?1K9kQ2a5-gB#}W-e*gz`Nliru=LQE4DJ-bK__hE50`5sfK~zY`t(3uP+dvS8 zCEQ#?Y&noqz*~`{kQgbkz=Yaf3cUz}QPl^qm1{xBn`45YI9` zC$ShAD%&S`({}?tE-4{qMu)L4yV~br=uf1?s9<#xtqT#({ZfL}Nf5Ch5tPXE zIte031SQznthNv$Py{8;!dY!ET8=;wU(C+Ja9-Pm10v?Z;%gZGRGJA&6iymCc>t0K zuNr%O5J-u6WBmJ-f0USf5Eo|CFw3xr8}9@75{Q~Tp6|7wD9%;A1@)*(AsRf|o7upw z1(oQozPTaJ4$#pM;^q7g3t7aEMDZs@^@*ylF*TRZ=~MPuHevPK56#Rdi4K1;5%3t= z%$P+Prs>14=x|iNA64f=G-0E}k;)893q6 zaSzhvE`axZm0I{NdP0l7_Y*#bln`^H!`P>N?aMIqr&3~4usVs>K!gjwlwfrd zL@Y@JB{IEEf(Q~p33f5BZG;FEL5YiSUOS7HEl|W4^NTQC)B(y75sP5?ISjum%>)$+ zr%D3>k_fMrrZ@_u#G*0(^;$|y-^q)9128DlB5tbC0$&1Av&YMSgBBFUzOJ{Ro>V17 zgGXz7Hn49&CAzC`Z-~7IbTou`dH%S3b{mdwd z4u9?=;4!qBF_S9H(w{$~<4O5`RGp8}goP3(Dl<$i5V7;g+~5%5e9GZ>bC9%+sFqOHke23oo8(_jX0 zYi+YKwDQnM)IANT%ZInXMgmt77|1a=5}-kNFMuTh%@)IZ>M}0@Y9Gq`*QJfk8Q3sP zwp~(N0M%`kADM}da~i$^yy`a7sBmNGi}>tiPGsRNKu4jy%&7)|AkwyHxd-4H?(FF7 z0PqDKwCKKn(F5lWI7x(EI#$^N0sU8iw>AMH^f+4aUAzX|wW)zkw|14+0)JAoE&sws zk5(<xj2xD?`oUG-LK#0|L!B?ACGf4H87`xn!?MLe*}Vg=R9;!?tkk=i(%pSr|10oKoh5F z;Gm2G`X-ucLPw!X%vuftiDATy?`&L08?K%lfGgPONOO4{nv(%YARBw68+kk&PaOc9 z9mM4_y_vX!A~ywOLk5T=>pvs4UI?Ai$=cILLX zSoiC{^WA-f{9+h$mqTTwms5DzvJX#C?~M5l%4{CAm;%3zk+EBWBt}xtK`RPqn@B1N zb;6LSHJ=(Jsv^qO>9~zHOgtF?Q&i58=KMHyCk2o|=6a+Xemopc0|1;I#N<3>;(s%O zbphwU>4wLmL0=BVv@b;}ke91|o^}xYYmZU+$Y()|l(9yE$mZFF zF}vM<;_)J&B)Y*jk8=v))?HUmSb>2>!vli3v)00Li{`ZGyloBXX)Vh zgQV3WIQ|MMl`Iy^|JibdVi7EVOkOPNtHbjD?(;sm_OSeQlIGRzV`?1_?ag5M>!dAx zq1S!4&b(0vgp&KSYi#1!-(F0w++Uxf#^4;(XdRLq(QIWPSo(qGuj&5)lwsu~HBbE% P00000NkvXXu0mjfOBK8~ diff --git a/graphics/pokemon/tapu_lele/anim_front.png b/graphics/pokemon/tapu_lele/anim_front.png index 93a7038799d761e4e9da0810eef67c66f37e0c63..78b7e99cc2945218c7522f216aa73c0ac3f9ef85 100644 GIT binary patch delta 1111 zcmV-d1gQJn3C{_TB#}W-P5=jVNliru=LQE4DK19NnVJ9q1TslPK~z}7?Uu1`+eQ?| z$&G+JSSr*yXqTKsKtMd{WJea-#UyPBoviRs4qXDLbcc?v)S&|{OU_Y|%o%^;$$X^d zB7KVl-H+dUN8P>eDawB^)a?!H#mD);$A@~ZgzDBwF7U~VLz0(6Ju(Q%%Tc0rMsjkf z<)b=bo$MS%!#zDD`bnlhW#5HeWEWAgdJwFWRfP6+*G=LFR?PsqXOE;PeCnS4n33Y; zqgY09_@>+QaNv*V$@0%9p)7x709*2}J6irHl7iy`aTJYc^XEt|ysafFu>Acs{ql7j zFM?R!AOh2^U+yTqTf~uwXiN#AwyYV6t(>M))YCH`FW-E>+3xNQOXc=-5a4(KV z(J~Iw8KyE&xHs??Q*9(e4=I7ej~~%5;z-dr$4W>(Zt3>`pl>Mw)a`#;_owx@!gd;f zmsi|v3|6sxrxeJ;e_WFxJXl&?4Q^xkmJ`OjG%!~_r<{%^(tpk{Aet+y23-T+>SgHC9rpm}o~?fx)lrk0=)nizth;I$vMK92c5JokrR#pzr}7}AI(BX~V(i1^ zrSf`KW+e{;;PTc9oy@K)IM5*m-2NuLuGuJ{lsY!GI!#F}o9$rR=#w&}Xoq6}(91U@ zNs*=)o3?}BfBR{#SGPsGZDs(>=$-G`W6>UG-2b8d)L^zL+Gc+S01|r)2(y*d=Y}>M zHXyt#KpTEz0pVo#V(pb_F~`ek=NjB^FV|5t)7xNLT=_pfm_W@a)p7F#qzrG+mF4p0 z9*`I4x|Gq)x?Rdie;ZW>Vhx1R^f6Xi65e|tK*obuhSL~4OYvnG1jroZ%Sjmc!h?n@ z07y${VkrU*fSrGZ@Bv6mZ~?2MKrM2f07w;y5pK=ZihJtMVa%y2YTDP7t+0RWx(xt2 z`bCi-4L$Bx+!w7mfoaT1yHWxKAhA zCjer5#5n8qz;wv7y$s-f;{19?!hPLQ6xf+C^H^6Y>z3p0&DvQLAQP~$gs}gJz-{g z@6h3e5)hf*t8w#~ml*SMZ1LFSC9dQG$6VO}wDN)T4S<;sCA64NB0=xN?|Vnx-S?4yVknyrp)KJO?b;{e>HHx}(vQM?+Oo7U-1FOhx zqGa|Ucsr{J^~20%5Q1_R?LjwTC%0E=iDdLr=LI2uLEI7nBR%7A$8z+Ft$kqlj=1rL7w zfPEH6MD;wZh2-O!eG323O#^fCDf8HWXd?aR90Q^`SvA-i_*zQ?6S)l3*Q3jVFXcsBE8PdkND8-Dl|Rv{ z42P7K?E9>Nb=Bz{Y^BDGYPfWEC2>)4m3VA}3B$wzgY(3* zTI2B;1;~J}qtzM<+!@tdzyOI1>m1$@MyB^v4sEYc0wU9URnIu|N}Oj~pK2T$UMa`= z65ue;8rQ&4K5+T~VB`a201^)XM!vtR4*|q8aw{anLleZmF9`VyFJ!y`9!LZ^00000 LNkvXXu0mjf?UN^S diff --git a/graphics/pokemon/tapu_lele/back.png b/graphics/pokemon/tapu_lele/back.png index b251ad1070dcf08a5b8c61b0503dd492bff01a03..eb013a3b3effae8c668413cc5739456f602a3ac8 100644 GIT binary patch delta 669 zcmV;O0%HA*27(5VB#}W-e*gz`Nliru=LQE4DK9a}sSE%B0%b`=K~zY`-ITv?+CUV? z59v0fC{$&rR7JwESERP6QwJK3L@o>s?Nhf~TJaAgst2n66_%>QYZmN* ziiNWHZ|J+TO=Abl+&;+&c%OUk`+oQc`Nu4|tM(rmRy9$B14IoDe-H>%6AFM)1(Co3 zqNxEe+8?U{u=oLh8*w!d!yXwKz)@(sGJ-1Qcs~&9&--1o(yp`_I|0>5p84T=7r>Jw z&MUnp(R}A9GW*i4`#}}3>DGhUd_TY^a}renn@K?G6##caKME^=%|!UVFZKc(M+!9W zNfp*3eNaqN2YpekN#6>X)7f{do!S9JGnfFFX$!w*&|;iqhlw zgfa}=k_M5RhtG!~3QGVA*RB+BeSg+1rkD++3NF(eE^@6tROvz5AwAB6T6y8v6OqZf@kqC!x)EhAYqbjawIbt!ufZ5@KyIdIelK!SP# z1N7dUD1a@n4|y4DeB<~rp}*8ZTy~k{KFhjtGFW0_c7Y51}LC$@*q4p-(~=~ ze6HN%udiFce_N!1x6Feq0;d}27#47|hWCik5(NNE9pKDBJ!T(os*&|Vq#Hp~;PgBV z5F@baLp-v~0uXK~zY` z)s!)B+CUV?59u}}6sj^*sv_aw6{#)i)PaUeA{T~+_Nm(~t@r|o>Vc}C!cuj3&4Rr! zWI5l$UOq%Xu}~I&hQ2#v8arU-Jjn=nKmXtVJwG3LZjs!T=WCW-PE_CkQGo*l0_B7T zU|2#VaDZqS0Ic@sasX_9egNQBTn@yr$HoTWXtZ6bpj$cG55(s4en-A$Qt2>u0(y{q zlZWeF08f%Q>-3ta*)D}FzICfXSO%=S)o?o75AgAfs4`$Z4oS5H;BFMCs03J#MGypH zFR*r{!0?}RVL!?%;Xj#!Txo)@U8V0=(pUL>Rs2pc+%zwJ5e2h<0^qwCV^d%FJ~Cbb z5WZ6B?RZ5p3cZ2{k%f=fr%*)&0F9ee3V1;1F+#$Kp1nhyNh3h_U5|)$GD>x^*f>^sNA-ZEbB&6-LfuaAE9j|n3Dmu zHUJXT7bwtscdP+6$2nwetniKFM}+>-3vtznIUWyefX_e50KJM!;{F_Ays3i*>cBh9}j~ekIb4 zpeb;2o(jYWEYBbw+N~TAe|zTVX+vtNnPU-;EQ{8roZr(egzR26!!kv1|k0db`XZRpU&tO00000 MNkvXXu0mh|g1n|UV*mgE diff --git a/graphics/pokemon/tapu_lele/icon.png b/graphics/pokemon/tapu_lele/icon.png index e92e3fd3f189722b67f0d259e67fe444ffef28e1..4340bf0d2925a4983a3453321aa7b67f1a8eea11 100644 GIT binary patch delta 344 zcmV-e0jK_q1Fi#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MQyuqaT z0003INklSgUGm;eT}fQ*LN z=S5002C|#x9kudA(0%#(!UN47Tn_-n<5$Nhbj2D0)UF3FjWQmry5r`7!_cZJnI6Zm zdsQO^`lK}71+Xt=2b=>CZxUdR)}{8sF(`H@MC%_Vl36D=bWAQiyK}|=ecy!69icl8 z=z^%taaLALFfrriT!$5j)Iw_n)7g5*aKBly~qiDeT&Dh4>wQIpJZ=7X+SYp|M>$nTF$24MjNPw76L)_!6Y=$Tz z%4u!~m;gF7KpkCTU#Ge@eITo;&M1{9f*$ktH|}Wk;IaWI?tkwcz0d_~1W>vbJXOkg zFl))x6NgKSDrb7WcWkp4B~qXdO4CCC>y%627=ZYw0p@62YEB%3Y=uHJ{uZg3b@GOe z$z@5o-T7bDH%sTXrQ06R1yPITY7u_T*3!&O<5dOORx%B%2g3HVCKzu&vz-OipFxb^ zOG74>O#rDF;4eTgGO-WY{)+v??#+IjxY@_<(_yy{;^+JE1yT#rbRs1Yr2qf`07*qo IM6N<$f;lRX!vFvP diff --git a/graphics/pokemon/tauros/anim_front.png b/graphics/pokemon/tauros/anim_front.png index 1b0092dd3a88d929b2af5dc6cfd89f35590f4b2b..6bc23e4e79b213670bf04b89bbb3e287afc25d1c 100644 GIT binary patch delta 1472 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 delta 341 zcmV-b0jmDn1D*qr7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0USw0K~zYI?Ucci z#2^Sn<0x>m|Nn0n94&(|Ic)7^tA;}k;QC zR$5~c9;k|-_ip)$cMIHxpc0{z2n-;jk7I(UivB1+N2q@&|Je nJotk(&4=$pEbar~xIc{_CZQBiUhZ$y00000NkvXXu0mjfDBqXh diff --git a/graphics/pokemon/teddiursa/anim_front.png b/graphics/pokemon/teddiursa/anim_front.png index 2c6e3f3b10e440794de7afcc2ad94f5ef79cb85d..e1a9e1c98addf75a79025e9f565c8063b7faa8d5 100644 GIT binary patch delta 758 zcmV*#byx8syNl&MzQpLcd<$20%I;9!6M zphaTXzn|l{mpDR1wOfXdk_3#qRe~x&M3@jU-1)+32v7^e)EHXf5#Br^#WN)Wnp5uxp5Fvwkc~aV$qpz2aheYBrfR4{sl>)Eu|bqG zV1WB{$0cH!KpIS?dP_$La#5JzW5|E99=X+;QeK2#ODg^ClQb&0uImmT>R=efqBOZnoTen-kiKAN<&|&uRRpY!TzQ)Dqio@==H(t zVZ?co6KhEy2#MivBb?Y%(g%OacjRd>4<6_`ev+&3G_V#M(h$mk3VD#-B?%BlGeXHV z){%?SKoDr#%dg#3ng%sW{Lqi~g&&>})+on*`hTtwGaVkk+MRzO1QATQ+s01Z@xZv? zi}vZp84Vl|Q-(GdSn>jc0ys8^Y`Z6*gaVN*8J(9}q(t!*tc z+%OD8O-hVpZ~p&#%Zq4xw|OAtwm<>RL$U}m$CQ?qJ>0gXrKP_nU_G&8Vc|3aYB9YL z5;ei_7yKwHh+x01;a0-o zD~b?nXc7F6z!fxq^)~)>E{6#eDM1Ls&uVu7h5#GU4d4P)b<;T%NZk?uQOm1B}K*>xeKwzR1SHPA~vryH!BAAGGgCQvh!LeF$LR#h(IfQvQCa zCHCJ$y8c?t-tqt?0CYNK8@CU_USKM6Q$t!h#RBpwOF|6QS1FJOh}`@De%TNeQ+A4+!7^`T>9* z0r;&zl4{Y{oJjz`suxZ0%@MiIB9Fh8KF`hy1Ke)|0Dx>~K{0?20M2*s*c`?Bzyar5 zyXKe#py(2q(|m$J@i9vAHCz(_&>==@6x5o2jXubKuqjFuAfcDzd%J>9O$iEj!ZhvJC8lYlG!m+&C+O}F?TA4J~$_xL|E z2KtOi{}X_Z_@912{r~ZQv?6Ubjm__)%@1gRApeY}Z|I%8l$rE@(3l(1-1y)=KUm{~ crKNwPUsyF2HKq4Ny#N3J07*qoM6N<$g8ZFenE(I) diff --git a/graphics/pokemon/teddiursa/back.png b/graphics/pokemon/teddiursa/back.png index fc4f9e9ced62b73c266e9229791e9bbd8b77c57d..47278f283ee4a28f7902ca67589b3cba8bb91089 100644 GIT binary patch delta 393 zcmV;40e1d?1n~oqB#}W-e*gz`Nliru=LQE4DK=H20n7jZ0aQsuK~zY`?UYMygfI+- zp%R;}2q*`@Q4TO;%>}ACz(C~{r|F`rUZR&^HJ5813=PhMO5KiEDE@+f|29dpNasCztlqIP-UHF{Hba8HfTe>334)pchLqyYck z)=H5{pm*=p)`CkKaA(?fc=Gw7O#mZWi#iW8bKE7RtP~H(1ORYeTa0a(+@Vrio)615 zKWteTh|j7qH8cbv`K+h|5dzULD;lQ|U^WCoGhJ922f+7S23|jpfUofY_`s>$<~xpM zpx-vdg)nXH{jTxSe}xi+obL>PK!m32RW95}z01D=5g+J7ruN0=B^u~TtYT*F1(`(( zg~q=C+U<;9;)&A^xZkoXAx$Molm|?Qlvt_l!-m`s=oe_y08xIJt5dQB*pKI7ViK5& n`|<~%>Glg%=rQlZGyW4l@1JerI9Uje00000NkvXXu0mjfq=T{y delta 406 zcmV;H0crm61AqjOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a-~zK~zY` z?UcK1!!QtrsQ_wHi4r(~j^F_H!3zW)AX0FZrb&@1OJoUGUe0_-3f}@;`znI>k@w$& zWG^ck=T!Gggc{LE#4~)BfgTY7RC11Y>uS*FQ=l2}jMV{O{4=Fbyr7>Cn z006E@L_t(I%jJ@x4gxU{MEeK*8n8G#qN&8Sjw*Hp$@Q}ki2ECGrOD;4f`sKz?Vd*f zD_2d;6Tbie002ovPDHLkV1oZFX9)lR delta 206 zcmV;<05Si|0;U3xV1KbmL_t(IjpdRp4gxU{h35u64Oko=(X7O^j#bPPB->*l5PKVN z%O)GPf`p-{&Y&^ClP}-=<`I3DoV*$NG+F>i*61#SkW|X;&YtDaS7hD;@d$-1(12q# z9@zs!s7Bs26Na|-xOsm?t9EhQTf+(R9M69ma%W!MijEO|E)UEfg&U`c;> zOqXtc5FkPK)4TWHiT8bmaTotv5JJk9tE66s5~AAPtpmW8ZoTrXR&OBC)B)SS?jo?; zs6NmnINp;x)LVXA4czl_6`RBKH5JxYL@}6r#hem1>o%;`pP{vega?; z@O{6d1OO<`5xhek5JfLrHHiK=)&PG7iK6W`L@nPB)PMuHR*Pu26LghboFdSvQP>Fr zb(=Q8&IwSv)j3g5vXA@M07Ce^uR3tD)ennFQNnu4DLiJl2fi3{V`YVQ7y&p8qo*!_ zk_c!hfmjWMZzEu#GC?{t4AZfnJ1le=3)d2)*?4G}z0+4sa{uj{&{@r3W%+-_C&S=8 z!VCw$Fcz&m7}g{DXj3W@P0cjqag9NC{89&9h zWgx?!&vJg1Jm!S(vjoBwV0wck&SsqBIw1qjljSX}YZ1#PjDp~Ucf7wm32QF$;)BVH z$ho^Rh>O{5SO9JTT=CUWnuC9I@f9byKN+l_mBqh&SQL@R`YQ&@kS%}X9^;FWNaP`lV|!sAwEm%TSgRN6U)2CV96@0pJdOAp{vLm>qPXvCw7t?T zB&+VdI8>+j0yMk>4RG(b0(j)VI8u8Qdk<(N0gMxk@V>+@T2GHOfJ14c3Y6~afDMPX zo}spTey6JjB3x@z_|p%9C(2tE-HCsK0v`ljWt-?>T0srP-wV`-VMY|HDE>D6F;xDQ zOsW1Dp`#RU8>D?`Vg`Q}a%F{0>L9>$>TgDv8qI~HvkzF|eY6k-puPr^@aKdv(no`$ zx#c{oY$62mbVM&MJ+9#i zAe*GpV#pK=^-tnuk(y=MWg$|@0ytke%nLCS3!O9*SIYnSN)P4-A>Mt}ep$qMtgr;P z6b*e>`8Brr@vDUEv{wS7s}ew}dp6al7-0#U-vUOL*Lq-c92?Vlnf`wsr$XG6SsWpR lD4WHt(U!QayI2>Be*ptg z>mUq81Hl($0ssHE)dg(ab7C9v)EU&7xXE}g3n550uh)nXeU0pnTksDTByT|A zy{THsQ&GK#=h^T2+z=E79_m44-e?o@gL6F8%jhL#eY9zR)oc08rkn$CuSdj8Ff{%d zL}?6oEx^4zgrErU0M2iYzYewyHZN0fLm+tsNJ$A4Udv}_AJIYFd@~^FNg0IzG-FUE zaFa6J?dz0)qzDOe3Q+-CKk&JmZUKmq+lBOCM8SjcoR7Y{0^}58jQo5g0A0C`bm4d0 z8drcAO7>BI8Cfm}eQ&PT62_F2AakIvdj^yckL7A6F%cowcR(GS!c8wh;?%MFz|;VQ z+qKAd;W-6k$~YiCSxWf(A$1kv)7{{oyfk;2-Y&vHI#s9(k(XL`#MlSGU4^C9+Vn9L zL??h&2_ZN_>X``Mst7@mI*Uk&QU_dneKaR0;o z5BL8k-Ty)8a{qhquk#M~f9Mncs&04xm7aeTlfi0p{|7*i5t`lq9#nvrn$|Y=eZ=ZSS95az0O4{i!tSf8yK47uAl#fjur(uBcfPBx!VTb~ugV{5e|-^gPXPP8XD9#+ zUG5W0d$11<9Rw^1#4iDqKu5W1)&9yB#}W-e*gz`Nliru=LQE4DLKU*99;ka0t87!K~zY`?UFHW+b|S{ z83SH~!iZ3Jpr*EHn#^$*Z#BY2p6UXub%8i1a5E=>0gffAoe#XXtFWy@8F+ zg{w1^q{!MN<-iBXn<)IB-v7TxBJ@;tfvER~ZS+e2JTdKfBE`lt^TTWCFQS| zXY^woaW?3_Bjl<}=9JQjuQ$ifyD>o8?hkJ$O+I+Q@ET(|Lp%FC8rQXWs{t|}jjkzW zZi~jJ0Z4$ybJfA~XwrfFUji}%OSJ+T3_$V>wcSO->pXvreU#jCQj{GTF>y6OWF(fgsQgF4AR4wY~db?T{^27-dk}!#i$|>zB zV6$B*{e(yWcu|-jseCWb%8d>X5E46^B)wAcY z3{H!EAoo3>F*ilRL*HsJ^Ez-j-}kaG&%u3Bky0K^%BMQ2{sEcp%e_9TK0N>c002ov JPDHLkV1mlJ{jC51 delta 584 zcmV-O0=NC41+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?UXTY+b|S{83SH~!iZ3Jpr$rx+RSkmZ#BY2p6URsb%D4ia5Fc60gffAg_n7rS)PF;N$W@;#DWx;tZ%?20VX;X<; z8X(Kb!kaW7`klcO%Fua>8BUUkf6GFcLcn zC>OONcqm+;E+AFp8Tv0EMCbx$k4AGB2*d%PQ~qiKxaqO;XR}p@6Knxl?QeG9{Vu~u z1K^kIxwnW=XrLp1{R#+%RtBHz0^qOIaS=!U6rIf$e02;-%&RWA+DNJv^<%SJuL^nM zgn$JhQBftO0|jh%YvrF12?$;krjb`HxLj4e?OMU;1mU=8Lk__ W?#sP)=061h0000a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;MaTog^`0002-Nkl5NQcpssNf?gv-A*+Jm zDqY;fBeW368C(P>TZa;=@QiJ-uMu={5zO{J-v5%k|96~UJAhVQ%-ZBS4izO3g))B+ zQUbP8O$P)xI#i?GoPc5<2f>y|jvJXz2+$&oRn*J?E~Mm$1l;0eDHcr&o|5%Yb5U2R z1A5h$yav$m4O}VYyq07Pk=?MX#q;Nk;Tc>YGtGr?NUarRuD!DkT3bV}XQ?h;`hL-W z_rK@~lVRd`ZLEYVmwaR7&pE WEUX)kr)$Un0000Kl*tOi zFbqV!fRGnF|Npm@RX3zTwl6I`G$spV9wXUg6;qvilT}{kMxi>_loCTOgFs6nBXT!; zBZecusm9ogyaVujAq*nvL0=7o@V+-DPtkn?Ut3VILk&X9ZMHbRqWR@7p#`@@u#f6g zE`-q5|6Uk7UzlwA`1f_E`^V`%h)KFn#3bDZFiZEdX^|%B)&YW7W?@8Ehl5|mALpa7 jEUtb#VmBV#XUD?>{(}_$QAcD~00000NkvXXu0mjfxzBn5 diff --git a/graphics/pokemon/tentacruel/anim_front.png b/graphics/pokemon/tentacruel/anim_front.png index e4e7c3cc8e92c4e57fbc07f62cb58efd0d70b9e4..be51d3443d82a0c25f29d68a1f09817ab8760bf3 100644 GIT binary patch delta 1378 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 b_)o?^tZHq|R8hZu00000NkvXXu0mjfABBY) diff --git a/graphics/pokemon/tentacruel/back.png b/graphics/pokemon/tentacruel/back.png index dbec071a900e229a9ec1ac1c6eee8932974a2176..1bb5b0fffe8dc39f07748dbd2213938b29032168 100644 GIT binary patch delta 607 zcmV-l0-*iS1;quBB#}W-e*gz`Nliru=LQE4Dgd!H$Cdy90w_sDK~zY`?UO%i+dvq` z6-qP|4^eCB0|;ktIH-%Z7PR1aie|hRFE@@z$cY3i=f3qDlBWbkSt) zGxR;h`scV=3Z+AyL701f_q@*?XH9$7f2u=n7*F}|$+nOGOe80^e{GNWYxZTY{W24; z2!Oc|iL=j7#aHr=JwaMHd;H~FPFu2xs+VmCl688fFN z;HN5qG4W<6;5s1yKmkhe_@WQo-E0AmJpk--r{aRKlMcXG+MDr0To3>a;AF|z?*mB} zaI!2*dq65!7swRQe``4wEK6okpP~YKEytf}sRHPtstK9s0rNP^epEhK4RF-@2lIGQ z1KzfyxP0FNLnpr8PEa!xAjEgKjX3k};u{m{2uJzio7)^zKLd>4LM>#edJ-_fx`Dxg zquBr)&*@RkfSbX?Lmp0O)o6X1f*8;j-0J-fU0MvFRsGw9f2m6u2QKWWGtT{Zq?r?V zL|DNVap@#8ctTUx(}KSOT(C6V1Zy8;VO58&+d^OKTvL6LYLVBMsbR3QT{(!2uVEha z?9lK3EwCtXJBFiDk@x&iN-VHeh+$q7-3VQ7R77AH2JNkETyHwSS|TC2$txf)ax6-e z_l-Z0NJ#i|RSJfMApsI28Affyx*W({m-H++^)EJ|^!2FJWz!<^*QFmR08~YqS5hrM tD(i|A;1A?4^=^EvvS@QJ;#vPhzX3|tRigT!I$8h#002ovPDHLkV1iuT8nyrc delta 616 zcmV-u0+;>81<(bMBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x3yEK~zY` z?UKK0+fWq76-qRe3{h+80fe(RT&Rn-7PcxzEx1wBQ& zXcB&hE}G1JhMueFuj^(hlnyzAG57oF`@VZQ+SB~6bI1+jF&#eG_Q{`#8bdCLi&j(XqL_%eRZW0rXG8W<>_Z3m2;__|I|843{Mo7-8Odw21T35|uLbn(?~FRGsd#;>6nWT{#S zm}1kw;K0#r0gfMOspi1VpwbUVQ#v&|ol+13`USVz-;qm)0d&*+H(}WDVZ zeSfT((_H|#71W4-OE;OrBQtY7E%+;^rFBzhNGGyALyZ!SYR_DhIvu+Ep)k67J*?H^lc^MX4?Zc5(&vo zUIBTLV^N~KZ}lUIgoHn4U|1LuATg3*)LCrGBbn=x)`C+*|6&_TUyn*%wk;xmQ~Hqt zKvkr?l4|);*;FJ0|49B+d*f@BL>~_WdU`KaRn0000%124(k=z-pn?6?hxl+j=F{#WHs`H1Bt5DWzOO5Sn6J zNvUjIIbjXY3G|Bx$h-&UF9|dl27aDtEC8fofY9v*(lkXR?jy9*S$4Coq8W<4VE7!b z-!Bo*;{6Vt8)oqwBaME88(o*EyXbh$nNl$b$QbKlXF*yj>W)PnJA{U|;6~sy!p7)0 zo@R(c%1BP3P9Fz6!ogpE#3AyR2{?4xUw_2GzhQL1L3;r?Ivi%64>|~Y9KyA!ptfKG q4kl#Q4mfa(1)bu+k5VRo!|@H`gcEe6ct=YB0000ye2_E1Om_&*ta7Qf(w0DN z`kCq`2_UAE0cWkk69Q@pa;_FxmJ)h<9af2ImbIHW)bZEfbtu7|{m#oMW~E}a+;25&6(cYpW#YX6}^d=xD9-?)FU|3n-=z_0yh z``VG*{<_=kkJ;b;s$F_JwtYW!-pj|aJ-+xeya3%oAsnQulqmoJ002ovPDHLkV1mK7 BrbPe% diff --git a/graphics/pokemon/tepig/anim_front.png b/graphics/pokemon/tepig/anim_front.png index e2e6da880a34822ee2d42e2a53f7bd9680942804..57eff5d228a37f0c471b32081404e54927c7bf71 100644 GIT binary patch delta 683 zcmV;c0#yBv29pMmbbkN`bV*G`2j>O{4=Ms*JEpn-00MSNL_t(o!|j%_Zrd;rhDFH_ zKuR_Wqf129Kw5XP*Z@JNsF9nxn_Owo6Lb!0K)Xh74y55$PX+f(d4i%ZRZ>!tAv_8w z(4l}29t8X!{ySQvemc&n{!NiFz^5Yyd=v;B#}k$g3h?643V#p{;XovOZkdA!vEn0u zGO%ipVvP$Fq8?HR6C_KJ+L)x8K(8Q z1yDpX=&)TGw*xC5XAowWkJ(3{a`HfDBsHp--*(1_k=mI_Mc1JWu*U0HWPD z7QkT}NPl_@?9XNlo`KXrO&*8H9e475XG)X-I5^>($^=ZyKArD;%Bow#I`U#z2BW?y zITWB{PyIp`o*}u|g|7l!BskTWYaRa-OV&BGiur^b404hAkQHUi&#-gHf@oUgF?w002ovPDHLkV1klfI*R}R delta 679 zcmV;Y0$BZ%29E}ibbkVcNkl8mZB9taxf^<33;LS;=R7VbS zAsxgn`~;~_L2^$?#|anHUKMSh>YgCVOJ&yPxZ-9OCDL__C@lS-{+Wd}{|IramnnG+ zh@&G0`Y4bJ5gJbi1i~!!0@6V|Ffg(9%pr{#>mvXfcsj_&z<&$G-VQCGc-^SPucQ5- z(K}O4*TXCK__?}zu7_t1c(-%UHzcsp+UOFT^r|9Ga%tCthYY}3NNUoL_Wu2!-whxm z>SCSS`_bqZ0QN|wey#@_d!N4E0|7C@xwY#S*hT>{LNK*!y&T~T0BJ-R+*GR})DNWt z?otAn+*Wgd!hh*dQ@`i+4+rdv0y@cAyvo)$2AD!7|eTYud;LNTM(MbZBN(huY4!E=q7y<`qYpv4(=pMoJ ztNn=$SYTRJUz}cY0H)Ru7ErSeZEE%BEYPOb*3G~iqkBj_29VBu?g50F!=$yKhd@HX z6EG#H&VS<&xd=MnSA<1x4{SyHwxWP;*{1Vd9I5J-I7eRWkD;QNN)7~E?BOR>=^LVh z%f%*q5eTSbB7kGgT>R7b8i794$b4d640*ALVNsN|rUq~TE|i0Ak!S3iqof)eEKhhQ zi36DZ!ByyVZhvUTxHbv9KQz^yD0Y9?1Crk#njjv&{o#o@)v5lo{sO=Q?vq{sJkJ0C N002ovPDHLkV1g|ZJ>LKT diff --git a/graphics/pokemon/tepig/back.png b/graphics/pokemon/tepig/back.png index 1e150f96ca027a2636c04fa9898425087cde0722..cf9e1466004f1c1f226d96ccef4067f21775cc64 100644 GIT binary patch delta 485 zcmV1k41GB#}W-e*gz`Nliru=LQE4Dg!7ymMj1O0k26!K~zY`?bNYO!!Qs4 zP`mwsxK2l;)&{W>yX>jbh`Ep(Di~4ugEH|GNEPa5(2bQ1bzj9XttL_Tz0F$T($Rsjb2mvE-7*s+sf5uxkNwrYl5o1#n z0y63YNe9rIP)iI|mq{1E3Ph-*h5{l0a0Mji0f2}WM2IAKO-qUZ=IglKy?;8w=<7Me|v~pC)xsd-G91$7#~}(+P^#bfdS(aAa04tfYtV>Vo#k-U^E>} zR5Qms97g9(2~}f+DZAKNaQ|_c)`1#hm1jz9EAa63RtHD}HLNwU+qob@Q&z^xRw>-0 zB5YLVx!p#-^#2ZJ1tEkfQOx~Wqe^hjrR~ETOiW85q`WpOTeQAA9RWa&z|=_F-sK78 z1qy+M0tMv$0@#8XWB^Nu{l|qf19A=KKpIc0unWK)04W-;6T`7b1;%Y4GZhqAj^`2j b4>x`RX(EpJrI0(k00000NkvXXu0mjf!!pkb delta 498 zcmV7C3;J1_kC}0dQc98R8t1@Nq$AL0*C>(l7xER{-x2X>s&A0rz{< oU~md#HbH~=VA}S+|KlL!7il7n_*?mkmjD0&07*qoM6N<$g0Yj^=>Px# diff --git a/graphics/pokemon/tepig/icon.png b/graphics/pokemon/tepig/icon.png index 13ab925f16e74bc2a1ddd6ad8dc34bbfaee38e5c..6daf46186c69f2e01e97d17ef348e31056902016 100644 GIT binary patch delta 285 zcmV+&0pkA70`vlqV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=M%0Uo#m1 z007rXL_t(I%jMFs3c^4P2H?Cw-o(MhC+XVF-exzmU0+owv|BD9R&cm8#Ube-xVVTJ zf6_D;K7b#uQU_U}$TmP0bWu(@!K1eT6ALUp&;~%UZ!&8K*nbdY=2XBsuo-uevu$&0 z_;8NNMt1FRIFk!bfwU}uJIxwQ;?|&!PMr&;9EK9yTMAOYy#Y@0=|q2BDAhf3NpFG; zn3aPElNH$pOnLF}K9VZ5Aqr^bbg_cfL6 j>Vx{)hg3e`ixxhfIf0Pqy$7P000000NkvXXu0mjf&7*ns delta 246 zcmVDrBEYd5@wt0Ez_n-d99 zBnAf~20IZO6XK6gjvZSM;Kx&1AQ?)o0dhu%BuRqDYycBy*gVhzz-(`XwF0aOGIJ_m z71&>Pk;Q&<>$y9|WG%zKq5`d)&Q@_7_7t2j*bf&9(WY*P^-2`& wv)l6W#rc60)ekRBQ9o#I{m6|U(BvCGo;iV#=rhr2Q~&?~07*qoM6N<$g2VD{MF0Q* diff --git a/graphics/pokemon/terrakion/anim_front.png b/graphics/pokemon/terrakion/anim_front.png index ec6c378767609f9cda4a2558f3d4ef487fed570a..604712945d71b7e97e18be73ca36c16a85354ef4 100644 GIT binary patch delta 1459 zcmV;k1x)(Z3xEueUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;O+SXN@A z000GJNklziT5$6o7YcLEV{s_O5j&4ue)nZ+X{(OPoTx)1?w&t!r{vC|bc0 zLd0QDXSgEZlqOA-PK}G3qA zX5WnWeVTSZ?hN>^xP!!ly16QD_>N;5JFL2bFg|k}r{*!{uOKYuxD;o;Q@s<^F#+@4 zkm8KtOvR|FdHBO>;WsP+iYeBsnzyZa)-ELo>UGOeDM|-Pf*k|`quD&f1c7VWgLRdn zH&B42Jpuy%DFL2Zf=rMD0c~~g^>1<9^W+jJ!7ByOV;BhN z{$3nU2=JY9*cuK&J%s{%O`Gn`3Fv#wsUITn2-ncg3bC`T%`amdlMX#YFAOPe7lDh# zG@ghKEq@V#$HUWdm;?H@rcdL`nGlv=v-hcvukhn2D zgAZ`>1?P*|C#dOlzK!iRKh_?)-Kd@d zMx%?gyfW&uc>ICSOe4Z~0wh2KFDgmC3ZCEbLYO)M$$Qy|x>4j-M)IoS0?3-d27sB( z5Ov*zcB9QMBsJ4+oVb*xY+V=5SHJV44u1mf>egX25U78uwdmPw_v2nL{zt*kKP4C_ z5Sq8KS}?Q?yu4W!F_fORZ`oqq|2 z0z911YepWV0wIBuOfVi`Gu4b{m;A(Mi64X~Lpx1@fQkLtV-`9JB)|!^|D-FT!y&-1 z$hl!iKS%|`U`<*GbANgB?l2LEf?!DCVdbkoet#496i^flgW>P#{38DAwGxObCHNIG zfJ_kE|2z{2o0|Khp`8kb=G73mAb&lGyGl_WpJI-3-u(%fq94SuN)Wa%4!IuCVaJAa zIiHLu0k&*%l*1c<^n(fd!6-41@C3qM(I2!5wLm2=4F1%A4>cqpdFk=N)LD>1*6~(Xa^)1BPAF@2}bS@`iDd?lpYMQp??(pVgBc_ z5)7gAV03WHALj97ECoXWynJxWAE;rEw@5Jlmi~Z1!5>O3Y}jKU!5B+_*u3QrrRO9V zv@uFB?)bwGbL_{-GcEH6^bhRlgM2x+{b9|;b__E!5sbV3;70BjslqJt2kN$+6sRxp zhlXtQLjE@|^#>P$v>Pw?2Q2FC>3evYKNQ9?e<+Nl{!q|^dw*Cq{sn@!=?8}N!+!t( N002ovPDHLkV1gH=vF`u? delta 1417 zcmV;41$O#?4Au*fUw;K*NklzW)EidJxh5OLVk8LkL8rAZT|Q{!Sds|j3h2p1yOhO|a5Oo{^`>u<<=GyB7` zrArwI9*m{+`}WQ3oAJI+(;mlz0sj_vka$uxm&Fa=aZF>Im4BBI#wU*BR6NG~C4|Ks zm*UKK$`67%CSblBQk*fIX+COd9{#XO_%%y_`4p>V&D+vEYljj9)vD#F6ovgH!8QVc zQLi6hg21)x-l|H`=_$Z<%4!!1m4HH+0LUZYR$0*tc7P!eHo!3pQHRSp zbes`bP;0TeSAPYnLWl#P6Ydqw6sWRV)W+olO943=W-?xpZuywD>pvYenU{k!`x0_+u{6PX+1hC4h zE>+4W0OJw}={YSQ_o3!hzWDAv?FB921;$UpgJhK+0e^x283CSJf=rMD0c~~g)vs~f z@#GRH!5an8V;BhN{%#zP2=JX^*y#5`J%s{%O&jk{3FvyvsU9Hk4A;=i3bDPVO)p~{ zqZU0wCk!cW&jS~;aXb<&S|S3^`zOUP2lOpXAIFyyAuPXQ?@=A!;KyNBN*Wun7>ZNN zS>uOln}7D2@=J3+J+~zxhBpjOyS-$m`8=TM0JjzhaoSQq@37k;AV2?IJ^^thgs|nE zy;p;E{N#rjP~b;r;w%G7!Yp7ZdG8LuCs*QHhyek-G{9pYa?Z^=z|pM`*H;SIT&G#_ zZ}}pMc!jGxyQVpK4=0~-KAQ|OU=#VM1#*t2On*I@(N!8>iDx$;ObuXWrvNTl+~h!v zmvTk|W_afc{$ZG{LC4)pfX&&>CZ#S+1boO!*}?5l`HT%pCV^3r=fL!G1~Nfy19J`V z>&n~sCd*Km#pj`_O6@2n|TuM{6whL#=-}zAs0e5-pFlq=?Kh|3GY_`Yo z{~rIbVCWwc3={~>TU#y|+8W;Bc~%9M2!Do7cX;*sj)jdi07wNRx(nzms2?B@;9Ihx z1f!6>$>~~W3=KlYArXvD3XmTl;9`5PQyd$k5{&L)4q*R}5C|~D{7+NCNGiYWIIe{T z(q=xuDwe^{1VaHHPUzJm4^n}Uz;PxRPq3M4M!ijb;C4}Ldlz>UFfSMe!{6iS zMf~SmB@ksw@C#%BnIN|RX(kXhHTP$II~5Ggs~~VedJwmjqC7vr9L2o*6EH?Uh+~x? zY+xL6J)pym4e4?^8c+gk+2kk(cYgpH8zc0CL1G}`F@&9Yf6z+Q0`b@a@5p^>b|2^g zHUo;MK=B@c#LNN|46Zht7x_JZDDYcAJ2;J$9`HyC#+*N(9gtuQlwb%Y7`Z>_9}>Y( zdeFm$GVc%5KaP}O2&D&u{d@i}jYmT%7z*IU{d@jE4STprg7KI12L$H)p?}c8hCKul zjG^?0^?UwMcu9gm8>0l{fj@jd#eSST(;|OB|Gb9*Es4nn_nr!q!{x>i52N!{~8!z?;>h0-!c#%KMjYa-2Hx~NCo$=@oi^o5L Xx9JC5x-$6y0000wB zg>j(3EJ)mzN!o+Y&@5Do2r)J#ypWKaYBf_;~3n--!O$w$yjP%+P3xt%qKhHO zWBK=`Ma{mEeO_i>?CZ`gHr@)b4gbN zPJY}2Q8>_*$l=6cP=wTmphqPJ(E}f$XaZEF1|o*M2GFAz>Z*Kcv_Uus~h4HFadxB&6;CKe|$ShrhqXMHICH*o2b$vXY0kiz- c?MJYSe}C$?_uwr){{R3007*qoM6N<$f+PYVE&u=k delta 649 zcmV;40(SlA1@Q%tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!m3lK~zY` z?b5w&+b|FSU=jv8TM`l}i-Aym0Mm5ZJxqJC_7=$;#_v+u(lk1~3T|Bs+g=~Nv*EnPZ$noj`#{ihB*P6E=kSQ9oe zfsn4nn%qxy$|k&3Ti&(^?m13q#a>6(z01+%V? zN9R6?c^fN2d;?~F>_EV14?e@Nz+6N?NZSGjjQMVY0rwK#1|>aUj0NPO2Q>8%UYWgm z;B^2BH(X+~x4UwWF)9aVjBj`XQ%TI2JL4GK!)HL@SGMdxDElRUpaJJ{4y$?d0qD;d zm`8#zy*vDNTT-QRH^FP3TYPsgpteg;?>1{eTjvVv!{G(hx`r*OmnjH7j3n9{Q0c11 z^j0-71ZkxIzSOANSNcz=gt!nJt?O!s7PZ!*fce?E0I=6Pgmv|-zVQy^9Z(SfxQD39 zq=2832Bbq!8GxUEl~h^oK<-+kN@_R)LnVe8S(6mS)ldvd4=7wNKp$5?d520`Z6uAW|g1QATBOBCn05-Az7YpRD z4l9QZP+NrFjY{qeVGbj5nAI$C34{W`q16?TZxm1MvOlh5fFx^Q$+iK7$S!6yFMez9 zsSxF_vEWiQVr#b)ujT3I7;M^SVZrxP`C6XcMEf-{pa5_@18LYKwnK3=U^FA=Uq+xT jkEb)xUVeez0s^6bf9kjQGs+-;00000NkvXXu0mjfw96nT diff --git a/graphics/pokemon/terrakion/icon.png b/graphics/pokemon/terrakion/icon.png index b146d5ad45c72976fd95cfb3e130540842de830f..6a9b132bf3119aa9bb6bd1b84cbcc23cd53e2b15 100644 GIT binary patch delta 345 zcmV-f0jB<_1J47HUsM1Ia7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;O<$mxGF z0003pNklZ2SvCayM698j0mThK&KfDH)NABYyxp zhIt3P2?3P@E-D8DB!`ZG?D#(B695S0n4pq<0dvHhGr08?2yzGo)Cw=?=Ds7as_jct zzroX8H-IH0eFc-A7Kg)&X-g9?VA2oHo?hE_f9VFLI_zCcEX>6ZqD08T{GJ~l_{-qJz$f?l00000NkvXXu0mjfkQR#UkCv+NklRfhcQmQ@5x_j;Amndal{#o+PzlooO;cx!4FnP8*&{deM0}v02R23!wI8M>= z^ouarsFE`%!UXVIsKw1Y!cg%MgT)AOttRADkOi;=LNg-P7TEE3gK7-3jc k%fejzAWDQR%O#_Q_=%L?F-+P%(hLHbUUK>c3$d^034a9F97z!9~15Jq}f5Jgi!U^KKLx2Lm zF5v>yuS$4Phyz-cNTR+2P*WnIPCzS=JAu#D2*I%vPz5Ls$g2W@0^w%Rqx}t_C<-S~ zL*zo7Z2~eEqDS{|Kwd+Yi<2PB9bl-zQ2>J_Nv(s-N$0D|VHUz{>BSZZct__j&0)Gs zY(QhxVFCadz$vu=f9d%{T|loB4A5bdqreNxCYOLC0N&Oi0?6JwFvdXVJqVDEELy-| zT&E)d@y-4(^&Y7;5GWukwSzjBvOGYJgDMR$*OkgMWXP2UurgC(C(5*#Yk>_>?}HZQ zckbS(`Ckcs#2a@~E*orD$xMGTyG2%mR6fouv9H@v1#XC!f2Q2CN^I8^svvdF$Q>8> zaT^%50M8u7+zIyOE2S=oFypQQIxjM~#PY3uF^S~QWe0e`K(9MtEDF_D-2O)LlnKVz z7yS@-kMt2t&E){Mi=Q6{)H$ne4}is=i}eO3 z?>69iu|9-pDFC9mUe14ASp{}W(G)1}7SH7K)<4$e9bD%Hpq&5!002ovPDHLkV1hEY B{XGBx delta 565 zcmV-50?PfF1)T+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rp8mK~zY` zt<*6~!$1@V@RQiF!zJVc%1sB0VoVD?ZbaD{U?;%nLKSCXZ zejIamNz~rE2E;dX=>OOEUXJw0U(0C%(G>Zz&6_~@J%OQs@g`8WhyoncEvz7{CU_`t zs}?pu-Li!f_&A_tizrxsvjD1FMAQms2~sO?xm>~9u>vXq#R2({z>~mV47zk}0m!n< z3gi;05XXx^kqgnK>o_1EzRbnGm!uZZS76(N-ju}isl!QYSLQJCVKj9@19-fpa=1?6 zdK#I4hH}CX01|)$Y5>x8`>KJeeGJfkouk0<^Exj8M*w`+76QnB`VVk|f!0spnK{WC zK<}hV2LNKv$lL0SWc36J$V{G~$_trqnxHLP1B_Lt{1{nsrU1Rf9GPv=)Cx9#iocY+ApC^e8mK%=;2g`BHpDO}eqKy~dkl0tL&gGM9>vWwlE+Li z##Yor+&-F1cq(W5pLh58ZY=2LGVkd3`tEgp#!@6>wyG}&xS2f6FQ{@>-W~vxm$Tmk zbl$1K<>dDgdH{&}dO3Z%FdD4pqHd7iPTt6W6(L{N9G`aU+gJZLD%Ec2+qffjDrf5Ye71L9zM-oH-N}UZCnr zF+2W=Ta@$xI){~a=9|CW@iKOAWa|#Q6WUeW0SJFR;341y;|%~vf9AC}15Oaj^*wk` zrf)U?PT)+m*WLsOtv8jx;nB7@nQy4E_f(v1>(lk;unUi2`_v290*7Y+fjx^g;+msp z&)-9MuogIed-fAxcpG>S$1h7F{|LR%e7)&5O|;I4*m6H91$FPJK$e`ht}R(3t3qg4FG^7leRV24WJa$EztaB5vFf9Q7|JrY6y2-ld~ zK%Rf6?Fg(4&5B3~xXSa3Vn4z#5E`RY34E!5ybhXS2vs#QPm2-|$Z7&WS#5C=3wuSa zOC*v8Ko`p?!n^>^^NR|YU=iaQSWpDEd;aHJ<)2``nXGaYe-YT;hBT_Go9|lW9wG~rUaO}w!m1rD}ZjS2AKMQ@jo*+jt3=R zyO^8Rr1rJmTVezof-)z!0E{TFEf6cbEBQZ==(P2Vv7qw_Epqw*ox{qz^P8Ff?v9t;A8X&?w|p~-I{@J}0}cX~H{Jq3z?_}! zfaOI&qrdGunZDTqSe`Y1QO?dbKq$3M0*6Pt;%vS}WACXr-&Kp|bJ&N+u)A>lM&S4y zz%ysjV75Ma_WV8gM~%Sg+w-3Q!`r}vD0*2C*+=O4`s>ZGX{=OAMBDzPRMNi*7&lsK zzO7hw&eTjVYc-~-FiLUU>3LJB)vO}y(ywM_$|ZlX`n^=(nWhqdIGk31%7a>$s~_rJ zM~#FK0K(S#HjriCX*vR9L%ksq0{GM|qy4ftA1SpZ*3Aghw5m_n8tnJ2jf1k#EC zkY+VMiKV%s))f+Q4WNtVlwqC&7ujVAOi;wQ0+y74?O*))R>sG;-!v#|65R2)&@YGiHuE^3Yh2HWb*F{9W#~eMPn0J0lEN~TpM5<*c*UutOA() zfcZZ&JBkJcV0JOrn@;U3b+Ez=CIwZFZvmJwSQ{Xccvr#yK&+D1FUC%y=xAsFk}%(B zXveDG3UYvJT+h3z0xVCdJ<}X^bjS!8(Cz8hMGXr?LI6L1Ib>{zEj}1c@Z|JPDZ+u! zrOgQ(`>0_6T{W64#0K!`og*N87_dF)q|kj;10(?<4Y=F`7(qwWfFRreu6b9C)d1hb zaY+j`pnO&=Y%?q$QUvMf8NXKp0%?Fynm-Kz4i5Q?62bxr(nX&s;9=A95D7PQNfX99 zzI4lU1TgL}b1&d7g)rd(e#t^Grw<-5^vQBbHow&O!WjDp2JiC^_|{QM00000NkvXX Hu0mjfjrmNJ diff --git a/graphics/pokemon/thievul/icon.png b/graphics/pokemon/thievul/icon.png index b96aa74770d89b2c586cbfb53623f791749b8ecb..322f316cc3c54c13e27ced6d385445ea6df84b4a 100644 GIT binary patch delta 332 zcmV-S0ki(A1GfW^bbkN`bV*G`2j>O{4=N0}gNwZY00A0FL_t(I%hi&tZo@DTfc*w1 zchW#XtOXPl4D1E^HUf|Y`(5LNZoX%CM6^oICki-pF6Kuw z_Y3X8Mer#sPojqtkaG@f0#Oja0zmq)rR7D?(0c4iZT^9x_#f-F!pviugaPUe7pC}u znh8_=m~1G*fa_rJnvOoD4`=jL;xVnaxJzfBOZh&vWY=QNn1}f;bM05QrKPI%jo3_K?xbAJnEXi(%WHWy4=fC#>f zu!uO|+zL9OVr{XX!M*!QwMSj<*_{wo%gc!fj=gr_*_3&qJ8B2kk4q$aY6c;MHKVtV z5x@d~+dR^e2%0*6e#C7($NUHDy~31dnuP%}asrbu(GL`rFv*YEhA2!JRPw`MJ~IiE z{E({-*$*MH{5hWNhknTY3X&fnTfR6J{fGkvUm_(x;&&XEj6Ul?uYR!i`SA;k4$gH& SWGoQ?0000L2u$X6o7+*#I;E$tmYU;QLouJh2=J@SV=iHRkzx`A=sC2qa_oI z^Ns>@9DzW-uC)JipF^3(fzrdAc2(cNAMg1Y+waq~_wm+f8Gmm8Ch>j*FfM*|@6P2X z&IkjvE?xt4V*BLQFzus-A6D)seq!6C0kkYa4F0JK;U_L3W@8yR@46o*l4y^KORPJ! zj+RT@gxJMohQKHx#0ix7wn-BF){Y^aX+?Q!+TBzEA`_!xk`D#MyeMJZg_#myM5+iR zC?**o0FWsF8-HE7Bq3Y^@U_SgSgILD`Dfx@u_p;+63E6%hG-PTPggnfD_{X7luD5? zjP6*RGm0r7Dwm>MK^O%`#}P0N|pI`iIqcs?ND-^ z7ZPY3l&AvI&?oePodDW^`?i3T&FOuP8DP4ppMr~aB!Ltl|7=wOK-5b#ohVx&fU8Vn zs|o;O=heqJv=9)Iza{PtCN`i{j#icxsZ*rK+|1)kOJ5COm+23$@vUN6HSuK97e)_Q7Y{t`j= z_&1wtogGJF9Hyb%$6P3z{fJLRN0!EeaLy?0FMkB$Uj4Q3v?7m(LIk1Cyn(!127PHPTM=sb-*G<9r*LsPys!0?=R`$ zLk}$CUaH5E*3Y?4@ufKb4kQ2G&ECg<&M&MV^NZ>QKAXj8W9K)>#p?#rGcDsx7L!~i z#DBEiINc)2f=8OAOZ<& z>jqMLczx2#R%IsrVQ(N!!7zz~cCo4iLmEiGDHtuw!A5{F7JCCZ5{x-3w*PUNnf77X8^x7gcd&eMXSdxHe+0D8~& z8No0%l7Ce&TI6Bw?VI6A!NAU4ZM!bpDetqODHv7f#xdB*^#}d%SumQn4*h}cfoH)G zjf*Y)0g0f83W9c^`hy&mKX4j^d5D71^at(W51KR#dd?rDVbC}Hfxi30|91Qfec$q! TLTnn*00000NkvXXu0mjfT9+6x delta 1118 zcmV-k1fl!U39bo{Uw;HSNklWMVaqI3x6;@07rbPQ$$$^;I^hg z@i6=_Q-nQ*5WF*e9cBn&2L57pMZhEj2x2X6yO7ae{S@;nV^N*DemB>EkxN;r$cF`{ zVo~9=i&t8L3Dg-NUd#$40I|>jJ~;{@1EB!?wkQZ#=@lmB7YL8|jRFb<6jQCjXcDJ4 zMxr+*G(cKZ+Q z1CF=Fcq6q6qZQ7g^Z4dmZ4}NVmom{36f4AIhy}ne1YE{a-f9U>s?`?femwX53kBRV zrp4`wR*vOyz~H!CD8SIis0Q*R0(QY)0BodvTVl@V?0>wZ3V69`M9l+xq<|c;{NmLK zP&Sw72BTt40L?N_y*dHP-4kE|{8r(5jftQX*L4Dv91bXL1#0+2q8g$i@gT!sUo z`*D10^na0vIH7P#arsz-CJFFy+*1I~O9I3~HUZZUC_`dcv`U;NTZC>VPF zre_Q#uK`L#fOyJa^~85y7@eIUVw&WM+Q(9An|)1BMMo`7#L1j9Hdso+8-PW?qD;q9 z#)-vyLrE$4qIoZwVW=&Vx7M5hivX?zhS5>~0)M1)ZZX4>TNGk6Z2=Ae_htJJbQAEv zX##(pIyzuw;rStZ_|ZoX!b1%(So54)j9!ZU?=bOuW0! z`5kywFihyXp0lTl3x^rFe)#M|#~IXu5rwKvpSSN{Z6G5h7<7F}1=uG&p4=IT5{%AN zxqm`e2kh^6210^ibc%^fPl~1oN-$~zp`LQpDRBBL>hG96X&Q*qhn7F^X9lAC0|`dk zKy-iLx`B{jJoAU9fn2WSc-(BiHt9jrK-Rk!aI$_fkOAV!w%~HpsK6`K4MfV#V@q)i zn^R*Y!Dt$Y96tz#3GoOOux%PhXXkU?88OfR5D zKslCo2J%cW<`6&^tD>S=mUH%8FqUoxA&J}9^ku;?9XIs-fGaOjuDmQ5 zQNT{Ax2u{j3x?GjW@HC+zV`@*vr+u3f?>kNT>W}YFsO6a+it0LDh51m3r5|!X;%z) zYX0#cxfhJ~ts{Tncfh@1$kxSH{y;?BCj}up(EUM;+8+dqlQJQ}X#0cl;17l}47Sf7 klwq(p{DHmu!~b^t0Da%`m=EOz@&Et;07*qoM6N<$f`Ho;6#xJL diff --git a/graphics/pokemon/throh/back.png b/graphics/pokemon/throh/back.png index f000479fd0f7e3423c32651339b3657b3087826c..bc4caa45f9916e69541149725b457166b0b40eb1 100644 GIT binary patch delta 429 zcmV;e0aE^<1e64jB#}W-e*gz`Nliru=LQE4Di0xw+6Mpt0e4A6K~zY`?U6xh!!Qs< z1G+$cgamql$i(rk5JRF}yT}O|hIpH{_y9G*TH6TCZL1ksmXeh0x@rcz5dZnjj5M1) z>QVo>gp{(lm*a@N$bd%c zbM`@02+e?1V~%}Qe`yO*A@~=>-I%+ht*R~p>k(-61h|8B_c8V;xq~yP04N&Sblo8x z!427t0G+KyIJV;m9@z1sTshyH8TTkXFwh>!5Q?7e-~padu_O-B(ZeMGKjskjSo@3h zJv_iKfm097fLG+9C2fzB!s?(9EcEhpOcfMDmGRd$j>#-5Bl0rNKPhq#nB>tP_1E%8-GFU zUAxE$8ishAw&Vac!CKoG&22j~vTP+O*>%+ncp?7tn;B{Ls7L+lQd;ZmUY;5%oh3Kg-4 zTavuv;S44gv=lXxGuG3}jXJ9`GPymb0=i-A&p{xL|9CB=pu?{AM zl3x&uA*Z7=rkQ~C0MvE_=-}u+h90?eAVV2|l1J{FW*?70L)HVpXJ-)(^>r|U2MSqK zDwTWdhdpu+bi7A2M9ELL_W+;eri*BZh952h*<0000< KMNUMnLSTYWdb2+O diff --git a/graphics/pokemon/throh/icon.png b/graphics/pokemon/throh/icon.png index 0d7c78776c0a8d6814bfa5662620f51f4c917c97..65f641b80c087e9bed4dfc40750cc6cc8a0879ad 100644 GIT binary patch delta 381 zcmV-@0fPRm1JeVLUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;O`tb*6_ z0003tNkl5dr6ovf;mJ_L?QR&u!DtL!yi7I7aNS}#?;SSC-0TKhlg@nxm zx5k7NqgLu#)tisb{qga~*k3=KsQ2#XbnJS@AEG%yA>Wv}EPn<8862zLTxJU&QAjvq z*EG(;hbTdWvbA+iF!@2(gB3LB-c5jA)+#L{gnAOpIomgdMtKM^c0vLB1e>x}J4LQ% zTcpDilyw}?JhY&GJZP!HWlv&!hh-Ituh-ndQVM|&fkPAsM3p`q_U+f|MFi^rXcVaY zNCp-6erT`Y3wE{>`zPlIU>I$H;Y&mdFdXO}umh&T@tjQ-QZq1EWH1RF_A@XDEp(Fs z^4J0MjIB1H)khj9qmDj4k^X7@rSL bzvbf-66@BS3DdaT00000NkvXXu0mjf?Cqge delta 343 zcmV-d0jU1d1FZv)Uw;8ONkl5dr6h{39S5BmkMx|Q^D)3I8C90HxA$=wm zhC4XV1V{`F7aBGXxW)vEqekl5dgJK3{`okJ{q+UL^xn5V9lM^v3iSyK@y7IJ32@Bt zSoQicM_?o_@JLRzil$Jq?2$l~u^UUvmvh!8xq}FbX)4Jgf=( z_Rs2t2ipS7$VvK@3^MTmgIDx{-RW_~|7$%EhOGtMgn^}^MHs+2VrF3~8qe7jF>)4$ ziVP`%xI*4=}&=;|mh&)|@9nMHm18002ovPDHLkV1hJ?n{5C9 diff --git a/graphics/pokemon/thundurus/anim_front.png b/graphics/pokemon/thundurus/anim_front.png index 1a16e76c253a216cb9ca7f751ce710fb634bc5cd..e6ada5d15cd9cfcd98b9bb7c154412fdf880199a 100644 GIT binary patch delta 1460 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 delta 775 zcmV+i1Ni*!2>S?-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t81Jsd;V1HoL zcCDX|t$O+A&|_BlZJX8pm)T;B?LKB@5_)L3^)f3nR&iO`+OBP`Idc%;91+GqWV>F$ zF!KUPnh4Zdyv0$Z>_Ra3TUrQc0Nk43HJ5V)>i2*I0nxO1gTr8~$_Pkuz}7ePUE(eR zb=E-Omp>9SZN+g0v~U@T5(1aU*?)9A)A1(2pF*)udKuu%wAR-JKtZ60^5tuXfJeR$ zK$-&$BLP6~_e9^!Ex*(2zsrFV=b1>IRVPaTQoje|1SF_uHs5ozD6INnmgq0~A6Q2P z16X1g7Hbrv@nM!;w-NABK<8ZtphT5=OH5v;uYEOJ2U;eL74Y0XQ1E@11AqH`&(z`3 zJZ68O;MX+Y6DS$C!~Gn!;_(1e00B8T z{MY#3QEQ!Q$MP`#w%6&ukbm+#h^)d9IpFAcsnZ1rzz9Cl95prfX9WI&Clmk)`Cnk% z);iI80n5Y5ID7!OhTrgk^>Gjinxn2~&EApAb_R@P5WH#{0D77Mlea3xB=mPoA?Oic ztGuVyPWV>oI4OYlukHb#!+|jn0T9DTz>a5|`T1%cI0p&SVR87}M1Kh6z!>F@6t056 z6#8gn02?OBVRutGM1}Jp{CFQAhbaQ&)zx`O65WfeOE5V=hpF$_2kQ0);K9tPAOR_# z8Gtry1Nc*@FPLIvfcF5{>p*vOB&dXmk?6gFUatckv(vCy5k8(>hL#g|u?XnZ1R@x# z&~6KOKKna#mbX-8dm;{Hj!*kJ05PbLa5=jj9b*$xYiH~g5kSJDuV|^Yk9M(jlZOL3 z16wDZlfwgnEi(a|n=_Sj6tCp#=7z)pnkey&Z;lMGtRL2t)J>*pX5s(<002ovPDHLk FV1oUXYQz8l diff --git a/graphics/pokemon/thundurus/icon.png b/graphics/pokemon/thundurus/icon.png index 9b116651160765ef9d259797932fde36d79383e6..3dc7d31db5e50e89f2466c219b1a22fe28bfec6c 100644 GIT binary patch delta 484 zcmVi_@&k4Z#9R5;7clD%%iFcgLT2A0cOIjXZ0DR(ZsK-X@4Ado6p zsnnlmsoH_Tq)$+)#0yBsafm8W33BVikYZ+rda-)u4J5-A5m)3o_fpy&3xl=FY6Z2GDgF1pkE>8pZ%(}x2BxquIP&W{e&)$ovFhV+nPdL~Pm zIrK|p$)pBKmyB))15$)U%p<{p1oMC^*HVPdaLs@u`vEqtm6@AZ2wfslvIgGlOZ1Nr z9hOjmjLf`koVg)?Y=+h^`hnPp{KlsLV|uTzDUwt6)mp=-E?!?pV992&5mT74C!kq# z+P==Gi`!*JYp9i?j;bj(M=3Qr3Mfl0`+U3ZhGPy?8$hgptL%G4HuhP>k1!DlTcyIu zXFm0`Kif%5tu5(B`vXorI=ZUzD4@Dn6Nf3=X3!|0duX?RAjD`hwCh!fg|KUw-PnHqQ|&j`*AixbToa}fWKEb(kO#sX1X&WM6J$l0gCGmS90XYs z<|N3RFoPf~!gz;T|A8=0kSSrt>sxjE?t~ct@d@sP3A(uAAjkqBogg>u59XXAH5HGLTL1t607*qoM6N<$f?+Yr<^TWy diff --git a/graphics/pokemon/thundurus/therian/anim_front.png b/graphics/pokemon/thundurus/therian/anim_front.png index e87cf107b297d79e5800dbee827fc565828dbf4b..05e0b7372c5159f21784997a12eeda9d7b1a0c44 100644 GIT binary patch delta 1758 zcmV<41|j*34yg{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;P0+~^~H z000JzNklY7>Nt@wie?M zC?rT|f|qqj##*%v0a-go#+L7{>#j<_K!XEajUgx$vamiw&wqW4o?~azcECZ=`RhFH zoO91lQT~fZPu^)(b!6RXH_&YYhuiCj3*y35EAS8e9w8gTxG{nzIAC^^jSs^F+yTm= zSV6+82nQAq6DMfiEzmrFn+s&3OLb^I2y`SKOHDVHTonDbX?=an1&uU`5uBVDR`-(G zGX)YO*r2CqkAMDxOe13wLKf0gm6f-@87Qm&Xd1bCeOZwEBKYHXmSZYsr85~qTzy_( zq^NFWkd;H0orVNRfy~vZA&XULl?M1H75sx{UXTTA3ZW9E^h{+Ah&%s2b7l&aveqR% z?}DI_C8RJf(5!(`8kT7P{K?A-wpD`D_Clw1b0s3(+@_|GZ5I5^Xq+j(RPftplT zy=~^Adw+KL$~!ou^pIk&X+*tmm_{V19&|kK0D{m{uW3pF_^)T0b;#oWna3UwU}~&+ zrtE$2?;vP*U0I0)XFvJR65sgdp=PAy6$=L?bvR$x@dK@J(2IM#yG3 zk_~Sfh>(ppL@#wO>5#UxakvF-|4<6xLetV>5cX)VPwAjM9;b=!-dv9-eVZm26t3N8 z0)JW_e;_)}x5ra~ij}NNQdj*ROwJIGKe$+_9_&T}EJJCye+h!%sQlr9_Ls0YkoVjD>v^Q@M42t+zSGS3Bc@ECLl%r!hUTcm~nyc zRlx&RAP?@|Z^2)F)`ybV33<-7qEHlBp7R%ksHxT}MgrfrHf2@G_rfZrBbv77Z<_ybvDH|vXgkF{8OvfNR2X|)1@%xwRd-3x#* z`7=h@p-tBZlom;-S z0(1%V8k z)$RBgoIn6Ds-kb^1iBm%4j5~ANdRZ;OaWss$g#F^XI}$KF=~;3LC<)dramLkR~^>j z0x%98?|as^({9OSP_;?iWCR#%y#38-L$VaSM?G%W6A_3!+4+iwK zKDiOh2anRg4-zm=rJX7G0e={%zS`XCbtizKn-;eN_p&%_VpqK;yvNrPFrH=8L_Tg( zUOG4*^e!6{z$iq5WR#@-U2yznZvq(aq+O($VlLd1H)JmY3;>V@IEh}7#*W2hKZpS1 zCdBzIqCXr>uf{qTd>H}8$F`ktzMTMu0RzJdcUQPz2pbqo)hS@8hJR^dep_(B2#%N_ z;Y|Sp&I`)Hx?(fH06fU=jvP4m31F~9nO3_xk^InhYJR6Vo|z8qiV+6>G?e@>4;UN~ zu5Cb+kt6wm0Y-b`9V>})7=8r6C`x|dgb=M&?K&LQHp8&C1IZVs{E(jkkoO(%@b^9! z_{#*c8UEGW-Mqp(a92Qh3K&xY*$l6q@;U)gG|VLJ3V3oRKFSgG!M27BFwR$$Il$0n zwlzbjwz!sWBM@KIk9~X_fye{GiO&#-^8XRYKg?0!Tx_#od;kCd07*qoM6N<$f&?KX A0{{R3 delta 1729 zcmV;y20rdo#QG zxlS)_7i=WGuilT*d-Fbu@?Si9@{?v&C)OwJ2DwXM3wwhIL4RDBS{44m_X){D7$-*1 z0taX(x%ecf(?F3_V~}lG%_Y*Y#~imS$XrTL2~*Jrjc(nmIe9G{NI1W z98-BKoyjof=zsG9BgJ(iL##ZpvS~;!8nLiKt30GXs^A|q^MV{$Q-qW`=VvN9 zV9xySnKx6UoU<>bmVjHRWy_#0(t}TfDm88~NTd z&MywmwAOZkm{Oo7)m3*JUG&ZlU%Cf}oF8)Pwv4Fv4bzAOwS%tf9zYO&>bA^K0R9`9 zRs*uQe}CrU0|Ls8HP;M#AN<<{+Fe&xBEgwoHmvO^f@*cK;*6uL)La)rJmaGyO^%=( zKZD{ZGDjJ#xd$&@_Yef4JxEw(IBu-ZOYURd#T>KRTk)Yh9d%U<+yWsvAzi2C) zf1p=Kc7#!D3BiEBx;VrVyWc65n_`1xQjx#~7k`%DKUqO@@50T};EFL~ejx>_g+(;| zW0oxUgn-@#_3s(m3~pp&z^D<%HeNHm+`Hr>-qyy!7PS4tPyiR2mX?FC$NK}$hn4X- z&2;DXdOYddG^3z!vI7+G%J@CgX`wTo3RJ4(RF=9L^kH&Fbo}0-O6_1b63{S|MhBN5 z@PCgg?;qH<=kA6%D4U_8GX4kwe81iqK_t_MHu0 zvLG1uecwg_n7wLb*Mh5qY9+WqLE)?Cp6!VM)4|eigSDO8;M#`zOP%M!3V$=RTM5?o zgWz44j&G<}p9p4L(0euTKo!VCxcA!dSAUrGp(J(!k#oHy6(!7b{(_J-)!U^=;CV6k zxng@l(b>T;?HEB~r_iPp(xZ?=tP8mFpURMlQoR}{usa?3;$EG`*_BcxfTCjsi90_3 zcb~<}ZOM+;f_k?~$9qFHGIv3QDt4w3yIIA9S4Y-}U%in7l9RhRE)7*&esVYKi+_6$ zTP!_U?j*OgT7f`jwtvj-1;Ci{1!*p?)>?=U0uM4M$jzTc!j<@dS1f73ec_~?1wo5M zPX?EBb78j%0to>_Y(l0ZhS+ID;lK_CDaHQ6_F0zDiN0T^p^NdRXou76z#7{g&6 z+iIp2G&p3WmJl%bnW)p$X9W7HjU6rlZSFmL9AM`_@P5HLMllj3qa^ij{NvYq6To;I+GUz4 zbm5%5W_uA}0Dv^XN%RwGcq|TnAp(rsfEKox{xDkZ5ThXkpGSc4p_5J6UrzwTfPuln zofRP%!3G9XZ3-BwVVYFj76LH*BNQauDPX{PK{-@cvIrP}2Zh}m8-LDy0vMPmYPGAA zkRLjB-Rri-Gt;46Az{#uqmUow0RsiM*I7W68$09&1dPtaJ5>^uAou`)Q40A%5JEK) zTn9Jx%^;}nK=P$2KNP0kfi1wpU;9GfEfdIQ@Mmjx^NQ}k0nsU7ObKK&xOyt;1Vqs& zN;*~WWKVolBI<)}4LTW6TBs^>fT7K7YeXn4PrI8yJXt^W=v@R79uQ6Z1A!?2AA$T0 X%u(Q6#1Zw{00000NkvXXu0mjfS`aVm diff --git a/graphics/pokemon/thundurus/therian/back.png b/graphics/pokemon/thundurus/therian/back.png index 16a5d8711565d9bbd13a0e31588dc7a9a065d004..e021218dba5d4b4990f18c9ad6ae517e90516c15 100644 GIT binary patch delta 725 zcmV;`0xJE)2D%22B#}W-e*gz`Nliru=LQE4Di<>5LQwz!0-Z@jK~zY`)zrO@+AtIV za7RI+w~<_tPHY%u54bt#b_3!NQ%&mOx?UB!g9v4-u0zN~H_{DpE#SYh&mVy#d~~Z+ z50J#ay!Y(91fhRC49og(6<8S4tHj1IX!S1uJC;5zUjP{E7?X1~f2bH08Q?iPM~GO3 z2DmOR^~Tu+VhqGcb6^Njo<8IOkV6reAyf+7BEZDTEq$rdytVKDPzl0hEI0 zb6en~HTYoxRP~I?;V{1!jPnl?X9r_`5Ikfy$xW+F=NY>{E&^_DkV6hV&+bQVev_K% zv?J$PJ9KjeI=*+je_Mh~ja7NYXW2pDkCA%nqCj=cODBCex{DKJi|#X-PjmFw~O}PL_14{$6B7{VnIz*`RmdHU==~PupZz34+f5!R5ZKo!IS*6xdXuw;w zUqf8m$nN&2DJ!cG$VSC{#CeOYp)qeocO#P`DJt;TnYEJhd{bXHhPW;PY9c8p{1JC0 z5&*zdwtoV~e=||SHr|N&h3%ezc3*($NPxw%dKD}Z<1~W;+hD#)k|i?SE8xw4wYQ9FF_E@PXN3d z*5eV(7I`2W_G9Rpvf+LQ!I%9R@Hjz4g53qs{+e`DOUq7!*=|{^fw8BRYyz>)V9w6~ zXh#kBjPu1wil;~ewUabE-@B}QqRZguwg z)E0Ods02@^w!ley@WT?Q>xio1F#kT76hO8GDgpC@;4ZgGZrWuUXYBTH6L4{hWHof0 z-HzSjCbiSBBjcp;;uyj0NCz{39hBj3j`J4Z`Lva)WE$6LEfSXrXgpFK^fOkHBOuTG+-L5ntNw5$FyCn2iNkuId+m!7?$9D=4rH7MmnlA;Y}@ z(3vH{F61Xbzu$+u?COo&9c6zThVUwxQ?U=*c+Shf@8X*O1@qmi+yi5eYdHks zK7$260bm?BHQ;m3mq#TYBMsDECP`ARkOwl~M P00000NkvXXu0mjf%tTRC diff --git a/graphics/pokemon/thundurus/therian/icon.png b/graphics/pokemon/thundurus/therian/icon.png index 5f35c5f83316c65fc323f398175a89f355fb6682..d18aa8d2ba969d5d22aa63aa3235e7b2a1bce9d0 100644 GIT binary patch delta 505 zcmVO{4=NWj=0Z^b00D+cL_t(Y z$L*9+Z^IxAgrng_GLrHA|6jW^kOmUEPJ8J~k=m;A;am*gZQE!4X8|wjN$_06l8AVS zd|6kPBz^G%aerS4a&+LL#>MaURI{ff$C?zr!6>le0Al~8g$uHono(s)zR|)|r*A36 zc2l9o+bdn_VrAb8e|p_9K0vDd?>)YaquRpCSy!dNs&iwHsB;cy3l4~*VaY5U@UPRf z>!S(ZOF7_N%nFc|WwwF(=_5AP$0FA;h$zoxct|}zT7OaQYEwiT?R>0ms+?xbI#t2g zqA8pn+c7i&t_u2S9nhU&apPD=zRhxyAiVy1JKgc2_ss!;7XcAB>=6)aK|TZG2EQNp zw}4331R*IE{~)7Z%MpK{@xLWV^d0e+6ag}{Xmoe{3vs9cawbTld&YkouVv7E!9VyP z!6e-i{#w;Ft}{IF@BGhqA3b$g&TS53fIPfrPU_%arvN$ew@$BML4U=6;QtmNjmp{~ vHU3wS4*V|@q^G_=PmlqByh;K5F(rNgB+ebKzOWZ{00000NkvXXu0mjfCK=#B delta 580 zcmV-K0=xaQ1nLBk7=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00DtXL_t(|oYj)CPQx$|hVKb%37!D5Q;}O3LOk&Z zybvs|R3(fsz{?<{4yiJ9MvdyFlWiqSBB7W|oP@OE0pPa#^Pl}Y_W}Izawk0x?2%+E zG(kK2o(AE0Sm_^Oe_0`3qbjBo<=Z7v#lB@cmmA|y#e<-lY?amd6)XG*3#!kLb(9yt zyRe?tyS$Bho)B{ox3uQ+K= zeyq0eKZ_p+w@`|?#8ZxODQ3d5#0y*$V_y&s0peLaC`{xs+d0C+11O0|kxk1Pm$USkU?>3%Ec$kuU?I!vX3!5QGCaa9sR1M7{xN*yB(- SV!L1f0000;Wo$vIHsQMqOo8Ip$Us1; zt)NkNBI;;PA46=Oxkf+4^Uk+buMgKROFO`$u)fXp z-(v-@*96XqG{C~{kyi!?T)>xeK(kPtIh+8E0{Qc79RtSa`tXf)3}t-Wmx~8s0TOv! zxQmC@V;`XZ1vatS$PSQn0afoj{&d9d+5(iDm9{`3{cyXxTbP|i;J}nhNc|cET#BE2 zUw^bfDSH6EGM9JP+sA`~YymW}x*_^8Ot;(Hr2!<5T0pFn`i{WUcK;L@AWjTWstxY^ z3W5FJ0G?ElmT3T7SRoXoJ_3)X%|t3?hzJQKDMjFy*-1~IDI=l@e5^iVh2XXPA^!vT WB_=PyiA0A00000;yq!OY~R>fF{!$WC36RfF*h( z2moXRCKWeW7(k&Q(B#^GGQMEUnCOQKjDX>8WFTV9chI=mKFA?seih>Y;8PB9K*cz? zfJvS~$R;`{pw1y^6H81kcrNl_CliGbUg`tD)#ytpZyXKfDD<^TWJKhz&@n2NYDLK6<+3Z`0ClQ0o^)}) z-U0g_OChE@!Nsrl&pW{J7>l}Z78frwKOmC0xy{9&T?OhK0{cW-;L`6=)E0$(AV;jUHi{mu)#(<&&D0Wm5tV1#b#@g8JdNSFw< zHQ8*70H!0fZz6srbWM(Rgc0V4Fx#fPOKf1tyIH^WJHMswAo$@|g6SK-{hm`)rDvbuVGoC2RO!{OKIgn*oZ z8YF;H{T7D9(Wy^}mCZrDN@G0uMZ@9ipB^FG-?J9MI^D*{o0AVdGavyUkSb4BBwmNN zxoxV8yVI*Y@HfU5AqNQU{STCfitiMlSoiD}{R6O~w2>{;x7`2$002ovPDHLk0$_sWhclD_ delta 660 zcmV;F0&D&81^fk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#!*wK~zY` z<&-gN+dve@Pg<@W!9<<{HlgoxfcjXTLL(#yxE}iZ$8V)XnR0-H zVY|zEQio;`1|#sx^aCXfG?ME z|J!&(ot%LYrGQ@f9>@K`$B4%UT&`1t| z@{$qf(Y{@N%~@>6HTSqXILDm?pwaR?H&kpPj6}&K<~|0_8q|3&tbKc zDdO=wZ4DFvK8=UfY$tTvxijEZ4i~wh5+MM7H(Ie&2as@Yy~$V0IgtW&Y+~#sz?mFq zVCtA94tRzf(5VL;*6^|N5ove;I8{E?3SBEFl1>j4FC~9p1faP708-paD&dWgzaV(lhqBtGH7T6e$ZiD+20Q?28qO_4bPcwJ`0000O{4=NiwP!4(k00C=BL_t(I%hi&xYQr!TMfC>{ zkLi$nOCfa4*gweFPQ_FG4}o@g3fN@yD>!r%{+6}`Oo|#RJ3|OcNmM0GEGc85L$&#G zpLO-_VeHQiG-txH$CwEPV@AFUx+J4O_$Wr1Ke9tomFF;=a(}D_ZeYxb6jtp$Q1YDT z>DBNw1WJqrb?5cTv5prPV$w-(+dJY!i(=MmoFgfD;RS<4B2n$-+P-p5Q$M*Bf~0#c zEW4!@u>Hv@s%_RnXGaC@E*njh!Nc)2aNlnj$|hok-Sg?@7t~z)4sE4K~%_e&?;Yo zkgys$92QveiMnY4ij(Ij9^t$d-eX&(iX3xsybv_=f~^&DUevA!^K#$=UHfKd`B2(x zf6vF%Z~wpt^V(;7KA7LWPAwmP`%AQZ1Y0#5eue{>Ul(`w4M`d1L4-G??*IS*07*qo IM6N<$f=|f1W&i*H delta 398 zcmV;90df9_1o#7xbbkSENkleuqFi zoB}o(eFcY(!q3u{fJsq96?+IlDT%72jwO5Q(xJEM=RfIm|Hs&$6_g#J8Zc(sf-w`{ z1$~l1OZdnpiQjTSQibO*oKh@Cu3^fF6c)`pkn@zM@zwa;1b<3Q1@)Kfvtt{sF2t-C z-!^ZAkrvrvP&!AH^UNCzB8f!J4Yu~LoYUN&Tna(beHW^JZUt;E*#v7lYo?Q0fxF96 z6D9Ca{|4@drAAEP@%qOCpKpMYr{yNBdrS$vWJl#ba-C<1L6F zFh&o2OJ(_J34aHYy;h6lnHqU#yJC!o&Y}fTCgV|~dize9ZmyPkb;heRkx7`RVJ} s^5Lgnq2cqR00000Ne4wvM6N<$f(diM#sB~S diff --git a/graphics/pokemon/timburr/anim_front.png b/graphics/pokemon/timburr/anim_front.png index 4e32b20fd9b433a54a42cda8470f9fbb1d50ed68..13a9bb4d6826e20ee0da191bf60e4caf195e013f 100644 GIT binary patch delta 886 zcmV-+1Bv{v2gnDIUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;P8(le`1 z0009kNkl(Ek)rF{1!KjJ>Gir@FM}xd9wmN?!Eiq6ax$n0RXR@e&W0^L#+W|gHw4# z0(5{z*Kt2v#D6ml zqht6{JU7iPM1NuIMy+~HP;uxI#WDa7V*mlw4mNa=)B*pxy1>{5VA{9nVd2ns#D z-CzWPV}E(oQgt#|^-jY7(!;b{N*k5cR)~VJ2p7acjc#r<@vKc}f5%Z*v%5qw8D;Eh zGErcP0gC-vQQ&k>bAa_|q{0IX_vJX&kIB;4kCz1!u!^!hPTgwA5GxfVr7o;jY$$tR`DaCLuz)OI!q8Kjfa~{yYR1`^A zH%}l%ckvI0Wvy4@m=NF6!z(*PgkGfMr3BJC)Ce5xl1hfzC4WWuN`kj96dWyKr5)}P zp9GLdu%RL}!mvwP9tkj3;4Vdtwvg~N`VO(oJ<@*j@S}!ckd{sRBzX71Qxi-=BT9*V z`iT%_hNwxYOFjFMmS9lY?0NoYNAr&Gp(ETo?OSjNY8=j?yLalsDeAtZc^r1{Vfy?` zvjeIh9d{wo_kZVSniL4_gnJQweD1B+7-LIt4Qh>c4tD8&ghy-`PZD;q2s6L~eDao% z%~zaX#z2_;S|ALs0DrQ10_E@k2yx6uGGV~${(bfpWJmzp1LZnNt`-&I7<2wzlv0rH z5Xaw=MTHuOGS*J35%ZWsBr<`I82=HbjO{H30zZ>vLw{13aNY<-lBDw*-hnR>5M;(S z+xsU#c(xNyE+GY(fJDWRqqJ{YTfqK;@$yld{T3BC?JX}Y2owTiN+UHc3cm-k7S#xd zqKwjKPe-uRwWjB2B#eA_^G5o4c#f``^DtE%dl!F2=stQLCcaVii@}(pE#mpF8WXK6 zwI;;sY=6EST3z(+lEidesEf{o0iz}e^=lyk-93{CYspx^Lx2Z-lFpCmQ%PVpE?}52 zFbiNt&18ZQPGOiOV#-YunE;!M;l*JR4S1S}Oeo>(d4X1C0%RusXJUhV3Qr}%FqasW z19*ur5fY=t`79F#mqH?g4a;&5%d^d*od1^PWPi8+nnaifp5OkfDnjl+GJ~dP1cG0YX&iK%kqVN(X|(u< za38p|U*SL?iDu+fIS^=RYTxES=xq)JtdiD&7;d!#!CvV=RHjyxTH!#bA`4So`D03h$kl9qF31e>s=f!5KUjyX^LxX}qZZK5(Y0M3VjxaYE8oV?Znmzu2 n!D!|Nqpl;^>DoL0@L$JoPN2L9G*_;{00000NkvXXu0mjfq{@;o diff --git a/graphics/pokemon/timburr/back.png b/graphics/pokemon/timburr/back.png index a1eff2627a5644fd4a94154bb4b3a628404e5b56..d2ff47e6a07c604bc38efa682c4f5209bcc50c7a 100644 GIT binary patch delta 518 zcmV+h0{Q*^1nmTnB#}W-e*gz`Nliru=LQE4DjrKZ`t<++0nkZAK~zY`?UcJt!!Q(v z3o}Dgq)0FzVk83+AW=(wf-2oBg&Dii8Q4Gt?@Wl12{G~rtZd9KLuTB8nfe(xz9fK> zbVdRX8T|eJ&sFJk{?D&GF)Zg1V{p2R17mE^ZRINf6I2{`+Y;HY1{N^W?AB z)T?=~6tN&lF2~p|?w?s~^t@EyI;Awf%*K>=zpyr@^oSuphmp*(arXx{M!ket=NGUm zabJ3fXT~fXUMQuDQ06E`K?;+>!OVp7hFE(6h8R&0lHx{-dD*V!XVVP=}_;AFpHU4->iYHn<4c)|H$g*EY`8@=dLH_BZNlom1O(>r~UWNCwFi?w3-vBEC2ui07*qo IM6N<$g5<960ssI2 delta 533 zcmV+w0_y$k1pWk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oO@HK~zY` z?UKJw<1iG*Q|24$B1M7$5uap0f|IDF{smRKSIW)Ujoxq@sCV9(PK->5kw1ZzjoD?$ zj5{z>{|!9bNeW8R86n=_!QYR+?}uOX9iKB|*sK%I;cSx*obyq?Q||%HkT~sk7XZ$p zlR$&bMC^g?EWw~OIqfok$Sac;3+D8BWzw|Rg7*LnI{=lIz9Ud6W$+>T?PUUFPj8^bp#1H`P6=k|w#D;k>H-cF?#lq>g|#a$ue3Hr+2$lhAcfiJcwx(UM%e@aQ%o30#c-o#Eia6z zfkfahNR_yi{}sG&gKVB3%TdZ0v@R0d_~G8ldwUu0LZ1VwHCATmPtM6Z*%ak^YQ40s zHM|hwq?Qd0I(4!!ON*%s0VkDQgsIYF{~Cwly%{a#`uWn&#J-lPQ4b_-+3xT7+7U%> XcW^zlBe)c@00000NkvXXu0mjfPpbWn diff --git a/graphics/pokemon/timburr/icon.png b/graphics/pokemon/timburr/icon.png index 8528484be3ca62ad650e78042a703be614f32d5c..7f0370f3fe828bfcd59bcdabe697a00e8f76636a 100644 GIT binary patch delta 292 zcmV+<0o(r90{a4xV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=Nu#J<4MM z007=eL_t(I%jJ?W4#F@D0Q&>~flsy*9T}OeR`eMtas?x*h{_{aKvW@8C)7&Dm736W zV1Ws|`Q+G%b5Znj!8}WerUYmR`vycEWoo;YqYi?hJWhf2-G7&;b9U-=RXFgVR@WNQ z1GtsVWqB=J4{jIcu%g|VOS9VK0^H}O)Z4Q>5ZL9qo*N&0%M zz~&h5!wvKl0(r8XFD?4t_?|GpfiSZ9+D?UGtFWIVFti~A01u6p&wvB^WzEC`^Mi7zqcj;0000LD9H}9 z{mpJu1y`zUVG#p>b6y_Dr&N1zHE^2=t-4&A6>cs-Z?5eYad=UT60N8+M0Di5PA?$k zl9pjq$k>CWQSw|?V7VKv;}^J53}j^=1H&u*JQ5XM3H0RrhIM-P#AAb;7#e*#`Rmr6adH zN{J4UV;2Wj!A$KGrwJU(+A0u|*5~9>lyzuZ0F@#WTq-FN+X8vDq9`2~nLzq^ z91Dsk`dfmoIoA^=9%o?v_1Ua_j3C^m8$iJuc7l=g! zC0p%1-XA<{shQF*Z9oADY}o#Q9$$#|pMMuX?@7wAA*a4>`!E)eH_V^gaHAi_r#75k zIT>U*QnBZ4jtLyG1mXt%bwLuC2;yFnc@3{BiXd)uVG`#`V%6~hl$O3y*wa_G`cPXV3gMr3 z1WqAKd%zHtfo8Q6T{aQi4GUCi*CYAZVHr;H)sP=px+4QUrwC#Zc#^?W+RMJ95Hg{A zU<8aX(P$U_8U7O^FeG|McT0*8V}CfOdgGP`mC+ZWlgb4Df;NuW3I2jZMEz+*nPD-% zGZO^Coe(U#2@(5*{8L}ghfvdPu;3natKkY;5u12=|vY!^|EJ4BTI`m_-&F+PsL* z;r?F3-O!(&d9vLUmeQy(aMv@!zMURAFD7=!d-?-s*D}1vZj`^(KdV2nP}Yaar{cT- O0000al9RG3nH*e%w{A%7?h6`b?t`zd>R01j7rCpGT3MwtG3sNlPV?7-JEd0Q}sK1;qpYEg8j9P=|@f#aDWFYd>JCg4J9JNXG)HnD2N2TLyR)u^ifQ z2WQi=$iKz8Bi*GQ8{m_?<8|5R-&=E)u~qpZ?>KzH zn)tY=E5C8uV}EnZF~=N#E!;OI5I68&7bJlhLELLHuMt&+BZwPa=_G_!P<3Jer6sR5 z^!P7Zf2ge^3gTaM2u`U=`+y-U1I_9nyKEx3846VT&;$B7KsjcCXFBE;PY-CI7dV1g z1fJsTA?;P);Se&Rdtd|{G0~8V{ssOMBQPX-hfgaUA%E^if|NFHZBQ9~ku<4H@Go)W zke$q52^L{~I-)F~Sl*Zp65);rmfeJieS-cmPyJa)bQ>(VC*3Bwz@5=}us65;;3V+Q za93?u<9HC$k?=3f81xgGyI>^o$~?icN`kqc;KAi{f;QQB2MZE&n~i-OwM`JlSp>meQy(aHk$&-%bym7bCmPO{6~)*Z4kY f`Aqpa{#pD1u~62BJVF_r00000NkvXXu0mjfL$YGv diff --git a/graphics/pokemon/tirtouga/back.png b/graphics/pokemon/tirtouga/back.png index 9ead99cdfa669476d0a79b4ddc2f07eda682b8f6..125d61a2460948c6e9ae0f5ac8c2ca87e3f574fa 100644 GIT binary patch delta 391 zcmV;20eJrW1MdTnB#}W-e*gz`Nliru=LQE4Dk5Z6hH?M^0a8gsK~zY`?UYS!gD?<< zBhdqpMbvds4^V^<+eo$S4U0CE6C`pD5R2JxJS*PJp*n;4EkE0CcoJgqKD{>{3l4`} zyZ&28)`lNPtmD_JU$QRI_lh5sUQrZo1u*e`UIfw(C|}KD!>I?9e?D)FK$45V&_D^d znf;k0Nsp*%1_%IEUDH({S70iwJ3_%9AV&hU?g<5tiH~Rjq;7}?_?ZGZ+BSfc&H-VB z0v_RRglr?!2zUX28o<$uqADMuJ_aBo-!Z}f%C=(w0uZ@tGQa>$>pO~3K#kV<1_RIl zr!f%Jh_nP&%|TYHeUyNqAtPUa7uOIFPXb`@selvYqb$ZFn$9;ufWRjK#q^9#w?Cue zeamY+`ZTiMH^?_a3zzqlK8>(z0Ca7Gt2yH7f#@ylW~6&Cd`x;6sBUy$7bZM_RyeS^ l2WVv;D47WNKh>_OegT{x*Z47(jU500002ovPDHLkV1lizqNM-; delta 402 zcmV;D0d4;81N;M!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0aZyvK~zY` z?UPMv!!Qtq4ekM)Md-Sw2dD`q+dzc0@uH3E6C@}Hi12KDJP~blsLn{1f9juY7xe?< z#rt?~G(yp)O@FQ(X~oY{((ZH7uSl2lYr&5zuQW~80*H7&%>sD<9smk#DUA;L;He_#Oj= z)olPOp8`xV0W`v0G2TXq0q_C<4S>NPM%6w-eDuH(eM1NVmbV=}5CbcW%K!y9t?wuY z0gcthHz)uH?1wRn=Bs73EZG&kj;^~3(EeSK?Jt#URegxDv wysrxp9{}{;Q(s2b>?*_(Mvu1^@s607*qoM6N<$f;1JTEdT%j diff --git a/graphics/pokemon/tirtouga/icon.png b/graphics/pokemon/tirtouga/icon.png index dfb2983764bfefdb6a6d25aa917895d3154d0070..9209298dc57b0f63b5d9473c3d9e75ebf367b5b6 100644 GIT binary patch delta 290 zcmV+-0p0%C0_*~i7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;PE6H>P10002bNklsR0I9A9(=1^mi}SVwAv!Q zD!lsF*9&J-awa7QXOvGQLDgBh$%5*qr3+d?6d8>mV%rKz4YQybJD62av^$tpPy;3l o0^ci`RnQU4TTt_}d?M%tl^BB5KoSmNegFUf07*qoM6N<$f)r(PKl)Vna zFbIT$0!s$&{ol6Wzgl3oODnZfZg2+3aai(q9Jl^fz?-_fZh(x2wUrsT7FOuL5veL> zt9f)S+W`)B68Cj?tvw+D%u&iAbqIxoUScqF`I<@Ez|G04q}EZ_h zg6s&>39= z&j`=E>W{h!E&yb8fgo&kH&1MK%XuPTyQNu0Q#IIqt`;dzCTg&ke*(8iUL{jCUim&D zF~EMR22^~X!zAEs05~X3)gaKTO8g8pCStu^VvQ|Fm1yK=V~aF`lJlO}^2oI~dTW4f zPu$|6sAEA%6`uge3iXeHB1pZsdQ&yJFJ3_D0{%K79qb{ zz;QILP6>a5b3m}b(@V?jfR)utWv09uIJ0v5vtwF5|M-~5408|@HyumBUpC!J3kQUslv)hX)a+{-mPi$LiY zNG%{14Mwc{>v~{q--ov81L|)al=g*LtCT|>P(P6)9pCzc9+EIaPp==D|E6!=kT||> Sb7N%y00003@CFlbf$ucsS*+>Y?T_x%>y(tTcrrfP328tEE7CK&wtX|CL|p@ zGtL&}nw8uYcmE0WjA zT#Y?DBqRnn%+-LJ9dej|1)L241FpFm1eEH;%}`S!7S|Ql*fLawMs7B>NF%5iQ^b}< zwngcL09!@eVN-!+5s*4Q0gx5^ADSXaow$DEHO4PiKxG4Nn2-@zguu{_SPCov_0-`M zQBl0NZP({hfV91cqOONl9s|pu&1G6eBLU06eeO;>mbm7{{RgKvdRQ9&?H&2 zhZrU@R_o?dpfp=Rja>NaoddijcHd$~c;mmw_3OZbB7gyi1bqHsHQ`ecfG~g$DhYjz zjc{#b#z#u=v*`_BFHA>J09rJi0W9?ag#)w(U?d>N7`Tzg` diff --git a/graphics/pokemon/togedemaru/front.png b/graphics/pokemon/togedemaru/front.png index aa0202eef3cf1d693f57a31736034d69de48427c..6ca0558a220a2cac9c1fe139b33f42f7aec61dbe 100644 GIT binary patch delta 422 zcmV;X0a^Z*1dRlcB#}W-e*gz`Nliru=LQE4Dkft%LTdm30dPq~K~zY`?Ub=j!!Q&@ zgPfr&d_rL9R>?yfwL?{z@&WJ(ts`}fh}8j!sU>u4hvvmQQdqmhcw|C+L;r>6Mo0|L zg^{6G%5;zKyGd*Z!AU3mL1*W`_!pPQfl+kp^}=Bg2zlS}0^sKb=LqDn z17t$XxNZ+VExgBWe+CJRqD@hmLA-8z0oQN?QM8rGzC(?`kN5@%fZ9{Q4M6#70M>2D z9z4LeGI9j_0Z3{?GJ_qUJOC=Ce-^sPXuYI&Y(IBEVT|e zs|HwdpI<*80z7_z>vx>r;vqpO=Fn%yNK Q>i_@%07*qoM6N<$g4bHOA^-pY delta 429 zcmV;e0aE^r1eOGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dGk}K~zY` z?US)i!!Qtrjhvw?JVIdUR>?yfwL?{z@&ND%ts`}u4hvt$UDXd*$JTf7k zq3_ajA|!@0Ff#O)GX0lTP}J&dz`FFD`!uM&Yg33xHy<;|col+@C(y z=xa}alro5Q5^Ex$^~eH$sg#oQuGUmQngwH}W=~7WH5mY~#P=m+YS^U$TDb#efZT)& zq8=~IivvpJhE#tJr2`6sz#Rp!2zFX8a_le-$%q~_T24a};BnRfJ50EufJO8H;GjfJ zsS?3LAdp55P%$y%x;^-`@E*AtBrpoMS!o8*rtJk>!!3m2PQ{0R4mARQ;u|0U`al6U z0Qsu{*t8*e@Bm**$PxS-ps0o920K7r1Df2}$hpWA#fsk8e(HeC80!IewYC<&qSBt5 z=-Wn>?O{4=N`VKXUy5 z007EKL_t(I%k9#k4#F@H2H?HHWu0M$g(D%E8R>q7DUZanz|<7)wt6T`&8#5*A}|C& z!nywK^_u3(vR|wi(zTRHAYtm$pwe^FaLY|a+Y)croI1w)YJV9b9e^n;-zatkyXC+G zhKEjtgPtguVf$7OGz93|4F}!A>0V1LU=L_t(IjqTE*4#F@H24LRc($0W^a3my{E#0p$<&k(6Kuz&( zt!IO&nU%@EvjjmxUH|ra&E;DxesQHP-^(fsq#K$%*yuegcpAH*V@c1}P(}aRuDe7R zU<=1Dird0f97Mo!)1mOtD+ME5Q|py>8nu5P%g6f@kUnFi;PbtZW%9)9Fs<9H8wY$7Wuj34v@GTGVTR z1~JgFMS(s*AE0xlWcEY#j+A8T$DRswXb5<^&v!>s(tVEeAAc-=d@y{JglC81y%-=k z6i)%z0pJMZf*t4q^8;h~{{Ddy><4RD1`;urO64X&2ham?s?@bfz@j#g0(*nN)BqXg$eX=KN~sTEPI=J) zK4b6V5&>=!Ab&8if&K%Qo~vC2ERoqQtRGeYE2VC}6&0Az;wCVMA2(1YV1Zw&u(=0F z;07Qqf%;wbH&}uGJS!_SPJsXus}d04R?p-bE1Xd*wSe5ss;7GW(Zob*RdBQ2W4~Sj zG%HBF?;QZvDiTn<=wZa?R@_twCM@A5p70O|IJOh`v45uM4ikC>sD)p(3b+yi=oQAS z1V|H~O-dl360xaCz(v^tH;Aua-PpjZW{PD;{wWN1cj?ioR85Et65Ch^>#`;O=d?QK%^e$VpTgP`Ewf@DSGb3-x`de5 zK2I*^-hToCRqZic95-KFF9WfC($PD-Yt{maBN?8s!G>W`zx{dfs9W~T2KN$QyII%w zM=t4z@e`5>4&5IpDJ2Emso;kPfxC2G*2{VkjK3@xM@BHR=uiXb2T@lAPZs__g3$ze zuO095+6V}cKQw_fa4yxg@7sFMv^8jz-RlR~VQE z%IP0)gO~)dZYpZ^i0eWhgMp*!8Z5u)Wp%;ebs#KF&XY@?vDJ(}8sHU0PnZz9hXEfh zehlv)O$!5@{=?_c)&r^%lt(FWaI@`}*=2s=c*~;AbKJv#6y+og>w}f^vBdK_zpC~) zZx8=v2*a%o4zvok{XxqCdwxQTi55KU&;v3|HjLQ@EumWvJhB}o@f*YU=>d9~e9?n{ av;F}8PE(rrY(gLa00008nu5XTh@f@exHV4xl74FeSZ%S!wo=E0QIx#uQ3Dtd0J#>bb$a9D+LH}%R9Nk3}+NeEFg2!@>Z`t zo0v$f3~pLo`_&SlnL*-tR{&Tm7od1v!5l$4SJ?nLm;c(t#^{`l*9UH`IPy1_WmQ^8Mn0{Z#I zvDlTtlevE&gV6+fZyoRQ+87WZ|Ih@Iz`0b{j#~&cfgS`N&SuBV*0c>I5a4t-21GlQ zmOT)G$_+@{q4aN2pt1+rq131Ut(*Ic(ttFk|9>q8NMMl<6*3?e&|iN+e{rtVuQZ<- z4GW`z<$LvbRty!tZVy&8{gd-Y%O0H6Hqkl#n*haZf5EcKK9mN;w}C}vANmjZpF=x? zWgq(Yt?5slVB-?_)&_8RjEfrFi8Y!_f8mdL87F%%UD^TxU5EU;i4*NFKG*>H3;YqF z4SxoXZkXl3I4VXXrxe;?Fbx#bKi~#20+B9i(5eyFg>Hj^2jwwX{-T%G4F<0RVd3OF zx!@^VPWh7o-ca<22~k}Jyj=VcK0cWehB*C4&!KG(C`(YZQsCfb+by&Gh2t&qGS6`j zL$WAGVOSrmoF7Z<*ZEbs$60&$FG3h?bw_Zhtzg?fXmh}xH|Sypa~^is19F&b6tOkB wgl>D_k=tPs-x$8j9-uFi=8nADga5t$0{>1^nvQT+J^%m!07*qoM6N<$g09HFlmGw# diff --git a/graphics/pokemon/togekiss/back.png b/graphics/pokemon/togekiss/back.png index d0ba96a40421e624b43d412aa1197e8b08448a11..15f417f02d8f7db15bf628f239f39b57782f4c96 100644 GIT binary patch delta 443 zcmV;s0Yv_=1fm3xB#}W-e*gz`Nliru=LQE4Dk^G@4nP0^0fk9KK~zY`?UgZZ!axv3 zt*kh}7)L2+u+0IyI2^z*93Vyr6uCx9M=IwA(B?ErnJU#DDl^6ycD$P+O39ZjS=#6S z|9aMP5Zv?^CCTsWcUZJU?FLkYcp|oYHvrgrY!7Y=O%_E=Hya;7e->Db2{`UO026Zp z-rT?dfI@Igz`+MFu?RM`r^FL9A+x&nlvtfCmR^7}$YS~Wa1Fa zuHmB41*lj83-OXlf3OuvU=RynK6Y6oNk?GTx5)D=iyjb^xs?*h2$d98iJ54rrf37t zQ~R@;q5#UrOsu25&$ZPuk9t5Fg;xb8C=+;SmjI1D1DePM-~!Sh2HgSa#9@#^ns$?R z81Sjdt^=e2gz*_rt^kq_TR^*Z$R*PAlwFUL7Mc5~b()_5F{OP#JBpQW9ij#plzw37 lI?KIt?@yp@-2Ptwrys1FcTwDB0QUd@002ovPDHLkV1k?BzVHA5 delta 455 zcmV;&0XY7m1h52iP-HdmjECDK3za|0GUp%3XD)DkouQ^96JVdA{T%QNCN};8OTN+ zgAB6lRKR!)_|}ZC1Ec{Y<^(8T04YyeAouN%OSBbY<6BOew+8a6oi%F!#lNFh?NKy8 xn@_q1;$Q;kep4|bG;i;HIDxhi-Skh2q93fAcTulJ>vRAB002ovPDHLkV1jE%#C-q& diff --git a/graphics/pokemon/togekiss/icon.png b/graphics/pokemon/togekiss/icon.png index 4f133436a5672ae8d0d954d8daf6a741a45d9ccf..68930f1d88a56d669346a96ed7d16d0fbbd07040 100644 GIT binary patch delta 312 zcmV-80muI80*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=OB!?W=VF z008nyL_t(I%jJ?WQo}G1MRfu+LOmHa)Yiy9wKD_Z2Gkrb7vN4&?xkP7GV?c;Df3 zJ6bN^o_tGW%!cb}10Ctb#rg5{%FExwtp2-x0u09$Fpq8tj9vqy1_8#~rbICaFxGp? zT0InCOwK&cfH4`h1ZIq1Er4+)PXWf58n*yL$LD(71Psyd0rL$!oQibyuNwIP0000< KMNUMnLSTX^3yJ0c delta 275 zcmV+u0qp*d1L^{hV1M;VL_t(IjpdR(Qp7L}g?$1%!adAtspD}Tb#{iI8&Gq&y#RMw z_aPg16f2y_>q*i=1+UYKq}YC+F@HgJ*ciz#zlyQ@!=g?HV{xi8lF-SyJ$;sL`vF8S zHM-=?UlHhgG-YJuKG(1BK%<7`i2m^{f>3^Q!5vKTYr$%A?)GWc_>Xr-b(}> zN|>!#UJY04;kqN_cC=E?oo17o+q zm{EZVt|?KB3XBUuvo<#c7|NN~urn}|*1$~h>yfX(_>!jrLsa8dVEDMJmz#lM{ykv6 Z0X&?Fbln-E1`GfI002ovPDHLkV1mpNgRKAn diff --git a/graphics/pokemon/togepi/anim_front.png b/graphics/pokemon/togepi/anim_front.png index 9fc22b9f843f554675efb964b4e4e90c6393301b..203183bea9ff362f6e524729958673a5b14bc52a 100644 GIT binary patch delta 628 zcmV-)0*n2t1-k{17zqRe0000oq|>96dJI5DjoGMYYY0;_tSrU zI^NyAPf<#h`iHe3^;guc;d?d2FG@&ZAt*EX`|Wd7$m?LV(20TY}YLT1V{mI zn%05siMmfZ)SKtNhuA2ttGgCs=jf0Q)u6Y{J|fZpzK<+D2Pg}t7gZwN)2W}l>T)5y z5+M|OT;+8halS(=vB!D*g?~yOT>^jDf8_C3e#wWfQ*2R7t_Sh+<-_oMhuFnpI^bhI z8)hj5%)yr??v842>n;?9~k8uRH{^||5c!93P|dzee7&WofG z?`%9IN4p3IU1lRn09F_2LBs<|{-}E>;(Cj0gP#=agDn~z0xp)&j=vs=*eI*=ppnQHx$@Cj)snmxwW~=A` O0000?u1d=0N@0m<1+obe-aGvApp>O z7|`peZH(IS_ZbCDLLZ~`Tfw`8ZM+_DYjFSwkAJig_uGYkeEfYZ_zx9!2K=E@{P^)X zB*uV5<9^&n&GyE2hGmWLnVUK5>Q~DjsI9H7t*x!Ct*!qe{$YiH;Hy?4@Y2sbBI_P9 zA@+xJ^FfTfFYM7>C?32$`m5gM!5YBYgX#D9zt&!e2Y-+M(GtbFlavT%1T1jDmeC{Kkk^M5S6vd9( y16^wXW__?=y#Xsr|BaA;S{>-F4z{+o0{R8dN*L+Ea8N7&00008K(nb4vRzQF79S`FNP(2bQaA$ik&**MYYL<-lE83)NNjBLw_Yct zjUuMlg7?ky8+$|)UFyFU9sB}_@o#`UZ$Tv_XMsir;4CQr;RFC@e?djotee{wY7DFe z6%v|3IzEVEt3%)F0l;qMm_x78Focj<2yhrP=v_(KNEk>K0u++e>QagnxQQA7Ok_i= za|vx5B$zN3kX&2cO#;IZFv*iR+3P`sC~8@yFZTL3069pz;=x6difSfJYP-R*PJ9AJ z6S!$oG4yWQ0^Bu2f1)1R-KCIe6-d>@2r-NbfR4f;7SaP)s#H8ulfIg=zEX%Nq^w>R zH@_B2sg6<)9W~tn)eO`q$C?_T0DmPs;QieK@FOtYIr!^Kls*FJiun&p9`)0~-~f2f zL9~ALbS(UhAg_=4Nzd)ae@}udeQaOpMF`xZe%YJjTI&FaV7luHuy|esz>VwLlsjOR z<68|N?%a7fa{y{w);G=?U|DVtz+HVOyGHpaH=lNje4S(SJ7BX#7eedBG60A@VTSXq gv%uEn5B(3;7df0zMr%iNbN~PV07*qoM6N<$f=i0lLjV8( delta 498 zcmVCK)Iz^-{fMjw2 zq%5}cw_YctMTjZ3*!Ruz8+*uq{n=u-CjdD-1*o4bn1b|2pp^r73nq@70N^c{%-cRN#b;W=s7(C_>CG0xNfy9Aypm&0)`x}&y;GV92AcM25IJWrDO)e zMvVY2^S;xCf(sWUnlO=&UOL@R0{s}U$isdmz| zu^T+^Bzs^mf~z)@^`KHYK=@`z^}|JXCRJ7kGCi_F0)rBuqp^>Fr3wI^X`Kx8sHexg zr!^u7?qsMEYo`G3qS7Qs55UxZ3e0(?njsoMgL%6OrKJt@x3u6=H%F>sIOZDWoLVb%707*qoM6N<$g2Axgs{jB1 diff --git a/graphics/pokemon/togepi/icon.png b/graphics/pokemon/togepi/icon.png index eea4a651c3a3148d07145f799edfaabaea88d62b..7e2be562d73a4d4908e90db54f0c68aedb360fa1 100644 GIT binary patch delta 287 zcmV+)0pR}80`>xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=OO1?DskV z007xZL_t(I%jJ@>3c@fDhWi8tA3+7_B(}k=n5A9KP_r~(z(?_&G6~J#lSs!74cNE{ zJqsPYW)oe+8-H^5=kEW4;Ma>-PjG51K?+Xc24+}l&=VqV@_*4XBxo%lH%Q1fQV4@h zT&^WYCUv3o`8Aa6wo`E^(a)rn`_Unh&7BJ~6qJT__4`d;O0p0zkM*vCMRk2P0u(s17M;%5> z(dmHc_c~zugAUMT&;i4JuY*yR4!q{uFZ%HSjUjFNGNVU100000NkvXXu0mjfW(sr@ diff --git a/graphics/pokemon/togetic/anim_front.png b/graphics/pokemon/togetic/anim_front.png index c88c0e4d61ee613687dee1eb16870f3c32ad1ff2..d487a148b56e3f1345d6e8b7328cd3531c5678b1 100644 GIT binary patch delta 721 zcmV;?0xtc~1(ybp7zqRe000007?<-irhDwxfh=LMeyGeu^NH96R)3Jc9 zXZx7w5x`KxJMX`&1i%cbfTdmr;2nNk&cPhV5nft?4|^f5N1 zyui@`fjvMW4mRxg1I)B5LI^c`K=gl{9a?Ez04?8ZMSg@zn71WCRT$p1d$>E5WSUYC z+!uxySQ5ag0mFI54(9HBD#u55Qt7YH_?gcK)^*)0JV15$;7#{?{MtSvFCf!h@a4?= zI?){>_Rf)_OK_J{C-Gle38dAo1GPCf6sw?BqV&p_00000NkvXXu0mjf Dh}}>O delta 649 zcmV;40(SkE2G9kN7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0!~RpK~!jg?U>DO z#2^fWF*ZrMegF5Ze}JUzq4jX6Dq-!ew1*kMF$905?AY;R5G~3pZopiq*2?hUl}!&D zsMz&tWB>B0pei*CnyT{?iP0^HE3%T?pkjKFMT3w{oAjd~TAM)WnIlv`4C1#DU{G&^ zCP*>fIcNfHNN$mTgeD?<8zf4aRY_V7su!B-OhVb!?m{8=DP`@%jT0JhcWw>*M~tLAJvNoQ%Yg5R;K6FJqSuws(gemzcI?=(V>j5505*`?Nc)dRj((s^P(I@)w z(#pYurvn5J9`pr-2jM_*<453uuc2~W)e(5Wjvl=8$Kb*2{Xux}Fo3oM&0|53U9E{9 z2U8`=J9y1hrw;=@U1fc|w7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;PTdE%B90004mNkl$du#&k-Y;T;`?7^&Ic_6 z1OGQvRcih4`i-%TQvdg|4{=TQ380C;ryBqlrRU`uD2UVCWUhfsGN3K{(}>6d1Ok7+ z|J%ug5IBw^FjL8nC{ax#0*IDqt#L#z0Iu3AUxZh{f-~Qo$`zm)K!h%UllU0;X6OQv zOHG*rvB%|eF75#!hk&=hat~-KF5UwOw}5i^xgG(rWAqO2BH%87cN52x1#No?$1s=^ zFmsnFm1rB6c+9|kn5{D0W%ic@>}r3*eP(hh*}oeP7&aNP-z05lUYtg-@# zP0(C&q9o3}>p3z5AOd=r2z~B^R&t5waEmWvi%wBL3C@ O0000U1fc|w7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004yNklG^5!}dl4apdKAVuxvp>grvMK1-k%`? zARrFR1b}mq02I<5z-hp&d_YJ5XL=d{4I6cO?}S`7uBHsJNODI5VDkZ|14-(b3>JS7 zXPXr%a@Ils)Qvkqqh|q1$U15Dd=eC}(9=l>XOMK#=}CgRPZc0;2)Yu0Lx7#cq~EDU z8~`FAq+!-?0Ce)_fP4*qAHcVi8v<)Uo606&>bZ*qPI^=oQVV(^^Z@v(lGMhY38Mk) z7{;*1=Q_klm=aKWO^}I0y!wy@!R~*>B7t=YNPe{Ir1zrqW&RtFQlB!u4vqb;fG_}( z*$nV6XWv@rx102qqsQti7W#oSfamIM(l`=?`H30>(|$q>xR_R>cB9w?R>c8~}{b5K3-0{tiR=VXj1rXo0~X z|KAN66?^qwlKF2^yJVluSe37r!WTdnMtcX`>2t7v8+ib1oaQ(FD1HDryA(ixwl+)v O0000=W7V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=OVb<)(lD z0062PE`WKSb-IBog%*l>;AJoD2xIRVT?f$ p5M|I)7-bMmvoMWR!sH(l<_Bi002ovPDHLkV1kJ!VF&;K delta 206 zcmV;<05Si^0;U3xV1KbmL_t(Ijop$l4#F@DMRNm7?Ew&EVWJ{mVr*{HgY*KN5p}0& zv#|uHLd4DiP=&WV*n+a diff --git a/graphics/pokemon/torchic/anim_front.png b/graphics/pokemon/torchic/anim_front.png index f7eb75e3de04e74b2be2ff7e749219de34c12f07..201710c473e85a695e05804e5fa8a1fd06480456 100644 GIT binary patch delta 620 zcmV-y0+ao=1;7Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;PW=Y|8d z0006bNklv2NQi5QeEjhS8<4tk~I%h)U4eWV6c%n<0bI3YCnEE-KPp+e+*c z1bToXKwqIx)xeqk3?=2DQ|?#MS-0MY|zTrVt3uSS$qq zV&PVJ1M0^z=>t+J&VwkU0g?07l#@UpE~;e80lQK_qM(BKt&bU^#S^632Kc-KZPNHTThsuZl}aC+*~{0)30j)n9~lh1n}ej z>vH~C-IKtrk$*CAJ(zFAHb**&=B`ak0j%scX)XCJM`f2+^dC7Z8(S-MXN*ZXkLX(? z=36N^pU}Uw2gC`gpyNc&=v^dQf0@MveKj|Yv32o*-o?gRTYv&=v~dN{Ij~Tv^$C1l z9w!gKVS&XVT7x%k743ysfF{)<-tSS9VHRFp;Wvw=`>FLq_q`b>*kNrEjJG+wrn|FD7 zJP0nl{bj*;5WF@Y1y}U7ixVA7&J+5^Egg_18LF@q@sb8!%(Y40Un03{FL!MJ8rfgH z#RbA>p;We_3xunO!>dE|2-MA(mpgpGoZQz~-GkhRfbj>i9>OJLQydfk0000ljA6vxlVQN)5sj%2RSt(bd9cOxAgNELyF z9d#_icR_53_!yWge}F1dzXDSS)DCX*1!zA33q!X?`3&4$DyF<=goMQ4x4xhL@7b31 zdxW(0*VTL6(2om_6F>ei7_Ta0!U|K1F-i%LMg}JFo4{i-Tg!Z7OQ%E1_Psdd2_QsmXwRj zsp90=b3=z;Jj{(o-((%2mc@REC0?&yJ#6%0EN zj8Pe5;DKP<%H-~V*c@Qi=1rk~ckOPSN??JqTFV=fJ1M950nt@zdW-=Nf9oHZ;pOh^ zuVx6~?GFGab8~^72UhO5{X6PvZGTYS`G*Gkd%0V?g8&)&K71YoJI?;dc@R9+Z#k3j zZ$~3V1zTeg7$9~n5J%t&F5!sNT^M*UR62UShsj+zx#RYqVfL3V@PM#hNSTb_fN*rT wdbFx<;T7yVc5+ATPl%QK80(W(?rq`q3u`voKM?NX#sB~S07*qoM6N<$g83ICL;wH) diff --git a/graphics/pokemon/torchic/back.png b/graphics/pokemon/torchic/back.png index 8c23c6266329d22eb64aba3f01aa4d4869df98c3..54770135e40e00710ec3be9e853369ad0db9b2cf 100644 GIT binary patch delta 430 zcmV;f0a5;)1eFAkB#}W-e*gz`Nliru=LQE4DmH$PQV#$C0eDG7K~zY`?Ulbz0x=ZF zOVSHrA>1)I_esJGbv8O6gNb3_$4sKFqi4K66L)i?F&ZZ}{s8|E*IP|4z#n1@2ut5x z9NhS>-%sD`dwp#gJLqq!gn0=dJ9!DPCMq=1l=76ZWrGBkQp%h)e>;W1iQNea)GYv4 zQZ}e6>#_^50?4T%!UX`d0M5uFgarf*EV~ea69v@Wa*RMw0JB?YtGM05J1WG&0@@@> zBSF+&jZqd*Dj|qqVw4(NKn)1Otu_w0_WRW|eO4R!OL_fBN0*&E~e91#4#c@wDvIc zk*$*&dxq+b~ut0000007*qoM6N<$f-n)hIsgCw delta 436 zcmV;l0Zaas1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?UOxA13?gm=irWzCU|#+^^Sqm$y$pRF@+!&`KSZBYw3x%BiPH8B8pYI`~d%l?X^Nk z@ZpJ!+GV;1)LW4v%yA;|WuLRc9dZ^Tlb04xqzVIifQLEJ7Cj_poZ zpz3Tp}`mXYph>N5m%LDbpdA!U}>H79EVR2q!d({+ejKFVX3WgB5oB{+N3 zZg(v{s)XsML-5s>tLc|h*yYV71ZF2(a3ju0~sM6>uHFeQ|%okGLP~M^S|LkqEg8=i_lA zl7xsGTKgFK(4LbUd!W@jln8!WaAUX*o14@(EQjFT7D)L50F&;hU&djQ2YDHXdhUO} ez&`&UfFHu1k=tz#F1KO;000090^9O{4=OmBH-88K z006&9L_t(I%jJ@<62dSH#`^|&93%=0ra`W1nd<~c>)=%}8?M_O*Uq(UE~!HxI6l{3 zlgqzPsh<-R`JSVZ{{~O90I0D7s5yY;tS26@_>OK57T`Cr6n)rjpl2X;6=)m3cMPbE z<3yrtAhNu7(4_Ii8_6`t&LG%P%%Wnl5)?4?#%A@;Dsp@PtTq_6v{b}{sen97xwc1f zN$*@2gn?Gw8F+2Lv7AB`Ncg-g+#fJBHubzrUJWyRY?vIr=#Mu@k!1r%qQ$KM0000< KMNUMnLSTY1@NDD& delta 223 zcmV<503iR|0=EK?V1L3%L_t(IjpdS|62dSHhWiG293%?MOoQCiI@bw~*1@Y{He9zm zuB~ggx}*+);E3zj|WBAxTYK88|(&S%eRogIElFAA8X%{y8!q9{{Tj zddV&2@zhm-pC#Y=GrOcUW^e?=Vvh#_?*a^|$*KYYU)MZAYw002ovPDHLkV1nLzW)}be diff --git a/graphics/pokemon/torkoal/anim_front.png b/graphics/pokemon/torkoal/anim_front.png index 71f1b97fc4be364a2042b8dc2aa3a27ea543a0ae..998e6cfa3047f13f47832a631c5690af75a57ff3 100644 GIT binary patch delta 1635 zcmV-p2Auhn4X+K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;Pa?l4cD z000IONkll*O6vrt*0Rm|8>0}_NyohXvHeHVA46QSWHjAdVh6IQz8SU)M zMeCl3EH$D;L_K*BY}OqTz(4^ygJP&iY$gE&c(U#j)NsB)5PyG$zIR87lq{)Br_g{w z-TnFAo%H_iel(2#`O1*Fne!xXmdK2UiHX;g7#VojR)P|l7$grfYThy_Cm3)n08HhT zz~*qxK|nG^U|HO@7=@d;krl##7ML8C0wR;MlmH&EZKee#uGNA(bS|C1vMe)wfq>1W zw*ZS%D_}%z)_)?5CELwfY6x>vN~qGoG${-PwryK5U^AvBAU!2%fw5whh`RIyAzD~Y z1dNPcv2du!lF3(+qgtIUsBS!{Iy(78!F3@5aUVXzA7iL=9sD$0!;_5-;kR80fk41VNPlye`D{>cu$-)*{)zI3Fq4$bV!7LOeXXIImRPHy5wZE=NLSZuwjGSG%I| z=H2_#(|`WE59jjjhY`VI)u-035H^2bsjOXIp3DAadYPF|jrx|&#m}bswUqMh<;81x z^1722WYz=9v1q@P^6c&9`I&s)KkTH6ez_)gSRM>vN!efh@Q-|cb|%B8NzpI2ga@@s zQE(s+yAtNR?pop++7e<1DiH-;$WnnEBLeG&@PB#)the~QUy&Gv99Cp1g}EeUkD{YL ziIkwn3%zHBl%Oc(9!4+;fqB`boI!b(lh&{V-?T%O{}*JBGpfv0PMlkWnsJmX&61?p zV>p;A&an)s=W9azLbS0@sGg^!P#y@_ItYG3+cLAXKpDXlux(YJ**rLZeH~N4IAkuq zfPW=&bT8*+-Q8+Sek>i(7z;5gR?bYg2cl-0bT?KcO4p)+G| zW;w5kAc&gy?1**aT^KI^an}RIfqqO!NB7?gAr5+~4XlO-4!JWFToZqW zVFyg@6u$LvH?DEbZ@T_=;v5mQ4KQ^Met)PC%mZWf`s2sNL;$-`Hy#LnQ)BfT_qKE8 zkLS1Q#aV*f&739g$AW{)* zSX?>)P!4p6WDyRe)GZ92RSO(D+Z}=<3O(qc&y3)KKG@;g)L=2>j0yY@PmM<~-2dQ< zYt{Rc1WADJH#YC-=EH^!4BJT3VSl{cO@s>9MZSXnq+CcPFj~M5t^3$w3;+xWj6KFp z5&&R`R=BBwiL>&RYI?FE#2<}AV=7>@K+y7Pcc%dc^tk=jUR89a0R{-7B@YgNV+vq^ z;L&Wrcqz6mYZhP}@4wozX8}g;mH&t$U;sZ%28>(2&-gC#!_s8H00Qx$jDMh@zDNKg z<@C&Aem&S?s^W%#(c^qrw3M6Bg5li)?7|0tL9sH20t*0R2XG$>`nCp)o;rT#25%M& z00XKSJIHMf7(G0lV*%BG5!Zc*EFfS!LxF~SYz^j3DHTnlX-W$qkOYrVH!VPh83008 z;u;_+7LTI@fja#0Xw9P_RDbrOs(Ks@yCiUxMB9$bP!h!lyf6?{Yq3IsLyr`xeh(<9 zDzwd80SLSu6@npNFcm;s2hMiDgLUEUH3yD@Et1p=22^^@+Y9y(AmW9xwD+BJ;0klY{KmF5?tZ|Az^r^8%ZHN zY`S-v?tmYhBH{tOJ*-8i>iIA_3Df+L)p!7Y&q)a3M$tGw4DkT?!ToLmKcw+sB0nT} hFpVD)7k;Gt@GsoFsiM=Q2QmNv002ovPDHLkV1j%L`O5$R delta 1608 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 delta 1375 zcmV-l1)%!B3#|)~Uw;KSNklq6+kQPR?@MutLrku|cdcvqpe z#eM-Z!MT~X5d^x2#S~?83nq9_k0DtGdTWbS?{U9CE?X!#r(D;$_?r4N^o`^{(pVF> zbC7N6r#EkAqM~r^DcP5%9_6Zu&Q~ta8P`9B7xs>+|V^G0WKh&7d?0&a;Ckk`6w6 zWb8`U@fgQIb`U2WcYgozm|bD5F?OJbJ{AJF^ZAVUK67w1aA3 zNsq;DI2vJxUh-64-mX$0oyP@0=>XG^UUumjbw8zn026iZKA4Kyz3jeySBH5R)J>(B28cVIa{!)%egHx0 z0S8!b4Rju6@TCe1Sr6U?z`(E56#z*P%zvn~kJW(X0?Fd>HT&}#7CZ-d*;6Jk(p}{b zLL)lJ0+0kb{7aobDg{)E2+TKyP^YU=#39_rLw^{FhQ5KR44sSJ^e|(fGl$unA>Fz7 zidGERNpTv82kK7mX7J**$`v?j20G{|nGlDwsXK=q62VK1c&nwZ$07c~Qx5o$aZDJQ zmy3s(PG>b_5Z=Cz2{DBG2@}5>14kP`JP-_*s)VrxkgW;DllWFrJ7za*(MR?T|1tqO z$A65SUdKST3pGw38a%BB94MEwdx+Xv5XTs^>mv_&UL^x4w%1As#yH@`n{m4QsW8L- zNkWhxW1ymFdYbTB=v9my`SJC(SJIH426%e~OTq7N?ze4EM+QoTz;Ms9HTU@u>86$n z0gogwyi~w$4ObBbWugb`>YuL%S176eo4`U3t}3hQpY39)2P~=nay@|RpXfnwE(BQV0gd%Q1UB?Q z6pRf$5CkJ%4|>@#ER$aALB=1JdZ3J#dH{m)`Ryu&wH|a=dhl~MPY;SIJ)mxm9z0*` zfkSJXdI0{g(gUZzMGu05Eqc)3qJIZdN9fn zjEo+v1w*0-AQ)rkq9oOW#>E$04-EBSiym0UIt3+H4~$fRd_54J{2VZL12>VAGJncm#k6}1?7>v> zAp(K+qEe8y7bl-U_cQdpS$B70j5+ijMECvX_x`iHjGCraM%!G8{1d>|Q$X%1AWL@s z57@FuUQ29X5*FD@Wb+#VQnWUV$uL3;9P?OT&%g}!D3BmJjF5o%wN^kF05Bsj{KXm~ zkz)`66uFna?=RNe=6_5^0=j{~951Cu_kb+PAwY_E0Qfg>X)JD(31!0c0GKR+v=Flx zNS1YmA$39#xO)J26~=B9NTT2wME#s-+#pl16D(o>D3vmx9tZ2 zH83S(yUumoS7vN;ObJk>J68HJFyNdrj8SQ;eY+P4phkb|1~V`Ej{zfp#_ROdl?@k4 z1zK70knIx0MF`AJOU$3{JEH( z$mKnX?~@7)C4Vpz`>wlOk1tdVY&!sq0VrYr;^6#k2vh^$3V>EyjHgnt-|gC{NGm`G zfl(khZZx{*a>geB`{n=Cz)LVxDcuE9qGB3pf0P5erdMK!dZ|o5Q zW(;sj3x6p)ilAw4ZWRG^J-GJTjv{DDp$d2j*U`Q*AvskAyj0xLsC#b$2#mH)i1FY9E@@cFTga7~l M07*qoM6N<$f_HXt4FCWD delta 845 zcmV-T1G4QE^?jqGho1jFkW?9`u@nK#1Qi)<+E}0g=zJ-P&1G%=_*;rGKzsHB^ya zpTT<9T?43vDH+>s->AMeW1C}2fJ&`E>notgIb|55)YSWKXCZ(Z{HHutqz(dTcW4ft)gLti zBMifd7@f%F9cmcMKwko5v48J*v-MDc0=C-#1OODUe|d2Jb`F#y;2MBNQv@R^*l)F5 zR3tUv0)as!IIh)N=W@m;0OXhL7EEaHNYMGrFIuhk4Dcin$NSuCO2MVgYoKUftpanw zK77BpsI}WV0C$P=FH+Fq@&~U0kXU52@lsO?Yzy^=~>b5Tp8BfHUMq+8AL54267*QUHpG z^Hs)VDC9ke8t`^=?s1+|8Ixf!Rst~Cb&of4Dnc?Gk2FEGaR`8~MKFewf)W5w{r=TQ zL3#eh9wA^WfK!@FxPOZXhVkZ36F}F8Yp>l!1S5`nSO|Cl*U_#vAr29hfEV&R2KAOE zKmu!FXiz5`PrcCg0Jzs-hl`AGAg7$HHo<`BWU*3j2Ke&CCePJ`1PY3Drtsk?l83&U zAO#t+2ZW#Z!DZoz%<^-=GZf%4z1QbvD zipfI{>8B8J2X8Xg!}guhje>_RtV*$m#x&i(c=I5b+xtVBy!^`8A20Aj!wT({Q5Sy~ z`y$f?UIgK$1rlxIGz^h%6Vv%89fd0FZ{m_@aiV&Xw;fPXY~6a68EgY@)# zdEF)w{Xrs2m&XygmU27?63d|wL>hl=s(hK5#b7BSAqM?s0`UGylJ}zf=qANx03dTB z#j{aYA-c1dQj)@69@x0O9p#iFVh{$K`x}zBiXm6qq1K8Ap-q_Gfccv9KJOnq0j#+; z{wo;vf7fpW*;#vnST*+rv1;rIvLo~aF*6}k9|(fv*&GUDRT6uG?2g(K#J*W(+7|?w z_65OX>11|AZ#6Xd`=j92wmkh^a^%}8wowP5nhnsS1+V6sd$f_7j^X%mQi j2gd$E>IazoH(VK~zYI?Uc)s zg&+(>FOO6T7M=h9+vxxbSH;~drfQo-HGW}+G>BVKh*^*|1a7~#X}FsoFJE>safH3OIqZeO(JXt4-G1L!*q z)T{O*@bpQf)|@1NV_AUd9TiAPidBy54yB?m0HlywNX}StMBBlH>$)Yf3Rv`yspnvs z>A@{AP?v10!K;{6=};s{;7L?%8cK6CLwlR#7fa&g0SzwZJRQ`a*mm zm4J4u#~$$d4hIVzSZLR0DX8&L{~R$?%IiVY*FY~*Z-?)Hj%oKjX1ar0T^hy624ePv>4e`v3s|{9smFU07*qoM6N<$g2klH A!2kdN diff --git a/graphics/pokemon/tornadus/therian/anim_front.png b/graphics/pokemon/tornadus/therian/anim_front.png index 574aa1cc7b082a1da82d276f3d36a28a8d62c746..cec4cf0248f87c31390acb2d185bc9bdd04e62e3 100644 GIT binary patch delta 1669 zcmV;02739k4bcsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;R-K}}QQ z000IwNkl z=or8jJ35K$h#(L^jRqYw6==H@1`3yhh?^P&9fEktSojYpP=BC*L*J2-?oO1w_7+oo zAHMf^cf9Y{lEe>%T`3QwwULIq#Z}xi^>rdAr3@}^n$?;RPZcG#c(}MWqfr&h7gJ`j z7eA!NfXS!GIFf2e9H6LTiXM7m)-tFcwF_}wH3T4o22UXYI$Q$qe3`G2K|QtVAO=8G z6M-k@rwASQIe)+qy4-tO9ihRnCIWc|WS{Ne5v1rY03!iR+8AE|L4TB^Sl+?up}oFEyvZ^H03WX3a({rl7xc*-=NTX!yyF2$_D6v~ zuDaZvh5$&iWrt(a>asgpiJJ#HmjoBoeFn%M>T5ta*2gXO`{u)25%BQ%OU%{0xfX$J zXNC)SI$|XN;P|a`Ji~M_!V-Y6y8pH=>=)B7o4QAV zS$ylSOMi{uFB7`M%m~0|(XGcfd<$MP`WP_>95gr}i+Nxgzb0QHi|eM&0EhPYQK@8B z6E6c$P*(tg!23UPt)o*0baYtD-58i%^rd^3KUznpN8J@L(J?j)@mqv@eaX43xNeu# z@FpR~V;s-JY!9{2lYN)lJt=zLq3>zh4B?ffY`fg+sYwnM(a_79nSjdkB4KnzkVU zEpa9}kZ5jIHdV;N62yPcB+J^6z?;o$OJKvuj+VO}HrIwY31P8gpo7noajUd5!n1&0 zLMEK(Fs+swu#tW*(vLXA-ZU}G4MW|Toqt>KP0pp96#%S!{XuV&Nb*0bfsk4dDny@kg6B7Y3lp)P3*0<9r28bQu6W ztbiWK|1tU&9K@=L$fx9a`A37!#nK?8AqXac>0S$x58B=ZTAnQFQpo}Xk!R`-@^5<= z+~Frv1Hm+d%0Kl7OnVP*KJoy_KYwY9{(u^YJTLzi0e`Rt)PxfvRI4YP{J%>8<8hUf zf2pB~fFG)bJa_!bB}J5fj8#10PVk#|B5;nwF-ZFvXCQcWm*$b8fTo7I>EvckmB9Fn@`*P=^B^ z->ex72E->O_y++{sn=cr-^c!epM}mu)yFH~qPzYM0K9pK)rE(_^FH+tkbntS2R94& zjXsSfeiHeIyyP%(&0-rOv5&%GfNJ+HHLK-1tHsTSarrRLfQ}u_I&x204b=}K;Q2#J zkyohaID))W^{4LQIrIqv`hRNJLqqqlCK`w-H4vr;aWD{QFgWHr~go3m&O4Y z4h8itm$oqgvyvJCWZzxWe^~+GU!OD~6~t`{i1KZ1W8d;gVCoc@UqO6LHQIRQgK%5Q z=W}ovSE7Z97Zhq+#IB6M9gzAbNx-J=XLL>ido=g8qSH+%N#vhSKz{upfmYlgCnMa7 z0Mf|i@|*O=!!=l6Y7ZLq%Ekn+S)EAzWowgvSnTFo?17Z^2qwilfYKC}*|^m|Na^Yh zo=1|q(LYd!V8G{6yTw0HplMj~KLMNk10Buyv0MBDlkD641KU~uhky7FT@vTIJl4dy P00000NkvXXu0mjfMj!?G delta 1639 zcmV-t2AKKL4YLi9Uw;NZNklk4>9^DK0t|)hP#C@u4zh=$bX@f%EdLUQjNt^1tb+t z*Z(ztRO00eDXq{89+Cn;<5OfzB&mo4L@A!4ho5NG4DS2wLR^v57?8okuOR_G-2m`> ziLa5tJ*i^i2!N;@2cBpjV?5|{fEw$v^>t-}hofp7*pGnhw})f`DY|Pw-2!H9LdHO_ zi;}+zvZio={ePI6CIGk^0wqn1fK30-p9gr3@vyqCp{a@}ieZ?E5`sBhJ9=`H+O{F6%RCVtFKdgw#fj%yW7_sAhg^*U6TC> zKqqf_013{-b*2@IyHk$=NYD*$s_EV6j$Gu{fvqJad4K6R0)%(91mI1TX*0TBy?Y%8 zY%=|va5Y!AaUk1SkUW`Bq7ndb{N5E=5H=!0j{#oC_Czx0iO*yX*dsOjsg`E|`7OA0 z|8*_4Uo@wrDK-NZ!L7fpWq!ZR*bdWtfL!{w9wodRSk8nCF9492LI6YH?H{@3*+m3&6nK|M0k9bN(Y@;*^|On!ZV1d2LbQA^ z3$N8j=5^V!x={^#<`FU_!8$BjxQU+}TiotR8M7eyIs@+ahQkXznnmh}cKr54k7Za6 zM|d>iHWx}&0D#zBf<7r-TGntlJm&x;87^@k#eef7h*SE)g24l6`GDFlA;ojefwMbl3cDVo-hQOm1@3ZNQ*z#pNj-x$F zFMmzz6#9^5c}D_P;u4vVXsMTXRmj3C2!1b-u5ZVYy;xQ^z>blfY<4?rt{rje!OISS z4!PQn>&3$fS-9*kWa1BrV5Fr|9X8VM1@;kp#GWSsp{`1Yiz^+T-23E*!)J$EZ3^Xz z-uC}JtCZA|x;+nJQ?^vm)P}m%L^Mizqkp2ScgK-{8dbDw9eLyf;{o#xn~NO|0_=kr zHn_tAzOU;0RE}ghA-B1c8HK(yB-x ztvoOS{ofb_AK21=sm!!71em-_JTS@m^55rxSdA>vZ8Bavh+V*!vtKc4>$c#I|S8w9L74fDZ?Uxa7 z%d0zD`icUY5)vn?nEcP?i)o&zT1W^dy!LvtgSn*mvbR=$roFuUH;!&J?SMoE;{N+u zLfzp7A93Oi{(%Q({ub(Rz~fcIU_?N0VuF8&0TT1tYv6l-60ue2%p_$R0)OLfat;8z zdPtj_U(YA2N!*z&+E9$vabj<}RK>pCF(wMm;>TPPu6^12Ja?LbD+b z1_BR<18$b6C_2meKMXixaen|tqnLV^iU$OMMN#qrdTb^1Ul0NK*P#ta1#yD`arxE{ zh@(5y)f5ISZy;Wc0jNzD4hXj{e!2vQaTB*N{;;98PL1*e+ySk9v<(={{YM!Wk?Ra** zoA0m(C~H$f3m*WAb9l{6QFr?Xl&&0-r7yWV{R49dDts>0JNyF!8mceIyZr+jjo`66 l`~wOl`!4?wj{n6!{0ChU=em9w2&n)7002ovPDHLkV1h~U2vh(7 diff --git a/graphics/pokemon/tornadus/therian/back.png b/graphics/pokemon/tornadus/therian/back.png index 327d3cf6ffabc2a61470a37a8ea90397a6610009..6f533999f9dec32c8d188f19f05584fd8c616ccf 100644 GIT binary patch delta 628 zcmV-)0*n3Q1=Dztnc&AB19`7_tf6(z}kB(!t-2d|M z{nJLk2k@FaY=F2+fKj5K1LX0}C;&0(U%DR{GXZcbJ+1&A^bR=?cHH+6nSjWB3zzO0 zz)0@^QKtv@(qm!(;Fg5+9tH539_gV0qCFrzngR0Aw9!)@RKu8nkp`HmKIlV5XaGA_ zL^y`~_Lb(MPWn*9e-iPmKCo~cg(}a5;8+7rcE@F&h@VwpyvrvtFaB^7@VLl z5HkYk$=Nwni;!u?g4qs;%L5xQ6#>o|$xoACm9?~0K1D>%e^@+ESXu@KJ(&*!0y4&i zbI!a9F!4VY3eU{P3{$OxtRYiAo)LIXrO%UP08-?fRw}D))PNn@$Z+E|1DgEadC*H$sIhqwcXpzsSoP>U|8+ zUx-7{NXz**xH-zNP%=Nt1stC*up@#tRn%j35I~K9d{gNKR@?p0yxD*4@rq$ECHY7I O00000)+kA1>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` zrIf#K+CUV?Psouv#-U4;r3z9z6aNE5GCv|ONQvptEvnBRGZ-#o21E`qb?b>WQ@fN3 zsiyBAsMLR|@7cy+`_38qz!K8;bKmcKyaRSzE%r*aP8(HxcV9c+X|kZ>okj~h-ki~~ zS3k5v1n^tRxZ?alpO6B6$9c~K z6A(CW`K5El`BZU-#^`4m*uw;Yu?CoB zbKnb`&;VAL5&neVx3B6tI~nl2Rsd)9h53`f&vdDjgc@+NKTbM-5X`2#J>)F2-6QjJG_J>f86n^2Q55#4teO_g`7rSN<&t z5z9Fda#p!jDG&+-@JZPPuQoxl5Z-(bgyn?|MOGfn1=`P|UzKZVWqJ$%QiyO7iMR|5 z`=t9G0*Mf#g%rJi3NUp)<_^!og#==40`-t&IXxrr98=B{GXOD2iB~FN)f$S!7zu29 z&45NPGVW{yG>us% VieV0e`^>R7#K@}{DK)Ap4~_TaySb-B8wRq^pruE zv0|xx8BmbD#M9T6{W%*uzc%N^PkumoMjuZX#}JR>Z>Jp0I%2@%;;baO(JtfP|7`0` z+jDhhwu*7tuHiFGQQKt0_uk^(*V%`P8Edp1pC#$2*v1_=y1Y(|{S0G$VxpPFWJb5M zt~nCtZZ)-aZ|dx~E%>%i;=&EbvwAawKQyPj@Liex#)$VyK6|T8)a7+GXLRobGyARB zYktjQ?S@8uWi46$Ss58T&Q(39Blq*@C0<;%jIaN*i_)jNM=nOOEIb#xK=7t&lj@6( z$h$f+G9Pwrc$Sjo%+Flj^nCV(9rX^+h1%MFNI&O<)FZ9($5~Dk0VPEZtn1b^to)VwV00B-(L_t(YiS3lZY6CG0M7@@bh!2|o|J#n%No&idg+if+=&**&L>kNRN_p3B z3eN-ZqXZd;v5@rm0WLoDYjeOH5Ee#*D;Z$aT*Pj}wYQ+5Qa15>2Cm*00~&ujs9BYf zf`3Sc-juq=lwqJgT@>>2A8mC zQ&We>ePSc>)x^B8(Xs54qxjQy)Mwkf{zbjs`2diaA18p! z{5S$+=En&j3qMW(S^2R8WaCE$$i|NZkj#$_Ac-FXAWOuBA7ub!x#Z4|6)-1$tbp11 zu>mIYV*^a)M*_^x{P3F}?Hhi0#0)&}IPv38@$dmeJ{V_57>E7<000R9NkvXXu0mjf D2}#2D diff --git a/graphics/pokemon/torracat/back.png b/graphics/pokemon/torracat/back.png index 1fe2d1b172461b6c2d701dc913f0bfb8865ee57d..44d1a66f2e509774c6a2631d1d0ed06cd7ea7918 100644 GIT binary patch delta 611 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 XO~}V}@kL#000000NkvXXu0mjf8Gc<- diff --git a/graphics/pokemon/torracat/icon.png b/graphics/pokemon/torracat/icon.png index b266274f57205c0aba4722692b13df97940718c7..83ade2247c06347cbc98a3fd34ab37eed9196285 100644 GIT binary patch delta 317 zcmV-D0mAO{4=WAUpNeV# z008$%L_t(I%hi&x4#FT1hIs?RprdR)j){r7yR=)K>}~k0ILL<3q1}336-v>;#6%OX z6JI#!e|(JntT=sHdDpoYkda0jl+-ykHj7dd@IG$yi~2kO5r08ns{!y4cms+S90K5A ztknc$Sfc>|F1DK=lV4LpsJ=J|}m%Yr1!_H)pD~k#D6# z*$8-WHmh=ijA=9F+T2AXWoa z{bsdmjIDCF`2NDj9&n#fP9+>1L=ra7@0#BMwI$fVTxhj5@!4% hOz8&;^N)Uf0~B=-$|hnIf}Q{X002ovPDHLkV1hwNf|>vT diff --git a/graphics/pokemon/torterra/anim_front.png b/graphics/pokemon/torterra/anim_front.png index cbc7c3e52f90195b2e815a4e091ff4aaea18fd2c..8bc02bed79cd1c2226580519dcfcb9656895dca6 100644 GIT binary patch delta 1958 zcmV;X2U+;a5AP3@A*dhUBsQC(0_-J5qRQ6|4ZJhYPCxK zmBK${y>GvI@70g@kqzU@F=rY#jyaPoUN12h4b!sAWbrz?RW^#0lIsL>HeEF-jB5mQ zrbR8Z+vTh6MVgJpKe5xd&C8Nv>R*mk>+&onv2D$VeX$mER64K-0b}usOqOJNgp^G} ziuTfKkvN)let!o9gpzWxY{GyTmR2kJ;}2TK95IQsnyOTk%?S98!O(WA-8S!~iD*;I zyAN9iDr(GsULqF8300pFa3|kH7map_lra;_(xOB`b6yHceyv_9SvF`iLEiOvbD!5x z5PVf?1dL$9sUW`tf=8Te@Q+LgBM5H=!Y{HKnWT|#8GrdFj|i#o7Bd*@_PTxFWTjk| z=AO6n25G^h8?9Z#D0DkDOemQ-S+%NNED!^tOM}iTlwd z0Y9=6wN%SdrzZlLjiU?xt#*pN9E(T~hh6vhFb$y}oM??Fs zu6smjCx2#U`IhKAvpXd}q+oa5;aX1?Fo;iP1p{iM-Q8Y$PGp5UFJ|luR5|drF-%k} z_htkT+)EVPAIePb2ocT9k%u?$qJ3N0yKx+M^eFRIHA!6eU|Tsrd)$LWjU*L(lDKMo zrWEgdcPH)($5icN+C|0nV`k$up202`>7;Jgz(+wV6tTyt3r8THE**GIgcFPFV*bijefstQF}=3 zN`*-$E{0vNhN+$H$^5F6zBMM`M27 zXMeA--ecJOjIsLv+bi8kxpNzMnBV%k{x|gf3RiPLd=X?z9)$PC<6lPn*Pp=Nyoc*u zB>|K&6Ns(d-G9ZbSN(}IaOQtOs>?!%Odv$KyE}^eK4DB))Q@{#RDBRkvMj*M@n{6k zC0OERSnSY`VDm>40i1-b@rYC#F|3j3fPX-mvpE8IE*!s?Flmxh;-X^aB*3V z2^^7+`>C%4ktTqE*rxFPAd-T%6J${q`mquiIY>fCLEu2{(U+;97t0-(u6!fzNx^0i z9s4qf+}UrjRurQH9^uc%vxuKMN^lJEXo46nkkDv6J>{<*wc5uK4|G8n1v$RKS%116 zc*NV&V^oOaGno`iZ-|_G%*KW;_})E#svli8ds&=4{@Q)ao$LGd+2gaD1>@1W`#E!N z>iuuBtv_J{<3@Tgi_p0iuYG!Pj;`V@cAb4`)m*}R>^i{`T~!zIqIu;cZ$Oih{og9n z@>PKAQK7caA# z!V`rbHqhEsZ~%Og|Fk6AX{~PEwj^DYX82?$|EURVPy;}zml@)PR_wgH&wrci9z!

Dh$8~6W-Zxx_7i`pzdKzHA_N#$cH z2>L;UKvmM$d(QHLga|iG}ariCy?%5`cHOD>s>H z%l_no98@QQ1I~BpAW=JUC4cTk>Vh1QEP#ic7bjb_+Y2HQf?~m}I@wBa4h<^-NFXcy zfWZ~nMhC^Lp#a8NNFdO7I_(;{6?7wK!OS=f1P4cGcMs^=iyBN51-%d)tYnFeTwLlv!-GJlAo%Ua{&E0~cOoc!J3~Qq4f#QAimaIy!dVJBm)&0z0O-$9 z&~GRRF@}kt8_!VCyHe231V{%u1vQXZfd)3km(fWk&?qQEM1ScCrx6{i=3j^LeYgNb$WPPezx6o+N^bn#f8qWL1ak@qNFvOd|CV=- zHDd};m@K_kX6WVK`RUV8ztur-t`W(Z_w2Ok%nH7J98KR@_eNVk&-8`Y!I^tH733~8 sx7W{Jd#BEgbRWR^=;nVOj5M!*00}|X)x9IUr~m)}07*qoM6N<$f-5tQV*mgE delta 1920 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 IM6N<$f|f#vC;$Ke diff --git a/graphics/pokemon/totodile/anim_front.png b/graphics/pokemon/totodile/anim_front.png index 25e0a234e6d0854573fa83f9cf7ecfcbed86101d..84940ba3ab7505d94ac5de2572a41a8b09ec8307 100644 GIT binary patch delta 729 zcmV;~0w(>N2A>9y7zqRe0000&@K->fIl(p%hx4O`O2~3jhmTC{0J`V+z2WoSg%ll7NZ?)TUrco+8I2 zWVk*6I4mfFflj=EF$R-ee3IM1Lo_SoPm}rHV{cbq za(#@uJ)(e}XTj}ind^;k)O=?Yzgb-?U18B*(&Zk%`}`W7T7WLOFq8MM5cqB*>~1qY z#IaF&Q&loeypMzvsT9Dhs!HI&Zb3$2#*}tF;!_&%XY0)mOqAx_WaKu}_2z#Y))PX` zIpspck7v*T;5j(Q-Ub^ZptcZkeANOm?@Cj0RjExq^aZqGbw!n z+n1sa&BC6c0jBD$F(HJ*1-t)0S1M_|iF{+a>$tPdI(_hu`e4zf4;C%@;LdB&2Q+Z> zM;|O&^}(fV(FfG*{#zf!ML|5Y@<2;E28%e)))+wLIoY=sz(k>V2*WAWw+uM%p?*cM>cSMH=0w>M z)(|&j-{wJD>j%rxyG)qD$5Jpb4-}f|i@cB;9S>8EHQOCcDpY^;LRc00000 LNkvXXu0mjf!**7v delta 725 zcmV;`0xJEV2Ac+u7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0+~rfK~!jg?U>tg z+dv404TzN`YxVw*8%|rNsoep!7n#iB#JS1;8CX~gZntUErhRh*fEyrQl@l!s01*LS z(=W?{9z|c$XneTiwO9vMKe)gYC6T*-5DX=S$qYjbn zU5_D&U{k3t?B?+ZfpeYJMAH<&_if+zjYmRo!6j3ZrnNVb?@jd9llF`0q6T$fKaOL! zob*U*$^+BORlufK53rw5Y;3J2ZVK46r_R$`JMDlHxZRI`V>1WN0VuRJXxjI!HFw~& z7+k+)Fjjnabd~`%L^cn$N6HUGBrioaeeYV~Lf9TTfSJ`{??Y~cM+JbQRtI_%5`rQm zuB2WP2@2@ZkwLIXk^m>rMSz`z{r}JpLec@$q`Bf3K!NFoicj;*jb30bR3knS4E66> zsXH(PTRl{Nf)4;$<&22c53KmF68e-d$%4LWU$eh`Ad_~-wTBHitR2C$Y15`noAwiJ zE&%@j0-y}|vH&OmUM>JC`j-oU(gNYd0-)f)y9L0OoSok;0J5|5n*{)Ies<=evS&+t zdXb%-eE~r9M;O_Hlm~p`FJdSS?=dn4L}t+L^MCPwX&++;0x-t^;={g9%W672*Bvl| zjVV5S!v%m4y8QG3sNV@TItSn^0<7u-;Nw5$H#n-7s*T}&jQ_RESpiZ^{W<;@0n#`i z0PJJ@mukXF5DKuVS7Y#E*6Pk*tpgC#zuxZp;`G(Z^vo8-nt`owKe;dE&_&#mgw7=U2gL)Z;-sH-)00000NkvXX Hu0mjfv>;Ss diff --git a/graphics/pokemon/totodile/back.png b/graphics/pokemon/totodile/back.png index b01f0d33e2d26ec85462a1c5b578017cc53617ac..aa8a461bda4a30a8ed912785ab644bf0d764aef4 100644 GIT binary patch delta 585 zcmV-P0=E6S1+N8=B#}W-e*gz`Nliru=LQE4D;8Y(LxunV0uo6?K~zY`?Ulbz+dve@ zos&F7UHWXUQj{fk!9^7;=S%+pi2nfFk=3HkASPfB=MzFyYZACmcAdoAK&+)IL>SQpMbaO^%p%Fd(q)wtKNyCf1?QBTY;TO>>@B8 zY^l>32|f~DHVRUE9Wn+_z~0sH$hX(&2w*_->A7k|SW+;+pl8$H(QYJQ8}RAt^e*x6 zky>1+f!os*YydI9bAH+e$bj$)z#j4hAA$`a90nSo`Nd@h-sh8eUFT95AV)oOPu3H- zQUKKe1S#r{8*g-oe^qM$l-`~|yZ}75tw9MUgAH)dn#2I#Y=p}oxp}C756?Ctftzwx z0q=hNBJEYBy%K@GO5z=Sf8WmGYGA$qyb0hJ7JwBmfOXl42A;42vjgdI4e$(!v|Xc% z8NB(d@;dcn-qsN)wG~o^f_-f3CF_^hT9*^>Hx8y-YG8qYe=lWb*~phwU}6E>3Q!|T zfuDZpv{PUY(8O8~Z*+?@ztoGe(ss-O3cQ`7*cq3OWo=N;0LpJ+jwThr8v$5DfSJOD)nLsRjbHzo{$cz9 Xkk72$Hl8kH00000NkvXXu0mjfU||yk delta 594 zcmV-Y00BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0uxC@K~zY` z?UTQ6(?Ar*FDH43Sa^01Daw+&)KmzT^Mya4jsF1Kkp&fV^B)v5GZfYiAXP?Ug1L>< zq4JQa1N=)F!n?E2P2vj!5?i10!_xPo_v8DX$z%MdfT#NN7d@W(@$qP{-izat7{7ag zgIFFSFdglw)0;>!k$ygZ2{U&cIt5?C(dY3=;I7k?z=0L>kGc`*NWlSveVG4_4`T`Y zfH&{wKT{tcSr>o?_;H?r3!oObFV4FF9Z^vO*h7)xL%0J(ecsLC8DO~rya^B&4uF>rfOFZY0q(E@cLUjJ z1Be`ntXrdx8T{p<_Bsm^(bW;Cj1@{nlE3ci6(3fYMprWkb`GXr8DND#pj7VI$h%Eo z<^a4J&?72|zd=NQx+$;+Xk)8~Cnm)LUTUB8oIKpVs_)l?lnns-c-hX?A<);mDveJ$ z$E&29NPoRDEkIeH4Cbdi5*85#@CsIf=JerdMYfJ>uY*?3oQWoSgAl+K$X?{ zmJje~OKxXGw^ZX59ZTFpUAzSt>WVdH&Vpgp7&Nee_FLL5qsb(QRsh}-V5jh4GkE*Q goNw4;{8JF}2awOK-83^}YybcN07*qoM6N<$f=L?`cmMzZ diff --git a/graphics/pokemon/totodile/icon.png b/graphics/pokemon/totodile/icon.png index 786d20e1fc27b8d9512f8bb10df4ec9246501e3d..80d3d1766b9d77a0b1d405b27d3d9241294d62a3 100644 GIT binary patch delta 264 zcmV+j0r&pA0^b6VV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=Wcd{c{ii z006>CL_t(I%k7da62d?Xg>!>F3>GAkD`3z}4~4}ck<6gd7zWg`D{!6ek6>z`gjO}F zM!*bl`{wOSHv0kmc$v&u2~S@pCA9U4SUGStE5wM_hQ>IFdX;~g>l z>nnf}8P%q)I-4wypnan`^<+XEwoF)$q;8W`Z0i~9Rb@cCnWyaA)fq(y-$VJ!dv O002ovPDHLkU;%=X({DKd delta 228 zcmVYcW)XyhbNA=(f7kW{`0+9gH%jPyUMnG%Ct~Hm)hrV|Bem0dNHG&j zEnb8`h-keSYUvj6*bEjf_FJ@dHYkrBMx^y1bjV9QR3et=S6wE#?0r!Zi#ZS-=Hdhx z=PatrFo&QY04lHhGzk9nuCD?kGKx*Ih>)I-1WYFRIBQ@a_P|JC3{2uf0|WeYL4Uug e{0Nv2_;>-M$D~F1>M+^>0000|lwJRloe2GKwqa@B;X**?ZreKB=lwK0ceL|G|_o`EJ1ZW;H!t5oo?Cn7u2k;`3e*qi;)svh7Ck&ns zjjST*y7hGSbA*%60U<5jwG)6akp2!(0S*}0(}9X97XkjTZS9m2*zDt^6@X&Ip5>s2 tv&%txrQ3w-lO6&c0eO==0w5PB>Kn%|rV_Z~)ZYLA002ovPDHLkV1mFjfX)B_ delta 380 zcmV-?0fYYO1oZ@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80nU+$Re!rA z#($}0WmVd(*;e4PDkHXokcTtjTdTT0%F1gpQ1=hjkQ(&+2m|ojig2LczqrgI7ziy* zz;2&a;35Y6upsUrpf$Mf<4w}6XW+_GRzR%*eVuNRfP*Nv7ZY)i(3hzPpdE(ML<8O* zo(TzD4x;rrxaHt9N#0^ini4eTU^N7N(!EKp;{dr5pn1dyvqNOr+k-d`;2>biCmB)O zAW%nceG$kAlStqmR{~c74F&APC-ByjlL03T-VcqeBIvsHboO(Flg0rde?wCO5C+oU z0V==&1A979G36q_AGWQXQUaU3oU{T^jM%dr^l-r=Tf@X6z$1Dv z@;nIOeHEA(!wRCW4#BhKeW+lC4_6N04@Y{W6p&@WDT1M91e6=02>4%m8SpAL@dwH< az5&NCrV`zYXwCot002ov22Mn-LSTX|wx~q_ diff --git a/graphics/pokemon/toucannon/front.png b/graphics/pokemon/toucannon/front.png index e9131805ac67ca05827bdc29d73cc7e8b47a47bc..4856768d67827d524ad209e365e8bc13333016b4 100644 GIT binary patch delta 634 zcmV-=0)_qS1>gmcB#}W-e*gz`Nliru=LQE4D;iZy53K+I0z*keK~zY`z12Ny+dvox zaK(_tH(jj22 znjQUm^^0>}1ZoSTyeu0Ca90JR_28~W0_R_flayfdcq;4sX9aBf0a@mErd0-;r(Fe1 zJSe^_tFWO*vi=$4@-eGGox9Ki#9KgN?fyw9XZ$0e-vrnSe-@lC+Q9{1ylMf)2cP>n z@EX8{KUxE-$?*M225iruo(@bfey_lQ5?zWcDljI5==KTZ5XTr3+tvfw!cK@<`g4FW zCSC^K>2E_SN>nvqP%ozBKnichn0}hc`GM#`XX3x8?*PcT2$->(xarDHM1}zK#ycG( zUgEJ9U~~>UaEJ3*3+OJp%fzEwK*OZfisC441Kp*efY%_pQ7j0M!=^Q2hG7^j1yP{> zLOa+@zds10^opvNRtxD&F|{72VVb6~Aui4OCV==QHB(Akh9Gii`_~st|L)iPH%fMi U8`X=w;{X5v07*qoM6N<$g2kI7MgRZ+ delta 643 zcmV-}0(|}81?vTnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z^qfK~zY` zz0|*J+dvct@QWaeZ@O-U4nbf7%~XV)zo7qs;gG>;Gl-~Dmw9^IERzrE2BVv_kG{@oW3^A1QuHZdC^|-t6u}%BbI06;QM>$WKQ1NOQ>dS>P~_A5b##8;C#^z z&iLX@3jm)&9u^>f*aFVN(Hc-gMi@?V;0AyOCNRPHqXq*?Oew0V!I%(YIww?19Aive z*9_DMHzT^t_kd$ef*gD>0zhSp>H!Ry#gyzT5zH7fZ!AUTx*Gj?VE zz8WDjB$#jO1DFL_z*+#X4y=RutOazIon;o#Tfml0>q^pIBy9toCD0()B05Pb2~^9b z4PwV}oGc~Lp!q^AY>S@{<3wCg{n8pC))dq3QxOXxQXu~{n}>k%o75JRwk$#Bv~|^# dDY(M|;4eyci5tKCI0gU!002ovPDHLkV1nQmCky}p diff --git a/graphics/pokemon/toucannon/icon.png b/graphics/pokemon/toucannon/icon.png index 349c723761ca372b00fad39121227ac0c616277a..a92f5a20be93aaee1f129bf88589932fc8c49604 100644 GIT binary patch delta 363 zcmV-x0hIon1Hl83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;S8yf3Pl z0003bNkl1pw6o!3+cL#?KU23onkW+ZosBH0M-j+l30KHAO(4HU!V&cg> z35UuQV!f)+Mo(S4lnNoCk0+sD`ikODHDJ!yflf}Y-N_%F+ zPVaRB9&y*-B>-l#8!|8$8&sXn2-LcZQb7P$T-2IwcMb6dpTNRb4MZ^25!^P#8Okz{ zmGP!35a)R<8xa_m*AO%K1QxzE z5W%^Q;QlDyP?mv2u2E72$_j>H*@%K+KFog2iOhR<;~?q-hFv`5C$~|y>`PPp)5Vsv zTDj3A?E%$*uGnAS=FGz8zPCjl&&UM&T1 zzKsU5$w3Y{0zYy;lYzJwi|7XFk8@cOW%e(bYzCOvw*t(2J{ZeV0XxoJ7yXfU?HB&| Y03N%##^G1}0000007*qoM6N<$f=B0=z5oCK diff --git a/graphics/pokemon/toxapex/back.png b/graphics/pokemon/toxapex/back.png index cca9b2dacae4c0bce18ba63b4a39a476261bc803..07ab77c5d194e3c9f0cd9ba42f871406f5191bc4 100644 GIT binary patch delta 680 zcmV;Z0$2T(28{-gB#}W-e*gz`Nliru=LQE4D;`oI%d`Lh0&q!0K~zY`?UTQ9+CUJ- z#T8MJ##lIMQYb*=f}}9;0$@!VS7v6Rq47<$*D}oL?!747Kne<1$cVA29iDiT550^DCDe>!ms;0@zaBE?qV z`^wGUCCFQLHpFCOXa2GkV3;@wTq0_=(`^6H;2bKs-JVZk|3l3Km$v~YaV@Yp&>iKZA}1R3Drmd zR-vahR%m@x&!!lzPndlD0uvLn~G=>*aR^^U$B>E6{PkY3_K znWpq$|o(2L64D2sGT1I~mqtiK{H(HBw*X=O`5*;3}HoUpDVWLd)26+F}c z$I32?eVX5#Ot6XqV&gmvP-uzT9~;|oo0$~ZF+ym6`u4N5kbgRQ!5>TXs{YIG0PgAn(+*%-lknpX;Qk`fi#q@^ zjw^{2I)U$NH+z==CmjHPBwIW4R-FKa#7V#kK(oDm3jk&%QUnC%{irl;ND1(?b`~%c z@u!P&?-U6S7yS=gYrzn4T$LCjAq}9-d0^wmxpwxeAYv;;47 zgq(H?pah>3#W@>_Tbmc#7C9X=&+jPjEoH7(HD$K~uMfAMcN1~^U^EnqNT z4(1y+x@P%HKiWKh#@7vx#2e2UK5V>T8#Y+5$2e@BbGnvHNCPkptQ2o}^q30`*@4|Q z1Q=VfdL)dk1ER{ypkS723{F>EvC=2DtEhm)j41;seJX{wCn0euJ92%SP9R-k@95i+ zZm%u@xQPp8n$p9$>3|TeFbGW^B|)TYiD^XOmVi>eJ+%&IK`G# z*O~%)+s<+J6YBZU9)c4OEeB2qH!5?ZG}I{#I1|pW{tC6kP)I4Hm8}3}OPQl`!n%%- zRS8>H@IV7rnwNh_aRE4*pfv@6)_EA9)D$hiEX$z=tT)*PLhF*&&Ho+Xe_#;u8{D6h Vqw7v7y8r+R002ovPDHLkV1o7&HGu#C diff --git a/graphics/pokemon/toxapex/front.png b/graphics/pokemon/toxapex/front.png index a3da78e436902c60a40693a9519f22e312d628a1..d318e74356ffa7ec25ee19d2350858fa07e8109a 100644 GIT binary patch delta 911 zcmV;A191HO2l5AyB#}W-e*gz`Nliru=LQE4D164^xK~zY`&6PiF(?Ar) zQ!i1}B~2w3mh`HeOp_J`6R}s37}#2!TQOSAr5mVHYFI519a&(`XbBXqLPB9{(pJhE zPZ=p@=vvj?STewS{*%}aq6-6-oaD~G``&w>?_DyP|K}>)HL+Sue~ykZiuUBSoB?0+rF|TILhY4M zqJ{z(WBJSdaiM_%e;|=HBRdrq0m}Gn+(&_vfqdKAotg1K4o+cKH=_Of!Sh~fKVXc$l)OSa(nixrdOtvn;f8D@PyxVR=q!i<_99?A0FYv4QDQie!Z_^M z-%q8T-f~$Jt&lzd-#v=&!F(CpGu&*ckh-t{kUfhvxnaipAVZsMM-@U?0;PkCAPveT8Lk zgZgzS_4>U~!E%Y^x+?k6M_`XqegH`*WKBl^a`RF9qc(T=K4WcrlRindSOSPh+vC!vh}$i>p|V5(Yak#XorqUy*~TFNR0=_hZdW=ey=l3F!^yl8+bd;+{1gG& z@%>J#!H(rp5zKdg66XP9bfx5FdMev!8qpFBV)WN#6M-@S?c_Yh0DBQ=y8w{9HZRd1 zNnstHwtt+ z>T>MgI3Zw7U1|h?D2>N}6cxZCNl*kh`1Jnb;`+KP#3TtjbX#X3AV|;mCji6<^VHGC z01)7mPi6pr2?h4h8Js7cf9LtcK>*wi9wm){ODad<+d>pz2Vs?tM;y;9lAm1!_9*2Ckc3WFO#~oEhX6BzOo|v3*6;)MLgY+l z)=X6dL>b|?0w9NKbsL{u#%j!jlY)n3qc{U2V$2Oa^(PA)P(7TBpNe$j~odN>!@;&uvc1zm_FtxV`I{M*03OR9LE>AWVs5$V7AoAku5T zaENMi=nEh+U4I2SiNUQAUTHC@nmeU=FdO6jpMiN$n_mK0Obdg<;>~T`tHRGhItj`1 zIKq5L`8*K@QBH-?xJ4F*Xb=Wd)GW;4$4Ma*ti$Ms!c_C49Q{C+hl$Y-Ucv-gKkB%_ tWNrO`$kcI7)(@aABKNxdEnM{D8!Z_9VpO0#%>V!Z00>D%PDHLkV1fkEu6Y0e delta 338 zcmV-Y0j>Vz1HJ>0UkL$8NklIuS(NXASo&j2j-iU*ES6}x@`M5bGT zP7`p~2=6qTteSU9e&ChygMVD$2aP|yAHZz7FxbsL+>Hl^_`8x$Lh@XWFke!>PJ}^} zQ(-i&k%b|;oIuP_voM1nCxuL~4x>IF3Ny{0dh`QX9wtUVxCs+z{b-USrYq|QEKQR% kWc>i@B67#&vvAdqUo9B@V(}o(ugK~zY`<&;5ggD?<9 zN$CMXaFtCL!2)#~ilwe9#b(%aSH#>T5_hV4iSF5TowKyIA;G|y3uGje#XSE1Gj<4q zdo6Za?}t^h4n$SGE+Hyh1vacgj|bQnL+}9)S#uZw+9O0vO-4|Df50>Z03!DR%>a-g zA~X^qcma_i)=+97!}>rkNY|$ZJYxujS_4-AXs`zq9YVm<0C+YbBwhhc5E6o!er*9g z$WlUBhXw{BT>!ZqGaUf6^vKod08z9%EvLwCea3l80JoBy69gLprTZDe>@JRdFakVl zCK8X)9N>IAF-RtWe>FNfeOV`N#{Sm_M7G z%m8ozQ@Lvq6fmnepJdQS35zPHi!K<5H6RG$Vg?+Se@>J0rA=u8dn4XbXxp=yF(L%C z#QtmnDfewmegN7YfPMS-OMbs}(_~PxxLhcU*CC)vg7*s{M-h%!avM^BxE&Qwf`V9s zkkJ)Lx6};q-1R3a6sG|3@!fq{pitU_`aX2sPrqd#f%~q1+Pb<;D&kyY00000NkvXX Hu0mjfA$YwV delta 471 zcmV;|0Vw{s1i%E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hvieK~zY` z<WB__TBh$ADD8%+SKSg@&M^YvPxR#QV5YY{2+fNOS z`@yY`ENcCfz^XH|?ZI*$<60Apc30S7iM?)H3X5<0*Yyd~H) zCwE3c1lWk(sRK&wnvhYT=>hJVzh4Rjw&`}zDnFm85wF97I%e-@B7$EIsO5%J0It7E z#w;hU0hG9aWJ8@Y0iWCckAjvIfRFF?s{^^VGYFvC_NTvPB*8rwWB=N^x=m*NX{rDK N002ovPDHLkV1kYf&V&E} diff --git a/graphics/pokemon/toxel/front.png b/graphics/pokemon/toxel/front.png index 01bd662407266d5677ef8407094bc3f6430af0c1..542da1bc35a692cd233140f9364cc7bb3c1a9fd4 100644 GIT binary patch delta 476 zcmV<20VDqR1nLBkB#}W-HUI~7Nliru=LQE4D<$J9B9H(80nJH7K~zY`?UcW6+b|Hu zC1~?x(rnYA3qQ&6s#pfxAss}Kv@3rCg!_T_-9HAwtNkYn$NzB2*bB&_rHu9iHYET^ zeG!n*5wbi4h%|UpV(bO3He(Aeba zATV8>^?(*^jPPPxUv(M?;RyN3xlW{+mK+hv*%N>ZR)&%*=PH9ID+UKxLqLBgvePkW zSY%D|3?$i5<3eKPuF++|`GbfG*(U*;c`7Zfq)r*|{y&}H=WpH~=r8T$*ZOl{GL SfviLT0000iz7TPR z&iG0Mxs9(50@Kx54;abD2rjnuRi}Xvj!>VR>qO?$k|P2&djfF5%Ft@%T$SU=iopdo zC!l{5+36TGEVOz248-YB<3eHOuF++|`9(;D?2~}y{B5O`Rn(~*ykAIarIhl$#kqH9x ztNx>HvGV{T{rEerwJw^S82#jcpjg(Qt+s!s&F=moVS%b%+suA%$OZr{zmA++BRk*A zrWr&Cbk^>cQ;2@-@qT#0;%Fn$15$0}uujXfO$Ho&A;7ANX;^420SkH~n)_oWhvkMw z;dD;`W)-*K%bI4Y1F~bsElwz*O{$@zbXKudf+?e*G^B6N{z5{eNP_kdAwP5}J^dT; dYA<0z`~|H{ZP5-EFRuUq002ovPDHLkV1g5{>-7Kt diff --git a/graphics/pokemon/toxel/icon.png b/graphics/pokemon/toxel/icon.png index b1989e50c8ee9bf1f68c1e8229ca2b1b3594ae91..36acaeb6ee23e1d7e80dc0ef493a967af53c5346 100644 GIT binary patch delta 324 zcmV-K0lWVC0-6JmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;SIdLwfx z0002}Nklb>!3`KQ=f0Gty(5Xgph@hL%95SN}Yw&17IYiKnaD)V!B$QP< zG-Sq1LACkeixkLb=N{@L`w0ZgatTfj8q8iu1H27nKz=2npnn3}24<7!T7p!YuSoVz zrOlpw(%`tBbd5@pUlOhn6pkn4ozrB@{k0Dg-u-7Ue}QwTAD&g!;+f;30G^1ClO9MN ziS^SRWT>4Tqd?q0J-GF!B*U=t2~~{)y${t4?Beb6vF)253glG-gGv18q1VDp<_>5o z>sd=jam9KqAU#^9XZ=z`iqGCJIhh)s@GTeAp zc!-M4x<;T(iE2`WxZj-^5#I9YkL}ohocmLe?2#x~mP>H@ieUE22F^k+r6vx*CY7Pt;DQZFt(i19n;V{xzh12eSfR&VV$~@ka=x zPLs5eaiJ{&kx3yzid?$~!I)IL&0T*VAdQQ(HeBA!NZONDT7R_(c$&Sv`R&Y`|9dm< zKb!r3#=Vaw02WLTOiU0=Oc3|1DZ&#(xD&uhLII};zSM*>7UXh8)6p{#jsPF82#CH+ zMc}VTfTehz{1gk}+Ur4`Xo0VO_z_bPa(hHb#P7dDv;^>hC5+TYj1h&65yHSp=7{;v zbd1LWFApuh+$4>fy914i!l#fY227h@94WzWXANS-`r>Im63ZO81 z0O?SbC31OCM+VW`!!@g_+GLDdlu(*th#kEda;U1p@kt{R+o6A?9ld>w9RNp)7@$fP z32xr02YqaezI`JiOWhx@bBj`i8zOkR-~Xkv>D|pKv(y*D@U{W04p7N2h79n}+ka$L zm`3o~?|;GiPz$dpzY+-FZ7(#y7ui*Nh32^@>{)DyfWx~j?ZnO4o@Z_glpBw}#9R&l zmpBC&%^f?VN}?PqfUbl=A13qXBx?&4JR$L@n$(q{j9t&zC%FS{s?TG2BA+LQ)Qer+ zn6qnh)1LBdbMDH;m}|yLUgq+18>)kli-OhH$A8uO-{*A1MRCZb-VCT1u+BcW*Q|So z4Fq~0>ijU7-Co_tX8!VvXI%fASUdurYDf{rX9p z=h@wQ>K%qoJKq!>PCWep6@YWH0iB-yF#g+vPgxXi%A$Bv7R8-1AWTdU5)dJbBl4XS zVt=UAyB0;j6fov5S`Q;adwtr&j5v^khY_J`pYSkbK!{kM@GuxtD;l_WjfY9;Wua9< zXVk-xMTu#*aNNU0`1z2-ICvOAz*72*^@xX|Jyt?nkzo%*-A(7MmlyWwZvRL9OX{5_ zfC#!T<<0JO{YymkK6!}U|vxk;I?|ES6#!4Cl0GoS?EUWiyIjbgJr=YM8< zYeLQ0@Avyu1I*0b>pIHCD+SO@^z^*~WcP!-sa{rYf(H2J_SUNbmOE{tvWPS>I2nhB z+bzWqsQx+6+C&u*ca(47=ELoUMLAbM(ON~CTulZd-Ev5WJ%xiz( zHh=W}LtwW4AsO@!+IJ}b0E7MkCj0|@@DF3-U(Rou5+stGF#rGn07*qoM6N<$g8Md5 Ar~m)} delta 1224 zcmV;(1ULJo3YQ9yUw;ImNklP6vx*CY7Pt;DQZFt(g+p1a2V~g3a8!u z1FThE5+?x{#(zQ}b(*A&jEhkb$eI)qq{y{<5JE_`+uZf{2c&V4)`rWQ8U0xO*i)N; zr@7mm&%Sx{eKYgEv)TV=-1}exV9^A@V1i&ULELkuhyaN2Cx3uD2@Tvu@RcFFQ%SDY zG#x*Od`Ag1e)oort{6?6IW@k3E?RbBhb5GTX-Z>pvlO^!*7sw zK&d`hD#71x|52yHwxUmdjhccjZv33|Lj4yH8m64qGVbeW>cgRCQU<->QV9YU01?5#VFb?5Z^@!uYN%Ay2Q7A2Un zDE^cIVK6}`0G8r3qTV@xv7_E*smJNFUIC~4MdM*$IqENtJj@9P(s~$J`eP2H_Aq2X zh<_Lf(Rdh4s1=ReyV}E~^s-Qtep5a2Fl12@T5VttS`QQBr(+JI^)NudO8Ja#rmcse zHP&FPNQY=V40ShCw_aV?$NR%?)i0@c+Co6oeJOADe^kFj)bCS(*e(8oTJx6X$v>#( zPOaDJ_GaxLlsn+Aex_N^ENTB>EDAS^2Y+!ViQ=a>3Q!>&)AvKORK3Cw=qBMCpfrHC z7VNmYv!pN{<`?RXV0s1XG;jP;0Y%~Y+@Zp6D!{HQlE#}-TNI(hPHQhfN7&3$TaN@O zRR~m4nj4flCGZv?dnTv=cmPO1Yn0ftSEo%t))bY?(?0wGm7W^?`!pRCw|HA#9Hjbb6Y3p>tXGLWJ#hQNjf@s0&q?@!g``Z$+Mmvp5=>Xa=l;1Uo#w36M44}v$ zZN*m*;$RX$qd}q{umQe96hh#^_Sgc7iM$gjd=!{Rrb5=33Mv8Txg3U__X)~IZO(Ot zM1kGt!dz}ZeM)}`)WuA){xAY^H@iNgzLz|HBYwG{2FBoa1W+~B-S7&7>ivY!TaB{sI}0{% z2?@iHj6r|2*Cik%%Q6Lq8ZW`H@R}l*zfE~SQAQSYeM&Ks!-3q=GOagBPMDi`uHKKp%-}5i~HrpS08@9dx O0000`e&{$vli>%#Ij`oy>5;273mE4HY@_*jHFJ{=0T_Q*cPc=z2+FqD zJ&QkVT!1O?r{`Pz>4MMrI0iniwigr6aL?-ZBk)!>$O4M{cj*ZDg&fe<#_`iWZJkc| ztf(xYSkn(*5G`1pbd$E``L;x?(N5!1I)F9|<#!FDF$o|511K^`Tk#cyIG6;`Xpraw zHo$j?LI^zA9$P>$k#~P0g^vRB$W+K0Q$Z!*JeR|;^FBe@sE2c1AyHrl?uEJBfclgY zsEe6o{b2;;)9iXieJ^?ZTKsZB4UEBU3!rMOyYGJ@J80UPG3)K}D*q;a8?YfXF=M_S z81hbtqnQ*T!-Xb@S1U8vM*61#WEOOt1zt?zP(M!yz11lDzO#2=^M;Tx49OVuM|)iY zLb5DVV5spD3=6L*atWN5^K1dVrU)d6=78)e3D*750kKu+F!6fizKqTKXU1R!>_@7*!_ZRy%+aD%qx`hA$002ovPDHLk FV1n_B>HPoz diff --git a/graphics/pokemon/toxicroak/icon.png b/graphics/pokemon/toxicroak/icon.png index 11f3495710f064cec8aadb703f8bd084af8db6f5..d1bd119d09f1d6c3e21a6c5db0bc45526c813757 100644 GIT binary patch delta 269 zcmV+o0rLL60^|aaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=XI1_L?*R z0075HL_t(I%k7du3c@fDMSFum+_>tgJVO@}dJY%G+`>f`BqC7g#&UP0YLmmf{y2RLCq_2UV!_3c@fDMRS8e+_>^oo}mi~J%@{8ZsDQ_DM5zL zB@|pp8W2k;p)rA)Hd(q7@k2I`nNJuVW8WOmIiMV%%YjVEh?vZP#6a|7BgA$QSUk2j zB(bQtKGm{iP?w#$Z#S_7>QZrK&D{D}7buWot0RZf12v5Rr(RmA!#K7R78jr~CW!USPtCQS4r2m`Lk f`~WY^r+&Nuu;bYMtH@^600000NkvXXu0mjfP(Nm9 diff --git a/graphics/pokemon/toxtricity/back.png b/graphics/pokemon/toxtricity/back.png index 04c4ac30079692a0ff7928abb24e4ddc972d504c..2e693142345ce09db8e368deb4350ede3fc852dd 100644 GIT binary patch delta 762 zcmVVi|K~zY`eU#5@+b|Tz zolzL{WXWZL=2F|R!g`7{a@c8OqK49|8yGt*5Tt8eJU?*%nHIVlyd2i;)>{v`<&WBv z?KrU|_dx{VeXRF=zvMU_8@c*)ok1J<`XsLa0mYLJ0}c)Fe)>ubf69H=@!SC&C~*`r z|HMNjCj$~kA?H2oW5D=mz5{$vQ>zN@aLxeNG0{qZ7 z%7yX*^fFHaQ|=oo-sn&9r$unaeN#o{(LS_~U;WT1)hOhxJ*JGg&cGFDpRy&N_T7Zk z8M1d$7O>=|gdhlXe}XcOzX1ZKgz9qbze*9fF@P#fhJFPQ!E)|cHNJ<&&acc?qDH2+ z0K`A~Nl=tHYyI%E3%nKD-$oD-WLF(`CKp=cxb~+~2~e&30NrR>VWEwR<(FCS^x{Xkq5}zyJuq+=UEDi~qBvO4;$gvq=8f+yX^-HE?4Eex;R$ zR15*DI9-Hef5_Kj0619BC)lif6N{TO8*sROq5Kr!a{XOI*EV4D@{i#}t=98#Hn$K5 zt0eFdINH37v)DpJtJ|}u8Dz(sL`fMhjR=rVp8n2olp>Ph-l)(0Izf?bPHsv2RuR^0imvU(Iwb@Qs0PC!~ZNON29(5t8diXxRf4w#0K~zY` zeU!m!+dvS8rD7=Lq+Nv?;!7k!1I@|1#fP3+x2@%@5UC$=b-;bq2Cv{x3WK%+AQ!4cAkr=j;tPP$zi>2q~U)Kj6?1@29Wipgiy# z-`nE@ExHj4j(v1;yvL${8*v^W(7Lr*q?|LKSpZkn=7$~vJYpU-fshbokzfwaJ>N`0 z86uno4G=_u(Jr(XqRM;)OnG3qc%%Lm|C9;Ncwo9{6s2K&{2D|?tK5j|c*q$udr7ta zsaW#qP$s0UkiARO3YOfo5Qd>DFinzgfPiVCxm@X&IRe)P(3Hu4P?rEPEa#5Z<9pb~ z*`=Yo=#j||faJ%p2#OYGT8E#zz+0hook7GdyQ72AQQ3s5WO}4WH=n;cJLC2>;O-Lw{Y%Aq@QX*CiPHvD#|rL z$Ztb;?jj8o5Hd&wv zzXh(Xz^}aVkc)l5D#;ho7|ONS1B}-52|iZ2NyPQ34LDeTKU01JaIyX_;wu}ldH%<6 zqE_qqxR_gr(JBiA1P(XP<07#T@#^OEaR$ZFCX;EJER771PaglyaFk+F;NHm313*Ak zkZ7uAO#)t#4uJ|PxZ$jQi)J+~Kt{s0*HZR(ssnIaGCj2>aG(~FzRbM^C;@!`qyq{$ z03M)>fza7t%W@A|^&rtDWbO9eD_~IPSqgU&vY?siQs6fRcJxu2LWwQHnJNe=)kkPK z03?((0V?6J{vz=sn93^y*qo0unO$texKf>HOgPSeZCzCD3!4p&00000NkvXXu0mjf DU(s?} diff --git a/graphics/pokemon/toxtricity/front.png b/graphics/pokemon/toxtricity/front.png index 29ccc2fec7ac6cdb60372c4845697597675292b9..31acd889ce469ac68a2874ac1a57d4167ed7ad3c 100644 GIT binary patch delta 732 zcmV<20wev>2Ehi9B#}W-e*gz`Nliru=LQE4D=!28%Z>m50;EYqK~zY`m6T0u+b|f% z9WV@hinP&ydy*Pz$j$aXK$?0AVcz^U^U}YPaWR>F2+mcgy-`L(c)Y{S1ZMZL39|0tm6N-)bAKe_L(r`>j168v%m- z07p150s#(!?s4c_$bh`0VfZEq38Dr72jOc-LPUK-not-F=gDBtHwpNm4^T;%oZJid z6#$2UiNFDT{PY2mD2nvJ0fBcnyb^(2cW=Ml0f+!N7g8%=D{%%%%4M#9AxbbMY|t5n z`hrF%q!x#?Q>Uv{zZpJ+LT5EW(t z`;ZY#g;~H(m~tZd6Ij0vL~KH7x~WtY!L*qQ1aP=D-sG O0000Bmy^p_o()(fZ|3;q!So;}@wcDh{{{?VPSkP))+^seX zg4SNZtN>?0$YK^+fsloNVfQ!+2(=(DA&TCl5vO1QSQx#=G@=lg{gg)GaGnnK0-Hb( z1&AvNTabIvz6S6xv=J=CkDoqZ8pp92IN7WK=zQSIL2uM&`+U(xmND zfnzq)ix&lYUR^eTgeSlgz6MUNr?e^>00Rp89-Y-0vr*M)00IHd^;@5RTLB{JDEIFp zMAG%g0RBW;oNfWE=l#s{{6_^{f!J><=nxhYrGZ_^ zKw!32cOvOIQ@pym@uZ}4+)9aqvyv>5n;YfDQd_wV;HVVdviIwIsfKdY^phdt^cdrz zKfW)CYiJA&pu~gJU*4PB!mZamH|t&JOJXLJ7Rg3@lK-}UbQW2NY*cV&Qy}C@&9egb z^P+D7)LAVrVJBbOfc$K!5xQ^ zbRwj=yBxrEtJJ1kuB?8TZmty&n_hFN8F1yW*z8v`3qT*X>zOgg`ss4@+<48wW1YHs z8XJbSuF3R9Q3_3jNOiAlV(g$^Y)uywdV6z3wUgpO^Byj(yvK>+RULL| d{|9CxU;+RD diff --git a/graphics/pokemon/toxtricity/icon.png b/graphics/pokemon/toxtricity/icon.png index e3d8123b5576e16da86fb604ab7f95631260cc38..c91578d6bae524eb095f79786db07038bac64641 100644 GIT binary patch delta 336 zcmV-W0k8h51G@u|bbkN`bV*G`2j>O{4=XYG@b>Kh00ACJL_t(I%e|7ZYQr!TMg0fw zW0b{9y=ZfZf2*bt4_ca~`H2n&f&Bq3$#(>mXF)Pp7_6#O?o+lBs?8U@>#KK9Q9SPW z?3)gE0!blM0f)$k%J_%_rc?*8A!8I9oVlo{qXHpbRK4X1{(rGoy3wDvD^zaA>N%pv zMxC_?qPcBE`uOtJ$oGZUNj|Q(PI#>SU`G%ZZg-9$2M_yq{sLigXLp1d@-y3A(}2m^ z&01`TJ=G#uENB?B#m89u|Djw6{!Wm|$waaA5KX8sdQe8-ka$pBV*9~J98&ud2P!ih zQu`SW^amU$!$~2vZylO0LqB|2Z2uRB?F8*79NhN_+Fx783(OP=htu_nCY|kwZo-SE3|J^Dc1b}0000N`GCl+@&{1QM4)DSm8q{ha?4YpPX z76aBQwA^!54=2ThbXDyZNA|{EX`|oQPoUl$o5#d6HtM295r2)H5$)5{i;@3F&!f1* z;DX3l2Jencn6cXhWIfRDU-5$pW4MG9^FW-??Tld|OFwBbA&k(9VyObppZ(EN_5TM- zfl5Fq%I08`7&;|O4X;kh3LG*I3TwW7vJ!{9eTf6q1rB-p1rG2B9H77E1Vm%#u40=P*;K~zY`t&}lq+%Oc! zeO#taF(DX2CPT^6;lfkSkXs5?JhV%bL+At8)qJj_3jAr(hH#K(=vK&hS?@#jJ;@i& zlG-lSU}WpZ|NZ|@l9S|rjp^)PKuJ${eGLK5@X6?rOjZdC1g90pe{alU6Bz-LN|o;u zruYm9n3n-CS528rl`0vVh^`6&rc?vdN;QnbaaT1#jRU0=he|2d@QY;xKy}hrs>WIY z05~e;MvZ0grQGWZ#p8Sjs5vST0OfuchQ;PW2(pU+@Yy(n^&oEYoaU9Pc|A*fiBjUa z?CiWzrQZhCNJFEWe>=HZkn+l{Gw$rnMlo462+&N`0AK6TUfTvB&;d>B!rYvVEC6-k zisY@q!WjM5YbBbzFauFjsr-|7UX-#HI_xsgxT@&m?2$|}Ym*VrVP8kFe$E#$lab*o~3*b00hocnCe}2bvGkEDU(|R$BA%q3` zwHX6!*M`ah?ftJbYh!(4&cYF#!y+B+CaRMoKf#u@P2e7z&ZG#R9*cvuP0|+diBR?@`5(0)5ba+8BT?cy05Y>TWnh_BK{Rq&~10Lu)55sB+ zuT>9n&*e7)yqw3v+{-~7`qXG)#ycT|>D{T+0BA>hE+;~o{?YB$K~zY` zt(38D+b|G@B{);32tgnq$Rwc1(!l{43y7BjqBS&26NBIbNabvmVF~DI(guM6H$%4q z8J*P+)jLvlMNw^+au6upr~m%{OgZ{*Ycl;8P~epuZbN`kxKg}C@hYN$;G|^mj9M%f zBS2Kj;(bIVn-T(X(aU`W=q?D4@>}ojz zfI8|+SwXJ=Ah1g5Rt0U~rsz!t<1w}eLRPP~IBMjnQuhqXd&zrXwnBm3{O*!gFgu!ITMZK6}6sJ%ps#AxWW!H-){h zQ4BZwHZh{_0IgMS2zJA{Nc3uu;!{`03>=8lRpe_dtN~^LSZC(gOF`{(I5(Y_HZ{#4 zX5NLcK)W_RK=)&RC@s)D{!G$lY);f!I3bs0p7cFJ4B-SUpzstwM1Bn61P;K9SBC>5 zYzmiVN#+~B4leg5UEJ@3I=B?SQ)+S@1p*G3SztMT7y{5-9LAu72DXPyQ4;``FJZki zNpcFne54LNx&u`h{b3Ac?0;=>S!k`%&Oqv&4FTlaPEIc+MJ>Xt&KDfOva> zGj4ZTbAK}iyxG3mBXz!gm!zvPVE2ljo_Pi(eKA7B&&qyrm%G`_XI*6`UJ4}iq1wF6+}Ai;;g+N{lfp#pFI0vG`jw*iov-Upaz>ZDDK=EkeXoSW92N=*pZ(F2z;7pC2~Uu$zB t;7^c?RRHYH;6$kNU6QYH64pc%{Q^V@iU9}yOC$gQ002ovPDHLkV1m&=P=Ejc diff --git a/graphics/pokemon/toxtricity/low_key/front.png b/graphics/pokemon/toxtricity/low_key/front.png index 41fdaff6a34ba63404aceb17b3f1e5d8424fa903..b853144aedfd2f394e3b1e26f595a20639b0e94e 100644 GIT binary patch delta 724 zcmV;_0xSK*2Dt{1B#}W-e*gz`Nliru=LQE4D>R9k0%8CF0-Q-iK~zY`t(4De8bK7t zXYo*2FB+XJNG}nB5OPS_F+y^Z8MBb~GML8{dkP7Aj;q^&{Rc|_i&c|Kr+ZT<^eBZw z=^xdnHKoQKOQCbv!+t;We$ON1pHJy8x^u8wKUo2V6PsS(dlFT)e-mIQ1z`jH!u25n z?8at*v1=Gy_!ry;oSyC>z(U`*_$Y)_wcdue%oaqU4GQFb7+QlUL#$&N-rBNo4k^5U z2m7HVN{0f#>yN5zv+zLsWeR10vc-byF~L0mrK=VbpM(%?sdSB7fZ`IUCWc#^HAjN$ z4_2Mb5D1c6YcG~Qe^`***ey6Se;(ZP9TPb_XTikZ0dOXQ`|=Ke3DF!$yG{{+QQ5Am zDY?b^(wKd2U@ID&gC)xOmqri- zjZW196xn@Kt40hz65J3pfCs)}k0=i0Ya+vD8mC2UQ8FEn@6-blkv{WaG(Zfhcvd=%~wk^&j=S zDb;ryDauMKe@Q))9bqcRiAl#a+5}?hr^M6AGzMj`2rekOxjAGdby|9LuwbPTe$qdI zKJ5_)#hNiw)Y=bE0Ak`Ede9nwx&T-0hYG|S05QuDbh27yxTFxMZPj|J2WKmP0AA9} z1NwtsR*m)&qtopr*nj*vX(hzuY{}*$;I?w^FDFhVN^2m#D&_8JwZ51?FA}Ko)Aj7g z?U9=x;hVJq3UteaJ9)9ziR&AGa<-j>`JI^|#!bopIzIuSw%Ksj1e6E>0000e3TKzYhxf2OAhL8g0KEC6J<8#R4?PYZfJZpEzEIK!(56OMd{#r<-ul-luQ7K7!LGgPsyI70igngb+kxeKE|USt1eZ>?UyFDqA4X1 zS&YaaB2XNoEZ?5wx$Rb%UkKo> zu=A4>)$%WS;Zfm#yyw;BNIplPz{0^>m2;)K2slLm?&>d$P;C<%r>I{DeD+`tCYqxB-}@5(H*Zb2FUwHW&ap|;s@U0I{g P00000NkvXXu0mjf_fky< diff --git a/graphics/pokemon/toxtricity/low_key/icon.png b/graphics/pokemon/toxtricity/low_key/icon.png index daf034d6a50eab67410a03b13fb83e9d8edf98b6..5e4e3d264b374c615575013e71096e61d2e251bf 100644 GIT binary patch delta 323 zcmV-J0lfa71Fi#*bbkN`bV*G`2j>O{4=Xljlw(c+009w6L_t(I%gvH8Zo@DPMRfxn zCdt|iwWk8sV0a1;U(%Tb*cT|8L#UZl&>ZB+g%qVrKfM(wifZ!%MSYXcm_IyXOvZ1T zho%t2O9B$za?vO-wjm3wPjg`ODjAUL9sR{V>1k#~l(s Vrfn~uT_FGf002ovPDHLkV1hbwklz3R delta 308 zcmV-40n7fb1D^wsbbkRANklb>!3`KPV9wy1!47H~M(qMQBkX+K42-p`W znnS3WRL~ma$%Pd;i$AvxMNw^fASsG`#{A)l#$>$HKy=YynhrSvVBa2E1f7>1=8&zN zU_^4qW91NFeb@!2QK=KmcskyPh%zDx=g&=dq< zC_1R^bJ0QhvFgy^_E#P5=*Ox9&f}?rD!S^RI{SeRjn<)Tp98)!_g&vHZhzImZb>v2 z9m3ab197Q?%q@()3*S=0B90xw$QFsk5A37pp#3nv>c;~TKc;QNm!SUu0000ziZn-6vxkz!Al086wq3q(v)tJu62f%G>~{J83OiR8_w99?P67d z{s9>iL(C0XT4>2^C;??Fq=U2f56D>Xl0P7QcTyWi(wzqv+J8bGUhMn$y}NfmzF&m? zw%kUE4*;8E(Jgc6<sW}=5 zc|-QbBo2vzab{Z#JY+Bfhml8Ug$Dza2OOEC3WeO2o;^slS{w-0?{Tj+GLaVvp~pr415q%&7O@C?|&pfn~;rMK*U&95J0BFiUdZo z0vVo-P(Hw`tPcR^t_tuO#@ObgoOAmmt^wmX9OYdQ|2^m5gMdPU+;L=V1~Mq6iVJ4Y znCPi5AO&RL1)3XLfb{l2_l5*Pxu64({T87$?K1?UyE>pa+eSOur*3b%c&!Dtwu?8K z0=qjiSAPdkx;4ArQv-%Iqx9MBt+JDbNAViId1a|fAkXNz`c@j2_~^owpNIITqp%1t z-KBx@B5zP$>fb-aajRK_uvzY zHFtp0?tjKhfigH&eFZZHuvBknK-eoCcwgOQ;5>VFE#j4@=Q z3VSe)#XDEMr9IGzcVZ796ngQ?9w>o7V-M`5?ZJb8c<>K@KYjwf!!{yOcdN<(0000< KMNUMnLSTZGwT;>U delta 856 zcmV-e1E>7P2dW2BjE6vt1N!Apjm9MD>y(v)tJuC<4hG>~{J z83OiR8_w99?PAq|et?XL!RCf6Ewp4dlz_4o(!tsL0Wuc6y%f%Pxrjf%6|h zKq0}>b!1io8I;nL3uaP9bki>&1*GoD4P^KegREwG15fJ>K;_~>8Bd@$50F6X4U~J(0X}(J z%K&QZi-s_jdjRdn%iCoV=^lJiB+I>)xi8&=(EgOOzO2^6Lw1zjjQs4pGiJwD>RDI9 z5G3~)GWg4ZSx7G=K$-Ffi3D{1l`*gv4#?u2Tz`Q0M5map{QOpCm`H#%6=8a}dp4)& z(knJ$3uUF<@?~XVJ}$U}BJ+t5|JLW0cyIc=w|Hm)G^rGS*$w#r^NF)~Xj*1cx?4h7 zH(VdQL`>WU!XAhO0%%g|m10dB2z#I^5XjU>bbZ(Xz_VEwPCsTW;V_hckjf0&4JIPq z(NP?SE$|a6wHu5?qT@>aPe7S5hD^zcC}5(*d#QR$d!Q5V$R0qX=*4e)kP7@6dtg7< i9z6O75s&`i@5V2_!!{xzGrUFs0000`l>FJ%A#0a!^yK~zY`?bSU_!!Q&8 zU`xILrbCr2c|~FkeiBj-zzrw|0Lh4rsVFC4C<97|=y3q(zzx!&Qr8>`J5ix&>}Mgw z*0;XT@A)?o;uwb^Phud82njKvA&UV}ksbhS6L|`eCKpy9A_J5af7bZ3cBE9wfinyY zM^vqtUFY5@s$I-x4}lV0jIVC|U{|83=H`_vL8}jw^5A)%ay@AEf~jCi&}xCrh5^Of z0_(MxbUhOKZ0fpR2f>)gfqE031d%<{h6T-5py0qZ7tBr+M7iKVLY4R{c>F)mEi(yC z0g(j~)krZw+R^s)e?k@l8oFm?Uw8maU>7R!twQTA>s;nL3b_YhZ3hG65@O7K)=WQqIpQpA{`;HQfF;6|v sFW~aV6lEX$EryWAuWb41r`oa2OI2k|6+Mpa(#-2|tB_CKp;DVgv{+wDD*4 zNiKu|XBaq+C|Z$UXWkKiMHhMg5GY||e0AdoU5R2nS1+*=RK2Td96ZgZu^v=CqaS>g zplXTDHUf&*CDt1+u{|dA(bRRl34$?^0rfUK1d+beCJLGzLly%&?{#%U6hwjievLKz zD|q}rVAq_4MnH@Lj$$Mtfa}xx^+FN?66~|mFFXKJ=t4|^ zNN3Vpf?uk;7R+d6MApyW0-C=D{jnI4_407ueu!jZh4^Dp{TmeIgbO&Nhk4zJ-20Sz zw0)GIlv+5zEnxCW6{QQl^YX0)_a!^VFM_d8UA~i5SsY%I00000NkvXXu0mjfyB(`> diff --git a/graphics/pokemon/tranquill/icon.png b/graphics/pokemon/tranquill/icon.png index 5c98e7e063f1512bffa60e83dd75cafdd221a229..44bfe529767cf67dc671b8f129d8190a33ebf2b0 100644 GIT binary patch delta 264 zcmV+j0r&p60^b6VV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=e!ZZ(tAr z006>CL_t(I%jJ^24Z=VSg|mU>1&Fu-l7fPgDVP9>l7;~oiJompL1`Z+B}F3H1PJ$& zw4p$}?w+21&ibJ#A0n%n+qh<`6@_NxP1AaB&W^@jAm z`1FD8u`c^Ix$k+ZjF5^S1lAd0!x|j3%$=bkHqaGRhRqyePF1ulAfm?KYZ=4P*Lkd5 z&gntA&W6!f}8A delta 224 zcmV<603ZL~0=NQ@V1L6&L_t(IjpdTP4Z<)Gg}uS)79hd{Bn1T}Q!oKi$}|kXNc3z& z3d*ywloW|{MfK3`6- zAfm+Qbq2%GQDXUaO+TdXZE66hKhoEL37UY32zmp<3t(nr1||?R0plyy0j9enCBTTR a%Et>rm6HGSbPrbm0000yH3L}6o!M;EKD5SAm;D{>9O|)I}&4}*oYTE>JzXdrBXXGbl?q8 zpAzR%SbUDTY>>15pMJ-&6MacC&wrgWfD1Oi%u%lCd~uuSEPtVWp5LIP^0Zy`4Tw}l zqj1&dWQA5ZO}Ju#QcJ@E*iI#q0xWWX?xP-%R?&b&gVm!BK14e-ScUgbZA}9GBEEqK zq{Sf6oB+fk2&Cd`fL{P148Z9qAR|swOgUt00uZ8)0ow4bN}(wF7&1YehOZa^3j&FX zv0w=hepQJZ@_(iT5X45DpT-x!)t0*129_o4V6(4@cLAn^YxA-xi8buAUtkY+9fUWU z3gdxJWCs!6#{wS=m`yLDb;{*|B?q9f>klY{UhS z_5}1uS!uVV*n%6NJtcO277CAppa4Op{hq#w6H9qXGS7dV6M(a5ex4)0rt`&3o<|Ak z^85-pm8Z?hHy~0KTHwm(WQ7zsOt@l!Tyhl!uo+6iI~-sz27gE&d4L;10~{4r4>I@= zP1j%q-aR%o3HT+hAr5eZK|qfHVi5#V_Bp^UKnMdcehSD!xqApUMkGVAfr{xyFP4B~2!g0Ug|;axBYe;5TL;t#!Gkp3_TM${iV e!I=Hwug)8CA*3?f-)JEK0000>Ly)SD9?XFAC5X7wn-4OwZ2T04{HS2?$^o;OX+}`(FW=3xJJgC;;wVrIaTe zNL#7_o9!VCTmZx7f07!>xCPR{C7=qRdT32?%?hx-w^q##zDLMLRnwpwV)m7okT=hT zQnY2z4TkxDJF6N7gH1OKE1eJnmmU*f2G#wZ)DulK=n! delta 407 zcmV;I0cigD1AzpPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a{5!K~zY` z?UFHW10fJav9x=D5zx5ACm`eiM$1Ym7YUS{z=iwB7f5oC6v;UQYt~s{u!|_2r`YDd z{qtuAa<6}?&KR@5q8qA|lBTJ%otld^bP(bUD7;H2F2ExS3=x1(4U0|*v6}&)sKuZj zgpxDB%&K1h8k|>GT@{>V)Td}Z?#OgMdWC}7yaW4 z1HuLp@O?N=Xon@j;aFWdl)XgQ9zKyv-s{gr$PfC1R~P7fYT^I@002ovPDHLkV1h#V By0-uT diff --git a/graphics/pokemon/trapinch/icon.png b/graphics/pokemon/trapinch/icon.png index df67b41f8024dc5012388f5f271d53a328738f19..eb5c2d658f2220abed9b341d6f1f89a1048125e6 100644 GIT binary patch delta 256 zcmV+b0ssEA0@wnOV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=e?j1(crv z006s5L_t(I%jJ?i4#F@DMtg(Yfh(}Fa3@vZ=wBT@Gp;7a^9CV)+pCn5Va`mtITo^2c znGCYRs1}2qFsfQRVUntNVOoAq81=$**kmV+^Fx`x>c$KtI_y*Ge0000R23l}Z-I_#w<+_2Ukh W>$KsC%o9xj0000O{4=e|H3-z-A00Ra|L_t(o!|j$aZ__{&fPFVG zfGXuI8wMnFJ{$ol^-}c*miN^#^4l#($`@4nRZ$NBvBfZx}0~*4{w@h=#|8G=QKz0juB~5K|Gf25nKks%lt; zP%6Zp?w>;kyDD2ekT0M)co|k>*9w4@JHt&F-5VM>=lJ;Ie)^Bf+Q~}RKA!wfWW_kB~T=0 z6QF5|JTGQ0fP*}UwaFJ0#s-8JRlwBbd2Wo6R(}xylE|&d#%=m0VmMe5)(ouK z3)+$ga4=B`tZ>u>9=z4H#e`c$>nU=tf{aHwArcSro0(GOZ ze+H7=4eH4(S?R^pf!l(q{qazX4*JoanXmQQxPvG}YxEVcM{Yitt^-^}gy{YNG|fFR zb28V=@;`O@Ow-JY^2INQQMejj(ki)`Uz3!KYk$`+O1USd%r9KPgYh_%G(eSiN$ozl zS#vWrq%|k-vIG)Zp;_qfw(pkV&CL7;+#K;%KyPW4T<&!7-^Onr@?Q)iMq2;?0000ljA6vurxFn}uMEE@(SWFL+wDanHR0dl;s zJN4@)C{n)xGXsc~39&LdER`}P{RA`v>YfyJ&-oJ&^Uf(%OJK6)76uLth<=;MQ3 zRS$f?LHzp3+uBJGfGHW^J0U9Come zcz9F*p0!@>VT;i!At>{hOk%iM=K=zTF}gA`fRD1h*@B}N(AUFGIyQv}!$BEXqAg5A-L%X zs(yXlWilJN<=JiIboO-|Gyz{`vqpf=2&jLfeh)Zn1f1z~GIrM=cji?(bIXpn(yR!Pyq-x^mCaKZvu=q$^$*5yeu6aWE_KP>f3DdC)wKnFWcW%v$JV`Tg_s_ z{PD(pXkfZPr8(PeMr zET$88y6V>KIKf`BQ=MYXf&eSnA4>Bxm%0hAihb&&z6G(8b(pxnTZTMVSw zn+mT0%F-hz#&o5WLb#EUq9r|lNZYB*egq*(X=}+(0M-{go}gdx@1qMR#q{MU22}v{ zT`vQUfWB)3Mut}-^DD4E(XBw^Rm&+1zRmxdpC9sH44T_xzW@LL07*qoM6N<$g3nii A9{>OV diff --git a/graphics/pokemon/treecko/back.png b/graphics/pokemon/treecko/back.png index 2b7d82f53a9a63e6396cb923d4e7c521fff5af4b..dce21e214c3705c282ed37b8bdc2bb0b0b098f9d 100644 GIT binary patch delta 507 zcmVp7$Sr6-}oq0zb_h`U(zOX&T!BiG%$#4P1c0f3#<>;Ul&Yao_?X z0x-6F`~@IYqH0P9pb*uF2aa2k#nF0Tw_t#a(=$7u3~)7!t$>O1vti!}?4HWZ2^?HX zODFsfKn-hJwE}+d1<*~D0TREmJFQ-8yX+*zECN9QgKlN;YrQD@0?0<&rff3pP)5MggJnVKUeF{}U|#@YZdn@mlDkm`x=%X9^O1|I7GtWFa; z;F79U)|c@}K|l6b0wL)>H~k2As_h690Kv&dKVZB|I`EkPY!)X6go#pCJXvlv<)<*k zMV(wG>6CiNt&7hR%HB*|Z<`W~9dEDfwi7T*bL4p5Jae({1VzMveN8fs?I*eZ$_Vu*NX xLrot@*RKVI)^P`xXVIX4OTAb;)dK(Fy#w`Eut414c0vFE002ovPDHLkV1hLV*&qM_ delta 517 zcmV+g0{Z>p1nvZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mn&1K~zY` z?US)i!!Qtr6RRsynl=klVp=f)LQx;Unq}HJz>q{4{g;4IH%6G`0g02fJw+xB!7^&)&mF zY$M{p1w;g(HALelfLw`xswo|SLR9D6dJH-xMLb^(>=6ubdUR|DlmRYAu@x{nIUe<$ z!1j^MoWS0hv`oT(2h^x$R1NTh1wbcJ21xwM-D&k&o8=@)mk|g87<4O(U+G2J0=T*k zg=q*;1@I%xK0+Ma-Hwgn3(Tr5%q?Jm2s@L>)VyL6!wT>otPKEvmy@X}5K=$!d6=%C z$G~G9faPgIFSw*`mFvrRq@W*rEP;@GpPPAvTh(!d34q`fqaQHdB_DXqzYdF20>VUT zE1rBGHPt7X=AzCni*!mql$iy zv9wVX&%_XM--enwkgs0~lGbqtzVBj*zAgP?{#XnAd3oL&^;fV!cFaAc00000NkvXX Hu0mjfmZ#)Z diff --git a/graphics/pokemon/treecko/icon.png b/graphics/pokemon/treecko/icon.png index fde46437205aaa23f8b5d768fe8b4008395a3f3d..d20191b302909d3b20f6e562a0d0d92e74aea64d 100644 GIT binary patch delta 309 zcmV-50m}a90*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=f9Cy}6hG z008evL_t(I%iWSOZo@DPMRfxnDvSekC@&#!w8w5aO^%e=U5p0kAZrj3)Ij_zr+`Iy zEII_`CgSV!i+avIcTwCllAso7<0}n$)vEF3)hgg7?tv*>9^M_bt1p3j!AIMbK{F4Hj%M=h8~}5s%TcNq(p&aG8cQSe5;&A7^L=0hE?3ek zIKr%iKzrHj(5CvyAKibgzX!%`fLS~%U>45`n8%O>7*h{msz2a-}3Pd0&9|25066L00000NkvXX Hu0mjf9tDFJ delta 273 zcmV+s0q*{c1Ly*fV1M&TL_t(Ijop$lYQsPfMfV1CsEidz;km>zrCg@VX>ugjN+V)O zu~M`NGs?PY0Y7+?O7|&Ak60*Mh z7=xkuW)r<=qn~3~HX|SP^(#=j%q4Iq_-=P~(ZqeDgV}uACx5_v)8Rwh3+cVgKpv`* zI!T;rmFcf%B(A^YEqH`E34t~>f3s|>TmSV{|BoIIOjrRk&vd}dGaWG3B{MKaS759P zFuhCU0?cUolbrUY{DK2zDZuP14#YzNMyHAckUBnE9C86>YAtlYMm!IN4}YRN__zQ9 XYm!$`Ug7Wn015yANkvXXu0mjfY+HTh diff --git a/graphics/pokemon/trevenant/anim_front.png b/graphics/pokemon/trevenant/anim_front.png index 3a51361f77e861a2dee5bd5339e8722a46bf93b6..c6ac720eb15aa40f9af7ab04a9b2ee1236163f15 100644 GIT binary patch delta 1231 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 f;`+!l{*&3|R zNmd^E*AZMC&z~d>u&?RF%IcBL_CPcl4eQbA0l+Vv-N5>_1hx~|tD z1FHuGvo7h`f*T7vr8%&kr3ScK1Gj1eFGJqISB|GL6lSP@7Bzr3iP7jXA zj)aJjxlK2-RDb2EC-~^YiUT3UsAmA$w>+$fs(=hjI7T7prC$RoSVu`Br3B)fUD!hK zpj*};6e5=r6QYPzUIlv;Q{$kK153^c#xMiM#FH89acbl(90``YcpJp;wE!w3TH+nR z!}ugI4;mt(b6kfL!vk)v0fp45^U8CD^3C0OR8CYX}+qbalI##sr_=!y=^1G=-Iv zq4_55seiTUG~*&f!w3eWtUsi zom~TmKq7$d;$WhN{JId7C7kKE{jdgI48095(R`?T8;=tXfBW@?vOIrtOup*_2z=;0 leIUs2&l}gpKKd^Lp+9_-WcIb>!3`KQ<65gsQmr++|Y1f{kH|Q*&3m5Wg4$ux<6b1;;YOzYk zvgKrN5dj+XL4H!?bM8OS!_^B^zlLEWWagLGej7pb^xT7P1b<8+WNrcqrXDvDlF+m! zxbkR9%P8u8-UN4RLfGr~yOcF!{Op;MIaCQeiHKR0u&*_{GA6Q^kS-w*Q6Z%yoMvBO zvfo&ip8Q-{wE&t2NaUsSk?dsRDrA(&k6)af3ItvTu4(`P002ov JPDHLkV1g9koqPZQ delta 324 zcmV-K0lWUe1DXSnUw;85Nkl*ZbY%9uU}rf3QU0)Iy$ViMW!OU*t{ku1l@ zYYGHZh%pMsMHiTC8e{3nEtOR>plN^vuANV0k%$YBP-cw-YH1}O3?U51wY7vj2G@o& z4Rns$K7aw)sx&|oYevnRE$i~y%F4UL_HQ;(D6qkIJ|MfBXQP WoeBhp*1To_0000m8G6vt&l@EnptW|Q(2MK_5;(NWR~uHoEvxV=MQ*uHcr`Uwuk zmFH|XMIDR42s8&l0C&8hz-8{%@6z{3$)Y6scsMK0`|0sfB7fiiAJ6kV;(c?FvE&!u zh>xX^VeE>G>WhRSgqRL8v+3wUUm*@m+#^O&I3)@E5JLPNW}(yG)S-}xso~vQDI-FH z4uDx@E?|lne2eq4q!^}^RCEV!M*#9;uCWDuSSNqJxuP!A|Vup}4PKZi1+?HtU6 zNi6g-KHmM2!GE{l1dL2Pig1dt{IM+myoPD=6QC2Yh%p1m`RYOCP)1XwNx&G9aRK!Z znJm=Dt0F%w!&E>by$H|CfGFngZ+8t)SAY}L03oa6?d_we9~C=QC};THhlhN8KHffV zg$6JI1X)-o(7^4@)5~sB3H$}YS1Y5~JSNY~v3hxYNq;9*m73QpVTGpz2#Bkf`Exqi zBQVy*aVr7NarH*_)R8!2spSx%@o*{=}547!4Lk3kWX0-zwnnBcvP!$;!T z04LLR0}zS{to;LX5Dn~8k7JzUr@aFqg|Gll2OALXB9{sPoPkoLX7&#DF|7u40zE%p7Y3I26l!D`@7}l;s`N z$VGnz^_Z6cHszdzzT!Z5ubblK+SS`ChkojUVb1!b|&txaRyjJkUN?YjC`XL zz*B|4a@qnUxNm@a z+=MzyWFDK(5SXb9-!%Y-U%VpINEXyZ!f_@`wW|Rwh#;Tz`gJ7fPuQ8LZ-AU#;-2)GPe@&8;__2M|{eJ9rKc3aaeBYqj~zF@f5vJgC$V zxcgKVN|_W(0QRtq?siip1b6WNpejsMrF{TSO${hFaM&odz{pyC90HR&C~IMWWp#j6 z^Z^K5`^6H<2cXzi{Z)8#eG7b6hhpw6hkwA$7J*e|BK~391N@gK6IkhIeD(gRpP?wQ zDF5bot*_>*W1J0)F23m>Mi*gBMgOQ+BaGo69)m&TqLHxp)mzkv9x)=ZHZO2}_0Gt9 zw?szc5lgjCklG#eds`UCp_Yu92~*KcF~<86IG!VhCynM|By2#(;XEZM&4u``_C=J@&^F?v{Aq7!`lL3YcR%KLjO6yNekKxjXz-6BE~XVZU5VG3THa)8Vsg|3$iVK z{df0Rw9C*5BCY=hNYr}u{G6WvX4E}ma;Ak6)={jVk9pT0XakbyM$hEc@%H&R|EsRj z@&`#Rii@YOH~*yDzh*sy5vR3aU4Pzuee=cJn%#^EnC%bn5&Zq-{mxr!V8paXv;2X! zAQ|+MmEP`S<8Um0;KQ3NIE6lPxc1N=;9If{hPFAN-QIeCuMGxP2RopZe`rkL1*dRC z5zzjLb#|#%e-3~G0Gli<0lR2w1E3=hN1UCwx`{-B+%c&q+kzg_;JReu^d{ez|c z)a@TE^>_LQTm7B>p;rImtbc#7)!*qK`szRM4~_cgH8AuKwfgTUar=jp`a>6j8ixMi zr2bH5P!0WqrT*}jLN)XcmipiGrNcki>R(h2|IktY%IzOo^>_IPTm2U<|IktY2Zw*~ z4wm|F9sZ%C{=UmU+;r66;UC^~)qmh0y!wg0IqIv!KQvrXU(VSC=N9-M&<|(OLGq)e P00000NkvXXu0mjfg)8oo delta 1532 zcmVEwucYzwGKJ=8vth2se%#_{={*_?YItf%z`&ItfZU5#$f<3OCUT|TF4q0R&i)T zd9zeqybW|H>KdL6^GMM&KHdD8z&HN{3~W3MvBXgSoacXCK$-LePy#RXJPYXg>dvIl zM%ATF;CWm}8GrP{^=x52ooDH38ny!-(j*v5fXL>T*SiWRJHP@Z!1?NUeSNRWN9CP5 z)KmOEf`@#3JYL^#6#=8lnXZAuMoft)Iq(*pa~%W zFpy!$@m^2DM^(WBl26tZzy&67)(_O+1ngrbF)s1bU4f87Ie-+M1qgTXGXnrt5CW;G z6UQ1t5WNWMukkG7b z&7i8W$$#@3=uxWn49YRj0Z46!tr^&{u>f}HcMC8!{tSSbrsA168$&$*$o=G*_-Kt4 zU=DuTa~Q!$HO0_D?e$2n9Hw3^`RY2#S3y4SsT!i@6 z{R}>pqOy7-kg|mKv5h3!<~UH8)IxX zUwyT9;V@rO>S}s?%@By6qu-p+W_pE5-|P1VPnh!BWv@i z3yg1|t%U`a#Q|o~1|V=T%9hYR0NJ)^&w|bA7Wga<*_QocsX*ziiAOw0Ucwilewo4d>4RcA8&jsQiJ4N5oLiR@?t}Qh&gn zuA1;p@;#$$i{Jj;-DmYQC_za2Z-JRvuO1)M6X02O4?R7NQ7B;^+4}LAHvIt^5R}Fd zoF(VS>&N5#YuTma4=lj>;^F(%Kk@eK)R_V%h^Qva@a*dQyKii3S2HH?Tz`O%;O}pj zJGLfZ;E_jj`~g{z1kREbE%%{yIDd{m7{Qy&q=0keaKX?Y;9GJH2H70YZnoavlEJ|4 zU;VE~f!YoR2iXIe^g9?<+5=F3^ao%JJEKy6*j>HxTKz#g z`{K3wgZ=LF54HLWzt=xF>M#2JgQNbv{=rrMUjI<4fA*|@aMi!pKeW}q;~y&ZPfMWd zA4>J#3EuA?PU;V*5cJUX4|ON?hc^A9>mMBThrbkxu77aU|5h%0{DZ6hS<&Mk8tPy4 z`-fWn`}~8e{);~U&`|%o9{<1&j{0wV{6jK~zY`y_7$0!Y~xZ z(RU2= zzxRFbIdMGi?+f!9*kwOXc#W~OJxWxC16%tTiQ>-=;$fI1NLQ3he@q}2?R-Q{7#6fAwYRwGyy;OV5kF)JfAI2(jqHC}RsoU`txMH+uqEqXP#HhRgw_ z@8$>g#*T%d2ijoCfdgZoCZG)p0jxVLG6k$Su;xRUK&}jyUQf)pW~mhjM1RK;Ib2Sc zWbA0pcm;Ugf|Z8et7L)#0+M!bNh!77Xbx;?#b>kwTPl~ZXaYjN2~cnVl>?yQ0Q5<( ziaP=L4`As4c6S5d1gukLEf>2jsO4v delta 510 zcmVf9RnCDN#rZ{L@ctQ^akWAm#1mozj)j;@$GCg@+uVIOs8J-O8 zt0kxF93UH+1{w$=uEUP})P1G&6*r;t^}FE zbpU#5?wDPGfDoa>W`Q~@1pWCz>Sc;r30S?Q=hZ>#q-o%XSe(Ou!HlgKfr_+rls$o* zQO$wckU60A{k&#x?6@#=UmKJhs2Te-0d24lz_!C;rhp9xw!DN1&4*;PRTN-+=kO>O#N!q<7r4-qQ0~IZJM>|kaxr7xE`b~g>11KDT zG`I!mo8Bz$1mHhefYJf%?*_mLSX=5}y&cfs4gYW)fVIT$fqiNLiVI-@u6qJ?0XqwD zxd>~z>&HAzH4R5;7clFe#_Fc5%!gF&!opJgFlH<#q9&lOnQv%UBn zg`f}7=CB|dX*>vGnwZqT_Rv$=IY|666DE@{2>vrbo2TP(m2cY~z?oDw1`S*Xsatl2&2|##}VKYW5(%ajuJUEn#DBws$ku zFthsfFt7L1%V-%qV?32XkvtjXh4BWh!gzyLVZII8gmDJ#g|PHqS3kZ0GLRLwJ|vkK00000NkvXXu0mjfk?y9C delta 369 zcmV-%0gnFC1G)o{7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0XRuSK~zYI?Uca| z!ypVpTa6s3qWJ&+c1~aj3hlP*G`{%E3m*WX#mV~OdHU; zdBq=K22_ni0s0+(GW0NS6ILYpcuXLhzi-n(6vti5Lz&D=+mH5WJRgyF``sfZ;ZrL z%7E1E5Nf1u_0aCHF(bjh(WSCQLy3Xp9i%65OCtSQ+@z20}#id8feB|m4B?M5yg#CMgXyZAhdmu|} z+&zlr79L@;zm-I*eV?)L)hu%FjA4geIR@qrjM)vViA8e<}G)( z+})rDzO~E6n;U_p_=#crw>wsI4zLs(D!3)kHULfNB+bAuB?P$oawFhCU^=J*f!qWn zd9h=3L4P2;+?uoeJGD_G7#Dsk=mBr) z4wN;DZl!RjS^n0zSK0@^M|A+L?88g>u4-bFeuqE^IMe}S^bK3|S+RmZssLQCw;xbS z1+4A@%T-f$`#~T5Ljl0p@Geo{_(4+o2i)G1e1BQYFhwyvMRW)0jyO8bF6+edrSum8 z`U|uNOrXKYF6+q^UpPl@n#}x# z7=J~8Ute=Rx;XX8@~XL-u*6aqN9ue0000ljQ5XW81Lz&DaZaq3S6;auWKLBx+wqsR> ztSA+Ij3|}WH%4MAWkBlo5Nf1u_0aCHF(bj(=u*WZB7)^{XQ!x6-g_CkAd!h zclTuJ{+6|fe=?Tl0goQe12*mnIC0!6z5tj3h~tJDsK;KJe}Af}5yrJbMKfrT>v~ZL{yx(HTWs$!dmj2s z4cNZNYA+ev2Y)KD*_Z*An|OrD!FCd^c74tpZ>Et4=Nvn1(-@dPJkHLi1U{T|&WkB9 zpGH}hMHS%WbJj%SkoS5$yz?hn_VIfaxDZ4%IVtRHiVv6KOQpmoAx@j9KoQxI5I5K2 zZlAV@L}N4J5jB9n*Tq>Cup%pR@L7yz+92R`{dD>$c7HfMYh$bU8CmwsVcF$iYXlf0 znt5~)i&(_HV%~Chi`}i+%M?EdfOu#Gmf~mHyc2JI6hQs~#Vr>* wDS&|#gX$n|+4YD3Yy%5vUSHk+i}(-X50BpcE_9pIVgLXD07*qoM6N<$f+WOiuK)l5 diff --git a/graphics/pokemon/trubbish/back.png b/graphics/pokemon/trubbish/back.png index 4641d96508aa84cfda4b4cb12ab8d962131acb36..646e25cf312b653ebf14385544e5ba9506de966e 100644 GIT binary patch delta 363 zcmV-x0hIpT1JeVLB#}W-e*gz`Nliru=LQE4EE*aOnQ8z40X9iQK~zY`?UF%mgD?<9 ziNygj2Fcr!RANmh2QX z`1Lp7fcpU2?F`_!{`eMvGvaW31t?^M1VjtGq-os*I0K>uwlr1^e-1jYekOtdKoBk& z#yEhbCy;=u4|BMOhYmnX=TTt+Z35(PMTCujE}U2;^A3t1Tb+XYiE>K%1U*tt(PO+W zRSUYcV|?3N(ExPZgR$k;=!lR*>M5=qltO3^)IkoReG7~7kQ$f)2**gP)dAYg!Ru5` z_bV|=3E>#d=#^o z%&!W@XMl6jV|HxKBUJB0rUTP0=Aac>p&wt>TuFoqcIE&8002ov JPDHLkV1hnUpPv8# delta 371 zcmV-(0gV3B1Kk6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X9iQK~zY` z?UBK5gD?<83E~4XfaGgQDsiUU4}dfh-(wWXzh8SHu*K_g=&4fX1iO!!vB_Ra>U0ED zZwCf+095qxH{e9a0QLJBa9&@&6yQqKoqq#z5`+c>3;LX=MdjfL2o_ZHIIpNHLj|J^-r0LX-hW{_OnX-7lPz(mTq5 zbCMpzZK;~jy&l48?@0rcVGolC3CC!d&_jwbtSnL?ya#vCLwH|fQ5;f07(ls+*X+Tbx+v6c~e>wKn#X%=(VZ8ON9v&l(`lI;=j(mzm^eFIa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;V9^KLv}0002QNklt)Y zEr7Oh~*0O&l z6MAP4-FP1AZQ&e#ZW!NWuYk4O8*AOV$j6?z+qfQc_6e>q+jo2nM7*5XWHFuLb>aCW z)GmD@_K7)FwOB6z1^Cz3z>oq%o+OyTOE6&05)6O_15ts2>0p=-dV@(g2Wr!yS_I+4 dNdD972{DFd-t06HlmGw#07*qoM6LruV1oE(a3TNz delta 257 zcmV+c0sj8s0?Y!C7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S%1J~)R7i>Kl)(67238%EUwMSnPcJ;m{(6@l?07nBgtGm#nPkmT2 zUbPLoLIddHMI9Ieil`GRI5^}k& za#S#Z1TbXqr79v|#_TRWhMd!H!lUq8u*sZ2-gbY^qrcE^2S_|z1W4}xDnJmsv_-nnVm611M|F00000NkvXX Hu0mjfFVS)J diff --git a/graphics/pokemon/trumbeak/back.png b/graphics/pokemon/trumbeak/back.png index 552c32d26068375b7adcf47d4aaec105e3efb737..2608ac0edf64f177b4e355bd9e59449d0439d064 100644 GIT binary patch delta 506 zcmV2NB>g!Z%}3f2ai!eTTkKh&d54 zU!n#AKsY6oP6&X|B@w7nM5T$kB)mWXmUSb%gn$%LX(!-Q9LstbmmDFHo@vD>us}@+ z`Z>Gfhb^NzUOe)EPbFAjcFzKliPUxQE%sM90=rX#_j~aCvA?RH4Z}e{=X*2q%!& z0%Wfikc7t5bQmxM0044-jSfOX2O&%cA#fiN+c9V~l8Aml zUuwjXh>UO100AI_658Z{1V9p!5W1FWZL=YXNJzliUxb&CP#|g(1Y*i#?T2yB5eg~n zRjdLFctX)L-%g(RE=B5r z>7?N$>`G7^UNucX;>-i}vI$76d=t&%vRQNa-s>mgg;J_{I(?mgv%m{3KI}oAY)-jf zy82o_Y!`GA>b>lGYtaLT4JysPebOc z$Pt6j@${0R1lk0UB#}W-F8~L0Nliru=LQE4EFjzgK-d5P0li5?K~zY`<&`l`!!Q_y z6D3oo#${rQlL;{-k*zI%*ubOTm)B?iFR5Yt&*i!uoou?4hB}>4EueJ&h)z=+P&y6K zn5NQ$2u;x#cxVbcp^#9T&>+NstNdPiFeKstro}kXoMJG@i-#c%To(g)|KjCY90S@j zIBVXMKmbUFMLCy1kRrNMmh-1qo}}2Q7G=5Se1eYB`4qrN11zh5a>dw)-yqj)R@F*8 zyX3RYZo@dd4RZb_y`7KQSMwXh^$rK^t9_@c-Z#w#@%Al9qZ_BQ>SGv*zL*{*`)OFC zn`gY@6GFWX(p}Q$v+1MkEopBJ>EH4ER#u|dYGC=(@w8CI^IKbC`FWA=fYy;(ej%0u zJeD2-pdGj_3h>l_%hBGd_yj=Y6DvUgWgk-tLHkgx%jN`-BuFiovAWa90{4eUCr>n(hv zH=V^>F{rw(F^kj=g~^sNZAk4I1rVlx@_+OP0kD5|_?CeUG5`Po07*qoM6N<$f+2&| Axc~qF delta 467 zcmV;^0WAL71my&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tY0lrB@K~zY` z<&-f_!!Q_y9i>yI#${rQlL;}Tk)thtm=GTQzPvp9e+l`g%XQl(*>V{RO*&;pKn( z7cbB97|@)-S&Nin#)U1ks(Mm_NOWIKf7>D2lZZ6Lgf$rvyd@U|AM_E6zva z2DxUdELZZ`rI>AY8|3gd==q!Sc0Oib^*gBR9T+fQ?>lArzNt5;w{Jmfot)0fk6~B# z#qt>4Ps3~7IuoUsQ0BFf?$W-PO&?WnX>)66|4wALsuI0M1KXdDr@1bk-`EP<&+=>s zG>+8vbGbC&@#F{q&A@e@gQq`#j^r zpjD++wS{l=rqgIE2US%SW|6c)X|mO{4=f@w4~u;SY6(7P?HPsdQY)T)O9pOT_hZZ(~s~ zpNFQ0sd_)BhfhsNBP~Pf{iej+*Z9p9*y(6%F0qfsYKPlaU+Xd+i1>yVTt{(IifTu( zFJZ`|Fluus43&apVZfj)4ER7n3PUV}S;zQ0KVB_Y3z6=Tj^ zn%9MLM0b1CJ}a27ebut9T04h_PmK#JEq$1sC_c{Bb{jM7bWt`X<=AIskSzjOe0`Vr zfq?ETSL+~73SJ#3jwKAFrd=4dCGIW^43H3J9fS|R`0)lUet9FQ Sd1NF20000R>vZRwN>kr5q&VSr}Klgs!v#n{*&|dWW zuPXJPb@{#u=rt{?)!nbZw3=sDQvl?o9QbB^y0G4KwHmc=_5ha`AK#t`fUcCJO#DER%UI&gV z763?N91H-D2MGYoppFW}5m@Q~CO)90F>bHLWgvq@XYb~Dz$dshK@ungfppPGBA9X; zyG0{GFgF2Ml0%(|9mplNNe~1a7*BI_Wx!N-5$JKAy?;Xy5c;2<(rBM}cx08{v@J~iC!0E<8!W_F6eodhrk0fcIV zx+|`E!p#Q+WR;7hRsckwP6Z$farNK&zXH(4DqGRE4fn^>{J^^qVV|D1eQMlKhxvgn zH1fwRuYYTP0pL@u8W{0XfFwE_A9c%sbX?qN@9VG)PQ3ljyennu(hj}3F zbR!1B)h3%4Q>~J3fnc8gzUHcAlZDh5i^n8}&m+|o#Fqw%V6_T{&*!i9KTKi=THHOk Q`~Uy|07*qoM6N<$f-0*q2><{9 delta 638 zcmV-^0)hSg1=0nOUw;B!NklBjE6bEqCLy5PlG=*dex9ChElk))rPU&PQ zsSMfd4lZ4_oU(;m{Im!gT1To&N|u1Vbt#xLWHuJ`OL))}`VHKBCrdubviJ4|8R`GK z_wG)zVf=^VS-1OQZ{D#l-|hpQx@|YwyYuIE{miaQKu*fR7k~T1h5f2+RG4$K16*Fb ze|;hWy7?wlWfXJf;v!sjook>nhb2S(_T0V(EcMJ<19po5h+e?b z3M9Y*Z)XA5lYbWg$a);~03Y{K0Ni4(4w4Q$D*&SaaAZAhujOPQy)@@r8%RL00Fv|^E1Tz2C(GEHw zK0fwiOrO@^NP7`Mu#9~m%O?1---sbZpuZ^^G~#6(G=G|~Y$CuV{MKJJ+--rG&_I=+ zBDhlk*C0Wpcc^-DnlH<|L!fp!n;Qin&*@YGwGq$!Y5pmIChoEkuaDvWc&z7mkTIUq z)B2oh_v3yJ6c6&-B%d2W0fhMm+h7ou0+Qx@c+@Tf+2`VoJD>Y|!DMK*+Izvn@UXQ9 z)Q%?)p?BTh4F=|FwffpBg3Tv8SVd9P)k`R_IffrHkLLE(F2KJlaJT^#N_5~wY791@ zs@7Ko^RS->*-6(D5G__2@Tk7aa1F#X1thmiKANd~HhWBa1fjkJ`KLi477J1MZ2sl( Y7ffOYS^+?6J^%m!07*qoM6N<$f)}nWGXMYp diff --git a/graphics/pokemon/tsareena/front.png b/graphics/pokemon/tsareena/front.png index 9072ce8651bf8d7a3ad55bd90beb69972fcd013d..d8db63b1465ac312a2aa5b88e1ed9f4a902305d8 100644 GIT binary patch delta 809 zcmV+^1J?Y}2Kxq(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;VJHDcxM z0008sNkl3NlhxL~xFjjR}K- zWakpvZ#;}v-F(ju1O>r*5?Mhq7#=)G9~A$GB0cT0%V351O@GoK>H69s`e>5J`+oZU zev_t&qWtech(y_*6(LH-uT}v#LXTk$bd=xxR)m?1HDm%hhu;R;y~$Q`E(7{ zYi`5c;L7LSr+@LWCOBa5d3ghh^h0W4rC2@<6wUxji!a_^b&|=OI3ELw%K7E_g_I)_ za942p{9C0pdV#dgJ zzjj-PUC}y{cG=CZigU6rzbh97#?CL07n=dlopxEKE{E-D~c+@n+3& z_GMjOKYw;=Zrnle4J6kxUUNf^vsPQ(XA%$syRqstoJMv#_YS-fJq2Jp>lpb)*2ooo zFq#5?;*!2*7>3>lRwg={0KmxW2y_N<4`{{F1PHP^#`|DXgWJo{NS%%fwrUxn`pku2xnX8f delta 766 zcmVy*|~)D8xLbqH{Y`ZK|!#dL{^Xth6fMQ2gU!PNKd=$GFV}LU(%oJ zYdz?fCV9N?r{C{4NvWdz?;u3JAJM|=xf{luG@r2I!NR<2+<$u_0ZFR|?hqM>SY4oL z342xo5?!EKRw! zuE&6)GIn`>A%ElZ6nQ2EI4LZrqMToPypNzP0V+7=FU|`B*mB_RZFBzP(NB;Ag}M!c z^Y4U!-IjygF1g5~Q3iH)0wB@Um&~n~_TdE3ewB)n8ZFydfVlKN@3TzpV{r<|Id5y9 z$jY^e;P=vnT8hmjVFGZ>STvo2?IOq@C3Om3I-Nf68h^#&iX1FP5u|__29*HSG1rey zkJ7hKj~SBCZjfo#g_Cw^7reFWb?@+^~8k@Eeu>goZNfC#wtRln}n^E-ui5Jdb8 zfStT=7Jut`vrrDfXbF79j(ycOm(&=2(hV2=>sMz#-BT(xxUxifDp3jh@K zTx%5IMjz;H3N0}LxXJ*uaf_J`Vnz(~tcw+gfOir+dp+l>OC&~SDR!ru0oWP=ZC7>4 zoJR`SoxyN{phw`TM;M8Tr4VkfK(_>X1g||pg=LHl@`_4Bk3A@U2DJyG>sbJXYL7v} wm=~LzR}^nc@nTc*0;vBC6gCa0(~|P|19pJLek&EVIsgCw07*qoM6N<$g76n+-v9sr diff --git a/graphics/pokemon/tsareena/icon.png b/graphics/pokemon/tsareena/icon.png index f4411956238f1e4986da4d4c66e0476ee2c9feb7..0703826aac0bfae99a28756d9bf318e70877bc36 100644 GIT binary patch delta 330 zcmV-Q0k!`70-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;VL(%Q)C z00034Nkl6`pVnG63|BD{PUAV?aGT&S&zGUTpK7o{cS*d@cY2bT4%y z!nCC@Di;P+Aw!HSg>i*2Kz@Wt{J2my3qwK#i2N0X1s&WXjF05km%v0>~!^1`zn#?(pHGes<2+)$cXGsFNl*Z6i z0FK%Wp!(SN9jBqkF}v+w%z>@K6P2{OJ~MTX_=*gqMil^jl8TJr;uzG6$LUNy(#bVs zb+Y+N0Z#=0g#S{1M3|-&M(4tyE`)KVFs={==}nl#k2B+wFf>Gvs&8R<(80~Zc=djd r%)(5q;n`Ujj2?q$VIW!K&-!r%$l$Hty^l$>00000NkvXXu0mjf74?hu diff --git a/graphics/pokemon/turtonator/back.png b/graphics/pokemon/turtonator/back.png index 80e6f6c4f1068b178007fe02da7ac13cea3f49dd..ec9b524ad7b4bb67b6581fd696265317f41909ac 100644 GIT binary patch delta 706 zcmV;z0zLi82EGQ6B#}W-EC2^|Nliru=LQE4EGj(Ism1^R0-;GnK~zY`?US)?+b|G@ zRe8!5cj}b7a*?VVe?V)?Xm8pSZb3%BMA5}lmcBsmNXnwr0_|M%h6Iv6|NqasV-WmH zb@3-)JZL?Jmt7!v)A!%K?E;}L=RYW=O4-M!F7Q%6jPm?O?eERwyLktA5o^7T)$X88 zl;u~gNX*+A!pO@=1V~U**A3zkL{4%L z!J^)>)I_D!SCQH8S>^!;H4){K?Kt0)BCuzn?E2gEJ7jb1DLWznSEx;K}wOJa%nGojkY$==p z4@Jz_GmB7}0)V$e4VeWbaeI-%y@2@>(4{k_D76kIB}Iv4(8Ff{1a1kFKpOy?Noh7& z24+JD$WpY1KgI!D1vSbC4PX^OK;Zud2yG-*uM(9siYVh|<_MsKfJl}A50MsCL^&$+ zeCZ|ue|u&K^uUHxLxw*368(>;ka& o(+#fqX~m5Lm7c}_`kVR*@rUsaQF9+I000002uVdwM6N<$f;vYw(EtDd delta 716 zcmV;-0yF)-2FeDIBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0;5SpK~zY` z?US)?+b|G@ReACjcj}b7bdjJNf52$VC~w*nZb3%BMA5}lmcBsmNXnAc0@;h+Ac5ki z|9;*bgMTXeF9DO`*)qK70`a>+``i025SnuFi!r9PTRwGx*XCiIW!Jj6x62QU4)7{6 zW*6zZy|GrpLl<}(8y8iizk$G02k5PG50phQM1c-4tp!YON)YG*y=&71e+oRE1HF0P z?3Y(opbhl&U9(?})9`Q(^mWlnP-fXD%+LZR`_?`JX$J_SHn5w5#NymTNLn7L1PNy2 zszF)=RnrVaFjxchYogNnyG-4Fnzn$w_5u&Zz48Ln7646bj-ez|3M^#lc_CbqyrRm5 zY=B9DK;{15slNeOs>(?ae=_m{f)Xzl%_X7G)L6^<7X3S-c{JZuIm6~s6jHh@zA0g3Mh2%RNfj}lXi5XOb=IRYpl!IC2& zhfMN{FoDV;f?Nvn`JKaV=~Hrdlcf$IB4}zX9=w@eY}Ms=NRI3IG5}MNUMnLSTZ$I6LhZv^g~ zy9xl6{^pIu$vIV72Aq15sFZ5KHKd(mEJbKcsRy4lwc(}Bii%Skq2}n1{pal*fFg(oz-11IV#7D z?#Ut~u#y89;-aP{a{**$3fPAB4E@lip9}E@A)_z>U!?Z|00I3&>aleXYAE%Gy6MiN z-U{#O*}4Qk;-^wP>3_fTi1S`G>(s%@fO>DP^CMl?m;3C`U5Ix`wlP#We_j>@z=ZAC zjdppJq~wwhqy#GnAk9k2vdd!F=F|y~nMDBER`yq)@gey}nXM#((iA^1^nN&?(PMIz z1K74pKm-Q0`o918e!yjlMFr#n!22*vY()uptWgFWj9U`$!+0t%IW7S@^#Qz+=3`cR6E%fiygYv z)73n^7q`*LE29yS9xQInb5ngJ{3aB#NP$T9!{V+|>B-3~KJda;v6 zo;3r4MhVcKBzHF)7`nX~5ZaB>(3$&L-APHXm*zm|2HLm?Xy0XZe>Wv2L=l`C{lz$UE(TqagV+VNfvoJyODKqadu2N|g+370@Ox2Z67mCIxbBuV6z zZOQ>N2M%4vSPqC109J(uSvz4N0HNx{BEZ5YR{M~J(sn}u<3)g3b@-c^;PVXtG|aRh z21g2(aasoOrhFo_e_$%WjK+e36Jq3sSP6vKFwi>yW!QxVDgn4vwC+V|8%uD~SQxt4 zbOS@)I$Adp;^{>JVAKz!gwa&LnO*wyBKr9n@a36<3Tz?NwPi;1TNXw0!w16%hfeNa zB|sW;sLvug2VD95`1UFbW}d)+Ge|qjVXR9cK*s!9T&IT1G^lZX4;u<7yt@WkWe*^7mjQJVw*0i`?E2VdS5r~m)}07*qoM6N<$f}1efCIA2c delta 1045 zcmV+w1nT>T36cqrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tz1M5jdK~zY` zot3|D+eQ?}Pt=sHEY#X)(?XyvTB=ka;DMBZwu6Op+Cfv;V*+$48J;7gi>wBbz8ru5 zL8nap8~X03AEaV0eWTuo-*@+Y@1D^Aj*|Y)?a2*{^$OX!ov3+xLqf>TEoqD~hxne5 zTO@2sX~g;PEB+(C5hw%k5G20jJh&0KbKxieR0j8MBu+1=sxsu%l|-p<7F z06?BP)jQ+!AKv}Ne)z?!OIHCcu*42&rGsfKfz$E%^H(4L9)0@ZBr`$-SKo^PpfMj& zr!gH*BmVri;lZSu9b8L*;G;^n&L!YaUrx{ejfTg^)%n#np)>71>2A${Ga-MPf4uqU z%>sZ!5Ep=}3=k(mOq%r^psfHCka%GnA1>UJhmgQ}24KjGsunKIg*Lh!0YZ3s7p9=YS@ZIhs&ij?LTL&wB z>b_pqN4l=B4cMQ1knfUoYovc_yvPZF2|JM!?(qsq$Q2(-36>K;S}P%I4vXNLGbdbT z<^g22(!U0bkI2``Y$f66f${@G9|S`hJ|@>0fGw*4gkVs6;CYYl`&^b-RX`2^d;r75 z)|G(E8b!dyxGe!Mh-L!QlLDYq4*-m}qnSWcjPp*G2xaYUp2agMAjE(8We%w9rmStx z2>YXJC+HKfF{9cCQ&BRdJ*)*SE~1weZe-`%od==SG8U^NOuXC9<= zJ0bplk^zC^Ym+>neVc#QorHAwrUJ0jJ3-ZEer)fi^_B!$nL_UrY|;wARoqHRC)&?| zGig&ED5drIFeUXk<`U>-Hsz+SbQRBlI1b&SO&MTjz>&ik%K%XTz^dRd?ZhkqAW)rH z1z7N;)j48;wB1m^WEEhoI(*Gc@c9M+8fLa22TuyZI4c4emL-42nm-d@Mq@?64lr^8 ztONpV80am4GVDMDl>lrNt#?_tMj2ij3jzn5j&I1VqxC`|o?hkvMm=9j7)|w=*`rS{ z!=IOcC*K^Lz!E~OEidh;K;up&)Q)A+!GjZ24&|p zjG82TWGvQVjT$u$qsDR%8wyxP%|ILMLEdQ)$pg}h;*yfRK*i8z07Cx(r90LK2OzdQ P00000NkvXXu0mjfA4KQ% diff --git a/graphics/pokemon/turtonator/icon.png b/graphics/pokemon/turtonator/icon.png index 4e1b8dbfa18c6cab92f3c12f5286748a3cd39bd0..7a47b6dd4879c5afe6a6222d0acd007ed756a882 100644 GIT binary patch delta 448 zcmV;x0YCoj1C<1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;VRJGpJ& z0004aNklD%45QhB*Cr@fYK_X2WDVelANx&5ZxGGpcLHbMsEjZvjQz|(i z;F@S^K|nl%)wvW54b05HexHB&|E$zsF0VSdg>LZGOsFv1N`GM_)C(^Rbi@pEF~zq> z#EU#L(2?ZSZe*g#(Lwe4zOKZbH|vt8yWl&Z532EuKbQ3B)wtYp6hJ2?K{|2F)h`_* z62(}cEe55Cj{p>m z+{B`Q_pVM{alSkHgw5wt2yjKS3uRAy03!!5BM$0jO*u$%x=a-MmIG5woDs59piuCk qZrT);RMh?e0000D%46!afFc~T1s5^2&%$)xQ|0$xFYtAYg- zq~A2qf(M*$N+kybyvCXu5D?E`ah!soNqg*F&gYZwBE(;g6J5MQH@Ip6RG95!U?h|) z7ZK=;8Rn6SYtM+c_{>0OidDOjiDpIz)$99qCP39|lRQm;>wkbgsKzV)Tw>F^GP&je zfJ{_^bm8F3t_>p+1zR9BdZY-9vC&HMu6zy}Y+6~)fN+S7G&#>kN23_2PJ`&t81JME zfK5kTC#Z{{;k|29G^gmn4x8rW;#aq6zX(Ct4i>w3SpRe2!JC6>ShyeVxQYR2&zamu z$UulIjQRk+Q-7!;1^`hWWhVy5E$ILZ?#N$n69JqUF1gO?ZHUtOtcm$$YOa;0HaV5I z2>@9tgE>_}({6l}xC=o6A5EQ@;yN*G!s>G!0dPlk@L|vW07mx340RB_R^G`aFub#t zeW#kB;k}b@Vbl-NOIO{4=gajwotqP00QhuL_t(o!|j$aYui8+$5kW6 zWW4wbI4()a(8Z#=DHlk<0ww6ub|_>>f}l$S396c8b5jrP5*ozS%@=Uz#wgcpF+p(d zU?PgCHTHY-N$U7c8VaQazs1A*`RUzz(*6IMHjBR>_ecp)F@G1b-$q>tm}zR!EC8TH z!&Cy=eX^ieYGzZ}#0DYD`^0>t1dM&Myhw8VExGu75^iwdfJoEczf7qv~aV6CKN&R>3Kz!BpNj7@_At7)W`; zIv8-9=DBwwW&GwTQbPaEMd*1+G99gU9Bk?B6&@s6IC~6xv8=J519t}wTSXS4C*y}% zem!7}VH>0Q|JOMO0{uKwg06GHIrm?pv!ax8ek2A!;D0;!eJI}pAi#kNBzOSh0`MFK zLjHiC0q}(5KvnRw#*+9E+9ww%ptUDs&4{9*_B_Gg-1exY=~50ggDO7$^loTNyZ8z) z*i2Gp@vlXh#%r~D8PF`T5oWW@Mws;yfRq5F1OS)tr+~3gHYv8mA=Rbe7gi)?_r0BZijHLEWh@1OV|CYJV}t{9x^^=e?3ij6Z{Vw3~)Z?$|ck zgtM0B+oOcx74#T@4ut}T3>Pjdrqs$D!XXM&0xQWKfjVQKTZK(0mQbkDWlN$IJ!{l4o(l^K4Lx&=;?Iy(R8R)Clj^8Ti_jxBrZ{Z gryDgBoc}R?0rYL4n9ibKmjD0&07*qoM6N<$f>4iuE&u=k delta 789 zcmV+w1M2*V2mA(*bbkW!NklBjE6vr<{iphBK7jRsXlA%jXcT+BqfCWy_ zrR`A2kOV`Q1`=G=$>ydW+9foItD7(2&W%y7*?Xg1j>oDP|g6LMX78A$bSPmZ{-T*72^;alrHVl z@?#@l@6)9PN^3@daJob(H|s#`EN1G&-p!QBEXxLF>+M#?gd|@-ske7BfKMmgiT z90f>qG$eKy_Q{JFe{-vY3bB;x6Puwrv6Hi*st59)k0*uVB*5&=x@I!W zTURc_{_g-f0iY8AND2Q6*z?&sgoN!+QI^NXP%S*L|a%3YbXxZ-ZdJpRUF~hV1EtPPD;hMd>b9YT}$-pAm(@nD*~X! zpur)>jmwD`b96#DM1h>|#A!k>xW6;+F^~WN0oO@HK~zY`-PKP^0zni2 za9fhjiXtf-<#SG+A>3VdDWCJay6G>uOkpgeQ z4g3=0?zxtw5b5w6L3-axbJAeo*EP;9Ri@ypcxJxYHHw$ z8w|s*^UY5sFgWOh;a4l9^j7gIDi~8*1Tdf~V2NGh;xJ@C0Jh{j#<l8<9XhJ5WECq(g};6h&Jzof0tn2Qi1gm@UEZ)2YtE4 z`WRetP-J~P{ke-gi~(11{uC?TgX1`2P7pb)dU2%P<^aaA)0rA#f)7X(AaK**b$U&s zA&-vO30~w1Mpn!i!iEll;9Ul1PdR9Q)BrAYgQ-QH`5in7@zv$#>~HoDs1g5=RQ>IG Q00000NkvXX1g=70f}{rPvj6}9 delta 533 zcmV+w0_y$r1pWk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oO@HK~zY` z-P6BI!$1@V@E8>5>*Cs0s&wd3^A9+rMF+vbD~RYI@rZ-aDiSKXY0X^x!J&I;+yoJu zKR|@I)fS=mzxeLjI$Uy>!Oic`<$ZYf?p`=E`5eqLtNylfQy_D-D#(DFCJ1 zqJc7ckV^q}4rxa4ym~c%r+ErgMj3NoQ@1RH@{Y1TV{w3%R#m{vK|PbLsawo7&_dRj zBety+coTjI@g3zckS#)7|57cW0T0je&m! zEjZ}QBi1J1l7kX(>tm_TKPVnp1FqubQ@PH8>$+l3kV34^zc|uraRBSsX~&jm@CAtm z1a2C>7;zw$JU(J4e3m5)&jLL Nc)I$ztaD0e0s!!xC$#_o delta 71 zcmcc2w3=x`0{b>k7sn8b-iiJFrv1Q#qI#-Gwz~a45|`WzI>d& b?IknA<{e$V&iX&28Gyjk)z4*}Q$iB}S1=v~ diff --git a/graphics/pokemon/tympole/anim_front.png b/graphics/pokemon/tympole/anim_front.png index 2d72a92d18ef70169d4f7e7b913498670f34abdf..1dfbe191ad1708984061eb34fb56d4b1b50a6a69 100644 GIT binary patch delta 458 zcmV;*0X6=T1h52v2MaJ5QbBca204ystN z&r;X=U+>f1#g2aej$>t|(*+@ySiRv>8X!dD`VIy((h@X$h@d7k_17E*X+MN1O_X)7 z7mjimFJ+5B31me$1b}`IXyB_FeCF`9ki-I}twOPeD*+~f;XO=>qBvi}{kVUHD3kz$ z_ad)UKm?v8;+(l%F~w%d)R9!ZB%roOIux2}^8)6^YzPNbTN{*Q4PA?z9bDH&_> z1Oq%ie<=+B-r@+9C{TW*fRlgmjH5F))y@EjgAhAx2_ZJ(3j_9Ij{e9q{UMz1xx^%1}ygbW2dVR&;qo<@2=X1S{xNU$u| zPPH%RZa_YpdP6t)gUir=75RU1)+gniyi{`LR#-`TRxM@XqsCS6c^iTM?e zF&`l+*LToip^;$0LkNm6_-`q6;&uQ-HrD!XE9j-rpUDVc3x6b8&;@{Y3z+Ze0=`ms zno42{!&;_k!;t`&K=&R7S(cr);e6gg7)XG_N0t^kAcUUkA%`QT8)i?MjH=n%d?%)`}BX$55;pVF!6d*~S zLTKO95i!U8Ql(0rvuqQ>He;+) z$~Nb$lhQhCtz0n|4(7F!W8mbU|LgPm-p&YcG3cMo?N{9vyHGBd9wUa5ikfy#6w62w>^~)gRFD=JG4` ze_)mUo+2p`Z(X3`@tBA=?A|2}fb5RSbJ+xEJ2KDjQsam+^Zsyx-N`J3m#f~OIQ7Dl z)7!=KvEK{5;_cpoIo(=%)0zvtA^MKQ0Zi`wo#lnO3Ic7yVBU2t2Z1qRFlEX$IRF|v VTv``4gw_B6002ovPDHLkV1hs=l5YS2 delta 329 zcmV-P0k;0D1G58=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Srk*K~zY` z?b1DN!axuO;H6pWap6c21)jpP1c!=U43d>1N|8v0$_4UCY-!x3LQ4Y;6^CLmiA~ra zF5uU`Pcz8k8h~rd1a*%95ZZeT@EQ&5BR;nsh`=#o z`qP1~2isZKyA=AqD(5DDNK*JsSXGPWv6pH9nFi{^081D^*_wdkegh`uUNt^|kp&e0 zK+E;xSLV;aD*ih~m?6HJKnBAx5ntH6OX>mX9fjqx3GQ~pW-sJ0B8#mLPH?)Jnd8ru z8%S@xuqQvxzOMb*(Mvv_H8{Ns*8ooQn&=>$1DMSFyURCo;RU%Q@`GvHHtYpT`N5bm b&m+VI8arHCt&t#>00000NkvXXu0mjfDN>T7 diff --git a/graphics/pokemon/tympole/icon.png b/graphics/pokemon/tympole/icon.png index 7fcb7cabdef870545fbe6853e0ae84317d2d180c..6e31deb8efe3f7ef0c337de562c2b10a9a74253e 100644 GIT binary patch delta 106 zcmeyuIGt%if<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?G%}9hTB*0u-w9ba4!^ zI6W~v!eC;;zs0S;!l(1EIH{=eg*mIp!B2j|lMjhERM{CeZE*2dwl%W{>R|A6^>bP0 Hl+XkKmy99S delta 71 zcmbQv^o4Ok0(-rui(`mI@5KHHQ-&Xbha@Fl#mCwycrs0P_Rw%*m?JacGP{bU!t(xy b6J;1SZE*2tcv!HD0SG)@{an^LB{Ts5mH8O~ diff --git a/graphics/pokemon/tynamo/anim_front.png b/graphics/pokemon/tynamo/anim_front.png index 827e650ac7c49a455dcce946788fc35dabe5c145..c723eaee85e0d8c28bebed4a139cc73b39812781 100644 GIT binary patch delta 454 zcmV;%0XhEp1C9ic7zqRe0000A#{d8UaY;l$R9M69ma%SwFc5}`L>|CFWll15H-A8aDN&rx3~_fv z>la|jo+qe0k*#9O3$#*SuIEG@VhkNJ#=nGwe80|jHt4<}@bdDyTWmQWj{~dW=yHF# z0O@Hk%#@02a+KlPoji+>@R&B)rv3QDB(IPlVdkyu86xlvIAd&<8AmV0q&cio@Vo<5 zWE{dWgkQ&W2VN97by*!Dt}RFSeM}{ISD-tc&z}mJTH6LwLs#eySrt(ycBjV!ZOnl) z)fv0mn9^cau|-@}v8#(9*eg0m^{js=p1wNHAqd27Pw82W_i`!+u0x2I8fiIp-Jy`B z|0%q@yu7^b#tTNzY(C5nN->(t$@(9Da1F&9esChjEk8IA!{UeDY^DSke$apXVAm1; zG=?AY9IZC|z}3pegU0ZK&Y|13{h(&l+pVFw@Pp2^zVZWL^|8g3AKEKFNXRl#en}ztc zgfI+5aclLCxU1g2X1Dy+qBOwL?`D@oTZF%x{Ny|PG|?|l)Z z__uIV`BKbtd6Fbak|arzB*_PK!_(XQA%sQ%zT@f}#&RQng?N`A1h;%%@Z0<#970^> z2aynBkRJ?t(o>r~KWH!c!N`HOZ9emZCWpARBR?1i2(ta3kNiN@dNv0l0Rqi<<_GqA zY(Mh@9OP1Tj+QC(#b$Nb>NQtbJ`9w2B6@GJu$$8R$ONRlM^ bCwu|=aSSjJg8vRu00000NkvXXu0mjf>@vDt diff --git a/graphics/pokemon/tynamo/back.png b/graphics/pokemon/tynamo/back.png index 5cbf8d7270bd4bcef9b0bf423fa222e5cec57a7c..ddc039c4da8d2b28c37754aed71904dd876e1b05 100644 GIT binary patch delta 341 zcmV-b0jmDS1HA)~B#}W-e*gz`Nliru=LQE4EdytL0P6q%0U$|4K~zY`?NhO8!!Q)| zkn9mQhHj;W?&>9idNNqynX`kto0nfeuT%IWRHj+3#|jG9O3XVXP}%_yyjvve(4sGN#O9T->+xN+wBqC@d)sv#yCX->Ayt)x5yJ$|9}-;r zDfD%`1P>)%LmMm@PmxyP7#Wv90la;i^`ux~rK(IGTg;2JB%BvFq|LMo4!Sk1T!jeO u#a7L?s%xN#sx}lwWSZA##fra(DEb6rMrq+c+U}PC0000ECv8)#R!-H diff --git a/graphics/pokemon/type_null/back.png b/graphics/pokemon/type_null/back.png index 16369b59f4dc4ab384b4e85dd67d8e8c7af73b88..7042478d3722c15a393d185b7d754eb5e075b689 100644 GIT binary patch delta 651 zcmV;60(AZS1@HxsB#}W-e*gz`Nliru=LQE4EeBu_#PR?D0#ivuK~zY`jg`TUqc9AH zQz5k1Nkz5SZI%Z>iYV8C8flMoAj;mWp$~w-FVMq0_S%8YPSdoVNVGt{{5E#%2=U#q zdU*mQ+tH*&{&h z`+j%`{O5U8F2!gNmn5u4-!+=;0CR0u~@{x=bfsQlt&D6uiX0^oEEC6)ky$^kgi zANX#>3Ak|q{+xe#LhA;c=Z*0K-~wx0p|cv8q+cWRS=-*LTd*A z+yXQ$gv9~TFlu}te>U#dk^r%E`}Z79dYgApySp%e+5kwAv(eyu-=A`5qVejjs{~gt zKYALct|^);zz&&kYodwfb%7eMffxr}5D@Jcu!F|YvrOMc@1os_Exfx2@7oH*Jle7P zpm!AP!LL4kXQm@t=!d+xB_d>^=-o$*$WNXPq*XWrNck|ve|P{br&aDEfqe3Ph(|$0 zPClFlLjvfRXH0=H&Nlm!qn$!cMB|0P5knPjQET2%IM|^GNmxyVQBtr-z=kARU;y?+ zSc?IPLrJ}Kn=&y{Xy0!Sgp>eoU`BFcttxT1ggIzbFPHfCU&B0dC lgw6sfHwWiM7`Q+F0p9HJzdXHwDgXcg07*qoM6N<$0fK3bDGLAq delta 660 zcmV;F0&D&71^fk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#!*wK~zY` zjg`TUqc9AHQz5k1$%tyN+bj=IDWY5lYNS2Vfhc>ghCToSzrY;kvDXfCc1Y7QmS`#Y z^4r+4E52=;rxhUCy*vhMa& zb3E@K0qWRw{X^h)*PVlZK)C`4)2;v_HpvyZlTrDp5YDLl?;@B{`6b9uVPk+9!0{X^ zECB$e18|@(@WY4`aCQa$y#Mlu7Nld26OewS9&nPA#3%6a;w$)ox(|Q@-UC2kOv3<_ zL4cNXtsMYx3(&F<7JEd)sPTc=xKB$0#M13w54dto)>HJ#xr~9`YgXCB4i@(+)E6|zdRpEyKn-K>S2uW0NPHw+(iP} z=*JKbf{2V_xb%j91ki8Km=a^0Z;mBHJBEgc#w&pXhC1A$)_kC_w|yRxu$mg9pk$GN z4M{Y>033<176THef@bM1Wn!SzzTE&x$_=B^;)s3I+!Rb~6c2#3R6EEiOk0b_2Milc z+vG?o8S2=p$FoUXZ@sFd;+$pH1Ge*o*uEy!-f-o8vN9^oKDMrey^*%OFT#p65_GfRD(2DNs%tX%&n4hGc2r13^hdK~zY`wUsez+fWe4 zB@#_u^3sU56bx2u$XKF8f@~H~kRgMV=&ZP;LlJ(4tU(rZYjDA9hEPPtLIR!=XdyxI z*eU)7CW8mB`V74%+p?U<$lLN5Gp5e01vawJX4MlHl8A^%Bx%#q!%@Y$ee+tUy;{eSEsDbmX z2OjFV!19K{{kzPew3_2#dAF^kKwbr-gTVS`*<}Eb2ka(*M|EZi0ze)BYsxy?3MSh2 zGY{Vdz!{jTs>#wDe>s5bXm6Pp1eUO*YSyzJmS8*D59WPk2f~tfY2|F9{)I8-wJu#% zJ^q;jh3gckje%oV^IFWC>h~ESXfnSA5NNue4toDEYf;lZ-`1PKiRY&cNdIOANN&R} zX-!qrQ(bI7R5L)(v{i=fgB19+cbfrlM=EPFrk_mLSm-}=f6D0{Szd}-x{Z-c_7gJE5~#w0%B+Hq0>oCNB{@H zHh{~vDXkEUci%`Bz#4ww2HhI-RI04v>9gO5FbC{3-A~;Uzsnj1F%%+0Jq!=q8|flW zy3EB6T9-LMf0F}@zXh8K^6 z!_))t$t6mt*`TF0MUf!^&O4`>Uqg_HL@D6+4mLmw(c|wZGe&|W{wlIlsh@{o@A2*^ zimtN&ZkaE^mg}J$h8MlTQNRCZ4yYzTh1i5(kKRCrf4O@m(P{~SG9Vz^;n{~9GJg#v zx>{29QI}DdNfIz`VYO6tAjCy~9`H6ivX@9QmHi5YXPE2_2-wd65tMy14A1b1DMZA= zGZ5Wm0kP;P4tXE)T<<1%h_F!RK_anZR^tXB0PGy}xp5KKafww(ELQfUH=1Uru7 zku1!5a2GNr#32a91d#Y5#z`zSa|wdTbqgfi!8i?3G&g6F>pXAElLH`U7eUBGpBx|# z*t0269>&8buM?Ju`pg4N+biq^?<6;Z|u;}kb5JyFL@&8n^K=_aG7e5*^oa;j3 Q4FCWD07*qoM6N<$g3xN12LJ#7 delta 899 zcmV-}1AP462k8fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um142neK~zY` zt(7rr+fWe4pKvr~$x9>JQZQJtA!CUW39?x{L5B=dqO;=C4n_DGvIbeutsw=k8A1^q z3oUqRpoJ90V<-C?m<%4g>NE77Y|C;ZCqsLi@Bj1N|IY6{lm8ub;}Komctn2y&|V6? zYOU0{FLblELNA3KUlp-`5`d8J3IJBwGd;drHCO7AsT!R{>?P+v2#d1`_cPr<}| z0${}eGjYD{&_}%xSlcm$e~-J2)eAhVy}D2{ps0e`MPPfk>Tv)l0$!zn&kSx80#F3N zmb%UN!kM;z&%;LoI0M%-O?)i13INa5pK?D8ZBo*7`(6*5IIjMGiTm&QF)8_9?*oK1 z-*L|U&R0*$f=|Z1bQ45b8#d4SG9Rv}hQ9;27=j%nz~# zba=f0WUu8^^tPrOnJ!%n>Ny~6I~vFKVFvs-yvYH$BaOE?H_qm3Tptd))$ERxxCl|; zAlO&{ECY;CgedTT&8<&w=k4(3g3WuBQXMabcM!Nt6*lPM@Wwo^ECZntd~+?AAs}@R z2iiz)Z@2QXu|yaz0;#-m+y|W)?JB z3{}`-R`mI9bdq@hF}chrvs$dOrK$>~z*YA=_iGTD%8UVi-^B)KA-?+==f+5p)L%_; zYt5@D>fil(6UX240B%_GCyyl-XuQJwjbUU7=~fvW3k`)rANb{dOeUh{#_e*;0>c5M5%jKce8=10+z7 ztSGv~CuTjSHlBg_IuA%?S9R(0NaXt0=|hBtat{(sT&tc;Xj)(jV4(#djmKb7T6UD& zH)oY*z=SwSl1vn`=)ImZA&r5QQ$QArm?p8*!X*%1N$57nxPxgL;&^G!vd~4|nHCVG zasZ_>eRhBZ;4G#R{h-&X;NOPP3_nZ>;Dvl Z`~g22Go0jiJ*)r#002ovPDHLkV1nhNqO|}3 diff --git a/graphics/pokemon/type_null/icon.png b/graphics/pokemon/type_null/icon.png index e00748e138c2ee4cbcd3b605ce10f489cb11345f..0a9393e4d1a8f988c0112c72d1b479b431eefb16 100644 GIT binary patch delta 387 zcmV-}0et?;1MmZoUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;X__re`| z0003~Nklb>!3`LP|8-FuIESuDl;%-5!jUS(1l=z%`_NY2dr2+*+^<5E` zUKwMUilOggz}PtS-~}Z#8M1S%LOX#`EVQ<)h{)=T0E|e3)0)XsFyS`g%>^ie6C?-A zDcvIkaaaepobDH?WeN`oF2|qTm8>P1q2Gil3nkDZK+23JUXEqh9LVR7w|~oN8*UCU zcJHsC)!~CV>a4-XPDSc#Iv*#OtKigI0hc1^sG}91n*ih4UCmKjG{N=k>ZNwBWBRqq z|3CKs?G&0;9OhcqZRCmKd1gR5P;d9K>-aAem5G3{vA`u0-W;fD+UX z$uu*k1{hmDQ&P790~TqhV?f$~0fW#0QCEO5#+a<500X4L(gLF(NRPnGEIVN2IbgKm h;|9zFANr?!d;x0z6yEbYr=XR?uGhISQ(ER;Zt04Xz?xE#x}IgrmkU(0D-ZVWLt-=Cn>;e$EquEEDfMe5%) zJ`OHd!Kt?fmLh1cy*0n90R7or%uz=)!R74gp;nhZxtCIP|6g|h+buNB*o~W)YdlDZWb zut-B4(+Uh2ga(MZ0*o=nWD^A#AQhG^Fbab73e3o|14iBhMmK!ifqCIW|CEm_YX218 TT+hZQ00000NkvXXu0mjf+_$D= diff --git a/graphics/pokemon/typhlosion/anim_front.png b/graphics/pokemon/typhlosion/anim_front.png index bc4b7c45cccb7b1e341e1e6429808cb640a11c3f..3906e52738f737e55ffeccdeb55a13ef6a8aedad 100644 GIT binary patch delta 1363 zcmV-Z1+4nj3X}_w7zqRe0000v_Vkiyb7$RU@a^#jNj2)%_bIL=>Gu{s7K|UvEjcgCte800SUxLXm%{zryG& z3jsTXF4)Dh+5ty6O@RTm(JbjKcLsyt<8;6g_(S+@Wf$SCLHj(IAVG1td>PRG{&PW^ zbCCoJc=}`Mx*2g~+)UCkUYOszZ%Rbiyy<1Y)eF;&N&xtK7wKk4?u(}-pwS-`064Ic z-|zLp8DnDrhH$ECmCe!Z1t))`FM!Fi43O{!vyO*Y`0X@WzvXjHk zZu(+y8@d-RFG4?;H&YFB=z*+CAJoGm*`glAK6E7n!-9V}(8!BszbFp0B4`cxx+0{h zIM5W)S0*VQ|s6P-FJ1MlS& z8Q}Nw-Q3R~rC!~LZ|A*UkfZ*i6v6mihzF3)#w^Ak>V5pKSmQ=J;E<1Fl%-4gG-hIX z_A?UlVfjBr)ecc%DkJel(GJoN0f|MWcF2fDwRRBdAdauAwF3rySS+^62g1WN!v6~m V1sPT6On?9Y002ovPDHLkV1h!4br%2t delta 1299 zcmV+u1?>8i3)Kpc7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1k*`GK~!jgt(b|j zRrNY$GjV~l;LUrd9+znA5e zJ^|9K#;ou4Brui$ET7k#46qorT}_lPhQ}0u=d=jGv8!4_xUqkgLh8<#+lf3|Pb@AQu( zXGHd32aC9&l%D?*s2zKBv6^N)0+NhE-?j^)SfHID_}Gf=tDeKK)}$OtVQk+f@SA=~ zdN~VQO1$$loIp^L7!7z2!TSrtTC3zP57MIy4)FelsB55q8DPCVoUfzk%TAJ0NcO$k z&FTG(VEQ2dit#HUEneIM;xg>qC z(*yzFeI^X_An6Ms=pIBsO#>oihC3xdu@Him2PJ~JAap=Uq)gBNr%(G?O+q2i5#PU* zMEDIiG`J*=qdghU@=B?@DHL(~NTlzKZ%?Kv0@Q~Bl%wqow2WF35&-%qDgveIUPQkb zsk=XaQV?{9ko9~R2{R;w`YJ@d{NGFfji9Fo34kBF>BIeT0{rgIJ(?=ucNO=iwhLm} z{<3AzPRUZW&>I5mrxu#E4Ka*~XHMFz&#I{g00Hb`8$eb~HV`Q61h6Y#vtyAksM>k} z7TbJD=W;Q*&}zmjz!CswUzZfd3pwjoEV4*{9Gf7yTA7k(0}PoG;&^`8V z65?*+if~Tq-_-s~zYBT>eh9_>4I|?n0_HSqeNi7rh7$JSt zF@|dwryq}Bb?)CBAsB<=@Nmy;?s?A^sDDHECM3`l7Xk#nmueQ`APc}Zk8UyC3F&I9 z<&gmgZiLtaY5}!e44$@?MsWFR=bj0F9O~cMC5I z_sdEa3okB*?n-cPD*tQmpsvJh25!9r|H=YYJW}aD-NU&bEz=g{qR;(X;qKaMZx=b* zsaQ5s*hM3QQ#BXfV#zkp*ScBC#h~nVBmLMxE&d-v7#Qe+c(gDB@Gnw8_4`F~&FzC- zOaZuFP0fQV)Sm>92!Z=A=e6?3m$~ZEf?S#2`UdI8T<-ePKF|(kxT)jM+wQ?H$epZc z;c~0~F?9d{002ov JPDHLkV1fe;aNPg^ diff --git a/graphics/pokemon/typhlosion/back.png b/graphics/pokemon/typhlosion/back.png index 81bcbd42b6d14f5aaf013c92cc2613fba8c4ae0e..023d85cc2da980f689d571419bfc6feb8accba37 100644 GIT binary patch delta 828 zcmV-C1H=5W27w2V7zqRe00013M{MnpE0-#QR=RHh;RcKM=9Rq({0QDWQwu^NblDFsua502{e@(F&XuCG@7CqiU zKoRIa7D)L~ys-m1ML_j9uyrXv?WGYrRURN<2J{fzLH#%pTWNwS=iLnOAZ;)>{k@fL zVvX~FrRxcQtw*|n;4ImjW`s2bEdb3Cg2S`ZU*@b>(Dk7Te?8tDH9Z4Fnlaj z9zelfkHTz!6~KDBT|%aH(*kak2CyEy9Ggk7bG%ID!sDwGzH$?UxA$X9l}An;hX%0=V5(#6=f6R5qX*(^}gn>C`5md!{j2$GA`+U zsHbaecF;(U3mHkQ3yawGIsf({O6vt8|JqwB*R@Oq$wXMHPvo2^MZgc$L3u>IJmIa( zpVUHt2fmcRIav(y5%FwBDZiB_gtHls2Bk0AnFs(5%iv@VNL2#yJQylo{I5KLsg)FN<0000c0004VQb$4nuFf3kks&^R0dj|3ln08Rn}+Y=#aQw0Wm;_841n|I47E&v1GaiSTN1(%ip4nP)UoIVM$Wr6{H zwXFnf!T^}O2uYEDlq~4GU~vE-KLuTR@*Xv(g8L#&fGL0q-ftV`h2&ZbXhmoMRDd|X zA@b;Yy%NeZNHTVdX)3o87+|3SdPOO~g(DE8Sa8Gjpl4tWs9-w~YVj2{4G@da0Mh~N zKuPZu<4NFy3t({p*ao!YlL+Is5J7=Ks8G!_1r0dhDwH~Z1Ev6yZ@_*4_fP?t0B)gn zp^x&8h7)g&4oC}o1?0*dh1!KJ4KSd2(`FF%-NYEF3otIC0H^~|0PIEwEC)1LnAbI@O zL0yHOzZrmB+T<+Qv9RS!;3B|q)@{mwJDpZ&HTORVx^?-%3Et(PA-sGQqzveC%J)^-1#}$yD$b>UM^C=q0KLuYU>aInwg6qzBs(6U zWs9Kez?uh*#~5gFaFUOo^0{oE9&lcE;y@gf&b_8c&A-q`u?}6_Ncy3@1;j#l?Hc(cu-vIXw z)Dh514RD)pGmLcJMlXRnMA^u3Wjw54Xd$kRhX#gUMlm+y?|_a>BYgr~SXL*VfOS6H dURnQA{Q+5BN+>&8he=FMmF(HQm;k*$c z3w$Cv2m;F4VGuSUyr2yc^2iJ9mLG&II8X$0ks>d^SrFh85DVA>5xVHgPB-KkACi&SEpe^QQfDbuqAfHAAPM+Ejz z!UTXsP)I4D4hFz%-)!s@B7Dj`X#u2h;I^(y%nt%Uks`2Z5(%xEEr?C&UJ8Pv5FHS3 zDDlGltbWuMyypC6TF4#1kpnPh`Kz=A<~$WWP*{LPn92=O!U(W9w<+;dGuG_`5ZHm} zfjr3pEUVp=f8aw0@avF4K!mF7#t7dZ6IjQx$pdY$s{h)E@u|i|WV;4$2Ojs@0zGeI z4BukPUuiuM*${-Z1NzwQvmoq~aIJfyfIB)0=paT9XaaYRECbr#KbrM`o|9OY!(Y53 z{pY&pXMON_xO;JuHhJ;AIAO~S@EW<9wL8@7YObHKfs%ETL%6n zEO_$Q=)m{GO_;i_ykOy8slNETO9VYJY+|vpDeC%L002ovPDHLkV1l>@NT&b* delta 805 zcmV+=1KRww2KWY$Bv%J?Nliru=K}%?9v5&q3=aSR02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00NvzL_t(|oV}F4Zrd;r#-*)*7n4l_0iJl$)+wsSE|&NL9cZLQ zhh{PS8Xf}B=$wIYyyXFuHVIs4?od<)vUDg~zf13^KNe%lLx9&dH=bF zhks`5IKTjE!WTUX0K=nz$3Ywi{92+He`q9p=ve~++v*4W1~@W=sFZpn5TGm=?~@<^ z7z5sBb_l={#2s|u5I4YK7Y>n?;Pj|MYn6OvJwh2<349J;OsAK;8OEtSA~4|ysaY#AL?4{bn(!osvr7}w@LBRW4wP~}6B&{jsIF&Lw z4-qhCb^AboJrqAgKoXEincy4(e*v?7v#}`*=_%8&0nnxbZptzzepqfG7qiW~uBmVa_PUYtlo$aG zS2ZP_YAo750ts!9bbvHW5m*+xl<>z2px4nML4_i3W5oBz4C_SJKDdTxe_pRV#%G#} z$)=pIgN}P`0X=Ut+^?9!E3F+Ob^)KafIg}E!t=X`zt$Zh!#g_ixTDblG{ZZ`mLBi+ z2eS^K=Pb~<`;Rx!&+87(yTGH{eRr)tC%q$J-)t|wWL__Dg~#~we%wDJ-IUe6<1l#U zfWV#C5714y$sOQvA9!+rL-juJ|R$StZBy2rl`= z!NfE&I=^Bm&4j)}0Qfw5H~o=?h^sXr@Yfl|8b`(@ut07G4W;~3>=5Cms+--iiU z=Aca2sOI)S4^Al%E+#Su2c=rns)-)Jl)C?xl>Ew;Yob(-T5Yb={gX-==2RSnmq6}} z?gjNaO{ywoNCKx^=4v1W)hR$vq)$s`xdZ~K*XW`}8G2wd4V=>RxlU;jS`cN+Jpfvq ze_Q}A#-<9;n@i4r`3#UA)sTZzPWL5nB=sGz;3^Gr!NK)zhx3T?DF7DC^qtI6-uW`( z{NW&?56Owi>ynP)0NO(biCia3_+C0Dw844zZ;L0D02NYp(>6CcU64DUKyTX;*v3TN zLrh{JM1R!gZHLl#6}!56>xGbaXkxu?yEfe+_M!f{dh^PE`R>CEOzAPwRk66eULbz&HE-3YaK`v?1C|&*vOC40Eg39agkSaev<(TDv-43tp}p0nQ0+S zM&aj~*U{h{h`M?Z$;G`A(+)!kuzG!Y?3+>!pLdJKZ2*;Zo}}Pr~m)}07*qoM6N<$f)z}0lK=n! delta 865 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 delta 1486 zcmV;<1u^=s44Vv)Uw;LrNkl5(H9ecTC;E=QP6Q z0k{i3fN_Y=DFY!!km`cKmurJmF4F{vTbDXFm(ubR*m{@DkSndU;);L-Y5DEUN6z0j zne>ZKjxTQT^YF<2eEJpF(o0DZDNA8C0-o49P&jZkMlB!I259`t54+5HK#9Lfk7JLl=_?O%cb z3XhQkNcQgUL;*ipmZ$%S4GqZpsLJ>q%}B_h#xOMT7K$8+!o_Ri+Dy5~1iX-d`yM$68FE)COuQ#wDy?06 z=%modppL=9jG7ihCxt+OCnuUBQi-7x(HJy;S9gFm92oFO;qmf50jzch22`!X$?`n{ zO2P~cV6r2H_2(t}Pz}-?)DK1wJ@8MT@6d+|iZWLY0DrBvCtp?{$%muNG3}lQ9moT^ zxT7PK!S1K!A2s(KfJj&fV!!-;U%bW$oJ0WnCNVtX?^}>wOTFj4f1mU3;9bAh-nUHjTVq(?LwHcSFeZ3UziU_0q?=M7Q=luyB-4c zc{G5haDN`NmJM^J&=NTizyvZeT&xx*dcaT_=ZDe6+pdK^j~CrQhz&90D?7SO zyUs+bV&%l&jrIXH7tuPhn*cVr6|S=NRxZ1&eJH17?dpIt7+ry9vQI7`s_6Zrs<` zlYi00uHfb3^wkjnu$w6xY55t4`|FrCi2FyhLEN8XXtRBqR`HO}(SXnO=>#xy%`2SW zV_wA53qLnu*h2dyQ9r0!g;AQ1=89t~3`?q~pw;Z>ZZc=jfhm3yy2+g7xt+^nqqX+3 z>J&(uy>GVo@og20&*bA#OrQPx=eUBQ^?&SLk|1L`2?2>{Goq8&uP-*I$j@emacUAv z+JA7ngF3s82i2k1S;aRmd%*4Nk}j9Udgn>b3A^YGoGyN{#Jh?Dg2rM1ef#FR_rAbp z@(}BcrVX}~CP=HV+>VK}pskuPyhuY5rSTZDh3_kaUA<|n>V+*s??so5jVXLtksI^F_RfB+mwsk&~O-=V?IZfuq`f4v8%!RT=2D%dvBD907 zVjdq^S$6;*+%R5%&CNdkF9EPc9cDjL^l7Mh8+>kPVWW@w0UH!H!NY(f;A9;oh%Ivl zFxdXddP#H9wt%zwAniyW;Or(J-hWZ29yo~})@gFaMm==00lbfZHuxdSTB$Vw(1#+x zfjqA(wIU6(LPZ8`dw2?9<^vA*k9R1j9ON`BtG`=E0b$G`!??tGQXm=vWcv`wgQO4I zP-Z$c2=#omiU5~0Q5c09B?$<0A`e&y1ei{NaO)4{fiyVwpZ5adK!SjFU4I)(3SP})9RHGsVKfT`w%P)s!ia!vOO5&=R#p(5!k}>V3MA==hTaq#g|VkVcJxE5JB5)H z$d+ZVA4t4Y;wA-Bb*(+=hphw&QDLMqN^X*VfCvy&{ZV0%0!hc&=m)^Zt&6`q1(GC2 zuOApG40>613Z#=b`}%=ZoJSPKjsn@&4>(*papd|7-yP=lDNs0H$Y`6BwN<3A6j>e`Zw0Q4KtPzyJUM07*qoM6N<$g2r0KtN;K2 diff --git a/graphics/pokemon/tyranitar/back.png b/graphics/pokemon/tyranitar/back.png index 44314216233870ff6e2cd5edfd1c4873549a4ab3..69b9c5709fc2742d88f63fd97f31e52c2ed4bfc4 100644 GIT binary patch delta 624 zcmV-$0+0RU1=a*EvR zzJ(u`z`zi$CENz)5+H_oypFNK$2Gw4K3>Pz-aoDZhVNGrcNU3nf7eM!7XHQEW=y~a z(~G;|VFW+|cp*XCBuP?0h|TY2+!J_{2$9*&zBM`Ze=xTNW+7+;8{62RA_EvmK$J9X zE5YzUeDGa81tz&v*8Jw*> zDg==d#3kLZM_A|N<)Ft__qJrS1B2{~E?rRhxG>el@yEi0Jf6wLEKa$ScubQ%7bj$g zX(V|Gsgj7kZ9#~Lm|Ky)N8dRWEMl4J*aIq|OM{epC9~T1ajAot;cV)%dhtN#OUXd?V&5dOme0000< KMNUMnLSTaGiW>O< delta 635 zcmV->0)+k61>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` zwUkSa+b|4<9q0nq24lw*Ylen-*{5UruE^aU0 zwsQs|TwlBmixmI~;DrQ##jBX4fRKj&?c5E#Nrc4g)A6Ru^$GhvI7uL0;SE4m5^;HZj(jo`6Fuw}c0m)q<%PmO&lU zyUXBRt5GG0lpwBuc0-S_uep~-x1FBb>ZSum&Wj$ppz>*BY6qu#lyfTAGx=1+sbrGw z)1>#}71?7RN!~)vB;jo=K}d*LN|B$_?a-;<5bIQ@BcKv`XpnNPWLA%L+}faOA(JmL zZbPR6TlBS?RAUUC^6Jr-W>Jn2#%aialo^YPmJF*pmOOk`&LJZy3$-ky1#<)PM$m7G z(X)^q%H3A$nB9fa^;=I-hzxKYhfqGQr>Kn)fDR+qv#0}tPczx)VK@u)44kcL`Uh`l VBK$!Mgbx4!002ovPDHLkV1nzdD3|~M diff --git a/graphics/pokemon/tyranitar/icon.png b/graphics/pokemon/tyranitar/icon.png index b692b9976967a815b4beee91924f279a8ceffacf..471dd5e627fa9ebe4925e30c18d2e5cb71c24357 100644 GIT binary patch delta 420 zcmV;V0bBmB1MCBk7zqRe0001qplF?uEKylM4Y|W&sp!X7PHCZEAlB z9EF!@1U|w$vgmcAzcr<@$lQ0(m4P;8tr;rN3msqD+;VfDE-N>&9716-S( zrpgsz7~pc)TMR_JKR=kJ5qR=PHV{=_*O3n|hWkTj=!Xw6<%537$2U?Kxg!wPAHzEU O0000HK~zYI?Nq^* zgfIw`SHQ#g;Q#-26Loh+OFNf6%F$p5X`5wvs;|tP!)CJvz`(~Gz%?R=9I2)Pju`1k zQzJ*JmJJkOO^z{D2O1ORTuh50)UL-6ku310Ddr9v z0xJ3r3NYVZuD1JsvEvupAuBicm*aO(kO8J&ZBO5}&9Q>0U?Er^S6tIkiVnaUSmj1w zpm0S4YycX1H3NI#ix5W#{*T)t*n|5ew*+@_VB90mQ`gzmtO;RQ&~{2(rs%y)i80N&rl-S)rypxR}UA4Z_c z5Btpz*yGF(aP;}H=L4C~eCYC{%ZKsR`u}|R0ZTv?sRM*Vo&W#<07*qoM6N<$ Ef;O|KR{#J2 diff --git a/graphics/pokemon/tyranitar/mega/back.png b/graphics/pokemon/tyranitar/mega/back.png index b3747005a1d6650dda71c8078c1988da3ca21740..765ac92c35d2755763e0767230b0c955f42a0481 100644 GIT binary patch delta 720 zcmV;>0x$i-2DJu|B#}W-e*gz`Nliru=LQE4Eg~xv5VZgR0+>leK~zY`wUo_q+b|G? zDOA8Eagk>-BS2^X0tzs|J>{GhQb0;b3%ThSk1lbQc?<9dl&$!XF=s4U#K(OPZ|YW zPU9n&j&+FaK)eN%+)^oofD*ye-7;yF1Q-QK8pK_Ra~uE|DgZQALiNiIFHFzpK$8Gj z3sD!+VlVTUAfCp^g_zS^0hQT@LBtJLqLxt8V#cy(4RKDDfJnasln%rfUN4ALz;8MG z>7rKvB9{{G2C$F8e{Cg(8CX+y9L6bcKqfww_B?N$N-;MYKePZECa4Sw0AE5}uJ1oj zrEo-m5xqHJ>zW&lFW&?(*o}%)NIh7TXf%@R%Y<^@oh5qf%D5PAd=_O+or+6%hSR!D zR{;&6E7mXu(`8s(X3j2`w?s5l30F)wTBGKiYd!!<2^yf$e{7T4Zh*y42ViR2#lxJi zm=G&k%OL6f^K)_e%1roQ(%h}r4Nz~zl>ia7(prB3I1S=n{-B{Ppneb3h@}z1r({jZ zXa|@y1C!T-wQm7DRD!^`W8H9n2V}I0l66JH;`_86?KKnlB3l3{p&LL|1c2N4-0lX z19;q>wOFC2>#M6%S6dUprIC=4I9}nC$gL$BphGU~uP$k_%h0Mm4blxTg_9ybVj#HTzSuNe2M4 zIPBh<87L3ACow_u4ziKgZU$;mcl;#{SjRW%1^5dG>;6p{M+z1I0000>pC1sU&U|MF_-> zrKkCye?}bMU1l2oy~zDH;HS?A+~)%yn9v^p2hMkZgDTfY0PmX^z0>%lyTCv>sF9*t z?g1zsh!e-vU`*`%EaHYMQA><@Gh^AYhB(JcKxEnhqxOo= z+!jPC&_bo`@>w?kBIgqB4PX~M-Ac?W&{8M%OHMZ+DL$3r&2f|z<}NyuyxIy#+Ppb80=;Y*~bYiN^}~Lr0{`x8XhHjOJ!UPcRq_U z$6*Xxc!p!!CRIQK7>YHFK|ar$%fyKU7@#>x9hOdHN2*25Db;)cloD!&Mz>97djl+f z5`f&bi{~|AF(Foew3b2A`{&o<@|9TOe@Sz9zivQHR$K`XP%F0j8^CcE_wok~Z2?Vt zphhf>@GeGcN=7@t#1+U+&(^*L@K6Z?^q1GKFBd^^G)S`6!B@Jlf8+8SS;V%d4{!LGTm{0%! N002ovPDHLkV1i0~Lh=9r diff --git a/graphics/pokemon/tyranitar/mega/front.png b/graphics/pokemon/tyranitar/mega/front.png index 05cc2cd18fcef4e51b6554a01d17511a75fc6e26..8a6fc3a12521126e53fe616413c7fcb80f35c5c4 100644 GIT binary patch delta 932 zcmV;V16%x(2!{xeB#}W-e*gz`Nliru=LQE4EhNHswSWKs18PY`K~zY`rBywT+eQ!- z*}BnwG;u`^7iR?LW;xrX+U0bq?LKaY%td{F@6|b>PA3T zKsK`-2sfm@1d!9R0@COLCC&CxZ{>+WugZomkrUevce3rk5#I6u%F}v9i((ZJsEe#2 ziU2T(cCa}~o_!#G-StqV1P?sKQqy84QgK6k?Nl;SJZj?Q`2F1(A=I}2bIekLppv`* ze7?P-I`R+Oe?PDRKw}Az&QkJMn-8nH@A3oqM(tiGWS80#;PAOw*}iWdEbTk)df!^Q zwZEO_3fWer?YH~=$6epEqabB-M`DgcQyK4K|M;-o{>4}{uC#J}^;L#Z{@PBLpb~!j zxZNTB*hAaJ7x;-f9*y!qZ5!F{_Is6Fr+{Erb<68Xe-EI{6TAKq5sm<*xiiOpx|SWk z-Hk)T+}a6%{xzp=KppBpH5s8fJAH0uWkNhpg3vspk9Tp7E_s)6ciOr@}U&M zKIo@9YZ>4)OsxXCPu`bttH15VY&=sn2O(HO73VQmC`BRv=! zgI*zk+BL@E@a@ZD3xSX@5-d|RfcUSg@1tn z{iwVl?}Li&;v$O!L2%yA$D22E)$!DA_20++UqH>@0m%0Nj$4DXx)@<(!#J1Rm;k$o z(53qWN7yr6OrU3n`{iPPhL&T>B;&<29lIQac|@ASIRHv{|0_=?ovWi}w!h14x7As| zIA7=Sti5WIp>Dz~>M%>ho2z&4It4_OvA4%(E}Hv$uP)Mo?V4B5T)nyfMeln&CN^t# za^Mu&nGuN&Hy0%W5Y%tBaoF%yrBjfR_!e^JpDs&*I`a z2em0aawcMg@p9^i**`qf7E0Jq0$WkDFw?b(jXoKZm_Bm+aoZ)w>H=qlcJRgtt6`^0caG zQLF+2^^rA15dcQf4jvrTns*?6-49Tu1P?sK(j40XKq_vGuboOpibqYn9KXMNBZS&^ ze@c>HB@50btuq2*d+_dIrdG2#pW91*hs_@*d=HG{&oM zSQ|m#NDs!wpjQZ>c8&4y@a@ZD3l1D^ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;YKEP2$d z0004kNkl=Hp3`O?_Izldy-i>HsGK*Ss=w!>?3d&##QQC?aN5f8AP5zCl)$_Rg@*=AM5rfZ6`WdR)PDoe4{@pP-Kg!>ic2dA z&AFR6kVLfG0y6m^L~iTD=t9-^(l-L@mqb1nsB6)JDeHHfIIJhw>UnP%aqA)%T1Ikq z+E)p;(Fb(WhhK0^RL^3(tW}IrCml{w$G)DuB|k3GYSuP#y^Wb7T3foujMDB3ndc1f*cMyi*5MC*#e}3c$PHw`~ z?Zt}e)5_F9Cf=`orjQbbT=rGw6zGi7F@$K;R0bxuhC{8cZB%hWQ(x~hlgSxTwl?!M z<>VvA&LK=6HhL4JGuQZ#Y8oH1^8xhZ$NW1VUw&={36=C}cmMzZ07*qoM6N<$f=Z0i A@Bjb+ delta 420 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 b{Dbx{6W~MgjJAK`00000NkvXXu0mjfoA4o{ delta 1727 zcmV;w20;0x4xbK?bbkhwNklnr(0|vx+J>D!yXFVKxzI!2|c#Q9QT@KS$fXC zk>tc4+3AFU(fjmfG&67JLnv-b==zq*eILkN6D=YocU=yMg?~V5)<9C(B_#)lQk(_g zRh-3H1(OeTDy)6O?G#L}Db(c1qXwG>c_MsH| z7-x*EHZ0i9xw}aqCF5>p%^+-8C^zpqVh;#)v0PYN>wCkGti0_cf&Sq#?(X+J_WI+{ zZ#jt`(l1Y0;D0g3hWfp!z{2Mt<1GMy^~%mKx~~5;4h#kZ9`}MbTY3cm-X@ZS;ed5> z_Lja*L%>7{fbBoc*-c#wfyp=;c;0YuRCa#gfNLk>Xra5Bdy3Z_r&9_6F%G+-lW{VT z`B|0Fa?5#kA`+PnyzMyl6P^I(!4ZkO;g@x`?f0~7hkw7{O#(Fs-m~py?MawmhY(?B z)$C2%w#zmlWxKT_MiH8~t+KssSDP?`ZKBcr1kfy+wqci5;4BL5Rs40AJ*Y^s9+b<_ z4FEmL;uM!fK;XZK4tShAW(Tk?&%*>lmGm}j^5m~|<}-G*6wM!*00zFLlPauyg&i$N zz(lbwFn_hA>&F8UR9G~Kn|K^ps4!L6@0sf+;cH)%m*kuMy|F=@82%Oj#)etpfDfhW z(*0MLap~A7KKi2HyVWolqjaBXdrF>;P1$k7K#$I#)!wsU597X1m&c|Ifa1H@F@pZTvu98NNLJWpbvKLtRLniL7N-n1S@oy6qyQ@sBPW>3=?)UoreQ_!HN!INa_(osAg)Z(E#7@WwJ;5^nip7%xCVQ@s;-q1o zm|FOmlBv0k4{BrLm|8TC8)ggucx-B_Ie*aygpbX}2TCBZ8Uh=pF)@O;@!zUJHX83Y zHYR}aCKb^lkc-I=m1n&Yx91Okq{>jeVA-3@*)yMq)QIjguhQ!tcOumkXe znS#Of;X1)Uya%2lH~l;4^OXEs7H0^~;U!c>qJgCU4EC}GoKX!f7;{#_K)lbVOn*@h zcG`sd!={xm5DKTkVIhC83-vo(d1HwN0)@}ZnGJb;ud{=Mfuz}08&;T~FpzZU79(KD z$_c@MQ#;@XAM=KR=#lD`6mDtE;(- ze?wrMhJa`Y=I-r_i`)Ozw)AQUh=1|c z0O}wqkid4xcn48E*4w682Ma2LVSp)(opEt3)wu(8I-8aSNhVI}7?^Ky34gK)B(SZ0 z>K%?!q~c<$*)6UgTvCW#sj$OQ4JspGn_G~@6{bo6V517V1c+plvIVbORmL49?nA<{ zV-T>Q;sLSraw!6s9|48l<;784U_Pv62{xt6x8JIql2gmtl^{qYywa)s{)3D*NvRgD0HN#!B?3y6G0gM4 zz!$GqcyvDmcIXVibM?qkG!}qB_~P9MZ^2A)N2%~?_k8gJ_hLKH>wlrldG6I5Tmq3` z+}Q~Y#1-O58UeaNAuhfTfEQX0Uoc9i8U(-dq7>S61(Dz>xk@qR)Ye8sb%vwx6fP%- zHXR5@!LQIT*OV@#QPT diff --git a/graphics/pokemon/tyrantrum/back.png b/graphics/pokemon/tyrantrum/back.png index f857bfbfd1657320c9c45c67f71b9a701a99edfa..06f1563105bc0832ac3f10012e197c802341d036 100644 GIT binary patch delta 535 zcmV+y0_gqm1b_vQbbkN`bV*G`2j>O{4=pQF$fywj00HAkL_t(Y$L*4_Zrd;rhADXJ zR?$Gwj5;pOCQG)eZUrpw0c>>-l(6Un1YHAgp)wUs2l5RHJ!S7mNw!r<-m)Y&2o&$r z|NrEPvDa8ZdA_(I zz#*CR2&fGRh)JNf)#`^SNz&Ge}DA>xkwX;@)r2Kx7W3KYK%J0$!N=Ym?NMQNRgycbtmy`@GZssm_aAY zRCm?JT^PqZpnukzLy-@F_B{bwm~~NX+kR`Y(AtuQik9>&u(}YPKy92!8ufs+8jr0y z0i%`o_}Btvc9*~(^C@lxvKiu3F-pxJ8x&ve?t9`#34Hc1||gTzEQ-CfDJCsOpXql1pzsURYL*V-1}d?bZ+^%z@`iERxeop Z0C7c*@DN;*%hUh>002ovPDHLkV1g7)@M-`6 delta 520 zcmV+j0{8uZ1@Q!sbbkToNklQ>P}(T+SV&1Orss%`}=?*VLe zFO;z80|Z?QaG^34O$YJ~3O!}-NJ+L?N#437HwYB()BpeEiLvKc(drtITmxWE0`()9 zlR$k0W+Wn5GoH*zaIxaabc!Y8kRT9GexF4kxZsl>9M%9F(tk;hh}wX_ltcuLwH9KS zl(3I&+uA3XkceGhYm<&&RxAV(+5?9uX7OvLf1LFxpv8Wp6(kR9c*k#S`{(BnkSAFR zqUeAR2Yb_)$JVF;NQ}0e#{~j9g$zk5)$|fi2H!Hwj~R5j%yeH}+=X$x0~)m0;N^c0*N%=**`R3-f@NVuw);%CIDSr`QsnPhO4?vkqDhJS}`lth7=ZJc6&>`SV z^#aVfCv1H9CKtiN$Zj_`N8Gpqmr002ov KPDHLkU;%>5Rq)pU diff --git a/graphics/pokemon/tyrantrum/icon.png b/graphics/pokemon/tyrantrum/icon.png index ec2d0dbe54bd7934c44e4cfb29d2958dcf8d3206..212f587d874964beede80e3662b259b488a660b3 100644 GIT binary patch delta 459 zcmV;+0W|)U1h@o{Uoij)a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;YRyQ>W( z0004-Nkl$vhN_j_t;At2%!z0W7;bCohkQv(F8E;PwWA`>TcC8UN0=K2e>zYG)UcC>fYP|rH_nUulf$MrKm8Q z=j#qGCRB>~T<$%zp-6(c{n2a8{{KP9k4n~H1tBcDlz=jLnV+{7j9Jn_xpQ#{e)tH8 z76bBP6G(_Cno@s%U)&S|Nb-RUO1uJZOXB)&i$FarsCh$gLIoYB#c@t6cu#NXLDz3` zY7~d$#~=ZY)kL3rZIcbayGwO^0yrhW0Ze|;U}Q=WlvgGYqJYO7^Q4} zz%OAI+EUEF3)8g5;yn8uRNHU*?gwuF?e~6s0to5+UCT^9-jPs5-Y z9$EH_$25hBO#7Y;Lx4-92}p@p7dDVJh7oNBerO98RuOou2X|`dl&#uEAjR7|r!1W4 zVGCKM_;N5FCj124Qg}Tuuf~E2=weP`7y~u73i@=3;%8TJ`lnYsf>i>191W$K$2)%r z04O}3pE>X{0R`OGm9h#_IS#tPlxH7~CV*joVo&IGcdK^sW?^|P;NAezAa!$TdV2?y zJ~MK?nmfprqQY#RuRFNdP$}kfx%Y4iMH0+^x|#<5@8kT!L8288m8`)ELfE!U^#%#> zGQVyu7$WdeyK`{}e)tH8kpg+K2_%1I6iw^DZ*B|$B>6yumhZsZlDNLxBG8Bh4R7d8 zsG!5RIL>JWpXn_O{4=pcMrECZQ00PcQL_t(o!|j%_Zrd;rhG_zv zi~y0WpsPe$9=e4mceljuPE-{}ff#5Kc<=+X@6j!5fpkdcOmgx9Q4FJKw>UrxbaJC- zC~3PJj{=H}zDWQ-{N&w{x}T6;{8zO6umMPh&SkF&fDXh%Cx0NMQ=-Me4fx6pw3NzV z;Nd`^l!AfU$JVI>~VUBEg{0TNRQu-DStCpiG{9QyWkm4++_c_Hiqtwi@p6Y>HIq>7%9r#wF5 z1zP4Drqd)l41aMzYCvT^l48GrW6pJ+5Ymua2u{rATmwTY(NgJJc?X3090w-T%a95W z2d=Iz{fOg0dosCt7kNIqKD#SRoeV1QP|fRAy+E)1URBjPp4`C70kA*w20-gS-qzRn z+bhPumyfHX5P!UVeVf=J3Iyv%#{jKUu<2s%qdUZ#Y=0x_zS$K=y7-eaFYN4002ovPDHLkV1nQ} Bb$0*& delta 767 zcmVPDm z4P+r!L7H(*q!9v8m8LT-GK?e+ygO3rZ4Uv+%XB;hh*?@1H#6bh?AKk|h<;_*JW=gpXNn9q~!8Pb9Qqy|(L z*a12!;DB@8Cx3)A7Lnd}9zK5yEOSnDz$(jDrx|wq1>cd=JI|APR&TlhN#8jyM^1FerG_ z5N37A0F-WkT8}V$pZ1iJAst#5ypX!T#I!m5Xl;V?zyKow&p+6Y@0lZDqzkYepn+fz za_tawG4=+i@AE)A1bcQ}#M9wy{s{;4)~L$z!g%r6H~akx-`#jqmY3Zh4uBNJ xUbjAU0HkqCOE)ofT}C4@Z2<^tDPkLsh~K=Z=y60{n2!Je002ovPDHLkV1oUqWD@`Y diff --git a/graphics/pokemon/tyrogue/back.png b/graphics/pokemon/tyrogue/back.png index fab71c971e3010577ae24c1ea527ae4a906d53a8..04644c6bfd8844b270178f5afa93e62cfee34013 100644 GIT binary patch delta 482 zcmV<80UiF;1jz)DB#}W-e*gz`Nliru=LQE4EitdEQELDI0jx3%++@BcT9 z-Qo|inaKym{TxuNW`Gwx1Av}x1R1+K!pc(gF%4k~FZhfU-c452wMq zAvi@m064UbxdKv1e}@LoE&<87QHvqaHQ_2L#jUHJuAFH)t*s%{L5%0!wy9i|!?q#> z!G=Hxv92mgbZkyRgl*;4V@m3u)iB8!d%!uNT$qFly9E_N+-nhIh_C~y? z1UULw0JPlz7zsQeD479&fJT6L2xvk9f7SH~&^!=*z?ooy=`Xxjk^NYuy9Bh5&P=+%sR>`n7)h>wdb)C^J84aZFgw+s zciX1%Rd&mY5d<3oA;!9@IMJ~=1re5&U-vbYbQR-MG5U2Ma2n$EBx8R3m-2f1_6EQ=rxYrd0A?a;v zxvRL>mBfC|B(#=CpS3~;C}Yfy-WZGe>%d%dTaO{4=ps`z@_8> z006v6L_t(I%iWSe3WG2ZMRNjklWw||dY~>mgdpB&Bp$%Q9HLN!3^q`3W60=o#$|VQ zc6lWK{|w)ls|}yesEG{_q6EnSXfXCTNRScHONpKkodh=wBYFuDTTP7{rE0>jQ#Km{ zsATs2{OIU;8B{P1)Trt3R+wkhmul?8oH6fX>Dy?h{6J zII0U<#OdPxcFqb6=>ZH18>g8O2W>U_n8TMPyA7EkW-6}O{4=pw^&cw(700UP^L_t(o!|j$aPuoBg$DPPB zE0lf!_k`o5O)C}W15kP=BTdY<*7vb$>3Hmmxz_kYIvlYnQ_tx{m!d*yi) zf-NH|13q{ipmAUgN&xz~!vM}%vjlhv0rmk{s{~-!4=4l12R?pWTkM;F{hdJ^#(WUs zqpaJx_R5)00k%gYCjdT%=n%J*d*Jxo596?LJ#x4MZZxt@3b`e|$=wCb=B2ZH2aVAH z_rh}%Zf}tA8-J~IBg>rT$PJ(X_yBP?9S0If9o%tl!pcD)k6@p;y9l(#06}<`13&>- z2)Hc=ASC&x{M!bckdbkWSGEp_16)9~j^%ZK;hYt4F8iW6l-IlfoHKZnW%puoJvvGt z;fvoyu=|5&ase_Xz!LE7g(YzHZMi^KxG_JtDF9{l=&8PN+d?o- zfrg8KCFhGtzb_u3&1g^nj7audZbBY-`}GYZ1ptW&`A(AL zWxpS{PwI9((M*_EJyEyP3P5$-GJyJ(z!!Y==Ogq$bafO#C|hP6Y5*%ey-J;g*oMjW zwdc@CPk&P)-^Ein@mq(QCm?n8s#=#9qjB@9{LiRPNNU$f7`08B3;$aj?|*~T0|}sD)H=D?i*FdFE$RXKgAxqe zWO)E&veHKD5&d3nBrX zU|5-Qph-dm>*7%sqgUN8P%s+9p;j=gw(Q$(axoa{1*1*`QG#KUGQlAK1Y_fw_=EkF kKa4B=;d1E@|6~0D2)dJ{DjeJr00000Ne4wvM6N<$f^yuXC;$Ke delta 895 zcmV-_1AzSW2j&NmbbkX}Nkl;9(BH>Nx47_f;0TYj z^%w}djvxBf>w)Q-U4K)rRKY4O9m`Jd2y!VKPR-sn+9-Br$6P%YzKy z0EDf0OzoVgUJzkdu=#QuER>F_&fFzRIhEf9I# zipZVYcsqtD10XRa-$@jmo;J)(qht}I($Xvhhy}h1kY#m9*(gVf9TruN zfnewWpD6QOLn#<5=Qwnz7=6rD3Py-xKo@h5ssv+Y0zhSoGg}HqX>|#}*^Sw5&jeEn zMro5i1}-PKy#qoI1b~83YNp0sIA%C)Q4i1`q<>%-I!gl}CM&JhhX_c)SepJJEQUYo z!Ja7v15^OCV)Juy0}H`O0qlPG6R-Us80pdc0Kk6xK`_#QE-eh(Is2L1O2Jt22i@D! z8Eov&1Ta+yhK6n1aA&gxaH8-BtoK9!?L;jY0+>nQRxKD>h5VYg=C}i&ss*Fco6k=_ z{CIBP@&*cq&@vU!Z{rb#U?>1Bn9l?363-Qkb|7<31fUX(N+KO-8WGM~*vjnamEUs| zjB3BH6pTtkGD%FvwrQ*mx%Xpjaa94CXTF0oO@HK~zY`?Ug-F!$1&) zt;kA`!U3!i&SHs%p94g&R(dNVwmp*W6QNYDI0$E8cKvTc(m}(k z?97+<-egybI_M;S&bPI|x;jR2$7Gq9D9vz~#S<1&oi zR;NDVHy|v4SYW^wk$Il%Fu+)0^7g_tI>7L@HlXD+(mJz1lQDcAkew3?#8}UL!?u7| zATl4ZRK9rvAoH?pe}I*sN@saqy|jU>4QzVAoFjDgEtRvN3oOP%trJtP0`ikCupaYb zJj-g}9Y8d|P_MP-j36sJupT}?h`bum3(k02tnX@I`}iqTy~M%*nbNjtk&$l`QC|ot zB?CI>0KDv386i`Qfv36$~*|F#?uG~fxj*zk`MmV=m5s}sf%DfI*QMt;4 z9g>0jDg^3~}&xRl=b8s)J$CIJEjD5E&Tc@J2i5n#N1 z1hxur*)yQWi68R3$YtDFB?`|D%xPKGM9b#>O zTxr|1%qR}2a0?-&WI%@j;HmBbMNtCd%-*3T(xzntl-Ed>$d3Tk9wekb z0Nfr>SOKa7*aqc!MXP?xeJjC!_0>6PmZoG=e^~N+H(#2O{r~^~07*qoM6N<$g3vbjY5)KL diff --git a/graphics/pokemon/tyrunt/icon.png b/graphics/pokemon/tyrunt/icon.png index 64d14d8dc8eb847b303d4aa9d1341139503ff924..3c4034f8e3174dc520c825ffc93ff4275ffdff4e 100644 GIT binary patch delta 301 zcmV+|0n+~80)zvQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=p=Sf4Fr3 z008GnL_t(I%k9!JZo@DP1yJ39cW`zaNP&#*T^fKReT$6A4eC9E4yU(>Z9}*Z6~wV_#O@)46q}r~8%otfEeH~0r6(7_qf%HF z_gK&n6z1?>Zvz8COE9Z)31+1pJs7xBFCGl=#NxpSrmu_!2AFV(Pb9AyKzx1%<^vGv z7}b0LGN$N#2qtnWd;kqYrQV0$qn19h{{BlpeOjV%=3}iT00000NkvXXu0mjfkJ@_Z delta 264 zcmV+j0r&od1K$FWV1MdKL_t(IjqQ>#io-w*Mdt>(gVWovft236?1D=97Ac(@B>fgS z)EESAW=ssim6bHHG=vme@BVJyXoN<*5dKJ};sg_%JOSy}-oOO&z?AL!w9>9d2acl* zJGK`Kk4k&)Hn7sUqZT&+NL)*_iWRwQn`9M|@Uv|Qx2A$P)PIfG970I3$tk<0RNd4- zkQggHH~_awVV>P*K|@d|_wk>X{6-iES_-o$m%=P`K`#vSbP+EM@W|qY5lmkhO&DOp zIX)zL_5kAV2QWVXkv^iDAApQ0dOrj?6@CC+ua$Z~^e1ZRN7lDX3U_^4qH*=df$#tT O002ovPDHLkU;%>Y<#q`G diff --git a/graphics/pokemon/umbreon/anim_front.png b/graphics/pokemon/umbreon/anim_front.png index 74c7e1c79bff8d1d86941745a901cf43522a7459..b634277e04b6f9789c88a1d1fd92589933402d8c 100644 GIT binary patch delta 786 zcmV+t1MU3Q2IK~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;a*qFyot z0008VNklv2NQi5QZhNL)$47k!bcAZaR{=25dVPP4+sFy*3UauT==^fNn*G z0v)@wnKSh*dz6#}kw~jRhAzIv0`B7-d3PrNB-z=(lB42e0NZdGHgt$H0q&831ADKP`!RhkaQu|6CKb8xWVp zy6WvEgV%3w?|%SGn?-L6iG%9B?Ert+vJd3stu3P9EtdV$iUw$x89wc>T<8Pb11eB1 zq)N)BpInV#IT0my9Ir@Wq@7ac4gn5bWaQXS1PqXl0L@Xk;N&6z-I^d>#Yz zh~}zBfPYHGD%9R{;rGH{gITK>g^WCVtM00e0OGiSw!#?BaIfPqs4x86U83J7Kd`|R zMiR0+1A8xKdb*uun0Qmnr;+zx9Ki$)%@!^KWD9_)7f?0~q%#(K6^jszNQ`uK3BdZv z`)#P3-&U+Q9k%f~(U(5({qpN?ORg1c`DQRMDSyEAj}CC!Y^XnS>CvIO^}+YgDzhh! z2S6tmbJie=>ugImoU$8MIMy!dTzU;Ls5QR(`HNMaJ?Maby96s7;wB3!ok{}wz!LXL zHxnNO&?_u#)tJ%AKtKqVh|N6v0N9C%-m{NgCZ~e}qI>pvq239I|7L#yOFzz^>}RSI Q01E&B07*qoM6N<$f*~_#yZ`_I delta 771 zcmV+e1N{8t2G$0UUw;DONkl_wh*HosWMM9j#|_z#oqWfMfs= zFaXS8ydU@g*QtkSmpS_yH=*dr1?E){(CIEz;|FR%* zF8i`x{=Fw^4!_cg7UrT0DIZO1yZusCQIpJ;@ zwg5d^U=P!|(=@QhBT$yTG`5C~SDEzmqrdGm7jdbylBd^~-Vj>Rvd%b-@>2kiYF%eS zDy*;FVq4=xAp^{1+U?j5P@?8vjgU4<0I(@yz((-_S$_jy2r$$Df@Bl`tTT&Z+g8SH zdbz-6VYTP9&-Y?Dvtco|ru?3``+08knS^g-1Ku(GIdW@V;*?4GiOhftUi* z`e5KPU+>@JB4315L}Mb)i~Ycw1^|9HJ`Vx=Z(+zYNOyqJH|?#(?VR(!7i^fcic$Dx zx%IEQQGXi%#CZ;FhS9&nR>z@NU)Z<1KzmMpV7*&tNyzR5%vQ|onq(O!-sJOf;Qbdf z7@?-gq6z@X0$^+fl<@=cgvDOTA_M~xBVOGCuzs?B<``}Mb> zsugVMrq?hr!2OR7s4~4Fx8>s5R6W?>r&pyu5q#%8pp%O!YY@eGHbw6mhW@a^F=k2E z(rSoauJPT^U##-XSqHe~60C5Di!7+9?Bbq2FvPXWnvVAZXcZPVAZhDz1cYFT*z~gv zfKk*F5d7?8w^P-&wJRXHXP*~lJO6O)C?Ni){R2xs&Yz@002ovPDHLkV1n)B BdN2S0 diff --git a/graphics/pokemon/umbreon/back.png b/graphics/pokemon/umbreon/back.png index 8dbad964047dc99bdc5cba29537ac3c5bc8872c3..72d83fdaa0f8fa851cf29d8def457687a05b194c 100644 GIT binary patch delta 538 zcmV+#0_FXS1%L&RB#}W-e*gz`Nliru=LQE4E(1(ZQz!rc0pm$TK~zY`t(3uT!Y~Ym zi+toVD;1sSOSH-m2To`bZ%}qdu-qf05dqXn8R=EpHmD_n?EWdR|?F&#uM#K8i45_s3%tvMM!^v|S* zY_%6BTN=nkkH#tXC$!yxq`J_3U_hwl!;@>CS=v^v$e1YsNEMx zNdVxL2u0DypFJ?wY10hLUw=iqt^sfd;Bx4*Re{b30Is1*%qCd-a+}yC@FjcTvlmfg zCPM(dZ`G)1LHP)PMyo6Ye3kY&d1;yh30&;T&3_srh6G^!e|3Y>GL7c$0Pcpk6IyS1 z3JjOK5S>i{aFw};mF|FQc-eL_z@jM`k?z71hDmZSXN(?I2iP|1xMXd!;Vu~GPY$Ru zV$z6;^CZDgV;5JdO)3a)yC|f=%SdAZpx3ud;MjKU=!i5$l9v4qDNlBeu0 c@QD2ZKuL#!5M)OqB>(^b07*qoM6N<$f@BTtf&c&j delta 546 zcmV+-0^R+91&alcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pv+UK~zY` zt&~Ad>@W<5i@cl-R;nqYmuQtY>S9(1X>QPAjTo|zMtVK~N8tjDio}8?7bC6HHmOq~ z@t#+W{nh#7=5O}jqxzu^=YItn5_>?DX{-d!K?=xr0wDDkEKo@R=a(A7vXTH+0e~q$ z%^FickW2!FOWr5oENp9kI13Mm@)%B7Zk`xu?=XK_0yW{*oGJ#4F#-U}jd^6?m;|0( z_HNi2{<=q@A=@3ziKT(vdNgivJRzSBZ0Z#592f#x0&wv!LXC+*x!8}L*MQA_22}E1 zJL0p-wAM+DOnhohq*j3px`v3($wM&E*U4UR&05fx5ie@3Lp{`gorEQ@24(ZwExMY+@qlf$yU kwD7Wn_?7(#{64bm8$d~ig5U44KL7v#07*qoM6N<$f*?in!2kdN diff --git a/graphics/pokemon/umbreon/icon.png b/graphics/pokemon/umbreon/icon.png index b81590db133376487cefbcc98195f3c2eccb08b0..8743bf3f739c68d316a5f0b7817323d7e0516048 100644 GIT binary patch delta 287 zcmV+)0pR}G0`>xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=x5gI;W=q z007xZL_t(I%iWSY4#F@DKz#!%5?#qrm^xRH=vt1zsmo})qGgOJ3e9f-Bo>6XJjL?w z0sM5Rly5W@Se$@r2Bu!rSU`;#7F(m>c>`8`GYB3dSd86wFn{;m2Ane_;K!}jbp?z{ zTL#>k{lR+X*vwk;Y(1ssCUcpTM$S4nOf;Ob*_0k2cf*AFlSJ5*X%7Kkm|Ap(N7XbL0R3002ovPDHLkV1g%HcH;m5 delta 257 zcmV+c0sj8>0@(tPV1MLEL_t(Ijop$<3c@fDhUW%Dz;4Y^Ty z4oqh;2khI0tX;>uav*Nf<$$mTfYk{9>U=6pwy9MZ=t6;O&4F0`mKDsE792MT5+Ho0I+I?Zz3NJ2Zs{RMe5BY&T@tDSXuqekp}_PsYh z_I>0C0Os7$b%l!Q`X>^9ZqS zb_OzGft*K$2Lr$sI)9;kl3k++2q6`itQvv4w}kWnxHZ&3N*@S;y(-)qR&n=!A_JI! z&i>uU`*$*Z;eY8&SYqqH-~HiBpr)PxCf0$i-MvqwJCc8^8t_CC*!%a**~3f$>N)mn zaiWIFJ{_u83i{L|Are5LTB6PxfJJSX0IKa06|>8)B|rdYy#%Y>DfM;CYDEWd5;X?x zurySF&Jc0hUk5DG+ga+W)LvjAc%lT0ggacwgUk)VbLvm86}8GkJ3SiuWY-R zE0E;-D2fqO@tPRfHWB|2FKZ?q?Fkho0F5V>8 zpjP3-1%LXZ3nlPA7vq~^xB(mqvG{e`hg&1);Kof}Skys&S3b+Z55F6cSrzz$D9Q$xij@SqQqahmOM!D<>ee4-P zvs^A89UU>4XIbqI!+g2XXf_#Rt<0|%5;Vt67=Nv1cE7|hs{xkX=5T8aFT-$6t#sUC zE(5^WkY$d`ag&+bHD)Zt%*$!$BR9luP6P-6ji;UiymCGxo(tFxK*9|0`e%S_<2tux zcy61jWCw?Rc(-J#0rN*eC16Sru{wNpXq%b?J zjej{1e8DlV)7-O&;>UWfen(-HZvim;az~+JQf^C?W}Rx~%+fsB!a@6cjC8YAQ>w%% z>4k`8DznvP?XV)}4Z>^naJ!;(c}+HxDbCuYa(eO%;4o!BI!gPWMJ-ALkpz^ODBZ*& z4J^pPTcXcN0mF2oT-?zQI)DPAbQ>hf9Dk^XvIe}-=D=V)bSqdEH{WP%m-J3HlwNf~7jizh(>7Unh1)RtXJY7TK zuOF!ss|*Sdv(!EW`(Pgw&{e{l?&iU}C;Jdc03^jrJ3XZBgUW!HwEuJ3Y$6}TihrpL zXvA&XO9p_7d`Id)(AC<0;H5-wCGHDy#uVUs=?p8NOX1@k9b6UD%De{9aAe!(8^F5y z17L?a0R8X$`XWphsqBFQK>aT=0PKrstN}hKUZ=!e+JjjfmnFdAH@-^Ak_F-}Jn^Ss z5CHUl?0OrWMcM-~m-fKn830oD;D497vIk;0a5p=Zv_J1?0}l*_5E%~S$sV+{ZH&$Kz>ACyV`UFo z;4ogW2kaZ$gE-e7Fc#GYdE)-cVbkc*EbajCcrajj5gg}nh;sb{w{rmLA2qNU(Eh;; yto#G6z2G0vGT%QS6r()| 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 qFW*^9U`TOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00T-%L_t(|oQ>2mYui8+0ANif6fQp^nG5*?*-9H|(@q*ZG~BKWZr5RX!qvFEqLG9WA9)n$Jhf53-A zfp?SFCD12>VG3x(KD<0V+7MA6P8n+`@bmce@TdeLA5xGIYkdFX9UPVbTm#sg0u1h^ zSWkgn4zNb3YB2BMc)SUqiD69v7jCE6XtGkr8qfu9gI+ya#^%C7M!sLeZBYA4Kc#Dv zFvur=sK7F-zgQ8l4=iFK=;T0#e>t$!X{N%>9!_MOZ$_QPiy4UX0*F8+Yi;5$(;uD} zZ}E{_Phk)NBHtuw%2Emn!p{Vejb@QT0}B5l?zA9t&YO7(RfDFZW?IZS6dA9APzk{> z8v=+IU0@9b=vc76o)oOOm4p6XjB$7;N>d0a8+@gPOeDquq?s2O^7e-bw*(W64KwdV7mTGtmVm zQ25>;8h{P}gz#ck0OI^XgAl)PI(B)GEP7Ht0hp_2EkkuC)HbNN=A*@L^Hz4x(gd9A z;gH6A7$tR=e0uw2o=GtCe|6C5bYQx!yfUj&l}LgV+-nfVYWj<*2`{THEK~5H#|x+T z<`OQ+FAb8ou@1y%+qN&M=t2qkbSo1IL97z!GbT2!6W4?eWw$EBHtq{PcGl$t6Hoxq zB5X3ehL<~>k1}9P>=UYh3Hz)jF@SscI5|+icS@njYS%O;4sCD>a_1W7faCzzJfLld zVwD1<*L14l9~<0(FFbJCIei-W$~Le1cns2S=#Ap(vEBV$NCH1lH1FSwh(my00001y_>ey^|0?_WI}qJgvjq$@i-Of6PW# zf#k!R(eqW{(|mO2AiP`ylV8)@JLgFdz}QrX=j*`jeB}l>V?sDPrL$zrd7e!fY}&5C z0aTrX0vxThfXe>}q}?jJyj`b&C@+6*mjUc95BF+y6^Je_=oz5G=*-0#utAJYUBF3_ zgAG!U)%jT*1JU`I7@&_~=13mR;!tY6-$R2K;!zA$E3Nl{S0SR3?dnEh(azq=c8bdA z_?uVUwR*j@Kxui>I|p?bbUOjE8ylZ0!QwE3^+!sIng_=Dz4iMWyz3@G?64DCSi-Z59h}oP1 zoO9}Ks;2%}nGki^0NZX@rRjdL_Gz;zp=y9#e|qmG0ODH<)G|B;#23cc1jLL&sKY|l zK%$OPwq9O9Ugm}y{6 z=?5GtCX>hl;%iJq8WSxnZrb%|xdNox^S0X*t?ouCMYftYhjs{}!yv_K=Lunu^2Idcf~1>t`H zJVj&Q=ZCfN901a)+S{WW72C%e}#~3sNO9hOJ zAb>^nVBwE5=ZV1PT^kxz0p$dQ81L*P6z@3HD&GBw1IUj>~O=I^Km2S=~s3hku zpZpPu+Qz|KkYAsY(Q zu=%{EPZI*FS~D7;-s$lA)M8vKaDR|=P}o*Q+ecoUDM!(TJiqglvV_^nHSg)PiVwN5xL)U!wr1%842x nPYjHN1At5}l=02~KJ)km4s$p@5P;Dc00000NkvXXu0mjfB;7L^ diff --git a/graphics/pokemon/unfezant/frontf.png b/graphics/pokemon/unfezant/frontf.png index 76e532526258ae00608aa9354e94e1497f863b38..1cf49c9f9dbd2f931695e6b29d73c36b7200c3fb 100644 GIT binary patch delta 644 zcmV-~0(JEYIq%j1JRn#n3SYB^w zP|l+!)ynd8_hdJ+4^Gl*x4&`c{q6i`c0S~J|CxQ|ThHV6bAP|U^EPkoK!J!k3cCaB z%;CVVHB{%VL!r7H19SlI0R+dy0lck_AIb&f*|DsL5^|8z_q&(h`aC!vJs!rAP32)aDGtt07Zov z1D9S@3{j6m@P9S_OI+#7NaETLt@ztq0Kd2}8;V*=+!W$Co&?Tt>i*tyK7Yz5S`y#k zO6=zgzR0Iqk^myuTO2RO3jR%@vlII<5rU6rEUthCQiz|&Auw#)rtN@wb$a541FtBQ z3Ois0*e=#a4qibG^oj>ks5F-Ag)w18L_s!(in<2jw14K(kO;B))*xI!Yk<8phO|f# zqvr9F00LCf9MaoErK(2igapkg_cLr>F?}qkPRZnyrk zBaF_&G|e(8+76;U@i68Y%a-*%>^~;PQt;e;R*7hm*A|0YIjTLw^a!x eoB*TW(Eb2P*ib)9$VKA-0000zy>6pG5XVRXDQOI4|443h&4sWBaNLvzfW1aifN(Syx1Rz9 z2uFi++_DGcG?+1P>t)3e^*9AbxVT&~1w1avD&01^B>2v%bSr&DO`!hcSr;NTTy3uqvP;ANZw$GWcS z1}Ha|XJG_jQs%kW02{!1wKZyBk{0LwBlp*0^^}Ry4 zfz|*=Wn5AjA^O$REd&H8lzB-bdVj;{Nz$Cc$y**_Ty}nSytDU1J?(H2Cxa_YE8F}Ex-mSJY7_}cm!J!yrw-{EEPqug`h<}C^%U)SV~d! r8fIsa*N3@IQz>a~|1P#6=r^>#N!U<7gTU@$00000NkvXXu0mjfo$VXY diff --git a/graphics/pokemon/unfezant/icon.png b/graphics/pokemon/unfezant/icon.png index 785bd89a9b4c4a0f4394f951285fad83c605640c..7d0fa254a827ba86c36c20aad2ca982dc98fedc4 100644 GIT binary patch delta 329 zcmV-P0k-~)1Cs-g7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;b0zv&`i0002?NklV7P5JkDcXxzC%>;-%YYVUEpos~33X{PWg z?CYfQEzFKA8Ku|>*(mIQQl+qBI-WkmFg#=a(~@QnA=V)62&z!BHXT$54&x94De!-i z0*R^v6uN;@lvu#)afnHzZLa<0V7j0G+1qFz}yTvpL)*q zNMRJ1g;5553nR5Kl|i#G%Ai>oTNyQkzZo=&ET4o~kXjg@?@+?P%}XT=OCyXxBg_}$ bzx(kCJMN00000NkvXXu0mjfmB@)7 delta 323 zcmbQt+{-*cf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HGe!^978-h-%j!5Yc}9< z%@)>F6#Db~{x-Q5iAODZw|rg8zS!HieAyd!ey7X>HT_hN1y6KXc9jNjuxL(BcH(L% z+9)g(b-<}4&2eIbrM6JtB8Kym&ua1nGGEzwCH2xPrUK>#_1AWt;9!xT9^H^O?YoCL zFV_p(YQLz4oo9`0#2K=?igH*N{9PaY%6QwH&Wq;~96rriq&U@sb60}7x?;~l(=%H) zDrG;PJR!a`NTKHM4UHX3ia#meS*XdRw2n}Dif|5us43;DHiZZnGvgS z#hj-$MnsMk?*5?NG=-*(z<9*$Ea_^5%rC;CU%& z?1u_UriS@b?EFc-5dPN!6%bojOx1#lh{<-;$mlwVnIx!QLE%>te;8fx{`^H!=?czA zX8gf8z=;tjGZzXW&Sg7}X_pO?I8Zo>jv%-x6w?R`yIn!H>3{QEB$FPdQ=VrvL#r;? z)IlM@x2)bQZarvCJ?LEzv--!o+bg14VW11-g+V4~REx|h7=spmdP%_;bl!h-Fbsm@ zfoalV5Pa^*8?(^b07*qoM6N<$ Ef@MvE5dZ)H delta 371 zcmV-(0gV2J1IYuBBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL008YtL_t(|oaK_CZUZq4hW!SX!$vN$*+weuP1~W6g0fZGUS?0Q zu##I6)`Ig=a4os=DZuvf3*97sW^}&l=WFaddM8&7#8>YOk$_Mrek0; zJx-T2&*KVcRhMLXPz3z6>)umg=Rs@gK~Mdg>L2g6S0c5-U>C>>L&DCe7DOT#gBE#w zj$jPB9o{+^2I2W6Jn1k9-w*5!TDnocZxE)9L2XIiAVt-*(V?}CK|lNP4e5As5$>ww R;D`VK002ovPDHLkV1kDqnQ8z4 diff --git a/graphics/pokemon/unown/anim_front.png b/graphics/pokemon/unown/anim_front.png index 065d82a47f3984b13056967a594cef08ef19a7c0..252872d2e5b09e0094c01c7e97473a7f0a4c1be4 100644 GIT binary patch delta 335 zcmcb~)WtkOLWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SUr*$G^R@Rtp}U?gjv*QM-cGd^VpimF-fnnk z*Z;=kJwLw`O`Pene!2kD;Zn)ue=J2S`g`9?B|N{Nkj{3-CrK!NOm!?scqiPzeL-mfPoIdU^p&5-Zv|{G zu;%fq={xv9;`YKk!!M0l?FU2cHd|c2p1LOTL8imi@68;ROpoGb2{V@n?{f4E^vzJ6 z!?o%_$7R(k48AAWj@)E=l{#VGmhhqs!78cy@&-%NJ_L2Lcb>0jIUS;rf^>bP0l+XkKlShNw delta 286 zcmV+(0pb3N1K9$Q7!d>m0000{>M7|EkGg0k|4ie28U-i(tsS! z0*}aI1_nK45N51cYF`EvWH0gbb!C6f#?G%Nx})V;B~a*vr;B4q#=W=GHVPe9;BnsE zkn;aO`}MXh#mZIJUGt|a9r*NgSC8Q{=>VA%!jUh;B$Ex4gf`7v8!j6aALLMyQTuF0 zalL|S`;(42+!}1!4z>0NPYJx%;pe@NKn(4@LOy!DlPJ6TW zo^OxerY|w!kX78}<5(y%-Fd>4(-)S%u=IOz`@x!X+AfcB6z8&@XwEJ8-dMP8;xAT# zPZCr9&0|khOqG0c+v|qFVdQ&MBb@06AfdHvj+t delta 303 zcmV+~0nq-H1L^{h7!d>m0000*zdVVXpmbt4v#%bF|iaT9E76rb`9MQG#&W zHOB^)p74M0;n;W-ltKyMuyx!M8U}tzo#Vk)3zL+G!TG>stpUc4i(0i<1y`2R-|AMH zir|AQR0b~$e-79N9t?j`F)=}6Q0ob^pasQm9xCz;Q|JC67$|`*&lxRH?m0U#-)M0` zJc001*kOjJc|0A-OWFn?8@wk`kw00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=xqBgywkw0099>L_t(o z!|j&A5`-`aL%np;^8X*a&{{>^gOJ%hHD~jNA`RWPrKR5sD#~AL6NVsNguQhoPciK( z$skU<5#o(NYkyTcm?oINl#(Y13D5#=fFQvDmmWj_HofgBc}sxSEd&5oI0dlbhcHKA z0lkUx%^&%XAPU&e!4>czg#Fgan?HOVWrzYoMIWD?!kbE!BH#A*P@&4Nbm6|RCg zOxYgD8EUCxnBT3YO#4c&ejFrDknTTv5e7K_NQd}pD^yLc;}H9w&<*1! RU@ZUu002ovPDHLkV1oN7l}G>p delta 335 zcmV-V0kHnA1BwHX7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC#NUqyrFF0C^DC8QK8( zz-Q%_$8&!c6QHRFw2>8C^!S9S%UM00JnB_ThCOt7^f( zI8wrhoDx>Q9G5ry$6?_CwDyidw0{dXXyyzPS@o!)1o4>4r9+9~&0CoR0x~AmfgWMh zw;?3-%!IiD!flN{@ckZA1c~?oXokp(D_g)sk$N+S6+c13i}#Fyn)?@WD6wWH=O_UCNu{CZ-Fz1t51g(^K=978;gzny%L?|=b^llWJ@ z|Npmcep{M!>5WEsT$IYgO1E$&>H7;gotVFfOwDgl$oNp;c)>=A^O^&LU_mnH1kMO= zUX%C~ZtW#2t-}L%X`1bezOG`tGHcRrv6|lxPR_rh+YsycYlV}J)6d_68vg}0-m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCJQ3t1>p7~ yzXCcFcnK&RVJ7uuAW}k8w9s+>IYa@zpTh$sRbWxYXsieT0000c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=xv0iicGI008_+L_t(o z!|j&A4#OY}Lwi9^{Qn<3pe=)T(&TX1D&boXeoEZdux(3A-$hRPli}F_(ws8{xIY{~ zFMtUGrU4{p0Dtt9l7&-XO`wWEFu+F8hsb_2ixY}}47t8Y{T*wYb#}cFz(I&L>RW+IGjHy^MqmJQ?*RG= zNT&@GfcA3+TDjCw2Vi7?!?qu>2mx@$DFgNm+>w<^yHBb+92?Yj&!8k9EcG4m_!yDz zYU&QyPjyt~Cl$c)B*`O)AzUw4P(!!@Oa)vj0D324ywzNvmzGAo014k1LP8uSAOHXW M07*qoM6N<$f+8}D_y7O^ delta 317 zcmV-D0mA;N1NZ`v7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCvFzK;57=*ViAf|2Nk3;L$TO95S zcgR6e{NpIZd;*sH)j+Je$pYfbfn{y7pg#kH%L6f$D%XUt?89IY^O-ILk17au+RMgqZ*Ce4iq5*X;KJIjFg|>f4s#LC?&VfEvLZ6 P00000NkvXXu0mjfAF6^T diff --git a/graphics/pokemon/unown/c/anim_front.png b/graphics/pokemon/unown/c/anim_front.png index 6699bbbb5be57ea1127ad4dde663e5aef6d77ad1..b0048117056691833f5c4f0c0ee5aa248aab2169 100644 GIT binary patch delta 400 zcmbQte42TJga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn;V~(^*G=dgMG^978hhy`5?(#;nNUvi+jt zyZQ$QUZe$g{l0WI|B_BTi^_G?76IuU&2!q4eg1d|K1?fH_u=B1YrJ#1s{RybX=Sn1 zAKTnzx7q#dgpVKh{$Aq%6mj`;LTyW=o4%A1qr1%gTbEg-Hq2*u^t@Y9Brdzx9=ae0x zUAGmS}i7RZ0}$N%9Yqixsz*zjuI<5;mFyy=kG rulWb!x%Bq*h&yp8wg^Co4t@D>ZUO7%ldh`)gO9<})z4*}Q$iB}zj>v$ delta 344 zcmV-e0jK`U1Cs-g7!d>m0000QzEIJNcAW8QK%mK>4ZR=FktZ<_4{kA;5 zZLm^;z|sKV=)53eJ}^pJ4-FI60^l)QMyTWauE)X!EXuTEm1836SWHEXRx=UzM|Od_ zEKGz6rGCU;gkwR$--*!Q qrLP2kCTM#i2!bF8f*=UOH@pBN%6Ws>@N!N70000c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=xzSHJZc#00Ci1L_t(o z!|j*LlEWYj1i4Vc^Zy?lo0lcbLl#xLIYie~x5r3e;@q#kyg;c;@W~pWdLZtP@=7Z*93@dWjMLF z0l0#FrYNWbu;FqI58Iumo_gE7S+L0yw)lAEGx6!JnQ;rxFN-kn{=P5DiPFBhzaI|E zotb>7yEWOg`j-IdwrOm>4;z!8hHq1_wfD-gv?FllKRmzs)A|4a7AIZG`Crli0000< KMNUMnLSTY%Ov>c| delta 447 zcmV;w0YLta1o;Dy7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC&}t+4$+|J7LFjE_)wBq`jY+Q(avN7;b^zyzxd0UF@GZmu41ARa z(_w6D7HofT6o%4*4YDm&Sg=91qY1Dl;NxTN!r{!io~0?84=M%z?p2 zmL>uQ=L_H>5Hlp;os!biW7WrV!4TpE&|AbdphJIi9RU6M1t0GgJM{z20E{E1p=@DQoEr-(FE^$!p@@FL?XN{9+e250Py>AtwqQdJ@Z=oJLzqM7kw$$Fz~v;$luBxn;%=rI<|EJ=y*pbV7H*#IsyF= p&>bV+0XIXWS9b%5?jPyzt{-KnCQP5!J^=s#002ovPDHLkV1kae#FGF3 diff --git a/graphics/pokemon/unown/c/icon.png b/graphics/pokemon/unown/c/icon.png index 7b8721a7db213d12f3dbf3775686b06601412bb9..8773c2108e732d7d4d5ff451916714368e1bd737 100644 GIT binary patch delta 267 zcmbQjbew5|ga`*S0|SFkK8m$Tf3eEC#aSZV|{&vbnz9R-4&dQVT z{`m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCQJ7@>cniaSVMd<941fP$ Sc$rQB0000UOlJu5>SY-B*-tA!Qt7BG$4nw zz$3Dlfk96hgc&QA+Lr+Z*-JcqUD=EalYaqsO^Z@wc29L~EJ zvc0Q+!1;4aaORTCgxA}*KW0!o?#Q9|zmPrP;_MYw2M@Wfow&VVqvN$hrdHD7iE-bg=Q4NRKHL!5t~Nd6an6Blho{^(dT~uPiQ_TT_k#v^I}E-Q%@eYn z!)Gm+)baOC!c}{v2el1#b_;Y5hqr7mFL=#(L8huDw^`1bDdMPupKpAktA}{ux!8rh zpT8>DdVCam8|6MTaNoBRx6&5gkM(}BWd7&=MbDm^TK&~<3yP0gTe~DWM4fBF&Ah delta 300 zcmV+{0n`4J1Lp#e7!d>m0000T#FohFN0?md$GY2v$u}PyMWnV+ z&ymiwZ`Xe?yDvcT`e@h4V;t@qMJ(+(PXDrYq7hc#63iZlX}Pad!?(ILN3=88zMwH! z2)r;nxDs_gGutFBkRMYc0=p=+)%V1$TIp&eM-@7kr8I!!uKU+4dkz-?_0e(xSI^$; yqh|y3_#Lz_lmcvr3NC(sK@bE%5ClQ^j}P26YR(W%4nvy&0000c001*kOjJd5VPcUfFn`^fLCgRE00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=x*DJj;Fn00AvYL_t(o z!|j*L5`!=ZMYC~ky#N2f&BLSt#}Tlb&d9Edb3_u5ru4=erXXqr;X*Q(*!PeD+;hi6 zf`V^brz3)fZ+`>#3m|c~pz<9rRfJzK`F4C&Kt%ZC^xcBV&)+_Q=Bt1%f#S=F(j!1t zd}0fG?_|l7$3=iOfy#5akRxbQ$ON$5MO!7I`JA)MAOw{cEnzS;!KeTO0?GuG;NBog z*bZQ=fkCjofjEIFxG_K{@P~r^7lP{|-uHEX>ZQRj7k{|C1L#gb7C{?Kg9+jtNX1(P zSf=5Mn+C$kumqA-@EvK3!Z;PFzNJH9UQ%%S8pFBcAh=N^HOcc+L;i&UaRd7}jPHjW z6E(VHj!RsJa!i3kQ4I_xFm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCm!sX^7EI-ssJ>o5` z&EWyOU(@g|>$69_G&(Q4Yjq%iLbzBAB!HhgMb>PEwVX?j#8od00lacdNGoTcY`v3p z9sz&X)=E0}*hJwh96^weo;@OjuPY1R{Rh+uLZ84nBhkr0a}Hko<(9HY_(d4=3jsX< m3Gtzx33mbDQ;dD!kJb+%?BqdcaYDlY0000?NMQuI$g**!lIO<84mY0fj0(T^vI^j=!C3D0IMqgUL9F z|9^e1O6FqC$xcz<+@7{Qj;K|h>L%~t)3JypgCUDW*<_u8Kpdm^!ejhKJ}mN_f}FzM zkCYcUEbEl>FuJ_V%3)SR)F&y&y*e+ocgehX&bOy~lHG!)l;4tjYW?i0f2(aXjsCy( e|F!@2R*YN!^IdIo?3Dw$g2B_(&t;ucLK6Txm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC<>&Z(FuBQ87S~Z_=uP*IcGIYZ1cbj`RrKTh3bC}-#mu{XrOU%>rVz>00000NkvXXu0mjf0S!_$ diff --git a/graphics/pokemon/unown/e/anim_front.png b/graphics/pokemon/unown/e/anim_front.png index a761cdd95a0e1e2dd2c94b138cb3acd8c9ef85bc..b8eb9c6ea4b2883ae57cd267df4f07944277b160 100644 GIT binary patch delta 322 zcmX@Z^p|OZga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn;v&h`75zp$ncajv*QM-cCKpci4c#x!RNG z&wqA)kL#abh0Ip_dACr;;AA0(;*swi940w`C7!u9tTFFrRTY@`^~MgT3)lQVBsadP zpR@Vy>#Atw6w!4o6S$@_tQVQY_0pdE_#EatI@V2_HTid3|8pj`$4-93mj~K?-)CKC zo4|FtX?AT@e{uPl)gt>?^412g_bcN|mMU)5K2mCN^@z8^2E$`vAB_Cm1^>0hwtdm0000_K8^=*F} zr37IYoSnOZcYO*(83R#7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=x?HUv5hP008?*L_t(o z!|j&a4udcZL;He4{Qn=krMIiqga+gj=_MQ^*n%<6pAYRaN~6m@`RD z5I3NDll&zlUw>=^RYH)eNPzI~A+vxW7XUB^hyyh}loR$m2{L7meIyWQhLP#y)89_C zn_zxhNSZJUumnNxQfKE!r^5`J__MVNMOT~f^KG=ml zGOql!eHTFf-d}si9T>WlGfSx}3;mJiKeDh+#K2`s(CEJWZ~coNCI%Vi`GzaD00000 LNkvXXu0mjfDe01{ delta 341 zcmV-b0jmC}1CRrd7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCk; zAa=InVnlz#?GmSi30tfr9uSakv7|tCS~|I@l|lvb3qW^dsx=$~)(3hiu{8E~2i*Jf z2Kb5b`X29MOdDYQGkYD;bpr(H$?hrA#&=*}s7%}n@Lc497vl;5AHsSA0Aym98xGPJ zfR_ZY-+^l!{~fME35@Y2-Wp1;#D!?BkXicI`xH57eSgc!0=c-d#2_F`ES5DkAYfWL ng#Z(3AMhi}meYLv>H|Fi$AiI)wqoy600000NkvXXu0mjfte25= diff --git a/graphics/pokemon/unown/e/icon.png b/graphics/pokemon/unown/e/icon.png index 6addb828e85b7bfade9ea5f0cb0e490222138d59..d371238d88565f8cee56fafdf2f4eee152513cd4 100644 GIT binary patch delta 227 zcmey#IG<^Pga`*S0|SFkKpjNI!%@cey-WVdI<#vzB`#sSGF#$;p5tlr*<{an^LB{Ts5&T&vA delta 189 zcmV;u07Czt0{H=u7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCbf0O0ga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn+|anEgkf&?Zk8$B>MBZ>Jdw9d_VgzT437 z-`=92%ub=pM=1B9-)rXLp7q`wALT_FLhY2YlQlN~*r1T4>%pnA;>3D!9&W}7y!-2e zw0@hZ$GbdF{Wr z9h-)N#j^@{>K1&u{`cdV-+zzlwmz3j*mbb?kztC?v`Zm|#b@F(9{3zgTb%H-S+PaH fi33XfP>d@Km0000?nNpijvzlBTIgUsuO;zpT6Tb zO4BGOW)ogFe!X+yGW{y}s!%(_Nrdo!Atf#dKwpfREohJ324G_WVG|ay+hj44h|l%y z5zB&^Cl6I%DE2VRnlfdfU80ldh=AC=o_$$p20Wa*ktyH=O_UCNu{Ce^cf&A$}p>3Wnjv*0;-(L6TI&8qhav|qT zMDc&->#G*r@HLZbt#jCXy*n_eQ^x)2b7zK?zphpLb7bUlwEX+S;34`VE`Lh@fp;hC znWnM4x!oZ8;X4DD#sj$n?-*t~q_xfi}! z$AGhfIV>T#Vqe2f_SpZ9xD4 delta 252 zcmVm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCIAjt4J;AyS?k&Wf z@pwW5Wi*fg)zWi$D}C)H|M%1dTuP7gCai_|r`83>*tSXDNN5rO0000H=O_UCNu{CW!S%$1^mLh+t1jv*e$-%j!7I^e+J%zoBx z=l{&?+h31_vU8=qKI}hXjp;9!py2Z#S{AYXsCVG9TzyK-DERlkNTVa%D#`qJm>)10 z1}tG!nZZ}e%CPycv&!4^9(TQa)f_<3kL?62^GeR(d&T<{9 delta 160 zcmeBSy2Cg@LXd@-fq|iOLB?DlWf0&K;yO{spgwZtgcKm3u_VYZn8D%MjWi%9%G1R$ z#G*GjK_cscz0~~pkIb_g6m~Vp*s}aPy?9qo{KvUMU6cB~y!yXfWcl(Wkma7{&4pYy z{#LhZCH$8RW!=BYaFry_{GNM2wg2sBdAmzU_!?+z3ot*(z|cCuzPfhJpAA4;7(8A5 LTv*mQB{Ts51XewK diff --git a/graphics/pokemon/unown/f/anim_front.png b/graphics/pokemon/unown/f/anim_front.png index 1c968565924d4f9f8320066c89d6d99cd30046e5..0bc5cf7457492543bf71fa6add0cf7ef727b28aa 100644 GIT binary patch delta 358 zcmeyuw2*m%ga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn;Q7bEPPt&=*e^$B>MBZ>L%=I%2@#d^us- zZ}}gaEsWRl)?4k3Gve@=$Iie|*C+YeW8Erd?&*^~B1*ox=v`me{MuEyd71OeOx>jV zY|Drj;fH1}$>lTt%Jiu=?W5Ek$5stx+cn2n0~vNZPhAk-$D_1s!lt}t9XqL=h6_~l zx!3nRHMtObh%fN_;pe}WAB#`s3AKuOaoTZlu5V~wbBwNw)ru2g8)Mh2Tz`|ZI%%q& z_@-;`H&@-U$jQ6^DO(|!`PARXosC^Qzdne)YI9eYJQF3+c4F0H%VUzhGLKe^T)*&N u|A_z5Uwmm_P2ZUZewOwX1bP(?{>`>;JHlI3V`swy67zKRb6Mw<&;$U7Xo`dY delta 313 zcmV-90mlBJ1M~ur7!d>m00003rbt$rPW#+3(fhlp@?jYTLNLy<^hruta33T>l{)wWni4MN5U zre74;{-h;?KOYp;NA00000 LNkvXXu0mjfxmSh3 diff --git a/graphics/pokemon/unown/f/back.png b/graphics/pokemon/unown/f/back.png index 30be252f9d1f85c7da0b842de946b7069bb36888..c462579c73e0159af299a8de627d5002ba7bfcbd 100644 GIT binary patch delta 396 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 delta 372 zcmV-)0gL{~1Fr*+7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC;!~5XHLG?NS6_?*MlK{hV86+Rhh7>2Q|v6y^=$H$?NCUYXoApe7y0F9U_ zWLKwv4|BltVW)i>Tb?|=aZv*3o? z|Lb!XR?qS3w0d||z1hJ``mT69=l#V`vRmTPf}0Y~7qXTdkF zp^|Na)Qz_nTE6`53Ak^>oSm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCr;<-0@* jId1vt{O=jS@bWucVR1>1#}*?C00000NkvXXu0mjfuFOYj diff --git a/graphics/pokemon/unown/h/anim_front.png b/graphics/pokemon/unown/h/anim_front.png index 686e70d4bc43a98cc0fb7880dc31e361a9fae9ad..73f19d28021ef9561664d1adec6b1a2515e307da 100644 GIT binary patch delta 422 zcmV;X0a^aB1KO{4=yF1UDnkA00A>eL_t(& z-tCpijsr0WM02qV^Zy?l45m9XnvtM$t#^siauu7G*NYHB%BbQy{aT6#7D$m9Y>T#j ziG&F5u+Y^HNq-H@LYfY`^>^Ap)4}yW8rO5sD}Ob@XggFpX%&ZFqkWM}!$DKOEEBng zi0UZxgt9`0L<;^NTHFpAkwU*)a5)rHIDul4W6ptNxqs0~!1U9>okF1o_0<+_czlIe z4*sdwgflvCrRgW&DV&j3Gf-c@rC4d;-wFm%u=gHg3V+%qoL>9zkWG|E6LVQ)5@VFk z7<0eGJp#m0?rfwi_1r`v(%i~dq~mZOCMn(sxFqo5Y4(^J`Aba&Fnu-`tda2+2g3+zRQo|5<& delta 374 zcmV-+0g3+L1F-{;7!d>m0000EI`LDE(0nxBJ0LuLBzfVQffrbqL*@kNF>DvkC=V*`IecP z6#^kwD35i0l^V*p3D11=`R(JDI%JiAz4i40YwDyejPSa!u27l4Uw;V+Pry3g%@W*r zKz!#Wo8Dv?_D{B1bemz=N8n}agOc&eHSNV1^~hRciLtDv9Ym5yzT_bEbq5~t6adVF z`OS;EfLwhCd6OX^5`&Sh($07*qoM6N<$f^P$+R{#J2 diff --git a/graphics/pokemon/unown/h/back.png b/graphics/pokemon/unown/h/back.png index 992e34e21b44409d6589f841fd585a1c1876a89c..f668565b81d4ff248c5a0573b7f60cb0d23b15f6 100644 GIT binary patch delta 505 zcmVc001*kOjJc>005CGFn>ZQns5LB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yGLREKW>00D+cL_t(o z!|j&Mwu2xHgxz??%=Ho~betOke1Mu~0LUR=lma!41ymtmlEUPqbAJ$6LrFn4X^qz)JwUNOK#dLo z#kmiVd(;ICBRGG2bqT{H(j<``fGJUQH=$Fp!$M*&fKJ5@OSvK_{leH`GKnMuE2xjN z+IKbq5P=JY#<0u+Xs31Yyc?TO;leL0^1yIb=NgP vH2vKZdD~oxt>>qJd>ek!wtu4j**~#AGoUGSEV*y400000NkvXXu0mjfTJF&b delta 476 zcmV<20VDpi1eOGl7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC#n}OAGd(jdk+Li_K!LM#OeefjderyucdzC$1(t3wVo(%ph;;0 ztT$-`!4H2Fud|MJz;7Kzl@+NxP&n;t9w;(sTP}DNqe3Kt+461FgGi0NH72)KAjKvD zjtOeLHDeCSM2507t01JEuP9?yfqbpYBV0kdq(OaQzB29So4 zfV`*J!ycVO;h+=$P|BefT98MzY@}9WRvj(H=O_UCNu{CaBaA?^7

9tX#}JR>Z!d4;J7U1We1U88 z?f?I`wom@}U>l$M!3zuPlr*)@Z~p4F@>RN=L(dW>*U*V}>?M5~i|zR5YG*J_WnS(Z zt6t+EX|#Z`rOCs`sjkgTe~DWM4fHD+6K delta 210 zcmV;@04@Kx0*(TZ7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCStdyNdu&4LG1+=?~%g!egaZZ2`c=Lt<8 diff --git a/graphics/pokemon/unown/i/anim_front.png b/graphics/pokemon/unown/i/anim_front.png index 04a748fa0df0ef96095cb6eeda81f9ecd5bb7a81..2563d3f3b208651d09bfcbd5d4cf474c08212e71 100644 GIT binary patch delta 297 zcmdna^n_`Gga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn*$Q@b;fTq3xb7jv*QM-d;5nV^-u~36P%C z_*>p$k>@L&C$_VH+A3?k>r+(vG`k~hui$iMiRsK2_&%IwbYQt4p=7?e+VoNEzAM}6 zH@;6+^wh#W* mE6!qMK3gRS0~6Pazi;N)=plDdhJk^Lfx*+&&t;ucLK6TPZf))W delta 251 zcmVm0000$Pu z`sPhQYp7pR?dmKp$dawglmJ=J-gtbB0Qc5pL7QyC*2YZum=eIbLOhg+0EI~KU1nPa zk)XfsA1> z3p^r=85s1GL71^(seKtxkiEpy*OmP_8#}+A#)CJjGJrz6JzX3_A`ZWuzLBrRfX6vf zOa0$}{%1id3ktj+J>&~~Uzg=PwjOb0;$RtZK=r}YnZvUxK6U3aDX5KE1A zlF_sad{e3wUB=IFDPf^SM1qmS+}=-J xm*?^S_&ZB|y~QhUo~9@LF6ZX2GtXfCepmR(vlD#(=L0>$;OXk;vd$@?2>{d;aEbr` delta 268 zcmV+n0rURo0>}c87!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC=kXwBB4LU7v>O4}v&AEHQA%j&0Z zCvh<5FVAoT;C=!Dqn!ZoIv^hqhyaA+0q+L|fC#`)bU>N;qKLK5oMf@Ab&g34U>{Z? zjza!qLUD$=ah>zwG%IwKGefLD+`9_+sc;T445q;c}M?hzp1SI-0B_>}8f S)Pm~(0000H=O_UCNu{Cb+xU(fmn6iV=PaSZV|{`Sg2t^)=f%omdO zsQ>@Jb@E;5MA+HN-Pee`DpE%3%5cknih1NTATbVgC{@YD7aB4gww2|F2t!e?A z(TS#8hyFhlU0}Q7%AMIyEFVZl+^sQU1;J10jW#;}IKL~4bh`sBWAJqKb6Mw<&;$Ta C(@KH> delta 163 zcmV;U09^l#0^b3U7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC!mP^ RCjbBd07(Z$PDHLkV1ki5KePY< diff --git a/graphics/pokemon/unown/icon.png b/graphics/pokemon/unown/icon.png index cd9056ab292fca2d77744af2318a80a03d8222e0..c1cac23516f60c79a0ec1da0ad6d12c4fb6f1a25 100644 GIT binary patch delta 233 zcmey$xRhyvga`*S0|SFkK=sI%f*nx+4Zja zcl)gV+VJI<}i1auRzc_%d8(x}VMF!R+9-{M-u_Ax6(swz{Wm97h;`JPwmq0Kxa{ aC)oE-;+}u5cTpeE5e%NLelF{r5}E+8c2L0p delta 185 zcmV;q07n0%0`&oq7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCJA5CzbifC~#i&|VYlasMp@dlVf2W9R+C&cqmh$IBg1e4>}9 z!kOI)paH6tJM3~JMoRLj7tju!6%ghCumg+$jCb(n7x66HTmT56N=QaW@zXfvY$TAn n2Sos9CWIaDo-WJ*YWP%z(7w8600000NkvXXu0mjfhZjh2 diff --git a/graphics/pokemon/unown/j/anim_front.png b/graphics/pokemon/unown/j/anim_front.png index e2906d253ad55fa381be13024edadf5641de5df0..1b0f5c0a98e1b73dd6e2580d3f89cf5f9c9b3cef 100644 GIT binary patch delta 328 zcmcb{)XY3VLWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SUr&qg(PMBZ>MY&I&8q2dw0otuV%LhPt$85r;d8&12gUJNVeFl_1v1aq0HLYcsCY%QRj6E_!N@K2!Y(zI@3SpN!A* zT>8fQl(%M4aI*sMhJ20}f@N$~6KC+)%gi}{VeVl~8;*mO9W4S*9Ewol(e^zIHzT+$ UeF8m}1O3S0>FVdQ&MBb@0J64$CjbBd delta 282 zcmV+#0pm0000J2y&dBC~E6s7B5&4J!< zSa3~O3%}QcU*3TIl+itvmrgEfxdY4DKfD&9z}8+zNtwN g1VIo4K@fh-8z}Ens}jw;G5`Po07*qoM6N<$f_Uq3?EnA( diff --git a/graphics/pokemon/unown/j/back.png b/graphics/pokemon/unown/j/back.png index 619ebb75b7c1c1de33673995173e684d4a38000e..f7b451bb5786bf05070eb6db962e40f469d45131 100644 GIT binary patch delta 355 zcmV-p0i6Ew0-ghq7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yWt<@?eA008kxL_t(o z!|j*762mYEgR}SqdjAJ5{%LDBS%CD~!P+wDJA#Q!j$>==GRGd_5{r@?L2~n>My;WF#?l-+JF_{B(x6B zJ#Yf3XVF8z23$3fF2F?zbj|^D1)K}zA|wC+002ovPDHLkV1i>Q Bi46b% delta 311 zcmV-70m%NI1M&ip7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCI&{ce{ptAu zHcDOkwTx>3GugU9Ph%bEhN)^H041fE84;d{EfWz6s|AQsrwI{ZO0LGydZE!80#E*~|Fr{9pcm?dPyRO6TgX Tk+sSKTFv0;>gTe~DWM4fuL4mk delta 184 zcmV;p07w6u0`vip7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC@Bdz``^M(zkKXPO0u;TW4gS_Ce0FcCtaw3 z&$djl1ruk}f^@ngv?pm^7wAa-@*{#{om6c$SfDHm- m79&ao`qmu(4x;1JcX$EtTT~NPR6&9O0000OA4Ou-Q9-$ZKv*^TZR_ zKXF+K9+j(ddAOY6sH9xeHQv+00is79Ztj@Yw5xGO?v@N??_?8}pUMiq@^2pKW;5UX zoFT?^5BrKZwh8jmj9259CEaEG`gGIoOaBtJi-Xk*5{&g*1e`d4?gSI@PZ_r-bH6tV SW0(f?A%mx@pUXO@geCw1^?kVj delta 295 zcmV+?0oeY51L6XZ7!d>m0000b+142S^bcLy6J@Ai|E?pS^_Swxq4t;zj~SztvCQ zmi2{TnD2>&d38S*gu}0bEUhRDt{}vyx95Oc3_`2WSjHsHKm_|dwU-t#<^x2)r8Toa1PFufsFxK) zg26B!X?+;-f`sc-{elkpKM5HyXk*>EABl(_7;ouGaw7uElX?(m>bMp{QlCi1+61yT t#mfDm)#P;_woA=048t%C!!Up64cwVn?xrglxd00Q002ovPDHLkV1kl8eXRfh diff --git a/graphics/pokemon/unown/k/back.png b/graphics/pokemon/unown/k/back.png index 46ac175bcd40d68bc5717724f97f2e05a7167b52..06f64a1f6402c88b2eaf06e7dc7147695d921263 100644 GIT binary patch delta 361 zcmV-v0ha!R1Ed3x7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yc`hF<3Y008$%L_t(o z!|j(l7Q-M61ZjAS_WlPBkQig)La>G7B&u96!%qkt!asf`NRf|`A|DepL6QVWDVZoR zY682xz&=1gQGdWG0mq|5P6u0Ny>zf<19JysjgB6HZ;~!@BUzqjcE}cz!P% z3SVl$g26I`z%{|X?luZ04Rr2g-7G_R&d}Q0vv!S&BP^@&3@6NAc^^Y#Df`to=Hw3ZndeXT-Z00000NkvXX Hu0mjfy^N33 delta 329 zcmV-P0k;061B3&R7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCHlf(e3w@z;Wb4=eNnXN(!Oa`O!`3gE1)Ih623c%Y=pV!c$rxil( zlm)azS^?IqX4bi%(yUocMlT?~H4Urpt)$y60@5wr6j#vgdf@yT6jxAg!)&40E3pq@ bR=*h^y&SzXb!hn}00000NkvXXu0mjf7eI#A(-yb|)NDcrtr#^joFucSTs>k`yj_A?8aJYB()((-#SB>?b_eTwneW9zOu1x$=nUwOBmL(X8he`Q6I)w!#+p7ekgTe~DWM4fMJ`dj delta 184 zcmV;p07w6%0`vip7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCZ2(6|KXt=vH;)v4}1?$1m2zrOfUfPSzAv+7A|Z60000MBZ>Ks6wHk0Z-wojS zZvTPZ%C_OE0}%z-2uQch>4pIkdTHg_Ltp+sW_s zENc=!ZJXvh`#anFKT^96XFKv5eE08vkB^C9e?7|6`IaYPt-o~{i8Z|z6>#EEY=IDu*jbiw3U*GG7ugQ<3xlVtpUXO@geCxYymS-* delta 261 zcmV+g0s8*y0>J{17!d>m0000|42ClylkV@Scs0kM+>5hW4^C-8)sB?aX4(;G?^(VjL z7^5gZ!>$*?92&c?OmHc001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yi$h(F5!0081iL_t(o z!|j%_4#Xe~Ls=>l|NjSH8eQ)wWpNl#B|LTUD-Fe_l&!6|iR7IBIO+_6)d7YHzso2B z2v;l{?lz+a0Dmn66vTt(zwDT!wlxH4ejEUbIDk9A5)*7^ zAOdJlNt=KT7!6VUlQFk|+eu6<;6af64q)e3!|Xi&t(|h3f;T177!3lsG`|qYmjNQz zC)xF9+Bf0KcuC1mJg>K+OOco#gU$R5jB9{`#xbm;!XgZiyu6;xG|K m%$DjPi85K%Xg@fUP!_>&d@0000m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC9Bfes@~GE=h~BsCC_XZSXT$UcW4nbZ8mXANRd!FVdQ&MBb@0Dcuw!vFvP delta 183 zcmbQi^qFyjgdhtu0|P_nf{eL9${@fe#C4*ML4D-P2`NB6V@Z%-FoVOh8)-mJp{I*u zh(+()OS^d+40u=q{2f@hT^i+7UL5`xt+LRZg^goNIZuPbj?b4ZMBZ>M_m9Wvl?+3k7k z+h6{kw-!r1bY!-j5njYpy6oT4y?Ra@KZSKHr!i`5RSVmHed$8^MFl(i6c_y~jN$IB z-yhAk(DB6A-qw4w*b4Xe?T`;-`tQeW`ubVI%Kj-6{aG(9T+M%TMNMGh^27YUrXE~* zc*R7qBVC`aFDAMry_#EZq3*?)m zLm1Z0Ke;acy2ELO`S}9<3wfTLP+;D`nZjW&QE{(SuXUc(gG7U64=h?|O_yffaw&dqCFo-L*2sm*-i9hE04+4a>-mTzW4-7&EPgg&ebxsLQ09I_KkN^Mx delta 364 zcmV-y0h9jE1E&L!7!d>m0000cH$B3;WsVTLmZ(9$B1OL0X_6mTM%!VvJNnO8_?8Bmj2LdyyX#lxe!KYJEP zl%F1cuhgDm=OM8vA=+@5%XHhI@01YjWA!OMmgN~9DxrW-rkDE-0h}`HK{(3t;N=&B zc001*kOjJd1{oau&Fn`@XUB&O{4=yqtj#Cl<00C%8L_t(o z!|j&A4#Xe`M7=bl{Qn29idImt%_f`dL2lKVR|K^U;lzm(zYjtUdaWlREymP>6hz6C zKgNV^zs&YE?v16_V2HvUqF<{!kN?}VK{X}<=%Ab`t{ zU;{c~Q-aAKxQF2_f#&zO!ebtCyIA`d*5g2c8g=?WNq;7wPLphfn*vxWwuCqkf{?rv zAX~&+>M{s$I|-Qpxd7Ig$5|&Z0j3n-`1?eC(3gS+7)8MBpDz=i8cpXc{h(26ippvnKZ0u3kxl6G;HqIa{?LJ)!Ql)#)q z{gT{v1Uy**|IB)(oH+4Kd;nc`Cbpn3 Rp$Y&1002ovPDHLkV1m2X%&Y(a delta 441 zcmV;q0Y?6n1oH!s7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC7%H49A&}@?Iz1YcNzU?3JJ|keKbJ6yCPR4#7mXRO--5=OGFB z$KM~p#=Pvm+71w&?Jt#I5Rhyaq&^hzl^i|U%}6^FKb62Ot>oXLB1%N309wKD6JfWM z2Vi5wb-RBj%(Yn~e8f5cL(A<(egLchOkmzsk{0pfPJa5Jb4+9{KoU&=i~vkb0^}fp z)pWpwf;b5nPXcZLmL%2*c#E=e08L^7sA`d1s&u$X=om{EpxCQO%z#h$IQ-N_C!e~E zA`!~yke!mCK4pHz)CkVgqy86C6m{!QNx3izJ_Ndx<@0B4e!fp-OzURVbl-+%!u0(6Ng!1OQVCh7<_P5`$*ltX}X zd;-{7*e}03>A@&R44yoRpmS_>%57&tu3Vf)PZDE-{U+$)ZqWrW7C`nxoo6%5%XZ{4 jn_wL-2JX7^vOjO%xVs~ISx%$c00000NkvXXu0mjfcl5uC diff --git a/graphics/pokemon/unown/m/icon.png b/graphics/pokemon/unown/m/icon.png index c9b8d0fb43b894fea799f18bfa6a0a2a620cc1d0..e463969afed60da97d9b0ffa019bbb1d35e18123 100644 GIT binary patch delta 258 zcmeBS+Q&3OLWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CY;ReZfK?{hlt4As)xyPWI+&G2n5YIC*dF z|I3fIcn77K3k4}f1^o58J>F=$<;bPe&7Jp}7~R@9SF!Kebw=sNGYy54XTlHkFEri|EYqO0&GY4k zz_6@s6}L1uNxioCQT0xx{tk~{q0di$Agou-6Jry+Dfpt17w9?$Pgg&ebxsLQ0Q65_ AfdBvi delta 208 zcmV;>05AW(0*nHX7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCK|p_3XtPccEv%p=il6-eQUTbH7E18YYC^g73?4tUMmYv=VL6wi25`D0HX(|9 z&s(@Yvure=w^*RiLtzICFF`ePIB_C{cRP^V4i4^D>wgX(K8H7liH!5X%K*^;0000< KMNUMnLSTY?TTur9 diff --git a/graphics/pokemon/unown/n/anim_front.png b/graphics/pokemon/unown/n/anim_front.png index 47cac4516b9620a1958dc272382801ac406cb826..a49128470a03867ddbe4fb86e692355d2066dd93 100644 GIT binary patch delta 369 zcmZo=LWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SU(YzJGr0vQ^xxCPF(l*O+bNEGhZT5Ob{@F( z`#-yQ&ZTb?JeCFJTL&#&k;MLZ#ul{}fk)~mJ{`I}^-WvUzWeJ_zE5hnceePYPV0e< z^$Aa>H-32#bYT@!|BFAR+~S358)iN@^Ihj@u0w1?+nM!ZdwAWOa#Vjy$bNbAa-za# zQeI`YfK#zWz=;D&{NUEVUd4BuGcRlcFfbTA MUHx3vIVCg!0M)sg>i_@% delta 326 zcmV-M0lEIH1AzmO7!d>m0000%%ebPUFw~MG#7l!MM7HmT=1mt{?)(T$ThXSmp_FZ3qua zH1~)|!B~G$09#JE#_foP!1tu?oDf=qoAcfKSI!{{7Z#{{yPO9KwIM9z@6oeRKChyH z;3I6pV?4$kSAo!tdx{$f!cr~b2VZib@Gc2cFaxe!W(H0t2;8597~_I#XbF~kHDyXL zNWxY+AHgrpO%sIu@ocL6A=2K_gTUW~#~8Ov6k0067cm~=#!9<>A?;EWMNt$*QIvnc Y6VhvK!n2LK`~Uy|07*qoM6N<$g646Lq5uE@ diff --git a/graphics/pokemon/unown/n/back.png b/graphics/pokemon/unown/n/back.png index 17163be738dfa4f6ed732693aae6ac743bcfa678..fe73d302cc49cf47981707102926e1a244fb53f8 100644 GIT binary patch delta 453 zcmV;$0XqKL1OEe%7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yzH?e-@C00B}-L_t(o z!|j#Pu7n^AM13Ix^Zy@wX<4x1wwT>)?hBKs4>*T91w4+et*!qM$?yCrWqv_tu7E;! zG#7+^l$`yS7=OWszvSWpAb_X@^~=T20L`yAdVq2R5LGmO3CfwJCOiYcq5_5=K?s}x z-L5{2XON;!VZPajb!xdCF~AZad1Xrwe*-WA;PfZ$%SpiT0yqR(0N((P0q{~h$0UF& z;6-TNaM$7hXaj5pqXe!19R5jsm9PRR0RbRtL+T-{0Do>9(j&lw#T)?ms11DU?`=pA z+5oQr8HxZsAkZtI0oJ==BAosPaL<&{$GZ0>zX7D>Zm3aL0sSEL?9f^TUIg=@ z3jlSk$o@BWT#jcy#de13(Jki}?)DCV56IoGVTx`)2p7O<^Lu|7f1GQ-mg&BLwOk0t&Bcui00000NkvXXu0mjfKDxa3 delta 416 zcmV;R0blm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCv3;@zqZ7VguM{s3`qJxn3_+t~p++f2PzYNV

M|1%^BoR7f4G>9!G2vHoNf%6apPda^^ zz|QlX62N~Jcv;&COaWL&Opu%a_5c(I$c}yjm;kLLM{!6Q>Zkzbq(AV1L|t;{M3D%{ zyVwtViV*>@KJ5<519Sv<=Nkb72fz|&6dX(hEF3iuuo_@Vt;Zc?DoX+^$q5iaTn3e- z0q?WTT7m1V1+Wqr0*@jS0!*p^-tr&72Al)~mSlg<6m2k{WtgQL2^#1x zmr=fJX>mHCD-t+Zv9YDLmD{Ob3MA)KZX&mUnl%pTGo);mGfp525IxTF*2=LWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CcL%ua0d53N?AUIEHu}e>-_2-w^{2XXV3r z|Nmc)n^U$T>XNj-)x%bn{SFcmi@(mFwC{&t)UAtb5`q^hD;XM?o^0Yun8l==Ea(&& z!Z6X2GlzlGGwqW4DvbmO^?`vaR2}S delta 199 zcmV;&0671z0)qmO7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC^&D>zTaGeqiEpIL;mmZA{#ArYk%0u+BEo>!$>94N$C666=m;PC858j!?NMQuI$g**!lHLn_nH<2-KtF>EalYaqsQ4olMM%9ITf$ zPW-Pgu-M~epm{$e`bqDaH8ak$GcXu+a0vbtkZ-fmO8XPKuyEUomgQ?MSX7^x(N$Ep zzFw-U%hBy|p}22|kxSjS!fSzsZ~nY$*5+c1{JBu=o^%GASKb2kEfbFYb`EG%@t$Cv zAH9Khr_eg4FAKlk+tc||=-GOu`?6N5Q&{%x6UgTEXVQ1DnmGM~!iDeGG~7IIMg!U9qju=0HsU0Ij%1Q_rP44$rjF6*2U FngEKhrNICI delta 367 zcmV-#0g(RL1F8d%7!d>m0000<>lF`0&P&F|AXA=U{Y^%>zPVQUkD4y@isCI$vql6N6u(JknadjW!O;m)-4nrs5P z1sn7=*hYW1_+Me!yxmtRWV1X?H1qRv!XllR(JX?*dcg#t^x#cMuE7N|kWysRapqs1S}p zXxRcQwQ!7Lzd--6aFlwM??myVIuo+yq|ROZ{PQ=NOeT}bWHOolr$0^)qARVJU+4e; N002ovPDHLkV1h`FqTc`j diff --git a/graphics/pokemon/unown/o/back.png b/graphics/pokemon/unown/o/back.png index 7260da757fdaa9511d5c999ddf8974bc715a4a37..0ec47e704c637b06bb762df854c57f8244f2fa01 100644 GIT binary patch delta 481 zcmV<70UrK^1e*kq7!(Kt0001;w}I>c001*kOjJc>005CGFn>ZQns5LB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=y$uhlvRj=z#1PMj|{B0!*zYZw+{=+H3 z)kg@(`tbrx07zEP9AN^J*7M#0qN4Bs(0Z|f*bp8;CjhmF^=%IRlF`dB)J;bf0YkCRAP~~h9N(tNt{}9jrm-ty zx8H|+JgXJS0odUzy>X6jcrS}g<<9|t;;Y=?GumFVg?F7CMwFY@Qi0EY_ zUgJ^zjY7CRmXR?Fwh5X=GdQL_-Jrm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCHL50uPl?|72``Rnl;qIA1Erq zb7qSM_+$gfMe;LS)N6b*pmPy7-vMA9PcCaB;(T610By%SY?%01Ko)PS;S08W6s zMgxRAP)>3XpvqF`_prB1^!sED=wATrNp1{m2M~YC#tOi7H~_^!v4~xvWMJwQ&On+o zK@9rC;<7>vS(oFE2OwDvCg$iHruac7xaDjEDA`jYvQEv@G%ZM<4d9WVZfSq5P%H%0 zc5VMGEf%oygA7^#N+&Wv2K6S31r`8113oDtat`Qv1L+33D5EF6HzNUhLgpsD}>002ovPDHLkV1l8u B!*c)t diff --git a/graphics/pokemon/unown/o/icon.png b/graphics/pokemon/unown/o/icon.png index 14a88d0627cd3a8cb92f891284dd2b070c77f7e0..42f16007b52cff04888c69cae5bd1ca97e8ee513 100644 GIT binary patch delta 245 zcmZo++Q>9PLWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CeiOPnORG3blB;IEHu}e>>Tci`9_BxqDat zcl);zyG@N(^VcV8h|Egg8gxGLuaoEAo6p{po17ZUHx3vIVCg!0G^6i`v3p{ delta 200 zcmV;(05|`!0)zsP7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCsKf3__lz zperE{MW8G{Wc1-a6;%vnaL}o{c;ftT>pzFj&fx{Bzn;T`m|ds<0000G+iD)T6dIe~(&`mUHmHO}1_B!iJlzVw#sEl_rOI7-+CiBOSvn& zEqr|(3!>`#3|o_r=q)_Xuz6p>#9fuQ3ywMN>Zs`!aBuu9vnA=mG0Sh8E;E005SU`njxgN@xNAhWdFC delta 258 zcmV+d0sa2)0=@!}7!d>m0000yg_kGCB3juXsGqP*i86e91p={cKCGw}Xg?2-@w0lj| zn(#Glm<)*zGYG|_g)G=pLHMOFg?1tsI;ks)q9}@@D9Ru50Wrr$!^1fSjQ{`u07*qo IM6N<$g7EWewEzGB diff --git a/graphics/pokemon/unown/p/back.png b/graphics/pokemon/unown/p/back.png index e275a3a9662431f247fc70d55bf1a881ebe2b258..45d23a7f57fd82c226ac0ef6282f7ee52c112143 100644 GIT binary patch delta 316 zcmX@h^qpyfga`*S0|Ud{?Tv4MlyQJhh%1nusA*82Wxn1V$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CXCDqj&KDg-&_8IEF+Veml)lh*^<`#d90m z+5hr66ZGFs>`75K6P{Qiu07$#wXm>%Ix5+JwtekttmWWgtvjN@)ggG_j4jvAmtj^t zd&Y;>WA-08nfkK#wDL@`y8m}`v*Xk4l{p6$uJ(&Jsfi`%Z*XBv=5=9wEAvud153E8 zNWPJtc|(YL8?Q?B&!gRk8`$GSe3+HjZToz;pu-|SP{hIML)e*xx6aO}5PneUQ~FGP z>d!U02lY8leOIUyE>~WqmEb$!)iHmr8ilEKvc{cK`!{|1dWXTdKvanPPu*jnzZg7S L{an^LB{Ts5WrK8e delta 273 zcmV+s0q*|y0?h)D7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC1Q$xo_Kws0#<1E^SiJ%ID!P zNOa|!spJGq^;j;r*L@MpZRgRq#*Cy|9sp2*x!0CiG#qF4mIV~pW&BkysDRsU5#mt6 z<5sT~`2uwcI{;hY1mGSxtpS0!#}(w~us;CyMGgR{1DHJ6Dg*#>`wZZ$T}TB8C<$>K zUN<>OK|n>}9RyK$-7o~CjM3DH=O_UCNu{CbvMFkAiX>$|DOW`9a~ljc|PoTrFyLhA|RB~B7a8wA*tgC6iWb**TWe!!-` zrTjx(Yt8?uE_-?ZvNybH^$zY@`Tt7&tN%fE&;N6Zwz%(h0NTXh>FVdQ&MBb@05%6m AOaK4? delta 167 zcmeBTddxUMLXd@-fq|iOLB?DlWf0&K;yO{spgwZtgcKm3u_VYZn8D%MjWi%9(bL5- z#G*GjL89z|z0~~pkN^MkYcPG1Z~YRuRbyYUQ{bnM6E7-@sLD_6{rV)3<&E6!g`72R z!W-Ph4;Vb2e9>AY+y3N#_tL-WB3~UobSyaFY-z%{kDW(ZvPX?Q#NqA}28M~7T&6$2 Tcvp>q8)%)UtDnm{r-UW|pOZgh diff --git a/graphics/pokemon/unown/q/anim_front.png b/graphics/pokemon/unown/q/anim_front.png index 18c930e696212d3c414d5735c41067434344eb4e..960f60f3ddc680f768421516195374e3abf551a3 100644 GIT binary patch delta 312 zcmX@k^qFabga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn+zF=xqg{&@oRJ$B>MBZ>Lx?9Z}$6&U85T zzy8CivPK+{vH7qu3%KU%(V|r2JB-f!*0d4_-WdzC~+c>WZ441(^#Pe(t#m5){TZh(Wc?JIWGf$n)e7r4p+D{9wJ3hw+=6>i-zOj5Q!#^9270o;UmWUZL*<8JHHOpQv z^}x~BZq2dM-=-??)Tv4wh>ha_I?D+{NGcwY|G^kg$mRTS_V4RJKQVZ^`njxgN@xNA D*E)M` delta 267 zcmV+m0rdX!0>=W77!d>m0000b+3Q1yaP8p^ef5poTq4oxKF-wiv;P&5DrUny2sY zxM>vSm#Njs?*Jef9Si}oI$udIVO$Asb^nKLd}uDVJUl!tFfH zqaeUMdP#5aFrAzs{6Dk^$@!2=(=k&PfNg~e7O$UED1uIbTiUoW zuGV6g7_f3ZoU@ceH{*J~sziR%ca=4X0&Vj}Xi@G!UF8mnq9}@@D2no5JOHrDO`VX$ R_Lu+w002ovPDHLkV1hcVan1k$ diff --git a/graphics/pokemon/unown/q/back.png b/graphics/pokemon/unown/q/back.png index 08d5a0d0a0c1a5bc4810ac8782dc7c5ff095d882..fa7f9459e3be5da8d81b1f18bd649c2022d3abcc 100644 GIT binary patch delta 309 zcmX@l^nq!Dga`*S0|Ud{?Tv4MlyQJhh%1nusA*82Wxn1V$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{Cd_YL9e#~g${eVIEF+VemiwH-(dp|*GL_X z|Njq~?#T1F-FW^v7wlr;Hb3FKzEv~8I;diD#?u_j$@jQld6SCQV7#yigse5e8bf-A^(dXpu z-4&9y)eG5#`R%LS&6UmdKI;Vst E0Bg8*6951J delta 275 zcmV+u0qp+p0?z`F7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCBw*j60DO<%f#rWd z5CHf96AyPBQ<8KHt9R(Y#wz#*z+}NjvDBFkOPJD(WT}J^tm(pYTE7s?lY_yLSrY)3 zt!E&-Zh3t$hFx)Xcz5z+%^%T^@>|U@x*+vv2*5W4i}JVZfOw!9D_;1Rp&>|X>Vhk$ Z$Q#>tnEN?8g9`uv002ovPDHLkV1hagc1i#M diff --git a/graphics/pokemon/unown/q/icon.png b/graphics/pokemon/unown/q/icon.png index 2270f837380034866b8d40e19778b5e1f82d1a6f..6577826812645e57cc9bd5e948ea9d11d074b63a 100644 GIT binary patch delta 217 zcmaFIIF)IFga`*S0|SFkK{_P0?XP^*cNswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9QeiP6>Lw4Jef1>EamTas2IMLp~Nm4rXQN z{Qv*Aa+jO>?bbF7(sI*~C_MMc_sR_`0mWec3C9E^B##LwZRR=SG-+ns1=j%X&r5#& zw_4chsHLpcQ*~KmzeXcpkJ<&Z7hz5zi=L5`X+q17!9

m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC&;&lC z3D|$O`;THR(2V~K$U>it{tNv_wweF`f5DGJ4^SNUQC<$!JA8ugPz4wsqN!lud%!RX gaDma}Kt&b+03zc?kLu6B;{X5v07*qoM6N<$g3O6aMBZ>Jdw9X8-#xvL=X zzrKLsru>f2J>7T2UPhd5Kd@6z@reBc=D>Whjppkl92vE1u{u3@~L zvAlBItDg_ttmIYZ_qN2k?%%)Whnvmeh`UF`CuyD6U0}xbRotCJu|>cMLVQ%RcW2_> U+Zb_#73fI@Pgg&ebxsLQ0N0;<&;S4c delta 279 zcmV+y0qFjO1JeSK7!d>m0000Aq}m0mZQspL7F)^9F9`rk34`3+TnfnZ7gS4obzX!>nf`mvr z7>k8JXXJb5Z-F)VWJmBF`q}aln~k(YKgU&AiOm*^iIjLA9|37!=;wQ=vEF~~J};%R zFPNO1Bu50K;dUKKqC76noyZn-!(n8Js-LDvW_Rs@KqF~3ppXJJlBMuOb&X$;q9}@@ dD2nn^yZ}jNR^oeLD&PPB002ovPDHLkV1gvNcZ>i4 diff --git a/graphics/pokemon/unown/question_mark/back.png b/graphics/pokemon/unown/question_mark/back.png index 3d9ae3ee3cd07b2541f92fbd2687ff50f2445627..0e80d551a14ce7c99560582fb69fcc8a78bc078b 100644 GIT binary patch delta 352 zcmV-m0iXW<0-FPn7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=(|`MFT|u008buL_t(o z!|j(r4#O}A1bwkE`~L^mU?+8&Tv#HtQnU9N5gV{l%9B3`!~>4*pthb`6%_8Y3tHST zaJ862CCcykjDN&=y@>~N3$pR#1@;04PG0|3fUw;+3!wQT)dVO>fg}X&>jF&*dI{cv znG*B{L(3RstbslXNkc**`c@!e@O1{#FcsS9!<>qizKyR6U@Mgu0N&Cdn?bN|c1j`Z zyMp*A}N5LgNQ*M!9mp_A|$vdA;vG0$Q5uhgn8RV yAAEQmu`9sv!?1)|NsEHriju;I!t(sM{d!($4;ZPBSvEBQ0000m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCU3`A2|+W$hj-=GRke^SB^>^dFQY4f+|kOdlMwx9vwcAjRE z*iHyvSyPPhLiD)ie5gcUvI7NLxNf%Oas;|`y%z#>(`RT1&VwPu0s1FMzq>t0g`lX#XlZJ~E zcBUb^1N39O3bdFg(9BvSdg^OI2pNmhV2F<0tEj1BzlXvsraeG!0LoZx+kXH|cB}e4 zL*4**9I}Cj&^rL$A>9)IAS+MsaoP-Ezf&7J++inaqmY6B=2x8!W!%x7h+O~B`UfYs VxYCY~s~!LV002ovPDHLkV1mP7jD!FH diff --git a/graphics/pokemon/unown/question_mark/icon.png b/graphics/pokemon/unown/question_mark/icon.png index a9bb509307f75f71bf1e48d2f092bd8c1b0f5a02..38b50b84dfcbdd43d4a67e894d2855b4ad86db16 100644 GIT binary patch delta 226 zcmey$IFD(9ga`*S0|SFkKm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCa07|e00000NkvXXu0mjf4?ae& diff --git a/graphics/pokemon/unown/r/anim_front.png b/graphics/pokemon/unown/r/anim_front.png index 0b861d277ebef682dd14a262ecf1a0e46fb49029..cee32e53272ff4cb6210ec774e4f185004d9f47b 100644 GIT binary patch delta 305 zcmdnb^oD7Iga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzdnMBZ>JavF)Q*gXZG~` z|Nr2|v#upBA~QX=>=m0^YtSa(^oMgIgZRhL3tc_4e}@%RZtk1hHg~^@u@55xwrY2kDsOoC!oMJi*T2=)#s2=G6;D~eNzG)^ zJ;CQW&tF91M%&X;*`~}5AMPCMVK+UphwTPG(|7%9*{GNEj#oBs*v`{o{?yrFuX>&4 ufvpL(u>#YZ8c**LaNRKbLh*2~7YSnsY}0 delta 259 zcmV+e0sQ{#0>1)~7!d>m0000H=O_UCNu{QAtH-btB2p%b1ijv*0;-(K0scUXakB|xm? z$G`v0-LavII@xo=WtH+yO{i81E67$?SFh(ZJX|6x!X2>cyn(aBvv zea``<1m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCzN6>=L!c02NswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9QdrIj#Tw6i_I|)5S5w7 zz5DZj_U$b}+hdtHga`*S0|P@({QL+YWgOrW;wq37GEvi@zF%5B1t`Q=666=m;PC858j!?NMQuI$g**!lHYPV0X^1r&Pg>EalYaqsQ4jY3R{JT93D zhyVR&mu~7?n>Kgj&G0!_?VO7WdJ=nnG6bDD-=MKTgTt30&(-0LE{BnvB1c4_!-@G7 z_4})*itn0#_qXpn&tyf*e?}YXtoQC{t2txbbxx@x0J%khls%k%>89lky1WLAGI@3~k%_p{5& zwZ0oNPc*OmbeH$zEv`3v&ne7Tce-p4u&3H;iF42ihhXcJ`ST?*3LkQpKEJWven~~F u;TG+t8h6J((FO|7dJT_BB=Fg^~c;9QbGkphoox#)9&t;ucLK6U8`;j#O delta 314 zcmV-A0mc5B1N8!s7!d>m00005BC^|05!zQ z1?vwj0enf5ZEi%ukTJ=li`g+Y4B`}UD}CO?BZWA95VP|s3z5ltxfri9jdC5SOiTPT zl;xG{q06gYm#iGUE?;3=$i%|s&Z_yqw48t%C!+0hB0MW~5SS?lE`2YX_ M07*qoM6N<$g6G4By8r+H diff --git a/graphics/pokemon/unown/s/back.png b/graphics/pokemon/unown/s/back.png index c85571503c3ad52f8c2dd9740c229dee15b5dd62..bc73cf26db53b50e5e5102b7f53ebc5ffc35f036 100644 GIT binary patch delta 414 zcmV;P0b%~P1K9(R7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)A0D92m?00AsXL_t(o z!|j*BjszhHM7?wh>;FG^MOzm;lZ?P5d)OiAV?9v|p-cJ3n;^iPUL-}pbxFma0z?`B zDL`!jL?P(<8h_8@2E-AlD|9n{1e=neK?IzL(!Mxh?qzKze5VT$cg0O$nvgLjy(#D= zm~!?4rU9mZ#uj)AAeRf-5l+2v@lg5oB4P=C{iV;*PB_+U6}vgpqpyG3VFXQbD z2EeC(1Rd+|SNH`Oy`u^%QVBFQm`DJ&7X6{;;I-UDoHu0*08Bsg4JVKXz&{t>Gf|@ZeTop@#w5fMi_jZdWJ3HUjGFSN@~p(j zc*rE6yLe7^(bLr9tLn^*G0}=61t@ud2vdOG(v!b!IsN~LA9$@E3{Xx|VgLXD07*qo IM6N<$g2ynbH~;_u delta 380 zcmV-?0fYY81GfW^7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC!v5ZtyvlD30whBv&j`qO9g zV`I$st>pB$z5U)*0H(0~5%2*A01;{k1R_<^0F?l0%acf0imnrjL?i?x+QX(4YOtjd z6&Il@%u0V0RRxT4n7Wn31}x%T10dJxmYyPVfX!`#X=z0ku7NPc@h=P5Z z4+SqU`33)Ax7){3)*A1VkQy?F}rfV7vBNgmdg2A!o=wx_k=Q zx3Y(rO73wsL-zFsUFk~{80bXe1dq8tfkv=#^D|%{&m0ihxVg%+_7Gyq@-c>YDdmUT)0)P~>U azpN)rWZ{lJ7pElv0000TE{d&LWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{Q7LFiqoC}g&I9w978;gznx+zc0hr{`M1!w zC;yh~T3z2!(lXV*XMxT6Bknh*+q{g(JEZ8#l%B9$)<);+iwnE$JaimV3NpWF2JKi8 ztSH8uxM3CNoW@D3j2>`5;3!$Yt^LCKTJGhItC%aF*j{m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCG7ywTn%mtG6V@=0CKtKQh002ovPDHLkV1l5l BPsacN diff --git a/graphics/pokemon/unown/t/anim_front.png b/graphics/pokemon/unown/t/anim_front.png index 556ab78ce8da4ce86441ae65549ff94eeb51047b..20e30043e471f597b1e3b38599d66551d8cc00ec 100644 GIT binary patch delta 309 zcmX@i^nq!Dga`*S0|P@({QL+YWgOrW;>ytdaiXR{ed8xyKcEm}NswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9Qdr4^mrJ02Dgx>EalYaqsQa-9oJf94?nt zxc~fTk5`D3*1mp7GTs0D#P9+h#g-p7I|_{N<(|uIoh@E?zF`N$s+PVKFAH0-ifgC8 z*R%fHwBQ)SJ%PeC0xM5^xZ|3{eg4Ot)bey*>wQrUQb7|w7O(BhV%_oMYJ;aD>)*c( zseDrw2zRiSaJ4ABJ{Mr2xnh^$^hVu zKS{RW`I3C=dcypt?f=#PE^ifZ;!tdX5b|OV*=xJGh4z^8r2sv|;OXk;vd$@?2>|FM BciI2| delta 263 zcmV+i0r>v#0>c837!d>m0000nF)b?^xlU69E8A?6H3q`N?{@z3w8T@0{f{zxnt(eFS)kFDe~&+9-F~B z0!Xw)?n7%aoJAhfFgZjzA?#XT>5R*ohTAe(TCgR(8_ft1wTX;CAr4P2LIL;s$c-+- z;;3T=a?H*F#%xScs{WM^Ox4YT{j9nUb>|s__vW+bf*=TjAP9o+YhD}jQh2j~a7q9G N002ovPDHLkV1hDya0dVY diff --git a/graphics/pokemon/unown/t/back.png b/graphics/pokemon/unown/t/back.png index f840953b853137522c2587a9df5fd42cda199eb8..ed0a5278c4adb1f7b93febed51b4f583141534c4 100644 GIT binary patch delta 301 zcmX@Y^nz)Ega`*S0|Ud{?Tv4MlyQJhh%1nusA*82Wxn1V$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{QB%cYRd|MLc2X(977@wznylGuUUb|wN_F5 z-T(Rz44YfE)N(uZPFKy_>#nh7SFWSL9o9n5(w|d4wFCu9PVjH~)E2;b>;%V3A%VB` zCoK)cH!kmSopM|A*7bX8C-&?As1iKA%Ax+R-s8VoR*#*94{iOsk^kX|ZpQ@EEj6o} zkLEsDv_RB>tEa7wp=i@gmM{EAP73~8*>HK!Q;7}R7%q0MW1YkEZD&yWNyYp;_d1a! x*&7aij-A%#_;7AlMA!Q+w?E}<2Zi@AFsF*ON^Rr2tqt@DgQu&X%Q~loCIFVBc=-ST delta 264 zcmV+j0r&ps0>lE47!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCJK&Rjch$v*I_K0-2GVra4Ud|@|POOlPr%lpbTy_vmp_=khExOn7;>%-v>Sq z>GlAW0a$GQvOqvsE+r5qpR#o+N*JpW#l|p?eh@9f4gih-ZijM|fdj%?$!6oqM;;5T zAw2_t^sW+6EZ9z1c|!yO8E^n#NOQh*mVer0kqEJrR-Q*fYjJ++r}Y9+BB@Dg0;$FT O0000-t(`RD@1QTh$+AH;Vpco5&a?z3@rFNsa@|LTv2z z3f3H(?X`I?MuwXfvUDh|=8$q=R^Vod=XY0lr|mIWm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC`@Usf{qh)ggF+5wbzwxq(+8tXA};hscp*W`J=D0BhQkM>rMC3QXGpKslBL jz^ML9^}iXzv+r;LZ)Q)k`%zvl00000NkvXXu0mjfYRE~% diff --git a/graphics/pokemon/unown/u/anim_front.png b/graphics/pokemon/unown/u/anim_front.png index cea47fd5befd2407d0a9e858284c34a53ad394e4..7e10c04247bcaad1a0668b1172fb88f273cb759c 100644 GIT binary patch delta 391 zcmeBWKEymhLWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SU!Qa9yzX+K9#Kyh$B>MBZ>Jud)~dkce4j1& z*ME5%6UXznc^~Adl`nSpT#>tSe!tcssKhojI_W5c)o9>nwj89k% zSnMvZHf`qGz2wDhwu|!3Wvu(`6@SfQ47PI)5Gqv?<4rp?wQ6eMyofjKp|VyS5HLvo<0 delta 338 zcmV-Y0j>VR1C0Za7!d>m0000XfRJ#3v;1(YkNS>N=MvN^5Zwq2>7;FO~(zyk{tP)xlJWzj`v0kJTO<1qv z_*OFHxDJ1Qow|+s_sfe&O_DU*COtaJuGKG0#qRa%jq_U@Qf)fOXEwGmZj&}TotoOZp<|$ kgj0XRFbu;m48wQ^cd|fxbJDc001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)NVm)gw$00Bx#L_t(o z!|j$!a>O7EL}%k_q5B_r_!%0E9E>ZoqIYrVha^Cn&u43E>lac0Z~QpK=^Fyn3oq<0 zYB7t`?xiaTIDgVY9^Nk^>xAGxj$@sm3jkj!fuw;4DD?u0wwYz!?Bn0fP`I0AARJKmauZurlb1&=H~^ z*NvgIb?1qU!mpvn#-a^7NazfIt1^0)omyohV)6JHUm|04DrI zKo7u_pPo@Fy_5qvTO{TuQaFHoBkGvJvzeCe0d?r9>4Lr+NU_gOCyaX9vnhW?Jf85W nbhVsozaBBbk6~+T>tFQ+te7GA%%S|Q00000NkvXXu0mjfjd#1t delta 395 zcmV;60d)TN1I7c87!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCq5_Y{};I=~ow9pFcnX1l8ljr|2 zM3?0g|290#>tc0s4#YSGL_jho3P6{#r_9{@e0U%8PXm{TQ>S4Q>#!b6@5lF`6ur1YZe8Q@gwET&`9lunX|CRx;kthHF002ovPDHLkV1j?Er)>ZL diff --git a/graphics/pokemon/unown/u/icon.png b/graphics/pokemon/unown/u/icon.png index 3d315ebf2600d05cb5462270eef9ad7801decb66..dfedcc8b5898c4e6a5611cda1f3367fd0c58adee 100644 GIT binary patch delta 235 zcmeyxxSVN%ga`*S0|SFkKdSsxXS1{N9|^qg;;~yhIm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC35mKzAoj_o$2tdlx{Pza>2n7CE0> zK7bMqhJw~oUOjk^UZ0#PX`9xOLWbczdg?XAPxQuM{>EUbjTiwJ_EL12Kvg(Tr`1$J s2@zFPW$+@v(Jga`*S0|P@({QL+YWgOrW;;PKZFj3Q>-r>&jBS0a>k|4ie28U-i(tsS! z0*}aI1_nK45N51cYF`EvWH0gbb!C6f#?G(L9X;VyG*IZJr;B4q#=W;w5Aq#W;Bl^I zRR8&(KTc>>-d*1CTZx}`D<&o@G(Hw^>X)6WiP*H&J*=c zzTV~cn-^ybFJ|4hY|{8!9l^J;w8`*~nf$wIbB5}y2j;A0n#FK9Ewolk$wf^8E>8|*&7xw2YQ>q)78&qol`;+0N#m<1^@s6 delta 299 zcmV+`0o4AM1Lgvd7!d>m0000INci!d ze=tT-ex(JbkTVpF8Q+h3ed)c&2+bU;f_CZgB;iptNPVCLhcVO>Hh;cvQazvu!u6a2 zGsE~zFyVg{!L&$~^V5lIfh@|BfHfeC2*A!jxQv*21G1PA1p_nDuDKx%9m8jkEK(o4 z!3k4rez*3c001*kOjJcBF(Q#EFn`Q*v{nEB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)VG^ndsO009z7L_t(o z!|j&K4#OY}1aqkt_WwV)=2;-2vB{|wd#WO4YB|R3aqR5;WdPLAERlzxl6Rgcw0p%k ziTCmx3SN#!Lw}-OiZ3B_0wUlosa7CROt>6J6Y34ZXT0w&bp{{!6aG=~)_^FuJe3T% zeUl=#l?7D8Fo}9T8`^0^ za%%Z%sMjgsdOlBWqMF5ITy9bTOCe^wtwOuc=D4kY&1E=s`_O8T4#d5>Y~Vvdc=Nr$ zXowx`H@itdfAO1OF<=X>1Tm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCOMscOob9r&r$;$KoL-;g+3R65i~`*Q+Z_rkT44}i|zR}12=Qw z^IIsIpx#J+4=8h2^DrV^01`H!S7U;$haQlgUqwmhB+Y*UVsG3BaN~h}pSd>-JFb90 z+5&oj%&GX@aSNO4mF)RK+R>HWiIGn~R6X=R`aS&s^Z(6bZ5?fM00000NkvXXu0mjf D;U$?O diff --git a/graphics/pokemon/unown/v/icon.png b/graphics/pokemon/unown/v/icon.png index f973a3d852493a477b7dcd4fb5518134325116d5..b0dadd195781385a1ce7b79316fe63ae3332edfb 100644 GIT binary patch delta 235 zcmey*xSVN%ga`*S0|SFkKefG}-3RQW!IEHu}e>>Tb?|=aZ^Wp<} z|Nn1oy^!ayeHHV(ML&cLgtB|04=A7XU5+9B1zv?_slf~|mR)&b6J#@#)g(W}+d3e*0k d1L6KltWr6=cPG}!E(SV-!PC{xWt~$(69B(yQ#=3w delta 195 zcmV;!06hPv0{;P!7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC)5=HD#(;!ZA;io%aV`Dxi zB1(|T4v6UXp@8ftcyt1=JGUZ|<2~iZ0|Ww@;9B2G1A{Xv1NWZF0nHduTA-VH1?;@d xS%KxK07oYjFze{Ostqg!Y_)$||2w?-4j0N}ZjmMYX_Ei|002ovPDHLkV1lWAONIad diff --git a/graphics/pokemon/unown/w/anim_front.png b/graphics/pokemon/unown/w/anim_front.png index d34a16f0593b63b64ae8404afef271591bb736f0..64f472a8211386e13ef9c112caf3783c852efb39 100644 GIT binary patch delta 346 zcmaFOG?jURga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzdrA#&;EHpp%3!b@|g` zmfQ-_nZ_=^H3TXponLu9)QTR`cxKXa3FapB-Ls;CSbT n#U4MZRa*p{I20koglCNBqqz@Xaz5n-^fiO0tDnm{r-UW|JJgDt delta 304 zcmV-00nh%G1M32i7!d>m0000kRQ}bS4l+^hSrZ$~aZdqs!;}T^7dunnh3PK~$Hf`=0XAGd!fbyHE z=&m|jUSW#BLI6dWG(U*4q10lXVHk#C7=~f~9aj{N^H<~6HoJrX00007o diff --git a/graphics/pokemon/unown/w/back.png b/graphics/pokemon/unown/w/back.png index 3d42e4eb220dd2215f82633335e114012351da5f..170e9f643ade1b92ce66258ff4bc253dd492d16d 100644 GIT binary patch delta 363 zcmV-x0hIpw0;U6y7!(Kt0001;w}I>c001*kOjJeiv>TBrFn@ZiOi%y-00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)ZY`X1B(008+(L_t(o z!|j&I5`-WOM7>x|^8X(^1aJ&sMV6YyD*EQqkJw>x+m@D=9w7#J&hKc7fPHt2-vZnu zz&Yvyl%dxEyMHZJ=oR3mEs_}_15ggQNp&9JTmhgGV5cgNKMo)Zz*IbEf61(Yz5r`t za0cKcAo~JqaY2>9e)yyV5&h=O3?+nDPCFg9LPTt@?pT7%S0d@DA^<1KB!subzss~z zgeHF?&;=lNq+w}F^%6i1pwy7IT>v3Lok1MEd1uHvpiBVUa{%~90Cxc{2z~wyJXb(P z==OU67yjN84*W*&h(8jP22NNg1jbJ21A*}a9zp9@acSurdI5h97yd~~mB;`9002ov JPDHLkV1m|oj1&L> delta 319 zcmV-F0l@yI1Ns7x7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC RhMNEY002ovPDHLkV1nq6ged?3 diff --git a/graphics/pokemon/unown/w/icon.png b/graphics/pokemon/unown/w/icon.png index aabb0663e17c3b92fa2e8f06466bed9ecfe82772..285d71bd51e4b791a82b1fe7df49ca1f07b64f92 100644 GIT binary patch delta 243 zcmZo=TF*2=LWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{QCScfAySzLQS47jv*e$-%j2rbU=Z_**3xd z-~Vjst={WbM6YL#l&Lt@;GVs7f0xabyOj(*(fPNycI?eekbBCh63B6zd9p(9UEA&u zr2|)(7o7fEldk&Y{X>BXSF4LYa|o6!X^7)fVA?gGpP5O6VRa&xLi^!Y>ITLMoLep) lU8a{5uXpv=bs(%?&Fvb@>ub=pC=2Ku22WQ%mvv4FO#uJqS8D(O delta 201 zcmV;)05<=x0)+yQ7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC_rHsHfEGA_Oq@)#uy*B4H>7V-`jY}Y zuP}8`LJyo5IcZ<#9R{&7YxO1p|}%J-0Z_K_x$%oi+BZSnWCue zjTK^@#@H=Nan;Ljv~UAv_S~lBuK%(6pF^AW)^m6R2GnQ=0Q-@600000NkvXXu0mjf DYtB_3 diff --git a/graphics/pokemon/unown/x/anim_front.png b/graphics/pokemon/unown/x/anim_front.png index a75ab916c2707df9434e23dff44dbb2230346d11..190a2c47132534498e699f41ffbef608cae3c918 100644 GIT binary patch delta 336 zcmcb?)Xh9WLWF~vfq|hXetrayG7j(waV=OFI8oD}K9lEkE>MWEB*-tA!Qt7BG$4nw zz$3Dlfk96hgc&QA+Lr+Z*-JcqUD=PrM9Vm3q)5S3)UZ`Q)(0m9w=; z3+m@B344Dy-PB>x!)cyDQdUbtT|{7~O{ z<@dsAl462IOdJC4Ta|QpjLN*OPG<|KB_0-@V8Y$e(yTex>}s5=Rcj76B(H d@r2)ofk&U)sHytgT%cbWJYD@<);T3K0RYJ7f{*|J delta 285 zcmV+&0pk9P1K0wP7!d>m0000$SYRPAjo^L3j0kxGFAy>q%WDgOKViQK zb1Ve0LH&P6%S{&!gll|we@2q(Zsz7PbfYwcahd&t{DFYvDIEwFsksl`APRL;w;D2w zA*-;|F{3v;kXpF8UUw-pW?>9>ss*YK22l_`t;J2z_T7>Y jQc)B|Q4~c{{*otrsZy8{f{=Rv0000c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)j>@)IEd008(&L_t(o z!|j&A4ul{KM7fx0=l?%=p}2|)vDMRVn44kd1uL|sG&ME#w*v5BsWFM_zy?*`60j^X zutA4QXF%5m6@T#nq}V#Xn)kdzYh*4P7|K^`c4jN6rd<0#-iloSgnmV^#GUy{Ahi+g z(VH)X60l7-1b;r++sk5KbSEHmp09vt{sagTtb%O~f`G#pcv1vRKo7v!Ny57gr0pU< z-N1zq&*N~N$!H10GKV;a-M-scx7eoA=-|#<`@^1wHA@I5Va=DOif=rDZo;0g!*HF4 zZo)d5I)lYY$bdofsDyjKxcL~tG1|sQ2ENnu_6K8XYU)?@0b|P-<1;M1& delta 317 zcmV-D0mA;J1NZ`v7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCb)Z68cYOE04GSy)`^m!$u}u zcf}b4bor%K1&mna0AnTSeUURm_*5`(h!1}+2=Zuwa-BJp1guEtd?pe}0#?x65352Huwn;f0XMM$*f891>!Ag#Gc167 zhWRHTGypgNB?J4Msdd%%`w1Ob+5`>57!s{@nnZ!iwIyaRDMsE@o6FIn6BOX`(lQa1 zB}u^o?hQ1*N=SktzpU4Ek^=f-O;}L_Z<}bTUVI^2-VO+t`SS;I#TnuWg=@2Bde2Te P00000NkvXXu0mjfm_~ze diff --git a/graphics/pokemon/unown/x/icon.png b/graphics/pokemon/unown/x/icon.png index b5be9e10ba825d79928e539e2e52c2b49005fdc2..5ed41d519490985409300a987c15e50e2e9272a4 100644 GIT binary patch delta 240 zcmey*xQ1zhga`*S0|SFkK=?v3e|hMIEHu}e>-`%*Z~C&=W34X zPygd@UnmoawVvR}{_f$@o$D_0t7gixCwXfyy!73CF7;5P+^OSS3j|ayhy@F9vMJpN zyn4cCM)YxBm6<2Y?lGk-n0u{(k70GYSb>A7EBl67)29ob70cLLzInNR+)BRnVJzS6 ln`O#-{vQ9A{6GE$n_wkRB*R3hSwOcic)I$ztaD0e0ss`9RUZHV delta 195 zcmV;!06hP!0{;P!7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCBNPLaPm|F*E049bGWLg~u!XTky xXNa0Wl%*#zaLJb8Wua0Jpu$({kHe#JI00foS}~VOC$0bh002ovPDHLkV1k6-PP_mB diff --git a/graphics/pokemon/unown/y/anim_front.png b/graphics/pokemon/unown/y/anim_front.png index 8b5221943f475e63ba639e1b5af396c88d0bdd08..ba3e6786643349fa72511123042d737f9d623d0c 100644 GIT binary patch delta 347 zcmaFNG>v(Jga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzrK+DZ>QNnp_iU6jv*QM-cB(TI&8qfa@T|X z`+s)!3BgN>TDq3((6x~~|Av+OLMf->k@?P_9v*GBKT}w(dg#6QeYP2u94+h)KcgAz z!)GmtX1luH*IxLL)YA1VZ{(CusRzzKm}~FlQGdo#X_e@Ne>xlLnJ%)+fBoO$%G)cn zh&hr$JwVljY0;a2hw6;UQorVJ@QP^9=ry~dleG1sRO|`IRkjXq9h3RqwQS{+wHN*o z$ND8tw1M@)z8OZ39L}>SpL=)g-iQyZ!>th`njxgN@xNA!=Hrm delta 296 zcmV+@0oVSP1LFda7!d>m0000m7@pSdn-R#|Qhzw_d}?JdG1;fHf&hzki!A6bVhiBJA!Ad(tIRxRXih;B zzl4jz9=Za|q1}NkSRoj&#Z+q+3|56)Cpt?FRvzC9OssN-PT2DsAH+3q2jD7Ml#oi4 uEDEypXE~!A`A8uYMNt$*Q55C3ya2NNS4VOi+6fE*00000fhdP1GWQ@7!(Kt0001;w}I>c001*kOjJc>005CGFn>ZQns5LB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)o){BjKd009X}L_t(o z!|j&M4g(f13pqp50Q^8ByIH#t|d_nwyQjU)PRRX;EAhP6V<|#q0ixvn% zG$#ltfbkh%VSg-`fE6vPfEKB%20U$eVzL0xP;Q}O<*@ajfO*wlYOuyOyQc&HYt8Qj zjpa^;TlXu${p8E;2v|Q$mcH)V^+Z7AG-3h>`UgOe;2Y4_AP5kCRb&$i4xp5&KXei| z6DW|q1YQVXzum{d9|RaddVADg37x`zC3FZR{2d}`uUrVzMw>)(`NR9X1E5WSHq_q- z>=%)F=NQr5-gC3o-C2k-2%A)F))8+}i9+0?j(7?gKpl$UZ&U6)Xyx-ujpSV(ejFWr ZuO1vt7mdVBD?b1L002ovPDHLkV1nwLmc{@8 delta 345 zcmV-f0jB=81C#@h7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC2i|z|x(hzpo`9J}q!RF0PNC#sHNRMAt1n7+g zNTvXUMF4+wfM6k&2514vW*xai83@q@a6S{MqYTg@4rjeskOr7y2WVZw3Xp3M`Dd>g zIAC7m0?<9|4*;i49~nR%fT4kHoy@FoTJ;VH#MOWUWQw!SbwGd>(j}K|Wn0q~7M^UuiwiI)LHI6O;C192`H*d<{jY0C>}d rE^>!EXT*d!@k+`(YuWJnzuu?^5jnBbuwlU_00000NkvXXu0mjfrtXr2 diff --git a/graphics/pokemon/unown/y/icon.png b/graphics/pokemon/unown/y/icon.png index 8923810aa1ec99601ee0b81259270347af0b058f..38e5549d028997cc9ef04b3596947d1fd02e7a2a 100644 GIT binary patch delta 233 zcmey(xRhyvga`*S0|SFkKuQN>?Hb0%moanSmgWvziqIv7x#6x|1 zywZ9ntulJRCcxnS;K#QGk_MBHhu?|+#P|JvWU9m5(tGI+F5W*GPPlA&)H(a+x7@$m e|3&||f5~`g0{3%=b*3QCFnGH9xvXm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC}sL(BqQ0j5lA z?}tkq=Kqdiu5RgP-PM_^XmC9vMD7{m*@%aqu5g8ADtzv!YC4y`@^DP#y`JVjQvVXw y>^_;lv9fF~T>9X&UqU&HVvB$i2b7Qyy>~E?i(|p*FZDqGFnGH9xvXm0000G#cw%H>M;{UcLGFVH*woIUut>W{ z?o&5RV9az!Se-kzd)PU3r|Zyu3cDn?vI7E%jw28liQNsgpez?SB#pAwHA8z%BT_Si z?m5chfkDk&7TJJ7z4ivLO*9o;|4Sx6_!*2c_p#FL(m- WMM^o^8(TU60000c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)v=pVv45006^DL_t(o z!|j&462l-21l?qW?*BhHLMRT2-RM*>p5gjk!|^c3v9t4>hzC5ct%o)k|FSfd()XK^ z0^@arn?mq(iGLry(0`HF#XL~ifQH5h$n_800!AS^#il~=zI$0i=l%S!1{4LofL}q< z;0rK!kQ6|#LB=3ka91Kyf}0`a`1vGK1GpH{yb18fr;j5}1sHx9rU-Q$n&Kte*EUWZ~>iUlo`Te`Ivlbw40BIFoCtO!u00000NkvXX Hu0mjftiyqP delta 289 zcmV++0p9-b0^9m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCb)XyjZP-r5$OqtyD>${ZAn6brT&6cAu-gepPs+` z8gtaoikK$|IPb4_BnZ~dBNli800j}bfe~(&8wyzkC_odSK1oj?9l;VA?UCVB3}6J6 zzDU#wSNngmL{%Vuu0+-pF4z-Pqz*u`0@{p0)(jfZ*7yXrXShEA-XRwSpbs!^1209^ z4r9U-3XoQT22f6|uO7FVax3-17-|H#a*c?r_iGGxK=8%G+5L2}ATkyV=khnf&*@@u n0t#4QhTa~OkcEamTas2IML%stBJWR?T z`2N@D-c8fHX*Bbyx}@ahYcF>F(K_qM)VN`Zn@qR~Q@Z#}0|i$3wulg>h^ZWlm#pIX zVZ&g-bo%z;{|9rA{VZQGBmBAG<6A8J3(XznI4&+fKC8<2@A7}a|E;SSST=C?PR(!- Q1zOAC>FVdQ&MBb@07-vLmH+?% delta 184 zcmV;p07w6q0`vip7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCZWs5i#cWI?Sq-+^%OWBL1JPlDCBJl`) zy53<37?SR-a-;9_@87=LMc!0oTjY~{G z2*AC^rx+k00PsT=Ju+Y*&9DH@kg$owl9eXSHCFbCrzBG#F0V>ACAMf|azqGxXZyMk z0Hx|CKso{N9z4JovVj`j z0bO5W+?)k5*y%ErRIUJBltb9P+5#7x{a9OG1J-u~%%xOHNvDpt6ZYRNkmEv8xPZ_a z<81THMV85NsUDaMoP{Ytz^1w8{6-G*v4X6$*0M%*|d=3Sy!_z=nXT zC@6z!EP-*``M=o+o&#;C9@`YqnyB-Ag_CSn!w~3D(@I=x!-Yw4?)nV0qVEF%`kxS3 zs>-9y~8Y%I9b2`-T$e602%Bz+Fe;G&j0`b07*qo IM6N<$g2$ig)&Kwi delta 479 zcmV<50U-X{1hfQ@Uw;9=Nkls_3XIDzg+-01uK`}gllCX-h^V?~Tj*!&;hES8a2J|ZIK0rBy0 z``p1Q0tD`BoMQqwfQ;^+;(!1KFy~@<&wzt8!vZ)#B1RH#;(zGU++t+SH@?bWsVseYF`b1pBepvI4B%8klNrjL|{u zuLtaZdLYMzq6h(HEymg8nX4?*!!jK(RX7V{f`C|(Diq|h zo|~002ovPDHLkV1iNn<%0kK diff --git a/graphics/pokemon/ursaluna/front.png b/graphics/pokemon/ursaluna/front.png index 954e6b8020eb41ceb176a1378a3d02e0859ac6d2..35b3b4e0972ee87467c1d86c2745bdae42362e16 100644 GIT binary patch delta 951 zcmV;o14#Vj2Z#ueUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;eC*h6oe z000APNklljA6vv&2N|mQxl2XYCsfpVlRV?wPOPP{hg%p-nm0bw|1Hv!J z8;JV80g$CDgrQ1;TiOFEA;i*j?Sx183aHA!XW%{Caa?Fw7=Jk>a+LSe`@jFYcV|ue z{}y98_P6l7S z;nPilW@YY4k@GqdQKHrQzPBZPH)EoPaU|yA6k-YBodj44Fo#fUW0Tc(XIRUhiz+jD3=6~dN90yNSCjg@oYUpCMAzesT zP@UK;6>kj@u!g0Ep8zfdO)qVfQ!mtOydW+ARziFV1B%R@|EhV zi&}97Ee1^#X!Y6H#zM(~N8i6iCM>Ek5amD&SPJA@IP%+@by2eT3f354ex+DB1Dr}* zZV0TvB%px#aYBt0&~AoyXyZn-NC7;93OomVz<*8;hsR=x6u@H(lzDn>=YtTmB#qwy)P5@2sUmvnU0-*mW?syYG)6rHInB8DF5*c7> zqZ}p18r(h`FvlfeHXS+*N5G&IY|m9}3FjpqymJ6)Afn2#P<*(?8g|=9#WDh1UyX{I#aj-Q_+0}-j97ZN$|RR z_6h+_>8z)ET72L64@N&@7ka0&+v&#H6n>w_HKlUw;E{NklXU_=zjuK!70PiO>$|;28V%F z8(KH%)mE8+HnbaXBTxpYfa9X<+5k&8c(B2yr<8Jmy7;n0i3~OeiWkC;{bifn+rCPc zYyzws3+{Kt0s!6h05JxhJOby@`alIm!iLRYkXBGOG;N3O2e~fp><==X2ukub-Ln!U zxf2ABg%C;w41fGWNqoBZGoag8d0Yi(6A>5MZlC)5D#!o|(ITCQm868+KzySR=N=`H z9oC&jCjp)y;wct@wv?>fu$FjGV)UDc$61qd8+a$dSz&;6^t(A=)Fg>5c3DveiH^Q( z=78W9T9jhDqxzVxu$jlKRqsy;aHh3RkOF-SyM8uk=YM__{Rs?6k;-_2;c5m{FQVu@ zjiEu^imw>((D!nnzT-ww#65Cc9ss)N>$;T<@`3uk2zZG4VJLf*R4;?)Mwe~^2m($h z!emX#aT>GSCWn2s$G|o;XaoevMgi#TT|}2&3T*Y!cYP`4Mo-KKRSmz5qQ7`IX`%$6 zo)93%8Gm5^{=>z4?yoId)h&t`cFCYO7V{WuH4lIK_#qDAaF3y^hjJn^pxmP)f3Vk< zH3zn+$B^o4E$Ri}Qn_kZQU^8z6{=4s)XD(ko5+n^+K3)Ipl@-5p8>zoq^Hw!xxo(T zi#0AFtV#xq1?kiChIoAv1DXp6k>@mjo&It6oPVBLyipISJzmQ>V3^~3Q&C9)${*{V zp96+Tv5LU*uAn1P02X%ZabfDAKNb_=^%+>s4xK?qz~U0(q_4#WotNa`eFm@xA-bLz zB`??9!yN?VSSNs;DyP?h=lr_)g3TGSt^J)e8a)ZHi-kY$V^i;K$jgB!xK~9t}rHHBG;#$(Jg4H~W@AfT p-L6xXS7-Xw?K&G4?f>)o2M?r+-6EnFVhjKP002ovPDHLkV1hTjw(0-? diff --git a/graphics/pokemon/ursaluna/icon.png b/graphics/pokemon/ursaluna/icon.png index 8a847040723b11ea206516b982e2e7dd9791c42f..e2689cf35006488080ef257097257738e7f1f8dd 100644 GIT binary patch delta 55 zcmZ3&yq$SMi8KRyiKnkC`*SvSetm`SI>OQn42)8qE{-7w~G-%L( z_tcIFS>!`#Km7Ua@)Ur^;3fOk-l_!;coN#9$>fjm8vL(GMOwV zfCb`<(%Gl5fBeoeSdX*&3^$5xR8v{`;-m@V7$G${_-y# zSybW=1^@+%J>5$1@alRv?z4#DvHzkU-j4uk!58l*;|m@EO9BW0Azg*g;Mwx{qAvhj zPg1}+2sYEBv_=h|$6eb72R}^-Fen44=7r(Hn1*Y!co^)Xa4S z2AXFxfQ2}T=wt>UB5)Z&DS)fE8J)qxrND|=>bx_yGbjZrAcjxkg*kM{wOfJQ9F;;m z_pnQV>>O?pu(~q=QUtU(!cw&e{}44J3y`#NA_M5SVXY~^Cm~&VYw4~WC&UF?25@&e z?0>TF`<}-EhZs44hz+Y^rC_Wf)eqK|`1WPrFlzLQfF}dQ6nV(N^nw}>AypuDs5sLe zs^={hfVPtzl2sJLlODstsQtC!%g?2~GHOdXYz&WEnFZoM9JY6ca)I&lC1mT3o8b#N;*(M*@H)-<{T{>aU$0e!aaV9HzXe^ubZL zMj&1o>EN0u^oIM zLO8X%*r~qe=@yG)J4FG(Ld7h|=6~L(HwJ+603MpdDT64mD&^|QOX>0Ay5DKhM^Md3U{jd@1!wHxgv%R`p zkccrKq6ag7z$4mJ`tp(D^Sasm3DTpv&g*|ymLTFLM>hj-d-|EB=@T;puz${eW@Y-_ z0#GO~&E(8w9#QlQ6_0k9>Os8(fJjo9azG@(N3zTOLd>xsxI&if-9#8eK`8eNzGIkQ z#Ij^7rFxLY3qz=dv)xv1JN>)22uOC0;taWZ>XZN(@9mWU*`pg|fha19##ebxA7lg3 z*gnbVg8|@V0E1*3{>}m<)=&$7&ExvOe8Vi!3!x8QIUs)X?p!xyK+*{{-l-Wtwg>Ja xd4I^-gXeiUe<;{P!5<3tkoSk8J^UAc_y;~T6b?1oc%=XU002ovPDHLkV1iBM&65BC delta 1470 zcmV;v1ws0x42ukqUw;LbNklfVu}g#;g}Cw6gJA1oPo-h4H!V3iMwW6Dh7GF^GMQtjlYf`6kiR^cEWt#FV7^dFrX z@AFv&JlZ;3$q}`F#5sTp@#xOcx7ajXl&&XZKJA8_1<@ZLC-a+dk9@ z*zy|D-R}gj^8LEZrg{E(d|Cqu9Dc+3N4p}xU|+4&d>O~_O8}AN#xI;lB8TeM{{FlK z9)zF7BVPgrG=F#`W*SF~&5I?BAO8GyaRNZ2|AKzCHfzy6k%aN!^74<-Yng;@Vyp%6 z3_bo;TV}aT6>T4+Xo7`{(JEp9hj4j7x~K85Rflde|L3#EdX@*kgU-C zl=mfIy}7#n@-N|;*VKgo;NZ~Ptwi^)t_PzYd8~l`%YS+JJQAoyU%a~_gxn}yxJ+i;skIx-FNYiful;!kif^BOaP_> zzRf6ZYKZ_$F0Bu^Kph8dEe-Ts;QZNe7$YGfFne6o6vMWBm;A%w4(IjI?y@jd^j&6o zxCAHXvwz`pj*rd4bTx}K?bWA4N&)|all5y_h%Fn04A$FN&&3mW`BGNa~BdTW@(DaXs1vLR6s7D_zN*i z$k}^=T#QP=pL^LQKsJV71f0%PfE58lc_>wfiHqzRS%8gA5E;P44eLw*5rm~;7|it3 ze#U%o(*W*HkA}lA3<3do%*p{wZde^V1+iADe~>MR?MuJVYjul2kOr77^GE}e0bMPT z>VH6JRc|sw4}$pu(DJfNQb)0Z)N9z^ZhdW~nu@_%OWUnf4(o%Xl}v$z_Xn-5)X5x% zxt^qjgSA0^EJqkO`){y+tuIQZX7xqUa{8jgYU(hUnu8J`_B8)39tiaXoBG2Ysg8mJQW$34cy3a?=3)qruSABN9C_QB+{c1;@SvVX@?fbgd~*oCogjsc-h2v7o~zjNl;UDKI-cF~YL zt2b;Y`EU%jL25549MO=NH9JHdO!@(jXj|*0kCagK&E`+)L*da}7yW-ySRrMd9Nh%q z_6#$n88SNq(Bv>vnPH~@@pSQ zK^=0O6n@6&+r;QYfgsi?WGQwG=?f*63NfTS82bxL=#aPE5+$d9HqD{{$;K!~$n{gN z1jy*#ZV8Y*y4Bc38)OxTA*wtlAJPiMpnZ~&4;Fxz0W6j^yw3tm$%}9`5b}ZaMhY0q z3n?FhazNgT=|XO#fs~xk)i+Mf0BQ9gv`Ah*WYt3u1UdasP!9$DP*4wf{ZLd7|3yFi Y13okq4o=6c8UO$Q07*qoM6N<$g298x{Qv*} diff --git a/graphics/pokemon/ursaring/back.png b/graphics/pokemon/ursaring/back.png index 8fea60bf09d7e7fdbbb5c4da4e1734068a13ba2e..95001242b5aaf0f692d18b53e9139ab1adad9b42 100644 GIT binary patch delta 497 zcmV69~5!2P{DFz&lQ(2LM*$f3(JPb{n0G7BG#9 z^|;1);D&hjagYgMjzeCv3QGcZ7uo87HxVkZCT>#!(k7?{#sswhdAn}`kmD90 z7Cy#(3-C2=A2pB+CI)(9A%DgVVH8OqH-Igu!WaXe0(L!Snq;V+u}4GJS8ZJA>;cqc zTt;=LK>RF^7{%jme^85pW;^bPc3$bOX*$ycy$B zQtT%5XeUax^yTG8+fFu|j;&b0gz9u+ddAou=N{ycsFW!aOT;E}!500000NkvXXu0mjfmmSft delta 504 zcmV(JfrSOLV( zu>y$u9v}+W`>_Iihd@CU;HpDlBntcyZU`+&1F-{4NfYiN@WtTJF;}ER{Rka3dA{z# zh0bq49fNu%2MUDm@(qJ}xEth}pcadufmxok$9y}{2BTVm*Dp1H`s>C~St%AdJL*@LMcEYk^LK<`Soqw-iRL zj`pypU;|m~)^{{BCCJ+<7NF~94Vz=?C}7Jk0Dyeuyv<;H*b_kBnwZ1fV;&Xx)S5kj zSf>Ex08b)U9stHuMR*w$cnL`#*k(y2remN=0#1T?8PA2;N%$+#LM(%A8HNJf&03xl ufRg~mngrl7piBXO{4=*W>@T|D7ciiyhclp2RS!tLJF6-~qaBGw2YS|G0iY7_$n)naC;(bjHoR2*V)ONS}m( z_y>@*IRjCD@;2rcVUWK6JH*`LmoQnO)sGS^eqcgh`2pXywIA^A7ybAI;s~-i`Rjk2 P00000NkvXXu0mjf)l!WQ delta 280 zcmV+z0q6dd1MdQmV1N2aL_t(Ijn$GdZo@DPMSTMzOUC3D8SS%p`DhnvYi>|D7ciiy zhclp2RSMtD%8z3gc0*o-oFA;#Z99-QVoP#g>aVkpg z)&eGr;7bqi+J~G61Wt>Djg3u@SAV#yk8A*;L&ql^HH2Tf zcOC|(SH|>nEg$v@#7z%7?2g*Ekp$XL%?N?w6}xhdqy-CTni5oDJNf@{en1$Sg)u9U zSs3Vyt8o&>fS0upd=duY7a-~53`E`J%}v4}t^XN9xA+idRcQ7j2a_Kd&=!8c*LCR! ey!%Bzz5(J0vJp8(-fErz0000 z&+$T)1sV~x8!}WOQX>)0uCUUj_DRq&SkFpSWk6L?XBx??6@(OTRWJ%SX6hQLLx&_& zN9fXyN&c6C5x&HXt5NA_?9e_$;D|0`XSf&i`xD;5Fm z1@L2kS>OX4&w-O)S4)6t!LEpH38$0E&5{5s0>_ZYzTx~ZonB|+br;$f7&2L4NnoPH zH+Cv69FK$mYof%-^g)%_Ic4sf-4V1+#vEho)6dDR0&E0~xfguY9x}#^ATaLl-ruVk z;=pDaq5x|Kf5GYA22=vraY_NJ75FRCU6I_#J2tx)o zpY~I;Qh;;|lK0u&G)YB+$^vlZ+!G%9-IU7Ru-Ym8vV@xm+|WnkR_?gvr5q@g8JEcB z!@s}5-tU79;9|ijiqwcUeb;UplL>w+rU2QPUd8PYf9;RuIf3!^8ryvVI7#OoZg)tr z`^Bp_cQD;F;6C+ax0|=R07J*@^%S7|)RY475uj#80AiWRR?H5M-_47I#yPFj#F4{j zEFHW#Al|qLa4OHF$(%S@!|Zr-MMFc*^Ns4ozlb-{q)s}!*IYXm&>_jx5xTTvlK-Xe&H;RY7^|Mp z0sek`@7=q12l=l?Ws|7mtGf{>kosnzOYH6jd!k?VxHEg8WmoJ8vE2o*yB3J~Wg+>V z^Hm^}>DxR3azx870W}He381x!1%DkCu!}-LAVwhH)&bfiR8ko8BnAQ+v@HZO2xJyO zVvb2T#PV~1z%v8}sTf>XAm`}dqk#|S2#m>+MJD3SDtO0z@L!ZMLYb%*AbQ z<&b2)62&5J;vDy($NK=!qma~;h18KKXQH_8MF<=Xc$hg?SBgPcXvYJ57k@5eqL-Cg z5gk36I(In&J&u6A1Q0?w{@(4?IqDc8S^)^PV;hUmiv*zakgO7vA^^vA5n&ym=OG!r zF^%||7S~}mFwA&WC)GIs$M$dyU@ZXuGu@Da0IqUt76GjV@U6OP@D5Jq!0C^x6~MG$ zUuZib(&^-8#en63qvWwKIDbD(r`Jn*&4tzlN+t^|2}~4yYp>+O$w(Nm23nj>A5@FI zGv>b9A3@7x%rSO8e4pGZz*fMRd%;JoA!E!40^|Pf?Y){I4s50&8n8wXoE=Mo_p2-Zw`nX7XeP?nKYRb zCu^7;ug*t&eu4m=K`oEK`#4E)4z#m#0KHlg5Nlk-s8|xnNx)-GF@TL%56vigOiU zCg;xK*@lIdugCHof9Je30aATL$d}Oj7r{a4CUxQ~;x%4=M$ju+W9>mSx3}f(cO2&< zw+J5mHDB8C?P9@sjSow}qiA_U;^kub!>KurRhUEjd%ldWw(sKWJIaT=1dMLzon60M zM)bHg>{~C3;HXDIP0ePTv3}LVr zslaX$;_*7*yvrC*L>mL_Rg2)9;Z6po3z$Qn^XghNBT(wO5MxWYQgUY}3yyKjQDA7P zB%~=MKi^pc>gqcxiC5oTYb^U&p{3*1J}!cAeI z+}0WUgzHqlf4QDVNyKax6gv^Yiv&E27g#7~h2}hBEC6t6{aJ*I!g{0#!oX^cEuc2$ z(<^qjuC`+=I$$SrYB^Dvq#>}*F#^pnY$FFe1X^`B#LaZ!vRdu3eMYk{2L!Ul&;7te z@P>5_{PeQ__a+Y;SlS=}(P}d6FoPLcAfa)gz^Zx_6s0>2axAG;7jYzsC}G8xY;!|7h1cM&-3;R@s)4&A`$yT|x=Pz2Lt zg4|x|s%>|1H|Z4jb3)Y&`OQ>a**)q~ISm7t5W3G;383}~f@X7~dZz^79R-3Q1v_ic z@6btre>@GtS<+nje$k%}9lWDYS75LXfMtPR0+OWYRNnv~1v&yh1^Gj(@)Ho7oTflR zD+_`!c=9u50#2CM&c27Xw*FWFy)sMc1-SYRqG)Ri>c4*333$I;uEw|LizowB74I)N@e`qMJn#Pp6qR39g#hQVWB>pF07*qoM6N<$g5`&} A1ONa4 delta 934 zcmV;X16llm2#W}iBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um17t}=K~zY` zb=5I%+eQ=s;A7YVGQ3y_$i&DJKe3^-(LUR-hb*!H4V@I>1ZA`Y9t?D21YFTBGSw8v zb_!7h;vWby8qG+0$tq*CRtB!+A5A?P@Nwte)x3YgriD{v&dZbb^I4Y)gWh}E`*D3u`z@vr&N4IBct zn3T&5rc?hd_hsZ@{Gy_bV0!J(-7t6zU5{3^P@9{6^9tULJB{PY7HiR;S1tb?A2&J| zq!I-G{2I16caJZ&Y_$AiBLCu?R~A6(&j|S#`M)7Js)}pfME;%>(r~*8TS9c^?EmvP%({=6A8rm<5ReZDikla2{KH?Q% zd`BOg#=|P6r{-v2zbS*0J_SMPG0;=~q5^QndP0b{-G&1W-8L-&m-V73vd{p4umlu= z&M}3-US|TQNr>lvn}G8kV>}fdOmI*ygG+`d8Co7-4Fk@L!c;)1S3*o|;YrEey*xO@ zn5)3ZRz*llNPfAu0n{~cRS~~`_UwrqjT^b;U$R;?G}p7Dk=7XC3>G0pRv^U zoaa&;V%*Ugdyo6nxVv4%X~ujN6ekhE>lD09me?p~rQtk(VJrmjXyav!o5K2}45H9( zPi&wL*3&Ofx2}$3BD&zDYib2in`SAn&j|v}FdU-*d<0s3Kf=TG;JRM#u|t*{3#ouK z`DGAV2;Q=ufuDZ<@BQi1Cbl*VL9|;8C(K|*9!O|jDR3D=7n)27mfMG#--M>Gfa`;m z0agHW1TfEk0DK3z6>4+5oq?bdkN~F;A{+}gR5Fbhw&DC>z_H+#j4~K4G_We_Q zJSc)$xw?h->cO+zPnh) zIiS+eGkN=I{WH1$a{q5*qc56!v(SVt>DD)XD)cSydqVyLm0wkbjl33f00000NkvXX Iu0mh|f~MED;{X5v diff --git a/graphics/pokemon/urshifu/icon.png b/graphics/pokemon/urshifu/icon.png index 28f64a50ff0b93a3e11f7d02adac40305f27ba65..e8311b69f17c75e8ba2ab64baaedd2bfb9a3ffd0 100644 GIT binary patch delta 351 zcmV-l0igbo1GNK?Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;eZbCOcU z0003PNklL6ElwTqK>^{7w;Hk zDEmrr+J-=dE#!CGZT7x*!=c^w8=fp50(U8Z+xk&CB8=Blhb)z5s@t#$+FklX?IE002ovPDHLkV1lzDoZJ8a delta 315 zcmV-B0mS~b1CaxeUw;7{Nkl z9SOpUOVu6H?uF-AN+yWUM6MZ-LZVt(DwU9=?!ZuqDq>6!QkP1Ys3&g~N~DOTlCh}n z5Aed0t$$A6oecr(B6aJ~H}Zb^-uLd#ACmOH{<36Q&Ti_b0HC-Le<2`{4TQ!CkT(y( z!YTEQ62)v9fpomRB|jHHDQ_Wg9Pj6#m=i?d1p>oF{bC3JPB@EO3>}CW2z>qH5(w

s`Z15WthR zhU^IJzE*lgVuwfx-lXB4YVfuJrN`K_vK#^`0w(|syo_I!_=F#@2RfbLK?Cf6evAR8 z2AAm4ZSps>A9U7ta99o~0@S}oU_6_(*FK4=2kI>-7IjZFe*pw5{p}0egS`Q+K`BF@ z`?K+?#Kjlpy}ulQs#8v!e+s%Qz;>T8@0Jc!$3uWld#$V5{mKpu3)LOdvpDgs-#W+3 z>U8EREoP$xA*R51^>6A@rZWyA!t~j^JQ|fFWoE%R++~|p7rK#E272hW57cQZ2+9~7OMr*~rAdg?z0WCrzxA<=U;Pu{M=A9z zFV%t_r8>Rny;}jiC?E=jZ0$RMbAK%R#h?n^{8nap>?9p*t+c!|I7iCg9QXtJMfXmJ7LvkL&VQ~~fEpJtRb z0muSS*rki73~K=P2mCT*G=ZNK2@`G(RD?$;{}X?PzX5T1pxab0gpmLM002ovPDHLk FV1oW7T{Qpz delta 784 zcmV+r1MmFo2KNS#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?Ki4B*)#%w>3DlfelCDg-a_Cw-p@fXCy2re1V)Ma#Q*@Da2B^1I1n=s z`1;2s5ZHMwRg)IcL!em5rcaUp>nH%UgM8{Np`Q)`0$Sck08*AQZQvB#Rok@^fMcqU z7;7AHM4@pDX=>}vDPvO|6fhD1gK7#zKxYjg7A?mdP#Y9FWz$`M9AnW@flI00zjW&EndC;Wgt(CHKp z8esqPV+=4gxI~vulfRjLzq`JJ&2m5ypx!kClli<81xVEe^%fM1IwzU{{78TMqV2-o z5Z9oTq0jyKBr0)#@rAkXFNdJ&loRKl{9Xju9x&$K(xGa*2+&!-byd5M?7*;4-8Nl| z6W<1{bG)o>ccIc^ZImFy6d13;OPlB z+=YO$0z5*hoTy8^PUdd#VSKm-xctu|272gq4%Au8_sbX@PXG}CN|O+&cb`+dLF;1& z|N0f+g(>wcFV*}Vr8>Llzl#8F7!ZX*w)P#s_RM}i0yM*fK;TUY0b;f}z}F0pqO!=C zLYC(ZrKDYJ=E;LyM@&$bK%R#h?n^{8nap#79Tq`Wc!}Tl#I5ptG}%ulu($;B*(HEl zssQ+os~KfY0I~oScIn_L!y177A-@b6P2ev@f`nTD72y$LLGlkul70hmd7#@~rG7jB O0000bFgM##;f05sGR!Q<~PLIA1-|zQ*-?wQANk22{O)~9K3!3rYf6d$`Q2}&9IDaPH z&F$en26)?XI$4qHA^=dSo)4YAxRe5S8wy3E-ER6Gs2Ne;T;SUp(932xYCeaosCS{( z#To|fwQ%$S7wO~LK~(1_aJRItgyCxdSV|XRM_=q;(c%FiYdsSIq(j`Ocb%W&k{Lu< zyDtMd{^TJn9xR;Ve_DybtrU3kbo3E!9V`b1Vcg7u{EyM-J3wVQu&k)lC`ds2M+*v2 z57wj3^EgHF)&kNBhrJ7c`l%zv`^jrPe;+*PHTM}Te?7JR7-*$Lfc1g+%$R7fW#2v= zXIM&RP$GX2oJE|Mgl|{l40`I2fgcQn@Ht->el=48A#x+)FKbw)=kwzv@O+PR+}BKcf(bb1$H{B_6!913xObEWXFPsR zlVGjdFOPd?f6^e}yyLjZL$=x%FZWR}qNprz`hErsjh4aia%KvkS?9ip+~l|_SNRJ< zaG2v>>NV`Po4RR38GkSn_e!%I(Fx?Q2sN%0HarB#d6j$a4wZ!{A}B)Cvs$PTa$SJH$ zO`Ue!LWUBF;2$=n73NVYhJpn5cpuBr`4X~4RMOMV|KTwo{;CR)tjp`Us zmIWK!4JN>p0o=j&mr>orMpR^{aBDT!!pTLT%fRg1T&`gmF|hQKq{i9#`T2%|3!_%4 z$UwgTW9{2@Tt(d~Novdw!`@#Y8|(aVcy+z1sJ3+O+0_Ir*j?!t!}yb7YvFu%bIOme zV(;!Yo6|wF*LpQYu*YF545$6VvmOiC)c*j?nC$-sft(+oOUV?L00000NkvXXu0mjf DX}_l{ delta 857 zcmV-f1E&1Z2iFIXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um129QMK~zY` zebm8g(@+=y@Ha?T#t=-~f!BR;f_PeA5Ozz=OScKa=1jHjB3t)J%tc{ZD81}pc_XLk zDu$huVW78xmS}G>D2!h8FY-&fDM{Y?PLI4F-}k-meS~DzjCzwyTWUcwu070c5EVct zg!32D)7&1OV}Q3Er;`>5DTda34dVXtdi+-vc!x>KhCEu?F<48IGDe zkQMbV)Vf&1puHN7KI0~RT|0>C{5{+&?JHsU8UPm4McC1I`%iT1fRNRmi2%|eZq&QZ zZ*j&9qO3lUfgFGK2yPuL9OGVz!R-`y^L+FLZXYZK24URHg8apQX!Hx9vJ_ZW)M*qX zpncJT0@Q=GsIwENNWNM?TH&yF3Q#|G#P~ehrQ-LgQXwGwjTqnlnAgk5Z@RR z4YuUl@5UJxlNprA9|RvG&P&3#t8oTBb;-aF2159puL-}Jseq6<(I0Rx77hPNUjr>2 zKw;i4+~*Mrwsxq0QJR^|*&@b8!MP(2wPHE|j{ErPju3tB9BQRxfOv`vF@XD+!V^DI z6>=foZH)uK9Y^?%aFbxR!v){lEaTP78kXt#{3r=L-{Tz5HIu%_1f27uM27s=i0_u; z-ccHSZJ{3{9z{Um1a4j6UcuNYFsI-dkCaI8D)9g>=iEhTgx&q zL$TEWckw~Ds4Rq8fJK1v3isSCDhp9WP=+G5a*xV@qL)E0Tmear7?>uM)~5i?G&QR_ z0ojpLSecqfx^73dK$UwgT^XDY4qHdNXHRgw5 z?;ntjb$&QJpX@5CEuDLIegzint_%?4GQ;M=$@T`heku0$cC$GhG<&UAQv`b&w!)B1 j6Fn9(GF2Fpb3*v5wnD5QcdLI~`z>xyF}9OC5|Ht|1q8fOBPek(xeX8}Z!goLT|= z26==87k2@aVnh{5pu!pwkPWCIDZq^yNqiU2O0sTz<}#})j9V$4?_nA zzP^agDG35MfPZ1fAaFx+;O8*B(hFWR=_(+fh?q|0G?#A# zh`GMio6_QSf*D4&0xfIz$LvXhIIjH|*Nt6k8W`gustd5#35pr+Cm?@2rS5HW6nMRV z4>qi=e094OG;lm$)C91G)!R28b_P{c7XT#N3oJ3M7PSU+;TI*K93`alb-hV;{>N|C z9J8{7WPiTUH1QZ^Kh Q1E{IT)**e%7*=O*k~)|C)MXEQmETB0pP=s0>{D7uSKw22Cift&&V;V14Z zYMht^uWq(*4z)#if#18~q2rpW^jxp^D`D@?j(;BCHh2I2?zQ6L*dPd+{`Y-;$pH2E zCV>KD$R8?;NJ~z&JorlBhmjGj4tofMHl4s`>JQR_0DqYTioL-p4Bxx@%ecDO(YvXq zH(7iec>F06Tq6@WOQQ2T)|93fBb{=U9f&K%%av{*9)D59sV@KW!)Lx=q7@{c1rw-Y zvwx~87=0PKFsn~{fZ-=BLJrBa=0AZQ)2!}@Cjb8SQ02ufR-d>^cEw&5$9eMh&1P${ z3oMiX?%hy!jQHn z8RKkh)!0o1Nsv-GptMYHZSx`J{g}T$Uw1wN)b*jy7fn7q00000NkvXXu0mjfU*5`J delta 953 zcmV;q14jI!2#N@hUw;FYNklndA0KO`^ zMQYmu8`0OwNv!~RgFHe4=eht+F{FwlP;pukP!3Q-QouFWP~y8}mXvb_x$C4&;3@P6 z^W!(eS%TjX@)-Z!u~1_?L#Vbgn;k(5RVOj6QBY=f%sAnTnz9ixpM~TF+bJ=ff~|ToE|eR zKpj^Bv3x&Z`hPh%1Ma)8WXce*R=OJOf-$+cWbD`~bO3c&c$8wET@{%QKnZr5V!kZo zPM0SnWT)6-DWy#H04Xa-wwMpK6-c=Or~uYssLNU^4Yy1D&_8iGsQkJ5y4C9!6)et4 zgg{nmi4BCP9WCov=K4`Ltwp;;X0i)dsJXu}x=f^8^nWgvJ8M50OGffzuL6~_*aO8{ zb_<|BO>uf{jY3{^&w;{@F`%bwh5>G08D)c(c%}^#si6w$Dme z`@YEJ;eR|5|B!!-|7V~z+qT(Si9O`D;4h4i4;?D+d~LElLN0|scQ!lc!BC8Z2y9z# z7|Pv6AV%m4w!t}l{`GgZV(p) z_}v63@AZ!$e(&fH}j~ zLOlFLM5(TR_2KT9B@-=>{0%IjXPb3h!~E{gq=I#~zIvI*tM(6t9FkQ}e+hd}Ba=D4 z`G33HL!B2lvTg;I3Cb0nE)MhL-P>ksp@l3IaHrQ^zbo_kR;H*+BXrm$#JIzJBAOOq zBew`dnN$`l*HLz_4Ro6+Z0e#>SVYZ+L+?+UPO2#+r6tQ1q2~x>UFUp*CFY4T)pBJO zY1Z4qaPgT#g1Zlj7YiA7r$Ev0stRJj*h}xDd4xj!hV>Ya b@$cg=)b*jyS#XNa00000NkvXXu0mjf>MGMe diff --git a/graphics/pokemon/uxie/back.png b/graphics/pokemon/uxie/back.png index 5f6292d528980aa07f43047faeb87a209c5b1ea5..2e3850f8199e14b72755e25623890faf47b2178b 100644 GIT binary patch delta 415 zcmV;Q0bu^i1M~xsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;g=26g#V z00043Nkl+OO6O^ic%SCI8Fobw-0Gj|E{eQ*bk8|}N1tTQQ-5dwC6AVzyNMW50GN=4 zy#YWBidcCXDB{7QherVHK%pG~k|MHrgy}bs(Bs7dJZgtYw|NvA$l^Js>9NifQ0kb* zD%L7Nrsr5K%pv1b1FG|Nhx#>K08W)%4dj0Y;@^5|?4k5Wm_Me^;XFiUIS-}30k!yH zBCKcfNF>5>?0-W+v!+7i&YSfis6025jpNw(u5Q*8#g)I>vZ90``>eO0NfL1=vB2h?}jHpQe83WFuM%h;<|7 zVCuEp3fAqY$>w!0E2|#tQP3vZ+yqFkM8N31KqOFBw-{fVSzk$;v9*C}&-MTS002ov JPDHLkV1ih@zNY{H delta 373 zcmV-*0gC?g1Iq)DUw;8sNklsgSLutj2ww( zAtjB+mT1yoBBi%|mkizw5AOp-C>_%v`TO+$GYez)`KNh^;~4jvr^a0`WL07#42(Gg|8LVrp>?+)R`G#t3AqcB3A z3~SmQi(CtHv!?YF3%x;Z?wF1RIx;y0(2SouGN0j!aGLyPVfJSsx#XGk4)aT4yu$Ej zh8o68*a4#sJAfk2N~D9I8L69-A?emkN>{#~FG=I2jPbtjs{m(B-Qy;}JERE+yd_@a z)?a{w;5~uk6>i~e5L)z|5w(NRc(;tu2+LptHl^CSh1a9t-ttrPvQtih@AZkeS}XN! z^L?W#S<`}8R!Vg?FV$M|W_OkwiP;K8*bUNt>~? Tz$yzA00000NkvXXu0mjfT;;A7 diff --git a/graphics/pokemon/uxie/icon.png b/graphics/pokemon/uxie/icon.png index e5d255ee02daf00bfb3553baa861c9878de48ccb..66987daf45c306b7365d992d6378550c78cf81bf 100644 GIT binary patch delta 365 zcmV-z0h0c{1Kk6VUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;g@pM0q9 z0003%Nkl1sx5Ji!19)Gs*f(m1)Si=;?6KB2hN+wmRMBRM;AEd7b@P`ia zYCaZ;f`?pWJ`#?F$ixm{(fYg)LU`06kv~nd*rDXvgTEHV;o00000 LNkvXXu0mjfL1Lf# delta 334 zcmV-U0kQtw1HJ>0Ul0LFNkl(&4rZ}#(i1Kexyykr%&5dZ)H07*qoM6N<$g5?pOkpKVy diff --git a/graphics/pokemon/vanillish/anim_front.png b/graphics/pokemon/vanillish/anim_front.png index 6ccecc5c85c71d6c07886485ae65c0776f694c9f..b16b247db7f7da3c4f89af7b77543250de32e447 100644 GIT binary patch delta 851 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 IM6N<$f@Ki|0RR91 diff --git a/graphics/pokemon/vanillish/icon.png b/graphics/pokemon/vanillish/icon.png index 5196c8de77e9c89defec8b0d8dfd5b9743ad0970..22abc9a905f11ea6ff50f39b6c0937dec0cd2788 100644 GIT binary patch delta 182 zcmV;n07?Ij0=5E>U@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=@pHs2#rm z005auL_t(I%aLa*e3Jb`xSU3{HDPfLsII|*1J*(i1IEsPD9`?iY&>1!ETRB0&w}#x zG@h96Ndd&0aM4q@2)!Du*chzl_7xdLZ~Dk7n`1_L4ts4b?!kKf1t?rsG#qID``hAb k7nlP!AfGsB@Q=f}-th-wJEI6|a{vGU07*qoM6N<$g7pVU5dZ)H delta 142 zcmV;90CE4e0*(TZUUT8c)pkqyXYgxag@{gkFtSYz$U&`-%)@3G~P*n`1_L4ts4b!K&9^ wfWmb}!-3}C-xgQ9z#Omv`NTnke;m&B2Jr`CJBglaFaQ7m07*qoM6N<$f@7dQaR2}S diff --git a/graphics/pokemon/vanillite/anim_front.png b/graphics/pokemon/vanillite/anim_front.png index a837f0dcd06788b330d9ecd8f63e97b98a666c79..8ffcd355106b0fbfcb7300c822524593015a93b0 100644 GIT binary patch delta 691 zcmV;k0!;nt1%?KYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;h6Y{l88 z0007MNklzi-n}5P*}2!5yejBRWToidgZryf`XS0+tFxkwW4Mp-x1ww-LH0 zP?3cPd(Y4^Bum8KP{i7i3dAbt5nLkxl!FH z0P4`lPXK07g01`nb%4jY2?%I5@+#Pd2YFT81r^(OSfHr^=v*JT7yShb)Os2)*&5cN zPv;N!U$aeK#@kK-0BhVHgckuO2l$ds11cl4%&OIT{}rHxlqPc>RXqJLC*Yg37~n($ zJKrUaGl7}~{(qSQ-kppy`>gfhCH=iP^DJf?w27Tr`<%L9uHEJk+VlC0Ivr#Kx11ro z`aPUCf$^isWRdsquE6hUC-?ckuz&6HHC#p+rC|Jj!7zeA3kLTJ zGQ1JGN-($@d=TPL35Ll6AnN+F+F*ghz6N>>FoL7#!_4$yAQl5d4GcKosGnP8#b2i; z)i>{20%EuY0^-Sh0Wme2gxa-j0;E;MluN?0Wkp~r;~{khL3Js zK%M}in}51Z2?5!~H1JOa4`!;1EzAT+K;Yn9Z_7^s0kv(oNcVVM*Q3u0gZtg^JTVx5C94g_(==MUS$~&NCQTBTMNh@=|kWqu2KZh__csck7+kD zHE2X1RAWEw-EfKv4_eEBZcO>ZpXc<9EM<_<4J^3y2OnkX!e8w!@&_YG4mt?j^4)tQ Z;x8WnUw;C1NklljQ5XYU0;W2xfThAv zq>#Eos1p(Ft%dFh)XKtxy=Q1U*h|D`C}QnM1_Xn})`7X7fqTzYWT!qy>Vk@VTXa9) z``_J*-rq3l_!5vqD4z)_>tqm5TeIV*MTqG&KO- z>jMw6BUoUeuYne;VF?D5f4uXS$v5CK-ZN)R0az>tOt69sU`Ay^C@C9}j8d5myZ!Mi zKpUydaw&kvpC$x+lQsh!X<*~K#8D}*U_*GSfDcEbZYeN;*L1vf8raM>XcHUb&KY&V zT)WjFbS9HAb$_~D4%~8w@a7BU-<6+W7(I7KEz4yJkj$Q|Vw)?Vh`#GC@_8e6SKYqL z1GjOd=e}}c7DzE|IWJ=T!2x$Ke%S|@;2|#}J;5|_&Us+;B#tZ6Bolro-73JiaGc6~ z9d*=kW8>c%3=u`zV05{B;GwS!2B#qe%i2>0gA)m;p3?Z9tL(+D&27swoUXHTKilOcOj0pnVn4jVb@|=Oz6|u2hiO x4Y>3VAr=6-@YCI8{y`K(s!0}q*Kt$hFD#_>Ob{qn+Ft+w002ovPDHLkV1jXTC4B$@ diff --git a/graphics/pokemon/vanillite/back.png b/graphics/pokemon/vanillite/back.png index b91c11e61946cef03fbc450d2dbfc30222a01bd1..c23e5aee14eb66a968d0a15cbe2dcd6d3e713f2f 100644 GIT binary patch delta 424 zcmV;Z0ayN-1djxeB#}W-e*gz`Nliru=LQE4Fc=bar5gYM0dh%1K~zY`?Uk`kgHRNP z8^Wq-t2j#|?)0Y2G`S9r&>oTw3=N5IU#c>C*!T5=IYVEB%E8d>Q~$SepRI7&)m0ZIOV}0^}5vR)7L5*Tud=Y|8Qg zMzVkPKx`Xt$1ww~i*^RJDE%h9E)Wb!AVEO$Iu2XPh-VytM#DD%Ncfb6Ju!RgNdiw2md)f)n}@{$Fw{k+wU!Maon??>O> z$0=1pi>c<^Lbu{RF#iFBn$SC){!*8yjzkn{&&~05jPwq;=;y#N8bc&j~0)N87nTh77^bHz+1U-k}si(cpLLQi6v-hj#5V zR609<8tYWrIp1Ip_w%RkPKVi9|55kWUUzuEWd+=nhjxoQ&g~ZCUxAD-tQlY$#WtV^ z0CC%5fB?`$kaz%Bd_d-Z48VgaryFs#f2x3x1^^uvHUKhCcIrSa67Xt(?4ny6P=Mq6 zSoerYIRQXh)o&h%Y2)YEW@JoJ_n-%5omAZ2H+6^xx_P?z`U#+WUd|tU^Fj(-w@d9ELrq=3b?SX z0&WXE@aF2fyLFmtqqN_cgX;5GNfQ|T0ESIqe}>kCF{?#9Gy(46Iy%fK;n($R>Sri? zz11BtBO{4=@{xee|IK z004hUL_t(I%k7dq3V<*Sg?ob>CQF5ahjT4BxF`r7CQEypLf1mg*q7N!&6bb6{PCRo zKy;JSYylSpHDU=Zj3qTPuOnz){HUSK0W=D-gb}a;8M`)>Ks{4BB*ECW`3V5+>BLoA yy6_n4#r^RHJ9KLYQaj*gYKLO&V2urV1I#0L_t(IjpdRt3V<*SMSFuBCQF5ahjT4BxF`r7CQEx8p=+UL z%+Km1X6qwA{U3e^KbYa(G<(1|f|hZG7RHs9nO6&XlxQ_nIe|t&m1F@c5PP+&1dh@n z1-|WDoB+^XPPE#~g<)v8aDSiA)?xTMkk$d6X&unJ)&aASj~D-H9*{0b0jpK(hyVZp M07*qoM6N<$f`bY}U;qFB diff --git a/graphics/pokemon/vanilluxe/anim_front.png b/graphics/pokemon/vanilluxe/anim_front.png index c2dc106e7fd55d27352c8ddde6929a7aea4a8b6a..ced406c1717c98d6279ea483245a75cc80dd3ca8 100644 GIT binary patch delta 1117 zcmV-j1fu(v39Si`Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;hGj1Vxm z000CKNklv2WW(6vin)VgPHgB@{?UJ=>xQWs#^P&QQRi*}9|9R`x2mkq*k# z64G7hPB9XM>8K)NE=+)+KoOvm;-wYXrDITdNVg99U;2)uEPqm@s5xyOAnV`imr{!}EfXabC)VI@w@&M2{2!}f>fO(<>t@IMG8+4C9E35iYkI*(q5e2-Gg7fBnQqDpZX5hFk$7s^6G3pnt|M6u4vF-S+$3jcihX0F@aM zp6CvLC1~o=M<##sD+O-MX0t!%`wgWgMD{taH7rwTyuSi)F;*u6?2oZaxD0Y3b|-Q# z56eGBGMB+hqmOO=aDO2VpJBV(f5!m%PzwmfFOTicN^xLtsA=M6Tc*+$zn9uGGdLmhe#m-BV~$bV?ZUrkvVZdepGa5=`&z!)x{4+W(q zn^nyBemN1{CeDw7(~?I57~+CR_c(dJ9OJXA5Xw3dp|q8HObURY_G-XXdRPI0;fj;i ztcn&SnRZtIrwE|9%wDeoR7QNDwF2m?^h{juODh2~%=}!CD(hqdcnq|%0q1`92dm%= z*M9)y^_p*9Tlz1AH;G;nQN+_;q>8~M8B@-=8(iH~ea;<=dy}F7Cu#cJF+t_7$a61| z7t{VR#)Fuo)E{A9^|LI|MNv#YM}?<8V8Vz`yad3XhXUNeW9~O~vRs05J8Xbstr571 zCg)*^JXhn5=D0V{I~+!;nplY^%|#p*4u6(bvh~E`F3x&yb0HDGB{{I4{P6pyVluan zgtL50O0Z|!w)<9mU%s>%`@R?lglVuv;PHC>;l6FxrKvSe7>qpug7+EG8-U}(46oos`l jX&(*7M}zTyH5mT_D1cq@OB(f!00000NkvXXu0mjfXH5!8 delta 1094 zcmV-M1iAaI36=?vUw;H4Nkl*CUTke$lLpw#%0mh2ZGTiw%jX&Zm4B8$G`7=(@&M3ig~OdS zz&ufcqx2H68+2o&0c8V$yJ5H6t&}zFpoE;yAy`Qkz}YRRY|d*X6iVQSd^2wZ1Esqn z;0L~0s-Q%jD3rwkI|O{TvRR-%)5uazq2`_k8xa)yfST0^pa_`0x%4h^BmDh>T?zxi zLg3anL~&{_{(tj?iy6ZQ)T*Go6TWUbUBj&X@@D!M0y{ykD&wrPsBcXSsJ(EfR|r%B zpvrs822NGy6kzI3XRZc~aJjw6PAMuypmsU^=SMNtpwgai$O0HM*lLkYm%#iS8clawo(};dD`MaO1aA!7~{XO4rD1S8}vd?+FVVP3n?E=8XSltM) zKfx~HD#(S{{m5A!lz)h1u7Z_DKimAl{!$!1#&);=jRDGm9uTTu9^0Lj;=u4g*X3bb zrrPj{w+&Eve@VO=wsk3T_G)5=h13B!%hNbv95wWF70!MQYgsU{mcRz@W0fW{ANijZ z48Hr6T7N%9y7-;*;U_0;-PZxwV_zLIF^T|$avAL}^&sx)P39aW0nQ%i<&fzew_*V0 zl=mqewgaH9>rD~^Cj1x$5R+|`vEh3B|E)|$8=RvKdx*>VqJG%!kT{@@HY|o3xSaOk zusvG69}4P`VpcKV|LsI}o47v;&XF>fzz7#adw<8Pc|wly+f^y!T|ya4xqoCE2vF2s z5148nD#YG!5kPT;zg!1soccg|3xo_bb|#-+ugN1o*R>Y}t>P|Z z1zrQ|s)vBHwt5f+C%Xkwpf9rl(zzyoGs3%wJ`z#H+g_%M!6O+{A%q(|-Bf)c97}i? zMSlqp@4Ak zn)^e$SS=xh9X24a))-<{ic_%+OXh_ZZ!{;odEOB)*0jV*JTez?csN*D$<|X#xH#** z&V@w$NOE95{r=AnwD z*fj=&F~~F+1N9+f8w|&QY=hB(YYc`CH`ZWqwkVQnFxXgI-m7T_W317oKS(hc%|AXD znFgcD2T^~JG#L8fAlqQ*_d4Aq5H%RO-iiV54aNd^Z!kjO-8C5h11Nx9@iNWg@c;k- M07*qoM6N<$g5nnh^Z)<= diff --git a/graphics/pokemon/vanilluxe/back.png b/graphics/pokemon/vanilluxe/back.png index 40f9ad9cba64c1178bc93f9a1d93e8346240ddfe..e120edf845458eb6abad7c8f6f07731b90deb3c7 100644 GIT binary patch delta 805 zcmV+=1KRwV2Z;xeB#}W-e*gz`Nliru=LQE4Fe21=e5n8c0_;gdK~zY`-BdA8+dve) z3<0SFim^o7rBaT8uppTeH0t2r5QLlvhBT^$PgyDi;!b9RES@@Kh;<7aLgH6JEt<0A zH}t(b`_575+M#c-Kfn9l_wMeyGa>&jJnso#8=m)| zewY3*=r^4Ns~QcT9V|?Gam<2jh2i^blTt112W-EDE;f9|ZYgaq!#aUE0$U-hpOXTz zT}m?$uE8oUa&in=mQ8SdHCVUc)Ii5$7GP*wDc-U zSVmtd;VpbKw;SR+e^^E{%~ioL4cU%ggRaM&mc`}MJ!au{%SzmpGtVpmp=)yTTxLPJ zaFBMagw3*B4SCt6RkNy$5aD4O!xJnGYF3#l_C>>VW+d9$C_^w+EI=rgiuEkoWIf#h z!n3QwI80J?X(ZmK3JHa)G6XJTvyhJ}N5Z^Tg^_TfiI?<7e_a4U%wtz&BsAo++qQzk zvX;(gw(7H%Ntl`Iw{||w$ymLr*jD9sOL(egoyF@p;pzn2S5>u{s65NSk8wJXZUNE} z5-DJ%Et2E|VRaJ+fgEc>lW)Z?>mW#=A<$!ySSws`L)KTi5nC&qQuR&46)PC4e|JOD z$gCB%PtBSqfAWD&N-K=+;ia<%-0zW1+9|Ctx_ssg4OrMCKBdMAqYKa2TH~>o5qU-e zT48k20&D1}Xg(rMAarR`>7oUdp=>S%9Qw@;p5W@BXbY+{E|EZvCZGUoWm~ALEnt2{ z7~#FCu0@el7O4jJrM&LB z-|ao@;8oOzGEko)p(({x{eM0{#YoCraxvXS3m*7cop8$KHB_ZYph$p{B?Xu$d~*do j1l>VG8(-d&|0ezbsQ{p9x*6uE00000NkvXXu0mjfUeIyn delta 819 zcmV-31I+x12bl+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0`f^jK~zY` z-BdA8+dve)3<0SFO0Y!RrBaT8uppTy(x`)fLlAPJFr-ljcCe}-_ZB&&OS$>YlnV={rUNO-@Ef?oBc!7>rZsrs@MN=pYsDc|K$8lMFse- zaX92qdqd#0`47W>^NGKI?osjJXlcsJ6Y$eDh3COG=i1uy;m}ftEf3(9^TsMI3&06r zO|W^+=2&fWo}zJy=D5h%305JU(Edu)VuQy+T}9*qLoLP`kB?2Uj@1&i=#Qs+-#se& z=}k@V!cvQ_QgMChnYG<8&ryqNlBqdR8LLgNMBR)#ZA;td2T;&|-CALBXIGvU0-|n6 z|Jhd2dG08078XSnZZ#ElO05)?ML@KbjPQt&`lYB$7ktq)nHh_Q4$25j7x+Y_QX{>J z2HQ;bP(W+6U4&MYs7qtpFAmqqwuh!k1+uS>Sko+x1!7L}1qXt&vSLHde1VKJUtkMO;_B9_J=N zIg^MApqM*&A+?OH%8x1UEj4%CmlipykzB&SnK$3tR zPtXDP3OnShBLFWK4C%YcKZ|*kM*#DD0twi_H25#1^e6&D(I7IP-ctWof^gs+ISN5; zz~0HT!5o5rUs8r&9UUxk1IBtX4#TcAAR0%8cdX!1t|CfeQbvWK`mlOmB=J>a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;hMN*w750002`NklZt~5Ji21IRx4Z_~VMgQhKlfe#z zFbG6VVNM+Q|G!;2t!_%SZanNsjMm62LSeS;wFl|6+=*+i@95D-ZQ-cR?%NO>{s<)>3>&$*Z;Nr8~JbfZ#VL< z6Tg&yoz=Dcnc)NZPc-K;fLD0S%No@C3Mqw}e5Vv1oxp zV;0HKMheiAEz@I2cyweK`~s4}kqd`2fuI>Y@Um#(ARjt*DYACV2guUCqa4>F@7#Z( zLl>V03Hbl@-s9clyQi{9-0__V=%^Rzzd{qXiF{Y7vv3qbw?SE(OO`m->Q zI^C~|Z9x5c5?x)#fVxww^(P81!k`yjKs*N1xvYh6EhtS0?>wBJ53DQ(lfqui~5b3uP?YEiQ1L~29y>Lcy&gzQC^%3W$j7C+>ik^Vxx z-z^6?=eLkJeO-jv9p~ReGSH?tJLUZB_Y96TMP7Y(ddScI_%t0ID-FL)F#xV~I8>jd z5zasP{4OuXv8(QeS&)74STf0W*9^w-sG&2A=2F)MXf&qb3dUOlAuoRwuf#Nb z7lz9ipMh|$2xG$R2o2b@P2BSOD?@Ca9tE((zjjmxLam&EFJu5bleDgro1C#s2)EI^ z;km2OIm5L^!<^MJG`D)jSlV?B3%{xcn{!N%pd!G-K$Q$lv%~YuV#$Vig@*wWw;lk~ zZ_*9(JyL8KD=J&mkqMZU3ekTi!u2=VuEC)92H_W8w`dqbKI~(I&2xf=1PjCfb;CrK z079(6w1o`r3$c^KD^mcV-Yx%XR1Ah`mqjGh%C@m#H;0i>`&Zlr(`KUBHVW)E_MA}D zCZ=sM;lEV%+ME$eDe75Ktd;G`7$HQSkuTcHb_G_h)DvAzOP3BT3_yR^^0*7|JnNp< z{{RSYwSdqpTXGm^0ii|FF${73>za4)+8v(bc%PkXUX50?e{_!H{Uj`J08kj-pI`>$ zgB4yf6Ize+bF{yjL>J^_xq?aWP2Di)zxO5)q3!X??DbUyvB2?<_kazkUn;A7#VPWE z1c-%dJ6nB=e=PaHQBQyG)&h7g`CucSxA2H>jq=X4+xy{ pv<<(|@B`fQgW{5W=7;~d{sx2WA3G`wKWhL0002ovPDHLkV1f-~6@35z delta 1093 zcmV-L1iJgC35W@h7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1O`b&K~!jg?U})H zq%aIbBMbtJll=eRu3D0Tne1SBa>xZ&vX!K!8(B7ne*5upk9&j$(J%Ew8vjr~@sJWv z@9SqC7M^Eju75iH*p@?|U?3J%J`6+4f$Sn8Us1ra@H($6{swt!w`9acSjwNZfMpTK zb)CdQ8k&|sOUEUD!D5}Q0FuFz)IhKcEy*Y{v5;#H&<}$+h+Op1B^{;IWndBm(a9iI zd3;OAERt$*`HT`MrRW6eBob|K*tRXB4QOY_o)ibl+cwCz7-ZFV%s{)qyxEX_kvnIg z74TeCKg=+|q6XLJ0oNuM+%!>41E1)3+kmx+=dxNh)?YwZ9xM)gtFX(S=6PJdi~;? zDk8_doOKj`4AoGM=y$p6#evK~mNd5~@F*|(FB1%OOX9bdfpyA0Y#K%vVtR5t>Q;l| z1u(gu8U|IbGsm^H0FjG{&8J*Bob*;d*07N1(MI_NYjR=0!;^u0x@h^n4CPqT7Y6qtp91U9O>tImqXZRyoOS{3i2R_i+Fq8B^>Mmc6X?*N z4-hTwWeKLzhq3KxUAGc`(`3J}y%JD%eW!yy%c-uVPP(yw9~?NJhb)B1FL&>Sg*EG{ zXD==Iveoyv$35=xtMRu8V0uGO$BAeOycYqCnx0MW3BL1?MSSKO;1dGa-1)XXBKqQW zeJ22a^YM_6RHOOZ0(^1+u$nH!AmE_!+X6fYfFlHF5TO$G0B;1q5kinb=o~!1QzZZ{ zkA}xl^ZTaSd=P{%gFqAXt@{K3QWpY{CTM=&0e}*Oj{JSf?;Bnkj3D$tkOi^*1OPe- z0@63JG7K2?69gpRn%x}$bOD5#zS+9~fB=VoZUe;kasY%LgHwFh_e})|U8jNs---8E zK1A@|{BP-90f5H$Zh&Cv9RT1RfB=AZr1v)fgeExN4LV<4Yy9`v!Ct`~b0UCn))9Pt^i+2OkC%A(;NP{1pEy!Xgj^sFg&NHiFqp zur?S$ASVczObY@%^MhOggsx)bo?zn#XMj-kK?4_6fbakyF4@K5aPWgc5rFOi z96_7_g03VT6sUP$Kk@@#&Hev~A_v1H13%y=eh@oZZ+>u(KN$Z2t${z_{NjKl00000 LNkvXXu0mjf_Z$PF diff --git a/graphics/pokemon/vaporeon/back.png b/graphics/pokemon/vaporeon/back.png index 67c3e64755fd21fff2faf7257c1da83893e5bb50..34b9d1e792ac14a0d8c8cd0635ff6f73daecfefa 100644 GIT binary patch delta 591 zcmV-V0tuWF1R{@Q>kG=%%L*0Bw8dl+Ij^6 zF5btPH$Rja`(h8kCqPzyM!anDW#H$p@5{jI&!%1me(#onZ`HF{f6j5N)Kb;!{CvE6 zd9zK@tuKe2repMGP>R7)6hPf~vjB)HA|!&fa{%)=gbZX9bqus~xfd#_q75U&eJFGY^l23#5SPhYgfK#U zi#eLP4v7aQ&0>{|wb+`cM+U_{08X3#dURzN(TGu&nBH;Tf1Ci+l%W0KE1@Rc%|xXD z-$FAUCkJ(w5F920J?X57O=J!DR=3o|;*!S>gkKjjkZB#}5GB0%rO(~)ZSZ}{41o35 z#@u)O8Z5&V#B?tQ00V&Q#$^})IRf)}L%*E^ea+s&oqO918SX&qBo7GJQ*MEZw01Cg z2V766Ra{BOMR7dQ7{+_m%Ly<{HA5gEz_-z$2b3Ed8Dg#3J^=BEAg9e~sZAcJy@!4{ d@HPI9{{bR$3K*wcmwx~N002ovPDHLkV1g2R4hjGO delta 601 zcmV-f0;c`71;GW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vbs~K~zY` z)s#Js+b|G?Da2sqLgRvkz{V<4r7>h|orPWG7?QnUVdxS;nq0$;3$9M!RBTufbEuG( zMDr)n)=LNwg!ggg%?v5>*%rVDKv920yl%>6;K$Fe%fRaQrda0o{u*#Z?;*w_4TlSlXjbZ3aHszmS8=wN+R$pp{KfQzGr~BqmlN}v;)!X6SaT| zkWxE62L^b*BMvAB>{!zr+pr#IYe3_Hb8~zNH`g_kg;lMFXb|;zA7@})y%m3K_6K3X zn}};z?S$a(cMC|T8~ZxPT{<+}I+z34QdBaNX3OLTrXBhNRPe#_RNr0`2bFv|9W&~Xx6bw=9u4c+MNKzoS^^5 zUqZ~fn~BH)x`l3k+HM`RMMhAV4JfOVDm77b;9K3>CRW!nb-?^_u?7k$;~cDpi$C=>qdrT7eJBDygUSirY5QKJWh8=EymdcA!D>=}X2 nC#Sb<@<8i7sBr`N1dEWrB612Cw?A1G00000NkvXXu0mjf5}*zG{GPjry~MG3rk-r(UdgG6`E;OFh{(LmyEO#yGG;{WK%Ed_G|B9TRZK|{P4(J> zx}iJ$JSprO0xn2qTo-N=7;Q3n9+Cs14)}femby^0&E;^Dvj+n7&Ky*GAar8_*so#T z%koNvl7t% z%dHVcvhzb!4U$wSUGsdMQoM+EE+S~?^>IA+evBv{Ww))@p(3@u phjtL2`oSNAu;<6_>{tEx20&xZJ@&8VX#fBK07*qoLOzN3eJHw| zRN+V9C0HU|Kphy68X{mqO4T$WgC#qMX=A%|M?&1-*k6?2@%a&t zf(P;d6qW*3X$L-~n$Il1-FiYYDPiCH>OYq~K{TOG;X0G25qTi$KEDlKS3cBkb3Rz-9Do3` zwFfl;2%~KPhczs9E`AhKDUOKvUj@epf|MPC{Ybv?s@(ZxDEEL-+Q-Hjbj9C-z{0f+ zraOb$0A|=sOIyHjmm4dLWbcQlG?G*(edqadMaewg`iQ=!m;2Ey_%Wnpm|eF)hpI?S z&e4G%ZT4LCiUU6`?%G~-=m)>|q9Z@HC%@{)7eHgqJp#_wX#fBK07*qoM6N<$f{sI{ A3;+NC diff --git a/graphics/pokemon/venipede/anim_front.png b/graphics/pokemon/venipede/anim_front.png index 27bad5955c0494c19936e5aced299d28e7d444ab..3bee7fa0be15650a8f3d4212e494e08a35e53de2 100644 GIT binary patch delta 723 zcmV;^0xbQK2Brp(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;hazQ|l# z0007sNklfhQ5Sn^4u&^p zL0+RuNEtI#%D>P*s_(En_~2}*TP5D;`ic?@G0_Hb%K-HL< z9w^W~Ke3P6T7RZgq5|^(fYoF`(gbr+0@STM>|(Fb);dxk;@Cirs3;KGV}v3pLz*ZQ zZJ`gl=P0yy;wh(v<}K9C5O}mVHEJjjfdDKE)gN}>?GqYCU;?s4P^y33FGrghm5@;< z6|eYu-@lHI_&o(AY~E9@()E7-GTLpQ)89AxJyl%wTz~u+2j0qj@ms&~N^y>2;$ZT0 zgZIBUQnS|n#E}zArF|X?j7206{zuEd{*H76@uQ1&9ZXos((+hNuT& ztPZ>7a5{m0@6y>65!Lm1MGQ)hO9En5D?Dk*n`O#P-@iFN7CHmgqrTp>k)wB z2yDcJ`IQZ*5@WLi0sGw}`>6Xn1hGT~W&wcZARuYLROA3Cf){+XZJ*Ds_zeLP)~_*F@oKw$vg^#}^!r-B#)_+!i-&XIB~Pcn z^b0Q(=P2wMC_G-{%}GqF(G=b^w*gaiMZ`+v}V_A%r`WvU$d^7U}}4>!2{ zm@#9<{P+Bgff&JX<{%hTw}N=GxFy4wIu#_4pQ(O9K@NgJ7I7Jnpj<7K5o7>yx-fz< z(CG(yw@c$Na79FC82uP^K%*!|Fqjbt=Jk%w2nJRnkLdNk^9oZ7LJKI78-XA_5H$f_ z!Ylwa9)AJS1IGGF)d_|uJHuEun??6H^-f_SQ3o0C&Vn9yW*Y_xMx6jB!AQv;_B&=7 z#z`=YfndGdH@0DrU@Txp@&M!qNC1!ehS3=a7z0TW3~)UQE#PDzSq=4Svv2LQJ{d@! zRVn#F`@?AprZy9MK5 lAY3z-U>wY0^oKDQ^BYxm(P1TCTYdll002ovPDHLkV1i12K^y=8 diff --git a/graphics/pokemon/venipede/back.png b/graphics/pokemon/venipede/back.png index cf86f166a8509c0758e5e58663646f4c51fc17e8..5f4bfdce0794e76e561facc083c68f21c1889c82 100644 GIT binary patch delta 469 zcmV;`0V@8+1iS>0B#}W-e*gz`Nliru=LQE4FgDJjsMG)e0iQ`kK~zY`?UXTc!Y~j; zEe!{dV^^s_c4440@}!P!6H~BUD9aq6>_=kO2WnjkNbpQm|~yy z|6OVDyu1E`W@A9a1`33Y0F&GS`2avy4oHW9jEw+dYJPb(6r!9ue{c}UM}Wwtq=REb zV<}^oGP;?P_@Kf9H$qJOK!AMT%qf0_Afa&b%^24qNZ`s(Z%EKg^*u;*J}+KhHoiwy zA0V;hoX0J}0C?|BSMaK7w!CyMDNTAUXu%sJM+m{L09WsbH0gQp=2X}9CD8%q6)v#u z2%9tmzT+JyiWvj72^ z(_p=5fe&o4wSY_kAW}ZWYHx=`k6oLgh|RMMrApKus@fopOKt%fm(RG!wSt|^@vuHw zK(_!sOL!Q23qX_8vC);w2xBbGvjhWmn0G@~E~AvoZ+`zT{!97+-k;=HQ}pj$00000 LNkvXXu0mjfz82Ea delta 477 zcmV<30V4jq1jYoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iQ`kK~zY` z?UFHW!Y~wuZHogqO{PxZWC$QB6HK2oxhg z>{7D9G2*e5iBB0{O-TcPQ0agxAtpg6K|z2YLjDRtBk6?%lRrby(3c-xkzl#*d(ilF zUcNj%2ZZT9Kocc|NIHT8@Yb8I6m{EfMCDyFmiAh(QnXf{kdprZeEm#hY0pEn$EIm6 zi8Ekd;R5TPa7l9joCkx2FjsfPC$^|6aRNxl$=qx~KplJwmFJ~@K6%8PnHrDduWg}J zRjJa3z^%_RRy%`3?OH?%mFj&)BD?i_p8yEw;eb8d7gZeYZPlC!1U@VvBwlD#aCQMS z#)klvvk(DQuyDQTfOl-Mae&GIpi12(dgq2jk8PKsOzg9aluq>ys>UL%=>U~fkGROS zhMmpvusJ%wbO1g$OL!PN2SAhKp*6M72xBbmvjhXZpPz@UeMY60UxM89XGF+1-k;=H TH3Jwq00000NkvXXu0mjf*vHWc diff --git a/graphics/pokemon/venipede/icon.png b/graphics/pokemon/venipede/icon.png index c53e2a0848eb37f3c8b1b819ad5b31da60701be8..6377953d215cff89bc182ea63f4d13a6e3505ee1 100644 GIT binary patch delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=_5%6y*N^ z005~;L_t(I%k9!J4#OY}1yF9lu{vhS+-q1_@Yo~tgq1g7sT^g%B@EawwNl4;^GC8i z(sS+_=e#&S>3e$6{pZ%r&eo@yHQ4A@Y`FL9Q5L z(t={U6G)8p_J5?vQC)q=0^I0=sP2naZpQ7i%r<8&DXGw@oBI~r5t zeu)+>H%@mgA|e9eS+^j_KuOn#w=@%FyVv|oQq1PEMzL=ZA4HG&$8<2&QFxmO&V7!kGX6NH4E-xDUgxN63GY9|x002ovPDHLk FV1mL6SX=-A diff --git a/graphics/pokemon/venomoth/anim_front.png b/graphics/pokemon/venomoth/anim_front.png index 834bf6fbcbcd2ce08189bfb06a0fd4fef6c43753..9f219239b8a4799c8e4ac758a05e082a6d9833af 100644 GIT binary patch delta 1077 zcmV-51j_r}2>1w)7zqRe0000zs8*+J}u&JF-0a|aM8Lg7Zuu=6A;$s^fI5T`Z+(uqnVOE8 z9MgFFb1%Y#0T|Uedh^Ns&ppg-$ck`zh~7MD{P1~%TfmM2%z%8{&hF0706mCYmZJr% zCj1Bz4Oyds3)AdTQKK&WBOWHHM-_ixnH+e>3gCVu(l9{Bqrr`nLleE26#$NaK`hdd zRs(Sjz$AErrbbTy-YBM5`8;8b+D-(6Y0RxV-$S9#0O&(U{ZY{R>i_@{bpD=_Gbqz` zNa!+Gh}ba2=xmRi-_RIhKmg)Kb$wuiX0)MqUeGax3=n{f0&hEmrju|?sXu>@Su9WF zXokS8PYx-iXrkHu5d2Xy=sO^MnbYFa*(CzNBO~s0??up^k2!t0Sll?oLxe<8$lPrS z><2E+$lvLLT!tYb1i_>NcMIshU6Ap=r)26ujfn6P+`9~rBTl_A^~e~J6U*xJDuerH z7(z_P3q%f2tUe(pHV2ZeOY(pApT9m1z8tOyH_OGr_ASx&)ATf3ez;w+%K$<4ANaNX z5}{R@-QKbo$Rj5YFJeFYGFX4hzW?|EUN-HAH(HM`mKU3bnSvN1dc`aon=Syf-z zQNxdJJaiW?%WPS#PWfSc6oACUOUq4GtxJBQUpxQ|lAMw(t*T{KvJ8L2N6$$L4EU>c zwS>cru_bwOQlnay>&@m39vxvUeYh^xX|?%myg5o<%K-!Wyht=7(ezaQuo>BU)BS4x zktR>u>GxT)7TUFk1Ldc61{c3jd^}VD&oOTT2SZhV0+{Ur zTt^9*{{a9c;Hy$tvl@SJRRHTV)zNVmV8l8KI)Ljb1Msy9@L$a*3~*JmwqLQesRlHg zEoMJx*0mh4_d0+Bwz>Ca$5;v&6DCni`<)*g%Yhp$pHIz$*ewFH1DFEfO9x@lNk0Gc zV1Di+Dpilqdifmals)7^fq+QxXG2*dwE}rfi-OLsr2v0dAPxhH`%AsG9#UHNCzMkNGI{6Kos^1hH7`GOQ*4w00000NkvXXu0mjf5cu9G delta 1049 zcmV+!1m^qr2;B&f7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1KUYNK~!jg?U>n; z;~)%0&7y!4od5sa)&dx?9RsPFhpDJ$5~sWGK?^vRmgQ$Z`%g@%FZEh~hfu~M;wykL zUl9l}Oi*kE;6MQQsMc(e5nZSV@VEkGb!04DhSml5I0t04wJ5PM`-;>R!TE=~R$EhA zB$$eTfP(|4>I9&F9}_`cJ8&Tv0J?y`(%FS0fS0e;HWEc5X^1&-zKx)j+x=twL#d<% zM}!P;keAPL-Gq`>Qp^R91kyXHB{a(y7x5~4$^csd;$F!5HVOQ32jE8nAR$H&OG$^_ z8rdnWX;Y+1(F*ID0kIOIrxKl6nQFxw6JsF#1EL$Or(ZOG)swKQQclpi@aK%6LAJu*QdDf ze1UV40WFM3kQ|t{z+T>R(FciPC62QqwT#&-d91)rz#tqv zpRhu}T83Z?iwyngI|B)9D{KMW_I`(uH@`68qnrR6F1@ZHAOQh{$aP@EM>%JK2!Q%G zY~;c_q~&EpcMu>1{J)`o3n9F>z*{KZL+$~XbwO-@1mKrgJAS=)fDHm=k^Z3*piM^f z=z&fEI)FidI1!4w@eKgQumI)^wipAwg%rT81M$IvFf5lO1c><~Lf?}NVrXFu0|Dd= zA0h*NP9#W(Nq|5^Jb*}51ArwZAwZ6ec6zs75ER0Qq_uE&c7FD=pZz2Ix+zt+x8WNA zHW9;rYu0)*NKjStHU%&(V6dgFzJ8Ve7Jzy`Mo_e9Ni%xFh4R|Z#86)A`$vi+Ko!^D z0Jy8ygGuBpR)EnQBp2{2kpO-cKoblC=qZ3#+_f?Q3pot%M!L=j7~VZ1up1UMc7Ab?(QC-gpKR}&2C!x@3+p|cj%1Vbgg$Met+ z$P)~`1FoCpgB24D0_^(EG!_#Kl>xfH&1fbVUW(Y&?TIxL40eEupnH#WJHgPh3kGg@ zYs~~B=itM@pd~aD3`UrduBDz}U<`Ul&OuZY4Bzkl9z;FC7}PH(6O0)`HNhD6;V{7% zB`oa(V;Df4cR9hB04((cV+K%7Fy=fcCKwZddV(29ySnB#}W-e*gz`Nliru=LQE4F$HL8_=5ld0(VJ7K~zY`&6Tlk+b|G@ zr2^h*Mw)9L$p^6L7tn#)ZONJvJ!60Xow8))s=&NTO(GjwZqU{NI27 zkyMs_#z(M^*Ykt;82DnUR3hKb?^2pXBIhs@ca_<%0d8?7?u=a5f5E1
e|8)X~17$rPl;(--Q z2?tOcbqb6U*8pJ`5&@_!OI!wtT>$p#8i1~b1E^2#YUC_x!%GMn)&vx68uuh2*qt#z zfU7Y9?=?sQSyurif5p`?%V#501A!g_L@RxtP}Bb=AP@8OHO?UjXtI0`BZtWZbRN*4 zv!Y4DbS8pA1A-Mg1<)e*LF@r~6j!qnV^Sc1r2y5?0ce54aS``<0%{j!g)M;C?oxni z_%(7@y+LRdjEa@&b zduz+#@@Es7K))_P6F|e~`q$er3c?*LfC3s1sC_>S(X>jd$iT@BOHu_Xjzb>-S*d89 zoI*WC@|MN9wy002ovPDHLkV1m*`Fuwo* delta 702 zcmV;v0zv(h2Bij&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)9zEK~zY` z&6U4y+b|Hu#Q@%ETAFJf$p^6L7tn#)Z8@4!J!60Xow8))smTi8 zE6PbQfBx>f??@^8FPG%+@3XypAGot+D#6y{vr;yZU;;*BQ`+4U5DrITW7V<-bF>CR zS!EYM?g0n!S7vRwG$9~=5b_ql$blvR`2bXj1=JS_0+ud=M^6NaTY$q}A^`jK6u66B z^b!HE^MOU6m+%0!QKdjHaSf0Wh!PQ~98X+EiERXS`Wk?~h6kum;cGBHYa>WV8rA^h z7a1{1NWQTa2=Fxq;8KGmke^DRq=Y_XY&1eO5NHt~8x{J5ivBl$01U%CLyh|w1k@QD z!(cF&fKvbrm@Kc8FujSWP=n;TNda^yLJ&KE7Uk8fWSKLC}F zvcv{JuD2;bH9{MXfc5j!2&~2$5s)C=r^oFzz_+p2hN7z<`6McUzDC^x;LJ0hCV>GV zfLuBcfP7lI^b^s4RjI5)iV_}V(kI;?bf;1|tOT@2o(4gLKG{;E4`LeB7=%XZ6CE`2 zINi@0h)05mlQ#*?!=LFsi-#&O4FQP9;>#3>K?S5zpqw*}Y!e{712hHY4`*X$7V`dH z5aH(y8b$kg*#yQuPJUJ>p?mvw6Ce+@dHwqPWe&s&bgWB%yRQn-U#QA1qd&J_~vm+nsYocmB1SnZU3w!4N>h7v{&?VHSkHRscEF0nod)>t@p`oF)TD zKP*KRlst6p49E&i`{WcF0?;bn9p*q*v}*@G>ym)d@>RB2)T-Zib$d_cZ2INOy-y0G k{z-s#AAB7d|J};6zgGzAh?dHqYXATM07*qoM6N<$f`-910{{R3 diff --git a/graphics/pokemon/venomoth/icon.png b/graphics/pokemon/venomoth/icon.png index fa61967d96114c0804afc502d020c64d6db9a070..71e457ef319d42f6f1b2c660757b0ede7d4bf53b 100644 GIT binary patch delta 370 zcmV-&0ge8q1IPoAUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;j_7TAP7 z0003iNklTDfMR$xC2Gnf{rh3uP{JmEEi9@5W5lmOdVdhM~# zJDoKKZ6$9X`a!N&kLAQZ4D;8g!LkJW$zD2B9U18P;ZJ=9(^b delta 336 zcmV-W0k8hZ1EvFzUw;8HNklF=Gy9BN{Y@unys& zOMw{CkU>Nk%dx&)I!C2Veu7!VPRbXt;cFEd_O1v zkT{zCWf3Jz)4q^-x>_NFn1CfA#0X#<*)k&0{&UB45z|rn;(x{@+!>4u)PwAsm^5LX zK{x4VB8q_REWLKvr=89ky|$9J5B(tLv%`F1=ZE?0(_mf#?qE-yDUJ+u|8R%C0P=nm zR{(WCp6c5NX3Lk?W1+HzRmyEr=J z5bVcW-f{@`<4K){94h;-918n;4%z;mL$?3QK??g@4kqm)<&f>aa-cQ`oJ#v^4uVY% iOXWM{P~YP3b9e&4F8U|R(|!N|000037}a3 diff --git a/graphics/pokemon/venonat/anim_front.png b/graphics/pokemon/venonat/anim_front.png index 11187e0e127bd21b79f02e17337bdfb285768c59..bfa77a5a2a2b5b6b58c7d3f9ebaee7a93345e041 100644 GIT binary patch delta 1028 zcmV+f1pE8J2FM7I7zqRe0000i_u~4~?$AuafR%fVEDQHr#i-Tv#@<7id#vXrI zrAd4R3+{ja?jC^q*0TPS%Uy1cFZt`u0&iop*`O_gW`oTIC3?Yv64w?OEOiz%>s9|R zxu#~R1fcDn?{5T#5}dx}`fFliJusA@`b$0?g%Es=%MSKE(R2z5A5kL!56uEEZ~&35 zzyVKUbkk9YeRjWt9^m6>7B?KY+EIVe7RC7llmT}z+M>8H#E1J4?vMc(ns}0qY4>1A zKNtZcIL?xN#OIk-VBO=!@g(iy;N;{L$I(#0RM?BrLzkMEO&91h5V1V1r? z!*o{U;Ur7PU9MB-FiA#;2V+`Y_AK7U@x7rMq-h#=QAO~15~m*z)3MwogIIqdMB(QK zwiI^{jwEcy@d)Uk!djUE?ufe`2)APilmTiM??FJ=p};+Q7K}sdN>V_;eC^dTw2Djk z`>GdNp6kHe77-Pr<_2* zn@>GT_Pw`5IX@(mpf{bjDEWV@FfU3eDUIy$A5QBkzy8AxMJUQCE3osTm|B4q^b7*) zL2;>5Uz8>P@!C~sts=i}ylzQw*?ijyJFvd2|IKn2#8=wQ6Nc-zH=E}NcVo42JaDbX z31i`S;4M237t9x`@s<8+%^{Syu4~SqFj(<@f8B5vD-!Xxzbd@;x}kpr2P1zKRDXpX zK;ThF;p0tWKi*~s5cR`N6}6@25qrrv1n!*~yZPb3B8+^i*=-mOV0TC?+nRA3fK8C3 zFUWqlKO;AX|F5$datGOOS`pO+1m%|m|HGH#rUPQ~3ml}`NjiUGJKfb#A0&xpJfryLARY~$;cQ44VT5%isqLe~bObac#J^yq z>QJLw{=4{R2;(@GM1K%<`iC8HOM)Qy12SA}Ng~o6LXLO_pcsezy@t^zterAIlK+5v zt;pWTInXNb)g9~#xeqR%o`2xcT`~K9kzW<(EW0cCmt`dgOoDKWX|F8h9%EohO>QBz zfP3qO)cA*|Whp}TwU*Un5E=#aIaPv>p=o%xLmCa>Vj9>6!9^*Bl)b6(f+-2>wr%EW ytGNEX@ruj;EZ#K>@}imA_9E4Q_K~!jg?U-$E zt1t|O39(56DgXcHUcXRCyG^x|4|kKWI*m$uPEHcTIGLuq{y>Eg#`t-TBMM=TF~SfJ zFv$1QA~4F2ZNOIp&Mkd2K(up9)d1p2Q+f7O4d4Qd6B_`iCxS-+m?r_kwHv_I6ue-> zFF;B?yU7Na$73&lkgG>PXM%jW*o_cCpct5OQrg4w&|zi{=jFs*3xNwp=HnCh46ifB zxGbvT9iH%%62TXb=-LC!rIdU)7pf`bF3SRYj3HH6VfBz!3S$dHaE(qT2 zSb7;69-;PsC^Ub*@2wvj{~}OZezWl;ur+Jg$Zf_at3a2=sbw5rJ-qkO<`m$qd|iCG z#jHFxBQGB4&^-3;`Nu+cLuG|crXoMQnRWqg9`-Ga4R(PEm~TAS-L3GlU}UJO zq0Ul)k#}CQGxElM*Ijr0o*F$sh(iYmk{Ab05GenDhu}(^?>x`H{|I6<{tNF5o8R!R zwDww&1W-dpkm@iX*_%5-&kmgD7ZEfs2RS<6U(wT1PXov}@~buk`l?n+53n3FWI|R{@BK!zRBLl$Dz>hoRwOEuIvr_5#f8Y z_a)F;o4qCV!9ex~zX0eh(Fjye_C9UkF%?-#&B6AnvT(A9Y{CDUa>iwtx?-muA-J)I t-$|j42*_>SFCd2ygL(VT>v#RJ`UfoEFbH!uu|@y@002ovPDHLkV1jw^Z8QJ? diff --git a/graphics/pokemon/venonat/back.png b/graphics/pokemon/venonat/back.png index 933313bcbad9682de525b53342357030285d1639..da5e27e7d48763f52f6c882dae6c1253ea3eb952 100644 GIT binary patch delta 553 zcmV+^0@nSX1&;-gB#}W-e*gz`Nliru=LQE4F%O8m5uE@40rE*iK~zY`)s#Js8Zi`r zZD~@ufnjq194-Jumj=R6(NOH0#!XWAHQQ{N10az-!78_4B@DZobEV$c3iJwGf73;`>bbSV)RZgqgVCtWhMeSvFmg riggVrdeC!KAHtlBq8#_^|2cmFnD8%Vu5k2L00000NkvXXu0mjf?TrX> delta 567 zcmV-70?7T31)l|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r*KoK~zY` z&6Kfn;xG_~r5RtP22An*=y(Bex@#bqiiYCWjheec+oVZ(55NqUC%Cz{ATtP(@pGk4 zBn#O_UYs_XVVGgR{r`Vg*z9W^KKKMkzxNY-Cdd6iCS|V#AAKgV$Yv41hl7Z?^x&x+ zN5qB1FqJYkU9=>IQfAqI>?X>QPMi8TA7#^d1n?lq***bP}Mf3_ctmsP=O2B*02&R9zr3pw^y1)IU4*($@lD4WoKfb}8YAa8X~MTXofs zXc@eiBUyQAD5|!9^-m}b+>iUY8Q`y-rj0x7Xe-y2@yv0;)Sl#s(-B| z=H|RYKZwl=ho>5U5Rm&d*j8uck9vIy9wv9U;AgmC$26&-*u} zM)gb9*yo7=mUm4`Qesg9iXQY3EX>|0N~8PyebvL*2bk~@FJ=ri*ct!;002ovPDHLk FV1hr>2$lc< diff --git a/graphics/pokemon/venonat/icon.png b/graphics/pokemon/venonat/icon.png index 5e8a47d2e4c30adc69ac261be92732bcba51c7d0..f68202770306b306aa8c2692eda3cc213028b7d6 100644 GIT binary patch delta 291 zcmV+;0o?x60{Q}wV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>1z!x_v|d z007-dL_t(I%iWT(3c@fDhVumGU37Cu9;l#O7Y83m>I0aN4jmJ8uha?-f~h4?=#pv_ zmtInEa1imvkNcC$-Vv1>!+!`S{8aBepolUa$SOGi zFmfYAagf0|CrUxEQj#mxXY8JDO4wpAha~A>$8?<+5a5&)MJM}7aOAEfldQkSveYt` z_JiF;teF4+>+?bj@R)YSnD+MJteE>-9>vSxAL=9e%`%}uG&G0~m3nUwrYlyR} pS#1J?{zaHJ6dVRSEh6`+9}h!~#?4~D=luWx002ovPDHLkV1oE5e8m6& delta 251 zcmVJ=+u@^cahQ5TJ+ZpiOh^q48D3 zs-4iW73?96j^4#Ch#@8V7?At`f;1n%&|>T!4FMjeH$s3kK7R%QwsGGZlD1_h-fPj0 z9EO_r=X-A+$@x7M3jbB3sO4vx_9?seU{fm=*5FSw3~lYM-PqoIq_zI~W$Q0yqhV~V z-LV@D^YNF@VeFdQx?ybHifbw5yH>SR6Xe%ozt{Vn~HMOt$Fi02T8QTwUDApS|wWYydzpoi} zf&yK?QWQP7QWCMb0~8*qaf^-{Icda6~G020`El!YjiKmac4C9U0VY1J>b^@p{Z{`*qr zx|Al4PRY_*l`1Lj=$nllUGEg`2()&k-LAs78r;zbHv}aUVwg6qwA!r}b@9v2%?O18 zam;Qr41cVOR{3p6p)h9irn&5fq1|m#mp=RH84Xb2?1cfnvXhX~kn9Cv;KC;is|3w% zm@CR54M9Sw>xM83?vy#8Aw5*~J&GPeaDd7Xe7LEEvN76UhK#C<&=k^4fD>#&AXP79 zAq#Lan7CoYFqZlnMw1X-gp9!?#`c1698JcYbAK|PyaX*9*@uNPizcIUjuOvhY#a>u ziBFg}W+UdY5fss8(P+rI$AWPP-VXQ){kliIkvC#v#yY4Nb-L#~j3V$k_JyG4*FBk# zIeW=$C#`e2JK&UIGVDMIsewSsIkV|JtCXJ%ri_6D4+XK5D3A^u57SD@IiI3E8jqF& z6@Q7$M(VRg#eG(R>(VjnTbKC{&!I;D6)g z2NZyX`12u}eYAH9pyvGi_|2Bm2qF19Pf_r%^!zuM>#pJfpjJoh zR)Nt*-E7>-wFpg#(X3XUYF5|W*{p9|bq0BZfDW3L;w}hkkjknHm@pwitA7pTMrK;K z1Sxnet5T_8j3>Yxv$;|tocqxtZE#_AsT(1KRs_^zVPMmr+RwhX5O5J<>c(qB83V`x zwx|p2L%K#tr^9Re1b7Emx-POa9K$CFA_YzLBC?4KGt2`Rg6J)nBV^||%3J`>kh&go zy)k%y8&DcKHrWGZ<{%2F6MqKL7$6tG32eH=rW7jq#_dSZ-w5dZulNQU1 z97l08a-(rX6gO?KJ2bnco@-O!=FeW_K?te1Nr-JbnY|1SXm{|li`?`OTF6ZyuXc}e z2-;G{O@&3pO(Bv@QGN@t%AC6%N_>%W6SnkWk_l{xHQ>`I$70G&*nf=UPMKy~O<8gC zM|D~H>bo=Sj@Ny=Th$HX&^T_j}ccnH+#|^ z#xhP<;-}n9v8cES)RV71Aem{pbKmCX848e(D$Vlz4mW)eBpB-5G!@+9CZr4SP&MnQ z{^BM#p@yU>ZwW|mk$-a&u=r})Q$0#9C_`m0;swvJ=yd<+fCEsdf+;=;**lsYq*x@T z`J^X_pQJI8R3MW1k57QqXYkXaW)ev#?WrIt1*~lB&$~~E`sLBI0j!kB1A>SwWCD@+ zbAo$IlRyb<3P*r#wpR_)C!i-Cn1RSd*)hd;X~P<)50R6Dm47Nb3TEl8T&4m^(F49P zAd#vJS<5Rjfy7>wDi)R6X9% delta 1891 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 delta 827 zcmV-B1H}BQ2eSu|BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0}M$-K~zY` z?UIp^7JmWNDNO1V@m*EVD@oHX%p`_RHHct5b;Xhg*q#T9-I6;XF2Xyi;5HJvamckyT3}w`P zSx+%O3)#VaVe1m1-@<-(I(eykUjl@;o<^c@I^$6?+;5wa(%h6eH=>VQIb^;ii z1u6c0_G>h~TC(Mke~Go}6BD5jLM<=Gz47=Q1=dwWvTHk#BoesNN1ozBW$1}#!Iy-4 z4={|V>j*3}Pr=yEspyFwfRHDOJrF4a{)9VF5>YSX zkm0f2OxJ^tJoDOB;c+QDV+m(2krU4kD1XS@W1t+H&Q9T>1xSAJAd%V^&$(P;m=Oa( zD*?a{V*8%h6#s*IzHO1)b_f&)acjYDZQ@_DNd{yKsPx$*VzwGVfOq%|_$?6Iwa@R^ zB)d!i#DwI^di3*@;4IxKkwJpTV1*!EcOD-+M-UpPrc{|y>S@kAy=DGGX&P-bJJV)+@H%xp-{05{*27JM z1!597gUTHP_w(7#0fpIY7tKS{tQ5}zV6VLQc$4tFznQ(g8XhI_{Qv*}00>D%PDHLk FV1nxWgmVA@ diff --git a/graphics/pokemon/venusaur/icon.png b/graphics/pokemon/venusaur/icon.png index ce3b2290ac95bbb4a77df21b7ad9513739f06424..b52902ff8e3ad99d3d1bc8766f009952225a5254 100644 GIT binary patch delta 447 zcmV;w0YLug1BV2V7zqRe0001qplF?uEFxoP_Hf4(yzVaQL#6 zjL9N-1AT_hS18rN!6O|z)q)@{!3G;iL&d*$Nw~y^xCGpKF`Ilo^Feu&Z<;Mkz6-%!-RGeWnT>`c@ci7l5S{`1nGoIrIfl;A$;^a= zfSfKA97kxde~>dsc^@cE%!meZsw97K~zYI?Udn; zgCG!uyA^^>7v}xn_GSRBRNCC-(tq8kRc0JENWaVFTayBy6EEeot~%4)0xGGLl9GHA zokA`#M&z8+)WC6u^Ea(IkB-_`on0}y3=u#G0jT5j#Mw)_SNDxZAkx^t3nT3h?uGK`X}jR6jU>7hm2Q-tGEt{kpILWWJXA zcM2e{2vYgc0Wu><<;MdcXM&)C;SE4A0wfK4ZUT^W0tlMk0YZYD074;EfRt^AJ{%n& z8og2fBtY;HfM5!c@-Kjxmyr+806Ftv1jvLBM}WNI!~S{x%!eNdj3+w!<5lJW0000< KMNUMnLSTY4!@r~e diff --git a/graphics/pokemon/venusaur/mega/back.png b/graphics/pokemon/venusaur/mega/back.png index 5da7c6cb830248417593719c459ccefbc731483f..c91b7db3dbdc13883476aa894699c431b381b714 100644 GIT binary patch delta 1008 zcmVDiE;$(nzMJoKP|oOg2+#hh(`nP^ zxPJ66T8}8DtWD`DvM)Lv>OKD_(4-hYQi4m+dPYwg`{%tb5QMgZ-T`TAE$ZwYe?jR< zleI{{_o`(=@&rs!dneI629rzyAO##SFm*wrm~;+5qvHjs|*gp%Hb}E{S8vBTKls1p+pJHTG@$B!2T6 zrr3FZX0wJSV3>gmOdDU5OP<7cuhkgQ9uO`9wSlf+Gs_?GTc6r$1LEK#@C`kxHh$$_ zJUN_Oiauj(VAM=z`o?Zl%<;P#V8;l!21vN-#sdww2i~0ASZ1Z?Chu#e)7S&7+Qr-& zS=ElQX#L)FDhn#Yc=W~}`F{he4R`l}DE&EqCgJUNhHNZ~E#N4RVKRpocWYIanJYf5 zmB(7(GH~XKbRS@*E5zq(LlZ1eK-VJH%@zm%_z)`~)xae6Ax1t<7`q;Sf*P2AJPRBE zED_%ki-hw)0dACrpTuW0u_~6o;G+?77apb+;hI^IfF>dY9v8)|fSZe!9Du_}01$D1 z%olzw1c5pL>j~%lx@KV>m(e5@>#zvapl8LyW+~Do++Nq`A`}?Qby2Ltw-vAy%MBmY zIEOYNA5Sz;Y~Cg~hq?fO8}V3j@ED~W6;cF>hd;mJm_*74buN=6=034>2{Bt0@#^7A z2@)U;$MYoTNdo@RK&XIX8Gb4CUqrHh$fx<3SP4WVutfzF>k7d9$D`kvbBJZQDw1xX z#JW^KeerJk@!T=hjmI*FCMF0Jaaf`U<7OcxWX}~amN^_(3Sgov|1gXn?(e6$e%Kxf zrOYN^G8LO*QmhqFU&yh%#QZ5^M^Z}8Cs1Ry+N5z=e!Dit^IT?^=lYc#Nzjmg8Ytqd zM3q_*GL+d>StiDK%&)%cy!W)M0GR=r zEw0dIjhE%`Xb=R-k|%N(xdwiPLS@s$CQhH0S|Yi_&&6H21HNJx=L~@yY-aO!@_wWM eZu}oA{sJQAFfQXtH8=nO002n`MNUMnLSTX?$V z{iM@r(`UGT@Gn{qD5b1_P3bYR&pRFJJ^Lrnq!_g*hUPU%sTwMf7BvSmW@2ux6WE73dzMe6WYA0uF{4+p46234NW4*I9VR*w*?-{JwK zcmn-k>@hHPLa9CM`JP9Ht$^AcbV-@6VKUVKwcQ~(_s*<72plSZP3C9;Wf^#oa26=QjneS5_<|;u#o~8-G$QW8!?Yq?Gb<9%M1;V@qL>zNbJ2nWupbEk zB98gOuZ19gPzPW&;hbOAEX?CFnxtYC7J(Y{w76d{M7n_6>-t=T0%Nf%idFcg0v2Mi z=7SpN&?e;Li3W=Gn*`@j7XWZ09!m}$qm-jUia>Gy=MNl{Nco`7Ws=0)CzdWDrpqE; z-hVAY0;J)1p5#19z#ke26;Ld~uciKrNap!$LeW)m=(ight5Rtl)k{2QhCmKBv)Ma& iH&OsM{tpPl_zNQDFfPQO6VCtu002ovPDHK)LSTZq`tjue diff --git a/graphics/pokemon/venusaur/mega/front.png b/graphics/pokemon/venusaur/mega/front.png index ec8e1057c2b62c3c9d897d5c69b53a9b5fa966a6..a6fccf64ee05f1b576c1eac0228f7681b4e98486 100644 GIT binary patch delta 1278 zcmVcF?r9pizxZP^ncR4+D4Mo%TlZnC5ORMr zxw(;i{#eCW#kW%g5kfM#zp=6YoF-w6Fus+-e+Ly-R}flXe41R}AS%|-txkMFtZ5o1 zXb~(VX+{AGN+yvSq4--3V|+vSh$3!-a8W`~9b@{lxZe2msj5m5 zBmp2zFqFd)K`4qw(NM%Ki%}u7jCm2nom(VUstDeKiA&Jfae@2%H7>!8j{m?E-d4NiC za&%TgYUIGDqD1^?KLJ1n8c-AxJJK6dqHP}%5jtJ^1ps;o4XEP2T0Ii_S5E!+8DJLT zPhN)shgVDFoK>~n08sCCkBBS)lO;k=e_qq7xFIpBx7&^_NefQ5?$BeBi8aCrh+Q3k z7>VhPYOU^6Q_@1$aU9#pW@1J-o`@%&6?ACH1I5jBYbe)b?L7-eMOkdXF z>5=19p~gbDV*_CwF_zvGDZ=e)*QwXLonuH)eIqT{Fti;#%UEGkmAwjo8^rqjIB7phwpx+~)qz=~Fb zLXkF2Ni2|`>c)%xW&uZoc%^W+e`rx={#Yc&mz2pG-1GUo;FT#(on@3CdQ$(Y3~tKk_qXtgqf6M4GP zwq2KzWxZuutO$(g@}PBKW=gOJFeXau+I1&rIcq{Ri$!xEHdG77dnIp^e?V-x?r<{k z0J8~sQqt~$*)sR}2}#cZATD>!Su`XH#9j$H`->1nLnM3B+3pW2=A8#{fi^C+@K4iX<1syBV}L!Yi&8kC2e55?5+e_6@10cMS>@)er_9|X`74e*_Bu05NOMBMj9g+BlAo%^2m z`T~$20nit~h1++_GobgVWbt1=LiNfYYwis&D7*P7z+L|Cz4`H-NG>W=CR@;q_~xYm z^!*B!;kWk(t^h=^2>@rpsPG6gF1CUAlX>FM?SoEXG&qGzUNqslf6vBH#q0libhUFf z)%oerz4W^5yB9;Di!Rn!Wn2OMdcgVVXrg&0!R*dec_`Lcq@P?eSaB|ZHSM7QK%teZ zvXCo6Pf0*?J~(~$fKo6yf|+^$_7(Hw37iM03l+{&0kQFS02qQw88=l}o! delta 1286 zcmV+h1^N1v3!V#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tN1oufqK~zY` zy_8RA8%GqzN0FF0f26$x3Qj0vQwUfPwCX`%Uu5;oN-}lQ(pw+)GPB=r-uvF{jL>!X z@O*?Z`iH-~{9%>gTc7LtDv9Fw`eOVs)$ZskpAz_vuG71V-zSsFjfbkL>nk^P zA0aBGcQ=!p8_A~+H9|CUGer<%tkAm~8|zP562_R28!3EHe_?e6X$(UW0Me8|ITDeC8kqqKrOXGLqiZVT1q#3_iDWdQ(bOD>Aq8H4OV|=Gge6Ky zMA7IRNYj{)e`=sd(n|%7m8nIhs7h>ZG6g=tXezygcX3+t97YalbO!h{hC;z;1f};w zyEx?m8qF!uSqaq0flpP9`0;)MfDAOCsx)?FG^RwmcSvOzZ0RQe*da8a$$7PUB=s+x z`mZy+tr-ajH;bq1)*JVIOgx-jpfA?P}Ml*Sno#NKk!+7J4x3IYyTA!lpD4Zr3^h zIKAiff39f8DkhHLWwX8+7jsXqyQxXd7clL*`nQijYB^$!)_MakfPmV)4bCUYS=cu zt&kPKigtrRkv2;q9>`C1^Vxp0K%zmiQn+2Te;GG(y?PJ0`LX5(H;vcwzD1QNH-!*j za=i@?Y(4_XISrUYkz5UR$mTz7((vlc|NShV)xK(%1JSMm-C zf5evS4kr^2u$qu3g?10DmbEY5()1hv;$qjDMFTM)_Day%ACzJ$OF)r}XV!s~ZEFt! z!Lp~&I~3UtgU6vnvete}BHmV*Tm3UJ1|YgTafhd_Ombe_+qD4MlOLn(mil5S-ZBQ# zSoF(YigMq2)-;-Z=+kvegYr;_pHsfLZghe933P2ML_Y2E@)+SDsBsBIkWs zp)Wps|b;QRxv@oNoj1JNLw)+XtP&XmA3LylldCf1iw@ zir4?u=yK=XR2L^h_rmM4@175(F1uLcm2n01tAP+FqlxaB1hYGr<)PeTnSOG?VaJ68 z*7W-l0EJa9%TlgLJ%xZ4VsP^09%Eo~1S|9Y?Mv>-6Sxmh7b={k0`lPR05Alzezq-F zGw(74Ab}9mQ_r^b??zYN^@3YDO#fx%68LjE{!(Y7d+3wc8J~%>`?Gt=(DlN31oZJ} we5U8ozlEP&jMms^>uxgl(0>F&|4$(F7g=O5f&Ffmy#N3J07*qoM6N<$f{i(Awg3PC diff --git a/graphics/pokemon/venusaur/mega/icon.png b/graphics/pokemon/venusaur/mega/icon.png index e9e662b0d74d161cc67d4d4f34cbfd9bce347f6f..23846ade9d9dabacbfbc232d823d2b72df4a5386 100644 GIT binary patch delta 484 zcmVJuiv9X5QxN5Q@mqJ$>8vO|A3$h zssZ;rKPLyoN(jn8yu5hce48W|Nl4xFiBjJllGL)2&HD5k137}I2B@!0HYdatgrti* zN6enBUbggO*0%PR1B0i=|39Vz)A=y-Q-O&VNvXj^?OowOgNd5`K4>s;)__3`23Em9 z-he4Jn5YF4$b|$`{1F&j1*3hefWa;p?1GUTw2u}{X8UB+!XQ*j7;ndybEGr3I&vw%_-nC>Oc-VCM9KJ0lfLo-8peS%lgHIGsKmBHvy-W z5C_CFz-;-vg!`-O^zJht$jVez-0qG|P_TXgPB#W8F;mD;lz*oV!~hAao2n_#0bpE0 z)d_S#I2s*enN&G)@t`Z_qY+13Tnf&4R98erBo-GK3hr_>gvjD(oW5Lg?h4n{Q%RA= z@%{OH5V})+E|Kr*j1!y>%m_<*ehTr8r;;$z9kO5>C(vOO2a)u2i_iSdI_rZ(q_#fA zA2LRJhiCf-6n}M4^@Q&S1wEj4Mo|TFGV%TQ9h%uRqxH~7#sa5LbKB0g>aXAIsUxT! zfac27a7sN%Y5sNRh_feqeR;?ATHD@R4J?sc|G$U^(|R%Trokj%Nol|&%^tykNt*ru z44BmPC@^Tiz;`fEG+;^tCRu`s)JB1s{}C8nu>!{U_&5dz+hDK_MsYAcmS7qm4H((@ ps6N4X&EF<9nAf%s4d&-QJ^ccD$M`@002ovPDHLkV1hn#%!L2| diff --git a/graphics/pokemon/vespiquen/anim_front.png b/graphics/pokemon/vespiquen/anim_front.png index abaa335c8c25707a4a6de231aceed114a8d76abc..ba2a75308a6312e26874fa740979e3beca2e0307 100644 GIT binary patch delta 1262 zcmVOC z000D_Nkl&uimG6vq{0a>*qLMU7xMBnrR(tw!mz|HiUZ2Zq_E61exP2;ABV;HLoP z!0oHDQYj}2KYwyy{8+W%l^Vh@8GZc|&Xb*edsL|?IpU~KmaSDZp0FRRo10tBYMi&8 zl0VN`{ln_GQr0*)Sbq1E{QQyC=Su*M9f4n)$@wqgho`lEy$|Z)Q<6{wKJC~MXJhzd zRqM@{s((|&Y@LnZEUYgawTMk8uubrw&L;Q=UJ+Grfp(EbvMO#F zXvLUX9LI>R<3xAOwKAmu-N_JP(8U5h?6~G|hWt8=KN`W%XcXRFrpG1}Cr!hYFrm6dZ$x9XQu` zu~TPMR2kd6n3?xg z`uNYfw&?KZbrGJ z0QZ5D>KCqL0+$s5>UczW5daDDtr>yQ1D7w3)G+>l-W34jit&#fDRuf0w#ULWuOco} z{ZuUBdKJ4?sR$^C^O8qMXp=7uR@iRvu6#~8zrPLraPde3mP zgnVP@02A*Y0nlBVwI%@}$+Uo3qqt{l90>InzDaR%=FSNGqIrw|bWv@++&RGhFZR>F Y0lsU}#Xye-R{#J207*qoM6N<$f=M4#fdBvi delta 1230 zcmV;<1Tp))3Y`j&Uw;IsNkl*qLW%t?caQ_`~YS;N^fH zud<9H@SPd3PRH>3y3w02_4u~P**+b?Y3wgteGyx3RJS1jpH1)&0u^Yr@LfX)77`5V zc2Kt};dv2Am-vnW??6n@4ZtH%OtA#g7Xvo#CImd(G=KAAB~Zy%#uI>zKz}teOcV$q zbxC~wv^Mw$xLqPaK=_5e8a*m3uFIv-{JS)_i6J>!9x`7$Jp zu>b-EsDDs8!ZXJxbh1b|P9D`2_o%VH5WWZdAkoynU!##jlE1c1rBuPqd)SqzT z>GW2TSO*)I0X9PyU}k>JnplQk0sv#rAoU-6cYh3LA+nTqwalH)?&xTe&hk1+3n7SR z3Q62d)3y%Cm6#!ceo;oYR<{haQ!Fh_Q$(NA%=DRS7nVXlcbhaAVu2A%eoK5`@OLkL z=`;Ah{WEs3|7rhD_o_e`^vq7Td-eR!QCEwH!1LgdE*`|-egQTDSNg57h#iA|5zk#q zrGEv7HB$y0cbs1DEq0|hs8951+T=3_JI;u!D5rMfXw&2>D$Z4uQ*}&0K}8)_^@CMV zQNeK)+^9_00M9B44k5q}Txz`7sS7Hqif!I25;Ly5Yn7WUegyw=Ez-ZdKG`Jr2cqb5o_g zmVi`IYyot7US0%A<|>Lk4CsAdT}N)Yiee8#Iwt43-=Pfz9~%_>Lw2qLktfRFZj?(Ja38t3e&I?c@|X%xHy|R407z7B%?OMhxO{P? zh6xAsP64b-#vgX2)afVK9+hccCS0b5xmd#YrFN}~3TTJ(f@jF(RD{}E_2WblxSR^$ zy;`B1=#=;@xyKwstwIUV_Y5~n%ttqd39#||BLMo6W^G77NHQZ}Hz@Ae1_z9qmM6i< s*)L{5gSYr|i)!ly{|0;M`Tw;21-@(2#WJ<`Jpcdz07*qoM6N<$f^_Fbt^fc4 diff --git a/graphics/pokemon/vespiquen/back.png b/graphics/pokemon/vespiquen/back.png index ebc7afaa7cc8649f862c08b66ce36b475f578553..7586f4f6e519ced20f0aeb973e767bae496f25a5 100644 GIT binary patch delta 846 zcmV-U1F`(L2eJo{B#}W-e*gz`Nliru=LQE4F)qZ_0mA?Q0~JX`K~zY`y_L^P8$lGu zS0?n*gSu3Tr*^02oYl9Dgh*;TLpDXQxUgr1NNmmq_75oN<|rvP^DmShg!WdHo=g9O zqL+G;E;c1+`(|f+Ti>GG_=l z1&K)>a2E;@+?^Z{ej|`Q%L9&-;GTIeAY%}24V_Q0=DP(x<9^unsXic*!B)1U{S>Y&iPy4?*TMUD9r*y#UPxw$K&x(2w$hv zK)EEwb6JN*EZ!duf6*_-6G~SwqXY;gFh*M_J3)YF0c{n5ryA5_AQXtImNqw;$T~<2 z+|e4A#5s!v=BmzACILc>pdo}#7xyKQM9{HsRhdM8WO0T?8gw};perW_Et0 zMAa}rML>aP-M!p^ku}$G9Q~1$uqG2)tMAQ>AbH_dsj-3pduh-bjEe67o=_?k*em@H zh;G>f1B)vKO8}Jk$pw>1GNeYquQDJ|T|lZ81m^t!+C>69Jj($L0A!^>0-XQM0xY~L z;9DsG&99jxf4@XYYzH?N3Ly63c^ag39i`9;Zkh_HcwQQWHDh2qxQ?z8C%+j172xb9 z0WPCX+4vS!60-XB)*u3YUw#fHDiSzTn*nq44n0L|UtU2dQQ;m_$uO+W8<^mE64<(G z5&$!tz-Vwm8j8ZY)L>0{b710Ij0d-Z9n_LoGCVo~f3lOGv*t*#Fw2H6_VcmtcT0#$eP8+8KH9q?QTLCOAGcH)(Zj=2<;OK8iQMbc z9^jcs4Zj_+9MRADL&D28l8p0yNgQ})HpAfzApGNG*P=jYRsbcAGnpPAY0OLlwpIc4Yn+yC=2vlH?^V*aLV@ptBi!5b* zf469mSwp}pSWNPOzfj13;P2!B{X`+VmIpj#A%gm?fXYFIJ5U7OR2lr;#BjcffK7-a zL@?llY`*`hfWPaB;k79O0XGPH-S6K%%=sR>?*<1kuxN6C5aM+h_5e1H8Os9H)IB&&le8}55?aw!(*Tu!AV`z&<`meDF5|7lli!Si z3J89c0O#?fT>KVI5vu$3)*uFcoqy666$R)TDC!U#1cul?zW{Af5dk;FaO^G^)FB8I zuyxU-0Cjx=pBGa2PDe2pUq$q?f?J)07*qoM6N<$f>XSfnE(I) diff --git a/graphics/pokemon/vespiquen/icon.png b/graphics/pokemon/vespiquen/icon.png index 8c6c9351660e4dd3780530e81b072b609a940d30..c636fb86cf510d833779ae8f6f582eb5b33db217 100644 GIT binary patch delta 328 zcmV-O0k{740-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;ka(9~Uw z00032Nkl}>8P~{2{c);JK8+lc<^yKrH35oX-uR>MF*#b28Isg zEv;f$>mED{UfZaW0N0_VZAHK;=^R{T4;br)ZkxlE9AmK2v-p$~z--$#Njwcn3pEd} zQF@W%GT8r8KS2sZ3nUEE?|Wfpe)Ph?T$sE6?3XYb@8KW}g1`4A%-BJ~giB!vcwz8Q a3G)s2=+1bZQx4Mr0000| delta 288 zcmV+*0pI?f1NH)tUw;7sNkll;A)s@h?k;XFcL|OyLbEoLcI3%n9Ug#EZewXZfViwJrOc1& zN0}!MY`#W7?CH$|5|@og*lGg^GW#vWHB@+q$xg?Elqy8fWPio>p!0C;!SCsq?sCAV z5tb?u?TqLfh&8}}(kh0f?7+RCwT>zdaPC{$mIb8Z#=x0(fDpI1F=H2eh(Sm9;=)IO z=(cT=cpQ>sVj5f{Ymr3WEnIjK$yg!c6?=gnh((ib+I4R9M69mc4J^}fi0;w!TmGGRcW4nbdSu!+hC%krv)c>XLoej3n4qn=++<;KtC%^YTY@UD9 zwBz_E!>Fk@y7;&Gg5W z0SOQ`wezrIJtu=OoZ>QAFd|oe1>pK&7zn^0lgq%W43GdhHOS?41>o-hYK&<`hgK*6 zu~T4vG^`hZuqP_^7fU+`=xa+mp>lsTbAXsbcq4#CM5)=6BNycjgCGp$22#_-+JN&( zH-Az?-}k2iXke9dE*drqM;Qb`UqrSBT(*<@ng=j42?*2CvsBm4%05B3V?H>hBpw)6*FLz6?4Rvule5@-0toiOKhR>Tj5C_G1 zuTPEqIWW8Z6vx{Rw4?P3n1>Au4H{$eDaP>-ts{IC3}CdlMABZ0`t~7;7NTqsWs{xd zcJ(@rgZCX+fD?iGNbAe(+*yCe;qPBI1)Ky?-%G4(o#oHxZ`=VBW|qc^4>fV-py~1K z`MVEu@Wks|1aQjKT0X3N_CW(tB$PrPzzM^A>nzT>*ct>FfYJmTfQEmSd5B|M1t3`@ ztNA4arN27J2*9)s05<+Rj1P6#e;mhg{Dsl5YJgS^(CB$J0lZri5FCF7P)gmy0jfeO z+&wt}NOvCsJii8z=AC#oKqkUbqUMtQ6QDtI0Ki@6 zY-1+(pNR-4-q%t!Gd!pPpY%r9pitL$YNqG|&!gC&u!Ky_Ld#fICZK0(j#dKUMfvM{ zH6wr_h!iH6Q}Y;sm4R}%UQ)9&pIN0}34N~F?L^H~Y(FWRkH zrT5F(t6A3U5|ACdsFAXLvrGY$?T?eUazM%cB=_vFs`no+2mAZM@pkZkk3W4#N!Y{j RhwK0V002ovPDHLkV1h5D%xC}r delta 941 zcmV;e15*5_2=NDy7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R18+%0K~!jg?U;*> z;~)%0YsWm=wEzFR>j#iWfso8dyIRE~wVf*WVvGqneLU{CK9k_ z6OkEEQ2`BS1(S0r1*Gf%G;F}*`^CUf()&>ZqRFoeyaUy{Q3Dx&W8lRA9lsA5(8QN= zOy+>#9aljT88gU#`kVrSrp~4C?v#F+12|9vH`4iS!5nF{<8e9Fo3M1AM+-PYiJmf%R$a$MmS(Z3gqqWy<>E;QD$Z z*(+?o3C!?%!8yI0AfO8*6JY&I_s-J4Zt9OO6L2`c-)}_KKjkaiM7Db->XaXO#UO~B zW5&p0*~1}!N=ocv(`%j zvH_o?@};z5K43crslGf$(Dh?6c&%Cy+V*WWpd~4Pb)5Ny9h}R}Vg{&7aa7459hg?D zG@FUi*at^jb&+xGKy7<==YFgwYs2wpyS?7V#-lcB8sPV*JMOsSj=vJW#@?6p8JMo> z3wvK3-~Ys5!`>IiKY)t<_)~r?y=Jgy@6&qPv-inZ$kkozgcbT$s(4JkTY6s`43aOd z*m*^NZsX(&Yj(aszVd6w!p>Oqm#%z)9eqwh?BgY|~K z-{fohb^&(i`$fJ-!+)V~;?6|AN5fapw;*qSYR}&ARrHN97H&3qtNIo6O$L_70sU0b zmoOP1WSnbe-#}j>T1DE!XN910f(`oG3RrnZo;FypL*J$1BiN2S6^5*ye^)$7Jr7s{K}Cf; z$nvzRBeY+u0#HcutU`FsvjT>t_~5z#fQ*+4H?JflMWZa>qbPDT#=OKhc(B5u?(P?Q zj|Cm^qPz3U{er0gFa1ub09KHDgc|nh!BV)`6xeK?a*#-y5uT%pnu*#CK)Dx46YxhvzU> zO0-kPRb$O{D>PVNxd5%u6H!`IR2pASIpQNHR78fbQc{FOq@dQ3*#1FIomfrU40Y6fnn}!I%`Q0BIVK zaHnuhVzEoP3a|}G&?Lx(;H(3{hN0j^^m+XMAN-y92Bea}%k3TYRR91007*qoM6N<$ Eg8H-Y1s(9|_M}LEfWR2FRE?;K=knmjKW+R>1i_&p#p2CuX zPp6I1+xruJj15qtlyfQY)_jHL+l+d++d1bh#VBgl2TimzK>FLc?wMHYh(jXWX~UI1 z-^p#Pb#MkFr9?YsTva!@ZUrXRS1v#+@I)Awlm%?wQ#F(KgZ3a+wMc~03vjDg=6MvD zTq_q6JVz%AS1JN#yM470L^uHoEFdNIa3m310-$qr;)T+8JQ~80!V6b|&`dx;6#C3D zJs6W>Es$mc0`3&9Ni26M*8)2M0h$201e}cktPBA!q~C-6*Doo?z5t|>z{@-I03ZMW N002ovPDHLkV1mud>l^?8 diff --git a/graphics/pokemon/vibrava/icon.png b/graphics/pokemon/vibrava/icon.png index 638aa724aa228e742f567f47deecabaeb7dff666..27a2ef9e300558299f669c1eac19cc710a2079a4 100644 GIT binary patch delta 229 zcmVO{4>AEnDQ{T- z006*AL_t(I%aLa!e^J?}YEnV-gIE{=Psu0y4WAxk-#1`i1Cjp;=9Vb=3s{IEE&&(p zDykSb|AtLzGK%Wy%RR;r#9BNMbaZ?T;= zI9^b%aJJHih*ZsqmKRGQA$_cnl0Kj_Xd&yyZ>L?nE%3+ZE6;=pemsQ1=*v@>w248O f%nvWj2Y%cEWzCmSg1RBz00000NkvXXu0mjfmd;u3 delta 189 zcmV;u07C!W0<{8=U~ZUh|;=3W=!C69T8NclQJ-&+wTmQ;euMN zR6QvMCTMfs;&s~Ka6z5I*-9TGQZ*-9UMz)#^sz!p`heD;g{&LDop$le#s&WPEBu)- r!H<_P7=3vQlQz){llkF=`M{3{WzCmS$9e0300000NkvXXu0mjfK}1yJ diff --git a/graphics/pokemon/victini/anim_front.png b/graphics/pokemon/victini/anim_front.png index a6b9408ee5ec7a42a6bc61bc47da11a72fdb35a4..8cd13f515a14d55258dd33656ffad53ec9813ea3 100644 GIT binary patch delta 857 zcmV-f1E&0v2df8=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;m?G((%# z0009HNklBjU5P)T(Xl?8mItD4;n@WMKviszWr9>yEP_QYM)GY-2>EfZd zOB1DZEVynnx0KMa(01+;$et;Gp`?SWwI@5--dRxa5^~1V`+t1ze0sd^q-nP_N<~0r zW#NEb0F*3u@jyWh6|43iz>?!^%mwrvYyAdMZxNU6Youf;0R#6}Ekam8izSpT%W_yi zZ^4XMVgSv9bV|@y-6$P)52u99wYm%GAv`34eHPwsdKfwcG#NmL7b&7`Sz8@8#Sx;k zt*!T5iU9E#dw=VLFRvH^@Zj_a9Uj=mkEdhA!T1*o9FGYI&)+dXOu!i;j{7Wda6U@D zenSp05TD}9%L`ODqO_t@dVKl&0u{}^cU3N#R3*hF`l{^1M%BF1G{MFHxO*-GfO0h?(?!S11pZfUq@f6n7>y;QQDHBsl3B}tECjoQaJ9R*T~Q=nx&;;uEENHj+TsDTNd5)m zff{feXMaB6+13rB28`U?Go+%fAx6@_mFu4Y41_1Nw7$UsnkTObn*m7OuXDnzSSEKp zrQtLOHv}1^?r?_)c1qGAO`{zup~k8^NRO~bn z@7Uu39S1*ujL6Iiw=3wNQ4sHdWU!!hp=((Udt#&I1|^G7KORn<~Pn zZcE{|F$wp*y2{ci$HI}M9c_4xiH8C{qZ+ShxPqTSZ0+4sttpExKBa?%3UAqhc*))BOc<`V(-JAAOLrc573suD!x4)A@)Y!L~uAF5T3pgKt$jK z5l7o1*f||`KYxBg2^ffvargWT1NK;()2Th~em}$N_0u~S1+7d|Qk|p6b??_psE~r(XSdEMr>fMmUN@I1AZgqdPL)SE5UdJ;}F^poa@5q|8UTAj0D?& z-aG@E2u?%ICOD=^mzg0NKovy&*!MB!zK8pB+zLC*et*9UZkPMz>n@CaKuluSt2zu& zx&vV|yHNpmoR;GP2>@<_%Q+w`8R!6>1MIVyRGsEiPEmYGY2`}#&kp+?vMVr;;I{tl z$_rk43*0oA$pi9F_V0n588kVPrUBcwrvukAuLuu}G`T0F$j=ZV#lM-xzW@w`M|8Bf zBmw2dmw&<%07dunRFsRRaHA;w!>ot21Q`_F;Tj2XOVVL5=&aEQl|T@#KRCcGx=2@U zL9ba_n0k9s3(CzQS}Sj)^q+0wi_f?v108!`zYHmvkE#;b8I6Y6eR3iIgTN7W=nX}H zFHbO{j{xYQ$3uMQzZY&qVG`X`>~^5d6({MBe1GOCy(1TXmWkw}lDy z(gJqSr{oS4+e5SO(Q1&O4;^Qj6Gmw@cB(DxhMR7U%Wk!??R0_`_WgQki(Lq#F~+Sh z0jO6zp94lei6KhH1fH@T(hUNVeoWcw@jEAN5Ppi_;W%IcZ4iE%?H;svKpRAeaSFIK zDLE5Pls0Hc=PKI|rewcLm+R^0l>9m8s-6S1at_eN-Qu?Xw0;5c$P}0z&=8~m0000< KMNUMnLSTYOtbsBB diff --git a/graphics/pokemon/victini/back.png b/graphics/pokemon/victini/back.png index cfef55fef4e08cc60196be8274f63829de2ffbc8..5062634ead45d7140a38ed950723d15f521c2e8b 100644 GIT binary patch delta 543 zcmV+)0^t3U1%(BWB#}W-e*gz`Nliru=LQE4G6+5O*Zlwh0q99YK~zY`-Ic+Pf-n$< zAt7EB(Rjvvft3=^8o+pS4;?sSqTmax^a)IST(gmQ+?^I#wG4XN%Qi7F^y8bq?N|-t zuZG!s0rWM%)&=hR@j;-y&~E^)1`IX8@*WiCc%%c4`&c2-03#Upf9?ftp)YIh-6{Is zumM=?PT{(V7#cG8FV&Z(As{$+d z2LiwlmBMKQY^D?_U`rCf5K@7H$?~u^$PjGo%1ZtbW(FO?8xPPkXaQ_lBajh}G1;dw zgwGVfTLC#RBMr!ue{%RoauHQZrZOI8G%&A#Fl+%jVHF_~3tF)IR3ZE_5g(*LKrr24 z1OTyb0p@`q6Kdk^){wF|Qy-x$33?PHruqIalJbDJ?_aP|2g4-Z_f3lOk0F1>Apj*!RCGwX0 z`AWoF!{~nNw|V!Z2t3L>#1&n{m)4h;LVClnsWiP;4?FhH2qkt5k zjAfk+CfXkiK0+ca(^P&*3jSEaoI;EfTPrPNrQ-T;2b&#R-q4Pa~mBU|9F+czTXfpG`$E#Te)+@Pg!W>XvR{C0=T0$4N~UJCrm zsJh032P%RI5poTPUO)}ZNCPUR8sUMQgh|PD#{Gf@mIjF99$*lEn+S<~rUh^BIz(7! z@|6@wh@LhW0YL70fMr;5{sNGZz}pT^VYZnk2*@J^0GuYUnbd$is1OOHWm!})C?N0F zT>v3>051y2DiVO?=hq7e?Y{z)=6MCI`h0fIXi9 z`pCJzM9J7SBHc27cK2m}&F_wyz^yD}oYANJu+HUYrMz)mi)4W_mb=IT5{aF+>MX!X zuZXbz0L)fE4p676PXY5*-5KI7B;q>H)kRi`b_?eTQY>uUyiT=B*zXP=b|g~0rHBw8 s2(wM5N-mYFi3EhM_bm2*9gKYgq}jbY2nkcv00000NkvWtM6N<$g3W;L00000 diff --git a/graphics/pokemon/victini/icon.png b/graphics/pokemon/victini/icon.png index 686f4a499f37f191de589d310fcd75033f7397af..219407dbcef3a624eeff6568f5181a9b3d676917 100644 GIT binary patch delta 307 zcmV-30nGm90{sGz7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;m}r2K|Q0002sNklIHVxkTv#%}%cw`rP>vEME}1xCLB9G(J12XF+NGoaA`9PLiP1HgaY zF6ukT%fzl&^nERDpgBVtRW`udS-SK|fVH8x_zAsBin#;4o0L*}>H)eHN?cd59chFR ziBx397e&?*aNUIg#&m04iC8%w@iH}eV$J@grh4$x$Do@6lj}hsWK@{J5bX*>3>rGf zw%QeD^9^C><)bikWE3WH{pf{>sUIIjfKs`Bl=Yi_+yNzde>8>Jo4Ei0002ovPDHLk FV1n@Jeop`Z delta 283 zcmV+$0p$Mu0_Fmc7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{SKl*4>1X=v{g)Njl&my7EC{#@nPZD@1$05ShA=ur)9(mLFHz z>~+FY2pd?yhJiYDQFH-s*cJ18rz{1hP)f`?%zW>K;+C`x4G8oXr9k+*I;QJPO`V%SXx;=)}VqJHv#(@XGJ=b$`qSV{^f* zQiy{0%?|l0UMqIDFpLp0)Yb#0x23#fe8MC4nGWm6b8u*fm8;e h;fG?wKIR0XJOFJ54y7i`LJ9x?002ovPDHLkV1j_`c8CA~ diff --git a/graphics/pokemon/victreebel/anim_front.png b/graphics/pokemon/victreebel/anim_front.png index a8ecbdb468dab349a63b5d0e3da9d5896ca47c5b..2d7ed01dae80157dd5a850cdf1909c39e5bb9e3f 100644 GIT binary patch delta 1355 zcmV-R1+@CO3XBVo7zqRe0000zH+CFthS_ zWlIoaakJ?hylAI!7X-TQ8iTiU5fivvb)2f}E)i)4=dVZ?EJ*HL8H)rAxlVaAvs!=c z@6^eF4XgKQ=FRMz`9_-dUu(6;qQ2xK_f-LVCRa(FEMm3EuWUhy zh?O&&IRLqcbY5t>gH?(70Zsu|1Q}Pz7!5UjtG!s1JGmM-p$CO&9|qgGAAAqPfsPUsT^>fQCi;2N9%s5JeZgKsQ1e zr^!nd56>di9ylWg>x+FrlMbj4vpQ1o*PKl}W~R$Y7r0OUaL_`B4W>2U$* zB8#4y13lxD^tP3NAO_@G0_==uwm0DuBtY0$Js|FXW@nS!A?mIJA*x>Y&Y(X&$)6AU zo`aCHWk4z}#7hn!ARK>3eNG4|JBam)&;Pd#CX8$2>yER9YvZu!+ttLLvrPybW>xan z9Yd6cTjB#H|2;LlUhHBae?v{7a0AH5Uv`0O_~{hDpR2=o2CWg+ z8ey0PtUfr+Q}H7J_WQXW8nplMJeEJ0S+jfqn%OCU6@~l}0k341<=d_EoFb^%N`@PMYB%RK7nUTs`;|J!L|dM2gEnRqrao*#lzbjJ}Cm?MfJN! z^Z8%nSJ$&&tAH+;`N^v(9mHzS0sisJ9sZMZEySzTo&)Gp2TtK@WoB6!dBESixtU6> zfm}r8zZ?dd$2a67Lt4%q4+D!SDAq0h!@1GXSXpG@k!0>|84m+1aYJGPEd0P`Um}q9<0QSYJUI# N002ovPDHLkV1lJ7cP#(_ delta 1270 zcmV;K~!jg?U~(@ zqaYB41GJdL8h!t_-Tng`1VyLzVym_jA(G=V0X+s0SZoM8*)o`>4v801!2X2z)i?p7f4BDq$oA;Dn>kJdGd_~!k7Z=3*r&g!UZtdjH4N++C? z?xP$NSfr4WJg?DO&dscmQGCBuj|&;~(aIb8)IHUu*kD;GSp-D0%S|nP6g+HJ{&fUc zct5cE3gG2`i69#xY}?GqZ>ax-w`SKBk*A6Yzd7 z5|4ndllXi{j{+i`CIDtD^Qhy*@!?GRl@!Zq0$eFOA0Nxoah40frzdA~4!H)+4cz)e zv8I@&)dD*E^Zs;4z#-(>BFz;bgp@+Qz|lQhfP7wmu=>>iQn=}qP$tj=R0QY%0=69q zZasDantBGTvfULa?Bl-^t6QWG!C%X8Q}G(mvjl*3c6pzvaf{||I^pgnSxrgF-Xs) zv>1PXmdJp!hbt?BAkwD(qIq9(T%Jz=AAW(9{34elE2)Q0+Yr=Xn9HG6JZC+*bNT=H zcjA{b3u<0(`rksX<^3cJ(7M(`)1c+qkFh|Rr(FWZ2-dqp+4B)X?cH55{+FJk@7;$8 zr`~;}6C>XJJcSYOel-l2-hIHkU3mBFnaHYtws%JWohe5W*yq!FcVM4!4`97JmP)*E z@u%M1)5pU>zl@f5XXlGf(sPkre2uU*yt|q%ZRsVTYj~TXP@^>z*GC80cnaV(%$6%! zIc#bh)4+CzfSNr6O7E_|)2CI|9Rucz=}X?7_c1Y^If33$9fNN$qtAj*%+42PF`kfr zmw6wMQ&8)hobQ`<6hE0NzW|_BtDG;G9-O2gDY|TZt@DMlw)+XFaV?xLeM?XR+I>hH zI@HdW7K4v=dA3u~LH5@Avh$4*x7YHkhZZ2a@|N=*0pum%8_xGOpm4ra{-yCg2gIpz zzLV@~Mt=@K>s&ft1?;x;3UF|~=r&}3TU7aZ9SEQfYv_8FXm+A2=i347*1F+*Z3^Ah zXiVQ!6Tn|3aOHeE#0)+j)1?L5jUr7K7a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;n6w~!tY z0006?Nkl8fE<57M|XBtYwgNzAE0y& zK4?Du|IF-aJR1Fvv!RrF_t*3`O>_7or4Ug_NI4$id_KRF$u>0s=ks?7c0f8CMSSQLLxPGbXer9xm5%SFM2M)-BkD-~Ewge(q+L(2%jqG(P4E@AbN==D&T zc$yD^SbQcE&B73;fLvODKD0(+0C0^&)y@#5CY}dfOaxGcyG}z({2BsFLI+TL3djI> zWuOUaxB#)N5W776;7*?BK5)fN982I>F#w*&1?nceklcUg2zrSV;JRgiPx$EYbpYHi zG|)SIs*ivkRz>&Uih~c-J)kQ^x?UCjoG*Kz>VP%?9yGA*0X~kR@g3gQdmfZ^u)}Jb zpZ+=2HI)HSf}bCWdQUl@rfY%--URpcVNVQrgLoNy*;+gpWf|rtH~L|J<%q=K%Qp{W z;ed)l2bF(YSpnU3KnhA6qXVR!QH3voz-<=W7h`E>Q0;;m$7$A0NbeVWTBY)UZHh}P z%pS%9%iC0a=^dgD*p*!$Wx`8r?TGPunz;62Gt3A;Z_3O88;ow;`~*ux{J!4UX}7JD zDdrB)65q`loobUF=#N0~ur#n{iEQTfV-FB8VfH6*l4h8n0k{!MJnBU@`)B?pe*-t& Vi+*tOf)KD8b7@=)r`Tl}~?8V+B*CLSUT8S;>S(_;b!H6%KJcG#vto_(CRjGeaB$a&7_o*cyoez%>%p8$(o@cph{y7C<#_It?xH zdkD-49YF0dAOql)fn89;8Hjm}*yZUbck(>-feUWpPy)w-0q{J|P&eU)ayw4Gk3B%Zgt;ffX_jMg0^mk0 h@u&~kVCVmF`~f%J002ovPDHLkV1g8{9wYz& diff --git a/graphics/pokemon/victreebel/icon.png b/graphics/pokemon/victreebel/icon.png index 553104e514f7b6fcfc73d66961f2464c1413abc3..7bbad038d1ee425c3cd5827f2932aea98fa0cc0d 100644 GIT binary patch delta 365 zcmV-z0h0cn1H%K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;n9$NK7? z0003dNkl8ycMIt7zQ9Tc9=?}YQh)9(Rs1B9QE$P!h^&iMi#uM4H{N^J~^0z2~QIjzha zaAVPgyC|$|9_`)jR?I@ucB(O@-5iZbS~nI3RiD%46h+?`^nJ|G(1;glWF<{ONyz$WVPR-~ z!37PTNk3{;K|p6|$<`I@E@|x8Dc+=73V2udK3_S9=(Y}UHEY1e^BhYXdH7Kh$v9Z* zTvan}1UdeC6bKG_z^3UKf`9 zEsatr3Y6s9b5^Sl;7+40*C}jSJ?n@2t*E(V{Z^$ay*Vh6tZ6L_s#Rso{?fh^jODsA zi-WiTop+cRW43ALi&>g%7Oy&fvWeDD<>*bnb!kTeV?5u^`70cP;BW|n!yznjI7Gno zI1B0}t&Z9Qss*L)s%V;E;Bq_8V}xB+fe;O{4>B6gOs2H}00XW`L_t(o!|j$aZ__{&$5TZ& zv9tvSgg}bb?h&UrYNIk#>249-r6H;qEMG)2bU^Vz>B7|X0|c;$#MB~%rBakskhv8d zJ9I4HfbNwTxO-=Z_l^2Kf*BEmREEnkRddctAP|8vTGqghzaRY7=jN?gsTu6V}ZC_g|Z%nA$Vi?_8GLy zszYT(q=50Lhe~1}I>t+-yJG@2YEvo#5No@gwm&;46xd?|1a)H1+jjln04}m17?nQzUbNiv-n7@YYI`=)9O(j6R!q6F|)K|^IeJTVt z2-1bpFdG#O9um5xBp=&$|IoE(<=@z$1m z1Y@d_DFlVS_Hr;L?;xsjSIrgTlOT=B0Fo+xq<>SA)(lj8B{+##qX#cI(hT%S4^Bdr z3}Xh7LZ5`O6iDARA^OoVGVB*jCVt-|)xI;G49H2{tbd8_xy&rKFU-$i_hM#-V0{+c ztsA)i3EW*g748zv*Z^;wQ*f`SVVkf*cyn-a7UWlg({PaC1e%H0+HVIP#Z58ju#V=< z&3{%a=uqZHqf$rn?zh%{M}o+ngyvl$xyf)ejT2}N2XTX$(F{O@HG+E#%|0nB7L37t z9L=1_N0lZd+;fD~G&IXjR3;?cMLj{Gp?Mtcl4S`r$Kj5WXpX}@l|*wK?glh#a5tbi z4tEopV{kX1ISzLNnl-p5(5%Bffo2`<30^eoa8ICFhkF9eI@}Xz*5RH&vkvzJnsvAv z&=-fhVFIub+|Bz~)h$eMa>>sF@Jdx9Bn*hp121}RZd{ delta 982 zcmV;{11bE=2)qc8bbkY~NklljA6o4H?H?hzF141ChYWE5&j@qaURk}w+ zcWH{E>P`WTR{Q&_iA~Cf{VW|`)6=ZHj#||CKKcIUh2JYV3sqH%_LV}6j zlG^wAz4Lq5`)nBh;mF*c0pw-?bNRXH3Cw(cacTl{b-|fNn-lJ(b-nDV9I1MO1p1)u7cMqtm zpU>J)%U}JE+cXV8uiifR%=kQ|mL6a&tJE4`Aat)<7#&|+6j#nq1fgk(#jv|^c7DNu zk&eKOv0D4=$A8cIi9A#Hq7s=+^M#E zv;_h9^>tG$CNsFtf1P$IED~-Uh6$Ph@af9;2_4uW@FteP!>sQ6n2vd!Z25>6gn$*g z*r>HJuVbH4iZO}gfDCQkr~EeVJ}D}Ui1JTTo7S7ZW+CA4L#kpK?p z6$cQa96bz{;K3%c8n8A>eSWzNZ9NQ@;7020QP?ue6(Tw!0LsEWROR!qV_YNKj{tPC zO$lEBA6wn5{iT8ez>WY2`b1xJ?alptxL5>WvP-i>5-#a~+c$^=_)j62zjf50A+hO( zK$SYf0Dm}QZ(w?pd9J9Y1kj)~u1rem$<4w%!T}qAY^ge444Vco3A?2#UfXuWqo~jr z0PsvyG1zZVyGB*Uwk&z+7A4-y_rskIJN)cfNP_ zdVfMhcAA=Zu<$0e!qZq$b8ry1s9wz=L>Lpf$JFfMnsh-#?ol-}EM8TF5OObI+)Suh z>_izt$es5Sh=iJ>au+UB)Et*PQq>%nyP>K%E_aQZ6LQz6IWBjdnqzX;s5vfojhYj3 zSJa%8yQ1c#+!Zw^<*ukXDR)K9Nx3U(PEX2RQFBu6ikg#h*QhTpcXb4f6>`_lTe5FK ziPa%K41P0}tLZ*XccR8H)pqt5~8V5RrShtt<)VbV&#+&*9jfZT4T;6`^Z$9397WDb$}&2$;__;7xHx0aVRKQI#Th#QO8g1|e+2EYA&WymA_fHz z5|GFx0HiEQ5fq>dFin4$xwNxgCYQxFU7WeZ+yX%SU@nko zyPQ`LV(tR50i?u62;u-AIOmp+YjNiQZxP_PJ+KkZT@`b#2^j;hk4_Bl8Pf!)>vZo) z@&x*bk6Afna@dz}11=D;#oikWOee#)cHe+UrAdn>yUVmRIEgjwFTa zz`f2@ahcgKX|-B;3t7wj^q>FCemL?+QkKz~5tmoXIGw!?XP{ajnqIz{1vAitp1jCk4G7)E!UB2j5s8Xdb~;5OF9sH%HWNbT2&`OS zt$vUpT7hF(+>u4dN>E5htth84{ zB=l;hGDCITD&Y2cHCT&EKbGo^e{+GWPFt1$Tt3R7OVwtKZ8*W3!d=ZI>j^yZf{^|Z zTDO2S^7J)|Sup~Cpu~>2fRgq-?l(4yt^vq+z`qG zu#cXH_ly}r#VI=kio8MKyAfdCQpKvzC?f7H(3jASZWxg08Sm(q9gFr5uhW?4lkV|(VRn6`logQxdmFM zTP@KY9DQ*)5|5q<(}h-okgR7Sv28K{N&8oKcW`wZE7>6X?+``*0e;f0gR>`6r~m)} N07*qoM6N;tV1g5yDSH3_ diff --git a/graphics/pokemon/vigoroth/icon.png b/graphics/pokemon/vigoroth/icon.png index 866b8ee55ed22884d7f860536cca8cf2e1d284c2..5a414bd5cab53ac18beb4fe6616f265c111256a1 100644 GIT binary patch delta 333 zcmV-T0kZys1ET|wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;nKe@9P| z00037Nkl1sx5Cu@(V2BMV*I0s-G4b!x=r9Hsdo&l$VN$z@bAXJsu*E{6 zXt6Y2t4fy;Rnli94Z~CFZ!h93xcIDKeAy?LVFd4k8O=>X$A94+oeEFuROZXC0HZQ6%0}t00000NkvXXu0mjff|io> delta 301 zcmV+|0n+}X1A_yQUw;7(Nklm&4fK9%QQE>Z=9w%RaeIGt55FkT(fEPw!}N zgVQ`h9LwBa>^%m^GUs}FI1jzb>p7QGJEHB=&7`IIT=4n?#D9bihFz9rXn{RuG5e8r9JusAZ)`e)tTxPrJ*6o= ze35(Ho)-^#tNZBdPXEvG8(>%khWS01ASi*!e<=uxU{p+2K?zLUv-B#}W-e*gz`Nliru=LQE4G9`E_i--UK0*y&TK~zY`<&{B>+AtJ` zDN>|aPD*EAGOaWcEQ(AIFjWpfr8+(VPM6&z-ZK(SnI51KCzyy8t5jyyRZDWHzV~b= zhFP$!R7(js{`|lH{Ul*9_$SAU>kGi}{t__1ATbja{_{x`fb06Ao zJjtb$x#WBldlJJqCXs;SA|9#YpL~hic?=?fkUgL>?n#VC^EkdqQdmqK0K~#GJz}v? zGI4+eK&WL;jKlCfTss5ucGB7iO2>;j`wX0%@kkXv+s;#`_ zWm#-?Ww~8rqnvU=AW;P1dRhM1Ji%!#C09KlG4#)6X^B5@`bu44m)v%lf3rYY?+~Lt zKxbiN=mfw4N|b9%4!7G!&Ihc7|LAa@Ogcalur2sU{}m8Se!6w7zc=u)Ddsbum}nxl zngBS}PY>~je-oe|254&L1I2SdKg|5sk_Sv3z+U&j)uRs_8U$(|@J!TGecb8&IdInl z?V%z-v+$i~qN}lLI^ZOVJI?|D*a~Cu{q-}6RjUtGqo=y9*(nhb5n+=p=p3rw3<)nS zAokI;HBOtO0cL(DQ53bUt{=(ivASg=7Dgv;`DqLKJCi+T(HwUGoUQ|btrQ@EPJb~L rj?e!ouF!{`tfoy--!k@c@c)dzO*J*t>RcUx00000NkvXXu0mjf0bDfX delta 719 zcmV;=0x>|GmiBv7e>N^EnM#cqe5h~UnU@bx99-Ld7^hgk5p>$*+~ne-Kj7=pt0FPqtX~=Q0n37?93zQrSPQ{r4+sqXb6FbV4;;SIR5&F! zQ|8|cP}Y0IXb#X>m>4<%aDWo!8k58A=9O~+BjLU}oX3+6Pz3A>{?Yvl@FqWPU8(O4 zd~J%^)Fmd0h@Bz;4)xPx^x+KXmj;@exj^w8P>)jw7&<_IXaV-R2X3}5aBL8$UBEF> zhw8LfhfCn02ijvrfMWhT$3)j-)pWpF6c3IC0B{t>qWSGJiB+qPRii@H*6f@JhzM}V z7Ico)Z-#`E77&LZY_-$oq=BhBNe~2WtLiN|JyrK?#Qb33#u>JtKRI9)&1nz7c^wEG zr2q+Z`in6te>}KYH|Rr6R$)`r_l&(9{4Z-T_zO)nHPruphz$S$002ovPDHLkV1f*Z BK*j(7 diff --git a/graphics/pokemon/vikavolt/front.png b/graphics/pokemon/vikavolt/front.png index d13a41201b065e6e7b1535583198a9a1888725a7..5fb4a87c3fdacc9e7695435d6a8aa02369d7cda7 100644 GIT binary patch delta 857 zcmV-f1E&1P2fYW7B#}W-e*gz`Nliru=LQE4GAIU{_cZ_j10YF6K~zY`-IcL#6EPIV z-IF49sMMNV+Um5qrbV_14bs<^4GnW$8W z(uoxX{sPp(fKZSM@7b61E~(TN;V9C{-_PIsp6y%+`8Ni=4yepse+SeqpG$!mYehiL zjpX&F+Eh)oQ9vrPHk1{J_)&o5fU2PpeF^oM|) z3((m5ZyKFaDeKGvLdu)UENmHF+dhVHH<9leil+xt1Ct|6qd^9&DR zQo_Y9o9(U5Bk(GIW@m#TFh%96+1>|~-UDFwB^eSMcDb~G&}B()#fQ5w8xjbZvtNA- z`W67PMsomxfHU^&Pbob%05o$Dr}>}7u}WS`slR-F_wlX02($>yD77Wz!~U7p-|J#2 zf$`xDD_V4gfB1IM?|+4TIELm=x0J~>+S@AuF8T!`fabln*P60zv-oZj$WrHn6$~^n8whsc=qqeDcK`rrvuOFSjIL0 zrib$@0fB&1feK(i+7Tm8TFB@>ZHF)i6~F*95a)R@W9S;-1P!L~sEZC=!5jc8%hmvI zQvn!sIRLOtra}~VCV=-a!QdT%6{0wP0ds{e2HCq1D?|seiJ&I|2MpM>0)UMHvptp> z{Dc#~PirgWw|chAGXn*)(?%))Q}{A8J-RTv9paoD<{~(pSp#T=5N?*bY~oLcFQ4bu jgjf76@w_P`|J(Qr+&gH zptz^D>&ZgF+LKp_{sq$NK_o);y*Hb5ClPuTCj^H1e)GNW%?!)_k-@J6N^{o%m8*H7 zMq|we)Z9p3Z|F_k&>I$iQc{(ntU<(|1|$cR$pU2Dt{d>zn+;uKQ=AV0u&8NG0RB+d znio|t1k_v&jg9{%>6|N7bqyeux~XYnlU$k&l9iGppt?dp7DCraR@ER2Da+**QmH~y z*NaA%8Q@5$;c2rOddPGovkC^dGi}gIM&EO*J_W-SOL?|lN=Zwfda_T>LO?ysz^b@#oNySdKm=Z?qDzK zw6gazN(m3UNXJ`$nMdGd^vtZ*hQJh8t8}~%IKKzL-Yy#w8)myQfJ}>u--?d*B6mn2 zKzG0T81yXwRE6gN1_5Wx-JfxOLI5;#7$vz!&rWpwN~!eor?(&8n1{e^U`FdLsUG&v z)AUKS~2skCE00ykxa+#A@8H1(#<6W?LQh8Sap z{2iv-X3qI78UdJ@P)8SI9}O(Snrql*<3y}!vq>BdUS{#MZkC_BDgEVc1E>R#Uw;8JNkl@S!n_{RpLW4TU~I9wTp1Z-s8o z(vYR(7U^NSiu4syvP2M05(&kEV$~^?WP2~9+WwC_aol%V_Rk)e5oksLHZ9QrEKf5@ zy*~Y-Eh}9DxvN*qVFEyhrA85=_bu|JLb3Y=78Rl*{0ac33V(S)dUhXrET>yV`nZkY zwW<{AJXScdAjX)X_=joNrT1|PD*#KAa&|WE!N5%#a}MjWzY%Aea|%PBkrV>sqfg3XUvOK@xG~T8Er#nn`-W&T$pyY4;+(i+Xc>* zkO4q}_(61f3rn_PO8WwdWCXaVo)Gmu04qKpFZx>w9VQ#-hxufv|7@~Of7$?u$&dbc k58WYL^!M&z^5^=$0eZ`})5!X-RR91007*qoM6N<$g0ljh*#H0l diff --git a/graphics/pokemon/vileplume/anim_front.png b/graphics/pokemon/vileplume/anim_front.png index 0169b8f347ffb2909c1c47dcca5b48c1c833dd90..f21019e3ca37254a18d0b2c1fa7f3fc965a6fd3e 100644 GIT binary patch delta 835 zcmV-J1HAm`28aic7zqRe0000q$gGR9M69mcMe^KoG_?Y1B~UOc+{n43okY2tR>&0bow) zlM%H%DQ-NDQn)dG0>^oS_yv*~8oD%ctwu|m#^@QcyC+$Ptuu8JZWz$8zx(#jf%JcQ z-ru$au9xC(gCLlQ*UtE>fY#}-*A$ad_WHs2l#o$Fe4vz?Nld^Zy@q%gVL(uHLJ}xw z1Gqortwdm&p+rGh>-eEkbB-V(Wna7r0!rDdfrtPuKrWY;eL{(-fU^>y2Cnb!zFzVr zmQ_idA+1dPqpRE7Z{I&rz7rL_w}5}p02kN#{PyOG(w*S9aS3z~_{cR}{9NAX^DC2M z2T%%uk(9@)<#PF>0?Hh|AYeWe?EpuxTCJoMI1#m|0g{ky)5y`W46w~3sTOsWNXW&! zI;*}p68V?{CBzX`F`n=|M@A|bJOZ8;bewbAIYE^^cQpPmh#!wbE3UKL+Gc;DaWty| zU)coZIHgHh2in1=R7le(0iNWn1_YiBy$BgceIAptC3u<);ED$3b72F*e5XQ8rAi>I z`=n8nyGnpT3qT1&EFuFeo&r7+oifd=0#(=BB@8m{R^&9cfBe1{j7-H@sWlZl01_l3 zM3+d6+#O|G+80 z7l3v*}Gy5?Bm23CC*w1jniCe%+GJ10ZDP$Gph(mwO-8v*%IDweE z&DSnKn{gBmjwZ|gvu_!nKwkR*z3;rSJTHXF3TXQ8&|L~c2`pG{3;Qx>Q;SZ(+g5#I|2~hw5 N002ovPDHLkV1oNTb6EfY delta 803 zcmV+;1Kj+G2j~Wn7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0_I6XK~!jg?U=!K z;~)%0gKVs%0ssH!4oCt7#u?+BSxgUFw1xUzgb)kf<1ypkg^{=^2eVMD>pcc6Io4${ za8)M3`gJXoO9TKb5g6kHmT#M7fiZatYa&Q`Cwg9cD{E#16HH35&p^A;f2&0!f))*b z8Jfyl>;bj{$h!xBc*ck&k*S1e^`-`-$~|8{AzlGdCb?2@07&S{2LQfe1O}GWBEeeh z12zr7_w$8F418kVntX~iKnUBWYJl%|C_rT3>xtDSP61Me0N_J^6C=d?0Qf|Rmr$C4 z7$G7pO$7E2W>6l0c2>Q9&cv=V{P-Lkf53G9OR?)lh)UOO{La72vZ}<_s{@O0Mt)y z8Yc;uE}$TPG{hJ@AkXxK$PB}Bb0|)nI|UG;FygoM&Umh?bj}gLd%#S=Fl>lnuCL#B z9}q#{7YIK*Q9S*nc7`W%26*pS!oi>jkgc7oc?W%@LxQ;;IQTq|Zkq`>&sV-Lm-q-Sf*b#Ixms7~a+jATIr2`s*?xnc= zWu-#oMsj!baU0UO=x^$i?iPSrFaw4Oa-~Wxg9In7lg5!Saupb$Dv#6>BZRhP=z@;` zy2!8eGiJ<~@l8w$`c&ZlifKD8F;#@XMgfwhTfjV zz{nQP7@%)~4Cwn7$Oxcsfs7HpwLqNv$^wzo&lbpN2I3zi(})eEVgJBmlHe`>K(B~6 h3g{81fAFj04=RvL(O<10Pyhe`07*qoM6N;tV1lZ1WP$(y diff --git a/graphics/pokemon/vileplume/back.png b/graphics/pokemon/vileplume/back.png index e5aff098d3ed8d99a52ad3142f3564756a9fce35..43f520ddfe566b287ad37a3967ecb5babc084e4f 100644 GIT binary patch delta 734 zcmV<40wMj+2EzuBB#}W-e*gz`Nliru=LQE4GBb?+KG^^O0;WksK~zY`-Ic#@+E5V3 z9TwK!Q*Ez2OBF~=mB?R!-Q6iKd!*pm_F}50a~*kz)Fol+-%utZhIZ>h<}Bq8VWM~U zeqd;t?0G_9e4lskd*3^Q=e@=S0MCb&N~34uidXbPTtV;Y_=$$u@CW$6`Eei!e#>xN_U^$m#lzg^#0D&L_y%136 zG1Yr!EgZ!O0T&$Sf5Rs1m_7sb$MGphFhEF6Zv&FcL%^(v-f+(cWzLY=JqHy0P6ukB z18);Gc~2Wf6h#)Gf#zrd`SM~( ztEy}Pp2dgDPjo_kU!k5#+7mp_^rq}DzhZpWM0zg~Ap<&H3F32IRkPaEfO7><@xXQM zkccHVb0xJ2f3&5aYoO3L-de3z3vM%YGpuqm^p%|vQLcVSFyjHxw@*#C2(8;xpPT;u zuS8ke_C|J^4uMJr`-wLT(}>(#uRT*JPY}&zHr0pFjePyE`PH%t??rH)@kIIrTs>?y zR7pp=tkROK^lGDlE;wa{B^mg#**tQY#u)?fm4BguRNo9B9!z;t(Hdw1{^YtDTtlXT ztPPlMNm9UpqGcpDvocn@2I?o@E|EK{-Mz34w0iLp&~;NRiWbm+MgO#a0oi0A^?h5` Qf&c&j07*qoM6N<$f|AWosQ>@~ delta 744 zcmV+dvG)6)#@PLnW=2fWihm6>y%wQg@}k>;YoUk`}pWI#+>)09_JKeTI5+prPHm zICGZjK|Hx6?~i3SP3HCxIF9%`^5aJ;&VP9T;Q6qWN%%}$@(EvvOBg&IKhbfSh^GOU zf|F<}rT>=%@1wblqDV@AF+jPmj)5KqW0e64aAk7b?;Ck}sx?62@~>k+o!K-2^*uSL z(xXcg%pXM{G~4OsB;>55Fp9w>OROQNNsvvG7!_iIS*!>HP)q=%tPC&#wsSc}$!B{9 z5b#n^2LX8=QNL%#!bubpaKUjdHe<(B4b&e+rx1V!d>VQe2)I3e1oR2%1Mj?(x&{Iy z&H_1qQb7gu;B_o#Z|R~4!_WY9Tn!+LKR$?2RaM~-0gu$Un1Z|vD4B=af>Hf-dslry zAf=9p(tzr&sCT>Fwz_5jgI=NmOvNcj-x1i|RRLH_z$XcK`0vqfw_IWhY6p|f4*)7r zV|=;XRx90RVgapx;d)EJZN0KSu!g=FlDIK|vWznf6u^qcH%kTFTTcP9KY>NP3@t$~ zNZ)7}*9vHE%d+SIj={(44^*MLFHuh!mVmsoSLP0Z(O@bZFu-+}aom!DnAaPrQGa*IDzAAx|-XyYL z2k34=`H+PVP~E40nuc~Eb;oI=jPqerEEw^dfTWQCzS}0Y^cA|U;4)%ddlq;xDFQsY z3TR@!9|g~Dmr*45(C<@EZs6~ZdpexM+0Pq+8x8uwH!=OD-8DeE^ff>liE14n+Wy_w z07*@NfW8I@mMS2m4iNb;K#(B+5Fj)Q5PcIM*2647EFY#G0pjv$p2e^8;RVFN9D3rW Rnv4Jd002ovPDHLkV1hN0iE{t| diff --git a/graphics/pokemon/virizion/anim_front.png b/graphics/pokemon/virizion/anim_front.png index 0b7ef3bb8d9de40fe56dd26fadb1ce7936468594..1bdeab36a5982fabb1bb13d80beb153aeb789787 100644 GIT binary patch delta 1179 zcmV;M1Z4Z+3Ec^h7zqRe0000i_@*KuJVFR9M5^mp^D5R~W$GsYpW!woZ341rdo^i9Iw@7?>}-|uI}{+*^4v*S6-&L(mIcJ?Qhp^*)2I?LIB22f-L zUk>CkiKSj}OZ-;IDQyDuf*|nYuTfLlgbj>$p;lyuO-)G=K-a>N)S3osR1&?Q4@q-8 zA_=|Mw~~07iX*Tsf;F`yne0*@nzw&c)m-x=E3vczWCke&z0-Gz$fw1=3l@YX#tE#hGQ- zl3!IuE{6q4f5lV0+-&>}m;$<|du0-El5Cfud$WDF@J#reN-|$hH{djbTx_l2m z68%c!fAaCjF!)sgfxpXHpM}8mJ_&ojmh)&8GIH(1(rp zU+6KS!d+k1dho4juAA?jVWaf`U-R|xAJT<*@uaeUb)2;sFS&J< zT^K!(@23f4^{sGsl%WSLxDtkg2O0i=z#!8feE*ZlQ$odG=|O*vl_|q`1(X$6@yP0* z_=772&iR8Uss8`mAJlpN0CmbA5^;SUo%5dNUnAf1Nrhgc6l_yg*}ibME=(1X|? zuy*HPul@=GQ$65Rao0ZJQ$66M9%$>rA5ae}v_B}O`7)a5LGy{c!p$pfFo4JJ0;Zv1d4wHlpZK%qbRDLR1Xl?ivg(~sH463W=Qp5 z82?X@p$EfKq6duDgGIHG=mDekU{Nbg^Z@@%>cL{CG^smM;AVAF{RKez!|6GI^oP^i t>~$dR52xd)KOjK)!`V4K_+R?NU;pOEW;B&BPXGV_07(Z$PDHLkV1maEIKcn_ delta 1182 zcmV;P1Y!H#3E>Hl7&Qn30001tU!Pb2001CkNK#Dz0D2|>0Dy!50Qvv`0D$NK0Cg__ z0P0@=06Lcd02gq46}kbDAwGWuKuJVFRA_d+G*(DXe4z$3|<^@A>GANY9b+tr!iL$7=o_;_`v zCE)VM3h<}iA?U}%kiCC&1b_rJ2*U{Qbzc+|KC=Uy2X>+7y;$@}2aD*@K7f22u^jS` z)3EOKnZbWh|JXzLTQeNa=$Y_41@6LtIMZWuVdOdJ>8!K41^@$aMl5Q+7eEe)g&_X! zhTum%@8=wMI?%J6+MAZ5yNTty0Cd34hk0*Ap#6SNn9E|KB_w~s3c!dfKv?KRg1i=a zB0Tvc;HD8_(cv=#=+`@h7Qg`SxASEPbgsOYwjt1skb@}UstHyA z<|QCM1+av6KzW!6?;-R9nDCw^n#B?((@g;qMSfVHo|b7!L8cN+S5*eQl0HqGl!6R| zZcEcF^gV37k$ivR^EjFHL`dG3r(H^tEbwKWtk+fIyFF(pZo&*m$#k%bh&oFFgy3?v z;?j>B>jJ=?(M9h>p8?(ukj)Sx2mo@r1Pq5N#0sby0b2CqkF&caXNn*6O)W4Yhj`yKG?{evL~x*x)$APhMri*a51hY+I{(EWgHAaspk-SuPaA*{Orfpx}jZg4ap zvaQpwMIcu8#g?E$gUJQ)r+vX0GFX>~>LbP#pk~m=6jJsNxcq-{{m&`Bff?2U>srQyOwb*!_c2{_p;QR=$@BBPifp z{vQC>6F{kPPv!q?uDuDc7XLuY|GC9K06B`OysXQA@ehmy0pR8zXzh6P53Ve20s zr?LDOfNsLB@?Z7&yYDFf1ppra*76@@{`$SE{1?Df0h-HyfZd7jD*va-$?q!vrvzoA zYWZHD=VL7YDXZE4vrfzZ{M}gouYmgq+}@eF{9j`Y*dJ~H9Q6fY^bgkf8DRDg2(YI` w9|1T1!CGhMaqrFSAJl1CUH<>~5B`4p2E8gZMI3iaga7~l07*qoM6N<$g3&EPRsaA1 diff --git a/graphics/pokemon/virizion/back.png b/graphics/pokemon/virizion/back.png index 21e5ee93bd9c2421f45286bfafb26327ab369c3c..dd29f04de4885e912378941276bf4f406b177ba6 100644 GIT binary patch delta 525 zcmV+o0`mR)1oH%tB#}W-e*gz`Nliru=LQE4GXt|cKQsUU0oF-GK~zY`<<&uI!ax)T z;895z(uE-&piRiKP@PE^r4)4L0Kwo!x+#V92K5SAc#Bdf#X}TqLCS1hcG+b;L+8Co zG%=Iuy7Yk}zRx$m<0KODr>jF%S^Gi=ZV}K|;=B>`5eRAlTxDQme+z(+bZp6hU$Et67~|4<){Y$+?N3EZL&0|;qrp$OE-b^E)1q}OdvgZzyg z6@7@PE8GcM?&}q_f0$51MWu~vn?zjR+ES3B)HYWt3@j@cg-;sA6FdcR{S1UTSSBjL zm+6!wC9p98CkHQ-ZjB%xv3#fWtOC07wKU>V)MD>%GlDuBcNFSg&Jt)P$Bzu){P0JjiEn?tr>0Ji{GfiY`{e_B8J8_OKg7rH3` P0000n4;B;ZR)F^PD@j}MT3ZS1Epg(p1eSPN=NT91m8G@)A z&`z?%0qBPK6>L5-4IuFSmv#euyq#c3&wtd}_wg0NS$D`D4iFB2D{$@%@h=PD2l*Sz U9CQYL8~^|S07*qoM6N<$f>TK5e*gdg diff --git a/graphics/pokemon/virizion/icon.png b/graphics/pokemon/virizion/icon.png index 68c0abd73026cb1b1fb2829aedf1d1ae3796f02e..5f712a611c372a427d61c0b1fba3e5dde74e0859 100644 GIT binary patch delta 379 zcmV->0fheN0>uN67zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;p_!&b|?0003fNklMVlKluMF? zFbqRU{AsVO``@#`(s}q^S9p@$n1}Y6o_pL iB>MrgAF7o;v>)Ed6ca@!K6TIl0000IY2Jf|pK7wsy%_q*9?~b(jls+W{IN7=X=Pz|H{4FLgc3xon9M0tx&Ef!FXEvc9dF|jR`9dP3(F_(Rr06_dC zN;G5w&`G4rHQ1L3xXCJ1qXr#mgd4!H3lbOs8its_Q6ZaWU}H)sq2W(}M}dJ$^SB)Zn4XQ- zP1X>ASc4q{RgAzt+uoB-3g|%!;2&MS4gr{P1{r`f8-Fw#C_8o{0Dq z9Bej67=POp>vTC#HX$b5$5Hg*ez&rz2+}$_4l?uL(%n_%Q^gU44aX?} zOF@8RU0%$ z6rdRT4WMy>9DovfvccLe&g=OjMF*~u`hOhedytlTNE;XD`N6%VL*;)C^&8G&Ys0_G zdz5n4ArGk4EKt2$Qxf5uKvq<;hzy|0JV{zrHDw{vfZeGU0keH`QH6#CfLovjvJiGV zWgaBfs%-M+jT0(1H3^_{D@5L)JON1#ltc=6EUPtHj2Cs~-mmyt42!#IFuxPq1Ah}d zR;Xnb=oW!;4f~#G?h}v#X7eNlc6?Zl@<)nXhHG;m*kP`1O8~SzLk>J-J%A#BUwexo zc6KGGv84>)&T1dq=#DqC?*`!1dm;zG?;v18uggy5fW-mVYL1pgU=4jZ!LOhRocL@c zTg8(3%&#NB{O7VH%^nAg5CQ2jO@DCC*ziL%pN$;e)=T-#0&n3SMA5ctZW-DhDGg%<=gj7t7X5RFRj*>SX)h3B!k$&CpbmDOy%X&>W}w1oA@ zN*E{p(|^c6%se(ML?DTWe*g0G*Q@t79k`$fXvV1Dy8d!?-|7x!^W=sMLw~=1kN;_q z1t1Bs2S&YyeZ4JJILEd)o{zC@4y1s#OTgv$0{ePf7DF5KEvI$;X|uq_F9XKdycdUm zM=R$p;Klk~NPr&50MBXt_3CBadbXwsj{3#oQ)@5%M zTBmYA<3?z&q+yPaq`(8T2U{&w(T?)g;ij>o2WfF7PnYf%X6dzf?{9Abc18D}%2N<# zi<@9imjjr@)40oTIWYPlcF9`+oCq?1i$Eoj+5%|F{fv3|4~K3I%q~LfA^-pY07*qo IM6N<$g2))QFaQ7m delta 1466 zcmV;r1x5O=42KMmUw;LXNkl)iLi4s+n05lWnVj1!h7J4v~Aj;5GdRPG_%SoUIsG3F+gO!s&0dV6G z1h6hafY*}>nn8e+DBx#1_5dfn*oRhR5K9yTtx!n-&XXh;eTXFzfIPG~ug2T?m_sb_ zI?x`xMS(tEUw_s5t^f)q=P2Q(0lcFPE(77Ch(HHD_U-_ZoPkKiHYKul1`I<&2_1g| zJPI6Kvg39TV0jF$YrHA}xds*k`{+S@XWp}B3TQ(L5MN!f4hdLs1Q~!dt7HwdEtUwt zpDDnlTuERh;G`8$!rc=<8CtkgH3p7wF*Fw}k&u7|oPS}W&m0y5u#hqO(A3e%78-s0 zyqrM-z!YkIa5)AMNC4fvWN-(#3(m!Tdk9!?)y4RjO!dB|Q=;4{X1|6$hLymgHMV73 zrWqh0&fgS&9l^oDa(RTlUAazI07VO8!hIS=A3k1mDX2J+Kj9V+%8(HCD2guLQ3B+s zn%@&plz&$(AHqqr4Bs(Yg$!XI_g>Qtd0FFZJc+{N&=Dt0JQyW$W(PYU4>1pqqw!8S zJ&6?#jX(hULjW6jessCOF}H;tX3hxX$7sM@A?np{zkZ1x65#TFx1QKFePHu50_@Ar zx7RiS9rPEZ9>tKxz%Yy-ZVVcDl{O2NsZC>Oj(==9>RCb`cf@RIS(2oEbR1;t;L_~8 z^r_@Xg28bLz*G?6*q67Hkt7&2f*dflzq|Q3LJmiF9q>rN{&(?aL?ErTQAz=iFqt_2 z^B?cu3Rm_Kz>_p!U~X`F^4t9Pk?@7PVXOfdMBOwNLzxIXHAX51-RM#f_3$tT&_g2& z;D44=st(`jVJxr)Jfgj_?O(fatN>jItN|!tBpa;npxszMQgq--sqf*MT}UK1>4Uso9NarvVgG-l z@Qu!5W5K@z@&!LLq38$-`&l68BCDzJ@PADpE2>yT22g~MRV`R57ioYsa}rql8mo(a zs44)s1InOs!R`P{0cb@_6mK*Xu&613f@p=PHz*E45d#I00-maJO)bW&iuT}Fd@OqT z-88x1jN1bXJf6#C7HH*xVj1h6Ebc>40#@xL2DW^d_1BLSbr~)bK(NJK#uNayJ%2p` zJmzhHJbFFqETtTIF6R%@H}pA*2WMU zmHBwGY#if}v}Nm&l`v2I=l@XuF!p#a=Yb?1`<=_rUvI7%9k`qTN%TAQ+b=f{?N(1^ zr*6nJjoWMdr$Oa_B&a&@$meYFVyXZYjpFBN+Ro)YN7G#u>C zE4Gs@{3~Dwuyxs;hxVx&&_yG(yRBo4Pn5tTY!B)MO+Q+19TI^0oVrl**6a2vN)G|7 z{f!O4j;#J8bqKQA5>2qD3^PFlAv=^@>#zd4ahJRSKtquEn+HmX)CNFL<}=O1e}`@j U%&H>wu>b%707*qoM6N<$g2(`o5&!@I diff --git a/graphics/pokemon/vivillon/archipelago/anim_front.png b/graphics/pokemon/vivillon/archipelago/anim_front.png index 533118f356fe621ee914711918a160d1fa39c99e..15b85bde53f72eef5da949abe7043d35e210cc1d 100644 GIT binary patch delta 1594 zcmV-A2F3a342BJmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;q2&5c8e z000H)Nkll*O6vrueV!D{pPzz`ah!s*R@nGe|NL~WeI$7=->KvwHqg;Y+ zt!$r@&5@N*ok*!hOhEQv1PG9C5if-RqCiKl%@n}!XXtx8%6}HclQZ;S!{Xgf|M!2# zBj2;8%^w+KQM++u&6|OYX%@a9Ac1*-KtP7b&e0*UK*pS7rE*U$%(JpU>+v_i%c@F% z()gPoQCA7j^@()0NLLjC^+^^Pvq;kt7Tvf8Oq!BdU@iWOX-qt%C8|4HoENlfU{<0k zIOnl~W|+5Wqkk)5_{F#j4ggQqCq$OFnTRB^o|Y*^7IrzW(8(reIe#QN(}2Z5pf%YE zqe%EOv4;}xJ?+*D5a@x$rUP41h)mMW`&{&<0rr}=#SU)8BHjzS+2Neo*8oOn2=N-W zVi5#xx0~WVf672YhaV4t*KPU;e8vEOBT%9%0gS*LN`D)$6X-H)Zg4K>{pT3t3TROZ z>r?_12wLwkh#>)su?mg876VPr+Z1NIxavWY%%*e;Qm6M~K%fMJ7!qKtMjH+|BNGKk z=l~>~)d;9Do3$8>P84EblI9+J&QL-E7Hi-#>mI}aB|FiC#cUmde8rqzwBBn?09uOx z7fg5v*ne`JT>+a;M8Nzi02W9^>i}RDIw-J+0Of~+l4qfSjZqHZKzINYDU*c7R#wJi z6mU?4Q3+%bU@ai*hhcbjHiRo_3M}C1@rxAoY?rZq7>0wpJ=TrZ(PJKgERFI8*kZv$xnjzrn;B0$eo zq$WFo$I&ds7YB7Ch#w=L#G?I6@*rH2fKy+atZTYY;>|w!botSZfEEe7sYfxu;TwkW z-GzYzuDqGYS+BS_2IjC9eGoq-34JIWnC|Dt`J4ngYhGf#BKBZ9pZ}aM*CasJrT{+| z0e}1M$>rz>i5>uDZyF$C$90$7Z!XS`+_LMw5%m-xK)^jUPmf$TCxLtdXo}jB`^U>W zFTg-|sUk=cFi5pSYVPQ_((gw|kP0D25`dXn-!#kt0tAOKh6vLDntuR5I5>CI6PV<*M+9=DBE*YGPDp_Spc^1j zy#i1m5di^oA?N~7b0AO#B9d5PPRU2^)@be^UUCUQmV(b7 zDd;jlHv+tct#`X^1;FWstp3&(-G5L3l(zx!5crw$cWI!>+jXeSU;&C17Ybna3TSOS zRRS$)*#KAou#N)QVbqntLBpw}0n)%8#M6dY<7-rr1xVX$4FH?jEd@}7M#|}x%m5k@ zO9?cfqygWAKE)b^;n+O9>MUklLVxKF!Y~*d z!dA-8BJmQ$7?01x@o{j77R=e#s5U_0cr^a!{4lbR0-#%BkN?H~;gBgJND1fU6S?@< zYpDbx38#Pg;9|*zN7qxm`h56T#kl;4QS!=nqrM64fmvF1UAwGQ7y{srd?=gSNjb(d+w|L<$ve#vMY!R@ByIve}|=4y*U6>=H(COo#3D$h@mjy6Y;A5 z*XjF``+apDusrx7`?iFoUk%i2fuAjvTsv9#r@9pAezK(il28JAj#vOJ>X1ZX4p4Rb z8BK?l-cSMt5qo{y(QRTV@0L%RI{;{JJLNe*t}0M@sP-uPxu^+NTQi7Eneue4=^y4`AA7Q44uGO#lD@07*qoM6N<$g2yG;NdN!< delta 1563 zcmV+$2ITpM4d)DyUw;MiNklm%t@mc%6rkii(4$db5(MK&%0gTy4}XpQ}3 z=pzqtiQ;yhvCx75rX`A;F%~K$bmJPSv?L6_n0L+r;LiGpNU;XxLL%iQk~v{vhp_?~ zZE}jSTf8|5Sbr1*YNMUdvnIR8cTwVnm$>o(1lnM+>cCbk3X^1WmGSl@Kp(RP-^Q(& z$7ew{n~YKW62J@<&L6{8%!9zSMwPF!yA&ie`0)^U+#t8WX9%z-93@&3zzozOqyjsE zE>p$^W1Ots#~fpzMhL`-1PBnM+@_F20v4qOB5n(TDt}`Q0<$fQday`p6HMp%cQ9=S1tzek8_CtV}+hW3^ zwgySQpiW!F+qDruN&;}fgol7F<8%ycI)Z@t>i}3FCE@_!Dl|}_f&k^4y_{#EfQ?!9 z;Xrr*WPb^jghiK^heH%_P=pc*q!6GrAncn#@aAnFuB0ijfTyRMC8%e+ly-t3c=oYP zTOy7gGYF)JSU1S}gJ9@?YzqSj7>n@i6Pivo#f05H8U+4{-x3DU!eU08*>0N1nU;SN z9DVIe18^krx+efFU67je_yWdxc(GsB{qQyFnt!2a=ghnjEJ(m9uZ`jft!svxef;k1 zwJU&{>3b8eqK~7i>-smRIu5v+3=5Tli=$`sOX3UvAxda{?!a^>Gt8tV&|LE(@dDq4 z=}hK*CSQ_(xi$fG(*oFYkIx2&NVEaSdy|04w_SI^{p$4Xp__NzC%ha3I0(3}E?ynF zZhu+=nFvtjr3Lr5haVn*f!0ESn^8bFi%qlS4t_cR^$-cOV48XqfSFRq&@Xxjm^kza z51NiMZpYt~Knt$&Q6O!a1z5-4znTxgt+EQJ!e)B&2@Q8)3o=XsXaWH4;M`%G<02D;u59-kkCgDSW81(pFUD} z;4%~6{i(Q+7~Q0G<8g6tFKI>m|Bd8lI*XYF{}PB7{K$l&BS78Q+gD@z%0VK0k0DrJI zNcHQDxCh8_39!bxYOfiz7%y{)D}Ov?&sXA4(;)0l*d7!aDa7^?GF$>bZ?PDVx>nt} zD~o%-ey^zl?mc7@fK_rfeWakv09^ribM@yt4F$l+hOGWpoopxo!Wsa02>eLc^Egmt zjWSebumHu1aRsn525K93l|YSHHh%yX0JNz9wkdHXuwQWsalou#58@^ISmR4Xu?mp3 z=^6kwwQC9>3yqZ1&KW*5B9;=UK*?Wu6ATWlmMH5}&pVZ^K+~`s1k2}8`}gBO*ML67 z8U(@c;$YlaOu2;8?FWJX>;Se>b{3OE!yLCyg5i;WfEJADKck5r0!M@4-+w0u!a@vy zZi(Lh2m6Nus>mQEoa1-q>Fah)B_Jf6&e@IA1s7gjMI5^!!_d!O!#@qG1Sqiy?SYY7 za$P&GROkcH9dw~=ZYcrnOXv@}$K4+E4tZ4$t+?wx>YTkFF1g%P0bKyd-d{oPQF{ge zm3isq#Rq@C!p&I0LcrvYI)8t@dXaO#EzSa#df#1rn#0ns2FfMBd-Xi$+R?&42GY=h zxL418ScDSL(xwH#yatO{oBPmN{LwM=q<|03@C^^D}^S zk)v{7?NRn~q6t=85GFG6Q=MT9Ky#o5AmBwl<3MI4H3QH_^O5G^KNQ#^dqyFofE)k- N002ovPDHLkV1jLW%&Y(a diff --git a/graphics/pokemon/vivillon/archipelago/back.png b/graphics/pokemon/vivillon/archipelago/back.png index 7d8e5b89084a9643fcffd9e6106e643b28f80878..cce89b39a34a30d77a4e0d62f3e694af14e00468 100644 GIT binary patch delta 772 zcmV+f1N;262G<6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;q7u8S{F z0008INklBl~6bJC!=lxbI1}th=)lEhnrWf4!3|d4FqbttqwjbjzZ)r|KEt z5&1O8Nc1G|2(b}f8^|1xbtObCv$aOF1BeJ@-R(%Ahc!5C57-2~)c{J(99d8UU%DWu zfJfpA^mgUS-=uVGYy(E_9D|r1>z@Ci0=^48!s312$Ic#`n`bY6Xh2NDfUzS3=+J;3 z=ePJXG66ngoPQtVTn@mFKQblkG4@V_fDUhKAZ?}i7$RO{Z!&yuYS>0#3h`hSAmUW? zq1S-9R<{~Z1XBbtA5_4T8q9SGlpetxBGKTm0j3ZvVV{3AfN`2uz*dSS>~lV3(r5U^n1Yk)_kHVh-@617b?Ulr#VbRkhUty#WDl41hBSQ~|h-M>iM&fN%@!k=KBqu_+Z1fN2Gk zDYF8c&t8eo0D^5{foIPeg0})%ia>5%K%_cBwu3-LT|itG_dv4W9Uw^yXyiFi?0oY#fyf$g zzf>JSL_bYLH^}o`N7(zR0cj0#NFiMy{i4N#y?rKCwOQEC!KVK%Q8=G5wF<5tmU(`+ z@^MsO?HmY-ze>rq>s}d?UJwDxus&?>YjVzKBrWd!mu;U`h)5@VCPu}d-A&-B8J39W z$+kd}|d#`phx;(~IyGWZ{|f8_yYW2^fB00002DAo{Uw;C>NklBl~6bJCTQQOIei`^x(!@-RgkzVpKI+S!b zsMl_3NOhOZbdfi^8B#%-423}YO$w%+J7z2dm+N*AaNm<;*>`6rT24qm{(2`_cCWY5 zl-eBGXj#}cs-6IZrjLV+hK~Y5sf!?OAZviED`h1S zObt5-Od$kz0e>P+){wCVhcz&TU=rgi|&| za1%|WIp(xiT{t`l&QI6`!AITzByE6*u^^!}z)59~+J9#^AmE7saMl1e0Qd3e1|tAa z;efmH8i+GKV=@FVvp|_LEf8Y4lQC_8>pcHeF5PPj4x7OwHQ*qS!DXJ8Wf^V&6c$`V zKv^y~fq$d{f*3%l+n@#q8pt@LP)!Av+W?mU5F4<{+JOu#2vsM@b`hws3&_jj4oLR9 z1H?%IjXnj6-LKv@kXa4xRxL$pAj6*~q8sFSt|NNxiE<#RKn^Li3nZVlxOcBfWe*G6 zIoRaiC5pypOs#{f`&FL*So=7tFK!J4#b2e;-db8C%9!MWO4x?YX`IBajQJ&#vQuaJ}v#n$)#eA)!%YHjjAvVY|P Tid#k|00000NkvXXu0mjflZivK diff --git a/graphics/pokemon/vivillon/archipelago/icon.png b/graphics/pokemon/vivillon/archipelago/icon.png index 5dfb32bb60205ae00a3eda6e4e1b63b6acc52768..d184bec245343a9c21631cdde154628956075d3c 100644 GIT binary patch delta 408 zcmV;J0cZZJ1nUEkB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE4GZx
1!!Qg*bpyf|P|zH}9SV4BJXFY5=MV)vI)`o0Ed}fd9w|09 zyp^nq#Fmr-9gA|))29fMUrPO1$PYjYXgPtXffNT74CJpTmn5V>e}Mvc++VUUK>)8F zz=X5_Q~Gl~1Mq;-ll5v-1D=>I`zowi&H0lve(OdzyxM|TK z&X00-8ahN1s&+Z%#sr|GTU)f-CUh)V*$U(S&RChJCJafj&nY4RC9WP217I3xYT}`J z1VZuPnQk@#>i>t|e{kv`?j>zYq#hCg!?aIZmFZ=dc#+-b&P%|}Yr?ub_*-ZKIE*93 z0L^#dY1snzyS8;|3jXQOS(Z^yfZS);y2!eK`h>a&Kw4dH^0xq(*Vx%Q0*=>t)yHq_ z+1l70B9Pl6`5@Bebqx5#EvE`7!KoX6(C=S&i7&<}<4x8;4r1p30000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00B=)L_t(|oXwLvPQ)+}hUW&OTp%m<0HHui$ELudBYOxWm)XOz zq5~;eE9Jy&B6rN-eI&L)w1{aUfBxsU<`IBD3;6*opj}QVFk0ZC!qNI`HzWxu00hMQ z-6i`H7V*UcbYvHxDu329Ko2a8nr0&ue^C~n-ev)Co*O&q&607GWh+$l_I^z{e&m!- zq{`+BxTQ@?ifA_F>@apjD!keiR45eyNVhg*9-C0HP;F|8>pN1d9-7c3V4qV)04rME z5e2|@w62Mp<`GI{ane8<2>(C)gwqY;UedBe^q2q~-7YOv-1GMQT}+10t(V|1bB~F1 zwfDE!1hAhb8v|0Ohuty-?ze3_fD8N6AG0j8L4k6cQ9DGdi!R*sj~yEmZ-)pLrc8bi=?WbKK5)ya0xOKcc|X3j4StI+#wp`X!`pcA00000 LNkvXXu0mjfKZw6v diff --git a/graphics/pokemon/vivillon/back.png b/graphics/pokemon/vivillon/back.png index 99ff947dfa516c75baa0ea095b8395d75ce7301b..112a8e79a6f11f0c92df073bf5692fece2a80f72 100644 GIT binary patch delta 718 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 diff --git a/graphics/pokemon/vivillon/continental/back.png b/graphics/pokemon/vivillon/continental/back.png index 8fe8b49ca1d33276fb2b13b0863a4352dfcc927c..1c4147ca8c1925262825110e08346733bc44ab50 100644 GIT binary patch delta 759 zcmV^#Wb z;4E-l*OqX)K;8g(UxlEfx6TsX0899pdF-jcZw$EUE^rEl?E;+ZK62jxFKYt729E7( z$gfKye4oc10T`D#DLE~6>#fh7Vt=e;mgZ2{fTt}kMk+@fe|h( z*ilEZjxgbgP=CO0fXpVvpQA)fTVU{ofDYo|7$!nYVT4b&7VMOIuE&62OMuTWih5+3 z0y{l9{Pt3m@OTV#5H-khGgly)Um0MNQiR)bb5(91b2qsQTVPj5NXilcC5sq>gC;e*!?@M^6?w_FGc`-$OxQoo0Fv zj@_^<;yl%WM*!mtH~A>Drw&$_u*iT3g8aH-Vc^&U0q1EwVFsiyzOSlR7TRNr007k{ zkd9%ztbZ!TSkMNrjx^v@;T1u61Yk`w$9 z(jbt%AomE!pa<~Pa{q=T|I-6j#U7jc5!id*y;A`B0ldYs2SEH=m*@voRjCr@d}@Hg zfC{U)hXbq)ihCvA?J+6!VyU)3Td*aG#x*9};Bdz~cJixrIm&Og4+8tYQf5cTz0{_7 zZ~>>`__aN+-G!LB1+GNcb+uxNA`vqP_W#%^aO8|43Xx)j4&Xe98UWB@k51o8nu5C?F3;%Z5QnsyR}K+ce%CWI)j5raVd z7E+9WUD6`kdj8bm+Ndv%ab3U>U9A%X9ibn*}#cB_jy@zm} zWySfY64$9}09{ngRvWP4aSt>F^u2%~ANjh(U3I`c@_*)L!DU*(MGGhs(*f}SfFOt; z9ANHQ(*UnSNnoAjW)f^<0gr{q3=lEEG{>8KlDoGKR+#bFf*FG1yyj8J+zSEMX+7f> zWH7y{>lYrm*A@W)s!br9!t}1LIp<*)z&bWSP=yx+Q4heHR#Idu1YD2F9_WNf5>J2w z(IKD~uz${k0ZB0oV7f9OR7XMK6Hwt1AXay~S0u%sBVbkTaCjeqo&ViG1W@e3Ycdd0 z14w?G630PZ*SbUlSPPUE)L6x{!0UnXMvFK1np9@9^jM-T`5lSYXH0d$k2h@ctMhSG z-&_v@yT3~1qt0N;nDW*GT!#MTCM%Amy!J}miArbyP>C{?*AVXh@k7AWHAR#%!w3U_ z-O2_4&}L5#uggq#nByv(?+(8I%as0VB9y%Soxt%Qpb?-q4Ss>~00000NkvXXu0mjf DDiKFQ diff --git a/graphics/pokemon/vivillon/continental/icon.png b/graphics/pokemon/vivillon/continental/icon.png index e4fdf6d2191e6d482bc85a5de3dcf18e74b7634b..482c27febab09c9c2b93df33109cee4cc7bc414c 100644 GIT binary patch delta 424 zcmV;Z0ayO)1Mvfp7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;qM|5Yz)00040Nkl~f~7psxL0b5xXH2w)c96@huC+C za@70n1h~OfbEp0l%GUr~BX3tl z7XWjPZ67Jva9$j`I7h{Of1r2*P;}emgSfU>$ADXII90$BjJUcF`u*$9_6ZcY#OA?4 Snn*wZ0000V delta 419 zcmV;U0bKs^1MCBk7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00047Nkl#Fw!qB91Uu{Pk32YoUX}v6eY5`vfNO_K- z7zB+NaL^G{O(m8I;X)U*TJiDK2jfWqwLZm8LURJ)`X(4`gzm)Pw;R}U0z~RQ;<|tG zrz8+RC{bSp%IeE;)nk8IV5?SsPYp&~w4Aag2n~1bw6LhfZhE0o7p$!7YD1{{q zr$RvBE=eic$Z|ZGDsWoRu}QysVI!=>o($EE(Bxi|V^ORK_C2uJzlR?@B)FeBBl*}u zkEhCfeZ&9PZ1sG|d&n7AOa}zJt37{VGDb1RWKJ$2g8O-N0ba@L{g7nlk|o-4z8`|h z2^45($Ov{HuB}3bL+=tjK|ElBbYZI=2{K+A;E^D4m_8EZhzNKjh=v5c6C_r!UV4H^ ztZ>ep>B4+TvcbA!2~vYy-W)TM#fw$x36dq$(u-i40Uev3tsG0%58#3tyU`EL2B`o5 N002ovPDHLkV1kNe!U6yQ diff --git a/graphics/pokemon/vivillon/elegant/anim_front.png b/graphics/pokemon/vivillon/elegant/anim_front.png index bf3e2aabb94af3670cb0f216278d81fe79e2a575..34c9f74289b36bc91042ad8963209c06ec3337f3 100644 GIT binary patch delta 1603 zcmV-J2E6&_437P5LIsz#$1SRE7jDtjuav^0#$ z24qP&X-px*^b$aIBbgmNCR00P=oSxJN)+hgKcGX9!SK+(pnvc2C`%Mi&d@^wi+3M> z-}fGmd@q$+J~Wa}-8c;EWNuq+S=$PmU79TEv>))Fh3$m23A8ZAb58fu9Q zrO}-rQB(=g2UBTdg{Bn(#py0IYlS{Y0Jmvr23VBdU5voK=1(m$^^laf%^q`}zs}ey zE!|xNIOmZ9qIdb}P2n#FmSZ;5$8bl9=yaT&t^V4Dv_YX+Etu~YAm z^8)}hYnAifDce8^9sbz>^w>8j!2gYax_8W&7)k&mh=0K;0^i~D!U){+emTMz*FfL% z*deD9C~>~!9SZ?5Bwz}0>J3mLl8~$ z$Km?8J%0ttx$q7jOxOstoRwaEkp`Y0l(1Plbk0T8W&AUHpF;7XbT3wU~*6^eQ-Ux-l<1daSy48wKw zm_@*#WxNJiw;4>_{5Uj#fR%@5pVA4fgcGgtUVk%iFWg~h04?OR;hA+ZRL%_Di(v0F zR~is~N{Af-AR#ryKD>@rA-Xsz5;uB{oJ?8Hjjp_xK~4hwC)w$GN_R4H(%=7Z_0A7} zcZqAyy^1alhY<4lCBXq#_QLC|n?8<)<>bO2{CS+v9o~oOQFf9g5~w|zC-i4!z75ma z?0@?#$w`1dngd`T2n_xGtL82eV*rZwJV1Hf_jCTIm*=}a1bM~V34nuue`cNS`apz0 zHU@NgCFlS8$NjfpV3;d&8V3k1)o8_U{#N)M6#Nrfrj*11n5m2`Vl@z;ILMp_cwR94 zkvo*Y30xK90DQYku#aJ0cLC_uR6rM!X@A2Tj#&VYWF9~h0PsG}?ZP^wY2G6O8CvH2 z+fa^6ff%3@kSJXPkfnG81kizZbSJqU9^4u2rvB&9KGIn%E%-O}9_fYFVG+>saUg%QrXs>efw-t*6EQ$j^?xMu zs@jSwL=1S4PXa5mK7~*fKxaUXszS^GrUHOYr;?T#*R)Pe0cfiaaS^`mhST9sRf(7Z z3>pVTuCYsbT}a(J`@YJPxrQdI5?KIR zqSaOaD@AB>#s$lTM#NMCWhnW^dC=T3hhbSyFP^wEG!1J(uvUQDf06_o=zquhW-|yT z*3NZjvEUL)w;Kd*V+ZQK>?~p*L5%VIBAD#CJ7~dL{EVg=2<$Z{e_!l`77_q-OXB%I z*gxzDMFc6)-~ZrUz8kky0-;2IboKHw=fkUOt3G}B1t(YU2uW0esRZ-~BdY+Fy2r?4wTKh6437;umaLRl*`t$5f!OxV`0Oh&Hm&T6;Ed6SrR&gDpQ1ILF!awU$+7;h73NCCy3FuJW z0Z8kxiTo0vs-G5YqYgmohgxw7km+(%emti3h(IX>bhQOE zQO-tHe#wC$(KB+E0I*=k{w9I!RB8#JPv>LJ!+%lUVt5BrwEF-6002ovPDHLkV1iIO B&;0-Z delta 1563 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 SPf4Z#0000qD0>S diff --git a/graphics/pokemon/vivillon/elegant/icon.png b/graphics/pokemon/vivillon/elegant/icon.png index f6c4772ae0e8cbdc062d4db0ac8762fcdc286465..fc23f4335ab871b993d09a7f59a247f86e19b445 100644 GIT binary patch delta 421 zcmV;W0b2gz1MUNm7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;qVhKZNX0003|Nkl&(G67lhUTOmJT)M<|2YVdTn?Fky(*IkCKMVH*kN{dv;DjN;Aqx!o>$87O z3Q{0I05ped^)(1U*8V&p#Q>(`48Q{tcH8Quvy%kxyE#E{o-49%k8-ZK%d!>7hvxOW z#C+tKTiI-8z&);eC4I~wJADowgswx0rHp`ZL!nUZyD+iCR<;<=XHd$f3riAQDESfr zsBpEDZ2(M$rY>HZN8l)4JkyO5ApU=Uc!g63@#xaAoI9EXfU$Kts%kLC{%shZzxx#xQd+o7#Vz@%`QJ0(@!L|DBWRE{o{spYGB=Sp#TJ`WXQ_ z4_B+`AHAl??jW!P5%6-5?&$Z_z};UGr@;Nc*9G?+Y_+d+;Ps9y&OM_bL~a*%;H z=qb5_4BW#QbC40h0`4Fqhg!S{rXJwh^lgo`L3{v-9UG)GrK-sQ0000v`VE7 zqLy`0^n;Kf?p%PFUBL4eFfllBmj7C=R0tTzORY2GlWGgypa zAYx9=n_{L_&`o|bVICNd0#H#mF|YOfO!!PS_{%{GgnvywHm_lv5+LC`c2cZJb^`z- zup#!XV>(;ndKm~ij)TjrxN!_v5suY??S-u?jInc7(8t&_$60W^I^YbI8QbN(Ii(Gv z;o)ui#CwYZ;DKgE#x|;eu`(WZsN8ImjdAz2Cx&hX_C) zSO(|p_J3A^hu&`uF&<(=gF)IjWe;%b0)3kb07aOCA|#Qk0ft|Bo>v1NVk{T~fEa-l z%YS$i0%!&V+a{v+^8E38l0|S*xxg7MfO@ak51mL2$;rj;% z%Yt%{NulrH5?cw(0T(6T_w(_x2*>kGp|3eGaDRF{NWm`n6+2$u2>LhS;e>0iXgU_N zgn?HIzP)en_KE)I7{_Dcp0(QX6>+F&@B1rVc7Jd_!Gn5E0IeOTi8#0lk0VODHK5zo z$H)R8@-7`YPyNmsxLoU3G^+~S)lWws+yLy@xw=Qu=FQS|{hLFbH~5tcJZ|>I%?T#lvGWIdH+aCb$aviXu0_?i0M}=iBI2g&* z19FvKcl+J14iA>WK@Nn30HKS}v4++l%YK(~5UT_2BtsYb-9LXhe+x3$eZk)jgY`fs znM*fZw=kQ$!ROga=h8$E1L~HLj`GVq1Ahvuuh-?E>1mRt^Cf!+<$r}K(3=@D(g>m% zn8%{K6W44Cjike%J(DKTk&7rAj5MI00cjFm)<0q^hkY<97F+3?2B+7fftsw*b0D906qo}QN2k;fDnKXI{C5sJqrDL_?F@~T&(W99e>_~ zw7QcttGQp?xX0R7{%2FaP+7Fx@K35eBB9bD4Agidh@Tu&GQt-@V^GN?8h|RRN$R7j z3E2?!0H@;3ATjv)hb{&97_?*A5OpA$k(5?Of<%H9S5+uqnt|HQ0j~`Vi;$FTA&xoLfE)){0*1}gSpnK-I;JE5JJ+_eu(K<<4)d%d1H;>o%m{3w>c#6$ z3osi1l3jQr1MlfV6kgw2l&mj!gA(9vJI@6e-@g4wTpe072vPd@F4<2D9+xP8!0Ak^nppi(khx>kI#a@CMiq|fomQP^z zaHUXry}!hsRZEY?5D37(ynlXJVv-R=i1Fg;C+F}(c{3vkz(bH?>FDWUr%Og<{lObt zKl-5SO*=s?#C0eSP_ol?r#*RuMc1_o7VN8YQlNEluxeSZODAMwXdY~F>3BN%u6xQb1^DzJJ%an{;2!wE~N_ zWh9gC%-o<9L@&WSjil|;xe*!A+Aqxmh-fb;j<*0%qo|7Z3UZVJ9n-}UU(vT2`PH&8 z6fu17-y3NGqCbcNWQ9m`EdX@n8a|srtQM*T&}zpU ciiiIIYzxHy`gt(U01E&B07*qoM6N<$f@j4*1{SHwi4Z0g86U$x&)b2GC1Z9X$f4-x z4P*9u@h+!Cl79lsQzK34Ct2^GH~fXvK?1-cArryn?3(~D&c&Uaa^eOA$ecH5KOt!W zB8W^5v;bll*NnLg7CCf8jF}}vtTX_9f$;=@2iSz<)|G)&O>wcP=r;&IDkPu_v~@ zY`YD>9<4G~=Ce7a1ES%vUHZsD@mkJ;3A(W^Sxv0;#v&Im9B_#Us} z)lCla2)XZeFykS7FbI~xcgh0+aM8P+QN}}TsgR_DQ+5xh&e7K?A5erjC_xdqI$-#P z>$-K|B7esG8~{WHR;vEtP79zSOx>Rx=I6*KbAu%@&)6FR%gg~txMYes0t^q=YSpSg z&$bB`Ko@|E(w65P9IOe-K_-R1gG+2CFb7;zJkQI=t0Ek)Gljn9K*#ARzXYr3)vS1R z%b(wdA17RUMb)raB_u8sJ!{`84~qGx7{_Dco_{sF@Fg)+vi7|~uQlXE2Rd&dWRR<7ZvXz|0;H0_&1 zjUVu-aau%~rw$x>w8meYd3vK+sD;ZMRARN*5C_lc_5DVn-f{&<#y-T#Lq2dXHUKj! zK!4d;KPs+q!NGX05s=IDsx#z#b$GA_4r(Bz1rWLd6B}p)svL4C2eAgwMKW|{$ocb^ zvp1lE@-zN)7-<9=$y~VRIK_qJHNMUPx|k+fE1*sVX(+$OE1+=pwT2p0EltvNsbcM+ z{I9SCdObtNn?W=K>sWF2;;KdAAn8`nm48VSn8C?ruRiSm%sx~YX+*O!Kix-#+x&604Hx1AGE$l9HWkl2w$uN#(@GEh8O1*ASpP8?*=A#%wxtE}KD?gn-^R znKe4a=588G-4c+P%r5yLGQVJCT7PdTIMdM92$16dOTd_MGAlsWeD|ybVEf8$7ItZv{V z<{K1mx!(FY>h`c<&l^r|R;OQtfr;Gd(y5~7)zB&<&{-s#=XsTcRV>f5@;+#JjPgb$ z&F=4ewSu(@JrwU>KYk3%M8^ZpZDJAZnwX`!8<9^xvr2PoO&ICHK%!iwXVMHBYbMJZ5wIaoJM z$Dz}*9I6Z3YUSudt;eB62222G?;kI@_pA+gyX5rTMQ5#YKTU@=EDkbsuk!cCouqS; zVkscBCqJOyPCCyQ+kq9!)RRePesM$!q8DJDdeU;};0UpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;qdmE{kZ z0009SNkl0aqeWNe?g%vcmyzS>~|y z2;?jk=$KeCKolx#T0@^%CacmWprq!=lTnaUfrjV?p~vE(j$g~ZnQtLLGJisz(q##V zE|7fw)o) zCSsY=Jl$A@aiqhbDdz_-3V(1xY#r0JO0re5O=|$E^ke6f*8s4ng0N6AKiK{5x^rF| z0PbKp%~rhOM6c`axScBjstVAeHH53~Idd1T9HiIW&MPbWNsnS0hY0JsCdWtkGx0Gzu&0L;(2oqvk~(Bi!Ypy!?e za0FQJEcp>yvgYRnsI~$4vuAkDf<-=Q#ix#q{A<*6F%H2s#&hnciSp~F$ z;I~uR22!A*#DA@_9bt8ZQoJwGD1^7OBD?xX!aBAlS;Knc@Z$jV$IPBj6 zv45t6n`@^J4Lt?=xi7hK(6$qBS5k@uk${HrM}|-VGzA1f5QfMkOD=2x99)wifGB7b z5CQ<-G@Mo_?&D*U$Dq;vjLQwjJQPB?#<&V_`RKkB1h+$%BWeE}0Y`xTU(T(O7 z;2dyV>GwxpM~3tLU5{5_CW4ehvd^zXx2e=`z?tXgi z^_|a7rG^^k!#zXIwZ`@GCxC&R$AOEiM}dJ*5@C!3t_IwP608J|uOW#T4z#oib~skAa1irR;BHOf<8x<41=QD#(ee^c{=Alm?unQs~Yy zMwcXbFKd_Q}Zd08W76#GoFRK*;jU_Bvhyu&4uB z2rPe*&^1c&ssPgpB$XPl5zCZj>BcIoBOL^Fxqm-+QGg5LnwYNjmRcN@blvHJGX2>4 z6x0AL>L4yu><{+8`~FRBLp?*d?4L7#;mSj1#c#cG z)Lru4R-3p2U<>B}gq;>qpcf!&3_FbN-~|t%u(R0%$&rsi=rjMUX#wzifXgx^r~o+k ze}4d&pY>Z8Jzykf4M4{~1KDqAQBDA6zQ{Eo zz_#)DL@zoO<0Et+kaFb-v?L$PX`6J4=Qa1Fo07DEUtktByS~X z@8wS2i~!sk1msN&LI8)|J0R}Q@!;m#>q0|Mfo|qYW)w8tKDaArMS|#qn)OFU=m44q zq9}?ZQvF9RZU8)7ksyK;Gzzy9pK{8eQ+U) zZU;V&{Idd{0NuZwJE?(Ya4-P81CC4G?(ncOobT@jyaYRu9|Q2qAh=xF4FcZ%XODsj z96;M=@N+Z{Ogs-XaF>}J8aEDh#dti!B`o5|_kVvy2hr`o;D7xdwwZ3Ydldix002ov JPDHLkV1i@6V&eb+ diff --git a/graphics/pokemon/vivillon/fancy/icon.png b/graphics/pokemon/vivillon/fancy/icon.png index 10d9a2e9b246969bada468eb7c8083bf5de23682..2e75d4c340b77daca405b960d15da3486ec0b71d 100644 GIT binary patch delta 445 zcmV;u0Yd)#1BL{U7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;qdmE{kZ0004LNklQMs#pl8zD^@XjhdlD9pjers7uktvb*occL zYC$&Lq~9UxjU%V&@~HuoW0F_d;u#wdZQqM(I=f7o97T-rEX%HK60mB3wE&l&g^zX%RIc(|u!FmwQbkcD zPgViC6Jah6ZY_X(i+tmN&iPdmuN@$2W3hYjfS`7KU-~%)R8@)eCjfD|4n8S}F5j~j~ci+Xi00000NkvXXu0mjflmNgf delta 435 zcmV;k0Zjge1pEV#7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004NNkl+7AqeG=?tBn&9;^X*J3;0REl4ls4 zLXa5)1{#7OONnDcXejaE@!0iXD8UC*ILK4%K_DD@g2D$X9%Ar4t}#&vNb!mzE-!yR zLIP3>aS(ue*)lxF+^4`&y||wmkQh_Ga!*i9PJPEjiOioJfdVH^aTK7$d7XU@;v6?Q z6JVC-Z78iWn=VxC9nk(2fNl)HgW>|=1v?Q@atF+ICxm<40!}An5P!rBXtFSbyS`2Ui;yOH$r!r@ z+U)#olY79br!2X|A-flB!f+u0b{KOV?hylAAPmpLQ#4ax>@0-I&bk2VAV9*mVTgpq zKsO=A@4^Yp#()JZ*>%G|a01{e1D@;J8knf01DPfS)@J}lA?%V+2*Trl&DVQw3c!d@ zaSs42VtjXk5aiD<3Wyd1HIGP4!*LLFxI8gBH z6%FBd!gdeFQE(M>twaEqOXAG>#aM!LgRAJ^^M9aD5`il61fUgbu>?7U*HJf;i(Uf- z$!p}BiD>^Od>5@G5i~Yt>x$-^u`E6O_vSqnfMW(;>QxN*@DV~^Tq8c<%A0$gwHoDP zpbzWf1N$aRXhYV4>3(TiD#pO^hL>5du``%1l|GcJ^%yWWQh;9+z#cuk8Sit#1)%Ds z0e_R7Qo2GvyT06~RZ3s7Mh;*gK#%mJeM*ZlP|5&pR$rmt{_^Mz1khcnF*6GwbMx4& z)A3Kn&-{^0L;|;I?@LmF!?~K7&OFZXg}DCfi7HCvp~@_Yp{>KvK9ca(~tpe zNT#=}Xgmui;E)D*5CE_apWAmC-()&Q4u2HQ8e_i+ITj0K01bh}<}JVlG7cQzQN(lK zH*x~pgYPssqXPKX9eg=U~1DX{nnuKff*x?j0Q{|8uAx=`0o& z{QG*3<+;{j9#G3!pnSik#NnerR#dWy44}$-lC-K?ky&Jb?Q$NdY~5Z|u?)a>Kz|*} zEK-0a0ie@qt;ZQxmxv5dD@_1+Z%`O^dfT!@qySN~b9rb%X?|rW506F;ew=@rP?+qb zJ+OMXmdj-pXy6yrMrgbj}&COdFBehTO#&}3}~NQarL)|%_IPB zhX8m2cp?SZUgWWCB8>)4zFly+YyD^<-atKK!eKZr*d3 zlJvV#Ye9RU8>^JsRjI-d0DtU5**uW~+NaPT_=o-gdWWjaL)$!~FZwqhrmK{hGQbA_ z@BI}SFWdzHROZ!J`lF!NWPc`-1mTMZS z7XDP10^Lu+2w)RZKr5OS0LvO|qPzguq{K39DoHc^EVHaW>O0PZ5lS8X&(LqglJK< TW*Z@L00000NkvXXu0mjf9n;2& delta 1528 zcmVhUk3misaRLgHV7L|rC89wpNGGRaC*!9h=oD3h!NI?Mo_WF+pi(LzgV z$V&W6yM)9g2w+h{0I`CiArMLA;2(YOP_WoeJd`{k#1#^GPsteq0D(_Pa>xKQX=fg2 zP={>KPC_fgHhr2kWT=j1+YuX zpa>5E8}nUv4j>wa&;tOAS|U$lKt;e^gBU1385o|00uHz|9k^K@0C3c_-K1E=#>RAt z0_}#7jDLW9xyh&?>?dJ(c{zj>;$ZVg$ET-X7MDo$!Y~|^T-p_R3MCW~$P;ndwx~Z2 zr+&$`-6#ML6x@47)kqYu-Gg!HU-=y?79gdfcxL;BNP>3!tMK4+zeZz$islJGEmR{3 zdI+zhZp0Vey5`5PQQwS3dpE(Ga4oK&zM13|wSR9$vh48v&08h_$Mn6qSJB7S*EH>m zYYi7%&8LM*mEjub!fVnvb^a}#m zV~026eI#4}D&9O`@>9mv*k{+5`>ev)b6(E?90b^rezeb6Ap(jipv7xz?Au@Ny@CQd zYkyU4rUA{|IyP%;{FCwXJ`!ftG_^DUky=mJ^Z^1UE^V#`Rl^AD`Fj!2fvZXyD41py z_OVw|eE@dqGN1*A>8&a%p27(@%mY{i0KAQ{eV5}V=W9fuU{*Q*O~~;`AO)xzNNmjj z6i7KBfK^1X@9P->^uV3Q4=HY85daA-xqrcG0rJ}7BZUuKaqhdnkQWlkkJNrPFCN@m zT9W^NEBBGfVrj#_1+oo46_88>xl$U)Sfn*24j%>5qLNLd07(gH)m&L-kpdoNB%t?g z&n_xN29R5zMr0OqfF%K7(rIGzhD2_K%79$C0RYYh`C+@8tpPmd0MWA-E%YX|=6@H4 za`$NDkO$ej3605)#{;WNs+qG)19g%CU|c(f0Ro%*kUAd*pmkTt;v)qo-8gdv;H^;m zLw4*$;76f0-gKeq$aa?IDdh`ViN#+*LGy*PjHtvRl4u{k53b+3j!ZyEw10ayZ?4xE zyted;1 z*1LH(U1!{s0et|--d~~d%v}ONXI_7y-}Ac-Ze|)50w#af`}63f!M@yD2CNUh%Kuz4!dn%~bG2D8(Re+Cp_0&!t^!-q{s0kvRS0IaI8iP92ai}iAf`kb5DwyTIKg`f5C zL{H4czMWLrIt4)a@wl=CC~R?59?ENs<~cD0%S#YN6r)eM!wi7oKn_5{OMPa6Vj{H! eP?LCSc=!*7@>4b8a8nu5C?F3;%Zue)z*`>c*!CVkpVwQhjF z$e6(%=qU*5MO&9HLf6je(k1XS7Nno={?rFK7=N4$DF<(l-0wOo-vNwg zZ-bosZvw`-E5W)z-T--D1;3+PXNhirCA_RU?5Q9Y6LJo#sh%p}l2U|A^)Nw@^X2}r1vWOqQmH2Z$UWr%eJaCEX2F%(TCi;b z9aLvjYF|VafO*WB``{=efhW@`8nz8naI2=a?EnEA{t2zZ~6;Ek@px-5SMGq-GMAQI02F@ec# zSq4Giw|@bUuwab^f?#$6AmJW?5J8~Fs0L9YC_>_MkvK4G0x$zBfQW(h8JV zh1UyM8>DM3UfeP%g{S~rqfLWb5{+$4w!!z8d2d<%Zf%b8tLs7F_)p60WVx5dq&FP! zHk@8|>ovbtJD%c`n00NfSR!4j9r(xp!8u@ZM-i3!j1f8jyHOSZ(8C^`U&p^vhb`WP oi{sh;f4!u?nh0so+$V6n0;3&}LJqRRMF0Q*07*qoM6N<$f;Rt5W&i*H delta 718 zcmV;<0x|u`2B8L!Uw;CuNkl*r|HD=GVX zdR2x)d*y!sa!88|R4+90ri`B~$r0kljZVq+VyY|jXez_bk*Wq=87#3DEQ-hI=6+hjr{28h6b z@%{ZB{VZ(;0;!(RfDH{=n!z!RNOh|Q6h0~K#ugngdQZRvVYr4^hrq3s2OF*K>>3aN z0ihgVg$5h5c7JgmAV~Yb1ksDUd`L7{sb>d#Qi^b{9%cwizS=!?z{W;cDfJ8hWuQEu zM`gSzEVxu#3$|^bgX)Y*?W)8AFqgR)xd)Ci5_mQv(grYh4^f0|1xd~uKnJD0)EcNY zWC*sqCl71`n^Elu@ZH)0|Hw0)aeZ0s;i3hkiRr+$`hQ+k2!eU#0rSrqM%YzYfEnid zEGf()*vJ9?L9Hv$K+N|rEAS?t6#lJ)9b!JO;M1N!jG#QLqeaO43jxm)5YvEs54=Om@N7*JWM*?0g*MXFr3$ z;g6KXs8dWDlizT_)6hR`vtnJVN1o%ASPTGakw>r8BZP;)(J^51ks>Pf5hDx$cB3o+ zpo={@K8}B-30pi1XNRNj|MiOgY9i!O`#XX452GEBLOd28mH+?%07*qoM6N<$g0##- A-~a#s diff --git a/graphics/pokemon/vivillon/garden/icon.png b/graphics/pokemon/vivillon/garden/icon.png index 868f8c7fe31af20ecc5bb0ed5ec1290d0d5a6d60..bcf56d0ef4f9150bb9e4d9a5de2c85571187ca05 100644 GIT binary patch delta 415 zcmV;Q0bu^(1Ly;g7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;s=WpwyS0003?Nkl z1%S;Z`eJ+mV2NV@78d{>_%ujnt?ZDYTLnt;T=Uc+E)h3bwt?<`Uw?<3-*d_*d|QF^ zwC#2Gh`504_%V!Fg{nhIW!ptn+)!xh+B$UXsIG|O{?3HmLmh^sq!@7@0XWd+Ipp*L zp4ry%&^!Xi@!*B8HUaAYo8NGHL85O0# zDju9FDa3OzYnycLg%qV&JBR9pP=C#xYq4p!Xq#}ZhhIE&aKCdR`LTsHepSZt3;&N% zRDbCAP!|cq1F9pp4I~JXF*qleCyH$rû}r?0000jqNLqcL}j1Pgg0ibf&u!Vvo8C zNMk3WgPnj^$+F#~+juin&_ALp@4HCA;6=dToxDgOJ5SHKl7DPHuIxoG36^w!^PTTL zr29!ydz009>Ds30*8{SycW)5LfVM&?kd@F{bj(~p)?2Jt>sd#el{xV9U!s@CA_0K> zmndP21Yom}))rw|AmA6Hko86IgcU9U-EBx<1z6YB!b7hifdb%nr7NH=K>$3-6eN{^ zOhU&0^LYgru7Bn=B+Z3fLJK9?D1a?iOtLnDT%rJ|!jQ4`d^zv*A(wa^O1Iviz&74n zw&`;~))_+y|8WTjP!W6=cnu8!A0P;>fIb3z9JHV~k+uac0w|&2zYw=V06z8OauCqN zZXY%RI|H&YxH-_p3jEsTsN;2Y_WBN8l+~WDZxsLSV~+0ss>>w!!bC zi7*4O+?EShfX{*eJY11w1T1dRcC)GON(xPskCO}b2sXz?XwewG%$Kf*2=vII$;Yv@ zG@ZIA;D2Z1^f{pQASe9IBso0X0Wy_O-yIOXxZIx1o0%9 z#$9(9WDfA<#I=_cHM`vi+`UN>AH{YMj55(~hws_wOMV*!L41_#eG{97!UHwrfN~qa zK|XNz@paS$2rgs(B(b6p0Slq z8Gm52G)IBWGJKZ< z;TM7Lx*`CqfCK%&184$x2$=z%>{4h3mI$C@FL;c{=p1ajHvk^A05I|pz*!guo)~aA z;5!@JRuf>DF@_LIJK$NtwrCVqFn{V>YX~rFOXQ*F1tVq|dW?W@m_5uF?8#v=dA4oy zV|~89SU6GsQj#ng6h8b05K)pDO_F4)KOfPKGMYOMhQG#15|0U3*E{u(AO;oh*P~>* z7eCL#O|6a5#M<6u`p*$=NhgaQRSDg*e*Ty8!!uy3jS3`j$MW~z1;=k)+JA6i6Hs*1 zADlcrzU_FcqJBz4x~`tQr79iaw^6~Pd7vAMPHL|R6`uc+I?*KBb<$5lK=}>>LbM<4 zI1gtlq8bV&2zzkyetHiNei0BMU_SUeG3++LyhzPg`rVkKgDNl)VS+gO>)^HF+;0cQ z-)p}ar{|wqfS=Mh(hP&*jc*X(K}a)ViZ>!ap&*oM^GZ6iTL2SX%94WFK@|cNW6o$s zKQUFfTIiAh>E*|j7GNQZ2fIvYfdG>Oir4}-(aBHwmJO2w7!Je$c7&C`O`uaqwE#-- cyb>P%19ygmbVM599RL6T07*qoM6N<$f*iH7HUIzs delta 1487 zcmV;=1u*)<44e#*Uw;LsNklm5|{zjEu-|%ZAhR1 z@WO%srX>h~M^ZsE2#^vj{GTr}K!2skp_u^`5@xKm>=M{wT(APJA6u{IZ! z0cXxYBlCkMEZ7Oznfa3wLM9ke^{#k$$|hpfB$5(D+mOZ<2sQ0r;h*C@!>9Vr+z+}1}6D~-1iTx z19W*8uP1D|T?N=A&vXCBKX1Pl7W4Bdz+e;1;g5c||JXgnNumX2G=S5dWmv=KIY~?q zsDF6S4TdK2v-CXyMTR}y2+?YO6bl}>R z>vSqEB+4)8Ni!}E?iHX2GvLP;>;XP912ZsB0=RTnp4i6_cm| z3JZ1BR#%mx3Iv-C39NlTU*0Ukx&nYJzyVc?;0kaRfM#|%Rd)=uu&613mS}~jH!$(% zzUhHXRDey@T2pC$X=^tQo>D<=?54%suxJnPN0&9$vJQkzz+7ajMR7+9DxmB23x8m4 z0IoBAq^Qf_fdJw!A|3=P0Nh9bt5FEh1h5D>5mt6Bb|O~=P}z$fVi}!-?cf?9gc$$~ zLIiLX`cbF`d;xHOW7};4410_|#M%yoZnUkMg&Pf4-8BT5yQT8b4Wj{bZ7W4UIn6Hi z7wpktHhQ}4iLySm-`HD&! zDgpgFY!H(DWXFFnSytuHv4ik>C-260vGA*a1Oey%-r0-TH7d1>8FsdZ=+ECR5D zIQ#41mF?e~4Gh0Gf3r`|Kh6Mt%G1QOZEA0nfM|qFJEitU1?bcW<>tJePrMm`gDzW| zj=e*(>}sM*nOvOFihg9%bx8ZtB>~!t56d%v1=$|#GNlCq90BNR3&KQOeyTHE0@xg= p0Sv^o&nD0=rDgzn`MlOV{0Dc2gmho9nFjy>002ovPDHLkV1fpFtGWOH diff --git a/graphics/pokemon/vivillon/high_plains/back.png b/graphics/pokemon/vivillon/high_plains/back.png index 457fcdd9e7cb7e7904689d913e7fff4c8208f958..83b11cb86b52371456b48e78a708b56a8da775c8 100644 GIT binary patch delta 705 zcmV;y0zUok1(XJmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;s{`w(sF z0007aNklUKOYhO9p59PVNN9R;CVt@J=}G|8C$2S?T{ z1w;Ri&goJJc*}f$LelpnOO}6KG~`V5;j1UfmKKXa(|U2asefeZzxo5fcy$>lo?HZs zb05K`fC_+`OGqY0n~azS7!gPAaV7z-9Vn**#$eeG0I*}I*nw3Qg17~YLkpH^)te^R zF;oDuaE#c2wF9dVFsgyZU_5u=^G^eKTUiIT7AzkhALu8u0c!%^XsiI7XrRoNkYj&A zAPzv~D^=@!3x6P6u(vgQAz%x^5ps->GGaX5d2ll7!GN6y-~p=)IN8O?w*m@zP16+t zu!YbhcThkf`oLGpxLE~(Yl&GP%MhIWG7azvFrfz-x~Ev4?t9Q z63oA_QqWc!0Qf8_e95EApE{UONDE4QM4+zfbdxZDAkZvj2yW{7Dc$&E%dV3HAa>$d z*J+w2ePGHYAa|JXgkUoSSRa7`L26nw1W@b=Knpfw00szYL8hhwh{A$I&jPg~pp#i} zY@U&*KYwFDv%t5y!NxxV&FaT$3_x|@In#4s|Jz2)gSxIwggc)QGLbV9Xf&ADZsGH0Q^In9S!^M-w2fN7*M8H n&FKEWe}6mE94rX$32grXGs|E1p^x7^00000NkvXXu0mjfvDQ3v delta 668 zcmV;N0%QG@2JZ!sUw;C6NklKNIY11u#5qt8fXm03lF~DTfp1OI%cPO*_7)PE&SS4O}ULX+Hr03rJzRLZzr1&M2kS)j@o9K$ja09r870(w>E$EpKj z0@y;SMjv4TxNWXx{)KZJVIu~>1q1-Hn%?^FT@3N(%t5WrYvu_wjb@Bk@Rvzj)%d)f&Y?%bq784#3tcL*WBOnlDwk?JL#Et;8U_Az4fm9CU zdK!Qf4y5KR&`Sa)Jqr%aGZOu03}_bkR5#f8XP{aBT8;te4m{@*MLMwi?IO;Dx~^?R z3mAgJ7k^>b6G4qB+yktvpaUd;D=S{YF=;vgd;H&J2NKa|%tQb$u3z%He(HT3%})k zA;ACu0X|7YK~y-)&6B-O12GK8^9I(vKq~G5u5VBl>o#%|9hs_*^#w@J5#e|<5&0EomjfQSo# z400JHzjjW@Fs=bgw04{Wj!VW(*KGi4G~X%VO_Po^;sV6d&Jq$G7tp=D&qP?d&I1j2 zC_tsTcjQJ>CQf9Wp?bbRboX>BOH$Im(!K()rOo}33J?zbajKV=5hSh`FMM?gQ2*cZ zg9hpgcD{jm;x|Ht^wg!<7ig7xXD_tV$qKa zUDt5|khUFJUr858zmPTsB&%OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00BQqL_t(|oXwLlQUfszMRfy>FW?M&fXxj;quCB`MM|nn%5Ylf zy>W}yF&;__Ct+h7hL%B{pTFdh^bPQ5AwPfz^tTfV1P`gGF!+2O=O&>AfPhHjHTxR= z3NW&-0Y+K?W{}GeFNIKqJPtPjB(0s#e}eszai`P@i3jtQ5>A?RV(9w2V-y z5@!vxf$;w$Z@6_(a?-Yy*BBarA&zaU5-)BkmC}5X;JmDfX{3CMrT~i3*MRB#V{kM# zySUNX8DjB|3rZmzGZfLMLM>30RB)bZq~0(0tmbEsWQ?jX5;2LXi@yEBZ!Ef;ijjG<)YJArk00000NkvXXu0mjfSx>>0 diff --git a/graphics/pokemon/vivillon/icon.png b/graphics/pokemon/vivillon/icon.png index b9d27d02eefa6b517b5c8b307f72b36bb9c8262f..b52804ed2c4ab4e25a222cea2fae234b35e613d5 100644 GIT binary patch delta 383 zcmV-_0f7FL1k(eMB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE4G!S^h z=q&&M0X9iQK~y-)&67cH#2^esxq-z679>;u0L+b+LTcm0#m8Ws#Z36 z*ckjjO8r@sAAl8c`=g?ER&r(0&UIPRP%r{TiU_x(`UoZpHG?v^e+QJ^35dwB%9Ba0 zb1_V=B`7floF}x3H?42v;QV*V_Gw@;+sowM(URuL8M2QU1h1gZZYRpHS=vX=2$rOf*P zXwS=d)w20z@S>!gb!rNwQ);;7sR;Q7W|!;0$Tk2x8|NmA#3fXVZI^%6O>51~g7xh0 z8Xq(nRQKt3dlPpHs?l6vt6 d|NeAad;ttB-up2gA=Ur@002ovPDHLkV1gS#tatzb delta 446 zcmV;v0YU!L1C#`iBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00B5jL_t(|oXwL#Zp0uAMSTN{3oz83SVSkb&4G&6NO?kwcv0%ce-_q#g=`-hI>XKh_j2nPdW zZFh=3_y6f5-Zr4Q*hqR~c`leOH(xo_jXf&q(Z&l%O zg32mmSt9d30N(R5mMWWD9{-jk=2%@go>Iduha&76m~E~NW77a|9GsghB`m&y@Tj!e*>q2@<|afE_i` z<}Mp41mb2FI^AWFGQt|5VNU`guzgCJ940-9F#xfvZGf)CI0eF#3K~H`O6c&9sLlb1 zj_Mei88XIY*?%)l_XGd}Hft(m+AQI-HUN8I5vD1R(}jDUBK$Vfp1c!#;2;2{a7B_f zd`Z|A0E!?YW0(|BCey3|42e+~9w-))u`o$d!hpX_0JsE?1Az$^g>&XhK$bDA0T&{O z`-2o?tbvHN0C9_wqZ+WW23-I(eVm0#gpB|*TR@Eakbl5hz;7#nL_89J)d=_@0&_~j zMnVF1E#QYt0*uH7Hj4}h0*|v;;is$tn1usr1W9BFhzLG!0UR_E4hu&BKm?BZ2;gxV zP$;;ma~n5_&s1?)p8il+^*r-QCIDkSat5y>^@2u#6!mMAhxO3(`tzsK zYJh1ouNe&yoPE50A4q@{S?g6S@X84xKVA{M;D1}zd7X`?HvwF8dK`$Wy4@y>*AECx zouy+*;O=XiF!CJ$4!GldaD0n%1n!*{kP`vSg0t(zu|Jjo$+m$iI2Z@tU0oa>%n(?0 zfmIdwJUFN4#|L~I99AnroHjsK)r}SW^5?U6LBMAap$|M%Ra3LsxPilz=sg%0AvLcRR(W(RSUEMOkxKK9D4=x zDA2AX0wA&aD&*jXbODU9vjIpqf&hTX)^Z(zW-!~(UBGCK8T|;ggwwh&x;@BfEi&@{ zym)XobfNvvOaF$m7;N~Dd5=-YI`kT;yMGP1k83I-d=uCfRcvAl&{dwKt*TE{A=*HA z=|@+08(28V9VkoXrr>XtARuU5gP!Q9RXl7Xi1S82qXY* z)$RjC*t<;2F@mMq1*AS>4gx$%Qbipia0IqT3pP$|t^&BvQuCr*oY+2i0qTyrhs9Hi z?Um)87lj;+WCzG8+Kxq8E@=*p{(p#i{Uoop0Neu)F->)xBe)g`!tYY! z*?V~p0tBEGBY&ABg)cGR06-B$R1BK|%2k>bfFUso#{bxtU((L5<(Iw0y2Up8h`+e zSir_D03d=ueFX40Ehv-_ppig~!nEmp@;;_kA&i2wmW@bo}}6 z?jLxc&oPBAa64gy%@8Otg=P*G!6eGN{0p1C#&wL)0Upb;{4%m~_>clEfGk0xOyLbL zD}R9|fJtm4fpf269R-?|L;xg~U!@#ekT!rZw$}h@N00yz=}N98P*0|7x(!&3Ijb9? zk{C9w^VYiDR&TPh?z((%*R*E+{|)mAXVKg6*Fd*hZ%k+$fjQa)Iw3YSH4&Z!Hbpfz zu>ojO*i<#gx)4nuIP6G3?^`l!+%0JTo)o(15^VT_Bg^x_&1@cX#i7NA@l|| z{M>hQz$8{cB71f_gv|1-YdkxDmGEw@p?G{+*#j^*v{Oryh4Bi2w$}l`t__50?itqt zV@?wVm~q4ZtRsLKQ}!S=v4QGHut6Vhh@+>g{?UR)0Xq zdjL*D04Rr+6zTzA0pM0?7a-E!rACGk9Nk?&>Qg>MK!kCksY3{kfVwQ_gMqdf)}vsCC}P*}L*{O-<9)`-FfWRHb^^|E zkF|bA(Wu1Y=&D$p<|ka4o7R}^aDQ=hI$!*Abt1iN2e6=)NB^RKI6)KGj(`#)9-V#s ze0>3CQ6qp7PBgjsbnW<|ty@Po#2C4`z$lskC;{z#!rUGI;GxqB)hxi~J>82Tc+gIEcw#=Xvj3f4d); z{bc{<`uF`np4qN@aR1N)pb@g&{9vgEENO)7Evs!l8o;u=GYzY4KGp!(m^&=kveUO$ zSt4M(dFTa{J$R#!um-F?z^at3o(SuOtOtOFbmOxNtPDsGVAb;*=HWl1JR(47I_+Tq O0000c#16b4{>(JY#=nys(~0U3!`=>+Wo0)d?+8z5jbXtwkQLgoww z1oRx;)1g2B-J*Mskn}x1ilSuNae2DP3*dP+xaeJ-By3P!j+TlE#A0mVg7j z#RRnkT!?*1Q1ue{N~vRP_@ivr40Nsp20&S=nwHACYbKx~z!u6ia)brI)7gV=KvrS`^w7Ae9)Vf_7vO3HO+ZY*FL@7Y$O2%v%zq`Yy*ZHhwZ@>-fHk0y4ZlPZ ze)C*JC7>>A+2BW>Hh$N^1m!{y+#+ai`h1rqenY@Dqs0jHhg$CY{wd%2ZOZ~}7axHu zEsuSl=Xo{<0D=LOnDB&Pw*(+00i2P2Zd*D5dPN%QECjm{pr~C9=ol339B2k5NCz?# z1yD=XZhr`vEDp3($Ke@C`!fVwrUj}Ru!$uYM{)$i=F8?3Kx?PWg6G1-K?&IpjyMnc zzPAzM{uF?UehBoKB3AQHZUTENUi>y`CIANl`H@6$jF~yOdnx+<`|NNuhp>;k;g>PZ zV!JnNs)L|mSU&dqwfKskO@%YDiyf^PQN2=)!#(f(6eQ*kKD+;GONfBv{?!AT?DXXM q8-ePLe)5~)AuT#2(F8^XGX00000+Wo0)d?+ z8z5jbXtwkQM&=9w2=pA?)1g2B-J*Mskn}x%iK69{gDglt{NE!fSy`40rP3?O7|Nxq z>OUZ7{rg~G<+~tfEJWl>V2HqQE};x~xrY$33^0Nh{`5=&2!9XS<$wu%aaULK003KK zxbR@z$ACjq*nm$Ctf~pnG(p~2`#FF*uE9^hItDrR(8z*Lga;qK8^CM=N6;An8w*ws z5BKy_yB+{KU{oOjM=Dg?!U6+mB`|6NedrV~b1CN_yCh&6$!Q%CKtX34x73$Mqwd`t z5Of3}fV?;0Xn$J3h2CI-NP%s{OcF$wg3u`y#(@W6vS#4uTCe~pOE^HU%IerpKr8^$ zsO`~47yx#g`^>*^rbio*02>eh@Rm)0ZYsCc9*6|E0M{c(0&D`|l@FkUG6KrBnF3SI z0aqc+vXOv2py0ioM4oxzx+DNy)A1f3@}dv_I+!3_2!Dbb1jCiCwxzE?%g{*XfxPbc zPV2{N8~(Nokmltha3T3Y>#C~CIRIc5K!XX72(~Ez#tGn#>?$*g3D6X2smmB_V}PP_ zJ)pCo9_Bz=&;WO!REq#QE`~J$RW1X`#bJC#GW?8zZPNhJjyPBf{7QN-uD`BN0Sso# z40x{9GJj~G{9z-`1Ff}*a3GIBO9uiPQAdaeTwarp2AuE&z&XU#Z9OcXbMK^#||W{WUEt zfc)+?0NU*09?h!P_>=$u002ovPDHLkV1hw* BEQ0_5 diff --git a/graphics/pokemon/vivillon/jungle/icon.png b/graphics/pokemon/vivillon/jungle/icon.png index 1a3249596c47875e141358689a23f8a7a28812ba..e759b4f789eb5b485f88fff9b5b9c88e6ccb0222 100644 GIT binary patch delta 400 zcmV;B0dM}+1KIWjusdzwm0IZ11iIR$}WK~h*e7%Gwp#_Q*kqMXVOE7~NPt^qCP3W&((G9yCioIKO92$X2;IVY5iyRO@u42=CwiLV-Zfhj;7b`D32YfPPh)c=qC!mWb@sU0gN#0F55(2jhX#6LG)l(3w#gswWm9L9W0wg7*WyfAty0AGz4 zTkL}1Tu>jYe-OK_V<`$s+YT;N)+OjO^t^)P^!;wA9$%!#k+8%7 delta 396 zcmV;70dxM^1J(nO7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003+NklqPitHW5Nnyn`aE@VQ3OPDAglC$IS*0iEcAT$gVA{@rtruzx4mLTJ8_|8G-|} zydXX~afitWPRh!~EJUk#e$Q3V5$<^ZCnsZ-RZwqYGAh_(sk+ex)BxyO?VYSA+(BRg zBH-&FG^%NIfzClmYQX2$07?q7)=fSi50>a=ln{kjy>&Qt2QW qpb6YTGKVUj1WONaZ8=-HmaGq5w;jEk4OKJ%0000l*O6vrueU`CTFsv+$lMiA4)gOwv?pq(lnWuV?Fo(j}cEQuyvQAybdU*gGSkKE<iu_V||o(5h%A_ zf&lcH+lQm5^B`##SL6Zcdaw`Sp#v~r!XpKc2iGCR3&n$U`>BKqKY`dJia-zo81eo< z0K&mdfjT-+G0@8axS$Al+(Q81U>ATc6A}ZQ4RDjak$(Ul2*71RqL%`UwHY5Gog4tF z{Y?(EnIlFBx0o12bbAm42ktS8j|_$>KnZso+U%7ICTsC)9`<15WdP-t)cNsP2@v=b z4hH7gCD84+dCYI(O#r@$?@>OV?n1?L;KX-v{QblXzCMnRMmP_5VHg1b4Ojq#*M0ML zV`H&k_kT}m7ftwW0-)nvFt6>=N5@HWcJ^fVh&p`h5CT3uVFP;}wdk84k|dd!kB;aO zo-W2%LqHe6PB)I`$s#gGr#q)83L(_t?iE!-yia$I@6YB*bQ1Ze@oATbP_OZ4Hmu^g z40qyJ(MdA99r^d;nBkI^7H~kVS{U(}>~dh}Xi@qag~S%X_~O&Y(g2KE-aiv*%U+Z)QK(=x~SmnT;e{eD1=L7()AP*1(n*JB(XZwD~_lFXI zf`5R2XdLeQenSAYC7|8(fBNNC;+Mk64oVv0tE*IFn&4$DBLUIgmbYf2n$1d5`P zO%#BNtR~5;RvI#k0??_KfyTF&ofee=^a^NGnMDq;B>+@9-A!@gl{F>oGUegZchNg8YF2MFzSy)_P3cY10XBeJ;>|`*ed|=2rz{H=mr4l1UcZ@ zJpgP3968_!z+!!?3_uy;Ic}g#|9|RH)|Oeo4bVqh$}~QrPzOrR!GYo^HjOCum@Ng| z0drrSCG%&lMFFUgGXxI8 z2?8Xu{X5nwpgH+U ze`;dtmjg~a3Uw2KmK3OxwrB6_W&|-x0aXC&DggBrfaQ-XiaMl3lL8u)Qe!+(N;K(h zg#v)w-&z4cxrWM9d5l+pDi47NQA@M@iU%eIpg52NFcB2~mVsI(wE|GH@j~(NAJh&p U5iE7Py8r+H07*qoM6N<$g3>~zhyVZp delta 1492 zcmV;_1uOcy4518=Uw;LxNklRF7bHL@XLH}X zBV|!M#mK>i&3nK5zIS(&-qW<@BWJ9BAc`Yzei+D^X6XU}34bgzLIG)!U!uceft7zrAG`9kFH&y3#Ef} z+OdR=Kfc@~iC_{E=!xf!1f+u#10`|*InkN}Xh9lqg@**tp`HSoTuO8(>eD7$Jqg^D zfWxIkD+V}ka52R;<^WV}-w;59+j52pi=oNnV+)fIz<)JviJ49}27n32Zk<2T(PSlj zD$?%s+ynq&3HJ8~noq!=crX~}GoaaSh@78=HxT$Lyapm3??R_@5X3iO`0cRje|Zq@ z_b85cVVXVyWn6%S+kEzXZEZT`*N>n{CgL^`$kSbLx8cI=gD86W>hAVF*kbFL0=+$h zGCjFq!GE*wqA0q5dV3%C>2xW_A^~{`Y&FAR5>12C-qF?(iDC*Ryn9VI2yesI!S(SZ z3JwGBC_HM46iP+$&JGH6F5Rv0NpKjAF9+WBFyyqPX7~co3l`E)Hq(SY0-Ej@r^T`a>~%jCw}4hwi?53tO$o5|Ibcu_z>c?fGT9Xb z0yTdgU<6dW&yHX1dK;eCRRDkj-lMZeyPj8;Kyd+RRJQrS?SF&9fF!W! z_04Jpi(*ZwFhXE38DQB2C7^#oz}{d;fXYM1y1LUpc|EOoz*N8h0l4)~RNeUiPIjsU0G8L!X?hn}w(M%6OHF}hpH39mV%?r?g8;1kwIu+yYot6<=Xeh2>J&s0Mfq3l uFaxkTPy-n7Q-8BSF_BsV=*fJldH5eoWkm)Pndx!>00007tFgE}a1N!&(cl0wU zngbx^HJ7loV1G@CCZ>b{GcXu|ut3>L@pU3vp!b}BDa4^Z&ZU$C{O4P+W_4GL0ZU*2 z;#C10#b9lk0|HaX>ozcj@E}E4f^i9KrBnjUL#h&E&2JiDU6nvNFqSLXsnPz1-9M^~-G$5>iqiQoHCHBxIuzyhHD0MN_Bhw~;7AOMPJ`(VR zgaX(tUkrjkz+kJ2L8uCFjW7+|(Xs-L-D?KO@M?n~yu4Iq5RP52(-+PX#0AK+KrUaxfzNYCzzPHC#Y}!ER1J1Va#VSqnJonlFLL4T7 z5FxIE$8+~T+Xpc!<0htH{e^(@G*O-PHxNX|rJ|5EaXXA3z%MwHcvOij@)^V@V zPz?!OZL+NW*%(?e2`-pTwi~|ax>_+!L^~wNevglVqp24Otfb&q|+bE?kzUbkME!EB+u(D zWBONmD-DLOn*RXd>%$=RgM&c$z6&9SK-vQ7z6gQC!!@`N!+!unOm+QtPXvf+5Df>| z1*2{N0GlJ7)?lLBU|Ip;a*bvUpf&+sTibx+b`Fg2mj4BiR2kX;14F3BTw)ELePiHP zl>sa)fXsr?-Q6wy99P2uQ0kmZxN=}giH>av5oTa81?hlxmEz@0_JH@CfGtGO92ZKd zG5!l3ShBjUdVjzY7=V0L0ihWz?QlS13U%HGwh(So#x1u8yUA&5^-v~5Co zHJH6*pb!89+~i~J-Z~iJ4GW3@5Qj2-%F9h4bOQhjKrknuLish%@5_yQZKZY$gg)TY zmZ7}P^Rg_1K7bh8L=a1vmx(@(+N7KymbCvJ2K}10J?!4|pH_vLW_> zPwObpa}MFT9pyk$gB+vy4G8UiVQ{%lKC^gquSwGYl}QADuSv8%V+LB_Y<=^%&GVm~ zkE6M&K|-MTV~qAXOBgg%Lk4H7qUhhYhIUMb8%SnVJWO5;07{e435kl|vt1wz%_5`S zc{2n=1`goEo{V?zQ>UCEDW8g+?|%kuP;NUn{{d4pqGp&uH}U`g002ovPDHLkV1f@A BK!N}O diff --git a/graphics/pokemon/vivillon/marine/icon.png b/graphics/pokemon/vivillon/marine/icon.png index 72ef85f218f156e4ef9fd32da99776971c829b06..69b2eab4dec1b0ecd0b163eb4ca08e570869ac3e 100644 GIT binary patch delta 420 zcmV;V0bBm=1MLHl7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;tMDIMq+0003{NklEP~XCn zM!+=ERi#4<2t1{OXL{NMi2rY4!?}Ng*!a9H@Aa4g7+ssU>fQO6X_4)83?X3WHKA^G z@In(orXnpV5+=ees5fRv zPvI6ZKY!@StzX*~fh?hMGBH6=aZw5hXn!$S+ z1W|`XUPJ2yAwY6Ac$b18X_1$w6J!M-vrdo|p<*_JAR7jBZ97|QZ4p1@r5X`-n(6WS P00000NkvXXu0mjfTYJa9 diff --git a/graphics/pokemon/vivillon/meadow/anim_front.png b/graphics/pokemon/vivillon/meadow/anim_front.png index 01f1afda78d8f6e6fc93b929400137ca2cb36d99..b32ea4fdd0e0b55f53b54375c2f51a026b97b2b0 100644 GIT binary patch delta 1545 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 Hu0mjfYdlr7 delta 742 zcmV~uo{bTiPc4p;|U#Q*@=M^Mjz<>x_N0Ymq-)mQ;BOpK6r1%F!k zJ}{wAXI2KRJiuUZ*uFSv!%$v(^_76BDgziu0L_W);o{<499lBK0$|Le65eVs7ag@^ z32p3wKpplp@O7nlx#^Zb?X>{15Cg~19x%rC@yyX+PU>8Zq0J-!Hv@)GU@j*I9PEO5 zWgrWoLAu@=(3Of3U~q&*c$hUPf`7Rx0cQdG7-JUm6cDe<*4)?g%skdVECVW(Y7`|p z&>_I&GW)gcg`*k~^Z`o1@HG(A1klBK%7D1Z)l%0*jm#t9=70)NgAfTr(?a0-YLq;` zStz1QKyFSh%Tz$r$i_YFVvj)v4E?TUAPRH9r>T^n(bND4;3nVk^;ZWI+J8+k%)@I0 zZLA@9j?<-W_$vTMqRbDA?*g#SSsedLm-@36&@}WN1XsA)F6*4cahj%f5n%EG0T_?Y zFd$8rIpD~Zc!yvBozYoJZD$2snn#F+CU_bw*MK92=|N9{r=Sda3fxLy^Gd+r;5OJ5 zfZIjDU_`(>xI9T7kOW}~uz!yP#+O$KHghxhMj+Wew$?!uAh-<)JUsDg@F^Pplo6Xj z9LE$<(>qFoFat5Bm@7bA5?AvE!Sp8lOyW_0Cb5{FsQ_ZElU{Vs zTFLLmI@pGLtYQ{L@7ZY;*cOixUV&*hdVY&pOdx!|Ewn-l_gAYHx_RG Y1C`mlOvHByO8@`>07*qoM6N<$g36#)fB*mh diff --git a/graphics/pokemon/vivillon/meadow/icon.png b/graphics/pokemon/vivillon/meadow/icon.png index 3621585962b7437789bc277f98c8a964f270a64a..f206f3986d55c7f5aaa8a0ccde52c54b625ff4ab 100644 GIT binary patch delta 399 zcmV;A0dW4k1LOmcUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;tYAgiQ2 z0003;Nkl?EO z{dh-LlK}A#7Jn0D_Xcb@a|(EBsywBVxplx&&qYEdK-P0e@Xif#dhw@0GdI+a%|i-s zm>aL&tu>@K<`udKn#Gt9A$T!{lff;D%PDHLkV1hBPu7v;q delta 359 zcmV-t0hs>e1HA)~Uw;8eNkl64?DH+C;#L zb|<1JSZ(wy(@%2}a$@0YAP%SsY4dZn*=8$R=y-~X9qFA zxzm7|9qQ-iDPR?7@Pk+GRuAEbdB-ja%|cA50A7gUWN`~Imnh&uOrHpoCnj0GyQ(K9 z^%y)c$*$d=4b>?xz>b(yKyt)TR>4N+MA+$u2)+d-#5WN`@_c~c=ehs@002ovPDHLk FV1he(r{n+t diff --git a/graphics/pokemon/vivillon/modern/anim_front.png b/graphics/pokemon/vivillon/modern/anim_front.png index 43cda25e59633e11022fd09f19ad372ddd41de94..5f9ceb40d030b34d14102eff900da2eae7215e8b 100644 GIT binary patch delta 1623 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 diff --git a/graphics/pokemon/vivillon/modern/icon.png b/graphics/pokemon/vivillon/modern/icon.png index 2aa35c48e30b69fbdc21cfbeb6c47bad4c5ac802..dedc1aa19f9705f6920d31b3fb634435e6902f82 100644 GIT binary patch delta 426 zcmV;b0agC&1M>rr7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;ths?KfD00042NklIETN7H|` zvspq81PFlV#WnjH1n^W|l92+a%jsOq046}s1+*`f z{!Vcxg=(xH1KtpDFxVG3ZKIi*lfDaigVl_VD0KjIzs){~H@dQ!Yus_JfD){@*$?{t>xLHi0#xnW U0b$QPlLSDyU zg3vq$I@l3d3njJ%;X*eQOZeFJ!4M%CuC(n_>?D*?E6m;m!6I}#nWZlY7B3ulpo)Q`=r z@l;vIH~c?VG5jH(A}6z;gG3IsjU-rlz`&MwE5?HO0qv(5Jo^v2ri}mq N002ovPDHLkV1ny<#IgVY diff --git a/graphics/pokemon/vivillon/monsoon/anim_front.png b/graphics/pokemon/vivillon/monsoon/anim_front.png index c71d8499360dfd48eb03a83eb64cf23d4a822b8d..e537884c7612f10a518681fd853720adff6ccabb 100644 GIT binary patch delta 1410 zcmV-|1%3Li3(yOYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;tlqj(|v z000FuNkl5jn7{{f8$aNo866|gZ)nt{l*q4NS0jd1LO(FDbNEdY6lK7yTO$Zd7Vp!-wy%ch@^9_>E&}Uw>tACe~1MOh5tC`>Y|IdtO z=Xo@(yXnx=ZfqvG8PExFzak)jE+Z5W7G{UeZ7HCWj!;JT#Xwgm-_R{N6Jz;7B|xd1 zi4yl!0(4wTo409O;x;;vGKdi!w*U(rRsf+b37s+vC}U_#pa7-rddFH49FPhcpaS&; zjQ`A6f50qC4}Z;MxY+hU(>)mi9no@=O~(6GfH^!|?F6`Y@Og{DF9Pk>E9vl*Qs972 zfIZMEAOw8i9wxEa6ZepSB?W*TI-R&cO9=!20uJygD?mux6M%4FGbjQsIsk|czXGrc zT!8~}QRpE6s}!gzu&#S-G+>JyQ~J81P)hg`pbtj$QGe=NSykaRN<8gx;M*o52Ab%=T0cEq1KAt)>?5EB9609y2p~it!)HD( zKwt>Nyb2iR8W>(oykK~quK+><%>V`r4sjUr&CTU9-^lax;hznle*}F8M((7#}XhezI*iGK%QS5?@Wtm zJ37E15I}3!=4Un>ATY?;9#5?BSaj6i=pV5;H_lC9E z^_S0uvjWO-wo;*x?0>rckZ|CAT)W)Z*&!i{et&<(w>*kkw~o80vLn@v=WG`F*1Nl%($Esr~!B+>Ofp~;AciU z2#wtT+ro!Q?KwVU^h#H`)YJZZds=lGJr~;$0+XhDG>-&aYC;*xNSsPN7 z#XG-JJSa*lbM&|;c3jursQ`V%QZuU!%n<7W)kf3+)n2nGpL^P^lO0OidyN8?FUtdq zj-j=e2#__f(FRPH`ZBp=2qP6>jYk5|F||YUNa6dlsKtRmrx>pq5ZT|t0!jg3!hgpo z0||f<@E`XA5rY4p0N+Z7=Lq07oq`g86gc4byMbY#g|rI*1n`Q%%S8>ii?}}rk3uhrL}accMKWWAhr-CVwtuZ+E6ke>>zMv;YG=-u}bthme&|cKhdz5{vy$ zU#>o=1-L|JUw^*BU`^GyxWVE213)ViloFU*XT)=o`O!kHaF!u2O{yKT#C42pO7vM~O zG=KK6eCYz_QD}NzlGaOyN}V%L64Q&i0E1T$X3s#*RRSz`&vc&JK?#7!{tQ&Vtx%Q+ zyUp5S1vq5^5<_qkV5mdjLCj>9?>I1!$SS!5z=5Fl*#_)Vssk{}{#xV4 QT>t<807*qoM6N<$f^N=%;s5{u delta 1376 zcmV-m1)uuR3$6>0Uw;KTNkl5jn7{{f8$kmT330B)eHCZJs_9Y=-K+ZT2 za*-Cx)M0&)$*R~s1bj)ZDTJO4>4J`15+8K434x-M4GTS}mqKoKzCrRC`pk=V^)iZS z2QOaD{O13EW;8p`qiOw3hqbSaVl&Ct0i6)<1_1%|8KHo%Fn@b=Zc723^n^0HF9!NT z`G!7}GclGQR05RBnJ95zB|tYTY4bMiO58>VQUx)hn;pPHhb2I0M?$B}0;(9g5-32a z41w)fM}h-VK?78vfq?PDeDw#+qVmv8hKp?vHQkpX&=IXR*<^fB2bja7^eUw-s2jCu9&;Z`jV1JOYm}~=0bYN|eoveWTEqe|S z&_WKJaR3AmA&}!UpBEx9gkez!408nx&&Pf^JS&y}A)#gf1Ka}~hGJu5u_)Gy;%xY5 z3m6;%6zAtWZ-dXJ7Z;1Fu z{5vicV)-+An&aNEHogAxxpbC5HO^Kl6wo3ZYxy|6(5vuT|$o*r<(wtqj`;0WN*t^twDfh66#p6qY}0SM~= z*LBkGt}b^{G=iK{;xY? z6>T8rt0X|i0!Y(&JqAMpak2uECg93m&xqB4*x)q8HzXyX4qy-x&?+FQ$H)LKG39bn zpnn12k!S)*(}ABE=^#8>0?Y%JfWZY?07`&x!0%21Ee9d7oD|hgbVH(=WJKL@O^f4I zr=b}CZ%x0Uvgl3tE1;Y38y$*@K=+zJ$D*mJaJUg@iYgY-02CoKRrPh1MI9Jzb|kRM zI9omdJy!rS|FbrvDvS3kz)}F3IeNl6@qeT1?^S?4VyT(c24;kHfodZffNHN_L0K(XHkm-p-wSg zH6XITg$0xXz=V%ch7wR%AP_uR3q=UQ{{jLl8=fJ6+jIg-05ae}Fz5${p%&3T0Dlm` zD+VtYHQ>#Y!3=y7GcZ>HZZgQs%W@J8IpDS4x9PdLlWmmchJTj1^De+D8D}sl%LUmz zaj|yso8v4>cRr2FG9K@Oi+Q+pjbf>T9`;tb*p7F3jO}Yw8+(wy+ny|ft%!%v0Sxqb z_YbQdB33@N9fZVu@6(s73$*~3$baqY&sP|%sTvnII9y)OaaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;v@l3}PM z0006(NklbY0&;-HfX4vI zl4Atu#ttdaExJqjPfDU34z?hEc<=E?WR}eu=h@}P%G6u_34Z{PUIq-77Xg6KhX5(S zBEZ%nl!di_P|z443xLnH!E`cALKS zfx>|z20+z7a`n(U@b#w#&{pOFxi(<)@NlpGY7?MPpwT4+FsMYeDWP=$MS%KB)$2LP zt`snZ067L7B7av;9t>LD+c7vmh?_}3H5lA1=p1uk3NfHH01@nfuhdL*D?>DjHWM(| zm9RNtpgxt&Km%wrfD@n#)f-Zc0a;)-2K67D1C0S~0DyX+7YlVzPZ@Qin=467(#9_nNPP$I*mX2SNxPB0Az6 zI65Hy$bUK)pts;wiw}QHatls@I|gfmAYDYGJvYH9RJ}Z093gQ3& delta 615 zcmV-t0+{{Y1-k{1Uw;BdNklC2wUa?Ro^^4k1tuhy;kG2vxxO8bXLX&>;x-j|&l4=RubbFnf5e`o$`2v8c(*b*W* znM5^|(0V`;z(b|x^%N9e41hwA9)k_BHctVZth#e!@PIKtlZabz^0Q!bOaT-Epann} z^&nIV6W!_%jenud2%OwXxEv`kM`d;55i}Oy5wL~Y4Qa+e9B>^w&1~oM7XJ_RVhe4oX0?5S! z{kP`ftK$L2mj?jiTG4HV_y{~R{MCaSrC#VZe6}2Tj(^~w6s5GvfXYXB(O|m(HX2ad z)*pav1{^JD0n{P|n+Se6P{~CgN&{py29FUOhF48QHw6~}kKLdf&Vh3RhVolE2fc{k zwU$fZVSo_JKq+NI6v>Wq;OK$+qwAc3-hmq{-oj^6I&kiLokIh9Fe16eB!Ev2+`iRH z{T^M8Qeb#+G+_8EB`-z|N%Gd$X|M%w;{{Sce%L!O)D5$Dn!|YD63+RCW0icIl^v!<| zV4U)K4cG!$?G6CofMT^Omdt!Wutgw9DUW0|?-8Sv0~l%Ndq}#fppyE0Hg`ZS%+BdW z@($!>^-ex5C95~VX#G-vV6R>9=3Fc0pbjRq^`$WC*K=)>Anj!f;1mWeLj{BzCet=8 zBVcSBPxvqi5dYuug!>Jm3-@I)+pT{Cu&u|wR9@$)+eL~rWeLQ6Ou-(1W@u|QClpqe?cQ^(m1wL~Hvynm~T{8Vks(%$h- z-WhB=0LH8CgRpNy@+}|as8_%VqIlR3{Qc_|`vUe2*9Ik}tXTj6002ovPDBK*LSTX& Cx3bv) delta 420 zcmV;V0bBmz1MLHl7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00048Nkl1i?QeI$q z34+fU2rv+srzy4t;X;X9!6WLy5TO`OxcW2MgFv|U1i>3loN(!J)kGr*AL4lfg@1oe z0=!nUL8Fy8(&42HDPSm!XAUymcdOPBgn89xG4q3|&=HuRvUlY#W%pxf(iupN{NkAq z*rhNP67`r(6}Tk$5PtWNJ1I?~pUDSPlr<)#fl6<0XH_Vos654WIu<6?*m8?}L*`B}>qKPIsxpR(Vw5 z0wW<%1fTQSDy%0c1s5S41YrfeN)f&s#D@&(^Wz{$w&r$_>Du7iL1trNBe#R>v&}v4 zQp+73O*I^n#|nwz$1ODn$^1o}5R%x7sx${#WoQnv@PLLb-&T$#=M4w-837QuRyIEX O0000 z000I4NklQ>m6;WAy8vU zfj|%0NORp)+_0*nLVPINLobDtAfIgNAhM8it}Qv(2Om=6QhzY)-_SR+yRlX~vJV|> zw0iT+@4b05+V>=B`jFKb>CB;_vjG_){TzV^nC1usA{W{eol-0yqbZ>nOVPx%P;$5$ zuY_0@MFJSdD?y?v62Qxev^Iwq1p?J%7c!c|S&1^fb_yVzk;oB~t|K*x;j@fHnOL-= zzt7mbSzDY0D1W7~f~2C)+hjF@;eUpEs8ebuJ|wM03E>i&BgsV$Sd>;eNs<~}q;**ESZ2ABsxFlGk|iM+-2 zn1lj<4&NkOV%8o+0A_+6CZX`Z9If*eru6`V&>+z@CV$bePXR6ffkZ$HM={aG7^p-p zVJ8v5U}mDLY}S!-RwU4(bSVbfkXf+VF#t&f6I-z!1008SiySCfHl-anj8z_F7lD2U zBy36|z#tF=W%D!wC}B=ow2Z3?IDzY2j^`7Af&qe9g=^z*09(;KWihx24vsB(ScRJh zfPoE241b^JfTDp%MwnFtFL#TM0U);dd;=jzQq)TpBj9KZys$7B81R#+@-WS64AfeT z0Q0i%Z*RLGP_o$0%w@!Gk9)Dkl4h4MzV7>eS2u78-=Ymd;I#7$P@l0pu@JnTKk#&; z%AzCyARW#ge7t-Hc>)i{lb-Lr_DTkhfE_*0?|-cO;c)mn0QgJqwg2QJ?;<>YHH5LN zIvh}Dhw zJbg0x(z|&jfYC)=_OTZ<*VBYtXtIe>evs#2@ZyJW#tCIJz(pJp+J*njEll>4rMtA(D8% zh&_9gHAop-q`296N%Fi?qvA>bbI9j(7E=rUS-r>1MC&jK$a)&k&(;)pI2TBZ3V$|{ z0%TE7GOjAmiCm1?a(G$K0&}Mw!bKr4)2zR1&Y2=W<^byrv`55T5+z~` zXf26yZ9))GA1dT-)LKmdt3oq?HqRRfR@@(vhV?KD%-w1? zA|OX>iYKoW>oQ`%0iZ1cYOQ+I9)DEom4*P=s969w44@Sv0BFquA5cbfv|T5b0BDeQ zI|A%Bp#q>o=rtRF3ILWZ0BE~K7*M99)2?IzLOawp9qAEw!)v@mT! z9&D>!HHyf?rCNn<2mou<#M-vs+cZkhIUs%FytPm3w1gLYf1y}4C}eUHaDP#mR*jzT z56~vINYq)Ree5^zba1O=8J)OcM5P^>&|PBi^2X>g*DIBip3XU zx-&?(F?d@o7Pn;fU3K^GNL!pl}>I9Jry1 zPqRRH|Da%13@B>t+qlY4xiISG+ws*B12EyFKC?hRk(vT1i9OXk{0CNk*k&^e|A7Di N002ovPDHLkV1hlL)-nJ9 delta 1591 zcmV-72FUrF4TBAkUw;M;Nkl~P7AvqN7p#%ykK|a~kL1ZE4Tnjna2UAkwP%tbc zC*RyRGrO@?JBsNbq1Aie{O|3XmEKDvMz5rL@&jI2Y4l+riGNV;7y$u{3IqZoM0$iy zArMHS5vgc1!Z9k96fOrlA(v^H0LH;ikSNOp@N6iZp1^Sl4I-d0i3uE+DB=r80Kzee z6w&DtQo|g+h)EQQL0drz08HwY>0y9U8Ym=G^ktLG3mD!fd4wvZW*8%pZcswFMA}Lu z^BgcJEw#cT1Ah=mgg}viiPE4F>Ldgd5|dWq#C0YB7K1j+97v)@3%*1Fg9+%E$4Dc} zzVR3Vz#;&GF*{Hwe3kmz5-CFnG$@@3fPW@b7Hnn!KoP;jb}R(|$6?wT7O|(tK2>2wGYc4BbY1uUTMZZR65UFWSVmx~cb%F@m-Hz+La0(h0z%a@Xt$(Xd@H4WX1*ZNkzUGdFz((kYS_Oo+ z_Hy@u$AR^Y$e)`Uu1|NutIvjh&dJMXJy>njW*?hgeJM&Lvvua^XSx{r2)kz!lDVAMHF^_0Sdr{M;ar_4hqb_q_9m z=YLl{4=->aGXSIk*s6G&OYg43Znzo-R3Bn2c%2^)mOufnJpUhc2!Q+SBlWPo%I|Uk zfPowo_1xa_4X^Ly0D$e@a?O7g1+xC-8{o*jRg@YeQJ?d3Q6TNVf%~Xia6)%Lq6!fP z0Z8JU4>wY0wmUV?_d#GFM+RiU=>N;**nbrWL;yuqqd+bifdN^6Z&BFpy^aa680tAf z1fY<)TnqpSH9TPD^d)sDf{=K>iCsHGel8JiQtY@tk#L+NqayMDzm+^@vKZO$kAQf? zj~FBqK{6KwVj-fMk_g8FQBlcFL;y(&QPt#xEX05afFXhbd^{*t%~q_INkonL z5HLzK2BatX0KuC3ZBjFC#es<{&6)sG#H4umkz!Lu09XJtWk97-72`pvTB=Ea<%$7- z#Q<6&5`b0=hyiUhMVnP(NPrq?Hh%?RHVKsgEkZAt0F(eQObI}n4Z?sTC9P&D4iMU+ zrfwx}W2j@X6$ct@roa~gD8mTTl+?jAnq@7I99*cB=&}Sb=5?HY=yq1L0!$7lH+0_V z&#Sb6r(AdHpsZ1-hA%p<>)dC+CK~!1g@5+_)nj~h z+wHD7EBJ>Vn_Y%h`)sfGWUbTvYx@`I>?jul6!fh3`*z^EV* z;1cWo-D^8AUu??!;vZbyeW0qbP7q40)S+?a$DY<-e=ApbbHlSc_NrHp^!+1&EVM;? z&9&XNI z;%%1!(Ej)P0+gQ?Wa$HtxTn7w0c7`livyQr5g0)D{GecI3M`4r_b}pf)B~fQ5%YsR p0sw~<`HTaZP-+CAg!ahr@E^^_>{~K2?LYtk002ovPDHLkV1m78$wUAE diff --git a/graphics/pokemon/vivillon/ocean/back.png b/graphics/pokemon/vivillon/ocean/back.png index bcf68c4ba752d229e8f24e9b4becd6f1da8b3b91..25f829b1f292b922c4ad50b1a9253dd82f4efecb 100644 GIT binary patch delta 828 zcmV-C1H=63295`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;w1>%9~h38;lqR5aH+D&leKtsspRxfahS`51K+y#CM zJX>oVRtlDMc`rQiE}b0lt(e zU+Y>jvLMqrA%C{O1VpS&RBSoC>l0 zQkFN(&VOE88o(q73P8rm@}ex8rdjlXOsD`5!9GC34S?MdfHJ`fp11@+W5%QdzCa;q z=z`q=;2I!8C!{PuuvZ5V;VLx{a(RYeQ8+-KcFj_VT}=eP*pA9G%U-~ zM0EGlNoB_!L@^D@Z_uZ`z*HxOTNu~d-`l(Te)@Lk(|R5RAsF&l{|uf3ufPBp zS2aVxGgAoQu&0yb`SW*r>e2jZp6X}c|4#vez<_4ooBRiZHQn(JNi~fC000087$qhk;=G_MRg0$%lqx4NEf59~D; zWYC0&aB6{iR7PcG0A{)d6L2Ix(2YWmSVgEd#SB1Uj=2i#0|&X7ng}r?Y0e!m0Scs4 zN0iVm?SYz<{ZVTGf|O|LgFXQEkthJWxrUu~z&-LI?0+NN3=mNyC}Nc4RlkVJ1F#1m z5;V;U2l@)IN@fJ(OEk+0x~R+|!oUKYYQc&nVrjt^72M?G%Dr{qs0h{}IRL`hLOj*o zc5W*K0*bmQ?`4I3NGXN><10>u4*d72V z6EES8%YOlMdWmau39*0&+e8 zu+ap-cgo4xMSBlK{1^gi!N+9_19{+0qXAQ(q5Oje?dj*q9yGTGV9`)^X2AVUdZ1}6 zxMetLO~ep1O%Ete>blkuJqS-4H|`*cC{TZcK7TDh18_^$=UP12`yr5j_TmyE)_*UQ z@IGUn0MJ}L?CSdK;NvK-EqGL*{Uv1;3`QvBrS9SSq`7O`!)aqSFs?VhH+Sv*T7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;w1>%9v|~02c@l0D;;^?~MS?!}?qz*#OF$1^_@tqKYTVRMr_m95oJtrOap-1t#Li^ExmJ zqVadg_FbYZgUICI1bay~>Ic{WZ}pL8!Kq0KsgM3(7C)LQI_+*SpDo&sHOi+2+Wl>D zes?)(ha|Y0FQ1pz)I#hG5L>`hP_=)whgKudWDlO{U=twzzttOd6~t@pwx#u`Z~zq5 zt=p=u;;ExWR=ca(1yr*p?1w>p3u6PKep%K^ofv>;UxiDv7G6)2M2V`^Prmg$kBT9g zw;y|$C`-D4a)t7u1v-%@J^#7|%w0@hA1t7_>o4By951}t49T7V`1#!VAUY`Z?`^;t mC+vDa2ud92gMR% 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 BOqT!v delta 764 zcmV&~&` z)E4LUJGB-2O?UYRz=i025QG0NZ~>|iZWD+t5Fd)*SGc)`Dt|;Xzz|+!E)PVY=LVcN z2iOO#-2jxT9IDzbs6fm`Kj1zRB6r1VVLE$G=fygjh8fh%gDr{ZErzo>hEze%vs zl~sUx3bgL-ZpELTu7T3A$PwFME)w-r;vpR|2|No#Ri)zgh>btn!1*VDD#XPeh78xK zxM~|Pm+DscV1K~(kpXTb!CduDM{NWTE+jiZ6(XA)g^XPau&6*)sS6!S8EdoTA@0<{ zT$Yd|0$e5_K&XLuRa)~%g9T$@axVb0fh-hjRGhXIQ%yOaLcpUyRd-@ zAORDAq<{kr7m?|b>#bHG+ygoQ&hbJ32FnxxK@#aM`G5AXoDDDn$$Wq_1`2RhrU9P@ z3UrPcbTrTz@j?Sm{v01CYJ_yIutUn<0QH}RaY@dyDP`!Rw%&t(Y5oG1VURDcvT$T7;s0?-y< zDULNE=|qYba~>Qn1W+JLECTl`4X%Z-K4VG%$#oQ%zV!0^=g!BG#~NS`Ak*?U=aI9s zTrLcr+8YjjS=JvL!}(S5#C_a}eggpL7SE5xQ0kqYdou1g`)2)`%`T<10000|@G diff --git a/graphics/pokemon/vivillon/poke_ball/icon.png b/graphics/pokemon/vivillon/poke_ball/icon.png index 9305c2b8ad50e916232f9bb42538835671f4f363..1ca199b96b8a2a195cad7ad858fb8b0b0a2f1e4b 100644 GIT binary patch delta 423 zcmV;Y0a*U<1MmZo7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;wAX0;u40003~Nkll^6ljNWD%?n-By_jc2->1c-nCAJc^M4dO23ZH2HKGXUf8mbV&)-CMSc?EEza z+&m^c?4PGws1{(1_ml!O*TTM9*5$Id)(Ic?r|YGZG%OhqHWID#aV&tUMRkZESoKtD z69IF9O?OU!<3d+m`o@MkTTUvm@Yo=I delta 423 zcmV;Y0a*U<1MmZo7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004BNklbC)}WC(*coO07=u!n(idmBt<6QPeWCf#xZS`hk}buEAV zX+^x>rW$MUMZHrVqd!BSqVRpjfNJv)FN0|+cI72fybKH=5UpB7n4(WjYOPE`oqx@{ zq{VcvMYFF8FQioU9hv0lC8`vu`A79a7({Ar;M_0*M68T#uoOOcuzvEn3e&Ny@r<%x z-}L{rTfv9*9@?O$ysS_5^Ldp(R zv;qvFrf!j!9)BH4n-ovZ&_iO8#}B{n-Q$t(D@p5ztTv<@hemD&WI{Th5y*gbflwd| zp{>!;a{-yGNyXUCF04yM1~0!;6H6EX`JE`?iUgovNNZha2n4)h6*B39D~xaj5U5FD z1lT5OkwaYq1;Fb_*TAX-13=3ZB$WY~gpB_ic?59p=YKIIjh$v?4HYk1-rg@Ho(Iyc7bq~mb7v8I9FU1m@s8aBc!^W-96Z=N03JglH1+`e$u-cX zC;+?^4OYm-08bYbVFmvMlC&{E0XF&>z={HUv6TVY8k`*HU<7{X@O4}PnLruv_&PGc zCV=1bJ(ME z%g6yxGYJD+1%u#r_D>Mlcc1`3hs6OF0+R?B;4bC>KRa*@csh+401X5To}!hPx+5tB z5549L|2WVent{PmbhEq&2@v3=)_D?JTg#<`0)Jk%PLBgx7jnYwr|J252rQ|*kl*4X z4mY77T4|aNI}TWRX|~Ci4AAmY&LJA7%c$eHgB&0oeD;!(7Ycl5G)|*wWHsqLyQS0O zdp67~@1I4}bkvUYy;=S!)PMsDMo;+6F}{w(v^hNkPmS`|D0Cnb?OneAkm?NBqcgCI z>whTW&;th8$Dc0W*&K-XD<8LrjZjt9uP#(J@GMw)ot2GOHjW`VwE0NhR0(A?U_h_6 zZ0Q;BdRiuwM|8%3R_kNS;zY8b4@*GUrn9%UZP~|{<3mm$FbS$aV%xg?#l`s{a`wH% zUj^cXT{tDDhYZ|FD4n!QK$Ftsv2K6&*MFUtHVc)!rgXmysFV)g>h}1B`6pZF2BtvO z6=0S;?h%y?8IWLvSS{tCs6NI>o3P$~iKi&4?+NV@D`Z0Th)>@bW7@7pO#F0F%h(Ms)!e1Aisr ze3P;ztO6*Z77tiyVgPk@OR){tDji3wJxD3tq=fbBeB)lzk@P=@{26Dlw&CC8JsK<4 zq1H${RiJaTrXa#+fvTur5fwldd6KfK+!ci=15UqF2fEh|L4|DrP_hs@h(b7S$vg;r zk=FGZS;b{+Y63vsWbI!z5yj8_wtuJ)WuPyrHOumuDcw39&7odvEFJ^6J!qdmvsO!) zoRt8V)&Omj8oOC@5B&oXaGM%_2H+|;;?*sMm7ckj1A)x?qW}Q!?t}vd>*93)`&RP| zJ39jm5y0DjBVZ|Dgqr~uTfGnf!$rUV`+!cwfSm#Dlb?(_z)Z#&1X2htoqy}1RTztd z3A7j>US`*ApFA*362Y2fcELIU?K~YH85VErjn#+6Ov6^1Zkg^~^olhgWKPByr|FV} z*rxl$tnWD3ZAEDs4Uc?Cwn=OCBdC2H?@p)bauglGE@j?jWehhdJRFUelj#xs@Ox%G zsuE-d-~Y?}0|Htt0+Z-~cYplp{lz;6T!8?S(7oQ}hYQ_yHPLnEh6qtF-?1ny;kQv4 zJhpqp+_dlc`$C0BXb{42cxdlb+WNIXn*qmR$N*6c#h<;hdY2!U`VNgnK!_ehxBf{@ z>nWvcfoJ4SWMf}e0}&9v?frfF+_anP0GbTH(S9}UMb#Nx0X|KlPnrvSJ;s0OoU^$ddAU)jC`?R`fYK! z<29hfsu)mmd!VT5nhm2q$X)Up051fU-#XALq}BjRF<&tc{{j9gA-Ow@7PtTa002ov JPDHLkV1i9KssR81 delta 1467 zcmV;s1w{JG45JK?UpNJ>Nkl$ysS_6PBFYX`v;qvFrf-qI9)G(dB~qjk^k7-!-G|@ryGK&*H5$u@qOE*l6^G6~ z4JeGYKO-Q4Wkx61%cZi zq|td~ukx|Hq}>$HY?x&}xQx!zek(HeN7=2=x&lzqJrOgf_&PGn5%dUrEy`Y_&;=>l zxq0_KH3-<}Be3&zlz(vfApy?m$D6l~0OEtvk6T0|)HLm@YmEk;br)V|b?v2tqsNXN zF_PD1LhT)=k#W9EC>XK-7=6k zj^TW9eRYhSvz-KsK%CIR1-m#Va3|q>*en36oF|VA=exh|ynk@WDtX2EK@re6KYC+0 zgXh+tw9hpRfoluED0$Rj8tV~|phK(`VoY@!6zgiuyhHtH;jfV*3fz}h$O5H#4T0SYaI z0d*Gc958DD>~wsZ#E*hStp-rmsr)MzqWE)Pje&wF0Drr6xuz(eT8{V`N?jmaZG zv0M@(*Tp{fno*iYy^{cvEw=D8ijB(G@!t7)I_*a%u*a!)Ss1-_ z4iEZ+>G1pne)wIs9%TtOg75#O{s95K;y@B@@PAJ~zPo$Fz5{BQod4Fv&|v?P^<6|8-#EW9y>dwvOX7R5pWuY1k`z`!RV#kx%n_P zc6eL|gxG@^_CKj*KjC~S@RZ$&9IVTgf+c|XP3P~6XO^?N4B$!c8~s8nu5C`yh;p`I;0_`TH)s#h`rM+bx1Jppa?tO^> zeE|>IvK8=_p_70$y zh_iqJ_y{%xiWVqNC5VCE1|x<6M)178J&_=@8f3!(eK0x>kka;1@EQbp8*m4h?`st0 zN5hmdv9BznilN+G)hu5VM*3JDx-bgfMfueLaD|& z!T`51a{s{Dg)k8v!15y?c?J!jM(vim21y6F09T_0(0>5`$TvU=fSVd;n>^zxmo6%~gd{>rH6p3SiAr?T22`>o34nP3}lJsg5nQPnu*d_=}90>b> zhKV~Xw0|Hj`d~$s@=q2BeF`K+KtPM(E)eXhS0u%^KA=&^c~;>CC&9#mD)9U`pLOFqLVxG2+c1lez)&ZaJM~ z(T+sxHKrTz8E+om;$E^SW002ovPDHLkV1h09O8@`> delta 710 zcmV;%0y+J@2AKwsUw;CmNkl;p`(K1lmnXt0{{>OMBt?0qmGr zvPenI255k6-TM*&`T`!ZWh>wy$&#EBuq~LMe;!_BO(wmjb^n`Q ztHjv1`agg{`8KFPya^aUh+t!&>VWE4f(UrLh7d6hFoKu<@_$HzEIcU21BPIF7$Bt` zqv9S!WfyPcsTvIW@)FojZ$KEeQZFv^L);p|43h#s&30Z3jz3#e1Ot@a@60TgIg|zorX_nFgDorT_DSyc50s$WKSsDIyFd+kOK!KMC zs2+e-tOu}95STj<4*^XRPgZO}S`EP^RmwkEAoMYiRS^L##)m*~*SsL9z6}A*LavGi z8yp353xAsEOEd(sLa?^rB^@b}fLx2;HsTmiqONNb;Q-_AxKI)JS`w%+1v~&cE*B0g zWL{hw@#@dRM7KcRY!>q(xg*hejOiA9#*6#cw61?0JRJ4bgW@BC=8x9pKY%-A@#H*09x4l#s$}qD z7W-kk_Z{qXFj95U#Dl#+sZ#SNl{!|vjUV3uclSZapN0JaGy&~bV9BJ32`ZSh+g^WE zl8^!d1VE@;_AN9(+qw0OItH-t6##&A$8c2sW-B!mhgCofV^Yt&@)?hmZh(vC_?>e3 zV8~{{ixrq2%U&KT(XN1=ufr%BzA9kIF|P{lpF!-9NgNMtsMsQFju_W>LGk=jh9(h{ zy^C!GV2_(E#Q=<+^tFte<`7sNH{O5fyGa1~|KTQ_I>< zYCbs$sCCpRcD37u)`O;6X6Mw>1FXL;o?CC1bJzEZ%)vkMLMhc(uK@c*u~%~#3m`iq zD*~`R+m$&Fz?ck&v5tT;S>DR{jLyjMRmUBGe0)egh#m5649uJ9O{#!BC~_R<5B>Ys a_3;Tb<>#rS`!{(20000Kv zeq=yn_)uWqGE#RRTELEt?=uIQR2vM^!u0D@nZoY|CNNm+(F+W#MC?0DNVit#S|u%e zFmtd4uTB-{EohG>M+R151IJ-jJF=0(-6jUk4U51`TT%@cA8NMfsC&rC4D@3wdpxtO z2e2^47}2C z^eVW|G;~w+{z3hFrn|sGdZLNG1R~ zwX`vYkwhS_XQ8q&MA8Vi0E3m2$LC;+jetbwis0bmFPMJGT=sQ5psBH%2l z7>YrcqU?#HI)61_)L9B3Y63h3#wOKrGN+b!lqmO}p}-MdhZ8sE04*y%@pBD4$6I*_ zF~lM87!)c7$Pd@RMvel&OEIECPF%d4<_K%}m*7@7LIE)m4p2rAANc|ha|kQI!3g{` zw3pHYgtlZ$R&ym?)i z0iU1?em#y7Auk352d^$p0s%O!ms>_hs_XjwbAO!J3mqz#nIzzn`V zKiv)d#}Z(L!22MWunA`QfPmE}y8~Qa2Ep&{^B{Pv73($0ZwORu!6lg^tU=s>mLt5G&=NorTXMf87Jk&2Zi@}C}m-iTTtV6GnI&HwYTT>F@ zi$GgcGKm(T$~;L^RUOMhG=Xr(=>y}nL(pL&0U8#<1X+kMYM2L!FEYmQNK{@%F{*b2Eqx**Li&wCWcp6vdXl8#V0z+st!=>sHrZA5RfT=jrYcpnq)=aFC`1 z$YN+KY^&QBFBcE5uU0Z3Mc^O*&%*n$90vXkn43MmY4`O8P=5Sl^2i$oZpztr#xLHo z90sz~@VskuFH(RTA;ZhAJJw-c2Qos&NGk^c%<`Rz6~9{PQh&zo z_ox3k_uM;k{)#eusru-SS-cE(H=r_Re?dS1LxE60gfIql%zsKiWdo^LQ!z1=iV9Kn zrXiQG0ID}pB9sZhPAzRrpf6!z1Xd?8fxZMqxCI#WBrpO@nO^76mp}oCsuVcTl^_5N zp`hpl2niMcMpXn{MHNFa=uwnCR#dwNj54!D2#BKsu)sh#3p}d=Ko=4ggc=5+<9|Fs;4pw1025}%IE+ce1cXzZ zqxoAPGP8^T7$IQs6uqj{wxTh-jW%%qaC3I%ZfsGCp~#D|7y({tlP9sYwOj@$5Q%k0 z955zO5#dgrpPnW_NmYgX9=AAgpeDw7p3m(7ys9))_6-3>Rmx*X7x^-^gD|TAX5-!~ zT2&~>f`9!*o}Q)NMkYogd(6*lQdK@XOwaQDZ&NcmsMF1qw$dLdp@s{q@N}vU3x?YxRphSUI1OhgZ5L=9QT>*-L z5~X-alwtuQRk%edi!A?&Cd*9k2=rEN44GUp{EJUyd zED3;4C!#_8Q?aQ@0M()Pueylh&wW1!N}>Vm$ZAbl`mS(PdbXXzs}@7yxDhz*U+~_ef!-oiO7-tlpZJHUQD=kOLNV@jieJ#q_YV6MtaI z0N(ybF{OYJ?gm1b1yTU45CIGPAUl);z5tBLk<|ytWOxuO34|;#Wvj4e$2N=!kS}u* zZX7eqWho3Sa{?Z2;%UCvvpn9`JNs=oWE!^ee9H}I0rk}mkdTwH7J0s83HJUS=Ch{IU<-_Z%QU)Xl{Nw$ZyFV7gz`s6o(tpP{?Y`as zijRLxAGyQ8O)>w@_{Cin!$6uCu6vE{MG9~uWVq>d$2#0DlN%vpq;`v3p{07*qoM6N<$g2BCzasU7T diff --git a/graphics/pokemon/vivillon/river/back.png b/graphics/pokemon/vivillon/river/back.png index 01e70a38fe34619451a8e6888d7bb55b66b276d9..33efc0d6a5a19f92805092aff92635ebd4be37e7 100644 GIT binary patch delta 671 zcmV;Q0$}~l1@Z-uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;wSu3}8} z00072NklySIcPTkD~FNC|?WL)z8kAc26P=jZ_v2n2kV z=_dQ$pwRauS(g7M+C+@LJiRB$(&4aZ&K+(yTW|g9z5tAy+ke3F`X*qUrx0ul*bLac z2=&Hnn<2IVhNz0MyAuJr5$NpzYjB(g00?u~Y6PXpK@|bx5W!KHS(y;#uo-CcIjR*X zbHFGEnge5vpaKtg%xnTN$>Y-#b&hS!fj|?|P2fTkwNsgjK$QWLG7V*l2x4yE2!uqa zN(>=H!FbgraDVYid(b5S2{7ZqCDhI<2}*QSuFOD4go^Ayfs%8OGG*Mag2c77G?UK3 zB`qTXpaoNU`c#e=GXb>$e4>=&7{UVx+icPY7dFC&Sbz{90g#$cfCgRM>Jg{~hyh}b z0hAL+pZo-%&43GO&Oyy9F#(poH5wBMfHa{9mJY0tw11Tz0QRN9-7ieKbufYw0ch+Z zuy?&^YL+eps#4_OzVDw!ldi3>P9p%>$y49sKh$&J(6&yCfCv2BiW7$7=we0JPb~dYpj%cl`t{?uOO-|MQxI{1~0U_8(l+01!j}wpsuH002ovPDHLk FV1m~uG64Vp delta 634 zcmV-=0)_qZ1ySIcPTkGL_SP6omL)z8k zAc26P=jZ`aCg^GJgPo=de`-<&c9a03jiO zqnZIN6L=1rfi|C`+JG_#f@+{SFe`!zJdmNX8H6H_Pfyf2wxI?B4VRn1g(hm}Wf}ri z28L8AFH;2&YWqTf3!znFgi?i&RhPiUtKNey0Z2d$9$a|sveIBwN6Xb2;6iAT9T+fr z2~wp(`d!etmw%RK>T_^O+eiRt!%P5lRgRZo24)BNLaD|W;Q{b54~KZ+_#k}53UELI zpnEw38g${PBQPrv0z!=p${D09KLcnp;JC~ssAZ*QAktlcG0 z4|w{;kls3&U=)KMy9n&vsG3@&7XqzP<=}oCpH-7yTYtPy5rFRWX&mt%>Lu`H5>Oo` zJR@k<0P7=Q5Gdb@H2~8RfB>2;01vcc(As?f+AyfyO<+p`uD%IQ(<>7Da|>t{_*75W z_##{!lbAH1~UKSrmXCt7ibDn-VHyjpCIQQVkF#)$>JsfJq_6^JF@g$lZ zKoR{POsS{eY72z>i(`)j&U-*SUKzXt&|w$baRU9n>pS%7ZrXhRzh85Zeh($ diff --git a/graphics/pokemon/vivillon/river/icon.png b/graphics/pokemon/vivillon/river/icon.png index d33d8271c3751a739b961bfa0e0247bb377bf2f7..5cb09d29bd5bd5f45a9677955860ff082aad8837 100644 GIT binary patch delta 410 zcmV;L0cHN<1LFgb7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;wSu3}8}0003-NklA+f|_OQt1^0gL`AO zl5z$7@-bQ2<*HMQtyVf$iBn^7RzvPMqUcUo_IE?|b`*I?EHv-@PyiTlcjTBsAWv6O z4lN;wR1QAS!zO_J|419I9TaS=+e&|H^c4WV^mVIo>Bh>7!TB*sz^!XS*~@eb!v;FF zEK~xNUxod7vy1JGam;7`*c<1ZmQ4ZinWJ%qbpgc%h0Y)v@v?6V5JH2=K?QK3X$M=r z@fz%WqH+Sz&WGxQ#Hp=7n1czm0!DD`!5{Sd*WKb1pvc~KTV3bE00000Nks-uM6N<$ Eg7*%!d;kCd delta 410 zcmV;L0cHN<1LFgb7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003}NklPtkoYwMHvfOo z?V;yn!*mgPye*KCIG-Nq@>m0^wM~EJs2~GCgAH5DO*LbfR9RL6T diff --git a/graphics/pokemon/vivillon/sandstorm/anim_front.png b/graphics/pokemon/vivillon/sandstorm/anim_front.png index 71ce2181cc6b68206008b44a8e2952ac5714a601..1f166b45b2b2eae375b1df96484a99feacd72850 100644 GIT binary patch delta 1498 zcmV<01tt1~45ti`Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;wWr_=!6 z000GwNkl&)tzWUw@9y(1Q(OxB)5av{9Pt4qhx&#V9*wJo)sssnXk_wv10V$#5e=D;9 zPkzj7Xcm8zX@8$;dM5|kEYFYtf+8SXV62~QCmH7wFQ(d^S153b&;Ir#6o5`1Fnr^O z9C(dWOCLfAeGoP*!dM8fJh=fjmM8!s6)m2~?Fl{(mk1m9H^rlHiUNF$B)~m_@YIul zjKR-<4q6bmzKG)*kOD;@6mdwv$pwl4pYr%BX2Q<}z<(+LA-5p`07uSwMFo@yTLQ2l zkS|bSVn$495N9ReKpWwu?>QL&rj&3XFwh7dXZ93<6CZK_Y#5&5G&(WmK(LK#eEk{- z?d6gK&_ciwE_zw2JDNf8Hr&Ad!_67ZdQ*qH7)ZYenIa%kZ3`#1wpJ@21wt8TC;+Pq z84--q^nd(30`63n$Zv6rqfN*OH%-%7#|JMr0ale418%&R=}D zrZ{F~mtW}Pb>-`5L@z(#{J>qgwjkDtThuU~?=1MV>%Mb6NhHV53P98rfJYCm=DU(e zj>pp)VAC%z&v%hyiyAOqQ07s3M2^tQHk&+3*w`%sEZJrg`snwEuep95Fj;cUD4oCR z{eQ;eJVp!5ECY8J6FMLfndLz+v*3eavYli>2eFp{+(H>>kCTK4+A;J@pbD@ACDtuW z@cmCTNfsi8bGV`~N0Fz|~3smq-r9*A%Z@padAE$=Ef3>*KNo4z!VwTa0&A z0d4~&n0!eW0u=xyOqOl1(Z+SNdZhS)bAJo>akT~+g_n$|zAg^#4IOL$bLgMxEE)^` zZM{dU(mK=%X{QWyZr4;;_$*KsRRmE2bX8AMRMopG6Ggxub?QL(rb95HuK)@ygbgYa zeo$y06n&A^4O=qfIuulEqe&wXE&h$1jj<(hk$^t3xizxYtkH71V(qJKTu zID>XAmt`PeH2}K|CzQoK8u|^uPy!gGJ*gfk%=9E!3Sg>VH!o!X!r_Sk9A3ri02UP6 z!^+M9M+J!T-7u;Hw{~9y44GY*aOvoh<7s1JWW?5 z!rDI~z50oR(2dhHp6xAx_K92l2wD#&;hT$ewIA0-O}aiDD;1t25Y40ACctQ8-HZ;Rh|J6^mt!#S8R6vCFf8za__O=(t z%|JpP#*~%odI4Ar{y2KkYXRlb8SKnz24+rc)BYJ}3DVuXoGsP033RXg^hZi()Uum7l9!5P)b847Cfw ziDy}rZ#Xb!wntF|fD6;owGOzsR0Ck-^QGqDKj;AP2TpF07*qoM6N<$f_HJM AaR2}S delta 1444 zcmV;V1zY;341^4jUnd2RNklHz+EIP)jfF?&Mpj?;@I#wp2v4&9W9c5?=MS~z)Y1T{F0NF~E@aqI%m`j^m zP?fOJ1IvThf~o|0xCIzgB+vuwFe8tlDuDtJe`Fy@U|oU$FqJ~fAV5iI_}|Vvz@r~C zA1#v}RoW*lt(OBGk!MH(ei4u%2(gnLCmZDw&nB%qFHqndpS|62AOVft7r5ew9C(RS zi3b4$9!MW16Cwae&Q`!if&w5@(WXT1j`4AjAgtrx1Yd=76reFw07V4BxvK!R2QLG9 zf9OHpdU7APfD$MIf!v1z>|CG-(3DG7%!HQ+ne+NQ} z_HW+5OD!(n`7yY;9VI->J`R5L_U1KLz^L?bi)e&~VSIIM(7>n3+Ryp3@0J|LlvcP`Rs-B8}0KH zJqV)=+?|hkpM`9iZ$cP_7<5DI#dF?|+zcQOWuP;PW7=p>*D`^1K*T7qY-57&ec*8{ zgi!=2h&?2hbO87Mjio>#MgmA8KBjvOuOv_cbi)wh7C`%`?16v|66%QYe{NlXe4vC- zi!>>)2B3r?vIEvTXfJzE61R)!K3cO&iF}bBR_*e|UC}l6|2MQxbQX;Te+5*lb!noe zBhY$fpyHyeS>xf8Kv}eA6D6P~gtDr(Rp+7zc*BYW*1lDTV8BidP-r16sB_`10J{dj zPA8yA{MWFk)d1Qim4D4ae-uCW)fgy<0x+!0HANXatve^bcu>tXCXWEw9&B7dr;^Ju z;EM`?U4|W~;vNpX24J87+@&>Mf2A>jS3u|Sxm^XQ$#7xP3c(kie^s{&dvGy=E&=u1 z-10Xrgzc~h8n(Fw?gf~a>FmIEWm#W4Z*!BHhV3-ncKiYMKouaQPR5?4>4Jq=`-jXa z+vPrkZj`3c^dJGg!`42d*r?ne2d}Qu#bI=Sg`0YpwK2Uf;ML)5@z>P>JQAw)C`+(0 zeE&D~4+xkQ4CSmh4jE_*cB%Ew?wNC<$o&wBB2+q7*SHKdlcz0qC%1 yJWo z0007ENkl?{C()UP;qP`psu@L_7=OZbRtJSC(v%1}MG525d34dU`xeYWgZUV-6j9_y> zCqOSH6f>jEM$7|@$T!{NLIPABQ1by(upR~g_%U?efvibE9suJIz*;neX@Va^C!kEn z$R{960izmd49x1lmx}{DRMvw~8ZU6}x12u-qr8us@?5G!Te zt%Ah0#4Hdh1=qNY1b`N-R{f{4zBWCmXMih|YV0B$0Kd&m{NVgXxQG$(0TF;yya&{2 z!d7>n9)S=LYV;uMLHy)<0A&JZJ1e#Yiw6SDQtUb)K|WafCbsd|^6Mmo2OukXvQ`LD3;_}kM1=`& z2)1JYLK3JE2-h}a0Ch8nu5C?F1;cQBPn$;w%A)9ot-lGWYu3~~R zfDumx;x{nz92qhY=xcOOhYkVsF1_QIs1GL`Y{C5D&pT4GvTQQ6p8hf!s$BY2e*qZp zJ_m}Ip902tj9^PZB|u$EC?j63Ax10%j40OO@=5~K0kq2jbAPZJ2LQM=R1rYlrJ(SD zaqwUz20(3sTSFzFO4lf6AWs3K8fXp73gFw>0`4mtfG=|O^72eym9K%ocUNu%7h0$q z+T0N+641p;U7LFk4z7k90f?y~T} zxr49~6W{_O0NL^Z(4_W99Y8YyKET)LKt6!@$PWOj1ZY?07?ix&4#2PAyW9tG2eNZb zuq*%}=_oA#K>$yG-Nk<$OlX7yEnXr}w?=Hru!7qLv40Ifg1k58RczwlmfI&G8~|C% zqcK8=atx3-AZko_MX;Fy5RyQHK-jUK0%$4%;K61N;6OkM2P(A;KsFAP`YKR40bO1N z$Nn9O`ZEXA1#H_M2mcE6`BOdzpa$?>Efi^iIQ(`I*MTv{MtHywgqy0R{Ul&8g$IDM z+~3(2RDJhWe1!WU(*uA9{I0~2MDiNb3BZffM`g_0=;f$Y0QBgb`oCIt*=R7WAM89P z;5JOBeXTf9@fJ^Fvj8Zf{e>xI|4+;T)3m}PfzuLTkLL*Ju-Ef>0__j{Y{hLqd;kAD eryzY#;P?-5krK!nk{Y)F0000o0003-Nkl{-d_-uVsXp#yvnuT^sh;bz8l%$T|XV$42U!o6_f!hO*^f5 zjX~CR;(P4Sg&y1RVHBJ_R4JOn7;~B9_)`P;3ZUd% zgO~)(2)O79x|SBl2KZH}cfl}gAPkU>x7>9!8vx3E225rvp;MMwx0(pRe3tp#fs=nf z?TGmtQ-OB+h)#qaqXimH&Zh@Lo@>A~z3gA2fXD>U;KHR%DfO&LZH*|#4EgV!WUv~zH)%~hJA9QsAmALn_oN>y5Bj2{MgbpzFqd?oBls` zBl4l%L)dfK9uVxULN*o@No>x^EqZ^)^S!PDA0A7R*(xdD#1d2ikU&()0KSL2Rle^v zJZKRK;sKMS3%BY?5Lq0o&nH2!>c@~EJxg1BBuEbEogj1g+!dY#sn#HoAW{Ur?~)}* znI6t~f>eN4u>`3S%I~Hp$R-0q+up5OE5;AUNF2-65PQ@B0000qV9hD-n(~4 zy-!i*U#h;KTzMJh)qrZ6#m@)`U|t{)5Fv~?I{8>YHRq&~uZW3xsi+9WPa1NGJOITc znX*)%l1LjRv>+8QlO#$gD{*}qFi}P#=QbdOp5%~~SR)vrqH+n$O02oKfno(k2cWtu zVEAWf&g)`aPJd!3211X>3cvFe)nWkI!Z?qT3K^){BpcHJq=4-PdKPbIN#DW5WfE_E z<=R^o!Nu5V)m#p!CaOEQNu~kP#Wu!-@E8UFyYOw}5?F&2*fZoA0IGT0t+rwb4gP$d z0v8|^4tQMf5tGpPUkUe1hyLGSOLo9vN1abgg_TR$R_~9VX(Erfi{C5L8*S=ISfs`3QOQw2*6?C;M(oQ z0QzDFdjz*2v<5+P?2gUvG!o!$8{;kuY%4wkY%z~7fO@OVhA6}UKtzD~7|`HEVotz= z4~LfTFnAS8PNFiJHzJ~j;552NVh%XnTf+35*N zHFm(5=#walhL%VGmJTTt7+@e)CpH?6qe*Cq1Yir{<%GRgG#z-Dy2H@53G&=k$S9 zLP$>oh=v%DhJr|8VC%+b#wR%*6Vqli@l72Jn=g4!{NKzvop- zM_>SSh`JctXKPFguoxhL;zP;>W&n`TlMUALFt5)ZDUi5$h~0;?JxH5+NDH#_{NP^F zq4Ga3^)t?5Zo|LIdo0XYhgm=^rh($snvw{g1=6CDMWg^#=1Hbi)siek3aAvbK!54d zA$*Tyz?6k(BUy+kz>xspbm}Xj;%W}d0JT&FfO!Mspxdj+3NZyVDzaMNgWmnxQm!4p zk^xY>y^Yu&taUNU)KWFe_yX8!=otX|uR}z0KOp!)R>3G$9Zvu`f}MM_M+z!kwVNF9 zbFPiOEO2|L1z9q{>Cz_20${zI4S(qD0ANQ7kS!ZJGo%2$ow!*55jO!=n*>RKCM0hI z;Itgll>wM^1psSk=@I~pjE#NefSG`{L_xofNo(f`0Bz<2C55^R-O#a2)|eeBPz6iy z@FW@^fHwf3xRBWkyo#5iXvu=!-^&64ECV~^D4Lif+(g1z%vK67hfx#`Uw`7nS)_gh zjgr@0K8+@a;mfAWz01rsEY-TphvUgVr!SkG*m|TTAja~)tg(+=Ndzu&Z}aHGr?Ypo zArs&dt-<-nvs)BiU0?Ro7l3on&)=~q1?g|2RwK|jt;Ig+l%)#$WRnKtU_|?5T?S}* z=;*;wFoecimc`JZ|8Eb@-+xaQp{L1!0D#qB{*J8eD}cq<=ACf2O_AAhrjiPI(THuT!6!1L-1!8{;Mz>2g4e?J$9+>vIl_9`8{w p2Y?Ab^_c|%l|6V&rglrWcoRw#=;*au0K@qYlD>CG+M;+$ z(1Q$;_dfpKyLU&wr)l#?#<=%Mm74SMh>bsH5=02zx^U0P?;0Bci+QpSW26M$WKTE7HVAq0Gf zJp&+P-SWzfNJ58SUxXk8*pdKzA@~p_bn(klPYSefzf1riW|#WTB_IV_L;{4#nCPPj zaH$li5mN$HDM5G9+Sjr>Qed-IiWDGC9?m%tAO+g=et#|o5QoXeBLOrKeh8`hLBue$ zj4~`iL?Hne-ND%HL;(3>hx&{*z_kuevUrE~omvdsX;Ruo$Bx!Vz>#)(0aP1JoZ{dE z0OBJbz!Z@bnCd6+B=l`Xmg)p)CV|r9%jL1WbZ?!r5RPP6As709yzjC+xkZ8^niH zBXKwmgVVqfd1A~Xg}gYkgB+ZQ~ z&u9SKB}VW3oXJGz|*u@ zsQkn{&iT+fXu<{7_;Zrb_Zi#byqBNkzu^i(-zRA2cK%)dF-maWA@`;LNCi%A^P}_e zND>`V>ZgDO{^i-ph(F$gdy)pa+ngU;$0N>fZ3rNr0ID3K`1Q}*Z#ds$KA8m!Qtf(- zkAHu+{{V%q*CK=%Nq{haqh}e`5C9Gm08GUITV4TyUa)2jU&4BQzjd*f5s+hk3*KBS z=z)hm*er0vV^sk9S2ex6g+5xwGyp;Ptty0%b1y-n;{7-sBLde6;oYY~jzJndBMImR ztfR_%;$CDa=>Y+#5LG$1k84Z{pbwBB(SIQo0y6+e81V+{Ij|eEM+zh^Uc&oe#x5k{ zm-Io}E)MP`t+4;Uk@-w#F}L7f0_kdCnL-jsxkzd%JbV^NiYgY702Co4RWn7E ziv+Ngl7KGbvP1ZusDP;!qDfRPrT|v~K&Mm1;thsOma2eEu?ztA2IfJ#la2v=On(8j zB~`BPLhXKKYgdk6ssKpd-g?v?thOmhI&&w38^)4;8r21JQ~+vata2B7tF*P*flKwTxkHXW$U5CYV8=A{9` zyck%iGok?M5WE9`+i+Q11yI(O0Dr8ZVJHA-WE|Sp4zLMmDin-slr?sq0MNufP?4xR zPz_z%!out-fikoN4^G1I0rUm{6lV4t_JXd^#V}m7q4syuzyOv(-EkOBtP!mf*;&kH ziY^CX7z|&~xU-lZ(5U$B<l6z;nP*vu^X~1z^R^y|;bY~7BdlR3ZdLn`orCP8v>cP$-w;*#s zlm_g0aU>|JAp#9P;6}_OA-7=NE|h<8ol*<<{|YvjRiIaS;e(xNA-iIrtJ4n9qcYx= z256lE*0@fqNT)t9jbe{l>or9{6=gaH-saLhaF}Z&5G;Hk>=`=IHlhfkix$w$+HSQ0 z8Y2)W57+=)#|r{03$841k322(H5XY1q0*lj)ZC^802vh_kU1dSvqk_#3Rr()w$ZBO zNeFjf6FdwkRtV&5ld2LA`J{Aj9oj02z=0r#m8#B~WEzXI0}5!j9Jpzkr)270TLwU` z7=T)9(fDDdzZ&|pf?y}*2sL2+Zmi+fGh9e`U> z$sGyrGgkM(_m_Fo{Oo-k>#eInVE?DC%Y)Z_&8FDS0GHwLHXGWYEqp^m@ElHuKCN3W zkQDpB$uSUh+alZ#0kL&+0NU)y@clxXRXE!pegAL42mW^g$3K3L#-GFMjBo$|002ov JPDHLkV1ht8As+w$ delta 616 zcmV-u0+;>Y2D%22UkC!lNkl zh6ptHfEzKBgxrF4yHJ0^bxJMZ|0~#BR)JpSg%5V7h3txfu1-5ZkIHyg8lZIwSmQda zBAxocG>ScHt=AL*Rg~!*c$>>n`@mtYjX<#Qfv{)jMB9iWh%Q<{H*34q255{xpgdp$ za2+oQtSq>)z&-M`(AQjK8H7rIW>9mR764>agh1wiaL*b66e)jTiP=W0k|!ZXElBV% zpjaW0vrVc>Jmizoy>)1-C;|t999F72Ym#X!$_^-?-E!cjX`Yg)duL7z7$OeUBqJ1}TFzgMD}(db8LtfJ)M_H{f~hHA#=1 z1-PfnUmVc~_)svwW79N^iLgL)3k3xpJ_8y|30e^JKnBH)5ijmFS$6<#NhNnAyw6zO z2j5@jP4lz&ajdtl27&#bx-Lh(A!;_ob_Tc%hqu|#25m&)8-nL>Ishnw3M9q;Z*mMo z-L?q#LqKfZ9Dp`^GJL;~W);r%N8kTj@PYrG!0``$kH(++<2n8S0000rr7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;wkRBdsV00042Nklu-aoYQz= zDDBFNK(eqy7KT`(PVvIvYU&U?KPhxss@;6^G(vhBA^t4P4?qIQp1=rAf}IL9P1k>e z3KBvfKmersd-gr(4q!mC;AKCZvl#$DMWRo0Wh-9qj_HTL8KJl+cT)&*|g>spE4?N6(tD5B9Sz^o#y)t9pcP@Yky4wza# zuVW7|FR{6l9#FiD-&+5TJ$IKa`4fQnS_U7)G;!twZn)-90V`1AVL#~iuWJ_L8{8J{ UWx%H3fdBvi07*qoM6N<$g7`1HO8@`> delta 413 zcmV;O0b>611Lgye7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00041Nkl8A;XPG9V0>k8v= zWl+uGp-o1Dc)$ed!mYX!MCNA$d?W~Z{A#WQnJu`)oggtmuLP-qg<~&0L4<}A56u#! zYpqE(*e+RuNI2r;n2{`AY|2QGETOhB1j`H<*z#`WSW<6|f*X<^VjCj>000R9NkvXX Hu0mjfrb@o6 diff --git a/graphics/pokemon/vivillon/sun/anim_front.png b/graphics/pokemon/vivillon/sun/anim_front.png index be28b3b4c30bbacca9c21b2fed8a5c4ff80e55b4..4d9eb6ac5a303a06f00f25efe876b257b8cf5ac5 100644 GIT binary patch delta 1595 zcmV-B2E_T_42KPnUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;y@AVsQO z000H*Nklk5H`W8=~k}(~EuJItC9QqydM|Ou>y7&Wh$l$^G21%cnlz(hVJUK%N8I*Xxd*1in zBl$iqm1ZBBF;}|vFs<7G&9Z7=5y*jAfgq5FFlXqvLjld2kxG3nADER&nTNxf$Yn(( z!1-_{Bz%##j7kN>_MFeY<#1d~PBU}R(FGwH)LKveQiV}6sIImq-Y_T9w4_Uy? zT%lxGOW{yL!++mgUIfM(qZlQV1J5MPR!Jk_a>5v^^HGrjuv}sUc!DvXjVfU*IRFxp zc-bo5c?E%Hk1>}8VFqYc5aNdz0j~jM0*IT%FfC5MME3^p5)yzcZK#Gt($960(D7*j z=+P8LNf59UvXO+Ieab?FB)|g7(nJc3B%0$umyH3OzJL2!j2!TU@KDJ~01~1>qb)2_ zbVb6jl3;ZV@F|HLfPfI|0Gzcv2a1Nuiex1N+-6tM!JI5a+d>@~O4kr#2rw@L8f*xJ zAcP1+UHCeJl$l@8#@!LXp(R99Gw}ojo$#w!4+Ej3ILb3Ni@Q|)U}eHB}t-P zm#ww!mVZlC?$UlTY*q_Eh2;chE-&}{F0_%w4Pa&fa|H9(()9E+qN+6sKng!&i=%HS z91~beHBHlY?E`aA_Z;|+0E2))^jsEq(tcd~;JX=s`=y4xFX;wli7URl-$~<(_??^a z0UnHMcF#tY9AK;QMY{ie{2&t)f^QhD4A3cwEPv<$9!JZTIgoH89zI4c^@i2_d$U%`qUVNCMu;gR9Qo`wWnBqcs5x5aW^j z_J8tpPdcEJ0)R=FdSadIN$Cj6Xrnp~Y+=?T`S&09UsH-6A`B(~13*{E&MW)(J)m7g z7#Nel08h)26e!dv1&aNTN;^7If_y6@Bn z5K!Tg=ht?5L4aZy=m5i;l;eJ#1|VVZ;Rfp!j88_$C9WsY_jtMo>0^`hs5o9K#qrHW zJudyvL;H%enAz}e^B!|k)?pgZYLh_ic1=ZuuL6^zibYHSn#z-mt7=QC5aU4oX@9K< zEZ+E(hkR85up7YPst~R}=3f-n%3SnU@``KaKm};`7y!)%y3G|iP!iWbnDy*J9T+Ue z3%hjZWH;oi#oe^-1&yISsI#D6s3m}K1bEEn1pp1&ZRE{;Td0B14RWB|V-BCbrO0LY zInXMj^#lrl`EK6*z0hY0ppIVHMSo`pK%KV;pg;R!1#Pq}d?i3eXFUTFa!^Vj^tu4N z9=w3B0)oUL!0o|-)QbRhV;^t9ZPw@sN3{y{^De6b@Nrhvp#j3Rt(dvOWy(rA>tgjZ z?d-T@9%Zh5b{IDc5lEuOpB#Mp za{1;1d#n&3iTNjISD!BzL?ac!8 z$~l08C_-mGRK?I?G2WhCeShpPoF5NVK!onS@b<6NemfJ8-QyS5{aD^T9vCep;2r&W z^3s-vLJjbN*Z#?TZl4Q}tAY2&ab(&yyz7P%sCZk0#I$1}w;rkheIDICG3WFx>in~S zBMp5S?nMc}=g3W}C_1}xw<1iX=DiE|q6Xl`TA4XeE`osE9_ZXq12p>39_WTKu1}bU{{TDyaXh#~<}UyM002ovPDHLkV1oMB>8t<% delta 1555 zcmV+u2JHEV4c`oqUw;MaNklk5H`W8=~k}(~EuJItC9Qr@xhwKiwbnze1A%h3!KS=t0M==t` zQ-U63P`dZI?|b)-&Xt4@q{4!RvU?f8p(R9Hw1z>cqX5=c_9?(z%+TKN1MujW zL@P{FT`w6bND>`*Y`y1nJj(Kb&XeJ=IsmFHC9raJbu{vzjVPvor2ys%7OW@9*;$ve z)+PWU{C|ie?tVq?n803YNs{#HZ<&j{r@%J^m;^M%&|^_Q8AbKCfu{i6FLj)K$uKEO z%mm&+KZ!1**Ph~=cra?}p6ymsfUQNB$-%eLJtZgv-!wZ4FenJ+^bn7u?Z^~}xfx9! zqi&P(1mOJo}_8N%saJrHAxaeY{y$OK({Ihcr6dF`}=Pc zAmwH!2aMt4q5S&lY+t&d;{t$1SbA!o?n~(kifFSo3v6T6L;3d~cVAG5K0J(bfC*qA zWPks;^ZP!~0X&S&JTS)7a%^|)-YvSN{S(Q}nHUU{OFS*d(NPM-kl4%vRq1cTa#S}A zTx9#T6OoS;f zRQiqf36hZaKtPpCp3d#@f&lq2Q2|oG;D5MZ=K)BVd~(1>752P`RN~Vj`X0^Ml|;74 z=oamzQWQ-m4UPT(jq(>di-iS$3KR=|ZbH)$lhFgE(*Og{d}(W1@0M$xFOFtK%+j1Hn*CRFb-H+m~=v31ZN{d1{+dI2zO9)JJ*FZB<* zj9Uc{BvI#&58r>hdij<;(g={m(&O{%4_C|bk)^X^r}$UJynabuG!94t<@nroQ2WJf z)t-($0Ns9fe-U6*F8~~NyQs`ZIv)mFj92H^??%fPCu1GZMfF~O^;hD&S_sI&$y57o zByXLJ3k53${Nq1QpE>eK=zjq|_Ip2Azd9Gf=X&7HNz}C*2fgd27O48$|+fx7l diff --git a/graphics/pokemon/vivillon/sun/back.png b/graphics/pokemon/vivillon/sun/back.png index 7e5acd4ad03d4c0b1c42381f9036c81c72f19e1a..74dc2fe52ee032667adb4f62fb303ae1103100b4 100644 GIT binary patch delta 802 zcmV+-1Ks@22J{AyUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;y{Cn#=2 z0008lNkl;C127A!hrzHNfL)p##iRxvZ-NP9 z+ytm|4GC|xnXq$XnFT>J$Cy>XtAW=97?>q&q#i!k;QbE`ToYl;vd{o_V!-g}=~4X) zOn`R`fPGTAGJoHKtx6P_5*8Uia;`!(0JoK51|MLqz@!F)4+@w<99#to5auI%0t>cU zJ(?aa5r9OHSm1CCwq|h_fH~4TY@!8BA*uub3=y}1trQbqY7pLGmq4Q?*qRcsNtHul zmlmi`Ww_-UFa>B2(1n^BRftgHG60>MZRYla(>1CPseb{n1y21A833o>-91o~qS|WJ zgc=tHq&27lR86E1-e0+17E;NpE=B#a=qBVQeh3i6bi=DAcpJ!62JXa<>AC`r{nm7s z5=Vp}o%`H0;n){eEn>fao#m0trDA z%nrbVPBG7j0YT9PYYk$b8ZZ@mz`nFV;VB@d4Uo$Pq?rL3z1h7WDSo$rS|G_Em`?7>FD?JFkv*}5FXvIaqpVE0D|-Z}1tSm_#86N$^voi;{&9V>a4 zN4OKSzN-~CIlwpDjdp*@A#eoF!BYLX?E}tAYLMc#tIZyD=a;$uZn9Xd!rAWN{$FNc g1sgU9n)d{be;8{{SeET`YybcN07*qoM6N<$f*+k$IRF3v delta 763 zcmV#?^%Fg3vWAb~E# zg(+Y{;&KdE#D9XVQjfZaO8`Uw$SiP~0$V+t1%Vv-9W>Dax)50cArK<%0$V90zEmK- zgDwe9+F+|ofF@-Q0bN=kAC=LTDL^H_13(q3Ym^~k0b?L|u8)~H=7Cc+$`H8*sRcR! zOiu%H`rX?DxyhTOmQBcYp+Rmy6QF4#C-ME2=NB;+tbgf}o0~;7AvWnl1R%v5)-=Jo zK;$CwreTWL4QMi$E(NRvKt2zdZo+j8kV8yi{~__RP^2M)n|#ddzYdH6BL&s~Fo5c; zMzg?V&~ri`0ThWxaT$l#b^VNH_HRqi37-l<0Fcu~cvII1p`Z&0Mx_ELYl!d+VAca9 zMMwe+0Dq}9?gK%hHkciN2bE%8APu6b57r8#A=V(^dqBT*K;=uogBB>og5-q;1-{w6 z0I7a=fSi*C_sI^HcN|bh1T8sJX$ATgkZD4qdc z8!U2?Tr2Tv?gxiw7Ler{4jtV{(Rz*XY!5bq+;qM|lAoQIBVQU2l>l~sIA>00xty<5 z4XdeuG4!{!kx$1;+?5HO#B2a?IOGWKY%kgUMTfxUut%2i<8}zRE1^IR$1V?h+}~f8 t>bWUWIfb*`!TWz%#0}U0Xul_5{R0?lPFTP_e?R~L002ovPDHLkV1gT!P0j!S diff --git a/graphics/pokemon/vivillon/sun/icon.png b/graphics/pokemon/vivillon/sun/icon.png index 0a8af5e68ffd56e6fd40c2166260c993111e1617..95d3c84e5bed36ce8dbf72606bf7f6223cda528c 100644 GIT binary patch delta 420 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 diff --git a/graphics/pokemon/vivillon/tundra/back.png b/graphics/pokemon/vivillon/tundra/back.png index b95140c11b8fd57825f5015d7c0552224f82ba83..ddf9b97e88d08927394fafd19c77efcc60a827ce 100644 GIT binary patch delta 673 zcmV;S0$%;<1&#)gUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;z5u==;m z0007UNklQX*%wUekJZy{TyIzxoTncy=8q9$f{Db05LRfC_+`N{B{A8;uwT7!fbr<3s|y zJ5Y@W48gn`0AR;Zu>;F21aSixhX%}(tTRopW2gYE!!hCkSbv6qQ4KT(<2whw|1y9# zm3bhWBImEKFZ5?^19k*`%6hCoRm4nXEBRW}mHkPX<|8h#M4h2X#vBcxm~ z9+w_mjCwJk^Z-0ynE@9&cX<#{%6FQs2!JhwCRsuO<)I6FrHq?Z5V)3@1!)z6i(f_p zKnqq>?WZ!oWPdFvMt~`lYIG3>fZgWIe{gmqOhgaZ01rS^yam*$o2_=B=z%7nsnLRO zE%2Xw3t$rfZOiO}h{ty=VE$X9KIy;#L}n+!{0o~3+DZc;C4evaBJ-yXCKRa!6+R+R zw|TOPm_HC`mg$`X0>opUza=YwY}s{6Qwu9fW(5d#Dq5lt3H5K5GW8N zrY-saiVXp1z-kC!Pe43auvX&$9EkK3DAbaGjwZpm{y?JkLr@t|)!6tncrc(|o|Z!Z zss$fwJpttAkByiHd7hgHcRt0<>q131kYfrD4lpSX9+aC$BR>5xsapU~2L#EPL~xDi z0N}&(=Vm(3e|IiNeR7~8Q2*6B>mB!6Kbig`Kj1R-yZw31kJ~M;a3@w{S1WejZ?Q%7 zzhnrQroJQnJdXipx-6j0UX1tO|D>PfwjSL7r)>zrdji{k$-HDz8_ZFe00000NkvXX Hu0mjfE9)0l delta 614 zcmV-s0-61e2I>WnUkCzqNklpkr`2I@+ZY%R3vqdgnUY_Z1 zYXS}ge-1Q404_9;2J(tPO&|_H;VYF_8IF-zaBph(LBJG(17{eKWh=(x+JlQ$&l=Po zfCsG5;9};Um&qn#{)0fX zOm7?zARfx{HQD&jmRYAXH2_2{&SjY-Nz?~O3`lECctx-o0!Rgc3PGaVY6zg(5daG| ze`5gm1jL;ITR9EDfk@4PO0Eg0XcnB?cO>$D3>poZ78{=jcN(2W4662n$$j9~UaZff7@=1Dqb0+=F`epv8y(OsWpRV~!v>lL(G66#%?=`q-A` z@8034P7X8#+P_K_i(X?&J?j1=&v6-sOx?CtY{&hcH@Fj<381j^c8@J;|0QF<6!jhH z=V=Ns-DLo6_G-HS_9y)$*X`*1KkY*ho)g&q1IfH(Qsg*gqyPW_07*qoM6N<$f_{Vn A$N&HU diff --git a/graphics/pokemon/vivillon/tundra/icon.png b/graphics/pokemon/vivillon/tundra/icon.png index 711ae44ee5ef4d4e394848b000a33548582c01e5..fa937ff7ca466c6c533604228702e70f058a0491 100644 GIT binary patch delta 430 zcmV;f0a5Pg{s#k8v$3CSEpjH^$6tgQnz~RyVfbD`^-#0xH@UDElNMJL$zFEINurda+Uif z2~HYa1OOH|Ga5Z$>gbY(OB)b43KxIR^z9NL{=W?ujuphMi^p=#bP<5AKg6TD-pnH{ zvi(c}JDv%Pof)D~PQaK;KPWYy06u&)?#oFo?V+ly=)Hd0vy_s22Dp2PmA(420IDOZ z%mY`cd7iF3U{0_;JqN&YlCInEjX5_>N#O<{ZHnlFxH^phzi`EI1}wmeZ~7Xb-@oo; Y@91yuuvu00m;e9(07*qoM6N<$g8O8t<8 delta 418 zcmV;T0bTz01M35j7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00046Nkl646LukCFr28y1O!N^5Z4V(}p3AkHQm6k|(!JhQCh zoBkiGX#OxiL(aHjIUq)@&0%K5$BBQ%oFYXPJkMhn_?2UDGVfCKAy9`~Wqy|+sLd<; zord3(BG;!f)o30}(HsO(Ap>3xGOR9hKMn%TZ_Vu>GA4+deLF}=0lOVUHM_ZSmY0KM z8JrMzkdjx}&Kv6vGIft&ypbuu0?k2Y4i&o@4zloorY(1Cu1(?x)(;!suFeihO8@`> M07*qoM6N<$f;Q*6ZvX%Q diff --git a/graphics/pokemon/volbeat/anim_front.png b/graphics/pokemon/volbeat/anim_front.png index b635eae4e31a8c96fef7b31465dcd3bde86d5e76..9a118adf88b462af2534330de44eb03dd682ebe6 100644 GIT binary patch delta 1209 zcmV;q1V;Pk35W`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;zA)BM{N z000DQNkl(hdm!|Kso;H++w||Nt3m!#E{NALyFwHm3 z#gp`dT;}`D`#Sc*aPy3>*s?}x=wRx10-evLgr!lKFv}u9S#x$2y>Q;&g`%#c`O%@ zp&JMRF)2iD%zuAvYIAM~X~W7-3DI0!U`(vmFn~-1qA7ECWmAYv3>YaD#--d1qWC1HrVN4lBfUxdIg;9m0&5bY{sH{9bjPp3vj|Xq z){tkRs=6adKk&mzFJC{@x>JKlMaHmk{N3^$NavqJ1AqEgnMx5k8U?-$0C>o6SAOdP zP^-!Nky&p1BM+360l%fYU0pJLjYfgfMqRcP&sQO@ry(D0AOxC9sY87R>_i(N!}_>g z2cQZgfLTg!^!!$6-BL{hoNE2lrTu$xO&_;Z3)Vn)?m5`^XE9N3DFeLi_!!_)X3sQX zmCJwo9)AwlSCy(%zTSW8Q?v_8Gs;Bp1*I-}u=DISfxxeO9=3adthjs2mB%+oW;Bi zW59uNGl`Y`jqWNd7O;7`Pl|j+J?;uo=1b@uX@A2?A5E6%R0+Q$eadE(g`$(0ef!AZHC*4jpjgyMt+%m z9ot1RYrYC6eh4`Z{*k;(ve`I;S;))+kmZjoaF)Ro=1uQP5Xy(c078H< z-+#L@Z>k6k5(O;xz2YZ+T8J@woTrJ8l^X~lz6^XXs0`H*g&~=REwT3Fr$%J92?kh& z$+gDr^7J0~2MTOW1n*0kn+E?7+XyfsNTJM0s)QG$h z1wsM&r7h**y8dbo9!30OM6bON6eA$pHGc$n_s&a$(c38ykchzypEgbkrkvdV(-h}v zV=(v60qrLs?{fU@^|2?I>on{Z&<|1*;Al0D}h?xISSBGg`mQ(NzO@Dk24RALtAXR$00000NkvXXu0mjfeP%6* delta 1176 zcmV;J1ZVq*3g-!sUw;I0Nkl4S!{RVHF!{z-6R(ac4_)9>uE!Ic&iAq z;8CQ+|0Qj4+J9Qlx<7=#{NMcZzc(}azYy}D4EvIN;<|e=;D7iR0|}qS=CX5eZelt% zpX3~p^KLSG0|#<>_P$HzM{_)nr76kXAdX9N>5y@xgmsJKlMS560_-5e_r1Q_Afc{ygQbZ0% zfv-aV9`ak2U%CL)YVv+$m8*ZrT_t76Z|ZJWm&~<>qkq6rqb^&D=c|y{6OfM<=mAZo z)Sf;DHlqc|pgw5V0jNR;uuAEl$&(?iTdHY*Bdwo$l$?ue`kdlgalpQ+RHgFe&eMRRm!LGQOoX3N>bVHP?1fKcUGZ><+9*KS zLa|unJb%Al9>)Re2>=DISfxzUw-Mka`49l5DD&tWhbUkk7d1;E#(qUgB+Ua;-|YiM z>>Bd`Jm41ry;aQG&;t&Pnnf(`tag`Jv4E}9ds5_!>Ty?yGRF!K$A+EW&y?tR2}_ei zK-pxIW#G1zQNZ$hchS1%Q~cKy?x)*pCFp-6K!5+lSb!WCwwyTNB)rRJhIL7S7x5zg zbtK$NfS2R_p+$8}*7()@_^Dywk%0O)j zDSwilTNlgUe{4i%gJ6JF$SgOu7ACgAKTu$OEPPkW+ywZC*g$|GQTkyKfR<614jc%A zXsgh`cB2pMuXI3QYD7*&fu4Z;)RuB@MSn2^ha!G4q?bAa|Tk?2WsE=g+s4to1PUI zxS3iv)jsTj$ebNB^6BAAx qa5DA1IN%h#OfX3NKgR!W{0$x-6%iPlSjcby000099}EBh0!~RpK~zY`y^)$me|S@* z?4~QP^YMJ-}%=4#owbO?x_YQ^4%Q zyq+el$!ufjEuc{s8TSLo48s5!+Ia^<+91drQ`U8~8J;l)e>C4BH*mFp(PupX7GQ+}(PpwNL>-+k9PlsdRv-Yrz%lh_jLUn+1UcI)z|ny~`JhX8ST z5KuxGRUo#tz=TrT%7GUP6^JSBaF5Ul{KWnn8MqRZb~xvAEGChIu?(Qrf65^|tEVyO zSh#Hoj2I4*tgxda%t^8|o!1F-YTeN)@G7^OhwL7GvW$xn!}+5$}xyG(whb^vlE z1l0hW4A6i^Kjf7&KDgx+t@r|yTLn0AMx{fPo|f|YpS&+lk_bol8CCql`U?P|bBeuD R^!We)002ovPDHLkV1n>~23ux3u#{B>?!!SUGcHY5|HV87ulyx0#hG&eyAI-PO4O}f? z^jQx8MqL`{Pt>3;2!k^^=;`F6kCP}pNW;NIf7jsnOOmXkypdM_oItI=E@9r`y*d!n zrKwGDog_kt-$3vs(>NR_e?(SEGUd0r2?`yE_1$-!L#czy<=sLBK8Y={{-pv(Vz(}T zsu?RldR`Ug|);OCnb>dvcxYMNf6D>V(E_tsenU{%QutK>B3N)i>?|i5z7K#c zMZkCzhB-lCGha%8MVxvVhU3x)pG$yYJ5K-zHvl`Y+&8t2i%|+>9;6x7nf!zpt1ZwJ zvCHH~Y6l=!LQoB`$p8&#^g~`b1iRkPTm(MNra>O8Y=!- aA@mmjp>v8(OEE|Q0000(^b diff --git a/graphics/pokemon/volcanion/anim_front.png b/graphics/pokemon/volcanion/anim_front.png index af2f7e37f8775a6603db60252bdd49a6be77600c..56acf11674367df23684a002ced4f669bda7a6ff 100644 GIT binary patch delta 1701 zcmV;W23q-u4uuYobbkN`bV*G`2j>O{4>lldEV=^#00wADL_t(o!@ZWzYur{4$7P)a zJ#06oU|M_Gyp`BZ8V6!E;Dax#jHs>_8l*t~ijYO#_E2Rl)7K<8mxj$=OQFWSm6SpY zg~mDfkZVXN*w8@fk`lA@T-eS?`$H?qIrPx=kG1!GH8XE!-hZ2qq7+_B?<(iNL|qlj z*Xrl5gJqx&R$URL>nZ}Gi}WL~)QajMZkz9s!b7W6V28MDUPHfwo>MCD2OYN1?V}f! z35@Qbg9iG8K4MfFBR!f3I*37upvlg87a@IzB_=L)IR18(euslWR1#vJqKDm0oudeM ziXJ-Meg~u$secCjQ4B(K`+m2dY+vn{M5*%T{BG*mpg2ne^w=bS2K^I6#Wc_Ir&7l3 zATPkIfHJ1%OcsaY_vrj1 z07S+6fq#PVyr1tqw&`d9I8ZMNyc;?=k7*Sw-GTi5uyh@du0L%&iFti}C|Mw~kt}`W znGc>e%wrO)KgR&z-uDaHTzZP`=fX727_1Y@nhtk=2y!t9aLr>$9-h-qVv2K~EZ&o7 zfpE8CsK)DbldZ(<6^Q1As4MThvVS%G3fCAA)izX>eFUHy!t`3{|fYWjRaQf?$=yYyJgJ}z6FtXfds#=P$E_w z?tdF<+_;{`KniFn3i)W00k}GJAbDn5Q-cc3ZLUcRIFq#)_NXKXach2cq-m2nwStsd z9J34PMR|cDrHm6>i6AZtH0~yT&kB-lP6R!DLEy{;UMg7n^$97W=|dAi^#UD=wD_y5 zt4}flCwXkiJldETRdVRENwGJUgo9h}sKyl=|fQPV6-xAf^# zij;+8)M#upHXu58L{nV!CC{Jnn%v#oeakw#jo!Zg-(I81dv)?Y&I>9dMHPy;XkJM5 zl~M7U(Lta~?Zp@C++^keb9ZtXgyAL@3j$g{+TudmUVS_+hN=6+7X%pLtbvLbK7U)_ z5qln?^cf$RLxNHR{3r`(s+J*&+F|F6C>``m@PVKpX~ZgVl;0gZDhrXLcg&tmQIs%@ z8Ya_{$}H%Qg&>lYsWj@s!R_Q@9=r=tQqo2VWQC6=M~UK$GR3HjDiu!Blphk}lDTT> z{+v*h=Ach=ud*P~5wily*l4lh>VK3__*OAO^a6*1Ul4>L??Kp6dNEQxE8~SU3qaV#e=lMZD-fqj$?72G4&c6oL)sV0N|` zADH%ZyRk*KVVzro;+z$f@j<8}wv5Ixv{#r=s**^=5*d7G?#F^gL=3f;B-lPVXwUf} z#fSagGe)5H$xG`GT>JCWUWOkMd^i}IG|yn|>?Opw_HCHqhZG-Hq<<-iEY?nj6kY8w z%MTNLkdpWUYNtaQhV8>FKTPpKJ0nD?o(+Mta)BSF_;7~=wJIgzVvZlC!(SsGH8NnG zNm$^A86C)2ci6yCk-aP)%<)0%0Y@;O{!tzuC_L%RKa8F8@L@qv6-9hV+)ntR6d$tu vP=*glc4z!hf)9$iz#b1J_@FHRpZxGIqSFORZn-C400000NkvXXu0mjfm;)&* delta 1704 zcmV;Z23Pro4u}qrbbkhZNklXC*1Q20@q!0eBD!W6-1C`6e+r>RQN z6QWxpXpwVTMTp<9#Kff@#owvnH5`qK0zDWadcM7GP!!=-(L=94>~UF%bQ2$nL9qTX z=nvKM^r!tgt9Raso0S#2|zsAA(BGgGA6mQh$s40VTZIQyy+Xnh!y5XmP7I z6pptef(OVW%L}|l#TGqbniJfI_|u8UfRrJ>%8-t1S`Kis*l~2b&q{GzJGFPS?he|IKC=2Pr~p1IvB8-0i^H8 zU$!@nWZXG<9ox?4^DvZhXL^}Zmc8enZLh~R?;M}d>#OjVBOKS8XW4soAomOmy*`b( z!QVfilPbE6i3>beKZy2Ta-&m+z;5q;O+|IuNxs#=w|P{#0KxA|NW_v$`vw~~ZX_{4 z!GGJD1|J<5;8({kS97K{HBn&N<`rpk%49v}J1B|ZaeEe|NYW+^Yy~MRaZE1wAj%6g zDP^o|DM4HmRA@KRds?8DIS~wujKG}<{6w(u>tiUQ>7|Mr|s-fNTh^Sq#Xrs+&$7p)74zIv8dpqX$c zJZvwzSm!3^k4d|e%D_xdSu6-Jez-w}bo|D7AqGt|0`LU@Bb;rZyan9ius|*LO@D+k zBzzzaDdP*(kd**kwG2`89yupO>4~5O9{>evBi6uCL4WkHEJTXlwFVBNC}9{qRNWF~ zX84c^LZwVcs|!cB)z{Q`Gf^UGX9}{y#IsIuMyX;{&#F~Q(v%+*amie@j9^YET5B{! z->YUMh7f51GDd?bfj%V^x>d|j_%g~Rq%j|LLehmV zvmP`Z$?Hct+P@zWi4}-bM{k=J=0w`ELPk(0tO|c?D zEy4N(j_BeqsM1R{s2Skm3i05Bp;a{fw`izTmM~`8G`PLxK-W(tna5i6k++GyE{chdU6|Ye>Y!96wB(e+543Fkqib zp5ccX9mv>l$-r2XgESt@@u4!{6hSoW{?Tlile{B5>CV55XP@)2|twL yLz*AT@IhsF#t$XFr@ZQIjc zjNc&bBlH1E4}PeQG_ozNv)xlGNaA=t&uC`;ks15X>uSIMJAd%u`ug^Ht1;%)_1iAX zE*jg!0Dv$Cq|8#5y?bH@p}_+7tCV#nyEL>X-oD>|B!ZVs7Xq5>@5k|%{ROEJ3SDSt zhd1Lma_6GKPa1`Y0gwiYD8y5sl;%ENIRG(^zx}0@vR(sVjQ52uWU$NWF2H>CA`rz$ z`uVna0T7oraeo>P{-JM}MmGa$0`##zxI5V=thFJcRBCvflB@CEl)l4E$dqp~AG4HBY;=9+7wqDqEpl$`F7X6?XS~uUwwR43uGO7<*7I ztDOT9z6KIo7`Y=&XaWkh77%3V1jtB%Y(ugs%H|os_kWkmyj=kqUjSX-uYgUtOBbM# zD}a*>JOI1ar#S&hLG>e`0pa6SQ(tsWO45EhTHl)EFr<{fq!ye=GYvhZu$AON7Y?Y? z2W2I6^Vus-9jMd^5FodMeMTMIpfj}hl7I$d+SM+Fw}J5@C!nsZq6QTJ)`gw{)GbC( zB5WN7=6@4Vb3Y~_fI0bbk?zW_Hfmkj&A{m*0D1yMA4QmA2<~SVDgsP913VsV0y>ya zT$;6R0qih~FocND4hQG}aL1(JGXTfl0^0?!E|x9WSw4U+3<4W3G{Ymn9tQ$+$~JjA zpY~k<;BfZ`vqk$dZ$?8zphDU#ms@t>D4b5Y3`#qEWIJ@%869e5*M@M_Y}6f4Tku*p!+SA|aNc00000NkvXXu0mjf D>Rv&b delta 684 zcmV;d0#p5@2LA<+Uw;CMNkl8nu5XT7*fgVFpCBP`U1?XG|r;4*+A{qm< z@YK-->rD_Cm}xs@5%dOaAE6IWbkIZf$fNiXJI&M*h)wH$y8nHVVeCJztNs4(z`N_~ z+o!Es>lfFr$D+7s95M|6Tx$@b$XW5`ksY`K1DKCSbcGo6*ngfm`+onPh_dO&7*J$? zyDY!VHwcAL>_S;Pyjqr}v@Ux5%M*zd0HL8yBpw5e(0BQn1K`W@+iisq-8leSJ74HR zL{Y9!0sQV+AkoMs|Cm1m@XJA*=7W3bE2c4eK(2r~P6zv>_<*(6L^M*)4{MU`j0D=* z)w0~O%&N$F4u1d~=jo%3$xdA6?9yrA?-mKKXwsI(yhdp}BJmJawne)TF#tD_1IE5j z(&kxvpov?<*uAt_?JSU$=Rjr(BX%?sihyK3*7g?p3W#I^*@niZZu%zx*WXf9!x>PN z0Z`rD8L(+~c>sEG29z`g4uIX@(p-V8ruq@k19y7u+J6^S(IgQd^x#@^oadbK7u13i z%}h^kNo*x~P_+fR{9c+7y7^>*(<~2E>I?`F+u6J$k3-ZMioGGAM@_SaP`2XJmtLGrkDC|s^USGr>o1DKOLF2e528j{vEqX$kG0Z=Qzr$k}Z;3b73 zpd~;L9)GZ=aIgs&!QZ%a*2Vys!^~p|zJ?G1Dgx{^$x9EwaWcR*0LDcK!JOp-s9Gbi zaf7DI1TfbD2bHr;Mj6$bC z--wqHVE(1(6afCiSDTG!Z+4Lm`rm$z0IXFN1|@-rFF%6<=4l5y2{i%!<@y8Il$sPn SREu~30000m%cj{0SsK)2V=SS&Fl3zQZ-vp1^P6Xk?K1%TNj(=?87@XhgjE^oRl!i^U zJH-T36Yu#DgudFU@)koX>>bd#rVs+gd9)@9QaeUlaTt;Ffl&7ps)6%lr7p#e4)RW_ z@*tzblX}^s9SwS9;su87z-COFh3f3Soml2mxA0RvkuQpdWf}1Z{seNXKkus(k>)^Xq0V0T>`p+4_VLn8xF0VKD%c zsNzSFUw|=VvA#owz7r-7mYm;g|!Q$DVb@^e1E02G|E3)QB3`wIX7002ovPDHLk FV1n#KxMlzV delta 353 zcmV-n0iOQw1IPoAUkCwHNklQEG@#^=Z9N9jwFUpt@=f=4}01mVKoOYr)EY~mQ4-kXf~E+&+QO|?D51k(`L zybD5KZB%)KAr)!|bZRJsfN>tJiGnna(N-Krjo~$&b*wI1WNmcG-bbokK zFE!fHpnE1>VAu|9#H%T&B` zc>RqguupSfV|-}(oFAdZc!ym+eDWNx@Z1Piar^67*G*q0QFsvk;QU))w0r=@_w582 zFqZWm7+|XoBQVepJ=cP^zZs-sHcm6uJ^)_oWq2|l zz7YY}nj{IpVSy;1WH1RN)IeZ#69N`j@jRM?FBkw!XcUl^*D&U)Bo7&uS7{~+kTs0p zSF$n$9-$bZqJJff@-w6y04NS1L^4EQLS>ROa4rV$p%G=-+ED5%2EQ6nKv~6e3)(u) zeA_aHL>xeM#x~G`4bg4*L{sFJvW&53N}+2Qh_&K?LFy)Brkd@w&?^8Mku8?nQZx+! zly!I99Awyv04q(*H1?*73vTz75i3EGYR#{h_WZC)zJGMP?(4XKlx{veVu!!1;muz6 zHKZUYN^Gb$ZMc(EK_|g>%#Sn#|=Z7*ycuKAxr5un-F&n@NhEc zZsPYFIRhIBs65;Nh5`CNQ7+JF8`l?4A_w1oXtF&}=zv1k zsa*pNuCX!#OqcOAJj2c?zNJdn5*B?Dr07|WQyT$Wqa`DJ6WM$K2X4=?oN*1~xRmC^ z1H04fy>uMMcG{zz-}Em%0CrFe`0X4@C|+p()m0x+6bFt^poEg| ze}DA)@8BpWHKX#O7n zm?T!o+b=?kj}ie@0RW?9fGh*RJ9~aApe6(AJOCCP?5_YIN-{v^ zu+EkiYJx*v6)kfJCO9C==W`cp}K1cva7TWtR_Xi0zkWaxtFrv6gK!qC!27le# z7H3F5gbY7|1%b{h2EIOG&)-zhrrQ-~NPn)e!?zn?Al#kL#5GX*R#(X;^zNr(i7FTf z#2rM-5WbzLO4l-YlN*SdNFvoN&`LHi2nWI(xu&Zhj0{9ql;e~79+(d+@F2o6<+=$5 z13sO=V#G%(^ZKE|^CUf|mKP|1M}J{fpkTEHlXf=2+0Q4vhk-7ruS)xZsgP5EEe7Hzs0mSx)}7zoEc+7$qI z_O-_^ZCdmli@k5M`0IJ+?8KrP02Ww~Z5DsQ@A>DHnZ+~T(k}Z3iyxNv27ll%SZQ!} zzJK-3pf~>#jjsUq=RDqB*A#_b8_K(es85A=bTh?omnu&(p^a zp%9%14(xlU!;(~0jZM@s05@P!lDp0CFv@9hDXp2s=@y}G>eD-F)x5=HgiVV0`j;l< YZ)F~IxPbSZ>Hq)$07*qoM6N<$f?md=X8-^I delta 1451 zcmV;c1yuTr4EPI>Uw;LINkll*O6vrtkYL*O^TxSlCmJFmFtfOTV?G*bA zCW8dk5~X^K44s#Bs6*@M2JvKp)SA?g_!W}1T{0Cx8!vSx8(lPU z$wj9eAVcK)>HppxkN5tTq|bOHGMSmF;VcTpV{jsikP^C1A%A%$8b^!aJ9vypU=#d zco8xzt&nUKz^e*^U!~*#c!XkriV6x^OyG(SMAylm8qQ+9fGRjom3$1~Q^WF-xh^-B zDId)!Ag?HyIe%?U$^Ou$0TBmKgRylqXF+reKG78ULXI)^TrTz~MXVhMC~g>x8EUTI zMy~*9j!#0$Z_1hm0LnSrP98FBMu6p(!Zh}_rWBptD;g_7lIpE*nfBsM4S(bGoY!#y zDcyQ_$lm<6s%-RouOS6SQDR;F)p%FKMW^eS%T$4>jDLj_8FhV$=&Lyg#&aI0R1U|p zv^kd}&$SLa>RG#Sxs zbC1>OW_~;lGbwx8V~vq>00uswk8g+k>6x)_7=NXq`L{QK^7KeN^~^gagpsm$TpkVt zTQc>dOBmD0@RaOb4z}7cAbI5RO<(qgrx)%A)^0`t{P7IlE5kFq3m1Ux=*utRKhB_p z(z)hcUJek6oerRI3?-C3?~^-t4@ZF<0aEDb95T39@yHp-fq4K*5I{MP3@ruJ+Y33LmPjXtTEz+@od3rquMxWE)3CEo%_ zc*gI$(JdVUR9I*P08FqT zTP*&9-}BB0GfJnPsa*^xiyxNvhTt$*d3buZcln-@n}3O}#*xb%hUX3cxqooqi%z=0 zVVoP@U^p1{{|DiC$_Gm4{smY(?#$GIXK~<<9fW)$zLkr^4b0ieuJBqwK0pe|V0ZvublgSIv+XsTPn^7>+>^eTER9@#V+@dU-&uHk1m$43{Pj zyTJwkV^u_>Y6M7*UI2-%(g39b`V3nLlq$zayFr!m1#M8{M6Rn*nQ zY?;Z~GIj-eAvuK-`WDQ5;acm?RXZVH^r;Z?fl2`K{ z5cEN(;a&G#Rlw@{gOoROf6mg(2u>e=m;%x7&9x6ie`96q%j&l?EU&I_eSmC*ol@ZV zP~iPOdFa2sjA`Ibn6r&*xj0$h`o9*`n7gUDl4)0;-mg0!ph5a>YA$t(j-S>KF92#8 zSGWEUiFKbtxZeUAU-sISux85v{{iZW^`25&C-9LE1!1RgFsXX8M8P$5Mvh6Gk7yzJ0 z@GaziwXBy5*N}55zZX~^mHm3A=Utx?c82X{$x)So#9=Rga-Y&2x*U?Ks@NRuMv0$@ zsi*F%sHUZTWu|9~#2XB*J9iF$F7D>SO(Kn60lqa8DJ-!63eYso1SH#$)8z)h#zqW4 zf_X+$eRotG;rTv#@IWUM2DnvrZ<9*TkJhaOUZgyjTMA5@l{VG!{kjPOzDVB@K!-ZT z#82yo7XXh;(y2c{V%_#o{(k{QKttkV)2!CNZrT_jK-cKO^JDXL{}2FuJ5%6GR2(#` z=f~Cr<}}AA278l}hgD#rbb!6+4R9Y!;-9T3`U5EwB_m&?nD5vC00006+j=*O6_a!~=?l@Mb>0{DM5 z2FCnelJQKtn1>!v8x6dPiOtlcWepAPunCZ9I?QcIB=c@>6I{qpaoHWxgDeHMNT!bO zpWa!yjV)9!zh%~sn1D@QRL^XrisQYQ=qVjnmDpkv(^QnMDOFvIn=Z#A9oK~rtuGt`of+>(g1k)jh8yMse!GPxw!6e`~^0+qu delta 398 zcmV;90dfBH1J?tP7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0aZyvK~zYI?NmXM z!ypW+%M9kg$p8OsWtuc#C+TJPR-ckcD8?W?9=}@3%FpH8_o$`UJ*UT{C zySzVb@Pdy&cpKCmkH`e207S${t4@e5s0~~M)l{PZ8LHMcf-?|yZ3eYYxC?b$BH*G_ zrb2J2TriFX?b-{b@S90DR{eUZt~YzyJUM07*qoM6N<$f`&G|82|tP diff --git a/graphics/pokemon/voltorb/anim_front.png b/graphics/pokemon/voltorb/anim_front.png index 740cfa4f3d340fd6570410de84bc44331e65284f..28c443a3a353ebffb29b57f6d18170211aca3d41 100644 GIT binary patch delta 553 zcmV+^0@nT21n>lq7zqRe0000n+b(@8`@R9M69ma$I5Fcd|Td_f~7$Wq*Z6fw2V)K0`s5p%gF8&;aQj9D>B0Qw_l8D^3apOc5YsDm*D<%u^JI69AG+2>_!4xhXbk09)*7Zfdbw`dsV3r0{u1PlaB&Ua8UkZDewvKCbm+_ zqSOXB&UsN3%GLxxglMIGTz=ylo|b!8gZujOdF%Rp`!uJO+&l!K4Yy+u^ zhYhiEhb4-#Gg@yT*bGu^x_)0^K(z1n4^AgY5zO{==Rt2B(Drv{aJr?e^|`}<=F_!~ zVut~p4}idcWe1?e=bi#^zzO;juxbtZ0Y>1c0o+~yTF!1SK(jwIw?tAB`4 r>qS|b_lK&g%=<%G+Wo=m=lT@_BlHvO>W|5800000NkvXXu0mjfvPbv? delta 525 zcmV+o0`mRv1l0tP7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0nmUq;!3N6m{_i_xOS7PnO{CG4u20qcJ0HeLOOB0EsZ^@}M7C+y4FKp!xW@qS?hwim zXM0Dy^GgX&zl^Z*O9<5;Lf9t&`9Gh}lfVSD0+s+~2~@xu;01td4`39)1FUWV3;>G& zi#rH?2Qq+nqYLAIH&qJ|0itVd07&ToWEOyWfXBYcUJA|~@BrA&?F+V)0jPc!p#G5n zxg%XtX#n2~VEPSJZF40=NM#n#{9FLes@uM?ub(p;KyCE5hskG&-;DcyxAOtU_P%v@ zN@70|diP36U%SL#30*nw`H7Hk5+4lqg4jBn>}0$+9^V~*t}2yErBbO>|D@WBJM6pZ zO}iz9&G|uah%<9-%nvAd#&c?u&JQTM;z&(Bz=#Mn=!F1ogtqbe&rkmlX59cs=HjP+ zpyWMr-zhT*2oP%U#-6$C$?uT&L{RYT6QmevO~h~hVWxLe`<50F+_M2x`Ez>FqAP0; zmSUs*E<3_(ljo;*0>q1V=C8~JtlXrUUD$x9y#rX$%l_hL0#<$jz}T1mB|wxu7XV>= zeGsJa_YRQf=L=yg{~z;%VNdiC&JQk&%l+5+LG`B>^MmTw`GHEM`UCv{f3F~XFk}Sq P00000NkvXXu0mjf5UlyB diff --git a/graphics/pokemon/voltorb/back.png b/graphics/pokemon/voltorb/back.png index 6010acc3b7fc30d85a562858934961add89883ce..2aeb2475bd39d1827e95caa7e9f7fe361b4bc861 100644 GIT binary patch delta 341 zcmV-b0jmDS1HA)~B#}W-e*gz`Nliru=LQE4Hv*tn%BBDS0U$|4K~zY`?UcV#gFq06 z!P>%zjZO+V(qNZcv~a9slNX3@5a-gT@mVl7(z*BuDXgv3C-V50nO$J6vT^uIejmSE z?f}ml8Tmt0$#8t6Zj40_DPe>q#;kRJKEs-&G0@lFe{2Ov>@s?&00By4 z`E)r@kV0*2wn8|=G-(Sgh-+TqCpLP(MU!h4;RzR-?v{BTav?zA!t<*bffs95 zt+)WO5E7BY`RUS delta 348 zcmV-i0i*uC1I7c8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Ut?3K~zY` z?UTP!gFq064{Hk}HaaQfNP}H&(ZaEkO{`g4WScmCTf)ER=U7PNFh80U|p{u{nSKvw>J66%y2oSqv zOkV*46vp!DvZo+{%Ghjwg>Z&R+!Qzv*Sx}uUG#v9IyXAR6E4)<4f8DEf{(z3=T|WT zF94J7S%WuQaRDMB#3G0D-4_!UQiygR>>Lv*n3M@&OPHq#+apuP@3MS>KT9+}s uvj%lhJo|CKcJ;PHd~#EgOx4IgL#ba}&YqlBrR-Gz0000_Ar z%cNgektqdD`>_Wa5f0eXW>XIgq~N=O z`lR?8C)`$roWK@{R9#@O+1{oQkY-N^gmSOH%z;sk!9ZYeHTyb4SBP^2*lbQP;CnqJ zVKO%_7)$^OVtAo2iQzZL@BrPl)s<-@N4AiZw^uxbOJEnwUNScyP% z(BEM|{eG;=1$wJPzt`nE0?W|rEB%ImUXoo;ZLjqjeVV6htw*FjDy6#43M~ZZZuGD%PDHLkV1k1JtB?Qy delta 357 zcmV-r0h<2g1G@u|Uw;8cNkl;%#MxO%MD&+_)+ypzV+Wu}z7ABM@W$F9+;-o4eUAp}9P?zI%kKQU9 zc8rW7>7vv#Ywly2^b0F8rJ!j)mLlkK#Sq}dY!q1@{)b6}KXFc27A&A!jj z9pW4THk$_+@Vy?AFqxYd3?_g?V2nXe(Gv&&GbTqM@&H`F6#_k_*8>aX!><4!y>9`q zYy)2{VB7*&iC#c-(BEM|{eG;=SM;hwzt`ml0*lb=EB%guUIg2o+Ft7w`ZZ5iT91PI zsFdnDOSC}F-RP(NYrFNz0dz(}hPwW=+Fe7^utADip-~D$;I?o$4=p4)#A^X g&;PT$g9iPgFR=W1-X78;>i_@%07*qoM6N<$g2s!feEUw;8VNklD+tu<9VY-{a+JGpN9My16a@j zp94xb39_MJ2v?N=?pinkKJq)@hzJfx5Rp5AY!63~>?3Ccfq(Trk$Gw&Y(M}akunG0 zRl^7LB|z!`h!2sJJKT>evjBc7V7&_q1Bg|>2^KL(!?N^s2@60t-a}ZPu7z%Lqig`r z!k4-(^+BxqfX5hrFKJz05y(_y0Sdl6Ay8q!rwt%qGd8by9qRz~-5=ANKZ|7yd<$@~ z17T%c^jkYX;#a@NaOsq?456=E+izXlIsk8~ZPZPvADiz@&}=&_aK1TS?G%Xy^Q|qK wh%@ePTpei9#t;Kvi@sw1fdBaOjvDnqzp(sy-l=-z!vFvP07*qoM6N<$f^eFe^#A|> diff --git a/graphics/pokemon/voltorb/hisuian/icon.png b/graphics/pokemon/voltorb/hisuian/icon.png index 2a35e4ec33ef6eb794f309aef50d96ba621788b0..cb756ddb832943a3e6723ea016279f3a1123ebd3 100644 GIT binary patch delta 74 zcmeyz*vmAbREoXC)7O>#IU75_Isd(9+oTy77z#XH978NlPppYlJ;5%r-2UV5{`a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;$CRD*x_0001PNklVHje>DE8T__^_t9PYkeLxcU1{6rkM;6Fh zh9bbPmzI~7mWI&7Z=d!o?-{bd`n30t((;f5o~79vr#(Wl=HIilw0HVQwtUum_f9Mc uS%BZzNJ;4fiqn;p{^R%DC>V`>ngIZLxmibBv(&5r0000KlR*l= zFbD*Tf(HY;|Nm_@>7@{JEfnWEV~~VgSMysK9JTxKI-!r@X68jfdjhk4!I)isA5ahq zbwTCyKoxifgycEfASaco;bp%B)&eMeEFnlliXaMAk=o}~Pknxkqi&iv{k!{jf6fg# XdkVt@hYAh=00008NkvXXu0mjfKlVZT diff --git a/graphics/pokemon/vullaby/anim_front.png b/graphics/pokemon/vullaby/anim_front.png index 4af9402a142a31c7dd2c93fdaa505aecd825497c..e6a13d2285ceecf572d4cfd1263b7089172e261b 100644 GIT binary patch delta 1043 zcmV+u1nm3E2;&HlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;$GT{Sb@ z000BVNklt8#W|oV7fyQXK&5t&Tp#2o zq;M^%T6Ll;voqV38n(A;lv29?l3D5w(8um7K$^tJ7W%-vnt$0Z&ilyo{-c9Bqpc2Q zPC?M&Cj=qyI4khrl;A`KEpVP}r1u=Rd zfU_uVew+fvM?zfhC_q5vCpC*0PJqTe48#6@!Fd%w%zu+QsX3*7)x$9CuXO!Tsg+#a zZ$cErl?R7gv6c^Nsh0C)MSYNe9`EIFj*aRt6KDD0k8Yl8HUQv#A)X(yL3GpWvOy*a%60ru;EVC(hKrt<7F*wi13F+m zq0u1|LJPzQ_M*s$y+?SMXz$1Oowb~0+OL65b$t4%jCg+py9u&KHYiImMS1|vvweuk z#DA!*Q-1e6iT5jasWU!hy-# z&n0ME-l$l@#^mi}G2hyHeT6Ug2Ek_j#D5p~ZgSoP0pyV{%;uk{3L3ung5GZuka@%@ z@pM#$dg6y?LyNgT@xx_NfRi6CJK(wa!D0R6E2e_K08MI~-1gYBRtx|D N002ovPDHLkV1k5W{`UX? delta 1018 zcmVs6dWCmj%xxEAu1 zA?+R?AqV?#-9qs#H`ck%0e~@&?rYMJ#56|QG<%i7Y z*J^#CgF4lAmolfp@A5N-fOnl8xPQ)Yrh_&(SK;$BC8*EYSAQ-;Kv~y0hrn~|mv7&= z^&j$qv%-)0FdsN{GR%L?b4Q5)<#*I!_?GAN8{gi8{Pf}W`ww3aY+Fse;qQ}ozvXwr z(j=PX1D5B5Y;5Zw!fbrki!y5kF&^J#VvLq&%Y)!~KG*Dt?+Jby9Omy(&U^ zf0{T}PnBBA<>NX)LtM3vWHiVpwNQ)MqM{ziKTr2^S$`!;p{14(%ei`eVn|kMGj61; z)~b7Ah#!@DjH{VaAlJ%ZAWEv*Pj#OsrRvi;kl8}1Fx~d43Vr&GXn;vwJ^t1x|THV{0fSV}w#X6&GEpVV#8hcI7Kp3>OV0eb}0TU8Xt$wB?? zh$Yss|9`$;c?1CK*z~ur^jFDyOM$lc-F+kdVli}jcf+6Yd3pcRY=E-YTu;4w%PmEq z)XO7fr}JPgL7L^0q6CX!Ys1&wwo(6&f757p&)|oD7C!=avi~Exu>L5T4(H$@z$?NH z4?Z}jfbigyzaV(9p5_i7Y{`yO*uX;*?08WfSAXIxAN01D$Gp z`mqdoe+2slvMn2wrI;c;0O#2u#AIUB(Iv`nmb`g-EfP0+l@)$cZIZkc@UE%=?0T+XLV~Y0HGQLS_1q!H+ZbLG! zWU`3o$$SA)CI-XRe7;s|wNfjD15>tNNzk#pRwu$xn2LC)74C~pBFYswf z-UI<;%NOSGPgDgBUwp>wHyOw*qRMwqI4a%`cQA{54;A8#*wDKMD0YR+?-037e%*z^rQyu7zuL_2=C99qJC#}C&C;D~kq$nQo z_fU`n$U+$jpea-LLr4kY(=0dL_nd2(iOH6D6HlXf18+qF4J!k0?CrRua2a7`r9NjEFQf<09`aZFj zZULuM7qz>lh}YO1SMYg|T9|4?n`m#q9wTph)Vvn1r+0tZfQG&a+(5O{{`~As1iTQ{ z1C7IvKl`uO2;dljaH#Q~=n~lj-G#}4?JgiRvBtO^r}7qz0Oo#Bc-lbEYvIN}VKdTP zg@DF}Z(%%FvYZ+oNP@EATDA#KR5;gBxB|{xTFqtw*qZtK6bgjJaQ>DP1N2b8PrH+k%WZnfDNY(v63gs5`a=vs zpY=;1Sv~XzX~+S{gtiiZR_R7avB!ofD*^oC>cdwLJo6;RVRfj?2@ zO}IPfu0F5azaq}hdl`kIe8o-;CS4G$ziQL~q;;}VoO`e+K1G8V ljQck&5whOYL;pug{Q|^;i8{r3Ll*!5002ovPDHLkV1nzup{f7? diff --git a/graphics/pokemon/vullaby/icon.png b/graphics/pokemon/vullaby/icon.png index 0f9e1d1351675023acd66468093290edad1c307f..c8d08b61dc5d3d2917b143149a10e79b1ee677d4 100644 GIT binary patch delta 291 zcmV+;0o?x70{Q}wV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>utKFuT+M z007-dL_t(I%jJ@>3c@fDhWiFb;wUtv-4qhAn?fJPH*^z zO<&Ar{~SQ=JEXt}0*tYrff*YTV4gVv23-n_mw5^dsC)t@tnqpRMnobnVEPo8mK8by prsg`59f66z8yvkNd;osI#{=O3Xt!l9P?G=v002ovPDHLkV1mz}d1e3r delta 235 zcmV9DKJ_9*VBf_@)W(|0K57Urg|yv`}!7!fMVVCycI#?l{~HwMOXu4 zD`g=OgUE8;Hmud3LRp%eu^@s)Q&pBncATl~Cbl=0hQ)t}l~>dp!q}zum8OLZS(A=G z3rOv|1R-F8=FUMYnlK6 diff --git a/graphics/pokemon/vulpix/alolan/back.png b/graphics/pokemon/vulpix/alolan/back.png index f3ea2e305d7d2c6cf809ae1f2c58041c494d4a38..0e0287de4b03217a68d83ba925a674e7df4823bd 100644 GIT binary patch delta 527 zcmV+q0`UEY1@#1wB#}W-e*gz`Nliru=LQE4Hzu4^E_VO`0oX}IK~zY`?UYS#fj^_^z4D^A8^Z6Hx$lIkp26eSyVumdTbA!h*92$nOWu|ivI0aZGr2b zbxrw?L`*~(9_AgePL|&0bXK-@dY zl`&@W4i_$Cruht?sO|3f6G5VeKQSpuy_MBcR-53 z6RQM(E3h9`DfN%{->BfV2M(i!;GG;T93_%WC3l1wj$xrjsE?4=iiggR9Y-<4yI$5& zZ9#*~bgg{~-6Tt~BYNPn7~0+K_E^}3IO5afV(ZcKK`nG15)4Ke~=ew R@Bjb+07*qo1w^hwV1lPX?<4>K delta 541 zcmV+&0^F-7SR?2 z3wH-Vk7BHAK*o|49hwk-`Zpbj_7XxkB@ckjja=6oJLtf=l0xS`h77S|y;p$X1^_xe zg^b^V?4t~73Ic?d0n_OzNQ@9XE9sws6*ggP~383aM%~G%YF@_#t;$r5&;LSc}hiQmb=@~kI1E*<0q#?2SH2;qk{vWnGuuHCMPvsO z=@1=E0W$#k;G{Cnx!E^J=?Vam!7}O-AZH19BKU$V4;~APW`0hVES6m9UM|mnKVvbC z=is^9XFzuYlnC5-u|@#60%JuRSJ7E^QhL-hh^Zw_(;v zknrwWqM*yToS$aC`DS;`*kk-_IL>(fAPC0^FB~P7%z*$FR$`Jke;@$DFtY)#fFcaw z&;sxe9`tc+1Kh8{NHJ9D0j zIj)oLTAG0p@oSu7(zRx*B;vdGx0qhoB>X_UIsJyoh6*@_z4IFJd-n_Rjbu&$p@vKl z@wEGixKfS)c*Dg{f2cwqnJNHedpP}@h((`I7!N!J9KH4jBIa`i>{tPw2m(M@3{;#G zkTw}FgfE2Jn?Ic6ylEOLuuydCpE5$hz#d+Nj!ZQHHlc3FP=At zoHRVskMF$)cDtElzF)mHlr>ZO5e7@vw6U!U2m)%RcSx>qv3(!{G zmy0&D0!&u>C@U^mWd-h~Rr_rGN#^qLxAkA*H&dUWg*^OKF8}}l07*qoM6N<$f=%)T ADgXcg delta 569 zcmV-90>=HA1)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z?UX%k+dvS7*MP7{DUwKf?n+KAPVBTQNJ*_>4{0YbK$8|}mH|RBCvd0>7$%T1o!c}i za)Y!fa+}Q3KR~#<0s^G;Q@I~z-n`+6J?o$4IJ@8XWU!m?f}O;iIUr$XB}TCW0w4%d z8*l`qK*GKS;2%8bb!Y>B+}S-~tFQ-Tku(Xz`3^u%BK&l1Zs7?cCQ;J17Qlr70z6rD zw`PD{I4{K%mvMJnn1K@UYm{KzwdSY_#CPw%VRB`&@DuUw{5!@gD&QFQ&TGUU-EYLx zf;kcb4H+TgdG`x(p%MY`hKnCjgFa~BmIajvg?gqMh8{hT zgo~mF|?gKCSDL@Av ziOdYFlL)b9bXd}5QppD7#BLVTUY0`{_G$e^9H7@dy0_Sujp1zBk zOw7wSubX{N9$qm`Yg`ks$!Vz>92(A}#1a?fhSwX$3)A^jb%m?X*ZeGIM)7UYy`{@~ z(cM^pw(7oIwW$?gMYX-*1*@#UgSBdF`zw6H*t7n>82bYhQ=g!PsuUBR00000NkvXX Hu0mjfq@Vku diff --git a/graphics/pokemon/vulpix/alolan/icon.png b/graphics/pokemon/vulpix/alolan/icon.png index f49562751b543e16fe7f4ab6e16e9c39cd406b7a..62ba1518a7062b87908bce8efa7eab7dbb79bcde 100644 GIT binary patch delta 332 zcmV-S0ki(+1E2$tB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE4H!tOg zmeT+L0Ru@yK~y-)-IBqI!ypibeFNVixi`?Co`m`k;wjL5$A+8&+joiNRLDxDr$F2Z zjm<>%y0EM_KgQn~{e<|_EBgIjLKBP|m;oPgj9UTl1t_G0@?-!gbX(*L3?JE>Ju@Jr7yotrD2!xu5k>}7o(mIzM(4t$ zpWB4dJ7H?0Zd{mwLh6)f!rX0V){s@0+P=XmOjM2E2_u5egh{`(2veeGe#Du&dhGlt eb3bPMsvqC8mX|FcEruij0000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL009e0L_t(|oZXT^io+ljhP{DzNcIi%XI4Tzgt!W{cWlTiFmsnk zR)sWFx(dW9`Vt#vJ22FpAJ1QX?_=y=FE_pKIi!bf0}C)Y9Nks`+yMbP$iEa|Je34m z4UB=L5^MB%#HmF`0F6O+(+WQk%wmN2e;(?VLimUo=H!zIK+1!^*>;jL#MJ}I>6RHd z_CUqxsa&Bb&{x@Km%hZK$iB=&g3iIggLB@Lr`aMS7%sb>J$HcdT~|M7{VEL4Xb^^5 zRI49B7z;G3A0!M-ZWD%P8-=NrNPa|N245%QnJCOncPfP>VQRgCB#aZylro|)FU+P} vR$*vbL6{PK=7(GSs~&HDlzTrG{HY%=vzC`F?Loaq00000NkvXXu0mjf&PSdZ diff --git a/graphics/pokemon/vulpix/anim_front.png b/graphics/pokemon/vulpix/anim_front.png index 0b9401e5078f0949520d304e18cf21083552d74a..97f5b0f626fbc4cd715e6b0cfb25769dd329b8dc 100644 GIT binary patch delta 909 zcmV;819JSw2hsP=f0EXFdlfz|gN*UE* zmZ(K`;~2Lc01hB^u?57ke$u3boJAI10u4%C6S!=izG?BZp^6xFAnO3uF@WIGIc;+> zR7yo3=@CrGFv$aia*-%?GfI8x0swzSJOe;6p-0m!4*=8$CN~3$2=D6pY5GXo&T1V- z2{icHf&5LBet%$`WCik5c2##4DJ4HY_yFh{4mNuTxcptD<_Y8(Hfi^ zQge?mMmQj_+Ya9VGuVM7h8CX9F$aW;3(5>Ytzu$XM?&Y%sq6EOIb#;{iSBxWb{)>DT86wh;x{vCCuj~{PG0(Ni0_YY=&7t-we45Sc()r zDFX0J$xV33=jMpZh~f=kA>Q$}-i-0DSD+7@zn!w@a zrBy%=0L_g?Rlp#<%bsyj@tHzmbo+-7o$&S_`+e-=-xZVtUSc4optLF5Hjs^=tOdd; z7nICE+%3V_2#RGlwhhD(6w4-X5D-{$Ca6fM#rl1gxp$9J*$VN~+SSA5K$Q#H;P&~^PJ_dit z8Hgb$8lJ(ioHr0dP-@Uf%`n)3X&`GsS?R;v$2e~wuYv-{-82Ju!9YS4O|_r^00f9i z(Lj*=@T3fVn2@4@1ebX~qzNEWG?3uQ1QKi8KtvE5M8C{HP;j03#UiXS5EMXeKGr~m zV2E)j)%(G1B@icpQesr;4+sQHDG&T1E(dB?3EJroz4X@Ftg z>mUq8jg5rK8T4zeyeOw*YIB2ovYaSWVnFay<3 zFr6A;N{Q0v4v?CE^lZqE8-wz}Ga!8&$2f7f5$AbEl+=SsO&{9^fGN<@q6c94EEdR0 zOMp8>x%mcMJj)ZBI_C`WU4iD&)~f?|57PXWn?cxh(s2MpN-x5^)xY?6X7Jt#uLhXI zMo$K>*9&+!JTZ``(!oO$;)ZG+-}JtRsHFdAdbU{Cg8^!dSL9-Fw7@IMtwX6}UE#g~ zpvvf8ti|BAgBZ-PBBUoNB-FbJkh7ktbg6wcNFtYu?n9=<9~fkLva>#C9DtwBw+tX< z%78?WQC@EwkU&Lzb|Bw15HbCfk0^QEGC+{x%jb)KXL#d4|6cEw-SGHH-=jy59zA;W zkZ9tM0xnJohJ!zhK%5hd7XBEH1i^J^;g5#icWB^`p%REQg3-nwELQ?iCQfhmZsQNp zZwGImV6^eapi^^r8@L3+#UEw%FO$1RFns)BlinUcI1Wwxp~Jt7{+o?x)!^ZeP{+;q zjbJ!`_`@duQ2B#TFq-(owy{8jF9f5BKja`NK2Uz(6O1PQsDCIU?-zp6#vi!F2Ri(F z1mlQ5cJzR!e>s9a!8qU#th4`?KllWL&yQuVxS$Na6(5`t48|W}NdSb^~Cm1|wc}d9g@d51cLB5X%BT1)v3xB#}W-e*gz`Nliru=LQE4H#lZn6BGad0s~1zK~zY`?UO-rqc9Lf zs;S0`iXN=BdS_zvOT>n0dgOb4UU)+*Am#ZL{%-7 zQI|L%8lo#6c?M#%i!5;_y6_D69c-eQ1g z=@QyR_C4xB_p*Qfe*;h-1Cj~gR)!coqChi|hyuH@-_61j8DjFS5daU1A%2fx;vnRy zd;qSKO9d!0D4xG=B1~`>*mBx{^8#u*WOup?lpHk<96*|m4%e~2^-Ui~1;s(^`Um|G zR}U0}$(wuJP-L8Tb(;c?9EZN2ZpZ*fMFoMP%$;-A&Va4Yf07YHuZgNa7n%hc-R7-4}U&HnHd)ydqRcL~Y!Eg?CJf;l` z7_6%spq?JDE#cR?<~*j}!sx}dCEomqiXkR(0J_;V8Ev@9tJK~rq;~eLjel<#P&LPX znDK8r1roy!Fh=pB6$S_TY-R_W)I6K^UjuJTe%5Oz|5I!A4??8|Simwn`v3p{07*qo IM6N<$f=b^1dH?_b delta 580 zcmV-K0=xa71*`>-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tHD#K~zY` z?UO;0+At7BMHPlEE{mF6!__`ORBr9#iVWLX;aP?SZeL(xoixiiL%wW+4ak!VOcyKq z@qf4IufA%zn7@D8*CplplYUB+my|B{S2to)d<>A2#_xkj<9**g^%L*4Wj3|8()IHC42XZ%FxYb{ zsApi)h*Y&U&Ya_bI*MF)j~N7L8(HEca>fk&5(HvfCQWlTY)$A#71W^-%e5VV<7-qx zDkFn~yu|?3$a!pwbibk=a;xt5e*o!YKr#dT!Vr^36gbW#qQGW<>d#+_IWolTt(k~- zPec5;^)-T!r}_by1Xk!585Kh$H~)b4Ca^}@2zenhAF@5%1WH5=fg?)O$>B2f*P$8W zXsFn!P5+=j#x(%NVDjc4H&hwYZmv_%9&zaV`Gx=x6*CGHW$wN2x;tPUvSbI5f;k@* zx*1S9WD#+~6bNm9`3(yAAKNO{4>$nH!M8;K z0084jL_t(I%jJ?W4#OY}MY#cotmKZ_!q(g;Qk?r#0yYLD5+;x$H7->e0@*rrsLF)R z2iu>=*v~CaRL855Rc3WgNnhv}mojsqU#xXbzhio&JtAgBI)AmA5QqJZ1@Ag`*5)dF zkU`9}%FgT2)! vU`BreX8aTwb0P+&zW{maPQM0J!+00000NkvXXu0mjfs}+69 delta 261 zcmV+g0s8)c1Kk3UV1MXIL_t(Ijop&J4uc>N#(4uCvdMLHldZmwiRb$?K{f^wtP>N=zvQlrcP zI3UPJA*gsJFb=w6#q>^3tcV3p0x$RX|3Or4fR4vsgO7t$#g=i9ha~_LXh1pcmKB)R zj0v(0n7~wYY`|b^;vEr~K30jq^r`BH!00nDIUjFe3O>Rp-{s>4{maPQ_hbql00000 LNkvXXu0mjf8>4nn diff --git a/graphics/pokemon/wailmer/anim_front.png b/graphics/pokemon/wailmer/anim_front.png index b2f2a2690983ea42b75eefb4193fdda0d2367583..ecfe4cd7b7f49a4efbc9204e2e586fe5854450af 100644 GIT binary patch delta 807 zcmV+?1K9k=2J8lq7zqRe0000KorNFp_Vcd;19@i$sP`}S2@@!1;Rz0 zDq`S77jFm&b!~L03S*jdV5?aA2ed-XpHX$~f`X#n-_UpV+1NgtsZ-@QV4?T9_wIj} z{ry^25&vtHRP0LwIE3UPB?1_P5Xy4$bp>FFMkaAUVgS7`fil+CEeNIUtO7nk0)X~S z;EY5;GfMP!X*CCNz8pa$Uh1;2fsy`Qj7g;pym!1aH}yng(&TCKiL8JkWjmBb_l{=f0#e5HeRdI?}i zX|>aSdd40zmH#3>4E&;3;T#yN(6)G9&ykqTCU1los->Ja^@-XDSKr=>^?Hj0!@Rf- z)*BMM#VX@l@$tv{`@@6yg}@C-5u*|U;?H_51U?Zs(nKxn!pHZ*9~%I|)j)r}7H+qf z1g;%Tz(qE&aZdew8Nw2G2;4`&;syes31JC)se#~k1I{HOm*n`!2>}@g77G`;2mo{& z;gNYyG2lrK;0OTkNi8~4PikO}1*H64uK}DO5Zx3s%t2{m$7OqhH8D5k(aK;a~ZO1Alk&{e$iLQ_uGg1Mmmr z`-ecgU*-FU7mRiG`Uj=%d;NoDkFdlZ|A54GrhmAK?Goon|Da|x@{sDB0Dl|hNq5iinG%??W<8nL4KPcgaES1gDGt(|6odM%0HMu%0HOmo%Ro=x~Keu lsqUtKu#6Ige<;HG3-l8em`&waHV^;+002ovPDHLkV1l;Ee^dYf delta 768 zcmV+b1ONQ&2F3=E7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0>nu~K~!jg?U>tg z!ypVq!%cyt(f@yLCBQZag0Y`EQ#Lcr#ny?y;B@!#SXx^8^HRHR7HgJaU4|%SjLwP# zW36+S%J=$%FpW^LpaUSpe7zh(Ccu1sMjY?#B!K~7InsDtUV#5mB;IU<=He*mG=PKvgPx@J)ce>tdJyt-m2-C56>4Pc809(0*V=W`|u*f z4>O!n^pSFE3@GdE=Z)M#eEh^tXh=^&sP6cPJ;wNO5|7dHUJ&lH_x0X@F+AYMDb zdG8$*v*F|z;&4*~3?M=%zuvRJ?lWqP*w?8A?g9PBdm_+(L?ndEywmmmOiyO1|1z#%}k&=SS~ z}uy^Z-a>&?Ue)-4Gz402Hs0H=S{*mIn~`zX0HO049Rd382&KW@AM{ z4?y(@RF-~!@AA){Yj-9xp#p8@Qau%Hr_3U3N-}=~eqj+g)X=!OmXypfgD?j*F-zOX^=2m_HP|Vkj{2>14 zdK|u_Gx`?v4A?k7m@uCw`N4#H9p?uV y?)M}=n6S?$`N4$!p2!a-2rEB`TKU1!f734v1Ws%~N2nhF0000*F58(g+0X0cPK~zY`?UF%m!yphv z@xqJlTBYp;dV&<}3ovFGMGACnsTIqdB`3(~vgw91lz}(~2PRcF-Q-J_CC~H!GYpK~ z^)GrtJrZS(TAOmYc@5=H|GaEV_0@X--YO=|if399&GWe+06^kd9ccmyqUu*?6AV|d~W6eW@HKnqn#ZfL+0AN7Q&z7F6J0E+6-XariKfliZv zKZ*W}1^|~q0(jK5U>=7s1dPNn7<$S`&;V%M6$L28Zmfd14Z|$}@Vh#&`gK5yJq2tm zC`SU$?gPM%HNd%VMgZ;tJe>XnU_xx6lHn4dWU-kO?)sg60Ds&e|a{vGU07*qo IM6N<$g2CDkKHtOYEKXwHvLi* zDf9CG%-HOv|Iq{Lo+xwFiz%0zr%?Xz&*Q#S-@FFkxnk06c%~)MY|jM&021Ge6rI!~ z(q%+DIm0B*hZK0r4Wh??zF;r|p6IR(=7bP(v1sLFkT`&`_9{V2NHe${7cFKEXxooz zg75|@flMC&A>#x>q!D0@N6aR@`eNUQ+~MefP00if}$C_pJrwsI82Z5Y-7!0+nF z>em4+4ivDnpd1M}dk6sgssYZO7y-BoaQFQu025*hl?;~vC5zphaMN$Z*bjf)LS37= RQQrUn002ovPDHLkV1f+ho<;xw diff --git a/graphics/pokemon/wailmer/icon.png b/graphics/pokemon/wailmer/icon.png index b8c692642b877bd8ee0c07cb27f823043f257e1b..4253d16870c39413689fc72466077972c3fa5650 100644 GIT binary patch delta 299 zcmV+`0o4B60)hjOV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>%4kd7451 z008AlL_t(I%jJ@*5`!=hMe_%7wf%?Gw}xm8(F`V)nHX?UZ+9kQ z@7yeG?m_713Ij}8uPCb%1r%dOiG9gFWx*?ACOWbDnO;8)HcK z2Y$*Q1OcG`sRJBfhXXElI4p-a;DCcqKj0A3_c(;~9S$LV{jfO1^m{_cWsT`OK9clj x%STLmwtU3xEF>QS<$Q=K=i{8?fp)ljt2e%OpJxpzU4j4r002ovPDHLkV1mAqe)s?Y delta 259 zcmV+e0sQ`g1KR?SV1MRGL_t(IjpdRp5`!=hg>!?r+TJ1ctsxpiG*h#cObj><+lo3U zGla-(X#Nq!w>yK_H!mAD?<3^riXy(UUU5+;3MwIt68lno%3Elmtl%wkp;Ruo6X6UU zxoOt9qqAsS6;TC?ewcf!(tK`;?%4%#X(~~=A#z~sd}{=+y?h{t;n{-X{@1kZWDC$> z*zMX$07$okt1+beBOLMvA&BIEY6l10;6RHF4)ZP!G~nRV4>*MMJq{s#heJqT-z^R? z{hl#)T4MT+k0kxc@)6UXEFW<@%SVdC%14tu2*NSPgKTj5R&Ty`pJ&y{>01B*002ov JPDHLkV1i0Bch3L- diff --git a/graphics/pokemon/wailord/anim_front.png b/graphics/pokemon/wailord/anim_front.png index 887ecbcf368277e93663a926ed5ad7ed322c1490..82218db3e768ac9b20496df4825f6fe5dbbc6ae3 100644 GIT binary patch delta 1022 zcmVNmbbkN`bV*G`2j>O{4>%G!c*YF?00YNKL_t(o!|j$mYa1~b$K?b( zgbvoZ#HO1Rm!#V{SK6$01m5Ew9NZE}V}~Y7ju0(b+Vp~;8M}1LQs@`B5YXbKkij3S zl1_K0dv&2hTBtBFx0r1x^*r^d(Q2n)VtpP)^Fn{jW#gB=UfW@k0ox5vJI)Y8yH<2wzdUfq7#0*H_YQ8pA7l3&IUr&iI(eB= zD*hR|?&lqEto9LQ@*18{wSpbj^>DJ%5Nof#5vms^@I$BMCcP*4u8>Shsw|+Vr6<3LK|B2!hGHc(Pu|@%0TJmY&M%$7*4Lme)lMy9dpj_ zQ%jNqF~*LhVde|nmzI*@gUHdl^rfmkvs@0uW_PlLQ=S^MBP~L9(YoYW1no$2^i>n5 zIRl>?hCK+2hKS#11_UwcfOZrcqU1Bb>S=?8p@m{YWPcd$uikDaRSw7q92X6uiXhPP zSRDVnLG2ffBZyz9{7D%GUFbs`0mArYCI+L`xvl|1ZHTzpC+DBy8ny#{8@N#fSM`Nv0FlEt_Q}&7WB~x!aCH%?fl!yYFs`5PT<3UD@l}au z=KZu0@-Nckx=cAlfZIjxg8LDAK9{jwCVOOFL4OC&9z|+Zo~+L+J}(_Vy*R$Ily%`) zGF<^<%SGiCynGC0`)s+ayTP9=)dK(5)2tS3CJ<;&zDfc?b~Az0>zY99rzH@ljzAV34Pf*%Khy(;=7%Q0$n!%bU>N*R0~o<7z@RGuBUl9(^v?k!_LZ={BVs4l5evN7zsZ(1M=Li z01PkXhg~wV%YYGO{IEWl*d@S-Ony)ZQvi%Ae#ikv6+h$wqlzDLfKkN{dBBkTzzXxd s2pFt5!SjGo){B6#1SBl~7>0EXWC$HjPRSkJq+Ch5C2?u9-c@jW zQiH)uAC&byf@bW}?Uq9SfI~n_mqLd7QT-&#wk*po6k0k|m>lGN_3HcN z)9FFzpC7p2BJ{BS8_-q*#V{ycZ_N&<8tuAD@6-`mp(O0m5r5k2oUf|b?ABLWJ1kb9 zI~}vbaF^m11Bl_1M+eb_Vn-or@9@T}35{N`0|wjBugjcs_-7hLAGYI(-bYf&_vn=C zG2f1&m=>dqxcB%A<7QAcDGd)Ry)y7prsShBfd08M%uB;iEVSNZpig--Vkll}!+^o4 z^eVy_di=tkZ+}G$#nD0=IKQ0DW+xuQ>nqsr0q3)0DdkORDb^rDh$Cf~C7>tD(lES% zH3pZ7QuQ;dtwF?Wp-MQFrNKDLB2*W>OIaltN3q6GH*s1s$P>%3kFjgWbXw15`1e8-IBM$G>jS`^EDF_=c*llw~l5 z-sTAy=P$D`SgoFz8Zb77Oxk@)`97~&8%0ENl?L&>J^MZT17}* zUup-y8i}<}vFV@+Kxi#8Md$`nQ(_f>&{t{JxYhZ(#4}4rYpMLCJW(XH0|Kt?0EE7! zaUxZABvg+gc64VM!^3R8g)OOFm?d6%m8#d7JDb%-8q z^8fLNN6)<*>p~CPH(%Xg2!yoW&pCm#>xMu&?)SezAYmJUD1HcA0HbI4fw30A7#MzN z2MogxU4T*N2QOe){Llgz6+g59hRqL)ygLUlTz+T(26qg<0T|`g{cFI$LoZ;I{P2#D zMSmw?1i{!37{%>RM*U8}2|4-p(rHX14q*8Bp#~T}ey9V6j~{A);p2xoU?_g50SamYhH!82 pI$$()7chJTPy-B)j{a@H_z7nb_k?=d*>3;<002ovPDHLkV1hP^-8ujO diff --git a/graphics/pokemon/wailord/back.png b/graphics/pokemon/wailord/back.png index 04dde11d55132bc6fc1be8ab8020a2e0795f6e49..a98c5ba19c1492feda2c98b8df7a5c526bca1718 100644 GIT binary patch delta 226 zcmV<803H9<0?Y!CB#}W;e+P6)O+^Ri1_uu~7fKQ`f&c&juSrBfR7l6|kU-kJWCQs1#au_|~tsD0Kk`CD~-|rvqAj5AJO#q3tSfaUtOsXh(xN||t zgC33xc%v)(xG^3C^iseJ1~GpN-7EEspC3di(Wf`S$e*4l&~5ipK*xm#dwk`8Iqn9; cK;=Yy0ZG(XY22AzEC2ui07*qoM6N<$g0l@@CIA2c delta 234 zcmVn|8AUFWHik74$ zoDk{3Tc#T64cj>ciWG_U`bcY!*& zLh^9q0?C6O_X~LAB>S{QG3^9&EZ_x$SpJ0`lzOD&f>=uo`42Ghr=Ju^Ph6ycP78PT k_$psHZ3e1=#$izE14-0ZY3F8k&;S4c07*qoM6N<$g6j!qL;wH) diff --git a/graphics/pokemon/wailord/icon.png b/graphics/pokemon/wailord/icon.png index de5a2c70782ec7a7bbd42b62aefb39b8961d30db..948e312f62d41307f1fdaffd2d08db703de4267c 100644 GIT binary patch delta 328 zcmV-O0k{6>0+Iue7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M;(KL!^GG0002>Nkl*At<&@#AvP3)fAJRleN@x5auZ0Cgxp zOuJ>rT0qGI3QLSQ^x^yw2f4$+2mCaI!~XgXkQ|2v$_Rh`goA55$H9%3aPZepIQY^3 afWsF(2Kl*1*h}==}rzKiEAj!%qKUx7|;6Tlzz}YwJG| jhW^SSQ-8gS|E~WFL{uA(?SW=X00000NkvXXu0mjfwyT4Y diff --git a/graphics/pokemon/walrein/anim_front.png b/graphics/pokemon/walrein/anim_front.png index 9a087634e152a6e55cc0f11e77970f752bc06678..014bab5ed5913f4f28c8a31415e2c1644b4f4e15 100644 GIT binary patch delta 1601 zcmV-H2EO^}42=ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;(P@~@YT z000H>Nkl7wpLq;9RNQJUU6zc>ATv(y4oytWr*e;H7MuB)?Bwqn% zk}LE8c4}M$DdH(XKY#JAYC#&7)Kl$PM~;kM7>P zBl&wY?Q1n1nGJ1ob7_D1F(F}VZ?~|sq-hvGCi`?iDuuxIW|^@O8M@oMrJ^}XWUpU4 zW_SPi^YQL>sOc(km-PFi$b9{V5Q0!unWm(ZkaM&1V4Dz1t29(f*d`P?ts zy0<2y`JouBcf=$zZ~7h3>h z6@PHWcoLY%;>9PNy?X0uKNib{;>B!0_>DygaXP3ArDBZ4=x$~TgU9KhlJZ^AFNU}Q z#LrFf7dg>e*$;#{2kJ1a>7WD%SmZQi|KcpQrfS_haDU*1N_cC!en_r1zCiv%u79FV zHB^$bdUj2l5ziJ)$!u^u$wT-Y(R8-xz27AQ(24+g$pA%zp}aC{x^x zgTuv(cPSe|Ihzx%i(q5uo!&u3IE2 z5q1};<7VcF<}VS>7zUQ{pMOZgWC7fSw<%7M^P2oKyv8D=Gk%~aVUFu^j<*wzK_DWm z0(P=~TM9&cEB@`9^q1?;`9Ynhh9S2DD}WKmcuy5162NVN(9?d%ZdtqlP*xyZp8f^) z7FcNpS%1*h`P?1kz-Hbbv~@9qiKK!Q`GeMkVUYt(0u$9A3>&(WKsuFItl|%vlR4I4 zwLche@Z**KV8FGr+8+e5+8+$(zx+Y_%Kq>#!1En62Fcjx00000NkvXXu0mjf7^d~3 delta 1565 zcmV+&2IBdR4e1P!Uw;MkNklYzi-<{6vs(PLq?s*NQJXVH0uNgTv(y4oytWr z*e;H7LV7jWK!9`#kjeT3vZO<&O#U1C-jVuY z9_221gMPh_-g|dP^7}Q6Zxtq~)Q!!}rTNlh#=_OT-P~l+Fn=h0%zC`f%DKSyW=V(v zJ8-vmi+MeYY_D5;A@2V9*W=yo&@gr4F6(v&QRU5B#uy=0txeHnp_G-@gKfq*ukuhE zVViN{thNpr>v^q^mop`bj6HqjdEV(U)Aqr*oHSni1HiG>^jdwdscrV?p!5`G@NH^Y8t}v@9f=45jHaLIpnwZ0h6&K3RJ-Qt zMk(S_p8SFN14`>z07sDhtrM3%;*ie+)`gH4&)^`{6wh>EZ6w5yrV%_NY6?PT!<5`3 zAYdUXE`Qq6Cy?G64W@@u5S=55h>(U>cE3zu8+<3ZXWo&=omxj!Pc3 z6%gbBk&Q$G&|IKRY1^qU2Sl4X(_?W*c|h#U&VRyPoKme>0rO*ZlPT5DVr2%jXFx%1 zo){#{!v&1+?B;-NT}ks4mkYyVHz54_Y=k&1>cXg$60Ghnv?$0pEvhKr z#eY1Om;?B81OK8Ly;FH0DpOzu%2phb0D*{{hRV;*(rEY<_)>6O7y>sv#tQBESwgCw zzB|b!J#4%4zuyc8S^zVw-wQSIHca!7U2S{? z{Rdqot!k(#XZ3Rb>W8oFYL&N|9OOA`Q%nx(eEk*mzweP8gJ9kR^H6yJ`rm?4tA9EG z>OHRUUoI^I1|hEks&`HNda`?*8iedR?@T_vY}SS+`^U;4fVyhH7(|<#?I#AIrENBd za}#d5v&pN(AZQljbi9i9_D`VymU0l;jXE7$2>b}@4eLM?k!f*SH}SUL`QZB8vn|~q zoYV`!6yTwySr7!e!vqL9d1Pe`gnv;mN+Y2FY7?5{K@9W#N^G_?wb@&|P1=foeB zEgk5BKZtgoB>tdo>X-g~@CW#qRQ@3E&PRWsj`7ALdSQePK2@f1QP+UNaKRr02Mz5u zSN=e01w52FZO7;>77Rw>4^Y};+JQ0JLilCk1v7(z>OKq-dvHV*Ac!&;<$pN<%TO_j zQ-45c+~Mabu_*sh@-zl%>>NxD#!dN`GI<|t%?w7qx<~fRU@Vb;&`K%VDUc`su{$*w z8Tp?E3h4Ba>*kr1h`KY?aTj_-)0c=YI1H-fKQRfT888>`3Z9~rHT7qBjZvf*{DGN> zIbBgb-i;&$0})Xju#@%M%6~w_H{{=*tG`-*#viQ6)M2RYpc+sJl)R@FBtqb(fiTlN zXtx?30kUWyT$%m__7+&>3>N)^u`Z|HK^3lK{e!WN9V$dwkUaljG@vYTAQUjt{X@Zq zG=4yP5ajp=!&x}iK-}sd3UKhlTm3@;uASTc0}{9Uhl2Be{=xXh{ubds!1En60Q(9P P00000NkvXXu0mjf>bd^c diff --git a/graphics/pokemon/walrein/back.png b/graphics/pokemon/walrein/back.png index ec0a57ab7bba845a88a26c7e5f61c22a41a8df28..2ace978eb28f3fcbe7df2383a461ba23a1b71572 100644 GIT binary patch delta 674 zcmV;T0$u&Q2C)W^B#}W-EC2^|Nliru=LQE4I3)GLQ^_WY|NDE|7_Qjl7ruj&fUiz$POA zYh+S#K7xH|>;&)uHjz77cveRM*7*31*CC~|VTuWf?9DBMKSurRz66>5`T7qSD3nm% zO7+Tss0utCe?xsG9^#wVH-8YSk%JS6U#pv|HvuDqxP)bW`|JUTQop_JR^pqutkzfO zG73{G-QF|;u?2frF0Sk{EK{7)2eLH9ja)oCz|wr#t#Qnh*yB#$vk5o91&)%2(0T-T zqms5+W?JJNv1S0+A|+`!n1IVNSX_U54;gzT$^%&Ae{e?Ng#qb-BiEs<1bfmyunh)w zQpPx0S}ueSrD9yV(*wGE;gyWDm|e(L9=o*mGXmdvtz+0VIk|}mz}VA)zF)e{2r0!X z8;H3DBHjhT+5rLQz_q9F7fU?iRk&&{P)Z6WL{maP*30&8Sg1^}xXgsW!N8$b9YCo} zk$}=FXja-q{nP=30xi%dPIeA3E_HkVeBuvkBV?0wCe96T=e~g2WgXy9KSg~2kuHEW z)DTeJ5?G^gai=Ha(Ejzz0J?5$&H}srLfY!u9&zgw-0wS29Xu7KCEC2ui07*qo IM6N<$f>9wfCjbBd delta 683 zcmV;c0#yC62D}E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0+mTbK~zY` z?Ulc7+b|HuEkA*-qSONEppl?0e}<*|@w@LxnqK^msR#f<9J6_djmh8F^&A0}!N|p> zPU$fm>2scmFZ7rXf!O%SAAhFwIFJZT8$v?}CJ$!>tjWOu3Izj!!mbeh;k;6MO4??bX^nTpngL*ol%(Nc0xs!ddHwA@WbBbB4`7YMe;I)n2KZ=jdFc!b z3HGFaU>gkVq>ON~v|I>3l!|caP7mnvg;z4lB6cBLdF;~K&j@_ywT@ud8fplrZV9Z>xVY1kacKW~W&m9`Hs^p#eRefgGeB!%spm}8;a?({p=gr? R{v!YY002ovPDHLkV1jFpGrIr) diff --git a/graphics/pokemon/walrein/icon.png b/graphics/pokemon/walrein/icon.png index 8d1588b69a9e13bace79400a3e309f38f285b89b..f659ee87beea4ccee67a8b83a59a04d3155ef79b 100644 GIT binary patch delta 406 zcmV;H0crl~1Ca!fUoij)a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;(Yi*qk2 z0004WNklF7_qh}a@xR|;DmB+}S zNx+nuOW8=O6^8duuJ;4VRgh@k9S1R>Qf7{A7}Ud(peYxK?IYC%G*Jm)ndc?8gP6TO z>SqAc%7T5+M#%rrKA0(_Vu@W(1Bz4v$W-)?p`$KBfEgyyWp97dBsdfp4{xawqppF07*qoM6N<$g2VH% AsQ>@~ delta 367 zcmV-#0g(QY1nL8jUkL$qNkl(py+)RWSt zrU{h6_CZUS-N*rR$5xFWcd89MQ|nvMja~JAl-l1tm0-cF6w5=~qK~_EVsYS&AKh+U z?0m@+;DaCReDY-i*60WGdew)J^}o)`OZ<)EBycf N002ovPDHLkV1mUAuT=m5 diff --git a/graphics/pokemon/wartortle/anim_front.png b/graphics/pokemon/wartortle/anim_front.png index 3cd3f59e18076dc6e109d395e306f2cb5d8d0944..9798863f173df01d6139634c1896c4d142c69824 100644 GIT binary patch delta 1071 zcmV+~1kn512=WM!7zqRe0000Q z0Majf?~x+kPfehF}pS;vG2Nea4!bnCkU(cVF5{N?U2I8FC-x^G<+fP*8*;b@l+&f_Wc zeTY#2RQ@#pcl+GOb0GA+sU->vqK=a)xa)E{kAYrkMb!X}fnh#J<|}*aWpjT(oZ?Eg zVWmuZ-~$y900lG z3Q*%6hriT!i2OHNUIbby}t>xA6lf6UrvGP2g_25|#{%d+bH|POP zyT3vDevFj#KvkTq``3R-e-9c-Sr6KHC-44rjG)f49<)(yl68Mp_e{H@2QAdkyFW8L zxS`5=;MS3wb^jqOr(Mwl71fgFZZg+}-d)uL048a3AG$zQ^*|l7@t>4_`!KBWvB@NQ z;PRI9@bEB1KHQ?OY^|aPE)QCn9&r9*u9fs4xqct@fZg3_qNsld>0O`cL2&fb9Dsrz z#8bGL9^5B$s*K{Q)TJK{`bNDCxl(@ITiB?ceHwGFs^Y zL;pw*;Q6B-v?Y2F`@^FiI2RlI!Orx6DVzKu)`Lv|&7TKyAP&LSr>X!>4f**Oj%3%6 pYU9j6>d3dBY%UuPwm-X$`!`c6`7{vR=vV*%002ovPDHLkV1iS-_SOIZ delta 1046 zcmV+x1nK+o2-*mc7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1K3GKK~!jg?U)Ob zn=lN7W6LrDn#=$Hx80RYf`MS@O&`<2?cLlk-Ve!^AIt4_wg0e%@J)S;@+~X?X+;Ql zs)qr21%N!PsUMogv?Q4R8-TO=umEW6pbsYkNHu}TuItXEU;srE@c^hl2~Z7aIg22G z?o0p}WN@EIT|-@yTY!w@Y4kwIhvD2H*cvLw%n z0Luyg0MS7vKx$N`aPD$&OcsUSCX|Gb@NyQb>}|1mG$=n)WsDPi`VEwC*BMI~_NZNoQ?_Gc+-gh2rQ=Z!iLtC2EvJ%;|r59kX4Q^TJ` zKma0cg&-+^SmhBgjy?2`$72Gh0fhRLZ6>z}-i>-Fd+J{V8xran0Ak%NCG=DWnDX(M z2x5=L^Z;m=^41wFQvyo>^6_#sJ?4P(xm8Q@YI6Vyed>pyFBx<;1iQPOj8zEF=NrHP z0?VlZ7$*Q;|6~NI?=6K;ej3}XSmtcgAf%#Cu5SZ>s!`-InV3PaO}?#H8Rr1?-39xU z=~G*O53>+P9yB;9xI?0a)IKN)D9Q78c0eY8OG?^$zRv@AK0ScD9roeK>kA;ubM#4^ z0n&ljdj__o#V3+y<-M%(bm+Dy*4YrgA(Tx54-Vco%ND|5g=6oFae8z_uk+q^+d2c7 zGN?L#%NYR9RzS4wT=v$3IS6xK#>KnBkxBeW)fMz=SG(G8ZI}JO?Emeu|F?hE{%dto zx9xxJ-U*2GVa0mx+JE68ym0RvRIJ6a%J=QR;1U;C?j2^w#$vLrJN6&03wMybbnm!Z z(9FuMY5%FyxODFT@H@l=*t7p|xoRQQ?md@(vc9$LzgP-y^UcMO-8^S4L$GWA9Z;KZ z2b3FL%l@M;`+vFl{`&et_+r;P#&X2|i;bC3>++!GifP{u+VtCo*#CER z5G(iYfQJ2_5q1E3_J132+5f*||8M%2?Z3J24f`+Q&)I+PzOw(4j@ke6{a|hXMUUM! z-`@|G_W$T9Ut4wFwoU?6m)-N~$&nOh-OqeJ*#3ZU>hr*&0RR910 diff --git a/graphics/pokemon/wartortle/back.png b/graphics/pokemon/wartortle/back.png index 9bb691ccbc16cc2ce29d12eb08a688ec3c576b45..0f47279c33403c391613d015ac0116755b83e884 100644 GIT binary patch delta 654 zcmV;90&)H31&9WaUr+!Ea7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;(h0T$-P z0007ONkl8nu5XTh+^3E1jch*f-qmm579d(l7&9OzH&18{>Du2C&>z3H# zGIRJZXkdXWS6E7qftPgQ1g`AaC1Pnq_|%nSM*Bva?-U^bU|~eA77h(aObuX8ry@D% z9J6cg1c0Y9m8fQY?r7C=g(9Xsv0ks=0i@?Zj(%Vt&>uujz~=}Q=>H}vC*T!$ElTu@ zdjLln-lYVTVFZ{vLli9_P=60|j0?B{Q047;4&P)Df*~+C*T4;M&w1tmydp6G$}L|x z$_NdRLnU51%D5z&h@oJo01-+i33P~1u#++frIPT=z|Cl21giPKKEd8Yow2c0u|?A|<$Yi4#6?Jf*I&FXu74eDhb_QZ$l1c| z5{G>J^%JGnIOqgNR)uj%2q}&LwhroiB2$Ergkg+92npUyEs#R}ao6mcrrE$mjlCoR zOl^u3#&^x3k@j5=tt9OD=rRdZ8aTiYUF^VY3L5U==VqjVp>D>sv+%hDHVSB>iEW0m zAvOYmXeOis)?qJkAivPy&Y7k6IDkmyu(ukw9RN{#L}? zE=4M}VsU z>2u&u=g)#A=GikKeCz=Db)?Gd06%R628o=6>J*l7BZ1B2*E68|V~G*~(}+zk^lez delta 620 zcmV-y0+aoS2Id8jUnl}`Nkl8nu5XTh+^3E1jch*hTppp#49d(kS&9OzH z%@mQZDu07J*DbNfMdt9I(ZB*1uCSCI0x#_G2)M9kmxzT8;Zs+R866sJzEgw%fIA~{ zd75KDk(e65oQ_3u&^cz8+z9|rWhzn6hTPGr#S%qK2V%8ay#q*3fdc)&KA=B{oPf^} zDAE5-)K0)F@mf^q7xw^;GQ4vMD8mRacZMiCK!2bfcIqDhHvp=sju1+;@ z1Ke|-IRLLr41jX0SB^450~An;myR;di6&ww*)c$bl1Ty`A{6YX3___S{3plO-%eyDZgBBa2Z zFMr+!*A6zL4qzM*VdA>{$U)=g-MYEz^zxo!8YwC{Ro713LRPb!l@t${uK(8cOr`EucL4?nkK z4UBX%beU@53kj?h&_=m!hO!Yh0)b?&M1LZX9A&^g7y)h}q}xu!ZrzFKZT>vY5Xevh zhS-fe5&f4@V5^ZpV2A!r#M~}S&9F%5fcAQ2y7XvVb2!5@{fAcXC|&DF5yKU-lPoN>3YQVU+*?0000hHpZ^~#fr#uGnSk% z))-<3C#uw;3{`LQ)A>$!_Za&_p+|36eGBXjv}^aru7&`xbbrtnYlYP&y+EG@k}~tG znL+GQ8X~a}4lL6Sv==}cFjZFoMAS&}4yekm1Qq3+AKqGlp-Yh?$BpbkLoW+nZz?K% z*F4L(6v?y)^DlLfMN(0i+QN31ilmChJ5^8WVHVBLKhZzoi$(pg6Kv7_*dmC`=tX2Vr_}7h&K>VVJce dVI2B}A7|x#se|`@CvX4&002ovPDHLkV1go9jz|Ci delta 293 zcmV+=0owkd1N#DyUw;7xNklc5eI!lhx*-)pf zY#mwoMMUIwb1XUOh;hj|q!AJW9T2zq>CUISdqVu7u(LO;zXkpa^!K60ug?Ks6(E1s zD{ozPf}91Ka<{Ra=&4e8L~LIhXi`xg=NzJHg+(Qo~J_q})Dy}a)i zLaf1vGfLNLZlGF4fLK3ItCjk?6=-b4f+^LaD6*FDAqI#yN+N%kT7fo*NJuq`)~qW$ z5$T=h3W%%~o&r4F-Jue&ZsE#4z>7Trl#l{fdu`b7?IZ%Qx8Z%a-QMf%qCoki%T`u; zuf%7lSb@QS^M9k2*NyfDsdTKs%abAhbpKQ|B1mk&;o#XB7l8uhFJJH7;apa@*|omK zVMXNmF;LR91Lb#|f9K!CTOa`O*l74x9ySahha;Zm@?0bsFy!C_2K+RgI+iGlceq>v ze9m0Jhao>#0Jewb@HES2R2*JA;BOAkv;G7Jyv-l$*?&PH0qcn)!S!l%o23pQVD%c{ zfCmALnFJabz~m1r6u{WN1Zy!!Sdo)fY6nPb##RdfG;(|1@Aqf3VlpKyq>+A>^?yzJ zQ@=neJjhh!et~SEu_@AhNN@mDBrObRzLELOEJOf5GZ7+t^d6~nA5Z`!@e?3N0TVfO z11SoOmwx~xQ1>WcjV2_7SoEsE0S^jRh@dDS9(DpGEQ-*vf&jLu=LBwSQE%I^f&|Eo z3mhm#9Sxzg?s1KHTOGVWU0m{&2nWO+PfN(GF^v+#2py^OUthgO-9woz$^X;vmMpeb zbpxVnPGC(a!uldntJ^l+2`3~YAbD&NU|9>z?!}8VU{xJtA<{t*Aq5fe2iu#8J zYPf%x)3q?r{`iLm7P>GvGyb91SP+CVH~s-J25A2f`XEbqnWcjE53T?|TX@UCk@62y z!2*;=%0KvVLhJzfsQhD;Q2pU3<{#8t{M4=&${y6kPpx{vFXuoP@sG>}l%+k)%pMYl zJ%6Z|NHBXSrYKCQZ54|13O*m|M+6Sg|j zK$KwAjV1g#HU%pc4ivMx3lSB*X-*xU<@ zKBOUXg$8py!2ajW0d#PN%K#5lCsG_3w>)E+$7gep=3@9ehP$={2VevPA0*yIF00Tb l{^0Nn?GKLO{@)*5@f&p7){@~Nk8}V4002ovPDHLkV1m_fwkZGr delta 949 zcmV;m14{gq2!;rdUw;FUNklwNQVv=BDfmA_veCe-}kaO z`YnZizkKh#?=J8Ag)uaI{NGs=ZdC0+r9uF8{duoas%@Y^V}G*_OraWvAzH%ab*xwkA-(%T0U=u98Rw7oc0CE8Tex<>`OAF(3PgeH{SH6q@3sNJ z+wh^+>FoFSNT7Jy^H*2(e10w< zNTB%j+x@#j$bSmAdgv*RN{|;P++$4~D83ishxiVsAOPn0l!D`?V^k0f(3Q#Fs#W0(|+!3ILekOMmz+pSS%qVXX)USZnUDr2sS% zJns$$^LaX*u@=!tH;xCtr-PZB5)~fCDiSv(w$SK8dcfN>z*V$c6wrJt^W8Wg05>)f z5PNhUtMq`A0GGrs&Jz+akq~>#fQSSpO8{0@_b8_t%~-(e(5sXN9G?0q1hoQl;KNpc z1!)>sR(}9s$8)T}%C_h1SXPh#Te+lxLb#p19BBI|1d!Qsb>CRfLwuve`p|IV1MBsD)I(VT=<6ua$Ojn8~@O2JSK^?IE3!fU$=}1IQt?J#aO) z(SJ5*d!PYh4>myAgCEEgI^BIo*@N7rJ3%jWcj~XrH4veGu+Rsnfd4ko`T)Horh8LQ z?n4r2=*i7J%0P@haIZxGO|JE!NBM)UO)tt)rA3Z=^!Bp+V=|JNsFJ!fV{FWU@aQV-jR}AljpkVEjG;0 zcmIEPBxC;+PxpYw&-Z|r#ov*~JXzsqS+FQc8Ix%MtX3!_t9YiWRfNA*SI3K|uX&z7 zK#okM3L;bS6~J>FFYryd*asCb;9oq``k+)DdjS850QwLbLaE9J9zX=z;CK!>DyqcW z3_yzF8c5y&_<~;?&?TjpB6)Ti<#>}(0ULh-a0T?*S-q~Ycm@|jU*h161601<16EUs zu~{DQ>Bj~{$_r3=J~Oppk?yccX90iW2(Z!u+Ln?&&>R_yQVU4vl=N3(IecI{EKu*0 zr11B;Y`4X{FdJg=dAo}zprHXX1K&?E0hm94?Hyp)(Euz_gp)j&mH?t}XXqV2J3xOD zDutea#tcUi0CT*@1g58etT`1H_yqt}qC^|qXl;y9ueW@1Q)2>E6*qix(_@10-dLaJ zh!n&jyf=2>0F-#%BT!MmsSpU9I~qt$9glz@Yrw^eMFT+H;q48L!qt@mOhPMk8g8|l z#sutB3Vy~8U8}5064p8~^|S07*qoM6N<$f_&`^v;Y7A delta 619 zcmV-x0+jvN1>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tl0z64XK~zY` zos_X|+b|G@Nkb1HB~nMaO@Qoqv3LX* zLSN$GZ3n1)y#=hM5@WMG;LFbqh?Ezg@_c4$!y?^bmCgeGjw8TI3us$P`apAJEJ`gP zp;OWyiRJKt?XW<-PZCc7WN)|l&JE0lg~8ihJOK?2f0!Bgaf%7R`~hrl0K<+3V2C2z z$%APLAo_lW-tn^oB%xC1324l4BmpqTdrV+@3dovMVS!%&P$f#V!Hw3&81?d*Pi|^V zpsIodO8Dt9L3nN$`ZPzRAP(WV!B_%N;(CujMFFQmAaL$zAT@P70)ngo2QL;40Ck6_ zH#7=Ie^&}H39Zm+IMvMV#sutB3V@e(BkZY2s8;E235`D6u{<#f&`V>1# z#Xth6at3yU22?o%ZNX@jBhmITtx~vkO?A?$oGux1BCN{kifX92<)E^*>&?)9P=Iu; zvMNbnzrFxlax=u-%a*c{>Zw(Ic#)1K)}LOa8UGuM{RV@_2Vd%C8SDT6002ovPDHLk FV1i!96R`jQ diff --git a/graphics/pokemon/watchog/icon.png b/graphics/pokemon/watchog/icon.png index 4051ebde8b71f9f4a58c1da358a2315cce32c7e5..8c7f1b92029e18d52b704eafcef75949ee3b6dad 100644 GIT binary patch delta 401 zcmV;C0dD@D1KIyC6ViVo zA~yg&P+`%a={|WGXrvb zhgG6xP>&Dg)Jqm5ti74ZFaaE8ZY=kpN9rqM$8oH#Fy~?ffVr;tc!PCmdmeWLWFQgI z(vE4o)zwdH{u?av#2akdJqX3=*uhXzNfZkff0UgFqwZ vHt4^*)w*f}VTjzkG^v{|uA=(s*M58h)@hkA^go_<00000NkvXXu0mjf>VCGV delta 341 zcmV-b0jmDm1D*qr7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0USw0K~zYI?Ucce z!!QU$!Ip@~!SnxryFgNHZAc?kRZpddDw)w3gYt-e^+o|Vx{Q|=3>J}V3tYBhw}6rl z>gpICLg=F}4s5&YI}h=I-m?M2bTx+uH2YyOY`pEzBLc0pwF!urNB7OTw5O!|x#qCq zFi3G*z#PJgxKojT;1ht|HVj3Ay_43NIec000000NkvXXu0mjfPtTty diff --git a/graphics/pokemon/weavile/anim_front.png b/graphics/pokemon/weavile/anim_front.png index c98cdf5647fe73781c06ecb2bfa8f8a0b949c6aa..d190e4cef9ac546f6b47d4f6ad1c9d33ab27106f 100644 GIT binary patch delta 1293 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 diff --git a/graphics/pokemon/weavile/back.png b/graphics/pokemon/weavile/back.png index c30db799f4b08dc732c1c25f3917f4823b9ac20f..3d9e5bce80c688e33bffde287641e1c985785427 100644 GIT binary patch delta 729 zcmV;~0w(>-2EGQ6B#}W-e*gz`Nliru=LQE4IT9md_e=l)0-;GnK~zY`-IOtF+fWe4 zg~13)hThBYpk%0|fR`-N3uNh1;t!A|!JokOXe*_Uh-}4)pi8%)G?bDd!WYej+DqCY zX&mkO6#Wjpd&&??&mKGUF!u2Oz5m_2cRt7Yr_u8L*DLivDY1$Oe@Yb(33lpy@df`E-l(}GK=Ok(=JZ&*|%m_8^`{=Cn!p`{Ck z@D(Hl0i_inViZDxe?^v^)qqNejbB_NB4!u0GIe!JSr8xznAD4KbZh_|(RYG)J$Y=j z%9td13>yUC^s(7)twC;K9?wa?oBSDCUaW%!@`vL1s|9ee(%9kl$Oa?^DEQ}Ap4rCg z*bpURezkLE9lR$U@oMMQG9a(=eEjsyGTI&1VpGcR^Un?4fA_e{IFi+E8V)p49v#lX zXN!5!(APtso+0-nWB9HP_)0|}6ZF&wOqKOUjZ_F?=w7NQG&SUo)85qPyzk^KriZu$t7?%O6Ns-((mj3^CH*E89$}g+=ltp z$@IH+K0F5=W>bAM;~o)mJ)3c_+y!8oyOS(CCxHmk>&Kw=a?qKhoMr~y`ot)En*);hbYm8tB1DMf*RKwwfYf~nX5 zdW37D^>p&Peo)7lBzX*52yf08G=Z(D@S0etT$>T1K`KbwG0DOL(W+D z;P7DSgfVbMQ^wyE)}Y%T568cAN6gLVbD&M zG7 zrwk2%rq^~qw7(zp>}#z9X8s93+NJ5!^4jctgx>bP1fD#-w(1FOs8|AsCh#8wV}Ak8 WtU=O{4>=c82?N6b z008t!L_t(I%iWSOZi7G&MfU_*(L||0A$?p}atYV)2`Je!BvGWP;2vAxGhrkvqG1gZ zTDjn7V~Nc`<S&k@Ir!V%G zK0wyl(kn9F2-xDi^TNi+kiwVL3r6%c>Zairfush8A8lx`KC}2I^=E;RYhcbRVC3@^ zn9`5*F@Aud*E4yfhj745$L%cO8a{eRQU;adV@k2)V~L03!`#TnH+}HDDr-41j{pDw M07*qoM6N<$g7J5W`~Uy| delta 277 zcmV+w0qXvd1MC8jV1M^XL_t(Ijop&5io!q;hUW=xNpn~woY!k1Sn6x|1Szx6aCaO` zmAuCm@tHIrhmA2pSS<428pt{;*sI&k$3MHX!$!Jebxh=J<2zK~2pDo2rr3f4y-7Z`WG-Ub!gOz zu@WzBX7D@3OH?U2D+wzoo2Q(04Qo=_FcaD4KM4N|@6s@F?-;sK-(>0gvENVo>mYw< z&NDqn|IqhNo(zPq{lJUxxZ?%d;R*PN!*=)z;G74d4`Bpw!$08m3j#oQzyh<`X99o) zMz=GogXDm_`BsNM2aL}EuIJEYfl0B1-Wd;wZ}krw0a@VZuX;&UBA2A7YYQNzTn>x6 zT9VEK;yxjnO~DdYm-AgGPaQ-?_v?Q@t!}%PXKWNkyK%N%xfC`?Z+p2PzWrN&xmjVp z%hCymTE`pR-zKsD#sLHd<66%Xd)c{2-Gvr7vPm2;9XE&>_J-$IL-o!Hw2bY==shN~ zbOKXFF_Z))bN5IV>v*$L5{G%oj3YI5h7#{fcBT^(uhfHK^&nH!%_ z!ypVyL%^;f|Npx?#t=n0VY&jmhIIQIP&W1QxP z9SAASN>CM`1WYMVqNDLs;u-$?P1N{_{0j6|qz<3C1)b@(W}@ zsV3wWkX!(|67UOul=D1G$rs;SL@5>d;(JSA3bhJEQv#bvW~L55UnMR&%VQ^ou`wYQ zfe1afau^*nEMh7Tg|H9ilylD_-5D4Z$B;rkiz;M!lyO)9y#yCBc*-q@a2#U-=%ogr zGU&slfH^zJZ>`iyU_NwCbZzV!18FOgFvfFaj!e<9v93;kLIvX)i!*T<7vRD@iJFH# zvp51kBbaJC*)(Dn$NH)u_@NIP2>zHfp7mQAh*`5hC|VIOT@RIIF}1oWpb@Brc4Ug* zMCQ2*3kwSizl>!;mjzuGbXm}Ew4gKmn+2VttLlub^YOHbZ zZv1jxLNu1cyDP-*Aov;tKJ%_2sNp?ffNfc?dEaUmbu%`;uJ1I@c9Kv6yjqzfxy-w+ z*^4M<{+;W$F4RI$RqzgldKTq0|4(>H_=jq{K(I6}O7`-bh}cEQv;`N0E@gJ4S`6z3 dU}52Z;0IhYAjYQO>?QyJ002ovPDHLkV1g1A2m}BC diff --git a/graphics/pokemon/weedle/back.png b/graphics/pokemon/weedle/back.png index 4d47423390a1f36693e0eeab4dbbbd67bf895bcb..16d3c7f61331ad4713717853608b5f83ce16cb01 100644 GIT binary patch delta 480 zcmV<60U!R?1jhuBB#}W-e*gz`Nliru=LQE4IUwt_rpy2U0jfzvK~zY`?Uk`k!!Qtr z6IBsWM&Jnw6BBBgSjof#v{6^oOJATlD-%-Hqzdp39e_rLp&N)tXz3I1GT2TWRL4#R zMmR-Er2FJM-+#YiS^v=(_IV3%_*=m4wg8>e7NFM(_{~74>n|J9e@-yFXabxe;B^C-~cfm00j`Hla zP|vqdWCbQRp_HnXe~-_~k3?+4G^_bQ0?&n-qqSAChJ}D>7n+*1+;O*Wk zpLmg&!u}<_&sAlEMXCWTy5e5sb=^n+uN%!Ca=^)=371N3R?^~2L~{0q6c#LBUsTF~ zi8}`%hznZN+M>HRl0!nG5P1)AeUm?Fj*tM$@_v`v5*Vc%i0k`YnI-30_Rv50d;A6z W^WnHe_i*q40000fqE@%MFz>75KHUqx` z%mM})T--K;OoQwD*H(a|O(P(W8jM%X{VFs_K1h3(xuxOROzl%+|FHb`Fp)OmY)+HF#3p92!M(Iu%fV%}Tzu0Uwldl2Qfe z%7{=+QrYgiPXh$OmHP5jnV50ShYHMOvxep+en6V=QiruNXxI?IoYC_n;(D#0L$fD;UI?1K}`C*s&BqsL-QUr(+2>kA7S@2n3A~w0000w_D+MQ2U`Js0EBJYKEZ6%I6_PwScjLmbgYfYn%z zR&ZHd1ppqQ#(^Q=A;SQm5$n(d$*%P+_NQine5JBR+5)_~*z z6zJ5Pp6^jWMT?DX8OZ@g@6EzO#sQ@q_c>9ryyX44ELU*wB2)j)sbCIc2y4MgFK zGGZV}1&SJoNO8gjA_PJPA_hVRBGjyqfg}M1SMAcHfmrx(Vt^Vp5GFZM&ti)5U?3Ko zx{-}3%A}yyW-~wHi{AkJk>)RR91007*qoM6N<$ Ef@oxpH2?qr delta 853 zcmV-b1FHPy2bu?v7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0~kp}K~!jg?U>z` zs~`-8i$W@(_5I)WBq980g@SW=+-qiyH~VW6)K2#6_2|)~ij${n4XGj~+ex zuhgGloHd+aob9~{hEm^K@j!wRcH()S3dTr+p=6AhXmtj525Q7po}m!Ujx`$93}|{D(r2L0pEmc0B^0d{c{2#+k2Uz zqyjDpJ}v*az5BdO{4>>Lj42#PE00Fg0L_t(Y$L*D|Z-PJ+#-X9i zNE;JJu8j$6ncNr-+c0(T9Gt3An)(lrI5#PAtF=vTtBFB#e`VisCvbpvYZt#rFnK@T z_ucauH0`W^QWX7CCj_6Wn}nPuX2S>*;vWa5zA+8R;6wy)!GA}9R?Eun1`e7$^cJOG z(xwT}J9O23l0bvUMTa6J>t+*RL%l0wJ_9hU8bBR6{M#iS>~S6FtN`F=7(67eEX8E* z*BiJ143Z>Sj#z)Xd#pF0mS*geC1WGTSgfXe;SFF4VFER_g==wNZeb$cfWBWdp#VPd zcLi`MrJ)2MLw_7E${7Xl$qMZhV3Ii$4Y(SB^+*9?NU2+8fRyX(E%tdhD+gTF0YdOu zPMjP-YZcfFK(xq!E>o41fNW5>0x$tMIWVsRus*simjpa+!%BTCpUgbQ^$0A5J-kA4 z4^6usp|7DE?*M3#JyXk@D6&0|1BXpjGq%T+dJ14F8DUc!)d1y}f>XI46+j7KOQ2T( zhT^~n$AP=UzeUr6GGLbhxe{R|0)ioU-YTDiHm?D$$k+sIP$rSlvFbo70Jn#VLo@+G e?em-E5A_2l+GHbgizGk*00000bbkS|NklAs=6bJCLq?uz{1jn33$l6S984_EZI^-Oj zR5Yc2fq-+N!L8O7ZmS?s?o;+%?o4t?v|GFQP!!(Jd;hzf2wm!*Dhz+=6XKog>x7&a z^I_-_;+_UGSDX1HI1>S;cqc%!X{4W;=hw|>G%5X(W9mSoO@G(ju>>_UuG$o1+1KlU z3H`2&`3zuK9sqr8@o(2&aPX?2y#~Pd5In}OEb+*~tu9~#2;w+ijaYxSf2uA(4Wu37 z6=NgDSfr+W;S0bi3}Wc99lVzh#U*si7ohLAOq36==(_}LO6foX$Ph)#VnzWzSzdbu zOw$SZ0=#O#W`CrB2vRnTA|S;+dy8Bi&d7kRPJj^nET>im@J0m(0mKq1=rXn90!RN^Es@bOsvr@-?%{kBbwE@LUFz@Z2PfKOBe|8d-~a#s07*qo IM6N<$f&)m_TL1t6 diff --git a/graphics/pokemon/weepinbell/icon.png b/graphics/pokemon/weepinbell/icon.png index d63521d7917d130493f5a40c9495993f3b3f93d4..104e77f4d5c50857455ac608bb21c8735c095b4c 100644 GIT binary patch delta 311 zcmV-70m%OD0*(WaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>>b$3g;34 z008kxL_t(I%iYqU4#F@H2H?KI`Mm}nRV)~a#m!DmBALPuu>`q>glE8#1)hSCO^hb6 zWgs|8pygJ9CD2U$y=!{i$Joy;Kqt6litOqyLlRVqU3RoxD1XQkQg9wK+~%}nz^>kU z_3r3#+$=mDz_SWC?@PJdD5zV(7Hj`?&RGYs+>d+{054=G5yB75u~?+1E)77YkBX7K z%55&=xDxMqn>>w^BbmRMmE~bVr;DO#sOalp7&;Gz$o^=3`daBI< zhAxMp;a~#8!7$v#a=G*h`3*d3vtZaPZWcL-1ce`B333ey z-+*0~@fCz@Vl)Ak4M8cP*WD_RBwVUq@7lZeG4^)>(gJNJ$gWzMB;YPsd!*%_fFdRd zw;7XpK`SQgF*xkI3fGb8cAx-!vcPf1obOTrbr0mS4)i%U1%D!b@&g3mlzbR_UNFaF zWtm(@6aY`&8NO-dx#3ZC_qutTB8lP)nZH?A)pbV)=(R9M5cSFvszM-V;Y2nFi6cLGx1`3HDj11S6h9+CHos`;;iv#Kr7bn3l+JQc&~IPq{+lx!6~txII2pH3$fSRV_|EA2 zk3p#x{Ld#R6VT6E8WHq2c|Mvxd{eHL(-#vu+Wv$A@RD_goeE$=4hWQTAgxrV0@y!= zeSb3PtF)D|T|FF?0hGTCW?HFkjTeinhZPSkjeos-G&=_(SKTYMPzPlPYLe+*@9o9> zH9KLznX`Wej+7uZpSLqcAVhyT0@$U$8Sck=JY-1O0j?l@{Yu+4?l2;)Q0)CWH`dOq zjSK*hmK}II`eNR~IY+bQ(GF8}#Bn$3P-z)nZyR7wued$L^SEvjY;k|p%#hAz5GHE?Adw9jtpvpH7@AM`2r z#`R7+9de-|P=_3djmCdJMXA#E?qAj(Zm?9dAC)bX+6@2?C9-=yG?iFGOOP8hn|zi6 zAghA|l(;RLy{~A|x>rIRKTX-^6tl2oe!oUAAUW?x4W{)_M=Z0FeNx6;WbV z6B4CqC%GV&;fjB#V0|S?YDE^H?mM+X&&q0_TH#?&_euadz7b%BRuE7iBr&v^D^D~>FWLIVI|&q|bj{-_XTNoei^_B-nSo|P!NH3$m? zQoMR27JoDCO69N_JKt1i*w_ei(L&RIVuy21vR5&5~AF z2|YEgBiw&=gA@p55Vr&X2@t+{29O?S1w!Y{pDgpkF-a7Pfg%t2(KoCD$)P}&%l9l% zUg8kk8GU~6My8SiL5@j43?;{)xkQhs0YH9q3H$ZGM+_hia6om!f*uNFxqSCE03YWB zNM}>BTL9j30}|yOO7reYlYz@0^xGztj}7lKK~=nM4e_o_5Qalv4fkFNxzDjIJTwth>Z{kAIDx2%9rckrD1O*f22@&6Zi`r96u5K z%C0X2=~qetn}Dw=^|zRQW(;tfVj)dFc+*$ zK=qDjaR|9mxCc;w7Cw*PGCb)E7(-eRVra&%SZr!qDj9vIW8B$pXc*I`0H6~ zw-B(e0XdHAYN2W`r%6%&+yCeD>=}YG*ZqE7cX2nzP8G-x@DA9#NQR4GrcLj zCOOyA{`Lfh*EiXG!1yM0OOQzcx{>kCAsLs>0p3g~I|9qPEMS#_99Modc{hT+2IB0@ zX;YgNVZi@?2+r?U`?SMn+Bf9-@@#3-qy{}+FCkbf!123l;^d6@wub}58*SL(*=@Nz zO7u8p)Rjw)vT*=uUnJc-xj6Rb(7gjoZRy@cy?HTnG|ZdZ2;!zgw`s^R2A@xHFIEy> zKf&q=nLS@i`8*y^#0P@osA9mT-mCi?`tuJ-!#_%Yb%G)cuqSAW;?fOUSmS3PC>aTg z7NHdZF5aYA5jYK>X(t!1asV5GN``acYb=*;pe_+O4r_*%eF)FxO}oZpuNoM^(hZf1 z&{Z(&-^4)a&kAr9G?UPV6#*w6!SLn91PY^UVhaFZkqhNwn^Aw#AlQMp8ZvQ(XBB1T z4u8pix^d{c)iSphX1((ubMNw{JRP6!+`&R0c}7n zEPU_x0AKB*&IaE4MeX+j@}+OO1WUOj7!V3~iDfLk*WEYm06afB`q>p^#QoxXkt zb;i4Uy1s9Z7ls9gbwXPP?b_+QGT#Pl!k)l?dvxKMZh)O~z5*X}Zp$wJ_yMmir#Aiz zO}~dg8I<4;=S5fH7wNiZShlRcW&qHG!k_T2$A7_Zs_p+!elDIrz$G3328WQ)PV$AV z-=dTXH=Q5osT_EJts~SQ_ng3v)G`maZR$yvdH^#+(xJ#E%LfId?sNo;jny6`Cyn7z<(j(F@_mjub(<=>8jfg}?Q!w&>%p=VTwO<{r|ZXP@^DCXr6 z@%MW?2Ia|xacC0>gkl_lT&)csqDXOnofH7bsxcoIsdaB%pAQiDOn5z8=aqJkKb&Cb30{v-`c6h5`C03_hd71_1Wzz50Nn^= z*#Uf?VDux9DU?QF%j-KEfqX=01Ty5Jd2czvZ~_b#QskNzC4m@J-!Q?@5lH!eaCUq? z&w^RA!!IWom_Aq0HtESz+Xa3#!H|O^5lOEn1#e{7O)z{Kqxq@??gcdH+XN#JfK<$m z0E7Bvf`KPdV@USo(L|7qY!i%tFJjK6^9$ePMxayd!zLKE1?VJ?9ApAhh!Ke^CU}Re zL6l>E(Fq340`%zG1e`$${1G01MxQ#tkleM5(nJX5%O1Nz(9mt^e^fr@;RNafd;T3v zpkAa21}zDo1dYuIFfp^&+CZQUk&Hm3Lc(Vr!jLCB1t8tLA!-cu@pKDoZHzpGkrN;t z|1}#KpF&4Z3{hTT05O{ooT$GK2m_CR-lByMFvcfZ z5-+5i{KDXg_I7-YBY=s4wa{NEf+OEFzX$^eYf3{!?)rd1fMXHIFG*`+&yc2$PVa(# z0^41TRtz0w$1?g$FL*D1kwTBPU>NXT*sVjhOkOMDrbg4iE`}c`S6W1Zjv*3|2S+pd zO&?@cU*ou)Q#@GkoUl&^=1%Eu~6K?rMbJ!mwI{-*#stIZjnmcJCcXqA;KT`DZk) zs;~I}SlQ3>-;U-nAMd^|3K+A^dCr#rYfP39oEH+SL$x|7RDk$bf67v#?FI{Ps9=CJ zm=yJU0l4HmiaY{IYzn{vm>gSkV6yZN0BQn^e`c~IP~hnbSk=qADDe*1L4Q}YxrST7 z=!zF@X250Oz#_orGN)uRi|l(wqm+D}ML+<|76BTD(+ra+ay23&@U+EI98mz8gOq}R zEWvmLph4yj<^g(%e}uRKA_E#fHl7ZZ++Y=vTrzQ=02ojtp;0$q2s%!WVT=J9{6s+T zJZ~%&;2Qd9o)ds2W?+(N#sT{bXcF@xd1QEa$P!KKf;ao~C~2iIWCqe4;M96&!TZjf ze#J3xPA+k~LcX$%-Ok z|7Kq5c{KwBP%8K0G0fhZ3zuR7)_NX=@;SQsx~g^f99WNV6CZ(9d$9||h?7cy^}bmk zx_qBZw%$V#(a7&O2V93Zp#?-oK=6;id5A=pE~~z8i@dg;+EQH~1%wENxppR9l0Pi9bkmlX`2!FnE*Wj)W=AGxbg<-u0zwLhd<2Y4KS$gh( z6Pfwtn{P&w;wwH8EAw&w+fhHHRi8={FTmg}Q8jlI5Lm@Y)BBDzs?jt~d14JSkbkl{var_x# z?5V;N0KwC|QL3kF)JOdk0hE}5NunAD^x4BC@*;Xw@W8mDo#CFLsuJ(8Q`dOWaR_XV%7L>uPLgXsdk^MSPHGTe2$^@mE&vx3*#=O=d{>unX2$1TAU$}EH+aJz z2l{n{IsNe|)P0@G>a&!R)&S@e46I>^%<5n@Nx>LY_?yA({;n0ys<&*+kyF z3!sQ{A~nP~46umF41QAR_dp5bFj_iL=~1VMQkMb-vKoBlEzsBLs=(|p~Qnx|pB{0>g-6ei09y*Wg0`HqG1JFr<%O#(xWxW)$f1jiMUd!EI>DP+$1K>?e zTATPzlw1`U2f@&<7M8J{+K$+6WjUv;27@(TRJYryvIYW7vSzu+!1hY1+u!iX zG694Pz+meFE4A2e(Fh>}aQc}0?8@*co3J5~sDi`(*+!w&_I2<-nq621HTxd?5b{ kPX~boYQ%UjP6A07*qoM6N<$g1xp(o&W#< delta 762 zcmV>DH zFW2|<&$bBh9m$>F&+k1w35P`2k-8&$uUs#cQhR~cQtlxZ>>(a>NlMbR2NqUH*X}`j znPp%0fS0dXmZe=_Ycvjj9H(iPU53>MFl$QUL3$=+8G~&HoQ-84KohgAZ{gU)XEBfg zyrgS<;LU+UpTSokFXvcu*4*`hY{444+5zsmU=gMgfWJYG&+Wp>4#0RBrteb3KnHMO zQ@EObP)&QV4lYca`@j%uxKV{scfj+odJm>Q14y5VsbQaSVAd{wf?N>tWNHXO!hz`m zxJ(npSYCYypow}cHRRY0u!->${-n?!fg0ivtsQ9eNz_EGYXO16gYUct4t2h)aQQ7r zdf=$G@fO^V`XH}$A4D&KiO%gQ30raB2l*VIn=U#aDuLT2ADe~Wis|oonFzN3WY{at zcYs$h?twvDMj0S~>>wRDp}d{N+T72(AmMQNMyLUGrRNUFk}?D?#eiF&mjP%>84G}U zpaQs}BPy<$?Q+0Q-vdI#_LYuooLA=l#DRqYhg$%yfUN*K-Uaz%Q?#IRAiQ6$;c&_# zu}fh5v*{t%9q7W6vC}F_PMHV872Z@gn~Aap5{!#>yU5V2 z13I|*3qM&Vfsh?A+_=O_%{Ln~LdXs{dMHD22+jqDAqVHwf=bF|+n)BnS};koiUECq z6B1qK-{{&^%mI!AytB04L23gSe-D0`x0bxMo0XhCMDbN6aaoJoKPCZV>nJ;J2R1!5 sAW4#^9rc&^WdLP#UByDmmB~QJe}RLebX0XduK)l507*qoM6N<$g4icp6aWAK diff --git a/graphics/pokemon/weezing/galarian/front.png b/graphics/pokemon/weezing/galarian/front.png index c66352bb08d6fb8c20ef66b3a33a509a1c6dbf50..0110c341039872087ab01cb4067db70405460301 100644 GIT binary patch delta 1169 zcmV;C1aABL3GxY$B#}W-e*gz`Nliru=LQE4Itm*iJlOyM1XW2yK~zY`eU(pd+(Z<> z9VN1&oH8~9sKmhzs^~4Qks!Ae%|e?iy9lHnLJ8xI#U(28vlCV7p<2&wPa$IM@o6iP zY}Q{Opgk6PKzrlVL%%{l1MiKU{evL0TJ7w--@JeG-i%?;u$(R5f4E^RxvtG@Jzbft z&P^@XbzBYX?95i@rq)NCYk;rJR#)aU@J6e}5ok2{(t5SRR~j>xw`lMNZ#M6_j^5pB z^5#reLj$cwtHG@bz%9)=V<>ED9nH_(3cxMRy#=6!dpLUPSPWOp2AYWe1<<(XZZZOb zCjMUpntW%4?<`rie@9WI2!9zZI9Y3CRl?Js_=5}=SoMFEEOK}{%S#F>gNROmZ4tmx zejf&vP@wm#fFsf;K>1Cdp~}wzZiSo(^vz>L2 zTs^)5c!VZ&)F$ZB!Kn-Y@{oWr0w^Y6X+0o$jA5CmDaqvpf7&=E012DQ?K1*W*fY!? z0!pgEHQ->FRBoxZf$<3fa#;Zp9<5)M+sA1YxG@A!ik#44FxTCx>oFj&2|%$#1r@OI zi0V+sA_+hnYl(us?A5tE=sOkQFcT`kjJv8MWmp4+Wm8XBj%~tNJJG(BqAg`dbFPT42nfq?VCEpZKyv2jikbm%2_-}#kH?@+KZQe= zUF^+lkekCJz-*__$KbQgBw>D7ECNvs5u`zU_1JRQe|GZAd9Rprf&iIDaU4WoxojhV z`ww3USAZYwpJf)F!unJ$NI?P!BLPP!Qm5OeP-lW{BYvpUoG!vvnsnB<94-2#DkzrwEhyOJ~8b8kb2bs0-Kk+^{51jXKmgX$i3 zY|Fh(KFaQRJiba40)5ZlJ}tNEdzj%@;C6_Q$G_)7s9}F}s#IBB&$=<(JDGg`8^+NO zpYemFD0^jDy7NGaE+UYKUCzJX#`fv3`hFn*e@8GLhX<6)M$>XPWt)Jyo@zkI-3I`N z?;YaKJFlI}0mDZhFjw!K34tg4aKit}37C3mEEB-oAI|t>GI{&<)iuEC ze}~Rkw#WoK{~G15g!to&QQni^5pZ2D9?gUE-H8wxKsZwJQvQnjr=7X%p|Z82yr4`e z9I`AIU)E(Gm5s7mtn%J}zP|xVvp26ZRm?haVci*9&%d_ZhGg} jE@jWSajcb#3jP5&(+Tw)K@g+>0000<2SrXqu0mjf(h?|7 delta 1175 zcmV;I1Zey63Hu3?CfDD0n zQYP1^$m67-wq@}PxP`{F847KkGUO}dGxWV9ElNd`M+iFI``!C@?@@*p%ii*gcgT|C zG+09~SL)rlrR6xbqk)}&oqBg}X??=E2KY+7yE12iH`{HFK(oo0*2^8f(yUqDCgDxq zYTb2geY)M^t=blzCuz2u+$sS)(wcLI%9gg#`obvzJkr`*0NQwlW2CmlaK~(-i|{`H z$z5lY5#YD*_ae~ZJ1cx=$!fTiMS}2G;X;s=MOGF(`I+BOaf6kAzgNj4hbMJi5>P3G zbOUUQ0FL^5Ff5eT8yjrhpw@;HYabpCa6a}HvV2-m@^`lQw z6M$-o21;P#A@!loMG}BM)?x(%*{^DOFtAI&W+s$?8TC|G%Af*rt3fki*$opWI*87t z6dftMA|t>*vgxi|N|vG~0JX9&yS<2jG}N=Q%rIFEz@8a@9Av?;)9qndKtWjcrH9F` zURPqA4UJ&bg9!C;dNiBZ5;#I2H%#S6sn$Qby*bxJR|Et_Ff=oeJs>@^bw||zTtWe% z$f60T(>rkJu#3Ig2ZcF00<3oOYyuwJjAP~n`63WT5JKWdSC1^4ZO6Z!_w%_R2#`q_ zMScjD!!~?>h`-H;ivXwue0<=x-T2H0cH-2tU}_)fpai^d|17oe7S?BaK?Y(#AjUYO z{pNSphe8B1Kq!A6fI<7j{%QJ`JFA1Q0fmnr56GBhiRlZsF$=*@LeisgfSdqlV>)%2 zTLV3`Pt!o1KN`WI{osYis!HP*6L>!p(#J~mas=Lg{~D*}pHj~nu5%Mo?8`{fjYK)b zC#ZHm)@5448MmC96r=1-CX=gJAuw>g?bAYgpti=3z~c}dPyWb+P@}>4RH>qTJ?p`6 zZl&_s@0iCRc*+mryyzE2;miXGhKN8cb~*oH8^@>1s`m>4DE?#;98fKrEz8-I9RjL; zssJH>ckcrnesG83v3@Y?)-vE+p;%` z8=<=FKd016A0CCn&=7L5*yq!;v5?wD1sER2fVFz>ObEQ;2UGrcM!+meW0?Tv{CLKv z)9ITxFRuYs{m~iA7P(;O-=O}b5PyC-&ie9ldjhW8#ig}>zB?5n1qjAUUdrF_{A@Cp zT{O0q7Z+41g(8c>Sde88jg8Yvt+KxHf8wJyef=s`c|DN}g75L-b^Q2McWAstilKp* p+>vhuNY*Z8-*~6274rrR<6k(_3H4P`tMmW>002ovPDHLkV1mPhF{JO{4>}KPNXS+I00DtXL_t(I%jJ^2Zi6rsg*~ua zcGn8TO~weM(7906BT617Lziw{@?4QeOMM2Tj*)R7GwwA%328fY>C`(Q-Q#2X`0^3* zyKrL-PTV9URUDxl#$&P$AheW+oY^s# zF}kK2;?Rz<7+SgzKYs|w)`COXE|uSNR!VM^5mlOq4@;6031)sQ0000y|NSmfOr`n@MQ(G6T4A zw4gCZ=O|GC?eZ?41y|oeKG&d`rg~{zRtBL!pLIVXS&%j{k$)iVhByZbw&v&{m!Xl8 zf=U|nwu|u)rdYioR;6|n(mGk794A9(JwR+Ik2y0#Us|h%DoA28w8hZU$0+Z;p@xSG zPZX>~=>7UtLbfeARNYFtnyZvzCk2PsCn=mjcW=j!GYTttJeV*rT|d7ls1EO+ep4HiiE7(?xpdtmZzI{^}a*~|_P%*NaSV}1fAGgFPhH%~R>W)dQ~ zM_^j#jEDzD7MS^Ms{l+n0TcZfVEkoofpJmY0E4V}Xdq@_#0bs!BJTSRns2)R98V!u Rd%pkx002ovPDHLkV1lCNzHI;i diff --git a/graphics/pokemon/weezing/icon.png b/graphics/pokemon/weezing/icon.png index 5c2421a2a9f8b6c8bed82de43c0fd9bcece3b52a..802a73fbe2dc665d60c07064763937b5f3514e07 100644 GIT binary patch delta 456 zcmV;(0XP2l1CRue7zqRe0001qplF?uE_|+or39-C1vQenoSi0(kQk8aAv*tx?|%ROgt+L^lYNrwlbR^{qt#`4bmu=;|Eo>F`(zH|qB9>98sjdpNxQS<4sdy;Bcp znycC@Oqq59IX~P(17-p6odqAq<*I*J!4b@t3Qpf_v9#t0bug;s-C=3V+JlebDKGup z3GMqdsgs;Lo%cC&Vm^d8ge*ov{}5?5eHtY$zj){vlFn9uMCiZ(84vFHwwyu~(jau_ zlgLiI0|CRG`7NXq@&t_jKQQ#iIWR1YfT1B%VAOsBjFRWTXfXg2=^ub`dIB^|^z|1o y#6TFs}X>gn*kc-Uyg|GZq#z7tWT~)iCb>T zkU5Un0oIrRvYfAfrAWAr_zP&$&$E0g&0ro~=X&&@Kv=Nvlx*XE4WnEIfa9f4(OKbX=ZlDc31>hwfamy}@iT4Q^mVWA zA^DAf1NY7OfkPNQ+yF4`20ByM3Dis+yf8UBq;wY$y}kb{AU*z_fDFJ|K&*#n0pWY~ zEFhBNNkCK{?gEnH^;ifqh= Z0ytDADoGj+(%1k1002ovPDHLkV1k1e%mDxZ diff --git a/graphics/pokemon/whimsicott/anim_front.png b/graphics/pokemon/whimsicott/anim_front.png index 07001cccde79c979dd03f421431da4dd572dc7e1..d2b830524024dacf1a80def9357d76cc28f9e697 100644 GIT binary patch delta 1221 zcmV;$1UmcH35N=h7zqRe0000o zKNURtcz(eI8jS_zhh<1G@t-$t9!YvSKx9O7>QnmyB*XJfcpRzA* zFak+2JJ;8+=_ez(1AbBzGaX>dKROX@_@~8X$x95>M>U>096&!8r4F$Dc~lgLZDE4( zY*fxwz!$)(qW{V9%gb`20%C>oImU=Auw0GHa$XE~0N?0I`4e8Q5W=r+C+&a0eDv(q zEynoGhb<7PEtI2j_T~ctp1z-yi!s}XL;;fWNjZP|o&ev!BNd8i8?gBC9RaHRWw}sW zP=JdZU)43P#sy-BO9L)vW$|oT*PBnc>LUnK5cjq7G$v07SDVe|GtM9%o(7x}Ab(K@ zylMSOR=B|e48mi#R2sdW1~O;Zkm8t%qQ2>9VQre!xP?&;Q3i z-XISCX4(OJ^}=?o&Ykk$^kn{qd+lSJ{FZx{eUK7%)C%nE!fybcXE|Fvp|NJplO$IJ zAO@b^gw5lWjRR3+pI(22+kki5{e;Bw&`ezoh=C*Jz%^C~9YYQxLtvb6TV~h}$o3oo z?2;Ym{t-oKE8xp6!RbhNhz3MJJPe;i%cvEQevz1Rz?+O@m(eMagLxAGz9ZV8a==Rr zv^6e#4kT0#7DEk4nLbP%b~R^mFjaTzKKF~~i26lRPb83NJ2`(|FuzF7ero_7;TJ3F z7y0rpDhI`Rqetl%)yF494rutxXcrD7{i6EwJ0b^kg}&Cp&My!i7t;&^&~vRezgQA| zK$(`@nqS<$-Q?NvwVJ%VN9h-DiC@$!mTCc1C28vy@SFQbJk|P0J1@*Ha2xLb8++iqyP`xp3i+=&s^bnx7_-Ab#-eC@w jM-}x>bMU->Z`6JP$UKber2Aml00000NkvXXu0mjfvV$)K delta 1171 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 YwZj5YI6Z?_0000907*qoM6N<$g1`2;)&Kwi diff --git a/graphics/pokemon/whimsicott/icon.png b/graphics/pokemon/whimsicott/icon.png index c90bb3280a6fc3474bf7fe6f094085aee8e861b5..2731a8989fd5fc771e6990236e85be80fa0181d4 100644 GIT binary patch delta 322 zcmV-I0lof}1G)o{UoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;|3F4Cj|6(*!MSuk%y=X?rC$j=o!2;FEvB6P+oMR$!B~%!jw1+T%O)WgVQkc65++gVM;N1} zgoTk!vM>TBVIFvMQJ8KajI5G{$-9Lx@(>nA9AjZ5V-lu~-O;x&$E6?iTR*-4wGrUK U248d@00000Ne4wvM6N<$fi`+_EfaX+T%cTUcJPj3^>j=&xY=@i5$U#&C_p~}&^bB?#d4F=w zaff=+?rQB^BbWPFEY^qq)eBGnA>fmt(Fl8&4N(DQBMh11-!4Te2U9yyI*uTWt-FL= zgt4<8QJ6%jZ()p<2n!=G$-)ST!aVTH&BBNuQ5bnj7N+C`3nK?%VZ<>OMmnM}{d_z6 j66WyJk4%8y`0)v~5#Ygk6N&f$015yANkvXXu0mjfbe(_4 diff --git a/graphics/pokemon/whirlipede/anim_front.png b/graphics/pokemon/whirlipede/anim_front.png index de69698e2e3a02ea8692d39040a14bdc44d1b883..49945f2d1d247a5d4ea5f606fe3aec6432340676 100644 GIT binary patch delta 1124 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 delta 295 zcmV+?0oeYf1N{P!Uw;7zNklV7P5JmR}BR6TXl8?BzNt=FU*?q8fly;5a z45?Yc(pa)V{GcenI&Hcr)A96&`2)Y}{(8|0-~s5PUABboN~sy^_Yqx?<06+>KwM#a zDU2=+anD*AgsCW~hl*^SDWF40I=K`opu;I7zu$oQaKUa!4S)2~Vt5VBTC##~gQ!Mm zKYD?{zBnN;3p0UQPj)5RkS_wz1Ng5^(MrJfc}OR_=yem2`%x)*(oOL;=XmI~-Ebb| z#hxqBls+V5;sV}7j5gU&K<9OI+QLziT5$6vyY#2864uHib#26$cmGXuYv<7a3Mw<=|2%JCU$CLc%c$ zDTC};RP71vX>gGuo$Tf=oGfS49i$NX57N86I*rv`?YuWLyMHU$UX>vMKQNZ`zWd&r zAJX?j$V2@5@yPsmZQiWdwfeez&2=4XT^^n;)#Pi#(=G4h>kjt#=zvK@#dcTo#8H9{ z<2(X+)wSy@`I1GX;DGl#AtBoqacg>gYWk8@!Xb?w_xup+x#|IErv8;oR|$7g@hbD)0{HlXEFJ3;Zy@0X03NL4TW1{)F^=az=w_ zMIc9L(%-kv?fK*#3TRhl|9UNx_-9ahWZU*&xrnV^_ztT^Eb#GclfC@^4rc7va~C4xmm`oe6n5rQ_p^G(Y7b zrf4_rjVp)=0Im!=!Tn`w4!V%j>6 zJ3Nhj(=<0xoe9dK%*EqFneB_26f_T$tbf)p3=I-HI6@Nc? zNtesKl1MxNx)1;Xvc8c}Iu5_R(IN2wBALd4I#xJIzyq!LAS50H;LJ%^G^L;ny}}L; z1#E*DD?FgFG?!UizuQ_Xe03|`Iz`Qj-taX3nhX?on563^hbW#$I!x<$20000< KMNUMnLSTXts5u}2 delta 1161 zcmV;41a|xT3D^mcUw;H+Nklf4D-JHW(RyR!E;6hv zkN>ltK0^s&qno8eF7EC%d_XljUr>gA^kFL3+1Wr?I-Lo%d#DXC>P! zQXMJ$K3i0_AxhxqXE$bP&wZ|fe`GP~F;DGnq5h2?S@hf_LYWjjxz#*+J4;m5H^VI{; zOuZFsUkZ3C@T&3&D4;ueHY%-NJLFQJOQr>&gq*q&GAPP)@ z0E3V*=V6o~_G?8ggnV^PTYo0W+kY*pqp1YHId9}GvK9+^1V0}= zq4fFU3Kb(lE*LBCvKk7C|18o+>AS@>zQIZ^*!K=&FR(}P-L(-c7E0V98(07ZUS;q3 zRVMgZR}&j$pE33W3{iSYv(POdhRy*9a98~}$OL*wN?XoO$XHiy$%ti&P=9ot9U3xy zY@-tv)PL3QL8FVG+_Jv|yCFvECN%qu_2hMFU{}v}eIJYIGqIjs@^6@li|A`ehft@k z&V)Rh((&;{nxFCrQ?wIzMp^*hPI-TZ+3xWn=a)W>>0#2TS^8qduqkccr%95~8RyYU z+mGSP)LfgGHjm>rPh;PwBl-6i%f0QszJ5yg874v;PKs!=DO5fZ*ekZjI!|o)Dw8 z0^Ijm_P@M8VBqxvORUd7#6$eY_>k6~pRam(JsvGvJ27~WMQPdEGdwT=p=>SnVS@)5 zKz}IX)YeW69vFZ~tyx)nh6e^9Qfn?~AW8AS07U85;!-@2%krvs%-`Ta3J`Y%DIOp| ztO#!70gerVlG(mHcmQK(f*d@615|<>Jiq~@AP)~Pn~w)tu$_ko$Pc*0Ts%O2KmlH~ zJUn<^s;V(;|03^y?8L#NCAU*Ptnt5Ea5@t^e1Om z@&hTv(zDT6!@%GH`2Viv2fzap-4qX6;Qt4PA5Qosn&MbW5D!|e1OA`#Lm>KM^!d%r z&3ii2cu?{8aIK0Tf~3P`UP&Y#09^=x09oHkC>=-N-sq5c0Fg}NP#r6rB;bKoynh!G z4?=L}q$BE5P=sDln@0k+L5vk1&{&$g^k5K#O@0dx{LwNWh`}p9T*U)>4~NKZ-ncJZ zg9kn22O?H39=QJyZk%@iedGfo#M0FT_fPo&+<$*_DYYb0`~ZUHy?MhAYuz9D;lcg? b$MG+}bW#!(-dX|x0000a^;{5 z$dM@Rdx4NeseH=i;s*c;Q%8#6d1#O7?#evF?fP$RgP}WJ!4zK0^J!*wwUQC~jQ@Wv zFz&pUZec=3!L5Nq{{1ot z0#^(HUL4;+wLq6YE*J}ZrLRJqM5TxT>etP7?kfW?&SGFzJE#llFdvFMA$_wBC<~@} z{sADqtBi2TIGB4f57XE!1DkCe2|$0u)$b};Y&VWq%EQala*Gi-U~EIZQXY1zKYkU= zC_JY9Q?UCLBqhEH;P4g;C(pr{klsrLwAsvItdu9l)$V!jOR$|$b}jRi>VuzfDgm+= zv?xFf3NRV~*v!p;v66Mv z!!}!GU}$RVyn}v_t|N@?*$-YqJ2VyD)Xp+6HqrvTM~~gC#Xgo;H^NnM24C_w3N&g9 zpe^w+DgdU%c>)f#bj&C$0ZSfuH$--JD>T_b0!k5DzXnhWinQ$3L~nz5l3&a>XA~Fn z;{Ax*v#>T}8K5YN!upIwk1-BE d{~iB2{sQd0E|we-Yc2o)002ovPDHLkV1lzL0sH^} delta 537 zcmV+!0_Odf1>ppc7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005dNkl!^7z|gem3h$H)CN)2zTz>X@rnp z=mGgs;WUjF`|}O&w0|_k=LQ-UIxB{;|J7zTLPWk1tboWgO;8jD@m%n<@Nx1;Sf_tr z=)?2UvGPHtXju&7PG32;0#i(!V1S^eJ%cnyvllR)-5}D!k+GpT2-qv66Q36AX&(h2 zV-{G2CT>Y*!zKWkd<$oR?3thPLJ(7OiS%&riOc)3@mY{tuyk;d=Tqg0`_va;5VB4& zi5vwME)2R0Qr-d%!x6LiyMk;BU4egB$U}^6d^OA*cS9*iUcbRRj$3RWWS&L1DL{n; z!I8(6F&6`A@D;yGEx_Z43K+tf&-iXA1!HN5jRAn){$V29(O3x93ba-@3MxJuh#=5< z5B?5PJ@HiY5ReO4mpSG=jN}5=gTRVad^X^@vy1Hp{3ehFJ&s?{_PB(BGOK?EUT>vB zF=}WCi1;MP>-c&xNK5Dl+B~jjH?4lM-!6bN>A*XJR)H)5QS%=O>^;FDTo>pH@WS9X z1YI5_8 diff --git a/graphics/pokemon/whiscash/icon.png b/graphics/pokemon/whiscash/icon.png index 09646263acbadca6e865f7fee761703874d97dc9..40888dd02b09ce3ae4227f2f9fa9aac1e9468207 100644 GIT binary patch delta 312 zcmV-80muI90*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>~(a{5<0T z008nyL_t(I%k9#!3c@fD2H?Cw9->nxXD1hDyXfH5*U3=o(hdhgUMSdCa22FxNFjmH zvo%dp3$B7-h73Pmq{Pv=95vXk3F&1QMD4~~7r{vgUg@42l5Jai(kAs{#2m)}; zI?Shl)>RGslrt+`VCutusL7ddJ^i|>jsTs(W*VCUK$3O_roq+>!Dbx;-3(KbRSw+W zv=E3`8}6^FTPB1sp@3-BGFG-Xe*~da?b>pS5PyMUUp!{-AEWc~laTz^yC7T$nt^eG zte6XWfw@LO4lxV{K@QAJPyl1!z(hd-j2HA7j1K}Bz62w`2IdKL{L#~m>w-%F0000< KMNUMnLSTZTT!ShA delta 276 zcmV+v0qg#c1M32iV1M>WL_t(IjqTF03c@fD2H?Cw9-@*iK_-0Fcdk3)5g{ zhhVvgfoX>+**u3P+_aF0SlcFC)pSBiX{mr2-3d{4m+%Y5xn6hW3L$QRTUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;?0<$)ld z0007HNkly^fne5XZS966p+1LDDfaSXbd~Xir*Umyz-ahj;>{bqOXCYj^o* zcms>_Qs(6{yBOPN¥*ZkEmD*qfy@VFo;yJ#0Myr&rK6ah}NXraYEUK#(T074Bxfp<= zD4r`~Gu))X<9`sXG(buKO^pp8YD)wP0&vX(uu_#V0354TxU1`1U<-=@h?SD7iUMLY zjFeVNQNW_vng4?!Hsln{*g)xu1neB_bEsF(EFxGYjio{c*lT?N7Kl7Z`@Z3U-7AkzP&2geS#>3`G%BNzdh{(~M^ z!H7#X{eK-R7?IV3B4rM2N)L{L5wUu36bw`lMh`~8z!tO~oCG7{^k5VWMh`9ogVuvf z!Qj&WEEo)M77WfGH2#K}&N#uS2f-i#6pXO%eI7u;i2EKD!DFr%3dY|1bb#=20nv;W zjM@)9h#y~sm`w;qxP>3-gkXROYDOT=g2BYU9w!Au=xMaTf$v^Fau3 zjR=HT0KDVt3n?GNE5N6`EQ`lQ%odOmiB)qAkY%ZMnQiAV1%Eyppx7J^*n}2hN?2fJ z0e>y0gpc{WP&*4qS%~p*3{WU6aL`pN^E@9P2g|P11`Fr~w8)mv>F61)QhNLT5D0+f zI>!@>?Wly-p7(Yp98i|!^9XQM*5GxBRvKVQ08NDjAZgbKlmy_L2Vg8!&H&IytMIKp zO@SKb4oH=fD}SQN8d8%+N-L!(VBYM^|G^L&vIUcKlqL%J;Cisnp+?UfB3fjPrKrg= zz+USkus{;Pvg;Zi$i9d1aUViFqXB#mbrLQY5Waqai~^dZw&m*|i68+#bC(std^|2a zAnbJ}nV!*r*N7pgX)z^cL!K_+?OwFaXASd_@4m@MYkyryrUlPeQht21mXeqz7j_I< z`NR}3#MXQweEt@xa~ja0locCdSC!z z`=9inuQ1*Iy&f3Bh{)~l^uP*6x@Nb(X9Xj%dO$6Adtuk~pcjmU)q`FzP(c_y7z6`L z(0XtZjDLjFgF!GDJ-84IS`RJ-gWLXR!C-*1U~vAR@#i`v#@h)-*K`V1S4!Mj+0D!K{Bh u2!_yP{v;S8q6-**FoL1)Z~pM##!ofA3F+5ZVhuR}0000~k8UY#H(&b3g9{KyvzGKffRC7d@Jk1%0x)In6y2f1IL-waBC-I{5%| zzlB-&2T{9B2tj7RL2KPQaGgGII~RjOrEvjg2TTKD&<>TY*G=PAna%Y9fCtV8JE4?? z48fIyYy!&yOoOJe0B~;LK;3E&^ayssoMF3({%%edC}a)Pc-4tH6%K3zXu}5p=6>A( ztivY+<^{Mqs(%1aaC`fP9t7zcs2>FV4Nz+UyL1IyiU1H11DQ-2Ad|fhb_`S$3SdXk zn;P*cY#;sjZRG=C;Ag5-{)jdN;+O4W%MPmBqljK-GX9@b3_z^`;r?v`Y;_j_uRKTo Y071H;1_ZukC;$Ke07*qoM6N<$g6CSFQUCw| delta 393 zcmV;40e1f41M>rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Zd6mK~zY` z?bE$(gD?;Wa57Y4#2iCboW6iL2KHQ~j9sGUK_an2s1(0K-?lbj>~kB^ZW;0)b3fnt zgCx&9c7({*>rx86Qr}3EVnsk@KuO12^%M~eDd?U3{Bm?F2DGV4dSi17ntP@=MGY;?a2X!tbrPzI<>dLfolL= z!UJI6*AKuZ0voVjfUl$a1@J^OmKXjz$nJsWpJ4e$ZXM$%z&^WV11@C*h=_q)W(<(c zJ_I`kYKjH0s~BvJ_!M@IVO(2>02uh3Ds?!bi-GuJr`WQK>h~z3d*IKRj{hgM2B6V^ n!Dkb{CcswrE8v+&NRoU5LAs#^LM%i#00000NkvXXu0mjf&;76X diff --git a/graphics/pokemon/whismur/icon.png b/graphics/pokemon/whismur/icon.png index d605398f6f4066685bd43a7378390e160c986b89..74b06276d8f83afb23a0d69740b6622e21dd9739 100644 GIT binary patch delta 257 zcmV+c0sj860@(tPV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4?7M8RLOw= z006v6L_t(I%k9!F62dSL1>oGE$EAwOK0~5|D7M`bVbEj{Ngbu4OIp+2C=7;SUEUf;9xMUDdeM4; zjY#4k(+vS)3-df(TQo*(8rq}|e~8CXUspEWibwOW&#QbcR)4Z`=(V7khLBh+o5|nd zq#%FEKBOSt!1Nl77PNxVf-)E-XagfTR2fX^Ba}YkH+{STZz6eNyPEEE00000NkvXX Hu0mjf44!P` delta 217 zcmV;~04D$00Vxut%9zp{8_cV!UWH)dPR@}-U4y} z9(>q>IU@R?R?qM~26d3>h6pu+o~P>(YQ!=$9(4<)UB5TiaZ;j}t|cS=>+>oWd#9bUjwIvRB)LKxuWFK0PtYBIT#tK@%SV0+#5wwEQ99#xd`iP~E{+mADZz6eN T=QeoV00000NkvXXu0mjfFkE9` diff --git a/graphics/pokemon/wigglytuff/anim_front.png b/graphics/pokemon/wigglytuff/anim_front.png index 232f9c38c9c46a234ab73053e0be88fbdd52cf43..7bf33d701c7e1abe580e3067659e61b5ca30d720 100644 GIT binary patch delta 905 zcmV;419tqk2hInO7zqRe0000&4=5Oe`vt!5c!&$2SkhlRN-Y0+W z=kdO$X@BgPE9^R}tpHvKkAF89T4bwC~qEVQ>pZ@CkOl>knF32-5r zrDg(zX!jj}v$hbt)JyC^9ql~{36r=$)2!L>F0fGqfRnglJG0pjb`2DuL(oP4 z?|)(z_W1j0 zEFVb8N+RTk1h9mt5(wZz+T;^~Ou_! zI!%aW`Up#FbT{WT*~ z|NHiJs{ZBel)V^LZU&tqrjU*h0a6&`#qK4MXzi9jKfU0zxZ`q~zaKjHslHYTPW zqc99bBL~R_n*RUiu4KvJV2DMT-G?rk>9oz{9wgZoTpo|#762FZAzUNC^CAI;iv$?( z8i4`V2wVaah%OK!A`(%ufA^LZVE1DU6aX3k5^a-VX$lfY1dLpR6u|_b9MxA-qF`~H z0+kfx@{}q72yqO5(xu_JNf={JA%W?s)SEw${8;}1U_}rV0Hl=U>p3Cp>x}@`fW(ai zp+LDj#__X0uLKa%5}-dSf5sTQyM*;M0COpJc@FI9wOz63qq4ZLXO=tl1WMq93yA;x zum#@$k#|haHeXWZ2^`lhdfsV~5JV10ypD0RB|igVnC3};`j*>9dG9Ab0f_ZqVM@f*UY1U^YOU~G9DV?=dTwIilgp7yU|cT23(#d8 zb#T;8bP@Cvr!ZOX z-1;MeU%yZA-PjibGys4z^2j&yRH+lV@9iwN2Ll#=0cyyDn!5oQ?a-_O6uBQj&9Orr zXy*uZ%L~)Jh>W@-M@d=spGRobLF$al7~1y-VEgeJ$d4@8!|j?g#qopSt&)_yzZF zr5E?^H5*$%aqo1J0CX5$fOaqa93a}b=*w#WHzDsks0tC=8r{~pZb5eMifc#1zL>Yk z0x;`;RQcX6LA+VHR&n2ycz;v2e6zUNq@EfR)r+j+00A*d1}7I|G$c1 z)3en%$|VKu-}3&TDxx!HF95sit{cQvd(}07*qo IM6N<$f*(YqYybcN diff --git a/graphics/pokemon/wigglytuff/back.png b/graphics/pokemon/wigglytuff/back.png index 2d5ac12a708a049fa013815614d2e2a2488ef763..7666a5fe34883f8ec7523ec95f8740e4fafb792f 100644 GIT binary patch delta 502 zcmVYUY5;5x<&;b+%pY#hMBYNblO0fFw}^?M%>1phtu zzWkdfpU(pixd(X3^XIvIl(~Vn)i=$?0Q+061tvNH_%s%FYfD5mf50hL0)Rb`ZF(XE zKoCj*5DV=#%hneSq%}+Nqy!jZtn1CP?a2U$9P5|_7*;_K0BDJl0QqJ^C-lH>E1h)~ zc#0$8l>jC2gk7vifZO5?5GJk6imL>ewIE|fggh~6 z=mvO60@i|R51A04e?yRfwV)+FT9b!{1o-U;g&YB=6uk*>#gRY|rOLU=Bi3}OhFc)6 zy?~Blv?rn&0@Y-bRH=Rb>wU6;FaVN?LMRu-=7(+SR+Ql|3Ln77z$ia1BZ4t7G7+%} zP{`@e0&&=|iv=cmtYqt~({u{ZaH=_g_R;{Y1K=nNOH7-EY(wFuohg7D;Ia8)?*PU^ zNZ+F?mKs>x0eC;rqZ_cDE}cMS$F)dY!0lR=vkp`p(|Gg&gWs&HPlG@C@i)Nv@Dm{Q s0HF_9;GY2bVcw$`IOoMIaLzUG4bz9%9#X;Nng9R*07*qoM6N<$f_8o3r~m)} delta 511 zcmV2DrAn+Fz|2YAV{=Q%x0-9Xo=oAyZq`&+Jqvgr-rQ%Bfs3=!4vC8Ih$jw#I4DLRk4aWr;<$1jz-_?N?KVQN z0V_mUPJmqO{wxp$ZFw=kM8`^u&LmBy0Bue+2hh3HK<5BBipF9+=EmXBchdU5(b0z`Cz5&yR*dEH1xh4Pr002ovPDHLkV1ga= B+GGF# diff --git a/graphics/pokemon/wigglytuff/icon.png b/graphics/pokemon/wigglytuff/icon.png index c7644c6163696712f4f7f1c32666626af884fda2..427f6518cd4b94fe539663458911218f88999cc1 100644 GIT binary patch delta 289 zcmV++0p9-70{8-uV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4?7(8?YPMR z007%bL_t(I%hi&x3c@fDhVul?JH*XF!GKFZAFl7>aDo}!Jcxr!p>JWg1lnM?7Fwwl za?PZJqBnlr{RclEV_zHYW3Y_)2zVU;_@1#^24FRMZnhz$aer9x!#RM?mAbW>ys-d{ zBhMQHdt(S_u|%xMMUIGuL?jBc90_oUX^Ids>Oy6g69t>%s3t&4g%(1{O-hLd!U~_s zm74$|#DbnQS0UzPf$@F-nzq^t(9@>7Dr(+B1d@{d!@OY7Ll|n%APhBV6owk~E5htz nVb*U8Gx#wP<{IgT|Ck?lKC{I&*Ev*%00000NkvXXu0mjf_^f)0 delta 250 zcmVaDo}!Jcxr! zp>JWg1lnS^6k4eja>=A1qBnlr{dXK6V_z%Y#9$fm3GmhfXa>ew>48z$aJ}^*&SK3E zXAgQ?sm>^}#sD}=mOBl5tqJI`LafO|fry$!Bq` zXcUGTGzmiu`W0bzu`uhmg&F+_gn9Zw|Mpow?mn}{HGq=5%K!iX07*qoM6N<$f+b&X AqyPW_ diff --git a/graphics/pokemon/wimpod/back.png b/graphics/pokemon/wimpod/back.png index 8a5a437dc5550356afdb3759015cce9adf2306e6..8e9587c1a2717029562c604459a2c88b3f6f77a2 100644 GIT binary patch delta 457 zcmV;)0XF`+1h52_#2u z9)Ah%;%14(v${Qw0q$H%u0Ni_zm{SprFcArl3LCRNNECaSE2Y!f5K5fNpU!C;&vdq z5pdVaYGjwOh;d+s4`oUz&YXB{U7k|HbxIkwCcv~0hNpE-d<^t6rG#kWY)B7c<7N#b zhl=!!nZorsk=6x0R8^UE#KzoU-+QVXN_UlLGFQNtc@Bf%jq7wL^bYur%tI8)Z?PN# zv^660jJz8i9xWzNe`=0^4o#qjlDsD@E?yZOk4v0yIY>zR(HVEeGU@bvK z)Az_v=;z802SKQSL6Uqbt4?W6)qqLXliz!jfA;vcZYv#Sum-6^h*Tv z`!Vy)K(y}qlkAI=L5t`5^f(5PIa9>W^{i@IH#!dc`3jm<*FVrPN!2bovR{cd7uYzufUUFnqnTL&!Luir#@s4#6 zSVo}j(?882P^va8rwIU5k6;R5^5ahdGQ{Z`5LkEpr!4CSSNl`N)d<)c00000NkvXX Hu0mjf029lh diff --git a/graphics/pokemon/wimpod/front.png b/graphics/pokemon/wimpod/front.png index 39b3d2c03cf80442c5006d2a7952996a9c6892ea..2fde9f4dc869734d4eafcf01df72fd92db469fc2 100644 GIT binary patch delta 412 zcmV;N0b~A;1cL;SB#}W-e*gz`Nliru=LQE4J0>vUVS4}o0cJ@=K~zY`?Ub=@!Y~kq zZAI*jyL64s0GkyDsqF?iB*fOLk$8fXH-NP?jgAo^K|Hq-5`D>@fvIs|=vMJd&T?Pw zemlRz*i~2kUHs+(AT9trVmv(CAmTzbmqRWiA$2nl3kmW}0~SkCf4#xURF-8gRF7&N zxpKR2W%=vuBYT!Itr@4DqBq&j%Pm$3q`yaS8p;*DKF6|JCPw=v2!&-nM=Yntb2N&z z#62SBv?|XTkcB7tFr(@w$4wmwq;9>bnFFvy^a7KZJUU?M1;7Dh&jGmyU`Y>?6psW> zeZY`_0*mtC!UF`uf6;rtfC0J|YtI)c5q>> z?QX0MJ#h+PN5J>vzPk!T>4{SSW5C6Z0O8`~13&_d_g{Snw0-9=a0PHr*-lvla8x}_ zhZ!fJ4PbO*)`4V9<86uLt!XUNjMylB_C^OxU;m5$T|ZV?5^rEv`U`Qi5J()?o z^iuGL&E@|x^Y1V#Zo26YB=4>O>Ixt|A>GCTo>YFl?Mm$_9n=G%(x4j(h)|QN1QlA^`^T;vBNTkXB$O6-lGFo880$>4(XMv0X zMBKwT!4rWq4j2-UV_qCnFn}{0ee`n}pe?ZxOoaym1_%}~8)hYcMg!HxHQIex5l{4IytZ>;OF_!UAwMk*2#e};BrrZvg^bFpaI5*@4f}v+#Ckh0Q=SL zMAQH$Rk!Kb;|#O`BK}3#T?bMW30|S{^nFxoQ;#t68(y0wM6-X>zn2idR#|UgD!mU+ Q00000NkvXXu0mh|f_p!}ZvX%Q diff --git a/graphics/pokemon/wimpod/icon.png b/graphics/pokemon/wimpod/icon.png index 77a80488950d84026f27f577af4daf02cff39a61..6fa8d9b2c9883e53b3b90625fd57f1e54f6fea75 100644 GIT binary patch delta 305 zcmV-10nYy70*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4?8PPP#wkq z008SrL_t(I%k7dejsqbKMY(~Mv@3x^8;Kk*MWne?rb%H5u9Bfify6+S!qRwIB}^b~ zw%c|0;oJJMpAdhbfO`dmsnJ=HYaNSPZ25;&`*O-Nv!I#WvwuZpZ#;)DSLfs?(dveYtsaSYse!ura=pQ9v89i3&uBT~q+(B>wBO>Q~4K z(6u|>Byn85UxLsbr2|!nJU*Lg$0W-yrO``qFc1tz40Q_FZ1#ZIz^R}G0!4R00000NkvXXu0mjf DJa>iT delta 267 zcmV+m0rdWe1L6XZV1MmNL_t(IjqQ@LZUZ3+C3#{bbHq{z~HnUufcW^7|?Yu;H53Eh_>mtT(B(<^h6a8 zTJ=3n@lXlcH9qd6JDr_1&A}88!{FvMNoB!fqE{5~SapxKgm1j4{L8$20y;&NlOhdW R;s5{u07*qoLWT6;`px($M1)F24K z$N~)@B^ek$gGfw37Egr)NPg!gLI?!s+*}9|o|7OG&Z+Z-lh0}MPat2_Vg_P}y@Enq z((h<8o$!iCU4rq|#mvol1@>Vaj0O^YM1qes}o<7t5?^SDuXT%(z7uN`=CbUMkzyxiYkPts6s$< zr%c5V)CfW^X?)|{2Z-wHJY0}ps&i_ks(9){*w1D0VSg%iH25`@bJx)b@@ykT!)()G z(lGqAZC6NZtv!D8jEp*70MbxX>OF`h1;0wbFm)Tt+XIGS z7r}OW4}TaHha7zNj_GgL{R%LGIAcO+Ys{ts3<%I>+{;;0RDco1sT$H&oHN6H4;XlQ zQ{f@UTCbrbjCWnVU;$I_Zc6|`OG}T%$K9@=2esuIdBJ^(-R*O$ZTAld|9eqm?BArl zI>=$|0~B9o($dq}SQ&9E4#)JTLFAY(O*^w4Mj5UBFZ&J2NtY_kjk2@=00001gh5XbjcN`c&D?<`~?3VXd05rpDAC*=0- zh6qtbLdgR}_;>)2uf=kc8Y=S$>5|qJp}meL$rG5_J3tYho2!sg+(?!z&rdV^F+20O zQoTJSGlw0(H0}T#7#Yw2Qj&=YbC8laAWP1K1W5j(I2A%56n{mr5JI>U0&-!Ux?C3W zI&Jw8^f3^=rIm)^_YvGROkV~;RsK7;0Rz!0Agm@6puC#N04C3yVd5~)z=waEM~la`{b(n zK>()DZ#n;9Wq+zKM+q$e4I5!#LR)<&_mBt5cCj)x1{k^QM`w^z0Tc|{8F9MQ>u%nJ%s(_iw`ql zowSp%rE;1iM9963h>qT-T`B`~_Z>iQz4i70EHJXv34bDxnwnDYKx}I2ph%6_)XqPY zWdzs?1W=ac1hKW}1c`5nt{sR7pjm{iIU;lfXaZUU#xM(f({gD|D9M=++8T3J3k-0#onqyZ}K74#FNPzn+d3}x!e{a40 aH~R(2NtY^ZTI=or0000ovl`Rg5agFx@T}^cQ3if&Wh;O1fW2>shT=>faPVt5CE3amDZ9q0agTz!LQfgo1yVu{P>>5A~xV0aSwnAP{wcfEMfkA^;Q!;9AuN z$j%5L@x%kM13Ycr7GQ|;C^w1+V&;Lh2Rz7e5^V^WfR!FlPSC+gS$fD0_?j-L2`i}y z+NMpd5f}4#1@MA%z#+u?@elc_;zUljL}bX|5UJ0qkfh=zhao z7GD74A^=5Hzt8-;9*}CI+p2U~)Zb&!O8P`xFVRO<6=?PE%mU!_cvh`5nIz}<43>{C y)jChd_cs6!^7(Vmh-unR2A1)s_rtI8AIA^I-=*|Mzw7J(0000NRbT43A=xtpqA+`WY8{mLYdZ2$a80>u)KmgVe4YL9|9;mjI`O6uomr>1V4!9nW zN1z_P4UiB*j79*Apj+H*E2M#38zRxVJY$Fk(5MvvYWt!F*Z`a%u2HJ6u}}a>=QOPy zX&-O{4?8w3R&gHy z007uYL_t(I%k7e}4Z<)GMQ;O3q@YBI0iyUf6cL#MF$e>&fTavYlY%WWKrXS6s5p)& zcAS!m0`^n0n<_JN@i+)91H15~qi!MzYeHY?FF4KQLBY_t< zkSXgF2kq@4&PyDiVJQxkciM5(q@YBI0iyUd6cL#MWe^5n0ZSQ* zCIwq$fH<)tQE^)2ClHIm(zQW-beHk!|`V2u-tk@A!kyjlWFa$jA+>%iqcrW zQQitbXTgLY*Z|0*zv2uUI~x^p=(Ko8>3QkI22HS;YR#jV!*&OquksW&!Fbp%Uu0?B z7gRnByV5^+2e9nx+0_ZBNIFR$n0f+E2U&rAEmbGScIJ diff --git a/graphics/pokemon/wishiwashi/back.png b/graphics/pokemon/wishiwashi/back.png index 5eb1f87b13c61d5037f93f2e3e5e19dcaf322112..fff05a337b6627351748b5853dfd2d5a16be6ff3 100644 GIT binary patch delta 446 zcmV;v0YUz*1f>L!B#}W-e*gz`Nliru=LQE4J3CY74Wa-50fT|#jQ|I+AByY@q!BCAh`#yDXCMJ47c49C^w1VKmV2^9H@K0K>3hd_s6YFK;bCJ@?6+k|zr=2#gPt`sC{E+0rA`=_X@y zpG;rg4-1&;J_B8Jr=JIaTQ|V526%UN2y6>%0hP`^c0C}3_6m4jM;BPh>1#U&MvUp( z)P{KjJ@6G?ojy)-e_#xWq*WW3IMkO)DJfKncYAR4o5{e$d53Y?QxXfH3Sg;;6XJVK z9hW#oScrSID7qh+68=)hu{MQB0r=T8G@)2xUPrRfQPU0tw(w_g)iDT%gR86l#B}k#dleMG*fy4!S0+m%I(;RGEoA? our|1c8yo3Ff4!-GB9;C^-#rtsW%^Wsf&c&j07*qoM6N<$f=zqJlK=n! delta 453 zcmV;$0XqJr1g->-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f$LMK~zY` z?UBDq!$2Iz(;>S@i(8?bv{#T);sq7NL2?gZQ&Oic8E(5JP;L^z$ro_YzJPrI2k|Ky zXgl3Y2;vxjcS&PI&&|OhUvB$;zQ6nZacb52?`j}~=n2N1-+Z41l(99Bu^ni#z-LSo z0@-}mH-11*`H~&j0OlEgpI(X5|b03o!DH50iTI;^ooO zBh%?N=Sz>ypI-M1nCcz}o%QGMdw| z7QlpaeVfL(XkY-oBAes;SpiHT5qBCR6Nmb#QYw`yA=^E;`pUS1%}-@QCQfK v6K1jkOkr(s4L33%(uv_m1*lc)Z{#@NJrl5H5lyB{00000NkvXXu0mjfLuAiF diff --git a/graphics/pokemon/wishiwashi/front.png b/graphics/pokemon/wishiwashi/front.png index 69c224a3d1a1f5e1dd0dd7f7c0ae3cb94dd59f4c..79578a35ed450d096c1459fd4a8af22446c6c5eb 100644 GIT binary patch delta 92 zcmdnWyoPy#%0$Ni6$bVaPhVH|=WOf(3@qn7wO=tXF!Fo4IEHu}Pfn0vU7R2yz%X&) wD=kI~VIJ)hpMLl={%}Z{OuogJPbhK>FVdQ&MBb@00@X2@c;k- delta 99 zcmZ3(yp?%^iWFmUkh>GZx^prw85kH?(j9#r85lP9bN@+Xov0Wrz{uz6;uzv_JXwNu zae{~d)5ICCv@DXOQO{5C93V_*Yi| z0075HL_t(I%k7fC4uUWchx-PNb~Mqzs0jp*jid~P*#&0b&C!v#G59VLCkKua=Mx9} z$6Xh_tzX;Ruf314UoGw~2pJpE?oqub4hHZMin1DVb6|utt$$Pyq6If4l9he|4sca% zgQm*_MAyVl|79nG2%Qi*3WKv3QAe~vj}UM0?IFbe^>ulkpY9BT?lmDLFGMfZ5SB4{8=DizYeFzuc^y$!RUl_vA3iAN;tx8xT TF6&+Z0000A>0V1LU=L_t(IjqQ@X4uUWgh5H7Lb~Mqzs0jow8%Z4svkT0=8>1s( zWAI%hP7ahd&Q}=h&*Y+$-mPEToYS5|$gd7{7bpqQ((Yk(LJ9^@4S7+H2XjC}nwBC6 zr3H7vl8t%+3UCu$BaO-gSl`5s{<`NuWHkvpM^kE3n#sjnWw@>}gr-#m; z?gW943MJZpAf$P9WCl#>iz44M+bG~|0t;mdp@ElK7gGl$Jevw;u8e26E(h1dwhmWb i`dAOjFAU1>7Ul``tx8ydT;MSP0000G diff --git a/graphics/pokemon/wishiwashi/school/back.png b/graphics/pokemon/wishiwashi/school/back.png index c390fb6e1f940d7de88da0070c4ec2c05791f101..e59d22ea4144e61a85c5bbc0d1104f1b1f29452d 100644 GIT binary patch delta 829 zcmV-D1H$~q2e=22B#}W-D*y*{Nliru=LQE501hsk!t?+D0~<+1K~zY`)s(+$+dve@ z?Lm}ox3i?avK@zJZ66r@ zxX*pR-}fvjmHHp+$?hYIYkvdQ9tRkE2yp0Lnz6#}Td%MTr1LMI!@=@k(elIX`|FIA zD?50y<>PLrU@xv)VXj=!x)$!Pd-o))52bv`+{E4K&|8#$ux=_IxYJGCZG~R$0YKlR z-Hw-I4(GETo|OO zTSLO{YrqBI=$bqxX9~!oS0q5X!qlC(*~Az{rHA9R^(2@`>SmLf$sxB@)5G)=32}5g zO^W-Y6AjEfDCw<{$OWH$d&xrppr_%r-$eCg4@|0mfnpHLIx`-bIY4yuFjfO8Puk|O z>dgbLpqP9$mR}6;l+Am92~LSahF1>)Iwt3B$Y6jTOZw=_hyczxgz%Suu9Oli;IW1} zIpJ;Nz@{EC0zxPvdOmL@080b_$g(T~PK&ctpdAcx2yBf;XH(Se@u8^G~#2vi(NRi@g(L!rfZE@PlTHngFEv5J3S=}7Far$k@cRniLQ84@EabFP z1Qf@YW19f&p(4?n{jHgZfSp|eG;vxzoB^yc;K?`qpRYg6EZ8d4{LL@`0000aE?|YV%`7i6q?jwt9e*@MY2N-(@u;^ZvvEuGqx3~;s3ooC;!Ej;G z@Ph68>x@;ZJ9x6?;clyF-d#6>e5I;%4cy&u?@1UR%7wDNiMz9bdso7LxURb3PB(G4 z5xDsW0CkggTW+3NoX>lBRz`qyX}1@+#a653rbr_ofKdq8jhC(W=TlzN6JZLl%@kh$ zzJ56x{Wu5|VQ|V|hw1tH#rbG7J{=$Is1Ozjgu-<#CUS>PR$IA83Cbv8xrthaxtAwC&6qyPFqlgN3|>J zsdRb?>qBJgNO%JU*Z>?|k;n8@0$FlP1Vpybbt|qnF-A$M;aD9t2`19I-eh`m$Zgft zFuhbl9No;4;{Ld=fVl@Hz0neR|FdT7%c@D{(X z@GUeV1%O2~>l6XW@#WYiKzYbm^ydG2E+$}SmjFea)DGtWYYut(4gbe0llcS8EZ8b1 Ta&E!^00008NkvXXu0mjfp(T8W diff --git a/graphics/pokemon/wishiwashi/school/front.png b/graphics/pokemon/wishiwashi/school/front.png index 8885af1428c1e0e939eed93515c0179dad765b47..62bbb5b213b069c2f3e0e98660df1f62f279a761 100644 GIT binary patch delta 927 zcmV;Q17Q4<2!aTZB#}W-e*gz`Nliru=LQE50257`t}Orn17%4>K~zY`&6K}u+dve@ zr9qT9i|<52<(5d}13WiR7cPHCQYn-k0NytL?@%Me-yC0hNPeae%e*w_>JBa&>Pp1Q< z@_gE8mXu+dLhcnTgEg%Lu$KX9(`qQw>407)QvuzyS11_+d-9nX*N`v63JFJ@iX?D& zn5v-;EA4Q1_+cgzPkuPAp{%b4VG0lm8O~ER=&R)vAXD(M0@g4QNEKn%!CpxKooMe7 z$W+q+nnag`i1)&-eee;A3t?9I_CK#5b^i_YV# zPnd&rI#teldo!}3v!zokk8|H652Jp3{W07nyeAaUMOOmHBEym0CXb?v_{>2QMb3o; zmw?Wx0P>q5I{0wi05nk&0=(PeH90j{qecA9cky-9{{~QK*GWqPhHMFC*Z|wN!>{p8 z@vMQsVwbc!e+VQiRCW-NF#baF;;j&xq}8ha1#E^PlW!K5;c#V8u7o6Prlv~)P2Nic z^a@l!+%kN;Fh!}RHKPMX=u7KM_S}+<5_nU~w|3fHOm85ODA0=K;|&3|O(%~T+FdbC zhT|kA_n}CkSSQT`Cvur@7l_$S@5*{aI{Ty(9pDlWe}G3wE7_T9(Yn9b;B>IHz12jZ zh0C_eTgo1<%Ac1nw((*=2R*64$gxe7_KDhA?tqDFn*~vHz?f(Hm32jA6kxC<1aOML zIu@SQ#+!Epu%^i1nG9Q}jWh0ZWJX zpyqB2esv5VYUm*C7J*L002ovPDHLkV1ijl BwZ8xW delta 942 zcmV;f15x~f2$KkqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um18hk|K~zY` zy_LUD+dve@?ZK)DOYU0dSG)M3)I%pC`UgCOjl#yWhKWF` z2)hpUN&@Ia`-niMng-A$x+Fy07do2om^r@5pgn*9fC6JAs~19l(GEn$0<$$O2Nr-2 zU>6n(GLfot1f1(RIgD`-mg!Nri=UqM$xGZe|So{d=_rKx`-wNx+Xoh1X0<%|# zs{kcVZ7({FFTP-Z4$|#bIUnrK$cE0A`dA+4zDFKM!}#)Z*dcr%6wpOa0!Jdlq1`4= zqOR6v|Ed^|8ksirlfeMRU?>r3|Bl8q90Qp>k?+C5BfAdx80isj=8 z0kushj~UuMF-?Z!BqsNuNTFCK&3z|wnQs?}*-I@atsar?9_dE=xC8{?5zF^%a+>MchCQ{^>dkZkp)#}KFY;|CNq=^8V`NRcoKC1DK4E4V)F#mge9Q3F&P*rm&yB2W zX$>=-;a|Y;vJII*FHaaZ&|t$dlm%y!04kJ|0mqmCI7ZEw_TO@^p=o~s@{M7(=EB3J Q0000907*qoM6N<$fO{5C9a@{yUBU009t5L_t(Y z$L*BCZp0uAL?g<@maLio|Jt<)s{m#b^;WfYZkfqo40*@#CyNg<<<>zdc5g7563CP= z8HkMm${Sq)Re!Q4uLioo%PlBwAz`ByWZlLMDWUboT*y~mijldI_Cmf!$PiUT?$yGj0Kadn*q{jQ0 zB*az=`x*FPJfE?o%{Pa!w-}tpm&B^aQMCEI&r#fyI%DNH*?gJ)>(>M1xaY?fFatj_ zK)%b5*|6h>J@8`%Oyb7~m_0wP-{6PxgHQaJ0TSTo_2$P62wv6t%K(Y&P9SapG7#tk gKxP7cxX;|nFXE0O0dsqo%K!iX07*qoM6N<$f`Y!Mi~s-t delta 542 zcmV+(0^$9=1H=T77=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00CP`L_t(|oYj-PYQr!P$NdJPd#Q)MK{92@^PM5c zLlz$x=~+UTWNDuvbg{skHA)bCl`TtgGIlAw#kxOtx)1$a6n|>s*?0C)aIa6o4Whs~ zA_`*2g4EMzOo>7nf6ewT2!Uu+X}KSknvPn;z9fo*>pC!q>V-y{bDRNCA>_njE-NYk z+=Y;GKM+G z4-AKT$!U=WZAEuZIgF^o*^PDD22Z1hnV;79U+wq6pF8}}l07*qoM6N<$f^+HDlK=n! diff --git a/graphics/pokemon/wobbuffet/anim_front.png b/graphics/pokemon/wobbuffet/anim_front.png index e5ca905e05af629ef9b63d683ae8046d60218769..fd3fb1fb3924775aef016c55e2d5dce369f5b4ea 100644 GIT binary patch delta 1024 zcmV+b1poWE2+;_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_=mtxrcY z000BDNkly;2)75Xa9huAo9jx!OK7PS24CII(jtz|h~B8!NfReZj4af!^fL7?sbL%(!8c^s= z#@bobQvbb{V`&zu$v+Vwq!$<~1mpxEvA%`@gk4@DCf5Oz0|tgAlqW6_>s<(`ikYl^ zfL;T`TwKi641XvG7!B6?06!}Tn4_sV1*w=$qG!)AHpy#XJ|C}u1CYxQD?luP-myJp z3Q+*OpU;$XfkOZ%gn(jpeRK2q6SP48cm-gH9E!^uv`Gu}51?%%69VKl0klG{6#AV2 zIt0LF3lwFf4v*acHUttW{$#0Ay0t*A)te4#0RV-%EcI98-wzo95?ZXB%-F zA)X@ecz@?9mA2^u4gK8{8<`}giV#(L0vJHC#MduTFJ%L_*4=){Q{x>gFVJs~G6hy` z1vuo1@4RE4TOjv03{`1>{T}Y9iY2tP3Iee$jSB2?Woi=rw|~I;X_^kVNg)~#GK{b@ zBMxMMU>{DcdhipygUrYiB78l`PFlZ&4SCTjseh%3O@*R?qIQ992oB1`CrQPjdows_ zx(qg`NFL z#rRMIPd{#*c}B8vsV^}5De8}fQw~M9)p^c-#>*&P+&7E0&Q*?v$;%jr`<;qH>VOAk z|7wk?clHxtHH-?(%~oHqDl|Ap1GY^+^wL(SjVmv()E6R8s^J#-!0?x3o4yF?2dytq uK2#z75ZnL9LH%I$MOZ(?%kuw?`r#MU6e;#1}S@s_Z zek7llM~EDb5Ho;s;hOOjDgnR%GhPCyMG8LP#YyHldL;sKJRI4Y@?3yYY9>%ft5x;tr3#@JuDzydxeP) zzeu(Os1F2Che~VA2L((CfY%>{A`dD3`t+kcz{NW$B`@0&=3jS3~4eCZ#)9Rkee1xYx$|NEc&L%^$~SN~0a_x0Zh zup$IXV7Gn${d2So<}0ub0-vK*c$J$S2Iiv<+0u&GXhL+H&$$IOpQr9iHY@mPxYtq0 zs<7FWPJaTqKgt4l`zRownlBOn6O{w1^o5~aI>q}weWO}Fr`CEBU~X&l#45+o>&NrI zPk=hYrO6 zbr%A02?5&H$E*?%zZn9Ib5JY%sZw7MLL2{LZGX@*2K=m8bry&wN>0PyXy^@zR0ziIPXI&;2+f0l#FyN7*0>)k2G({H zJP@6P^`I{=I=d0eCy6{h-dz!aTe)1s0_z3=xVn(k;qa*Nu?l?|IpQlN(a~98_vZ*y zI)Af(?O*^Ld(Bv(#1~T5ZnIii1iSD1Pl1N=B3p{utX7%p^w<5}*H3{6xG+=Itj7ZV zm$w5zC6pbzTB?=+*7pw&<7n>80h*~gZ@E|);O^V744h|V8wY=Z>Nn^=cENUNdRyJ> z=c38j?zZ3U-CXmb^%WQn_m7F;?Rtob*{{N$Y_yPY~ Vhtz8$yQTmD002ovPDHLkV1grO)=vNc diff --git a/graphics/pokemon/wobbuffet/back.png b/graphics/pokemon/wobbuffet/back.png index 796ad48be32a697826bbae35c8dfab348622e93f..772240c15e3e0e3dfd2c3e4e79a63ccb1ef4fac8 100644 GIT binary patch delta 341 zcmV-b0jmDV1HA)~B#}W-e*gz`Nliru=LQE503I_d(vScE0U$|4K~zY`?UX%k!!Qhm z0}bBE8k!>p@ZLHXNOBRY1Mh!?Sh8zVKa_@!Edc`t-iOC0QugKY2aAZV4cX8<&tE!1 zw>j366g{dBSc`NWwjxdc+yN+Zn2)nTD9nL99~`x02Ah6A0b4bAf1Cg=HG>h99&R@{ z92j6KJKV>^VPYpknAdI~GO!F`@*}Jny$s>A8H6552>(it7!Bkk{Fv#Ri8y5;0y6TU z52X$kt!)Ame7Au$BwjnfIfxX%a$Q}(B!H_d-1Puo?Vtdz1`Jh$I^a5hG)QjD&x)Kx zOMpEnzz`JXbf73dOW=W1Ijk%D_>zra53u3M0XfeIPy>kbT8f{LcA?Y|J)p2KF6+Uq nl;Pbj4IuX522i*7uiw-gl}=&sGp55=00000NkvXXu0mjfjX{kK delta 351 zcmV-l0igc91IYuBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0U}96K~zY` z?UPN8gD?z*Q5N0XgR*Ws68jl?fwmVRUHJY-C<#$;eyO@`pM->XpPpX~44)_>I(KYE z^F05z5&E6IZq)F-dxcfh_F)sX{J#J|(L??01Dr4iLO+OFvVhIM?0~KYTz3GMTEGa6 z872h81O}MO370V@Ol)L-33U$vq65nkTLp21wWF0KY_5=i$@16-qWLIW^0K(rJAb-)|| zG9dY4!Xs@YS^{jL0i2w}Eb~#kEJtu^ud>tLSgF8Sy;;Z*H3{RC#Vep&k8EOCk002ovPDHLkV1lp0kZ}M2 diff --git a/graphics/pokemon/wobbuffet/icon.png b/graphics/pokemon/wobbuffet/icon.png index 4a2c88dc7ddb43aaeb7f64bc087b28e9a5d41057..b55ab8e4a2aea923ef1059847e02d5c47fb5654d 100644 GIT binary patch delta 275 zcmV+u0qp+50_p;gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5C9`8rR=gzNVTj-loj|IRj6_0lgDQc^(6JTX ze6kbUIw39=lIWbTwm*^8S_^>{j2ZNb0bhXJF{YmNtj-RWgMVdk_5~dSFt{ET1||S# z*&rL3T0Y04gDD0I2S5!ZZ~j;fXJw?j?>!MGrISBiNk}oWT(*c9`7cP+83sh2X;H-y zqbaW%#5LnTI@F~ORbA-NR8^rvlR^06$1;EXU;uTO{n%?LZo;HzV18&w$qVL(p`ZHk Z20q-({P9MCB@6%n002ovPDHLkV1ju!a4!G= delta 234 zcmVT22V1La?L_t(Ijn$Gd4udcZMRSAPq`eg*$3SK&D_-C_86vntryx}! zVNmn4@Bu&FV>W;3um; z&@%v&Rp1#g0MN2Uc3@h*$Eybu9Jvf|0FsY2pN2~}O8Y!B0b@-!#5GTeNFlIVwul(` zFG$pn42ZOoXU86M#{x(v?)m^#A|> diff --git a/graphics/pokemon/woobat/anim_front.png b/graphics/pokemon/woobat/anim_front.png index 675498484cb80377581c296987f16b3995ec70d0..0671213497c048e062c0cc9ca637c2a3f4032156 100644 GIT binary patch delta 734 zcmV<40wMj32C)W^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_=#{Ev5wk65Qf*W+ymkPV14P0hxl+VR|Nb3NEQxhgIM4N(51FGZEB=Q z5Gl=7fs*QyGA(a$JXf!K#}|Hs zQfj47c=eo5GfSG8gz#-seIKfiuIHUwYUrC(1&m4D!}F|yz~}?BlE5I-K?Q<<4M%Yx zDbZ**WWX31!6RGACe53339VhzFhGehLx0XD2CnS(G0>0N)l?VDU`xhkEC?*3d;N0{ zO>{AVwj3t)xPP?7RoPZ&7Nr}G&P z@wg*SLMjj}egf0j3HFMf;%WlHd%ObH(3DF~-z z8V^X0f`3FHg$FoaS{dJz!#TkN5$Ijj+gfJPAG zfxIHyv;-a;0KUa|05>Y2IL8(-|MNleLxcyQY*$r5j~E7A!4DB0bkT*(PkZ}O^20d7 z1I@eq;dLK(=>w1PAU6Q@74pMa4(BpFxIgyP^e)4L5ct*c9xbo%pwfS@KSj?2+A^Ua QSpWb407*qoM6N<$f~e3-1poj5 delta 697 zcmV;q0!IC@28;%fUw;CZNkl*%|e3vjwQd3gek{YE6_4ncd^ z&Akf#is){?|9>spd;*i3-9kWdci!gkmHRVG(Rx14-W=uw-VcEL&6G}O6FjKC$6H!H zpf8^>a9qq5bGF9oF24!6K)Cz`a5z%erH`!8J65pTJ-+%45ICklkh+e4{*P<3O?tL93Jq%APXQp@IVd^c)(9fAca{N$l-wu zBqb1nEPqZ>IXvJckTF`x0Gwd#0v_P%<^<772H+rNyPI8#2LJ+M1UeZ85wbkEPw)UM zO3HzBNN`>+A;SX_LyQmNi5$!3cyI*xmf!(&WI%F`!(+kcqu_@a4?x@fy00000NkvXXu0mjfBwA2& diff --git a/graphics/pokemon/woobat/back.png b/graphics/pokemon/woobat/back.png index 1fd2a6b7b3f3c4b9492cba9ee753cc2e80fa946f..7f80040d4719ea52aa2ef49755c135012813384f 100644 GIT binary patch delta 432 zcmV;h0Z;y+1eXMmB#}W-e*gz`Nliru=LQE504W zUezf7%;%*hYmrmFKy> zH*f&<4D@A_fCr8)8CW1GE3~TGuf_xUVRjGz2V3tDhsI@KDK{faCAeq-4nBg6SuH>Z zGaxO%0$F-qwTSl)FcJaSQVS4Qi7rGVe^JoN#d9fZ1}3sqk$iGc;jM#|0*&h7+OF!Z!}?m+ zs|E!;07N13=n$7<{g(r0xQ4*>5da87lDlMVZX{zo`L%S0000IujXvx5ap&-K=rzIGW%iJOs>#Ky}5 zhbe*`v-Cg@GOzUj|eO#pe=p(T8_ zUC5B>{t?2iLVO`kx9yJ6cO*{(zn=mH8Yr4nye0Q1iIf4PD&hrkpf3tCaq(QrihvQhYGpq;B;j8NDFzxA zHSgi2pX*VzXrN&QAcn}=Au5LIF9*tS4T0+#00=`AYY$4{TWEL%=-q&W9pP0*3nV+u iqv$ulrcFW!@e806VZX}m0t!q30000a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M_=<0rS3d0002PNklnzOcGG=&@L48OCxQAgBKE zVT7Q{L!g2%#vv0dpF delta 258 zcmV+d0sa2q0?h)D7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S%Sl8*R7i>KR6!2I zAPg%z1&Hkb|8{{g#0Ye^X`1S)7i>ZZvXA4&FM|9)hf4tw27xa|7;L!_z8X;^NSIX-S5sHcL>Hd zZTdHHzN3S$<^i5}yn$kccxnKkZuL>@7l9N=<}8P9p#cOsof&(de*+vnP)XLEXZZ}k z6Nl^2f5$*Z@n*{BP<_d`fe0;-(^t7}(Wr=lT!%zVoMJ%0v5kRhwg$v@)DPu{1+2Q0Sc<^z+blZw~k{3!r+$+6+Ql===LbB>rCQgxa(j0dAPdc)4w% z^N4zsO7+t^J_QvST%bgJ(Rr*zbydm%6ta7uY6D;jHzh;BnHVLY`eBcNhCYf%KpRZz zVq1nDDB$;*j1~4ZooWx{qpc{9!M-oJr2Y1<+4Kkc1%Rh;pIn3PQUCw|07*qoM6N<$ Ef=vdf5C8xG delta 367 zcmV-#0g(RA1K9(RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0WwKMK~zY` z?UTQ5gFp<%uT$0-kUGa8-P|iuXTVa{E~sxnRuUCO9r_qi9<3Aa((?iL2SJt&UHFC* zvVZn{*dR7-`ac2e`GD0t;>#XNOjn4f5)q3^AL;WV5FyK)SywMKKu^b$5Fc{@$N{ny z^=X!m5gl>3cFjEmVvd)8Q$9iY)rJj}Z-Je@wd)p*(hx{=NQJ~P1Qg~~2*>~cAgX39 z{5t?M7#ie=0Fi#r0AP!m8FETW@9dzTySje2z{M

xl|82yLNhZWFO{_i88HrivM` z!!$rXSRm4QB0b8!Z>Dv8DlRfWM)a!lR494vdkb)A*aKG^fFk@#?pq(QCPpcgKjINk z@<;IqsJuy?hnBtv4!C{p#){!JtqKPuqpcuM-oDSYq~*V3)26>jh+lxGaG#RF<3j)d N002ovPDHLkV1lWIpbh{4 diff --git a/graphics/pokemon/wooloo/front.png b/graphics/pokemon/wooloo/front.png index 2978778a4f3d4809415b2345d6946be1918a5df3..3663a1dccc1a763dc69687b52443b54cf595d7da 100644 GIT binary patch delta 495 zcmV*)aqv+OH572h7t_#Tp)WIS`9sdkU!KD)F!cDa&hzz-acz~3Wy(_QaR$S>f z4I*S_+`8%8zF*#Z{Yv6EbIoOy>o2sOJN)b%eYHo1kjUGegF!WTgd5 z0NbGnxH#nX5xe*AxBQ4HqFDmGI9X$?_cHdM7-L-^Wx$EkbH9pU#OaN|lQhbJGsvRj5qs$k^4Z0R1`PT60UNQN$cj7kwGGKy z6f*X(o^m4)%LD}aJeC~K9cUF-2!OzONFvbIMtYLte+aN4)2t1IYCm&fataN6bUn|{ zn(Zc~H@NTS delta 506 zcmVK~zY` z?U6xF+dvqF$BW1;aR}`5PY~VKO%IS{M7oY-Uw|@dR3W89!l)<`OOO>7Y(jGaqmeHV zuM0ZV@Z^Ck9pW%yi8nZ~MOa-}5usXd}10VA~7+;|FzU)*;w-`k+O-O$Xtv zeFy=XR=+j?h)Tu|>>h`I5D!Yimf_JOpod@GCp_o^v`QbC<%EELqP7e{_4^Q98IkD1 zN6<0$nh_Uuy4QsrfX|T)IQu4=bAA)tdQQ)uJUgQ6IBdL7299cK4q##jjLY0g;CFo7id!PZJLO`1b0l{d8UMJWyRs|Wm< zO3~S+A w$c)^;W9@ly@#F-sDKfq@;gum9y-N}D0#XE{Ws%A~l>h($07*qoM6N<$f|N?=?EnA( diff --git a/graphics/pokemon/wooloo/icon.png b/graphics/pokemon/wooloo/icon.png index 205d15416460f67a74b204301497c9f864015b77..f39dd65d957a93b3a29e39baf77b47e3f4aad7bd 100644 GIT binary patch delta 229 zcmV{!p3%S%=3+H)u!<*!n%?YJ3TY4ptD zh|Gb>mp${=!Qq|_&ud`x`y&<$#P?4x%=u^U2IV>!QHu2^fnrFw<=XhJbfoG;MsKtN9@6 fYCcrck9>RpDQ10rt%Q~q00000NkvXXu0mjfS`B6C delta 212 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 b)nCvz2`tx8GXpD300000NkvXXu0mjfv?sUe diff --git a/graphics/pokemon/wooper/icon.png b/graphics/pokemon/wooper/icon.png index 707b820f2fe969978f055402a90f46c712b11468..16151f24ae9b054b0be18131dae179c8723eb2ba 100644 GIT binary patch delta 222 zcmV<403rXA0=5E>V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5CIjv;yPIX z005auL_t(I%k7de3d1lE1n&oWOun0t-i6c0MQXzt*9wvJ0Ne8QLTuFOtUis&b{dvr z5kqvcm=+`fpbH5fo)k&X^}=kWHu|}M>8=2mOiQic$}^8ky;oxV%Hw-TwUT|j`EF2W zv$N>Cmzq+B;UNlaVnn?O9CFa(ZS+n9g4-c(^b07*qoM6N<$f`#2+;Q#;t delta 187 zcmV;s07U<`0+RxeV1J%TL_t(IjqQ@L4#F@HL-Pmu7=9PT-l5&;z+CB~&OuG`0d3RU zqsW9Q*Gh~GAiVj>ck*DReoXoZ5(AKdgo%tG>9(AREZ0Ok7GSOdP?4Ey1ZNs)nClnq z7aAUYs*&vD#W%fpo1I15+(ngA3>^!wvS#5GDC8i^+vuGH3N&tmym*nlFGT(IR$n$4 py&DWx&Oubumcn5laSI>Z#}kK@onlOI&6)rJ002ovPDHLkV1o1pR$>4E diff --git a/graphics/pokemon/wormadam/anim_front.png b/graphics/pokemon/wormadam/anim_front.png index ebd4710346b48d289e8a532a2f9e026a59574658..2b2b7a5c027489c941ee2eab4508b4f638eed2a4 100644 GIT binary patch delta 855 zcmV-d1E~D%2Al_w7zqRe0000xz zhu36?y>zi6^Ujqzm~7s-n5A3D7G<)IA&dwjwFd290OUK#E=SlVyQ&0SZ)DaO$N*|K zKms&x6JTCB?>HK@dT?1e&pMMa9XeGB4K_WSOepQn$_ZvWoylZ8q9!XP8a_ z``}Ucu>QltIufy71ma-*3k$>ne~5%2dOl;1i--h|;yWH75O2xx(|Lm7X}*8Bzq`W- zvB@PM5T*HI86YVRFZm^it=R9<{21p&e!kW^w8SCH-;0eXBqYeTK1lNU$`FGxAUWHZ z&*QMQtsM^KPhFq$h;Jn)Yrvx@l)gVO;YE5lcYGzS(Be4S(gK`sWdPZQT>b{>xBG3y zZBbXfgFeQ`__L$_)_bu|-wJqRa~fes`l~5`&6j7j&!vzRk2uVoZh~^1I=J4c_kxCMti5@6Pj^4AAe; zWLW*M3ot(}ftKT=25B1A&~mswcXN*70>Cs_JnPUokC(xdp?k*);zAEj(G9+$#iRm3 z280~-K#X4E2G6%bEEo5SydU6!%iQD%HD|eAE=v61WS^EcG7pMN{9vED35re}ETW>K zprgdA%yJT_s3-_*c9}!vh;l_~9bSx0W?7pmMXB%8PBx-aQOE{6k>39VJBg(CKUz+_ hYQKNWS^b}u^9rykXc|CxFZKWc002ovPDHLkV1h=-gueg) delta 808 zcmV+@1K0eV2ki!s7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0_#acK~!jg?U?Cq z+%OD;P0PA0zW?)OfZCw!QWD3t&;duNlDp!v>@`ivi5) z9Gb-zj$_qev4_@#10uS#Sdzumeq?pKn9K2__Nm67X=~}14Aw3%+Wncq;wi9uTDS?J?tzC`TK=gU= zKz^KoH+6?YJh=t9^k<+i&OpCIX9N7(I*NoOHy^ZdstbCT_lm*qjP zNn_P}=|NtiZ+vdxdhVkWpBw}gOyx(1gO~t)IK$Ed zO(lm)fV~EPTA;m0*+OE<@dgYwK0~Uq_+mj~STcZZ{lf6pTW`JfMfEa}FJK_ci||5}uRs_-Z!o`=nV~2|nIb59 z4;6?qM^MB-A<85{;hVe_h+-!LR1js#poS>JlgOig-yw<{0WnM(7{XK(r67!ZUK_G1glDU^OP*D^`AU#Y>hPTqejiP|f@3a7fLJCF?w*-4eAk&U4lIXwtu%NQpVjuLYZ`a;kB zUocL@8pB*hUHm~f1;*Rt4HeR0Bt4t`;}As-Smc29a|Za8(GX9I9I(!qSiWX7mg+trR&c*Sf2lGi%cs}pOodD% zgvywlm8(o2%JqK^%y9txL##;}Juu%K695uH0O~&pjTZH`Tnn89D#WJzS)opiLm<{m zRbic62N1BpCRJb$0JU1wq=dg?U7)Bzk;F#pBYsM6js$#HN-ON5xOx9 zuk@g|mlkp!9|O=;fZk023jhEBNkvXXu0mjf-5~Q( delta 542 zcmV+(0^$Ap1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z)s#JM<1i3~#lopITF8q4Y|PC868i@69$;0B+}efgCQS;P=Wr>2mthk?01ve@)Q>G& zG>dGr0~G@2)4azSQpvv#k;Z^U3|PNLfZq`f@v?{k>xhZvdqiWY9s^;xE#=`22)GDn9r!${_FAk`%yka1Ha7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M_@y>^wSS0003mNklgaFRkqA;_HL&CNFdCjra z$g5el^+PsLbSx@p;o*3oc&8Bl_CUX@^A0fF0ois0s2N~=$qyAUCMiO}76@VzBjA4( z;Alui)}CUBXlqLt?+#Fs8G$$Qnp|lDhU)?Gh$YUl!zClW@t^?1-DCB98P_cl9Y=oZ=16tSYZ3<9NiKJ;2mW~xmSE5C=6wu$Qx((*jS988w& g3JdQ)rTys72kHNyz^~WBhX4Qo07*qoM6N<$f=@lE)c^nh delta 300 zcmV+{0n`4>1NH)t7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S^hrcPR7i>Kl+6yp zFbsoNnq1@ee_Nb(NGwfTAvgh@w!{3*`H|-1_|XGwlDf(}p{2}l)xv_(Kv)n^SWpIY)M2xR9M69mcMJ;KorNV!F2Ip$@PztQqVcwW4A+R<0YHj za#A3Z2cKpS^39?I9#$GC^p6M@9x@aTUoq_#i2nkE25*7<6MYxACDE@N($W_41`U6H zU%ekEzk8oj>3=j+<2P)Lz)EiU*L?p z9eflB{H|Sc3k2?j*kvy-MVXfAJ7PO5Cqmg_4!20V$vDld-x*K6TE9m++-Ef7^)d6D z$$r02NYn9nstiobxLfP@dtG9?d^mrsrUahLskz@H7O|<{V55|P`xFidA)g3o(J4#z z>iYZ$f{!S8hJt`kCy4=i!YM#-XsHMt2sn3GqKf*_ED|P0u+0`g(`QLR1!fx&Fk-#} zn8OKW-XtLi7x8((MlA@JiwGKwCj_OdMI1F)3#6RI8`1RnFcCp6H&J7Re))eP-e8%@ zqpCY@`fNA?we* zhrVSbBPrlp=1pZ_^aZ{zdDC@;9bykz9qjCKg#~~( z%N@_kWhfy8$e-U!Ji;@*Ajp3o%?extY>RG)wZ@N0&NNq$p<5S^_GrJ`jE62xgFIAV zwRI(QN)MbIEnz(E=>$4X(qWPw_WrnlDnS9ml-U4raGH-O*tS1uZjw*uI6BI^usw+Rqxy8``%J zQ|D>Q!O};JzuiI1OE*P1#(2sm+_!cRW1rBe=iOWHjWPEp^vK#puocAk_hK}>rrQ!w zBg)#X9p&5=VC&|wgut?hWtsr8=_6U)$zkvbC~kP)V6`_ei{$4a^X>{tMoaDG2pmN* z^Gzr(xa(IFiyPTRUW|W^r9j+~n8ZwO_E|hf0d8l70P@02t$s1b-zh?ff(ZFF19E;E zVn|w0+WP@H5_^y{aoY|Y|}($p=Sf6~4Ki#ea~{Uo@#00000NkvXXu0mjfsT!^t delta 876 zcmV-y1C#uT2(br{7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R120KLK~!jg?U;>n zq#zK4Gb+jg?)yJ(rh8D=%blR)ZgW*qm6YYuJwLFnd>WY3GUC(92)g^;T4N!xdt{F^|ewow&PG_}R zwEiK1PPBlNB{)cbG%OR)CQPGV*Y**iRSk{wgMOFjpnAPoVS(5Puk$thFqlIp(8Hyu zXSGb&;;X)=gM(aL=@CtXiIa71$M9kXPWAZo*n!zY?Ytiz9mm6p@D6<$3k&Ly`=n~` zRy+rFQ1H3WoPI7_tL0=*61>nt5D>Kp#SkUUCM1oyHXNG<~5BNoR&RM4dm5 zQ1?B=A?QEntVxFs$;U9ybD+U!v11IYCz@PH!3-kxRBJtUi$!2R9P2gS9B3dWSA*G- zqC;Ub!64=?E_zr}uMWl6g=C7SI&6AadK;;rSBFITHn^(MNB^udfW?y`*Yra)2VLUI zXS6Ib1~VcUFd$b?R+PeD1wD_?XhUADFZ(-pnFWef7UM1Y3d1?(YnI zUQ6r-@1N&?A(8c}KV5+3kjL{o3@-h~rySg$+X1f*sY$*h(fF?2dRn;0J??RjpEYg< z@&g!1^CH|3<=qJ5-3C0Zo53Z9V&H^(dAh_<9Dsp;5TaaVD8xV)A zH<%3q_Gi3PX$|hB|Z$Z4`wRri@{%-*C{$-HxI-9@`82 zK?tD6iQq}P9Yq0!A)Y$GC<1~-ganKu`wUi!a)42U!Bx+5mh{~=NMSY%^CtuAlQ=uA ziCFu8Rtgg%R`Up>z#&ry@`9ciWT7y)?OXw)h#i{k)a|`nISMEYKPqCBv@sJ*A6d{s zVHSs@&5)M)AsfVK|OdVHZUs;_=okQBd}!eDPVQ5ddE{{@4E!c;BaSBHhdfP%&I7+|9?=5T@I z_;tXc$pBB6)A|<*bCKe#6s85Fkis;*?cNmTpNvmc+%WcG_k)iB0000!EuuC?pbHYIp!h-+=M}?GVD+q0U+l&du2@g_mKAfiN&0N631+4BJz>^~fyIZ(`mBU2z=*SWA%K%%#WdV;ne@uFJkM|A*MTo9;dh^ zK%o$-TVE^$Enh7Fe+YW002JMBB&f12IhY$`K43{U$gdxF0aP1=FH^;VWC*wxX>1+F zNMC?CMoEAq7wP`!P>=)^7BCu6Dq3y|VKLQ>Qd^)bwI+>B2-&uXY5>rs6)3dM$wk%z z^=qhgQFIhEtzv8el@L&t4N+}30Lu0tQH1qsMd&8-YPGqif77Z9FS-|bauld@NPQMQ z%9%Y$2dO3 z&%6s1#o_$Yf&RAk3-dN~F>g)<&fkY_rWvfT1ALXX$l+-V=C$>B7`feTyIx^zT!)t& j)Hz%L3wyu$7jNPRub)MxQdh}i00000NkvXXu0mjfNGI?C delta 556 zcmV+{0@MA61(XGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qsddK~zY` z)s!)At3VKjcMJC(A|96F#+w`XG;7R%IhE0N2*4ryJy*F{PWl>zKE z!QgGu`1~KfX#iu@C;R99=9^lzigWoTFz{(RMe)80a#dUx$;krQ}JRyVo zrw5ONXAoR?Lb71VJizLI*8}0Y0dVY|5ssV@_5lmTdHw9RaIYc`i z3qUyrM3`@4LBGR5l0=9~5TGL5hZj(YQlSDtC8Atzb++z3zR@pP1hEhcAg8UCyDl-2 za*H~JK#=YT&?u$u_LoRW$2SWAf*xxCWp^4W>U>KH=GNN(u%sA&ls8Pe0O}3GhplxW z8v_2wEO7}Fq$j|hR1u&kMYcaBlw<*=1FQj5nvUB>ctU-nG7hLJW5^?yQXNM`Jph=> z8I;Bplp;R@&EJ_ZW!Z5sbc%@sbV@)~wM2d00@wn){yS?eKc+ozzo!H9ZyS z$)KsB%!NW!rw^TfM+lcd0d5=dV&I+#_a?X*)aUtK%?5$as^RnZ-X%5rZ6EfE&`ja` zzHEWBO=WwljK3FMpezrpCzyiybn#33mt6{O&kfH14FKE@cGv+vD%a%jwgvlk%y?kK uI*#iN#@6-hT7ssA58$mu!G2PVeF3kZMWz&geXsxk002n`MNUMnLSTaRv-vat diff --git a/graphics/pokemon/wormadam/sandy_cloak/icon.png b/graphics/pokemon/wormadam/sandy_cloak/icon.png index a45417a6162189cf93dabc49a50e44cea96b7b65..e6270c93e02747492b6f8cddf9d57c2c18a43cae 100644 GIT binary patch delta 392 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 M07*qoM6N<$f=*JGvj6}9 delta 296 zcmV+@0oVSx1M&ip7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S@JU2LR7i>Kl)(|^2;rZD)QF~t;)<|A+&2@ORWU09g#pH4)30NIHbnd;f6i*Ju{@ln1llXx13W% zg*rST;zHNn;F)oM5O02Xc}Tg^IEJ{U_>EJ-f^Q)!xhu3uS=e1(gQ(K@hk;&Wf0ntt z(UO{5CRSys-SiN00Q|*L_t(o!|j$aYui8+$8B7z z1Typ_dugZ2Dp`G1LTNk2Rw&&p%(=KCkj1vfGz8mUz_#{Gk;W22P~_NN(Ud>Ae_*tHmP4;twATId$A|17mvd9C+J3l-Tgq){dYxO?uH0SY^XGyvrH zwd9X|zsrCktA8-C2QlCy0MLWNw$@wy77qy8CSn`pv^VxP51<4CkSk*VV)x~`{+LpX zkp5JuXpMFZutG}1V}uY^*U`Gti2?a0rB;BDY!-k*Yw=m+38B! zj0y%WsJx-R^q~hGu}@v$0J(?$dw5!5C!sk0-YkE9;eSs|#F{9Eo=IZB=8ye@tM59} zv9cCi@JKB)u?L3!-*e;5Nl>$o#lt_uqHIGT+V5vI})2$u0noj55(qOg|9}tm1JJ^F(*I# zV%`EozC`l^!_5zK^8&)p54YweCO<#ininR*%@1?)(o@RK4|DSdm(7ruALiygn|_%@ tCnyQ#1$R$RYe|12gpk_87>o6n>nC2oBye8>h6(@x002ovPDHLkV1oYSdt3kj delta 818 zcmV-21I_%F2bl+ubbkX6Nkln+LdC0`dSF zXw=K-7I3Fa9pqk{4O&JSei?dO69DhP>v15(r_h^#+>Zsn=leAdWO#+9+Z2G006-5Z z{%Et@D9eDLVt*t4fMoWKJ3Yh*V3YumTp<7m=jC~Rk1>Lf`7D*o7Apeagp7r!2qA(u z&_=2%0COeAoB$!iP6LJ3rt?5h%9xFEO9nFsQ_&MJUqJoVSgf%q}GB<*%ZUKhuatYs2mmy zKS_F|kNqQuk&MYoA(g(F1a2cdb=cXkFH39MXRjA_sS{ic2eJy9c3wK{2E*?8pf9hm zIJ|)Nt}p4}o4mpz-Gckr{;pB+4DQ5SWOf#__}7tm7y}s5R*MG`F3=&Mu++eOi&uyOI#nYQ(B0M^h_hfS+iY|=K#&rs!4oVipHbx#%XPfGZ*8j8 z4C-yPE%kno!`WBunysv`u$n!1-YnXvpaM=__#Zex6jONM#p5yu6kU3t=HqJ39_y?s z1$xCYy4er(rhtrqpfCY+!R{v@19mzF++6{fV}D)7y5O795U_y=TMX^80K{tWbI?1* zjyMdZ&d9tb-ydo%$+Tnh8Y{^xtxc~eJjUiV@~}TtrhC+Wn|Bqyik0aV<(_%*6UqK? z$GmA+`6A5=jC6mPm=_TF{%~tvYRmVBTl2z=NcV?{dD$70?hh0523Ms}wm(eFdp`Ku wmn-fM<7p|ldvK=y4{Q8d<@TS&EdC&V0bal)a8@1xRsaA107*qoM6N<$g5uJIwg3PC diff --git a/graphics/pokemon/wurmple/back.png b/graphics/pokemon/wurmple/back.png index b3c9a478c2bb295bb292901ddd7dd0a702fc22f6..ae50d80eb6bca38d1cb8ecfffb8783ee979c627f 100644 GIT binary patch delta 525 zcmV+o0`mQV1@i=uB#}W-e*gz`Nliru=LQE50uRsHSO*O>C&j6ST&ZO745fX*O8G9p(gNvJk?hM+`!pQ1p@V#EIMYzJ? zVDwE`cz%8E{cBl&G>%#a0G}NK=mCrV-vHQe1H`BMvn2G#fCqUJf83}B2mm+;*kWO{ z53C*n_{L0h&F_bRLD?BM0)L5n!fdb}H4bUrqI7-Ypv@2j?JX{SVgXDFO0l?ke{oBG+ zq>gEleHbi=tAXZyf0n(}R|#;OW!ci&^M(XeBc`}r<6QvtcLfZ`mYtSBSm-VSkLs^s ziuYI)T1D%4z)!II9@p_BE)!DT3l+PQO$BD#uD1Hh^o@@ za|GsroJ2lt>Cy-{0r`gLx9}=kxYRD|f#+RUfUSU-b^8?Xf3khN4996~bXPniMDUn~ zREJEWT3Nz5zr|l)N_bh+^JFVKmBkh3aRHoozWN?ItEWxiY;-#EF@eBwsh7{h^R5u{)9t#wwKoTzsxIKq3@FD7Uc~=eoPG0$XAZL_4?gJqH{%%G=Q5_qL25|jmR8-1*+*q6&qT9}L zE^`H~StRY#@pA+gcvEChOj7pKRh?!7xMYJnRg%CIR8z~7di}}84<*>E55F)LCLqE{p!*Kbu3LH<4CIJ=@ zx*qeZSv)V7%|hKAO(69qs=@e5Z2+g=Uk0EFiV-y1Sda6o?KP~66|mCE7%XvOzpK3r aLVf@|bcsOKlk67&0000O{5CR#Wc_py` z007ZRL_t(I%k9!34#F@LfZ=z8m(id}A>jZ_BBpi#l5LVD%c!Z?ttyJZA-2U829rB9}!G_ dz}I{{0B{v+3=kx&KOX=9002ovPDHLkV1myVa!UXJ delta 249 zcmV~kL+JNPPkJodw*a?~+6Vbb91(UvD#RJ7 z)=uF>3=`^>TOi7e=|gNm$LESQEVf5_vQfOc91(yhldJ}SNpcueydaQ8ce8at7fv|5 z3@CBK_E$=@3$*rogC_mI{Q687_g9QCI0s`!Venpg!mxXi0x-ffrS)YLhD!#w8ewF` z9k7aa6{lNxg@l72ffHZr!4DWfFF(9xzv{;ma20C|vh)n;00000NkvXXu0mjfGYxNo diff --git a/graphics/pokemon/wynaut/anim_front.png b/graphics/pokemon/wynaut/anim_front.png index 3dad81357f446a468ea78acd3fb3bba9de448fd1..8b00c87d48a56d319a40fca3a5d86fcd02f74626 100644 GIT binary patch delta 776 zcmV+j1NZ#G2HFOYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_`ub{c?$ z0008LNkl&2HL25Ph0Ah%<>@r4L=}emEfHMW2 zTs#AXw9IQxlSbpGRvbatWxG&2YKt zFDi%ypyBb20Dt2;|1KwBv)eYQ0ECx#zPWAhwjwY|&$n&cZm@EvGMp@`TLOMczyLK8 zahGCQ=Waj|5vMo|5?4ip6I6kwn$t=KLZlGbqYe>(6nRu`V1On_xwkA(IDwF#Hxa$m z(dE&E04@b;9z|bNq}5A6g$39U4CvLpJ`ACC5S0bhi+{P$G>PHEqjpuLHn`AQr}^sf z-nG=!P`*v1c{r;oj7z8#-%pDjE}uG$(|Cj9Lwv;T8Tj3Om5uWwfY;2d<|A^a)~|gb zth;@Hb$9K%hc&Ygh^+m6$`_nH8%+V>epu%CZ z*3HdmhKVaztZr+6Qe){_2dlejcDrWHfMXp4r2WILZFg(Z9~sA?&9d5jZ`)r#tRIcT ziV?mi`L`)4I()UCi`m=@CT`H!7Emu9B>x>PFn^AbmBj87i(Jk5WPh=Hi%#xxgO{D$J)8GV z?z-D8$a1HXw7*cY-08D=c=Wx_BK`HZ_5mD2oy7D1jX#rY`HI`k%kTgI002ovPDHLk GU;%;+mvxl@ delta 751 zcmVi+>5P)@_QECK2PMaUxd&JNSuc)O72N_an zM%tbtBT~8vxJ(u60sIJV!pmj%1jNAYrKMnJtijx;)!uTa?>z4s7a2jvJ>DHAPC~^o zB$)#U34qiEJPZNAks<^@bfx$R6U1^Xr%((amE3LL#S075SmeBoA3WgzYI-E1W| ziYEeoNk9)Z5`Xa=VP0BSL=Q6}f(ZLwXj>6#gqf#l&FM@A6jBQ8&<+uR2ssKn(8J1$ zcyAfNG7SP0|K3D&BFirKM+ERvpv{xfhs@X6DUhiYObQ0{;zb{)(Ax9!l-5gir>Thk z>-GdNGs$&@Gp%)$EVeJUsYVs`yYe-MbycY#ha%(WS%32Hij{}1ag7U%5BB%tA%fVU zD+=`x4`t)EfYZ#Z=Ksi@wtneKVchKkjJr$MGmM#CfN$*YYL@0ALPxXi=uHiw+^m}z z*zIz^KgC01O{;G_bB-Fi-2M-cniZyeI!NUdVNP0xTs|K3Lpm9xe6c@6;okjY$gMyD zgSLdket#$oa5nFbzlJbHtJJ&#`}I=SkAn$@wqCKijr~cDxosY-?z-M=>Lmk~dGwIZ z51XdhEJ=T4obv>j7posl^ZTdq<5>}8MIYaj{F{grtugdh+_ zv7pxk_#cxAwG?AdqVxZs@L+HiP_WzA>@=F4EJxjX>g#r6UG zb&KQK1VNVr9$hsJFs3ZorNr`If-{=e)BXBFo=iox-G#& z0#s&gFPB985={w>V}c`pj)?+5<3}S9@#+IAz8;S-_WN(pEr|>u;vta(r)x;$0K)#1 za5gV>^AIR>|x3BNHB9u)xDEEp5I0;D}}3AkoexD31DD?!`3av8Ui zN`wd20K#_MM9e4kMU}R+(K-Xr9_VwNMeb5wCzAdnZxz7PnWnr<32+r)$&#Qn>EP@s zk5nQ7G>hW{`1=&cwF!bQ2Ryher=7;WvLu%R%3FdmT2t7gYwlNnR*by?r#QcMpd0tV P00000NkvXXu0mjfA%>!e diff --git a/graphics/pokemon/wynaut/icon.png b/graphics/pokemon/wynaut/icon.png index c3f81995e64e1777c248aaae73bbf45435f29a28..b94ecb52d76095526d4ffed7995bf998deb7cf64 100644 GIT binary patch delta 358 zcmV-s0h#{c0a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M_`&xu6vt0003KNklg_8F++jQw=`0jVk639-+c2oh`}Q3%4fu>hC0eG$K}rPJrmN57VH z;PWj+4%R*sSUdMt)dCosB}5~E)8ZXi|H|v(RyDYPQO7<3eN6<1!|;(0`C#T+qs&yT zQ5&=uIM>5>qIEuCBpjtFKt{v|$^cRnDFp`euIW2yOXN#n)W!3*`5{Lt!Atk5tS0Y! zx2EAQq1aDBj;vLyR0rl`Od9Lv@#?|82RL253%`|*FU64Dm5Eps$N&HU07*qoM6N<$ Eg4$7Kl(7!O zFbG8B#e)Uh|Nm_-xRH_=P^%7I!V*RIYzXAowkOsAQ0pREA=F8YYp{ zz>%1(m68}^=-w`MSU5G<7(9rq-|%5cP8_{NafLN8Pm+wIH8a=pfvN_dcSUObiBIBj z|Bvo>y>S2L+o5njBy#_aSloZlF(2;!?(UBVdv<@gKQ8W%dhw0>Q~T5Xny&}n4}LiP cC;qY@UdzWC4b8qYf&c&j07*qoM6N<$f^dF*E2QTE(>C?a37+Z$P}|H zUG!OWSG)wwL-m}QC^|Dr;T{zs|2HS+|7VgQ@D*dhqhd_T{?<+Q@&xAhfI`bfcF#&ka>;MxkWmen!W;@HZzp^v z_vfL)d6wCLAopSzDgwzNwQifC`*Cswj6E5h1LUO!LYCO}^(w|`GazNpc2L+EmqfH1 z2*~T8j7dt6F%H0Zf0pCWS3zl$6UIvVpYgy1HMLBpItmGR-3dyYOaV(kfql6f6q&@! z*$il_1rBK^g%eJ&L&9mPkVS4M#W+nkNdkr~aG)H@#5#*orgWSlT$;=GD{BZmi-n2W z0GnU-5ICV2fH}_d{deweS55}%l>sVy2)Ye!R{Zk|0wJskf3Qz|1nD&X^A&*zKKlU5 zC$0#~72SeN0Ze^oN-_cSxL)D*74Gv8(K;yJz4ZNG{|kVVUZdVAQFxzl zmVK-{(p6r();=PB>08p(>{HvJrxn{(E)aQ zER;J#Y@G&&0U&1S@v%GYPY86HXk1`K@&#y@4$zW342gAA+go7NlY9oy?6R?d6UzA0 zcjypk*3O7~1O^lM?J7?QXP27!VR_gamu5ZH!Ur65Hg_|n3mgbg7aI#}1ag5uOJYZ# mzyW$1K?6D|KhRx#8sHx_G=fZH3lUt0>c;>802g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00MeRL_t(|oRyS8tJ**mg%hN~rSm3qpLx>tvk9f!#M}KVC6Hx7 z6bt@{Zj>ozSGwqL(OvNoFh8pIOrq79NolW&kn_!*bMA}=fv<${KK>&sHTkLN4T;912wb zD9k9Q;@;r{(qBx4^E9=A80q8Q)QFU%#M(CH^pBGpz>OHvWq`6UKq#yfSz%TQiNl~o zJlKQc&b(xV(_lc|4yp@@2?`;JgiJFweKRN%awnX32?V!bLm3tKrwM-vuG5H@ zX6nttGQoE-??&AL>+iM+b{O}-oc(nwj+`G{!K*3k9recgJ9Xw&TKy4I$e_Spf}T2~qk_)F`p z+hMJj-DugX$isw{mbgXju)Ht1daD^PnZ{3r0@1xi$92p=%ke`g+bdop3$ z&#t~d9*!*vM169A{eg?+rXzMvgJTbXsXRIM=fjzS#t>T<7(>1Sb>#px7~ zaSQnZaM)^V0cV!^V|Hj5*e)H52L}2O{BEoZVTN!?X_&88hC`RKTaSA70Y}rlbLj#{ z0Qwr^9@t|!#!y3S@UlH}Ap%%1fSHsZXs$Us;5Riif?3@s)A9fS002ovPDHLkV1hiE BUoijx diff --git a/graphics/pokemon/wyrdeer/front.png b/graphics/pokemon/wyrdeer/front.png index 9e5bffce51c892308229b0856acf0c06e7b636d4..f9923402f426370038cf8ee9309ec907adb3a5d4 100755 GIT binary patch delta 951 zcmV;o14#VF2!;rdB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE50yNsD zdBgw!18GS_K~zY`b(Fzw+CUJ7$3jNpPzfS>=rIntQ{a#uDVw{MWKmFZK#H(H_$8_; z)>`F|sseQtUW2G;eaOX#$nyw&n9kZzjO~mRqs)9e^Y85J0>oxie_>}eD72H)9bs72 zY%E@UV)dFkpqWh*FE+2NUILspHD#v(>x{moP6D*MP3=kprB z%QV8gYJ8?IHK25Ue{%`-dNbQ9lj#&EXV5x-w4vUybB!jI&d}%);Elj206N_BM+U35 z&c_QIihx^Bat(ARbK77Az@<0h^)7Un!|hHHz-s)4b)m#AdArfgPlLg0!R3L7D ztVNnAuMfn;S2O&fQu_Oo#9q2F-#>mWB?fB_X`waFG0!}cu4``OIrwE15Z$q zh>ix(J_3FVe?L$d`f{n8MnrHBQCWX~c(@RAa)x3ScNM2WbjVOyU0+{+ky<;BXQ(vb z|L;kxded(6L9_>gJP;45zQR Z{sSLP@?kJUTGs#o002ovPDHLkV1mYAuXX?c delta 1013 zcmVZH3mH;eV)Xz302g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00U}CL_t(|oORSeZ`w)_0N}BZkvLQe5%17r2)XlsLwlq+cPq)F zpyYs5VS(_Uc&cKpRSu~tP*>q^5IwX$^kPKh`3djGycrvcS(BAwl$~#9XV<$1NSk#A zyHo17m-H-kGSKcexhoG!twtN* z<}#hzaym`wxjrhQ^u=-Eh82UmCY)coN5HDpT(Ij-TAgzXrF71tDmmj_gNmruuK-$3 z(*Sjv0_=+(jU{V2J!2#6o5tVtqzx!t-CaYiW+b4P!zs=$p>_4-LapPPfCjnVf6(d? z2u5I?038v8Bg;8!U5ytmoC5cO5)8VNxobHmz;!SZwJvlVPq>{^z^RHmrwb+LTC^M8 zLY$V)?Tmo)rS6;nASllLE&8n%PE0C<^HC{ib*t|jIe@<&5q}oX+oAo3i2pR+2NmS@ zBN*oT%FnrfrV?@ceJ%5%ygrCYf2e2pU8^y^dAoh0nqOY`RN;0>K>h2}JQ+}03%%I^ z8*#KkRMU0rW7b*G+~)fkg!m9dxOoUM7FmK9jz_t-QpW8Jw{nSbF2NxKz!<-MLMitp zD3yZO9FU*eQicqkp`s8y2IwAvUowm|#-UpBrjdvaMO4<`zJC2A=hPX?e_6V#IE|7+ zhRW*p_V%;l+HpKX%^>`3Axf09Bc+CGFbgPaG;)ew`#^nYK{Mr`@*hLBar|41{9_!vlb2LLi|xcE6>; zYRMp%0D#Uc0mPWrrxa2pfAZ<*iqV-!c=ZIRI`kO8d%)j_MFH>}De$*)G*BmioxP&| zSUyRm)I`d~F@Qk|9`9u!CrT~oZ)gab1UEjdkG>~rQC4bh0Go33%T(k&r5M7b0Ot{oh^-92ie;xt8#RRnZIU^AB zorwe73<)evK(XKScqKrw2R(uUSSbdsk8{4B1G9!HWvBkv6|d6P`q7-i*X!Q|qLoL0 z&X_Ql>G^AyLEod<`(9)wuoVStHC^@l1O{HA#z8*?ixC5RUIf(d!hlBF^qH|oUg4|H j{h8t>%o6h|*Zv0|6HW4AWr@~(00000NkvXXu0mjfyuZ}A diff --git a/graphics/pokemon/wyrdeer/icon.png b/graphics/pokemon/wyrdeer/icon.png index 905dfe083c941b295ae2a9020d31b7f1a2bbbf27..8221d6ac4c288564c3c214bae01619fb3b102ad7 100644 GIT binary patch delta 306 zcmV-20nPr41DykqbbkN`bV*G`2j>O{5CS=*7X^6$0096=L_t(I%k7dePQ@?`hJ6Fy z!5fP!#XIkOOw1J$k={W#OqjYPQMxn?&GQp#Vk)s9#Ds?omVf(m`~&<>VAiLZM9s(Z z8Ld8R)!Y;4(F1JWDzj!{e1|pLv@1!tkueM=#catQqGUj80E{O)VEgurH@L9djwyorQ~&?~07*qoM6N<$ Ef&d|gYXATM delta 288 zcmV+*0pI?e1B(NYbbkQ>Nklb>!3`KbZ-ho>d3J~|^e4RQQ1!^D%>0y+~ zi$uta)xoNQ!V(jpOHp*{A2bmBiae30QOF`pOoI)D8Z46`qqk0NfffP4kJ`oSLlh|R_q}xer0S5}8UlPU z9`fq=KAFdWMWev0IsmR}jxNsmN6t_7#?5XNC~z*Sx~aLf2;gK70SX>qi<5t4k6c8s`G(b%pfD%MT0_{b}Rp$K!x^fvY$e))999jW%(>;uSMTn8e6-H7c%w-)_>0yl>{r*fy(Av#h>Fg0q6NPV);!7;6BmN zgJs?Vctk@FmU%P4X1~bJZPEjXHv?MbC;afLp$D?l!@#)*)b&7~XZC-)4MxI1Ll4&B z>q_OK7zSQ8^gsgKZ3UY2pbePafdox@&U!V--`&tYnz4mb*Mm)nizOCrCOAROOFdZU zN8(${Ci8(n56ZTeFFb#8a0Ul@pot?Pm=f^MDER25YoCKjJzymncZdpbq#jshWdd&w zCiTEjC-72OQV)zibpn~f0zEi2QjkD-6l%^8?S&}-KyH6F(rXx#hSBFBfF^-B0H#_G zh!(euNy{)EAbLPDad?iyhLJ*U|33#Pq6ZBC(F2Y8K#C%Ipuui#Vz3BG5j_Y1xh>5I zfChk~2mlg3pwZ!0H*MP9z+jFrnv^? wcF6d^D5eL{czz8L_rLE4f3FAs{o&t^-wm|3r~Y!H3jhEB07*qoM6N<$g4Q9*CIA2c delta 974 zcmV;<12O!@2$Bep7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1CU8XK~!jg?U;?S zt11kIrAiIIzW>{vB!Hr&mC(6&&Y5XOce~rJ&m@YloTgv=?V&inkUu!)c~Jk@V~9}c zhX^PA0Aax(p_=De%K^*s#8@8>FxG*b!1CvFSs!`^00Tlm(IbFsP?&)R0bqRstV`18 z&`JbYrwLPEE4dPX0XSx*v@YraJpt;F1I`5SazIUh5Jm_9%)ow5eh7es6!>l^1%QJv zk^NI7=TUC_$GuU1WG{)AOgK2V99`gZUXC(z^}0o1T|zpdWlSs zrEmcdK?KP91c(fv68Z_(1dsqql7hV?K$l_xbP<|>Sx`e0AgQ4O9C|?w)k!$?d?j?I z;Bx<)H`)onHTVuW9meB0FwsTYXb0K!h5)QIUI3{H0zlbl z=NHCLLlVN!)b23?9~uS#&SU38nht<& zM@W;%@gk&A7r1)dL%{!>>(=vKpl%($-8Q_qI}y#k<0laZM{g4Ez~2FW@jrxg%)R`c zN4-Gq+$&)7&UVT1r&|+%7rebkSZlWTfHR_D|1HgbS|0%iqGA7Sn)I3g0PjtiR$2dI zy=|FxTL4U9+sY4MYT5tt?FWE40I&9c*GKDp@}<_wCukv=K$xORswYspke=0b{{I3()3XQ z&i4O*wgrsHi&OgcYX9pNY;SKrkk*#`?Zy6Q051DJ-n<~MEK@?2{U?1Sy8V3LssSha zk3Eb>c724Cd&kd`z8_Gpk)W)aZxc8Ou-kvUSqb#}!4CUBi}Zy6yZzT%rq2YJi~ZMH z$@Gap0Ji@K$OOUDC_p`>uTu#LAad{2ex*5o2tWi70j3?GG5|#O9|3s&NSgj?4Z=ql zz+;Fa>9xo@{}+JdcLao2fGh=2XMhq}=L|@MT`#i#XF&B_b_8&Gu-jcj_R2LtV*e)~ zpPB%>Tw?#HWR({JEPDv-{{-of6+rlO8y0mbL1zD_WY#OdBD4Qk!n+=H6Buy-l+gYy wGXm-!3_19({r`9N|7*bS`N8k`!9Ny%09UC|4{yY`wEzGB07*qoM6N<$f~WJswg3PC diff --git a/graphics/pokemon/xatu/back.png b/graphics/pokemon/xatu/back.png index e838094e55cd8dd454bff6a7b142eaddf21d0c61..ac5e61647c5cc430cf32ce26dd8ff7b3e5d194ae 100644 GIT binary patch delta 570 zcmV-A0>%BS1)v3xB#}W-e*gz`Nliru=LQE50|@NWGy(ts0s~1zK~zY`-Ic#;BQX$% z7hG6HQix?iU_V6667T~oxJt3bzCy0O;s{qt1cEqj<2Sk55J;0IMZy*r$QB;b27>nu zmfYxHtdn+~KB^4!`J10KlAR=9bWQR+KUB{bRaNFEqxCea)Jn&Qe~GDAmFhD69s{SQ zTxKOtrWfBLg4pj~+Nt0_;sDhk=fN0=#_&hyg(Q1RVhCzlQ+=tyfQDpjH5L zZPya0e}QEP{06vOPzHA+8SepFJO~D2I3sxk;5cvTfUv__3Gggkgh+yR^a5?Vnb z=^8BX>eaVc*8(DFqap|?e|f;sOK$~)vR(lc0q@2(PJok|fA?Dy;4xi$cOHje1q}k0v%y% zfZJ~OynhU>`*oSW+lMpje8Bz6NEM;Af)1W}{IVOn2^9f~Az+_z7Xw6K1aKMQDF##o zyNTHjp3Y)mFzqtp>w;nk00+#l14IDB2-3dWx;O*=mHuY`0m61nE+GpJtpET307*qo IM6N<$f_b_2*Z=?k delta 579 zcmV-J0=)g81*-*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t87!K~zY` z-ITv-<3JFH1uncrQY=ESU_V5RF!%uku2QJbDHOxt#z_bGSfu{Td`1lIo0YKOU4FJ{aX@Ed& z^z z1FZf^s0ERrOVGf()!$)X2?(ca8G#G&(*n-kaDWmJ$_^5s2v|3EZ3K8ySrl~u?2vh`p862Sftrn?) zg$-0%pd##A;Gx-XyH!-0C3O6$AI_+;0rQm+GD58d4Q#!4g%R{3WCX}Uz%k?A2MEUq zU^2qS2V?}jh|wN4mp-sG8S!;N76QNkBb)#pz%YW)@3zVwE+Oy%`d2H8{s6*uOfKC7 RG7JC!002ovPDHLkV1n9H|Lgz& diff --git a/graphics/pokemon/xatu/icon.png b/graphics/pokemon/xatu/icon.png index ef8580eceb15b9b2935135d0c99d88041cbf4390..43e505aaf888559bbb1a61ae8b2f5979a40e5f61 100644 GIT binary patch delta 283 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 Ef;CKAegFUf diff --git a/graphics/pokemon/xerneas/active/icon.png b/graphics/pokemon/xerneas/active/icon.png index cc63a8202aff7868d416cbe3909e8fa6ea06cb0d..c65199fe7629636c15b23e319f1de8fb650c95d6 100644 GIT binary patch delta 505 zcmV z00058NklLqS_73pbFtPR@7UP#rpb!_*0~_<8i$oxz)lwwF;HG}hJx zQ4JRp0(503v410Ms!H@;N(c*TviDWBwN|pNpKruNZ`;&8jxw8xde>sutI*rDEkXHVAa6Gn{`5^5tih;N@&+y(xKdypRuPsw zL2#8WA;p2*Y?@nGC6IlD)Om~)sZAh;RJ&thC2`@^Np|d&Lyjx1%76s(qZ!RFeE|Os zheU|vAnZQJ#HGh}K?|4K*QFqay#qT2y!*z6E|gfwWLFX1AAcpoGzjPwbxAPe38!V( zrf06qjXUr2bal<^BsaHaAh=u|06bO7h;!a&w4P*UdOVlO*=9BryGC9+Y6V_A?>)6S zST&ORBC>-@>zW{{am9!LP1#D$5H?lCI`1Wf1vT0Cs#=d$I$ghAvxm;Qsd*Y?I%D;w z#oYLN9#}M4E`R-jSg@1KZ8`*@-pObh3sqBlN0FOm_E8WiU>ezLx*r6bcym#Of0C{2 zGXdd0!lQ!V7ll0t(=+?x(lL&$OP60~lb!zYA;E$jC7mTfQt&=6VeylltlT-Tm>a;Z zSOEn1sLbu9d*j`AJ^~(BCjZ6c+HD{x-}U5ee#QOxElZRXC#^rrM!Bk8JMC0m>{k&V zD2sfc;|H;Y&U`^j2hMc~TfpGFgl%Bv`bz;5`whTs$KUz*1NdPI50M<^XaE2J07*qo IM6N<$g1xTWd;kCd diff --git a/graphics/pokemon/xerneas/back.png b/graphics/pokemon/xerneas/back.png index 5f38d48dd36b1254066a07ff5e00277c72cb8209..81a91bd1371169a54d6c035a352b7969d12ec27e 100644 GIT binary patch delta 700 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 KMNUMnLSTY_|6FVU diff --git a/graphics/pokemon/xerneas/icon.png b/graphics/pokemon/xerneas/icon.png index 31036c9ee11e4e1e55ecb75adbeb05630153bc3f..6d0b56b3b673d87dde4cdcf60fcbb2b423fcfd57 100644 GIT binary patch delta 458 zcmV;*0X6=!1Cs=h7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M_}vZvnBz0004YNklsOCpG+`q3Mon;d|FpxSG1HuW+B~L(|_ZIOys6;8i#*XB8w!~W^{6qrKLAc z){3LlD~!Ba@m(Av!K*~`Ebc~eULgxpP7n!oDA$t|BtqldVmS-|1UBiDbA1M^1Fz1j z#bG%VmB&rW(?vCws3rY#SVUHHO$mRo;B6Yl3Rj_eOz|rgTvIW4h`MPmbK%X<{G;}o z_n80|8DP9mkFy2;5`g{b5Chm&3H{TD){^gFp!=l5mQwtwV+wR(w{}hIEJJ4|kRmg7 z*%hb0nTwK%2xq$+_#ixl%wOCH(3PN^co+d<@bOwGtwYqROLA4k^HSNfi}*GGE%FVI z2jT@!slr4D)O^iufPtF4-vCqde+3NAfVr2CAGxYBI>=BEM*si-07*qoM6N<$g7H$$ Ag8%>k delta 361 zcmV-v0ha!g1hWH>7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003ZNkl7F)ZQd${)(RV`BxU=9z_bMVyX(Z&U9_D+vSSAx-bj8E56kw}#p;~LMcbi-m^^v&% zNJxJ+HiQHsBJl|3tCWIg)gx&DR;>hbx=c?R9;z_fPVrIKDw{BON+5CISKT`~mp=%N zdvHAmc-!hGuJs3CD2>2|C1B{ip(IuB-BYv|fOZABPN3Zbo}xe2Lca<9HL$(X|80He z$5iFh=0`d}runfNAY*>q3=q%p9U$)=Agh0PA0X@XhxzaWA^RkSCYaLj00000NkvXX Hu0mjfC9AEz diff --git a/graphics/pokemon/xurkitree/back.png b/graphics/pokemon/xurkitree/back.png index fb65978be161de0d4413b906426018e0ec81e66b..063f29de679d7eaefbfde0eb265d5b277e00dac8 100644 GIT binary patch delta 588 zcmV-S0<-+yOaxdV2JJIemLD5V!=i_iW z7s#@I8|-R8@NWQ^&-EWi`Nb~P^+0j>0#N)qz$Ad}VL~bMX!kTM0(J}q23}w$1V0Ms7(7|CWkx{ZVdV5PXz~m$sQ5SkFU=|akp+=yD?K|U! zT^5_I=z~&6wed`Z^Kchiaa8L|9#7OUc9Tw?+&ob9DI&12e~1Q#0I8icD+^LE4r&Pq zr*gBf2saC}MgT5v+UCa0E$C7k$nW3O@5`kY7QmRP1sW6>UIaS-f|CJPkrM;zEHn2f ziTcwsJunR0&&L;r{$=L&B)vy~$@nty`5Tp&)#-+S#|$=KxSUtM@%Z<+^8`ZHcD48Q zE|C57?Vrw{Lc6EueV}Rm-*y-H)pSkeUn{={RJE@Wc;79eefMVs&c5DTp>5Fr^|HUl a|BVmyp}B9=mw4g;0000{67H9?fgTnZUX}E2g<`A0L<#tx8=5?F;l4>i&;1lpV%PX=M-B9a71{Y2$*+J_S*BmmGU zDxX^>L*@_wsT~ybTg?x`QE{C@XE|^3r9&YZ1fDowW!YLHgmc6hvou?#q|?qx$}a?x zgiAoV76=lW0qYzs9oB$|0tDDFFRTEmArMZ-VWC*$*}^E1j#Ey5`-HsKQDQjp*eBK7 z2-wjS81gFWUjvi(L!M_sn`THd>N*4G4S5G?1RWH{5d}NTah10`159o*8OtH{IKa#% zNP#0zt!#|DaKkCf%~f2D!WuVT6X8C5kE^J0{gB5SRmW}e%~M+f$lo#o3yCOT7*N_N zvy$Kp*}*FT>98<=3yJV#k=F#ks_G|~bXGnF8LlFW-h?|)J; zP!}~3;LQs2cv6&qdF2<3p!E;yjF()PuP5a_0V33jao=$@MRh!VVc;v71I|fAK~zY`eU;B^+h!QY zUsEh}(7{r7>P?FOfjIjMTu}sxAs0n;n-LA{7uQL9b45?{K?E;tV3%qO?9xL-d0){} zYdXmoUt*Xnddh;KW5+S#v0KS?&nwxM>`i&GvHiXueV_01Ll#2Weq0MtsZ0}(8MLT)V!QW-3$_m#YMNQ$BYQkC)uNTZ^v<*K}v z#$KAn7Nk*DWpTBVe}=gTv9Sr6N=kJt3kLL(PKf}B(t4eW4&t?V7)k}DB9k}LdY*NY z*T4t_zN1JoA>WGs0c`F0+=Xvp4fx)ikDPSR_oGn~Gg=ZCM$leJ_#6)`#902Nj82~?dSPQ*~jO;Fgmk{~`O#S!Wf7Ai@(~dX8*kgc(LQpU< z-OhS!ZBNDswE^HYfieI!{80wrcRVK4nJ7k7CPvXII!;Jjd>Hgi)bgo2J4FmQ zPMcY8IvAYce@0hmocL~QItGA$uT#)`Y9|fNA92ru@k`HsuoPe#F~GGnw?;tg z*BK88c?w;IVBsVKRD0k*(pCkz&<=Mo^dkt%LZ>Hkn+FGu?>A8qf&e6y6@} zo~js!hwHDusXx_k4hQTkTxojfLopFoe_hwl@KM-j*SyWlHe?uoxIbEF zI3P3*Z>!x55O3+aWj&u_99N0o4pJc2M8zA+vO3ensD;E_2Rgc8So&h~nz&1#&4A*; zE;4lEf4kjzSn@7dO0?M|!cByXy>nv@gk%=j`IWHlZ3@%XOIay8XXU|NdT@xJq%6{wVUlm@S z7xe(<73188=fR5)x^Ld{0Oy*u% delta 1038 zcmV+p1o8Xp2=fS#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1I$T8K~zY` zeUrg!+g2RMpD7kP=wPWk^(MvtK%D&rt|)@Ukc*;v&4>o}!*!D0T+!2f5W!0u*rnbA zyX+8A-V;5wrjv~EC5FkOrz{vcb{r!fyOmt`dy*{6-jp9Qw%_}_@9+Ej{hrWDh{-26 zq!KE~cLFj43Z-1&o>BsTM#={Y%H|hxVdE}9F3X@H<|361RaQ3dE4hGFE4mBE7gP{|vIq$nyNRVj~v zGAgQCuF7j=?4^LR1!a^~SzPU;VJ=c^Y(k}yQeCTp0li3IQv^VNl-B!H>?2-d0&=OK zRAlnAv|eZ3)BuGD?7PpoEb4@G~kJCHsNOUjzU|*C}T6~1`L8a{BIq^U$x2fdXkw& zB-VgIc&6~?VE0VLIGD^QXf;||NF88|{WGu^;L$q4*)K2jeR|pN)l8VWiAOi)3Lu=F zHm%QJUG~*~6Ma9VCOV=k6BDK%t~p$P{dN6VzdanXyW)jKgUPGfSq}h zx!X`-^yU0uonxQSD7~$AGeESY>z4I=hH=y-e%oIHktQnMT9(zBC2M>@%ypon8-}GX z7H^1?0&NBq4|b8E8{h6GX~|nZm1wh@2rm&b_AZQn1PI97A1qCdqt~$5;phUG{^RQ@ zz{O=E*lfT59G~%h-`GPdIS>LD+=UfM2u}d$FZO#Uu>_Ov>3eZWzW+;SQL?JFu1vNF zzpu1E%mhfXK^&`g?N3(CGOfvcqLOB4OlDM}Nl! zawCUn6^*#1M}7Yz@v%RQ7lgO&FcN#Z@L0UnpWHYgZYC`x)8QqGJ;%|sesaxawi|-| zU)lfEV|th!(|x$FIP>DH#legBx@V&N;F`vZ0lF)=Wj=)d1-_nyHiEi&UjP6A07*qo IM6N<$g2~+UkN^Mx diff --git a/graphics/pokemon/xurkitree/icon.png b/graphics/pokemon/xurkitree/icon.png index 26cce62f0a8aa7164331196dad290e451c610e18..475ba800e134212529c98a99c90fcc5a4bc4ebc0 100644 GIT binary patch delta 336 zcmV-W0k8go1EvFzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_}b>!3`KndLQ|JQJ_OgoK2uJhp-YEcD$vqFaLyoT$Ra2*GH5Zx zuuDa0DvEB^=8sR})BjD=PallJBX^%P3J2LMkQ6ptk5#Vxw0{BR5LtYe26BjaZacua zh`6{mLmR#!-es&M@Q~PAqqQF*2e>l_kufNyuy)z2*S&Bk<>f5|S}B|5wOR$~fJ^i~ zOJ(;V-9<7mo1!4H@3YpqnkE$DT;)Za%bp2N@}E^rV7j8*Eq6^+MSYVeGgL`=`uq2< zfq}~xFrw?cCrPDVn+L8eq*W56qfax48O^|?N1G{?fvL;415{;T;MN2KoJ;h}+nA53 i%mW`K4}8Ec`FH~448$Jy<~tMs0000OK!q25QZIj!8Q}0AY%^TWEQ9_k$MB@IY2B>=m}VN(S~gokvKt* z*Ky3V*u$#oq8TAYv473WG2bXP*#9-i<^2pxS& zrGHcvE2>zC!ur%S&}IeIF+>Je4oWO?r7JVqb!5=Ge*fxFYOHI=VchFiyM!7`P@2$O z8d4XQ%7W`-L4OB^OJx-yU23qt0X83f?Amw8`Ni7$Cfk1BsZrBy_p4kN$h$ZF;3c2g zdf&XYE2jv&nd^RN@^9Pedg=v15$Q+MG;J^N3gcper*^*z=SHy;(Vy-9uogaheK;IC zBi*dYX4{EZZ!(n~@Oc_1-)?flpXgwN4fG%A|3~x>?0-(v|H$q%{R6vi>3`2|hIgR9 zQ&Dy+s(^n?W=kr@ZorawofzAkM~vNNSjarwf3ll6d#X+q6W+1gyY8QxrEiH(C5mRn z6G;E%>jaurKY`?FG=~X9xEaR@L=c1tBrP~iAW1tmb^8W8 XSA!Q8z7Cm+00000NkvXXu0mjf$W!d^ delta 499 zcmV1jq!CUw;A9Nkl(+331S{B z0WlaN!UsU2flv+x=BogpGd!;YIT)B%)yfa(3@?v>s#^Pj(tp$t03y4Kz-f?}~qRP$s=uk>5 z%be5XuV3v3O3Xk=!t~ORGEtNzygvqdNO`MF5z=K3N;g2ovyVgj4lzF{RbEwV)^jmy z`h8c&GC^Lw>VF5n(v@wy=B=%BL7xS|G-=ZB*W~`<54gYeZom5< zz1#2p*1NCW|K7XVysi7^cKz171r@+Qc4kGw<=uc8@oaly+vYl4-ksSOkv8{R?@4Q=wHrL%ow?voXv}VB*i23JBk2MQ3f!L=gh2 diff --git a/graphics/pokemon/yamask/back.png b/graphics/pokemon/yamask/back.png index fa2cbf349d15a88b3fd319e4d2b7efd7d42cbb87..bfe1e9f6a25bb797498b2ad510d290ff727f2570 100644 GIT binary patch delta 271 zcmV+q0r38W1NZ`vB#}W;e+P6)O+^Ri1_uxWIwS>Uf&c&j+et)0R7l6|(oqh=APffJ z5iejt4?uSTw#5T%!4pXDe-#07%OWigz8JIrVK4nM3T@XN`Pl%RrLqD{dsK9dY;yC$-T>hKv0%Fha2H?om5)gsw z6(Z_J&we~#ElpbBA3Jy-;D z2tLsxj~xPKJl|IF)qy~x0Dm4Lf`m=v&X5MF0+bnpZQ zu>4#3IZPmcYN)6#fHk&vEU?Sc3*VuwX>t5(Lx)LlbVsBvj{lJyxO0KL0byM~!+MQz Rv;Y7A07*qoM6N<$0fKr}Zd?EW delta 280 zcmV+z0q6eo0)zvQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xn-AP12R7l6| z(#s8lFboD@5DVZy2f%ay9ut6IfJ*WHtJFXVv`OqkFRjFX$i<&x=aF3bv$9Sl~v zR7Xy()CG{P^(wxBQNXr=0E_}MQ~+q8djV`BBbpr)xi~^pWC%+(5u9;PY>d{4`-rs! zN}@6JU=GYgHqaw=9f&h?`nQ#xIxwgeVErK+xM_fA?72tt6$l>VeFh0^r+_*NCIze; z(8C8u2g_gp?@JtSWoMc|0Oe3}T>xu}zKMcjS^CfN={vL)FaCdV*8m*`!OkSps>Kx?bR0-$1BE+G&RmMn}bqbZFKg>DokbHCdk>!t<8 delta 381 zcmV-@0fPSC1Lp&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0YFJaK~zY` z?UF%m!yphvpMnT?JA zWB%~5xYxfeUGchvnkS?I$G0#54Lbq=+d{$yU^2jY5U|@bKz4XOFdhW#+IH_)hnFp& zZ4YH23^Oo*98baA2Id}rV9S8g)I;mFAY?THT3hW`02S)|@SX_2W?@_&O=%>;PZm-y z8q{Dap=hr{wBVXSUtCIn5E`;+hB*S%nn8L~@;Cu#`18`$PzM_S5 z;bz)FpDcZ)43K)02YtHg1PIi*>@p99*Okf}2ci)9_)p@m1`D}Ze?8|H#C1LO$J2ZH zuYE}A7}NKe17b`}i>K6O;8F%+wm5y2E#BfspDx^xT^E@KLOgzAA%LmC6#|?KH}re` b-4fylY(+r24cL`)00000NkvXXu0mjfGzY0S diff --git a/graphics/pokemon/yamask/galarian/icon.png b/graphics/pokemon/yamask/galarian/icon.png index 91847337227f4b8add4c730952fc2a99b481c1b0..0b37e835675944528127b6633d7d42f5086d37c3 100644 GIT binary patch delta 215 zcmV;|04V>m0>lE4b$2QjQn)LD2Mw9=$v# zC!px{P3+Dy(zbO0C*nfXEl4cLCChg^6EH^2+Jo`73R3DeoKWWl%s=#6muBt3_u+G3 z@Sjt0INFam93=)EYWoofVrw|~_A3tN+HW`{-+slR_}q#E`t}-b$_TyL_t(IjpdRt4#F@DMRS9%%%DbM?9w}TWMk$Iy+bcxJ1asl zO$K6Th6OzS_&c`#3*q+*Ito#|pfUM|eGqcIc~3swCnG@e`AKZv6KLDIfQh&ebqk0E zT#~%EQwhq*Dfhv+tOAPNhIw9s+K(RV(yV>(bvQ1J=l^+q9zKU7eUHNtqQjx4?{Og3 zhJ#JN;-Dt|hC{UJR~(9+TXBF*zv19^|1J(MdIf5ZvjE`m00000NkvXXu0mjfRVQ4* diff --git a/graphics/pokemon/yamask/icon.png b/graphics/pokemon/yamask/icon.png index d73bfbe62bd9bbde5e31461a2ad9eb7b94e00212..b038fe21eb694d6cc536eef0ec2d297ebbb8064a 100644 GIT binary patch delta 239 zcmV=W7V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5CjyrlKzSS z0062DF1m=i^WAv_Ez)mC(TTRlTv9otUc*{@h zeCt1e-!If&pyUOm;2%6YA=BOWGuUX~`{$Y`>%v=%If_l-l^-D$$< z9COHRFkY?^nb-((1hpT%W~r^l3U|wa!oLp1p``C|C?Pr=YWf}r7Ts_#=|jaqZTb}l pa_JWwRy()i;P%;YaNdu_;R{G+WsqNH%H{w7002ovPDHLkV1g2VXLA4m delta 201 zcmV;)05<=}0-*wsV1KMhL_t(IjpdTD5yCJGMYVy>P3YnwxJ&>Uf!asI7}=EtB>N7I zF2YI?ORk{-b^f;Gulo<+_Y0*LLiU1$=pWoWp@ggNDZ_0v0_Jjf5u5vnv@A`)k$5F; zEm#lF3&p&Xw6k{X##l&*MDh_U+4F~7_yEwc7NM>b_Ng7g800000NkvXXu0mjf Ddc0f# diff --git a/graphics/pokemon/yamper/back.png b/graphics/pokemon/yamper/back.png index 43bd20452d58df506f2e248cbd8eebf4f73ccdb7..175421d0ec781b01dff77d2a9cd09ed53fc23eee 100644 GIT binary patch delta 374 zcmV-+0g3*G1pNb$B#}W-EC2^|Nliru=LQE51R78((~STC0bof)K~zY`?bW?b!!QsB z@YG^OYG@H_8j-3ae-nSCOdXJVQ*!^G?i?jmqv%{GF3z8j0+L!)t0k6)Bpg9`N8iH+C}^(JO-B7P~PN>jsZf%Egcc&KN~^ z&@2_0>m#tl0mKZDR39Ppfa*UZ2p<7PCuy#O`bDk@)`bf_I6#uY(07`7Q UxqC=uBLDyZ07*qoM6N<$f_kB%0ssI2 delta 381 zcmV-@0fPSh1BL{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0bfZ(K~zY` z?bE$Z!!QsBa5rK_YG@H_YmuNMe;a?KOqCdVQ*!^G?i?i{=Q?!>@#NemY1hp;cN+<3 zT{jOvQ$QX9&VILE6mh_Fd(-1B!1g+L&4>$%L(>d+aDnM&FrrgL!7X-EDBcbpl~VIQ zkDQT^J7|^~%*+w^zypaLpqM#A769FUMi4&&>|n4#Wd=+FkcuAUipMwTe;wi)!3=>2 z0ik#VHOD;9Ly(kvAjE`4fP{P@1ynx@B;*DZ5%4Wdy&%X!FtPwg6v4Y_02D_7Y$=Wc zDNFV0=a*kiAk|_JKBYV24+_11u0JlC}u$2KI@q25Q40rw41 zt+sOa**>7EmK#6Ufa;&}JBr>Iuns<1I>hftSh9Ze2iP3Q5WvaZ~7 bFG79*N^H2f0OSD500000NkvXXu0mjfu5zFV diff --git a/graphics/pokemon/yamper/front.png b/graphics/pokemon/yamper/front.png index d5addebbf7a0d7cf8c87f9bc95065f61bdf01e62..00b5aec4bbbed19f45244457e2dcb84e763930f8 100644 GIT binary patch delta 523 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 DPvl%t delta 778 zcmV+l1NHps2Jr@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?J85K~zY` zh15N3+dvoq;9G(qgUY#67G-FmodV(lrHe9n>f&T6vHw9wQ3&S}Q%@!5DFnN1Zn4J> z?HV#3r?U^ec#i^oj%-XI{6;GUniNYzU+x!UR8marmV@@h%;4W2`vntcZ^-01Y}C z`&kGzXfFZlXYT-iEa>QBY=-DFH_36>Iu+vgg8sR@FhkT?TEt=RMGS(=b0dU$uP}#o zCIx^gfItHqPXa@D&_fTvUy9(;*QblXVXQXkG*1=S4B*lreylUE2vnCwn<~V8N~hEb4psr%h37E`=eIE!ll%oG)~0mMg}6PLBj5#KQ_KPT z;#Mv(fKU8Vh^<;vftyb7g%is!g>b$l;0X3fmzP6)$1%u}cmw-Zv@BP#l>p%rs~Z&p z5E9iMr-1WiZd7aouAf4I8w8yDW$@Yr75hXTwul4*xV2UQyzp_WTtu7m*c@?eV_C|= zn_|Bm188H(D^u(zAgb73YvFg*RwY=xVhk31=56zwKwo%^k{Qv*}07*qo IM6N<$f;r1rf&c&j diff --git a/graphics/pokemon/yanma/icon.png b/graphics/pokemon/yanma/icon.png index 4f9c0addfb8148f2a518524b128ecbc0064fbf6d..faa882ad180c393fff52c8d15aa1543de854b5cb 100644 GIT binary patch delta 343 zcmV-d0jU0m1FZv)Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`1``}^+H z0003HNklb>!3;_89{vi)&1`VB>yr91*v>AOt&_@R7MhR%T+9s?5o+MTl zB}2{JsnuWu2a*!W1NdVH%SVtKSQ!M6f>a`r@eLqduB@SE^na@djLFR#3Fc#T#F%C$ zqu&7e=h5XDCs2xDybWZB=w-ij8s4pyaB7!;SbMh1!|kaBeNA?L5p$ZzXbjS4dgbs) zQw5NmO)Qa2tBaERUoFKOdv>81?(L)yK zMhR%L+9s?5o+MUZL-m@i;;Ex67k03X&G6*0!sYE>EJ3x5*;F79FyIMdW z%$$f*U!x($FdG?d0%R|vi8)3f7eRj;NDto1)^r*^wH9}3O@BbNKI`S__R^BRCp}+9 zohDKx2k9PO**()#0R*E1izn6UqQrZ!xRwCSFh_!0qp?7L}8ZWvF*vifG;~!WMPChfJKOBFw>W z=gq=&N>yRHmnts8aCgHjOb?1M9jLz`i(00000NkvXXu0mjf DLDYr4 diff --git a/graphics/pokemon/yanmega/anim_front.png b/graphics/pokemon/yanmega/anim_front.png index f5b4db9afab276a0281de46531f61a67737ca6a3..a8f685745e2195ee5e8942f26667b66a39615d85 100644 GIT binary patch delta 1173 zcmV;G1Zw-w2-gXa7zqRe0000yDJS*qr398(X;1Pxlov5USL|gP3_Lc95Yll_@OId(b6y=n2Xo!%Kj?oS zvG-N{OV%sp(978Rp6q--dfp$l-{%uS_>TgN(04QLCJ3T8M1GL0PyyXG*;5H*<0H?%$B3CPdu*QgucVR1z*N>NS zwNzoRV#0x}#QO0ZkmKE5E{ze;p(TIz7r-^3PL~jm?M+CDPiTBsGuR*Md+hiCsLUqR zA%y+!(Oq;2)Z3?VUR!L5673Tjn+$lT-QQcuW8xC@^+^ctGHGUK4-&jEu<0 zopACs_nAh>@PZKkkDZ89V&~R{E(flLQ*&&$FwI|d!B%v`!}#(eODq9YC&74o2bAo{#WfSH0@X*#`=hUJZdAMW z1Z$WFfLG-C=95Py%atgR0>poEnQjos-Lhz+7bdb+0o=8tDC){pLl8~dM63H0k$7)x z|JW^;;x}o)G=w9|g?NW;&qSK-tpZqhV7aY0N1A2Ys}(%WD2nbW%W(&dk(XWriw@W; zU9&tZ{c)P}vo%p9-$(=E3=li^xg1USmq}6A1rd8;kU2-jit~nveiItjbLK<6GZ1a zg8T}BA(5vjUJic|Sn$Uh%54wWFpVo((3=CI@OHc%|Dv&fMZC}h?pV@;tmkuq^@Sc} z{9xvKkTK?ZkPmoS@wI>EOb_^Rz5l~h4+xK__n|Y>gNO`LN+-j%b7!gt{%04X!K%`M zn|(ObgFkz{gdP-_Pf=^RHP-{D?tDH-`s9c7-dyOxUzBhjF9B*v0r1w69ym_D*?znv zowUg27fX8Zi{tcm7ewrhn+ZK=QetoJ(kutJlX}o}WO-)W1(tumcaYEn^!2wg^V#dO zU2Iemdf=MqV_8e4ojDi6Za<#VfeVyq6wF58KhZ;y2Kl37{2h@E> zJZ0TK1M#D=|MvrC-gSO!4kFsz4fekPyv?@*R|=mRbS~K9R*=SmKZc>cDC*N5CWoahT(}n62_P>_2c*zg7o7T2+IE} zf~Z%-M}R!K`IMjl7IzbjuAV&*Y==6JSO7|Jjq671+5K$crD0!StyCjk2k>#_oTs?hgS0z2}5QoY1_ zYa0mGfTdx7aY52X+VcjudMKl}q`-iYs=%9I^l>Dd1q3gAo{d>&iEi`D^{L$El-ja z`_CN+`mGa6Qz}13R_(u21jPk_4Wcx{{Du90XRR*K86kbioQL;U_Fu>6Zca6ebsqlO z{wpDBH|;_``tZ*FGa~np4~VV1M$f=+>^~D^x8$mw^wQzFvj6J-o$8N$Y;$bRUD$s% z^|ZJ16pnptv+wO)*?+aZ6D5?jd%~_gcV++A_5q^J8DF%q<(c|y|F!#}?Sr*_YizA* zi>-hc`>&k?E`(UujZo<;<_5yv{_DYnyY9i-L$3DW*G5mV|7!lzv6m)@dSCNwEb8X} zx-VJ?*`xC5+GpN#Yw=I@eBAsJp9Fzzs~>w002ovPDHLk FV1k*|{}%uN diff --git a/graphics/pokemon/yanmega/back.png b/graphics/pokemon/yanmega/back.png index a776de84055628c27d55e59464b372831e387f41..b14ea4b6174b7baf6e47de971e302977f3d83a40 100644 GIT binary patch delta 591 zcmV-V0(1w0vJg|K~zY`?bN+$+fWn- za80gOIZM_iba&{I2aw~;1y7~mL0lO_LI$Hu1sj2S5!lb*sR)6_E-`rugDY-1tA-4I zhMaRh^x;bOUV4{ne187xoP)4s{Xd=O!_yhyjZW8lk#{=6F8t9Mf56Uy`N?NY3wFAR zHDeu3^d<&$G~ov&m`~b3^gJ=ZpR_JWMM!YhKAwyqz&e0mf}jK7_jU_l2GI9(9Rt-f zRj>&Knq&M34Dee)Pc1-#pbg*)5NNJlBU@I^uyt=Ldwm1f1 z|LS7{@CM-A>3{k%sDWuBuaw6UEFH%=0y$kNKq5tmpnn}6CCpN)Ns%CMZZB$p@xv?= zN?;%P4c5aZSknfS01!*8I}M=QCn4~2!ZG8r4)g})CMg2ze@=ah)GSEo2pV)zfwHb5 zaFArFTd?ei;eeG8>KTx86=1~?n`I!Nn{yYLh*Zj5L$GCRW z#NNAuos1ZcMYZra{ZPL~d;Iak?vf(LVw9TPy^NjnWht-YalZX~KB@%Ev}Di6 z9CkmqO;F7jBt`lB3h;aP{nNGys`h6^iFE=WfAj#V1MKh&8=z``e+D@iaXst+Yz^i_ zw|5P|mZu;Z+`ef6-U6JvgSQ`s4KPdPmGMM^mFv1Epr9)QNTrAn4DOye?Ebc zr|Vab39j8Vaqu5tFC#`1EqqQ7>d)wa4?pd1C}J{E!hTdUB_Xe0SQ+o{V+Ew}O*(A` m4ix_79Y%~MM*RE7vi<dm>ez;cOdVSf2tN7F=bt_p`|}HshM-L{z)R4?r5XTeHh+o+RS?wU>3I*C2b=-r zO>Evt7RYJ@rq>ym5|CvQLVz`@x$OyZML}JL8@#fwVv8MzNtnglrmhRS zr4Da6T5xcHj;<|CcZmZ5`u4l2vBT`7+ymYkJ3x26jE`YrggL$IHxH~Z)!pjE{ft(a zEaDMf3X}K13)4gm9|#jsSK)=Bv=8Jg%!k_d-%gn7Cnk$d7}f(X47*6n33K(s{a%=F X53u0;;$k|v00000NkvXXu0mjf|Hr_U delta 393 zcmV;40e1d^1l|LXUw;8KU0l}xc}e{PdU*NkwWYc?|AtlY(T2Rdfwrde^}EBsE8ix02ub4 zGvJN3vpdWHCy;e(Ks$b%D`@sJ06yL^NNdZ=fc+7uZ2%tDK-C4mw?R_|a6cS|G596} z)DRQ`@&q^>fzk#MC{~ETcrvirEjmi4Ogo+q^!+cu7(1Fq9;A*PUE!25pfu_42Bk5? z2EtWTizx{SYEhwdLzl6F^YB9jZGG;i6}+E>FFQ$)>^SEypn=i`A;C!gb@Dbk!S}ml fO78rt{k!@Eu_dd_-O1hU00000NkvXXu0mjfcqNrg delta 340 zcmV-a0jvJC1HJ>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0T)R`K~zY` z?UFH1!!QtquVTxDOD8sth`ADq2gW4Ij?ghMAz66vuc~Op;9p71)hNlGLFx#7lco3N z-t#$d)_>K-{VTxA7;`xuw~F781G7fNo2!PNB+(F&L2ME4((y$ZK&HidoN!A?y9H1Y zJ=P4kvk3dR)ARm^14e9e#!6sh-@bQi;YkiUc_D7)h3_L7>s%5|PtepT- zKkWN~eJ23Zvp7H|z~Km#24tXEAp^t7z-lw=sNHhf@pPc;egTHu(TQJ<7in|HP`G6d zC~f+?L1_)Sf$|j9Y)eXlnN=vgWv&n+{7}LADE(=L80Gv~f@bG0J%0gPC=K8Qr}@{D mzcDC&+)TEl0cZUQ0ek|nC9BMZa)&Vh0000!axj$ z6Lrf(QmH#9+JOlOLF!mI7_znw5?d=`R62Fx9m*S2>X0EsaBHVXeF4Nv)xLxhHG#QO z`4gQ^=g;_GB2)epgneg0xV?Y3OgdD=d zfv6eT)_c2pyk+1?T+<5u+=tnukM}DzTdY?MK&HD|4meFGVqg-4lK>%vy|Vi{wx|mR zEF^<3AK?K29*aqaf1M_i))w(OO+NvOgsCUw>sp(1_nz(&IuH5RmD~=6B}5vqHtE+^ zAvXu`c;T%}7n|f4wv5P*9(LG&{ZNkU3VrYpdBggTDuFtF})DkTB2^bu7o zk);X~oyQ|72L$*EF|rgD^b2tVaUN?xMMi?unM_5+ffB$*KfQpSr3QY9%j!0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hLKaK~zY` z?UJ!>!axj$gSurRsnnfQ+JOlOLF(9WFtAbwiLDheDxJFU4&@Chb;uA9+}bHpUjXq^ zwJ)KhO<=B6{)Z4*>93DrDHMGih!SpOWMQAWu~Ega*3SCfU7zCA$^fhy3YEZi~Va zA`O_EO{5Cs}ZG2+Ys z006s5L_t(I%k7e}4uUWchLLX;f2bQ52T2!BEVM{R6DGZ-{r@(1{hKdIex*cgSoSCL z#+Ec`i{xClI*pn}#i-qd9uc8qtN~OoF8OGJoLe+lj|M;+dS82J0ig5K%c9TZ5lrD< zam&toDWy@~cMn}L* o1Z@e-!p9q!dzF6hA$V&(UO5hul`5H-vj6}907*qoM6N<$f>V86MF0Q* delta 220 zcmV<203-j{0<;2ZLy`}wqZLWXvCCRUpSOe#IB~Dyv#_Z4p8pe=O8%iE^*kBP6dXF`L zn!qI|2r{;4uqFV|PQ9-dS^((z^s=y-JVICSEpFL)FQx1hgH^}w(8^Q|4CqS3smhHo z^CO2*0000O{5CtHQJv)8?00ziOL_t(o!-bc>Z|gP?$Hi8Y zCo{BV^>ukRlBFAagwuACLn3kB=HO}RX2{@f)PRg^f`f+fW~4x$I;Cg<8(zD$|3d$$ z9x2(+mX%a+e(AnCo{o3NPdv|E#H(Dr_s4&;==g6M-@W&Gy?@U)f+Pr0bo<#dTLFAZI<=yKv^-1>FmvT%+Y#dk+iVoS@%wP7^64pJ(C`#$wDO zT$!n231}Aa`+t#w@QHqU)9OaFeE}IHy$Wu?r$dK%n56Ct@0CsSIB2nD%ukK)YSxnbQOYdLpbni$~U83P4>N zyF!MqtL3dR0PQ$HGiP>_Nuqp8T?jDfPsFDTD6a5PDSst_;TDmJM}R-&s}N&E2N{Hh z;$C&;8KzLU>@&DAD|Qoz!C2%BARFOUhGwQvfk}u00CXo*5CxOlXKpCJi{p`DbfYAX zTrQO-(HRQ9{+m50d_Vu1o+LjzDV%zU-afmVT_}YQ)XY}yewGXMnmX7bCF*4 zhV3|941a7Ql5fvlvQc1Nu`mUd&U)wV(E@BD66rkbi;*utc{jM>@rdC@BuW7s3K(Ft zp7MMeQ~rR7dcaa@9SD>v3s<&TnEh~nZw11uxqQwI`*5FbRK0+-7NKF$%lc0#s)B9f z1!LjT3Oru|$YTL9;S#qFhE`zhRlx-vz4OQq+kXvT{w}Ot!Ex7L+{NKbW1Y_V<{s@r zK~-=zN|)<2oqs!e#5_cPHAeD9CpC}hY;!Tn!gb`furgR0v*F_`+FZOl8`TQh?;iX# z^8TR9c6W(Jc_O%L;%0b%gr?m&6zt~+albV%lQdoKssOKRdgP~pb-A9u9NdxpBgKZ} z3V-)U+XsEReet$iZ?{5wv=@-36=3`Rww-71P|`pL8SO6jPum8S+zyCe4GXv1%_7X0 z`0#QhAe4TEih0JdwXs^n!TbBV>Cr$ZPGDF@v3HLqx39-`(5bu-P~c&9yhYbz?AMl^ z5cn|G06%u%Q6DFe3~@xP&`v3>3a(oqB7aHs1U=+5G#NixK}LjX5P2CzRp4vt1sLV6 z6WCOo2sFhJA`Eo`T%meAU4s}4#k2A1)(Kd(nNXmcKF}n%b+b@ZtH_rq@CHE=hR3B9N+F40{C+-l$SVAfN~=z>#VNlcO24nJEMT7e)(*GWPx_ zaY$fmV;)s0u&r<5pdWoEuy2gXKYva8S`-MPlkm9|lmxc1t(@s(FfJ3xpP#INmIU^r zu`Y21o;2;*jbnTDJqk#d6a?lRpa7$2x>E3;^6&D+pQp zEKB9N<)CsyeMGb!!^t5!FsV{=DSTB{7rEAQ$8bMMfm>-oVRvfcZVav`P%>O=jt+`i zQf0dnhiE0k#UCF8%y#uGN`E4@h&C)3F8;U}s)LFzVkBA)O~G(+xL@I*hsao%9m9pf zJe+i4Fc~hOWH@$HbxBi8p4QW4N~jj^W;zm?gu#F4!^LtA7p(hEuN#km1CV z)sJPICpP!nxQcr64l`HHcB`kW^?k$4>2a delta 1798 zcmV+h2l@Er4(1M!bbkiiNkl7J$iHRj$m?mbJ6Z+DMx1xFnq0t>lnM zob4Qpn(GW1?2R=bBc0&j!niZCz>coUVHdFB_PV=&;r^(5q-aN$l{q1kO!PiKKJmxX z7lhn}QSBOhfBHL(Pk$%L!}n+~c)t-=0fKOnBoBimc~29H_kTFqQl|r&*E}r>ROlb@wQ&kSZ+hzShta$W7zC5!T z5m?_4QP$As%zw`zrfOUig$c!6gnA^D%b@zimJiQ`DeJv>faw{(%Q7G?3DJ7$iU?CK z0C;7on1@;_16Ma8L+t^G+Yw$FN%=_6gpKFP#Kt|q)wQuBukFonX+KIM02L+?T{ znu>yQo=;#YBePIIz$C;W=a5dQFb-$;ugnnkkR%gB$xcZYySY?ILNWlp`!{`3@C*Q~ z*qm@t0`M)cxp4U3f04Tz1vO40MyP#|OTS?QTMZ`vS&HmtFzzPNYGfxO{qfRGHUKsi zjWVvX#ed+kJ6Ul%5vg<;j+>FKxI%ZZ;K_u-LZnJ@UIi$JYLP+#NeFv_iF$&q)TsbU z`Hd^PG|GQ|e6&F2IJ{p0V}}0nnC(Od2zLK#!Az2Djr=Zv>z174X~DkSF5fD5odMDsRvVTMSJvxlg zoqrqw+_nH5-+%0v`6obHkRT`h_3_j8fJ$Z?#P5bi`~7Ye5Rz6D~LGdS9? zTSVpg1Kma>)Tsju%?X^{lg=IJscm$sC;`G*l%Foq?G(;y$94$#Fzf+#ngEdiI*^Q@ zMQk8W2&n_N9WG)?^b9f-Br-WW8$rgHXn!sWUqu}VG(jO$dG7!_6=#4Z&_aYE4uBEr zucuosrb4lNy191%tsf=;bUWZA4ewnq6tx6!fB-P^9)Iu#wzEe$*XhXh4wy*x`eFg%4eW2mri2k#+P3d* zXxp2g0Kk1*8kkD}094U-TOoKU{#vYN7XVlT`(bH;jaGAAmKms@3fg%EKXQKMN(7)| zpgITGdDw`}z&RXTcgEEKIs9}>#lPKvq8%J=48SXgenPo&-8?|b(DBjXE`OKCtXwvg6Adv6f>~I$RPRM>t*pOocf(TqMjBssW&A;}!P~ zNAKzhyrLQJaI0}Wfmbx;9gZ*R3A~~q?{K1_nOH@Ok$1T3_$-d8RWuZo4%g5t1E*+k zXq>|}0lq<(4)hkq06rgs)9HPJep z0Lg1qOsk33;l%E7-!zET#JzPmkh}~OpnV2_CK_?__^XUm8PG)cv(*F1V_62R0nEKZfF_o}93+ndF(-uU$~(epVwq~Y z+|DWQWsrqc_69y=1AobbkAoKV=KMNqm=cgYm@saA38ZYnNgcrbb!+=8qt`hI(OeDn z83B^l`ZLOT&zO$nQqSsuOT!eLBPFbQ$4vm`BQB`>Y6{!GL=Y92+plK8CUH@ECf*gm oe&MeGv3ucvyoEcZGQhw80p_-4laL(`#sB~S07*qoM6N<$f^U&uGynhq diff --git a/graphics/pokemon/yveltal/back.png b/graphics/pokemon/yveltal/back.png index a926d4a84ca5508ecc9faa0bdb62d8dfcfc60e76..e77483c672c15ab3055c675c8a1c947bc0f9930b 100644 GIT binary patch delta 525 zcmV+o0`mQo1%?HXB#}W-KmZ4HNliru=LQE51tw-*o=X4#0qIFZK~zY`?UcQ0!!Q(u zF6Pq$QE#FK?~gi89S7g?1q2>nUTI0e>rE=`E<^;q@>q7>;DP>b=(FR zE>TAbK$CMmIYtD_XKr~oB#AOwfTUa@wbprG zauJHUe@VM=`#t)43rM80F&>A3w7%AxT~DU?%Syj~Kz zKZaS|y9um{N7a?jhn)iW3;YCOfn1K^s--*AVv;M0;j8NtCxqYSh P00000NkvXXu0mjf`~LM& delta 556 zcmV+{0@MA51(XGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qsddK~zY` z?UcQ0!!Q(u?c%l2i$lDt$><@K$QDRyK?~gi88eiY?1q2>oeG8Mb+Y#ny0j&9^416G zy;5Y$KgrOpJ)_R2bFL*N!N2~X5KzZ$fc^?~lmIk2=i_5UxO(7LM~Kk*NL+LhaS8DI z?uZH)cSVGdos0d$A~ujA+CxORIly+h1i&FC>lh-4+15B(Bye9{8V3~+HmcXC-Tp&3iSM9k|Yk!zU6%?Q~5AZ|q1lEO9M;;v+ndQ z^b!9#_uHRp9x5UYeiU}`>t*<#ckg`{Ncf_oAYj3Md5s{b0DpTP{20nl4^oBPR5KM1Q;d@Sy+~#k~#JJ9yg4h}2vMh5_aFM`O$nv;q$!05DJM0QGo9vWV z)D9=seO%VFHX*m!P7%@X)AzdxjlI+yzraePz+>vc%MY zS!?=gINY=WlUCH|&TOku3jik$5^4uAodFsUT7^tcTn(usem!arl+J^b)q@8> z6l*Z!&I4@O5>tKyqzsHzf|MCA!FER$j3#z#(lH|9&luFs<3I0hV+K%iKpy}A002ov JPDHLkV1l7Uxe5RP delta 375 zcmV--0f_$e1I+`FUw;8uNkl=Hp3`MyCci;f*t-PJ->@vqolT$b|-tLQW zL8%{sy$ea5Oz89xl0JIQ{q`aA5P8oSM&Zz~-G=*ogb=#mRc;&wg(!~OtAqy?IC@D^ zKza7?B=n6cQLcKxUgppD1IR6&rakTWSQ0e1`ujQy?h8{?dw=7ltm~2pDH^2;Ss!CB<0I_trQ}Pc5{jVPVDXl_8>_Y zOi|UB;4Ksn=_Sm+xN!$wbX-7l^j$E?{onapVC+9eU}$KJz!1jA01WqOo~90rhoJ#E zfvLZ&yszt&8gMXM-98P6H#T6>hPpa^%m#k~T1)>FzB#}W-e*gz`Nliru=LQE51u^A~8;k$|0tHD#K~zY`-PAE})G!nP z;7hu8XzC0%=Hf#TsRPan15%bY{sUa)ArkW~%v^>}42X)2NH;u*6^W6R4ONOz)&3}K zC(b!%htA;ThWFij&(5t@^ul$7VzyOi0G8jJfm!Dh@cGLuNM!|fd;7te zM{0rm({B6YXci2}TUDWHw(q7OYfTGCfW2s%-S+1sL2W=*Q~faA2g4r^#5zwm%Q?*%&V0__MegbgCI09;uhU}FKf$d$DPAvxDs z2JhkUppJ6V|9dPQ5f%t|4_GcIncrFWI#~B0Q=`s*T3~ev0|1zR|FAC1Dw}|>-@G7^ z9oYT-?IEDl0NIz__SZBYYLL~cLsf0Bry#BM2uOgvt*YJj_oP6nL0VFlo>j7h_+x-K zLXXghBt->w`;7sbkNTMQLLi?1lj3u2bPyXof>0pEzfvqrpgR;olvpEvzj?Yb7CqJ- zpx7($i1>sL#t6rMo8cxk3MA)jxPWJ0>Vi|K~zY`-PJ#loGO1w z8sxEHiUs}v#TohmGPDI39O%-eLm`E39lLhxyVD<^CDFO`mK)yB@4dUzoi*)W9C}Ti zO2(e4PQ_7a7|K*ufi;z>WLVJLN~cOmAG!s!CIL=+WdMNH~~J+k8mLEwLy2<#HTHbBIKQ$`Tf3xL4JP9Omo07ak?*zU)m zgDKi|Rx9k{c8~%C0nLLp#1#UU10^Luhq%IkJD8$Pih%UvICnUs^&-%$ejMi(?@$8@ zO=|lh0miutoRxuIk^li7Cn`$^qZ+#&Hk3>;UAy+dEyK$D@BAIGry= zuo5J|>*8tLk|G!+z!k@J`=bC3PI(5nwf@t}FXF&m0^eW%1q`^me)}~CW{#5pTYzs@ z*T0tHPofmKBixM_)9Lm5rIQ>+qa?vR^11hPI=#C7t$=x$0(U%gyu;BHQ-mK>5GECl z!q7g91h^VsWbtYkUMAawG#r0M(K8fpM=H4B3lK(;^$|r&1x^k$AAEkdSZH;eR^T@Y zpli`gT}4_!G%0$pSnqyI0XKdI#v;L_4ct)oTIbmqV?3I5V3Vq%w*a_j(ah$IZ9Z4t zLZ_R2uL4Z$mIdtmp=~cJbki##fYZ{52ci0w9>ljc1NtMIj1BdB4U&IrE5WB@eOt30 zFCN=!e;G_%y@epVywx`%c#_mO3Wpw#0K~zY` z)z!U`k}7}s;ye~ivA};oafbc@8QOvi4s_|#p^!qij$OO;oxXgL)XwcK2Yx@l_wG(7 zY5(NVYwA=oc1(3Dj!MH&rm_mGsZ1rqg62j#RZ9BMEuggs;IvZ)09Y-WN`PL=KwVCH zBM;0COdSEM9553jTfJUSCkR^Y0swlCZ23VDxF&xBy9BT`kn!M{5d`%DAh5O-L;wtc zBG3qI_G8e&6zw|80}D2T6c`9-9<(8@5V#yDDFHgf6$aeF6m3!jq#wt*!x^m?foApN zIJbC*8c=9b+m#70&RyWF4D^x&2=F*b0W5h*0*=c7FxW;8_H0h# z{lI_ed@h2eAOT(%PveFZ!5{&yJg%GX1+aI_Gr+CYA69-5d+sgp?bTnvfV-*N_hw z~dkrTO$3NxZtBLcb{3=ZU3PImbr zhOE;FM1PbOC^dtZGLAiR*(H7wun8+d!Hg0x+Ju$(VR5*hfIoiO{;Q#BzX9K^U+Nmd RVFdsH002ovPDHLkV1mw)QZ)bo diff --git a/graphics/pokemon/zacian/crowned_sword/front.png b/graphics/pokemon/zacian/crowned_sword/front.png index 59fb0af2170a1343f3873d470b49903289f56bb1..631bd42e8ffae1947bf78335dcc4f41400c28e3e 100644 GIT binary patch delta 1160 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 BgOLCL diff --git a/graphics/pokemon/zacian/icon.png b/graphics/pokemon/zacian/icon.png index 474e53ff9d0a4dcc8c0194d945b09a81f0c55a79..248edb4723eece7495fb52a7739da89fc0eaa7a4 100644 GIT binary patch delta 330 zcmV-Q0k!_81GNK?bbkN`bV*G`2j>O{5C#$T&S-}K009_DL_t(I%hl4ca)cld24LP` zAI3|Qf-6p2n>$)~vvg^;kXOo#ZbO007#j;WD8^ITOlA@){pSZ1J|X__fIJvOR-gc< z2x>F-=LTuBK5RX>%g%rZVY0wWFkC9FMmENU3769Nj$V-_Wq$ze(wLQ}N+T(nx4;k7 z=|h262cKOX>#mV5 zEg}Z0Z#CLk;Y*!wUr%Ok)NW^0>R>cjvs*G z3=CifX4MrsG6%zC*8Fy3(nhIcS!1}6H5VEoa?3g+lTqUE!X cKK!DOFLg@uF%FU$B>(^b07*qoM6N<$g0=ONpa1{> delta 316 zcmV-C0mJ^a1E&L!bbkRINklc*Oj>#WWf38t=X&yl`^PtzvccHHJ7Y^3(qq7EFlsuh|3W$2uG_5MT=!$^Fvhn|9{6Ltv6ImF*LYR5`rl&9;Y1dg8mW_D| zvnjO;Bh>o22Q^`wjqEH;zR4m?T?mu>NW!?IAFD7&KRD`m_G9qB=*JgzO7k)6oMg=a O0000-Q#VzvVvGB3f&%DAs{AtnYCQ#0;~CIR@^8U}mS6Y~po!|bqE*C! zn-Xe3k3sqhNv)+Z&16gLGg(gm3`j~!mgGq95FH>Z%m}bGrqU`htOvxhS9FNAA;D0f zs=SsFgINcph!#<-ail!Ew{6thywNToE3f^7!(& ztAV6*Kq;jLl;y|Q)MYJq~M zrxOuN1?Vf4f7wri22Q8%T0?TMgOK`>ohaaEa|Z1pT0j^Quxt-`Fl<&%3%+#1Ff?5- zY^LX0tc`a|(%Re-@l$HPK>I<+5~CqN5jqHZKSkpqKoL5&7^llYKwYWq?2`$^wuy9c z?L#<8*1L6x!qS*!y<2y2hyh@1N$3LtqvfTMM#ZrSB)I+m%PPij*o9VtaQ?IU4Z&CA U!aiHpg#Z8m07*qoM6N<$f`{NY*#H0l delta 694 zcmV;n0!jUo2Au|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(MD6K~zY` z)s(T0+CUJ7jeJUt4T4ird5&vRaj|7cs$lOEoP@6BVl<&mgJ}~>X4^!fppF#jc*@Ky zHl8(3>SPL7-F`Ro&p$gj|5kXO*Z(W<4j}Lx=he!oKHA~>0N^>ZlFqYjSBi&(iO+mD z&pT4|_#P(Xt>?Jd0o+i3h2`=Qg52-BxWBG3g!?6@fUzIMXbL%=ECBb9<{konGRi`( z(F+6+L3Iz{!zj~;D+_QF5V6R#rWC#aq9n$(QmU#lXW%ALvcfFiAu4t5)c`$ctasI9 zzR&Z#L_ME{z$R?L;#>mKqbLe0NPAa0D*$HTOq+1xNDL`;K4X< z5`^^>@B#q5!5RpEr*1uk9o97fUjJ%*h%a->DkB6sq1Dr_*<%p;{?P(32f7@U!lJ!FY%k5QYRyFHP=+&Fplh zrcM}!(gk5Nz3Z%bZWo*Of{33}0h~uE2B8a#x&S83An5lg>URN5n6bq;oOS}dQk%0+ z60mlLA9rCl;mEBt2x4Yw5dZ)H diff --git a/graphics/pokemon/zamazenta/crowned_shield/back.png b/graphics/pokemon/zamazenta/crowned_shield/back.png index c5a07e1ddc138e55f128d35822a6b211af6f8c3d..7ae50eaf21904cfe7bf0763de006981ff1165aa9 100644 GIT binary patch delta 794 zcmV+#1LgdR2mS_-B#}W-e*gz`Nliru=LQE51|9r(B&+}c0^vzSK~zY`y_GR*+dvqG zr6SXgmSRZ9>U<${d?mB3D7e8(3bxczmrz=rmkuS^y492vT>1wb@+UgDkl?j}4u<@W zEP>KJ?)TlDq?7H^EeE!2y$|pAes`ynWj)w%+-LtG4jQg2A^Tqze+)(g5WBi6x#|)S ziFo$jnz<)0c0lTg_{@iYPsRlhG>~}Y)>?|FGw?i`7Kl^FeDwywfmK+eYIV+!E;GRP zWN|_=0?Ig(>DOsdgP23o&SZ9VQFQ1T`j)hKI_bk3^sRsHy=1FNo)bgNy3xOY^1UQ~H zz##MzfVSYm00N>Wi^?3(L?}`tBQ~lW)QoiIv$zbn#4joUe>R^9QEDPk-Wf&_Ff%&3 zxc=S<_GzSuqCdIb3Jzc`f0Uq;@)Afwm z2B(5^{`$pwmnGos#B73+QV9h5zs!u(Y=ZbP=gIx;*Z_R93F5a?o-FUC2H=$)ByfNG zx#%)5BS_%ne`a~ds`;+>%q9qh?bN?n-q)XRTq*#*NMQMgmVi70p=TmlT%RnL&C*(y zf$ONh_+2fXAjLW1pNU??`-`8Oju<&=J}+)lMFga&lR${=9u zJ!AX1F1iZ%paAi1O9Aq*MqLa`Kr{rAAp^I2s0$1MUFc^&Iw*jhfdnuF%!8U{>!q#$ zNBmBtbPUlJBkj;-j57tq+5kgri($53rH&>s*E)oN2#47#O&h(?I5DepBwEzGB07*qoM6N<$f+Svd3IG5A delta 803 zcmV+;1Kj-n28sueBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^>jTQJCjB{=|KKIKc4q_=batr|1Hmd{1;-s;rkMD|75{nH2`s| z>yocNA|jE%-MwQT$PYJvB6UPU7Q(LwlM;v;NZj*lEk)EBcplD5#H(YzdV}D?Dy&g; zI;V%{Ip7AeI3YO!WxVO^^Q^2v%q3}WI=?t8I}8l{p|p53?JUl|I!;d!ajE;P08S@P zCDR_Ut`ho~rNP+l$-)90FZQvHsud6kTuhuK2V7q{P$X*b+U)>;(7Znuxq+?_!)oET zx&$ixC@&%ZrI^H5WxgPglzN!Fce#oQN04dOIleR0DmH^2{8nS1W>s zEd;&^3-AJMfI;Xv0BymA0YpS?7L_@miCBz{jM%7hP&?9D%u^fiNmy0@Y%v$YY9dnJ zIYtpMGkUtXe%}axgnCd4c!|KsjG!ewcRHFw#^+`PCFux+j=P%yS^$|CXXUYV16?90 z0G{%9v%4Ad15O3!{KeC|U0T4aso4Z2RtW_9Kg^8OY=VR-=h^M`!~jCG2@NnrJhT0jwj&=Zj@ zFOOHNrZr0&xJ>%XpVhnxy8;PML@(j}<#)#dj8*G#KIku-MVITVjb}EFi&1R^GGmtH z!y2#!fIgC4Y+{G3K_LL@si+K^kP$VZr0uTk6M!QP43)u-*3(h62Ka>S!R7Wr>q2Ni zXRHh&#@;Y~wpZw)tAMu(5U=5GML=HGsEeTmBtsAxn!w*Z)CGosF7&gX?3cjyKmr&7 z_Cam4^GsKOD}FmsI)-SAk#^`Z#+d?AZGa)R#4tavQb&`NYaK#BgaZxi%j=(`o*O_2 hDu%}W^iP-L{08dvP2&WOdr|-Z002ovPDHLkV1ilPaE<@~ diff --git a/graphics/pokemon/zamazenta/crowned_shield/front.png b/graphics/pokemon/zamazenta/crowned_shield/front.png index 4d36d30e8d2d7e245bd00df5a51526aff8fcaf43..d16ef83dcb067e320d0bf2978209cb05c7ecc99e 100644 GIT binary patch delta 1035 zcmV+m1oZpK3BL)DB#}W-5da5tNliru=LQE51|vNgIR}xCH3939#Uy`}z`n)weLweo z@9y0_5wbE0gc!v_k=#2<#IOw0zE>|;hE=U>-LIR~ie*~&8 zI#9N>e+m8o9C)q(;p&|$*QJ!Qw3MjF19&;S1Aup~giALWEf-}-Z>jqtcYqGxci90w zre&k34^clI0;Z{ez6*|9ca!mBK@D2wehh&6nK}sVh;snJ-OGOw7iCO@`w`$kOac9` z_%=@TuYU$X>8E{&qg0Pn1g-y#xBV@6o%s3}fjWmc)nmv3&$6~5?8NZ^9XYyaXlIs88C#-YY7CnycsK992=@~>~z>^ zzK)S_5vZSGD9nG-G?=tg^(~e*NbZ4I{Y9QI~!r|cFdK|~1f zR7Zm>1)@zSEJ-u3%VO|n@*o5J+RRRhwUQ*h@<9N!jE{f3p)3>{+yUD6=eKbuk_JgK z!iyja#jx;M4Boo9PzK|KOMT#SQOW_`Yg}COSQ@m(qv2UvDG){u@UZvYwI87YOGaIc zFH?X6qn0Jn4Z{PB+C*T~9b%nu4>?{zy?r*Y=NJA_6!KmEnFK>S%219@?0q!|r?|B`Q2oElA7?-a`{F_{kbD-A<*&sNBX3#nxk8qbD+KbB{ z$A-;Rr#b17W)O*iNJfr)HR9EuOf0cFv^Icmm)r^fbpj0f)LzzO++)07m_kfx~ z7Y&)h6A9Q7u-mIS)XJaz!))2{&7Ix01UASzKtC?o=@WUfW2S(;4rsJYmjM23$qIc4 zsQYKPhuvHP8qwCzp{9VERb6&tvVIPPsq2?pkv5yJ0NO-dKa$;KZ8AMv0S*rppqZBX zV3SpVO_^${TYF5Is{5w?W4YC2LLM6IkUb0#roH#m{69Q5-BAp>_(%W%002ovPDHLk FV1oEC>w5qI delta 1044 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 delta 918 zcmV;H18My92mA++BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um164^xK~zY` zebqs4+DH@t;6Wq#92*Ywm;qGno`7MC&5gur)oWK1N>6N)+RnAe^PD}FYCO$th0=}p zSfowFPw21PH^#7-5WgT{m{0G$89x(J3Y%1i-Kt!!*{oZ+?yzxX35PM(t`IfG#5>kL zsQ?|;dB?_;70{eM4+55d$8$Amfo%I{6(Eq($6(LZuwVoH(<3RYfRGTv4LGxp00=BV zz;kh=2TMxpjRZ*sxPI&$thu~u%ef@ffXk!cV>@&WsQcr^5uoH*I~htV;w|5=KUuHM zLSQfFsf<*Fp!sAbYAS@!ZvdnU69nT0KLk1g6A8W$_;!;Y0tH2XBrUU3_pr~Vnik+o zYd-MLwdul|?SX&eX|jGWUCC`i^n*ss_lV?)6E`gfX`j?@-}a4Q~751&~bl2jHQN3uEF zCJ-M!XwxHWVGBBc->?G7#~VOdNBpx+&3c0ku>!yZ1rE^m*7wD9&C@S9u;<(bQ(IMbpg!2u`1(5U;L(7ooN9fY z1G=3IoK}lDHF3_(-|)&dVpFZ3t86JCZ9T^@kO62VG|dzfb#7YKsVBV;u)EV5AI0;h5* zgt%DRRTDX6_QfY&+*vM%w&G+UAb;A&24 zzlh&61Qd622$tL&yiXWn*Un-=mb=gu=%)UKC6I*;)1XC0bldYC)(;4j{@!P s|61-IkkM$hB2~dhyc!Tr%Y#P9fA5K7-)iEtP5=M^07*qoM6N<$f~VKEfdBvi diff --git a/graphics/pokemon/zamazenta/icon.png b/graphics/pokemon/zamazenta/icon.png index 7d9d722e021b51f78e8df344aae4be3fd0a7d1ff..bd00dfea07f318aa3f92107c248bd29ca27e3694 100644 GIT binary patch delta 313 zcmV-90mlB31Ed3xbbkN`bV*G`2j>O{5C$~9%Dlh;009R{L_t(I%iWSaZo@DPg>?h& z84@(3haSS5v3N}#5=|b%#M}3hzcY;g(lDLf8iudDHH_x(8wQdrhFSYVe$*cyh0GeqfaXbZ00000 LNkvXXu0mjfjgyMG delta 294 zcmV+>0onef1CaxebbkQ{Nklj70)?y(#oEo2l-ON-p}XH?A&^LW_p}Sb?#` zqwdn_^Ij*3V_vrcK$jqcxZXjuu1n+ErFzAb598JTghkeZo2;#9|K+dZ-xc)+OW~N8no6y2QU6FJ(rYiQsRHL z3K%Fl6adq;4joYm z(vW~Httkdx6aY%vRa*>v2bC9^^HzTZq>OFY{CMQ-iU7F*Z=mTom!fkee}If}=(L$N zzn~@-*3#?^#++GSQHKL@M`kTW#KSo4xyZ2D(YsVJFWIR(lis7HT`9Kq-% zdv(-+5kQ5NJuos6U<{k1SM(+!05V`OFAOB8js!pjXQ)VjFW;s zFr@Ho$N?|&0Ia8P!+@;HQUrLup3aY#z8}xN2P`&FZyr1&Aq=P$$CxCGFQE(8Wfu)$ixhz01gI9CGztXQB@4sMhIVq1u;=I1|b z@YF|*N7eExtVx!>jQ=npY^_KL;sDV2mjOWJ-wMnFfXJSey8saHzA6Fr@go6XJpuMN zpLqZfERehY>Ge$kOca0k`?@?y-%Q~4>_lMS`seK5`@>&`%n<;&zw~!q?M7pcAVJ8J zt<&!7u{a>e+0#?pAF`$}An4R#32+WXD>wwSi$~76-~&q*sRiSK)3$LQTD?jD&|w|OZ5YG+vNq5C~!f2jOqO z*)GBi>`a650i_4F2!N?sZ^%)8AEdudkiFIy+F{CAYZ$t3IsJrE9vO>(l-Ic@bI<83 zkTqClsT+`Z0jR=IKBHj345G9j71-*b2a7A@}dc0rn~&91o;e zAQTT`nD&vB|ki2`~&(Up|TM8sG)HH0000&hJ-a``={em!o%$#)mMNy`*G`*(FZK32fcY9=UkPpu zXe>4W@4^tkSc_OGM)j`%7Y6k*f*s&k@4o;zABGJmz!;)Q?SE!~r@>kx)sGv%e{5fl`ZVut(LGUr=@AGo0J@1xO^_wcW7fxn zd!V~;ciZUG#!hl0`l}I$UOMrt4PNz>3H*y8O!`v*$)^|I z%^~eX+W?Hpb%{>^E`3yr!K(GhwuID9^^Wyx5dA7z0jviA^S-;YJXJv6cxx(#Hd{bh z+E7_I)`uW}UtEAnF_l5s1PEeky#jFeEaeLBfwDemuL^K^O5j`{RPSMCK%RiL>;O^l z|Ey2I;Q+kz-1|JkMB4irYzqi$wm`=#5VuYAJ^|LJebp-e}tjs7`P_khwl@wS4c26Q&6B|yV~{9<}4q!`-)fW8%$YNQGnAQ0Eo_U)hEb=?5& z`(>hkc?Zb5?u!V+NbFd>8^*8w+UM>6cL^|@;my|>z6Sh-3_onZwi*5t15Jh>2#`!M-nji4_h>b4?WS^7-x|W4Pc8Phc-U7L0}Ua z|Aqh$v9NiL@2L9W2+tNAY<#LiIl6st1;7J;*uo~~!YvyZy#kQ#!xO;z!7BjpK3~5$ z{t@4<5N>JiNeC__`08!nQD@}tECKB5B!DkFK$G_k!0D+x6L=*gfR6xNn1fo-;9@oZ zFC`_U=ze`{^2LSn`YEq3&emVgm zmm=}Q6S;?|%j=IypYuO|(>tLeH`H-*Cfnq9>9tIz={b2n^(DRwpvn%iqBnq-`2LcC z?nBRee6IjNw|aXJ->F+Z<@o;+-%D_H=_zd#D)-gmcPF2t_+J1W18C#_K6lium-vs^ zh{pgNS`XsC0y+&Gh4&%ApINzHUIzs07*qoM6N<$g6^RzLjV8( diff --git a/graphics/pokemon/zangoose/back.png b/graphics/pokemon/zangoose/back.png index c1b96cf04b02181e1daf1653ce72fcd87bdb85f8..043ae5ffcdb1a60070c0aa52e604ae0cd79871ff 100644 GIT binary patch delta 575 zcmV-F0>J&X1*HX$B#}W-e*gz`Nliru=LQE52Lyo#y)6I$0tiV&K~zY`-IPI#+b|G? z9nnLMYl6Yo?yf^%Pu@YWkV`0Ob9U7MgRfcjUP66M8U%*@Il)lqpQ|KWBPFrZYgyeQ zeR=QAjN~Z#AJ=sM4}g`2yW2#T=C^^5g&3CjuC&lwuXTs*%JWC0D$NL(YonRVh{ZG|2Zvt zAWnh1^QsI0-gX`{Xs#VJ&_dg_jhcXQn+CBeSoRmFX^GgM0sPcS%*aB-)Vu}aNqgja zV*=zM?1mf9Nqaz{1-K89&t5!GftG-DLPZt{HpM;|FaQYPf2nt9@YoQbjH6lkQF%i7 z818n05vZ#q2^EG|xLxig zvhZavw<|6@?ye+|Jidk@BDQF+0NcKmBcA?Xkj}c<_7U*FuK;cPDt6A|=z+f5;u%rC z*1ZJtm)V67HO~t52kiy`j|SK|z}H#0Njyqvzp9r2jp~;M?1%YXtiPin9fS1-oHhUe N002ovPDHLkV1ic949Wli delta 589 zcmV-T0tZiD8MmP3M905s&R|t$|1kd))7~ zzci5`3`($XyHXPgj)b^>m)ml$QsRgQTgb9ptCTph&@WOd2?Ahbp$qv+5-b`E5p0yi zTBRKEV3H*En{gmmkOaVSG=u^KKzap)zQ@-N@I3tOXFHmM>;jmI*po}JE#W*WUfl-X zRvy5*dCV;^EuL}K2Yx&Z15*q9G=s+r;LQOxW088Bn^>Tb+h&`9VH10?3RraqsBSEAxB&RMm6%%# z5!&W05zpk2(!d0)htLDMm;zP;G7{h}L^^+VKmjBH@x(4Ni?GfP4xmE@0(k5kYCP2z zsFb6s^i(;bawjT(X(fO|9=SewS0~Y-sgPG5;BLlJ|571DJ_xXO-CR&cBcVupGngKw zX=UOMfj+h>6X-UG0{VuUz>gXZca^%Yd3jZBPfH=bx zQ9EHg{&eOCf`z&GfraU^iyugsarWaX%;v|BMHo8!kz8-62=vPY+&@Mef|iRx#7=%_ o9oQQ`;vl&7V+_`Qs9*c>4S*_|-{5&S;s5{u07*qoM6N<$f-#)0a{vGU delta 339 zcmV-Z0j&Ph1Dpep7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0UAj}K~zYI?Ucc4 z#4rp*Z3(iV!07+~wj(83c4fPvw5PJVg?W}8IeD#p>gVNmx!e#>z~`XL0l3===wRZu z$eVXn<#MxaN;qRv-8FM80Ce3m7gQ#4_=Au)Km^eDjllj70z4w)$O}Ls_ArZB;-Tc6 zLLAXF`UhLa>Re=hyJkTq`3Awu3+{?z$yVC*^SOxif5wV-A4lRU{DaF&i~I zNX*AzeSQ_vc`{LS%mHo_`vmaqcSWL(aOiXQ>3-_>_3!ks0xmr)@=FgapbF$g4{aro z%MS~IcaFfQ**Fr2qg0MM*?KR9M69m%ne@Mij?M(B{&`lu9u}7SVvU(z=R@Ef;WL zRlC9-xl*R}XxQyQG2)wx06~f%Q-Pw*DnNrg3J}_83XFEroFRWoyYwAtB^5=+TZezP z2Z%cHeeQd|-rakWr2k&oyT>l?i>Fp-(>?$hwNZ9XC8;9R7I&xFMbxVa!J6L2AwfcDfLV zALBNz%cve^6&q+O(nS|in?vn!ENam(v&Ycw2@S|3c$?lQsoh%(KsE+QCAfb>i(!Y@ zAM&*TtoI|87#o*H{9PLp&esBWUZ80jqwXWTWDhP40=zqcwVRk``hrZagDNTA4WVj% z=s*`s5MdPma6@0X9s^bxyVC$#_L#BbV`jty)VX&z4bxn!$l&4FJ(?`q2_GbUd?!(Z zkA7DRksnWnF3kZl1sh<~rICNXX$h++Th?^PlG%`F#er?Vr#(+@)&S?0v@H4}Ray4J+ysuX!DPUgie5qi+m|UH#NI-jNNnbwa=B9-D zVhYonZ-l~XWvM^e&UsGaa>f?Zlhs?!AFh}>3yz-WB|7s(FkjtrXLWx&R~MaMZ16XL z&)9O=S*#f6C$~#`zGV4n9^DWSFlor0lg{;WZs+VY$m``oRA@KUtDEH;KLEkpbGLCDUl`Uj&VVvxZd)SY5?DIBi;G0fR}WQpGw|tWQOirgcx)xff8R z|I0s8v+|4zr!5{_t)Jvnb4Ty|1%L-b>fC`|m0jB}m0Hgo~Rp%`~M}S%m zprn|3a9_3f$#48T0!VTI<%BX1+($n;tCil&fPB=_-S2mxPf1~P zZU#KWWcbzA`QJ$wrf1ZL1hnk4Z6JLF=Dq-iR@oh+nD%2H#=P_4;(62ejdynA84OrU!okZ}J(kL%j|ziU0rr07*qoM6N<$f~X6qc>n+a delta 1439 zcmV;Q1z`H(3*ZZo7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1zt%+K~!jg?U`+J zqdE+QqX^5qq_hA3-|jh*0Rt(R=6=|@Q|(Th0Ozr6%f?b4k6-&gn|!K&>hiIjRXw@_ zD%AJZb>-QGuzZxX0UX_lE7o;J)k45WEx&6?;g$wnjZ0DphNsKp^2`oM>6t4BlHcxT zhv8jm7MG0%9iAtDHfI;&Lgj$FWuZ?Z`ANNB&d@j@Q>a-q05d0=XH(t|)hW;VAV8zI z1(IZ_1AxzTKty9S;Q;kYb)|Plb0D&^Ljj;G_`$F2X~wW*oz*m3JEw6a;ihsR<14RH zjwcly`lgce8~sAaZ2Y-?jvoqFfPGr7ZP9m}K-1+$()`AMIDVT89E~!c=7=q!c)D~q zi>1B3^WbyyxmgGagz~tp@`Ik!xmry~Ae4wO5)$Qa^t&}t6C_*D;p{!2GWBV%ueB1k z%n>KP$G6@w0oducjdKk>*ZUzFM#N0`l(r*)mUiC5eZ*<4N5~91P77^6288IABZP#5 zZX^D&OFo=`;)Aed(CfV?fTWlP(_z$!ql(6Xu!BC!aUKf82|A8SZOnjK?ZF`i_6!21 zQPUzVb}e;_nIFeW8FrYw6FmUa0YFBh9ve&L0Apm|{C@*VME2#%D`-%?yp);j?D*V2O*Rr=L`qg%(|*#IC0WaJROW)JXz02_J) zhT0VY@q-A&2)t?nqMj40I`mfrohAVAiv$jw|DFJtc&~rAlhih${fP|rL4D+vfJu!P zkL!46SVB_(%onQ%gDME-m-QkRV-Wf1vfIXb!2FDk9?uEb$M660v zlu(9$2XPn#;V5K=pJ93PuJ%m}%D&uHZb%Y);?$S!UyZ^HFrEh1-3NfLhLyPK3OC4g z6T|ektmVq)H*>ua-XX-9C6|N7eS)9Xcs_|Y3*AtjiJA$@^Aff3y42WDHMJ9P?7-WA zXEG_6#6@(u7HYl5nauq#e?@iIvQ0OrCnrCDty7*?Zv&J^V&5h^|8~>ZU$)89e)qW3 z{WqR`WFG?_pXz_@*Zu+f?`i-yN&s&GO(lR6KqT4sEv2OdaNhxTTH;lL_T`=f6eEM@ z3(_7g7{fb95MRs_f@{TpQJl+c;nkIIpVA z4(#*&v*trSj6Bj#v%ZZl!m*A55n|@FDY4BZ1{H)lf4_Kyu*8 zw|QyIE(tswmz+JVdAE5OnpSl)@fcRQ&G; zOC|f(E#Q1pqP`zk|3D0?R}hvS1SXwMLpacTqRpj1!VJhQfO!NX_ny26qD2{hQQ8Es zC;%As%9f?ns~Z6pN%|NG61L`49JmIA{)_oPcOxHfMnrMIyK-8J5?{eluluh?Er}wvf&M<^36ZMv}523jt+o z*Usx<-vj)PMM%q*YJ^M}p(1bj=;e@cJ$8+{w09?s;PbraoM;ElI9C`pS`&I{F0)GJT>{~P6Z674x tEN=hcj8>U^3c$PdBRv4W>HoiPe*wqXKb^aSjCcS5002ovPDHLkV1h6gvj6}9 diff --git a/graphics/pokemon/zapdos/back.png b/graphics/pokemon/zapdos/back.png index 0b7cc3c7b335911b8a171a6cbdfb068854a4ee49..330d2d9f217c4b8912d0136fd405a84b8cda9b80 100644 GIT binary patch delta 446 zcmV;v0YU!p1BV2V7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M`Ako6>1e0004MNklToQ5QT}{17M|yYk&q6Dcyh=ltq`t$~mGU z`3kv5yYf1_9;27&F*;)>{F%VEmGZXlo9CIaB?rMn|41TS15RtiZjBInjo7UbB3^$Y z0D>UZ3q-EAAfg3AR7ydm7KkU5a+@E=gn%hQ5d#ADAJdGS33)3wrWg&90!1*9xN>7~ z*d<63Ktyf41C4FQevn#QJMFoA>~q5Q=xi+6{>15=6(67o%FdNB;Q6KNfx2vez71Ta zi?Y6ywIX2-UxmL(l6+Q9FPGVMmo9&R^jgebM;D;7y8#U%1Ic`V?Al1?1FVL?Ch^9g zlpc_AF%wd&HwSE_Zv8G8$SfdZt)~I01u~>zs9bXZAKYIk`w`g$9QaxbZVUUER574v z7pk$>?$kfI$ZZi1Ededw_37-oLC+WY&8ONP7`$m~-;BodT>wrre6xe{PCP1h*p2Af oXrK7$3S~I&U!m~v4g4Mb0!A;U1x1U~n*aa+07*qoM6N<$f<%0l}1qVIkQEUNX zD=5*C*J7`Dcfi`zd_MD5wRwKLt3Z!JuoTDpir0f&93&>AfXsfEp*A z=n1^$Pk%rEZgvkndgkutc)QNf`M7+yZwwdXATO;_gbBF9Yf-zZCr|!iegG8c!4rvk S>OAKF0000U4}U*JRvBX~q}`_uT{S>X`rW-TFG2(02Be$yg$BOz za09H&4v~Rr2tcHTa4iC4LMcG*(Cd_QD*;|7AQu4Tb&7ytAcj4#i|8-`Ajee?XaV31 zgj748-XIXu#1TN3oXo=jmH??AgDPwhG2rvB1RxDn*p>heA$TO#YW9!^vbHVTP>6*DSORDkB!E0x z+cL1c4X8+G;L;SL7zfXwYX)!?2KtCp?bb9wz$aj!B48t&(uZK65nA{TbWugR`2XYk bOML;U&4n;;h$NK&0000>XuhRfbfT?txl|tGqFcvTLL(Q&?B){a}W7K*0$v~6k;I( zmH@g75b^#Kp&CRZcP&ed;$h40yg0xJYX4Ugc802 j9aNDDgI;w>QS<|;&4n0|-e(K~zY`eU(pdn=ly0 zornX+CMY>mQ!4G4yrJunq=qWH6>!&UQ)H2yEA`K*(kd3NQ`O;5u=QK+HKbc`piaca zKR@s5hsTDH-7zHXqjx|KNRN>Iv8E^gHcJLJ z0<5J7ElROSSTY|Pev;AYmv%1O}i1hI}H#O>hgL z5W?@l1k2K$_!uSG0zzDm=N26FDeUIUd_lW;LezR|Y{3M*hus7(v9BQ}4uKQ~094KI z26X9TZ~+pA6~F?N2d@#}wNES;SGi1_O{(;Hw6Td76o?RTe>`?p&qrh*@W8_=F zsuV^w&}h_1SS64Ld|XS=W)}vZ*Fah?rW7BICW1)0a4OQRyc^M@rWFo`8Ud_9Yl3Rg zWQ(B(S2@;*e^{W1STn0&LvXLMEDN}sFeF^=5mMqEgJa{)!KR$(&8y4nS)gg6xtY5oJQD!Q&mBR6gj`Um8SZ?rOi`uG4 zh?V}v)uBiU#x_v;M{P$qSB>W)I9?s%p6W0Rfcqo^9O%<=XcK&TR)~6kLCe4F ztPNGXu^CV<^XxmbZ)P^65kt}*MxXSFK}c`b1x$?@u_wfycL6i}gUJ9UT>#iK8xCU6 z?*NG7OaUC28-w=zz=0}%BB!H?Du1jrI%@Rb8eojjyt4-c@E<;D5{|F0YXP&3>N)UL z*pMh6!ZyHm;Jd&UhLdjK>?c~W7*0&l0vIs!?n_w0+$RX^cQHDjMdcP;#;}6$TZ%Zd zFZuFxo(v`ku$CgUD8({i$zo`VG)!B%EXtI)+&348A{7V>`Wmo*dGZxN!cc?=3_t@+ z`ACSH;1xn4gm1tU%hH|kF-!6e2yr!D*wF7$*qtxy1?}buQRnTk4O8?Ub|-j+eGPHq z5J+JFKvjNsKvzBvEd*rnuy^!;Jhnb z@j9CKh=8g5iBcHVK%-GJVU<80@Nq3cn_ZZEQ3Gjxm{R;`G!aC~g%gp!%exUhY+B*q zP$PgfXiZRUG}&_K!DWs$A{Hnj*32r{5Zucw%L48u3<+0%dyopb1fB?yr$NLyV{ECJ zX>ESZd6H)$tg_Aog%Dg1B$ZP zNGZgR8}l!M`vMO|Ddh_e0W(91Uz)D*eD{F)`f8?>uX`HL+uQQv>XzJ;#UD+ASvUWk zv1B33-*=kC&huTo74nVUkO{5CrRkh5>cm-71UexXF&+BCCJD&}GV^H!JL@$_Zy0{JK>A`Ui`pKnGy|$LAxHJi zK+blsAzqpRkrir5drC%%=%Hj&cA?-sk^m>fBNW1e=L8)1h<_N?lVvQ09r6AJjFSsA z7iUSkuuhWG=H{Bb8z!+k+dt#N^?L0ARbYqy^}HOf3x%XFVcWtIi%^T%<2FD002ovPDHLkV1im~mX`nk delta 335 zcmV-V0kHnY1G)o{bbkRbNklNytCO~9?I>p^3BL#F& zvXUJXd<06s5%Dku|KvFWdp<18I;zJ~*b?twz%W@)bFu2QgMW2OIc|2Y&bwerdS^W| zEL^YG9#8>WbnoZoa9hYnd4p~9O9&r<5g6~I>ww;Oy(j7R5@9<1Gfr{>Pk|xzK+?0E zfTG72Fk=44XqmpB2M(lfkjZXyeS-i!CipZ+8-o<37AC%8WbH~V%n?5Xy5LcmW?HTn zUkk&rc@6=|>q!0;{yJ=A!_3V=1p*{UH};2Ol^Q-0`6k(&wJ?Df`DCSqVZtsufl@;5 h!>s*)4*YgMegI8b>i%w~x<&v1002ovPDHLkV1nVmn05dF diff --git a/graphics/pokemon/zapdos/icon.png b/graphics/pokemon/zapdos/icon.png index eb4951bc0ac71cf99112dac71169a16e1d3d8e75..613adbd3e4a2ced2fe623d3ba637dd0fb7a6326d 100644 GIT binary patch delta 344 zcmV-e0jK_l1Fi#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`A*BX7)K z0003INkl+(p|xFDZ#zx2_y?RKeO?R&%=3(7 z@!{OxSpo&(8_6flP7Z{g0gcHOUVU>cs(%q#m{U!m;$sR4%-mwB zsQ40?adpC9EaBFT`GX|`-NXD~))-?Kj_s3S@8~Y|ADfj@X}Po?ydALGt@3Lx+X}Yp zamLaPdct~-Tu<{dqunGys$-lwm^O_H@9F)MHE=*aA1@pX4{yp1hXrci{ldW&#e@TZ z2?ttyiW3f4G*Qhsz&9KQmuNVo(PPJ9Y^gZJv8Cc*mL7ZJAd1wutT<2*l{*f!{=`9^ q$CmPaK*m&_MkZNifo?z5Z|fUJj_fdJ7b$T70000!UZ3Wx&xMFDsJz;B)TzB&_qrD_Ss$=Xrm^K|1&eQuRW8i>%eZFxpJiIA4 z92Thk_cso%C?*^LOgPZuQ=D+XqG`qfzTq&qM8hGCHFg|ENyQ_dhCURC{p9H z;y^)E?l{o;6DkLJ9$OlHPNy+-pIb?mS)kjc`fYpzM~>_;y?|Mm00000NkvXXu0mjf Dg^i6c diff --git a/graphics/pokemon/zarude/back.png b/graphics/pokemon/zarude/back.png index ed458dd4739de7e5e080dfc7bff111f19c547115..a87e94fc8aa6a8816ac9fb2f8291c42b38a4d839 100644 GIT binary patch delta 679 zcmV;Y0$BZ>28;%fB#}W-e*gz`Nliru=LQE52Q9<8B|!iH0&ht~K~zY`)s?^M+b|Hv zZ9ReIfIJmq8x$yXPy~LS$buWPxg9j+X$l#fsq{%QW%9f9^v{;!A1&S58$^=t$KN}h zPfAhzV^QYcsvW>`K@Iq2QC>PFFPPJEp_!rKxHy5n5=#Wf3T{QsRh$4-v<+= z94;w9a{w(5E(c|B@eb!8`OHKMhB-veYH0&302x3O2Pwrt`nWJ) za4wS;6QBSp>QXQTP|@@qZ~&k|9?%~^w_@ucsW_-+Id~b+9|7Nps^~57B&aXnY=Icc zEgCG)796)vmI?Lcf9drQ{&n>g*PgFW zsiEFMF&WPZ=BQ2Mf!nJw&Z1)=h7}k`vj&nB#t!Q`#JMNHf7Pl_c5zu`Payy!K(kqx zy6ajbR4c;EB-q>2X3_Z~>sE_!3<%$VDBF!TpUG z?W;a+x7nOlXv+{R13u?{KtkeWq!Qq*5A)+E0^1eo8W|sU>*GfWIsxvsvN^GMRCu1Z zKMP`?41{l#J|eK)>$uH%j>K$(9q+8G6vh7&zW^a6rE6F-Qtto& N002ovPDHLkV1id9ErqrA|A77o+%iDj4nSsF81_#4iC zjL7F9WTE=o7T`I6mM5QogA2F?hijBVW@@Cs9EDKIITfH6fO`Yhsa`2=lnZbGWB}D2 zC?!uS#7%&JYg|6xVhS8UCtXRQ0T|x^qyqpR*U#QP7)cFd3oPBY!G>VhU>_Y&5 zF2FUm_zLP9ue|;m`8+PbIkXrIsLO1fZtXZ*k@SH?0F#y0-shL~kpP``2X;t*w=u>l zWzfqWF3>CiAau^z{>y-9Ag-$Q}=mwuf zwHzWa0931mEt{r)MncyzE+)m^URH}H6j|0r#$!Oc6-crRmClLVDb+y+)0drG0KJ#p zf08yngWEtj&oY+*x>TbBw5@kCG!V~O>j2p6u2r$dcK@oMWVdWdQp4L37+jGi6hWtt zy!ZsjIss9MpiYCt4ex=)AP^B4Ou8L5MFv6y;IwT+j5kkz3;{^@OS=J(h!#c+RFXfm zVRA(00n)@20zP)c;FkJKQiwRsP@yYBiVXOg_W=oomyzB8yFN^hUkI#Mq;F(;*^iH( z1(*$h+B8iYiwDE=ynZaGdovQDQRa-mdavU&rzsJWBd!R*=Hjp4rYRxr=X>K^)$xn< cS%Z+@Atj{|YwC2YGynhq07*qoM6N<$f_LC9Jpcdz diff --git a/graphics/pokemon/zarude/dada/back.png b/graphics/pokemon/zarude/dada/back.png index b5c51e1df3db51930cf4a9d13bd2c7cb6b32b552..d1d02e5fb7759340452044b45fa40419c0bb1396 100644 GIT binary patch delta 725 zcmV;`0xJFQ2HysdB#}W-8~_J&Nliru=LQE52QxXf7$N`w0>Vi|K~zY`)sdPhe{K*! zTbofCioQ^fU;40%7TsD7c7p$pcmF$*=Op>ZRyzMLI|Jw(;Ag-p`#WHB4s2(D*q#Bi zpsC9K2-GtDxI{LKn_qxU2s|hWclO z*_gu!T)5nPsYIQuaW7`*&_xk}DzvylUkr7F4qcEk02jW+pg>f(-5Be@f9Cn@86`AYs8nd#^w1!J{RlJ?e`%yRP*YeRn$?#13t6Is)Ia_Rnw3P6WY||7ZOKqOrsvG0zc<00000NkvXX Hu0mjfj2T9W delta 739 zcmV<90v!F{2JZ%tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tF0?0{3K~zY` z&5@8Pe`*jwTbofCioQ^fUy@}PExLt+Kk)zQ?tjN4mAti;&i`d+0G$K;3|M9V2W-xP z?F$C_4q(WY%aK#q`Uq8!d}g9J z#T+RW!bVD=9)a8i$V#yhB3HsLumH>eQkNhEe_si|wiGB-Vf$Q*3FH8E)CH$CK$af? zNeO@t0a$s1@c~p3%J3a5p=M2Q44~}M(11OSs&U_L%Li-2ApsVgE*2L_a->AY^t7bIMz;|!+&SYc=N&LGw`z3n;` z@thElsJSYieJlC{FbaG#0_*-{9T@sr#knW)R4&}6UFHyglK@NKhPvQkGs(&Gu0~iE ziicyc_>*pP#B;Ll_ifwiQ(bMArO(mye|HG%Jy4EY2{k9|EW@GT8~1z-@) z83OmM{^az>QI^;$?{U#z-Jk~#MV=bB^;N9>N4T8*LpRZf}f4mPC zc0&lEs3aa>?89D99tTU54oFz=(BA8>dh}=sX}9_!3}kYxzv;W%aU*tUgVPys8~f;Y z3JHOiQ5}KB(=9gY!HvDIa(MlPz<5QDRd%*Y7vlA23Tgxx3p3qe5v~pJn&Ek#UKT_$ zceSwQ;2hd(1A*yYClm&W>accgF+ie10FEyHVmA!Kcjf^5^9Qpxf;fL;z15W@zX77L V#2|s>=GFiJ002ovPDHLkV1ja4SS6?$s@AGAdgqWi6R^1Bb>zo!qZDpz?llPDA1`fz;^0T2kO?L$RMCwhkg*l0RnJ~ zJSt1mQ3ML3GYR+ukbQTQSd$W(4!uE;^nQH*|9f}uXj%VpIUfVUfBlcZ_W&o}1+b`# zgTK=QPzuMfYzLy<5`5p%F%A*mEdh~DG0=-7_IF4Chc-?L?0AO+@W{j?@7XSZLASoZ zXFRsIBu+0WHoKsY!{@Id;KN$O({CxB5#W6G<&@kG0d{%_PhURL8II6@%*g{fwp9eI25ys3-G9h7m%RXE<})s1SO8*9w`yD0vslbNpUmP=aJ5+hrR|vl48b>tp{SVKmuZ&Insb7 zByKic-!L37B>>19#L90sxf?$qUlLQ)U}STU24Ma_K%!`WgaKk}UB=MA0>?g21#N+l6c8jQlKZrA#b|xgE+PaLrSaqV(^9Ez7yD|->*Z_eH+<`-f z-UeOX02TGJM^INFaW)e4eu=>8+3+~T0jvSKICrPufZMBq4i?*7OE$Oxz`&-S(~U=q kzK4nU_m?#j*8j8q1{U=-vZYtRmjD0&07*qoM6N<$f_9+A5&!@I delta 970 zcmV;*12z1m2(Ji`BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1BgjPK~zY` zjg>KP+eQ?}dG`SflSgEWK_0J$6Gb-2Cpe1*gr}FHfHM_nQJ_;}fbG;ibasY9^S15gXsb(jl(@oovR@0gl^SnQU7m{ASPB8mMS5+Ij z1#sA`uke{j*p|fUCDo=E^yl#TYY0Vu*68$ms%HeaUwl0ww|#)09>UX?k4%T7S!A8| zfTzD-{`B|{GsK%8B8a!s6ffOJk4Z)ko_|9fw$h}OvIp5Eq=VUi=id?l{is9|!7G5& zoBeivW#i}(@#e9v5G`x{`C50`MZKq(zkxMQfT`YKh9`k^ewMFHmWUenYH+e%~x+AIITAUY!p z0PieNmr|u95IBtPD66I>fbO5enE}W{9dJnxIv|aMvZwaaud3$GI!w%d z`>r8R)!!{pSb#P4tp(zM`O_b%-c)q`p>1ISBSD`+gg#Dfy`=w#2Kdv|PiTr3h`gV( zvaFku3~d1BpEOb$KtY&fS@ug^TE*eg08;vRB4K2Jkbr6SDlJPZJp4ewjYgE7fRPD| zfk+VXzzQ&b@qYfkC=e)W5eXYKM-giowgLji^Ko%AG5eABsE>gGB9h|P4>Jd1JVyc& z(>XSPBbEJV8<_VDrUU?agG2}ILtfQQgOOI4q5)$jKv{sVcMUUjdOp$uiL)BxzeQ)I z?McMQPt1T_KtZ}{CJ|F@fbO1D=&ip>)CP#Uz-kA7u3(BP7ODgA4iK=BM(Ol{_SNHZ zY=Q2vV2Ghj+&T6L5L$H`I6mTWdkeos)H3MRxk@)C6k<05qw6PnBdUDAcPvdRlSs)m z5USAYIdtjQVAD55O<8sbN(DylT7rIGVsJY)d;v)aD}dg+6L7)n%s?B9uU|_Hybz#g s)11>KwMU1(Mi_@% diff --git a/graphics/pokemon/zarude/dada/icon.png b/graphics/pokemon/zarude/dada/icon.png index e3a39e36d4e1f3e37e9c77923e17fd02fea32ad5..38ffe6af869b6ebac40ae64e61421f8449fc1f76 100644 GIT binary patch delta 457 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 delta 1399 zcmV--1&I3R3&jhNUw;KqNkll*O6vrPgpm1$x%3?r`fgm5C-=ISW!$2mnivUhM0Yy@6;g~g_q3<0niKKP( z(Dneq7VmfW{_our@6VVTkD0-m#-s0;*=_`OS5aTE~=*36B>s1_?-QMVU-2VEp z2H>tg@FR(h-}C_jx2w}|1r`9DXn~DQ2RZ|0I|1LurRsl)pHtF5^Yrek3t3}*PTXPEJ71IGK~aexZ3mL7Dx&f&;6_fE@txnNjn z*MR_>(dNjdaahj;HMp1tj;;_c!f+2T_rW@M-3#1I5Pw)jxC#M62%i#CM5S!pG2=6w ziD}w_C~%;9w%m zWdOBxP9dVzQ3vCAOazs~$DWI$%TtI?FCz?v0OLX1SZ&h7wWla_A80*nk;1OiDFL{* z8B?kz0)J*sKoG=BfbUW4h>|!b=m!Fzq*K)adpDvZ!4Cm^-*uw}!JWM`_(=iI7P$MW zis!CFuZ;qj=kM|@6bD=R+;#H{Mn6bAvGxiW=2#0W#}T~9=LDQN?y3~S;d}wihk5=H zHJBIsW(kcocmm|DRS*tHJ4wk?{o_hqa{`D)59q!x# zdejllCIfCt4tYJlzn*uDoG5O6@i;dm`DoKsspCkbBhZA}vVdwjm}Wj!G9@iqM# zzJC&w(!JY>(>fo##kbFOfYvb~yv4WmZ`7Ax8n0*UG3~whAB-E;YMgInEV+3A2pbbf zvX*=R;Eg~_W|N12@ZSLm0vT&?AW4?WtToX)kVGJmG&qp=gEW=0$$=zNNO?SNO>{t* z+9`-ZlIj54w|%fPsRK4FNb&6>wYAs)z<<}1tuNLU-u+Xs)0AmcUQN*-Ol2x38WFfW zOh7^?v-QB+srARyMoK3lBnM)nOu4=>xm_3x+e#+|L0U^??Y}L6%*u)wE!5g7mG#b| z*i-ASlsMN)N_xnm2owN-z29Q3f%I^`lrdQptfa&=ZYGJB4CDZNtY%Tjfk^aYnSY!} zH3s!eP(y~<(wq=jv3k+D3W24PnZSd^zcqqSZFx&KlE8VJh^$&Pj$6}_$|7NE!P*uf zM!8csAxzjjU)q%t#nu@qg<=d#;FV! zXSYh|);wdCx9JBAE=d3sQu28llwMa5v`UO5H~DTZ=Ag~7nL3EuuQYMoM|Lv>ekNS5|M5K%6Ks&IQaT>=9s zlX4}7>SqwHZhtYrH)APAsDO$+NN!psfY1J_17Ynry(NH~@lSQ2xX%4_0bng^my~$9 zP!f&{fLDQ+pXqU`^$&{YQtuzsXz~wgH2H@@=>Ov%{sA0xbn-}X93TJy002ovPDHLk FV1ic#m#Y8( diff --git a/graphics/pokemon/zebstrika/back.png b/graphics/pokemon/zebstrika/back.png index b111e64f3c6965d82e952dc48897b4fb172fbf1d..04693bc3ffea19d8d983400127264f5417f4cc67 100644 GIT binary patch delta 656 zcmV;B0&o3;2K5DyB#}W-e*gz`Nliru=LQE52pasKoPhuU0$52zK~zY`<|`kzBc)lgn4;VmF23;~LtM1<%M`lZ+NEQYkiwxa(c$Jk z$xcooat`jsY7hqf{NB@FLSE5=Id<>oXTS`*-s~+v&R+rr0y%#Je@JH`g7zE%$dG(J z3(|tD&Hz%TGAiYnB1(|aRoVtROR|FW2B0lRM=e(XH!xZiZ9pLyfl@6w_F$sY&>uo6 z7?z_Ey4VjWg?M?!=_xaYvm14lzX_ zC>6Q#W#Be^LTy`lf51Bn_|SsLSEC7$0Nm@}D3%`Z89@oxAG8rZfH{T$tgp4k9K@R= z(F?}zwJtm$ptK89t#@poH$OZ%>?9EAbziR^a!(Pw0meN1^yEO0)Z=>d_$!Zmlh^~T zAHREwC>?+kz3|S`5m9!UW9k4MRphTd28VU%9)mv>c`{qpe+!@2p#ef~@k=2nPQcDA zw4Um14J5|z6-PBL%w}yx^-YTm-y3P3laRWTV7M1sLMmY&Bw2)A8IHri=CEMRm;rU` zp}=QrY)IGuo8oYhq?A<3aWO7}IIx?&V2HBkHw{Bb$>msHK)nq1ykyRsRyQu={b?{M z9MA}!?tu-Fe>t}qQY*gTUW?0S7I*G-$Ge8j4CmAWT&j;pK$wdp1P4l+U2;LNzl#(@ zT{d8M1af*1pYZ2_c9#KDBp4YF0*2pQGgIN<2vEq)Ai%&DH)uL{8FFe~CG#^Lg}&*S q1D+(7cm+7l>JarLry2RL+CSdjeCV~3=c@n!002ov22Mn-LSTYd=p_XJ delta 667 zcmV;M0%ZO51%n2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$fQ%K~zY` z-PAFQ+b|RWU|}fD&oIIlyxdY<$&|(S>|`k%#!9nfG3DjPaPf@?8RDX)f2Ppw)-D~J zgex5S6CG~ulWZprkyGex)gVIr`MswnS?phix1j0m;tZJ6)Stfw;Nou}CxDArfMo6y z=+5B*`t0*rkmPKA2CyQ3!LYzHMHGPHRni4|E4GH@7N9FfPp#Gfw=iDkT|f~SgHjzi z8ZcFf?+&39jEeD?T;v9vLo~XJmC8Cm0CxdU2`U434yvF6({4axs>;++1n0g5_i|ch zQBR$K3?fcIaxPQl%8=RcF}Gvw0B0ownTVynq$@iIxN|5^Eco3AvgxVO7>#5tnVNCPy?xV z^h*)QPr#FDw4UjIT?LTh_w%C~mu9nevizdu4c#|%TlCTA?L`RMiydR7G<6~7et`bO z_iPReHbNLsjXnvwwkC%7HLxif5FjE)oaB?-i#)s8OF?MgA}^s3h#5}s0;)FH^Kt+{ zACo?X|qDS8>nU03;1|^El-eP^;b_0ck!YDKp@_ z-laD1ns1R)sLL8W9f6eZ#RqzMsM~Fz6fs4ngFxZ8*TPgdJOUh2^AKQYiyPKcyA3Hf zw~~38j>5o9q6J=%u8S+6=b{QxEpm2pTL0(4*dN~BeCTQCk30YX002ovPDHLkV1nzG BH=_Um diff --git a/graphics/pokemon/zebstrika/icon.png b/graphics/pokemon/zebstrika/icon.png index a929b95c5cd2f70f1a13d12e2c8bf34f4d888253..3d38addfd321518930ab9152096294c0232db6ef 100644 GIT binary patch delta 326 zcmV-M0lEJA0-OVoUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`D#I+H~+ z00030Nkl!tQB|QAg_R{A;Q9kIp-r# z_@C?Pgkd}glRxB=s)P}-yb}gD9Uj6+w`o>{39O=(FvefrT?wPr?>A$+3RC-`M*q~0 YUuCSLwjs>ESpWb407*qoM6N<$f)st#8nG>7!D1 zn&2*-+;GVqqX4O zNEsX}$+ugx)%``kfx!Pf4<}44Ivm0T-cu)Gn00J~!J@+<3=c)KDvXQ5Ww;`YvioF;-QpB;rc`yopH)Q=x!tfRI$b}rHY0000Wa${w>ea$WDh@HH3% zzOFzeVc#;_TBG#`LB1d#kPpi%wbV_`O!ksf+Q2{-pUA3W)qi_$wfdFcl~P|le|vK? zKdGGP8Gvu!-p`*Ck$JZMnci2Yb$m|DPu8=~WPW#g%2jT-db&aOK&N+^S4une4De<; zbnV7Ra-iJarID~ z*43Eh)dS&iHGiz_T$fk&w1IYGj8`N-_8}6Lr<92CDYbM_ETZAaUD5Kb>yIw zkNf@~ahL$*6vLcE$K2K5{rg|Bs}_L#1lSKTc3q@DY>wTh6riUgkiF8@6S5diJNR;3 zo{J>+qFAn$s2*Q>Ni(To#!9^*jsc&VSh8MgXz}Mk8~#DH1?u14`AA;ppXlOpN`|UjX}#3jj*4Bp7Nv)%(6lDjEil z%}KcvKo?~8LlWbff`pHOsaEn}R4~I6fX-=9x~#@Nb}CSl0)nNAn`qFv(#65G1vN>C zs}Ra+RTmAJ4C`fAFoH+`F_s7zfT%MRywu&%g?|fR9ZB=wW&BVE+$pM14+&r$5dCJr zok=AQC2f^zWQS^Amo`Qhds8??k7d4fss>=b%P>5SWRjuRskC60O{U9k2Ha9YiPpmY!_aF(pK0Bq#| zuz$n(1Ps5?SPv8d2yQzbpo(@rK{=33hIK1D1iw*@(?-Rq71rfOcFPK~K|*NVwx~OA z&NRI)3%6;tk1cHBpUjWR_A?>H0*@uh05H>ig-ldrJ6!vH@ zl=jnsS8BS@&ks{r^(a7Y7T#Ah)}yzxDN^n14o-kv==H1BU%~{q`gXDpbKhr9h?jp1 zQv|Qd$v&uy^wRbhAHa0gi80&BK7X8(SeN?aOZH(3a*h7wZ>-n{z5o*YuqGRKaWD4a zRkg4W^ARY>_w{%Ggnc+Q+1WmvOX&1{B$RP*mmM@OI`$jv0v$SW^XM-Y_q6WBTZnz= zDlo-Ue*x)^qrd2|O`U^`q{@rA#);xDVwc;l-iyCj-t!t?+~T(Ls&$6{eASgEMWt%vf{T*uqoh+k7fkey89#S1Hb*yw~2jN{p_PSI&YbG zkX}!_clYWsaUe%_Lg=_ezJJ9rHJJ||7V3W8lMzkUtL(?o9nkJQ_X*(2h^RxYR=<@l zcF^|s_i4rNN=MsA<@M?}0Ce{N+$;dQp!pcksd7Tu{Rs}_Cau%zHkhpK`nJk`KiUHq z=q8CEb{5tmAP;l*8nae3_knJ!i@o^kYg<;_N}_k8JsA3eb~7N_cYm+t6}b-7^u>rh z*xz3OaeEm17{dlX7=G4j)2aQ}#Y|FbIyPgQdYcC*>+NU{3Rle1=(ol{LQJyU=6PvL zH>&^UY!9-qArJY7IEMfLjrM?dsXd5btPI-+m?>l{1aNaUt0NfKol`L4UbomR?bR?1sWdk`Und9ydJbc$Q{S|5n?GEfh>l>rHbMTUsUR zF90#48rlyhdW0X-iGP6lU&~ktakXus^JBhu`po1|fAJ5^fEnft)nUJF_gt&Q|HBbf z*Mr-PGs(b5QGfk}>p5L2cRAAi+9 f?7sY8`-lGkUHfG&N5-RI00000NkvXXu0mjfG1QoB delta 1812 zcmV+v2kZFz4&DxsUw;PaNkl0 zs#O~pzqmORqg@VJ-W-4)vwmady1X)@17(L8Z-5s%9|6kYO$?KL$`ZL`%9x05Dy$gn zl*3d<^isNb?0^0l`w37^G0aH>#8Ch6pMS?tT>t+j(rhnvD7l`r z=vS9@Jl68dYQNRS+W|n?5=K$xc3UKXU_6y7fX3+fd~}Rm->raSz=8lJRvZkp4(emq zBo+0&BY)>0?Fdi>=wqM6xB<`M(}k%re$dkE{s}Vq3#pF z##8j$p3aObaV}veWy2n-+0JcDUF>vWC7jB9XMbf)fcY$ae;S5~pk9a4&}7-RvI(-C zJ7*VmLl+BZ%>ba`B2~8l{2BEyjV!d(bN)ntnl5)Swf?3&8{}u}jadLz$r<3K@;nNx z0b>jScDw;ihh+!4{92LSLnMH=yI})awDS(q(y$R^H|)W?t!%8)GES|qDYxuR6kt4u z(0|%pQ3t1&F}*1ZyKR+=(L=`UhMWr0PaINV*>12x?{KkI*LH?y`yp$ zg`_=N({W?XfQkT>=sPNRg%l3LrRcC-4nk!-Y#7j0e8Vasshw$DPY5vqv5xcbN7Y-N z#@A#ZlCgu>^L4)_EUH%W$*tUW`4s?r3V%YS|6ed=3!&@SrK62!mP-KcysP7B1>Dlr zkLhq|4qm5#^X06MsfPysrsK+C8`vH6`H;pyWRXyuI1m6nU8O0i^dCT2_~pgLGyCe3 zWv$}iMfI?XgHb&^^&u84rCPVlbLRbNri9eSAqiOhIm_fAKrR@&Q*s zA|Ezj;yxZ(KD-*wdq#8plm@Y%7xh#@zjKC-^JKIaX6@$fOw zU6i1kp7?IH0jhlThgXLK!{FDUuJ+(u2Q>_V&lrF?umLG?B6}g)0Y)+LCXW34iWEZn;P_o4_EAd+ks|IR+;#D zPzSJok6i+|(M;;ZR@ra4i+?R~`}@Z%Sr4U!-AOu?{e}SHkpOpBfW23E@zkljLmB== z3gj-WQ+DsQXhYXl;`f6*upaJ`2x2fKEj;C+A70a4E1E|S_X{A#zrHqQg)JxgFvx?x zD_}nZqIvh4Ux5uYn!ak52gk=15O?RHkLj|J9`wH`xefC8Z7~n24S!skp-r91Ju&P3 zAP)*#%+%<1+MS3@L~ioDG^HKbf4j&7;kV$3{)wEuCjboc0Qadph%~VTx%VWdC|e#- z4?kVWgVJIisZYE&IwwFYSssi4W`BirU4R`Bpp+-oOIys;%j{3ysIU<@1X6sbE%qud z)XePPDig_tBoWg(-G5wImd;gV_GbW#QAONOO7uc{Y}LyH``_}l;=$Fng~~7a(W+&V z6Z^A%XnMNCD5yH8tX+ouTeanTO~ zn{kX?1Aa>8PV<6(*#EEk;c@@*SM|gG>;JWW_%B`iWiAxx+zl510000)G!dn14;qq$SJ%XLV`Y;l}Nfo8X@Na?s^(tfMP|rR$TaW z&7G8DE%64lRPb_)o$Ow?o%lLjMe;A-{QEpb@#1;U=Uoo?cys#|e;@ z1wb{&3_+}*+J}rtBrr?#QR90q4+h|nlQ1#J!wV9s%K?^&1cU&aF{)TH9uBYt01=m? zK8Zx>;e6ELTbBixa8eBWM4%TW%t`_pC&ln94NnrVBD4^M3?r8~-j&B|Ul{Ke71j7s zOV*)tuILFwlbIz7f1Pq74VwPy*b<7Ei3T7Um%+5~3g z_YWh+c(q%I`=7r=2{vZ}5JyCBJJG!%D8v@|Yyc4N#|Q{X^wE}lrQ>h~fM^z|Q?26_ zP+q1z1FqNr^a6Ae5NEMFB|vCH@9hc@8p(!NzmPJ$gz33^=wU30BmPNx*UvLzw7U3h^=lu^G+{lUb)x znsx^CG7Q`gO=j&k8r!>n0EKSy>nUQhOLo01IjpC(BS+NyJ2MPWa-FIvJOOX8)~tT_ l2;Nq_=+e;K&=vpZ`~@6?$2j`aBzXV;002ovPDHLkV1fgn0mc9T delta 669 zcmV;O0%HBC1@Q%tBv%J?NliruDDD6N02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00I?BL_t(|oVAp{Zrd;r#+`ygI}+3&Z$*K27tTPWEdmY&^#IA< zr7zII=oUg87-UHR4JObx=-R1$x!#eMqgZElDklN=(|6zfAvc?Uo)2{1mw->VcVD$G z0B=6t-svKtK7Y~LwD$!9Nx^ha1ra8oe@OJK@xA1O0KG3sSWZ#`Si; zbj9mnc0-IP#5ZIwHEO5CFh5oye*a&+~An9Yib)KcFb6}uIbw~-U_Oy<8uE3$^B;d%z z5T{oJS>Rv-xEbCLlU>?Sw#z_$90u$LyWBS%yN6eR0Y8NWV4>Znbv-?DJJ3wajU1t- z--#gr)7F^=;|uT>nwr!fo^@~)J#=YkemHN||2lsG9D~O=A*U%c00000NkvXXu0mjf DeE1k% diff --git a/graphics/pokemon/zekrom/icon.png b/graphics/pokemon/zekrom/icon.png index c4380ec69a670d44b8904e518fc2892c316227c6..b2f707bb12496b2870b1304d9c3456facad66bf3 100644 GIT binary patch delta 441 zcmV;q0Y?7%1AzpP7zqRe0001qplF?uE4FBpNI4IA%y_)( zT#`d#S(g3G-|)W2<6o|-<1QrYT^hy)focoHtayIDy@WtWJzk1%756u-22^4Up=y8d z)F0%=fk?=)a(wQ@D`|-y~+YhkU2R`Q9N7ND}aD8Y{)54`aoOD z*c+0dN_(zwr zl?@EZ^1MS9FoUCZkp&E&87DC9xjtTi0UqZ@7BIzEMgbU!x(Fw2U@~?BiZ?K<2AJtM z51Yzk14Dh(WH>h#Fqt#VQ*;3{u`1xgJSH%;8kx2bPd;3+H@^4?5!||g0Usp;K j*bFap-0i6GTRy%3r3@Ity>EmQ00000NkvXXu0mjf1cA5d delta 434 zcmV;j0Zsma1o{Jz7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0eDG7K~zYI)s)SS z!!QVhjkLW~D|r96tzicL5I4Q_u7sK zc`arol7xQoCi)js0Azs-fO)%SKTH4*ngNOdPuAkm0)7K5C>$j8L6iV>3T!C81&@P- zKFkPvnF8Cgz?y-WCOqDfK*)f)LTgHN8VQ7o1#$p1c@Y&|tc55r0VqQPJW!0f-m*Xj zc+ymk5UWYSS-=qXe^WqLs0bhll3Gpy?vF;E1px+42p{@O6C?plRNNcJpf0M15^RTD@Nev zy^`rFQsN#*vs~yd+ZTn#UjUw{S=3IPcbCfF#P*G55EqDze^`(EUzAwk1faiS{&{`M zz?J;4JQE&E*UYaE=Nf$aegxd+)$8j~plDlq){f~7^3-vae1R;`$I!!4GC*JPJnd6Q zKpUkt5unA>Nf*$C9;-k<1AyLmm(B{i(7P@KMcD_A;q59L6*+tI2k*QKDwd(MQMoW! z+wHori#1u9c}8eQAiQgTM4)L=<|&-~MF<;Oo<_7yR^;G6R-y|>D$(WV7Uj5O|NgtF z)U$5{v{NAXWmxWi7HCStMKt-rhHmLiZ*IR9+-|G#2oazuRQNRBmoz4M7f^C*#uG+M d@!$Ts{Q@rI%9gmHCg}hG002ovPDHLkV1iA2Czk*K delta 654 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 diff --git a/graphics/pokemon/zeraora/icon.png b/graphics/pokemon/zeraora/icon.png index b8dadd7ba330426de58a3668d454cf87e77fcb4d..71142b64bd19fbd0478475672422d70112ec8b2a 100644 GIT binary patch delta 340 zcmV-a0jvIn1F8d%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`Ge7CqdE z0003ENklOD_*Qeu?RqpP6EjSNV3{lnlJc4i(im^0!{e0#qbW?oXx=PF-75 z*&CBvLERL&WWz>k3o!w-!Ym|WXINwI3y9$IJ%-mpd=FR{{3fwa`(60L@!#sildR_w z#-+lLON1d6$xTlX#zLGe3_+MM;;9uGFO0lRA5_+xK{nzl2)vUQCiiD(I^w(^vTWG+ mgC8Gt;)lN!Qa{99e*6RYW1nK)B?b)u0000-kTcpk<5;JhyeLnka->1~C2Ii?#y_+qUASVe-PeUyL7gW&< zH2ajY1*il-@w%tVNpK)4$~ibSjVR%#YJGT?huC)gm>5xVtAAIgT`s_lK9b>bBA?rh z&R`-z{_fTgZLxJM98C z*$b2UJv?q1yeJ diff --git a/graphics/pokemon/zigzagoon/anim_front.png b/graphics/pokemon/zigzagoon/anim_front.png index 9acce5453f03b85f45f42ec8712b2403de2ea1ce..54c3de9925ef1d4ea99ed5152e7bba3ea625efbf 100644 GIT binary patch delta 921 zcmV;K17`f%2i*sd7zqRe0000(G0unLjZxrno7>UImszZ0 zOsc{w8P4dG=TcT@C}Tuu-{o>Rd)BhS1{`VOX;uqhQ_m@^ks zW1(YDo_X1Pf^?Kzm6*u0nChA##>;;*T{1zINGUTB$`NA9j8!U6N+l=rEMZU{jM&>%7 zMM|nbgoV!YUBSz$s;+cCr*4+brcpI7-s!FO~->IMs z^n75fZxc_}N`3l$O@F1u30j2UtvivLUwqh{y&2FTofcuJ*7Ttk5nYDT0caHr%GGM6 zQ~`R%Q29>hb`RIZx=@Zjzp8%(#ybTAeSyOwn7INFiGE3+QP4&@&k)7Tu?U_dfHtUv0XNqyAmN;r4CX-=JRUt5bM*YZ<_C zdp*W6{)6b{18pS_@quEN)cF=4_IESj9X>Pw5jY3*JAANq02yflboqavg>nxNM8Cs_ zjZp3Zg2}Yahgv8NK)QU`2&DlCPFsA~3I(?S5mB2DJE7nfAZL$p=#?TY&8I!4%2{AT2(aLa70w=QsIa z3S|Qjwtpj-La71Lez||`2_>qBY;~yeMkw@hhqgdWp%6fP2CcXAy-*5Q)Bx%7pj0b; zfj3Ax1P~s64ynWmwgBn+;Tdz*;{rASIphZolu|hf&B)=9AKZk50wqG951yaCx55de vqVN4~Q`6Dv81Gx_$~8k;>&SD*!|kWS9>5ZB;vHPJtXm9-<~^7nER8^b~KD*wz{g`zR{b7h&DW!VF(G1Y0F>|1!MY7Ev)&trZfIPj{ z>Nz`X@*@r4K0S+HKWL^mIQ)q(yC(JSYFZ0WTOp6-c%p_lVSZ2Wxb4+@bR z`Mv&;zYVNfwQAL>RjdAox=jxr2mWxA9;l}9hbcX1?!NGcDLwcWqwQ4q!<-%*l*TXQ z3!C1@&*{MqKu-L^pY$DiPy>)JeqsD!NDm4CY4M8-^xyzM8vH_f8qtFj06Fms{^B~J z2Mqv!;*b1dLJ!&iB=d{HANuql1CUq&kjyV!<_{x!&;cOIFY>+rfF85~h%5YJMi06G zWak$;$R0iD0gwZ~7|??r06FlB5k2SukcwaA$+zi27l2g!qBA?KE&wU~VtfmUlGQ!PApeRSEN?9aCJq%BwXoYSzLvX!w^!4hhTPLfsPs-eMSB9Iw?x(dN*y*-z;5EiJg#qFuk zwa_1fpGzU6ShXS}P>0(SA{AmIgjf;?dW=jqdj~oMaVpF^D3)eUHL}P!l`Z90G$)fI zn~pcO0MaJ$CM=OOe-5muN8CS#d9wmDrvtl}zX3p%tuHtB9f%K4UxQ6FHRsId4ak;* zNo$iY-|}PN7w0_n9UAcRAO;{YpoGkW-F`m+lY36_{f{U6=e7^7xR1txo9jNPYcJ;b z7ODdhbC2ZO0=9B}GJV^@m`y^TtJ&71*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?b5Mo+&~Zj&_#{KeMOk_DMF-@Qn)^Eaa9V#VUzNTWx2{2hXdn6*x@Yn6=C6Y%ixbl zm4Lag$akdh%xaA#txW2Gr!e^DX?A9I#e2Mm5amDeu^sDi#bqFR)ii^uwVMYLL8G^HFccCk# z957*vyEA1gW#0zhR!V8LZdA&k3i7d1iBemo)QUmSqo8d13Tz0XM9~=>E1J`cEHX-T z!}&GOnQ1X1wyps3Ch;~b5!WqPbB}oV8RlsPG-nI;Pk#e|Cf!_rZQU7&kH0K5GI z^g&g5vA~xw9T3wy(i;b|b=zlV?>gU4+>SMadDDJhnckan*T{n|YG1)*Fsz_EEe_ul zB)))z*B*OIxPnH1w^Kk{BkL8|T=Ok}D^YmR?SSXwYrZ>{^7I5@xP&9=0k>J?a5C&5 zrdwF}MHCbc=)pD2fd{!STx4jPE^tTiTOa@}fJFBTxD_kB2kU^zqb>k|&jjdTKnL<^ zF47K&a9YUI9L+~;0g-NtA|pV*!8Bt4{7>(xL}>hHJU(C=0RH$ N002ovPDHLkV1o0&3E%(# diff --git a/graphics/pokemon/zigzagoon/galarian/back.png b/graphics/pokemon/zigzagoon/galarian/back.png index ef2e41c182c7d42a44017c4b86cb9f33da81a467..079b05290d908012f3a88224cbecb4be46edc058 100644 GIT binary patch delta 571 zcmV-B0>u5V1)&9yB#}W-e*gz`Nliru=LQE52^oBi{CWTY0t87!K~zY`?US)?+dvG4 zZ56UmB#Uz{P-KgI4X>Rx?q04@<@ zj!oVNKySg6&}oE-4fX&p0~6ZI_FJUT13;8RrZXrQnD?86WvR3BMF1cJgd!&s{YhLx z0k9_{u>tCVAwZEm1Ka+XLLdza>T}@@5!@+YZ4~aO14P9663rx0-u3gMu?pO!RJ{@c zFM;}Gpjpj?3j`Pne-T*?JbYgWx5TKLspM$$jlBK(BXsg&rqr@MFXipeUoN1ON?M0_ zFXeApI1;9S3d7(;xBw}bkRe?ai8#PWwQloxFU4C_a?!t7+xiab7aEIt)Tf8rBx{kNkbMPMDMWYK!8 zKRp9usgzmS1p%9t1?su?=agR?ZPEy7l0n6j=ni46EI>9lQuu-UZp4}t7}%IAkOUmN z?`BNx3)9F>au^peq>coO?BvZC2CA?NjN40svbu?V2K?zVJ-bNX-eMgi0aD26MOPxI zRbJ^av|HCTK+d>NANr@1Z?L?TMi70Uz-`;vb8N>^Tj!jYa?f002ov JPDHLkV1oI{0bBq8 delta 583 zcmV-N0=WI51+N8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tiV&K~zY` z?US)?+b|G@X$PLVn3WN&u?krz+Qp#@6xky40R#t>W()9XmJIn`pik0neT6Q0kn~;3 zBNc}s)nw?>AqN-+bRX~k?~Y_|@ozDE4XBFobM|xkS73TDe_1iZf~he8%)v~}u%C57 zeWd|YBEt&%Dg;37K$lQ|MT&?$1^_EThhpVnhZJfANGm8+3AF*PSg5gTRN1@;0F;1G zS7aib#3j@K2QrdrAoMr|sLLl{7XT~)(x9L|mu!qModR}R;ch-cq$b~>o+OIfFwc9d zV7e4CD8ca(s80j*>jn3L7!%G@tAWR_OYWDLv-Qw$=Jk6b7>-eUJnjPEE&hjK><^2H V>^UAH48;Hd002ovPDHLkV1np92aEs! diff --git a/graphics/pokemon/zigzagoon/galarian/front.png b/graphics/pokemon/zigzagoon/galarian/front.png index e5c9b481aefc475d366ebb86244f3085c833f11d..f7c5ce9f3a699c85ff8bc2615fa68102fc004d7e 100644 GIT binary patch delta 588 zcmV-S0<-O(?Af0 z*Fo;Cu$?HPbk;sEf`)jkP@gkOM28aPOdB6Jt}%(HMm!1~uW&6LP||Vl!fZ}T;v}R; z%1X8+f4~3vcf7kwUB+dc8^O~9UjKs+^CynpNj!71T;l}ls-%>x2%o;j5q|l2z}dG-wLF@5uR=`c)Lc^%76ZOLbHUT zoabV$rH0;?a7ILLUwj!c*BS!m2vVi>&OkXhqW3Sq0&keef54ZwI|JpwsG5I+f>}#; zBO$|sh1O+htr*PY4yg@!An4TMKHnsVz(|lIi&w>rxv{05`-q2TKG!^48t+Geb| zu8&sxug4$7W)6~(wK)=8J^qo_)P>9sQe*gp;QM%}S<3_iT^kOMO8ms}P?<=lQK+uh z#j&8DNn<+*LTM*d(R_BiCH;|aJ3dY~Ee=m?THmv)V(gte7o0nU^Mbyub5`Mdm-F@i a9)AIAzM)eCP3R&30000;jcow2RXb*_`udAh*sfAC@c#L+v7r%swH9SFZ}f_HK_p6}j8 zm}?B4A$kCN+%45q^#=KW4Mmd`=4#H@O%JyeNiWJ5eN#smxU@oSgmCGqbTG|(aa|(j z@ltrhU`}y4k1)kSM+BG(IjqeHdGASrq~pap>$K^zCMSE0F$1c(Tdh?G{Zd z|M}-JO=Ajko{71Z9(vot$%x**_>wVK8am7&BueX@fpRdT_b*cM3DUB7RZN)++g;0RFj^l9E`QzM z&v~tF#)_*-9oEms@5N>Y$;jHY1ecG$Wi?eH^Fd+^9}zr^hMKhu*wK~Ypw;3Bj)uyF zItc@HwJzF%ekzN-Ku9hE70#wDuKdim8z0#PwP)NYJo{BFjE?`&f6KW=I4$VgJ|`8v fr_S{smr{QKYrdgVpo#~`00000NkvXXu0mjfx2qb@ diff --git a/graphics/pokemon/zigzagoon/galarian/icon.png b/graphics/pokemon/zigzagoon/galarian/icon.png index d83d717d0c43b40f39b69d9f5f51f315398c2963..7d03b88f34cd1911befa9281b271f1fd6fafacad 100644 GIT binary patch delta 290 zcmV+-0p0%m0*(Wab$>0T59(AxKABQ#e?} z0D?+mv?wRAb7;mee*)w?;&_9Kh|O5v3Kv{R9f1g+y!V#LpY%s3SP$|{$9xac{VU4rg7 o*p=qn!*2ERUK_tjLBG=R15jC~^gwEzGB delta 272 zcmV+r0q_2f1N;Jzb${|nL_t(IjqOq~Zp9!BH{VGvQJGkTJP*f@4$SU3psoH?&S z;_-!$n6-p*rXav)EI2c`o+?>IRO{5D6=^TCMs3 z008w#L_t(I%k5G-YQ!)U+#9HKnRK~;z~$;Ji(uUO5f-d2d!*bd+u2$K&#=W#6tE?` zNUC(ndzD7gywA+x@JGVL&4D>n0gN#%ov~aI)j2el-WK3_7Jr3R&jq+al(6jFLIFrl zf0X5mA%MB{A1j3+Ar|4XR#i!gE4tDK<*t2rD?f6POmdZ%+UO0ZQ6e`}@e$&F&~*7} z^8ff|Daq|_O-!!tIVMRlon4hGyn3fNuWAd10PnEw-kg~Ik)IU#8}Q3QQ;{D~Bpju1 zW<=Vq%E^p8hBQK%Jw}HvFnDG2}o N002ovPDHLkV1k^%j_?2g delta 280 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 diff --git a/graphics/pokemon/zoroark/hisuian/back.png b/graphics/pokemon/zoroark/hisuian/back.png index 8a252b3056939c119de0f86be5691056e46c1683..0f3d8d5d1f3c06163351a04af6a44f618d34fe68 100644 GIT binary patch delta 76 zcmZ3;d6IKNya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c-gl#prUz{5=B$i;ky@ cV~EG`jpzopr0L!xy{{R30 delta 36 qcmX@fxsY>0JO_)8r;B5VN9V?VEfxXApWj3nfWXt$&t;ucLK6VcP75ml diff --git a/graphics/pokemon/zoroark/hisuian/front.png b/graphics/pokemon/zoroark/hisuian/front.png index bf4e40c15f93ed019aee2a70057339cc895a2829..94c8be2d8ad1e39c5310700828d01fb12aef3a46 100644 GIT binary patch delta 1056 zcmV+*1mFA12=EAyUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`Jet*?^W z000BiNkl?D*6`je8B4A$D0x=q|Iy$-$7WheDw+uI*W^ z(HfQoE0_2ZqfAW6DTMfD*s?JS=t~rQD5AxO=H`=)HkdG$hGyySpprfBx`

!@lLui&wS!AZiOswiL;0%`(1QBT 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 UxUK4hLI3~&07*qoM6N<$f{7oyTmS$7 delta 360 zcmV-u0hj*r1F-{;7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0WV2JK~zYI?UYLn z!Y~X(W0112f_?wn;&IZ(ZA>L3gjnE3OErUkX3f_pa~cUL?Fll7@7n}IU;BSOb5gu$Ri-ATTI^! z_S9O0)WCxm)2bblG66I2;3%2|36R?HpeKTa;}27R9}rLD;~fnU*Jk?w0000%C z0007NNklv2NQi5J2TZ+$|X{vPwZdz&TOKsFY;8QX#3qTj7}B;4dhUKj;Uf zi@&l*xhQP#C{5l(4+hM~JMxZ}UY0H6E@M3hRMXR|)eKM;^?!7ZvYZB1^$bwfb-A7i z@SFtlE?ZS~wc{y3G?^&sO@)B$NC1@B)tgO|OK3>IaDWm(3IH;VPzdY*1aLtDMj8VE z4R8zO9tLR!2m!1FO#!S?3g8_$Zh{8DfU|%BL_-$>C&S?Ka)@{z`SW891z@0%A&}I(ZIv$08UD&^ER$let`D(>Chmd zuyt|A@HhB4g_ByHnYd#)N8;rd*4n9z5iQN(U!k0|ok8Fjbqi;Y__5M7n4ygTHh497 zi(3pmg*L7=bKZwDBJdqrPqdV|aeg=e_x_#e=l(3^C4T}Rj+z8MEdrqijJz}Zy;NfW zNL(3)>#Z{344MXTy)!)I(1}}zMFQ)OuuA|+Ie`9a_gW@^-rL=l75Xjp80m|?cnU!3 zQPyu6u65blQvzU`)q4C+KZe}$vRTG5;@9&W@MXqP*5x#?s>*5xsAm*p4pPZWV;ZXZ^1r`jU_*6+|I{hS8)IM3Dk)C(hbw#)%`%;NPH}vTK9D?y^KU zsvUl;G7VN}BY+QH58mPy!#e#P-x$6g*20PlF!jo%3X!=;yQaf|;p7IVO-8ArLB zeEVa8vY2)heE-iV$Q*D}kZUMN77-T;BBPC*D+mFcD+rH!eOHj~STF+K6+|O}h7ryC zLqRkt5PxS1LJ7o~f=~i+svwOd1maXd&=0^zb2w2D5a45hI8_i72z$Byp&+3}PrlvU zs36XVjZo|SaM0?QA)yC<-V`cCxHl7j4lJORvpNZ&KcFBCUZ(tk>u~j;lK#N$Xc!az zfYUR1Kj9B~$NFNzANm!R!SqRg2n$EWn2MWXTo)_;0)H{mc?$mae*gdg07*qoM6N<$ Ef?l8}e*gdg diff --git a/graphics/pokemon/zorua/back.png b/graphics/pokemon/zorua/back.png index 4d9458f3f2d3d6bae660e468751e33538abef29e..f7e41d1d056c22af3d0b0202ade96cf17c7db090 100644 GIT binary patch delta 485 zcmVkQosH=tK2ux7^Ag)8PsS-5kGIhnZNlrL?uwt#Q|vw$i2%pa0pCFD2bum_}jK(?pA zj{CqS^2hQ+z74Q+Qw0H*XpMULNre+(eq(4c?-q*?J5 zc%=w{UIm1xNpik>z?{QKI4=b0z(zr+!gCA&=Um(zP|_=&${An?`Er2C&j5NxZQd)T z1PnG0P28lFSLPy39`7@t#YeprzF*6O{h zq9Q|2)8o$U67!eX@YE7oYu8M>04AcUCNC}lBtk3T%;!Mz3iA4K8J0gyZpHSysrhaA bx&P6B83_dPREk%000000NkvXXu0mjf+?L@s delta 491 zcmVzSftCKd$J^jr~C^T0&2AXe~UP6p31D0-fLBO(n2jp8IV;RdgdeD?Xw$+2)8QihR@jJ)>(v2Pz z5I~w0U%@Ly0D2V&QIq6$U1nIy=L8!uY41jYkZVr_6imP%4jF2w}OnwIF z8GG|yDJ9@(^U%aY+V;wPNR!9s479k_+Xk4gUp(eI@sut^0Is$~5>46r4jrCpxg0_UCs>um0(=VKw(fa=N^r_`*{wwAOBzb^#_)RSpbGfFisKc;<7Eyn?(QE>AMAFuh{? h-_-oJ0Dn9P`2`sX1oDd%Tr~gy002ovPDHLkV1k%6+e!cc diff --git a/graphics/pokemon/zorua/hisuian/back.png b/graphics/pokemon/zorua/hisuian/back.png index 1268b09e0b0bf927b6ce2d4fd7e29c6cda8e744e..6af0fb8de3aec3ad151f5d188f893391e8dc2d06 100644 GIT binary patch delta 725 zcmV;`0xJE42B-#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`J-;l_f5 z0007uNklx&*Bnz;^0V zP+Uihag9tH*T`tp0ZvT`R3q}=bQshRDG0*W;n8GtPN zQUUXVh-TvE27hTz0@CRSCElq;Yk8*L99gFn99sGS9RPQ zj2)SRkbiCtkRnyw8(xVNjsl41&61aIcV6na_)iqU1{luL=_+y0q>zLLGE-5S5*lbr zAn!Vh`XsG!&_Is``SE(@cMX6LGQeHddJb;CPXNw2Lb3wQP8*$#iBU0}iBsHhM0zxT zN!;0f_gVvivIBobO9M(*U>bmZc|gro0v2#hEKW+}M~;LcV^iSA0KG(4NYjNSz?$e0 zrwc$BS=A|~Iv&MQ#f>Q9G&Zh}Z>#Q1O4nK;Uq0Uc?QQ=DXV^H%;VEjl00000NkvXX Hu0mjfmL@`! delta 689 zcmV;i0#5y?280HXUw;CRNkl2bG`uIhWGyXPinUw;2n}E@6XTs`0ly0tp8nh zrv<=m0&WX{oHmJwv=ISmv582F4Z96+T1Ma&lmFg-+MrG8(|-m-4S1gSuCb3OrEjcf zp6~mY-ebUpckZidA^;f7e4jA}pMKMnkTO+cNnAEbgsLCYm+TP<6y-o&!mMC4VJvI{ ziZG*z0uE=`C4en-u7KHriB6ton|3BK?e)NkKRN&`on}PW%m9p)0P4u3VJueyfE69e z{M&R4H15{T%-01`*3xCV)Y{~T6VI?!pA5+eJefungHfNye~ zt<{Vlf0_VglM5jD_S0rj^B{k?T-9>>ng5!XfLoBRe19B9B-J+!T(jF>@6`-xGU5Ct zUrdzuHSil_!MDrg<}43YP{e7!hZ#F~c5y2(9h7}=aD~GDg$8032l1lXS1QIN(*WOD4=bE00Tv5Q%pU?sUI`<{ zuDN&&&;_SLhAycA)BjE6vrh9!lR}33+M(xpi8V`$llg;t#fuuXi*J5S9PZnTY)ZK z;!5_G&_k~#Sqg=yyNRo*6g+wD(2vk>(RXsvTC#K^I1Y6(zcC3YdV^6o%s5BF+P zK-X=%CQ*1~W9&)tv}xPSk>n{oV8!QmFn{Do8hlLYP?pC6?ZLr+LeEp6v~`nI%^U?0 zqJ)l<8r5Pzw}1EaeoQ~7$DTw zfVHV$TWi1zAe?-utHe?aE4AhNASvJl;UrohK%Dd(+I~-*_ddWRiojtV!bsXyx95pi zz~|^2ye1|iR@w%ai+l_)i!S+!5MpKaqCt%L1ps_s@PE}0#yVLm-7v=U7&Cac>|hBq zv#v^T3a~2(zQTsz6C=}v5|G_fA^_j-;zSQJQ}|=J20}!rDB+}g(QQCu-QNJ`uWBg464!^B9xL5H2)sPR^GmT8FAD_xIl#rQ!w~q=6Kl!d z@L4ayB9QZh z@!_<@e9tW5X5P~qtZ!xWsp!PXf4m}w06{*`Pf8rQFq?jYc@Cg82DJUeg)nAxmIvTE z7#jtY`&Yeqp8t)QdZUvUJigKjf!L`4k4IYU$TNUwq(ue5Ntj64U%>er%{nZ|AcFqy)@PR-0TZUDpHHj>M^?4sSB>+G2LIIOB>VUp#`tKGi_ zd^odh$Fx?jzkg<20gYpT(3k_(vV(2S0WW}X@TICzi#0S?xpL zY0LB8I~YU}IJ`+Yb(R6*wmlht;bZg-UeGe9D-H+w|)bBdR{>bo=m-)scycXH8t4mjXXDXJaD6%UG~m}>ohJoS?!tR7<3LF55apQT zns63g_J0j+u=+6W^F2yk1ah7*KAgJj@3AGPnUN9b%x~r1BUwo{!Q$m~0fKzsO_Jis zh0*W>T;u?Ht-~4*T?k{&MtK0PgY#a%gn!wNa{)qzUhm|oh%fa*Aa+V1;+`Jo6}bSS zo*oqdgRgkCF4h2%gMY%JpP}xM!o!PD{7LiU9~24s2W+lo$ejQH002ovPDHLkV1j`G BN>Km+ diff --git a/graphics/pokemon/zorua/hisuian/icon.png b/graphics/pokemon/zorua/hisuian/icon.png index 17f9229a2f208c41b7b4b9a9567403643eb3ccdb..5ab4e4c5927b003a3288b1bf2bb6651d3e84c5e4 100644 GIT binary patch delta 340 zcmV-a0jvJ61HS{1bbkN`bV*G`2j>O{5DGH;99H=N00AONL_t(I%jJ?iPQySDh4%&{ zI~|S1SWqO=uIv#_8ty<&00kw!lM9Lzc2A0&B}Pi&!heVqE_N`5_s0zd4HDDs)0?+5 zyPpt$thig8pM3#d**8GBj2IUYV(=_1n3NkZGNm0%vPsN|qJOc3Y_{l_C_Hp*1UONG zO=)L?a}dhv(i%sf->$LU*XHUW#Y3+2+O|C4U5Yw2f|j_$rXV8>6{6g}+hIWlD{7Rp z-#|&!d)u_EAaaGS@4$Z%7XPUh%L}+<3tlq*0U)0-U>LTph0BkLD2Lo}j49#06`&$Y zHpg$u=FeVHC{1fNvw(gKuu|6JPSeUkRgAJ=-|Oekf>vuu?ylhfBNq8-RT!af2?>2-jBWj&+HqZ4kL6B z5h>5Y5tDQSG*dpnB-_N2XsK%`P8O3ACHsM`0B@9GSI@J-A%9LpbL_2SEU#DC?^^q{ z%5h&xvzlA(@Fqu-Tfqq2VpowBRD&os@AI%A;stfm*-ufn9KCINmaue%VI07}NN~Y_ zUcvGa91CC2MR1T`0QrmogW9+ju0JNC9CEczDdXKNKtq(RU%x5)DYKwNv}|Vqb01?T z55=hoF7Tlg<~^ykjuh7~$kj~HC#GAJ)vf(THCMT49bin1mt-7ZU?N$v%Lns0e0%}b WU4w1T3{iyu0000O{5DGXO$-n0S z007oWL_t(I%k7e}Z38h3MYRF(;qHKlGu!|k#!bq2rfXanNHU9Y6R>fSf}+|3BHEp( z>ykEMr&sV3`Y)wFFf_b8(Pj};+b%{P08gh#P6ROwMSTP7YrBz%&oBqzFf^3xnWoudCEzS* zPT+=O3nytuBHpQpGX(`LxXUa29sNi22Zo226K^GgTDD7J4?w1;T&061fFg&DrU@3d z@XbD7v~<#zX<9P(C3VK@EZzZs;BiKX;e-{gA*Mn_CB!r{i*bkThgfa{IJ@wB1Z68c z{Fj{m=chUPLI+=*ujc`vUJ`jIUlqyG!Cn(GQf%_go>Qi8!Z$2elP(OOFs-QsVZLx$ yA))@N53{r&3?uCV$&hO{_|dY7AN`s`|6aWANCrLy>R9M69m%(n@KoEuvs-+xqU{R2&Du;NnC79uC8 za5ToN^f7X1WVl&TBfD=vo*}0`Lau2aDl@x~8hZfslnaA|5cBQqdOfrMtmB;QgROrj zME6fAx4(oKN;&BGqseykR3%z>{p!jNzW}Lkmy91$ ztiS?pOnxQ+Y=K#|F94V||;F)VNc*lwr** zVX8B!aj#va@s~_@0armFWe{CIn5Tcd@4N>WKuWn##rFS-=i%Ri>MWFGA!rQhJiB+tJ0R1&jtb?$#$B0%jHWJ0rf zbB@}a5P)9+hmbbUg$xwTjr69RHh&(75w*{(I+Hes18N;XI|fNR+B^#JbuVy}D1J|L zwYgty07&@!QgfNjD%{oah);YAcFE!hZt3rwi%Wwn1?Q8(*O=w-8jA66K`rA|hA z+zb=k9If{QSUBiOEx>EdflH|C+BENMh`!pi+!pADpqASJ7hprQ341lUqnBWMx(<;C zczIgg*^Al*6;W#$J&DA&{_(2U$!kZ*@W=^*9o+ZB#~5aj*6HC}Ci8f$ARo}=y#duG V186#+6xIL$002ovPDHLkV1hqpmjnO+ delta 868 zcmV-q1DpKB2dM{;7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R11CvDK~!jg?U~!Q zqA(1GX-K4~@Bh4$Lj&ztAl17Wvev%X%KtSz^T%nrh_)_PGRJ|3)HmK>6EQvzB$)-zy#lQW8j0b2q*>aZ=BY6yY}=%fh&3P4wHW=tpnSuh~-vY2VM)eG?8 zPfr0PdLV62Hy#nHYdOb&E@#$O$fR!T&_kPR=@we8<+rdeWW;u zcByIM;C3>-oCMGUcImO$8j-F0eDM=h1L}6q??qmO{KPZW1icF3wB0J+&-CWl0oHN( z|LQ(;01+d9(n|qQ!fxak;>~~Qot`hK^nR&dU(3eeLDbc3GV8iSA`Iz<40)05UxXR* zDsV95&bT6+%~)_g@3`ZRJMOsSjyt;1d7&N&d2|1TfbKlM*1PlkzWw4nzY8$u`85G7 zfu8{4`+fnK^&A8At>;LqZaty0o+E&+^&E+g_3YPw6^{uY*3w$^^~W{3ZWZQZP>v+`>>wi5N$YMUd?)@j}*e@l|7pitOOwSEz+j1 z#YPb4SpcOdB^?m+8$Vv${E`EZ+`7gf#r%@lL?cw*^%COdH{~QYk+w2%)BwBrg{%W- z04$<^0y!s``6VbNAo5bPH+(%M`ULoXrm9vvaL^O@i9+@E3KOglSpXWSrP^=;&;Y_I5dK7mR4e_M2iXm6C|XLOvRTj1QhE*s2e2rlha{1pOJHNm3iJJt9o!*I&?P_-$5 z?F(IAfYX1#M**Ou!*2no6JdS|fSNrv1)WkIO7kj(W(QON6gMh_KvM{CMTx*ep&tft zaqzMMqDRC_7C0sye_RLo8qB?>e6#Ag4`HIy+ukY|!d9mqX?m ztY~c}hr+HQ0r*4&zpyK#nHmD;!--+Q-SvY5oX5|m!HcdEFx*`p<}gmWx?a*?A#A3G zSM>M9OUDGbjyC68@vkXN+EH#P6#{GqkE}jeKY8||<&u(mZme98smPC?rm6)X>$jJT zvRc6?fYqz>a|2j8GXTA!eg!N!h|6{u$MH*7Evy=U1469t2=M0WhPHr`&b$ghvisq* uF{xxR0`WOc&laeIN&Ygon__sP|Ia@jpm-EOYb=of0000DMghqt~5nY)D7>E4H{ECYdHr+dp1;{QYXEy-5@ z{BhnqlV1RF2YCOs=oS%n0HJGFdJ4cM5~9!a2Eh05qAlxC?~GOaA%@R%(4pG{U}Fes z0289ZeEuSrZWVW(2KuJ09BA%^mM06A7$5_ zlDg8>6ad;Zpcdft8}N|lJ)_E=_gn(C07S1B|*pbVh7Q6U7@nE*XX z1Re_WG=PnRmkba+B3_cfanhY_Trva9y{2@tin$MAqTExU&H%K30#Z5r5~1U+)7~S^ z2EkOR95T-iM5_`xG&Us(z$YU3eGJiKJ(lFG4=08J`_K;#a2~E@i5H_LV0&~3>%%Y_ z)k_z6u+VL$hF8pOT*oHReTl2p$OxjUyDIEfA29LlTz>l82gjH>&9xE4AEAqp& zR)qirQr7zwpuuQfHwXX`co=TY%9#PzYHC-&l7qNxhhZ2#jjG(L@pmA^xQ_PLBKwn%Qa>J`cof{g7|Z|w002ovPDHLk FV1mWZ>Vg0O diff --git a/graphics/pokemon/zubat/icon.png b/graphics/pokemon/zubat/icon.png index 47937015df253c71e339c9adcda2adf77ed060b7..edc22ee6e32b4f126d0958490c4e170a4f51d245 100644 GIT binary patch delta 270 zcmV+p0rCF60_6gbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5DN~?Xd6EO z0078IL_t(I%iWT_4uUWcfcpl03E#uz*d$%JQGHoQ5*9|$1vaA%wrfvHrPLb;o6+m` z<$6E4Pl%rmsX0&_)ILQL0~TlE9)idMOtmB;WoYvVEFQZ3wSQ<%Q*nccjfHbLfhT3f z9qL_W-hU)*0rC=boRG-mms>SY)(<^fmCP%PO$(Zm;mLve+)$EsY{B6z1F-`9N37Lh z2?QMy7<5QL&>=|~bs#*((~UZGkVVNx9el((JsD62=1%_lMzQMyyFS-Jd|QVXMIU#G U?*ybF00000Ne4wvM6N<$g8w;cyZ`_I delta 230 zcmV1sY^!+OS>V6 zO0w4ULzCd4>W0ACo@~dKpAbJC(sH0VD2EhD40w#Bdk7*AF!z#(q|j#pcsw-wtEoa#y%_jifC=mV*rw61nVhE8=8r|7Wd}d0(a3)L`RWeN6}Yb3;kC zV+;0g8Hg3&KVq#8OJLF=fs+mim~==|MjZ%`;dG-84X7a5sKXGUPfHH8gZR^MeW%&= gfnA^LAik}`3q>DyiA!869{>OV07*qoM6N<$f+#R#>i_@% diff --git a/graphics/pokemon/zweilous/anim_front.png b/graphics/pokemon/zweilous/anim_front.png index 622db80f66e0e91562c33bccdc6272090a67e305..0c8d3499153c3d69204e1acc93b998b7d53b63ac 100644 GIT binary patch delta 1049 zcmV+!1m^qO2y^h>A5XU7$xOyoGKBTioM0$yQfR#jPf!j0zL|x&=#Y&g!_f9Y1 z!a%At2GR#EwhpfG%VkJu^~qfqE^HvjW+n2knc;A_^RujvTM&=WV2nWt z;N4|wHrrT)ZAZb}MCyXyKc|u9_1@0I5sZNt-XeS9 z;Z4XGEkN2ZVv6$v5dRDW`jQnV0K2g8vE5H3s;hT<4V z3c$AZu6=Gwkw7QtOUTJ^hb+Rm#HU4FDr?~^<&FR<)O!-8RJhukdgbG>qtQft5aJr3 z1LYwWvt*C}L!lnS%@P*^fn#~MFoQh6aso($t?6!26i{7o#&tXrbc+_42sXxb2Tu}I zt%T<9ZGTm)Zm5nrGFnjUEbh|7jUM_{b%zS`e~haIDn)8?#UYncHU}xIgRIMiK*~eY zbajN8%lGt4rf))cc$s5Qkb z%YTGg6U^%L3)GromKrP6nqrm~tWayjtgbPwP;0=f!17fHOVk=Mi`qCjqE^xq%!paw z(O#f67+MEH17_*t8c{1d_h5}#rO=FnuLEl7^s1SRHxExzV+*&4KcLpo#T^eDl@JMId)yF7m@(6UhEDKZv^;5B7A0A3DHjuJA(#7_a>BL&kq|trA2E T8^&7{00000NkvXXu0mjfls4;r delta 1035 zcmV+m1oZpq2-^sdUw;GUNklx=l^dat_@OFhIjdJC~e9 z&jwB$4D4+_yS#vdlbl;};OyjJ;?pL64JY?DSKWLzFzdkb-3438K-Yh&it1|h&$9kU z=6+A$z5ZcAJU+u}4N3s7FGsW4#v*Jx3g%(#a6=gH(naX!^M4RPAlwdu7i=yNsSAGh zoJN+{W$VomjDZ;5B72tMMaUTAo30w-GnbkH!dNLH{Y*SYVle$SQ+~!&2%;XwY<<<3 zpbcR&<_*Dy07?+G%Nf%l%x`eQO#jcr99hJc0xR_x_n41GI64)I&997Ho_kS>0$VvT zh-V1w__%9Co`118u(MVW89D4XP1D@}7RErez?%y!zqx6e1gJ|Lik0Y+&Cj@P9>jZ* z0`-15F^aidYBqw`f86CRK)|jVu`2}uid#Z9V=MEf6aWy$SE?MDLPAs}g!HZCBBdB1 zqz;xNk04x_HVnlvkQ9Jz?OpRwmm+~y(2bCj;TN(9*MAb97FDUDg+|LA0aU2>Buc4p zbvE_N$8E=;iTXo`KEMPjLoAGDkN``e9>b3%E(8M2GR?&f@&LyPAPu(G(rk(Xst0b> zk6VIiF#;38X4UWDPJ)`1{(#Lhs9|+OwbjvT1m$OO+n&Y2)fqakIzz>34$svB)gu0G zJw$IjKYv^-qBZ}p7UIYfHLr0fie~q)^w%fxC(l%$&bQ6!W)b3L)9kc+rj&(Qg(Gpf zIObBy`Y7e$D64WNkn&j9?Hr-Dlm|1%T_un2`hOwA5VA1+FF$<~e-BGeRUbZ@H99!J zlNl~P9_ABk+N;moC;gW5?P%4Vo#VwPSpP|Lt9UC|7+rkJH{j#^X9(*8MWO)#s~&roZMS;`iuHN`9~ zSbw0_h*?^{M6Cg{0?St=%u#E^ENbK8h+0WUFe7GxM>~PmU}-G~4Vb03YecQAzk@Yq zl|nNPz7D9R+pAVGUf)-$Y diff --git a/graphics/pokemon/zweilous/back.png b/graphics/pokemon/zweilous/back.png index a02b323d12de864706ea6fad60249a3537bfd8b9..7713199d0031ceb9baa544e667fd55fda9d219af 100644 GIT binary patch delta 578 zcmV-I0=@mS1*ip(B#}W-e*gz`Nliru=LQE53mc%d|I`2g0t-n*K~zY`?UYS&q%aJH zA>{*LH`%w1FMyQ;U{G!_4BITaa)PPp^Uh61vW@vMmCAA!qfNW554~q$QC0s~)J*eq56MzcZ&f4Vau49P1qWD9@= zpc$xTw0Uzwb=EMF6a@4#ShxZ-TbKa;FksGrNPqxO?IG{=ku9? zO=Bg&y%O-VDoTvGkv##wj+d6hZ%tpW0L)rO&dcw|39vZue|f@{(C_m+uj5n8cq1?! zSW+G-k6RmLs7epWq=fV51NUE;2(&};V)xI-aSEkvyPAEUALqeiX_OIY8-X9E!3l*0 zTaaTp{HYCtP+Vv9MLv47+;RGjl(Rp?mpDW(rGT(DwLzwKRRX2j@|f<4k5&dw^NqN# zd4;k2Q>%gkIQls0E)?M}iVlsk(_3t_ii1U=)+PpR3y$-#B~oSLe|#(c0`F3ke>{hE QWdHyG07*qoM6N<$f^vif&;S4c delta 587 zcmV-R0<`_81+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z?UYS&oG=iD!KDMx8oVC~T>#n#5FpSOsXs3KZkZ1R!)gFk1qF>M*0E*cI6D@drSIqkYU7a2237x8U4WK_p<9ULW7wFg8=lM za36aho?0W=0xb3Ak1<#wxz93J_2A8L;`AM<@4gLxq75n30>YRW1H`x*;XszUi|1qx zRxFqKMBGzdx{&_bORwNK7XB9aCj3QFJ}9%kg_xy34?JWh3ejsDoVXq$0hx*a<1a?j Z{08q*lz*pY{I382002ovPDHLkV1h@d4j2Fc diff --git a/graphics/pokemon/zweilous/icon.png b/graphics/pokemon/zweilous/icon.png index 1c0a166af90ed81d5fa8ee9166fe5bea54fc4d16..ee0fa15115ed6ab770a18551bd312bc317633ce7 100644 GIT binary patch delta 384 zcmV-`0e}9d1IYuB7zqRe0001qplF?uEFbqX?1A-S2Pm#GxJqJajwK`>{oW?+B zOGM-;fLPMDV#RBhqJ&^TU!N2yKj;2*!0T2VXX%eIvrunhVqKjHIFXrl2O^4^dO?3M zVRj%}Q6%+{rsAT&m`w1w>NlHGXRCrTlB_u;FzP8|YS-Q(eUWE>&aHPD!c17+bL+i6 zt}!8<_fC^kHMhTzMYZe)onHND1+SaYu^MEmTI|_z0e>Q{+O&uEQZ8+F#sPKrOX**47fzar$nf8#o=wbf&(@)8uAYTS z1+j>hvqzJZYV2JV&asK zhdRKLeZN^~J`4+g)EEZ)K8YwA?4ei;L%bK=0yJ4H#^$qxDZo}*^|RpMz{SPUWS=G^ z5MS`KvNO{y@XcWtshu=h{Qsm6oft^dRgF1xo!-opwlC$szFMzt;lz(-*z&^xbl^u3 zPW-?p{8;G&KW4+skJ5KUP~?ZJ5kZk3`UT$*H1VVQ#wLM1A1ee!ei(wLqjE>-UJw+& w?W+O=oe)e5K6HS{k`DtwHhh3~!VmcH1h0@5cLn>H-2eap07*qoM6N<$f&g8gg8%>k diff --git a/graphics/pokemon/zygarde/10_percent/anim_front.png b/graphics/pokemon/zygarde/10_percent/anim_front.png index 88643c991c7784e4b74df2c20f4c4bf6586278f0..6f4464421ac19e347694f6545b00b2630535c143 100644 GIT binary patch delta 1181 zcmV;O1Y-O434scbbbkN`bV*G`2j>O{5DO=d+JjR700d-7L_t(o!|j(rYvV=~$0Y>T z)gw<~*r>Sa6S`_9#X>V}D5p5J~vdXFUKZfhq4g z;R_ZI{iwEIuPpoE*@Ce+Vw1|QY~Y*sGY#igz_qf0!H30OeOm(qr84`3X!h~y9b+km zFj%(i;Qeg5xiNOnVfP}~U9q`I!E)QOL;m*akfT8h22OEA*iS zsHOV;C%sEOZ-2doB(#0Ze#^AhGW9aO&s5t-FSyX0e4)LM23y+Sl zGHSJL(uO zp$Se8--pcsnB(xjsU;5D^X32#x7%#3c1Iw$C;V#lGRuntkU1uNkQKTHLYD$~nd$pF zM}MJe+j+LWmv#Tm+Y%#y$!|JiwsHdA#hpMP%=FfCispSJ6yuO{DqQabJf#*cbuB#7_U-eb5hUE+F+l(~iRrwV4(R1FgO>w;=W!{MtkDZoHPaaa zY*GTYLZR{%ygtt1`HC|*Y+@@En&w-jZUZp!ggT-G0El9E&Qe*{Z_*SX-~tdzJ%79@ z^#dvplG+1_ukTdx@CH>}AnYJ0PAr~qtsg`=^n|psAWd%pjSnOQ5ZD`}2aQi9M-|f; zyp1XAn@9X~bc3C@wtE5uO?x$>J&_(CZL^B0u^a#xCFiZ*8T;7{sX1`qx#Ai0d{CkT~{7q@U%N{3a=X}}$#0s_&egdEcFcw`me8H1GiGOSR&C;^>p3FH9&G=)IpG^fxuo(>k+nh$kPf-*TQ}2)%`42k$3~&4%0M+7^C+Z*B(NMmgs{6=!O37N3&0ZV7-GRxISjTX2uwm z2AMfz+VwFAUw;@OzEvq=dS_oy5F(IDy#l*1K6}Bam#@Jdbban1GzV=ut+0B(xSyyE z{Pu8jdlLBb_q+yZ#|eg)B~M2_fP99JkraRN)C(K{;1nN_@>YI4*<(>s8W&jLyfCbp zdW|WRh<(g400bXf06scCe;TAQi#f!H<`y0sU}bJuX_6iQHWIxh<>4Jbu&ROZ zp8(U-0P6zEovUpXpX+1;6fRI-s*iwB&1`^{JJ&``3xFxRuJduo)GDe zdAU*8PfyOU%Ae^)-Z2)#;_7Gm^{GyX*lGL!D}O-sg1?Ek)5D7Byy*3Dmqdx4OhAHk ziyRt1{lV}AITXzZG3eYAw1q>g|zLX%uuf2!xIk7B3f_rZwyimOfrFQ#jfMzA$D{y9> zSH!IE@nZ;v>sn#VsN)9#7tc41!nkrqFMole{c5wR0e7TP0PuuLU|{{X-JqBS^r6%! z7o<$S1k8y_W_g(?g(GSfkb1FSL ks6X0GvHig_a$=T01E&B07*qoM6N<$g3lu;wEzGB diff --git a/graphics/pokemon/zygarde/10_percent/back.png b/graphics/pokemon/zygarde/10_percent/back.png index b9935ebac7fd488b69f8d8736cd40499c3b6361b..0c8e53ecd35caa6bf4758fb96241378eae61e583 100644 GIT binary patch delta 517 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 JPDHLkV1i9lE%5*V delta 685 zcmV;e0#f~m29ySnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&Ph|K~zY` z&C|b++AtIc@I>mucD7j<{T!W?F*ZxaB7$@~RJye~Q2Q6Oe?i+ZkjejT-wy{u2;50s zY6(S(Kk@hZ*u)85=029{ej-!X8bO8G1`9fxk- z_{?s=ftJ7~m}bjIG6v5-zk>A$?B)*m@k=sz8@V5Y{P{O6frVIqzeaG=?;O5y29-*M z0Mywy~D*$5DoNT~X%6kC-%J331;Ak4wIcJpX0Vv5h(G?C^Ev=n0#!KxmDwb~ ze=9Kb4K)IP0>bk9xk~I*#eiGUgV6M?TGKHa**tfI4gvu!>uo zmcT-eMnK=H6DW{x8C0Q*EV@)B3FAV)1c75GMZ9Fau;DxyEF|On2bdi%AXGRJDP#b$ zSvL?1x+{?~27jTUr~}>TcnvO{5DWxj{AA_;00&M{|9a}XLbN!ff@J#4xv+^ zHnryfsM;HTaM$-10XiiT2&=(8;^{UpXATI!u2ff9=z~Wj0JA^{_S1W-t0AEtapnQS z@y>^vKm1^F(|;o-qm<18F0)t6r)>`4P=`@QV0i}Mj!g(3bOyGK0G$SO%DLs3lwObO zUE-Jvf$%-ty|~=~V#yKs9N^RmyWSaeYtIqDy`Fjv!a09$KyYQBzzEl1;a1K8f)9# zMy=8!)Jue%o2H42aYTUc2{zC#N`OP$(8X^}?pUsFV|3u(a_OiDxUP8C;f`s!o(>kS zC78@XI046Xjkw-*T;XXJlR#MeH3vRe!#K8t1ZcH_58y5gYhf+P=XgKvGO)tRO6QgY zFhzd8eScazxt#<0U(ujPE#Ka2|AIh8@2-4(`xH*t=y?v*yhmkV{SE?71!FE4e}`3Q8G#xU0EXP1R*2DxK;@&>CDs@j zG2rE^G!S_5jE7(PNNgX)J)O=0@#PK=&m>T3Y&1d{wF<~Kg77%rad`?vWgy*3TxHxx z;LAT1(CfHP2HZ~4)6jWe9P)5o0_G+Q<$n@t$0fj^)gYiD|3}S%rzW@IR85hEeu$M1 zF!>ZfG3ud~D4>=lkBR9Dn6zpqD4zg%b{P%^Lp9`<93oIlNQMaTq9XeeFhW;2juSw- zMg$yNb%mw#Wy~h1YKG7Rw*s6&Mwk3t6)IqwvTWfEd0|YPD}do=!&STRpotxVWq*LC zZSP|lOaaYP8~vaOSRla7fSdaas}yBkp8eM!G`n)n4A4K{=VA)jIJ(4y0h-+)E4!j^ zf$tVIYy*?^8Bm@B@zGu+gi#EjZAR_rYtBXXaVu)XQNu0OS!1IeJ$1!|uSZecE4LFv z2;r6ZdQ=zM8!pLfZ@$d8e6Pb>1b>6TRf3TZaD`xanSmfc?L~r-8wk1tx7i#(3j-li z4`u}et%KzTg20>}Nb!N(K*$1r&q4gtes?iSJoiekyAh!hy~8HV8o3=)b z5-1CX4yvoAh9N_8yvrtn(bMe$kbYoD;F9NpG1zNl27-N2`2hlJ-^5`i80Lobha5=T zKjCYQC@c#G<`x_e3x6O$pdFS4!<5~9sHXT;`Ni7dCIS<|z|aHgZy1IzWxz)|Z`uBiaXSZtZBYUQ7eMpOQLfLsrBIBNApsXZG}Cu-n`1+dci zE^hErw{N2kSQCFR;%E>>&q{tEPzS8ih;0;(=&;-j#Iz3x1P;A7b^j^f(EbPenYeZ( TsQh;T0000ZFLScHS|sa%WawAQ1Zy|h?WzXj zf%Wu9dBkh1}un<(Wo8i7?G28n#CvUKgeEl*=y$PES?yI zPm@>GA8NHUvkeA!``1;~uimToGa<{DvHlAWsY8fW1=5FxW`8-X8%}iq&H@A0sjpZL zu3ZHvXCVbAM8E(BF0TOikcBm;9tJ-C4#MGXbpYU@6$T*=VK870bCv+8JG(*nMc}Uj z3`P|Y)x#&$Hyq&Z5)gt@t8eir0G}!Vsz3zJ%O_h~5oJDgmjNp9$?x{Q`_2-UPc6w+#785FEBgc{xCR?TxdhNZQ2uN9@n1hsW+{MI0QW!F zRCIp);bRDyuz@dpr&@ydNA~R&{{#RcM*(aJ;IQ?r5Puw)hausd*`-D3kBEe@EDIOo z$`HR39AKZ70GE1^hkvz%YkP)+*?~XB9Jo~!JWsyr3D>ec-vAre63*wKf`aRLX434t zp7e>$6%aN4kpsWo#yqyA0$9C6k2?`&D+0COckb|vQ5ge%zDg5;7q3M0 zd4R;hc``8A5|G>-is)JawbpJcQdz5kED%&A$)P7wAT9%GC~=j^5P{GCt${($b2H%4 zG~EqD4CR@Kb`)Uk@klM9aZv(HRu4lKiGTmIG$3B`+4q*e(A|M-;Cp?Ps)Up(l7DNxGBj8F2#T7 z?_`A3VxN({FUA#6_M@|84AU3#*f|0aFA$H5$K*$E5fxtAJ6hJSI z1}I0Ffska>MZuWP1tZyw_kYhkni~kg7Z&|tkTi#9eqkUaX=&hcI?eSU84R)0Fj4+c0PT*vE)0bE=IrPu6^x1Ak9Vgt^oPPguyxO# z-=JVzNS*;`C~tBDQG%fX-TfPSKOQ`vJ=KDt4MYjX+Vk8WG;knquYZ5ORVAYg#0wOV z`a{;cF&(aFw|J~5!GI@i4E8Oa7n5<`^+E+4F%U{HV5S8FPn-*EL17N;D4;AD2I#Jq z8iq>A*%6-$#=vk2K>2~GfIE>3#^|_}83^`8?FR^K|0#(w!LW9fKjc8#{;Ak*#Zg%> zu(sf0TmT^g-KZ=WmVfH*V?Bie46%K-hrnDgu(T#Ap#1}vsXy_fRf)O}Wyh}(*=nnQA0XEQ1I{}`S!&N_+>2W{VgYQnzD`>CodUY3 z1NPh>%p@Mg@vAvNBxD4_phrLH-Z>nYebDoZ1lp0000< KMNUMnLSTZGta{}D diff --git a/graphics/pokemon/zygarde/complete/back.png b/graphics/pokemon/zygarde/complete/back.png index 0c50a0a79d4943b14e845632da5118af166369e9..ac19b0d42f61940fcd91e61bb917bc6ff0bd3285 100644 GIT binary patch delta 340 zcmV-a0jvJH1+xW^B#}W-e*gz`Nliru=LQE53=8r@d3OK+0v1U`K~zY`mDIg%+b|FS zUsC@DF6enn1&z-k~RGbQ%H3gZ+AsESfAc3@zN83>>Pk^DUY7n3>xY607m zr2$=kLHwu^of<&g9TPzLUeokX=aWc-Nu8lnu8|oK%8)7r*yR>Ji2)dvFIRp57g<(g zBU>d`gYnk`EgKO!-5Ka)I1|8eECZfh8^|vj)j6{avywZ$QaAL2`7z)$w+ m;ZYtA;Mn)4kN)-aQv3&{mkhGJBld>?00000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(u20uxC@K~zY` zmDIg%+%OCPU>nE-n4zW&0c6iD%A=Pq2PpEE7fZ(?OF9PVQ}iv8JppnzpP!-BkA41; ze2HMdhV+3VDOg2fRK@lvDLH%oM3LE70S}Wg0cru?lbiuveM(wjt^@9mygwao-$R}E&k8(vWd04VqJ7^Bc)fkA zze|?o4Jf%>IsTZRzgV6T^zZs~_$FCi{e!;>_{ly!Jj%lX9Q*$C(Z8NvivOjT46=H0 RcP0P;002ovPDHLkV1oa?j!pmo diff --git a/graphics/pokemon/zygarde/complete/icon.png b/graphics/pokemon/zygarde/complete/icon.png index 663b98fd74fc782251a0cd6b406460310e1104f5..454af5dcac374dab144cd21c1e86147dbc558a45 100644 GIT binary patch delta 455 zcmV;&0XY7d1ds%f7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M`Pk@~iFZSu>sN6YGa)hU#_HLG;W1;ie`=UHOiE*236D&Di(;D- z9b_(N^i*gpyKaAYn}PDceajfY`~80~1LfE_oPjwF3PRsCOK5Ez+1Mc-cH&TaHGX;H zmeU8|Dg$630T&vF?nSKteA=Z1vZguS%v_(($GeOAMEmxKYL zB#iHpFv>2%oIm>@3<@A7Va~OQe!$&63FEdt`Y|;PMPWdaAIGNQB+TMR0E;s)iyvIq x7h#egyxn?t0WbcL1epYo7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004qNkl+qNHH_?9aM zwMHF?4_OjWh6L~cK!qVGadHhPGy9TN2?CCt!i>5kCPcMRd0&76gCn zG4oQ^fEPHlRvArP2y3y2z0nz94*xqbj{|l7DfpI z9NCXR-rzmAQb&#XUrqp`nM6LEp%1W)^LQhW243X9c>N1x`!fPT7RY6g$g@CV(vv`_ zha`}0kR%WSlR)~yo&qs{41vU!INPxE=l)232!kYnxIdB~xy!>Db52bW(u{EhGs7K>1w}t6;HXK6Of~dZ#LiEYOix%odhP z!^81;V~LR*^nT|oPj(>XL&xCKi^|#jIfqo_E#Zi!PdTl5Xn*5+pCiEB9cmvMkCh%z zhm}J`dp}FSdRRYA&QI$;=9!!W0nV*szs+~Cg-PhAM;GkDXBWQj{P?KzEYf=iwZKQ@Z7$2T?jSX>IN*$f6F{DE0q;8+%uhpBP)$*wRwEuMcja68f%i#Gg1uuE^ zVZ?-f7`O~H>u}xu2+a>;BOUYTNyfBE Date: Fri, 9 Jun 2023 18:20:29 -0300 Subject: [PATCH 018/256] Updated preproc config for Diamond Storm --- src/data/battle_moves.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index ef6ad52a1c..ebd64ae10b 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9895,7 +9895,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DIAMOND_STORM] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 + #if B_UPDATED_MOVE_DATA >= GEN_7 .effect = EFFECT_DEFENSE_UP2_HIT, #else .effect = EFFECT_DEFENSE_UP_HIT, From 5fbfc119da2c9ca5cd21ad16e5da1e047659f9a6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Jun 2023 05:51:32 -0300 Subject: [PATCH 019/256] 'Triple Arrows [the move] makeS the foe'... etc --- test/move_effect_triple_arrows.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index e7f48e0d08..715db298f1 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -25,7 +25,7 @@ SINGLE_BATTLE_TEST("Triple Arrows lowers Defense by one stage") } } -SINGLE_BATTLE_TEST("Triple Arrows make the foe flinch 30% of the time") +SINGLE_BATTLE_TEST("Triple Arrows makes the foe flinch 30% of the time") { u32 ability; u32 chance; From eb26039f33065725554539b6a6b63b8ada98fa3d Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Jun 2023 06:03:37 -0300 Subject: [PATCH 020/256] Adjusted Triple Arrows' checks --- src/battle_script_commands.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f48e764884..79337250fd 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3872,12 +3872,15 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_ReduceDefenseAndFlinch; } - else if (randomLowerDefenseChance) + else if (randomLowerDefenseChance && !randomFlinchChance) { BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_DefDown; } - else if (randomFlinchChance && battlerAbility != ABILITY_INNER_FOCUS && GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + else if (randomFlinchChance + && !randomLowerDefenseChance + && battlerAbility != ABILITY_INNER_FOCUS + && GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) { gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; gBattlescriptCurrInstr++; From 3a23207ef496c3fb3047c3cae2b6b16d0ccb5d3e Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Jun 2023 06:29:39 -0300 Subject: [PATCH 021/256] Applied Alex's corrections to Triple Arrows' tests --- test/move_effect_triple_arrows.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index 715db298f1..a899ab7a34 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -6,7 +6,7 @@ ASSUMPTIONS ASSUME(gBattleMoves[MOVE_TRIPLE_ARROWS].effect == EFFECT_TRIPLE_ARROWS); } -SINGLE_BATTLE_TEST("Triple Arrows lowers Defense by one stage") +SINGLE_BATTLE_TEST("Triple Arrows may lower Defense by one stage") { u32 ability; u32 chance; @@ -21,7 +21,7 @@ SINGLE_BATTLE_TEST("Triple Arrows lowers Defense by one stage") } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's defense fell!"); + MESSAGE("Foe Wobbuffet's Defense fell!"); } } @@ -69,7 +69,7 @@ SINGLE_BATTLE_TEST("Triple Arrows can lower Defense and cause flinch at the time } SCENE { ANIMATION(ANIM_TYPE_MOVE, MOVE_TRIPLE_ARROWS, player); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponent); - MESSAGE("Foe Wobbuffet's defense fell!"); + MESSAGE("Foe Wobbuffet's Defense fell!"); MESSAGE("Foe Wobbuffet flinched!"); } } From 81bb299e7f5952e1a7c596ca9d4643a987d46d9f Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Jun 2023 06:50:12 -0300 Subject: [PATCH 022/256] Updated Axe Kick's battle script I have no idea why is this working now when I'm pretty sure it didn't work before, but I consider this a win all the same. --- data/battle_scripts_1.s | 48 +---------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 25b935a003..41689d297c 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -436,54 +436,8 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectAxeKick @ EFFECT_AXE_KICK BattleScript_EffectAxeKick:: - attackcanceler - accuracycheck BattleScript_AxeKickMissedDoDamage, ACC_CURR_MOVE - typecalc - jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_AxeKickMissedDoDamage - goto BattleScript_AxeKickHitFromAtkString -BattleScript_AxeKickMissedDoDamage:: - jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_PrintMoveMissed - attackstring - ppreduce - pause B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG - printstring STRINGID_PKMNCRASHED - waitmessage B_WAIT_TIME_LONG - damagecalc - typecalc - adjustdamage - manipulatedamage DMG_RECOIL_FROM_MISS - bichalfword gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE - healthbarupdate BS_ATTACKER - datahpupdate BS_ATTACKER - tryfaintmon BS_ATTACKER - orhalfword gMoveResultFlags, MOVE_RESULT_MISSED | MOVE_RESULT_DOESNT_AFFECT_FOE - goto BattleScript_MoveEnd - -BattleScript_AxeKickHitFromAtkString: - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG setmoveeffect MOVE_EFFECT_CONFUSION - seteffectwithchance - tryfaintmon BS_TARGET - moveendall - end + goto BattleScript_EffectRecoilIfMiss BattleScript_EffectTakeHeart:: attackcanceler From 9896f20eb83b0acc44a5856ff4bdff7080a127a7 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Jun 2023 21:57:01 -0300 Subject: [PATCH 023/256] Applied fixes and corrections (Jun 2023) --- data/battle_scripts_1.s | 9 ++------- include/battle_util.h | 2 +- src/battle_ai_main.c | 10 ++++++---- src/battle_script_commands.c | 22 ++++++++-------------- src/battle_util.c | 4 ++-- src/data/battle_moves.h | 2 +- 6 files changed, 20 insertions(+), 29 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 41689d297c..db8e6e221e 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -443,7 +443,7 @@ BattleScript_EffectTakeHeart:: attackcanceler attackstring ppreduce - cureifburnedparalysedorpoisoned BattleScript_EffectTakeHeart_TryToRaiseStats + cureifburnedparalysedorpoisoned BattleScript_CalmMindTryToRaiseStats attackanimation waitanimation updatestatusicon BS_ATTACKER @@ -453,11 +453,6 @@ BattleScript_EffectTakeHeart:: jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CalmMindStatRaise goto BattleScript_CantRaiseMultipleStats -BattleScript_EffectTakeHeart_TryToRaiseStats: - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim - jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim - goto BattleScript_CantRaiseMultipleStats - BattleScript_EffectTripleArrows:: setmoveeffect MOVE_EFFECT_TRIPLE_ARROWS goto BattleScript_EffectHit @@ -1520,7 +1515,6 @@ BattleScript_DefDown_Ret: BattleScript_ReduceDefenseAndFlinch:: modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDownAndFlinch_Ret, ANIM_ON - jumpifability BS_TARGET, ABILITY_INNER_FOCUS, BattleScript_DefDownAndFlinch_Ret setmoveeffect MOVE_EFFECT_FLINCH seteffectprimary BattleScript_DefDownAndFlinch_Ret: @@ -6389,6 +6383,7 @@ BattleScript_EffectCalmMind:: attackcanceler attackstring ppreduce +BattleScript_CalmMindTryToRaiseStats:: jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats BattleScript_CalmMindDoMoveAnim:: diff --git a/include/battle_util.h b/include/battle_util.h index 43b613e062..633bdb6103 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -236,6 +236,6 @@ bool8 ChangeTypeBasedOnTerrain(u8 battlerId); void RemoveConfusionStatus(u8 battlerId); u8 GetBattlerGender(u8 battlerId); bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2); -u32 GetMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); +u32 CalcMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); #endif // GUARD_BATTLE_UTIL_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 89f2e75ae6..11b0a51e86 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2644,8 +2644,11 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) && !(gBattleMons[battlerAtk].status1 & STATUS1_ANY) && !(gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY)) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] >= 90 || AI_DATA->hpPercents[BATTLE_PARTNER(battlerAtk)] >= 90) - score -= 9; //No point in healing, but should at least do it if nothing better + else if (gBattleMons[battlerAtk].status1 & STATUS1_ANY + || gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY + || AI_DATA->hpPercents[battlerAtk] >= 90 + || AI_DATA->hpPercents[BATTLE_PARTNER(battlerAtk)] >= 90) + score -= 9; // No point in healing, but should at least do it if there's nothing better or if it's afflicted by a status ailment. break; case EFFECT_TAKE_HEART: if ((!(gBattleMons[battlerAtk].status1 & STATUS1_ANY) @@ -2654,6 +2657,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_AROMATHERAPY)) && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + score -= 10; break; case EFFECT_PLACEHOLDER: return 0; // cannot even select @@ -4893,9 +4897,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) //break; case EFFECT_JUNGLE_HEALING: if (ShouldRecover(battlerAtk, battlerDef, move, 25) - || ShouldRecover(battlerAtk, BATTLE_PARTNER(battlerDef), move, 25) || ShouldRecover(BATTLE_PARTNER(battlerAtk), battlerDef, move, 25) - || ShouldRecover(BATTLE_PARTNER(battlerAtk), BATTLE_PARTNER(battlerDef), move, 25) || gBattleMons[battlerAtk].status1 & STATUS1_ANY || gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY) score += 3; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 79337250fd..86923b86ee 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3864,25 +3864,19 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_TRIPLE_ARROWS: { - u8 randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, GetMoveSecondaryEffectChance(gBattlerAttacker, 50)); - u8 randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, GetMoveSecondaryEffectChance(gBattlerAttacker, 30)); + u8 randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, CalcMoveSecondaryEffectChance(gBattlerAttacker, 50)); + u8 randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, CalcMoveSecondaryEffectChance(gBattlerAttacker, 30)); - if (randomLowerDefenseChance && randomFlinchChance) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); - gBattlescriptCurrInstr = BattleScript_ReduceDefenseAndFlinch; - } - else if (randomLowerDefenseChance && !randomFlinchChance) + if (randomFlinchChance && battlerAbility != ABILITY_INNER_FOCUS && GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; + + if (randomLowerDefenseChance) { BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_DefDown; } - else if (randomFlinchChance - && !randomLowerDefenseChance - && battlerAbility != ABILITY_INNER_FOCUS - && GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) + else { - gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; gBattlescriptCurrInstr++; } } @@ -3898,7 +3892,7 @@ static void Cmd_seteffectwithchance(void) { CMD_ARGS(); - u32 percentChance = GetMoveSecondaryEffectChance(gBattlerAttacker, gBattleMoves[gCurrentMove].secondaryEffectChance); + u32 percentChance = CalcMoveSecondaryEffectChance(gBattlerAttacker, gBattleMoves[gCurrentMove].secondaryEffectChance); if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleScripting.moveEffect) diff --git a/src/battle_util.c b/src/battle_util.c index 6706c6955e..a6e123e65e 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10930,10 +10930,10 @@ bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2) return (gender1 != MON_GENDERLESS && gender2 != MON_GENDERLESS && gender1 != gender2); } -u32 GetMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) +u32 CalcMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) { if (GetBattlerAbility(battlerId) == ABILITY_SERENE_GRACE) - return (secondaryEffectChance * 2); + secondaryEffectChance *= 2; return secondaryEffectChance; } diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 8594a72faf..c8487f3119 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12764,7 +12764,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIGH_CRIT, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, From 9984a9e0968f8e61416c8df5711e544acdbb65cc Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 15 Jun 2023 09:59:25 -0300 Subject: [PATCH 024/256] Update src/data/battle_moves.h Co-authored-by: Eduardo Quezada D'Ottone --- src/data/battle_moves.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index c8487f3119..65ace8f3b8 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12761,7 +12761,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .effect = EFFECT_TRIPLE_ARROWS, .type = TYPE_FIGHTING, .accuracy = 100, - .secondaryEffectChance = 100, + .secondaryEffectChance = 100, // 50% Defense down, 30% Flinch. Can be modified in 'SetMoveEffect' .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIGH_CRIT, From 48c04f936a3eebfcf88b57ae3f41928bc2835244 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 19 Jun 2023 00:07:47 -0300 Subject: [PATCH 025/256] Split Refresh's and Take Heart's effects in AI_CheckViability --- src/battle_ai_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 11b0a51e86..b8ab230274 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -4442,6 +4442,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score++; break; case EFFECT_REFRESH: + if (gBattleMons[battlerAtk].status1 & STATUS1_ANY) + score += 2; + break; case EFFECT_TAKE_HEART: if (gBattleMons[battlerAtk].status1 & STATUS1_ANY || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) From 2bf88502a7a0185bfc58a4011da354b1c8789be3 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 19 Jun 2023 04:17:24 -0300 Subject: [PATCH 026/256] More corrections --- data/battle_scripts_1.s | 7 ------- include/battle_scripts.h | 1 - include/battle_util.h | 2 +- src/battle_ai_main.c | 13 ++++--------- src/battle_script_commands.c | 6 +++--- src/battle_util.c | 2 +- 6 files changed, 9 insertions(+), 22 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index db8e6e221e..4c60758184 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1513,13 +1513,6 @@ BattleScript_DefDown:: BattleScript_DefDown_Ret: return -BattleScript_ReduceDefenseAndFlinch:: - modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDownAndFlinch_Ret, ANIM_ON - setmoveeffect MOVE_EFFECT_FLINCH - seteffectprimary -BattleScript_DefDownAndFlinch_Ret: - return - BattleScript_EffectPurify: attackcanceler attackstring diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 3bf8e5e759..3bb4ed4124 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -471,7 +471,6 @@ extern const u8 BattleScript_SpikesActivates[]; extern const u8 BattleScript_BerserkGeneRet[]; extern const u8 BattleScript_TargetFormChangeWithStringNoPopup[]; extern const u8 BattleScript_DefDown[]; -extern const u8 BattleScript_ReduceDefenseAndFlinch[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/battle_util.h b/include/battle_util.h index 633bdb6103..79bdfaf9a8 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -236,6 +236,6 @@ bool8 ChangeTypeBasedOnTerrain(u8 battlerId); void RemoveConfusionStatus(u8 battlerId); u8 GetBattlerGender(u8 battlerId); bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2); -u32 CalcMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); +u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); #endif // GUARD_BATTLE_UTIL_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b8ab230274..211fa12279 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2639,16 +2639,11 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break; case EFFECT_JUNGLE_HEALING: - if (AtMaxHp(battlerAtk) - && AtMaxHp(BATTLE_PARTNER(battlerAtk)) - && !(gBattleMons[battlerAtk].status1 & STATUS1_ANY) - && !(gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY)) + if (AtMaxHp(battlerAtk) + && AtMaxHp(BATTLE_PARTNER(battlerAtk)) + && !(gBattleMons[battlerAtk].status1 & STATUS1_ANY) + && !(gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY)) score -= 10; - else if (gBattleMons[battlerAtk].status1 & STATUS1_ANY - || gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY - || AI_DATA->hpPercents[battlerAtk] >= 90 - || AI_DATA->hpPercents[BATTLE_PARTNER(battlerAtk)] >= 90) - score -= 9; // No point in healing, but should at least do it if there's nothing better or if it's afflicted by a status ailment. break; case EFFECT_TAKE_HEART: if ((!(gBattleMons[battlerAtk].status1 & STATUS1_ANY) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 86923b86ee..c4ea866df9 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3864,8 +3864,8 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_TRIPLE_ARROWS: { - u8 randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, CalcMoveSecondaryEffectChance(gBattlerAttacker, 50)); - u8 randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, CalcMoveSecondaryEffectChance(gBattlerAttacker, 30)); + u8 randomLowerDefenseChance = RandomPercentage(RNG_TRIPLE_ARROWS_DEFENSE_DOWN, CalcSecondaryEffectChance(gBattlerAttacker, 50)); + u8 randomFlinchChance = RandomPercentage(RNG_TRIPLE_ARROWS_FLINCH, CalcSecondaryEffectChance(gBattlerAttacker, 30)); if (randomFlinchChance && battlerAbility != ABILITY_INNER_FOCUS && GetBattlerTurnOrderNum(gEffectBattler) > gCurrentTurnActionNumber) gBattleMons[gEffectBattler].status2 |= sStatusFlagsForMoveEffects[MOVE_EFFECT_FLINCH]; @@ -3892,7 +3892,7 @@ static void Cmd_seteffectwithchance(void) { CMD_ARGS(); - u32 percentChance = CalcMoveSecondaryEffectChance(gBattlerAttacker, gBattleMoves[gCurrentMove].secondaryEffectChance); + u32 percentChance = CalcSecondaryEffectChance(gBattlerAttacker, gBattleMoves[gCurrentMove].secondaryEffectChance); if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleScripting.moveEffect) diff --git a/src/battle_util.c b/src/battle_util.c index a6e123e65e..ee4e50cf3c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10930,7 +10930,7 @@ bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2) return (gender1 != MON_GENDERLESS && gender2 != MON_GENDERLESS && gender1 != gender2); } -u32 CalcMoveSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) +u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) { if (GetBattlerAbility(battlerId) == ABILITY_SERENE_GRACE) secondaryEffectChance *= 2; From 7be7ecfa51559d25b76a657a324547080228879d Mon Sep 17 00:00:00 2001 From: Joggel19 Date: Mon, 19 Jun 2023 18:07:54 +0200 Subject: [PATCH 027/256] fixed AI considering status priority moves for AI_WhoStrikesFirst --- src/battle_ai_util.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 7730604c87..b4514701ad 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1096,10 +1096,11 @@ u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 moveConsidered) prioAI = GetMovePriority(battlerAI, moveConsidered); for (i = 0; i < MAX_MON_MOVES; i++) { - if (battler2Moves[i] == 0 || battler2Moves[i] == 0xFFFF) + prioBattler2 = GetMovePriority(battler2, battler2Moves[i]); + if (battler2Moves[i] == 0 || battler2Moves[i] == 0xFFFF + || (prioBattler2 > prioAI && !CanIndexMoveFaintTarget(battler2, battlerAI, i , 2))) continue; - prioBattler2 = GetMovePriority(battler2, battler2Moves[i]); if (prioAI > prioBattler2) fasterAI++; else if (prioBattler2 > prioAI) From 7371a9e4018711071338e461c0f4d2d88d145410 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Wed, 21 Jun 2023 13:19:54 -0400 Subject: [PATCH 028/256] Add many gen 8 move animations (#2861) * port many gen8 and 9 move anims from cfru * fix thunder cage, shell smash, shelter anims. update anim credits --------- Co-authored-by: ghoulslash Co-authored-by: Eduardo Quezada D'Ottone --- data/battle_anim_scripts.s | 2202 ++++++++++++++++- .../battle_anims/backgrounds/chloroblast.pal | 19 + include/battle_anim.h | 15 +- include/battle_util.h | 2 + include/constants/battle_anim.h | 3 + include/constants/battle_anim_scripts.h | 28 + include/graphics.h | 1 + src/battle_anim_dragon.c | 3 +- src/battle_anim_effects_1.c | 3 +- src/battle_anim_effects_2.c | 9 +- src/battle_anim_effects_3.c | 6 +- src/battle_anim_electric.c | 2 +- src/battle_anim_flying.c | 4 +- src/battle_anim_ghost.c | 4 +- src/battle_anim_ice.c | 10 +- src/battle_anim_new.c | 1281 +++++++++- src/battle_anim_rock.c | 3 +- src/battle_anim_status_effects.c | 34 +- src/battle_util.c | 5 + src/data/battle_anim.h | 1 + src/graphics.c | 1 + 21 files changed, 3435 insertions(+), 201 deletions(-) create mode 100644 graphics/battle_anims/backgrounds/chloroblast.pal create mode 100644 include/constants/battle_anim_scripts.h diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 2faa39dec2..3aa322ed8c 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -4958,6 +4958,14 @@ Move_FLAME_BURST: delay 18 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 16, 1 createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 0, 0, 1, 0 + call FlameBurstSpread + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 3 + createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 14, -14, 1, 0 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + waitforvisualfinish + end +FlameBurstSpread: createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 192, 76, 70 createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -192, 76, 70 createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 20, 140, 70 @@ -4972,12 +4980,8 @@ Move_FLAME_BURST: createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -224, -32, 70 createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, 112, -128, 70 createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 0, -112, -128, 70 - playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET - delay 3 - createsprite gExplosionSpriteTemplate, ANIM_TARGET, 4, 14, -14, 1, 0 - playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET - waitforvisualfinish - end + return + Move_SLUDGE_WAVE: panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 @@ -5532,8 +5536,8 @@ Move_SHELL_SMASH: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_HANDS_AND_FEET playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER - createsprite gShellSmashRightShellSpriteTemplate, ANIM_ATTACKER, 2, 0xffd7, 0x0, 0x2, 0x333, 0x0, 0xa - createsprite gShellSmashLeftShellSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x0, 0x6, 0xfccd, 0x0, 0xa + createsprite gShellSmashRightShellSpriteTemplate, ANIM_ATTACKER, 2, 0xffd7, 0x0, 0x2, 0x333, 0x0, 10, 30 + createsprite gShellSmashLeftShellSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x0, 0x6, 0xfccd, 0x0, 10, 30 delay 10 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x8, 0x1, 0x0 @@ -6138,37 +6142,8 @@ Move_GRASS_PLEDGE: createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 @middle fountain (also continues left fountain) - - playsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET - createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0 - - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_GREEN - createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 - - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 - createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 - delay 4 + + call GrassPledgeMiddleFountain @right fountain (also continues middle and left fountains) @@ -6213,6 +6188,39 @@ Move_GRASS_PLEDGE: blendoff end +GrassPledgeMiddleFountain: + playsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET + createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0 + + createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_GREEN + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 + + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 + createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 + delay 4 + return + Move_VOLT_SWITCH: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 @@ -13973,8 +13981,32 @@ SmallAppleShower: delay 0x2 return +@ credits to Skeli Move_SPIRIT_BREAK:: - goto Move_PSYCHIC + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + loadspritegfx ANIM_TAG_TEAL_ALERT + loadspritegfx ANIM_TAG_EXPLOSION_2 + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0x10, 0x10, 0x7FFF + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_TEAL_ALERT, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE + monbg ANIM_DEF_PARTNER + createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + call MindReaderEyeSpikeEffect + call MindReaderEyeSpikeEffect + call MindReaderEyeSpikeEffect + call MindReaderEyeSpikeEffect + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SpiritBreakExplode, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 + waitforvisualfinish + delay 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + clearmonbg ANIM_DEF_PARTNER + waitforvisualfinish + end Move_STRANGE_STEAM:: loadspritegfx ANIM_TAG_PINK_CLOUD @@ -14056,8 +14088,44 @@ Move_OBSTRUCT:: clearmonbg ANIM_ATK_PARTNER end +@Credits to Skeli Move_FALSE_SURRENDER:: - goto Move_FEINT + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_CROSS_IMPACT + monbg ANIM_ATTACKER + fadetobg BG_DARK + waitbgfadein + delay 0x0 + playsewithpan SE_M_FAINT_ATTACK, 0xc0 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x12, 0x6, 0x1, 0x3 + createvisualtask AnimTask_AttackerFadeToInvisible, 0x2, 0x1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + invisible ANIM_ATTACKER + delay 0x1 + createvisualtask AnimTask_SetAttackerInvisibleWaitForSignal, 0x2, + monbg ANIM_TARGET + setalpha 12, 8 + delay 0x1 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x7fff, 0xa, 0x0, 0xa + createsprite gSpriteTemplate_LargeCrossImpact, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x14 + createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x9, 0x1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + delay 0x1 + setarg 0x7, 0x1000 + delay 0x1 + createvisualtask AnimTask_InitAttackerFadeFromInvisible, 0x2, + monbg ANIM_ATTACKER + createvisualtask AnimTask_AttackerFadeFromInvisible, 0x2, 0x1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + delay 0x1 + restorebg + waitbgfadein + end Move_METEOR_ASSAULT:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS @@ -14161,17 +14229,216 @@ SetSteelBeamBackground: SetSteelBeamBgPlayer: fadetobg BG_STEEL_BEAM_PLAYER +@Credits to Skeli Move_EXPANDING_FORCE:: - end @to do: + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + loadspritegfx ANIM_TAG_EXPLOSION_2 + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE + monbg ANIM_DEF_PARTNER + call SetPsychicBackground + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_ATTACKER, 0x1, 0x0, 0xa, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, F_PAL_ATTACKER, 0x2, 0x0, 0x8, 0x2ff + waitforvisualfinish + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET + choosetwoturnanim EXPANDING_FORCE_SINGLE_TARGET EXPANDING_FORCE_BOTH_TARGETS +EXPANDING_FORCE_SINGLE_TARGET: + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + waitforvisualfinish + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x18, 0x1, 0x0 + call MaxKnuckleExplosionGeyser + waitforvisualfinish + call UnsetPsychicBg + clearmonbg ANIM_DEF_PARTNER + end + +EXPANDING_FORCE_BOTH_TARGETS: + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_DEF_PARTNER + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x18, 0x1 @;High power + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x5, 0x0, 0x18, 0x1 + call ExpandingForceExplosionGeyser + waitforvisualfinish + call UnsetPsychicBg + clearmonbg ANIM_DEF_PARTNER + end + +ExpandingForceExplosionGeyser: + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0x0005, ANIM_TARGET + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xfff1, ANIM_TARGET + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xfffb, ANIM_TARGET + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0x0012, ANIM_TARGET + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0x0005, ANIM_TARGET + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0xfff5, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xffe1, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xffeb, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0x0002, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0xfff5, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0xffe5, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xffd1, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xffdb, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0xfff2, ANIM_TARGET + delay 0x0 + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0xffe5, ANIM_TARGET + return + +MaxKnuckleExplosionGeyser: + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0003, 0x0005, ANIM_TARGET, 0x0 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0xfff5, 0xfff1, ANIM_TARGET, 0x0 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0008, 0xfffb, ANIM_TARGET, 0x0 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0xfffa, 0x0012, ANIM_TARGET, 0x0 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0000, 0x0005, ANIM_TARGET, 0x0 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0003, 0xfff5, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0xfff5, 0xffe1, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0008, 0xffeb, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0xfffa, 0x0002, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0000, 0xfff5, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0003, 0xffe5, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0xfff5, 0xffd1, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0008, 0xffdb, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0xfffa, 0xfff2, ANIM_TARGET, 0x0 + delay 0x0 + createsprite gLightThatBurnsTheSkyExplosionSpriteTemplate, ANIM_TARGET, 4, 0x0000, 0xffe5, ANIM_TARGET, 0x0 + return + + +@Credits to Skeli Move_STEEL_ROLLER:: - goto Move_GYRO_BALL + loadspritegfx ANIM_TAG_STEAMROLLER + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_ROCKS + playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SteelRoller, ANIM_TARGET, 3, 0, -40, 2, 50, 3 + delay 1 + createvisualtask AnimTask_SquishTarget, 0x2, + delay 14 + call SteelRollerRocks + delay 33 + call SteelRollerRocks + waitforvisualfinish + end +SteelRollerRocks: + playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfff4, 0x1b, 0x2, 0x3 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0x8, 0x1c, 0x3, 0x4 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfffc, 0x1e, 0x2, 0x3 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xc, 0x19, 0x4, 0x4 + return +@Credits to Skeli Move_SCALE_SHOT:: - end @to do: + loadspritegfx ANIM_TAG_SHELL_RIGHT + loadspritegfx ANIM_TAG_IMPACT + createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x6 + delay 0x3 + playsewithpan SE_M_BONEMERANG, SOUND_PAN_ATTACKER + createsprite gSpriteTemplate_ScaleShotScale, ANIM_TARGET, 2, 0x10, 0x0, 0x0, 0x0, 0x14, 0x101 + waitforvisualfinish + playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x5, 0x1 + delay 0x10 + stopsound + waitforvisualfinish + end +@Credits to Skeli Move_METEOR_BEAM:: - end @to do: + loadspritegfx ANIM_TAG_ROCKS + fadetobg BG_COSMIC + waitbgfadeout + choosetwoturnanim METEOR_BEAM_CHARGE METEOR_BEAM_BLAST + +METEOR_BEAM_CHARGE: + createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0xFC00, FALSE, 0xffff + waitbgfadein + monbg ANIM_ATK_PARTNER + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER + call ContinentalCrushStockpileRocks + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER + call ContinentalCrushStockpileRocks + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + call UnsetPsychicBg + end + +METEOR_BEAM_BLAST: + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xf700, 0x0, TRUE, 0xffff @;Scroll right/left + waitbgfadein + monbg ANIM_TARGET + panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER SOUND_PAN_TARGET 0x2 0x0 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x57, 0x1 + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x51, 0x1 + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + call MeteorBeamRockLaunch + waitforvisualfinish + clearmonbg ANIM_TARGET + call UnsetPsychicBg + end + +MeteorBeamRockLaunch: + createsprite gSpriteTemplate_MeteorBeamRock, ANIM_TARGET, 2, 0, 0, 0x10 + delay 0x2 + createsprite gSpriteTemplate_MeteorBeamRock, ANIM_TARGET, 2, 0, 0, 0x10 + delay 0x2 + return Move_SHELL_SIDE_ARM:: createvisualtask AnimTask_ShellSideArm, 0x5 @@ -14219,14 +14486,110 @@ Move_SHELL_SIDE_ARM_SPECIAL: @ Modified Snipe Shot, placeholder waitforvisualfinish end +@Credits to Skeli Move_MISTY_EXPLOSION:: - end @to do: + loadspritegfx ANIM_TAG_EXPLOSION + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x8, 0x9, 0x7A5B, 0x8, 0x0, 0x8 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x4, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x5, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x6, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x7, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x8, 0x8, 0x0, 0x28, 0x1 + call Explosion1 + call Explosion1 + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x1, 0x1, 0x10, 0x10, 0x7F7F @;White Pink + delay 0x32 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x1, 0x3, 0x10, 0x0, 0x7F7F @;White Pink + end +@Credits to Skeli Move_GRASSY_GLIDE:: - end @to do: - + loadspritegfx ANIM_TAG_LEAF @leaves + loadspritegfx ANIM_TAG_IMPACT @hits + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_IMPACT, 0x0, 0xD, 0xD, 0x0266 @;Leaf Green + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0x8, 0x03AC + delay 0x2 + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 10 @;Slide off off, screen + waitforvisualfinish + call GrassPledgeMiddleFountain + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x2 + end + +@Credits to Skeli Move_RISING_VOLTAGE:: - end @to do: + loadspritegfx ANIM_TAG_ELECTRIC_ORBS + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + loadspritegfx ANIM_TAG_SPARK_2 + loadspritegfx ANIM_TAG_LIGHTNING + monbg ANIM_ATTACKER + setalpha 12, 8 + createvisualtask AnimTask_GetBattleTerrain, 0x5, + jumpargeq 0x0, BG_ELECTRIC_TERRAIN, ANIM_RISING_VOLTAGE_STRONGER +ANIM_RISING_VOLTAGE_NORMAL: + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0x4, 0x0 @;To black + waitforvisualfinish + createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 30, 0, 3 @;Amount, Slowness, Slowness, Compaction + playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER + delay 0xc + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0x0 + waitforvisualfinish + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x34, 0x1, 0x0 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x4, 0x0, 0xC, 0x079D + playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xffe0 + call StokedSparksurferSparkGeyser + call StokedSparksurferSparkGeyser + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x4, 0x0, 0x0 @;From black + waitforvisualfinish + clearmonbg ANIM_ATTACKER + end + +ANIM_RISING_VOLTAGE_STRONGER: + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @;To black + waitforvisualfinish + createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 55, 0, 0 @;Amount, Slowness, Slowness, Compaction + playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER + delay 0xc + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2, + waitforvisualfinish + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x54, 0x1, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0x10, 0x079D + playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0xffe0 + call StokedSparksurferSparkGeyser + playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0xffe0 + call StokedSparksurferSparkGeyser + playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xffe0 + call StokedSparksurferSparkGeyser + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0x10, 0x0, 0x079D @;From Yellow + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0xC, 0x0, 0x0 @;From black + waitforvisualfinish + clearmonbg ANIM_ATTACKER + end + Move_TERRAIN_PULSE:: loadspritegfx ANIM_TAG_DRAGON_PULSE @@ -14312,13 +14675,147 @@ TerrainPulseEnd: end Move_SKITTER_SMACK:: - end @to do: + loadspritegfx ANIM_TAG_IMPACT @Hits + loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond + loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour + loadspritegfx ANIM_TAG_RAZOR_LEAF + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x7FFF + waitforvisualfinish + playsewithpan SE_M_FAINT_ATTACK, SOUND_PAN_ATTACKER + invisible ANIM_ATTACKER + delay 1 + visible ANIM_ATTACKER + delay 1 + invisible ANIM_ATTACKER + delay 1 + visible ANIM_ATTACKER + delay 1 + invisible ANIM_ATTACKER + waitsound + createvisualtask AnimTask_DestinyBondWhiteShadow, 0x5, 0x0, 0x30 + delay 0x17 + createvisualtask AnimTask_IsTargetSameSide, 0x2, + createvisualtask AnimTask_SnatchOpposingMonMove, 0x2, + delay 0x19 + visible ANIM_ATTACKER + invisible ANIM_ATTACKER + delay 5 + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 + call HyperspaceHoleMovement + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xa, 0x14, 0x0 + call HyperspaceHoleMovement + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xfffb, 0xa, 0x0 + call HyperspaceHoleMovement + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0x11, 0xfff4, 0x0 + call HyperspaceHoleMovement + waitforvisualfinish + visible ANIM_ATTACKER + delay 1 + invisible ANIM_ATTACKER + delay 1 + visible ANIM_ATTACKER + delay 1 + invisible ANIM_ATTACKER + delay 1 + visible ANIM_ATTACKER + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x7FFF + waitforvisualfinish + end +@Credits to Skeli Move_BURNING_JEALOUSY:: - goto Move_OVERHEAT + loadspritegfx ANIM_TAG_SMALL_EMBER + playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x2A, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F + call BurningJealousyFireBuffEffect + delay 0x8 + call BurningJealousyFireBuffEffect + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F + delay 0x4 + call BurningJealousyFireBuffEffect + waitforvisualfinish + monbg ANIM_TARGET + playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER + createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER + call BurningJealousyFlames + delay 0x8 + call BurningJealousyFlames + delay 0x8 + call BurningJealousyFlames + playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x2, 0x0, 0xC, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_TARGET, 0x1f, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_DEF_PARTNER, 0x1f, 0xc, 0x1, 0x1 + call FireSpreadEffect @ INCINERATE_BURN_CHANCE + waitforvisualfinish + clearmonbg ANIM_TARGET + end +BurningJealousyFireBuffEffect: + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xffe8, 0x1a, 0x2, 0x18 + delay 0x3 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xe, 0x1c, 0x1, 0x18 + delay 0x3 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xfffb, 0xa, 0x2, 0x18 + delay 0x3 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1c, 0x1a, 0x3, 0x18 + delay 0x3 + return + +BurningJealousyFlames: + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0, 0x0500, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0, 0xfb00, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0500, 0x0300, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0300, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0500, 0xfd00, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0xfd00, 0x3 + return + + +@Credits to Skeli Move_LASH_OUT:: - end @to do: + loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy + loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color + loadspritegfx ANIM_TAG_SLAM_HIT_2 + loadspritegfx ANIM_TAG_IMPACT @hit + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SLAM_HIT_2, 0x0, 0xA, 0xA, 0x1F + monbg ANIM_DEF_PARTNER + playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER + call PowerTripBuffUp + delay 0x8 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F + createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + call PowerTripBuffUp + delay 0x8 + call PowerTripBuffUp + waitforvisualfinish + fadetobg BG_DARK + waitbgfadein + playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET + createsprite gSpriteTemplate_LashOutStrike, ANIM_TARGET, 2, 0xfff0, 0xfff0, FALSE + delay 0x8 + createsprite gFoulPlayImpactTemplate, ANIM_TARGET, 3, 10, 0x0, ANIM_TARGET, 0x1 + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xfff4, 0xa, 0x0, 0x3 + delay 0x8 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x5 + delay 0x8 + playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET + createsprite gSpriteTemplate_LashOutStrike, ANIM_TARGET, 2, 0xfff0, 0xfff0, TRUE + delay 0x8 + createsprite gFoulPlayImpactTemplate, ANIM_TARGET, 3, -10, 0x0, ANIM_TARGET, 0x1 + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xC, 0xa, 0x0, 0x3 + delay 0x8 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x5 + restorebg + clearmonbg ANIM_DEF_PARTNER + end + Move_POLTERGEIST:: loadspritegfx ANIM_TAG_EYE_SPARKLE @@ -14358,17 +14855,234 @@ Move_POLTERGEIST:: blendoff end +@Credits to Skeli Move_CORROSIVE_GAS:: + loadspritegfx ANIM_TAG_PINK_CLOUD @Fumes + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PINK_CLOUD, 0x0, 0xE, 0xE, 0x19EF @;Garbage green + monbg ANIM_ATTACKER + loopsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER, 0x8, 0x3 + delay 0x0 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x1, 0x2, 0x0, 0xF, 0x19EF @;Garbage green + createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x7a, 0x3, 0xfff2, 0x12, 0x2e + delay 0x0 + createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x79, 0x3, 0xe, 0xfff2, 0x2e + delay 0x0 + createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x78, 0x3, 0xfff4, 0xfff6, 0x2e + delay 0x0 + createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x77, 0x3, 0xe, 0xe, 0x2e + delay 0x0 + createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x76, 0x3, 0x0, 0x0, 0x2e + delay 0x0 + createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x7b, 0x3, 0x4, 0x4, 0x1e + waitforvisualfinish + playsewithpan SE_M_TOXIC, SOUND_PAN_TARGET + createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_TARGET | F_PAL_ATK_PARTNER | F_PAL_DEF_PARTNER), 0x1, 0x2, 0x0, 0xE, 0x19EF @;Garbage green + waitforvisualfinish + clearmonbg ANIM_ATTACKER + end + + +@Credits to Skeli Move_COACHING:: + playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER + createvisualtask AnimTask_Splash, 0x2, ANIM_ATTACKER, 0x1 + waitforvisualfinish + playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x2, 0x0, 0xA, 0x1E5D + createvisualtask AnimTask_Splash, 0x2, ANIM_TARGET, 0x1 + waitforvisualfinish + end + +@Credits to Skeli Move_FLIP_TURN:: + loadspritegfx ANIM_TAG_ICE_CRYSTALS @;Bubbles + loadspritegfx ANIM_TAG_HYDRO_PUMP + loadspritegfx ANIM_TAG_WATER_IMPACT + monbg ANIM_TARGET + setalpha 12, 8 + call WaterfallBubblesOnAttacker + waitforvisualfinish + invisible ANIM_ATTACKER + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + createsprite gSpriteTemplate_FlipTurnThere, ANIM_TARGET, 2, 0x0, 0x0, 0x15 + waitforvisualfinish + playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x2 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 + createsprite gSpriteTemplate_FlipTurnBack, ANIM_ATTACKER, 3, 0x0, 0xFFF1, 0xFFF0, 0x24 + waitforvisualfinish + visible ANIM_ATTACKER + clearmonbg ANIM_TARGET + blendoff + end + + +@Credits to Skeli Move_TRIPLE_AXEL:: + loadspritegfx ANIM_TAG_HANDS_AND_FEET + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_ICE_CRYSTALS + monbg ANIM_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_M_VITAL_THROW2, 0x3f + jumpifmoveturn 0, TripleAxelTurn0 + jumpifmoveturn 1, TripleAxelTurn1 + goto TripleAxelTurn2 +TripleAxelTurn0: + createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0xfff0, 0xfff8, 0x14, 0x1, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xfff0, 0xfff0, 0x1, 0x2 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4, 0x1 + goto TripleAxelEnd +TripleAxelTurn1: + createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x8, 0x8, 0x14, 0x1, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x8, 0x0, 0x1, 0x2 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xa0, 0xffe0 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xff00, 0xffd8 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0x1a0, 0xffda + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xfe80, 0xffe1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + goto TripleAxelEnd +TripleAxelTurn2: + createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x1, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xfff8, 0x1, 0x1 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xa0, 0xffe0 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff00, 0xffd8 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x80, 0xfff0 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x1a0, 0xffda + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff80, 0xffea + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xfe80, 0xffe1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x8, 0x1 +TripleAxelEnd: + delay 4 + playsewithpan SE_M_ICY_WIND, 0x3f + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +@Credits to Skeli Move_DUAL_WINGBEAT:: + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_WHITE_FEATHER + setalpha 12, 8 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 10, 0x1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + jumpifmoveturn 1, DualWingbeatRightSide +DualWingbeatLeftSide: + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -20, 10, ANIM_TARGET, 0x2 + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -20, 0, ANIM_TARGET, 0x2 + call DualWingbeatFeatherScatterLeft + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -20, -10, ANIM_TARGET, 0x2 + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 5, -20, -20, ANIM_TARGET, 0x2 + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 6, -20, -30, ANIM_TARGET, 0x2 + waitforvisualfinish + blendoff + end +DualWingbeatRightSide: + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 10, 10, ANIM_TARGET, 0x2 + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, 0, ANIM_TARGET, 0x2 + call DualWingbeatFeatherScatterRight + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 10, -10, ANIM_TARGET, 0x2 + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 5, 10, -20, ANIM_TARGET, 0x2 + delay 1 + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 6, 10, -30, ANIM_TARGET, 0x2 + waitforvisualfinish + blendoff + end +DualWingbeatFeatherScatterLeft: + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xa0, 0xffe0 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xfe80, 0xffe1 + return +DualWingbeatFeatherScatterRight: + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xa0, 0xffe0 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xff00, 0xffd8 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0x1a0, 0xffda + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xfe80, 0xffe1 + return + +@ credits to Skeli Move_SCORCHING_SANDS:: - end @to do + loadspritegfx ANIM_TAG_MUD_SAND + loadspritegfx ANIM_TAG_SMALL_EMBER + monbg ANIM_ATK_PARTNER + splitbgprio ANIM_ATTACKER + setalpha 12, 8 + playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_ATTACKER + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff6, 0x0, 0x0, 0x3 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x2 + call SandAttackDirt + call SandAttackDirt + call SandAttackDirt + call SandAttackDirt + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x2, 0x0, 25, 0x1 + call SandAttackDirt + call SandAttackDirt + playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET + call FireSpreadEffect + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + blendoff + end +@ credits to skeli Move_JUNGLE_HEALING:: - goto Move_AROMATHERAPY + loadspritegfx ANIM_TAG_ROOTS + loadspritegfx ANIM_TAG_ORBS + loadspritegfx ANIM_TAG_SPARKLE_2 + fadetobg BG_SNUGGLE_FOREVER + waitbgfadeout + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0x10, 0x1a, 0xffff, 0x2, 0x96 + playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER + delay 0xa + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0xffe0, 0x14, 0x1, 0x1, 0x8c + playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER + delay 0xa + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x16, 0x1, 0x0, 0x82 + playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER + delay 0xa + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0xfff0, 0x19, 0xffff, 0x3, 0x78 + playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER + delay 0x28 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0x20, 0x1a, 0xffff, 0x3, 0x1e + delay 0x5 + playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER + delay 0x5 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0xffd0, 0x14, 0x1, 0x2, 0x1e + playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER + delay 0x5 + playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER + delay 0x5 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0x30, 0x1a, 0xfffe, 0x3, 0x12 + playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER + delay 0xa + playsewithpan SE_M_STAT_INCREASE, 0xc0 + createvisualtask AnimTask_StatusClearedEffect, 0x2, 0x1 + waitforvisualfinish + restorebg + waitbgfadein + end +@ credits to ghoulslash Move_SILK_TRAP:: loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_SPIDER_WEB @@ -14396,40 +15110,1276 @@ Move_SNOWSCAPE:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 6, 0, RGB_BLACK end +@Credits to Skeli Move_WICKED_BLOW:: + loadspritegfx ANIM_TAG_FOCUS_ENERGY + loadspritegfx ANIM_TAG_HANDS_AND_FEET + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_PAIN_SPLIT + loadspritegfx ANIM_TAG_SPARKLE_4 + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PAIN_SPLIT, 0x0, 0x9, 0x9, 0x1F + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_FOCUS_ENERGY, 0x0, 0x8, 0x8, 0x1F + playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER + call WickedBlowBuffEffect + delay 0x8 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + call WickedBlowBuffEffect + delay 0x8 + call WickedBlowBuffEffect + waitforvisualfinish + fadetobg BG_DARK + waitbgfadeout + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1c, 0x0, 0x0, 0x5 + delay 0x5 + createsprite gSpriteTemplate_WickedBlowFist, ANIM_TARGET, 4, ANIM_TARGET, 0, 0, 16, 32 + delay 6 + loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 0x4, 0x6 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 + createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xfe80, 0xffe1 + createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xff00, 0xffd8 + createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xff80, 0xffea + createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x80, 0xfff0 + createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xa0, 0xffe0 + createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x1a0, 0xffda + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0xA, 0x1 + delay 20 + createvisualtask AnimTask_TwinkleTackleLaunch, 0x2, 50 + delay 50 + playsewithpan SE_M_DETECT, SOUND_PAN_TARGET + createsprite gTwinkleTackleTwinkleSpriteTemplate, ANIM_TARGET, 13, 0x0, 0x0, ANIM_TARGET @detect star + waitforvisualfinish + blendoff + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x6 + restorebg + waitbgfadeout + visible ANIM_TARGET + waitforvisualfinish + waitbgfadein + end + +WickedBlowBuffEffect: + createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x1a, 0x2 + delay 0x4 + createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xe, 0x1c, 0x1 + delay 0x4 + createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xfffb, 0xa, 0x2 + delay 0x4 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x1c, 0x1a, 0x3 + delay 0x4 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 + return + + + +@Credits to Skeli Move_SURGING_STRIKES:: + loadspritegfx ANIM_TAG_IMPACT_2 + loadspritegfx ANIM_TAG_WATER_IMPACT + jumpifmoveturn 1 SURGING_STRIKES_1 + jumpifmoveturn 2 SURGING_STRIKES_2 + +SURGING_STRIKES_0: + playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, -20, 0, 0, 10, -20 @Top left + delay 5 + playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, 20, 0, 0, 10, 20 @Bottom right + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 + delay 5 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, 5, ANIM_TARGET, 0x1 + waitforvisualfinish + end + +SURGING_STRIKES_1: + playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right + delay 5 + playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, 20, 0, 0, 10, 20 @Bottom left + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 + delay 5 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, 5, ANIM_TARGET, 0x1 + waitforvisualfinish + end + +SURGING_STRIKES_2: + playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, -20, 0, 0, 10, -20 @Top left + delay 5 + playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x8, 0x1 + delay 5 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 + waitforvisualfinish + end + + +@Credits to Skeli Move_THUNDER_CAGE:: + loadspritegfx ANIM_TAG_SHOCK_3 @Thunderbolt Ball + loadspritegfx ANIM_TAG_SPARK @Electric lines + loadspritegfx ANIM_TAG_SPARK_H @Thunder Wave + loadspritegfx ANIM_TAG_SPARK_2 + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + loopsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET, 0xA, 0x9 + createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, -25, -30, 0x0 + createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, 0, -30, 0x0 + createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, 25, -30, 0x0 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, -16 + delay 4 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 0 + delay 4 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 16 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x3, 0x0, 0x32, 0x1 + call ThunderCageBolts + delay 0x4 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, -16 + delay 4 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 0 + delay 4 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 16 + call ThunderCageBolts + waitforvisualfinish + clearmonbg ANIM_TARGET + end +ThunderCageBolts: + createvisualtask AnimTask_ElectricBolt, 2, 25, -40, 1 + delay 0x9 + createvisualtask AnimTask_ElectricBolt, 2, -25, -40, 1 + delay 0x9 + createvisualtask AnimTask_ElectricBolt, 2, 0, -40, 1 + delay 0x9 + return + + +@Credits to Skeli Move_DRAGON_ENERGY:: + loadspritegfx ANIM_TAG_HYDRO_PUMP + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x2C5E @;Regidrago Reddish Reddish, Purple + monbg ANIM_TARGET + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x4, 0x0, 0xB, 0x7F9F @;Pinkish White + waitforvisualfinish + playsewithpan SE_M_DETECT, SOUND_PAN_TARGET + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x2C5E @;Regidrago Reddish Reddish, Purple + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 1 @;Slide off off, screen + waitforvisualfinish + playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_TARGET + call DragonEnergyShot + call DragonEnergyShot + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x5E, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x4, 0x0, 0x5E, 0x1 + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + call DragonEnergyShot + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 10 + clearmonbg ANIM_TARGET + waitforvisualfinish + end + +DragonEnergyShot: + createsprite gSpriteTemplate_DragonEnergyShot, ANIM_TARGET, 2, 0x19 + delay 0x1 + createsprite gSpriteTemplate_DragonEnergyShot, ANIM_TARGET, 2, 0x19 + delay 0x1 + return + + +@Credits to Skeli Move_FREEZING_GLARE:: + loadspritegfx ANIM_TAG_SMALL_RED_EYE + loadspritegfx ANIM_TAG_EYE_SPARKLE + loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice + call SetPsychicBackground + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 0xfff0, 0xfff8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 0x10, 0xfff8 + createvisualtask AnimTask_GlareEyeDots, 0x5, 0x0 + playsewithpan SE_M_PSYBEAM2, SOUND_PAN_ATTACKER + waitforvisualfinish + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xC, 0x7f4c @;Ice blue + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x4, 0x1C, 0x1 + call IceCrystalEffectShort + waitforvisualfinish + call UnsetPsychicBg + end + + +@Credits to Skeli Move_FIERY_WRATH:: + loadspritegfx ANIM_TAG_SMALL_EMBER + loadspritegfx ANIM_TAG_PURPLE_RING + playsewithpan SE_M_SACRED_FIRE2, 0xc0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0xE, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x4, 0x0, 0x8, 0x1F + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x20, 0x1 + call DragonClawFireSpiral + call DragonClawFireSpiral + waitforvisualfinish + loopsewithpan SE_M_PSYBEAM, SOUND_PAN_TARGET, 20, 3 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x4, 0x0, 0xF, 0x3006 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x3C, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x4, 0x0, 0x3C, 0x1 + call FieryWrathGeyser + call FieryWrathGeyser + call FieryWrathGeyser + call FieryWrathGeyser + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x8, 0x0, 0x1F + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x2, 0x9, 0x0, 0x3006 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xE, 0x0, 0x0 + waitforvisualfinish + end + +FieryWrathGeyser: + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + delay 0x0 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + return + + + +@Credits to Skeli Move_THUNDEROUS_KICK:: + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_HANDS_AND_FEET + loadspritegfx ANIM_TAG_SPARK_2 + monbg ANIM_TARGET + fadetobg BG_MAX_LIGHTNING + waitbgfadeout + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff + setalpha 12, 8 + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET + createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x32 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0x7, 0x7fff + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x2, 0x0, 0x16, 0x1 + call ZingZapSparks1 + delay 0xA + call ZingZapSparks2 + delay 0xA + call ZingZapSparks1 + delay 0xA + call ZingZapSparks2 + delay 0x3 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x30, 0x3, 0x0, 0x4 + delay 0x7 + playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x0 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x16, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x0, 0x7fff + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x0, 0x8, 0x0, 0x0 + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + clearmonbg ANIM_TARGET + blendoff + call UnsetPsychicBg + end + + +@Credits to Skeli Move_GLACIAL_LANCE:: + loadspritegfx ANIM_TAG_ICICLE_SPEAR + loadspritegfx ANIM_TAG_ICE_CUBE + loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xA, 0x3C00 @;Royal Blue + monbg ANIM_TARGET + playsewithpan SE_M_HAIL, SOUND_PAN_TARGET + createvisualtask AnimTask_CentredFrozenIceCube, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_GlacialLance, ANIM_TARGET, 2, 0, 40, 0, 0, 40, 50, 10 + delay 60 + createvisualtask AnimTask_FlashAnimTagWithColor, 0x2, ANIM_TAG_ICICLE_SPEAR, 0x4, 0x1, 0x7FFF, 0x10, 0x0, 0x0 + playsewithpan SE_M_DETECT, SOUND_PAN_TARGET + delay 38 + playsewithpan SE_M_BRICK_BREAK, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x34, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x6, 0x0, 0x34, 0x1 + delay 4 + call IceCrystalEffectLong + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0xA, 0x0, 0x3C00 @;Royal Blue + waitforvisualfinish + clearmonbg ANIM_TARGET + end + + Move_ASTRAL_BARRAGE:: + goto Move_SHADOW_BALL + + +@Credits to Skeli Move_EERIE_SPELL:: + loadspritegfx ANIM_TAG_PURPLE_FLAME + call SetPsychicBackground + waitforvisualfinish + monbg ANIM_TARGET + splitbgprio_all + loopsewithpan SE_M_PSYBEAM, SOUND_PAN_TARGET, 0x14, 0x5 + createvisualtask AnimTask_SpiteTargetShadow 0x0 + call EerieSpellConvergingFlames + call EerieSpellConvergingFlames + call EerieSpellConvergingFlames + waitforvisualfinish + clearmonbg ANIM_TARGET + call UnsetPsychicBg + waitforvisualfinish + end + +EerieSpellConvergingFlames: + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe0, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x16, 0xffea, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x1e, 0x0, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x14, 0x14, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0x1c, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffed, 0x13, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffe5, 0x0, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffee, 0xffee, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe7, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x11, 0xffef, 0x10 + delay 0x2 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x17, 0x0, 0x10 + return + +@@@@@@@@@@@@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@@@@@@@@@@@@ +@ credits to Skeli Move_DIRE_CLAW:: + loadspritegfx ANIM_TAG_SLASH + loadspritegfx ANIM_TAG_POISON_BUBBLE + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SLASH, 0x0, 0xC, 0xC, 0x6038 @;Purple + createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 4 + delay 6 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0xfff0, 0x0 + delay 0x2 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0x0, 0x0 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x24, 0x1 + delay 0x2 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0x0, 0x0 + call PoisonBubblesEffect + waitforvisualfinish + end + + +@ credits to Skeli Move_PSYSHIELD_BASH:: + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_WATER_GUN @Blue colour + call SetPsychicBackground + monbg ANIM_DEF_PARTNER + setalpha 12, 8 + playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xB, 0x7FAF @;Light blue + createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x38, 0xa + delay 0x23 + createsprite gSpriteTemplate_PsyshieldBashHit, ANIM_ATTACKER, 4, -10, 0x0, 0x1, 0x0 + playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET + delay 0x1 + createsprite gSlideMonToOffsetSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 0xfff0, 0x0, 0x0, 0x4 + waitforvisualfinish + createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_TARGET, 0x4, 0x0, 0xc, 0x1 + waitforvisualfinish + delay 0x2 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x7FAF @;Light blue + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x5 + delay 0x3 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x0, 0x7 + waitforvisualfinish + call UnsetPsychicBg + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +@ credits to skeli Move_POWER_SHIFT:: + loadspritegfx ANIM_TAG_BLUEGREEN_ORB + loadspritegfx ANIM_TAG_RED_HEART @Red colour for orb + monbg ANIM_ATK_PARTNER + playsewithpan SE_M_REVERSAL, SOUND_PAN_ATTACKER + createsprite gSpriteTemplate_PowerShiftOffenseBall, ANIM_ATTACKER, 2, POWER_SHIFT_LEFT_X, 0, POWER_SHIFT_RIGHT_X, 0, POWER_SHIFT_DELAY, POWER_SHIFT_ARC + createsprite gSpriteTemplate_PowerShiftDefenseBall, ANIM_ATTACKER, 2, POWER_SHIFT_RIGHT_X, 0, POWER_SHIFT_LEFT_X, 0, POWER_SHIFT_DELAY, POWER_SHIFT_ARC + waitforvisualfinish + playsewithpan SE_M_DETECT, SOUND_PAN_ATTACKER + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0xa, 0x7fff + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + end + + +@ credits to skeli Move_STONE_AXE:: + loadspritegfx ANIM_TAG_SLAM_HIT_2 @Cut + loadspritegfx ANIM_TAG_ROCKS + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + playsewithpan SE_M_CUT, SOUND_PAN_TARGET + createsprite gSpriteTemplate_StoneAxeSlash, ANIM_TARGET, 2, 50, -10, 100, 8, 1 @;Move left + delay 0x5 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x10, 0x1 + playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET + call StoneAxeRockFragments + delay 0x8 + call StoneAxeRockFragments + waitforvisualfinish + clearmonbg ANIM_TARGET + end + +StoneAxeRockFragments: + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x18, 0xe, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x5, 0x0, 0xffec, 0x18, 0xe, 0x1 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x5, 0x14, 0xffe8, 0xe, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0xfffb, 0x0, 0xffec, 0xffe8, 0xe, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0xfffb, 0x1e, 0x12, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x1e, 0xffee, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xffe2, 0x12, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xffe2, 0xffee, 0x8, 0x2 + return + + +@Credits to Skeli Move_SPRINGTIDE_STORM:: + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_RED_HEART + playsewithpan SE_M_GUST, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF + call HurricaneGust + call SpringtideStormHeartSwirl + call HurricaneGust + call SpringtideStormHeartSwirl + call HurricaneGust + call SpringtideStormHeartSwirl + call HurricaneGust + call SpringtideStormHeartSwirl + call HurricaneGust + call SpringtideStormHeartSwirl + call HurricaneGust + call SpringtideStormHeartSwirl + waitforvisualfinish + stopsound + end + +SpringtideStormHeartSwirl: + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET + return + + +@Credits to Skeli Move_MYSTICAL_POWER:: + loadspritegfx ANIM_TAG_THIN_RING + loadspritegfx ANIM_TAG_POISON_BUBBLE @Purple Colour + loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue colour + setalpha 12, 8 + call SetPsychicBackground + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + call PsystrikeInwardRing + delay 0xA + call PsystrikeInwardRing + delay 0xA + call PsystrikeInwardRing + delay 0xA + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x6, 0x0, 0xB, 0x7FAF @;Light blue + createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x0 + call MysticalPowerFoeRings + createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x1 + call MysticalPowerFoeRings + createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x2 + call MysticalPowerFoeTwoRingsOnly + waitforvisualfinish + clearmonbg ANIM_TARGET + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FAF @;Light blue + call UnsetPsychicBg + blendoff + end + +@ TODO port cfru psystrike anim +PsystrikeInwardRing: + createsprite gSpriteTemplate_VioletMind, ANIM_ATTACKER, 0x28, 0x0, 0x0, 0x0, 0x0 + playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER + return + +MysticalPowerFoeRings: + playsewithpan SE_M_BIND, SOUND_PAN_TARGET + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, -20, -10, ANIM_TARGET, 0x0 + delay MYSTICAL_POWER_RING_PAUSE + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 0, 10, ANIM_TARGET, 0x0 + delay MYSTICAL_POWER_RING_PAUSE + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 10, -20, ANIM_TARGET, 0x0 + delay MYSTICAL_POWER_RING_PAUSE + return + +MysticalPowerFoeTwoRingsOnly: + playsewithpan SE_M_BIND, SOUND_PAN_TARGET + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, -20, -10, ANIM_TARGET, 0x0 + delay MYSTICAL_POWER_RING_PAUSE + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 0, 10, ANIM_TARGET, 0x0 + delay MYSTICAL_POWER_RING_PAUSE + return + + +@Credits to Skeli Move_RAGING_FURY:: + loadspritegfx ANIM_TAG_SMALL_EMBER + loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 0x8, 0x3 + createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 0x2, 0x5, 0x3, 0x8, 0x1f + createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x20, 0x8, 0x38, 0x6 + call OutrageFlames + call OutrageFlames + delay 10 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x18, 0x1 + playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET + call FlameBurstSpread + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + waitforvisualfinish + end + +@Credits to Skeli Move_WAVE_CRASH:: + loadspritegfx ANIM_TAG_WATER_IMPACT + loadspritegfx ANIM_TAG_SMALL_BUBBLES + loadspritegfx ANIM_TAG_ICE_CRYSTALS @Bubbles on attacker + monbg ANIM_DEF_PARTNER + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xB, 0x726A + createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 + call WaterfallBubblesOnAttacker + waitforvisualfinish + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 + call RisingWaterHitEffect + waitforvisualfinish + delay 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x726A + clearmonbg ANIM_DEF_PARTNER + waitforvisualfinish + end + + +@Credits to Skeli Move_CHLOROBLAST:: + loadspritegfx ANIM_TAG_THIN_RING + loadspritegfx ANIM_TAG_HYDRO_PUMP + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_THIN_RING, 0x0, 0xA, 0xA, 0x03AC + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x03AC + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0x10, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x10, 0x03AC + createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x2, 0x0, 0x10, 0x0 + playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER + createsprite gThinRingShrinkingSpriteTemplate ANIM_ATTACKER, 0x28, 0, 0, 0, 0 + delay 0xe + createsprite gThinRingShrinkingSpriteTemplate ANIM_ATTACKER, 0x28, 0, 0, 0, 0 + delay 0xe + createsprite gThinRingShrinkingSpriteTemplate ANIM_ATTACKER, 0x28, 0, 0, 0, 0 + waitforvisualfinish + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA, + fadetobg BG_CHLOROBLAST + waitbgfadeout + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x0, 0x10, 0x0, 0x0 + delay 0x10 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x4A, 0x1 + createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xFF00 | SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x1, 0x17, 0x0, 0x5 + createvisualtask AnimTask_HorizontalShake, 0x5, 5, 1, 67 + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4A, 0x1 + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + call ChloroblastShot + waitforvisualfinish + delay 0x5 + createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x2, 0x0, 0x0, 0x0 @;From Black + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x0, 0x10, 0x0, 0x03AC + restorebg + waitbgfadeout + createvisualtask AnimTask_AllBattlersVisible, 0xA, + clearmonbg ANIM_DEF_PARTNER + waitbgfadein + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x2, 0x0, 0x0, 0x0 @;From Black + end +ChloroblastShot: + createsprite gSpriteTemplate_ChloroblastShot, ANIM_TARGET, 2, 0, 0, 0x19 + delay 0x2 + createsprite gSpriteTemplate_ChloroblastShot, ANIM_TARGET, 2, 0, 0, 0x19 + delay 0x2 + return + +@Credits to Skeli Move_MOUNTAIN_GALE:: + loadspritegfx ANIM_TAG_ROCKS @Rocks + loadspritegfx ANIM_TAG_DRAGON_ASCENT_FOE @White Rock Colour + monbg ANIM_TARGET + call MountainGaleIceRock + delay 0x6 + call MountainGaleIceRock + delay 0x6 + call MountainGaleIceRock + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x18, 0x1 + playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET + delay 0x6 + call MountainGaleIceRock + playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET + delay 0x6 + call MountainGaleIceRock + playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET + delay 0x6 + playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET + delay 0x6 + playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET + waitforvisualfinish + clearmonbg ANIM_TARGET + end + +MountainGaleIceRock: + playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER + createsprite gSpriteTemplate_MountainGaleRock, ANIM_ATTACKER, 2, 0x14, 0xfff8, 0xfff8, 0xfff8, 0x14, 0xffe0 + return + + + +@Credits to Skeli Move_VICTORY_DANCE:: + loadspritegfx ANIM_TAG_HOLLOW_ORB + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, ANIM_ATTACKER, 0x28, 0x6, 0x3, 0x3 + playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER + delay 0x8 + createvisualtask AnimTask_BlendPalInAndOutByTag, 0x5, ANIM_TAG_HOLLOW_ORB, 0x0B1D, 0xe, 0x0, 0x3 @;Light orange + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x0 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x2b + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x55 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x80 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0xaa + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0xd5 + delay 0x1e + playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER + delay 0x1e + playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER + waitforvisualfinish + end + +@Credits to Skeli Move_HEADLONG_RUSH:: + loadspritegfx ANIM_TAG_MUD_SAND @Dig + loadspritegfx ANIM_TAG_IMPACT + loadspritegfx ANIM_TAG_EXPLOSION_2 + loadspritegfx ANIM_TAG_ROCKS + fadetobg BG_ROCK_WRECKER + waitbgfadeout + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xF000, 0x0, 0x0, 0xffff + waitbgfadein + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x26, 0x1 + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + call PulverizingPancakeDiggingRun + waitforvisualfinish + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2a, 0x0, 0x0, 0x5 + createsprite gSpriteTemplate_HeadlongRushImpact, ANIM_TARGET, 4, 0xfff6, 0x0, 0x1, 0x0 + delay 0x5 + createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x4, 0x0, 0x2C, 0x1 + call MaxQuake_DirtGeyser + call MaxQuake_DirtGeyser + waitforvisualfinish + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + call UnsetPsychicBg + waitforvisualfinish + end +@ from max quake +MaxQuake_DirtGeyser: + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0x0005, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xfff1, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xfffb, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0x0012, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0x0005, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfffc, 0x10 + playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0xfff5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xffe1, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xffeb, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfff0, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0x0002, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfffc, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0xfff5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0xffe5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xffd1, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfff0, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xffdb, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0xfff2, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 + delay 0x0 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0xffe5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 + delay 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + return + + +@Credits to Skeli Move_BARB_BARRAGE:: + loadspritegfx ANIM_TAG_SPIKES + loadspritegfx ANIM_TAG_SHADOW_BALL @Spikes colour + loadspritegfx ANIM_TAG_POISON_BUBBLE + monbg ANIM_TARGET + call BarbBarrageSpikeShoot + loopsewithpan SE_M_DIG, SOUND_PAN_ATTACKER, 0x7, 0x3 + createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER + delay 0x14 + createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x20, 0x1 + call PoisonBubblesEffect + clearmonbg ANIM_TARGET + end +BarbBarrageSpikeShoot: + delay 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0, 0x3 + delay 0x0 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0, 0x0500, 0x3 + delay 0x0 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0, 0xfb00, 0x3 + delay 0x0 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0500, 0x0300, 0x3 + delay 0x0 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0300, 0x3 + delay 0x0 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0500, 0xfd00, 0x3 + delay 0x0 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0xfd00, 0x3 + return + + + +@Credits to Skeli Move_ESPER_WING:: + loadspritegfx ANIM_TAG_PUNISHMENT_BLADES @Punishment Blade + loadspritegfx ANIM_TAG_WHITE_FEATHER + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_WHITE_FEATHER, 0x0, 0xA, 0xA, 0x7DDE + monbg ANIM_TARGET + call SetPsychicBackground + playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER + createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x2ff + waitforvisualfinish + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_ATTACKER + call EsperWingBlade + playsewithpan SE_M_WING_ATTACK, SOUND_PAN_ATTACKER + delay ESPER_WING_SPEED / 2 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0xC, 0x1 + call WingAttackFeatherScatter + waitforvisualfinish + call UnsetPsychicBg + clearmonbg ANIM_DEF_PARTNER + end + +EsperWingBlade: + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, ESPER_WING_SPEED + delay ESPER_WING_SPEED / 2 + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, ESPER_WING_SPEED + return + +@ TODO update wing attack anim with this +WingAttackFeatherScatter: + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xa0, 0xffe0 + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xff00, 0xffd8 + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0x1a0, 0xffda + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xfe80, 0xffe1 + return + + +@Credits to Skeli Move_BITTER_MALICE:: + loadspritegfx ANIM_TAG_PURPLE_RING + loadspritegfx ANIM_TAG_EYE_SPARKLE + loadspritegfx ANIM_TAG_ICE_CRYSTALS + playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET + createvisualtask AnimTask_ScaryFace, 0x5 @ internally checks side + createvisualtask AnimTask_ShakeMon2, 0x5, 0x1, 0x2, 0x0, 0x4C, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xF, 0x3006 @;Dark Purple + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PURPLE_RING, 0x4, 0x0, 0xE, 0x3006 @;Dark Purple + call BitterMaliceSwirl + call BitterMaliceSwirl + call BitterMaliceSwirl + delay 0x4 @;Wait until the blends are reset after the scary face fades out + call IceCrystalEffectShort + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xF, 0x0, 0x3006 @;Dark Purple + end + +BitterMaliceSwirl: + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, 0x1 + delay 0x2 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, 0x1 + delay 0x2 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, 0x1 + delay 0x2 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, 0x1 + delay 0x2 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, 0x1 + delay 0x2 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, 0x1 + delay 0x2 + return + +@ credits to Skeli Move_SHELTER:: + loadspritegfx ANIM_TAG_SHELL_LEFT + loadspritegfx ANIM_TAG_SHELL_RIGHT + playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER + createvisualtask AnimTask_ShellSmashShrinkAttacker, 0x2 + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SHELL_LEFT, 0x1, 0x0, 0xE, 0x6B5A @ light light, gray + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SHELL_RIGHT, 0x1, 0x0, 0xE, 0x6B5A @ light light, gray + createsprite gShellSmashRightShellSpriteTemplate, ANIM_ATTACKER, 2, 0xffd7, 0x0, 0x2, 0x333, 0x0, 10, 30 + createsprite gShellSmashLeftShellSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x0, 0x6, 0xfccd, 0x0, 10, 30 + createvisualtask AnimTask_FadeOutParticles, 0x2, 0 + waitforvisualfinish + blendoff + end + + +@Credits to Skeli Move_TRIPLE_ARROWS:: + loadspritegfx ANIM_TAG_SPIRIT_ARROW @Arrow + loadspritegfx ANIM_TAG_HANDS_AND_FEET + monbg ANIM_DEF_PARTNER + splitbgprio ANIM_TARGET + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_TARGET + createsprite gSpriteTemplate_TripleArrowKick, ANIM_TARGET, 2, -30, -20, 0x10, -20 + waitforvisualfinish + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x6, 0x6, 0x1 + delay 0x4 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, -40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME + delay 0x3 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME + delay 0x3 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0xa, 0x1 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER + createvisualtask AnimTask_IsAttackerPlayerSide, 0x2, + jumpargeq 0x7, FALSE, TripleArrowsOnOpponent + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0, -60, 0, 0, TRIPLE_ARROW_FLY_TIME +TripleArrowsEnd: + delay 0x3 + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + end +TripleArrowsOnOpponent: + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0, 50, 0, 0, TRIPLE_ARROW_FLY_TIME @Below becomes becomes, above + goto TripleArrowsEnd + + + +@Credits to Skeli Move_INFERNAL_PARADE:: + loadspritegfx ANIM_TAG_PURPLE_FLAME + loadspritegfx ANIM_TAG_WISP_FIRE + monbg ANIM_TARGET + splitbgprio_foes ANIM_TARGET + fadetobg BG_GHOST + playsewithpan SE_M_PSYBEAM, 0xc0 + waitbgfadein + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, 10, 20 @;Bottom left + delay 0x3 + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, -30, -20 @;Top right + delay 0x3 + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right + delay 0x3 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x32, 0x1 + call InfernalFlames + call InfernalFlames + call InfernalFlames + call InfernalFlames + playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x0 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x2a + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x54 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x7e + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0xa8 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0xd2 + waitforvisualfinish + delay 0xC + restorebg + waitbgfadein + clearmonbg ANIM_TARGET + end +InfernalFlames: + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, -30, -20 @;Top left + delay 0x3 + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, 10, 20 @;Bottom left + delay 0x3 + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, -30, -20 @;Top right + delay 0x3 + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right + delay 0x3 + return + + + +@Credits to Skeli Move_CEASELESS_EDGE:: + loadspritegfx ANIM_TAG_SLASH + playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2C, 0x0, 0x0, 0x5 + waitforvisualfinish + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x10, 0x1F @;Fully to to, Red + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_ATTACKER | F_PAL_TARGET), 0x0, 0x10, 0x10, 0x0 @;Fully to to, Black + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xa, + delay 0x10 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0x30, 0x1 + call CeaselessEdgeSlashes + call CeaselessEdgeSlashes + call CeaselessEdgeSlashes + waitforvisualfinish + delay 0x8 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + waitforvisualfinish + createvisualtask AnimTask_AllBattlersVisible, 0xA, + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x7FFF @;From White + waitforvisualfinish + end + +CeaselessEdgeSlashes: + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, 8, 0, FALSE, FALSE + delay 0x4 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, -8, -8, TRUE, FALSE + delay 0x4 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, -8, 0, TRUE, TRUE + delay 0x4 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, 8, -4, FALSE, TRUE + return + + +@Credits to Skeli Move_BLEAKWIND_STORM:: + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_ICE_CRYSTALS + playsewithpan SE_M_GUST, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF + call HurricaneGust + call BleakwindStormIceSwirl + call HurricaneGust + call BleakwindStormIceSwirl + call HurricaneGust + call BleakwindStormIceSwirl + call HurricaneGust + call BleakwindStormIceSwirl + call HurricaneGust + call BleakwindStormIceSwirl + call HurricaneGust + call BleakwindStormIceSwirl + waitforvisualfinish + stopsound + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF + waitforvisualfinish + end +BleakwindStormIceSwirl: + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET + return + + +@Credits to Skeli Move_WILDBOLT_STORM:: + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_SPARK_2 + fadetobg BG_MAX_LIGHTNING + waitbgfadeout + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff + waitbgfadein + playsewithpan SE_M_GUST, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE + call HurricaneGust + call WildboltStormSparkSwirl + call HurricaneGust + call WildboltStormSparkSwirl + call HurricaneGust + call WildboltStormSparkSwirl + call HurricaneGust + call WildboltStormSparkSwirl + call HurricaneGust + call WildboltStormSparkSwirl + call HurricaneGust + call WildboltStormSparkSwirl + waitforvisualfinish + stopsound + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE + call UnsetPsychicBg + waitforvisualfinish + end + +WildboltStormSparkSwirl: + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET + delay 0x2 + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET + return + + +@Credits to Skeli Move_SANDSEAR_STORM:: + loadspritegfx ANIM_TAG_GUST + loadspritegfx ANIM_TAG_SMALL_EMBER + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B + playsewithpan SE_M_GUST, SOUND_PAN_TARGET + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F + call HurricaneGust + call SandsearStormFireSpin + call HurricaneGust + call SandsearStormFireSpin + call HurricaneGust + call SandsearStormFireSpin + call HurricaneGust + call SandsearStormFireSpin + call HurricaneGust + call SandsearStormFireSpin + call HurricaneGust + call SandsearStormFireSpin + waitforvisualfinish + stopsound + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F + waitforvisualfinish + end + +SandsearStormFireSpin: + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, ANIM_TARGET + delay 0x2 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, ANIM_TARGET + delay 0x2 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, ANIM_TARGET + delay 0x2 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, ANIM_TARGET + delay 0x2 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, ANIM_TARGET + delay 0x2 + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, ANIM_TARGET + return + + +@Credits to Skeli Move_LUNAR_BLESSING:: + loadspritegfx ANIM_TAG_MOON + loadspritegfx ANIM_TAG_SPARKLE_2 + loadspritegfx ANIM_TAG_GUARD_RING + loadspritegfx ANIM_TAG_SMALL_EMBER @Yellow colour for ring + loadspritegfx ANIM_TAG_BLUE_STAR + monbg ANIM_ATK_PARTNER + setalpha 16, 0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 + createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x1, 0x0, 0x10, 0x0 + waitforvisualfinish + createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 0x78, 0x38 + createvisualtask AnimTask_AlphaFadeIn, 0x3, 0x0, 0x10, 0x10, 0x0, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x7, 0x0, 0x10, 0x0 + loopsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER, 0x10, 0x3 + call HealingEffect2 + createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, + delay 0x4 + createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, + delay 0x4 + createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, + delay 0x24 + clearmonbg ANIM_ATK_PARTNER + call HealingEffect + delay 0x28 + createvisualtask AnimTask_AllBattlersInvisible, 0xA, + createvisualtask AnimTask_MoonlightEndFade, 0x2, + delay 0x10 + createvisualtask AnimTask_AllBattlersVisible, 0xA, + waitforvisualfinish + blendoff + end + + +@Credits to Skeli Move_TAKE_HEART:: + loadspritegfx ANIM_TAG_RED_HEART + loadspritegfx ANIM_TAG_SPARKLE_2 + loadspritegfx ANIM_TAG_GUARD_RING + playsewithpan SE_M_BUBBLE, SOUND_PAN_ATTACKER + createsprite gSpriteTemplate_TakeHeartFallingHeart, ANIM_ATTACKER, 2, 0, 0x3a, 4, ANIM_ATTACKER + delay 0x15 + loopsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER, 0x10, 0x4 + createvisualtask AnimTask_StatusClearedEffect, 0x2, 0x0 + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + call TakeHeartRings + waitforvisualfinish + end + +TakeHeartRings: + createsprite gSpriteTemplate_TakeHeartRing, ANIM_ATTACKER, 2, + delay 0x4 + return + Move_TERA_BLAST:: Move_AXE_KICK:: Move_LAST_RESPECTS:: @@ -15609,6 +17559,17 @@ Move_WATERFALL: setalpha 12, 8 createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 23, 1 delay 5 + call WaterfallBubblesOnAttacker + delay 10 + createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 5 + delay 6 + call RisingWaterHitEffect + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +WaterfallBubblesOnAttacker: playsewithpan SE_M_CRABHAMMER, SOUND_PAN_ATTACKER createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 10, 10, 25, ANIM_ATTACKER delay 4 @@ -15633,14 +17594,7 @@ Move_WATERFALL: playsewithpan SE_M_CRABHAMMER, SOUND_PAN_ATTACKER createsprite gSmallBubblePairSpriteTemplate, ANIM_ATTACKER, 2, 12, 0, 25, ANIM_ATTACKER waitforvisualfinish - delay 10 - createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 5 - delay 6 - call RisingWaterHitEffect - waitforvisualfinish - clearmonbg ANIM_DEF_PARTNER - blendoff - end + return RisingWaterHitEffect: playsewithpan SE_M_WATERFALL, SOUND_PAN_TARGET @@ -25207,7 +27161,7 @@ Move_BREAKNECK_BLITZ:: createsprite gBreakneckBlitzDanceSpriteTemplate, ANIM_ATTACKER, 2, 0xd5 waitforvisualfinish clearmonbg ANIM_ATTACKER - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 10 waitforvisualfinish fadetobg BG_DRILL waitbgfadeout @@ -25253,7 +27207,7 @@ Move_BREAKNECK_BLITZ:: delay 0x10 blendoff clearmonbg ANIM_DEF_PARTNER - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish call UnsetPsychicBg end @@ -25265,7 +27219,7 @@ Move_ALL_OUT_PUMMELING: loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_FLAT_ROCK loadspritegfx ANIM_TAG_FOCUS_ENERGY - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish call EndureEffect loopsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER 0x9 0x2 @@ -25343,7 +27297,7 @@ Move_ALL_OUT_PUMMELING: delay 0x10 blendoff clearmonbg ANIM_DEF_PARTNER - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish call UnsetPsychicBg end @@ -25355,7 +27309,7 @@ Move_SUPERSONIC_SKYSTRIKE: loadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy loadspritegfx ANIM_TAG_BIRD @ sky attack bird loadspritegfx ANIM_TAG_IMPACT @ hit - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish monbg ANIM_DEF_PARTNER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x8, 0x0, 0x0 @@ -25415,7 +27369,7 @@ FinishSupersonicSkystrike: delay 0x30 clearmonbg ANIM_DEF_PARTNER blendoff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x10 call UnsetPsychicBg waitforvisualfinish @@ -25446,7 +27400,7 @@ FinishAcidDownpour: call AcidDownpourFlareOnAttacker delay 0x5 clearmonbg ANIM_ATTACKER - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish blendoff delay 0x20 @@ -25474,7 +27428,7 @@ FinishAcidDownpour: restorebg waitbgfadeout setarg 0x7 0xffff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitbgfadein waitforvisualfinish end @@ -25535,7 +27489,7 @@ Move_TECTONIC_RAGE: delay 0xa waitforvisualfinish clearmonbg ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish invisible ANIM_TARGET delay 0x5 @@ -25602,7 +27556,7 @@ Move_TECTONIC_RAGE: waitforvisualfinish call UnsetPsychicBg waitbgfadein - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end TectonicRageExplosion: @@ -25631,7 +27585,7 @@ Move_CONTINENTAL_CRUSH:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy loadspritegfx ANIM_TAG_IMPACT @ hit loadspritegfx ANIM_TAG_REALLY_BIG_ROCK - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call ContinentalCrashBuffEffect @@ -25728,7 +27682,7 @@ FinishContinentalCrush: restorebg waitbgfadeout setarg 0x7 0xffff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitbgfadein delay 0x4 waitforvisualfinish @@ -25778,7 +27732,7 @@ Move_SAVAGE_SPIN_OUT:: loadspritegfx ANIM_TAG_STRING @string shot loadspritegfx ANIM_TAG_SPIDER_WEB @spider web loadspritegfx ANIM_TAG_MUD_SAND @rocks - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish monbg ANIM_ATTACKER setalpha 12, 8 @@ -25793,7 +27747,7 @@ Move_SAVAGE_SPIN_OUT:: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x4, 0x0, 0x0 clearmonbg ANIM_ATTACKER - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT call gSavageSpinOutStringBlastSpriteTemplateSHOT @@ -25882,7 +27836,7 @@ FinishSavageSpinOut: createsprite gSavageSpinOutWhiteExplosionSpriteTemplate, ANIM_TARGET, 3, 0x10, 0x10, ANIM_TARGET, 0x1 delay 0x6 waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end gSavageSpinOutStringBlastSpriteTemplateSHOT: @@ -25932,7 +27886,7 @@ Move_NEVER_ENDING_NIGHTMARE:: loadspritegfx ANIM_TAG_FIRE_PLUME @blast burn loadspritegfx ANIM_TAG_POISON_BUBBLE @purple loadspritegfx ANIM_TAG_VERTICAL_HEX @hex - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call NeverendingNightmareBuffEffect @@ -26007,7 +27961,7 @@ Move_NEVER_ENDING_NIGHTMARE:: waitforvisualfinish restorebg waitbgfadeout - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end NeverendingNightmareBuffEffect: @@ -26117,7 +28071,7 @@ Move_CORKSCREW_CRASH:: loadspritegfx ANIM_TAG_MUD_SAND @rock monbg ANIM_ATTACKER invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xb, 0x6318 @fade atker to gray createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SPIKES, 0x0, 0xC, 0xC, 0x6318 @;Gray @@ -26240,7 +28194,7 @@ Move_INFERNO_OVERDRIVE:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_SMALL_EMBER @fire createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x1F - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish fadetobg BG_INFERNO_OVERDRIVE waitbgfadeout @@ -26353,7 +28307,7 @@ Move_HYDRO_VORTEX:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_METEOR @superpower loadspritegfx ANIM_TAG_WATER_ORB @whirlpool - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_CreateSurfWave, 0x2, 0x0 delay 0x18 @@ -26409,7 +28363,7 @@ Move_HYDRO_VORTEX:: waitforvisualfinish restorebg waitbgfadeout - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end HydroVortexBubbles: @@ -26467,7 +28421,7 @@ Move_BLOOM_DOOM:: loadspritegfx ANIM_TAG_GUST @hurricane loadspritegfx ANIM_TAG_VERTICAL_HEX @hex diamond monbg ANIM_ATTACKER - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish setalpha 12, 8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x4, 0x0 @@ -26639,13 +28593,13 @@ BloomDoomPetalBlast: delay 0x2 return ResetFromGreenScreen: - createvisualtask AnimTask_AllBanksInvisible, 0xA + createvisualtask AnimTask_AllBattlersInvisible, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 0x2, 0x0, 0x0, 0x33ED @Everything from green restorebg waitbgfadeout setarg 0x7 0xffff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitbgfadein waitforvisualfinish delay 0x5 @@ -26662,7 +28616,7 @@ Move_GIGAVOLT_HAVOC:: loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_GRAY_SMOKE loadspritegfx ANIM_TAG_THIN_RING - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x6, 0x0, 0x10, 0x0000 playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER @@ -26803,7 +28757,7 @@ Move_GIGAVOLT_HAVOC:: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x0000 waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xa + createvisualtask AnimTask_AllBattlersVisible, 0xa waitforvisualfinish end HavocSpearGeyser: @@ -26835,7 +28789,7 @@ Move_SHATTERED_PSYCHE:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_PINK_PETAL @pink loadspritegfx ANIM_TAG_TORN_METAL @brick break shatter - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPalExclude, 0x5, 0x0, 0x0, 0x0, 0x10, 0x0 waitforvisualfinish @@ -26896,7 +28850,7 @@ ShatteredPsycheFinish: createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x2, 0x0, 0x0 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x3, 0x0, 0x0 waitbgfadeout - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end ShatteredPsycheFlingOpponent: @@ -26994,7 +28948,7 @@ Move_SUBZERO_SLAMMER:: loadspritegfx ANIM_TAG_ICE_CUBE @glacier loadspritegfx ANIM_TAG_EXPLOSION_2 @explosion createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xC, 0xC, 0x6A23 - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish fadetobg BG_ICE waitbgfadeout @@ -27085,7 +29039,7 @@ SubzeroSlammerFinish: restorebg waitbgfadeout setarg 0x7 0xffff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitbgfadein waitforvisualfinish end @@ -27166,7 +29120,7 @@ Move_DEVASTATING_DRAKE:: fadetobg BG_SKY invisible ANIM_ATTACKER invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0x1000, 0x0, 0xffff waitbgfadein @@ -27267,7 +29221,7 @@ DevastatingDrakeUniversalEnding: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 0x2, 0x0, 0x0, 0x0 @ reset all colours waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end DevastatingDrakeFadeTargetPartner: @@ -27368,7 +29322,7 @@ Move_BLACK_HOLE_ECLIPSE:: loadspritegfx ANIM_TAG_ICE_CHUNK @blue loadspritegfx ANIM_TAG_BLACK_BALL_2 @black invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -27487,13 +29441,13 @@ BlackHoleEclipseExplosion: delay 0x6 return ResetFromWhiteScreen: - createvisualtask AnimTask_AllBanksInvisible, 0xA + createvisualtask AnimTask_AllBattlersInvisible, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 0x2, 0x0, 0x0, 0x7FFF @everything from white restorebg waitbgfadeout setarg 0x7 0xffff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitbgfadein waitforvisualfinish delay 0x5 @@ -27506,7 +29460,7 @@ Move_TWINKLE_TACKLE:: loadspritegfx ANIM_TAG_SPARKLE_2 @star loadspritegfx ANIM_TAG_PINK_PETAL @pink loadspritegfx ANIM_TAG_THIN_RING @ring - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER call TwinkleTacklePinkStars @@ -27553,7 +29507,7 @@ TwinkleTackleFinish: delay 0x10 restorebg delay 0x18 - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end TwinkleTacklePinkStars: @@ -27664,7 +29618,7 @@ Move_CATASTROPIKA:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ROUND_SHADOW @fly invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -27814,7 +29768,7 @@ CatastropikaFinish: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x4, 0x10, 0x0, 0x7fff @ bg to white createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x10 @fix tgt position waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end CatastropikaThundering: @@ -27841,7 +29795,7 @@ Move_10000000_VOLT_THUNDERBOLT:: loadspritegfx ANIM_TAG_SPARK_2 @sparks loadspritegfx ANIM_TAG_LIGHTNING @lightning invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -28021,7 +29975,7 @@ Move_10000000_VOLT_THUNDERBOLT:: delay 0x10 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x3, 0x10, 0x0, 0x7fff waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end TenMillionVoltThunderboltBeamRed: @@ -28102,7 +30056,7 @@ Move_STOKED_SPARKSURFER:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_SPARK_2 @spark invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_FLY, SOUND_PAN_ATTACKER createsprite gStokedSparksurferFlySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0xd, 0x150 @@ -28199,7 +30153,7 @@ StokedSparksurferFinish: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_TARGET | F_PAL_ATTACKER), 0x2, 0x10, 0x0, 0x5bff restorebg delay 0x18 - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end @@ -28237,8 +30191,8 @@ Move_EXTREME_EVOBOOST:: loadspritegfx ANIM_TAG_LEER @leer createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x3, 0x0, 0x10, 0x0000 waitforvisualfinish - createvisualtask AnimTask_AllBanksInvisible, 0xA - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 3, 0, 0, 0 @;Remove fading on everyone + createvisualtask AnimTask_AllBattlersInvisible, 0xA + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 3, 0, 0, 0 @Remove fading on everyone waitforvisualfinish playsewithpan SE_M_DETECT, SOUND_PAN_ATTACKER createsprite gLeerSpriteTemplate, ANIM_ATTACKER, 2, 0x18, 0xfff4 @@ -28377,7 +30331,7 @@ Move_PULVERIZING_PANCAKE:: loadspritegfx ANIM_TAG_MUD_SAND @dig loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @black colour - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_IsTargetPlayerSide, 0x2 jumpargeq 0x7 ANIM_TARGET PulverizingPancakeOnPlayer @@ -28489,7 +30443,7 @@ Move_GENESIS_SUPERNOVA:: loadspritegfx ANIM_TAG_BLUE_ORB @reversal loadspritegfx ANIM_TAG_POISON_BUBBLE @poison bubble loadspritegfx ANIM_TAG_POISON_JAB @purple - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish call SetPsychicBackground loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy @@ -28677,7 +30631,7 @@ Move_SINISTER_ARROW_RAID:: loadspritegfx ANIM_TAG_SPIRIT_ARROW @arrow loadspritegfx ANIM_TAG_LEAF @green invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_FLY, SOUND_PAN_ATTACKER createsprite gArrowRaidFlyUpSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0xd, 0x150 @@ -28814,7 +30768,7 @@ SinisterArrowRaidFinish: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x00, 0x388C @ bg to nrml delay 0x5 - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end SinisterArrowRaidFlyStrike: @@ -29008,7 +30962,7 @@ Move_MALICIOUS_MOONSAULT:: call MaliciousMoonsaultFireSpin call MaliciousMoonsaultFireSpin clearmonbg ANIM_ATTACKER - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish playsewithpan SE_M_FLY, SOUND_PAN_ATTACKER createsprite gMaliciousMoonsaultRedFlySpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0xd, 0x150 @@ -29101,7 +31055,7 @@ MaliciousMoonsaultExplosion: Move_OCEANIC_OPERETTA:: - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish loadspritegfx ANIM_TAG_SPOTLIGHT createvisualtask AnimTask_CreateSpotlight, 0x2 @@ -29251,7 +31205,7 @@ Move_OCEANIC_OPERETTA:: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x6, 0x0, 0x5da0 waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end OceanicOperettaBuffEffect: @@ -29289,7 +31243,7 @@ OceanicOperettaExplosion: Move_SPLINTERED_STORMSHARDS:: loadspritegfx ANIM_TAG_ROCKS @rock loadspritegfx ANIM_TAG_ICICLE_SPEAR @spear - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_GetLycanrocForm, 0x2 jumpargeq 0x0 0x1 SplinteredStormshardsNightForme @@ -29351,7 +31305,7 @@ SplinteredStormshardsEnd: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x4, 0x10, 0x0, 0x7fff waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish waitforvisualfinish end @@ -29550,7 +31504,7 @@ Move_LETS_SNUGGLE_FOREVER:: loadspritegfx ANIM_TAG_MUSIC_NOTES @music note loadspritegfx ANIM_TAG_SMALL_BUBBLES @fake tears loadspritegfx ANIM_TAG_VERTICAL_HEX @red - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 createsprite gSnuggleForeverHeartSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x14 @@ -29961,7 +31915,7 @@ Move_GUARDIAN_OF_ALOLA:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_MUD_SAND @dig loadspritegfx ANIM_TAG_SPEED_DUST @extremespeed - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0 playsewithpan SE_SHINY, SOUND_PAN_ATTACKER @@ -30059,7 +32013,7 @@ Move_SEARING_SUNRAZE_SMASH:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_SPARKLE_2 @sparkles invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0xe, 0x001b playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -30271,13 +32225,13 @@ SearingSunrazeSmashCharge: delay 0x1 return ResetFromRedScreen: - createvisualtask AnimTask_AllBanksInvisible, 0xA + createvisualtask AnimTask_AllBattlersInvisible, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 0x2, 0x0, 0x0, 0x1B @Everything from red restorebg waitbgfadeout setarg 0x7 0xffff - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitbgfadein createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0x0, 0x33ED waitforvisualfinish @@ -30291,7 +32245,7 @@ Move_MENACING_MOONRAZE_MAELSTROM:: loadspritegfx ANIM_TAG_SHADOW_BALL @shadow ball loadspritegfx ANIM_TAG_HANDS_AND_FEET @black invisible ANIM_TARGET - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0xe, 0x40c0 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -30639,7 +32593,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: loadspritegfx ANIM_TAG_WISP_FIRE @will o wisp loadspritegfx ANIM_TAG_FIRE_PLUME @blast burn loadspritegfx ANIM_TAG_HANDS_AND_FEET @fist - createvisualtask AnimTask_AllBanksInvisibleExceptAttackerAndTarget, 0xA + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish setalpha 12, 8 playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET @@ -30756,7 +32710,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BATTLERS, 0x2, 0x0, 0x0, 0x0 waitforvisualfinish - createvisualtask AnimTask_AllBanksVisible, 0xA + createvisualtask AnimTask_AllBattlersVisible, 0xA waitforvisualfinish end SoulStealingSevenStarStrikeBuffEffect: diff --git a/graphics/battle_anims/backgrounds/chloroblast.pal b/graphics/battle_anims/backgrounds/chloroblast.pal new file mode 100644 index 0000000000..8d40958f4b --- /dev/null +++ b/graphics/battle_anims/backgrounds/chloroblast.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 164 255 +16 123 41 +32 164 82 +57 205 131 +82 238 172 +139 246 205 +197 255 230 +238 255 238 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/include/battle_anim.h b/include/battle_anim.h index a3677bd98f..4b5471d413 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -213,7 +213,7 @@ u8 GetSubstituteSpriteDefault_Y(u8 battlerId); #define STAT_ANIM_MULTIPLE_MINUS1 57 #define STAT_ANIM_MULTIPLE_MINUS2 58 void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); -extern const union AnimCmd *const sAnims_SpinningSparkle[]; +extern const union AnimCmd *const gAnims_SpinningSparkle[]; // battle_anim_ground.c void AnimTask_HorizontalShake(u8 taskId); @@ -235,6 +235,7 @@ void InitStatsChangeAnimation(u8); void StartMonScrollingBgMask(u8 taskId, int unused, u16 scrollSpeed, u8 battler, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette); // battle_anim_effects_1.c +void AnimFalseSwipeSlice_Step3(struct Sprite *); void SetSpriteNextToMonHead(u8 battler, struct Sprite *sprite); void AnimMoveTwisterParticle(struct Sprite *sprite); void AnimParticleBurst(struct Sprite *); @@ -283,6 +284,7 @@ extern const union AnimCmd *const gIngrainRootAnimTable[]; extern const union AffineAnimCmd *const gSwiftStarAffineAnimTable[]; extern const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[]; extern const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[]; +extern const union AnimCmd *const gSlashSliceAnimTable[]; // battle_anim_effects_2.c void AnimUproarRing(struct Sprite *sprite); @@ -301,8 +303,10 @@ extern const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[]; extern const union AffineAnimCmd *const gHyperVoiceRingAffineAnimTable[]; extern const union AnimCmd *const gCoinAnimTable[]; extern const union AffineAnimCmd *const gHiddenPowerOrbAffineAnimTable[]; +extern const union AffineAnimCmd *const gBulletSeedAffineAnimTable[]; // battle_anim_effects_3.c +void AnimKnockOffStrike_Step(struct Sprite *sprite); void AnimBlackSmoke(struct Sprite *sprite); void AnimSweetScentPetal(struct Sprite *sprite); void AnimTealAlert(struct Sprite *sprite); @@ -314,6 +318,10 @@ void AnimFlatterSpotlight_Step(struct Sprite *sprite); extern const union AnimCmd *const gOpeningEyeAnimTable[]; extern const union AnimCmd *const gEclipsingOrbAnimTable[]; extern const union AffineAnimCmd *const gSpotlightAffineAnimTable[]; +extern const union AffineAnimCmd *const gSmokeBallEscapeCloudAffineAnimTable[]; +extern void AnimSmokeBallEscapeCloud(struct Sprite *sprite); +extern const union AffineAnimCmd *const gKnockOffStrikeAffineAnimTable[]; +extern const union AnimCmd *const gKnockOffStrikeAnimTable[]; // battle_anim_water.c void AnimWaterPulseRing(struct Sprite *sprite); @@ -337,6 +345,7 @@ extern const union AnimCmd *const gAffineAnims_AirWaveCrescent[]; extern const union AffineAnimCmd *const gAffineAnims_FlyBallUp[]; extern const union AffineAnimCmd *const gAffineAnims_FlyBallAttack[]; extern const union AffineAnimCmd *const gAffineAnims_BounceBallLand[]; +extern const union AnimCmd *const gAnims_FallingFeather[]; // battle_anim_poison.c void AnimSludgeBombHitParticle(struct Sprite *); @@ -352,6 +361,7 @@ void AnimGhostStatusSprite(struct Sprite *sprite); void AnimShadowBall(struct Sprite *sprite); void AnimTask_GrudgeFlames_Step(u8 taskId); extern const union AffineAnimCmd *const gAffineAnims_ShadowBall[]; +extern const union AnimCmd *const gAnims_GrudgeFlame[]; // battle_anim_psychic.c extern const union AffineAnimCmd *const gAffineAnims_PsychoBoostOrb[]; @@ -474,6 +484,7 @@ void AnimRaiseSprite(struct Sprite *sprite); void AnimFallingRock_Step(struct Sprite *sprite); void AnimFlyingSandCrescent(struct Sprite *sprite); void AnimRockFragment(struct Sprite *); +void AnimRockBlastRock(struct Sprite *sprite); // battle_anim_dark.c void AnimClawSlash(struct Sprite *sprite); @@ -496,6 +507,7 @@ void AnimSwirlingSnowball_Step1(struct Sprite *sprite); extern const union AnimCmd *const gAnims_Snowball[]; extern const union AffineAnimCmd *const gAffineAnims_IceCrystalHit[]; extern const union AnimCmd *const gAnims_IceCrystalLarge[]; +extern const union AnimCmd *const gAnims_IceCrystalSmall[]; extern const union AnimCmd *const gAnims_IceBallChunk[]; extern const union AnimCmd *const gAnims_BlizzardIceCrystal[]; @@ -520,6 +532,7 @@ void AnimDragonRageFirePlume(struct Sprite *sprite); void AnimDragonFireToTarget(struct Sprite *sprite); void AnimDragonDanceOrb(struct Sprite *sprite); void AnimOverheatFlame(struct Sprite *sprite); +void AnimOutrageFlame(struct Sprite *sprite); // battle_anim_new.c void CoreEnforcerLoadBeamTarget(struct Sprite *sprite); diff --git a/include/battle_util.h b/include/battle_util.h index 79bdfaf9a8..ec0c1b35bf 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -212,6 +212,8 @@ bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId); void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); +bool32 IsAlly(u32 battlerAtk, u32 battlerDef); + // Ability checks bool32 IsRolePlayBannedAbilityAtk(u16 ability); bool32 IsRolePlayBannedAbility(u16 ability); diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index dd91b42c8e..60e044130d 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -1,6 +1,8 @@ #ifndef GUARD_CONSTANTS_BATTLE_ANIM_H #define GUARD_CONSTANTS_BATTLE_ANIM_H +#include "battle_anim_scripts.h" + // Sprites start at 10000 and thus must be subtracted of 10000 to account for the true index. #define GET_TRUE_SPRITE_INDEX(i) ((i - ANIM_SPRITES_START)) @@ -505,6 +507,7 @@ #define BG_AURA_SPHERE 77 #define BG_STEEL_BEAM_OPPONENT 78 #define BG_STEEL_BEAM_PLAYER 79 +#define BG_CHLOROBLAST 80 // table ids for general animations (gBattleAnims_General) #define B_ANIM_CASTFORM_CHANGE 0 diff --git a/include/constants/battle_anim_scripts.h b/include/constants/battle_anim_scripts.h new file mode 100644 index 0000000000..49184bb45d --- /dev/null +++ b/include/constants/battle_anim_scripts.h @@ -0,0 +1,28 @@ +#ifndef GUARD_CONSTANTS_BATTLE_ANIM_SCRIPTS_H +#define GUARD_CONSTANTS_BATTLE_ANIM_SCRIPTS_H + +// shell smash +#define SHELL_SMASH_STARTING_X 40 +#define SHELL_SMASH_MOVEMENT_DISTANCE 34 +#define SHELL_SMASH_SHELL_MOVE_IN_DURATION 16 +#define SHELL_SMASH_PAUSE_DURATION 48 + +// thunder cage +#define THUNDER_CAGE_BALL_TIME 0x64 + +// power shift +#define POWER_SHIFT_LEFT_X -20 +#define POWER_SHIFT_RIGHT_X 20 +#define POWER_SHIFT_DELAY 0x30 +#define POWER_SHIFT_ARC -50 + +// mysitcal power +#define MYSTICAL_POWER_RING_PAUSE 7 + +// esper wing +#define ESPER_WING_SPEED 16 + +// triple arrows +#define TRIPLE_ARROW_FLY_TIME 9 + +#endif // GUARD_CONSTANTS_BATTLE_ANIM_SCRIPTS_H diff --git a/include/graphics.h b/include/graphics.h index ad23dc67c8..22a52265d9 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -10111,6 +10111,7 @@ extern const u32 gBattleAnimBgPalette_GunkShot[]; extern const u32 gBattleAnimBgImage_HydroCannon[]; extern const u32 gBattleAnimBgPalette_HydroCannon[]; extern const u32 gBattleAnimBgTilemap_HydroCannon[]; +extern const u32 gBattleAnimBgPalette_Chloroblast[]; extern const u32 gBattleAnimBgImage_HydroPump[]; extern const u32 gBattleAnimBgPalette_HydroPump[]; extern const u32 gBattleAnimBgTilemap_HydroPump[]; diff --git a/src/battle_anim_dragon.c b/src/battle_anim_dragon.c index 54304732e6..376fb6dd4a 100644 --- a/src/battle_anim_dragon.c +++ b/src/battle_anim_dragon.c @@ -5,7 +5,6 @@ #include "trig.h" #include "constants/rgb.h" -static void AnimOutrageFlame(struct Sprite *); static void AnimDragonDanceOrb_Step(struct Sprite *); static void AnimOverheatFlame_Step(struct Sprite *); static void AnimTask_DragonDanceWaver_Step(u8); @@ -316,7 +315,7 @@ static void AnimSpinningDracoMeteor(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, AnimSpinningDracoMeteorFinish); } -static void AnimOutrageFlame(struct Sprite *sprite) +void AnimOutrageFlame(struct Sprite *sprite) { sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index a9111bce3a..7e3a6dc201 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -97,7 +97,6 @@ static void AnimSlashSlice(struct Sprite *); static void AnimFalseSwipeSlice(struct Sprite *); static void AnimFalseSwipeSlice_Step1(struct Sprite *); static void AnimFalseSwipeSlice_Step2(struct Sprite *); -static void AnimFalseSwipeSlice_Step3(struct Sprite *); static void AnimFalseSwipePositionedSlice(struct Sprite *); static void AnimEndureEnergy_Step(struct Sprite *); static void AnimSharpenSphere(struct Sprite *); @@ -5914,7 +5913,7 @@ static void AnimFalseSwipeSlice_Step2(struct Sprite *sprite) sprite->callback = AnimFalseSwipeSlice_Step3; } -static void AnimFalseSwipeSlice_Step3(struct Sprite *sprite) +void AnimFalseSwipeSlice_Step3(struct Sprite *sprite) { if (++sprite->data[0] > 1) { diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index b3aedb300c..716069944d 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -15,6 +15,7 @@ #include "util.h" #include "constants/rgb.h" #include "constants/songs.h" +#include "constants/moves.h" static void AnimCirclingFinger(struct Sprite *); static void AnimBouncingMusicNote(struct Sprite *); @@ -3358,6 +3359,12 @@ static void AnimTask_HeartsBackground_Step(u8 taskId) void AnimTask_ScaryFace(u8 taskId) { struct BattleAnimBgData animBg; + bool32 onPlayer; + + if (gAnimMoveIndex == MOVE_BITTER_MALICE) + onPlayer = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER; + else + onPlayer = GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); @@ -3373,7 +3380,7 @@ void AnimTask_ScaryFace(u8 taskId) GetBattleAnimBg1Data(&animBg); if (IsContest()) AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceContest, FALSE); - else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) + else if (onPlayer) AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFacePlayer, FALSE); else AnimLoadCompressedBgTilemapHandleContest(&animBg, &gBattleAnimBgTilemap_ScaryFaceOpponent, FALSE); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 513a992fe0..9f110b958f 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -69,7 +69,6 @@ static void AnimFlatterSpotlight(struct Sprite *); static void AnimReversalOrb_Step(struct Sprite *); static void AnimYawnCloud(struct Sprite *); static void AnimYawnCloud_Step(struct Sprite *); -static void AnimSmokeBallEscapeCloud(struct Sprite *); static void AnimFacadeSweatDrop(struct Sprite *); static void AnimRoarNoiseLine(struct Sprite *); static void AnimRoarNoiseLine_Step(struct Sprite *); @@ -87,7 +86,6 @@ static void AnimMeteorMashStar_Step(struct Sprite *sprite); static void AnimBlockX_Step(struct Sprite *); static void AnimUnusedItemBagSteal(struct Sprite *); static void AnimKnockOffStrike(struct Sprite *); -static void AnimKnockOffStrike_Step(struct Sprite *sprite); static void AnimRecycle(struct Sprite *); static void AnimRecycle_Step(struct Sprite *); static void SetPsychicBackground_Step(u8); @@ -3652,7 +3650,7 @@ static void AnimYawnCloud_Step(struct Sprite *sprite) // arg 1: initial x pixel offset // arg 2: initial y pixel offset // arg 3: time until destroyed -static void AnimSmokeBallEscapeCloud(struct Sprite *sprite) +void AnimSmokeBallEscapeCloud(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[3]; StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); @@ -5469,7 +5467,7 @@ static void AnimTask_TeeterDanceMovement_Step(u8 taskId) } } -static void AnimKnockOffStrike_Step(struct Sprite *sprite) +void AnimKnockOffStrike_Step(struct Sprite *sprite) { // These two cases are identical. if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c index aee824b39c..415f112d30 100644 --- a/src/battle_anim_electric.c +++ b/src/battle_anim_electric.c @@ -874,7 +874,7 @@ void AnimThunderWave(struct Sprite *sprite) sprite->x += gBattleAnimArgs[0]; sprite->y += gBattleAnimArgs[1]; - if (gAnimMoveIndex == MOVE_THUNDER_WAVE) + if (gAnimMoveIndex != MOVE_ANCHOR_SHOT) spriteId = CreateSprite(&gThunderWaveSpriteTemplate, sprite->x + 32, sprite->y, sprite->subpriority); else spriteId = CreateSprite(&gAnchorShotChainTemplate, sprite->x + 32, sprite->y, sprite->subpriority); diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index f595de962c..8dd5a7ff7f 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -157,7 +157,7 @@ static const union AnimCmd sAnim_FallingFeather_1[] = ANIMCMD_END, }; -static const union AnimCmd *const sAnims_FallingFeather[] = +const union AnimCmd *const gAnims_FallingFeather[] = { sAnim_FallingFeather_0, sAnim_FallingFeather_1, @@ -168,7 +168,7 @@ const struct SpriteTemplate gFallingFeatherSpriteTemplate = .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, .oam = &gOamData_AffineNormal_ObjNormal_32x32, - .anims = sAnims_FallingFeather, + .anims = gAnims_FallingFeather, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimFallingFeather, diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index 870c83f608..3c49b0dd7c 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -233,7 +233,7 @@ static const union AnimCmd sAnim_GrudgeFlame[] = ANIMCMD_JUMP(0), }; -static const union AnimCmd *const sAnims_GrudgeFlame[] = +const union AnimCmd *const gAnims_GrudgeFlame[] = { sAnim_GrudgeFlame, }; @@ -243,7 +243,7 @@ const struct SpriteTemplate gGrudgeFlameSpriteTemplate = .tileTag = ANIM_TAG_PURPLE_FLAME, .paletteTag = ANIM_TAG_PURPLE_FLAME, .oam = &gOamData_AffineOff_ObjBlend_16x32, - .anims = sAnims_GrudgeFlame, + .anims = gAnims_GrudgeFlame, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimGrudgeFlame, diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index e6a5607b5a..d4e4442023 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -119,7 +119,7 @@ const union AnimCmd *const gAnims_IceCrystalLarge[] = sAnim_IceCrystalLarge, }; -static const union AnimCmd *const sAnims_IceCrystalSmall[] = +const union AnimCmd *const gAnims_IceCrystalSmall[] = { sAnim_IceCrystalSmall, }; @@ -166,7 +166,7 @@ const struct SpriteTemplate gIceCrystalSpiralInwardSmall = .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjBlend_8x8, - .anims = sAnims_IceCrystalSmall, + .anims = gAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIcePunchSwirlingParticle, @@ -199,7 +199,7 @@ const struct SpriteTemplate gIceBeamOuterCrystalSpriteTemplate = .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjBlend_8x8, - .anims = sAnims_IceCrystalSmall, + .anims = gAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimIceBeamParticle, @@ -234,7 +234,7 @@ const struct SpriteTemplate gIceCrystalHitSmallSpriteTemplate = .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineNormal_ObjBlend_8x8, - .anims = sAnims_IceCrystalSmall, + .anims = gAnims_IceCrystalSmall, .images = NULL, .affineAnims = gAffineAnims_IceCrystalHit, .callback = AnimIceEffectParticle, @@ -515,7 +515,7 @@ const struct SpriteTemplate gIceBallImpactShardSpriteTemplate = .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, .oam = &gOamData_AffineOff_ObjNormal_8x8, - .anims = sAnims_IceCrystalSmall, + .anims = gAnims_IceCrystalSmall, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = InitIceBallParticle, diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 715e5b3e26..608e6ae944 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -20,8 +20,10 @@ #include "constants/items.h" #include "constants/pokemon.h" #include "battle_util.h" +#include "constants/songs.h" // function declarations +static void AnimTask_DynamaxGrowthStep(u8 taskId); static void SpriteCB_SpriteToCentreOfSide(struct Sprite *sprite); static void SpriteCB_SpriteOnMonForDuration(struct Sprite *sprite); static void SpriteCB_ToxicThreadWrap(struct Sprite *sprite); @@ -73,6 +75,32 @@ static void AnimOceanicOperettaSpotlight(struct Sprite *sprite); static void AnimSoulStealingStar(struct Sprite *sprite); static void AnimSoulStealingStar_Step1(struct Sprite *sprite); static void AnimSoulStealingStar_Step2(struct Sprite *sprite); +static void SpriteCB_PowerShiftBallStep(struct Sprite *sprite); +static void SpriteCB_PowerShiftBall(struct Sprite* sprite); +static void SpriteCB_HorizontalSliceStep(struct Sprite *sprite); +static void SpriteCB_HorizontalSlice(struct Sprite *sprite); +static void SpriteCB_LashOutStrike(struct Sprite* sprite); +static void AnimTask_TwinkleTackleLaunchStep(u8 taskId); +static void SpriteCB_ShellSmashShell(struct Sprite* sprite); +static void SpriteCB_ShellSmashShell_DestroyDuringFadeOut(struct Sprite* sprite); +static void SpriteCB_AnimSpriteOnTargetSideCentre(struct Sprite *sprite); +static void SpriteCB_SpriteOnMonUntilAffineAnimEnds(struct Sprite* sprite); +static void SpriteCB_MoveSpriteUpwardsForDurationStep(struct Sprite* sprite); +static void SpriteCB_MoveSpriteUpwardsForDuration(struct Sprite* sprite); +static void SpriteCB_SpriteOnMonForDurationUseY(struct Sprite *sprite); +static void SpriteCB_SurgingStrikes(struct Sprite* sprite); +static void SpriteCB_SteelRoller_Down(struct Sprite *sprite); +static void SpriteCB_SteelRoller_LeftRight(struct Sprite* sprite); +static void SpriteCB_SteelRoller(struct Sprite* sprite); +static void SpriteCB_FlippableSlash(struct Sprite* sprite); +static void SpriteCB_DragonEnergyShot(struct Sprite* sprite); +static void SpriteCB_MaxFlutterbyStep1(struct Sprite* sprite); +static void SpriteCB_MaxFlutterbyStep2(struct Sprite* sprite); +static void SpriteCB_MaxFlutterby(struct Sprite* sprite); +static void SpriteCB_GlacialLance_Step1(struct Sprite* sprite); +static void SpriteCB_GlacialLance_Step2(struct Sprite* sprite); +static void SpriteCB_GlacialLance(struct Sprite* sprite); +static void SpriteCB_TripleArrowKick(struct Sprite* sprite); // const data // general @@ -120,7 +148,7 @@ const struct SpriteTemplate gShellSmashLeftShellSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gAffineAnims_Bite, - .callback = AnimBite + .callback = SpriteCB_LockingJaw }; const struct SpriteTemplate gShellSmashRightShellSpriteTemplate = @@ -131,7 +159,7 @@ const struct SpriteTemplate gShellSmashRightShellSpriteTemplate = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gAffineAnims_Bite, - .callback = AnimBite + .callback = SpriteCB_LockingJaw }; const struct SpriteTemplate gShellSmashPurpleRocksSpriteTemplate = @@ -4110,6 +4138,629 @@ const struct SpriteTemplate gSteelBeamSpikeShardTemplate = .callback = AnimDirtScatter }; +// skitter smack +const struct SpriteTemplate gSkitterSmackImpactTemplate = +{ + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_RAZOR_LEAF, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_IceCrystalHit, + .callback = AnimIceEffectParticle +}; + +// triple axel +const struct SpriteTemplate gTripleAxelIceCrystalSpriteTemplate = +{ + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gOamData_AffineOff_ObjBlend_8x8, + .anims = gAnims_IceCrystalSmall, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimDizzyPunchDuck +}; + +// dual wingbeat +static const union AffineAnimCmd sSpriteAffineAnim_WingAttackFeather[] = +{ + AFFINEANIMCMD_FRAME(0, 0, -1, 14), //Rotate a little right + AFFINEANIMCMD_FRAME(0, 0, 1, 28), //Rotate a little left + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_WingAttackFeather[] = +{ + sSpriteAffineAnim_WingAttackFeather, +}; +const struct SpriteTemplate gDualWingbeatFeatherSpriteTemplate = +{ + .tileTag = ANIM_TAG_WHITE_FEATHER, + .paletteTag = ANIM_TAG_WHITE_FEATHER, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gAnims_FallingFeather, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_WingAttackFeather, + .callback = AnimDizzyPunchDuck +}; + +// false surrender +const struct SpriteTemplate gSpriteTemplate_LargeCrossImpact = { + .tileTag = ANIM_TAG_CROSS_IMPACT, + .paletteTag = ANIM_TAG_CROSS_IMPACT, + .oam = &gOamData_AffineDouble_ObjBlend_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_LargeHailRock, + .callback = AnimCrossImpact +}; + +// expanding force +static const struct OamData sGeyserOam = { + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .priority = 1, //Above sprites +}; +const struct SpriteTemplate gSpriteTemplate_ExpandingForceExplode = { + .tileTag = ANIM_TAG_EXPLOSION_2, + .paletteTag = ANIM_TAG_EXPLOSION_2, + .oam = &sGeyserOam, + .anims = gExplosionAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_AnimSpriteOnTargetSideCentre +}; + +// spirit break +static const union AffineAnimCmd sSpriteAffineAnim_SpiritBreakBall[] = { + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_FRAME(2, 2, 0, 50), //Grow slowly to half size + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_SpiritBreakBall[] = { + sSpriteAffineAnim_SpiritBreakBall, +}; +const struct SpriteTemplate gSpriteTemplate_SpiritBreakChargeBall = { + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_SpiritBreakBall, + .callback = SpriteCB_SpriteOnMonUntilAffineAnimEnds +}; + +const struct SpriteTemplate gSpriteTemplate_SpiritBreakExplode = { + .tileTag = ANIM_TAG_EXPLOSION_2, + .paletteTag = ANIM_TAG_EXPLOSION_2, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gExplosionAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSpriteOnMonPos +}; + +// chloroblast +static const union AffineAnimCmd sSpriteAffineAnim_HydroCannonBall[] = { + AFFINEANIMCMD_FRAME(16, 16, 0, 16), //Double in size + AFFINEANIMCMD_END +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_HydroCannonBall[] = { + sSpriteAffineAnim_HydroCannonBall, +}; +const struct SpriteTemplate gSpriteTemplate_ChloroblastShot = { + .tileTag = ANIM_TAG_HYDRO_PUMP, + .paletteTag = ANIM_TAG_HYDRO_PUMP, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_HydroCannonBall, + .callback = AnimShadowBall +}; + +// steel roller +const struct SpriteTemplate gSpriteTemplate_SteelRoller = { + .tileTag = ANIM_TAG_STEAMROLLER, + .paletteTag = ANIM_TAG_STEAMROLLER, + .oam = &gOamData_AffineOff_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SteelRoller +}; + +// scale shot +const struct SpriteTemplate gSpriteTemplate_ScaleShotScale = { + .tileTag = ANIM_TAG_SHELL_RIGHT, + .paletteTag = ANIM_TAG_SHELL_RIGHT, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_BasicRock, + .callback = AnimRockBlastRock +}; + +// meteor beam +const struct SpriteTemplate gSpriteTemplate_MeteorBeamRock = { + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gAnims_FlyingRock, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_HydroCannonBall, + .callback = AnimShadowBall +}; + +// burning jealousy +const struct SpriteTemplate gSpriteTemplate_BurningJealousyFireBuff = { + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_FireBlastCross, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_MoveSpriteUpwardsForDuration +}; +const struct SpriteTemplate gSpriteTemplate_BurningJealousyEmit = { + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_FireBlastCross, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimOutrageFlame +}; + +// lash out +const struct SpriteTemplate gSpriteTemplate_LashOutStrike = { + .tileTag = ANIM_TAG_SLAM_HIT_2, + .paletteTag = ANIM_TAG_SLAM_HIT_2, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, + .anims = gKnockOffStrikeAnimTable, + .images = NULL, + .affineAnims = gKnockOffStrikeAffineAnimTable, + .callback = SpriteCB_LashOutStrike +}; + +// corrosize gas +const struct SpriteTemplate gSpriteTemplate_CorrosiveGasSmoke = { + .tileTag = ANIM_TAG_PINK_CLOUD, + .paletteTag = ANIM_TAG_PINK_CLOUD, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gSmokeBallEscapeCloudAffineAnimTable, + .callback = AnimSmokeBallEscapeCloud +}; + +// flip turn +const struct SpriteTemplate gSpriteTemplate_FlipTurnThere = { + .tileTag = ANIM_TAG_HYDRO_PUMP, + .paletteTag = ANIM_TAG_HYDRO_PUMP, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_ShadowBall, + .callback = AnimShadowBall +}; +const struct SpriteTemplate gSpriteTemplate_FlipTurnBack = { + .tileTag = ANIM_TAG_HYDRO_PUMP, + .paletteTag = ANIM_TAG_HYDRO_PUMP, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_ShadowBall, + .callback = AnimAbsorptionOrb +}; + +// wicked blow +static const union AffineAnimCmd sSpriteAffineAnim_DrainPunchFist[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size + AFFINEANIMCMD_FRAME(-32, -32, 0, 8), + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_DrainPunchFist[] = { + sSpriteAffineAnim_DrainPunchFist, +}; + +const struct SpriteTemplate gSpriteTemplate_WickedBlowFist = { + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_DrainPunchFist, + .callback = SpriteCB_SpriteOnMonForDurationUseY +}; +const struct SpriteTemplate gSpriteTemplate_WickedBlowBlackStars = { + .tileTag = ANIM_TAG_PAIN_SPLIT, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimDizzyPunchDuck +}; +const struct SpriteTemplate gSpriteTemplate_WickedBlowRedStars = { + .tileTag = ANIM_TAG_PAIN_SPLIT, + .paletteTag = ANIM_TAG_PAIN_SPLIT, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimDizzyPunchDuck +}; + +// surging strikes +static const union AnimCmd sAnimCmdSurgingStrike[] = { + //Only tthe first three frames of the animation + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END, +}; +static const union AnimCmd *const sAnimCmdTable_SurgingStrike[] = { + sAnimCmdSurgingStrike, +}; +const struct SpriteTemplate gSpriteTemplate_SurgingStrikesImpact = { + .tileTag = ANIM_TAG_IMPACT_2, + .paletteTag = ANIM_TAG_IMPACT_2, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = sAnimCmdTable_SurgingStrike, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_SurgingStrikes +}; + +// dragon energy +const struct SpriteTemplate gSpriteTemplate_DragonEnergyShot = { + .tileTag = ANIM_TAG_HYDRO_PUMP, + .paletteTag = ANIM_TAG_HYDRO_PUMP, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_HydroCannonBall, + .callback = SpriteCB_DragonEnergyShot +}; + +// fiery wrath +const struct SpriteTemplate gSpriteTemplate_FieryWrathGeyser = { + .tileTag = ANIM_TAG_PURPLE_RING, + .paletteTag = ANIM_TAG_PURPLE_RING, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_ShadowBall, + .callback = SpriteCB_Geyser +}; + +// glacial lance +static const union AffineAnimCmd sSpriteAffineAnim_GlacialLance_Grow[] = { + AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30), //Double sprite size + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd sSpriteAffineAnim_GlacialLance_OnFoe[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size + AFFINEANIMCMD_FRAME(0, 0, -8, 4), //Rotate 45 degrees right + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd sSpriteAffineAnim_GlacialLance_OnPlayer[] = { + AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size + AFFINEANIMCMD_FRAME(0, 0, 24, 4), //Rotate 135 degrees left + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_GlacialLance[] = { + sSpriteAffineAnim_GlacialLance_Grow, + sSpriteAffineAnim_GlacialLance_OnFoe, + sSpriteAffineAnim_GlacialLance_OnPlayer, +}; +const struct SpriteTemplate gSpriteTemplate_GlacialLance = { + .tileTag = ANIM_TAG_ICICLE_SPEAR, + .paletteTag = ANIM_TAG_ICICLE_SPEAR, + .oam = &gOamData_AffineDouble_ObjNormal_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_GlacialLance, + .callback = SpriteCB_GlacialLance +}; + +// eerie spell +static const struct OamData sOamData_EerieSpellFlame = { + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; +const struct SpriteTemplate gSpriteTemplate_EerieSpellFlame = { + .tileTag = ANIM_TAG_PURPLE_FLAME, + .paletteTag = ANIM_TAG_PURPLE_FLAME, + .oam = &sOamData_EerieSpellFlame, + .anims = gAnims_GrudgeFlame, + .images = NULL, + .affineAnims = gAffineAnims_ShadowBall, + .callback = AnimNeedleArmSpike +}; + + +//// GEN 9 +// Psyshield bash +const struct SpriteTemplate gSpriteTemplate_PsyshieldBashHit = { + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_WATER_GUN, + .oam = &gOamData_AffineNormal_ObjBlend_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_HitSplat, + .callback = AnimHitSplatBasic +}; + +// power shift +const struct SpriteTemplate gSpriteTemplate_PowerShiftOffenseBall = { + .tileTag = ANIM_TAG_BLUEGREEN_ORB, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_LargeHailRock, + .callback = SpriteCB_PowerShiftBall +}; +const struct SpriteTemplate gSpriteTemplate_PowerShiftDefenseBall = { + .tileTag = ANIM_TAG_BLUEGREEN_ORB, + .paletteTag = ANIM_TAG_BLUEGREEN_ORB, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_LargeHailRock, + .callback = SpriteCB_PowerShiftBall +}; + +// stone axe +static const union AnimCmd sAnimCmdFlippedX[] = { + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END, +}; +static const union AnimCmd *const sAnimCmdTable_FlippedX[] = { + sAnimCmdFlippedX, +}; +const struct SpriteTemplate gSpriteTemplate_StoneAxeSlash = { + .tileTag = ANIM_TAG_SLAM_HIT_2, + .paletteTag = ANIM_TAG_SLAM_HIT_2, + .oam = &gOamData_AffineOff_ObjNormal_64x64, + .anims = sAnimCmdTable_FlippedX, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_HorizontalSlice, +}; + +// springtide storm +const struct SpriteTemplate gSpriteTemplate_SpringtideHeart = { + .tileTag = ANIM_TAG_RED_HEART, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimParticleInVortex +}; + +// mystical power +const struct SpriteTemplate gSpriteTemplate_VioletMind = { // also psystrike + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gOamData_AffineDouble_ObjBlend_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gThinRingShrinkingAffineAnimTable, + .callback = AnimSpriteOnMonPos +}; +static const union AffineAnimCmd sSpriteAffineAnim_MysticalPowerRing[] = { + AFFINEANIMCMD_FRAME(16, 16, 0, 0), //Start small + AFFINEANIMCMD_FRAME(16, 16, 0, 15), //Grow sprite + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_MysticalPowerRing[] = { + sSpriteAffineAnim_MysticalPowerRing, +}; +const struct SpriteTemplate gSpriteTemplate_MysticalPowerRing = { + .tileTag = ANIM_TAG_THIN_RING, + .paletteTag = ANIM_TAG_HYDRO_PUMP, + .oam = &gOamData_AffineNormal_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_MysticalPowerRing, + .callback = AnimHitSplatBasic +}; + +// mountain gale +const struct SpriteTemplate gSpriteTemplate_MountainGaleRock = { + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_DRAGON_ASCENT_FOE, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_FlyingRock, + .images = NULL, + .affineAnims = gBulletSeedAffineAnimTable, + .callback = AnimMissileArc +}; + +// bleakwind storm +const struct SpriteTemplate gSpriteTemplate_BleakwindIce = { + .tileTag = ANIM_TAG_ICE_CRYSTALS, + .paletteTag = ANIM_TAG_ICE_CRYSTALS, + .oam = &gOamData_AffineOff_ObjNormal_8x16, + .anims = gAnims_IceCrystalLarge, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimParticleInVortex +}; + +// headlong rush +const struct SpriteTemplate gSpriteTemplate_HeadlongRushImpact = { + .tileTag = ANIM_TAG_IMPACT, + .paletteTag = ANIM_TAG_IMPACT, + .oam = &gOamData_AffineDouble_ObjBlend_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_DrainPunchFist, + .callback = AnimHitSplatBasic +}; +const struct SpriteTemplate gSpriteTemplate_MaxQuakeDirtGeyser = { + .tileTag = ANIM_TAG_MUD_SAND, + .paletteTag = ANIM_TAG_MUD_SAND, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMudSportDirt +}; +const struct SpriteTemplate gSpriteTemplate_MaxQuakeRockGeyser = { + .tileTag = ANIM_TAG_ROCKS, + .paletteTag = ANIM_TAG_ROCKS, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_FlyingRock, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_Geyser +}; + +// barb barrage +const struct SpriteTemplate gSpriteTemplate_BarbBarrage = { + .tileTag = ANIM_TAG_SPIKES, + .paletteTag = ANIM_TAG_SHADOW_BALL, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimOutrageFlame +}; + +// esper wing +const struct SpriteTemplate gSpriteTemplate_WingAttackFeather = { // TODo update wing attaack anim + .tileTag = ANIM_TAG_WHITE_FEATHER, + .paletteTag = ANIM_TAG_WHITE_FEATHER, + .oam = &gOamData_AffineNormal_ObjNormal_32x32, + .anims = gAnims_FallingFeather, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_WingAttackFeather, + .callback = AnimDizzyPunchDuck +}; + +// triple arrows +const struct SpriteTemplate gSpriteTemplate_TripleArrowKick = { + .tileTag = ANIM_TAG_HANDS_AND_FEET, + .paletteTag = ANIM_TAG_HANDS_AND_FEET, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_HandsAndFeet, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_TripleArrowKick +}; + +// infernal parade +static const union AffineAnimCmd sSpriteAffineAnim_FlutterbyPulsate[] = { + AFFINEANIMCMD_FRAME(16, 16, 0, 4), + AFFINEANIMCMD_FRAME(-16, -16, 0, 4), + AFFINEANIMCMD_JUMP(0), +}; +static const union AffineAnimCmd sSpriteAffineAnim_FlutterbyGrow[] = { + AFFINEANIMCMD_FRAME(8, 8, 0, 16), //Double in size + AFFINEANIMCMD_END, +}; +static const union AffineAnimCmd* const sSpriteAffineAnimTable_Flutterby[] = { + sSpriteAffineAnim_FlutterbyPulsate, + sSpriteAffineAnim_FlutterbyGrow, +}; +const struct SpriteTemplate gSpriteTemplate_InfernalParadeFlame = { + .tileTag = ANIM_TAG_PURPLE_FLAME, + .paletteTag = ANIM_TAG_PURPLE_FLAME, + .oam = &gOamData_AffineDouble_ObjBlend_32x16, + .anims = gAnims_GrudgeFlame, + .images = NULL, + .affineAnims = sSpriteAffineAnimTable_Flutterby, + .callback = SpriteCB_MaxFlutterby +}; + +// ceaseless edge +const struct SpriteTemplate gSpriteTemplate_CeaselessEdgeSlash = { + .tileTag = ANIM_TAG_SLASH, + .paletteTag = ANIM_TAG_SLASH, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gSlashSliceAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_FlippableSlash +}; + +// wildbolt storm +static const union AnimCmd sAnimCmdAnimatedSpark2[] = { + ANIMCMD_FRAME((16 * 16) / (8 * 8) * 0, 8), + ANIMCMD_FRAME((16 * 16) / (8 * 8) * 1, 8), + ANIMCMD_FRAME((16 * 16) / (8 * 8) * 2, 8), + ANIMCMD_JUMP(0) +}; +static const union AnimCmd *const sAnimCmdTable_AnimatedSpark2[] = { + sAnimCmdAnimatedSpark2, +}; +const struct SpriteTemplate gSpriteTemplate_WildboltStormSpark = { + .tileTag = ANIM_TAG_SPARK_2, + .paletteTag = ANIM_TAG_SPARK_2, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = sAnimCmdTable_AnimatedSpark2, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimParticleInVortex +}; + +// lunar blessing/dance +const struct SpriteTemplate gSpriteTemplate_LunarDanceRing = { + .tileTag = ANIM_TAG_GUARD_RING, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gOamData_AffineDouble_ObjBlend_64x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gGuardRingAffineAnimTable, + .callback = SpriteCB_SurroundingRing +}; + +// take heart +const struct SpriteTemplate gSpriteTemplate_TakeHeartFallingHeart = { + .tileTag = ANIM_TAG_RED_HEART, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCB_FallingObject +}; +const struct SpriteTemplate gSpriteTemplate_TakeHeartRing = { + .tileTag = ANIM_TAG_GUARD_RING, + .paletteTag = ANIM_TAG_RED_HEART, + .oam = &gOamData_AffineDouble_ObjBlend_64x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gGuardRingAffineAnimTable, + .callback = SpriteCB_SurroundingRing +}; + +// bitter malice +const struct SpriteTemplate gSpriteTemplate_BitterMaliceRing = { + .tileTag = ANIM_TAG_PURPLE_RING, + .paletteTag = ANIM_TAG_PURPLE_RING, + .oam = &gOamData_AffineDouble_ObjNormal_16x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_ShadowBall, + .callback = AnimParticleInVortex +}; + // Z MOVES //activate const struct SpriteTemplate gZMoveSymbolSpriteTemplate = @@ -5078,7 +5729,7 @@ const struct SpriteTemplate gTargetTwinkleSpriteTemplate = .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sAnims_SpinningSparkle, + .anims = gAnims_SpinningSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_TwinkleOnBattler @@ -5134,7 +5785,7 @@ const struct SpriteTemplate gTwinkleTackleTwinkleSpriteTemplate = .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sAnims_SpinningSparkle, + .anims = gAnims_SpinningSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = SpriteCB_TwinkleOnBattler @@ -5524,7 +6175,7 @@ const struct SpriteTemplate gPulverizingPancakeRedDetectSpriteTemplate = .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_VERTICAL_HEX, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sAnims_SpinningSparkle, + .anims = gAnims_SpinningSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpinningSparkle @@ -6088,7 +6739,7 @@ const struct SpriteTemplate gSnuggleForeverEyesSpriteTemplate = .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_VERTICAL_HEX, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sAnims_SpinningSparkle, + .anims = gAnims_SpinningSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpinningSparkle @@ -6419,14 +7070,6 @@ const struct SpriteTemplate gLightThatBurnsTheSkyBlastBurnSpriteTemplate = .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimBlastBurnTargetPlume }; -static const struct OamData sGeyserOam = -{ - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .shape = SPRITE_SHAPE(32x32), - .size = SPRITE_SIZE(32x32), - .priority = 1, //Above sprites -}; const struct SpriteTemplate gLightThatBurnsTheSkyExplosionSpriteTemplate = { .tileTag = ANIM_TAG_EXPLOSION_2, @@ -6532,44 +7175,6 @@ void AnimTask_IsTargetPartner(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimTask_AllBanksInvisible(u8 taskId) -{ - u32 i; - for (i = 0; i < gBattlersCount; i++) - { - u8 spriteId = gBattlerSpriteIds[i]; - if (spriteId != 0xFF) - gSprites[spriteId].invisible = TRUE; - } - DestroyAnimVisualTask(taskId); -} - -void AnimTask_AllBanksVisible(u8 taskId) -{ - u32 i; - for (i = 0; i < gBattlersCount; i++) - { - u8 spriteId = gBattlerSpriteIds[i]; - if (spriteId != 0xFF) - gSprites[spriteId].invisible = FALSE; - } - DestroyAnimVisualTask(taskId); -} - -void AnimTask_AllBanksInvisibleExceptAttackerAndTarget(u8 taskId) -{ - u32 i; - for (i = 0; i < gBattlersCount; ++i) - { - u8 spriteId = gBattlerSpriteIds[i]; - if (spriteId == GetAnimBattlerSpriteId(ANIM_ATTACKER) || spriteId == GetAnimBattlerSpriteId(ANIM_TARGET)) - continue; - if (spriteId != 0xFF || !IsBattlerSpriteVisible(i)) //Pokemon that are already hidden - gSprites[spriteId].invisible = TRUE; - } - DestroyAnimVisualTask(taskId); -} - static u8 LoadBattleAnimTarget(u8 arg) { u8 battler; @@ -7593,7 +8198,113 @@ static void SpriteCB_GeyserTarget(struct Sprite *sprite) sprite->callback = AnimMudSportDirtRising; } -// Anim Tasks Functions +//// Anim Tasks Functions +void AnimTask_IsAttackerPlayerSide(u8 taskId) +{ + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + gBattleAnimArgs[7] = 0; + else + gBattleAnimArgs[7] = 1; + + DestroyAnimVisualTask(taskId); +} + +static void AnimTask_FadeOutParticlesHelper(u8 taskId) +{ + if (gTasks[taskId].data[1] == 0) //Target reached + { + DestroyAnimVisualTask(taskId); + } + else if (gTasks[taskId].data[4]++ >= gTasks[taskId].data[3]) + { + gTasks[taskId].data[4] = 0; //Reset timer + gTasks[taskId].data[1]--; + gTasks[taskId].data[2]++; + SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]); + } +} + +void AnimTask_FadeOutParticles(u8 taskId) +{ + u8 existingTaskId = FindTaskIdByFunc(AnimTask_FadeOutParticlesHelper); + if (existingTaskId != 0xFF) + DestroyAnimVisualTask(existingTaskId); //Can only have one of these tasks going at a time + + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); //Blend sprites out + gTasks[taskId].data[1] = 16; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = gBattleAnimArgs[0]; //Delay + gTasks[taskId].data[4] = 0; //Delay Timer + gTasks[taskId].func = AnimTask_FadeOutParticlesHelper; +} + + +static const union AffineAnimCmd sShellSmashShrinkAffineAnimCmds[] = +{ + AFFINEANIMCMD_FRAME(64, 64, 0, 16), //Flatten + AFFINEANIMCMD_FRAME(0, 0, 0, 48), + AFFINEANIMCMD_FRAME(-64, -64, 0, 16), + AFFINEANIMCMD_END, +}; +//Shrinks the attacker, pauses, then scales up the attacker again +void AnimTask_ShellSmashShrinkAttacker(u8 taskId) +{ + struct Task* task = &gTasks[taskId]; + u8 spriteId; + + task->data[0] = gBattleAnimArgs[0]; //Pause + spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); + PrepareAffineAnimInTaskData(task, spriteId, sShellSmashShrinkAffineAnimCmds); + task->func = AnimTask_DynamaxGrowthStep; +} + +static void AnimTask_DynamaxGrowthStep(u8 taskId) +{ + struct Task* task = &gTasks[taskId]; + if (!RunAffineAnimFromTaskData(task)) + DestroyAnimVisualTask(taskId); +} + +void AnimTask_AllBattlersInvisible(u8 taskId) +{ + u32 i, spriteId; + for (i = 0; i < gBattlersCount; i++) + { + spriteId = gBattlerSpriteIds[i]; + if (spriteId != 0xFF) + gSprites[spriteId].invisible = TRUE; + } + DestroyAnimVisualTask(taskId); +} + +void AnimTask_AllBattlersVisible(u8 taskId) +{ + u32 i, spriteId; + for (i = 0; i < gBattlersCount; ++i) + { + spriteId = gBattlerSpriteIds[i]; + if (IsBattlerSpriteVisible(i) && spriteId != 0xFF) + gSprites[spriteId].invisible = FALSE; + } + + DestroyAnimVisualTask(taskId); +} + +void AnimTask_AllBattlersInvisibleExceptAttackerAndTarget(u8 taskId) +{ + u32 i; + for (i = 0; i < gBattlersCount; ++i) + { + u8 spriteId = gBattlerSpriteIds[i]; + if (spriteId == GetAnimBattlerSpriteId(ANIM_ATTACKER) || spriteId == GetAnimBattlerSpriteId(ANIM_TARGET)) + continue; + if (spriteId != 0xFF || !IsBattlerSpriteVisible(i)) //Pokemon that are already hidden + gSprites[spriteId].invisible = TRUE; + } + DestroyAnimVisualTask(taskId); +} + #define tSpriteId data[0] #define tTimer data[1] #define tInitialXPos data[2] @@ -7900,3 +8611,467 @@ void AnimTask_AffectionHangedOn(u8 taskId) gBattleAnimArgs[0] = GetBattlerFriendshipScore(gBattleAnimTarget); DestroyAnimVisualTask(taskId); } + + +//Launches the stat ball for Power Shift +//arg 0: X starting offset +//arg 1: Y starting offset +//arg 2: X finishing offset +//arg 3: Y finishing offset +//arg 4: Duration +//arg 5: Wave Amplitude +static void SpriteCB_PowerShiftBall(struct Sprite* sprite) +{ + InitSpritePosToAnimAttacker(sprite, TRUE); + + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + gBattleAnimArgs[2] *= -1; //Flip X + + sprite->data[0] = gBattleAnimArgs[4]; //Duration + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; //Target Y + sprite->data[5] = gBattleAnimArgs[5]; //Wave Amplitude + + InitAnimArcTranslation(sprite); + sprite->callback = SpriteCB_PowerShiftBallStep; +} + +static void SpriteCB_PowerShiftBallStep(struct Sprite* sprite) // Also used by Triple Arrows +{ + if (TranslateAnimHorizontalArc(sprite)) + DestroySpriteAndMatrix(sprite); +} + +//Creates a sprite that moves left or right along the target. +//arg 0: Initial x-pixel offset +//arg 1: Initial y-pixel offset +//arg 2: Slice distance +//arg 3: Speed +//arg 4: direction +static void SpriteCB_HorizontalSlice(struct Sprite *sprite) +{ + sprite->x2 = gBattleAnimArgs[0]; + sprite->y2 = gBattleAnimArgs[1]; + + sprite->data[0] = gBattleAnimArgs[2]; //Slice distance + sprite->data[1] = gBattleAnimArgs[3]; //Slice speed + sprite->data[2] = gBattleAnimArgs[4]; //Slice direction + sprite->data[3] = 0; //Timer + + sprite->callback = SpriteCB_HorizontalSliceStep; +} + +void SpriteCB_HorizontalSliceStep(struct Sprite *sprite) +{ + if (sprite->data[2] == 1) //Move left + sprite->x2 -= sprite->data[1]; + else + sprite->x2 += sprite->data[1]; + + sprite->data[3] += sprite->data[1]; + + if (sprite->data[3] >= sprite->data[0]) + DestroySpriteAndMatrix(sprite); +} + +//Creates the slam hit for LashOut +//arg 0: initial x pixel offset +//arg 1: initial y pixel offset +//arg 2: flip +static void SpriteCB_LashOutStrike(struct Sprite* sprite) +{ + bool8 flip = GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER; + + if (gBattleAnimArgs[2]) + flip ^= 1; + + sprite->data[0] = 11; + + if (flip) + { + sprite->x -= gBattleAnimArgs[0]; + sprite->data[0] *= -1; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->x += gBattleAnimArgs[0]; + } + + sprite->y += gBattleAnimArgs[1]; + sprite->data[1] = 192; + sprite->callback = AnimKnockOffStrike_Step; +} + +//Moves the shells towards the attacker and leaves them there until they fade out +//arg 0: Initial x-pos +//arg 1: Final x-pos +//arg 2: Movement duration +//arg 3: Affine anim +static void SpriteCB_ShellSmashShell(struct Sprite* sprite) +{ + //Init Position + sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + 2; //2 to slightly encompass the entire sprite + + //Prepare linear movement + sprite->data[0] = gBattleAnimArgs[2]; //Duration + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; + sprite->data[4] = sprite->y; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, SpriteCB_ShellSmashShell_DestroyDuringFadeOut); + + //Rotate properly + StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); +} + +static void SpriteCB_ShellSmashShell_DestroyDuringFadeOut(struct Sprite* sprite) +{ + if (GetGpuReg(REG_OFFSET_BLDALPHA) >= BLDALPHA_BLEND(0, 8)) //Fade out 1/2 done + DestroyAnimSprite(sprite); +} + +static void SpriteCB_AnimSpriteOnTargetSideCentre(struct Sprite *sprite) +{ + u8 target = LoadBattleAnimTarget(2); + + if (!sprite->data[0]) + { + if (IsAlly(gBattleAnimAttacker, target)) + { + if (IsDoubleBattle()) + InitSpritePosToAnimAttackersCentre(sprite, FALSE); + else + InitSpritePosToAnimAttacker(sprite, FALSE); + } + else + { + if (IsDoubleBattle()) + InitSpritePosToAnimTargetsCentre(sprite, FALSE); + else + InitSpritePosToAnimTarget(sprite, FALSE); + } + + sprite->data[0]++; + } + else if (sprite->animEnded || sprite->affineAnimEnded) + { + DestroySpriteAndMatrix(sprite); + } +} + +static void SpriteCB_SpriteOnMonUntilAffineAnimEnds(struct Sprite* sprite) +{ + u8 target = LoadBattleAnimTarget(0); + + if (!IsBattlerSpriteVisible(target)) + DestroyAnimSprite(sprite); + else + { + sprite->x = GetBattlerSpriteCoord(target, BATTLER_COORD_X_2); + sprite->y = GetBattlerSpriteCoord(target, BATTLER_COORD_Y_PIC_OFFSET); + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); + sprite->callback = RunStoredCallbackWhenAffineAnimEnds; + } +} + +static void SpriteCB_SpriteOnMonForDurationUseY(struct Sprite *sprite) +{ + u8 target = LoadBattleAnimTarget(0); + + if (!IsBattlerSpriteVisible(target)) + DestroyAnimSprite(sprite); + else + { + sprite->x = GetBattlerSpriteCoord(target, BATTLER_COORD_X); + sprite->y = GetBattlerSpriteCoord(target, BATTLER_COORD_Y_PIC_OFFSET); + + sprite->x2 = gBattleAnimArgs[1]; + sprite->y2 = gBattleAnimArgs[2]; + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = 0; + sprite->callback = AnimBrickBreakWall_Step; + } +} + +//Moves a sprite upward for set amount of time +//arg 0: Bank +//arg 1: X-Offset +//arg 2: Y-Offset +//arg 3: Speed +//arg 4: Duration +static void SpriteCB_MoveSpriteUpwardsForDuration(struct Sprite* sprite) +{ + if (gBattleAnimArgs[0] == ANIM_ATTACKER) + { + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2]; + } + else + { + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2]; + } + + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[3]; //Speed + sprite->data[2] = gBattleAnimArgs[4]; //Duration + sprite->callback = SpriteCB_MoveSpriteUpwardsForDurationStep; +} + +static void SpriteCB_MoveSpriteUpwardsForDurationStep(struct Sprite* sprite) +{ + sprite->y -= sprite->data[1]; + if (sprite->data[0]++ > sprite->data[2]) + DestroyAnimSprite(sprite); +} + +//Creates arc impacts for Surging Strikes +//arg 0: initial x pixel offset (from target) +//arg 1: initial y pixel offset (from target) +//arg 2: target x pixel offset (from target) +//arg 3: target y pixel offset (from target) +//arg 4: duration +//arg 5: wave amplitude +static void SpriteCB_SurgingStrikes(struct Sprite* sprite) +{ + InitSpritePosToAnimTarget(sprite, TRUE); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; //Target Y + sprite->data[5] = gBattleAnimArgs[5]; + InitAnimArcTranslation(sprite); + sprite->callback = AnimMissileArc_Step; +} + +//Creates the moving Steel Wheel for Steel Roller +//arg 0: initial x pixel offset +//arg 1: initial y pixel offset +//arg 2: falling speed +//arg 3: horizontal distance +//arg 4: horizontal speed +static void SpriteCB_SteelRoller(struct Sprite* sprite) +{ + sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X); + sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y); + + sprite->x2 = gBattleAnimArgs[0]; + sprite->y2 += gBattleAnimArgs[1]; + + sprite->data[4] = gBattleAnimArgs[3]; //Left/Right distance + sprite->data[5] = gBattleAnimArgs[4]; //Left/Right speed + + sprite->data[3] = gBattleAnimArgs[2]; //Falling Speed + sprite->callback = SpriteCB_SteelRoller_Down; +} + +static void SpriteCB_SteelRoller_Down(struct Sprite *sprite) +{ + sprite->y2 += sprite->data[3]; + if (sprite->y2 >= 0) + { + sprite->y2 = 0; + sprite->callback = SpriteCB_SteelRoller_LeftRight; + } +} + +static void SpriteCB_SteelRoller_LeftRight(struct Sprite* sprite) +{ + sprite->data[0] = -sprite->data[4]; //Slice distance + sprite->data[1] = sprite->data[5]; //Slice speed + sprite->callback = SpriteCB_LeftRightSliceStep0; +} + +//Creates slashes that can be flipped. +//arg 0: x pixel offset (from target) +//arg 1: y pixel offset (from target) +//arg 2: flip x +//arg 3: flip y +static void SpriteCB_FlippableSlash(struct Sprite* sprite) +{ + InitSpritePosToAnimTarget(sprite, TRUE); + + if (gBattleAnimArgs[2]) //Flip X + sprite->hFlip = TRUE; + + if (gBattleAnimArgs[3]) //Flip Y + sprite->vFlip = TRUE; + + sprite->data[0] = 0; + sprite->data[1] = 0; + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step3); + sprite->callback = RunStoredCallbackWhenAnimEnds; +} + +//Moves the balls for Dragon Energy sideways along the target side +//arg 0: Duration +static void SpriteCB_DragonEnergyShot(struct Sprite* sprite) +{ + s16 startingX, finishingX, y; + u8 def1 = gBattleAnimTarget; + u8 def2 = BATTLE_PARTNER(def1); + + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); + else + { + y = 0; + + if (IsBattlerSpritePresent(def1)) + y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); + + if (IsBattlerSpritePresent(def2)) + y += GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET); + + if (IsBattlerSpritePresent(def1) && IsBattlerSpritePresent(def2)) //Both targets are visible + y /= 2; + } + + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) + { + startingX = 0; + finishingX = 255; + } + else + { + startingX = 255; + finishingX = 0; + } + + sprite->x = startingX; + sprite->y = y; + sprite->x2 = 0; + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[2] = finishingX; + sprite->data[4] = y; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); +} + +//Moves the butterflies created in Max Flutterby +//arg 0: initial x pixel offset +//arg 1: initial y pixel offset +//arg 2: wave amplitude +static void SpriteCB_MaxFlutterby(struct Sprite* sprite) +{ + InitSpritePosToAnimAttacker(sprite, FALSE); + + sprite->data[0] = 0x10; //Speed delay + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); //Target Y + sprite->data[5] = gBattleAnimArgs[2]; //Wave amplitude + + sprite->callback = SpriteCB_MaxFlutterbyStep1; +} + +//The butterflies prepare to move towards the target +static void SpriteCB_MaxFlutterbyStep1(struct Sprite* sprite) +{ + if (!FuncIsActiveTask(AnimTask_DynamaxGrowthStep)) + { + if (gAnimMoveIndex != MOVE_INFERNAL_PARADE) + PlaySE(SE_M_SAND_ATTACK); + + StartSpriteAffineAnim(sprite, 1); + InitAnimArcTranslation(sprite); + sprite->callback = SpriteCB_MaxFlutterbyStep2; + } +} + +//Destroys the butterflies when they reach the target +static void SpriteCB_MaxFlutterbyStep2(struct Sprite* sprite) +{ + sprite->invisible = FALSE; + + if (TranslateAnimHorizontalArc(sprite)) + { + if (gAnimMoveIndex == MOVE_INFERNAL_PARADE) + PlaySE(SE_M_FLAME_WHEEL2); + + DestroySpriteAndMatrix(sprite); + } +} + +//Moves the ice lance for Glacial Lance +//arg 0: initial x pixel offset (from attacker) +//arg 1: initial y pixel offset (from attacker) +//arg 2: target x pixel offset (from target) +//arg 3: target y pixel offset (from target) +//arg 4: distance moved up +//arg 5: pause in middle +//arg 6: duration to target +static void SpriteCB_GlacialLance(struct Sprite* sprite) +{ + u8 def1 = gBattleAnimTarget; + u8 def2 = BATTLE_PARTNER(def1); + + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[5] = gBattleAnimArgs[4]; + sprite->data[6] = gBattleAnimArgs[5]; + + sprite->data[0] = gBattleAnimArgs[6]; + + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + { + sprite->data[2] = GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Converge on target + sprite->data[4] = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; + } + else + { + sprite->data[2] = (GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + GetBattlerSpriteCoord(def2, BATTLER_COORD_X_2)) / 2 + gBattleAnimArgs[2]; //Converge on target + sprite->data[4] = (GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET)) / 2 + gBattleAnimArgs[3]; + } + + sprite->oam.priority = 1; //Above the ice cube + sprite->callback = SpriteCB_GlacialLance_Step1; +} + +static void SpriteCB_GlacialLance_Step1(struct Sprite* sprite) +{ + if (sprite->data[7]++ >= sprite->data[5]) + { + sprite->data[7] = 0; + sprite->callback = SpriteCB_GlacialLance_Step2; + } + else + --sprite->y; //Move up +} + +static void SpriteCB_GlacialLance_Step2(struct Sprite* sprite) +{ + if (sprite->data[7]++ >= sprite->data[6]) + { + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + StartSpriteAffineAnim(sprite, 2); + else + StartSpriteAffineAnim(sprite, 1); + + sprite->data[5] = 0; + sprite->data[6] = 0; + sprite->data[7] = 0; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + } +} + + +//Delivers a rainbow kick for Triple Arrows +//arg 0: Initial x pixel offset +//arg 1: Initial y pixel offset +//arg 2: Duration +//arg 3: Wave Amplitude +static void SpriteCB_TripleArrowKick(struct Sprite* sprite) +{ + InitSpritePosToAnimTarget(sprite, TRUE); + StartSpriteAnim(sprite, 1); //Feet + + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); //Target Y + sprite->data[5] = gBattleAnimArgs[3]; + + InitAnimArcTranslation(sprite); + sprite->callback = SpriteCB_PowerShiftBallStep; //Arc until complete +} diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index 2257f9c04a..c1dc754c1f 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -13,7 +13,6 @@ static void AnimTask_Rollout_Step(u8 taskId); static void AnimRolloutParticle(struct Sprite *); static void AnimRockTomb(struct Sprite *); static void AnimRockTomb_Step(struct Sprite *sprite); -static void AnimRockBlastRock(struct Sprite *); static void AnimRockScatter(struct Sprite *); static void AnimRockScatter_Step(struct Sprite *sprite); static void AnimParticleInVortex_Step(struct Sprite *sprite); @@ -921,7 +920,7 @@ static void AnimRockTomb_Step(struct Sprite *sprite) } } -static void AnimRockBlastRock(struct Sprite *sprite) +void AnimRockBlastRock(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(sprite, 1); diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index da5cd346ef..b7919759f5 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -106,7 +106,7 @@ static const union AnimCmd sAnim_SpinningSparkle[] = ANIMCMD_END }; -const union AnimCmd *const sAnims_SpinningSparkle[] = +const union AnimCmd *const gAnims_SpinningSparkle[] = { sAnim_SpinningSparkle }; @@ -116,7 +116,7 @@ const struct SpriteTemplate gSpinningSparkleSpriteTemplate = .tileTag = ANIM_TAG_SPARKLE_4, .paletteTag = ANIM_TAG_SPARKLE_4, .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = sAnims_SpinningSparkle, + .anims = gAnims_SpinningSparkle, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, .callback = AnimSpinningSparkle, @@ -396,6 +396,36 @@ void AnimTask_FrozenIceCubeAttacker(u8 taskId) gTasks[taskId].func = AnimTask_FrozenIceCube_Step1; } +void AnimTask_CentredFrozenIceCube(u8 taskId) +{ + // same as AnimTask_FrozenIceCube but center position on target(s) + s16 x, y; + u8 spriteId; + u8 battler1 = gBattleAnimTarget; + u8 battler2 = BATTLE_PARTNER(battler1); + + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + { + x = GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2); + y = GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET); + } + else + { + x = (GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2) + GetBattlerSpriteCoord(battler2, BATTLER_COORD_X_2)) / 2; + y = (GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoord(battler2, BATTLER_COORD_Y_PIC_OFFSET)) / 2; + } + + x -= 32; + y -= 36; + + spriteId = CreateSprite(&sFrozenIceCubeSpriteTemplate, x, y, 4); + if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) + gSprites[spriteId].invisible = TRUE; + + SetSubspriteTables(&gSprites[spriteId], sFrozenIceCubeSubspriteTable); + gTasks[taskId].data[15] = spriteId; + gTasks[taskId].func = AnimTask_FrozenIceCube_Step1; +} void AnimTask_FrozenIceCube(u8 taskId) { diff --git a/src/battle_util.c b/src/battle_util.c index ee4e50cf3c..fc5693264e 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10937,3 +10937,8 @@ u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) return secondaryEffectChance; } + +bool32 IsAlly(u32 battlerAtk, u32 battlerDef) +{ + return (GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef)); +} diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 46293e3a0a..be1c7f07c0 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1987,4 +1987,5 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = [BG_AURA_SPHERE] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_AuraSphere, gBattleAnimBgTilemap_FocusBlast}, [BG_STEEL_BEAM_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedOpponent}, [BG_STEEL_BEAM_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_CHLOROBLAST] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_Chloroblast, gBattleAnimBgTilemap_HydroCannon}, }; diff --git a/src/graphics.c b/src/graphics.c index e7a0cbe642..de65ac1c13 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1438,6 +1438,7 @@ const u32 gBattleAnimBgPalette_GunkShot[] = INCBIN_U32("graphics/battle_anims/ba const u32 gBattleAnimBgImage_HydroCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_cannon.4bpp.lz"); const u32 gBattleAnimBgPalette_HydroCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_cannon.gbapal.lz"); const u32 gBattleAnimBgTilemap_HydroCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_cannon.bin.lz"); +const u32 gBattleAnimBgPalette_Chloroblast[] = INCBIN_U32("graphics/battle_anims/backgrounds/chloroblast.gbapal.lz"); const u32 gBattleAnimBgImage_HydroPump[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_pump.4bpp.lz"); const u32 gBattleAnimBgPalette_HydroPump[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_pump.gbapal.lz"); From 4b3b9b5e0ad5553a3cb7d155f64e6e54ffe2b0a9 Mon Sep 17 00:00:00 2001 From: PacFire <108960850+PacFire@users.noreply.github.com> Date: Tue, 27 Jun 2023 01:19:33 +0300 Subject: [PATCH 029/256] Added icon for Clear Amulet (#3078) * Update graphics.h * Update item_icon_table.h * Update items.h * Add files via upload added icon for clear amulet, shards still missing. * Add files via upload added clear amulet's palette * Update graphics.h --- graphics/items/icon_palettes/clear_amulet.pal | 19 ++++++++++++++++++ graphics/items/icons/clear_amulet.png | Bin 0 -> 434 bytes include/graphics.h | 2 ++ src/data/graphics/items.h | 4 ++-- src/data/item_icon_table.h | 2 +- 5 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 graphics/items/icon_palettes/clear_amulet.pal create mode 100644 graphics/items/icons/clear_amulet.png diff --git a/graphics/items/icon_palettes/clear_amulet.pal b/graphics/items/icon_palettes/clear_amulet.pal new file mode 100644 index 0000000000..cadb9a6e06 --- /dev/null +++ b/graphics/items/icon_palettes/clear_amulet.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 148 +86 46 12 +0 0 0 +231 114 114 +164 57 65 +179 83 91 +245 211 240 +234 173 227 +255 255 255 +239 218 139 +225 187 43 +127 97 27 +203 178 239 +140 200 244 +203 248 255 +150 240 255 diff --git a/graphics/items/icons/clear_amulet.png b/graphics/items/icons/clear_amulet.png new file mode 100644 index 0000000000000000000000000000000000000000..2e11a05107ecc12fbf2a8803471c3dc3c70187b6 GIT binary patch literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w_7YEDSN7*@Qp`g9b87@{0fod% zTq8yCD;tM^ zh?!X#XVV7BUfI?uQ?4om9rDxS;_-Qvz_)l}mk={^u&|5M$KISs&u#?OYw{_ZM_&(m90Wa6ECU9 zYTon?63{pJyF>fxjfE_Q441oi3-tz=F$cew?R4FsknqY Date: Tue, 27 Jun 2023 01:04:19 +0200 Subject: [PATCH 030/256] Gender differences sprites, part 1 (#3070) * Added some gender difference sprites Added sprites for: - Pikachu/Raichu - Doduo/Dodrio - Goldeen/Seaking - Xatu - Politoed - Meditite/Medicham - Gible/Gabite/Garchomp NOTE: I had to tweak Doduo's palette file because it wasn't matching the normal one and a result Doduo's beak looked weird. * Swapped Pikachu sprites Replaced them with the ones provided by CyanSixFour because they looked better than the ones that I had. * Added Gloom and Vileplume * Fixed Pikachu forms Edited the macros so that only base Pikachu would show different forms based on gender. Big thanks to AsparagusEduardo for helping with this. * Swapped a few more sprites Replaced Goldeen (female back), Politoad (female back), Medicham (female all) sprites with those provided by CyanSixFour because they looked better. Also tweaked my male Meditite back --- graphics/pokemon/dodrio/anim_front.png | Bin 1624 -> 1581 bytes graphics/pokemon/dodrio/anim_frontf.png | Bin 0 -> 1584 bytes graphics/pokemon/dodrio/back.png | Bin 849 -> 790 bytes graphics/pokemon/dodrio/backf.png | Bin 0 -> 860 bytes graphics/pokemon/doduo/anim_frontf.png | Bin 0 -> 910 bytes graphics/pokemon/doduo/back.png | Bin 590 -> 546 bytes graphics/pokemon/doduo/backf.png | Bin 0 -> 563 bytes graphics/pokemon/doduo/shiny.pal | 4 +-- graphics/pokemon/gabite/anim_frontf.png | Bin 0 -> 1459 bytes graphics/pokemon/gabite/backf.png | Bin 0 -> 686 bytes graphics/pokemon/garchomp/anim_frontf.png | Bin 0 -> 1592 bytes graphics/pokemon/gible/anim_frontf.png | Bin 0 -> 968 bytes graphics/pokemon/gible/backf.png | Bin 0 -> 581 bytes graphics/pokemon/gloom/anim_frontf.png | Bin 0 -> 1001 bytes graphics/pokemon/gloom/backf.png | Bin 0 -> 668 bytes graphics/pokemon/goldeen/anim_frontf.png | Bin 0 -> 971 bytes graphics/pokemon/goldeen/backf.png | Bin 0 -> 662 bytes graphics/pokemon/medicham/anim_frontf.png | Bin 0 -> 1153 bytes graphics/pokemon/medicham/backf.png | Bin 0 -> 678 bytes graphics/pokemon/meditite/anim_front.png | Bin 794 -> 767 bytes graphics/pokemon/meditite/anim_frontf.png | Bin 0 -> 754 bytes graphics/pokemon/meditite/back.png | Bin 638 -> 596 bytes graphics/pokemon/meditite/backf.png | Bin 0 -> 598 bytes graphics/pokemon/pikachu/anim_frontf.png | Bin 0 -> 950 bytes graphics/pokemon/pikachu/backf.png | Bin 0 -> 625 bytes graphics/pokemon/politoed/anim_frontf.png | Bin 0 -> 1063 bytes graphics/pokemon/politoed/backf.png | Bin 0 -> 524 bytes graphics/pokemon/raichu/anim_frontf.png | Bin 0 -> 1381 bytes graphics/pokemon/seaking/anim_frontf.png | Bin 0 -> 1509 bytes graphics/pokemon/seaking/backf.png | Bin 0 -> 857 bytes graphics/pokemon/vileplume/anim_frontf.png | Bin 0 -> 929 bytes graphics/pokemon/vileplume/backf.png | Bin 0 -> 807 bytes graphics/pokemon/xatu/anim_front.png | Bin 1094 -> 1064 bytes graphics/pokemon/xatu/anim_frontf.png | Bin 0 -> 1054 bytes include/graphics.h | 27 ++++++++++++++++ src/data/graphics/pokemon.h | 27 ++++++++++++++++ src/data/pokemon/species_info.h | 28 ++++++++++++---- src/data/pokemon_graphics/back_pic_table.h | 16 ++++++++++ src/data/pokemon_graphics/front_pic_table.h | 16 ++++++++++ src/data/pokemon_graphics/palette_table.h | 18 ++++++++++- .../pokemon_graphics/shiny_palette_table.h | 16 ++++++++++ src/pokemon_icon.c | 30 ++++++++++++++++++ 42 files changed, 173 insertions(+), 9 deletions(-) create mode 100644 graphics/pokemon/dodrio/anim_frontf.png create mode 100644 graphics/pokemon/dodrio/backf.png create mode 100644 graphics/pokemon/doduo/anim_frontf.png create mode 100644 graphics/pokemon/doduo/backf.png create mode 100644 graphics/pokemon/gabite/anim_frontf.png create mode 100644 graphics/pokemon/gabite/backf.png create mode 100644 graphics/pokemon/garchomp/anim_frontf.png create mode 100644 graphics/pokemon/gible/anim_frontf.png create mode 100644 graphics/pokemon/gible/backf.png create mode 100644 graphics/pokemon/gloom/anim_frontf.png create mode 100644 graphics/pokemon/gloom/backf.png create mode 100644 graphics/pokemon/goldeen/anim_frontf.png create mode 100644 graphics/pokemon/goldeen/backf.png create mode 100644 graphics/pokemon/medicham/anim_frontf.png create mode 100644 graphics/pokemon/medicham/backf.png create mode 100644 graphics/pokemon/meditite/anim_frontf.png create mode 100644 graphics/pokemon/meditite/backf.png create mode 100644 graphics/pokemon/pikachu/anim_frontf.png create mode 100644 graphics/pokemon/pikachu/backf.png create mode 100644 graphics/pokemon/politoed/anim_frontf.png create mode 100644 graphics/pokemon/politoed/backf.png create mode 100644 graphics/pokemon/raichu/anim_frontf.png create mode 100644 graphics/pokemon/seaking/anim_frontf.png create mode 100644 graphics/pokemon/seaking/backf.png create mode 100644 graphics/pokemon/vileplume/anim_frontf.png create mode 100644 graphics/pokemon/vileplume/backf.png create mode 100644 graphics/pokemon/xatu/anim_frontf.png diff --git a/graphics/pokemon/dodrio/anim_front.png b/graphics/pokemon/dodrio/anim_front.png index cfda98021e790cbf25e8a00805234aa626a58aac..5c970bf8e01676b86121cb9e00aaee003c2ea2dd 100644 GIT binary patch delta 1504 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 delta 766 zcmVpF2XskIMF-~w2LdoGI~cg<2F0y$)e)sXnBO(84a30(T=)?9Mf`706f}rRCKjCWoCm^84 zBiisYi^Cv{ktIqX5w5x%i)&L4a^up#66V{*e+=xHrCU=7&cmghIW~u(-43wC(gbL8 z(&HME@RJRo1Q$CJH?O1pQZ(V*Nx?x?2Yu1wO`y$A2)G18BktK&tk9QgX~;019rXJzdRAm|p5358dxNXB|41o_yC7_fr z64C%U;bJ`in5}SD?IK9I04NA6A%g*6E1anvhoTjbVt-uW-y0!affXvp8bydShmuvj zfIkA9IclC0mQ{8^Issr$7LB<|;j$I~wE zB~tA8<9~Uujl{>v+D<)hPGoToZYklT2k1IVfN$DkO_ zc-B9Apu1Yf+We$WB8_#|qgL0Er`Y~B8;Ll*kSRbn?l+5gQUv`xZEr7{HG!YlsK>RR zv|21D1>p{Gwx}MhD);h*rR~Npb6)&I5@QZ2@ptj5BuKH&N4`9c&4I(-Z~Nd~>tXM< zT9z0F+aL+~4Pf-$a)1}35MM^k8w>1{tb1RS%%=du%2oX}Q7V{tyxqc1Vo&3H07}H| w=q+Yq3UGZ-!1x)z#RbepG6JIafd4*z0UPZYP`}ozQUCw|07*qoM6N<$g1eMsYXATM diff --git a/graphics/pokemon/dodrio/backf.png b/graphics/pokemon/dodrio/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1f5bcf51de9dff7ba8d98d29ae15a975181279 GIT binary patch literal 860 zcmV-i1Ec(jP)Px#1ZP1_K>z@;j|==^1poj5Fi=cXMVQc_KtMnc5Dpg^!tQ1F1DuuxF&fS~xu;B@?%CjbBd32;bRa{vGi!vFvd!vV){sAK>D0<}p* zK~zY`wUobZ+b|Hu2?7MX+I|6vkPAcI+!t_#lZH%!Kq^4SKqfl3Lsz4doiUS@QIoB) zPuL?VN|e+(Lt8GE?|%I5!oPIx|4!~s!q+d87~su*$$KfGNryWlWn2S1XC3Nd@CRLq)(j*CKcx4 zv3v-FIe;dt0Ho@`CoRVs8lYf@I?(mZgziw(0a;e8XEl}`pqmAdhr1boQy2oDHL)S# z%!F>SEwM7YHmkA9i8GlXF$Fk}(tW=QB!X^RU0NkV!LSUi;R7F(NX0*G`9s?T;{9i0bW{@C%g;2SwOmc+U1=@iZ}lJ<}D*} zd9pE~r|pF--h!bdd~^WaL<#V1dp^<@W89VKfw*A--Zp-{&=z~m5(_*vKYO4%TIZww zq*fx0o9>PpT}xhK^Q{*Wae5_FfNt$Ki+EB5eVn$#i)KvVPpsABqYD}>mXm^T3s_sU z8O|E6!6QzQQ$Ke!q5(gUJ15hGvM{h9`Q-C-31n^G5 m_$@AAHj)t#y$Af~LC7x~?HEuCJ5Ln=0000!EV|>5QY~d$KeK8s7g=4t{(tz=?f$eU>S{qx%GgQ+(;wKTC0a%O3yhU zYTqr3eStheU#qigLV~@!NWGRlAjJHPcm5skH-wy*c6Cm~U1wm9Q%a4BPq(P(pAt;< z@vex|i9SUK!{E_SE4Y|Zx|~s8E3oc>&WC|M!#3lyLEwf>?}qi4Ud}l$UAOrJXAnql zdIjeRKugf|ZtKE|3g9lq3}Lf&EMEKu_+h=2F0{64qgXDbGJmIYL z!1W>JB?`tInm#hlBWYfe4#K3$p6n!8mpNC_@q+_p3~xZO9?5_vq?6a_9zLfN@_Z zuw1zU?R#ZKBJO$mo|h>C!%JcLA_J`S0<_eHcw>0^t*a5SOag*`xAM@G0;91>V4o5& z+yFBO(j05dbakd_nr}nw5sje7v+XY5kk*Uyy4JsTYy%recF7O5VEua;l0{YUYN-^! zdcGu=4~*v}sGk8=NG|Um%C*tS`7$&L@I;AqX6Bi@C%N12TpPLDnKz>% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/doduo/back.png b/graphics/pokemon/doduo/back.png index be54504deb732851e7e065fb04f911d9873390d3..dc2b09bc9e5009854f13d4fcd200f571d0af1a2d 100644 GIT binary patch delta 180 zcmX@dvWR7ZSN)9>9Slf7u2i^%fq`+Yr;B5V$ML6AH~JrP5IN>OnLBaw4ZahX>`v*e zt#>Sb=l)buD7}1In}+dj?RQ6R+!c6i|J<|st!(Ym!mH*1m)=i*f48<=f9sn65zW*2 z9&BZnc(a=)EVrxn&)vOSPhQtsaHaSn(+Fdh= zoQ<8yz%W8?oeBd3<3>*x#}JR>Pp59oJ7gfx=B&cK(bPn8MavYKM19Zs3Pt6Ui{`$# zF;~@T?GfverPixveSaXRb!FlEpy@|Cef3;oZ|g~OocjOL{`YqOjcfi#G*9Pyu$5Wj z%`Tp>+^*U`clT{Qd0lV8mEwy`I|QG9w>VKg@w6J_?TMe-IMijDYNGXv@+UVi_K8UD VZOInTC>H?vz|+;wWt~$(696INTC)HE diff --git a/graphics/pokemon/doduo/backf.png b/graphics/pokemon/doduo/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0ad49e509a02afbe7c9e60f359ed7dbce5f7f2 GIT binary patch literal 563 zcmV-30?hr1P)m_6k*f zxf&8DHZhI5wl`$R|LH&bw=W^&KUU|t0eEcyI=d!=#W}?~KGU~z@|6Q9^o*YY9G|g! z>|{IAHuh*S#=ILG?m1nXJSFh2yf&Q%or81{OP% zW)Z=W;R+CHL^Mew0OT@R1|E2!YS9;f)Pn1Jw2*Gb&Ql1 z$xl>ZuAK8s0%!)x*dSUMfv5yPnUeY5;NWIy`F6D@b&JdFeJN*|Dge3#VlSUE*@bSa zR50D-!0>Co%8JFcx78|R3Al(@j(Zj5Lz+ZY4&@-kFQg}RlHU*1KP|{FMg&OvFkJLj z$odU$*)w`ID%ZFEr1$2fi1Qvlvz0Cs}` z1l^wvAehzw%>c&!r~#<;pn8jX4+_5p@Gt&JzX24;i2buFY~%m{002ovPDHLkV1k+X B@R0xj literal 0 HcmV?d00001 diff --git a/graphics/pokemon/doduo/shiny.pal b/graphics/pokemon/doduo/shiny.pal index 5afafcf4f1..40d0d1146b 100644 --- a/graphics/pokemon/doduo/shiny.pal +++ b/graphics/pokemon/doduo/shiny.pal @@ -12,8 +12,8 @@ JASC-PAL 96 96 96 160 152 72 232 224 168 -192 88 88 -64 64 56 216 200 136 0 0 0 0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/gabite/anim_frontf.png b/graphics/pokemon/gabite/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcc771020574aa000da5804e8407548a221d546 GIT binary patch literal 1459 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 T8kc;^00000NkvXXu0mjfXxI6& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/gloom/anim_frontf.png b/graphics/pokemon/gloom/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..00203a39230da7b23d79531e08ca0d7cf767c207 GIT binary patch literal 1001 zcmVw7|nA^tWr4;5D@>pLH~0A@aVY3b192C7)ok;5HU)7gQT=t#hj$gxiL;_000AY zNklF>4z!6o8fCARHcQlRsb)|Ap>x)y{|EId$AlZO&eq!^mklQEac zi+$9)r?VkTC!f0o3bFP;!_9$E=#%2cI-SpjP96M)!{mK>dM8DvkC1Krud$PTvN@ll z`3*!io6BcuK0VJ^wp=UGv=TcX7<C8KK4X|yj}r$0zM8}4Zmrp+>_Fz_^92IF2KY;WvZrqtEAF#m zfs8nJG~gIKuSECQ$wxUykrpt&0&L!L2&{k{r3J6YTUrZpwxaJ%7OMl zjEM!+bRblttB{(<-Ew3fDTLf^cxW_C1JqDhyG$yxEDa(BNRZpu#y0+c!LUdDgkZ$- z!&<9v3WlEd-5S3z1VeWezv1$xDHxi9*nA1Z1jF_}f?@kBKk(}~01UzKwR_K3 zzaTCcnt>=gz?Fy#244w=ty&&788iLWQ8+Ui3*3<<9E{p;Q40OTh86Q)h z55S5E#<4NO0Keud!Kn0H*D>ut7Yysrt+nEgq5vWO2!>VWtu>b~8i^=c)DLw72@`@a7Zc4uLNQKUX|rJZXdsIq3E-7GLj$=}27+@<)|`#m zGz@Q)fdl}~+Pi-$ew??_MaC&dPYTATc94GmOToBDV4Qk-<-OgOf{_ZKV6-;~MrMYB z(M}hPa4!9!Q%##fZWaP(*kr0dTmjiV3pV%z*4{mZ>PCOqJ;hzwUJeXn9KE36oQD?qu{*+qnivx zn1oxiR9DE7DeWgH_g(s);y-fI>sUJ68;qj&%X?3<9p^Fr*C6Ed?|Di`FOGJfN-Gb+ z4nY>>@H`=>Pw0sB=*aWhMV>{2DdZv3rLUq-1j-Cs;%mfQ%u{+13L(an5)#_r%K#p) zp*p1=1m?-PHAg3cA1Bwi?c<2y2v+H53%oM`wnK9UI>8EQQ$h+@zkCb3UAP1oaR|#Z zt4ASbj`IOF!ye{A`0$7Z7D#dj%Z6q=LV5^D-vZEMVn%!)MF@s%uoNOOpi86l`VA~D z+Q5a&VF)JlJWU?}voQivf5(CN^5QLmFyN7@tV{&FrVL%|W1+z=Q z6doxffC85?6RHw!hEw?c3V43VB>BjE6o4f>c<3Sv+%)avXT^p>!PpUWjj*7rZ9PPmKur;*lOUJ_7aF>_ z*LEs2q|Vr(vE`{5Iyfzb%>5OCuK5FnxbGxemK?<@bZ9AlUi4$Sk0YDAaaB*@nyieV6IPd2P7#$)K-mV*AnGY%Nof6T{<1^3m z4tE_#G<3eHpGs}G@4TTg+6C+pFgoVkfpE)iskFY29ezrG3igD6v&oPeuAvoF@mUT+!J|v@xF<)7Qc$FNPK1If`hw3p6Z~@GlD97;6eGkT5>k1gt15uL>{5+`oQJo z1r)y*o74%$yoqFgXiCTz-%~A!9*rTWo+KXJhl$R6rj<%RM2VpZtO7E>-yg14-7(uq6MZM z1!(a)+Os@1XdWXz1OeNqbR&Re#sHO$Dk|9-;Hp#t#-@-J8E8wGpJ&o_fWqH0=I6!j zU|s`)VE)QwD0kz_T)tn*ZkDaQf!y^qzm9eMoyaLE0+ON+bcLiCND7dt5Kvg5In|=L zag9Vm_(O)=0l-R}#rKDdAq2xn1Ok894g^C>77XDJs|5oqGr=&^1Ot`d5DY0zFrvLk z6bwySEf`v~&?LdwLM25o%!ZOC7>kp0lVB(*f-x`iX2IA=6AVZZ3@Zxwg3*86jS5B+ zg2z`>FkZ6WLNE+A+w4#<9&zp+^%jCL^9MT=j0S)G%CwgRLnnWj3kKeHK4|C@p literal 0 HcmV?d00001 diff --git a/graphics/pokemon/goldeen/backf.png b/graphics/pokemon/goldeen/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..4ffefc3168bd20e7d30077ced0476769e358beac GIT binary patch literal 662 zcmV;H0%`q;P)BjU5C?FX4jQspu7r{?XD_WOgnH;~=ZsA@fet~&(29;yv8r|~1ov>a zcFNcxAOwYOHth%L*Xh0YBui}^yK5nDy`S!X@1DVy^>F_4^Y}o$^W_le9{?v$&h~@% zupihr2f^n(V00$nrh9Mw5%iCKoa_Pa1RP#DtNRwvbrA;4%edSPdVNHkGjsfUcSsLR zo#U(1oe2o0zKr4N&s_@;z`8*^8S?kLU~K}Har_d8{OL~p=p$mGzn4*m+`g*gbQ}Tf znhB+j7vJ8r>O?L$)`s1SEx_l$lI`$eNWlcU>r^MOOrXHC227_EA)GGE2r{Gs=TPse z<%XA`ojJol(GIE;1%Im-Q^0Z32c&d16YCF3&&L* z^bgaQEwTco0E*IS;OV;n3=pM7CnCCR0oi&$?-UrAZQJBEU`m;6Jt9X%C~z(vyo@dj z4GJdmq(elJ8bJY-kx4{Z$Tj8Ml0I4RR?XM|D(h2$JV!7s5{V$y;tvreHcqsd={2-l wXc1ZVLJL2sKvOqkBvvl%Ax|FuQ~vq<2Kja>RLt%p{Qv*}07*qoM6N<$f_kMcMgRZ+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/medicham/anim_frontf.png b/graphics/pokemon/medicham/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..29940c980e4498ccc27abf7bab6a0424bf65d3ee GIT binary patch literal 1153 zcmV-{1b+L8P)=%4lUoKHz_L2HTPV>2!6pIwBrFaOb`RaMQ&s0=a1$CX)e^ugOzFI*a7G95C&> zi(}%y3`LqUz%cGso1fvAAr>JHW&3QuIQagz-BA2=m<*Vw-15K50Yo1TAYgu99B|$H zl!^$*XXk-B6$EOQcKJfkVIe-}-J#w6V8aNS`!))g*vR=J3~09#1sm9@br_ZtN?>4!+yO_$Y*1f^A0jJXN%w6aAn8czS*6+p4xhl-@g0bmoQA z-+SSyBFJCyv%}~b>|$Yp<3AW2V_{0xibHni1d1``ciL+>ciai!AnU8f$=FS81yCFg zQvjIez>jX4PE-JQ00Ap8A#2tN2jnrPar}gMmJ0$E0a#Ww;ehl-uZ-g-iDkK!3IG&- z9rN{~#XTfaz_f%FE$-o>{5Yxt$iBuy`Gu(p2iz`>f#WhUuBriMXTYT)aNda7S*Ats z(($Ils&!#Y7^|n26KZDCk`6F+fPsy7Yz2)tFv^~0w!g0#{sp1|%%*1en#QroT$!j{+z_*0A#@zMU2c;KC^q-4xL1QL{HI>{mk zaR30dGS?@!LZL6@$AF%%j&5CLi(s1Qd8s+M$}m`M^lkUx@e8J?b)Tz;o~rZOy)V>& z`AuoCtGrUTmp|qXPyhnx_9wnj7d{*WheBO|gjr*uP#1Cu5`I=#GZK@Xv>P>$oulW_u2JjfM*VxxVlkJ~Z23 z0WJ*i;ZKrFE+jA(R$?wNtYQiQgETuEH_bMm5CPiIfE156<%>1+2W$eFNj(;%>yo~09gfokx zw?lyY9%l1F;2pp$90CB>5Wueg8E^xDu|GtNp@L|Lco9_a7}?EosEr{n0%(Z~JFxft zz}|@i``1b#QCXeDI1(CI#izhtH7lsb^l>C}@wpF7Ti_cU$cvSf@@r4TNn2nIKwjKS zxsrLWi4IWLaF{p1%_{3Pp@A{Lf`E_774NyAfps(0dzsyQ344H0&p99*A>hURK~x&Z zf+`$InVnARmChkKM;m0)2ZBADY9J(^_qNTs^j*zjrdd}uqn4&vl&9wI~1tPa{Jv}=%zf9Kv@c5lt?!v zW>}WHJ2)&t<7PpiD0jE`=Zy@9p;t`msX8`sIGE1U1nM7ZdE1_r(ZY1v|15v)pgT^Z zvno9N?eeY@z#P8m#(8?9fyeV49KWt6pw~G-7fuC#fwN2W1bD9U4^>EL5Ri+0oB#j- M07*qoM6N<$f{L6yF8}}l literal 0 HcmV?d00001 diff --git a/graphics/pokemon/meditite/anim_front.png b/graphics/pokemon/meditite/anim_front.png index 162ebf20d4be16b2ec056b2e44d8b72482219d29..3702442070851918b9f3ba565b1a23148f6ce629 100644 GIT binary patch delta 684 zcmV;d0#p5(2LA<+Uw;CMNklF>ljA6o4HsUU3{1iJ@|yodnV;JqxKt47N`& zz(UnO&{Aa%VK|a(ER`6O0i83ECF*ta5+$A3*_i3l8GZwIp^04b&XJH141S6t$M@y# z-SeIAGmIks*C@GL04Lf4RQ9)w5Cr*SI04B8Y!Z{m&1;uHpnoSygaqycO@dYk^2~hd zF9E86xUvb9s2?7;2n}CVXay~W?eEk=N^7-Gb1vvB1%IZ$9ah?Ipq&bt{UtWLv`mDW7aFFzeSs?u| zXR;PgufGQ`KTCjJB=6H~4#3BRbxg8*LulDxZ1jYucV`L^^N$Q4~Ssg^#@Ea zvi^VyMt{~HP{GLfgM|r(@`vjm${#HD_5cwKF>ljA6oB1ZJSVn_#8A10vzo)9e>qC*uqU+iNO+(6;Sz*T>_CHJZWGWzI16=(gBTNw-QoXsYKMl zZU(SXqqz%#dw+Ze?ZB0Qy`Jwr=uuKVF2l(Z2&wnh>!!bd-tPu<|5VPY9kk0KjqHBy zJY7IspCLe>UVZuev_m}rZx|0Q(m?Wl&MeD+a{HCM_$UixSMj?fT?6njW?h8$?l3J| zjEx@iWW5o97QbX5M^vt{IUhxkX%yysEC6cvg?s?rkADF*z7R65Ie`8jV*?C@n3>Yc zcsQP4?4#Y$Y9Pqe$ z+5s5c7y<4#AK@#`7kU64@JZwxan2`(PEjpz@DY!}I0-xOG3n(^S^_lp6@((XaACMsdMkhM{+&NC_Th&=bPaj2@`q_pdoN%2 z>Oulg7dJvz2bx#UphUw?G~^3CATRFyQdt>9tU&Dq5+Y9wQU;OetMnD13?ea%!dItO t8H8z6KLN8rAeBOS2C+P|g+ctK_zr*p2SO-@R+j((002ovPDHLkV1jvnH-rEH diff --git a/graphics/pokemon/meditite/anim_frontf.png b/graphics/pokemon/meditite/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..820cc8513b9bc491490496f72a79482a738506e5 GIT binary patch literal 754 zcmVF>ljA6oB1ZJSVn_#8A1DxFE0UNCU!6;@KPZ1J18L91{jubegjY?5K2SP z?%@9d9PKzAf7L|T!cAR?!4i-aQ2CHu0+Ap*Xi^JMAX4<2Cz}1 zxeI}Nd^{JQavui$r1>u_txvCzklBE26X>a&Z!-=%OQ>Ie(gM6KwO_8 zK%ZWH`TVp)JpgYQ4=&O`@_x=N%YSnFmAv>U3uIUEyChu$@G)jxg!k?+EnAF@9`j_q z5r7uIWFSXWuCX~EMUZI}=6oywYWIbF0NsxPHNFrst~r4IA7cXyg_xPr%Xm1RU*w$& zbjbNA@8kr8^OpJe+U&KQHMz%3`GJ_als*%J>312-*dzctm=4553movcdfEXP+!z7w zHy`0E&KG(B9q>uy9C6MkhE7o}aPSe2!8i#!@GaACMsdMkhM{+&NC_Th&=bPaj2@`q_pdoN%2>Oulg7dJvz z2bx#UphUw?G~^3CATRFyQdt>9tnCC6B2Nrb29fBi^cA2CA~B4@SEp7PglSYi0kc6M kl|p$2u{^VdLHwoo4uAm%LMVn-mjD0&07*qoM6N<$g2UQO5C8xG literal 0 HcmV?d00001 diff --git a/graphics/pokemon/meditite/back.png b/graphics/pokemon/meditite/back.png index e2b8178fb1986bac97583e49a9ebf1003237df88..9fac7c1834778f1f26c9f6d2efceb06bafabd6e1 100644 GIT binary patch delta 511 zcmV}LMnN(E;R(~PT2}`A1r)B9JsFdr; zK!jCPuB4Psz!0k+8=tr_cR|WZ%8r2fz$OJ{tf)-IN?4Y*C3a4f&C%|i^`fDi-z?V~Y?8?^BhD)8_9Hd0D=;VNK$4IqE2M(d*k zo-Cm<=AAiVGrL>upreYSI=kxw49#uK;x|J~^>eG#^?0AwYnGuczHSY%vqZXTU&iB% z>qn!oWmByWLLbL@xV9FFk!ud(I3DN2V#Ya#g|eTEz__LdaAKN(}!*q>M` z0o`r0(Xad9d6;&<($x973rS$-v2@e^{@41~cn2c9!u7k;Q;Glp002ovPDHLkV1j%z B^A`XB delta 554 zcmV+_0@eN01pWk&Uw;4za7bBm000id000id0mpBsWB>pF2XskIMF-~w2M7=#s=Y6w z0005uNkl4O*3!jFKE^Fo#8j3_ zX1eJFpN?k-ik+CC8`yYKqA2gD|NHy-#UbQ7z9!DjKLMuePk#i|O*#s&60%VN&Owg3 zV88*``AA*@j1XwR0%gTMFi=$$w+bJvWLlQ40+ebUZ-G)yz!EVDu2iK|N5p`$sZyod zbiiUzgNh6m2+TWR*#~H*a)7Jr*F1pitu%A~B%Ja;HX-o~3h)8G2zx=f1Ncb*l-f*u z0NBI_7}^XZsDI>vf_+%b10XEHWrp`j2yhPoHy4HPfkW;Cxm}S55X@#CP(UBZ+)E$8 z5J9V<$nEN0`{2+t+zck(JIQk^)8BHM%eNW@>s26RijsvFK&Bi?KW9I{U scfbmLJ|pd75~8cIa^3#^YyEG$08?tjX~+;j-T(jq07*qoM6N<$g2L?nwEzGB diff --git a/graphics/pokemon/meditite/backf.png b/graphics/pokemon/meditite/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f37ccd64888f00c303a812887ff47ae0d8d67f GIT binary patch literal 598 zcmV-c0;&CpP)4O*3!jFKE^Fo#8j3_X1eJF zpN?k-ik+CC8`yYKqA2gD|NHy-#UbQ7z9!DjKLMuePXyFWIts87vQYufL5{g#zya9# zNL~Vr5NN;xWyL-)P*oMT3LmXxT9&Q?lxiJsfl^Mu5-|y`RHal$#DKG@Ql;8-z+zB? ziVPMA%sXJ&2WX~pfUE1*Jb>)2G;{tWobo?5A@K_e@BzLEdqKGa_(=ei+Dv=^*u)1I z+6*M9R$Wc&@|i(Cf+;Ab1T!|a+=Gx8U^cBAY_Y|IGHE}2N4J)`y|DgkZ*Y+!aSk-I<-^d zY6~%(H`?A~k)#ne9wGxv|K4ti)}{-mP6Hs}>ZfjuIXd9M5;~>6ja=Hy?$S8us0pdl z-@!}?d@a)C8Ht&BY_-1l(}t}S)_mO}v9rYVru{ekdXoAc6}EI{%t4ytFwZY+i3!Rz z2YDO_BzMa>V~j7+q7adG%?{u`tyQg~#{)HoZY!F{y^aH>+s(#2?PKQydUwDIeLn4C k5~8cIa^3#^YyEG$08?tjX~+;j-T(jq07*qoM6N<$f|I)sh5!Hn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/pikachu/anim_frontf.png b/graphics/pokemon/pikachu/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..c911e36cb31d4ca948395141227b59380eb22eba GIT binary patch literal 950 zcmV;n14;aeP)zi--55XbEzSs87Rfw6Vd%!yh;hc1ce(y10bo1p_#@`I_8Ma&U(LJ^q! z1r=k5{t1~fXJhV`wSPzN`I#j69iXTyPXZb4!@YYyxbN36_T!nu+y#{F{{~*|D8bta zync9o;c>uWd-doYwwP?@M>x*otyb%d0U!s&7XoY^u!JxKVwON?L<7Y20%wSLab_C_ z*wui}^Mx+1$o1Q?A%i|1W2#&M&m^*JZ;u5|2`i(FX6%S)N zd7ry6s0iBY5_Gv+i;|e4Jd8%00S=HhcudP18s?M(YM3ej?fU8h7l0AUBq3Jj(<`RP zx&o3ksn4&N1V)we6EecYnX`ZND*ZlADF^t~9=pmu{U>Vl0^bx&3JXV6A-xjHzyWT4 zNs1-9qYlWd^>?&f)7cB#e(VP`#E!Uy-R%IQ+s_8J&mm=Zwq9ph0}46H zUSS3-h=198sR8jia8xiF1z9e8!FIqrd?IsJsLdc<*dyS1pp4FXm;Jo@JsGtly<0a{ zfasG?d!x7e1_bk&=t`e<(K-iT@54YY3`auxv~!me&HkmdX^AY~i5NYw(#zb(IksWC zaH8L#%go1(Px3_-R}rlwE%OboUS;o>GJ2Tw9GgjC^v;yg!=xi7&Q$OB&7&|gdZcjD*0op1) zWP+*yazbr;gX}JI>Ge6;eL5JRI+$(;A`ltU*#JC9zXI&d<{{Vs)Djt*=0KaXX^CG2 zazO132BV3IZN6<{9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/pikachu/backf.png b/graphics/pokemon/pikachu/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..f2886341336e9e1b5f3fe467eb12e87f448ef0ca GIT binary patch literal 625 zcmV-%0*?KOP)Y>iKmY&$epYV60005} zNklWed1#7gn#gsBh#0_+*~a z7EUS3t@eUI`|5_Rz$XtwKsEsIYWo{7;ymvG zIB$V4Ke@}dT=J~}08Tx+lgE=L5&#j?!Tq+LA{Uy704x*Zk8|xEkf=L+1daso#cQl) z&PDyAhjUQiSqS+U01_xM-p@kYA{opktv6 z$b`V_3gAFYf^jX0O6ovCUC!T(1mg*)wuV(Rep|nzgGbP`xLF1DtR$u_aBM=V=UT#h zYk?O7m<}0i+>STh0djqE{lfHQF)JwWX^u+R`1Xkf*nF`rvGU0{Jbf{TnEn7T zPp?l(feojJN)sU^tnW{2L}hC;?Hv1q0?I>oFHDQ@-E%3M5=mpmt)qBz8&b1dO>p`r~>XnrZcP+0K)Q#zzn*L2E~|Z>rl0e6|<;Al9;fvE0vLGh<&G$ zp#)bM6j637oeycKW6BVjQwgKY>}4ha?v$9Q+>rpT0J|wmve{|RPhd_ZdVndXKu@8Z z;ySf+^c2bvb`+>$Cj~Aw{qUR^p1qN-f|ppp*^O~S$JhHm^c(&LnP?f4zjBQ@00000 LNkvXXu0mjfaNQOr literal 0 HcmV?d00001 diff --git a/graphics/pokemon/politoed/anim_frontf.png b/graphics/pokemon/politoed/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..88c007e8a91d904ea5d49cf26dac7254c8699218 GIT binary patch literal 1063 zcmV+?1laqDP)4e-6o4m;sccMwU~BRRHqOO6&6?)s+(HO}y>%N)+0?STKEY@cBq{s> z_6kC(KrDhAY!0!w;aaO;5krcc`vU}tZ+184F85~EQgDjnlK0(vGjE3ZhOvKcOwH89 zXXow2%z~J|W&>s&CT`j)Ea1m2OA5ZgW*E1m;Iml32C&8XxtbcnLBOeLRxQBiEJ4`` zY`_&6MG%;Q>HAR>twUe}rXEHb*xvFDz?_ap&%~S9kYKY&5O21&=ygstpW+lD7HnhtO5c(wxWSSo_{-gAG3r0*b4iDgCoZCBA);F2{G0iEyGnl#J^Ya zVtjlDu&4UH(G)AW`izw_9nYi(;2yZ+DO?3>%$FGsDRG@{J`OPc1sjwmvKRihg%X4hP}&;#^L3;)H4XvP^sSKy~LlrR4UgXwsYglGBmrzIHGI$;u1;_U zK7DG#4SgcM8`i)=NLKZUIM$t@=J0Smm3qHB3-)?OsTI6L7th_x2M*g{j+x zyf^P`8IJUg0)Up-Ht2s2^z#D5-If7pruvQsf2RfXB*W4=sdz=Zn`5Y8(s1$~E!>?x zQoSlmOu3u6cn=?G{~vyhE$$Bdd*6N;++FA&-F^1cLL9#?jpG^P&002ovPDHLkV1h)41sMPU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/politoed/backf.png b/graphics/pokemon/politoed/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..80bbd233f4cf5fca8a39a9685c770da449a58814 GIT binary patch literal 524 zcmV+n0`vWeP)r0004( zNklAzSI|F`pEw3cUKEo+dvY`<`&pg0KPj+0m}2z2wcd! z446%3=yZA449FlhBLKV1Vg`!jjLRy>Ccpwt0t|rc(jo#-BRmZVJ5C&%?NRs#n~5mh%Wu5DH4)P!X$a8@c0OVdcy(Z~@sk1w9jtZRlGe`0Aw;zhk+gy` zKBAXh_iBv{@E|XPH$4YS6kq}vY9(M*!`BgNMf4QlF>_GM5h;M5y=VYKRm12AP*h6P zSW4YWNAd0_a@tFxiO;{W=aRr;>)G&sv`a*CTfFpo>X7)`q0o9$< z2D!P<>2-l4`=q^5I^gMVm^w&5)RskGIKGVi8%ILPtlt7DlcpjkZ$V;LE1#n7Dz~l2-jV6$>xIN24H=7GFZe zrblDi%-ZldE-fFf?3k8q zmsI|6Aq0HPe*eA!z$}t@-wW+vjPEg4Fg6Ulls6Dcx`6EiNqY~oA@Cv8%kH>A+(a8I zO$^XsD0ss5Lr9PCle5|EW7~-WUI>Yf|K#isY};QQqEb2lXov#)l6j2x&axEPILK%v zzl(+T!^AoRv<`a<+uFFVX~Du;sMk19K5emi_}XgX-$Dzg*lrgsm{y4p2H+#wlNl`C zghd+w^1KVs=KLNk%_IQqMOHfdy%!uHp%-NU3z5RTUXOP`!fU(g0rD;dp0N%NPz+$x zojULFE}Wyt?n-(oQ&5K#(Ge(6<0-co@N5h~)!H2v;!OrThYWE*W+6Uj0E8fo2#~DN zpsPqa_kqC}AX6ag1AEN|y1cv$2>J?l)=|p^=$9Zzmlwtde};RJiyvVQ{0bR}p(FWq zBGmHGazqH}emH^-Ud4`&d&6NrcY1J2NZ%NZ(2Y_2 z$dq%#pfw8w7v}M>Tft@93{yGx? z1v@&Q^z?+I{?-nkblectGxYdo>7-lVzAXxvFRKN9lxvy@kk!0R0Z@$dZ()Bl+Ec^`rw|}~&rzy;|4wPvf(5YQ=gx?R}OA zC!H`0Dp%`P+O32w2<}#BJ7&>ZLy2(#pEQom$H?i>58(0tkCv1qv?eN{~TM&gGZO?&;+3k%m z;8_sMKxVUXz_%cOp1`C+fNw#xHL+__;S7NVp_J2cB}i;R=#%d{=b$LxbRs_JTTrrG z*kyXqiW;SFK}oIf21v{{T{B%>U_nxu0ngRNIN(|k%9sHBq-mHu&;=GmofK~OvZj4{ z5Op=zf?ScJ{|rhi5f5@L2&H~tKnCiA#<&G}z*A!$51Nf}3qmap^nL+@7#Oc(7PRUE zCv39yxCO080Xh*;3zCh`TF$xWN!){C7Gz{O@G~=G0A{XY27=ibPuT|tlbE@PZEdG> z?g9?C+L*-1r(}x~+Z}(!j9CupZ@qL52(;rXfd)~B=_^B$qxGRNx{7-gJzI@s@SxkL zWZ2iK2fZ5e2l`7$KQ|oCf(Pkwf5>QyP(jk1$b+aqXa&>Y{}mUHh5lex4A&oo2f6GG nO8udrPw|J!G=I?l&3p7OHTX`Up{#IV00000NkvXXu0mjf_^Wxq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/seaking/anim_frontf.png b/graphics/pokemon/seaking/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..0ed5b9a2722ccf54d97e22adafffeeb5ba717765 GIT binary patch literal 1509 zcmVHQc_wF5D@>~y~RN(lrb3Qb3yi$V&2~7T3TYHIYIx$&Gvg*qRs}%000GW zNklF>l*O6o4tfggYpJCB{Zkci~Y&2756d*|b3iN3yyEO=VFJvLLiT5x~vb zCITyWY74<}#{h(UE;K2>6y?A9}C=AhY* z?Sz1~wlD=uvn1XOkWT>Z*$z*=Z&@i7{q}-r9il0APY;y@;v-HhghT(f+x(fECCO<+Kun%W5iT|e#CB<0I}UG zV!z=Opcu#Omg~Cc`U6`oP$c0*|68lksTV-Qr9;0+gAT+?nStW1ZzSNlPjljPi=x!Q z3L|JHYq(5~cbKjL9Xs)Hr5a6Ov*NBBOu*QtOre^%dyq{C8ZWlAD}Y&NEO)vk#|yRA z(Ip@QCS&@lqTmmVRp>`hm8@t1^kiY}Y$yOlMT(`*5itD?;yF7}vTQYg8Cz8cqK1y0 zyd((kX|IgcR7-DPPoMjjb;xw+O2}YzKnM-XwJi~#4 zkYQ+0w$cFEVDs!+fOc|W0$5J!42I|cc~;kL%SqXh86g;!k}sleL)w-N1YvXV|kR9(*R)y4~0G)l7KjdH3N7o{XziAN|S+n)u-{khf-0NjZ1a9ONPP^ zdL1qS=dOPlm=glhgF79v10n=aOaSjZA%S@G{vW~)Xp&8T#Z1mHPj;}s2KXNJ*8L{p z6<~)1W8Ypwr_;r~Cbs<*BeBdIfBiysU{iY3dH41_S13vxxOj6xcJM2rCIH?eeHbK` zaY6p@GDwmD5)iDthymFX)h>TQF`j`aM7P;SXuXKlTKo9V&qo*MeVW=M6Z3l1_3jO< z7y#Cr(fB;{3r^NxuM8?vAX9YikKY7-K|mWe!1fc(U|9cjH1P`(kY!5(@&7$!<*8qM z?^|WdHWH09%L9^hRGyvs>0LGI&ZoXL3#hHC$Emm61Sph9 zQrIkj`g_@!0g&bhefakPE%QY9MRg{i&H}P$!eRcwE)?~xvWvd~YJXQZGt$<(00000 LNkvXXu0mjfh5Nd0 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/seaking/backf.png b/graphics/pokemon/seaking/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..390a13592682f2ada601d405280317ecee20b2a5 GIT binary patch literal 857 zcmV-f1E&0mP)$NZ9 zARVbqYY(3u9n^p^05GO#kJLmze6c!K;2i)eNG!6pn&>Zg7RNG0gL}uwICu6EG0|>@ z+Yb*IC7Y$%UBk z%cM!T*?E+GmLB)e*?F?(xbu%hGKCLSuT$7PS#g50eoVImuf)_ zpvY#EXz=xmr-Q<$4k0mMQ~(L!S4{8V!hAl0t4Ea>YH2lhG;6PM(O;p908{jI4O zAZa33LTnI$XgPpQPVnAf6GH6c8m?8rC!Io`4!OLrNkANpnDqQY>$F(|AYyrzRidf^ jo;I$ponq@|{LTIXbC+)SHmp^300000NkvXXu0mjfWnh2@ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/vileplume/anim_frontf.png b/graphics/pokemon/vileplume/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..b77e9aadf8debec2368c93fc30a3a22079e44182 GIT binary patch literal 929 zcmV;S177@zP)zjE3@5XLob)VRpSacIdgIE5=~2@eo%=#A&(K3G>PGnu*ZI7;Eh_z4_8 zNisu2mj>5rShs16o*}y@{>Zk@)JfO^1pDK=-MvHlg5YlpLGe=l9T?R=dgaaU0Gufz znsqrTWwQm)RZ2lrlW%LI2eQ*6q6g}k#LhvYH2?@jFVN{l0SQ)tw$Vlz03|pLa3pn{ z$hA(WbL77AkmcVDiO$kKT)_%WK&{4{0-CP0m zL2(ffUESW^oPX(2yZuC;E`gZzPPhTMxVGoFH&?(TP2wb70Q;n%T>}?CM>qDI05Il5 zY*ql(kWgVCr92#uMx!6V1EDV$YlK3_MxPvsJvBU%1HNjdK`1$%sQ`os8BTHP;03=ut=MnpBxD7C3r%(fgM7&MP zuLmR_JEjplCfu&+>j%Qu*uUCdrIISgQ4njEY#IlPARC(h(#&rOb# zK(Z(tGt8fx9Cjc~lt}8aDD%<;&Fi1N&Z5lOLwJCSMe#fq*A~SCR4j_`iMz?7OgC5* z8iBJY`3wGG=4$o(hkW8H@%o3a?w4V<$v=euqks4VBiELts%`xr00000NkvXXu0mjf D1(U4> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/vileplume/backf.png b/graphics/pokemon/vileplume/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..0aa3c338c62346f537076c2c3e223702d0b3b695 GIT binary patch literal 807 zcmV+?1K9kDP)cY`xF??=5fpfln~hD>AVw*`FLjMvjocElYK^bAdVB5 z%;QTW4!R5j>VQ4s7!<0Rk(Qo9Q+i;21`}(Yn4~iVH7O7Puz*DD0YF{>WSBq0)0#+r z9)Iu-2!N3aKq5LIAVmm-2w+|T<=sGb%=(=BBGBH|8lNxRyD*JJ0t0QkSYQba7gQppKYc(om|rZm^(ycK z3lK=Vn=Jv$W))@$11M}T7!i0$&$k}Xm*8XU06Ky!JH1^naId>Oa&mH>kwjAe}LCx+V?F`o2QJl?Iw6C*X>QDyM7gv3zKZ!y|GdazN>T z64aNvZ6E5DRKyK~$}QZ80QyX=@h~^&d`gn=lWESt72{ZCv)Qa5WRoGPa#{My?Ff}9 zH$QN~%uNk2^|xkJMB;^V^YPSd0!PWOv9>8d9DqK6L*vv50ukpkN2q+zwp@W%2%ASB z+vJWbZy$HR2#_U|Y5lroaQ(R3(Ii97D~4Zb@C!=~uXhZL_FokTz}MaG&)~lRwm{&w z2c$(G00jQ#9uSd5Pb2|yS{i-hcg4Y&RV7wyOrlZfuOW|nMtQ5bqPxKK_{{1uOb-Bw lJuuSUJt>5xn7*Q4+JE9YPD?5bZkPZ7002ovPDHLkV1fV>Tr&Uw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/xatu/anim_front.png b/graphics/pokemon/xatu/anim_front.png index 3bc6c66b21ce058c5f388c3a180911b0920d255b..828f993dab2a7227f93d4febf883c4ef2b056e9c 100644 GIT binary patch delta 983 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 Y-wm|3r~Y!H3jhEB07*qoM6N<$g4e#+SpWb4 literal 0 HcmV?d00001 diff --git a/include/graphics.h b/include/graphics.h index 59d441bdab..06b56f0817 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -92,7 +92,9 @@ extern const u32 gMonFrontPic_Fearow[]; extern const u32 gMonFrontPic_Ekans[]; extern const u32 gMonFrontPic_Arbok[]; extern const u32 gMonFrontPic_Pikachu[]; +extern const u32 gMonFrontPic_PikachuF[]; extern const u32 gMonFrontPic_Raichu[]; +extern const u32 gMonFrontPic_RaichuF[]; extern const u32 gMonFrontPic_Sandshrew[]; extern const u32 gMonFrontPic_Sandslash[]; extern const u32 gMonFrontPic_NidoranF[]; @@ -111,7 +113,9 @@ extern const u32 gMonFrontPic_Zubat[]; extern const u32 gMonFrontPic_Golbat[]; extern const u32 gMonFrontPic_Oddish[]; extern const u32 gMonFrontPic_Gloom[]; +extern const u32 gMonFrontPic_GloomF[]; extern const u32 gMonFrontPic_Vileplume[]; +extern const u32 gMonFrontPic_VileplumeF[]; extern const u32 gMonFrontPic_Paras[]; extern const u32 gMonFrontPic_Parasect[]; extern const u32 gMonFrontPic_Venonat[]; @@ -151,7 +155,9 @@ extern const u32 gMonFrontPic_Magnemite[]; extern const u32 gMonFrontPic_Magneton[]; extern const u32 gMonFrontPic_Farfetchd[]; extern const u32 gMonFrontPic_Doduo[]; +extern const u32 gMonFrontPic_DoduoF[]; extern const u32 gMonFrontPic_Dodrio[]; +extern const u32 gMonFrontPic_DodrioF[]; extern const u32 gMonFrontPic_Seel[]; extern const u32 gMonFrontPic_Dewgong[]; extern const u32 gMonFrontPic_Grimer[]; @@ -185,7 +191,9 @@ extern const u32 gMonFrontPic_Kangaskhan[]; extern const u32 gMonFrontPic_Horsea[]; extern const u32 gMonFrontPic_Seadra[]; extern const u32 gMonFrontPic_Goldeen[]; +extern const u32 gMonFrontPic_GoldeenF[]; extern const u32 gMonFrontPic_Seaking[]; +extern const u32 gMonFrontPic_SeakingF[]; extern const u32 gMonFrontPic_Staryu[]; extern const u32 gMonFrontPic_Starmie[]; extern const u32 gMonFrontPic_MrMime[]; @@ -246,6 +254,7 @@ extern const u32 gMonFrontPic_Togepi[]; extern const u32 gMonFrontPic_Togetic[]; extern const u32 gMonFrontPic_Natu[]; extern const u32 gMonFrontPic_Xatu[]; +extern const u32 gMonFrontPic_XatuF[]; extern const u32 gMonFrontPic_Mareep[]; extern const u32 gMonFrontPic_Flaaffy[]; extern const u32 gMonFrontPic_Ampharos[]; @@ -254,6 +263,7 @@ extern const u32 gMonFrontPic_Marill[]; extern const u32 gMonFrontPic_Azumarill[]; extern const u32 gMonFrontPic_Sudowoodo[]; extern const u32 gMonFrontPic_Politoed[]; +extern const u32 gMonFrontPic_PolitoedF[]; extern const u32 gMonFrontPic_Hoppip[]; extern const u32 gMonFrontPic_Skiploom[]; extern const u32 gMonFrontPic_Jumpluff[]; @@ -375,7 +385,9 @@ extern const u32 gMonFrontPic_Aron[]; extern const u32 gMonFrontPic_Lairon[]; extern const u32 gMonFrontPic_Aggron[]; extern const u32 gMonFrontPic_Meditite[]; +extern const u32 gMonFrontPic_MedititeF[]; extern const u32 gMonFrontPic_Medicham[]; +extern const u32 gMonFrontPic_MedichamF[]; extern const u32 gMonFrontPic_Electrike[]; extern const u32 gMonFrontPic_Manectric[]; extern const u32 gMonFrontPic_Plusle[]; @@ -519,8 +531,11 @@ extern const u32 gMonFrontPic_Happiny[]; extern const u32 gMonFrontPic_Chatot[]; extern const u32 gMonFrontPic_Spiritomb[]; extern const u32 gMonFrontPic_Gible[]; +extern const u32 gMonFrontPic_GibleF[]; extern const u32 gMonFrontPic_Gabite[]; +extern const u32 gMonFrontPic_GabiteF[]; extern const u32 gMonFrontPic_Garchomp[]; +extern const u32 gMonFrontPic_GarchompF[]; extern const u32 gMonFrontPic_Munchlax[]; extern const u32 gMonFrontPic_Riolu[]; extern const u32 gMonFrontPic_Lucario[]; @@ -1307,6 +1322,7 @@ extern const u32 gMonBackPic_Fearow[]; extern const u32 gMonBackPic_Ekans[]; extern const u32 gMonBackPic_Arbok[]; extern const u32 gMonBackPic_Pikachu[]; +extern const u32 gMonBackPic_PikachuF[]; extern const u32 gMonBackPic_Raichu[]; extern const u32 gMonBackPic_Sandshrew[]; extern const u32 gMonBackPic_Sandslash[]; @@ -1326,7 +1342,9 @@ extern const u32 gMonBackPic_Zubat[]; extern const u32 gMonBackPic_Golbat[]; extern const u32 gMonBackPic_Oddish[]; extern const u32 gMonBackPic_Gloom[]; +extern const u32 gMonBackPic_GloomF[]; extern const u32 gMonBackPic_Vileplume[]; +extern const u32 gMonBackPic_VileplumeF[]; extern const u32 gMonBackPic_Paras[]; extern const u32 gMonBackPic_Parasect[]; extern const u32 gMonBackPic_Venonat[]; @@ -1366,7 +1384,9 @@ extern const u32 gMonBackPic_Magnemite[]; extern const u32 gMonBackPic_Magneton[]; extern const u32 gMonBackPic_Farfetchd[]; extern const u32 gMonBackPic_Doduo[]; +extern const u32 gMonBackPic_DoduoF[]; extern const u32 gMonBackPic_Dodrio[]; +extern const u32 gMonBackPic_DodrioF[]; extern const u32 gMonBackPic_Seel[]; extern const u32 gMonBackPic_Dewgong[]; extern const u32 gMonBackPic_Grimer[]; @@ -1400,7 +1420,9 @@ extern const u32 gMonBackPic_Kangaskhan[]; extern const u32 gMonBackPic_Horsea[]; extern const u32 gMonBackPic_Seadra[]; extern const u32 gMonBackPic_Goldeen[]; +extern const u32 gMonBackPic_GoldeenF[]; extern const u32 gMonBackPic_Seaking[]; +extern const u32 gMonBackPic_SeakingF[]; extern const u32 gMonBackPic_Staryu[]; extern const u32 gMonBackPic_Starmie[]; extern const u32 gMonBackPic_MrMime[]; @@ -1469,6 +1491,7 @@ extern const u32 gMonBackPic_Marill[]; extern const u32 gMonBackPic_Azumarill[]; extern const u32 gMonBackPic_Sudowoodo[]; extern const u32 gMonBackPic_Politoed[]; +extern const u32 gMonBackPic_PolitoedF[]; extern const u32 gMonBackPic_Hoppip[]; extern const u32 gMonBackPic_Skiploom[]; extern const u32 gMonBackPic_Jumpluff[]; @@ -1590,7 +1613,9 @@ extern const u32 gMonBackPic_Aron[]; extern const u32 gMonBackPic_Lairon[]; extern const u32 gMonBackPic_Aggron[]; extern const u32 gMonBackPic_Meditite[]; +extern const u32 gMonBackPic_MedititeF[]; extern const u32 gMonBackPic_Medicham[]; +extern const u32 gMonBackPic_MedichamF[]; extern const u32 gMonBackPic_Electrike[]; extern const u32 gMonBackPic_Manectric[]; extern const u32 gMonBackPic_Plusle[]; @@ -1733,7 +1758,9 @@ extern const u32 gMonBackPic_Happiny[]; extern const u32 gMonBackPic_Chatot[]; extern const u32 gMonBackPic_Spiritomb[]; extern const u32 gMonBackPic_Gible[]; +extern const u32 gMonBackPic_GibleF[]; extern const u32 gMonBackPic_Gabite[]; +extern const u32 gMonBackPic_GabiteF[]; extern const u32 gMonBackPic_Garchomp[]; extern const u32 gMonBackPic_Munchlax[]; extern const u32 gMonBackPic_Riolu[]; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 56e45283af..6b5ee4093a 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -25,7 +25,9 @@ const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front.4bpp.lz"); const u32 gMonFrontPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/anim_front.4bpp.lz"); const u32 gMonFrontPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_PikachuF[] = INCBIN_U32("graphics/pokemon/pikachu/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_RaichuF[] = INCBIN_U32("graphics/pokemon/raichu/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/anim_front.4bpp.lz"); const u32 gMonFrontPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/anim_front.4bpp.lz"); const u32 gMonFrontPic_NidoranF[] = INCBIN_U32("graphics/pokemon/nidoran_f/anim_front.4bpp.lz"); @@ -44,7 +46,9 @@ const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front.4 const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front.4bpp.lz"); const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front.4bpp.lz"); const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GloomF[] = INCBIN_U32("graphics/pokemon/gloom/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/anim_front.4bpp.lz"); +const u32 gMonFrontPic_VileplumeF[] = INCBIN_U32("graphics/pokemon/vileplume/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/anim_front.4bpp.lz"); const u32 gMonFrontPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/anim_front.4bpp.lz"); const u32 gMonFrontPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/anim_front.4bpp.lz"); @@ -84,7 +88,9 @@ const u32 gMonFrontPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/anim const u32 gMonFrontPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/anim_front.4bpp.lz"); const u32 gMonFrontPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/anim_front.4bpp.lz"); const u32 gMonFrontPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_DoduoF[] = INCBIN_U32("graphics/pokemon/doduo/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/anim_front.4bpp.lz"); +const u32 gMonFrontPic_DodrioF[] = INCBIN_U32("graphics/pokemon/dodrio/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/anim_front.4bpp.lz"); const u32 gMonFrontPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/anim_front.4bpp.lz"); const u32 gMonFrontPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/anim_front.4bpp.lz"); @@ -118,7 +124,9 @@ const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/an const u32 gMonFrontPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/anim_front.4bpp.lz"); const u32 gMonFrontPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/anim_front.4bpp.lz"); const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GoldeenF[] = INCBIN_U32("graphics/pokemon/goldeen/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front.4bpp.lz"); +const u32 gMonFrontPic_SeakingF[] = INCBIN_U32("graphics/pokemon/seaking/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front.4bpp.lz"); const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz"); const u32 gMonFrontPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); @@ -179,6 +187,7 @@ const u32 gMonFrontPic_Togepi[] = INCBIN_U32("graphics/pokemon/togepi/anim_front const u32 gMonFrontPic_Togetic[] = INCBIN_U32("graphics/pokemon/togetic/anim_front.4bpp.lz"); const u32 gMonFrontPic_Natu[] = INCBIN_U32("graphics/pokemon/natu/anim_front.4bpp.lz"); const u32 gMonFrontPic_Xatu[] = INCBIN_U32("graphics/pokemon/xatu/anim_front.4bpp.lz"); +const u32 gMonFrontPic_XatuF[] = INCBIN_U32("graphics/pokemon/xatu/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Mareep[] = INCBIN_U32("graphics/pokemon/mareep/anim_front.4bpp.lz"); const u32 gMonFrontPic_Flaaffy[] = INCBIN_U32("graphics/pokemon/flaaffy/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ampharos[] = INCBIN_U32("graphics/pokemon/ampharos/anim_front.4bpp.lz"); @@ -187,6 +196,7 @@ const u32 gMonFrontPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/anim_front const u32 gMonFrontPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/anim_front.4bpp.lz"); const u32 gMonFrontPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/anim_front.4bpp.lz"); +const u32 gMonFrontPic_PolitoedF[] = INCBIN_U32("graphics/pokemon/politoed/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/anim_front.4bpp.lz"); const u32 gMonFrontPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/anim_front.4bpp.lz"); const u32 gMonFrontPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/anim_front.4bpp.lz"); @@ -308,7 +318,9 @@ const u32 gMonFrontPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/anim_front.4bp const u32 gMonFrontPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/anim_front.4bpp.lz"); const u32 gMonFrontPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_MedititeF[] = INCBIN_U32("graphics/pokemon/meditite/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/anim_front.4bpp.lz"); +const u32 gMonFrontPic_MedichamF[] = INCBIN_U32("graphics/pokemon/medicham/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/anim_front.4bpp.lz"); const u32 gMonFrontPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/anim_front.4bpp.lz"); const u32 gMonFrontPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/anim_front.4bpp.lz"); @@ -452,8 +464,11 @@ const u32 gMonFrontPic_Happiny[] = INCBIN_U32("graphics/pokemon/happiny/anim_fro const u32 gMonFrontPic_Chatot[] = INCBIN_U32("graphics/pokemon/chatot/anim_front.4bpp.lz"); const u32 gMonFrontPic_Spiritomb[] = INCBIN_U32("graphics/pokemon/spiritomb/anim_front.4bpp.lz"); const u32 gMonFrontPic_Gible[] = INCBIN_U32("graphics/pokemon/gible/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GibleF[] = INCBIN_U32("graphics/pokemon/gible/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Gabite[] = INCBIN_U32("graphics/pokemon/gabite/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GabiteF[] = INCBIN_U32("graphics/pokemon/gabite/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Garchomp[] = INCBIN_U32("graphics/pokemon/garchomp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GarchompF[] = INCBIN_U32("graphics/pokemon/garchomp/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Munchlax[] = INCBIN_U32("graphics/pokemon/munchlax/anim_front.4bpp.lz"); const u32 gMonFrontPic_Riolu[] = INCBIN_U32("graphics/pokemon/riolu/anim_front.4bpp.lz"); const u32 gMonFrontPic_Lucario[] = INCBIN_U32("graphics/pokemon/lucario/anim_front.4bpp.lz"); @@ -1238,6 +1253,7 @@ const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.l const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz"); const u32 gMonBackPic_Arbok[] = INCBIN_U32("graphics/pokemon/arbok/back.4bpp.lz"); const u32 gMonBackPic_Pikachu[] = INCBIN_U32("graphics/pokemon/pikachu/back.4bpp.lz"); +const u32 gMonBackPic_PikachuF[] = INCBIN_U32("graphics/pokemon/pikachu/backf.4bpp.lz"); const u32 gMonBackPic_Raichu[] = INCBIN_U32("graphics/pokemon/raichu/back.4bpp.lz"); const u32 gMonBackPic_Sandshrew[] = INCBIN_U32("graphics/pokemon/sandshrew/back.4bpp.lz"); const u32 gMonBackPic_Sandslash[] = INCBIN_U32("graphics/pokemon/sandslash/back.4bpp.lz"); @@ -1257,7 +1273,9 @@ const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz" const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz"); const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz"); const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz"); +const u32 gMonBackPic_GloomF[] = INCBIN_U32("graphics/pokemon/gloom/backf.4bpp.lz"); const u32 gMonBackPic_Vileplume[] = INCBIN_U32("graphics/pokemon/vileplume/back.4bpp.lz"); +const u32 gMonBackPic_VileplumeF[] = INCBIN_U32("graphics/pokemon/vileplume/backf.4bpp.lz"); const u32 gMonBackPic_Paras[] = INCBIN_U32("graphics/pokemon/paras/back.4bpp.lz"); const u32 gMonBackPic_Parasect[] = INCBIN_U32("graphics/pokemon/parasect/back.4bpp.lz"); const u32 gMonBackPic_Venonat[] = INCBIN_U32("graphics/pokemon/venonat/back.4bpp.lz"); @@ -1297,7 +1315,9 @@ const u32 gMonBackPic_Magnemite[] = INCBIN_U32("graphics/pokemon/magnemite/back. const u32 gMonBackPic_Magneton[] = INCBIN_U32("graphics/pokemon/magneton/back.4bpp.lz"); const u32 gMonBackPic_Farfetchd[] = INCBIN_U32("graphics/pokemon/farfetchd/back.4bpp.lz"); const u32 gMonBackPic_Doduo[] = INCBIN_U32("graphics/pokemon/doduo/back.4bpp.lz"); +const u32 gMonBackPic_DoduoF[] = INCBIN_U32("graphics/pokemon/doduo/backf.4bpp.lz"); const u32 gMonBackPic_Dodrio[] = INCBIN_U32("graphics/pokemon/dodrio/back.4bpp.lz"); +const u32 gMonBackPic_DodrioF[] = INCBIN_U32("graphics/pokemon/dodrio/backf.4bpp.lz"); const u32 gMonBackPic_Seel[] = INCBIN_U32("graphics/pokemon/seel/back.4bpp.lz"); const u32 gMonBackPic_Dewgong[] = INCBIN_U32("graphics/pokemon/dewgong/back.4bpp.lz"); const u32 gMonBackPic_Grimer[] = INCBIN_U32("graphics/pokemon/grimer/back.4bpp.lz"); @@ -1331,7 +1351,9 @@ const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/bac const u32 gMonBackPic_Horsea[] = INCBIN_U32("graphics/pokemon/horsea/back.4bpp.lz"); const u32 gMonBackPic_Seadra[] = INCBIN_U32("graphics/pokemon/seadra/back.4bpp.lz"); const u32 gMonBackPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/back.4bpp.lz"); +const u32 gMonBackPic_GoldeenF[] = INCBIN_U32("graphics/pokemon/goldeen/backf.4bpp.lz"); const u32 gMonBackPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/back.4bpp.lz"); +const u32 gMonBackPic_SeakingF[] = INCBIN_U32("graphics/pokemon/seaking/backf.4bpp.lz"); const u32 gMonBackPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/back.4bpp.lz"); const u32 gMonBackPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/back.4bpp.lz"); const u32 gMonBackPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); @@ -1400,6 +1422,7 @@ const u32 gMonBackPic_Marill[] = INCBIN_U32("graphics/pokemon/marill/back.4bpp.l const u32 gMonBackPic_Azumarill[] = INCBIN_U32("graphics/pokemon/azumarill/back.4bpp.lz"); const u32 gMonBackPic_Sudowoodo[] = INCBIN_U32("graphics/pokemon/sudowoodo/back.4bpp.lz"); const u32 gMonBackPic_Politoed[] = INCBIN_U32("graphics/pokemon/politoed/back.4bpp.lz"); +const u32 gMonBackPic_PolitoedF[] = INCBIN_U32("graphics/pokemon/politoed/backf.4bpp.lz"); const u32 gMonBackPic_Hoppip[] = INCBIN_U32("graphics/pokemon/hoppip/back.4bpp.lz"); const u32 gMonBackPic_Skiploom[] = INCBIN_U32("graphics/pokemon/skiploom/back.4bpp.lz"); const u32 gMonBackPic_Jumpluff[] = INCBIN_U32("graphics/pokemon/jumpluff/back.4bpp.lz"); @@ -1521,7 +1544,9 @@ const u32 gMonBackPic_Aron[] = INCBIN_U32("graphics/pokemon/aron/back.4bpp.lz"); const u32 gMonBackPic_Lairon[] = INCBIN_U32("graphics/pokemon/lairon/back.4bpp.lz"); const u32 gMonBackPic_Aggron[] = INCBIN_U32("graphics/pokemon/aggron/back.4bpp.lz"); const u32 gMonBackPic_Meditite[] = INCBIN_U32("graphics/pokemon/meditite/back.4bpp.lz"); +const u32 gMonBackPic_MedititeF[] = INCBIN_U32("graphics/pokemon/meditite/backf.4bpp.lz"); const u32 gMonBackPic_Medicham[] = INCBIN_U32("graphics/pokemon/medicham/back.4bpp.lz"); +const u32 gMonBackPic_MedichamF[] = INCBIN_U32("graphics/pokemon/medicham/backf.4bpp.lz"); const u32 gMonBackPic_Electrike[] = INCBIN_U32("graphics/pokemon/electrike/back.4bpp.lz"); const u32 gMonBackPic_Manectric[] = INCBIN_U32("graphics/pokemon/manectric/back.4bpp.lz"); const u32 gMonBackPic_Plusle[] = INCBIN_U32("graphics/pokemon/plusle/back.4bpp.lz"); @@ -1664,7 +1689,9 @@ const u32 gMonBackPic_Happiny[] = INCBIN_U32("graphics/pokemon/happiny/back.4bpp const u32 gMonBackPic_Chatot[] = INCBIN_U32("graphics/pokemon/chatot/back.4bpp.lz"); const u32 gMonBackPic_Spiritomb[] = INCBIN_U32("graphics/pokemon/spiritomb/back.4bpp.lz"); const u32 gMonBackPic_Gible[] = INCBIN_U32("graphics/pokemon/gible/back.4bpp.lz"); +const u32 gMonBackPic_GibleF[] = INCBIN_U32("graphics/pokemon/gible/backf.4bpp.lz"); const u32 gMonBackPic_Gabite[] = INCBIN_U32("graphics/pokemon/gabite/back.4bpp.lz"); +const u32 gMonBackPic_GabiteF[] = INCBIN_U32("graphics/pokemon/gabite/backf.4bpp.lz"); const u32 gMonBackPic_Garchomp[] = INCBIN_U32("graphics/pokemon/garchomp/back.4bpp.lz"); const u32 gMonBackPic_Munchlax[] = INCBIN_U32("graphics/pokemon/munchlax/back.4bpp.lz"); const u32 gMonBackPic_Riolu[] = INCBIN_U32("graphics/pokemon/riolu/back.4bpp.lz"); diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 6e99e6f34a..cbe0955b61 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -17,7 +17,6 @@ #endif #define PIKACHU_SPECIES_INFO(gender, flip) \ - { \ .baseHP = 35, \ .baseAttack = 55, \ .baseSpeed = 90, \ @@ -35,11 +34,10 @@ .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY}, \ .abilities = {ABILITY_STATIC, ABILITY_NONE, ABILITY_LIGHTNING_ROD},\ .bodyColor = BODY_COLOR_YELLOW, \ - .noFlip = flip, \ - } + .noFlip = flip -#define COSPLAY_PIKACHU_SPECIES_INFO(flip) PIKACHU_SPECIES_INFO(MON_FEMALE, flip) -#define CAP_PIKACHU_SPECIES_INFO(flip) PIKACHU_SPECIES_INFO(MON_MALE, flip) +#define COSPLAY_PIKACHU_SPECIES_INFO(flip) { PIKACHU_SPECIES_INFO(MON_FEMALE, flip), } +#define CAP_PIKACHU_SPECIES_INFO(flip) { PIKACHU_SPECIES_INFO(MON_MALE, flip), } #define PICHU_SPECIES_INFO(flip) \ { \ @@ -1395,7 +1393,11 @@ const struct SpeciesInfo gSpeciesInfo[] = .noFlip = FALSE, }, - [SPECIES_PIKACHU] = PIKACHU_SPECIES_INFO(PERCENT_FEMALE(50), FLIP), + [SPECIES_PIKACHU] = + { + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, + PIKACHU_SPECIES_INFO(PERCENT_FEMALE(50), FLIP), + }, [SPECIES_RAICHU] = { @@ -1421,6 +1423,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_STATIC, ABILITY_NONE, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SANDSHREW] = @@ -1860,6 +1863,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_STENCH}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VILEPLUME] = @@ -1887,6 +1891,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_EFFECT_SPORE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PARAS] = @@ -2799,6 +2804,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD, ABILITY_TANGLED_FEET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_DODRIO] = @@ -2826,6 +2832,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD, ABILITY_TANGLED_FEET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SEEL] = @@ -3582,6 +3589,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SEAKING] = @@ -3605,6 +3613,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARYU] = @@ -4948,6 +4957,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MAREEP] = @@ -5146,6 +5156,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP, ABILITY_DRIZZLE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_HOPPIP] = @@ -7959,6 +7970,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_PURE_POWER, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MEDICHAM] = @@ -7981,6 +7993,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_PURE_POWER, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ELECTRIKE] = @@ -10999,6 +11012,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GABITE] = @@ -11021,6 +11035,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GARCHOMP] = @@ -11043,6 +11058,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MUNCHLAX] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 32864907bb..563eb436e9 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1340,7 +1340,20 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = const struct CompressedSpriteSheet gMonBackPicTableFemale[] = { + SPECIES_SPRITE(PIKACHU, gMonBackPic_PikachuF), + SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu), + SPECIES_SPRITE(GLOOM, gMonBackPic_GloomF), + SPECIES_SPRITE(VILEPLUME, gMonBackPic_VileplumeF), + SPECIES_SPRITE(DODUO, gMonBackPic_DoduoF), + SPECIES_SPRITE(DODRIO, gMonBackPic_DodrioF), + SPECIES_SPRITE(GOLDEEN, gMonBackPic_GoldeenF), + SPECIES_SPRITE(SEAKING, gMonBackPic_SeakingF), SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), + SPECIES_SPRITE(XATU, gMonBackPic_Xatu), + SPECIES_SPRITE(POLITOED, gMonBackPic_PolitoedF), + SPECIES_SPRITE(MEDITITE, gMonBackPic_MedititeF), + SPECIES_SPRITE(MEDICHAM, gMonBackPic_MedichamF), + #if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonBackPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonBackPic_StaraviaF), @@ -1350,6 +1363,9 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(KRICKETUNE, gMonBackPic_KricketuneF), SPECIES_SPRITE(SHINX, gMonBackPic_ShinxF), SPECIES_SPRITE(COMBEE, gMonBackPic_Combee), + SPECIES_SPRITE(GIBLE, gMonBackPic_GibleF), + SPECIES_SPRITE(GABITE, gMonBackPic_GabiteF), + SPECIES_SPRITE(GARCHOMP, gMonBackPic_Garchomp), SPECIES_SPRITE(HIPPOPOTAS, gMonBackPic_Hippopotas), SPECIES_SPRITE(HIPPOWDON, gMonBackPic_Hippowdon), #endif diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index fa56b8492e..f416433aff 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1339,7 +1339,20 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { + SPECIES_SPRITE(PIKACHU, gMonFrontPic_PikachuF), + SPECIES_SPRITE(RAICHU, gMonFrontPic_RaichuF), + SPECIES_SPRITE(GLOOM, gMonFrontPic_GloomF), + SPECIES_SPRITE(VILEPLUME, gMonFrontPic_VileplumeF), + SPECIES_SPRITE(DODUO, gMonFrontPic_DoduoF), + SPECIES_SPRITE(DODRIO, gMonFrontPic_DodrioF), + SPECIES_SPRITE(GOLDEEN, gMonFrontPic_GoldeenF), + SPECIES_SPRITE(SEAKING, gMonFrontPic_SeakingF), SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), + SPECIES_SPRITE(XATU, gMonFrontPic_XatuF), + SPECIES_SPRITE(POLITOED, gMonFrontPic_PolitoedF), + SPECIES_SPRITE(MEDITITE, gMonFrontPic_MedititeF), + SPECIES_SPRITE(MEDICHAM, gMonFrontPic_MedichamF), + #if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), @@ -1349,6 +1362,9 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(KRICKETUNE, gMonFrontPic_KricketuneF), SPECIES_SPRITE(SHINX, gMonFrontPic_ShinxF), SPECIES_SPRITE(COMBEE, gMonFrontPic_Combee), + SPECIES_SPRITE(GIBLE, gMonFrontPic_GibleF), + SPECIES_SPRITE(GABITE, gMonFrontPic_GabiteF), + SPECIES_SPRITE(GARCHOMP, gMonFrontPic_GarchompF), SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_Hippopotas), SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), #endif diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 0e6c996422..9a02a643c8 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1338,9 +1338,21 @@ const struct CompressedSpritePalette gMonPaletteTable[] = const struct CompressedSpritePalette gMonPaletteTableFemale[] = { + SPECIES_PAL(PIKACHU, gMonPalette_Pikachu), + SPECIES_PAL(RAICHU, gMonPalette_Raichu), + SPECIES_PAL(GLOOM, gMonPalette_Gloom), + SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume), + SPECIES_PAL(DODUO, gMonPalette_Doduo), + SPECIES_PAL(DODRIO, gMonPalette_Dodrio), + SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen), + SPECIES_PAL(SEAKING, gMonPalette_Seaking), SPECIES_PAL(EEVEE, gMonPalette_Eevee), + SPECIES_PAL(XATU, gMonPalette_Xatu), + SPECIES_PAL(POLITOED, gMonPalette_Politoed), + SPECIES_PAL(MEDITITE, gMonPalette_Meditite), + SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), + #if P_GEN_4_POKEMON == TRUE - SPECIES_PAL(COMBEE, gMonPalette_CombeeF), SPECIES_PAL(STARLY, gMonPalette_Starly), SPECIES_PAL(STARAVIA, gMonPalette_Staravia), SPECIES_PAL(STARAPTOR, gMonPalette_Staraptor), @@ -1348,6 +1360,10 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(KRICKETOT, gMonPalette_Kricketot), SPECIES_PAL(KRICKETUNE, gMonPalette_Kricketune), SPECIES_PAL(SHINX, gMonPalette_Shinx), + SPECIES_PAL(COMBEE, gMonPalette_CombeeF), + SPECIES_PAL(GIBLE, gMonPalette_Gible), + SPECIES_PAL(GABITE, gMonPalette_Gabite), + SPECIES_PAL(GARCHOMP, gMonPalette_Garchomp), SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), #endif diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 0123b0e1fc..be917da7d4 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1337,7 +1337,20 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = { + SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu), + SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu), + SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom), + SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume), + SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo), + SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio), + SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen), + SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking), SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), + SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu), + SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed), + SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), + SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), + #if P_GEN_4_POKEMON == TRUE SPECIES_SHINY_PAL(STARLY, gMonShinyPalette_Starly), SPECIES_SHINY_PAL(STARAVIA, gMonShinyPalette_Staravia), @@ -1347,6 +1360,9 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(KRICKETUNE, gMonShinyPalette_Kricketune), SPECIES_SHINY_PAL(SHINX, gMonShinyPalette_Shinx), SPECIES_SHINY_PAL(COMBEE, gMonShinyPalette_CombeeF), + SPECIES_SHINY_PAL(GIBLE, gMonShinyPalette_Gible), + SPECIES_SHINY_PAL(GABITE, gMonShinyPalette_Gabite), + SPECIES_SHINY_PAL(GARCHOMP, gMonShinyPalette_Garchomp), SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), #endif diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 9255e1c03b..620c4fade3 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1300,7 +1300,19 @@ const u8 *const gMonIconTable[] = const u8 *const gMonIconTableFemale[] = { + [SPECIES_PIKACHU] = gMonIcon_Pikachu, + [SPECIES_RAICHU] = gMonIcon_Raichu, + [SPECIES_GLOOM] = gMonIcon_Gloom, + [SPECIES_VILEPLUME] = gMonIcon_Vileplume, + [SPECIES_DODUO] = gMonIcon_Doduo, + [SPECIES_DODRIO] = gMonIcon_Dodrio, + [SPECIES_GOLDEEN] = gMonIcon_Goldeen, + [SPECIES_SEAKING] = gMonIcon_Seaking, [SPECIES_EEVEE] = gMonIcon_Eevee, + [SPECIES_XATU] = gMonIcon_Xatu, + [SPECIES_POLITOED] = gMonIcon_Politoed, + [SPECIES_MEDITITE] = gMonIcon_Meditite, + [SPECIES_MEDICHAM] = gMonIcon_Medicham, #if P_GEN_4_POKEMON == TRUE [SPECIES_STARLY] = gMonIcon_Starly, [SPECIES_STARAVIA] = gMonIcon_Staravia, @@ -1310,6 +1322,9 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_KRICKETUNE] = gMonIcon_Kricketune, [SPECIES_SHINX] = gMonIcon_Shinx, [SPECIES_COMBEE] = gMonIcon_Combee, + [SPECIES_GIBLE] = gMonIcon_Gible, + [SPECIES_GABITE] = gMonIcon_Gabite, + [SPECIES_GARCHOMP] = gMonIcon_Garchomp, #if P_HIPPO_GENDER_DIFF_ICONS == TRUE [SPECIES_HIPPOPOTAS] = gMonIcon_HippopotasF, [SPECIES_HIPPOWDON] = gMonIcon_HippowdonF, @@ -2547,7 +2562,19 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { + [SPECIES_PIKACHU] = 2, + [SPECIES_RAICHU] = 0, + [SPECIES_GLOOM] = 0, + [SPECIES_VILEPLUME] = 0, + [SPECIES_DODUO] = 2, + [SPECIES_DODRIO] = 2, + [SPECIES_GOLDEEN] = 0, + [SPECIES_SEAKING] = 0, [SPECIES_EEVEE] = 2, + [SPECIES_XATU] = 1, + [SPECIES_POLITOED] = 1, + [SPECIES_MEDITITE] = 0, + [SPECIES_MEDICHAM] = 0, #if P_GEN_4_POKEMON == TRUE [SPECIES_STARLY] = 0, [SPECIES_STARAVIA] = 0, @@ -2556,6 +2583,9 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_KRICKETUNE] = 2, [SPECIES_SHINX] = 0, [SPECIES_COMBEE] = 0, + [SPECIES_GIBLE] = 0, + [SPECIES_GABITE] = 0, + [SPECIES_GARCHOMP] = 0, [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, #endif From fc52414383ac9617babc12644185e8c02e8691ba Mon Sep 17 00:00:00 2001 From: Eclipse <115349505+SubzeroEclipse@users.noreply.github.com> Date: Wed, 28 Jun 2023 03:11:01 +0200 Subject: [PATCH 031/256] Added many more gender differences sprites (#3082) Added sprites for the remaining Gen1 mons and a couple of evolutions. --- graphics/pokemon/alakazam/anim_frontf.png | Bin 0 -> 1143 bytes graphics/pokemon/alakazam/backf.png | Bin 0 -> 734 bytes graphics/pokemon/butterfree/anim_frontf.png | Bin 0 -> 1134 bytes graphics/pokemon/butterfree/backf.png | Bin 0 -> 890 bytes graphics/pokemon/golbat/anim_frontf.png | Bin 0 -> 1213 bytes graphics/pokemon/golbat/backf.png | Bin 0 -> 540 bytes graphics/pokemon/gyarados/anim_frontf.png | Bin 0 -> 2256 bytes graphics/pokemon/gyarados/backf.png | Bin 0 -> 906 bytes graphics/pokemon/hypno/anim_frontf.png | Bin 0 -> 1317 bytes graphics/pokemon/hypno/backf.png | Bin 0 -> 763 bytes graphics/pokemon/kadabra/anim_frontf.png | Bin 0 -> 1281 bytes graphics/pokemon/kadabra/backf.png | Bin 0 -> 792 bytes graphics/pokemon/magikarp/anim_frontf.png | Bin 0 -> 1148 bytes graphics/pokemon/magikarp/backf.png | Bin 0 -> 737 bytes graphics/pokemon/raticate/anim_frontf.png | Bin 0 -> 1118 bytes graphics/pokemon/raticate/backf.png | Bin 0 -> 728 bytes graphics/pokemon/rattata/anim_frontf.png | Bin 0 -> 750 bytes graphics/pokemon/rattata/backf.png | Bin 0 -> 535 bytes graphics/pokemon/rhydon/anim_frontf.png | Bin 0 -> 1595 bytes graphics/pokemon/rhydon/backf.png | Bin 0 -> 764 bytes graphics/pokemon/rhyhorn/anim_frontf.png | Bin 0 -> 1081 bytes graphics/pokemon/rhyhorn/backf.png | Bin 0 -> 664 bytes graphics/pokemon/rhyperior/anim_frontf.png | Bin 0 -> 1820 bytes graphics/pokemon/rhyperior/backf.png | Bin 0 -> 891 bytes graphics/pokemon/scizor/anim_frontf.png | Bin 0 -> 1467 bytes graphics/pokemon/scyther/anim_frontf.png | Bin 0 -> 1318 bytes graphics/pokemon/venusaur/anim_frontf.png | Bin 0 -> 1988 bytes graphics/pokemon/venusaur/backf.png | Bin 0 -> 905 bytes graphics/pokemon/zubat/anim_frontf.png | Bin 0 -> 919 bytes graphics/pokemon/zubat/backf.png | Bin 0 -> 566 bytes include/graphics.h | 30 ++++++++++++++++ src/data/graphics/pokemon.h | 30 ++++++++++++++++ src/data/pokemon/species_info.h | 16 +++++++++ src/data/pokemon_graphics/back_pic_table.h | 16 +++++++++ src/data/pokemon_graphics/front_pic_table.h | 16 +++++++++ src/data/pokemon_graphics/palette_table.h | 16 +++++++++ .../pokemon_graphics/shiny_palette_table.h | 16 +++++++++ src/pokemon_icon.c | 32 ++++++++++++++++++ 38 files changed, 172 insertions(+) create mode 100644 graphics/pokemon/alakazam/anim_frontf.png create mode 100644 graphics/pokemon/alakazam/backf.png create mode 100644 graphics/pokemon/butterfree/anim_frontf.png create mode 100644 graphics/pokemon/butterfree/backf.png create mode 100644 graphics/pokemon/golbat/anim_frontf.png create mode 100644 graphics/pokemon/golbat/backf.png create mode 100644 graphics/pokemon/gyarados/anim_frontf.png create mode 100644 graphics/pokemon/gyarados/backf.png create mode 100644 graphics/pokemon/hypno/anim_frontf.png create mode 100644 graphics/pokemon/hypno/backf.png create mode 100644 graphics/pokemon/kadabra/anim_frontf.png create mode 100644 graphics/pokemon/kadabra/backf.png create mode 100644 graphics/pokemon/magikarp/anim_frontf.png create mode 100644 graphics/pokemon/magikarp/backf.png create mode 100644 graphics/pokemon/raticate/anim_frontf.png create mode 100644 graphics/pokemon/raticate/backf.png create mode 100644 graphics/pokemon/rattata/anim_frontf.png create mode 100644 graphics/pokemon/rattata/backf.png create mode 100644 graphics/pokemon/rhydon/anim_frontf.png create mode 100644 graphics/pokemon/rhydon/backf.png create mode 100644 graphics/pokemon/rhyhorn/anim_frontf.png create mode 100644 graphics/pokemon/rhyhorn/backf.png create mode 100644 graphics/pokemon/rhyperior/anim_frontf.png create mode 100644 graphics/pokemon/rhyperior/backf.png create mode 100644 graphics/pokemon/scizor/anim_frontf.png create mode 100644 graphics/pokemon/scyther/anim_frontf.png create mode 100644 graphics/pokemon/venusaur/anim_frontf.png create mode 100644 graphics/pokemon/venusaur/backf.png create mode 100644 graphics/pokemon/zubat/anim_frontf.png create mode 100644 graphics/pokemon/zubat/backf.png diff --git a/graphics/pokemon/alakazam/anim_frontf.png b/graphics/pokemon/alakazam/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..123b8f9304caaba15c3d7230571d0e075aa1bc95 GIT binary patch literal 1143 zcmV--1c>{IP)9Y5D*am_N;?q2vRW!)wEKygDF^8Sorw(u&}7u*w|oTSWqws^fi`G000C6 zNklzi-<{6vru)$e=~y4+TgYAmCB?15WRzwm>QIg@6+Uf&%D2AP#XC{SDoc z(SQ(?lT*~_(0DQG&Fx@7lfi5mt^XlN456OXcO)&5)Y;yG0QCWeDZUTy-hJ=x-PbU_ zWNWl<1H9V+zubkT0hlQL;5uOQve6ToF?xQmj;|lf&Gw7W8a4whP`su%(~Y12(XiSo z?rVW>7+5y*D6SuYrr|xFFy`F=u*u{Fg|8WbqN(1b%H2^!w$2xFH88D?0^FRUnwfLVh8Tb$?z$KuY)VgT? z{fCT0c&3)&7@)`MUA+5eE@kX|cf`COj<$hS^ZjCuMD+TMAO8j5Vv@YsXkjH6>G>Rp z2sv{sKnf>`3^r?ov-B(kh~xzUfJ-SU9$)Qi+8^EFK@@^zj;zoFA*V}>RLa)XKJpo2 z_JQRS0N(w0@geR5tX5ZBl?fij6ldMg=g7S0C+C6jXjN!o`$I)(gr8t~t|2mUN*D#h8m$A)UTWy;hFmuHklL#v6LERD zI%5SmBhou)j9tJvb1OR&$DP1vD0M)XlMWi8kJT-MCXE2938NFVjgY6?d)w?QzzIzC zj2gfZp#nr6LCxU=>VnfC+Ouo4J~56IRev9K@!fq&JfvfX@Y7TS{QG)esN6^`T*jIX zetkX7hbB37z%r4`iyVlg)Z{Rdqh&sFC`M8<4Huc419ZA$Z4qQVd$06HZ3SbHjoeUj z2f7Z5V*XpUV0FS;7r*AIT8?_1v$EP1tXGr+uP4AMg>Q2i9I!Y%d|Lr};85}VF@I_D zw2u$ZD)r+C>DU7nnW?RUPb&Z#Pfwi9N;wFaYzI}p7)D;tcO44(nMKRGW9Ms~ec z{801cN2FkvCt|r-MFz`dSwM#%WUE7y3AWk6^#&Whuqm6wj zS91?lsWxTBzEsZT6U+=oT(&QzI(rKJadus;%J!uMq)1LkU3gq$Up8KWt|Pkpx9m&J zV4$;QU+M-!YhTI+L!cHY8w~u~4Th;V7#shP8H_vs@D=)p{{T3#!#Q}0-J$>h002ov JPDHLkV1gY}4Ws}7 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/alakazam/backf.png b/graphics/pokemon/alakazam/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..c52471aeaeeed5bdbcc506fe4ebc4e967f8966cc GIT binary patch literal 734 zcmV<40wMj0P)kbpSfE%~Sorw(u&}V$*w|QDSa4Vf{_z}_0007M zNklkJ>s7r192Ie|f zMlKH0C3=_4O0qugvT>bEVdI_O{AcH5ZCU@E*$;OBC%gyv_fq(GQhTe1zbgx70B+|d zz>aze5gE$3MT*F9ORskr0UJ6A5t+&W)`ogux+O%~V}l9Mp}rOZW-0?1#cIG*2IUAe zU@k*TXuwzo0RcjP*#|p*uMqjkV+Yvoqsy(s+e?Hl3xR}|j_Wf9*c{%J5wR6$AQFtR z6*i}r?^7W0I=?QIfWwu5%M?HujJYg0UYn-5%u@_TIry<|nqO1E@kRiGh#zXQ$sLrO z_?M9Y#7#X`@j+F|1mLdDx5Ux^wW`Dv_`&IO(n|8rfRKQ2jJFn5r6l6Ebv~6Pz)9eA z6b1Ryy~;F^uaznx^k$>lDV36ll3U<~B0~t{kB6bg#a_vs29*4qs@6ovk7FAND64AU zh87(l;Zt*JZfP8)c2(!-1qe9)JiVOzH}9yd_p5dPt;CTOUR}Qjk zK+S-~m_z0IjRpPGhQ*rzbhd<52gm`y@e<$KKO5eq8z1IaX!nl!EdGD6-zdmE@T$(S Q1ONa407*qoM6N<$g8J}H)Bpeg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/butterfree/anim_frontf.png b/graphics/pokemon/butterfree/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..94768a4e6271d51f2dffc8ca8d9516b622767e0b GIT binary patch literal 1134 zcmV-!1d;oRP)9?*DUQti8SF=3;|lF**O7v@kGG-Z3#!d&O$K&G7j6z92z8000B| zNkll*O6vuhulubva@X|p%lF?*C7#sJ%$kj+^d1iGF6Q;@FlmO!naHvMXhXl%QmQ*+UAgLHkEo-PR z5rK-a;5!BM2`HsK>p;PPl?v!?+7zI2cZ9=>0E+n(qg}7<1OUotH(@7_0;qy1*)2vJ z&x;-a@BxC7bP6iYbI5irL7>1-55xeOmzObQ9YAt?9+~qNumKojCEhG{fR|&q3c|L8 z1Q;SxrU!gXmp~BmP$j@PumHb$3A~64;IsKJ5hhqd2UPvKKE*pT_Un8;t0P|IDn6g_ zz7N&xGL@$%TMtwr$a#rluBzWnp;Z-Q~o63KwT|w!QP#_dv0~yAgm`#qg_xxWU21{R^7dIB-MOgH#2Ua^ zvYWboe&J?{QaUMlyO&Pm5Qpzajt+Q_bWZHKmZkrD$tgIr%Ve}1sH%y*hqySuQC%L%{_u7KiBUEW$yN> ztn`zx2CcbI@?2kn)tUPw&GjWb>CD{|T(9tCXYS2vXaG8MPnUXt?95$U8Fux~+#A;f zbmpFpO+aVvD-%Fkb3e&UZx>PKPPwTBt2Ot`H6<7*b9an!YtWjz`H&d2=6+><{abSv zQzKw2b6=Q`5F*XpNsj>1+?~`lS1HZii_O64hDvL8&3%x7Z_Y5-esIzKjsJ2iH1{F7 zovOEC8YPBc`imS7z(Z0rLN)t%ZL^g3Rv)7bZER47PX z?q5Bxxeq|?Mv$oND+IhVKxv8H)Jn9@1Pq{xoYdA@Z~(^W(wKwxkE2!JSuAHZam`DO}{jm((I_vAwg~p-4TGv5Ds8h$qBMU71 zV-2vnAxujFS=g|Z%r(#tnt+r8WJ%NoAiFRTx-DbZgkyUv(w#&Z&a9xiP)@pztw8^U z-2G(sXTXGYDI{Z^#)q%LW_j9b2sL)8k0H1ouVa(*FgV~drd;`Ljr~D7>;=5@x(lFOA`@pvV(xo*gIxjqA8d_8fF9}W0tz`wfw0K2EaAdP&9 QcK`qY07*qoM6N<$f(4?K6#xJL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/golbat/anim_frontf.png b/graphics/pokemon/golbat/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..b90cc8e7cd35ce7edfc22a6613665ef99e3a505d GIT binary patch literal 1213 zcmV;u1Va0XP)Vh~czYP4cvV%62v|Ns9000000000004EG+b000C? zNkly>Ht_6u>F6fHU?eGsuuZJc*3sE|e}ZibRVI3g}qUK4h+h9LY^UQQ6*D zw4t4?NCC+=XLGtVW5?zn>${Ukkw;SQ*cN?&AnM*v?~8Z$o~Hd9q=UX}SDLt|z3@*_ zn;u*ATr;rm2Q7LU^gT^G!GmT3(Gbt!+hDVS|81k*WuACC0phf-_d!3Gj|O8iUriOtHY%KZd0&oYyf+l4PA{!4n?m z9N~cS91H>W+qAU@>QAp|Y zx59)4mAcG<1HN7|E`aAh`%_9onFbTY#>X}269IHCeBZx!sJ8`x5Q!dK3O)ZJ&_2Gr znBGrv03v6XSHc2e0(c*4U;Sp$rym{I>JS4gaX#Pd7y>kZPkR_q8o=jV>(CCmlsdJqfX*SxZZ0A^?eL;$CWde&=}?aBc1j`Jn6C!a9xPksj<&SSO&pmGi$iV$<{mK_Cc|u?W1DfJbXl7+V5X&=qC6E_ndpP6E<| zL!Yo3pxsK~xCBI1;6|*?%nuSkV#7sum9us;CnN^~0Oo{URe+zMs$^!~129A=gO@URc_K>*MdFX8KkTgN^IA0q(TuC)h&;ok+k?fKXP=+skmI_zqF_*nvGPjdnla6(w^ z{z1rOgltoD&Q z3_%cZc;1wx1GyXUGPG7;7uc||mWJ2#_`m#@1@BW94W&(rhSDaxhSDOthSD-I?HWq6 zlp0F2lp0D)35tf&B1J<td8+TDN;Ny(F0uP^UxG&$<0sV}{*$^uA32sXKg&V1Wm=I%vFa`q%y>OSRi9;CQ z=7GG5y97DUmYggNe#?FX2ervTzo z#I-C0u-FHP#kBOy)Iz~xR58~8#8n`D07%l>v56`HCBM{wQe{MxY8E7#!EaE66X#9)$X00000NkvXXu0mjfPrE0Q literal 0 HcmV?d00001 diff --git a/graphics/pokemon/golbat/backf.png b/graphics/pokemon/golbat/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..2518aca8162d66550e46135b5c4873292b465c26 GIT binary patch literal 540 zcmV+%0^|LOP)U|;|M00000w737~0004} zNkl1_bV9h}04kh^lDz-}fgZ2~p zWAzzhUntpIDK{VzKi{1XPbRnci!r~xbQi#5cb#$oED3sV-}+z_R1)<-q=O2=kGxnA zYJZDh07%TKAbwv_3{vofaG@T=?BnSmMM%_kP6$i8zxi$>=p|r8hsn&J&mzGskUspC zPQmU^uegQ-^vl;hFHZ*yLI=J-4ao30IB_BjG$?Y80CRu|HO=X+E@bFxs4*cBz$q0t zV31fa|A3NIfsCaifIh9Eg(g literal 0 HcmV?d00001 diff --git a/graphics/pokemon/gyarados/anim_frontf.png b/graphics/pokemon/gyarados/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..46dc45b31d5a8d352d5cb13f812734dc6a229d6b GIT binary patch literal 2256 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/hypno/anim_frontf.png b/graphics/pokemon/hypno/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..692bb8933b3ccbfefd61edbe78d8e176d6da55b2 GIT binary patch literal 1317 zcmV+=1={+FP)L_dy&g-!@IGoRjj8fj)e zOVTIVa*xwSWbvUar;N|Q91j37fRIfNXiGdm0OaPTINwyfMtOK zfWYGSvf{ceXz&aUtZO_+)lzIb1b_j{0-%=0L*&aE0RhN>fJl)8r-MYD6LtvT$7%~e zV}Rzg>5B&juOe^S7Ay&XH|#FJnrS`{07-Hv1FT?tiFGS$O;W2#QDAmG0KR*LU1s@L zy=_c^T?9@L__oS`?R^&RZ>ZnA0s)|VBLqq{4m`zLddC7Nu-mx8zOOwjM6F%2M*$=0 z{&jCZ1oSWPYMl@rU&k0;9C>4P8u*J=8^#RKIvIW7?71D$JQ;FWwMhJA{T5fWkMJbpR5J8>ezKikVIfd z1KwR|B2kNt7wC>7N-J$6U?c$8+UyHS3?KkjLY^cB5KqDgfzOS^M=55fNo?Y@69Lg% zBGl=$Q)|Q=O$6?yC|EEBaG{#95-gB)nYPmpGD`yu^bDX-MnE&N4ns2`@&D};G!W?? zA#nqVj&Hdw5;KrUTYRayF1ckOxm#OIb^hh5>uyF3WGXPcI2GnqaDSXpWh*q0slW)! z(Llu`9V3K-apNbvMorb2A0VJGVC60#nO3vPBB+Wmka|R5L@Nsb0t2Z>1SX78wgZ4Q zEh;e6wY$4i2!Ste2}}q;@h}))8Ql?>;P@||;n))f{IPLcU?RXT%rBNnmU8# z#{gj|cfJ1DuPKSZsiM=LuaA4fBeHb|2n=N8&~6{h%28+_QG^@F$ZquEIuQsA z}~vo+x2pqfqd25yEIElCqiH#XXZB_5;t3BAc%ZKMM)Kmq3@xC_!+>#$;I)7 z@249G3@3x(V32MgQ1qEWWC_L~!yh=1%Q6M3N!j`3;QKy1C z19VKY(Ihu#Xf(rHc70v^-XMvW%;Dc b|55uF9Ux5~hPx!>00000NkvXXu0mjfyGKPE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/hypno/backf.png b/graphics/pokemon/hypno/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..a92c0b9917e965282ce8aa6f368664cd5345ea73 GIT binary patch literal 763 zcmV-g#5e?`kgwbIyTl{bhI# zT(Pbu&;r=3lIXK#8!+sa0t{M!d0E3|H*G*r*66cg3t)_k8b-jD;26zT7{IVbuh&x+ zU=*-!9WY_cxILXtIaz>P2D}MCFJKG_oDTujtO}QuN8$nIO9eCuw@-O?!-3)!Rf6jp z;9+(NMR@e6`84L_tqdFfqC~g0Sb83TPXiCSdK-pAEzf7bz0lPFGYE76zQ9>~dMidy zkI1HHsLi1Xs1Jk7z!+gRCg3{Gy8!xoA8_h`)gn*_gut&tY}x_q z+1e&zBa&n%CY!Q^RRY`NHc65vyp!+S-HE_GYgP)09y_5{!_k13Q)XWvq`|Sx&!xcr zZI5YLAXJ4fDwmd6?PVgRe50F;Ai-x&<$AjI)r?D_60)6bSHK2CDDLje3NgV+m4 zzN~hnG59^naVt(_4w!U7K(y2W)An#YAb|Ts0G&}$^jQaJ!_zj5)piXPz%>uO;$IL@ t0OM$pT|7IuO~A~#d^C(yjX~!_#Xqdu9V?a6GI{_2002ovPDHLkV1kE$S=Rsn literal 0 HcmV?d00001 diff --git a/graphics/pokemon/kadabra/anim_frontf.png b/graphics/pokemon/kadabra/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..4e2c40e41ddd2f54a0ccda3c394de1ff54664668 GIT binary patch literal 1281 zcmV+c1^)VpP)y=&w~6u@PHaIsBxr7e<6U{@SH)1**g!ZzXD=5NTGS?#X8A5NL#JOe%;m!Nb1_Cu3gSmkIAAkn38IJ*51UT+IAcE~}BG6sz&IUqQ-3EA$_%fMAEbh3l zx(eV5U>32vXZ!R9?jd53B*~Xk0g}jmql3LcfC%x;48S=*f{(7}0lWKGzFmIqmJwaX zlY~!fh{mtaQ{T2}c$LdG3A}xM(Fq+}4F8IA#?$u0Q=#?lPMLueA^5n%Q=KtbDG+8& zx#{=gfH`jHS5v-m*en+b6;?{8{R}=oFv_V89k%hO!}JD>4sXN8UO$VPyGa!AU!nQ? zW{eSdke^~jZP?HHSsMu0dwGxog$NA~$3UZuEDIaJc4>(d9zip3(6?egpF@Qv1{U$H z#pIyd?M47U5YVJ083L{qgq3#!=L8f}cG z<-oSH{3*qGal+BCB%tN{#^`;QwpUl(wrdda3&%QLGV{UhY&e#SbbV~2jGW(^^cngG z#eTq8HwJ0L|3+`paDqYtu_?F2 zVkttOu7?D?;#IDTwbke;#t6Xx7%jJKG2xo{#Mt!-uq04Cnwm&HVhaM7g7CKJcZ;W6 zMb?sY1oX3>N|qJ6%N4YqT`D4SOaQSKE{*$3x=uZx{H3Ut1jHI^h4ISukxN8X?1&i{ zfjN0MOJ_&ALkDA!O5Eby`4@c4(8>Fi$idGhv#Hi9eP3-2vl-&o)46Wr&2W(B1Psel z02>G0I9J%+VY@q#-2tw$A-kB7P z>vLfsG)M{tse$M(2uA7k*(Cw=ObQ060fk5l`cOJPra9>0Krl!R+MLA=7!lgtaYny8 z=|C{5p@C*y)V`5mY@TL<%LOB)%I~k3o;V!C5dBQ82}=-yu_x5P1~4rg0SfC!6*Cu% zeW?btrxo&^%*?E9#M78`N&qsUism zwn#8ukYKD`tfw75D0#9ptG0n87}&}MW9@`0Hy`+e1T=6w5{&9lFkbzLm;(!g+8x

0~&0yS%NXH-RvftDHu4q>R)71 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/raticate/backf.png b/graphics/pokemon/raticate/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..3812d02ddb5c01c47cd9674d926474dcb905b642 GIT binary patch literal 728 zcmV;}0w?{6P)g;PAN6;D~T=aG0n-c{XdP0007G zNkl0l|G!isKhq(r<+iqw&d zNEC?9Qi@x5bg+^iC9{7x7ITi9l%9g(?x&gW`(}<>?X{k(^!5edlXwBB^YocF0O@T# zy$W*Pt$fco=b|>8ra);@*;!Xg^J&KUq^ieo200&2ay|jbCs+QfmiY|;M4Fm50GxWn zn{zt@0W$_$WRML!;LM5y0BV3K^cduOq3xCfM9QpE7{5aqrO`2g=SAriq18F8Ui~)OJE07j)1x=0gON}yfQxrEEE}ZqR^ORS;n-qh7RavmN7`EA3N(fq7S^xk5RWFy!0007c zNklF>ezw6o7rwdFX)DcbvuS*E9?D43G&H>K$ObaN*TT=0H8|H*$y#c@8b;!ZP#V{h)3^VBR>6dV|M^VNZY{J zX87u}dAoup+GqSg#PiwY=QQ^Kd?byTnQ7_Ufz`&wq*+e^M4QlNVTm(aCVik)$5QI6 zg;{2ISo8-myY4kpu)KDlMA0haDs{CYQLTs6Q~s%bLb ztx~PiuA6>g{M6Ic+?a5;pI%;u0X^>e!zi|oeeC0(4S=w@qYPzmNO>&jIq#TJ&@mru z#F`#Kl4|Vv#cF+$vSE9S*^0H2^wt*xzgSC6zmJ1rwLt0@>-}{puUI`3#DiEpz*elv z2W-U3oJl^2^?sog9OJ+irTTH-l4#^UR_Q3OzhdguUF^EtiaNy9u$jHc;Xdrlq*!cMPKv1AqKpOyxXq1kg^J(VBuX zb%SE>0c5vUr9eUkfK`|kP@vIABk;BXnCJCya{~a|01h`l*#kg0pj?a0O$O(O_h*1w z1KBKZvZnHtbVWt)#}DNKd!V#lBLVR19s+sk6t<`S^KyF(?7FVI+}aRGS`PHuwH)uy z$-1s>v~P%tb+`roeqw;h(En}%jRmf{<$dpe%NaN?CdUH`HUXQ%w5qTvmcuy$DGco< zW|8*=fMXyc3z%c}s~j~=HUmKp92OA+4rd)~fa+KfOHuaW4nb1@_dfVxWBts!ZDXe$ zA+TT{B)NNkj)Xyuq+!HPu0_~O7zd*J=5rHt$`Imkl`9b$Kf|eSRw8nKf>sZj^(%c* ZlYe;JWL2389kBoa002ovPDHLkV1nw#-9rEX literal 0 HcmV?d00001 diff --git a/graphics/pokemon/rhydon/anim_frontf.png b/graphics/pokemon/rhydon/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..31fdb1e04f6b8396853a756606db86a9d0423e8f GIT binary patch literal 1595 zcmV-B2E_S^P)8q_5XWhPg-Y*7fHZ-%OP*jDNUTeD+vB`&m;affKa=i zGC99M%32`o*~4*ypRwuyqa@HB+%P0cB{#oBd&k9D-Y%gS*G0-CzS9J%_D=S`Z2_&d zfE0mrH$3)BzLu7swChbK0DvKINca8EqcLO5bv7|Ji~s@5hZ_h2x>+e08dHYrqyk?I z0Sse%Nhe5)02t7q1mrG+Qvhjr!O_mU_8_Wfi|Km;ObH7A zn9lpBeNZpw%jD}!LzYSa?&MZE9M;R#Qi?BCnPIwVi(3Hts7rwT57IKs6l3H;KkgLF zL4A&?{_2Co@P+X}2)t8(TC*7BZ@(($AF7L>gpQ*aU1vwP)}j?py`X~(!EE*trk2U0 zn?J|{yJRKHm18kfUpM<+gYfjV5x=gZ{*GF+Fb!>UmpaI|-s2T_Ig>3lwa z$1&-prYcvIu<+R1gPm1X;TrSHpW+D^sfbYi(DX6cgPpm5E~gjIvBJ5+Bf*T3C457l zQ9Nzz^D6={>3jqDY?YG(v{%#lBKCmtKzrWd^YP27!Z;T-0+<=;kG%yjDTm}@Q6n(E z16bYx%;&g=x~`Wo5WxKkZNXqRlUYsnnW9TbC!#vF9a6*xXs>4VRSUHJAtK-qqeSM) z-+d3{T>uxX{d2AS=~>>pJ;Zw-b$#BHzTz_P_b4ni^ssb{zH_Y0t{poqOOl|#eu;}C zp{48H?>+5nBJyRA_miou+w0EGSb{Ah@~$kEcE3S{r^&jbID7=Qn5_;H^%{~n6XrB| zVDPvX-?$g2`2$3mp{s|0p2vUH6Xp-w_2~FPd-Rz$4=L)INCYyh2W z(8c2cVEUG(GqxPi+m)~$2bWa00&w_!0;u0oBf+W1qzeXg$ieJ#G@+(rna#t2gzT(l z@BQ4g68Qefz#f;=OAjc1H{Q2^*=iR1*$igikN0~sYq@&om%tvVL^c%VqBLM>dLxhz z?QvjiYh$#qT$_)?qs| z(hdN}*^?UtaCKA%oZsJOioh=)StB3hz50&I*w`al01-1#b#YeWNf{dM=p{F~8+?M|D#2t^)3sYcL?i`AYLvlxR@|#fDw_z? z78o(1cvnzBiVS^$b)OX zt_ct1U4e1fr~@7k0A2mS;znTb-UM&;!xI00@B#yWQ2Bs4$<;9AO=a taZf*JESv6d?(2tw!gKC_{qT>TzW`}Wz_llm>Z1Sv002ovPDHLkV1l%y5Sjo0 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/rhydon/backf.png b/graphics/pokemon/rhydon/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..4e40dc7798cfcfa5b9abbd63c71625d6fc545a86 GIT binary patch literal 764 zcmV@nIj4;A%JOgJ;Jy`K)eq}h2aC=*z@9ere7&AQFbn`J?t$Rk z`UimW%GF?dOtNqdvL;i&TY;e%TDJR8Iom0ql@Wnj=?J)HrUd|Cxd+y6iOwuXK0asn zS)(IC2~bt*V$Q&~-S1+|D9?R*pV$0#w>#{Q?Y{8|FdA$EUS3b{`_sAYQeKWVG^QGA zvwq&6J{Dad08p%gZx7%1=kxUxK-?p7m>Lh;&*zWxqG%J72(~7lK2;&WL<3|6Fw;VS z6^sCif0{1%JXU2AqDM?vL%78qz+LKO14BQ+M3SH_>1tMbOx;5~5)I0}X;mq zOO0ELm>ozBRiephyumKC(?OXMLFC^lNfhwXoO1BFN^3g-m7?Nn6Oj`P&(>nOhRyE z@JcMwoK0J_`Tk@g<~ndlRhCR1SBXfe3cBM20000H>gWl%mIXP1J`1qu~#Sjn>tT`!I2mk;800000000000000000000v*W0x000BT zNkl!EWO=5I|+aK+Z#RrR!?UNbS+9!ns;p*4}Fa6nmCe7+oDj3Ht}_FZ6Fa zBWKs5E%{m$4Pn5B`7|7jNX?6)_wgScGr-%x@)K;M=mxb+K}WO4Y2pNY0*N!4LXq;^ zGQACG3zGon_%`%3V6=0NzeZR1#R8J60NnK=bG~GLUt6M@0VY0PMpxS?yQg|bl|oLn zRADV@RDQWnZGAeIMSSZ&C^eqP5!pd3dT<{XHk$yjdyp_g01h0W?sr?qw^H#! zIv?y7l6lJe0M^J?%Qt)mJn}R(UjYu#8UYgCG|7+oyKlvYGx+H@pfo|SyrDee5Fi2W z|A>hLaFzLD^q3AF_UpHbu!UFx$bN(l(fdIm^H}kQNjk+doIsfvi^DQRuP);YU(&rd z`;OD^jNv2(z=9;e@2Rp_@{zE}O9VOGWew;O5|46=F7b040#PTKCGGakJxURxtj-Qe zaB#e9eCwj<h3FG@8A zXvckqfZx*G91*YW;X`e?QDCv=ccBYgdv6bOwg>*Z0IE!?bDXoqv8XqxN8XIWV?ZC)f6HmV?g)#8dX5SPra04wH}C!HLzKy^h9Jf|({v1M@;D|k-oQtH*+XT(HJ+MkbXEAT_ zyNLz%&~Mnp7@Ko%-d@{-$cN@c?YBq!3R(eRk7i-fn(`RhL+-ix=iKJ4*+vUn z@0tsH__?+GoLL{7T>09Zf!-dz{O!SsUx3pB_-%U}+QXN>{^WAq6F9!D zUNFYazJ!+ld%+kx*$a27{CB~)G2R8^UmO1b0B$hZxVMr`00000NkvXXu0mjf(tZ9P literal 0 HcmV?d00001 diff --git a/graphics/pokemon/rhyhorn/backf.png b/graphics/pokemon/rhyhorn/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..c5a253b3bec976c848889f03576a47c6973a3fbd GIT binary patch literal 664 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 R0)zkn002ovPDHLkV1jZ;ka++A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/scizor/anim_frontf.png b/graphics/pokemon/scizor/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..161c28cb5b6a209184f02f029c0eef5ac61a9c74 GIT binary patch literal 1467 zcmV;s1w{IZP) zNkl`(70_nGh!k}TjEY%{ z6tI9SH6+WGfh;Xhr1=M$JzLjy2>RFb-BF_W;{+`QBEYt!_u;#D@7}xbvt@mfmwUi& ze{}$W5^y_4;5gm9VVE@updY6@*er#^-k>ynHdeoVdcy6Up6jn3V7H5;C*l|z+A$IJuXNXv?ar$z8eNM{`A_atGuY$S$GoByG{+jj)(e14s2L}7p1`#a0qyX zov5qq%7G04j8}m9``5299x5Os2bKd8gcLR4I!e1eih)UW5KIUGPy#B5$(069gkC`i z2_UU1Fw5nT9DEeAV|lZ7)g1NHfCHkn-^tt*nutCo>Zp)2AjpIx{S$dFZcM-Fsy zVtTjAeU!Yvh#{^!Ap2TBvl#X;OUHuAssok$@BY#O+k#x-qow?&1-$#DUJ=}K0?xzGBL}WKIS<|7 z!pBBiJ3RC{*3k>92KNTeC|^Mvpg%VWX8k3?0<#9dIa7c`ebrxKc1BUx)^Is54wxm_ zpN>H;STd*(w#QikP!js9^?0%HsK0lFY9ep5=lEQx z`$1(B!8WTLN7L1m`kZc{pn3msLC1->ny#Z%0cpb?N{W#IINl82E9shNug7w}kWjN3VG@ zjyRcBZm{dt(OJ$aFFVY6d1X*H=Wf@6zXT@zb9Ub@K7qjV19s<-z(4%*z>MG?_x2K6 z;2(Ao+p|GM;E#Kanr#Sth-dE>m%zGw=3n$pe5VgpbLJoyl@A&8B@f5D{3LldwO__qr1 zTB$4r{_kIvKp1AdQsDoQ6oS`Uq7--l!KumHKtiJ!|xTAmEQ=KX6CDQ!N^)(SDTsdfb40fWwP%gA0^KfT~4EI%$w# z&Xh>dlQgUX2s3a6iOcm=!_B}Y6^lpDOD^}_e-M+E_xFUL6iFy~U+x7gAx6{jY6)^L z5aDV)r6@Xk5=Fphyaezw^YfBsVwyjJ{+L{-5g=6mV<;ds*=Yo@A)(fZZ39q@01ngg zZDV^z*^B_H?Vw{PEnqtW*m}4mpqYwt1kkE%LklQJ0GsK5a*}4ccO!t!i-qbyeFV@8 z)l=0R0c!JsX#{8kjS;{Gw>~p8M*usXoY!~J909_-0W4Zwc78yA?+yV@@PEt+{{e&I V#MIHgCsP0b002ovPDHLkV1fi{tmFUy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/scyther/anim_frontf.png b/graphics/pokemon/scyther/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..38d5b859e75e84e4322a839461cb53c9261c4aaa GIT binary patch literal 1318 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/zubat/backf.png b/graphics/pokemon/zubat/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..59ad49e138ef6247f720ca1f1da3bb7b4713fae6 GIT binary patch literal 566 zcmV-60?GY}P)jwom&X=x(lWZa|-CZ7P zH!rd|pW(^b literal 0 HcmV?d00001 diff --git a/include/graphics.h b/include/graphics.h index 06b56f0817..a42b14fe67 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -70,6 +70,7 @@ extern const u32 gMonFrontPic_DoubleQuestionMark[]; extern const u32 gMonFrontPic_Bulbasaur[]; extern const u32 gMonFrontPic_Ivysaur[]; extern const u32 gMonFrontPic_Venusaur[]; +extern const u32 gMonFrontPic_VenusaurF[]; extern const u32 gMonFrontPic_Charmander[]; extern const u32 gMonFrontPic_Charmeleon[]; extern const u32 gMonFrontPic_Charizard[]; @@ -79,6 +80,7 @@ extern const u32 gMonFrontPic_Blastoise[]; extern const u32 gMonFrontPic_Caterpie[]; extern const u32 gMonFrontPic_Metapod[]; extern const u32 gMonFrontPic_Butterfree[]; +extern const u32 gMonFrontPic_ButterfreeF[]; extern const u32 gMonFrontPic_Weedle[]; extern const u32 gMonFrontPic_Kakuna[]; extern const u32 gMonFrontPic_Beedrill[]; @@ -86,7 +88,9 @@ extern const u32 gMonFrontPic_Pidgey[]; extern const u32 gMonFrontPic_Pidgeotto[]; extern const u32 gMonFrontPic_Pidgeot[]; extern const u32 gMonFrontPic_Rattata[]; +extern const u32 gMonFrontPic_RattataF[]; extern const u32 gMonFrontPic_Raticate[]; +extern const u32 gMonFrontPic_RaticateF[]; extern const u32 gMonFrontPic_Spearow[]; extern const u32 gMonFrontPic_Fearow[]; extern const u32 gMonFrontPic_Ekans[]; @@ -110,7 +114,9 @@ extern const u32 gMonFrontPic_Ninetales[]; extern const u32 gMonFrontPic_Jigglypuff[]; extern const u32 gMonFrontPic_Wigglytuff[]; extern const u32 gMonFrontPic_Zubat[]; +extern const u32 gMonFrontPic_ZubatF[]; extern const u32 gMonFrontPic_Golbat[]; +extern const u32 gMonFrontPic_GolbatF[]; extern const u32 gMonFrontPic_Oddish[]; extern const u32 gMonFrontPic_Gloom[]; extern const u32 gMonFrontPic_GloomF[]; @@ -135,7 +141,9 @@ extern const u32 gMonFrontPic_Poliwhirl[]; extern const u32 gMonFrontPic_Poliwrath[]; extern const u32 gMonFrontPic_Abra[]; extern const u32 gMonFrontPic_Kadabra[]; +extern const u32 gMonFrontPic_KadabraF[]; extern const u32 gMonFrontPic_Alakazam[]; +extern const u32 gMonFrontPic_AlakazamF[]; extern const u32 gMonFrontPic_Machop[]; extern const u32 gMonFrontPic_Machoke[]; extern const u32 gMonFrontPic_Machamp[]; @@ -170,6 +178,7 @@ extern const u32 gMonFrontPic_Gengar[]; extern const u32 gMonFrontPic_Onix[]; extern const u32 gMonFrontPic_Drowzee[]; extern const u32 gMonFrontPic_Hypno[]; +extern const u32 gMonFrontPic_HypnoF[]; extern const u32 gMonFrontPic_Krabby[]; extern const u32 gMonFrontPic_Kingler[]; extern const u32 gMonFrontPic_Voltorb[]; @@ -184,7 +193,9 @@ extern const u32 gMonFrontPic_Lickitung[]; extern const u32 gMonFrontPic_Koffing[]; extern const u32 gMonFrontPic_Weezing[]; extern const u32 gMonFrontPic_Rhyhorn[]; +extern const u32 gMonFrontPic_RhyhornF[]; extern const u32 gMonFrontPic_Rhydon[]; +extern const u32 gMonFrontPic_RhydonF[]; extern const u32 gMonFrontPic_Chansey[]; extern const u32 gMonFrontPic_Tangela[]; extern const u32 gMonFrontPic_Kangaskhan[]; @@ -198,13 +209,16 @@ extern const u32 gMonFrontPic_Staryu[]; extern const u32 gMonFrontPic_Starmie[]; extern const u32 gMonFrontPic_MrMime[]; extern const u32 gMonFrontPic_Scyther[]; +extern const u32 gMonFrontPic_ScytherF[]; extern const u32 gMonFrontPic_Jynx[]; extern const u32 gMonFrontPic_Electabuzz[]; extern const u32 gMonFrontPic_Magmar[]; extern const u32 gMonFrontPic_Pinsir[]; extern const u32 gMonFrontPic_Tauros[]; extern const u32 gMonFrontPic_Magikarp[]; +extern const u32 gMonFrontPic_MagikarpF[]; extern const u32 gMonFrontPic_Gyarados[]; +extern const u32 gMonFrontPic_GyaradosF[]; extern const u32 gMonFrontPic_Lapras[]; extern const u32 gMonFrontPic_Ditto[]; extern const u32 gMonFrontPic_Eevee[]; @@ -290,6 +304,7 @@ extern const u32 gMonFrontPic_Snubbull[]; extern const u32 gMonFrontPic_Granbull[]; extern const u32 gMonFrontPic_Qwilfish[]; extern const u32 gMonFrontPic_Scizor[]; +extern const u32 gMonFrontPic_ScizorF[]; extern const u32 gMonFrontPic_Shuckle[]; extern const u32 gMonFrontPic_Heracross[]; extern const u32 gMonFrontPic_Sneasel[]; @@ -555,6 +570,7 @@ extern const u32 gMonFrontPic_Weavile[]; extern const u32 gMonFrontPic_Magnezone[]; extern const u32 gMonFrontPic_Lickilicky[]; extern const u32 gMonFrontPic_Rhyperior[]; +extern const u32 gMonFrontPic_RhyperiorF[]; extern const u32 gMonFrontPic_Tangrowth[]; extern const u32 gMonFrontPic_Electivire[]; extern const u32 gMonFrontPic_Magmortar[]; @@ -1300,6 +1316,7 @@ extern const u32 gMonBackPic_DoubleQuestionMark[]; extern const u32 gMonBackPic_Bulbasaur[]; extern const u32 gMonBackPic_Ivysaur[]; extern const u32 gMonBackPic_Venusaur[]; +extern const u32 gMonBackPic_VenusaurF[]; extern const u32 gMonBackPic_Charmander[]; extern const u32 gMonBackPic_Charmeleon[]; extern const u32 gMonBackPic_Charizard[]; @@ -1309,6 +1326,7 @@ extern const u32 gMonBackPic_Blastoise[]; extern const u32 gMonBackPic_Caterpie[]; extern const u32 gMonBackPic_Metapod[]; extern const u32 gMonBackPic_Butterfree[]; +extern const u32 gMonBackPic_ButterfreeF[]; extern const u32 gMonBackPic_Weedle[]; extern const u32 gMonBackPic_Kakuna[]; extern const u32 gMonBackPic_Beedrill[]; @@ -1316,7 +1334,9 @@ extern const u32 gMonBackPic_Pidgey[]; extern const u32 gMonBackPic_Pidgeotto[]; extern const u32 gMonBackPic_Pidgeot[]; extern const u32 gMonBackPic_Rattata[]; +extern const u32 gMonBackPic_RattataF[]; extern const u32 gMonBackPic_Raticate[]; +extern const u32 gMonBackPic_RaticateF[]; extern const u32 gMonBackPic_Spearow[]; extern const u32 gMonBackPic_Fearow[]; extern const u32 gMonBackPic_Ekans[]; @@ -1339,7 +1359,9 @@ extern const u32 gMonBackPic_Ninetales[]; extern const u32 gMonBackPic_Jigglypuff[]; extern const u32 gMonBackPic_Wigglytuff[]; extern const u32 gMonBackPic_Zubat[]; +extern const u32 gMonBackPic_ZubatF[]; extern const u32 gMonBackPic_Golbat[]; +extern const u32 gMonBackPic_GolbatF[]; extern const u32 gMonBackPic_Oddish[]; extern const u32 gMonBackPic_Gloom[]; extern const u32 gMonBackPic_GloomF[]; @@ -1364,7 +1386,9 @@ extern const u32 gMonBackPic_Poliwhirl[]; extern const u32 gMonBackPic_Poliwrath[]; extern const u32 gMonBackPic_Abra[]; extern const u32 gMonBackPic_Kadabra[]; +extern const u32 gMonBackPic_KadabraF[]; extern const u32 gMonBackPic_Alakazam[]; +extern const u32 gMonBackPic_AlakazamF[]; extern const u32 gMonBackPic_Machop[]; extern const u32 gMonBackPic_Machoke[]; extern const u32 gMonBackPic_Machamp[]; @@ -1399,6 +1423,7 @@ extern const u32 gMonBackPic_Gengar[]; extern const u32 gMonBackPic_Onix[]; extern const u32 gMonBackPic_Drowzee[]; extern const u32 gMonBackPic_Hypno[]; +extern const u32 gMonBackPic_HypnoF[]; extern const u32 gMonBackPic_Krabby[]; extern const u32 gMonBackPic_Kingler[]; extern const u32 gMonBackPic_Voltorb[]; @@ -1413,7 +1438,9 @@ extern const u32 gMonBackPic_Lickitung[]; extern const u32 gMonBackPic_Koffing[]; extern const u32 gMonBackPic_Weezing[]; extern const u32 gMonBackPic_Rhyhorn[]; +extern const u32 gMonBackPic_RhyhornF[]; extern const u32 gMonBackPic_Rhydon[]; +extern const u32 gMonBackPic_RhydonF[]; extern const u32 gMonBackPic_Chansey[]; extern const u32 gMonBackPic_Tangela[]; extern const u32 gMonBackPic_Kangaskhan[]; @@ -1433,7 +1460,9 @@ extern const u32 gMonBackPic_Magmar[]; extern const u32 gMonBackPic_Pinsir[]; extern const u32 gMonBackPic_Tauros[]; extern const u32 gMonBackPic_Magikarp[]; +extern const u32 gMonBackPic_MagikarpF[]; extern const u32 gMonBackPic_Gyarados[]; +extern const u32 gMonBackPic_GyaradosF[]; extern const u32 gMonBackPic_Lapras[]; extern const u32 gMonBackPic_Ditto[]; extern const u32 gMonBackPic_Eevee[]; @@ -1781,6 +1810,7 @@ extern const u32 gMonBackPic_Weavile[]; extern const u32 gMonBackPic_Magnezone[]; extern const u32 gMonBackPic_Lickilicky[]; extern const u32 gMonBackPic_Rhyperior[]; +extern const u32 gMonBackPic_RhyperiorF[]; extern const u32 gMonBackPic_Tangrowth[]; extern const u32 gMonBackPic_Electivire[]; extern const u32 gMonBackPic_Magmortar[]; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 6b5ee4093a..ae93b05bcc 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -3,6 +3,7 @@ const u32 gMonFrontPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/quest const u32 gMonFrontPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/anim_front.4bpp.lz"); const u32 gMonFrontPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/anim_front.4bpp.lz"); +const u32 gMonFrontPic_VenusaurF[] = INCBIN_U32("graphics/pokemon/venusaur/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/anim_front.4bpp.lz"); const u32 gMonFrontPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/anim_front.4bpp.lz"); @@ -12,6 +13,7 @@ const u32 gMonFrontPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/anim const u32 gMonFrontPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/anim_front.4bpp.lz"); const u32 gMonFrontPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/anim_front.4bpp.lz"); const u32 gMonFrontPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/anim_front.4bpp.lz"); +const u32 gMonFrontPic_ButterfreeF[] = INCBIN_U32("graphics/pokemon/butterfree/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/anim_front.4bpp.lz"); const u32 gMonFrontPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/anim_front.4bpp.lz"); const u32 gMonFrontPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/anim_front.4bpp.lz"); @@ -19,7 +21,9 @@ const u32 gMonFrontPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/anim_front const u32 gMonFrontPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/anim_front.4bpp.lz"); const u32 gMonFrontPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/anim_front.4bpp.lz"); const u32 gMonFrontPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/anim_front.4bpp.lz"); +const u32 gMonFrontPic_RattataF[] = INCBIN_U32("graphics/pokemon/rattata/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/anim_front.4bpp.lz"); +const u32 gMonFrontPic_RaticateF[] = INCBIN_U32("graphics/pokemon/raticate/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/anim_front.4bpp.lz"); const u32 gMonFrontPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/anim_front.4bpp.lz"); @@ -43,7 +47,9 @@ const u32 gMonFrontPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/anim const u32 gMonFrontPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/anim_front.4bpp.lz"); const u32 gMonFrontPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/anim_front.4bpp.lz"); const u32 gMonFrontPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_ZubatF[] = INCBIN_U32("graphics/pokemon/zubat/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GolbatF[] = INCBIN_U32("graphics/pokemon/golbat/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/anim_front.4bpp.lz"); const u32 gMonFrontPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/anim_front.4bpp.lz"); const u32 gMonFrontPic_GloomF[] = INCBIN_U32("graphics/pokemon/gloom/anim_frontf.4bpp.lz"); @@ -68,7 +74,9 @@ const u32 gMonFrontPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/anim const u32 gMonFrontPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/anim_front.4bpp.lz"); const u32 gMonFrontPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/anim_front.4bpp.lz"); const u32 gMonFrontPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/anim_front.4bpp.lz"); +const u32 gMonFrontPic_KadabraF[] = INCBIN_U32("graphics/pokemon/kadabra/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/anim_front.4bpp.lz"); +const u32 gMonFrontPic_AlakazamF[] = INCBIN_U32("graphics/pokemon/alakazam/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/anim_front.4bpp.lz"); const u32 gMonFrontPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/anim_front.4bpp.lz"); const u32 gMonFrontPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/anim_front.4bpp.lz"); @@ -103,6 +111,7 @@ const u32 gMonFrontPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/anim_front const u32 gMonFrontPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/anim_front.4bpp.lz"); const u32 gMonFrontPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/anim_front.4bpp.lz"); const u32 gMonFrontPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/anim_front.4bpp.lz"); +const u32 gMonFrontPic_HypnoF[] = INCBIN_U32("graphics/pokemon/hypno/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/anim_front.4bpp.lz"); const u32 gMonFrontPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/anim_front.4bpp.lz"); const u32 gMonFrontPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/anim_front.4bpp.lz"); @@ -117,7 +126,9 @@ const u32 gMonFrontPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/anim const u32 gMonFrontPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/anim_front.4bpp.lz"); const u32 gMonFrontPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/anim_front.4bpp.lz"); const u32 gMonFrontPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_front.4bpp.lz"); +const u32 gMonFrontPic_RhyhornF[] = INCBIN_U32("graphics/pokemon/rhyhorn/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/anim_front.4bpp.lz"); +const u32 gMonFrontPic_RhydonF[] = INCBIN_U32("graphics/pokemon/rhydon/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/anim_front.4bpp.lz"); const u32 gMonFrontPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/anim_front.4bpp.lz"); const u32 gMonFrontPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/anim_front.4bpp.lz"); @@ -131,13 +142,16 @@ const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz"); const u32 gMonFrontPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front.4bpp.lz"); +const u32 gMonFrontPic_ScytherF[] = INCBIN_U32("graphics/pokemon/scyther/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front.4bpp.lz"); const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/anim_front.4bpp.lz"); const u32 gMonFrontPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/anim_front.4bpp.lz"); const u32 gMonFrontPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/anim_front.4bpp.lz"); +const u32 gMonFrontPic_MagikarpF[] = INCBIN_U32("graphics/pokemon/magikarp/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/anim_front.4bpp.lz"); +const u32 gMonFrontPic_GyaradosF[] = INCBIN_U32("graphics/pokemon/gyarados/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/anim_front.4bpp.lz"); const u32 gMonFrontPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/anim_front.4bpp.lz"); @@ -223,6 +237,7 @@ const u32 gMonFrontPic_Snubbull[] = INCBIN_U32("graphics/pokemon/snubbull/anim_f const u32 gMonFrontPic_Granbull[] = INCBIN_U32("graphics/pokemon/granbull/anim_front.4bpp.lz"); const u32 gMonFrontPic_Qwilfish[] = INCBIN_U32("graphics/pokemon/qwilfish/anim_front.4bpp.lz"); const u32 gMonFrontPic_Scizor[] = INCBIN_U32("graphics/pokemon/scizor/anim_front.4bpp.lz"); +const u32 gMonFrontPic_ScizorF[] = INCBIN_U32("graphics/pokemon/scizor/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Shuckle[] = INCBIN_U32("graphics/pokemon/shuckle/anim_front.4bpp.lz"); const u32 gMonFrontPic_Heracross[] = INCBIN_U32("graphics/pokemon/heracross/anim_front.4bpp.lz"); const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_front.4bpp.lz"); @@ -488,6 +503,7 @@ const u32 gMonFrontPic_Weavile[] = INCBIN_U32("graphics/pokemon/weavile/anim_fro const u32 gMonFrontPic_Magnezone[] = INCBIN_U32("graphics/pokemon/magnezone/anim_front.4bpp.lz"); const u32 gMonFrontPic_Lickilicky[] = INCBIN_U32("graphics/pokemon/lickilicky/anim_front.4bpp.lz"); const u32 gMonFrontPic_Rhyperior[] = INCBIN_U32("graphics/pokemon/rhyperior/anim_front.4bpp.lz"); +const u32 gMonFrontPic_RhyperiorF[] = INCBIN_U32("graphics/pokemon/rhyperior/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Tangrowth[] = INCBIN_U32("graphics/pokemon/tangrowth/anim_front.4bpp.lz"); const u32 gMonFrontPic_Electivire[] = INCBIN_U32("graphics/pokemon/electivire/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magmortar[] = INCBIN_U32("graphics/pokemon/magmortar/anim_front.4bpp.lz"); @@ -1231,6 +1247,7 @@ const u32 gMonBackPic_DoubleQuestionMark[] = INCBIN_U32("graphics/pokemon/questi const u32 gMonBackPic_Bulbasaur[] = INCBIN_U32("graphics/pokemon/bulbasaur/back.4bpp.lz"); const u32 gMonBackPic_Ivysaur[] = INCBIN_U32("graphics/pokemon/ivysaur/back.4bpp.lz"); const u32 gMonBackPic_Venusaur[] = INCBIN_U32("graphics/pokemon/venusaur/back.4bpp.lz"); +const u32 gMonBackPic_VenusaurF[] = INCBIN_U32("graphics/pokemon/venusaur/backf.4bpp.lz"); const u32 gMonBackPic_Charmander[] = INCBIN_U32("graphics/pokemon/charmander/back.4bpp.lz"); const u32 gMonBackPic_Charmeleon[] = INCBIN_U32("graphics/pokemon/charmeleon/back.4bpp.lz"); const u32 gMonBackPic_Charizard[] = INCBIN_U32("graphics/pokemon/charizard/back.4bpp.lz"); @@ -1240,6 +1257,7 @@ const u32 gMonBackPic_Blastoise[] = INCBIN_U32("graphics/pokemon/blastoise/back. const u32 gMonBackPic_Caterpie[] = INCBIN_U32("graphics/pokemon/caterpie/back.4bpp.lz"); const u32 gMonBackPic_Metapod[] = INCBIN_U32("graphics/pokemon/metapod/back.4bpp.lz"); const u32 gMonBackPic_Butterfree[] = INCBIN_U32("graphics/pokemon/butterfree/back.4bpp.lz"); +const u32 gMonBackPic_ButterfreeF[] = INCBIN_U32("graphics/pokemon/butterfree/backf.4bpp.lz"); const u32 gMonBackPic_Weedle[] = INCBIN_U32("graphics/pokemon/weedle/back.4bpp.lz"); const u32 gMonBackPic_Kakuna[] = INCBIN_U32("graphics/pokemon/kakuna/back.4bpp.lz"); const u32 gMonBackPic_Beedrill[] = INCBIN_U32("graphics/pokemon/beedrill/back.4bpp.lz"); @@ -1247,7 +1265,9 @@ const u32 gMonBackPic_Pidgey[] = INCBIN_U32("graphics/pokemon/pidgey/back.4bpp.l const u32 gMonBackPic_Pidgeotto[] = INCBIN_U32("graphics/pokemon/pidgeotto/back.4bpp.lz"); const u32 gMonBackPic_Pidgeot[] = INCBIN_U32("graphics/pokemon/pidgeot/back.4bpp.lz"); const u32 gMonBackPic_Rattata[] = INCBIN_U32("graphics/pokemon/rattata/back.4bpp.lz"); +const u32 gMonBackPic_RattataF[] = INCBIN_U32("graphics/pokemon/rattata/backf.4bpp.lz"); const u32 gMonBackPic_Raticate[] = INCBIN_U32("graphics/pokemon/raticate/back.4bpp.lz"); +const u32 gMonBackPic_RaticateF[] = INCBIN_U32("graphics/pokemon/raticate/backf.4bpp.lz"); const u32 gMonBackPic_Spearow[] = INCBIN_U32("graphics/pokemon/spearow/back.4bpp.lz"); const u32 gMonBackPic_Fearow[] = INCBIN_U32("graphics/pokemon/fearow/back.4bpp.lz"); const u32 gMonBackPic_Ekans[] = INCBIN_U32("graphics/pokemon/ekans/back.4bpp.lz"); @@ -1270,7 +1290,9 @@ const u32 gMonBackPic_Ninetales[] = INCBIN_U32("graphics/pokemon/ninetales/back. const u32 gMonBackPic_Jigglypuff[] = INCBIN_U32("graphics/pokemon/jigglypuff/back.4bpp.lz"); const u32 gMonBackPic_Wigglytuff[] = INCBIN_U32("graphics/pokemon/wigglytuff/back.4bpp.lz"); const u32 gMonBackPic_Zubat[] = INCBIN_U32("graphics/pokemon/zubat/back.4bpp.lz"); +const u32 gMonBackPic_ZubatF[] = INCBIN_U32("graphics/pokemon/zubat/backf.4bpp.lz"); const u32 gMonBackPic_Golbat[] = INCBIN_U32("graphics/pokemon/golbat/back.4bpp.lz"); +const u32 gMonBackPic_GolbatF[] = INCBIN_U32("graphics/pokemon/golbat/backf.4bpp.lz"); const u32 gMonBackPic_Oddish[] = INCBIN_U32("graphics/pokemon/oddish/back.4bpp.lz"); const u32 gMonBackPic_Gloom[] = INCBIN_U32("graphics/pokemon/gloom/back.4bpp.lz"); const u32 gMonBackPic_GloomF[] = INCBIN_U32("graphics/pokemon/gloom/backf.4bpp.lz"); @@ -1295,7 +1317,9 @@ const u32 gMonBackPic_Poliwhirl[] = INCBIN_U32("graphics/pokemon/poliwhirl/back. const u32 gMonBackPic_Poliwrath[] = INCBIN_U32("graphics/pokemon/poliwrath/back.4bpp.lz"); const u32 gMonBackPic_Abra[] = INCBIN_U32("graphics/pokemon/abra/back.4bpp.lz"); const u32 gMonBackPic_Kadabra[] = INCBIN_U32("graphics/pokemon/kadabra/back.4bpp.lz"); +const u32 gMonBackPic_KadabraF[] = INCBIN_U32("graphics/pokemon/kadabra/backf.4bpp.lz"); const u32 gMonBackPic_Alakazam[] = INCBIN_U32("graphics/pokemon/alakazam/back.4bpp.lz"); +const u32 gMonBackPic_AlakazamF[] = INCBIN_U32("graphics/pokemon/alakazam/backf.4bpp.lz"); const u32 gMonBackPic_Machop[] = INCBIN_U32("graphics/pokemon/machop/back.4bpp.lz"); const u32 gMonBackPic_Machoke[] = INCBIN_U32("graphics/pokemon/machoke/back.4bpp.lz"); const u32 gMonBackPic_Machamp[] = INCBIN_U32("graphics/pokemon/machamp/back.4bpp.lz"); @@ -1330,6 +1354,7 @@ const u32 gMonBackPic_Gengar[] = INCBIN_U32("graphics/pokemon/gengar/back.4bpp.l const u32 gMonBackPic_Onix[] = INCBIN_U32("graphics/pokemon/onix/back.4bpp.lz"); const u32 gMonBackPic_Drowzee[] = INCBIN_U32("graphics/pokemon/drowzee/back.4bpp.lz"); const u32 gMonBackPic_Hypno[] = INCBIN_U32("graphics/pokemon/hypno/back.4bpp.lz"); +const u32 gMonBackPic_HypnoF[] = INCBIN_U32("graphics/pokemon/hypno/backf.4bpp.lz"); const u32 gMonBackPic_Krabby[] = INCBIN_U32("graphics/pokemon/krabby/back.4bpp.lz"); const u32 gMonBackPic_Kingler[] = INCBIN_U32("graphics/pokemon/kingler/back.4bpp.lz"); const u32 gMonBackPic_Voltorb[] = INCBIN_U32("graphics/pokemon/voltorb/back.4bpp.lz"); @@ -1344,7 +1369,9 @@ const u32 gMonBackPic_Lickitung[] = INCBIN_U32("graphics/pokemon/lickitung/back. const u32 gMonBackPic_Koffing[] = INCBIN_U32("graphics/pokemon/koffing/back.4bpp.lz"); const u32 gMonBackPic_Weezing[] = INCBIN_U32("graphics/pokemon/weezing/back.4bpp.lz"); const u32 gMonBackPic_Rhyhorn[] = INCBIN_U32("graphics/pokemon/rhyhorn/back.4bpp.lz"); +const u32 gMonBackPic_RhyhornF[] = INCBIN_U32("graphics/pokemon/rhyhorn/backf.4bpp.lz"); const u32 gMonBackPic_Rhydon[] = INCBIN_U32("graphics/pokemon/rhydon/back.4bpp.lz"); +const u32 gMonBackPic_RhydonF[] = INCBIN_U32("graphics/pokemon/rhydon/backf.4bpp.lz"); const u32 gMonBackPic_Chansey[] = INCBIN_U32("graphics/pokemon/chansey/back.4bpp.lz"); const u32 gMonBackPic_Tangela[] = INCBIN_U32("graphics/pokemon/tangela/back.4bpp.lz"); const u32 gMonBackPic_Kangaskhan[] = INCBIN_U32("graphics/pokemon/kangaskhan/back.4bpp.lz"); @@ -1364,7 +1391,9 @@ const u32 gMonBackPic_Magmar[] = INCBIN_U32("graphics/pokemon/magmar/back.4bpp.l const u32 gMonBackPic_Pinsir[] = INCBIN_U32("graphics/pokemon/pinsir/back.4bpp.lz"); const u32 gMonBackPic_Tauros[] = INCBIN_U32("graphics/pokemon/tauros/back.4bpp.lz"); const u32 gMonBackPic_Magikarp[] = INCBIN_U32("graphics/pokemon/magikarp/back.4bpp.lz"); +const u32 gMonBackPic_MagikarpF[] = INCBIN_U32("graphics/pokemon/magikarp/backf.4bpp.lz"); const u32 gMonBackPic_Gyarados[] = INCBIN_U32("graphics/pokemon/gyarados/back.4bpp.lz"); +const u32 gMonBackPic_GyaradosF[] = INCBIN_U32("graphics/pokemon/gyarados/backf.4bpp.lz"); const u32 gMonBackPic_Lapras[] = INCBIN_U32("graphics/pokemon/lapras/back.4bpp.lz"); const u32 gMonBackPic_Ditto[] = INCBIN_U32("graphics/pokemon/ditto/back.4bpp.lz"); const u32 gMonBackPic_Eevee[] = INCBIN_U32("graphics/pokemon/eevee/back.4bpp.lz"); @@ -1712,6 +1741,7 @@ const u32 gMonBackPic_Weavile[] = INCBIN_U32("graphics/pokemon/weavile/back.4bpp const u32 gMonBackPic_Magnezone[] = INCBIN_U32("graphics/pokemon/magnezone/back.4bpp.lz"); const u32 gMonBackPic_Lickilicky[] = INCBIN_U32("graphics/pokemon/lickilicky/back.4bpp.lz"); const u32 gMonBackPic_Rhyperior[] = INCBIN_U32("graphics/pokemon/rhyperior/back.4bpp.lz"); +const u32 gMonBackPic_RhyperiorF[] = INCBIN_U32("graphics/pokemon/rhyperior/backf.4bpp.lz"); const u32 gMonBackPic_Tangrowth[] = INCBIN_U32("graphics/pokemon/tangrowth/back.4bpp.lz"); const u32 gMonBackPic_Electivire[] = INCBIN_U32("graphics/pokemon/electivire/back.4bpp.lz"); const u32 gMonBackPic_Magmortar[] = INCBIN_U32("graphics/pokemon/magmortar/back.4bpp.lz"); diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index cbe0955b61..9b44aaea5e 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -905,6 +905,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CHLOROPHYLL}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CHARMANDER] = @@ -1111,6 +1112,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE, ABILITY_TINTED_LENS}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_WEEDLE] = @@ -1275,6 +1277,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_RATICATE] = @@ -1297,6 +1300,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SPEAROW] = @@ -1795,6 +1799,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GOLBAT] = @@ -1817,6 +1822,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ODDISH] = @@ -2333,6 +2339,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS, ABILITY_MAGIC_GUARD}, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ALAKAZAM] = @@ -2360,6 +2367,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS, ABILITY_MAGIC_GUARD}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MACHOP] = @@ -3108,6 +3116,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INSOMNIA, ABILITY_FOREWARN, ABILITY_INNER_FOCUS}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KRABBY] = @@ -3430,6 +3439,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_RHYDON] = @@ -3452,6 +3462,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CHANSEY] = @@ -3710,6 +3721,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_TECHNICIAN, ABILITY_STEADFAST}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_JYNX] = @@ -3845,6 +3857,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GYARADOS] = @@ -3867,6 +3880,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_MOXIE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LAPRAS] = @@ -5729,6 +5743,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_TECHNICIAN, ABILITY_LIGHT_METAL}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHUCKLE] = @@ -11493,6 +11508,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_SOLID_ROCK, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_TANGROWTH] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 563eb436e9..0d95a5d954 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1340,17 +1340,32 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = const struct CompressedSpriteSheet gMonBackPicTableFemale[] = { + SPECIES_SPRITE(VENUSAUR, gMonBackPic_VenusaurF), + SPECIES_SPRITE(BUTTERFREE, gMonBackPic_ButterfreeF), + SPECIES_SPRITE(RATTATA, gMonBackPic_RattataF), + SPECIES_SPRITE(RATICATE, gMonBackPic_RaticateF), SPECIES_SPRITE(PIKACHU, gMonBackPic_PikachuF), SPECIES_SPRITE(RAICHU, gMonBackPic_Raichu), + SPECIES_SPRITE(ZUBAT, gMonBackPic_ZubatF), + SPECIES_SPRITE(GOLBAT, gMonBackPic_GolbatF), SPECIES_SPRITE(GLOOM, gMonBackPic_GloomF), SPECIES_SPRITE(VILEPLUME, gMonBackPic_VileplumeF), + SPECIES_SPRITE(KADABRA, gMonBackPic_KadabraF), + SPECIES_SPRITE(ALAKAZAM, gMonBackPic_AlakazamF), SPECIES_SPRITE(DODUO, gMonBackPic_DoduoF), SPECIES_SPRITE(DODRIO, gMonBackPic_DodrioF), + SPECIES_SPRITE(HYPNO, gMonBackPic_HypnoF), + SPECIES_SPRITE(RHYHORN, gMonBackPic_RhyhornF), + SPECIES_SPRITE(RHYDON, gMonBackPic_RhydonF), SPECIES_SPRITE(GOLDEEN, gMonBackPic_GoldeenF), SPECIES_SPRITE(SEAKING, gMonBackPic_SeakingF), + SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther), + SPECIES_SPRITE(MAGIKARP, gMonBackPic_MagikarpF), + SPECIES_SPRITE(GYARADOS, gMonBackPic_GyaradosF), SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), SPECIES_SPRITE(XATU, gMonBackPic_Xatu), SPECIES_SPRITE(POLITOED, gMonBackPic_PolitoedF), + SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor), SPECIES_SPRITE(MEDITITE, gMonBackPic_MedititeF), SPECIES_SPRITE(MEDICHAM, gMonBackPic_MedichamF), @@ -1368,6 +1383,7 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(GARCHOMP, gMonBackPic_Garchomp), SPECIES_SPRITE(HIPPOPOTAS, gMonBackPic_Hippopotas), SPECIES_SPRITE(HIPPOWDON, gMonBackPic_Hippowdon), + SPECIES_SPRITE(RHYPERIOR, gMonBackPic_RhyperiorF), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonBackPic_UnfezantF), diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index f416433aff..df7562c94d 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1339,17 +1339,32 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { + SPECIES_SPRITE(VENUSAUR, gMonFrontPic_VenusaurF), + SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_ButterfreeF), + SPECIES_SPRITE(RATTATA, gMonFrontPic_RattataF), + SPECIES_SPRITE(RATICATE, gMonFrontPic_RaticateF), SPECIES_SPRITE(PIKACHU, gMonFrontPic_PikachuF), SPECIES_SPRITE(RAICHU, gMonFrontPic_RaichuF), + SPECIES_SPRITE(ZUBAT, gMonFrontPic_ZubatF), + SPECIES_SPRITE(GOLBAT, gMonFrontPic_GolbatF), SPECIES_SPRITE(GLOOM, gMonFrontPic_GloomF), SPECIES_SPRITE(VILEPLUME, gMonFrontPic_VileplumeF), + SPECIES_SPRITE(KADABRA, gMonFrontPic_KadabraF), + SPECIES_SPRITE(ALAKAZAM, gMonFrontPic_AlakazamF), SPECIES_SPRITE(DODUO, gMonFrontPic_DoduoF), SPECIES_SPRITE(DODRIO, gMonFrontPic_DodrioF), + SPECIES_SPRITE(HYPNO, gMonFrontPic_HypnoF), + SPECIES_SPRITE(RHYHORN, gMonFrontPic_RhyhornF), + SPECIES_SPRITE(RHYDON, gMonFrontPic_RhydonF), SPECIES_SPRITE(GOLDEEN, gMonFrontPic_GoldeenF), SPECIES_SPRITE(SEAKING, gMonFrontPic_SeakingF), + SPECIES_SPRITE(SCYTHER, gMonFrontPic_ScytherF), + SPECIES_SPRITE(MAGIKARP, gMonFrontPic_MagikarpF), + SPECIES_SPRITE(GYARADOS, gMonFrontPic_GyaradosF), SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), SPECIES_SPRITE(XATU, gMonFrontPic_XatuF), SPECIES_SPRITE(POLITOED, gMonFrontPic_PolitoedF), + SPECIES_SPRITE(SCIZOR, gMonFrontPic_ScizorF), SPECIES_SPRITE(MEDITITE, gMonFrontPic_MedititeF), SPECIES_SPRITE(MEDICHAM, gMonFrontPic_MedichamF), @@ -1367,6 +1382,7 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(GARCHOMP, gMonFrontPic_GarchompF), SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_Hippopotas), SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), + SPECIES_SPRITE(RHYPERIOR, gMonFrontPic_RhyperiorF), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonFrontPic_UnfezantF), diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 9a02a643c8..dea22fc54e 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1338,17 +1338,32 @@ const struct CompressedSpritePalette gMonPaletteTable[] = const struct CompressedSpritePalette gMonPaletteTableFemale[] = { + SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur), + SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree), + SPECIES_PAL(RATTATA, gMonPalette_Rattata), + SPECIES_PAL(RATICATE, gMonPalette_Raticate), SPECIES_PAL(PIKACHU, gMonPalette_Pikachu), SPECIES_PAL(RAICHU, gMonPalette_Raichu), + SPECIES_PAL(ZUBAT, gMonPalette_Zubat), + SPECIES_PAL(GOLBAT, gMonPalette_Golbat), SPECIES_PAL(GLOOM, gMonPalette_Gloom), SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume), + SPECIES_PAL(KADABRA, gMonPalette_Kadabra), + SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam), SPECIES_PAL(DODUO, gMonPalette_Doduo), SPECIES_PAL(DODRIO, gMonPalette_Dodrio), + SPECIES_PAL(HYPNO, gMonPalette_Hypno), + SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn), + SPECIES_PAL(RHYDON, gMonPalette_Rhydon), SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen), SPECIES_PAL(SEAKING, gMonPalette_Seaking), + SPECIES_PAL(SCYTHER, gMonPalette_Scyther), + SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp), + SPECIES_PAL(GYARADOS, gMonPalette_Gyarados), SPECIES_PAL(EEVEE, gMonPalette_Eevee), SPECIES_PAL(XATU, gMonPalette_Xatu), SPECIES_PAL(POLITOED, gMonPalette_Politoed), + SPECIES_PAL(SCIZOR, gMonPalette_Scizor), SPECIES_PAL(MEDITITE, gMonPalette_Meditite), SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), @@ -1366,6 +1381,7 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(GARCHOMP, gMonPalette_Garchomp), SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), + SPECIES_PAL(RHYPERIOR, gMonPalette_Rhyperior), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index be917da7d4..71fa8f0fb7 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1337,17 +1337,32 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = { + SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur), + SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree), + SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata), + SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate), SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu), SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu), + SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat), + SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat), SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom), SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume), + SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra), + SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam), SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo), SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio), + SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno), + SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn), + SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon), SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen), SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking), + SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther), + SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp), + SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados), SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu), SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed), + SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor), SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), @@ -1365,6 +1380,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(GARCHOMP, gMonShinyPalette_Garchomp), SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), + SPECIES_SHINY_PAL(RHYPERIOR, gMonShinyPalette_Rhyperior), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(UNFEZANT, gMonShinyPalette_UnfezantF), diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 620c4fade3..837f8f3e85 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1300,17 +1300,32 @@ const u8 *const gMonIconTable[] = const u8 *const gMonIconTableFemale[] = { + [SPECIES_VENUSAUR] = gMonIcon_Venusaur, + [SPECIES_BUTTERFREE] = gMonIcon_Butterfree, + [SPECIES_RATTATA] = gMonIcon_Rattata, + [SPECIES_RATICATE] = gMonIcon_Raticate, [SPECIES_PIKACHU] = gMonIcon_Pikachu, [SPECIES_RAICHU] = gMonIcon_Raichu, + [SPECIES_ZUBAT] = gMonIcon_Zubat, + [SPECIES_GOLBAT] = gMonIcon_Golbat, [SPECIES_GLOOM] = gMonIcon_Gloom, [SPECIES_VILEPLUME] = gMonIcon_Vileplume, + [SPECIES_KADABRA] = gMonIcon_Kadabra, + [SPECIES_ALAKAZAM] = gMonIcon_Alakazam, [SPECIES_DODUO] = gMonIcon_Doduo, [SPECIES_DODRIO] = gMonIcon_Dodrio, + [SPECIES_HYPNO] = gMonIcon_Hypno, + [SPECIES_RHYHORN] = gMonIcon_Rhyhorn, + [SPECIES_RHYDON] = gMonIcon_Rhydon, [SPECIES_GOLDEEN] = gMonIcon_Goldeen, [SPECIES_SEAKING] = gMonIcon_Seaking, + [SPECIES_SCYTHER] = gMonIcon_Scyther, + [SPECIES_MAGIKARP] = gMonIcon_Magikarp, + [SPECIES_GYARADOS] = gMonIcon_Gyarados, [SPECIES_EEVEE] = gMonIcon_Eevee, [SPECIES_XATU] = gMonIcon_Xatu, [SPECIES_POLITOED] = gMonIcon_Politoed, + [SPECIES_SCIZOR] = gMonIcon_Scizor, [SPECIES_MEDITITE] = gMonIcon_Meditite, [SPECIES_MEDICHAM] = gMonIcon_Medicham, #if P_GEN_4_POKEMON == TRUE @@ -1332,6 +1347,7 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_HIPPOPOTAS] = gMonIcon_Hippopotas, [SPECIES_HIPPOWDON] = gMonIcon_Hippowdon, #endif + [SPECIES_RHYPERIOR] = gMonIcon_Rhyperior, #endif #if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = gMonIcon_UnfezantF, @@ -2562,17 +2578,32 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { + [SPECIES_VENUSAUR] = 4, + [SPECIES_BUTTERFREE] = 0, + [SPECIES_RATTATA] = 2, + [SPECIES_RATICATE] = 2, [SPECIES_PIKACHU] = 2, [SPECIES_RAICHU] = 0, + [SPECIES_ZUBAT] = 2, + [SPECIES_GOLBAT] = 2, [SPECIES_GLOOM] = 0, [SPECIES_VILEPLUME] = 0, + [SPECIES_KADABRA] = 2, + [SPECIES_ALAKAZAM] = 2, [SPECIES_DODUO] = 2, [SPECIES_DODRIO] = 2, + [SPECIES_HYPNO] = 2, + [SPECIES_RHYHORN] = 1, + [SPECIES_RHYDON] = 1, [SPECIES_GOLDEEN] = 0, [SPECIES_SEAKING] = 0, + [SPECIES_SCYTHER] = 1, + [SPECIES_MAGIKARP] = 0, + [SPECIES_GYARADOS] = 0, [SPECIES_EEVEE] = 2, [SPECIES_XATU] = 1, [SPECIES_POLITOED] = 1, + [SPECIES_SCIZOR] = 0, [SPECIES_MEDITITE] = 0, [SPECIES_MEDICHAM] = 0, #if P_GEN_4_POKEMON == TRUE @@ -2588,6 +2619,7 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_GARCHOMP] = 0, [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, + [SPECIES_RHYPERIOR] = 0, #endif #if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = 1, From 67b196cd860b2ad1ec9b839c25b57aedc1cd0ba0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Tue, 27 Jun 2023 22:14:56 -0400 Subject: [PATCH 032/256] Try fixing Clear Amulet palette issue (#3086) --- graphics/items/icon_palettes/clear_amulet.pal | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/graphics/items/icon_palettes/clear_amulet.pal b/graphics/items/icon_palettes/clear_amulet.pal index cadb9a6e06..3a3de6d49a 100644 --- a/graphics/items/icon_palettes/clear_amulet.pal +++ b/graphics/items/icon_palettes/clear_amulet.pal @@ -1,19 +1,19 @@ -JASC-PAL -0100 -16 -0 255 148 -86 46 12 -0 0 0 -231 114 114 -164 57 65 -179 83 91 -245 211 240 -234 173 227 -255 255 255 -239 218 139 -225 187 43 -127 97 27 -203 178 239 -140 200 244 -203 248 255 -150 240 255 +JASC-PAL +0100 +16 +0 255 148 +86 46 12 +0 0 0 +231 114 114 +164 57 65 +179 83 91 +245 211 240 +234 173 227 +255 255 255 +239 218 139 +225 187 43 +127 97 27 +203 178 239 +140 200 244 +203 248 255 +150 240 255 From 4c4365b0c16de343c989d1cb6b7d471a060d1c1d Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Wed, 28 Jun 2023 12:44:53 -0400 Subject: [PATCH 033/256] Config for LGPE friendship stat boost (#2257) * Config for LGPE friendship stat boost * Separated Exp and Stat settings --- include/config/battle.h | 5 ++++- src/pokemon.c | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/config/battle.h b/include/config/battle.h index 20cb7eb81b..799be9982d 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -9,12 +9,15 @@ #define B_MULTI_HIT_CHANCE GEN_LATEST // In Gen5+, multi-hit moves have different %. See Cmd_setmultihitcounter for values. #define B_WHITEOUT_MONEY GEN_LATEST // In Gen4+, the amount of money lost by losing a battle is determined by the amount of badges earned. Previously, it would cut the current money by half. (While this change was also in FRLG, for the sake of simplicity, setting this to GEN_3 will result in RSE behavior.) -// Exp and stat settings +// Experience settings #define B_EXP_CATCH GEN_LATEST // In Gen6+, Pokémon get experience from catching. #define B_TRAINER_EXP_MULTIPLIER GEN_LATEST // In Gen7+, trainer battles no longer give a 1.5 multiplier to EXP gain. #define B_SPLIT_EXP GEN_LATEST // In Gen6+, all participating mon get full experience. #define B_SCALED_EXP GEN_LATEST // In Gen5 and Gen7+, experience is weighted by level difference. + +// Stat settings #define B_BADGE_BOOST GEN_LATEST // In Gen4+, Gym Badges no longer boost a Pokémon's stats. +#define B_FRIENDSHIP_BOOST FALSE // In LGPE only, all stats except HP are boosted up to 10% based on Friendship. Unlike B_BADGE_BOOST, these boosts are accounted when calculating base stats. #define B_MAX_LEVEL_EV_GAINS GEN_LATEST // In Gen5+, Lv100 Pokémon can obtain Effort Values normally. #define B_RECALCULATE_STATS GEN_LATEST // In Gen5+, the stats of the Pokémon who participate in battle are recalculated at the end of each battle. diff --git a/src/pokemon.c b/src/pokemon.c index 6d5b3d35eb..5cbdffb663 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4074,12 +4074,19 @@ static u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon) return checksum; } +#if B_FRIENDSHIP_BOOST == TRUE +#define CALC_FRIENDSHIP_BOOST() n = n + ((n * 10 * friendship) / (MAX_FRIENDSHIP * 100)); +#else +#define CALC_FRIENDSHIP_BOOST() +#endif + #define CALC_STAT(base, iv, ev, statIndex, field) \ { \ u8 baseStat = gSpeciesInfo[species].base; \ s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \ u8 nature = GetNature(mon); \ n = ModifyStatByNature(nature, n, statIndex); \ + CALC_FRIENDSHIP_BOOST() \ SetMonData(mon, field, &n); \ } @@ -4100,6 +4107,7 @@ void CalculateMonStats(struct Pokemon *mon) s32 spDefenseIV = GetMonData(mon, MON_DATA_SPDEF_IV, NULL); s32 spDefenseEV = GetMonData(mon, MON_DATA_SPDEF_EV, NULL); u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u8 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, NULL); s32 level = GetLevelFromMonExp(mon); s32 newMaxHP; From ea7e6265dd4e0cea3b275bc51c981970d1cbcc66 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 29 Jun 2023 20:07:46 +0200 Subject: [PATCH 034/256] Small Grassy Glide anim bug (#3092) --- data/battle_anim_scripts.s | 1217 ++++++++++++++++++------------------ 1 file changed, 609 insertions(+), 608 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 3aa322ed8c..c32c6d2031 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -6142,7 +6142,7 @@ Move_GRASS_PLEDGE: createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, -24, 10, -40, 2 @middle fountain (also continues left fountain) - + call GrassPledgeMiddleFountain @right fountain (also continues middle and left fountains) @@ -13986,24 +13986,24 @@ Move_SPIRIT_BREAK:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_EXPLOSION_2 - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0x10, 0x10, 0x7FFF - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_TEAL_ALERT, 0x0, 0xA, 0xA, 0x7DDE - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0x10, 0x10, 0x7FFF + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_TEAL_ALERT, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE monbg ANIM_DEF_PARTNER - createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 + createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET call MindReaderEyeSpikeEffect call MindReaderEyeSpikeEffect call MindReaderEyeSpikeEffect call MindReaderEyeSpikeEffect waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SpiritBreakExplode, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 + createsprite gSpriteTemplate_SpiritBreakExplode, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 waitforvisualfinish delay 0x5 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 clearmonbg ANIM_DEF_PARTNER waitforvisualfinish end @@ -14092,40 +14092,40 @@ Move_OBSTRUCT:: Move_FALSE_SURRENDER:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_CROSS_IMPACT - monbg ANIM_ATTACKER - fadetobg BG_DARK - waitbgfadein - delay 0x0 - playsewithpan SE_M_FAINT_ATTACK, 0xc0 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x12, 0x6, 0x1, 0x3 - createvisualtask AnimTask_AttackerFadeToInvisible, 0x2, 0x1 - waitforvisualfinish - clearmonbg ANIM_ATTACKER - invisible ANIM_ATTACKER - delay 0x1 - createvisualtask AnimTask_SetAttackerInvisibleWaitForSignal, 0x2, - monbg ANIM_TARGET - setalpha 12, 8 + monbg ANIM_ATTACKER + fadetobg BG_DARK + waitbgfadein + delay 0x0 + playsewithpan SE_M_FAINT_ATTACK, 0xc0 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x12, 0x6, 0x1, 0x3 + createvisualtask AnimTask_AttackerFadeToInvisible, 0x2, 0x1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + invisible ANIM_ATTACKER + delay 0x1 + createvisualtask AnimTask_SetAttackerInvisibleWaitForSignal, 0x2, + monbg ANIM_TARGET + setalpha 12, 8 delay 0x1 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x7fff, 0xa, 0x0, 0xa - createsprite gSpriteTemplate_LargeCrossImpact, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x14 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x9, 0x1 - waitforvisualfinish - clearmonbg ANIM_TARGET - blendoff - delay 0x1 - setarg 0x7, 0x1000 + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x7fff, 0xa, 0x0, 0xa + createsprite gSpriteTemplate_LargeCrossImpact, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x14 + createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x9, 0x1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff delay 0x1 - createvisualtask AnimTask_InitAttackerFadeFromInvisible, 0x2, - monbg ANIM_ATTACKER - createvisualtask AnimTask_AttackerFadeFromInvisible, 0x2, 0x1 - waitforvisualfinish - clearmonbg ANIM_ATTACKER - delay 0x1 - restorebg + setarg 0x7, 0x1000 + delay 0x1 + createvisualtask AnimTask_InitAttackerFadeFromInvisible, 0x2, + monbg ANIM_ATTACKER + createvisualtask AnimTask_AttackerFadeFromInvisible, 0x2, 0x1 + waitforvisualfinish + clearmonbg ANIM_ATTACKER + delay 0x1 + restorebg waitbgfadein - end + end Move_METEOR_ASSAULT:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS @@ -14233,20 +14233,20 @@ SetSteelBeamBgPlayer: Move_EXPANDING_FORCE:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_EXPLOSION_2 - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x7DDE - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE monbg ANIM_DEF_PARTNER call SetPsychicBackground - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_ATTACKER, 0x1, 0x0, 0xa, 0x1 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, F_PAL_ATTACKER, 0x2, 0x0, 0x8, 0x2ff + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_ATTACKER, 0x1, 0x0, 0xa, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, F_PAL_ATTACKER, 0x2, 0x0, 0x8, 0x2ff waitforvisualfinish playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET choosetwoturnanim EXPANDING_FORCE_SINGLE_TARGET EXPANDING_FORCE_BOTH_TARGETS EXPANDING_FORCE_SINGLE_TARGET: - createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET waitforvisualfinish - createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x18, 0x1, 0x0 + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x18, 0x1, 0x0 call MaxKnuckleExplosionGeyser waitforvisualfinish call UnsetPsychicBg @@ -14254,11 +14254,11 @@ EXPANDING_FORCE_SINGLE_TARGET: end EXPANDING_FORCE_BOTH_TARGETS: - createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET - createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_DEF_PARTNER + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET + createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_DEF_PARTNER waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x18, 0x1 @;High power - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x5, 0x0, 0x18, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x18, 0x1 @;High power + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x5, 0x0, 0x18, 0x1 call ExpandingForceExplosionGeyser waitforvisualfinish call UnsetPsychicBg @@ -14266,40 +14266,40 @@ EXPANDING_FORCE_BOTH_TARGETS: end ExpandingForceExplosionGeyser: - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0x0005, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0x0005, ANIM_TARGET playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xfff1, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xfff1, ANIM_TARGET playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xfffb, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xfffb, ANIM_TARGET playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0x0012, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0x0012, ANIM_TARGET playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0x0005, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0x0005, ANIM_TARGET playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0xfff5, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0xfff5, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xffe1, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xffe1, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xffeb, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xffeb, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0x0002, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0x0002, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0xfff5, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0xfff5, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0xffe5, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0003, 0xffe5, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xffd1, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfff5, 0xffd1, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xffdb, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0008, 0xffdb, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0xfff2, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0xfffa, 0xfff2, ANIM_TARGET delay 0x0 - createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0xffe5, ANIM_TARGET + createsprite gSpriteTemplate_ExpandingForceExplode, ANIM_TARGET, 4, 0x0000, 0xffe5, ANIM_TARGET return MaxKnuckleExplosionGeyser: @@ -14346,9 +14346,9 @@ Move_STEEL_ROLLER:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SteelRoller, ANIM_TARGET, 3, 0, -40, 2, 50, 3 + createsprite gSpriteTemplate_SteelRoller, ANIM_TARGET, 3, 0, -40, 2, 50, 3 delay 1 - createvisualtask AnimTask_SquishTarget, 0x2, + createvisualtask AnimTask_SquishTarget, 0x2, delay 14 call SteelRollerRocks delay 33 @@ -14357,28 +14357,28 @@ Move_STEEL_ROLLER:: end SteelRollerRocks: playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET - createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfff4, 0x1b, 0x2, 0x3 - createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0x8, 0x1c, 0x3, 0x4 - createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfffc, 0x1e, 0x2, 0x3 - createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xc, 0x19, 0x4, 0x4 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfff4, 0x1b, 0x2, 0x3 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0x8, 0x1c, 0x3, 0x4 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfffc, 0x1e, 0x2, 0x3 + createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xc, 0x19, 0x4, 0x4 return @Credits to Skeli Move_SCALE_SHOT:: loadspritegfx ANIM_TAG_SHELL_RIGHT loadspritegfx ANIM_TAG_IMPACT - createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x6 - delay 0x3 + createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x6 + delay 0x3 playsewithpan SE_M_BONEMERANG, SOUND_PAN_ATTACKER - createsprite gSpriteTemplate_ScaleShotScale, ANIM_TARGET, 2, 0x10, 0x0, 0x0, 0x0, 0x14, 0x101 - waitforvisualfinish + createsprite gSpriteTemplate_ScaleShotScale, ANIM_TARGET, 2, 0x10, 0x0, 0x0, 0x0, 0x14, 0x101 + waitforvisualfinish playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x5, 0x1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x5, 0x1 delay 0x10 stopsound - waitforvisualfinish - end + waitforvisualfinish + end @Credits to Skeli Move_METEOR_BEAM:: @@ -14388,7 +14388,7 @@ Move_METEOR_BEAM:: choosetwoturnanim METEOR_BEAM_CHARGE METEOR_BEAM_BLAST METEOR_BEAM_CHARGE: - createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0xFC00, FALSE, 0xffff + createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0xFC00, FALSE, 0xffff waitbgfadein monbg ANIM_ATK_PARTNER playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER @@ -14398,18 +14398,18 @@ METEOR_BEAM_CHARGE: waitforvisualfinish clearmonbg ANIM_ATK_PARTNER call UnsetPsychicBg - end + end METEOR_BEAM_BLAST: - createvisualtask AnimTask_StartSlidingBg, 0x5, 0xf700, 0x0, TRUE, 0xffff @;Scroll right/left + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xf700, 0x0, TRUE, 0xffff @;Scroll right/left waitbgfadein monbg ANIM_TARGET panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER SOUND_PAN_TARGET 0x2 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x57, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x57, 0x1 call MeteorBeamRockLaunch call MeteorBeamRockLaunch call MeteorBeamRockLaunch - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x51, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x51, 0x1 call MeteorBeamRockLaunch call MeteorBeamRockLaunch call MeteorBeamRockLaunch @@ -14434,9 +14434,9 @@ METEOR_BEAM_BLAST: end MeteorBeamRockLaunch: - createsprite gSpriteTemplate_MeteorBeamRock, ANIM_TARGET, 2, 0, 0, 0x10 + createsprite gSpriteTemplate_MeteorBeamRock, ANIM_TARGET, 2, 0, 0, 0x10 delay 0x2 - createsprite gSpriteTemplate_MeteorBeamRock, ANIM_TARGET, 2, 0, 0, 0x10 + createsprite gSpriteTemplate_MeteorBeamRock, ANIM_TARGET, 2, 0, 0, 0x10 delay 0x2 return @@ -14489,103 +14489,104 @@ Move_SHELL_SIDE_ARM_SPECIAL: @ Modified Snipe Shot, placeholder @Credits to Skeli Move_MISTY_EXPLOSION:: loadspritegfx ANIM_TAG_EXPLOSION - createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x8, 0x9, 0x7A5B, 0x8, 0x0, 0x8 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x4, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x5, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x6, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x7, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x8, 0x8, 0x0, 0x28, 0x1 + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x8, 0x9, 0x7A5B, 0x8, 0x0, 0x8 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x4, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x5, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x6, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x7, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, 0x8, 0x8, 0x0, 0x28, 0x1 call Explosion1 call Explosion1 waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x1, 0x1, 0x10, 0x10, 0x7F7F @;White Pink + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x1, 0x1, 0x10, 0x10, 0x7F7F @;White Pink delay 0x32 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x1, 0x3, 0x10, 0x0, 0x7F7F @;White Pink - end + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x1, 0x3, 0x10, 0x0, 0x7F7F @;White Pink + end @Credits to Skeli Move_GRASSY_GLIDE:: loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_IMPACT @hits - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_IMPACT, 0x0, 0xD, 0xD, 0x0266 @;Leaf Green - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0x8, 0x03AC + loadspritegfx ANIM_TAG_WHIP_HIT + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_IMPACT, 0x0, 0xD, 0xD, 0x0266 @;Leaf Green + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0x8, 0x03AC delay 0x2 playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 10 @;Slide off off, screen + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 10 @;Slide off off, screen waitforvisualfinish call GrassPledgeMiddleFountain waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x2 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x2 end - + @Credits to Skeli Move_RISING_VOLTAGE:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_LIGHTNING - monbg ANIM_ATTACKER + monbg ANIM_ATTACKER setalpha 12, 8 - createvisualtask AnimTask_GetBattleTerrain, 0x5, + createvisualtask AnimTask_GetBattleTerrain, 0x5, jumpargeq 0x0, BG_ELECTRIC_TERRAIN, ANIM_RISING_VOLTAGE_STRONGER ANIM_RISING_VOLTAGE_NORMAL: - createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0x4, 0x0 @;To black - waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 30, 0, 3 @;Amount, Slowness, Slowness, Compaction + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0x4, 0x0 @;To black + waitforvisualfinish + createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 30, 0, 3 @;Amount, Slowness, Slowness, Compaction playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER - delay 0xc - createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0x0 + delay 0xc + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0x0 waitforvisualfinish - createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x34, 0x1, 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x4, 0x0, 0xC, 0x079D + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x34, 0x1, 0x0 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x4, 0x0, 0xC, 0x079D playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xfff0 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xffe0 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xffe0 call StokedSparksurferSparkGeyser call StokedSparksurferSparkGeyser waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x4, 0x0, 0x0 @;From black + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x4, 0x0, 0x0 @;From black waitforvisualfinish clearmonbg ANIM_ATTACKER end ANIM_RISING_VOLTAGE_STRONGER: - createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @;To black - waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 55, 0, 0 @;Amount, Slowness, Slowness, Compaction + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @;To black + waitforvisualfinish + createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 55, 0, 0 @;Amount, Slowness, Slowness, Compaction playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER - delay 0xc - createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2, + delay 0xc + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2, waitforvisualfinish - createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x54, 0x1, 0x0 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0x10, 0x079D + createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x54, 0x1, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0x10, 0x079D playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0x10 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0xfff0 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0xffe0 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x10, 0xffe0 call StokedSparksurferSparkGeyser playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0x10 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0xfff0 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0xffe0 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -0x18, 0xffe0 call StokedSparksurferSparkGeyser playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xfff0 - delay 0x1 - createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xffe0 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xfff0 + delay 0x1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xffe0 call StokedSparksurferSparkGeyser waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0x10, 0x0, 0x079D @;From Yellow - createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0xC, 0x0, 0x0 @;From black + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0x10, 0x0, 0x079D @;From Yellow + createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0xC, 0x0, 0x0 @;From black waitforvisualfinish clearmonbg ANIM_ATTACKER end @@ -14679,7 +14680,7 @@ Move_SKITTER_SMACK:: loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour loadspritegfx ANIM_TAG_RAZOR_LEAF - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x7FFF + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x7FFF waitforvisualfinish playsewithpan SE_M_FAINT_ATTACK, SOUND_PAN_ATTACKER invisible ANIM_ATTACKER @@ -14692,21 +14693,21 @@ Move_SKITTER_SMACK:: delay 1 invisible ANIM_ATTACKER waitsound - createvisualtask AnimTask_DestinyBondWhiteShadow, 0x5, 0x0, 0x30 + createvisualtask AnimTask_DestinyBondWhiteShadow, 0x5, 0x0, 0x30 delay 0x17 - createvisualtask AnimTask_IsTargetSameSide, 0x2, - createvisualtask AnimTask_SnatchOpposingMonMove, 0x2, + createvisualtask AnimTask_IsTargetSameSide, 0x2, + createvisualtask AnimTask_SnatchOpposingMonMove, 0x2, delay 0x19 visible ANIM_ATTACKER invisible ANIM_ATTACKER delay 5 - createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 call HyperspaceHoleMovement - createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xa, 0x14, 0x0 + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xa, 0x14, 0x0 call HyperspaceHoleMovement - createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xfffb, 0xa, 0x0 + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0xfffb, 0xa, 0x0 call HyperspaceHoleMovement - createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0x11, 0xfff4, 0x0 + createsprite gSkitterSmackImpactTemplate, ANIM_TARGET, 2, 0x11, 0xfff4, 0x0 call HyperspaceHoleMovement waitforvisualfinish visible ANIM_ATTACKER @@ -14718,7 +14719,7 @@ Move_SKITTER_SMACK:: invisible ANIM_ATTACKER delay 1 visible ANIM_ATTACKER - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x7FFF + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x7FFF waitforvisualfinish end @@ -14726,52 +14727,52 @@ Move_SKITTER_SMACK:: Move_BURNING_JEALOUSY:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x2A, 0x1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x2A, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F call BurningJealousyFireBuffEffect delay 0x8 call BurningJealousyFireBuffEffect - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F delay 0x4 call BurningJealousyFireBuffEffect waitforvisualfinish monbg ANIM_TARGET playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER + createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER call BurningJealousyFlames delay 0x8 call BurningJealousyFlames delay 0x8 call BurningJealousyFlames playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0xC, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x2, 0x0, 0xC, 0x1 - createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_TARGET, 0x1f, 0xc, 0x1, 0x1 - createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_DEF_PARTNER, 0x1f, 0xc, 0x1, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x2, 0x0, 0xC, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_TARGET, 0x1f, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_DEF_PARTNER, 0x1f, 0xc, 0x1, 0x1 call FireSpreadEffect @ INCINERATE_BURN_CHANCE waitforvisualfinish clearmonbg ANIM_TARGET end BurningJealousyFireBuffEffect: - createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xffe8, 0x1a, 0x2, 0x18 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xffe8, 0x1a, 0x2, 0x18 delay 0x3 - createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xe, 0x1c, 0x1, 0x18 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xe, 0x1c, 0x1, 0x18 delay 0x3 - createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xfffb, 0xa, 0x2, 0x18 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0xfffb, 0xa, 0x2, 0x18 delay 0x3 - createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1c, 0x1a, 0x3, 0x18 + createsprite gSpriteTemplate_BurningJealousyFireBuff, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1c, 0x1a, 0x3, 0x18 delay 0x3 return BurningJealousyFlames: - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0, 0x3 - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0, 0x0500, 0x3 - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0, 0xfb00, 0x3 - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0500, 0x0300, 0x3 - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0300, 0x3 - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0500, 0xfd00, 0x3 - createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0xfd00, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0, 0x0500, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0, 0xfb00, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0500, 0x0300, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0300, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0x0500, 0xfd00, 0x3 + createsprite gSpriteTemplate_BurningJealousyEmit, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xfb00, 0xfd00, 0x3 return @@ -14781,41 +14782,41 @@ Move_LASH_OUT:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SLAM_HIT_2 loadspritegfx ANIM_TAG_IMPACT @hit - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SLAM_HIT_2, 0x0, 0xA, 0xA, 0x1F + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SLAM_HIT_2, 0x0, 0xA, 0xA, 0x1F monbg ANIM_DEF_PARTNER playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call PowerTripBuffUp delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F + createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 call PowerTripBuffUp delay 0x8 call PowerTripBuffUp waitforvisualfinish fadetobg BG_DARK waitbgfadein - playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET - createsprite gSpriteTemplate_LashOutStrike, ANIM_TARGET, 2, 0xfff0, 0xfff0, FALSE - delay 0x8 - createsprite gFoulPlayImpactTemplate, ANIM_TARGET, 3, 10, 0x0, ANIM_TARGET, 0x1 - playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xfff4, 0xa, 0x0, 0x3 + playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET + createsprite gSpriteTemplate_LashOutStrike, ANIM_TARGET, 2, 0xfff0, 0xfff0, FALSE delay 0x8 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x5 + createsprite gFoulPlayImpactTemplate, ANIM_TARGET, 3, 10, 0x0, ANIM_TARGET, 0x1 + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xfff4, 0xa, 0x0, 0x3 delay 0x8 - playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET - createsprite gSpriteTemplate_LashOutStrike, ANIM_TARGET, 2, 0xfff0, 0xfff0, TRUE - delay 0x8 - createsprite gFoulPlayImpactTemplate, ANIM_TARGET, 3, -10, 0x0, ANIM_TARGET, 0x1 - playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xC, 0xa, 0x0, 0x3 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x5 + delay 0x8 + playsewithpan SE_M_VITAL_THROW, SOUND_PAN_TARGET + createsprite gSpriteTemplate_LashOutStrike, ANIM_TARGET, 2, 0xfff0, 0xfff0, TRUE + delay 0x8 + createsprite gFoulPlayImpactTemplate, ANIM_TARGET, 3, -10, 0x0, ANIM_TARGET, 0x1 + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xC, 0xa, 0x0, 0x3 delay 0x8 waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x5 restorebg clearmonbg ANIM_DEF_PARTNER end - + Move_POLTERGEIST:: loadspritegfx ANIM_TAG_EYE_SPARKLE @@ -14858,11 +14859,11 @@ Move_POLTERGEIST:: @Credits to Skeli Move_CORROSIVE_GAS:: loadspritegfx ANIM_TAG_PINK_CLOUD @Fumes - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PINK_CLOUD, 0x0, 0xE, 0xE, 0x19EF @;Garbage green + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PINK_CLOUD, 0x0, 0xE, 0xE, 0x19EF @;Garbage green monbg ANIM_ATTACKER loopsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER, 0x8, 0x3 delay 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x1, 0x2, 0x0, 0xF, 0x19EF @;Garbage green + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x1, 0x2, 0x0, 0xF, 0x19EF @;Garbage green createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x7a, 0x3, 0xfff2, 0x12, 0x2e delay 0x0 createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x79, 0x3, 0xe, 0xfff2, 0x2e @@ -14876,20 +14877,20 @@ Move_CORROSIVE_GAS:: createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x7b, 0x3, 0x4, 0x4, 0x1e waitforvisualfinish playsewithpan SE_M_TOXIC, SOUND_PAN_TARGET - createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_TARGET | F_PAL_ATK_PARTNER | F_PAL_DEF_PARTNER), 0x1, 0x2, 0x0, 0xE, 0x19EF @;Garbage green + createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_TARGET | F_PAL_ATK_PARTNER | F_PAL_DEF_PARTNER), 0x1, 0x2, 0x0, 0xE, 0x19EF @;Garbage green waitforvisualfinish clearmonbg ANIM_ATTACKER end - + @Credits to Skeli Move_COACHING:: playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER - createvisualtask AnimTask_Splash, 0x2, ANIM_ATTACKER, 0x1 + createvisualtask AnimTask_Splash, 0x2, ANIM_ATTACKER, 0x1 waitforvisualfinish playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x2, 0x0, 0xA, 0x1E5D - createvisualtask AnimTask_Splash, 0x2, ANIM_TARGET, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x2, 0x0, 0xA, 0x1E5D + createvisualtask AnimTask_Splash, 0x2, ANIM_TARGET, 0x1 waitforvisualfinish end @@ -14904,12 +14905,12 @@ Move_FLIP_TURN:: waitforvisualfinish invisible ANIM_ATTACKER playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER - createsprite gSpriteTemplate_FlipTurnThere, ANIM_TARGET, 2, 0x0, 0x0, 0x15 + createsprite gSpriteTemplate_FlipTurnThere, ANIM_TARGET, 2, 0x0, 0x0, 0x15 waitforvisualfinish playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createsprite gSpriteTemplate_FlipTurnBack, ANIM_ATTACKER, 3, 0x0, 0xFFF1, 0xFFF0, 0x24 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x2 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 + createsprite gSpriteTemplate_FlipTurnBack, ANIM_ATTACKER, 3, 0x0, 0xFFF1, 0xFFF0, 0x24 waitforvisualfinish visible ANIM_ATTACKER clearmonbg ANIM_TARGET @@ -14922,38 +14923,38 @@ Move_TRIPLE_AXEL:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ICE_CRYSTALS - monbg ANIM_DEF_PARTNER + monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_M_VITAL_THROW2, 0x3f jumpifmoveturn 0, TripleAxelTurn0 jumpifmoveturn 1, TripleAxelTurn1 goto TripleAxelTurn2 TripleAxelTurn0: - createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0xfff0, 0xfff8, 0x14, 0x1, 0x2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xfff0, 0xfff0, 0x1, 0x2 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4, 0x1 + createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0xfff0, 0xfff8, 0x14, 0x1, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xfff0, 0xfff0, 0x1, 0x2 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4, 0x1 goto TripleAxelEnd TripleAxelTurn1: - createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x8, 0x8, 0x14, 0x1, 0x2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x8, 0x0, 0x1, 0x2 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xa0, 0xffe0 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xff00, 0xffd8 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0x1a0, 0xffda - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xfe80, 0xffe1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x8, 0x8, 0x14, 0x1, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x8, 0x0, 0x1, 0x2 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xa0, 0xffe0 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xff00, 0xffd8 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0x1a0, 0xffda + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xfe80, 0xffe1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 goto TripleAxelEnd TripleAxelTurn2: - createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x1, 0x2 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xfff8, 0x1, 0x1 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xa0, 0xffe0 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff00, 0xffd8 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x80, 0xfff0 - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x1a0, 0xffda - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff80, 0xffea - createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xfe80, 0xffe1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x8, 0x1 + createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x1, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xfff8, 0x1, 0x1 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xa0, 0xffe0 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff00, 0xffd8 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x80, 0xfff0 + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x1a0, 0xffda + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff80, 0xffea + createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xfe80, 0xffe1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x8, 0x1 TripleAxelEnd: delay 4 playsewithpan SE_M_ICY_WIND, 0x3f @@ -14967,56 +14968,56 @@ Move_DUAL_WINGBEAT:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHITE_FEATHER setalpha 12, 8 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 10, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 10, 0x1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET jumpifmoveturn 1, DualWingbeatRightSide DualWingbeatLeftSide: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -20, 10, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -20, 10, ANIM_TARGET, 0x2 delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -20, 0, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -20, 0, ANIM_TARGET, 0x2 call DualWingbeatFeatherScatterLeft delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -20, -10, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -20, -10, ANIM_TARGET, 0x2 delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 5, -20, -20, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 5, -20, -20, ANIM_TARGET, 0x2 delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 6, -20, -30, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 6, -20, -30, ANIM_TARGET, 0x2 waitforvisualfinish - blendoff + blendoff end DualWingbeatRightSide: - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 10, 10, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 10, 10, ANIM_TARGET, 0x2 delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, 0, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 10, 0, ANIM_TARGET, 0x2 call DualWingbeatFeatherScatterRight delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 10, -10, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 10, -10, ANIM_TARGET, 0x2 delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 5, 10, -20, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 5, 10, -20, ANIM_TARGET, 0x2 delay 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 6, 10, -30, ANIM_TARGET, 0x2 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 6, 10, -30, ANIM_TARGET, 0x2 waitforvisualfinish - blendoff + blendoff end DualWingbeatFeatherScatterLeft: - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xa0, 0xffe0 - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xfe80, 0xffe1 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xa0, 0xffe0 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xfe80, 0xffe1 return DualWingbeatFeatherScatterRight: - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xa0, 0xffe0 - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xff00, 0xffd8 - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0x1a0, 0xffda - createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xfe80, 0xffe1 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xa0, 0xffe0 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xff00, 0xffd8 + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0x1a0, 0xffda + createsprite gDualWingbeatFeatherSpriteTemplate, ANIM_TARGET, 1, 0, 0xfff8, 0xfe80, 0xffe1 return @ credits to Skeli @@ -15027,14 +15028,14 @@ Move_SCORCHING_SANDS:: splitbgprio ANIM_ATTACKER setalpha 12, 8 playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_ATTACKER - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff6, 0x0, 0x0, 0x3 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff6, 0x0, 0x0, 0x3 waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x2 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x2 call SandAttackDirt call SandAttackDirt call SandAttackDirt call SandAttackDirt - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x2, 0x0, 25, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x2, 0x0, 25, 0x1 call SandAttackDirt call SandAttackDirt playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET @@ -15051,32 +15052,32 @@ Move_JUNGLE_HEALING:: loadspritegfx ANIM_TAG_SPARKLE_2 fadetobg BG_SNUGGLE_FOREVER waitbgfadeout - createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0x10, 0x1a, 0xffff, 0x2, 0x96 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0x10, 0x1a, 0xffff, 0x2, 0x96 playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER delay 0xa - createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0xffe0, 0x14, 0x1, 0x1, 0x8c + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0xffe0, 0x14, 0x1, 0x1, 0x8c playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER delay 0xa - createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x16, 0x1, 0x0, 0x82 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x16, 0x1, 0x0, 0x82 playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER delay 0xa - createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0xfff0, 0x19, 0xffff, 0x3, 0x78 + createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 0xfff0, 0x19, 0xffff, 0x3, 0x78 playsewithpan SE_M_SCRATCH, SOUND_PAN_ATTACKER delay 0x28 - createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0x20, 0x1a, 0xffff, 0x3, 0x1e + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0x20, 0x1a, 0xffff, 0x3, 0x1e delay 0x5 playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0x5 - createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0xffd0, 0x14, 0x1, 0x2, 0x1e + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0xffd0, 0x14, 0x1, 0x2, 0x1e playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0x5 playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0x5 - createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0x30, 0x1a, 0xfffe, 0x3, 0x12 + createsprite gIngrainOrbSpriteTemplate, ANIM_ATTACKER, 3, 0x30, 0x1a, 0xfffe, 0x3, 0x12 playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0xa playsewithpan SE_M_STAT_INCREASE, 0xc0 - createvisualtask AnimTask_StatusClearedEffect, 0x2, 0x1 + createvisualtask AnimTask_StatusClearedEffect, 0x2, 0x1 waitforvisualfinish restorebg waitbgfadein @@ -15117,13 +15118,13 @@ Move_WICKED_BLOW:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_PAIN_SPLIT loadspritegfx ANIM_TAG_SPARKLE_4 - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PAIN_SPLIT, 0x0, 0x9, 0x9, 0x1F - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_FOCUS_ENERGY, 0x0, 0x8, 0x8, 0x1F + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PAIN_SPLIT, 0x0, 0x9, 0x9, 0x1F + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_FOCUS_ENERGY, 0x0, 0x8, 0x8, 0x1F playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call WickedBlowBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 call WickedBlowBuffEffect delay 0x8 call WickedBlowBuffEffect @@ -15131,27 +15132,27 @@ Move_WICKED_BLOW:: fadetobg BG_DARK waitbgfadeout playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1c, 0x0, 0x0, 0x5 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1c, 0x0, 0x0, 0x5 delay 0x5 - createsprite gSpriteTemplate_WickedBlowFist, ANIM_TARGET, 4, ANIM_TARGET, 0, 0, 16, 32 + createsprite gSpriteTemplate_WickedBlowFist, ANIM_TARGET, 4, ANIM_TARGET, 0, 0, 16, 32 delay 6 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 0x4, 0x6 - createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 - createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xfe80, 0xffe1 - createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xff00, 0xffd8 - createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xff80, 0xffea - createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x80, 0xfff0 - createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xa0, 0xffe0 - createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x1a0, 0xffda - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0xA, 0x1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 + createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xfe80, 0xffe1 + createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xff00, 0xffd8 + createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xff80, 0xffea + createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x80, 0xfff0 + createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xa0, 0xffe0 + createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x1a0, 0xffda + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0xA, 0x1 delay 20 - createvisualtask AnimTask_TwinkleTackleLaunch, 0x2, 50 + createvisualtask AnimTask_TwinkleTackleLaunch, 0x2, 50 delay 50 playsewithpan SE_M_DETECT, SOUND_PAN_TARGET - createsprite gTwinkleTackleTwinkleSpriteTemplate, ANIM_TARGET, 13, 0x0, 0x0, ANIM_TARGET @detect star + createsprite gTwinkleTackleTwinkleSpriteTemplate, ANIM_TARGET, 13, 0x0, 0x0, ANIM_TARGET @detect star waitforvisualfinish blendoff - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x6 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x6 restorebg waitbgfadeout visible ANIM_TARGET @@ -15160,15 +15161,15 @@ Move_WICKED_BLOW:: end WickedBlowBuffEffect: - createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x1a, 0x2 + createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x1a, 0x2 delay 0x4 - createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xe, 0x1c, 0x1 + createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xe, 0x1c, 0x1 delay 0x4 - createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xfffb, 0xa, 0x2 + createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xfffb, 0xa, 0x2 delay 0x4 - createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x1c, 0x1a, 0x3 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x1c, 0x1a, 0x3 delay 0x4 - createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 + createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return @@ -15179,43 +15180,43 @@ Move_SURGING_STRIKES:: loadspritegfx ANIM_TAG_WATER_IMPACT jumpifmoveturn 1 SURGING_STRIKES_1 jumpifmoveturn 2 SURGING_STRIKES_2 - + SURGING_STRIKES_0: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, -20, 0, 0, 10, -20 @Top left + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, -20, 0, 0, 10, -20 @Top left delay 5 playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, 20, 0, 0, 10, 20 @Bottom right - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, 20, 0, 0, 10, 20 @Bottom right + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 delay 5 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, 5, ANIM_TARGET, 0x1 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, 5, ANIM_TARGET, 0x1 waitforvisualfinish end SURGING_STRIKES_1: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right delay 5 playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, 20, 0, 0, 10, 20 @Bottom left - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, 20, 0, 0, 10, 20 @Bottom left + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 delay 5 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, 5, ANIM_TARGET, 0x1 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, 5, ANIM_TARGET, 0x1 waitforvisualfinish end SURGING_STRIKES_2: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, -20, 0, 0, 10, -20 @Top left + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, -20, 0, 0, 10, -20 @Top left delay 5 playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET - createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x8, 0x1 + createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x8, 0x1 delay 5 - createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 + createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 waitforvisualfinish end @@ -15229,32 +15230,32 @@ Move_THUNDER_CAGE:: monbg ANIM_TARGET splitbgprio ANIM_TARGET loopsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET, 0xA, 0x9 - createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, -25, -30, 0x0 - createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, 0, -30, 0x0 - createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, 25, -30, 0x0 + createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, -25, -30, 0x0 + createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, 0, -30, 0x0 + createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 100, 25, -30, 0x0 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, -16 delay 4 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 0 delay 4 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 16 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x3, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x3, 0x0, 0x32, 0x1 call ThunderCageBolts delay 0x4 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, -16 delay 4 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 0 delay 4 - createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 16 + createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 16 call ThunderCageBolts waitforvisualfinish clearmonbg ANIM_TARGET end ThunderCageBolts: - createvisualtask AnimTask_ElectricBolt, 2, 25, -40, 1 + createvisualtask AnimTask_ElectricBolt, 2, 25, -40, 1 delay 0x9 - createvisualtask AnimTask_ElectricBolt, 2, -25, -40, 1 + createvisualtask AnimTask_ElectricBolt, 2, -25, -40, 1 delay 0x9 - createvisualtask AnimTask_ElectricBolt, 2, 0, -40, 1 + createvisualtask AnimTask_ElectricBolt, 2, 0, -40, 1 delay 0x9 return @@ -15262,20 +15263,20 @@ ThunderCageBolts: @Credits to Skeli Move_DRAGON_ENERGY:: loadspritegfx ANIM_TAG_HYDRO_PUMP - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x2C5E @;Regidrago Reddish Reddish, Purple + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x2C5E @;Regidrago Reddish Reddish, Purple monbg ANIM_TARGET playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x4, 0x0, 0xB, 0x7F9F @;Pinkish White + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x4, 0x0, 0xB, 0x7F9F @;Pinkish White waitforvisualfinish playsewithpan SE_M_DETECT, SOUND_PAN_TARGET - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x2C5E @;Regidrago Reddish Reddish, Purple - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 1 @;Slide off off, screen + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x2C5E @;Regidrago Reddish Reddish, Purple + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 1 @;Slide off off, screen waitforvisualfinish playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_TARGET call DragonEnergyShot call DragonEnergyShot - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x5E, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x4, 0x0, 0x5E, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x5E, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x4, 0x0, 0x5E, 0x1 call DragonEnergyShot call DragonEnergyShot call DragonEnergyShot @@ -15305,15 +15306,15 @@ Move_DRAGON_ENERGY:: call DragonEnergyShot call DragonEnergyShot waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 10 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 10 clearmonbg ANIM_TARGET waitforvisualfinish end DragonEnergyShot: - createsprite gSpriteTemplate_DragonEnergyShot, ANIM_TARGET, 2, 0x19 + createsprite gSpriteTemplate_DragonEnergyShot, ANIM_TARGET, 2, 0x19 delay 0x1 - createsprite gSpriteTemplate_DragonEnergyShot, ANIM_TARGET, 2, 0x19 + createsprite gSpriteTemplate_DragonEnergyShot, ANIM_TARGET, 2, 0x19 delay 0x1 return @@ -15324,15 +15325,15 @@ Move_FREEZING_GLARE:: loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice call SetPsychicBackground - createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 0xfff0, 0xfff8 - createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 0x10, 0xfff8 - createvisualtask AnimTask_GlareEyeDots, 0x5, 0x0 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 0xfff0, 0xfff8 + createsprite gEyeSparkleSpriteTemplate, ANIM_ATTACKER, 0, 0x10, 0xfff8 + createvisualtask AnimTask_GlareEyeDots, 0x5, 0x0 playsewithpan SE_M_PSYBEAM2, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xC, 0x7f4c @;Ice blue - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x4, 0x1C, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xC, 0x7f4c @;Ice blue + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x4, 0x1C, 0x1 call IceCrystalEffectShort - waitforvisualfinish + waitforvisualfinish call UnsetPsychicBg end @@ -15342,74 +15343,74 @@ Move_FIERY_WRATH:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_PURPLE_RING playsewithpan SE_M_SACRED_FIRE2, 0xc0 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0xE, 0x0 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x4, 0x0, 0x8, 0x1F - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x20, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0xE, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x4, 0x0, 0x8, 0x1F + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x20, 0x1 call DragonClawFireSpiral call DragonClawFireSpiral waitforvisualfinish loopsewithpan SE_M_PSYBEAM, SOUND_PAN_TARGET, 20, 3 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x4, 0x0, 0xF, 0x3006 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x3C, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x4, 0x0, 0x3C, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x4, 0x0, 0xF, 0x3006 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x3C, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x4, 0x0, 0x3C, 0x1 call FieryWrathGeyser call FieryWrathGeyser call FieryWrathGeyser call FieryWrathGeyser waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x8, 0x0, 0x1F - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x2, 0x9, 0x0, 0x3006 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xE, 0x0, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x8, 0x0, 0x1F + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x2, 0x9, 0x0, 0x3006 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xE, 0x0, 0x0 waitforvisualfinish end FieryWrathGeyser: - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfffc, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x100D, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0x4, 0x10 delay 0x0 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 - createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_FieryWrathGeyser, ANIM_TARGET, 4, ANIM_DEF_PARTNER, 0xfff0, 0x10 return @@ -15422,12 +15423,12 @@ Move_THUNDEROUS_KICK:: monbg ANIM_TARGET fadetobg BG_MAX_LIGHTNING waitbgfadeout - createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff - setalpha 12, 8 + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff + setalpha 12, 8 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET - createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x32 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0x7, 0x7fff - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x2, 0x0, 0x16, 0x1 + createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x32 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0x7, 0x7fff + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x2, 0x0, 0x16, 0x1 call ZingZapSparks1 delay 0xA call ZingZapSparks2 @@ -15436,42 +15437,42 @@ Move_THUNDEROUS_KICK:: delay 0xA call ZingZapSparks2 delay 0x3 - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x30, 0x3, 0x0, 0x4 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x30, 0x3, 0x0, 0x4 delay 0x7 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x16, 0x1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x0, 0x7fff - createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x0, 0x8, 0x0, 0x0 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x0 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x16, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x0, 0x7fff + createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x0, 0x8, 0x0, 0x0 waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 - clearmonbg ANIM_TARGET + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + clearmonbg ANIM_TARGET blendoff call UnsetPsychicBg - end - + end + @Credits to Skeli Move_GLACIAL_LANCE:: loadspritegfx ANIM_TAG_ICICLE_SPEAR loadspritegfx ANIM_TAG_ICE_CUBE loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xA, 0x3C00 @;Royal Blue + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xA, 0x3C00 @;Royal Blue monbg ANIM_TARGET playsewithpan SE_M_HAIL, SOUND_PAN_TARGET - createvisualtask AnimTask_CentredFrozenIceCube, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_GlacialLance, ANIM_TARGET, 2, 0, 40, 0, 0, 40, 50, 10 + createvisualtask AnimTask_CentredFrozenIceCube, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_GlacialLance, ANIM_TARGET, 2, 0, 40, 0, 0, 40, 50, 10 delay 60 - createvisualtask AnimTask_FlashAnimTagWithColor, 0x2, ANIM_TAG_ICICLE_SPEAR, 0x4, 0x1, 0x7FFF, 0x10, 0x0, 0x0 + createvisualtask AnimTask_FlashAnimTagWithColor, 0x2, ANIM_TAG_ICICLE_SPEAR, 0x4, 0x1, 0x7FFF, 0x10, 0x0, 0x0 playsewithpan SE_M_DETECT, SOUND_PAN_TARGET delay 38 playsewithpan SE_M_BRICK_BREAK, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x34, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x6, 0x0, 0x34, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x34, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x6, 0x0, 0x34, 0x1 delay 4 call IceCrystalEffectLong waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0xA, 0x0, 0x3C00 @;Royal Blue + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0xA, 0x0, 0x3C00 @;Royal Blue waitforvisualfinish clearmonbg ANIM_TARGET end @@ -15486,7 +15487,7 @@ Move_EERIE_SPELL:: loadspritegfx ANIM_TAG_PURPLE_FLAME call SetPsychicBackground waitforvisualfinish - monbg ANIM_TARGET + monbg ANIM_TARGET splitbgprio_all loopsewithpan SE_M_PSYBEAM, SOUND_PAN_TARGET, 0x14, 0x5 createvisualtask AnimTask_SpiteTargetShadow 0x0 @@ -15500,27 +15501,27 @@ Move_EERIE_SPELL:: end EerieSpellConvergingFlames: - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe0, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe0, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x16, 0xffea, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x16, 0xffea, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x1e, 0x0, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x1e, 0x0, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x14, 0x14, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x14, 0x14, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0x1c, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0x1c, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffed, 0x13, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffed, 0x13, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffe5, 0x0, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffe5, 0x0, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffee, 0xffee, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0xffee, 0xffee, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe7, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe7, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x11, 0xffef, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x11, 0xffef, 0x10 delay 0x2 - createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x17, 0x0, 0x10 + createsprite gSpriteTemplate_EerieSpellFlame, ANIM_TARGET, 2, 0x1, 0x0, 0x17, 0x0, 0x10 return @@@@@@@@@@@@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@@@@@@@@@@@@ @@ -15536,7 +15537,7 @@ Move_DIRE_CLAW:: delay 0x2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0x0, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x24, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x24, 0x1 delay 0x2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0x0, 0x0 @@ -15553,18 +15554,18 @@ Move_PSYSHIELD_BASH:: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xB, 0x7FAF @;Light blue - createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x38, 0xa + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xB, 0x7FAF @;Light blue + createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x38, 0xa delay 0x23 createsprite gSpriteTemplate_PsyshieldBashHit, ANIM_ATTACKER, 4, -10, 0x0, 0x1, 0x0 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET delay 0x1 createsprite gSlideMonToOffsetSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 0xfff0, 0x0, 0x0, 0x4 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_TARGET, 0x4, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_TARGET, 0x4, 0x0, 0xc, 0x1 waitforvisualfinish delay 0x2 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x7FAF @;Light blue + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x7FAF @;Light blue createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x5 delay 0x3 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x0, 0x7 @@ -15584,7 +15585,7 @@ Move_POWER_SHIFT:: createsprite gSpriteTemplate_PowerShiftDefenseBall, ANIM_ATTACKER, 2, POWER_SHIFT_RIGHT_X, 0, POWER_SHIFT_LEFT_X, 0, POWER_SHIFT_DELAY, POWER_SHIFT_ARC waitforvisualfinish playsewithpan SE_M_DETECT, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0xa, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0xa, 0x7fff waitforvisualfinish clearmonbg ANIM_ATK_PARTNER end @@ -15599,7 +15600,7 @@ Move_STONE_AXE:: playsewithpan SE_M_CUT, SOUND_PAN_TARGET createsprite gSpriteTemplate_StoneAxeSlash, ANIM_TARGET, 2, 50, -10, 100, 8, 1 @;Move left delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x10, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x10, 0x1 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET call StoneAxeRockFragments delay 0x8 @@ -15609,14 +15610,14 @@ Move_STONE_AXE:: end StoneAxeRockFragments: - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x18, 0xe, 0x2 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x5, 0x0, 0xffec, 0x18, 0xe, 0x1 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x5, 0x14, 0xffe8, 0xe, 0x2 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0xfffb, 0x0, 0xffec, 0xffe8, 0xe, 0x2 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0xfffb, 0x1e, 0x12, 0x8, 0x2 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x1e, 0xffee, 0x8, 0x2 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xffe2, 0x12, 0x8, 0x2 - createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xffe2, 0xffee, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x18, 0xe, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x5, 0x0, 0xffec, 0x18, 0xe, 0x1 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x5, 0x14, 0xffe8, 0xe, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0xfffb, 0x0, 0xffec, 0xffe8, 0xe, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0xfffb, 0x1e, 0x12, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x1e, 0xffee, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xffe2, 0x12, 0x8, 0x2 + createsprite gRockFragmentSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xffe2, 0xffee, 0x8, 0x2 return @@ -15625,8 +15626,8 @@ Move_SPRINGTIDE_STORM:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_RED_HEART playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF call HurricaneGust call SpringtideStormHeartSwirl call HurricaneGust @@ -15644,17 +15645,17 @@ Move_SPRINGTIDE_STORM:: end SpringtideStormHeartSwirl: - createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET + createsprite gSpriteTemplate_SpringtideHeart, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET return @@ -15674,16 +15675,16 @@ Move_MYSTICAL_POWER:: call PsystrikeInwardRing delay 0xA waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x6, 0x0, 0xB, 0x7FAF @;Light blue - createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x6, 0x0, 0xB, 0x7FAF @;Light blue + createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x0 call MysticalPowerFoeRings - createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x1 + createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x1 call MysticalPowerFoeRings - createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x2 + createvisualtask AnimTask_ExtrasensoryDistortion, 0x5, 0x2 call MysticalPowerFoeTwoRingsOnly waitforvisualfinish clearmonbg ANIM_TARGET - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FAF @;Light blue + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FAF @;Light blue call UnsetPsychicBg blendoff end @@ -15696,19 +15697,19 @@ PsystrikeInwardRing: MysticalPowerFoeRings: playsewithpan SE_M_BIND, SOUND_PAN_TARGET - createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, -20, -10, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, -20, -10, ANIM_TARGET, 0x0 delay MYSTICAL_POWER_RING_PAUSE - createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 0, 10, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 0, 10, ANIM_TARGET, 0x0 delay MYSTICAL_POWER_RING_PAUSE - createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 10, -20, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 10, -20, ANIM_TARGET, 0x0 delay MYSTICAL_POWER_RING_PAUSE return MysticalPowerFoeTwoRingsOnly: playsewithpan SE_M_BIND, SOUND_PAN_TARGET - createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, -20, -10, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, -20, -10, ANIM_TARGET, 0x0 delay MYSTICAL_POWER_RING_PAUSE - createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 0, 10, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MysticalPowerRing, ANIM_TARGET, 2, 0, 10, ANIM_TARGET, 0x0 delay MYSTICAL_POWER_RING_PAUSE return @@ -15717,18 +15718,18 @@ MysticalPowerFoeTwoRingsOnly: Move_RAGING_FURY:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 0x8, 0x3 - createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 0x2, 0x5, 0x3, 0x8, 0x1f - createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x20, 0x8, 0x38, 0x6 - call OutrageFlames + createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 0x2, 0x5, 0x3, 0x8, 0x1f + createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x20, 0x8, 0x38, 0x6 + call OutrageFlames call OutrageFlames delay 10 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x18, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x18, 0x1 playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET - call FlameBurstSpread + call FlameBurstSpread waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 waitforvisualfinish - end + end @Credits to Skeli Move_WAVE_CRASH:: @@ -15736,16 +15737,16 @@ Move_WAVE_CRASH:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @Bubbles on attacker monbg ANIM_DEF_PARTNER - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xB, 0x726A - createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xB, 0x726A + createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 call WaterfallBubblesOnAttacker waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 call RisingWaterHitEffect waitforvisualfinish delay 0x5 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x726A + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x726A clearmonbg ANIM_DEF_PARTNER waitforvisualfinish end @@ -15755,11 +15756,11 @@ Move_WAVE_CRASH:: Move_CHLOROBLAST:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_HYDRO_PUMP - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_THIN_RING, 0x0, 0xA, 0xA, 0x03AC - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x03AC - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0x10, 0x0 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x10, 0x03AC - createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x2, 0x0, 0x10, 0x0 + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_THIN_RING, 0x0, 0xA, 0xA, 0x03AC + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x03AC + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0x10, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x10, 0x03AC + createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x2, 0x0, 0x10, 0x0 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER createsprite gThinRingShrinkingSpriteTemplate ANIM_ATTACKER, 0x28, 0, 0, 0, 0 delay 0xe @@ -15767,18 +15768,18 @@ Move_CHLOROBLAST:: delay 0xe createsprite gThinRingShrinkingSpriteTemplate ANIM_ATTACKER, 0x28, 0, 0, 0, 0 waitforvisualfinish - createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA, + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA, fadetobg BG_CHLOROBLAST waitbgfadeout - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x0, 0x10, 0x0, 0x0 - delay 0x10 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x4A, 0x1 - createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xFF00 | SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x1, 0x17, 0x0, 0x5 - createvisualtask AnimTask_HorizontalShake, 0x5, 5, 1, 67 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x0, 0x10, 0x0, 0x0 + delay 0x10 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x4A, 0x1 + createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xFF00 | SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x1, 0x17, 0x0, 0x5 + createvisualtask AnimTask_HorizontalShake, 0x5, 5, 1, 67 call ChloroblastShot call ChloroblastShot call ChloroblastShot - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4A, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4A, 0x1 call ChloroblastShot call ChloroblastShot call ChloroblastShot @@ -15796,19 +15797,19 @@ Move_CHLOROBLAST:: call ChloroblastShot waitforvisualfinish delay 0x5 - createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x2, 0x0, 0x0, 0x0 @;From Black - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x0, 0x10, 0x0, 0x03AC + createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x2, 0x0, 0x0, 0x0 @;From Black + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x0, 0x10, 0x0, 0x03AC restorebg waitbgfadeout - createvisualtask AnimTask_AllBattlersVisible, 0xA, + createvisualtask AnimTask_AllBattlersVisible, 0xA, clearmonbg ANIM_DEF_PARTNER waitbgfadein - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x2, 0x0, 0x0, 0x0 @;From Black - end + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x2, 0x0, 0x0, 0x0 @;From Black + end ChloroblastShot: - createsprite gSpriteTemplate_ChloroblastShot, ANIM_TARGET, 2, 0, 0, 0x19 + createsprite gSpriteTemplate_ChloroblastShot, ANIM_TARGET, 2, 0, 0, 0x19 delay 0x2 - createsprite gSpriteTemplate_ChloroblastShot, ANIM_TARGET, 2, 0, 0, 0x19 + createsprite gSpriteTemplate_ChloroblastShot, ANIM_TARGET, 2, 0, 0, 0x19 delay 0x2 return @@ -15822,7 +15823,7 @@ Move_MOUNTAIN_GALE:: call MountainGaleIceRock delay 0x6 call MountainGaleIceRock - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x18, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x18, 0x1 playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET delay 0x6 call MountainGaleIceRock @@ -15840,24 +15841,24 @@ Move_MOUNTAIN_GALE:: MountainGaleIceRock: playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER - createsprite gSpriteTemplate_MountainGaleRock, ANIM_ATTACKER, 2, 0x14, 0xfff8, 0xfff8, 0xfff8, 0x14, 0xffe0 + createsprite gSpriteTemplate_MountainGaleRock, ANIM_ATTACKER, 2, 0x14, 0xfff8, 0xfff8, 0xfff8, 0x14, 0xffe0 return - + @Credits to Skeli Move_VICTORY_DANCE:: loadspritegfx ANIM_TAG_HOLLOW_ORB - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, ANIM_ATTACKER, 0x28, 0x6, 0x3, 0x3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, ANIM_ATTACKER, 0x28, 0x6, 0x3, 0x3 playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER delay 0x8 - createvisualtask AnimTask_BlendPalInAndOutByTag, 0x5, ANIM_TAG_HOLLOW_ORB, 0x0B1D, 0xe, 0x0, 0x3 @;Light orange - createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x0 - createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x2b - createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x55 - createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x80 - createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0xaa - createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0xd5 + createvisualtask AnimTask_BlendPalInAndOutByTag, 0x5, ANIM_TAG_HOLLOW_ORB, 0x0B1D, 0xe, 0x0, 0x3 @;Light orange + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x0 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x2b + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x55 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0x80 + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0xaa + createsprite gDragonDanceOrbSpriteTemplate, ANIM_ATTACKER, 2, 0xd5 delay 0x1e playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER delay 0x1e @@ -15873,9 +15874,9 @@ Move_HEADLONG_RUSH:: loadspritegfx ANIM_TAG_ROCKS fadetobg BG_ROCK_WRECKER waitbgfadeout - createvisualtask AnimTask_StartSlidingBg, 0x5, 0xF000, 0x0, 0x0, 0xffff + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xF000, 0x0, 0x0, 0xffff waitbgfadein - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x26, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x26, 0x1 call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun @@ -15886,69 +15887,69 @@ Move_HEADLONG_RUSH:: call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun waitforvisualfinish - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2a, 0x0, 0x0, 0x5 - createsprite gSpriteTemplate_HeadlongRushImpact, ANIM_TARGET, 4, 0xfff6, 0x0, 0x1, 0x0 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2a, 0x0, 0x0, 0x5 + createsprite gSpriteTemplate_HeadlongRushImpact, ANIM_TARGET, 4, 0xfff6, 0x0, 0x1, 0x0 delay 0x5 - createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x4, 0x0, 0x2C, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x4, 0x0, 0x2C, 0x1 call MaxQuake_DirtGeyser call MaxQuake_DirtGeyser waitforvisualfinish - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 call UnsetPsychicBg waitforvisualfinish end @ from max quake MaxQuake_DirtGeyser: - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0x0005, 0x1, 0x0 - createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0x0005, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xfff1, 0x1, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xfff1, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xfffb, 0x1, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xfffb, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0x0012, 0x1, 0x0 - createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0x0012, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0x0005, 0x1, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfffc, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0x0005, 0x1, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfffc, 0x10 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0xfff5, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0xfff5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xffe1, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xffe1, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x4, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xffeb, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfff0, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xffeb, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfff0, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0x0002, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfffc, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0x0002, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfffc, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0xfff5, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0xfff5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0x100D, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0xffe5, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0003, 0xffe5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xffd1, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfff0, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfff5, 0xffd1, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0xfff0, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xffdb, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0008, 0xffdb, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfffc, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0xfff2, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0xfffa, 0xfff2, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x100D, 0x10 delay 0x0 - createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0xffe5, ANIM_TARGET, 0x0 - createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 + createsprite gTectonicRageExplosionSpriteTemplate, ANIM_TARGET, 2, 0x0000, 0xffe5, ANIM_TARGET, 0x0 + createsprite gSpriteTemplate_MaxQuakeDirtGeyser, ANIM_TARGET, 4, 0, 0x4, 0x10 delay 0x0 - createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 + createsprite gSpriteTemplate_MaxQuakeRockGeyser, ANIM_TARGET, 4, ANIM_TARGET, 0xfff0, 0x10 return @@ -15960,27 +15961,27 @@ Move_BARB_BARRAGE:: monbg ANIM_TARGET call BarbBarrageSpikeShoot loopsewithpan SE_M_DIG, SOUND_PAN_ATTACKER, 0x7, 0x3 - createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER + createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER delay 0x14 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x20, 0x1 call PoisonBubblesEffect clearmonbg ANIM_TARGET end BarbBarrageSpikeShoot: delay 0x3 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0, 0x3 delay 0x0 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0, 0x0500, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0, 0x0500, 0x3 delay 0x0 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0, 0xfb00, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0, 0xfb00, 0x3 delay 0x0 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0500, 0x0300, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0500, 0x0300, 0x3 delay 0x0 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0300, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0x0300, 0x3 delay 0x0 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0500, 0xfd00, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0x0500, 0xfd00, 0x3 delay 0x0 - createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0xfd00, 0x3 + createsprite gSpriteTemplate_BarbBarrage, ANIM_TARGET, 2, 0x0, 0x0, 0x1e, 0xfb00, 0xfd00, 0x3 return @@ -15989,18 +15990,18 @@ BarbBarrageSpikeShoot: Move_ESPER_WING:: loadspritegfx ANIM_TAG_PUNISHMENT_BLADES @Punishment Blade loadspritegfx ANIM_TAG_WHITE_FEATHER - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_WHITE_FEATHER, 0x0, 0xA, 0xA, 0x7DDE + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_WHITE_FEATHER, 0x0, 0xA, 0xA, 0x7DDE monbg ANIM_TARGET call SetPsychicBackground playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x2ff + createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x2ff waitforvisualfinish playsewithpan SE_M_WING_ATTACK, SOUND_PAN_ATTACKER call EsperWingBlade playsewithpan SE_M_WING_ATTACK, SOUND_PAN_ATTACKER delay ESPER_WING_SPEED / 2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0xC, 0x1 call WingAttackFeatherScatter waitforvisualfinish call UnsetPsychicBg @@ -16008,17 +16009,17 @@ Move_ESPER_WING:: end EsperWingBlade: - createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, ESPER_WING_SPEED + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, ESPER_WING_SPEED delay ESPER_WING_SPEED / 2 - createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, ESPER_WING_SPEED + createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, ESPER_WING_SPEED return @ TODO update wing attack anim with this WingAttackFeatherScatter: - createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xa0, 0xffe0 - createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xff00, 0xffd8 - createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0x1a0, 0xffda - createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xfe80, 0xffe1 + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xa0, 0xffe0 + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xff00, 0xffd8 + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0x1a0, 0xffda + createsprite gSpriteTemplate_WingAttackFeather, ANIM_TARGET, 1, 0xfff8, 0xfff8, 0xfe80, 0xffe1 return @@ -16029,30 +16030,30 @@ Move_BITTER_MALICE:: loadspritegfx ANIM_TAG_ICE_CRYSTALS playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET createvisualtask AnimTask_ScaryFace, 0x5 @ internally checks side - createvisualtask AnimTask_ShakeMon2, 0x5, 0x1, 0x2, 0x0, 0x4C, 0x1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xF, 0x3006 @;Dark Purple - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PURPLE_RING, 0x4, 0x0, 0xE, 0x3006 @;Dark Purple + createvisualtask AnimTask_ShakeMon2, 0x5, 0x1, 0x2, 0x0, 0x4C, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xF, 0x3006 @;Dark Purple + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PURPLE_RING, 0x4, 0x0, 0xE, 0x3006 @;Dark Purple call BitterMaliceSwirl call BitterMaliceSwirl call BitterMaliceSwirl delay 0x4 @;Wait until the blends are reset after the scary face fades out call IceCrystalEffectShort waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xF, 0x0, 0x3006 @;Dark Purple + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xF, 0x0, 0x3006 @;Dark Purple end BitterMaliceSwirl: - createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, 0x1 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, 0x1 delay 0x2 - createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, 0x1 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, 0x1 delay 0x2 - createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, 0x1 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, 0x1 delay 0x2 - createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, 0x1 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, 0x1 delay 0x2 - createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, 0x1 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, 0x1 delay 0x2 - createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, 0x1 + createsprite gSpriteTemplate_BitterMaliceRing, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, 0x1 delay 0x2 return @@ -16062,11 +16063,11 @@ Move_SHELTER:: loadspritegfx ANIM_TAG_SHELL_RIGHT playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShellSmashShrinkAttacker, 0x2 - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SHELL_LEFT, 0x1, 0x0, 0xE, 0x6B5A @ light light, gray - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SHELL_RIGHT, 0x1, 0x0, 0xE, 0x6B5A @ light light, gray + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SHELL_LEFT, 0x1, 0x0, 0xE, 0x6B5A @ light light, gray + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SHELL_RIGHT, 0x1, 0x0, 0xE, 0x6B5A @ light light, gray createsprite gShellSmashRightShellSpriteTemplate, ANIM_ATTACKER, 2, 0xffd7, 0x0, 0x2, 0x333, 0x0, 10, 30 createsprite gShellSmashLeftShellSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x0, 0x6, 0xfccd, 0x0, 10, 30 - createvisualtask AnimTask_FadeOutParticles, 0x2, 0 + createvisualtask AnimTask_FadeOutParticles, 0x2, 0 waitforvisualfinish blendoff end @@ -16079,29 +16080,29 @@ Move_TRIPLE_ARROWS:: monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET playsewithpan SE_M_JUMP_KICK, SOUND_PAN_TARGET - createsprite gSpriteTemplate_TripleArrowKick, ANIM_TARGET, 2, -30, -20, 0x10, -20 + createsprite gSpriteTemplate_TripleArrowKick, ANIM_TARGET, 2, -30, -20, 0x10, -20 waitforvisualfinish playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x6, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x6, 0x6, 0x1 delay 0x4 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER - createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, -40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, -40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME delay 0x3 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER - createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME delay 0x3 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0xa, 0x1 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_IsAttackerPlayerSide, 0x2, + createvisualtask AnimTask_IsAttackerPlayerSide, 0x2, jumpargeq 0x7, FALSE, TripleArrowsOnOpponent - createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0, -60, 0, 0, TRIPLE_ARROW_FLY_TIME + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0, -60, 0, 0, TRIPLE_ARROW_FLY_TIME TripleArrowsEnd: delay 0x3 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end TripleArrowsOnOpponent: - createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0, 50, 0, 0, TRIPLE_ARROW_FLY_TIME @Below becomes becomes, above + createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0, 50, 0, 0, TRIPLE_ARROW_FLY_TIME @Below becomes becomes, above goto TripleArrowsEnd @@ -16113,26 +16114,26 @@ Move_INFERNAL_PARADE:: monbg ANIM_TARGET splitbgprio_foes ANIM_TARGET fadetobg BG_GHOST - playsewithpan SE_M_PSYBEAM, 0xc0 + playsewithpan SE_M_PSYBEAM, 0xc0 waitbgfadein - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, 10, 20 @;Bottom left + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, 10, 20 @;Bottom left delay 0x3 - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, -30, -20 @;Top right + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, -30, -20 @;Top right delay 0x3 - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right delay 0x3 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x32, 0x1 call InfernalFlames call InfernalFlames call InfernalFlames call InfernalFlames playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET - createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x0 - createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x2a - createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x54 - createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x7e - createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0xa8 - createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0xd2 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x0 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x2a + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x54 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x7e + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0xa8 + createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0xd2 waitforvisualfinish delay 0xC restorebg @@ -16140,13 +16141,13 @@ Move_INFERNAL_PARADE:: clearmonbg ANIM_TARGET end InfernalFlames: - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, -30, -20 @;Top left + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, -30, -20 @;Top left delay 0x3 - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, 10, 20 @;Bottom left + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, -30, 10, 20 @;Bottom left delay 0x3 - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, -30, -20 @;Top right + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, -30, -20 @;Top right delay 0x3 - createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right + createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right delay 0x3 return @@ -16156,37 +16157,37 @@ InfernalFlames: Move_CEASELESS_EDGE:: loadspritegfx ANIM_TAG_SLASH playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2C, 0x0, 0x0, 0x5 + createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2C, 0x0, 0x0, 0x5 waitforvisualfinish - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x10, 0x1F @;Fully to to, Red - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_ATTACKER | F_PAL_TARGET), 0x0, 0x10, 0x10, 0x0 @;Fully to to, Black - createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xa, + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x10, 0x1F @;Fully to to, Red + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_ATTACKER | F_PAL_TARGET), 0x0, 0x10, 0x10, 0x0 @;Fully to to, Black + createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xa, delay 0x10 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0x30, 0x1 + createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0x30, 0x1 call CeaselessEdgeSlashes call CeaselessEdgeSlashes call CeaselessEdgeSlashes waitforvisualfinish delay 0x8 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 + createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 waitforvisualfinish - createvisualtask AnimTask_AllBattlersVisible, 0xA, - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x7FFF @;From White + createvisualtask AnimTask_AllBattlersVisible, 0xA, + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x7FFF @;From White waitforvisualfinish end CeaselessEdgeSlashes: playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, 8, 0, FALSE, FALSE + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, 8, 0, FALSE, FALSE delay 0x4 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, -8, -8, TRUE, FALSE + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, -8, -8, TRUE, FALSE delay 0x4 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, -8, 0, TRUE, TRUE + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, -8, 0, TRUE, TRUE delay 0x4 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, 8, -4, FALSE, TRUE + createsprite gSpriteTemplate_CeaselessEdgeSlash, ANIM_TARGET, 2, 8, -4, FALSE, TRUE return @@ -16195,8 +16196,8 @@ Move_BLEAKWIND_STORM:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_ICE_CRYSTALS playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF call HurricaneGust call BleakwindStormIceSwirl call HurricaneGust @@ -16211,21 +16212,21 @@ Move_BLEAKWIND_STORM:: call BleakwindStormIceSwirl waitforvisualfinish stopsound - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x7FFF waitforvisualfinish end BleakwindStormIceSwirl: - createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET + createsprite gSpriteTemplate_BleakwindIce, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET return @@ -16235,11 +16236,11 @@ Move_WILDBOLT_STORM:: loadspritegfx ANIM_TAG_SPARK_2 fadetobg BG_MAX_LIGHTNING waitbgfadeout - createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff + createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff waitbgfadein playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE call HurricaneGust call WildboltStormSparkSwirl call HurricaneGust @@ -16254,23 +16255,23 @@ Move_WILDBOLT_STORM:: call WildboltStormSparkSwirl waitforvisualfinish stopsound - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x07FE call UnsetPsychicBg waitforvisualfinish end WildboltStormSparkSwirl: - createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x210, 0x1e, 0xa, 0x32, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x24, 0x1e0, 0x14, 0xd, 0xffd2, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x240, 0x14, 0x5, 0x2a, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x23, 0x190, 0x19, 0x8, 0xffd6, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x20, 0x200, 0x19, 0xd, 0x2e, ANIM_TARGET delay 0x2 - createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET + createsprite gSpriteTemplate_WildboltStormSpark, ANIM_TARGET, 2, 0x0, 0x25, 0x1d0, 0x1e, 0xc, 0xffce, ANIM_TARGET return @@ -16278,10 +16279,10 @@ WildboltStormSparkSwirl: Move_SANDSEAR_STORM:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_SMALL_EMBER - createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B + createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F + createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F call HurricaneGust call SandsearStormFireSpin call HurricaneGust @@ -16296,25 +16297,25 @@ Move_SANDSEAR_STORM:: call SandsearStormFireSpin waitforvisualfinish stopsound - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0xB, 0x0, 0x1F waitforvisualfinish end SandsearStormFireSpin: - createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, ANIM_TARGET + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x210, 0x1e, 0xd, 0x32, ANIM_TARGET delay 0x2 - createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, ANIM_TARGET + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x20, 0x1e0, 0x14, 0x10, 0xffd2, ANIM_TARGET delay 0x2 - createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, ANIM_TARGET + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x240, 0x14, 0x8, 0x2a, ANIM_TARGET delay 0x2 - createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, ANIM_TARGET + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1f, 0x190, 0x19, 0xb, 0xffd6, ANIM_TARGET delay 0x2 - createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, ANIM_TARGET + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x200, 0x19, 0x10, 0x2e, ANIM_TARGET delay 0x2 - createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, ANIM_TARGET + createsprite gFireSpinSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x21, 0x1d0, 0x1e, 0xf, 0xffce, ANIM_TARGET return - - + + @Credits to Skeli Move_LUNAR_BLESSING:: loadspritegfx ANIM_TAG_MOON @@ -16324,27 +16325,27 @@ Move_LUNAR_BLESSING:: loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER setalpha 16, 0 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 - createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x1, 0x0, 0x10, 0x0 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 + createvisualtask AnimTask_BlendNonAttackerPalettes, 0x2, 0x1, 0x0, 0x10, 0x0 waitforvisualfinish - createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 0x78, 0x38 - createvisualtask AnimTask_AlphaFadeIn, 0x3, 0x0, 0x10, 0x10, 0x0, 0x1 - createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x7, 0x0, 0x10, 0x0 + createsprite gMoonSpriteTemplate, ANIM_ATTACKER, 2, 0x78, 0x38 + createvisualtask AnimTask_AlphaFadeIn, 0x3, 0x0, 0x10, 0x10, 0x0, 0x1 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x7, 0x0, 0x10, 0x0 loopsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER, 0x10, 0x3 call HealingEffect2 - createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, + createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, delay 0x4 - createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, + createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, delay 0x4 - createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, + createsprite gSpriteTemplate_LunarDanceRing, ANIM_ATTACKER, 2, delay 0x24 clearmonbg ANIM_ATK_PARTNER call HealingEffect delay 0x28 - createvisualtask AnimTask_AllBattlersInvisible, 0xA, - createvisualtask AnimTask_MoonlightEndFade, 0x2, + createvisualtask AnimTask_AllBattlersInvisible, 0xA, + createvisualtask AnimTask_MoonlightEndFade, 0x2, delay 0x10 - createvisualtask AnimTask_AllBattlersVisible, 0xA, + createvisualtask AnimTask_AllBattlersVisible, 0xA, waitforvisualfinish blendoff end @@ -16356,10 +16357,10 @@ Move_TAKE_HEART:: loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_GUARD_RING playsewithpan SE_M_BUBBLE, SOUND_PAN_ATTACKER - createsprite gSpriteTemplate_TakeHeartFallingHeart, ANIM_ATTACKER, 2, 0, 0x3a, 4, ANIM_ATTACKER - delay 0x15 + createsprite gSpriteTemplate_TakeHeartFallingHeart, ANIM_ATTACKER, 2, 0, 0x3a, 4, ANIM_ATTACKER + delay 0x15 loopsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER, 0x10, 0x4 - createvisualtask AnimTask_StatusClearedEffect, 0x2, 0x0 + createvisualtask AnimTask_StatusClearedEffect, 0x2, 0x0 call TakeHeartRings call TakeHeartRings call TakeHeartRings @@ -16376,7 +16377,7 @@ Move_TAKE_HEART:: end TakeHeartRings: - createsprite gSpriteTemplate_TakeHeartRing, ANIM_ATTACKER, 2, + createsprite gSpriteTemplate_TakeHeartRing, ANIM_ATTACKER, 2, delay 0x4 return From 81e59ace253866e56d7f362f74401494068c4ee0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Fri, 30 Jun 2023 03:58:07 -0400 Subject: [PATCH 035/256] Cleaned up remaining Castform hack stuff (#3063) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removed gCastformFrontSpriteCoords * Removed sCastformElevations and IsCastformForm * Removed sCastformBackSpriteYCoords and castformPalette in BattleStruct * Scrubbed unused BS commands * Removed B_ANIM_CASTFORM_CHANGE and BattleForm constants * Removed redundant function in Pokémon Debug menu * Removed handling in animation scripts * Removed gBattleMonForms * Reduced MAX_MON_PIC_FRAMES to 2 * Removed Castform/Cherrim makefile stuff * Fixed weather form change tests not checking species. * Fixed Castform palettes after Lunos' PR --- asm/macros/battle_script.inc | 4 +- data/battle_anim_scripts.s | 29 ++--- graphics/pokemon/castform/back.png | Bin 0 -> 374 bytes graphics/pokemon/castform/front.png | Bin 0 -> 386 bytes .../pokemon/castform/{normal => }/normal.pal | 2 +- .../pokemon/castform/normal/anim_front.png | Bin 413 -> 0 bytes graphics/pokemon/castform/normal/back.png | Bin 401 -> 0 bytes graphics/pokemon/castform/normal/front.png | Bin 413 -> 0 bytes .../pokemon/castform/rainy/anim_front.png | Bin 533 -> 0 bytes graphics/pokemon/castform/rainy/back.png | Bin 488 -> 468 bytes graphics/pokemon/castform/rainy/front.png | Bin 533 -> 506 bytes graphics/pokemon/castform/rainy/normal.pal | 2 +- graphics/pokemon/castform/rainy/shiny.pal | 2 +- .../pokemon/castform/{normal => }/shiny.pal | 2 +- .../pokemon/castform/snowy/anim_front.png | Bin 690 -> 0 bytes graphics/pokemon/castform/snowy/back.png | Bin 622 -> 596 bytes graphics/pokemon/castform/snowy/front.png | Bin 690 -> 665 bytes graphics/pokemon/castform/snowy/normal.pal | 2 +- graphics/pokemon/castform/snowy/shiny.pal | 2 +- .../pokemon/castform/sunny/anim_front.png | Bin 632 -> 0 bytes graphics/pokemon/castform/sunny/back.png | Bin 575 -> 553 bytes graphics/pokemon/castform/sunny/front.png | Bin 632 -> 607 bytes graphics/pokemon/castform/sunny/normal.pal | 2 +- graphics/pokemon/castform/sunny/shiny.pal | 2 +- graphics_file_rules.mk | 56 ---------- include/battle.h | 2 - include/battle_gfx_sfx_util.h | 2 +- include/constants/battle.h | 10 -- include/constants/battle_anim.h | 75 +++++++------ include/constants/pokemon.h | 3 +- include/pokemon.h | 1 - src/battle_anim_effects_3.c | 11 +- src/battle_anim_mons.c | 56 +--------- src/battle_controller_link_opponent.c | 4 +- src/battle_controller_link_partner.c | 4 +- src/battle_controller_opponent.c | 4 +- src/battle_controller_player.c | 2 +- src/battle_controller_player_partner.c | 4 +- src/battle_controller_recorded_opponent.c | 4 +- src/battle_controller_recorded_player.c | 4 +- src/battle_controller_wally.c | 2 +- src/battle_controllers.c | 1 - src/battle_gfx_sfx_util.c | 74 +++---------- src/battle_intro.c | 2 +- src/battle_main.c | 10 +- src/battle_script_commands.c | 26 ++--- src/contest.c | 5 - src/data.c | 14 --- src/data/graphics/pokemon.h | 16 +-- src/pokemon.c | 10 +- src/pokemon_animation.c | 3 + src/pokemon_debug.c | 50 +-------- src/reshow_battle_screen.c | 8 +- test/ability_flower_gift.c | 6 ++ test/ability_forecast.c | 102 +++++++++++++++++- 55 files changed, 225 insertions(+), 395 deletions(-) create mode 100644 graphics/pokemon/castform/back.png create mode 100644 graphics/pokemon/castform/front.png rename graphics/pokemon/castform/{normal => }/normal.pal (93%) delete mode 100644 graphics/pokemon/castform/normal/anim_front.png delete mode 100644 graphics/pokemon/castform/normal/back.png delete mode 100644 graphics/pokemon/castform/normal/front.png delete mode 100644 graphics/pokemon/castform/rainy/anim_front.png rename graphics/pokemon/castform/{normal => }/shiny.pal (93%) delete mode 100644 graphics/pokemon/castform/snowy/anim_front.png delete mode 100644 graphics/pokemon/castform/sunny/anim_front.png diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 014a8bb7ff..47dc8092a3 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1186,11 +1186,11 @@ .byte 0xe5 .endm - .macro doweatherformchangeanimation + .macro unused3 .byte 0xe6 .endm - .macro tryweatherformdatachange + .macro unused4 .byte 0xe7 .endm diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index c32c6d2031..7c995ef722 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -910,7 +910,6 @@ gBattleAnims_StatusConditions:: .align 2 gBattleAnims_General:: - .4byte General_WeatherFormChange @ B_ANIM_CASTFORM_CHANGE .4byte General_StatsChange @ B_ANIM_STATS_CHANGE .4byte General_SubstituteFade @ B_ANIM_SUBSTITUTE_FADE .4byte General_SubstituteAppear @ B_ANIM_SUBSTITUTE_APPEAR @@ -24282,7 +24281,7 @@ Move_TRANSFORM: monbg ANIM_ATTACKER playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER waitplaysewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 48 - createvisualtask AnimTask_TransformMon, 2, 0, 0, 1 + createvisualtask AnimTask_TransformMon, 2, 0, 1 waitforvisualfinish clearmonbg ANIM_ATTACKER end @@ -26364,22 +26363,6 @@ Status_Nightmare: Status_Powder: end -General_WeatherFormChange: - createvisualtask AnimTask_IsMonInvisible, 2 - jumpreteq TRUE, WeatherFormChangeSkipAnim - goto WeatherFormChangeContinue -WeatherFormChangeContinue: - monbg ANIM_ATTACKER - playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER - waitplaysewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 48 - createvisualtask AnimTask_TransformMon, 2, 1, 0, 0 - waitforvisualfinish - clearmonbg ANIM_ATTACKER - end -WeatherFormChangeSkipAnim: - createvisualtask AnimTask_CastformGfxDataChange, 2, 1 - end - General_StatsChange: createvisualtask AnimTask_StatsChange, 5 waitforvisualfinish @@ -26798,14 +26781,14 @@ General_WishHeal: General_IllusionOff: monbg ANIM_TARGET - createvisualtask AnimTask_TransformMon, 2, 0, 1, 0 + createvisualtask AnimTask_TransformMon, 2, 1, 0 waitforvisualfinish clearmonbg ANIM_TARGET end General_FormChange: monbg ANIM_ATTACKER - createvisualtask AnimTask_TransformMon, 2, 0, 1, 0 + createvisualtask AnimTask_TransformMon, 2, 1, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER end @@ -26834,7 +26817,7 @@ General_MegaEvolution: delay 20 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 0, 16, RGB_WHITEALPHA waitforvisualfinish - createvisualtask AnimTask_TransformMon, 2, 0, 1, 0 + createvisualtask AnimTask_TransformMon, 2, 1, 0 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 waitforvisualfinish @@ -26980,7 +26963,7 @@ General_PrimalReversion_Alpha: delay 20 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 0, 16, RGB_WHITEALPHA waitforvisualfinish - createvisualtask AnimTask_TransformMon, 2, 0, 1, 0 + createvisualtask AnimTask_TransformMon, 2, 1, 0 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 waitforvisualfinish @@ -27007,7 +26990,7 @@ General_PrimalReversion_Omega: delay 20 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 0, 16, RGB_WHITEALPHA waitforvisualfinish - createvisualtask AnimTask_TransformMon, 2, 0, 1, 0 + createvisualtask AnimTask_TransformMon, 2, 1, 0 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 waitforvisualfinish diff --git a/graphics/pokemon/castform/back.png b/graphics/pokemon/castform/back.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0a4f59d77b349699f26075df371f761c6b6629 GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!3<7*YTxVQZaP;VusGy*;d-p!O zckkP`cR-o{|NjG-Kn4U%nKH#I$O|YaAt4dlnYa%qDo_&S7YtH|3=RZzI|JpOdb&7< zM6|xWdXcYLfrmBVvePl=>Hq%U?+bh0bZJRzs{Z4B89whg7aZEQb`1#p@$Sf2H@|qE zF^5CX%0PxCCYBSmd<054IXpTJmQ6Y#!N!uA?z>3v;Tr9Q%#!crnU4P|S5SD4?@4QI9v%m^KYi; z%F3>dUqlkPq}XOi7~fqf7503-rj$cUVUc*i)2D}?YHdt0*eLJ#(sgF1_ou+6jM+>E zpJQ&%i&O|>-Si{lKoyLsQy`KAiT-hEWQx}E38 z++Q(`zW;7tn4Mjqz31fdgTAgcQOS}seuZyv3zA6ES=Qzdoj#*j^Mj?t>$VEF>zc>* sPcAnTobvw8p<5l_#q5DzSoxgwn>rUS|IL@LfqrN3boFyt=akR{09wtd3IG5A diff --git a/graphics/pokemon/castform/normal/back.png b/graphics/pokemon/castform/normal/back.png deleted file mode 100644 index 99a2bfef7a69cb5a0ad725960cac16db0c0a33e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 401 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!j01c^T!Hk_qf?@Sg3j*U`|RGm zZ{OYlMgIT)4`c!va4==c6t5sJptyvDghS`sqd*D9k|4ie28U-i(tsS!0*}aI1_nK4 z5N51cYF`EvWH0gbb!C6f#?Gk2#xm)JK2Ye1r;B4q#NoGBFLE7L;9QoSkE1!`)y z71hrhC_X9E;j~en^VMmJDz41<&1(x_qdO11qAQ+`*AISmF2nNg!SJ)W#3?%_*y}; dzJg~D!}Qs_+xzyMkO%sg!PC{xWt~$(696}@o?8F_ diff --git a/graphics/pokemon/castform/normal/front.png b/graphics/pokemon/castform/normal/front.png deleted file mode 100644 index d6a73c2c409882f61cb893c32013dc58b9d5a918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!j01c^T!Hk_qf?@Sg3j*U`|RGm zZ{OYlMgIT)4`c!va4==c6t5sJptyvDghS`sqd*D9k|4ie28U-i(tsS!0*}aI1_nK4 z5N51cYF`EvWH0gbb!C6f#?Gk2UOe^2PN2{SPZ!6Kh{JEE?iOM)C;0`wKk?0Y?OC=={mF1`%~aj#%v~o z&oQ^>MJj}`Zu*gNAokb_?t(L+u5G^~YC;n@d#A4H{yu}P-MsJUd{c#E?>;JD-Olr4 z?ys0e-+#9+%+4;*-gEN!L0{LJsAS0*zrr`T1xY07ENgR!PM=Y%`N2}+bz6nobOV diff --git a/graphics/pokemon/castform/rainy/anim_front.png b/graphics/pokemon/castform/rainy/anim_front.png deleted file mode 100644 index 0c2e4e174940c8b4b4602ada3bbf046ed65fd0ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533 zcmV+w0_y#VP)_UREm%3t^>e;g0?Pr@Iz|A;{GWBdTu_Jaj9{E(nrf6KcCSNjG9=jck5_ZpJY z@gs>TxdqD4^T#sJZo{N}HOM0Q1gY{(e1_={uLhT3S&UoGg-4KtUn;)TWpo&%0RB&a zegUhYu*_zNUV(u{ql*~5g4Otf7s0yv1yLb2tj2oBsrpMeQgkXwl!pme800Q&L8P#k;;s7Daw($MmRpMbpr zHK3jW)YnI;lxia-s6*xYzc&W3j3WncFtqVafhYKzH;#M( XgLx&~|NWN_00000NkvXXu0mjfs7CEQ diff --git a/graphics/pokemon/castform/rainy/back.png b/graphics/pokemon/castform/rainy/back.png index 2763b51d9562624150fe0fa7228662fd44ecf665..bd7ac7d7ce21002dff974c8c7433de2d0dd1bc32 100644 GIT binary patch delta 415 zcmV;Q0bu^<1JnbMBo{DHOjJbx0070slsQ3KVspK7i`A60&5=GHf5)}nM*si-5Oh*b zQvm<}|NsC0|NsC0|NsC0|G-d-LjV8)LrFwIR9J=W*4=W0AP@!M%t9k9KY9PRtt=oI zMHiUqMaOg3rstcJq>8WClP6D}{PRdD5pkmLy;n-%FoM*l3=*J9#)w)_BLe7JfT0P6 z@P0s8C+GqU2w{QNe-i>|$|iJw4tt>glT7_-p#Cnq1UR%i1w54dgwjV!{^`T+$E$Iz zO3G$1Cm`JpsQp7BgFhh-DD_ORC(wX2eyb;eGl2%A{yxZ?fUQ0W_Y>L!m=nSup%kZp z0LBCY#Hk?O41m6@u;3^N0`A^J93YN@5Mp^VCL|!GY7^jkeSv+JWg1xi2xtp%e>qG8 zbgZ@j)_)>gOkiEm)4+wmyraZtixYu;S8NFUyDH=(VOPhFlOaDKVKzF?1?TeFtaUt@ z@<9t9#scSzF-52Y>nnEz)s3-mLV&e45SRT}5BVkl=-2jJ_yuC@9?prIP7VM7002ov JPDHLkV1fY!zQ+In delta 436 zcmV;l0ZabW1Ly;gBpNeNOjJbx0070slsQ3KVspK7i`A60%>V!ZkvkrLb%EMr00001 zbW%=J06^y0W&i*H32;bRa{vG?BLDy{BLR4&KXw2B00(qQO+^Ri1_uEw3JoNr1ONa5 zJ4r-AR9M69meG=fAPhx2flh^h@c&<12_Rb02AJK4j`yv$=gch%@$tBG=gyrUkCYM- z2YBb4QVP2zNIa!e0ji{bPq8(q9s}sD0lF#_g>%qVK^H-XAvDl>zyO-E8k*N(FKA!M z#19Kp@6Ch*-Dp5n4Ycz}$)7x%kGpX}C1rI0dpEm)FX)p(4t|ALpx{}-u0RD+`4vwF z&n=MneUMiH&v-KUfdb45;YTP%RUm*-fdryz5HE&+ZdPb;Gzb!ZeEScvfH)e25YvlM zAqi48GzsQb!9LS8ESUaDaBcwg_W~NLX9Cuf2p1Jt8+ur9VPKvp@!bOJJnKk0G4M}S z$RlBgW5Z;CGF39&G#BPM&t|RTWXgjUyyxJ?m}1xlmT$f(2sg$;MFG~@pt$5C9`dOG epv(5t@CN&hAz;uCnHLiP0000 diff --git a/graphics/pokemon/castform/rainy/front.png b/graphics/pokemon/castform/rainy/front.png index 0ee52a35ae888654fa8ea46504fc663e457dff31..acfcca96bf72d700021ff894571d8ff7f1f2c4a5 100644 GIT binary patch delta 454 zcmV;%0XhDa1o{JzBo{DHOjJc$09VDulsQ3KVspK7i`A60&5=GHf0pA*$^ZZW5Oh*b zQvm<}|NsC0|NsC0|NsC0|G-d-LjV8)X-PyuR9J=WluNdRFbD-b#`Y6I_P^T>m-uPl z8$g_TM;TZJNr+wd=8ZoYc|gxdn_;KtrGJFC@(13^Z`*_VS^3TCw+Mi5?Hf4CH#TtL zn*`tZ1N@&r`~rrdu*_yiQGtO)gGEYF!DM{Fi(s1Kf&>VL$@r*% z0Zo=F@baet*_P0ffa}#M3wg$3a>pd-NRl1zGU0RC584Gn4}8Us{|V; zx8o29oqRDA2k!#%2s%A9x$-2Zz%vX#0vM$3L0k>MAaw5lgXA4&ZI#X=QDvvAA_)tB%}W+-4wyXH-$XG-@FOr3s(#x+BnmMV!ZkvkrL5>nWI00001 zbW%=J06^y0W&i*H32;bRa{vG?BLDy{BLR4&KXw2B00(qQO+^Ri1_uEw3wk4zk^le! zXh}ptR9M69mCKTZAPhw*vC9V}-v9sFCJEY~;y9HPK1_kHnN|g5+lG5=b zi7B}S%Fpx1GS6_ ztD&&WW{6&afkmT>7`=kk_<|R~y7~oCAvLVVdj+h}YN-Nv=0FX9y1n6^0!&b7t0E2v z%n--m_(rw97M$E=EXn&>~jjmiE>7N0a+1f zh$`P_D7@6bbPx9m^hvg3G%0kSfeBTRTZtZ^bf-fA`tik39DE9>M-b%F(DHHL*GH+8?iJ`fAoY&3luExVxia-s6*xYzc&W3j3WncFtqVafhYKzH;#M( XgLx&~|NWN_00000NkvXXu0mjfKyKM$ diff --git a/graphics/pokemon/castform/rainy/normal.pal b/graphics/pokemon/castform/rainy/normal.pal index 914cdac622..f844fdf1ff 100644 --- a/graphics/pokemon/castform/rainy/normal.pal +++ b/graphics/pokemon/castform/rainy/normal.pal @@ -1,12 +1,12 @@ JASC-PAL 0100 16 +248 160 176 197 197 148 57 65 90 98 115 189 115 139 213 148 180 205 -0 0 0 205 238 246 180 197 222 139 205 222 diff --git a/graphics/pokemon/castform/rainy/shiny.pal b/graphics/pokemon/castform/rainy/shiny.pal index 914cdac622..f844fdf1ff 100644 --- a/graphics/pokemon/castform/rainy/shiny.pal +++ b/graphics/pokemon/castform/rainy/shiny.pal @@ -1,12 +1,12 @@ JASC-PAL 0100 16 +248 160 176 197 197 148 57 65 90 98 115 189 115 139 213 148 180 205 -0 0 0 205 238 246 180 197 222 139 205 222 diff --git a/graphics/pokemon/castform/normal/shiny.pal b/graphics/pokemon/castform/shiny.pal similarity index 93% rename from graphics/pokemon/castform/normal/shiny.pal rename to graphics/pokemon/castform/shiny.pal index 2fa401dd6f..4fc9b290d8 100644 --- a/graphics/pokemon/castform/normal/shiny.pal +++ b/graphics/pokemon/castform/shiny.pal @@ -1,6 +1,7 @@ JASC-PAL 0100 16 +248 160 176 197 197 148 98 90 90 205 164 189 @@ -12,7 +13,6 @@ JASC-PAL 0 0 0 0 0 0 0 0 0 -0 0 0 148 148 148 74 82 74 255 255 255 diff --git a/graphics/pokemon/castform/snowy/anim_front.png b/graphics/pokemon/castform/snowy/anim_front.png deleted file mode 100644 index 0bcfddc337de1c9ee07a41942f33cc3d517b186b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 690 zcmV;j0!{siP)(Qbn<3`LQd1aW}*|G#$jbqJxIh-qIYt@oh{F84s<#AX;ix)7iA zf_Z6_(jCTbhKtF>ob)PcuV!`Du#RJd@^IK6{(1^r`su9b^l6{GP21+ZD+<{GW^etb zC4eAK2cW)wA?Y7ogxy;RM60Q6Bl7r?s0Uzwlo1-c`JK!m!m(};-X8>AUFiaz7Oxfe z08aRwp;4R85F?x^M@#}+p+U5XfL&tSkq-BIFyb4U>Mp24GNOJyClSgXyW!7YXJv## zOMtEa=vPAO@1iD;d79ie?SmXlq62dAO)eXbISMdBp0?ir5=|rL?b`_I-8LtT3XpJF zPkD3Wq#zrNsvJ$D~er*fqUn{+7j~E z5XS0P0AJ6;yBeV&k0+rz3yOsF0oonx0JioO=L1r? z>UY95Kws2vO{o%SU5bC9>%wd&nUdd%8B11C+S^j;c^8WyXkzZyCd7h?Br4s?R`B{r z6#!8UQv9kQJbj&Y2Wl2YgV`?l*#W_+V$irwKm-;*DvLy{C(fXeEcm z0hIuQEh69ZD?w^2^tMz260T{AfXF+fl)(MZZStjm!PyYr^8W#V65jK_4;bW4|408s YKahAX%#@W=#{d8T07*qoM6N<$f>7!)e*gdg diff --git a/graphics/pokemon/castform/snowy/back.png b/graphics/pokemon/castform/snowy/back.png index 11281385a5bba260693760f922cdfc14001e7486..6b8946b351b75a2b5d823e572f8e62e266d79d8f 100644 GIT binary patch delta 544 zcmV+*0^j}a1k?nOBo{DHOjJd50CUB~lqpgpF5Oh*b zQvm<}|NsC0|NsC0|NsC0|G-d-LjV8)!%0LzR9J=WmfLQ`APht+6D7uBwg3OO161cC4yn))LGK=r$H97}?WJ+r-eBW~#0f1mm;wME?`Fn~5qhQ?Fy zdw}?dqRnW26A4Rz7n#j;4Da8`&gQ5R$aDl_J^)ZyED45n>^m*TAP~stI`-EcfWsl+ zc+ou7+5eY-gBF7rrXD8*ibFmuBHqX$Sto#)t%D0PUFf-wn#e-RJq-XH!fBFpzfHNP zodo0zAD2KDesba|B|r)AQ3>qlq}Bi&;3>rw0&yzxHP!FIw*b#f&}v|RiR~*QwgA)J z6El?>1X0N48rt1Ky6R6~1OY+WP1mdXnk=qdr0FWNg^}F(dt*?7D}F4yu+Rj1eprv; itpKE75u5)1nvZoBpNeNOjJd50CUB~lqpgV!ZkvkrLckliE00001 zbW%=J06^y0W&i*H32;bRa{vG?BLDy{BLR4&KXw2B00(qQO+^Ri1_uEw4hl(N9RL6U z!AV3xR9M69meG#HAP7Y#*rY|ur2qf5tD+WLtewg3KK0I9<2|Av%LW4q#RgV`0N=43ndu(9g z(O&>kZ|w}oJkU#j9xaiF-1p43D1ca?|OBAb#o8Y&NsB zzjPEb4-oA#roc)8u7zO5ApY96kBF24%(Ex;RB8}Ju`h!j)o=o2fBr`h5melC9M#9p z!gY}5QRXWnyUYKLP6%B6SWn@hY3$|Wehr%e(0)w-^%)u#zz^DAHFN)G)#v~K002ov JPDHLkV1mFh2dn@9 diff --git a/graphics/pokemon/castform/snowy/front.png b/graphics/pokemon/castform/snowy/front.png index e921cd1a6af798669be43c50e9e25185b3f8e329..54f338d1f76a161e46bed3c9f827568882b4e10a 100644 GIT binary patch delta 614 zcmV-s0-61?1(^kqBo{DHOjJbx0070slqpgZHfAOHXW5Oh*b zQvm<}|NsC0|NsC0|NsC0|G-d-LjV8*2uVaiR9J=WmeFp*APhw-XG*|H#{d8A>}wz- zoxo{dCaw3OqHgXf*nsnReAH1q=>_xJD1b)_t>Oq^gx?tw)#VHTg>a@EvC#yS&>-4E!0zxLi0x3W zg?B?!-33)BhSwj@MTFR5H~jo{79;FR0k;0tFN84OMFk+@e|a|FTn6kcq5(MjW|Iyl z_5zf^^Zpya=T`#n-%1egz8hf@fY&c|;N6U~fOIg4*jq-eBQNHc2?$_W?g8Zd^8^zJ zi}@80lLLYKm?zU>GJsa$xmjH8(ic$2hA>sX0Aha~*3}3X@^lhz=Y&h5SBwmh?w|*- zwQo3IxMVs2f9q@b#2K!B`C{nMKM}b7^Ls%F$3XsU)OeV<# zUZ|+}m0%s-*%|O^60ZP%V|t|0)02*9BZK(?l>mb#MDbQ<1fd{OvbK~1&dz8Eh^#}V z9B|vK$Ws4;vmw0Y{{sLayyt%(@OY(oAN@o90LV!ZkvkrLw|-Pt00001 zbW%=J06^y0W&i*H32;bRa{vG?BLDy{BLR4&KXw2B00(qQO+^Ri1_uEw4}DHhivR!u z1xZ9fR9M69meFp5FbqYJnFMiw`TxIm_H_uMorq~)Caw3O3NH6R;>2bcKDrQ}^n!V5 zl+qo>Zib7=#GLdhYOiL0b=I(sV}$Z>*dP9S3S9c>tmyP= zAWjFMzJ4L;A6!mxV1JYm8oT+O%ptIVq9%`dn%p<-gB(nv19I_AE*p+H3NS*Rw%-5}O(W;++X(92HYbb1r? z>UY95Kws2vO{o%SU5bC9>%wd&nUdd%8B11C+S^j;c^8WyXkzZyCd7h?Br4s?R`B{r z6#!8UQv9kQJbj&Y2Wl2YgV`?l*#W_+V#Rz^4g60^*HnkiDmijc6r@ z#Q~K7gDoQ8^D9AWEA+Nh0uruiih#&Fq?Ew@&u#Lhf5F)h-tzwefD+#GzYiGXP5(## ZL_d&tF3gmbQ^x=R002ovPDHLkV1gyMADI9E diff --git a/graphics/pokemon/castform/snowy/normal.pal b/graphics/pokemon/castform/snowy/normal.pal index d1c64ac75c..e05641ab1a 100644 --- a/graphics/pokemon/castform/snowy/normal.pal +++ b/graphics/pokemon/castform/snowy/normal.pal @@ -1,12 +1,12 @@ JASC-PAL 0100 16 +248 160 176 197 197 148 41 82 57 123 82 189 139 115 213 148 180 205 -0 0 0 197 180 255 156 156 197 139 205 172 diff --git a/graphics/pokemon/castform/snowy/shiny.pal b/graphics/pokemon/castform/snowy/shiny.pal index d1c64ac75c..e05641ab1a 100644 --- a/graphics/pokemon/castform/snowy/shiny.pal +++ b/graphics/pokemon/castform/snowy/shiny.pal @@ -1,12 +1,12 @@ JASC-PAL 0100 16 +248 160 176 197 197 148 41 82 57 123 82 189 139 115 213 148 180 205 -0 0 0 197 180 255 156 156 197 139 205 172 diff --git a/graphics/pokemon/castform/sunny/anim_front.png b/graphics/pokemon/castform/sunny/anim_front.png deleted file mode 100644 index b866e48c1e4beeef475b89f9e47e33658e3e8df1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 632 zcmV-;0*C#HP)-Ohs`42Df{QK%`s|EvA_1L{2ZEbi2IS!R|!4^S#@n%=y*3rc>% zvjpHVpIe?9AlLef0CE?U2L=Ryz5)|SHDR!NyPy;pET>lw$}Si!Csv<$aa<-aR!+2E z7l6`&gXL`N)wkjR_*Kr({`CriZ3dpo84}3v@;O+>1QS>f)vUJ?9vf1k6KH(Jk47DP zIXN_XE znWGO!;&KTOJ)5ak{!%d0AYWC%o#t)ZXjmW+TQ*ItL_<8eqQ}3ZxWFgTqJqsof`)D9 zx5J<-3a)|A0(%J@$JIdl$c-PuZ4rC*{9_D18<@t2cLVi_^Ap?(@tAz`W;}nPcq+#E Sg{tEK0000n;isezp0000GbW%=J0RR90|NsC0|NsC0 z|NsC0z)*`r0004)Nkl9O$K!~Mxa}9fJwh+w9spA8N`E6z^!EXrJwSizgoJ?AmS#D5 z0SE#g0Dzu-M2n69O~qb+cL6Q=SO4NrbbkQ^Q2`8z+JOFMIdugD7y))iK$4@(1i`4@ zk<$ZU=DiGjW>D>j2_OQ*i=bwamH==53J5-+%oNsh!I z3`HZ8UI2@5|I;>}fJ()fPSvjSS18hdGM>n`J$m%$(f?3JePWL&fV+SGcpQ-txBUXR zN9Y0E13-#h3I3e>4*;BdfYb>I0jnj=a`Orh1Rel@&OV~0jsQ*7uHRii%lxZa#ox!18M%tbzCjKzb|N_2+<`_ z0OtP&;KrT;GzH+S!%qNHLZ1aQ3$Or)696J6ga(){b{)uf

LYlYlE9@u ABme*a diff --git a/graphics/pokemon/castform/sunny/front.png b/graphics/pokemon/castform/sunny/front.png index 3d97e3112fc0324e1c3bd0297e280cc05b5bb822..fe37e1867def6db9af4ac45ccdf6ac1ec79ce4e6 100644 GIT binary patch delta 543 zcmV+)0^t4l1m6UZBmppyB`begT2lZ2{}>n;;(EEX0000GbW%=J0RR90|NsC0|NsC0 z|NsC0z)*`r0005bNklco3`L!2M@+&{q%?z)?Za&FF$06!7oTIhe-;6KD_BB)1YC8uTKEE<|7rdMkf0esz5H%NZeCJO6L69>TRKb`gY{2~<$npnNH2nBxNN{bC?% z^kU{cL8z|6?x(zrNg*J-|xC-2jcdf_*N^a2M z4c7_8P81$S1Wem3<|g3BOvr%EFn{yyj0)V*K%MvbqPz7#}dkguYkM$^9UBL)*NM4DYvYY8iqFQ#a* z?}Ccre2)lr`v@BL&hLjoRuo(Vodx=0IF5^<^pTw(!gUe7diF7fpA9s$__Lw3i4WWX h-=W9kn>XY613DAqDc%YEzV-kB002ovPDHLkV1mQ-1^@s6 delta 568 zcmV-80>}N|1o#AyBmpy#B`bdb003HAQvd(|7#J9Oz(fH60004WQchC-Ohs` z42Df{QK%`s|EvA_1L{2ZEbi2IS!R|!4^S#@n%=y*3rc>%vjpHVpId*P8X(vDivV&L zlm`X`fW86~NHt-wdb^+$7%Zn(56UhWEhko=cyU}NFjh{qUl)MVf`jF3>(#g70QgnT z(Ejxbf^7z#${7;K@A5fV#sm{s57n%<5*`~;q7!I*#g9fEdpS8YdgJGhXP&W@lQ~>K z<>$HaYRD|n{tonzI*flmrR}V3>TM6{zRlO*QAr4_0GGwNrC+GP8}wG-{L=8HT_%L$ z?fk#Ndk7aY>>>y?6PSR+U_6lIr>mhqCxS;xH*^KIGnLiA!M_V?DCp5~m6vasqYp>oatRMTo2gd* zQZUmXUsb`K=55<(SRfEvHchQWLp-^n$G@Yvz$ek7g3UjIhHdA!!=Nh)u7S@2dkGxJ z)j<2mjUU2o5qm84{9_D18<@t2cLVi_^Ap?(@tAz`W;}nPcq+#Eg{tEK0000$@ - -$(CHERRIMGFXDIR)/back.4bpp: $(CHERRIMGFXDIR)/normal/back.4bpp \ - $(CHERRIMGFXDIR)/sunshine/back.4bpp - @cat $^ >$@ - -$(CHERRIMGFXDIR)/anim_front.4bpp: $(CHERRIMGFXDIR)/normal/anim_front.4bpp \ - $(CHERRIMGFXDIR)/sunshine/anim_front.4bpp - @cat $^ >$@ - -$(CHERRIMGFXDIR)/normal.gbapal: $(CHERRIMGFXDIR)/normal/normal.gbapal \ - $(CHERRIMGFXDIR)/sunshine/normal.gbapal - @cat $^ >$@ - -$(CHERRIMGFXDIR)/shiny.gbapal: $(CHERRIMGFXDIR)/normal/shiny.gbapal \ - $(CHERRIMGFXDIR)/sunshine/shiny.gbapal - @cat $^ >$@ - -### Castform ### - -$(CASTFORMGFXDIR)/front.4bpp: $(CASTFORMGFXDIR)/normal/front.4bpp \ - $(CASTFORMGFXDIR)/sunny/front.4bpp \ - $(CASTFORMGFXDIR)/rainy/front.4bpp \ - $(CASTFORMGFXDIR)/snowy/front.4bpp - @cat $^ >$@ - -$(CASTFORMGFXDIR)/back.4bpp: $(CASTFORMGFXDIR)/normal/back.4bpp \ - $(CASTFORMGFXDIR)/sunny/back.4bpp \ - $(CASTFORMGFXDIR)/rainy/back.4bpp \ - $(CASTFORMGFXDIR)/snowy/back.4bpp - @cat $^ >$@ - -$(CASTFORMGFXDIR)/anim_front.4bpp: $(CASTFORMGFXDIR)/normal/anim_front.4bpp \ - $(CASTFORMGFXDIR)/sunny/anim_front.4bpp \ - $(CASTFORMGFXDIR)/rainy/anim_front.4bpp \ - $(CASTFORMGFXDIR)/snowy/anim_front.4bpp - @cat $^ >$@ - -$(CASTFORMGFXDIR)/normal.gbapal: $(CASTFORMGFXDIR)/normal/normal.gbapal \ - $(CASTFORMGFXDIR)/sunny/normal.gbapal \ - $(CASTFORMGFXDIR)/rainy/normal.gbapal \ - $(CASTFORMGFXDIR)/snowy/normal.gbapal - @cat $^ >$@ - -$(CASTFORMGFXDIR)/shiny.gbapal: $(CASTFORMGFXDIR)/normal/shiny.gbapal \ - $(CASTFORMGFXDIR)/sunny/shiny.gbapal \ - $(CASTFORMGFXDIR)/rainy/shiny.gbapal \ - $(CASTFORMGFXDIR)/snowy/shiny.gbapal - @cat $^ >$@ - ### Tilesets ### $(TILESETGFXDIR)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png diff --git a/include/battle.h b/include/battle.h index 9cf4f100aa..ca099379f6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -585,7 +585,6 @@ struct BattleStruct u8 turnSideTracker; u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party. u16 lastTakenMoveFrom[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT]; // a 2-D array [target][attacker] - u16 castformPalette[NUM_CASTFORM_FORMS][16]; union { struct LinkBattlerHeader linkBattlerHeader; u32 battleVideo[2]; @@ -988,7 +987,6 @@ extern struct BattleHealthboxInfo *gBattleControllerOpponentHealthboxData; extern struct BattleHealthboxInfo *gBattleControllerOpponentFlankHealthboxData; extern u16 gBattleMovePower; extern u16 gMoveToLearn; -extern u8 gBattleMonForms[MAX_BATTLERS_COUNT]; extern u32 gFieldStatuses; extern struct FieldTimer gFieldTimers; extern u8 gBattlerAbility; diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 9a0b79c313..0b1bd52fb6 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -23,7 +23,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId); void ClearSpritesHealthboxAnimData(void); void CopyAllBattleSpritesInvisibilities(void); void CopyBattleSpriteInvisibility(u8 battlerId); -void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool8 castform, bool32 megaEvo, bool8 trackEnemyPersonality); +void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool32 megaEvo, bool8 trackEnemyPersonality); void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite); void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId); void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move); diff --git a/include/constants/battle.h b/include/constants/battle.h index cbc3628617..c32af976c7 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -423,16 +423,6 @@ #define B_WAIT_TIME_SHORT (B_WAIT_TIME_MULTIPLIER * 2) #define B_WAIT_TIME_SHORTEST (B_WAIT_TIME_MULTIPLIER) -#define CHERRIM_OVERCAST 0 -#define CHERRIM_SUNSHINE 1 - -#define CASTFORM_NORMAL 0 -#define CASTFORM_FIRE 1 -#define CASTFORM_WATER 2 -#define CASTFORM_ICE 3 -#define NUM_CASTFORM_FORMS 4 -#define CASTFORM_SUBSTITUTE (1 << 7) - #define FLEE_ITEM 1 #define FLEE_ABILITY 2 diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 60e044130d..01d4b68094 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -510,44 +510,43 @@ #define BG_CHLOROBLAST 80 // table ids for general animations (gBattleAnims_General) -#define B_ANIM_CASTFORM_CHANGE 0 -#define B_ANIM_STATS_CHANGE 1 -#define B_ANIM_SUBSTITUTE_FADE 2 -#define B_ANIM_SUBSTITUTE_APPEAR 3 -#define B_ANIM_POKEBLOCK_THROW 4 -#define B_ANIM_ITEM_KNOCKOFF 5 -#define B_ANIM_TURN_TRAP 6 -#define B_ANIM_HELD_ITEM_EFFECT 7 -#define B_ANIM_SMOKEBALL_ESCAPE 8 -#define B_ANIM_HANGED_ON 9 -#define B_ANIM_RAIN_CONTINUES 10 -#define B_ANIM_SUN_CONTINUES 11 -#define B_ANIM_SANDSTORM_CONTINUES 12 -#define B_ANIM_HAIL_CONTINUES 13 -#define B_ANIM_LEECH_SEED_DRAIN 14 -#define B_ANIM_MON_HIT 15 -#define B_ANIM_ITEM_STEAL 16 -#define B_ANIM_SNATCH_MOVE 17 -#define B_ANIM_FUTURE_SIGHT_HIT 18 -#define B_ANIM_DOOM_DESIRE_HIT 19 -#define B_ANIM_FOCUS_PUNCH_SETUP 20 -#define B_ANIM_INGRAIN_HEAL 21 -#define B_ANIM_WISH_HEAL 22 -#define B_ANIM_MEGA_EVOLUTION 23 -#define B_ANIM_ILLUSION_OFF 24 -#define B_ANIM_FORM_CHANGE 25 -#define B_ANIM_SLIDE_OFFSCREEN 26 // for Emergency Exit -#define B_ANIM_RESTORE_BG 27 // for Terrain Endings -#define B_ANIM_TOTEM_FLARE 28 // Totem boosts aura flare -#define B_ANIM_GULP_MISSILE 29 -#define B_ANIM_STRONG_WINDS 30 -#define B_ANIM_PRIMAL_REVERSION 31 -#define B_ANIM_AQUA_RING_HEAL 32 -#define B_ANIM_BEAK_BLAST_SETUP 33 -#define B_ANIM_SHELL_TRAP_SETUP 34 -#define B_ANIM_ZMOVE_ACTIVATE 35 // Using Z Moves -#define B_ANIM_AFFECTION_HANGED_ON 36 -#define B_ANIM_SNOW_CONTINUES 37 +#define B_ANIM_STATS_CHANGE 0 +#define B_ANIM_SUBSTITUTE_FADE 1 +#define B_ANIM_SUBSTITUTE_APPEAR 2 +#define B_ANIM_POKEBLOCK_THROW 3 +#define B_ANIM_ITEM_KNOCKOFF 4 +#define B_ANIM_TURN_TRAP 5 +#define B_ANIM_HELD_ITEM_EFFECT 6 +#define B_ANIM_SMOKEBALL_ESCAPE 7 +#define B_ANIM_HANGED_ON 8 +#define B_ANIM_RAIN_CONTINUES 9 +#define B_ANIM_SUN_CONTINUES 10 +#define B_ANIM_SANDSTORM_CONTINUES 11 +#define B_ANIM_HAIL_CONTINUES 12 +#define B_ANIM_LEECH_SEED_DRAIN 13 +#define B_ANIM_MON_HIT 14 +#define B_ANIM_ITEM_STEAL 15 +#define B_ANIM_SNATCH_MOVE 16 +#define B_ANIM_FUTURE_SIGHT_HIT 17 +#define B_ANIM_DOOM_DESIRE_HIT 18 +#define B_ANIM_FOCUS_PUNCH_SETUP 19 +#define B_ANIM_INGRAIN_HEAL 20 +#define B_ANIM_WISH_HEAL 21 +#define B_ANIM_MEGA_EVOLUTION 22 +#define B_ANIM_ILLUSION_OFF 23 +#define B_ANIM_FORM_CHANGE 24 +#define B_ANIM_SLIDE_OFFSCREEN 25 // for Emergency Exit +#define B_ANIM_RESTORE_BG 26 // for Terrain Endings +#define B_ANIM_TOTEM_FLARE 27 // Totem boosts aura flare +#define B_ANIM_GULP_MISSILE 28 +#define B_ANIM_STRONG_WINDS 29 +#define B_ANIM_PRIMAL_REVERSION 30 +#define B_ANIM_AQUA_RING_HEAL 31 +#define B_ANIM_BEAK_BLAST_SETUP 32 +#define B_ANIM_SHELL_TRAP_SETUP 33 +#define B_ANIM_ZMOVE_ACTIVATE 34 // Using Z Moves +#define B_ANIM_AFFECTION_HANGED_ON 35 +#define B_ANIM_SNOW_CONTINUES 36 // special animations table (gBattleAnims_Special) #define B_ANIM_LVL_UP 0 diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 510d48271c..f8bb4ec8d9 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -333,11 +333,10 @@ // Most pokemon have 2 frames (a default and an alternate for their animation). // There are 4 exceptions: -// - Castform has 4 frames, 1 for each form // - Deoxys has 2 frames, 1 for each form // - Spinda has 1 frame, presumably to avoid the work of animating its spots // - Unown has 1 frame, presumably to avoid the work of animating all 28 of its forms -#define MAX_MON_PIC_FRAMES 4 +#define MAX_MON_PIC_FRAMES 2 #define BATTLE_ALIVE_EXCEPT_ACTIVE 0 #define BATTLE_ALIVE_ATK_SIDE 1 diff --git a/include/pokemon.h b/include/pokemon.h index 2c32054c59..8368714f84 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -527,7 +527,6 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves); u8 GetNumberOfRelearnableMoves(struct Pokemon *mon); u16 SpeciesToPokedexNum(u16 species); bool32 IsSpeciesInHoennDex(u16 species); -void ClearBattleMonForms(void); u16 GetBattleBGM(void); void PlayBattleBGM(void); void PlayMapChosenOrBattleBGM(u16 songId); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 9f110b958f..3d89c36144 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -2349,7 +2349,6 @@ void AnimTask_TransformMon(u8 taskId) gTasks[taskId].data[10] = gBattleAnimArgs[0]; gTasks[taskId].data[11] = gBattleAnimArgs[1]; - gTasks[taskId].data[12] = gBattleAnimArgs[2]; gTasks[taskId].data[0]++; break; case 1: @@ -2364,7 +2363,7 @@ void AnimTask_TransformMon(u8 taskId) } break; case 2: - HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10], gTasks[taskId].data[11], gTasks[taskId].data[12]); + HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10], gTasks[taskId].data[11]); GetBgDataForTransform(&animBg, gBattleAnimAttacker); if (IsContest()) @@ -2372,7 +2371,7 @@ void AnimTask_TransformMon(u8 taskId) else position = GetBattlerPosition(gBattleAnimAttacker); - src = gMonSpritesGfxPtr->sprites.ptr[position] + (gBattleMonForms[gBattleAnimAttacker] << 11); + src = gMonSpritesGfxPtr->sprites.ptr[position]; dest = animBg.bgTiles; CpuCopy32(src, dest, MON_PIC_SIZE); LoadBgTiles(1, animBg.bgTiles, 0x800, animBg.tilesOffset); @@ -2449,12 +2448,6 @@ void AnimTask_IsMonInvisible(u8 taskId) DestroyAnimVisualTask(taskId); } -void AnimTask_CastformGfxDataChange(u8 taskId) -{ - HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, TRUE, FALSE, FALSE); - DestroyAnimVisualTask(taskId); -} - void AnimTask_MorningSunLightBeam(u8 taskId) { struct BattleAnimBgData animBg; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index ca338791c1..f2016dd5e2 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -52,32 +52,6 @@ const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] = }, }; -// One entry for each of the four Castform forms. -const struct MonCoords gCastformFrontSpriteCoords[NUM_CASTFORM_FORMS] = -{ - [CASTFORM_NORMAL] = { .size = MON_COORDS_SIZE(32, 32), .y_offset = 17 }, - [CASTFORM_FIRE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, - [CASTFORM_WATER] = { .size = MON_COORDS_SIZE(32, 48), .y_offset = 9 }, - [CASTFORM_ICE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, -}; - -const u8 sCastformElevations[NUM_CASTFORM_FORMS] = -{ - [CASTFORM_NORMAL] = 13, - [CASTFORM_FIRE] = 14, - [CASTFORM_WATER] = 13, - [CASTFORM_ICE] = 13, -}; - -// Y position of the backsprite for each of the four Castform forms. -static const u8 sCastformBackSpriteYCoords[NUM_CASTFORM_FORMS] = -{ - [CASTFORM_NORMAL] = 0, - [CASTFORM_FIRE] = 0, - [CASTFORM_WATER] = 0, - [CASTFORM_ICE] = 0, -}; - // Placeholders for pokemon sprites to be created for a move animation effect (e.g. Role Play / Snatch) #define TAG_MOVE_EFFECT_MON_1 55125 #define TAG_MOVE_EFFECT_MON_2 55126 @@ -197,10 +171,6 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) coordSpecies = GetUnownSpeciesId(personality); ret = gMonBackPicCoords[coordSpecies].y_offset; } - else if (species == SPECIES_CASTFORM) - { - ret = sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; - } else if (species > NUM_SPECIES) { ret = gMonBackPicCoords[0].y_offset; @@ -223,10 +193,6 @@ u8 GetBattlerYDelta(u8 battlerId, u16 species) coordSpecies = GetUnownSpeciesId(personality); ret = gMonFrontPicCoords[coordSpecies].y_offset; } - else if (species == SPECIES_CASTFORM) - { - ret = gCastformFrontSpriteCoords[gBattleMonForms[battlerId]].y_offset; - } else if (species > NUM_SPECIES) { ret = gMonFrontPicCoords[0].y_offset; @@ -246,9 +212,7 @@ u8 GetBattlerElevation(u8 battlerId, u16 species) { if (!IsContest()) { - if (species == SPECIES_CASTFORM) - ret = sCastformElevations[gBattleMonForms[battlerId]]; - else if (species > NUM_SPECIES) + if (species > NUM_SPECIES) ret = gEnemyMonElevation[0]; else ret = gEnemyMonElevation[species]; @@ -1963,10 +1927,7 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) else species = spriteInfo[battlerId].transformSpecies; - if (species == SPECIES_CASTFORM) - return sCastformBackSpriteYCoords[gBattleMonForms[battlerId]]; - else - return gMonBackPicCoords[species].y_offset; + return gMonBackPicCoords[species].y_offset; } else { @@ -1976,10 +1937,7 @@ static u16 GetBattlerYDeltaFromSpriteId(u8 spriteId) else species = spriteInfo[battlerId].transformSpecies; - if (species == SPECIES_CASTFORM) - return sCastformElevations[gBattleMonForms[battlerId]]; - else - return gMonFrontPicCoords[species].y_offset; + return gMonFrontPicCoords[species].y_offset; } } } @@ -2201,10 +2159,6 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) species = GetUnownSpeciesId(personality); coords = &gMonBackPicCoords[species]; } - else if (species == SPECIES_CASTFORM) - { - coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; - } else if (species <= SPECIES_EGG) { coords = &gMonBackPicCoords[species]; @@ -2263,10 +2217,6 @@ s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) species = GetUnownSpeciesId(personality); coords = &gMonFrontPicCoords[species]; } - else if (species == SPECIES_CASTFORM) - { - coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; - } else if (species > NUM_SPECIES) { coords = &gMonFrontPicCoords[0]; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index b4936da5c2..69e2f6bde4 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -1129,7 +1129,7 @@ static void LinkOpponentHandleLoadMonSprite(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); @@ -1169,7 +1169,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index d07a92e93f..8684ba70eb 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -1025,7 +1025,7 @@ static void LinkPartnerHandleLoadMonSprite(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); gBattlerControllerFuncs[gActiveBattler] = WaitForMonAnimAfterLoad; } @@ -1061,7 +1061,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index c3e4a90374..f316f19ea8 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1160,7 +1160,7 @@ static void OpponentHandleLoadMonSprite(void) gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species; gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); @@ -1201,7 +1201,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index c88dbff78f..6d2e03fd8e 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -2436,7 +2436,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index b94d5347aa..3a4beeca93 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1213,7 +1213,7 @@ static void PlayerPartnerHandleLoadMonSprite(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); gBattlerControllerFuncs[gActiveBattler] = WaitForMonAnimAfterLoad; } @@ -1249,7 +1249,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index d1c60343ac..283388fcfd 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -1118,7 +1118,7 @@ static void RecordedOpponentHandleLoadMonSprite(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); @@ -1155,7 +1155,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 46f3de4f12..86cb491986 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -1101,7 +1101,7 @@ static void RecordedPlayerHandleLoadMonSprite(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], gBattleMonForms[gActiveBattler]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); gBattlerControllerFuncs[gActiveBattler] = WaitForMonAnimAfterLoad; } @@ -1137,7 +1137,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index fa1fa00fb2..00a825dba5 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -1474,7 +1474,7 @@ static void StartSendOutAnim(u8 battlerId) gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d5d3e479e0..d7ca18c6a1 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -57,7 +57,6 @@ void SetUpBattleVarsAndBirchZigzagoon(void) HandleLinkBattleSetup(); gBattleControllerExecFlags = 0; ClearBattleAnimationVars(); - ClearBattleMonForms(); BattleAI_SetupItems(); BattleAI_SetupFlags(); diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 5f168d88ba..383ce16e66 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -434,12 +434,6 @@ bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattler, u8 atkBattler, u8 de { u8 taskId; - if (tableId == B_ANIM_CASTFORM_CHANGE && (argument & CASTFORM_SUBSTITUTE)) - { - // If Castform is behind substitute, set the new form but skip the animation - gBattleMonForms[activeBattler] = (argument & ~CASTFORM_SUBSTITUTE); - return TRUE; - } if (gBattleSpritesDataPtr->battlerData[activeBattler].behindSubstitute && !ShouldAnimBeDoneRegardlessOfSubstitute(tableId)) { @@ -607,13 +601,6 @@ static void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId, bool32 op LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); - if (species == SPECIES_CASTFORM || species == SPECIES_CHERRIM) - { - paletteOffset = OBJ_PLTT_ID(battlerId); - LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerId]], paletteOffset, PLTT_SIZE_4BPP); - } - // transform's pink color if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) { @@ -860,7 +847,7 @@ void CopyBattleSpriteInvisibility(u8 battlerId) gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible; } -void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform, bool32 megaEvo, bool8 trackEnemyPersonality) +void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool32 megaEvo, bool8 trackEnemyPersonality) { u32 personalityValue, otId, position, paletteOffset, targetSpecies; const void *lzPaletteData, *src; @@ -930,54 +917,26 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 castform, bo gTransformedPersonalities[battlerAtk]); } } + src = gMonSpritesGfxPtr->sprites.ptr[position]; + dst = (void *)(OBJ_VRAM0 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32); + DmaCopy32(3, src, dst, MON_PIC_SIZE); + paletteOffset = OBJ_PLTT_ID(battlerAtk); + lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); + LZDecompressWram(lzPaletteData, gDecompressionBuffer); + LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - if (castform) + if (!megaEvo) { - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleSpritesDataPtr->animationData->animArg); - paletteOffset = OBJ_PLTT_ID(battlerAtk); - lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); - LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleSpritesDataPtr->animationData->animArg], paletteOffset, PLTT_SIZE_4BPP); - gBattleMonForms[battlerAtk] = gBattleSpritesDataPtr->animationData->animArg; - if (gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies != SPECIES_NONE) - { - BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); - } - gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); - } - else - { - src = gMonSpritesGfxPtr->sprites.ptr[position]; - dst = (void *)(OBJ_VRAM0 + gSprites[gBattlerSpriteIds[battlerAtk]].oam.tileNum * 32); - DmaCopy32(3, src, dst, MON_PIC_SIZE); - paletteOffset = OBJ_PLTT_ID(battlerAtk); - lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(targetSpecies, otId, personalityValue); - LZDecompressWram(lzPaletteData, gDecompressionBuffer); - LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - - if (targetSpecies == SPECIES_CASTFORM || targetSpecies == SPECIES_CHERRIM) - { - gSprites[gBattlerSpriteIds[battlerAtk]].anims = gMonFrontAnimsPtrTable[targetSpecies]; - LZDecompressWram(lzPaletteData, gBattleStruct->castformPalette); - LoadPalette(gBattleStruct->castformPalette[gBattleMonForms[battlerDef]], paletteOffset, PLTT_SIZE_4BPP); - } - - if (!megaEvo) - { - BlendPalette(paletteOffset, 16, 6, RGB_WHITE); - CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); - } - - if (!IsContest() && !megaEvo) + BlendPalette(paletteOffset, 16, 6, RGB_WHITE); + CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); + if (!IsContest()) { gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies; - gBattleMonForms[battlerAtk] = gBattleMonForms[battlerDef]; } - - gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], gBattleMonForms[battlerAtk]); } + + gSprites[gBattlerSpriteIds[battlerAtk]].y = GetBattlerSpriteDefault_Y(battlerAtk); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], 0); } void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) @@ -1021,7 +980,7 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId) { BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite); - StartSpriteAnim(&gSprites[spriteId], gBattleMonForms[battlerId]); + StartSpriteAnim(&gSprites[spriteId], 0); if (!loadMonSprite) gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId); @@ -1232,7 +1191,6 @@ void FillAroundBattleWindows(void) void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute) { gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE; - gBattleMonForms[battlerId] = 0; if (!dontClearSubstitute) ClearBehindSubstituteBit(battlerId); } diff --git a/src/battle_intro.c b/src/battle_intro.c index 78982ca4c3..4ed12d6360 100644 --- a/src/battle_intro.c +++ b/src/battle_intro.c @@ -589,7 +589,7 @@ void DrawBattlerOnBg(int bgId, u8 x, u8 y, u8 battlerPosition, u8 paletteId, u8 int i, j; u8 battler = GetBattlerAtPosition(battlerPosition); int offset = tilesOffset; - CpuCopy16(gMonSpritesGfxPtr->sprites.ptr[battlerPosition] + BG_SCREEN_SIZE * gBattleMonForms[battler], tiles, BG_SCREEN_SIZE); + CpuCopy16(gMonSpritesGfxPtr->sprites.ptr[battlerPosition], tiles, BG_SCREEN_SIZE); LoadBgTiles(bgId, tiles, 0x1000, tilesOffset); for (i = y; i < y + 8; i++) { diff --git a/src/battle_main.c b/src/battle_main.c index 7904ffdf8f..186ae225a6 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -234,7 +234,6 @@ EWRAM_DATA struct BattleHealthboxInfo *gBattleControllerOpponentHealthboxData = EWRAM_DATA struct BattleHealthboxInfo *gBattleControllerOpponentFlankHealthboxData = NULL; // Never read EWRAM_DATA u16 gBattleMovePower = 0; EWRAM_DATA u16 gMoveToLearn = 0; -EWRAM_DATA u8 gBattleMonForms[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA u32 gFieldStatuses = 0; EWRAM_DATA struct FieldTimer gFieldTimers = {0}; EWRAM_DATA u8 gBattlerAbility = 0; @@ -2784,7 +2783,6 @@ static void SpriteCB_Flicker(struct Sprite *sprite) #undef sDelay extern const struct MonCoords gMonFrontPicCoords[]; -extern const struct MonCoords gCastformFrontSpriteCoords[]; void SpriteCB_FaintOpponentMon(struct Sprite *sprite) { @@ -2805,10 +2803,6 @@ void SpriteCB_FaintOpponentMon(struct Sprite *sprite) species = GetUnownSpeciesId(personality); yOffset = gMonFrontPicCoords[species].y_offset; } - else if (species == SPECIES_CASTFORM) - { - yOffset = gCastformFrontSpriteCoords[gBattleMonForms[battler]].y_offset; - } else if (species > NUM_SPECIES) { yOffset = gMonFrontPicCoords[SPECIES_NONE].y_offset; @@ -2838,12 +2832,12 @@ static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite) } else // Erase bottom part of the sprite to create a smooth illusion of mon falling down. { - u8 *dst = gMonSpritesGfxPtr->sprites.byte[GetBattlerPosition(sprite->sBattler)] + (gBattleMonForms[sprite->sBattler] << 11) + (sprite->data[3] << 8); + u8 *dst = gMonSpritesGfxPtr->sprites.byte[GetBattlerPosition(sprite->sBattler)] + (sprite->data[3] << 8); for (i = 0; i < 0x100; i++) *(dst++) = 0; - StartSpriteAnim(sprite, gBattleMonForms[sprite->sBattler]); + StartSpriteAnim(sprite, 0); } } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c4ea866df9..0faeef28d6 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -585,8 +585,8 @@ static void Cmd_switchoutabilities(void); static void Cmd_jumpifhasnohp(void); static void Cmd_getsecretpowereffect(void); static void Cmd_pickup(void); -static void Cmd_doweatherformchangeanimation(void); -static void Cmd_tryweatherformdatachange(void); +static void Cmd_unused3(void); +static void Cmd_unused4(void); static void Cmd_settypebasedhalvers(void); static void Cmd_jumpifsubstituteblocks(void); static void Cmd_tryrecycleitem(void); @@ -844,8 +844,8 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_jumpifhasnohp, //0xE3 Cmd_getsecretpowereffect, //0xE4 Cmd_pickup, //0xE5 - Cmd_doweatherformchangeanimation, //0xE6 - Cmd_tryweatherformdatachange, //0xE7 + Cmd_unused3, //0xE6 + Cmd_unused4, //0xE7 Cmd_settypebasedhalvers, //0xE8 Cmd_jumpifsubstituteblocks, //0xE9 Cmd_tryrecycleitem, //0xEA @@ -15139,26 +15139,12 @@ static void Cmd_pickup(void) gBattlescriptCurrInstr = cmd->nextInstr; } -static void Cmd_doweatherformchangeanimation(void) +static void Cmd_unused3(void) { - CMD_ARGS(); - - gActiveBattler = gBattleScripting.battler; - - if (gBattleMons[gActiveBattler].status2 & STATUS2_SUBSTITUTE) - *(&gBattleStruct->formToChangeInto) |= CASTFORM_SUBSTITUTE; - - BtlController_EmitBattleAnimation(BUFFER_A, B_ANIM_CASTFORM_CHANGE, gBattleStruct->formToChangeInto); - MarkBattlerForControllerExec(gActiveBattler); - - gBattlescriptCurrInstr = cmd->nextInstr; } -static void Cmd_tryweatherformdatachange(void) +static void Cmd_unused4(void) { - CMD_ARGS(); - - // removed in favor of new form system } // Water and Mud Sport diff --git a/src/contest.c b/src/contest.c index 55207eb3eb..97797dbf77 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1189,7 +1189,6 @@ void CB2_StartContest(void) FreeAllSpritePalettes(); gReservedSpritePaletteCount = 4; eContestDebugMode = CONTEST_DEBUG_MODE_OFF; - ClearBattleMonForms(); InitContestResources(); gMain.state++; break; @@ -1778,8 +1777,6 @@ static void Task_DoAppeals(u8 taskId) } return; case APPEALSTATE_SLIDE_MON_IN: - for (i = 0; i < CONTESTANT_COUNT; i++) - gBattleMonForms[i] = 0; memset(gContestResources->moveAnim, 0, sizeof(*gContestResources->moveAnim)); SetMoveAnimAttackerData(eContest.currentContestant); spriteId = CreateContestantSprite( @@ -5312,8 +5309,6 @@ static void SetMoveSpecificAnimData(u8 contestant) memset(&gContestResources->moveAnim->species, 0, 20); ClearBattleAnimationVars(); - for (i = 0; i < CONTESTANT_COUNT; i++) - gBattleMonForms[i] = 0; switch (move) { case MOVE_CURSE: diff --git a/src/data.c b/src/data.c index 1ced9ce81d..859209a934 100644 --- a/src/data.c +++ b/src/data.c @@ -279,24 +279,10 @@ static const union AnimCmd sAnim_MonPic_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MonPic_2[] = -{ - ANIMCMD_FRAME(2, 0), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_MonPic_3[] = -{ - ANIMCMD_FRAME(3, 0), - ANIMCMD_END, -}; - const union AnimCmd *const gAnims_MonPic[MAX_MON_PIC_FRAMES] = { sAnim_MonPic_0, sAnim_MonPic_1, - sAnim_MonPic_2, - sAnim_MonPic_3, }; #define SPECIES_SPRITE(species, sprite) [SPECIES_##species] = {sprite, MON_PIC_SIZE, SPECIES_##species} diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index ae93b05bcc..c6d0d3bb5a 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -378,7 +378,7 @@ const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_fro const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front.4bpp.lz"); const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/front.4bpp.lz"); const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front.4bpp.lz"); const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front.4bpp.lz"); @@ -456,7 +456,7 @@ const u32 gMonFrontPic_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/anim const u32 gMonFrontPic_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/anim_front.4bpp.lz"); const u32 gMonFrontPic_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/anim_front.4bpp.lz"); const u32 gMonFrontPic_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/normal/anim_front.4bpp.lz"); const u32 gMonFrontPic_Shellos[] = INCBIN_U32("graphics/pokemon/shellos/anim_front.4bpp.lz"); const u32 gMonFrontPic_Gastrodon[] = INCBIN_U32("graphics/pokemon/gastrodon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/anim_front.4bpp.lz"); @@ -1117,9 +1117,9 @@ const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/anim_fron const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/anim_front.4bpp.lz"); -const u32 gMonFrontPic_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/anim_front.4bpp.lz"); -const u32 gMonFrontPic_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/anim_front.4bpp.lz"); -const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/front.4bpp.lz"); +const u32 gMonFrontPic_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/front.4bpp.lz"); +const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/front.4bpp.lz"); const u32 gMonFrontPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/anim_front.4bpp.lz"); @@ -1695,7 +1695,7 @@ const u32 gMonBackPic_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/back. const u32 gMonBackPic_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/back.4bpp.lz"); const u32 gMonBackPic_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/back.4bpp.lz"); const u32 gMonBackPic_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/back.4bpp.lz"); -const u32 gMonBackPic_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/back.4bpp.lz"); +const u32 gMonBackPic_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/normal/back.4bpp.lz"); const u32 gMonBackPic_Shellos[] = INCBIN_U32("graphics/pokemon/shellos/back.4bpp.lz"); const u32 gMonBackPic_Gastrodon[] = INCBIN_U32("graphics/pokemon/gastrodon/back.4bpp.lz"); const u32 gMonBackPic_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/back.4bpp.lz"); @@ -2903,7 +2903,7 @@ const u32 gMonPalette_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/norma const u32 gMonPalette_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/normal.gbapal.lz"); const u32 gMonPalette_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/normal.gbapal.lz"); const u32 gMonPalette_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/normal.gbapal.lz"); -const u32 gMonPalette_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/normal.gbapal.lz"); +const u32 gMonPalette_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/normal/normal.gbapal.lz"); const u32 gMonPalette_Shellos[] = INCBIN_U32("graphics/pokemon/shellos/normal.gbapal.lz"); const u32 gMonPalette_Gastrodon[] = INCBIN_U32("graphics/pokemon/gastrodon/normal.gbapal.lz"); const u32 gMonPalette_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/normal.gbapal.lz"); @@ -4136,7 +4136,7 @@ const u32 gMonShinyPalette_Pachirisu[] = INCBIN_U32("graphics/pokemon/pachirisu/ const u32 gMonShinyPalette_Buizel[] = INCBIN_U32("graphics/pokemon/buizel/shiny.gbapal.lz"); const u32 gMonShinyPalette_Floatzel[] = INCBIN_U32("graphics/pokemon/floatzel/shiny.gbapal.lz"); const u32 gMonShinyPalette_Cherubi[] = INCBIN_U32("graphics/pokemon/cherubi/shiny.gbapal.lz"); -const u32 gMonShinyPalette_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/shiny.gbapal.lz"); +const u32 gMonShinyPalette_Cherrim[] = INCBIN_U32("graphics/pokemon/cherrim/normal/shiny.gbapal.lz"); const u32 gMonShinyPalette_Shellos[] = INCBIN_U32("graphics/pokemon/shellos/shiny.gbapal.lz"); const u32 gMonShinyPalette_Gastrodon[] = INCBIN_U32("graphics/pokemon/gastrodon/shiny.gbapal.lz"); const u32 gMonShinyPalette_Ambipom[] = INCBIN_U32("graphics/pokemon/ambipom/shiny.gbapal.lz"); diff --git a/src/pokemon.c b/src/pokemon.c index 5cbdffb663..58252f5fe5 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2314,6 +2314,9 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_FEEBAS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, [SPECIES_MILOTIC - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_CASTFORM - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_CASTFORM_SUNNY - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_CASTFORM_RAINY - 1] = ANIM_H_SLIDE_WOBBLE, + [SPECIES_CASTFORM_SNOWY - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_KECLEON - 1] = ANIM_FLICKER_INCREASING, [SPECIES_SHUPPET - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_BANETTE - 1] = ANIM_CIRCULAR_STRETCH_TWICE, @@ -7508,13 +7511,6 @@ bool32 IsSpeciesInHoennDex(u16 species) return TRUE; } -void ClearBattleMonForms(void) -{ - int i; - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - gBattleMonForms[i] = 0; -} - u16 GetBattleBGM(void) { if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index e0847233e5..c9f6a04899 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -575,6 +575,9 @@ static const u8 sSpeciesToBackAnimSet[NUM_SPECIES] = [SPECIES_LAIRON] = BACK_ANIM_V_SHAKE, [SPECIES_AGGRON] = BACK_ANIM_V_SHAKE_LOW, [SPECIES_CASTFORM] = BACK_ANIM_CONVEX_DOUBLE_ARC, + [SPECIES_CASTFORM_SUNNY] = BACK_ANIM_CONVEX_DOUBLE_ARC, + [SPECIES_CASTFORM_RAINY] = BACK_ANIM_CONVEX_DOUBLE_ARC, + [SPECIES_CASTFORM_SNOWY] = BACK_ANIM_CONVEX_DOUBLE_ARC, [SPECIES_VOLBEAT] = BACK_ANIM_CONVEX_DOUBLE_ARC, [SPECIES_ILLUMISE] = BACK_ANIM_CONVEX_DOUBLE_ARC, [SPECIES_LILEEP] = BACK_ANIM_H_STRETCH, diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 2e9f045069..44ee5b9e61 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -45,8 +45,6 @@ extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; extern const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2]; extern const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] ; -extern const struct MonCoords gCastformFrontSpriteCoords[NUM_CASTFORM_FORMS]; -extern const u8 sCastformElevations[NUM_CASTFORM_FORMS]; extern const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1]; static const u16 sBgColor[] = {RGB_WHITE}; @@ -732,53 +730,11 @@ static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bo LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20); } -static bool8 IsCastformForm(species) -{ - if (species == SPECIES_CASTFORM_SUNNY || species == SPECIES_CASTFORM_RAINY || species == SPECIES_CASTFORM_SNOWY) - return TRUE; - - return FALSE; -} - -static u8 GetCastformYCustom(species) -{ - u8 ret; - switch (species) - { - case SPECIES_CASTFORM: - ret = gCastformFrontSpriteCoords[CASTFORM_NORMAL].y_offset; - break; - case SPECIES_CASTFORM_SUNNY: - ret = gCastformFrontSpriteCoords[CASTFORM_FIRE].y_offset; - break; - case SPECIES_CASTFORM_RAINY: - ret = gCastformFrontSpriteCoords[CASTFORM_WATER].y_offset; - break; - case SPECIES_CASTFORM_SNOWY: - ret = gCastformFrontSpriteCoords[CASTFORM_ICE].y_offset; - break; - } - return ret; -} - -static u8 GetElevationValue(u16 species) -{ - u8 val; - if (species == SPECIES_CASTFORM) - val = sCastformElevations[0]; - else if (IsCastformForm(species)) - val = sCastformElevations[species - SPECIES_CASTFORM_SUNNY + 1]; - else - val = gEnemyMonElevation[species]; - - return val; -} - static void SetConstSpriteValues(struct PokemonDebugMenu *data) { u16 species = data->currentmonId; data->constSpriteValues.frontPicCoords = gMonFrontPicCoords[species].y_offset; - data->constSpriteValues.frontElevation = GetElevationValue(species); + data->constSpriteValues.frontElevation = gEnemyMonElevation[species]; data->constSpriteValues.backPicCoords = gMonBackPicCoords[species].y_offset; } @@ -798,7 +754,7 @@ static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 off offset = gMonFrontPicCoords[species].y_offset + offset_picCoords; //Elevation - offset -= GetElevationValue(species) + offset_elevation; + offset -= gEnemyMonElevation[species] + offset_elevation; //Main position y = offset + sBattlerCoords[0][1].y; @@ -830,7 +786,7 @@ static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonDebugMenu *data, { u8 x, y; bool8 invisible = FALSE; - if (gEnemyMonElevation[species] == 0 && !IsCastformForm(species)) + if (gEnemyMonElevation[species] == 0) invisible = TRUE; LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index b24db3f876..51f9b9d8a8 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -230,9 +230,7 @@ static void CreateBattlerSprite(u8 battler) gSprites[gBattlerSpriteIds[battler]].data[0] = battler; gSprites[gBattlerSpriteIds[battler]].data[2] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); } else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT) { @@ -268,9 +266,7 @@ static void CreateBattlerSprite(u8 battler) gSprites[gBattlerSpriteIds[battler]].data[0] = battler; gSprites[gBattlerSpriteIds[battler]].data[2] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], gBattleMonForms[battler]); - if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_CASTFORM) - gSprites[gBattlerSpriteIds[battler]].anims = gMonFrontAnimsPtrTable[SPECIES_CASTFORM]; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); } gSprites[gBattlerSpriteIds[battler]].invisible = gBattleSpritesDataPtr->battlerData[battler].invisible; diff --git a/test/ability_flower_gift.c b/test/ability_flower_gift.c index 560706af4d..58d4bf2e1f 100644 --- a/test/ability_flower_gift.c +++ b/test/ability_flower_gift.c @@ -12,6 +12,8 @@ SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim in harsh sunlight") ABILITY_POPUP(player, ABILITY_FLOWER_GIFT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Cherrim transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CHERRIM_SUNSHINE); } } @@ -32,6 +34,8 @@ SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim back to normal when weather c ABILITY_POPUP(player, ABILITY_FLOWER_GIFT); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Cherrim transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CHERRIM); } } @@ -52,6 +56,8 @@ SINGLE_BATTLE_TEST("Flower Gift transforms Cherrim back to normal when its abili // back to normal ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Cherrim transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CHERRIM); } } diff --git a/test/ability_forecast.c b/test/ability_forecast.c index 696c0383a8..d2d36c1abb 100644 --- a/test/ability_forecast.c +++ b/test/ability_forecast.c @@ -17,6 +17,20 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in weather from an opponent's m ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + switch (move) + { + case MOVE_SUNNY_DAY: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SUNNY); + break; + case MOVE_RAIN_DANCE: + EXPECT_EQ(player->species, SPECIES_CASTFORM_RAINY); + break; + case MOVE_HAIL: + case MOVE_SNOWSCAPE: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SNOWY); + break; + } } } @@ -36,6 +50,20 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in weather from its own move") ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + switch (move) + { + case MOVE_SUNNY_DAY: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SUNNY); + break; + case MOVE_RAIN_DANCE: + EXPECT_EQ(player->species, SPECIES_CASTFORM_RAINY); + break; + case MOVE_HAIL: + case MOVE_SNOWSCAPE: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SNOWY); + break; + } } } @@ -57,6 +85,20 @@ DOUBLE_BATTLE_TEST("Forecast transforms Castform in weather from a partner's mov ABILITY_POPUP(playerLeft, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, playerLeft); MESSAGE("Castform transformed!"); + } THEN { + switch (move) + { + case MOVE_SUNNY_DAY: + EXPECT_EQ(playerLeft->species, SPECIES_CASTFORM_SUNNY); + break; + case MOVE_RAIN_DANCE: + EXPECT_EQ(playerLeft->species, SPECIES_CASTFORM_RAINY); + break; + case MOVE_HAIL: + case MOVE_SNOWSCAPE: + EXPECT_EQ(playerLeft->species, SPECIES_CASTFORM_SNOWY); + break; + } } } @@ -87,6 +129,29 @@ DOUBLE_BATTLE_TEST("Forecast transforms all Castforms present in weather") ABILITY_POPUP(opponentRight, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, opponentRight); MESSAGE("Foe Castform transformed!"); + } THEN { + switch (move) + { + case MOVE_SUNNY_DAY: + EXPECT_EQ(playerLeft->species, SPECIES_CASTFORM_SUNNY); + EXPECT_EQ(playerRight->species, SPECIES_CASTFORM_SUNNY); + EXPECT_EQ(opponentLeft->species, SPECIES_CASTFORM_SUNNY); + EXPECT_EQ(opponentRight->species, SPECIES_CASTFORM_SUNNY); + break; + case MOVE_RAIN_DANCE: + EXPECT_EQ(playerLeft->species, SPECIES_CASTFORM_RAINY); + EXPECT_EQ(playerRight->species, SPECIES_CASTFORM_RAINY); + EXPECT_EQ(opponentLeft->species, SPECIES_CASTFORM_RAINY); + EXPECT_EQ(opponentRight->species, SPECIES_CASTFORM_RAINY); + break; + case MOVE_HAIL: + case MOVE_SNOWSCAPE: + EXPECT_EQ(playerLeft->species, SPECIES_CASTFORM_SNOWY); + EXPECT_EQ(playerRight->species, SPECIES_CASTFORM_SNOWY); + EXPECT_EQ(opponentLeft->species, SPECIES_CASTFORM_SNOWY); + EXPECT_EQ(opponentRight->species, SPECIES_CASTFORM_SNOWY); + break; + } } } @@ -106,6 +171,19 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in weather from an ability") ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + switch (ability) + { + case ABILITY_DROUGHT: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SUNNY); + break; + case ABILITY_DRIZZLE: + EXPECT_EQ(player->species, SPECIES_CASTFORM_RAINY); + break; + case ABILITY_SNOW_WARNING: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SNOWY); + break; + } } } @@ -125,6 +203,16 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform in primal weather") ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + switch (ability) + { + case ABILITY_DESOLATE_LAND: + EXPECT_EQ(player->species, SPECIES_CASTFORM_SUNNY); + break; + case ABILITY_PRIMORDIAL_SEA: + EXPECT_EQ(player->species, SPECIES_CASTFORM_RAINY); + break; + } } } @@ -149,6 +237,8 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when weather exp ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CASTFORM); } } @@ -169,11 +259,14 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when Sandstorm i ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CASTFORM); } } SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal under Air Lock") { + KNOWN_FAILING; GIVEN { PLAYER(SPECIES_CASTFORM) { Ability(ABILITY_FORECAST); } OPPONENT(SPECIES_WOBBUFFET); @@ -181,7 +274,6 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal under Air Lock") } WHEN { TURN { MOVE(player, MOVE_RAIN_DANCE); } TURN { SWITCH(opponent, 1); } - TURN { MOVE(opponent, MOVE_CELEBRATE, megaEvolve: TRUE); } } SCENE { // transforms ABILITY_POPUP(player, ABILITY_FORECAST); @@ -192,6 +284,8 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal under Air Lock") ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CASTFORM); } } @@ -211,6 +305,8 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform on switch-in") ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CASTFORM_RAINY); } } @@ -231,6 +327,8 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform when weather changes") ABILITY_POPUP(player, ABILITY_FORECAST); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CASTFORM_SUNNY); } } @@ -251,5 +349,7 @@ SINGLE_BATTLE_TEST("Forecast transforms Castform back to normal when its ability // back to normal ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FORM_CHANGE, player); MESSAGE("Castform transformed!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_CASTFORM); } } From 0733e0908c067fda6164ff53278b7e8c11fcd088 Mon Sep 17 00:00:00 2001 From: SubzeroEclipse Date: Fri, 30 Jun 2023 10:40:46 +0200 Subject: [PATCH 036/256] Added even more gender difference sprites, 1/2 --- graphics/pokemon/aipom/anim_front.png | Bin 1072 -> 1034 bytes graphics/pokemon/aipom/anim_frontf.png | Bin 0 -> 1033 bytes graphics/pokemon/aipom/backf.png | Bin 0 -> 708 bytes graphics/pokemon/ambipom/anim_front.png | Bin 1543 -> 1502 bytes graphics/pokemon/ambipom/anim_frontf.png | Bin 0 -> 1505 bytes graphics/pokemon/ambipom/back.png | Bin 848 -> 800 bytes graphics/pokemon/ambipom/backf.png | Bin 0 -> 810 bytes graphics/pokemon/girafarig/anim_frontf.png | Bin 0 -> 1363 bytes graphics/pokemon/girafarig/back.png | Bin 782 -> 742 bytes graphics/pokemon/girafarig/backf.png | Bin 0 -> 747 bytes graphics/pokemon/gligar/anim_frontf.png | Bin 0 -> 1292 bytes graphics/pokemon/gligar/backf.png | Bin 0 -> 707 bytes graphics/pokemon/heracross/anim_frontf.png | Bin 0 -> 1199 bytes graphics/pokemon/heracross/backf.png | Bin 0 -> 510 bytes graphics/pokemon/ledian/anim_frontf.png | Bin 0 -> 1269 bytes graphics/pokemon/ledian/backf.png | Bin 0 -> 742 bytes graphics/pokemon/ledyba/anim_frontf.png | Bin 0 -> 1204 bytes graphics/pokemon/ledyba/backf.png | Bin 0 -> 578 bytes graphics/pokemon/meganium/anim_front.png | Bin 1535 -> 1496 bytes graphics/pokemon/meganium/anim_frontf.png | Bin 0 -> 1453 bytes graphics/pokemon/meganium/backf.png | Bin 0 -> 632 bytes graphics/pokemon/murkrow/anim_frontf.png | Bin 0 -> 918 bytes graphics/pokemon/murkrow/backf.png | Bin 0 -> 470 bytes graphics/pokemon/quagsire/anim_front.png | Bin 1054 -> 1032 bytes graphics/pokemon/quagsire/anim_frontf.png | Bin 0 -> 1054 bytes graphics/pokemon/quagsire/back.png | Bin 556 -> 534 bytes graphics/pokemon/quagsire/backf.png | Bin 0 -> 556 bytes graphics/pokemon/sneasel/anim_frontf.png | Bin 0 -> 1090 bytes graphics/pokemon/sneasel/backf.png | Bin 0 -> 614 bytes graphics/pokemon/steelix/anim_frontf.png | Bin 0 -> 1666 bytes graphics/pokemon/steelix/backf.png | Bin 0 -> 737 bytes graphics/pokemon/sudowoodo/anim_frontf.png | Bin 0 -> 1048 bytes graphics/pokemon/sudowoodo/backf.png | Bin 0 -> 616 bytes graphics/pokemon/tangrowth/anim_frontf.png | Bin 0 -> 1422 bytes graphics/pokemon/weavile/anim_frontf.png | Bin 0 -> 1322 bytes graphics/pokemon/weavile/backf.png | Bin 0 -> 782 bytes graphics/pokemon/wobbuffet/anim_frontf.png | Bin 0 -> 1096 bytes graphics/pokemon/wobbuffet/backf.png | Bin 0 -> 408 bytes graphics/pokemon/wooper/anim_frontf.png | Bin 0 -> 716 bytes graphics/pokemon/wooper/backf.png | Bin 0 -> 480 bytes include/graphics.h | 33 +++++++++++++++++ src/data/graphics/pokemon.h | 33 +++++++++++++++++ src/data/pokemon/species_info.h | 17 +++++++++ src/data/pokemon_graphics/back_pic_table.h | 17 +++++++++ src/data/pokemon_graphics/front_pic_table.h | 17 +++++++++ src/data/pokemon_graphics/palette_table.h | 17 +++++++++ .../pokemon_graphics/shiny_palette_table.h | 17 +++++++++ src/pokemon_icon.c | 34 ++++++++++++++++++ 48 files changed, 185 insertions(+) create mode 100644 graphics/pokemon/aipom/anim_frontf.png create mode 100644 graphics/pokemon/aipom/backf.png create mode 100644 graphics/pokemon/ambipom/anim_frontf.png create mode 100644 graphics/pokemon/ambipom/backf.png create mode 100644 graphics/pokemon/girafarig/anim_frontf.png create mode 100644 graphics/pokemon/girafarig/backf.png create mode 100644 graphics/pokemon/gligar/anim_frontf.png create mode 100644 graphics/pokemon/gligar/backf.png create mode 100644 graphics/pokemon/heracross/anim_frontf.png create mode 100644 graphics/pokemon/heracross/backf.png create mode 100644 graphics/pokemon/ledian/anim_frontf.png create mode 100644 graphics/pokemon/ledian/backf.png create mode 100644 graphics/pokemon/ledyba/anim_frontf.png create mode 100644 graphics/pokemon/ledyba/backf.png create mode 100644 graphics/pokemon/meganium/anim_frontf.png create mode 100644 graphics/pokemon/meganium/backf.png create mode 100644 graphics/pokemon/murkrow/anim_frontf.png create mode 100644 graphics/pokemon/murkrow/backf.png create mode 100644 graphics/pokemon/quagsire/anim_frontf.png create mode 100644 graphics/pokemon/quagsire/backf.png create mode 100644 graphics/pokemon/sneasel/anim_frontf.png create mode 100644 graphics/pokemon/sneasel/backf.png create mode 100644 graphics/pokemon/steelix/anim_frontf.png create mode 100644 graphics/pokemon/steelix/backf.png create mode 100644 graphics/pokemon/sudowoodo/anim_frontf.png create mode 100644 graphics/pokemon/sudowoodo/backf.png create mode 100644 graphics/pokemon/tangrowth/anim_frontf.png create mode 100644 graphics/pokemon/weavile/anim_frontf.png create mode 100644 graphics/pokemon/weavile/backf.png create mode 100644 graphics/pokemon/wobbuffet/anim_frontf.png create mode 100644 graphics/pokemon/wobbuffet/backf.png create mode 100644 graphics/pokemon/wooper/anim_frontf.png create mode 100644 graphics/pokemon/wooper/backf.png diff --git a/graphics/pokemon/aipom/anim_front.png b/graphics/pokemon/aipom/anim_front.png index a6aebde289965bba5deea118e5d4920cb58b4c52..d015b19b529223daa9f61fe49f10b86c58c5e9de 100644 GIT binary patch delta 953 zcmV;q14jI?2#N@hUw;FYNklJ#X7c5QbL-*s1VRqMcG)lSx`-6v5O>&0pE0wdf44@`X6prt%b!6qEOyM7pBApQ+kOJ@z#cS=vO%X_1l$s3K8K0)G{+#bn5(G*$t$QK2lB z*;7jIUW+@dPa9;1F-B0jN!toQ91t2vfJO3F0QbaTlQv7B%|+CNXq`4A9z@&PmUHhj9Iy?tqVGx`JjhwyGxV){1jiwZ^@I!X+z%Da z@Xtm84%%+21p=H+cpJI87g5Ee+gn811ytuAa(dZ`7Jpd45TPE7wF#gEx^Srl#zHR6 z6^XXQr~PuLykQv-ffev9fQyNR*v5e+MZhe}aKqSA#A*LwzxJ=eZac+5$b;-=EJ7ZQIRx_80GgwuH-Fm`Kd9 z3pX1|%ztzaJo%xLikE--&!R@l@m9H`O+c5xdQ9|yd>F4YUB89*e!YW8ZK=FSH7dic z5hFBev3LbJHN{H8L*dCPb;dljLtEEV1VZdc-K>|&yGa%5A7m2-l$OftF;xZ!CO^-f zErD3x3gAZg$KJHX;JH-Z1Jwiw(#hF*E1OM^>wjXT0-W^EU(Vt5-Nirx%C{9hnE{;c z?v8H3NO@$=;phlX-(QSw!_$Tu7{BcIXVXC!9;&C*s`&in%b^$qeT}qM)<#lTh0i@* zXS%n9jPKmlj6p)Me?R7_!b4rHk2-gfVR#74oAAj*d4P+UawN+*Qci z$bSUf05AgN3aBavL^V4hcnxwtK?}7q&IcG{X+XSWF;vf&#}Vf|z}U~#z*5p(Un1ht zFk*b^R77F~)ULdssE8i)2sA5%RE3jb$Y}NqPZR0-t7XZs5i=r^c zrE(h@@=E-NHb8v4_FK~_iLHdIK b#y|WGn>rxP>Da(e00000NkvXXu0mjfa#YQU delta 991 zcmV<510ej02(So{Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!?zg88w z000A%NkluvJJXLGnMqf5W+zSb9GY6)+IVS>8wQy?^sPzwZ~J|MFL=8Gwog zz;g&$#4m`FFH279sN^()0`Q0=QKbOt4Jtx5A(0FqwGyF`$es{#^FrLBT~hPcDWyJ2 zmPu0r@NJ)X0-&LIB*1OnTPF1aXwrcUSm1p^NJ9Y83g3<-03@yFq|pLO1t2-*bx0=1 zPi`Gf_)?nPkAE)$-hS)j3BcRUF$QoXZ_;vG8yf&eN8<Ea}ie+K#Qav zGA~?Jj-0(lu}7EuIrUUB?`}q`j%IG{UDyj~q$X^D1AjM=48zZZ0&F+!L)PG z&r%Ur1AlFpPBT8tl?6JmwKbh;#s3Onr!Om`0~zPz%kr@n;G z{%@!?mlW%5F;aaNB~k!*F^bfH$X=;X6%gEhcmw&BGv!6HRT-=ds87NMjpmS5k+d4@ za7R?BQtF^}(zuwy<9uD{X0=e>Wg=03FC9@Jq<>IehsrWoFuF5⪚J1kpNeMmz(1T zg#)3y+p-PdC8ML`MmibqRrx>$Sjnq<$8h-Zq$dFB+X|je01h`c2G?L9y;EyvunUKu zP6pTESxpWM-*mf^ajy;c1tJ_iWaFepHgKU<>I69cK4QQ%I$NC?0LwVNC#X2&;tHBP?j!; za=P#11<2eO&E(2B?O}|C0deA4U%p=+hm0`~V>gonXOeEa0^z5c72^u0!ecEU){IU| zOsZ*=)z#W%fy4;RT~hE+$*9UkV95lStXKi6n$~^r7XU+(d7kUzLb){qc`p8a6Tp98 z{C@$+3wxon51fkx>L!JKVAJ7H?H`1FKwCLi`v>6*Y^{F~zTn^Zhada3A|Uw0=KBBu N002ovPDHLkV1ga%#ee_+ diff --git a/graphics/pokemon/aipom/anim_frontf.png b/graphics/pokemon/aipom/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..c4be36d2476c90e8aeaccb9eddd46c85ace50fc1 GIT binary patch literal 1033 zcmV+k1or!hP)uvJJXLGnMqf5W+zSb9GY6(AAGS>8wQz4JZ4?-!x}@mH!DfXZb6Jcp1) z{DLU?vg)LcN=_pv0FOu#RSKZqpdw@w63GBkD-jxr>PrwGz1W>@a;$fK+<|n8ZDqy0Fq-~hh%d6f?=FRLI@tW3H9 zk0#v3q5L|p@^9Vld(IuEnkGK{@L|e(t|D%Q^E}Ua5622%vCc3Taa94dNa`W;!d2zS z*=rPgbjhDnPbKs2X0+;P=GNYYy?{n)!Ui~S1IaM_JSf0+(@vCthtm;jB3tz$%Ghsr zW}&iy^3*|AC*4;9Gw37KfuS-16hIqJmB5gT=4>7-OMKlbPRdLR!ZQMn0kE-eAXc$w zNa0aK8+H&GidfA*4w!oIX{?Fn`4_6IkOO32Gzr8^06f+tm=!=48vymll=CbVaW&9} z=``cRTv?z4TU*nqW^CITOJB1NC`;JPhLONDr?At$z;yS(;>$~~dg@E~?Ei*Zb4jt@ z79-VXQ6dF^7o$iGi0qXLRRO{6hc}R4Ia6LFTb04efchkC&}a@>6-leX4tGSADy0ru zCyk3KJkHmJZdMEBT_zIs_tFssLJH+|s4Rm8qdSx5XFwz#32-HNxjAl7I1tLaE!zNI zGCDeLq?7Spl@DZqmAtxl42K_2dIFHXt>Ebd;BaGOa1931JGFKOyKwmFWN;mx)#SkN zO}9H4_u6n@zNO~*x9{I~c+cx9q_wm#5W>n`=BOsqzQ#p-{ib3K`aX8oB9=%z)OnAD z)Nz%rR#mEKkvj7!RmM>+J{oU#Z>gr-KBvf@hpdToz!d;3;GY9!>4GSy`#xTP%#G1Z zu8h+j##k5-C!Y1?`{i-S81pc8GdXZ3>9#8neyUk9u5css%!+7On}K6psH!z2Y&%DG@0kQJ}#77Gmz)v-!}pL_r?DgfV{95I{U!6 zNT6;~*atQp4%Pla*ax(gbG3gEzQES{2jL6;jeqz77+oS$YXD>y00000NkvXXu0mjf DF5lSJ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/aipom/backf.png b/graphics/pokemon/aipom/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..66e192be98fe688aaa2947e546fe85138d594cd2 GIT binary patch literal 708 zcmV;#0z3VQP)g>45XT8KbS|>8)msWYfJ0t@v)uzTnxx2Uc$C7uDe_QhGEn59Zg&A8 z8SE==?zUir_NU$du0EpZf7$Bi>%PBh&Ub;XvG#6=?qcn|5GxE|Pk#eM9RlCCoK)Z| z0%f#ZYSMh-hXSlV) zpzJl+_LGV*=s$7Pha&~Z0frpry=kZqsIz+J-~}#yKtPUlbUn~kkZ*e+E}uN$t!XX< zoB-C3ScC?t%BL3qG1k%h8NeLrQ6aG20gNiU5BA%01+b$G3aUEy0DI{pSOoG%22`CF z20i#t@nM8mwT>llYb?1_sihy!}2G?o_ z#6BRG03|{|)FBY5Ndk)y@(PG$2&ij-w`nx71SARqn*mW30(u72AyCeMB=8Hblfy6+ zA*Uz6jjP2B9^mK5rZ*yz(K1tmq4^{&+?mo0;I$wEaf!c~@`NVbRZSPi5C|eO6 z!oh8}-fOAHRvE*w1s(I?y`37H1UJIVA%}=DCzwCkt|Wc6QQju>s;V0RZ2}9w1z?L& qzQ!tacvw6$_0nky5%UM&pV)636T@>c2MrVe00004BiWnUw;K@NklIdeD?55v}>TkZl`I}O9Ix#EBptcR^jRtj7paQ=T)o6-*n7j`cJ6gs z17QKcD?P~r<0M=Ijj0I)rjhI1XyBUHW+JzrAK1BR0l_)*wLL;M)~Oq^*5?+W@_@sr zk#0mtHzAenr+;KCY+Z%9MV27o5vNZa<)QKQOT71m1%e?10|VmRlkOcl;GVWHG?&5x zBgt3~mSQhR@D6*S4qZcLMgrLx$T)>ROi$6h(A-<&+RHAS0UkPSvxgag2kp#;A4ttQ zX}0Cs0KUD4(`NcF?PtJ&wlF;*&i-^%+w586VZF|4!+*pA5Cd>Q^pr|G1Mo(J*CquZ z?h~PKz?_Ik3q$AIYdY|!(`zd;B46DQ3IvnZ1t$S!P*uHwKBA`v9$~^CO0Ni{YB(N_ zZ@*DDY5*(2D4pa$tbuP~|JyKBff5iEDm@#=4ERC6nnr!l>3<9pgb~VSPWb)-U*^~E z&U&c^Fn_=WfW$wt_W=BTawfmqjm?T56@ilz1RfChEc1@07Qm-)!rp)Rn>pbV`<1Pi z_>7#_5A|Pe(Fd8v^MG@QuNi~;JLi8$Y41M^IIsV@zW(ReuVgB15>J5%Zeedfe0T@z zEKl;F0N~eV0i2H8?PEU96Qk>O`go)tr?Bp*Xnz5Sx_Xl8r`gE>W7zdv3_jKIX>p*md=`=hR7)QrSK=!~$)ySNTX-cLxXjS!Dpa$)D!faJ2R??oJkXqH- zS044vlu$E;Hy8^%Gz^pM214D<7UN(fB8otYr07oW<|;Q0WZJ$B8?`tQusmT4m7Ovv zet&N8v)Gq%!j=|Y_!gW?SZ97oQ-CF?1MSk1?O-|tvb?RBH5rux`YGlwd5HxBBxNR? zj;<$JwOVFCsUd6*dcBe(I*{D3M6oz5ze7jq0I;$!P{zoAYCNV`Dy#au0d`gcT1u3f zfxdp|?yZ-bdEu@fh7IVu>!s&ErH=qRmw#cCm1`ns+pVi+?d6_Vu85$ko`+USV@3mrPn>_zVh3JKwzH6#vRHq9P!vJ)9F9+r% zMs^KWN8QHx>4L-=ItVt-hG>IVjbbzWjvz&XGNR7(~l1|1q8zB%BHb3a*- z7~3q{p?B*>cC1uipu|YDTyfqMGJh{X00aaK zP!Ms7KwL~L4Zvep12(>W#e!Z$#7u4nsr6Q%Kmd2eY-Wnoh9p6N;JP>4)w9oH6oi;x z&jBY>5OQ8!I5v_(D~KiSFBs_~L}C=glG6C*{wHt|q-2?bI992MM`^i&z%Wikv_e5p f=8ONYg7_Cfkl8Ttfnjj~015yANkvXXu0mjfNd2Cv delta 1466 zcmV;r1x5Pa3x^DlUw;4za7bBm000ie000ie0hKEb8vpl2M?8t`L1Urh!eb8De{GivsP|yDj%0^nd7kq$tZjZQ@-+Ny| z)TnHe&EuneXEU&4KPTkT_5;Aq{#LmO+jc7OD+Q=s1z>|CGzg9k?7ae$J zhiafg*Akf#PsAe;rSONTDOwHmy%ny!?86x$Mnvyn8h`M;US`Afgkr5U+j6A=*WAPE zG4+=YGoYp{%uk52Ke6oTJ&*mM+4LLZ!~hPlzy&^#GI2EEw_1Kq>3Dkcjl7m4Sn($5 zEC(V5e18l3-v)v7B!{R_;g~pPzz^!xw3?%M_%TcnMkrf2;rn}hnP0y<8>9-r02crf z{m9+}@b}4?_-;SaD{fc>PEHWGN8q!}JDM5*pTY@y|K)G`gip*@HeU7tuwLIcf4M;) zL>esv)-Aqf4DRo~|A!Ff{)>S1`md|2e}4T+q<_LB@f?`p7WVeThj*~f@+9{P0Df)e z!Rff&Jm%v(G5StC#3S7(g>_4YD?r#+lTdX4Y<5rEXLl1hZKPnN#38`E>&*oiL`eUv>H*uVR^<@Dm!I@|J?G=B3FnR zTU&JDTll_!b>@~d1z3VQ&?_z37N&zI%G-)w6JaT!o?`xz*I3X%Qf9)6RXxe7)j9)G zj$yMm7?d0lLvq6s#p1C34zW}LU}a&TjDL~;)Obj-R5tZ_4eV_Ol$0nn1AYC_u5Oi^ zd0}rI1}*5jTczhep$`CimqDAAYa(ddoo>7Fvg(v8BIv5;L1Tj=LdCNI(1N9PQ68r& zB-(3F(8Z%y!=~Ec>t1#yF_hj|mxD%PKwI^BwC+Wp`RY@qUc(b7?9>+{{3s+7ECTlj2r+t+6>wNEJ+MfAL;{+Q1Ese zs}e&4m7V8@_;vk@6^TKITGiWarGKgZT$LEg2>`UFI$e<%8lX?BIj|%#vTLv=>Nej$ zU6B~(p3HB;x__}EF$_R`HJlZRVF0U!52%r>NDMmGKy+R6Tjy@FA~E=#`F;t$4`(hh zxRw~l8Nf$M(9R`BDs{~@0JKmk5@y;OHgBO*Ak5qHD1YKgVocRXpmX)W7=QLDi|fwk z5~W6RAN4E%b&0P8x~8KQh*#*{s*xQ_IpioY5+zrxH-*ge5C8!I0~AD*A`lf5O9AlM z<%mshUNLVF626ezUTVDMC=kG1zL=RjH6ck5Ah_-pF diff --git a/graphics/pokemon/ambipom/anim_frontf.png b/graphics/pokemon/ambipom/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..6754bcb233ee719cac599729fe84f783389a7237 GIT binary patch literal 1505 zcmV<71s?i|P)5YNu6000GS zNkl zl2M?8t`L1Urh!eb8De{GivsP|yDj%0^nd7kq$tZj9{_gtx5`b}wo`$>Qh?f305&*6gW%}E-rL~iVbD3W%UvLkPlF(6 zZ#bX>>p|y|l>%J^&R@*ERH3cpHfa-q?n{h@xi>66&Asj^ASeKMrAK*Sti)G9Yi%AP~Ex2PSk&gTZ8qUOVBM6-~PzDO%ipOD?4(+zTq zEJ47r`a@#Ll!5WBOT71m0lYB-10!Nhoc<&P2kg@hhUStRU?LbB+!7KwUV?Y11}bzd zks0wsJQ7g~KbV@L)j;1{;mXTCoBtu)(mr2*I6!|E~hlMXYW zrYy`)h_WBC?CCv^{h-OlF!AgJ`)#YHMju^<1Ll}3*!YKl&98bs7n{VW`9Knh=NoP3_Dd1b! z|27DuCpkog3dh7T1Ab7irqvw9!;fKtFhbeF3E$u2%l!J?*&tN_2Dku_=tuS*fWJ@9 z#CQ9VUU9=BaB_mcJp!L)-qF+m_!Lgq`!9dfCwyYQvhlJHfc5&m`O6LZAkt_Vux{}+ zV{m`>{Xc{-_g@68*MD7I{qyTrA{8cy=fDiNu(uyRyn}U?C%IPu@M|**hxK=er3wHm3j<}0{HMl4ilwrt&ud_BGoYkIsTt_&hjw+V+{_Dm>o90R-`y%b z{|S8n*t-nctXva8+wOGRjh9uYToFN6Jr5ci6cH+(4S*Ibt&8$FT_Mq4dx9<=y&5*v z24DBGGl`+}#=0Cd5(C<*&!ctsR1yQ~KJ?{iAqR8Og%U&cE)aEoFae{!%KyT@=F}p&$Q?zxx|2ama^OjRAjrh@gb8KkcRan zf1#fq?V{*flo*iaVgCJV-4;wPNsJr-Iob@`04zxiQXlFAj!^J+8>`UFI$e<%8lX?BIj|%#vTLv=>Nej$U6B~(p3HB;x__}E zF$_R`HJlZRVF0U!52%r>NDMmGKy+R6Tjy@FA~E=#`F;t$4`(hhxRw~l8Nf$M(9R`B zDs{~@0JKmk5@y;OHgBO*Ak5qHD1YKgVocRXpmX)W81^ZP>(1vArABfe^(+8&iLV5@ zrlS>zSLofUksV7peqOzL48q zYP{tr5Wro&n3+5^AxRJ*xb7@=_3X1~1;LlsbHK_JgjiM=mWd=+3Sv$B^Cs#D`1e97 zh&9#i&D~GnB1p+H1#v7>9!=761%Y9l@oj}Uj^|m88nu5P)ewfYmK+`T}v%rCXyHU{MB;vNb53 z%qgs_9cp{kpa7)0bRbYt-U1I6y=Jj9_q}>Y$ugzH9Xs_F>v$jUk4Ku2|MGWveYF36 zCB)BG35CF)H_^!+kk)FsvlkEVffz*5dFvvyAXQc?g*`pD6n`8<=d=Y%BvuXl5Jhh( zIZmTd3lQdrtafl5MMq>fPH#P+CRTN{PZ6XyCX1dTK>`XlFe zvo!sEO^4}MzkgJ8LD9=}o}x^?O?f)%009CSwjiBwp58$oSDjKrlS@s>6!$|SV+77R zrAj5CklCaLP(ITRkSLRrVamrC0&3w`jPwCYh7-OM*0TcuDa`f&?GIV3mB?nT9eUl7 zFkc&ER{&^P1MO+KAq)!(z{1Y>jjisvxZeXfk#4Fg1AlVC3v1O)xoQD7kr}Mo4FbRT zB>=GLewRaGHw(KeF#w7ZiLJCLAxu+636`zg*^Mey{c&+kn+V{!l$*wGq&3n&HtM2H z0amqXB>`grYeF>I0?=Y!bx`_3ne;2T-0cr1Ay{G#?Ny zr`)?R(r7RL21ljL9yLXU`_O1F&ay60}4v{R%vyj-r`+16~vsn;dW3 zL7=e&@(_RrPhIQtmjO&u)o<0yDb(|H5MWZe9!A7@9}tEb#K$wQ>il0tqK|xvKw`{*n9vF0Jlkn+WO500000NkvXXu0mjfrD#HD delta 765 zcmVpF2XskIMF-~w2LT%>NJB-` z0008BNkl8nu5XTunfYmLH`vUps(yh@85GaFM*&38~<`h=e4z;s-Pyo_h zIuIx+Z-EDkUNh9r%k_?uXiBlyPQAtE-H*q+<6jaX|E;k%LVw6$84EFkpSQ=}A+0UN zFTb2yyPA=cv7VKo|!Y<@O>#kIs{iK@Nx^l|yLs@W44E{a_X@1p@jr=l9br zn~Z2L`xdr}DJW){JY;C&?-QP#wSWkL8IB+ubDrHp9XG93W0Olw$prU9AwvW%TCGYY z6(Q4c1)zPQEg)4UC%udh@d)UJ-!RezDCv!PW2_Sg0DnrD?f}}A-asocoBBA+x@B>` zHpZ?1(6R#jZ3$6H5rBoA@>^Rza`CtWBnmPvK)D9&ii1YgZL#t|?9_zH-5~IrUjqP} z9-A8GcC)an0uMk_BDJM91sqd%Q9xuXo48Shs{UM!Xng`?F65?;8)=O+P>s6sC4g5O zZz%-l;C~aUJ|SLr09b9YpP~jLT*w`ujncLRhh2KHx^3QA`qQGLXaLy(Oggt3E*8|+ zNU;N`xmD<*hXAM%_p{)M35x{4mU(JY8Um&bY*NJx4W5T^4zPH^BUK zZ**9tTk24dOqxLpP^|<=FeckTK6|C;7QkM`Np|FkT!tM4M0JX0?j5k#*udoYv>gQM zNF)ydc=6PYKHm>unW}l+?JJ?u(?Nhq>1HslCyYd0008D zNkl8nu5XTunfYmKc`U3gr(yh@8uqXpq*&38~<`h=e4z;~{Pyo_hIuIx+ zZ-EDkUOUvz-1q7oCDD{(ubp~}&AT6ucgMdZLjGH0uY{1nG8SS6Kd+CyLt0ykAAUKv zb~Pg>$ywt82blKpr+3yakCNo7Ng*9zXAORFRWf!00Ih+Dr3kF51okOO-Vkz{CFj(a z6{SAK+@2=MG3gDm`v9nj-!6gum_T_wp7FB)Ad$3d2W*$;+5IH|oPTc3B1)eP>_`{C z-VXRB83XW*9PMTSgmHjTZZ87#=puO^tKnineT@`5fSOx{ zE_w)n8gV}ho|v#m0Bo73CZ!=@+Q24N%+TO@2#I5?PiK+upl_{d<$XpopVSV%ZH5D*ZMcxYfyP>66?LSa_&000Eu zNklO*1*z7$H5qYvA_X4l3xzS#0L0ef^P zg&t&0pz?i%38ujmo6x^u6%6iSEqXEbLA%g`XeiS7Txd<-+Yjy6%%;$RJxKH0nKz&B zw}gbH7Co{urB#DRTI$+-@JP$7_BeRtT`YY~?k$ycL1rO_k_P?@@c4PXBu2w{rfKyD z#+IaBp|75354HPje@h0`H7E;=wIofL0kF)vClcTreBW4pV>{BN(6q0FtmDa9RG1lr#s za6l>jP6$-m^dbUWA)rvY{tKKQs2?Gq3jn>s*tP*18n*0^hya*w9XE78v*+W|NPv+L zF!x|6t>9GYeL)Oqz)=OGAdNjz!7iW=Ay8pa45UB8vsoNw8vq&r!w?e1(16=o<+=pe z2_Xf$7Xo?+Z2pEoF@{Q8hdB0#I#+|UIWBHWth88L4*}0B0Ot(^U=(0c%g z({@+G^e+{NY1{r$djx(U6AT0%G52XkATs5w+h*(v{Xj;X7?>^60#S6a0C+3gatcQv zB@hLmWwD*KKnU*o9djoo5QVa{MNFC!h`dLIH)&cRjI2k6KuRF;9+dz`VvmXiVi*UR z^Qh>egqeu^A@5OfYWA<}W1&YSdaxQc5qQ-6d=cPlrxSpXdZ`;kAaqT|3ds=Ap>5CPy1Z@_W# zmZUWHBLKrd#~Bn-1ti5VaeMImaOo5?fr)^DrX+G402Ff{>tP%n&&w+erV651+d-Hd zq_CY!1{S8W%64!x7&s2JkzFVAV1l1=F%TL`!BJou_9g&#g+MF$FmU?CAYL*(@qS0`=K*!4_8ZPmUFdh=oQ<8CQ^VN!VdlozP9^|X ChYi&L diff --git a/graphics/pokemon/girafarig/backf.png b/graphics/pokemon/girafarig/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..6645ff99b817fe89c6221e40f08b4b9d58c19bf5 GIT binary patch literal 747 zcmVK%C~#0fv+&e80007Z zNkl1%J#@80))p0g49UsZVd4DhO2Vo*un zz%*;9Y##3g3UAEU+7^Yk)nf)#^)secsbHDb9^eR}6YFRXP($dzdZ*Q~(m`XpevHT$_i45DiiP)ai7-5TYgOB+<#0dPMVMC)UYCJ!3SI4H}v) z7rk39w;fvp4CzcXaBFJ4*p&eJq26KG`)9ya1H}~3*?dR=bx`Q?Ip87%Mg!#zLtpCT z=Rm3V_5;H%O#qJ$)G_#^)f72=)5PEtSP>Eu*Vo(?13&=kpl}R$GZLs{xSb2&3MYDT z^fZqV%c-@>QY_v_o5w*uhd9U-xR0U@-0j}Bn;eLu2*_rVGeKvqFuQ8j0K)IyIvYXh zFCIezi~%6L%K-+ZOCEy+FwdXUXH_q{w2@M69bz%kDKHV33JT(K&a9V}DetTFHN zoDvh*K4FiQ1L$1jlmfLWdjg1;G){4k()yE}$_G}(UP|Ds&wzd#nmHh-lR47BS?NozQH!Ywq#aVJS{bV$KyXB z2;N?h>1|3AF#sYWh?j8l4d8JMvbf0|Kx$z;W*1mUpxFY^Uiuv5R*>Dj7-(yN6={QX dK(=k@>n{hp`NQt4O?dzS002ovPDHLkV1iSdRgnMy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/gligar/anim_frontf.png b/graphics/pokemon/gligar/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..945e909484d4daf100a897ed6cd4dcf2661c5e7f GIT binary patch literal 1292 zcmV+n1@roeP)&0?gaN`p#TbN~PUti8n`bEF_ab1{^?izzXSDKW)!ivR!s%eKDQ000D+ zNkly>8=15P(S#E^-x@>4+p)iI}~5)#>U_k-2N{IvpfTp)t|bp8|q)y`r-MGQB~s*ii4F&=fuWOWE`Z z`3BGz=>qUou%p2+A`OW1CD7XfV&MlGFooI+@EYhb7Xh1W1ZG&PGqphYsp0gP=*JKF*+$DWotk!0sRPh|CE4n`6`tuq%nKop3x9kz!c$0Nh!lsdgp)Bq)v0A1w}XA(fJsKS2S-pt{=vK6@7ypTBj($G@-g7zWks&uw7#5WClpUp>B; z9u(DV2e_Thev2gne|ah!;L~hV2m5k1dziqpe?H(LCKUqj*t(zQusgV~D*o)_2M@z? zd|OqXPX8s~rKt5jOg_G+usom6W}yl#~@3m|gV_f^uIak(Q#Z9uQ?%USadqHgU? zC)FqMs1vECV2rS@_r&0br;PU!= z1ir}{f$y#mz|IQ|1;R>jCh-&b64-t}Es$6~Pv6GSROZ6VA0&ry>|(XA_8#@wOX?*d z00(w|x3A1nzY3`efjYj~Lom*0mcd;(cD2d2ttOW7x+y};FH#wb&bk0O+YUhI1aWWyz3(#+verp0xr8OM=}p_1+r&|caG zXBsd8$4mTU0UY5>AqxUbaO*P*RmwcI7+F2)geC!2y#bnvH`I!TOMr67ON=?-DGeCb z3LtAee6Wi8nM}gzd^o>krUqOZ4T5@prGvnq(Yz9vn^(!y5hopO0EF0jtVJ!^oL1_P zlQL`n1&J~Wc}s6p3Ce@E?kio{*4>zEd|IDY^ZFNVJ5;!UFUeg100003# zF#JfnIQRAZ>o|T%ypC@?zdVmVRAHQ$F+R`dyb|!6xjwIlENxN!BLZGKeor8C{%GBI zX0`yY%ZiKrrcIYNVDZuZVI9^EN7RYi4nPPUKv4l3xZEWaR8_7|z|>ZZwuj!w4RAeBr4N$=q9{UC!UiBCa&1$H5p0|SZvfOQ zV>LH;A8%;mXmMNe0ka7VQ08$QTZ+v(FR7)>!IH;$;#n-A8bf*j%$g@?+i4jlmn)Z{ z2Y7ArkZ59BtAvW##SM@UdQ`Ml8B{Y#8_-Nv+{z1iHeVI7Wi1ZSm7xHCaY!iT{Xxw{ zY8zW6r2aDERkDyj43Mnju0UngoTs2!$XOl=Ub(~`(5XomXOD=|?Oue3e*+Eu6yQZ^ z4*;LEZvl?~7YN?~L}$B*JAnmo&V{pW0#_SK4wJ)O(X1^n>Oyo_cEk=q)Li?BTpT*T zL@520rJjokSZnQToad9RYBDFu-fLP>(=D2`Xt4PV#*ONG^Nv=+%N;PW}Ms8cl<6 zpneX(uewH1!+7#hs(O3Wq`(F1$ye#6z16;*%LxFxGY;_tSgt4kHBekVe3{k=rPXAK ppL{t%s#T8aECVaBv^e~H`v(NV`n8PSPh0>1002ovPDHLkV1mw*JWBuo literal 0 HcmV?d00001 diff --git a/graphics/pokemon/heracross/anim_frontf.png b/graphics/pokemon/heracross/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..955bc628b8500d9b95a29f0079e4cd891ba7d9e8 GIT binary patch literal 1199 zcmV;g1W@~lP)FnYP*b>$H%77y(QzWgI{w zv5tj^rb8D4I@3`WJA^W=i>JY~Sv*mueI=9fe*$ai)`<*<5ckWGi2Gs$R$Ue^^mo6kXPuGBU)%7E_S`!?HW)-Kt%aXh^lOMJH&>AB;ZwGo-I-3 zqT%-pa2~2MgZ+m~A~n3EG$)|oJGlRFkwoMB_6)QhxHv5A(BA=b20YFQ8GA(Vdn!f% z4VMC3TBHn6G2TY-^(oV41SEniQlf4=iI9!rMGXX?BEH<#1|XZNM9P&(RX3flL;$GZ zgi$><6_Cn;N>%*j8Q`R5LkP#;`IA5^wVnW%s2uAd1_8&fl?O;wq_wVG=P$M(9CcOn z&zayqd=m0cMSlBC0J;%){wDN2fy-$KLV4h*w*7F5mtia5F9QMmYsxmqd;&JZN~vaP z0Dk;uXg7WG($8A+Bc2;ZklTDsUS?Nfd;H@J7*Je>KW8`Q_$$Fh3(&PFiedBV23wa$ zH8ZEb`nYhzKgU;;d;1z7w%O}b^36XGeVb}g$LA-i24Y46Ycw$*z&5~Q6zEu!V@^Xj z+s2KAvz3dMS`x&sf{Ysxo!TfM?#ngcw=oN47@M~)f}1%YO8SYl;3BsDroRAgGqrsl zjkAY1sob7*u?7 zd_Q$4%QrT4umDJSFhjLA$9@7>H9^+F0w5lqejem1-S$vS0PAWoPI&JT2Fp|{nx>AI zasT-{96Ump?=0UZ-QwxchU=ue;1L2KC6zcOU3nmt4PV*Erw1EMhOFVFb~*qRhlp?p z9wPHwAWcDV3@zlY2A=HR0e}hso#aw5p-6ta+ueb;82h^{B<(_-c?1Ci_lU}Y#Qg}I zt(|~Ggz=7idWAlENvF{{GGV;?$*H&?g$UzicAvxGn?R5)^F-8nKEOk|L4#6!Bk#+(?C2qy3Zgl{7 zy4Tr)gHK)CG16FeAn2L}UBIeB>m7o3#tTtOs|JJN0a^eQx%LcXOX{Uy^bfc!B5Z{q z0N!XUB|@?KLC$*s*U2rp|Ij31hQopq&isSAHJo$*z#iq=)xLTE@E=CUMo5*j=^6k4 N002ovPDHLkV1iKECN2N~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/heracross/backf.png b/graphics/pokemon/heracross/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..2efbc549ddd6e67bf5824c8668b5a830ab0a7686 GIT binary patch literal 510 zcmVTT}8k}^4LTYLpUN&Y&C#>0wfX8aRyMm07khFkg5`tYEm@= z=SVS8wb_>*u|BIF>(e^*Q)QBTyvIQd-lYu45^pW>$F~a5vCrf~(ID&s13e$7_Oqyg zQZ6D5oUE)A&RHY3$%V2If6f{i@FW5(0dul)xBY1CGD=~iMhG-Qj*!ZozK0MgSq6$3 zrVuhfJWO8#%&l7hvbtD(ONVvQT)fSrlvHY*oz`9?05GdSpBCf*@Vf?l5A)*zN5C|J_{+3P zgag2!e1`1tq$YTmT8w4{3g&9pi8=5y86)lg7SN$_JA000Dl zNkl zo=0|&$`kW60iY0|ESYD80wyG{g>?wSDNfm8A%Fthq0B2>1C+L%0|uf{0xGYZ0}!H6 zf>a&nptcF9JI<&sL}86GPL2kf0AY7Lu>lwe8W%vB0^lS8_D_lc@{@qNIDY%HunT|y z*B~aR#lQhfw#%;L zeCuX_BX1aTA^1dV`^f3y180aq4;l^5qdTo@jt8x?db;Cfu_OI3is!?DH{5B-vq5Ux z%OfeL4bZxAQ{%%>2J-BEN&YNTrz zi&g+i1r*%Nt57M+*MFvV)d-Ytg8JfPG!Q_Ib$|p4s0q<^bPFbu!R}=z-Ex4XPf;NH zU@}ku4=jC(x0cK0-+l~4P*X}Rmk;SqZlS``#|lw&%irVxWGb6W_ynNdaxVq!$krLK z1fbP7>K@hsYerXq$qavI3K<~oBqSy7z+|W=n`wY7q}9Ct>l*j74`vLUWfrNF*)$tB zTI+rr7E_r8xEr@R20~~P)soWB99-d6h{^Pot_#4v%ULB0h(n5-z-@e2q1ej|Fy_KD z@ty7((N9dD@Z z_4?Zh;Kc$%yhYZ5&dS*j(Y^2*x>%1;ub`GVe_5b_X|4g7Z(#5UfT@DL%o-8sB5-;# zuC~!{tlzUYHB_Ch*BSphL4da8wE2*I%p(W&k5A{k+D1>DeU-V0QKE|pYX20izr8b+ zY7HpC*sP2F$)suz4QZ-o7HB64XaDUSfiS+6GXQr6VpK)%pTDz*+E9MxDau{%g&5bx z_r3)UGiJ9f!5K#-{M*LNY*`hYhnb~EEB zgqmpBfX;Z^>+@c7*~&OdX-oRbWV?y;a$w5J0=OzeL2T|(zlYu$_*nsI0hkGJOId}$ zT7{Xl3K&tOd)4*(o-8nez$zc;z71;xQC3i~)b+uk_W8o$q|uiYY6R-9PL~Jr^L@E5C%zs1#Tu zSxmA2tG`0|)@YyrW{6^IjQhXgUs60=*WCzUEEc^DKv`ge#v1|7i>&`KTt5Y1hTxmC f0Ri}*W`lnKHkRXB8=~lC00000NkvXXu0mjfRf}DF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ledian/backf.png b/graphics/pokemon/ledian/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..269c5739c316480f04e11df33c8cc3ac335752cf GIT binary patch literal 742 zcmViGdnsf`wgERr>fSCot6ADGN6CjP_F#k)7{h5ByyH7;QsQ(3CK5GFJ({7S^hX z0sMX|G`9`r*24!kt$N-vny?I}J$nN51V4D^2CImKOD#mY{Md)oVn-G0-l zDsEEyO?)225C}U2ww3)R)XE+2QV&E3%oyN2Y9R1p?Lt6s2t-(*EET&!U`wxESH@gYJ0slPy Y0@4IFj(eI?U;qFB07*qoM6N<$f)pW70ssI2 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ledyba/anim_frontf.png b/graphics/pokemon/ledyba/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd7a521efeb110110c4f3a550695d53a8ec0567 GIT binary patch literal 1204 zcmV;l1WWsgP)lfd;jK~|Np(DdjM);v`R5^CHT6E000C( zNklPjBKz6u>d$vNxV_#GfeqakdInY89{HlAN3jQhQ9m`wg0N$yPEPjVdv{ zmAxb!+1w^V(Q0qZ@(Gq(_ml{&_yDCM$4cAn8)G0Cn;zRrc@h%x{AS+Fo3Vcr3O&WY z5mNLY06Dsul5*H4$(sN%N^V02KuFyH00N*!Hvv)S7d!`u=^AWUC3$&nR<+>vE%W^R z2h$8p5&r6>15|>5{htvqtF(C#09+NyIKX$W^8tl;mXDWBv-%4K+wcc+4q#hgo8S)= z96-+1Oy6RKn?IQtd5G_o4ZmrGFUu8OH_xmKW&6~3LrRq!-q))+AludT9APzEI^yq# z{URZxWWw4s^Ymith!2M!-WAD7(KNh7xK3MpJMV`>&fmriQclv=YLYN*#94X|qRG?o%M zFiSV1dN)J5v})1NF2feVA?H?x9WDzhw+7;$2u-Xa2`k5M|Et$x-{mg*&@<~%V< z&JcS_Q-~Jzn)P|J`q@SDQN>G;8Sy0bL=+n)9Ar(k7bqxdUj5A)MFgbe8RP zN}Fiby(3)!Z;QftR=wVsGnf*AyuH8k4%>J7*IKfXid!vw+;9e<0zk9IUvUkN&=w42 z7PsouB^-bj+UfBt$IUFox?|RLMxgZ9IbZ`!6vxfo5xW(DGXnk5xjQ&vrN_d}-4q+8 z|71C^oTowy;j0b9a);Vd0z{?nfVwU<J?(` zLNC#zwg6r)&1=)BaI;tjyBQ=esExhUN4jZRa^!C2P0j}od9S?V7JU2g&D_llE-lY? zCoKymV;AUsnXKKUBox*(=1hY3yAucy)-Ib}5Fp@ID%>mzbsGz~_6j#+sd|}!Z_Lci zBla6i1MbDHn-8QQVD4r~_Mha!&HnO#=B%5Je@pfHt@YX&_XjRIn#A=`<22Fggrv8k~|e#AVvtjw+?IE6Fl4 zhLma8#xv~m->>}w7`xSf6&H-bRp61aJ8=yF;h@V!z~Y(&z#lUlaK+|oC53~AYrL{{ zt@uTN7uIez2H=v1%wnw(xEpLMfC(xXqu_ZyWN%#-B^1_R>9_NKZcB0?^9z7>eH`G4 zm;Q|L+ESk!$RPmxCH1X@+>nIs0r<8Pz=MF%B#~}nY=Z#yA#)OHP@p7W;v`h+06RsP zfHP2Hm5j*To5jXNK!2xz^s^(NUJ)2AVul9%Y@;La#YW3rOK|@=Hcb0`5bVCH-ouEbBN+kP`5BktviyP90er z0>uTbSLu&Hi9F7|l1AW*LS<`Yr45CsXpx*-AQ?;Gqm_-1fk;^&bSSuX<{0RokX!p^ zt(0nZciKY-grt3+ee?Fs?0mnPwm1w!Qx3y4S5@&PQ{=c74}YYzCCIT7Po$Pore@|= z;tE;Hrn2y5=FAvkc_n+xCG6(6fwo8HH=puVO-bD)zw@?k)nWKx)@hshB#pJei?6(M&vVS30%XQ zO^k^EqDBH^dw&fhLdbedCpXG_2ebu1JqFMzV@w5TT8AAtNbakt+Yu-z>H z+ZFkmU_hQZHAJ~KWb zq+}R3&VSge#f<`6b$c-4*NqIN+_;{WpF(R@0bo2m%W(c?#%G_)fbI}js2S&(V?O2? z&e%libpSB9T>#K0CRLdr0l-Gj062lT+-m@~#cHw1F+UG}EVdE==K|=D&JG4a+?9b~ zLk#<3(S4u6mTD~4=!^$bxbHat2d?YOn-bp1ZGUgzPkN%#A?>)0&`W6ro0$e_nuyBp zPOE}i4moO7+5>S4eV04iFph{pqz(nufyK%r2mm^OMsQ^MpM6vr=0MH-$XY=C6;%N8YzQ0bJ`C=&q=ndK| z7Jn~pY!Oe0R1cF(o`P8WGdHfTfp-v+nyL1(G$sU) z{&g!JfG61eF;CP0b<_aHm3TngfOxr}0GeeiW{3xL3Wt>{1DuG&R%P&dRK#ODnRKU5 zm0k;ubOn&~K!4d20o*=}bT}?p5GG6tdC;d(4#$5Dz=o(1PV8{~aMFX?JgtETseecK z18_i~B?JCMn3S(WvKSbM0N4;flm!U@K0Xz;xC-k2S_<33q;P)R5jvkNc7ub!WE(m)`|!e}@Q^mmNst4{s5FyNH!0~NrtDxK-B}u_9y$`5B6tZ zG33Pn2XPA!?+ALa&$+M?a;J!cJP%m_40zx*4y7W&v{w*%05t?|g-M>%AyuKgsLkep z@Ajk_=D?J}9R76Z9?``{k$MHB7g>QbbqA9pxz(gzC}6Cwe{JNdab z&w;#j@^l}6N$1+UQ=(xH0{-FW_c`^4?~t9RA!XP9@n`4e?T1RG*WLCXYAZnX|7aEd Z0?#fFmx^1gBme*a07*qoLj8V&F)Tn=zx&4@3U{-zL}lxS5an%rYX{)>H4xP zKBw~>ccX!XG6y*pqKU*@LRa+6LR2Ah=|md7^o$;VLCi0tZ=2?-vZ!!EPlo^>uV7qU zy>%A|O-lrTOkxFZRPbX+q3DZRCIEbv!FWA~aqSi~<5tKNpH?tlevWZf(U+GqAw}{6 zer{u2h8d!OjVDFCNot|bpu}(mZ`3g+90(gRjLj8{2qCKxom?yK4rl{_Y6PHC#+VFH zlolI*SW-YaJttB?Jv%2Q=@jP{v1CBOB3bDa4N{dCsnVMKF%>2LFF<_QkhB`cu*ZRj z#ZsK(cyGJ|K+8D}joaN;&)eAq!0v`5iQBF_9D8d3H1|eb8Z6KCyy5r~bKvR3?F7n$ zxHr5w1fcxeQ}0cnig?cleg&Wkz^E1mTn+YrcR0{t-lQ9B!T5>|4lA%{tNZLoNMV{j z;IKmiz}Jp*I++1tc(Yt+xsH8t$T!q3dto~>PZ6uY%vNi3(f^3A_7g4T+OtJAATb%b zOw(W~s+z`*CbNAo3CV4_SFEpnKuAH;?j3nAXEzFL)vewYThdaLGHod-K84aK1K_cL zWIx5&i$3drE&{4WV4?bqrB2z9rI_c9gkJlA2e)$o`s4{!#)uDiS8o8gfVkLe0JivQ zd81P{@PEv<5&-K4=w2ON_x!jm0{(`WborvYt_NGHHd~`L?2X~R-vPL`ZCBis@J?2Ot_5C7!{5x*Pg6%!e0LguCDgFUNu$*4d7}Rl#HRIh~&H)WMVVWI(+xRmy1Y2~X=WIaeID1i$y0DXT4Oo#-)j{tZq0}>d^Qg9%|8!U*&O$yoT(lCeP zz5-y4*9a$euzon{L2WK8;6bV({s0^hXi1N~<|gI4fGqk3!Uxtk5N1Jte1HuPxh*b( zy1x>_CO0XJoi;d79XMi&7+D1XOiF{-_|2K^h~ix-(=%`}zAGlXDexe|D#MN6j;|eu z_pz!mCTKS}2u!x1Q~eKbJPHf=1F{JoWeg_8B89$|1Sb`c)(21|*qB4g`bq7c=np_S zxnwhcT%=es2$UU=YlHNs?Ad%E1W#-gD>e+o3{%z=t00g{PaGj`s^JtvoxUW t>OcN$-(Pm+t diff --git a/graphics/pokemon/meganium/anim_frontf.png b/graphics/pokemon/meganium/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f95e78358c9998f30f94d810ee318e9f626d5f GIT binary patch literal 1453 zcmV;e1ycHnP)}SF8Au68Joa@p1v%BuhZ)GUu)_huCh0&}4z<7F`;r#WOkH3%s(Bl95>6Y9vgNLLbe1n5ZVw&p==L=F8n~XC}0Z!6>U%Ss{u-BERX=8P$-o1 z^$n*K2bch$av5Tq0Cof@J}AQfCBt;603ugJvArh%$PfLias6ewwK{L!{ZAYDVkrWc zb=oKvuODm_+nu*DH{6?c`#LnU)!CylH%zPJ+5Zd|dr8)5-T1#+_C5V-KX})l)&l8l zHv2wLfu@#()b%V@N(G1~t=ycIQ_V0dqA+e`Ra4xYHNMuym@-fbmvjL7;kHIX0Kg9c zc%%bT80&@*Kz;#hTnXp!J){;L=-he;!2DCJER6{Pq<>pe1F(YCpYlWx zP*)FNTvh|d67;VWG(ckoiy72_N#U~6jQ}?yadad29V+^jnM``4eXVQ3m97DjKGa|K zOaRMAv4-P;f-oT|WT#8x3@3O6z>I29t`E z*8317Xv_uW1oo9GD3RHY3*}-rZ{9tzsiXm?X7{q-*{A0+)F6Tle z+EE zQY%C0MRsVWUT=6Tr<&9X1yPg5!Fovt9jQ2*1!9YmoJXJ-{SLAlcBK5HV)(IJ!B7<8 zLR}UJBtCQl*`9EeSRky;bmACMz@F4*({Vxxk$~cZ{G>KdfV_0`wD-QEliIvdqEQC{ zfB5CynC6qW$jQ@4WjFuzW8>cP6K$n8z1E+46`K7k@FS)-%iP9<l%H*ohDNCl# z;>3Z63`W9VL_uReLigV3pOxzAN=o_$bNK!A-n)}5BlPZJ%1~uzGRDXqHfQz)rRRb` zc@5jMvx_^7Z9xnGSo8BUL-w(-SOEiI^Rm8fVv1UW5)+I~Y;<^7!os#?SF5Q{>26rU zvW>5Ex$wO}#Omr#FflYNf$z$Euy$-%+1W^ynqlFrL+L6H! zn%4uDztrI7@dE%zFMfEA8u(;bVMktv3OK|8w%OYySw)Lb2?$Z2lV}pEfEa-y6%Qw*qJR7qCG89o&w9_HMdkVAX={$S&F^DhU1=crEaOtiDIns0Glwfv4R* zVQ^%*PMcjoL+G5P4=fr7$C8Oi+8)EB`d$_%;Pyd|P`YnHN)FW=^#1h79QQg;Lp>|2 z9*0cMvEVOZb!i1&MEgYJyaFO}LSkO#C};cn_;^_qj21=F0QO8`Runm7bsLS9oU@p- zE)EZji?3MH96%;`a!Ru_6Cbi(15hlt*8_34s$1x66r{}zGP2hl>PX(>&;Bh5khpO@zmB2!-vOTvNLg+a=^*v_wfGlMm8pN%S?bh{2YeC8L0vR zdMm2~z`Fs5`wNdj0ZT!gEr-?e&Wbqxa3|t4&+mt&HALXJDb4~<5RIe#GOsV`vwRb= zi~D&Q_O;Y60OF1Y315|-fYUzo*_H9emL=lYm$xh9M(%h}z+rVO#@+(acwEwa$DfHX zRN(jLC;7QOxBo4T;Pa_oLC!M?sH+)3H3=YRod9r{11$73piAC723U|aI~?WU3y4-w z23RRolgvn$=>eo1akIEa!8C)fjsX}(Uk&Cw7Gv^N=tlu;9nHDx$NEn;>wEd?rs=i} zLT7-@=HmKV*2%4e$pB=m7oV?4h5ViRb88;X34yd=Qc=IpoR^(x@>a@BC=Ft!WP3ut zJzFQQ6GiJ~?8nzT6{%I01SN`Z=SY@mmHR{zs<0n}7N-G$Z%o;Fk)6Wa(V;*babDiG z%F)JKg|0|ZI~qzXH8|537%0QC0YGi8N}C!|u-*p^Swrb`#|#U5h^^Bj0LPOAVo@O+ z$vQE3T?SCb8ZuL9oX!<&Jkzsu`ZX&7LJh%v89@q-4T&m`scn8i2w-9n!c+2F0Jtq} zLwUD#*{P%wWn0DY5UtM6Jry}msdAujr7GxY@e;*E9W|qjFQ?e8#2R0?=DUwDry{^l sm2NZd#B|}-_#>qsKL%i^|Dp%|0Uuw<(Bj}LHUIzs07*qoM6N<$f>uVFU;qFB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/murkrow/backf.png b/graphics/pokemon/murkrow/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..fe946114d3780de0f151095a01331e2488b73c50 GIT binary patch literal 470 zcmV;{0V)28P)_|QNA0000000000Gp_#?0004D zNklj;bJVzxkrW_m*g(f04KG1_$rP7M=0Y+mWl{aN?TtZ|Ohc69x%?Q8!VcD*ylh M07*qoM6N<$g5#FSn*aa+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/quagsire/anim_front.png b/graphics/pokemon/quagsire/anim_front.png index 26fd56317663a4b044fe2ee17c7707d26c6fe8e6..3a2c50113987f1510a2f3eafa44330512cf991ad 100644 GIT binary patch delta 951 zcmV;o14#Uy2#5%fUw;FWNklfApZVj%pPJRXnteU74kZ^VS` z4b3wlL@_|H$pnb9ml(bOFu4GN_5pliR_I+~Bu>q|D0`L|oqq{CdVs8+y%d67Jq-Xb z*ug54BPL3rp`v8@@-6^SZX;kl03#%Y`CKwaLqNh{LMfHPC%c9yV>caU#*XU+1YMvM z9Ks)ofP>}TNT7?|e|M;ZXh*fY%L>shv42q>njl)>v*6;a0cKnPfr6+WAfY60PB@{u zP*4!L7PeH0sO`%kdt7sTF*-V2)*Nz~73nI8j2$=pPi0fC?0@*ptub&;jE^@M|;`95jbAJqs1SU3Bx>z$dM?mvCf#@CObJ%4UrK5e&Z2!Q$RPiY!?2#E7-3p@wf z3t@VN?+irzq*_1t3vhD#V`~~9sL72FKqB*cR_}51>|fTIXl(`r5xC9S4xl}NpoEKB z2*x{YN6MTCecQIr?*OdK2_u(+*ftNU8F|XAz?i_-rB%(yQ)XzyjY=5tca<47Q4%?j z_8nu5XU7CnnNi_GlpcK0M2AFNcY-(gLb!RfJuN9FgjGp3l#R| zsfAuZgCC(=mrUs!)bG+GMT-i-0{eOEFBXl&hP8eg80fNkC zKoq^i=te*N)H*AAT#T-nwjLmBR+o&Cn;`&g#U8&o zlR+4(H{gI77k|go;!Fi$fS6Hs-2w~BfUtt7KSM%M-kxxVWuaI>w^d2R0z){$&YaPJ!xe&wXke zzXV+F=E0IN76j~q7}vi8WQ7NmW%pqiVl0D*U#-`lx_>XHuz{F9Y^usc8#k}Y0NHC; zuT~DAom}qfm_2+gtLlsO{B2@ar)5P*X#wry)yF8SkMQ}}2avpalphxc;D;@mJ@Qh0 zT$odE(g0L@(C3-kmr0d_!Uk~gwx#Kt$*oNC4#3?VB6MOCCwd1f)3lH;3VH}qtweKH zJwXS9|9{JG2(f^=UP!Fd#28{t&`A@WaB5#*xQ3$!z;Fn^Dq&l3D83X20Pxu!IK^T} zc@mL`=)e8p_QH5Ef_F1P1MBC*(?fLres};G!FVwp7!D$O)vPme)H8py{i6q%v@I%M z4bC4$So=F2>UKLcfAj%*{wQQ$INkQnABA|54}UwPM``~2EX4h@0?Lpc0U%8Rc)bk+ zPeLeQd>h>3{^`ShFNOeE-~Z$aSOtUFw?G|=5)tX)I{^{Dtk=Gan4pwn9jB42SW6JIV}+q@4kSJIbu&*74Al zMrVA${#4o>A95kwUwNYAz!T;a5+n;oG)7M&_W<~{P{6V-odwCg-zV85)6+rZolqTu vXY7!9=tqJ1A>r-DP+Ot-Au;Fv3+IPl-@t1UtDJZZ00000NkvXXu0mjf`C+() diff --git a/graphics/pokemon/quagsire/anim_frontf.png b/graphics/pokemon/quagsire/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..26fd56317663a4b044fe2ee17c7707d26c6fe8e6 GIT binary patch literal 1054 zcmV+(1mXLMP)Fp!`aSZHWih+uf2s1N|?KrjFR000004{}y&00009 za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#7AAVCIv000AlNkl8nu z5XU7CnnNi_GlpcK0M2AFNcY-(gLb!RfJuN9FgjGp3l#R|sfAuZgCC(=mrUs!)bG+G zMT-i-0{d*Q8bTqV17-N$Gg3M+>6urdg?Yr3&2;2wInex!< zV#Kc0IxBiyjINos9w2L0myD5{Apne=ZbLaDtY8wF6eQn-08DiRqz51frLdlJLU0I3 z2rLL8Quriy@*8eC)QYy76$Cx8Qg8-;xCNYUAaB;i9=|!0K^Uty;D8wy$J63W1z~`g zQFh$|3(A17f~Y@3LQ&qHaE4`}SV82RvI%Qrh^Hz+2EZwyu*JOHLS=|xVjHtUh?cSn zJYenuU8BfOv&b0fddP)y6L1GMAm;vM31Low>TS<`Y8$@o7+$^hAGSg%$Npq*Uq>X&c*awijdXyg*2H=M+nmzJTeO#DRaMA!&d(h{Z+m}g|gTe-I z@V2Gto5`(A@(#e=9U^pM6DN8HE7P=)FA91HQmsUDRy{!nga6BK2(f^=UP!Fd#28{t z&`A@WaB5#*xQ3$!z;Fn^Dq&l3D83X20Pxu!IK^T}c@mL`=)e8p_QH5Ef_F1P1MBC* z(?fLres};G!FVwp7!D$O)vPme)H8py{i6q%v@I%M4bC4$So=F2>UKLcfAj%*{wQQ$ zINkQnABA|54?CnsY5x2y#Qn1Z%8(ubAWZ^zy$u6TLMUK-8{Fgm>BD|6h5%UK|Kti- z1%uePKplz_5$WMO0TI8f*S?FGqWd3v)c`?F0zp6`^JcXt%Iun%F=Jd;f!kah0NevG zj3{e_V7$BYJ0Fv`t^51|u$4I>XvvUn^PrlMr_2Hd6ZksUsu_9842`%|2_^onGQ%c< zTN8+<%$*4Z08g1ga;yPkcjGCuDtrUfo-#Ktqi6w7nImdT`?uOt=D0f@?6|AUEuaSs z?kckbXlb@WNOTN`@qjzZ42h(j0fRfrtmM}5(3M7Ke8B!x+8rNqA>3biqT|35<`fbn z3q~|gBliIKwNSvaE}aF*z27IPOWfsz;bAZ{K(@`a^LhTCdAMmlEtHLVnyA4c%>!~-eM~4+o6n_N68ie8)(GW5KX`C|v zx+FOOO&AM$eP@DDt@S%VDS6RPXfg%VvOFZvVDy{-Wcf3jb^#hHm6&bb0Bh|P^TPwc z1xpodUjAx8B%LHqL7KeYiVEZ&fx{46{%>X9gusH@eS~wXz z?f^sUBn1M{Hh(EQiXGSo0k>(nM+?4D6I2MJI@*9N%qjxUQkQ(A9dL|0eP;WJKr(DO z!Zx}`Y~U<7&j7slp^B&h;WfMp>_jWVx;%5@8VIR#f~hc-2yCbT_a%;Pz~@P&J)dNs zg3l=^xC0b9z^46scftk0h`TsjldV#@hmN}%on4(2*gB58lfrQ$1lFWM#1ygl6xiVZ rhw~BLRpkf8{{vc{ZCv&v{`7bOD2QrUklRDL00000NkvXXu0mjfvCqh3 delta 471 zcmV;|0Vw{K1gr#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#7BS4KAK z0004xNkl6l^Qve;$v&{kteFDbz)hQ%GLsIY98mB|qY4*B?h;Ng@W>?AQPR N002ovPDHLkV1lVh%p3p! diff --git a/graphics/pokemon/quagsire/backf.png b/graphics/pokemon/quagsire/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..a0caa3a26f7f8dbf2f2bc57d9f50d2a2db805811 GIT binary patch literal 556 zcmV+{0@MA8P){t*yyP6_`vw^@bC~25LgIcs8FbIFo1Yqn3!mwi76@nW_17n00000-De|#00009 za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#7BS4KAK0004xNkl6l^Qve;$v&{kteFDbz)hL0KU|OPz+i10PRQ zObs;#tm>pk3dC@Yieh#D0jP#d0OWE^0Ayl(;mfIs&xh>Kfa^`ld50z;@KC@4=5PnV z?MDG?oIt`7U+NV5bt!gn{no&`m*zk$5EEdML>?BDw$hx01%gl3}dU>~5s02}T1_6a9|Dz0@mCW+s+_fT`4qc*1#fGxbcS!k|v1=no6o+ToVk&{O7+h;Hq(}-md%IFh8VA9(ImGPva$Iv_pPW>?GSVEZ zt}@FVq%;^(r%I~8ai?PC%9ty>0(BRVwoRG8A#YX|K1nmHglkfG3L*49y*Kmb&HFt< z9@hVJIXmnoYb?JQwWHr3V-7NF3H} zwFA<+lmPTB+g3U-e^>&}*Y>{p5I^}CpxHU;tL-HI(F+3M!RwkPPcORQ$EolWPKXE< z5w0QVew7V@Au#%oZv)`NqfsV&2~;NWY>QZC0ZtjZr<3_~3pjJp2O?U41`gU!WdsBk z+W;9Bb`}~{Qn~*2k8OaygoH6c_Nt`C-pmx45R9>AXtWVH>24p>ao7L}=g~pc1ZZp; z9hWiw^b%v7AL5DE9pr!F_7Wz}e)mp0f}J}X4)W{<6VMgJ`^^Jx2=->(L1mJ?Lp!F& zyTEcW>f+?Qu?}1<3cIQp-h-xaSya~( zE+@j}ww5quu?@JTB?`dg)V7Z`Kv9h>j1Jmr7cE|FBqU-_=|X@Eftx@#k;0z8U%rTd zhf4pI$^1qpj23TGu}0I$2l-d}>?TvX5TohxcafrR_r4Ys2sBIjCz8dFQ`mxaF(E7sIThnd{T&0WK@vHzM zJF+&k8-a8lkHbQ|gQ#xV+eJBlE_Fr@TFIfxPGUU1>9ArDv-cIpF literal 0 HcmV?d00001 diff --git a/graphics/pokemon/sneasel/backf.png b/graphics/pokemon/sneasel/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..29a6650ec541bece32ca07186b23e67c07825b18 GIT binary patch literal 614 zcmV-s0-61ZP)7xV5XX};WTh-@h@2{ALr4*#Gp~TGMB*h(QRGT=LlIv3GF=!fmM&d+ zfHD*@=NWoF2TB|VwyHyKLb_k>!}q_#^ZxBG8o&);P{1vq=-&bkSAn~tn6$3}K{0{o zYKSL*kei=z>Kf6f$QGfQR4875bZiSZZUe323D! ze*=K|WuE7a00l@>iZFHp6oC9Jo!`Ei$wBLnDis+U`zT(vw`IvRvz7IWeWS^kjYywSpy;M1&07*qoM6N<$g5BH= AkpKVy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/steelix/anim_frontf.png b/graphics/pokemon/steelix/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..7f4dc508ac85af24b1f0466d94908ab4c34bd8fd GIT binary patch literal 1666 zcmV-|27UR7P)xX?H_Q26-xzyJW)*ysQN00000000000000000000k$YlD000IJ zNklCN_y{ z$~B>%x?56rzvm!u&kwc4d*a@s&y$Yvp6lNa>_4)7U#VO4>0d^onp_IaZ zk|rS2I+*B<)^`9UtXLi)EXq0+q88YOKk1y0AOVOm&822Tw}Uk^W0QMU`;3xy@Z(x zmxYWke*y5%&lLbMe!+Pua*uKiv@j|E@p9#=O`9M@)gn3kB)NtG*b~;%3u$dkiBhgy zBCXa?%k^-u<>~lMeVer_d7dkNa8}% zT+*>yLib}Ul*wMGhU(*^v00pr7MZQHM}QCjz3GZ_{1nc^@?tgb4I$8&i7> z=#-d!gw8;&#obwk%itukP@xx%jGQSf(*6ylIJ&42GG$)yYr|fa6S&1#C`6R5OlF4{ zl_$#LcMKo3s_gKdLXoIcWh$>C+i-gicui!g0bpg&*<|f;z?_k-EoEe~th7rST;t+k zc@?dq2E{mXebzh8t8_^;cE4@RB7MmJx6}Og329Ux+yusCVSdvW0t0rl8E|_~U`WUQ z@neAjMnPMS$b(K`^Dz`ejw+em&&;!a?&JP_ip9PR{0 zg_e;CN}}iEPGB&#GxLh3e@dSO1`v&`Z!Sgz20Ucy))GU3fe>X~-=yJCV4%FvbRA$Q zFgQo}sauIN6d0ugAkpBFz~Bhdc(pYyFyLT@8MJ&PFceaRCtrCZ0wY1NY;mZ|;DNv> zLA}bVv>gCLfl-(YyKK7YauXP!@5Bj=Ga4D^RJUDr6Bu5BkUgTZY8<9&?gd8T1Ozia z1CVA@_`~iA3~~Ykqx|6b-D{K&fx!`C$J^(FN-Y)AHPDB^AX<4qFm-U|izN#TasmTp z0-1MJa^@0u02z}L7(}zmn7AvF70MVT!~$b?@p>bknZ>r~0SqqBDUcUu7Z+4^b(;(T zfEF1rF_i;c|6tATHvK{eaNEQ{c|n?&XH;d;1MF24rM_k^uyUc7WiONs*iPEpLH|XY8_B!R(x6ic@vo|ikUn9J2gLl414;YaL(}V%`MNY@j?He z2C^e>D011{=zl=oV0V0a^yvQ+d1tu60^bdz^xu(pj_EK)|Bk!?NZsep2>mjq zo-afC@5me4C*u#O0sV&`E6Q4ZP0*pGZy3BRoA3DjTY&veCG?W`A2|O4hiD-xivR!s M07*qoM6N<$g7W$RegFUf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/steelix/backf.png b/graphics/pokemon/steelix/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..5d1469b1139e070bf30c01a1d8146d21f88f2d49 GIT binary patch literal 737 zcmV<70v`Q|P)W~b426vt$eszB^_W7qjzv^JkI@90^;kl9g&troF~=QB@?R3Gs|s)e zn4hV~M@mievn%qY8l%uOeD|gnNAG{N{))(MGrsqT#%UZ4#4Ti>V(-882L%oy+ra&V znHb)#^5+RS17bG zQ~*tJG7F%>A;i*&IBJz(Qk8yeb)SpKUl%*nk4px+qG2dihTIBH;oOZGFmN&>V4M`4 zsffGx!z3YRwmA1RHfx|Sfc9~!q4YullBh3-48+BQ@u=_QoExYTG&|vQT*ocFq(BNx zn{&`QF7rI*q-6Eq*{q(`k!9TWWt5HW0y*th%H0C;GSWqr>I+7gAs5f9cw@73NuSa4 z*dNUEJ(Y%!wE%-rL+!)IW#m$vlEsxPt~I4NTLtWRB8e-&*cd%d+bO2j>7m&M+{*rK zVCmoXMQr7JU>`6%PRMH!^AJb{&;d^~968j0d|2FaW4!tlFi#3q0WN0HHyP?>w$o8G z%v@_G<#>83%}U47R-NKBE9mO&(s|W$GV0ur*$Pw2L7}ooE8;L;USYZses=u_bW+2t T_Kf%<00000NkvXXu0mjf{5VWE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/sudowoodo/anim_frontf.png b/graphics/pokemon/sudowoodo/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..a88c9cc97c5f20bc556c2c54f24543e7a07fc94b GIT binary patch literal 1048 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/weavile/backf.png b/graphics/pokemon/weavile/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..632fbfc25733ed611bced7ad9fcf8cc57a31629b GIT binary patch literal 782 zcmV+p1M&QcP)BjE6vu_Z2ug0yzrI1zN| z7LQByxpCOW|@PM0bUSA2CA+CA*aiI3|FF z2yk_O>jIdGfJ-LlmyQg|0-PO3{B_>6@Xbe(1?Jk$FC8WD&{`m{IcZu@3DzXR=Y7M% zmSFmzc=h8x&xejK7$Q_GEfJ`k01`(LOQFp3^BQ1vw)vB41c3aqR;IRJDM|zc0+V_X zo=yw^NBB$uZYGb7RvDADNZ2LR5B8rD z0oQcP$QP+KX!pj0@$!a~jfx@!N__8Sy)3II!fQ(H;$ETN9-L<5?5th~hORWNYiC(@ z&^xP-m5MZ;V0u49U@)!$72sGgF6dNX0sa0!*K|m)7rNX;b$$;C5sH z+9zKx=`F^dBT!(5{4+pv;{7;&!xq4W3-I2>aU9Om8w92fpcQry*a_$Goia24y1lmI zy}hVor?n24`%lPthi)IowAuTSb+-0!=F-KqEq|d6ohZgc6ZkLUFH9RhuC2^qt^fc4 M07*qoM6N<$f4L;wH) literal 0 HcmV?d00001 diff --git a/graphics/pokemon/wobbuffet/anim_frontf.png b/graphics/pokemon/wobbuffet/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..571e354cfd563356bb13cad0a1b02e4966a8a1d1 GIT binary patch literal 1096 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 WO2#dM#ta_-0000 Date: Fri, 30 Jun 2023 08:13:42 -0400 Subject: [PATCH 037/256] A selection of animation frames (redone) (#3090) * Applin Family * Placeholder single frames to macro * Stufful/Bewear * Chewtle/Drednaw * Rookidee/Corvisquire/Corviknight * Rolycoly/Carkol/Coalossal * Missing animations * Grubbin/Charjabug/Vikavolt * Turtonator and Wimpod/Golisopod * Jangmo-O/Hakamo-O/Kommo-O * Pyukumuku and Dewpider/Araquanid * Fixed Charjabug/Vikavolt palettes * Pincurchin and Sizzlipede/Centiscorch * Alolan Exeggutor and Salandit/Salazzle * Reverted PLACEHOLDER_ONE_FRAME_ANIMATION for a separate PR * Forgot Pyukumuku's animation --- graphics/pokemon/appletun/anim_front.png | Bin 0 -> 1090 bytes graphics/pokemon/appletun/front.png | Bin 795 -> 0 bytes graphics/pokemon/applin/anim_front.png | Bin 0 -> 703 bytes graphics/pokemon/applin/front.png | Bin 430 -> 0 bytes graphics/pokemon/araquanid/anim_front.png | Bin 0 -> 1386 bytes graphics/pokemon/araquanid/front.png | Bin 975 -> 0 bytes graphics/pokemon/bewear/anim_front.png | Bin 0 -> 1063 bytes graphics/pokemon/bewear/front.png | Bin 684 -> 0 bytes graphics/pokemon/carkol/anim_front.png | Bin 0 -> 1006 bytes graphics/pokemon/carkol/front.png | Bin 785 -> 0 bytes graphics/pokemon/centiskorch/anim_front.png | Bin 0 -> 1663 bytes graphics/pokemon/centiskorch/front.png | Bin 930 -> 0 bytes graphics/pokemon/charjabug/anim_front.png | Bin 0 -> 837 bytes graphics/pokemon/charjabug/front.png | Bin 512 -> 0 bytes graphics/pokemon/charjabug/normal.pal | 4 +- graphics/pokemon/chewtle/anim_front.png | Bin 0 -> 10258 bytes graphics/pokemon/chewtle/front.png | Bin 502 -> 0 bytes graphics/pokemon/coalossal/anim_front.png | Bin 0 -> 1569 bytes graphics/pokemon/coalossal/front.png | Bin 1113 -> 0 bytes graphics/pokemon/corviknight/anim_front.png | Bin 0 -> 1429 bytes graphics/pokemon/corviknight/front.png | Bin 846 -> 0 bytes graphics/pokemon/corvisquire/anim_front.png | Bin 0 -> 1433 bytes graphics/pokemon/corvisquire/front.png | Bin 857 -> 0 bytes graphics/pokemon/dewpider/anim_front.png | Bin 0 -> 771 bytes graphics/pokemon/dewpider/front.png | Bin 564 -> 0 bytes graphics/pokemon/drednaw/anim_front.png | Bin 0 -> 16134 bytes graphics/pokemon/drednaw/front.png | Bin 905 -> 0 bytes .../pokemon/exeggutor/alolan/anim_front.png | Bin 0 -> 19951 bytes graphics/pokemon/exeggutor/alolan/back.png | Bin 833 -> 962 bytes graphics/pokemon/exeggutor/alolan/front.png | Bin 926 -> 0 bytes graphics/pokemon/exeggutor/alolan/normal.pal | 24 +-- graphics/pokemon/exeggutor/alolan/shiny.pal | 26 ++-- graphics/pokemon/flapple/anim_front.png | Bin 0 -> 1058 bytes graphics/pokemon/flapple/front.png | Bin 741 -> 0 bytes graphics/pokemon/golisopod/anim_front.png | Bin 0 -> 2049 bytes graphics/pokemon/golisopod/front.png | Bin 1102 -> 0 bytes graphics/pokemon/grubbin/anim_front.png | Bin 0 -> 629 bytes graphics/pokemon/grubbin/front.png | Bin 446 -> 0 bytes graphics/pokemon/hakamo_o/anim_front.png | Bin 0 -> 1418 bytes graphics/pokemon/hakamo_o/front.png | Bin 814 -> 0 bytes graphics/pokemon/jangmo_o/anim_front.png | Bin 0 -> 883 bytes graphics/pokemon/jangmo_o/front.png | Bin 577 -> 0 bytes graphics/pokemon/kommo_o/anim_front.png | Bin 0 -> 1994 bytes graphics/pokemon/kommo_o/front.png | Bin 1260 -> 0 bytes graphics/pokemon/pincurchin/anim_front.png | Bin 0 -> 1097 bytes graphics/pokemon/pincurchin/back.png | Bin 571 -> 552 bytes graphics/pokemon/pincurchin/front.png | Bin 522 -> 0 bytes graphics/pokemon/pincurchin/normal.pal | 4 +- graphics/pokemon/pyukumuku/anim_front.png | Bin 0 -> 858 bytes graphics/pokemon/pyukumuku/front.png | Bin 436 -> 0 bytes graphics/pokemon/rolycoly/anim_front.png | Bin 0 -> 951 bytes graphics/pokemon/rolycoly/front.png | Bin 550 -> 0 bytes graphics/pokemon/rookidee/anim_front.png | Bin 0 -> 878 bytes graphics/pokemon/rookidee/front.png | Bin 539 -> 0 bytes graphics/pokemon/salandit/anim_front.png | Bin 0 -> 766 bytes graphics/pokemon/salandit/back.png | Bin 478 -> 442 bytes graphics/pokemon/salandit/front.png | Bin 635 -> 0 bytes graphics/pokemon/salazzle/anim_front.png | Bin 0 -> 15414 bytes graphics/pokemon/salazzle/front.png | Bin 867 -> 0 bytes graphics/pokemon/sizzlipede/anim_front.png | Bin 0 -> 654 bytes graphics/pokemon/sizzlipede/front.png | Bin 397 -> 0 bytes graphics/pokemon/stufful/anim_front.png | Bin 0 -> 919 bytes graphics/pokemon/stufful/front.png | Bin 546 -> 0 bytes graphics/pokemon/turtonator/anim_front.png | Bin 0 -> 1505 bytes graphics/pokemon/turtonator/front.png | Bin 1159 -> 0 bytes graphics/pokemon/vikavolt/anim_front.png | Bin 0 -> 1252 bytes graphics/pokemon/vikavolt/front.png | Bin 957 -> 0 bytes graphics/pokemon/wimpod/anim_front.png | Bin 0 -> 770 bytes graphics/pokemon/wimpod/front.png | Bin 515 -> 0 bytes src/data/graphics/pokemon.h | 62 ++++---- .../pokemon_graphics/back_pic_coordinates.h | 2 +- src/data/pokemon_graphics/front_pic_anims.h | 144 +++++++++++------- src/pokemon.c | 24 +-- 73 files changed, 159 insertions(+), 131 deletions(-) create mode 100644 graphics/pokemon/appletun/anim_front.png delete mode 100644 graphics/pokemon/appletun/front.png create mode 100644 graphics/pokemon/applin/anim_front.png delete mode 100644 graphics/pokemon/applin/front.png create mode 100644 graphics/pokemon/araquanid/anim_front.png delete mode 100644 graphics/pokemon/araquanid/front.png create mode 100644 graphics/pokemon/bewear/anim_front.png delete mode 100644 graphics/pokemon/bewear/front.png create mode 100644 graphics/pokemon/carkol/anim_front.png delete mode 100644 graphics/pokemon/carkol/front.png create mode 100644 graphics/pokemon/centiskorch/anim_front.png delete mode 100644 graphics/pokemon/centiskorch/front.png create mode 100644 graphics/pokemon/charjabug/anim_front.png delete mode 100644 graphics/pokemon/charjabug/front.png create mode 100644 graphics/pokemon/chewtle/anim_front.png delete mode 100644 graphics/pokemon/chewtle/front.png create mode 100644 graphics/pokemon/coalossal/anim_front.png delete mode 100644 graphics/pokemon/coalossal/front.png create mode 100644 graphics/pokemon/corviknight/anim_front.png delete mode 100644 graphics/pokemon/corviknight/front.png create mode 100644 graphics/pokemon/corvisquire/anim_front.png delete mode 100644 graphics/pokemon/corvisquire/front.png create mode 100644 graphics/pokemon/dewpider/anim_front.png delete mode 100644 graphics/pokemon/dewpider/front.png create mode 100644 graphics/pokemon/drednaw/anim_front.png delete mode 100644 graphics/pokemon/drednaw/front.png create mode 100644 graphics/pokemon/exeggutor/alolan/anim_front.png delete mode 100644 graphics/pokemon/exeggutor/alolan/front.png create mode 100644 graphics/pokemon/flapple/anim_front.png delete mode 100644 graphics/pokemon/flapple/front.png create mode 100644 graphics/pokemon/golisopod/anim_front.png delete mode 100644 graphics/pokemon/golisopod/front.png create mode 100644 graphics/pokemon/grubbin/anim_front.png delete mode 100644 graphics/pokemon/grubbin/front.png create mode 100644 graphics/pokemon/hakamo_o/anim_front.png delete mode 100644 graphics/pokemon/hakamo_o/front.png create mode 100644 graphics/pokemon/jangmo_o/anim_front.png delete mode 100644 graphics/pokemon/jangmo_o/front.png create mode 100644 graphics/pokemon/kommo_o/anim_front.png delete mode 100644 graphics/pokemon/kommo_o/front.png create mode 100644 graphics/pokemon/pincurchin/anim_front.png delete mode 100644 graphics/pokemon/pincurchin/front.png create mode 100644 graphics/pokemon/pyukumuku/anim_front.png delete mode 100644 graphics/pokemon/pyukumuku/front.png create mode 100644 graphics/pokemon/rolycoly/anim_front.png delete mode 100644 graphics/pokemon/rolycoly/front.png create mode 100644 graphics/pokemon/rookidee/anim_front.png delete mode 100644 graphics/pokemon/rookidee/front.png create mode 100644 graphics/pokemon/salandit/anim_front.png delete mode 100644 graphics/pokemon/salandit/front.png create mode 100644 graphics/pokemon/salazzle/anim_front.png delete mode 100644 graphics/pokemon/salazzle/front.png create mode 100644 graphics/pokemon/sizzlipede/anim_front.png delete mode 100644 graphics/pokemon/sizzlipede/front.png create mode 100644 graphics/pokemon/stufful/anim_front.png delete mode 100644 graphics/pokemon/stufful/front.png create mode 100644 graphics/pokemon/turtonator/anim_front.png delete mode 100644 graphics/pokemon/turtonator/front.png create mode 100644 graphics/pokemon/vikavolt/anim_front.png delete mode 100644 graphics/pokemon/vikavolt/front.png create mode 100644 graphics/pokemon/wimpod/anim_front.png delete mode 100644 graphics/pokemon/wimpod/front.png diff --git a/graphics/pokemon/appletun/anim_front.png b/graphics/pokemon/appletun/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..da5c23eb5402003fdc8b3675e66c6be13c02de21 GIT binary patch literal 1090 zcmV-I1ikx-P)GF z2@yC}OwP-D9U9fu>b=k2^)WrhWKUn4mA> zJg+{k_t`XZh{kXb>1hykQ00TC1WORDNMc_SS-F_EC)Sb>5TTC%v zm#!0aao%tj8x;x8SXZ{`GIxGE`s}jXW5XD@9bPZA=ro{;{L*1>xRXxN7+iMPHXG#v zb+LGO8#e*KMXE+=2o=~xk9Bf^kyty30p|X?P6Mthr0p0Ox!t*Y<94>s7`t#H;Ku2? zbHKy&lo)O>d1B6K8t{KO={Tix08JAI)J_9sN{`g#Gy|9+LZ%ccz-kzVbUrLaA6F`s z$((L0Z@{>szg8++Hdg_q!fIt2lYpAZdRqaW$rM=MN|u`@vXT-yX{7;VLjrCDQePnw zm{5Bv%P>%I9|O855>9NC24ov6p$<9l*KmT6nF3@NK`jGu=W!%;aYzS;7;$8I2yys6RQv3CcX0#JAwgY^(9RX&@O@|pbe;e< z>>vDVnRXx&BLN6~wolymZ3`+=YG9EWn!z<>@flEtzaH-bZ;KvkxG8{5t<>bogWe1t zp=*q(ct2%sj*xO#Sm=;>a|VB^H%O}(?ng!4<#f48f5XJH`{xz2VVHQjOu=EewoA3`X{|o(tnEzpc zf6%HheDygCq4)=_r2m1@OJ4H)0|2iA*w66~P(cS>C;NW3e-IW#Bp^?Akm(;HfRO!% zHuV+%kOl}L>l>7wDAWHw0iHz%ttXlWtb`boz3L)>5@NOWVpl(!AX|!mfPp^ShtP-l zZkp7x6#o!A2oX(sBFqKy{KP*r)$zqCtmB?{z33mJr~z;X3u_tvAp%Up6C*y$KSW(3 za2FnK23h_g0&1{O%kd8qK=)dne}KSpSMvRXF-@@a5C1Lx0yCnd=9T1H^8f$<07*qo IM6N<$f+5|>G5`Po literal 0 HcmV?d00001 diff --git a/graphics/pokemon/appletun/front.png b/graphics/pokemon/appletun/front.png deleted file mode 100644 index b33eece6de90cce0619d6247991fd27008a3b974..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 795 zcmV+$1LXXPP)3H00000>fWez00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2LT)fLfwyM0007hNklxFN{J!zj|vJZ}LM_ z5uiprANZgThW4mn8)bcPW7mr|`hIX@6(7Z`&xHmvQFnR$Nqfe^${{-LJkr^!Jv(P0 z^amSjv$7`N&j53_vg5KQ?kVt+vGHt7u-djYWv3Q%wsh<$#a+ia4Jr(#Y#hgQn3Fw@ z8C#Ag%uRreyFQ6%cd$#mQ+MKaWsA;yX|Wbt{DteHQ z!5*L{0dWf7-|6}%P=iJYm>P=Sy#}fp8Ti-6?`IuFa*qneL%{Pq4zVsSX*eRlLGu7O z?hhL8Jnu0H5M2`XgsBOkVt&Tn93XXBMCj;TKL8aCL#G}T4i$(~ zML@X+4f#K#5?fYi^bX2|$WNB@$Z~t~n3JH9r8u=w&X5f)E8pmLR5-~ACH3N2PfGt` Z{ROD1TnPaKt&acz002ovPDHLkV1iaxSP1|C diff --git a/graphics/pokemon/applin/anim_front.png b/graphics/pokemon/applin/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ec38de2868bf8fc8651ffa04bc26901cb11b8b GIT binary patch literal 703 zcmV;w0zmzVP)GB z2{jV)eQPcN000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP`?Q21zY;2=owz;Mu*P>4V%00000001CB#r6OI00Cl4M??UK1szBL00HAk zL_t(|ob8sqP69y`g=dltwF}0cffsP$0gzo|;!kH|M`0Gj12Dn^=o1)2PqN8CX|=PZ z6^tFF596H?sP+trcDg5Vn)5k#LN>V{V^#iZLVNHK_FNp%S$Ah?T*ZZGVxVacKfog& z&^=|m6?=g5{!zVsiyz4k0^KMStr$+QuMC9{Jq*O6AzEGBv!K)HbUhcaG(Ne%NC&u= zPtT7Ja*T+Y+-3}bp`5*b6X1&BTL*GZ`q0LF9pG83Z080Z2WiAKg3|&hVh~ z&}e&rder36d4yj|6(@nfKwmWb)=}V(5jcUsJ^8^g2}BR}DfxjOoDuc(*_K!(=NE5ICS9BT@rfPmvxds|Hpevho?*knG5^hz1^R^GF~(DKiXUY!Ae-8g+HiWq%z0quTm%zFpCfv#}=ka(;% lxi%jOgBRE-iLb3vlB zSEK+1*-JcqUD=u4)IwxUQ?u%g z=7~wHJdp-JuUZ^Bm@OV4)DmtzVP!+=^_juh-_}GGr*Za~9N$#^ecsjG*XP`;JtE+q zQ~92)+4$TJp{eIH7krs#oIa;eRco4cy2FDm?sq1fL4~aGj0Yb*dSn#k)5m1Pz;NM4 V{pL^=7ei2Bdb;|#taD0e0st9Lp$h;2 diff --git a/graphics/pokemon/araquanid/anim_front.png b/graphics/pokemon/araquanid/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..d6bff38c76b00c8befee2af60f7e222dfe03be1b GIT binary patch literal 1386 zcmV-w1(o`VP)G4 z3^oCcBs|#w000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPjmNKk?aEy-0~NsQ&%AyzQj)h+a(AJ-hD zsORE?6i7~jc5P~?ZqB3(LNbX5Jgk z%=e4XhZVYhOP&xNCG;bwuJbLP!#x%o>2_NcwAd)&MC1z++fz01CMb z6hbAiP_eF4hzzBN5=bOT+&S-&W)F)rTbDqJh|c34Q%?PmW*Ze*_E-Gtow&zT)@dKo zQUqYKNua3!D2NsqZnkNr9RXByo|yv>V$CO?Hp}yX5dcMa{oF=KE49ld0cd5c>n1U1 z2*4sZ4I4SE)W&=ct!jzJXb50<%Q_v~v2e4}EO)!zW?nQ#!=^F3Z86qtm!S-&>kiMm zdC?f%3Ri_u%6N@Hl)gV1j9gdLo#9_aIE>X`?M3w5;dmqfBLiPWXwNOJrY8+b?~RDQ zKR$QeqG+KK0WIV})dn^0jnC+B`z`?D&#OESYN*zb&i`qX49A1Xxy8n3I+rjqa&A|+5&_P&46#x@}_X2pgKX{$-Eu=Lp2|P2X+4CXq zo&we%56+la9Q-r}zJ#m~%&G6XkH#bM8Gzj@i`NKi=!;)N6%da`XBjawI@tZO6#)0W z3qC(D!}a^W7!o)Q0QxrvasV8=C*F)i0KRr-@Dc#$VuX|POYdO-XaeXX^i%+&3l6x$ zp(lZkh5a4?Jr3kX7eDhNhnL>;k7Zz%r1z(Pj`$iJk3DZ%SO)r70IvW3c=&5>`Vjut zd0@i@fIfZz`{;OhnVWu72=9Pur-f${NI%Y9K!*=Jf5x}gB4F{8llFs{6~Y-%^=b|< zN&5PTv2XqB0*MY>6_(iwfg{*$2ark!69ngJgD-Q>62L3i#2nz1JdhiFnInLS3koQ) z-NW-H)*t{dKYZaeM&)_q0EUtJ(eVr;$_oHV0I^~)hRiPm2s0jY7ws~z5+Q)rT+T7D zHf{&jj{Tnj_?G;~P{&9A5cvn&zQsQ@8n%6-e}Hs-M~b_`KcG)+CldF+u)g9SG@I3> zxX*O5nOyP@b|)71S9$ofwd5b_bK?FJU%1Uh|6o6v7xyF-XcQOx!-BZ?c~!JH?;jS$ zy>A9U>>rlIy$|njoyGnkzbx*>K>ekESP}O;@4%M+;X7kR++he7`-fF=x8PDlu{~H3 zceutexT*+vW-7!TIW_4Y)`)ve+Jlr*+(GqXKqc;4heiG&r4)Bi_sBn_l;RG6^bbmL zhs2zJP>4G(Liz`lxC77%{X<15?!1W5KU9?B&c{9o`~#+@Lfm1B5a^Q0DGVo zcL1(hA#g;=s<=Z9r>#)^mEtbsJpz>C&IgYGOC|2S{>UC!DsczE-IIVq-1!`Pk$*r6 sapwTLN!*e6@&612>U@(ze>nR7FWDPMZW-YEHvj+t07*qoM6N<$f@tb)=Kufz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/araquanid/front.png b/graphics/pokemon/araquanid/front.png deleted file mode 100644 index 2bc81b2f020d57b0f03179a01eb1b26fcb22e508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 975 zcmV;=12FuFP)pF2XskIMF-~w2LT)qF92(e0009rNkl)B_mq z5=Omf=(tj-k6Zki5x*>ULSQV&Sl=3 z7?oi#R)*foXz*^|l0em9R7Utf50{mQO6jsil+Avd^Rz6X;DahMAZwMX%l#AjWs?Jt zFRyUm=1?jlMZD=a>GnH=!8w3}02_t62lNp2fweOD`hpj$van*dDp#oMuwNF#So6zgSC7!JTXrR1G`0UfgKw*$J8Ei=TR#0?KrBa|-M_9f>(ZTq6LGC1EEp)ge7 zB~bzp2XG_7Uo#rPs0LLz%KLkhuXz?R^M0|j+`3P=Y z(3Vd)YM)2@kXb6zBdLKoS-7|amZ5oUsbanXM5kg?~^b&B{0t^{q?J#YxSZ3m`e?gH+4niFkq=n}k# zO)P*=!GW9;ZT10^A1F|AyL;zN_P_;L96s+eMuYPv0EQGF z2`?NgiYui6000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPo3&fvlFLqO|-6i(>TGpJkFr(daT1$qWw;_PGv(&b%MNjW9 z(wz-xK()Jz9lD_bJxT}Apw#zH;bRvA{LWq+$0xowGyrrI5kl5Zd};zj9|*XkM;c&L zx<^!rm2@#6BA0}$N5qBY=m2;`>wZKoM#LQ=4ghSEb>?~3hlFf~7+`M`7u>HTpr4ae z=Ab|k_Sj>SFf<=U|&jCZ$U^(Q34yivP0G#3g z9Dol3#N9Fg#0$e%9CmC1h_^+Wfvj-gd=_w-_t!q9$T_@9e@^>pnm+2l4SXGCZK%(> zK((GQflAdSW&w2v%|jEYNeF=w^YkL%sqQd0Q1*~}mb?Tp#=&(7SP_?E7xrZN z$H(#-_`51#v6wRe9;PD6YEX6%1ha%f!k7ZcDbrp7(xQ79C?Gyt#Q|FZ@$<9x_$fer zBxldRwWn`B0CC7VQ{b2We5;PFw#ks^zXIrOIB)LH0FLSX0RTf@JLMcWpmzsd!0wK5 zz+(O#QyA)C$zM!h_q(`2fi?I4x?0WcrG@r_36Yrr(u32=vP8W^W|-y&x}*2)YJNax zcR4?xKsi6)K#?Et>0inZdH|8}K!gX#5H1!#ga?F&_ukvx$Q@!101)zh|H}Uw!SqJ~ z$PZ%t!*JgmAbpu1s0t9cLeCM)?+Cy}BgzMdu$~(KIAA+Tn)FnDI70t)D``4@q@m0Y zC?MaR-$pV&V8Cnn_WdG%j~D~g`}={I03|R5ka(a3_zVChg(*KM2hPt;`N7TsLw?8{ z9*W6W1NsUm4YsPp)S=%9Kz$!9 zpWQeBF2x?Tc<@4?u+Z{D24oU?e#m!f$`8d+81h55(T4n>0rmW#EE@8IwgxRfWI#iH h$Q1tPhkrdk`~i!ul-Wv}7F_@U002ovPDHLkV1gWr&07Ef literal 0 HcmV?d00001 diff --git a/graphics/pokemon/bewear/front.png b/graphics/pokemon/bewear/front.png deleted file mode 100644 index f9f447d4d144b9f3958a9b2e153a111ee7481555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 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 JPDHLkV1oNC^aua| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/centiskorch/front.png b/graphics/pokemon/centiskorch/front.png deleted file mode 100644 index 61018aa601e2960adc17ee4143af59a32dc54a1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 930 zcmV;T16}-yP)AP^7`C=eLHpaA&r0ElQ{rPYmR00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2LUY&idz8Y00098NklNd>oi)8O8ZUZ?G2)piHliG>lTv~*T z8(Yq{vD)bFHRB?&H}OMOb$44ub<;lW1t*2X(ipJ5;Z;@t?wa;TWFHU1s!GEAEUhCD^T|IgzqFSdsa5e0{ywYxFg7H~)rOiSk{M(zGn{O0T0EPk^Dk&Wi zr0Vu@5CWfSU|oZf_ zs(k^xI{~0w9)fs%ax4x&)sweg8UVQr3QE)m!Dy0SdPs<~+wdgNAp0Pp^72dHOB}nU z{CK>!8x2Bw1r=;dl9RyQ5y_9780ZKIt*LVxJRoB-ayCL6G9ZDrgJgc$jsV{jlR6en zmd!!}FnL^}A2uN>6uF%MxKs;8?r;u(aDiIzG8qS=&H5vuJ005Cnz>y)aWfv@tBOkq zE(sf_7ewlT8!l!mI(=2cK`qY07*qoM6N<$ Ef<`x!761SM diff --git a/graphics/pokemon/charjabug/anim_front.png b/graphics/pokemon/charjabug/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..163ab2ba2d9d142464079c8f3e9ac7670dfa0799 GIT binary patch literal 837 zcmV-L1G@Z)P))`0000G zbW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs0008CNklvE$o426*l0mA_A|F+eU zY%WRa3%h@I)+dvcX*r){IZb=qbxlo8P5+QM=uf;3B2kSQ_q!mDm&FJ%qw_+kfQ{EUgL=00e%Yb0vJc0_zH;tX}%aB@*G=<0I^m8ygWH9 z=mtm+(Z6N`z^?$&8-SC5ZJXzr%>NCbpAxBEaBkbSUpkQHISW|z)-VHl&GQL>mzEqr zv^v`b0qBBe3M)_mCH);O%R-@peP>CO#c5rKA?IHQ zrXBX(%ew|cvCn7y!J4!Ku;SyK{Eo*iRhKw<oM-11C zQUvbhFO1SIPN%zH6)xl!zu#c`nms}HGm08(R+7AkgMrH0XxF?!MFp`xzA6t`X#SS zdt_Vz>D(!?3t7`oXhA418%G2X0O{O_=(=s_V3+4)*_i`?)t)>)(Bw$0?Mv!1e+*yQ zV3|>23O%E901O)bD-wLCx8MC;WeUcI*v35$&;y(Ki8nUUl6zBAQ-yv2tU4j6S=-x< P00000NkvXXu0mjf7SV`p literal 0 HcmV?d00001 diff --git a/graphics/pokemon/charjabug/front.png b/graphics/pokemon/charjabug/front.png deleted file mode 100644 index d2f1139c55065bc29ff683188d40d11efef6a8f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 512 zcmV+b0{{JqP)00000HPhQ%00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2LUcD?H@yX0004FNkl+E=Y`Bfdxj|F&n%~&k3lC z32B!u6*okQ{!c#JvJ(W?y4K&8;JTcKLSRI6iG)HCkrw=@6hb1nkg7$PX9Ox2-Conr z6%`e`m)jmS{ahocljuGY-Iqb0>4L=lUR({1E9mow@<2$Z!fu~xLEfVlsNaDI?rMN$ zpjzHGMn8b(7a_j^MCV{UN(!U_i^aI;+HBXB20x{Z)YA7t9i!R>>_ z_NJ4W@_E^?^T+FfQkqq^n~7f2k9aZ0)!euAT*ICML>#zNKvYS3R0wqfFK>D zH$j?oQ99C<8`N)azkB!n&e_j%&cDs`WRW@Nc*lI#nB$!*Yewtqs!@`$k^uk!N)2^o zL;Qbv{3jSlh`(yQz?cI7^dJ0<&9H{HI1n1+;ec{Qg0OyQBnat?asU8)$1BoM7;Y)5 z@RMx@FW_32r+PwcD%-owrLLqe?t5F6sios7Rw+-_L5UCKE2K^i_PkGKuf&^OgA|P# zJX^X#O{HUvJvn6U?VZ`)-ahDDm)ktLKesj~B8%bO%&>k_c@T6m?|ZNt62BMu^=tL# z^*7DmWexVFH@B0q$hxU%!KArOZ|U0m%dLKO1-Vu0_iLsumBrWXcuXI7nXj*Iy*|QZ z(dJ*P*1x@(mvFpY{>CI>Cv#xlTn@2PE11{#IU{MVFfU$!HbL;ik?-#JBft&Pt+v^T z`2Lf?uSy$pft-4B&1FFu1>X;;vyaizH>@uP-Tb%{v;aF^pstVHAM}};-dhV=_gi&e z)Kvb=W}sKn)Q0k%1J8dtFk9%~ht#_FA~u$T{J9rCq+gfjkEQA8^yZ4>aH#$$-OChv zVbRxa4z3#W2|i*J!);;su#?qtZ>q!<$bTVsA|QCbeZak8zcA~hYiE-t0j-o)6q zB%4?xhlfqBBXkI5Q;N(g93~^WIdJ2B&Bd=*>)Re)swOnb2<$9;k{Q(cfcg0(c3Yro z%IAm!7vvyN+qK))Hr;OF>nI@mVBl!naRjzvaRgJL$z)iFjcs9X_cbB{V2yitmojpN zpJW_xrCdo=VOnTi&5BKY8>q-H5xBT!x%l01%Iee2%O0D(!b|sRPE;1z3ytQ6Mo=9q*r&2?3=i6a&~ z0ak6%gB-SE1F1MeW0*_5tKS&d!olZNv*x6t_V#(S*9f~tB9(a37X00C+0+?U?g*>> zOA067ygu!{R1B}EsK7}&a#$Akc$*(xc*DO@5@DPDg%qACwYUO*KSk(EUEC_WMYI+f zi(npjAJ)BoMGV?T{Ysqo`!^)VO8Bs+bFMd`ie>p zj0d9+%woTKTFO>N`_?Q?V0_NlkYX+1p2g#j#JUH75U^?bbwUZRZ{3Xx{^C+Hi2Lcd zuJP@$qB5vm9hU%EwwfA>&@*uLX*r zgVz25WOIOxq?FAMcRp2$1!PMuP9QT~nhSOUxs&`f&v|-X?0upHCp_G9rM_T;xIYmV zW`bDFH+%fF?bQ=~=jX@1IC7N(O%ImI`%C#JljS6fplPu~jt}t6g+yWD#rpg&iz0L2 zIYrJu(YEN)b@}CJ9di2(y6pP*qeYI1Ff4px%aGCe`_zKg|Z1F3|HF`(G0HoMwcp~@zL=D3E5 zYmzGdU%qs%%LteNVd}zWsRETk7wlYAprETS1WoT|L7xp6?g2Dl`mIP5pRkJTmyonZ z5gxZ5&D9^hpNu1O2Bn`T3Q`0<<#{b|Ykf%kL&1|7(E@me>Mi#7=L*7BsCcbA`Cdj0 zUEQ#kkA5>9)kk^u!`<&xd8V05Spt`EFS9al1K!2K_HV06tEphYuVRv!$NA+-W9d~~ zhbx2vdb%xWWG1EtXr-(PB7JCw(=qAt+?+tqED1ux+zoZxo4)7!yGrHeUra53E(g3N zl?1;cd-sN!h8qZlYgoGJH?L?%B(v(5Fmi;Rv5VrKK#bMuPJ zX7HX-yf8F73d+$jmjEqa)Uc?$y2q>T?$*-e=yX9>P3^JV7upnHT=_!#)wT%tUL~5M zm^|-(;2kqSE$F4q%j_~1LzlZ`C>gWvcvnDYY?RhBAG+)*@ym&f=~q{7;?T`v3z7Q7 zQ64_c!Fpg>HJj@>a9ssD94H%U;ma3p5zearl1ZLZalPQa_-K^l*RaCN-vEu>1l4rj zXoAZVWl$wPBGSB6!BvXQhyc(Vva4hX(Mw1Z0wJ=G7LK{K!O8kO*wCZ~%4@YfvuSy6 zqrAY!J07cdiVlHo-Q8g)DVg?q)!=s{6C593UrD41*rdA`p#UZ&pEq<*^{6ELdJO}4 zOxfs`K#*SkAz6S+&VggLjQr8tn>dP>nU#Lh@+x;Q6w8#eW(wy*B~9PwhUE@y=r4mo zj|a;6RU~(C9}UM*N8!^GsZ9oA=ot(HBnBK%#Q(f4fd(@0$ZcQ6gZa4vUEc*8fr2mL z^pAIhRi2uAA}Z!t-W&Hs2hkD;4zv~y%|{jakg7*@-e}>GBeD&CA9(3lJJqr^L4g@6 zj&2xy>FrS3c0)gs>$O}Z=lkKQt9e%Z+)vy%fAU@D5xQ*zDWk!?@F7XfiUq`_s9jB=&QMvSxVMM78+;` zj-NdXl9)&A)b}cFk%UkW$P=7>6;s=jII>2zd1pj$S}uT8#tPh0)Y>T;IjsP(r3qZU>-ha2Yc!oD2m} zP&qm06KHxj1$dv%UU{w1r2#A^L6)vUaW28e&_ZX3psOV1qDfW`^*J!d3@Y;DCs7 zMmAYCIJD!eh8uAL=Wd{trI5wF>&Ex+zp?WBe8SG>N4NJjDCH6ld2=+swO}wcJOKu@ zYuY@8MO@M;=9V}o&R=}n!B-5pL16ispGlsP>8x=C>)25{cq&n=Tq9OPNiAfB&t0_L zdMYtbbvbFrRQkLLuJ=8@35L5O zzH;fnh5O)ue>9JU>@4&0bX(&CM~g?i&x1FqWU6ghI|;_Z%OCp;1-ZM<<(Oq%u4P=L z3tEeCdrSl&Vk>T-%;-h|XL&y_U#ue#)eE4JYQD|5RaUgWGO;XqWq9bU%=WOh;$ub6m9!Z6TUAIlixXcX$ zu1nUDEJkk?(T8!n0g{cDvns5ph#fQYxiZ^HGMP4XuC5x1p_@w>d9 z>acN8>~|FJ^cVHr1_TpjTM6Zh^TuGqjS8%Z>#bzPZ|$;qJc~q(tc9GYfS9p1(ZGE8 zW1O}P19KRKLOe^^fb@#Sb|dMW15bdDu@QmLYSiPcQY34?rYQ7w_v)p(h~{THSxD}5 z8%O(D6(cP%01RqlnL|C@n^%*X<}I6`umRQ`-gH!qpyx0y%@Ey1Y^%+C0T13Wjd9mL zwZ&$Vua@|w_l{_mKGJ<8r32i_Roix6!+zu z9%yDQw3Rq;4ZJ&Z7g3+%(9|Mtel>c!($fHtD*N9yxa=G3RQ9 zD*0BQ-mrE$U2M-6U?khOP0*!rMCmxekH1b7bJV#8ul$fe#*vP`E>H8HFQ`79M3+SE%7Y*?<0gY_KiJrDC zeVnxUNYlXzYfsg8z0;_nLg>;>0+?^=N+7kACZvugbt=nRSz327L8J|C5NwZdez)r7 zkTTCCqUe8Z#Ib5$yOUcTC^Xx6T-q_1{Y3kIf0SSDWo2gc5N)7yxV|SMjcj4`9`5ja zjNfkCHffDgXrS|3%S|1p6&LM9G0X+_wDXl=G{m*fUA~17Jjl&$Wj1I`l^jF0$Ix%| zS5SoM>;bH46I8$U<#e93hL~oNKIgazeBQn}$AuEd+~R5*OH(QFV!b&|%iVGQa5iVz z=RuZY4}TWQjPS6aOo!e_Y`$8Sq{>KzBcE8upgH^rP$RjTmgk;);PqQ88kI9W5JqU! z$G+SC^9#zk&jK%&RXI(y3tn1*uwt|}y}!0+mJzuWgmZotopj1hvIAQC*}9axTbW)Z zyUw5T5a@+SHz|zMy?LQW7F-GCOAEW|cy^KyR^WWsl+FL4lxo6EW*lIESO1&y{uwq^24=$rMv_;V#RnZe z1zN_IX5VgM=;BCxm5sA5ypr&I{?4XJ$&Ps=Yeu?4p-y##Ze4!A%$VmxNYDxs=PhAJ zDr517Jh;PSif_0TOvj9NH!D_&)H<3O+>$O|zH%}?QpY`6!8HZQ)Ndfql#R{m%CMoK zFO`bPDN%R#=aafl3$3m(t-4%ex~}`W2h63~JpZY@&@CtCuFCFUw*K`1(F2Bigf79d z{xyU28ZuX@2xvpm?8@YBgE31CyqIHh2nV-K``rjHnf|xqbeLr>bN=?7nx)4_Zndfy zZ6%vXhr;d;#y8B)=WO0We`4a)eNwxapRf@9P-h|Mh^niBluYwV60vZ*TvM!n$s@5T zQdSuICmHH5Objaeroe3{X0|@xm$T-VMJ#-7I~&Y)q^p@<)O@Xyu(cJp&3TnP$6xG| zezu2BF)A_tQ{CL2lp#2!Sua4=+4iZyBS^=E(Ir{eHlA7Q)yDJ}y*lLD%P79hSMu#c zMWdBeYiGl??wQ0lHZeVk;# zXhE!4X-A=7-Y`|?=i4>#>=8zCl!{>FWGccGPTNWbToqQ%iujR8S?^+M`KrJ?4jOYi~$Xa2M4KU(w-D`yBrAm=A@< zB2JI_WNtT7216+bPacHQT3iqI$#}ZZ7*Bi@qtE5q!rW52UGrMNsGg-|VOVWzL-6t* z&#oC8xFw4=(CFUSt`oIzas(T2!(zFQ}$lTsl7-NVVR+iUP^U0Yi4U6Oi$_YdjxB~ounA3 zEA7yCHk$Jl*2U9c@X3ha1G!-op+F@pVJvy#WA7%lV>h5iUq9 z$PVd`lTXXPeET>w4e|KD(L3+ZxLQt6`w!n`^yL~WBh@; zpdr%B!yAJ@s`wz?vE08;igxw(`h8AsFXU<0kGx&&9R%@7{h0ap7&Q$Y{Xb$(WpqTj zp?^f2qJKx)BmTgly)mvoF!l&Rq$|=5pNJQpS?J&J`1n5p{_=KykpB=$QrQFHeafPt zECW7GK+@g=fwGtU@zu^wNCFPCa}YpEK!pTECGd-CD{f~mAcBC4Bj7?}_DBTsH!2Nx zFRZOQ0(nY>Cx@W$JVH=WA()uBC_Wm25D>M4+6veq;35Jrdl9I(n1h|Io#^irdKeVm z+P1F0XLU+tkEe2g+6#-?3W*9h2;0I0M1>rn0=6Rd_=^NW814WSv2$<`|B=n9u#yV; z8ZuyE2=vb$eOFtog9pY9UoR+kdk>t~pF_qdH>45P_Ea_@aS6PQMPVZ15-<@l82nF= z2@>Ol_w6aG5ELQ=`!QmVkW|HU+T#6#aK|L^hq3H^gb z0fWVPU|jStdUno81ol7k{1x~QCPVx-<%PxgY5W&A^?%`{e;QLAAM1hf`)z(Br037p z&%MMI^+PHU=tuoZ+9FO>lmUC$`XKFpECF7}pF;>ITX#n!exv+VCI9M2{e@vgMUgO= zJ>KMS5&T8eUP4sB7A7GkfW+G$2De2*g=~L%;tzH&4+kvH7K2o9#Fr6%o$*EVW1T^~ zzkGK2-?PCvAx}*N6&4YIiU~}ax#YBv{ulp#x$l2*20ZmYll(1x z|B>q-x&D>{e+&GNyZ({uZz=G%!2h`Ge@rg2Ki`#+?)cw*IQ*ONz5^={{w*4+uWhW7 z+Lu+Je{R1W3UhMm3#RdX->#pPN<%}lzrPPtx3NiWXh1`qU?6p;)Q#n+>MVT{ksfM% z>=`>PHDy55Sq^o4gA}c9?gapl)1Q9M0Matf;X8@38agV(ON8vClrWOWH6Z|ifI~xB z!Pu;6HATqfgFHjq1*+K#N?+cux_jvY+aPt6E|kZJA8JcyU&*&yP}59 z@`_A-*~dk*M{eH(p&lEYDlB{wFp!W^nI$oSk*nKVo6J6$-cH-sDm5x!-{U05hGw>% z3DT$Dap4;xOctXeQegNpdn5{v1rgj{rT2}x0VG+y=mxM?3+2iXCu#Auyv$ z``8iigi$_z3D9{jIsoda69NLR$iq$F%+yK3PjBZgTZ;Vl6s^xD$1Ee69m>bEpjPpQ|@;QNNMa@S{+y8wfq zx7p&q$_WP^}G?!$Xywf8Cwpi z?zILdd|uzHO3=Jjf2{qvgswf=+%V!yZ2Ag?uA@4&eeoBtsLyqQ4>zr&2)MwJ^ZeSb7`Q;}Nr>Y<)uRFX|Np~>AOUKSewZ9e)^|0u zEfIS}>3xTVg3Yk*z{flMfVj6S!vElEvq3;qpx&o@n!(~1Pxy0(Si|{FK&wLKH=E^* x^Y%Y+LO;}OQm492?nge;nB!zU*_dvnessK(B4Zsai1!XaLq%7)SkWf*{{V^OL#6-# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/chewtle/front.png b/graphics/pokemon/chewtle/front.png deleted file mode 100644 index b121a2c7c475599750beebef78098c1f8ba132a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVpF2XskIMF-~w2LUk)g-`g700045NklI8*T%lt@I|@#IgcO_|TGYAu1kUcs(7k$B zbjwSI4kGjox4a+k|K9&SxJF|ae-!PSeAC?)=#chyK$Fx1ZjC}cP^od$BR=Wkd3tr> zgAWwTTksQo1n^9fGk^h7Ac_GZhL^Cy38g2u1}HD#h4%oX3c%qBfYdU91H&?x4}XW~ zxYa;Fh*JmbmjajIaorya&U*)?O?Hh1gBYT{Ggy2IK#dwjvV|V+yTIcz3Hpi^6WS$o*kO~7luD;fv5DJN2ex#IF2_#ZKA;SR1wK{{* s1nI$=O7p}D+m~&+x0Txc2LCj^0c{F)vF<+Gt^fc407*qoM6N<$g5l5CqyPW_ diff --git a/graphics/pokemon/coalossal/anim_front.png b/graphics/pokemon/coalossal/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..6ae1b3259945b812dd87d0cea441d9f0c0729605 GIT binary patch literal 1569 zcmV++2HyFJP)I> z3Lzkx#yCj;000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPC=hQe&e<;Cct7E)GG&9 zaQBVJmO;=%=u}+PZb%Osn(@*gznJz}7t$)wd2>S{=F8uo{a`d->((`Zpb}&aAXKdv zj+eY5x@PGJRMUXK*ZOrQ9(c(k-Lgy<<`P-s8PlH}K@fW1>O`|$U~_5k64>{SfWaX7 z`KfiySvVyE&X{Kax%X1HJz(>dsPS+x&XM5GQ{&nZz@R$^j6?P&;5FCB4QUhK#)XIq?M z97e+RN0CoC7u*ZS49W+|$RHWf&Yx)YI0Sh}NCh~v*IeHj;X!!LI{++?u5JRC0Zp?> z_L^2YsvY8!@GE>SqLx9{c_OA2S1%CTNW0iG*bZ`M!6|8$fi1)Cr(J9!U=m=0?_X?5 zV46&F$)b6rOaP9bNzQJ!F0GRjK-afL)Rk?Cz>W|iLxAqLJ{nD9)VC?cufoHZrQ;mf zkcvj@+;K$T{t&oQFJY<7L5ToBt+BbcR=OB5Z-SSDyk#4W&C<0+fWY3lvJ2a=jp4}# zYLhhA8b&z?N^LsxskKPc`qZi%Ln)t1-&XC*>KssB^{#4n>vT0Rw_#;{&=1Q0LO;}; z)AfVmj&Gi-AMh3DH2t8|V%Rrq%2(+JrItXr-HRz*p&z7xIEOPmi2N1$0fA_uABO$q z`a$s^D)a+gr5~c`Z`2R>czdOO@cRLO`#u>yU9KOz_AbCf`hK;3X!{reJJAo-Q`AO1 z&*^1R4B=EiFp)a5d2lA<@zD94-tnVep&xjVx~1u#?X9^%@6KMC`Q!BS(NkJCLwY(Oo8oQ>QJS2 z$Y_5uZ19r3g<+onR9@W^&B>BtXffWfCqShhCH=r6+qCxAmjQ)-fXKe=>xP&c88iI= zG3|eI(U`j{%laW1JE$?L_Nsn3ioe*d+UN8`Tv2k$GW`G_^uq`JaQyQ>rXT(RuJ((K Tv*iu;00000NkvXXu0mjf8>Z8V literal 0 HcmV?d00001 diff --git a/graphics/pokemon/coalossal/front.png b/graphics/pokemon/coalossal/front.png deleted file mode 100644 index 9b68771eebb1c5bef0a952a2c7560e16b23cb411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1113 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 Y0~6%a4w4<|ZvX%Q07*qoM6N<$f=}FZW&i*H diff --git a/graphics/pokemon/corvisquire/anim_front.png b/graphics/pokemon/corvisquire/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..35ad0bdfbad199995ba0995e7e5473a6e4280e03 GIT binary patch literal 1433 zcmV;K1!nq*P)GD z2?zkdC7M$J000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP5D;h>DBu_%@bK`Eps+wlSol~#V3@c70084H*2@3@00Cl4M??UK1szBL00g~B zL_t(|ob8uSYvV>3#wARu%N}+n-N|J!Xbg6tm#jxJg*`1AHMh`39()VPhS4Dx#fhUs z%HF%s4^nz6Ej3g+q-7xohy4QWCE&1^qR-HGGeJPzX( z06l2JBp?yEKw#$$oXrE^tq;m1lY%e^A5+?018l8;5F!&Mg23#4{Y96qdhi)MDP4zc zf3D#zW)s@4w)}hkE_GEl*KLpcsoA*;YZqyJkJ+G zNoc?Vf-yyqU(+v9(`Wt4yjkuPw!9p=L$!`cO`BnFX)$QcRqJYOCeC5uF{8SULE;GV}N z0EhsPw<`g);*-2seidM7;8=|6fa82w4%}WFdrR0te%BUmiN|f48GHA6j&f{|N`PlS z(e(Nx=XbRI$sT!6Jxsf|xc-p)e4728U6cX6t29eFPm**ozu-?jtk_zlbM=fD>5X;a zmhHnzi;rEwi*+u_&T3J-`Al)@@jY#W7H?Wv$!E2NzGTy074Xn*1MvT9j05mAngRoD zBAOCGy42_wfArzSCxlRSu1~$Tu*RPaN9U$jn4peji!GTputN_kxJQypYK{eoT zm%~gutn}!pVBinEItew|D*;qASp(RJy0rk-3d4#fp{{$V0G!>s{G z7a?ULDt2L>o~9TqeBqT#w9@SNj;af0w`$ z)E|5pAvMNlJGas-(uGY&A#4div>*Tkaw22-?oLhTEkLJUB@#q3G7j{3UygQw z5Xs4a3?dR4d%AwV8EQo3YM>%1;}rlC+}{95{m3AyDq{l~C&z03=l8+xV1lE8jAA^y zHBL^Hz^D83#{i_9*j&JTUmh>-^68608eH8hvX9Fl#~=T=c@%{7D7=||nf=0# z68v(SlqRL=^jnzkvGFp?W=ScK==pA?^YR>I#rQ@CfO+ZghjpOGd+$R~JD)9jQ5mH4 nO3oVqV^-?`9!&!OwFvPKYAVRn5wm#B00000NkvXXu0mjfbR%+V literal 0 HcmV?d00001 diff --git a/graphics/pokemon/corvisquire/front.png b/graphics/pokemon/corvisquire/front.png deleted file mode 100644 index 9339cc44e985ad3e664e120d0af21bdf8f8724a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmV-f1E&0mP)pF2XskIMF-~w2LU+=qnHz_0008KNkl7v-hakWbJ+KS=4+rH0Cbhe8MY z8?;Lxp-Z{X(C1EeoHVk$wztUK^Yj1zyjk|VfBhh`A?^no;;bI<8GBYMz%~FN5Nr|% zHVD)@AjVsPN7gsO=dwk}dK0uKeitk$oo%w##CfRcetR$!&D5bhU_yg{zNwxqWhmt@PB)S3!zx^6|a}PwzMj<+I zghyq{ShxiEQh^Xc2V8Z#D17rOWQ!bP4wEY5P$noiAbo$$bhf`0gF+OP?Qwm8xKiSP zvFop3vCm^=b6hlMq+JyNoTP6*eq!M;ieja#L4W5)KZLoW*HYTrSb% zJXcWHgAA4~RCFj<_^hF_k^XDn!R1VIog^tEX`|Q2qsIW!!yH7Ye&L6W#Pp6l{20J_ z1|mbM-_gVvb9+?vYofyp4YzMBa3`}007L*VjkSP1*{N|SUI%z3aIE@uz_Gcl2If<5 z`xZ(tHw`5!Jm$s3+rBe~7(eJ&06U*qF+DZ%hBbZ#{phI&3YxR&HxtYA$?wT!70|pY zCWVxFUd+aq@~H>T@T?fy8PAIE_)=8WfeZJwD|p}wRn@DRyWFvy9bd)k*G4 z4FU$Ks4%(!000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPZl@*v2^s!lrTzq&L--x6JN=+qkkjg{hRu9GFHAA$nI{V@eA- z25iEC;pVQGVvUgf4`lx+-)_t`&KoO1aKHBZ<-ITL!21a4^*3~nf_(k~1L4HZ_Yen< zCyd2x#2&c)Af8N~0Kno$Za}aW;EYLRM8Vn>0Hm=K2wrswk52(`?g(J}g0c6PY$Tn4 zh}n3#7=P5K7y!Rs>NBk`N0M2`2Fch5y`nT)y;INKz}V1E0tIM94ULRYGY3#ec4k`t zTDt+E;x59qMuB6kFIHDetv{>Wl_3S-@RL4lf$8r)ggChaWVk7#dVHR8S>Qw|Ga=QqN)aMZ*>`c2=EF)oa{@xy`z0OZ4?{IWf%e7u0P+@q z8?r%wIU!q0&AATD~ka{bf3Ahp?kv~s0j)LzaC16 zZ0ObN|5V=}`u=bS^!;HUv#z}TA(-;S*B=7GGcKV%VE0C-xfN0t3F3FRT^y-`;}hC; zkWMRX1e|VY2ZMZw)Qk4;hV6rUgIsQCC^lUE0U+B|w6+^;2VCZ@SuZ@m9DoH{FW_q` zyFJJ21!?bo?Q0LaDH#m%0v2x%dwDnPlJxpV^%K?1E0+;g+{FL@002ovPDHLkV1j>n BL74ym literal 0 HcmV?d00001 diff --git a/graphics/pokemon/dewpider/front.png b/graphics/pokemon/dewpider/front.png deleted file mode 100644 index e936ef9404f066fac82f32c876359625aed3e802..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 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 f8ZQ2m|AW5)0OZD4@ diff --git a/graphics/pokemon/exeggutor/alolan/anim_front.png b/graphics/pokemon/exeggutor/alolan/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..33f0caa366046993f7456e1eeef0bb719b650ad7 GIT binary patch literal 19951 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/exeggutor/alolan/back.png b/graphics/pokemon/exeggutor/alolan/back.png index 4996c1a255d6fd111f453c2a1bfd658fbf28ef0b..09b1bad270bc17289e339e01cbf4971bee7217ca 100644 GIT binary patch delta 935 zcmV;Y16cgQ2EqrBDSyD&;CNsd5D*aX=wQgODB!4Acu)}NpvcH*i1_&U_~3}ZXh8V* z$cQ)?;E-VGsEFju?%ev+r1*6a<$I0OJ@Cmwx-1WUX+qGq)rGICz!SB=ezW06anCuK&kEywNjlDfnY1)gAn2Xz|}^A5S&sf+LqLflMo07 zTuM^5#=Id7P=D;yt)%7^O<5@YCoqjNdv$6@ZggplmbHRDyZYQnjlmEw38u8!(@zLT z3Zubfh(aKofYU01~CP@UXY*$4RzCnb$#++f@E)&EAZwJu0$})>6902VMG%QS& zLEg&T_f%pcC+(ww9*lcVW&)dJ7DuzH!@=BIZs?n#8hM(c>OVX=ol&iy)|Rk6mLg5Y@6{be zdMM%F8Cby4`vCtqO)tX^2LCb)kFUA_*dU?{VCT3xaQc4$e*yF2%YC?WZiD~;002ov JPDHLkV1lcl%Gdw^ delta 805 zcmV+=1KRw;2f+rADSrU4=)hn&m^cvlxM&a%5a57Fh-d)ds95;eXrO2y`1tt9Xo%>b z$iScg`0yx*s6g~`H1Plc010qNS#tmY4#NNd4#NS*Z>VGd000McNliru=LQD?I31!N zNY4NO0;EYqK~zY`-IYPEn=lZDdB_Kd9oU0I4$!#lfjH_a3xAW${w+{8RX0_Y+@R`# zdXlQ@E_dn7*qA`1zC|}xk!+qk-<$dUdrXq#|9$iu@lyRcp334c6S#h{u#mKcVp(!V zq+pt5%^9(&ch9QjBT>?XjoX%2l;mBPrfXv!;)yUJGs+?0Wm7LUvp0VGsD`AM^=V-jrZ`cG13<%h z>ZKcd1APQ=e)4;N;?NdclL!Zs1)}qI34mNv2!RrTXr}5jaYWO9bHE10lkHGoWZ22*7SN5v>o>kQ8UasCadB#kqMf z#KbAIna-WeN>(SsOG<66-S{?B0A9P|2+ztke2|m^yVv>ZSp<~5_~PA;I-s{`p0#aA zP8+&?dw&fCc2|Yj1cq%}wHf&=Rj2jWcxU)vQ<8welHJfq>Cq+Y+X|huUPUWa$yy$K zOgnTX%K^^`-|PoI{p2IX0na=e@LGVE3NDY|1VPJZ9QxORW(MfAig*q_L4UkcuJhKJyUK+>@J)>Ke00000NkvXXu0mjf2A6uf diff --git a/graphics/pokemon/exeggutor/alolan/front.png b/graphics/pokemon/exeggutor/alolan/front.png deleted file mode 100644 index 21d4ee8d643afb5d02d6513a7dda4ea8590e68b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 926 zcmV;P17ZA$P)pF2XskIMF-~w2Ld=C`ga8000094Nkll`X>^ff<{)e*mVtogSb@ilRVn50!OE2WN`nl&*+e)wNQAt_al36-zsIWQ@FB zCX~&dDkP@#IYcD3<8YGg;rsc$?>)a~gyx6L?z+B>QU~Km+^|pyX{KqVfp_NHk_CX$ zP)w6TkR+hmCOfindrHG#RME}dbPURHG1o8%ZYTyzxyXTs62|4aZR4_r^`y_-hRN#0 z#zoDxiyF}}#`Tzs9g{K0fU#Y|Hqk)GjFIL1l$IID*e+rXbV8}dSUihDH3&gSkzfo3 zBei@St3)@z0E8!?Q+?KkvbhvOHyP1OSOXc;$ij@+Tf{d@P#l@*(FGnOf-d?Mu$E6=kI&33wk#_vS3rCpYQKmo^#;!R_uiu-46LjuUj3_ z75bcNdA+LdpzNd41MZH{IzmcmtpiY1`s)FeyXyf6@d}_y=M{jD)&t0W4d}$m(6^Q3 z&nCZIhR%q#nIQ7PXn9)*POdrXEC7R2QlyFbMD8L7EN8j)xU{459Lp}%+LSkwbu70k zUwfQd>pJ1qo*t8(h~;o=(`hnAAzb9hPijx;5tPA;Z#Ss@OLu!5y7Ra4p|fg)3w|I+ z)~xNp%1>7aLn$2#^e|(-#sIhu?}TGN3kam^SN(93F&xjp2(F9)b;H09A|PwJI#PDV z+=+~?JcWla3?|ag++z6v{@rlW%$nP=f515hi!lC>0Wbay%ulYQbN~PV07*qoM6N<$f&nAA A?*IS* diff --git a/graphics/pokemon/exeggutor/alolan/normal.pal b/graphics/pokemon/exeggutor/alolan/normal.pal index dfcbbf2466..f7b4bc50d2 100644 --- a/graphics/pokemon/exeggutor/alolan/normal.pal +++ b/graphics/pokemon/exeggutor/alolan/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 176 232 -56 160 64 -40 96 48 -136 224 112 +192 216 224 +64 48 32 16 16 16 -80 192 96 -80 72 56 +192 168 128 +160 128 88 208 184 104 -248 240 184 136 128 48 -248 248 248 -200 104 136 232 160 200 -144 120 96 -192 176 152 -136 168 64 +200 104 136 +248 248 248 +248 240 184 +56 160 64 +248 248 200 +40 96 48 +80 192 96 +136 224 112 diff --git a/graphics/pokemon/exeggutor/alolan/shiny.pal b/graphics/pokemon/exeggutor/alolan/shiny.pal index c55c7f5917..1cfefbdd69 100644 --- a/graphics/pokemon/exeggutor/alolan/shiny.pal +++ b/graphics/pokemon/exeggutor/alolan/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 176 232 -192 96 56 -152 56 16 -248 184 104 +192 216 224 +120 96 24 16 16 16 -224 128 72 -136 104 0 +240 232 96 +200 176 40 224 168 88 -248 216 104 -160 104 32 -248 248 248 -200 104 136 +120 80 16 232 160 200 -192 160 0 -248 240 40 -136 168 64 +200 104 136 +248 248 248 +248 224 136 +192 104 64 +248 248 200 +136 56 24 +224 144 96 +232 168 136 diff --git a/graphics/pokemon/flapple/anim_front.png b/graphics/pokemon/flapple/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..1020b08dd36f58a73338b69b57b6d61c58d051b6 GIT binary patch literal 1058 zcmV+-1l{|IP)GE z3k4Tw3ylr{000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP%&?qnv5D++6C{U;{ zh;T^g;DE4@SePIv$gpTgfH3gLP}pEl`1tt9$Z(mHgmC}>00Cl4M??UK1szBL00Txz zL_t(|ob8rBXxl&(#wBDtH%g(%kRca?@eq)6`6oMt6iYNoO)}V;x}>Dop<8jO+}RDo@sp59q*YS|}y=+aWZMWFA;_wL@ilOD&-Vm$aq zQ*?20G9V%(Pc%SN0C5UH4I+WP5ZVYszb~+05GXUT~ zH&4y-ut!Xn`MwSy_jT7jHc!hTKtyQ>fWGd!Wz&4vvmk5R5~xIOU@ji$G#-FlTWilf z_VQREuPU`)y2JejVr^9LcA-I5V4RH^aJkNWXN3Zn4mD6m4LD&A<<32C_tKGx!IhqM z-D`}8+QR#3NP6C$qcn&?A2irWd;E!JW(tazkp~UT$Uy)@0X7kea^bw7`!r zAjb;)+XSKf$X;OI2cl2tHGb;*HxqQSj?jgj#Vls=zeH>rpl$yJK=BU&OsBP2bQ+Om;C@B|6hesD#7*xhjcn2v1%zGAI(u6SuJ1zyp0wuI=kCe z6*8=Cg1y*i(F~Tt9uFi~goH?{5H&w2V1d=Lp%K*!9_aia5iDwcP{{m{m0-&J(6VOp c!#^EA0lz+Qadw|EO8@`>07*qoM6N<$f}f$w!2kdN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/flapple/front.png b/graphics/pokemon/flapple/front.png deleted file mode 100644 index 97385858fafc9b07da0ea7a47f2fc244680e6797..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 741 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 Ut%w5}Jpcdz07*qoM6N<$f?&pF diff --git a/graphics/pokemon/grubbin/anim_front.png b/graphics/pokemon/grubbin/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..f144cb10f063774a8469dc4f440b2de9613c1d50 GIT binary patch literal 629 zcmV-*0*d{KP)?}_^2=#xG)&7u&@9C00000{IcL+00062 zNklBN*j^cn;Fj9Q4>s58B0?s0ia5c-F6{h) zG~zD^Hj=_(K>R0SEyQ!i>u$1pX62Sw_HCwkAI{8vz&xH;r_Q&}itqasHRD@R6!~k; zJ`j6I?6`N$=^%0Kjud*^|9SaR3sSjt3ib5~9x1l}SZw&s*KssZ*!U zcMtf1^YXX-dd21c=?`uq^9P3>f@RH#33$P}Bn!&+RhOsX>1z=>dDP%c|BX`a`c! z1Mp%OupEW{P^>@0MOzIk`~fs5RvouLu$hR>A6JV3&8h5BbE^9~|9##8+f?^w7i5Hg P00000NkvXXu0mjfsum&v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/grubbin/front.png b/graphics/pokemon/grubbin/front.png deleted file mode 100644 index c4783059273e017a07cc8fd302a4366f6abe69b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 446 zcmV;v0YUzWP)?}_^2=#xG)&7u&@9C00000{IcL+00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2Ll>9p=Hst0003YNkl3To_R zVMF=X`*e=ac7kBcn17!WLdZZlj4vpqn5}0Uryi?i3#xkM zfbd3b4nok>1I#fgSqjWHg{p?qsn6x>MAf^d*#d&1dyHDg6Vv~#IWu6j?toD1&zLa; z`};irJOe)-fq1~Hpp=v!@3{e_0}L^B{UxQ`34n9R3ug>MYXi(a017A~?hev!kq2f0 oF8IK`&Or>ni%5+BhB1H0H^p6hXK0U<+W-In07*qoM6N<$f}r)dZ~y=R diff --git a/graphics/pokemon/hakamo_o/anim_front.png b/graphics/pokemon/hakamo_o/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..2b5112a2d5b4afa61026848254817af74026e8fc GIT binary patch literal 1418 zcmV;51$Fv~P)G1 z3L6*yBp{an000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPc$)@GvlFXlO`4K+vclXlQ5v008tEUb_GQ00Cl4M??UK1szBL00gc{ zL_t(|oaL86YvV=~$0dYL+e1c9Hit9^ja&)^gREg4gB?m8?cIrMsnAnuJZ|Y}5z^3e zE`j|3&AEFihJ_7=vY;Fq%$}@ElEcE1e20F3h4zgk%a-I(3fo)fV1nkC_ntg&-v4h& z`cD@^Th;p*>s9+QhGkX&+t{|N0o%5F6@U!;_EA*{{|cxoL9=oFsILzDLI7T}<-1H6 zMEe0ZCyWh5`~964WHLAyiUOz*Jn-5FR0yzu1?`IiXCwez#+di&qBS5w0FYnKgc*2* zAsf>51TxCkz?|VY2WWUJ2Mj5!wG48hefU0cOexHOx}5`*7A5*fdUBR!D0YWJY<=|P ztr&o$`snSsDF!6;lzsOyd?Suv>#TjAg^=st8d3=uw6hvye3A#$W2`gguNrE{&u4HM z+GRfTSO4MV1F&a|xgKGC0icj~9C%Mm0U*`hK}&UZS552Y0r?I9*4bx<5STlYiFb*Y zfLgc!s5@8LgmtnS3V?hc#ek=I>2o*80f&poOn~=Z8X#Xn3AE3-3H1T={)L2}_fJ65YHikpEB|)w~qwva2D;ZjIuM=ptN`00^Km0;8-1e1r8h9B3mTW3&W#Z)_-_iAgeLJ1JNq(jhFPJyaz;lBVgo30hi2 zGpuTbCZ-Y+r3?{ zeU?7oDV>VyYIt|$ABxh>1?dG^^AAO3F8PNNQ1lN)Kt}g@|DfjE7ioc6aE&40)+y~FV8TH-(xdnKTTVfcpETM3Z31Nb}ZK84`BFudI2 zX#+M&4aS;%u#7_hwvwmLNc+~5dT-8uoJds50o1crGKa&8E z7*D6awP?vdm@D8z3>3sU(OvEzPOZknZHsQ6L*O4q9gF`GqO*+v)CT4N+`}I~Z=Q7E zADU#(!iGRLWB+ii&qybniDqSYt|1hC{r5+)Js_4|lRicj{y`x|1;G7-@|VaS{LlTv YKU0&&Mo&0OP5=M^07*qoM6N<$fpF2XskIMF-~w2LmS&XE9(+0007!NklBjE z6vs~pPw9}8n`Uq`=;WzjIP0ivu)8$+0B&8$T~p)pT!i)LoF&jNkiDBBkdP&yY$j7Q zwL_pJ-=$CI#Lme+L1}N$p!d^z|I_{7J3{{JqI9=9&X`*jw-_#70lZ{kSPg_>_`U+L zFdiO~e+8-}I3a5u4raCf$xS0+2%5 zJ?+F}126)B`MiKdbqx?l6Af_Kt_DOB7uW2e*{6t$n3HS; zG(!!r11a1w**RXHP01a$2;K3{l^MXI?)d72n*l;!!RPPUxj94VLic2q!fJl<$ObU% z9aM`ssZnAbG`)blE(zP z1O=pM{dP;Gu8lxz0Qx#xC~M0$dq9~Hn)rDI+Pb|~Kr9a^^P&j5B-Q+xXV;w6Vi_N` z<|2?qTr>E6rYg)P^61U{ERZFG+pXIyr>ss8NKu)Qz5q*p^H4{$gVQ*~@3X zAePJM7J#e(M|i#w=;4tIn~OZ(I_qe?I5CxID_}AD1Qg!bBB0I0a?17|!3{z@&Cdp{ sx_F4=xUBL57LMmv-_U~F{4Xy2KlN+hcG@)-0000007*qoM6N<$f(NN@bN~PV diff --git a/graphics/pokemon/jangmo_o/anim_front.png b/graphics/pokemon/jangmo_o/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..d462c0adb83ca9a49927a0fd8bc15f5822892045 GIT binary patch literal 883 zcmV-(1C0EMP)G1 z3M2?B@&{f3000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPJNZYImf_4MeG5VTC(5HM!pA2 zVCv9`1rJQufecJ;CH5-fBXDQOu0-FnS3r47hW}6R?w(J%pJnapFD={Ut*Om~@aUXP zbS|bOz=X+Zz!p_?0^}YB$HB4A=~E1XAP}POIpK>IpdXDS5Q}KwIgcUbz!nqi7^bQ@VmE7EHK2i>8Dti1SHSLt{!&p?HL&rE z#rZs%Rlw5|{N^3h9pv!t3Z_&HVW@9Z2>8I&XGl{C(-0Cgf3^Ce=bfHR0l!tfXX-rm zQ%HP>&>i%S4$r^&2?+lO@yYq&SPjKc9IWx&+T%*)g7bGd1zajsa8)Q0P**xFE?a<{ z7i!JN3Oz&#Sf+oE05 z3<_{&H9+h^o(+tG=z|aqAUo5q|KqzaY6Fz7Via*gAf$f&4Y81rp@fOknN|=Wo)amJ zpKyT1DPb6nOk+rW0Lr5*Cp7Jis!*TZiOnt(?%DXToDwjC!SHd*N)SjOl#O8EfV>q9 z+zzTOmO~=!fX7)a8251FyA_Q4`0L*Yh9fCpD;OaqowZ;9{6h0uFpemHXas}shej|+ zf2ajxOuqhG!6-TeLv;woI&bp_BN!g(4_A#~wE07^^N0Vqegj6`FU+UqDN_Id002ov JPDHLkV1fi(ciR8} literal 0 HcmV?d00001 diff --git a/graphics/pokemon/jangmo_o/front.png b/graphics/pokemon/jangmo_o/front.png deleted file mode 100644 index d5fe638b9ce6c72a421d40e025eee27070b87acd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmV-H0>1r;P)pF2XskIMF-~w2LvZ1G|jT>0004`Nkl2r#|Cm?)sm8X6I!R7wI!F$RFPg`6eo z)`)M$lQyRALF=e68C!tx^9o6NJ-!=KLs~$olgVvF0iKdkbUAq}TWqX<2P76sd2zYE zYm8i@RW^QJbyyUjfm*)ERP!<$Kby6e(t1>e#}zDqp*|{ronv?MI%Ngba<9WgD5Xu5 zMEAnYJtm35fyCJ9pH80azLVntx>Hr#GY?UaU>u-!c2L{xKD-1mir}3%IdprbC0e5M zMjUhvjL8JRRYn0*V`gAxh6K!qb!XEGAcL8CgP!3e;N|se6fj?KZ*7qSSp~2p0e@?` z0(x$M^|$S}=gZ80-gE-M`kCjyerAjf+)V;-k1@vcmlQDgG2 z2^<_Pi(}T{0Gv54@D2M zgA7nY$fB3k8dxllORX((NG{&>qJZsgp`wJ)OODM!YyqOH4)QOw+e>nC-;m-j+v^tS zwY*r;eE8m*H$T2#6Y}3an%=m1oO#ZT0OOYdU9Sc3e6Lskh4Zy)0H3=p-m8V=m5|!~ zz;le+J8bWu3Iu`wUf<*0B8#>qLwJK~E(?MdfYmDjoiB5) z93h}vLE!K;+SGGk$bCPX`pVPjOn;gJI-%+%O@C)RX7}VbehNIA9EU&t;&(f{PS;x_ zDv9CuCzBUa{(TAjTHy1k>p4x{B^0Ch_vG#4U(OIPQ{Y&HA{t_2`f8rmN7VmT#$kJ7c4vhVw|u$i@< z67p``>Hz#yZ(t4ueEipz?{`AKpD)+C{7Xl>6EquM2DrWgiX4QzEqF(Bcfq7-S=dX> z?;F!|GY2SlrD?jI2v?#8%Ez-k?sGJbn9eo!G+ z#p&|X8E#QAHC%f#`Qln2v3UFQFZW?|^0j##usZBR^7)tIm3-ETt_9|<*Zyvj{O#%U z$11srx(;9I2wdKgg4~LT@03pJuh(tQUX#uqQty?dD zfagd1GX%m!iV?;bKO8LqF#MM81KT(fokX<70z{mID<=<&Mp3_I7(UwuVFPT7Apx^3 z{`f4}FFM(Y6@Vw!#@#D^wx-r=>`r_-I`X~_e)168k$XJ>0aQb3FI?x@_bnmf&a zIpfYk0Wst2Vo@w=1H)p=Y{|L}TcvnqQrHtkn{^ccf%jDjKvRHNdm`T~X$7if^edd5 zNwGaAHGuhc8UR0SXQjM)0mQ=3-3;(MQi$`k8{6VDlhF51{&Zo|tsKxCv7UtLj53`4 z{%f_27YOkDuGabqE=^yZXvW1Suhnmx7q5wx-}boBd_6Qt#PFu(n*~7G@+51sb7&9O zv>|r`9WsDkq?wj&m?ipz#!x6%?eo;(>>0fP4yg?-%1*(~)Z-+x~R6vOd2@CII8 zxOnpYAm}ZrxpEn;4kOoXZ(h5&+19!8PMb%F!%By+jdT?6GWlzmX{pjY%| z6<~%N28<6>iw$KTlsjnkieA7XiaDTvAm|PZWglP~f?o(PwHLMo>~>dK6yx5v^SgFu z8WsQr3DNvc5MU9shc|m4)!)38M0u6AjI@q)gZltof}K$QLZa@9^JQCTWWF1N6?oW6 zs{Da=SEBl(f5<}ss{hXcr-55vb%LQo!2-~N6w`QHeAtAa=oXqB1-Qyz^dnJRv&%oJ_ z`8yAasKl(Rzu~r%5!|5u%n|X8>i?c3S1G;f-Uvr>OZ z)gNh$R$Qf;FBOogKV<5!RIt2^nJ<<8*VLa-tNd4v4b+@U_20a>_y=;EMU8&@Ko=GD zN8x=ad9H^-O6~O4kO>3$CX;{or1GJCZx>Z&G&6>C?kFj7i^}h_@PH+!0_0Mu| zTmj^KR#AVlF}?&S*)7$d&~e>Aq`#HwpZbR@Kt=si|8Ny3)&C9tp;Z4j`G+#u8~j7H c99kLwH;8Rzmu&o?b^rhX07*qoM6N<$f|ZcH(f|Me literal 0 HcmV?d00001 diff --git a/graphics/pokemon/kommo_o/front.png b/graphics/pokemon/kommo_o/front.png deleted file mode 100644 index d327ade644633aba95720a4b78778019083e090f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1260 zcmV}?m|y^SaB#>75GW`pJ@h3o00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2L%`owrV>z000C}Nkl!KP+iy?lE^G7;Y=@lfj=nHqT6U=y2!UP}XY|ls zlDG_oZ3_NNU~LVHD$h7KR)mCldx5{N-FBnO9EG42 zeow9+eG?*Jq`;BzMbJTET1lSf9m0Q?(Yo;Et7aDDk%(a`O?G|T#5heyv3`>@f^h&= zGXsJ+ltBa-rpX+FZlHQwMyukSXFkT^Gy*AU1}KmSEoG#J{tO^8G6({gN15qaB@ocJ z;`3Ifift&W9Yu^)HDGtrT1(mDJoKxX^h8lUjjTGr7g`y8B*5o?TAbH?-kO)IBLAqX zx4de(odGUSfZT_od@NX9b+^GFX;`SG%3J#Q%$Ng&HRQ--^Lqk@0#ytm?}!T6@u&=o zon8P`>>uIl?pnV{!0I9}rfhxCe_S9|#b|bQiY+R}x@!*xPnQC*$!d?Db)h$WVJrhy zJ1vMGJrfu5xE?G8CT_d-dJzA0c(NyhA~3VJ_na~N^~sNegOeYG7_A0MFj@e1UziO! zeY-n201(0-i$J6aj&s0jS=Y|r!pT85M8J=w=%J1Nlimyfom(0Qx^^Jyv8ahDh$!|~ zhEH;#2)A^d(@hXIz^3RZVARAf$8k4TvK}P>POOdHE50fv^;+8#Q4Va$YLhqF&O=*b zXR&Le{_b#3h+H+gC4p;P!=g_mFh}^q<9;l9IiQEquy{bVianJQYC`;s=L;SH0b)-W z#t>pdV=O+tmqxw=w|bF6rl%<&dJ+En62W&XY>d{3oUk2HPflVwPKeVoH{fn1@!B{$ z8{HrQEXJJPyM|TWaRy8%YfKX$qO2mOc~Q$~7A3PKb;@?);=&-XBXXIw!~g;}k`RET zfMV{5d9$PuB$AQmn4LjTp5X#Oxt$uotIaHwi)xgvWsKfqomwd;~+taLxfx5I|ybllnm>Yw_`+ouO WJGDFkvx?*Z0000GC z2@xw#C9Q4%000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPy#YC*#xOy~(L=z@bq$70*t_tEb8-GIBzig|rp!zC45fi*deHS2xKRw)yZyBplc zef)XIGJz<`vl0Q7B?4JyfzCdu{O{qcMfxEm`JhQ_7Rg8vTVP(%*o0uZkzz%2S`kI) zK@btqAT;VQL8HW^AWRmo$A|(JrHdBSHY^PSMr3e~RVcOOv8p2UYcuX+DZvP1sX$R- z&Z>XH(Hz+liRYpqK%YwULkqtt6_?1UVhgUC@-NaTmPMJ5;7a-CAdgML6dx1n%qt?V{gZE2;k z6!XK4=7%8E{1A%lHh&;LM3-IOM}ByX{E$CVH0FnInjfzG_RkjbLqUN2&`6>njdZk{V6|0gsCW3A>oHGNciEM3Q5TFEfRi^F+a$F zg~bO$DCCEM<_BG*CzWv^1oA^4=NJs2x3gskE@OVUO8(p5-VPV@0{twd{BVPGAT>X< z@><4C;heKEg2`b< z3M*Oz;42b@Q7hPt1wsqX0;@rX7_gROur3#zhX!EUh@k?Uv5J=)DKyad$@#7MI-|h;PNfY*#o9i5HaY|z)m0pCHl`6U`_z>!ITDe z0!}DR4Jd0MN@s+thgsevfY5zjY~lA=ykA$casi6j5S)^i^3xH+6n=@~%@NoEf&moU z52u9#9~cZ+K!;~d1DwN5mc%g3g<9?W`TFd>B18FLEzdj>2sAeJSk6qK5E`O}C? b{g3(qP{HP8fF{SQ00000NkvXXu0mjf?L^qL delta 504 zcmVVGd z000McNliru=LQE27aAoyqC5Zq0iH=jK~zY`?bN$&!Y~vDV55jVCglN0!ye?IRAOnt z6>B6gQN>miXRQRzS^FC05!!{ZQeUo)O^6Kv)>h(2T!cT)@qbMqbjzR2;2MbBYoK=x z1dj+^suGP|O#qL36=>Zz0f!y{Jp*`x1NE`f41gzUqNwH5Ga!q6R{{Bo8$huK z9X~|)v`afJ@^Y!D&3hsCC#OAPSkV#yUtvE88^LBQ5L$5N8wFap25UJD*5-oqU}7x4 z5<>+zV+GGQMt_HhVpp#MQVEK(0IaPYq|b?bi%S5xd=vo8Iz~Dbp=_W4mrt3{K7=U< z0y-L)9WX|b{;>g=)c|`?M+38i6Hyx1ATNQ)tts3+&C;p^2wmsR6keB+!?==#4G>{N zup+l|XNh49M>K%kQk+A0IR>bO->|!oif!MJs?D&H|6fVg?4j!ywFfJby(BP>{XE z)7O>#IU75#gw&$N`#v);Fy?x?IEHu}e>-Jk-XQ~lw%o{RR!q*{TUHf^Fozu#TXimU z;^e)7=Y+Jq-th|Tad16yugiupG=5!Km%~vp$z5CjB)|K7_q}yI$Ici0-P;)VzL?Iy zd%NL>i~`5Q1jbt*nVUOQcpn&Enj`76kFn}8lgv-cPvy8!_<)JU$elb+Hacxiv4F31##-4Lt0h%v_ws5ttEd3ZP zqw*wS=^?wOviCDR8jc(Z?r>l5{GIL2m5D(a4Lkz1%rmE%Wj*mv2s)t_Gb=9hy~|V= zZjq&$k9x%`Ijd7&oz!jMlxf-YVpsoDjwdURuwOq`RH)J-;P+=$lsGB z2_FiNdOuJA000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPU1SST1E zP*6}nFgRFHV7R!r`1tq$000000000000000001vrIl}+|00Cl4M??UK1szBL00MqV zL_t(|ob8r9Z`&{shGhr>+$|x}cD5qGs}Ut~tt}CYt{I{P%@&}gkZet1aV^lPS`8SM zRswExf3H6vJyLdRm>=F#zksydqdOiY@m|l{Yp++W!yWNnIKtb(4uE9#JiRbO;9O#M zpcgp-I_gmp*#VlP2(Z^6Tr&wo^vu-j$-u+-A!CHn@g+Idf$*(NpCFJG zQ<7 ze#trjD~w`&ACl!mS3)Mx!&rl{`8sa?V&ZiNmN*h)E)`q9IM0uztl_=(`tS5c``@?J zfPN%wKK~0^&`zDr=UZ3+2y49Gh_(XJT2nNYsH-+MoI7hEg-ME+6-Y%J&r-)4Qc=%p z7vMj|lSK;lMS4|RS2Guo!V?IXS>p%@XeSP!4-G)=nEgJ~(8}}8Fb`LYoOS1)6@b+? z%gJskQ>{Aag$R&y6ChRqm4NO+D(Er?^dmY5gT+V@!0{ej=Qq>*%3v`%AW&nKO+y{< zB@n*D@s1afPUT=55Z2(%Cq k`QtduB=YPE@Ab;{7Z0);*rFL~i~s-t07*qoM6N<$f&kTB*Z=?k literal 0 HcmV?d00001 diff --git a/graphics/pokemon/pyukumuku/front.png b/graphics/pokemon/pyukumuku/front.png deleted file mode 100644 index f1a1327445ad42f7524fa5b50b6396fadca0c975..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ipSB4EQ8Vnq6Bs2&J2<*^^ z(2!6F2ncX6u!smq*s){Bj~_pP3Xy?+wB=zSpR>RtvY3H^56I>_%y>M1MG8=my~NYk zmHjyzJD-|jfcB@)3=E9oo-U3d9>?Ea+30uJK!7d5J+M4!D!WI=71Kix4sh&bPf!Rc zNq(SnW5KGuN+0<;_BpiKs6KB|TC(}J>?i)Xcb6m6qs5X=O|hT*#=%xoE2@u=;buy; zgY$z^n=L#}?PXZSk|N1|AxOpL;2PH>?MgfuyKc%>1stl(xOO=vz}9&R!`EJ$hYKve zy)|t-mXmVWA?nG#y~iv~-Yw;6cztL4^^7^DiVEk7tQoo{792cyNolM6fycTr`wSnX z&vCXbxv^!nf0>8#(VwDoi&yXCYJ4xSBVA$ZjlXQsY+@`tebPI>ew#b@@S^v-!+$gX zXnnby&)vZ~q-%cjyLrcTYnm_AF7J@vUG?MWin}bYZ*&K3{Tz5vTs`Qiajn6B%lO@F V8Pj=;W=sYJt*5J>%Q~loCICdpuTua3 diff --git a/graphics/pokemon/rolycoly/anim_front.png b/graphics/pokemon/rolycoly/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd7ab0822dc1347b3b86d58a1ba54c9d0d1fca0 GIT binary patch literal 951 zcmV;o14#UdP)I= z2{RIqAHXI6000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP zC@3gcP*4yM5I{IMxG)HypqS`b82I@300000001t&j9dT!00Cl4M??UK1szBL00P@d zL_t(|ob8q|Zrd;vhUK6FG?tcZcubT8^_nUdP|6`=Wt40*wuqi(BWq)1vkW+34qzd? zK!-NDKo5{1$O(FyzDEZgL`nx}{Q%j+`^@)K9^U79yZV2t$M!q>EKE89mLw;A{CeBc z-%Apn_Psc11vuv^i+S?CC1Auk!-s!p0m4(xk`sh*OdAj)z>rccf-ph|$DBD5 z;0+j0Bl>g$0)T#N4vM%v!-vHJ5Wpb}pK}Yybv<2NnjsX`0(`BJC};>qJ>g5o0W%G= zi~v^#U)OU2KJg(K=B#mqU(bI%X~?r720`dDZ36S>-%nZ=*}LoMmvpK(tO;BZAfWo3 z*PG#@F2>Ca^~=L-1G16`41|OW>lOeSKrsZw03=MB_sq5FGg-)@FA5Pif#BBk*+9w( z>x?01g%gy! z?*;gWLRm3oy@bEOMgo*dv`oMm5?@gv+JOM5E!rYrDFAWN(MLk5*7J9@t6lA?tBhat zI{L;hLe>g|fuA||Ny}SMT$9G*9s0MJIO>dxR0{Q&; zWmbdef77!}2(Sbqzxs&+A0@?kEP){_aByfC5D+LRC|FQX5D*YRI5@a42%w;t=vWx|`1k+-00000F20Oh00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2M#I~-6}~+0004rNkl^=-gMEh=gP$c>qK4uvbKq5fv zp$8QRz@M-~x#dFfsldMT+T@TIA=dMOoC<4Y(;i^{!qCwO^ zfE=U3$Glf&n+KJuG?b}iT_AXG^DtKG5kkp&KsnP|7eri3+NNdKq!*N|N(z_~bH!$P z&}+39=pgyf)fN~)l@H&!%9t8UQqYcTAJ7NIZ2@}a1Zsu2)iQUDUZto-sdNJY+O*W} o>D7pGrH{=wbt^ypB~RgwKZtdLypM=VbpQYW07*qoM6N<$g3w~##{d8T diff --git a/graphics/pokemon/rookidee/anim_front.png b/graphics/pokemon/rookidee/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..c9447052d1a520142dcde0c14a332d2543c568eb GIT binary patch literal 878 zcmV-!1CjiRP)GC z3kMT;J9J3^000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP3mrXD`|iAKAznlq;Tmz9>ttaFvf8Av4}_5`g+%MbMzFq1 z9k5bCOhO{rvrCnv5$u8s_Xjw6Pp#aUwMduvV;zO}`JQ9*KEpWW|4btA;ULV!17BuZ z2e5dgz~Tne1IePzl6lYqPRcGris=9ofPgfF012BxMh{#9!~UQJSQDItb4kE6CGZ3R z2bwRsqV`S+JiluLSj~GOY6VpbQ``z}iMxBzO4=0#k?)9CBL^w*vS`~C1z-txG_-^e zZ6y#X17sUx=!o{YjS0*kVCl`4c*`wNm>vMJGUPV&?154M7{Hap2U}#Ze$zh$jBD`a z(wC12^spZMujVr;AEm?@^*&}00AdTQN-38aUP2%+!7x0z&1S{tss@h5=78r2XW`qMB%fd;mZ4z*wB{5!|D3D*Gb#GU-A8jaCJ zGsOEmspA#g`j4@uMa-k~+tkwmdu(bZ z`g8EKWu2=8!-&1j;p+FvFp6qmb|p7C+Wr{=6f45~`8X)GA9*{qfqExPf#BTdT zrrtwEDJcX2TaaMzdcSw0Gz^3EVB@d02BP%6*aGcfvnB&kHrNwu?)CegvQE2~f*PTz zAM=N3^@u;X!z2Fi;Cc_C{tzA0>JRgWDV-;OIOT8h2ZQ-BE*bl=+5i9m07*qoM6N<$ Ef+Uf4AOHXW literal 0 HcmV?d00001 diff --git a/graphics/pokemon/rookidee/front.png b/graphics/pokemon/rookidee/front.png deleted file mode 100644 index f2879fe7d5bed0537430f613c2b0f8c665cd4861..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmV+$0_6RPP)pF2XskIMF-~w2M#J7)A7N00004gNklAs= z6bJAN;+8>Ap|h_j8KhNo5xR(3x=A1uNnEW#^P-vR8PzNQj zie?*%R0TAE7?dCd{!I}%_pXE8SzV?!y(v;nI9C5+hc+{DymAn;cK zuJQmH{0Qi6xY)<-53~|s0+#|CmZ;+R_4pW&D~Lo8i5-F$98d1mdL_h82%N(mV%;o^1aO;jITn6+_Bt*Cmzq!xle}wLb7}eJr|eYxF1WRT4vn8aetY5Oz52O d(_wjvB0tZioQ&Di`#=By002ovPDHLkV1g=&;S2x( diff --git a/graphics/pokemon/salandit/anim_front.png b/graphics/pokemon/salandit/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..6bcd63d4d314bc3ef946fe71762e885f932d4acc GIT binary patch literal 766 zcmVG4 z3JwJBTnHZk000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yP4W4K!|v7|NsBQ5)uu6Taf?&00Cl4M??UK1szBL00JUO zL_t(|ob8rBY8){XhxMART{;YQO39)9)8$ql$;vw(^97Y^N2$BPI2!kG8 z9x6aT_%Dy&90#c2DdCO>{2U%Y>c97j1%MEZJr589&MSTh$}M7L4iuC$5n0)8O*`Rh z+YM>-UJst#%yb9?O_M8dfzS44@az;W8cP}Ca$rO$QWR7B&DRA0+qV5^o-O8f>lXlQ z>EoxL*6yf6*ZFk5g6$45rK$YUnv~7~*wF_VtxeW88Hi^H&dXeYw5>ItO&t=%=U3UpAd*2QGLQoWCs-5{0HiPbE|t5E8Uhpb$3YSrD@! zfWo!sDjUIeU$bV-`wgIksy|$g{pDEm2XY5p^9KU7+Sh4}Ss9ALb|E{b4%f@PYS-2D1oVN7f(U2jcds wOT0gr&+Qe}=lucl(y-=HAaiGlzW{~-n;o4+e|QH7at_P1 zF8~7rdX<~-*?J)KgM98%_-uvmnX-cL*|i)99}-Y^lpSP%%sqU}`xgLIk9T%Ke0niS z-!h;wlWNKV0o1Kw5-Lm?fX3XoM63J`o-`?Dznb=fpjpsCE+cBKrPL+?-lxspxp2;X z1(jB-;B)oHt^~NT4H3~sW|B|}Rss{zH-00DTnwxQJQ2He81T4H&j`2&%%^97nCEWP z^XZyz_+9{~mxuV3*91JOLM02%y-Gl`kUZ=G?zR2nGLIv7S@JkOcO;Jb|M~%UO#}_~ S1CQqb0000pF z2XskIMF-~w2M#PJL#Mw?0003&NklS>PH zZg+d?U3#Q(kBCqJzAMF}sWuX1uGRPp-~<3$0O1v&$T_5GR{(kebS5{!*)kCOQ9gI6 zI9tU%S5{D*T_b^bu>kdjvV#oJxrf`lKLKDme25cFPbZUfmjRU( zl7um^5*Uf@%o|DM>R>Iv#MGsOfsFg@Gy&lg=A&nTn&)A#^UShhmOKup9f_m0)+jEP)pF2XskIMF-~w2M#PMJr=|90005rNklrv=!;_B3f`a?^T6ZL^;*frrkM9dv!!72q^ply@&{D zIjf_mBR~a!QmZX$HgQG>Z~~oHSRMgew|qg|s4{0$V1>B+T{u-*tB(Np`izCb%ye$5 z(1_S>@u7+j>Y znZ*leBSyf<{Kggp_WQisLWECFS}kq%0c}JVL<+ak=Im5H2GB%wLFho{nsNEK1K>?W z54gfneFpChs3WLJ-ANGi<^a+Gh|tv^4A#o?0M_&RjKlXL77a+>30xD{)u0;w?0M?_ zE&u>Sd;&ny0=VQ4;Pv3Ily*RRd$%3}o`R{tKLYojRv*OhH-OaF3DpGn0G=efdtXuA z2QX|h@jR(GWt$UUB~%}@z+%sh;lHSqctcB%{{2ENW}stpWwXV^z=&jq0fei!nHU3U zRVnJ}pj?^RafZ3VTw$0YrNMmM0TnhYrNRk@na$MHinUqY>>o5oCYy=%&v^fT*C*Li Vyb5Sg0*U|t002ovPDHLkV1oVN5|ID^ diff --git a/graphics/pokemon/salazzle/anim_front.png b/graphics/pokemon/salazzle/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..d169166ecdbf5908138702cf8fb5b5952c7d9c61 GIT binary patch literal 15414 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

_ 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/salazzle/front.png b/graphics/pokemon/salazzle/front.png deleted file mode 100644 index b127a7c5a380fb243475cfcadeab08d348718f99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 867 zcmV-p1DyPcP)pF2XskIMF-~w2M#PVS$%6U0008UNkl8nu z5P(Gp@Z=%91_e6uNCX~f(Fu$yOC_Rj&?jh6pzYiThyxUgw-#CKWXWbRTiPXHh63#p z#1GXI9UHPE3DF?fyifOk$0&N?!}wme98h!;fD%QQ0+b12hYH9JGmf$Y$UkHNqQk<` zHv~l84ji5cR9(O*gD!xy3q;!*1`{9vt!)hh1j)^)6=0-ankdfN0Mak@D&1`gg1jA2 zBFNdGUBk-Kd8-e5EAAXynudkdmJ&7f%2*)uiX9?nf4Eutr~d zW$7+VwgEWjJHTD(FSMy_R2DcQ@*N-C?57SP6F~iG%y#wnKl|A&0iv=%O-@?OR?z!j zXO|OAtr3Bws)RU_x(YaQuB2}TN6jz~XYm%Gzqs< zs^%pMVH)KGu-ESLZXyI4(^ydn2kvIRAVBG601sU0+$qh6Y-$TG@%yx#yK4f}=pBDP zI`luqJRoeG-TVAg6Xvy7sZi(0*+};#SVaZ zai+}>#bSagT@q1?HXb-y07i#B@OD9f|7YvUNUwI)U%X@02$U$4PQI>9|D$5bF*=M|;tWpa0uA#ef&vTLJ(8002ovPDHLkV1hfbZdd>S diff --git a/graphics/pokemon/sizzlipede/anim_front.png b/graphics/pokemon/sizzlipede/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..21b275df39e3b6e630e9ab684407a3ffde080082 GIT binary patch literal 654 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!VDxm*B3zNd`E_n!4!ckJ-=MI!H2C^Bv8Z_mB6id3J zuOkD)#(wTUiL5}rL4Z$)>x>HvIy5YPL^uct2<))X`0;@uKtrRz!Q#UVjSCqd&1gVO zaOqB<5Mz?Jy9+}HtE>l*y~)$XF{EP7+i8Y*%?<*tjxh?{k58;+Tzc%yu_Eps!L_PI z4M)Ue4oq698(hF5Z@yW=d*dGA@QFchvY)^IP_Fr}T&DZzr}KhG^pnF|Sk@Q(El_#L za@nS52kUjiq;qQ|#A_51;~ri!nV;FHai%Gk_v;$B#v5__6_1?uZ@ixGKf8Bc_v(gs zdv-)mJjZ?@Nt0z-`|Rh|yYHp)9Sxctvt{+NOgWZ!m9i=eRw;JRa=yNGNymG0mAFS9 zS06`CjjhhPwO)c(|4}Hj(w4V&+R`R>uREVPk=889Br!jPOJV+lW{xxZtG1kFU1sFF zBv8S&^|?piG)WuHv+25GKu4=o&Q(8IJ-6L(^^8fTCPzZznru9X1ef%`Iv4F>1`oea_J3-jWyle?|`TJ65lWd;%-3 zAC3IMVVn06$0}t}^b7=$)ho zk@gxDjp{KIx7o$_GhI!5c%^7}o@2x1@3Y12SxYTzW%!c)%n#n5J+T??b)>g>1rif`wK%{p7Sf~)$S)$`uBTO76LcI;eW?)&`S+UmPXACz8M zFub`FeKn%xU8uv;^r(;oKD(6yzvu2riE53%(qn8qB`AxNYZ1>cr*)Il1C)g9!=Jpb ZVeEcyB)B72{wyfmJYD@<);T3K0RV*7nsERC diff --git a/graphics/pokemon/stufful/anim_front.png b/graphics/pokemon/stufful/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..2863d384932355b30039ca32b8a07b14245c4cab GIT binary patch literal 919 zcmV;I18Dq-P)GG z3N1N8ON`e5000+sMObuGZ)S9NVRB^vM@&RePDdbiWpW@hE;Mn4q~QPn00?w&PDe*f zL^A*Y002sWDIWj;00d`2O+f$vv5yPVyxR^Ld z_@J=ZaDXTvAV@ecs5oeNP)OKNhyVZp00000002kpgX{nR00Cl4M??UK1szBL00O&7 zL_t(|ob8s+kJ3OC$J%{=kt64(t6gu7WHZmL$HdzQaxzK-M zuO=GOf6n)2S7SQUV&Xv)`CdwRALeK1`#8=i|6@vz^Xo2Djsb9<3zPw>$AG?57-2qS z0kyF0NzBAPRSVuJU6(RK!ZkL9z(@Iz$Z^ZYrdTcXqz?cMDZ}<9Sb#v+HR1J4!07~% zYDnD!#-=---_R?dhYet!FRwI#Lrg8_>UkiSGh%!zz-nGYu4Z!Cp*g0O8KBdU>r!de zk&+f+9w$ctFXY)h(2oqj=`_Z$SypBQOfD<{tB;`qaE8Eaa+d~*>ji_CP(vUHn_llC zy@qYFU$i1R>8Ikl*#e#(K1mMyRkIB+6zV#P%v1Ol9^zOi&XrPCG3Sdk@KqwP6IfPU zs7<`H0`ZPxVk@Ahph>70;ivQ>-Xv7#Ow40Dz`8Vn!*;LfX#pI@Iey3DO>)>VT22~x zz~XI^Z=y3;^*7|oCyeW0hDa>`$cdrUUUM`Xin z+^GQ|+eQjQ{P&Ntfe{)+zz3PYNO$Hy4l;nk55d6Ro(5cct$E}IK)}@41-4v{18Bj> z0%~ok?L%9}TMO{s^L35%K^kjx34oslGBGyb0y+-;^lGMuI5%F!ty-WJ<~iDdA5N>v z6c7Sta!o)TKp1-P3ISh?2WSUjvsE?pz+nMO&?mfTDOGiTduN{Y3W4Q|&v53cs!|r< z<`Ug!je;SRP`747DMDRpMR}sGg_;|61o|jB0Ck}vHD51GV#Q(Dg9_GddZ5!%Bb1A% zn+ZH30pVS{9_XL}@GO7O!I4F#KhQ=tSj_W>ZE}b=IsQ<@rW>zw{DFXdopF2XskIMF-~w2M-W7TPBQl0004nNklu+Famw;b~upqdb@ k9PAD^9ZHie^pL;EC$qS;J~d`itN;K207*qoM6N<$g1u?vQ2+n{ diff --git a/graphics/pokemon/turtonator/anim_front.png b/graphics/pokemon/turtonator/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2a3c456d8ef280d45fcdf3b3e79ee732c99a9a GIT binary patch literal 1505 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 AKL7v# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/wimpod/front.png b/graphics/pokemon/wimpod/front.png deleted file mode 100644 index 2fde9f4dc869734d4eafcf01df72fd92db469fc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*BKWUI2d>=h?pQCAW&dY zU=a`yQBlxPQLy8}iH;dFUOWi+@ZkecEgbM14W9?(a29w(7BevL9R^{>-Jk-XQ~lwp`aYy}L_#&oaywWncN0%~Iva zwN(=dHY&Gfa6I67x*)Akhdvadm%EE*fVIRHE6~(`+v)+IBMrioo*gwyh6!aKu zl5A{lD?D;Co$jostXOI+z|Hx|hgr-!Xz#(3A=6UzL;ADib{6f_F<9v3E{uEwt%9^)78&qol`;+09B{Y AEdT%j diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index c6d0d3bb5a..74a0c579e5 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -785,9 +785,9 @@ const u32 gMonFrontPic_Trumbeak[] = INCBIN_U32("graphics/pokemon/trumbeak/front. const u32 gMonFrontPic_Toucannon[] = INCBIN_U32("graphics/pokemon/toucannon/front.4bpp.lz"); const u32 gMonFrontPic_Yungoos[] = INCBIN_U32("graphics/pokemon/yungoos/front.4bpp.lz"); const u32 gMonFrontPic_Gumshoos[] = INCBIN_U32("graphics/pokemon/gumshoos/front.4bpp.lz"); -const u32 gMonFrontPic_Grubbin[] = INCBIN_U32("graphics/pokemon/grubbin/front.4bpp.lz"); -const u32 gMonFrontPic_Charjabug[] = INCBIN_U32("graphics/pokemon/charjabug/front.4bpp.lz"); -const u32 gMonFrontPic_Vikavolt[] = INCBIN_U32("graphics/pokemon/vikavolt/front.4bpp.lz"); +const u32 gMonFrontPic_Grubbin[] = INCBIN_U32("graphics/pokemon/grubbin/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Charjabug[] = INCBIN_U32("graphics/pokemon/charjabug/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Vikavolt[] = INCBIN_U32("graphics/pokemon/vikavolt/anim_front.4bpp.lz"); const u32 gMonFrontPic_Crabrawler[] = INCBIN_U32("graphics/pokemon/crabrawler/front.4bpp.lz"); const u32 gMonFrontPic_Crabominable[] = INCBIN_U32("graphics/pokemon/crabominable/front.4bpp.lz"); const u32 gMonFrontPic_Oricorio[] = INCBIN_U32("graphics/pokemon/oricorio/front.4bpp.lz"); @@ -800,40 +800,40 @@ const u32 gMonFrontPic_Mareanie[] = INCBIN_U32("graphics/pokemon/mareanie/front. const u32 gMonFrontPic_Toxapex[] = INCBIN_U32("graphics/pokemon/toxapex/front.4bpp.lz"); const u32 gMonFrontPic_Mudbray[] = INCBIN_U32("graphics/pokemon/mudbray/front.4bpp.lz"); const u32 gMonFrontPic_Mudsdale[] = INCBIN_U32("graphics/pokemon/mudsdale/front.4bpp.lz"); -const u32 gMonFrontPic_Dewpider[] = INCBIN_U32("graphics/pokemon/dewpider/front.4bpp.lz"); -const u32 gMonFrontPic_Araquanid[] = INCBIN_U32("graphics/pokemon/araquanid/front.4bpp.lz"); +const u32 gMonFrontPic_Dewpider[] = INCBIN_U32("graphics/pokemon/dewpider/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Araquanid[] = INCBIN_U32("graphics/pokemon/araquanid/anim_front.4bpp.lz"); const u32 gMonFrontPic_Fomantis[] = INCBIN_U32("graphics/pokemon/fomantis/front.4bpp.lz"); const u32 gMonFrontPic_Lurantis[] = INCBIN_U32("graphics/pokemon/lurantis/front.4bpp.lz"); const u32 gMonFrontPic_Morelull[] = INCBIN_U32("graphics/pokemon/morelull/front.4bpp.lz"); const u32 gMonFrontPic_Shiinotic[] = INCBIN_U32("graphics/pokemon/shiinotic/front.4bpp.lz"); -const u32 gMonFrontPic_Salandit[] = INCBIN_U32("graphics/pokemon/salandit/front.4bpp.lz"); -const u32 gMonFrontPic_Salazzle[] = INCBIN_U32("graphics/pokemon/salazzle/front.4bpp.lz"); -const u32 gMonFrontPic_Stufful[] = INCBIN_U32("graphics/pokemon/stufful/front.4bpp.lz"); -const u32 gMonFrontPic_Bewear[] = INCBIN_U32("graphics/pokemon/bewear/front.4bpp.lz"); +const u32 gMonFrontPic_Salandit[] = INCBIN_U32("graphics/pokemon/salandit/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Salazzle[] = INCBIN_U32("graphics/pokemon/salazzle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Stufful[] = INCBIN_U32("graphics/pokemon/stufful/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Bewear[] = INCBIN_U32("graphics/pokemon/bewear/anim_front.4bpp.lz"); const u32 gMonFrontPic_Bounsweet[] = INCBIN_U32("graphics/pokemon/bounsweet/front.4bpp.lz"); const u32 gMonFrontPic_Steenee[] = INCBIN_U32("graphics/pokemon/steenee/front.4bpp.lz"); const u32 gMonFrontPic_Tsareena[] = INCBIN_U32("graphics/pokemon/tsareena/front.4bpp.lz"); const u32 gMonFrontPic_Comfey[] = INCBIN_U32("graphics/pokemon/comfey/front.4bpp.lz"); const u32 gMonFrontPic_Oranguru[] = INCBIN_U32("graphics/pokemon/oranguru/front.4bpp.lz"); const u32 gMonFrontPic_Passimian[] = INCBIN_U32("graphics/pokemon/passimian/front.4bpp.lz"); -const u32 gMonFrontPic_Wimpod[] = INCBIN_U32("graphics/pokemon/wimpod/front.4bpp.lz"); -const u32 gMonFrontPic_Golisopod[] = INCBIN_U32("graphics/pokemon/golisopod/front.4bpp.lz"); +const u32 gMonFrontPic_Wimpod[] = INCBIN_U32("graphics/pokemon/wimpod/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Golisopod[] = INCBIN_U32("graphics/pokemon/golisopod/anim_front.4bpp.lz"); const u32 gMonFrontPic_Sandygast[] = INCBIN_U32("graphics/pokemon/sandygast/front.4bpp.lz"); const u32 gMonFrontPic_Palossand[] = INCBIN_U32("graphics/pokemon/palossand/front.4bpp.lz"); -const u32 gMonFrontPic_Pyukumuku[] = INCBIN_U32("graphics/pokemon/pyukumuku/front.4bpp.lz"); +const u32 gMonFrontPic_Pyukumuku[] = INCBIN_U32("graphics/pokemon/pyukumuku/anim_front.4bpp.lz"); const u32 gMonFrontPic_TypeNull[] = INCBIN_U32("graphics/pokemon/type_null/front.4bpp.lz"); const u32 gMonFrontPic_Silvally[] = INCBIN_U32("graphics/pokemon/silvally/front.4bpp.lz"); const u32 gMonFrontPic_Minior[] = INCBIN_U32("graphics/pokemon/minior/front.4bpp.lz"); const u32 gMonFrontPic_Komala[] = INCBIN_U32("graphics/pokemon/komala/front.4bpp.lz"); -const u32 gMonFrontPic_Turtonator[] = INCBIN_U32("graphics/pokemon/turtonator/front.4bpp.lz"); +const u32 gMonFrontPic_Turtonator[] = INCBIN_U32("graphics/pokemon/turtonator/anim_front.4bpp.lz"); const u32 gMonFrontPic_Togedemaru[] = INCBIN_U32("graphics/pokemon/togedemaru/front.4bpp.lz"); const u32 gMonFrontPic_Mimikyu[] = INCBIN_U32("graphics/pokemon/mimikyu/front.4bpp.lz"); const u32 gMonFrontPic_Bruxish[] = INCBIN_U32("graphics/pokemon/bruxish/front.4bpp.lz"); const u32 gMonFrontPic_Drampa[] = INCBIN_U32("graphics/pokemon/drampa/front.4bpp.lz"); const u32 gMonFrontPic_Dhelmise[] = INCBIN_U32("graphics/pokemon/dhelmise/front.4bpp.lz"); -const u32 gMonFrontPic_JangmoO[] = INCBIN_U32("graphics/pokemon/jangmo_o/front.4bpp.lz"); -const u32 gMonFrontPic_HakamoO[] = INCBIN_U32("graphics/pokemon/hakamo_o/front.4bpp.lz"); -const u32 gMonFrontPic_KommoO[] = INCBIN_U32("graphics/pokemon/kommo_o/front.4bpp.lz"); +const u32 gMonFrontPic_JangmoO[] = INCBIN_U32("graphics/pokemon/jangmo_o/anim_front.4bpp.lz"); +const u32 gMonFrontPic_HakamoO[] = INCBIN_U32("graphics/pokemon/hakamo_o/anim_front.4bpp.lz"); +const u32 gMonFrontPic_KommoO[] = INCBIN_U32("graphics/pokemon/kommo_o/anim_front.4bpp.lz"); const u32 gMonFrontPic_TapuKoko[] = INCBIN_U32("graphics/pokemon/tapu_koko/anim_front.4bpp.lz"); const u32 gMonFrontPic_TapuLele[] = INCBIN_U32("graphics/pokemon/tapu_lele/anim_front.4bpp.lz"); const u32 gMonFrontPic_TapuBulu[] = INCBIN_U32("graphics/pokemon/tapu_bulu/anim_front.4bpp.lz"); @@ -872,9 +872,9 @@ const u32 gMonFrontPic_Drizzile[] = INCBIN_U32("graphics/pokemon/drizzile/front. const u32 gMonFrontPic_Inteleon[] = INCBIN_U32("graphics/pokemon/inteleon/front.4bpp.lz"); const u32 gMonFrontPic_Skwovet[] = INCBIN_U32("graphics/pokemon/skwovet/front.4bpp.lz"); const u32 gMonFrontPic_Greedent[] = INCBIN_U32("graphics/pokemon/greedent/front.4bpp.lz"); -const u32 gMonFrontPic_Rookidee[] = INCBIN_U32("graphics/pokemon/rookidee/front.4bpp.lz"); -const u32 gMonFrontPic_Corvisquire[] = INCBIN_U32("graphics/pokemon/corvisquire/front.4bpp.lz"); -const u32 gMonFrontPic_Corviknight[] = INCBIN_U32("graphics/pokemon/corviknight/front.4bpp.lz"); +const u32 gMonFrontPic_Rookidee[] = INCBIN_U32("graphics/pokemon/rookidee/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Corvisquire[] = INCBIN_U32("graphics/pokemon/corvisquire/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Corviknight[] = INCBIN_U32("graphics/pokemon/corviknight/anim_front.4bpp.lz"); const u32 gMonFrontPic_Blipbug[] = INCBIN_U32("graphics/pokemon/blipbug/front.4bpp.lz"); const u32 gMonFrontPic_Dottler[] = INCBIN_U32("graphics/pokemon/dottler/front.4bpp.lz"); const u32 gMonFrontPic_Orbeetle[] = INCBIN_U32("graphics/pokemon/orbeetle/front.4bpp.lz"); @@ -884,16 +884,16 @@ const u32 gMonFrontPic_Gossifleur[] = INCBIN_U32("graphics/pokemon/gossifleur/fr const u32 gMonFrontPic_Eldegoss[] = INCBIN_U32("graphics/pokemon/eldegoss/front.4bpp.lz"); const u32 gMonFrontPic_Wooloo[] = INCBIN_U32("graphics/pokemon/wooloo/front.4bpp.lz"); const u32 gMonFrontPic_Dubwool[] = INCBIN_U32("graphics/pokemon/dubwool/front.4bpp.lz"); -const u32 gMonFrontPic_Chewtle[] = INCBIN_U32("graphics/pokemon/chewtle/front.4bpp.lz"); -const u32 gMonFrontPic_Drednaw[] = INCBIN_U32("graphics/pokemon/drednaw/front.4bpp.lz"); +const u32 gMonFrontPic_Chewtle[] = INCBIN_U32("graphics/pokemon/chewtle/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Drednaw[] = INCBIN_U32("graphics/pokemon/drednaw/anim_front.4bpp.lz"); const u32 gMonFrontPic_Yamper[] = INCBIN_U32("graphics/pokemon/yamper/front.4bpp.lz"); const u32 gMonFrontPic_Boltund[] = INCBIN_U32("graphics/pokemon/boltund/front.4bpp.lz"); -const u32 gMonFrontPic_Rolycoly[] = INCBIN_U32("graphics/pokemon/rolycoly/front.4bpp.lz"); -const u32 gMonFrontPic_Carkol[] = INCBIN_U32("graphics/pokemon/carkol/front.4bpp.lz"); -const u32 gMonFrontPic_Coalossal[] = INCBIN_U32("graphics/pokemon/coalossal/front.4bpp.lz"); -const u32 gMonFrontPic_Applin[] = INCBIN_U32("graphics/pokemon/applin/front.4bpp.lz"); -const u32 gMonFrontPic_Flapple[] = INCBIN_U32("graphics/pokemon/flapple/front.4bpp.lz"); -const u32 gMonFrontPic_Appletun[] = INCBIN_U32("graphics/pokemon/appletun/front.4bpp.lz"); +const u32 gMonFrontPic_Rolycoly[] = INCBIN_U32("graphics/pokemon/rolycoly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Carkol[] = INCBIN_U32("graphics/pokemon/carkol/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Coalossal[] = INCBIN_U32("graphics/pokemon/coalossal/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Applin[] = INCBIN_U32("graphics/pokemon/applin/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Flapple[] = INCBIN_U32("graphics/pokemon/flapple/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Appletun[] = INCBIN_U32("graphics/pokemon/appletun/anim_front.4bpp.lz"); const u32 gMonFrontPic_Silicobra[] = INCBIN_U32("graphics/pokemon/silicobra/front.4bpp.lz"); const u32 gMonFrontPic_Sandaconda[] = INCBIN_U32("graphics/pokemon/sandaconda/front.4bpp.lz"); const u32 gMonFrontPic_Cramorant[] = INCBIN_U32("graphics/pokemon/cramorant/front.4bpp.lz"); @@ -901,8 +901,8 @@ const u32 gMonFrontPic_Arrokuda[] = INCBIN_U32("graphics/pokemon/arrokuda/front. const u32 gMonFrontPic_Barraskewda[] = INCBIN_U32("graphics/pokemon/barraskewda/front.4bpp.lz"); const u32 gMonFrontPic_Toxel[] = INCBIN_U32("graphics/pokemon/toxel/front.4bpp.lz"); const u32 gMonFrontPic_Toxtricity[] = INCBIN_U32("graphics/pokemon/toxtricity/front.4bpp.lz"); -const u32 gMonFrontPic_Sizzlipede[] = INCBIN_U32("graphics/pokemon/sizzlipede/front.4bpp.lz"); -const u32 gMonFrontPic_Centiskorch[] = INCBIN_U32("graphics/pokemon/centiskorch/front.4bpp.lz"); +const u32 gMonFrontPic_Sizzlipede[] = INCBIN_U32("graphics/pokemon/sizzlipede/anim_front.4bpp.lz"); +const u32 gMonFrontPic_Centiskorch[] = INCBIN_U32("graphics/pokemon/centiskorch/anim_front.4bpp.lz"); const u32 gMonFrontPic_Clobbopus[] = INCBIN_U32("graphics/pokemon/clobbopus/front.4bpp.lz"); const u32 gMonFrontPic_Grapploct[] = INCBIN_U32("graphics/pokemon/grapploct/front.4bpp.lz"); const u32 gMonFrontPic_Sinistea[] = INCBIN_U32("graphics/pokemon/sinistea/front.4bpp.lz"); @@ -922,7 +922,7 @@ const u32 gMonFrontPic_Runerigus[] = INCBIN_U32("graphics/pokemon/runerigus/fron const u32 gMonFrontPic_Milcery[] = INCBIN_U32("graphics/pokemon/milcery/front.4bpp.lz"); const u32 gMonFrontPic_Alcremie[] = INCBIN_U32("graphics/pokemon/alcremie/front.4bpp.lz"); const u32 gMonFrontPic_Falinks[] = INCBIN_U32("graphics/pokemon/falinks/front.4bpp.lz"); -const u32 gMonFrontPic_Pincurchin[] = INCBIN_U32("graphics/pokemon/pincurchin/front.4bpp.lz"); +const u32 gMonFrontPic_Pincurchin[] = INCBIN_U32("graphics/pokemon/pincurchin/anim_front.4bpp.lz"); const u32 gMonFrontPic_Snom[] = INCBIN_U32("graphics/pokemon/snom/front.4bpp.lz"); const u32 gMonFrontPic_Frosmoth[] = INCBIN_U32("graphics/pokemon/frosmoth/front.4bpp.lz"); const u32 gMonFrontPic_Stonjourner[] = INCBIN_U32("graphics/pokemon/stonjourner/front.4bpp.lz"); @@ -1030,7 +1030,7 @@ const u32 gMonFrontPic_GravelerAlolan[] = INCBIN_U32("graphics/pokemon/graveler/ const u32 gMonFrontPic_GolemAlolan[] = INCBIN_U32("graphics/pokemon/golem/alolan/front.4bpp.lz"); const u32 gMonFrontPic_GrimerAlolan[] = INCBIN_U32("graphics/pokemon/grimer/alolan/front.4bpp.lz"); const u32 gMonFrontPic_MukAlolan[] = INCBIN_U32("graphics/pokemon/muk/alolan/front.4bpp.lz"); -const u32 gMonFrontPic_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/front.4bpp.lz"); +const u32 gMonFrontPic_ExeggutorAlolan[] = INCBIN_U32("graphics/pokemon/exeggutor/alolan/anim_front.4bpp.lz"); const u32 gMonFrontPic_MarowakAlolan[] = INCBIN_U32("graphics/pokemon/marowak/alolan/front.4bpp.lz"); const u32 gMonFrontPic_MeowthGalarian[] = INCBIN_U32("graphics/pokemon/meowth/galarian/front.4bpp.lz"); const u32 gMonFrontPic_PonytaGalarian[] = INCBIN_U32("graphics/pokemon/ponyta/galarian/front.4bpp.lz"); diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 06bf461c9a..268975d582 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -1013,7 +1013,7 @@ const struct MonCoords gMonBackPicCoords[] = [SPECIES_GOLEM_ALOLAN] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 13 }, [SPECIES_GRIMER_ALOLAN] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 14 }, [SPECIES_MUK_ALOLAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, - [SPECIES_EXEGGUTOR_ALOLAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 4 }, + [SPECIES_EXEGGUTOR_ALOLAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 0 }, [SPECIES_MAROWAK_ALOLAN] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, // Galarian Forms [SPECIES_MEOWTH_GALARIAN] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 8 }, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 326af6d1ee..f8f0bb119a 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,4 +1,13 @@ -static const union AnimCmd sAnim_None_1[] = +#define PLACEHOLDER_TWO_FRAME_ANIMATION(name) \ +static const union AnimCmd sAnim_##name##_1[] = \ +{ \ + ANIMCMD_FRAME(0, 30), \ + ANIMCMD_FRAME(1, 30), \ + ANIMCMD_FRAME(0, 1), \ + ANIMCMD_END, \ +} + +static const union AnimCmd sAnim_None_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4818,7 +4827,6 @@ static const union AnimCmd sAnim_Prinplup_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_Empoleon_1[] = { ANIMCMD_FRAME(0, 1), @@ -4923,7 +4931,6 @@ static const union AnimCmd sAnim_Shinx_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_Luxio_1[] = { ANIMCMD_FRAME(1, 40), @@ -4990,7 +4997,6 @@ static const union AnimCmd sAnim_Shieldon_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_Bastiodon_1[] = { ANIMCMD_FRAME(0, 10), @@ -5060,7 +5066,6 @@ static const union AnimCmd sAnim_Vespiquen_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_Pachirisu_1[] = { ANIMCMD_FRAME(0, 5), @@ -5108,7 +5113,6 @@ static const union AnimCmd sAnim_Cherubi_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_CherrimOvercast_1[] = { ANIMCMD_FRAME(0, 15), @@ -5196,7 +5200,6 @@ static const union AnimCmd sAnim_Buneary_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_Lopunny_1[] = { ANIMCMD_FRAME(0, 15), @@ -5784,7 +5787,6 @@ static const union AnimCmd sAnim_RotomHeat_1[] = ANIMCMD_END, }; - static const union AnimCmd sAnim_RotomWash_1[] = { ANIMCMD_FRAME(0, 30), @@ -8477,18 +8479,28 @@ static const union AnimCmd sAnim_Gumshoos_1[] = static const union AnimCmd sAnim_Grubbin_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Charjabug_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Vikavolt_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -8567,12 +8579,19 @@ static const union AnimCmd sAnim_Mudsdale_1[] = static const union AnimCmd sAnim_Dewpider_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), + ANIMCMD_FRAME(0, 9), + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Araquanid_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -8603,25 +8622,33 @@ static const union AnimCmd sAnim_Shiinotic_1[] = static const union AnimCmd sAnim_Salandit_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 50), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_Salazzle_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Stufful_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_Bewear_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 60), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -8663,12 +8690,16 @@ static const union AnimCmd sAnim_Passimian_1[] = static const union AnimCmd sAnim_Wimpod_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Golisopod_1[] = { + ANIMCMD_FRAME(0, 25), + ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -8687,6 +8718,8 @@ static const union AnimCmd sAnim_Palossand_1[] = static const union AnimCmd sAnim_Pyukumuku_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -8717,7 +8750,9 @@ static const union AnimCmd sAnim_Komala_1[] = static const union AnimCmd sAnim_Turtonator_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 44), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -8753,18 +8788,26 @@ static const union AnimCmd sAnim_Dhelmise_1[] = static const union AnimCmd sAnim_JANGMO_O_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_HAKAMO_O_1[] = { - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_KOMMO_O_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -9004,18 +9047,32 @@ static const union AnimCmd sAnim_Greedent_1[] = static const union AnimCmd sAnim_Rookidee_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Corvisquire_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Corviknight_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -9076,12 +9133,16 @@ static const union AnimCmd sAnim_Dubwool_1[] = static const union AnimCmd sAnim_Chewtle_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Drednaw_1[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -9098,41 +9159,12 @@ static const union AnimCmd sAnim_Boltund_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_Rolycoly_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Carkol_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Coalossal_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Applin_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Flapple_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sAnim_Appletun_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; +PLACEHOLDER_TWO_FRAME_ANIMATION(Rolycoly); +PLACEHOLDER_TWO_FRAME_ANIMATION(Carkol); +PLACEHOLDER_TWO_FRAME_ANIMATION(Coalossal); +PLACEHOLDER_TWO_FRAME_ANIMATION(Applin); +PLACEHOLDER_TWO_FRAME_ANIMATION(Flapple); +PLACEHOLDER_TWO_FRAME_ANIMATION(Appletun); static const union AnimCmd sAnim_Silicobra_1[] = { @@ -9178,12 +9210,16 @@ static const union AnimCmd sAnim_Toxtricity_1[] = static const union AnimCmd sAnim_Sizzlipede_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; static const union AnimCmd sAnim_Centiskorch_1[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -9302,11 +9338,7 @@ static const union AnimCmd sAnim_Falinks_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_Pincurchin_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; +PLACEHOLDER_TWO_FRAME_ANIMATION(Pincurchin); static const union AnimCmd sAnim_Snom_1[] = { @@ -9913,11 +9945,7 @@ static const union AnimCmd sAnim_MukAlolan_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ExeggutorAlolan_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; +PLACEHOLDER_TWO_FRAME_ANIMATION(ExeggutorAlolan); static const union AnimCmd sAnim_MarowakAlolan_1[] = { diff --git a/src/pokemon.c b/src/pokemon.c index 58252f5fe5..748fcdfb08 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2710,7 +2710,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_GUMSHOOS - 1] = ANIM_H_SHAKE, [SPECIES_GRUBBIN - 1] = ANIM_H_SLIDE, [SPECIES_CHARJABUG - 1] = ANIM_SHAKE_FLASH_YELLOW_SLOW, - [SPECIES_VIKAVOLT - 1] = ANIM_H_VIBRATE, + [SPECIES_VIKAVOLT - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, [SPECIES_CRABRAWLER - 1] = ANIM_V_SHAKE, [SPECIES_CRABOMINABLE - 1] = ANIM_SHRINK_GROW_VIBRATE_FAST, [SPECIES_ORICORIO - 1] = ANIM_CONCAVE_ARC_SMALL, @@ -2729,9 +2729,9 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_LURANTIS - 1] = ANIM_GROW_VIBRATE, [SPECIES_MORELULL - 1] = ANIM_SHAKE_FLASH_YELLOW, [SPECIES_SHIINOTIC - 1] = ANIM_SHAKE_GLOW_WHITE_SLOW, - [SPECIES_SALANDIT - 1] = ANIM_SHAKE_GLOW_RED_SLOW, + [SPECIES_SALANDIT - 1] = ANIM_GLOW_RED, [SPECIES_SALAZZLE - 1] = ANIM_GROW_VIBRATE, - [SPECIES_STUFFUL - 1] = ANIM_H_STRETCH, + [SPECIES_STUFFUL - 1] = ANIM_V_SHAKE, [SPECIES_BEWEAR - 1] = ANIM_H_STRETCH, [SPECIES_BOUNSWEET - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_STEENEE - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2756,7 +2756,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_DHELMISE - 1] = ANIM_SWING_CONVEX, [SPECIES_JANGMO_O - 1] = ANIM_H_STRETCH, [SPECIES_HAKAMO_O - 1] = ANIM_H_STRETCH, - [SPECIES_KOMMO_O - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_KOMMO_O - 1] = ANIM_GROW_STUTTER_TWICE, [SPECIES_TAPU_KOKO - 1] = ANIM_TRIANGLE_DOWN_TWICE, [SPECIES_TAPU_LELE - 1] = ANIM_V_SLIDE_WOBBLE_SMALL, [SPECIES_TAPU_BULU - 1] = ANIM_V_SHAKE_TWICE, @@ -2795,9 +2795,9 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_INTELEON - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_SKWOVET - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GREEDENT - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROOKIDEE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CORVISQUIRE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CORVIKNIGHT - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ROOKIDEE - 1] = ANIM_H_VIBRATE, + [SPECIES_CORVISQUIRE - 1] = ANIM_CIRCLE_INTO_BG, + [SPECIES_CORVIKNIGHT - 1] = ANIM_H_VIBRATE, [SPECIES_BLIPBUG - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_DOTTLER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ORBEETLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2808,12 +2808,12 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_WOOLOO - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_DUBWOOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_CHEWTLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DREDNAW - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_DREDNAW - 1] = ANIM_GROW_VIBRATE, [SPECIES_YAMPER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_BOLTUND - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_ROLYCOLY - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ROLYCOLY - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_CARKOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_COALOSSAL - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_COALOSSAL - 1] = ANIM_GLOW_RED, [SPECIES_APPLIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_FLAPPLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_APPLETUN - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2824,7 +2824,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_BARRASKEWDA - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TOXEL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TOXTRICITY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_SIZZLIPEDE - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_SIZZLIPEDE - 1] = ANIM_H_VIBRATE, [SPECIES_CENTISKORCH - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_CLOBBOPUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GRAPPLOCT - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -2845,7 +2845,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_MILCERY - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ALCREMIE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_FALINKS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_PINCURCHIN - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_PINCURCHIN - 1] = ANIM_SHRINK_GROW_VIBRATE, [SPECIES_SNOM - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_FROSMOTH - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_STONJOURNER - 1] = ANIM_V_SQUISH_AND_BOUNCE, From d202bdd09cc22e08497684a6f77f2d6bac255601 Mon Sep 17 00:00:00 2001 From: SubzeroEclipse Date: Sat, 1 Jul 2023 10:23:57 +0200 Subject: [PATCH 038/256] Added even more gender difference sprites, 2/2 --- graphics/pokemon/beautifly/anim_front.png | Bin 1273 -> 1250 bytes graphics/pokemon/beautifly/anim_frontf.png | Bin 0 -> 1233 bytes graphics/pokemon/beautifly/back.png | Bin 915 -> 887 bytes graphics/pokemon/beautifly/backf.png | Bin 0 -> 915 bytes graphics/pokemon/blaziken/anim_frontf.png | Bin 0 -> 1203 bytes graphics/pokemon/blaziken/backf.png | Bin 0 -> 666 bytes graphics/pokemon/combusken/anim_frontf.png | Bin 0 -> 1088 bytes graphics/pokemon/combusken/backf.png | Bin 0 -> 582 bytes graphics/pokemon/donphan/anim_frontf.png | Bin 0 -> 1495 bytes graphics/pokemon/donphan/backf.png | Bin 0 -> 568 bytes graphics/pokemon/dustox/anim_frontf.png | Bin 0 -> 1107 bytes graphics/pokemon/dustox/backf.png | Bin 0 -> 802 bytes graphics/pokemon/houndoom/anim_frontf.png | Bin 0 -> 1475 bytes graphics/pokemon/houndoom/backf.png | Bin 0 -> 573 bytes graphics/pokemon/ludicolo/anim_frontf.png | Bin 0 -> 1793 bytes graphics/pokemon/ludicolo/backf.png | Bin 0 -> 778 bytes graphics/pokemon/mamoswine/anim_frontf.png | Bin 0 -> 1760 bytes graphics/pokemon/nuzleaf/anim_frontf.png | Bin 0 -> 834 bytes graphics/pokemon/nuzleaf/backf.png | Bin 0 -> 615 bytes graphics/pokemon/octillery/anim_frontf.png | Bin 0 -> 1034 bytes graphics/pokemon/octillery/backf.png | Bin 0 -> 599 bytes graphics/pokemon/piloswine/anim_frontf.png | Bin 0 -> 1049 bytes graphics/pokemon/piloswine/backf.png | Bin 0 -> 377 bytes graphics/pokemon/shiftry/anim_frontf.png | Bin 0 -> 1375 bytes graphics/pokemon/shiftry/backf.png | Bin 0 -> 703 bytes graphics/pokemon/torchic/back.png | Bin 533 -> 492 bytes graphics/pokemon/torchic/backf.png | Bin 0 -> 492 bytes graphics/pokemon/ursaring/anim_frontf.png | Bin 0 -> 1532 bytes graphics/pokemon/ursaring/backf.png | Bin 0 -> 571 bytes include/graphics.h | 26 ++++++++++++++++ src/data/graphics/pokemon.h | 26 ++++++++++++++++ src/data/pokemon/species_info.h | 14 +++++++++ src/data/pokemon_graphics/back_pic_table.h | 14 +++++++++ src/data/pokemon_graphics/front_pic_table.h | 14 +++++++++ src/data/pokemon_graphics/palette_table.h | 14 +++++++++ .../pokemon_graphics/shiny_palette_table.h | 14 +++++++++ src/pokemon_icon.c | 28 ++++++++++++++++++ 37 files changed, 150 insertions(+) create mode 100644 graphics/pokemon/beautifly/anim_frontf.png create mode 100644 graphics/pokemon/beautifly/backf.png create mode 100644 graphics/pokemon/blaziken/anim_frontf.png create mode 100644 graphics/pokemon/blaziken/backf.png create mode 100644 graphics/pokemon/combusken/anim_frontf.png create mode 100644 graphics/pokemon/combusken/backf.png create mode 100644 graphics/pokemon/donphan/anim_frontf.png create mode 100644 graphics/pokemon/donphan/backf.png create mode 100644 graphics/pokemon/dustox/anim_frontf.png create mode 100644 graphics/pokemon/dustox/backf.png create mode 100644 graphics/pokemon/houndoom/anim_frontf.png create mode 100644 graphics/pokemon/houndoom/backf.png create mode 100644 graphics/pokemon/ludicolo/anim_frontf.png create mode 100644 graphics/pokemon/ludicolo/backf.png create mode 100644 graphics/pokemon/mamoswine/anim_frontf.png create mode 100644 graphics/pokemon/nuzleaf/anim_frontf.png create mode 100644 graphics/pokemon/nuzleaf/backf.png create mode 100644 graphics/pokemon/octillery/anim_frontf.png create mode 100644 graphics/pokemon/octillery/backf.png create mode 100644 graphics/pokemon/piloswine/anim_frontf.png create mode 100644 graphics/pokemon/piloswine/backf.png create mode 100644 graphics/pokemon/shiftry/anim_frontf.png create mode 100644 graphics/pokemon/shiftry/backf.png create mode 100644 graphics/pokemon/torchic/backf.png create mode 100644 graphics/pokemon/ursaring/anim_frontf.png create mode 100644 graphics/pokemon/ursaring/backf.png diff --git a/graphics/pokemon/beautifly/anim_front.png b/graphics/pokemon/beautifly/anim_front.png index 63ee78df8aed6e1520e453af1ce152a6d83beffa..0b7789662440641d4d36de92ad42cede675542c0 100644 GIT binary patch delta 1171 zcmV;E1Z?~H3E~NmUw;H`NklziT5$6vuaAuv(3?mSac)UOQL0iRCiIt~0lX z@{^z_RRSkx8GDtBkswG`d2m>((hwxiKcK?yuQ*i}xm5cvIAA#3#s5O`-ps7DzoZnY z!rdz**!SIeKXzu`$1whfM*qcc?l`Lj8{e)Lm zoe-Ff281xt4}TBf2`a`)03k-f<3vm0u z4(FHBAC6)H2?PjU-+hFF3mSylx;)-otOtS{DHzjD{r<2QF90!^zx~6_>An3(P%5Ng z2r2sW-3duphc;cecRNrg*cfX}>|T@m%m#bpQm~5ZL2CO|826OF*B5g6MSN9_NH&LvHuI*$%ZH9^Nny1m*m-@a)Lmo^3zeK2VFX z%n>EV8aJNZ*dIi;`^)V;b@KOy&z=(7I-J>`zkfWv=Q)7`F+78Lmc8=@?q)wPz%Yb6 zjJ4o6G+nw(fCrs79l~h7O1OSJN1igQkfqD?RIj|IyenjitZdR`nQ|2(8>(w?E3fC+(OY zN`FWXSpgu#bIlK>Gn^+`iPwVZF8KlQVTANBOe?(WNmKE|`+yHEn7e(^PTrJ!`YMq8 zVD`I62a^~L5`w1Whpmys3!MEyJ1MxHNPYl32+j)yEyWMO7h$Lc#}~;YM~WY6T^PGv znL}Do3l%?X(i0H06g~Ww%<@Id4+8K)+kdaAD@*gk6NwK%52K7A=7$>MLy#W*(iZ&C zQGOV%S%Kn*IX-mLV`I(_9gPp;?C{q7aG~&Fkc0<4y%j%5e2|kf<0lJ#kfS;4H`tou zhfTnTaSje}2q=E2AwCQX2H%_?5Ff^Q!Ga$^Fvt)06hBnb{FC8_n#6}@(V>m`L4S;k zX7hp{?hqgRqH96%!(S2~a!pw9!&kR=R?)pN=Lhff-p>m(Kez<=VUq81j0c`?Fn0Zt zTXea=AU{t)MvJN>YPNfb4=j68Dt^!cRJ)lgTjK$n;{&0y@)Ci@2bTUEnjc64AG~xo l^87%Y%#M9GN&mC`1J92tl3y>`91H*e002ovPDHLkV1jd)E*Ss- delta 1194 zcmV;b1XcUu3Hb?-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}gFIWS? z000DBNklKX2Pc6u?Q~V68frmTRCbVA{##rIyDIqI+SWwneK>}OPoz7 zF(jantT8}fQKNuD@_hj>-ZeOrg{Bj~f(sZ3ywzW!efRE2@qeGxp;M9EU;}zT-n(}^ z-uoHG|8UTMiJM!s<-pnx%K>wb!JqPCz=P+_)xCxB6*>P}(^@=%gcz$Wn_z_%hI&2u zmn@D4K^rqHh?fLEdJX?;QM@Nddk*wD=L5L}Pw_AzjDgB4hYP?_*)Uz)fYRwuzz=>9 zh+Yg_Uibi1Wq*C<>5!{&C^SL%@!KmtGS(UrSQlLmKU_$}7wrUKHk**blyQFfc8Zhu z69qtuvHz&qgd7`P$Q}bc0$?()*{D|c%n9c~aHdmm-Y+8{0QkDGyJP?2Oyu$hJQ@fX z_27()?{>p*W^Z&VK@#xs#gQNwdtn&9`_bN}8zKn0F@JEV-mG&TyaC|nKMyvYzBnJN zO_23yz;ML(kl^o|1N$)qWNzH;F8B0N;E_v(R>4-Q3Yy z{@(D|b7EWjGy9wA$sNxDHOS!_%(d*TZ{>OS@_rJZ&j|_*CmdU$m1qC4X_{qd%Dau9SgT4H7^L{b6G)^#bL@WWAZkz?f#^?$A(H~$n+50pQw)1$c^{FYqho5&x;TrYl2 zU0K>69-}^hJ&ZFz~aWeM@Y|YuY!B&(%tb;yGa&jP>fbxgB)Q4d~cb=t%zym> zfI+^wr~ILk_MePD)KMQ=MIUYC4`Nc(o9F&;EA_!Ex)zi_{Du0E+l0A4Jh{2Gitdfr zAKa5WFAr#ca0vLrMShnfJ#amPvCAp9=wiSiFD?M1MO6~j+g+&-EPGKZf6#!Woy?W3 z^?=3tKmy}uD3&{6nG^f5lm6%N4-#b|xwFPS*8l(j07*qo IM6N<$f>~usbN~PV diff --git a/graphics/pokemon/beautifly/anim_frontf.png b/graphics/pokemon/beautifly/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..ad466f6ce7a9bcf305565dc005964be585018e0d GIT binary patch literal 1233 zcmV;?1TOoDP)KX2Pc6u?Q~V68frmTRCbVA{##rIyDIqI+SWwneK>}OPoz7F(jan ztT8}fQKNuD@_hj>-ZeOrg{Bj~f(sZ3ywzW!efRE2@t@S8Q<2TI1YkCskiwL4e))EallT(_K#H;d zsM&-Z8(qjA13Us?GOyXFR`<*a=Rt6$Q*hodBOn0yy0N=s|Kd#K@&`N`2pIL?jEnDf z!*FJAbSgm-@bSfwAQ*dL7{2?_-liKO2)Z$FsNSq|9=rkI=RXfNoxV69t4)ygXuxp9 z_mJT4n*;kX1Y~a9?JoE9QRMuo1U_H2>q2xmKgW15jsW5d0N&kxA%PL~13kJtI$W#= zz%>FBx~`ue_M!9nS$Z$l)5ywd}2L<$3q=fJ{Spjj`h^DAA#d0Q}HfHNt4VO1OU98h&N6LY6Mm zReR;O@G8J1va(5&W#TLZH&oZ)RA%Ku02AQ>NxTp8+`#8>|A^iNlC0L{1=nBl!X?c3 zI6lbnVf%yZ=*#>8#wi$tw>qB3(lQ$)Qapj{wnEkGlfmjU^Knwk0V=VOo<-l(zf#WIq1L%Q&RtRwA z58xL;pi=O|QF4)Enns1MjV zGjTHa2W-vRxWQJGKdgg3OmcD{n}G6%y3~hZLF0@4LF&UK56t}mfI+^wr~ILk_MePD z)KMQ=MIUYC4`Nc(o9F&;EA_!Ex)zi_{Du0E+l0A4Jh{2GitdfrAKa5WFAr#ca0vLr zMShnfJ#amPvCAp9=wiSiFD?M1MO6~j+g+&-EPGKZf6#!Woy?W3^?=3tKt${zmOEjY6Z^4~{^#)z5@jK|v&KEw00000NkvXXu0mjf8xvfH literal 0 HcmV?d00001 diff --git a/graphics/pokemon/beautifly/back.png b/graphics/pokemon/beautifly/back.png index f52187c9fdd462a6d7107062702ab4da657f5486..4755a86ab9531208c2112fee3bfe6e57f77307c4 100644 GIT binary patch delta 805 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/blaziken/anim_frontf.png b/graphics/pokemon/blaziken/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..bc49055973000002d7c8036b19618f77231167ae GIT binary patch literal 1203 zcmV;k1WfyhP)5WujIkbq$DU|{%wVBp}eU{FYaC@A>YU?_Od;Gj^ThL2Khi6o6-SvQFMnS0M%;FRddrI142&6Mo63e#6hEnJya}t`*@4bo_lT`&1gDFMz)N zjMDmY2>%W^a*j3KYBp)Jw$M5-iz5E$eE0U~WXFD1rzaJc%=a^YRs^qZbHJfByJI%% z)#~NEj7so*1eCsEzaQ4*FHe zNv&9GU>t@4xbD2;-HVT5i1FZM9~U%Y!gepbxFqu`mCB6FdRQxY1&lQWCXgVQ1&MLi@+wHzqGEJ`m3;#P1xZmgdcAFOirf0U&I>HvK zkQ*A1@l#$`KL*PEL3&dTaSXI`Alt_sJqlr@w#}68=tfMBprxuXV1>>u2unNM8N1QzDlm!XrKKpfKdvNjrZfg*8*6|p?twp zOmE`fU5`d=C4|C&F#t3NrngJqQFL<`HG3Wbs|Qhx`}0IqGTDq&SPV?1Llk0QA|JBX zXKBYsJd+VS!N9qJbagJ4MfVJ;Z3Nid8Jf&u7%6bubw!C2!DPnE(Ze^4I%;n5!+{b7?o`~zLVU0UNp R)_wp0002ovPDHLkV1j!FDvAIA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/blaziken/backf.png b/graphics/pokemon/blaziken/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..33651ce3824cbed484c0b35dcf3b116dbf862742 GIT binary patch literal 666 zcmV;L0%iS)P)Z$2Fd!%}(1<9QfQb0`_@G!oT`3C;0006d zNklj+V6vvU3fo^@#A>}p)8mS$+U`u!oNSUeR;XVh0J0^7p7Nlh8kgs)9 zZ{WM!vrT|YG11L^LbCAt`Tu|K$#M{U=eRq1Gxv7+pgw?H< zq@2L6^7iQj6q^Tj>fHx8hr0GEbVD$Uo*HG>BR5|Uq{j(>>k$AG4mA^^2YwBJw(gw8 zf~5l>kAs69p@>EFdcG{+F#Aq zkz8K7z#>v~2n=vQ8({%}4luo^)B>bj0cZzo0lLR7!3opA0TK*=<19>39YAPI@r5-2 zRvy91oX0~a7(bWf04qwQlx67wKI?{}fQ%y07N93QG5}%Iem?y?83pv<1_@-1u(yCT?b`@&$E^U+ILB*`Weo~<_BcdV02?Og zZY=sLP5tMyEaMJvWwlKYkS9#batSWn{&U^Zztl4BS{7#cj{pDw07*qoM6N<$f?q5i AoB#j- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/combusken/anim_frontf.png b/graphics/pokemon/combusken/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..2620c50e5ec3071b2cdc7a3b18122b3a24558f10 GIT binary patch literal 1088 zcmV-G1i$-zjGQ#6vt0HCWU5P93Z7#7JOvF9W%;Gb}M9$(^{7ir1gz&ua|PW|4M3= zA!#UsNI{VXp^<3~S5Sxh8}jxRFx-!I;U+W67D(*-=)JdZpZ0wX*O!fsS)4`f==i#0Y5;WH6Tg_{;v`Bv z!8_$*2cz$^M((dcpsSALvP=@uj0Fogzr!cw+Q0&4DrJV)1u+p9a!hE9C&!-1tmfPA*U3avqk_O_6jPym9r1^fW8WNt=niO zec|ra06c%7J^Ir1XxX$_`cABnU9mbntDMm~r3&zOljz&tnAIrlR4Jt=W?9;DR~K>F$I$9MA1X1DU3I@fz$V@%om1OZEWANPub$K1_`JgZX&0156XT zVOEI*;DtFHI)fbmseDj-W}upxyfA%d@<;YYof%MX61tB+rTYr9XfNUCA~76h0CYDa ztB7C&;;4<3gVrcoMe%BcR&jpMqEDkJUSf<^t7U%IwgpJWyJJjH>vGD}f|MK8z$^#eS)IZgpJSe%{ zE3$Z0_L+roS{_^pM&hA*$ejD8f1Q#CS0VR?!`tL{`)(0%ISO~=K?z2NN9^GMwtu@N zKAbNkJMutQl(&X|k;woaulp&J=a)X#@&L(-G5dZpkZ%r||ILCmp{75wxMmZ=wHrqM(p~Zx}jWGW{XbAQ0D{g?FB6IDqt%0Pw*%AsD4=PKeLe%gcWV z4Wi716y2AS2SlTB5_zB#L5Vylwy)(uanEn$L19a6@rbtaAlLtJe6f`WIrbS| zj5}L-kWJ$GaEbn@Z{Ync5N#Ua*l!8(>5`;@*q2M=d(DT&&`cI$fPiNcz~HX z{kWC~nGnwhB#z_d>f=TpWI|wrz*Jp+mIrw^6~&k|w(=m4P&0ci5As%9&Fn=XU@KrF z53;qoQz44v0VJWgLV2)pR45NNRWFnWo8ew84~(ZQ5B>!n1(o_Tms{ol0000t5U^>W zLV#SvvrAwrLx4JSQ4eYhw&z9KZ|a$@c|Wn0S7p8g}jOULJ}V!uz>5%UVf2fm?<_!+&D0E9q`ux#(~ZlktNJV zY}dNFdGIZMD!|w&k=bXL+2*<4JnFv>zrGI@WIu1*`)+iu@aE6k-#>pmhX1+$0NAMW Ua-g(;X#fBK07*qoM6N<$f)8}}z5oCK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/donphan/anim_frontf.png b/graphics/pokemon/donphan/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..f4be5dc018c0b793d24e69195f21073ef3bda2b9 GIT binary patch literal 1495 zcmV;|1t|K7P)ziZrB5Xa>O6<39k_w~{9t^?P_vj2d!wY{Y5$XR^0VL@*Z=>oB0QXB-r ziBuurU6x#OaBvW-3?$~*+MTO|6e;AZT)2pG9OS|kXWu+&^<(|BJFduUyw-d)^WK}$ z%vVvquK(=jtyv#fUh5>cMxXmvCW(`^k$PMFS!f^mrj78`WaZwbN3BBGk-(3jkdaY!RWYEL7~g znF6y5;K@rN=}k45OcA7Ft9=y7-DriFi&K z>7aBIK9O6LA?SVNy4(*r>C!H+xJKTP?=lo3e2fUvWfNFl2l9mlX{TEX9))3usM90I z%7Muxupb9>1(J9gp)+eRr3!!!>j%RiU11bOudxAErIHpIu%m<3ASYf^oGGA1!2W)a zukZ&-8RmeEDDS`>?Tzjg2m#NEWRnZ3BX@5*sH}Iw%Ym8<0qkBd{QmSp;Li-`2g8kz zUkX6vz>U-2(u;Qc+Yb(t-*fvTA^gn#Ph6*)Zh`A}-ySCK%RLH_p5i2lXVaU;t}iw| zzAqz808BngU>RH?23|Y?hVRJU%Zd(TDi?z>j|eYzGhiSFLNwZwWUEwUHgmm!@Nho0 z`@$m!ts-0UCfSbg>8<%b+3$1T;i6a6gVLb7Wh0dP^7yUbextnu=Db%VO9CzE@=Xbt z?Vw>YdGlhk__AtslY;{{ag#n6Hm1^{sH4HC1n8o4M|zZ-5%l#dCohu^$sa{JDTK|k zFA2MJ7K{EQKNa;rtr!U-yM}ADd)QVaDN4wfgfs^B8bol991LBY$8c&kr&v?E? zH4BewvU5$loeKVS{kLlduCdP=&1>una8&~7%hXx>a(m5KT!zjS9_XXd87fx+ptCFN zHQD56t!scg*8x}Uk%o*8SkVs`0a{f*urmT91*|FkV1RZOATdxwbPzi$)N&oYDllpi zSaER9Ff^KGNaMS++-Q|iRC$WVQa0R48KnAwmF-Ic3^cQo_H+4-JD};TDln+u05q0S z4!vwLy1k~&v|<}1TWnGlKo4z3eT2FZ7oMZ#I%kH-xHPbV*_!-8^WV@!PpfAFW2SC8 zQnFMQl9*_cz%Wx6^){-UV`^dF9mt-naXK;zyDov5wv|q9`IvS058Qr$cf%)AQh6vV zS+(-n-o$~wvoAaOLpi(W41CU}x*!b;;b((a5>JTG%OX%kx`OS&-h_yLnKK-x_*_(f z2a%M)FnEwUdH6IUVyUdvQ}-^#4Yq^R&qrAl8vly^p7Rg7*LoD%pp+I7jpmlE)c-WR)q})pVpeD4Z z5dn(2>DAlgMvKV`EA@jKA5-+V*?}^7VEsL+>IX#fJ@JR#(GIuH=!dEpxRJa%K0K!% xs(JmCBpcRQ{ZIw0jZf;;<6XtCL-@a6{{p-hdiqGvLT3N~002ovPDHLkV1n(d$f5uM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/donphan/backf.png b/graphics/pokemon/donphan/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..3e2368563aab7bf11e905b761cb44fc35c6df2ca GIT binary patch literal 568 zcmV-80>}M{P)8g4&jfM+m~w!qWgiP1v0>TV1SyB3OO_F*=nkpa^JpH` zqzkrKN>$0<*#7_VB*}mLDF9$OZ;V+YpePDsD4M_F^9J*(jsa@{o&Z!7;1Rda3jh)k zs0Cof6$nAqO8`eSe;p`g2FRlMVpjoRe8l9A^DH6?q#L*bJUAQTEl6z83jjKmF`y`j zEK)}DTVpmEUiwr>+$O2<8fHMMWd+P5F{On-$i_fwS4854KN(?W$B*P30<@^;=P&@ux_~2K5AS{d9RQ`BHKfk~m+1Si@D4Flmpk;p z9;iQhKn?x*Z{~oOZ=}8i*kk4LT!L4`0XUMtHhF+c@KpYpSP_0zn*b05f}H;r5g$X3 zKnyK}YzCkcXLv2fBhXNwZQr^NlHJBjqXW=&wD83LV;aAuq@_p<$Zz%l00009s|c!01#C|D4f$UxvYK=^oo@M5uS000Bt zNkll*O6vyd-1qgJoRRu_3Sb%A1FCs|Q(iXCn&Wzk6tkQ`Gf%g^S)i7e; z*oDJM?guCf4IVV8Cj(wQ7}k;@1p?s=2!^J@+`PtpceF{mI#NI~q(J=y8IazO@BdDZ zcl=w^9^*^I!r~ktSNcp~!7N(Y!20SOU^Sl&DDei7++K@hBPJ^f095Dz&i{<#nav3{e*V8jljXIG)~aUSV8zZ>QK{?953h2mrc3KYm1I?B3e0>fK z7BbwqVF=j>iwYosP+|`N-bH;UT#4(*2Izx5f+!Me?b9#tRX`{F za$(Wvy_+bz>`9GW34mZ(34FK*E&-SwhvAPc=^t9X%j@NqVqP8Im;NCGcrX2f1XKex zdY~cffdHN6pe00*_B_#G1dfelsjPWT6Qp#)<8u+36|&_6gCKVyD+P%BLyGf_{X^Orx^tt2{vpla>sGiDH|swD=^wI=YTL4{%%`^wugCZw Z$3H>rOV1`RRJ`TYTSZujdkF8BML{`s~WIRSYlG%Nt9d6;w3;00=c zKby^NKh^+|Cu)HI34z(?CV=vY{b-5~qN)o8a0DKrDEfLEMNLS&zNf23=~M|xeLO^%^_1Fe$t?}IWh>I zF66IyWnm%Yt4XT0nsy6|z_|){w>EDvvEP_MqFkhF=Q}%o?+}PdMFN4cGxn?0)A$884cJfWd_w-|l!ga9Y%3EFEIm`lGX_He g4CK$552iT(0B`P_gDblgwg3PC07*qoM6N<$g6^?t^8f$< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/houndoom/anim_frontf.png b/graphics/pokemon/houndoom/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..3e555ff5d05c79d741a151fa28d99953a157e3a0 GIT binary patch literal 1475 zcmV;!1w8tRP)n^5D-X6Pyhe`dOFys000F} zNklCx;GQBsqt!w!-#?E>RRTLkGq3tCXvUEJKMVuUcMrAz{%DN-00Y-N z$KbQ)I6qhx1ZJQ+zi{1swcd3AnlE!9CSIxmiGXSVAw&j}`q=uwY$-DJLiZQ3Sc-)< zJxi-0zP}N#mO|+9L0s z0@yDmy><>+4Rq!NOdT5$yX*%{B5O`WXITP!M;+VksSZ{$^~E6|J9NfD-y1vSQDSTT z6%ZW6L)(oV0R3VRa2fD?%*WuTxduFXk|p92d&WFY<5X%p-+2=Ag~u0?x)IQa*bn@e zCjtSGxfB-~kWK+`za&U(rURV%aZ1}k{kU)9TMdXg{oVlWAi9e@RmrS@_SSa=%}l^g z4>B{6M;}`zg|f72BzXA0y#_DK=pl2(bHzL z)C_cMz-j?qS;aJ00M!J!5oH4;TY$&)fVd}&tJA)5E;~n1Re2^dHt==eFsOii1ZtN12!Y%72dpU+kDotR4x{A{8lXED7oqF;Z$ zEkGRvxG!#hmvTZDr#?INDTi8Fe|>wJef=80n1DA3+`au=EMC)cqRq{r-684y<8Lf0 z1Wck$X;x=^`hY|QFq15z4S06*&QPIOy7~T-Vi&+>f8Jl2YJBaK*cWi03WJO^%KQGS zE3>*c!2R9Q1T-NGk(U_pGO#^3^k`d*-x~xYqwzC~aQ(UIv?&gPbh0;;e+5ik7$1!tXEVAI_>}Z&=%uk2JL4YHujqIV0@Yo{9=MZz(C>Kv zJ3qPf6Pa^4MiJJ5&eY>R2m)f@27AEr6F@mcg_eMjJ_LKkmAWhK2C17*mitQG6@W6X z?;AP~vE~nSUzf@iurwLmboS4ZI?x`N0d`*cf**^ATo?fqcLL5){)NG#pv;{YKbJsZ zvLFcLvnvH$gApLDC1-(lO6CTSQi`$CZngtZ27)Pvq3;)FD(b4a5v6oRT9o+HyaHew zkPv`Dpc0w^Rs+lgzty8$Kqx^3NqI6?!yh!{5mc8G;`4}h})w@g6a9z^)RGT>+S ze%n8&5C#DjVcYc}R|aFlKd3)txsM}HY@16}o;Umhwkh5RypR)|LM?E^Ka^^&ycXaT zF^@L=Ls^ZEr%!XL{*cGe@(&e3#)8plg|>fKE17YUEe!r)wG@uF!7})VRb@MwM!Wn2 d>4x?H+kYdIUSVohRC)ja002ovPDHLkV1my3qx1j( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/houndoom/backf.png b/graphics/pokemon/houndoom/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..dfbf43c952f6954df0a25dae22fa8ec9e6991ef1 GIT binary patch literal 573 zcmV-D0>b@?P)*OKJvZn#y;w6ZC61e!r@L3mkB3L<)ngoNa zA8d@#6u+f?6$(?Xl?ar3y<9p;)bt!_P$zbm3NCv$V zez?lC)?NVAiZAycT@be_So=vs;L+OsdpH1=uhtF&OV<7dDsFGVF1z5z9_{WJur$yo zz8l?myH6A<8tjvJD>9;Z2xL5+g1U+hr8ti$#7gLH{1hrs2`vpEC zQa2FV%NX56R`yRx`XR7g#Z@yrKK;I;uj!Z&9x?%;s;Q~2kxYcdO$)pXcI5$BbzNiSj)|^$7D$ZRz2rd5`{NeQtZRY)}S=v)?00000 LNkvXXu0mjf+@AY> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ludicolo/anim_frontf.png b/graphics/pokemon/ludicolo/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..5dcb282b07f3248bf87ab43a04bd15d09e5f52c8 GIT binary patch literal 1793 zcmV+c2mbhpP)#V((5~v8liy zO_PEu+PGR5#y3=45ue%0(ft8mm4?E9z|#E!?wy4=%04^Q#14HfP8lEFu$=nhI*LWxAwAYVr*KxX{&)mSPPhZNDln^fr{H-%}p>y%eP;P3X^M;40?(pBnFcUpHwhl^}A64`I{y{Up3y znn@2^8F>!r5c+%$4O{7O*gBF&2qS>EFdc>=k^`t=cs=bu3whJ{tR>*0&KnD-fa?X~ z97px$e|mp^mja+79=Mp#*Gx;N z<;?y4eTolZ7U$1w^E2zS;Pl|M)#5-3B4FW2Hbr#&+IaGe0|`t z&?+TIIn&NyF`!$N=|0LC`PZH$l@z=Qj41Q>VmwB@ik z1(n}-#^TUb!0=gE1keea0y>O@jdKZzoj6I@8|caeMv$|OpdjtSRt?oz|F@jYk50S* zFF8xroqC|ZjvEnRz+k!@qF&dO9Bgra5DxiRwnV5WaFsW(>-8Z=vOoAzrM-6e-#Pr+ z-~e9^T2`$f%cQ4(jh5H5jSS@BQGdw@KaTGpjP?Vqs;YdQftguZHK)Lu!mYqo1e&sz zKx_Lq)_+@3vf6q?Kh&~XX0>{#d27$o%WKqQAH;!_Gb_~tw845sj>>D)!!&;;WDTHG z+D?$w`<$nyx!qa~C|kcm1XNzV4ey3+v-M>~04Vm4d_P6gVNH=M|1_h2Qb137tw;^L z+7biu5idOaOb%o0LX*RD!+Ed^L(WjKD_*uDJ&Bq(Vl~Cp<`Yaq0Kg3bcRq+3UitF? zxWNSzfk=TqKM2TxiHS1JfzNY}@_rGx<_=UtDEWW{f`vs6o`A>A)9quLHPm|c6+h1%r0 z3#Sb^_W2Fy2SS86OYdjAfS!E&I39mXyajLUEhG@NnBoF+i(V$)G6skyr>{3Uga<+S zmjED@=17t@^V?B~REHp_d4rxjNee6rCJ9pAAx7YN3uEk`T6u)_X@yb>K=N7wvb1AW zsdWImK#|vn>Mj9sTI%pukxWaoRGDLL%G#%=7Cn76E6rjqj5W_-k_U&@ffWI~Gz%lZ zkseKdmvA5|%|S!BRSdqoQZX?$WtRgJOAxLopcoai)7};;t2zRgLtH;1 zptQYhc7&Rxa_dRZ2&i`3cFx|GiW*n7M77!l*`gI2rqHoPfU8;p42fG#1?&PW0T-k? zR7aH(sA_fUAO)5yC>y3WuWD)q<05Djmk^v`IgA7iaWpT^dnkOQVa7BukAQsOf%sT4%Hy!`T~OEg<*OW@P18lG1x90+w21ugh1|}0SFcd4g%=| zR=OhGH)TE2P9HXt8sVoQJniuL0sxKyx2+$%+;Xm1ylqATu j==+0N>L=>*e=Gk3#%*7wJTQfG00000NkvXXu0mjf0U=4i literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ludicolo/backf.png b/graphics/pokemon/ludicolo/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..00b79eb4724cbe80c38e5ed57e76ac96055fc964 GIT binary patch literal 778 zcmV+l1NHogP)(rv7i5cSIE?A|Dw7d)a%0!n8u*i82%0Dv2J5z-haN^WMy=U_5``AEltN@UZ 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 M07*qoM6N<$g8Yn#CjbBd literal 0 HcmV?d00001 diff --git a/graphics/pokemon/nuzleaf/backf.png b/graphics/pokemon/nuzleaf/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..148b009bfcff9bf94aa87e38d9a04bf65d336b3c GIT binary patch literal 615 zcmV-t0+{`YP)610C-q%STI2NfKb?|fS`a_*jOOQ$msa^__$bTXM~p*0005< zNkloBvw0YY(NC?l)vJdy zeG$ftEu*@wbqUpLIR+LC^;MMoLgMgJ9ml|og^aPQ=i~~Ys1L8lNe4{H2mrLMw|dgS zHL4&rB8T$K!2*Gm)fFzq<1}z{(g7YvA!hM4!ypK>I#hS#6cC7G1+vw_yq6;&VqqAn z&HNsJyk2MDA?AXz3!xB>^<4}n_?BsYBoFn`B@HQ@n&CV(|K;K`&!YnLds zK;}}gfW})L09<+i90R=eedz&fF#vLfK+!jx-X;P)C3?tK%(pEDZ84~c4bO51<$n^XTIn|M)L^+>&gxY2o>BU#-tHAD(9_X%37l5s? zS<3AjpAHfjbF{j7t0qez)L3GRYxO(*{;&M2eFC%_J+|5;aytM3002ovPDHLkV1h1` B4hjGO literal 0 HcmV?d00001 diff --git a/graphics/pokemon/octillery/anim_frontf.png b/graphics/pokemon/octillery/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..ab94a95cc88d1c72db781130cd31721b2e0d427b GIT binary patch literal 1034 zcmV+l1oiugP)?KLdy_8b}1b5$d*blb7HVrkd(7EW- z0#x%*fU7(!EUqd599?EDVErMc7Bb*{TL%Es?OVI_0foK&{y6aI_7)2i1eD$k6roa9 z1OX~RS!)_=wGY6Di;ChaM8`!;H9o8=hrcT?P_)nfaE-0;xJN)l*+JVMUw<~W@d5P; zfPl^Bt_B!)5mgQWP}iGZR(b&?8L;wFTgs80k|5)MyyPt)DqmCrp?C(2+1 zq5J@UZmgB$5IhbeD%ULDB>y@H;LE38k@|b8jC8BK*FPOQjIk`WdWFEoSuYT`FY)UQ zs(WLNN7$Gke{dH7CNTro_pCc!@m=u?-TEyGcOqFS>UBt+BhCIm2Gn^g%|)>XFhK(m z^%3?N2=n&_LWmt;6hL&>E45%?><(S6RBo zxc)%Um+;4Vo|e#Qe>)c4@S}Yq`%sdV=>Rg{8hRI_KBhd;=v1H|3Hq9eK82c{F+f3e zNAUj%$#QFxIIn@hO12gRZPF3#DIQmJ4-V)1B2Nz=EXd8mlE3IuDMuPV%NEzz}*@Gx(BcTnCJU0bew@*sCqUEbUa9o~fW8qF zjsy7f#y$=J7rS=`_DoU)obPrez}`@Z2)Hu}n2iEh?p}+1flTNKI4?8~dmZJ-5r$() zajz2snJA)pfO%>tqls}Drp2g4X@N7zb&)xsdr^@y992s8^r)^vG5q|qSi+r8 zRj5{M!2n%1(VthL;e2BO{l@~EsIlwfD(+?gwzbcp{aFH_@K6{(SQy8xw`0u_iBLrq zsx!c)2Y7LbAxDG`8pQ_-kXdYOpwv!b-OotNYOHNO8^3m}u=#;bzK|4&I=V@iV5m_W&zzD-|}AD{*NE+utyb4lvQL(!!TVOYcYO!6FxF9B>pVx0Ls`%7t3TJgOrVSfdUz4Ss3!NRC4FFF z00Uzz^br{QVqgRVD5s~u`jvQY0l7at$NnrOkX-{z!cJomQ*)5Y2ABn`hk&O_YEzM+;*FC_f)2iqJOiO{W{S*)?04(5{1*~l#)Zc|`K-B@( zaxSS#KIwAdlFl2?oMWc;EK6gxuiU#~AYQYIX7a571(YTbs-@cVO6~7B_2e*>1q7J_ zc;pUse;cJMt zj9?I3fXD>A_Qm0F_zs=l%eZQ;aoWxCoA&hm;g_F&Z_iB^=ZI_j(*bzho_;=j`)k`C zPhEUfM77?5*B;-${P5vbdpVw51(e*#(-D_5_5^`HE`Oce!Yx)@Y|S}dPM{`tFG1iH zFNswKeE$Oo0pKZM&-b-`J_saa@n!aJWlvr-?*TK>Rjwi477JVtoui^l#}_lFp4YR_ z?Q>H{)fIhk0=fCgWLzEC)IGW6O4q151er; z2HN}NdfkKj`Ut8Bxva3vB?cuB5~#HikSb%sR6Q9@!BZ+#=s?i@tzamVOOnJG$cE{~ zCa60&FfTJI4I@ke2rsoP91=7)bnQyPptp2Mh`eD%W4tnR?`{PGN0hbqU z$xB@@q-8Sx|M&B-UTXuvS$;^7(nC+*{JoQbO) TT!X}U00000NkvXXu0mjf5~bnw literal 0 HcmV?d00001 diff --git a/graphics/pokemon/piloswine/backf.png b/graphics/pokemon/piloswine/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..952d0bf9903899f9cff3d5fbfacf2481be57c1a3 GIT binary patch literal 377 zcmV-<0fzpGP)U5Cu@=Vvm6$?~0NJ*O4Nn<_uJn94H4!v1iF8!dg@QGX!u}c<>mn zK&i5ya-PN>%Q(yavxpuOFDq@&Ly9(5FV8N0L}*v80f<7`XM-H*8v%UHb%2BhQ~TjN zjR0Yb(hT+5!cKLxf%r7$jyXgNp?<2PS4WS63sqHMDN%4>0>C$_%n{2R*bvhR@(@2J zYyeFH_`6iX7C5jeP)nfoI|z0EELEOkbHa1(dr%_cu_a0L}kx0(=Am z>J%V;QZay6f}W2Ng5NoBDR6O%XyHCO@ZH3&1MLQG6LihC1M(lcDCkzexCTj2?%U=8 XBNSv8uxfV#00000NkvXXu0mjf%3Pf| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/shiftry/anim_frontf.png b/graphics/pokemon/shiftry/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..2559dff82ffe96a9cfc454b27b023676f3f8d21b GIT binary patch literal 1375 zcmV-l1)%zgP)l^;DB&wfLK5<7x&2|000E) zNkl?>|;yt=As8-_7Lk!omwxIJaXBCu*JdLv~eHx zR_Z{&IZ1IzZ(YRF+}yge1MxD{gW$U?%ys{leeqXb61D8Y-ufU?{C@g=eDmJ>e&o29 z_HSBf!(W~jdF6a&=u>{R8K~2bberS$!B!x%XQa~7KBxzR)e4j%_;owm$s1C615oP~ z`w{$>0!BMs7VGJh4-m|r7QxwTgSHPqts7DR5Q~KiW8OX-=Ja-OjC-q)T>{_b^mK5R zTI+5F=sDf+6IF9?7hS}SD_zzNA0e0k$1m1EAw2y^ywlXo+dBvNOrMUf9uP9|twOWl z>yFWx8pcPW*N24oCm}#C+aVppAcQ2s6d-|Iad|Qx8{|uvBog+Rj3Ld6WVG|CgGWM*l9683GEigSq13_-y#~>jC)!aI-YC19J!gP$$DEA%BQKEX^`` zUwl6T>X;^g%pxLao|2KjgR&Tnsr5O~5F5(anWa#zx*dqocR9mJ!0f0jiuHsoaj<9& z+#VqJZUW%}d79|*&2$-{#mCj=I-lEc3oTZ3~?GWOcTKk-3nQj!&T zYUeb|vZ|h0W+nJLxKbtxLW*tMMa#l150T;cH%45apan3p1{S{b5Fs@e#yA$E#HrIo z>-+&ED{LIcF~&`d5z5bj9yCphIeK^w(5E>c;}hV0DZ2rF>*z1-e`-SI8KCwIAehepHFMWXJ?FTGoq#3@W&mIf zLhFCi4FIe`6#H7Yx62@kt&`-mNAcU57SrMv!z%_^re&0H;nS+WKa1EmU z{@yz2CcO(`4ZIZt=&JI`{G`M&;sY%YY>JOcvT_R zAf{J(@C~vCL4jcPW({H*zX&P>YY-z^rYAcLg4RyoRqr*3k*ea-28CD|1W`eQ0s)0s z8^llr;-SJSgy3Y&HHdJz0h;>ERfuZMyoHQGL@6NZ?i}a_$JmlxgMde3gI?Du#`UOh zT2NmZge;d25esnDUd_@9aAgp(B0JS7&C>ZYo*P8Gxh$>a60`p1C+(g|-0tI*!0b(=0GKlpUf?2IBZX`$r0TsZ?AnavbU7S&Rr}2o^cM6Eh zA?)#W%5&)z08IhajI}}7(`#2T1bX%whfsDLV+|1R&j5&Z=rf3?PMY0$5F(X&9IF^p z!@KchTGvM_NAW4f0?>Kt59m8)Rg$o(a;t+I&K!YJwULi(i>q9A2Tp0rH zlj8gq=C)9=5CU%V5a|=h>`G_t+IvpgKn85E=kve+KRa>|{A1Od`~e8dNf2HH>N2=W zE)i)JT@^vk|LZ841W@0uMKbkT36*+?;`(-c4bzF&ZK`w;kWb6-!+Af74X__yvF9HBlBVqXrXKj~?2^g3>j*EDv9!rWoZ)Ro>tEViWXaQxN(Fst_ zBOvXI>T3C31FvQ_u&@CxGyrq!jNZ%!_CgN|Zhm%vbAsBh3IiOJOq@+P)^J2`@y%f* z&ok=zv??GQWEhT2m?93e6ja|5NVnfXIO2|>- zn*+}Vn+-BbE*}RK0yw~Gg_x0vRQlFIafZ73N-ZGp%^C)Xj3Fr5ZIqKkl0M=f9m(Tm zx+Wz@(#X?v-uDX783vFk&%FX#!T@CBnDS&{ASW9fF**5fu?XtIC4g+K3OpWRp3D;) zNRJm5-p8i(xe@^IG{AZGVz>L8_@1i<0P1%{dTt@t{oVb?O8~yzZMX0IAvnGv015c? lghvg0!TW71@xT76eglcfr{X;YD}(?5002ovPDHLkV1k);I9mV! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/torchic/back.png b/graphics/pokemon/torchic/back.png index 54770135e40e00710ec3be9e853369ad0db9b2cf..6b10fc5e9ac90c2013aad45551d27c10092b05b9 100644 GIT binary patch delta 407 zcmV;I0cie}1ndKlUw;92Nkl z(bmy3&}ZUqZZt;Y#Ks5kd$`_easfYxEg&p?cX4pzzy5!HukZD>W$d88sS@TTfb8TY zz?!JgL{rLB##RjySV<{!*6b7lCw3 zfNQ^BP17f}k-wCOG)=d_s0{GtsNU{Vyq5us4-dfA&R2_1FR<6E4+zX2xXgT;81H<1 z^fscee|?;K`+vZVaalAX5<}6~+PR2B;;=ZHjZaQhuf#u>qZlz1A(f%o72$fc1r-4{ z64VvvTmP84!90p0xQ|3gMYxzu5|Jc`)X>_)&_}jTYU~-V&!GU|Q|B8qV1=F3H}p#v zyx9P=LBVS|@5RF+pUtx%D|~Nj8UK1dd|dycAHbZE+7S8yimU(t002ovPDHLkV1l3z By;uMM delta 448 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 JPDHLkV1gIp|AGJj literal 0 HcmV?d00001 diff --git a/include/graphics.h b/include/graphics.h index fd3ef34ed7..8e76a241c6 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -324,21 +324,26 @@ extern const u32 gMonFrontPic_Sneasel[]; extern const u32 gMonFrontPic_SneaselF[]; extern const u32 gMonFrontPic_Teddiursa[]; extern const u32 gMonFrontPic_Ursaring[]; +extern const u32 gMonFrontPic_UrsaringF[]; extern const u32 gMonFrontPic_Slugma[]; extern const u32 gMonFrontPic_Magcargo[]; extern const u32 gMonFrontPic_Swinub[]; extern const u32 gMonFrontPic_Piloswine[]; +extern const u32 gMonFrontPic_PiloswineF[]; extern const u32 gMonFrontPic_Corsola[]; extern const u32 gMonFrontPic_Remoraid[]; extern const u32 gMonFrontPic_Octillery[]; +extern const u32 gMonFrontPic_OctilleryF[]; extern const u32 gMonFrontPic_Delibird[]; extern const u32 gMonFrontPic_Mantine[]; extern const u32 gMonFrontPic_Skarmory[]; extern const u32 gMonFrontPic_Houndour[]; extern const u32 gMonFrontPic_Houndoom[]; +extern const u32 gMonFrontPic_HoundoomF[]; extern const u32 gMonFrontPic_Kingdra[]; extern const u32 gMonFrontPic_Phanpy[]; extern const u32 gMonFrontPic_Donphan[]; +extern const u32 gMonFrontPic_DonphanF[]; extern const u32 gMonFrontPic_Porygon2[]; extern const u32 gMonFrontPic_Stantler[]; extern const u32 gMonFrontPic_Smeargle[]; @@ -363,7 +368,9 @@ extern const u32 gMonFrontPic_Grovyle[]; extern const u32 gMonFrontPic_Sceptile[]; extern const u32 gMonFrontPic_Torchic[]; extern const u32 gMonFrontPic_Combusken[]; +extern const u32 gMonFrontPic_CombuskenF[]; extern const u32 gMonFrontPic_Blaziken[]; +extern const u32 gMonFrontPic_BlazikenF[]; extern const u32 gMonFrontPic_Mudkip[]; extern const u32 gMonFrontPic_Marshtomp[]; extern const u32 gMonFrontPic_Swampert[]; @@ -374,14 +381,19 @@ extern const u32 gMonFrontPic_Linoone[]; extern const u32 gMonFrontPic_Wurmple[]; extern const u32 gMonFrontPic_Silcoon[]; extern const u32 gMonFrontPic_Beautifly[]; +extern const u32 gMonFrontPic_BeautiflyF[]; extern const u32 gMonFrontPic_Cascoon[]; extern const u32 gMonFrontPic_Dustox[]; +extern const u32 gMonFrontPic_DustoxF[]; extern const u32 gMonFrontPic_Lotad[]; extern const u32 gMonFrontPic_Lombre[]; extern const u32 gMonFrontPic_Ludicolo[]; +extern const u32 gMonFrontPic_LudicoloF[]; extern const u32 gMonFrontPic_Seedot[]; extern const u32 gMonFrontPic_Nuzleaf[]; +extern const u32 gMonFrontPic_NuzleafF[]; extern const u32 gMonFrontPic_Shiftry[]; +extern const u32 gMonFrontPic_ShiftryF[]; extern const u32 gMonFrontPic_Taillow[]; extern const u32 gMonFrontPic_Swellow[]; extern const u32 gMonFrontPic_Wingull[]; @@ -597,6 +609,7 @@ extern const u32 gMonFrontPic_Leafeon[]; extern const u32 gMonFrontPic_Glaceon[]; extern const u32 gMonFrontPic_Gliscor[]; extern const u32 gMonFrontPic_Mamoswine[]; +extern const u32 gMonFrontPic_MamoswineF[]; extern const u32 gMonFrontPic_PorygonZ[]; extern const u32 gMonFrontPic_Gallade[]; extern const u32 gMonFrontPic_Probopass[]; @@ -1583,21 +1596,26 @@ extern const u32 gMonBackPic_Sneasel[]; extern const u32 gMonBackPic_SneaselF[]; extern const u32 gMonBackPic_Teddiursa[]; extern const u32 gMonBackPic_Ursaring[]; +extern const u32 gMonBackPic_UrsaringF[]; extern const u32 gMonBackPic_Slugma[]; extern const u32 gMonBackPic_Magcargo[]; extern const u32 gMonBackPic_Swinub[]; extern const u32 gMonBackPic_Piloswine[]; +extern const u32 gMonBackPic_PiloswineF[]; extern const u32 gMonBackPic_Corsola[]; extern const u32 gMonBackPic_Remoraid[]; extern const u32 gMonBackPic_Octillery[]; +extern const u32 gMonBackPic_OctilleryF[]; extern const u32 gMonBackPic_Delibird[]; extern const u32 gMonBackPic_Mantine[]; extern const u32 gMonBackPic_Skarmory[]; extern const u32 gMonBackPic_Houndour[]; extern const u32 gMonBackPic_Houndoom[]; +extern const u32 gMonBackPic_HoundoomF[]; extern const u32 gMonBackPic_Kingdra[]; extern const u32 gMonBackPic_Phanpy[]; extern const u32 gMonBackPic_Donphan[]; +extern const u32 gMonBackPic_DonphanF[]; extern const u32 gMonBackPic_Porygon2[]; extern const u32 gMonBackPic_Stantler[]; extern const u32 gMonBackPic_Smeargle[]; @@ -1621,8 +1639,11 @@ extern const u32 gMonBackPic_Treecko[]; extern const u32 gMonBackPic_Grovyle[]; extern const u32 gMonBackPic_Sceptile[]; extern const u32 gMonBackPic_Torchic[]; +extern const u32 gMonBackPic_TorchicF[]; extern const u32 gMonBackPic_Combusken[]; +extern const u32 gMonBackPic_CombuskenF[]; extern const u32 gMonBackPic_Blaziken[]; +extern const u32 gMonBackPic_BlazikenF[]; extern const u32 gMonBackPic_Mudkip[]; extern const u32 gMonBackPic_Marshtomp[]; extern const u32 gMonBackPic_Swampert[]; @@ -1633,14 +1654,19 @@ extern const u32 gMonBackPic_Linoone[]; extern const u32 gMonBackPic_Wurmple[]; extern const u32 gMonBackPic_Silcoon[]; extern const u32 gMonBackPic_Beautifly[]; +extern const u32 gMonBackPic_BeautiflyF[]; extern const u32 gMonBackPic_Cascoon[]; extern const u32 gMonBackPic_Dustox[]; +extern const u32 gMonBackPic_DustoxF[]; extern const u32 gMonBackPic_Lotad[]; extern const u32 gMonBackPic_Lombre[]; extern const u32 gMonBackPic_Ludicolo[]; +extern const u32 gMonBackPic_LudicoloF[]; extern const u32 gMonBackPic_Seedot[]; extern const u32 gMonBackPic_Nuzleaf[]; +extern const u32 gMonBackPic_NuzleafF[]; extern const u32 gMonBackPic_Shiftry[]; +extern const u32 gMonBackPic_ShiftryF[]; extern const u32 gMonBackPic_Taillow[]; extern const u32 gMonBackPic_Swellow[]; extern const u32 gMonBackPic_Wingull[]; diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 641d0373c3..143648a49b 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -257,21 +257,26 @@ const u32 gMonFrontPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/anim_fro const u32 gMonFrontPic_SneaselF[] = INCBIN_U32("graphics/pokemon/sneasel/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/anim_front.4bpp.lz"); +const u32 gMonFrontPic_UrsaringF[] = INCBIN_U32("graphics/pokemon/ursaring/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/anim_front.4bpp.lz"); const u32 gMonFrontPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/anim_front.4bpp.lz"); const u32 gMonFrontPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_PiloswineF[] = INCBIN_U32("graphics/pokemon/piloswine/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/anim_front.4bpp.lz"); const u32 gMonFrontPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/anim_front.4bpp.lz"); const u32 gMonFrontPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/anim_front.4bpp.lz"); +const u32 gMonFrontPic_OctilleryF[] = INCBIN_U32("graphics/pokemon/octillery/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/anim_front.4bpp.lz"); const u32 gMonFrontPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/anim_front.4bpp.lz"); const u32 gMonFrontPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/anim_front.4bpp.lz"); const u32 gMonFrontPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/anim_front.4bpp.lz"); const u32 gMonFrontPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/anim_front.4bpp.lz"); +const u32 gMonFrontPic_HoundoomF[] = INCBIN_U32("graphics/pokemon/houndoom/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/anim_front.4bpp.lz"); const u32 gMonFrontPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/anim_front.4bpp.lz"); const u32 gMonFrontPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/anim_front.4bpp.lz"); +const u32 gMonFrontPic_DonphanF[] = INCBIN_U32("graphics/pokemon/donphan/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/anim_front.4bpp.lz"); const u32 gMonFrontPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/anim_front.4bpp.lz"); const u32 gMonFrontPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/anim_front.4bpp.lz"); @@ -296,7 +301,9 @@ const u32 gMonFrontPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/anim_fro const u32 gMonFrontPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/anim_front.4bpp.lz"); const u32 gMonFrontPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/anim_front.4bpp.lz"); const u32 gMonFrontPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CombuskenF[] = INCBIN_U32("graphics/pokemon/combusken/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/anim_front.4bpp.lz"); +const u32 gMonFrontPic_BlazikenF[] = INCBIN_U32("graphics/pokemon/blaziken/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/anim_front.4bpp.lz"); const u32 gMonFrontPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/anim_front.4bpp.lz"); const u32 gMonFrontPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/anim_front.4bpp.lz"); @@ -307,14 +314,19 @@ const u32 gMonFrontPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/anim_fro const u32 gMonFrontPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/anim_front.4bpp.lz"); const u32 gMonFrontPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_BeautiflyF[] = INCBIN_U32("graphics/pokemon/beautifly/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/anim_front.4bpp.lz"); +const u32 gMonFrontPic_DustoxF[] = INCBIN_U32("graphics/pokemon/dustox/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/anim_front.4bpp.lz"); const u32 gMonFrontPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/anim_front.4bpp.lz"); const u32 gMonFrontPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_front.4bpp.lz"); +const u32 gMonFrontPic_LudicoloF[] = INCBIN_U32("graphics/pokemon/ludicolo/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/anim_front.4bpp.lz"); const u32 gMonFrontPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_front.4bpp.lz"); +const u32 gMonFrontPic_NuzleafF[] = INCBIN_U32("graphics/pokemon/nuzleaf/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/anim_front.4bpp.lz"); +const u32 gMonFrontPic_ShiftryF[] = INCBIN_U32("graphics/pokemon/shiftry/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/anim_front.4bpp.lz"); const u32 gMonFrontPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/anim_front.4bpp.lz"); const u32 gMonFrontPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/anim_front.4bpp.lz"); @@ -530,6 +542,7 @@ const u32 gMonFrontPic_Leafeon[] = INCBIN_U32("graphics/pokemon/leafeon/anim_fro const u32 gMonFrontPic_Glaceon[] = INCBIN_U32("graphics/pokemon/glaceon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Gliscor[] = INCBIN_U32("graphics/pokemon/gliscor/anim_front.4bpp.lz"); const u32 gMonFrontPic_Mamoswine[] = INCBIN_U32("graphics/pokemon/mamoswine/anim_front.4bpp.lz"); +const u32 gMonFrontPic_MamoswineF[] = INCBIN_U32("graphics/pokemon/mamoswine/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_PorygonZ[] = INCBIN_U32("graphics/pokemon/porygon_z/anim_front.4bpp.lz"); const u32 gMonFrontPic_Gallade[] = INCBIN_U32("graphics/pokemon/gallade/anim_front.4bpp.lz"); const u32 gMonFrontPic_Probopass[] = INCBIN_U32("graphics/pokemon/probopass/anim_front.4bpp.lz"); @@ -1514,21 +1527,26 @@ const u32 gMonBackPic_Sneasel[] = INCBIN_U32("graphics/pokemon/sneasel/back.4bpp const u32 gMonBackPic_SneaselF[] = INCBIN_U32("graphics/pokemon/sneasel/backf.4bpp.lz"); const u32 gMonBackPic_Teddiursa[] = INCBIN_U32("graphics/pokemon/teddiursa/back.4bpp.lz"); const u32 gMonBackPic_Ursaring[] = INCBIN_U32("graphics/pokemon/ursaring/back.4bpp.lz"); +const u32 gMonBackPic_UrsaringF[] = INCBIN_U32("graphics/pokemon/ursaring/backf.4bpp.lz"); const u32 gMonBackPic_Slugma[] = INCBIN_U32("graphics/pokemon/slugma/back.4bpp.lz"); const u32 gMonBackPic_Magcargo[] = INCBIN_U32("graphics/pokemon/magcargo/back.4bpp.lz"); const u32 gMonBackPic_Swinub[] = INCBIN_U32("graphics/pokemon/swinub/back.4bpp.lz"); const u32 gMonBackPic_Piloswine[] = INCBIN_U32("graphics/pokemon/piloswine/back.4bpp.lz"); +const u32 gMonBackPic_PiloswineF[] = INCBIN_U32("graphics/pokemon/piloswine/backf.4bpp.lz"); const u32 gMonBackPic_Corsola[] = INCBIN_U32("graphics/pokemon/corsola/back.4bpp.lz"); const u32 gMonBackPic_Remoraid[] = INCBIN_U32("graphics/pokemon/remoraid/back.4bpp.lz"); const u32 gMonBackPic_Octillery[] = INCBIN_U32("graphics/pokemon/octillery/back.4bpp.lz"); +const u32 gMonBackPic_OctilleryF[] = INCBIN_U32("graphics/pokemon/octillery/backf.4bpp.lz"); const u32 gMonBackPic_Delibird[] = INCBIN_U32("graphics/pokemon/delibird/back.4bpp.lz"); const u32 gMonBackPic_Mantine[] = INCBIN_U32("graphics/pokemon/mantine/back.4bpp.lz"); const u32 gMonBackPic_Skarmory[] = INCBIN_U32("graphics/pokemon/skarmory/back.4bpp.lz"); const u32 gMonBackPic_Houndour[] = INCBIN_U32("graphics/pokemon/houndour/back.4bpp.lz"); const u32 gMonBackPic_Houndoom[] = INCBIN_U32("graphics/pokemon/houndoom/back.4bpp.lz"); +const u32 gMonBackPic_HoundoomF[] = INCBIN_U32("graphics/pokemon/houndoom/backf.4bpp.lz"); const u32 gMonBackPic_Kingdra[] = INCBIN_U32("graphics/pokemon/kingdra/back.4bpp.lz"); const u32 gMonBackPic_Phanpy[] = INCBIN_U32("graphics/pokemon/phanpy/back.4bpp.lz"); const u32 gMonBackPic_Donphan[] = INCBIN_U32("graphics/pokemon/donphan/back.4bpp.lz"); +const u32 gMonBackPic_DonphanF[] = INCBIN_U32("graphics/pokemon/donphan/backf.4bpp.lz"); const u32 gMonBackPic_Porygon2[] = INCBIN_U32("graphics/pokemon/porygon2/back.4bpp.lz"); const u32 gMonBackPic_Stantler[] = INCBIN_U32("graphics/pokemon/stantler/back.4bpp.lz"); const u32 gMonBackPic_Smeargle[] = INCBIN_U32("graphics/pokemon/smeargle/back.4bpp.lz"); @@ -1552,8 +1570,11 @@ const u32 gMonBackPic_Treecko[] = INCBIN_U32("graphics/pokemon/treecko/back.4bpp const u32 gMonBackPic_Grovyle[] = INCBIN_U32("graphics/pokemon/grovyle/back.4bpp.lz"); const u32 gMonBackPic_Sceptile[] = INCBIN_U32("graphics/pokemon/sceptile/back.4bpp.lz"); const u32 gMonBackPic_Torchic[] = INCBIN_U32("graphics/pokemon/torchic/back.4bpp.lz"); +const u32 gMonBackPic_TorchicF[] = INCBIN_U32("graphics/pokemon/torchic/backf.4bpp.lz"); const u32 gMonBackPic_Combusken[] = INCBIN_U32("graphics/pokemon/combusken/back.4bpp.lz"); +const u32 gMonBackPic_CombuskenF[] = INCBIN_U32("graphics/pokemon/combusken/backf.4bpp.lz"); const u32 gMonBackPic_Blaziken[] = INCBIN_U32("graphics/pokemon/blaziken/back.4bpp.lz"); +const u32 gMonBackPic_BlazikenF[] = INCBIN_U32("graphics/pokemon/blaziken/backf.4bpp.lz"); const u32 gMonBackPic_Mudkip[] = INCBIN_U32("graphics/pokemon/mudkip/back.4bpp.lz"); const u32 gMonBackPic_Marshtomp[] = INCBIN_U32("graphics/pokemon/marshtomp/back.4bpp.lz"); const u32 gMonBackPic_Swampert[] = INCBIN_U32("graphics/pokemon/swampert/back.4bpp.lz"); @@ -1564,14 +1585,19 @@ const u32 gMonBackPic_Linoone[] = INCBIN_U32("graphics/pokemon/linoone/back.4bpp const u32 gMonBackPic_Wurmple[] = INCBIN_U32("graphics/pokemon/wurmple/back.4bpp.lz"); const u32 gMonBackPic_Silcoon[] = INCBIN_U32("graphics/pokemon/silcoon/back.4bpp.lz"); const u32 gMonBackPic_Beautifly[] = INCBIN_U32("graphics/pokemon/beautifly/back.4bpp.lz"); +const u32 gMonBackPic_BeautiflyF[] = INCBIN_U32("graphics/pokemon/beautifly/backf.4bpp.lz"); const u32 gMonBackPic_Cascoon[] = INCBIN_U32("graphics/pokemon/cascoon/back.4bpp.lz"); const u32 gMonBackPic_Dustox[] = INCBIN_U32("graphics/pokemon/dustox/back.4bpp.lz"); +const u32 gMonBackPic_DustoxF[] = INCBIN_U32("graphics/pokemon/dustox/backf.4bpp.lz"); const u32 gMonBackPic_Lotad[] = INCBIN_U32("graphics/pokemon/lotad/back.4bpp.lz"); const u32 gMonBackPic_Lombre[] = INCBIN_U32("graphics/pokemon/lombre/back.4bpp.lz"); const u32 gMonBackPic_Ludicolo[] = INCBIN_U32("graphics/pokemon/ludicolo/back.4bpp.lz"); +const u32 gMonBackPic_LudicoloF[] = INCBIN_U32("graphics/pokemon/ludicolo/backf.4bpp.lz"); const u32 gMonBackPic_Seedot[] = INCBIN_U32("graphics/pokemon/seedot/back.4bpp.lz"); const u32 gMonBackPic_Nuzleaf[] = INCBIN_U32("graphics/pokemon/nuzleaf/back.4bpp.lz"); +const u32 gMonBackPic_NuzleafF[] = INCBIN_U32("graphics/pokemon/nuzleaf/backf.4bpp.lz"); const u32 gMonBackPic_Shiftry[] = INCBIN_U32("graphics/pokemon/shiftry/back.4bpp.lz"); +const u32 gMonBackPic_ShiftryF[] = INCBIN_U32("graphics/pokemon/shiftry/backf.4bpp.lz"); const u32 gMonBackPic_Taillow[] = INCBIN_U32("graphics/pokemon/taillow/back.4bpp.lz"); const u32 gMonBackPic_Swellow[] = INCBIN_U32("graphics/pokemon/swellow/back.4bpp.lz"); const u32 gMonBackPic_Wingull[] = INCBIN_U32("graphics/pokemon/wingull/back.4bpp.lz"); diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 63baf6c675..f40c4355cf 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -5872,6 +5872,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_GUTS, ABILITY_QUICK_FEET, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SLUGMA] = @@ -5966,6 +5967,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CORSOLA] = @@ -6041,6 +6043,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SUCTION_CUPS, ABILITY_SNIPER, ABILITY_MOODY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_DELIBIRD] = @@ -6156,6 +6159,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KINGDRA] = @@ -6226,6 +6230,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_STURDY, ABILITY_NONE, ABILITY_SAND_VEIL}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PORYGON2] = @@ -6762,6 +6767,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_COMBUSKEN] = @@ -6785,6 +6791,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BLAZIKEN] = @@ -6807,6 +6814,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MUDKIP] = @@ -7038,6 +7046,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_NONE, ABILITY_RIVALRY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CASCOON] = @@ -7083,6 +7092,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_COMPOUND_EYES}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LOTAD] = @@ -7152,6 +7162,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH, ABILITY_OWN_TEMPO}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SEEDOT] = @@ -7198,6 +7209,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD, ABILITY_PICKPOCKET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHIFTRY] = @@ -7221,6 +7233,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD, ABILITY_PICKPOCKET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_TAILLOW] = @@ -11732,6 +11745,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PORYGON_Z] = diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index a907e0ec02..f84e0cea4f 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1380,6 +1380,19 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(SCIZOR, gMonBackPic_Scizor), SPECIES_SPRITE(HERACROSS, gMonBackPic_HeracrossF), SPECIES_SPRITE(SNEASEL, gMonBackPic_SneaselF), + SPECIES_SPRITE(URSARING, gMonBackPic_UrsaringF), + SPECIES_SPRITE(PILOSWINE, gMonBackPic_PiloswineF), + SPECIES_SPRITE(OCTILLERY, gMonBackPic_OctilleryF), + SPECIES_SPRITE(HOUNDOOM, gMonBackPic_HoundoomF), + SPECIES_SPRITE(DONPHAN, gMonBackPic_DonphanF), + SPECIES_SPRITE(TORCHIC, gMonBackPic_TorchicF), + SPECIES_SPRITE(COMBUSKEN, gMonBackPic_CombuskenF), + SPECIES_SPRITE(BLAZIKEN, gMonBackPic_BlazikenF), + SPECIES_SPRITE(BEAUTIFLY, gMonBackPic_BeautiflyF), + SPECIES_SPRITE(DUSTOX, gMonBackPic_DustoxF), + SPECIES_SPRITE(LUDICOLO, gMonBackPic_LudicoloF), + SPECIES_SPRITE(NUZLEAF, gMonBackPic_NuzleafF), + SPECIES_SPRITE(SHIFTRY, gMonBackPic_ShiftryF), SPECIES_SPRITE(MEDITITE, gMonBackPic_MedititeF), SPECIES_SPRITE(MEDICHAM, gMonBackPic_MedichamF), @@ -1401,6 +1414,7 @@ const struct CompressedSpriteSheet gMonBackPicTableFemale[] = SPECIES_SPRITE(WEAVILE, gMonBackPic_WeavileF), SPECIES_SPRITE(RHYPERIOR, gMonBackPic_RhyperiorF), SPECIES_SPRITE(TANGROWTH, gMonBackPic_Tangrowth), + SPECIES_SPRITE(MAMOSWINE, gMonBackPic_Mamoswine), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonBackPic_UnfezantF), diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 98b21deb2f..af7200a78b 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1379,6 +1379,19 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(SCIZOR, gMonFrontPic_ScizorF), SPECIES_SPRITE(HERACROSS, gMonFrontPic_HeracrossF), SPECIES_SPRITE(SNEASEL, gMonFrontPic_SneaselF), + SPECIES_SPRITE(URSARING, gMonFrontPic_UrsaringF), + SPECIES_SPRITE(PILOSWINE, gMonFrontPic_PiloswineF), + SPECIES_SPRITE(OCTILLERY, gMonFrontPic_OctilleryF), + SPECIES_SPRITE(HOUNDOOM, gMonFrontPic_HoundoomF), + SPECIES_SPRITE(DONPHAN, gMonFrontPic_DonphanF), + SPECIES_SPRITE(TORCHIC, gMonFrontPic_Torchic), + SPECIES_SPRITE(COMBUSKEN, gMonFrontPic_CombuskenF), + SPECIES_SPRITE(BLAZIKEN, gMonFrontPic_BlazikenF), + SPECIES_SPRITE(BEAUTIFLY, gMonFrontPic_BeautiflyF), + SPECIES_SPRITE(DUSTOX, gMonFrontPic_DustoxF), + SPECIES_SPRITE(LUDICOLO, gMonFrontPic_LudicoloF), + SPECIES_SPRITE(NUZLEAF, gMonFrontPic_NuzleafF), + SPECIES_SPRITE(SHIFTRY, gMonFrontPic_ShiftryF), SPECIES_SPRITE(MEDITITE, gMonFrontPic_MedititeF), SPECIES_SPRITE(MEDICHAM, gMonFrontPic_MedichamF), @@ -1400,6 +1413,7 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(WEAVILE, gMonFrontPic_WeavileF), SPECIES_SPRITE(RHYPERIOR, gMonFrontPic_RhyperiorF), SPECIES_SPRITE(TANGROWTH, gMonFrontPic_TangrowthF), + SPECIES_SPRITE(MAMOSWINE, gMonFrontPic_MamoswineF), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SPRITE(UNFEZANT, gMonFrontPic_UnfezantF), diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 855f5c9aac..8658f9827a 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1378,6 +1378,19 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(SCIZOR, gMonPalette_Scizor), SPECIES_PAL(HERACROSS, gMonPalette_Heracross), SPECIES_PAL(SNEASEL, gMonPalette_Sneasel), + SPECIES_PAL(URSARING, gMonPalette_Ursaring), + SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine), + SPECIES_PAL(OCTILLERY, gMonPalette_Octillery), + SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom), + SPECIES_PAL(DONPHAN, gMonPalette_Donphan), + SPECIES_PAL(TORCHIC, gMonPalette_Torchic), + SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken), + SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken), + SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly), + SPECIES_PAL(DUSTOX, gMonPalette_Dustox), + SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo), + SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf), + SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry), SPECIES_PAL(MEDITITE, gMonPalette_Meditite), SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), @@ -1399,6 +1412,7 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = SPECIES_PAL(WEAVILE, gMonPalette_Weavile), SPECIES_PAL(RHYPERIOR, gMonPalette_Rhyperior), SPECIES_PAL(TANGROWTH, gMonPalette_Tangrowth), + SPECIES_PAL(MAMOSWINE, gMonPalette_Mamoswine), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index f2c944d3e1..912ae2a512 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1377,6 +1377,19 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor), SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross), SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel), + SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring), + SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine), + SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery), + SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom), + SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan), + SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic), + SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken), + SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken), + SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly), + SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox), + SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo), + SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf), + SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry), SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), @@ -1398,6 +1411,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = SPECIES_SHINY_PAL(WEAVILE, gMonShinyPalette_Weavile), SPECIES_SHINY_PAL(RHYPERIOR, gMonShinyPalette_Rhyperior), SPECIES_SHINY_PAL(TANGROWTH, gMonShinyPalette_Tangrowth), + SPECIES_SHINY_PAL(MAMOSWINE, gMonShinyPalette_Mamoswine), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(UNFEZANT, gMonShinyPalette_UnfezantF), diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 514f5b0e6e..128f741146 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1340,6 +1340,19 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_SCIZOR] = gMonIcon_Scizor, [SPECIES_HERACROSS] = gMonIcon_Heracross, [SPECIES_SNEASEL] = gMonIcon_Sneasel, + [SPECIES_URSARING] = gMonIcon_Ursaring, + [SPECIES_PILOSWINE] = gMonIcon_Piloswine, + [SPECIES_OCTILLERY] = gMonIcon_Octillery, + [SPECIES_HOUNDOOM] = gMonIcon_Houndoom, + [SPECIES_DONPHAN] = gMonIcon_Donphan, + [SPECIES_TORCHIC] = gMonIcon_Torchic, + [SPECIES_COMBUSKEN] = gMonIcon_Combusken, + [SPECIES_BLAZIKEN] = gMonIcon_Blaziken, + [SPECIES_BEAUTIFLY] = gMonIcon_Beautifly, + [SPECIES_DUSTOX] = gMonIcon_Dustox, + [SPECIES_LUDICOLO] = gMonIcon_Ludicolo, + [SPECIES_NUZLEAF] = gMonIcon_Nuzleaf, + [SPECIES_SHIFTRY] = gMonIcon_Shiftry, [SPECIES_MEDITITE] = gMonIcon_Meditite, [SPECIES_MEDICHAM] = gMonIcon_Medicham, #if P_GEN_4_POKEMON == TRUE @@ -1365,6 +1378,7 @@ const u8 *const gMonIconTableFemale[] = [SPECIES_WEAVILE] = gMonIcon_Weavile, [SPECIES_RHYPERIOR] = gMonIcon_Rhyperior, [SPECIES_TANGROWTH] = gMonIcon_Tangrowth, + [SPECIES_MAMOSWINE] = gMonIcon_Mamoswine, #endif #if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = gMonIcon_UnfezantF, @@ -2635,6 +2649,19 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_SCIZOR] = 0, [SPECIES_HERACROSS] = 0, [SPECIES_SNEASEL] = 0, + [SPECIES_URSARING] = 2, + [SPECIES_PILOSWINE] = 2, + [SPECIES_OCTILLERY] = 0, + [SPECIES_HOUNDOOM] = 0, + [SPECIES_DONPHAN] = 0, + [SPECIES_TORCHIC] = 0, + [SPECIES_COMBUSKEN] = 0, + [SPECIES_BLAZIKEN] = 0, + [SPECIES_BEAUTIFLY] = 0, + [SPECIES_DUSTOX] = 5, + [SPECIES_LUDICOLO] = 1, + [SPECIES_NUZLEAF] = 1, + [SPECIES_SHIFTRY] = 5, [SPECIES_MEDITITE] = 0, [SPECIES_MEDICHAM] = 0, #if P_GEN_4_POKEMON == TRUE @@ -2654,6 +2681,7 @@ const u8 gMonIconPaletteIndicesFemale[] = [SPECIES_WEAVILE] = 0, [SPECIES_RHYPERIOR] = 0, [SPECIES_TANGROWTH] = 0, + [SPECIES_MAMOSWINE] = 2, #endif #if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = 1, From 23d51df7c0a65f874a146d8076c8093323424783 Mon Sep 17 00:00:00 2001 From: SubzeroEclipse Date: Sat, 1 Jul 2023 11:16:31 +0200 Subject: [PATCH 039/256] Added Hisuian Sneasel --- graphics/pokemon/sneasel/hisuian/backf.png | Bin 0 -> 608 bytes graphics/pokemon/sneasel/hisuian/frontf.png | Bin 0 -> 662 bytes include/graphics.h | 2 ++ src/data/graphics/pokemon.h | 2 ++ src/data/pokemon/species_info.h | 2 +- src/data/pokemon_graphics/back_pic_table.h | 2 ++ src/data/pokemon_graphics/front_pic_table.h | 2 ++ src/data/pokemon_graphics/palette_table.h | 4 +++- src/data/pokemon_graphics/shiny_palette_table.h | 2 ++ src/pokemon_icon.c | 2 ++ 10 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 graphics/pokemon/sneasel/hisuian/backf.png create mode 100644 graphics/pokemon/sneasel/hisuian/frontf.png diff --git a/graphics/pokemon/sneasel/hisuian/backf.png b/graphics/pokemon/sneasel/hisuian/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..7b6cc3a3f0911bcaaf4ae0a871dcc14d245a8353 GIT binary patch literal 608 zcmV-m0-ybfP)z*I|XKsr$H^!RsNG3&`xEUQm<0005& zNklAt55XT(^JBT0R5wM{S{Q`wh4uX*CSLqPA&8!ZcvOVhBFHpMaAjPHl z#&&lQ+}cHOOM36UB+W}+%vL(|O~U>B-+6ccv(x#1fAJx<08xroX!G00(R$s zZhFG-tb~s^^Ylj{tP+T*fq*Zp5`Y-?g%H5GV^1={;Ei+OF>3%i^j*H7coQJFe2g^# zeK(Ic0F;;NZ(oR zMv^N?fn}BWB8h{pa=wzlvXWzLt=`+tcmw$J)0}Hq!)ld7o$!GdP6f z%=c@(7Q-mn<$Xd)fIb||U#p2B!zfWL8^~WtHDrqhexhcIY5JL_s*r&kRak5rM5Nq> up(Lh9-3I{he%5iS){lrN4UfO^KlKfA5E2%7(6j&m0000F3I$`XC~5QOGxQsDFx)0B8BEnlcsXq7 z(xrtAg|@_;23Lr-Mu!Wrhb{&Wh1(?05WN8i8yP_R zf)K5N`LHp_2>yfo(Lco3n6V&gAzQD5(@$Oy;0d*o9XWkDXYrelxQQ$PaJ#DS{bs@W zd~rZC;N+@mv&Ui2k{tV(E;_5vNv2&jbi_;@}M<<5%iRvkD!256Xr{% z0EF6b3E)b;t^&s4$VUi+bP2?@)TNCP3QpTlY3b##nl$h6L(X~cm%B9I{T*+KoQEig zzBK|Kx29l1%LYk$nN5fHzk7q9SnU<1C4)ptD(Mgd@0B Date: Sun, 2 Jul 2023 07:28:08 +0200 Subject: [PATCH 040/256] Fixed Meganium shiny There was a mismatch between the normal and the shiny that I didn't notice at first, so the regular palette was fixed. Thanks to CyanSixFour for pointing that out. --- graphics/pokemon/meganium/anim_front.png | Bin 1496 -> 1495 bytes graphics/pokemon/meganium/anim_frontf.png | Bin 1453 -> 1452 bytes graphics/pokemon/meganium/normal.pal | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/graphics/pokemon/meganium/anim_front.png b/graphics/pokemon/meganium/anim_front.png index 565bbfc2bc22565a43dfd764f93636df7b3d9aca..e9868059fb6b40759a85936242d50553adc0b628 100644 GIT binary patch delta 1423 zcmV;A1#tS<3)c&fM;gr_IeQQ}_N1KuIaj8V&F)Tn=zx&4@3U{-zL}lxSJM`UVQ9)>nC7Y~zGR9V*W!Vcwgfp=;)&E! z%GAuLZNnnz_1~izreQ@JkotD$EcEY~C;9Ez*d5 z1}%YWc(aKy5kS;PU~I2pLEuTF!8vUKP>%t0$~jj7n%3ce=Z+H4o;@c@K!5t2 zRFqRZcZj0`N)E{@r)ZJ7x=5Wi)Q_oY$$tToqn4u8Fh&Cb#4MKP9VZ8qT>v`Xab(=> zcLscS3jnttktFH*{%FEC0BG-x`!rmh&-rNb8VlgT%g{Mf=U}mQ?J{x`{R{Oq@@!iEDTacKHd}bK16m`R3N3+E~*n||e z{V5w79}rS9j2lP%#o|VRt-3v!vg<~MQf6FF%TJ-TssM0*mL6spdopCh&t*V&2rSf) zvCJtOu?*vUEcH47INUA(=o6Q!OppNJ(>DN|L0s-N0NY}<`1q6^20s>C34n6}^ruJX zgCOq8K(HZZeX;1i&tXe77Hf1yg9+UC41jaj_2o?o@8q^O@W(w->5O*VM(Cxqg3U~W zG)+Y1cc)cmq5W?IT!7MNz({A~ z<7v}0udHSjaZM<*(x+(4ViGgXrvQ`#w-Z-JR>ZTyAVin31Xly65?97@R{QD`RS!}c zO5u_UK;K^l6QTg{T>$Q>fE3266avVv;douk;T*n+aJ({p@x#@!+Z9G9dR)E>!1YHs zRvHt30!aV56%W7@Z2p)hYJfUw0OLwLplv|BTu=bbG8Qw$13HDnN|galL}IHlcs(lO zv7Jo1lh;bG1xLC9NP3{Z{FMN1A4fVI7c2-DCWY+vX_Uk9UjncpYJ?LzTtA%jpf;~- z;6dsU{s0^hXvu)R5+>!lkSqoUA^WpLvOfUj6q3z?ah74}Fi`bCvinFkUhFd_tc2Vt;vmmM761blc#UJJNHFacg!Z6@z^!n}b2_9d zloz%69Pr(qG{YR2aG1lN%-j>Y*eFu3fb=3OaHj5Hd?L4+)C&cn$zo%@prf87&U%4Z zLXz_cEXJ&dtfm!`e^d-UR@)y75iT@pWCMZ3hwdQD6&@uL2(+2bJw_O?=Gv^=c3?sz zpm--g*XB8pmrkDU<1gu4n|Dey>_Nak{QN$r{_q{L^E9OF`ak~c+`Rozsr0(r{zGjA dsQw?V!e2gD9C9J{&!PYT002ovPDHLkV1mknnj-)J delta 1424 zcmV;B1#kM-3)l;gM;iY*T6+*V_N1K6AUVy=&1!0DK8RoGjgNsySs!#LxOV0k z=%0{V`(~|_YIb+pLkEPUeV={v_RZ{kznZo<3`0{6!!%b_@g-B_xE2qjv?a)~5>KR- zQl@6+R^kd-%BHgLW#-I(7-D%Pd)c8S7C-YVDo+%Z;?ji zGiV81!<$Wvi2$NT0%Lm(BSOe}OeZ(Wdk3@yKs^S~DPv3pXj+GV9XLurd;XFr0sX~G zQc+Iv(jkrtC^;mroT5eQ>LPX8P(P-oCI1CTj$4XW!x#?)5VKgCcbFVZcLC^lhmmo& z-x;voEdbnpM3SWI`{OCw0HFO~(x>6_e8$Gpr&s`cL%$a)58`Zmatc88_dWJ3R7G+S z0KWlH2Vl~O0!HV5`?~_@aW?FSTQD8*^V1sa+4?>|lTz4r0C@bA0PvmX9S;|P1m3Ea zI=<(goQe(g6My4+3r~@#!OTu)ax(i!toD5)KDe8v7&xVVAun8$_ z`y)OxJ|LuI7&p$?tHq51TXlOd;@6D~rQEolmY+gvRRLgsJUz>B{$|E!pUZ&m5Ll=g z=b2+Z<{8e|MCx?_Ft}X+&?hEUnIHkcM$Z5^fw&u%G-pOrm;7@v@(jo1*jnGSJ1)G@$ zX_|=2?@p_Kf?5taYE{|;Ht8XRED2~Lv?I1c#Txs4_=DY4>_ujt0PMi5+ zDFo;Z+AJ0?Zfq92y>}5O+}m#VqBOnTdrTuvn0C*9wf;^Qc}O;BL;K$bxB#WkfRWC| z$J3^1URlj5;+jxqrBBh8#Uy5&PXQsve{? zl)@zyfWE&9CPV??y8zr%0V#}CDFl#T!|}S7!#R8t;do{I;)kncw=0ZJ^tgN%fa{NN ztTZNn1d#r9D;|I+*!(e1)BttV0LGPgK-++Lxu5`=Wh`ch2XqRDl_~?Ah{RT9@Oo6l zV>_92r%#n$3yyRJkn})**%JZWK8$oYE?5vIObU6>r%?{ae+|Hfs1Z)=aQ$%7gW5c; zfd{Ea_ycf2pd|zTM3|JXL$Vkchyd6SK$Hc42>?Dm6}Gqv>i${^+rp%9e%um3{oIpN zB*;1dU{YG5#&2G@o-E$ADt!SihPMI_k^v7QtuoyB?exI&L?7!0=aP1VgTQ1PIyL+7 z!lUqzKOkG+QKn#098#JYX>d{@X}twSf{i()e3mwD$o>G7Q%E)s#z}^!!$8#o$@V9I z``{1uXJ9ep#Q+C!3lQ%Jda=*Buo7~oh=V*2SpW=p;581VBEhs*5PASL1a5^%p3@;! zp}eTg=78_^q#5SGl))VSbm$(@#YT~O1*8{QfiranlOws+q+TcpO%@yL6&?2^an=jO z5|W%pU@?Y0WHqgj{G(#d{wgVF) z0mVD{xi-&%ymaz(AAd>b+PqVuVGjcS;pg``^@s0}ou?sX*Z=Wn=jQE)N~PD`_8)31 eK=uD<75)OxE)SQATdX7i0000dY&Z! diff --git a/graphics/pokemon/meganium/anim_frontf.png b/graphics/pokemon/meganium/anim_frontf.png index a7f95e78358c9998f30f94d810ee318e9f626d5f..7faedcabefb6712ca219ec99519a5fee15766959 100644 GIT binary patch delta 1290 zcmV+l1@-!^3#vi?+Ba*tRI@wd9y%b9G~dp= zc{4ljGmPnGS%$V*+3X!%|4del@#&4M3P>3IBc!qo!C^A|)5 zn5QpDSv$oGm$*8hNNLpV+d_-vm5@Qv@EjHiGE zUaOS00^d8^7YFKR_RRCAR*|T}%hk086-+ zK==Icq8IjiG7uh!aaU}55O6qB_30ShL2m@lJqO^z^8)!$!aKR{_kv+ZL^`HhUOnce0yL}m&+3M`km>Z_m@$7$wi@hZ4v~K)gEqhJB+7GV!(^?>%&1SFj6liKmNL|ii zrBr};(#p+QIn@laA`0V1RyD=VS>tPMj41=9a7hQCA8uR*TN9hXBk!#mdr{5J393H8lV$Sp6wa^Z<4B0LEoCU@SrZ zN)hb}-xpKiKVqV#u2T25}z{{}^(y%a~9JIa9<%zK?7G zdMtE}BPmFb_A)}-5JPAyTyjpAR7B-PEj|GPuOrPc0Y)6=2u5S?m`*2()XGqLksX?; z*Bc(osV22TLDXb%uwK$ZM}I2LW`WqEBs#xLL{L0AU~NU{#xnS5W$mLOQq~6@3a*_w2Kp!D*1lOQrJCKD^w0r;r1^H{ z&70YIpJ7Zl%QCdh%4YBA`e(9Yj8AW5RY1y^fidPRYgPr!q_RdfHapDbX!vZ!1{F13JHtN4);_W+da0q27uR%86@ci!C=Ie0BG$DyEGbJz}R54j|H&R4?2^_Y*pkO9*r zuu)^qGpBsOGn}!Zl+@VEdVPfUt3K|+8XJ_q0&`sG{$ur79s4Nv)1_+>hk086;n zK=<(SpcnRgG7uh!ephUI5HL7W_30ShL2m@ly#V0A^8)!$!aKR{_kv+ZMB1m@UOn-kF2?3;kTT=tDg4Lh$L=R9`4`5tY1I7~c zuM{*uV+D&D)PPChveJzJHzIL#BlsOE`jweXdZT@`>KNFJjO{6S_0ucgB0*F(P z5a5Fgp~V%b?ysb7M@S0ir%eIWu6%ij1X%Fnf&=as2-V7Zi0}dkX zGCcU*=)m_y9%~loQtbwVz+@dVHU9A0QFz1;$Qn4x2qeWNrLmO;lZuqq`+pE5Xv_uW z1oo9GD3RHY3*}-rZ{9tzsiXm?X7{q-*{A0+)F6Tle+EEQY%C0MRsVW zUT=6Tr<&9X1yPg5!Fovt9e=4fn+0NvlAK4N82t{i8+N4pqhk26TftBi;X+*&2qZpq z1KFN%lvp6F&2-`zQNW(mX47#(36X%}gZ!j6Pk_91^R)NAqLbRZQKC@?0e|@A-I(T+ zx5&xUNM$$w^<(4S@)K>PH@()MdKIANe^iCP0lFOuQlb#^6951J00>D%PDHLkV1g5# BY_tFX diff --git a/graphics/pokemon/meganium/normal.pal b/graphics/pokemon/meganium/normal.pal index 75da9204bb..c668ecdaa5 100644 --- a/graphics/pokemon/meganium/normal.pal +++ b/graphics/pokemon/meganium/normal.pal @@ -11,9 +11,9 @@ JASC-PAL 139 222 49 16 16 16 255 255 255 -255 57 90 +205 32 57 123 16 57 246 164 156 -205 32 57 +255 57 90 205 205 205 106 106 106 From 40a5995eadbc788b4cf463fafc4dce79afb48c8d Mon Sep 17 00:00:00 2001 From: hetoord Date: Mon, 3 Jul 2023 09:54:43 +0200 Subject: [PATCH 041/256] Teatime tests and fixes (#3096) --- data/battle_scripts_1.s | 9 +- test/move_effect_teatime.c | 270 +++++++++++++++++++++++++++++++++++++ 2 files changed, 278 insertions(+), 1 deletion(-) create mode 100644 test/move_effect_teatime.c diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c2d5e894ab..707cb2d6ab 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -540,11 +540,12 @@ BattleScript_EffectTeatime:: @ at least one battler is affected attackanimation waitanimation + setbyte gBattlerTarget, 0 BattleScript_TeatimeLoop: - jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul jumpifrodaffected BS_TARGET, BattleScript_Teatimerod jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor + jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul @ in semi-invulnerable state OR held item is not a Berry orword gHitMarker, HITMARKER_NO_ANIMATIONS | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries consumeberry BS_TARGET, TRUE @ consume the berry, then restore the item from changedItems @@ -562,6 +563,12 @@ BattleScript_Teatimevul: goto BattleScript_MoveEnd BattleScript_Teatimesorb: call BattleScript_AbilityPopUpTarget + tryhealquarterhealth BS_TARGET BattleScript_Teatimesorb_end + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printstring STRINGID_PKMNREGAINEDHEALTH + waitmessage B_WAIT_TIME_LONG +BattleScript_Teatimesorb_end: moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS diff --git a/test/move_effect_teatime.c b/test/move_effect_teatime.c new file mode 100644 index 0000000000..561a5d9876 --- /dev/null +++ b/test/move_effect_teatime.c @@ -0,0 +1,270 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_TEATIME].effect == EFFECT_TEATIME); + ASSUME(gItems[ITEM_LIECHI_BERRY].holdEffect == HOLD_EFFECT_ATTACK_UP); +} + +SINGLE_BATTLE_TEST("Teatime causes the user to consume its Berry, ignoring HP requirements") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + } WHEN { + TURN { MOVE(player, MOVE_TEATIME); } + } SCENE { + MESSAGE("Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); + MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime causes the user to consume its Berry, even in the pressence of Unnerve") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + OPPONENT(SPECIES_EKANS) { Ability(ABILITY_UNNERVE); } + } WHEN { + TURN { MOVE(player, MOVE_TEATIME); } + } SCENE { + MESSAGE("Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); + MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime causes the user to consume its Berry, even under the effects of Wonder Room") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { + MOVE(opponent, MOVE_WONDER_ROOM); + MOVE(player, MOVE_TEATIME); + } + } SCENE { + MESSAGE("Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); + MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime causes the user to consume its Berry, ignoring HP requirements, when not used by the Player") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { MOVE(opponent, MOVE_TEATIME); } + } SCENE { + MESSAGE("Foe Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime causes other Pokemon to consume their Berry even if the user doesn't have a Berry as its held item") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { MOVE(player, MOVE_TEATIME); } + } SCENE { + MESSAGE("Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime causes other Pokemon to consume their Berry even if the user doesn't have a Berry as its held item, when not used by the Player") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + } WHEN { + TURN { MOVE(opponent, MOVE_TEATIME); } + } SCENE { + MESSAGE("Foe Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); + MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); + } +} + +DOUBLE_BATTLE_TEST("Teatime causes all Pokémon to consume their berry") +{ + struct BattlePokemon *user; + PARAMETRIZE { user = playerLeft; } + PARAMETRIZE { user = playerRight; } + PARAMETRIZE { user = opponentLeft; } + PARAMETRIZE { user = opponentRight; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { MOVE(user, MOVE_TEATIME); } + } SCENE { + if (user == playerLeft || user == playerRight) + { + MESSAGE("Wobbuffet used Teatime!"); + } else { + MESSAGE("Foe Wobbuffet used Teatime!"); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, user); + MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of Wobbuffet rose!"); + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime fails if no Pokémon is holding a Berry") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + } WHEN { + TURN { MOVE(player, MOVE_TEATIME); } + } SCENE { + MESSAGE("Wobbuffet used Teatime!"); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); + MESSAGE("But it failed!"); + } +} + +SINGLE_BATTLE_TEST("Teatime does not affect Pokémon in the semi-invulnerable turn of a move") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_NONE); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { + MOVE(opponent, MOVE_FLY); + MOVE(player, MOVE_TEATIME); + } + } SCENE { + MESSAGE("Wobbuffet used Teatime!"); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, player); + NOT MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime triggers Volt Absorb if it has been affected by Electrify or Plasma Fists, even when not holding a Berry") +{ + u32 move; + u32 item = ITEM_LIECHI_BERRY; + bool8 shouldTriggerAbility = TRUE; + + PARAMETRIZE { move = MOVE_CELEBRATE; shouldTriggerAbility = FALSE; } + PARAMETRIZE { move = MOVE_ELECTRIFY; } + PARAMETRIZE { move = MOVE_PLASMA_FISTS; } + PARAMETRIZE { move = MOVE_ELECTRIFY; item = ITEM_NONE; } + PARAMETRIZE { move = MOVE_PLASMA_FISTS; item = ITEM_NONE; } + + GIVEN { + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); Item(item); HP(55); MaxHP(100); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { + MOVE(player, move); + MOVE(opponent, MOVE_TEATIME); + } + } SCENE { + MESSAGE("Foe Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); + if (shouldTriggerAbility) + { + ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); + HP_BAR(player, damage: -25); + NOT MESSAGE("Using Liechi Berry, the Attack of Jolteon rose!"); + } else { + NOT ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); + MESSAGE("Using Liechi Berry, the Attack of Jolteon rose!"); + } + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime triggers Lightning Rod if it has been affected by Electrify or Plasma Fists, even when not holding a Berry") +{ + u32 move; + u32 item = ITEM_LIECHI_BERRY; + bool8 shouldTriggerAbility = TRUE; + + PARAMETRIZE { move = MOVE_CELEBRATE; shouldTriggerAbility = FALSE; } + PARAMETRIZE { move = MOVE_ELECTRIFY; } + PARAMETRIZE { move = MOVE_PLASMA_FISTS; } + PARAMETRIZE { move = MOVE_ELECTRIFY; item = ITEM_NONE; } + PARAMETRIZE { move = MOVE_PLASMA_FISTS; item = ITEM_NONE; } + + GIVEN { + PLAYER(SPECIES_PIKACHU) { Ability(ABILITY_LIGHTNING_ROD); Item(item); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { + MOVE(player, move); + MOVE(opponent, MOVE_TEATIME); + } + } SCENE { + MESSAGE("Foe Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); + if (shouldTriggerAbility) + { + ABILITY_POPUP(player, ABILITY_LIGHTNING_ROD); + MESSAGE("Pikachu's Sp. Atk rose!"); + NOT MESSAGE("Using Liechi Berry, the Attack of Pikachu rose!"); + } else { + NONE_OF { + ABILITY_POPUP(player, ABILITY_LIGHTNING_ROD); + MESSAGE("Pikachu's Sp. Atk rose!"); + } + MESSAGE("Using Liechi Berry, the Attack of Pikachu rose!"); + } + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} + +SINGLE_BATTLE_TEST("Teatime triggers Motor Drive if it has been affected by Electrify or Plasma Fists, even when not holding a Berry") +{ + u32 move; + u32 item= ITEM_LIECHI_BERRY; + bool8 shouldTriggerAbility = TRUE; + + PARAMETRIZE { move = MOVE_CELEBRATE; shouldTriggerAbility = FALSE; } + PARAMETRIZE { move = MOVE_ELECTRIFY; } + PARAMETRIZE { move = MOVE_PLASMA_FISTS; } + PARAMETRIZE { move = MOVE_ELECTRIFY; item = ITEM_NONE; } + PARAMETRIZE { move = MOVE_PLASMA_FISTS; item = ITEM_NONE; } + + GIVEN { + ASSUME(P_GEN_4_POKEMON == TRUE); + PLAYER(SPECIES_ELECTIVIRE) { Ability(ABILITY_MOTOR_DRIVE); Item(item); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LIECHI_BERRY); } + } WHEN { + TURN { + MOVE(player, move); + MOVE(opponent, MOVE_TEATIME); + } + } SCENE { + MESSAGE("Foe Wobbuffet used Teatime!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TEATIME, opponent); + if (shouldTriggerAbility) + { + ABILITY_POPUP(player, ABILITY_MOTOR_DRIVE); + MESSAGE("Electivire's Speed rose!"); + NOT MESSAGE("Using Liechi Berry, the Attack of Electivire rose!"); + } else { + NONE_OF { + ABILITY_POPUP(player, ABILITY_MOTOR_DRIVE); + MESSAGE("Electivire's Speed rose!"); + } + MESSAGE("Using Liechi Berry, the Attack of Electivire rose!"); + } + MESSAGE("Using Liechi Berry, the Attack of Foe Wobbuffet rose!"); + } +} From 1fa9a054703bda4a2735d35553506b7c878e4810 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Mon, 3 Jul 2023 04:01:59 -0400 Subject: [PATCH 042/256] Convert move flags and bans into GCC bitfields (#2952) * Slicing moves to new bitfield * Wind moves to new bitfield * Two-strike moves to new bitfield * Forgot to add flagTwoStrikes to battle_moves.h * Removed "flag" from field names * FLAG_HIT_IN_SUBSTITUTE and FLAG_THAW_USER * Airborne moves * FLAG_POWDER, FLAG_TARGET_ABILITY_IGNORED and FLAG_DANCE * FLAG_BALLISTIC and FLAG_PROTECTION_MOVE * Fixed missing uses of MOVE_UNAVAILABLE in battle_ai_util.c * FLAG_SOUND * FLAG_DMG_UNDERGROUND and FLAG_DMG_UNDERWATER * FLAG_DMG_MINIMIZE * Cleanup * FLAG_STAT_STAGES_IGNORED * Updated Pollen Puff's ballistic flag * FLAG_STRONG_JAW_BOOST and FLAG_MEGA_LAUNCHER_BOOST * thaw * FLAG_THREE_STRIKES * FLAG_IRON_FIST_BOOST * FLAG_RECKLESS_BOOST * FLAG_HIGH_CRIT * Removed empty flags * Moves that fail when called by Me First + added missing Shell Trap * Moves that fail when Gravity is active * Better names for banned fields * Moves that fail when called by Instruct * Cleanup * Contact Moves + Fixed Wandering Spirit skipping contact checks * Inverted FLAG_PROTECT_AFFECTED so that there's a flag for moves that SKIP protect. * Simplified B_MOVE_FLAGS configs * FORBIDDEN_METRONOME * Renamed hitsPastSubstitute to ignoresSubstitute * FORBIDDEN_PARENTAL_BOND * Struggle uncallable by Metronome * FORBIDDEN_MIMIC * FLAG_KINGS_ROCK_AFFECTED * Made a single config for move flags * Macro for checking move flags * FLAG_MAGIC_COAT_AFFECTED * Fixed HasMagicCoatAffectedMove * FLAG_SNATCH_AFFECTED * Removed unused EFFECT_FLINCH_MINIMIZE_HIT * Fixed Stench/King's Rock interaction * Removed sMovesNotAffectedByStench in favor of checking move effects * Removed EFFECT_TWISTER, which was a repeat of EFFECT_FLINCH_HIT * Changed Gen2 configs to less than Gen 3 * FORBIDDEN_SLEEP_TALK * Cleanup * Inverted FLAG_MIRROR_MOVE_AFFECTED * FLAG_SHEER_FORCE_BOOST * Ordered * FORBIDDEN_ASSIST and FORBIDDEN_COPYCAT * Removed TestMoveFlags and TestMoveFlagsInMoveset + flags field * Fixed Triple Arrows test --- data/battle_scripts_1.s | 8 - include/battle.h | 7 +- include/battle_ai_util.h | 8 +- include/battle_util.h | 1 - include/config/battle.h | 1 + include/constants/battle_move_effects.h | 528 +++-- include/constants/pokemon.h | 33 - include/pokemon.h | 39 +- src/battle_ai_main.c | 38 +- src/battle_ai_util.c | 164 +- src/battle_main.c | 3 +- src/battle_script_commands.c | 353 +-- src/battle_tv.c | 8 +- src/battle_util.c | 173 +- src/data/battle_moves.h | 2590 ++++++++++++----------- test/ability_cute_charm.c | 6 +- test/ability_damp.c | 2 +- test/ability_flame_body.c | 6 +- test/ability_magic_bounce.c | 4 +- test/ability_poison_point.c | 6 +- test/ability_static.c | 6 +- test/ability_stench.c | 1 - test/move.c | 2 +- test/move_effect_beak_blast.c | 8 +- test/move_effect_recoil_if_miss.c | 2 +- test/move_effect_triple_arrows.c | 2 +- test/move_flag_three_strikes.c | 4 +- test/powder_moves.c | 6 +- test/status1.c | 2 +- test/test_battle.h | 2 +- 30 files changed, 1906 insertions(+), 2107 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 707cb2d6ab..29bada2044 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -166,11 +166,9 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectPsychUp @ EFFECT_PSYCH_UP .4byte BattleScript_EffectMirrorCoat @ EFFECT_MIRROR_COAT .4byte BattleScript_EffectSkullBash @ EFFECT_SKULL_BASH - .4byte BattleScript_EffectTwister @ EFFECT_TWISTER .4byte BattleScript_EffectEarthquake @ EFFECT_EARTHQUAKE .4byte BattleScript_EffectFutureSight @ EFFECT_FUTURE_SIGHT .4byte BattleScript_EffectGust @ EFFECT_GUST - .4byte BattleScript_EffectStomp @ EFFECT_FLINCH_MINIMIZE_HIT .4byte BattleScript_EffectSolarBeam @ EFFECT_SOLAR_BEAM .4byte BattleScript_EffectThunder @ EFFECT_THUNDER .4byte BattleScript_EffectTeleport @ EFFECT_TELEPORT @@ -5390,12 +5388,6 @@ BattleScript_SkullBashEnd:: call BattleScript_PowerHerbActivation goto BattleScript_TwoTurnMovesSecondTurn -BattleScript_EffectTwister: -BattleScript_FlinchEffect: -BattleScript_EffectStomp: - setmoveeffect MOVE_EFFECT_FLINCH - goto BattleScript_EffectHit - BattleScript_EffectBulldoze: setmoveeffect MOVE_EFFECT_SPD_MINUS_1 BattleScript_EffectEarthquake: diff --git a/include/battle.h b/include/battle.h index ca099379f6..5ad99673f8 100644 --- a/include/battle.h +++ b/include/battle.h @@ -685,6 +685,12 @@ struct BattleStruct #define IS_MOVE_SPECIAL(move)(GetBattleMoveSplit(move) == SPLIT_SPECIAL) #define IS_MOVE_STATUS(move)(gBattleMoves[move].split == SPLIT_STATUS) +#define IS_MOVE_RECOIL(move)(gBattleMoves[move].effect == EFFECT_RECOIL_25 \ + || gBattleMoves[move].effect == EFFECT_RECOIL_IF_MISS \ + || gBattleMoves[move].effect == EFFECT_RECOIL_50 \ + || gBattleMoves[move].effect == EFFECT_RECOIL_33 \ + || gBattleMoves[move].effect == EFFECT_RECOIL_33_STATUS) + #define BATTLER_MAX_HP(battlerId)(gBattleMons[battlerId].hp == gBattleMons[battlerId].maxHP) #define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0)) #define BATTLER_DAMAGED(battlerId) ((gSpecialStatuses[battlerId].physicalDmg != 0 || gSpecialStatuses[battlerId].specialDmg != 0)) @@ -703,7 +709,6 @@ struct BattleStruct gBattleMons[battlerId].type3 = TYPE_MYSTERY; \ } - #define IS_BATTLER_PROTECTED(battlerId)(gProtectStructs[battlerId].protected \ || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_WIDE_GUARD \ || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_QUICK_GUARD \ diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 67ff6968e2..99eb03f548 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -98,7 +98,6 @@ bool32 HasMoveWithType(u32 battler, u8 type); bool32 HasMoveWithTypeAndSplit(u32 battler, u8 type, u8 split); bool32 HasMoveEffect(u32 battlerId, u16 moveEffect); bool32 HasMoveWithLowAccuracy(u8, u8, u8, bool32, u16, u16, u16, u16); -bool32 TestMoveFlagsInMoveset(u8 battler, u32 flags); bool32 IsAromaVeilProtectedMove(u16 move); bool32 IsNonVolatileStatusMoveEffect(u16 moveEffect); bool32 IsStatLoweringMoveEffect(u16 moveEffect); @@ -107,7 +106,6 @@ bool32 IsMoveEncouragedToHit(u8 battlerAtk, u8 battlerDef, u16 move); bool32 IsHazardMoveEffect(u16 moveEffect); bool32 MoveCallsOtherMove(u16 move); bool32 MoveRequiresRecharging(u16 move); -bool32 IsInstructBannedMove(u16 move); bool32 IsEncoreEncouragedEffect(u16 moveEffect); void ProtectChecks(u8 battlerAtk, u8 battlerDef, u16 move, u16 predictedMove, s16 *score); bool32 ShouldSetSandstorm(u8 battler, u16 ability, u16 holdEffect); @@ -121,13 +119,17 @@ bool32 HasHealingEffect(u32 battler); bool32 IsTrappingMoveEffect(u16 effect); bool32 HasTrappingMoveEffect(u8 battler); bool32 ShouldFakeOut(u8 battlerAtk, u8 battlerDef, u16 move); -bool32 HasThawingMove(u8 battlerId); +bool32 HasThawingMove(u8 battler); bool32 IsStatRaisingEffect(u16 effect); bool32 IsStatLoweringEffect(u16 effect); bool32 IsStatRaisingEffect(u16 effect); bool32 IsAttackBoostMoveEffect(u16 effect); bool32 IsUngroundingEffect(u16 effect); bool32 IsSemiInvulnerable(u8 battlerDef, u16 move); +bool32 HasSoundMove(u8 battler); +bool32 HasHighCritRatioMove(u8 battler); +bool32 HasMagicCoatAffectedMove(u8 battler); +bool32 HasSnatchAffectedMove(u8 battler); // status checks bool32 AI_CanBeBurned(u8 battler, u16 ability); diff --git a/include/battle_util.h b/include/battle_util.h index ba3b528269..b1d0eeb1a4 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -185,7 +185,6 @@ void ClearIllusionMon(u32 battlerId); bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId); bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); u8 GetBattleMoveSplit(u32 moveId); -bool32 TestMoveFlags(u16 move, u32 flag); bool32 CanFling(u8 battlerId); bool32 IsTelekinesisBannedSpecies(u16 species); bool32 IsHealBlockPreventingMove(u32 battler, u32 move); diff --git a/include/config/battle.h b/include/config/battle.h index 799be9982d..d92c1e2a7a 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -59,6 +59,7 @@ // Move data settings #define B_UPDATED_MOVE_DATA GEN_LATEST // Updates move data in gBattleMoves, including Power, Accuracy, PP, stat changes, targets and chances of secondary effects. #define B_UPDATED_MOVE_TYPES GEN_LATEST // Updates move types. +#define B_UPDATED_MOVE_FLAGS GEN_LATEST // Updates move flags. #define B_PHYSICAL_SPECIAL_SPLIT GEN_LATEST // In Gen3, the move's type determines if it will do physical or special damage. The split icon in the summary will reflect this. #define B_RECOIL_IF_MISS_DMG GEN_LATEST // In Gen5+, Jump Kick and High Jump Kick will always do half of the user's max HP when missing. #define B_KLUTZ_FLING_INTERACTION GEN_LATEST // In Gen5+, Pokémon with the Klutz ability can't use Fling. diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 4f106302a6..c10f6d942a 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -145,273 +145,271 @@ #define EFFECT_PSYCH_UP 141 #define EFFECT_MIRROR_COAT 142 #define EFFECT_SKULL_BASH 143 -#define EFFECT_TWISTER 144 -#define EFFECT_EARTHQUAKE 145 -#define EFFECT_FUTURE_SIGHT 146 -#define EFFECT_GUST 147 -#define EFFECT_FLINCH_MINIMIZE_HIT 148 -#define EFFECT_SOLAR_BEAM 149 -#define EFFECT_THUNDER 150 -#define EFFECT_TELEPORT 151 -#define EFFECT_BEAT_UP 152 -#define EFFECT_SEMI_INVULNERABLE 153 -#define EFFECT_DEFENSE_CURL 154 -#define EFFECT_SOFTBOILED 155 -#define EFFECT_FAKE_OUT 156 -#define EFFECT_UPROAR 157 -#define EFFECT_STOCKPILE 158 -#define EFFECT_SPIT_UP 159 -#define EFFECT_SWALLOW 160 -#define EFFECT_WORRY_SEED 161 -#define EFFECT_HAIL 162 -#define EFFECT_TORMENT 163 -#define EFFECT_FLATTER 164 -#define EFFECT_WILL_O_WISP 165 -#define EFFECT_MEMENTO 166 -#define EFFECT_FACADE 167 -#define EFFECT_FOCUS_PUNCH 168 -#define EFFECT_SMELLINGSALT 169 -#define EFFECT_FOLLOW_ME 170 -#define EFFECT_NATURE_POWER 171 -#define EFFECT_CHARGE 172 -#define EFFECT_TAUNT 173 -#define EFFECT_HELPING_HAND 174 -#define EFFECT_TRICK 175 -#define EFFECT_ROLE_PLAY 176 -#define EFFECT_WISH 177 -#define EFFECT_ASSIST 178 -#define EFFECT_INGRAIN 179 -#define EFFECT_SUPERPOWER 180 -#define EFFECT_MAGIC_COAT 181 -#define EFFECT_RECYCLE 182 -#define EFFECT_REVENGE 183 -#define EFFECT_BRICK_BREAK 184 -#define EFFECT_YAWN 185 -#define EFFECT_KNOCK_OFF 186 -#define EFFECT_ENDEAVOR 187 -#define EFFECT_ERUPTION 188 -#define EFFECT_SKILL_SWAP 189 -#define EFFECT_IMPRISON 190 -#define EFFECT_REFRESH 191 -#define EFFECT_GRUDGE 192 -#define EFFECT_SNATCH 193 -#define EFFECT_LOW_KICK 194 -#define EFFECT_SECRET_POWER 195 -#define EFFECT_RECOIL_33 196 -#define EFFECT_TEETER_DANCE 197 -#define EFFECT_HIT_ESCAPE 198 -#define EFFECT_MUD_SPORT 199 -#define EFFECT_POISON_FANG 200 -#define EFFECT_WEATHER_BALL 201 -#define EFFECT_OVERHEAT 202 -#define EFFECT_TICKLE 203 -#define EFFECT_COSMIC_POWER 204 -#define EFFECT_SKY_UPPERCUT 205 -#define EFFECT_BULK_UP 206 -#define EFFECT_PLACEHOLDER 207 -#define EFFECT_WATER_SPORT 208 -#define EFFECT_CALM_MIND 209 -#define EFFECT_DRAGON_DANCE 210 -#define EFFECT_CAMOUFLAGE 211 +#define EFFECT_EARTHQUAKE 144 +#define EFFECT_FUTURE_SIGHT 145 +#define EFFECT_GUST 146 +#define EFFECT_SOLAR_BEAM 147 +#define EFFECT_THUNDER 148 +#define EFFECT_TELEPORT 149 +#define EFFECT_BEAT_UP 150 +#define EFFECT_SEMI_INVULNERABLE 151 +#define EFFECT_DEFENSE_CURL 152 +#define EFFECT_SOFTBOILED 153 +#define EFFECT_FAKE_OUT 154 +#define EFFECT_UPROAR 155 +#define EFFECT_STOCKPILE 156 +#define EFFECT_SPIT_UP 157 +#define EFFECT_SWALLOW 158 +#define EFFECT_WORRY_SEED 159 +#define EFFECT_HAIL 160 +#define EFFECT_TORMENT 161 +#define EFFECT_FLATTER 162 +#define EFFECT_WILL_O_WISP 163 +#define EFFECT_MEMENTO 164 +#define EFFECT_FACADE 165 +#define EFFECT_FOCUS_PUNCH 166 +#define EFFECT_SMELLINGSALT 167 +#define EFFECT_FOLLOW_ME 168 +#define EFFECT_NATURE_POWER 169 +#define EFFECT_CHARGE 170 +#define EFFECT_TAUNT 171 +#define EFFECT_HELPING_HAND 172 +#define EFFECT_TRICK 173 +#define EFFECT_ROLE_PLAY 174 +#define EFFECT_WISH 175 +#define EFFECT_ASSIST 176 +#define EFFECT_INGRAIN 177 +#define EFFECT_SUPERPOWER 178 +#define EFFECT_MAGIC_COAT 179 +#define EFFECT_RECYCLE 180 +#define EFFECT_REVENGE 181 +#define EFFECT_BRICK_BREAK 182 +#define EFFECT_YAWN 183 +#define EFFECT_KNOCK_OFF 184 +#define EFFECT_ENDEAVOR 185 +#define EFFECT_ERUPTION 186 +#define EFFECT_SKILL_SWAP 187 +#define EFFECT_IMPRISON 188 +#define EFFECT_REFRESH 189 +#define EFFECT_GRUDGE 190 +#define EFFECT_SNATCH 191 +#define EFFECT_LOW_KICK 192 +#define EFFECT_SECRET_POWER 193 +#define EFFECT_RECOIL_33 194 +#define EFFECT_TEETER_DANCE 195 +#define EFFECT_HIT_ESCAPE 196 +#define EFFECT_MUD_SPORT 197 +#define EFFECT_POISON_FANG 198 +#define EFFECT_WEATHER_BALL 199 +#define EFFECT_OVERHEAT 200 +#define EFFECT_TICKLE 201 +#define EFFECT_COSMIC_POWER 202 +#define EFFECT_SKY_UPPERCUT 203 +#define EFFECT_BULK_UP 204 +#define EFFECT_PLACEHOLDER 205 +#define EFFECT_WATER_SPORT 206 +#define EFFECT_CALM_MIND 207 +#define EFFECT_DRAGON_DANCE 208 +#define EFFECT_CAMOUFLAGE 209 // New move effects -#define EFFECT_PLEDGE 212 -#define EFFECT_FLING 213 -#define EFFECT_NATURAL_GIFT 214 -#define EFFECT_WAKE_UP_SLAP 215 -#define EFFECT_WRING_OUT 216 -#define EFFECT_HEX 217 -#define EFFECT_ASSURANCE 218 -#define EFFECT_TRUMP_CARD 219 -#define EFFECT_ACROBATICS 220 -#define EFFECT_HEAT_CRASH 221 -#define EFFECT_PUNISHMENT 222 -#define EFFECT_STORED_POWER 223 -#define EFFECT_ELECTRO_BALL 224 -#define EFFECT_GYRO_BALL 225 -#define EFFECT_ECHOED_VOICE 226 -#define EFFECT_PAYBACK 227 -#define EFFECT_ROUND 228 -#define EFFECT_BRINE 229 -#define EFFECT_VENOSHOCK 230 -#define EFFECT_RETALIATE 231 -#define EFFECT_BULLDOZE 232 -#define EFFECT_FOUL_PLAY 233 -#define EFFECT_PSYSHOCK 234 -#define EFFECT_ROOST 235 -#define EFFECT_GRAVITY 236 -#define EFFECT_MIRACLE_EYE 237 -#define EFFECT_TAILWIND 238 -#define EFFECT_EMBARGO 239 -#define EFFECT_AQUA_RING 240 -#define EFFECT_TRICK_ROOM 241 -#define EFFECT_WONDER_ROOM 242 -#define EFFECT_MAGIC_ROOM 243 -#define EFFECT_MAGNET_RISE 244 -#define EFFECT_TOXIC_SPIKES 245 -#define EFFECT_GASTRO_ACID 246 -#define EFFECT_STEALTH_ROCK 247 -#define EFFECT_TELEKINESIS 248 -#define EFFECT_POWER_SWAP 249 -#define EFFECT_GUARD_SWAP 250 -#define EFFECT_HEART_SWAP 251 -#define EFFECT_POWER_SPLIT 252 -#define EFFECT_GUARD_SPLIT 253 -#define EFFECT_STICKY_WEB 254 -#define EFFECT_METAL_BURST 255 -#define EFFECT_LUCKY_CHANT 256 -#define EFFECT_SUCKER_PUNCH 257 -#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 258 -#define EFFECT_SIMPLE_BEAM 259 -#define EFFECT_ENTRAINMENT 260 -#define EFFECT_HEAL_PULSE 261 -#define EFFECT_QUASH 262 -#define EFFECT_ION_DELUGE 263 -#define EFFECT_FREEZE_DRY 264 -#define EFFECT_TOPSY_TURVY 265 -#define EFFECT_MISTY_TERRAIN 266 -#define EFFECT_GRASSY_TERRAIN 267 -#define EFFECT_ELECTRIC_TERRAIN 268 -#define EFFECT_PSYCHIC_TERRAIN 269 -#define EFFECT_ATTACK_ACCURACY_UP 270 -#define EFFECT_ATTACK_SPATK_UP 271 -#define EFFECT_HURRICANE 272 -#define EFFECT_TWO_TYPED_MOVE 273 -#define EFFECT_ME_FIRST 274 -#define EFFECT_SPEED_UP_HIT 275 -#define EFFECT_QUIVER_DANCE 276 -#define EFFECT_COIL 277 -#define EFFECT_ELECTRIFY 278 -#define EFFECT_REFLECT_TYPE 279 -#define EFFECT_SOAK 280 -#define EFFECT_GROWTH 281 -#define EFFECT_CLOSE_COMBAT 282 -#define EFFECT_LAST_RESORT 283 -#define EFFECT_RECOIL_33_STATUS 284 -#define EFFECT_FLINCH_STATUS 285 -#define EFFECT_RECOIL_50 286 -#define EFFECT_SHELL_SMASH 287 -#define EFFECT_SHIFT_GEAR 288 -#define EFFECT_DEFENSE_UP_3 289 -#define EFFECT_NOBLE_ROAR 290 -#define EFFECT_VENOM_DRENCH 291 -#define EFFECT_TOXIC_THREAD 292 -#define EFFECT_CLEAR_SMOG 293 -#define EFFECT_HIT_SWITCH_TARGET 294 -#define EFFECT_FINAL_GAMBIT 295 -#define EFFECT_CHANGE_TYPE_ON_ITEM 296 -#define EFFECT_AUTOTOMIZE 297 -#define EFFECT_COPYCAT 298 -#define EFFECT_DEFOG 299 -#define EFFECT_HIT_ENEMY_HEAL_ALLY 300 -#define EFFECT_SMACK_DOWN 301 -#define EFFECT_SYNCHRONOISE 302 -#define EFFECT_PSYCHO_SHIFT 303 -#define EFFECT_POWER_TRICK 304 -#define EFFECT_FLAME_BURST 305 -#define EFFECT_AFTER_YOU 306 -#define EFFECT_BESTOW 307 -#define EFFECT_ROTOTILLER 308 -#define EFFECT_FLOWER_SHIELD 309 -#define EFFECT_HIT_PREVENT_ESCAPE 310 -#define EFFECT_SPEED_SWAP 311 -#define EFFECT_DEFENSE_UP2_HIT 312 -#define EFFECT_REVELATION_DANCE 313 -#define EFFECT_AURORA_VEIL 314 -#define EFFECT_THIRD_TYPE 315 -#define EFFECT_FEINT 316 -#define EFFECT_SPARKLING_ARIA 317 -#define EFFECT_ACUPRESSURE 318 -#define EFFECT_AROMATIC_MIST 319 -#define EFFECT_POWDER 320 -#define EFFECT_SP_ATTACK_UP_HIT 321 -#define EFFECT_BELCH 322 -#define EFFECT_PARTING_SHOT 323 -#define EFFECT_SPECTRAL_THIEF 324 -#define EFFECT_V_CREATE 325 -#define EFFECT_MAT_BLOCK 326 -#define EFFECT_STOMPING_TANTRUM 327 -#define EFFECT_CORE_ENFORCER 328 -#define EFFECT_INSTRUCT 329 -#define EFFECT_THROAT_CHOP 330 -#define EFFECT_LASER_FOCUS 331 -#define EFFECT_MAGNETIC_FLUX 332 -#define EFFECT_GEAR_UP 333 -#define EFFECT_INCINERATE 334 -#define EFFECT_BUG_BITE 335 -#define EFFECT_STRENGTH_SAP 336 -#define EFFECT_MIND_BLOWN 337 -#define EFFECT_PURIFY 338 -#define EFFECT_BURN_UP 339 -#define EFFECT_SHORE_UP 340 -#define EFFECT_GEOMANCY 341 -#define EFFECT_FAIRY_LOCK 342 -#define EFFECT_ALLY_SWITCH 343 -#define EFFECT_RELIC_SONG 344 -#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 345 -#define EFFECT_BODY_PRESS 346 -#define EFFECT_EERIE_SPELL 347 -#define EFFECT_JUNGLE_HEALING 348 -#define EFFECT_COACHING 349 -#define EFFECT_LASH_OUT 350 -#define EFFECT_GRASSY_GLIDE 351 -#define EFFECT_REMOVE_TERRAIN 352 -#define EFFECT_DYNAMAX_DOUBLE_DMG 353 -#define EFFECT_DECORATE 354 -#define EFFECT_SNIPE_SHOT 355 -#define EFFECT_RECOIL_HP_25 356 -#define EFFECT_STUFF_CHEEKS 357 -#define EFFECT_GRAV_APPLE 358 -#define EFFECT_EVASION_UP_HIT 359 -#define EFFECT_GLITZY_GLOW 360 -#define EFFECT_BADDY_BAD 361 -#define EFFECT_SAPPY_SEED 362 -#define EFFECT_FREEZY_FROST 363 -#define EFFECT_SPARKLY_SWIRL 364 -#define EFFECT_PLASMA_FISTS 365 -#define EFFECT_HYPERSPACE_FURY 366 -#define EFFECT_AURA_WHEEL 367 -#define EFFECT_PHOTON_GEYSER 368 -#define EFFECT_SHELL_SIDE_ARM 369 -#define EFFECT_TERRAIN_PULSE 370 -#define EFFECT_JAW_LOCK 371 -#define EFFECT_NO_RETREAT 372 -#define EFFECT_TAR_SHOT 373 -#define EFFECT_POLTERGEIST 374 -#define EFFECT_OCTOLOCK 375 -#define EFFECT_CLANGOROUS_SOUL 376 -#define EFFECT_BOLT_BEAK 377 -#define EFFECT_SKY_DROP 378 -#define EFFECT_EXPANDING_FORCE 379 -#define EFFECT_SCALE_SHOT 380 -#define EFFECT_METEOR_BEAM 381 -#define EFFECT_RISING_VOLTAGE 382 -#define EFFECT_BEAK_BLAST 383 -#define EFFECT_COURT_CHANGE 384 -#define EFFECT_STEEL_BEAM 385 -#define EFFECT_EXTREME_EVOBOOST 386 -#define EFFECT_HIT_SET_REMOVE_TERRAIN 387 // genesis supernova -#define EFFECT_DARK_VOID 388 -#define EFFECT_SLEEP_HIT 389 -#define EFFECT_DOUBLE_SHOCK 390 -#define EFFECT_SPECIAL_ATTACK_UP_HIT 391 -#define EFFECT_VICTORY_DANCE 392 -#define EFFECT_TEATIME 393 -#define EFFECT_ATTACK_UP_USER_ALLY 394 // Howl 8th Gen -#define EFFECT_SHELL_TRAP 395 -#define EFFECT_PSYBLADE 396 -#define EFFECT_HYDRO_STEAM 397 -#define EFFECT_HIT_SET_ENTRY_HAZARD 398 -#define EFFECT_DIRE_CLAW 399 -#define EFFECT_BARB_BARRAGE 400 -#define EFFECT_REVIVAL_BLESSING 401 -#define EFFECT_FROSTBITE_HIT 402 -#define EFFECT_SNOWSCAPE 403 -#define EFFECT_TRIPLE_ARROWS 404 -#define EFFECT_INFERNAL_PARADE 405 -#define EFFECT_TAKE_HEART 406 -#define EFFECT_AXE_KICK 407 +#define EFFECT_PLEDGE 210 +#define EFFECT_FLING 211 +#define EFFECT_NATURAL_GIFT 212 +#define EFFECT_WAKE_UP_SLAP 213 +#define EFFECT_WRING_OUT 214 +#define EFFECT_HEX 215 +#define EFFECT_ASSURANCE 216 +#define EFFECT_TRUMP_CARD 217 +#define EFFECT_ACROBATICS 218 +#define EFFECT_HEAT_CRASH 219 +#define EFFECT_PUNISHMENT 220 +#define EFFECT_STORED_POWER 221 +#define EFFECT_ELECTRO_BALL 222 +#define EFFECT_GYRO_BALL 223 +#define EFFECT_ECHOED_VOICE 224 +#define EFFECT_PAYBACK 225 +#define EFFECT_ROUND 226 +#define EFFECT_BRINE 227 +#define EFFECT_VENOSHOCK 228 +#define EFFECT_RETALIATE 229 +#define EFFECT_BULLDOZE 230 +#define EFFECT_FOUL_PLAY 231 +#define EFFECT_PSYSHOCK 232 +#define EFFECT_ROOST 233 +#define EFFECT_GRAVITY 234 +#define EFFECT_MIRACLE_EYE 235 +#define EFFECT_TAILWIND 236 +#define EFFECT_EMBARGO 237 +#define EFFECT_AQUA_RING 238 +#define EFFECT_TRICK_ROOM 239 +#define EFFECT_WONDER_ROOM 240 +#define EFFECT_MAGIC_ROOM 241 +#define EFFECT_MAGNET_RISE 242 +#define EFFECT_TOXIC_SPIKES 243 +#define EFFECT_GASTRO_ACID 244 +#define EFFECT_STEALTH_ROCK 245 +#define EFFECT_TELEKINESIS 246 +#define EFFECT_POWER_SWAP 247 +#define EFFECT_GUARD_SWAP 248 +#define EFFECT_HEART_SWAP 249 +#define EFFECT_POWER_SPLIT 250 +#define EFFECT_GUARD_SPLIT 251 +#define EFFECT_STICKY_WEB 252 +#define EFFECT_METAL_BURST 253 +#define EFFECT_LUCKY_CHANT 254 +#define EFFECT_SUCKER_PUNCH 255 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2 256 +#define EFFECT_SIMPLE_BEAM 257 +#define EFFECT_ENTRAINMENT 258 +#define EFFECT_HEAL_PULSE 259 +#define EFFECT_QUASH 260 +#define EFFECT_ION_DELUGE 261 +#define EFFECT_FREEZE_DRY 262 +#define EFFECT_TOPSY_TURVY 263 +#define EFFECT_MISTY_TERRAIN 264 +#define EFFECT_GRASSY_TERRAIN 265 +#define EFFECT_ELECTRIC_TERRAIN 266 +#define EFFECT_PSYCHIC_TERRAIN 267 +#define EFFECT_ATTACK_ACCURACY_UP 268 +#define EFFECT_ATTACK_SPATK_UP 269 +#define EFFECT_HURRICANE 270 +#define EFFECT_TWO_TYPED_MOVE 271 +#define EFFECT_ME_FIRST 272 +#define EFFECT_SPEED_UP_HIT 273 +#define EFFECT_QUIVER_DANCE 274 +#define EFFECT_COIL 275 +#define EFFECT_ELECTRIFY 276 +#define EFFECT_REFLECT_TYPE 277 +#define EFFECT_SOAK 278 +#define EFFECT_GROWTH 279 +#define EFFECT_CLOSE_COMBAT 280 +#define EFFECT_LAST_RESORT 281 +#define EFFECT_RECOIL_33_STATUS 282 +#define EFFECT_FLINCH_STATUS 283 +#define EFFECT_RECOIL_50 284 +#define EFFECT_SHELL_SMASH 285 +#define EFFECT_SHIFT_GEAR 286 +#define EFFECT_DEFENSE_UP_3 287 +#define EFFECT_NOBLE_ROAR 288 +#define EFFECT_VENOM_DRENCH 289 +#define EFFECT_TOXIC_THREAD 290 +#define EFFECT_CLEAR_SMOG 291 +#define EFFECT_HIT_SWITCH_TARGET 292 +#define EFFECT_FINAL_GAMBIT 293 +#define EFFECT_CHANGE_TYPE_ON_ITEM 294 +#define EFFECT_AUTOTOMIZE 295 +#define EFFECT_COPYCAT 296 +#define EFFECT_DEFOG 297 +#define EFFECT_HIT_ENEMY_HEAL_ALLY 298 +#define EFFECT_SMACK_DOWN 299 +#define EFFECT_SYNCHRONOISE 300 +#define EFFECT_PSYCHO_SHIFT 301 +#define EFFECT_POWER_TRICK 302 +#define EFFECT_FLAME_BURST 303 +#define EFFECT_AFTER_YOU 304 +#define EFFECT_BESTOW 305 +#define EFFECT_ROTOTILLER 306 +#define EFFECT_FLOWER_SHIELD 307 +#define EFFECT_HIT_PREVENT_ESCAPE 308 +#define EFFECT_SPEED_SWAP 309 +#define EFFECT_DEFENSE_UP2_HIT 310 +#define EFFECT_REVELATION_DANCE 311 +#define EFFECT_AURORA_VEIL 312 +#define EFFECT_THIRD_TYPE 313 +#define EFFECT_FEINT 314 +#define EFFECT_SPARKLING_ARIA 315 +#define EFFECT_ACUPRESSURE 316 +#define EFFECT_AROMATIC_MIST 317 +#define EFFECT_POWDER 318 +#define EFFECT_SP_ATTACK_UP_HIT 319 +#define EFFECT_BELCH 320 +#define EFFECT_PARTING_SHOT 321 +#define EFFECT_SPECTRAL_THIEF 322 +#define EFFECT_V_CREATE 323 +#define EFFECT_MAT_BLOCK 324 +#define EFFECT_STOMPING_TANTRUM 325 +#define EFFECT_CORE_ENFORCER 326 +#define EFFECT_INSTRUCT 327 +#define EFFECT_THROAT_CHOP 328 +#define EFFECT_LASER_FOCUS 329 +#define EFFECT_MAGNETIC_FLUX 330 +#define EFFECT_GEAR_UP 331 +#define EFFECT_INCINERATE 332 +#define EFFECT_BUG_BITE 333 +#define EFFECT_STRENGTH_SAP 334 +#define EFFECT_MIND_BLOWN 335 +#define EFFECT_PURIFY 336 +#define EFFECT_BURN_UP 337 +#define EFFECT_SHORE_UP 338 +#define EFFECT_GEOMANCY 339 +#define EFFECT_FAIRY_LOCK 340 +#define EFFECT_ALLY_SWITCH 341 +#define EFFECT_RELIC_SONG 342 +#define EFFECT_ATTACKER_DEFENSE_DOWN_HIT 343 +#define EFFECT_BODY_PRESS 344 +#define EFFECT_EERIE_SPELL 345 +#define EFFECT_JUNGLE_HEALING 346 +#define EFFECT_COACHING 347 +#define EFFECT_LASH_OUT 348 +#define EFFECT_GRASSY_GLIDE 349 +#define EFFECT_REMOVE_TERRAIN 350 +#define EFFECT_DYNAMAX_DOUBLE_DMG 351 +#define EFFECT_DECORATE 352 +#define EFFECT_SNIPE_SHOT 353 +#define EFFECT_RECOIL_HP_25 354 +#define EFFECT_STUFF_CHEEKS 355 +#define EFFECT_GRAV_APPLE 356 +#define EFFECT_EVASION_UP_HIT 357 +#define EFFECT_GLITZY_GLOW 358 +#define EFFECT_BADDY_BAD 359 +#define EFFECT_SAPPY_SEED 360 +#define EFFECT_FREEZY_FROST 361 +#define EFFECT_SPARKLY_SWIRL 362 +#define EFFECT_PLASMA_FISTS 363 +#define EFFECT_HYPERSPACE_FURY 364 +#define EFFECT_AURA_WHEEL 365 +#define EFFECT_PHOTON_GEYSER 366 +#define EFFECT_SHELL_SIDE_ARM 367 +#define EFFECT_TERRAIN_PULSE 368 +#define EFFECT_JAW_LOCK 369 +#define EFFECT_NO_RETREAT 370 +#define EFFECT_TAR_SHOT 371 +#define EFFECT_POLTERGEIST 372 +#define EFFECT_OCTOLOCK 373 +#define EFFECT_CLANGOROUS_SOUL 374 +#define EFFECT_BOLT_BEAK 375 +#define EFFECT_SKY_DROP 376 +#define EFFECT_EXPANDING_FORCE 377 +#define EFFECT_SCALE_SHOT 378 +#define EFFECT_METEOR_BEAM 379 +#define EFFECT_RISING_VOLTAGE 380 +#define EFFECT_BEAK_BLAST 381 +#define EFFECT_COURT_CHANGE 382 +#define EFFECT_STEEL_BEAM 383 +#define EFFECT_EXTREME_EVOBOOST 384 +#define EFFECT_HIT_SET_REMOVE_TERRAIN 385 // genesis supernova +#define EFFECT_DARK_VOID 386 +#define EFFECT_SLEEP_HIT 387 +#define EFFECT_DOUBLE_SHOCK 388 +#define EFFECT_SPECIAL_ATTACK_UP_HIT 389 +#define EFFECT_VICTORY_DANCE 390 +#define EFFECT_TEATIME 391 +#define EFFECT_ATTACK_UP_USER_ALLY 392 // Howl 6th Gen +#define EFFECT_SHELL_TRAP 393 +#define EFFECT_PSYBLADE 394 +#define EFFECT_HYDRO_STEAM 395 +#define EFFECT_HIT_SET_ENTRY_HAZARD 396 +#define EFFECT_DIRE_CLAW 397 +#define EFFECT_BARB_BARRAGE 398 +#define EFFECT_REVIVAL_BLESSING 399 +#define EFFECT_FROSTBITE_HIT 400 +#define EFFECT_SNOWSCAPE 401 +#define EFFECT_TRIPLE_ARROWS 402 +#define EFFECT_INFERNAL_PARADE 403 +#define EFFECT_TAKE_HEART 404 +#define EFFECT_AXE_KICK 405 -#define NUM_BATTLE_MOVE_EFFECTS 408 +#define NUM_BATTLE_MOVE_EFFECTS 406 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index f8bb4ec8d9..72dd6e7bdb 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -213,39 +213,6 @@ #define EV_ITEM_RAISE_LIMIT 100 #endif -// Battle move flags -#define FLAG_MAKES_CONTACT (1 << 0) -#define FLAG_PROTECT_AFFECTED (1 << 1) -#define FLAG_MAGIC_COAT_AFFECTED (1 << 2) -#define FLAG_SNATCH_AFFECTED (1 << 3) -#define FLAG_MIRROR_MOVE_AFFECTED (1 << 4) -#define FLAG_KINGS_ROCK_AFFECTED (1 << 5) -#define FLAG_HIGH_CRIT (1 << 6) -#define FLAG_RECKLESS_BOOST (1 << 7) -#define FLAG_IRON_FIST_BOOST (1 << 8) -#define FLAG_SHEER_FORCE_BOOST (1 << 9) -#define FLAG_STRONG_JAW_BOOST (1 << 10) -#define FLAG_MEGA_LAUNCHER_BOOST (1 << 11) -#define FLAG_STAT_STAGES_IGNORED (1 << 12) -#define FLAG_DMG_MINIMIZE (1 << 13) -#define FLAG_DMG_UNDERGROUND (1 << 14) -#define FLAG_DMG_UNDERWATER (1 << 15) -#define FLAG_SOUND (1 << 16) -#define FLAG_BALLISTIC (1 << 17) -#define FLAG_PROTECTION_MOVE (1 << 18) -#define FLAG_POWDER (1 << 19) -#define FLAG_TARGET_ABILITY_IGNORED (1 << 20) -#define FLAG_DANCE (1 << 21) -#define FLAG_DMG_2X_IN_AIR (1 << 22) // If target is in the air, can hit and deal double damage. -#define FLAG_DMG_IN_AIR (1 << 23) // If target is in the air, can hit. -#define FLAG_DMG_UNGROUNDED_IGNORE_TYPE_IF_FLYING (1 << 24) // Makes a Ground type move do 1x damage to flying and levitating targets -#define FLAG_THAW_USER (1 << 25) -#define FLAG_HIT_IN_SUBSTITUTE (1 << 26) // Hyperspace Fury -#define FLAG_TWO_STRIKES (1 << 27) // A move with this flag will strike twice, and may apply its effect on each hit -#define FLAG_THREE_STRIKES (1 << 28) // A move with this flag will strike thrice, and may apply its effect on each hit -#define FLAG_WIND_MOVE (1 << 29) -#define FLAG_SLICING_MOVE (1 << 30) - // Split defines. #define SPLIT_PHYSICAL 0x0 #define SPLIT_SPECIAL 0x1 diff --git a/include/pokemon.h b/include/pokemon.h index 8368714f84..f20b23e791 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -344,10 +344,47 @@ struct BattleMove u8 secondaryEffectChance; u16 target; s8 priority; - u32 flags; u8 split; u16 argument; u8 zMoveEffect; + // Flags + u32 makesContact:1; + u32 ignoresProtect:1; + u32 magicCoatAffected:1; + u32 snatchAffected:1; + u32 mirrorMoveBanned:1; + u32 ignoresKingsRock:1; + u32 highCritRatio:1; + u32 punchingMove:1; + u32 sheerForceBoost:1; + u32 bitingMove:1; + u32 pulseMove:1; + u32 soundMove:1; + u32 ballisticMove:1; + u32 protectionMove:1; + u32 powderMove:1; + u32 danceMove:1; + u32 windMove:1; + u32 slicingMove:1; + u32 minimizeDoubleDamage:1; + u32 ignoresTargetAbility:1; + u32 ignoresTargetDefenseEvasionStages:1; + u32 damagesUnderground:1; + u32 damagesUnderwater:1; + u32 damagesAirborne:1; + u32 damagesAirborneDoubleDamage:1; + u32 ignoreTypeIfFlyingAndUngrounded:1; + u32 thawsUser:1; + u32 ignoresSubstitute:1; + u32 twoStrikes:1; // May apply its effect on each hit. + u32 threeStrikes:1; // May apply its effect on each hit. + u32 meFirstBanned:1; + u32 gravityBanned:1; + u32 mimicBanned:1; + u32 metronomeBanned:1; + u32 copycatBanned:1; + u32 sleepTalkBanned:1; + u32 instructBanned:1; }; #define SPINDA_SPOT_WIDTH 16 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 211fa12279..056d74a864 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -695,7 +695,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) { // handle negative checks on non-user target // check powder moves - if (TestMoveFlags(move, FLAG_POWDER) && !IsAffectedByPowder(battlerDef, AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerDef])) + if (gBattleMoves[move].powderMove && !IsAffectedByPowder(battlerDef, AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerDef])) { RETURN_SCORE_MINUS(20); } @@ -782,11 +782,11 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) RETURN_SCORE_MINUS(10); break; case ABILITY_SOUNDPROOF: - if (TestMoveFlags(move, FLAG_SOUND)) + if (gBattleMoves[move].soundMove) RETURN_SCORE_MINUS(10); break; case ABILITY_BULLETPROOF: - if (TestMoveFlags(move, FLAG_BALLISTIC)) + if (gBattleMoves[move].ballisticMove) RETURN_SCORE_MINUS(10); break; case ABILITY_DAZZLING: @@ -807,7 +807,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) RETURN_SCORE_MINUS(10); break; case ABILITY_MAGIC_BOUNCE: - if (TestMoveFlags(move, FLAG_MAGIC_COAT_AFFECTED)) + if (gBattleMoves[move].magicCoatAffected) RETURN_SCORE_MINUS(20); break; case ABILITY_CONTRARY: @@ -868,7 +868,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) RETURN_SCORE_MINUS(20); break; case ABILITY_MAGIC_BOUNCE: - if (TestMoveFlags(move, FLAG_MAGIC_COAT_AFFECTED) && moveTarget & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_OPPONENTS_FIELD)) + if (gBattleMoves[move].magicCoatAffected && moveTarget & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_OPPONENTS_FIELD)) RETURN_SCORE_MINUS(20); break; case ABILITY_SWEET_VEIL: @@ -921,7 +921,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) // the following checks apply to any target (including user) // throat chop check - if (gDisableStructs[battlerAtk].throatChopTimer && TestMoveFlags(move, FLAG_SOUND)) + if (gDisableStructs[battlerAtk].throatChopTimer && gBattleMoves[move].soundMove) return 0; // Can't even select move at all // heal block check if (gStatuses3[battlerAtk] & STATUS3_HEAL_BLOCK && IsHealBlockPreventingMove(battlerAtk, move)) @@ -1404,7 +1404,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else if (AI_DATA->hpPercents[battlerAtk] <= 25) score -= 10; #if B_SOUND_SUBSTITUTE >= GEN_6 - else if (TestMoveFlagsInMoveset(battlerDef, FLAG_SOUND)) + else if (HasSoundMove(battlerDef)) score -= 8; #endif break; @@ -1947,7 +1947,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) // TODO break; case EFFECT_HEAL_BELL: - if (!AnyPartyMemberStatused(battlerAtk, TestMoveFlags(move, FLAG_SOUND)) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (!AnyPartyMemberStatused(battlerAtk, gBattleMoves[move].soundMove) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) score -= 10; break; case EFFECT_HIT_PREVENT_ESCAPE: @@ -2146,7 +2146,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; // no teammates to assist from break; case EFFECT_MAGIC_COAT: - if (!TestMoveFlagsInMoveset(battlerDef, FLAG_MAGIC_COAT_AFFECTED)) + if (!HasMagicCoatAffectedMove(battlerDef)) score -= 10; break; case EFFECT_BELCH: @@ -2192,7 +2192,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break; case EFFECT_SNATCH: - if (!TestMoveFlagsInMoveset(battlerDef, FLAG_SNATCH_AFFECTED) + if (!HasSnatchAffectedMove(battlerDef) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) score -= 10; break; @@ -2500,7 +2500,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) instructedMove = gLastMoves[battlerDef]; if (instructedMove == MOVE_NONE - || IsInstructBannedMove(instructedMove) + || gBattleMoves[instructedMove].instructBanned || MoveRequiresRecharging(instructedMove) || MoveCallsOtherMove(instructedMove) || IsZMove(instructedMove) @@ -2683,7 +2683,7 @@ static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else { // this move isn't expected to faint the target - if (TestMoveFlags(move, FLAG_HIGH_CRIT)) + if (gBattleMoves[move].highCritRatio) score += 2; // crit makes it more likely to make them faint if (GetMoveDamageResult(move) == MOVE_POWER_OTHER) @@ -3145,7 +3145,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // check high crit - if (TestMoveFlags(move, FLAG_HIGH_CRIT) && effectiveness >= AI_EFFECTIVENESS_x2 && AI_RandLessThan(128)) + if (gBattleMoves[move].highCritRatio && effectiveness >= AI_EFFECTIVENESS_x2 && AI_RandLessThan(128)) score++; // check already dead @@ -3168,7 +3168,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score++; // check thawing moves - if ((gBattleMons[battlerAtk].status1 & (STATUS1_FREEZE | STATUS1_FROSTBITE)) && TestMoveFlags(move, FLAG_THAW_USER)) + if ((gBattleMons[battlerAtk].status1 & (STATUS1_FREEZE | STATUS1_FROSTBITE)) && gBattleMoves[move].thawsUser) score += (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) ? 20 : 10; // check burn @@ -3604,7 +3604,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (AI_DATA->abilities[battlerAtk] == ABILITY_SUPER_LUCK || AI_DATA->abilities[battlerAtk] == ABILITY_SNIPER || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_SCOPE_LENS - || TestMoveFlagsInMoveset(battlerAtk, FLAG_HIGH_CRIT)) + || HasHighCritRatioMove(battlerAtk)) score += 2; break; case EFFECT_CONFUSE_HIT: @@ -4461,7 +4461,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_GRUDGE: break; case EFFECT_SNATCH: - if (predictedMove != MOVE_NONE && TestMoveFlags(predictedMove, FLAG_SNATCH_AFFECTED)) + if (predictedMove != MOVE_NONE && gBattleMoves[predictedMove].snatchAffected) score += 3; // Steal move break; case EFFECT_MUD_SPORT: @@ -4707,9 +4707,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score++; break; case EFFECT_THROAT_CHOP: - if (predictedMove != MOVE_NONE && TestMoveFlags(predictedMove, FLAG_SOUND) && AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) + if (predictedMove != MOVE_NONE && gBattleMoves[predictedMove].soundMove && AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) score += 3; // Ai goes first and predicts the target will use a sound move - else if (TestMoveFlagsInMoveset(battlerDef, FLAG_SOUND)) + else if (HasSoundMove(battlerDef)) score += 3; break; case EFFECT_HEAL_BLOCK: @@ -5022,7 +5022,7 @@ static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (IsTargetingPartner(battlerAtk, battlerDef)) return score; - if (TestMoveFlags(move, FLAG_HIGH_CRIT)) + if (gBattleMoves[move].highCritRatio) score += 2; switch (gBattleMoves[move].effect) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 7be2bf1c98..81b6e9cbdf 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -21,6 +21,16 @@ #include "constants/moves.h" #include "constants/items.h" +#define CHECK_MOVE_FLAG(flag) \ + s32 i; \ + u16 *moves = GetMovesArray(battler); \ + for (i = 0; i < MAX_MON_MOVES; i++) \ + { \ + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && gBattleMoves[moves[i]].flag) \ + return TRUE; \ + } \ + return FALSE + static u32 AI_GetEffectiveness(u16 multiplier); // Const Data @@ -381,35 +391,6 @@ static const u16 sIgnoreMoldBreakerMoves[] = MOVE_SEARING_SUNRAZE_SMASH, }; -static const u16 sInstructBannedMoves[] = -{ - MOVE_INSTRUCT, - MOVE_BIDE, - MOVE_FOCUS_PUNCH, - MOVE_BEAK_BLAST, - MOVE_SHELL_TRAP, - MOVE_SKETCH, - MOVE_TRANSFORM, - MOVE_MIMIC, - MOVE_KINGS_SHIELD, - MOVE_STRUGGLE, - MOVE_BOUNCE, - MOVE_DIG, - MOVE_DIVE, - MOVE_FLY, - MOVE_FREEZE_SHOCK, - MOVE_GEOMANCY, - MOVE_ICE_BURN, - MOVE_PHANTOM_FORCE, - MOVE_RAZOR_WIND, - MOVE_SHADOW_FORCE, - MOVE_SKULL_BASH, - MOVE_SKY_ATTACK, - MOVE_SKY_DROP, - MOVE_SOLAR_BEAM, - MOVE_SOLAR_BLADE, -}; - static const u16 sRechargeMoves[] = { MOVE_HYPER_BEAM, @@ -734,7 +715,7 @@ bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split) for (i = 0; i < MAX_MON_MOVES; i++) { if (moves[i] != MOVE_NONE - && moves[i] != 0xFFFF + && moves[i] != MOVE_UNAVAILABLE && GetBattleMoveSplit(moves[i]) == split && !(unusable & gBitTable[i])) { @@ -760,15 +741,15 @@ static bool32 AI_GetIfCrit(u32 move, u8 battlerAtk, u8 battlerDef) isCrit = FALSE; break; case 1: - if (gBattleMoves[move].flags & FLAG_HIGH_CRIT && (Random() % 5 == 0)) + if (gBattleMoves[move].highCritRatio && (Random() % 5 == 0)) isCrit = TRUE; else isCrit = FALSE; break; case 2: - if (gBattleMoves[move].flags & FLAG_HIGH_CRIT && (Random() % 2 == 0)) + if (gBattleMoves[move].highCritRatio && (Random() % 2 == 0)) isCrit = TRUE; - else if (!(gBattleMoves[move].flags & FLAG_HIGH_CRIT) && (Random() % 4) == 0) + else if (!(gBattleMoves[move].highCritRatio) && (Random() % 4) == 0) isCrit = TRUE; else isCrit = FALSE; @@ -855,9 +836,9 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, } // Handle other multi-strike moves - if (gBattleMoves[move].flags & FLAG_TWO_STRIKES) + if (gBattleMoves[move].twoStrikes) dmg *= 2; - else if (gBattleMoves[move].flags & FLAG_THREE_STRIKES || (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH)) + else if (gBattleMoves[move].threeStrikes || (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH)) dmg *= 3; if (dmg == 0) @@ -899,30 +880,10 @@ static u32 WhichMoveBetter(u32 move1, u32 move2) // Check recoil if (GetBattlerAbility(sBattler_AI) != ABILITY_ROCK_HEAD) { - if (((gBattleMoves[move1].effect == EFFECT_RECOIL_25 - || gBattleMoves[move1].effect == EFFECT_RECOIL_IF_MISS - || gBattleMoves[move1].effect == EFFECT_RECOIL_50 - || gBattleMoves[move1].effect == EFFECT_RECOIL_33 - || gBattleMoves[move1].effect == EFFECT_RECOIL_33_STATUS) - && (gBattleMoves[move2].effect != EFFECT_RECOIL_25 - && gBattleMoves[move2].effect != EFFECT_RECOIL_IF_MISS - && gBattleMoves[move2].effect != EFFECT_RECOIL_50 - && gBattleMoves[move2].effect != EFFECT_RECOIL_33 - && gBattleMoves[move2].effect != EFFECT_RECOIL_33_STATUS - && gBattleMoves[move2].effect != EFFECT_RECHARGE))) + if (IS_MOVE_RECOIL(move1) && !IS_MOVE_RECOIL(move2) && gBattleMoves[move2].effect != EFFECT_RECHARGE) return 1; - if (((gBattleMoves[move2].effect == EFFECT_RECOIL_25 - || gBattleMoves[move2].effect == EFFECT_RECOIL_IF_MISS - || gBattleMoves[move2].effect == EFFECT_RECOIL_50 - || gBattleMoves[move2].effect == EFFECT_RECOIL_33 - || gBattleMoves[move2].effect == EFFECT_RECOIL_33_STATUS) - && (gBattleMoves[move1].effect != EFFECT_RECOIL_25 - && gBattleMoves[move1].effect != EFFECT_RECOIL_IF_MISS - && gBattleMoves[move1].effect != EFFECT_RECOIL_50 - && gBattleMoves[move1].effect != EFFECT_RECOIL_33 - && gBattleMoves[move1].effect != EFFECT_RECOIL_33_STATUS - && gBattleMoves[move1].effect != EFFECT_RECHARGE))) + if (IS_MOVE_RECOIL(move2) && !IS_MOVE_RECOIL(move1) && gBattleMoves[move1].effect != EFFECT_RECHARGE) return 0; } // Check recharge @@ -1097,7 +1058,7 @@ u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 moveConsidered) for (i = 0; i < MAX_MON_MOVES; i++) { prioBattler2 = GetMovePriority(battler2, battler2Moves[i]); - if (battler2Moves[i] == 0 || battler2Moves[i] == 0xFFFF + if (battler2Moves[i] == MOVE_NONE || battler2Moves[i] == MOVE_UNAVAILABLE || (prioBattler2 > prioAI && !CanIndexMoveFaintTarget(battler2, battlerAI, i , 2))) continue; @@ -1136,7 +1097,7 @@ bool32 CanTargetFaintAi(u8 battlerDef, u8 battlerAtk) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && !(unusable & gBitTable[i]) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & gBitTable[i]) && AI_DATA->simulatedDmg[battlerDef][battlerAtk][moves[i]] >= gBattleMons[battlerAtk].hp) { return TRUE; @@ -1156,7 +1117,7 @@ bool32 CanAIFaintTarget(u8 battlerAtk, u8 battlerDef, u8 numHits) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && !(moveLimitations & gBitTable[i])) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(moveLimitations & gBitTable[i])) { // Use the pre-calculated value in simulatedDmg instead of re-calculating it dmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][i]; @@ -1205,7 +1166,7 @@ bool32 CanTargetFaintAiWithMod(u8 battlerDef, u8 battlerAtk, s32 hpMod, s32 dmgM if (dmgMod) dmg *= dmgMod; - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && !(unusable & gBitTable[i]) && dmg >= hpCheck) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && !(unusable & gBitTable[i]) && dmg >= hpCheck) { return TRUE; } @@ -1470,11 +1431,11 @@ bool32 IsSemiInvulnerable(u8 battlerDef, u16 move) { if (gStatuses3[battlerDef] & STATUS3_PHANTOM_FORCE) return TRUE; - else if (!TestMoveFlags(move, FLAG_DMG_IN_AIR) && gStatuses3[battlerDef] & STATUS3_ON_AIR) + else if (!gBattleMoves[move].damagesAirborne && gStatuses3[battlerDef] & STATUS3_ON_AIR) return TRUE; - else if (!TestMoveFlags(move, FLAG_DMG_UNDERWATER) && gStatuses3[battlerDef] & STATUS3_UNDERWATER) + else if (!gBattleMoves[move].damagesUnderwater && gStatuses3[battlerDef] & STATUS3_UNDERWATER) return TRUE; - else if (!TestMoveFlags(move, FLAG_DMG_UNDERGROUND) && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) + else if (!gBattleMoves[move].damagesUnderground && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) return TRUE; else return FALSE; @@ -1510,7 +1471,7 @@ bool32 IsMoveEncouragedToHit(u8 battlerAtk, u8 battlerDef, u16 move) || (((gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) && move == MOVE_BLIZZARD)))) || (gBattleMoves[move].effect == EFFECT_VITAL_THROW) #if B_MINIMIZE_DMG_ACC >= GEN_6 - || ((gStatuses3[battlerDef] & STATUS3_MINIMIZED) && (gBattleMoves[move].flags & FLAG_DMG_MINIMIZE)) + || ((gStatuses3[battlerDef] & STATUS3_MINIMIZED) && gBattleMoves[move].minimizeDoubleDamage) #endif || (gBattleMoves[move].accuracy == 0)) { @@ -1927,7 +1888,7 @@ bool32 HasOnlyMovesWithSplit(u32 battlerId, u32 split, bool32 onlyOffensive) { if (onlyOffensive && IS_MOVE_STATUS(moves[i])) continue; - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && GetBattleMoveSplit(moves[i]) != split) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && GetBattleMoveSplit(moves[i]) != split) return FALSE; } @@ -1941,7 +1902,7 @@ bool32 HasMoveWithSplit(u32 battler, u32 split) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && GetBattleMoveSplit(moves[i]) == split) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && GetBattleMoveSplit(moves[i]) == split) return TRUE; } @@ -1955,7 +1916,7 @@ bool32 HasMoveWithType(u32 battler, u8 type) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && gBattleMoves[moves[i]].type == type) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && gBattleMoves[moves[i]].type == type) return TRUE; } @@ -1969,7 +1930,7 @@ bool32 HasMoveEffect(u32 battlerId, u16 moveEffect) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && gBattleMoves[moves[i]].effect == moveEffect) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && gBattleMoves[moves[i]].effect == moveEffect) return TRUE; } @@ -1983,7 +1944,7 @@ bool32 HasMove(u32 battlerId, u32 move) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && moves[i] == move) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && moves[i] == move) return TRUE; } @@ -1998,7 +1959,7 @@ bool32 HasMoveWithLowAccuracy(u8 battlerAtk, u8 battlerDef, u8 accCheck, bool32 for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] == MOVE_NONE || moves[i] == 0xFFFF) + if (moves[i] == MOVE_NONE || moves[i] == MOVE_UNAVAILABLE) continue; if (!(gBitTable[i] & moveLimitations)) @@ -2066,7 +2027,7 @@ bool32 HasHealingEffect(u32 battlerId) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && IsHealingMoveEffect(gBattleMoves[moves[i]].effect)) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && IsHealingMoveEffect(gBattleMoves[moves[i]].effect)) return TRUE; } @@ -2095,25 +2056,16 @@ bool32 HasTrappingMoveEffect(u8 battler) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && IsTrappingMoveEffect(gBattleMoves[moves[i]].effect)) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && IsTrappingMoveEffect(gBattleMoves[moves[i]].effect)) return TRUE; } return FALSE; } -bool32 HasThawingMove(u8 battlerId) +bool32 HasThawingMove(u8 battler) { - s32 i; - u16 *moves = GetMovesArray(battlerId); - - for (i = 0; i < MAX_MON_MOVES; i++) - { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && TestMoveFlags(moves[i], FLAG_THAW_USER)) - return TRUE; - } - - return FALSE; + CHECK_MOVE_FLAG(thawsUser); } bool32 IsUngroundingEffect(u16 effect) @@ -2228,7 +2180,7 @@ bool32 HasDamagingMove(u8 battlerId) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && gBattleMoves[moves[i]].power != 0) + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && gBattleMoves[moves[i]].power != 0) return TRUE; } @@ -2242,7 +2194,7 @@ bool32 HasDamagingMoveOfType(u8 battlerId, u8 type) for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF + if (moves[i] != MOVE_NONE && moves[i] != MOVE_UNAVAILABLE && gBattleMoves[moves[i]].type == type && gBattleMoves[moves[i]].power != 0) return TRUE; } @@ -2250,15 +2202,24 @@ bool32 HasDamagingMoveOfType(u8 battlerId, u8 type) return FALSE; } -bool32 IsInstructBannedMove(u16 move) +bool32 HasSoundMove(u8 battler) { - u32 i; - for (i = 0; i < ARRAY_COUNT(sInstructBannedMoves); i++) - { - if (move == sInstructBannedMoves[i]) - return TRUE; - } - return FALSE; + CHECK_MOVE_FLAG(soundMove); +} + +bool32 HasHighCritRatioMove(u8 battler) +{ + CHECK_MOVE_FLAG(highCritRatio); +} + +bool32 HasMagicCoatAffectedMove(u8 battler) +{ + CHECK_MOVE_FLAG(magicCoatAffected); +} + +bool32 HasSnatchAffectedMove(u8 battler) +{ + CHECK_MOVE_FLAG(snatchAffected); } bool32 IsEncoreEncouragedEffect(u16 moveEffect) @@ -2295,19 +2256,6 @@ bool32 MoveCallsOtherMove(u16 move) return FALSE; } -bool32 TestMoveFlagsInMoveset(u8 battler, u32 flags) -{ - s32 i; - u16 *moves = GetMovesArray(battler); - - for (i = 0; i < MAX_MON_MOVES; i++) - { - if (moves[i] != MOVE_NONE && moves[i] != 0xFFFF && TestMoveFlags(moves[i], flags)) - return TRUE; - } - return FALSE; -} - static u32 GetLeechSeedDamage(u8 battlerId) { u32 damage = 0; @@ -3788,7 +3736,7 @@ void IncreaseFrostbiteScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move) { - if (TestMoveFlags(move, FLAG_MAKES_CONTACT) + if (gBattleMoves[move].makesContact && ability != ABILITY_LONG_REACH && holdEffect != HOLD_EFFECT_PROTECTIVE_PADS) return TRUE; diff --git a/src/battle_main.c b/src/battle_main.c index 186ae225a6..758bc1cf85 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5715,8 +5715,7 @@ void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk) gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_2; gBattleStruct->ateBoost[battlerAtk] = 1; } - else if (gBattleMoves[move].flags & FLAG_SOUND - && attackerAbility == ABILITY_LIQUID_VOICE) + else if (gBattleMoves[move].soundMove && attackerAbility == ABILITY_LIQUID_VOICE) { gBattleStruct->dynamicMoveType = TYPE_WATER | F_DYNAMIC_TYPE_2; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6bbe3d90b2..b20ef8cec4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -968,236 +968,6 @@ static const struct SpriteTemplate sSpriteTemplate_MonIconOnLvlUpBanner = static const u16 sProtectSuccessRates[] = {USHRT_MAX, USHRT_MAX / 2, USHRT_MAX / 4, USHRT_MAX / 8}; -#define FORBIDDEN_MIMIC (1 << 0) -#define FORBIDDEN_METRONOME (1 << 1) -#define FORBIDDEN_ASSIST (1 << 2) -#define FORBIDDEN_COPYCAT (1 << 3) -#define FORBIDDEN_SLEEP_TALK (1 << 4) -#define FORBIDDEN_INSTRUCT (1 << 5) -#define FORBIDDEN_PARENTAL_BOND (1 << 6) - -static const u8 sForbiddenMoves[MOVES_COUNT] = -{ - [MOVE_NONE] = 0xFF, // Can't use a non-move lol - [MOVE_STRUGGLE] = 0xFF, // Neither Struggle - [MOVE_AFTER_YOU] = FORBIDDEN_METRONOME, - [MOVE_APPLE_ACID] = FORBIDDEN_METRONOME, - [MOVE_ARMOR_CANNON] = FORBIDDEN_METRONOME, - [MOVE_ARM_THRUST] = FORBIDDEN_PARENTAL_BOND, - [MOVE_ASSIST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_ASTRAL_BARRAGE] = FORBIDDEN_METRONOME, - [MOVE_AURA_WHEEL] = FORBIDDEN_METRONOME, - [MOVE_BADDY_BAD] = FORBIDDEN_METRONOME, - [MOVE_BANEFUL_BUNKER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_BARRAGE] = FORBIDDEN_PARENTAL_BOND, - [MOVE_BEAK_BLAST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_BEAT_UP] = FORBIDDEN_PARENTAL_BOND, - [MOVE_BEHEMOTH_BASH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_BEHEMOTH_BLADE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_BELCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_BESTOW] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_BIDE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, // Note: Bide should work with Parental Bond. This will be addressed in future. - [MOVE_BLAST_BURN] = FORBIDDEN_INSTRUCT, - [MOVE_BLAZING_TORQUE] = FORBIDDEN_MIMIC | FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_BODY_PRESS] = FORBIDDEN_METRONOME, - [MOVE_BONE_RUSH] = FORBIDDEN_PARENTAL_BOND, - [MOVE_BONEMERANG] = FORBIDDEN_PARENTAL_BOND, - [MOVE_BOUNCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_BOUNCY_BUBBLE] = FORBIDDEN_METRONOME, - [MOVE_BRANCH_POKE] = FORBIDDEN_METRONOME, - [MOVE_BREAKING_SWIPE] = FORBIDDEN_METRONOME, - [MOVE_BULLET_SEED] = FORBIDDEN_PARENTAL_BOND, - [MOVE_BUZZY_BUZZ] = FORBIDDEN_METRONOME, - [MOVE_CELEBRATE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_CHATTER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_CHILLING_WATER] = FORBIDDEN_METRONOME, - [MOVE_CHILLY_RECEPTION] = FORBIDDEN_METRONOME, - [MOVE_CIRCLE_THROW] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_CLANGOROUS_SOUL] = FORBIDDEN_METRONOME, - [MOVE_COLLISION_COURSE] = FORBIDDEN_METRONOME, - [MOVE_COMBAT_TORQUE] = FORBIDDEN_MIMIC | FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_COMET_PUNCH] = FORBIDDEN_PARENTAL_BOND, - [MOVE_COMEUPPANCE] = FORBIDDEN_METRONOME, - [MOVE_COPYCAT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_COUNTER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_COVET] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_CRAFTY_SHIELD] = FORBIDDEN_METRONOME, - [MOVE_DECORATE] = FORBIDDEN_METRONOME, - [MOVE_DESTINY_BOND] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_DETECT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_DIAMOND_STORM] = FORBIDDEN_METRONOME, - [MOVE_DIG] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_DIVE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_DOODLE] = FORBIDDEN_METRONOME, - [MOVE_DOUBLE_IRON_BASH] = FORBIDDEN_METRONOME | FORBIDDEN_PARENTAL_BOND, - [MOVE_DOUBLE_HIT] = FORBIDDEN_PARENTAL_BOND, - [MOVE_DOUBLE_KICK] = FORBIDDEN_PARENTAL_BOND, - [MOVE_DOUBLE_SHOCK] = FORBIDDEN_METRONOME, - [MOVE_DOUBLE_SLAP] = FORBIDDEN_PARENTAL_BOND, - [MOVE_DRAGON_ASCENT] = FORBIDDEN_METRONOME, - [MOVE_DRAGON_ENERGY] = FORBIDDEN_METRONOME, - [MOVE_DRAGON_DARTS] = FORBIDDEN_PARENTAL_BOND, - [MOVE_DRAGON_TAIL] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_DRUM_BEATING] = FORBIDDEN_METRONOME, - [MOVE_DUAL_CHOP] = FORBIDDEN_PARENTAL_BOND, - [MOVE_DUAL_WINGBEAT] = FORBIDDEN_PARENTAL_BOND, - [MOVE_DYNAMAX_CANNON] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_ELECTRO_DRIFT] = FORBIDDEN_METRONOME, - [MOVE_ENDEAVOR] = FORBIDDEN_PARENTAL_BOND, - [MOVE_ENDURE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_ETERNABEAM] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, - [MOVE_EXPLOSION] = FORBIDDEN_PARENTAL_BOND, - [MOVE_FALSE_SURRENDER] = FORBIDDEN_METRONOME, - [MOVE_FEINT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_FIERY_WRATH] = FORBIDDEN_METRONOME, - [MOVE_FILLET_AWAY] = FORBIDDEN_METRONOME, - [MOVE_FINAL_GAMBIT] = FORBIDDEN_PARENTAL_BOND, - [MOVE_FISSURE] = FORBIDDEN_PARENTAL_BOND, - [MOVE_FLEUR_CANNON] = FORBIDDEN_METRONOME, - [MOVE_FLING] = FORBIDDEN_PARENTAL_BOND, - [MOVE_FLOATY_FALL] = FORBIDDEN_METRONOME, - [MOVE_FLY] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_FOCUS_PUNCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_FOLLOW_ME] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_FREEZE_SHOCK] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT| FORBIDDEN_PARENTAL_BOND, - [MOVE_FREEZING_GLARE] = FORBIDDEN_METRONOME, - [MOVE_FREEZY_FROST] = FORBIDDEN_METRONOME, - [MOVE_FURY_ATTACK] = FORBIDDEN_PARENTAL_BOND, - [MOVE_FURY_SWIPES] = FORBIDDEN_PARENTAL_BOND, - [MOVE_GEAR_GRIND] = FORBIDDEN_PARENTAL_BOND, - [MOVE_GEOMANCY] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_GIGA_IMPACT] = FORBIDDEN_INSTRUCT, - [MOVE_GLACIAL_LANCE] = FORBIDDEN_METRONOME, - [MOVE_GLITZY_GLOW] = FORBIDDEN_METRONOME, - [MOVE_GRAV_APPLE] = FORBIDDEN_METRONOME, - [MOVE_GUILLOTINE] = FORBIDDEN_PARENTAL_BOND, - [MOVE_HELPING_HAND] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_HOLD_HANDS] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_HORN_DRILL] = FORBIDDEN_PARENTAL_BOND, - [MOVE_HYDRO_CANNON] = FORBIDDEN_INSTRUCT, - [MOVE_HYPER_BEAM] = FORBIDDEN_INSTRUCT, - [MOVE_HYPER_DRILL] = FORBIDDEN_METRONOME, - [MOVE_HYPERSPACE_FURY] = FORBIDDEN_METRONOME, - [MOVE_HYPERSPACE_HOLE] = FORBIDDEN_METRONOME, - [MOVE_ICE_BALL] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_ICE_BURN] = FORBIDDEN_METRONOME | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_ICICLE_SPEAR] = FORBIDDEN_PARENTAL_BOND, - [MOVE_INSTRUCT] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, - [MOVE_JET_PUNCH] = FORBIDDEN_METRONOME, - [MOVE_JUNGLE_HEALING] = FORBIDDEN_METRONOME, - [MOVE_KINGS_SHIELD] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, - [MOVE_LIFE_DEW] = FORBIDDEN_METRONOME, - [MOVE_LIGHT_OF_RUIN] = FORBIDDEN_METRONOME, - [MOVE_MAKE_IT_RAIN] = FORBIDDEN_METRONOME, - [MOVE_MAGICAL_TORQUE] = FORBIDDEN_MIMIC | FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_MAT_BLOCK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_ME_FIRST] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_METEOR_ASSAULT] = FORBIDDEN_METRONOME | FORBIDDEN_INSTRUCT, - [MOVE_METEOR_BEAM] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_METRONOME] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_MIMIC] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_MIND_BLOWN] = FORBIDDEN_METRONOME, - [MOVE_MIRROR_COAT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_MIRROR_MOVE] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_MISTY_EXPLOSION] = FORBIDDEN_PARENTAL_BOND, - [MOVE_MOONGEIST_BEAM] = FORBIDDEN_METRONOME, - [MOVE_NATURE_POWER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_NATURES_MADNESS] = FORBIDDEN_METRONOME, - [MOVE_NOXIOUS_TORQUE] = FORBIDDEN_MIMIC | FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_OBSTRUCT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, - [MOVE_ORDER_UP] = FORBIDDEN_METRONOME, - [MOVE_ORIGIN_PULSE] = FORBIDDEN_METRONOME, - [MOVE_OUTRAGE] = FORBIDDEN_INSTRUCT, - [MOVE_OVERDRIVE] = FORBIDDEN_METRONOME, - [MOVE_PHANTOM_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_PHOTON_GEYSER] = FORBIDDEN_METRONOME, - [MOVE_PLASMA_FISTS] = FORBIDDEN_METRONOME, - [MOVE_POPULATION_BOMB] = FORBIDDEN_METRONOME, - [MOVE_POUNCE] = FORBIDDEN_METRONOME, - [MOVE_POWER_SHIFT] = FORBIDDEN_METRONOME, - [MOVE_PRECIPICE_BLADES] = FORBIDDEN_METRONOME, - [MOVE_PRISMATIC_LASER] = FORBIDDEN_INSTRUCT, - [MOVE_PROTECT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_PYRO_BALL] = FORBIDDEN_METRONOME, - [MOVE_QUASH] = FORBIDDEN_METRONOME, - [MOVE_QUICK_GUARD] = FORBIDDEN_METRONOME, - [MOVE_RAGE_FIST] = FORBIDDEN_METRONOME, - [MOVE_RAGE_POWDER] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_RAGING_BULL] = FORBIDDEN_METRONOME, - [MOVE_RAGING_FURY] = FORBIDDEN_METRONOME, - [MOVE_RAZOR_WIND] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_RELIC_SONG] = FORBIDDEN_METRONOME, - [MOVE_REVIVAL_BLESSING] = FORBIDDEN_METRONOME, - [MOVE_ROAR] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_ROAR_OF_TIME] = FORBIDDEN_INSTRUCT, - [MOVE_ROCK_BLAST] = FORBIDDEN_PARENTAL_BOND, - [MOVE_ROCK_WRECKER] = FORBIDDEN_INSTRUCT, - [MOVE_ROLLOUT] = FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_RUINATION] = FORBIDDEN_METRONOME, - [MOVE_SAPPY_SEED] = FORBIDDEN_METRONOME, - [MOVE_SALT_CURE] = FORBIDDEN_METRONOME, - [MOVE_SCALE_SHOT] = FORBIDDEN_PARENTAL_BOND, - [MOVE_SECRET_SWORD] = FORBIDDEN_METRONOME, - [MOVE_SELF_DESTRUCT] = FORBIDDEN_PARENTAL_BOND, - [MOVE_SHADOW_FORCE] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_SHED_TAIL] = FORBIDDEN_METRONOME, - [MOVE_SHEER_COLD] = FORBIDDEN_PARENTAL_BOND, - [MOVE_SHELL_TRAP] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SILK_TRAP] = FORBIDDEN_METRONOME, - [MOVE_SIZZLY_SLIDE] = FORBIDDEN_METRONOME, - [MOVE_SKETCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SKULL_BASH] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_SKY_ATTACK] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_SKY_DROP] = FORBIDDEN_ASSIST | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_SLEEP_TALK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_SNAP_TRAP] = FORBIDDEN_METRONOME, - [MOVE_SNARL] = FORBIDDEN_METRONOME, - [MOVE_SNATCH] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_INSTRUCT, - [MOVE_SNORE] = FORBIDDEN_METRONOME, - [MOVE_SNOWSCAPE] = FORBIDDEN_METRONOME, - [MOVE_SOLAR_BEAM] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_SOLAR_BLADE] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_SPARKLY_SWIRL] = FORBIDDEN_METRONOME, - [MOVE_SPECTRAL_THIEF] = FORBIDDEN_METRONOME, - [MOVE_SPICY_EXTRACT] = FORBIDDEN_METRONOME, - [MOVE_SPIKE_CANNON] = FORBIDDEN_PARENTAL_BOND, - [MOVE_SPIKY_SHIELD] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_SPIRIT_BREAK] = FORBIDDEN_METRONOME, - [MOVE_SPLISHY_SPLASH] = FORBIDDEN_METRONOME, - [MOVE_SPOTLIGHT] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_STEAM_ERUPTION] = FORBIDDEN_METRONOME, - [MOVE_STEEL_BEAM] = FORBIDDEN_METRONOME, - [MOVE_STRANGE_STEAM] = FORBIDDEN_METRONOME, - [MOVE_SUNSTEEL_STRIKE] = FORBIDDEN_METRONOME, - [MOVE_SURGING_STRIKES] = FORBIDDEN_METRONOME | FORBIDDEN_PARENTAL_BOND, - [MOVE_SWITCHEROO] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_TAIL_SLAP] = FORBIDDEN_PARENTAL_BOND, - [MOVE_TECHNO_BLAST] = FORBIDDEN_METRONOME, - [MOVE_THIEF] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_THOUSAND_ARROWS] = FORBIDDEN_METRONOME, - [MOVE_THOUSAND_WAVES] = FORBIDDEN_METRONOME, - [MOVE_THRASH] = FORBIDDEN_INSTRUCT, - [MOVE_THUNDER_CAGE] = FORBIDDEN_METRONOME, - [MOVE_THUNDEROUS_KICK] = FORBIDDEN_METRONOME, - [MOVE_TIDY_UP] = FORBIDDEN_METRONOME, - [MOVE_TRAILBLAZE] = FORBIDDEN_METRONOME, - [MOVE_TRANSFORM] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_MIMIC | FORBIDDEN_INSTRUCT, - [MOVE_TRICK] = FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_TRIPLE_AXEL] = FORBIDDEN_PARENTAL_BOND, - [MOVE_TRIPLE_KICK] = FORBIDDEN_PARENTAL_BOND, - [MOVE_TWINEEDLE] = FORBIDDEN_PARENTAL_BOND, - [MOVE_TWIN_BEAM] = FORBIDDEN_METRONOME, - [MOVE_UPROAR] = FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT | FORBIDDEN_PARENTAL_BOND, - [MOVE_V_CREATE] = FORBIDDEN_METRONOME, - [MOVE_VEEVEE_VOLLEY] = FORBIDDEN_METRONOME, - [MOVE_WATER_SHURIKEN] = FORBIDDEN_PARENTAL_BOND, - [MOVE_WHIRLWIND] = FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT, - [MOVE_WICKED_BLOW] = FORBIDDEN_METRONOME, - [MOVE_WICKED_TORQUE] = FORBIDDEN_MIMIC | FORBIDDEN_METRONOME | FORBIDDEN_ASSIST | FORBIDDEN_COPYCAT | FORBIDDEN_SLEEP_TALK | FORBIDDEN_INSTRUCT, - [MOVE_WIDE_GUARD] = FORBIDDEN_METRONOME, - [MOVE_ZIPPY_ZAP] = FORBIDDEN_METRONOME, -}; - static const u16 sFinalStrikeOnlyEffects[] = { EFFECT_RELIC_SONG, @@ -1608,7 +1378,7 @@ static void Cmd_attackcanceler(void) } if (gProtectStructs[gBattlerTarget].bounceMove - && gBattleMoves[gCurrentMove].flags & FLAG_MAGIC_COAT_AFFECTED + && gBattleMoves[gCurrentMove].magicCoatAffected && !gProtectStructs[gBattlerAttacker].usesBouncedMove) { PressurePPLose(gBattlerAttacker, gBattlerTarget, MOVE_MAGIC_COAT); @@ -1629,7 +1399,7 @@ static void Cmd_attackcanceler(void) return; } else if (GetBattlerAbility(gBattlerTarget) == ABILITY_MAGIC_BOUNCE - && gBattleMoves[gCurrentMove].flags & FLAG_MAGIC_COAT_AFFECTED + && gBattleMoves[gCurrentMove].magicCoatAffected && !gProtectStructs[gBattlerAttacker].usesBouncedMove) { gProtectStructs[gBattlerTarget].usesBouncedMove = TRUE; @@ -1651,7 +1421,7 @@ static void Cmd_attackcanceler(void) for (i = 0; i < gBattlersCount; i++) { - if ((gProtectStructs[gBattlerByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].flags & FLAG_SNATCH_AFFECTED) + if ((gProtectStructs[gBattlerByTurnOrder[i]].stealMove) && gBattleMoves[gCurrentMove].snatchAffected) { PressurePPLose(gBattlerAttacker, gBattlerByTurnOrder[i], MOVE_SNATCH); gProtectStructs[gBattlerByTurnOrder[i]].stealMove = FALSE; @@ -1794,9 +1564,9 @@ static bool32 AccuracyCalcHelper(u16 move) } if ((gStatuses3[gBattlerTarget] & STATUS3_PHANTOM_FORCE) - || (!(gBattleMoves[move].flags & (FLAG_DMG_IN_AIR | FLAG_DMG_2X_IN_AIR)) && gStatuses3[gBattlerTarget] & STATUS3_ON_AIR) - || (!(gBattleMoves[move].flags & FLAG_DMG_UNDERGROUND) && gStatuses3[gBattlerTarget] & STATUS3_UNDERGROUND) - || (!(gBattleMoves[move].flags & FLAG_DMG_UNDERWATER) && gStatuses3[gBattlerTarget] & STATUS3_UNDERWATER)) + || ((gStatuses3[gBattlerTarget] & STATUS3_ON_AIR) && !(gBattleMoves[move].damagesAirborne || gBattleMoves[move].damagesAirborneDoubleDamage)) + || ((gStatuses3[gBattlerTarget] & STATUS3_UNDERGROUND) && !gBattleMoves[move].damagesUnderground) + || ((gStatuses3[gBattlerTarget] & STATUS3_UNDERWATER) && !gBattleMoves[move].damagesUnderwater)) { gMoveResultFlags |= MOVE_RESULT_MISSED; JumpIfMoveFailed(7, move); @@ -1828,7 +1598,7 @@ static bool32 AccuracyCalcHelper(u16 move) } #if B_MINIMIZE_DMG_ACC >= GEN_6 - if ((gStatuses3[gBattlerTarget] & STATUS3_MINIMIZED) && (gBattleMoves[move].flags & FLAG_DMG_MINIMIZE)) + if ((gStatuses3[gBattlerTarget] & STATUS3_MINIMIZED) && gBattleMoves[move].minimizeDoubleDamage) { JumpIfMoveFailed(7, move); return TRUE; @@ -1856,7 +1626,7 @@ u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u evasionStage = gBattleMons[battlerDef].statStages[STAT_EVASION]; if (atkAbility == ABILITY_UNAWARE || atkAbility == ABILITY_KEEN_EYE) evasionStage = DEFAULT_STAT_STAGE; - if (gBattleMoves[move].flags & FLAG_STAT_STAGES_IGNORED) + if (gBattleMoves[move].ignoresTargetDefenseEvasionStages) evasionStage = DEFAULT_STAT_STAGE; if (defAbility == ABILITY_UNAWARE) accStage = DEFAULT_STAT_STAGE; @@ -2115,7 +1885,7 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi else { critChance = 2 * ((gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) - + ((gBattleMoves[gCurrentMove].flags & FLAG_HIGH_CRIT) != 0) + + (gBattleMoves[gCurrentMove].highCritRatio) + (holdEffectAtk == HOLD_EFFECT_SCOPE_LENS) + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + 2 * BENEFITS_FROM_LEEK(battlerAtk, holdEffectAtk) @@ -5626,7 +5396,7 @@ static void Cmd_moveend(void) if (gBattleMons[gBattlerTarget].status1 & STATUS1_FROSTBITE && gBattleMons[gBattlerTarget].hp != 0 && gBattlerAttacker != gBattlerTarget - && gBattleMoves[originallyUsedMove].flags & FLAG_THAW_USER + && gBattleMoves[originallyUsedMove].thawsUser && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FROSTBITE; @@ -5966,7 +5736,7 @@ static void Cmd_moveend(void) case MOVEEND_MIRROR_MOVE: // mirror move if (!(gAbsentBattlerFlags & gBitTable[gBattlerAttacker]) && !(gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker]) - && gBattleMoves[originallyUsedMove].flags & FLAG_MIRROR_MOVE_AFFECTED + && !gBattleMoves[originallyUsedMove].mirrorMoveBanned && gHitMarker & HITMARKER_OBEYS && gBattlerAttacker != gBattlerTarget && !(gHitMarker & HITMARKER_FAINTED(gBattlerTarget)) @@ -6252,7 +6022,7 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; case MOVEEND_DANCER: // Special case because it's so annoying - if (gBattleMoves[gCurrentMove].flags & FLAG_DANCE) + if (gBattleMoves[gCurrentMove].danceMove) { u8 battler, nextDancer = 0; @@ -9736,7 +9506,7 @@ static void Cmd_various(void) } else { - if (GetBattlerAbility(gBattlerAttacker) == ABILITY_MEGA_LAUNCHER && gBattleMoves[gCurrentMove].flags & FLAG_MEGA_LAUNCHER_BOOST) + if (GetBattlerAbility(gBattlerAttacker) == ABILITY_MEGA_LAUNCHER && gBattleMoves[gCurrentMove].pulseMove) gBattleMoveDamage = -(gBattleMons[gActiveBattler].maxHP * 75 / 100); else gBattleMoveDamage = -(gBattleMons[gActiveBattler].maxHP / 2); @@ -9782,35 +9552,17 @@ static void Cmd_various(void) case VARIOUS_TRY_ME_FIRST: { VARIOUS_ARGS(const u8 *failInstr); - if (GetBattlerTurnOrderNum(gBattlerAttacker) > GetBattlerTurnOrderNum(gBattlerTarget)) - gBattlescriptCurrInstr = cmd->failInstr; - else if (IS_MOVE_STATUS(gBattleMons[gBattlerTarget].moves[gBattleStruct->chosenMovePositions[gBattlerTarget]])) + u16 move = gBattleMons[gBattlerTarget].moves[gBattleStruct->chosenMovePositions[gBattlerTarget]]; + if (IS_MOVE_STATUS(move) || gBattleMoves[move].meFirstBanned + || GetBattlerTurnOrderNum(gBattlerAttacker) > GetBattlerTurnOrderNum(gBattlerTarget)) gBattlescriptCurrInstr = cmd->failInstr; else { - u16 move = gBattleMons[gBattlerTarget].moves[gBattleStruct->chosenMovePositions[gBattlerTarget]]; - switch (move) - { - case MOVE_STRUGGLE: - case MOVE_CHATTER: - case MOVE_FOCUS_PUNCH: - case MOVE_THIEF: - case MOVE_COVET: - case MOVE_COUNTER: - case MOVE_MIRROR_COAT: - case MOVE_METAL_BURST: - case MOVE_ME_FIRST: - case MOVE_BEAK_BLAST: - gBattlescriptCurrInstr = cmd->failInstr; - break; - default: - gCalledMove = move; - gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; - gBattlerTarget = GetMoveTarget(gCalledMove, NO_TARGET_OVERRIDE); - gStatuses3[gBattlerAttacker] |= STATUS3_ME_FIRST; - gBattlescriptCurrInstr = cmd->nextInstr; - break; - } + gCalledMove = move; + gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; + gBattlerTarget = GetMoveTarget(gCalledMove, NO_TARGET_OVERRIDE); + gStatuses3[gBattlerAttacker] |= STATUS3_ME_FIRST; + gBattlescriptCurrInstr = cmd->nextInstr; } return; } @@ -10009,7 +9761,7 @@ static void Cmd_various(void) case VARIOUS_TRY_COPYCAT: { VARIOUS_ARGS(const u8 *failInstr); - if (gLastUsedMove == 0xFFFF || (sForbiddenMoves[gLastUsedMove] & FORBIDDEN_COPYCAT)) + if (gLastUsedMove == MOVE_UNAVAILABLE || gBattleMoves[gLastUsedMove].copycatBanned) { gBattlescriptCurrInstr = cmd->failInstr; } @@ -10025,8 +9777,8 @@ static void Cmd_various(void) case VARIOUS_TRY_INSTRUCT: { VARIOUS_ARGS(const u8 *failInstr); - if ((sForbiddenMoves[gLastMoves[gBattlerTarget]] & FORBIDDEN_INSTRUCT) - || gLastMoves[gBattlerTarget] == 0xFFFF) + u16 move = gLastMoves[gBattlerTarget]; + if (move == MOVE_UNAVAILABLE || gBattleMoves[move].instructBanned) { gBattlescriptCurrInstr = cmd->failInstr; } @@ -11254,7 +11006,7 @@ static void Cmd_setprotectlike(void) bool32 fail = TRUE; bool32 notLastTurn = TRUE; - if (!(gBattleMoves[gLastResultingMoves[gBattlerAttacker]].flags & FLAG_PROTECTION_MOVE)) + if (!gBattleMoves[gLastResultingMoves[gBattlerAttacker]].protectionMove) gDisableStructs[gBattlerAttacker].protectUses = 0; if (gCurrentTurnActionNumber == (gBattlersCount - 1)) @@ -12954,7 +12706,7 @@ static void Cmd_mimicattackcopy(void) { CMD_ARGS(const u8 *failInstr); - if ((sForbiddenMoves[gLastMoves[gBattlerTarget]] & FORBIDDEN_MIMIC) + if ((gBattleMoves[gLastMoves[gBattlerTarget]].mimicBanned) || (gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED) || gLastMoves[gBattlerTarget] == MOVE_UNAVAILABLE) { @@ -13017,7 +12769,7 @@ static void Cmd_metronome(void) if (gBattleMoves[gCurrentMove].effect == EFFECT_PLACEHOLDER) continue; - if (!(sForbiddenMoves[gCurrentMove] & FORBIDDEN_METRONOME)) + if (!gBattleMoves[gCurrentMove].metronomeBanned) { gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; gBattlescriptCurrInstr = gBattleScriptsForMoveEffects[gBattleMoves[gCurrentMove].effect]; @@ -13326,7 +13078,8 @@ static bool8 IsTwoTurnsMove(u16 move) || gBattleMoves[move].effect == EFFECT_SOLAR_BEAM || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE || gBattleMoves[move].effect == EFFECT_BIDE - || gBattleMoves[move].effect == EFFECT_METEOR_BEAM) + || gBattleMoves[move].effect == EFFECT_METEOR_BEAM + || gBattleMoves[move].effect == EFFECT_GEOMANCY) return TRUE; else return FALSE; @@ -13360,7 +13113,7 @@ static void Cmd_trychoosesleeptalkmove(void) for (i = 0; i < MAX_MON_MOVES; i++) { - if ((sForbiddenMoves[gBattleMons[gBattlerAttacker].moves[i]] & FORBIDDEN_SLEEP_TALK) + if ((gBattleMoves[gBattleMons[gBattlerAttacker].moves[i]].sleepTalkBanned) || IsTwoTurnsMove(gBattleMons[gBattlerAttacker].moves[i])) { unusableMovesBits |= gBitTable[i]; @@ -14281,7 +14034,7 @@ static void Cmd_setforcedtarget(void) gSideTimers[GetBattlerSide(gBattlerTarget)].followmeTimer = 1; gSideTimers[GetBattlerSide(gBattlerTarget)].followmeTarget = gBattlerTarget; - gSideTimers[GetBattlerSide(gBattlerTarget)].followmePowder = TestMoveFlags(gCurrentMove, FLAG_POWDER); + gSideTimers[GetBattlerSide(gBattlerTarget)].followmePowder = gBattleMoves[gCurrentMove].powderMove; gBattlescriptCurrInstr = cmd->nextInstr; } @@ -14852,7 +14605,9 @@ static void Cmd_assistattackselect(void) { u16 move = GetMonData(&party[monId], MON_DATA_MOVE1 + moveId); - if (sForbiddenMoves[move] & FORBIDDEN_ASSIST) + if (gBattleMoves[move].copycatBanned + || gBattleMoves[move].effect == EFFECT_SEMI_INVULNERABLE + || gBattleMoves[move].effect == EFFECT_SKY_DROP) continue; validMoves[chooseableMovesNo++] = move; @@ -15211,10 +14966,10 @@ bool32 DoesSubstituteBlockMove(u8 battlerAtk, u8 battlerDef, u32 move) if (!(gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE)) return FALSE; #if B_SOUND_SUBSTITUTE >= GEN_6 - else if (gBattleMoves[move].flags & FLAG_SOUND) + else if (gBattleMoves[move].soundMove) return FALSE; #endif - else if (gBattleMoves[move].flags & FLAG_HIT_IN_SUBSTITUTE) + else if (gBattleMoves[move].ignoresSubstitute) return FALSE; else if (GetBattlerAbility(battlerAtk) == ABILITY_INFILTRATOR) return FALSE; @@ -16252,11 +16007,43 @@ static bool32 CriticalCapture(u32 odds) #endif } +static const u16 sParentalBondBannedEffects[] = +{ + EFFECT_BEAT_UP, + EFFECT_BIDE, // Note: Bide should work with Parental Bond. This will be addressed in future. + EFFECT_ENDEAVOR, + EFFECT_EXPLOSION, + EFFECT_FINAL_GAMBIT, + EFFECT_FLING, + EFFECT_GEOMANCY, + EFFECT_METEOR_BEAM, + EFFECT_MULTI_HIT, + EFFECT_OHKO, + EFFECT_ROLLOUT, + EFFECT_SCALE_SHOT, + EFFECT_SEMI_INVULNERABLE, + EFFECT_SKULL_BASH, + EFFECT_SKY_DROP, + EFFECT_SOLAR_BEAM, + EFFECT_TRIPLE_KICK, + EFFECT_TWO_TURNS_ATTACK, + EFFECT_UPROAR, +}; + bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) { - if (gBattleMoves[move].split != SPLIT_STATUS - && !(sForbiddenMoves[move] & FORBIDDEN_PARENTAL_BOND)) + if (move != MOVE_NONE && move != MOVE_STRUGGLE + && gBattleMoves[move].split != SPLIT_STATUS + && !gBattleMoves[move].twoStrikes + && !gBattleMoves[move].threeStrikes) { + u32 i; + for (i = 0; i < ARRAY_COUNT(sParentalBondBannedEffects); i++) + { + if (gBattleMoves[move].effect == sParentalBondBannedEffects[i]) + return FALSE; + } + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { switch (GetBattlerMoveTargetType(battlerId, move)) diff --git a/src/battle_tv.c b/src/battle_tv.c index 7379b72e4b..d282393516 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -217,7 +217,7 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_PURSUIT] = 2, [EFFECT_RAPID_SPIN] = 2, [EFFECT_SONICBOOM] = 1, -// [EFFECT_UNUSED_83] = 1, +// [EFFECT_UNUSED_83] = 1, [EFFECT_MORNING_SUN] = 4, [EFFECT_SYNTHESIS] = 4, [EFFECT_MOONLIGHT] = 4, @@ -227,16 +227,16 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_DEFENSE_UP_HIT] = 1, [EFFECT_ATTACK_UP_HIT] = 1, [EFFECT_ALL_STATS_UP_HIT] = 1, -// [EFFECT_UNUSED_8D] = 1, +// [EFFECT_UNUSED_8D] = 1, [EFFECT_BELLY_DRUM] = 7, [EFFECT_PSYCH_UP] = 7, [EFFECT_MIRROR_COAT] = 6, [EFFECT_SKULL_BASH] = 3, - [EFFECT_TWISTER] = 1, +// [EFFECT_TWISTER] = 1, [EFFECT_EARTHQUAKE] = 1, [EFFECT_FUTURE_SIGHT] = 1, [EFFECT_GUST] = 1, - [EFFECT_FLINCH_MINIMIZE_HIT] = 1, +// [EFFECT_FLINCH_MINIMIZE_HIT] = 1, [EFFECT_SOLAR_BEAM] = 1, [EFFECT_THUNDER] = 1, [EFFECT_TELEPORT] = 1, diff --git a/src/battle_util.c b/src/battle_util.c index 792b8dfb1f..a94f13bf28 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -889,43 +889,6 @@ void HandleAction_ActionFinished(void) #endif } -static const u8 sMovesNotAffectedByStench[] = -{ - [MOVE_AIR_SLASH] = 1, - [MOVE_ASTONISH] = 1, - [MOVE_BITE] = 1, - [MOVE_BONE_CLUB] = 1, - [MOVE_DARK_PULSE] = 1, - [MOVE_DOUBLE_IRON_BASH] = 1, - [MOVE_DRAGON_RUSH] = 1, - [MOVE_EXTRASENSORY] = 1, - [MOVE_FAKE_OUT] = 1, - [MOVE_FIERY_WRATH] = 1, - [MOVE_FIRE_FANG] = 1, - [MOVE_FLING] = 1, - [MOVE_FLOATY_FALL] = 1, - [MOVE_HEADBUTT] = 1, - [MOVE_HEART_STAMP] = 1, - [MOVE_HYPER_FANG] = 1, - [MOVE_ICE_FANG] = 1, - [MOVE_ICICLE_CRASH] = 1, - [MOVE_IRON_HEAD] = 1, - [MOVE_NEEDLE_ARM] = 1, - [MOVE_NONE] = 1, - [MOVE_ROCK_SLIDE] = 1, - [MOVE_ROLLING_KICK] = 1, - [MOVE_SECRET_POWER] = 1, - [MOVE_SKY_ATTACK] = 1, - [MOVE_SNORE] = 1, - [MOVE_STEAMROLLER] = 1, - [MOVE_STOMP] = 1, - [MOVE_THUNDER_FANG] = 1, - [MOVE_TWISTER] = 1, - [MOVE_WATERFALL] = 1, - [MOVE_ZEN_HEADBUTT] = 1, - [MOVE_ZING_ZAP] = 1, -}; - static const u8 sAbilitiesAffectedByMoldBreaker[] = { [ABILITY_BATTLE_ARMOR] = 1, @@ -1607,22 +1570,7 @@ static bool32 IsGravityPreventingMove(u32 move) if (!(gFieldStatuses & STATUS_FIELD_GRAVITY)) return FALSE; - switch (move) - { - case MOVE_BOUNCE: - case MOVE_FLY: - case MOVE_FLYING_PRESS: - case MOVE_HIGH_JUMP_KICK: - case MOVE_JUMP_KICK: - case MOVE_MAGNET_RISE: - case MOVE_SKY_DROP: - case MOVE_SPLASH: - case MOVE_TELEKINESIS: - case MOVE_FLOATY_FALL: - return TRUE; - default: - return FALSE; - } + return gBattleMoves[move].gravityBanned; } bool32 IsHealBlockPreventingMove(u32 battler, u32 move) @@ -1715,7 +1663,7 @@ u8 TrySetCantSelectMoveBattleScript(void) } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gActiveBattler].throatChopTimer != 0 && gBattleMoves[move].flags & FLAG_SOUND) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gActiveBattler].throatChopTimer != 0 && gBattleMoves[move].soundMove) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) @@ -1933,7 +1881,7 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u16 check) else if (check & MOVE_LIMITATION_BELCH && IsBelchPreventingMove(battlerId, gBattleMons[battlerId].moves[i])) unusableMoves |= gBitTable[i]; // Throat Chop - else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battlerId].throatChopTimer && gBattleMoves[gBattleMons[battlerId].moves[i]].flags & FLAG_SOUND) + else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battlerId].throatChopTimer && gBattleMoves[gBattleMons[battlerId].moves[i]].soundMove) unusableMoves |= gBitTable[i]; // Stuff Cheeks else if (check & MOVE_LIMITATION_STUFF_CHEEKS && gBattleMons[battlerId].moves[i] == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[gActiveBattler].item) != POCKET_BERRIES) @@ -3452,7 +3400,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case CANCELLER_FROZEN: // check being frozen - if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE && !(gBattleMoves[gCurrentMove].flags & FLAG_THAW_USER)) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE && !(gBattleMoves[gCurrentMove].thawsUser)) { if (!RandomPercentage(RNG_FROZEN, 20)) { @@ -3674,7 +3622,7 @@ u8 AtkCanceller_UnableToUseMove(void) } effect = 2; } - if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FROSTBITE && (gBattleMoves[gCurrentMove].flags & FLAG_THAW_USER)) + if (gBattleMons[gBattlerAttacker].status1 & STATUS1_FROSTBITE && gBattleMoves[gCurrentMove].thawsUser) { if (!(gBattleMoves[gCurrentMove].effect == EFFECT_BURN_UP && !IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_FIRE))) { @@ -3688,7 +3636,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case CANCELLER_POWDER_MOVE: - if ((gBattleMoves[gCurrentMove].flags & FLAG_POWDER) && (gBattlerAttacker != gBattlerTarget)) + if ((gBattleMoves[gCurrentMove].powderMove) && (gBattlerAttacker != gBattlerTarget)) { #if B_POWDER_GRASS >= GEN_6 if (IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_GRASS) || GetBattlerAbility(gBattlerTarget) == ABILITY_OVERCOAT) @@ -3730,7 +3678,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->atkCancellerTracker++; break; case CANCELLER_THROAT_CHOP: - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gBattlerAttacker].throatChopTimer && gBattleMoves[gCurrentMove].flags & FLAG_SOUND) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gBattlerAttacker].throatChopTimer && gBattleMoves[gCurrentMove].soundMove) { gProtectStructs[gBattlerAttacker].usedThroatChopPreventedMove = TRUE; CancelMultiTurnMoves(gBattlerAttacker); @@ -3789,7 +3737,7 @@ u8 AtkCanceller_UnableToUseMove(void) PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) } - else if (gBattleMoves[gCurrentMove].flags & FLAG_TWO_STRIKES) + else if (gBattleMoves[gCurrentMove].twoStrikes) { gMultiHitCounter = 2; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) @@ -3798,7 +3746,7 @@ u8 AtkCanceller_UnableToUseMove(void) // TODO } } - else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK || gBattleMoves[gCurrentMove].flags & FLAG_THREE_STRIKES) + else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK || gBattleMoves[gCurrentMove].threeStrikes) { gMultiHitCounter = 3; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) @@ -4950,8 +4898,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move u16 battlerAbility = GetBattlerAbility(battler); u16 targetAbility = GetBattlerAbility(gBattlerTarget); - if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gBattleMoves[move].flags & FLAG_SOUND && !(moveTarget & MOVE_TARGET_USER)) - || (gLastUsedAbility == ABILITY_BULLETPROOF && gBattleMoves[move].flags & FLAG_BALLISTIC)) + if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gBattleMoves[move].soundMove && !(moveTarget & MOVE_TARGET_USER)) + || (gLastUsedAbility == ABILITY_BULLETPROOF && gBattleMoves[move].ballisticMove)) { if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) gHitMarker |= HITMARKER_NO_PPDEDUCT; @@ -5063,7 +5011,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect = 2, statId = STAT_DEF, statAmount = 2; break; case ABILITY_WIND_RIDER: - if (gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE && !(GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove) & MOVE_TARGET_USER)) + if (gBattleMoves[gCurrentMove].windMove && !(GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove) & MOVE_TARGET_USER)) effect = 2, statId = STAT_ATK; break; case ABILITY_EARTH_EATER: @@ -5291,7 +5239,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && IsBattlerAlive(gBattlerAttacker) && TARGET_TURN_DAMAGED - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + && IsMoveMakingContact(move, gBattlerAttacker)) { switch (gBattleMons[gBattlerAttacker].ability) { @@ -5676,7 +5624,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_WIND_POWER: - if (!(gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE)) + if (!(gBattleMoves[gCurrentMove].windMove)) break; // fall through case ABILITY_ELECTROMORPHOSIS: @@ -5733,7 +5681,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && RandomWeighted(RNG_STENCH, 9, 1) && !IS_MOVE_STATUS(move) - && !sMovesNotAffectedByStench[gCurrentMove]) + && !gBattleMoves[gCurrentMove].effect != EFFECT_FLINCH_HIT + && !gBattleMoves[gCurrentMove].effect != EFFECT_FLINCH_STATUS + && !gBattleMoves[gCurrentMove].effect != EFFECT_TRIPLE_ARROWS) { gBattleScripting.moveEffect = MOVE_EFFECT_FLINCH; BattleScriptPushCursor(); @@ -5758,7 +5708,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move { case ABILITY_DANCER: if (IsBattlerAlive(battler) - && (gBattleMoves[gCurrentMove].flags & FLAG_DANCE) + && (gBattleMoves[gCurrentMove].danceMove) && !gSpecialStatuses[battler].dancerUsedMove && gBattlerAttacker != battler) { @@ -6150,7 +6100,7 @@ u32 GetBattlerAbility(u8 battlerId) || gBattleMons[gBattlerAttacker].ability == ABILITY_TERAVOLT || gBattleMons[gBattlerAttacker].ability == ABILITY_TURBOBLAZE) && !(gStatuses3[gBattlerAttacker] & STATUS3_GASTRO_ACID)) - || gBattleMoves[gCurrentMove].flags & FLAG_TARGET_ABILITY_IGNORED) + || gBattleMoves[gCurrentMove].ignoresTargetAbility) && sAbilitiesAffectedByMoldBreaker[gBattleMons[battlerId].ability] && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker && gActionsByTurnOrder[gBattlerByTurnOrder[gBattlerAttacker]] == B_ACTION_USE_MOVE @@ -7545,21 +7495,25 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (atkHoldEffect) { case HOLD_EFFECT_FLINCH: - #if B_SERENE_GRACE_BOOST >= GEN_5 - if (GetBattlerAbility(gBattlerAttacker) == ABILITY_SERENE_GRACE) - atkHoldEffectParam *= 2; - #endif - if (gBattleMoveDamage != 0 // Need to have done damage - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && TARGET_TURN_DAMAGED - && RandomPercentage(RNG_HOLD_EFFECT_FLINCH, atkHoldEffectParam) - && gBattleMoves[gCurrentMove].flags & FLAG_KINGS_ROCK_AFFECTED - && gBattleMons[gBattlerTarget].hp) { - gBattleScripting.moveEffect = MOVE_EFFECT_FLINCH; - BattleScriptPushCursor(); - SetMoveEffect(FALSE, 0); - BattleScriptPop(); + u16 ability = GetBattlerAbility(gBattlerAttacker); + #if B_SERENE_GRACE_BOOST >= GEN_5 + if (ability == ABILITY_SERENE_GRACE) + atkHoldEffectParam *= 2; + #endif + if (gBattleMoveDamage != 0 // Need to have done damage + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && TARGET_TURN_DAMAGED + && !gBattleMoves[gCurrentMove].ignoresKingsRock + && gBattleMons[gBattlerTarget].hp + && RandomPercentage(RNG_HOLD_EFFECT_FLINCH, atkHoldEffectParam) + && ability != ABILITY_STENCH) + { + gBattleScripting.moveEffect = MOVE_EFFECT_FLINCH; + BattleScriptPushCursor(); + SetMoveEffect(FALSE, 0); + BattleScriptPop(); + } } break; case HOLD_EFFECT_BLUNDER_POLICY: @@ -7621,7 +7575,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_THROAT_SPRAY: // Does NOT need to be a damaging move if (gProtectStructs[gBattlerAttacker].targetAffected && gBattleMons[gBattlerAttacker].hp != 0 - && gBattleMoves[gCurrentMove].flags & FLAG_SOUND + && gBattleMoves[gCurrentMove].soundMove && CompareStat(gBattlerAttacker, STAT_SPATK, MAX_STAT_STAGE, CMP_LESS_THAN) && !NoAliveMonsForEitherParty()) // Don't activate if battle will end { @@ -8135,14 +8089,14 @@ bool32 IsMoveMakingContact(u16 move, u8 battlerAtk) { u16 atkHoldEffect = GetBattlerHoldEffect(battlerAtk, TRUE); - if (!(gBattleMoves[move].flags & FLAG_MAKES_CONTACT)) + if (!gBattleMoves[move].makesContact) { if (gBattleMoves[move].effect == EFFECT_SHELL_SIDE_ARM && gBattleStruct->swapDamageCategory) return TRUE; else return FALSE; } - else if ((atkHoldEffect == HOLD_EFFECT_PUNCHING_GLOVE && (gBattleMoves[move].flags & FLAG_IRON_FIST_BOOST)) + else if ((atkHoldEffect == HOLD_EFFECT_PUNCHING_GLOVE && gBattleMoves[move].punchingMove) || atkHoldEffect == HOLD_EFFECT_PROTECTIVE_PADS || GetBattlerAbility(battlerAtk) == ABILITY_LONG_REACH) { @@ -8179,11 +8133,11 @@ bool32 IsBattlerProtected(u8 battlerId, u16 move) // Protective Pads doesn't stop Unseen Fist from bypassing Protect effects, so IsMoveMakingContact() isn't used here. // This means extra logic is needed to handle Shell Side Arm. if (GetBattlerAbility(gBattlerAttacker) == ABILITY_UNSEEN_FIST - && (gBattleMoves[move].flags & FLAG_MAKES_CONTACT || (gBattleMoves[move].effect == EFFECT_SHELL_SIDE_ARM && gBattleStruct->swapDamageCategory))) + && (gBattleMoves[move].makesContact || (gBattleMoves[move].effect == EFFECT_SHELL_SIDE_ARM && gBattleStruct->swapDamageCategory))) return FALSE; - else if (!(gBattleMoves[move].flags & FLAG_PROTECT_AFFECTED)) + else if (gBattleMoves[move].ignoresProtect) return FALSE; - else if (gBattleMoves[move].effect == MOVE_EFFECT_FEINT) + else if (gBattleMoves[move].effect == EFFECT_FEINT) return FALSE; else if (gProtectStructs[battlerId].protected) return TRUE; @@ -8734,15 +8688,15 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_RECKLESS: - if (gBattleMoves[move].flags & FLAG_RECKLESS_BOOST) + if (IS_MOVE_RECOIL(move)) MulModifier(&modifier, UQ_4_12(1.2)); break; case ABILITY_IRON_FIST: - if (gBattleMoves[move].flags & FLAG_IRON_FIST_BOOST) + if (gBattleMoves[move].punchingMove) MulModifier(&modifier, UQ_4_12(1.2)); break; case ABILITY_SHEER_FORCE: - if (gBattleMoves[move].flags & FLAG_SHEER_FORCE_BOOST) + if (gBattleMoves[move].sheerForceBoost) MulModifier(&modifier, UQ_4_12(1.3)); break; case ABILITY_SAND_FORCE: @@ -8765,11 +8719,11 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.3)); break; case ABILITY_STRONG_JAW: - if (gBattleMoves[move].flags & FLAG_STRONG_JAW_BOOST) + if (gBattleMoves[move].bitingMove) MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_MEGA_LAUNCHER: - if (gBattleMoves[move].flags & FLAG_MEGA_LAUNCHER_BOOST) + if (gBattleMoves[move].pulseMove) MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_WATER_BUBBLE: @@ -8801,7 +8755,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.2)); break; case ABILITY_PUNK_ROCK: - if (gBattleMoves[move].flags & FLAG_SOUND) + if (gBattleMoves[move].soundMove) MulModifier(&modifier, UQ_4_12(1.3)); break; case ABILITY_STEELY_SPIRIT: @@ -8847,7 +8801,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.3)); break; case ABILITY_SHARPNESS: - if (gBattleMoves[move].flags & FLAG_SLICING_MOVE) + if (gBattleMoves[move].slicingMove) MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_SUPREME_OVERLORD: @@ -9013,7 +8967,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, holdEffectModifier); break; case HOLD_EFFECT_PUNCHING_GLOVE: - if (gBattleMoves[move].flags & FLAG_IRON_FIST_BOOST) + if (gBattleMoves[move].punchingMove) MulModifier(&modifier, UQ_4_12(1.1)); break; } @@ -9350,7 +9304,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, if (GetBattlerAbility(battlerAtk) == ABILITY_UNAWARE) defStage = DEFAULT_STAT_STAGE; // certain moves also ignore stat changes - if (gBattleMoves[move].flags & FLAG_STAT_STAGES_IGNORED) + if (gBattleMoves[move].ignoresTargetDefenseEvasionStages) defStage = DEFAULT_STAT_STAGE; defStat *= gStatStageRatios[defStage][0]; @@ -9391,7 +9345,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_PUNK_ROCK: - if (gBattleMoves[move].flags & FLAG_SOUND) + if (gBattleMoves[move].soundMove) MulModifier(&modifier, UQ_4_12(2.0)); break; case ABILITY_PURIFYING_SALT: @@ -9635,13 +9589,13 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move break; } - if (gBattleMoves[move].flags & FLAG_DMG_MINIMIZE && gStatuses3[battlerDef] & STATUS3_MINIMIZED) + if (gBattleMoves[move].minimizeDoubleDamage && gStatuses3[battlerDef] & STATUS3_MINIMIZED) MulModifier(&finalModifier, UQ_4_12(2.0)); - if (gBattleMoves[move].flags & FLAG_DMG_UNDERGROUND && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) + if (gBattleMoves[move].damagesUnderground && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) MulModifier(&finalModifier, UQ_4_12(2.0)); - if (gBattleMoves[move].flags & FLAG_DMG_UNDERWATER && gStatuses3[battlerDef] & STATUS3_UNDERWATER) + if (gBattleMoves[move].damagesUnderwater && gStatuses3[battlerDef] & STATUS3_UNDERWATER) MulModifier(&finalModifier, UQ_4_12(2.0)); - if (gBattleMoves[move].flags & FLAG_DMG_2X_IN_AIR && gStatuses3[battlerDef] & STATUS3_ON_AIR) + if (gBattleMoves[move].damagesAirborneDoubleDamage && gStatuses3[battlerDef] & STATUS3_ON_AIR) MulModifier(&finalModifier, UQ_4_12(2.0)); dmg = ApplyModifier(finalModifier, dmg); @@ -9801,7 +9755,7 @@ static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 bat } #endif } - else if (moveType == TYPE_GROUND && !IsBattlerGrounded2(battlerDef, TRUE) && !(gBattleMoves[move].flags & FLAG_DMG_UNGROUNDED_IGNORE_TYPE_IF_FLYING)) + else if (moveType == TYPE_GROUND && !IsBattlerGrounded2(battlerDef, TRUE) && !(gBattleMoves[move].ignoreTypeIfFlyingAndUngrounded)) { modifier = UQ_4_12(0.0); if (recordAbilities && defAbility == ABILITY_LEVITATE) @@ -9821,7 +9775,7 @@ static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 bat #endif // Thousand Arrows ignores type modifiers for flying mons - if (!IsBattlerGrounded(battlerDef) && (gBattleMoves[move].flags & FLAG_DMG_UNGROUNDED_IGNORE_TYPE_IF_FLYING) + if (!IsBattlerGrounded(battlerDef) && (gBattleMoves[move].ignoreTypeIfFlyingAndUngrounded) && (gBattleMons[battlerDef].type1 == TYPE_FLYING || gBattleMons[battlerDef].type2 == TYPE_FLYING || gBattleMons[battlerDef].type3 == TYPE_FLYING)) { modifier = UQ_4_12(1.0); @@ -10430,13 +10384,6 @@ u8 GetSplitBasedOnStats(u8 battlerId) return SPLIT_PHYSICAL; } -bool32 TestMoveFlags(u16 move, u32 flag) -{ - if (gBattleMoves[move].flags & flag) - return TRUE; - return FALSE; -} - static u8 GetFlingPowerFromItemId(u16 itemId) { if (itemId >= ITEM_TM01 && itemId <= ITEM_HM08) @@ -10678,7 +10625,7 @@ bool32 IsBattlerAffectedByHazards(u8 battlerId, bool32 toxicSpikes) bool32 TestSheerForceFlag(u8 battler, u16 move) { - if (GetBattlerAbility(battler) == ABILITY_SHEER_FORCE && gBattleMoves[move].flags & FLAG_SHEER_FORCE_BOOST) + if (GetBattlerAbility(battler) == ABILITY_SHEER_FORCE && gBattleMoves[move].sheerForceBoost) return TRUE; else return FALSE; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 65ace8f3b8..96e6e56481 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -10,8 +10,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_POUND] = @@ -24,9 +28,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS == GEN_4, }, [MOVE_KARATE_CHOP] = @@ -39,9 +44,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, }, [MOVE_DOUBLE_SLAP] = @@ -54,9 +60,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_COMET_PUNCH] = @@ -69,9 +75,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_MEGA_PUNCH] = @@ -84,9 +91,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_PAY_DAY] = @@ -99,7 +107,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -114,9 +121,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_ICE_PUNCH] = @@ -133,9 +142,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_THUNDER_PUNCH] = @@ -148,9 +159,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_SCRATCH] = @@ -163,9 +176,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_VISE_GRIP] = @@ -178,9 +191,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_GUILLOTINE] = @@ -193,18 +206,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_RAZOR_WIND] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_TWO_TURNS_ATTACK, .power = 80, .type = TYPE_NORMAL, @@ -215,6 +223,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SWORDS_DANCE] = @@ -231,9 +242,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .danceMove = TRUE, + .snatchAffected = TRUE, }, [MOVE_CUT] = @@ -246,9 +258,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_GUST] = @@ -261,9 +274,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_2X_IN_AIR | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_4) || (B_UPDATED_MOVE_FLAGS < GEN_3), + .damagesAirborneDoubleDamage = TRUE, + .windMove = TRUE, }, [MOVE_WING_ATTACK] = @@ -276,22 +291,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_WHIRLWIND] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .accuracy = 0, - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_WIND_MOVE, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #else .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #endif .effect = EFFECT_ROAR, .power = 0, @@ -302,6 +312,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = -6, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .windMove = TRUE, + .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .copycatBanned = TRUE, }, [MOVE_FLY] = @@ -318,9 +332,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .gravityBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_BIND] = @@ -337,9 +354,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, }, [MOVE_SLAM] = @@ -352,9 +370,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_VINE_WHIP] = @@ -362,7 +380,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 45, .pp = 25, - #elif B_UPDATED_MOVE_DATA == GEN_4 || B_UPDATED_MOVE_DATA == GEN_5 + #elif B_UPDATED_MOVE_DATA >= GEN_4 .power = 35, .pp = 15, #else @@ -375,9 +393,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_STOMP] = @@ -390,9 +408,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = TRUE, }, [MOVE_DOUBLE_KICK] = @@ -405,9 +425,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .twoStrikes = TRUE, }, [MOVE_MEGA_KICK] = @@ -420,9 +441,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_JUMP_KICK] = @@ -443,18 +464,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .gravityBanned = TRUE, }, [MOVE_ROLLING_KICK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_FLINCH_HIT, .power = 60, .type = TYPE_FIGHTING, @@ -465,6 +482,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, + .sheerForceBoost = TRUE, }, [MOVE_SAND_ATTACK] = @@ -477,9 +497,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_HEADBUTT] = @@ -492,9 +512,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_HORN_ATTACK] = @@ -507,9 +528,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FURY_ATTACK] = @@ -522,9 +543,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_HORN_DRILL] = @@ -537,9 +558,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TACKLE] = @@ -547,7 +568,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_7 .power = 40, .accuracy = 100, - #elif B_UPDATED_MOVE_DATA == GEN_5 || B_UPDATED_MOVE_DATA == GEN_6 + #elif B_UPDATED_MOVE_DATA >= GEN_5 .power = 50, .accuracy = 100, #else @@ -560,18 +581,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_BODY_SLAM] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_PARALYZE_HIT, .power = 85, .type = TYPE_NORMAL, @@ -582,6 +598,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6, }, [MOVE_WRAP] = @@ -598,9 +617,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TAKE_DOWN] = @@ -613,9 +632,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_THRASH] = @@ -633,9 +652,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_DOUBLE_EDGE] = @@ -648,9 +667,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TAIL_WHIP] = @@ -663,9 +682,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_POISON_STING] = @@ -678,9 +697,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_TWINEEDLE] = @@ -693,9 +712,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 + .twoStrikes = TRUE, }, [MOVE_PIN_MISSILE] = @@ -713,7 +734,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -728,9 +748,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_BITE] = @@ -743,9 +763,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_GROWL] = @@ -758,22 +780,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_ROAR] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .accuracy = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_MAGIC_COAT_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_MAGIC_COAT_AFFECTED, #else .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, #endif .effect = EFFECT_ROAR, .power = 0, @@ -784,6 +802,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = -6, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .soundMove = TRUE, + .copycatBanned = TRUE, }, [MOVE_SING] = @@ -796,9 +818,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_SUPERSONIC] = @@ -811,9 +834,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_SONIC_BOOM] = @@ -826,7 +850,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -835,13 +858,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = { #if B_UPDATED_MOVE_DATA >= GEN_5 .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, #elif B_UPDATED_MOVE_DATA == GEN_4 .accuracy = 80, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #else .accuracy = 55, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #endif .effect = EFFECT_DISABLE, .power = 0, @@ -852,6 +872,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_ACID] = @@ -868,9 +889,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_EMBER] = @@ -883,9 +904,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_FLAMETHROWER] = @@ -902,9 +923,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_MIST] = @@ -917,9 +938,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .snatchAffected = TRUE, }, [MOVE_WATER_GUN] = @@ -932,7 +953,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -951,7 +971,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -961,7 +980,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 90, .target = MOVE_TARGET_FOES_AND_ALLY, - #elif B_UPDATED_MOVE_DATA == GEN_4 || B_UPDATED_MOVE_DATA == GEN_5 + #elif B_UPDATED_MOVE_DATA >= GEN_4 .power = 95, .target = MOVE_TARGET_FOES_AND_ALLY, #else @@ -974,9 +993,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 15, .secondaryEffectChance = 0, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_UNDERWATER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .damagesUnderwater = TRUE, }, [MOVE_ICE_BEAM] = @@ -999,9 +1018,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BLIZZARD] = @@ -1022,9 +1041,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_PSYBEAM] = @@ -1037,9 +1057,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BUBBLE_BEAM] = @@ -1052,9 +1072,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_AURORA_BEAM] = @@ -1067,9 +1087,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_HYPER_BEAM] = @@ -1082,9 +1102,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, + .instructBanned = TRUE, }, [MOVE_PECK] = @@ -1097,9 +1118,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_DRILL_PECK] = @@ -1112,9 +1133,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SUBMISSION] = @@ -1131,9 +1152,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_LOW_KICK] = @@ -1146,20 +1167,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_COUNTER] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .flags = FLAG_MAKES_CONTACT, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_COUNTER, .power = 1, .type = TYPE_FIGHTING, @@ -1170,6 +1184,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = -5, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, // B_UPDATED_MOVE_FLAGS >= GEN_2 + .copycatBanned = TRUE, }, [MOVE_SEISMIC_TOSS] = @@ -1182,9 +1202,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_STRENGTH] = @@ -1197,9 +1217,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ABSORB] = @@ -1216,9 +1236,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_MEGA_DRAIN] = @@ -1235,9 +1255,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_LEECH_SEED] = @@ -1250,9 +1270,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, }, [MOVE_GROWTH] = @@ -1273,9 +1293,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_RAZOR_LEAF] = @@ -1288,9 +1308,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, + .slicingMove = TRUE, }, [MOVE_SOLAR_BEAM] = @@ -1303,9 +1324,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_POISON_POWDER] = @@ -1318,9 +1340,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, + .powderMove = TRUE, }, [MOVE_STUN_SPORE] = @@ -1333,9 +1356,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, + .powderMove = TRUE, }, [MOVE_SLEEP_POWDER] = @@ -1348,9 +1372,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, + .powderMove = TRUE, }, [MOVE_PETAL_DANCE] = @@ -1371,9 +1396,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DANCE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .danceMove = TRUE, }, [MOVE_STRING_SHOT] = @@ -1390,9 +1416,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_DRAGON_RAGE] = @@ -1405,9 +1431,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = (B_UPDATED_MOVE_FLAGS == GEN_4) || (B_UPDATED_MOVE_FLAGS < GEN_3), }, [MOVE_FIRE_SPIN] = @@ -1425,10 +1451,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, }, [MOVE_THUNDER_SHOCK] = @@ -1441,9 +1466,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_THUNDERBOLT] = @@ -1460,9 +1485,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_THUNDER_WAVE] = @@ -1479,9 +1504,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_THUNDER] = @@ -1498,9 +1523,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_IN_AIR, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .damagesAirborne = TRUE, }, [MOVE_ROCK_THROW] = @@ -1513,7 +1539,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -1528,9 +1553,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_UNDERGROUND, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, + .damagesUnderground = TRUE, }, [MOVE_FISSURE] = @@ -1543,9 +1569,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_UNDERGROUND, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .damagesUnderground = TRUE, }, [MOVE_DIG] = @@ -1562,9 +1588,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_TOXIC] = @@ -1581,9 +1609,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_CONFUSION] = @@ -1596,9 +1624,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_PSYCHIC] = @@ -1611,9 +1639,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_HYPNOSIS] = @@ -1626,9 +1654,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_MEDITATE] = @@ -1641,9 +1669,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_AGILITY] = @@ -1656,9 +1684,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_QUICK_ATTACK] = @@ -1671,9 +1699,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_RAGE] = @@ -1686,9 +1714,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TELEPORT] = @@ -1701,7 +1729,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = -6, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, }, @@ -1716,7 +1743,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -1731,9 +1757,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, // B_UPDATED_MOVE_FLAGS >= GEN_2 + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SCREECH] = @@ -1746,9 +1776,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_DOUBLE_TEAM] = @@ -1761,9 +1792,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_RECOVER] = @@ -1782,9 +1813,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HARDEN] = @@ -1797,9 +1828,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_MINIMIZE] = @@ -1816,9 +1847,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_SMOKESCREEN] = @@ -1831,9 +1862,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_CONFUSE_RAY] = @@ -1846,9 +1877,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_WITHDRAW] = @@ -1861,9 +1892,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_DEFENSE_CURL] = @@ -1876,9 +1907,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, + .snatchAffected = TRUE, }, [MOVE_BARRIER] = @@ -1895,9 +1926,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_LIGHT_SCREEN] = @@ -1910,9 +1941,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_HAZE] = @@ -1925,7 +1956,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, }, @@ -1940,9 +1970,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_FOCUS_ENERGY] = @@ -1955,9 +1985,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, + .snatchAffected = TRUE, + .sleepTalkBanned = TRUE, }, [MOVE_BIDE] = @@ -1975,9 +2006,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_METRONOME] = @@ -1990,9 +2023,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = B_UPDATED_MOVE_FLAGS >= GEN_3, + .instructBanned = TRUE, }, [MOVE_MIRROR_MOVE] = @@ -2005,9 +2041,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_2, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, + .copycatBanned = TRUE, + .sleepTalkBanned = B_UPDATED_MOVE_FLAGS >= GEN_3, + .instructBanned = TRUE, }, [MOVE_SELF_DESTRUCT] = @@ -2020,7 +2059,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -2035,9 +2073,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, }, [MOVE_LICK] = @@ -2054,9 +2092,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_SMOG] = @@ -2073,9 +2112,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 40, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SLUDGE] = @@ -2088,9 +2127,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BONE_CLUB] = @@ -2103,9 +2142,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_FIRE_BLAST] = @@ -2122,22 +2161,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_WATERFALL] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 + #if B_UPDATED_MOVE_DATA >= GEN_4 .effect = EFFECT_FLINCH_HIT, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .effect = EFFECT_FLINCH_HIT, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, #else .effect = EFFECT_HIT, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, #endif .power = 80, .type = TYPE_WATER, @@ -2148,6 +2182,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_CLAMP] = @@ -2165,9 +2201,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, }, [MOVE_SWIFT] = @@ -2180,7 +2217,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -2200,9 +2236,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SPIKE_CANNON] = @@ -2215,7 +2253,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -2230,9 +2267,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_AMNESIA] = @@ -2245,18 +2283,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_KINESIS] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_ACCURACY_DOWN, .power = 0, .type = TYPE_PSYCHIC, @@ -2267,6 +2300,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_SOFT_BOILED] = @@ -2283,9 +2317,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HIGH_JUMP_KICK] = @@ -2306,9 +2340,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .gravityBanned = TRUE, }, [MOVE_GLARE] = @@ -2327,9 +2362,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_DREAM_EATER] = @@ -2342,7 +2377,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -2365,9 +2399,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 40, .secondaryEffectChance = 0, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_BARRAGE] = @@ -2380,9 +2414,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, }, [MOVE_LEECH_LIFE] = @@ -2400,9 +2434,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_LOVELY_KISS] = @@ -2415,18 +2450,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_SKY_ATTACK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_TWO_TURNS_ATTACK, .power = 140, .type = TYPE_FLYING, @@ -2438,6 +2468,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_FLINCH, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_TRANSFORM] = @@ -2450,9 +2483,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .ignoresProtect = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_5, + .copycatBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_BUBBLE] = @@ -2469,9 +2506,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_DIZZY_PUNCH] = @@ -2484,9 +2521,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_SPORE] = @@ -2499,9 +2538,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, + .powderMove = TRUE, }, [MOVE_FLASH] = @@ -2518,9 +2558,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_PSYWAVE] = @@ -2537,7 +2577,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -2552,9 +2591,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_3, + .gravityBanned = TRUE, }, [MOVE_ACID_ARMOR] = @@ -2571,9 +2610,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_CRABHAMMER] = @@ -2594,9 +2633,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, }, [MOVE_EXPLOSION] = @@ -2609,7 +2649,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -2624,9 +2663,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_BONEMERANG] = @@ -2639,9 +2678,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .twoStrikes = TRUE, }, [MOVE_REST] = @@ -2658,9 +2697,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_ROCK_SLIDE] = @@ -2673,9 +2712,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_HYPER_FANG] = @@ -2688,9 +2727,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_STRONG_JAW_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_SHARPEN] = @@ -2703,18 +2744,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_CONVERSION] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_CONVERSION, .power = 0, .type = TYPE_NORMAL, @@ -2725,6 +2761,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_TRI_ATTACK] = @@ -2737,9 +2774,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SUPER_FANG] = @@ -2752,9 +2789,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_SLASH] = @@ -2767,9 +2805,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, + .slicingMove = TRUE, }, [MOVE_SUBSTITUTE] = @@ -2782,20 +2822,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_STRUGGLE] = { #if B_UPDATED_MOVE_DATA >= GEN_4 .accuracy = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .effect = EFFECT_RECOIL_HP_25, #else .accuracy = 100, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .effect = EFFECT_RECOIL_25, #endif .power = 50, @@ -2806,6 +2844,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, + .meFirstBanned = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SKETCH] = @@ -2818,9 +2863,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, + .ignoresProtect = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = B_UPDATED_MOVE_FLAGS >= GEN_5, + .instructBanned = TRUE, }, [MOVE_TRIPLE_KICK] = @@ -2833,9 +2883,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_THIEF] = @@ -2853,18 +2903,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_SPIDER_WEB] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MEAN_LOOK, .power = 0, .type = TYPE_BUG, @@ -2875,6 +2924,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3), + .magicCoatAffected = TRUE, }, [MOVE_MIND_READER] = @@ -2891,7 +2942,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, @@ -2910,9 +2960,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .ignoresProtect = B_UPDATED_MOVE_FLAGS <= GEN_3, }, [MOVE_FLAME_WHEEL] = @@ -2925,22 +2975,19 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .thawsUser = TRUE, }, [MOVE_SNORE] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 50, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .power = 40, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, #else .power = 40, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, #endif .effect = EFFECT_SNORE, .type = TYPE_NORMAL, @@ -2951,6 +2998,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_CURSE] = @@ -2967,9 +3017,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_CURSE, + .ignoresProtect = TRUE, }, [MOVE_FLAIL] = @@ -2982,9 +3032,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_CONVERSION_2] = @@ -2997,9 +3047,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_AEROBLAST] = @@ -3012,9 +3062,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, }, [MOVE_COTTON_SPORE] = @@ -3035,9 +3085,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 40, .secondaryEffectChance = 0, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, + .powderMove = TRUE, }, [MOVE_REVERSAL] = @@ -3050,18 +3101,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SPITE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_SPITE, .power = 0, .type = TYPE_GHOST, @@ -3072,6 +3118,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_POWDER_SNOW] = @@ -3088,9 +3135,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_PROTECT] = @@ -3107,9 +3154,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_MACH_PUNCH] = @@ -3122,9 +3171,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_SCARY_FACE] = @@ -3141,17 +3191,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_FEINT_ATTACK] = { #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .makesContact = TRUE, #endif .effect = EFFECT_HIT, .power = 60, @@ -3179,9 +3227,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_BELLY_DRUM] = @@ -3194,9 +3242,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .snatchAffected = TRUE, }, [MOVE_SLUDGE_BOMB] = @@ -3209,9 +3257,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_MUD_SLAP] = @@ -3224,9 +3273,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_OCTAZOOKA] = @@ -3239,18 +3288,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_SPIKES] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_SPIKES, .power = 0, .type = TYPE_GROUND, @@ -3261,6 +3306,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_ZAP_CANNON] = @@ -3277,22 +3323,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_FORESIGHT] = { #if B_UPDATED_MOVE_DATA >= GEN_5 .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #else .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #endif .effect = EFFECT_FORESIGHT, .power = 0, @@ -3303,6 +3345,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_BOOST_CRITS, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_DESTINY_BOND] = @@ -3315,9 +3358,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_FOLLOW_ME, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_PERISH_SONG] = @@ -3330,9 +3374,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .ignoresProtect = TRUE, + .soundMove = TRUE, }, [MOVE_ICY_WIND] = @@ -3345,9 +3390,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_DETECT] = @@ -3364,9 +3410,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_BONE_RUSH] = @@ -3383,7 +3431,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -3402,7 +3449,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -3425,9 +3471,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .instructBanned = TRUE, }, [MOVE_SANDSTORM] = @@ -3440,9 +3487,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_WIND_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .windMove = TRUE, }, [MOVE_GIGA_DRAIN] = @@ -3463,9 +3510,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_ENDURE] = @@ -3482,9 +3529,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_CHARM] = @@ -3501,9 +3550,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_ROLLOUT] = @@ -3516,9 +3565,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .instructBanned = TRUE, }, [MOVE_FALSE_SWIPE] = @@ -3531,9 +3581,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SWAGGER] = @@ -3550,9 +3600,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, }, [MOVE_MILK_DRINK] = @@ -3569,9 +3619,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_SPARK] = @@ -3584,9 +3634,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_FURY_CUTTER] = @@ -3605,9 +3656,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_STEEL_WING] = @@ -3620,18 +3672,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_MEAN_LOOK] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MEAN_LOOK, .power = 0, .type = TYPE_NORMAL, @@ -3642,6 +3690,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3), + .magicCoatAffected = TRUE, }, [MOVE_ATTRACT] = @@ -3654,9 +3704,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, }, [MOVE_SLEEP_TALK] = @@ -3669,18 +3719,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_BOOST_CRITS, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_HEAL_BELL] = { - #if B_UPDATED_MOVE_DATA != GEN_5 - .flags = FLAG_SNATCH_AFFECTED | FLAG_SOUND, - #else - .flags = FLAG_SNATCH_AFFECTED, - #endif .effect = EFFECT_HEAL_BELL, .power = 0, .type = TYPE_NORMAL, @@ -3691,6 +3739,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .snatchAffected = TRUE, + .soundMove = B_UPDATED_MOVE_FLAGS != GEN_5, }, [MOVE_RETURN] = @@ -3703,9 +3753,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_PRESENT] = @@ -3718,9 +3768,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_FRUSTRATION] = @@ -3733,9 +3783,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SAFEGUARD] = @@ -3748,9 +3798,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .snatchAffected = TRUE, }, [MOVE_PAIN_SPLIT] = @@ -3763,7 +3813,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, }, @@ -3778,9 +3827,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .thawsUser = TRUE, }, [MOVE_MAGNITUDE] = @@ -3793,9 +3843,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_UNDERGROUND, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .damagesUnderground = TRUE, }, [MOVE_DYNAMIC_PUNCH] = @@ -3808,9 +3858,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_MEGAHORN] = @@ -3823,9 +3875,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_DRAGON_BREATH] = @@ -3838,9 +3890,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_3, }, [MOVE_BATON_PASS] = @@ -3853,18 +3906,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, }, [MOVE_ENCORE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_ENCORE, .power = 0, .type = TYPE_NORMAL, @@ -3875,6 +3922,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_PURSUIT] = @@ -3887,9 +3935,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 }, [MOVE_RAPID_SPIN] = @@ -3906,9 +3955,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SWEET_SCENT] = @@ -3925,9 +3974,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_IRON_TAIL] = @@ -3940,9 +3989,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_METAL_CLAW] = @@ -3955,9 +4005,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_VITAL_THROW] = @@ -3970,9 +4021,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_MORNING_SUN] = @@ -3985,9 +4036,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_SYNTHESIS] = @@ -4000,9 +4051,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_MOONLIGHT] = @@ -4019,9 +4070,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HIDDEN_POWER] = @@ -4038,7 +4089,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -4053,19 +4103,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, }, [MOVE_TWISTER] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_2X_IN_AIR | FLAG_WIND_MOVE, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_2X_IN_AIR, - #endif - .effect = EFFECT_TWISTER, + .effect = EFFECT_FLINCH_HIT, .power = 40, .type = TYPE_DRAGON, .accuracy = 100, @@ -4075,6 +4121,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .damagesAirborneDoubleDamage = TRUE, + .windMove = TRUE, }, [MOVE_RAIN_DANCE] = @@ -4087,7 +4136,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -4102,7 +4150,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -4121,20 +4168,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_MIRROR_COAT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .flags = 0, - #else - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MIRROR_COAT, .power = 1, .type = TYPE_PSYCHIC, @@ -4145,15 +4187,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = -5, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_PSYCH_UP] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = 0, - #else - .flags = FLAG_SNATCH_AFFECTED, - #endif .effect = EFFECT_PSYCH_UP, .power = 0, .type = TYPE_NORMAL, @@ -4164,6 +4205,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5, }, [MOVE_EXTREME_SPEED] = @@ -4180,17 +4223,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ANCIENT_POWER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + #if B_UPDATED_MOVE_DATA < GEN_4 + .makesContact = TRUE, #endif .effect = EFFECT_ALL_STATS_UP_HIT, .power = 60, @@ -4202,6 +4243,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SHADOW_BALL] = @@ -4214,9 +4256,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_FUTURE_SIGHT] = @@ -4239,9 +4282,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresProtect = TRUE, + .mirrorMoveBanned = TRUE, }, [MOVE_ROCK_SMASH] = @@ -4258,9 +4302,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_WHIRLPOOL] = @@ -4278,9 +4323,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_UNDERWATER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .damagesUnderwater = TRUE, }, [MOVE_BEAT_UP] = @@ -4297,7 +4342,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -4306,13 +4350,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = { #if B_UPDATED_MOVE_DATA >= GEN_5 .priority = 3, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .makesContact = TRUE, #elif B_UPDATED_MOVE_DATA == GEN_4 .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .makesContact = TRUE, #else .priority = 1, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, #endif .effect = EFFECT_FAKE_OUT, .power = 40, @@ -4323,6 +4366,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .target = MOVE_TARGET_SELECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_UPROAR] = @@ -4339,9 +4383,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_RANDOM, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_STOCKPILE] = @@ -4358,9 +4404,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .snatchAffected = TRUE, }, [MOVE_SPIT_UP] = @@ -4377,9 +4423,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = TRUE, }, [MOVE_SWALLOW] = @@ -4392,9 +4438,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HEAT_WAVE] = @@ -4411,9 +4457,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_HAIL] = @@ -4426,18 +4473,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_TORMENT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_TORMENT, .power = 0, .type = TYPE_DARK, @@ -4448,6 +4489,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_FLATTER] = @@ -4460,9 +4502,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_WILL_O_WISP] = @@ -4479,9 +4521,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_MEMENTO] = @@ -4494,7 +4536,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESTORE_REPLACEMENT_HP, }, @@ -4509,9 +4550,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FOCUS_PUNCH] = @@ -4524,9 +4565,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -3, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .mirrorMoveBanned = TRUE, + .punchingMove = TRUE, + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SMELLING_SALTS] = @@ -4543,10 +4590,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .argument = STATUS1_PARALYSIS, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FOLLOW_ME] = @@ -4563,9 +4610,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_NATURE_POWER] = @@ -4578,9 +4626,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_CHARGE] = @@ -4593,20 +4644,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_TAUNT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED, - #endif .effect = EFFECT_TAUNT, .power = 0, .type = TYPE_DARK, @@ -4617,6 +4661,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_HELPING_HAND] = @@ -4633,9 +4678,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 20, .secondaryEffectChance = 0, .priority = 5, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_TRICK] = @@ -4648,9 +4694,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_ROLE_PLAY] = @@ -4663,18 +4710,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .ignoresProtect = TRUE, }, [MOVE_WISH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_WISH, .power = 0, .type = TYPE_NORMAL, @@ -4685,6 +4727,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_ASSIST] = @@ -4697,9 +4740,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_4, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_INGRAIN] = @@ -4712,9 +4758,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_SUPERPOWER] = @@ -4727,9 +4773,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_MAGIC_COAT] = @@ -4742,18 +4788,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 4, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_2, }, [MOVE_RECYCLE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_RECYCLE, .power = 0, .type = TYPE_NORMAL, @@ -4764,6 +4804,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_REVENGE] = @@ -4776,9 +4817,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -4, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_BRICK_BREAK] = @@ -4791,9 +4832,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_YAWN] = @@ -4806,9 +4847,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_KNOCK_OFF] = @@ -4825,9 +4866,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ENDEAVOR] = @@ -4840,9 +4881,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ERUPTION] = @@ -4855,7 +4896,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -4870,18 +4910,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, [MOVE_IMPRISON] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_SNATCH_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED, - #endif .effect = EFFECT_IMPRISON, .power = 0, .type = TYPE_PSYCHIC, @@ -4892,6 +4926,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_2, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_REFRESH] = @@ -4904,9 +4939,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .snatchAffected = TRUE, }, [MOVE_GRUDGE] = @@ -4919,7 +4954,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_FOLLOW_ME, }, @@ -4934,9 +4968,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 4, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SECRET_POWER] = @@ -4949,9 +4985,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_DIVE] = @@ -4968,9 +5004,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_ARM_THRUST] = @@ -4983,9 +5021,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_CAMOUFLAGE] = @@ -4998,9 +5036,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .snatchAffected = TRUE, }, [MOVE_TAIL_GLOW] = @@ -5017,9 +5055,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_LUSTER_PURGE] = @@ -5032,9 +5070,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_MIST_BALL] = @@ -5047,9 +5085,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_FEATHER_DANCE] = @@ -5062,18 +5101,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, + .danceMove = TRUE, }, [MOVE_TEETER_DANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DANCE, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_DANCE, - #endif .effect = EFFECT_TEETER_DANCE, .power = 0, .type = TYPE_NORMAL, @@ -5084,6 +5119,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .danceMove = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_4, }, [MOVE_BLAZE_KICK] = @@ -5096,9 +5133,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_MUD_SPORT] = @@ -5111,7 +5150,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, @@ -5126,18 +5164,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ballisticMove = TRUE, + .instructBanned = TRUE, }, [MOVE_NEEDLE_ARM] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, - #endif .effect = EFFECT_FLINCH_HIT, .power = 60, .type = TYPE_GRASS, @@ -5148,6 +5183,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4, }, [MOVE_SLACK_OFF] = @@ -5164,9 +5202,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HYPER_VOICE] = @@ -5179,9 +5217,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, }, [MOVE_POISON_FANG] = @@ -5198,9 +5236,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 15, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_CRUSH_CLAW] = @@ -5213,9 +5253,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_BLAST_BURN] = @@ -5228,9 +5269,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .instructBanned = TRUE, }, [MOVE_HYDRO_CANNON] = @@ -5243,9 +5284,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .instructBanned = TRUE, }, [MOVE_METEOR_MASH] = @@ -5263,18 +5304,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_ASTONISH] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, - #endif .effect = EFFECT_FLINCH_HIT, .power = 30, .type = TYPE_GHOST, @@ -5285,6 +5323,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4, }, [MOVE_WEATHER_BALL] = @@ -5297,9 +5338,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, }, [MOVE_AROMATHERAPY] = @@ -5312,9 +5353,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, + .snatchAffected = TRUE, }, [MOVE_FAKE_TEARS] = @@ -5327,9 +5368,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_AIR_CUTTER] = @@ -5346,22 +5387,22 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, + .windMove = TRUE, + .slicingMove = TRUE, }, [MOVE_OVERHEAT] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 130, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 || B_UPDATED_MOVE_DATA == GEN_5 + #elif B_UPDATED_MOVE_DATA >= GEN_4 .power = 140, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 140, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .makesContact = TRUE, #endif .effect = EFFECT_OVERHEAT, .type = TYPE_FIRE, @@ -5376,15 +5417,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ODOR_SLEUTH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 + #if B_UPDATED_MOVE_DATA >= GEN_4 .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, - #elif B_UPDATED_MOVE_DATA == GEN_4 - .accuracy = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #else .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #endif .effect = EFFECT_FORESIGHT, .power = 0, @@ -5395,6 +5431,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_ROCK_TOMB] = @@ -5413,9 +5450,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SILVER_WIND] = @@ -5428,9 +5465,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_METAL_SOUND] = @@ -5443,9 +5480,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_GRASS_WHISTLE] = @@ -5458,9 +5496,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_TICKLE] = @@ -5473,9 +5512,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_COSMIC_POWER] = @@ -5488,9 +5527,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_WATER_SPOUT] = @@ -5503,7 +5542,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5518,9 +5556,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SHADOW_PUNCH] = @@ -5533,22 +5571,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_EXTRASENSORY] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #elif B_UPDATED_MOVE_DATA == GEN_4 || B_UPDATED_MOVE_DATA == GEN_5 - .pp = 30, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, #else .pp = 30, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, #endif .effect = EFFECT_FLINCH_HIT, .power = 80, @@ -5559,6 +5593,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_4, }, [MOVE_SKY_UPPERCUT] = @@ -5571,9 +5607,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_DMG_IN_AIR, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .damagesAirborne = TRUE, }, [MOVE_SAND_TOMB] = @@ -5591,7 +5629,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5606,7 +5643,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5625,9 +5661,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BULLET_SEED] = @@ -5644,9 +5680,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, }, [MOVE_AERIAL_ACE] = @@ -5659,9 +5695,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_ICICLE_SPEAR] = @@ -5678,7 +5715,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5693,18 +5729,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_BLOCK] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MEAN_LOOK, .power = 0, .type = TYPE_NORMAL, @@ -5715,15 +5746,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .ignoresProtect = (B_UPDATED_MOVE_FLAGS >= GEN_6) || (B_UPDATED_MOVE_FLAGS <= GEN_3), + .magicCoatAffected = TRUE, }, [MOVE_HOWL] = { #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_SNATCH_AFFECTED | FLAG_SOUND, .effect = EFFECT_ATTACK_UP_USER_ALLY, #else - .flags = FLAG_SNATCH_AFFECTED, .effect = EFFECT_ATTACK_UP, #endif .power = 0, @@ -5735,6 +5766,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, + .soundMove = B_UPDATED_MOVE_FLAGS >= GEN_8, }, [MOVE_DRAGON_CLAW] = @@ -5747,9 +5780,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FRENZY_PLANT] = @@ -5762,7 +5795,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5777,9 +5809,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_BOUNCE] = @@ -5792,10 +5824,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_PARALYSIS, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .gravityBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_MUD_SHOT] = @@ -5808,9 +5844,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_POISON_TAIL] = @@ -5823,9 +5859,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_COVET] = @@ -5833,19 +5871,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 60, .pp = 25, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .makesContact = TRUE, #elif B_UPDATED_MOVE_DATA == GEN_5 .power = 60, .pp = 40, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .makesContact = TRUE, #elif B_UPDATED_MOVE_DATA == GEN_4 .power = 40, .pp = 40, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .makesContact = TRUE, #else .power = 40, .pp = 40, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, #endif .effect = EFFECT_THIEF, .type = TYPE_NORMAL, @@ -5855,6 +5892,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_VOLT_TACKLE] = @@ -5872,9 +5912,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_MAGICAL_LEAF] = @@ -5887,7 +5928,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5902,7 +5942,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, @@ -5917,9 +5956,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_LEAF_BLADE] = @@ -5936,9 +5975,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, + .slicingMove = TRUE, }, [MOVE_DRAGON_DANCE] = @@ -5951,22 +5992,18 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .danceMove = TRUE, + .snatchAffected = TRUE, }, [MOVE_ROCK_BLAST] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 + #if B_UPDATED_MOVE_DATA >= GEN_5 .accuracy = 90, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, - #elif B_UPDATED_MOVE_DATA == GEN_5 || B_UPDATED_MOVE_DATA == GEN_6 - .accuracy = 90, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .accuracy = 80, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_MULTI_HIT, .power = 25, @@ -5977,6 +6014,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = B_UPDATED_MOVE_FLAGS >= GEN_6, }, [MOVE_SHOCK_WAVE] = @@ -5989,7 +6027,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -6004,9 +6041,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .pulseMove = TRUE, }, [MOVE_DOOM_DESIRE] = @@ -6024,9 +6062,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresProtect = TRUE, + .mirrorMoveBanned = TRUE, }, [MOVE_PSYCHO_BOOST] = @@ -6039,7 +6078,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -6058,9 +6096,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_GRAVITY] = @@ -6073,18 +6111,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, [MOVE_MIRACLE_EYE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_MIRACLE_EYE, .power = 0, .type = TYPE_PSYCHIC, @@ -6095,6 +6127,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_WAKE_UP_SLAP] = @@ -6111,10 +6144,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .argument = STATUS1_SLEEP, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_HAMMER_ARM] = @@ -6127,9 +6160,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_GYRO_BALL] = @@ -6142,18 +6176,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ballisticMove = TRUE, }, [MOVE_HEALING_WISH] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_HEALING_WISH, .power = 0, .type = TYPE_PSYCHIC, @@ -6164,6 +6194,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_BRINE] = @@ -6176,7 +6207,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -6191,22 +6221,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_FEINT] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 + #if B_UPDATED_MOVE_DATA >= GEN_5 .power = 30, - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #elif B_UPDATED_MOVE_DATA >= GEN_5 - .power = 30, - .flags = 0, #else .power = 50, - .flags = 0, #endif .effect = EFFECT_FEINT, .type = TYPE_NORMAL, @@ -6217,6 +6241,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 2, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresProtect = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_6, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_PLUCK] = @@ -6229,9 +6257,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TAILWIND] = @@ -6248,18 +6276,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_BOOST_CRITS, + .snatchAffected = TRUE, + .windMove = TRUE, }, [MOVE_ACUPRESSURE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = 0, - #else - .flags = FLAG_SNATCH_AFFECTED, - #endif .effect = EFFECT_ACUPRESSURE, .power = 0, .type = TYPE_NORMAL, @@ -6270,15 +6294,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_BOOST_CRITS, + .ignoresProtect = TRUE, + .snatchAffected = B_UPDATED_MOVE_FLAGS < GEN_5, }, [MOVE_METAL_BURST] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_METAL_BURST, .power = 0, .type = TYPE_STEEL, @@ -6289,6 +6310,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .meFirstBanned = TRUE, }, [MOVE_U_TURN] = @@ -6301,9 +6323,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_CLOSE_COMBAT] = @@ -6316,9 +6338,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_PAYBACK] = @@ -6331,9 +6353,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ASSURANCE] = @@ -6350,18 +6372,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_EMBARGO] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_EMBARGO, .power = 0, .type = TYPE_DARK, @@ -6372,6 +6389,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_FLING] = @@ -6384,7 +6402,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -6403,7 +6420,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_2, }, @@ -6418,17 +6434,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, + .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_HEAL_BLOCK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_HEAL_BLOCK, .power = 0, .type = TYPE_PSYCHIC, @@ -6439,6 +6451,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_2, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_WRING_OUT] = @@ -6451,17 +6464,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, + .makesContact = TRUE, }, [MOVE_POWER_TRICK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_POWER_TRICK, .power = 0, .type = TYPE_PSYCHIC, @@ -6472,6 +6480,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_GASTRO_ACID] = @@ -6484,18 +6493,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_LUCKY_CHANT] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_LUCKY_CHANT, .power = 0, .type = TYPE_NORMAL, @@ -6506,6 +6510,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_ME_FIRST] = @@ -6518,9 +6523,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_COPYCAT] = @@ -6533,9 +6541,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_POWER_SWAP] = @@ -6548,7 +6559,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -6563,7 +6573,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -6578,9 +6587,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_LAST_RESORT] = @@ -6597,9 +6606,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_WORRY_SEED] = @@ -6612,9 +6621,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_SUCKER_PUNCH] = @@ -6631,18 +6640,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TOXIC_SPIKES] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_TOXIC_SPIKES, .power = 0, .type = TYPE_POISON, @@ -6653,6 +6657,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_HEART_SWAP] = @@ -6665,18 +6670,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_BOOST_CRITS, }, [MOVE_AQUA_RING] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_AQUA_RING, .power = 0, .type = TYPE_WATER, @@ -6687,15 +6686,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_MAGNET_RISE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_SNATCH_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_MAGNET_RISE, .power = 0, .type = TYPE_ELECTRIC, @@ -6706,6 +6701,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_EVSN_UP_1, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .gravityBanned = TRUE, }, [MOVE_FLARE_BLITZ] = @@ -6718,10 +6715,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_RECKLESS_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, .argument = STATUS1_BURN, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .thawsUser = TRUE, }, [MOVE_FORCE_PALM] = @@ -6734,9 +6733,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_AURA_SPHERE] = @@ -6753,9 +6753,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .pulseMove = TRUE, + .ballisticMove = TRUE, }, [MOVE_ROCK_POLISH] = @@ -6768,9 +6769,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_POISON_JAB] = @@ -6783,18 +6784,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_DARK_PULSE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_MEGA_LAUNCHER_BOOST, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_MEGA_LAUNCHER_BOOST, - #endif .effect = EFFECT_FLINCH_HIT, .power = 80, .type = TYPE_DARK, @@ -6805,6 +6802,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .pulseMove = TRUE, }, [MOVE_NIGHT_SLASH] = @@ -6817,9 +6816,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, + .slicingMove = TRUE, }, [MOVE_AQUA_TAIL] = @@ -6832,9 +6833,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SEED_BOMB] = @@ -6847,22 +6848,17 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, }, [MOVE_AIR_SLASH] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, #else .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, #endif .effect = EFFECT_FLINCH_HIT, .power = 75, @@ -6873,6 +6869,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .slicingMove = TRUE, }, [MOVE_X_SCISSOR] = @@ -6885,9 +6883,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_BUG_BUZZ] = @@ -6900,9 +6899,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, }, [MOVE_DRAGON_PULSE] = @@ -6919,20 +6919,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .pulseMove = TRUE, }, [MOVE_DRAGON_RUSH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, - #elif B_UPDATED_MOVE_DATA == GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_FLINCH_HIT, .power = 100, .type = TYPE_DRAGON, @@ -6943,6 +6936,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6, }, [MOVE_POWER_GEM] = @@ -6959,7 +6955,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -6979,9 +6974,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_VACUUM_WAVE] = @@ -6994,7 +6990,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7009,9 +7004,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_ENERGY_BALL] = @@ -7028,9 +7024,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_BRAVE_BIRD] = @@ -7043,9 +7040,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_EARTH_POWER] = @@ -7058,9 +7055,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SWITCHEROO] = @@ -7073,9 +7070,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_GIGA_IMPACT] = @@ -7088,9 +7086,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .instructBanned = TRUE, }, [MOVE_NASTY_PLOT] = @@ -7103,9 +7102,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_BULLET_PUNCH] = @@ -7118,9 +7117,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_AVALANCHE] = @@ -7133,9 +7133,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = -4, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ICE_SHARD] = @@ -7148,7 +7148,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7163,18 +7162,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, }, [MOVE_THUNDER_FANG] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, - #endif .effect = EFFECT_FLINCH_STATUS, .power = 65, .type = TYPE_ELECTRIC, @@ -7186,15 +7181,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .argument = STATUS1_PARALYSIS, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_ICE_FANG] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, - #endif #if B_USE_FROSTBITE == TRUE .argument = STATUS1_FROSTBITE, #else @@ -7210,15 +7203,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_FIRE_FANG] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_STRONG_JAW_BOOST, - #endif .effect = EFFECT_FLINCH_STATUS, .power = 65, .type = TYPE_FIRE, @@ -7230,6 +7221,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .argument = STATUS1_BURN, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .bitingMove = TRUE, }, [MOVE_SHADOW_SNEAK] = @@ -7242,9 +7236,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_MUD_BOMB] = @@ -7257,9 +7251,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_PSYCHO_CUT] = @@ -7272,9 +7267,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, + .slicingMove = TRUE, }, [MOVE_ZEN_HEADBUTT] = @@ -7287,9 +7283,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_MIRROR_SHOT] = @@ -7302,9 +7299,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_FLASH_CANNON] = @@ -7317,9 +7314,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_ROCK_CLIMB] = @@ -7332,18 +7329,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_DEFOG] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_DEFOG, .power = 0, .type = TYPE_FLYING, @@ -7354,6 +7347,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_TRICK_ROOM] = @@ -7366,7 +7360,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = -7, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ACC_UP_1, }, @@ -7385,7 +7378,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7400,9 +7392,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_LAVA_PLUME] = @@ -7415,9 +7407,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_LEAF_STORM] = @@ -7434,7 +7426,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7449,9 +7440,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ROCK_WRECKER] = @@ -7464,9 +7455,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, + .instructBanned = TRUE, }, [MOVE_CROSS_POISON] = @@ -7479,9 +7471,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, + .sheerForceBoost = TRUE, + .slicingMove = TRUE, }, [MOVE_GUNK_SHOT] = @@ -7498,18 +7493,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_IRON_HEAD] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_FLINCH_HIT, .power = 80, .type = TYPE_STEEL, @@ -7520,6 +7510,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_MAGNET_BOMB] = @@ -7532,7 +7524,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7547,9 +7538,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, }, [MOVE_CAPTIVATE] = @@ -7562,18 +7553,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_2, + .magicCoatAffected = TRUE, }, [MOVE_STEALTH_ROCK] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_MAGIC_COAT_AFFECTED, - #else - .flags = 0, - #endif .effect = EFFECT_STEALTH_ROCK, .power = 0, .type = TYPE_ROCK, @@ -7584,6 +7570,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, }, [MOVE_GRASS_KNOT] = @@ -7596,9 +7583,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_CHATTER] = @@ -7606,15 +7593,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_6 .power = 65, .secondaryEffectChance = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, #elif B_UPDATED_MOVE_DATA == GEN_5 .power = 60, .secondaryEffectChance = 10, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, #else .power = 60, .secondaryEffectChance = 31, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, #endif .effect = EFFECT_CONFUSE_HIT, .type = TYPE_FLYING, @@ -7624,6 +7608,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_6, + .meFirstBanned = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_JUDGMENT] = @@ -7636,7 +7629,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .argument = HOLD_EFFECT_PLATE, .zMoveEffect = Z_EFFECT_NONE, @@ -7652,9 +7644,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_CHARGE_BEAM] = @@ -7667,9 +7659,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 70, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_WOOD_HAMMER] = @@ -7682,9 +7674,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_AQUA_JET] = @@ -7697,9 +7689,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_ATTACK_ORDER] = @@ -7712,9 +7704,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, }, [MOVE_DEFEND_ORDER] = @@ -7727,9 +7719,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_HEAL_ORDER] = @@ -7742,9 +7734,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HEAD_SMASH] = @@ -7757,9 +7749,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_DOUBLE_HIT] = @@ -7772,9 +7764,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .twoStrikes = TRUE, }, [MOVE_ROAR_OF_TIME] = @@ -7787,9 +7780,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .instructBanned = TRUE, }, [MOVE_SPACIAL_REND] = @@ -7802,18 +7795,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, }, [MOVE_LUNAR_DANCE] = { - #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_DANCE | FLAG_SNATCH_AFFECTED, - #else - .flags = FLAG_DANCE, - #endif .effect = EFFECT_HEALING_WISH, .power = 0, .type = TYPE_PSYCHIC, @@ -7824,6 +7812,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = B_UPDATED_MOVE_FLAGS >= GEN_5, + .danceMove = TRUE, }, [MOVE_CRUSH_GRIP] = @@ -7836,9 +7826,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_MAGMA_STORM] = @@ -7859,7 +7849,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7878,9 +7867,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, }, [MOVE_SEED_FLARE] = @@ -7893,9 +7882,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 40, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_OMINOUS_WIND] = @@ -7908,18 +7897,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SHADOW_FORCE] = { - #if B_UPDATED_MOVE_DATA == GEN_6 - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_MINIMIZE, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_SEMI_INVULNERABLE, .power = 120, .type = TYPE_GHOST, @@ -7930,7 +7914,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, .argument = MOVE_EFFECT_FEINT, + .ignoresProtect = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_HONE_CLAWS] = @@ -7943,9 +7932,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_WIDE_GUARD] = @@ -7958,10 +7947,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 3, - .flags = FLAG_PROTECTION_MOVE | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, + .protectionMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_GUARD_SPLIT] = @@ -7974,7 +7965,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -7989,7 +7979,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -8008,7 +7997,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, @@ -8023,7 +8011,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8038,7 +8025,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8053,9 +8039,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_RAGE_POWDER] = @@ -8072,9 +8058,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 20, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .powderMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_TELEKINESIS] = @@ -8087,9 +8075,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, + .gravityBanned = TRUE, }, [MOVE_MAGIC_ROOM] = @@ -8106,7 +8095,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, @@ -8121,9 +8109,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_IN_AIR, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .damagesAirborne = TRUE, }, [MOVE_STORM_THROW] = @@ -8140,9 +8128,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FLAME_BURST] = @@ -8155,7 +8143,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8170,9 +8157,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_QUIVER_DANCE] = @@ -8185,18 +8172,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HEAVY_SLAM] = { - #if B_UPDATED_MOVE_DATA >= GEN_7 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_MINIMIZE, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_HEAT_CRASH, .power = 1, .type = TYPE_STEEL, @@ -8207,6 +8189,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .danceMove = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_7, }, [MOVE_SYNCHRONOISE] = @@ -8224,7 +8209,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8239,9 +8223,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = TRUE, }, [MOVE_SOAK] = @@ -8254,9 +8238,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_FLAME_CHARGE] = @@ -8269,9 +8253,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_COIL] = @@ -8284,9 +8269,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_LOW_SWEEP] = @@ -8303,9 +8288,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_ACID_SPRAY] = @@ -8318,9 +8304,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_FOUL_PLAY] = @@ -8333,9 +8320,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SIMPLE_BEAM] = @@ -8348,9 +8335,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_ENTRAINMENT] = @@ -8363,9 +8350,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_AFTER_YOU] = @@ -8378,9 +8365,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .metronomeBanned = TRUE, }, [MOVE_ROUND] = @@ -8393,9 +8380,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, }, [MOVE_ECHOED_VOICE] = @@ -8408,9 +8395,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, }, [MOVE_CHIP_AWAY] = @@ -8423,9 +8410,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresTargetDefenseEvasionStages = TRUE, }, [MOVE_CLEAR_SMOG] = @@ -8438,7 +8426,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8453,7 +8440,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8468,10 +8454,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 3, - .flags = FLAG_PROTECTION_MOVE | FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, + .protectionMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ALLY_SWITCH] = @@ -8488,7 +8476,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, }, @@ -8503,9 +8490,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .thawsUser = TRUE, }, [MOVE_SHELL_SMASH] = @@ -8518,9 +8506,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_HEAL_PULSE] = @@ -8533,9 +8521,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, + .pulseMove = TRUE, }, [MOVE_HEX] = @@ -8552,7 +8541,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8567,9 +8555,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .gravityBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SHIFT_GEAR] = @@ -8582,9 +8573,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_CIRCLE_THROW] = @@ -8597,9 +8588,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -6, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .copycatBanned = TRUE, }, [MOVE_INCINERATE] = @@ -8616,7 +8608,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8631,9 +8622,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ACROBATICS] = @@ -8646,9 +8638,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_REFLECT_TYPE] = @@ -8661,9 +8653,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_RETALIATE] = @@ -8676,9 +8668,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FINAL_GAMBIT] = @@ -8691,18 +8683,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = TRUE, }, [MOVE_BESTOW] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MIRROR_MOVE_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, - #endif .effect = EFFECT_BESTOW, .power = 0, .type = TYPE_NORMAL, @@ -8713,6 +8700,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_2, + .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_6, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_INFERNO] = @@ -8725,9 +8715,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_WATER_PLEDGE] = @@ -8744,7 +8734,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8763,7 +8752,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8782,7 +8770,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8797,7 +8784,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8816,9 +8802,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BULLDOZE] = @@ -8831,9 +8817,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_FROST_BREATH] = @@ -8850,7 +8836,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -8865,9 +8850,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -6, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .copycatBanned = TRUE, }, [MOVE_WORK_UP] = @@ -8880,9 +8866,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_ELECTROWEB] = @@ -8895,9 +8881,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_WILD_CHARGE] = @@ -8910,9 +8896,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_DRILL_RUN] = @@ -8925,9 +8911,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .highCritRatio = TRUE, }, [MOVE_DUAL_CHOP] = @@ -8940,9 +8927,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .twoStrikes = TRUE, }, [MOVE_HEART_STAMP] = @@ -8955,9 +8943,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_HORN_LEECH] = @@ -8970,9 +8959,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SACRED_SWORD] = @@ -8989,9 +8978,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresTargetDefenseEvasionStages = TRUE, + .slicingMove = TRUE, }, [MOVE_RAZOR_SHELL] = @@ -9004,18 +8995,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .slicingMove = TRUE, }, [MOVE_HEAT_CRASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_6 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_MINIMIZE, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_HEAT_CRASH, .power = 1, .type = TYPE_FIRE, @@ -9026,6 +9014,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS >= GEN_6, }, [MOVE_LEAF_TORNADO] = @@ -9038,9 +9028,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_STEAMROLLER] = @@ -9054,8 +9044,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .target = MOVE_TARGET_SELECTED, .priority = 0, .split = SPLIT_PHYSICAL, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_MINIMIZE, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .minimizeDoubleDamage = TRUE, }, [MOVE_COTTON_GUARD] = @@ -9068,9 +9060,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_NIGHT_DAZE] = @@ -9083,9 +9075,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 40, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_PSYSTRIKE] = @@ -9098,7 +9090,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -9113,9 +9104,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_HURRICANE] = @@ -9132,9 +9123,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_IN_AIR | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, + .damagesAirborne = TRUE, }, [MOVE_HEAD_CHARGE] = @@ -9147,9 +9140,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_GEAR_GRIND] = @@ -9162,9 +9155,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .twoStrikes = TRUE, }, [MOVE_SEARING_SHOT] = @@ -9177,9 +9171,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .ballisticMove = TRUE, }, [MOVE_TECHNO_BLAST] = @@ -9196,10 +9191,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .argument = HOLD_EFFECT_DRIVE, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_RELIC_SONG] = @@ -9212,10 +9207,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, .argument = STATUS1_SLEEP, + .sheerForceBoost = TRUE, + .soundMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SECRET_SWORD] = @@ -9228,9 +9225,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_GLACIATE] = @@ -9243,9 +9240,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BOLT_STRIKE] = @@ -9258,9 +9255,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_BLUE_FLARE] = @@ -9273,9 +9271,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_FIERY_DANCE] = @@ -9288,9 +9286,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DANCE | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .danceMove = TRUE, }, [MOVE_FREEZE_SHOCK] = @@ -9303,10 +9302,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_PARALYSIS, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_ICE_BURN] = @@ -9319,10 +9321,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .argument = MOVE_EFFECT_BURN, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SNARL] = @@ -9335,9 +9340,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ICICLE_CRASH] = @@ -9350,9 +9357,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_V_CREATE] = @@ -9365,9 +9372,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_FUSION_FLARE] = @@ -9380,9 +9388,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .thawsUser = TRUE, }, [MOVE_FUSION_BOLT] = @@ -9395,7 +9403,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -9414,10 +9421,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_MINIMIZE, .split = SPLIT_PHYSICAL, .argument = TYPE_FLYING, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .minimizeDoubleDamage = TRUE, + .gravityBanned = TRUE, }, [MOVE_MAT_BLOCK] = @@ -9430,10 +9439,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. .zMoveEffect = Z_EFFECT_DEF_UP_1, + .snatchAffected = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_BELCH] = @@ -9446,9 +9457,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = TRUE, + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_ROTOTILLER] = @@ -9461,9 +9477,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .ignoresProtect = TRUE, }, [MOVE_STICKY_WEB] = @@ -9476,9 +9492,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_OPPONENTS_FIELD, .priority = 0, - .flags = FLAG_MAGIC_COAT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_FELL_STINGER] = @@ -9495,18 +9511,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_PHANTOM_FORCE] = { - #if B_UPDATED_MOVE_DATA == GEN_6 - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_MINIMIZE, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_SEMI_INVULNERABLE, .power = 90, .type = TYPE_GHOST, @@ -9518,6 +9529,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .argument = MOVE_EFFECT_FEINT, .zMoveEffect = Z_EFFECT_NONE, + .ignoresProtect = TRUE, + .makesContact = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS == GEN_6, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_TRICK_OR_TREAT] = @@ -9530,7 +9546,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .argument = TYPE_GHOST, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, @@ -9546,9 +9561,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_ION_DELUGE] = @@ -9561,7 +9577,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 1, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, @@ -9580,7 +9595,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -9595,7 +9609,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .argument = TYPE_GRASS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, @@ -9611,9 +9624,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .windMove = TRUE, }, [MOVE_FREEZE_DRY] = @@ -9626,9 +9639,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_DISARMING_VOICE] = @@ -9641,9 +9654,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, }, [MOVE_PARTING_SHOT] = @@ -9656,9 +9669,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESTORE_REPLACEMENT_HP, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_TOPSY_TURVY] = @@ -9675,9 +9689,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_DRAINING_KISS] = @@ -9690,11 +9704,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .argument = 75, // restores 75% HP instead of 50% HP .zMoveEffect = Z_EFFECT_NONE, - + .makesContact = TRUE, }, [MOVE_CRAFTY_SHIELD] = @@ -9707,10 +9720,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 3, - .flags = 0, .split = SPLIT_STATUS, .argument = TRUE, // Protects the whole side. .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .metronomeBanned = TRUE, }, [MOVE_FLOWER_SHIELD] = @@ -9723,9 +9736,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .ignoresProtect = TRUE, }, [MOVE_GRASSY_TERRAIN] = @@ -9738,7 +9751,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, }, @@ -9753,7 +9765,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, }, @@ -9768,7 +9779,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, @@ -9783,9 +9793,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_FAIRY_WIND] = @@ -9798,9 +9809,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .windMove = TRUE, }, [MOVE_MOONBLAST] = @@ -9813,9 +9824,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_BOOMBURST] = @@ -9828,9 +9839,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, }, [MOVE_FAIRY_LOCK] = @@ -9843,7 +9854,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, }, @@ -9858,9 +9868,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 4, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_PLAY_NICE] = @@ -9873,9 +9886,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .ignoresProtect = TRUE, + .magicCoatAffected = TRUE, }, [MOVE_CONFIDE] = @@ -9888,9 +9902,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .ignoresProtect = TRUE, + .magicCoatAffected = TRUE, + .soundMove = TRUE, }, [MOVE_DIAMOND_STORM] = @@ -9907,9 +9923,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_STEAM_ERUPTION] = @@ -9922,9 +9939,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, + .thawsUser = TRUE, + .metronomeBanned = TRUE, }, [MOVE_HYPERSPACE_HOLE] = @@ -9937,9 +9956,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresProtect = TRUE, + .metronomeBanned = TRUE, }, [MOVE_WATER_SHURIKEN] = @@ -9957,7 +9977,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .zMoveEffect = Z_EFFECT_NONE, }, @@ -9976,9 +9995,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SPIKY_SHIELD] = @@ -9991,9 +10010,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 4, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_AROMATIC_MIST] = @@ -10006,9 +10027,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALLY, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_2, + .ignoresProtect = TRUE, }, [MOVE_EERIE_IMPULSE] = @@ -10021,9 +10042,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_VENOM_DRENCH] = @@ -10036,9 +10057,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_POWDER] = @@ -10051,9 +10072,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_2, + .magicCoatAffected = TRUE, }, [MOVE_GEOMANCY] = @@ -10066,9 +10087,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_MAGNETIC_FLUX] = @@ -10081,9 +10103,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .snatchAffected = TRUE, }, [MOVE_HAPPY_HOUR] = @@ -10096,7 +10118,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, }, @@ -10111,7 +10132,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -10126,7 +10146,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -10141,9 +10160,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_HOLD_HANDS] = @@ -10156,9 +10178,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALLY, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, + .ignoresProtect = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_BABY_DOLL_EYES] = @@ -10171,9 +10197,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_NUZZLE] = @@ -10186,9 +10212,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_HOLD_BACK] = @@ -10201,9 +10228,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_INFESTATION] = @@ -10216,9 +10243,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_POWER_UP_PUNCH] = @@ -10231,9 +10258,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_OBLIVION_WING] = @@ -10246,7 +10275,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .argument = 75, // restores 75% HP instead of 50% HP .zMoveEffect = Z_EFFECT_NONE, @@ -10262,9 +10290,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_IN_AIR | FLAG_DMG_UNGROUNDED_IGNORE_TYPE_IF_FLYING, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .damagesAirborne = TRUE, + .ignoreTypeIfFlyingAndUngrounded = TRUE, + .metronomeBanned = TRUE, }, [MOVE_THOUSAND_WAVES] = @@ -10277,9 +10307,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_LANDS_WRATH] = @@ -10292,7 +10322,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -10307,9 +10336,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_RECKLESS_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_ORIGIN_PULSE] = @@ -10322,9 +10351,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .pulseMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_PRECIPICE_BLADES] = @@ -10337,9 +10367,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_DRAGON_ASCENT] = @@ -10352,9 +10382,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_HYPERSPACE_FURY] = @@ -10367,8 +10398,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIT_IN_SUBSTITUTE, .split = SPLIT_PHYSICAL, + .ignoresProtect = TRUE, + .ignoresSubstitute = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SHORE_UP] = @@ -10385,9 +10418,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .snatchAffected = TRUE, }, [MOVE_FIRST_IMPRESSION] = @@ -10400,9 +10433,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 2, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_BANEFUL_BUNKER] = @@ -10415,9 +10448,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 4, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_SPIRIT_SHACKLE] = @@ -10430,9 +10465,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_DARKEST_LARIAT] = @@ -10445,9 +10480,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresTargetDefenseEvasionStages = TRUE, }, [MOVE_SPARKLING_ARIA] = @@ -10460,10 +10496,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .argument = STATUS1_BURN, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, }, [MOVE_ICE_HAMMER] = @@ -10476,9 +10513,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_FLORAL_HEALING] = @@ -10491,9 +10529,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, + .magicCoatAffected = TRUE, }, [MOVE_HIGH_HORSEPOWER] = @@ -10506,9 +10544,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_STRENGTH_SAP] = @@ -10521,9 +10559,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_SOLAR_BLADE] = @@ -10536,9 +10574,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_LEAFAGE] = @@ -10551,7 +10592,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -10566,9 +10606,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 3, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPDEF_UP_1, + .magicCoatAffected = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_TOXIC_THREAD] = @@ -10581,9 +10623,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_LASER_FOCUS] = @@ -10596,9 +10638,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_GEAR_UP] = @@ -10611,9 +10653,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .snatchAffected = TRUE, }, [MOVE_THROAT_CHOP] = @@ -10626,9 +10668,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_POLLEN_PUFF] = @@ -10641,9 +10684,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ballisticMove = B_UPDATED_MOVE_FLAGS < GEN_9, }, [MOVE_ANCHOR_SHOT] = @@ -10656,9 +10699,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_PSYCHIC_TERRAIN] = @@ -10671,7 +10715,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, }, @@ -10686,9 +10729,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_FIRE_LASH] = @@ -10701,9 +10745,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_POWER_TRIP] = @@ -10716,9 +10761,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_BURN_UP] = @@ -10731,9 +10776,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .thawsUser = TRUE, }, [MOVE_SPEED_SWAP] = @@ -10746,7 +10791,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, }, @@ -10761,9 +10805,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_PURIFY] = @@ -10776,9 +10820,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_ALL_STATS_UP_1, + .magicCoatAffected = TRUE, }, [MOVE_REVELATION_DANCE] = @@ -10791,9 +10835,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DANCE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .danceMove = TRUE, }, [MOVE_CORE_ENFORCER] = @@ -10806,7 +10850,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -10821,9 +10864,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_INSTRUCT] = @@ -10836,9 +10880,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPATK_UP_1, + .metronomeBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_BEAK_BLAST] = @@ -10851,9 +10896,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = -3, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = TRUE, + .ballisticMove = TRUE, + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_CLANGING_SCALES] = @@ -10866,9 +10917,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, }, [MOVE_DRAGON_HAMMER] = @@ -10881,9 +10932,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_BRUTAL_SWING] = @@ -10896,9 +10947,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_AURORA_VEIL] = @@ -10911,9 +10962,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, + .snatchAffected = TRUE, }, [MOVE_SHELL_TRAP] = @@ -10926,9 +10977,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = -3, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = TRUE, + .meFirstBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_FLEUR_CANNON] = @@ -10941,9 +10997,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_PSYCHIC_FANGS] = @@ -10956,9 +11012,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .bitingMove = TRUE, }, [MOVE_STOMPING_TANTRUM] = @@ -10971,9 +11028,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SHADOW_BONE] = @@ -10986,9 +11043,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_ACCELEROCK] = @@ -11001,9 +11058,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_LIQUIDATION] = @@ -11016,9 +11073,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_PRISMATIC_LASER] = @@ -11031,9 +11089,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .instructBanned = TRUE, }, [MOVE_SPECTRAL_THIEF] = @@ -11046,9 +11104,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SUNSTEEL_STRIKE] = @@ -11061,9 +11120,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TARGET_ABILITY_IGNORED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .ignoresTargetAbility = TRUE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8, }, [MOVE_MOONGEIST_BEAM] = @@ -11076,9 +11137,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TARGET_ABILITY_IGNORED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresTargetAbility = TRUE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8, }, [MOVE_TEARFUL_LOOK] = @@ -11091,9 +11153,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_DEF_UP_1, + .ignoresProtect = TRUE, + .magicCoatAffected = TRUE, }, [MOVE_ZING_ZAP] = @@ -11106,9 +11169,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_NATURES_MADNESS] = @@ -11121,9 +11184,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = B_UPDATED_MOVE_FLAGS >= GEN_8, }, [MOVE_MULTI_ATTACK] = @@ -11140,10 +11204,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .argument = HOLD_EFFECT_MEMORY, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_MIND_BLOWN] = @@ -11156,9 +11220,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_PLASMA_FISTS] = @@ -11171,9 +11235,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_PHOTON_GEYSER] = @@ -11186,9 +11252,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TARGET_ABILITY_IGNORED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .ignoresTargetAbility = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ZIPPY_ZAP] = @@ -11197,12 +11264,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 80, .effect = EFFECT_EVASION_UP_HIT, .pp = 10, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .sheerForceBoost = TRUE, #else .effect = EFFECT_ALWAYS_CRIT, .power = 50, .pp = 15, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .type = TYPE_ELECTRIC, .accuracy = 100, @@ -11211,15 +11277,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 2, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_SPLISHY_SPLASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_PARALYZE_HIT, .power = 90, .type = TYPE_WATER, @@ -11230,15 +11294,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_FLOATY_FALL] = { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, - #endif .effect = EFFECT_FLINCH_HIT, .power = 90, .type = TYPE_FLYING, @@ -11249,15 +11311,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .gravityBanned = TRUE, + .metronomeBanned = TRUE, }, [MOVE_PIKA_PAPOW] = { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #else - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_RETURN, .power = 1, .type = TYPE_ELECTRIC, @@ -11268,6 +11330,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, }, [MOVE_BOUNCY_BUBBLE] = @@ -11275,12 +11338,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_8 .power = 60, .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .argument = 100, // restores 100% HP instead of 50% HP #else .power = 90, .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_ABSORB, .type = TYPE_WATER, @@ -11290,6 +11351,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_BUZZY_BUZZ] = @@ -11297,11 +11360,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_8 .power = 60, .pp = 20, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 90, .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_PARALYZE_HIT, .type = TYPE_ELECTRIC, @@ -11311,6 +11372,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_SIZZLY_SLIDE] = @@ -11318,11 +11381,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_8 .power = 60, .pp = 20, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, #else .power = 90, .pp = 15, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THAW_USER, #endif .effect = EFFECT_BURN_HIT, .type = TYPE_FIRE, @@ -11332,6 +11393,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .thawsUser = TRUE, + .metronomeBanned = TRUE, }, [MOVE_GLITZY_GLOW] = @@ -11339,11 +11404,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_8 .power = 80, .accuracy = 95, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 90, .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_GLITZY_GLOW, .type = TYPE_PSYCHIC, @@ -11353,6 +11416,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_BADDY_BAD] = @@ -11360,11 +11425,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #if B_UPDATED_MOVE_DATA >= GEN_8 .power = 80, .accuracy = 95, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 90, .accuracy = 100, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_BADDY_BAD, .type = TYPE_DARK, @@ -11374,6 +11437,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_SAPPY_SEED] = @@ -11382,12 +11447,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 100, .accuracy = 90, .pp = 10, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 90, .accuracy = 100, .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_SAPPY_SEED, .type = TYPE_GRASS, @@ -11396,6 +11459,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .magicCoatAffected = TRUE, + .metronomeBanned = TRUE, }, [MOVE_FREEZY_FROST] = @@ -11404,12 +11470,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 100, .accuracy = 90, .pp = 10, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 90, .accuracy = 100, .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_FREEZY_FROST, .type = TYPE_ICE, @@ -11418,6 +11482,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_SPARKLY_SWIRL] = @@ -11426,12 +11492,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 120, .accuracy = 85, .pp = 5, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #else .power = 90, .accuracy = 100, .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, #endif .effect = EFFECT_SPARKLY_SWIRL, .type = TYPE_FAIRY, @@ -11440,15 +11504,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_VEEVEE_VOLLEY] = { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, - #endif .effect = EFFECT_RETURN, .power = 1, .type = TYPE_NORMAL, @@ -11459,15 +11520,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_DOUBLE_IRON_BASH] = { - #if B_UPDATED_MOVE_DATA >= GEN_8 - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST | FLAG_TWO_STRIKES, - #else - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_DMG_MINIMIZE | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST | FLAG_TWO_STRIKES, - #endif .effect = EFFECT_FLINCH_HIT, .power = 60, .type = TYPE_STEEL, @@ -11478,6 +11537,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, + .twoStrikes = TRUE, + .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_8, + .metronomeBanned = TRUE, }, [MOVE_DYNAMAX_CANNON] = @@ -11490,9 +11555,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_SNIPE_SHOT] = @@ -11505,9 +11573,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, }, [MOVE_JAW_LOCK] = @@ -11520,9 +11588,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .bitingMove = TRUE, }, [MOVE_STUFF_CHEEKS] = @@ -11535,9 +11604,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, }, [MOVE_NO_RETREAT] = @@ -11550,9 +11619,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, }, [MOVE_TAR_SHOT] = @@ -11565,9 +11634,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .magicCoatAffected = TRUE, }, [MOVE_MAGIC_POWDER] = @@ -11580,10 +11649,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_POWDER, .split = SPLIT_STATUS, .argument = TYPE_PSYCHIC, .zMoveEffect = Z_EFFECT_NONE, + .magicCoatAffected = TRUE, + .powderMove = TRUE, }, [MOVE_DRAGON_DARTS] = @@ -11596,9 +11666,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .twoStrikes = TRUE, }, [MOVE_TEATIME] = @@ -11611,9 +11681,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .ignoresProtect = TRUE, }, [MOVE_OCTOLOCK] = @@ -11626,7 +11696,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, }, @@ -11641,9 +11710,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_FISHIOUS_REND] = @@ -11656,9 +11725,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STRONG_JAW_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .bitingMove = TRUE, }, [MOVE_COURT_CHANGE] = @@ -11671,7 +11741,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, }, @@ -11686,9 +11755,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_SOUND, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, + .soundMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_BODY_PRESS] = @@ -11701,13 +11772,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_DECORATE] = { + .ignoresProtect = B_UPDATED_MOVE_FLAGS >= GEN_5, .effect = EFFECT_DECORATE, .power = 0, .type = TYPE_FAIRY, @@ -11716,9 +11789,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_DRUM_BEATING] = @@ -11731,9 +11804,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SNAP_TRAP] = @@ -11746,9 +11820,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_PYRO_BALL] = @@ -11761,9 +11836,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_BALLISTIC | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .thawsUser = TRUE, + .ballisticMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_BEHEMOTH_BLADE] = @@ -11776,9 +11854,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_BEHEMOTH_BASH] = @@ -11791,9 +11872,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, }, [MOVE_AURA_WHEEL] = @@ -11806,9 +11889,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_BREAKING_SWIPE] = @@ -11821,9 +11904,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_BRANCH_POKE] = @@ -11836,9 +11921,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_OVERDRIVE] = @@ -11851,9 +11937,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .soundMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_APPLE_ACID] = @@ -11866,9 +11953,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_GRAV_APPLE] = @@ -11881,9 +11969,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SPIRIT_BREAK] = @@ -11896,9 +11985,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_STRANGE_STEAM] = @@ -11911,9 +12002,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_LIFE_DEW] = @@ -11926,9 +12018,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, + .metronomeBanned = TRUE, }, [MOVE_OBSTRUCT] = @@ -11941,9 +12034,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 4, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .protectionMove = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_FALSE_SURRENDER] = @@ -11956,9 +12052,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_METEOR_ASSAULT] = @@ -11971,9 +12068,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_ETERNABEAM] = @@ -11986,9 +12084,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_STEEL_BEAM] = @@ -12001,9 +12100,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_EXPANDING_FORCE] = @@ -12016,7 +12115,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12031,9 +12129,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_SCALE_SHOT] = @@ -12046,7 +12144,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12061,9 +12158,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .instructBanned = TRUE, }, [MOVE_SHELL_SIDE_ARM] = @@ -12076,9 +12173,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_MISTY_EXPLOSION] = @@ -12091,7 +12188,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12110,9 +12206,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_RISING_VOLTAGE] = @@ -12125,7 +12221,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12140,9 +12235,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_MEGA_LAUNCHER_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .pulseMove = TRUE, }, [MOVE_SKITTER_SMACK] = @@ -12155,9 +12250,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_BURNING_JEALOUSY] = @@ -12170,9 +12266,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_LASH_OUT] = @@ -12185,9 +12281,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_POLTERGEIST] = @@ -12200,7 +12296,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12215,9 +12310,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .magicCoatAffected = TRUE, }, [MOVE_COACHING] = @@ -12230,7 +12325,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALLY, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12245,9 +12339,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_TRIPLE_AXEL] = @@ -12260,9 +12354,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_DUAL_WINGBEAT] = @@ -12275,9 +12369,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .twoStrikes = TRUE, }, [MOVE_SCORCHING_SANDS] = @@ -12290,9 +12385,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_THAW_USER, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .thawsUser = TRUE, }, [MOVE_JUNGLE_HEALING] = @@ -12307,6 +12403,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_WICKED_BLOW] = @@ -12323,9 +12420,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SURGING_STRIKES] = @@ -12338,9 +12437,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_THREE_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .threeStrikes = TRUE, + .metronomeBanned = TRUE, }, [MOVE_THUNDER_CAGE] = @@ -12353,9 +12455,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_DRAGON_ENERGY] = @@ -12368,9 +12470,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_FREEZING_GLARE] = @@ -12387,9 +12489,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_FIERY_WRATH] = @@ -12402,9 +12505,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_THUNDEROUS_KICK] = @@ -12417,9 +12520,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_GLACIAL_LANCE] = @@ -12436,9 +12541,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_ASTRAL_BARRAGE] = @@ -12451,9 +12556,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_EERIE_SPELL] = @@ -12466,9 +12571,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, }, [MOVE_DIRE_CLAW] = @@ -12485,9 +12591,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_PSYSHIELD_BASH] = @@ -12500,9 +12607,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_POWER_SHIFT] = @@ -12515,9 +12623,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_STONE_AXE] = @@ -12530,10 +12638,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, .argument = MOVE_EFFECT_STEALTH_ROCK, + .sheerForceBoost = TRUE, + .slicingMove = TRUE, }, [MOVE_SPRINGTIDE_STORM] = @@ -12550,9 +12660,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_MYSTICAL_POWER] = @@ -12565,9 +12676,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_RAGING_FURY] = @@ -12584,9 +12695,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_RANDOM, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_WAVE_CRASH] = @@ -12603,9 +12715,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_CHLOROBLAST] = @@ -12622,7 +12734,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12637,9 +12748,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_VICTORY_DANCE] = @@ -12652,9 +12763,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED | FLAG_DANCE, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .danceMove = TRUE, + .snatchAffected = TRUE, }, [MOVE_HEADLONG_RUSH] = @@ -12671,9 +12783,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, }, [MOVE_BARB_BARRAGE] = @@ -12690,9 +12803,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_ESPER_WING] = @@ -12710,9 +12823,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_BITTER_MALICE] = @@ -12729,9 +12843,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_SHELTER] = @@ -12744,9 +12858,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, }, [MOVE_TRIPLE_ARROWS] = @@ -12764,9 +12878,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, // 50% Defense down, 30% Flinch. Can be modified in 'SetMoveEffect' .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_HIGH_CRIT, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .highCritRatio = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_INFERNAL_PARADE] = @@ -12779,9 +12894,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_CEASELESS_EDGE] = @@ -12794,10 +12909,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, .argument = MOVE_EFFECT_SPIKES, + .sheerForceBoost = TRUE, + .slicingMove = TRUE, }, [MOVE_BLEAKWIND_STORM] = @@ -12815,9 +12932,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_WILDBOLT_STORM] = @@ -12835,9 +12953,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_SANDSEAR_STORM] = @@ -12855,9 +12974,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .windMove = TRUE, }, [MOVE_LUNAR_BLESSING] = @@ -12870,9 +12990,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, }, [MOVE_TAKE_HEART] = @@ -12885,9 +13005,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, + .snatchAffected = TRUE, }, [MOVE_TERA_BLAST] = @@ -12900,7 +13020,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -12915,9 +13034,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 4, - .flags = FLAG_PROTECTION_MOVE, .split = SPLIT_STATUS, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .protectionMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_AXE_KICK] = @@ -12930,9 +13050,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, }, [MOVE_LAST_RESPECTS] = @@ -12945,9 +13066,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_LUMINA_CRASH] = @@ -12960,9 +13080,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_ORDER_UP] = @@ -12975,9 +13095,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_JET_PUNCH] = @@ -12990,10 +13111,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - // The datamine master sheet mentions uncopiable by Metronome but that sounds odd? not yet implemented + .makesContact = TRUE, + .punchingMove = TRUE, + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SPICY_EXTRACT] = @@ -13006,10 +13129,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, - // The datamine master sheet mentions uncopiable by Metronome but that sounds odd? not yet implemented + .magicCoatAffected = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SPIN_OUT] = @@ -13022,9 +13145,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, }, [MOVE_POPULATION_BOMB] = @@ -13037,10 +13160,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - //Supposedly uncallable by Metronome? (if so, needs implementation) + .makesContact = TRUE, + .slicingMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ICE_SPINNER] = @@ -13053,9 +13177,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, .argument = 1, // Remove the active field terrain if there is one. }, @@ -13069,9 +13193,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, }, [MOVE_REVIVAL_BLESSING] = @@ -13084,10 +13207,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, - // Uncallable by Metronome (to be implemented) + .metronomeBanned = TRUE, }, [MOVE_SALT_CURE] = @@ -13100,10 +13222,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - // Supposedly uncallable by Metronome, but dubious + .sheerForceBoost = TRUE, + .metronomeBanned = TRUE, }, [MOVE_TRIPLE_DIVE] = @@ -13116,9 +13238,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_THREE_STRIKES, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .threeStrikes = TRUE, }, [MOVE_MORTAL_SPIN] = @@ -13131,9 +13254,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, }, [MOVE_DOODLE] = @@ -13145,11 +13268,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, // Supposedly unconfirmed? - .priority = 0, - .flags = 0, // TO VERIFY + .priority = 0, // TO VERIFY .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, - // Supposedly uncallable by Metronome (unimplemented) + .metronomeBanned = TRUE, }, [MOVE_FILLET_AWAY] = @@ -13162,10 +13284,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RECOVER_HP, - // Supposedly uncallable by Metronome (unimplemented) + .snatchAffected = TRUE, + .metronomeBanned = TRUE, }, [MOVE_KOWTOW_CLEAVE] = @@ -13178,9 +13300,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_FLOWER_TRICK] = @@ -13193,7 +13316,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -13208,9 +13330,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .soundMove = TRUE, }, [MOVE_AQUA_STEP] = @@ -13223,9 +13346,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DANCE | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .sheerForceBoost = TRUE, + .danceMove = TRUE, }, [MOVE_RAGING_BULL] = @@ -13237,11 +13362,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, - .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // TO VERIFY + .priority = 0, // TO VERIFY .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - // Uncallable by Metronome (to be implemented) + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_MAKE_IT_RAIN] = @@ -13254,10 +13379,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - // Uncallable by Metronome (to be implemented) + .metronomeBanned = TRUE, }, [MOVE_RUINATION] = @@ -13270,10 +13394,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - // Uncallable by Metronome (to be implemented) + .metronomeBanned = TRUE, }, [MOVE_COLLISION_COURSE] = @@ -13286,10 +13409,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - // Uncallable by Metronome (to be implemented) + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ELECTRO_DRIFT] = @@ -13302,10 +13425,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - // Uncallable by Metronome (to be implemented) + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_SHED_TAIL] = @@ -13318,10 +13441,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_RESET_STATS, - // Uncallable by Metronome (to be implemented) + .metronomeBanned = TRUE, }, [MOVE_CHILLY_RECEPTION] = @@ -13334,10 +13456,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, - // Supposedly uncallable by Metronome? (to be implemented) + .metronomeBanned = TRUE, }, [MOVE_TIDY_UP] = @@ -13350,10 +13471,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_NONE, - // Supposedly uncallable by Metronome? (to be implemented) + .metronomeBanned = TRUE, }, [MOVE_SNOWSCAPE] = @@ -13366,10 +13486,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, .split = SPLIT_STATUS, .zMoveEffect = Z_EFFECT_SPD_UP_1, - // Currently an exact copy of Hail until we figure out what to do with it + .metronomeBanned = TRUE, }, [MOVE_POUNCE] = @@ -13382,9 +13501,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_TRAILBLAZE] = @@ -13397,9 +13517,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_CHILLING_WATER] = @@ -13412,9 +13533,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_HYPER_DRILL] = @@ -13427,9 +13548,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .metronomeBanned = TRUE, }, [MOVE_TWIN_BEAM] = @@ -13442,9 +13564,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .twoStrikes = TRUE, + .metronomeBanned = TRUE, }, [MOVE_RAGE_FIST] = @@ -13457,9 +13580,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .punchingMove = TRUE, + .metronomeBanned = TRUE, }, [MOVE_ARMOR_CANNON] = @@ -13472,9 +13597,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_BITTER_BLADE] = @@ -13487,9 +13612,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_DOUBLE_SHOCK] = @@ -13502,9 +13628,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_GIGATON_HAMMER] = @@ -13517,7 +13643,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -13532,9 +13657,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .metronomeBanned = TRUE, }, [MOVE_AQUA_CUTTER] = @@ -13547,9 +13672,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .slicingMove = TRUE, + .highCritRatio = TRUE, }, [MOVE_BLAZING_TORQUE] = @@ -13562,9 +13688,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_WICKED_TORQUE] = @@ -13577,9 +13708,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_NOXIOUS_TORQUE] = @@ -13592,9 +13728,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_COMBAT_TORQUE] = @@ -13607,9 +13748,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_MAGICAL_TORQUE] = @@ -13622,9 +13768,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, - .zMoveEffect = Z_EFFECT_NONE + .zMoveEffect = Z_EFFECT_NONE, + .sheerForceBoost = TRUE, + .mimicBanned = TRUE, + .metronomeBanned = TRUE, + .copycatBanned = TRUE, + .sleepTalkBanned = TRUE, + .instructBanned = TRUE, }, [MOVE_PSYBLADE] = @@ -13637,9 +13788,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, + .makesContact = TRUE, + .slicingMove = TRUE, }, [MOVE_HYDRO_STEAM] = @@ -13652,7 +13804,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -13668,9 +13819,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, //determined from move type - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_ALL_OUT_PUMMELING] = { @@ -13682,9 +13832,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SUPERSONIC_SKYSTRIKE] = { @@ -13696,9 +13845,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_ACID_DOWNPOUR] = { @@ -13710,9 +13858,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_TECTONIC_RAGE] = { @@ -13724,9 +13871,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_CONTINENTAL_CRUSH] = { @@ -13738,9 +13884,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SAVAGE_SPIN_OUT] = { @@ -13752,9 +13897,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_NEVER_ENDING_NIGHTMARE] = { @@ -13766,9 +13910,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_CORKSCREW_CRASH] = { @@ -13780,9 +13923,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_INFERNO_OVERDRIVE] = { @@ -13794,9 +13936,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_HYDRO_VORTEX] = { @@ -13808,9 +13949,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_BLOOM_DOOM] = { @@ -13822,9 +13962,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_GIGAVOLT_HAVOC] = { @@ -13836,9 +13975,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SHATTERED_PSYCHE] = { @@ -13850,9 +13988,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SUBZERO_SLAMMER] = { @@ -13864,9 +14001,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_DEVASTATING_DRAKE] = { @@ -13878,9 +14014,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_BLACK_HOLE_ECLIPSE] = { @@ -13892,9 +14027,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_TWINKLE_TACKLE] = { @@ -13906,9 +14040,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_CATASTROPIKA] = { @@ -13920,9 +14053,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_10000000_VOLT_THUNDERBOLT] = { @@ -13934,9 +14066,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, + .highCritRatio = TRUE, }, [MOVE_STOKED_SPARKSURFER] = { @@ -13948,9 +14080,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_EXTREME_EVOBOOST] = { @@ -13962,9 +14093,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, .split = SPLIT_STATUS, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_PULVERIZING_PANCAKE] = { @@ -13976,9 +14106,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_GENESIS_SUPERNOVA] = { @@ -13990,10 +14119,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, .argument = 0, // Set Psychic Terrain. If there's a different field terrain active, overwrite it. - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SINISTER_ARROW_RAID] = { @@ -14005,9 +14133,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_MALICIOUS_MOONSAULT] = { @@ -14019,9 +14146,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_OCEANIC_OPERETTA] = { @@ -14033,9 +14159,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SPLINTERED_STORMSHARDS] = { @@ -14047,10 +14172,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, .argument = 1, // Remove the active field terrain if there is one. - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_LETS_SNUGGLE_FOREVER] = { @@ -14062,9 +14186,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_CLANGOROUS_SOULBLAZE] = { @@ -14076,9 +14199,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_SOUND, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, + .soundMove = TRUE, }, [MOVE_GUARDIAN_OF_ALOLA] = { @@ -14090,9 +14213,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SEARING_SUNRAZE_SMASH] = { @@ -14104,9 +14226,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_MENACING_MOONRAZE_MAELSTROM] = { @@ -14118,9 +14239,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_LIGHT_THAT_BURNS_THE_SKY] = { @@ -14132,9 +14252,8 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_SPECIAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, [MOVE_SOUL_STEALING_7_STAR_STRIKE] = { @@ -14146,8 +14265,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = 0, .split = SPLIT_PHYSICAL, - .zMoveEffect = 0 + .zMoveEffect = 0, }, }; diff --git a/test/ability_cute_charm.c b/test/ability_cute_charm.c index ccf5c490b3..5ec6ca7c4d 100644 --- a/test/ability_cute_charm.c +++ b/test/ability_cute_charm.c @@ -7,15 +7,15 @@ SINGLE_BATTLE_TEST("Cute Charm inflicts infatuation on contact") PARAMETRIZE { move = MOVE_TACKLE; } PARAMETRIZE { move = MOVE_SWIFT; } GIVEN { - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); - ASSUME(!(gBattleMoves[MOVE_SWIFT].flags & FLAG_MAKES_CONTACT)); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(!gBattleMoves[MOVE_SWIFT].makesContact); PLAYER(SPECIES_WOBBUFFET) { Gender(MON_MALE); } OPPONENT(SPECIES_CLEFAIRY) { Gender(MON_FEMALE); Ability(ABILITY_CUTE_CHARM); } } WHEN { TURN { MOVE(player, move); } TURN { MOVE(player, move); } } SCENE { - if (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) { + if (gBattleMoves[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_CUTE_CHARM); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); MESSAGE("Foe Clefairy's Cute Charm infatuated Wobbuffet!"); diff --git a/test/ability_damp.c b/test/ability_damp.c index 19a4ac5ad4..fc4580daad 100644 --- a/test/ability_damp.c +++ b/test/ability_damp.c @@ -60,7 +60,7 @@ SINGLE_BATTLE_TEST("Damp prevents explosion-like moves from self") SINGLE_BATTLE_TEST("Damp prevents damage from aftermath") { GIVEN { - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); } OPPONENT(SPECIES_VOLTORB) { Ability(ABILITY_AFTERMATH); HP(1); } OPPONENT(SPECIES_WOBBUFFET); diff --git a/test/ability_flame_body.c b/test/ability_flame_body.c index 3033376931..6d0823062e 100644 --- a/test/ability_flame_body.c +++ b/test/ability_flame_body.c @@ -7,14 +7,14 @@ SINGLE_BATTLE_TEST("Flame Body inflicts burn on contact") PARAMETRIZE { move = MOVE_TACKLE; } PARAMETRIZE { move = MOVE_SWIFT; } GIVEN { - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); - ASSUME(!(gBattleMoves[MOVE_SWIFT].flags & FLAG_MAKES_CONTACT)); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(!gBattleMoves[MOVE_SWIFT].makesContact); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_MAGMAR) { Ability(ABILITY_FLAME_BODY); } } WHEN { TURN { MOVE(player, move); } } SCENE { - if (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) { + if (gBattleMoves[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_FLAME_BODY); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_BRN, player); MESSAGE("Foe Magmar's Flame Body burned Wobbuffet!"); diff --git a/test/ability_magic_bounce.c b/test/ability_magic_bounce.c index eaf925975c..d560bd7302 100644 --- a/test/ability_magic_bounce.c +++ b/test/ability_magic_bounce.c @@ -22,7 +22,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounces back status moves") SINGLE_BATTLE_TEST("Magic Bounce bounces back powder moves") { GIVEN { - ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); + ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove); ASSUME(gBattleMoves[MOVE_STUN_SPORE].effect == EFFECT_PARALYZE); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE); } @@ -40,7 +40,7 @@ SINGLE_BATTLE_TEST("Magic Bounce bounces back powder moves") SINGLE_BATTLE_TEST("Magic Bounce cannot bounce back powder moves against Grass Types") { GIVEN { - ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); + ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove); ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS); PLAYER(SPECIES_ODDISH); OPPONENT(SPECIES_ESPEON) { Ability(ABILITY_MAGIC_BOUNCE); } diff --git a/test/ability_poison_point.c b/test/ability_poison_point.c index a85edd85ba..2628713982 100644 --- a/test/ability_poison_point.c +++ b/test/ability_poison_point.c @@ -7,15 +7,15 @@ SINGLE_BATTLE_TEST("Poison Point inflicts poison on contact") PARAMETRIZE { move = MOVE_TACKLE; } PARAMETRIZE { move = MOVE_SWIFT; } GIVEN { - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); - ASSUME(!(gBattleMoves[MOVE_SWIFT].flags & FLAG_MAKES_CONTACT)); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(!gBattleMoves[MOVE_SWIFT].makesContact); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_NIDORAN_M) { Ability(ABILITY_POISON_POINT); } } WHEN { TURN { MOVE(player, move); } TURN {} } SCENE { - if (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) { + if (gBattleMoves[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_POISON_POINT); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PSN, player); MESSAGE("Wobbuffet was poisoned by Foe Nidoran♂'s Poison Point!"); diff --git a/test/ability_static.c b/test/ability_static.c index 022efa5bb8..083540d5b1 100644 --- a/test/ability_static.c +++ b/test/ability_static.c @@ -7,14 +7,14 @@ SINGLE_BATTLE_TEST("Static inflicts paralysis on contact") PARAMETRIZE { move = MOVE_TACKLE; } PARAMETRIZE { move = MOVE_SWIFT; } GIVEN { - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); - ASSUME(!(gBattleMoves[MOVE_SWIFT].flags & FLAG_MAKES_CONTACT)); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(!gBattleMoves[MOVE_SWIFT].makesContact); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_PIKACHU) { Ability(ABILITY_STATIC); } } WHEN { TURN { MOVE(player, move); } } SCENE { - if (gBattleMoves[move].flags & FLAG_MAKES_CONTACT) { + if (gBattleMoves[move].makesContact) { ABILITY_POPUP(opponent, ABILITY_STATIC); ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player); MESSAGE("Foe Pikachu's Static paralyzed Wobbuffet! It may be unable to move!"); diff --git a/test/ability_stench.c b/test/ability_stench.c index dd1d027e90..33964c355c 100644 --- a/test/ability_stench.c +++ b/test/ability_stench.c @@ -17,7 +17,6 @@ SINGLE_BATTLE_TEST("Stench has a 10% chance to flinch") SINGLE_BATTLE_TEST("Stench does not stack with King's Rock") { - KNOWN_FAILING; PASSES_RANDOMLY(1, 10, RNG_STENCH); GIVEN { ASSUME(gItems[ITEM_KINGS_ROCK].holdEffect == HOLD_EFFECT_FLINCH); diff --git a/test/move.c b/test/move.c index 9e23c2bd00..06a0abc7cf 100644 --- a/test/move.c +++ b/test/move.c @@ -99,7 +99,7 @@ SINGLE_BATTLE_TEST("Critical hits occur at a 1/24 rate") SINGLE_BATTLE_TEST("Slash's critical hits occur at a 1/8 rate") { ASSUME(B_CRIT_CHANCE >= GEN_7); - ASSUME(gBattleMoves[MOVE_SLASH].flags & FLAG_HIGH_CRIT); + ASSUME(gBattleMoves[MOVE_SLASH].highCritRatio); PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { PLAYER(SPECIES_WOBBUFFET); diff --git a/test/move_effect_beak_blast.c b/test/move_effect_beak_blast.c index a2d66b4059..5a8352021c 100644 --- a/test/move_effect_beak_blast.c +++ b/test/move_effect_beak_blast.c @@ -37,7 +37,7 @@ DOUBLE_BATTLE_TEST("Beak Blast burns all who make contact with the pokemon") { GIVEN { ASSUME(gBattleMoves[MOVE_BEAK_BLAST].priority < 0); - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); PLAYER(SPECIES_WYNAUT) { Speed(10); } PLAYER(SPECIES_WOBBUFFET) { Speed(5); } OPPONENT(SPECIES_WOBBUFFET) { Speed(3); } @@ -80,9 +80,9 @@ SINGLE_BATTLE_TEST("Beak Blast burns only when contact moves are used") PARAMETRIZE { move = MOVE_LEER; burn = FALSE; } GIVEN { - ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); - ASSUME(!(gBattleMoves[MOVE_WATER_GUN].flags & FLAG_MAKES_CONTACT)); - ASSUME(!(gBattleMoves[MOVE_LEER].flags & FLAG_MAKES_CONTACT)); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(!gBattleMoves[MOVE_WATER_GUN].makesContact); + ASSUME(!gBattleMoves[MOVE_LEER].makesContact); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/move_effect_recoil_if_miss.c b/test/move_effect_recoil_if_miss.c index 8a80309d74..471c8a2629 100644 --- a/test/move_effect_recoil_if_miss.c +++ b/test/move_effect_recoil_if_miss.c @@ -27,7 +27,7 @@ SINGLE_BATTLE_TEST("Jump Kick has 50% recoil on protect") { s16 recoil; GIVEN { - ASSUME(gBattleMoves[MOVE_JUMP_KICK].flags & FLAG_PROTECT_AFFECTED); + ASSUME(!gBattleMoves[MOVE_JUMP_KICK].ignoresProtect); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/move_effect_triple_arrows.c b/test/move_effect_triple_arrows.c index a899ab7a34..0e45521e49 100644 --- a/test/move_effect_triple_arrows.c +++ b/test/move_effect_triple_arrows.c @@ -46,7 +46,7 @@ SINGLE_BATTLE_TEST("Triple Arrows makes the foe flinch 30% of the time") SINGLE_BATTLE_TEST("Triple Arrows lands a critical hit") { ASSUME(B_CRIT_CHANCE >= GEN_7); - ASSUME(gBattleMoves[MOVE_TRIPLE_ARROWS].flags & FLAG_HIGH_CRIT); + ASSUME(gBattleMoves[MOVE_TRIPLE_ARROWS].highCritRatio == TRUE); PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { PLAYER(SPECIES_WOBBUFFET); diff --git a/test/move_flag_three_strikes.c b/test/move_flag_three_strikes.c index b597b4efef..acb7effc01 100644 --- a/test/move_flag_three_strikes.c +++ b/test/move_flag_three_strikes.c @@ -8,7 +8,7 @@ SINGLE_BATTLE_TEST("Three-strike flag turns a move into a 3-hit move") s16 thirdHit; GIVEN { - ASSUME(gBattleMoves[MOVE_TRIPLE_DIVE].flags & FLAG_THREE_STRIKES); + ASSUME(gBattleMoves[MOVE_TRIPLE_DIVE].threeStrikes); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -34,7 +34,7 @@ SINGLE_BATTLE_TEST("Surging Strikes hits 3 times with each hit being a critical s16 thirdHit; GIVEN { - ASSUME(gBattleMoves[MOVE_SURGING_STRIKES].flags & FLAG_THREE_STRIKES); + ASSUME(gBattleMoves[MOVE_SURGING_STRIKES].threeStrikes); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/powder_moves.c b/test/powder_moves.c index a0185ad371..fea64f8215 100644 --- a/test/powder_moves.c +++ b/test/powder_moves.c @@ -4,7 +4,7 @@ SINGLE_BATTLE_TEST("Powder Moves are blocked by Grass Types") { GIVEN { - ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); + ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove); ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_ODDISH); @@ -19,7 +19,7 @@ SINGLE_BATTLE_TEST("Powder Moves are blocked by Grass Types") SINGLE_BATTLE_TEST("Powder Moves are blocked by Ability Overcoat") { GIVEN { - ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); + ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_PINECO) { Ability(ABILITY_OVERCOAT); } } WHEN { @@ -34,7 +34,7 @@ SINGLE_BATTLE_TEST("Powder Moves are blocked by Ability Overcoat") SINGLE_BATTLE_TEST("Powder Moves are blocked by Item Safety Goggles") { GIVEN { - ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); + ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove); ASSUME(gItems[ITEM_SAFETY_GOGGLES].holdEffect == HOLD_EFFECT_SAFETY_GOGGLES); PLAYER(SPECIES_WYNAUT); OPPONENT(SPECIES_ABRA) { Item(ITEM_SAFETY_GOGGLES); } diff --git a/test/status1.c b/test/status1.c index c244b9a604..3c19d01c1c 100644 --- a/test/status1.c +++ b/test/status1.c @@ -101,7 +101,7 @@ SINGLE_BATTLE_TEST("Freeze is thawed by opponent's Fire-type attacks") SINGLE_BATTLE_TEST("Freeze is thawed by user's Flame Wheel") { GIVEN { - ASSUME(gBattleMoves[MOVE_FLAME_WHEEL].flags & FLAG_THAW_USER); + ASSUME(gBattleMoves[MOVE_FLAME_WHEEL].thawsUser); PLAYER(SPECIES_WOBBUFFET) { Status1(STATUS1_FREEZE); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/test_battle.h b/test/test_battle.h index 607589eeaf..6f21281241 100644 --- a/test/test_battle.h +++ b/test/test_battle.h @@ -87,7 +87,7 @@ * SINGLE_BATTLE_TEST("Stun Spore does not affect Grass-types") * { * GIVEN { - * ASSUME(gBattleMoves[MOVE_STUN_SPORE].flags & FLAG_POWDER); + * ASSUME(gBattleMoves[MOVE_STUN_SPORE].powderMove); * ASSUME(gSpeciesInfo[SPECIES_ODDISH].types[0] == TYPE_GRASS); * PLAYER(SPECIES_ODDISH); // 1. * OPPONENT(SPECIES_ODDISH); // 2. From cc3a6d4d940660dde30c4f226f609410414b5531 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Mon, 3 Jul 2023 04:03:50 -0400 Subject: [PATCH 043/256] make special case ABILITYEFFECT_xx ids their own caseId switch cases to fix potential overlap with ability IDs 0xFF etc (#3083) Co-authored-by: ghoulslash --- include/battle_util.h | 4 +- src/battle_main.c | 4 +- src/battle_util.c | 150 +++++++++++++++++++++--------------------- 3 files changed, 80 insertions(+), 78 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index b1d0eeb1a4..9976720eed 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -35,11 +35,11 @@ #define ABILITYEFFECT_FIELD_SPORT 13 // Only used if B_SPORT_TURNS < GEN_6 #define ABILITYEFFECT_ON_WEATHER 14 #define ABILITYEFFECT_ON_TERRAIN 15 +#define ABILITYEFFECT_SWITCH_IN_TERRAIN 16 +#define ABILITYEFFECT_SWITCH_IN_WEATHER 17 // Special cases #define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS < GEN_6 #define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS < GEN_6 -#define ABILITYEFFECT_SWITCH_IN_TERRAIN 254 -#define ABILITYEFFECT_SWITCH_IN_WEATHER 255 // For the first argument of ItemBattleEffects, to deteremine which block of item effects to try #define ITEMEFFECT_ON_SWITCH_IN 0 diff --git a/src/battle_main.c b/src/battle_main.c index 758bc1cf85..6ba91a5bb8 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3823,13 +3823,13 @@ static void TryDoEventsBeforeFirstTurn(void) } } if (!gBattleStruct->overworldWeatherDone - && AbilityBattleEffects(0, 0, 0, ABILITYEFFECT_SWITCH_IN_WEATHER, 0) != 0) + && AbilityBattleEffects(ABILITYEFFECT_SWITCH_IN_WEATHER, 0, 0, ABILITYEFFECT_SWITCH_IN_WEATHER, 0) != 0) { gBattleStruct->overworldWeatherDone = TRUE; return; } - if (!gBattleStruct->terrainDone && AbilityBattleEffects(0, 0, 0, ABILITYEFFECT_SWITCH_IN_TERRAIN, 0) != 0) + if (!gBattleStruct->terrainDone && AbilityBattleEffects(ABILITYEFFECT_SWITCH_IN_TERRAIN, 0, 0, ABILITYEFFECT_SWITCH_IN_TERRAIN, 0) != 0) { gBattleStruct->terrainDone = TRUE; return; diff --git a/src/battle_util.c b/src/battle_util.c index a94f13bf28..06d6e4897d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4157,84 +4157,86 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move switch (caseID) { + case ABILITYEFFECT_SWITCH_IN_TERRAIN: + gBattleScripting.battler = battler; + if (VarGet(VAR_TERRAIN) & STATUS_FIELD_TERRAIN_ANY) + { + u16 terrainFlags = VarGet(VAR_TERRAIN) & STATUS_FIELD_TERRAIN_ANY; // only works for status flag (1 << 15) + gFieldStatuses = terrainFlags | STATUS_FIELD_TERRAIN_PERMANENT; // terrain is permanent + switch (VarGet(VAR_TERRAIN) & STATUS_FIELD_TERRAIN_ANY) + { + case STATUS_FIELD_ELECTRIC_TERRAIN: + gBattleCommunication[MULTISTRING_CHOOSER] = 2; + break; + case STATUS_FIELD_MISTY_TERRAIN: + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + break; + case STATUS_FIELD_GRASSY_TERRAIN: + gBattleCommunication[MULTISTRING_CHOOSER] = 1; + break; + case STATUS_FIELD_PSYCHIC_TERRAIN: + gBattleCommunication[MULTISTRING_CHOOSER] = 3; + break; + } + + BattleScriptPushCursorAndCallback(BattleScript_OverworldTerrain); + effect++; + } + #if B_THUNDERSTORM_TERRAIN == TRUE + else if (GetCurrentWeather() == WEATHER_RAIN_THUNDERSTORM && !(gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN)) + { + // overworld weather started rain, so just do electric terrain anim + gFieldStatuses = (STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_TERRAIN_PERMANENT); + gBattleCommunication[MULTISTRING_CHOOSER] = 2; + BattleScriptPushCursorAndCallback(BattleScript_OverworldTerrain); + effect++; + } + #endif + break; + case ABILITYEFFECT_SWITCH_IN_WEATHER: + gBattleScripting.battler = battler; + if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) + { + switch (GetCurrentWeather()) + { + case WEATHER_RAIN: + case WEATHER_RAIN_THUNDERSTORM: + case WEATHER_DOWNPOUR: + if (!(gBattleWeather & B_WEATHER_RAIN)) + { + gBattleWeather = (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_PERMANENT); + gBattleScripting.animArg1 = B_ANIM_RAIN_CONTINUES; + effect++; + } + break; + case WEATHER_SANDSTORM: + if (!(gBattleWeather & B_WEATHER_SANDSTORM)) + { + gBattleWeather = B_WEATHER_SANDSTORM; + gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; + effect++; + } + break; + case WEATHER_DROUGHT: + if (!(gBattleWeather & B_WEATHER_SUN)) + { + gBattleWeather = (B_WEATHER_SUN_PERMANENT | B_WEATHER_SUN_TEMPORARY); + gBattleScripting.animArg1 = B_ANIM_SUN_CONTINUES; + effect++; + } + break; + } + } + if (effect != 0) + { + gBattleCommunication[MULTISTRING_CHOOSER] = GetCurrentWeather(); + BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); + } + break; case ABILITYEFFECT_ON_SWITCHIN: // 0 gBattleScripting.battler = battler; switch (gLastUsedAbility) { - case ABILITYEFFECT_SWITCH_IN_TERRAIN: - if (VarGet(VAR_TERRAIN) & STATUS_FIELD_TERRAIN_ANY) - { - u16 terrainFlags = VarGet(VAR_TERRAIN) & STATUS_FIELD_TERRAIN_ANY; // only works for status flag (1 << 15) - gFieldStatuses = terrainFlags | STATUS_FIELD_TERRAIN_PERMANENT; // terrain is permanent - switch (VarGet(VAR_TERRAIN) & STATUS_FIELD_TERRAIN_ANY) - { - case STATUS_FIELD_ELECTRIC_TERRAIN: - gBattleCommunication[MULTISTRING_CHOOSER] = 2; - break; - case STATUS_FIELD_MISTY_TERRAIN: - gBattleCommunication[MULTISTRING_CHOOSER] = 0; - break; - case STATUS_FIELD_GRASSY_TERRAIN: - gBattleCommunication[MULTISTRING_CHOOSER] = 1; - break; - case STATUS_FIELD_PSYCHIC_TERRAIN: - gBattleCommunication[MULTISTRING_CHOOSER] = 3; - break; - } - - BattleScriptPushCursorAndCallback(BattleScript_OverworldTerrain); - effect++; - } - #if B_THUNDERSTORM_TERRAIN == TRUE - else if (GetCurrentWeather() == WEATHER_RAIN_THUNDERSTORM && !(gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN)) - { - // overworld weather started rain, so just do electric terrain anim - gFieldStatuses = (STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_TERRAIN_PERMANENT); - gBattleCommunication[MULTISTRING_CHOOSER] = 2; - BattleScriptPushCursorAndCallback(BattleScript_OverworldTerrain); - effect++; - } - #endif - break; - case ABILITYEFFECT_SWITCH_IN_WEATHER: - if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) - { - switch (GetCurrentWeather()) - { - case WEATHER_RAIN: - case WEATHER_RAIN_THUNDERSTORM: - case WEATHER_DOWNPOUR: - if (!(gBattleWeather & B_WEATHER_RAIN)) - { - gBattleWeather = (B_WEATHER_RAIN_TEMPORARY | B_WEATHER_RAIN_PERMANENT); - gBattleScripting.animArg1 = B_ANIM_RAIN_CONTINUES; - effect++; - } - break; - case WEATHER_SANDSTORM: - if (!(gBattleWeather & B_WEATHER_SANDSTORM)) - { - gBattleWeather = B_WEATHER_SANDSTORM; - gBattleScripting.animArg1 = B_ANIM_SANDSTORM_CONTINUES; - effect++; - } - break; - case WEATHER_DROUGHT: - if (!(gBattleWeather & B_WEATHER_SUN)) - { - gBattleWeather = (B_WEATHER_SUN_PERMANENT | B_WEATHER_SUN_TEMPORARY); - gBattleScripting.animArg1 = B_ANIM_SUN_CONTINUES; - effect++; - } - break; - } - } - if (effect != 0) - { - gBattleCommunication[MULTISTRING_CHOOSER] = GetCurrentWeather(); - BattleScriptPushCursorAndCallback(BattleScript_OverworldWeatherStarts); - } - break; case ABILITY_IMPOSTER: if (IsBattlerAlive(BATTLE_OPPOSITE(battler)) && !(gBattleMons[BATTLE_OPPOSITE(battler)].status2 & (STATUS2_TRANSFORMED | STATUS2_SUBSTITUTE)) From 5c98b9b427b20e047e719f8a4af458f5474a8413 Mon Sep 17 00:00:00 2001 From: SubzeroEclipse Date: Mon, 3 Jul 2023 18:12:39 +0200 Subject: [PATCH 044/256] Fixed Quagsire and Nuzleaf Tweaked Quagsire female back and Nuzleaf to make their differences a bit more noticeable and faithful to the originals. --- graphics/pokemon/nuzleaf/anim_front.png | Bin 881 -> 851 bytes graphics/pokemon/nuzleaf/backf.png | Bin 615 -> 607 bytes graphics/pokemon/quagsire/backf.png | Bin 556 -> 514 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/nuzleaf/anim_front.png b/graphics/pokemon/nuzleaf/anim_front.png index 974079acc5bd7a26f9b23db5c91c9a46e800d441..c1327b4357ba497a3332c15af6b8bd4189b1f853 100644 GIT binary patch delta 732 zcmV<20wewL2Ga(RUw;DLNklJ#O1T5QXVt6Ba2VB)Ncm0z=3F4Cnv^f)z#3 zaA(GbiFCwlLKkWTF3hx1yZ{dn$hAxbTT3>9MYzfP|LIn955F;P2WGc=sTVbYMJ!{SsLSt4sYUaH@twSTUKN;EUp-<0 z?59y`J&FrE;L6c&qgJP0&3;sc4RGi4GDyRZO3f-` z1DFPwF8-GFDu3=1cd`qJ43gzPeWeO>FRs7sEQCQahA=PT%G^Uf*NdGJJ_tUBCIqBq zVgVp={RZFyzwb^WOFW0wH8{&`fa44Nm~zgWYL?yh!E2O1Dlq2gy%wS>%vUFMEeRT1K*#WM@ zy7^=p?2~)~34fxiljln)*kpkD9Y9z-1ro*wI~NustIlE!2_jPY-0~-ptT1k z1FD;g)*Y0jDvHJ)Kk09L*d`!NTMK O0000zmC&D5XP6n;DUk^@B+CfKoJjcQXas~#<6_5?o3W+(OI+LE7C+> z#k7Q5$q#^Xb`mvx0f{|#B-vuwa1V+ww8$4Ga>6QIqzG6;N8a? z%{|s4mNA0)jb7K2)T7WyQ3e2l79sxK%j8dCnT-X6u4u2W7K0EuZ z5^H|82sUw5@PGFNFk9RNm$#Lgf3FG~;4T(rkcJ(H%qnFp2O`0nghW|?ANi5=VQ#@N{@VW@f`E9SyRMQr7mwT@HE#HP^st>UI%kd z06|gRR|rIg7$Z>gaf}5D3K*(lT^XZ_4FNb8W*y)V^OyoQQ8c{3JhcjTYRq&K#pE)X z!zJT}-V-P$>qF#xL_L0~n^VkSVh6HxRg+Bu7k{#=Q|Bu!k}kj*Y2ck=;BbCW%tJhi zf50}^=^s$mWT$^XS*srv=^tuY6O#`AfU*{0JD2DmM$+aVP}a8g04FoG_y?4=tvx_Z z(>DL$Lu(JNA=UVP_Zzk^T6^#rHO>0KooQ_HA>v-Z)2fY2S23j-u10ND8lDh~eP f;2#eD;nCtB*Qd($_*!y~00000NkvXXu0mjfd{$jE diff --git a/graphics/pokemon/nuzleaf/backf.png b/graphics/pokemon/nuzleaf/backf.png index 148b009bfcff9bf94aa87e38d9a04bf65d336b3c..2fa63c61c8aea3012b08f779289aee89621ac574 100644 GIT binary patch delta 522 zcmV+l0`>jp1m6UZV1MdKL_t(Y$L*D|irg>|hINI&Wp^Y{Aq0to z4$Y^Dg>;oBNuogwI&{CrIXD5SxVHhI`yBw%2OEHZYyy~}J>YW~&=&X^05;$OKLSAE z0Z(1V5S>v@9)I5|XTbnSr|Lp{OgFg?z$v0*Ke!MdQmIEksR^iD!}$iJauxujt|-FZ z0y>8hv67G`%_^jm1M+A7RNWsz1ADbvv6+*omaprekg$AA9o%ZF4h2YOvlSd*<{be{db zLvZUkJm=^?8E=&1i(OD=epZHR##e?#vSt^6aY9r!e?!i7lq7K}LyyqV>?*tZO8qUc zzoticY10*8*BO^;_aehdqOLm`y?bebB{1F@Vn=iHJ$wDH{OkAwkI<=f zF-OH63?)c~tamWOw<=~yP@+x|zJ&*wk7 zJ)Fz4c^HS$Pp!4ptA{gv5yp%yqq?qj3Ds*k1{MtURh0Zf;(zc`9ml|og^aPQ=i~~Y zs1L8lNe4{H2mrLMw|dgSHL4&rB8T$K!2*Gm)fFzq<1}z{(g7YvA!hM4!ypK>I#hS# z6cC7G1+vw_yq6;&VqqAn&HNsJyk2MDA?AXz3!xB>^<4}n_?BsYBoFn`B@ zHQ@n&CV(|K;D5=aL~EBQwLs=luzFAYcT+Fg+S3aoZcn^Jtzlo zRiKBR1J;m(@__JB+&rhpp<;1q2{uX93Fy&nN3 z;mYZRH@m)0VFAK3d%DS*BW-KxJ7ouz1WIy^k=hmun}3RHB@R>2=h%FGq7CI@Xs-)W zmzY-O-zRO(9ilg0hNl?KC*xT@9PA7u)05IxGaMNb@RD=@p@_)z{0%wPk)uR8pL&Ga zW*6zjSL&<4?vftpu1yz!t+83k?HivC5*Tx|x_PT6OCZ!(VvB3_JN^Ez{HuKev>QFP U+9Yy201E&B07*qoM6N<$f}xi3g#Z8m diff --git a/graphics/pokemon/quagsire/backf.png b/graphics/pokemon/quagsire/backf.png index a0caa3a26f7f8dbf2f2bc57d9f50d2a2db805811..f2f4406ea6095e0c5b54d3df8df3d3d24f3b4f9b 100644 GIT binary patch delta 429 zcmV;e0aE^~1cC&RUw;9ONklj{loyrc@^E|}4i>ZB5|`4j^MMu&13+{-@zrgDG`5Qq5Jk#a@l7EF*D4k`nxD3<+y8v)2Rw=Y909(6d8Mte<84A6e(OO8E0d(%yC`^@s z?KL%EC1gHuK%5|laXBIE+7$q15HRuZm%9%8Dg|?bT(k#_Rgrl4H%g23e@-@@q7bj{3icMIgrJx{$Ni5Mkg-&h+kd* Xi3Uo-$!Zuy00000NkvXXu0mjf;qJVF delta 471 zcmV;|0Vw{01gr#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#7BS4KAK z0004xNkl6l^Qve;$v&{kteFDbz)hQ%GLsIY98mB|qY4*B?h;Ng@W>?AQPR N002ovPDHLkV1k5w%m@Gg From c18ac55016caa9be37be4e26d2e630feb7845bb9 Mon Sep 17 00:00:00 2001 From: SubzeroEclipse Date: Mon, 3 Jul 2023 22:10:56 +0200 Subject: [PATCH 045/256] Tweaked Houndoom Edited both male and female Houndoom sprites to make female's horns thinner. --- graphics/pokemon/houndoom/anim_front.png | Bin 1528 -> 1488 bytes graphics/pokemon/houndoom/anim_frontf.png | Bin 1475 -> 1485 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/houndoom/anim_front.png b/graphics/pokemon/houndoom/anim_front.png index 84941c21ee2da4b67269cd41ed83bedbdc0c3ef5..3f2c75a39bf9eac44fb7aec1db46da70b1d405f1 100644 GIT binary patch delta 1410 zcmV-|1%3MX3(yOYUw;K#Nkl^m2Crn^_PVZ(;zi~L_jrw5F!JK zeJIiT#2Ou{O!mjt%msFTD)Effk3Z0O~}gu|GIuTDS<(A5&-20Pj9|G z78+0!W zx*KrLi(5$LjvV4Lk&eW5SndK;dyarOvqvZa>=)B+dkskqxC;f$d=C+?><3&#vOW>+ zsss*>T#t5j2Pv8Q)G8o5^v6*z82jZ>B3u0x5Iy2UkAHF>z&y1IxQJLjW@8A`+yEXt z&JuBfJ!8gGo=Riq-N&3Q1Gbc^8v%2OK@@V92n0apQoJyLbOwO?B|%~<4{!?zd8)QU z_2a&Y?+k!5_4^uVC(&8vsb0()Xm5Q-sK^TV>0TyQAitMO72~eBS3o<w9uTh&n% z#icMWNqe3X#pKs<+RX%stK}@K{L&<_XY!zu9eOg)o69c%%< zSB~HgCqb(36&ZP3HTCQ;V72(Mas|kEOMF1qGC_Q=&!4CffQRb~N=|SiD*!`q^-Pis z)=Np)X}u~irA)ubal<#jj2)K%QRhWJ@!8pFzEy6^*PM@-NJ;^K;q)XnYaM4_&GPCU zOMekjDVz-By&7+SuWnvrHAGSa#cv{`bO5~NK@xos;I6p&UCJq19Mbe4L_n>q zzrH)ozIlTiW&_?LaQp5Hv3z5AkaBmF^nd>GH-V}s zH$BKkH$QwYjCtQ@(jt>Yn+nMcnFtD6}?jd@q6KCHb@hCKb}Yd+w+mB8mpuZBU&1MZKz#Jr;81qf7k$pfI%0ho8Z_kEaLgo(_V9HR)EfIACV z2tolIn8hBD`~*-AQK2OuWDY@IGp+7gyFr@fljNaRcMYJ7oBM{&Lu~m2)7PbP1FUQY zH=X~pQXOay>;O40eZh~#eJ-p3ihsKT&Qbn_#iO9iofkisKw+~W2;}oi4P1d0P+F^; z1==Z@TRciB##+0{9zYuiq8*00U$|0nN5@7~Emv%0i9anW0CoY10x$_wLOVcefY^ZC zseyPupoQPGtp~tkG~mmaFgxH)u+Sa=Fw$p^4d{9O*g-{LXWpRgA9M=+2zzU+hkqG! zZ7>@CLH{YsLmYYPc}(i^-0%b^rhX delta 1451 zcmV;c1yuUb3-}9=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LuoW=%WIG z000GBNklm8G6vrhT=(d|>$A=DGBsqt!mcsUiE~it_3>_5HuTriay7YYg z016FsIpm--3v^8jU9-0dx)ivja}iwA%ZKVCCE1op8z=`uHh+I2A0Ns0|J$-;vmI-1 zvj_fu;vn|IzO$RLutiLQcpZb{wq#Wu2IOjPC?6ckNfys*J>V@7f ze7WLFd>*t`L4UG(i0`lYs}<)6jM_0mQGNgG`iHmzIt`#2;n~eMPq_&oiCV}OPkcw$8 zjs)@}H;4v);8sV8Z1vYbbjZez$6NsYVo2a3qD4Rh2(v;19z4oZet|s!Wf{waw)6HQ zMwdQa3fYZ-KEx;r8BI9?APT|HH6WV-;C=}Z*s25E0Ya9^?U4PrZ~R*gU{wCT2D(A? zmPMwL*?$1tt?zL;vjl#+7pV~_?!{8haaZ0;pc`e6=jGL{>?q6flIxeG$CqcSBQNp% znSr7#@lfPfn2A(h#)lZ>yi8>k$b`tuKmii45GXK}o&9>T6nN9Ikepit6M;}?zg`IS z2BzXA0tLysK>d9oqnDdaGBeO?0ILJ^L><#Y0e`Y4h*p$qAl(5xYzD+VAyl3A*15Ew zKwaet&&e>61zdpHP=Csb5J#Rm z4i&0AxBLUP8QurHkW-vOEwJSuDm7PL3vdcXleT}Ts?pQg<3d({C>V77Lrq9yLF8$L zu7B7nnJmqh2LG^G3Psys86^C}rm`K+l70R`>W20I+kX(8U}svBk(&Sj002ovPDHLk FV1l?aqz(W8 diff --git a/graphics/pokemon/houndoom/anim_frontf.png b/graphics/pokemon/houndoom/anim_frontf.png index 3e555ff5d05c79d741a151fa28d99953a157e3a0..f5f3b6b9e68ecd28029ac0a936eac488a65f2ec5 100644 GIT binary patch delta 1406 zcmV-^1%dj*3(X6VV1HOiL_t(o!>yOUZ{$Q2$Gtj@fiB)35e1FMn}{}c2CksVW+PHi zI6M2!&auV8iEQ`-oLPzHl#_1P0T;?3Cm!}fTE5H2Fe^YP5{ zn>X+KUCa7ku9ma4dAv*AEyrmFx&tq8hIFrSnl26Y`U6ToX@6Q_=mp&&rPO=Y01Ujn z{Q>oYpkay@-8~yp_sLhmUIVZ@y%^G-Wjzl{Ye2ZTn+h@VV#~7q5)cW`ER0@)@4qet9SqP`yZ~ zKjeegw>J+6ynmeTv>7;4BgdfJ~*hr~&a90QXCR#49i03J~yEZHF4ieG|1q z8gr(eFM(usS{R=^JrGBN_`gPf@~?z0C4RHL*-l3m}afh^0eME#K1 zVs@$rl79^A&kUqlhDDKFVh02&5#g0>%GR6}{SQ5}N^g0az8lmPJfc4XBq!ZME{Xqfr5O5r|#10&-0e_vKm){%%k5AM+>CoO9;5zvXt^Ux9 z^|>N@&dv%r+4l;dOiERaeoqwt{>lzyBe0ZK0!rPJ zty-0@?v=VHZY7Cp=1u!g->e*`@D}WC=eU~Z^QBwXDFs9%i_Q6zSx=Zc>9rd7o#@pWn(Pa?Hlt~{&xDK?&9t%JyfCDqw z1CkyA${{MW1cd5Ske5uWyVh=yb@NHmK&!h3P{!-~hR#E*`GdNzi{%QKn+$F|`D?BQ z&>olpa+>>s@3V(g7y%S_1)QS%3x9)0L76+ve$0W)WI+%}Cs!J{1|y)fRyhl_Q!+Jp zlw6Fpc9RW&HV{NRjQW0Irb1h?gNsPGQ;Aa~UUqvRj- zkFqqtnMaPpq;Ah8|A5yR&jTLF5iX%Wu;d?dHP>DXa0$-BvVX|C(c$=Us=7a<94h{y zAe6Bns#>AyAJ$qXkCK_eKde55p>41X{$bVGj>h38|Dbf^Ke&Q_09b}xef=?hCjbBd M07*qoM6N<$f_B54XaE2J delta 1396 zcmV-)1&jL43&RVLV1G_YL_t(o!JzxI-g$BADa?qItx~7G$+1mtN3f$7U2(IbnkLr8W58EPbpd1X@{D^#f zB;WUI%c9n?t(~pY_jVI|q3ieT?Mx>O9p84{QEw{{jO;LUU4JJs1O3n&4GD0$85p>J zKMVuUcMrAz{%DN-00Y-N$KbQ)I6qhx1ZJQ+zi{1swcd3AnlE!9CSIxmiGXSVAw&j} z`q=uwY$-DJLiZQ3Sc-)K5JQF-W$$0?zqvL876SLTw|BE*2f$!f6xZo?z&bDPAeCEU zh{`~^67#Uw22gu}fH*VHPy*O5CcSnJSq*gN1WX+p5xeXMOd@MeL}yt7dq*AH?Wqn{ zGWEqFAUkx%LEjrY^?gp!(`K{O40LP2Y5`qY#WYs{)daZ_WdkHzfXDTKxF?LO)4p*o zJ4aAec_uP8@O9uYsDOP0Y@4PyfRi;~;P00Yr+*NqXY|YlW$ms2$1X?c3_~wf_lk|| zHR(7z^eUk5@-hQ#ye2*%W50}uIrboaN+Uq*Hy4zh;6_#eP7%{HOEPFu$@poV6_~hO zy%^($uYf5(E&)d8MLosSv(tR7+?KCdA8?VB0szCwNu<}hn14CVt9J}VghDtOMmsg$ z{C{5E?A~q*VF%7mqB9Kq(JtUo==mdi$29%G8}&ndnr2mfatMLj_6Mvf6px=jR}Q1) z4;r957Z;)H`E84l)Ijl@$j~7G_$@#k1h_A5f0uGX7NTr6JGa-z-6q1_?r{o`*eD+ElUO@C=tXMFmALa!G0v`2BhW}I15)>_r=9ZEGpT## zw34{i|5zw(Uin@Io0sI{3J5EtefK)21jNB$=(u#UHd%*G&KsiK( zmVl5x1bfAmx-0Dlshdxh`%2vvfHJP{8#)iM<_~mVm&z5eG#T7<_Ro?!&>olpc3%2| zAB%@v7y%S_0?twXg~6ks%$*lMmw!NEvLFcLvnvH$gApLDC1-(lO6CTSQi`$CZngtZ z27)Pvq3;)FD(b4a5v6oRT9o+HyaHewkPv`Dpc0w^Rs+lgzty8$Kqx^3NqI6?!y zh!{5mc8G;`4}h})w@g6a9z^)RGT>+Se%n8&5C#DjVcYc}R|aFlKd3)txowXlPi&h@ zRh~Ee1GXvN2fUCIoI)*d!#|X2uDllD6fuuB{X Date: Tue, 4 Jul 2023 21:06:55 -0400 Subject: [PATCH 046/256] Removed TrainerMonItemCustomMoves --- include/data.h | 11 --- src/battle_main.c | 20 ------ src/battle_script_commands.c | 6 -- src/battle_setup.c | 8 --- src/battle_tower.c | 15 ---- src/data/trainer_parties.h | 128 +++++++++++++++++------------------ src/data/trainers.h | 128 +++++++++++++++++------------------ src/match_call.c | 3 - 8 files changed, 128 insertions(+), 191 deletions(-) diff --git a/include/data.h b/include/data.h index 6e41ac703a..c39097ce89 100644 --- a/include/data.h +++ b/include/data.h @@ -75,19 +75,9 @@ struct TrainerMonNoItemCustomMoves u16 moves[MAX_MON_MOVES]; }; -struct TrainerMonItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; - u16 moves[MAX_MON_MOVES]; -}; - #define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0 #define NO_ITEM_CUSTOM_MOVES(party) { .NoItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET #define ITEM_DEFAULT_MOVES(party) { .ItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_HELD_ITEM -#define ITEM_CUSTOM_MOVES(party) { .ItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM #define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED union TrainerMonPtr @@ -95,7 +85,6 @@ union TrainerMonPtr const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; - const struct TrainerMonItemCustomMoves *ItemCustomMoves; const struct TrainerMonCustomized *EverythingCustomized; }; diff --git a/src/battle_main.c b/src/battle_main.c index 6ba91a5bb8..e30dd98d72 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1900,11 +1900,6 @@ static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) buffer = (const u8 *) &trainer->party.ItemDefaultMoves[i]; n = sizeof(*trainer->party.ItemDefaultMoves); } - else if (trainer->partyFlags == (F_TRAINER_PARTY_HELD_ITEM | F_TRAINER_PARTY_CUSTOM_MOVESET)) - { - buffer = (const u8 *) &trainer->party.ItemCustomMoves[i]; - n = sizeof(*trainer->party.ItemCustomMoves); - } else if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED) { buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; @@ -2026,21 +2021,6 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); break; } - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemCustomMoves *partyData = trainer->party.ItemCustomMoves; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - - for (j = 0; j < MAX_MON_MOVES; j++) - { - SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b20ef8cec4..0036457d50 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7357,12 +7357,6 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; } break; - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemCustomMoves *party = gTrainers[trainerId].party.ItemCustomMoves; - lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; diff --git a/src/battle_setup.c b/src/battle_setup.c index 2b8e63e766..9942fbcacc 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -790,14 +790,6 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) sum += party[i].lvl; } break; - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemCustomMoves *party; - party = gTrainers[opponentId].party.ItemCustomMoves; - for (i = 0; i < count; i++) - sum += party[i].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party; diff --git a/src/battle_tower.c b/src/battle_tower.c index 4e16467f04..73dc88afc5 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3085,21 +3085,6 @@ static void FillPartnerParty(u16 trainerId) SetMonData(&gPlayerParty[i + 3], MON_DATA_HELD_ITEM, &partyData[i].heldItem); break; } - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemCustomMoves *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.ItemCustomMoves; - - CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, partyData[i].iv * 31 / 255, TRUE, j, TRUE, otID); - - SetMonData(&gPlayerParty[i + 3], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - - for (j = 0; j < 4; j++) - { - SetMonData(&gPlayerParty[i + 3], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&gPlayerParty[i + 3], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index 1759120b7f..6bee993f99 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -817,7 +817,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Randall[] = { +static const struct TrainerMonCustomized sParty_Randall[] = { { .iv = 255, .lvl = 26, @@ -827,7 +827,7 @@ static const struct TrainerMonItemCustomMoves sParty_Randall[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Parker[] = { +static const struct TrainerMonCustomized sParty_Parker[] = { { .iv = 255, .lvl = 26, @@ -837,7 +837,7 @@ static const struct TrainerMonItemCustomMoves sParty_Parker[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_George[] = { +static const struct TrainerMonCustomized sParty_George[] = { { .iv = 255, .lvl = 26, @@ -847,7 +847,7 @@ static const struct TrainerMonItemCustomMoves sParty_George[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Berke[] = { +static const struct TrainerMonCustomized sParty_Berke[] = { { .iv = 255, .lvl = 26, @@ -1109,7 +1109,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Warren[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Mary[] = { +static const struct TrainerMonCustomized sParty_Mary[] = { { .iv = 255, .lvl = 26, @@ -1119,7 +1119,7 @@ static const struct TrainerMonItemCustomMoves sParty_Mary[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { +static const struct TrainerMonCustomized sParty_Alexia[] = { { .iv = 255, .lvl = 26, @@ -1129,7 +1129,7 @@ static const struct TrainerMonItemCustomMoves sParty_Alexia[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Jody[] = { +static const struct TrainerMonCustomized sParty_Jody[] = { { .iv = 255, .lvl = 26, @@ -1457,7 +1457,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Cindy1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Daphne[] = { +static const struct TrainerMonCustomized sParty_Daphne[] = { { .iv = 100, .lvl = 39, @@ -1492,7 +1492,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Cindy2[] = { +static const struct TrainerMonCustomized sParty_Cindy2[] = { { .iv = 0, .lvl = 11, @@ -1547,7 +1547,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Cindy5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Cindy6[] = { +static const struct TrainerMonCustomized sParty_Cindy6[] = { { .iv = 40, .lvl = 36, @@ -1764,7 +1764,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Winston4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Winston5[] = { +static const struct TrainerMonCustomized sParty_Winston5[] = { { .iv = 0, .lvl = 36, @@ -3212,7 +3212,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { +static const struct TrainerMonCustomized sParty_Sidney[] = { { .iv = 250, .lvl = 46, @@ -3250,7 +3250,7 @@ static const struct TrainerMonItemCustomMoves sParty_Sidney[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { +static const struct TrainerMonCustomized sParty_Phoebe[] = { { .iv = 250, .lvl = 48, @@ -3288,7 +3288,7 @@ static const struct TrainerMonItemCustomMoves sParty_Phoebe[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { +static const struct TrainerMonCustomized sParty_Glacia[] = { { .iv = 250, .lvl = 50, @@ -3326,7 +3326,7 @@ static const struct TrainerMonItemCustomMoves sParty_Glacia[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Drake[] = { +static const struct TrainerMonCustomized sParty_Drake[] = { { .iv = 250, .lvl = 52, @@ -3364,7 +3364,7 @@ static const struct TrainerMonItemCustomMoves sParty_Drake[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { +static const struct TrainerMonCustomized sParty_Roxanne1[] = { { .iv = 100, .lvl = 12, @@ -3388,7 +3388,7 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { +static const struct TrainerMonCustomized sParty_Brawly1[] = { { .iv = 100, .lvl = 16, @@ -3412,7 +3412,7 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { +static const struct TrainerMonCustomized sParty_Wattson1[] = { { .iv = 200, .lvl = 20, @@ -3443,7 +3443,7 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { +static const struct TrainerMonCustomized sParty_Flannery1[] = { { .iv = 200, .lvl = 24, @@ -3474,7 +3474,7 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { +static const struct TrainerMonCustomized sParty_Norman1[] = { { .iv = 200, .lvl = 27, @@ -3505,7 +3505,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { +static const struct TrainerMonCustomized sParty_Winona1[] = { { .iv = 210, .lvl = 29, @@ -3543,7 +3543,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winona1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { +static const struct TrainerMonCustomized sParty_TateAndLiza1[] = { { .iv = 250, .lvl = 41, @@ -3574,7 +3574,7 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Juan1[] = { +static const struct TrainerMonCustomized sParty_Juan1[] = { { .iv = 200, .lvl = 41, @@ -3890,7 +3890,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Miguel1[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Colton[] = { +static const struct TrainerMonCustomized sParty_Colton[] = { { .iv = 0, .lvl = 22, @@ -4411,7 +4411,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Timmy[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Wallace[] = { +static const struct TrainerMonCustomized sParty_Wallace[] = { { .iv = 255, .lvl = 57, @@ -5418,7 +5418,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Takashi[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Dianne[] = { +static const struct TrainerMonCustomized sParty_Dianne[] = { { .iv = 0, .lvl = 43, @@ -5558,7 +5558,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Lao5[] = { +static const struct TrainerMonCustomized sParty_Lao5[] = { { .iv = 40, .lvl = 33, @@ -6539,7 +6539,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Eli[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Annika[] = { +static const struct TrainerMonCustomized sParty_Annika[] = { { .iv = 100, .lvl = 39, @@ -6608,7 +6608,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kelvin[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Marley[] = { +static const struct TrainerMonCustomized sParty_Marley[] = { { .iv = 255, .lvl = 34, @@ -7699,7 +7699,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leonardo[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Athena[] = { +static const struct TrainerMonCustomized sParty_Athena[] = { { .iv = 100, .lvl = 32, @@ -10298,7 +10298,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTorchic[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { +static const struct TrainerMonCustomized sParty_Roxanne2[] = { { .iv = 255, .lvl = 32, @@ -10329,7 +10329,7 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { +static const struct TrainerMonCustomized sParty_Roxanne3[] = { { .iv = 255, .lvl = 37, @@ -10367,7 +10367,7 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { +static const struct TrainerMonCustomized sParty_Roxanne4[] = { { .iv = 255, .lvl = 42, @@ -10405,7 +10405,7 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { +static const struct TrainerMonCustomized sParty_Roxanne5[] = { { .iv = 255, .lvl = 47, @@ -10450,7 +10450,7 @@ static const struct TrainerMonItemCustomMoves sParty_Roxanne5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { +static const struct TrainerMonCustomized sParty_Brawly2[] = { { .iv = 255, .lvl = 33, @@ -10481,7 +10481,7 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { +static const struct TrainerMonCustomized sParty_Brawly3[] = { { .iv = 255, .lvl = 38, @@ -10512,7 +10512,7 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { +static const struct TrainerMonCustomized sParty_Brawly4[] = { { .iv = 255, .lvl = 40, @@ -10550,7 +10550,7 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { +static const struct TrainerMonCustomized sParty_Brawly5[] = { { .iv = 255, .lvl = 46, @@ -10595,7 +10595,7 @@ static const struct TrainerMonItemCustomMoves sParty_Brawly5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { +static const struct TrainerMonCustomized sParty_Wattson2[] = { { .iv = 255, .lvl = 36, @@ -10626,7 +10626,7 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { +static const struct TrainerMonCustomized sParty_Wattson3[] = { { .iv = 255, .lvl = 39, @@ -10664,7 +10664,7 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { +static const struct TrainerMonCustomized sParty_Wattson4[] = { { .iv = 255, .lvl = 44, @@ -10702,7 +10702,7 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { +static const struct TrainerMonCustomized sParty_Wattson5[] = { { .iv = 255, .lvl = 50, @@ -10747,7 +10747,7 @@ static const struct TrainerMonItemCustomMoves sParty_Wattson5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { +static const struct TrainerMonCustomized sParty_Flannery2[] = { { .iv = 255, .lvl = 38, @@ -10778,7 +10778,7 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { +static const struct TrainerMonCustomized sParty_Flannery3[] = { { .iv = 255, .lvl = 41, @@ -10816,7 +10816,7 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { +static const struct TrainerMonCustomized sParty_Flannery4[] = { { .iv = 255, .lvl = 46, @@ -10861,7 +10861,7 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { +static const struct TrainerMonCustomized sParty_Flannery5[] = { { .iv = 255, .lvl = 51, @@ -10906,7 +10906,7 @@ static const struct TrainerMonItemCustomMoves sParty_Flannery5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { +static const struct TrainerMonCustomized sParty_Norman2[] = { { .iv = 255, .lvl = 42, @@ -10937,7 +10937,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { +static const struct TrainerMonCustomized sParty_Norman3[] = { { .iv = 255, .lvl = 47, @@ -10975,7 +10975,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { +static const struct TrainerMonCustomized sParty_Norman4[] = { { .iv = 255, .lvl = 52, @@ -11013,7 +11013,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { +static const struct TrainerMonCustomized sParty_Norman5[] = { { .iv = 255, .lvl = 57, @@ -11058,7 +11058,7 @@ static const struct TrainerMonItemCustomMoves sParty_Norman5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { +static const struct TrainerMonCustomized sParty_Winona2[] = { { .iv = 255, .lvl = 40, @@ -11096,7 +11096,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winona2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { +static const struct TrainerMonCustomized sParty_Winona3[] = { { .iv = 255, .lvl = 43, @@ -11141,7 +11141,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winona3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { +static const struct TrainerMonCustomized sParty_Winona4[] = { { .iv = 255, .lvl = 48, @@ -11186,7 +11186,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winona4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { +static const struct TrainerMonCustomized sParty_Winona5[] = { { .iv = 255, .lvl = 53, @@ -11231,7 +11231,7 @@ static const struct TrainerMonItemCustomMoves sParty_Winona5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { +static const struct TrainerMonCustomized sParty_TateAndLiza2[] = { { .iv = 255, .lvl = 48, @@ -11269,7 +11269,7 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { +static const struct TrainerMonCustomized sParty_TateAndLiza3[] = { { .iv = 255, .lvl = 53, @@ -11314,7 +11314,7 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { +static const struct TrainerMonCustomized sParty_TateAndLiza4[] = { { .iv = 255, .lvl = 58, @@ -11359,7 +11359,7 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { +static const struct TrainerMonCustomized sParty_TateAndLiza5[] = { { .iv = 255, .lvl = 63, @@ -11404,7 +11404,7 @@ static const struct TrainerMonItemCustomMoves sParty_TateAndLiza5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { +static const struct TrainerMonCustomized sParty_Juan2[] = { { .iv = 255, .lvl = 46, @@ -11442,7 +11442,7 @@ static const struct TrainerMonItemCustomMoves sParty_Juan2[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { +static const struct TrainerMonCustomized sParty_Juan3[] = { { .iv = 255, .lvl = 50, @@ -11480,7 +11480,7 @@ static const struct TrainerMonItemCustomMoves sParty_Juan3[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { +static const struct TrainerMonCustomized sParty_Juan4[] = { { .iv = 255, .lvl = 56, @@ -11525,7 +11525,7 @@ static const struct TrainerMonItemCustomMoves sParty_Juan4[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { +static const struct TrainerMonCustomized sParty_Juan5[] = { { .iv = 255, .lvl = 61, @@ -11570,7 +11570,7 @@ static const struct TrainerMonItemCustomMoves sParty_Juan5[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Angelo[] = { +static const struct TrainerMonCustomized sParty_Angelo[] = { { .iv = 100, .lvl = 17, @@ -11595,7 +11595,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darius[] = { } }; -static const struct TrainerMonItemCustomMoves sParty_Steven[] = { +static const struct TrainerMonCustomized sParty_Steven[] = { { .iv = 255, .lvl = 77, diff --git a/src/data/trainers.h b/src/data/trainers.h index 75f7edc8b7..f4558a3659 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -862,7 +862,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Randall), + .party = EVERYTHING_CUSTOMIZED(sParty_Randall), }, [TRAINER_PARKER] = @@ -874,7 +874,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Parker), + .party = EVERYTHING_CUSTOMIZED(sParty_Parker), }, [TRAINER_GEORGE] = @@ -886,7 +886,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_George), + .party = EVERYTHING_CUSTOMIZED(sParty_George), }, [TRAINER_BERKE] = @@ -898,7 +898,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Berke), + .party = EVERYTHING_CUSTOMIZED(sParty_Berke), }, [TRAINER_BRAXTON] = @@ -1078,7 +1078,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Mary), + .party = EVERYTHING_CUSTOMIZED(sParty_Mary), }, [TRAINER_ALEXIA] = @@ -1090,7 +1090,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Alexia), + .party = EVERYTHING_CUSTOMIZED(sParty_Alexia), }, [TRAINER_JODY] = @@ -1102,7 +1102,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = ITEM_CUSTOM_MOVES(sParty_Jody), + .party = EVERYTHING_CUSTOMIZED(sParty_Jody), }, [TRAINER_WENDY] = @@ -1390,7 +1390,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_Daphne), + .party = EVERYTHING_CUSTOMIZED(sParty_Daphne), }, [TRAINER_GRUNT_SPACE_CENTER_2] = @@ -1414,7 +1414,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_Cindy2), + .party = EVERYTHING_CUSTOMIZED(sParty_Cindy2), }, [TRAINER_BRIANNA] = @@ -1486,7 +1486,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_Cindy6), + .party = EVERYTHING_CUSTOMIZED(sParty_Cindy6), }, [TRAINER_MELISSA] = @@ -1714,7 +1714,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_Winston5), + .party = EVERYTHING_CUSTOMIZED(sParty_Winston5), }, [TRAINER_STEVE_1] = @@ -3142,7 +3142,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_SETUP_FIRST_TURN, - .party = ITEM_CUSTOM_MOVES(sParty_Sidney), + .party = EVERYTHING_CUSTOMIZED(sParty_Sidney), }, [TRAINER_PHOEBE] = @@ -3154,7 +3154,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Phoebe), + .party = EVERYTHING_CUSTOMIZED(sParty_Phoebe), }, [TRAINER_GLACIA] = @@ -3166,7 +3166,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Glacia), + .party = EVERYTHING_CUSTOMIZED(sParty_Glacia), }, [TRAINER_DRAKE] = @@ -3178,7 +3178,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Drake), + .party = EVERYTHING_CUSTOMIZED(sParty_Drake), }, [TRAINER_ROXANNE_1] = @@ -3190,7 +3190,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Roxanne1), + .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne1), }, [TRAINER_BRAWLY_1] = @@ -3202,7 +3202,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Brawly1), + .party = EVERYTHING_CUSTOMIZED(sParty_Brawly1), }, [TRAINER_WATTSON_1] = @@ -3214,7 +3214,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Wattson1), + .party = EVERYTHING_CUSTOMIZED(sParty_Wattson1), }, [TRAINER_FLANNERY_1] = @@ -3226,7 +3226,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Flannery1), + .party = EVERYTHING_CUSTOMIZED(sParty_Flannery1), }, [TRAINER_NORMAN_1] = @@ -3238,7 +3238,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Norman1), + .party = EVERYTHING_CUSTOMIZED(sParty_Norman1), }, [TRAINER_WINONA_1] = @@ -3250,7 +3250,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = ITEM_CUSTOM_MOVES(sParty_Winona1), + .party = EVERYTHING_CUSTOMIZED(sParty_Winona1), }, [TRAINER_TATE_AND_LIZA_1] = @@ -3262,7 +3262,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza1), + .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza1), }, [TRAINER_JUAN_1] = @@ -3274,7 +3274,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Juan1), + .party = EVERYTHING_CUSTOMIZED(sParty_Juan1), }, [TRAINER_JERRY_1] = @@ -3538,7 +3538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_Colton), + .party = EVERYTHING_CUSTOMIZED(sParty_Colton), }, [TRAINER_MIGUEL_2] = @@ -4030,7 +4030,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Wallace), + .party = EVERYTHING_CUSTOMIZED(sParty_Wallace), }, [TRAINER_ANDREW] = @@ -5014,7 +5014,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = 0, - .party = ITEM_CUSTOM_MOVES(sParty_Dianne), + .party = EVERYTHING_CUSTOMIZED(sParty_Dianne), }, [TRAINER_JANI] = @@ -5098,7 +5098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = ITEM_CUSTOM_MOVES(sParty_Lao5), + .party = EVERYTHING_CUSTOMIZED(sParty_Lao5), }, [TRAINER_JOCELYN] = @@ -6034,7 +6034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_CUSTOM_MOVES(sParty_Annika), + .party = EVERYTHING_CUSTOMIZED(sParty_Annika), }, [TRAINER_JAZMYN] = @@ -6106,7 +6106,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Marley), + .party = EVERYTHING_CUSTOMIZED(sParty_Marley), }, [TRAINER_REYNA] = @@ -6934,7 +6934,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Athena), + .party = EVERYTHING_CUSTOMIZED(sParty_Athena), }, [TRAINER_HARRISON] = @@ -9250,7 +9250,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Roxanne2), + .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne2), }, [TRAINER_ROXANNE_3] = @@ -9262,7 +9262,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Roxanne3), + .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne3), }, [TRAINER_ROXANNE_4] = @@ -9274,7 +9274,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Roxanne4), + .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne4), }, [TRAINER_ROXANNE_5] = @@ -9286,7 +9286,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Roxanne5), + .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne5), }, [TRAINER_BRAWLY_2] = @@ -9298,7 +9298,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Brawly2), + .party = EVERYTHING_CUSTOMIZED(sParty_Brawly2), }, [TRAINER_BRAWLY_3] = @@ -9310,7 +9310,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Brawly3), + .party = EVERYTHING_CUSTOMIZED(sParty_Brawly3), }, [TRAINER_BRAWLY_4] = @@ -9322,7 +9322,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Brawly4), + .party = EVERYTHING_CUSTOMIZED(sParty_Brawly4), }, [TRAINER_BRAWLY_5] = @@ -9334,7 +9334,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Brawly5), + .party = EVERYTHING_CUSTOMIZED(sParty_Brawly5), }, [TRAINER_WATTSON_2] = @@ -9346,7 +9346,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Wattson2), + .party = EVERYTHING_CUSTOMIZED(sParty_Wattson2), }, [TRAINER_WATTSON_3] = @@ -9358,7 +9358,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Wattson3), + .party = EVERYTHING_CUSTOMIZED(sParty_Wattson3), }, [TRAINER_WATTSON_4] = @@ -9370,7 +9370,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Wattson4), + .party = EVERYTHING_CUSTOMIZED(sParty_Wattson4), }, [TRAINER_WATTSON_5] = @@ -9382,7 +9382,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Wattson5), + .party = EVERYTHING_CUSTOMIZED(sParty_Wattson5), }, [TRAINER_FLANNERY_2] = @@ -9394,7 +9394,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Flannery2), + .party = EVERYTHING_CUSTOMIZED(sParty_Flannery2), }, [TRAINER_FLANNERY_3] = @@ -9406,7 +9406,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Flannery3), + .party = EVERYTHING_CUSTOMIZED(sParty_Flannery3), }, [TRAINER_FLANNERY_4] = @@ -9418,7 +9418,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Flannery4), + .party = EVERYTHING_CUSTOMIZED(sParty_Flannery4), }, [TRAINER_FLANNERY_5] = @@ -9430,7 +9430,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Flannery5), + .party = EVERYTHING_CUSTOMIZED(sParty_Flannery5), }, [TRAINER_NORMAN_2] = @@ -9442,7 +9442,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Norman2), + .party = EVERYTHING_CUSTOMIZED(sParty_Norman2), }, [TRAINER_NORMAN_3] = @@ -9454,7 +9454,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Norman3), + .party = EVERYTHING_CUSTOMIZED(sParty_Norman3), }, [TRAINER_NORMAN_4] = @@ -9466,7 +9466,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Norman4), + .party = EVERYTHING_CUSTOMIZED(sParty_Norman4), }, [TRAINER_NORMAN_5] = @@ -9478,7 +9478,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Norman5), + .party = EVERYTHING_CUSTOMIZED(sParty_Norman5), }, [TRAINER_WINONA_2] = @@ -9490,7 +9490,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = ITEM_CUSTOM_MOVES(sParty_Winona2), + .party = EVERYTHING_CUSTOMIZED(sParty_Winona2), }, [TRAINER_WINONA_3] = @@ -9502,7 +9502,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = ITEM_CUSTOM_MOVES(sParty_Winona3), + .party = EVERYTHING_CUSTOMIZED(sParty_Winona3), }, [TRAINER_WINONA_4] = @@ -9514,7 +9514,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = ITEM_CUSTOM_MOVES(sParty_Winona4), + .party = EVERYTHING_CUSTOMIZED(sParty_Winona4), }, [TRAINER_WINONA_5] = @@ -9526,7 +9526,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = ITEM_CUSTOM_MOVES(sParty_Winona5), + .party = EVERYTHING_CUSTOMIZED(sParty_Winona5), }, [TRAINER_TATE_AND_LIZA_2] = @@ -9538,7 +9538,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza2), + .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza2), }, [TRAINER_TATE_AND_LIZA_3] = @@ -9550,7 +9550,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza3), + .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza3), }, [TRAINER_TATE_AND_LIZA_4] = @@ -9562,7 +9562,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza4), + .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza4), }, [TRAINER_TATE_AND_LIZA_5] = @@ -9574,7 +9574,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_TateAndLiza5), + .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza5), }, [TRAINER_JUAN_2] = @@ -9586,7 +9586,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Juan2), + .party = EVERYTHING_CUSTOMIZED(sParty_Juan2), }, [TRAINER_JUAN_3] = @@ -9598,7 +9598,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Juan3), + .party = EVERYTHING_CUSTOMIZED(sParty_Juan3), }, [TRAINER_JUAN_4] = @@ -9610,7 +9610,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Juan4), + .party = EVERYTHING_CUSTOMIZED(sParty_Juan4), }, [TRAINER_JUAN_5] = @@ -9622,7 +9622,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Juan5), + .party = EVERYTHING_CUSTOMIZED(sParty_Juan5), }, [TRAINER_ANGELO] = @@ -9634,7 +9634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Angelo), + .party = EVERYTHING_CUSTOMIZED(sParty_Angelo), }, [TRAINER_DARIUS] = @@ -9658,7 +9658,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = ITEM_CUSTOM_MOVES(sParty_Steven), + .party = EVERYTHING_CUSTOMIZED(sParty_Steven), }, [TRAINER_ANABEL] = diff --git a/src/match_call.c b/src/match_call.c index c3378040e3..eb9b8f1ed3 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1809,9 +1809,6 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) case F_TRAINER_PARTY_HELD_ITEM: speciesName = gSpeciesNames[party.ItemDefaultMoves[monId].species]; break; - case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - speciesName = gSpeciesNames[party.ItemCustomMoves[monId].species]; - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; break; From 1ef56f6ae192498aa7defb1da25cbb6cfb47a9ad Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 4 Jul 2023 21:16:47 -0400 Subject: [PATCH 047/256] Removed TrainerMonItemDefaultMoves --- include/constants/trainers.h | 1 - include/data.h | 10 ------ src/battle_main.c | 14 -------- src/battle_script_commands.c | 6 ---- src/battle_setup.c | 8 ----- src/battle_tower.c | 9 ------ src/data/trainer_parties.h | 62 ++++++++++++++++++------------------ src/data/trainers.h | 62 ++++++++++++++++++------------------ src/match_call.c | 3 -- 9 files changed, 62 insertions(+), 113 deletions(-) diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 25660ac073..c8bd855e56 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -375,7 +375,6 @@ // party. Some trainer parties also specify held items and custom moves for each // Pokémon. #define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0) -#define F_TRAINER_PARTY_HELD_ITEM (1 << 1) #define F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED (1 << 3) // Trainer party defines diff --git a/include/data.h b/include/data.h index c39097ce89..f772ffcc58 100644 --- a/include/data.h +++ b/include/data.h @@ -59,14 +59,6 @@ struct TrainerMonNoItemDefaultMoves u16 species; }; -struct TrainerMonItemDefaultMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 heldItem; -}; - struct TrainerMonNoItemCustomMoves { u16 iv; @@ -77,14 +69,12 @@ struct TrainerMonNoItemCustomMoves #define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0 #define NO_ITEM_CUSTOM_MOVES(party) { .NoItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET -#define ITEM_DEFAULT_MOVES(party) { .ItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_HELD_ITEM #define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED union TrainerMonPtr { const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; - const struct TrainerMonItemDefaultMoves *ItemDefaultMoves; const struct TrainerMonCustomized *EverythingCustomized; }; diff --git a/src/battle_main.c b/src/battle_main.c index e30dd98d72..c235a75ccc 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1895,11 +1895,6 @@ static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) buffer = (const u8 *) &trainer->party.NoItemCustomMoves[i]; n = sizeof(*trainer->party.NoItemCustomMoves); } - else if (trainer->partyFlags == F_TRAINER_PARTY_HELD_ITEM) - { - buffer = (const u8 *) &trainer->party.ItemDefaultMoves[i]; - n = sizeof(*trainer->party.ItemDefaultMoves); - } else if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED) { buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; @@ -2012,15 +2007,6 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer } break; } - case F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemDefaultMoves *partyData = trainer->party.ItemDefaultMoves; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 0036457d50..26b87f3101 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7351,12 +7351,6 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; } break; - case F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemDefaultMoves *party = gTrainers[trainerId].party.ItemDefaultMoves; - lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; diff --git a/src/battle_setup.c b/src/battle_setup.c index 9942fbcacc..0419fd96eb 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -782,14 +782,6 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) sum += party[i].lvl; } break; - case F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemDefaultMoves *party; - party = gTrainers[opponentId].party.ItemDefaultMoves; - for (i = 0; i < count; i++) - sum += party[i].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party; diff --git a/src/battle_tower.c b/src/battle_tower.c index 73dc88afc5..3542c24cdc 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3076,15 +3076,6 @@ static void FillPartnerParty(u16 trainerId) } break; } - case F_TRAINER_PARTY_HELD_ITEM: - { - const struct TrainerMonItemDefaultMoves *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.ItemDefaultMoves; - - CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, partyData[i].iv * 31 / 255, TRUE, j, TRUE, otID); - - SetMonData(&gPlayerParty[i + 3], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index 6bee993f99..b3a1fdaea0 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1448,7 +1448,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Valerie5[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Cindy1[] = { +static const struct TrainerMonCustomized sParty_Cindy1[] = { { .iv = 0, .lvl = 7, @@ -1502,7 +1502,7 @@ static const struct TrainerMonCustomized sParty_Cindy2[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Brianna[] = { +static const struct TrainerMonCustomized sParty_Brianna[] = { { .iv = 150, .lvl = 40, @@ -1511,7 +1511,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Brianna[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Naomi[] = { +static const struct TrainerMonCustomized sParty_Naomi[] = { { .iv = 100, .lvl = 45, @@ -1520,7 +1520,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Naomi[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Cindy3[] = { +static const struct TrainerMonCustomized sParty_Cindy3[] = { { .iv = 10, .lvl = 27, @@ -1529,7 +1529,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Cindy3[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Cindy4[] = { +static const struct TrainerMonCustomized sParty_Cindy4[] = { { .iv = 20, .lvl = 30, @@ -1538,7 +1538,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Cindy4[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Cindy5[] = { +static const struct TrainerMonCustomized sParty_Cindy5[] = { { .iv = 30, .lvl = 33, @@ -1706,7 +1706,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Winston1[] = { +static const struct TrainerMonCustomized sParty_Winston1[] = { { .iv = 0, .lvl = 7, @@ -1728,7 +1728,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Mollie[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Garret[] = { +static const struct TrainerMonCustomized sParty_Garret[] = { { .iv = 0, .lvl = 45, @@ -1737,7 +1737,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Garret[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Winston2[] = { +static const struct TrainerMonCustomized sParty_Winston2[] = { { .iv = 0, .lvl = 27, @@ -1746,7 +1746,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Winston2[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Winston3[] = { +static const struct TrainerMonCustomized sParty_Winston3[] = { { .iv = 0, .lvl = 30, @@ -1755,7 +1755,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Winston3[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Winston4[] = { +static const struct TrainerMonCustomized sParty_Winston4[] = { { .iv = 0, .lvl = 33, @@ -2241,7 +2241,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nob4[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Nob5[] = { +static const struct TrainerMonCustomized sParty_Nob5[] = { { .iv = 140, .lvl = 33, @@ -2838,7 +2838,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey4[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Jeffrey5[] = { +static const struct TrainerMonCustomized sParty_Jeffrey5[] = { { .iv = 40, .lvl = 38, @@ -3866,7 +3866,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Victor[] = { +static const struct TrainerMonCustomized sParty_Victor[] = { { .iv = 25, .lvl = 16, @@ -3881,7 +3881,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Victor[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Miguel1[] = { +static const struct TrainerMonCustomized sParty_Miguel1[] = { { .iv = 0, .lvl = 15, @@ -3935,7 +3935,7 @@ static const struct TrainerMonCustomized sParty_Colton[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Miguel2[] = { +static const struct TrainerMonCustomized sParty_Miguel2[] = { { .iv = 0, .lvl = 29, @@ -3944,7 +3944,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Miguel2[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Miguel3[] = { +static const struct TrainerMonCustomized sParty_Miguel3[] = { { .iv = 0, .lvl = 32, @@ -3953,7 +3953,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Miguel3[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Miguel4[] = { +static const struct TrainerMonCustomized sParty_Miguel4[] = { { .iv = 0, .lvl = 35, @@ -3962,7 +3962,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Miguel4[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Miguel5[] = { +static const struct TrainerMonCustomized sParty_Miguel5[] = { { .iv = 0, .lvl = 38, @@ -3971,7 +3971,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Miguel5[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Victoria[] = { +static const struct TrainerMonCustomized sParty_Victoria[] = { { .iv = 50, .lvl = 17, @@ -3980,7 +3980,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Victoria[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Vanessa[] = { +static const struct TrainerMonCustomized sParty_Vanessa[] = { { .iv = 0, .lvl = 30, @@ -3989,7 +3989,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Vanessa[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Bethany[] = { +static const struct TrainerMonCustomized sParty_Bethany[] = { { .iv = 100, .lvl = 35, @@ -4010,7 +4010,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Bethany[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Isabel1[] = { +static const struct TrainerMonCustomized sParty_Isabel1[] = { { .iv = 0, .lvl = 14, @@ -4025,7 +4025,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Isabel1[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Isabel2[] = { +static const struct TrainerMonCustomized sParty_Isabel2[] = { { .iv = 10, .lvl = 26, @@ -4040,7 +4040,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Isabel2[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Isabel3[] = { +static const struct TrainerMonCustomized sParty_Isabel3[] = { { .iv = 20, .lvl = 29, @@ -4055,7 +4055,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Isabel3[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Isabel4[] = { +static const struct TrainerMonCustomized sParty_Isabel4[] = { { .iv = 30, .lvl = 32, @@ -4070,7 +4070,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Isabel4[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Isabel5[] = { +static const struct TrainerMonCustomized sParty_Isabel5[] = { { .iv = 40, .lvl = 35, @@ -5161,7 +5161,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas4[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Nicolas5[] = { +static const struct TrainerMonCustomized sParty_Nicolas5[] = { { .iv = 140, .lvl = 49, @@ -9403,7 +9403,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Chris[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Dawson[] = { +static const struct TrainerMonCustomized sParty_Dawson[] = { { .iv = 0, .lvl = 8, @@ -9418,7 +9418,7 @@ static const struct TrainerMonItemDefaultMoves sParty_Dawson[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Sarah[] = { +static const struct TrainerMonCustomized sParty_Sarah[] = { { .iv = 0, .lvl = 8, @@ -9462,7 +9462,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Chandler[] = { } }; -static const struct TrainerMonItemDefaultMoves sParty_Kaleb[] = { +static const struct TrainerMonCustomized sParty_Kaleb[] = { { .iv = 0, .lvl = 14, diff --git a/src/data/trainers.h b/src/data/trainers.h index f4558a3659..ae78135b75 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -1378,7 +1378,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Cindy1), + .party = EVERYTHING_CUSTOMIZED(sParty_Cindy1), }, [TRAINER_DAPHNE] = @@ -1426,7 +1426,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Brianna), + .party = EVERYTHING_CUSTOMIZED(sParty_Brianna), }, [TRAINER_NAOMI] = @@ -1438,7 +1438,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Naomi), + .party = EVERYTHING_CUSTOMIZED(sParty_Naomi), }, [TRAINER_CINDY_3] = @@ -1450,7 +1450,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Cindy3), + .party = EVERYTHING_CUSTOMIZED(sParty_Cindy3), }, [TRAINER_CINDY_4] = @@ -1462,7 +1462,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Cindy4), + .party = EVERYTHING_CUSTOMIZED(sParty_Cindy4), }, [TRAINER_CINDY_5] = @@ -1474,7 +1474,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Cindy5), + .party = EVERYTHING_CUSTOMIZED(sParty_Cindy5), }, [TRAINER_CINDY_6] = @@ -1642,7 +1642,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Winston1), + .party = EVERYTHING_CUSTOMIZED(sParty_Winston1), }, [TRAINER_MOLLIE] = @@ -1666,7 +1666,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Garret), + .party = EVERYTHING_CUSTOMIZED(sParty_Garret), }, [TRAINER_WINSTON_2] = @@ -1678,7 +1678,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Winston2), + .party = EVERYTHING_CUSTOMIZED(sParty_Winston2), }, [TRAINER_WINSTON_3] = @@ -1690,7 +1690,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Winston3), + .party = EVERYTHING_CUSTOMIZED(sParty_Winston3), }, [TRAINER_WINSTON_4] = @@ -1702,7 +1702,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Winston4), + .party = EVERYTHING_CUSTOMIZED(sParty_Winston4), }, [TRAINER_WINSTON_5] = @@ -2254,7 +2254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Nob5), + .party = EVERYTHING_CUSTOMIZED(sParty_Nob5), }, [TRAINER_YUJI] = @@ -2782,7 +2782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Jeffrey5), + .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey5), }, [TRAINER_EDWARD] = @@ -3514,7 +3514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Victor), + .party = EVERYTHING_CUSTOMIZED(sParty_Victor), }, [TRAINER_MIGUEL_1] = @@ -3526,7 +3526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Miguel1), + .party = EVERYTHING_CUSTOMIZED(sParty_Miguel1), }, [TRAINER_COLTON] = @@ -3550,7 +3550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Miguel2), + .party = EVERYTHING_CUSTOMIZED(sParty_Miguel2), }, [TRAINER_MIGUEL_3] = @@ -3562,7 +3562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Miguel3), + .party = EVERYTHING_CUSTOMIZED(sParty_Miguel3), }, [TRAINER_MIGUEL_4] = @@ -3574,7 +3574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Miguel4), + .party = EVERYTHING_CUSTOMIZED(sParty_Miguel4), }, [TRAINER_MIGUEL_5] = @@ -3586,7 +3586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Miguel5), + .party = EVERYTHING_CUSTOMIZED(sParty_Miguel5), }, [TRAINER_VICTORIA] = @@ -3598,7 +3598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = ITEM_DEFAULT_MOVES(sParty_Victoria), + .party = EVERYTHING_CUSTOMIZED(sParty_Victoria), }, [TRAINER_VANESSA] = @@ -3610,7 +3610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Vanessa), + .party = EVERYTHING_CUSTOMIZED(sParty_Vanessa), }, [TRAINER_BETHANY] = @@ -3622,7 +3622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Bethany), + .party = EVERYTHING_CUSTOMIZED(sParty_Bethany), }, [TRAINER_ISABEL_1] = @@ -3634,7 +3634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Isabel1), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabel1), }, [TRAINER_ISABEL_2] = @@ -3646,7 +3646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Isabel2), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabel2), }, [TRAINER_ISABEL_3] = @@ -3658,7 +3658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Isabel3), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabel3), }, [TRAINER_ISABEL_4] = @@ -3670,7 +3670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Isabel4), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabel4), }, [TRAINER_ISABEL_5] = @@ -3682,7 +3682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Isabel5), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabel5), }, [TRAINER_TIMOTHY_1] = @@ -4762,7 +4762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Nicolas5), + .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas5), }, [TRAINER_AARON] = @@ -8338,7 +8338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Dawson), + .party = EVERYTHING_CUSTOMIZED(sParty_Dawson), }, [TRAINER_SARAH] = @@ -8350,7 +8350,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Sarah), + .party = EVERYTHING_CUSTOMIZED(sParty_Sarah), }, [TRAINER_DARIAN] = @@ -8398,7 +8398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = ITEM_DEFAULT_MOVES(sParty_Kaleb), + .party = EVERYTHING_CUSTOMIZED(sParty_Kaleb), }, [TRAINER_JOSEPH] = diff --git a/src/match_call.c b/src/match_call.c index eb9b8f1ed3..1cc7577368 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1806,9 +1806,6 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) case F_TRAINER_PARTY_CUSTOM_MOVESET: speciesName = gSpeciesNames[party.NoItemCustomMoves[monId].species]; break; - case F_TRAINER_PARTY_HELD_ITEM: - speciesName = gSpeciesNames[party.ItemDefaultMoves[monId].species]; - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; break; From 9c961b4fd52e55fcfc779b42d4dd97c92ef4316f Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 4 Jul 2023 21:22:27 -0400 Subject: [PATCH 048/256] Removed TrainerMonNoItemCustomMoves --- include/constants/trainers.h | 1 - include/data.h | 10 -- src/battle_main.c | 18 ---- src/battle_script_commands.c | 6 -- src/battle_setup.c | 8 -- src/battle_tower.c | 13 --- src/data/trainer_parties.h | 174 +++++++++++++++++------------------ src/data/trainers.h | 174 +++++++++++++++++------------------ src/match_call.c | 3 - 9 files changed, 174 insertions(+), 233 deletions(-) diff --git a/include/constants/trainers.h b/include/constants/trainers.h index c8bd855e56..0fda71cee5 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -374,7 +374,6 @@ // All trainer parties specify the IV, level, and species for each Pokémon in the // party. Some trainer parties also specify held items and custom moves for each // Pokémon. -#define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0) #define F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED (1 << 3) // Trainer party defines diff --git a/include/data.h b/include/data.h index f772ffcc58..0b88973a59 100644 --- a/include/data.h +++ b/include/data.h @@ -59,22 +59,12 @@ struct TrainerMonNoItemDefaultMoves u16 species; }; -struct TrainerMonNoItemCustomMoves -{ - u16 iv; - u8 lvl; - u16 species; - u16 moves[MAX_MON_MOVES]; -}; - #define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0 -#define NO_ITEM_CUSTOM_MOVES(party) { .NoItemCustomMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_CUSTOM_MOVESET #define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED union TrainerMonPtr { const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; - const struct TrainerMonNoItemCustomMoves *NoItemCustomMoves; const struct TrainerMonCustomized *EverythingCustomized; }; diff --git a/src/battle_main.c b/src/battle_main.c index c235a75ccc..4c660b4a23 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1890,11 +1890,6 @@ static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) buffer = (const u8 *) &trainer->party.NoItemDefaultMoves[i]; n = sizeof(*trainer->party.NoItemDefaultMoves); } - else if (trainer->partyFlags == F_TRAINER_PARTY_CUSTOM_MOVESET) - { - buffer = (const u8 *) &trainer->party.NoItemCustomMoves[i]; - n = sizeof(*trainer->party.NoItemCustomMoves); - } else if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED) { buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; @@ -1994,19 +1989,6 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); break; } - case F_TRAINER_PARTY_CUSTOM_MOVESET: - { - const struct TrainerMonNoItemCustomMoves *partyData = trainer->party.NoItemCustomMoves; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - - for (j = 0; j < MAX_MON_MOVES; j++) - { - SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 26b87f3101..d922b5352b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7345,12 +7345,6 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; } break; - case F_TRAINER_PARTY_CUSTOM_MOVESET: - { - const struct TrainerMonNoItemCustomMoves *party = gTrainers[trainerId].party.NoItemCustomMoves; - lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; diff --git a/src/battle_setup.c b/src/battle_setup.c index 0419fd96eb..3ea68426ed 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -774,14 +774,6 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) sum += party[i].lvl; } break; - case F_TRAINER_PARTY_CUSTOM_MOVESET: - { - const struct TrainerMonNoItemCustomMoves *party; - party = gTrainers[opponentId].party.NoItemCustomMoves; - for (i = 0; i < count; i++) - sum += party[i].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party; diff --git a/src/battle_tower.c b/src/battle_tower.c index 3542c24cdc..daace40c6a 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3063,19 +3063,6 @@ static void FillPartnerParty(u16 trainerId) CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, partyData[i].iv * 31 / 255, TRUE, j, TRUE, otID); break; } - case F_TRAINER_PARTY_CUSTOM_MOVESET: - { - const struct TrainerMonNoItemCustomMoves *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.NoItemCustomMoves; - - CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, partyData[i].iv * 31 / 255, TRUE, j, TRUE, otID); - - for (j = 0; j < 4; j++) - { - SetMonData(&gPlayerParty[i + 3], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&gPlayerParty[i + 3], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index b3a1fdaea0..f7b4c696c6 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -414,7 +414,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rose1[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Felix[] = { +static const struct TrainerMonCustomized sParty_Felix[] = { { .iv = 0, .lvl = 43, @@ -509,7 +509,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rose5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { +static const struct TrainerMonCustomized sParty_Dusty1[] = { { .iv = 50, .lvl = 23, @@ -518,7 +518,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty1[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { +static const struct TrainerMonCustomized sParty_Chip[] = { { .iv = 50, .lvl = 27, @@ -539,7 +539,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Chip[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { +static const struct TrainerMonCustomized sParty_Foster[] = { { .iv = 100, .lvl = 25, @@ -554,7 +554,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Foster[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { +static const struct TrainerMonCustomized sParty_Dusty2[] = { { .iv = 60, .lvl = 27, @@ -563,7 +563,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { +static const struct TrainerMonCustomized sParty_Dusty3[] = { { .iv = 70, .lvl = 30, @@ -572,7 +572,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { +static const struct TrainerMonCustomized sParty_Dusty4[] = { { .iv = 80, .lvl = 33, @@ -581,7 +581,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Dusty4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Dusty5[] = { +static const struct TrainerMonCustomized sParty_Dusty5[] = { { .iv = 90, .lvl = 36, @@ -655,7 +655,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_GabbyAndTy6[] = { +static const struct TrainerMonCustomized sParty_GabbyAndTy6[] = { { .iv = 250, .lvl = 39, @@ -751,7 +751,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lola5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Ricky1[] = { +static const struct TrainerMonCustomized sParty_Ricky1[] = { { .iv = 10, .lvl = 13, @@ -781,7 +781,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Charlie[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { +static const struct TrainerMonCustomized sParty_Ricky2[] = { { .iv = 10, .lvl = 27, @@ -790,7 +790,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { +static const struct TrainerMonCustomized sParty_Ricky3[] = { { .iv = 20, .lvl = 30, @@ -799,7 +799,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { +static const struct TrainerMonCustomized sParty_Ricky4[] = { { .iv = 30, .lvl = 33, @@ -808,7 +808,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ricky4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Ricky5[] = { +static const struct TrainerMonCustomized sParty_Ricky5[] = { { .iv = 40, .lvl = 36, @@ -857,7 +857,7 @@ static const struct TrainerMonCustomized sParty_Berke[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Braxton[] = { +static const struct TrainerMonCustomized sParty_Braxton[] = { { .iv = 100, .lvl = 28, @@ -1139,7 +1139,7 @@ static const struct TrainerMonCustomized sParty_Jody[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Wendy[] = { +static const struct TrainerMonCustomized sParty_Wendy[] = { { .iv = 100, .lvl = 29, @@ -1581,7 +1581,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shirley[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jessica1[] = { +static const struct TrainerMonCustomized sParty_Jessica1[] = { { .iv = 0, .lvl = 29, @@ -1612,7 +1612,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bridget[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Olivia[] = { +static const struct TrainerMonCustomized sParty_Olivia[] = { { .iv = 100, .lvl = 35, @@ -1646,7 +1646,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tiffany[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { +static const struct TrainerMonCustomized sParty_Jessica2[] = { { .iv = 10, .lvl = 35, @@ -1661,7 +1661,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { +static const struct TrainerMonCustomized sParty_Jessica3[] = { { .iv = 20, .lvl = 38, @@ -1676,7 +1676,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { +static const struct TrainerMonCustomized sParty_Jessica4[] = { { .iv = 30, .lvl = 41, @@ -1691,7 +1691,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jessica4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jessica5[] = { +static const struct TrainerMonCustomized sParty_Jessica5[] = { { .iv = 40, .lvl = 44, @@ -2297,7 +2297,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Atsushi[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Kirk[] = { +static const struct TrainerMonCustomized sParty_Kirk[] = { { .iv = 100, .lvl = 17, @@ -2554,7 +2554,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bernie5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { +static const struct TrainerMonCustomized sParty_Drew[] = { { .iv = 0, .lvl = 23, @@ -2563,7 +2563,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Drew[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Beau[] = { +static const struct TrainerMonCustomized sParty_Beau[] = { { .iv = 0, .lvl = 21, @@ -2871,7 +2871,7 @@ static const struct TrainerMonCustomized sParty_Jeffrey5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Edward[] = { +static const struct TrainerMonCustomized sParty_Edward[] = { { .iv = 0, .lvl = 15, @@ -2995,7 +2995,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cameron5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jaclyn[] = { +static const struct TrainerMonCustomized sParty_Jaclyn[] = { { .iv = 0, .lvl = 16, @@ -3161,7 +3161,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Walter2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { +static const struct TrainerMonCustomized sParty_Walter3[] = { { .iv = 20, .lvl = 36, @@ -3176,7 +3176,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { +static const struct TrainerMonCustomized sParty_Walter4[] = { { .iv = 30, .lvl = 39, @@ -3191,7 +3191,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Walter4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Walter5[] = { +static const struct TrainerMonCustomized sParty_Walter5[] = { { .iv = 40, .lvl = 41, @@ -3776,7 +3776,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Karen5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { +static const struct TrainerMonCustomized sParty_KateAndJoy[] = { { .iv = 0, .lvl = 30, @@ -3791,7 +3791,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_KateAndJoy[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { +static const struct TrainerMonCustomized sParty_AnnaAndMeg1[] = { { .iv = 0, .lvl = 15, @@ -3806,7 +3806,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg1[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { +static const struct TrainerMonCustomized sParty_AnnaAndMeg2[] = { { .iv = 10, .lvl = 28, @@ -3821,7 +3821,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { +static const struct TrainerMonCustomized sParty_AnnaAndMeg3[] = { { .iv = 20, .lvl = 31, @@ -3836,7 +3836,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { +static const struct TrainerMonCustomized sParty_AnnaAndMeg4[] = { { .iv = 30, .lvl = 34, @@ -3851,7 +3851,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AnnaAndMeg5[] = { +static const struct TrainerMonCustomized sParty_AnnaAndMeg5[] = { { .iv = 40, .lvl = 36, @@ -4093,7 +4093,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Timothy1[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { +static const struct TrainerMonCustomized sParty_Timothy2[] = { { .iv = 210, .lvl = 33, @@ -4102,7 +4102,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { +static const struct TrainerMonCustomized sParty_Timothy3[] = { { .iv = 220, .lvl = 36, @@ -4111,7 +4111,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { +static const struct TrainerMonCustomized sParty_Timothy4[] = { { .iv = 230, .lvl = 39, @@ -4120,7 +4120,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { +static const struct TrainerMonCustomized sParty_Timothy5[] = { { .iv = 240, .lvl = 42, @@ -4129,7 +4129,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Timothy5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Vicky[] = { +static const struct TrainerMonCustomized sParty_Vicky[] = { { .iv = 200, .lvl = 18, @@ -4224,7 +4224,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Billy[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Josh[] = { +static const struct TrainerMonCustomized sParty_Josh[] = { { .iv = 100, .lvl = 10, @@ -4254,7 +4254,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { +static const struct TrainerMonCustomized sParty_Ben[] = { { .iv = 150, .lvl = 17, @@ -4269,7 +4269,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Ben[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { +static const struct TrainerMonCustomized sParty_Quincy[] = { { .iv = 100, .lvl = 43, @@ -4284,7 +4284,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Quincy[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Katelynn[] = { +static const struct TrainerMonCustomized sParty_Katelynn[] = { { .iv = 100, .lvl = 43, @@ -5182,7 +5182,7 @@ static const struct TrainerMonCustomized sParty_Nicolas5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Aaron[] = { +static const struct TrainerMonCustomized sParty_Aaron[] = { { .iv = 255, .lvl = 34, @@ -5443,7 +5443,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jani[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Lao1[] = { +static const struct TrainerMonCustomized sParty_Lao1[] = { { .iv = 0, .lvl = 17, @@ -5477,7 +5477,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lung[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { +static const struct TrainerMonCustomized sParty_Lao2[] = { { .iv = 0, .lvl = 24, @@ -5504,7 +5504,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { +static const struct TrainerMonCustomized sParty_Lao3[] = { { .iv = 20, .lvl = 27, @@ -5531,7 +5531,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lao3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Lao4[] = { +static const struct TrainerMonCustomized sParty_Lao4[] = { { .iv = 30, .lvl = 30, @@ -5686,7 +5686,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Madeline1[] = { +static const struct TrainerMonCustomized sParty_Madeline1[] = { { .iv = 0, .lvl = 19, @@ -5708,7 +5708,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Clarissa[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { +static const struct TrainerMonCustomized sParty_Angelica[] = { { .iv = 50, .lvl = 30, @@ -5717,7 +5717,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Angelica[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { +static const struct TrainerMonCustomized sParty_Madeline2[] = { { .iv = 10, .lvl = 29, @@ -5726,7 +5726,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { +static const struct TrainerMonCustomized sParty_Madeline3[] = { { .iv = 20, .lvl = 32, @@ -5735,7 +5735,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { +static const struct TrainerMonCustomized sParty_Madeline4[] = { { .iv = 30, .lvl = 34, @@ -5750,7 +5750,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Madeline4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Madeline5[] = { +static const struct TrainerMonCustomized sParty_Madeline5[] = { { .iv = 40, .lvl = 37, @@ -6059,7 +6059,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jenny5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { +static const struct TrainerMonCustomized sParty_Heidi[] = { { .iv = 0, .lvl = 22, @@ -6074,7 +6074,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Heidi[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Becky[] = { +static const struct TrainerMonCustomized sParty_Becky[] = { { .iv = 0, .lvl = 22, @@ -6146,7 +6146,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Diana1[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Cedric[] = { +static const struct TrainerMonCustomized sParty_Cedric[] = { { .iv = 0, .lvl = 32, @@ -6305,7 +6305,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_GinaAndMia2[] = { +static const struct TrainerMonCustomized sParty_GinaAndMia2[] = { { .iv = 0, .lvl = 10, @@ -6333,7 +6333,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { +static const struct TrainerMonCustomized sParty_AmyAndLiv5[] = { { .iv = 30, .lvl = 33, @@ -6348,7 +6348,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_AmyAndLiv6[] = { +static const struct TrainerMonCustomized sParty_AmyAndLiv6[] = { { .iv = 40, .lvl = 36, @@ -6564,7 +6564,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jazmyn[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { +static const struct TrainerMonCustomized sParty_Jonas[] = { { .iv = 0, .lvl = 31, @@ -6573,7 +6573,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Jonas[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Kayley[] = { +static const struct TrainerMonCustomized sParty_Kayley[] = { { .iv = 0, .lvl = 31, @@ -6748,7 +6748,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_WallyVR1[] = { +static const struct TrainerMonCustomized sParty_WallyVR1[] = { { .iv = 150, .lvl = 44, @@ -7086,7 +7086,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Davis[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Mitchell[] = { +static const struct TrainerMonCustomized sParty_Mitchell[] = { { .iv = 0, .lvl = 43, @@ -8401,7 +8401,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Eric[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { +static const struct TrainerMonCustomized sParty_Lucas2[] = { { .iv = 0, .lvl = 9, @@ -8410,7 +8410,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Lucas2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Mike1[] = { +static const struct TrainerMonCustomized sParty_Mike1[] = { { .iv = 0, .lvl = 10, @@ -8634,7 +8634,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Johanna[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { +static const struct TrainerMonCustomized sParty_Gerald[] = { { .iv = 100, .lvl = 23, @@ -8643,7 +8643,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Gerald[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { +static const struct TrainerMonCustomized sParty_Vivian[] = { { .iv = 100, .lvl = 17, @@ -8658,7 +8658,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Vivian[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { +static const struct TrainerMonCustomized sParty_Danielle[] = { { .iv = 100, .lvl = 23, @@ -8667,7 +8667,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Danielle[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { +static const struct TrainerMonCustomized sParty_Hideo[] = { { .iv = 0, .lvl = 25, @@ -8682,7 +8682,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Hideo[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { +static const struct TrainerMonCustomized sParty_Keigo[] = { { .iv = 0, .lvl = 28, @@ -8697,7 +8697,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_Keigo[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Riley[] = { +static const struct TrainerMonCustomized sParty_Riley[] = { { .iv = 0, .lvl = 28, @@ -8751,7 +8751,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_WallyMauville[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_WallyVR2[] = { +static const struct TrainerMonCustomized sParty_WallyVR2[] = { { .iv = 150, .lvl = 47, @@ -8784,7 +8784,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_WallyVR3[] = { +static const struct TrainerMonCustomized sParty_WallyVR3[] = { { .iv = 150, .lvl = 50, @@ -8817,7 +8817,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_WallyVR4[] = { +static const struct TrainerMonCustomized sParty_WallyVR4[] = { { .iv = 150, .lvl = 53, @@ -8850,7 +8850,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_WallyVR4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_WallyVR5[] = { +static const struct TrainerMonCustomized sParty_WallyVR5[] = { { .iv = 150, .lvl = 56, @@ -9169,7 +9169,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_ToriAndTia[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { +static const struct TrainerMonCustomized sParty_KimAndIris[] = { { .iv = 0, .lvl = 32, @@ -9184,7 +9184,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_KimAndIris[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { +static const struct TrainerMonCustomized sParty_TyraAndIvy[] = { { .iv = 0, .lvl = 18, @@ -9199,7 +9199,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_TyraAndIvy[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { +static const struct TrainerMonCustomized sParty_MelAndPaul[] = { { .iv = 0, .lvl = 27, @@ -9214,7 +9214,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_MelAndPaul[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { +static const struct TrainerMonCustomized sParty_JohnAndJay1[] = { { .iv = 200, .lvl = 39, @@ -9229,7 +9229,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay1[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { +static const struct TrainerMonCustomized sParty_JohnAndJay2[] = { { .iv = 210, .lvl = 43, @@ -9244,7 +9244,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay2[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { +static const struct TrainerMonCustomized sParty_JohnAndJay3[] = { { .iv = 220, .lvl = 46, @@ -9259,7 +9259,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay3[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { +static const struct TrainerMonCustomized sParty_JohnAndJay4[] = { { .iv = 230, .lvl = 49, @@ -9274,7 +9274,7 @@ static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay4[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_JohnAndJay5[] = { +static const struct TrainerMonCustomized sParty_JohnAndJay5[] = { { .iv = 240, .lvl = 52, @@ -10158,7 +10158,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rachel[] = { } }; -static const struct TrainerMonNoItemCustomMoves sParty_Leonel[] = { +static const struct TrainerMonCustomized sParty_Leonel[] = { { .iv = 100, .lvl = 30, diff --git a/src/data/trainers.h b/src/data/trainers.h index ae78135b75..88ffbc0bc3 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -466,7 +466,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Felix), + .party = EVERYTHING_CUSTOMIZED(sParty_Felix), }, [TRAINER_VIOLET] = @@ -538,7 +538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty1), + .party = EVERYTHING_CUSTOMIZED(sParty_Dusty1), }, [TRAINER_CHIP] = @@ -550,7 +550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Chip), + .party = EVERYTHING_CUSTOMIZED(sParty_Chip), }, [TRAINER_FOSTER] = @@ -562,7 +562,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Foster), + .party = EVERYTHING_CUSTOMIZED(sParty_Foster), }, [TRAINER_DUSTY_2] = @@ -574,7 +574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty2), + .party = EVERYTHING_CUSTOMIZED(sParty_Dusty2), }, [TRAINER_DUSTY_3] = @@ -586,7 +586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty3), + .party = EVERYTHING_CUSTOMIZED(sParty_Dusty3), }, [TRAINER_DUSTY_4] = @@ -598,7 +598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty4), + .party = EVERYTHING_CUSTOMIZED(sParty_Dusty4), }, [TRAINER_DUSTY_5] = @@ -610,7 +610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Dusty5), + .party = EVERYTHING_CUSTOMIZED(sParty_Dusty5), }, [TRAINER_GABBY_AND_TY_1] = @@ -682,7 +682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_GabbyAndTy6), + .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy6), }, [TRAINER_LOLA_1] = @@ -778,7 +778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky1), + .party = EVERYTHING_CUSTOMIZED(sParty_Ricky1), }, [TRAINER_SIMON] = @@ -814,7 +814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky2), + .party = EVERYTHING_CUSTOMIZED(sParty_Ricky2), }, [TRAINER_RICKY_3] = @@ -826,7 +826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky3), + .party = EVERYTHING_CUSTOMIZED(sParty_Ricky3), }, [TRAINER_RICKY_4] = @@ -838,7 +838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky4), + .party = EVERYTHING_CUSTOMIZED(sParty_Ricky4), }, [TRAINER_RICKY_5] = @@ -850,7 +850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Ricky5), + .party = EVERYTHING_CUSTOMIZED(sParty_Ricky5), }, [TRAINER_RANDALL] = @@ -910,7 +910,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Braxton), + .party = EVERYTHING_CUSTOMIZED(sParty_Braxton), }, [TRAINER_VINCENT] = @@ -1114,7 +1114,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Wendy), + .party = EVERYTHING_CUSTOMIZED(sParty_Wendy), }, [TRAINER_KEIRA] = @@ -1534,7 +1534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica1), + .party = EVERYTHING_CUSTOMIZED(sParty_Jessica1), }, [TRAINER_CONNIE] = @@ -1570,7 +1570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Olivia), + .party = EVERYTHING_CUSTOMIZED(sParty_Olivia), }, [TRAINER_TIFFANY] = @@ -1594,7 +1594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica2), + .party = EVERYTHING_CUSTOMIZED(sParty_Jessica2), }, [TRAINER_JESSICA_3] = @@ -1606,7 +1606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica3), + .party = EVERYTHING_CUSTOMIZED(sParty_Jessica3), }, [TRAINER_JESSICA_4] = @@ -1618,7 +1618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica4), + .party = EVERYTHING_CUSTOMIZED(sParty_Jessica4), }, [TRAINER_JESSICA_5] = @@ -1630,7 +1630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jessica5), + .party = EVERYTHING_CUSTOMIZED(sParty_Jessica5), }, [TRAINER_WINSTON_1] = @@ -2302,7 +2302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Kirk), + .party = EVERYTHING_CUSTOMIZED(sParty_Kirk), }, [TRAINER_GRUNT_AQUA_HIDEOUT_7] = @@ -2542,7 +2542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Drew), + .party = EVERYTHING_CUSTOMIZED(sParty_Drew), }, [TRAINER_BEAU] = @@ -2554,7 +2554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Beau), + .party = EVERYTHING_CUSTOMIZED(sParty_Beau), }, [TRAINER_LARRY] = @@ -2794,7 +2794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Edward), + .party = EVERYTHING_CUSTOMIZED(sParty_Edward), }, [TRAINER_PRESTON] = @@ -2926,7 +2926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jaclyn), + .party = EVERYTHING_CUSTOMIZED(sParty_Jaclyn), }, [TRAINER_HANNAH] = @@ -3106,7 +3106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Walter3), + .party = EVERYTHING_CUSTOMIZED(sParty_Walter3), }, [TRAINER_WALTER_4] = @@ -3118,7 +3118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Walter4), + .party = EVERYTHING_CUSTOMIZED(sParty_Walter4), }, [TRAINER_WALTER_5] = @@ -3130,7 +3130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Walter5), + .party = EVERYTHING_CUSTOMIZED(sParty_Walter5), }, [TRAINER_SIDNEY] = @@ -3442,7 +3442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_KateAndJoy), + .party = EVERYTHING_CUSTOMIZED(sParty_KateAndJoy), }, [TRAINER_ANNA_AND_MEG_1] = @@ -3454,7 +3454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg1), + .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg1), }, [TRAINER_ANNA_AND_MEG_2] = @@ -3466,7 +3466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg2), + .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg2), }, [TRAINER_ANNA_AND_MEG_3] = @@ -3478,7 +3478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg3), + .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg3), }, [TRAINER_ANNA_AND_MEG_4] = @@ -3490,7 +3490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg4), + .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg4), }, [TRAINER_ANNA_AND_MEG_5] = @@ -3502,7 +3502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AnnaAndMeg5), + .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg5), }, [TRAINER_VICTOR] = @@ -3706,7 +3706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy2), + .party = EVERYTHING_CUSTOMIZED(sParty_Timothy2), }, [TRAINER_TIMOTHY_3] = @@ -3718,7 +3718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy3), + .party = EVERYTHING_CUSTOMIZED(sParty_Timothy3), }, [TRAINER_TIMOTHY_4] = @@ -3730,7 +3730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy4), + .party = EVERYTHING_CUSTOMIZED(sParty_Timothy4), }, [TRAINER_TIMOTHY_5] = @@ -3742,7 +3742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Timothy5), + .party = EVERYTHING_CUSTOMIZED(sParty_Timothy5), }, [TRAINER_VICKY] = @@ -3754,7 +3754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Vicky), + .party = EVERYTHING_CUSTOMIZED(sParty_Vicky), }, [TRAINER_SHELBY_1] = @@ -3850,7 +3850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Josh), + .party = EVERYTHING_CUSTOMIZED(sParty_Josh), }, [TRAINER_TOMMY] = @@ -3886,7 +3886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Ben), + .party = EVERYTHING_CUSTOMIZED(sParty_Ben), }, [TRAINER_QUINCY] = @@ -3898,7 +3898,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Quincy), + .party = EVERYTHING_CUSTOMIZED(sParty_Quincy), }, [TRAINER_KATELYNN] = @@ -3910,7 +3910,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Katelynn), + .party = EVERYTHING_CUSTOMIZED(sParty_Katelynn), }, [TRAINER_JAYLEN] = @@ -4774,7 +4774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Aaron), + .party = EVERYTHING_CUSTOMIZED(sParty_Aaron), }, [TRAINER_PERRY] = @@ -5038,7 +5038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao1), + .party = EVERYTHING_CUSTOMIZED(sParty_Lao1), }, [TRAINER_LUNG] = @@ -5062,7 +5062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao2), + .party = EVERYTHING_CUSTOMIZED(sParty_Lao2), }, [TRAINER_LAO_3] = @@ -5074,7 +5074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao3), + .party = EVERYTHING_CUSTOMIZED(sParty_Lao3), }, [TRAINER_LAO_4] = @@ -5086,7 +5086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Lao4), + .party = EVERYTHING_CUSTOMIZED(sParty_Lao4), }, [TRAINER_LAO_5] = @@ -5218,7 +5218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline1), + .party = EVERYTHING_CUSTOMIZED(sParty_Madeline1), }, [TRAINER_CLARISSA] = @@ -5242,7 +5242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Angelica), + .party = EVERYTHING_CUSTOMIZED(sParty_Angelica), }, [TRAINER_MADELINE_2] = @@ -5254,7 +5254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline2), + .party = EVERYTHING_CUSTOMIZED(sParty_Madeline2), }, [TRAINER_MADELINE_3] = @@ -5266,7 +5266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline3), + .party = EVERYTHING_CUSTOMIZED(sParty_Madeline3), }, [TRAINER_MADELINE_4] = @@ -5278,7 +5278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline4), + .party = EVERYTHING_CUSTOMIZED(sParty_Madeline4), }, [TRAINER_MADELINE_5] = @@ -5290,7 +5290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Madeline5), + .party = EVERYTHING_CUSTOMIZED(sParty_Madeline5), }, [TRAINER_BEVERLY] = @@ -5638,7 +5638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Heidi), + .party = EVERYTHING_CUSTOMIZED(sParty_Heidi), }, [TRAINER_BECKY] = @@ -5650,7 +5650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Becky), + .party = EVERYTHING_CUSTOMIZED(sParty_Becky), }, [TRAINER_CAROL] = @@ -5710,7 +5710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Cedric), + .party = EVERYTHING_CUSTOMIZED(sParty_Cedric), }, [TRAINER_IRENE] = @@ -5842,7 +5842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_GinaAndMia2), + .party = EVERYTHING_CUSTOMIZED(sParty_GinaAndMia2), }, [TRAINER_AMY_AND_LIV_4] = @@ -5866,7 +5866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AmyAndLiv5), + .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv5), }, [TRAINER_AMY_AND_LIV_6] = @@ -5878,7 +5878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_AmyAndLiv6), + .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv6), }, [TRAINER_HUEY] = @@ -6058,7 +6058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Jonas), + .party = EVERYTHING_CUSTOMIZED(sParty_Jonas), }, [TRAINER_KAYLEY] = @@ -6070,7 +6070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Kayley), + .party = EVERYTHING_CUSTOMIZED(sParty_Kayley), }, [TRAINER_AURON] = @@ -6238,7 +6238,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR1), + .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR1), }, [TRAINER_BRENDAN_ROUTE_103_MUDKIP] = @@ -6490,7 +6490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Mitchell), + .party = EVERYTHING_CUSTOMIZED(sParty_Mitchell), }, [TRAINER_ISAAC_2] = @@ -7606,7 +7606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Lucas2), + .party = EVERYTHING_CUSTOMIZED(sParty_Lucas2), }, [TRAINER_MIKE_1] = @@ -7618,7 +7618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Mike1), + .party = EVERYTHING_CUSTOMIZED(sParty_Mike1), }, [TRAINER_MIKE_2] = @@ -7786,7 +7786,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Gerald), + .party = EVERYTHING_CUSTOMIZED(sParty_Gerald), }, [TRAINER_VIVIAN] = @@ -7798,7 +7798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Vivian), + .party = EVERYTHING_CUSTOMIZED(sParty_Vivian), }, [TRAINER_DANIELLE] = @@ -7810,7 +7810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Danielle), + .party = EVERYTHING_CUSTOMIZED(sParty_Danielle), }, [TRAINER_HIDEO] = @@ -7822,7 +7822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Hideo), + .party = EVERYTHING_CUSTOMIZED(sParty_Hideo), }, [TRAINER_KEIGO] = @@ -7834,7 +7834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Keigo), + .party = EVERYTHING_CUSTOMIZED(sParty_Keigo), }, [TRAINER_RILEY] = @@ -7846,7 +7846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Riley), + .party = EVERYTHING_CUSTOMIZED(sParty_Riley), }, [TRAINER_FLINT] = @@ -7894,7 +7894,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR2), + .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR2), }, [TRAINER_WALLY_VR_3] = @@ -7906,7 +7906,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR3), + .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR3), }, [TRAINER_WALLY_VR_4] = @@ -7918,7 +7918,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR4), + .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR4), }, [TRAINER_WALLY_VR_5] = @@ -7930,7 +7930,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_WallyVR5), + .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR5), }, [TRAINER_BRENDAN_LILYCOVE_MUDKIP] = @@ -8146,7 +8146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_KimAndIris), + .party = EVERYTHING_CUSTOMIZED(sParty_KimAndIris), }, [TRAINER_TYRA_AND_IVY] = @@ -8158,7 +8158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_TyraAndIvy), + .party = EVERYTHING_CUSTOMIZED(sParty_TyraAndIvy), }, [TRAINER_MEL_AND_PAUL] = @@ -8170,7 +8170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_CUSTOM_MOVES(sParty_MelAndPaul), + .party = EVERYTHING_CUSTOMIZED(sParty_MelAndPaul), }, [TRAINER_JOHN_AND_JAY_1] = @@ -8182,7 +8182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay1), + .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay1), }, [TRAINER_JOHN_AND_JAY_2] = @@ -8194,7 +8194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay2), + .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay2), }, [TRAINER_JOHN_AND_JAY_3] = @@ -8206,7 +8206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay3), + .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay3), }, [TRAINER_JOHN_AND_JAY_4] = @@ -8218,7 +8218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay4), + .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay4), }, [TRAINER_JOHN_AND_JAY_5] = @@ -8230,7 +8230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_JohnAndJay5), + .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay5), }, [TRAINER_RELI_AND_IAN] = @@ -9154,7 +9154,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_CUSTOM_MOVES(sParty_Leonel), + .party = EVERYTHING_CUSTOMIZED(sParty_Leonel), }, [TRAINER_CALLIE] = diff --git a/src/match_call.c b/src/match_call.c index 1cc7577368..6384e1da59 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1803,9 +1803,6 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) default: speciesName = gSpeciesNames[party.NoItemDefaultMoves[monId].species]; break; - case F_TRAINER_PARTY_CUSTOM_MOVESET: - speciesName = gSpeciesNames[party.NoItemCustomMoves[monId].species]; - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; break; From 3dd7a2c09ec3ac28349c8729a050c115dc5d4b1b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 4 Jul 2023 21:29:58 -0400 Subject: [PATCH 049/256] Removed TrainerMonNoItemDefaultMoves --- include/data.h | 9 - src/battle_main.c | 14 +- src/battle_script_commands.c | 6 - src/battle_setup.c | 8 - src/battle_tower.c | 7 - src/data/trainer_parties.h | 1344 ++++++++++++++++----------------- src/data/trainers.h | 1346 +++++++++++++++++----------------- src/match_call.c | 3 - test/trainer_control.c | 20 +- 9 files changed, 1347 insertions(+), 1410 deletions(-) diff --git a/include/data.h b/include/data.h index 0b88973a59..dec0f8841f 100644 --- a/include/data.h +++ b/include/data.h @@ -52,19 +52,10 @@ struct TrainerMonCustomized bool8 isShiny : 1; }; -struct TrainerMonNoItemDefaultMoves -{ - u16 iv; - u8 lvl; - u16 species; -}; - -#define NO_ITEM_DEFAULT_MOVES(party) { .NoItemDefaultMoves = party }, .partySize = ARRAY_COUNT(party), .partyFlags = 0 #define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED union TrainerMonPtr { - const struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves; const struct TrainerMonCustomized *EverythingCustomized; }; diff --git a/src/battle_main.c b/src/battle_main.c index 4c660b4a23..a996f680b3 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1885,12 +1885,7 @@ static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) { const u8 *buffer; u32 n; - if (trainer->partyFlags == 0) - { - buffer = (const u8 *) &trainer->party.NoItemDefaultMoves[i]; - n = sizeof(*trainer->party.NoItemDefaultMoves); - } - else if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED) + if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED) { buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; n = sizeof(*trainer->party.EverythingCustomized); @@ -1982,13 +1977,6 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer personalityValue += personalityHash << 8; switch (trainer->partyFlags) { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *partyData = trainer->party.NoItemDefaultMoves; - fixedIV = partyData[i].iv * MAX_PER_STAT_IVS / 255; - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, fixedIV, TRUE, personalityValue, OT_ID_RANDOM_NO_SHINY, 0); - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d922b5352b..ea6f5a3b96 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7339,12 +7339,6 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) { switch (gTrainers[trainerId].partyFlags) { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *party = gTrainers[trainerId].party.NoItemDefaultMoves; - lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; diff --git a/src/battle_setup.c b/src/battle_setup.c index 3ea68426ed..44a01977bc 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -766,14 +766,6 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) switch (gTrainers[opponentId].partyFlags) { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *party; - party = gTrainers[opponentId].party.NoItemDefaultMoves; - for (i = 0; i < count; i++) - sum += party[i].lvl; - } - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *party; diff --git a/src/battle_tower.c b/src/battle_tower.c index daace40c6a..4b962673b6 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3056,13 +3056,6 @@ static void FillPartnerParty(u16 trainerId) switch (gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partyFlags) { - case 0: - { - const struct TrainerMonNoItemDefaultMoves *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.NoItemDefaultMoves; - - CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, partyData[i].iv * 31 / 255, TRUE, j, TRUE, otID); - break; - } case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: { const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index f7b4c696c6..84447a55e0 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,4 +1,4 @@ -static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { +static const struct TrainerMonCustomized sParty_Sawyer1[] = { { .iv = 0, .lvl = 21, @@ -6,7 +6,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout1[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout1[] = { { .iv = 0, .lvl = 32, @@ -14,7 +14,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout2[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout2[] = { { .iv = 0, .lvl = 31, @@ -27,7 +27,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout3[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout3[] = { { .iv = 0, .lvl = 32, @@ -35,7 +35,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout4[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout4[] = { { .iv = 0, .lvl = 32, @@ -43,7 +43,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern1[] = { +static const struct TrainerMonCustomized sParty_GruntSeafloorCavern1[] = { { .iv = 0, .lvl = 36, @@ -51,7 +51,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern1[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern2[] = { +static const struct TrainerMonCustomized sParty_GruntSeafloorCavern2[] = { { .iv = 0, .lvl = 36, @@ -59,7 +59,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern2[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern3[] = { +static const struct TrainerMonCustomized sParty_GruntSeafloorCavern3[] = { { .iv = 0, .lvl = 36, @@ -67,7 +67,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern3[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = { +static const struct TrainerMonCustomized sParty_Gabrielle1[] = { { .iv = 0, .lvl = 26, @@ -100,7 +100,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntPetalburgWoods[] = { +static const struct TrainerMonCustomized sParty_GruntPetalburgWoods[] = { { .iv = 0, .lvl = 9, @@ -108,7 +108,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntPetalburgWoods[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Marcel[] = { +static const struct TrainerMonCustomized sParty_Marcel[] = { { .iv = 100, .lvl = 29, @@ -121,7 +121,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Marcel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alberto[] = { +static const struct TrainerMonCustomized sParty_Alberto[] = { { .iv = 0, .lvl = 30, @@ -134,7 +134,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alberto[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = { +static const struct TrainerMonCustomized sParty_Ed[] = { { .iv = 0, .lvl = 30, @@ -147,7 +147,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ed[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern4[] = { +static const struct TrainerMonCustomized sParty_GruntSeafloorCavern4[] = { { .iv = 0, .lvl = 36, @@ -155,7 +155,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern4[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = { +static const struct TrainerMonCustomized sParty_Declan[] = { { .iv = 0, .lvl = 34, @@ -163,7 +163,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Declan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntRusturfTunnel[] = { +static const struct TrainerMonCustomized sParty_GruntRusturfTunnel[] = { { .iv = 0, .lvl = 11, @@ -171,7 +171,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntRusturfTunnel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst1[] = { +static const struct TrainerMonCustomized sParty_GruntWeatherInst1[] = { { .iv = 0, .lvl = 27, @@ -184,7 +184,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst2[] = { +static const struct TrainerMonCustomized sParty_GruntWeatherInst2[] = { { .iv = 0, .lvl = 27, @@ -197,7 +197,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst3[] = { +static const struct TrainerMonCustomized sParty_GruntWeatherInst3[] = { { .iv = 0, .lvl = 26, @@ -215,7 +215,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum1[] = { +static const struct TrainerMonCustomized sParty_GruntMuseum1[] = { { .iv = 0, .lvl = 15, @@ -223,7 +223,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum2[] = { +static const struct TrainerMonCustomized sParty_GruntMuseum2[] = { { .iv = 0, .lvl = 14, @@ -236,7 +236,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMuseum2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter1[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter1[] = { { .iv = 0, .lvl = 32, @@ -244,7 +244,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre1[] = { +static const struct TrainerMonCustomized sParty_GruntMtPyre1[] = { { .iv = 0, .lvl = 32, @@ -252,7 +252,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre2[] = { +static const struct TrainerMonCustomized sParty_GruntMtPyre2[] = { { .iv = 0, .lvl = 32, @@ -260,7 +260,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre3[] = { +static const struct TrainerMonCustomized sParty_GruntMtPyre3[] = { { .iv = 0, .lvl = 30, @@ -273,7 +273,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst4[] = { +static const struct TrainerMonCustomized sParty_GruntWeatherInst4[] = { { .iv = 0, .lvl = 28, @@ -281,7 +281,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout5[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout5[] = { { .iv = 0, .lvl = 32, @@ -289,7 +289,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout6[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout6[] = { { .iv = 0, .lvl = 32, @@ -297,7 +297,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fredrick[] = { +static const struct TrainerMonCustomized sParty_Fredrick[] = { { .iv = 100, .lvl = 30, @@ -310,7 +310,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fredrick[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Matt[] = { +static const struct TrainerMonCustomized sParty_Matt[] = { { .iv = 50, .lvl = 34, @@ -323,7 +323,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Matt[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { +static const struct TrainerMonCustomized sParty_Zander[] = { { .iv = 0, .lvl = 31, @@ -331,7 +331,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Zander[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_ShellyWeatherInstitute[] = { +static const struct TrainerMonCustomized sParty_ShellyWeatherInstitute[] = { { .iv = 50, .lvl = 28, @@ -344,7 +344,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_ShellyWeatherInstitute[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_ShellySeafloorCavern[] = { +static const struct TrainerMonCustomized sParty_ShellySeafloorCavern[] = { { .iv = 100, .lvl = 37, @@ -357,7 +357,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_ShellySeafloorCavern[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Archie[] = { +static const struct TrainerMonCustomized sParty_Archie[] = { { .iv = 150, .lvl = 41, @@ -375,7 +375,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Archie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Leah[] = { +static const struct TrainerMonCustomized sParty_Leah[] = { { .iv = 0, .lvl = 31, @@ -383,7 +383,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leah[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Daisy[] = { +static const struct TrainerMonCustomized sParty_Daisy[] = { { .iv = 0, .lvl = 14, @@ -396,7 +396,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Daisy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rose1[] = { +static const struct TrainerMonCustomized sParty_Rose1[] = { { .iv = 0, .lvl = 14, @@ -429,7 +429,7 @@ static const struct TrainerMonCustomized sParty_Felix[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Violet[] = { +static const struct TrainerMonCustomized sParty_Violet[] = { { .iv = 0, .lvl = 26, @@ -442,7 +442,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Violet[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rose2[] = { +static const struct TrainerMonCustomized sParty_Rose2[] = { { .iv = 10, .lvl = 26, @@ -455,7 +455,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rose2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rose3[] = { +static const struct TrainerMonCustomized sParty_Rose3[] = { { .iv = 20, .lvl = 28, @@ -473,7 +473,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rose3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rose4[] = { +static const struct TrainerMonCustomized sParty_Rose4[] = { { .iv = 30, .lvl = 31, @@ -491,7 +491,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rose4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rose5[] = { +static const struct TrainerMonCustomized sParty_Rose5[] = { { .iv = 40, .lvl = 34, @@ -590,7 +590,7 @@ static const struct TrainerMonCustomized sParty_Dusty5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy1[] = { +static const struct TrainerMonCustomized sParty_GabbyAndTy1[] = { { .iv = 50, .lvl = 17, @@ -603,7 +603,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy2[] = { +static const struct TrainerMonCustomized sParty_GabbyAndTy2[] = { { .iv = 100, .lvl = 27, @@ -616,7 +616,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy3[] = { +static const struct TrainerMonCustomized sParty_GabbyAndTy3[] = { { .iv = 150, .lvl = 30, @@ -629,7 +629,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy4[] = { +static const struct TrainerMonCustomized sParty_GabbyAndTy4[] = { { .iv = 200, .lvl = 33, @@ -642,7 +642,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GabbyAndTy5[] = { +static const struct TrainerMonCustomized sParty_GabbyAndTy5[] = { { .iv = 250, .lvl = 36, @@ -670,7 +670,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lola1[] = { +static const struct TrainerMonCustomized sParty_Lola1[] = { { .iv = 10, .lvl = 12, @@ -683,7 +683,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lola1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Austina[] = { +static const struct TrainerMonCustomized sParty_Austina[] = { { .iv = 0, .lvl = 26, @@ -691,7 +691,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Austina[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gwen[] = { +static const struct TrainerMonCustomized sParty_Gwen[] = { { .iv = 0, .lvl = 26, @@ -699,7 +699,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gwen[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lola2[] = { +static const struct TrainerMonCustomized sParty_Lola2[] = { { .iv = 10, .lvl = 26, @@ -712,7 +712,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lola2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lola3[] = { +static const struct TrainerMonCustomized sParty_Lola3[] = { { .iv = 20, .lvl = 29, @@ -725,7 +725,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lola3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lola4[] = { +static const struct TrainerMonCustomized sParty_Lola4[] = { { .iv = 30, .lvl = 32, @@ -738,7 +738,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lola4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lola5[] = { +static const struct TrainerMonCustomized sParty_Lola5[] = { { .iv = 40, .lvl = 35, @@ -760,7 +760,7 @@ static const struct TrainerMonCustomized sParty_Ricky1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Simon[] = { +static const struct TrainerMonCustomized sParty_Simon[] = { { .iv = 0, .lvl = 12, @@ -773,7 +773,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Simon[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Charlie[] = { +static const struct TrainerMonCustomized sParty_Charlie[] = { { .iv = 0, .lvl = 26, @@ -890,7 +890,7 @@ static const struct TrainerMonCustomized sParty_Braxton[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Vincent[] = { +static const struct TrainerMonCustomized sParty_Vincent[] = { { .iv = 100, .lvl = 44, @@ -908,7 +908,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Vincent[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Leroy[] = { +static const struct TrainerMonCustomized sParty_Leroy[] = { { .iv = 100, .lvl = 46, @@ -921,7 +921,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leroy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wilton1[] = { +static const struct TrainerMonCustomized sParty_Wilton1[] = { { .iv = 100, .lvl = 17, @@ -939,7 +939,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wilton1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edgar[] = { +static const struct TrainerMonCustomized sParty_Edgar[] = { { .iv = 100, .lvl = 43, @@ -952,7 +952,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edgar[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Albert[] = { +static const struct TrainerMonCustomized sParty_Albert[] = { { .iv = 100, .lvl = 43, @@ -965,7 +965,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Albert[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Samuel[] = { +static const struct TrainerMonCustomized sParty_Samuel[] = { { .iv = 100, .lvl = 42, @@ -983,7 +983,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Samuel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Vito[] = { +static const struct TrainerMonCustomized sParty_Vito[] = { { .iv = 100, .lvl = 42, @@ -1006,7 +1006,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Vito[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Owen[] = { +static const struct TrainerMonCustomized sParty_Owen[] = { { .iv = 100, .lvl = 42, @@ -1024,7 +1024,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Owen[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wilton2[] = { +static const struct TrainerMonCustomized sParty_Wilton2[] = { { .iv = 110, .lvl = 26, @@ -1042,7 +1042,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wilton2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wilton3[] = { +static const struct TrainerMonCustomized sParty_Wilton3[] = { { .iv = 120, .lvl = 29, @@ -1060,7 +1060,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wilton3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wilton4[] = { +static const struct TrainerMonCustomized sParty_Wilton4[] = { { .iv = 130, .lvl = 32, @@ -1078,7 +1078,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wilton4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wilton5[] = { +static const struct TrainerMonCustomized sParty_Wilton5[] = { { .iv = 140, .lvl = 35, @@ -1096,7 +1096,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wilton5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Warren[] = { +static const struct TrainerMonCustomized sParty_Warren[] = { { .iv = 100, .lvl = 33, @@ -1160,7 +1160,7 @@ static const struct TrainerMonCustomized sParty_Wendy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Keira[] = { +static const struct TrainerMonCustomized sParty_Keira[] = { { .iv = 100, .lvl = 45, @@ -1173,7 +1173,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Keira[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brooke1[] = { +static const struct TrainerMonCustomized sParty_Brooke1[] = { { .iv = 100, .lvl = 17, @@ -1191,7 +1191,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brooke1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jennifer[] = { +static const struct TrainerMonCustomized sParty_Jennifer[] = { { .iv = 200, .lvl = 30, @@ -1199,7 +1199,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jennifer[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hope[] = { +static const struct TrainerMonCustomized sParty_Hope[] = { { .iv = 100, .lvl = 45, @@ -1207,7 +1207,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hope[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shannon[] = { +static const struct TrainerMonCustomized sParty_Shannon[] = { { .iv = 100, .lvl = 45, @@ -1215,7 +1215,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shannon[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Michelle[] = { +static const struct TrainerMonCustomized sParty_Michelle[] = { { .iv = 100, .lvl = 42, @@ -1233,7 +1233,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Michelle[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Caroline[] = { +static const struct TrainerMonCustomized sParty_Caroline[] = { { .iv = 100, .lvl = 43, @@ -1246,7 +1246,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Caroline[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Julie[] = { +static const struct TrainerMonCustomized sParty_Julie[] = { { .iv = 100, .lvl = 42, @@ -1264,7 +1264,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Julie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brooke2[] = { +static const struct TrainerMonCustomized sParty_Brooke2[] = { { .iv = 110, .lvl = 26, @@ -1282,7 +1282,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brooke2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brooke3[] = { +static const struct TrainerMonCustomized sParty_Brooke3[] = { { .iv = 120, .lvl = 29, @@ -1300,7 +1300,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brooke3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brooke4[] = { +static const struct TrainerMonCustomized sParty_Brooke4[] = { { .iv = 130, .lvl = 32, @@ -1318,7 +1318,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brooke4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brooke5[] = { +static const struct TrainerMonCustomized sParty_Brooke5[] = { { .iv = 140, .lvl = 34, @@ -1336,7 +1336,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brooke5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Patricia[] = { +static const struct TrainerMonCustomized sParty_Patricia[] = { { .iv = 0, .lvl = 41, @@ -1349,7 +1349,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Patricia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kindra[] = { +static const struct TrainerMonCustomized sParty_Kindra[] = { { .iv = 0, .lvl = 30, @@ -1362,7 +1362,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kindra[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tammy[] = { +static const struct TrainerMonCustomized sParty_Tammy[] = { { .iv = 0, .lvl = 29, @@ -1375,7 +1375,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tammy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Valerie1[] = { +static const struct TrainerMonCustomized sParty_Valerie1[] = { { .iv = 0, .lvl = 32, @@ -1383,7 +1383,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Valerie1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tasha[] = { +static const struct TrainerMonCustomized sParty_Tasha[] = { { .iv = 50, .lvl = 32, @@ -1391,7 +1391,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tasha[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Valerie2[] = { +static const struct TrainerMonCustomized sParty_Valerie2[] = { { .iv = 10, .lvl = 31, @@ -1404,7 +1404,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Valerie2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Valerie3[] = { +static const struct TrainerMonCustomized sParty_Valerie3[] = { { .iv = 20, .lvl = 35, @@ -1417,7 +1417,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Valerie3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Valerie4[] = { +static const struct TrainerMonCustomized sParty_Valerie4[] = { { .iv = 30, .lvl = 40, @@ -1430,7 +1430,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Valerie4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Valerie5[] = { +static const struct TrainerMonCustomized sParty_Valerie5[] = { { .iv = 40, .lvl = 42, @@ -1474,7 +1474,7 @@ static const struct TrainerMonCustomized sParty_Daphne[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter2[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter2[] = { { .iv = 0, .lvl = 26, @@ -1557,7 +1557,7 @@ static const struct TrainerMonCustomized sParty_Cindy6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Melissa[] = { +static const struct TrainerMonCustomized sParty_Melissa[] = { { .iv = 0, .lvl = 21, @@ -1565,7 +1565,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Melissa[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sheila[] = { +static const struct TrainerMonCustomized sParty_Sheila[] = { { .iv = 0, .lvl = 21, @@ -1573,7 +1573,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sheila[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shirley[] = { +static const struct TrainerMonCustomized sParty_Shirley[] = { { .iv = 0, .lvl = 21, @@ -1596,7 +1596,7 @@ static const struct TrainerMonCustomized sParty_Jessica1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Connie[] = { +static const struct TrainerMonCustomized sParty_Connie[] = { { .iv = 100, .lvl = 40, @@ -1604,7 +1604,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Connie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bridget[] = { +static const struct TrainerMonCustomized sParty_Bridget[] = { { .iv = 150, .lvl = 40, @@ -1633,7 +1633,7 @@ static const struct TrainerMonCustomized sParty_Olivia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tiffany[] = { +static const struct TrainerMonCustomized sParty_Tiffany[] = { { .iv = 100, .lvl = 39, @@ -1715,7 +1715,7 @@ static const struct TrainerMonCustomized sParty_Winston1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Mollie[] = { +static const struct TrainerMonCustomized sParty_Mollie[] = { { .iv = 0, .lvl = 33, @@ -1774,7 +1774,7 @@ static const struct TrainerMonCustomized sParty_Winston5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Steve1[] = { +static const struct TrainerMonCustomized sParty_Steve1[] = { { .iv = 0, .lvl = 19, @@ -1782,7 +1782,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Steve1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Thalia1[] = { +static const struct TrainerMonCustomized sParty_Thalia1[] = { { .iv = 0, .lvl = 25, @@ -1795,7 +1795,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Thalia1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = { +static const struct TrainerMonCustomized sParty_Mark[] = { { .iv = 0, .lvl = 31, @@ -1803,7 +1803,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Mark[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney1[] = { +static const struct TrainerMonCustomized sParty_GruntMtChimney1[] = { { .iv = 0, .lvl = 20, @@ -1811,7 +1811,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Steve2[] = { +static const struct TrainerMonCustomized sParty_Steve2[] = { { .iv = 10, .lvl = 27, @@ -1819,7 +1819,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Steve2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Steve3[] = { +static const struct TrainerMonCustomized sParty_Steve3[] = { { .iv = 20, .lvl = 29, @@ -1832,7 +1832,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Steve3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Steve4[] = { +static const struct TrainerMonCustomized sParty_Steve4[] = { { .iv = 30, .lvl = 32, @@ -1845,7 +1845,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Steve4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Steve5[] = { +static const struct TrainerMonCustomized sParty_Steve5[] = { { .iv = 40, .lvl = 35, @@ -1858,7 +1858,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Steve5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Luis[] = { +static const struct TrainerMonCustomized sParty_Luis[] = { { .iv = 0, .lvl = 26, @@ -1866,7 +1866,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Luis[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dominik[] = { +static const struct TrainerMonCustomized sParty_Dominik[] = { { .iv = 0, .lvl = 26, @@ -1874,7 +1874,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dominik[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Douglas[] = { +static const struct TrainerMonCustomized sParty_Douglas[] = { { .iv = 10, .lvl = 24, @@ -1887,7 +1887,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Douglas[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Darrin[] = { +static const struct TrainerMonCustomized sParty_Darrin[] = { { .iv = 10, .lvl = 24, @@ -1905,7 +1905,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darrin[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tony1[] = { +static const struct TrainerMonCustomized sParty_Tony1[] = { { .iv = 0, .lvl = 26, @@ -1913,7 +1913,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tony1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jerome[] = { +static const struct TrainerMonCustomized sParty_Jerome[] = { { .iv = 0, .lvl = 26, @@ -1921,7 +1921,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jerome[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Matthew[] = { +static const struct TrainerMonCustomized sParty_Matthew[] = { { .iv = 0, .lvl = 26, @@ -1929,7 +1929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Matthew[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_David[] = { +static const struct TrainerMonCustomized sParty_David[] = { { .iv = 0, .lvl = 25, @@ -1942,7 +1942,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_David[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Spencer[] = { +static const struct TrainerMonCustomized sParty_Spencer[] = { { .iv = 0, .lvl = 33, @@ -1955,7 +1955,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Spencer[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Roland[] = { +static const struct TrainerMonCustomized sParty_Roland[] = { { .iv = 0, .lvl = 34, @@ -1963,7 +1963,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Roland[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nolen[] = { +static const struct TrainerMonCustomized sParty_Nolen[] = { { .iv = 0, .lvl = 34, @@ -1971,7 +1971,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nolen[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Stan[] = { +static const struct TrainerMonCustomized sParty_Stan[] = { { .iv = 0, .lvl = 34, @@ -1979,7 +1979,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Stan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Barry[] = { +static const struct TrainerMonCustomized sParty_Barry[] = { { .iv = 0, .lvl = 34, @@ -1987,7 +1987,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Barry[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dean[] = { +static const struct TrainerMonCustomized sParty_Dean[] = { { .iv = 0, .lvl = 31, @@ -2005,7 +2005,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dean[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rodney[] = { +static const struct TrainerMonCustomized sParty_Rodney[] = { { .iv = 0, .lvl = 34, @@ -2013,7 +2013,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rodney[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Richard[] = { +static const struct TrainerMonCustomized sParty_Richard[] = { { .iv = 0, .lvl = 34, @@ -2021,7 +2021,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Richard[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Herman[] = { +static const struct TrainerMonCustomized sParty_Herman[] = { { .iv = 0, .lvl = 33, @@ -2034,7 +2034,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Herman[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Santiago[] = { +static const struct TrainerMonCustomized sParty_Santiago[] = { { .iv = 0, .lvl = 33, @@ -2047,7 +2047,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Santiago[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gilbert[] = { +static const struct TrainerMonCustomized sParty_Gilbert[] = { { .iv = 0, .lvl = 34, @@ -2055,7 +2055,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gilbert[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Franklin[] = { +static const struct TrainerMonCustomized sParty_Franklin[] = { { .iv = 0, .lvl = 34, @@ -2063,7 +2063,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Franklin[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kevin[] = { +static const struct TrainerMonCustomized sParty_Kevin[] = { { .iv = 0, .lvl = 34, @@ -2071,7 +2071,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kevin[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jack[] = { +static const struct TrainerMonCustomized sParty_Jack[] = { { .iv = 0, .lvl = 34, @@ -2079,7 +2079,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jack[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dudley[] = { +static const struct TrainerMonCustomized sParty_Dudley[] = { { .iv = 0, .lvl = 33, @@ -2097,7 +2097,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dudley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Chad[] = { +static const struct TrainerMonCustomized sParty_Chad[] = { { .iv = 0, .lvl = 33, @@ -2110,7 +2110,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Chad[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tony2[] = { +static const struct TrainerMonCustomized sParty_Tony2[] = { { .iv = 10, .lvl = 30, @@ -2118,7 +2118,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tony2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tony3[] = { +static const struct TrainerMonCustomized sParty_Tony3[] = { { .iv = 20, .lvl = 33, @@ -2126,7 +2126,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tony3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tony4[] = { +static const struct TrainerMonCustomized sParty_Tony4[] = { { .iv = 30, .lvl = 34, @@ -2139,7 +2139,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tony4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tony5[] = { +static const struct TrainerMonCustomized sParty_Tony5[] = { { .iv = 40, .lvl = 37, @@ -2152,7 +2152,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tony5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Takao[] = { +static const struct TrainerMonCustomized sParty_Takao[] = { { .iv = 127, .lvl = 13, @@ -2160,7 +2160,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Takao[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hitoshi[] = { +static const struct TrainerMonCustomized sParty_Hitoshi[] = { { .iv = 50, .lvl = 32, @@ -2173,7 +2173,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hitoshi[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kiyo[] = { +static const struct TrainerMonCustomized sParty_Kiyo[] = { { .iv = 100, .lvl = 34, @@ -2181,7 +2181,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kiyo[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Koichi[] = { +static const struct TrainerMonCustomized sParty_Koichi[] = { { .iv = 100, .lvl = 24, @@ -2194,7 +2194,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Koichi[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nob1[] = { +static const struct TrainerMonCustomized sParty_Nob1[] = { { .iv = 100, .lvl = 19, @@ -2202,7 +2202,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nob1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nob2[] = { +static const struct TrainerMonCustomized sParty_Nob2[] = { { .iv = 110, .lvl = 27, @@ -2210,7 +2210,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nob2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nob3[] = { +static const struct TrainerMonCustomized sParty_Nob3[] = { { .iv = 120, .lvl = 29, @@ -2223,7 +2223,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nob3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nob4[] = { +static const struct TrainerMonCustomized sParty_Nob4[] = { { .iv = 130, .lvl = 31, @@ -2268,7 +2268,7 @@ static const struct TrainerMonCustomized sParty_Nob5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Yuji[] = { +static const struct TrainerMonCustomized sParty_Yuji[] = { { .iv = 100, .lvl = 26, @@ -2281,7 +2281,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Yuji[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Daisuke[] = { +static const struct TrainerMonCustomized sParty_Daisuke[] = { { .iv = 100, .lvl = 19, @@ -2289,7 +2289,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Daisuke[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Atsushi[] = { +static const struct TrainerMonCustomized sParty_Atsushi[] = { { .iv = 100, .lvl = 32, @@ -2312,7 +2312,7 @@ static const struct TrainerMonCustomized sParty_Kirk[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout7[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout7[] = { { .iv = 0, .lvl = 31, @@ -2325,7 +2325,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout8[] = { +static const struct TrainerMonCustomized sParty_GruntAquaHideout8[] = { { .iv = 0, .lvl = 32, @@ -2333,7 +2333,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntAquaHideout8[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shawn[] = { +static const struct TrainerMonCustomized sParty_Shawn[] = { { .iv = 100, .lvl = 17, @@ -2346,7 +2346,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shawn[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fernando1[] = { +static const struct TrainerMonCustomized sParty_Fernando1[] = { { .iv = 0, .lvl = 30, @@ -2359,7 +2359,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fernando1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dalton1[] = { +static const struct TrainerMonCustomized sParty_Dalton1[] = { { .iv = 0, .lvl = 15, @@ -2372,7 +2372,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dalton1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dalton2[] = { +static const struct TrainerMonCustomized sParty_Dalton2[] = { { .iv = 10, .lvl = 25, @@ -2390,7 +2390,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dalton2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dalton3[] = { +static const struct TrainerMonCustomized sParty_Dalton3[] = { { .iv = 20, .lvl = 28, @@ -2408,7 +2408,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dalton3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dalton4[] = { +static const struct TrainerMonCustomized sParty_Dalton4[] = { { .iv = 30, .lvl = 31, @@ -2426,7 +2426,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dalton4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dalton5[] = { +static const struct TrainerMonCustomized sParty_Dalton5[] = { { .iv = 40, .lvl = 34, @@ -2444,7 +2444,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dalton5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cole[] = { +static const struct TrainerMonCustomized sParty_Cole[] = { { .iv = 100, .lvl = 23, @@ -2452,7 +2452,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cole[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jeff[] = { +static const struct TrainerMonCustomized sParty_Jeff[] = { { .iv = 100, .lvl = 22, @@ -2465,7 +2465,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jeff[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Axle[] = { +static const struct TrainerMonCustomized sParty_Axle[] = { { .iv = 100, .lvl = 23, @@ -2473,7 +2473,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Axle[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jace[] = { +static const struct TrainerMonCustomized sParty_Jace[] = { { .iv = 100, .lvl = 23, @@ -2481,7 +2481,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jace[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Keegan[] = { +static const struct TrainerMonCustomized sParty_Keegan[] = { { .iv = 120, .lvl = 23, @@ -2489,7 +2489,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Keegan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bernie1[] = { +static const struct TrainerMonCustomized sParty_Bernie1[] = { { .iv = 0, .lvl = 18, @@ -2502,7 +2502,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bernie1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bernie2[] = { +static const struct TrainerMonCustomized sParty_Bernie2[] = { { .iv = 10, .lvl = 26, @@ -2515,7 +2515,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bernie2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bernie3[] = { +static const struct TrainerMonCustomized sParty_Bernie3[] = { { .iv = 20, .lvl = 29, @@ -2528,7 +2528,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bernie3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bernie4[] = { +static const struct TrainerMonCustomized sParty_Bernie4[] = { { .iv = 30, .lvl = 32, @@ -2541,7 +2541,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bernie4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bernie5[] = { +static const struct TrainerMonCustomized sParty_Bernie5[] = { { .iv = 40, .lvl = 35, @@ -2584,7 +2584,7 @@ static const struct TrainerMonCustomized sParty_Beau[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Larry[] = { +static const struct TrainerMonCustomized sParty_Larry[] = { { .iv = 0, .lvl = 18, @@ -2592,7 +2592,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Larry[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shane[] = { +static const struct TrainerMonCustomized sParty_Shane[] = { { .iv = 0, .lvl = 18, @@ -2605,7 +2605,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shane[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Justin[] = { +static const struct TrainerMonCustomized sParty_Justin[] = { { .iv = 0, .lvl = 24, @@ -2613,7 +2613,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Justin[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ethan1[] = { +static const struct TrainerMonCustomized sParty_Ethan1[] = { { .iv = 0, .lvl = 20, @@ -2626,7 +2626,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ethan1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Autumn[] = { +static const struct TrainerMonCustomized sParty_Autumn[] = { { .iv = 0, .lvl = 21, @@ -2634,7 +2634,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Autumn[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Travis[] = { +static const struct TrainerMonCustomized sParty_Travis[] = { { .iv = 0, .lvl = 18, @@ -2642,7 +2642,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Travis[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ethan2[] = { +static const struct TrainerMonCustomized sParty_Ethan2[] = { { .iv = 10, .lvl = 26, @@ -2655,7 +2655,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ethan2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ethan3[] = { +static const struct TrainerMonCustomized sParty_Ethan3[] = { { .iv = 20, .lvl = 29, @@ -2668,7 +2668,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ethan3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ethan4[] = { +static const struct TrainerMonCustomized sParty_Ethan4[] = { { .iv = 30, .lvl = 31, @@ -2686,7 +2686,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ethan4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ethan5[] = { +static const struct TrainerMonCustomized sParty_Ethan5[] = { { .iv = 40, .lvl = 34, @@ -2704,7 +2704,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ethan5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brent[] = { +static const struct TrainerMonCustomized sParty_Brent[] = { { .iv = 100, .lvl = 26, @@ -2712,7 +2712,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brent[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Donald[] = { +static const struct TrainerMonCustomized sParty_Donald[] = { { .iv = 100, .lvl = 24, @@ -2730,7 +2730,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Donald[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Taylor[] = { +static const struct TrainerMonCustomized sParty_Taylor[] = { { .iv = 100, .lvl = 27, @@ -2748,7 +2748,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Taylor[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey1[] = { +static const struct TrainerMonCustomized sParty_Jeffrey1[] = { { .iv = 0, .lvl = 27, @@ -2766,7 +2766,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Derek[] = { +static const struct TrainerMonCustomized sParty_Derek[] = { { .iv = 150, .lvl = 16, @@ -2779,7 +2779,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Derek[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey2[] = { +static const struct TrainerMonCustomized sParty_Jeffrey2[] = { { .iv = 10, .lvl = 31, @@ -2797,7 +2797,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey3[] = { +static const struct TrainerMonCustomized sParty_Jeffrey3[] = { { .iv = 20, .lvl = 34, @@ -2815,7 +2815,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jeffrey4[] = { +static const struct TrainerMonCustomized sParty_Jeffrey4[] = { { .iv = 30, .lvl = 36, @@ -2880,7 +2880,7 @@ static const struct TrainerMonCustomized sParty_Edward[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Preston[] = { +static const struct TrainerMonCustomized sParty_Preston[] = { { .iv = 100, .lvl = 36, @@ -2888,7 +2888,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Preston[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Virgil[] = { +static const struct TrainerMonCustomized sParty_Virgil[] = { { .iv = 100, .lvl = 36, @@ -2896,7 +2896,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Virgil[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Blake[] = { +static const struct TrainerMonCustomized sParty_Blake[] = { { .iv = 100, .lvl = 36, @@ -2904,7 +2904,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Blake[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_William[] = { +static const struct TrainerMonCustomized sParty_William[] = { { .iv = 0, .lvl = 26, @@ -2922,7 +2922,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_William[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Joshua[] = { +static const struct TrainerMonCustomized sParty_Joshua[] = { { .iv = 0, .lvl = 41, @@ -2935,7 +2935,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Joshua[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cameron1[] = { +static const struct TrainerMonCustomized sParty_Cameron1[] = { { .iv = 0, .lvl = 31, @@ -2943,7 +2943,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cameron1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cameron2[] = { +static const struct TrainerMonCustomized sParty_Cameron2[] = { { .iv = 10, .lvl = 33, @@ -2956,7 +2956,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cameron2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cameron3[] = { +static const struct TrainerMonCustomized sParty_Cameron3[] = { { .iv = 20, .lvl = 38, @@ -2969,7 +2969,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cameron3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cameron4[] = { +static const struct TrainerMonCustomized sParty_Cameron4[] = { { .iv = 30, .lvl = 41, @@ -2982,7 +2982,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cameron4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cameron5[] = { +static const struct TrainerMonCustomized sParty_Cameron5[] = { { .iv = 40, .lvl = 45, @@ -3004,7 +3004,7 @@ static const struct TrainerMonCustomized sParty_Jaclyn[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hannah[] = { +static const struct TrainerMonCustomized sParty_Hannah[] = { { .iv = 100, .lvl = 36, @@ -3012,7 +3012,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hannah[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Samantha[] = { +static const struct TrainerMonCustomized sParty_Samantha[] = { { .iv = 100, .lvl = 36, @@ -3020,7 +3020,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Samantha[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maura[] = { +static const struct TrainerMonCustomized sParty_Maura[] = { { .iv = 100, .lvl = 36, @@ -3028,7 +3028,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maura[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kayla[] = { +static const struct TrainerMonCustomized sParty_Kayla[] = { { .iv = 0, .lvl = 26, @@ -3046,7 +3046,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kayla[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alexis[] = { +static const struct TrainerMonCustomized sParty_Alexis[] = { { .iv = 0, .lvl = 41, @@ -3059,7 +3059,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alexis[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jacki1[] = { +static const struct TrainerMonCustomized sParty_Jacki1[] = { { .iv = 0, .lvl = 30, @@ -3072,7 +3072,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jacki1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jacki2[] = { +static const struct TrainerMonCustomized sParty_Jacki2[] = { { .iv = 10, .lvl = 34, @@ -3085,7 +3085,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jacki2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jacki3[] = { +static const struct TrainerMonCustomized sParty_Jacki3[] = { { .iv = 20, .lvl = 37, @@ -3098,7 +3098,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jacki3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jacki4[] = { +static const struct TrainerMonCustomized sParty_Jacki4[] = { { .iv = 30, .lvl = 40, @@ -3111,7 +3111,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jacki4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jacki5[] = { +static const struct TrainerMonCustomized sParty_Jacki5[] = { { .iv = 40, .lvl = 43, @@ -3124,7 +3124,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jacki5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Walter1[] = { +static const struct TrainerMonCustomized sParty_Walter1[] = { { .iv = 0, .lvl = 29, @@ -3132,7 +3132,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Walter1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Micah[] = { +static const struct TrainerMonCustomized sParty_Micah[] = { { .iv = 0, .lvl = 44, @@ -3145,7 +3145,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Micah[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Thomas[] = { +static const struct TrainerMonCustomized sParty_Thomas[] = { { .iv = 0, .lvl = 45, @@ -3153,7 +3153,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Thomas[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Walter2[] = { +static const struct TrainerMonCustomized sParty_Walter2[] = { { .iv = 10, .lvl = 34, @@ -3612,7 +3612,7 @@ static const struct TrainerMonCustomized sParty_Juan1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jerry1[] = { +static const struct TrainerMonCustomized sParty_Jerry1[] = { { .iv = 10, .lvl = 9, @@ -3620,7 +3620,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jerry1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ted[] = { +static const struct TrainerMonCustomized sParty_Ted[] = { { .iv = 10, .lvl = 17, @@ -3628,7 +3628,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ted[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Paul[] = { +static const struct TrainerMonCustomized sParty_Paul[] = { { .iv = 10, .lvl = 15, @@ -3646,7 +3646,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Paul[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jerry2[] = { +static const struct TrainerMonCustomized sParty_Jerry2[] = { { .iv = 20, .lvl = 26, @@ -3659,7 +3659,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jerry2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jerry3[] = { +static const struct TrainerMonCustomized sParty_Jerry3[] = { { .iv = 30, .lvl = 29, @@ -3672,7 +3672,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jerry3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jerry4[] = { +static const struct TrainerMonCustomized sParty_Jerry4[] = { { .iv = 40, .lvl = 32, @@ -3685,7 +3685,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jerry4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jerry5[] = { +static const struct TrainerMonCustomized sParty_Jerry5[] = { { .iv = 50, .lvl = 34, @@ -3703,7 +3703,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jerry5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Karen1[] = { +static const struct TrainerMonCustomized sParty_Karen1[] = { { .iv = 10, .lvl = 9, @@ -3711,7 +3711,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Karen1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Georgia[] = { +static const struct TrainerMonCustomized sParty_Georgia[] = { { .iv = 10, .lvl = 16, @@ -3724,7 +3724,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Georgia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Karen2[] = { +static const struct TrainerMonCustomized sParty_Karen2[] = { { .iv = 20, .lvl = 26, @@ -3737,7 +3737,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Karen2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Karen3[] = { +static const struct TrainerMonCustomized sParty_Karen3[] = { { .iv = 30, .lvl = 29, @@ -3750,7 +3750,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Karen3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Karen4[] = { +static const struct TrainerMonCustomized sParty_Karen4[] = { { .iv = 40, .lvl = 32, @@ -3763,7 +3763,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Karen4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Karen5[] = { +static const struct TrainerMonCustomized sParty_Karen5[] = { { .iv = 50, .lvl = 35, @@ -4085,7 +4085,7 @@ static const struct TrainerMonCustomized sParty_Isabel5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Timothy1[] = { +static const struct TrainerMonCustomized sParty_Timothy1[] = { { .iv = 200, .lvl = 27, @@ -4138,7 +4138,7 @@ static const struct TrainerMonCustomized sParty_Vicky[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelby1[] = { +static const struct TrainerMonCustomized sParty_Shelby1[] = { { .iv = 200, .lvl = 21, @@ -4151,7 +4151,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelby1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelby2[] = { +static const struct TrainerMonCustomized sParty_Shelby2[] = { { .iv = 210, .lvl = 30, @@ -4164,7 +4164,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelby2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelby3[] = { +static const struct TrainerMonCustomized sParty_Shelby3[] = { { .iv = 220, .lvl = 33, @@ -4177,7 +4177,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelby3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelby4[] = { +static const struct TrainerMonCustomized sParty_Shelby4[] = { { .iv = 230, .lvl = 36, @@ -4190,7 +4190,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelby4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shelby5[] = { +static const struct TrainerMonCustomized sParty_Shelby5[] = { { .iv = 240, .lvl = 39, @@ -4203,7 +4203,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shelby5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Calvin1[] = { +static const struct TrainerMonCustomized sParty_Calvin1[] = { { .iv = 0, .lvl = 5, @@ -4211,7 +4211,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Calvin1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Billy[] = { +static const struct TrainerMonCustomized sParty_Billy[] = { { .iv = 0, .lvl = 5, @@ -4233,7 +4233,7 @@ static const struct TrainerMonCustomized sParty_Josh[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tommy[] = { +static const struct TrainerMonCustomized sParty_Tommy[] = { { .iv = 110, .lvl = 8, @@ -4246,7 +4246,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tommy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Joey[] = { +static const struct TrainerMonCustomized sParty_Joey[] = { { .iv = 0, .lvl = 9, @@ -4299,7 +4299,7 @@ static const struct TrainerMonCustomized sParty_Katelynn[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jaylen[] = { +static const struct TrainerMonCustomized sParty_Jaylen[] = { { .iv = 0, .lvl = 19, @@ -4307,7 +4307,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jaylen[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dillon[] = { +static const struct TrainerMonCustomized sParty_Dillon[] = { { .iv = 0, .lvl = 19, @@ -4315,7 +4315,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dillon[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Calvin2[] = { +static const struct TrainerMonCustomized sParty_Calvin2[] = { { .iv = 10, .lvl = 27, @@ -4323,7 +4323,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Calvin2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Calvin3[] = { +static const struct TrainerMonCustomized sParty_Calvin3[] = { { .iv = 20, .lvl = 28, @@ -4336,7 +4336,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Calvin3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Calvin4[] = { +static const struct TrainerMonCustomized sParty_Calvin4[] = { { .iv = 30, .lvl = 31, @@ -4354,7 +4354,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Calvin4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Calvin5[] = { +static const struct TrainerMonCustomized sParty_Calvin5[] = { { .iv = 40, .lvl = 34, @@ -4372,7 +4372,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Calvin5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Eddie[] = { +static const struct TrainerMonCustomized sParty_Eddie[] = { { .iv = 0, .lvl = 14, @@ -4385,7 +4385,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Eddie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Allen[] = { +static const struct TrainerMonCustomized sParty_Allen[] = { { .iv = 0, .lvl = 4, @@ -4398,7 +4398,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Allen[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Timmy[] = { +static const struct TrainerMonCustomized sParty_Timmy[] = { { .iv = 0, .lvl = 15, @@ -4456,7 +4456,7 @@ static const struct TrainerMonCustomized sParty_Wallace[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andrew[] = { +static const struct TrainerMonCustomized sParty_Andrew[] = { { .iv = 0, .lvl = 5, @@ -4474,7 +4474,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andrew[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ivan[] = { +static const struct TrainerMonCustomized sParty_Ivan[] = { { .iv = 0, .lvl = 5, @@ -4492,7 +4492,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ivan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Claude[] = { +static const struct TrainerMonCustomized sParty_Claude[] = { { .iv = 0, .lvl = 16, @@ -4510,7 +4510,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Claude[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Elliot1[] = { +static const struct TrainerMonCustomized sParty_Elliot1[] = { { .iv = 0, .lvl = 10, @@ -4528,7 +4528,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Elliot1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ned[] = { +static const struct TrainerMonCustomized sParty_Ned[] = { { .iv = 10, .lvl = 11, @@ -4536,7 +4536,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ned[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dale[] = { +static const struct TrainerMonCustomized sParty_Dale[] = { { .iv = 0, .lvl = 11, @@ -4559,7 +4559,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dale[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nolan[] = { +static const struct TrainerMonCustomized sParty_Nolan[] = { { .iv = 0, .lvl = 19, @@ -4567,7 +4567,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nolan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Barny[] = { +static const struct TrainerMonCustomized sParty_Barny[] = { { .iv = 0, .lvl = 25, @@ -4580,7 +4580,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Barny[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wade[] = { +static const struct TrainerMonCustomized sParty_Wade[] = { { .iv = 0, .lvl = 16, @@ -4588,7 +4588,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wade[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Carter[] = { +static const struct TrainerMonCustomized sParty_Carter[] = { { .iv = 10, .lvl = 25, @@ -4601,7 +4601,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Carter[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Elliot2[] = { +static const struct TrainerMonCustomized sParty_Elliot2[] = { { .iv = 10, .lvl = 24, @@ -4619,7 +4619,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Elliot2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Elliot3[] = { +static const struct TrainerMonCustomized sParty_Elliot3[] = { { .iv = 20, .lvl = 29, @@ -4642,7 +4642,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Elliot3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Elliot4[] = { +static const struct TrainerMonCustomized sParty_Elliot4[] = { { .iv = 30, .lvl = 31, @@ -4665,7 +4665,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Elliot4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Elliot5[] = { +static const struct TrainerMonCustomized sParty_Elliot5[] = { { .iv = 40, .lvl = 33, @@ -4688,7 +4688,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Elliot5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ronald[] = { +static const struct TrainerMonCustomized sParty_Ronald[] = { { .iv = 0, .lvl = 19, @@ -4721,7 +4721,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ronald[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jacob[] = { +static const struct TrainerMonCustomized sParty_Jacob[] = { { .iv = 20, .lvl = 6, @@ -4739,7 +4739,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jacob[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Anthony[] = { +static const struct TrainerMonCustomized sParty_Anthony[] = { { .iv = 0, .lvl = 14, @@ -4752,7 +4752,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Anthony[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin1[] = { +static const struct TrainerMonCustomized sParty_Benjamin1[] = { { .iv = 0, .lvl = 16, @@ -4760,7 +4760,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin2[] = { +static const struct TrainerMonCustomized sParty_Benjamin2[] = { { .iv = 10, .lvl = 30, @@ -4768,7 +4768,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin3[] = { +static const struct TrainerMonCustomized sParty_Benjamin3[] = { { .iv = 20, .lvl = 33, @@ -4776,7 +4776,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin4[] = { +static const struct TrainerMonCustomized sParty_Benjamin4[] = { { .iv = 30, .lvl = 36, @@ -4784,7 +4784,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin5[] = { +static const struct TrainerMonCustomized sParty_Benjamin5[] = { { .iv = 40, .lvl = 39, @@ -4792,7 +4792,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Benjamin5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Abigail1[] = { +static const struct TrainerMonCustomized sParty_Abigail1[] = { { .iv = 0, .lvl = 16, @@ -4800,7 +4800,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Abigail1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jasmine[] = { +static const struct TrainerMonCustomized sParty_Jasmine[] = { { .iv = 80, .lvl = 14, @@ -4818,7 +4818,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jasmine[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Abigail2[] = { +static const struct TrainerMonCustomized sParty_Abigail2[] = { { .iv = 10, .lvl = 28, @@ -4826,7 +4826,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Abigail2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Abigail3[] = { +static const struct TrainerMonCustomized sParty_Abigail3[] = { { .iv = 20, .lvl = 31, @@ -4834,7 +4834,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Abigail3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Abigail4[] = { +static const struct TrainerMonCustomized sParty_Abigail4[] = { { .iv = 30, .lvl = 34, @@ -4842,7 +4842,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Abigail4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Abigail5[] = { +static const struct TrainerMonCustomized sParty_Abigail5[] = { { .iv = 40, .lvl = 37, @@ -4850,7 +4850,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Abigail5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dylan1[] = { +static const struct TrainerMonCustomized sParty_Dylan1[] = { { .iv = 0, .lvl = 17, @@ -4858,7 +4858,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dylan1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dylan2[] = { +static const struct TrainerMonCustomized sParty_Dylan2[] = { { .iv = 10, .lvl = 28, @@ -4866,7 +4866,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dylan2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dylan3[] = { +static const struct TrainerMonCustomized sParty_Dylan3[] = { { .iv = 20, .lvl = 31, @@ -4874,7 +4874,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dylan3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dylan4[] = { +static const struct TrainerMonCustomized sParty_Dylan4[] = { { .iv = 30, .lvl = 34, @@ -4882,7 +4882,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dylan4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dylan5[] = { +static const struct TrainerMonCustomized sParty_Dylan5[] = { { .iv = 40, .lvl = 37, @@ -4890,7 +4890,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dylan5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maria1[] = { +static const struct TrainerMonCustomized sParty_Maria1[] = { { .iv = 0, .lvl = 17, @@ -4898,7 +4898,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maria1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maria2[] = { +static const struct TrainerMonCustomized sParty_Maria2[] = { { .iv = 10, .lvl = 28, @@ -4906,7 +4906,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maria2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maria3[] = { +static const struct TrainerMonCustomized sParty_Maria3[] = { { .iv = 20, .lvl = 31, @@ -4914,7 +4914,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maria3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maria4[] = { +static const struct TrainerMonCustomized sParty_Maria4[] = { { .iv = 30, .lvl = 34, @@ -4922,7 +4922,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maria4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Maria5[] = { +static const struct TrainerMonCustomized sParty_Maria5[] = { { .iv = 40, .lvl = 37, @@ -4930,7 +4930,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Maria5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Camden[] = { +static const struct TrainerMonCustomized sParty_Camden[] = { { .iv = 0, .lvl = 33, @@ -4943,7 +4943,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Camden[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Demetrius[] = { +static const struct TrainerMonCustomized sParty_Demetrius[] = { { .iv = 0, .lvl = 25, @@ -4956,7 +4956,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Demetrius[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah1[] = { +static const struct TrainerMonCustomized sParty_Isaiah1[] = { { .iv = 0, .lvl = 35, @@ -4964,7 +4964,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pablo1[] = { +static const struct TrainerMonCustomized sParty_Pablo1[] = { { .iv = 0, .lvl = 33, @@ -4977,7 +4977,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pablo1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Chase[] = { +static const struct TrainerMonCustomized sParty_Chase[] = { { .iv = 0, .lvl = 26, @@ -4990,7 +4990,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Chase[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah2[] = { +static const struct TrainerMonCustomized sParty_Isaiah2[] = { { .iv = 10, .lvl = 39, @@ -4998,7 +4998,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah3[] = { +static const struct TrainerMonCustomized sParty_Isaiah3[] = { { .iv = 20, .lvl = 42, @@ -5006,7 +5006,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah4[] = { +static const struct TrainerMonCustomized sParty_Isaiah4[] = { { .iv = 30, .lvl = 45, @@ -5014,7 +5014,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah5[] = { +static const struct TrainerMonCustomized sParty_Isaiah5[] = { { .iv = 40, .lvl = 48, @@ -5022,7 +5022,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaiah5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isobel[] = { +static const struct TrainerMonCustomized sParty_Isobel[] = { { .iv = 0, .lvl = 34, @@ -5030,7 +5030,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isobel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Donny[] = { +static const struct TrainerMonCustomized sParty_Donny[] = { { .iv = 0, .lvl = 26, @@ -5043,7 +5043,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Donny[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Talia[] = { +static const struct TrainerMonCustomized sParty_Talia[] = { { .iv = 0, .lvl = 34, @@ -5051,7 +5051,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Talia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn1[] = { +static const struct TrainerMonCustomized sParty_Katelyn1[] = { { .iv = 0, .lvl = 35, @@ -5059,7 +5059,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Allison[] = { +static const struct TrainerMonCustomized sParty_Allison[] = { { .iv = 0, .lvl = 27, @@ -5072,7 +5072,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Allison[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn2[] = { +static const struct TrainerMonCustomized sParty_Katelyn2[] = { { .iv = 10, .lvl = 39, @@ -5080,7 +5080,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn3[] = { +static const struct TrainerMonCustomized sParty_Katelyn3[] = { { .iv = 20, .lvl = 42, @@ -5088,7 +5088,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn4[] = { +static const struct TrainerMonCustomized sParty_Katelyn4[] = { { .iv = 30, .lvl = 45, @@ -5096,7 +5096,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn5[] = { +static const struct TrainerMonCustomized sParty_Katelyn5[] = { { .iv = 40, .lvl = 48, @@ -5104,7 +5104,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Katelyn5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas1[] = { +static const struct TrainerMonCustomized sParty_Nicolas1[] = { { .iv = 100, .lvl = 37, @@ -5117,7 +5117,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas2[] = { +static const struct TrainerMonCustomized sParty_Nicolas2[] = { { .iv = 110, .lvl = 41, @@ -5130,7 +5130,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas3[] = { +static const struct TrainerMonCustomized sParty_Nicolas3[] = { { .iv = 120, .lvl = 44, @@ -5143,7 +5143,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nicolas4[] = { +static const struct TrainerMonCustomized sParty_Nicolas4[] = { { .iv = 130, .lvl = 46, @@ -5191,7 +5191,7 @@ static const struct TrainerMonCustomized sParty_Aaron[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Perry[] = { +static const struct TrainerMonCustomized sParty_Perry[] = { { .iv = 0, .lvl = 26, @@ -5199,7 +5199,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Perry[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hugh[] = { +static const struct TrainerMonCustomized sParty_Hugh[] = { { .iv = 0, .lvl = 25, @@ -5212,7 +5212,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hugh[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Phil[] = { +static const struct TrainerMonCustomized sParty_Phil[] = { { .iv = 0, .lvl = 26, @@ -5220,7 +5220,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Phil[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jared[] = { +static const struct TrainerMonCustomized sParty_Jared[] = { { .iv = 100, .lvl = 27, @@ -5238,7 +5238,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jared[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Humberto[] = { +static const struct TrainerMonCustomized sParty_Humberto[] = { { .iv = 250, .lvl = 30, @@ -5246,7 +5246,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Humberto[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Presley[] = { +static const struct TrainerMonCustomized sParty_Presley[] = { { .iv = 0, .lvl = 33, @@ -5259,7 +5259,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Presley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edwardo[] = { +static const struct TrainerMonCustomized sParty_Edwardo[] = { { .iv = 150, .lvl = 29, @@ -5272,7 +5272,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwardo[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Colin[] = { +static const struct TrainerMonCustomized sParty_Colin[] = { { .iv = 0, .lvl = 28, @@ -5285,7 +5285,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Colin[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Robert1[] = { +static const struct TrainerMonCustomized sParty_Robert1[] = { { .iv = 0, .lvl = 29, @@ -5293,7 +5293,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Robert1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Benny[] = { +static const struct TrainerMonCustomized sParty_Benny[] = { { .iv = 0, .lvl = 36, @@ -5311,7 +5311,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Benny[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Chester[] = { +static const struct TrainerMonCustomized sParty_Chester[] = { { .iv = 0, .lvl = 25, @@ -5324,7 +5324,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Chester[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Robert2[] = { +static const struct TrainerMonCustomized sParty_Robert2[] = { { .iv = 10, .lvl = 32, @@ -5337,7 +5337,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Robert2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Robert3[] = { +static const struct TrainerMonCustomized sParty_Robert3[] = { { .iv = 20, .lvl = 35, @@ -5350,7 +5350,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Robert3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Robert4[] = { +static const struct TrainerMonCustomized sParty_Robert4[] = { { .iv = 30, .lvl = 38, @@ -5363,7 +5363,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Robert4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Robert5[] = { +static const struct TrainerMonCustomized sParty_Robert5[] = { { .iv = 40, .lvl = 41, @@ -5376,7 +5376,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Robert5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alex[] = { +static const struct TrainerMonCustomized sParty_Alex[] = { { .iv = 150, .lvl = 33, @@ -5389,7 +5389,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alex[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Beck[] = { +static const struct TrainerMonCustomized sParty_Beck[] = { { .iv = 0, .lvl = 34, @@ -5397,7 +5397,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Beck[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Yasu[] = { +static const struct TrainerMonCustomized sParty_Yasu[] = { { .iv = 0, .lvl = 26, @@ -5405,7 +5405,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Yasu[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Takashi[] = { +static const struct TrainerMonCustomized sParty_Takashi[] = { { .iv = 0, .lvl = 25, @@ -5435,7 +5435,7 @@ static const struct TrainerMonCustomized sParty_Dianne[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jani[] = { +static const struct TrainerMonCustomized sParty_Jani[] = { { .iv = 0, .lvl = 26, @@ -5464,7 +5464,7 @@ static const struct TrainerMonCustomized sParty_Lao1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lung[] = { +static const struct TrainerMonCustomized sParty_Lung[] = { { .iv = 0, .lvl = 18, @@ -5589,7 +5589,7 @@ static const struct TrainerMonCustomized sParty_Lao5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jocelyn[] = { +static const struct TrainerMonCustomized sParty_Jocelyn[] = { { .iv = 127, .lvl = 13, @@ -5597,7 +5597,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jocelyn[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Laura[] = { +static const struct TrainerMonCustomized sParty_Laura[] = { { .iv = 150, .lvl = 13, @@ -5605,7 +5605,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Laura[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy1[] = { +static const struct TrainerMonCustomized sParty_Cyndy1[] = { { .iv = 100, .lvl = 18, @@ -5618,7 +5618,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cora[] = { +static const struct TrainerMonCustomized sParty_Cora[] = { { .iv = 100, .lvl = 27, @@ -5626,7 +5626,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cora[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Paula[] = { +static const struct TrainerMonCustomized sParty_Paula[] = { { .iv = 100, .lvl = 27, @@ -5634,7 +5634,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Paula[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy2[] = { +static const struct TrainerMonCustomized sParty_Cyndy2[] = { { .iv = 110, .lvl = 26, @@ -5647,7 +5647,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy3[] = { +static const struct TrainerMonCustomized sParty_Cyndy3[] = { { .iv = 120, .lvl = 29, @@ -5660,7 +5660,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy4[] = { +static const struct TrainerMonCustomized sParty_Cyndy4[] = { { .iv = 130, .lvl = 32, @@ -5673,7 +5673,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cyndy5[] = { +static const struct TrainerMonCustomized sParty_Cyndy5[] = { { .iv = 140, .lvl = 35, @@ -5695,7 +5695,7 @@ static const struct TrainerMonCustomized sParty_Madeline1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Clarissa[] = { +static const struct TrainerMonCustomized sParty_Clarissa[] = { { .iv = 0, .lvl = 28, @@ -5765,7 +5765,7 @@ static const struct TrainerMonCustomized sParty_Madeline5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Beverly[] = { +static const struct TrainerMonCustomized sParty_Beverly[] = { { .iv = 0, .lvl = 25, @@ -5778,7 +5778,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Beverly[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Imani[] = { +static const struct TrainerMonCustomized sParty_Imani[] = { { .iv = 0, .lvl = 26, @@ -5786,7 +5786,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Imani[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kyla[] = { +static const struct TrainerMonCustomized sParty_Kyla[] = { { .iv = 0, .lvl = 26, @@ -5794,7 +5794,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kyla[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Denise[] = { +static const struct TrainerMonCustomized sParty_Denise[] = { { .iv = 0, .lvl = 25, @@ -5807,7 +5807,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Denise[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Beth[] = { +static const struct TrainerMonCustomized sParty_Beth[] = { { .iv = 0, .lvl = 26, @@ -5815,7 +5815,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Beth[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tara[] = { +static const struct TrainerMonCustomized sParty_Tara[] = { { .iv = 0, .lvl = 25, @@ -5828,7 +5828,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tara[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Missy[] = { +static const struct TrainerMonCustomized sParty_Missy[] = { { .iv = 0, .lvl = 26, @@ -5836,7 +5836,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Missy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alice[] = { +static const struct TrainerMonCustomized sParty_Alice[] = { { .iv = 0, .lvl = 24, @@ -5854,7 +5854,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alice[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jenny1[] = { +static const struct TrainerMonCustomized sParty_Jenny1[] = { { .iv = 0, .lvl = 34, @@ -5862,7 +5862,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jenny1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Grace[] = { +static const struct TrainerMonCustomized sParty_Grace[] = { { .iv = 0, .lvl = 34, @@ -5870,7 +5870,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Grace[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tanya[] = { +static const struct TrainerMonCustomized sParty_Tanya[] = { { .iv = 0, .lvl = 34, @@ -5878,7 +5878,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tanya[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sharon[] = { +static const struct TrainerMonCustomized sParty_Sharon[] = { { .iv = 0, .lvl = 34, @@ -5886,7 +5886,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sharon[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nikki[] = { +static const struct TrainerMonCustomized sParty_Nikki[] = { { .iv = 0, .lvl = 33, @@ -5899,7 +5899,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nikki[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brenda[] = { +static const struct TrainerMonCustomized sParty_Brenda[] = { { .iv = 0, .lvl = 34, @@ -5907,7 +5907,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brenda[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Katie[] = { +static const struct TrainerMonCustomized sParty_Katie[] = { { .iv = 0, .lvl = 33, @@ -5920,7 +5920,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Katie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Susie[] = { +static const struct TrainerMonCustomized sParty_Susie[] = { { .iv = 0, .lvl = 34, @@ -5928,7 +5928,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Susie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kara[] = { +static const struct TrainerMonCustomized sParty_Kara[] = { { .iv = 0, .lvl = 34, @@ -5936,7 +5936,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kara[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dana[] = { +static const struct TrainerMonCustomized sParty_Dana[] = { { .iv = 0, .lvl = 34, @@ -5944,7 +5944,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dana[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sienna[] = { +static const struct TrainerMonCustomized sParty_Sienna[] = { { .iv = 0, .lvl = 33, @@ -5957,7 +5957,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sienna[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Debra[] = { +static const struct TrainerMonCustomized sParty_Debra[] = { { .iv = 0, .lvl = 34, @@ -5965,7 +5965,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Debra[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Linda[] = { +static const struct TrainerMonCustomized sParty_Linda[] = { { .iv = 0, .lvl = 33, @@ -5978,7 +5978,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Linda[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kaylee[] = { +static const struct TrainerMonCustomized sParty_Kaylee[] = { { .iv = 0, .lvl = 34, @@ -5991,7 +5991,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kaylee[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Laurel[] = { +static const struct TrainerMonCustomized sParty_Laurel[] = { { .iv = 0, .lvl = 33, @@ -6004,7 +6004,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Laurel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Carlee[] = { +static const struct TrainerMonCustomized sParty_Carlee[] = { { .iv = 0, .lvl = 35, @@ -6012,7 +6012,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Carlee[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jenny2[] = { +static const struct TrainerMonCustomized sParty_Jenny2[] = { { .iv = 0, .lvl = 38, @@ -6020,7 +6020,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jenny2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jenny3[] = { +static const struct TrainerMonCustomized sParty_Jenny3[] = { { .iv = 0, .lvl = 41, @@ -6028,7 +6028,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jenny3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jenny4[] = { +static const struct TrainerMonCustomized sParty_Jenny4[] = { { .iv = 0, .lvl = 43, @@ -6041,7 +6041,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jenny4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jenny5[] = { +static const struct TrainerMonCustomized sParty_Jenny5[] = { { .iv = 0, .lvl = 45, @@ -6089,7 +6089,7 @@ static const struct TrainerMonCustomized sParty_Becky[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Carol[] = { +static const struct TrainerMonCustomized sParty_Carol[] = { { .iv = 0, .lvl = 17, @@ -6102,7 +6102,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Carol[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nancy[] = { +static const struct TrainerMonCustomized sParty_Nancy[] = { { .iv = 0, .lvl = 18, @@ -6115,7 +6115,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nancy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Martha[] = { +static const struct TrainerMonCustomized sParty_Martha[] = { { .iv = 0, .lvl = 23, @@ -6128,7 +6128,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Martha[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Diana1[] = { +static const struct TrainerMonCustomized sParty_Diana1[] = { { .iv = 0, .lvl = 19, @@ -6155,7 +6155,7 @@ static const struct TrainerMonCustomized sParty_Cedric[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Irene[] = { +static const struct TrainerMonCustomized sParty_Irene[] = { { .iv = 0, .lvl = 17, @@ -6168,7 +6168,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Irene[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Diana2[] = { +static const struct TrainerMonCustomized sParty_Diana2[] = { { .iv = 10, .lvl = 25, @@ -6186,7 +6186,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Diana2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Diana3[] = { +static const struct TrainerMonCustomized sParty_Diana3[] = { { .iv = 20, .lvl = 28, @@ -6204,7 +6204,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Diana3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Diana4[] = { +static const struct TrainerMonCustomized sParty_Diana4[] = { { .iv = 30, .lvl = 31, @@ -6222,7 +6222,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Diana4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Diana5[] = { +static const struct TrainerMonCustomized sParty_Diana5[] = { { .iv = 40, .lvl = 40, @@ -6240,7 +6240,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Diana5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv1[] = { +static const struct TrainerMonCustomized sParty_AmyAndLiv1[] = { { .iv = 0, .lvl = 15, @@ -6253,7 +6253,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv2[] = { +static const struct TrainerMonCustomized sParty_AmyAndLiv2[] = { { .iv = 10, .lvl = 27, @@ -6266,7 +6266,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GinaAndMia1[] = { +static const struct TrainerMonCustomized sParty_GinaAndMia1[] = { { .iv = 0, .lvl = 6, @@ -6279,7 +6279,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GinaAndMia1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MiuAndYuki[] = { +static const struct TrainerMonCustomized sParty_MiuAndYuki[] = { { .iv = 0, .lvl = 26, @@ -6292,7 +6292,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MiuAndYuki[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv3[] = { +static const struct TrainerMonCustomized sParty_AmyAndLiv3[] = { { .iv = 0, .lvl = 9, @@ -6320,7 +6320,7 @@ static const struct TrainerMonCustomized sParty_GinaAndMia2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_AmyAndLiv4[] = { +static const struct TrainerMonCustomized sParty_AmyAndLiv4[] = { { .iv = 20, .lvl = 30, @@ -6363,7 +6363,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Huey[] = { +static const struct TrainerMonCustomized sParty_Huey[] = { { .iv = 10, .lvl = 12, @@ -6376,7 +6376,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Huey[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edmond[] = { +static const struct TrainerMonCustomized sParty_Edmond[] = { { .iv = 0, .lvl = 13, @@ -6384,7 +6384,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edmond[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ernest1[] = { +static const struct TrainerMonCustomized sParty_Ernest1[] = { { .iv = 0, .lvl = 33, @@ -6397,7 +6397,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ernest1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dwayne[] = { +static const struct TrainerMonCustomized sParty_Dwayne[] = { { .iv = 0, .lvl = 11, @@ -6415,7 +6415,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dwayne[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Phillip[] = { +static const struct TrainerMonCustomized sParty_Phillip[] = { { .iv = 0, .lvl = 44, @@ -6428,7 +6428,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Phillip[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Leonard[] = { +static const struct TrainerMonCustomized sParty_Leonard[] = { { .iv = 0, .lvl = 43, @@ -6446,7 +6446,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leonard[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Duncan[] = { +static const struct TrainerMonCustomized sParty_Duncan[] = { { .iv = 0, .lvl = 25, @@ -6459,7 +6459,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Duncan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ernest2[] = { +static const struct TrainerMonCustomized sParty_Ernest2[] = { { .iv = 10, .lvl = 36, @@ -6477,7 +6477,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ernest2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ernest3[] = { +static const struct TrainerMonCustomized sParty_Ernest3[] = { { .iv = 20, .lvl = 39, @@ -6495,7 +6495,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ernest3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ernest4[] = { +static const struct TrainerMonCustomized sParty_Ernest4[] = { { .iv = 30, .lvl = 42, @@ -6513,7 +6513,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ernest4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ernest5[] = { +static const struct TrainerMonCustomized sParty_Ernest5[] = { { .iv = 40, .lvl = 45, @@ -6531,7 +6531,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ernest5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Eli[] = { +static const struct TrainerMonCustomized sParty_Eli[] = { { .iv = 100, .lvl = 23, @@ -6556,7 +6556,7 @@ static const struct TrainerMonCustomized sParty_Annika[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jazmyn[] = { +static const struct TrainerMonCustomized sParty_Jazmyn[] = { { .iv = 0, .lvl = 27, @@ -6582,7 +6582,7 @@ static const struct TrainerMonCustomized sParty_Kayley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Auron[] = { +static const struct TrainerMonCustomized sParty_Auron[] = { { .iv = 0, .lvl = 33, @@ -6595,7 +6595,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Auron[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kelvin[] = { +static const struct TrainerMonCustomized sParty_Kelvin[] = { { .iv = 150, .lvl = 33, @@ -6618,7 +6618,7 @@ static const struct TrainerMonCustomized sParty_Marley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Reyna[] = { +static const struct TrainerMonCustomized sParty_Reyna[] = { { .iv = 50, .lvl = 33, @@ -6631,7 +6631,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Reyna[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hudson[] = { +static const struct TrainerMonCustomized sParty_Hudson[] = { { .iv = 0, .lvl = 34, @@ -6639,7 +6639,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hudson[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Conor[] = { +static const struct TrainerMonCustomized sParty_Conor[] = { { .iv = 0, .lvl = 33, @@ -6652,7 +6652,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Conor[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edwin1[] = { +static const struct TrainerMonCustomized sParty_Edwin1[] = { { .iv = 0, .lvl = 14, @@ -6665,7 +6665,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { +static const struct TrainerMonCustomized sParty_Hector[] = { { .iv = 0, .lvl = 18, @@ -6678,7 +6678,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hector[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMossdeep[] = { +static const struct TrainerMonCustomized sParty_TabithaMossdeep[] = { { .iv = 100, .lvl = 36, @@ -6696,7 +6696,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMossdeep[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edwin2[] = { +static const struct TrainerMonCustomized sParty_Edwin2[] = { { .iv = 0, .lvl = 26, @@ -6709,7 +6709,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edwin3[] = { +static const struct TrainerMonCustomized sParty_Edwin3[] = { { .iv = 0, .lvl = 29, @@ -6722,7 +6722,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edwin4[] = { +static const struct TrainerMonCustomized sParty_Edwin4[] = { { .iv = 0, .lvl = 32, @@ -6735,7 +6735,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Edwin4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Edwin5[] = { +static const struct TrainerMonCustomized sParty_Edwin5[] = { { .iv = 0, .lvl = 35, @@ -6781,7 +6781,7 @@ static const struct TrainerMonCustomized sParty_WallyVR1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Mudkip[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute103Mudkip[] = { { .iv = 0, .lvl = 5, @@ -6789,7 +6789,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Mudkip[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Mudkip[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute110Mudkip[] = { { .iv = 50, .lvl = 18, @@ -6807,7 +6807,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Mudkip[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Mudkip[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute119Mudkip[] = { { .iv = 100, .lvl = 29, @@ -6825,7 +6825,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Mudkip[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Treecko[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute103Treecko[] = { { .iv = 0, .lvl = 5, @@ -6833,7 +6833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Treecko[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Treecko[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute110Treecko[] = { { .iv = 50, .lvl = 18, @@ -6851,7 +6851,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Treecko[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Treecko[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute119Treecko[] = { { .iv = 100, .lvl = 29, @@ -6869,7 +6869,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Treecko[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Torchic[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute103Torchic[] = { { .iv = 0, .lvl = 5, @@ -6877,7 +6877,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute103Torchic[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Torchic[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute110Torchic[] = { { .iv = 50, .lvl = 18, @@ -6895,7 +6895,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute110Torchic[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Torchic[] = { +static const struct TrainerMonCustomized sParty_BrendanRoute119Torchic[] = { { .iv = 100, .lvl = 29, @@ -6913,7 +6913,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRoute119Torchic[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Mudkip[] = { +static const struct TrainerMonCustomized sParty_MayRoute103Mudkip[] = { { .iv = 0, .lvl = 5, @@ -6921,7 +6921,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Mudkip[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Mudkip[] = { +static const struct TrainerMonCustomized sParty_MayRoute110Mudkip[] = { { .iv = 50, .lvl = 18, @@ -6939,7 +6939,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Mudkip[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Mudkip[] = { +static const struct TrainerMonCustomized sParty_MayRoute119Mudkip[] = { { .iv = 100, .lvl = 29, @@ -6957,7 +6957,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Mudkip[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Treecko[] = { +static const struct TrainerMonCustomized sParty_MayRoute103Treecko[] = { { .iv = 0, .lvl = 5, @@ -6965,7 +6965,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Treecko[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Treecko[] = { +static const struct TrainerMonCustomized sParty_MayRoute110Treecko[] = { { .iv = 50, .lvl = 18, @@ -6983,7 +6983,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Treecko[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Treecko[] = { +static const struct TrainerMonCustomized sParty_MayRoute119Treecko[] = { { .iv = 100, .lvl = 29, @@ -7001,7 +7001,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Treecko[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Torchic[] = { +static const struct TrainerMonCustomized sParty_MayRoute103Torchic[] = { { .iv = 0, .lvl = 5, @@ -7009,7 +7009,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute103Torchic[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Torchic[] = { +static const struct TrainerMonCustomized sParty_MayRoute110Torchic[] = { { .iv = 50, .lvl = 18, @@ -7027,7 +7027,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute110Torchic[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Torchic[] = { +static const struct TrainerMonCustomized sParty_MayRoute119Torchic[] = { { .iv = 100, .lvl = 29, @@ -7045,7 +7045,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRoute119Torchic[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaac1[] = { +static const struct TrainerMonCustomized sParty_Isaac1[] = { { .iv = 0, .lvl = 11, @@ -7078,7 +7078,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaac1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Davis[] = { +static const struct TrainerMonCustomized sParty_Davis[] = { { .iv = 0, .lvl = 27, @@ -7101,7 +7101,7 @@ static const struct TrainerMonCustomized sParty_Mitchell[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaac2[] = { +static const struct TrainerMonCustomized sParty_Isaac2[] = { { .iv = 10, .lvl = 22, @@ -7134,7 +7134,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaac2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaac3[] = { +static const struct TrainerMonCustomized sParty_Isaac3[] = { { .iv = 20, .lvl = 25, @@ -7167,7 +7167,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaac3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaac4[] = { +static const struct TrainerMonCustomized sParty_Isaac4[] = { { .iv = 30, .lvl = 28, @@ -7200,7 +7200,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaac4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isaac5[] = { +static const struct TrainerMonCustomized sParty_Isaac5[] = { { .iv = 40, .lvl = 31, @@ -7233,7 +7233,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isaac5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lydia1[] = { +static const struct TrainerMonCustomized sParty_Lydia1[] = { { .iv = 0, .lvl = 11, @@ -7266,7 +7266,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lydia1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Halle[] = { +static const struct TrainerMonCustomized sParty_Halle[] = { { .iv = 0, .lvl = 43, @@ -7279,7 +7279,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Halle[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Garrison[] = { +static const struct TrainerMonCustomized sParty_Garrison[] = { { .iv = 0, .lvl = 26, @@ -7287,7 +7287,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Garrison[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lydia2[] = { +static const struct TrainerMonCustomized sParty_Lydia2[] = { { .iv = 10, .lvl = 22, @@ -7320,7 +7320,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lydia2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lydia3[] = { +static const struct TrainerMonCustomized sParty_Lydia3[] = { { .iv = 20, .lvl = 25, @@ -7353,7 +7353,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lydia3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lydia4[] = { +static const struct TrainerMonCustomized sParty_Lydia4[] = { { .iv = 30, .lvl = 28, @@ -7386,7 +7386,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lydia4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lydia5[] = { +static const struct TrainerMonCustomized sParty_Lydia5[] = { { .iv = 40, .lvl = 31, @@ -7419,7 +7419,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lydia5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jackson1[] = { +static const struct TrainerMonCustomized sParty_Jackson1[] = { { .iv = 50, .lvl = 27, @@ -7427,7 +7427,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jackson1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lorenzo[] = { +static const struct TrainerMonCustomized sParty_Lorenzo[] = { { .iv = 50, .lvl = 28, @@ -7445,7 +7445,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lorenzo[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sebastian[] = { +static const struct TrainerMonCustomized sParty_Sebastian[] = { { .iv = 50, .lvl = 39, @@ -7453,7 +7453,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sebastian[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jackson2[] = { +static const struct TrainerMonCustomized sParty_Jackson2[] = { { .iv = 60, .lvl = 31, @@ -7461,7 +7461,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jackson2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jackson3[] = { +static const struct TrainerMonCustomized sParty_Jackson3[] = { { .iv = 70, .lvl = 34, @@ -7469,7 +7469,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jackson3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jackson4[] = { +static const struct TrainerMonCustomized sParty_Jackson4[] = { { .iv = 80, .lvl = 37, @@ -7477,7 +7477,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jackson4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jackson5[] = { +static const struct TrainerMonCustomized sParty_Jackson5[] = { { .iv = 90, .lvl = 39, @@ -7490,7 +7490,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jackson5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Catherine1[] = { +static const struct TrainerMonCustomized sParty_Catherine1[] = { { .iv = 50, .lvl = 26, @@ -7503,7 +7503,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Catherine1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jenna[] = { +static const struct TrainerMonCustomized sParty_Jenna[] = { { .iv = 50, .lvl = 28, @@ -7521,7 +7521,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jenna[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sophia[] = { +static const struct TrainerMonCustomized sParty_Sophia[] = { { .iv = 50, .lvl = 38, @@ -7534,7 +7534,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sophia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Catherine2[] = { +static const struct TrainerMonCustomized sParty_Catherine2[] = { { .iv = 60, .lvl = 30, @@ -7547,7 +7547,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Catherine2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Catherine3[] = { +static const struct TrainerMonCustomized sParty_Catherine3[] = { { .iv = 70, .lvl = 33, @@ -7560,7 +7560,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Catherine3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Catherine4[] = { +static const struct TrainerMonCustomized sParty_Catherine4[] = { { .iv = 80, .lvl = 36, @@ -7573,7 +7573,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Catherine4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Catherine5[] = { +static const struct TrainerMonCustomized sParty_Catherine5[] = { { .iv = 90, .lvl = 39, @@ -7586,7 +7586,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Catherine5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = { +static const struct TrainerMonCustomized sParty_Julio[] = { { .iv = 0, .lvl = 21, @@ -7594,7 +7594,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Julio[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern5[] = { +static const struct TrainerMonCustomized sParty_GruntSeafloorCavern5[] = { { .iv = 50, .lvl = 35, @@ -7607,7 +7607,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSeafloorCavern5[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntUnused[] = { +static const struct TrainerMonCustomized sParty_GruntUnused[] = { { .iv = 0, .lvl = 31, @@ -7620,7 +7620,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntUnused[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre4[] = { +static const struct TrainerMonCustomized sParty_GruntMtPyre4[] = { { .iv = 0, .lvl = 30, @@ -7633,7 +7633,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtPyre4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntJaggedPass[] = { +static const struct TrainerMonCustomized sParty_GruntJaggedPass[] = { { .iv = 50, .lvl = 22, @@ -7646,7 +7646,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntJaggedPass[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Marc[] = { +static const struct TrainerMonCustomized sParty_Marc[] = { { .iv = 120, .lvl = 8, @@ -7659,7 +7659,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Marc[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brenden[] = { +static const struct TrainerMonCustomized sParty_Brenden[] = { { .iv = 100, .lvl = 13, @@ -7667,7 +7667,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brenden[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lilith[] = { +static const struct TrainerMonCustomized sParty_Lilith[] = { { .iv = 150, .lvl = 13, @@ -7675,7 +7675,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lilith[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cristian[] = { +static const struct TrainerMonCustomized sParty_Cristian[] = { { .iv = 200, .lvl = 13, @@ -7683,7 +7683,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristian[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sylvia[] = { +static const struct TrainerMonCustomized sParty_Sylvia[] = { { .iv = 100, .lvl = 36, @@ -7691,7 +7691,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sylvia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Leonardo[] = { +static const struct TrainerMonCustomized sParty_Leonardo[] = { { .iv = 0, .lvl = 34, @@ -7716,7 +7716,7 @@ static const struct TrainerMonCustomized sParty_Athena[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = { +static const struct TrainerMonCustomized sParty_Harrison[] = { { .iv = 0, .lvl = 35, @@ -7724,7 +7724,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Harrison[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney2[] = { +static const struct TrainerMonCustomized sParty_GruntMtChimney2[] = { { .iv = 0, .lvl = 20, @@ -7732,7 +7732,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMtChimney2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Clarence[] = { +static const struct TrainerMonCustomized sParty_Clarence[] = { { .iv = 0, .lvl = 34, @@ -7740,7 +7740,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Clarence[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Terry[] = { +static const struct TrainerMonCustomized sParty_Terry[] = { { .iv = 0, .lvl = 37, @@ -7748,7 +7748,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Terry[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nate[] = { +static const struct TrainerMonCustomized sParty_Nate[] = { { .iv = 100, .lvl = 36, @@ -7756,7 +7756,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nate[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kathleen[] = { +static const struct TrainerMonCustomized sParty_Kathleen[] = { { .iv = 100, .lvl = 36, @@ -7764,7 +7764,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kathleen[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Clifford[] = { +static const struct TrainerMonCustomized sParty_Clifford[] = { { .iv = 0, .lvl = 36, @@ -7772,7 +7772,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Clifford[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = { +static const struct TrainerMonCustomized sParty_Nicholas[] = { { .iv = 0, .lvl = 36, @@ -7780,7 +7780,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Nicholas[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter3[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter3[] = { { .iv = 0, .lvl = 31, @@ -7793,7 +7793,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter4[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter4[] = { { .iv = 0, .lvl = 32, @@ -7801,7 +7801,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter5[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter5[] = { { .iv = 0, .lvl = 32, @@ -7809,7 +7809,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter6[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter6[] = { { .iv = 0, .lvl = 32, @@ -7817,7 +7817,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter7[] = { +static const struct TrainerMonCustomized sParty_GruntSpaceCenter7[] = { { .iv = 0, .lvl = 32, @@ -7825,7 +7825,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntSpaceCenter7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { +static const struct TrainerMonCustomized sParty_Macey[] = { { .iv = 0, .lvl = 36, @@ -7833,7 +7833,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Macey[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTreecko[] = { +static const struct TrainerMonCustomized sParty_BrendanRustboroTreecko[] = { { .iv = 25, .lvl = 13, @@ -7846,7 +7846,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTreecko[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroMudkip[] = { +static const struct TrainerMonCustomized sParty_BrendanRustboroMudkip[] = { { .iv = 25, .lvl = 13, @@ -7859,7 +7859,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroMudkip[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Paxton[] = { +static const struct TrainerMonCustomized sParty_Paxton[] = { { .iv = 0, .lvl = 33, @@ -7872,7 +7872,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Paxton[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = { +static const struct TrainerMonCustomized sParty_Isabella[] = { { .iv = 0, .lvl = 34, @@ -7880,7 +7880,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isabella[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst5[] = { +static const struct TrainerMonCustomized sParty_GruntWeatherInst5[] = { { .iv = 0, .lvl = 27, @@ -7893,7 +7893,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntWeatherInst5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMtChimney[] = { +static const struct TrainerMonCustomized sParty_TabithaMtChimney[] = { { .iv = 50, .lvl = 18, @@ -7916,7 +7916,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMtChimney[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { +static const struct TrainerMonCustomized sParty_Jonathan[] = { { .iv = 0, .lvl = 33, @@ -7929,7 +7929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jonathan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTorchic[] = { +static const struct TrainerMonCustomized sParty_BrendanRustboroTorchic[] = { { .iv = 25, .lvl = 13, @@ -7942,7 +7942,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanRustboroTorchic[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroMudkip[] = { +static const struct TrainerMonCustomized sParty_MayRustboroMudkip[] = { { .iv = 25, .lvl = 13, @@ -7955,7 +7955,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroMudkip[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMagmaHideout[] = { +static const struct TrainerMonCustomized sParty_MaxieMagmaHideout[] = { { .iv = 150, .lvl = 37, @@ -7973,7 +7973,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMagmaHideout[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMtChimney[] = { +static const struct TrainerMonCustomized sParty_MaxieMtChimney[] = { { .iv = 150, .lvl = 24, @@ -7991,7 +7991,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMtChimney[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tiana[] = { +static const struct TrainerMonCustomized sParty_Tiana[] = { { .iv = 0, .lvl = 4, @@ -8004,7 +8004,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tiana[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Haley1[] = { +static const struct TrainerMonCustomized sParty_Haley1[] = { { .iv = 0, .lvl = 6, @@ -8017,7 +8017,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Haley1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Janice[] = { +static const struct TrainerMonCustomized sParty_Janice[] = { { .iv = 0, .lvl = 9, @@ -8025,7 +8025,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Janice[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Vivi[] = { +static const struct TrainerMonCustomized sParty_Vivi[] = { { .iv = 100, .lvl = 15, @@ -8043,7 +8043,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Vivi[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Haley2[] = { +static const struct TrainerMonCustomized sParty_Haley2[] = { { .iv = 10, .lvl = 26, @@ -8056,7 +8056,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Haley2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Haley3[] = { +static const struct TrainerMonCustomized sParty_Haley3[] = { { .iv = 20, .lvl = 29, @@ -8069,7 +8069,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Haley3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Haley4[] = { +static const struct TrainerMonCustomized sParty_Haley4[] = { { .iv = 30, .lvl = 32, @@ -8082,7 +8082,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Haley4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Haley5[] = { +static const struct TrainerMonCustomized sParty_Haley5[] = { { .iv = 40, .lvl = 34, @@ -8100,7 +8100,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Haley5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sally[] = { +static const struct TrainerMonCustomized sParty_Sally[] = { { .iv = 0, .lvl = 16, @@ -8108,7 +8108,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sally[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Robin[] = { +static const struct TrainerMonCustomized sParty_Robin[] = { { .iv = 0, .lvl = 14, @@ -8126,7 +8126,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Robin[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andrea[] = { +static const struct TrainerMonCustomized sParty_Andrea[] = { { .iv = 100, .lvl = 40, @@ -8134,7 +8134,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andrea[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Crissy[] = { +static const struct TrainerMonCustomized sParty_Crissy[] = { { .iv = 100, .lvl = 39, @@ -8147,7 +8147,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Crissy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rick[] = { +static const struct TrainerMonCustomized sParty_Rick[] = { { .iv = 0, .lvl = 4, @@ -8160,7 +8160,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rick[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lyle[] = { +static const struct TrainerMonCustomized sParty_Lyle[] = { { .iv = 0, .lvl = 3, @@ -8183,7 +8183,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lyle[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jose[] = { +static const struct TrainerMonCustomized sParty_Jose[] = { { .iv = 50, .lvl = 8, @@ -8196,7 +8196,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jose[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Doug[] = { +static const struct TrainerMonCustomized sParty_Doug[] = { { .iv = 0, .lvl = 28, @@ -8209,7 +8209,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Doug[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Greg[] = { +static const struct TrainerMonCustomized sParty_Greg[] = { { .iv = 0, .lvl = 25, @@ -8222,7 +8222,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Greg[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kent[] = { +static const struct TrainerMonCustomized sParty_Kent[] = { { .iv = 0, .lvl = 25, @@ -8230,7 +8230,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kent[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_James1[] = { +static const struct TrainerMonCustomized sParty_James1[] = { { .iv = 0, .lvl = 6, @@ -8243,7 +8243,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_James1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_James2[] = { +static const struct TrainerMonCustomized sParty_James2[] = { { .iv = 10, .lvl = 27, @@ -8251,7 +8251,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_James2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_James3[] = { +static const struct TrainerMonCustomized sParty_James3[] = { { .iv = 20, .lvl = 29, @@ -8264,7 +8264,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_James3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_James4[] = { +static const struct TrainerMonCustomized sParty_James4[] = { { .iv = 30, .lvl = 31, @@ -8282,7 +8282,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_James4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_James5[] = { +static const struct TrainerMonCustomized sParty_James5[] = { { .iv = 40, .lvl = 33, @@ -8305,7 +8305,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_James5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brice[] = { +static const struct TrainerMonCustomized sParty_Brice[] = { { .iv = 0, .lvl = 17, @@ -8318,7 +8318,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brice[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Trent1[] = { +static const struct TrainerMonCustomized sParty_Trent1[] = { { .iv = 0, .lvl = 16, @@ -8336,7 +8336,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Trent1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lenny[] = { +static const struct TrainerMonCustomized sParty_Lenny[] = { { .iv = 0, .lvl = 18, @@ -8349,7 +8349,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lenny[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lucas1[] = { +static const struct TrainerMonCustomized sParty_Lucas1[] = { { .iv = 0, .lvl = 18, @@ -8362,7 +8362,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lucas1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alan[] = { +static const struct TrainerMonCustomized sParty_Alan[] = { { .iv = 0, .lvl = 22, @@ -8380,7 +8380,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Clark[] = { +static const struct TrainerMonCustomized sParty_Clark[] = { { .iv = 0, .lvl = 8, @@ -8388,7 +8388,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Clark[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Eric[] = { +static const struct TrainerMonCustomized sParty_Eric[] = { { .iv = 0, .lvl = 20, @@ -8425,7 +8425,7 @@ static const struct TrainerMonCustomized sParty_Mike1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Mike2[] = { +static const struct TrainerMonCustomized sParty_Mike2[] = { { .iv = 0, .lvl = 16, @@ -8443,7 +8443,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Mike2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Trent2[] = { +static const struct TrainerMonCustomized sParty_Trent2[] = { { .iv = 10, .lvl = 24, @@ -8466,7 +8466,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Trent2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Trent3[] = { +static const struct TrainerMonCustomized sParty_Trent3[] = { { .iv = 20, .lvl = 27, @@ -8489,7 +8489,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Trent3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Trent4[] = { +static const struct TrainerMonCustomized sParty_Trent4[] = { { .iv = 30, .lvl = 30, @@ -8512,7 +8512,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Trent4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Trent5[] = { +static const struct TrainerMonCustomized sParty_Trent5[] = { { .iv = 40, .lvl = 33, @@ -8535,7 +8535,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Trent5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_DezAndLuke[] = { +static const struct TrainerMonCustomized sParty_DezAndLuke[] = { { .iv = 0, .lvl = 31, @@ -8548,7 +8548,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_DezAndLuke[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LeaAndJed[] = { +static const struct TrainerMonCustomized sParty_LeaAndJed[] = { { .iv = 0, .lvl = 45, @@ -8561,7 +8561,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LeaAndJed[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan1[] = { +static const struct TrainerMonCustomized sParty_KiraAndDan1[] = { { .iv = 0, .lvl = 25, @@ -8574,7 +8574,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan2[] = { +static const struct TrainerMonCustomized sParty_KiraAndDan2[] = { { .iv = 10, .lvl = 30, @@ -8587,7 +8587,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan3[] = { +static const struct TrainerMonCustomized sParty_KiraAndDan3[] = { { .iv = 20, .lvl = 33, @@ -8600,7 +8600,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan4[] = { +static const struct TrainerMonCustomized sParty_KiraAndDan4[] = { { .iv = 30, .lvl = 36, @@ -8613,7 +8613,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan5[] = { +static const struct TrainerMonCustomized sParty_KiraAndDan5[] = { { .iv = 40, .lvl = 39, @@ -8626,7 +8626,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_KiraAndDan5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Johanna[] = { +static const struct TrainerMonCustomized sParty_Johanna[] = { { .iv = 0, .lvl = 13, @@ -8712,7 +8712,7 @@ static const struct TrainerMonCustomized sParty_Riley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Flint[] = { +static const struct TrainerMonCustomized sParty_Flint[] = { { .iv = 150, .lvl = 29, @@ -8725,7 +8725,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Flint[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { +static const struct TrainerMonCustomized sParty_Ashley[] = { { .iv = 100, .lvl = 27, @@ -8743,7 +8743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ashley[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_WallyMauville[] = { +static const struct TrainerMonCustomized sParty_WallyMauville[] = { { .iv = 30, .lvl = 16, @@ -8883,7 +8883,7 @@ static const struct TrainerMonCustomized sParty_WallyVR5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveMudkip[] = { +static const struct TrainerMonCustomized sParty_BrendanLilycoveMudkip[] = { { .iv = 150, .lvl = 31, @@ -8906,7 +8906,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveMudkip[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTreecko[] = { +static const struct TrainerMonCustomized sParty_BrendanLilycoveTreecko[] = { { .iv = 150, .lvl = 31, @@ -8929,7 +8929,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTreecko[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTorchic[] = { +static const struct TrainerMonCustomized sParty_BrendanLilycoveTorchic[] = { { .iv = 150, .lvl = 31, @@ -8952,7 +8952,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLilycoveTorchic[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveMudkip[] = { +static const struct TrainerMonCustomized sParty_MayLilycoveMudkip[] = { { .iv = 150, .lvl = 31, @@ -8975,7 +8975,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveMudkip[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTreecko[] = { +static const struct TrainerMonCustomized sParty_MayLilycoveTreecko[] = { { .iv = 150, .lvl = 31, @@ -8998,7 +8998,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTreecko[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTorchic[] = { +static const struct TrainerMonCustomized sParty_MayLilycoveTorchic[] = { { .iv = 150, .lvl = 31, @@ -9021,7 +9021,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayLilycoveTorchic[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jonah[] = { +static const struct TrainerMonCustomized sParty_Jonah[] = { { .iv = 0, .lvl = 30, @@ -9039,7 +9039,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jonah[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Henry[] = { +static const struct TrainerMonCustomized sParty_Henry[] = { { .iv = 0, .lvl = 31, @@ -9052,7 +9052,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Henry[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Roger[] = { +static const struct TrainerMonCustomized sParty_Roger[] = { { .iv = 0, .lvl = 15, @@ -9070,7 +9070,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Roger[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alexa[] = { +static const struct TrainerMonCustomized sParty_Alexa[] = { { .iv = 100, .lvl = 34, @@ -9083,7 +9083,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alexa[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Ruben[] = { +static const struct TrainerMonCustomized sParty_Ruben[] = { { .iv = 100, .lvl = 34, @@ -9096,7 +9096,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Ruben[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Koji1[] = { +static const struct TrainerMonCustomized sParty_Koji1[] = { { .iv = 0, .lvl = 34, @@ -9104,7 +9104,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Koji1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wayne[] = { +static const struct TrainerMonCustomized sParty_Wayne[] = { { .iv = 0, .lvl = 31, @@ -9122,7 +9122,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wayne[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Aidan[] = { +static const struct TrainerMonCustomized sParty_Aidan[] = { { .iv = 0, .lvl = 32, @@ -9135,7 +9135,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Aidan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Reed[] = { +static const struct TrainerMonCustomized sParty_Reed[] = { { .iv = 0, .lvl = 33, @@ -9148,7 +9148,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Reed[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tisha[] = { +static const struct TrainerMonCustomized sParty_Tisha[] = { { .iv = 0, .lvl = 34, @@ -9156,7 +9156,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tisha[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_ToriAndTia[] = { +static const struct TrainerMonCustomized sParty_ToriAndTia[] = { { .iv = 0, .lvl = 19, @@ -9289,7 +9289,7 @@ static const struct TrainerMonCustomized sParty_JohnAndJay5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_ReliAndIan[] = { +static const struct TrainerMonCustomized sParty_ReliAndIan[] = { { .iv = 0, .lvl = 35, @@ -9302,7 +9302,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_ReliAndIan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy1[] = { +static const struct TrainerMonCustomized sParty_LilaAndRoy1[] = { { .iv = 0, .lvl = 34, @@ -9315,7 +9315,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy2[] = { +static const struct TrainerMonCustomized sParty_LilaAndRoy2[] = { { .iv = 0, .lvl = 42, @@ -9328,7 +9328,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy3[] = { +static const struct TrainerMonCustomized sParty_LilaAndRoy3[] = { { .iv = 0, .lvl = 45, @@ -9341,7 +9341,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy4[] = { +static const struct TrainerMonCustomized sParty_LilaAndRoy4[] = { { .iv = 0, .lvl = 48, @@ -9354,7 +9354,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy5[] = { +static const struct TrainerMonCustomized sParty_LilaAndRoy5[] = { { .iv = 0, .lvl = 51, @@ -9367,7 +9367,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LilaAndRoy5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_LisaAndRay[] = { +static const struct TrainerMonCustomized sParty_LisaAndRay[] = { { .iv = 0, .lvl = 27, @@ -9380,7 +9380,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_LisaAndRay[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Chris[] = { +static const struct TrainerMonCustomized sParty_Chris[] = { { .iv = 0, .lvl = 29, @@ -9433,7 +9433,7 @@ static const struct TrainerMonCustomized sParty_Sarah[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Darian[] = { +static const struct TrainerMonCustomized sParty_Darian[] = { { .iv = 0, .lvl = 9, @@ -9441,7 +9441,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darian[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hailey[] = { +static const struct TrainerMonCustomized sParty_Hailey[] = { { .iv = 0, .lvl = 13, @@ -9449,7 +9449,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hailey[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Chandler[] = { +static const struct TrainerMonCustomized sParty_Chandler[] = { { .iv = 0, .lvl = 12, @@ -9477,7 +9477,7 @@ static const struct TrainerMonCustomized sParty_Kaleb[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Joseph[] = { +static const struct TrainerMonCustomized sParty_Joseph[] = { { .iv = 0, .lvl = 14, @@ -9490,7 +9490,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Joseph[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alyssa[] = { +static const struct TrainerMonCustomized sParty_Alyssa[] = { { .iv = 0, .lvl = 15, @@ -9498,7 +9498,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alyssa[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Marcos[] = { +static const struct TrainerMonCustomized sParty_Marcos[] = { { .iv = 100, .lvl = 15, @@ -9506,7 +9506,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Marcos[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rhett[] = { +static const struct TrainerMonCustomized sParty_Rhett[] = { { .iv = 100, .lvl = 15, @@ -9514,7 +9514,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Rhett[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tyron[] = { +static const struct TrainerMonCustomized sParty_Tyron[] = { { .iv = 0, .lvl = 19, @@ -9522,7 +9522,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tyron[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Celina[] = { +static const struct TrainerMonCustomized sParty_Celina[] = { { .iv = 0, .lvl = 18, @@ -9530,7 +9530,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Celina[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bianca[] = { +static const struct TrainerMonCustomized sParty_Bianca[] = { { .iv = 0, .lvl = 18, @@ -9538,7 +9538,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bianca[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Hayden[] = { +static const struct TrainerMonCustomized sParty_Hayden[] = { { .iv = 0, .lvl = 18, @@ -9546,7 +9546,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Hayden[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sophie[] = { +static const struct TrainerMonCustomized sParty_Sophie[] = { { .iv = 0, .lvl = 17, @@ -9559,7 +9559,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sophie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Coby[] = { +static const struct TrainerMonCustomized sParty_Coby[] = { { .iv = 0, .lvl = 17, @@ -9572,7 +9572,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Coby[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lawrence[] = { +static const struct TrainerMonCustomized sParty_Lawrence[] = { { .iv = 0, .lvl = 18, @@ -9585,7 +9585,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lawrence[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Wyatt[] = { +static const struct TrainerMonCustomized sParty_Wyatt[] = { { .iv = 0, .lvl = 18, @@ -9598,7 +9598,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Wyatt[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Angelina[] = { +static const struct TrainerMonCustomized sParty_Angelina[] = { { .iv = 0, .lvl = 18, @@ -9611,7 +9611,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Angelina[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kai[] = { +static const struct TrainerMonCustomized sParty_Kai[] = { { .iv = 0, .lvl = 19, @@ -9619,7 +9619,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kai[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Charlotte[] = { +static const struct TrainerMonCustomized sParty_Charlotte[] = { { .iv = 0, .lvl = 19, @@ -9627,7 +9627,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Charlotte[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = { +static const struct TrainerMonCustomized sParty_Deandre[] = { { .iv = 0, .lvl = 14, @@ -9645,7 +9645,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Deandre[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout1[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout1[] = { { .iv = 0, .lvl = 29, @@ -9653,7 +9653,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout2[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout2[] = { { .iv = 0, .lvl = 29, @@ -9661,7 +9661,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout3[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout3[] = { { .iv = 0, .lvl = 29, @@ -9669,7 +9669,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout4[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout4[] = { { .iv = 0, .lvl = 28, @@ -9682,7 +9682,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout5[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout5[] = { { .iv = 0, .lvl = 28, @@ -9695,7 +9695,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout6[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout6[] = { { .iv = 0, .lvl = 29, @@ -9703,7 +9703,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout6[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout7[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout7[] = { { .iv = 0, .lvl = 29, @@ -9711,7 +9711,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout7[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout8[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout8[] = { { .iv = 0, .lvl = 29, @@ -9719,7 +9719,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout8[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout9[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout9[] = { { .iv = 0, .lvl = 29, @@ -9727,7 +9727,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout9[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout10[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout10[] = { { .iv = 0, .lvl = 29, @@ -9735,7 +9735,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout10[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout11[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout11[] = { { .iv = 0, .lvl = 29, @@ -9743,7 +9743,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout11[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout12[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout12[] = { { .iv = 0, .lvl = 29, @@ -9751,7 +9751,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout12[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout13[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout13[] = { { .iv = 0, .lvl = 29, @@ -9759,7 +9759,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout13[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout14[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout14[] = { { .iv = 0, .lvl = 29, @@ -9767,7 +9767,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout14[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout15[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout15[] = { { .iv = 0, .lvl = 29, @@ -9775,7 +9775,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout15[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout16[] = { +static const struct TrainerMonCustomized sParty_GruntMagmaHideout16[] = { { .iv = 0, .lvl = 29, @@ -9783,7 +9783,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_GruntMagmaHideout16[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMagmaHideout[] = { +static const struct TrainerMonCustomized sParty_TabithaMagmaHideout[] = { { .iv = 75, .lvl = 26, @@ -9806,7 +9806,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_TabithaMagmaHideout[] = } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { +static const struct TrainerMonCustomized sParty_Darcy[] = { { .iv = 0, .lvl = 33, @@ -9819,7 +9819,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Darcy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMossdeep[] = { +static const struct TrainerMonCustomized sParty_MaxieMossdeep[] = { { .iv = 150, .lvl = 42, @@ -9837,7 +9837,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MaxieMossdeep[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pete[] = { +static const struct TrainerMonCustomized sParty_Pete[] = { { .iv = 0, .lvl = 15, @@ -9845,7 +9845,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pete[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Isabelle[] = { +static const struct TrainerMonCustomized sParty_Isabelle[] = { { .iv = 0, .lvl = 15, @@ -9853,7 +9853,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Isabelle[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andres1[] = { +static const struct TrainerMonCustomized sParty_Andres1[] = { { .iv = 50, .lvl = 25, @@ -9866,7 +9866,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andres1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Josue[] = { +static const struct TrainerMonCustomized sParty_Josue[] = { { .iv = 50, .lvl = 25, @@ -9879,7 +9879,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Josue[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Camron[] = { +static const struct TrainerMonCustomized sParty_Camron[] = { { .iv = 0, .lvl = 26, @@ -9887,7 +9887,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Camron[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cory1[] = { +static const struct TrainerMonCustomized sParty_Cory1[] = { { .iv = 0, .lvl = 24, @@ -9905,7 +9905,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cory1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Carolina[] = { +static const struct TrainerMonCustomized sParty_Carolina[] = { { .iv = 50, .lvl = 24, @@ -9923,7 +9923,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Carolina[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Elijah[] = { +static const struct TrainerMonCustomized sParty_Elijah[] = { { .iv = 0, .lvl = 25, @@ -9936,7 +9936,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Elijah[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Celia[] = { +static const struct TrainerMonCustomized sParty_Celia[] = { { .iv = 0, .lvl = 22, @@ -9949,7 +9949,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Celia[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bryan[] = { +static const struct TrainerMonCustomized sParty_Bryan[] = { { .iv = 0, .lvl = 22, @@ -9962,7 +9962,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bryan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Branden[] = { +static const struct TrainerMonCustomized sParty_Branden[] = { { .iv = 0, .lvl = 22, @@ -9975,7 +9975,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Branden[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Bryant[] = { +static const struct TrainerMonCustomized sParty_Bryant[] = { { .iv = 0, .lvl = 18, @@ -9988,7 +9988,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Bryant[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Shayla[] = { +static const struct TrainerMonCustomized sParty_Shayla[] = { { .iv = 0, .lvl = 18, @@ -10001,7 +10001,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Shayla[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Kyra[] = { +static const struct TrainerMonCustomized sParty_Kyra[] = { { .iv = 0, .lvl = 26, @@ -10014,7 +10014,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Kyra[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Jaiden[] = { +static const struct TrainerMonCustomized sParty_Jaiden[] = { { .iv = 0, .lvl = 26, @@ -10027,7 +10027,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Jaiden[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alix[] = { +static const struct TrainerMonCustomized sParty_Alix[] = { { .iv = 0, .lvl = 26, @@ -10040,7 +10040,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alix[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Helene[] = { +static const struct TrainerMonCustomized sParty_Helene[] = { { .iv = 0, .lvl = 26, @@ -10053,7 +10053,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Helene[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Marlene[] = { +static const struct TrainerMonCustomized sParty_Marlene[] = { { .iv = 0, .lvl = 18, @@ -10066,7 +10066,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Marlene[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Devan[] = { +static const struct TrainerMonCustomized sParty_Devan[] = { { .iv = 0, .lvl = 8, @@ -10079,7 +10079,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Devan[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Johnson[] = { +static const struct TrainerMonCustomized sParty_Johnson[] = { { .iv = 0, .lvl = 8, @@ -10092,7 +10092,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Johnson[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Melina[] = { +static const struct TrainerMonCustomized sParty_Melina[] = { { .iv = 0, .lvl = 17, @@ -10100,7 +10100,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Melina[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brandi[] = { +static const struct TrainerMonCustomized sParty_Brandi[] = { { .iv = 0, .lvl = 17, @@ -10108,7 +10108,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brandi[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Aisha[] = { +static const struct TrainerMonCustomized sParty_Aisha[] = { { .iv = 0, .lvl = 17, @@ -10116,7 +10116,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Aisha[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Makayla[] = { +static const struct TrainerMonCustomized sParty_Makayla[] = { { .iv = 0, .lvl = 33, @@ -10129,7 +10129,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Makayla[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fabian[] = { +static const struct TrainerMonCustomized sParty_Fabian[] = { { .iv = 0, .lvl = 26, @@ -10137,7 +10137,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fabian[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Dayton[] = { +static const struct TrainerMonCustomized sParty_Dayton[] = { { .iv = 0, .lvl = 25, @@ -10150,7 +10150,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Dayton[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Rachel[] = { +static const struct TrainerMonCustomized sParty_Rachel[] = { { .iv = 0, .lvl = 26, @@ -10167,7 +10167,7 @@ static const struct TrainerMonCustomized sParty_Leonel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Callie[] = { +static const struct TrainerMonCustomized sParty_Callie[] = { { .iv = 0, .lvl = 28, @@ -10180,7 +10180,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Callie[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cale[] = { +static const struct TrainerMonCustomized sParty_Cale[] = { { .iv = 0, .lvl = 29, @@ -10193,7 +10193,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cale[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Myles[] = { +static const struct TrainerMonCustomized sParty_Myles[] = { { .iv = 10, .lvl = 25, @@ -10226,7 +10226,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Myles[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pat[] = { +static const struct TrainerMonCustomized sParty_Pat[] = { { .iv = 10, .lvl = 25, @@ -10259,7 +10259,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pat[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { +static const struct TrainerMonCustomized sParty_Cristin1[] = { { .iv = 100, .lvl = 29, @@ -10272,7 +10272,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin1[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTreecko[] = { +static const struct TrainerMonCustomized sParty_MayRustboroTreecko[] = { { .iv = 25, .lvl = 13, @@ -10285,7 +10285,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTreecko[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayRustboroTorchic[] = { +static const struct TrainerMonCustomized sParty_MayRustboroTorchic[] = { { .iv = 25, .lvl = 13, @@ -11587,7 +11587,7 @@ static const struct TrainerMonCustomized sParty_Angelo[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Darius[] = { +static const struct TrainerMonCustomized sParty_Darius[] = { { .iv = 200, .lvl = 30, @@ -11640,7 +11640,7 @@ static const struct TrainerMonCustomized sParty_Steven[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Anabel[] = { +static const struct TrainerMonCustomized sParty_Anabel[] = { { .iv = 0, .lvl = 5, @@ -11648,7 +11648,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Anabel[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Tucker[] = { +static const struct TrainerMonCustomized sParty_Tucker[] = { { .iv = 0, .lvl = 5, @@ -11656,7 +11656,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Tucker[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Spenser[] = { +static const struct TrainerMonCustomized sParty_Spenser[] = { { .iv = 0, .lvl = 5, @@ -11664,7 +11664,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Spenser[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Greta[] = { +static const struct TrainerMonCustomized sParty_Greta[] = { { .iv = 0, .lvl = 5, @@ -11672,7 +11672,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Greta[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Noland[] = { +static const struct TrainerMonCustomized sParty_Noland[] = { { .iv = 0, .lvl = 5, @@ -11680,7 +11680,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Noland[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Lucy[] = { +static const struct TrainerMonCustomized sParty_Lucy[] = { { .iv = 0, .lvl = 5, @@ -11688,7 +11688,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Lucy[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Brandon[] = { +static const struct TrainerMonCustomized sParty_Brandon[] = { { .iv = 0, .lvl = 5, @@ -11696,7 +11696,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Brandon[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andres2[] = { +static const struct TrainerMonCustomized sParty_Andres2[] = { { .iv = 10, .lvl = 31, @@ -11709,7 +11709,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andres2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andres3[] = { +static const struct TrainerMonCustomized sParty_Andres3[] = { { .iv = 20, .lvl = 33, @@ -11727,7 +11727,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andres3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andres4[] = { +static const struct TrainerMonCustomized sParty_Andres4[] = { { .iv = 30, .lvl = 35, @@ -11745,7 +11745,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andres4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Andres5[] = { +static const struct TrainerMonCustomized sParty_Andres5[] = { { .iv = 40, .lvl = 37, @@ -11763,7 +11763,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Andres5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cory2[] = { +static const struct TrainerMonCustomized sParty_Cory2[] = { { .iv = 10, .lvl = 30, @@ -11781,7 +11781,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cory2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cory3[] = { +static const struct TrainerMonCustomized sParty_Cory3[] = { { .iv = 20, .lvl = 32, @@ -11799,7 +11799,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cory3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cory4[] = { +static const struct TrainerMonCustomized sParty_Cory4[] = { { .iv = 30, .lvl = 34, @@ -11817,7 +11817,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cory4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cory5[] = { +static const struct TrainerMonCustomized sParty_Cory5[] = { { .iv = 40, .lvl = 36, @@ -11835,7 +11835,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cory5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pablo2[] = { +static const struct TrainerMonCustomized sParty_Pablo2[] = { { .iv = 10, .lvl = 37, @@ -11848,7 +11848,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pablo2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pablo3[] = { +static const struct TrainerMonCustomized sParty_Pablo3[] = { { .iv = 20, .lvl = 39, @@ -11866,7 +11866,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pablo3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pablo4[] = { +static const struct TrainerMonCustomized sParty_Pablo4[] = { { .iv = 30, .lvl = 41, @@ -11884,7 +11884,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pablo4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Pablo5[] = { +static const struct TrainerMonCustomized sParty_Pablo5[] = { { .iv = 40, .lvl = 43, @@ -11902,7 +11902,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Pablo5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Koji2[] = { +static const struct TrainerMonCustomized sParty_Koji2[] = { { .iv = 10, .lvl = 37, @@ -11915,7 +11915,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Koji2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Koji3[] = { +static const struct TrainerMonCustomized sParty_Koji3[] = { { .iv = 20, .lvl = 39, @@ -11933,7 +11933,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Koji3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Koji4[] = { +static const struct TrainerMonCustomized sParty_Koji4[] = { { .iv = 30, .lvl = 41, @@ -11951,7 +11951,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Koji4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Koji5[] = { +static const struct TrainerMonCustomized sParty_Koji5[] = { { .iv = 40, .lvl = 43, @@ -11969,7 +11969,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Koji5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cristin2[] = { +static const struct TrainerMonCustomized sParty_Cristin2[] = { { .iv = 110, .lvl = 35, @@ -11982,7 +11982,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cristin3[] = { +static const struct TrainerMonCustomized sParty_Cristin3[] = { { .iv = 120, .lvl = 37, @@ -12000,7 +12000,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cristin4[] = { +static const struct TrainerMonCustomized sParty_Cristin4[] = { { .iv = 130, .lvl = 39, @@ -12018,7 +12018,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Cristin5[] = { +static const struct TrainerMonCustomized sParty_Cristin5[] = { { .iv = 140, .lvl = 41, @@ -12036,7 +12036,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Cristin5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fernando2[] = { +static const struct TrainerMonCustomized sParty_Fernando2[] = { { .iv = 10, .lvl = 35, @@ -12054,7 +12054,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fernando2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fernando3[] = { +static const struct TrainerMonCustomized sParty_Fernando3[] = { { .iv = 20, .lvl = 37, @@ -12072,7 +12072,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fernando3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fernando4[] = { +static const struct TrainerMonCustomized sParty_Fernando4[] = { { .iv = 30, .lvl = 39, @@ -12090,7 +12090,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fernando4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Fernando5[] = { +static const struct TrainerMonCustomized sParty_Fernando5[] = { { .iv = 40, .lvl = 41, @@ -12108,7 +12108,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Fernando5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer2[] = { +static const struct TrainerMonCustomized sParty_Sawyer2[] = { { .iv = 10, .lvl = 26, @@ -12121,7 +12121,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer3[] = { +static const struct TrainerMonCustomized sParty_Sawyer3[] = { { .iv = 20, .lvl = 28, @@ -12139,7 +12139,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer4[] = { +static const struct TrainerMonCustomized sParty_Sawyer4[] = { { .iv = 30, .lvl = 30, @@ -12157,7 +12157,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer5[] = { +static const struct TrainerMonCustomized sParty_Sawyer5[] = { { .iv = 40, .lvl = 33, @@ -12175,7 +12175,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Sawyer5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle2[] = { +static const struct TrainerMonCustomized sParty_Gabrielle2[] = { { .iv = 10, .lvl = 31, @@ -12208,7 +12208,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle3[] = { +static const struct TrainerMonCustomized sParty_Gabrielle3[] = { { .iv = 20, .lvl = 33, @@ -12241,7 +12241,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle4[] = { +static const struct TrainerMonCustomized sParty_Gabrielle4[] = { { .iv = 30, .lvl = 35, @@ -12274,7 +12274,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle5[] = { +static const struct TrainerMonCustomized sParty_Gabrielle5[] = { { .iv = 40, .lvl = 37, @@ -12307,7 +12307,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Gabrielle5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Thalia2[] = { +static const struct TrainerMonCustomized sParty_Thalia2[] = { { .iv = 10, .lvl = 34, @@ -12320,7 +12320,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Thalia2[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Thalia3[] = { +static const struct TrainerMonCustomized sParty_Thalia3[] = { { .iv = 20, .lvl = 36, @@ -12338,7 +12338,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Thalia3[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Thalia4[] = { +static const struct TrainerMonCustomized sParty_Thalia4[] = { { .iv = 30, .lvl = 38, @@ -12356,7 +12356,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Thalia4[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Thalia5[] = { +static const struct TrainerMonCustomized sParty_Thalia5[] = { { .iv = 40, .lvl = 40, @@ -12374,7 +12374,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Thalia5[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Mariela[] = { +static const struct TrainerMonCustomized sParty_Mariela[] = { { .iv = 0, .lvl = 41, @@ -12382,7 +12382,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Mariela[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Alvaro[] = { +static const struct TrainerMonCustomized sParty_Alvaro[] = { { .iv = 0, .lvl = 41, @@ -12395,7 +12395,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Alvaro[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Everett[] = { +static const struct TrainerMonCustomized sParty_Everett[] = { { .iv = 0, .lvl = 41, @@ -12403,7 +12403,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Everett[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Red[] = { +static const struct TrainerMonCustomized sParty_Red[] = { { .iv = 0, .lvl = 5, @@ -12411,7 +12411,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Red[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { +static const struct TrainerMonCustomized sParty_Leaf[] = { { .iv = 0, .lvl = 5, @@ -12419,7 +12419,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_Leaf[] = { } }; -static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLinkPlaceholder[] = { +static const struct TrainerMonCustomized sParty_BrendanLinkPlaceholder[] = { { .iv = 0, .lvl = 5, @@ -12427,7 +12427,7 @@ static const struct TrainerMonNoItemDefaultMoves sParty_BrendanLinkPlaceholder[] } }; -static const struct TrainerMonNoItemDefaultMoves sParty_MayLinkPlaceholder[] = { +static const struct TrainerMonCustomized sParty_MayLinkPlaceholder[] = { { .iv = 0, .lvl = 5, diff --git a/src/data/trainers.h b/src/data/trainers.h index 88ffbc0bc3..c37e183c0c 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -10,7 +10,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 0, - .party = {.NoItemDefaultMoves = NULL}, + .party = {.EverythingCustomized = NULL}, }, [TRAINER_SAWYER_1] = @@ -22,7 +22,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer1), + .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer1), }, [TRAINER_GRUNT_AQUA_HIDEOUT_1] = @@ -34,7 +34,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout1), }, [TRAINER_GRUNT_AQUA_HIDEOUT_2] = @@ -46,7 +46,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout2), }, [TRAINER_GRUNT_AQUA_HIDEOUT_3] = @@ -58,7 +58,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout3), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout3), }, [TRAINER_GRUNT_AQUA_HIDEOUT_4] = @@ -70,7 +70,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout4), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout4), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_1] = @@ -82,7 +82,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern1), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_2] = @@ -94,7 +94,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern2), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_3] = @@ -106,7 +106,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern3), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern3), }, [TRAINER_GABRIELLE_1] = @@ -118,7 +118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle1), + .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle1), }, [TRAINER_GRUNT_PETALBURG_WOODS] = @@ -130,7 +130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntPetalburgWoods), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntPetalburgWoods), }, [TRAINER_MARCEL] = @@ -142,7 +142,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Marcel), + .party = EVERYTHING_CUSTOMIZED(sParty_Marcel), }, [TRAINER_ALBERTO] = @@ -154,7 +154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alberto), + .party = EVERYTHING_CUSTOMIZED(sParty_Alberto), }, [TRAINER_ED] = @@ -166,7 +166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ed), + .party = EVERYTHING_CUSTOMIZED(sParty_Ed), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_4] = @@ -178,7 +178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern4), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern4), }, [TRAINER_DECLAN] = @@ -190,7 +190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Declan), + .party = EVERYTHING_CUSTOMIZED(sParty_Declan), }, [TRAINER_GRUNT_RUSTURF_TUNNEL] = @@ -202,7 +202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntRusturfTunnel), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntRusturfTunnel), }, [TRAINER_GRUNT_WEATHER_INST_1] = @@ -214,7 +214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst1), }, [TRAINER_GRUNT_WEATHER_INST_2] = @@ -226,7 +226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst2), }, [TRAINER_GRUNT_WEATHER_INST_3] = @@ -238,7 +238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst3), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst3), }, [TRAINER_GRUNT_MUSEUM_1] = @@ -250,7 +250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMuseum1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMuseum1), }, [TRAINER_GRUNT_MUSEUM_2] = @@ -262,7 +262,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMuseum2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMuseum2), }, [TRAINER_GRUNT_SPACE_CENTER_1] = @@ -274,7 +274,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter1), }, [TRAINER_GRUNT_MT_PYRE_1] = @@ -286,7 +286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre1), }, [TRAINER_GRUNT_MT_PYRE_2] = @@ -298,7 +298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre2), }, [TRAINER_GRUNT_MT_PYRE_3] = @@ -310,7 +310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre3), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre3), }, [TRAINER_GRUNT_WEATHER_INST_4] = @@ -322,7 +322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst4), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst4), }, [TRAINER_GRUNT_AQUA_HIDEOUT_5] = @@ -334,7 +334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout5), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout5), }, [TRAINER_GRUNT_AQUA_HIDEOUT_6] = @@ -346,7 +346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout6), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout6), }, [TRAINER_FREDRICK] = @@ -358,7 +358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fredrick), + .party = EVERYTHING_CUSTOMIZED(sParty_Fredrick), }, [TRAINER_MATT] = @@ -370,7 +370,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Matt), + .party = EVERYTHING_CUSTOMIZED(sParty_Matt), }, [TRAINER_ZANDER] = @@ -382,7 +382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Zander), + .party = EVERYTHING_CUSTOMIZED(sParty_Zander), }, [TRAINER_SHELLY_WEATHER_INSTITUTE] = @@ -394,7 +394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ShellyWeatherInstitute), + .party = EVERYTHING_CUSTOMIZED(sParty_ShellyWeatherInstitute), }, [TRAINER_SHELLY_SEAFLOOR_CAVERN] = @@ -406,7 +406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ShellySeafloorCavern), + .party = EVERYTHING_CUSTOMIZED(sParty_ShellySeafloorCavern), }, [TRAINER_ARCHIE] = @@ -418,7 +418,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Archie), + .party = EVERYTHING_CUSTOMIZED(sParty_Archie), }, [TRAINER_LEAH] = @@ -430,7 +430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Leah), + .party = EVERYTHING_CUSTOMIZED(sParty_Leah), }, [TRAINER_DAISY] = @@ -442,7 +442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Daisy), + .party = EVERYTHING_CUSTOMIZED(sParty_Daisy), }, [TRAINER_ROSE_1] = @@ -454,7 +454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose1), + .party = EVERYTHING_CUSTOMIZED(sParty_Rose1), }, [TRAINER_FELIX] = @@ -478,7 +478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Violet), + .party = EVERYTHING_CUSTOMIZED(sParty_Violet), }, [TRAINER_ROSE_2] = @@ -490,7 +490,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose2), + .party = EVERYTHING_CUSTOMIZED(sParty_Rose2), }, [TRAINER_ROSE_3] = @@ -502,7 +502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose3), + .party = EVERYTHING_CUSTOMIZED(sParty_Rose3), }, [TRAINER_ROSE_4] = @@ -514,7 +514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose4), + .party = EVERYTHING_CUSTOMIZED(sParty_Rose4), }, [TRAINER_ROSE_5] = @@ -526,7 +526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rose5), + .party = EVERYTHING_CUSTOMIZED(sParty_Rose5), }, [TRAINER_DUSTY_1] = @@ -622,7 +622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy1), + .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy1), }, [TRAINER_GABBY_AND_TY_2] = @@ -634,7 +634,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy2), + .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy2), }, [TRAINER_GABBY_AND_TY_3] = @@ -646,7 +646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy3), + .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy3), }, [TRAINER_GABBY_AND_TY_4] = @@ -658,7 +658,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy4), + .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy4), }, [TRAINER_GABBY_AND_TY_5] = @@ -670,7 +670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GabbyAndTy5), + .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy5), }, [TRAINER_GABBY_AND_TY_6] = @@ -694,7 +694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola1), + .party = EVERYTHING_CUSTOMIZED(sParty_Lola1), }, [TRAINER_AUSTINA] = @@ -706,7 +706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Austina), + .party = EVERYTHING_CUSTOMIZED(sParty_Austina), }, [TRAINER_GWEN] = @@ -718,7 +718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gwen), + .party = EVERYTHING_CUSTOMIZED(sParty_Gwen), }, [TRAINER_LOLA_2] = @@ -730,7 +730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola2), + .party = EVERYTHING_CUSTOMIZED(sParty_Lola2), }, [TRAINER_LOLA_3] = @@ -742,7 +742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola3), + .party = EVERYTHING_CUSTOMIZED(sParty_Lola3), }, [TRAINER_LOLA_4] = @@ -754,7 +754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola4), + .party = EVERYTHING_CUSTOMIZED(sParty_Lola4), }, [TRAINER_LOLA_5] = @@ -766,7 +766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lola5), + .party = EVERYTHING_CUSTOMIZED(sParty_Lola5), }, [TRAINER_RICKY_1] = @@ -790,7 +790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Simon), + .party = EVERYTHING_CUSTOMIZED(sParty_Simon), }, [TRAINER_CHARLIE] = @@ -802,7 +802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Charlie), + .party = EVERYTHING_CUSTOMIZED(sParty_Charlie), }, [TRAINER_RICKY_2] = @@ -922,7 +922,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Vincent), + .party = EVERYTHING_CUSTOMIZED(sParty_Vincent), }, [TRAINER_LEROY] = @@ -934,7 +934,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Leroy), + .party = EVERYTHING_CUSTOMIZED(sParty_Leroy), }, [TRAINER_WILTON_1] = @@ -946,7 +946,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton1), + .party = EVERYTHING_CUSTOMIZED(sParty_Wilton1), }, [TRAINER_EDGAR] = @@ -958,7 +958,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edgar), + .party = EVERYTHING_CUSTOMIZED(sParty_Edgar), }, [TRAINER_ALBERT] = @@ -970,7 +970,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Albert), + .party = EVERYTHING_CUSTOMIZED(sParty_Albert), }, [TRAINER_SAMUEL] = @@ -982,7 +982,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Samuel), + .party = EVERYTHING_CUSTOMIZED(sParty_Samuel), }, [TRAINER_VITO] = @@ -994,7 +994,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Vito), + .party = EVERYTHING_CUSTOMIZED(sParty_Vito), }, [TRAINER_OWEN] = @@ -1006,7 +1006,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Owen), + .party = EVERYTHING_CUSTOMIZED(sParty_Owen), }, [TRAINER_WILTON_2] = @@ -1018,7 +1018,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton2), + .party = EVERYTHING_CUSTOMIZED(sParty_Wilton2), }, [TRAINER_WILTON_3] = @@ -1030,7 +1030,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton3), + .party = EVERYTHING_CUSTOMIZED(sParty_Wilton3), }, [TRAINER_WILTON_4] = @@ -1042,7 +1042,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton4), + .party = EVERYTHING_CUSTOMIZED(sParty_Wilton4), }, [TRAINER_WILTON_5] = @@ -1054,7 +1054,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wilton5), + .party = EVERYTHING_CUSTOMIZED(sParty_Wilton5), }, [TRAINER_WARREN] = @@ -1066,7 +1066,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Warren), + .party = EVERYTHING_CUSTOMIZED(sParty_Warren), }, [TRAINER_MARY] = @@ -1126,7 +1126,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Keira), + .party = EVERYTHING_CUSTOMIZED(sParty_Keira), }, [TRAINER_BROOKE_1] = @@ -1138,7 +1138,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke1), + .party = EVERYTHING_CUSTOMIZED(sParty_Brooke1), }, [TRAINER_JENNIFER] = @@ -1150,7 +1150,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jennifer), + .party = EVERYTHING_CUSTOMIZED(sParty_Jennifer), }, [TRAINER_HOPE] = @@ -1162,7 +1162,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hope), + .party = EVERYTHING_CUSTOMIZED(sParty_Hope), }, [TRAINER_SHANNON] = @@ -1174,7 +1174,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shannon), + .party = EVERYTHING_CUSTOMIZED(sParty_Shannon), }, [TRAINER_MICHELLE] = @@ -1186,7 +1186,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Michelle), + .party = EVERYTHING_CUSTOMIZED(sParty_Michelle), }, [TRAINER_CAROLINE] = @@ -1198,7 +1198,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Caroline), + .party = EVERYTHING_CUSTOMIZED(sParty_Caroline), }, [TRAINER_JULIE] = @@ -1210,7 +1210,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Julie), + .party = EVERYTHING_CUSTOMIZED(sParty_Julie), }, [TRAINER_BROOKE_2] = @@ -1222,7 +1222,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke2), + .party = EVERYTHING_CUSTOMIZED(sParty_Brooke2), }, [TRAINER_BROOKE_3] = @@ -1234,7 +1234,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke3), + .party = EVERYTHING_CUSTOMIZED(sParty_Brooke3), }, [TRAINER_BROOKE_4] = @@ -1246,7 +1246,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke4), + .party = EVERYTHING_CUSTOMIZED(sParty_Brooke4), }, [TRAINER_BROOKE_5] = @@ -1258,7 +1258,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brooke5), + .party = EVERYTHING_CUSTOMIZED(sParty_Brooke5), }, [TRAINER_PATRICIA] = @@ -1270,7 +1270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Patricia), + .party = EVERYTHING_CUSTOMIZED(sParty_Patricia), }, [TRAINER_KINDRA] = @@ -1282,7 +1282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kindra), + .party = EVERYTHING_CUSTOMIZED(sParty_Kindra), }, [TRAINER_TAMMY] = @@ -1294,7 +1294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tammy), + .party = EVERYTHING_CUSTOMIZED(sParty_Tammy), }, [TRAINER_VALERIE_1] = @@ -1306,7 +1306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie1), + .party = EVERYTHING_CUSTOMIZED(sParty_Valerie1), }, [TRAINER_TASHA] = @@ -1318,7 +1318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tasha), + .party = EVERYTHING_CUSTOMIZED(sParty_Tasha), }, [TRAINER_VALERIE_2] = @@ -1330,7 +1330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie2), + .party = EVERYTHING_CUSTOMIZED(sParty_Valerie2), }, [TRAINER_VALERIE_3] = @@ -1342,7 +1342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie3), + .party = EVERYTHING_CUSTOMIZED(sParty_Valerie3), }, [TRAINER_VALERIE_4] = @@ -1354,7 +1354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie4), + .party = EVERYTHING_CUSTOMIZED(sParty_Valerie4), }, [TRAINER_VALERIE_5] = @@ -1366,7 +1366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Valerie5), + .party = EVERYTHING_CUSTOMIZED(sParty_Valerie5), }, [TRAINER_CINDY_1] = @@ -1402,7 +1402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter2), }, [TRAINER_CINDY_2] = @@ -1498,7 +1498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Melissa), + .party = EVERYTHING_CUSTOMIZED(sParty_Melissa), }, [TRAINER_SHEILA] = @@ -1510,7 +1510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sheila), + .party = EVERYTHING_CUSTOMIZED(sParty_Sheila), }, [TRAINER_SHIRLEY] = @@ -1522,7 +1522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shirley), + .party = EVERYTHING_CUSTOMIZED(sParty_Shirley), }, [TRAINER_JESSICA_1] = @@ -1546,7 +1546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Connie), + .party = EVERYTHING_CUSTOMIZED(sParty_Connie), }, [TRAINER_BRIDGET] = @@ -1558,7 +1558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bridget), + .party = EVERYTHING_CUSTOMIZED(sParty_Bridget), }, [TRAINER_OLIVIA] = @@ -1582,7 +1582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tiffany), + .party = EVERYTHING_CUSTOMIZED(sParty_Tiffany), }, [TRAINER_JESSICA_2] = @@ -1654,7 +1654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Mollie), + .party = EVERYTHING_CUSTOMIZED(sParty_Mollie), }, [TRAINER_GARRET] = @@ -1726,7 +1726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve1), + .party = EVERYTHING_CUSTOMIZED(sParty_Steve1), }, [TRAINER_THALIA_1] = @@ -1738,7 +1738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia1), + .party = EVERYTHING_CUSTOMIZED(sParty_Thalia1), }, [TRAINER_MARK] = @@ -1750,7 +1750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Mark), + .party = EVERYTHING_CUSTOMIZED(sParty_Mark), }, [TRAINER_GRUNT_MT_CHIMNEY_1] = @@ -1762,7 +1762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtChimney1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtChimney1), }, [TRAINER_STEVE_2] = @@ -1774,7 +1774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve2), + .party = EVERYTHING_CUSTOMIZED(sParty_Steve2), }, [TRAINER_STEVE_3] = @@ -1786,7 +1786,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve3), + .party = EVERYTHING_CUSTOMIZED(sParty_Steve3), }, [TRAINER_STEVE_4] = @@ -1798,7 +1798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve4), + .party = EVERYTHING_CUSTOMIZED(sParty_Steve4), }, [TRAINER_STEVE_5] = @@ -1810,7 +1810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Steve5), + .party = EVERYTHING_CUSTOMIZED(sParty_Steve5), }, [TRAINER_LUIS] = @@ -1822,7 +1822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Luis), + .party = EVERYTHING_CUSTOMIZED(sParty_Luis), }, [TRAINER_DOMINIK] = @@ -1834,7 +1834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dominik), + .party = EVERYTHING_CUSTOMIZED(sParty_Dominik), }, [TRAINER_DOUGLAS] = @@ -1846,7 +1846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Douglas), + .party = EVERYTHING_CUSTOMIZED(sParty_Douglas), }, [TRAINER_DARRIN] = @@ -1858,7 +1858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Darrin), + .party = EVERYTHING_CUSTOMIZED(sParty_Darrin), }, [TRAINER_TONY_1] = @@ -1870,7 +1870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony1), + .party = EVERYTHING_CUSTOMIZED(sParty_Tony1), }, [TRAINER_JEROME] = @@ -1882,7 +1882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerome), + .party = EVERYTHING_CUSTOMIZED(sParty_Jerome), }, [TRAINER_MATTHEW] = @@ -1894,7 +1894,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Matthew), + .party = EVERYTHING_CUSTOMIZED(sParty_Matthew), }, [TRAINER_DAVID] = @@ -1906,7 +1906,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_David), + .party = EVERYTHING_CUSTOMIZED(sParty_David), }, [TRAINER_SPENCER] = @@ -1918,7 +1918,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Spencer), + .party = EVERYTHING_CUSTOMIZED(sParty_Spencer), }, [TRAINER_ROLAND] = @@ -1930,7 +1930,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Roland), + .party = EVERYTHING_CUSTOMIZED(sParty_Roland), }, [TRAINER_NOLEN] = @@ -1942,7 +1942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nolen), + .party = EVERYTHING_CUSTOMIZED(sParty_Nolen), }, [TRAINER_STAN] = @@ -1954,7 +1954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Stan), + .party = EVERYTHING_CUSTOMIZED(sParty_Stan), }, [TRAINER_BARRY] = @@ -1966,7 +1966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Barry), + .party = EVERYTHING_CUSTOMIZED(sParty_Barry), }, [TRAINER_DEAN] = @@ -1978,7 +1978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dean), + .party = EVERYTHING_CUSTOMIZED(sParty_Dean), }, [TRAINER_RODNEY] = @@ -1990,7 +1990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rodney), + .party = EVERYTHING_CUSTOMIZED(sParty_Rodney), }, [TRAINER_RICHARD] = @@ -2002,7 +2002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Richard), + .party = EVERYTHING_CUSTOMIZED(sParty_Richard), }, [TRAINER_HERMAN] = @@ -2014,7 +2014,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Herman), + .party = EVERYTHING_CUSTOMIZED(sParty_Herman), }, [TRAINER_SANTIAGO] = @@ -2026,7 +2026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Santiago), + .party = EVERYTHING_CUSTOMIZED(sParty_Santiago), }, [TRAINER_GILBERT] = @@ -2038,7 +2038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gilbert), + .party = EVERYTHING_CUSTOMIZED(sParty_Gilbert), }, [TRAINER_FRANKLIN] = @@ -2050,7 +2050,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Franklin), + .party = EVERYTHING_CUSTOMIZED(sParty_Franklin), }, [TRAINER_KEVIN] = @@ -2062,7 +2062,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kevin), + .party = EVERYTHING_CUSTOMIZED(sParty_Kevin), }, [TRAINER_JACK] = @@ -2074,7 +2074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jack), + .party = EVERYTHING_CUSTOMIZED(sParty_Jack), }, [TRAINER_DUDLEY] = @@ -2086,7 +2086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dudley), + .party = EVERYTHING_CUSTOMIZED(sParty_Dudley), }, [TRAINER_CHAD] = @@ -2098,7 +2098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Chad), + .party = EVERYTHING_CUSTOMIZED(sParty_Chad), }, [TRAINER_TONY_2] = @@ -2110,7 +2110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony2), + .party = EVERYTHING_CUSTOMIZED(sParty_Tony2), }, [TRAINER_TONY_3] = @@ -2122,7 +2122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony3), + .party = EVERYTHING_CUSTOMIZED(sParty_Tony3), }, [TRAINER_TONY_4] = @@ -2134,7 +2134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony4), + .party = EVERYTHING_CUSTOMIZED(sParty_Tony4), }, [TRAINER_TONY_5] = @@ -2146,7 +2146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tony5), + .party = EVERYTHING_CUSTOMIZED(sParty_Tony5), }, [TRAINER_TAKAO] = @@ -2158,7 +2158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Takao), + .party = EVERYTHING_CUSTOMIZED(sParty_Takao), }, [TRAINER_HITOSHI] = @@ -2170,7 +2170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hitoshi), + .party = EVERYTHING_CUSTOMIZED(sParty_Hitoshi), }, [TRAINER_KIYO] = @@ -2182,7 +2182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kiyo), + .party = EVERYTHING_CUSTOMIZED(sParty_Kiyo), }, [TRAINER_KOICHI] = @@ -2194,7 +2194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Koichi), + .party = EVERYTHING_CUSTOMIZED(sParty_Koichi), }, [TRAINER_NOB_1] = @@ -2206,7 +2206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob1), + .party = EVERYTHING_CUSTOMIZED(sParty_Nob1), }, [TRAINER_NOB_2] = @@ -2218,7 +2218,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob2), + .party = EVERYTHING_CUSTOMIZED(sParty_Nob2), }, [TRAINER_NOB_3] = @@ -2230,7 +2230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob3), + .party = EVERYTHING_CUSTOMIZED(sParty_Nob3), }, [TRAINER_NOB_4] = @@ -2242,7 +2242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nob4), + .party = EVERYTHING_CUSTOMIZED(sParty_Nob4), }, [TRAINER_NOB_5] = @@ -2266,7 +2266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Yuji), + .party = EVERYTHING_CUSTOMIZED(sParty_Yuji), }, [TRAINER_DAISUKE] = @@ -2278,7 +2278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Daisuke), + .party = EVERYTHING_CUSTOMIZED(sParty_Daisuke), }, [TRAINER_ATSUSHI] = @@ -2290,7 +2290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Atsushi), + .party = EVERYTHING_CUSTOMIZED(sParty_Atsushi), }, [TRAINER_KIRK] = @@ -2314,7 +2314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout7), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout7), }, [TRAINER_GRUNT_AQUA_HIDEOUT_8] = @@ -2326,7 +2326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntAquaHideout8), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout8), }, [TRAINER_SHAWN] = @@ -2338,7 +2338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shawn), + .party = EVERYTHING_CUSTOMIZED(sParty_Shawn), }, [TRAINER_FERNANDO_1] = @@ -2350,7 +2350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando1), + .party = EVERYTHING_CUSTOMIZED(sParty_Fernando1), }, [TRAINER_DALTON_1] = @@ -2362,7 +2362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton1), + .party = EVERYTHING_CUSTOMIZED(sParty_Dalton1), }, [TRAINER_DALTON_2] = @@ -2374,7 +2374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton2), + .party = EVERYTHING_CUSTOMIZED(sParty_Dalton2), }, [TRAINER_DALTON_3] = @@ -2386,7 +2386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton3), + .party = EVERYTHING_CUSTOMIZED(sParty_Dalton3), }, [TRAINER_DALTON_4] = @@ -2398,7 +2398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton4), + .party = EVERYTHING_CUSTOMIZED(sParty_Dalton4), }, [TRAINER_DALTON_5] = @@ -2410,7 +2410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dalton5), + .party = EVERYTHING_CUSTOMIZED(sParty_Dalton5), }, [TRAINER_COLE] = @@ -2422,7 +2422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cole), + .party = EVERYTHING_CUSTOMIZED(sParty_Cole), }, [TRAINER_JEFF] = @@ -2434,7 +2434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeff), + .party = EVERYTHING_CUSTOMIZED(sParty_Jeff), }, [TRAINER_AXLE] = @@ -2446,7 +2446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Axle), + .party = EVERYTHING_CUSTOMIZED(sParty_Axle), }, [TRAINER_JACE] = @@ -2458,7 +2458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jace), + .party = EVERYTHING_CUSTOMIZED(sParty_Jace), }, [TRAINER_KEEGAN] = @@ -2470,7 +2470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Keegan), + .party = EVERYTHING_CUSTOMIZED(sParty_Keegan), }, [TRAINER_BERNIE_1] = @@ -2482,7 +2482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie1), + .party = EVERYTHING_CUSTOMIZED(sParty_Bernie1), }, [TRAINER_BERNIE_2] = @@ -2494,7 +2494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie2), + .party = EVERYTHING_CUSTOMIZED(sParty_Bernie2), }, [TRAINER_BERNIE_3] = @@ -2506,7 +2506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie3), + .party = EVERYTHING_CUSTOMIZED(sParty_Bernie3), }, [TRAINER_BERNIE_4] = @@ -2518,7 +2518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie4), + .party = EVERYTHING_CUSTOMIZED(sParty_Bernie4), }, [TRAINER_BERNIE_5] = @@ -2530,7 +2530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bernie5), + .party = EVERYTHING_CUSTOMIZED(sParty_Bernie5), }, [TRAINER_DREW] = @@ -2566,7 +2566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Larry), + .party = EVERYTHING_CUSTOMIZED(sParty_Larry), }, [TRAINER_SHANE] = @@ -2578,7 +2578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shane), + .party = EVERYTHING_CUSTOMIZED(sParty_Shane), }, [TRAINER_JUSTIN] = @@ -2590,7 +2590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Justin), + .party = EVERYTHING_CUSTOMIZED(sParty_Justin), }, [TRAINER_ETHAN_1] = @@ -2602,7 +2602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan1), + .party = EVERYTHING_CUSTOMIZED(sParty_Ethan1), }, [TRAINER_AUTUMN] = @@ -2614,7 +2614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Autumn), + .party = EVERYTHING_CUSTOMIZED(sParty_Autumn), }, [TRAINER_TRAVIS] = @@ -2626,7 +2626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Travis), + .party = EVERYTHING_CUSTOMIZED(sParty_Travis), }, [TRAINER_ETHAN_2] = @@ -2638,7 +2638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan2), + .party = EVERYTHING_CUSTOMIZED(sParty_Ethan2), }, [TRAINER_ETHAN_3] = @@ -2650,7 +2650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan3), + .party = EVERYTHING_CUSTOMIZED(sParty_Ethan3), }, [TRAINER_ETHAN_4] = @@ -2662,7 +2662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan4), + .party = EVERYTHING_CUSTOMIZED(sParty_Ethan4), }, [TRAINER_ETHAN_5] = @@ -2674,7 +2674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ethan5), + .party = EVERYTHING_CUSTOMIZED(sParty_Ethan5), }, [TRAINER_BRENT] = @@ -2686,7 +2686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brent), + .party = EVERYTHING_CUSTOMIZED(sParty_Brent), }, [TRAINER_DONALD] = @@ -2698,7 +2698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Donald), + .party = EVERYTHING_CUSTOMIZED(sParty_Donald), }, [TRAINER_TAYLOR] = @@ -2710,7 +2710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Taylor), + .party = EVERYTHING_CUSTOMIZED(sParty_Taylor), }, [TRAINER_JEFFREY_1] = @@ -2722,7 +2722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey1), + .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey1), }, [TRAINER_DEREK] = @@ -2734,7 +2734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Derek), + .party = EVERYTHING_CUSTOMIZED(sParty_Derek), }, [TRAINER_JEFFREY_2] = @@ -2746,7 +2746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey2), + .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey2), }, [TRAINER_JEFFREY_3] = @@ -2758,7 +2758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey3), + .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey3), }, [TRAINER_JEFFREY_4] = @@ -2770,7 +2770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jeffrey4), + .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey4), }, [TRAINER_JEFFREY_5] = @@ -2806,7 +2806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Preston), + .party = EVERYTHING_CUSTOMIZED(sParty_Preston), }, [TRAINER_VIRGIL] = @@ -2818,7 +2818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Virgil), + .party = EVERYTHING_CUSTOMIZED(sParty_Virgil), }, [TRAINER_BLAKE] = @@ -2830,7 +2830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Blake), + .party = EVERYTHING_CUSTOMIZED(sParty_Blake), }, [TRAINER_WILLIAM] = @@ -2842,7 +2842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_William), + .party = EVERYTHING_CUSTOMIZED(sParty_William), }, [TRAINER_JOSHUA] = @@ -2854,7 +2854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Joshua), + .party = EVERYTHING_CUSTOMIZED(sParty_Joshua), }, [TRAINER_CAMERON_1] = @@ -2866,7 +2866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron1), + .party = EVERYTHING_CUSTOMIZED(sParty_Cameron1), }, [TRAINER_CAMERON_2] = @@ -2878,7 +2878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron2), + .party = EVERYTHING_CUSTOMIZED(sParty_Cameron2), }, [TRAINER_CAMERON_3] = @@ -2890,7 +2890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron3), + .party = EVERYTHING_CUSTOMIZED(sParty_Cameron3), }, [TRAINER_CAMERON_4] = @@ -2902,7 +2902,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron4), + .party = EVERYTHING_CUSTOMIZED(sParty_Cameron4), }, [TRAINER_CAMERON_5] = @@ -2914,7 +2914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cameron5), + .party = EVERYTHING_CUSTOMIZED(sParty_Cameron5), }, [TRAINER_JACLYN] = @@ -2938,7 +2938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hannah), + .party = EVERYTHING_CUSTOMIZED(sParty_Hannah), }, [TRAINER_SAMANTHA] = @@ -2950,7 +2950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Samantha), + .party = EVERYTHING_CUSTOMIZED(sParty_Samantha), }, [TRAINER_MAURA] = @@ -2962,7 +2962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Maura), + .party = EVERYTHING_CUSTOMIZED(sParty_Maura), }, [TRAINER_KAYLA] = @@ -2974,7 +2974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kayla), + .party = EVERYTHING_CUSTOMIZED(sParty_Kayla), }, [TRAINER_ALEXIS] = @@ -2986,7 +2986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alexis), + .party = EVERYTHING_CUSTOMIZED(sParty_Alexis), }, [TRAINER_JACKI_1] = @@ -2998,7 +2998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki1), + .party = EVERYTHING_CUSTOMIZED(sParty_Jacki1), }, [TRAINER_JACKI_2] = @@ -3010,7 +3010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki2), + .party = EVERYTHING_CUSTOMIZED(sParty_Jacki2), }, [TRAINER_JACKI_3] = @@ -3022,7 +3022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki3), + .party = EVERYTHING_CUSTOMIZED(sParty_Jacki3), }, [TRAINER_JACKI_4] = @@ -3034,7 +3034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki4), + .party = EVERYTHING_CUSTOMIZED(sParty_Jacki4), }, [TRAINER_JACKI_5] = @@ -3046,7 +3046,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacki5), + .party = EVERYTHING_CUSTOMIZED(sParty_Jacki5), }, [TRAINER_WALTER_1] = @@ -3058,7 +3058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Walter1), + .party = EVERYTHING_CUSTOMIZED(sParty_Walter1), }, [TRAINER_MICAH] = @@ -3070,7 +3070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Micah), + .party = EVERYTHING_CUSTOMIZED(sParty_Micah), }, [TRAINER_THOMAS] = @@ -3082,7 +3082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Thomas), + .party = EVERYTHING_CUSTOMIZED(sParty_Thomas), }, [TRAINER_WALTER_2] = @@ -3094,7 +3094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Walter2), + .party = EVERYTHING_CUSTOMIZED(sParty_Walter2), }, [TRAINER_WALTER_3] = @@ -3286,7 +3286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry1), + .party = EVERYTHING_CUSTOMIZED(sParty_Jerry1), }, [TRAINER_TED] = @@ -3298,7 +3298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ted), + .party = EVERYTHING_CUSTOMIZED(sParty_Ted), }, [TRAINER_PAUL] = @@ -3310,7 +3310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Paul), + .party = EVERYTHING_CUSTOMIZED(sParty_Paul), }, [TRAINER_JERRY_2] = @@ -3322,7 +3322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry2), + .party = EVERYTHING_CUSTOMIZED(sParty_Jerry2), }, [TRAINER_JERRY_3] = @@ -3334,7 +3334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry3), + .party = EVERYTHING_CUSTOMIZED(sParty_Jerry3), }, [TRAINER_JERRY_4] = @@ -3346,7 +3346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry4), + .party = EVERYTHING_CUSTOMIZED(sParty_Jerry4), }, [TRAINER_JERRY_5] = @@ -3358,7 +3358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jerry5), + .party = EVERYTHING_CUSTOMIZED(sParty_Jerry5), }, [TRAINER_KAREN_1] = @@ -3370,7 +3370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen1), + .party = EVERYTHING_CUSTOMIZED(sParty_Karen1), }, [TRAINER_GEORGIA] = @@ -3382,7 +3382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Georgia), + .party = EVERYTHING_CUSTOMIZED(sParty_Georgia), }, [TRAINER_KAREN_2] = @@ -3394,7 +3394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen2), + .party = EVERYTHING_CUSTOMIZED(sParty_Karen2), }, [TRAINER_KAREN_3] = @@ -3406,7 +3406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen3), + .party = EVERYTHING_CUSTOMIZED(sParty_Karen3), }, [TRAINER_KAREN_4] = @@ -3418,7 +3418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen4), + .party = EVERYTHING_CUSTOMIZED(sParty_Karen4), }, [TRAINER_KAREN_5] = @@ -3430,7 +3430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Karen5), + .party = EVERYTHING_CUSTOMIZED(sParty_Karen5), }, [TRAINER_KATE_AND_JOY] = @@ -3694,7 +3694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Timothy1), + .party = EVERYTHING_CUSTOMIZED(sParty_Timothy1), }, [TRAINER_TIMOTHY_2] = @@ -3766,7 +3766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby1), + .party = EVERYTHING_CUSTOMIZED(sParty_Shelby1), }, [TRAINER_SHELBY_2] = @@ -3778,7 +3778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby2), + .party = EVERYTHING_CUSTOMIZED(sParty_Shelby2), }, [TRAINER_SHELBY_3] = @@ -3790,7 +3790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby3), + .party = EVERYTHING_CUSTOMIZED(sParty_Shelby3), }, [TRAINER_SHELBY_4] = @@ -3802,7 +3802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby4), + .party = EVERYTHING_CUSTOMIZED(sParty_Shelby4), }, [TRAINER_SHELBY_5] = @@ -3814,7 +3814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shelby5), + .party = EVERYTHING_CUSTOMIZED(sParty_Shelby5), }, [TRAINER_CALVIN_1] = @@ -3826,7 +3826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin1), + .party = EVERYTHING_CUSTOMIZED(sParty_Calvin1), }, [TRAINER_BILLY] = @@ -3838,7 +3838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Billy), + .party = EVERYTHING_CUSTOMIZED(sParty_Billy), }, [TRAINER_JOSH] = @@ -3862,7 +3862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tommy), + .party = EVERYTHING_CUSTOMIZED(sParty_Tommy), }, [TRAINER_JOEY] = @@ -3874,7 +3874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Joey), + .party = EVERYTHING_CUSTOMIZED(sParty_Joey), }, [TRAINER_BEN] = @@ -3922,7 +3922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jaylen), + .party = EVERYTHING_CUSTOMIZED(sParty_Jaylen), }, [TRAINER_DILLON] = @@ -3934,7 +3934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dillon), + .party = EVERYTHING_CUSTOMIZED(sParty_Dillon), }, [TRAINER_CALVIN_2] = @@ -3946,7 +3946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin2), + .party = EVERYTHING_CUSTOMIZED(sParty_Calvin2), }, [TRAINER_CALVIN_3] = @@ -3958,7 +3958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin3), + .party = EVERYTHING_CUSTOMIZED(sParty_Calvin3), }, [TRAINER_CALVIN_4] = @@ -3970,7 +3970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin4), + .party = EVERYTHING_CUSTOMIZED(sParty_Calvin4), }, [TRAINER_CALVIN_5] = @@ -3982,7 +3982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Calvin5), + .party = EVERYTHING_CUSTOMIZED(sParty_Calvin5), }, [TRAINER_EDDIE] = @@ -3994,7 +3994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Eddie), + .party = EVERYTHING_CUSTOMIZED(sParty_Eddie), }, [TRAINER_ALLEN] = @@ -4006,7 +4006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Allen), + .party = EVERYTHING_CUSTOMIZED(sParty_Allen), }, [TRAINER_TIMMY] = @@ -4018,7 +4018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Timmy), + .party = EVERYTHING_CUSTOMIZED(sParty_Timmy), }, [TRAINER_WALLACE] = @@ -4042,7 +4042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andrew), + .party = EVERYTHING_CUSTOMIZED(sParty_Andrew), }, [TRAINER_IVAN] = @@ -4054,7 +4054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ivan), + .party = EVERYTHING_CUSTOMIZED(sParty_Ivan), }, [TRAINER_CLAUDE] = @@ -4066,7 +4066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Claude), + .party = EVERYTHING_CUSTOMIZED(sParty_Claude), }, [TRAINER_ELLIOT_1] = @@ -4078,7 +4078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot1), + .party = EVERYTHING_CUSTOMIZED(sParty_Elliot1), }, [TRAINER_NED] = @@ -4090,7 +4090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ned), + .party = EVERYTHING_CUSTOMIZED(sParty_Ned), }, [TRAINER_DALE] = @@ -4102,7 +4102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dale), + .party = EVERYTHING_CUSTOMIZED(sParty_Dale), }, [TRAINER_NOLAN] = @@ -4114,7 +4114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nolan), + .party = EVERYTHING_CUSTOMIZED(sParty_Nolan), }, [TRAINER_BARNY] = @@ -4126,7 +4126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Barny), + .party = EVERYTHING_CUSTOMIZED(sParty_Barny), }, [TRAINER_WADE] = @@ -4138,7 +4138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wade), + .party = EVERYTHING_CUSTOMIZED(sParty_Wade), }, [TRAINER_CARTER] = @@ -4150,7 +4150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Carter), + .party = EVERYTHING_CUSTOMIZED(sParty_Carter), }, [TRAINER_ELLIOT_2] = @@ -4162,7 +4162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot2), + .party = EVERYTHING_CUSTOMIZED(sParty_Elliot2), }, [TRAINER_ELLIOT_3] = @@ -4174,7 +4174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot3), + .party = EVERYTHING_CUSTOMIZED(sParty_Elliot3), }, [TRAINER_ELLIOT_4] = @@ -4186,7 +4186,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot4), + .party = EVERYTHING_CUSTOMIZED(sParty_Elliot4), }, [TRAINER_ELLIOT_5] = @@ -4198,7 +4198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Elliot5), + .party = EVERYTHING_CUSTOMIZED(sParty_Elliot5), }, [TRAINER_RONALD] = @@ -4210,7 +4210,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ronald), + .party = EVERYTHING_CUSTOMIZED(sParty_Ronald), }, [TRAINER_JACOB] = @@ -4222,7 +4222,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jacob), + .party = EVERYTHING_CUSTOMIZED(sParty_Jacob), }, [TRAINER_ANTHONY] = @@ -4234,7 +4234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Anthony), + .party = EVERYTHING_CUSTOMIZED(sParty_Anthony), }, [TRAINER_BENJAMIN_1] = @@ -4246,7 +4246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin1), + .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin1), }, [TRAINER_BENJAMIN_2] = @@ -4258,7 +4258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin2), + .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin2), }, [TRAINER_BENJAMIN_3] = @@ -4270,7 +4270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin3), + .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin3), }, [TRAINER_BENJAMIN_4] = @@ -4282,7 +4282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin4), + .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin4), }, [TRAINER_BENJAMIN_5] = @@ -4294,7 +4294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Benjamin5), + .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin5), }, [TRAINER_ABIGAIL_1] = @@ -4306,7 +4306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail1), + .party = EVERYTHING_CUSTOMIZED(sParty_Abigail1), }, [TRAINER_JASMINE] = @@ -4318,7 +4318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jasmine), + .party = EVERYTHING_CUSTOMIZED(sParty_Jasmine), }, [TRAINER_ABIGAIL_2] = @@ -4330,7 +4330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail2), + .party = EVERYTHING_CUSTOMIZED(sParty_Abigail2), }, [TRAINER_ABIGAIL_3] = @@ -4342,7 +4342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail3), + .party = EVERYTHING_CUSTOMIZED(sParty_Abigail3), }, [TRAINER_ABIGAIL_4] = @@ -4354,7 +4354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail4), + .party = EVERYTHING_CUSTOMIZED(sParty_Abigail4), }, [TRAINER_ABIGAIL_5] = @@ -4366,7 +4366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Abigail5), + .party = EVERYTHING_CUSTOMIZED(sParty_Abigail5), }, [TRAINER_DYLAN_1] = @@ -4378,7 +4378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan1), + .party = EVERYTHING_CUSTOMIZED(sParty_Dylan1), }, [TRAINER_DYLAN_2] = @@ -4390,7 +4390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan2), + .party = EVERYTHING_CUSTOMIZED(sParty_Dylan2), }, [TRAINER_DYLAN_3] = @@ -4402,7 +4402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan3), + .party = EVERYTHING_CUSTOMIZED(sParty_Dylan3), }, [TRAINER_DYLAN_4] = @@ -4414,7 +4414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan4), + .party = EVERYTHING_CUSTOMIZED(sParty_Dylan4), }, [TRAINER_DYLAN_5] = @@ -4426,7 +4426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dylan5), + .party = EVERYTHING_CUSTOMIZED(sParty_Dylan5), }, [TRAINER_MARIA_1] = @@ -4438,7 +4438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria1), + .party = EVERYTHING_CUSTOMIZED(sParty_Maria1), }, [TRAINER_MARIA_2] = @@ -4450,7 +4450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria2), + .party = EVERYTHING_CUSTOMIZED(sParty_Maria2), }, [TRAINER_MARIA_3] = @@ -4462,7 +4462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria3), + .party = EVERYTHING_CUSTOMIZED(sParty_Maria3), }, [TRAINER_MARIA_4] = @@ -4474,7 +4474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria4), + .party = EVERYTHING_CUSTOMIZED(sParty_Maria4), }, [TRAINER_MARIA_5] = @@ -4486,7 +4486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Maria5), + .party = EVERYTHING_CUSTOMIZED(sParty_Maria5), }, [TRAINER_CAMDEN] = @@ -4498,7 +4498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Camden), + .party = EVERYTHING_CUSTOMIZED(sParty_Camden), }, [TRAINER_DEMETRIUS] = @@ -4510,7 +4510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Demetrius), + .party = EVERYTHING_CUSTOMIZED(sParty_Demetrius), }, [TRAINER_ISAIAH_1] = @@ -4522,7 +4522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah1), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah1), }, [TRAINER_PABLO_1] = @@ -4534,7 +4534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo1), + .party = EVERYTHING_CUSTOMIZED(sParty_Pablo1), }, [TRAINER_CHASE] = @@ -4546,7 +4546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Chase), + .party = EVERYTHING_CUSTOMIZED(sParty_Chase), }, [TRAINER_ISAIAH_2] = @@ -4558,7 +4558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah2), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah2), }, [TRAINER_ISAIAH_3] = @@ -4570,7 +4570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah3), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah3), }, [TRAINER_ISAIAH_4] = @@ -4582,7 +4582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah4), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah4), }, [TRAINER_ISAIAH_5] = @@ -4594,7 +4594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaiah5), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah5), }, [TRAINER_ISOBEL] = @@ -4606,7 +4606,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isobel), + .party = EVERYTHING_CUSTOMIZED(sParty_Isobel), }, [TRAINER_DONNY] = @@ -4618,7 +4618,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Donny), + .party = EVERYTHING_CUSTOMIZED(sParty_Donny), }, [TRAINER_TALIA] = @@ -4630,7 +4630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Talia), + .party = EVERYTHING_CUSTOMIZED(sParty_Talia), }, [TRAINER_KATELYN_1] = @@ -4642,7 +4642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn1), + .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn1), }, [TRAINER_ALLISON] = @@ -4654,7 +4654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Allison), + .party = EVERYTHING_CUSTOMIZED(sParty_Allison), }, [TRAINER_KATELYN_2] = @@ -4666,7 +4666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn2), + .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn2), }, [TRAINER_KATELYN_3] = @@ -4678,7 +4678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn3), + .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn3), }, [TRAINER_KATELYN_4] = @@ -4690,7 +4690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn4), + .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn4), }, [TRAINER_KATELYN_5] = @@ -4702,7 +4702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Katelyn5), + .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn5), }, [TRAINER_NICOLAS_1] = @@ -4714,7 +4714,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas1), + .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas1), }, [TRAINER_NICOLAS_2] = @@ -4726,7 +4726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas2), + .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas2), }, [TRAINER_NICOLAS_3] = @@ -4738,7 +4738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas3), + .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas3), }, [TRAINER_NICOLAS_4] = @@ -4750,7 +4750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicolas4), + .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas4), }, [TRAINER_NICOLAS_5] = @@ -4786,7 +4786,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Perry), + .party = EVERYTHING_CUSTOMIZED(sParty_Perry), }, [TRAINER_HUGH] = @@ -4798,7 +4798,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hugh), + .party = EVERYTHING_CUSTOMIZED(sParty_Hugh), }, [TRAINER_PHIL] = @@ -4810,7 +4810,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Phil), + .party = EVERYTHING_CUSTOMIZED(sParty_Phil), }, [TRAINER_JARED] = @@ -4822,7 +4822,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jared), + .party = EVERYTHING_CUSTOMIZED(sParty_Jared), }, [TRAINER_HUMBERTO] = @@ -4834,7 +4834,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Humberto), + .party = EVERYTHING_CUSTOMIZED(sParty_Humberto), }, [TRAINER_PRESLEY] = @@ -4846,7 +4846,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Presley), + .party = EVERYTHING_CUSTOMIZED(sParty_Presley), }, [TRAINER_EDWARDO] = @@ -4858,7 +4858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwardo), + .party = EVERYTHING_CUSTOMIZED(sParty_Edwardo), }, [TRAINER_COLIN] = @@ -4870,7 +4870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Colin), + .party = EVERYTHING_CUSTOMIZED(sParty_Colin), }, [TRAINER_ROBERT_1] = @@ -4882,7 +4882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert1), + .party = EVERYTHING_CUSTOMIZED(sParty_Robert1), }, [TRAINER_BENNY] = @@ -4894,7 +4894,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Benny), + .party = EVERYTHING_CUSTOMIZED(sParty_Benny), }, [TRAINER_CHESTER] = @@ -4906,7 +4906,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Chester), + .party = EVERYTHING_CUSTOMIZED(sParty_Chester), }, [TRAINER_ROBERT_2] = @@ -4918,7 +4918,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert2), + .party = EVERYTHING_CUSTOMIZED(sParty_Robert2), }, [TRAINER_ROBERT_3] = @@ -4930,7 +4930,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert3), + .party = EVERYTHING_CUSTOMIZED(sParty_Robert3), }, [TRAINER_ROBERT_4] = @@ -4942,7 +4942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert4), + .party = EVERYTHING_CUSTOMIZED(sParty_Robert4), }, [TRAINER_ROBERT_5] = @@ -4954,7 +4954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Robert5), + .party = EVERYTHING_CUSTOMIZED(sParty_Robert5), }, [TRAINER_ALEX] = @@ -4966,7 +4966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alex), + .party = EVERYTHING_CUSTOMIZED(sParty_Alex), }, [TRAINER_BECK] = @@ -4978,7 +4978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Beck), + .party = EVERYTHING_CUSTOMIZED(sParty_Beck), }, [TRAINER_YASU] = @@ -4990,7 +4990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Yasu), + .party = EVERYTHING_CUSTOMIZED(sParty_Yasu), }, [TRAINER_TAKASHI] = @@ -5002,7 +5002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Takashi), + .party = EVERYTHING_CUSTOMIZED(sParty_Takashi), }, [TRAINER_DIANNE] = @@ -5026,7 +5026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jani), + .party = EVERYTHING_CUSTOMIZED(sParty_Jani), }, [TRAINER_LAO_1] = @@ -5050,7 +5050,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lung), + .party = EVERYTHING_CUSTOMIZED(sParty_Lung), }, [TRAINER_LAO_2] = @@ -5110,7 +5110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jocelyn), + .party = EVERYTHING_CUSTOMIZED(sParty_Jocelyn), }, [TRAINER_LAURA] = @@ -5122,7 +5122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Laura), + .party = EVERYTHING_CUSTOMIZED(sParty_Laura), }, [TRAINER_CYNDY_1] = @@ -5134,7 +5134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy1), + .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy1), }, [TRAINER_CORA] = @@ -5146,7 +5146,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cora), + .party = EVERYTHING_CUSTOMIZED(sParty_Cora), }, [TRAINER_PAULA] = @@ -5158,7 +5158,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Paula), + .party = EVERYTHING_CUSTOMIZED(sParty_Paula), }, [TRAINER_CYNDY_2] = @@ -5170,7 +5170,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy2), + .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy2), }, [TRAINER_CYNDY_3] = @@ -5182,7 +5182,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy3), + .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy3), }, [TRAINER_CYNDY_4] = @@ -5194,7 +5194,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy4), + .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy4), }, [TRAINER_CYNDY_5] = @@ -5206,7 +5206,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cyndy5), + .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy5), }, [TRAINER_MADELINE_1] = @@ -5230,7 +5230,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Clarissa), + .party = EVERYTHING_CUSTOMIZED(sParty_Clarissa), }, [TRAINER_ANGELICA] = @@ -5302,7 +5302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Beverly), + .party = EVERYTHING_CUSTOMIZED(sParty_Beverly), }, [TRAINER_IMANI] = @@ -5314,7 +5314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Imani), + .party = EVERYTHING_CUSTOMIZED(sParty_Imani), }, [TRAINER_KYLA] = @@ -5326,7 +5326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kyla), + .party = EVERYTHING_CUSTOMIZED(sParty_Kyla), }, [TRAINER_DENISE] = @@ -5338,7 +5338,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Denise), + .party = EVERYTHING_CUSTOMIZED(sParty_Denise), }, [TRAINER_BETH] = @@ -5350,7 +5350,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Beth), + .party = EVERYTHING_CUSTOMIZED(sParty_Beth), }, [TRAINER_TARA] = @@ -5362,7 +5362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tara), + .party = EVERYTHING_CUSTOMIZED(sParty_Tara), }, [TRAINER_MISSY] = @@ -5374,7 +5374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Missy), + .party = EVERYTHING_CUSTOMIZED(sParty_Missy), }, [TRAINER_ALICE] = @@ -5386,7 +5386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alice), + .party = EVERYTHING_CUSTOMIZED(sParty_Alice), }, [TRAINER_JENNY_1] = @@ -5398,7 +5398,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny1), + .party = EVERYTHING_CUSTOMIZED(sParty_Jenny1), }, [TRAINER_GRACE] = @@ -5410,7 +5410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Grace), + .party = EVERYTHING_CUSTOMIZED(sParty_Grace), }, [TRAINER_TANYA] = @@ -5422,7 +5422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tanya), + .party = EVERYTHING_CUSTOMIZED(sParty_Tanya), }, [TRAINER_SHARON] = @@ -5434,7 +5434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sharon), + .party = EVERYTHING_CUSTOMIZED(sParty_Sharon), }, [TRAINER_NIKKI] = @@ -5446,7 +5446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nikki), + .party = EVERYTHING_CUSTOMIZED(sParty_Nikki), }, [TRAINER_BRENDA] = @@ -5458,7 +5458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brenda), + .party = EVERYTHING_CUSTOMIZED(sParty_Brenda), }, [TRAINER_KATIE] = @@ -5470,7 +5470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Katie), + .party = EVERYTHING_CUSTOMIZED(sParty_Katie), }, [TRAINER_SUSIE] = @@ -5482,7 +5482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Susie), + .party = EVERYTHING_CUSTOMIZED(sParty_Susie), }, [TRAINER_KARA] = @@ -5494,7 +5494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kara), + .party = EVERYTHING_CUSTOMIZED(sParty_Kara), }, [TRAINER_DANA] = @@ -5506,7 +5506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dana), + .party = EVERYTHING_CUSTOMIZED(sParty_Dana), }, [TRAINER_SIENNA] = @@ -5518,7 +5518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sienna), + .party = EVERYTHING_CUSTOMIZED(sParty_Sienna), }, [TRAINER_DEBRA] = @@ -5530,7 +5530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Debra), + .party = EVERYTHING_CUSTOMIZED(sParty_Debra), }, [TRAINER_LINDA] = @@ -5542,7 +5542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Linda), + .party = EVERYTHING_CUSTOMIZED(sParty_Linda), }, [TRAINER_KAYLEE] = @@ -5554,7 +5554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kaylee), + .party = EVERYTHING_CUSTOMIZED(sParty_Kaylee), }, [TRAINER_LAUREL] = @@ -5566,7 +5566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Laurel), + .party = EVERYTHING_CUSTOMIZED(sParty_Laurel), }, [TRAINER_CARLEE] = @@ -5578,7 +5578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Carlee), + .party = EVERYTHING_CUSTOMIZED(sParty_Carlee), }, [TRAINER_JENNY_2] = @@ -5590,7 +5590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny2), + .party = EVERYTHING_CUSTOMIZED(sParty_Jenny2), }, [TRAINER_JENNY_3] = @@ -5602,7 +5602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny3), + .party = EVERYTHING_CUSTOMIZED(sParty_Jenny3), }, [TRAINER_JENNY_4] = @@ -5614,7 +5614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny4), + .party = EVERYTHING_CUSTOMIZED(sParty_Jenny4), }, [TRAINER_JENNY_5] = @@ -5626,7 +5626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenny5), + .party = EVERYTHING_CUSTOMIZED(sParty_Jenny5), }, [TRAINER_HEIDI] = @@ -5662,7 +5662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Carol), + .party = EVERYTHING_CUSTOMIZED(sParty_Carol), }, [TRAINER_NANCY] = @@ -5674,7 +5674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nancy), + .party = EVERYTHING_CUSTOMIZED(sParty_Nancy), }, [TRAINER_MARTHA] = @@ -5686,7 +5686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Martha), + .party = EVERYTHING_CUSTOMIZED(sParty_Martha), }, [TRAINER_DIANA_1] = @@ -5698,7 +5698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana1), + .party = EVERYTHING_CUSTOMIZED(sParty_Diana1), }, [TRAINER_CEDRIC] = @@ -5722,7 +5722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Irene), + .party = EVERYTHING_CUSTOMIZED(sParty_Irene), }, [TRAINER_DIANA_2] = @@ -5734,7 +5734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana2), + .party = EVERYTHING_CUSTOMIZED(sParty_Diana2), }, [TRAINER_DIANA_3] = @@ -5746,7 +5746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana3), + .party = EVERYTHING_CUSTOMIZED(sParty_Diana3), }, [TRAINER_DIANA_4] = @@ -5758,7 +5758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana4), + .party = EVERYTHING_CUSTOMIZED(sParty_Diana4), }, [TRAINER_DIANA_5] = @@ -5770,7 +5770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Diana5), + .party = EVERYTHING_CUSTOMIZED(sParty_Diana5), }, [TRAINER_AMY_AND_LIV_1] = @@ -5782,7 +5782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv1), + .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv1), }, [TRAINER_AMY_AND_LIV_2] = @@ -5794,7 +5794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv2), + .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv2), }, [TRAINER_GINA_AND_MIA_1] = @@ -5806,7 +5806,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GinaAndMia1), + .party = EVERYTHING_CUSTOMIZED(sParty_GinaAndMia1), }, [TRAINER_MIU_AND_YUKI] = @@ -5818,7 +5818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MiuAndYuki), + .party = EVERYTHING_CUSTOMIZED(sParty_MiuAndYuki), }, [TRAINER_AMY_AND_LIV_3] = @@ -5830,7 +5830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv3), + .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv3), }, [TRAINER_GINA_AND_MIA_2] = @@ -5854,7 +5854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_AmyAndLiv4), + .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv4), }, [TRAINER_AMY_AND_LIV_5] = @@ -5890,7 +5890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Huey), + .party = EVERYTHING_CUSTOMIZED(sParty_Huey), }, [TRAINER_EDMOND] = @@ -5902,7 +5902,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edmond), + .party = EVERYTHING_CUSTOMIZED(sParty_Edmond), }, [TRAINER_ERNEST_1] = @@ -5914,7 +5914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest1), + .party = EVERYTHING_CUSTOMIZED(sParty_Ernest1), }, [TRAINER_DWAYNE] = @@ -5926,7 +5926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dwayne), + .party = EVERYTHING_CUSTOMIZED(sParty_Dwayne), }, [TRAINER_PHILLIP] = @@ -5938,7 +5938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Phillip), + .party = EVERYTHING_CUSTOMIZED(sParty_Phillip), }, [TRAINER_LEONARD] = @@ -5950,7 +5950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Leonard), + .party = EVERYTHING_CUSTOMIZED(sParty_Leonard), }, [TRAINER_DUNCAN] = @@ -5962,7 +5962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Duncan), + .party = EVERYTHING_CUSTOMIZED(sParty_Duncan), }, [TRAINER_ERNEST_2] = @@ -5974,7 +5974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest2), + .party = EVERYTHING_CUSTOMIZED(sParty_Ernest2), }, [TRAINER_ERNEST_3] = @@ -5986,7 +5986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest3), + .party = EVERYTHING_CUSTOMIZED(sParty_Ernest3), }, [TRAINER_ERNEST_4] = @@ -5998,7 +5998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest4), + .party = EVERYTHING_CUSTOMIZED(sParty_Ernest4), }, [TRAINER_ERNEST_5] = @@ -6010,7 +6010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ernest5), + .party = EVERYTHING_CUSTOMIZED(sParty_Ernest5), }, [TRAINER_ELI] = @@ -6022,7 +6022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Eli), + .party = EVERYTHING_CUSTOMIZED(sParty_Eli), }, [TRAINER_ANNIKA] = @@ -6046,7 +6046,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jazmyn), + .party = EVERYTHING_CUSTOMIZED(sParty_Jazmyn), }, [TRAINER_JONAS] = @@ -6082,7 +6082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Auron), + .party = EVERYTHING_CUSTOMIZED(sParty_Auron), }, [TRAINER_KELVIN] = @@ -6094,7 +6094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kelvin), + .party = EVERYTHING_CUSTOMIZED(sParty_Kelvin), }, [TRAINER_MARLEY] = @@ -6118,7 +6118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Reyna), + .party = EVERYTHING_CUSTOMIZED(sParty_Reyna), }, [TRAINER_HUDSON] = @@ -6130,7 +6130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hudson), + .party = EVERYTHING_CUSTOMIZED(sParty_Hudson), }, [TRAINER_CONOR] = @@ -6142,7 +6142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Conor), + .party = EVERYTHING_CUSTOMIZED(sParty_Conor), }, [TRAINER_EDWIN_1] = @@ -6154,7 +6154,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin1), + .party = EVERYTHING_CUSTOMIZED(sParty_Edwin1), }, [TRAINER_HECTOR] = @@ -6166,7 +6166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hector), + .party = EVERYTHING_CUSTOMIZED(sParty_Hector), }, [TRAINER_TABITHA_MOSSDEEP] = @@ -6178,7 +6178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TabithaMossdeep), + .party = EVERYTHING_CUSTOMIZED(sParty_TabithaMossdeep), }, [TRAINER_EDWIN_2] = @@ -6190,7 +6190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin2), + .party = EVERYTHING_CUSTOMIZED(sParty_Edwin2), }, [TRAINER_EDWIN_3] = @@ -6202,7 +6202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin3), + .party = EVERYTHING_CUSTOMIZED(sParty_Edwin3), }, [TRAINER_EDWIN_4] = @@ -6214,7 +6214,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin4), + .party = EVERYTHING_CUSTOMIZED(sParty_Edwin4), }, [TRAINER_EDWIN_5] = @@ -6226,7 +6226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Edwin5), + .party = EVERYTHING_CUSTOMIZED(sParty_Edwin5), }, [TRAINER_WALLY_VR_1] = @@ -6250,7 +6250,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute103Mudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute103Mudkip), }, [TRAINER_BRENDAN_ROUTE_110_MUDKIP] = @@ -6262,7 +6262,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute110Mudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute110Mudkip), }, [TRAINER_BRENDAN_ROUTE_119_MUDKIP] = @@ -6274,7 +6274,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute119Mudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute119Mudkip), }, [TRAINER_BRENDAN_ROUTE_103_TREECKO] = @@ -6286,7 +6286,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute103Treecko), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute103Treecko), }, [TRAINER_BRENDAN_ROUTE_110_TREECKO] = @@ -6298,7 +6298,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute110Treecko), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute110Treecko), }, [TRAINER_BRENDAN_ROUTE_119_TREECKO] = @@ -6310,7 +6310,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute119Treecko), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute119Treecko), }, [TRAINER_BRENDAN_ROUTE_103_TORCHIC] = @@ -6322,7 +6322,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute103Torchic), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute103Torchic), }, [TRAINER_BRENDAN_ROUTE_110_TORCHIC] = @@ -6334,7 +6334,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute110Torchic), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute110Torchic), }, [TRAINER_BRENDAN_ROUTE_119_TORCHIC] = @@ -6346,7 +6346,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRoute119Torchic), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute119Torchic), }, [TRAINER_MAY_ROUTE_103_MUDKIP] = @@ -6358,7 +6358,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute103Mudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute103Mudkip), }, [TRAINER_MAY_ROUTE_110_MUDKIP] = @@ -6370,7 +6370,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute110Mudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute110Mudkip), }, [TRAINER_MAY_ROUTE_119_MUDKIP] = @@ -6382,7 +6382,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute119Mudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute119Mudkip), }, [TRAINER_MAY_ROUTE_103_TREECKO] = @@ -6394,7 +6394,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute103Treecko), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute103Treecko), }, [TRAINER_MAY_ROUTE_110_TREECKO] = @@ -6406,7 +6406,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute110Treecko), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute110Treecko), }, [TRAINER_MAY_ROUTE_119_TREECKO] = @@ -6418,7 +6418,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute119Treecko), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute119Treecko), }, [TRAINER_MAY_ROUTE_103_TORCHIC] = @@ -6430,7 +6430,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute103Torchic), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute103Torchic), }, [TRAINER_MAY_ROUTE_110_TORCHIC] = @@ -6442,7 +6442,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute110Torchic), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute110Torchic), }, [TRAINER_MAY_ROUTE_119_TORCHIC] = @@ -6454,7 +6454,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRoute119Torchic), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute119Torchic), }, [TRAINER_ISAAC_1] = @@ -6466,7 +6466,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac1), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaac1), }, [TRAINER_DAVIS] = @@ -6478,7 +6478,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Davis), + .party = EVERYTHING_CUSTOMIZED(sParty_Davis), }, [TRAINER_MITCHELL] = @@ -6502,7 +6502,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac2), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaac2), }, [TRAINER_ISAAC_3] = @@ -6514,7 +6514,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac3), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaac3), }, [TRAINER_ISAAC_4] = @@ -6526,7 +6526,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac4), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaac4), }, [TRAINER_ISAAC_5] = @@ -6538,7 +6538,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isaac5), + .party = EVERYTHING_CUSTOMIZED(sParty_Isaac5), }, [TRAINER_LYDIA_1] = @@ -6550,7 +6550,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia1), + .party = EVERYTHING_CUSTOMIZED(sParty_Lydia1), }, [TRAINER_HALLE] = @@ -6562,7 +6562,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Halle), + .party = EVERYTHING_CUSTOMIZED(sParty_Halle), }, [TRAINER_GARRISON] = @@ -6574,7 +6574,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Garrison), + .party = EVERYTHING_CUSTOMIZED(sParty_Garrison), }, [TRAINER_LYDIA_2] = @@ -6586,7 +6586,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia2), + .party = EVERYTHING_CUSTOMIZED(sParty_Lydia2), }, [TRAINER_LYDIA_3] = @@ -6598,7 +6598,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia3), + .party = EVERYTHING_CUSTOMIZED(sParty_Lydia3), }, [TRAINER_LYDIA_4] = @@ -6610,7 +6610,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia4), + .party = EVERYTHING_CUSTOMIZED(sParty_Lydia4), }, [TRAINER_LYDIA_5] = @@ -6622,7 +6622,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lydia5), + .party = EVERYTHING_CUSTOMIZED(sParty_Lydia5), }, [TRAINER_JACKSON_1] = @@ -6634,7 +6634,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson1), + .party = EVERYTHING_CUSTOMIZED(sParty_Jackson1), }, [TRAINER_LORENZO] = @@ -6646,7 +6646,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lorenzo), + .party = EVERYTHING_CUSTOMIZED(sParty_Lorenzo), }, [TRAINER_SEBASTIAN] = @@ -6658,7 +6658,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sebastian), + .party = EVERYTHING_CUSTOMIZED(sParty_Sebastian), }, [TRAINER_JACKSON_2] = @@ -6670,7 +6670,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson2), + .party = EVERYTHING_CUSTOMIZED(sParty_Jackson2), }, [TRAINER_JACKSON_3] = @@ -6682,7 +6682,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson3), + .party = EVERYTHING_CUSTOMIZED(sParty_Jackson3), }, [TRAINER_JACKSON_4] = @@ -6694,7 +6694,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson4), + .party = EVERYTHING_CUSTOMIZED(sParty_Jackson4), }, [TRAINER_JACKSON_5] = @@ -6706,7 +6706,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jackson5), + .party = EVERYTHING_CUSTOMIZED(sParty_Jackson5), }, [TRAINER_CATHERINE_1] = @@ -6718,7 +6718,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine1), + .party = EVERYTHING_CUSTOMIZED(sParty_Catherine1), }, [TRAINER_JENNA] = @@ -6730,7 +6730,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jenna), + .party = EVERYTHING_CUSTOMIZED(sParty_Jenna), }, [TRAINER_SOPHIA] = @@ -6742,7 +6742,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sophia), + .party = EVERYTHING_CUSTOMIZED(sParty_Sophia), }, [TRAINER_CATHERINE_2] = @@ -6754,7 +6754,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine2), + .party = EVERYTHING_CUSTOMIZED(sParty_Catherine2), }, [TRAINER_CATHERINE_3] = @@ -6766,7 +6766,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine3), + .party = EVERYTHING_CUSTOMIZED(sParty_Catherine3), }, [TRAINER_CATHERINE_4] = @@ -6778,7 +6778,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine4), + .party = EVERYTHING_CUSTOMIZED(sParty_Catherine4), }, [TRAINER_CATHERINE_5] = @@ -6790,7 +6790,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Catherine5), + .party = EVERYTHING_CUSTOMIZED(sParty_Catherine5), }, [TRAINER_JULIO] = @@ -6802,7 +6802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Julio), + .party = EVERYTHING_CUSTOMIZED(sParty_Julio), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_5] = @@ -6814,7 +6814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSeafloorCavern5), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern5), }, [TRAINER_GRUNT_UNUSED] = @@ -6826,7 +6826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntUnused), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntUnused), }, [TRAINER_GRUNT_MT_PYRE_4] = @@ -6838,7 +6838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtPyre4), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre4), }, [TRAINER_GRUNT_JAGGED_PASS] = @@ -6850,7 +6850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntJaggedPass), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntJaggedPass), }, [TRAINER_MARC] = @@ -6862,7 +6862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Marc), + .party = EVERYTHING_CUSTOMIZED(sParty_Marc), }, [TRAINER_BRENDEN] = @@ -6874,7 +6874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brenden), + .party = EVERYTHING_CUSTOMIZED(sParty_Brenden), }, [TRAINER_LILITH] = @@ -6886,7 +6886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lilith), + .party = EVERYTHING_CUSTOMIZED(sParty_Lilith), }, [TRAINER_CRISTIAN] = @@ -6898,7 +6898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristian), + .party = EVERYTHING_CUSTOMIZED(sParty_Cristian), }, [TRAINER_SYLVIA] = @@ -6910,7 +6910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sylvia), + .party = EVERYTHING_CUSTOMIZED(sParty_Sylvia), }, [TRAINER_LEONARDO] = @@ -6922,7 +6922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Leonardo), + .party = EVERYTHING_CUSTOMIZED(sParty_Leonardo), }, [TRAINER_ATHENA] = @@ -6946,7 +6946,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Harrison), + .party = EVERYTHING_CUSTOMIZED(sParty_Harrison), }, [TRAINER_GRUNT_MT_CHIMNEY_2] = @@ -6958,7 +6958,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMtChimney2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtChimney2), }, [TRAINER_CLARENCE] = @@ -6970,7 +6970,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Clarence), + .party = EVERYTHING_CUSTOMIZED(sParty_Clarence), }, [TRAINER_TERRY] = @@ -6982,7 +6982,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Terry), + .party = EVERYTHING_CUSTOMIZED(sParty_Terry), }, [TRAINER_NATE] = @@ -6994,7 +6994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nate), + .party = EVERYTHING_CUSTOMIZED(sParty_Nate), }, [TRAINER_KATHLEEN] = @@ -7006,7 +7006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kathleen), + .party = EVERYTHING_CUSTOMIZED(sParty_Kathleen), }, [TRAINER_CLIFFORD] = @@ -7018,7 +7018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Clifford), + .party = EVERYTHING_CUSTOMIZED(sParty_Clifford), }, [TRAINER_NICHOLAS] = @@ -7030,7 +7030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Nicholas), + .party = EVERYTHING_CUSTOMIZED(sParty_Nicholas), }, [TRAINER_GRUNT_SPACE_CENTER_3] = @@ -7042,7 +7042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter3), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter3), }, [TRAINER_GRUNT_SPACE_CENTER_4] = @@ -7054,7 +7054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter4), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter4), }, [TRAINER_GRUNT_SPACE_CENTER_5] = @@ -7066,7 +7066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter5), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter5), }, [TRAINER_GRUNT_SPACE_CENTER_6] = @@ -7078,7 +7078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter6), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter6), }, [TRAINER_GRUNT_SPACE_CENTER_7] = @@ -7090,7 +7090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntSpaceCenter7), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter7), }, [TRAINER_MACEY] = @@ -7102,7 +7102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Macey), + .party = EVERYTHING_CUSTOMIZED(sParty_Macey), }, [TRAINER_BRENDAN_RUSTBORO_TREECKO] = @@ -7114,7 +7114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRustboroTreecko), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRustboroTreecko), }, [TRAINER_BRENDAN_RUSTBORO_MUDKIP] = @@ -7126,7 +7126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRustboroMudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRustboroMudkip), }, [TRAINER_PAXTON] = @@ -7138,7 +7138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Paxton), + .party = EVERYTHING_CUSTOMIZED(sParty_Paxton), }, [TRAINER_ISABELLA] = @@ -7150,7 +7150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isabella), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabella), }, [TRAINER_GRUNT_WEATHER_INST_5] = @@ -7162,7 +7162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntWeatherInst5), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst5), }, [TRAINER_TABITHA_MT_CHIMNEY] = @@ -7174,7 +7174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TabithaMtChimney), + .party = EVERYTHING_CUSTOMIZED(sParty_TabithaMtChimney), }, [TRAINER_JONATHAN] = @@ -7186,7 +7186,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jonathan), + .party = EVERYTHING_CUSTOMIZED(sParty_Jonathan), }, [TRAINER_BRENDAN_RUSTBORO_TORCHIC] = @@ -7198,7 +7198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanRustboroTorchic), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRustboroTorchic), }, [TRAINER_MAY_RUSTBORO_MUDKIP] = @@ -7210,7 +7210,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRustboroMudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRustboroMudkip), }, [TRAINER_MAXIE_MAGMA_HIDEOUT] = @@ -7222,7 +7222,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MaxieMagmaHideout), + .party = EVERYTHING_CUSTOMIZED(sParty_MaxieMagmaHideout), }, [TRAINER_MAXIE_MT_CHIMNEY] = @@ -7234,7 +7234,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MaxieMtChimney), + .party = EVERYTHING_CUSTOMIZED(sParty_MaxieMtChimney), }, [TRAINER_TIANA] = @@ -7246,7 +7246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tiana), + .party = EVERYTHING_CUSTOMIZED(sParty_Tiana), }, [TRAINER_HALEY_1] = @@ -7258,7 +7258,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley1), + .party = EVERYTHING_CUSTOMIZED(sParty_Haley1), }, [TRAINER_JANICE] = @@ -7270,7 +7270,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Janice), + .party = EVERYTHING_CUSTOMIZED(sParty_Janice), }, [TRAINER_VIVI] = @@ -7282,7 +7282,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Vivi), + .party = EVERYTHING_CUSTOMIZED(sParty_Vivi), }, [TRAINER_HALEY_2] = @@ -7294,7 +7294,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley2), + .party = EVERYTHING_CUSTOMIZED(sParty_Haley2), }, [TRAINER_HALEY_3] = @@ -7306,7 +7306,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley3), + .party = EVERYTHING_CUSTOMIZED(sParty_Haley3), }, [TRAINER_HALEY_4] = @@ -7318,7 +7318,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley4), + .party = EVERYTHING_CUSTOMIZED(sParty_Haley4), }, [TRAINER_HALEY_5] = @@ -7330,7 +7330,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Haley5), + .party = EVERYTHING_CUSTOMIZED(sParty_Haley5), }, [TRAINER_SALLY] = @@ -7342,7 +7342,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sally), + .party = EVERYTHING_CUSTOMIZED(sParty_Sally), }, [TRAINER_ROBIN] = @@ -7354,7 +7354,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Robin), + .party = EVERYTHING_CUSTOMIZED(sParty_Robin), }, [TRAINER_ANDREA] = @@ -7366,7 +7366,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andrea), + .party = EVERYTHING_CUSTOMIZED(sParty_Andrea), }, [TRAINER_CRISSY] = @@ -7378,7 +7378,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Crissy), + .party = EVERYTHING_CUSTOMIZED(sParty_Crissy), }, [TRAINER_RICK] = @@ -7390,7 +7390,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rick), + .party = EVERYTHING_CUSTOMIZED(sParty_Rick), }, [TRAINER_LYLE] = @@ -7402,7 +7402,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lyle), + .party = EVERYTHING_CUSTOMIZED(sParty_Lyle), }, [TRAINER_JOSE] = @@ -7414,7 +7414,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jose), + .party = EVERYTHING_CUSTOMIZED(sParty_Jose), }, [TRAINER_DOUG] = @@ -7426,7 +7426,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Doug), + .party = EVERYTHING_CUSTOMIZED(sParty_Doug), }, [TRAINER_GREG] = @@ -7438,7 +7438,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Greg), + .party = EVERYTHING_CUSTOMIZED(sParty_Greg), }, [TRAINER_KENT] = @@ -7450,7 +7450,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kent), + .party = EVERYTHING_CUSTOMIZED(sParty_Kent), }, [TRAINER_JAMES_1] = @@ -7462,7 +7462,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_James1), + .party = EVERYTHING_CUSTOMIZED(sParty_James1), }, [TRAINER_JAMES_2] = @@ -7474,7 +7474,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_James2), + .party = EVERYTHING_CUSTOMIZED(sParty_James2), }, [TRAINER_JAMES_3] = @@ -7486,7 +7486,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_James3), + .party = EVERYTHING_CUSTOMIZED(sParty_James3), }, [TRAINER_JAMES_4] = @@ -7498,7 +7498,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_James4), + .party = EVERYTHING_CUSTOMIZED(sParty_James4), }, [TRAINER_JAMES_5] = @@ -7510,7 +7510,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_James5), + .party = EVERYTHING_CUSTOMIZED(sParty_James5), }, [TRAINER_BRICE] = @@ -7522,7 +7522,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brice), + .party = EVERYTHING_CUSTOMIZED(sParty_Brice), }, [TRAINER_TRENT_1] = @@ -7534,7 +7534,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent1), + .party = EVERYTHING_CUSTOMIZED(sParty_Trent1), }, [TRAINER_LENNY] = @@ -7546,7 +7546,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lenny), + .party = EVERYTHING_CUSTOMIZED(sParty_Lenny), }, [TRAINER_LUCAS_1] = @@ -7558,7 +7558,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lucas1), + .party = EVERYTHING_CUSTOMIZED(sParty_Lucas1), }, [TRAINER_ALAN] = @@ -7570,7 +7570,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alan), + .party = EVERYTHING_CUSTOMIZED(sParty_Alan), }, [TRAINER_CLARK] = @@ -7582,7 +7582,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Clark), + .party = EVERYTHING_CUSTOMIZED(sParty_Clark), }, [TRAINER_ERIC] = @@ -7594,7 +7594,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Eric), + .party = EVERYTHING_CUSTOMIZED(sParty_Eric), }, [TRAINER_LUCAS_2] = @@ -7630,7 +7630,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Mike2), + .party = EVERYTHING_CUSTOMIZED(sParty_Mike2), }, [TRAINER_TRENT_2] = @@ -7642,7 +7642,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent2), + .party = EVERYTHING_CUSTOMIZED(sParty_Trent2), }, [TRAINER_TRENT_3] = @@ -7654,7 +7654,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent3), + .party = EVERYTHING_CUSTOMIZED(sParty_Trent3), }, [TRAINER_TRENT_4] = @@ -7666,7 +7666,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent4), + .party = EVERYTHING_CUSTOMIZED(sParty_Trent4), }, [TRAINER_TRENT_5] = @@ -7678,7 +7678,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Trent5), + .party = EVERYTHING_CUSTOMIZED(sParty_Trent5), }, [TRAINER_DEZ_AND_LUKE] = @@ -7690,7 +7690,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_DezAndLuke), + .party = EVERYTHING_CUSTOMIZED(sParty_DezAndLuke), }, [TRAINER_LEA_AND_JED] = @@ -7702,7 +7702,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LeaAndJed), + .party = EVERYTHING_CUSTOMIZED(sParty_LeaAndJed), }, [TRAINER_KIRA_AND_DAN_1] = @@ -7714,7 +7714,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan1), + .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan1), }, [TRAINER_KIRA_AND_DAN_2] = @@ -7726,7 +7726,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan2), + .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan2), }, [TRAINER_KIRA_AND_DAN_3] = @@ -7738,7 +7738,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan3), + .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan3), }, [TRAINER_KIRA_AND_DAN_4] = @@ -7750,7 +7750,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan4), + .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan4), }, [TRAINER_KIRA_AND_DAN_5] = @@ -7762,7 +7762,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_KiraAndDan5), + .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan5), }, [TRAINER_JOHANNA] = @@ -7774,7 +7774,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Johanna), + .party = EVERYTHING_CUSTOMIZED(sParty_Johanna), }, [TRAINER_GERALD] = @@ -7858,7 +7858,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Flint), + .party = EVERYTHING_CUSTOMIZED(sParty_Flint), }, [TRAINER_ASHLEY] = @@ -7870,7 +7870,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ashley), + .party = EVERYTHING_CUSTOMIZED(sParty_Ashley), }, [TRAINER_WALLY_MAUVILLE] = @@ -7882,7 +7882,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_WallyMauville), + .party = EVERYTHING_CUSTOMIZED(sParty_WallyMauville), }, [TRAINER_WALLY_VR_2] = @@ -7942,7 +7942,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLilycoveMudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLilycoveMudkip), }, [TRAINER_BRENDAN_LILYCOVE_TREECKO] = @@ -7954,7 +7954,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLilycoveTreecko), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLilycoveTreecko), }, [TRAINER_BRENDAN_LILYCOVE_TORCHIC] = @@ -7966,7 +7966,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLilycoveTorchic), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLilycoveTorchic), }, [TRAINER_MAY_LILYCOVE_MUDKIP] = @@ -7978,7 +7978,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLilycoveMudkip), + .party = EVERYTHING_CUSTOMIZED(sParty_MayLilycoveMudkip), }, [TRAINER_MAY_LILYCOVE_TREECKO] = @@ -7990,7 +7990,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLilycoveTreecko), + .party = EVERYTHING_CUSTOMIZED(sParty_MayLilycoveTreecko), }, [TRAINER_MAY_LILYCOVE_TORCHIC] = @@ -8002,7 +8002,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLilycoveTorchic), + .party = EVERYTHING_CUSTOMIZED(sParty_MayLilycoveTorchic), }, [TRAINER_JONAH] = @@ -8014,7 +8014,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jonah), + .party = EVERYTHING_CUSTOMIZED(sParty_Jonah), }, [TRAINER_HENRY] = @@ -8026,7 +8026,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Henry), + .party = EVERYTHING_CUSTOMIZED(sParty_Henry), }, [TRAINER_ROGER] = @@ -8038,7 +8038,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Roger), + .party = EVERYTHING_CUSTOMIZED(sParty_Roger), }, [TRAINER_ALEXA] = @@ -8050,7 +8050,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alexa), + .party = EVERYTHING_CUSTOMIZED(sParty_Alexa), }, [TRAINER_RUBEN] = @@ -8062,7 +8062,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Ruben), + .party = EVERYTHING_CUSTOMIZED(sParty_Ruben), }, [TRAINER_KOJI_1] = @@ -8074,7 +8074,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji1), + .party = EVERYTHING_CUSTOMIZED(sParty_Koji1), }, [TRAINER_WAYNE] = @@ -8086,7 +8086,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wayne), + .party = EVERYTHING_CUSTOMIZED(sParty_Wayne), }, [TRAINER_AIDAN] = @@ -8098,7 +8098,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Aidan), + .party = EVERYTHING_CUSTOMIZED(sParty_Aidan), }, [TRAINER_REED] = @@ -8110,7 +8110,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Reed), + .party = EVERYTHING_CUSTOMIZED(sParty_Reed), }, [TRAINER_TISHA] = @@ -8122,7 +8122,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tisha), + .party = EVERYTHING_CUSTOMIZED(sParty_Tisha), }, [TRAINER_TORI_AND_TIA] = @@ -8134,7 +8134,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ToriAndTia), + .party = EVERYTHING_CUSTOMIZED(sParty_ToriAndTia), }, [TRAINER_KIM_AND_IRIS] = @@ -8242,7 +8242,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_ReliAndIan), + .party = EVERYTHING_CUSTOMIZED(sParty_ReliAndIan), }, [TRAINER_LILA_AND_ROY_1] = @@ -8254,7 +8254,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy1), + .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy1), }, [TRAINER_LILA_AND_ROY_2] = @@ -8266,7 +8266,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy2), + .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy2), }, [TRAINER_LILA_AND_ROY_3] = @@ -8278,7 +8278,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy3), + .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy3), }, [TRAINER_LILA_AND_ROY_4] = @@ -8290,7 +8290,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy4), + .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy4), }, [TRAINER_LILA_AND_ROY_5] = @@ -8302,7 +8302,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LilaAndRoy5), + .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy5), }, [TRAINER_LISA_AND_RAY] = @@ -8314,7 +8314,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_LisaAndRay), + .party = EVERYTHING_CUSTOMIZED(sParty_LisaAndRay), }, [TRAINER_CHRIS] = @@ -8326,7 +8326,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Chris), + .party = EVERYTHING_CUSTOMIZED(sParty_Chris), }, [TRAINER_DAWSON] = @@ -8362,7 +8362,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Darian), + .party = EVERYTHING_CUSTOMIZED(sParty_Darian), }, [TRAINER_HAILEY] = @@ -8374,7 +8374,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hailey), + .party = EVERYTHING_CUSTOMIZED(sParty_Hailey), }, [TRAINER_CHANDLER] = @@ -8386,7 +8386,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Chandler), + .party = EVERYTHING_CUSTOMIZED(sParty_Chandler), }, [TRAINER_KALEB] = @@ -8410,7 +8410,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Joseph), + .party = EVERYTHING_CUSTOMIZED(sParty_Joseph), }, [TRAINER_ALYSSA] = @@ -8422,7 +8422,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alyssa), + .party = EVERYTHING_CUSTOMIZED(sParty_Alyssa), }, [TRAINER_MARCOS] = @@ -8434,7 +8434,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Marcos), + .party = EVERYTHING_CUSTOMIZED(sParty_Marcos), }, [TRAINER_RHETT] = @@ -8446,7 +8446,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rhett), + .party = EVERYTHING_CUSTOMIZED(sParty_Rhett), }, [TRAINER_TYRON] = @@ -8458,7 +8458,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tyron), + .party = EVERYTHING_CUSTOMIZED(sParty_Tyron), }, [TRAINER_CELINA] = @@ -8470,7 +8470,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Celina), + .party = EVERYTHING_CUSTOMIZED(sParty_Celina), }, [TRAINER_BIANCA] = @@ -8482,7 +8482,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bianca), + .party = EVERYTHING_CUSTOMIZED(sParty_Bianca), }, [TRAINER_HAYDEN] = @@ -8494,7 +8494,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Hayden), + .party = EVERYTHING_CUSTOMIZED(sParty_Hayden), }, [TRAINER_SOPHIE] = @@ -8506,7 +8506,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sophie), + .party = EVERYTHING_CUSTOMIZED(sParty_Sophie), }, [TRAINER_COBY] = @@ -8518,7 +8518,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Coby), + .party = EVERYTHING_CUSTOMIZED(sParty_Coby), }, [TRAINER_LAWRENCE] = @@ -8530,7 +8530,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lawrence), + .party = EVERYTHING_CUSTOMIZED(sParty_Lawrence), }, [TRAINER_WYATT] = @@ -8542,7 +8542,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Wyatt), + .party = EVERYTHING_CUSTOMIZED(sParty_Wyatt), }, [TRAINER_ANGELINA] = @@ -8554,7 +8554,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Angelina), + .party = EVERYTHING_CUSTOMIZED(sParty_Angelina), }, [TRAINER_KAI] = @@ -8566,7 +8566,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kai), + .party = EVERYTHING_CUSTOMIZED(sParty_Kai), }, [TRAINER_CHARLOTTE] = @@ -8578,7 +8578,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Charlotte), + .party = EVERYTHING_CUSTOMIZED(sParty_Charlotte), }, [TRAINER_DEANDRE] = @@ -8590,7 +8590,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Deandre), + .party = EVERYTHING_CUSTOMIZED(sParty_Deandre), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_1] = @@ -8602,7 +8602,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout1), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout1), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_2] = @@ -8614,7 +8614,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout2), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout2), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_3] = @@ -8626,7 +8626,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout3), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout3), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_4] = @@ -8638,7 +8638,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout4), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout4), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_5] = @@ -8650,7 +8650,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout5), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout5), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_6] = @@ -8662,7 +8662,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout6), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout6), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_7] = @@ -8674,7 +8674,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout7), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout7), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_8] = @@ -8686,7 +8686,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout8), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout8), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_9] = @@ -8698,7 +8698,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout9), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout9), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_10] = @@ -8710,7 +8710,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout10), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout10), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_11] = @@ -8722,7 +8722,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout11), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout11), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_12] = @@ -8734,7 +8734,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout12), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout12), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_13] = @@ -8746,7 +8746,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout13), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout13), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_14] = @@ -8758,7 +8758,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout14), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout14), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_15] = @@ -8770,7 +8770,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout15), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout15), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_16] = @@ -8782,7 +8782,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_GruntMagmaHideout16), + .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout16), }, [TRAINER_TABITHA_MAGMA_HIDEOUT] = @@ -8794,7 +8794,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_TabithaMagmaHideout), + .party = EVERYTHING_CUSTOMIZED(sParty_TabithaMagmaHideout), }, [TRAINER_DARCY] = @@ -8806,7 +8806,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Darcy), + .party = EVERYTHING_CUSTOMIZED(sParty_Darcy), }, [TRAINER_MAXIE_MOSSDEEP] = @@ -8818,7 +8818,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MaxieMossdeep), + .party = EVERYTHING_CUSTOMIZED(sParty_MaxieMossdeep), }, [TRAINER_PETE] = @@ -8830,7 +8830,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pete), + .party = EVERYTHING_CUSTOMIZED(sParty_Pete), }, [TRAINER_ISABELLE] = @@ -8842,7 +8842,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Isabelle), + .party = EVERYTHING_CUSTOMIZED(sParty_Isabelle), }, [TRAINER_ANDRES_1] = @@ -8854,7 +8854,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres1), + .party = EVERYTHING_CUSTOMIZED(sParty_Andres1), }, [TRAINER_JOSUE] = @@ -8866,7 +8866,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Josue), + .party = EVERYTHING_CUSTOMIZED(sParty_Josue), }, [TRAINER_CAMRON] = @@ -8878,7 +8878,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Camron), + .party = EVERYTHING_CUSTOMIZED(sParty_Camron), }, [TRAINER_CORY_1] = @@ -8890,7 +8890,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory1), + .party = EVERYTHING_CUSTOMIZED(sParty_Cory1), }, [TRAINER_CAROLINA] = @@ -8902,7 +8902,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Carolina), + .party = EVERYTHING_CUSTOMIZED(sParty_Carolina), }, [TRAINER_ELIJAH] = @@ -8914,7 +8914,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Elijah), + .party = EVERYTHING_CUSTOMIZED(sParty_Elijah), }, [TRAINER_CELIA] = @@ -8926,7 +8926,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Celia), + .party = EVERYTHING_CUSTOMIZED(sParty_Celia), }, [TRAINER_BRYAN] = @@ -8938,7 +8938,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bryan), + .party = EVERYTHING_CUSTOMIZED(sParty_Bryan), }, [TRAINER_BRANDEN] = @@ -8950,7 +8950,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Branden), + .party = EVERYTHING_CUSTOMIZED(sParty_Branden), }, [TRAINER_BRYANT] = @@ -8962,7 +8962,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Bryant), + .party = EVERYTHING_CUSTOMIZED(sParty_Bryant), }, [TRAINER_SHAYLA] = @@ -8974,7 +8974,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Shayla), + .party = EVERYTHING_CUSTOMIZED(sParty_Shayla), }, [TRAINER_KYRA] = @@ -8986,7 +8986,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Kyra), + .party = EVERYTHING_CUSTOMIZED(sParty_Kyra), }, [TRAINER_JAIDEN] = @@ -8998,7 +8998,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Jaiden), + .party = EVERYTHING_CUSTOMIZED(sParty_Jaiden), }, [TRAINER_ALIX] = @@ -9010,7 +9010,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alix), + .party = EVERYTHING_CUSTOMIZED(sParty_Alix), }, [TRAINER_HELENE] = @@ -9022,7 +9022,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Helene), + .party = EVERYTHING_CUSTOMIZED(sParty_Helene), }, [TRAINER_MARLENE] = @@ -9034,7 +9034,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Marlene), + .party = EVERYTHING_CUSTOMIZED(sParty_Marlene), }, [TRAINER_DEVAN] = @@ -9046,7 +9046,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Devan), + .party = EVERYTHING_CUSTOMIZED(sParty_Devan), }, [TRAINER_JOHNSON] = @@ -9058,7 +9058,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Johnson), + .party = EVERYTHING_CUSTOMIZED(sParty_Johnson), }, [TRAINER_MELINA] = @@ -9070,7 +9070,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Melina), + .party = EVERYTHING_CUSTOMIZED(sParty_Melina), }, [TRAINER_BRANDI] = @@ -9082,7 +9082,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brandi), + .party = EVERYTHING_CUSTOMIZED(sParty_Brandi), }, [TRAINER_AISHA] = @@ -9094,7 +9094,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Aisha), + .party = EVERYTHING_CUSTOMIZED(sParty_Aisha), }, [TRAINER_MAKAYLA] = @@ -9106,7 +9106,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Makayla), + .party = EVERYTHING_CUSTOMIZED(sParty_Makayla), }, [TRAINER_FABIAN] = @@ -9118,7 +9118,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fabian), + .party = EVERYTHING_CUSTOMIZED(sParty_Fabian), }, [TRAINER_DAYTON] = @@ -9130,7 +9130,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Dayton), + .party = EVERYTHING_CUSTOMIZED(sParty_Dayton), }, [TRAINER_RACHEL] = @@ -9142,7 +9142,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Rachel), + .party = EVERYTHING_CUSTOMIZED(sParty_Rachel), }, [TRAINER_LEONEL] = @@ -9166,7 +9166,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Callie), + .party = EVERYTHING_CUSTOMIZED(sParty_Callie), }, [TRAINER_CALE] = @@ -9178,7 +9178,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cale), + .party = EVERYTHING_CUSTOMIZED(sParty_Cale), }, [TRAINER_MYLES] = @@ -9190,7 +9190,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Myles), + .party = EVERYTHING_CUSTOMIZED(sParty_Myles), }, [TRAINER_PAT] = @@ -9202,7 +9202,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pat), + .party = EVERYTHING_CUSTOMIZED(sParty_Pat), }, [TRAINER_CRISTIN_1] = @@ -9214,7 +9214,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin1), + .party = EVERYTHING_CUSTOMIZED(sParty_Cristin1), }, [TRAINER_MAY_RUSTBORO_TREECKO] = @@ -9226,7 +9226,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRustboroTreecko), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRustboroTreecko), }, [TRAINER_MAY_RUSTBORO_TORCHIC] = @@ -9238,7 +9238,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayRustboroTorchic), + .party = EVERYTHING_CUSTOMIZED(sParty_MayRustboroTorchic), }, [TRAINER_ROXANNE_2] = @@ -9646,7 +9646,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Darius), + .party = EVERYTHING_CUSTOMIZED(sParty_Darius), }, [TRAINER_STEVEN] = @@ -9670,7 +9670,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Anabel), + .party = EVERYTHING_CUSTOMIZED(sParty_Anabel), }, [TRAINER_TUCKER] = @@ -9682,7 +9682,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Tucker), + .party = EVERYTHING_CUSTOMIZED(sParty_Tucker), }, [TRAINER_SPENSER] = @@ -9694,7 +9694,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Spenser), + .party = EVERYTHING_CUSTOMIZED(sParty_Spenser), }, [TRAINER_GRETA] = @@ -9706,7 +9706,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Greta), + .party = EVERYTHING_CUSTOMIZED(sParty_Greta), }, [TRAINER_NOLAND] = @@ -9718,7 +9718,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Noland), + .party = EVERYTHING_CUSTOMIZED(sParty_Noland), }, [TRAINER_LUCY] = @@ -9730,7 +9730,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Lucy), + .party = EVERYTHING_CUSTOMIZED(sParty_Lucy), }, [TRAINER_BRANDON] = @@ -9742,7 +9742,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Brandon), + .party = EVERYTHING_CUSTOMIZED(sParty_Brandon), }, [TRAINER_ANDRES_2] = @@ -9754,7 +9754,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres2), + .party = EVERYTHING_CUSTOMIZED(sParty_Andres2), }, [TRAINER_ANDRES_3] = @@ -9766,7 +9766,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres3), + .party = EVERYTHING_CUSTOMIZED(sParty_Andres3), }, [TRAINER_ANDRES_4] = @@ -9778,7 +9778,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres4), + .party = EVERYTHING_CUSTOMIZED(sParty_Andres4), }, [TRAINER_ANDRES_5] = @@ -9790,7 +9790,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Andres5), + .party = EVERYTHING_CUSTOMIZED(sParty_Andres5), }, [TRAINER_CORY_2] = @@ -9802,7 +9802,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory2), + .party = EVERYTHING_CUSTOMIZED(sParty_Cory2), }, [TRAINER_CORY_3] = @@ -9814,7 +9814,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory3), + .party = EVERYTHING_CUSTOMIZED(sParty_Cory3), }, [TRAINER_CORY_4] = @@ -9826,7 +9826,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory4), + .party = EVERYTHING_CUSTOMIZED(sParty_Cory4), }, [TRAINER_CORY_5] = @@ -9838,7 +9838,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cory5), + .party = EVERYTHING_CUSTOMIZED(sParty_Cory5), }, [TRAINER_PABLO_2] = @@ -9850,7 +9850,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo2), + .party = EVERYTHING_CUSTOMIZED(sParty_Pablo2), }, [TRAINER_PABLO_3] = @@ -9862,7 +9862,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo3), + .party = EVERYTHING_CUSTOMIZED(sParty_Pablo3), }, [TRAINER_PABLO_4] = @@ -9874,7 +9874,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo4), + .party = EVERYTHING_CUSTOMIZED(sParty_Pablo4), }, [TRAINER_PABLO_5] = @@ -9886,7 +9886,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Pablo5), + .party = EVERYTHING_CUSTOMIZED(sParty_Pablo5), }, [TRAINER_KOJI_2] = @@ -9898,7 +9898,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji2), + .party = EVERYTHING_CUSTOMIZED(sParty_Koji2), }, [TRAINER_KOJI_3] = @@ -9910,7 +9910,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji3), + .party = EVERYTHING_CUSTOMIZED(sParty_Koji3), }, [TRAINER_KOJI_4] = @@ -9922,7 +9922,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji4), + .party = EVERYTHING_CUSTOMIZED(sParty_Koji4), }, [TRAINER_KOJI_5] = @@ -9934,7 +9934,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Koji5), + .party = EVERYTHING_CUSTOMIZED(sParty_Koji5), }, [TRAINER_CRISTIN_2] = @@ -9946,7 +9946,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin2), + .party = EVERYTHING_CUSTOMIZED(sParty_Cristin2), }, [TRAINER_CRISTIN_3] = @@ -9958,7 +9958,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin3), + .party = EVERYTHING_CUSTOMIZED(sParty_Cristin3), }, [TRAINER_CRISTIN_4] = @@ -9970,7 +9970,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin4), + .party = EVERYTHING_CUSTOMIZED(sParty_Cristin4), }, [TRAINER_CRISTIN_5] = @@ -9982,7 +9982,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Cristin5), + .party = EVERYTHING_CUSTOMIZED(sParty_Cristin5), }, [TRAINER_FERNANDO_2] = @@ -9994,7 +9994,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando2), + .party = EVERYTHING_CUSTOMIZED(sParty_Fernando2), }, [TRAINER_FERNANDO_3] = @@ -10006,7 +10006,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando3), + .party = EVERYTHING_CUSTOMIZED(sParty_Fernando3), }, [TRAINER_FERNANDO_4] = @@ -10018,7 +10018,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando4), + .party = EVERYTHING_CUSTOMIZED(sParty_Fernando4), }, [TRAINER_FERNANDO_5] = @@ -10030,7 +10030,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Fernando5), + .party = EVERYTHING_CUSTOMIZED(sParty_Fernando5), }, [TRAINER_SAWYER_2] = @@ -10042,7 +10042,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer2), + .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer2), }, [TRAINER_SAWYER_3] = @@ -10054,7 +10054,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer3), + .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer3), }, [TRAINER_SAWYER_4] = @@ -10066,7 +10066,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer4), + .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer4), }, [TRAINER_SAWYER_5] = @@ -10078,7 +10078,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Sawyer5), + .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer5), }, [TRAINER_GABRIELLE_2] = @@ -10090,7 +10090,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle2), + .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle2), }, [TRAINER_GABRIELLE_3] = @@ -10102,7 +10102,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle3), + .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle3), }, [TRAINER_GABRIELLE_4] = @@ -10114,7 +10114,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle4), + .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle4), }, [TRAINER_GABRIELLE_5] = @@ -10126,7 +10126,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Gabrielle5), + .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle5), }, [TRAINER_THALIA_2] = @@ -10138,7 +10138,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia2), + .party = EVERYTHING_CUSTOMIZED(sParty_Thalia2), }, [TRAINER_THALIA_3] = @@ -10150,7 +10150,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia3), + .party = EVERYTHING_CUSTOMIZED(sParty_Thalia3), }, [TRAINER_THALIA_4] = @@ -10162,7 +10162,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia4), + .party = EVERYTHING_CUSTOMIZED(sParty_Thalia4), }, [TRAINER_THALIA_5] = @@ -10174,7 +10174,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Thalia5), + .party = EVERYTHING_CUSTOMIZED(sParty_Thalia5), }, [TRAINER_MARIELA] = @@ -10186,7 +10186,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Mariela), + .party = EVERYTHING_CUSTOMIZED(sParty_Mariela), }, [TRAINER_ALVARO] = @@ -10198,7 +10198,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Alvaro), + .party = EVERYTHING_CUSTOMIZED(sParty_Alvaro), }, [TRAINER_EVERETT] = @@ -10210,7 +10210,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Everett), + .party = EVERYTHING_CUSTOMIZED(sParty_Everett), }, [TRAINER_RED] = @@ -10222,7 +10222,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Red), + .party = EVERYTHING_CUSTOMIZED(sParty_Red), }, [TRAINER_LEAF] = @@ -10234,7 +10234,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_Leaf), + .party = EVERYTHING_CUSTOMIZED(sParty_Leaf), }, [TRAINER_BRENDAN_PLACEHOLDER] = @@ -10246,7 +10246,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_BrendanLinkPlaceholder), + .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLinkPlaceholder), }, [TRAINER_MAY_PLACEHOLDER] = @@ -10258,6 +10258,6 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = NO_ITEM_DEFAULT_MOVES(sParty_MayLinkPlaceholder), + .party = EVERYTHING_CUSTOMIZED(sParty_MayLinkPlaceholder), }, }; diff --git a/src/match_call.c b/src/match_call.c index 6384e1da59..25e9493008 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1799,10 +1799,7 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) switch (gTrainers[trainerId].partyFlags) { - case 0: default: - speciesName = gSpeciesNames[party.NoItemDefaultMoves[monId].species]; - break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; break; diff --git a/test/trainer_control.c b/test/trainer_control.c index 2a21dcdf61..6578e1ab8c 100644 --- a/test/trainer_control.c +++ b/test/trainer_control.c @@ -35,30 +35,12 @@ static const struct TrainerMonCustomized sTestParty1[] = }, }; -static const struct TrainerMonNoItemDefaultMoves sTestParty2[] = -{ - { - .species = SPECIES_WOBBUFFET, - .lvl = 5, - }, - { - .species = SPECIES_WOBBUFFET, - .lvl = 6, - } -}; - static const struct Trainer sTestTrainer1 = { .trainerName = _("Test1"), .party = EVERYTHING_CUSTOMIZED(sTestParty1), }; -static const struct Trainer sTestTrainer2 = -{ - .trainerName = _("Test2"), - .party = NO_ITEM_DEFAULT_MOVES(sTestParty2), -}; - TEST("CreateNPCTrainerPartyForTrainer generates customized Pokémon") { struct Pokemon *testParty = Alloc(6 * sizeof(struct Pokemon)); @@ -134,7 +116,7 @@ TEST("CreateNPCTrainerPartyForTrainer generates customized Pokémon") TEST("CreateNPCTrainerPartyForTrainer generates different personalities for different mons") { struct Pokemon *testParty = Alloc(6 * sizeof(struct Pokemon)); - CreateNPCTrainerPartyFromTrainer(testParty, &sTestTrainer2, TRUE, BATTLE_TYPE_TRAINER); + CreateNPCTrainerPartyFromTrainer(testParty, &sTestTrainer1, TRUE, BATTLE_TYPE_TRAINER); EXPECT(testParty[0].box.personality != testParty[1].box.personality); Free(testParty); } From 0b3c7b7d3b3ef1075caa5611e04138f410d07010 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 4 Jul 2023 21:49:06 -0400 Subject: [PATCH 050/256] Converted IV fields to the current system --- src/data/trainer_parties.h | 3020 ++++++++++++++---------------------- 1 file changed, 1195 insertions(+), 1825 deletions(-) diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index 84447a55e0..e14afc6056 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,6 +1,5 @@ static const struct TrainerMonCustomized sParty_Sawyer1[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_GEODUDE, } @@ -8,7 +7,6 @@ static const struct TrainerMonCustomized sParty_Sawyer1[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout1[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_POOCHYENA, } @@ -16,12 +14,10 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout1[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout2[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 31, .species = SPECIES_CARVANHA, } @@ -29,7 +25,6 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout2[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout3[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_ZUBAT, } @@ -37,7 +32,6 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout3[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout4[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_CARVANHA, } @@ -45,7 +39,6 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout4[] = { static const struct TrainerMonCustomized sParty_GruntSeafloorCavern1[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_POOCHYENA, } @@ -53,7 +46,6 @@ static const struct TrainerMonCustomized sParty_GruntSeafloorCavern1[] = { static const struct TrainerMonCustomized sParty_GruntSeafloorCavern2[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_CARVANHA, } @@ -61,7 +53,6 @@ static const struct TrainerMonCustomized sParty_GruntSeafloorCavern2[] = { static const struct TrainerMonCustomized sParty_GruntSeafloorCavern3[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_ZUBAT, } @@ -69,32 +60,26 @@ static const struct TrainerMonCustomized sParty_GruntSeafloorCavern3[] = { static const struct TrainerMonCustomized sParty_Gabrielle1[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_SKITTY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_POOCHYENA, }, { - .iv = 0, .lvl = 26, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 26, .species = SPECIES_LOTAD, }, { - .iv = 0, .lvl = 26, .species = SPECIES_SEEDOT, }, { - .iv = 0, .lvl = 26, .species = SPECIES_TAILLOW, } @@ -102,7 +87,6 @@ static const struct TrainerMonCustomized sParty_Gabrielle1[] = { static const struct TrainerMonCustomized sParty_GruntPetalburgWoods[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_POOCHYENA, } @@ -110,12 +94,12 @@ static const struct TrainerMonCustomized sParty_GruntPetalburgWoods[] = { static const struct TrainerMonCustomized sParty_Marcel[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_MANECTRIC, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_SHIFTRY, } @@ -123,12 +107,10 @@ static const struct TrainerMonCustomized sParty_Marcel[] = { static const struct TrainerMonCustomized sParty_Alberto[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_PELIPPER, }, { - .iv = 0, .lvl = 30, .species = SPECIES_XATU, } @@ -136,12 +118,10 @@ static const struct TrainerMonCustomized sParty_Alberto[] = { static const struct TrainerMonCustomized sParty_Ed[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_ZANGOOSE, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SEVIPER, } @@ -149,7 +129,6 @@ static const struct TrainerMonCustomized sParty_Ed[] = { static const struct TrainerMonCustomized sParty_GruntSeafloorCavern4[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_CARVANHA, } @@ -157,7 +136,6 @@ static const struct TrainerMonCustomized sParty_GruntSeafloorCavern4[] = { static const struct TrainerMonCustomized sParty_Declan[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GYARADOS, } @@ -165,7 +143,6 @@ static const struct TrainerMonCustomized sParty_Declan[] = { static const struct TrainerMonCustomized sParty_GruntRusturfTunnel[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_POOCHYENA, } @@ -173,12 +150,10 @@ static const struct TrainerMonCustomized sParty_GruntRusturfTunnel[] = { static const struct TrainerMonCustomized sParty_GruntWeatherInst1[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 27, .species = SPECIES_POOCHYENA, } @@ -186,12 +161,10 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst1[] = { static const struct TrainerMonCustomized sParty_GruntWeatherInst2[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_POOCHYENA, }, { - .iv = 0, .lvl = 27, .species = SPECIES_CARVANHA, } @@ -199,17 +172,14 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst2[] = { static const struct TrainerMonCustomized sParty_GruntWeatherInst3[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_POOCHYENA, }, { - .iv = 0, .lvl = 26, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 26, .species = SPECIES_CARVANHA, } @@ -217,7 +187,6 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst3[] = { static const struct TrainerMonCustomized sParty_GruntMuseum1[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_CARVANHA, } @@ -225,12 +194,10 @@ static const struct TrainerMonCustomized sParty_GruntMuseum1[] = { static const struct TrainerMonCustomized sParty_GruntMuseum2[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 14, .species = SPECIES_CARVANHA, } @@ -238,7 +205,6 @@ static const struct TrainerMonCustomized sParty_GruntMuseum2[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter1[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_NUMEL, } @@ -246,7 +212,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter1[] = { static const struct TrainerMonCustomized sParty_GruntMtPyre1[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_ZUBAT, } @@ -254,7 +219,6 @@ static const struct TrainerMonCustomized sParty_GruntMtPyre1[] = { static const struct TrainerMonCustomized sParty_GruntMtPyre2[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_CARVANHA, } @@ -262,12 +226,10 @@ static const struct TrainerMonCustomized sParty_GruntMtPyre2[] = { static const struct TrainerMonCustomized sParty_GruntMtPyre3[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_POOCHYENA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_CARVANHA, } @@ -275,7 +237,6 @@ static const struct TrainerMonCustomized sParty_GruntMtPyre3[] = { static const struct TrainerMonCustomized sParty_GruntWeatherInst4[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_CARVANHA, } @@ -283,7 +244,6 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst4[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout5[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_CARVANHA, } @@ -291,7 +251,6 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout5[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout6[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_ZUBAT, } @@ -299,12 +258,12 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout6[] = { static const struct TrainerMonCustomized sParty_Fredrick[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 30, .species = SPECIES_MAKUHITA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 30, .species = SPECIES_MACHOKE, } @@ -312,12 +271,12 @@ static const struct TrainerMonCustomized sParty_Fredrick[] = { static const struct TrainerMonCustomized sParty_Matt[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_MIGHTYENA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_GOLBAT, } @@ -325,7 +284,6 @@ static const struct TrainerMonCustomized sParty_Matt[] = { static const struct TrainerMonCustomized sParty_Zander[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_HARIYAMA, } @@ -333,12 +291,12 @@ static const struct TrainerMonCustomized sParty_Zander[] = { static const struct TrainerMonCustomized sParty_ShellyWeatherInstitute[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_CARVANHA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_MIGHTYENA, } @@ -346,12 +304,12 @@ static const struct TrainerMonCustomized sParty_ShellyWeatherInstitute[] = { static const struct TrainerMonCustomized sParty_ShellySeafloorCavern[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_SHARPEDO, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_MIGHTYENA, } @@ -359,17 +317,17 @@ static const struct TrainerMonCustomized sParty_ShellySeafloorCavern[] = { static const struct TrainerMonCustomized sParty_Archie[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 41, .species = SPECIES_MIGHTYENA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 41, .species = SPECIES_CROBAT, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 43, .species = SPECIES_SHARPEDO, } @@ -377,7 +335,6 @@ static const struct TrainerMonCustomized sParty_Archie[] = { static const struct TrainerMonCustomized sParty_Leah[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_SPOINK, } @@ -385,12 +342,10 @@ static const struct TrainerMonCustomized sParty_Leah[] = { static const struct TrainerMonCustomized sParty_Daisy[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 14, .species = SPECIES_ROSELIA, } @@ -398,17 +353,14 @@ static const struct TrainerMonCustomized sParty_Daisy[] = { static const struct TrainerMonCustomized sParty_Rose1[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_ROSELIA, }, { - .iv = 0, .lvl = 14, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 14, .species = SPECIES_ROSELIA, } @@ -416,13 +368,11 @@ static const struct TrainerMonCustomized sParty_Rose1[] = { static const struct TrainerMonCustomized sParty_Felix[] = { { - .iv = 0, .lvl = 43, .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_NONE, MOVE_NONE, MOVE_NONE} }, { - .iv = 0, .lvl = 43, .species = SPECIES_CLAYDOL, .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} @@ -431,12 +381,10 @@ static const struct TrainerMonCustomized sParty_Felix[] = { static const struct TrainerMonCustomized sParty_Violet[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_ROSELIA, }, { - .iv = 0, .lvl = 26, .species = SPECIES_GLOOM, } @@ -444,12 +392,12 @@ static const struct TrainerMonCustomized sParty_Violet[] = { static const struct TrainerMonCustomized sParty_Rose2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_SHROOMISH, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_ROSELIA, } @@ -457,17 +405,17 @@ static const struct TrainerMonCustomized sParty_Rose2[] = { static const struct TrainerMonCustomized sParty_Rose3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_SHROOMISH, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_GLOOM, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_ROSELIA, } @@ -475,17 +423,17 @@ static const struct TrainerMonCustomized sParty_Rose3[] = { static const struct TrainerMonCustomized sParty_Rose4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_SHROOMISH, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_GLOOM, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_ROSELIA, } @@ -493,17 +441,17 @@ static const struct TrainerMonCustomized sParty_Rose4[] = { static const struct TrainerMonCustomized sParty_Rose5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_BRELOOM, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_GLOOM, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_ROSELIA, } @@ -511,7 +459,7 @@ static const struct TrainerMonCustomized sParty_Rose5[] = { static const struct TrainerMonCustomized sParty_Dusty1[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 23, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -520,19 +468,19 @@ static const struct TrainerMonCustomized sParty_Dusty1[] = { static const struct TrainerMonCustomized sParty_Chip[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 27, .species = SPECIES_BALTOY, .moves = {MOVE_PSYBEAM, MOVE_SELF_DESTRUCT, MOVE_SANDSTORM, MOVE_ANCIENT_POWER} }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 27, .species = SPECIES_SANDSHREW, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 27, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -541,13 +489,13 @@ static const struct TrainerMonCustomized sParty_Chip[] = { static const struct TrainerMonCustomized sParty_Foster[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_SANDSHREW, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -556,7 +504,7 @@ static const struct TrainerMonCustomized sParty_Foster[] = { static const struct TrainerMonCustomized sParty_Dusty2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -565,7 +513,7 @@ static const struct TrainerMonCustomized sParty_Dusty2[] = { static const struct TrainerMonCustomized sParty_Dusty3[] = { { - .iv = 70, + .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 30, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -574,7 +522,7 @@ static const struct TrainerMonCustomized sParty_Dusty3[] = { static const struct TrainerMonCustomized sParty_Dusty4[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 33, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -583,7 +531,7 @@ static const struct TrainerMonCustomized sParty_Dusty4[] = { static const struct TrainerMonCustomized sParty_Dusty5[] = { { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 36, .species = SPECIES_SANDSLASH, .moves = {MOVE_DIG, MOVE_SLASH, MOVE_SAND_ATTACK, MOVE_POISON_STING} @@ -592,12 +540,12 @@ static const struct TrainerMonCustomized sParty_Dusty5[] = { static const struct TrainerMonCustomized sParty_GabbyAndTy1[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, .species = SPECIES_MAGNEMITE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, .species = SPECIES_WHISMUR, } @@ -605,12 +553,12 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy1[] = { static const struct TrainerMonCustomized sParty_GabbyAndTy2[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_MAGNEMITE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_LOUDRED, } @@ -618,12 +566,12 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy2[] = { static const struct TrainerMonCustomized sParty_GabbyAndTy3[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 30, .species = SPECIES_MAGNETON, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 30, .species = SPECIES_LOUDRED, } @@ -631,12 +579,12 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy3[] = { static const struct TrainerMonCustomized sParty_GabbyAndTy4[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 33, .species = SPECIES_MAGNETON, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 33, .species = SPECIES_LOUDRED, } @@ -644,12 +592,12 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy4[] = { static const struct TrainerMonCustomized sParty_GabbyAndTy5[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 36, .species = SPECIES_MAGNETON, }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 36, .species = SPECIES_LOUDRED, } @@ -657,13 +605,13 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy5[] = { static const struct TrainerMonCustomized sParty_GabbyAndTy6[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 39, .species = SPECIES_MAGNETON, .moves = {MOVE_SONIC_BOOM, MOVE_THUNDER_WAVE, MOVE_METAL_SOUND, MOVE_THUNDERBOLT} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 39, .species = SPECIES_EXPLOUD, .moves = {MOVE_ASTONISH, MOVE_STOMP, MOVE_SUPERSONIC, MOVE_HYPER_VOICE} @@ -672,12 +620,12 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy6[] = { static const struct TrainerMonCustomized sParty_Lola1[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 12, .species = SPECIES_AZURILL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 12, .species = SPECIES_AZURILL, } @@ -685,7 +633,6 @@ static const struct TrainerMonCustomized sParty_Lola1[] = { static const struct TrainerMonCustomized sParty_Austina[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MARILL, } @@ -693,7 +640,6 @@ static const struct TrainerMonCustomized sParty_Austina[] = { static const struct TrainerMonCustomized sParty_Gwen[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MARILL, } @@ -701,12 +647,12 @@ static const struct TrainerMonCustomized sParty_Gwen[] = { static const struct TrainerMonCustomized sParty_Lola2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_MARILL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_MARILL, } @@ -714,12 +660,12 @@ static const struct TrainerMonCustomized sParty_Lola2[] = { static const struct TrainerMonCustomized sParty_Lola3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_MARILL, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_MARILL, } @@ -727,12 +673,12 @@ static const struct TrainerMonCustomized sParty_Lola3[] = { static const struct TrainerMonCustomized sParty_Lola4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_MARILL, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_MARILL, } @@ -740,12 +686,12 @@ static const struct TrainerMonCustomized sParty_Lola4[] = { static const struct TrainerMonCustomized sParty_Lola5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_AZUMARILL, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_AZUMARILL, } @@ -753,7 +699,7 @@ static const struct TrainerMonCustomized sParty_Lola5[] = { static const struct TrainerMonCustomized sParty_Ricky1[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 13, .species = SPECIES_ZIGZAGOON, .moves = {MOVE_SAND_ATTACK, MOVE_HEADBUTT, MOVE_TAIL_WHIP, MOVE_SURF} @@ -762,12 +708,10 @@ static const struct TrainerMonCustomized sParty_Ricky1[] = { static const struct TrainerMonCustomized sParty_Simon[] = { { - .iv = 0, .lvl = 12, .species = SPECIES_AZURILL, }, { - .iv = 0, .lvl = 12, .species = SPECIES_MARILL, } @@ -775,7 +719,6 @@ static const struct TrainerMonCustomized sParty_Simon[] = { static const struct TrainerMonCustomized sParty_Charlie[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MARILL, } @@ -783,7 +726,7 @@ static const struct TrainerMonCustomized sParty_Charlie[] = { static const struct TrainerMonCustomized sParty_Ricky2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_LINOONE, .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} @@ -792,7 +735,7 @@ static const struct TrainerMonCustomized sParty_Ricky2[] = { static const struct TrainerMonCustomized sParty_Ricky3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, .species = SPECIES_LINOONE, .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} @@ -801,7 +744,7 @@ static const struct TrainerMonCustomized sParty_Ricky3[] = { static const struct TrainerMonCustomized sParty_Ricky4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, .species = SPECIES_LINOONE, .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} @@ -810,7 +753,7 @@ static const struct TrainerMonCustomized sParty_Ricky4[] = { static const struct TrainerMonCustomized sParty_Ricky5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_LINOONE, .moves = {MOVE_SAND_ATTACK, MOVE_PIN_MISSILE, MOVE_TAIL_WHIP, MOVE_SURF} @@ -819,7 +762,7 @@ static const struct TrainerMonCustomized sParty_Ricky5[] = { static const struct TrainerMonCustomized sParty_Randall[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_SWELLOW, .heldItem = ITEM_NONE, @@ -829,7 +772,7 @@ static const struct TrainerMonCustomized sParty_Randall[] = { static const struct TrainerMonCustomized sParty_Parker[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, @@ -839,7 +782,7 @@ static const struct TrainerMonCustomized sParty_Parker[] = { static const struct TrainerMonCustomized sParty_George[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_SLAKOTH, .heldItem = ITEM_SITRUS_BERRY, @@ -849,7 +792,7 @@ static const struct TrainerMonCustomized sParty_George[] = { static const struct TrainerMonCustomized sParty_Berke[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_VIGOROTH, .heldItem = ITEM_NONE, @@ -859,31 +802,31 @@ static const struct TrainerMonCustomized sParty_Berke[] = { static const struct TrainerMonCustomized sParty_Braxton[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 28, .species = SPECIES_SWELLOW, .moves = {MOVE_FOCUS_ENERGY, MOVE_QUICK_ATTACK, MOVE_WING_ATTACK, MOVE_ENDEAVOR} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 28, .species = SPECIES_TRAPINCH, .moves = {MOVE_BITE, MOVE_DIG, MOVE_FEINT_ATTACK, MOVE_SAND_TOMB} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 28, .species = SPECIES_WAILMER, .moves = {MOVE_ROLLOUT, MOVE_WHIRLPOOL, MOVE_ASTONISH, MOVE_WATER_PULSE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 28, .species = SPECIES_MAGNETON, .moves = {MOVE_THUNDERBOLT, MOVE_SUPERSONIC, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 28, .species = SPECIES_SHIFTRY, .moves = {MOVE_GIGA_DRAIN, MOVE_FEINT_ATTACK, MOVE_DOUBLE_TEAM, MOVE_SWAGGER} @@ -892,17 +835,17 @@ static const struct TrainerMonCustomized sParty_Braxton[] = { static const struct TrainerMonCustomized sParty_Vincent[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 44, .species = SPECIES_SABLEYE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 44, .species = SPECIES_MEDICHAM, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 44, .species = SPECIES_SHARPEDO, } @@ -910,12 +853,12 @@ static const struct TrainerMonCustomized sParty_Vincent[] = { static const struct TrainerMonCustomized sParty_Leroy[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 46, .species = SPECIES_MAWILE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 46, .species = SPECIES_STARMIE, } @@ -923,17 +866,17 @@ static const struct TrainerMonCustomized sParty_Leroy[] = { static const struct TrainerMonCustomized sParty_Wilton1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_ELECTRIKE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_WAILMER, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_MAKUHITA, } @@ -941,12 +884,12 @@ static const struct TrainerMonCustomized sParty_Wilton1[] = { static const struct TrainerMonCustomized sParty_Edgar[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_CACTURNE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_PELIPPER, } @@ -954,12 +897,12 @@ static const struct TrainerMonCustomized sParty_Edgar[] = { static const struct TrainerMonCustomized sParty_Albert[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_MAGNETON, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_MUK, } @@ -967,17 +910,17 @@ static const struct TrainerMonCustomized sParty_Albert[] = { static const struct TrainerMonCustomized sParty_Samuel[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SWELLOW, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_MAWILE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_KADABRA, } @@ -985,22 +928,22 @@ static const struct TrainerMonCustomized sParty_Samuel[] = { static const struct TrainerMonCustomized sParty_Vito[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_DODRIO, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_KADABRA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_ELECTRODE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SHIFTRY, } @@ -1008,17 +951,17 @@ static const struct TrainerMonCustomized sParty_Vito[] = { static const struct TrainerMonCustomized sParty_Owen[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_KECLEON, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_GRAVELER, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_WAILORD, } @@ -1026,17 +969,17 @@ static const struct TrainerMonCustomized sParty_Owen[] = { static const struct TrainerMonCustomized sParty_Wilton2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_ELECTRIKE, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_WAILMER, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_MAKUHITA, } @@ -1044,17 +987,17 @@ static const struct TrainerMonCustomized sParty_Wilton2[] = { static const struct TrainerMonCustomized sParty_Wilton3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_MANECTRIC, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_WAILMER, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_MAKUHITA, } @@ -1062,17 +1005,17 @@ static const struct TrainerMonCustomized sParty_Wilton3[] = { static const struct TrainerMonCustomized sParty_Wilton4[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_MANECTRIC, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_WAILMER, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_MAKUHITA, } @@ -1080,17 +1023,17 @@ static const struct TrainerMonCustomized sParty_Wilton4[] = { static const struct TrainerMonCustomized sParty_Wilton5[] = { { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, .species = SPECIES_MANECTRIC, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, .species = SPECIES_WAILMER, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, .species = SPECIES_HARIYAMA, } @@ -1098,12 +1041,12 @@ static const struct TrainerMonCustomized sParty_Wilton5[] = { static const struct TrainerMonCustomized sParty_Warren[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 33, .species = SPECIES_GRAVELER, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 33, .species = SPECIES_LUDICOLO, } @@ -1111,7 +1054,7 @@ static const struct TrainerMonCustomized sParty_Warren[] = { static const struct TrainerMonCustomized sParty_Mary[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_DELCATTY, .heldItem = ITEM_NONE, @@ -1121,7 +1064,7 @@ static const struct TrainerMonCustomized sParty_Mary[] = { static const struct TrainerMonCustomized sParty_Alexia[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_WIGGLYTUFF, .heldItem = ITEM_NONE, @@ -1131,7 +1074,7 @@ static const struct TrainerMonCustomized sParty_Alexia[] = { static const struct TrainerMonCustomized sParty_Jody[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, .species = SPECIES_ZANGOOSE, .heldItem = ITEM_NONE, @@ -1141,19 +1084,19 @@ static const struct TrainerMonCustomized sParty_Jody[] = { static const struct TrainerMonCustomized sParty_Wendy[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_MAWILE, .moves = {MOVE_BATON_PASS, MOVE_FEINT_ATTACK, MOVE_FAKE_TEARS, MOVE_BITE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_ROSELIA, .moves = {MOVE_MEGA_DRAIN, MOVE_MAGICAL_LEAF, MOVE_GRASS_WHISTLE, MOVE_LEECH_SEED} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_PELIPPER, .moves = {MOVE_FLY, MOVE_WATER_GUN, MOVE_MIST, MOVE_PROTECT} @@ -1162,12 +1105,12 @@ static const struct TrainerMonCustomized sParty_Wendy[] = { static const struct TrainerMonCustomized sParty_Keira[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_LAIRON, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_MANECTRIC, } @@ -1175,17 +1118,17 @@ static const struct TrainerMonCustomized sParty_Keira[] = { static const struct TrainerMonCustomized sParty_Brooke1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_WINGULL, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_NUMEL, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_ROSELIA, } @@ -1193,7 +1136,7 @@ static const struct TrainerMonCustomized sParty_Brooke1[] = { static const struct TrainerMonCustomized sParty_Jennifer[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 30, .species = SPECIES_SABLEYE, } @@ -1201,7 +1144,7 @@ static const struct TrainerMonCustomized sParty_Jennifer[] = { static const struct TrainerMonCustomized sParty_Hope[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_ROSELIA, } @@ -1209,7 +1152,7 @@ static const struct TrainerMonCustomized sParty_Hope[] = { static const struct TrainerMonCustomized sParty_Shannon[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_CLAYDOL, } @@ -1217,17 +1160,17 @@ static const struct TrainerMonCustomized sParty_Shannon[] = { static const struct TrainerMonCustomized sParty_Michelle[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_TORKOAL, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_MEDICHAM, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_LUDICOLO, } @@ -1235,12 +1178,12 @@ static const struct TrainerMonCustomized sParty_Michelle[] = { static const struct TrainerMonCustomized sParty_Caroline[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_SKARMORY, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_SABLEYE, } @@ -1248,17 +1191,17 @@ static const struct TrainerMonCustomized sParty_Caroline[] = { static const struct TrainerMonCustomized sParty_Julie[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_SANDSLASH, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_NINETALES, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, .species = SPECIES_TROPIUS, } @@ -1266,17 +1209,17 @@ static const struct TrainerMonCustomized sParty_Julie[] = { static const struct TrainerMonCustomized sParty_Brooke2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_WINGULL, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_NUMEL, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_ROSELIA, } @@ -1284,17 +1227,17 @@ static const struct TrainerMonCustomized sParty_Brooke2[] = { static const struct TrainerMonCustomized sParty_Brooke3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_PELIPPER, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_NUMEL, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_ROSELIA, } @@ -1302,17 +1245,17 @@ static const struct TrainerMonCustomized sParty_Brooke3[] = { static const struct TrainerMonCustomized sParty_Brooke4[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_PELIPPER, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_NUMEL, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_ROSELIA, } @@ -1320,17 +1263,17 @@ static const struct TrainerMonCustomized sParty_Brooke4[] = { static const struct TrainerMonCustomized sParty_Brooke5[] = { { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 34, .species = SPECIES_PELIPPER, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 34, .species = SPECIES_CAMERUPT, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 34, .species = SPECIES_ROSELIA, } @@ -1338,12 +1281,10 @@ static const struct TrainerMonCustomized sParty_Brooke5[] = { static const struct TrainerMonCustomized sParty_Patricia[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_BANETTE, }, { - .iv = 0, .lvl = 41, .species = SPECIES_LUNATONE, } @@ -1351,12 +1292,10 @@ static const struct TrainerMonCustomized sParty_Patricia[] = { static const struct TrainerMonCustomized sParty_Kindra[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_DUSKULL, }, { - .iv = 0, .lvl = 30, .species = SPECIES_SHUPPET, } @@ -1364,12 +1303,10 @@ static const struct TrainerMonCustomized sParty_Kindra[] = { static const struct TrainerMonCustomized sParty_Tammy[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_DUSKULL, }, { - .iv = 0, .lvl = 29, .species = SPECIES_SHUPPET, } @@ -1377,7 +1314,6 @@ static const struct TrainerMonCustomized sParty_Tammy[] = { static const struct TrainerMonCustomized sParty_Valerie1[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_SABLEYE, } @@ -1385,7 +1321,7 @@ static const struct TrainerMonCustomized sParty_Valerie1[] = { static const struct TrainerMonCustomized sParty_Tasha[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 32, .species = SPECIES_SHUPPET, } @@ -1393,12 +1329,12 @@ static const struct TrainerMonCustomized sParty_Tasha[] = { static const struct TrainerMonCustomized sParty_Valerie2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SABLEYE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SPOINK, } @@ -1406,12 +1342,12 @@ static const struct TrainerMonCustomized sParty_Valerie2[] = { static const struct TrainerMonCustomized sParty_Valerie3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 35, .species = SPECIES_SPOINK, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 35, .species = SPECIES_SABLEYE, } @@ -1419,12 +1355,12 @@ static const struct TrainerMonCustomized sParty_Valerie3[] = { static const struct TrainerMonCustomized sParty_Valerie4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_SPOINK, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_SABLEYE, } @@ -1432,17 +1368,17 @@ static const struct TrainerMonCustomized sParty_Valerie4[] = { static const struct TrainerMonCustomized sParty_Valerie5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_DUSKULL, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_SABLEYE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, .species = SPECIES_GRUMPIG, } @@ -1450,7 +1386,6 @@ static const struct TrainerMonCustomized sParty_Valerie5[] = { static const struct TrainerMonCustomized sParty_Cindy1[] = { { - .iv = 0, .lvl = 7, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET @@ -1459,14 +1394,14 @@ static const struct TrainerMonCustomized sParty_Cindy1[] = { static const struct TrainerMonCustomized sParty_Daphne[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_LUVDISC, .heldItem = ITEM_NUGGET, .moves = {MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL, MOVE_WATER_PULSE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_LUVDISC, .heldItem = ITEM_NUGGET, @@ -1476,17 +1411,14 @@ static const struct TrainerMonCustomized sParty_Daphne[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter2[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MIGHTYENA, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MIGHTYENA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_NUMEL, } @@ -1494,7 +1426,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter2[] = { static const struct TrainerMonCustomized sParty_Cindy2[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET, @@ -1504,7 +1435,7 @@ static const struct TrainerMonCustomized sParty_Cindy2[] = { static const struct TrainerMonCustomized sParty_Brianna[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, .species = SPECIES_SEAKING, .heldItem = ITEM_NUGGET @@ -1513,7 +1444,7 @@ static const struct TrainerMonCustomized sParty_Brianna[] = { static const struct TrainerMonCustomized sParty_Naomi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, .species = SPECIES_ROSELIA, .heldItem = ITEM_NUGGET @@ -1522,7 +1453,7 @@ static const struct TrainerMonCustomized sParty_Naomi[] = { static const struct TrainerMonCustomized sParty_Cindy3[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET @@ -1531,7 +1462,7 @@ static const struct TrainerMonCustomized sParty_Cindy3[] = { static const struct TrainerMonCustomized sParty_Cindy4[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET @@ -1540,7 +1471,7 @@ static const struct TrainerMonCustomized sParty_Cindy4[] = { static const struct TrainerMonCustomized sParty_Cindy5[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET @@ -1549,7 +1480,7 @@ static const struct TrainerMonCustomized sParty_Cindy5[] = { static const struct TrainerMonCustomized sParty_Cindy6[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET, @@ -1559,7 +1490,6 @@ static const struct TrainerMonCustomized sParty_Cindy6[] = { static const struct TrainerMonCustomized sParty_Melissa[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_MARILL, } @@ -1567,7 +1497,6 @@ static const struct TrainerMonCustomized sParty_Melissa[] = { static const struct TrainerMonCustomized sParty_Sheila[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_SHROOMISH, } @@ -1575,7 +1504,6 @@ static const struct TrainerMonCustomized sParty_Sheila[] = { static const struct TrainerMonCustomized sParty_Shirley[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_NUMEL, } @@ -1583,13 +1511,11 @@ static const struct TrainerMonCustomized sParty_Shirley[] = { static const struct TrainerMonCustomized sParty_Jessica1[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_KECLEON, .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK} }, { - .iv = 0, .lvl = 29, .species = SPECIES_SEVIPER, .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} @@ -1598,7 +1524,7 @@ static const struct TrainerMonCustomized sParty_Jessica1[] = { static const struct TrainerMonCustomized sParty_Connie[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, .species = SPECIES_GOLDEEN, } @@ -1606,7 +1532,7 @@ static const struct TrainerMonCustomized sParty_Connie[] = { static const struct TrainerMonCustomized sParty_Bridget[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, .species = SPECIES_AZUMARILL, } @@ -1614,19 +1540,19 @@ static const struct TrainerMonCustomized sParty_Bridget[] = { static const struct TrainerMonCustomized sParty_Olivia[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_CLAMPERL, .moves = {MOVE_IRON_DEFENSE, MOVE_WHIRLPOOL, MOVE_RAIN_DANCE, MOVE_WATER_PULSE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_CORPHISH, .moves = {MOVE_TAUNT, MOVE_CRABHAMMER, MOVE_WATER_PULSE, MOVE_NONE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_LOMBRE, .moves = {MOVE_UPROAR, MOVE_FURY_SWIPES, MOVE_FAKE_OUT, MOVE_WATER_PULSE} @@ -1635,12 +1561,12 @@ static const struct TrainerMonCustomized sParty_Olivia[] = { static const struct TrainerMonCustomized sParty_Tiffany[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_CARVANHA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_SHARPEDO, } @@ -1648,13 +1574,13 @@ static const struct TrainerMonCustomized sParty_Tiffany[] = { static const struct TrainerMonCustomized sParty_Jessica2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, .species = SPECIES_KECLEON, .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK} }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, .species = SPECIES_SEVIPER, .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} @@ -1663,13 +1589,13 @@ static const struct TrainerMonCustomized sParty_Jessica2[] = { static const struct TrainerMonCustomized sParty_Jessica3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 38, .species = SPECIES_KECLEON, .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK} }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 38, .species = SPECIES_SEVIPER, .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} @@ -1678,13 +1604,13 @@ static const struct TrainerMonCustomized sParty_Jessica3[] = { static const struct TrainerMonCustomized sParty_Jessica4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_KECLEON, .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_SEVIPER, .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} @@ -1693,13 +1619,13 @@ static const struct TrainerMonCustomized sParty_Jessica4[] = { static const struct TrainerMonCustomized sParty_Jessica5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 44, .species = SPECIES_KECLEON, .moves = {MOVE_BIND, MOVE_LICK, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 44, .species = SPECIES_SEVIPER, .moves = {MOVE_POISON_TAIL, MOVE_SCREECH, MOVE_GLARE, MOVE_CRUNCH} @@ -1708,7 +1634,6 @@ static const struct TrainerMonCustomized sParty_Jessica5[] = { static const struct TrainerMonCustomized sParty_Winston1[] = { { - .iv = 0, .lvl = 7, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET @@ -1717,12 +1642,11 @@ static const struct TrainerMonCustomized sParty_Winston1[] = { static const struct TrainerMonCustomized sParty_Mollie[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_WHISCASH, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 33, .species = SPECIES_MEDITITE, } @@ -1730,7 +1654,6 @@ static const struct TrainerMonCustomized sParty_Mollie[] = { static const struct TrainerMonCustomized sParty_Garret[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_AZUMARILL, .heldItem = ITEM_NUGGET @@ -1739,7 +1662,6 @@ static const struct TrainerMonCustomized sParty_Garret[] = { static const struct TrainerMonCustomized sParty_Winston2[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET @@ -1748,7 +1670,6 @@ static const struct TrainerMonCustomized sParty_Winston2[] = { static const struct TrainerMonCustomized sParty_Winston3[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET @@ -1757,7 +1678,6 @@ static const struct TrainerMonCustomized sParty_Winston3[] = { static const struct TrainerMonCustomized sParty_Winston4[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET @@ -1766,7 +1686,6 @@ static const struct TrainerMonCustomized sParty_Winston4[] = { static const struct TrainerMonCustomized sParty_Winston5[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_LINOONE, .heldItem = ITEM_NUGGET, @@ -1776,7 +1695,6 @@ static const struct TrainerMonCustomized sParty_Winston5[] = { static const struct TrainerMonCustomized sParty_Steve1[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_ARON, } @@ -1784,12 +1702,10 @@ static const struct TrainerMonCustomized sParty_Steve1[] = { static const struct TrainerMonCustomized sParty_Thalia1[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_WAILMER, }, { - .iv = 0, .lvl = 25, .species = SPECIES_HORSEA, } @@ -1797,7 +1713,6 @@ static const struct TrainerMonCustomized sParty_Thalia1[] = { static const struct TrainerMonCustomized sParty_Mark[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_RHYHORN, } @@ -1805,7 +1720,6 @@ static const struct TrainerMonCustomized sParty_Mark[] = { static const struct TrainerMonCustomized sParty_GruntMtChimney1[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_NUMEL, } @@ -1813,7 +1727,7 @@ static const struct TrainerMonCustomized sParty_GruntMtChimney1[] = { static const struct TrainerMonCustomized sParty_Steve2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_LAIRON, } @@ -1821,12 +1735,12 @@ static const struct TrainerMonCustomized sParty_Steve2[] = { static const struct TrainerMonCustomized sParty_Steve3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_LAIRON, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_RHYHORN, } @@ -1834,12 +1748,12 @@ static const struct TrainerMonCustomized sParty_Steve3[] = { static const struct TrainerMonCustomized sParty_Steve4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_LAIRON, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_RHYHORN, } @@ -1847,12 +1761,12 @@ static const struct TrainerMonCustomized sParty_Steve4[] = { static const struct TrainerMonCustomized sParty_Steve5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_AGGRON, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_RHYDON, } @@ -1860,7 +1774,6 @@ static const struct TrainerMonCustomized sParty_Steve5[] = { static const struct TrainerMonCustomized sParty_Luis[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_CARVANHA, } @@ -1868,7 +1781,6 @@ static const struct TrainerMonCustomized sParty_Luis[] = { static const struct TrainerMonCustomized sParty_Dominik[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_TENTACOOL, } @@ -1876,12 +1788,12 @@ static const struct TrainerMonCustomized sParty_Dominik[] = { static const struct TrainerMonCustomized sParty_Douglas[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_TENTACOOL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_TENTACOOL, } @@ -1889,17 +1801,17 @@ static const struct TrainerMonCustomized sParty_Douglas[] = { static const struct TrainerMonCustomized sParty_Darrin[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_TENTACOOL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_WINGULL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_TENTACOOL, } @@ -1907,7 +1819,6 @@ static const struct TrainerMonCustomized sParty_Darrin[] = { static const struct TrainerMonCustomized sParty_Tony1[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_CARVANHA, } @@ -1915,7 +1826,6 @@ static const struct TrainerMonCustomized sParty_Tony1[] = { static const struct TrainerMonCustomized sParty_Jerome[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_TENTACRUEL, } @@ -1923,7 +1833,6 @@ static const struct TrainerMonCustomized sParty_Jerome[] = { static const struct TrainerMonCustomized sParty_Matthew[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_CARVANHA, } @@ -1931,12 +1840,10 @@ static const struct TrainerMonCustomized sParty_Matthew[] = { static const struct TrainerMonCustomized sParty_David[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 25, .species = SPECIES_CARVANHA, } @@ -1944,12 +1851,10 @@ static const struct TrainerMonCustomized sParty_David[] = { static const struct TrainerMonCustomized sParty_Spencer[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WINGULL, } @@ -1957,7 +1862,6 @@ static const struct TrainerMonCustomized sParty_Spencer[] = { static const struct TrainerMonCustomized sParty_Roland[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_CARVANHA, } @@ -1965,7 +1869,6 @@ static const struct TrainerMonCustomized sParty_Roland[] = { static const struct TrainerMonCustomized sParty_Nolen[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_TENTACRUEL, } @@ -1973,7 +1876,6 @@ static const struct TrainerMonCustomized sParty_Nolen[] = { static const struct TrainerMonCustomized sParty_Stan[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_HORSEA, } @@ -1981,7 +1883,6 @@ static const struct TrainerMonCustomized sParty_Stan[] = { static const struct TrainerMonCustomized sParty_Barry[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GYARADOS, } @@ -1989,17 +1890,14 @@ static const struct TrainerMonCustomized sParty_Barry[] = { static const struct TrainerMonCustomized sParty_Dean[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_CARVANHA, }, { - .iv = 0, .lvl = 31, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 31, .species = SPECIES_CARVANHA, } @@ -2007,7 +1905,6 @@ static const struct TrainerMonCustomized sParty_Dean[] = { static const struct TrainerMonCustomized sParty_Rodney[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GYARADOS, } @@ -2015,7 +1912,6 @@ static const struct TrainerMonCustomized sParty_Rodney[] = { static const struct TrainerMonCustomized sParty_Richard[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_PELIPPER, } @@ -2023,12 +1919,10 @@ static const struct TrainerMonCustomized sParty_Richard[] = { static const struct TrainerMonCustomized sParty_Herman[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACRUEL, } @@ -2036,12 +1930,10 @@ static const struct TrainerMonCustomized sParty_Herman[] = { static const struct TrainerMonCustomized sParty_Santiago[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACRUEL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WAILMER, } @@ -2049,7 +1941,6 @@ static const struct TrainerMonCustomized sParty_Santiago[] = { static const struct TrainerMonCustomized sParty_Gilbert[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SHARPEDO, } @@ -2057,7 +1948,6 @@ static const struct TrainerMonCustomized sParty_Gilbert[] = { static const struct TrainerMonCustomized sParty_Franklin[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SEALEO, } @@ -2065,7 +1955,6 @@ static const struct TrainerMonCustomized sParty_Franklin[] = { static const struct TrainerMonCustomized sParty_Kevin[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SPHEAL, } @@ -2073,7 +1962,6 @@ static const struct TrainerMonCustomized sParty_Kevin[] = { static const struct TrainerMonCustomized sParty_Jack[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GYARADOS, } @@ -2081,17 +1969,14 @@ static const struct TrainerMonCustomized sParty_Jack[] = { static const struct TrainerMonCustomized sParty_Dudley[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACRUEL, } @@ -2099,12 +1984,10 @@ static const struct TrainerMonCustomized sParty_Dudley[] = { static const struct TrainerMonCustomized sParty_Chad[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WAILMER, } @@ -2112,7 +1995,7 @@ static const struct TrainerMonCustomized sParty_Chad[] = { static const struct TrainerMonCustomized sParty_Tony2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_SHARPEDO, } @@ -2120,7 +2003,7 @@ static const struct TrainerMonCustomized sParty_Tony2[] = { static const struct TrainerMonCustomized sParty_Tony3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_SHARPEDO, } @@ -2128,12 +2011,12 @@ static const struct TrainerMonCustomized sParty_Tony3[] = { static const struct TrainerMonCustomized sParty_Tony4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_STARYU, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_SHARPEDO, } @@ -2141,12 +2024,12 @@ static const struct TrainerMonCustomized sParty_Tony4[] = { static const struct TrainerMonCustomized sParty_Tony5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_STARMIE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, .species = SPECIES_SHARPEDO, } @@ -2154,7 +2037,7 @@ static const struct TrainerMonCustomized sParty_Tony5[] = { static const struct TrainerMonCustomized sParty_Takao[] = { { - .iv = 127, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 13, .species = SPECIES_MACHOP, } @@ -2162,12 +2045,12 @@ static const struct TrainerMonCustomized sParty_Takao[] = { static const struct TrainerMonCustomized sParty_Hitoshi[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 32, .species = SPECIES_MACHOP, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 32, .species = SPECIES_MACHOKE, } @@ -2175,7 +2058,7 @@ static const struct TrainerMonCustomized sParty_Hitoshi[] = { static const struct TrainerMonCustomized sParty_Kiyo[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, .species = SPECIES_HARIYAMA, } @@ -2183,12 +2066,12 @@ static const struct TrainerMonCustomized sParty_Kiyo[] = { static const struct TrainerMonCustomized sParty_Koichi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 24, .species = SPECIES_MACHOP, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 28, .species = SPECIES_MACHOKE, } @@ -2196,7 +2079,7 @@ static const struct TrainerMonCustomized sParty_Koichi[] = { static const struct TrainerMonCustomized sParty_Nob1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 19, .species = SPECIES_MACHOP, } @@ -2204,7 +2087,7 @@ static const struct TrainerMonCustomized sParty_Nob1[] = { static const struct TrainerMonCustomized sParty_Nob2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 27, .species = SPECIES_MACHOKE, } @@ -2212,12 +2095,12 @@ static const struct TrainerMonCustomized sParty_Nob2[] = { static const struct TrainerMonCustomized sParty_Nob3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_MACHOP, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_MACHOKE, } @@ -2225,17 +2108,17 @@ static const struct TrainerMonCustomized sParty_Nob3[] = { static const struct TrainerMonCustomized sParty_Nob4[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 31, .species = SPECIES_MACHOP, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 31, .species = SPECIES_MACHOKE, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 31, .species = SPECIES_MACHOKE, } @@ -2243,25 +2126,25 @@ static const struct TrainerMonCustomized sParty_Nob4[] = { static const struct TrainerMonCustomized sParty_Nob5[] = { { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 33, .species = SPECIES_MACHOP, .heldItem = ITEM_NONE }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 33, .species = SPECIES_MACHOKE, .heldItem = ITEM_NONE }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 33, .species = SPECIES_MACHOKE, .heldItem = ITEM_NONE }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 33, .species = SPECIES_MACHAMP, .heldItem = ITEM_BLACK_BELT @@ -2270,12 +2153,12 @@ static const struct TrainerMonCustomized sParty_Nob5[] = { static const struct TrainerMonCustomized sParty_Yuji[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 26, .species = SPECIES_MAKUHITA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 26, .species = SPECIES_MACHOKE, } @@ -2283,7 +2166,7 @@ static const struct TrainerMonCustomized sParty_Yuji[] = { static const struct TrainerMonCustomized sParty_Daisuke[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 19, .species = SPECIES_MACHOP, } @@ -2291,7 +2174,7 @@ static const struct TrainerMonCustomized sParty_Daisuke[] = { static const struct TrainerMonCustomized sParty_Atsushi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, .species = SPECIES_HARIYAMA, } @@ -2299,13 +2182,13 @@ static const struct TrainerMonCustomized sParty_Atsushi[] = { static const struct TrainerMonCustomized sParty_Kirk[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_ELECTRIKE, .moves = {MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_SPARK, MOVE_LEER} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_VOLTORB, .moves = {MOVE_CHARGE, MOVE_SHOCK_WAVE, MOVE_SCREECH, MOVE_NONE} @@ -2314,12 +2197,10 @@ static const struct TrainerMonCustomized sParty_Kirk[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout7[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_POOCHYENA, }, { - .iv = 0, .lvl = 31, .species = SPECIES_ZUBAT, } @@ -2327,7 +2208,6 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout7[] = { static const struct TrainerMonCustomized sParty_GruntAquaHideout8[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_CARVANHA, } @@ -2335,12 +2215,12 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout8[] = { static const struct TrainerMonCustomized sParty_Shawn[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_VOLTORB, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_MAGNEMITE, } @@ -2348,12 +2228,10 @@ static const struct TrainerMonCustomized sParty_Shawn[] = { static const struct TrainerMonCustomized sParty_Fernando1[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_ELECTRIKE, }, { - .iv = 0, .lvl = 30, .species = SPECIES_LOUDRED, } @@ -2361,12 +2239,10 @@ static const struct TrainerMonCustomized sParty_Fernando1[] = { static const struct TrainerMonCustomized sParty_Dalton1[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 15, .species = SPECIES_WHISMUR, } @@ -2374,17 +2250,17 @@ static const struct TrainerMonCustomized sParty_Dalton1[] = { static const struct TrainerMonCustomized sParty_Dalton2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_MAGNEMITE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_WHISMUR, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_MAGNEMITE, } @@ -2392,17 +2268,17 @@ static const struct TrainerMonCustomized sParty_Dalton2[] = { static const struct TrainerMonCustomized sParty_Dalton3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_MAGNEMITE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_LOUDRED, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_MAGNEMITE, } @@ -2410,17 +2286,17 @@ static const struct TrainerMonCustomized sParty_Dalton3[] = { static const struct TrainerMonCustomized sParty_Dalton4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_MAGNETON, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_LOUDRED, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_MAGNETON, } @@ -2428,17 +2304,17 @@ static const struct TrainerMonCustomized sParty_Dalton4[] = { static const struct TrainerMonCustomized sParty_Dalton5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_MAGNETON, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_EXPLOUD, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_MAGNETON, } @@ -2446,7 +2322,7 @@ static const struct TrainerMonCustomized sParty_Dalton5[] = { static const struct TrainerMonCustomized sParty_Cole[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_NUMEL, } @@ -2454,12 +2330,12 @@ static const struct TrainerMonCustomized sParty_Cole[] = { static const struct TrainerMonCustomized sParty_Jeff[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_SLUGMA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, .species = SPECIES_SLUGMA, } @@ -2467,7 +2343,7 @@ static const struct TrainerMonCustomized sParty_Jeff[] = { static const struct TrainerMonCustomized sParty_Axle[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_NUMEL, } @@ -2475,7 +2351,7 @@ static const struct TrainerMonCustomized sParty_Axle[] = { static const struct TrainerMonCustomized sParty_Jace[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_SLUGMA, } @@ -2483,7 +2359,7 @@ static const struct TrainerMonCustomized sParty_Jace[] = { static const struct TrainerMonCustomized sParty_Keegan[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 23, .species = SPECIES_SLUGMA, } @@ -2491,12 +2367,10 @@ static const struct TrainerMonCustomized sParty_Keegan[] = { static const struct TrainerMonCustomized sParty_Bernie1[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_SLUGMA, }, { - .iv = 0, .lvl = 18, .species = SPECIES_WINGULL, } @@ -2504,12 +2378,12 @@ static const struct TrainerMonCustomized sParty_Bernie1[] = { static const struct TrainerMonCustomized sParty_Bernie2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_SLUGMA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_WINGULL, } @@ -2517,12 +2391,12 @@ static const struct TrainerMonCustomized sParty_Bernie2[] = { static const struct TrainerMonCustomized sParty_Bernie3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_SLUGMA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_PELIPPER, } @@ -2530,12 +2404,12 @@ static const struct TrainerMonCustomized sParty_Bernie3[] = { static const struct TrainerMonCustomized sParty_Bernie4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_SLUGMA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_PELIPPER, } @@ -2543,12 +2417,12 @@ static const struct TrainerMonCustomized sParty_Bernie4[] = { static const struct TrainerMonCustomized sParty_Bernie5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_MAGCARGO, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_PELIPPER, } @@ -2556,7 +2430,6 @@ static const struct TrainerMonCustomized sParty_Bernie5[] = { static const struct TrainerMonCustomized sParty_Drew[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_SANDSHREW, .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH} @@ -2565,19 +2438,16 @@ static const struct TrainerMonCustomized sParty_Drew[] = { static const struct TrainerMonCustomized sParty_Beau[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_BALTOY, .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} }, { - .iv = 0, .lvl = 21, .species = SPECIES_SANDSHREW, .moves = {MOVE_POISON_STING, MOVE_SAND_ATTACK, MOVE_SCRATCH, MOVE_DIG} }, { - .iv = 0, .lvl = 21, .species = SPECIES_BALTOY, .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} @@ -2586,7 +2456,6 @@ static const struct TrainerMonCustomized sParty_Beau[] = { static const struct TrainerMonCustomized sParty_Larry[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_NUZLEAF, } @@ -2594,12 +2463,10 @@ static const struct TrainerMonCustomized sParty_Larry[] = { static const struct TrainerMonCustomized sParty_Shane[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 18, .species = SPECIES_NUZLEAF, } @@ -2607,7 +2474,6 @@ static const struct TrainerMonCustomized sParty_Shane[] = { static const struct TrainerMonCustomized sParty_Justin[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_KECLEON, } @@ -2615,12 +2481,10 @@ static const struct TrainerMonCustomized sParty_Justin[] = { static const struct TrainerMonCustomized sParty_Ethan1[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 20, .species = SPECIES_TAILLOW, } @@ -2628,7 +2492,6 @@ static const struct TrainerMonCustomized sParty_Ethan1[] = { static const struct TrainerMonCustomized sParty_Autumn[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_SHROOMISH, } @@ -2636,7 +2499,6 @@ static const struct TrainerMonCustomized sParty_Autumn[] = { static const struct TrainerMonCustomized sParty_Travis[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_SANDSHREW, } @@ -2644,12 +2506,12 @@ static const struct TrainerMonCustomized sParty_Travis[] = { static const struct TrainerMonCustomized sParty_Ethan2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_ZIGZAGOON, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_TAILLOW, } @@ -2657,12 +2519,12 @@ static const struct TrainerMonCustomized sParty_Ethan2[] = { static const struct TrainerMonCustomized sParty_Ethan3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_LINOONE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_SWELLOW, } @@ -2670,17 +2532,17 @@ static const struct TrainerMonCustomized sParty_Ethan3[] = { static const struct TrainerMonCustomized sParty_Ethan4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_SANDSHREW, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_SWELLOW, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_LINOONE, } @@ -2688,17 +2550,17 @@ static const struct TrainerMonCustomized sParty_Ethan4[] = { static const struct TrainerMonCustomized sParty_Ethan5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_SWELLOW, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_SANDSLASH, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_LINOONE, } @@ -2706,7 +2568,7 @@ static const struct TrainerMonCustomized sParty_Ethan5[] = { static const struct TrainerMonCustomized sParty_Brent[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 26, .species = SPECIES_SURSKIT, } @@ -2714,17 +2576,17 @@ static const struct TrainerMonCustomized sParty_Brent[] = { static const struct TrainerMonCustomized sParty_Donald[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 24, .species = SPECIES_WURMPLE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 24, .species = SPECIES_SILCOON, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 24, .species = SPECIES_BEAUTIFLY, } @@ -2732,17 +2594,17 @@ static const struct TrainerMonCustomized sParty_Donald[] = { static const struct TrainerMonCustomized sParty_Taylor[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_WURMPLE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_CASCOON, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_DUSTOX, } @@ -2750,17 +2612,14 @@ static const struct TrainerMonCustomized sParty_Taylor[] = { static const struct TrainerMonCustomized sParty_Jeffrey1[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_SURSKIT, }, { - .iv = 0, .lvl = 27, .species = SPECIES_SURSKIT, }, { - .iv = 0, .lvl = 27, .species = SPECIES_SURSKIT, } @@ -2768,12 +2627,12 @@ static const struct TrainerMonCustomized sParty_Jeffrey1[] = { static const struct TrainerMonCustomized sParty_Derek[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 16, .species = SPECIES_DUSTOX, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 16, .species = SPECIES_BEAUTIFLY, } @@ -2781,17 +2640,17 @@ static const struct TrainerMonCustomized sParty_Derek[] = { static const struct TrainerMonCustomized sParty_Jeffrey2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SURSKIT, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SURSKIT, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SURSKIT, } @@ -2799,17 +2658,17 @@ static const struct TrainerMonCustomized sParty_Jeffrey2[] = { static const struct TrainerMonCustomized sParty_Jeffrey3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 34, .species = SPECIES_SURSKIT, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 34, .species = SPECIES_SURSKIT, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 34, .species = SPECIES_MASQUERAIN, } @@ -2817,22 +2676,22 @@ static const struct TrainerMonCustomized sParty_Jeffrey3[] = { static const struct TrainerMonCustomized sParty_Jeffrey4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_SURSKIT, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_WURMPLE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_SURSKIT, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_MASQUERAIN, } @@ -2840,31 +2699,31 @@ static const struct TrainerMonCustomized sParty_Jeffrey4[] = { static const struct TrainerMonCustomized sParty_Jeffrey5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, .species = SPECIES_SURSKIT, .heldItem = ITEM_NONE }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, .species = SPECIES_DUSTOX, .heldItem = ITEM_NONE }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, .species = SPECIES_SURSKIT, .heldItem = ITEM_NONE }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, .species = SPECIES_MASQUERAIN, .heldItem = ITEM_SILVER_POWDER }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, .species = SPECIES_BEAUTIFLY, .heldItem = ITEM_NONE @@ -2873,7 +2732,6 @@ static const struct TrainerMonCustomized sParty_Jeffrey5[] = { static const struct TrainerMonCustomized sParty_Edward[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_ABRA, .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE} @@ -2882,7 +2740,7 @@ static const struct TrainerMonCustomized sParty_Edward[] = { static const struct TrainerMonCustomized sParty_Preston[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_KIRLIA, } @@ -2890,7 +2748,7 @@ static const struct TrainerMonCustomized sParty_Preston[] = { static const struct TrainerMonCustomized sParty_Virgil[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_RALTS, } @@ -2898,7 +2756,7 @@ static const struct TrainerMonCustomized sParty_Virgil[] = { static const struct TrainerMonCustomized sParty_Blake[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_GIRAFARIG, } @@ -2906,17 +2764,14 @@ static const struct TrainerMonCustomized sParty_Blake[] = { static const struct TrainerMonCustomized sParty_William[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_RALTS, }, { - .iv = 0, .lvl = 26, .species = SPECIES_RALTS, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KIRLIA, } @@ -2924,12 +2779,10 @@ static const struct TrainerMonCustomized sParty_William[] = { static const struct TrainerMonCustomized sParty_Joshua[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_KADABRA, }, { - .iv = 0, .lvl = 41, .species = SPECIES_SOLROCK, } @@ -2937,7 +2790,6 @@ static const struct TrainerMonCustomized sParty_Joshua[] = { static const struct TrainerMonCustomized sParty_Cameron1[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_SOLROCK, } @@ -2945,12 +2797,12 @@ static const struct TrainerMonCustomized sParty_Cameron1[] = { static const struct TrainerMonCustomized sParty_Cameron2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 33, .species = SPECIES_KADABRA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 33, .species = SPECIES_SOLROCK, } @@ -2958,12 +2810,12 @@ static const struct TrainerMonCustomized sParty_Cameron2[] = { static const struct TrainerMonCustomized sParty_Cameron3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 38, .species = SPECIES_KADABRA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 38, .species = SPECIES_SOLROCK, } @@ -2971,12 +2823,12 @@ static const struct TrainerMonCustomized sParty_Cameron3[] = { static const struct TrainerMonCustomized sParty_Cameron4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_KADABRA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_SOLROCK, } @@ -2984,12 +2836,12 @@ static const struct TrainerMonCustomized sParty_Cameron4[] = { static const struct TrainerMonCustomized sParty_Cameron5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, .species = SPECIES_SOLROCK, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, .species = SPECIES_ALAKAZAM, } @@ -2997,7 +2849,6 @@ static const struct TrainerMonCustomized sParty_Cameron5[] = { static const struct TrainerMonCustomized sParty_Jaclyn[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_ABRA, .moves = {MOVE_HIDDEN_POWER, MOVE_NONE, MOVE_NONE, MOVE_NONE} @@ -3006,7 +2857,7 @@ static const struct TrainerMonCustomized sParty_Jaclyn[] = { static const struct TrainerMonCustomized sParty_Hannah[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_KIRLIA, } @@ -3014,7 +2865,7 @@ static const struct TrainerMonCustomized sParty_Hannah[] = { static const struct TrainerMonCustomized sParty_Samantha[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_XATU, } @@ -3022,7 +2873,7 @@ static const struct TrainerMonCustomized sParty_Samantha[] = { static const struct TrainerMonCustomized sParty_Maura[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_KADABRA, } @@ -3030,17 +2881,14 @@ static const struct TrainerMonCustomized sParty_Maura[] = { static const struct TrainerMonCustomized sParty_Kayla[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_WOBBUFFET, }, { - .iv = 0, .lvl = 26, .species = SPECIES_NATU, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KADABRA, } @@ -3048,12 +2896,10 @@ static const struct TrainerMonCustomized sParty_Kayla[] = { static const struct TrainerMonCustomized sParty_Alexis[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_KIRLIA, }, { - .iv = 0, .lvl = 41, .species = SPECIES_XATU, } @@ -3061,12 +2907,10 @@ static const struct TrainerMonCustomized sParty_Alexis[] = { static const struct TrainerMonCustomized sParty_Jacki1[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_KADABRA, }, { - .iv = 0, .lvl = 30, .species = SPECIES_LUNATONE, } @@ -3074,12 +2918,12 @@ static const struct TrainerMonCustomized sParty_Jacki1[] = { static const struct TrainerMonCustomized sParty_Jacki2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, .species = SPECIES_KADABRA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, .species = SPECIES_LUNATONE, } @@ -3087,12 +2931,12 @@ static const struct TrainerMonCustomized sParty_Jacki2[] = { static const struct TrainerMonCustomized sParty_Jacki3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, .species = SPECIES_KADABRA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, .species = SPECIES_LUNATONE, } @@ -3100,12 +2944,12 @@ static const struct TrainerMonCustomized sParty_Jacki3[] = { static const struct TrainerMonCustomized sParty_Jacki4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_KADABRA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, .species = SPECIES_LUNATONE, } @@ -3113,12 +2957,12 @@ static const struct TrainerMonCustomized sParty_Jacki4[] = { static const struct TrainerMonCustomized sParty_Jacki5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_LUNATONE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_ALAKAZAM, } @@ -3126,7 +2970,6 @@ static const struct TrainerMonCustomized sParty_Jacki5[] = { static const struct TrainerMonCustomized sParty_Walter1[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MANECTRIC, } @@ -3134,12 +2977,10 @@ static const struct TrainerMonCustomized sParty_Walter1[] = { static const struct TrainerMonCustomized sParty_Micah[] = { { - .iv = 0, .lvl = 44, .species = SPECIES_MANECTRIC, }, { - .iv = 0, .lvl = 44, .species = SPECIES_MANECTRIC, } @@ -3147,7 +2988,6 @@ static const struct TrainerMonCustomized sParty_Micah[] = { static const struct TrainerMonCustomized sParty_Thomas[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_ZANGOOSE, } @@ -3155,7 +2995,7 @@ static const struct TrainerMonCustomized sParty_Thomas[] = { static const struct TrainerMonCustomized sParty_Walter2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, .species = SPECIES_MANECTRIC, } @@ -3163,13 +3003,13 @@ static const struct TrainerMonCustomized sParty_Walter2[] = { static const struct TrainerMonCustomized sParty_Walter3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, .species = SPECIES_LINOONE, .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, .species = SPECIES_MANECTRIC, .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR} @@ -3178,13 +3018,13 @@ static const struct TrainerMonCustomized sParty_Walter3[] = { static const struct TrainerMonCustomized sParty_Walter4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, .species = SPECIES_LINOONE, .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, .species = SPECIES_MANECTRIC, .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_NONE} @@ -3193,19 +3033,19 @@ static const struct TrainerMonCustomized sParty_Walter4[] = { static const struct TrainerMonCustomized sParty_Walter5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_LINOONE, .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_ODOR_SLEUTH, MOVE_FURY_SWIPES} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_GOLDUCK, .moves = {MOVE_FURY_SWIPES, MOVE_DISABLE, MOVE_CONFUSION, MOVE_PSYCH_UP} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_MANECTRIC, .moves = {MOVE_QUICK_ATTACK, MOVE_SPARK, MOVE_ODOR_SLEUTH, MOVE_ROAR} @@ -3214,35 +3054,35 @@ static const struct TrainerMonCustomized sParty_Walter5[] = { static const struct TrainerMonCustomized sParty_Sidney[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 46, .species = SPECIES_MIGHTYENA, .heldItem = ITEM_NONE, .moves = {MOVE_ROAR, MOVE_DOUBLE_EDGE, MOVE_SAND_ATTACK, MOVE_CRUNCH} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 48, .species = SPECIES_SHIFTRY, .heldItem = ITEM_NONE, .moves = {MOVE_TORMENT, MOVE_DOUBLE_TEAM, MOVE_SWAGGER, MOVE_EXTRASENSORY} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 46, .species = SPECIES_CACTURNE, .heldItem = ITEM_NONE, .moves = {MOVE_LEECH_SEED, MOVE_FEINT_ATTACK, MOVE_NEEDLE_ARM, MOVE_COTTON_SPORE} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 48, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_NONE, .moves = {MOVE_SURF, MOVE_SWORDS_DANCE, MOVE_STRENGTH, MOVE_FACADE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 49, .species = SPECIES_ABSOL, .heldItem = ITEM_SITRUS_BERRY, @@ -3252,35 +3092,35 @@ static const struct TrainerMonCustomized sParty_Sidney[] = { static const struct TrainerMonCustomized sParty_Phoebe[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 48, .species = SPECIES_DUSCLOPS, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_PUNCH, MOVE_CONFUSE_RAY, MOVE_CURSE, MOVE_PROTECT} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 49, .species = SPECIES_BANETTE, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_BALL, MOVE_GRUDGE, MOVE_WILL_O_WISP, MOVE_FEINT_ATTACK} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 50, .species = SPECIES_SABLEYE, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_BALL, MOVE_DOUBLE_TEAM, MOVE_NIGHT_SHADE, MOVE_FEINT_ATTACK} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 49, .species = SPECIES_BANETTE, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_BALL, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_FACADE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_DUSCLOPS, .heldItem = ITEM_SITRUS_BERRY, @@ -3290,35 +3130,35 @@ static const struct TrainerMonCustomized sParty_Phoebe[] = { static const struct TrainerMonCustomized sParty_Glacia[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 50, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_HAIL, MOVE_ICE_BALL} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 50, .species = SPECIES_GLALIE, .heldItem = ITEM_NONE, .moves = {MOVE_LIGHT_SCREEN, MOVE_CRUNCH, MOVE_ICY_WIND, MOVE_ICE_BEAM} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 52, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, .moves = {MOVE_ATTRACT, MOVE_DOUBLE_EDGE, MOVE_HAIL, MOVE_BLIZZARD} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 52, .species = SPECIES_GLALIE, .heldItem = ITEM_NONE, .moves = {MOVE_SHADOW_BALL, MOVE_EXPLOSION, MOVE_HAIL, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_WALREIN, .heldItem = ITEM_SITRUS_BERRY, @@ -3328,35 +3168,35 @@ static const struct TrainerMonCustomized sParty_Glacia[] = { static const struct TrainerMonCustomized sParty_Drake[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 52, .species = SPECIES_SHELGON, .heldItem = ITEM_NONE, .moves = {MOVE_ROCK_TOMB, MOVE_DRAGON_CLAW, MOVE_PROTECT, MOVE_DOUBLE_EDGE} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_ALTARIA, .heldItem = ITEM_NONE, .moves = {MOVE_DOUBLE_EDGE, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE, MOVE_AERIAL_ACE} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_KINGDRA, .heldItem = ITEM_NONE, .moves = {MOVE_SMOKESCREEN, MOVE_DRAGON_DANCE, MOVE_SURF, MOVE_BODY_SLAM} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 53, .species = SPECIES_FLYGON, .heldItem = ITEM_NONE, .moves = {MOVE_FLAMETHROWER, MOVE_CRUNCH, MOVE_DRAGON_BREATH, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_SALAMENCE, .heldItem = ITEM_SITRUS_BERRY, @@ -3366,21 +3206,21 @@ static const struct TrainerMonCustomized sParty_Drake[] = { static const struct TrainerMonCustomized sParty_Roxanne1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 12, .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 12, .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 15, .species = SPECIES_NOSEPASS, .heldItem = ITEM_ORAN_BERRY, @@ -3390,21 +3230,21 @@ static const struct TrainerMonCustomized sParty_Roxanne1[] = { static const struct TrainerMonCustomized sParty_Brawly1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 16, .species = SPECIES_MACHOP, .heldItem = ITEM_NONE, .moves = {MOVE_KARATE_CHOP, MOVE_LOW_KICK, MOVE_SEISMIC_TOSS, MOVE_BULK_UP} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 16, .species = SPECIES_MEDITITE, .heldItem = ITEM_NONE, .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_BULK_UP} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 19, .species = SPECIES_MAKUHITA, .heldItem = ITEM_SITRUS_BERRY, @@ -3414,28 +3254,28 @@ static const struct TrainerMonCustomized sParty_Brawly1[] = { static const struct TrainerMonCustomized sParty_Wattson1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 20, .species = SPECIES_VOLTORB, .heldItem = ITEM_NONE, .moves = {MOVE_ROLLOUT, MOVE_SPARK, MOVE_SELF_DESTRUCT, MOVE_SHOCK_WAVE} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 20, .species = SPECIES_ELECTRIKE, .heldItem = ITEM_NONE, .moves = {MOVE_SHOCK_WAVE, MOVE_LEER, MOVE_QUICK_ATTACK, MOVE_HOWL} }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 22, .species = SPECIES_MAGNETON, .heldItem = ITEM_NONE, .moves = {MOVE_SUPERSONIC, MOVE_SHOCK_WAVE, MOVE_THUNDER_WAVE, MOVE_SONIC_BOOM} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 24, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, @@ -3445,28 +3285,28 @@ static const struct TrainerMonCustomized sParty_Wattson1[] = { static const struct TrainerMonCustomized sParty_Flannery1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 24, .species = SPECIES_NUMEL, .heldItem = ITEM_NONE, .moves = {MOVE_OVERHEAT, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 24, .species = SPECIES_SLUGMA, .heldItem = ITEM_NONE, .moves = {MOVE_OVERHEAT, MOVE_SMOG, MOVE_LIGHT_SCREEN, MOVE_SUNNY_DAY} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 26, .species = SPECIES_CAMERUPT, .heldItem = ITEM_NONE, .moves = {MOVE_OVERHEAT, MOVE_TACKLE, MOVE_SUNNY_DAY, MOVE_ATTRACT} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 29, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, @@ -3476,28 +3316,28 @@ static const struct TrainerMonCustomized sParty_Flannery1[] = { static const struct TrainerMonCustomized sParty_Norman1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 27, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, .moves = {MOVE_TEETER_DANCE, MOVE_PSYBEAM, MOVE_FACADE, MOVE_ENCORE} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 27, .species = SPECIES_VIGOROTH, .heldItem = ITEM_NONE, .moves = {MOVE_SLASH, MOVE_FACADE, MOVE_ENCORE, MOVE_FEINT_ATTACK} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 29, .species = SPECIES_LINOONE, .heldItem = ITEM_NONE, .moves = {MOVE_SLASH, MOVE_BELLY_DRUM, MOVE_FACADE, MOVE_HEADBUTT} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 31, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, @@ -3507,35 +3347,35 @@ static const struct TrainerMonCustomized sParty_Norman1[] = { static const struct TrainerMonCustomized sParty_Winona1[] = { { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 29, .species = SPECIES_SWABLU, .heldItem = ITEM_NONE, .moves = {MOVE_PERISH_SONG, MOVE_MIRROR_MOVE, MOVE_SAFEGUARD, MOVE_AERIAL_ACE} }, { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 29, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_SYNTHESIS} }, { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 30, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_GUN, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 31, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, .moves = {MOVE_SAND_ATTACK, MOVE_FURY_ATTACK, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 33, .species = SPECIES_ALTARIA, .heldItem = ITEM_ORAN_BERRY, @@ -3545,28 +3385,28 @@ static const struct TrainerMonCustomized sParty_Winona1[] = { static const struct TrainerMonCustomized sParty_TateAndLiza1[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 41, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 41, .species = SPECIES_XATU, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_SUNNY_DAY, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 42, .species = SPECIES_LUNATONE, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_LIGHT_SCREEN, MOVE_PSYCHIC, MOVE_HYPNOSIS, MOVE_CALM_MIND} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 42, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, @@ -3576,35 +3416,35 @@ static const struct TrainerMonCustomized sParty_TateAndLiza1[] = { static const struct TrainerMonCustomized sParty_Juan1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 41, .species = SPECIES_LUVDISC, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_ATTRACT, MOVE_SWEET_KISS, MOVE_FLAIL} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 41, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_AMNESIA, MOVE_EARTHQUAKE} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 43, .species = SPECIES_SEALEO, .heldItem = ITEM_NONE, .moves = {MOVE_ENCORE, MOVE_BODY_SLAM, MOVE_AURORA_BEAM, MOVE_WATER_PULSE} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 43, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_LEER} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 46, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, @@ -3614,7 +3454,7 @@ static const struct TrainerMonCustomized sParty_Juan1[] = { static const struct TrainerMonCustomized sParty_Jerry1[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 9, .species = SPECIES_RALTS, } @@ -3622,7 +3462,7 @@ static const struct TrainerMonCustomized sParty_Jerry1[] = { static const struct TrainerMonCustomized sParty_Ted[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 17, .species = SPECIES_RALTS, } @@ -3630,17 +3470,17 @@ static const struct TrainerMonCustomized sParty_Ted[] = { static const struct TrainerMonCustomized sParty_Paul[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 15, .species = SPECIES_NUMEL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 15, .species = SPECIES_ODDISH, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 15, .species = SPECIES_WINGULL, } @@ -3648,12 +3488,12 @@ static const struct TrainerMonCustomized sParty_Paul[] = { static const struct TrainerMonCustomized sParty_Jerry2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, .species = SPECIES_RALTS, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, .species = SPECIES_MEDITITE, } @@ -3661,12 +3501,12 @@ static const struct TrainerMonCustomized sParty_Jerry2[] = { static const struct TrainerMonCustomized sParty_Jerry3[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_KIRLIA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_MEDITITE, } @@ -3674,12 +3514,12 @@ static const struct TrainerMonCustomized sParty_Jerry3[] = { static const struct TrainerMonCustomized sParty_Jerry4[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, .species = SPECIES_KIRLIA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, .species = SPECIES_MEDICHAM, } @@ -3687,17 +3527,17 @@ static const struct TrainerMonCustomized sParty_Jerry4[] = { static const struct TrainerMonCustomized sParty_Jerry5[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_KIRLIA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_BANETTE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, .species = SPECIES_MEDICHAM, } @@ -3705,7 +3545,7 @@ static const struct TrainerMonCustomized sParty_Jerry5[] = { static const struct TrainerMonCustomized sParty_Karen1[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 9, .species = SPECIES_SHROOMISH, } @@ -3713,12 +3553,12 @@ static const struct TrainerMonCustomized sParty_Karen1[] = { static const struct TrainerMonCustomized sParty_Georgia[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 16, .species = SPECIES_SHROOMISH, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 16, .species = SPECIES_BEAUTIFLY, } @@ -3726,12 +3566,12 @@ static const struct TrainerMonCustomized sParty_Georgia[] = { static const struct TrainerMonCustomized sParty_Karen2[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, .species = SPECIES_SHROOMISH, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, .species = SPECIES_WHISMUR, } @@ -3739,12 +3579,12 @@ static const struct TrainerMonCustomized sParty_Karen2[] = { static const struct TrainerMonCustomized sParty_Karen3[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_SHROOMISH, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_LOUDRED, } @@ -3752,12 +3592,12 @@ static const struct TrainerMonCustomized sParty_Karen3[] = { static const struct TrainerMonCustomized sParty_Karen4[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, .species = SPECIES_BRELOOM, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, .species = SPECIES_LOUDRED, } @@ -3765,12 +3605,12 @@ static const struct TrainerMonCustomized sParty_Karen4[] = { static const struct TrainerMonCustomized sParty_Karen5[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 35, .species = SPECIES_BRELOOM, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 35, .species = SPECIES_EXPLOUD, } @@ -3778,13 +3618,11 @@ static const struct TrainerMonCustomized sParty_Karen5[] = { static const struct TrainerMonCustomized sParty_KateAndJoy[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_SPINDA, .moves = {MOVE_HYPNOSIS, MOVE_PSYBEAM, MOVE_DIZZY_PUNCH, MOVE_TEETER_DANCE} }, { - .iv = 0, .lvl = 32, .species = SPECIES_SLAKING, .moves = {MOVE_FOCUS_PUNCH, MOVE_YAWN, MOVE_SLACK_OFF, MOVE_FEINT_ATTACK} @@ -3793,13 +3631,11 @@ static const struct TrainerMonCustomized sParty_KateAndJoy[] = { static const struct TrainerMonCustomized sParty_AnnaAndMeg1[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_ZIGZAGOON, .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { - .iv = 0, .lvl = 17, .species = SPECIES_MAKUHITA, .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} @@ -3808,13 +3644,13 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg1[] = { static const struct TrainerMonCustomized sParty_AnnaAndMeg2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, .species = SPECIES_ZIGZAGOON, .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_MAKUHITA, .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} @@ -3823,13 +3659,13 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg2[] = { static const struct TrainerMonCustomized sParty_AnnaAndMeg3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, .species = SPECIES_ZIGZAGOON, .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_MAKUHITA, .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} @@ -3838,13 +3674,13 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg3[] = { static const struct TrainerMonCustomized sParty_AnnaAndMeg4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_LINOONE, .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_MAKUHITA, .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} @@ -3853,13 +3689,13 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg4[] = { static const struct TrainerMonCustomized sParty_AnnaAndMeg5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_LINOONE, .moves = {MOVE_GROWL, MOVE_TAIL_WHIP, MOVE_HEADBUTT, MOVE_ODOR_SLEUTH} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, .species = SPECIES_HARIYAMA, .moves = {MOVE_TACKLE, MOVE_FOCUS_ENERGY, MOVE_ARM_THRUST, MOVE_NONE} @@ -3868,13 +3704,13 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg5[] = { static const struct TrainerMonCustomized sParty_Victor[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 16, .species = SPECIES_TAILLOW, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 16, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_ORAN_BERRY @@ -3883,7 +3719,6 @@ static const struct TrainerMonCustomized sParty_Victor[] = { static const struct TrainerMonCustomized sParty_Miguel1[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY @@ -3892,42 +3727,36 @@ static const struct TrainerMonCustomized sParty_Miguel1[] = { static const struct TrainerMonCustomized sParty_Colton[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL} }, { - .iv = 0, .lvl = 36, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL} }, { - .iv = 0, .lvl = 40, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL} }, { - .iv = 0, .lvl = 12, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL} }, { - .iv = 0, .lvl = 30, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY, .moves = {MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK, MOVE_HEAL_BELL} }, { - .iv = 0, .lvl = 42, .species = SPECIES_DELCATTY, .heldItem = ITEM_ORAN_BERRY, @@ -3937,7 +3766,6 @@ static const struct TrainerMonCustomized sParty_Colton[] = { static const struct TrainerMonCustomized sParty_Miguel2[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY @@ -3946,7 +3774,6 @@ static const struct TrainerMonCustomized sParty_Miguel2[] = { static const struct TrainerMonCustomized sParty_Miguel3[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_SKITTY, .heldItem = ITEM_ORAN_BERRY @@ -3955,7 +3782,6 @@ static const struct TrainerMonCustomized sParty_Miguel3[] = { static const struct TrainerMonCustomized sParty_Miguel4[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_DELCATTY, .heldItem = ITEM_ORAN_BERRY @@ -3964,7 +3790,6 @@ static const struct TrainerMonCustomized sParty_Miguel4[] = { static const struct TrainerMonCustomized sParty_Miguel5[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_DELCATTY, .heldItem = ITEM_SITRUS_BERRY @@ -3973,7 +3798,7 @@ static const struct TrainerMonCustomized sParty_Miguel5[] = { static const struct TrainerMonCustomized sParty_Victoria[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, .species = SPECIES_ROSELIA, .heldItem = ITEM_ORAN_BERRY @@ -3982,7 +3807,6 @@ static const struct TrainerMonCustomized sParty_Victoria[] = { static const struct TrainerMonCustomized sParty_Vanessa[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_PIKACHU, .heldItem = ITEM_ORAN_BERRY @@ -3991,19 +3815,19 @@ static const struct TrainerMonCustomized sParty_Vanessa[] = { static const struct TrainerMonCustomized sParty_Bethany[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, .species = SPECIES_AZURILL, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_MARILL, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_AZUMARILL, .heldItem = ITEM_ORAN_BERRY @@ -4012,13 +3836,11 @@ static const struct TrainerMonCustomized sParty_Bethany[] = { static const struct TrainerMonCustomized sParty_Isabel1[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_PLUSLE, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 0, .lvl = 14, .species = SPECIES_MINUN, .heldItem = ITEM_ORAN_BERRY @@ -4027,13 +3849,13 @@ static const struct TrainerMonCustomized sParty_Isabel1[] = { static const struct TrainerMonCustomized sParty_Isabel2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_PLUSLE, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_MINUN, .heldItem = ITEM_ORAN_BERRY @@ -4042,13 +3864,13 @@ static const struct TrainerMonCustomized sParty_Isabel2[] = { static const struct TrainerMonCustomized sParty_Isabel3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_PLUSLE, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_MINUN, .heldItem = ITEM_ORAN_BERRY @@ -4057,13 +3879,13 @@ static const struct TrainerMonCustomized sParty_Isabel3[] = { static const struct TrainerMonCustomized sParty_Isabel4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_PLUSLE, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_MINUN, .heldItem = ITEM_ORAN_BERRY @@ -4072,13 +3894,13 @@ static const struct TrainerMonCustomized sParty_Isabel4[] = { static const struct TrainerMonCustomized sParty_Isabel5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_PLUSLE, .heldItem = ITEM_SITRUS_BERRY }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_MINUN, .heldItem = ITEM_SITRUS_BERRY @@ -4087,7 +3909,7 @@ static const struct TrainerMonCustomized sParty_Isabel5[] = { static const struct TrainerMonCustomized sParty_Timothy1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 27, .species = SPECIES_HARIYAMA, } @@ -4095,7 +3917,7 @@ static const struct TrainerMonCustomized sParty_Timothy1[] = { static const struct TrainerMonCustomized sParty_Timothy2[] = { { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 33, .species = SPECIES_HARIYAMA, .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG} @@ -4104,7 +3926,7 @@ static const struct TrainerMonCustomized sParty_Timothy2[] = { static const struct TrainerMonCustomized sParty_Timothy3[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 36, .species = SPECIES_HARIYAMA, .moves = {MOVE_ARM_THRUST, MOVE_KNOCK_OFF, MOVE_SAND_ATTACK, MOVE_DIG} @@ -4113,7 +3935,7 @@ static const struct TrainerMonCustomized sParty_Timothy3[] = { static const struct TrainerMonCustomized sParty_Timothy4[] = { { - .iv = 230, + .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 39, .species = SPECIES_HARIYAMA, .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG} @@ -4122,7 +3944,7 @@ static const struct TrainerMonCustomized sParty_Timothy4[] = { static const struct TrainerMonCustomized sParty_Timothy5[] = { { - .iv = 240, + .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 42, .species = SPECIES_HARIYAMA, .moves = {MOVE_ARM_THRUST, MOVE_BELLY_DRUM, MOVE_SAND_ATTACK, MOVE_DIG} @@ -4131,7 +3953,7 @@ static const struct TrainerMonCustomized sParty_Timothy5[] = { static const struct TrainerMonCustomized sParty_Vicky[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 18, .species = SPECIES_MEDITITE, .moves = {MOVE_HIGH_JUMP_KICK, MOVE_MEDITATE, MOVE_CONFUSION, MOVE_DETECT} @@ -4140,12 +3962,12 @@ static const struct TrainerMonCustomized sParty_Vicky[] = { static const struct TrainerMonCustomized sParty_Shelby1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 21, .species = SPECIES_MEDITITE, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 21, .species = SPECIES_MAKUHITA, } @@ -4153,12 +3975,12 @@ static const struct TrainerMonCustomized sParty_Shelby1[] = { static const struct TrainerMonCustomized sParty_Shelby2[] = { { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 30, .species = SPECIES_MEDITITE, }, { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 30, .species = SPECIES_MAKUHITA, } @@ -4166,12 +3988,12 @@ static const struct TrainerMonCustomized sParty_Shelby2[] = { static const struct TrainerMonCustomized sParty_Shelby3[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 33, .species = SPECIES_MEDICHAM, }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 33, .species = SPECIES_HARIYAMA, } @@ -4179,12 +4001,12 @@ static const struct TrainerMonCustomized sParty_Shelby3[] = { static const struct TrainerMonCustomized sParty_Shelby4[] = { { - .iv = 230, + .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 36, .species = SPECIES_MEDICHAM, }, { - .iv = 230, + .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 36, .species = SPECIES_HARIYAMA, } @@ -4192,12 +4014,12 @@ static const struct TrainerMonCustomized sParty_Shelby4[] = { static const struct TrainerMonCustomized sParty_Shelby5[] = { { - .iv = 240, + .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 39, .species = SPECIES_MEDICHAM, }, { - .iv = 240, + .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 39, .species = SPECIES_HARIYAMA, } @@ -4205,7 +4027,6 @@ static const struct TrainerMonCustomized sParty_Shelby5[] = { static const struct TrainerMonCustomized sParty_Calvin1[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_POOCHYENA, } @@ -4213,12 +4034,10 @@ static const struct TrainerMonCustomized sParty_Calvin1[] = { static const struct TrainerMonCustomized sParty_Billy[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 7, .species = SPECIES_SEEDOT, } @@ -4226,7 +4045,7 @@ static const struct TrainerMonCustomized sParty_Billy[] = { static const struct TrainerMonCustomized sParty_Josh[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 10, .species = SPECIES_GEODUDE, .moves = {MOVE_TACKLE, MOVE_NONE, MOVE_NONE, MOVE_NONE} @@ -4235,12 +4054,12 @@ static const struct TrainerMonCustomized sParty_Josh[] = { static const struct TrainerMonCustomized sParty_Tommy[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 8, .species = SPECIES_GEODUDE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 8, .species = SPECIES_GEODUDE, } @@ -4248,7 +4067,6 @@ static const struct TrainerMonCustomized sParty_Tommy[] = { static const struct TrainerMonCustomized sParty_Joey[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_MACHOP, } @@ -4256,13 +4074,13 @@ static const struct TrainerMonCustomized sParty_Joey[] = { static const struct TrainerMonCustomized sParty_Ben[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 17, .species = SPECIES_ZIGZAGOON, .moves = {MOVE_HEADBUTT, MOVE_SAND_ATTACK, MOVE_GROWL, MOVE_THUNDERBOLT} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 17, .species = SPECIES_GULPIN, .moves = {MOVE_AMNESIA, MOVE_SLUDGE, MOVE_YAWN, MOVE_POUND} @@ -4271,13 +4089,13 @@ static const struct TrainerMonCustomized sParty_Ben[] = { static const struct TrainerMonCustomized sParty_Quincy[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_SLAKING, .moves = {MOVE_ATTRACT, MOVE_ICE_BEAM, MOVE_THUNDERBOLT, MOVE_FLAMETHROWER} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_DUSCLOPS, .moves = {MOVE_SKILL_SWAP, MOVE_PROTECT, MOVE_WILL_O_WISP, MOVE_TOXIC} @@ -4286,13 +4104,13 @@ static const struct TrainerMonCustomized sParty_Quincy[] = { static const struct TrainerMonCustomized sParty_Katelynn[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_GARDEVOIR, .moves = {MOVE_SKILL_SWAP, MOVE_PSYCHIC, MOVE_THUNDERBOLT, MOVE_CALM_MIND} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, .species = SPECIES_SLAKING, .moves = {MOVE_EARTHQUAKE, MOVE_SHADOW_BALL, MOVE_AERIAL_ACE, MOVE_BRICK_BREAK} @@ -4301,7 +4119,6 @@ static const struct TrainerMonCustomized sParty_Katelynn[] = { static const struct TrainerMonCustomized sParty_Jaylen[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_TRAPINCH, } @@ -4309,7 +4126,6 @@ static const struct TrainerMonCustomized sParty_Jaylen[] = { static const struct TrainerMonCustomized sParty_Dillon[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_ARON, } @@ -4317,7 +4133,7 @@ static const struct TrainerMonCustomized sParty_Dillon[] = { static const struct TrainerMonCustomized sParty_Calvin2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_MIGHTYENA, } @@ -4325,12 +4141,12 @@ static const struct TrainerMonCustomized sParty_Calvin2[] = { static const struct TrainerMonCustomized sParty_Calvin3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_SWELLOW, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, .species = SPECIES_MIGHTYENA, } @@ -4338,17 +4154,17 @@ static const struct TrainerMonCustomized sParty_Calvin3[] = { static const struct TrainerMonCustomized sParty_Calvin4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_SWELLOW, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, .species = SPECIES_LINOONE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, .species = SPECIES_MIGHTYENA, } @@ -4356,17 +4172,17 @@ static const struct TrainerMonCustomized sParty_Calvin4[] = { static const struct TrainerMonCustomized sParty_Calvin5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_SWELLOW, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, .species = SPECIES_LINOONE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_MIGHTYENA, } @@ -4374,12 +4190,10 @@ static const struct TrainerMonCustomized sParty_Calvin5[] = { static const struct TrainerMonCustomized sParty_Eddie[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 16, .species = SPECIES_ZIGZAGOON, } @@ -4387,12 +4201,10 @@ static const struct TrainerMonCustomized sParty_Eddie[] = { static const struct TrainerMonCustomized sParty_Allen[] = { { - .iv = 0, .lvl = 4, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 3, .species = SPECIES_TAILLOW, } @@ -4400,12 +4212,10 @@ static const struct TrainerMonCustomized sParty_Allen[] = { static const struct TrainerMonCustomized sParty_Timmy[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_ARON, }, { - .iv = 0, .lvl = 13, .species = SPECIES_ELECTRIKE, } @@ -4413,42 +4223,42 @@ static const struct TrainerMonCustomized sParty_Timmy[] = { static const struct TrainerMonCustomized sParty_Wallace[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_WAILORD, .heldItem = ITEM_NONE, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_SPOUT, MOVE_DOUBLE_EDGE, MOVE_BLIZZARD} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_TENTACRUEL, .heldItem = ITEM_NONE, .moves = {MOVE_TOXIC, MOVE_HYDRO_PUMP, MOVE_SLUDGE_BOMB, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, .species = SPECIES_LUDICOLO, .heldItem = ITEM_NONE, .moves = {MOVE_GIGA_DRAIN, MOVE_SURF, MOVE_LEECH_SEED, MOVE_DOUBLE_TEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_SURF, MOVE_AMNESIA, MOVE_HYPER_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, .species = SPECIES_GYARADOS, .heldItem = ITEM_NONE, .moves = {MOVE_DRAGON_DANCE, MOVE_EARTHQUAKE, MOVE_HYPER_BEAM, MOVE_SURF} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_MILOTIC, .heldItem = ITEM_SITRUS_BERRY, @@ -4458,17 +4268,14 @@ static const struct TrainerMonCustomized sParty_Wallace[] = { static const struct TrainerMonCustomized sParty_Andrew[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 10, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 15, .species = SPECIES_MAGIKARP, } @@ -4476,17 +4283,14 @@ static const struct TrainerMonCustomized sParty_Andrew[] = { static const struct TrainerMonCustomized sParty_Ivan[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 6, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 7, .species = SPECIES_MAGIKARP, } @@ -4494,17 +4298,14 @@ static const struct TrainerMonCustomized sParty_Ivan[] = { static const struct TrainerMonCustomized sParty_Claude[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 17, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 18, .species = SPECIES_BARBOACH, } @@ -4512,17 +4313,14 @@ static const struct TrainerMonCustomized sParty_Claude[] = { static const struct TrainerMonCustomized sParty_Elliot1[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 7, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 10, .species = SPECIES_MAGIKARP, } @@ -4530,7 +4328,7 @@ static const struct TrainerMonCustomized sParty_Elliot1[] = { static const struct TrainerMonCustomized sParty_Ned[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 11, .species = SPECIES_TENTACOOL, } @@ -4538,22 +4336,18 @@ static const struct TrainerMonCustomized sParty_Ned[] = { static const struct TrainerMonCustomized sParty_Dale[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 14, .species = SPECIES_WAILMER, }, { - .iv = 0, .lvl = 11, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 14, .species = SPECIES_WAILMER, } @@ -4561,7 +4355,6 @@ static const struct TrainerMonCustomized sParty_Dale[] = { static const struct TrainerMonCustomized sParty_Nolan[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_BARBOACH, } @@ -4569,12 +4362,10 @@ static const struct TrainerMonCustomized sParty_Nolan[] = { static const struct TrainerMonCustomized sParty_Barny[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 25, .species = SPECIES_CARVANHA, } @@ -4582,7 +4373,6 @@ static const struct TrainerMonCustomized sParty_Barny[] = { static const struct TrainerMonCustomized sParty_Wade[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_TENTACOOL, } @@ -4590,12 +4380,12 @@ static const struct TrainerMonCustomized sParty_Wade[] = { static const struct TrainerMonCustomized sParty_Carter[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_WAILMER, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_TENTACRUEL, } @@ -4603,17 +4393,17 @@ static const struct TrainerMonCustomized sParty_Carter[] = { static const struct TrainerMonCustomized sParty_Elliot2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_TENTACOOL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_GYARADOS, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_GYARADOS, } @@ -4621,22 +4411,22 @@ static const struct TrainerMonCustomized sParty_Elliot2[] = { static const struct TrainerMonCustomized sParty_Elliot3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_GYARADOS, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, .species = SPECIES_CARVANHA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, .species = SPECIES_TENTACOOL, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_GYARADOS, } @@ -4644,22 +4434,22 @@ static const struct TrainerMonCustomized sParty_Elliot3[] = { static const struct TrainerMonCustomized sParty_Elliot4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_GYARADOS, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_CARVANHA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_TENTACRUEL, }, { - .iv = 31, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_GYARADOS, } @@ -4667,22 +4457,22 @@ static const struct TrainerMonCustomized sParty_Elliot4[] = { static const struct TrainerMonCustomized sParty_Elliot5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GYARADOS, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_SHARPEDO, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GYARADOS, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_TENTACRUEL, } @@ -4690,32 +4480,26 @@ static const struct TrainerMonCustomized sParty_Elliot5[] = { static const struct TrainerMonCustomized sParty_Ronald[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 21, .species = SPECIES_GYARADOS, }, { - .iv = 0, .lvl = 23, .species = SPECIES_GYARADOS, }, { - .iv = 0, .lvl = 26, .species = SPECIES_GYARADOS, }, { - .iv = 0, .lvl = 30, .species = SPECIES_GYARADOS, }, { - .iv = 0, .lvl = 35, .species = SPECIES_GYARADOS, } @@ -4723,17 +4507,17 @@ static const struct TrainerMonCustomized sParty_Ronald[] = { static const struct TrainerMonCustomized sParty_Jacob[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 6, .species = SPECIES_VOLTORB, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 6, .species = SPECIES_VOLTORB, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 14, .species = SPECIES_MAGNEMITE, } @@ -4741,12 +4525,10 @@ static const struct TrainerMonCustomized sParty_Jacob[] = { static const struct TrainerMonCustomized sParty_Anthony[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 14, .species = SPECIES_MAGNEMITE, } @@ -4754,7 +4536,6 @@ static const struct TrainerMonCustomized sParty_Anthony[] = { static const struct TrainerMonCustomized sParty_Benjamin1[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_MAGNEMITE, } @@ -4762,7 +4543,7 @@ static const struct TrainerMonCustomized sParty_Benjamin1[] = { static const struct TrainerMonCustomized sParty_Benjamin2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_MAGNEMITE, } @@ -4770,7 +4551,7 @@ static const struct TrainerMonCustomized sParty_Benjamin2[] = { static const struct TrainerMonCustomized sParty_Benjamin3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_MAGNEMITE, } @@ -4778,7 +4559,7 @@ static const struct TrainerMonCustomized sParty_Benjamin3[] = { static const struct TrainerMonCustomized sParty_Benjamin4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_MAGNETON, } @@ -4786,7 +4567,7 @@ static const struct TrainerMonCustomized sParty_Benjamin4[] = { static const struct TrainerMonCustomized sParty_Benjamin5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, .species = SPECIES_MAGNETON, } @@ -4794,7 +4575,6 @@ static const struct TrainerMonCustomized sParty_Benjamin5[] = { static const struct TrainerMonCustomized sParty_Abigail1[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_MAGNEMITE, } @@ -4802,17 +4582,16 @@ static const struct TrainerMonCustomized sParty_Abigail1[] = { static const struct TrainerMonCustomized sParty_Jasmine[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 14, .species = SPECIES_MAGNEMITE, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 14, .species = SPECIES_MAGNEMITE, }, { - .iv = 0, .lvl = 6, .species = SPECIES_VOLTORB, } @@ -4820,7 +4599,7 @@ static const struct TrainerMonCustomized sParty_Jasmine[] = { static const struct TrainerMonCustomized sParty_Abigail2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, .species = SPECIES_MAGNEMITE, } @@ -4828,7 +4607,7 @@ static const struct TrainerMonCustomized sParty_Abigail2[] = { static const struct TrainerMonCustomized sParty_Abigail3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, .species = SPECIES_MAGNEMITE, } @@ -4836,7 +4615,7 @@ static const struct TrainerMonCustomized sParty_Abigail3[] = { static const struct TrainerMonCustomized sParty_Abigail4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_MAGNETON, } @@ -4844,7 +4623,7 @@ static const struct TrainerMonCustomized sParty_Abigail4[] = { static const struct TrainerMonCustomized sParty_Abigail5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_MAGNETON, } @@ -4852,7 +4631,6 @@ static const struct TrainerMonCustomized sParty_Abigail5[] = { static const struct TrainerMonCustomized sParty_Dylan1[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_DODUO, } @@ -4860,7 +4638,7 @@ static const struct TrainerMonCustomized sParty_Dylan1[] = { static const struct TrainerMonCustomized sParty_Dylan2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, .species = SPECIES_DODUO, } @@ -4868,7 +4646,7 @@ static const struct TrainerMonCustomized sParty_Dylan2[] = { static const struct TrainerMonCustomized sParty_Dylan3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, .species = SPECIES_DODUO, } @@ -4876,7 +4654,7 @@ static const struct TrainerMonCustomized sParty_Dylan3[] = { static const struct TrainerMonCustomized sParty_Dylan4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_DODRIO, } @@ -4884,7 +4662,7 @@ static const struct TrainerMonCustomized sParty_Dylan4[] = { static const struct TrainerMonCustomized sParty_Dylan5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_DODRIO, } @@ -4892,7 +4670,6 @@ static const struct TrainerMonCustomized sParty_Dylan5[] = { static const struct TrainerMonCustomized sParty_Maria1[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_DODUO, } @@ -4900,7 +4677,7 @@ static const struct TrainerMonCustomized sParty_Maria1[] = { static const struct TrainerMonCustomized sParty_Maria2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, .species = SPECIES_DODUO, } @@ -4908,7 +4685,7 @@ static const struct TrainerMonCustomized sParty_Maria2[] = { static const struct TrainerMonCustomized sParty_Maria3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, .species = SPECIES_DODUO, } @@ -4916,7 +4693,7 @@ static const struct TrainerMonCustomized sParty_Maria3[] = { static const struct TrainerMonCustomized sParty_Maria4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_DODRIO, } @@ -4924,7 +4701,7 @@ static const struct TrainerMonCustomized sParty_Maria4[] = { static const struct TrainerMonCustomized sParty_Maria5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_DODRIO, } @@ -4932,12 +4709,10 @@ static const struct TrainerMonCustomized sParty_Maria5[] = { static const struct TrainerMonCustomized sParty_Camden[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 33, .species = SPECIES_STARYU, } @@ -4945,12 +4720,10 @@ static const struct TrainerMonCustomized sParty_Camden[] = { static const struct TrainerMonCustomized sParty_Demetrius[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ELECTRIKE, } @@ -4958,7 +4731,6 @@ static const struct TrainerMonCustomized sParty_Demetrius[] = { static const struct TrainerMonCustomized sParty_Isaiah1[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_STARYU, } @@ -4966,12 +4738,10 @@ static const struct TrainerMonCustomized sParty_Isaiah1[] = { static const struct TrainerMonCustomized sParty_Pablo1[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 33, .species = SPECIES_STARYU, } @@ -4979,12 +4749,11 @@ static const struct TrainerMonCustomized sParty_Pablo1[] = { static const struct TrainerMonCustomized sParty_Chase[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_WINGULL, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 34, .species = SPECIES_STARYU, } @@ -4992,7 +4761,7 @@ static const struct TrainerMonCustomized sParty_Chase[] = { static const struct TrainerMonCustomized sParty_Isaiah2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 39, .species = SPECIES_STARYU, } @@ -5000,7 +4769,7 @@ static const struct TrainerMonCustomized sParty_Isaiah2[] = { static const struct TrainerMonCustomized sParty_Isaiah3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 42, .species = SPECIES_STARYU, } @@ -5008,7 +4777,7 @@ static const struct TrainerMonCustomized sParty_Isaiah3[] = { static const struct TrainerMonCustomized sParty_Isaiah4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 45, .species = SPECIES_STARMIE, } @@ -5016,7 +4785,7 @@ static const struct TrainerMonCustomized sParty_Isaiah4[] = { static const struct TrainerMonCustomized sParty_Isaiah5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 48, .species = SPECIES_STARMIE, } @@ -5024,7 +4793,6 @@ static const struct TrainerMonCustomized sParty_Isaiah5[] = { static const struct TrainerMonCustomized sParty_Isobel[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_STARYU, } @@ -5032,12 +4800,11 @@ static const struct TrainerMonCustomized sParty_Isobel[] = { static const struct TrainerMonCustomized sParty_Donny[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_WINGULL, }, { - .iv = 160, + .iv = TRAINER_PARTY_IVS(19, 19, 19, 19, 19, 19), .lvl = 34, .species = SPECIES_STARYU, } @@ -5045,7 +4812,6 @@ static const struct TrainerMonCustomized sParty_Donny[] = { static const struct TrainerMonCustomized sParty_Talia[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_STARYU, } @@ -5053,7 +4819,6 @@ static const struct TrainerMonCustomized sParty_Talia[] = { static const struct TrainerMonCustomized sParty_Katelyn1[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_STARYU, } @@ -5061,12 +4826,11 @@ static const struct TrainerMonCustomized sParty_Katelyn1[] = { static const struct TrainerMonCustomized sParty_Allison[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_WINGULL, }, { - .iv = 240, + .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 33, .species = SPECIES_STARYU, } @@ -5074,7 +4838,7 @@ static const struct TrainerMonCustomized sParty_Allison[] = { static const struct TrainerMonCustomized sParty_Katelyn2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 39, .species = SPECIES_STARYU, } @@ -5082,7 +4846,7 @@ static const struct TrainerMonCustomized sParty_Katelyn2[] = { static const struct TrainerMonCustomized sParty_Katelyn3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 42, .species = SPECIES_STARYU, } @@ -5090,7 +4854,7 @@ static const struct TrainerMonCustomized sParty_Katelyn3[] = { static const struct TrainerMonCustomized sParty_Katelyn4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 45, .species = SPECIES_STARMIE, } @@ -5098,7 +4862,7 @@ static const struct TrainerMonCustomized sParty_Katelyn4[] = { static const struct TrainerMonCustomized sParty_Katelyn5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 48, .species = SPECIES_STARMIE, } @@ -5106,12 +4870,12 @@ static const struct TrainerMonCustomized sParty_Katelyn5[] = { static const struct TrainerMonCustomized sParty_Nicolas1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_ALTARIA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, .species = SPECIES_ALTARIA, } @@ -5119,12 +4883,12 @@ static const struct TrainerMonCustomized sParty_Nicolas1[] = { static const struct TrainerMonCustomized sParty_Nicolas2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 41, .species = SPECIES_ALTARIA, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 41, .species = SPECIES_ALTARIA, } @@ -5132,12 +4896,12 @@ static const struct TrainerMonCustomized sParty_Nicolas2[] = { static const struct TrainerMonCustomized sParty_Nicolas3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 44, .species = SPECIES_ALTARIA, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 44, .species = SPECIES_ALTARIA, } @@ -5145,17 +4909,17 @@ static const struct TrainerMonCustomized sParty_Nicolas3[] = { static const struct TrainerMonCustomized sParty_Nicolas4[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 46, .species = SPECIES_BAGON, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 46, .species = SPECIES_ALTARIA, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 46, .species = SPECIES_ALTARIA, } @@ -5163,19 +4927,19 @@ static const struct TrainerMonCustomized sParty_Nicolas4[] = { static const struct TrainerMonCustomized sParty_Nicolas5[] = { { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 49, .species = SPECIES_ALTARIA, .heldItem = ITEM_NONE }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 49, .species = SPECIES_ALTARIA, .heldItem = ITEM_NONE }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 49, .species = SPECIES_SHELGON, .heldItem = ITEM_DRAGON_FANG @@ -5184,7 +4948,7 @@ static const struct TrainerMonCustomized sParty_Nicolas5[] = { static const struct TrainerMonCustomized sParty_Aaron[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 34, .species = SPECIES_BAGON, .moves = {MOVE_DRAGON_BREATH, MOVE_HEADBUTT, MOVE_FOCUS_ENERGY, MOVE_EMBER} @@ -5193,7 +4957,6 @@ static const struct TrainerMonCustomized sParty_Aaron[] = { static const struct TrainerMonCustomized sParty_Perry[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_WINGULL, } @@ -5201,12 +4964,10 @@ static const struct TrainerMonCustomized sParty_Perry[] = { static const struct TrainerMonCustomized sParty_Hugh[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 25, .species = SPECIES_TROPIUS, } @@ -5214,7 +4975,6 @@ static const struct TrainerMonCustomized sParty_Hugh[] = { static const struct TrainerMonCustomized sParty_Phil[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_SWELLOW, } @@ -5222,17 +4982,17 @@ static const struct TrainerMonCustomized sParty_Phil[] = { static const struct TrainerMonCustomized sParty_Jared[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_DODUO, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_SKARMORY, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_TROPIUS, } @@ -5240,7 +5000,7 @@ static const struct TrainerMonCustomized sParty_Jared[] = { static const struct TrainerMonCustomized sParty_Humberto[] = { { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 30, .species = SPECIES_SKARMORY, } @@ -5248,12 +5008,10 @@ static const struct TrainerMonCustomized sParty_Humberto[] = { static const struct TrainerMonCustomized sParty_Presley[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_TROPIUS, }, { - .iv = 0, .lvl = 33, .species = SPECIES_XATU, } @@ -5261,12 +5019,12 @@ static const struct TrainerMonCustomized sParty_Presley[] = { static const struct TrainerMonCustomized sParty_Edwardo[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 29, .species = SPECIES_DODUO, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 29, .species = SPECIES_PELIPPER, } @@ -5274,12 +5032,10 @@ static const struct TrainerMonCustomized sParty_Edwardo[] = { static const struct TrainerMonCustomized sParty_Colin[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 28, .species = SPECIES_NATU, } @@ -5287,7 +5043,6 @@ static const struct TrainerMonCustomized sParty_Colin[] = { static const struct TrainerMonCustomized sParty_Robert1[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_SWABLU, } @@ -5295,17 +5050,14 @@ static const struct TrainerMonCustomized sParty_Robert1[] = { static const struct TrainerMonCustomized sParty_Benny[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_SWELLOW, }, { - .iv = 0, .lvl = 36, .species = SPECIES_PELIPPER, }, { - .iv = 0, .lvl = 36, .species = SPECIES_XATU, } @@ -5313,12 +5065,10 @@ static const struct TrainerMonCustomized sParty_Benny[] = { static const struct TrainerMonCustomized sParty_Chester[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_TAILLOW, }, { - .iv = 0, .lvl = 25, .species = SPECIES_SWELLOW, } @@ -5326,12 +5076,12 @@ static const struct TrainerMonCustomized sParty_Chester[] = { static const struct TrainerMonCustomized sParty_Robert2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 32, .species = SPECIES_NATU, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 32, .species = SPECIES_SWABLU, } @@ -5339,12 +5089,12 @@ static const struct TrainerMonCustomized sParty_Robert2[] = { static const struct TrainerMonCustomized sParty_Robert3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 35, .species = SPECIES_NATU, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 35, .species = SPECIES_ALTARIA, } @@ -5352,12 +5102,12 @@ static const struct TrainerMonCustomized sParty_Robert3[] = { static const struct TrainerMonCustomized sParty_Robert4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, .species = SPECIES_NATU, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, .species = SPECIES_ALTARIA, } @@ -5365,12 +5115,12 @@ static const struct TrainerMonCustomized sParty_Robert4[] = { static const struct TrainerMonCustomized sParty_Robert5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_ALTARIA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_XATU, } @@ -5378,12 +5128,12 @@ static const struct TrainerMonCustomized sParty_Robert5[] = { static const struct TrainerMonCustomized sParty_Alex[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 33, .species = SPECIES_NATU, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 33, .species = SPECIES_SWELLOW, } @@ -5391,7 +5141,6 @@ static const struct TrainerMonCustomized sParty_Alex[] = { static const struct TrainerMonCustomized sParty_Beck[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_TROPIUS, } @@ -5399,7 +5148,6 @@ static const struct TrainerMonCustomized sParty_Beck[] = { static const struct TrainerMonCustomized sParty_Yasu[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_NINJASK, } @@ -5407,12 +5155,10 @@ static const struct TrainerMonCustomized sParty_Yasu[] = { static const struct TrainerMonCustomized sParty_Takashi[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_NINJASK, }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, } @@ -5420,14 +5166,12 @@ static const struct TrainerMonCustomized sParty_Takashi[] = { static const struct TrainerMonCustomized sParty_Dianne[] = { { - .iv = 0, .lvl = 43, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_SKILL_SWAP, MOVE_EARTHQUAKE, MOVE_NONE, MOVE_NONE} }, { - .iv = 0, .lvl = 43, .species = SPECIES_LANTURN, .heldItem = ITEM_NONE, @@ -5437,7 +5181,6 @@ static const struct TrainerMonCustomized sParty_Dianne[] = { static const struct TrainerMonCustomized sParty_Jani[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MARILL, } @@ -5445,19 +5188,16 @@ static const struct TrainerMonCustomized sParty_Jani[] = { static const struct TrainerMonCustomized sParty_Lao1[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT} }, { - .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SMOG, MOVE_SELF_DESTRUCT} }, { - .iv = 0, .lvl = 17, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} @@ -5466,12 +5206,10 @@ static const struct TrainerMonCustomized sParty_Lao1[] = { static const struct TrainerMonCustomized sParty_Lung[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_KOFFING, }, { - .iv = 0, .lvl = 18, .species = SPECIES_NINJASK, } @@ -5479,25 +5217,21 @@ static const struct TrainerMonCustomized sParty_Lung[] = { static const struct TrainerMonCustomized sParty_Lao2[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { - .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { - .iv = 0, .lvl = 24, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { - .iv = 0, .lvl = 26, .species = SPECIES_KOFFING, .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} @@ -5506,25 +5240,25 @@ static const struct TrainerMonCustomized sParty_Lao2[] = { static const struct TrainerMonCustomized sParty_Lao3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_KOFFING, .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} @@ -5533,25 +5267,25 @@ static const struct TrainerMonCustomized sParty_Lao3[] = { static const struct TrainerMonCustomized sParty_Lao4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_KOFFING, .moves = {MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE, MOVE_NONE} @@ -5560,28 +5294,28 @@ static const struct TrainerMonCustomized sParty_Lao4[] = { static const struct TrainerMonCustomized sParty_Lao5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_NONE} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_KOFFING, .heldItem = ITEM_NONE, .moves = {MOVE_POISON_GAS, MOVE_TACKLE, MOVE_SLUDGE, MOVE_SELF_DESTRUCT} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, .species = SPECIES_WEEZING, .heldItem = ITEM_SMOKE_BALL, @@ -5591,7 +5325,7 @@ static const struct TrainerMonCustomized sParty_Lao5[] = { static const struct TrainerMonCustomized sParty_Jocelyn[] = { { - .iv = 127, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 13, .species = SPECIES_MEDITITE, } @@ -5599,7 +5333,7 @@ static const struct TrainerMonCustomized sParty_Jocelyn[] = { static const struct TrainerMonCustomized sParty_Laura[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 13, .species = SPECIES_MEDITITE, } @@ -5607,12 +5341,12 @@ static const struct TrainerMonCustomized sParty_Laura[] = { static const struct TrainerMonCustomized sParty_Cyndy1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 18, .species = SPECIES_MEDITITE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 18, .species = SPECIES_MAKUHITA, } @@ -5620,7 +5354,7 @@ static const struct TrainerMonCustomized sParty_Cyndy1[] = { static const struct TrainerMonCustomized sParty_Cora[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_MEDITITE, } @@ -5628,7 +5362,7 @@ static const struct TrainerMonCustomized sParty_Cora[] = { static const struct TrainerMonCustomized sParty_Paula[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_BRELOOM, } @@ -5636,12 +5370,12 @@ static const struct TrainerMonCustomized sParty_Paula[] = { static const struct TrainerMonCustomized sParty_Cyndy2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_MEDITITE, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, .species = SPECIES_MAKUHITA, } @@ -5649,12 +5383,12 @@ static const struct TrainerMonCustomized sParty_Cyndy2[] = { static const struct TrainerMonCustomized sParty_Cyndy3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_MEDITITE, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, .species = SPECIES_MAKUHITA, } @@ -5662,12 +5396,12 @@ static const struct TrainerMonCustomized sParty_Cyndy3[] = { static const struct TrainerMonCustomized sParty_Cyndy4[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_MEDICHAM, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, .species = SPECIES_HARIYAMA, } @@ -5675,12 +5409,12 @@ static const struct TrainerMonCustomized sParty_Cyndy4[] = { static const struct TrainerMonCustomized sParty_Cyndy5[] = { { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, .species = SPECIES_MEDICHAM, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, .species = SPECIES_HARIYAMA, } @@ -5688,7 +5422,6 @@ static const struct TrainerMonCustomized sParty_Cyndy5[] = { static const struct TrainerMonCustomized sParty_Madeline1[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} @@ -5697,12 +5430,10 @@ static const struct TrainerMonCustomized sParty_Madeline1[] = { static const struct TrainerMonCustomized sParty_Clarissa[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_ROSELIA, }, { - .iv = 0, .lvl = 28, .species = SPECIES_WAILMER, } @@ -5710,7 +5441,7 @@ static const struct TrainerMonCustomized sParty_Clarissa[] = { static const struct TrainerMonCustomized sParty_Angelica[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 30, .species = SPECIES_CASTFORM, .moves = {MOVE_RAIN_DANCE, MOVE_WEATHER_BALL, MOVE_THUNDER, MOVE_WATER_PULSE} @@ -5719,7 +5450,7 @@ static const struct TrainerMonCustomized sParty_Angelica[] = { static const struct TrainerMonCustomized sParty_Madeline2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 29, .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_TACKLE, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} @@ -5728,7 +5459,7 @@ static const struct TrainerMonCustomized sParty_Madeline2[] = { static const struct TrainerMonCustomized sParty_Madeline3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 32, .species = SPECIES_NUMEL, .moves = {MOVE_EMBER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} @@ -5737,13 +5468,13 @@ static const struct TrainerMonCustomized sParty_Madeline3[] = { static const struct TrainerMonCustomized sParty_Madeline4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_ROSELIA, .moves = {MOVE_LEECH_SEED, MOVE_MEGA_DRAIN, MOVE_GRASS_WHISTLE, MOVE_SUNNY_DAY} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_NUMEL, .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_MAGNITUDE, MOVE_SUNNY_DAY} @@ -5752,13 +5483,13 @@ static const struct TrainerMonCustomized sParty_Madeline4[] = { static const struct TrainerMonCustomized sParty_Madeline5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_ROSELIA, .moves = {MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_CAMERUPT, .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_EARTHQUAKE, MOVE_SUNNY_DAY} @@ -5767,12 +5498,10 @@ static const struct TrainerMonCustomized sParty_Madeline5[] = { static const struct TrainerMonCustomized sParty_Beverly[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 25, .species = SPECIES_WAILMER, } @@ -5780,7 +5509,6 @@ static const struct TrainerMonCustomized sParty_Beverly[] = { static const struct TrainerMonCustomized sParty_Imani[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MARILL, } @@ -5788,7 +5516,6 @@ static const struct TrainerMonCustomized sParty_Imani[] = { static const struct TrainerMonCustomized sParty_Kyla[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_WAILMER, } @@ -5796,12 +5523,10 @@ static const struct TrainerMonCustomized sParty_Kyla[] = { static const struct TrainerMonCustomized sParty_Denise[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 25, .species = SPECIES_GOLDEEN, } @@ -5809,7 +5534,6 @@ static const struct TrainerMonCustomized sParty_Denise[] = { static const struct TrainerMonCustomized sParty_Beth[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_GOLDEEN, } @@ -5817,12 +5541,10 @@ static const struct TrainerMonCustomized sParty_Beth[] = { static const struct TrainerMonCustomized sParty_Tara[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 25, .species = SPECIES_MARILL, } @@ -5830,7 +5552,6 @@ static const struct TrainerMonCustomized sParty_Tara[] = { static const struct TrainerMonCustomized sParty_Missy[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_GOLDEEN, } @@ -5838,17 +5559,14 @@ static const struct TrainerMonCustomized sParty_Missy[] = { static const struct TrainerMonCustomized sParty_Alice[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 24, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 24, .species = SPECIES_GOLDEEN, } @@ -5856,7 +5574,6 @@ static const struct TrainerMonCustomized sParty_Alice[] = { static const struct TrainerMonCustomized sParty_Jenny1[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_WAILMER, } @@ -5864,7 +5581,6 @@ static const struct TrainerMonCustomized sParty_Jenny1[] = { static const struct TrainerMonCustomized sParty_Grace[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_MARILL, } @@ -5872,7 +5588,6 @@ static const struct TrainerMonCustomized sParty_Grace[] = { static const struct TrainerMonCustomized sParty_Tanya[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_LUVDISC, } @@ -5880,7 +5595,6 @@ static const struct TrainerMonCustomized sParty_Tanya[] = { static const struct TrainerMonCustomized sParty_Sharon[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SEAKING, } @@ -5888,12 +5602,10 @@ static const struct TrainerMonCustomized sParty_Sharon[] = { static const struct TrainerMonCustomized sParty_Nikki[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_MARILL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_SPHEAL, } @@ -5901,7 +5613,6 @@ static const struct TrainerMonCustomized sParty_Nikki[] = { static const struct TrainerMonCustomized sParty_Brenda[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_GOLDEEN, } @@ -5909,12 +5620,10 @@ static const struct TrainerMonCustomized sParty_Brenda[] = { static const struct TrainerMonCustomized sParty_Katie[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 33, .species = SPECIES_SPHEAL, } @@ -5922,7 +5631,6 @@ static const struct TrainerMonCustomized sParty_Katie[] = { static const struct TrainerMonCustomized sParty_Susie[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_LUVDISC, } @@ -5930,7 +5638,6 @@ static const struct TrainerMonCustomized sParty_Susie[] = { static const struct TrainerMonCustomized sParty_Kara[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SEAKING, } @@ -5938,7 +5645,6 @@ static const struct TrainerMonCustomized sParty_Kara[] = { static const struct TrainerMonCustomized sParty_Dana[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_AZUMARILL, } @@ -5946,12 +5652,10 @@ static const struct TrainerMonCustomized sParty_Dana[] = { static const struct TrainerMonCustomized sParty_Sienna[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_LUVDISC, }, { - .iv = 0, .lvl = 33, .species = SPECIES_LUVDISC, } @@ -5959,7 +5663,6 @@ static const struct TrainerMonCustomized sParty_Sienna[] = { static const struct TrainerMonCustomized sParty_Debra[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SEAKING, } @@ -5967,12 +5670,10 @@ static const struct TrainerMonCustomized sParty_Debra[] = { static const struct TrainerMonCustomized sParty_Linda[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_HORSEA, }, { - .iv = 0, .lvl = 33, .species = SPECIES_SEADRA, } @@ -5980,12 +5681,10 @@ static const struct TrainerMonCustomized sParty_Linda[] = { static const struct TrainerMonCustomized sParty_Kaylee[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_LANTURN, }, { - .iv = 0, .lvl = 34, .species = SPECIES_PELIPPER, } @@ -5993,12 +5692,10 @@ static const struct TrainerMonCustomized sParty_Kaylee[] = { static const struct TrainerMonCustomized sParty_Laurel[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_LUVDISC, }, { - .iv = 0, .lvl = 33, .species = SPECIES_LUVDISC, } @@ -6006,7 +5703,6 @@ static const struct TrainerMonCustomized sParty_Laurel[] = { static const struct TrainerMonCustomized sParty_Carlee[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_SEAKING, } @@ -6014,7 +5710,6 @@ static const struct TrainerMonCustomized sParty_Carlee[] = { static const struct TrainerMonCustomized sParty_Jenny2[] = { { - .iv = 0, .lvl = 38, .species = SPECIES_WAILMER, } @@ -6022,7 +5717,6 @@ static const struct TrainerMonCustomized sParty_Jenny2[] = { static const struct TrainerMonCustomized sParty_Jenny3[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_WAILMER, } @@ -6030,12 +5724,10 @@ static const struct TrainerMonCustomized sParty_Jenny3[] = { static const struct TrainerMonCustomized sParty_Jenny4[] = { { - .iv = 0, .lvl = 43, .species = SPECIES_STARYU, }, { - .iv = 0, .lvl = 43, .species = SPECIES_WAILMER, } @@ -6043,17 +5735,14 @@ static const struct TrainerMonCustomized sParty_Jenny4[] = { static const struct TrainerMonCustomized sParty_Jenny5[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_LUVDISC, }, { - .iv = 0, .lvl = 45, .species = SPECIES_WAILMER, }, { - .iv = 0, .lvl = 45, .species = SPECIES_STARMIE, } @@ -6061,13 +5750,11 @@ static const struct TrainerMonCustomized sParty_Jenny5[] = { static const struct TrainerMonCustomized sParty_Heidi[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, .moves = {MOVE_DIG, MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH} }, { - .iv = 0, .lvl = 22, .species = SPECIES_BALTOY, .moves = {MOVE_RAPID_SPIN, MOVE_MUD_SLAP, MOVE_PSYBEAM, MOVE_ROCK_TOMB} @@ -6076,13 +5763,11 @@ static const struct TrainerMonCustomized sParty_Heidi[] = { static const struct TrainerMonCustomized sParty_Becky[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, .moves = {MOVE_SAND_ATTACK, MOVE_POISON_STING, MOVE_SLASH, MOVE_DIG} }, { - .iv = 0, .lvl = 22, .species = SPECIES_MARILL, .moves = {MOVE_ROLLOUT, MOVE_BUBBLE_BEAM, MOVE_TAIL_WHIP, MOVE_DEFENSE_CURL} @@ -6091,12 +5776,10 @@ static const struct TrainerMonCustomized sParty_Becky[] = { static const struct TrainerMonCustomized sParty_Carol[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_TAILLOW, }, { - .iv = 0, .lvl = 17, .species = SPECIES_LOMBRE, } @@ -6104,12 +5787,10 @@ static const struct TrainerMonCustomized sParty_Carol[] = { static const struct TrainerMonCustomized sParty_Nancy[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_MARILL, }, { - .iv = 0, .lvl = 18, .species = SPECIES_LOMBRE, } @@ -6117,12 +5798,10 @@ static const struct TrainerMonCustomized sParty_Nancy[] = { static const struct TrainerMonCustomized sParty_Martha[] = { { - .iv = 0, .lvl = 23, .species = SPECIES_SKITTY, }, { - .iv = 0, .lvl = 23, .species = SPECIES_SWABLU, } @@ -6130,17 +5809,14 @@ static const struct TrainerMonCustomized sParty_Martha[] = { static const struct TrainerMonCustomized sParty_Diana1[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 19, .species = SPECIES_ODDISH, }, { - .iv = 0, .lvl = 19, .species = SPECIES_SWABLU, } @@ -6148,7 +5824,6 @@ static const struct TrainerMonCustomized sParty_Diana1[] = { static const struct TrainerMonCustomized sParty_Cedric[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_WOBBUFFET, .moves = {MOVE_DESTINY_BOND, MOVE_SAFEGUARD, MOVE_COUNTER, MOVE_MIRROR_COAT} @@ -6157,12 +5832,10 @@ static const struct TrainerMonCustomized sParty_Cedric[] = { static const struct TrainerMonCustomized sParty_Irene[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 17, .species = SPECIES_MARILL, } @@ -6170,17 +5843,17 @@ static const struct TrainerMonCustomized sParty_Irene[] = { static const struct TrainerMonCustomized sParty_Diana2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_SHROOMISH, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_GLOOM, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_SWABLU, } @@ -6188,17 +5861,17 @@ static const struct TrainerMonCustomized sParty_Diana2[] = { static const struct TrainerMonCustomized sParty_Diana3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_BRELOOM, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_GLOOM, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_SWABLU, } @@ -6206,17 +5879,17 @@ static const struct TrainerMonCustomized sParty_Diana3[] = { static const struct TrainerMonCustomized sParty_Diana4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_BRELOOM, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_GLOOM, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_SWABLU, } @@ -6224,17 +5897,17 @@ static const struct TrainerMonCustomized sParty_Diana4[] = { static const struct TrainerMonCustomized sParty_Diana5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, .species = SPECIES_BRELOOM, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, .species = SPECIES_VILEPLUME, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, .species = SPECIES_ALTARIA, } @@ -6242,12 +5915,10 @@ static const struct TrainerMonCustomized sParty_Diana5[] = { static const struct TrainerMonCustomized sParty_AmyAndLiv1[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_PLUSLE, }, { - .iv = 0, .lvl = 15, .species = SPECIES_MINUN, } @@ -6255,12 +5926,12 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv1[] = { static const struct TrainerMonCustomized sParty_AmyAndLiv2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_PLUSLE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_MINUN, } @@ -6268,12 +5939,10 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv2[] = { static const struct TrainerMonCustomized sParty_GinaAndMia1[] = { { - .iv = 0, .lvl = 6, .species = SPECIES_SEEDOT, }, { - .iv = 0, .lvl = 6, .species = SPECIES_LOTAD, } @@ -6281,12 +5950,10 @@ static const struct TrainerMonCustomized sParty_GinaAndMia1[] = { static const struct TrainerMonCustomized sParty_MiuAndYuki[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_BEAUTIFLY, }, { - .iv = 0, .lvl = 26, .species = SPECIES_DUSTOX, } @@ -6294,12 +5961,10 @@ static const struct TrainerMonCustomized sParty_MiuAndYuki[] = { static const struct TrainerMonCustomized sParty_AmyAndLiv3[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_PLUSLE, }, { - .iv = 0, .lvl = 9, .species = SPECIES_MINUN, } @@ -6307,13 +5972,11 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv3[] = { static const struct TrainerMonCustomized sParty_GinaAndMia2[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_DUSKULL, .moves = {MOVE_NIGHT_SHADE, MOVE_DISABLE, MOVE_NONE, MOVE_NONE} }, { - .iv = 0, .lvl = 10, .species = SPECIES_SHROOMISH, .moves = {MOVE_ABSORB, MOVE_LEECH_SEED, MOVE_NONE, MOVE_NONE} @@ -6322,12 +5985,12 @@ static const struct TrainerMonCustomized sParty_GinaAndMia2[] = { static const struct TrainerMonCustomized sParty_AmyAndLiv4[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, .species = SPECIES_PLUSLE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, .species = SPECIES_MINUN, } @@ -6335,13 +5998,13 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv4[] = { static const struct TrainerMonCustomized sParty_AmyAndLiv5[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, .species = SPECIES_PLUSLE, .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND} }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, .species = SPECIES_MINUN, .moves = {MOVE_SPARK, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND} @@ -6350,13 +6013,13 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv5[] = { static const struct TrainerMonCustomized sParty_AmyAndLiv6[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_PLUSLE, .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_FAKE_TEARS, MOVE_HELPING_HAND} }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_MINUN, .moves = {MOVE_THUNDER, MOVE_CHARGE, MOVE_CHARM, MOVE_HELPING_HAND} @@ -6365,12 +6028,12 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv6[] = { static const struct TrainerMonCustomized sParty_Huey[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 12, .species = SPECIES_WINGULL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 12, .species = SPECIES_MACHOP, } @@ -6378,7 +6041,6 @@ static const struct TrainerMonCustomized sParty_Huey[] = { static const struct TrainerMonCustomized sParty_Edmond[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_WINGULL, } @@ -6386,12 +6048,10 @@ static const struct TrainerMonCustomized sParty_Edmond[] = { static const struct TrainerMonCustomized sParty_Ernest1[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_MACHOKE, } @@ -6399,17 +6059,14 @@ static const struct TrainerMonCustomized sParty_Ernest1[] = { static const struct TrainerMonCustomized sParty_Dwayne[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 11, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 11, .species = SPECIES_TENTACOOL, } @@ -6417,12 +6074,10 @@ static const struct TrainerMonCustomized sParty_Dwayne[] = { static const struct TrainerMonCustomized sParty_Phillip[] = { { - .iv = 0, .lvl = 44, .species = SPECIES_TENTACRUEL, }, { - .iv = 0, .lvl = 44, .species = SPECIES_MACHOKE, } @@ -6430,17 +6085,14 @@ static const struct TrainerMonCustomized sParty_Phillip[] = { static const struct TrainerMonCustomized sParty_Leonard[] = { { - .iv = 0, .lvl = 43, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 43, .species = SPECIES_PELIPPER, }, { - .iv = 0, .lvl = 43, .species = SPECIES_MACHOKE, } @@ -6448,12 +6100,10 @@ static const struct TrainerMonCustomized sParty_Leonard[] = { static const struct TrainerMonCustomized sParty_Duncan[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_SPHEAL, }, { - .iv = 0, .lvl = 25, .species = SPECIES_MACHOKE, } @@ -6461,17 +6111,17 @@ static const struct TrainerMonCustomized sParty_Duncan[] = { static const struct TrainerMonCustomized sParty_Ernest2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 36, .species = SPECIES_WINGULL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 36, .species = SPECIES_TENTACOOL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 36, .species = SPECIES_MACHOKE, } @@ -6479,17 +6129,17 @@ static const struct TrainerMonCustomized sParty_Ernest2[] = { static const struct TrainerMonCustomized sParty_Ernest3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_PELIPPER, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_TENTACOOL, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_MACHOKE, } @@ -6497,17 +6147,17 @@ static const struct TrainerMonCustomized sParty_Ernest3[] = { static const struct TrainerMonCustomized sParty_Ernest4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 42, .species = SPECIES_PELIPPER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 42, .species = SPECIES_TENTACOOL, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 42, .species = SPECIES_MACHOKE, } @@ -6515,17 +6165,17 @@ static const struct TrainerMonCustomized sParty_Ernest4[] = { static const struct TrainerMonCustomized sParty_Ernest5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, .species = SPECIES_PELIPPER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, .species = SPECIES_MACHOKE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, .species = SPECIES_TENTACRUEL, } @@ -6533,7 +6183,7 @@ static const struct TrainerMonCustomized sParty_Ernest5[] = { static const struct TrainerMonCustomized sParty_Eli[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_NUMEL, } @@ -6541,14 +6191,14 @@ static const struct TrainerMonCustomized sParty_Eli[] = { static const struct TrainerMonCustomized sParty_Annika[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_FEEBAS, .heldItem = ITEM_ORAN_BERRY, .moves = {MOVE_FLAIL, MOVE_WATER_PULSE, MOVE_RETURN, MOVE_ATTRACT} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_FEEBAS, .heldItem = ITEM_ORAN_BERRY, @@ -6558,7 +6208,6 @@ static const struct TrainerMonCustomized sParty_Annika[] = { static const struct TrainerMonCustomized sParty_Jazmyn[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_ABSOL, } @@ -6566,7 +6215,6 @@ static const struct TrainerMonCustomized sParty_Jazmyn[] = { static const struct TrainerMonCustomized sParty_Jonas[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_KOFFING, .moves = {MOVE_TOXIC, MOVE_THUNDER, MOVE_SELF_DESTRUCT, MOVE_SLUDGE_BOMB} @@ -6575,7 +6223,6 @@ static const struct TrainerMonCustomized sParty_Jonas[] = { static const struct TrainerMonCustomized sParty_Kayley[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_CASTFORM, .moves = {MOVE_SUNNY_DAY, MOVE_WEATHER_BALL, MOVE_FLAMETHROWER, MOVE_SOLAR_BEAM} @@ -6584,12 +6231,10 @@ static const struct TrainerMonCustomized sParty_Kayley[] = { static const struct TrainerMonCustomized sParty_Auron[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_MANECTRIC, }, { - .iv = 0, .lvl = 33, .species = SPECIES_MACHAMP, } @@ -6597,12 +6242,12 @@ static const struct TrainerMonCustomized sParty_Auron[] = { static const struct TrainerMonCustomized sParty_Kelvin[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 33, .species = SPECIES_MACHOKE, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 33, .species = SPECIES_SPHEAL, } @@ -6610,7 +6255,7 @@ static const struct TrainerMonCustomized sParty_Kelvin[] = { static const struct TrainerMonCustomized sParty_Marley[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 34, .species = SPECIES_MANECTRIC, .heldItem = ITEM_NONE, @@ -6620,12 +6265,12 @@ static const struct TrainerMonCustomized sParty_Marley[] = { static const struct TrainerMonCustomized sParty_Reyna[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 33, .species = SPECIES_MEDITITE, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 33, .species = SPECIES_HARIYAMA, } @@ -6633,7 +6278,6 @@ static const struct TrainerMonCustomized sParty_Reyna[] = { static const struct TrainerMonCustomized sParty_Hudson[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_WAILMER, } @@ -6641,12 +6285,11 @@ static const struct TrainerMonCustomized sParty_Hudson[] = { static const struct TrainerMonCustomized sParty_Conor[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_CHINCHOU, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 33, .species = SPECIES_HARIYAMA, } @@ -6654,12 +6297,10 @@ static const struct TrainerMonCustomized sParty_Conor[] = { static const struct TrainerMonCustomized sParty_Edwin1[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_LOMBRE, }, { - .iv = 0, .lvl = 14, .species = SPECIES_NUZLEAF, } @@ -6667,12 +6308,10 @@ static const struct TrainerMonCustomized sParty_Edwin1[] = { static const struct TrainerMonCustomized sParty_Hector[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_ZANGOOSE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_SEVIPER, } @@ -6680,17 +6319,17 @@ static const struct TrainerMonCustomized sParty_Hector[] = { static const struct TrainerMonCustomized sParty_TabithaMossdeep[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_CAMERUPT, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 38, .species = SPECIES_MIGHTYENA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, .species = SPECIES_GOLBAT, } @@ -6698,12 +6337,10 @@ static const struct TrainerMonCustomized sParty_TabithaMossdeep[] = { static const struct TrainerMonCustomized sParty_Edwin2[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_LOMBRE, }, { - .iv = 0, .lvl = 26, .species = SPECIES_NUZLEAF, } @@ -6711,12 +6348,10 @@ static const struct TrainerMonCustomized sParty_Edwin2[] = { static const struct TrainerMonCustomized sParty_Edwin3[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 0, .lvl = 29, .species = SPECIES_NUZLEAF, } @@ -6724,12 +6359,10 @@ static const struct TrainerMonCustomized sParty_Edwin3[] = { static const struct TrainerMonCustomized sParty_Edwin4[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_LOMBRE, }, { - .iv = 0, .lvl = 32, .species = SPECIES_NUZLEAF, } @@ -6737,12 +6370,10 @@ static const struct TrainerMonCustomized sParty_Edwin4[] = { static const struct TrainerMonCustomized sParty_Edwin5[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_LUDICOLO, }, { - .iv = 0, .lvl = 35, .species = SPECIES_SHIFTRY, } @@ -6750,31 +6381,31 @@ static const struct TrainerMonCustomized sParty_Edwin5[] = { static const struct TrainerMonCustomized sParty_WallyVR1[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 44, .species = SPECIES_ALTARIA, .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 43, .species = SPECIES_DELCATTY, .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 44, .species = SPECIES_ROSELIA, .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 41, .species = SPECIES_MAGNETON, .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 45, .species = SPECIES_GARDEVOIR, .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} @@ -6783,7 +6414,6 @@ static const struct TrainerMonCustomized sParty_WallyVR1[] = { static const struct TrainerMonCustomized sParty_BrendanRoute103Mudkip[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_TREECKO, } @@ -6791,17 +6421,17 @@ static const struct TrainerMonCustomized sParty_BrendanRoute103Mudkip[] = { static const struct TrainerMonCustomized sParty_BrendanRoute110Mudkip[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_SLUGMA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_WINGULL, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_GROVYLE, } @@ -6809,17 +6439,17 @@ static const struct TrainerMonCustomized sParty_BrendanRoute110Mudkip[] = { static const struct TrainerMonCustomized sParty_BrendanRoute119Mudkip[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_SLUGMA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_PELIPPER, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_GROVYLE, } @@ -6827,7 +6457,6 @@ static const struct TrainerMonCustomized sParty_BrendanRoute119Mudkip[] = { static const struct TrainerMonCustomized sParty_BrendanRoute103Treecko[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_TORCHIC, } @@ -6835,17 +6464,17 @@ static const struct TrainerMonCustomized sParty_BrendanRoute103Treecko[] = { static const struct TrainerMonCustomized sParty_BrendanRoute110Treecko[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_WINGULL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_LOMBRE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_COMBUSKEN, } @@ -6853,17 +6482,17 @@ static const struct TrainerMonCustomized sParty_BrendanRoute110Treecko[] = { static const struct TrainerMonCustomized sParty_BrendanRoute119Treecko[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_PELIPPER, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_COMBUSKEN, } @@ -6871,7 +6500,6 @@ static const struct TrainerMonCustomized sParty_BrendanRoute119Treecko[] = { static const struct TrainerMonCustomized sParty_BrendanRoute103Torchic[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_MUDKIP, } @@ -6879,17 +6507,17 @@ static const struct TrainerMonCustomized sParty_BrendanRoute103Torchic[] = { static const struct TrainerMonCustomized sParty_BrendanRoute110Torchic[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_LOMBRE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_SLUGMA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_MARSHTOMP, } @@ -6897,17 +6525,17 @@ static const struct TrainerMonCustomized sParty_BrendanRoute110Torchic[] = { static const struct TrainerMonCustomized sParty_BrendanRoute119Torchic[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_SLUGMA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_MARSHTOMP, } @@ -6915,7 +6543,6 @@ static const struct TrainerMonCustomized sParty_BrendanRoute119Torchic[] = { static const struct TrainerMonCustomized sParty_MayRoute103Mudkip[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_TREECKO, } @@ -6923,17 +6550,17 @@ static const struct TrainerMonCustomized sParty_MayRoute103Mudkip[] = { static const struct TrainerMonCustomized sParty_MayRoute110Mudkip[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_WINGULL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_SLUGMA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_GROVYLE, } @@ -6941,17 +6568,17 @@ static const struct TrainerMonCustomized sParty_MayRoute110Mudkip[] = { static const struct TrainerMonCustomized sParty_MayRoute119Mudkip[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_SLUGMA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_GROVYLE, } @@ -6959,7 +6586,6 @@ static const struct TrainerMonCustomized sParty_MayRoute119Mudkip[] = { static const struct TrainerMonCustomized sParty_MayRoute103Treecko[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_TORCHIC, } @@ -6967,17 +6593,17 @@ static const struct TrainerMonCustomized sParty_MayRoute103Treecko[] = { static const struct TrainerMonCustomized sParty_MayRoute110Treecko[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_WINGULL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_LOMBRE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_COMBUSKEN, } @@ -6985,17 +6611,17 @@ static const struct TrainerMonCustomized sParty_MayRoute110Treecko[] = { static const struct TrainerMonCustomized sParty_MayRoute119Treecko[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_PELIPPER, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_COMBUSKEN, } @@ -7003,7 +6629,6 @@ static const struct TrainerMonCustomized sParty_MayRoute119Treecko[] = { static const struct TrainerMonCustomized sParty_MayRoute103Torchic[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_MUDKIP, } @@ -7011,17 +6636,17 @@ static const struct TrainerMonCustomized sParty_MayRoute103Torchic[] = { static const struct TrainerMonCustomized sParty_MayRoute110Torchic[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_LOMBRE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_SLUGMA, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 20, .species = SPECIES_MARSHTOMP, } @@ -7029,17 +6654,17 @@ static const struct TrainerMonCustomized sParty_MayRoute110Torchic[] = { static const struct TrainerMonCustomized sParty_MayRoute119Torchic[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_SLUGMA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_MARSHTOMP, } @@ -7047,32 +6672,26 @@ static const struct TrainerMonCustomized sParty_MayRoute119Torchic[] = { static const struct TrainerMonCustomized sParty_Isaac1[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_WHISMUR, }, { - .iv = 0, .lvl = 11, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 11, .species = SPECIES_ARON, }, { - .iv = 0, .lvl = 11, .species = SPECIES_POOCHYENA, }, { - .iv = 0, .lvl = 11, .species = SPECIES_TAILLOW, }, { - .iv = 0, .lvl = 11, .species = SPECIES_MAKUHITA, } @@ -7080,7 +6699,6 @@ static const struct TrainerMonCustomized sParty_Isaac1[] = { static const struct TrainerMonCustomized sParty_Davis[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_PINSIR, } @@ -7088,13 +6706,11 @@ static const struct TrainerMonCustomized sParty_Davis[] = { static const struct TrainerMonCustomized sParty_Mitchell[] = { { - .iv = 0, .lvl = 43, .species = SPECIES_LUNATONE, .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_PSYCHIC} }, { - .iv = 0, .lvl = 43, .species = SPECIES_SOLROCK, .moves = {MOVE_EXPLOSION, MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_SHADOW_BALL} @@ -7103,32 +6719,32 @@ static const struct TrainerMonCustomized sParty_Mitchell[] = { static const struct TrainerMonCustomized sParty_Isaac2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_LOUDRED, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_LINOONE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_ARON, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_MIGHTYENA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_SWELLOW, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_MAKUHITA, } @@ -7136,32 +6752,32 @@ static const struct TrainerMonCustomized sParty_Isaac2[] = { static const struct TrainerMonCustomized sParty_Isaac3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_LOUDRED, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_LINOONE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_ARON, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_MIGHTYENA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_SWELLOW, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_HARIYAMA, } @@ -7169,32 +6785,32 @@ static const struct TrainerMonCustomized sParty_Isaac3[] = { static const struct TrainerMonCustomized sParty_Isaac4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_LOUDRED, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_LINOONE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_ARON, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_MIGHTYENA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_SWELLOW, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_HARIYAMA, } @@ -7202,32 +6818,32 @@ static const struct TrainerMonCustomized sParty_Isaac4[] = { static const struct TrainerMonCustomized sParty_Isaac5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_LOUDRED, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_LINOONE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_LAIRON, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_MIGHTYENA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_SWELLOW, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_HARIYAMA, } @@ -7235,32 +6851,26 @@ static const struct TrainerMonCustomized sParty_Isaac5[] = { static const struct TrainerMonCustomized sParty_Lydia1[] = { { - .iv = 0, .lvl = 11, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 11, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 11, .species = SPECIES_MARILL, }, { - .iv = 0, .lvl = 11, .species = SPECIES_ROSELIA, }, { - .iv = 0, .lvl = 11, .species = SPECIES_SKITTY, }, { - .iv = 0, .lvl = 11, .species = SPECIES_GOLDEEN, } @@ -7268,12 +6878,10 @@ static const struct TrainerMonCustomized sParty_Lydia1[] = { static const struct TrainerMonCustomized sParty_Halle[] = { { - .iv = 0, .lvl = 43, .species = SPECIES_SABLEYE, }, { - .iv = 0, .lvl = 43, .species = SPECIES_ABSOL, } @@ -7281,7 +6889,6 @@ static const struct TrainerMonCustomized sParty_Halle[] = { static const struct TrainerMonCustomized sParty_Garrison[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_SANDSLASH, } @@ -7289,32 +6896,32 @@ static const struct TrainerMonCustomized sParty_Garrison[] = { static const struct TrainerMonCustomized sParty_Lydia2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_WINGULL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_SHROOMISH, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_MARILL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_ROSELIA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_SKITTY, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, .species = SPECIES_GOLDEEN, } @@ -7322,32 +6929,32 @@ static const struct TrainerMonCustomized sParty_Lydia2[] = { static const struct TrainerMonCustomized sParty_Lydia3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_PELIPPER, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_BRELOOM, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_MARILL, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_ROSELIA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_DELCATTY, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, .species = SPECIES_GOLDEEN, } @@ -7355,32 +6962,32 @@ static const struct TrainerMonCustomized sParty_Lydia3[] = { static const struct TrainerMonCustomized sParty_Lydia4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_PELIPPER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_BRELOOM, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_MARILL, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_ROSELIA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_DELCATTY, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, .species = SPECIES_GOLDEEN, } @@ -7388,32 +6995,32 @@ static const struct TrainerMonCustomized sParty_Lydia4[] = { static const struct TrainerMonCustomized sParty_Lydia5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_PELIPPER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_BRELOOM, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_AZUMARILL, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_ROSELIA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_DELCATTY, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, .species = SPECIES_SEAKING, } @@ -7421,7 +7028,7 @@ static const struct TrainerMonCustomized sParty_Lydia5[] = { static const struct TrainerMonCustomized sParty_Jackson1[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 27, .species = SPECIES_BRELOOM, } @@ -7429,17 +7036,17 @@ static const struct TrainerMonCustomized sParty_Jackson1[] = { static const struct TrainerMonCustomized sParty_Lorenzo[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_SEEDOT, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_NUZLEAF, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_LOMBRE, } @@ -7447,7 +7054,7 @@ static const struct TrainerMonCustomized sParty_Lorenzo[] = { static const struct TrainerMonCustomized sParty_Sebastian[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 39, .species = SPECIES_CACTURNE, } @@ -7455,7 +7062,7 @@ static const struct TrainerMonCustomized sParty_Sebastian[] = { static const struct TrainerMonCustomized sParty_Jackson2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 31, .species = SPECIES_BRELOOM, } @@ -7463,7 +7070,7 @@ static const struct TrainerMonCustomized sParty_Jackson2[] = { static const struct TrainerMonCustomized sParty_Jackson3[] = { { - .iv = 70, + .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 34, .species = SPECIES_BRELOOM, } @@ -7471,7 +7078,7 @@ static const struct TrainerMonCustomized sParty_Jackson3[] = { static const struct TrainerMonCustomized sParty_Jackson4[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 37, .species = SPECIES_BRELOOM, } @@ -7479,12 +7086,12 @@ static const struct TrainerMonCustomized sParty_Jackson4[] = { static const struct TrainerMonCustomized sParty_Jackson5[] = { { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 39, .species = SPECIES_KECLEON, }, { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 39, .species = SPECIES_BRELOOM, } @@ -7492,12 +7099,12 @@ static const struct TrainerMonCustomized sParty_Jackson5[] = { static const struct TrainerMonCustomized sParty_Catherine1[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 26, .species = SPECIES_GLOOM, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 26, .species = SPECIES_ROSELIA, } @@ -7505,17 +7112,17 @@ static const struct TrainerMonCustomized sParty_Catherine1[] = { static const struct TrainerMonCustomized sParty_Jenna[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_LOTAD, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_LOMBRE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, .species = SPECIES_NUZLEAF, } @@ -7523,12 +7130,12 @@ static const struct TrainerMonCustomized sParty_Jenna[] = { static const struct TrainerMonCustomized sParty_Sophia[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_SWABLU, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, .species = SPECIES_ROSELIA, } @@ -7536,12 +7143,12 @@ static const struct TrainerMonCustomized sParty_Sophia[] = { static const struct TrainerMonCustomized sParty_Catherine2[] = { { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_GLOOM, }, { - .iv = 60, + .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, .species = SPECIES_ROSELIA, } @@ -7549,12 +7156,12 @@ static const struct TrainerMonCustomized sParty_Catherine2[] = { static const struct TrainerMonCustomized sParty_Catherine3[] = { { - .iv = 70, + .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 33, .species = SPECIES_GLOOM, }, { - .iv = 70, + .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 33, .species = SPECIES_ROSELIA, } @@ -7562,12 +7169,12 @@ static const struct TrainerMonCustomized sParty_Catherine3[] = { static const struct TrainerMonCustomized sParty_Catherine4[] = { { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 36, .species = SPECIES_GLOOM, }, { - .iv = 80, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 36, .species = SPECIES_ROSELIA, } @@ -7575,12 +7182,12 @@ static const struct TrainerMonCustomized sParty_Catherine4[] = { static const struct TrainerMonCustomized sParty_Catherine5[] = { { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 39, .species = SPECIES_BELLOSSOM, }, { - .iv = 90, + .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 39, .species = SPECIES_ROSELIA, } @@ -7588,7 +7195,6 @@ static const struct TrainerMonCustomized sParty_Catherine5[] = { static const struct TrainerMonCustomized sParty_Julio[] = { { - .iv = 0, .lvl = 21, .species = SPECIES_MAGNEMITE, } @@ -7596,12 +7202,12 @@ static const struct TrainerMonCustomized sParty_Julio[] = { static const struct TrainerMonCustomized sParty_GruntSeafloorCavern5[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 35, .species = SPECIES_MIGHTYENA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 35, .species = SPECIES_GOLBAT, } @@ -7609,12 +7215,10 @@ static const struct TrainerMonCustomized sParty_GruntSeafloorCavern5[] = { static const struct TrainerMonCustomized sParty_GruntUnused[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_WAILMER, }, { - .iv = 0, .lvl = 31, .species = SPECIES_ZUBAT, } @@ -7622,12 +7226,10 @@ static const struct TrainerMonCustomized sParty_GruntUnused[] = { static const struct TrainerMonCustomized sParty_GruntMtPyre4[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_WAILMER, }, { - .iv = 0, .lvl = 30, .species = SPECIES_ZUBAT, } @@ -7635,12 +7237,12 @@ static const struct TrainerMonCustomized sParty_GruntMtPyre4[] = { static const struct TrainerMonCustomized sParty_GruntJaggedPass[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 22, .species = SPECIES_POOCHYENA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 22, .species = SPECIES_NUMEL, } @@ -7648,12 +7250,12 @@ static const struct TrainerMonCustomized sParty_GruntJaggedPass[] = { static const struct TrainerMonCustomized sParty_Marc[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 8, .species = SPECIES_GEODUDE, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 8, .species = SPECIES_GEODUDE, } @@ -7661,7 +7263,7 @@ static const struct TrainerMonCustomized sParty_Marc[] = { static const struct TrainerMonCustomized sParty_Brenden[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 13, .species = SPECIES_MACHOP, } @@ -7669,7 +7271,7 @@ static const struct TrainerMonCustomized sParty_Brenden[] = { static const struct TrainerMonCustomized sParty_Lilith[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 13, .species = SPECIES_MEDITITE, } @@ -7677,7 +7279,7 @@ static const struct TrainerMonCustomized sParty_Lilith[] = { static const struct TrainerMonCustomized sParty_Cristian[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 13, .species = SPECIES_MAKUHITA, } @@ -7685,7 +7287,7 @@ static const struct TrainerMonCustomized sParty_Cristian[] = { static const struct TrainerMonCustomized sParty_Sylvia[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_MEDITITE, } @@ -7693,7 +7295,6 @@ static const struct TrainerMonCustomized sParty_Sylvia[] = { static const struct TrainerMonCustomized sParty_Leonardo[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_CARVANHA, } @@ -7701,14 +7302,14 @@ static const struct TrainerMonCustomized sParty_Leonardo[] = { static const struct TrainerMonCustomized sParty_Athena[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, .species = SPECIES_MANECTRIC, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_THUNDER_WAVE, MOVE_QUICK_ATTACK, MOVE_NONE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, .species = SPECIES_LINOONE, .heldItem = ITEM_NONE, @@ -7718,7 +7319,6 @@ static const struct TrainerMonCustomized sParty_Athena[] = { static const struct TrainerMonCustomized sParty_Harrison[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_TENTACRUEL, } @@ -7726,7 +7326,6 @@ static const struct TrainerMonCustomized sParty_Harrison[] = { static const struct TrainerMonCustomized sParty_GruntMtChimney2[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_ZUBAT, } @@ -7734,7 +7333,6 @@ static const struct TrainerMonCustomized sParty_GruntMtChimney2[] = { static const struct TrainerMonCustomized sParty_Clarence[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_SHARPEDO, } @@ -7742,7 +7340,6 @@ static const struct TrainerMonCustomized sParty_Clarence[] = { static const struct TrainerMonCustomized sParty_Terry[] = { { - .iv = 0, .lvl = 37, .species = SPECIES_GIRAFARIG, } @@ -7750,7 +7347,7 @@ static const struct TrainerMonCustomized sParty_Terry[] = { static const struct TrainerMonCustomized sParty_Nate[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_SPOINK, } @@ -7758,7 +7355,7 @@ static const struct TrainerMonCustomized sParty_Nate[] = { static const struct TrainerMonCustomized sParty_Kathleen[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, .species = SPECIES_KADABRA, } @@ -7766,7 +7363,6 @@ static const struct TrainerMonCustomized sParty_Kathleen[] = { static const struct TrainerMonCustomized sParty_Clifford[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_GIRAFARIG, } @@ -7774,7 +7370,6 @@ static const struct TrainerMonCustomized sParty_Clifford[] = { static const struct TrainerMonCustomized sParty_Nicholas[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_WOBBUFFET, } @@ -7782,12 +7377,10 @@ static const struct TrainerMonCustomized sParty_Nicholas[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter3[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 31, .species = SPECIES_POOCHYENA, } @@ -7795,7 +7388,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter3[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter4[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_BALTOY, } @@ -7803,7 +7395,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter4[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter5[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_ZUBAT, } @@ -7811,7 +7402,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter5[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter6[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_MIGHTYENA, } @@ -7819,7 +7409,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter6[] = { static const struct TrainerMonCustomized sParty_GruntSpaceCenter7[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_BALTOY, } @@ -7827,7 +7416,6 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter7[] = { static const struct TrainerMonCustomized sParty_Macey[] = { { - .iv = 0, .lvl = 36, .species = SPECIES_NATU, } @@ -7835,12 +7423,12 @@ static const struct TrainerMonCustomized sParty_Macey[] = { static const struct TrainerMonCustomized sParty_BrendanRustboroTreecko[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, .species = SPECIES_LOTAD, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_TORCHIC, } @@ -7848,12 +7436,12 @@ static const struct TrainerMonCustomized sParty_BrendanRustboroTreecko[] = { static const struct TrainerMonCustomized sParty_BrendanRustboroMudkip[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, .species = SPECIES_WINGULL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_TREECKO, } @@ -7861,12 +7449,10 @@ static const struct TrainerMonCustomized sParty_BrendanRustboroMudkip[] = { static const struct TrainerMonCustomized sParty_Paxton[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_SWELLOW, }, { - .iv = 0, .lvl = 33, .species = SPECIES_BRELOOM, } @@ -7874,7 +7460,6 @@ static const struct TrainerMonCustomized sParty_Paxton[] = { static const struct TrainerMonCustomized sParty_Isabella[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_STARYU, } @@ -7882,12 +7467,10 @@ static const struct TrainerMonCustomized sParty_Isabella[] = { static const struct TrainerMonCustomized sParty_GruntWeatherInst5[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_ZUBAT, }, { - .iv = 0, .lvl = 27, .species = SPECIES_POOCHYENA, } @@ -7895,22 +7478,22 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst5[] = { static const struct TrainerMonCustomized sParty_TabithaMtChimney[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, .species = SPECIES_NUMEL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 20, .species = SPECIES_POOCHYENA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 22, .species = SPECIES_NUMEL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 22, .species = SPECIES_ZUBAT, } @@ -7918,12 +7501,10 @@ static const struct TrainerMonCustomized sParty_TabithaMtChimney[] = { static const struct TrainerMonCustomized sParty_Jonathan[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_KECLEON, }, { - .iv = 0, .lvl = 33, .species = SPECIES_LOUDRED, } @@ -7931,12 +7512,12 @@ static const struct TrainerMonCustomized sParty_Jonathan[] = { static const struct TrainerMonCustomized sParty_BrendanRustboroTorchic[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, .species = SPECIES_SLUGMA, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_MUDKIP, } @@ -7944,12 +7525,12 @@ static const struct TrainerMonCustomized sParty_BrendanRustboroTorchic[] = { static const struct TrainerMonCustomized sParty_MayRustboroMudkip[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, .species = SPECIES_WINGULL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_TREECKO, } @@ -7957,17 +7538,17 @@ static const struct TrainerMonCustomized sParty_MayRustboroMudkip[] = { static const struct TrainerMonCustomized sParty_MaxieMagmaHideout[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 37, .species = SPECIES_MIGHTYENA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 38, .species = SPECIES_CROBAT, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 39, .species = SPECIES_CAMERUPT, } @@ -7975,17 +7556,17 @@ static const struct TrainerMonCustomized sParty_MaxieMagmaHideout[] = { static const struct TrainerMonCustomized sParty_MaxieMtChimney[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 24, .species = SPECIES_MIGHTYENA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 24, .species = SPECIES_ZUBAT, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 25, .species = SPECIES_CAMERUPT, } @@ -7993,12 +7574,10 @@ static const struct TrainerMonCustomized sParty_MaxieMtChimney[] = { static const struct TrainerMonCustomized sParty_Tiana[] = { { - .iv = 0, .lvl = 4, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 4, .species = SPECIES_SHROOMISH, } @@ -8006,12 +7585,10 @@ static const struct TrainerMonCustomized sParty_Tiana[] = { static const struct TrainerMonCustomized sParty_Haley1[] = { { - .iv = 0, .lvl = 6, .species = SPECIES_LOTAD, }, { - .iv = 0, .lvl = 6, .species = SPECIES_SHROOMISH, } @@ -8019,7 +7596,6 @@ static const struct TrainerMonCustomized sParty_Haley1[] = { static const struct TrainerMonCustomized sParty_Janice[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_MARILL, } @@ -8027,17 +7603,17 @@ static const struct TrainerMonCustomized sParty_Janice[] = { static const struct TrainerMonCustomized sParty_Vivi[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, .species = SPECIES_MARILL, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, .species = SPECIES_SHROOMISH, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, .species = SPECIES_NUMEL, } @@ -8045,12 +7621,12 @@ static const struct TrainerMonCustomized sParty_Vivi[] = { static const struct TrainerMonCustomized sParty_Haley2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_LOMBRE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_SHROOMISH, } @@ -8058,12 +7634,12 @@ static const struct TrainerMonCustomized sParty_Haley2[] = { static const struct TrainerMonCustomized sParty_Haley3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_LOMBRE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_BRELOOM, } @@ -8071,12 +7647,12 @@ static const struct TrainerMonCustomized sParty_Haley3[] = { static const struct TrainerMonCustomized sParty_Haley4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_LOMBRE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, .species = SPECIES_BRELOOM, } @@ -8084,17 +7660,17 @@ static const struct TrainerMonCustomized sParty_Haley4[] = { static const struct TrainerMonCustomized sParty_Haley5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_SWELLOW, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_LOMBRE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, .species = SPECIES_BRELOOM, } @@ -8102,7 +7678,6 @@ static const struct TrainerMonCustomized sParty_Haley5[] = { static const struct TrainerMonCustomized sParty_Sally[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_ODDISH, } @@ -8110,17 +7685,14 @@ static const struct TrainerMonCustomized sParty_Sally[] = { static const struct TrainerMonCustomized sParty_Robin[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_SKITTY, }, { - .iv = 0, .lvl = 14, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 14, .species = SPECIES_MARILL, } @@ -8128,7 +7700,7 @@ static const struct TrainerMonCustomized sParty_Robin[] = { static const struct TrainerMonCustomized sParty_Andrea[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, .species = SPECIES_LUVDISC, } @@ -8136,12 +7708,12 @@ static const struct TrainerMonCustomized sParty_Andrea[] = { static const struct TrainerMonCustomized sParty_Crissy[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_GOLDEEN, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_WAILMER, } @@ -8149,12 +7721,10 @@ static const struct TrainerMonCustomized sParty_Crissy[] = { static const struct TrainerMonCustomized sParty_Rick[] = { { - .iv = 0, .lvl = 4, .species = SPECIES_WURMPLE, }, { - .iv = 0, .lvl = 4, .species = SPECIES_WURMPLE, } @@ -8162,22 +7732,18 @@ static const struct TrainerMonCustomized sParty_Rick[] = { static const struct TrainerMonCustomized sParty_Lyle[] = { { - .iv = 0, .lvl = 3, .species = SPECIES_WURMPLE, }, { - .iv = 0, .lvl = 3, .species = SPECIES_WURMPLE, }, { - .iv = 0, .lvl = 3, .species = SPECIES_WURMPLE, }, { - .iv = 0, .lvl = 3, .species = SPECIES_WURMPLE, } @@ -8185,12 +7751,12 @@ static const struct TrainerMonCustomized sParty_Lyle[] = { static const struct TrainerMonCustomized sParty_Jose[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 8, .species = SPECIES_WURMPLE, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 8, .species = SPECIES_NINCADA, } @@ -8198,12 +7764,10 @@ static const struct TrainerMonCustomized sParty_Jose[] = { static const struct TrainerMonCustomized sParty_Doug[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_NINCADA, }, { - .iv = 0, .lvl = 28, .species = SPECIES_NINJASK, } @@ -8211,12 +7775,10 @@ static const struct TrainerMonCustomized sParty_Doug[] = { static const struct TrainerMonCustomized sParty_Greg[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_VOLBEAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ILLUMISE, } @@ -8224,7 +7786,6 @@ static const struct TrainerMonCustomized sParty_Greg[] = { static const struct TrainerMonCustomized sParty_Kent[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_NINJASK, } @@ -8232,12 +7793,10 @@ static const struct TrainerMonCustomized sParty_Kent[] = { static const struct TrainerMonCustomized sParty_James1[] = { { - .iv = 0, .lvl = 6, .species = SPECIES_NINCADA, }, { - .iv = 0, .lvl = 6, .species = SPECIES_NINCADA, } @@ -8245,7 +7804,7 @@ static const struct TrainerMonCustomized sParty_James1[] = { static const struct TrainerMonCustomized sParty_James2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, .species = SPECIES_NINJASK, } @@ -8253,12 +7812,12 @@ static const struct TrainerMonCustomized sParty_James2[] = { static const struct TrainerMonCustomized sParty_James3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_DUSTOX, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, .species = SPECIES_NINJASK, } @@ -8266,17 +7825,17 @@ static const struct TrainerMonCustomized sParty_James3[] = { static const struct TrainerMonCustomized sParty_James4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_SURSKIT, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_DUSTOX, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, .species = SPECIES_NINJASK, } @@ -8284,22 +7843,22 @@ static const struct TrainerMonCustomized sParty_James4[] = { static const struct TrainerMonCustomized sParty_James5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_SURSKIT, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_NINJASK, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_DUSTOX, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_NINJASK, } @@ -8307,12 +7866,10 @@ static const struct TrainerMonCustomized sParty_James5[] = { static const struct TrainerMonCustomized sParty_Brice[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_NUMEL, }, { - .iv = 0, .lvl = 17, .species = SPECIES_MACHOP, } @@ -8320,17 +7877,14 @@ static const struct TrainerMonCustomized sParty_Brice[] = { static const struct TrainerMonCustomized sParty_Trent1[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 17, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 16, .species = SPECIES_GEODUDE, } @@ -8338,12 +7892,10 @@ static const struct TrainerMonCustomized sParty_Trent1[] = { static const struct TrainerMonCustomized sParty_Lenny[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_MACHOP, } @@ -8351,12 +7903,10 @@ static const struct TrainerMonCustomized sParty_Lenny[] = { static const struct TrainerMonCustomized sParty_Lucas1[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_NUMEL, } @@ -8364,17 +7914,14 @@ static const struct TrainerMonCustomized sParty_Lucas1[] = { static const struct TrainerMonCustomized sParty_Alan[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 22, .species = SPECIES_NOSEPASS, }, { - .iv = 0, .lvl = 22, .species = SPECIES_GRAVELER, } @@ -8382,7 +7929,6 @@ static const struct TrainerMonCustomized sParty_Alan[] = { static const struct TrainerMonCustomized sParty_Clark[] = { { - .iv = 0, .lvl = 8, .species = SPECIES_GEODUDE, } @@ -8390,12 +7936,10 @@ static const struct TrainerMonCustomized sParty_Clark[] = { static const struct TrainerMonCustomized sParty_Eric[] = { { - .iv = 0, .lvl = 20, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 20, .species = SPECIES_BALTOY, } @@ -8403,7 +7947,6 @@ static const struct TrainerMonCustomized sParty_Eric[] = { static const struct TrainerMonCustomized sParty_Lucas2[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_WAILMER, .moves = {MOVE_SPLASH, MOVE_WATER_GUN, MOVE_NONE, MOVE_NONE} @@ -8412,13 +7955,11 @@ static const struct TrainerMonCustomized sParty_Lucas2[] = { static const struct TrainerMonCustomized sParty_Mike1[] = { { - .iv = 0, .lvl = 10, .species = SPECIES_PELIPPER, .moves = {MOVE_GUST, MOVE_GROWL, MOVE_NONE, MOVE_NONE} }, { - .iv = 0, .lvl = 10, .species = SPECIES_POOCHYENA, .moves = {MOVE_BITE, MOVE_SCARY_FACE, MOVE_NONE, MOVE_NONE} @@ -8427,17 +7968,14 @@ static const struct TrainerMonCustomized sParty_Mike1[] = { static const struct TrainerMonCustomized sParty_Mike2[] = { { - .iv = 0, .lvl = 16, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 16, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 16, .species = SPECIES_MACHOP, } @@ -8445,22 +7983,22 @@ static const struct TrainerMonCustomized sParty_Mike2[] = { static const struct TrainerMonCustomized sParty_Trent2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_GEODUDE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_GEODUDE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_GEODUDE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, .species = SPECIES_GRAVELER, } @@ -8468,22 +8006,22 @@ static const struct TrainerMonCustomized sParty_Trent2[] = { static const struct TrainerMonCustomized sParty_Trent3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_GEODUDE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_GEODUDE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_GRAVELER, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, .species = SPECIES_GRAVELER, } @@ -8491,22 +8029,22 @@ static const struct TrainerMonCustomized sParty_Trent3[] = { static const struct TrainerMonCustomized sParty_Trent4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_GEODUDE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_GRAVELER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_GRAVELER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_GRAVELER, } @@ -8514,22 +8052,22 @@ static const struct TrainerMonCustomized sParty_Trent4[] = { static const struct TrainerMonCustomized sParty_Trent5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GRAVELER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GRAVELER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GRAVELER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GOLEM, } @@ -8537,12 +8075,10 @@ static const struct TrainerMonCustomized sParty_Trent5[] = { static const struct TrainerMonCustomized sParty_DezAndLuke[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_DELCATTY, }, { - .iv = 0, .lvl = 31, .species = SPECIES_MANECTRIC, } @@ -8550,12 +8086,10 @@ static const struct TrainerMonCustomized sParty_DezAndLuke[] = { static const struct TrainerMonCustomized sParty_LeaAndJed[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_LUVDISC, }, { - .iv = 0, .lvl = 45, .species = SPECIES_LUVDISC, } @@ -8563,12 +8097,10 @@ static const struct TrainerMonCustomized sParty_LeaAndJed[] = { static const struct TrainerMonCustomized sParty_KiraAndDan1[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_VOLBEAT, }, { - .iv = 0, .lvl = 25, .species = SPECIES_ILLUMISE, } @@ -8576,12 +8108,12 @@ static const struct TrainerMonCustomized sParty_KiraAndDan1[] = { static const struct TrainerMonCustomized sParty_KiraAndDan2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_VOLBEAT, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_ILLUMISE, } @@ -8589,12 +8121,12 @@ static const struct TrainerMonCustomized sParty_KiraAndDan2[] = { static const struct TrainerMonCustomized sParty_KiraAndDan3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_VOLBEAT, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_ILLUMISE, } @@ -8602,12 +8134,12 @@ static const struct TrainerMonCustomized sParty_KiraAndDan3[] = { static const struct TrainerMonCustomized sParty_KiraAndDan4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_VOLBEAT, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, .species = SPECIES_ILLUMISE, } @@ -8615,12 +8147,12 @@ static const struct TrainerMonCustomized sParty_KiraAndDan4[] = { static const struct TrainerMonCustomized sParty_KiraAndDan5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, .species = SPECIES_VOLBEAT, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, .species = SPECIES_ILLUMISE, } @@ -8628,7 +8160,6 @@ static const struct TrainerMonCustomized sParty_KiraAndDan5[] = { static const struct TrainerMonCustomized sParty_Johanna[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_GOLDEEN, } @@ -8636,7 +8167,7 @@ static const struct TrainerMonCustomized sParty_Johanna[] = { static const struct TrainerMonCustomized sParty_Gerald[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_KECLEON, .moves = {MOVE_FLAMETHROWER, MOVE_FURY_SWIPES, MOVE_FEINT_ATTACK, MOVE_BIND} @@ -8645,13 +8176,13 @@ static const struct TrainerMonCustomized sParty_Gerald[] = { static const struct TrainerMonCustomized sParty_Vivian[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_MEDITITE, .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_THUNDER_PUNCH} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_MEDITITE, .moves = {MOVE_THUNDER_PUNCH, MOVE_DETECT, MOVE_CONFUSION, MOVE_MEDITATE} @@ -8660,7 +8191,7 @@ static const struct TrainerMonCustomized sParty_Vivian[] = { static const struct TrainerMonCustomized sParty_Danielle[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, .species = SPECIES_MEDITITE, .moves = {MOVE_BIDE, MOVE_DETECT, MOVE_CONFUSION, MOVE_FIRE_PUNCH} @@ -8669,13 +8200,11 @@ static const struct TrainerMonCustomized sParty_Danielle[] = { static const struct TrainerMonCustomized sParty_Hideo[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} }, { - .iv = 0, .lvl = 25, .species = SPECIES_KOFFING, .moves = {MOVE_TACKLE, MOVE_POISON_GAS, MOVE_SLUDGE, MOVE_SMOKESCREEN} @@ -8684,13 +8213,11 @@ static const struct TrainerMonCustomized sParty_Hideo[] = { static const struct TrainerMonCustomized sParty_Keigo[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_POISON_GAS, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} }, { - .iv = 0, .lvl = 28, .species = SPECIES_NINJASK, .moves = {MOVE_SAND_ATTACK, MOVE_DOUBLE_TEAM, MOVE_FURY_CUTTER, MOVE_SWORDS_DANCE} @@ -8699,13 +8226,11 @@ static const struct TrainerMonCustomized sParty_Keigo[] = { static const struct TrainerMonCustomized sParty_Riley[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_NINCADA, .moves = {MOVE_LEECH_LIFE, MOVE_FURY_SWIPES, MOVE_MIND_READER, MOVE_DIG} }, { - .iv = 0, .lvl = 28, .species = SPECIES_KOFFING, .moves = {MOVE_TACKLE, MOVE_SELF_DESTRUCT, MOVE_SLUDGE, MOVE_SMOKESCREEN} @@ -8714,12 +8239,12 @@ static const struct TrainerMonCustomized sParty_Riley[] = { static const struct TrainerMonCustomized sParty_Flint[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 29, .species = SPECIES_SWELLOW, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 29, .species = SPECIES_XATU, } @@ -8727,17 +8252,17 @@ static const struct TrainerMonCustomized sParty_Flint[] = { static const struct TrainerMonCustomized sParty_Ashley[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_SWABLU, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_SWABLU, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, .species = SPECIES_SWABLU, } @@ -8745,7 +8270,7 @@ static const struct TrainerMonCustomized sParty_Ashley[] = { static const struct TrainerMonCustomized sParty_WallyMauville[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 16, .species = SPECIES_RALTS, } @@ -8753,31 +8278,31 @@ static const struct TrainerMonCustomized sParty_WallyMauville[] = { static const struct TrainerMonCustomized sParty_WallyVR2[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_ALTARIA, .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 46, .species = SPECIES_DELCATTY, .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_ROSELIA, .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 44, .species = SPECIES_MAGNETON, .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 48, .species = SPECIES_GARDEVOIR, .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} @@ -8786,31 +8311,31 @@ static const struct TrainerMonCustomized sParty_WallyVR2[] = { static const struct TrainerMonCustomized sParty_WallyVR3[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 50, .species = SPECIES_ALTARIA, .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 49, .species = SPECIES_DELCATTY, .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 50, .species = SPECIES_ROSELIA, .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, .species = SPECIES_MAGNETON, .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 51, .species = SPECIES_GARDEVOIR, .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} @@ -8819,31 +8344,31 @@ static const struct TrainerMonCustomized sParty_WallyVR3[] = { static const struct TrainerMonCustomized sParty_WallyVR4[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_ALTARIA, .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 52, .species = SPECIES_DELCATTY, .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_ROSELIA, .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 50, .species = SPECIES_MAGNETON, .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 54, .species = SPECIES_GARDEVOIR, .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} @@ -8852,31 +8377,31 @@ static const struct TrainerMonCustomized sParty_WallyVR4[] = { static const struct TrainerMonCustomized sParty_WallyVR5[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 56, .species = SPECIES_ALTARIA, .moves = {MOVE_AERIAL_ACE, MOVE_SAFEGUARD, MOVE_DRAGON_BREATH, MOVE_DRAGON_DANCE} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 55, .species = SPECIES_DELCATTY, .moves = {MOVE_SING, MOVE_ASSIST, MOVE_CHARM, MOVE_FEINT_ATTACK} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 56, .species = SPECIES_ROSELIA, .moves = {MOVE_MAGICAL_LEAF, MOVE_LEECH_SEED, MOVE_GIGA_DRAIN, MOVE_TOXIC} }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, .species = SPECIES_MAGNETON, .moves = {MOVE_SUPERSONIC, MOVE_THUNDERBOLT, MOVE_TRI_ATTACK, MOVE_SCREECH} }, { - .iv = 250, + .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 57, .species = SPECIES_GARDEVOIR, .moves = {MOVE_DOUBLE_TEAM, MOVE_CALM_MIND, MOVE_PSYCHIC, MOVE_FUTURE_SIGHT} @@ -8885,22 +8410,22 @@ static const struct TrainerMonCustomized sParty_WallyVR5[] = { static const struct TrainerMonCustomized sParty_BrendanLilycoveMudkip[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_TROPIUS, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_SLUGMA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_PELIPPER, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 34, .species = SPECIES_GROVYLE, } @@ -8908,22 +8433,22 @@ static const struct TrainerMonCustomized sParty_BrendanLilycoveMudkip[] = { static const struct TrainerMonCustomized sParty_BrendanLilycoveTreecko[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_TROPIUS, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_PELIPPER, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_LUDICOLO, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 34, .species = SPECIES_COMBUSKEN, } @@ -8931,22 +8456,22 @@ static const struct TrainerMonCustomized sParty_BrendanLilycoveTreecko[] = { static const struct TrainerMonCustomized sParty_BrendanLilycoveTorchic[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_TROPIUS, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_LUDICOLO, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_SLUGMA, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 34, .species = SPECIES_MARSHTOMP, } @@ -8954,22 +8479,22 @@ static const struct TrainerMonCustomized sParty_BrendanLilycoveTorchic[] = { static const struct TrainerMonCustomized sParty_MayLilycoveMudkip[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_TROPIUS, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_SLUGMA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_PELIPPER, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 34, .species = SPECIES_GROVYLE, } @@ -8977,22 +8502,22 @@ static const struct TrainerMonCustomized sParty_MayLilycoveMudkip[] = { static const struct TrainerMonCustomized sParty_MayLilycoveTreecko[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_TROPIUS, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_PELIPPER, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_LUDICOLO, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 34, .species = SPECIES_COMBUSKEN, } @@ -9000,22 +8525,22 @@ static const struct TrainerMonCustomized sParty_MayLilycoveTreecko[] = { static const struct TrainerMonCustomized sParty_MayLilycoveTorchic[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, .species = SPECIES_TROPIUS, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_LUDICOLO, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 32, .species = SPECIES_SLUGMA, }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 34, .species = SPECIES_MARSHTOMP, } @@ -9023,17 +8548,14 @@ static const struct TrainerMonCustomized sParty_MayLilycoveTorchic[] = { static const struct TrainerMonCustomized sParty_Jonah[] = { { - .iv = 0, .lvl = 30, .species = SPECIES_WAILMER, }, { - .iv = 0, .lvl = 31, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 32, .species = SPECIES_SHARPEDO, } @@ -9041,12 +8563,10 @@ static const struct TrainerMonCustomized sParty_Jonah[] = { static const struct TrainerMonCustomized sParty_Henry[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_CARVANHA, }, { - .iv = 0, .lvl = 34, .species = SPECIES_TENTACRUEL, } @@ -9054,17 +8574,14 @@ static const struct TrainerMonCustomized sParty_Henry[] = { static const struct TrainerMonCustomized sParty_Roger[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 25, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 35, .species = SPECIES_GYARADOS, } @@ -9072,12 +8589,12 @@ static const struct TrainerMonCustomized sParty_Roger[] = { static const struct TrainerMonCustomized sParty_Alexa[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, .species = SPECIES_GLOOM, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, .species = SPECIES_AZUMARILL, } @@ -9085,12 +8602,12 @@ static const struct TrainerMonCustomized sParty_Alexa[] = { static const struct TrainerMonCustomized sParty_Ruben[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, .species = SPECIES_SHIFTRY, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, .species = SPECIES_NOSEPASS, } @@ -9098,7 +8615,6 @@ static const struct TrainerMonCustomized sParty_Ruben[] = { static const struct TrainerMonCustomized sParty_Koji1[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_MACHOKE, } @@ -9106,17 +8622,14 @@ static const struct TrainerMonCustomized sParty_Koji1[] = { static const struct TrainerMonCustomized sParty_Wayne[] = { { - .iv = 0, .lvl = 31, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 31, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 36, .species = SPECIES_WAILMER, } @@ -9124,12 +8637,10 @@ static const struct TrainerMonCustomized sParty_Wayne[] = { static const struct TrainerMonCustomized sParty_Aidan[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_SWELLOW, }, { - .iv = 0, .lvl = 32, .species = SPECIES_SKARMORY, } @@ -9137,12 +8648,10 @@ static const struct TrainerMonCustomized sParty_Aidan[] = { static const struct TrainerMonCustomized sParty_Reed[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_SPHEAL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_SHARPEDO, } @@ -9150,7 +8659,6 @@ static const struct TrainerMonCustomized sParty_Reed[] = { static const struct TrainerMonCustomized sParty_Tisha[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_CHINCHOU, } @@ -9158,12 +8666,10 @@ static const struct TrainerMonCustomized sParty_Tisha[] = { static const struct TrainerMonCustomized sParty_ToriAndTia[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_SPINDA, }, { - .iv = 0, .lvl = 19, .species = SPECIES_SPINDA, } @@ -9171,13 +8677,11 @@ static const struct TrainerMonCustomized sParty_ToriAndTia[] = { static const struct TrainerMonCustomized sParty_KimAndIris[] = { { - .iv = 0, .lvl = 32, .species = SPECIES_SWABLU, .moves = {MOVE_SING, MOVE_FURY_ATTACK, MOVE_SAFEGUARD, MOVE_AERIAL_ACE} }, { - .iv = 0, .lvl = 35, .species = SPECIES_NUMEL, .moves = {MOVE_FLAMETHROWER, MOVE_TAKE_DOWN, MOVE_REST, MOVE_EARTHQUAKE} @@ -9186,13 +8690,11 @@ static const struct TrainerMonCustomized sParty_KimAndIris[] = { static const struct TrainerMonCustomized sParty_TyraAndIvy[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_ROSELIA, .moves = {MOVE_GROWTH, MOVE_STUN_SPORE, MOVE_MEGA_DRAIN, MOVE_LEECH_SEED} }, { - .iv = 0, .lvl = 20, .species = SPECIES_GRAVELER, .moves = {MOVE_DEFENSE_CURL, MOVE_ROLLOUT, MOVE_MUD_SPORT, MOVE_ROCK_THROW} @@ -9201,13 +8703,11 @@ static const struct TrainerMonCustomized sParty_TyraAndIvy[] = { static const struct TrainerMonCustomized sParty_MelAndPaul[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_DUSTOX, .moves = {MOVE_GUST, MOVE_PSYBEAM, MOVE_TOXIC, MOVE_PROTECT} }, { - .iv = 0, .lvl = 27, .species = SPECIES_BEAUTIFLY, .moves = {MOVE_GUST, MOVE_MEGA_DRAIN, MOVE_ATTRACT, MOVE_STUN_SPORE} @@ -9216,13 +8716,13 @@ static const struct TrainerMonCustomized sParty_MelAndPaul[] = { static const struct TrainerMonCustomized sParty_JohnAndJay1[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 39, .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 39, .species = SPECIES_HARIYAMA, .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} @@ -9231,13 +8731,13 @@ static const struct TrainerMonCustomized sParty_JohnAndJay1[] = { static const struct TrainerMonCustomized sParty_JohnAndJay2[] = { { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 43, .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { - .iv = 210, + .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 43, .species = SPECIES_HARIYAMA, .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} @@ -9246,13 +8746,13 @@ static const struct TrainerMonCustomized sParty_JohnAndJay2[] = { static const struct TrainerMonCustomized sParty_JohnAndJay3[] = { { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 46, .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { - .iv = 220, + .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 46, .species = SPECIES_HARIYAMA, .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} @@ -9261,13 +8761,13 @@ static const struct TrainerMonCustomized sParty_JohnAndJay3[] = { static const struct TrainerMonCustomized sParty_JohnAndJay4[] = { { - .iv = 230, + .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 49, .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { - .iv = 230, + .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 49, .species = SPECIES_HARIYAMA, .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} @@ -9276,13 +8776,13 @@ static const struct TrainerMonCustomized sParty_JohnAndJay4[] = { static const struct TrainerMonCustomized sParty_JohnAndJay5[] = { { - .iv = 240, + .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 52, .species = SPECIES_MEDICHAM, .moves = {MOVE_PSYCHIC, MOVE_FIRE_PUNCH, MOVE_PSYCH_UP, MOVE_PROTECT} }, { - .iv = 240, + .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 52, .species = SPECIES_HARIYAMA, .moves = {MOVE_FOCUS_PUNCH, MOVE_ROCK_TOMB, MOVE_REST, MOVE_BELLY_DRUM} @@ -9291,12 +8791,10 @@ static const struct TrainerMonCustomized sParty_JohnAndJay5[] = { static const struct TrainerMonCustomized sParty_ReliAndIan[] = { { - .iv = 0, .lvl = 35, .species = SPECIES_AZUMARILL, }, { - .iv = 0, .lvl = 33, .species = SPECIES_WINGULL, } @@ -9304,12 +8802,10 @@ static const struct TrainerMonCustomized sParty_ReliAndIan[] = { static const struct TrainerMonCustomized sParty_LilaAndRoy1[] = { { - .iv = 0, .lvl = 34, .species = SPECIES_CHINCHOU, }, { - .iv = 0, .lvl = 33, .species = SPECIES_CARVANHA, } @@ -9317,12 +8813,10 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy1[] = { static const struct TrainerMonCustomized sParty_LilaAndRoy2[] = { { - .iv = 0, .lvl = 42, .species = SPECIES_CHINCHOU, }, { - .iv = 0, .lvl = 40, .species = SPECIES_CARVANHA, } @@ -9330,12 +8824,10 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy2[] = { static const struct TrainerMonCustomized sParty_LilaAndRoy3[] = { { - .iv = 0, .lvl = 45, .species = SPECIES_LANTURN, }, { - .iv = 0, .lvl = 43, .species = SPECIES_CARVANHA, } @@ -9343,12 +8835,10 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy3[] = { static const struct TrainerMonCustomized sParty_LilaAndRoy4[] = { { - .iv = 0, .lvl = 48, .species = SPECIES_LANTURN, }, { - .iv = 0, .lvl = 46, .species = SPECIES_SHARPEDO, } @@ -9356,12 +8846,10 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy4[] = { static const struct TrainerMonCustomized sParty_LilaAndRoy5[] = { { - .iv = 0, .lvl = 51, .species = SPECIES_LANTURN, }, { - .iv = 0, .lvl = 49, .species = SPECIES_SHARPEDO, } @@ -9369,12 +8857,10 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy5[] = { static const struct TrainerMonCustomized sParty_LisaAndRay[] = { { - .iv = 0, .lvl = 27, .species = SPECIES_GOLDEEN, }, { - .iv = 0, .lvl = 25, .species = SPECIES_TENTACOOL, } @@ -9382,22 +8868,18 @@ static const struct TrainerMonCustomized sParty_LisaAndRay[] = { static const struct TrainerMonCustomized sParty_Chris[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MAGIKARP, }, { - .iv = 0, .lvl = 20, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 26, .species = SPECIES_FEEBAS, }, { - .iv = 0, .lvl = 23, .species = SPECIES_CARVANHA, } @@ -9405,13 +8887,11 @@ static const struct TrainerMonCustomized sParty_Chris[] = { static const struct TrainerMonCustomized sParty_Dawson[] = { { - .iv = 0, .lvl = 8, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET }, { - .iv = 0, .lvl = 8, .species = SPECIES_POOCHYENA, .heldItem = ITEM_NONE @@ -9420,13 +8900,11 @@ static const struct TrainerMonCustomized sParty_Dawson[] = { static const struct TrainerMonCustomized sParty_Sarah[] = { { - .iv = 0, .lvl = 8, .species = SPECIES_LOTAD, .heldItem = ITEM_NONE }, { - .iv = 0, .lvl = 8, .species = SPECIES_ZIGZAGOON, .heldItem = ITEM_NUGGET @@ -9435,7 +8913,6 @@ static const struct TrainerMonCustomized sParty_Sarah[] = { static const struct TrainerMonCustomized sParty_Darian[] = { { - .iv = 0, .lvl = 9, .species = SPECIES_MAGIKARP, } @@ -9443,7 +8920,6 @@ static const struct TrainerMonCustomized sParty_Darian[] = { static const struct TrainerMonCustomized sParty_Hailey[] = { { - .iv = 0, .lvl = 13, .species = SPECIES_MARILL, } @@ -9451,12 +8927,10 @@ static const struct TrainerMonCustomized sParty_Hailey[] = { static const struct TrainerMonCustomized sParty_Chandler[] = { { - .iv = 0, .lvl = 12, .species = SPECIES_TENTACOOL, }, { - .iv = 0, .lvl = 12, .species = SPECIES_TENTACOOL, } @@ -9464,13 +8938,11 @@ static const struct TrainerMonCustomized sParty_Chandler[] = { static const struct TrainerMonCustomized sParty_Kaleb[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_MINUN, .heldItem = ITEM_ORAN_BERRY }, { - .iv = 0, .lvl = 14, .species = SPECIES_PLUSLE, .heldItem = ITEM_ORAN_BERRY @@ -9479,12 +8951,10 @@ static const struct TrainerMonCustomized sParty_Kaleb[] = { static const struct TrainerMonCustomized sParty_Joseph[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_ELECTRIKE, }, { - .iv = 0, .lvl = 14, .species = SPECIES_VOLTORB, } @@ -9492,7 +8962,6 @@ static const struct TrainerMonCustomized sParty_Joseph[] = { static const struct TrainerMonCustomized sParty_Alyssa[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_MAGNEMITE, } @@ -9500,7 +8969,7 @@ static const struct TrainerMonCustomized sParty_Alyssa[] = { static const struct TrainerMonCustomized sParty_Marcos[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, .species = SPECIES_VOLTORB, } @@ -9508,7 +8977,7 @@ static const struct TrainerMonCustomized sParty_Marcos[] = { static const struct TrainerMonCustomized sParty_Rhett[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, .species = SPECIES_MAKUHITA, } @@ -9516,7 +8985,6 @@ static const struct TrainerMonCustomized sParty_Rhett[] = { static const struct TrainerMonCustomized sParty_Tyron[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_SANDSHREW, } @@ -9524,7 +8992,6 @@ static const struct TrainerMonCustomized sParty_Tyron[] = { static const struct TrainerMonCustomized sParty_Celina[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_ROSELIA, } @@ -9532,7 +8999,6 @@ static const struct TrainerMonCustomized sParty_Celina[] = { static const struct TrainerMonCustomized sParty_Bianca[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_SHROOMISH, } @@ -9540,7 +9006,6 @@ static const struct TrainerMonCustomized sParty_Bianca[] = { static const struct TrainerMonCustomized sParty_Hayden[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_NUMEL, } @@ -9548,12 +9013,10 @@ static const struct TrainerMonCustomized sParty_Hayden[] = { static const struct TrainerMonCustomized sParty_Sophie[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_MARILL, }, { - .iv = 0, .lvl = 19, .species = SPECIES_LOMBRE, } @@ -9561,12 +9024,10 @@ static const struct TrainerMonCustomized sParty_Sophie[] = { static const struct TrainerMonCustomized sParty_Coby[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_SKARMORY, }, { - .iv = 0, .lvl = 19, .species = SPECIES_SWELLOW, } @@ -9574,12 +9035,10 @@ static const struct TrainerMonCustomized sParty_Coby[] = { static const struct TrainerMonCustomized sParty_Lawrence[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_BALTOY, }, { - .iv = 0, .lvl = 18, .species = SPECIES_SANDSHREW, } @@ -9587,12 +9046,10 @@ static const struct TrainerMonCustomized sParty_Lawrence[] = { static const struct TrainerMonCustomized sParty_Wyatt[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_ARON, }, { - .iv = 0, .lvl = 18, .species = SPECIES_ARON, } @@ -9600,12 +9057,10 @@ static const struct TrainerMonCustomized sParty_Wyatt[] = { static const struct TrainerMonCustomized sParty_Angelina[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_LOMBRE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_MARILL, } @@ -9613,7 +9068,6 @@ static const struct TrainerMonCustomized sParty_Angelina[] = { static const struct TrainerMonCustomized sParty_Kai[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_BARBOACH, } @@ -9621,7 +9075,6 @@ static const struct TrainerMonCustomized sParty_Kai[] = { static const struct TrainerMonCustomized sParty_Charlotte[] = { { - .iv = 0, .lvl = 19, .species = SPECIES_NUZLEAF, } @@ -9629,17 +9082,14 @@ static const struct TrainerMonCustomized sParty_Charlotte[] = { static const struct TrainerMonCustomized sParty_Deandre[] = { { - .iv = 0, .lvl = 14, .species = SPECIES_ZIGZAGOON, }, { - .iv = 0, .lvl = 14, .species = SPECIES_ARON, }, { - .iv = 0, .lvl = 14, .species = SPECIES_ELECTRIKE, } @@ -9647,7 +9097,6 @@ static const struct TrainerMonCustomized sParty_Deandre[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout1[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ZUBAT, } @@ -9655,7 +9104,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout1[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout2[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_POOCHYENA, } @@ -9663,7 +9111,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout2[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout3[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_NUMEL, } @@ -9671,12 +9118,10 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout3[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout4[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_BALTOY, }, { - .iv = 0, .lvl = 28, .species = SPECIES_ZUBAT, } @@ -9684,12 +9129,10 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout4[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout5[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_BALTOY, }, { - .iv = 0, .lvl = 28, .species = SPECIES_NUMEL, } @@ -9697,7 +9140,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout5[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout6[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MIGHTYENA, } @@ -9705,7 +9147,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout6[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout7[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ZUBAT, } @@ -9713,7 +9154,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout7[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout8[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_POOCHYENA, } @@ -9721,7 +9161,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout8[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout9[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ZUBAT, } @@ -9729,7 +9168,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout9[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout10[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MIGHTYENA, } @@ -9737,7 +9175,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout10[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout11[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_BALTOY, } @@ -9745,7 +9182,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout11[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout12[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_NUMEL, } @@ -9753,7 +9189,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout12[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout13[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_ZUBAT, } @@ -9761,7 +9196,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout13[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout14[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_MIGHTYENA, } @@ -9769,7 +9203,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout14[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout15[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_NUMEL, } @@ -9777,7 +9210,6 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout15[] = { static const struct TrainerMonCustomized sParty_GruntMagmaHideout16[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_BALTOY, } @@ -9785,22 +9217,22 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout16[] = { static const struct TrainerMonCustomized sParty_TabithaMagmaHideout[] = { { - .iv = 75, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 26, .species = SPECIES_NUMEL, }, { - .iv = 75, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 28, .species = SPECIES_MIGHTYENA, }, { - .iv = 75, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 30, .species = SPECIES_ZUBAT, }, { - .iv = 75, + .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 33, .species = SPECIES_CAMERUPT, } @@ -9808,12 +9240,10 @@ static const struct TrainerMonCustomized sParty_TabithaMagmaHideout[] = { static const struct TrainerMonCustomized sParty_Darcy[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_PELIPPER, }, { - .iv = 0, .lvl = 33, .species = SPECIES_CAMERUPT, } @@ -9821,17 +9251,17 @@ static const struct TrainerMonCustomized sParty_Darcy[] = { static const struct TrainerMonCustomized sParty_MaxieMossdeep[] = { { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 42, .species = SPECIES_MIGHTYENA, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 43, .species = SPECIES_CROBAT, }, { - .iv = 150, + .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 44, .species = SPECIES_CAMERUPT, } @@ -9839,7 +9269,6 @@ static const struct TrainerMonCustomized sParty_MaxieMossdeep[] = { static const struct TrainerMonCustomized sParty_Pete[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_TENTACOOL, } @@ -9847,7 +9276,6 @@ static const struct TrainerMonCustomized sParty_Pete[] = { static const struct TrainerMonCustomized sParty_Isabelle[] = { { - .iv = 0, .lvl = 15, .species = SPECIES_MARILL, } @@ -9855,12 +9283,12 @@ static const struct TrainerMonCustomized sParty_Isabelle[] = { static const struct TrainerMonCustomized sParty_Andres1[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 25, .species = SPECIES_SANDSHREW, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 25, .species = SPECIES_SANDSHREW, } @@ -9868,12 +9296,12 @@ static const struct TrainerMonCustomized sParty_Andres1[] = { static const struct TrainerMonCustomized sParty_Josue[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 25, .species = SPECIES_TAILLOW, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 25, .species = SPECIES_WINGULL, } @@ -9881,7 +9309,6 @@ static const struct TrainerMonCustomized sParty_Josue[] = { static const struct TrainerMonCustomized sParty_Camron[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_STARYU, } @@ -9889,17 +9316,14 @@ static const struct TrainerMonCustomized sParty_Camron[] = { static const struct TrainerMonCustomized sParty_Cory1[] = { { - .iv = 0, .lvl = 24, .species = SPECIES_WINGULL, }, { - .iv = 0, .lvl = 24, .species = SPECIES_MACHOP, }, { - .iv = 0, .lvl = 24, .species = SPECIES_TENTACOOL, } @@ -9907,17 +9331,17 @@ static const struct TrainerMonCustomized sParty_Cory1[] = { static const struct TrainerMonCustomized sParty_Carolina[] = { { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 24, .species = SPECIES_MANECTRIC, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 24, .species = SPECIES_SWELLOW, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 24, .species = SPECIES_MANECTRIC, } @@ -9925,12 +9349,10 @@ static const struct TrainerMonCustomized sParty_Carolina[] = { static const struct TrainerMonCustomized sParty_Elijah[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_SKARMORY, }, { - .iv = 0, .lvl = 25, .species = SPECIES_SKARMORY, } @@ -9938,12 +9360,10 @@ static const struct TrainerMonCustomized sParty_Elijah[] = { static const struct TrainerMonCustomized sParty_Celia[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_MARILL, }, { - .iv = 0, .lvl = 22, .species = SPECIES_LOMBRE, } @@ -9951,12 +9371,10 @@ static const struct TrainerMonCustomized sParty_Celia[] = { static const struct TrainerMonCustomized sParty_Bryan[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_SANDSHREW, }, { - .iv = 0, .lvl = 22, .species = SPECIES_SANDSLASH, } @@ -9964,12 +9382,10 @@ static const struct TrainerMonCustomized sParty_Bryan[] = { static const struct TrainerMonCustomized sParty_Branden[] = { { - .iv = 0, .lvl = 22, .species = SPECIES_TAILLOW, }, { - .iv = 0, .lvl = 22, .species = SPECIES_NUZLEAF, } @@ -9977,12 +9393,10 @@ static const struct TrainerMonCustomized sParty_Branden[] = { static const struct TrainerMonCustomized sParty_Bryant[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_NUMEL, }, { - .iv = 0, .lvl = 18, .species = SPECIES_SLUGMA, } @@ -9990,12 +9404,10 @@ static const struct TrainerMonCustomized sParty_Bryant[] = { static const struct TrainerMonCustomized sParty_Shayla[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 18, .species = SPECIES_ROSELIA, } @@ -10003,12 +9415,10 @@ static const struct TrainerMonCustomized sParty_Shayla[] = { static const struct TrainerMonCustomized sParty_Kyra[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_DODUO, }, { - .iv = 0, .lvl = 26, .species = SPECIES_DODRIO, } @@ -10016,12 +9426,10 @@ static const struct TrainerMonCustomized sParty_Kyra[] = { static const struct TrainerMonCustomized sParty_Jaiden[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_NINJASK, }, { - .iv = 0, .lvl = 26, .species = SPECIES_GULPIN, } @@ -10029,12 +9437,10 @@ static const struct TrainerMonCustomized sParty_Jaiden[] = { static const struct TrainerMonCustomized sParty_Alix[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_KADABRA, }, { - .iv = 0, .lvl = 26, .species = SPECIES_KIRLIA, } @@ -10042,12 +9448,10 @@ static const struct TrainerMonCustomized sParty_Alix[] = { static const struct TrainerMonCustomized sParty_Helene[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MEDITITE, }, { - .iv = 0, .lvl = 26, .species = SPECIES_MAKUHITA, } @@ -10055,12 +9459,10 @@ static const struct TrainerMonCustomized sParty_Helene[] = { static const struct TrainerMonCustomized sParty_Marlene[] = { { - .iv = 0, .lvl = 18, .species = SPECIES_MEDITITE, }, { - .iv = 0, .lvl = 18, .species = SPECIES_SPOINK, } @@ -10068,12 +9470,10 @@ static const struct TrainerMonCustomized sParty_Marlene[] = { static const struct TrainerMonCustomized sParty_Devan[] = { { - .iv = 0, .lvl = 8, .species = SPECIES_GEODUDE, }, { - .iv = 0, .lvl = 8, .species = SPECIES_GEODUDE, } @@ -10081,12 +9481,10 @@ static const struct TrainerMonCustomized sParty_Devan[] = { static const struct TrainerMonCustomized sParty_Johnson[] = { { - .iv = 0, .lvl = 8, .species = SPECIES_SHROOMISH, }, { - .iv = 0, .lvl = 8, .species = SPECIES_LOTAD, } @@ -10094,7 +9492,6 @@ static const struct TrainerMonCustomized sParty_Johnson[] = { static const struct TrainerMonCustomized sParty_Melina[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_DODUO, } @@ -10102,7 +9499,6 @@ static const struct TrainerMonCustomized sParty_Melina[] = { static const struct TrainerMonCustomized sParty_Brandi[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_RALTS, } @@ -10110,7 +9506,6 @@ static const struct TrainerMonCustomized sParty_Brandi[] = { static const struct TrainerMonCustomized sParty_Aisha[] = { { - .iv = 0, .lvl = 17, .species = SPECIES_MEDITITE, } @@ -10118,12 +9513,10 @@ static const struct TrainerMonCustomized sParty_Aisha[] = { static const struct TrainerMonCustomized sParty_Makayla[] = { { - .iv = 0, .lvl = 33, .species = SPECIES_ROSELIA, }, { - .iv = 0, .lvl = 33, .species = SPECIES_MEDICHAM, } @@ -10131,7 +9524,6 @@ static const struct TrainerMonCustomized sParty_Makayla[] = { static const struct TrainerMonCustomized sParty_Fabian[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_MANECTRIC, } @@ -10139,12 +9531,10 @@ static const struct TrainerMonCustomized sParty_Fabian[] = { static const struct TrainerMonCustomized sParty_Dayton[] = { { - .iv = 0, .lvl = 25, .species = SPECIES_SLUGMA, }, { - .iv = 0, .lvl = 25, .species = SPECIES_NUMEL, } @@ -10152,7 +9542,6 @@ static const struct TrainerMonCustomized sParty_Dayton[] = { static const struct TrainerMonCustomized sParty_Rachel[] = { { - .iv = 0, .lvl = 26, .species = SPECIES_GOLDEEN, } @@ -10160,7 +9549,7 @@ static const struct TrainerMonCustomized sParty_Rachel[] = { static const struct TrainerMonCustomized sParty_Leonel[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 30, .species = SPECIES_MANECTRIC, .moves = {MOVE_THUNDER, MOVE_QUICK_ATTACK, MOVE_THUNDER_WAVE, MOVE_NONE} @@ -10169,12 +9558,10 @@ static const struct TrainerMonCustomized sParty_Leonel[] = { static const struct TrainerMonCustomized sParty_Callie[] = { { - .iv = 0, .lvl = 28, .species = SPECIES_MEDITITE, }, { - .iv = 0, .lvl = 28, .species = SPECIES_MAKUHITA, } @@ -10182,12 +9569,10 @@ static const struct TrainerMonCustomized sParty_Callie[] = { static const struct TrainerMonCustomized sParty_Cale[] = { { - .iv = 0, .lvl = 29, .species = SPECIES_DUSTOX, }, { - .iv = 0, .lvl = 29, .species = SPECIES_BEAUTIFLY, } @@ -10195,32 +9580,32 @@ static const struct TrainerMonCustomized sParty_Cale[] = { static const struct TrainerMonCustomized sParty_Myles[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_MAKUHITA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_WINGULL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_TROPIUS, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_ZIGZAGOON, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_ELECTRIKE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_NUMEL, } @@ -10228,32 +9613,32 @@ static const struct TrainerMonCustomized sParty_Myles[] = { static const struct TrainerMonCustomized sParty_Pat[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_POOCHYENA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_SHROOMISH, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_ELECTRIKE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_MARILL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_SANDSHREW, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, .species = SPECIES_GULPIN, } @@ -10261,12 +9646,12 @@ static const struct TrainerMonCustomized sParty_Pat[] = { static const struct TrainerMonCustomized sParty_Cristin1[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_LOUDRED, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, .species = SPECIES_VIGOROTH, } @@ -10274,12 +9659,12 @@ static const struct TrainerMonCustomized sParty_Cristin1[] = { static const struct TrainerMonCustomized sParty_MayRustboroTreecko[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, .species = SPECIES_LOTAD, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_TORCHIC, } @@ -10287,12 +9672,12 @@ static const struct TrainerMonCustomized sParty_MayRustboroTreecko[] = { static const struct TrainerMonCustomized sParty_MayRustboroTorchic[] = { { - .iv = 25, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, .species = SPECIES_TORKOAL, }, { - .iv = 50, + .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 15, .species = SPECIES_MUDKIP, } @@ -10300,28 +9685,28 @@ static const struct TrainerMonCustomized sParty_MayRustboroTorchic[] = { static const struct TrainerMonCustomized sParty_Roxanne2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 32, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 35, .species = SPECIES_KABUTO, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 35, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 37, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, @@ -10331,35 +9716,35 @@ static const struct TrainerMonCustomized sParty_Roxanne2[] = { static const struct TrainerMonCustomized sParty_Roxanne3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 37, .species = SPECIES_OMANYTE, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 37, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_MAGNITUDE, MOVE_EXPLOSION} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, @@ -10369,35 +9754,35 @@ static const struct TrainerMonCustomized sParty_Roxanne3[] = { static const struct TrainerMonCustomized sParty_Roxanne4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, .species = SPECIES_OMASTAR, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_ONIX, .heldItem = ITEM_NONE, .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, @@ -10407,42 +9792,42 @@ static const struct TrainerMonCustomized sParty_Roxanne4[] = { static const struct TrainerMonCustomized sParty_Roxanne5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_AERODACTYL, .heldItem = ITEM_NONE, .moves = {MOVE_ROCK_SLIDE, MOVE_HYPER_BEAM, MOVE_SUPERSONIC, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_GOLEM, .heldItem = ITEM_NONE, .moves = {MOVE_FOCUS_PUNCH, MOVE_ROLLOUT, MOVE_EARTHQUAKE, MOVE_EXPLOSION} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_OMASTAR, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_ICE_BEAM, MOVE_ROCK_SLIDE, MOVE_SURF} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_KABUTOPS, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SWORDS_DANCE, MOVE_ICE_BEAM, MOVE_SURF, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_STEELIX, .heldItem = ITEM_NONE, .moves = {MOVE_IRON_TAIL, MOVE_EXPLOSION, MOVE_ROAR, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 52, .species = SPECIES_NOSEPASS, .heldItem = ITEM_SITRUS_BERRY, @@ -10452,28 +9837,28 @@ static const struct TrainerMonCustomized sParty_Roxanne5[] = { static const struct TrainerMonCustomized sParty_Brawly2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 33, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 33, .species = SPECIES_MEDITITE, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 35, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 37, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, @@ -10483,28 +9868,28 @@ static const struct TrainerMonCustomized sParty_Brawly2[] = { static const struct TrainerMonCustomized sParty_Brawly3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, .moves = {MOVE_PSYCHIC, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_FOCUS_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, @@ -10514,35 +9899,35 @@ static const struct TrainerMonCustomized sParty_Brawly3[] = { static const struct TrainerMonCustomized sParty_Brawly4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_KARATE_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, @@ -10552,42 +9937,42 @@ static const struct TrainerMonCustomized sParty_Brawly4[] = { static const struct TrainerMonCustomized sParty_Brawly5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_HITMONLEE, .heldItem = ITEM_NONE, .moves = {MOVE_MEGA_KICK, MOVE_FOCUS_PUNCH, MOVE_EARTHQUAKE, MOVE_BULK_UP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_HITMONCHAN, .heldItem = ITEM_NONE, .moves = {MOVE_SKY_UPPERCUT, MOVE_PROTECT, MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_MACHAMP, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_CROSS_CHOP, MOVE_ROCK_SLIDE, MOVE_FOCUS_PUNCH, MOVE_BULK_UP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_MEDICHAM, .heldItem = ITEM_NONE, .moves = {MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, MOVE_REFLECT, MOVE_PSYCHIC} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_HITMONTOP, .heldItem = ITEM_NONE, .moves = {MOVE_PURSUIT, MOVE_COUNTER, MOVE_PROTECT, MOVE_TRIPLE_KICK} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 52, .species = SPECIES_HARIYAMA, .heldItem = ITEM_SITRUS_BERRY, @@ -10597,28 +9982,28 @@ static const struct TrainerMonCustomized sParty_Brawly5[] = { static const struct TrainerMonCustomized sParty_Wattson2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 36, .species = SPECIES_MAREEP, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 36, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, @@ -10628,35 +10013,35 @@ static const struct TrainerMonCustomized sParty_Wattson2[] = { static const struct TrainerMonCustomized sParty_Wattson3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 39, .species = SPECIES_PIKACHU, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_SHOCK_WAVE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 41, .species = SPECIES_FLAAFFY, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 41, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, @@ -10666,35 +10051,35 @@ static const struct TrainerMonCustomized sParty_Wattson3[] = { static const struct TrainerMonCustomized sParty_Wattson4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 44, .species = SPECIES_RAICHU, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_AMPHAROS, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, @@ -10704,42 +10089,42 @@ static const struct TrainerMonCustomized sParty_Wattson4[] = { static const struct TrainerMonCustomized sParty_Wattson5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_ELECTABUZZ, .heldItem = ITEM_NONE, .moves = {MOVE_SWIFT, MOVE_FOCUS_PUNCH, MOVE_THUNDER_PUNCH, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_RAICHU, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_SLAM, MOVE_RAIN_DANCE, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_AMPHAROS, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_PROTECT, MOVE_THUNDER_WAVE, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_ELECTRODE, .heldItem = ITEM_NONE, .moves = {MOVE_ROLLOUT, MOVE_THUNDER, MOVE_EXPLOSION, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_MAGNETON, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_THUNDER, MOVE_RAIN_DANCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_MANECTRIC, .heldItem = ITEM_SITRUS_BERRY, @@ -10749,28 +10134,28 @@ static const struct TrainerMonCustomized sParty_Wattson5[] = { static const struct TrainerMonCustomized sParty_Flannery2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 36, .species = SPECIES_PONYTA, .heldItem = ITEM_NONE, .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, @@ -10780,35 +10165,35 @@ static const struct TrainerMonCustomized sParty_Flannery2[] = { static const struct TrainerMonCustomized sParty_Flannery3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 41, .species = SPECIES_GROWLITHE, .heldItem = ITEM_NONE, .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_ROAR, MOVE_SUNNY_DAY} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 41, .species = SPECIES_PONYTA, .heldItem = ITEM_NONE, .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, @@ -10818,42 +10203,42 @@ static const struct TrainerMonCustomized sParty_Flannery3[] = { static const struct TrainerMonCustomized sParty_Flannery4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_HOUNDOUR, .heldItem = ITEM_NONE, .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_GROWLITHE, .heldItem = ITEM_NONE, .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_RAPIDASH, .heldItem = ITEM_NONE, .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, @@ -10863,42 +10248,42 @@ static const struct TrainerMonCustomized sParty_Flannery4[] = { static const struct TrainerMonCustomized sParty_Flannery5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_ARCANINE, .heldItem = ITEM_NONE, .moves = {MOVE_HELPING_HAND, MOVE_FLAMETHROWER, MOVE_SUNNY_DAY, MOVE_ROAR} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_MAGCARGO, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_ATTRACT, MOVE_LIGHT_SCREEN, MOVE_ROCK_SLIDE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_HOUNDOOM, .heldItem = ITEM_NONE, .moves = {MOVE_ROAR, MOVE_SOLAR_BEAM, MOVE_TAUNT, MOVE_SUNNY_DAY} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_RAPIDASH, .heldItem = ITEM_NONE, .moves = {MOVE_FLAMETHROWER, MOVE_ATTRACT, MOVE_SOLAR_BEAM, MOVE_BOUNCE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_CAMERUPT, .heldItem = ITEM_WHITE_HERB, .moves = {MOVE_OVERHEAT, MOVE_SUNNY_DAY, MOVE_EARTHQUAKE, MOVE_ATTRACT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_TORKOAL, .heldItem = ITEM_WHITE_HERB, @@ -10908,28 +10293,28 @@ static const struct TrainerMonCustomized sParty_Flannery5[] = { static const struct TrainerMonCustomized sParty_Norman2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, .species = SPECIES_CHANSEY, .heldItem = ITEM_NONE, .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, @@ -10939,35 +10324,35 @@ static const struct TrainerMonCustomized sParty_Norman2[] = { static const struct TrainerMonCustomized sParty_Norman3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, .species = SPECIES_CHANSEY, .heldItem = ITEM_NONE, .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, @@ -10977,35 +10362,35 @@ static const struct TrainerMonCustomized sParty_Norman3[] = { static const struct TrainerMonCustomized sParty_Norman4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 52, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 52, .species = SPECIES_BLISSEY, .heldItem = ITEM_NONE, .moves = {MOVE_LIGHT_SCREEN, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, @@ -11015,42 +10400,42 @@ static const struct TrainerMonCustomized sParty_Norman4[] = { static const struct TrainerMonCustomized sParty_Norman5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_BLIZZARD, MOVE_SHADOW_BALL, MOVE_DOUBLE_EDGE, MOVE_FIRE_BLAST} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_BLISSEY, .heldItem = ITEM_NONE, .moves = {MOVE_PROTECT, MOVE_SING, MOVE_SKILL_SWAP, MOVE_FOCUS_PUNCH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_KANGASKHAN, .heldItem = ITEM_NONE, .moves = {MOVE_FAKE_OUT, MOVE_DIZZY_PUNCH, MOVE_ENDURE, MOVE_REVERSAL} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, .species = SPECIES_TAUROS, .heldItem = ITEM_NONE, .moves = {MOVE_TAKE_DOWN, MOVE_PROTECT, MOVE_FIRE_BLAST, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_SPINDA, .heldItem = ITEM_NONE, .moves = {MOVE_TEETER_DANCE, MOVE_SKILL_SWAP, MOVE_FACADE, MOVE_HYPNOSIS} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 60, .species = SPECIES_SLAKING, .heldItem = ITEM_SITRUS_BERRY, @@ -11060,35 +10445,35 @@ static const struct TrainerMonCustomized sParty_Norman5[] = { static const struct TrainerMonCustomized sParty_Winona2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, .species = SPECIES_DRATINI, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 41, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, @@ -11098,42 +10483,42 @@ static const struct TrainerMonCustomized sParty_Winona2[] = { static const struct TrainerMonCustomized sParty_Winona3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_HOOTHOOT, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 45, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, @@ -11143,42 +10528,42 @@ static const struct TrainerMonCustomized sParty_Winona3[] = { static const struct TrainerMonCustomized sParty_Winona4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_NOCTOWL, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 49, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_DRAGONAIR, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_THUNDER_WAVE, MOVE_THUNDERBOLT, MOVE_PROTECT, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, @@ -11188,42 +10573,42 @@ static const struct TrainerMonCustomized sParty_Winona4[] = { static const struct TrainerMonCustomized sParty_Winona5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_NOCTOWL, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_DREAM_EATER} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 54, .species = SPECIES_TROPIUS, .heldItem = ITEM_NONE, .moves = {MOVE_SUNNY_DAY, MOVE_AERIAL_ACE, MOVE_SOLAR_BEAM, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_PELIPPER, .heldItem = ITEM_NONE, .moves = {MOVE_SURF, MOVE_SUPERSONIC, MOVE_PROTECT, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_DRAGONITE, .heldItem = ITEM_SITRUS_BERRY, .moves = {MOVE_HYPER_BEAM, MOVE_THUNDERBOLT, MOVE_EARTHQUAKE, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, .moves = {MOVE_WHIRLWIND, MOVE_SPIKES, MOVE_STEEL_WING, MOVE_AERIAL_ACE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 60, .species = SPECIES_ALTARIA, .heldItem = ITEM_CHESTO_BERRY, @@ -11233,35 +10618,35 @@ static const struct TrainerMonCustomized sParty_Winona5[] = { static const struct TrainerMonCustomized sParty_TateAndLiza2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 49, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_ANCIENT_POWER, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 49, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, @@ -11271,42 +10656,42 @@ static const struct TrainerMonCustomized sParty_TateAndLiza2[] = { static const struct TrainerMonCustomized sParty_TateAndLiza3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_DROWZEE, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 54, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 54, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 55, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, @@ -11316,42 +10701,42 @@ static const struct TrainerMonCustomized sParty_TateAndLiza3[] = { static const struct TrainerMonCustomized sParty_TateAndLiza4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_HYPNO, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_SLOWPOKE, .heldItem = ITEM_NONE, .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 59, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 60, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 60, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, @@ -11361,42 +10746,42 @@ static const struct TrainerMonCustomized sParty_TateAndLiza4[] = { static const struct TrainerMonCustomized sParty_TateAndLiza5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_HYPNO, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_DREAM_EATER, MOVE_HEADBUTT, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 64, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_EARTHQUAKE, MOVE_EXPLOSION, MOVE_PSYCHIC, MOVE_LIGHT_SCREEN} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_SLOWKING, .heldItem = ITEM_NONE, .moves = {MOVE_YAWN, MOVE_PSYCHIC, MOVE_CALM_MIND, MOVE_PROTECT} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 64, .species = SPECIES_XATU, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_PSYCHIC, MOVE_REST, MOVE_CONFUSE_RAY, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 65, .species = SPECIES_LUNATONE, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_EARTHQUAKE, MOVE_PSYCHIC, MOVE_REST, MOVE_CALM_MIND} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 65, .species = SPECIES_SOLROCK, .heldItem = ITEM_SITRUS_BERRY, @@ -11406,35 +10791,35 @@ static const struct TrainerMonCustomized sParty_TateAndLiza5[] = { static const struct TrainerMonCustomized sParty_Juan2[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_POLIWAG, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_REST, MOVE_CRABHAMMER, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, @@ -11444,35 +10829,35 @@ static const struct TrainerMonCustomized sParty_Juan2[] = { static const struct TrainerMonCustomized sParty_Juan3[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, .species = SPECIES_POLIWHIRL, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, @@ -11482,42 +10867,42 @@ static const struct TrainerMonCustomized sParty_Juan3[] = { static const struct TrainerMonCustomized sParty_Juan4[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, .species = SPECIES_LAPRAS, .heldItem = ITEM_NONE, .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, .species = SPECIES_POLIWHIRL, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_PROTECT, MOVE_HYDRO_PUMP} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ICE_BEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, @@ -11527,42 +10912,42 @@ static const struct TrainerMonCustomized sParty_Juan4[] = { static const struct TrainerMonCustomized sParty_Juan5[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, .species = SPECIES_LAPRAS, .heldItem = ITEM_NONE, .moves = {MOVE_HYDRO_PUMP, MOVE_PERISH_SONG, MOVE_ICE_BEAM, MOVE_CONFUSE_RAY} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_WHISCASH, .heldItem = ITEM_NONE, .moves = {MOVE_RAIN_DANCE, MOVE_WATER_PULSE, MOVE_DOUBLE_TEAM, MOVE_FISSURE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, .species = SPECIES_POLITOED, .heldItem = ITEM_NONE, .moves = {MOVE_HYPNOSIS, MOVE_RAIN_DANCE, MOVE_HYDRO_PUMP, MOVE_PERISH_SONG} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_WALREIN, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_SHEER_COLD} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, .species = SPECIES_CRAWDAUNT, .heldItem = ITEM_CHESTO_BERRY, .moves = {MOVE_REST, MOVE_GUILLOTINE, MOVE_TAUNT, MOVE_DOUBLE_TEAM} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 66, .species = SPECIES_KINGDRA, .heldItem = ITEM_CHESTO_BERRY, @@ -11572,14 +10957,14 @@ static const struct TrainerMonCustomized sParty_Juan5[] = { static const struct TrainerMonCustomized sParty_Angelo[] = { { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_ILLUMISE, .heldItem = ITEM_NONE, .moves = {MOVE_SHOCK_WAVE, MOVE_QUICK_ATTACK, MOVE_CHARM, MOVE_NONE} }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, .species = SPECIES_VOLBEAT, .heldItem = ITEM_NONE, @@ -11589,7 +10974,7 @@ static const struct TrainerMonCustomized sParty_Angelo[] = { static const struct TrainerMonCustomized sParty_Darius[] = { { - .iv = 200, + .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 30, .species = SPECIES_TROPIUS, } @@ -11597,42 +10982,42 @@ static const struct TrainerMonCustomized sParty_Darius[] = { static const struct TrainerMonCustomized sParty_Steven[] = { { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 77, .species = SPECIES_SKARMORY, .heldItem = ITEM_NONE, .moves = {MOVE_TOXIC, MOVE_AERIAL_ACE, MOVE_SPIKES, MOVE_STEEL_WING} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 75, .species = SPECIES_CLAYDOL, .heldItem = ITEM_NONE, .moves = {MOVE_REFLECT, MOVE_LIGHT_SCREEN, MOVE_ANCIENT_POWER, MOVE_EARTHQUAKE} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 76, .species = SPECIES_AGGRON, .heldItem = ITEM_NONE, .moves = {MOVE_THUNDER, MOVE_EARTHQUAKE, MOVE_SOLAR_BEAM, MOVE_DRAGON_CLAW} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 76, .species = SPECIES_CRADILY, .heldItem = ITEM_NONE, .moves = {MOVE_GIGA_DRAIN, MOVE_ANCIENT_POWER, MOVE_INGRAIN, MOVE_CONFUSE_RAY} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 76, .species = SPECIES_ARMALDO, .heldItem = ITEM_NONE, .moves = {MOVE_WATER_PULSE, MOVE_ANCIENT_POWER, MOVE_AERIAL_ACE, MOVE_SLASH} }, { - .iv = 255, + .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 78, .species = SPECIES_METAGROSS, .heldItem = ITEM_SITRUS_BERRY, @@ -11642,7 +11027,6 @@ static const struct TrainerMonCustomized sParty_Steven[] = { static const struct TrainerMonCustomized sParty_Anabel[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11650,7 +11034,6 @@ static const struct TrainerMonCustomized sParty_Anabel[] = { static const struct TrainerMonCustomized sParty_Tucker[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11658,7 +11041,6 @@ static const struct TrainerMonCustomized sParty_Tucker[] = { static const struct TrainerMonCustomized sParty_Spenser[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11666,7 +11048,6 @@ static const struct TrainerMonCustomized sParty_Spenser[] = { static const struct TrainerMonCustomized sParty_Greta[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11674,7 +11055,6 @@ static const struct TrainerMonCustomized sParty_Greta[] = { static const struct TrainerMonCustomized sParty_Noland[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11682,7 +11062,6 @@ static const struct TrainerMonCustomized sParty_Noland[] = { static const struct TrainerMonCustomized sParty_Lucy[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11690,7 +11069,6 @@ static const struct TrainerMonCustomized sParty_Lucy[] = { static const struct TrainerMonCustomized sParty_Brandon[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BELDUM, } @@ -11698,12 +11076,12 @@ static const struct TrainerMonCustomized sParty_Brandon[] = { static const struct TrainerMonCustomized sParty_Andres2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SANDSHREW, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SANDSHREW, } @@ -11711,17 +11089,17 @@ static const struct TrainerMonCustomized sParty_Andres2[] = { static const struct TrainerMonCustomized sParty_Andres3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_NOSEPASS, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_SANDSHREW, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_SANDSHREW, } @@ -11729,17 +11107,17 @@ static const struct TrainerMonCustomized sParty_Andres3[] = { static const struct TrainerMonCustomized sParty_Andres4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_NOSEPASS, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_SANDSHREW, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_SANDSHREW, } @@ -11747,17 +11125,17 @@ static const struct TrainerMonCustomized sParty_Andres4[] = { static const struct TrainerMonCustomized sParty_Andres5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_NOSEPASS, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_SANDSLASH, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_SANDSLASH, } @@ -11765,17 +11143,17 @@ static const struct TrainerMonCustomized sParty_Andres5[] = { static const struct TrainerMonCustomized sParty_Cory2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_WINGULL, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_MACHOP, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, .species = SPECIES_TENTACOOL, } @@ -11783,17 +11161,17 @@ static const struct TrainerMonCustomized sParty_Cory2[] = { static const struct TrainerMonCustomized sParty_Cory3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 32, .species = SPECIES_PELIPPER, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 32, .species = SPECIES_MACHOP, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 32, .species = SPECIES_TENTACOOL, } @@ -11801,17 +11179,17 @@ static const struct TrainerMonCustomized sParty_Cory3[] = { static const struct TrainerMonCustomized sParty_Cory4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_PELIPPER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_MACHOP, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, .species = SPECIES_TENTACRUEL, } @@ -11819,17 +11197,17 @@ static const struct TrainerMonCustomized sParty_Cory4[] = { static const struct TrainerMonCustomized sParty_Cory5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_PELIPPER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_MACHOKE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, .species = SPECIES_TENTACRUEL, } @@ -11837,12 +11215,12 @@ static const struct TrainerMonCustomized sParty_Cory5[] = { static const struct TrainerMonCustomized sParty_Pablo2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 37, .species = SPECIES_STARYU, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 37, .species = SPECIES_STARYU, } @@ -11850,17 +11228,17 @@ static const struct TrainerMonCustomized sParty_Pablo2[] = { static const struct TrainerMonCustomized sParty_Pablo3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_WINGULL, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_STARYU, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_STARYU, } @@ -11868,17 +11246,17 @@ static const struct TrainerMonCustomized sParty_Pablo3[] = { static const struct TrainerMonCustomized sParty_Pablo4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_PELIPPER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_STARYU, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_STARYU, } @@ -11886,17 +11264,17 @@ static const struct TrainerMonCustomized sParty_Pablo4[] = { static const struct TrainerMonCustomized sParty_Pablo5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_PELIPPER, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_STARMIE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_STARMIE, } @@ -11904,12 +11282,12 @@ static const struct TrainerMonCustomized sParty_Pablo5[] = { static const struct TrainerMonCustomized sParty_Koji2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 37, .species = SPECIES_MACHOKE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 37, .species = SPECIES_MACHOKE, } @@ -11917,17 +11295,17 @@ static const struct TrainerMonCustomized sParty_Koji2[] = { static const struct TrainerMonCustomized sParty_Koji3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_MAKUHITA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_MACHOKE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, .species = SPECIES_MACHOKE, } @@ -11935,17 +11313,17 @@ static const struct TrainerMonCustomized sParty_Koji3[] = { static const struct TrainerMonCustomized sParty_Koji4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_HARIYAMA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_MACHOKE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, .species = SPECIES_MACHOKE, } @@ -11953,17 +11331,17 @@ static const struct TrainerMonCustomized sParty_Koji4[] = { static const struct TrainerMonCustomized sParty_Koji5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_HARIYAMA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_MACHAMP, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, .species = SPECIES_MACHAMP, } @@ -11971,12 +11349,12 @@ static const struct TrainerMonCustomized sParty_Koji5[] = { static const struct TrainerMonCustomized sParty_Cristin2[] = { { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 35, .species = SPECIES_LOUDRED, }, { - .iv = 110, + .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 35, .species = SPECIES_VIGOROTH, } @@ -11984,17 +11362,17 @@ static const struct TrainerMonCustomized sParty_Cristin2[] = { static const struct TrainerMonCustomized sParty_Cristin3[] = { { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 37, .species = SPECIES_SPINDA, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 37, .species = SPECIES_LOUDRED, }, { - .iv = 120, + .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 37, .species = SPECIES_VIGOROTH, } @@ -12002,17 +11380,17 @@ static const struct TrainerMonCustomized sParty_Cristin3[] = { static const struct TrainerMonCustomized sParty_Cristin4[] = { { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 39, .species = SPECIES_SPINDA, }, { - .iv = 130, + .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 39, .species = SPECIES_LOUDRED, }, { - .iv = 100, + .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, .species = SPECIES_VIGOROTH, } @@ -12020,17 +11398,17 @@ static const struct TrainerMonCustomized sParty_Cristin4[] = { static const struct TrainerMonCustomized sParty_Cristin5[] = { { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 41, .species = SPECIES_SPINDA, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 41, .species = SPECIES_EXPLOUD, }, { - .iv = 140, + .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 41, .species = SPECIES_SLAKING, } @@ -12038,17 +11416,17 @@ static const struct TrainerMonCustomized sParty_Cristin5[] = { static const struct TrainerMonCustomized sParty_Fernando2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, .species = SPECIES_ELECTRIKE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, .species = SPECIES_ELECTRIKE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, .species = SPECIES_LOUDRED, } @@ -12056,17 +11434,17 @@ static const struct TrainerMonCustomized sParty_Fernando2[] = { static const struct TrainerMonCustomized sParty_Fernando3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, .species = SPECIES_ELECTRIKE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, .species = SPECIES_MANECTRIC, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, .species = SPECIES_LOUDRED, } @@ -12074,17 +11452,17 @@ static const struct TrainerMonCustomized sParty_Fernando3[] = { static const struct TrainerMonCustomized sParty_Fernando4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, .species = SPECIES_MANECTRIC, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, .species = SPECIES_MANECTRIC, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, .species = SPECIES_LOUDRED, } @@ -12092,17 +11470,17 @@ static const struct TrainerMonCustomized sParty_Fernando4[] = { static const struct TrainerMonCustomized sParty_Fernando5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_MANECTRIC, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_MANECTRIC, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, .species = SPECIES_EXPLOUD, } @@ -12110,12 +11488,12 @@ static const struct TrainerMonCustomized sParty_Fernando5[] = { static const struct TrainerMonCustomized sParty_Sawyer2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_GEODUDE, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, .species = SPECIES_NUMEL, } @@ -12123,17 +11501,17 @@ static const struct TrainerMonCustomized sParty_Sawyer2[] = { static const struct TrainerMonCustomized sParty_Sawyer3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_MACHOP, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_NUMEL, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, .species = SPECIES_GRAVELER, } @@ -12141,17 +11519,17 @@ static const struct TrainerMonCustomized sParty_Sawyer3[] = { static const struct TrainerMonCustomized sParty_Sawyer4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_MACHOP, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_NUMEL, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, .species = SPECIES_GRAVELER, } @@ -12159,17 +11537,17 @@ static const struct TrainerMonCustomized sParty_Sawyer4[] = { static const struct TrainerMonCustomized sParty_Sawyer5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_MACHOKE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_CAMERUPT, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, .species = SPECIES_GOLEM, } @@ -12177,32 +11555,32 @@ static const struct TrainerMonCustomized sParty_Sawyer5[] = { static const struct TrainerMonCustomized sParty_Gabrielle2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SKITTY, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_MIGHTYENA, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_ZIGZAGOON, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_LOTAD, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_SEEDOT, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, .species = SPECIES_TAILLOW, } @@ -12210,32 +11588,32 @@ static const struct TrainerMonCustomized sParty_Gabrielle2[] = { static const struct TrainerMonCustomized sParty_Gabrielle3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_SKITTY, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_MIGHTYENA, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_LINOONE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_LOMBRE, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_NUZLEAF, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, .species = SPECIES_TAILLOW, } @@ -12243,32 +11621,32 @@ static const struct TrainerMonCustomized sParty_Gabrielle3[] = { static const struct TrainerMonCustomized sParty_Gabrielle4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_DELCATTY, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_MIGHTYENA, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_LINOONE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_LOMBRE, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_NUZLEAF, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, .species = SPECIES_SWELLOW, } @@ -12276,32 +11654,32 @@ static const struct TrainerMonCustomized sParty_Gabrielle4[] = { static const struct TrainerMonCustomized sParty_Gabrielle5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_DELCATTY, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_MIGHTYENA, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_LINOONE, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_LUDICOLO, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_SHIFTRY, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, .species = SPECIES_SWELLOW, } @@ -12309,12 +11687,12 @@ static const struct TrainerMonCustomized sParty_Gabrielle5[] = { static const struct TrainerMonCustomized sParty_Thalia2[] = { { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, .species = SPECIES_WAILMER, }, { - .iv = 10, + .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, .species = SPECIES_HORSEA, } @@ -12322,17 +11700,17 @@ static const struct TrainerMonCustomized sParty_Thalia2[] = { static const struct TrainerMonCustomized sParty_Thalia3[] = { { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, .species = SPECIES_LUVDISC, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, .species = SPECIES_WAILMER, }, { - .iv = 20, + .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, .species = SPECIES_SEADRA, } @@ -12340,17 +11718,17 @@ static const struct TrainerMonCustomized sParty_Thalia3[] = { static const struct TrainerMonCustomized sParty_Thalia4[] = { { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, .species = SPECIES_LUVDISC, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, .species = SPECIES_WAILMER, }, { - .iv = 30, + .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, .species = SPECIES_SEADRA, } @@ -12358,17 +11736,17 @@ static const struct TrainerMonCustomized sParty_Thalia4[] = { static const struct TrainerMonCustomized sParty_Thalia5[] = { { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, .species = SPECIES_LUVDISC, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, .species = SPECIES_WAILORD, }, { - .iv = 40, + .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, .species = SPECIES_KINGDRA, } @@ -12376,7 +11754,6 @@ static const struct TrainerMonCustomized sParty_Thalia5[] = { static const struct TrainerMonCustomized sParty_Mariela[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_CHIMECHO, } @@ -12384,12 +11761,10 @@ static const struct TrainerMonCustomized sParty_Mariela[] = { static const struct TrainerMonCustomized sParty_Alvaro[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_BANETTE, }, { - .iv = 0, .lvl = 41, .species = SPECIES_KADABRA, } @@ -12397,7 +11772,6 @@ static const struct TrainerMonCustomized sParty_Alvaro[] = { static const struct TrainerMonCustomized sParty_Everett[] = { { - .iv = 0, .lvl = 41, .species = SPECIES_WOBBUFFET, } @@ -12405,7 +11779,6 @@ static const struct TrainerMonCustomized sParty_Everett[] = { static const struct TrainerMonCustomized sParty_Red[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_CHARMANDER, } @@ -12413,7 +11786,6 @@ static const struct TrainerMonCustomized sParty_Red[] = { static const struct TrainerMonCustomized sParty_Leaf[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_BULBASAUR, } @@ -12421,7 +11793,6 @@ static const struct TrainerMonCustomized sParty_Leaf[] = { static const struct TrainerMonCustomized sParty_BrendanLinkPlaceholder[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_GROUDON, } @@ -12429,7 +11800,6 @@ static const struct TrainerMonCustomized sParty_BrendanLinkPlaceholder[] = { static const struct TrainerMonCustomized sParty_MayLinkPlaceholder[] = { { - .iv = 0, .lvl = 5, .species = SPECIES_KYOGRE, } From eab4e32e2a5956633d04baef1e524ba66f90610f Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Wed, 5 Jul 2023 18:46:40 +0100 Subject: [PATCH 051/256] Shuffle implementation (#3097) --- include/random.h | 16 ++++++++++++++++ src/random.c | 42 ++++++++++++++++++++++++++++++++++++++++++ test/random.c | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+) diff --git a/include/random.h b/include/random.h index 5b88db1f58..86995e36ca 100644 --- a/include/random.h +++ b/include/random.h @@ -20,6 +20,22 @@ u16 Random2(void); void SeedRng(u16 seed); void SeedRng2(u16 seed); +void Shuffle8(void *data, size_t n); +void Shuffle16(void *data, size_t n); +void Shuffle32(void *data, size_t n); +void ShuffleN(void *data, size_t n, size_t size); + +static inline void Shuffle(void *data, size_t n, size_t size) +{ + switch (size) + { + case 1: Shuffle8(data, n); break; + case 2: Shuffle16(data, n); break; + case 4: Shuffle32(data, n); break; + default: ShuffleN(data, n, size); break; + } +} + /* Structured random number generator. * Instead of the caller converting bits from Random() to a meaningful * value, the caller provides metadata that is used to return the diff --git a/src/random.c b/src/random.c index 14983e7764..345d585c2a 100644 --- a/src/random.c +++ b/src/random.c @@ -32,6 +32,48 @@ u16 Random2(void) return gRng2Value >> 16; } +#define SHUFFLE_IMPL \ + u32 tmp; \ + --n; \ + while (n > 1) \ + { \ + int j = Random() % (n+1); \ + SWAP(data[n], data[j], tmp); \ + --n; \ + } + +void Shuffle8(void *data_, size_t n) +{ + u8 *data = data_; + SHUFFLE_IMPL; +} + +void Shuffle16(void *data_, size_t n) +{ + u16 *data = data_; + SHUFFLE_IMPL; +} + +void Shuffle32(void *data_, size_t n) +{ + u32 *data = data_; + SHUFFLE_IMPL; +} + +void ShuffleN(void *data, size_t n, size_t size) +{ + void *tmp = alloca(size); + --n; + while (n > 1) + { + int j = Random() % (n+1); + memcpy(tmp, (u8 *)data + n*size, size); // tmp = data[n]; + memcpy((u8 *)data + n*size, (u8 *)data + j*size, size); // data[n] = data[j]; + memcpy((u8 *)data + j*size, tmp, size); // data[j] = tmp; + --n; + } +} + __attribute__((weak, alias("RandomUniformDefault"))) u32 RandomUniform(enum RandomTag tag, u32 lo, u32 hi); diff --git a/test/random.c b/test/random.c index 39f587c062..ef364de276 100644 --- a/test/random.c +++ b/test/random.c @@ -2,6 +2,47 @@ #include "test.h" #include "random.h" +// We expect each element to have an indexSum of 3.5 * 1024. +// Therefore the maximum error is 8*3584, or 28672. +#define SHUFFLE_TEST_IMPL \ + u32 i, j, error; \ + u16 indexSum[7]; \ + memset(indexSum, 0, sizeof(indexSum)); \ + for (i = 0; i < 1024; i++) \ + { \ + Shuffle(array, ARRAY_COUNT(array), sizeof(array[0])); \ + for (j = 0; j < ARRAY_COUNT(array); j++) \ + indexSum[array[j]] += j; \ + } \ + error = 0; \ + for (i = 0; i < ARRAY_COUNT(indexSum); i++) \ + error += abs(3584 - indexSum[i]); \ + EXPECT_LT(error, (int)(28672 * 0.025)); + +TEST("Shuffle randomizes the array [Shuffle8]") +{ + u8 array[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + SHUFFLE_TEST_IMPL; +} + +TEST("Shuffle randomizes the array [Shuffle16]") +{ + u16 array[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + SHUFFLE_TEST_IMPL; +} + +TEST("Shuffle randomizes the array [Shuffle32]") +{ + u32 array[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + SHUFFLE_TEST_IMPL; +} + +TEST("Shuffle randomizes the array [Shuffle64]") +{ + u64 array[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + SHUFFLE_TEST_IMPL; +} + TEST("RandomUniform generates lo..hi") { u32 lo, hi, i; From 1a53154324b5b5a7338c2832c3497eb1c46c0214 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Wed, 5 Jul 2023 14:59:42 -0400 Subject: [PATCH 052/256] Beat Up AI Damage Calc (#3104) * add specific AI dmg calc for new beat up * beat up ai calc optimizations --------- Co-authored-by: ghoulslash --- include/pokemon.h | 1 + src/battle_ai_util.c | 14 ++++++++++++++ src/pokemon.c | 31 +++++++++++++++---------------- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/include/pokemon.h b/include/pokemon.h index f20b23e791..022c155ae1 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -611,5 +611,6 @@ bool32 TryFormChange(u32 monId, u32 side, u16 method); void TryToSetBattleFormChangeMoves(struct Pokemon *mon, u16 method); u32 GetMonFriendshipScore(struct Pokemon *pokemon); void UpdateMonPersonality(struct BoxPokemon *boxMon, u32 personality); +u8 CalculatePartyCount(struct Pokemon *party); #endif // GUARD_POKEMON_H diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 81b6e9cbdf..3deabc5f57 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -833,6 +833,20 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, case EFFECT_FINAL_GAMBIT: dmg = gBattleMons[battlerAtk].hp; break; + #if B_BEAT_UP >= GEN_5 + case EFFECT_BEAT_UP: + { + u32 partyCount = CalculatePartyCount(GetBattlerParty(battlerAtk)); + u32 i; + gBattleStruct->beatUpSlot = 0; + dmg = 0; + for (i = 0; i < partyCount; i++) { + dmg += CalculateMoveDamage(move, battlerAtk, battlerDef, moveType, 0, FALSE, FALSE, FALSE); + } + gBattleStruct->beatUpSlot = 0; + } + break; + #endif } // Handle other multi-strike moves diff --git a/src/pokemon.c b/src/pokemon.c index 748fcdfb08..fca93e67e0 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -5432,29 +5432,28 @@ u8 SendMonToPC(struct Pokemon* mon) return MON_CANT_GIVE; } +u8 CalculatePartyCount(struct Pokemon *party) +{ + u32 partyCount = 0; + + while (partyCount < PARTY_SIZE + && GetMonData(&party[partyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) + { + partyCount++; + } + + return partyCount; +} + u8 CalculatePlayerPartyCount(void) { - gPlayerPartyCount = 0; - - while (gPlayerPartyCount < PARTY_SIZE - && GetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) - { - gPlayerPartyCount++; - } - + gPlayerPartyCount = CalculatePartyCount(gPlayerParty); return gPlayerPartyCount; } u8 CalculateEnemyPartyCount(void) { - gEnemyPartyCount = 0; - - while (gEnemyPartyCount < PARTY_SIZE - && GetMonData(&gEnemyParty[gEnemyPartyCount], MON_DATA_SPECIES, NULL) != SPECIES_NONE) - { - gEnemyPartyCount++; - } - + gEnemyPartyCount = CalculatePartyCount(gEnemyParty); return gEnemyPartyCount; } From 2f9e0ecd9f2e435d6b0dc0cda2997837f7a15feb Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 5 Jul 2023 18:22:48 -0400 Subject: [PATCH 053/256] Removed uses of F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED --- include/constants/trainers.h | 5 -- include/data.h | 4 +- src/battle_main.c | 110 ++++++++++++++++------------------ src/battle_script_commands.c | 11 +--- src/battle_setup.c | 15 ++--- src/battle_tower.c | 111 ++++++++++++++++------------------- src/data/trainers.h | 1 - src/match_call.c | 9 +-- 8 files changed, 111 insertions(+), 155 deletions(-) diff --git a/include/constants/trainers.h b/include/constants/trainers.h index 0fda71cee5..16904bcd12 100644 --- a/include/constants/trainers.h +++ b/include/constants/trainers.h @@ -371,11 +371,6 @@ #define F_TRAINER_FEMALE (1 << 7) -// All trainer parties specify the IV, level, and species for each Pokémon in the -// party. Some trainer parties also specify held items and custom moves for each -// Pokémon. -#define F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED (1 << 3) - // Trainer party defines #define TRAINER_MON_MALE 1 #define TRAINER_MON_FEMALE 2 diff --git a/include/data.h b/include/data.h index dec0f8841f..5d86c60320 100644 --- a/include/data.h +++ b/include/data.h @@ -52,7 +52,7 @@ struct TrainerMonCustomized bool8 isShiny : 1; }; -#define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party), .partyFlags = F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED +#define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party) union TrainerMonPtr { @@ -69,7 +69,7 @@ struct Trainer /*0x12*/ u8 trainerPic; /*0x13*/ u8 trainerName[TRAINER_NAME_LENGTH + 1]; /*0x1E*/ bool8 doubleBattle:1; - u8 partyFlags:7; + u8 padding:7; /*0x1F*/ u8 partySize; }; diff --git a/src/battle_main.c b/src/battle_main.c index a996f680b3..ed97ad7dfd 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1883,13 +1883,8 @@ static u32 Crc32B (const u8 *data, u32 size) static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) { - const u8 *buffer; - u32 n; - if (trainer->partyFlags == F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED) - { - buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; - n = sizeof(*trainer->party.EverythingCustomized); - } + const u8 *buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; + u32 n = sizeof(*trainer->party.EverythingCustomized); return Crc32B(buffer, n); } @@ -1967,6 +1962,10 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer for (i = 0; i < monsCount; i++) { u32 personalityHash = GeneratePartyHash(trainer, i); + const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; + u32 otIdType = OT_ID_RANDOM_NO_SHINY; + u32 fixedOtId = 0; + if (trainer->doubleBattle == TRUE) personalityValue = 0x80; else if (trainer->encounterMusic_gender & F_TRAINER_FEMALE) @@ -1975,63 +1974,54 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer personalityValue = 0x88; // Use personality more likely to result in a male Pokémon personalityValue += personalityHash << 8; - switch (trainer->partyFlags) + if (partyData[i].gender == TRAINER_MON_MALE) + personalityValue = (personalityValue & 0xFFFFFF00) | GeneratePersonalityForGender(MON_MALE, partyData[i].species); + else if (partyData[i].gender == TRAINER_MON_FEMALE) + personalityValue = (personalityValue & 0xFFFFFF00) | GeneratePersonalityForGender(MON_FEMALE, partyData[i].species); + if (partyData[i].nature != 0) + ModifyPersonalityForNature(&personalityValue, partyData[i].nature - 1); + if (partyData[i].isShiny) { - case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: - { - const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; - u32 otIdType = OT_ID_RANDOM_NO_SHINY; - u32 fixedOtId = 0; - if (partyData[i].gender == TRAINER_MON_MALE) - personalityValue = (personalityValue & 0xFFFFFF00) | GeneratePersonalityForGender(MON_MALE, partyData[i].species); - else if (partyData[i].gender == TRAINER_MON_FEMALE) - personalityValue = (personalityValue & 0xFFFFFF00) | GeneratePersonalityForGender(MON_FEMALE, partyData[i].species); - if (partyData[i].nature != 0) - ModifyPersonalityForNature(&personalityValue, partyData[i].nature - 1); - if (partyData[i].isShiny) - { - otIdType = OT_ID_PRESET; - fixedOtId = HIHALF(personalityValue) ^ LOHALF(personalityValue); - } - CreateMon(&party[i], partyData[i].species, partyData[i].lvl, 0, TRUE, personalityValue, otIdType, fixedOtId); - SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + otIdType = OT_ID_PRESET; + fixedOtId = HIHALF(personalityValue) ^ LOHALF(personalityValue); + } + CreateMon(&party[i], partyData[i].species, partyData[i].lvl, 0, TRUE, personalityValue, otIdType, fixedOtId); + SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - CustomTrainerPartyAssignMoves(&party[i], &partyData[i]); - SetMonData(&party[i], MON_DATA_IVS, &(partyData[i].iv)); - if (partyData[i].ev != NULL) - { - SetMonData(&party[i], MON_DATA_HP_EV, &(partyData[i].ev[0])); - SetMonData(&party[i], MON_DATA_ATK_EV, &(partyData[i].ev[1])); - SetMonData(&party[i], MON_DATA_DEF_EV, &(partyData[i].ev[2])); - SetMonData(&party[i], MON_DATA_SPATK_EV, &(partyData[i].ev[3])); - SetMonData(&party[i], MON_DATA_SPDEF_EV, &(partyData[i].ev[4])); - SetMonData(&party[i], MON_DATA_SPEED_EV, &(partyData[i].ev[5])); - } - if (partyData[i].ability != ABILITY_NONE) - { - const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[i].species]; - u32 maxAbilities = ARRAY_COUNT(speciesInfo->abilities); - for (j = 0; j < maxAbilities; ++j) - { - if (speciesInfo->abilities[j] == partyData[i].ability) - break; - } - if (j < maxAbilities) - SetMonData(&party[i], MON_DATA_ABILITY_NUM, &j); - } - SetMonData(&party[i], MON_DATA_FRIENDSHIP, &(partyData[i].friendship)); - if (partyData[i].ball != ITEM_NONE) - { - ball = partyData[i].ball; - SetMonData(&party[i], MON_DATA_POKEBALL, &ball); - } - if (partyData[i].nickname != NULL) - { - SetMonData(&party[i], MON_DATA_NICKNAME, partyData[i].nickname); - } - CalculateMonStats(&party[i]); + CustomTrainerPartyAssignMoves(&party[i], &partyData[i]); + SetMonData(&party[i], MON_DATA_IVS, &(partyData[i].iv)); + if (partyData[i].ev != NULL) + { + SetMonData(&party[i], MON_DATA_HP_EV, &(partyData[i].ev[0])); + SetMonData(&party[i], MON_DATA_ATK_EV, &(partyData[i].ev[1])); + SetMonData(&party[i], MON_DATA_DEF_EV, &(partyData[i].ev[2])); + SetMonData(&party[i], MON_DATA_SPATK_EV, &(partyData[i].ev[3])); + SetMonData(&party[i], MON_DATA_SPDEF_EV, &(partyData[i].ev[4])); + SetMonData(&party[i], MON_DATA_SPEED_EV, &(partyData[i].ev[5])); } + if (partyData[i].ability != ABILITY_NONE) + { + const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[i].species]; + u32 maxAbilities = ARRAY_COUNT(speciesInfo->abilities); + for (j = 0; j < maxAbilities; ++j) + { + if (speciesInfo->abilities[j] == partyData[i].ability) + break; + } + if (j < maxAbilities) + SetMonData(&party[i], MON_DATA_ABILITY_NUM, &j); } + SetMonData(&party[i], MON_DATA_FRIENDSHIP, &(partyData[i].friendship)); + if (partyData[i].ball != ITEM_NONE) + { + ball = partyData[i].ball; + SetMonData(&party[i], MON_DATA_POKEBALL, &ball); + } + if (partyData[i].nickname != NULL) + { + SetMonData(&party[i], MON_DATA_NICKNAME, partyData[i].nickname); + } + CalculateMonStats(&party[i]); #if B_TRAINER_CLASS_POKE_BALLS >= GEN_7 if (ball == -1) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ea6f5a3b96..30bd30a198 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7337,15 +7337,8 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) } else { - switch (gTrainers[trainerId].partyFlags) - { - case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: - { - const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; - lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; - } - break; - } + const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; + lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; for (; gTrainerMoneyTable[i].classId != 0xFF; i++) { diff --git a/src/battle_setup.c b/src/battle_setup.c index 44a01977bc..5f5bca75b4 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -758,23 +758,16 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) u8 i; u8 sum; u32 count = numMons; + const struct TrainerMonCustomized *party; if (gTrainers[opponentId].partySize < count) count = gTrainers[opponentId].partySize; sum = 0; - switch (gTrainers[opponentId].partyFlags) - { - case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: - { - const struct TrainerMonCustomized *party; - party = gTrainers[opponentId].party.EverythingCustomized; - for (i = 0; i < count; i++) - sum += party[i].lvl; - } - break; - } + party = gTrainers[opponentId].party.EverythingCustomized; + for (i = 0; i < count; i++) + sum += party[i].lvl; return sum; } diff --git a/src/battle_tower.c b/src/battle_tower.c index 4b962673b6..5a093e9910 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3049,74 +3049,67 @@ static void FillPartnerParty(u16 trainerId) for (i = 0; i < 3 && i < gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partySize; i++) { + const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; + u32 otIdType = OT_ID_RANDOM_NO_SHINY; do { j = Random32(); } while (IsShinyOtIdPersonality(otID, j)); - switch (gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partyFlags) + if (partyData[i].gender == TRAINER_MON_MALE) + j = (j & 0xFFFFFF00) | GeneratePersonalityForGender(MON_MALE, partyData[i].species); + else if (partyData[i].gender == TRAINER_MON_FEMALE) + j = (j & 0xFFFFFF00) | GeneratePersonalityForGender(MON_FEMALE, partyData[i].species); + if (partyData[i].nature != 0) + ModifyPersonalityForNature(&j, partyData[i].nature - 1); + if (partyData[i].isShiny) { - case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: + otIdType = OT_ID_PRESET; + otID = HIHALF(j) ^ LOHALF(j); + } + + CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, 0, TRUE, j, otIdType, otID); + SetMonData(&gPlayerParty[i + 3], MON_DATA_HELD_ITEM, &partyData[i].heldItem); + + // TODO: Figure out a default strategy when moves are not set, to generate a good moveset + for (j = 0; j < MAX_MON_MOVES; ++j) { - const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; - u32 otIdType = OT_ID_RANDOM_NO_SHINY; - - if (partyData[i].gender == TRAINER_MON_MALE) - j = (j & 0xFFFFFF00) | GeneratePersonalityForGender(MON_MALE, partyData[i].species); - else if (partyData[i].gender == TRAINER_MON_FEMALE) - j = (j & 0xFFFFFF00) | GeneratePersonalityForGender(MON_FEMALE, partyData[i].species); - if (partyData[i].nature != 0) - ModifyPersonalityForNature(&j, partyData[i].nature - 1); - if (partyData[i].isShiny) - { - otIdType = OT_ID_PRESET; - otID = HIHALF(j) ^ LOHALF(j); - } - - CreateMon(&gPlayerParty[i + 3], partyData[i].species, partyData[i].lvl, 0, TRUE, j, otIdType, otID); - SetMonData(&gPlayerParty[i + 3], MON_DATA_HELD_ITEM, &partyData[i].heldItem); - - // TODO: Figure out a default strategy when moves are not set, to generate a good moveset - for (j = 0; j < MAX_MON_MOVES; ++j) - { - SetMonData(&gPlayerParty[i+3], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); - SetMonData(&gPlayerParty[i+3], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); - } - SetMonData(&gPlayerParty[i+3], MON_DATA_IVS, &(partyData[i].iv)); - if (partyData[i].ev != NULL) - { - SetMonData(&gPlayerParty[i+3], MON_DATA_HP_EV, &(partyData[i].ev[0])); - SetMonData(&gPlayerParty[i+3], MON_DATA_ATK_EV, &(partyData[i].ev[1])); - SetMonData(&gPlayerParty[i+3], MON_DATA_DEF_EV, &(partyData[i].ev[2])); - SetMonData(&gPlayerParty[i+3], MON_DATA_SPATK_EV, &(partyData[i].ev[3])); - SetMonData(&gPlayerParty[i+3], MON_DATA_SPDEF_EV, &(partyData[i].ev[4])); - SetMonData(&gPlayerParty[i+3], MON_DATA_SPEED_EV, &(partyData[i].ev[5])); - } - if (partyData[i].ability != ABILITY_NONE) - { - const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[i].species]; - u32 maxAbilities = ARRAY_COUNT(speciesInfo->abilities); - for (j = 0; j < maxAbilities; ++j) - { - if (speciesInfo->abilities[j] == partyData[i].ability) - break; - } - if (j < maxAbilities) - SetMonData(&gPlayerParty[i+3], MON_DATA_ABILITY_NUM, &j); - } - SetMonData(&gPlayerParty[i+3], MON_DATA_FRIENDSHIP, &(partyData[i].friendship)); - if (partyData[i].ball != ITEM_NONE) - { - ball = partyData[i].ball; - SetMonData(&gPlayerParty[i+3], MON_DATA_POKEBALL, &ball); - } - if (partyData[i].nickname != NULL) - { - SetMonData(&gPlayerParty[i+3], MON_DATA_NICKNAME, partyData[i].nickname); - } - CalculateMonStats(&gPlayerParty[i+3]); + SetMonData(&gPlayerParty[i+3], MON_DATA_MOVE1 + j, &partyData[i].moves[j]); + SetMonData(&gPlayerParty[i+3], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp); } + SetMonData(&gPlayerParty[i+3], MON_DATA_IVS, &(partyData[i].iv)); + if (partyData[i].ev != NULL) + { + SetMonData(&gPlayerParty[i+3], MON_DATA_HP_EV, &(partyData[i].ev[0])); + SetMonData(&gPlayerParty[i+3], MON_DATA_ATK_EV, &(partyData[i].ev[1])); + SetMonData(&gPlayerParty[i+3], MON_DATA_DEF_EV, &(partyData[i].ev[2])); + SetMonData(&gPlayerParty[i+3], MON_DATA_SPATK_EV, &(partyData[i].ev[3])); + SetMonData(&gPlayerParty[i+3], MON_DATA_SPDEF_EV, &(partyData[i].ev[4])); + SetMonData(&gPlayerParty[i+3], MON_DATA_SPEED_EV, &(partyData[i].ev[5])); } + if (partyData[i].ability != ABILITY_NONE) + { + const struct SpeciesInfo *speciesInfo = &gSpeciesInfo[partyData[i].species]; + u32 maxAbilities = ARRAY_COUNT(speciesInfo->abilities); + for (j = 0; j < maxAbilities; ++j) + { + if (speciesInfo->abilities[j] == partyData[i].ability) + break; + } + if (j < maxAbilities) + SetMonData(&gPlayerParty[i+3], MON_DATA_ABILITY_NUM, &j); + } + SetMonData(&gPlayerParty[i+3], MON_DATA_FRIENDSHIP, &(partyData[i].friendship)); + if (partyData[i].ball != ITEM_NONE) + { + ball = partyData[i].ball; + SetMonData(&gPlayerParty[i+3], MON_DATA_POKEBALL, &ball); + } + if (partyData[i].nickname != NULL) + { + SetMonData(&gPlayerParty[i+3], MON_DATA_NICKNAME, partyData[i].nickname); + } + CalculateMonStats(&gPlayerParty[i+3]); StringCopy(trainerName, gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].trainerName); SetMonData(&gPlayerParty[i + 3], MON_DATA_OT_NAME, trainerName); diff --git a/src/data/trainers.h b/src/data/trainers.h index c37e183c0c..3aa0726c3a 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -1,7 +1,6 @@ const struct Trainer gTrainers[] = { [TRAINER_NONE] = { - .partyFlags = 0, .trainerClass = TRAINER_CLASS_PKMN_TRAINER_1, .encounterMusic_gender = TRAINER_ENCOUNTER_MUSIC_MALE, .trainerPic = TRAINER_PIC_HIKER, diff --git a/src/match_call.c b/src/match_call.c index 25e9493008..f86cb7138f 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1796,14 +1796,7 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) trainerId = GetLastBeatenRematchTrainerId(sMatchCallTrainers[matchCallId].trainerId); party = gTrainers[trainerId].party; monId = Random() % gTrainers[trainerId].partySize; - - switch (gTrainers[trainerId].partyFlags) - { - default: - case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: - speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; - break; - } + speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; StringCopy(destStr, speciesName); } From b86184a4f63d6e3d5c20c1e7e8edd7137d7724f6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 5 Jul 2023 18:23:18 -0400 Subject: [PATCH 054/256] Removed TrainerMonPtr --- include/data.h | 9 ++------- src/battle_main.c | 6 +++--- src/battle_script_commands.c | 2 +- src/battle_setup.c | 2 +- src/battle_tower.c | 2 +- src/data/trainers.h | 2 +- src/match_call.c | 4 ++-- 7 files changed, 11 insertions(+), 16 deletions(-) diff --git a/include/data.h b/include/data.h index 5d86c60320..e3642e8e46 100644 --- a/include/data.h +++ b/include/data.h @@ -52,17 +52,12 @@ struct TrainerMonCustomized bool8 isShiny : 1; }; -#define EVERYTHING_CUSTOMIZED(party) { .EverythingCustomized = party}, .partySize = ARRAY_COUNT(party) - -union TrainerMonPtr -{ - const struct TrainerMonCustomized *EverythingCustomized; -}; +#define EVERYTHING_CUSTOMIZED(partyArray) partyArray, .partySize = ARRAY_COUNT(partyArray) struct Trainer { /*0x00*/ u32 aiFlags; - /*0x04*/ union TrainerMonPtr party; + /*0x04*/ const struct TrainerMonCustomized *party; /*0x08*/ u16 items[MAX_TRAINER_ITEMS]; /*0x10*/ u8 trainerClass; /*0x11*/ u8 encounterMusic_gender; // last bit is gender diff --git a/src/battle_main.c b/src/battle_main.c index ed97ad7dfd..f212c34757 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -1883,8 +1883,8 @@ static u32 Crc32B (const u8 *data, u32 size) static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i) { - const u8 *buffer = (const u8 *) &trainer->party.EverythingCustomized[i]; - u32 n = sizeof(*trainer->party.EverythingCustomized); + const u8 *buffer = (const u8 *) &trainer->party[i]; + u32 n = sizeof(*trainer->party); return Crc32B(buffer, n); } @@ -1962,7 +1962,7 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer for (i = 0; i < monsCount; i++) { u32 personalityHash = GeneratePartyHash(trainer, i); - const struct TrainerMonCustomized *partyData = trainer->party.EverythingCustomized; + const struct TrainerMonCustomized *partyData = trainer->party; u32 otIdType = OT_ID_RANDOM_NO_SHINY; u32 fixedOtId = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 30bd30a198..e51e95065f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7337,7 +7337,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) } else { - const struct TrainerMonCustomized *party = gTrainers[trainerId].party.EverythingCustomized; + const struct TrainerMonCustomized *party = gTrainers[trainerId].party; lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; for (; gTrainerMoneyTable[i].classId != 0xFF; i++) diff --git a/src/battle_setup.c b/src/battle_setup.c index 5f5bca75b4..6075b42dde 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -765,7 +765,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) sum = 0; - party = gTrainers[opponentId].party.EverythingCustomized; + party = gTrainers[opponentId].party; for (i = 0; i < count; i++) sum += party[i].lvl; diff --git a/src/battle_tower.c b/src/battle_tower.c index 5a093e9910..ce79915313 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3049,7 +3049,7 @@ static void FillPartnerParty(u16 trainerId) for (i = 0; i < 3 && i < gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partySize; i++) { - const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party.EverythingCustomized; + const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party; u32 otIdType = OT_ID_RANDOM_NO_SHINY; do { diff --git a/src/data/trainers.h b/src/data/trainers.h index 3aa0726c3a..d2ffe39723 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -9,7 +9,7 @@ const struct Trainer gTrainers[] = { .doubleBattle = FALSE, .aiFlags = 0, .partySize = 0, - .party = {.EverythingCustomized = NULL}, + .party = NULL, }, [TRAINER_SAWYER_1] = diff --git a/src/match_call.c b/src/match_call.c index f86cb7138f..ec85498d07 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1789,14 +1789,14 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) { u16 trainerId; - union TrainerMonPtr party; + const struct TrainerMonCustomized *party; u8 monId; const u8 *speciesName; trainerId = GetLastBeatenRematchTrainerId(sMatchCallTrainers[matchCallId].trainerId); party = gTrainers[trainerId].party; monId = Random() % gTrainers[trainerId].partySize; - speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; + speciesName = gSpeciesNames[party[monId].species]; StringCopy(destStr, speciesName); } From e8487961c766d83fb3d881e6245441aef1db438b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 5 Jul 2023 18:29:28 -0400 Subject: [PATCH 055/256] TrainerMonCustomized -> TrainerMon --- include/data.h | 4 +- src/battle_main.c | 6 +- src/battle_script_commands.c | 2 +- src/battle_setup.c | 2 +- src/battle_tower.c | 2 +- src/data/trainer_parties.h | 1708 +++++++++++++++++----------------- src/match_call.c | 2 +- test/trainer_control.c | 2 +- 8 files changed, 864 insertions(+), 864 deletions(-) diff --git a/include/data.h b/include/data.h index e3642e8e46..0fe2ea5775 100644 --- a/include/data.h +++ b/include/data.h @@ -35,7 +35,7 @@ struct MonCoords #define TRAINER_PARTY_EVS(hp, atk, def, speed, spatk, spdef) ((const u8[6]){hp,atk,def,spatk,spdef,speed}) #define TRAINER_PARTY_NATURE(nature) (nature+1) -struct TrainerMonCustomized +struct TrainerMon { const u8 *nickname; const u8 *ev; @@ -57,7 +57,7 @@ struct TrainerMonCustomized struct Trainer { /*0x00*/ u32 aiFlags; - /*0x04*/ const struct TrainerMonCustomized *party; + /*0x04*/ const struct TrainerMon *party; /*0x08*/ u16 items[MAX_TRAINER_ITEMS]; /*0x10*/ u8 trainerClass; /*0x11*/ u8 encounterMusic_gender; // last bit is gender diff --git a/src/battle_main.c b/src/battle_main.c index f212c34757..259ad3951c 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -120,7 +120,7 @@ static void SpriteCB_UnusedBattleInit_Main(struct Sprite *sprite); static void TrySpecialEvolution(void); static u32 Crc32B (const u8 *data, u32 size); static u32 GeneratePartyHash(const struct Trainer *trainer, u32 i); -static void CustomTrainerPartyAssignMoves(struct Pokemon *mon, const struct TrainerMonCustomized *partyEntry); +static void CustomTrainerPartyAssignMoves(struct Pokemon *mon, const struct TrainerMon *partyEntry); EWRAM_DATA u16 gBattle_BG0_X = 0; EWRAM_DATA u16 gBattle_BG0_Y = 0; @@ -1910,7 +1910,7 @@ u32 GeneratePersonalityForGender(u32 gender, u32 species) return speciesInfo->genderRatio / 2; } -static void CustomTrainerPartyAssignMoves(struct Pokemon *mon, const struct TrainerMonCustomized *partyEntry) +static void CustomTrainerPartyAssignMoves(struct Pokemon *mon, const struct TrainerMon *partyEntry) { bool32 noMoveSet = TRUE; u32 j; @@ -1962,7 +1962,7 @@ u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer for (i = 0; i < monsCount; i++) { u32 personalityHash = GeneratePartyHash(trainer, i); - const struct TrainerMonCustomized *partyData = trainer->party; + const struct TrainerMon *partyData = trainer->party; u32 otIdType = OT_ID_RANDOM_NO_SHINY; u32 fixedOtId = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e51e95065f..2c255ab47c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7337,7 +7337,7 @@ static u32 GetTrainerMoneyToGive(u16 trainerId) } else { - const struct TrainerMonCustomized *party = gTrainers[trainerId].party; + const struct TrainerMon *party = gTrainers[trainerId].party; lastMonLevel = party[gTrainers[trainerId].partySize - 1].lvl; for (; gTrainerMoneyTable[i].classId != 0xFF; i++) diff --git a/src/battle_setup.c b/src/battle_setup.c index 6075b42dde..1140668fea 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -758,7 +758,7 @@ static u8 GetSumOfEnemyPartyLevel(u16 opponentId, u8 numMons) u8 i; u8 sum; u32 count = numMons; - const struct TrainerMonCustomized *party; + const struct TrainerMon *party; if (gTrainers[opponentId].partySize < count) count = gTrainers[opponentId].partySize; diff --git a/src/battle_tower.c b/src/battle_tower.c index ce79915313..8b5a2c9559 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3049,7 +3049,7 @@ static void FillPartnerParty(u16 trainerId) for (i = 0; i < 3 && i < gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].partySize; i++) { - const struct TrainerMonCustomized *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party; + const struct TrainerMon *partyData = gTrainers[trainerId - TRAINER_CUSTOM_PARTNER].party; u32 otIdType = OT_ID_RANDOM_NO_SHINY; do { diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index e14afc6056..ed53a181dd 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -1,18 +1,18 @@ -static const struct TrainerMonCustomized sParty_Sawyer1[] = { +static const struct TrainerMon sParty_Sawyer1[] = { { .lvl = 21, .species = SPECIES_GEODUDE, } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout1[] = { +static const struct TrainerMon sParty_GruntAquaHideout1[] = { { .lvl = 32, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout2[] = { +static const struct TrainerMon sParty_GruntAquaHideout2[] = { { .lvl = 31, .species = SPECIES_ZUBAT, @@ -23,42 +23,42 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout2[] = { } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout3[] = { +static const struct TrainerMon sParty_GruntAquaHideout3[] = { { .lvl = 32, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout4[] = { +static const struct TrainerMon sParty_GruntAquaHideout4[] = { { .lvl = 32, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_GruntSeafloorCavern1[] = { +static const struct TrainerMon sParty_GruntSeafloorCavern1[] = { { .lvl = 36, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_GruntSeafloorCavern2[] = { +static const struct TrainerMon sParty_GruntSeafloorCavern2[] = { { .lvl = 36, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_GruntSeafloorCavern3[] = { +static const struct TrainerMon sParty_GruntSeafloorCavern3[] = { { .lvl = 36, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_Gabrielle1[] = { +static const struct TrainerMon sParty_Gabrielle1[] = { { .lvl = 26, .species = SPECIES_SKITTY, @@ -85,14 +85,14 @@ static const struct TrainerMonCustomized sParty_Gabrielle1[] = { } }; -static const struct TrainerMonCustomized sParty_GruntPetalburgWoods[] = { +static const struct TrainerMon sParty_GruntPetalburgWoods[] = { { .lvl = 9, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_Marcel[] = { +static const struct TrainerMon sParty_Marcel[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -105,7 +105,7 @@ static const struct TrainerMonCustomized sParty_Marcel[] = { } }; -static const struct TrainerMonCustomized sParty_Alberto[] = { +static const struct TrainerMon sParty_Alberto[] = { { .lvl = 30, .species = SPECIES_PELIPPER, @@ -116,7 +116,7 @@ static const struct TrainerMonCustomized sParty_Alberto[] = { } }; -static const struct TrainerMonCustomized sParty_Ed[] = { +static const struct TrainerMon sParty_Ed[] = { { .lvl = 30, .species = SPECIES_ZANGOOSE, @@ -127,28 +127,28 @@ static const struct TrainerMonCustomized sParty_Ed[] = { } }; -static const struct TrainerMonCustomized sParty_GruntSeafloorCavern4[] = { +static const struct TrainerMon sParty_GruntSeafloorCavern4[] = { { .lvl = 36, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_Declan[] = { +static const struct TrainerMon sParty_Declan[] = { { .lvl = 34, .species = SPECIES_GYARADOS, } }; -static const struct TrainerMonCustomized sParty_GruntRusturfTunnel[] = { +static const struct TrainerMon sParty_GruntRusturfTunnel[] = { { .lvl = 11, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_GruntWeatherInst1[] = { +static const struct TrainerMon sParty_GruntWeatherInst1[] = { { .lvl = 27, .species = SPECIES_ZUBAT, @@ -159,7 +159,7 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst1[] = { } }; -static const struct TrainerMonCustomized sParty_GruntWeatherInst2[] = { +static const struct TrainerMon sParty_GruntWeatherInst2[] = { { .lvl = 27, .species = SPECIES_POOCHYENA, @@ -170,7 +170,7 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst2[] = { } }; -static const struct TrainerMonCustomized sParty_GruntWeatherInst3[] = { +static const struct TrainerMon sParty_GruntWeatherInst3[] = { { .lvl = 26, .species = SPECIES_POOCHYENA, @@ -185,14 +185,14 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst3[] = { } }; -static const struct TrainerMonCustomized sParty_GruntMuseum1[] = { +static const struct TrainerMon sParty_GruntMuseum1[] = { { .lvl = 15, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_GruntMuseum2[] = { +static const struct TrainerMon sParty_GruntMuseum2[] = { { .lvl = 14, .species = SPECIES_ZUBAT, @@ -203,28 +203,28 @@ static const struct TrainerMonCustomized sParty_GruntMuseum2[] = { } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter1[] = { +static const struct TrainerMon sParty_GruntSpaceCenter1[] = { { .lvl = 32, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_GruntMtPyre1[] = { +static const struct TrainerMon sParty_GruntMtPyre1[] = { { .lvl = 32, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntMtPyre2[] = { +static const struct TrainerMon sParty_GruntMtPyre2[] = { { .lvl = 32, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_GruntMtPyre3[] = { +static const struct TrainerMon sParty_GruntMtPyre3[] = { { .lvl = 30, .species = SPECIES_POOCHYENA, @@ -235,28 +235,28 @@ static const struct TrainerMonCustomized sParty_GruntMtPyre3[] = { } }; -static const struct TrainerMonCustomized sParty_GruntWeatherInst4[] = { +static const struct TrainerMon sParty_GruntWeatherInst4[] = { { .lvl = 28, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout5[] = { +static const struct TrainerMon sParty_GruntAquaHideout5[] = { { .lvl = 32, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout6[] = { +static const struct TrainerMon sParty_GruntAquaHideout6[] = { { .lvl = 32, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_Fredrick[] = { +static const struct TrainerMon sParty_Fredrick[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 30, @@ -269,7 +269,7 @@ static const struct TrainerMonCustomized sParty_Fredrick[] = { } }; -static const struct TrainerMonCustomized sParty_Matt[] = { +static const struct TrainerMon sParty_Matt[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, @@ -282,14 +282,14 @@ static const struct TrainerMonCustomized sParty_Matt[] = { } }; -static const struct TrainerMonCustomized sParty_Zander[] = { +static const struct TrainerMon sParty_Zander[] = { { .lvl = 31, .species = SPECIES_HARIYAMA, } }; -static const struct TrainerMonCustomized sParty_ShellyWeatherInstitute[] = { +static const struct TrainerMon sParty_ShellyWeatherInstitute[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, @@ -302,7 +302,7 @@ static const struct TrainerMonCustomized sParty_ShellyWeatherInstitute[] = { } }; -static const struct TrainerMonCustomized sParty_ShellySeafloorCavern[] = { +static const struct TrainerMon sParty_ShellySeafloorCavern[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, @@ -315,7 +315,7 @@ static const struct TrainerMonCustomized sParty_ShellySeafloorCavern[] = { } }; -static const struct TrainerMonCustomized sParty_Archie[] = { +static const struct TrainerMon sParty_Archie[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 41, @@ -333,14 +333,14 @@ static const struct TrainerMonCustomized sParty_Archie[] = { } }; -static const struct TrainerMonCustomized sParty_Leah[] = { +static const struct TrainerMon sParty_Leah[] = { { .lvl = 31, .species = SPECIES_SPOINK, } }; -static const struct TrainerMonCustomized sParty_Daisy[] = { +static const struct TrainerMon sParty_Daisy[] = { { .lvl = 14, .species = SPECIES_SHROOMISH, @@ -351,7 +351,7 @@ static const struct TrainerMonCustomized sParty_Daisy[] = { } }; -static const struct TrainerMonCustomized sParty_Rose1[] = { +static const struct TrainerMon sParty_Rose1[] = { { .lvl = 14, .species = SPECIES_ROSELIA, @@ -366,7 +366,7 @@ static const struct TrainerMonCustomized sParty_Rose1[] = { } }; -static const struct TrainerMonCustomized sParty_Felix[] = { +static const struct TrainerMon sParty_Felix[] = { { .lvl = 43, .species = SPECIES_MEDICHAM, @@ -379,7 +379,7 @@ static const struct TrainerMonCustomized sParty_Felix[] = { } }; -static const struct TrainerMonCustomized sParty_Violet[] = { +static const struct TrainerMon sParty_Violet[] = { { .lvl = 26, .species = SPECIES_ROSELIA, @@ -390,7 +390,7 @@ static const struct TrainerMonCustomized sParty_Violet[] = { } }; -static const struct TrainerMonCustomized sParty_Rose2[] = { +static const struct TrainerMon sParty_Rose2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -403,7 +403,7 @@ static const struct TrainerMonCustomized sParty_Rose2[] = { } }; -static const struct TrainerMonCustomized sParty_Rose3[] = { +static const struct TrainerMon sParty_Rose3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, @@ -421,7 +421,7 @@ static const struct TrainerMonCustomized sParty_Rose3[] = { } }; -static const struct TrainerMonCustomized sParty_Rose4[] = { +static const struct TrainerMon sParty_Rose4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -439,7 +439,7 @@ static const struct TrainerMonCustomized sParty_Rose4[] = { } }; -static const struct TrainerMonCustomized sParty_Rose5[] = { +static const struct TrainerMon sParty_Rose5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, @@ -457,7 +457,7 @@ static const struct TrainerMonCustomized sParty_Rose5[] = { } }; -static const struct TrainerMonCustomized sParty_Dusty1[] = { +static const struct TrainerMon sParty_Dusty1[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 23, @@ -466,7 +466,7 @@ static const struct TrainerMonCustomized sParty_Dusty1[] = { } }; -static const struct TrainerMonCustomized sParty_Chip[] = { +static const struct TrainerMon sParty_Chip[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 27, @@ -487,7 +487,7 @@ static const struct TrainerMonCustomized sParty_Chip[] = { } }; -static const struct TrainerMonCustomized sParty_Foster[] = { +static const struct TrainerMon sParty_Foster[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 25, @@ -502,7 +502,7 @@ static const struct TrainerMonCustomized sParty_Foster[] = { } }; -static const struct TrainerMonCustomized sParty_Dusty2[] = { +static const struct TrainerMon sParty_Dusty2[] = { { .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 27, @@ -511,7 +511,7 @@ static const struct TrainerMonCustomized sParty_Dusty2[] = { } }; -static const struct TrainerMonCustomized sParty_Dusty3[] = { +static const struct TrainerMon sParty_Dusty3[] = { { .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 30, @@ -520,7 +520,7 @@ static const struct TrainerMonCustomized sParty_Dusty3[] = { } }; -static const struct TrainerMonCustomized sParty_Dusty4[] = { +static const struct TrainerMon sParty_Dusty4[] = { { .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 33, @@ -529,7 +529,7 @@ static const struct TrainerMonCustomized sParty_Dusty4[] = { } }; -static const struct TrainerMonCustomized sParty_Dusty5[] = { +static const struct TrainerMon sParty_Dusty5[] = { { .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 36, @@ -538,7 +538,7 @@ static const struct TrainerMonCustomized sParty_Dusty5[] = { } }; -static const struct TrainerMonCustomized sParty_GabbyAndTy1[] = { +static const struct TrainerMon sParty_GabbyAndTy1[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, @@ -551,7 +551,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy1[] = { } }; -static const struct TrainerMonCustomized sParty_GabbyAndTy2[] = { +static const struct TrainerMon sParty_GabbyAndTy2[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, @@ -564,7 +564,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy2[] = { } }; -static const struct TrainerMonCustomized sParty_GabbyAndTy3[] = { +static const struct TrainerMon sParty_GabbyAndTy3[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 30, @@ -577,7 +577,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy3[] = { } }; -static const struct TrainerMonCustomized sParty_GabbyAndTy4[] = { +static const struct TrainerMon sParty_GabbyAndTy4[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 33, @@ -590,7 +590,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy4[] = { } }; -static const struct TrainerMonCustomized sParty_GabbyAndTy5[] = { +static const struct TrainerMon sParty_GabbyAndTy5[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 36, @@ -603,7 +603,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy5[] = { } }; -static const struct TrainerMonCustomized sParty_GabbyAndTy6[] = { +static const struct TrainerMon sParty_GabbyAndTy6[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 39, @@ -618,7 +618,7 @@ static const struct TrainerMonCustomized sParty_GabbyAndTy6[] = { } }; -static const struct TrainerMonCustomized sParty_Lola1[] = { +static const struct TrainerMon sParty_Lola1[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 12, @@ -631,21 +631,21 @@ static const struct TrainerMonCustomized sParty_Lola1[] = { } }; -static const struct TrainerMonCustomized sParty_Austina[] = { +static const struct TrainerMon sParty_Austina[] = { { .lvl = 26, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Gwen[] = { +static const struct TrainerMon sParty_Gwen[] = { { .lvl = 26, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Lola2[] = { +static const struct TrainerMon sParty_Lola2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -658,7 +658,7 @@ static const struct TrainerMonCustomized sParty_Lola2[] = { } }; -static const struct TrainerMonCustomized sParty_Lola3[] = { +static const struct TrainerMon sParty_Lola3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -671,7 +671,7 @@ static const struct TrainerMonCustomized sParty_Lola3[] = { } }; -static const struct TrainerMonCustomized sParty_Lola4[] = { +static const struct TrainerMon sParty_Lola4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, @@ -684,7 +684,7 @@ static const struct TrainerMonCustomized sParty_Lola4[] = { } }; -static const struct TrainerMonCustomized sParty_Lola5[] = { +static const struct TrainerMon sParty_Lola5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, @@ -697,7 +697,7 @@ static const struct TrainerMonCustomized sParty_Lola5[] = { } }; -static const struct TrainerMonCustomized sParty_Ricky1[] = { +static const struct TrainerMon sParty_Ricky1[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 13, @@ -706,7 +706,7 @@ static const struct TrainerMonCustomized sParty_Ricky1[] = { } }; -static const struct TrainerMonCustomized sParty_Simon[] = { +static const struct TrainerMon sParty_Simon[] = { { .lvl = 12, .species = SPECIES_AZURILL, @@ -717,14 +717,14 @@ static const struct TrainerMonCustomized sParty_Simon[] = { } }; -static const struct TrainerMonCustomized sParty_Charlie[] = { +static const struct TrainerMon sParty_Charlie[] = { { .lvl = 26, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Ricky2[] = { +static const struct TrainerMon sParty_Ricky2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, @@ -733,7 +733,7 @@ static const struct TrainerMonCustomized sParty_Ricky2[] = { } }; -static const struct TrainerMonCustomized sParty_Ricky3[] = { +static const struct TrainerMon sParty_Ricky3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, @@ -742,7 +742,7 @@ static const struct TrainerMonCustomized sParty_Ricky3[] = { } }; -static const struct TrainerMonCustomized sParty_Ricky4[] = { +static const struct TrainerMon sParty_Ricky4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, @@ -751,7 +751,7 @@ static const struct TrainerMonCustomized sParty_Ricky4[] = { } }; -static const struct TrainerMonCustomized sParty_Ricky5[] = { +static const struct TrainerMon sParty_Ricky5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, @@ -760,7 +760,7 @@ static const struct TrainerMonCustomized sParty_Ricky5[] = { } }; -static const struct TrainerMonCustomized sParty_Randall[] = { +static const struct TrainerMon sParty_Randall[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -770,7 +770,7 @@ static const struct TrainerMonCustomized sParty_Randall[] = { } }; -static const struct TrainerMonCustomized sParty_Parker[] = { +static const struct TrainerMon sParty_Parker[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -780,7 +780,7 @@ static const struct TrainerMonCustomized sParty_Parker[] = { } }; -static const struct TrainerMonCustomized sParty_George[] = { +static const struct TrainerMon sParty_George[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -790,7 +790,7 @@ static const struct TrainerMonCustomized sParty_George[] = { } }; -static const struct TrainerMonCustomized sParty_Berke[] = { +static const struct TrainerMon sParty_Berke[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -800,7 +800,7 @@ static const struct TrainerMonCustomized sParty_Berke[] = { } }; -static const struct TrainerMonCustomized sParty_Braxton[] = { +static const struct TrainerMon sParty_Braxton[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 28, @@ -833,7 +833,7 @@ static const struct TrainerMonCustomized sParty_Braxton[] = { } }; -static const struct TrainerMonCustomized sParty_Vincent[] = { +static const struct TrainerMon sParty_Vincent[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 44, @@ -851,7 +851,7 @@ static const struct TrainerMonCustomized sParty_Vincent[] = { } }; -static const struct TrainerMonCustomized sParty_Leroy[] = { +static const struct TrainerMon sParty_Leroy[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 46, @@ -864,7 +864,7 @@ static const struct TrainerMonCustomized sParty_Leroy[] = { } }; -static const struct TrainerMonCustomized sParty_Wilton1[] = { +static const struct TrainerMon sParty_Wilton1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, @@ -882,7 +882,7 @@ static const struct TrainerMonCustomized sParty_Wilton1[] = { } }; -static const struct TrainerMonCustomized sParty_Edgar[] = { +static const struct TrainerMon sParty_Edgar[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, @@ -895,7 +895,7 @@ static const struct TrainerMonCustomized sParty_Edgar[] = { } }; -static const struct TrainerMonCustomized sParty_Albert[] = { +static const struct TrainerMon sParty_Albert[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, @@ -908,7 +908,7 @@ static const struct TrainerMonCustomized sParty_Albert[] = { } }; -static const struct TrainerMonCustomized sParty_Samuel[] = { +static const struct TrainerMon sParty_Samuel[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, @@ -926,7 +926,7 @@ static const struct TrainerMonCustomized sParty_Samuel[] = { } }; -static const struct TrainerMonCustomized sParty_Vito[] = { +static const struct TrainerMon sParty_Vito[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, @@ -949,7 +949,7 @@ static const struct TrainerMonCustomized sParty_Vito[] = { } }; -static const struct TrainerMonCustomized sParty_Owen[] = { +static const struct TrainerMon sParty_Owen[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, @@ -967,7 +967,7 @@ static const struct TrainerMonCustomized sParty_Owen[] = { } }; -static const struct TrainerMonCustomized sParty_Wilton2[] = { +static const struct TrainerMon sParty_Wilton2[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, @@ -985,7 +985,7 @@ static const struct TrainerMonCustomized sParty_Wilton2[] = { } }; -static const struct TrainerMonCustomized sParty_Wilton3[] = { +static const struct TrainerMon sParty_Wilton3[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, @@ -1003,7 +1003,7 @@ static const struct TrainerMonCustomized sParty_Wilton3[] = { } }; -static const struct TrainerMonCustomized sParty_Wilton4[] = { +static const struct TrainerMon sParty_Wilton4[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, @@ -1021,7 +1021,7 @@ static const struct TrainerMonCustomized sParty_Wilton4[] = { } }; -static const struct TrainerMonCustomized sParty_Wilton5[] = { +static const struct TrainerMon sParty_Wilton5[] = { { .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, @@ -1039,7 +1039,7 @@ static const struct TrainerMonCustomized sParty_Wilton5[] = { } }; -static const struct TrainerMonCustomized sParty_Warren[] = { +static const struct TrainerMon sParty_Warren[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 33, @@ -1052,7 +1052,7 @@ static const struct TrainerMonCustomized sParty_Warren[] = { } }; -static const struct TrainerMonCustomized sParty_Mary[] = { +static const struct TrainerMon sParty_Mary[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -1062,7 +1062,7 @@ static const struct TrainerMonCustomized sParty_Mary[] = { } }; -static const struct TrainerMonCustomized sParty_Alexia[] = { +static const struct TrainerMon sParty_Alexia[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -1072,7 +1072,7 @@ static const struct TrainerMonCustomized sParty_Alexia[] = { } }; -static const struct TrainerMonCustomized sParty_Jody[] = { +static const struct TrainerMon sParty_Jody[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 26, @@ -1082,7 +1082,7 @@ static const struct TrainerMonCustomized sParty_Jody[] = { } }; -static const struct TrainerMonCustomized sParty_Wendy[] = { +static const struct TrainerMon sParty_Wendy[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -1103,7 +1103,7 @@ static const struct TrainerMonCustomized sParty_Wendy[] = { } }; -static const struct TrainerMonCustomized sParty_Keira[] = { +static const struct TrainerMon sParty_Keira[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, @@ -1116,7 +1116,7 @@ static const struct TrainerMonCustomized sParty_Keira[] = { } }; -static const struct TrainerMonCustomized sParty_Brooke1[] = { +static const struct TrainerMon sParty_Brooke1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, @@ -1134,7 +1134,7 @@ static const struct TrainerMonCustomized sParty_Brooke1[] = { } }; -static const struct TrainerMonCustomized sParty_Jennifer[] = { +static const struct TrainerMon sParty_Jennifer[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 30, @@ -1142,7 +1142,7 @@ static const struct TrainerMonCustomized sParty_Jennifer[] = { } }; -static const struct TrainerMonCustomized sParty_Hope[] = { +static const struct TrainerMon sParty_Hope[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, @@ -1150,7 +1150,7 @@ static const struct TrainerMonCustomized sParty_Hope[] = { } }; -static const struct TrainerMonCustomized sParty_Shannon[] = { +static const struct TrainerMon sParty_Shannon[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, @@ -1158,7 +1158,7 @@ static const struct TrainerMonCustomized sParty_Shannon[] = { } }; -static const struct TrainerMonCustomized sParty_Michelle[] = { +static const struct TrainerMon sParty_Michelle[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, @@ -1176,7 +1176,7 @@ static const struct TrainerMonCustomized sParty_Michelle[] = { } }; -static const struct TrainerMonCustomized sParty_Caroline[] = { +static const struct TrainerMon sParty_Caroline[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, @@ -1189,7 +1189,7 @@ static const struct TrainerMonCustomized sParty_Caroline[] = { } }; -static const struct TrainerMonCustomized sParty_Julie[] = { +static const struct TrainerMon sParty_Julie[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 42, @@ -1207,7 +1207,7 @@ static const struct TrainerMonCustomized sParty_Julie[] = { } }; -static const struct TrainerMonCustomized sParty_Brooke2[] = { +static const struct TrainerMon sParty_Brooke2[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, @@ -1225,7 +1225,7 @@ static const struct TrainerMonCustomized sParty_Brooke2[] = { } }; -static const struct TrainerMonCustomized sParty_Brooke3[] = { +static const struct TrainerMon sParty_Brooke3[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, @@ -1243,7 +1243,7 @@ static const struct TrainerMonCustomized sParty_Brooke3[] = { } }; -static const struct TrainerMonCustomized sParty_Brooke4[] = { +static const struct TrainerMon sParty_Brooke4[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, @@ -1261,7 +1261,7 @@ static const struct TrainerMonCustomized sParty_Brooke4[] = { } }; -static const struct TrainerMonCustomized sParty_Brooke5[] = { +static const struct TrainerMon sParty_Brooke5[] = { { .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 34, @@ -1279,7 +1279,7 @@ static const struct TrainerMonCustomized sParty_Brooke5[] = { } }; -static const struct TrainerMonCustomized sParty_Patricia[] = { +static const struct TrainerMon sParty_Patricia[] = { { .lvl = 41, .species = SPECIES_BANETTE, @@ -1290,7 +1290,7 @@ static const struct TrainerMonCustomized sParty_Patricia[] = { } }; -static const struct TrainerMonCustomized sParty_Kindra[] = { +static const struct TrainerMon sParty_Kindra[] = { { .lvl = 30, .species = SPECIES_DUSKULL, @@ -1301,7 +1301,7 @@ static const struct TrainerMonCustomized sParty_Kindra[] = { } }; -static const struct TrainerMonCustomized sParty_Tammy[] = { +static const struct TrainerMon sParty_Tammy[] = { { .lvl = 29, .species = SPECIES_DUSKULL, @@ -1312,14 +1312,14 @@ static const struct TrainerMonCustomized sParty_Tammy[] = { } }; -static const struct TrainerMonCustomized sParty_Valerie1[] = { +static const struct TrainerMon sParty_Valerie1[] = { { .lvl = 32, .species = SPECIES_SABLEYE, } }; -static const struct TrainerMonCustomized sParty_Tasha[] = { +static const struct TrainerMon sParty_Tasha[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 32, @@ -1327,7 +1327,7 @@ static const struct TrainerMonCustomized sParty_Tasha[] = { } }; -static const struct TrainerMonCustomized sParty_Valerie2[] = { +static const struct TrainerMon sParty_Valerie2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, @@ -1340,7 +1340,7 @@ static const struct TrainerMonCustomized sParty_Valerie2[] = { } }; -static const struct TrainerMonCustomized sParty_Valerie3[] = { +static const struct TrainerMon sParty_Valerie3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 35, @@ -1353,7 +1353,7 @@ static const struct TrainerMonCustomized sParty_Valerie3[] = { } }; -static const struct TrainerMonCustomized sParty_Valerie4[] = { +static const struct TrainerMon sParty_Valerie4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, @@ -1366,7 +1366,7 @@ static const struct TrainerMonCustomized sParty_Valerie4[] = { } }; -static const struct TrainerMonCustomized sParty_Valerie5[] = { +static const struct TrainerMon sParty_Valerie5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 42, @@ -1384,7 +1384,7 @@ static const struct TrainerMonCustomized sParty_Valerie5[] = { } }; -static const struct TrainerMonCustomized sParty_Cindy1[] = { +static const struct TrainerMon sParty_Cindy1[] = { { .lvl = 7, .species = SPECIES_ZIGZAGOON, @@ -1392,7 +1392,7 @@ static const struct TrainerMonCustomized sParty_Cindy1[] = { } }; -static const struct TrainerMonCustomized sParty_Daphne[] = { +static const struct TrainerMon sParty_Daphne[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, @@ -1409,7 +1409,7 @@ static const struct TrainerMonCustomized sParty_Daphne[] = { } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter2[] = { +static const struct TrainerMon sParty_GruntSpaceCenter2[] = { { .lvl = 26, .species = SPECIES_MIGHTYENA, @@ -1424,7 +1424,7 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter2[] = { } }; -static const struct TrainerMonCustomized sParty_Cindy2[] = { +static const struct TrainerMon sParty_Cindy2[] = { { .lvl = 11, .species = SPECIES_ZIGZAGOON, @@ -1433,7 +1433,7 @@ static const struct TrainerMonCustomized sParty_Cindy2[] = { } }; -static const struct TrainerMonCustomized sParty_Brianna[] = { +static const struct TrainerMon sParty_Brianna[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, @@ -1442,7 +1442,7 @@ static const struct TrainerMonCustomized sParty_Brianna[] = { } }; -static const struct TrainerMonCustomized sParty_Naomi[] = { +static const struct TrainerMon sParty_Naomi[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 45, @@ -1451,7 +1451,7 @@ static const struct TrainerMonCustomized sParty_Naomi[] = { } }; -static const struct TrainerMonCustomized sParty_Cindy3[] = { +static const struct TrainerMon sParty_Cindy3[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, @@ -1460,7 +1460,7 @@ static const struct TrainerMonCustomized sParty_Cindy3[] = { } }; -static const struct TrainerMonCustomized sParty_Cindy4[] = { +static const struct TrainerMon sParty_Cindy4[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, @@ -1469,7 +1469,7 @@ static const struct TrainerMonCustomized sParty_Cindy4[] = { } }; -static const struct TrainerMonCustomized sParty_Cindy5[] = { +static const struct TrainerMon sParty_Cindy5[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, @@ -1478,7 +1478,7 @@ static const struct TrainerMonCustomized sParty_Cindy5[] = { } }; -static const struct TrainerMonCustomized sParty_Cindy6[] = { +static const struct TrainerMon sParty_Cindy6[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, @@ -1488,28 +1488,28 @@ static const struct TrainerMonCustomized sParty_Cindy6[] = { } }; -static const struct TrainerMonCustomized sParty_Melissa[] = { +static const struct TrainerMon sParty_Melissa[] = { { .lvl = 21, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Sheila[] = { +static const struct TrainerMon sParty_Sheila[] = { { .lvl = 21, .species = SPECIES_SHROOMISH, } }; -static const struct TrainerMonCustomized sParty_Shirley[] = { +static const struct TrainerMon sParty_Shirley[] = { { .lvl = 21, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_Jessica1[] = { +static const struct TrainerMon sParty_Jessica1[] = { { .lvl = 29, .species = SPECIES_KECLEON, @@ -1522,7 +1522,7 @@ static const struct TrainerMonCustomized sParty_Jessica1[] = { } }; -static const struct TrainerMonCustomized sParty_Connie[] = { +static const struct TrainerMon sParty_Connie[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, @@ -1530,7 +1530,7 @@ static const struct TrainerMonCustomized sParty_Connie[] = { } }; -static const struct TrainerMonCustomized sParty_Bridget[] = { +static const struct TrainerMon sParty_Bridget[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 40, @@ -1538,7 +1538,7 @@ static const struct TrainerMonCustomized sParty_Bridget[] = { } }; -static const struct TrainerMonCustomized sParty_Olivia[] = { +static const struct TrainerMon sParty_Olivia[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, @@ -1559,7 +1559,7 @@ static const struct TrainerMonCustomized sParty_Olivia[] = { } }; -static const struct TrainerMonCustomized sParty_Tiffany[] = { +static const struct TrainerMon sParty_Tiffany[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, @@ -1572,7 +1572,7 @@ static const struct TrainerMonCustomized sParty_Tiffany[] = { } }; -static const struct TrainerMonCustomized sParty_Jessica2[] = { +static const struct TrainerMon sParty_Jessica2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, @@ -1587,7 +1587,7 @@ static const struct TrainerMonCustomized sParty_Jessica2[] = { } }; -static const struct TrainerMonCustomized sParty_Jessica3[] = { +static const struct TrainerMon sParty_Jessica3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 38, @@ -1602,7 +1602,7 @@ static const struct TrainerMonCustomized sParty_Jessica3[] = { } }; -static const struct TrainerMonCustomized sParty_Jessica4[] = { +static const struct TrainerMon sParty_Jessica4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, @@ -1617,7 +1617,7 @@ static const struct TrainerMonCustomized sParty_Jessica4[] = { } }; -static const struct TrainerMonCustomized sParty_Jessica5[] = { +static const struct TrainerMon sParty_Jessica5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 44, @@ -1632,7 +1632,7 @@ static const struct TrainerMonCustomized sParty_Jessica5[] = { } }; -static const struct TrainerMonCustomized sParty_Winston1[] = { +static const struct TrainerMon sParty_Winston1[] = { { .lvl = 7, .species = SPECIES_ZIGZAGOON, @@ -1640,7 +1640,7 @@ static const struct TrainerMonCustomized sParty_Winston1[] = { } }; -static const struct TrainerMonCustomized sParty_Mollie[] = { +static const struct TrainerMon sParty_Mollie[] = { { .lvl = 33, .species = SPECIES_WHISCASH, @@ -1652,7 +1652,7 @@ static const struct TrainerMonCustomized sParty_Mollie[] = { } }; -static const struct TrainerMonCustomized sParty_Garret[] = { +static const struct TrainerMon sParty_Garret[] = { { .lvl = 45, .species = SPECIES_AZUMARILL, @@ -1660,7 +1660,7 @@ static const struct TrainerMonCustomized sParty_Garret[] = { } }; -static const struct TrainerMonCustomized sParty_Winston2[] = { +static const struct TrainerMon sParty_Winston2[] = { { .lvl = 27, .species = SPECIES_LINOONE, @@ -1668,7 +1668,7 @@ static const struct TrainerMonCustomized sParty_Winston2[] = { } }; -static const struct TrainerMonCustomized sParty_Winston3[] = { +static const struct TrainerMon sParty_Winston3[] = { { .lvl = 30, .species = SPECIES_LINOONE, @@ -1676,7 +1676,7 @@ static const struct TrainerMonCustomized sParty_Winston3[] = { } }; -static const struct TrainerMonCustomized sParty_Winston4[] = { +static const struct TrainerMon sParty_Winston4[] = { { .lvl = 33, .species = SPECIES_LINOONE, @@ -1684,7 +1684,7 @@ static const struct TrainerMonCustomized sParty_Winston4[] = { } }; -static const struct TrainerMonCustomized sParty_Winston5[] = { +static const struct TrainerMon sParty_Winston5[] = { { .lvl = 36, .species = SPECIES_LINOONE, @@ -1693,14 +1693,14 @@ static const struct TrainerMonCustomized sParty_Winston5[] = { } }; -static const struct TrainerMonCustomized sParty_Steve1[] = { +static const struct TrainerMon sParty_Steve1[] = { { .lvl = 19, .species = SPECIES_ARON, } }; -static const struct TrainerMonCustomized sParty_Thalia1[] = { +static const struct TrainerMon sParty_Thalia1[] = { { .lvl = 25, .species = SPECIES_WAILMER, @@ -1711,21 +1711,21 @@ static const struct TrainerMonCustomized sParty_Thalia1[] = { } }; -static const struct TrainerMonCustomized sParty_Mark[] = { +static const struct TrainerMon sParty_Mark[] = { { .lvl = 31, .species = SPECIES_RHYHORN, } }; -static const struct TrainerMonCustomized sParty_GruntMtChimney1[] = { +static const struct TrainerMon sParty_GruntMtChimney1[] = { { .lvl = 20, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_Steve2[] = { +static const struct TrainerMon sParty_Steve2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, @@ -1733,7 +1733,7 @@ static const struct TrainerMonCustomized sParty_Steve2[] = { } }; -static const struct TrainerMonCustomized sParty_Steve3[] = { +static const struct TrainerMon sParty_Steve3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -1746,7 +1746,7 @@ static const struct TrainerMonCustomized sParty_Steve3[] = { } }; -static const struct TrainerMonCustomized sParty_Steve4[] = { +static const struct TrainerMon sParty_Steve4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, @@ -1759,7 +1759,7 @@ static const struct TrainerMonCustomized sParty_Steve4[] = { } }; -static const struct TrainerMonCustomized sParty_Steve5[] = { +static const struct TrainerMon sParty_Steve5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, @@ -1772,21 +1772,21 @@ static const struct TrainerMonCustomized sParty_Steve5[] = { } }; -static const struct TrainerMonCustomized sParty_Luis[] = { +static const struct TrainerMon sParty_Luis[] = { { .lvl = 26, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_Dominik[] = { +static const struct TrainerMon sParty_Dominik[] = { { .lvl = 26, .species = SPECIES_TENTACOOL, } }; -static const struct TrainerMonCustomized sParty_Douglas[] = { +static const struct TrainerMon sParty_Douglas[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, @@ -1799,7 +1799,7 @@ static const struct TrainerMonCustomized sParty_Douglas[] = { } }; -static const struct TrainerMonCustomized sParty_Darrin[] = { +static const struct TrainerMon sParty_Darrin[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, @@ -1817,28 +1817,28 @@ static const struct TrainerMonCustomized sParty_Darrin[] = { } }; -static const struct TrainerMonCustomized sParty_Tony1[] = { +static const struct TrainerMon sParty_Tony1[] = { { .lvl = 26, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_Jerome[] = { +static const struct TrainerMon sParty_Jerome[] = { { .lvl = 26, .species = SPECIES_TENTACRUEL, } }; -static const struct TrainerMonCustomized sParty_Matthew[] = { +static const struct TrainerMon sParty_Matthew[] = { { .lvl = 26, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_David[] = { +static const struct TrainerMon sParty_David[] = { { .lvl = 25, .species = SPECIES_TENTACOOL, @@ -1849,7 +1849,7 @@ static const struct TrainerMonCustomized sParty_David[] = { } }; -static const struct TrainerMonCustomized sParty_Spencer[] = { +static const struct TrainerMon sParty_Spencer[] = { { .lvl = 33, .species = SPECIES_TENTACOOL, @@ -1860,35 +1860,35 @@ static const struct TrainerMonCustomized sParty_Spencer[] = { } }; -static const struct TrainerMonCustomized sParty_Roland[] = { +static const struct TrainerMon sParty_Roland[] = { { .lvl = 34, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_Nolen[] = { +static const struct TrainerMon sParty_Nolen[] = { { .lvl = 34, .species = SPECIES_TENTACRUEL, } }; -static const struct TrainerMonCustomized sParty_Stan[] = { +static const struct TrainerMon sParty_Stan[] = { { .lvl = 34, .species = SPECIES_HORSEA, } }; -static const struct TrainerMonCustomized sParty_Barry[] = { +static const struct TrainerMon sParty_Barry[] = { { .lvl = 34, .species = SPECIES_GYARADOS, } }; -static const struct TrainerMonCustomized sParty_Dean[] = { +static const struct TrainerMon sParty_Dean[] = { { .lvl = 31, .species = SPECIES_CARVANHA, @@ -1903,21 +1903,21 @@ static const struct TrainerMonCustomized sParty_Dean[] = { } }; -static const struct TrainerMonCustomized sParty_Rodney[] = { +static const struct TrainerMon sParty_Rodney[] = { { .lvl = 34, .species = SPECIES_GYARADOS, } }; -static const struct TrainerMonCustomized sParty_Richard[] = { +static const struct TrainerMon sParty_Richard[] = { { .lvl = 34, .species = SPECIES_PELIPPER, } }; -static const struct TrainerMonCustomized sParty_Herman[] = { +static const struct TrainerMon sParty_Herman[] = { { .lvl = 33, .species = SPECIES_WINGULL, @@ -1928,7 +1928,7 @@ static const struct TrainerMonCustomized sParty_Herman[] = { } }; -static const struct TrainerMonCustomized sParty_Santiago[] = { +static const struct TrainerMon sParty_Santiago[] = { { .lvl = 33, .species = SPECIES_TENTACRUEL, @@ -1939,35 +1939,35 @@ static const struct TrainerMonCustomized sParty_Santiago[] = { } }; -static const struct TrainerMonCustomized sParty_Gilbert[] = { +static const struct TrainerMon sParty_Gilbert[] = { { .lvl = 34, .species = SPECIES_SHARPEDO, } }; -static const struct TrainerMonCustomized sParty_Franklin[] = { +static const struct TrainerMon sParty_Franklin[] = { { .lvl = 34, .species = SPECIES_SEALEO, } }; -static const struct TrainerMonCustomized sParty_Kevin[] = { +static const struct TrainerMon sParty_Kevin[] = { { .lvl = 34, .species = SPECIES_SPHEAL, } }; -static const struct TrainerMonCustomized sParty_Jack[] = { +static const struct TrainerMon sParty_Jack[] = { { .lvl = 34, .species = SPECIES_GYARADOS, } }; -static const struct TrainerMonCustomized sParty_Dudley[] = { +static const struct TrainerMon sParty_Dudley[] = { { .lvl = 33, .species = SPECIES_TENTACOOL, @@ -1982,7 +1982,7 @@ static const struct TrainerMonCustomized sParty_Dudley[] = { } }; -static const struct TrainerMonCustomized sParty_Chad[] = { +static const struct TrainerMon sParty_Chad[] = { { .lvl = 33, .species = SPECIES_TENTACOOL, @@ -1993,7 +1993,7 @@ static const struct TrainerMonCustomized sParty_Chad[] = { } }; -static const struct TrainerMonCustomized sParty_Tony2[] = { +static const struct TrainerMon sParty_Tony2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, @@ -2001,7 +2001,7 @@ static const struct TrainerMonCustomized sParty_Tony2[] = { } }; -static const struct TrainerMonCustomized sParty_Tony3[] = { +static const struct TrainerMon sParty_Tony3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, @@ -2009,7 +2009,7 @@ static const struct TrainerMonCustomized sParty_Tony3[] = { } }; -static const struct TrainerMonCustomized sParty_Tony4[] = { +static const struct TrainerMon sParty_Tony4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -2022,7 +2022,7 @@ static const struct TrainerMonCustomized sParty_Tony4[] = { } }; -static const struct TrainerMonCustomized sParty_Tony5[] = { +static const struct TrainerMon sParty_Tony5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -2035,7 +2035,7 @@ static const struct TrainerMonCustomized sParty_Tony5[] = { } }; -static const struct TrainerMonCustomized sParty_Takao[] = { +static const struct TrainerMon sParty_Takao[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 13, @@ -2043,7 +2043,7 @@ static const struct TrainerMonCustomized sParty_Takao[] = { } }; -static const struct TrainerMonCustomized sParty_Hitoshi[] = { +static const struct TrainerMon sParty_Hitoshi[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 32, @@ -2056,7 +2056,7 @@ static const struct TrainerMonCustomized sParty_Hitoshi[] = { } }; -static const struct TrainerMonCustomized sParty_Kiyo[] = { +static const struct TrainerMon sParty_Kiyo[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, @@ -2064,7 +2064,7 @@ static const struct TrainerMonCustomized sParty_Kiyo[] = { } }; -static const struct TrainerMonCustomized sParty_Koichi[] = { +static const struct TrainerMon sParty_Koichi[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 24, @@ -2077,7 +2077,7 @@ static const struct TrainerMonCustomized sParty_Koichi[] = { } }; -static const struct TrainerMonCustomized sParty_Nob1[] = { +static const struct TrainerMon sParty_Nob1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 19, @@ -2085,7 +2085,7 @@ static const struct TrainerMonCustomized sParty_Nob1[] = { } }; -static const struct TrainerMonCustomized sParty_Nob2[] = { +static const struct TrainerMon sParty_Nob2[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 27, @@ -2093,7 +2093,7 @@ static const struct TrainerMonCustomized sParty_Nob2[] = { } }; -static const struct TrainerMonCustomized sParty_Nob3[] = { +static const struct TrainerMon sParty_Nob3[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, @@ -2106,7 +2106,7 @@ static const struct TrainerMonCustomized sParty_Nob3[] = { } }; -static const struct TrainerMonCustomized sParty_Nob4[] = { +static const struct TrainerMon sParty_Nob4[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 31, @@ -2124,7 +2124,7 @@ static const struct TrainerMonCustomized sParty_Nob4[] = { } }; -static const struct TrainerMonCustomized sParty_Nob5[] = { +static const struct TrainerMon sParty_Nob5[] = { { .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 33, @@ -2151,7 +2151,7 @@ static const struct TrainerMonCustomized sParty_Nob5[] = { } }; -static const struct TrainerMonCustomized sParty_Yuji[] = { +static const struct TrainerMon sParty_Yuji[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 26, @@ -2164,7 +2164,7 @@ static const struct TrainerMonCustomized sParty_Yuji[] = { } }; -static const struct TrainerMonCustomized sParty_Daisuke[] = { +static const struct TrainerMon sParty_Daisuke[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 19, @@ -2172,7 +2172,7 @@ static const struct TrainerMonCustomized sParty_Daisuke[] = { } }; -static const struct TrainerMonCustomized sParty_Atsushi[] = { +static const struct TrainerMon sParty_Atsushi[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, @@ -2180,7 +2180,7 @@ static const struct TrainerMonCustomized sParty_Atsushi[] = { } }; -static const struct TrainerMonCustomized sParty_Kirk[] = { +static const struct TrainerMon sParty_Kirk[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, @@ -2195,7 +2195,7 @@ static const struct TrainerMonCustomized sParty_Kirk[] = { } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout7[] = { +static const struct TrainerMon sParty_GruntAquaHideout7[] = { { .lvl = 31, .species = SPECIES_POOCHYENA, @@ -2206,14 +2206,14 @@ static const struct TrainerMonCustomized sParty_GruntAquaHideout7[] = { } }; -static const struct TrainerMonCustomized sParty_GruntAquaHideout8[] = { +static const struct TrainerMon sParty_GruntAquaHideout8[] = { { .lvl = 32, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_Shawn[] = { +static const struct TrainerMon sParty_Shawn[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, @@ -2226,7 +2226,7 @@ static const struct TrainerMonCustomized sParty_Shawn[] = { } }; -static const struct TrainerMonCustomized sParty_Fernando1[] = { +static const struct TrainerMon sParty_Fernando1[] = { { .lvl = 30, .species = SPECIES_ELECTRIKE, @@ -2237,7 +2237,7 @@ static const struct TrainerMonCustomized sParty_Fernando1[] = { } }; -static const struct TrainerMonCustomized sParty_Dalton1[] = { +static const struct TrainerMon sParty_Dalton1[] = { { .lvl = 15, .species = SPECIES_MAGNEMITE, @@ -2248,7 +2248,7 @@ static const struct TrainerMonCustomized sParty_Dalton1[] = { } }; -static const struct TrainerMonCustomized sParty_Dalton2[] = { +static const struct TrainerMon sParty_Dalton2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, @@ -2266,7 +2266,7 @@ static const struct TrainerMonCustomized sParty_Dalton2[] = { } }; -static const struct TrainerMonCustomized sParty_Dalton3[] = { +static const struct TrainerMon sParty_Dalton3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, @@ -2284,7 +2284,7 @@ static const struct TrainerMonCustomized sParty_Dalton3[] = { } }; -static const struct TrainerMonCustomized sParty_Dalton4[] = { +static const struct TrainerMon sParty_Dalton4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -2302,7 +2302,7 @@ static const struct TrainerMonCustomized sParty_Dalton4[] = { } }; -static const struct TrainerMonCustomized sParty_Dalton5[] = { +static const struct TrainerMon sParty_Dalton5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, @@ -2320,7 +2320,7 @@ static const struct TrainerMonCustomized sParty_Dalton5[] = { } }; -static const struct TrainerMonCustomized sParty_Cole[] = { +static const struct TrainerMon sParty_Cole[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, @@ -2328,7 +2328,7 @@ static const struct TrainerMonCustomized sParty_Cole[] = { } }; -static const struct TrainerMonCustomized sParty_Jeff[] = { +static const struct TrainerMon sParty_Jeff[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 22, @@ -2341,7 +2341,7 @@ static const struct TrainerMonCustomized sParty_Jeff[] = { } }; -static const struct TrainerMonCustomized sParty_Axle[] = { +static const struct TrainerMon sParty_Axle[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, @@ -2349,7 +2349,7 @@ static const struct TrainerMonCustomized sParty_Axle[] = { } }; -static const struct TrainerMonCustomized sParty_Jace[] = { +static const struct TrainerMon sParty_Jace[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, @@ -2357,7 +2357,7 @@ static const struct TrainerMonCustomized sParty_Jace[] = { } }; -static const struct TrainerMonCustomized sParty_Keegan[] = { +static const struct TrainerMon sParty_Keegan[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 23, @@ -2365,7 +2365,7 @@ static const struct TrainerMonCustomized sParty_Keegan[] = { } }; -static const struct TrainerMonCustomized sParty_Bernie1[] = { +static const struct TrainerMon sParty_Bernie1[] = { { .lvl = 18, .species = SPECIES_SLUGMA, @@ -2376,7 +2376,7 @@ static const struct TrainerMonCustomized sParty_Bernie1[] = { } }; -static const struct TrainerMonCustomized sParty_Bernie2[] = { +static const struct TrainerMon sParty_Bernie2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -2389,7 +2389,7 @@ static const struct TrainerMonCustomized sParty_Bernie2[] = { } }; -static const struct TrainerMonCustomized sParty_Bernie3[] = { +static const struct TrainerMon sParty_Bernie3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -2402,7 +2402,7 @@ static const struct TrainerMonCustomized sParty_Bernie3[] = { } }; -static const struct TrainerMonCustomized sParty_Bernie4[] = { +static const struct TrainerMon sParty_Bernie4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, @@ -2415,7 +2415,7 @@ static const struct TrainerMonCustomized sParty_Bernie4[] = { } }; -static const struct TrainerMonCustomized sParty_Bernie5[] = { +static const struct TrainerMon sParty_Bernie5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, @@ -2428,7 +2428,7 @@ static const struct TrainerMonCustomized sParty_Bernie5[] = { } }; -static const struct TrainerMonCustomized sParty_Drew[] = { +static const struct TrainerMon sParty_Drew[] = { { .lvl = 23, .species = SPECIES_SANDSHREW, @@ -2436,7 +2436,7 @@ static const struct TrainerMonCustomized sParty_Drew[] = { } }; -static const struct TrainerMonCustomized sParty_Beau[] = { +static const struct TrainerMon sParty_Beau[] = { { .lvl = 21, .species = SPECIES_BALTOY, @@ -2454,14 +2454,14 @@ static const struct TrainerMonCustomized sParty_Beau[] = { } }; -static const struct TrainerMonCustomized sParty_Larry[] = { +static const struct TrainerMon sParty_Larry[] = { { .lvl = 18, .species = SPECIES_NUZLEAF, } }; -static const struct TrainerMonCustomized sParty_Shane[] = { +static const struct TrainerMon sParty_Shane[] = { { .lvl = 18, .species = SPECIES_SANDSHREW, @@ -2472,14 +2472,14 @@ static const struct TrainerMonCustomized sParty_Shane[] = { } }; -static const struct TrainerMonCustomized sParty_Justin[] = { +static const struct TrainerMon sParty_Justin[] = { { .lvl = 24, .species = SPECIES_KECLEON, } }; -static const struct TrainerMonCustomized sParty_Ethan1[] = { +static const struct TrainerMon sParty_Ethan1[] = { { .lvl = 20, .species = SPECIES_ZIGZAGOON, @@ -2490,21 +2490,21 @@ static const struct TrainerMonCustomized sParty_Ethan1[] = { } }; -static const struct TrainerMonCustomized sParty_Autumn[] = { +static const struct TrainerMon sParty_Autumn[] = { { .lvl = 21, .species = SPECIES_SHROOMISH, } }; -static const struct TrainerMonCustomized sParty_Travis[] = { +static const struct TrainerMon sParty_Travis[] = { { .lvl = 18, .species = SPECIES_SANDSHREW, } }; -static const struct TrainerMonCustomized sParty_Ethan2[] = { +static const struct TrainerMon sParty_Ethan2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -2517,7 +2517,7 @@ static const struct TrainerMonCustomized sParty_Ethan2[] = { } }; -static const struct TrainerMonCustomized sParty_Ethan3[] = { +static const struct TrainerMon sParty_Ethan3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -2530,7 +2530,7 @@ static const struct TrainerMonCustomized sParty_Ethan3[] = { } }; -static const struct TrainerMonCustomized sParty_Ethan4[] = { +static const struct TrainerMon sParty_Ethan4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -2548,7 +2548,7 @@ static const struct TrainerMonCustomized sParty_Ethan4[] = { } }; -static const struct TrainerMonCustomized sParty_Ethan5[] = { +static const struct TrainerMon sParty_Ethan5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, @@ -2566,7 +2566,7 @@ static const struct TrainerMonCustomized sParty_Ethan5[] = { } }; -static const struct TrainerMonCustomized sParty_Brent[] = { +static const struct TrainerMon sParty_Brent[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 26, @@ -2574,7 +2574,7 @@ static const struct TrainerMonCustomized sParty_Brent[] = { } }; -static const struct TrainerMonCustomized sParty_Donald[] = { +static const struct TrainerMon sParty_Donald[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 24, @@ -2592,7 +2592,7 @@ static const struct TrainerMonCustomized sParty_Donald[] = { } }; -static const struct TrainerMonCustomized sParty_Taylor[] = { +static const struct TrainerMon sParty_Taylor[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, @@ -2610,7 +2610,7 @@ static const struct TrainerMonCustomized sParty_Taylor[] = { } }; -static const struct TrainerMonCustomized sParty_Jeffrey1[] = { +static const struct TrainerMon sParty_Jeffrey1[] = { { .lvl = 27, .species = SPECIES_SURSKIT, @@ -2625,7 +2625,7 @@ static const struct TrainerMonCustomized sParty_Jeffrey1[] = { } }; -static const struct TrainerMonCustomized sParty_Derek[] = { +static const struct TrainerMon sParty_Derek[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 16, @@ -2638,7 +2638,7 @@ static const struct TrainerMonCustomized sParty_Derek[] = { } }; -static const struct TrainerMonCustomized sParty_Jeffrey2[] = { +static const struct TrainerMon sParty_Jeffrey2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, @@ -2656,7 +2656,7 @@ static const struct TrainerMonCustomized sParty_Jeffrey2[] = { } }; -static const struct TrainerMonCustomized sParty_Jeffrey3[] = { +static const struct TrainerMon sParty_Jeffrey3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 34, @@ -2674,7 +2674,7 @@ static const struct TrainerMonCustomized sParty_Jeffrey3[] = { } }; -static const struct TrainerMonCustomized sParty_Jeffrey4[] = { +static const struct TrainerMon sParty_Jeffrey4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, @@ -2697,7 +2697,7 @@ static const struct TrainerMonCustomized sParty_Jeffrey4[] = { } }; -static const struct TrainerMonCustomized sParty_Jeffrey5[] = { +static const struct TrainerMon sParty_Jeffrey5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 38, @@ -2730,7 +2730,7 @@ static const struct TrainerMonCustomized sParty_Jeffrey5[] = { } }; -static const struct TrainerMonCustomized sParty_Edward[] = { +static const struct TrainerMon sParty_Edward[] = { { .lvl = 15, .species = SPECIES_ABRA, @@ -2738,7 +2738,7 @@ static const struct TrainerMonCustomized sParty_Edward[] = { } }; -static const struct TrainerMonCustomized sParty_Preston[] = { +static const struct TrainerMon sParty_Preston[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -2746,7 +2746,7 @@ static const struct TrainerMonCustomized sParty_Preston[] = { } }; -static const struct TrainerMonCustomized sParty_Virgil[] = { +static const struct TrainerMon sParty_Virgil[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -2754,7 +2754,7 @@ static const struct TrainerMonCustomized sParty_Virgil[] = { } }; -static const struct TrainerMonCustomized sParty_Blake[] = { +static const struct TrainerMon sParty_Blake[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -2762,7 +2762,7 @@ static const struct TrainerMonCustomized sParty_Blake[] = { } }; -static const struct TrainerMonCustomized sParty_William[] = { +static const struct TrainerMon sParty_William[] = { { .lvl = 26, .species = SPECIES_RALTS, @@ -2777,7 +2777,7 @@ static const struct TrainerMonCustomized sParty_William[] = { } }; -static const struct TrainerMonCustomized sParty_Joshua[] = { +static const struct TrainerMon sParty_Joshua[] = { { .lvl = 41, .species = SPECIES_KADABRA, @@ -2788,14 +2788,14 @@ static const struct TrainerMonCustomized sParty_Joshua[] = { } }; -static const struct TrainerMonCustomized sParty_Cameron1[] = { +static const struct TrainerMon sParty_Cameron1[] = { { .lvl = 31, .species = SPECIES_SOLROCK, } }; -static const struct TrainerMonCustomized sParty_Cameron2[] = { +static const struct TrainerMon sParty_Cameron2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 33, @@ -2808,7 +2808,7 @@ static const struct TrainerMonCustomized sParty_Cameron2[] = { } }; -static const struct TrainerMonCustomized sParty_Cameron3[] = { +static const struct TrainerMon sParty_Cameron3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 38, @@ -2821,7 +2821,7 @@ static const struct TrainerMonCustomized sParty_Cameron3[] = { } }; -static const struct TrainerMonCustomized sParty_Cameron4[] = { +static const struct TrainerMon sParty_Cameron4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, @@ -2834,7 +2834,7 @@ static const struct TrainerMonCustomized sParty_Cameron4[] = { } }; -static const struct TrainerMonCustomized sParty_Cameron5[] = { +static const struct TrainerMon sParty_Cameron5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, @@ -2847,7 +2847,7 @@ static const struct TrainerMonCustomized sParty_Cameron5[] = { } }; -static const struct TrainerMonCustomized sParty_Jaclyn[] = { +static const struct TrainerMon sParty_Jaclyn[] = { { .lvl = 16, .species = SPECIES_ABRA, @@ -2855,7 +2855,7 @@ static const struct TrainerMonCustomized sParty_Jaclyn[] = { } }; -static const struct TrainerMonCustomized sParty_Hannah[] = { +static const struct TrainerMon sParty_Hannah[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -2863,7 +2863,7 @@ static const struct TrainerMonCustomized sParty_Hannah[] = { } }; -static const struct TrainerMonCustomized sParty_Samantha[] = { +static const struct TrainerMon sParty_Samantha[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -2871,7 +2871,7 @@ static const struct TrainerMonCustomized sParty_Samantha[] = { } }; -static const struct TrainerMonCustomized sParty_Maura[] = { +static const struct TrainerMon sParty_Maura[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -2879,7 +2879,7 @@ static const struct TrainerMonCustomized sParty_Maura[] = { } }; -static const struct TrainerMonCustomized sParty_Kayla[] = { +static const struct TrainerMon sParty_Kayla[] = { { .lvl = 26, .species = SPECIES_WOBBUFFET, @@ -2894,7 +2894,7 @@ static const struct TrainerMonCustomized sParty_Kayla[] = { } }; -static const struct TrainerMonCustomized sParty_Alexis[] = { +static const struct TrainerMon sParty_Alexis[] = { { .lvl = 41, .species = SPECIES_KIRLIA, @@ -2905,7 +2905,7 @@ static const struct TrainerMonCustomized sParty_Alexis[] = { } }; -static const struct TrainerMonCustomized sParty_Jacki1[] = { +static const struct TrainerMon sParty_Jacki1[] = { { .lvl = 30, .species = SPECIES_KADABRA, @@ -2916,7 +2916,7 @@ static const struct TrainerMonCustomized sParty_Jacki1[] = { } }; -static const struct TrainerMonCustomized sParty_Jacki2[] = { +static const struct TrainerMon sParty_Jacki2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, @@ -2929,7 +2929,7 @@ static const struct TrainerMonCustomized sParty_Jacki2[] = { } }; -static const struct TrainerMonCustomized sParty_Jacki3[] = { +static const struct TrainerMon sParty_Jacki3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, @@ -2942,7 +2942,7 @@ static const struct TrainerMonCustomized sParty_Jacki3[] = { } }; -static const struct TrainerMonCustomized sParty_Jacki4[] = { +static const struct TrainerMon sParty_Jacki4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 40, @@ -2955,7 +2955,7 @@ static const struct TrainerMonCustomized sParty_Jacki4[] = { } }; -static const struct TrainerMonCustomized sParty_Jacki5[] = { +static const struct TrainerMon sParty_Jacki5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, @@ -2968,14 +2968,14 @@ static const struct TrainerMonCustomized sParty_Jacki5[] = { } }; -static const struct TrainerMonCustomized sParty_Walter1[] = { +static const struct TrainerMon sParty_Walter1[] = { { .lvl = 29, .species = SPECIES_MANECTRIC, } }; -static const struct TrainerMonCustomized sParty_Micah[] = { +static const struct TrainerMon sParty_Micah[] = { { .lvl = 44, .species = SPECIES_MANECTRIC, @@ -2986,14 +2986,14 @@ static const struct TrainerMonCustomized sParty_Micah[] = { } }; -static const struct TrainerMonCustomized sParty_Thomas[] = { +static const struct TrainerMon sParty_Thomas[] = { { .lvl = 45, .species = SPECIES_ZANGOOSE, } }; -static const struct TrainerMonCustomized sParty_Walter2[] = { +static const struct TrainerMon sParty_Walter2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, @@ -3001,7 +3001,7 @@ static const struct TrainerMonCustomized sParty_Walter2[] = { } }; -static const struct TrainerMonCustomized sParty_Walter3[] = { +static const struct TrainerMon sParty_Walter3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, @@ -3016,7 +3016,7 @@ static const struct TrainerMonCustomized sParty_Walter3[] = { } }; -static const struct TrainerMonCustomized sParty_Walter4[] = { +static const struct TrainerMon sParty_Walter4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, @@ -3031,7 +3031,7 @@ static const struct TrainerMonCustomized sParty_Walter4[] = { } }; -static const struct TrainerMonCustomized sParty_Walter5[] = { +static const struct TrainerMon sParty_Walter5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, @@ -3052,7 +3052,7 @@ static const struct TrainerMonCustomized sParty_Walter5[] = { } }; -static const struct TrainerMonCustomized sParty_Sidney[] = { +static const struct TrainerMon sParty_Sidney[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 46, @@ -3090,7 +3090,7 @@ static const struct TrainerMonCustomized sParty_Sidney[] = { } }; -static const struct TrainerMonCustomized sParty_Phoebe[] = { +static const struct TrainerMon sParty_Phoebe[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 48, @@ -3128,7 +3128,7 @@ static const struct TrainerMonCustomized sParty_Phoebe[] = { } }; -static const struct TrainerMonCustomized sParty_Glacia[] = { +static const struct TrainerMon sParty_Glacia[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 50, @@ -3166,7 +3166,7 @@ static const struct TrainerMonCustomized sParty_Glacia[] = { } }; -static const struct TrainerMonCustomized sParty_Drake[] = { +static const struct TrainerMon sParty_Drake[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 52, @@ -3204,7 +3204,7 @@ static const struct TrainerMonCustomized sParty_Drake[] = { } }; -static const struct TrainerMonCustomized sParty_Roxanne1[] = { +static const struct TrainerMon sParty_Roxanne1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 12, @@ -3228,7 +3228,7 @@ static const struct TrainerMonCustomized sParty_Roxanne1[] = { } }; -static const struct TrainerMonCustomized sParty_Brawly1[] = { +static const struct TrainerMon sParty_Brawly1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 16, @@ -3252,7 +3252,7 @@ static const struct TrainerMonCustomized sParty_Brawly1[] = { } }; -static const struct TrainerMonCustomized sParty_Wattson1[] = { +static const struct TrainerMon sParty_Wattson1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 20, @@ -3283,7 +3283,7 @@ static const struct TrainerMonCustomized sParty_Wattson1[] = { } }; -static const struct TrainerMonCustomized sParty_Flannery1[] = { +static const struct TrainerMon sParty_Flannery1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 24, @@ -3314,7 +3314,7 @@ static const struct TrainerMonCustomized sParty_Flannery1[] = { } }; -static const struct TrainerMonCustomized sParty_Norman1[] = { +static const struct TrainerMon sParty_Norman1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 27, @@ -3345,7 +3345,7 @@ static const struct TrainerMonCustomized sParty_Norman1[] = { } }; -static const struct TrainerMonCustomized sParty_Winona1[] = { +static const struct TrainerMon sParty_Winona1[] = { { .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 29, @@ -3383,7 +3383,7 @@ static const struct TrainerMonCustomized sParty_Winona1[] = { } }; -static const struct TrainerMonCustomized sParty_TateAndLiza1[] = { +static const struct TrainerMon sParty_TateAndLiza1[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 41, @@ -3414,7 +3414,7 @@ static const struct TrainerMonCustomized sParty_TateAndLiza1[] = { } }; -static const struct TrainerMonCustomized sParty_Juan1[] = { +static const struct TrainerMon sParty_Juan1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 41, @@ -3452,7 +3452,7 @@ static const struct TrainerMonCustomized sParty_Juan1[] = { } }; -static const struct TrainerMonCustomized sParty_Jerry1[] = { +static const struct TrainerMon sParty_Jerry1[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 9, @@ -3460,7 +3460,7 @@ static const struct TrainerMonCustomized sParty_Jerry1[] = { } }; -static const struct TrainerMonCustomized sParty_Ted[] = { +static const struct TrainerMon sParty_Ted[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 17, @@ -3468,7 +3468,7 @@ static const struct TrainerMonCustomized sParty_Ted[] = { } }; -static const struct TrainerMonCustomized sParty_Paul[] = { +static const struct TrainerMon sParty_Paul[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 15, @@ -3486,7 +3486,7 @@ static const struct TrainerMonCustomized sParty_Paul[] = { } }; -static const struct TrainerMonCustomized sParty_Jerry2[] = { +static const struct TrainerMon sParty_Jerry2[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, @@ -3499,7 +3499,7 @@ static const struct TrainerMonCustomized sParty_Jerry2[] = { } }; -static const struct TrainerMonCustomized sParty_Jerry3[] = { +static const struct TrainerMon sParty_Jerry3[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, @@ -3512,7 +3512,7 @@ static const struct TrainerMonCustomized sParty_Jerry3[] = { } }; -static const struct TrainerMonCustomized sParty_Jerry4[] = { +static const struct TrainerMon sParty_Jerry4[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, @@ -3525,7 +3525,7 @@ static const struct TrainerMonCustomized sParty_Jerry4[] = { } }; -static const struct TrainerMonCustomized sParty_Jerry5[] = { +static const struct TrainerMon sParty_Jerry5[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 34, @@ -3543,7 +3543,7 @@ static const struct TrainerMonCustomized sParty_Jerry5[] = { } }; -static const struct TrainerMonCustomized sParty_Karen1[] = { +static const struct TrainerMon sParty_Karen1[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 9, @@ -3551,7 +3551,7 @@ static const struct TrainerMonCustomized sParty_Karen1[] = { } }; -static const struct TrainerMonCustomized sParty_Georgia[] = { +static const struct TrainerMon sParty_Georgia[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 16, @@ -3564,7 +3564,7 @@ static const struct TrainerMonCustomized sParty_Georgia[] = { } }; -static const struct TrainerMonCustomized sParty_Karen2[] = { +static const struct TrainerMon sParty_Karen2[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 26, @@ -3577,7 +3577,7 @@ static const struct TrainerMonCustomized sParty_Karen2[] = { } }; -static const struct TrainerMonCustomized sParty_Karen3[] = { +static const struct TrainerMon sParty_Karen3[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 29, @@ -3590,7 +3590,7 @@ static const struct TrainerMonCustomized sParty_Karen3[] = { } }; -static const struct TrainerMonCustomized sParty_Karen4[] = { +static const struct TrainerMon sParty_Karen4[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 32, @@ -3603,7 +3603,7 @@ static const struct TrainerMonCustomized sParty_Karen4[] = { } }; -static const struct TrainerMonCustomized sParty_Karen5[] = { +static const struct TrainerMon sParty_Karen5[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 35, @@ -3616,7 +3616,7 @@ static const struct TrainerMonCustomized sParty_Karen5[] = { } }; -static const struct TrainerMonCustomized sParty_KateAndJoy[] = { +static const struct TrainerMon sParty_KateAndJoy[] = { { .lvl = 30, .species = SPECIES_SPINDA, @@ -3629,7 +3629,7 @@ static const struct TrainerMonCustomized sParty_KateAndJoy[] = { } }; -static const struct TrainerMonCustomized sParty_AnnaAndMeg1[] = { +static const struct TrainerMon sParty_AnnaAndMeg1[] = { { .lvl = 15, .species = SPECIES_ZIGZAGOON, @@ -3642,7 +3642,7 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg1[] = { } }; -static const struct TrainerMonCustomized sParty_AnnaAndMeg2[] = { +static const struct TrainerMon sParty_AnnaAndMeg2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, @@ -3657,7 +3657,7 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg2[] = { } }; -static const struct TrainerMonCustomized sParty_AnnaAndMeg3[] = { +static const struct TrainerMon sParty_AnnaAndMeg3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, @@ -3672,7 +3672,7 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg3[] = { } }; -static const struct TrainerMonCustomized sParty_AnnaAndMeg4[] = { +static const struct TrainerMon sParty_AnnaAndMeg4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -3687,7 +3687,7 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg4[] = { } }; -static const struct TrainerMonCustomized sParty_AnnaAndMeg5[] = { +static const struct TrainerMon sParty_AnnaAndMeg5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, @@ -3702,7 +3702,7 @@ static const struct TrainerMonCustomized sParty_AnnaAndMeg5[] = { } }; -static const struct TrainerMonCustomized sParty_Victor[] = { +static const struct TrainerMon sParty_Victor[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 16, @@ -3717,7 +3717,7 @@ static const struct TrainerMonCustomized sParty_Victor[] = { } }; -static const struct TrainerMonCustomized sParty_Miguel1[] = { +static const struct TrainerMon sParty_Miguel1[] = { { .lvl = 15, .species = SPECIES_SKITTY, @@ -3725,7 +3725,7 @@ static const struct TrainerMonCustomized sParty_Miguel1[] = { } }; -static const struct TrainerMonCustomized sParty_Colton[] = { +static const struct TrainerMon sParty_Colton[] = { { .lvl = 22, .species = SPECIES_SKITTY, @@ -3764,7 +3764,7 @@ static const struct TrainerMonCustomized sParty_Colton[] = { } }; -static const struct TrainerMonCustomized sParty_Miguel2[] = { +static const struct TrainerMon sParty_Miguel2[] = { { .lvl = 29, .species = SPECIES_SKITTY, @@ -3772,7 +3772,7 @@ static const struct TrainerMonCustomized sParty_Miguel2[] = { } }; -static const struct TrainerMonCustomized sParty_Miguel3[] = { +static const struct TrainerMon sParty_Miguel3[] = { { .lvl = 32, .species = SPECIES_SKITTY, @@ -3780,7 +3780,7 @@ static const struct TrainerMonCustomized sParty_Miguel3[] = { } }; -static const struct TrainerMonCustomized sParty_Miguel4[] = { +static const struct TrainerMon sParty_Miguel4[] = { { .lvl = 35, .species = SPECIES_DELCATTY, @@ -3788,7 +3788,7 @@ static const struct TrainerMonCustomized sParty_Miguel4[] = { } }; -static const struct TrainerMonCustomized sParty_Miguel5[] = { +static const struct TrainerMon sParty_Miguel5[] = { { .lvl = 38, .species = SPECIES_DELCATTY, @@ -3796,7 +3796,7 @@ static const struct TrainerMonCustomized sParty_Miguel5[] = { } }; -static const struct TrainerMonCustomized sParty_Victoria[] = { +static const struct TrainerMon sParty_Victoria[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 17, @@ -3805,7 +3805,7 @@ static const struct TrainerMonCustomized sParty_Victoria[] = { } }; -static const struct TrainerMonCustomized sParty_Vanessa[] = { +static const struct TrainerMon sParty_Vanessa[] = { { .lvl = 30, .species = SPECIES_PIKACHU, @@ -3813,7 +3813,7 @@ static const struct TrainerMonCustomized sParty_Vanessa[] = { } }; -static const struct TrainerMonCustomized sParty_Bethany[] = { +static const struct TrainerMon sParty_Bethany[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 35, @@ -3834,7 +3834,7 @@ static const struct TrainerMonCustomized sParty_Bethany[] = { } }; -static const struct TrainerMonCustomized sParty_Isabel1[] = { +static const struct TrainerMon sParty_Isabel1[] = { { .lvl = 14, .species = SPECIES_PLUSLE, @@ -3847,7 +3847,7 @@ static const struct TrainerMonCustomized sParty_Isabel1[] = { } }; -static const struct TrainerMonCustomized sParty_Isabel2[] = { +static const struct TrainerMon sParty_Isabel2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -3862,7 +3862,7 @@ static const struct TrainerMonCustomized sParty_Isabel2[] = { } }; -static const struct TrainerMonCustomized sParty_Isabel3[] = { +static const struct TrainerMon sParty_Isabel3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -3877,7 +3877,7 @@ static const struct TrainerMonCustomized sParty_Isabel3[] = { } }; -static const struct TrainerMonCustomized sParty_Isabel4[] = { +static const struct TrainerMon sParty_Isabel4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, @@ -3892,7 +3892,7 @@ static const struct TrainerMonCustomized sParty_Isabel4[] = { } }; -static const struct TrainerMonCustomized sParty_Isabel5[] = { +static const struct TrainerMon sParty_Isabel5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 35, @@ -3907,7 +3907,7 @@ static const struct TrainerMonCustomized sParty_Isabel5[] = { } }; -static const struct TrainerMonCustomized sParty_Timothy1[] = { +static const struct TrainerMon sParty_Timothy1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 27, @@ -3915,7 +3915,7 @@ static const struct TrainerMonCustomized sParty_Timothy1[] = { } }; -static const struct TrainerMonCustomized sParty_Timothy2[] = { +static const struct TrainerMon sParty_Timothy2[] = { { .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 33, @@ -3924,7 +3924,7 @@ static const struct TrainerMonCustomized sParty_Timothy2[] = { } }; -static const struct TrainerMonCustomized sParty_Timothy3[] = { +static const struct TrainerMon sParty_Timothy3[] = { { .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 36, @@ -3933,7 +3933,7 @@ static const struct TrainerMonCustomized sParty_Timothy3[] = { } }; -static const struct TrainerMonCustomized sParty_Timothy4[] = { +static const struct TrainerMon sParty_Timothy4[] = { { .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 39, @@ -3942,7 +3942,7 @@ static const struct TrainerMonCustomized sParty_Timothy4[] = { } }; -static const struct TrainerMonCustomized sParty_Timothy5[] = { +static const struct TrainerMon sParty_Timothy5[] = { { .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 42, @@ -3951,7 +3951,7 @@ static const struct TrainerMonCustomized sParty_Timothy5[] = { } }; -static const struct TrainerMonCustomized sParty_Vicky[] = { +static const struct TrainerMon sParty_Vicky[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 18, @@ -3960,7 +3960,7 @@ static const struct TrainerMonCustomized sParty_Vicky[] = { } }; -static const struct TrainerMonCustomized sParty_Shelby1[] = { +static const struct TrainerMon sParty_Shelby1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 21, @@ -3973,7 +3973,7 @@ static const struct TrainerMonCustomized sParty_Shelby1[] = { } }; -static const struct TrainerMonCustomized sParty_Shelby2[] = { +static const struct TrainerMon sParty_Shelby2[] = { { .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 30, @@ -3986,7 +3986,7 @@ static const struct TrainerMonCustomized sParty_Shelby2[] = { } }; -static const struct TrainerMonCustomized sParty_Shelby3[] = { +static const struct TrainerMon sParty_Shelby3[] = { { .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 33, @@ -3999,7 +3999,7 @@ static const struct TrainerMonCustomized sParty_Shelby3[] = { } }; -static const struct TrainerMonCustomized sParty_Shelby4[] = { +static const struct TrainerMon sParty_Shelby4[] = { { .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 36, @@ -4012,7 +4012,7 @@ static const struct TrainerMonCustomized sParty_Shelby4[] = { } }; -static const struct TrainerMonCustomized sParty_Shelby5[] = { +static const struct TrainerMon sParty_Shelby5[] = { { .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 39, @@ -4025,14 +4025,14 @@ static const struct TrainerMonCustomized sParty_Shelby5[] = { } }; -static const struct TrainerMonCustomized sParty_Calvin1[] = { +static const struct TrainerMon sParty_Calvin1[] = { { .lvl = 5, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_Billy[] = { +static const struct TrainerMon sParty_Billy[] = { { .lvl = 5, .species = SPECIES_ZIGZAGOON, @@ -4043,7 +4043,7 @@ static const struct TrainerMonCustomized sParty_Billy[] = { } }; -static const struct TrainerMonCustomized sParty_Josh[] = { +static const struct TrainerMon sParty_Josh[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 10, @@ -4052,7 +4052,7 @@ static const struct TrainerMonCustomized sParty_Josh[] = { } }; -static const struct TrainerMonCustomized sParty_Tommy[] = { +static const struct TrainerMon sParty_Tommy[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 8, @@ -4065,14 +4065,14 @@ static const struct TrainerMonCustomized sParty_Tommy[] = { } }; -static const struct TrainerMonCustomized sParty_Joey[] = { +static const struct TrainerMon sParty_Joey[] = { { .lvl = 9, .species = SPECIES_MACHOP, } }; -static const struct TrainerMonCustomized sParty_Ben[] = { +static const struct TrainerMon sParty_Ben[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 17, @@ -4087,7 +4087,7 @@ static const struct TrainerMonCustomized sParty_Ben[] = { } }; -static const struct TrainerMonCustomized sParty_Quincy[] = { +static const struct TrainerMon sParty_Quincy[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, @@ -4102,7 +4102,7 @@ static const struct TrainerMonCustomized sParty_Quincy[] = { } }; -static const struct TrainerMonCustomized sParty_Katelynn[] = { +static const struct TrainerMon sParty_Katelynn[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 43, @@ -4117,21 +4117,21 @@ static const struct TrainerMonCustomized sParty_Katelynn[] = { } }; -static const struct TrainerMonCustomized sParty_Jaylen[] = { +static const struct TrainerMon sParty_Jaylen[] = { { .lvl = 19, .species = SPECIES_TRAPINCH, } }; -static const struct TrainerMonCustomized sParty_Dillon[] = { +static const struct TrainerMon sParty_Dillon[] = { { .lvl = 19, .species = SPECIES_ARON, } }; -static const struct TrainerMonCustomized sParty_Calvin2[] = { +static const struct TrainerMon sParty_Calvin2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, @@ -4139,7 +4139,7 @@ static const struct TrainerMonCustomized sParty_Calvin2[] = { } }; -static const struct TrainerMonCustomized sParty_Calvin3[] = { +static const struct TrainerMon sParty_Calvin3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, @@ -4152,7 +4152,7 @@ static const struct TrainerMonCustomized sParty_Calvin3[] = { } }; -static const struct TrainerMonCustomized sParty_Calvin4[] = { +static const struct TrainerMon sParty_Calvin4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -4170,7 +4170,7 @@ static const struct TrainerMonCustomized sParty_Calvin4[] = { } }; -static const struct TrainerMonCustomized sParty_Calvin5[] = { +static const struct TrainerMon sParty_Calvin5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, @@ -4188,7 +4188,7 @@ static const struct TrainerMonCustomized sParty_Calvin5[] = { } }; -static const struct TrainerMonCustomized sParty_Eddie[] = { +static const struct TrainerMon sParty_Eddie[] = { { .lvl = 14, .species = SPECIES_ZIGZAGOON, @@ -4199,7 +4199,7 @@ static const struct TrainerMonCustomized sParty_Eddie[] = { } }; -static const struct TrainerMonCustomized sParty_Allen[] = { +static const struct TrainerMon sParty_Allen[] = { { .lvl = 4, .species = SPECIES_ZIGZAGOON, @@ -4210,7 +4210,7 @@ static const struct TrainerMonCustomized sParty_Allen[] = { } }; -static const struct TrainerMonCustomized sParty_Timmy[] = { +static const struct TrainerMon sParty_Timmy[] = { { .lvl = 15, .species = SPECIES_ARON, @@ -4221,7 +4221,7 @@ static const struct TrainerMonCustomized sParty_Timmy[] = { } }; -static const struct TrainerMonCustomized sParty_Wallace[] = { +static const struct TrainerMon sParty_Wallace[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, @@ -4266,7 +4266,7 @@ static const struct TrainerMonCustomized sParty_Wallace[] = { } }; -static const struct TrainerMonCustomized sParty_Andrew[] = { +static const struct TrainerMon sParty_Andrew[] = { { .lvl = 5, .species = SPECIES_MAGIKARP, @@ -4281,7 +4281,7 @@ static const struct TrainerMonCustomized sParty_Andrew[] = { } }; -static const struct TrainerMonCustomized sParty_Ivan[] = { +static const struct TrainerMon sParty_Ivan[] = { { .lvl = 5, .species = SPECIES_MAGIKARP, @@ -4296,7 +4296,7 @@ static const struct TrainerMonCustomized sParty_Ivan[] = { } }; -static const struct TrainerMonCustomized sParty_Claude[] = { +static const struct TrainerMon sParty_Claude[] = { { .lvl = 16, .species = SPECIES_MAGIKARP, @@ -4311,7 +4311,7 @@ static const struct TrainerMonCustomized sParty_Claude[] = { } }; -static const struct TrainerMonCustomized sParty_Elliot1[] = { +static const struct TrainerMon sParty_Elliot1[] = { { .lvl = 10, .species = SPECIES_MAGIKARP, @@ -4326,7 +4326,7 @@ static const struct TrainerMonCustomized sParty_Elliot1[] = { } }; -static const struct TrainerMonCustomized sParty_Ned[] = { +static const struct TrainerMon sParty_Ned[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 11, @@ -4334,7 +4334,7 @@ static const struct TrainerMonCustomized sParty_Ned[] = { } }; -static const struct TrainerMonCustomized sParty_Dale[] = { +static const struct TrainerMon sParty_Dale[] = { { .lvl = 11, .species = SPECIES_TENTACOOL, @@ -4353,14 +4353,14 @@ static const struct TrainerMonCustomized sParty_Dale[] = { } }; -static const struct TrainerMonCustomized sParty_Nolan[] = { +static const struct TrainerMon sParty_Nolan[] = { { .lvl = 19, .species = SPECIES_BARBOACH, } }; -static const struct TrainerMonCustomized sParty_Barny[] = { +static const struct TrainerMon sParty_Barny[] = { { .lvl = 25, .species = SPECIES_TENTACOOL, @@ -4371,14 +4371,14 @@ static const struct TrainerMonCustomized sParty_Barny[] = { } }; -static const struct TrainerMonCustomized sParty_Wade[] = { +static const struct TrainerMon sParty_Wade[] = { { .lvl = 16, .species = SPECIES_TENTACOOL, } }; -static const struct TrainerMonCustomized sParty_Carter[] = { +static const struct TrainerMon sParty_Carter[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, @@ -4391,7 +4391,7 @@ static const struct TrainerMonCustomized sParty_Carter[] = { } }; -static const struct TrainerMonCustomized sParty_Elliot2[] = { +static const struct TrainerMon sParty_Elliot2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, @@ -4409,7 +4409,7 @@ static const struct TrainerMonCustomized sParty_Elliot2[] = { } }; -static const struct TrainerMonCustomized sParty_Elliot3[] = { +static const struct TrainerMon sParty_Elliot3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -4432,7 +4432,7 @@ static const struct TrainerMonCustomized sParty_Elliot3[] = { } }; -static const struct TrainerMonCustomized sParty_Elliot4[] = { +static const struct TrainerMon sParty_Elliot4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -4455,7 +4455,7 @@ static const struct TrainerMonCustomized sParty_Elliot4[] = { } }; -static const struct TrainerMonCustomized sParty_Elliot5[] = { +static const struct TrainerMon sParty_Elliot5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, @@ -4478,7 +4478,7 @@ static const struct TrainerMonCustomized sParty_Elliot5[] = { } }; -static const struct TrainerMonCustomized sParty_Ronald[] = { +static const struct TrainerMon sParty_Ronald[] = { { .lvl = 19, .species = SPECIES_MAGIKARP, @@ -4505,7 +4505,7 @@ static const struct TrainerMonCustomized sParty_Ronald[] = { } }; -static const struct TrainerMonCustomized sParty_Jacob[] = { +static const struct TrainerMon sParty_Jacob[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 6, @@ -4523,7 +4523,7 @@ static const struct TrainerMonCustomized sParty_Jacob[] = { } }; -static const struct TrainerMonCustomized sParty_Anthony[] = { +static const struct TrainerMon sParty_Anthony[] = { { .lvl = 14, .species = SPECIES_MAGNEMITE, @@ -4534,14 +4534,14 @@ static const struct TrainerMonCustomized sParty_Anthony[] = { } }; -static const struct TrainerMonCustomized sParty_Benjamin1[] = { +static const struct TrainerMon sParty_Benjamin1[] = { { .lvl = 16, .species = SPECIES_MAGNEMITE, } }; -static const struct TrainerMonCustomized sParty_Benjamin2[] = { +static const struct TrainerMon sParty_Benjamin2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, @@ -4549,7 +4549,7 @@ static const struct TrainerMonCustomized sParty_Benjamin2[] = { } }; -static const struct TrainerMonCustomized sParty_Benjamin3[] = { +static const struct TrainerMon sParty_Benjamin3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, @@ -4557,7 +4557,7 @@ static const struct TrainerMonCustomized sParty_Benjamin3[] = { } }; -static const struct TrainerMonCustomized sParty_Benjamin4[] = { +static const struct TrainerMon sParty_Benjamin4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, @@ -4565,7 +4565,7 @@ static const struct TrainerMonCustomized sParty_Benjamin4[] = { } }; -static const struct TrainerMonCustomized sParty_Benjamin5[] = { +static const struct TrainerMon sParty_Benjamin5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, @@ -4573,14 +4573,14 @@ static const struct TrainerMonCustomized sParty_Benjamin5[] = { } }; -static const struct TrainerMonCustomized sParty_Abigail1[] = { +static const struct TrainerMon sParty_Abigail1[] = { { .lvl = 16, .species = SPECIES_MAGNEMITE, } }; -static const struct TrainerMonCustomized sParty_Jasmine[] = { +static const struct TrainerMon sParty_Jasmine[] = { { .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 14, @@ -4597,7 +4597,7 @@ static const struct TrainerMonCustomized sParty_Jasmine[] = { } }; -static const struct TrainerMonCustomized sParty_Abigail2[] = { +static const struct TrainerMon sParty_Abigail2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, @@ -4605,7 +4605,7 @@ static const struct TrainerMonCustomized sParty_Abigail2[] = { } }; -static const struct TrainerMonCustomized sParty_Abigail3[] = { +static const struct TrainerMon sParty_Abigail3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, @@ -4613,7 +4613,7 @@ static const struct TrainerMonCustomized sParty_Abigail3[] = { } }; -static const struct TrainerMonCustomized sParty_Abigail4[] = { +static const struct TrainerMon sParty_Abigail4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -4621,7 +4621,7 @@ static const struct TrainerMonCustomized sParty_Abigail4[] = { } }; -static const struct TrainerMonCustomized sParty_Abigail5[] = { +static const struct TrainerMon sParty_Abigail5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -4629,14 +4629,14 @@ static const struct TrainerMonCustomized sParty_Abigail5[] = { } }; -static const struct TrainerMonCustomized sParty_Dylan1[] = { +static const struct TrainerMon sParty_Dylan1[] = { { .lvl = 17, .species = SPECIES_DODUO, } }; -static const struct TrainerMonCustomized sParty_Dylan2[] = { +static const struct TrainerMon sParty_Dylan2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, @@ -4644,7 +4644,7 @@ static const struct TrainerMonCustomized sParty_Dylan2[] = { } }; -static const struct TrainerMonCustomized sParty_Dylan3[] = { +static const struct TrainerMon sParty_Dylan3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, @@ -4652,7 +4652,7 @@ static const struct TrainerMonCustomized sParty_Dylan3[] = { } }; -static const struct TrainerMonCustomized sParty_Dylan4[] = { +static const struct TrainerMon sParty_Dylan4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -4660,7 +4660,7 @@ static const struct TrainerMonCustomized sParty_Dylan4[] = { } }; -static const struct TrainerMonCustomized sParty_Dylan5[] = { +static const struct TrainerMon sParty_Dylan5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -4668,14 +4668,14 @@ static const struct TrainerMonCustomized sParty_Dylan5[] = { } }; -static const struct TrainerMonCustomized sParty_Maria1[] = { +static const struct TrainerMon sParty_Maria1[] = { { .lvl = 17, .species = SPECIES_DODUO, } }; -static const struct TrainerMonCustomized sParty_Maria2[] = { +static const struct TrainerMon sParty_Maria2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 28, @@ -4683,7 +4683,7 @@ static const struct TrainerMonCustomized sParty_Maria2[] = { } }; -static const struct TrainerMonCustomized sParty_Maria3[] = { +static const struct TrainerMon sParty_Maria3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 31, @@ -4691,7 +4691,7 @@ static const struct TrainerMonCustomized sParty_Maria3[] = { } }; -static const struct TrainerMonCustomized sParty_Maria4[] = { +static const struct TrainerMon sParty_Maria4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -4699,7 +4699,7 @@ static const struct TrainerMonCustomized sParty_Maria4[] = { } }; -static const struct TrainerMonCustomized sParty_Maria5[] = { +static const struct TrainerMon sParty_Maria5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -4707,7 +4707,7 @@ static const struct TrainerMonCustomized sParty_Maria5[] = { } }; -static const struct TrainerMonCustomized sParty_Camden[] = { +static const struct TrainerMon sParty_Camden[] = { { .lvl = 33, .species = SPECIES_STARYU, @@ -4718,7 +4718,7 @@ static const struct TrainerMonCustomized sParty_Camden[] = { } }; -static const struct TrainerMonCustomized sParty_Demetrius[] = { +static const struct TrainerMon sParty_Demetrius[] = { { .lvl = 25, .species = SPECIES_ZIGZAGOON, @@ -4729,14 +4729,14 @@ static const struct TrainerMonCustomized sParty_Demetrius[] = { } }; -static const struct TrainerMonCustomized sParty_Isaiah1[] = { +static const struct TrainerMon sParty_Isaiah1[] = { { .lvl = 35, .species = SPECIES_STARYU, } }; -static const struct TrainerMonCustomized sParty_Pablo1[] = { +static const struct TrainerMon sParty_Pablo1[] = { { .lvl = 33, .species = SPECIES_STARYU, @@ -4747,7 +4747,7 @@ static const struct TrainerMonCustomized sParty_Pablo1[] = { } }; -static const struct TrainerMonCustomized sParty_Chase[] = { +static const struct TrainerMon sParty_Chase[] = { { .lvl = 26, .species = SPECIES_WINGULL, @@ -4759,7 +4759,7 @@ static const struct TrainerMonCustomized sParty_Chase[] = { } }; -static const struct TrainerMonCustomized sParty_Isaiah2[] = { +static const struct TrainerMon sParty_Isaiah2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 39, @@ -4767,7 +4767,7 @@ static const struct TrainerMonCustomized sParty_Isaiah2[] = { } }; -static const struct TrainerMonCustomized sParty_Isaiah3[] = { +static const struct TrainerMon sParty_Isaiah3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 42, @@ -4775,7 +4775,7 @@ static const struct TrainerMonCustomized sParty_Isaiah3[] = { } }; -static const struct TrainerMonCustomized sParty_Isaiah4[] = { +static const struct TrainerMon sParty_Isaiah4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 45, @@ -4783,7 +4783,7 @@ static const struct TrainerMonCustomized sParty_Isaiah4[] = { } }; -static const struct TrainerMonCustomized sParty_Isaiah5[] = { +static const struct TrainerMon sParty_Isaiah5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 48, @@ -4791,14 +4791,14 @@ static const struct TrainerMonCustomized sParty_Isaiah5[] = { } }; -static const struct TrainerMonCustomized sParty_Isobel[] = { +static const struct TrainerMon sParty_Isobel[] = { { .lvl = 34, .species = SPECIES_STARYU, } }; -static const struct TrainerMonCustomized sParty_Donny[] = { +static const struct TrainerMon sParty_Donny[] = { { .lvl = 26, .species = SPECIES_WINGULL, @@ -4810,21 +4810,21 @@ static const struct TrainerMonCustomized sParty_Donny[] = { } }; -static const struct TrainerMonCustomized sParty_Talia[] = { +static const struct TrainerMon sParty_Talia[] = { { .lvl = 34, .species = SPECIES_STARYU, } }; -static const struct TrainerMonCustomized sParty_Katelyn1[] = { +static const struct TrainerMon sParty_Katelyn1[] = { { .lvl = 35, .species = SPECIES_STARYU, } }; -static const struct TrainerMonCustomized sParty_Allison[] = { +static const struct TrainerMon sParty_Allison[] = { { .lvl = 27, .species = SPECIES_WINGULL, @@ -4836,7 +4836,7 @@ static const struct TrainerMonCustomized sParty_Allison[] = { } }; -static const struct TrainerMonCustomized sParty_Katelyn2[] = { +static const struct TrainerMon sParty_Katelyn2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 39, @@ -4844,7 +4844,7 @@ static const struct TrainerMonCustomized sParty_Katelyn2[] = { } }; -static const struct TrainerMonCustomized sParty_Katelyn3[] = { +static const struct TrainerMon sParty_Katelyn3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 42, @@ -4852,7 +4852,7 @@ static const struct TrainerMonCustomized sParty_Katelyn3[] = { } }; -static const struct TrainerMonCustomized sParty_Katelyn4[] = { +static const struct TrainerMon sParty_Katelyn4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 45, @@ -4860,7 +4860,7 @@ static const struct TrainerMonCustomized sParty_Katelyn4[] = { } }; -static const struct TrainerMonCustomized sParty_Katelyn5[] = { +static const struct TrainerMon sParty_Katelyn5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 48, @@ -4868,7 +4868,7 @@ static const struct TrainerMonCustomized sParty_Katelyn5[] = { } }; -static const struct TrainerMonCustomized sParty_Nicolas1[] = { +static const struct TrainerMon sParty_Nicolas1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 37, @@ -4881,7 +4881,7 @@ static const struct TrainerMonCustomized sParty_Nicolas1[] = { } }; -static const struct TrainerMonCustomized sParty_Nicolas2[] = { +static const struct TrainerMon sParty_Nicolas2[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 41, @@ -4894,7 +4894,7 @@ static const struct TrainerMonCustomized sParty_Nicolas2[] = { } }; -static const struct TrainerMonCustomized sParty_Nicolas3[] = { +static const struct TrainerMon sParty_Nicolas3[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 44, @@ -4907,7 +4907,7 @@ static const struct TrainerMonCustomized sParty_Nicolas3[] = { } }; -static const struct TrainerMonCustomized sParty_Nicolas4[] = { +static const struct TrainerMon sParty_Nicolas4[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 46, @@ -4925,7 +4925,7 @@ static const struct TrainerMonCustomized sParty_Nicolas4[] = { } }; -static const struct TrainerMonCustomized sParty_Nicolas5[] = { +static const struct TrainerMon sParty_Nicolas5[] = { { .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 49, @@ -4946,7 +4946,7 @@ static const struct TrainerMonCustomized sParty_Nicolas5[] = { } }; -static const struct TrainerMonCustomized sParty_Aaron[] = { +static const struct TrainerMon sParty_Aaron[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 34, @@ -4955,14 +4955,14 @@ static const struct TrainerMonCustomized sParty_Aaron[] = { } }; -static const struct TrainerMonCustomized sParty_Perry[] = { +static const struct TrainerMon sParty_Perry[] = { { .lvl = 26, .species = SPECIES_WINGULL, } }; -static const struct TrainerMonCustomized sParty_Hugh[] = { +static const struct TrainerMon sParty_Hugh[] = { { .lvl = 25, .species = SPECIES_WINGULL, @@ -4973,14 +4973,14 @@ static const struct TrainerMonCustomized sParty_Hugh[] = { } }; -static const struct TrainerMonCustomized sParty_Phil[] = { +static const struct TrainerMon sParty_Phil[] = { { .lvl = 26, .species = SPECIES_SWELLOW, } }; -static const struct TrainerMonCustomized sParty_Jared[] = { +static const struct TrainerMon sParty_Jared[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, @@ -4998,7 +4998,7 @@ static const struct TrainerMonCustomized sParty_Jared[] = { } }; -static const struct TrainerMonCustomized sParty_Humberto[] = { +static const struct TrainerMon sParty_Humberto[] = { { .iv = TRAINER_PARTY_IVS(30, 30, 30, 30, 30, 30), .lvl = 30, @@ -5006,7 +5006,7 @@ static const struct TrainerMonCustomized sParty_Humberto[] = { } }; -static const struct TrainerMonCustomized sParty_Presley[] = { +static const struct TrainerMon sParty_Presley[] = { { .lvl = 33, .species = SPECIES_TROPIUS, @@ -5017,7 +5017,7 @@ static const struct TrainerMonCustomized sParty_Presley[] = { } }; -static const struct TrainerMonCustomized sParty_Edwardo[] = { +static const struct TrainerMon sParty_Edwardo[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 29, @@ -5030,7 +5030,7 @@ static const struct TrainerMonCustomized sParty_Edwardo[] = { } }; -static const struct TrainerMonCustomized sParty_Colin[] = { +static const struct TrainerMon sParty_Colin[] = { { .lvl = 28, .species = SPECIES_WINGULL, @@ -5041,14 +5041,14 @@ static const struct TrainerMonCustomized sParty_Colin[] = { } }; -static const struct TrainerMonCustomized sParty_Robert1[] = { +static const struct TrainerMon sParty_Robert1[] = { { .lvl = 29, .species = SPECIES_SWABLU, } }; -static const struct TrainerMonCustomized sParty_Benny[] = { +static const struct TrainerMon sParty_Benny[] = { { .lvl = 36, .species = SPECIES_SWELLOW, @@ -5063,7 +5063,7 @@ static const struct TrainerMonCustomized sParty_Benny[] = { } }; -static const struct TrainerMonCustomized sParty_Chester[] = { +static const struct TrainerMon sParty_Chester[] = { { .lvl = 25, .species = SPECIES_TAILLOW, @@ -5074,7 +5074,7 @@ static const struct TrainerMonCustomized sParty_Chester[] = { } }; -static const struct TrainerMonCustomized sParty_Robert2[] = { +static const struct TrainerMon sParty_Robert2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 32, @@ -5087,7 +5087,7 @@ static const struct TrainerMonCustomized sParty_Robert2[] = { } }; -static const struct TrainerMonCustomized sParty_Robert3[] = { +static const struct TrainerMon sParty_Robert3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 35, @@ -5100,7 +5100,7 @@ static const struct TrainerMonCustomized sParty_Robert3[] = { } }; -static const struct TrainerMonCustomized sParty_Robert4[] = { +static const struct TrainerMon sParty_Robert4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, @@ -5113,7 +5113,7 @@ static const struct TrainerMonCustomized sParty_Robert4[] = { } }; -static const struct TrainerMonCustomized sParty_Robert5[] = { +static const struct TrainerMon sParty_Robert5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, @@ -5126,7 +5126,7 @@ static const struct TrainerMonCustomized sParty_Robert5[] = { } }; -static const struct TrainerMonCustomized sParty_Alex[] = { +static const struct TrainerMon sParty_Alex[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 33, @@ -5139,21 +5139,21 @@ static const struct TrainerMonCustomized sParty_Alex[] = { } }; -static const struct TrainerMonCustomized sParty_Beck[] = { +static const struct TrainerMon sParty_Beck[] = { { .lvl = 34, .species = SPECIES_TROPIUS, } }; -static const struct TrainerMonCustomized sParty_Yasu[] = { +static const struct TrainerMon sParty_Yasu[] = { { .lvl = 26, .species = SPECIES_NINJASK, } }; -static const struct TrainerMonCustomized sParty_Takashi[] = { +static const struct TrainerMon sParty_Takashi[] = { { .lvl = 25, .species = SPECIES_NINJASK, @@ -5164,7 +5164,7 @@ static const struct TrainerMonCustomized sParty_Takashi[] = { } }; -static const struct TrainerMonCustomized sParty_Dianne[] = { +static const struct TrainerMon sParty_Dianne[] = { { .lvl = 43, .species = SPECIES_CLAYDOL, @@ -5179,14 +5179,14 @@ static const struct TrainerMonCustomized sParty_Dianne[] = { } }; -static const struct TrainerMonCustomized sParty_Jani[] = { +static const struct TrainerMon sParty_Jani[] = { { .lvl = 26, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Lao1[] = { +static const struct TrainerMon sParty_Lao1[] = { { .lvl = 17, .species = SPECIES_KOFFING, @@ -5204,7 +5204,7 @@ static const struct TrainerMonCustomized sParty_Lao1[] = { } }; -static const struct TrainerMonCustomized sParty_Lung[] = { +static const struct TrainerMon sParty_Lung[] = { { .lvl = 18, .species = SPECIES_KOFFING, @@ -5215,7 +5215,7 @@ static const struct TrainerMonCustomized sParty_Lung[] = { } }; -static const struct TrainerMonCustomized sParty_Lao2[] = { +static const struct TrainerMon sParty_Lao2[] = { { .lvl = 24, .species = SPECIES_KOFFING, @@ -5238,7 +5238,7 @@ static const struct TrainerMonCustomized sParty_Lao2[] = { } }; -static const struct TrainerMonCustomized sParty_Lao3[] = { +static const struct TrainerMon sParty_Lao3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, @@ -5265,7 +5265,7 @@ static const struct TrainerMonCustomized sParty_Lao3[] = { } }; -static const struct TrainerMonCustomized sParty_Lao4[] = { +static const struct TrainerMon sParty_Lao4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, @@ -5292,7 +5292,7 @@ static const struct TrainerMonCustomized sParty_Lao4[] = { } }; -static const struct TrainerMonCustomized sParty_Lao5[] = { +static const struct TrainerMon sParty_Lao5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, @@ -5323,7 +5323,7 @@ static const struct TrainerMonCustomized sParty_Lao5[] = { } }; -static const struct TrainerMonCustomized sParty_Jocelyn[] = { +static const struct TrainerMon sParty_Jocelyn[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 13, @@ -5331,7 +5331,7 @@ static const struct TrainerMonCustomized sParty_Jocelyn[] = { } }; -static const struct TrainerMonCustomized sParty_Laura[] = { +static const struct TrainerMon sParty_Laura[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 13, @@ -5339,7 +5339,7 @@ static const struct TrainerMonCustomized sParty_Laura[] = { } }; -static const struct TrainerMonCustomized sParty_Cyndy1[] = { +static const struct TrainerMon sParty_Cyndy1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 18, @@ -5352,7 +5352,7 @@ static const struct TrainerMonCustomized sParty_Cyndy1[] = { } }; -static const struct TrainerMonCustomized sParty_Cora[] = { +static const struct TrainerMon sParty_Cora[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, @@ -5360,7 +5360,7 @@ static const struct TrainerMonCustomized sParty_Cora[] = { } }; -static const struct TrainerMonCustomized sParty_Paula[] = { +static const struct TrainerMon sParty_Paula[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, @@ -5368,7 +5368,7 @@ static const struct TrainerMonCustomized sParty_Paula[] = { } }; -static const struct TrainerMonCustomized sParty_Cyndy2[] = { +static const struct TrainerMon sParty_Cyndy2[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 26, @@ -5381,7 +5381,7 @@ static const struct TrainerMonCustomized sParty_Cyndy2[] = { } }; -static const struct TrainerMonCustomized sParty_Cyndy3[] = { +static const struct TrainerMon sParty_Cyndy3[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 29, @@ -5394,7 +5394,7 @@ static const struct TrainerMonCustomized sParty_Cyndy3[] = { } }; -static const struct TrainerMonCustomized sParty_Cyndy4[] = { +static const struct TrainerMon sParty_Cyndy4[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 32, @@ -5407,7 +5407,7 @@ static const struct TrainerMonCustomized sParty_Cyndy4[] = { } }; -static const struct TrainerMonCustomized sParty_Cyndy5[] = { +static const struct TrainerMon sParty_Cyndy5[] = { { .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 35, @@ -5420,7 +5420,7 @@ static const struct TrainerMonCustomized sParty_Cyndy5[] = { } }; -static const struct TrainerMonCustomized sParty_Madeline1[] = { +static const struct TrainerMon sParty_Madeline1[] = { { .lvl = 19, .species = SPECIES_NUMEL, @@ -5428,7 +5428,7 @@ static const struct TrainerMonCustomized sParty_Madeline1[] = { } }; -static const struct TrainerMonCustomized sParty_Clarissa[] = { +static const struct TrainerMon sParty_Clarissa[] = { { .lvl = 28, .species = SPECIES_ROSELIA, @@ -5439,7 +5439,7 @@ static const struct TrainerMonCustomized sParty_Clarissa[] = { } }; -static const struct TrainerMonCustomized sParty_Angelica[] = { +static const struct TrainerMon sParty_Angelica[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 30, @@ -5448,7 +5448,7 @@ static const struct TrainerMonCustomized sParty_Angelica[] = { } }; -static const struct TrainerMonCustomized sParty_Madeline2[] = { +static const struct TrainerMon sParty_Madeline2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 29, @@ -5457,7 +5457,7 @@ static const struct TrainerMonCustomized sParty_Madeline2[] = { } }; -static const struct TrainerMonCustomized sParty_Madeline3[] = { +static const struct TrainerMon sParty_Madeline3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 32, @@ -5466,7 +5466,7 @@ static const struct TrainerMonCustomized sParty_Madeline3[] = { } }; -static const struct TrainerMonCustomized sParty_Madeline4[] = { +static const struct TrainerMon sParty_Madeline4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -5481,7 +5481,7 @@ static const struct TrainerMonCustomized sParty_Madeline4[] = { } }; -static const struct TrainerMonCustomized sParty_Madeline5[] = { +static const struct TrainerMon sParty_Madeline5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -5496,7 +5496,7 @@ static const struct TrainerMonCustomized sParty_Madeline5[] = { } }; -static const struct TrainerMonCustomized sParty_Beverly[] = { +static const struct TrainerMon sParty_Beverly[] = { { .lvl = 25, .species = SPECIES_WINGULL, @@ -5507,21 +5507,21 @@ static const struct TrainerMonCustomized sParty_Beverly[] = { } }; -static const struct TrainerMonCustomized sParty_Imani[] = { +static const struct TrainerMon sParty_Imani[] = { { .lvl = 26, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Kyla[] = { +static const struct TrainerMon sParty_Kyla[] = { { .lvl = 26, .species = SPECIES_WAILMER, } }; -static const struct TrainerMonCustomized sParty_Denise[] = { +static const struct TrainerMon sParty_Denise[] = { { .lvl = 25, .species = SPECIES_WINGULL, @@ -5532,14 +5532,14 @@ static const struct TrainerMonCustomized sParty_Denise[] = { } }; -static const struct TrainerMonCustomized sParty_Beth[] = { +static const struct TrainerMon sParty_Beth[] = { { .lvl = 26, .species = SPECIES_GOLDEEN, } }; -static const struct TrainerMonCustomized sParty_Tara[] = { +static const struct TrainerMon sParty_Tara[] = { { .lvl = 25, .species = SPECIES_HORSEA, @@ -5550,14 +5550,14 @@ static const struct TrainerMonCustomized sParty_Tara[] = { } }; -static const struct TrainerMonCustomized sParty_Missy[] = { +static const struct TrainerMon sParty_Missy[] = { { .lvl = 26, .species = SPECIES_GOLDEEN, } }; -static const struct TrainerMonCustomized sParty_Alice[] = { +static const struct TrainerMon sParty_Alice[] = { { .lvl = 24, .species = SPECIES_GOLDEEN, @@ -5572,35 +5572,35 @@ static const struct TrainerMonCustomized sParty_Alice[] = { } }; -static const struct TrainerMonCustomized sParty_Jenny1[] = { +static const struct TrainerMon sParty_Jenny1[] = { { .lvl = 34, .species = SPECIES_WAILMER, } }; -static const struct TrainerMonCustomized sParty_Grace[] = { +static const struct TrainerMon sParty_Grace[] = { { .lvl = 34, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Tanya[] = { +static const struct TrainerMon sParty_Tanya[] = { { .lvl = 34, .species = SPECIES_LUVDISC, } }; -static const struct TrainerMonCustomized sParty_Sharon[] = { +static const struct TrainerMon sParty_Sharon[] = { { .lvl = 34, .species = SPECIES_SEAKING, } }; -static const struct TrainerMonCustomized sParty_Nikki[] = { +static const struct TrainerMon sParty_Nikki[] = { { .lvl = 33, .species = SPECIES_MARILL, @@ -5611,14 +5611,14 @@ static const struct TrainerMonCustomized sParty_Nikki[] = { } }; -static const struct TrainerMonCustomized sParty_Brenda[] = { +static const struct TrainerMon sParty_Brenda[] = { { .lvl = 34, .species = SPECIES_GOLDEEN, } }; -static const struct TrainerMonCustomized sParty_Katie[] = { +static const struct TrainerMon sParty_Katie[] = { { .lvl = 33, .species = SPECIES_GOLDEEN, @@ -5629,28 +5629,28 @@ static const struct TrainerMonCustomized sParty_Katie[] = { } }; -static const struct TrainerMonCustomized sParty_Susie[] = { +static const struct TrainerMon sParty_Susie[] = { { .lvl = 34, .species = SPECIES_LUVDISC, } }; -static const struct TrainerMonCustomized sParty_Kara[] = { +static const struct TrainerMon sParty_Kara[] = { { .lvl = 34, .species = SPECIES_SEAKING, } }; -static const struct TrainerMonCustomized sParty_Dana[] = { +static const struct TrainerMon sParty_Dana[] = { { .lvl = 34, .species = SPECIES_AZUMARILL, } }; -static const struct TrainerMonCustomized sParty_Sienna[] = { +static const struct TrainerMon sParty_Sienna[] = { { .lvl = 33, .species = SPECIES_LUVDISC, @@ -5661,14 +5661,14 @@ static const struct TrainerMonCustomized sParty_Sienna[] = { } }; -static const struct TrainerMonCustomized sParty_Debra[] = { +static const struct TrainerMon sParty_Debra[] = { { .lvl = 34, .species = SPECIES_SEAKING, } }; -static const struct TrainerMonCustomized sParty_Linda[] = { +static const struct TrainerMon sParty_Linda[] = { { .lvl = 33, .species = SPECIES_HORSEA, @@ -5679,7 +5679,7 @@ static const struct TrainerMonCustomized sParty_Linda[] = { } }; -static const struct TrainerMonCustomized sParty_Kaylee[] = { +static const struct TrainerMon sParty_Kaylee[] = { { .lvl = 34, .species = SPECIES_LANTURN, @@ -5690,7 +5690,7 @@ static const struct TrainerMonCustomized sParty_Kaylee[] = { } }; -static const struct TrainerMonCustomized sParty_Laurel[] = { +static const struct TrainerMon sParty_Laurel[] = { { .lvl = 33, .species = SPECIES_LUVDISC, @@ -5701,28 +5701,28 @@ static const struct TrainerMonCustomized sParty_Laurel[] = { } }; -static const struct TrainerMonCustomized sParty_Carlee[] = { +static const struct TrainerMon sParty_Carlee[] = { { .lvl = 35, .species = SPECIES_SEAKING, } }; -static const struct TrainerMonCustomized sParty_Jenny2[] = { +static const struct TrainerMon sParty_Jenny2[] = { { .lvl = 38, .species = SPECIES_WAILMER, } }; -static const struct TrainerMonCustomized sParty_Jenny3[] = { +static const struct TrainerMon sParty_Jenny3[] = { { .lvl = 41, .species = SPECIES_WAILMER, } }; -static const struct TrainerMonCustomized sParty_Jenny4[] = { +static const struct TrainerMon sParty_Jenny4[] = { { .lvl = 43, .species = SPECIES_STARYU, @@ -5733,7 +5733,7 @@ static const struct TrainerMonCustomized sParty_Jenny4[] = { } }; -static const struct TrainerMonCustomized sParty_Jenny5[] = { +static const struct TrainerMon sParty_Jenny5[] = { { .lvl = 45, .species = SPECIES_LUVDISC, @@ -5748,7 +5748,7 @@ static const struct TrainerMonCustomized sParty_Jenny5[] = { } }; -static const struct TrainerMonCustomized sParty_Heidi[] = { +static const struct TrainerMon sParty_Heidi[] = { { .lvl = 22, .species = SPECIES_SANDSHREW, @@ -5761,7 +5761,7 @@ static const struct TrainerMonCustomized sParty_Heidi[] = { } }; -static const struct TrainerMonCustomized sParty_Becky[] = { +static const struct TrainerMon sParty_Becky[] = { { .lvl = 22, .species = SPECIES_SANDSHREW, @@ -5774,7 +5774,7 @@ static const struct TrainerMonCustomized sParty_Becky[] = { } }; -static const struct TrainerMonCustomized sParty_Carol[] = { +static const struct TrainerMon sParty_Carol[] = { { .lvl = 17, .species = SPECIES_TAILLOW, @@ -5785,7 +5785,7 @@ static const struct TrainerMonCustomized sParty_Carol[] = { } }; -static const struct TrainerMonCustomized sParty_Nancy[] = { +static const struct TrainerMon sParty_Nancy[] = { { .lvl = 18, .species = SPECIES_MARILL, @@ -5796,7 +5796,7 @@ static const struct TrainerMonCustomized sParty_Nancy[] = { } }; -static const struct TrainerMonCustomized sParty_Martha[] = { +static const struct TrainerMon sParty_Martha[] = { { .lvl = 23, .species = SPECIES_SKITTY, @@ -5807,7 +5807,7 @@ static const struct TrainerMonCustomized sParty_Martha[] = { } }; -static const struct TrainerMonCustomized sParty_Diana1[] = { +static const struct TrainerMon sParty_Diana1[] = { { .lvl = 19, .species = SPECIES_SHROOMISH, @@ -5822,7 +5822,7 @@ static const struct TrainerMonCustomized sParty_Diana1[] = { } }; -static const struct TrainerMonCustomized sParty_Cedric[] = { +static const struct TrainerMon sParty_Cedric[] = { { .lvl = 32, .species = SPECIES_WOBBUFFET, @@ -5830,7 +5830,7 @@ static const struct TrainerMonCustomized sParty_Cedric[] = { } }; -static const struct TrainerMonCustomized sParty_Irene[] = { +static const struct TrainerMon sParty_Irene[] = { { .lvl = 17, .species = SPECIES_SHROOMISH, @@ -5841,7 +5841,7 @@ static const struct TrainerMonCustomized sParty_Irene[] = { } }; -static const struct TrainerMonCustomized sParty_Diana2[] = { +static const struct TrainerMon sParty_Diana2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, @@ -5859,7 +5859,7 @@ static const struct TrainerMonCustomized sParty_Diana2[] = { } }; -static const struct TrainerMonCustomized sParty_Diana3[] = { +static const struct TrainerMon sParty_Diana3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, @@ -5877,7 +5877,7 @@ static const struct TrainerMonCustomized sParty_Diana3[] = { } }; -static const struct TrainerMonCustomized sParty_Diana4[] = { +static const struct TrainerMon sParty_Diana4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -5895,7 +5895,7 @@ static const struct TrainerMonCustomized sParty_Diana4[] = { } }; -static const struct TrainerMonCustomized sParty_Diana5[] = { +static const struct TrainerMon sParty_Diana5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, @@ -5913,7 +5913,7 @@ static const struct TrainerMonCustomized sParty_Diana5[] = { } }; -static const struct TrainerMonCustomized sParty_AmyAndLiv1[] = { +static const struct TrainerMon sParty_AmyAndLiv1[] = { { .lvl = 15, .species = SPECIES_PLUSLE, @@ -5924,7 +5924,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv1[] = { } }; -static const struct TrainerMonCustomized sParty_AmyAndLiv2[] = { +static const struct TrainerMon sParty_AmyAndLiv2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, @@ -5937,7 +5937,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv2[] = { } }; -static const struct TrainerMonCustomized sParty_GinaAndMia1[] = { +static const struct TrainerMon sParty_GinaAndMia1[] = { { .lvl = 6, .species = SPECIES_SEEDOT, @@ -5948,7 +5948,7 @@ static const struct TrainerMonCustomized sParty_GinaAndMia1[] = { } }; -static const struct TrainerMonCustomized sParty_MiuAndYuki[] = { +static const struct TrainerMon sParty_MiuAndYuki[] = { { .lvl = 26, .species = SPECIES_BEAUTIFLY, @@ -5959,7 +5959,7 @@ static const struct TrainerMonCustomized sParty_MiuAndYuki[] = { } }; -static const struct TrainerMonCustomized sParty_AmyAndLiv3[] = { +static const struct TrainerMon sParty_AmyAndLiv3[] = { { .lvl = 9, .species = SPECIES_PLUSLE, @@ -5970,7 +5970,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv3[] = { } }; -static const struct TrainerMonCustomized sParty_GinaAndMia2[] = { +static const struct TrainerMon sParty_GinaAndMia2[] = { { .lvl = 10, .species = SPECIES_DUSKULL, @@ -5983,7 +5983,7 @@ static const struct TrainerMonCustomized sParty_GinaAndMia2[] = { } }; -static const struct TrainerMonCustomized sParty_AmyAndLiv4[] = { +static const struct TrainerMon sParty_AmyAndLiv4[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 30, @@ -5996,7 +5996,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv4[] = { } }; -static const struct TrainerMonCustomized sParty_AmyAndLiv5[] = { +static const struct TrainerMon sParty_AmyAndLiv5[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 33, @@ -6011,7 +6011,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv5[] = { } }; -static const struct TrainerMonCustomized sParty_AmyAndLiv6[] = { +static const struct TrainerMon sParty_AmyAndLiv6[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, @@ -6026,7 +6026,7 @@ static const struct TrainerMonCustomized sParty_AmyAndLiv6[] = { } }; -static const struct TrainerMonCustomized sParty_Huey[] = { +static const struct TrainerMon sParty_Huey[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 12, @@ -6039,14 +6039,14 @@ static const struct TrainerMonCustomized sParty_Huey[] = { } }; -static const struct TrainerMonCustomized sParty_Edmond[] = { +static const struct TrainerMon sParty_Edmond[] = { { .lvl = 13, .species = SPECIES_WINGULL, } }; -static const struct TrainerMonCustomized sParty_Ernest1[] = { +static const struct TrainerMon sParty_Ernest1[] = { { .lvl = 33, .species = SPECIES_WINGULL, @@ -6057,7 +6057,7 @@ static const struct TrainerMonCustomized sParty_Ernest1[] = { } }; -static const struct TrainerMonCustomized sParty_Dwayne[] = { +static const struct TrainerMon sParty_Dwayne[] = { { .lvl = 11, .species = SPECIES_WINGULL, @@ -6072,7 +6072,7 @@ static const struct TrainerMonCustomized sParty_Dwayne[] = { } }; -static const struct TrainerMonCustomized sParty_Phillip[] = { +static const struct TrainerMon sParty_Phillip[] = { { .lvl = 44, .species = SPECIES_TENTACRUEL, @@ -6083,7 +6083,7 @@ static const struct TrainerMonCustomized sParty_Phillip[] = { } }; -static const struct TrainerMonCustomized sParty_Leonard[] = { +static const struct TrainerMon sParty_Leonard[] = { { .lvl = 43, .species = SPECIES_MACHOP, @@ -6098,7 +6098,7 @@ static const struct TrainerMonCustomized sParty_Leonard[] = { } }; -static const struct TrainerMonCustomized sParty_Duncan[] = { +static const struct TrainerMon sParty_Duncan[] = { { .lvl = 25, .species = SPECIES_SPHEAL, @@ -6109,7 +6109,7 @@ static const struct TrainerMonCustomized sParty_Duncan[] = { } }; -static const struct TrainerMonCustomized sParty_Ernest2[] = { +static const struct TrainerMon sParty_Ernest2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 36, @@ -6127,7 +6127,7 @@ static const struct TrainerMonCustomized sParty_Ernest2[] = { } }; -static const struct TrainerMonCustomized sParty_Ernest3[] = { +static const struct TrainerMon sParty_Ernest3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, @@ -6145,7 +6145,7 @@ static const struct TrainerMonCustomized sParty_Ernest3[] = { } }; -static const struct TrainerMonCustomized sParty_Ernest4[] = { +static const struct TrainerMon sParty_Ernest4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 42, @@ -6163,7 +6163,7 @@ static const struct TrainerMonCustomized sParty_Ernest4[] = { } }; -static const struct TrainerMonCustomized sParty_Ernest5[] = { +static const struct TrainerMon sParty_Ernest5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 45, @@ -6181,7 +6181,7 @@ static const struct TrainerMonCustomized sParty_Ernest5[] = { } }; -static const struct TrainerMonCustomized sParty_Eli[] = { +static const struct TrainerMon sParty_Eli[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, @@ -6189,7 +6189,7 @@ static const struct TrainerMonCustomized sParty_Eli[] = { } }; -static const struct TrainerMonCustomized sParty_Annika[] = { +static const struct TrainerMon sParty_Annika[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, @@ -6206,14 +6206,14 @@ static const struct TrainerMonCustomized sParty_Annika[] = { } }; -static const struct TrainerMonCustomized sParty_Jazmyn[] = { +static const struct TrainerMon sParty_Jazmyn[] = { { .lvl = 27, .species = SPECIES_ABSOL, } }; -static const struct TrainerMonCustomized sParty_Jonas[] = { +static const struct TrainerMon sParty_Jonas[] = { { .lvl = 31, .species = SPECIES_KOFFING, @@ -6221,7 +6221,7 @@ static const struct TrainerMonCustomized sParty_Jonas[] = { } }; -static const struct TrainerMonCustomized sParty_Kayley[] = { +static const struct TrainerMon sParty_Kayley[] = { { .lvl = 31, .species = SPECIES_CASTFORM, @@ -6229,7 +6229,7 @@ static const struct TrainerMonCustomized sParty_Kayley[] = { } }; -static const struct TrainerMonCustomized sParty_Auron[] = { +static const struct TrainerMon sParty_Auron[] = { { .lvl = 33, .species = SPECIES_MANECTRIC, @@ -6240,7 +6240,7 @@ static const struct TrainerMonCustomized sParty_Auron[] = { } }; -static const struct TrainerMonCustomized sParty_Kelvin[] = { +static const struct TrainerMon sParty_Kelvin[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 33, @@ -6253,7 +6253,7 @@ static const struct TrainerMonCustomized sParty_Kelvin[] = { } }; -static const struct TrainerMonCustomized sParty_Marley[] = { +static const struct TrainerMon sParty_Marley[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 34, @@ -6263,7 +6263,7 @@ static const struct TrainerMonCustomized sParty_Marley[] = { } }; -static const struct TrainerMonCustomized sParty_Reyna[] = { +static const struct TrainerMon sParty_Reyna[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 33, @@ -6276,14 +6276,14 @@ static const struct TrainerMonCustomized sParty_Reyna[] = { } }; -static const struct TrainerMonCustomized sParty_Hudson[] = { +static const struct TrainerMon sParty_Hudson[] = { { .lvl = 34, .species = SPECIES_WAILMER, } }; -static const struct TrainerMonCustomized sParty_Conor[] = { +static const struct TrainerMon sParty_Conor[] = { { .lvl = 33, .species = SPECIES_CHINCHOU, @@ -6295,7 +6295,7 @@ static const struct TrainerMonCustomized sParty_Conor[] = { } }; -static const struct TrainerMonCustomized sParty_Edwin1[] = { +static const struct TrainerMon sParty_Edwin1[] = { { .lvl = 14, .species = SPECIES_LOMBRE, @@ -6306,7 +6306,7 @@ static const struct TrainerMonCustomized sParty_Edwin1[] = { } }; -static const struct TrainerMonCustomized sParty_Hector[] = { +static const struct TrainerMon sParty_Hector[] = { { .lvl = 18, .species = SPECIES_ZANGOOSE, @@ -6317,7 +6317,7 @@ static const struct TrainerMonCustomized sParty_Hector[] = { } }; -static const struct TrainerMonCustomized sParty_TabithaMossdeep[] = { +static const struct TrainerMon sParty_TabithaMossdeep[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -6335,7 +6335,7 @@ static const struct TrainerMonCustomized sParty_TabithaMossdeep[] = { } }; -static const struct TrainerMonCustomized sParty_Edwin2[] = { +static const struct TrainerMon sParty_Edwin2[] = { { .lvl = 26, .species = SPECIES_LOMBRE, @@ -6346,7 +6346,7 @@ static const struct TrainerMonCustomized sParty_Edwin2[] = { } }; -static const struct TrainerMonCustomized sParty_Edwin3[] = { +static const struct TrainerMon sParty_Edwin3[] = { { .lvl = 29, .species = SPECIES_LOMBRE, @@ -6357,7 +6357,7 @@ static const struct TrainerMonCustomized sParty_Edwin3[] = { } }; -static const struct TrainerMonCustomized sParty_Edwin4[] = { +static const struct TrainerMon sParty_Edwin4[] = { { .lvl = 32, .species = SPECIES_LOMBRE, @@ -6368,7 +6368,7 @@ static const struct TrainerMonCustomized sParty_Edwin4[] = { } }; -static const struct TrainerMonCustomized sParty_Edwin5[] = { +static const struct TrainerMon sParty_Edwin5[] = { { .lvl = 35, .species = SPECIES_LUDICOLO, @@ -6379,7 +6379,7 @@ static const struct TrainerMonCustomized sParty_Edwin5[] = { } }; -static const struct TrainerMonCustomized sParty_WallyVR1[] = { +static const struct TrainerMon sParty_WallyVR1[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 44, @@ -6412,14 +6412,14 @@ static const struct TrainerMonCustomized sParty_WallyVR1[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRoute103Mudkip[] = { +static const struct TrainerMon sParty_BrendanRoute103Mudkip[] = { { .lvl = 5, .species = SPECIES_TREECKO, } }; -static const struct TrainerMonCustomized sParty_BrendanRoute110Mudkip[] = { +static const struct TrainerMon sParty_BrendanRoute110Mudkip[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -6437,7 +6437,7 @@ static const struct TrainerMonCustomized sParty_BrendanRoute110Mudkip[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRoute119Mudkip[] = { +static const struct TrainerMon sParty_BrendanRoute119Mudkip[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -6455,14 +6455,14 @@ static const struct TrainerMonCustomized sParty_BrendanRoute119Mudkip[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRoute103Treecko[] = { +static const struct TrainerMon sParty_BrendanRoute103Treecko[] = { { .lvl = 5, .species = SPECIES_TORCHIC, } }; -static const struct TrainerMonCustomized sParty_BrendanRoute110Treecko[] = { +static const struct TrainerMon sParty_BrendanRoute110Treecko[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -6480,7 +6480,7 @@ static const struct TrainerMonCustomized sParty_BrendanRoute110Treecko[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRoute119Treecko[] = { +static const struct TrainerMon sParty_BrendanRoute119Treecko[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -6498,14 +6498,14 @@ static const struct TrainerMonCustomized sParty_BrendanRoute119Treecko[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRoute103Torchic[] = { +static const struct TrainerMon sParty_BrendanRoute103Torchic[] = { { .lvl = 5, .species = SPECIES_MUDKIP, } }; -static const struct TrainerMonCustomized sParty_BrendanRoute110Torchic[] = { +static const struct TrainerMon sParty_BrendanRoute110Torchic[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -6523,7 +6523,7 @@ static const struct TrainerMonCustomized sParty_BrendanRoute110Torchic[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRoute119Torchic[] = { +static const struct TrainerMon sParty_BrendanRoute119Torchic[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -6541,14 +6541,14 @@ static const struct TrainerMonCustomized sParty_BrendanRoute119Torchic[] = { } }; -static const struct TrainerMonCustomized sParty_MayRoute103Mudkip[] = { +static const struct TrainerMon sParty_MayRoute103Mudkip[] = { { .lvl = 5, .species = SPECIES_TREECKO, } }; -static const struct TrainerMonCustomized sParty_MayRoute110Mudkip[] = { +static const struct TrainerMon sParty_MayRoute110Mudkip[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -6566,7 +6566,7 @@ static const struct TrainerMonCustomized sParty_MayRoute110Mudkip[] = { } }; -static const struct TrainerMonCustomized sParty_MayRoute119Mudkip[] = { +static const struct TrainerMon sParty_MayRoute119Mudkip[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -6584,14 +6584,14 @@ static const struct TrainerMonCustomized sParty_MayRoute119Mudkip[] = { } }; -static const struct TrainerMonCustomized sParty_MayRoute103Treecko[] = { +static const struct TrainerMon sParty_MayRoute103Treecko[] = { { .lvl = 5, .species = SPECIES_TORCHIC, } }; -static const struct TrainerMonCustomized sParty_MayRoute110Treecko[] = { +static const struct TrainerMon sParty_MayRoute110Treecko[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -6609,7 +6609,7 @@ static const struct TrainerMonCustomized sParty_MayRoute110Treecko[] = { } }; -static const struct TrainerMonCustomized sParty_MayRoute119Treecko[] = { +static const struct TrainerMon sParty_MayRoute119Treecko[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -6627,14 +6627,14 @@ static const struct TrainerMonCustomized sParty_MayRoute119Treecko[] = { } }; -static const struct TrainerMonCustomized sParty_MayRoute103Torchic[] = { +static const struct TrainerMon sParty_MayRoute103Torchic[] = { { .lvl = 5, .species = SPECIES_MUDKIP, } }; -static const struct TrainerMonCustomized sParty_MayRoute110Torchic[] = { +static const struct TrainerMon sParty_MayRoute110Torchic[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -6652,7 +6652,7 @@ static const struct TrainerMonCustomized sParty_MayRoute110Torchic[] = { } }; -static const struct TrainerMonCustomized sParty_MayRoute119Torchic[] = { +static const struct TrainerMon sParty_MayRoute119Torchic[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -6670,7 +6670,7 @@ static const struct TrainerMonCustomized sParty_MayRoute119Torchic[] = { } }; -static const struct TrainerMonCustomized sParty_Isaac1[] = { +static const struct TrainerMon sParty_Isaac1[] = { { .lvl = 11, .species = SPECIES_WHISMUR, @@ -6697,14 +6697,14 @@ static const struct TrainerMonCustomized sParty_Isaac1[] = { } }; -static const struct TrainerMonCustomized sParty_Davis[] = { +static const struct TrainerMon sParty_Davis[] = { { .lvl = 27, .species = SPECIES_PINSIR, } }; -static const struct TrainerMonCustomized sParty_Mitchell[] = { +static const struct TrainerMon sParty_Mitchell[] = { { .lvl = 43, .species = SPECIES_LUNATONE, @@ -6717,7 +6717,7 @@ static const struct TrainerMonCustomized sParty_Mitchell[] = { } }; -static const struct TrainerMonCustomized sParty_Isaac2[] = { +static const struct TrainerMon sParty_Isaac2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, @@ -6750,7 +6750,7 @@ static const struct TrainerMonCustomized sParty_Isaac2[] = { } }; -static const struct TrainerMonCustomized sParty_Isaac3[] = { +static const struct TrainerMon sParty_Isaac3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, @@ -6783,7 +6783,7 @@ static const struct TrainerMonCustomized sParty_Isaac3[] = { } }; -static const struct TrainerMonCustomized sParty_Isaac4[] = { +static const struct TrainerMon sParty_Isaac4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, @@ -6816,7 +6816,7 @@ static const struct TrainerMonCustomized sParty_Isaac4[] = { } }; -static const struct TrainerMonCustomized sParty_Isaac5[] = { +static const struct TrainerMon sParty_Isaac5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, @@ -6849,7 +6849,7 @@ static const struct TrainerMonCustomized sParty_Isaac5[] = { } }; -static const struct TrainerMonCustomized sParty_Lydia1[] = { +static const struct TrainerMon sParty_Lydia1[] = { { .lvl = 11, .species = SPECIES_WINGULL, @@ -6876,7 +6876,7 @@ static const struct TrainerMonCustomized sParty_Lydia1[] = { } }; -static const struct TrainerMonCustomized sParty_Halle[] = { +static const struct TrainerMon sParty_Halle[] = { { .lvl = 43, .species = SPECIES_SABLEYE, @@ -6887,14 +6887,14 @@ static const struct TrainerMonCustomized sParty_Halle[] = { } }; -static const struct TrainerMonCustomized sParty_Garrison[] = { +static const struct TrainerMon sParty_Garrison[] = { { .lvl = 26, .species = SPECIES_SANDSLASH, } }; -static const struct TrainerMonCustomized sParty_Lydia2[] = { +static const struct TrainerMon sParty_Lydia2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 22, @@ -6927,7 +6927,7 @@ static const struct TrainerMonCustomized sParty_Lydia2[] = { } }; -static const struct TrainerMonCustomized sParty_Lydia3[] = { +static const struct TrainerMon sParty_Lydia3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 25, @@ -6960,7 +6960,7 @@ static const struct TrainerMonCustomized sParty_Lydia3[] = { } }; -static const struct TrainerMonCustomized sParty_Lydia4[] = { +static const struct TrainerMon sParty_Lydia4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 28, @@ -6993,7 +6993,7 @@ static const struct TrainerMonCustomized sParty_Lydia4[] = { } }; -static const struct TrainerMonCustomized sParty_Lydia5[] = { +static const struct TrainerMon sParty_Lydia5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 31, @@ -7026,7 +7026,7 @@ static const struct TrainerMonCustomized sParty_Lydia5[] = { } }; -static const struct TrainerMonCustomized sParty_Jackson1[] = { +static const struct TrainerMon sParty_Jackson1[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 27, @@ -7034,7 +7034,7 @@ static const struct TrainerMonCustomized sParty_Jackson1[] = { } }; -static const struct TrainerMonCustomized sParty_Lorenzo[] = { +static const struct TrainerMon sParty_Lorenzo[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, @@ -7052,7 +7052,7 @@ static const struct TrainerMonCustomized sParty_Lorenzo[] = { } }; -static const struct TrainerMonCustomized sParty_Sebastian[] = { +static const struct TrainerMon sParty_Sebastian[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 39, @@ -7060,7 +7060,7 @@ static const struct TrainerMonCustomized sParty_Sebastian[] = { } }; -static const struct TrainerMonCustomized sParty_Jackson2[] = { +static const struct TrainerMon sParty_Jackson2[] = { { .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 31, @@ -7068,7 +7068,7 @@ static const struct TrainerMonCustomized sParty_Jackson2[] = { } }; -static const struct TrainerMonCustomized sParty_Jackson3[] = { +static const struct TrainerMon sParty_Jackson3[] = { { .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 34, @@ -7076,7 +7076,7 @@ static const struct TrainerMonCustomized sParty_Jackson3[] = { } }; -static const struct TrainerMonCustomized sParty_Jackson4[] = { +static const struct TrainerMon sParty_Jackson4[] = { { .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 37, @@ -7084,7 +7084,7 @@ static const struct TrainerMonCustomized sParty_Jackson4[] = { } }; -static const struct TrainerMonCustomized sParty_Jackson5[] = { +static const struct TrainerMon sParty_Jackson5[] = { { .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 39, @@ -7097,7 +7097,7 @@ static const struct TrainerMonCustomized sParty_Jackson5[] = { } }; -static const struct TrainerMonCustomized sParty_Catherine1[] = { +static const struct TrainerMon sParty_Catherine1[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 26, @@ -7110,7 +7110,7 @@ static const struct TrainerMonCustomized sParty_Catherine1[] = { } }; -static const struct TrainerMonCustomized sParty_Jenna[] = { +static const struct TrainerMon sParty_Jenna[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 28, @@ -7128,7 +7128,7 @@ static const struct TrainerMonCustomized sParty_Jenna[] = { } }; -static const struct TrainerMonCustomized sParty_Sophia[] = { +static const struct TrainerMon sParty_Sophia[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 38, @@ -7141,7 +7141,7 @@ static const struct TrainerMonCustomized sParty_Sophia[] = { } }; -static const struct TrainerMonCustomized sParty_Catherine2[] = { +static const struct TrainerMon sParty_Catherine2[] = { { .iv = TRAINER_PARTY_IVS(7, 7, 7, 7, 7, 7), .lvl = 30, @@ -7154,7 +7154,7 @@ static const struct TrainerMonCustomized sParty_Catherine2[] = { } }; -static const struct TrainerMonCustomized sParty_Catherine3[] = { +static const struct TrainerMon sParty_Catherine3[] = { { .iv = TRAINER_PARTY_IVS(8, 8, 8, 8, 8, 8), .lvl = 33, @@ -7167,7 +7167,7 @@ static const struct TrainerMonCustomized sParty_Catherine3[] = { } }; -static const struct TrainerMonCustomized sParty_Catherine4[] = { +static const struct TrainerMon sParty_Catherine4[] = { { .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 36, @@ -7180,7 +7180,7 @@ static const struct TrainerMonCustomized sParty_Catherine4[] = { } }; -static const struct TrainerMonCustomized sParty_Catherine5[] = { +static const struct TrainerMon sParty_Catherine5[] = { { .iv = TRAINER_PARTY_IVS(10, 10, 10, 10, 10, 10), .lvl = 39, @@ -7193,14 +7193,14 @@ static const struct TrainerMonCustomized sParty_Catherine5[] = { } }; -static const struct TrainerMonCustomized sParty_Julio[] = { +static const struct TrainerMon sParty_Julio[] = { { .lvl = 21, .species = SPECIES_MAGNEMITE, } }; -static const struct TrainerMonCustomized sParty_GruntSeafloorCavern5[] = { +static const struct TrainerMon sParty_GruntSeafloorCavern5[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 35, @@ -7213,7 +7213,7 @@ static const struct TrainerMonCustomized sParty_GruntSeafloorCavern5[] = { } }; -static const struct TrainerMonCustomized sParty_GruntUnused[] = { +static const struct TrainerMon sParty_GruntUnused[] = { { .lvl = 31, .species = SPECIES_WAILMER, @@ -7224,7 +7224,7 @@ static const struct TrainerMonCustomized sParty_GruntUnused[] = { } }; -static const struct TrainerMonCustomized sParty_GruntMtPyre4[] = { +static const struct TrainerMon sParty_GruntMtPyre4[] = { { .lvl = 30, .species = SPECIES_WAILMER, @@ -7235,7 +7235,7 @@ static const struct TrainerMonCustomized sParty_GruntMtPyre4[] = { } }; -static const struct TrainerMonCustomized sParty_GruntJaggedPass[] = { +static const struct TrainerMon sParty_GruntJaggedPass[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 22, @@ -7248,7 +7248,7 @@ static const struct TrainerMonCustomized sParty_GruntJaggedPass[] = { } }; -static const struct TrainerMonCustomized sParty_Marc[] = { +static const struct TrainerMon sParty_Marc[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 8, @@ -7261,7 +7261,7 @@ static const struct TrainerMonCustomized sParty_Marc[] = { } }; -static const struct TrainerMonCustomized sParty_Brenden[] = { +static const struct TrainerMon sParty_Brenden[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 13, @@ -7269,7 +7269,7 @@ static const struct TrainerMonCustomized sParty_Brenden[] = { } }; -static const struct TrainerMonCustomized sParty_Lilith[] = { +static const struct TrainerMon sParty_Lilith[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 13, @@ -7277,7 +7277,7 @@ static const struct TrainerMonCustomized sParty_Lilith[] = { } }; -static const struct TrainerMonCustomized sParty_Cristian[] = { +static const struct TrainerMon sParty_Cristian[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 13, @@ -7285,7 +7285,7 @@ static const struct TrainerMonCustomized sParty_Cristian[] = { } }; -static const struct TrainerMonCustomized sParty_Sylvia[] = { +static const struct TrainerMon sParty_Sylvia[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -7293,14 +7293,14 @@ static const struct TrainerMonCustomized sParty_Sylvia[] = { } }; -static const struct TrainerMonCustomized sParty_Leonardo[] = { +static const struct TrainerMon sParty_Leonardo[] = { { .lvl = 34, .species = SPECIES_CARVANHA, } }; -static const struct TrainerMonCustomized sParty_Athena[] = { +static const struct TrainerMon sParty_Athena[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 32, @@ -7317,35 +7317,35 @@ static const struct TrainerMonCustomized sParty_Athena[] = { } }; -static const struct TrainerMonCustomized sParty_Harrison[] = { +static const struct TrainerMon sParty_Harrison[] = { { .lvl = 35, .species = SPECIES_TENTACRUEL, } }; -static const struct TrainerMonCustomized sParty_GruntMtChimney2[] = { +static const struct TrainerMon sParty_GruntMtChimney2[] = { { .lvl = 20, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_Clarence[] = { +static const struct TrainerMon sParty_Clarence[] = { { .lvl = 34, .species = SPECIES_SHARPEDO, } }; -static const struct TrainerMonCustomized sParty_Terry[] = { +static const struct TrainerMon sParty_Terry[] = { { .lvl = 37, .species = SPECIES_GIRAFARIG, } }; -static const struct TrainerMonCustomized sParty_Nate[] = { +static const struct TrainerMon sParty_Nate[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -7353,7 +7353,7 @@ static const struct TrainerMonCustomized sParty_Nate[] = { } }; -static const struct TrainerMonCustomized sParty_Kathleen[] = { +static const struct TrainerMon sParty_Kathleen[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 36, @@ -7361,21 +7361,21 @@ static const struct TrainerMonCustomized sParty_Kathleen[] = { } }; -static const struct TrainerMonCustomized sParty_Clifford[] = { +static const struct TrainerMon sParty_Clifford[] = { { .lvl = 36, .species = SPECIES_GIRAFARIG, } }; -static const struct TrainerMonCustomized sParty_Nicholas[] = { +static const struct TrainerMon sParty_Nicholas[] = { { .lvl = 36, .species = SPECIES_WOBBUFFET, } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter3[] = { +static const struct TrainerMon sParty_GruntSpaceCenter3[] = { { .lvl = 31, .species = SPECIES_ZUBAT, @@ -7386,42 +7386,42 @@ static const struct TrainerMonCustomized sParty_GruntSpaceCenter3[] = { } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter4[] = { +static const struct TrainerMon sParty_GruntSpaceCenter4[] = { { .lvl = 32, .species = SPECIES_BALTOY, } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter5[] = { +static const struct TrainerMon sParty_GruntSpaceCenter5[] = { { .lvl = 32, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter6[] = { +static const struct TrainerMon sParty_GruntSpaceCenter6[] = { { .lvl = 32, .species = SPECIES_MIGHTYENA, } }; -static const struct TrainerMonCustomized sParty_GruntSpaceCenter7[] = { +static const struct TrainerMon sParty_GruntSpaceCenter7[] = { { .lvl = 32, .species = SPECIES_BALTOY, } }; -static const struct TrainerMonCustomized sParty_Macey[] = { +static const struct TrainerMon sParty_Macey[] = { { .lvl = 36, .species = SPECIES_NATU, } }; -static const struct TrainerMonCustomized sParty_BrendanRustboroTreecko[] = { +static const struct TrainerMon sParty_BrendanRustboroTreecko[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, @@ -7434,7 +7434,7 @@ static const struct TrainerMonCustomized sParty_BrendanRustboroTreecko[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRustboroMudkip[] = { +static const struct TrainerMon sParty_BrendanRustboroMudkip[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, @@ -7447,7 +7447,7 @@ static const struct TrainerMonCustomized sParty_BrendanRustboroMudkip[] = { } }; -static const struct TrainerMonCustomized sParty_Paxton[] = { +static const struct TrainerMon sParty_Paxton[] = { { .lvl = 33, .species = SPECIES_SWELLOW, @@ -7458,14 +7458,14 @@ static const struct TrainerMonCustomized sParty_Paxton[] = { } }; -static const struct TrainerMonCustomized sParty_Isabella[] = { +static const struct TrainerMon sParty_Isabella[] = { { .lvl = 34, .species = SPECIES_STARYU, } }; -static const struct TrainerMonCustomized sParty_GruntWeatherInst5[] = { +static const struct TrainerMon sParty_GruntWeatherInst5[] = { { .lvl = 27, .species = SPECIES_ZUBAT, @@ -7476,7 +7476,7 @@ static const struct TrainerMonCustomized sParty_GruntWeatherInst5[] = { } }; -static const struct TrainerMonCustomized sParty_TabithaMtChimney[] = { +static const struct TrainerMon sParty_TabithaMtChimney[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 18, @@ -7499,7 +7499,7 @@ static const struct TrainerMonCustomized sParty_TabithaMtChimney[] = { } }; -static const struct TrainerMonCustomized sParty_Jonathan[] = { +static const struct TrainerMon sParty_Jonathan[] = { { .lvl = 33, .species = SPECIES_KECLEON, @@ -7510,7 +7510,7 @@ static const struct TrainerMonCustomized sParty_Jonathan[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanRustboroTorchic[] = { +static const struct TrainerMon sParty_BrendanRustboroTorchic[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, @@ -7523,7 +7523,7 @@ static const struct TrainerMonCustomized sParty_BrendanRustboroTorchic[] = { } }; -static const struct TrainerMonCustomized sParty_MayRustboroMudkip[] = { +static const struct TrainerMon sParty_MayRustboroMudkip[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, @@ -7536,7 +7536,7 @@ static const struct TrainerMonCustomized sParty_MayRustboroMudkip[] = { } }; -static const struct TrainerMonCustomized sParty_MaxieMagmaHideout[] = { +static const struct TrainerMon sParty_MaxieMagmaHideout[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 37, @@ -7554,7 +7554,7 @@ static const struct TrainerMonCustomized sParty_MaxieMagmaHideout[] = { } }; -static const struct TrainerMonCustomized sParty_MaxieMtChimney[] = { +static const struct TrainerMon sParty_MaxieMtChimney[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 24, @@ -7572,7 +7572,7 @@ static const struct TrainerMonCustomized sParty_MaxieMtChimney[] = { } }; -static const struct TrainerMonCustomized sParty_Tiana[] = { +static const struct TrainerMon sParty_Tiana[] = { { .lvl = 4, .species = SPECIES_ZIGZAGOON, @@ -7583,7 +7583,7 @@ static const struct TrainerMonCustomized sParty_Tiana[] = { } }; -static const struct TrainerMonCustomized sParty_Haley1[] = { +static const struct TrainerMon sParty_Haley1[] = { { .lvl = 6, .species = SPECIES_LOTAD, @@ -7594,14 +7594,14 @@ static const struct TrainerMonCustomized sParty_Haley1[] = { } }; -static const struct TrainerMonCustomized sParty_Janice[] = { +static const struct TrainerMon sParty_Janice[] = { { .lvl = 9, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Vivi[] = { +static const struct TrainerMon sParty_Vivi[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, @@ -7619,7 +7619,7 @@ static const struct TrainerMonCustomized sParty_Vivi[] = { } }; -static const struct TrainerMonCustomized sParty_Haley2[] = { +static const struct TrainerMon sParty_Haley2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -7632,7 +7632,7 @@ static const struct TrainerMonCustomized sParty_Haley2[] = { } }; -static const struct TrainerMonCustomized sParty_Haley3[] = { +static const struct TrainerMon sParty_Haley3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -7645,7 +7645,7 @@ static const struct TrainerMonCustomized sParty_Haley3[] = { } }; -static const struct TrainerMonCustomized sParty_Haley4[] = { +static const struct TrainerMon sParty_Haley4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 32, @@ -7658,7 +7658,7 @@ static const struct TrainerMonCustomized sParty_Haley4[] = { } }; -static const struct TrainerMonCustomized sParty_Haley5[] = { +static const struct TrainerMon sParty_Haley5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 34, @@ -7676,14 +7676,14 @@ static const struct TrainerMonCustomized sParty_Haley5[] = { } }; -static const struct TrainerMonCustomized sParty_Sally[] = { +static const struct TrainerMon sParty_Sally[] = { { .lvl = 16, .species = SPECIES_ODDISH, } }; -static const struct TrainerMonCustomized sParty_Robin[] = { +static const struct TrainerMon sParty_Robin[] = { { .lvl = 14, .species = SPECIES_SKITTY, @@ -7698,7 +7698,7 @@ static const struct TrainerMonCustomized sParty_Robin[] = { } }; -static const struct TrainerMonCustomized sParty_Andrea[] = { +static const struct TrainerMon sParty_Andrea[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 40, @@ -7706,7 +7706,7 @@ static const struct TrainerMonCustomized sParty_Andrea[] = { } }; -static const struct TrainerMonCustomized sParty_Crissy[] = { +static const struct TrainerMon sParty_Crissy[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 39, @@ -7719,7 +7719,7 @@ static const struct TrainerMonCustomized sParty_Crissy[] = { } }; -static const struct TrainerMonCustomized sParty_Rick[] = { +static const struct TrainerMon sParty_Rick[] = { { .lvl = 4, .species = SPECIES_WURMPLE, @@ -7730,7 +7730,7 @@ static const struct TrainerMonCustomized sParty_Rick[] = { } }; -static const struct TrainerMonCustomized sParty_Lyle[] = { +static const struct TrainerMon sParty_Lyle[] = { { .lvl = 3, .species = SPECIES_WURMPLE, @@ -7749,7 +7749,7 @@ static const struct TrainerMonCustomized sParty_Lyle[] = { } }; -static const struct TrainerMonCustomized sParty_Jose[] = { +static const struct TrainerMon sParty_Jose[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 8, @@ -7762,7 +7762,7 @@ static const struct TrainerMonCustomized sParty_Jose[] = { } }; -static const struct TrainerMonCustomized sParty_Doug[] = { +static const struct TrainerMon sParty_Doug[] = { { .lvl = 28, .species = SPECIES_NINCADA, @@ -7773,7 +7773,7 @@ static const struct TrainerMonCustomized sParty_Doug[] = { } }; -static const struct TrainerMonCustomized sParty_Greg[] = { +static const struct TrainerMon sParty_Greg[] = { { .lvl = 25, .species = SPECIES_VOLBEAT, @@ -7784,14 +7784,14 @@ static const struct TrainerMonCustomized sParty_Greg[] = { } }; -static const struct TrainerMonCustomized sParty_Kent[] = { +static const struct TrainerMon sParty_Kent[] = { { .lvl = 25, .species = SPECIES_NINJASK, } }; -static const struct TrainerMonCustomized sParty_James1[] = { +static const struct TrainerMon sParty_James1[] = { { .lvl = 6, .species = SPECIES_NINCADA, @@ -7802,7 +7802,7 @@ static const struct TrainerMonCustomized sParty_James1[] = { } }; -static const struct TrainerMonCustomized sParty_James2[] = { +static const struct TrainerMon sParty_James2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 27, @@ -7810,7 +7810,7 @@ static const struct TrainerMonCustomized sParty_James2[] = { } }; -static const struct TrainerMonCustomized sParty_James3[] = { +static const struct TrainerMon sParty_James3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 29, @@ -7823,7 +7823,7 @@ static const struct TrainerMonCustomized sParty_James3[] = { } }; -static const struct TrainerMonCustomized sParty_James4[] = { +static const struct TrainerMon sParty_James4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 31, @@ -7841,7 +7841,7 @@ static const struct TrainerMonCustomized sParty_James4[] = { } }; -static const struct TrainerMonCustomized sParty_James5[] = { +static const struct TrainerMon sParty_James5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, @@ -7864,7 +7864,7 @@ static const struct TrainerMonCustomized sParty_James5[] = { } }; -static const struct TrainerMonCustomized sParty_Brice[] = { +static const struct TrainerMon sParty_Brice[] = { { .lvl = 17, .species = SPECIES_NUMEL, @@ -7875,7 +7875,7 @@ static const struct TrainerMonCustomized sParty_Brice[] = { } }; -static const struct TrainerMonCustomized sParty_Trent1[] = { +static const struct TrainerMon sParty_Trent1[] = { { .lvl = 16, .species = SPECIES_GEODUDE, @@ -7890,7 +7890,7 @@ static const struct TrainerMonCustomized sParty_Trent1[] = { } }; -static const struct TrainerMonCustomized sParty_Lenny[] = { +static const struct TrainerMon sParty_Lenny[] = { { .lvl = 18, .species = SPECIES_GEODUDE, @@ -7901,7 +7901,7 @@ static const struct TrainerMonCustomized sParty_Lenny[] = { } }; -static const struct TrainerMonCustomized sParty_Lucas1[] = { +static const struct TrainerMon sParty_Lucas1[] = { { .lvl = 18, .species = SPECIES_GEODUDE, @@ -7912,7 +7912,7 @@ static const struct TrainerMonCustomized sParty_Lucas1[] = { } }; -static const struct TrainerMonCustomized sParty_Alan[] = { +static const struct TrainerMon sParty_Alan[] = { { .lvl = 22, .species = SPECIES_GEODUDE, @@ -7927,14 +7927,14 @@ static const struct TrainerMonCustomized sParty_Alan[] = { } }; -static const struct TrainerMonCustomized sParty_Clark[] = { +static const struct TrainerMon sParty_Clark[] = { { .lvl = 8, .species = SPECIES_GEODUDE, } }; -static const struct TrainerMonCustomized sParty_Eric[] = { +static const struct TrainerMon sParty_Eric[] = { { .lvl = 20, .species = SPECIES_GEODUDE, @@ -7945,7 +7945,7 @@ static const struct TrainerMonCustomized sParty_Eric[] = { } }; -static const struct TrainerMonCustomized sParty_Lucas2[] = { +static const struct TrainerMon sParty_Lucas2[] = { { .lvl = 9, .species = SPECIES_WAILMER, @@ -7953,7 +7953,7 @@ static const struct TrainerMonCustomized sParty_Lucas2[] = { } }; -static const struct TrainerMonCustomized sParty_Mike1[] = { +static const struct TrainerMon sParty_Mike1[] = { { .lvl = 10, .species = SPECIES_PELIPPER, @@ -7966,7 +7966,7 @@ static const struct TrainerMonCustomized sParty_Mike1[] = { } }; -static const struct TrainerMonCustomized sParty_Mike2[] = { +static const struct TrainerMon sParty_Mike2[] = { { .lvl = 16, .species = SPECIES_GEODUDE, @@ -7981,7 +7981,7 @@ static const struct TrainerMonCustomized sParty_Mike2[] = { } }; -static const struct TrainerMonCustomized sParty_Trent2[] = { +static const struct TrainerMon sParty_Trent2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 24, @@ -8004,7 +8004,7 @@ static const struct TrainerMonCustomized sParty_Trent2[] = { } }; -static const struct TrainerMonCustomized sParty_Trent3[] = { +static const struct TrainerMon sParty_Trent3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 27, @@ -8027,7 +8027,7 @@ static const struct TrainerMonCustomized sParty_Trent3[] = { } }; -static const struct TrainerMonCustomized sParty_Trent4[] = { +static const struct TrainerMon sParty_Trent4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, @@ -8050,7 +8050,7 @@ static const struct TrainerMonCustomized sParty_Trent4[] = { } }; -static const struct TrainerMonCustomized sParty_Trent5[] = { +static const struct TrainerMon sParty_Trent5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, @@ -8073,7 +8073,7 @@ static const struct TrainerMonCustomized sParty_Trent5[] = { } }; -static const struct TrainerMonCustomized sParty_DezAndLuke[] = { +static const struct TrainerMon sParty_DezAndLuke[] = { { .lvl = 31, .species = SPECIES_DELCATTY, @@ -8084,7 +8084,7 @@ static const struct TrainerMonCustomized sParty_DezAndLuke[] = { } }; -static const struct TrainerMonCustomized sParty_LeaAndJed[] = { +static const struct TrainerMon sParty_LeaAndJed[] = { { .lvl = 45, .species = SPECIES_LUVDISC, @@ -8095,7 +8095,7 @@ static const struct TrainerMonCustomized sParty_LeaAndJed[] = { } }; -static const struct TrainerMonCustomized sParty_KiraAndDan1[] = { +static const struct TrainerMon sParty_KiraAndDan1[] = { { .lvl = 25, .species = SPECIES_VOLBEAT, @@ -8106,7 +8106,7 @@ static const struct TrainerMonCustomized sParty_KiraAndDan1[] = { } }; -static const struct TrainerMonCustomized sParty_KiraAndDan2[] = { +static const struct TrainerMon sParty_KiraAndDan2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, @@ -8119,7 +8119,7 @@ static const struct TrainerMonCustomized sParty_KiraAndDan2[] = { } }; -static const struct TrainerMonCustomized sParty_KiraAndDan3[] = { +static const struct TrainerMon sParty_KiraAndDan3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, @@ -8132,7 +8132,7 @@ static const struct TrainerMonCustomized sParty_KiraAndDan3[] = { } }; -static const struct TrainerMonCustomized sParty_KiraAndDan4[] = { +static const struct TrainerMon sParty_KiraAndDan4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 36, @@ -8145,7 +8145,7 @@ static const struct TrainerMonCustomized sParty_KiraAndDan4[] = { } }; -static const struct TrainerMonCustomized sParty_KiraAndDan5[] = { +static const struct TrainerMon sParty_KiraAndDan5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 39, @@ -8158,14 +8158,14 @@ static const struct TrainerMonCustomized sParty_KiraAndDan5[] = { } }; -static const struct TrainerMonCustomized sParty_Johanna[] = { +static const struct TrainerMon sParty_Johanna[] = { { .lvl = 13, .species = SPECIES_GOLDEEN, } }; -static const struct TrainerMonCustomized sParty_Gerald[] = { +static const struct TrainerMon sParty_Gerald[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, @@ -8174,7 +8174,7 @@ static const struct TrainerMonCustomized sParty_Gerald[] = { } }; -static const struct TrainerMonCustomized sParty_Vivian[] = { +static const struct TrainerMon sParty_Vivian[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, @@ -8189,7 +8189,7 @@ static const struct TrainerMonCustomized sParty_Vivian[] = { } }; -static const struct TrainerMonCustomized sParty_Danielle[] = { +static const struct TrainerMon sParty_Danielle[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 23, @@ -8198,7 +8198,7 @@ static const struct TrainerMonCustomized sParty_Danielle[] = { } }; -static const struct TrainerMonCustomized sParty_Hideo[] = { +static const struct TrainerMon sParty_Hideo[] = { { .lvl = 25, .species = SPECIES_KOFFING, @@ -8211,7 +8211,7 @@ static const struct TrainerMonCustomized sParty_Hideo[] = { } }; -static const struct TrainerMonCustomized sParty_Keigo[] = { +static const struct TrainerMon sParty_Keigo[] = { { .lvl = 28, .species = SPECIES_KOFFING, @@ -8224,7 +8224,7 @@ static const struct TrainerMonCustomized sParty_Keigo[] = { } }; -static const struct TrainerMonCustomized sParty_Riley[] = { +static const struct TrainerMon sParty_Riley[] = { { .lvl = 28, .species = SPECIES_NINCADA, @@ -8237,7 +8237,7 @@ static const struct TrainerMonCustomized sParty_Riley[] = { } }; -static const struct TrainerMonCustomized sParty_Flint[] = { +static const struct TrainerMon sParty_Flint[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 29, @@ -8250,7 +8250,7 @@ static const struct TrainerMonCustomized sParty_Flint[] = { } }; -static const struct TrainerMonCustomized sParty_Ashley[] = { +static const struct TrainerMon sParty_Ashley[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 27, @@ -8268,7 +8268,7 @@ static const struct TrainerMonCustomized sParty_Ashley[] = { } }; -static const struct TrainerMonCustomized sParty_WallyMauville[] = { +static const struct TrainerMon sParty_WallyMauville[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 16, @@ -8276,7 +8276,7 @@ static const struct TrainerMonCustomized sParty_WallyMauville[] = { } }; -static const struct TrainerMonCustomized sParty_WallyVR2[] = { +static const struct TrainerMon sParty_WallyVR2[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 47, @@ -8309,7 +8309,7 @@ static const struct TrainerMonCustomized sParty_WallyVR2[] = { } }; -static const struct TrainerMonCustomized sParty_WallyVR3[] = { +static const struct TrainerMon sParty_WallyVR3[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 50, @@ -8342,7 +8342,7 @@ static const struct TrainerMonCustomized sParty_WallyVR3[] = { } }; -static const struct TrainerMonCustomized sParty_WallyVR4[] = { +static const struct TrainerMon sParty_WallyVR4[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 53, @@ -8375,7 +8375,7 @@ static const struct TrainerMonCustomized sParty_WallyVR4[] = { } }; -static const struct TrainerMonCustomized sParty_WallyVR5[] = { +static const struct TrainerMon sParty_WallyVR5[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 56, @@ -8408,7 +8408,7 @@ static const struct TrainerMonCustomized sParty_WallyVR5[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanLilycoveMudkip[] = { +static const struct TrainerMon sParty_BrendanLilycoveMudkip[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, @@ -8431,7 +8431,7 @@ static const struct TrainerMonCustomized sParty_BrendanLilycoveMudkip[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanLilycoveTreecko[] = { +static const struct TrainerMon sParty_BrendanLilycoveTreecko[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, @@ -8454,7 +8454,7 @@ static const struct TrainerMonCustomized sParty_BrendanLilycoveTreecko[] = { } }; -static const struct TrainerMonCustomized sParty_BrendanLilycoveTorchic[] = { +static const struct TrainerMon sParty_BrendanLilycoveTorchic[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, @@ -8477,7 +8477,7 @@ static const struct TrainerMonCustomized sParty_BrendanLilycoveTorchic[] = { } }; -static const struct TrainerMonCustomized sParty_MayLilycoveMudkip[] = { +static const struct TrainerMon sParty_MayLilycoveMudkip[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, @@ -8500,7 +8500,7 @@ static const struct TrainerMonCustomized sParty_MayLilycoveMudkip[] = { } }; -static const struct TrainerMonCustomized sParty_MayLilycoveTreecko[] = { +static const struct TrainerMon sParty_MayLilycoveTreecko[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, @@ -8523,7 +8523,7 @@ static const struct TrainerMonCustomized sParty_MayLilycoveTreecko[] = { } }; -static const struct TrainerMonCustomized sParty_MayLilycoveTorchic[] = { +static const struct TrainerMon sParty_MayLilycoveTorchic[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 31, @@ -8546,7 +8546,7 @@ static const struct TrainerMonCustomized sParty_MayLilycoveTorchic[] = { } }; -static const struct TrainerMonCustomized sParty_Jonah[] = { +static const struct TrainerMon sParty_Jonah[] = { { .lvl = 30, .species = SPECIES_WAILMER, @@ -8561,7 +8561,7 @@ static const struct TrainerMonCustomized sParty_Jonah[] = { } }; -static const struct TrainerMonCustomized sParty_Henry[] = { +static const struct TrainerMon sParty_Henry[] = { { .lvl = 31, .species = SPECIES_CARVANHA, @@ -8572,7 +8572,7 @@ static const struct TrainerMonCustomized sParty_Henry[] = { } }; -static const struct TrainerMonCustomized sParty_Roger[] = { +static const struct TrainerMon sParty_Roger[] = { { .lvl = 15, .species = SPECIES_MAGIKARP, @@ -8587,7 +8587,7 @@ static const struct TrainerMonCustomized sParty_Roger[] = { } }; -static const struct TrainerMonCustomized sParty_Alexa[] = { +static const struct TrainerMon sParty_Alexa[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, @@ -8600,7 +8600,7 @@ static const struct TrainerMonCustomized sParty_Alexa[] = { } }; -static const struct TrainerMonCustomized sParty_Ruben[] = { +static const struct TrainerMon sParty_Ruben[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 34, @@ -8613,14 +8613,14 @@ static const struct TrainerMonCustomized sParty_Ruben[] = { } }; -static const struct TrainerMonCustomized sParty_Koji1[] = { +static const struct TrainerMon sParty_Koji1[] = { { .lvl = 34, .species = SPECIES_MACHOKE, } }; -static const struct TrainerMonCustomized sParty_Wayne[] = { +static const struct TrainerMon sParty_Wayne[] = { { .lvl = 31, .species = SPECIES_TENTACOOL, @@ -8635,7 +8635,7 @@ static const struct TrainerMonCustomized sParty_Wayne[] = { } }; -static const struct TrainerMonCustomized sParty_Aidan[] = { +static const struct TrainerMon sParty_Aidan[] = { { .lvl = 32, .species = SPECIES_SWELLOW, @@ -8646,7 +8646,7 @@ static const struct TrainerMonCustomized sParty_Aidan[] = { } }; -static const struct TrainerMonCustomized sParty_Reed[] = { +static const struct TrainerMon sParty_Reed[] = { { .lvl = 33, .species = SPECIES_SPHEAL, @@ -8657,14 +8657,14 @@ static const struct TrainerMonCustomized sParty_Reed[] = { } }; -static const struct TrainerMonCustomized sParty_Tisha[] = { +static const struct TrainerMon sParty_Tisha[] = { { .lvl = 34, .species = SPECIES_CHINCHOU, } }; -static const struct TrainerMonCustomized sParty_ToriAndTia[] = { +static const struct TrainerMon sParty_ToriAndTia[] = { { .lvl = 19, .species = SPECIES_SPINDA, @@ -8675,7 +8675,7 @@ static const struct TrainerMonCustomized sParty_ToriAndTia[] = { } }; -static const struct TrainerMonCustomized sParty_KimAndIris[] = { +static const struct TrainerMon sParty_KimAndIris[] = { { .lvl = 32, .species = SPECIES_SWABLU, @@ -8688,7 +8688,7 @@ static const struct TrainerMonCustomized sParty_KimAndIris[] = { } }; -static const struct TrainerMonCustomized sParty_TyraAndIvy[] = { +static const struct TrainerMon sParty_TyraAndIvy[] = { { .lvl = 18, .species = SPECIES_ROSELIA, @@ -8701,7 +8701,7 @@ static const struct TrainerMonCustomized sParty_TyraAndIvy[] = { } }; -static const struct TrainerMonCustomized sParty_MelAndPaul[] = { +static const struct TrainerMon sParty_MelAndPaul[] = { { .lvl = 27, .species = SPECIES_DUSTOX, @@ -8714,7 +8714,7 @@ static const struct TrainerMonCustomized sParty_MelAndPaul[] = { } }; -static const struct TrainerMonCustomized sParty_JohnAndJay1[] = { +static const struct TrainerMon sParty_JohnAndJay1[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 39, @@ -8729,7 +8729,7 @@ static const struct TrainerMonCustomized sParty_JohnAndJay1[] = { } }; -static const struct TrainerMonCustomized sParty_JohnAndJay2[] = { +static const struct TrainerMon sParty_JohnAndJay2[] = { { .iv = TRAINER_PARTY_IVS(25, 25, 25, 25, 25, 25), .lvl = 43, @@ -8744,7 +8744,7 @@ static const struct TrainerMonCustomized sParty_JohnAndJay2[] = { } }; -static const struct TrainerMonCustomized sParty_JohnAndJay3[] = { +static const struct TrainerMon sParty_JohnAndJay3[] = { { .iv = TRAINER_PARTY_IVS(26, 26, 26, 26, 26, 26), .lvl = 46, @@ -8759,7 +8759,7 @@ static const struct TrainerMonCustomized sParty_JohnAndJay3[] = { } }; -static const struct TrainerMonCustomized sParty_JohnAndJay4[] = { +static const struct TrainerMon sParty_JohnAndJay4[] = { { .iv = TRAINER_PARTY_IVS(27, 27, 27, 27, 27, 27), .lvl = 49, @@ -8774,7 +8774,7 @@ static const struct TrainerMonCustomized sParty_JohnAndJay4[] = { } }; -static const struct TrainerMonCustomized sParty_JohnAndJay5[] = { +static const struct TrainerMon sParty_JohnAndJay5[] = { { .iv = TRAINER_PARTY_IVS(29, 29, 29, 29, 29, 29), .lvl = 52, @@ -8789,7 +8789,7 @@ static const struct TrainerMonCustomized sParty_JohnAndJay5[] = { } }; -static const struct TrainerMonCustomized sParty_ReliAndIan[] = { +static const struct TrainerMon sParty_ReliAndIan[] = { { .lvl = 35, .species = SPECIES_AZUMARILL, @@ -8800,7 +8800,7 @@ static const struct TrainerMonCustomized sParty_ReliAndIan[] = { } }; -static const struct TrainerMonCustomized sParty_LilaAndRoy1[] = { +static const struct TrainerMon sParty_LilaAndRoy1[] = { { .lvl = 34, .species = SPECIES_CHINCHOU, @@ -8811,7 +8811,7 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy1[] = { } }; -static const struct TrainerMonCustomized sParty_LilaAndRoy2[] = { +static const struct TrainerMon sParty_LilaAndRoy2[] = { { .lvl = 42, .species = SPECIES_CHINCHOU, @@ -8822,7 +8822,7 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy2[] = { } }; -static const struct TrainerMonCustomized sParty_LilaAndRoy3[] = { +static const struct TrainerMon sParty_LilaAndRoy3[] = { { .lvl = 45, .species = SPECIES_LANTURN, @@ -8833,7 +8833,7 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy3[] = { } }; -static const struct TrainerMonCustomized sParty_LilaAndRoy4[] = { +static const struct TrainerMon sParty_LilaAndRoy4[] = { { .lvl = 48, .species = SPECIES_LANTURN, @@ -8844,7 +8844,7 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy4[] = { } }; -static const struct TrainerMonCustomized sParty_LilaAndRoy5[] = { +static const struct TrainerMon sParty_LilaAndRoy5[] = { { .lvl = 51, .species = SPECIES_LANTURN, @@ -8855,7 +8855,7 @@ static const struct TrainerMonCustomized sParty_LilaAndRoy5[] = { } }; -static const struct TrainerMonCustomized sParty_LisaAndRay[] = { +static const struct TrainerMon sParty_LisaAndRay[] = { { .lvl = 27, .species = SPECIES_GOLDEEN, @@ -8866,7 +8866,7 @@ static const struct TrainerMonCustomized sParty_LisaAndRay[] = { } }; -static const struct TrainerMonCustomized sParty_Chris[] = { +static const struct TrainerMon sParty_Chris[] = { { .lvl = 29, .species = SPECIES_MAGIKARP, @@ -8885,7 +8885,7 @@ static const struct TrainerMonCustomized sParty_Chris[] = { } }; -static const struct TrainerMonCustomized sParty_Dawson[] = { +static const struct TrainerMon sParty_Dawson[] = { { .lvl = 8, .species = SPECIES_ZIGZAGOON, @@ -8898,7 +8898,7 @@ static const struct TrainerMonCustomized sParty_Dawson[] = { } }; -static const struct TrainerMonCustomized sParty_Sarah[] = { +static const struct TrainerMon sParty_Sarah[] = { { .lvl = 8, .species = SPECIES_LOTAD, @@ -8911,21 +8911,21 @@ static const struct TrainerMonCustomized sParty_Sarah[] = { } }; -static const struct TrainerMonCustomized sParty_Darian[] = { +static const struct TrainerMon sParty_Darian[] = { { .lvl = 9, .species = SPECIES_MAGIKARP, } }; -static const struct TrainerMonCustomized sParty_Hailey[] = { +static const struct TrainerMon sParty_Hailey[] = { { .lvl = 13, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Chandler[] = { +static const struct TrainerMon sParty_Chandler[] = { { .lvl = 12, .species = SPECIES_TENTACOOL, @@ -8936,7 +8936,7 @@ static const struct TrainerMonCustomized sParty_Chandler[] = { } }; -static const struct TrainerMonCustomized sParty_Kaleb[] = { +static const struct TrainerMon sParty_Kaleb[] = { { .lvl = 14, .species = SPECIES_MINUN, @@ -8949,7 +8949,7 @@ static const struct TrainerMonCustomized sParty_Kaleb[] = { } }; -static const struct TrainerMonCustomized sParty_Joseph[] = { +static const struct TrainerMon sParty_Joseph[] = { { .lvl = 14, .species = SPECIES_ELECTRIKE, @@ -8960,14 +8960,14 @@ static const struct TrainerMonCustomized sParty_Joseph[] = { } }; -static const struct TrainerMonCustomized sParty_Alyssa[] = { +static const struct TrainerMon sParty_Alyssa[] = { { .lvl = 15, .species = SPECIES_MAGNEMITE, } }; -static const struct TrainerMonCustomized sParty_Marcos[] = { +static const struct TrainerMon sParty_Marcos[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, @@ -8975,7 +8975,7 @@ static const struct TrainerMonCustomized sParty_Marcos[] = { } }; -static const struct TrainerMonCustomized sParty_Rhett[] = { +static const struct TrainerMon sParty_Rhett[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 15, @@ -8983,35 +8983,35 @@ static const struct TrainerMonCustomized sParty_Rhett[] = { } }; -static const struct TrainerMonCustomized sParty_Tyron[] = { +static const struct TrainerMon sParty_Tyron[] = { { .lvl = 19, .species = SPECIES_SANDSHREW, } }; -static const struct TrainerMonCustomized sParty_Celina[] = { +static const struct TrainerMon sParty_Celina[] = { { .lvl = 18, .species = SPECIES_ROSELIA, } }; -static const struct TrainerMonCustomized sParty_Bianca[] = { +static const struct TrainerMon sParty_Bianca[] = { { .lvl = 18, .species = SPECIES_SHROOMISH, } }; -static const struct TrainerMonCustomized sParty_Hayden[] = { +static const struct TrainerMon sParty_Hayden[] = { { .lvl = 18, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_Sophie[] = { +static const struct TrainerMon sParty_Sophie[] = { { .lvl = 17, .species = SPECIES_MARILL, @@ -9022,7 +9022,7 @@ static const struct TrainerMonCustomized sParty_Sophie[] = { } }; -static const struct TrainerMonCustomized sParty_Coby[] = { +static const struct TrainerMon sParty_Coby[] = { { .lvl = 17, .species = SPECIES_SKARMORY, @@ -9033,7 +9033,7 @@ static const struct TrainerMonCustomized sParty_Coby[] = { } }; -static const struct TrainerMonCustomized sParty_Lawrence[] = { +static const struct TrainerMon sParty_Lawrence[] = { { .lvl = 18, .species = SPECIES_BALTOY, @@ -9044,7 +9044,7 @@ static const struct TrainerMonCustomized sParty_Lawrence[] = { } }; -static const struct TrainerMonCustomized sParty_Wyatt[] = { +static const struct TrainerMon sParty_Wyatt[] = { { .lvl = 18, .species = SPECIES_ARON, @@ -9055,7 +9055,7 @@ static const struct TrainerMonCustomized sParty_Wyatt[] = { } }; -static const struct TrainerMonCustomized sParty_Angelina[] = { +static const struct TrainerMon sParty_Angelina[] = { { .lvl = 18, .species = SPECIES_LOMBRE, @@ -9066,21 +9066,21 @@ static const struct TrainerMonCustomized sParty_Angelina[] = { } }; -static const struct TrainerMonCustomized sParty_Kai[] = { +static const struct TrainerMon sParty_Kai[] = { { .lvl = 19, .species = SPECIES_BARBOACH, } }; -static const struct TrainerMonCustomized sParty_Charlotte[] = { +static const struct TrainerMon sParty_Charlotte[] = { { .lvl = 19, .species = SPECIES_NUZLEAF, } }; -static const struct TrainerMonCustomized sParty_Deandre[] = { +static const struct TrainerMon sParty_Deandre[] = { { .lvl = 14, .species = SPECIES_ZIGZAGOON, @@ -9095,28 +9095,28 @@ static const struct TrainerMonCustomized sParty_Deandre[] = { } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout1[] = { +static const struct TrainerMon sParty_GruntMagmaHideout1[] = { { .lvl = 29, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout2[] = { +static const struct TrainerMon sParty_GruntMagmaHideout2[] = { { .lvl = 29, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout3[] = { +static const struct TrainerMon sParty_GruntMagmaHideout3[] = { { .lvl = 29, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout4[] = { +static const struct TrainerMon sParty_GruntMagmaHideout4[] = { { .lvl = 28, .species = SPECIES_BALTOY, @@ -9127,7 +9127,7 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout4[] = { } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout5[] = { +static const struct TrainerMon sParty_GruntMagmaHideout5[] = { { .lvl = 28, .species = SPECIES_BALTOY, @@ -9138,84 +9138,84 @@ static const struct TrainerMonCustomized sParty_GruntMagmaHideout5[] = { } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout6[] = { +static const struct TrainerMon sParty_GruntMagmaHideout6[] = { { .lvl = 29, .species = SPECIES_MIGHTYENA, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout7[] = { +static const struct TrainerMon sParty_GruntMagmaHideout7[] = { { .lvl = 29, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout8[] = { +static const struct TrainerMon sParty_GruntMagmaHideout8[] = { { .lvl = 29, .species = SPECIES_POOCHYENA, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout9[] = { +static const struct TrainerMon sParty_GruntMagmaHideout9[] = { { .lvl = 29, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout10[] = { +static const struct TrainerMon sParty_GruntMagmaHideout10[] = { { .lvl = 29, .species = SPECIES_MIGHTYENA, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout11[] = { +static const struct TrainerMon sParty_GruntMagmaHideout11[] = { { .lvl = 29, .species = SPECIES_BALTOY, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout12[] = { +static const struct TrainerMon sParty_GruntMagmaHideout12[] = { { .lvl = 29, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout13[] = { +static const struct TrainerMon sParty_GruntMagmaHideout13[] = { { .lvl = 29, .species = SPECIES_ZUBAT, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout14[] = { +static const struct TrainerMon sParty_GruntMagmaHideout14[] = { { .lvl = 29, .species = SPECIES_MIGHTYENA, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout15[] = { +static const struct TrainerMon sParty_GruntMagmaHideout15[] = { { .lvl = 29, .species = SPECIES_NUMEL, } }; -static const struct TrainerMonCustomized sParty_GruntMagmaHideout16[] = { +static const struct TrainerMon sParty_GruntMagmaHideout16[] = { { .lvl = 29, .species = SPECIES_BALTOY, } }; -static const struct TrainerMonCustomized sParty_TabithaMagmaHideout[] = { +static const struct TrainerMon sParty_TabithaMagmaHideout[] = { { .iv = TRAINER_PARTY_IVS(9, 9, 9, 9, 9, 9), .lvl = 26, @@ -9238,7 +9238,7 @@ static const struct TrainerMonCustomized sParty_TabithaMagmaHideout[] = { } }; -static const struct TrainerMonCustomized sParty_Darcy[] = { +static const struct TrainerMon sParty_Darcy[] = { { .lvl = 33, .species = SPECIES_PELIPPER, @@ -9249,7 +9249,7 @@ static const struct TrainerMonCustomized sParty_Darcy[] = { } }; -static const struct TrainerMonCustomized sParty_MaxieMossdeep[] = { +static const struct TrainerMon sParty_MaxieMossdeep[] = { { .iv = TRAINER_PARTY_IVS(18, 18, 18, 18, 18, 18), .lvl = 42, @@ -9267,21 +9267,21 @@ static const struct TrainerMonCustomized sParty_MaxieMossdeep[] = { } }; -static const struct TrainerMonCustomized sParty_Pete[] = { +static const struct TrainerMon sParty_Pete[] = { { .lvl = 15, .species = SPECIES_TENTACOOL, } }; -static const struct TrainerMonCustomized sParty_Isabelle[] = { +static const struct TrainerMon sParty_Isabelle[] = { { .lvl = 15, .species = SPECIES_MARILL, } }; -static const struct TrainerMonCustomized sParty_Andres1[] = { +static const struct TrainerMon sParty_Andres1[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 25, @@ -9294,7 +9294,7 @@ static const struct TrainerMonCustomized sParty_Andres1[] = { } }; -static const struct TrainerMonCustomized sParty_Josue[] = { +static const struct TrainerMon sParty_Josue[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 25, @@ -9307,14 +9307,14 @@ static const struct TrainerMonCustomized sParty_Josue[] = { } }; -static const struct TrainerMonCustomized sParty_Camron[] = { +static const struct TrainerMon sParty_Camron[] = { { .lvl = 26, .species = SPECIES_STARYU, } }; -static const struct TrainerMonCustomized sParty_Cory1[] = { +static const struct TrainerMon sParty_Cory1[] = { { .lvl = 24, .species = SPECIES_WINGULL, @@ -9329,7 +9329,7 @@ static const struct TrainerMonCustomized sParty_Cory1[] = { } }; -static const struct TrainerMonCustomized sParty_Carolina[] = { +static const struct TrainerMon sParty_Carolina[] = { { .iv = TRAINER_PARTY_IVS(6, 6, 6, 6, 6, 6), .lvl = 24, @@ -9347,7 +9347,7 @@ static const struct TrainerMonCustomized sParty_Carolina[] = { } }; -static const struct TrainerMonCustomized sParty_Elijah[] = { +static const struct TrainerMon sParty_Elijah[] = { { .lvl = 25, .species = SPECIES_SKARMORY, @@ -9358,7 +9358,7 @@ static const struct TrainerMonCustomized sParty_Elijah[] = { } }; -static const struct TrainerMonCustomized sParty_Celia[] = { +static const struct TrainerMon sParty_Celia[] = { { .lvl = 22, .species = SPECIES_MARILL, @@ -9369,7 +9369,7 @@ static const struct TrainerMonCustomized sParty_Celia[] = { } }; -static const struct TrainerMonCustomized sParty_Bryan[] = { +static const struct TrainerMon sParty_Bryan[] = { { .lvl = 22, .species = SPECIES_SANDSHREW, @@ -9380,7 +9380,7 @@ static const struct TrainerMonCustomized sParty_Bryan[] = { } }; -static const struct TrainerMonCustomized sParty_Branden[] = { +static const struct TrainerMon sParty_Branden[] = { { .lvl = 22, .species = SPECIES_TAILLOW, @@ -9391,7 +9391,7 @@ static const struct TrainerMonCustomized sParty_Branden[] = { } }; -static const struct TrainerMonCustomized sParty_Bryant[] = { +static const struct TrainerMon sParty_Bryant[] = { { .lvl = 18, .species = SPECIES_NUMEL, @@ -9402,7 +9402,7 @@ static const struct TrainerMonCustomized sParty_Bryant[] = { } }; -static const struct TrainerMonCustomized sParty_Shayla[] = { +static const struct TrainerMon sParty_Shayla[] = { { .lvl = 18, .species = SPECIES_SHROOMISH, @@ -9413,7 +9413,7 @@ static const struct TrainerMonCustomized sParty_Shayla[] = { } }; -static const struct TrainerMonCustomized sParty_Kyra[] = { +static const struct TrainerMon sParty_Kyra[] = { { .lvl = 26, .species = SPECIES_DODUO, @@ -9424,7 +9424,7 @@ static const struct TrainerMonCustomized sParty_Kyra[] = { } }; -static const struct TrainerMonCustomized sParty_Jaiden[] = { +static const struct TrainerMon sParty_Jaiden[] = { { .lvl = 26, .species = SPECIES_NINJASK, @@ -9435,7 +9435,7 @@ static const struct TrainerMonCustomized sParty_Jaiden[] = { } }; -static const struct TrainerMonCustomized sParty_Alix[] = { +static const struct TrainerMon sParty_Alix[] = { { .lvl = 26, .species = SPECIES_KADABRA, @@ -9446,7 +9446,7 @@ static const struct TrainerMonCustomized sParty_Alix[] = { } }; -static const struct TrainerMonCustomized sParty_Helene[] = { +static const struct TrainerMon sParty_Helene[] = { { .lvl = 26, .species = SPECIES_MEDITITE, @@ -9457,7 +9457,7 @@ static const struct TrainerMonCustomized sParty_Helene[] = { } }; -static const struct TrainerMonCustomized sParty_Marlene[] = { +static const struct TrainerMon sParty_Marlene[] = { { .lvl = 18, .species = SPECIES_MEDITITE, @@ -9468,7 +9468,7 @@ static const struct TrainerMonCustomized sParty_Marlene[] = { } }; -static const struct TrainerMonCustomized sParty_Devan[] = { +static const struct TrainerMon sParty_Devan[] = { { .lvl = 8, .species = SPECIES_GEODUDE, @@ -9479,7 +9479,7 @@ static const struct TrainerMonCustomized sParty_Devan[] = { } }; -static const struct TrainerMonCustomized sParty_Johnson[] = { +static const struct TrainerMon sParty_Johnson[] = { { .lvl = 8, .species = SPECIES_SHROOMISH, @@ -9490,28 +9490,28 @@ static const struct TrainerMonCustomized sParty_Johnson[] = { } }; -static const struct TrainerMonCustomized sParty_Melina[] = { +static const struct TrainerMon sParty_Melina[] = { { .lvl = 17, .species = SPECIES_DODUO, } }; -static const struct TrainerMonCustomized sParty_Brandi[] = { +static const struct TrainerMon sParty_Brandi[] = { { .lvl = 17, .species = SPECIES_RALTS, } }; -static const struct TrainerMonCustomized sParty_Aisha[] = { +static const struct TrainerMon sParty_Aisha[] = { { .lvl = 17, .species = SPECIES_MEDITITE, } }; -static const struct TrainerMonCustomized sParty_Makayla[] = { +static const struct TrainerMon sParty_Makayla[] = { { .lvl = 33, .species = SPECIES_ROSELIA, @@ -9522,14 +9522,14 @@ static const struct TrainerMonCustomized sParty_Makayla[] = { } }; -static const struct TrainerMonCustomized sParty_Fabian[] = { +static const struct TrainerMon sParty_Fabian[] = { { .lvl = 26, .species = SPECIES_MANECTRIC, } }; -static const struct TrainerMonCustomized sParty_Dayton[] = { +static const struct TrainerMon sParty_Dayton[] = { { .lvl = 25, .species = SPECIES_SLUGMA, @@ -9540,14 +9540,14 @@ static const struct TrainerMonCustomized sParty_Dayton[] = { } }; -static const struct TrainerMonCustomized sParty_Rachel[] = { +static const struct TrainerMon sParty_Rachel[] = { { .lvl = 26, .species = SPECIES_GOLDEEN, } }; -static const struct TrainerMonCustomized sParty_Leonel[] = { +static const struct TrainerMon sParty_Leonel[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 30, @@ -9556,7 +9556,7 @@ static const struct TrainerMonCustomized sParty_Leonel[] = { } }; -static const struct TrainerMonCustomized sParty_Callie[] = { +static const struct TrainerMon sParty_Callie[] = { { .lvl = 28, .species = SPECIES_MEDITITE, @@ -9567,7 +9567,7 @@ static const struct TrainerMonCustomized sParty_Callie[] = { } }; -static const struct TrainerMonCustomized sParty_Cale[] = { +static const struct TrainerMon sParty_Cale[] = { { .lvl = 29, .species = SPECIES_DUSTOX, @@ -9578,7 +9578,7 @@ static const struct TrainerMonCustomized sParty_Cale[] = { } }; -static const struct TrainerMonCustomized sParty_Myles[] = { +static const struct TrainerMon sParty_Myles[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, @@ -9611,7 +9611,7 @@ static const struct TrainerMonCustomized sParty_Myles[] = { } }; -static const struct TrainerMonCustomized sParty_Pat[] = { +static const struct TrainerMon sParty_Pat[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 25, @@ -9644,7 +9644,7 @@ static const struct TrainerMonCustomized sParty_Pat[] = { } }; -static const struct TrainerMonCustomized sParty_Cristin1[] = { +static const struct TrainerMon sParty_Cristin1[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 29, @@ -9657,7 +9657,7 @@ static const struct TrainerMonCustomized sParty_Cristin1[] = { } }; -static const struct TrainerMonCustomized sParty_MayRustboroTreecko[] = { +static const struct TrainerMon sParty_MayRustboroTreecko[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, @@ -9670,7 +9670,7 @@ static const struct TrainerMonCustomized sParty_MayRustboroTreecko[] = { } }; -static const struct TrainerMonCustomized sParty_MayRustboroTorchic[] = { +static const struct TrainerMon sParty_MayRustboroTorchic[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 13, @@ -9683,7 +9683,7 @@ static const struct TrainerMonCustomized sParty_MayRustboroTorchic[] = { } }; -static const struct TrainerMonCustomized sParty_Roxanne2[] = { +static const struct TrainerMon sParty_Roxanne2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 32, @@ -9714,7 +9714,7 @@ static const struct TrainerMonCustomized sParty_Roxanne2[] = { } }; -static const struct TrainerMonCustomized sParty_Roxanne3[] = { +static const struct TrainerMon sParty_Roxanne3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 37, @@ -9752,7 +9752,7 @@ static const struct TrainerMonCustomized sParty_Roxanne3[] = { } }; -static const struct TrainerMonCustomized sParty_Roxanne4[] = { +static const struct TrainerMon sParty_Roxanne4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, @@ -9790,7 +9790,7 @@ static const struct TrainerMonCustomized sParty_Roxanne4[] = { } }; -static const struct TrainerMonCustomized sParty_Roxanne5[] = { +static const struct TrainerMon sParty_Roxanne5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, @@ -9835,7 +9835,7 @@ static const struct TrainerMonCustomized sParty_Roxanne5[] = { } }; -static const struct TrainerMonCustomized sParty_Brawly2[] = { +static const struct TrainerMon sParty_Brawly2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 33, @@ -9866,7 +9866,7 @@ static const struct TrainerMonCustomized sParty_Brawly2[] = { } }; -static const struct TrainerMonCustomized sParty_Brawly3[] = { +static const struct TrainerMon sParty_Brawly3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, @@ -9897,7 +9897,7 @@ static const struct TrainerMonCustomized sParty_Brawly3[] = { } }; -static const struct TrainerMonCustomized sParty_Brawly4[] = { +static const struct TrainerMon sParty_Brawly4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, @@ -9935,7 +9935,7 @@ static const struct TrainerMonCustomized sParty_Brawly4[] = { } }; -static const struct TrainerMonCustomized sParty_Brawly5[] = { +static const struct TrainerMon sParty_Brawly5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, @@ -9980,7 +9980,7 @@ static const struct TrainerMonCustomized sParty_Brawly5[] = { } }; -static const struct TrainerMonCustomized sParty_Wattson2[] = { +static const struct TrainerMon sParty_Wattson2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 36, @@ -10011,7 +10011,7 @@ static const struct TrainerMonCustomized sParty_Wattson2[] = { } }; -static const struct TrainerMonCustomized sParty_Wattson3[] = { +static const struct TrainerMon sParty_Wattson3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 39, @@ -10049,7 +10049,7 @@ static const struct TrainerMonCustomized sParty_Wattson3[] = { } }; -static const struct TrainerMonCustomized sParty_Wattson4[] = { +static const struct TrainerMon sParty_Wattson4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 44, @@ -10087,7 +10087,7 @@ static const struct TrainerMonCustomized sParty_Wattson4[] = { } }; -static const struct TrainerMonCustomized sParty_Wattson5[] = { +static const struct TrainerMon sParty_Wattson5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, @@ -10132,7 +10132,7 @@ static const struct TrainerMonCustomized sParty_Wattson5[] = { } }; -static const struct TrainerMonCustomized sParty_Flannery2[] = { +static const struct TrainerMon sParty_Flannery2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 38, @@ -10163,7 +10163,7 @@ static const struct TrainerMonCustomized sParty_Flannery2[] = { } }; -static const struct TrainerMonCustomized sParty_Flannery3[] = { +static const struct TrainerMon sParty_Flannery3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 41, @@ -10201,7 +10201,7 @@ static const struct TrainerMonCustomized sParty_Flannery3[] = { } }; -static const struct TrainerMonCustomized sParty_Flannery4[] = { +static const struct TrainerMon sParty_Flannery4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, @@ -10246,7 +10246,7 @@ static const struct TrainerMonCustomized sParty_Flannery4[] = { } }; -static const struct TrainerMonCustomized sParty_Flannery5[] = { +static const struct TrainerMon sParty_Flannery5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 51, @@ -10291,7 +10291,7 @@ static const struct TrainerMonCustomized sParty_Flannery5[] = { } }; -static const struct TrainerMonCustomized sParty_Norman2[] = { +static const struct TrainerMon sParty_Norman2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 42, @@ -10322,7 +10322,7 @@ static const struct TrainerMonCustomized sParty_Norman2[] = { } }; -static const struct TrainerMonCustomized sParty_Norman3[] = { +static const struct TrainerMon sParty_Norman3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 47, @@ -10360,7 +10360,7 @@ static const struct TrainerMonCustomized sParty_Norman3[] = { } }; -static const struct TrainerMonCustomized sParty_Norman4[] = { +static const struct TrainerMon sParty_Norman4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 52, @@ -10398,7 +10398,7 @@ static const struct TrainerMonCustomized sParty_Norman4[] = { } }; -static const struct TrainerMonCustomized sParty_Norman5[] = { +static const struct TrainerMon sParty_Norman5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 57, @@ -10443,7 +10443,7 @@ static const struct TrainerMonCustomized sParty_Norman5[] = { } }; -static const struct TrainerMonCustomized sParty_Winona2[] = { +static const struct TrainerMon sParty_Winona2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 40, @@ -10481,7 +10481,7 @@ static const struct TrainerMonCustomized sParty_Winona2[] = { } }; -static const struct TrainerMonCustomized sParty_Winona3[] = { +static const struct TrainerMon sParty_Winona3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 43, @@ -10526,7 +10526,7 @@ static const struct TrainerMonCustomized sParty_Winona3[] = { } }; -static const struct TrainerMonCustomized sParty_Winona4[] = { +static const struct TrainerMon sParty_Winona4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, @@ -10571,7 +10571,7 @@ static const struct TrainerMonCustomized sParty_Winona4[] = { } }; -static const struct TrainerMonCustomized sParty_Winona5[] = { +static const struct TrainerMon sParty_Winona5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, @@ -10616,7 +10616,7 @@ static const struct TrainerMonCustomized sParty_Winona5[] = { } }; -static const struct TrainerMonCustomized sParty_TateAndLiza2[] = { +static const struct TrainerMon sParty_TateAndLiza2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 48, @@ -10654,7 +10654,7 @@ static const struct TrainerMonCustomized sParty_TateAndLiza2[] = { } }; -static const struct TrainerMonCustomized sParty_TateAndLiza3[] = { +static const struct TrainerMon sParty_TateAndLiza3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 53, @@ -10699,7 +10699,7 @@ static const struct TrainerMonCustomized sParty_TateAndLiza3[] = { } }; -static const struct TrainerMonCustomized sParty_TateAndLiza4[] = { +static const struct TrainerMon sParty_TateAndLiza4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 58, @@ -10744,7 +10744,7 @@ static const struct TrainerMonCustomized sParty_TateAndLiza4[] = { } }; -static const struct TrainerMonCustomized sParty_TateAndLiza5[] = { +static const struct TrainerMon sParty_TateAndLiza5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 63, @@ -10789,7 +10789,7 @@ static const struct TrainerMonCustomized sParty_TateAndLiza5[] = { } }; -static const struct TrainerMonCustomized sParty_Juan2[] = { +static const struct TrainerMon sParty_Juan2[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 46, @@ -10827,7 +10827,7 @@ static const struct TrainerMonCustomized sParty_Juan2[] = { } }; -static const struct TrainerMonCustomized sParty_Juan3[] = { +static const struct TrainerMon sParty_Juan3[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 50, @@ -10865,7 +10865,7 @@ static const struct TrainerMonCustomized sParty_Juan3[] = { } }; -static const struct TrainerMonCustomized sParty_Juan4[] = { +static const struct TrainerMon sParty_Juan4[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 56, @@ -10910,7 +10910,7 @@ static const struct TrainerMonCustomized sParty_Juan4[] = { } }; -static const struct TrainerMonCustomized sParty_Juan5[] = { +static const struct TrainerMon sParty_Juan5[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 61, @@ -10955,7 +10955,7 @@ static const struct TrainerMonCustomized sParty_Juan5[] = { } }; -static const struct TrainerMonCustomized sParty_Angelo[] = { +static const struct TrainerMon sParty_Angelo[] = { { .iv = TRAINER_PARTY_IVS(12, 12, 12, 12, 12, 12), .lvl = 17, @@ -10972,7 +10972,7 @@ static const struct TrainerMonCustomized sParty_Angelo[] = { } }; -static const struct TrainerMonCustomized sParty_Darius[] = { +static const struct TrainerMon sParty_Darius[] = { { .iv = TRAINER_PARTY_IVS(24, 24, 24, 24, 24, 24), .lvl = 30, @@ -10980,7 +10980,7 @@ static const struct TrainerMonCustomized sParty_Darius[] = { } }; -static const struct TrainerMonCustomized sParty_Steven[] = { +static const struct TrainerMon sParty_Steven[] = { { .iv = TRAINER_PARTY_IVS(31, 31, 31, 31, 31, 31), .lvl = 77, @@ -11025,56 +11025,56 @@ static const struct TrainerMonCustomized sParty_Steven[] = { } }; -static const struct TrainerMonCustomized sParty_Anabel[] = { +static const struct TrainerMon sParty_Anabel[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Tucker[] = { +static const struct TrainerMon sParty_Tucker[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Spenser[] = { +static const struct TrainerMon sParty_Spenser[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Greta[] = { +static const struct TrainerMon sParty_Greta[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Noland[] = { +static const struct TrainerMon sParty_Noland[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Lucy[] = { +static const struct TrainerMon sParty_Lucy[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Brandon[] = { +static const struct TrainerMon sParty_Brandon[] = { { .lvl = 5, .species = SPECIES_BELDUM, } }; -static const struct TrainerMonCustomized sParty_Andres2[] = { +static const struct TrainerMon sParty_Andres2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, @@ -11087,7 +11087,7 @@ static const struct TrainerMonCustomized sParty_Andres2[] = { } }; -static const struct TrainerMonCustomized sParty_Andres3[] = { +static const struct TrainerMon sParty_Andres3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, @@ -11105,7 +11105,7 @@ static const struct TrainerMonCustomized sParty_Andres3[] = { } }; -static const struct TrainerMonCustomized sParty_Andres4[] = { +static const struct TrainerMon sParty_Andres4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, @@ -11123,7 +11123,7 @@ static const struct TrainerMonCustomized sParty_Andres4[] = { } }; -static const struct TrainerMonCustomized sParty_Andres5[] = { +static const struct TrainerMon sParty_Andres5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -11141,7 +11141,7 @@ static const struct TrainerMonCustomized sParty_Andres5[] = { } }; -static const struct TrainerMonCustomized sParty_Cory2[] = { +static const struct TrainerMon sParty_Cory2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 30, @@ -11159,7 +11159,7 @@ static const struct TrainerMonCustomized sParty_Cory2[] = { } }; -static const struct TrainerMonCustomized sParty_Cory3[] = { +static const struct TrainerMon sParty_Cory3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 32, @@ -11177,7 +11177,7 @@ static const struct TrainerMonCustomized sParty_Cory3[] = { } }; -static const struct TrainerMonCustomized sParty_Cory4[] = { +static const struct TrainerMon sParty_Cory4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 34, @@ -11195,7 +11195,7 @@ static const struct TrainerMonCustomized sParty_Cory4[] = { } }; -static const struct TrainerMonCustomized sParty_Cory5[] = { +static const struct TrainerMon sParty_Cory5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 36, @@ -11213,7 +11213,7 @@ static const struct TrainerMonCustomized sParty_Cory5[] = { } }; -static const struct TrainerMonCustomized sParty_Pablo2[] = { +static const struct TrainerMon sParty_Pablo2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 37, @@ -11226,7 +11226,7 @@ static const struct TrainerMonCustomized sParty_Pablo2[] = { } }; -static const struct TrainerMonCustomized sParty_Pablo3[] = { +static const struct TrainerMon sParty_Pablo3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, @@ -11244,7 +11244,7 @@ static const struct TrainerMonCustomized sParty_Pablo3[] = { } }; -static const struct TrainerMonCustomized sParty_Pablo4[] = { +static const struct TrainerMon sParty_Pablo4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, @@ -11262,7 +11262,7 @@ static const struct TrainerMonCustomized sParty_Pablo4[] = { } }; -static const struct TrainerMonCustomized sParty_Pablo5[] = { +static const struct TrainerMon sParty_Pablo5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, @@ -11280,7 +11280,7 @@ static const struct TrainerMonCustomized sParty_Pablo5[] = { } }; -static const struct TrainerMonCustomized sParty_Koji2[] = { +static const struct TrainerMon sParty_Koji2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 37, @@ -11293,7 +11293,7 @@ static const struct TrainerMonCustomized sParty_Koji2[] = { } }; -static const struct TrainerMonCustomized sParty_Koji3[] = { +static const struct TrainerMon sParty_Koji3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 39, @@ -11311,7 +11311,7 @@ static const struct TrainerMonCustomized sParty_Koji3[] = { } }; -static const struct TrainerMonCustomized sParty_Koji4[] = { +static const struct TrainerMon sParty_Koji4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 41, @@ -11329,7 +11329,7 @@ static const struct TrainerMonCustomized sParty_Koji4[] = { } }; -static const struct TrainerMonCustomized sParty_Koji5[] = { +static const struct TrainerMon sParty_Koji5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 43, @@ -11347,7 +11347,7 @@ static const struct TrainerMonCustomized sParty_Koji5[] = { } }; -static const struct TrainerMonCustomized sParty_Cristin2[] = { +static const struct TrainerMon sParty_Cristin2[] = { { .iv = TRAINER_PARTY_IVS(13, 13, 13, 13, 13, 13), .lvl = 35, @@ -11360,7 +11360,7 @@ static const struct TrainerMonCustomized sParty_Cristin2[] = { } }; -static const struct TrainerMonCustomized sParty_Cristin3[] = { +static const struct TrainerMon sParty_Cristin3[] = { { .iv = TRAINER_PARTY_IVS(14, 14, 14, 14, 14, 14), .lvl = 37, @@ -11378,7 +11378,7 @@ static const struct TrainerMonCustomized sParty_Cristin3[] = { } }; -static const struct TrainerMonCustomized sParty_Cristin4[] = { +static const struct TrainerMon sParty_Cristin4[] = { { .iv = TRAINER_PARTY_IVS(15, 15, 15, 15, 15, 15), .lvl = 39, @@ -11396,7 +11396,7 @@ static const struct TrainerMonCustomized sParty_Cristin4[] = { } }; -static const struct TrainerMonCustomized sParty_Cristin5[] = { +static const struct TrainerMon sParty_Cristin5[] = { { .iv = TRAINER_PARTY_IVS(17, 17, 17, 17, 17, 17), .lvl = 41, @@ -11414,7 +11414,7 @@ static const struct TrainerMonCustomized sParty_Cristin5[] = { } }; -static const struct TrainerMonCustomized sParty_Fernando2[] = { +static const struct TrainerMon sParty_Fernando2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 35, @@ -11432,7 +11432,7 @@ static const struct TrainerMonCustomized sParty_Fernando2[] = { } }; -static const struct TrainerMonCustomized sParty_Fernando3[] = { +static const struct TrainerMon sParty_Fernando3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 37, @@ -11450,7 +11450,7 @@ static const struct TrainerMonCustomized sParty_Fernando3[] = { } }; -static const struct TrainerMonCustomized sParty_Fernando4[] = { +static const struct TrainerMon sParty_Fernando4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 39, @@ -11468,7 +11468,7 @@ static const struct TrainerMonCustomized sParty_Fernando4[] = { } }; -static const struct TrainerMonCustomized sParty_Fernando5[] = { +static const struct TrainerMon sParty_Fernando5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 41, @@ -11486,7 +11486,7 @@ static const struct TrainerMonCustomized sParty_Fernando5[] = { } }; -static const struct TrainerMonCustomized sParty_Sawyer2[] = { +static const struct TrainerMon sParty_Sawyer2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 26, @@ -11499,7 +11499,7 @@ static const struct TrainerMonCustomized sParty_Sawyer2[] = { } }; -static const struct TrainerMonCustomized sParty_Sawyer3[] = { +static const struct TrainerMon sParty_Sawyer3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 28, @@ -11517,7 +11517,7 @@ static const struct TrainerMonCustomized sParty_Sawyer3[] = { } }; -static const struct TrainerMonCustomized sParty_Sawyer4[] = { +static const struct TrainerMon sParty_Sawyer4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 30, @@ -11535,7 +11535,7 @@ static const struct TrainerMonCustomized sParty_Sawyer4[] = { } }; -static const struct TrainerMonCustomized sParty_Sawyer5[] = { +static const struct TrainerMon sParty_Sawyer5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 33, @@ -11553,7 +11553,7 @@ static const struct TrainerMonCustomized sParty_Sawyer5[] = { } }; -static const struct TrainerMonCustomized sParty_Gabrielle2[] = { +static const struct TrainerMon sParty_Gabrielle2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 31, @@ -11586,7 +11586,7 @@ static const struct TrainerMonCustomized sParty_Gabrielle2[] = { } }; -static const struct TrainerMonCustomized sParty_Gabrielle3[] = { +static const struct TrainerMon sParty_Gabrielle3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 33, @@ -11619,7 +11619,7 @@ static const struct TrainerMonCustomized sParty_Gabrielle3[] = { } }; -static const struct TrainerMonCustomized sParty_Gabrielle4[] = { +static const struct TrainerMon sParty_Gabrielle4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 35, @@ -11652,7 +11652,7 @@ static const struct TrainerMonCustomized sParty_Gabrielle4[] = { } }; -static const struct TrainerMonCustomized sParty_Gabrielle5[] = { +static const struct TrainerMon sParty_Gabrielle5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 37, @@ -11685,7 +11685,7 @@ static const struct TrainerMonCustomized sParty_Gabrielle5[] = { } }; -static const struct TrainerMonCustomized sParty_Thalia2[] = { +static const struct TrainerMon sParty_Thalia2[] = { { .iv = TRAINER_PARTY_IVS(1, 1, 1, 1, 1, 1), .lvl = 34, @@ -11698,7 +11698,7 @@ static const struct TrainerMonCustomized sParty_Thalia2[] = { } }; -static const struct TrainerMonCustomized sParty_Thalia3[] = { +static const struct TrainerMon sParty_Thalia3[] = { { .iv = TRAINER_PARTY_IVS(2, 2, 2, 2, 2, 2), .lvl = 36, @@ -11716,7 +11716,7 @@ static const struct TrainerMonCustomized sParty_Thalia3[] = { } }; -static const struct TrainerMonCustomized sParty_Thalia4[] = { +static const struct TrainerMon sParty_Thalia4[] = { { .iv = TRAINER_PARTY_IVS(3, 3, 3, 3, 3, 3), .lvl = 38, @@ -11734,7 +11734,7 @@ static const struct TrainerMonCustomized sParty_Thalia4[] = { } }; -static const struct TrainerMonCustomized sParty_Thalia5[] = { +static const struct TrainerMon sParty_Thalia5[] = { { .iv = TRAINER_PARTY_IVS(4, 4, 4, 4, 4, 4), .lvl = 40, @@ -11752,14 +11752,14 @@ static const struct TrainerMonCustomized sParty_Thalia5[] = { } }; -static const struct TrainerMonCustomized sParty_Mariela[] = { +static const struct TrainerMon sParty_Mariela[] = { { .lvl = 41, .species = SPECIES_CHIMECHO, } }; -static const struct TrainerMonCustomized sParty_Alvaro[] = { +static const struct TrainerMon sParty_Alvaro[] = { { .lvl = 41, .species = SPECIES_BANETTE, @@ -11770,35 +11770,35 @@ static const struct TrainerMonCustomized sParty_Alvaro[] = { } }; -static const struct TrainerMonCustomized sParty_Everett[] = { +static const struct TrainerMon sParty_Everett[] = { { .lvl = 41, .species = SPECIES_WOBBUFFET, } }; -static const struct TrainerMonCustomized sParty_Red[] = { +static const struct TrainerMon sParty_Red[] = { { .lvl = 5, .species = SPECIES_CHARMANDER, } }; -static const struct TrainerMonCustomized sParty_Leaf[] = { +static const struct TrainerMon sParty_Leaf[] = { { .lvl = 5, .species = SPECIES_BULBASAUR, } }; -static const struct TrainerMonCustomized sParty_BrendanLinkPlaceholder[] = { +static const struct TrainerMon sParty_BrendanLinkPlaceholder[] = { { .lvl = 5, .species = SPECIES_GROUDON, } }; -static const struct TrainerMonCustomized sParty_MayLinkPlaceholder[] = { +static const struct TrainerMon sParty_MayLinkPlaceholder[] = { { .lvl = 5, .species = SPECIES_KYOGRE, diff --git a/src/match_call.c b/src/match_call.c index ec85498d07..0475f59908 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1789,7 +1789,7 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) { u16 trainerId; - const struct TrainerMonCustomized *party; + const struct TrainerMon *party; u8 monId; const u8 *speciesName; diff --git a/test/trainer_control.c b/test/trainer_control.c index 6578e1ab8c..2032fa9a03 100644 --- a/test/trainer_control.c +++ b/test/trainer_control.c @@ -11,7 +11,7 @@ #include "constants/battle.h" -static const struct TrainerMonCustomized sTestParty1[] = +static const struct TrainerMon sTestParty1[] = { { .species = SPECIES_WOBBUFFET, From b10b5fd9c3a75751b89d0fd673f686c979668645 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 5 Jul 2023 18:31:08 -0400 Subject: [PATCH 056/256] EVERYTHING_CUSTOMIZED -> TRAINER_PARTY --- include/data.h | 2 +- src/data/trainers.h | 1708 ++++++++++++++++++++-------------------- test/trainer_control.c | 2 +- 3 files changed, 856 insertions(+), 856 deletions(-) diff --git a/include/data.h b/include/data.h index 0fe2ea5775..0154b9f828 100644 --- a/include/data.h +++ b/include/data.h @@ -52,7 +52,7 @@ struct TrainerMon bool8 isShiny : 1; }; -#define EVERYTHING_CUSTOMIZED(partyArray) partyArray, .partySize = ARRAY_COUNT(partyArray) +#define TRAINER_PARTY(partyArray) partyArray, .partySize = ARRAY_COUNT(partyArray) struct Trainer { diff --git a/src/data/trainers.h b/src/data/trainers.h index d2ffe39723..7a34223b85 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -21,7 +21,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer1), + .party = TRAINER_PARTY(sParty_Sawyer1), }, [TRAINER_GRUNT_AQUA_HIDEOUT_1] = @@ -33,7 +33,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout1), + .party = TRAINER_PARTY(sParty_GruntAquaHideout1), }, [TRAINER_GRUNT_AQUA_HIDEOUT_2] = @@ -45,7 +45,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout2), + .party = TRAINER_PARTY(sParty_GruntAquaHideout2), }, [TRAINER_GRUNT_AQUA_HIDEOUT_3] = @@ -57,7 +57,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout3), + .party = TRAINER_PARTY(sParty_GruntAquaHideout3), }, [TRAINER_GRUNT_AQUA_HIDEOUT_4] = @@ -69,7 +69,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout4), + .party = TRAINER_PARTY(sParty_GruntAquaHideout4), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_1] = @@ -81,7 +81,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern1), + .party = TRAINER_PARTY(sParty_GruntSeafloorCavern1), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_2] = @@ -93,7 +93,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern2), + .party = TRAINER_PARTY(sParty_GruntSeafloorCavern2), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_3] = @@ -105,7 +105,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern3), + .party = TRAINER_PARTY(sParty_GruntSeafloorCavern3), }, [TRAINER_GABRIELLE_1] = @@ -117,7 +117,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle1), + .party = TRAINER_PARTY(sParty_Gabrielle1), }, [TRAINER_GRUNT_PETALBURG_WOODS] = @@ -129,7 +129,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntPetalburgWoods), + .party = TRAINER_PARTY(sParty_GruntPetalburgWoods), }, [TRAINER_MARCEL] = @@ -141,7 +141,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Marcel), + .party = TRAINER_PARTY(sParty_Marcel), }, [TRAINER_ALBERTO] = @@ -153,7 +153,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alberto), + .party = TRAINER_PARTY(sParty_Alberto), }, [TRAINER_ED] = @@ -165,7 +165,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ed), + .party = TRAINER_PARTY(sParty_Ed), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_4] = @@ -177,7 +177,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern4), + .party = TRAINER_PARTY(sParty_GruntSeafloorCavern4), }, [TRAINER_DECLAN] = @@ -189,7 +189,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Declan), + .party = TRAINER_PARTY(sParty_Declan), }, [TRAINER_GRUNT_RUSTURF_TUNNEL] = @@ -201,7 +201,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntRusturfTunnel), + .party = TRAINER_PARTY(sParty_GruntRusturfTunnel), }, [TRAINER_GRUNT_WEATHER_INST_1] = @@ -213,7 +213,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst1), + .party = TRAINER_PARTY(sParty_GruntWeatherInst1), }, [TRAINER_GRUNT_WEATHER_INST_2] = @@ -225,7 +225,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst2), + .party = TRAINER_PARTY(sParty_GruntWeatherInst2), }, [TRAINER_GRUNT_WEATHER_INST_3] = @@ -237,7 +237,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst3), + .party = TRAINER_PARTY(sParty_GruntWeatherInst3), }, [TRAINER_GRUNT_MUSEUM_1] = @@ -249,7 +249,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMuseum1), + .party = TRAINER_PARTY(sParty_GruntMuseum1), }, [TRAINER_GRUNT_MUSEUM_2] = @@ -261,7 +261,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMuseum2), + .party = TRAINER_PARTY(sParty_GruntMuseum2), }, [TRAINER_GRUNT_SPACE_CENTER_1] = @@ -273,7 +273,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter1), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter1), }, [TRAINER_GRUNT_MT_PYRE_1] = @@ -285,7 +285,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre1), + .party = TRAINER_PARTY(sParty_GruntMtPyre1), }, [TRAINER_GRUNT_MT_PYRE_2] = @@ -297,7 +297,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre2), + .party = TRAINER_PARTY(sParty_GruntMtPyre2), }, [TRAINER_GRUNT_MT_PYRE_3] = @@ -309,7 +309,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre3), + .party = TRAINER_PARTY(sParty_GruntMtPyre3), }, [TRAINER_GRUNT_WEATHER_INST_4] = @@ -321,7 +321,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst4), + .party = TRAINER_PARTY(sParty_GruntWeatherInst4), }, [TRAINER_GRUNT_AQUA_HIDEOUT_5] = @@ -333,7 +333,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout5), + .party = TRAINER_PARTY(sParty_GruntAquaHideout5), }, [TRAINER_GRUNT_AQUA_HIDEOUT_6] = @@ -345,7 +345,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout6), + .party = TRAINER_PARTY(sParty_GruntAquaHideout6), }, [TRAINER_FREDRICK] = @@ -357,7 +357,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Fredrick), + .party = TRAINER_PARTY(sParty_Fredrick), }, [TRAINER_MATT] = @@ -369,7 +369,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Matt), + .party = TRAINER_PARTY(sParty_Matt), }, [TRAINER_ZANDER] = @@ -381,7 +381,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Zander), + .party = TRAINER_PARTY(sParty_Zander), }, [TRAINER_SHELLY_WEATHER_INSTITUTE] = @@ -393,7 +393,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_ShellyWeatherInstitute), + .party = TRAINER_PARTY(sParty_ShellyWeatherInstitute), }, [TRAINER_SHELLY_SEAFLOOR_CAVERN] = @@ -405,7 +405,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_ShellySeafloorCavern), + .party = TRAINER_PARTY(sParty_ShellySeafloorCavern), }, [TRAINER_ARCHIE] = @@ -417,7 +417,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Archie), + .party = TRAINER_PARTY(sParty_Archie), }, [TRAINER_LEAH] = @@ -429,7 +429,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Leah), + .party = TRAINER_PARTY(sParty_Leah), }, [TRAINER_DAISY] = @@ -441,7 +441,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Daisy), + .party = TRAINER_PARTY(sParty_Daisy), }, [TRAINER_ROSE_1] = @@ -453,7 +453,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rose1), + .party = TRAINER_PARTY(sParty_Rose1), }, [TRAINER_FELIX] = @@ -465,7 +465,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Felix), + .party = TRAINER_PARTY(sParty_Felix), }, [TRAINER_VIOLET] = @@ -477,7 +477,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Violet), + .party = TRAINER_PARTY(sParty_Violet), }, [TRAINER_ROSE_2] = @@ -489,7 +489,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rose2), + .party = TRAINER_PARTY(sParty_Rose2), }, [TRAINER_ROSE_3] = @@ -501,7 +501,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rose3), + .party = TRAINER_PARTY(sParty_Rose3), }, [TRAINER_ROSE_4] = @@ -513,7 +513,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rose4), + .party = TRAINER_PARTY(sParty_Rose4), }, [TRAINER_ROSE_5] = @@ -525,7 +525,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rose5), + .party = TRAINER_PARTY(sParty_Rose5), }, [TRAINER_DUSTY_1] = @@ -537,7 +537,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dusty1), + .party = TRAINER_PARTY(sParty_Dusty1), }, [TRAINER_CHIP] = @@ -549,7 +549,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Chip), + .party = TRAINER_PARTY(sParty_Chip), }, [TRAINER_FOSTER] = @@ -561,7 +561,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Foster), + .party = TRAINER_PARTY(sParty_Foster), }, [TRAINER_DUSTY_2] = @@ -573,7 +573,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dusty2), + .party = TRAINER_PARTY(sParty_Dusty2), }, [TRAINER_DUSTY_3] = @@ -585,7 +585,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dusty3), + .party = TRAINER_PARTY(sParty_Dusty3), }, [TRAINER_DUSTY_4] = @@ -597,7 +597,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dusty4), + .party = TRAINER_PARTY(sParty_Dusty4), }, [TRAINER_DUSTY_5] = @@ -609,7 +609,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dusty5), + .party = TRAINER_PARTY(sParty_Dusty5), }, [TRAINER_GABBY_AND_TY_1] = @@ -621,7 +621,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy1), + .party = TRAINER_PARTY(sParty_GabbyAndTy1), }, [TRAINER_GABBY_AND_TY_2] = @@ -633,7 +633,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy2), + .party = TRAINER_PARTY(sParty_GabbyAndTy2), }, [TRAINER_GABBY_AND_TY_3] = @@ -645,7 +645,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy3), + .party = TRAINER_PARTY(sParty_GabbyAndTy3), }, [TRAINER_GABBY_AND_TY_4] = @@ -657,7 +657,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy4), + .party = TRAINER_PARTY(sParty_GabbyAndTy4), }, [TRAINER_GABBY_AND_TY_5] = @@ -669,7 +669,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy5), + .party = TRAINER_PARTY(sParty_GabbyAndTy5), }, [TRAINER_GABBY_AND_TY_6] = @@ -681,7 +681,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GabbyAndTy6), + .party = TRAINER_PARTY(sParty_GabbyAndTy6), }, [TRAINER_LOLA_1] = @@ -693,7 +693,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lola1), + .party = TRAINER_PARTY(sParty_Lola1), }, [TRAINER_AUSTINA] = @@ -705,7 +705,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Austina), + .party = TRAINER_PARTY(sParty_Austina), }, [TRAINER_GWEN] = @@ -717,7 +717,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gwen), + .party = TRAINER_PARTY(sParty_Gwen), }, [TRAINER_LOLA_2] = @@ -729,7 +729,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lola2), + .party = TRAINER_PARTY(sParty_Lola2), }, [TRAINER_LOLA_3] = @@ -741,7 +741,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lola3), + .party = TRAINER_PARTY(sParty_Lola3), }, [TRAINER_LOLA_4] = @@ -753,7 +753,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lola4), + .party = TRAINER_PARTY(sParty_Lola4), }, [TRAINER_LOLA_5] = @@ -765,7 +765,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lola5), + .party = TRAINER_PARTY(sParty_Lola5), }, [TRAINER_RICKY_1] = @@ -777,7 +777,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ricky1), + .party = TRAINER_PARTY(sParty_Ricky1), }, [TRAINER_SIMON] = @@ -789,7 +789,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Simon), + .party = TRAINER_PARTY(sParty_Simon), }, [TRAINER_CHARLIE] = @@ -801,7 +801,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Charlie), + .party = TRAINER_PARTY(sParty_Charlie), }, [TRAINER_RICKY_2] = @@ -813,7 +813,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ricky2), + .party = TRAINER_PARTY(sParty_Ricky2), }, [TRAINER_RICKY_3] = @@ -825,7 +825,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ricky3), + .party = TRAINER_PARTY(sParty_Ricky3), }, [TRAINER_RICKY_4] = @@ -837,7 +837,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ricky4), + .party = TRAINER_PARTY(sParty_Ricky4), }, [TRAINER_RICKY_5] = @@ -849,7 +849,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ricky5), + .party = TRAINER_PARTY(sParty_Ricky5), }, [TRAINER_RANDALL] = @@ -861,7 +861,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Randall), + .party = TRAINER_PARTY(sParty_Randall), }, [TRAINER_PARKER] = @@ -873,7 +873,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Parker), + .party = TRAINER_PARTY(sParty_Parker), }, [TRAINER_GEORGE] = @@ -885,7 +885,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_George), + .party = TRAINER_PARTY(sParty_George), }, [TRAINER_BERKE] = @@ -897,7 +897,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Berke), + .party = TRAINER_PARTY(sParty_Berke), }, [TRAINER_BRAXTON] = @@ -909,7 +909,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Braxton), + .party = TRAINER_PARTY(sParty_Braxton), }, [TRAINER_VINCENT] = @@ -921,7 +921,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Vincent), + .party = TRAINER_PARTY(sParty_Vincent), }, [TRAINER_LEROY] = @@ -933,7 +933,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Leroy), + .party = TRAINER_PARTY(sParty_Leroy), }, [TRAINER_WILTON_1] = @@ -945,7 +945,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wilton1), + .party = TRAINER_PARTY(sParty_Wilton1), }, [TRAINER_EDGAR] = @@ -957,7 +957,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Edgar), + .party = TRAINER_PARTY(sParty_Edgar), }, [TRAINER_ALBERT] = @@ -969,7 +969,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Albert), + .party = TRAINER_PARTY(sParty_Albert), }, [TRAINER_SAMUEL] = @@ -981,7 +981,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Samuel), + .party = TRAINER_PARTY(sParty_Samuel), }, [TRAINER_VITO] = @@ -993,7 +993,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Vito), + .party = TRAINER_PARTY(sParty_Vito), }, [TRAINER_OWEN] = @@ -1005,7 +1005,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Owen), + .party = TRAINER_PARTY(sParty_Owen), }, [TRAINER_WILTON_2] = @@ -1017,7 +1017,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wilton2), + .party = TRAINER_PARTY(sParty_Wilton2), }, [TRAINER_WILTON_3] = @@ -1029,7 +1029,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wilton3), + .party = TRAINER_PARTY(sParty_Wilton3), }, [TRAINER_WILTON_4] = @@ -1041,7 +1041,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wilton4), + .party = TRAINER_PARTY(sParty_Wilton4), }, [TRAINER_WILTON_5] = @@ -1053,7 +1053,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wilton5), + .party = TRAINER_PARTY(sParty_Wilton5), }, [TRAINER_WARREN] = @@ -1065,7 +1065,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Warren), + .party = TRAINER_PARTY(sParty_Warren), }, [TRAINER_MARY] = @@ -1077,7 +1077,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Mary), + .party = TRAINER_PARTY(sParty_Mary), }, [TRAINER_ALEXIA] = @@ -1089,7 +1089,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Alexia), + .party = TRAINER_PARTY(sParty_Alexia), }, [TRAINER_JODY] = @@ -1101,7 +1101,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Jody), + .party = TRAINER_PARTY(sParty_Jody), }, [TRAINER_WENDY] = @@ -1113,7 +1113,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Wendy), + .party = TRAINER_PARTY(sParty_Wendy), }, [TRAINER_KEIRA] = @@ -1125,7 +1125,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Keira), + .party = TRAINER_PARTY(sParty_Keira), }, [TRAINER_BROOKE_1] = @@ -1137,7 +1137,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brooke1), + .party = TRAINER_PARTY(sParty_Brooke1), }, [TRAINER_JENNIFER] = @@ -1149,7 +1149,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Jennifer), + .party = TRAINER_PARTY(sParty_Jennifer), }, [TRAINER_HOPE] = @@ -1161,7 +1161,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Hope), + .party = TRAINER_PARTY(sParty_Hope), }, [TRAINER_SHANNON] = @@ -1173,7 +1173,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Shannon), + .party = TRAINER_PARTY(sParty_Shannon), }, [TRAINER_MICHELLE] = @@ -1185,7 +1185,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Michelle), + .party = TRAINER_PARTY(sParty_Michelle), }, [TRAINER_CAROLINE] = @@ -1197,7 +1197,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Caroline), + .party = TRAINER_PARTY(sParty_Caroline), }, [TRAINER_JULIE] = @@ -1209,7 +1209,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Julie), + .party = TRAINER_PARTY(sParty_Julie), }, [TRAINER_BROOKE_2] = @@ -1221,7 +1221,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brooke2), + .party = TRAINER_PARTY(sParty_Brooke2), }, [TRAINER_BROOKE_3] = @@ -1233,7 +1233,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brooke3), + .party = TRAINER_PARTY(sParty_Brooke3), }, [TRAINER_BROOKE_4] = @@ -1245,7 +1245,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brooke4), + .party = TRAINER_PARTY(sParty_Brooke4), }, [TRAINER_BROOKE_5] = @@ -1257,7 +1257,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brooke5), + .party = TRAINER_PARTY(sParty_Brooke5), }, [TRAINER_PATRICIA] = @@ -1269,7 +1269,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Patricia), + .party = TRAINER_PARTY(sParty_Patricia), }, [TRAINER_KINDRA] = @@ -1281,7 +1281,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kindra), + .party = TRAINER_PARTY(sParty_Kindra), }, [TRAINER_TAMMY] = @@ -1293,7 +1293,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tammy), + .party = TRAINER_PARTY(sParty_Tammy), }, [TRAINER_VALERIE_1] = @@ -1305,7 +1305,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Valerie1), + .party = TRAINER_PARTY(sParty_Valerie1), }, [TRAINER_TASHA] = @@ -1317,7 +1317,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tasha), + .party = TRAINER_PARTY(sParty_Tasha), }, [TRAINER_VALERIE_2] = @@ -1329,7 +1329,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Valerie2), + .party = TRAINER_PARTY(sParty_Valerie2), }, [TRAINER_VALERIE_3] = @@ -1341,7 +1341,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Valerie3), + .party = TRAINER_PARTY(sParty_Valerie3), }, [TRAINER_VALERIE_4] = @@ -1353,7 +1353,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Valerie4), + .party = TRAINER_PARTY(sParty_Valerie4), }, [TRAINER_VALERIE_5] = @@ -1365,7 +1365,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Valerie5), + .party = TRAINER_PARTY(sParty_Valerie5), }, [TRAINER_CINDY_1] = @@ -1377,7 +1377,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cindy1), + .party = TRAINER_PARTY(sParty_Cindy1), }, [TRAINER_DAPHNE] = @@ -1389,7 +1389,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Daphne), + .party = TRAINER_PARTY(sParty_Daphne), }, [TRAINER_GRUNT_SPACE_CENTER_2] = @@ -1401,7 +1401,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter2), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter2), }, [TRAINER_CINDY_2] = @@ -1413,7 +1413,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cindy2), + .party = TRAINER_PARTY(sParty_Cindy2), }, [TRAINER_BRIANNA] = @@ -1425,7 +1425,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Brianna), + .party = TRAINER_PARTY(sParty_Brianna), }, [TRAINER_NAOMI] = @@ -1437,7 +1437,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Naomi), + .party = TRAINER_PARTY(sParty_Naomi), }, [TRAINER_CINDY_3] = @@ -1449,7 +1449,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cindy3), + .party = TRAINER_PARTY(sParty_Cindy3), }, [TRAINER_CINDY_4] = @@ -1461,7 +1461,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cindy4), + .party = TRAINER_PARTY(sParty_Cindy4), }, [TRAINER_CINDY_5] = @@ -1473,7 +1473,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cindy5), + .party = TRAINER_PARTY(sParty_Cindy5), }, [TRAINER_CINDY_6] = @@ -1485,7 +1485,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cindy6), + .party = TRAINER_PARTY(sParty_Cindy6), }, [TRAINER_MELISSA] = @@ -1497,7 +1497,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Melissa), + .party = TRAINER_PARTY(sParty_Melissa), }, [TRAINER_SHEILA] = @@ -1509,7 +1509,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sheila), + .party = TRAINER_PARTY(sParty_Sheila), }, [TRAINER_SHIRLEY] = @@ -1521,7 +1521,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Shirley), + .party = TRAINER_PARTY(sParty_Shirley), }, [TRAINER_JESSICA_1] = @@ -1533,7 +1533,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jessica1), + .party = TRAINER_PARTY(sParty_Jessica1), }, [TRAINER_CONNIE] = @@ -1545,7 +1545,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Connie), + .party = TRAINER_PARTY(sParty_Connie), }, [TRAINER_BRIDGET] = @@ -1557,7 +1557,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bridget), + .party = TRAINER_PARTY(sParty_Bridget), }, [TRAINER_OLIVIA] = @@ -1569,7 +1569,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Olivia), + .party = TRAINER_PARTY(sParty_Olivia), }, [TRAINER_TIFFANY] = @@ -1581,7 +1581,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tiffany), + .party = TRAINER_PARTY(sParty_Tiffany), }, [TRAINER_JESSICA_2] = @@ -1593,7 +1593,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jessica2), + .party = TRAINER_PARTY(sParty_Jessica2), }, [TRAINER_JESSICA_3] = @@ -1605,7 +1605,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jessica3), + .party = TRAINER_PARTY(sParty_Jessica3), }, [TRAINER_JESSICA_4] = @@ -1617,7 +1617,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jessica4), + .party = TRAINER_PARTY(sParty_Jessica4), }, [TRAINER_JESSICA_5] = @@ -1629,7 +1629,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jessica5), + .party = TRAINER_PARTY(sParty_Jessica5), }, [TRAINER_WINSTON_1] = @@ -1641,7 +1641,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Winston1), + .party = TRAINER_PARTY(sParty_Winston1), }, [TRAINER_MOLLIE] = @@ -1653,7 +1653,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Mollie), + .party = TRAINER_PARTY(sParty_Mollie), }, [TRAINER_GARRET] = @@ -1665,7 +1665,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Garret), + .party = TRAINER_PARTY(sParty_Garret), }, [TRAINER_WINSTON_2] = @@ -1677,7 +1677,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Winston2), + .party = TRAINER_PARTY(sParty_Winston2), }, [TRAINER_WINSTON_3] = @@ -1689,7 +1689,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Winston3), + .party = TRAINER_PARTY(sParty_Winston3), }, [TRAINER_WINSTON_4] = @@ -1701,7 +1701,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Winston4), + .party = TRAINER_PARTY(sParty_Winston4), }, [TRAINER_WINSTON_5] = @@ -1713,7 +1713,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Winston5), + .party = TRAINER_PARTY(sParty_Winston5), }, [TRAINER_STEVE_1] = @@ -1725,7 +1725,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Steve1), + .party = TRAINER_PARTY(sParty_Steve1), }, [TRAINER_THALIA_1] = @@ -1737,7 +1737,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Thalia1), + .party = TRAINER_PARTY(sParty_Thalia1), }, [TRAINER_MARK] = @@ -1749,7 +1749,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Mark), + .party = TRAINER_PARTY(sParty_Mark), }, [TRAINER_GRUNT_MT_CHIMNEY_1] = @@ -1761,7 +1761,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtChimney1), + .party = TRAINER_PARTY(sParty_GruntMtChimney1), }, [TRAINER_STEVE_2] = @@ -1773,7 +1773,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Steve2), + .party = TRAINER_PARTY(sParty_Steve2), }, [TRAINER_STEVE_3] = @@ -1785,7 +1785,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Steve3), + .party = TRAINER_PARTY(sParty_Steve3), }, [TRAINER_STEVE_4] = @@ -1797,7 +1797,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Steve4), + .party = TRAINER_PARTY(sParty_Steve4), }, [TRAINER_STEVE_5] = @@ -1809,7 +1809,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Steve5), + .party = TRAINER_PARTY(sParty_Steve5), }, [TRAINER_LUIS] = @@ -1821,7 +1821,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Luis), + .party = TRAINER_PARTY(sParty_Luis), }, [TRAINER_DOMINIK] = @@ -1833,7 +1833,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dominik), + .party = TRAINER_PARTY(sParty_Dominik), }, [TRAINER_DOUGLAS] = @@ -1845,7 +1845,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Douglas), + .party = TRAINER_PARTY(sParty_Douglas), }, [TRAINER_DARRIN] = @@ -1857,7 +1857,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Darrin), + .party = TRAINER_PARTY(sParty_Darrin), }, [TRAINER_TONY_1] = @@ -1869,7 +1869,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tony1), + .party = TRAINER_PARTY(sParty_Tony1), }, [TRAINER_JEROME] = @@ -1881,7 +1881,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jerome), + .party = TRAINER_PARTY(sParty_Jerome), }, [TRAINER_MATTHEW] = @@ -1893,7 +1893,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Matthew), + .party = TRAINER_PARTY(sParty_Matthew), }, [TRAINER_DAVID] = @@ -1905,7 +1905,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_David), + .party = TRAINER_PARTY(sParty_David), }, [TRAINER_SPENCER] = @@ -1917,7 +1917,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Spencer), + .party = TRAINER_PARTY(sParty_Spencer), }, [TRAINER_ROLAND] = @@ -1929,7 +1929,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Roland), + .party = TRAINER_PARTY(sParty_Roland), }, [TRAINER_NOLEN] = @@ -1941,7 +1941,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nolen), + .party = TRAINER_PARTY(sParty_Nolen), }, [TRAINER_STAN] = @@ -1953,7 +1953,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Stan), + .party = TRAINER_PARTY(sParty_Stan), }, [TRAINER_BARRY] = @@ -1965,7 +1965,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Barry), + .party = TRAINER_PARTY(sParty_Barry), }, [TRAINER_DEAN] = @@ -1977,7 +1977,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dean), + .party = TRAINER_PARTY(sParty_Dean), }, [TRAINER_RODNEY] = @@ -1989,7 +1989,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rodney), + .party = TRAINER_PARTY(sParty_Rodney), }, [TRAINER_RICHARD] = @@ -2001,7 +2001,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Richard), + .party = TRAINER_PARTY(sParty_Richard), }, [TRAINER_HERMAN] = @@ -2013,7 +2013,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Herman), + .party = TRAINER_PARTY(sParty_Herman), }, [TRAINER_SANTIAGO] = @@ -2025,7 +2025,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Santiago), + .party = TRAINER_PARTY(sParty_Santiago), }, [TRAINER_GILBERT] = @@ -2037,7 +2037,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gilbert), + .party = TRAINER_PARTY(sParty_Gilbert), }, [TRAINER_FRANKLIN] = @@ -2049,7 +2049,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Franklin), + .party = TRAINER_PARTY(sParty_Franklin), }, [TRAINER_KEVIN] = @@ -2061,7 +2061,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kevin), + .party = TRAINER_PARTY(sParty_Kevin), }, [TRAINER_JACK] = @@ -2073,7 +2073,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jack), + .party = TRAINER_PARTY(sParty_Jack), }, [TRAINER_DUDLEY] = @@ -2085,7 +2085,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dudley), + .party = TRAINER_PARTY(sParty_Dudley), }, [TRAINER_CHAD] = @@ -2097,7 +2097,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Chad), + .party = TRAINER_PARTY(sParty_Chad), }, [TRAINER_TONY_2] = @@ -2109,7 +2109,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tony2), + .party = TRAINER_PARTY(sParty_Tony2), }, [TRAINER_TONY_3] = @@ -2121,7 +2121,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tony3), + .party = TRAINER_PARTY(sParty_Tony3), }, [TRAINER_TONY_4] = @@ -2133,7 +2133,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tony4), + .party = TRAINER_PARTY(sParty_Tony4), }, [TRAINER_TONY_5] = @@ -2145,7 +2145,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tony5), + .party = TRAINER_PARTY(sParty_Tony5), }, [TRAINER_TAKAO] = @@ -2157,7 +2157,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Takao), + .party = TRAINER_PARTY(sParty_Takao), }, [TRAINER_HITOSHI] = @@ -2169,7 +2169,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hitoshi), + .party = TRAINER_PARTY(sParty_Hitoshi), }, [TRAINER_KIYO] = @@ -2181,7 +2181,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kiyo), + .party = TRAINER_PARTY(sParty_Kiyo), }, [TRAINER_KOICHI] = @@ -2193,7 +2193,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Koichi), + .party = TRAINER_PARTY(sParty_Koichi), }, [TRAINER_NOB_1] = @@ -2205,7 +2205,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nob1), + .party = TRAINER_PARTY(sParty_Nob1), }, [TRAINER_NOB_2] = @@ -2217,7 +2217,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nob2), + .party = TRAINER_PARTY(sParty_Nob2), }, [TRAINER_NOB_3] = @@ -2229,7 +2229,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nob3), + .party = TRAINER_PARTY(sParty_Nob3), }, [TRAINER_NOB_4] = @@ -2241,7 +2241,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nob4), + .party = TRAINER_PARTY(sParty_Nob4), }, [TRAINER_NOB_5] = @@ -2253,7 +2253,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nob5), + .party = TRAINER_PARTY(sParty_Nob5), }, [TRAINER_YUJI] = @@ -2265,7 +2265,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Yuji), + .party = TRAINER_PARTY(sParty_Yuji), }, [TRAINER_DAISUKE] = @@ -2277,7 +2277,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Daisuke), + .party = TRAINER_PARTY(sParty_Daisuke), }, [TRAINER_ATSUSHI] = @@ -2289,7 +2289,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Atsushi), + .party = TRAINER_PARTY(sParty_Atsushi), }, [TRAINER_KIRK] = @@ -2301,7 +2301,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kirk), + .party = TRAINER_PARTY(sParty_Kirk), }, [TRAINER_GRUNT_AQUA_HIDEOUT_7] = @@ -2313,7 +2313,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout7), + .party = TRAINER_PARTY(sParty_GruntAquaHideout7), }, [TRAINER_GRUNT_AQUA_HIDEOUT_8] = @@ -2325,7 +2325,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntAquaHideout8), + .party = TRAINER_PARTY(sParty_GruntAquaHideout8), }, [TRAINER_SHAWN] = @@ -2337,7 +2337,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Shawn), + .party = TRAINER_PARTY(sParty_Shawn), }, [TRAINER_FERNANDO_1] = @@ -2349,7 +2349,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Fernando1), + .party = TRAINER_PARTY(sParty_Fernando1), }, [TRAINER_DALTON_1] = @@ -2361,7 +2361,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dalton1), + .party = TRAINER_PARTY(sParty_Dalton1), }, [TRAINER_DALTON_2] = @@ -2373,7 +2373,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dalton2), + .party = TRAINER_PARTY(sParty_Dalton2), }, [TRAINER_DALTON_3] = @@ -2385,7 +2385,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dalton3), + .party = TRAINER_PARTY(sParty_Dalton3), }, [TRAINER_DALTON_4] = @@ -2397,7 +2397,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dalton4), + .party = TRAINER_PARTY(sParty_Dalton4), }, [TRAINER_DALTON_5] = @@ -2409,7 +2409,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dalton5), + .party = TRAINER_PARTY(sParty_Dalton5), }, [TRAINER_COLE] = @@ -2421,7 +2421,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cole), + .party = TRAINER_PARTY(sParty_Cole), }, [TRAINER_JEFF] = @@ -2433,7 +2433,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jeff), + .party = TRAINER_PARTY(sParty_Jeff), }, [TRAINER_AXLE] = @@ -2445,7 +2445,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Axle), + .party = TRAINER_PARTY(sParty_Axle), }, [TRAINER_JACE] = @@ -2457,7 +2457,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jace), + .party = TRAINER_PARTY(sParty_Jace), }, [TRAINER_KEEGAN] = @@ -2469,7 +2469,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Keegan), + .party = TRAINER_PARTY(sParty_Keegan), }, [TRAINER_BERNIE_1] = @@ -2481,7 +2481,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bernie1), + .party = TRAINER_PARTY(sParty_Bernie1), }, [TRAINER_BERNIE_2] = @@ -2493,7 +2493,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bernie2), + .party = TRAINER_PARTY(sParty_Bernie2), }, [TRAINER_BERNIE_3] = @@ -2505,7 +2505,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bernie3), + .party = TRAINER_PARTY(sParty_Bernie3), }, [TRAINER_BERNIE_4] = @@ -2517,7 +2517,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bernie4), + .party = TRAINER_PARTY(sParty_Bernie4), }, [TRAINER_BERNIE_5] = @@ -2529,7 +2529,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bernie5), + .party = TRAINER_PARTY(sParty_Bernie5), }, [TRAINER_DREW] = @@ -2541,7 +2541,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Drew), + .party = TRAINER_PARTY(sParty_Drew), }, [TRAINER_BEAU] = @@ -2553,7 +2553,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Beau), + .party = TRAINER_PARTY(sParty_Beau), }, [TRAINER_LARRY] = @@ -2565,7 +2565,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Larry), + .party = TRAINER_PARTY(sParty_Larry), }, [TRAINER_SHANE] = @@ -2577,7 +2577,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Shane), + .party = TRAINER_PARTY(sParty_Shane), }, [TRAINER_JUSTIN] = @@ -2589,7 +2589,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Justin), + .party = TRAINER_PARTY(sParty_Justin), }, [TRAINER_ETHAN_1] = @@ -2601,7 +2601,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ethan1), + .party = TRAINER_PARTY(sParty_Ethan1), }, [TRAINER_AUTUMN] = @@ -2613,7 +2613,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Autumn), + .party = TRAINER_PARTY(sParty_Autumn), }, [TRAINER_TRAVIS] = @@ -2625,7 +2625,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Travis), + .party = TRAINER_PARTY(sParty_Travis), }, [TRAINER_ETHAN_2] = @@ -2637,7 +2637,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ethan2), + .party = TRAINER_PARTY(sParty_Ethan2), }, [TRAINER_ETHAN_3] = @@ -2649,7 +2649,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ethan3), + .party = TRAINER_PARTY(sParty_Ethan3), }, [TRAINER_ETHAN_4] = @@ -2661,7 +2661,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ethan4), + .party = TRAINER_PARTY(sParty_Ethan4), }, [TRAINER_ETHAN_5] = @@ -2673,7 +2673,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ethan5), + .party = TRAINER_PARTY(sParty_Ethan5), }, [TRAINER_BRENT] = @@ -2685,7 +2685,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Brent), + .party = TRAINER_PARTY(sParty_Brent), }, [TRAINER_DONALD] = @@ -2697,7 +2697,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Donald), + .party = TRAINER_PARTY(sParty_Donald), }, [TRAINER_TAYLOR] = @@ -2709,7 +2709,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Taylor), + .party = TRAINER_PARTY(sParty_Taylor), }, [TRAINER_JEFFREY_1] = @@ -2721,7 +2721,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey1), + .party = TRAINER_PARTY(sParty_Jeffrey1), }, [TRAINER_DEREK] = @@ -2733,7 +2733,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Derek), + .party = TRAINER_PARTY(sParty_Derek), }, [TRAINER_JEFFREY_2] = @@ -2745,7 +2745,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey2), + .party = TRAINER_PARTY(sParty_Jeffrey2), }, [TRAINER_JEFFREY_3] = @@ -2757,7 +2757,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey3), + .party = TRAINER_PARTY(sParty_Jeffrey3), }, [TRAINER_JEFFREY_4] = @@ -2769,7 +2769,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey4), + .party = TRAINER_PARTY(sParty_Jeffrey4), }, [TRAINER_JEFFREY_5] = @@ -2781,7 +2781,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jeffrey5), + .party = TRAINER_PARTY(sParty_Jeffrey5), }, [TRAINER_EDWARD] = @@ -2793,7 +2793,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edward), + .party = TRAINER_PARTY(sParty_Edward), }, [TRAINER_PRESTON] = @@ -2805,7 +2805,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Preston), + .party = TRAINER_PARTY(sParty_Preston), }, [TRAINER_VIRGIL] = @@ -2817,7 +2817,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Virgil), + .party = TRAINER_PARTY(sParty_Virgil), }, [TRAINER_BLAKE] = @@ -2829,7 +2829,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Blake), + .party = TRAINER_PARTY(sParty_Blake), }, [TRAINER_WILLIAM] = @@ -2841,7 +2841,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_William), + .party = TRAINER_PARTY(sParty_William), }, [TRAINER_JOSHUA] = @@ -2853,7 +2853,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Joshua), + .party = TRAINER_PARTY(sParty_Joshua), }, [TRAINER_CAMERON_1] = @@ -2865,7 +2865,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cameron1), + .party = TRAINER_PARTY(sParty_Cameron1), }, [TRAINER_CAMERON_2] = @@ -2877,7 +2877,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cameron2), + .party = TRAINER_PARTY(sParty_Cameron2), }, [TRAINER_CAMERON_3] = @@ -2889,7 +2889,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cameron3), + .party = TRAINER_PARTY(sParty_Cameron3), }, [TRAINER_CAMERON_4] = @@ -2901,7 +2901,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cameron4), + .party = TRAINER_PARTY(sParty_Cameron4), }, [TRAINER_CAMERON_5] = @@ -2913,7 +2913,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cameron5), + .party = TRAINER_PARTY(sParty_Cameron5), }, [TRAINER_JACLYN] = @@ -2925,7 +2925,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jaclyn), + .party = TRAINER_PARTY(sParty_Jaclyn), }, [TRAINER_HANNAH] = @@ -2937,7 +2937,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hannah), + .party = TRAINER_PARTY(sParty_Hannah), }, [TRAINER_SAMANTHA] = @@ -2949,7 +2949,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Samantha), + .party = TRAINER_PARTY(sParty_Samantha), }, [TRAINER_MAURA] = @@ -2961,7 +2961,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Maura), + .party = TRAINER_PARTY(sParty_Maura), }, [TRAINER_KAYLA] = @@ -2973,7 +2973,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kayla), + .party = TRAINER_PARTY(sParty_Kayla), }, [TRAINER_ALEXIS] = @@ -2985,7 +2985,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alexis), + .party = TRAINER_PARTY(sParty_Alexis), }, [TRAINER_JACKI_1] = @@ -2997,7 +2997,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jacki1), + .party = TRAINER_PARTY(sParty_Jacki1), }, [TRAINER_JACKI_2] = @@ -3009,7 +3009,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jacki2), + .party = TRAINER_PARTY(sParty_Jacki2), }, [TRAINER_JACKI_3] = @@ -3021,7 +3021,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jacki3), + .party = TRAINER_PARTY(sParty_Jacki3), }, [TRAINER_JACKI_4] = @@ -3033,7 +3033,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jacki4), + .party = TRAINER_PARTY(sParty_Jacki4), }, [TRAINER_JACKI_5] = @@ -3045,7 +3045,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jacki5), + .party = TRAINER_PARTY(sParty_Jacki5), }, [TRAINER_WALTER_1] = @@ -3057,7 +3057,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Walter1), + .party = TRAINER_PARTY(sParty_Walter1), }, [TRAINER_MICAH] = @@ -3069,7 +3069,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Micah), + .party = TRAINER_PARTY(sParty_Micah), }, [TRAINER_THOMAS] = @@ -3081,7 +3081,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Thomas), + .party = TRAINER_PARTY(sParty_Thomas), }, [TRAINER_WALTER_2] = @@ -3093,7 +3093,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Walter2), + .party = TRAINER_PARTY(sParty_Walter2), }, [TRAINER_WALTER_3] = @@ -3105,7 +3105,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Walter3), + .party = TRAINER_PARTY(sParty_Walter3), }, [TRAINER_WALTER_4] = @@ -3117,7 +3117,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Walter4), + .party = TRAINER_PARTY(sParty_Walter4), }, [TRAINER_WALTER_5] = @@ -3129,7 +3129,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Walter5), + .party = TRAINER_PARTY(sParty_Walter5), }, [TRAINER_SIDNEY] = @@ -3141,7 +3141,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Sidney), + .party = TRAINER_PARTY(sParty_Sidney), }, [TRAINER_PHOEBE] = @@ -3153,7 +3153,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Phoebe), + .party = TRAINER_PARTY(sParty_Phoebe), }, [TRAINER_GLACIA] = @@ -3165,7 +3165,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Glacia), + .party = TRAINER_PARTY(sParty_Glacia), }, [TRAINER_DRAKE] = @@ -3177,7 +3177,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Drake), + .party = TRAINER_PARTY(sParty_Drake), }, [TRAINER_ROXANNE_1] = @@ -3189,7 +3189,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne1), + .party = TRAINER_PARTY(sParty_Roxanne1), }, [TRAINER_BRAWLY_1] = @@ -3201,7 +3201,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brawly1), + .party = TRAINER_PARTY(sParty_Brawly1), }, [TRAINER_WATTSON_1] = @@ -3213,7 +3213,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wattson1), + .party = TRAINER_PARTY(sParty_Wattson1), }, [TRAINER_FLANNERY_1] = @@ -3225,7 +3225,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Flannery1), + .party = TRAINER_PARTY(sParty_Flannery1), }, [TRAINER_NORMAN_1] = @@ -3237,7 +3237,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Norman1), + .party = TRAINER_PARTY(sParty_Norman1), }, [TRAINER_WINONA_1] = @@ -3249,7 +3249,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = EVERYTHING_CUSTOMIZED(sParty_Winona1), + .party = TRAINER_PARTY(sParty_Winona1), }, [TRAINER_TATE_AND_LIZA_1] = @@ -3261,7 +3261,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_HYPER_POTION}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza1), + .party = TRAINER_PARTY(sParty_TateAndLiza1), }, [TRAINER_JUAN_1] = @@ -3273,7 +3273,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Juan1), + .party = TRAINER_PARTY(sParty_Juan1), }, [TRAINER_JERRY_1] = @@ -3285,7 +3285,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jerry1), + .party = TRAINER_PARTY(sParty_Jerry1), }, [TRAINER_TED] = @@ -3297,7 +3297,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ted), + .party = TRAINER_PARTY(sParty_Ted), }, [TRAINER_PAUL] = @@ -3309,7 +3309,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Paul), + .party = TRAINER_PARTY(sParty_Paul), }, [TRAINER_JERRY_2] = @@ -3321,7 +3321,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jerry2), + .party = TRAINER_PARTY(sParty_Jerry2), }, [TRAINER_JERRY_3] = @@ -3333,7 +3333,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jerry3), + .party = TRAINER_PARTY(sParty_Jerry3), }, [TRAINER_JERRY_4] = @@ -3345,7 +3345,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jerry4), + .party = TRAINER_PARTY(sParty_Jerry4), }, [TRAINER_JERRY_5] = @@ -3357,7 +3357,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jerry5), + .party = TRAINER_PARTY(sParty_Jerry5), }, [TRAINER_KAREN_1] = @@ -3369,7 +3369,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Karen1), + .party = TRAINER_PARTY(sParty_Karen1), }, [TRAINER_GEORGIA] = @@ -3381,7 +3381,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Georgia), + .party = TRAINER_PARTY(sParty_Georgia), }, [TRAINER_KAREN_2] = @@ -3393,7 +3393,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Karen2), + .party = TRAINER_PARTY(sParty_Karen2), }, [TRAINER_KAREN_3] = @@ -3405,7 +3405,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Karen3), + .party = TRAINER_PARTY(sParty_Karen3), }, [TRAINER_KAREN_4] = @@ -3417,7 +3417,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Karen4), + .party = TRAINER_PARTY(sParty_Karen4), }, [TRAINER_KAREN_5] = @@ -3429,7 +3429,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Karen5), + .party = TRAINER_PARTY(sParty_Karen5), }, [TRAINER_KATE_AND_JOY] = @@ -3441,7 +3441,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KateAndJoy), + .party = TRAINER_PARTY(sParty_KateAndJoy), }, [TRAINER_ANNA_AND_MEG_1] = @@ -3453,7 +3453,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg1), + .party = TRAINER_PARTY(sParty_AnnaAndMeg1), }, [TRAINER_ANNA_AND_MEG_2] = @@ -3465,7 +3465,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg2), + .party = TRAINER_PARTY(sParty_AnnaAndMeg2), }, [TRAINER_ANNA_AND_MEG_3] = @@ -3477,7 +3477,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg3), + .party = TRAINER_PARTY(sParty_AnnaAndMeg3), }, [TRAINER_ANNA_AND_MEG_4] = @@ -3489,7 +3489,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg4), + .party = TRAINER_PARTY(sParty_AnnaAndMeg4), }, [TRAINER_ANNA_AND_MEG_5] = @@ -3501,7 +3501,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AnnaAndMeg5), + .party = TRAINER_PARTY(sParty_AnnaAndMeg5), }, [TRAINER_VICTOR] = @@ -3513,7 +3513,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Victor), + .party = TRAINER_PARTY(sParty_Victor), }, [TRAINER_MIGUEL_1] = @@ -3525,7 +3525,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Miguel1), + .party = TRAINER_PARTY(sParty_Miguel1), }, [TRAINER_COLTON] = @@ -3537,7 +3537,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Colton), + .party = TRAINER_PARTY(sParty_Colton), }, [TRAINER_MIGUEL_2] = @@ -3549,7 +3549,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Miguel2), + .party = TRAINER_PARTY(sParty_Miguel2), }, [TRAINER_MIGUEL_3] = @@ -3561,7 +3561,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Miguel3), + .party = TRAINER_PARTY(sParty_Miguel3), }, [TRAINER_MIGUEL_4] = @@ -3573,7 +3573,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Miguel4), + .party = TRAINER_PARTY(sParty_Miguel4), }, [TRAINER_MIGUEL_5] = @@ -3585,7 +3585,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Miguel5), + .party = TRAINER_PARTY(sParty_Miguel5), }, [TRAINER_VICTORIA] = @@ -3597,7 +3597,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Victoria), + .party = TRAINER_PARTY(sParty_Victoria), }, [TRAINER_VANESSA] = @@ -3609,7 +3609,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Vanessa), + .party = TRAINER_PARTY(sParty_Vanessa), }, [TRAINER_BETHANY] = @@ -3621,7 +3621,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bethany), + .party = TRAINER_PARTY(sParty_Bethany), }, [TRAINER_ISABEL_1] = @@ -3633,7 +3633,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabel1), + .party = TRAINER_PARTY(sParty_Isabel1), }, [TRAINER_ISABEL_2] = @@ -3645,7 +3645,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabel2), + .party = TRAINER_PARTY(sParty_Isabel2), }, [TRAINER_ISABEL_3] = @@ -3657,7 +3657,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabel3), + .party = TRAINER_PARTY(sParty_Isabel3), }, [TRAINER_ISABEL_4] = @@ -3669,7 +3669,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabel4), + .party = TRAINER_PARTY(sParty_Isabel4), }, [TRAINER_ISABEL_5] = @@ -3681,7 +3681,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabel5), + .party = TRAINER_PARTY(sParty_Isabel5), }, [TRAINER_TIMOTHY_1] = @@ -3693,7 +3693,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Timothy1), + .party = TRAINER_PARTY(sParty_Timothy1), }, [TRAINER_TIMOTHY_2] = @@ -3705,7 +3705,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Timothy2), + .party = TRAINER_PARTY(sParty_Timothy2), }, [TRAINER_TIMOTHY_3] = @@ -3717,7 +3717,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Timothy3), + .party = TRAINER_PARTY(sParty_Timothy3), }, [TRAINER_TIMOTHY_4] = @@ -3729,7 +3729,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Timothy4), + .party = TRAINER_PARTY(sParty_Timothy4), }, [TRAINER_TIMOTHY_5] = @@ -3741,7 +3741,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Timothy5), + .party = TRAINER_PARTY(sParty_Timothy5), }, [TRAINER_VICKY] = @@ -3753,7 +3753,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Vicky), + .party = TRAINER_PARTY(sParty_Vicky), }, [TRAINER_SHELBY_1] = @@ -3765,7 +3765,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Shelby1), + .party = TRAINER_PARTY(sParty_Shelby1), }, [TRAINER_SHELBY_2] = @@ -3777,7 +3777,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Shelby2), + .party = TRAINER_PARTY(sParty_Shelby2), }, [TRAINER_SHELBY_3] = @@ -3789,7 +3789,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Shelby3), + .party = TRAINER_PARTY(sParty_Shelby3), }, [TRAINER_SHELBY_4] = @@ -3801,7 +3801,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Shelby4), + .party = TRAINER_PARTY(sParty_Shelby4), }, [TRAINER_SHELBY_5] = @@ -3813,7 +3813,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Shelby5), + .party = TRAINER_PARTY(sParty_Shelby5), }, [TRAINER_CALVIN_1] = @@ -3825,7 +3825,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Calvin1), + .party = TRAINER_PARTY(sParty_Calvin1), }, [TRAINER_BILLY] = @@ -3837,7 +3837,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Billy), + .party = TRAINER_PARTY(sParty_Billy), }, [TRAINER_JOSH] = @@ -3849,7 +3849,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Josh), + .party = TRAINER_PARTY(sParty_Josh), }, [TRAINER_TOMMY] = @@ -3861,7 +3861,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tommy), + .party = TRAINER_PARTY(sParty_Tommy), }, [TRAINER_JOEY] = @@ -3873,7 +3873,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Joey), + .party = TRAINER_PARTY(sParty_Joey), }, [TRAINER_BEN] = @@ -3885,7 +3885,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ben), + .party = TRAINER_PARTY(sParty_Ben), }, [TRAINER_QUINCY] = @@ -3897,7 +3897,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Quincy), + .party = TRAINER_PARTY(sParty_Quincy), }, [TRAINER_KATELYNN] = @@ -3909,7 +3909,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Katelynn), + .party = TRAINER_PARTY(sParty_Katelynn), }, [TRAINER_JAYLEN] = @@ -3921,7 +3921,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jaylen), + .party = TRAINER_PARTY(sParty_Jaylen), }, [TRAINER_DILLON] = @@ -3933,7 +3933,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dillon), + .party = TRAINER_PARTY(sParty_Dillon), }, [TRAINER_CALVIN_2] = @@ -3945,7 +3945,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Calvin2), + .party = TRAINER_PARTY(sParty_Calvin2), }, [TRAINER_CALVIN_3] = @@ -3957,7 +3957,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Calvin3), + .party = TRAINER_PARTY(sParty_Calvin3), }, [TRAINER_CALVIN_4] = @@ -3969,7 +3969,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Calvin4), + .party = TRAINER_PARTY(sParty_Calvin4), }, [TRAINER_CALVIN_5] = @@ -3981,7 +3981,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Calvin5), + .party = TRAINER_PARTY(sParty_Calvin5), }, [TRAINER_EDDIE] = @@ -3993,7 +3993,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Eddie), + .party = TRAINER_PARTY(sParty_Eddie), }, [TRAINER_ALLEN] = @@ -4005,7 +4005,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Allen), + .party = TRAINER_PARTY(sParty_Allen), }, [TRAINER_TIMMY] = @@ -4017,7 +4017,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Timmy), + .party = TRAINER_PARTY(sParty_Timmy), }, [TRAINER_WALLACE] = @@ -4029,7 +4029,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wallace), + .party = TRAINER_PARTY(sParty_Wallace), }, [TRAINER_ANDREW] = @@ -4041,7 +4041,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andrew), + .party = TRAINER_PARTY(sParty_Andrew), }, [TRAINER_IVAN] = @@ -4053,7 +4053,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ivan), + .party = TRAINER_PARTY(sParty_Ivan), }, [TRAINER_CLAUDE] = @@ -4065,7 +4065,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Claude), + .party = TRAINER_PARTY(sParty_Claude), }, [TRAINER_ELLIOT_1] = @@ -4077,7 +4077,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Elliot1), + .party = TRAINER_PARTY(sParty_Elliot1), }, [TRAINER_NED] = @@ -4089,7 +4089,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ned), + .party = TRAINER_PARTY(sParty_Ned), }, [TRAINER_DALE] = @@ -4101,7 +4101,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dale), + .party = TRAINER_PARTY(sParty_Dale), }, [TRAINER_NOLAN] = @@ -4113,7 +4113,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nolan), + .party = TRAINER_PARTY(sParty_Nolan), }, [TRAINER_BARNY] = @@ -4125,7 +4125,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Barny), + .party = TRAINER_PARTY(sParty_Barny), }, [TRAINER_WADE] = @@ -4137,7 +4137,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Wade), + .party = TRAINER_PARTY(sParty_Wade), }, [TRAINER_CARTER] = @@ -4149,7 +4149,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Carter), + .party = TRAINER_PARTY(sParty_Carter), }, [TRAINER_ELLIOT_2] = @@ -4161,7 +4161,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Elliot2), + .party = TRAINER_PARTY(sParty_Elliot2), }, [TRAINER_ELLIOT_3] = @@ -4173,7 +4173,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Elliot3), + .party = TRAINER_PARTY(sParty_Elliot3), }, [TRAINER_ELLIOT_4] = @@ -4185,7 +4185,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Elliot4), + .party = TRAINER_PARTY(sParty_Elliot4), }, [TRAINER_ELLIOT_5] = @@ -4197,7 +4197,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Elliot5), + .party = TRAINER_PARTY(sParty_Elliot5), }, [TRAINER_RONALD] = @@ -4209,7 +4209,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ronald), + .party = TRAINER_PARTY(sParty_Ronald), }, [TRAINER_JACOB] = @@ -4221,7 +4221,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jacob), + .party = TRAINER_PARTY(sParty_Jacob), }, [TRAINER_ANTHONY] = @@ -4233,7 +4233,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Anthony), + .party = TRAINER_PARTY(sParty_Anthony), }, [TRAINER_BENJAMIN_1] = @@ -4245,7 +4245,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin1), + .party = TRAINER_PARTY(sParty_Benjamin1), }, [TRAINER_BENJAMIN_2] = @@ -4257,7 +4257,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin2), + .party = TRAINER_PARTY(sParty_Benjamin2), }, [TRAINER_BENJAMIN_3] = @@ -4269,7 +4269,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin3), + .party = TRAINER_PARTY(sParty_Benjamin3), }, [TRAINER_BENJAMIN_4] = @@ -4281,7 +4281,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin4), + .party = TRAINER_PARTY(sParty_Benjamin4), }, [TRAINER_BENJAMIN_5] = @@ -4293,7 +4293,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Benjamin5), + .party = TRAINER_PARTY(sParty_Benjamin5), }, [TRAINER_ABIGAIL_1] = @@ -4305,7 +4305,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Abigail1), + .party = TRAINER_PARTY(sParty_Abigail1), }, [TRAINER_JASMINE] = @@ -4317,7 +4317,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jasmine), + .party = TRAINER_PARTY(sParty_Jasmine), }, [TRAINER_ABIGAIL_2] = @@ -4329,7 +4329,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Abigail2), + .party = TRAINER_PARTY(sParty_Abigail2), }, [TRAINER_ABIGAIL_3] = @@ -4341,7 +4341,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Abigail3), + .party = TRAINER_PARTY(sParty_Abigail3), }, [TRAINER_ABIGAIL_4] = @@ -4353,7 +4353,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Abigail4), + .party = TRAINER_PARTY(sParty_Abigail4), }, [TRAINER_ABIGAIL_5] = @@ -4365,7 +4365,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Abigail5), + .party = TRAINER_PARTY(sParty_Abigail5), }, [TRAINER_DYLAN_1] = @@ -4377,7 +4377,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dylan1), + .party = TRAINER_PARTY(sParty_Dylan1), }, [TRAINER_DYLAN_2] = @@ -4389,7 +4389,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dylan2), + .party = TRAINER_PARTY(sParty_Dylan2), }, [TRAINER_DYLAN_3] = @@ -4401,7 +4401,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dylan3), + .party = TRAINER_PARTY(sParty_Dylan3), }, [TRAINER_DYLAN_4] = @@ -4413,7 +4413,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dylan4), + .party = TRAINER_PARTY(sParty_Dylan4), }, [TRAINER_DYLAN_5] = @@ -4425,7 +4425,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dylan5), + .party = TRAINER_PARTY(sParty_Dylan5), }, [TRAINER_MARIA_1] = @@ -4437,7 +4437,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Maria1), + .party = TRAINER_PARTY(sParty_Maria1), }, [TRAINER_MARIA_2] = @@ -4449,7 +4449,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Maria2), + .party = TRAINER_PARTY(sParty_Maria2), }, [TRAINER_MARIA_3] = @@ -4461,7 +4461,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Maria3), + .party = TRAINER_PARTY(sParty_Maria3), }, [TRAINER_MARIA_4] = @@ -4473,7 +4473,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Maria4), + .party = TRAINER_PARTY(sParty_Maria4), }, [TRAINER_MARIA_5] = @@ -4485,7 +4485,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Maria5), + .party = TRAINER_PARTY(sParty_Maria5), }, [TRAINER_CAMDEN] = @@ -4497,7 +4497,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Camden), + .party = TRAINER_PARTY(sParty_Camden), }, [TRAINER_DEMETRIUS] = @@ -4509,7 +4509,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Demetrius), + .party = TRAINER_PARTY(sParty_Demetrius), }, [TRAINER_ISAIAH_1] = @@ -4521,7 +4521,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah1), + .party = TRAINER_PARTY(sParty_Isaiah1), }, [TRAINER_PABLO_1] = @@ -4533,7 +4533,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pablo1), + .party = TRAINER_PARTY(sParty_Pablo1), }, [TRAINER_CHASE] = @@ -4545,7 +4545,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Chase), + .party = TRAINER_PARTY(sParty_Chase), }, [TRAINER_ISAIAH_2] = @@ -4557,7 +4557,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah2), + .party = TRAINER_PARTY(sParty_Isaiah2), }, [TRAINER_ISAIAH_3] = @@ -4569,7 +4569,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah3), + .party = TRAINER_PARTY(sParty_Isaiah3), }, [TRAINER_ISAIAH_4] = @@ -4581,7 +4581,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah4), + .party = TRAINER_PARTY(sParty_Isaiah4), }, [TRAINER_ISAIAH_5] = @@ -4593,7 +4593,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaiah5), + .party = TRAINER_PARTY(sParty_Isaiah5), }, [TRAINER_ISOBEL] = @@ -4605,7 +4605,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isobel), + .party = TRAINER_PARTY(sParty_Isobel), }, [TRAINER_DONNY] = @@ -4617,7 +4617,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Donny), + .party = TRAINER_PARTY(sParty_Donny), }, [TRAINER_TALIA] = @@ -4629,7 +4629,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Talia), + .party = TRAINER_PARTY(sParty_Talia), }, [TRAINER_KATELYN_1] = @@ -4641,7 +4641,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn1), + .party = TRAINER_PARTY(sParty_Katelyn1), }, [TRAINER_ALLISON] = @@ -4653,7 +4653,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Allison), + .party = TRAINER_PARTY(sParty_Allison), }, [TRAINER_KATELYN_2] = @@ -4665,7 +4665,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn2), + .party = TRAINER_PARTY(sParty_Katelyn2), }, [TRAINER_KATELYN_3] = @@ -4677,7 +4677,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn3), + .party = TRAINER_PARTY(sParty_Katelyn3), }, [TRAINER_KATELYN_4] = @@ -4689,7 +4689,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn4), + .party = TRAINER_PARTY(sParty_Katelyn4), }, [TRAINER_KATELYN_5] = @@ -4701,7 +4701,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Katelyn5), + .party = TRAINER_PARTY(sParty_Katelyn5), }, [TRAINER_NICOLAS_1] = @@ -4713,7 +4713,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas1), + .party = TRAINER_PARTY(sParty_Nicolas1), }, [TRAINER_NICOLAS_2] = @@ -4725,7 +4725,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas2), + .party = TRAINER_PARTY(sParty_Nicolas2), }, [TRAINER_NICOLAS_3] = @@ -4737,7 +4737,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas3), + .party = TRAINER_PARTY(sParty_Nicolas3), }, [TRAINER_NICOLAS_4] = @@ -4749,7 +4749,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas4), + .party = TRAINER_PARTY(sParty_Nicolas4), }, [TRAINER_NICOLAS_5] = @@ -4761,7 +4761,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nicolas5), + .party = TRAINER_PARTY(sParty_Nicolas5), }, [TRAINER_AARON] = @@ -4773,7 +4773,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Aaron), + .party = TRAINER_PARTY(sParty_Aaron), }, [TRAINER_PERRY] = @@ -4785,7 +4785,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Perry), + .party = TRAINER_PARTY(sParty_Perry), }, [TRAINER_HUGH] = @@ -4797,7 +4797,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hugh), + .party = TRAINER_PARTY(sParty_Hugh), }, [TRAINER_PHIL] = @@ -4809,7 +4809,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Phil), + .party = TRAINER_PARTY(sParty_Phil), }, [TRAINER_JARED] = @@ -4821,7 +4821,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jared), + .party = TRAINER_PARTY(sParty_Jared), }, [TRAINER_HUMBERTO] = @@ -4833,7 +4833,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Humberto), + .party = TRAINER_PARTY(sParty_Humberto), }, [TRAINER_PRESLEY] = @@ -4845,7 +4845,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Presley), + .party = TRAINER_PARTY(sParty_Presley), }, [TRAINER_EDWARDO] = @@ -4857,7 +4857,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edwardo), + .party = TRAINER_PARTY(sParty_Edwardo), }, [TRAINER_COLIN] = @@ -4869,7 +4869,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Colin), + .party = TRAINER_PARTY(sParty_Colin), }, [TRAINER_ROBERT_1] = @@ -4881,7 +4881,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Robert1), + .party = TRAINER_PARTY(sParty_Robert1), }, [TRAINER_BENNY] = @@ -4893,7 +4893,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Benny), + .party = TRAINER_PARTY(sParty_Benny), }, [TRAINER_CHESTER] = @@ -4905,7 +4905,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Chester), + .party = TRAINER_PARTY(sParty_Chester), }, [TRAINER_ROBERT_2] = @@ -4917,7 +4917,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Robert2), + .party = TRAINER_PARTY(sParty_Robert2), }, [TRAINER_ROBERT_3] = @@ -4929,7 +4929,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Robert3), + .party = TRAINER_PARTY(sParty_Robert3), }, [TRAINER_ROBERT_4] = @@ -4941,7 +4941,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Robert4), + .party = TRAINER_PARTY(sParty_Robert4), }, [TRAINER_ROBERT_5] = @@ -4953,7 +4953,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Robert5), + .party = TRAINER_PARTY(sParty_Robert5), }, [TRAINER_ALEX] = @@ -4965,7 +4965,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alex), + .party = TRAINER_PARTY(sParty_Alex), }, [TRAINER_BECK] = @@ -4977,7 +4977,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Beck), + .party = TRAINER_PARTY(sParty_Beck), }, [TRAINER_YASU] = @@ -4989,7 +4989,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Yasu), + .party = TRAINER_PARTY(sParty_Yasu), }, [TRAINER_TAKASHI] = @@ -5001,7 +5001,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Takashi), + .party = TRAINER_PARTY(sParty_Takashi), }, [TRAINER_DIANNE] = @@ -5013,7 +5013,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Dianne), + .party = TRAINER_PARTY(sParty_Dianne), }, [TRAINER_JANI] = @@ -5025,7 +5025,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Jani), + .party = TRAINER_PARTY(sParty_Jani), }, [TRAINER_LAO_1] = @@ -5037,7 +5037,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Lao1), + .party = TRAINER_PARTY(sParty_Lao1), }, [TRAINER_LUNG] = @@ -5049,7 +5049,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Lung), + .party = TRAINER_PARTY(sParty_Lung), }, [TRAINER_LAO_2] = @@ -5061,7 +5061,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Lao2), + .party = TRAINER_PARTY(sParty_Lao2), }, [TRAINER_LAO_3] = @@ -5073,7 +5073,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Lao3), + .party = TRAINER_PARTY(sParty_Lao3), }, [TRAINER_LAO_4] = @@ -5085,7 +5085,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Lao4), + .party = TRAINER_PARTY(sParty_Lao4), }, [TRAINER_LAO_5] = @@ -5097,7 +5097,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Lao5), + .party = TRAINER_PARTY(sParty_Lao5), }, [TRAINER_JOCELYN] = @@ -5109,7 +5109,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jocelyn), + .party = TRAINER_PARTY(sParty_Jocelyn), }, [TRAINER_LAURA] = @@ -5121,7 +5121,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Laura), + .party = TRAINER_PARTY(sParty_Laura), }, [TRAINER_CYNDY_1] = @@ -5133,7 +5133,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy1), + .party = TRAINER_PARTY(sParty_Cyndy1), }, [TRAINER_CORA] = @@ -5145,7 +5145,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cora), + .party = TRAINER_PARTY(sParty_Cora), }, [TRAINER_PAULA] = @@ -5157,7 +5157,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Paula), + .party = TRAINER_PARTY(sParty_Paula), }, [TRAINER_CYNDY_2] = @@ -5169,7 +5169,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy2), + .party = TRAINER_PARTY(sParty_Cyndy2), }, [TRAINER_CYNDY_3] = @@ -5181,7 +5181,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy3), + .party = TRAINER_PARTY(sParty_Cyndy3), }, [TRAINER_CYNDY_4] = @@ -5193,7 +5193,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy4), + .party = TRAINER_PARTY(sParty_Cyndy4), }, [TRAINER_CYNDY_5] = @@ -5205,7 +5205,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cyndy5), + .party = TRAINER_PARTY(sParty_Cyndy5), }, [TRAINER_MADELINE_1] = @@ -5217,7 +5217,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Madeline1), + .party = TRAINER_PARTY(sParty_Madeline1), }, [TRAINER_CLARISSA] = @@ -5229,7 +5229,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Clarissa), + .party = TRAINER_PARTY(sParty_Clarissa), }, [TRAINER_ANGELICA] = @@ -5241,7 +5241,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Angelica), + .party = TRAINER_PARTY(sParty_Angelica), }, [TRAINER_MADELINE_2] = @@ -5253,7 +5253,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Madeline2), + .party = TRAINER_PARTY(sParty_Madeline2), }, [TRAINER_MADELINE_3] = @@ -5265,7 +5265,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Madeline3), + .party = TRAINER_PARTY(sParty_Madeline3), }, [TRAINER_MADELINE_4] = @@ -5277,7 +5277,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Madeline4), + .party = TRAINER_PARTY(sParty_Madeline4), }, [TRAINER_MADELINE_5] = @@ -5289,7 +5289,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Madeline5), + .party = TRAINER_PARTY(sParty_Madeline5), }, [TRAINER_BEVERLY] = @@ -5301,7 +5301,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Beverly), + .party = TRAINER_PARTY(sParty_Beverly), }, [TRAINER_IMANI] = @@ -5313,7 +5313,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Imani), + .party = TRAINER_PARTY(sParty_Imani), }, [TRAINER_KYLA] = @@ -5325,7 +5325,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kyla), + .party = TRAINER_PARTY(sParty_Kyla), }, [TRAINER_DENISE] = @@ -5337,7 +5337,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Denise), + .party = TRAINER_PARTY(sParty_Denise), }, [TRAINER_BETH] = @@ -5349,7 +5349,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Beth), + .party = TRAINER_PARTY(sParty_Beth), }, [TRAINER_TARA] = @@ -5361,7 +5361,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tara), + .party = TRAINER_PARTY(sParty_Tara), }, [TRAINER_MISSY] = @@ -5373,7 +5373,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Missy), + .party = TRAINER_PARTY(sParty_Missy), }, [TRAINER_ALICE] = @@ -5385,7 +5385,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alice), + .party = TRAINER_PARTY(sParty_Alice), }, [TRAINER_JENNY_1] = @@ -5397,7 +5397,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jenny1), + .party = TRAINER_PARTY(sParty_Jenny1), }, [TRAINER_GRACE] = @@ -5409,7 +5409,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Grace), + .party = TRAINER_PARTY(sParty_Grace), }, [TRAINER_TANYA] = @@ -5421,7 +5421,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tanya), + .party = TRAINER_PARTY(sParty_Tanya), }, [TRAINER_SHARON] = @@ -5433,7 +5433,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sharon), + .party = TRAINER_PARTY(sParty_Sharon), }, [TRAINER_NIKKI] = @@ -5445,7 +5445,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nikki), + .party = TRAINER_PARTY(sParty_Nikki), }, [TRAINER_BRENDA] = @@ -5457,7 +5457,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Brenda), + .party = TRAINER_PARTY(sParty_Brenda), }, [TRAINER_KATIE] = @@ -5469,7 +5469,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Katie), + .party = TRAINER_PARTY(sParty_Katie), }, [TRAINER_SUSIE] = @@ -5481,7 +5481,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Susie), + .party = TRAINER_PARTY(sParty_Susie), }, [TRAINER_KARA] = @@ -5493,7 +5493,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kara), + .party = TRAINER_PARTY(sParty_Kara), }, [TRAINER_DANA] = @@ -5505,7 +5505,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dana), + .party = TRAINER_PARTY(sParty_Dana), }, [TRAINER_SIENNA] = @@ -5517,7 +5517,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sienna), + .party = TRAINER_PARTY(sParty_Sienna), }, [TRAINER_DEBRA] = @@ -5529,7 +5529,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Debra), + .party = TRAINER_PARTY(sParty_Debra), }, [TRAINER_LINDA] = @@ -5541,7 +5541,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Linda), + .party = TRAINER_PARTY(sParty_Linda), }, [TRAINER_KAYLEE] = @@ -5553,7 +5553,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kaylee), + .party = TRAINER_PARTY(sParty_Kaylee), }, [TRAINER_LAUREL] = @@ -5565,7 +5565,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Laurel), + .party = TRAINER_PARTY(sParty_Laurel), }, [TRAINER_CARLEE] = @@ -5577,7 +5577,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Carlee), + .party = TRAINER_PARTY(sParty_Carlee), }, [TRAINER_JENNY_2] = @@ -5589,7 +5589,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jenny2), + .party = TRAINER_PARTY(sParty_Jenny2), }, [TRAINER_JENNY_3] = @@ -5601,7 +5601,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jenny3), + .party = TRAINER_PARTY(sParty_Jenny3), }, [TRAINER_JENNY_4] = @@ -5613,7 +5613,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jenny4), + .party = TRAINER_PARTY(sParty_Jenny4), }, [TRAINER_JENNY_5] = @@ -5625,7 +5625,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jenny5), + .party = TRAINER_PARTY(sParty_Jenny5), }, [TRAINER_HEIDI] = @@ -5637,7 +5637,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Heidi), + .party = TRAINER_PARTY(sParty_Heidi), }, [TRAINER_BECKY] = @@ -5649,7 +5649,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Becky), + .party = TRAINER_PARTY(sParty_Becky), }, [TRAINER_CAROL] = @@ -5661,7 +5661,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Carol), + .party = TRAINER_PARTY(sParty_Carol), }, [TRAINER_NANCY] = @@ -5673,7 +5673,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nancy), + .party = TRAINER_PARTY(sParty_Nancy), }, [TRAINER_MARTHA] = @@ -5685,7 +5685,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Martha), + .party = TRAINER_PARTY(sParty_Martha), }, [TRAINER_DIANA_1] = @@ -5697,7 +5697,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Diana1), + .party = TRAINER_PARTY(sParty_Diana1), }, [TRAINER_CEDRIC] = @@ -5709,7 +5709,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cedric), + .party = TRAINER_PARTY(sParty_Cedric), }, [TRAINER_IRENE] = @@ -5721,7 +5721,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Irene), + .party = TRAINER_PARTY(sParty_Irene), }, [TRAINER_DIANA_2] = @@ -5733,7 +5733,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Diana2), + .party = TRAINER_PARTY(sParty_Diana2), }, [TRAINER_DIANA_3] = @@ -5745,7 +5745,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Diana3), + .party = TRAINER_PARTY(sParty_Diana3), }, [TRAINER_DIANA_4] = @@ -5757,7 +5757,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Diana4), + .party = TRAINER_PARTY(sParty_Diana4), }, [TRAINER_DIANA_5] = @@ -5769,7 +5769,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Diana5), + .party = TRAINER_PARTY(sParty_Diana5), }, [TRAINER_AMY_AND_LIV_1] = @@ -5781,7 +5781,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv1), + .party = TRAINER_PARTY(sParty_AmyAndLiv1), }, [TRAINER_AMY_AND_LIV_2] = @@ -5793,7 +5793,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv2), + .party = TRAINER_PARTY(sParty_AmyAndLiv2), }, [TRAINER_GINA_AND_MIA_1] = @@ -5805,7 +5805,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GinaAndMia1), + .party = TRAINER_PARTY(sParty_GinaAndMia1), }, [TRAINER_MIU_AND_YUKI] = @@ -5817,7 +5817,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_MiuAndYuki), + .party = TRAINER_PARTY(sParty_MiuAndYuki), }, [TRAINER_AMY_AND_LIV_3] = @@ -5829,7 +5829,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv3), + .party = TRAINER_PARTY(sParty_AmyAndLiv3), }, [TRAINER_GINA_AND_MIA_2] = @@ -5841,7 +5841,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GinaAndMia2), + .party = TRAINER_PARTY(sParty_GinaAndMia2), }, [TRAINER_AMY_AND_LIV_4] = @@ -5853,7 +5853,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv4), + .party = TRAINER_PARTY(sParty_AmyAndLiv4), }, [TRAINER_AMY_AND_LIV_5] = @@ -5865,7 +5865,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv5), + .party = TRAINER_PARTY(sParty_AmyAndLiv5), }, [TRAINER_AMY_AND_LIV_6] = @@ -5877,7 +5877,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_AmyAndLiv6), + .party = TRAINER_PARTY(sParty_AmyAndLiv6), }, [TRAINER_HUEY] = @@ -5889,7 +5889,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Huey), + .party = TRAINER_PARTY(sParty_Huey), }, [TRAINER_EDMOND] = @@ -5901,7 +5901,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edmond), + .party = TRAINER_PARTY(sParty_Edmond), }, [TRAINER_ERNEST_1] = @@ -5913,7 +5913,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ernest1), + .party = TRAINER_PARTY(sParty_Ernest1), }, [TRAINER_DWAYNE] = @@ -5925,7 +5925,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dwayne), + .party = TRAINER_PARTY(sParty_Dwayne), }, [TRAINER_PHILLIP] = @@ -5937,7 +5937,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Phillip), + .party = TRAINER_PARTY(sParty_Phillip), }, [TRAINER_LEONARD] = @@ -5949,7 +5949,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Leonard), + .party = TRAINER_PARTY(sParty_Leonard), }, [TRAINER_DUNCAN] = @@ -5961,7 +5961,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Duncan), + .party = TRAINER_PARTY(sParty_Duncan), }, [TRAINER_ERNEST_2] = @@ -5973,7 +5973,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ernest2), + .party = TRAINER_PARTY(sParty_Ernest2), }, [TRAINER_ERNEST_3] = @@ -5985,7 +5985,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ernest3), + .party = TRAINER_PARTY(sParty_Ernest3), }, [TRAINER_ERNEST_4] = @@ -5997,7 +5997,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ernest4), + .party = TRAINER_PARTY(sParty_Ernest4), }, [TRAINER_ERNEST_5] = @@ -6009,7 +6009,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ernest5), + .party = TRAINER_PARTY(sParty_Ernest5), }, [TRAINER_ELI] = @@ -6021,7 +6021,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Eli), + .party = TRAINER_PARTY(sParty_Eli), }, [TRAINER_ANNIKA] = @@ -6033,7 +6033,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Annika), + .party = TRAINER_PARTY(sParty_Annika), }, [TRAINER_JAZMYN] = @@ -6045,7 +6045,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Jazmyn), + .party = TRAINER_PARTY(sParty_Jazmyn), }, [TRAINER_JONAS] = @@ -6057,7 +6057,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Jonas), + .party = TRAINER_PARTY(sParty_Jonas), }, [TRAINER_KAYLEY] = @@ -6069,7 +6069,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kayley), + .party = TRAINER_PARTY(sParty_Kayley), }, [TRAINER_AURON] = @@ -6081,7 +6081,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Auron), + .party = TRAINER_PARTY(sParty_Auron), }, [TRAINER_KELVIN] = @@ -6093,7 +6093,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kelvin), + .party = TRAINER_PARTY(sParty_Kelvin), }, [TRAINER_MARLEY] = @@ -6105,7 +6105,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Marley), + .party = TRAINER_PARTY(sParty_Marley), }, [TRAINER_REYNA] = @@ -6117,7 +6117,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Reyna), + .party = TRAINER_PARTY(sParty_Reyna), }, [TRAINER_HUDSON] = @@ -6129,7 +6129,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hudson), + .party = TRAINER_PARTY(sParty_Hudson), }, [TRAINER_CONOR] = @@ -6141,7 +6141,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Conor), + .party = TRAINER_PARTY(sParty_Conor), }, [TRAINER_EDWIN_1] = @@ -6153,7 +6153,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edwin1), + .party = TRAINER_PARTY(sParty_Edwin1), }, [TRAINER_HECTOR] = @@ -6165,7 +6165,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hector), + .party = TRAINER_PARTY(sParty_Hector), }, [TRAINER_TABITHA_MOSSDEEP] = @@ -6177,7 +6177,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_TabithaMossdeep), + .party = TRAINER_PARTY(sParty_TabithaMossdeep), }, [TRAINER_EDWIN_2] = @@ -6189,7 +6189,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edwin2), + .party = TRAINER_PARTY(sParty_Edwin2), }, [TRAINER_EDWIN_3] = @@ -6201,7 +6201,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edwin3), + .party = TRAINER_PARTY(sParty_Edwin3), }, [TRAINER_EDWIN_4] = @@ -6213,7 +6213,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edwin4), + .party = TRAINER_PARTY(sParty_Edwin4), }, [TRAINER_EDWIN_5] = @@ -6225,7 +6225,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Edwin5), + .party = TRAINER_PARTY(sParty_Edwin5), }, [TRAINER_WALLY_VR_1] = @@ -6237,7 +6237,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR1), + .party = TRAINER_PARTY(sParty_WallyVR1), }, [TRAINER_BRENDAN_ROUTE_103_MUDKIP] = @@ -6249,7 +6249,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute103Mudkip), + .party = TRAINER_PARTY(sParty_BrendanRoute103Mudkip), }, [TRAINER_BRENDAN_ROUTE_110_MUDKIP] = @@ -6261,7 +6261,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute110Mudkip), + .party = TRAINER_PARTY(sParty_BrendanRoute110Mudkip), }, [TRAINER_BRENDAN_ROUTE_119_MUDKIP] = @@ -6273,7 +6273,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute119Mudkip), + .party = TRAINER_PARTY(sParty_BrendanRoute119Mudkip), }, [TRAINER_BRENDAN_ROUTE_103_TREECKO] = @@ -6285,7 +6285,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute103Treecko), + .party = TRAINER_PARTY(sParty_BrendanRoute103Treecko), }, [TRAINER_BRENDAN_ROUTE_110_TREECKO] = @@ -6297,7 +6297,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute110Treecko), + .party = TRAINER_PARTY(sParty_BrendanRoute110Treecko), }, [TRAINER_BRENDAN_ROUTE_119_TREECKO] = @@ -6309,7 +6309,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute119Treecko), + .party = TRAINER_PARTY(sParty_BrendanRoute119Treecko), }, [TRAINER_BRENDAN_ROUTE_103_TORCHIC] = @@ -6321,7 +6321,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute103Torchic), + .party = TRAINER_PARTY(sParty_BrendanRoute103Torchic), }, [TRAINER_BRENDAN_ROUTE_110_TORCHIC] = @@ -6333,7 +6333,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute110Torchic), + .party = TRAINER_PARTY(sParty_BrendanRoute110Torchic), }, [TRAINER_BRENDAN_ROUTE_119_TORCHIC] = @@ -6345,7 +6345,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRoute119Torchic), + .party = TRAINER_PARTY(sParty_BrendanRoute119Torchic), }, [TRAINER_MAY_ROUTE_103_MUDKIP] = @@ -6357,7 +6357,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute103Mudkip), + .party = TRAINER_PARTY(sParty_MayRoute103Mudkip), }, [TRAINER_MAY_ROUTE_110_MUDKIP] = @@ -6369,7 +6369,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute110Mudkip), + .party = TRAINER_PARTY(sParty_MayRoute110Mudkip), }, [TRAINER_MAY_ROUTE_119_MUDKIP] = @@ -6381,7 +6381,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute119Mudkip), + .party = TRAINER_PARTY(sParty_MayRoute119Mudkip), }, [TRAINER_MAY_ROUTE_103_TREECKO] = @@ -6393,7 +6393,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute103Treecko), + .party = TRAINER_PARTY(sParty_MayRoute103Treecko), }, [TRAINER_MAY_ROUTE_110_TREECKO] = @@ -6405,7 +6405,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute110Treecko), + .party = TRAINER_PARTY(sParty_MayRoute110Treecko), }, [TRAINER_MAY_ROUTE_119_TREECKO] = @@ -6417,7 +6417,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute119Treecko), + .party = TRAINER_PARTY(sParty_MayRoute119Treecko), }, [TRAINER_MAY_ROUTE_103_TORCHIC] = @@ -6429,7 +6429,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute103Torchic), + .party = TRAINER_PARTY(sParty_MayRoute103Torchic), }, [TRAINER_MAY_ROUTE_110_TORCHIC] = @@ -6441,7 +6441,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute110Torchic), + .party = TRAINER_PARTY(sParty_MayRoute110Torchic), }, [TRAINER_MAY_ROUTE_119_TORCHIC] = @@ -6453,7 +6453,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRoute119Torchic), + .party = TRAINER_PARTY(sParty_MayRoute119Torchic), }, [TRAINER_ISAAC_1] = @@ -6465,7 +6465,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaac1), + .party = TRAINER_PARTY(sParty_Isaac1), }, [TRAINER_DAVIS] = @@ -6477,7 +6477,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Davis), + .party = TRAINER_PARTY(sParty_Davis), }, [TRAINER_MITCHELL] = @@ -6489,7 +6489,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Mitchell), + .party = TRAINER_PARTY(sParty_Mitchell), }, [TRAINER_ISAAC_2] = @@ -6501,7 +6501,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaac2), + .party = TRAINER_PARTY(sParty_Isaac2), }, [TRAINER_ISAAC_3] = @@ -6513,7 +6513,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaac3), + .party = TRAINER_PARTY(sParty_Isaac3), }, [TRAINER_ISAAC_4] = @@ -6525,7 +6525,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaac4), + .party = TRAINER_PARTY(sParty_Isaac4), }, [TRAINER_ISAAC_5] = @@ -6537,7 +6537,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isaac5), + .party = TRAINER_PARTY(sParty_Isaac5), }, [TRAINER_LYDIA_1] = @@ -6549,7 +6549,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lydia1), + .party = TRAINER_PARTY(sParty_Lydia1), }, [TRAINER_HALLE] = @@ -6561,7 +6561,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Halle), + .party = TRAINER_PARTY(sParty_Halle), }, [TRAINER_GARRISON] = @@ -6573,7 +6573,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Garrison), + .party = TRAINER_PARTY(sParty_Garrison), }, [TRAINER_LYDIA_2] = @@ -6585,7 +6585,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lydia2), + .party = TRAINER_PARTY(sParty_Lydia2), }, [TRAINER_LYDIA_3] = @@ -6597,7 +6597,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lydia3), + .party = TRAINER_PARTY(sParty_Lydia3), }, [TRAINER_LYDIA_4] = @@ -6609,7 +6609,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lydia4), + .party = TRAINER_PARTY(sParty_Lydia4), }, [TRAINER_LYDIA_5] = @@ -6621,7 +6621,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lydia5), + .party = TRAINER_PARTY(sParty_Lydia5), }, [TRAINER_JACKSON_1] = @@ -6633,7 +6633,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Jackson1), + .party = TRAINER_PARTY(sParty_Jackson1), }, [TRAINER_LORENZO] = @@ -6645,7 +6645,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Lorenzo), + .party = TRAINER_PARTY(sParty_Lorenzo), }, [TRAINER_SEBASTIAN] = @@ -6657,7 +6657,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sebastian), + .party = TRAINER_PARTY(sParty_Sebastian), }, [TRAINER_JACKSON_2] = @@ -6669,7 +6669,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Jackson2), + .party = TRAINER_PARTY(sParty_Jackson2), }, [TRAINER_JACKSON_3] = @@ -6681,7 +6681,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Jackson3), + .party = TRAINER_PARTY(sParty_Jackson3), }, [TRAINER_JACKSON_4] = @@ -6693,7 +6693,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Jackson4), + .party = TRAINER_PARTY(sParty_Jackson4), }, [TRAINER_JACKSON_5] = @@ -6705,7 +6705,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Jackson5), + .party = TRAINER_PARTY(sParty_Jackson5), }, [TRAINER_CATHERINE_1] = @@ -6717,7 +6717,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Catherine1), + .party = TRAINER_PARTY(sParty_Catherine1), }, [TRAINER_JENNA] = @@ -6729,7 +6729,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Jenna), + .party = TRAINER_PARTY(sParty_Jenna), }, [TRAINER_SOPHIA] = @@ -6741,7 +6741,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sophia), + .party = TRAINER_PARTY(sParty_Sophia), }, [TRAINER_CATHERINE_2] = @@ -6753,7 +6753,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Catherine2), + .party = TRAINER_PARTY(sParty_Catherine2), }, [TRAINER_CATHERINE_3] = @@ -6765,7 +6765,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Catherine3), + .party = TRAINER_PARTY(sParty_Catherine3), }, [TRAINER_CATHERINE_4] = @@ -6777,7 +6777,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Catherine4), + .party = TRAINER_PARTY(sParty_Catherine4), }, [TRAINER_CATHERINE_5] = @@ -6789,7 +6789,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Catherine5), + .party = TRAINER_PARTY(sParty_Catherine5), }, [TRAINER_JULIO] = @@ -6801,7 +6801,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Julio), + .party = TRAINER_PARTY(sParty_Julio), }, [TRAINER_GRUNT_SEAFLOOR_CAVERN_5] = @@ -6813,7 +6813,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSeafloorCavern5), + .party = TRAINER_PARTY(sParty_GruntSeafloorCavern5), }, [TRAINER_GRUNT_UNUSED] = @@ -6825,7 +6825,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntUnused), + .party = TRAINER_PARTY(sParty_GruntUnused), }, [TRAINER_GRUNT_MT_PYRE_4] = @@ -6837,7 +6837,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtPyre4), + .party = TRAINER_PARTY(sParty_GruntMtPyre4), }, [TRAINER_GRUNT_JAGGED_PASS] = @@ -6849,7 +6849,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntJaggedPass), + .party = TRAINER_PARTY(sParty_GruntJaggedPass), }, [TRAINER_MARC] = @@ -6861,7 +6861,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Marc), + .party = TRAINER_PARTY(sParty_Marc), }, [TRAINER_BRENDEN] = @@ -6873,7 +6873,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Brenden), + .party = TRAINER_PARTY(sParty_Brenden), }, [TRAINER_LILITH] = @@ -6885,7 +6885,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lilith), + .party = TRAINER_PARTY(sParty_Lilith), }, [TRAINER_CRISTIAN] = @@ -6897,7 +6897,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cristian), + .party = TRAINER_PARTY(sParty_Cristian), }, [TRAINER_SYLVIA] = @@ -6909,7 +6909,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sylvia), + .party = TRAINER_PARTY(sParty_Sylvia), }, [TRAINER_LEONARDO] = @@ -6921,7 +6921,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Leonardo), + .party = TRAINER_PARTY(sParty_Leonardo), }, [TRAINER_ATHENA] = @@ -6933,7 +6933,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Athena), + .party = TRAINER_PARTY(sParty_Athena), }, [TRAINER_HARRISON] = @@ -6945,7 +6945,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Harrison), + .party = TRAINER_PARTY(sParty_Harrison), }, [TRAINER_GRUNT_MT_CHIMNEY_2] = @@ -6957,7 +6957,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMtChimney2), + .party = TRAINER_PARTY(sParty_GruntMtChimney2), }, [TRAINER_CLARENCE] = @@ -6969,7 +6969,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Clarence), + .party = TRAINER_PARTY(sParty_Clarence), }, [TRAINER_TERRY] = @@ -6981,7 +6981,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Terry), + .party = TRAINER_PARTY(sParty_Terry), }, [TRAINER_NATE] = @@ -6993,7 +6993,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nate), + .party = TRAINER_PARTY(sParty_Nate), }, [TRAINER_KATHLEEN] = @@ -7005,7 +7005,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kathleen), + .party = TRAINER_PARTY(sParty_Kathleen), }, [TRAINER_CLIFFORD] = @@ -7017,7 +7017,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Clifford), + .party = TRAINER_PARTY(sParty_Clifford), }, [TRAINER_NICHOLAS] = @@ -7029,7 +7029,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Nicholas), + .party = TRAINER_PARTY(sParty_Nicholas), }, [TRAINER_GRUNT_SPACE_CENTER_3] = @@ -7041,7 +7041,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter3), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter3), }, [TRAINER_GRUNT_SPACE_CENTER_4] = @@ -7053,7 +7053,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter4), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter4), }, [TRAINER_GRUNT_SPACE_CENTER_5] = @@ -7065,7 +7065,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter5), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter5), }, [TRAINER_GRUNT_SPACE_CENTER_6] = @@ -7077,7 +7077,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter6), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter6), }, [TRAINER_GRUNT_SPACE_CENTER_7] = @@ -7089,7 +7089,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntSpaceCenter7), + .party = TRAINER_PARTY(sParty_GruntSpaceCenter7), }, [TRAINER_MACEY] = @@ -7101,7 +7101,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Macey), + .party = TRAINER_PARTY(sParty_Macey), }, [TRAINER_BRENDAN_RUSTBORO_TREECKO] = @@ -7113,7 +7113,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRustboroTreecko), + .party = TRAINER_PARTY(sParty_BrendanRustboroTreecko), }, [TRAINER_BRENDAN_RUSTBORO_MUDKIP] = @@ -7125,7 +7125,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRustboroMudkip), + .party = TRAINER_PARTY(sParty_BrendanRustboroMudkip), }, [TRAINER_PAXTON] = @@ -7137,7 +7137,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Paxton), + .party = TRAINER_PARTY(sParty_Paxton), }, [TRAINER_ISABELLA] = @@ -7149,7 +7149,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabella), + .party = TRAINER_PARTY(sParty_Isabella), }, [TRAINER_GRUNT_WEATHER_INST_5] = @@ -7161,7 +7161,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntWeatherInst5), + .party = TRAINER_PARTY(sParty_GruntWeatherInst5), }, [TRAINER_TABITHA_MT_CHIMNEY] = @@ -7173,7 +7173,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_TabithaMtChimney), + .party = TRAINER_PARTY(sParty_TabithaMtChimney), }, [TRAINER_JONATHAN] = @@ -7185,7 +7185,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_Jonathan), + .party = TRAINER_PARTY(sParty_Jonathan), }, [TRAINER_BRENDAN_RUSTBORO_TORCHIC] = @@ -7197,7 +7197,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanRustboroTorchic), + .party = TRAINER_PARTY(sParty_BrendanRustboroTorchic), }, [TRAINER_MAY_RUSTBORO_MUDKIP] = @@ -7209,7 +7209,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRustboroMudkip), + .party = TRAINER_PARTY(sParty_MayRustboroMudkip), }, [TRAINER_MAXIE_MAGMA_HIDEOUT] = @@ -7221,7 +7221,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MaxieMagmaHideout), + .party = TRAINER_PARTY(sParty_MaxieMagmaHideout), }, [TRAINER_MAXIE_MT_CHIMNEY] = @@ -7233,7 +7233,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_SUPER_POTION, ITEM_SUPER_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MaxieMtChimney), + .party = TRAINER_PARTY(sParty_MaxieMtChimney), }, [TRAINER_TIANA] = @@ -7245,7 +7245,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tiana), + .party = TRAINER_PARTY(sParty_Tiana), }, [TRAINER_HALEY_1] = @@ -7257,7 +7257,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Haley1), + .party = TRAINER_PARTY(sParty_Haley1), }, [TRAINER_JANICE] = @@ -7269,7 +7269,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Janice), + .party = TRAINER_PARTY(sParty_Janice), }, [TRAINER_VIVI] = @@ -7281,7 +7281,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Vivi), + .party = TRAINER_PARTY(sParty_Vivi), }, [TRAINER_HALEY_2] = @@ -7293,7 +7293,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Haley2), + .party = TRAINER_PARTY(sParty_Haley2), }, [TRAINER_HALEY_3] = @@ -7305,7 +7305,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Haley3), + .party = TRAINER_PARTY(sParty_Haley3), }, [TRAINER_HALEY_4] = @@ -7317,7 +7317,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Haley4), + .party = TRAINER_PARTY(sParty_Haley4), }, [TRAINER_HALEY_5] = @@ -7329,7 +7329,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Haley5), + .party = TRAINER_PARTY(sParty_Haley5), }, [TRAINER_SALLY] = @@ -7341,7 +7341,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sally), + .party = TRAINER_PARTY(sParty_Sally), }, [TRAINER_ROBIN] = @@ -7353,7 +7353,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Robin), + .party = TRAINER_PARTY(sParty_Robin), }, [TRAINER_ANDREA] = @@ -7365,7 +7365,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andrea), + .party = TRAINER_PARTY(sParty_Andrea), }, [TRAINER_CRISSY] = @@ -7377,7 +7377,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Crissy), + .party = TRAINER_PARTY(sParty_Crissy), }, [TRAINER_RICK] = @@ -7389,7 +7389,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rick), + .party = TRAINER_PARTY(sParty_Rick), }, [TRAINER_LYLE] = @@ -7401,7 +7401,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lyle), + .party = TRAINER_PARTY(sParty_Lyle), }, [TRAINER_JOSE] = @@ -7413,7 +7413,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jose), + .party = TRAINER_PARTY(sParty_Jose), }, [TRAINER_DOUG] = @@ -7425,7 +7425,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Doug), + .party = TRAINER_PARTY(sParty_Doug), }, [TRAINER_GREG] = @@ -7437,7 +7437,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Greg), + .party = TRAINER_PARTY(sParty_Greg), }, [TRAINER_KENT] = @@ -7449,7 +7449,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kent), + .party = TRAINER_PARTY(sParty_Kent), }, [TRAINER_JAMES_1] = @@ -7461,7 +7461,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_James1), + .party = TRAINER_PARTY(sParty_James1), }, [TRAINER_JAMES_2] = @@ -7473,7 +7473,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_James2), + .party = TRAINER_PARTY(sParty_James2), }, [TRAINER_JAMES_3] = @@ -7485,7 +7485,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_James3), + .party = TRAINER_PARTY(sParty_James3), }, [TRAINER_JAMES_4] = @@ -7497,7 +7497,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_James4), + .party = TRAINER_PARTY(sParty_James4), }, [TRAINER_JAMES_5] = @@ -7509,7 +7509,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_James5), + .party = TRAINER_PARTY(sParty_James5), }, [TRAINER_BRICE] = @@ -7521,7 +7521,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Brice), + .party = TRAINER_PARTY(sParty_Brice), }, [TRAINER_TRENT_1] = @@ -7533,7 +7533,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Trent1), + .party = TRAINER_PARTY(sParty_Trent1), }, [TRAINER_LENNY] = @@ -7545,7 +7545,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lenny), + .party = TRAINER_PARTY(sParty_Lenny), }, [TRAINER_LUCAS_1] = @@ -7557,7 +7557,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lucas1), + .party = TRAINER_PARTY(sParty_Lucas1), }, [TRAINER_ALAN] = @@ -7569,7 +7569,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alan), + .party = TRAINER_PARTY(sParty_Alan), }, [TRAINER_CLARK] = @@ -7581,7 +7581,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Clark), + .party = TRAINER_PARTY(sParty_Clark), }, [TRAINER_ERIC] = @@ -7593,7 +7593,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Eric), + .party = TRAINER_PARTY(sParty_Eric), }, [TRAINER_LUCAS_2] = @@ -7605,7 +7605,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lucas2), + .party = TRAINER_PARTY(sParty_Lucas2), }, [TRAINER_MIKE_1] = @@ -7617,7 +7617,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Mike1), + .party = TRAINER_PARTY(sParty_Mike1), }, [TRAINER_MIKE_2] = @@ -7629,7 +7629,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Mike2), + .party = TRAINER_PARTY(sParty_Mike2), }, [TRAINER_TRENT_2] = @@ -7641,7 +7641,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Trent2), + .party = TRAINER_PARTY(sParty_Trent2), }, [TRAINER_TRENT_3] = @@ -7653,7 +7653,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Trent3), + .party = TRAINER_PARTY(sParty_Trent3), }, [TRAINER_TRENT_4] = @@ -7665,7 +7665,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Trent4), + .party = TRAINER_PARTY(sParty_Trent4), }, [TRAINER_TRENT_5] = @@ -7677,7 +7677,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Trent5), + .party = TRAINER_PARTY(sParty_Trent5), }, [TRAINER_DEZ_AND_LUKE] = @@ -7689,7 +7689,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_DezAndLuke), + .party = TRAINER_PARTY(sParty_DezAndLuke), }, [TRAINER_LEA_AND_JED] = @@ -7701,7 +7701,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LeaAndJed), + .party = TRAINER_PARTY(sParty_LeaAndJed), }, [TRAINER_KIRA_AND_DAN_1] = @@ -7713,7 +7713,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan1), + .party = TRAINER_PARTY(sParty_KiraAndDan1), }, [TRAINER_KIRA_AND_DAN_2] = @@ -7725,7 +7725,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan2), + .party = TRAINER_PARTY(sParty_KiraAndDan2), }, [TRAINER_KIRA_AND_DAN_3] = @@ -7737,7 +7737,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan3), + .party = TRAINER_PARTY(sParty_KiraAndDan3), }, [TRAINER_KIRA_AND_DAN_4] = @@ -7749,7 +7749,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan4), + .party = TRAINER_PARTY(sParty_KiraAndDan4), }, [TRAINER_KIRA_AND_DAN_5] = @@ -7761,7 +7761,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KiraAndDan5), + .party = TRAINER_PARTY(sParty_KiraAndDan5), }, [TRAINER_JOHANNA] = @@ -7773,7 +7773,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Johanna), + .party = TRAINER_PARTY(sParty_Johanna), }, [TRAINER_GERALD] = @@ -7785,7 +7785,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Gerald), + .party = TRAINER_PARTY(sParty_Gerald), }, [TRAINER_VIVIAN] = @@ -7797,7 +7797,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Vivian), + .party = TRAINER_PARTY(sParty_Vivian), }, [TRAINER_DANIELLE] = @@ -7809,7 +7809,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Danielle), + .party = TRAINER_PARTY(sParty_Danielle), }, [TRAINER_HIDEO] = @@ -7821,7 +7821,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Hideo), + .party = TRAINER_PARTY(sParty_Hideo), }, [TRAINER_KEIGO] = @@ -7833,7 +7833,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Keigo), + .party = TRAINER_PARTY(sParty_Keigo), }, [TRAINER_RILEY] = @@ -7845,7 +7845,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT, - .party = EVERYTHING_CUSTOMIZED(sParty_Riley), + .party = TRAINER_PARTY(sParty_Riley), }, [TRAINER_FLINT] = @@ -7857,7 +7857,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Flint), + .party = TRAINER_PARTY(sParty_Flint), }, [TRAINER_ASHLEY] = @@ -7869,7 +7869,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Ashley), + .party = TRAINER_PARTY(sParty_Ashley), }, [TRAINER_WALLY_MAUVILLE] = @@ -7881,7 +7881,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_WallyMauville), + .party = TRAINER_PARTY(sParty_WallyMauville), }, [TRAINER_WALLY_VR_2] = @@ -7893,7 +7893,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR2), + .party = TRAINER_PARTY(sParty_WallyVR2), }, [TRAINER_WALLY_VR_3] = @@ -7905,7 +7905,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR3), + .party = TRAINER_PARTY(sParty_WallyVR3), }, [TRAINER_WALLY_VR_4] = @@ -7917,7 +7917,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR4), + .party = TRAINER_PARTY(sParty_WallyVR4), }, [TRAINER_WALLY_VR_5] = @@ -7929,7 +7929,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_WallyVR5), + .party = TRAINER_PARTY(sParty_WallyVR5), }, [TRAINER_BRENDAN_LILYCOVE_MUDKIP] = @@ -7941,7 +7941,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLilycoveMudkip), + .party = TRAINER_PARTY(sParty_BrendanLilycoveMudkip), }, [TRAINER_BRENDAN_LILYCOVE_TREECKO] = @@ -7953,7 +7953,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLilycoveTreecko), + .party = TRAINER_PARTY(sParty_BrendanLilycoveTreecko), }, [TRAINER_BRENDAN_LILYCOVE_TORCHIC] = @@ -7965,7 +7965,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLilycoveTorchic), + .party = TRAINER_PARTY(sParty_BrendanLilycoveTorchic), }, [TRAINER_MAY_LILYCOVE_MUDKIP] = @@ -7977,7 +7977,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayLilycoveMudkip), + .party = TRAINER_PARTY(sParty_MayLilycoveMudkip), }, [TRAINER_MAY_LILYCOVE_TREECKO] = @@ -7989,7 +7989,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayLilycoveTreecko), + .party = TRAINER_PARTY(sParty_MayLilycoveTreecko), }, [TRAINER_MAY_LILYCOVE_TORCHIC] = @@ -8001,7 +8001,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayLilycoveTorchic), + .party = TRAINER_PARTY(sParty_MayLilycoveTorchic), }, [TRAINER_JONAH] = @@ -8013,7 +8013,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jonah), + .party = TRAINER_PARTY(sParty_Jonah), }, [TRAINER_HENRY] = @@ -8025,7 +8025,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Henry), + .party = TRAINER_PARTY(sParty_Henry), }, [TRAINER_ROGER] = @@ -8037,7 +8037,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Roger), + .party = TRAINER_PARTY(sParty_Roger), }, [TRAINER_ALEXA] = @@ -8049,7 +8049,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Alexa), + .party = TRAINER_PARTY(sParty_Alexa), }, [TRAINER_RUBEN] = @@ -8061,7 +8061,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Ruben), + .party = TRAINER_PARTY(sParty_Ruben), }, [TRAINER_KOJI_1] = @@ -8073,7 +8073,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Koji1), + .party = TRAINER_PARTY(sParty_Koji1), }, [TRAINER_WAYNE] = @@ -8085,7 +8085,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Wayne), + .party = TRAINER_PARTY(sParty_Wayne), }, [TRAINER_AIDAN] = @@ -8097,7 +8097,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Aidan), + .party = TRAINER_PARTY(sParty_Aidan), }, [TRAINER_REED] = @@ -8109,7 +8109,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Reed), + .party = TRAINER_PARTY(sParty_Reed), }, [TRAINER_TISHA] = @@ -8121,7 +8121,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tisha), + .party = TRAINER_PARTY(sParty_Tisha), }, [TRAINER_TORI_AND_TIA] = @@ -8133,7 +8133,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_ToriAndTia), + .party = TRAINER_PARTY(sParty_ToriAndTia), }, [TRAINER_KIM_AND_IRIS] = @@ -8145,7 +8145,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_KimAndIris), + .party = TRAINER_PARTY(sParty_KimAndIris), }, [TRAINER_TYRA_AND_IVY] = @@ -8157,7 +8157,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_TyraAndIvy), + .party = TRAINER_PARTY(sParty_TyraAndIvy), }, [TRAINER_MEL_AND_PAUL] = @@ -8169,7 +8169,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_MelAndPaul), + .party = TRAINER_PARTY(sParty_MelAndPaul), }, [TRAINER_JOHN_AND_JAY_1] = @@ -8181,7 +8181,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay1), + .party = TRAINER_PARTY(sParty_JohnAndJay1), }, [TRAINER_JOHN_AND_JAY_2] = @@ -8193,7 +8193,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay2), + .party = TRAINER_PARTY(sParty_JohnAndJay2), }, [TRAINER_JOHN_AND_JAY_3] = @@ -8205,7 +8205,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay3), + .party = TRAINER_PARTY(sParty_JohnAndJay3), }, [TRAINER_JOHN_AND_JAY_4] = @@ -8217,7 +8217,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, - .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay4), + .party = TRAINER_PARTY(sParty_JohnAndJay4), }, [TRAINER_JOHN_AND_JAY_5] = @@ -8229,7 +8229,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_JohnAndJay5), + .party = TRAINER_PARTY(sParty_JohnAndJay5), }, [TRAINER_RELI_AND_IAN] = @@ -8241,7 +8241,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_ReliAndIan), + .party = TRAINER_PARTY(sParty_ReliAndIan), }, [TRAINER_LILA_AND_ROY_1] = @@ -8253,7 +8253,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy1), + .party = TRAINER_PARTY(sParty_LilaAndRoy1), }, [TRAINER_LILA_AND_ROY_2] = @@ -8265,7 +8265,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy2), + .party = TRAINER_PARTY(sParty_LilaAndRoy2), }, [TRAINER_LILA_AND_ROY_3] = @@ -8277,7 +8277,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy3), + .party = TRAINER_PARTY(sParty_LilaAndRoy3), }, [TRAINER_LILA_AND_ROY_4] = @@ -8289,7 +8289,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy4), + .party = TRAINER_PARTY(sParty_LilaAndRoy4), }, [TRAINER_LILA_AND_ROY_5] = @@ -8301,7 +8301,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LilaAndRoy5), + .party = TRAINER_PARTY(sParty_LilaAndRoy5), }, [TRAINER_LISA_AND_RAY] = @@ -8313,7 +8313,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_LisaAndRay), + .party = TRAINER_PARTY(sParty_LisaAndRay), }, [TRAINER_CHRIS] = @@ -8325,7 +8325,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Chris), + .party = TRAINER_PARTY(sParty_Chris), }, [TRAINER_DAWSON] = @@ -8337,7 +8337,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dawson), + .party = TRAINER_PARTY(sParty_Dawson), }, [TRAINER_SARAH] = @@ -8349,7 +8349,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sarah), + .party = TRAINER_PARTY(sParty_Sarah), }, [TRAINER_DARIAN] = @@ -8361,7 +8361,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Darian), + .party = TRAINER_PARTY(sParty_Darian), }, [TRAINER_HAILEY] = @@ -8373,7 +8373,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hailey), + .party = TRAINER_PARTY(sParty_Hailey), }, [TRAINER_CHANDLER] = @@ -8385,7 +8385,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Chandler), + .party = TRAINER_PARTY(sParty_Chandler), }, [TRAINER_KALEB] = @@ -8397,7 +8397,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kaleb), + .party = TRAINER_PARTY(sParty_Kaleb), }, [TRAINER_JOSEPH] = @@ -8409,7 +8409,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Joseph), + .party = TRAINER_PARTY(sParty_Joseph), }, [TRAINER_ALYSSA] = @@ -8421,7 +8421,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alyssa), + .party = TRAINER_PARTY(sParty_Alyssa), }, [TRAINER_MARCOS] = @@ -8433,7 +8433,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Marcos), + .party = TRAINER_PARTY(sParty_Marcos), }, [TRAINER_RHETT] = @@ -8445,7 +8445,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rhett), + .party = TRAINER_PARTY(sParty_Rhett), }, [TRAINER_TYRON] = @@ -8457,7 +8457,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Tyron), + .party = TRAINER_PARTY(sParty_Tyron), }, [TRAINER_CELINA] = @@ -8469,7 +8469,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Celina), + .party = TRAINER_PARTY(sParty_Celina), }, [TRAINER_BIANCA] = @@ -8481,7 +8481,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bianca), + .party = TRAINER_PARTY(sParty_Bianca), }, [TRAINER_HAYDEN] = @@ -8493,7 +8493,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Hayden), + .party = TRAINER_PARTY(sParty_Hayden), }, [TRAINER_SOPHIE] = @@ -8505,7 +8505,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Sophie), + .party = TRAINER_PARTY(sParty_Sophie), }, [TRAINER_COBY] = @@ -8517,7 +8517,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Coby), + .party = TRAINER_PARTY(sParty_Coby), }, [TRAINER_LAWRENCE] = @@ -8529,7 +8529,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Lawrence), + .party = TRAINER_PARTY(sParty_Lawrence), }, [TRAINER_WYATT] = @@ -8541,7 +8541,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Wyatt), + .party = TRAINER_PARTY(sParty_Wyatt), }, [TRAINER_ANGELINA] = @@ -8553,7 +8553,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Angelina), + .party = TRAINER_PARTY(sParty_Angelina), }, [TRAINER_KAI] = @@ -8565,7 +8565,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kai), + .party = TRAINER_PARTY(sParty_Kai), }, [TRAINER_CHARLOTTE] = @@ -8577,7 +8577,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Charlotte), + .party = TRAINER_PARTY(sParty_Charlotte), }, [TRAINER_DEANDRE] = @@ -8589,7 +8589,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Deandre), + .party = TRAINER_PARTY(sParty_Deandre), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_1] = @@ -8601,7 +8601,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout1), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout1), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_2] = @@ -8613,7 +8613,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout2), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout2), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_3] = @@ -8625,7 +8625,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout3), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout3), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_4] = @@ -8637,7 +8637,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout4), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout4), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_5] = @@ -8649,7 +8649,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout5), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout5), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_6] = @@ -8661,7 +8661,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout6), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout6), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_7] = @@ -8673,7 +8673,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout7), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout7), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_8] = @@ -8685,7 +8685,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout8), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout8), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_9] = @@ -8697,7 +8697,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout9), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout9), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_10] = @@ -8709,7 +8709,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout10), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout10), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_11] = @@ -8721,7 +8721,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout11), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout11), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_12] = @@ -8733,7 +8733,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout12), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout12), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_13] = @@ -8745,7 +8745,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout13), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout13), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_14] = @@ -8757,7 +8757,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout14), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout14), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_15] = @@ -8769,7 +8769,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout15), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout15), }, [TRAINER_GRUNT_MAGMA_HIDEOUT_16] = @@ -8781,7 +8781,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_GruntMagmaHideout16), + .party = TRAINER_PARTY(sParty_GruntMagmaHideout16), }, [TRAINER_TABITHA_MAGMA_HIDEOUT] = @@ -8793,7 +8793,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_TabithaMagmaHideout), + .party = TRAINER_PARTY(sParty_TabithaMagmaHideout), }, [TRAINER_DARCY] = @@ -8805,7 +8805,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Darcy), + .party = TRAINER_PARTY(sParty_Darcy), }, [TRAINER_MAXIE_MOSSDEEP] = @@ -8817,7 +8817,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MaxieMossdeep), + .party = TRAINER_PARTY(sParty_MaxieMossdeep), }, [TRAINER_PETE] = @@ -8829,7 +8829,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pete), + .party = TRAINER_PARTY(sParty_Pete), }, [TRAINER_ISABELLE] = @@ -8841,7 +8841,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Isabelle), + .party = TRAINER_PARTY(sParty_Isabelle), }, [TRAINER_ANDRES_1] = @@ -8853,7 +8853,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andres1), + .party = TRAINER_PARTY(sParty_Andres1), }, [TRAINER_JOSUE] = @@ -8865,7 +8865,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Josue), + .party = TRAINER_PARTY(sParty_Josue), }, [TRAINER_CAMRON] = @@ -8877,7 +8877,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Camron), + .party = TRAINER_PARTY(sParty_Camron), }, [TRAINER_CORY_1] = @@ -8889,7 +8889,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cory1), + .party = TRAINER_PARTY(sParty_Cory1), }, [TRAINER_CAROLINA] = @@ -8901,7 +8901,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Carolina), + .party = TRAINER_PARTY(sParty_Carolina), }, [TRAINER_ELIJAH] = @@ -8913,7 +8913,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Elijah), + .party = TRAINER_PARTY(sParty_Elijah), }, [TRAINER_CELIA] = @@ -8925,7 +8925,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Celia), + .party = TRAINER_PARTY(sParty_Celia), }, [TRAINER_BRYAN] = @@ -8937,7 +8937,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bryan), + .party = TRAINER_PARTY(sParty_Bryan), }, [TRAINER_BRANDEN] = @@ -8949,7 +8949,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Branden), + .party = TRAINER_PARTY(sParty_Branden), }, [TRAINER_BRYANT] = @@ -8961,7 +8961,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Bryant), + .party = TRAINER_PARTY(sParty_Bryant), }, [TRAINER_SHAYLA] = @@ -8973,7 +8973,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Shayla), + .party = TRAINER_PARTY(sParty_Shayla), }, [TRAINER_KYRA] = @@ -8985,7 +8985,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Kyra), + .party = TRAINER_PARTY(sParty_Kyra), }, [TRAINER_JAIDEN] = @@ -8997,7 +8997,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Jaiden), + .party = TRAINER_PARTY(sParty_Jaiden), }, [TRAINER_ALIX] = @@ -9009,7 +9009,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Alix), + .party = TRAINER_PARTY(sParty_Alix), }, [TRAINER_HELENE] = @@ -9021,7 +9021,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Helene), + .party = TRAINER_PARTY(sParty_Helene), }, [TRAINER_MARLENE] = @@ -9033,7 +9033,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Marlene), + .party = TRAINER_PARTY(sParty_Marlene), }, [TRAINER_DEVAN] = @@ -9045,7 +9045,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Devan), + .party = TRAINER_PARTY(sParty_Devan), }, [TRAINER_JOHNSON] = @@ -9057,7 +9057,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Johnson), + .party = TRAINER_PARTY(sParty_Johnson), }, [TRAINER_MELINA] = @@ -9069,7 +9069,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Melina), + .party = TRAINER_PARTY(sParty_Melina), }, [TRAINER_BRANDI] = @@ -9081,7 +9081,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Brandi), + .party = TRAINER_PARTY(sParty_Brandi), }, [TRAINER_AISHA] = @@ -9093,7 +9093,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Aisha), + .party = TRAINER_PARTY(sParty_Aisha), }, [TRAINER_MAKAYLA] = @@ -9105,7 +9105,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Makayla), + .party = TRAINER_PARTY(sParty_Makayla), }, [TRAINER_FABIAN] = @@ -9117,7 +9117,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Fabian), + .party = TRAINER_PARTY(sParty_Fabian), }, [TRAINER_DAYTON] = @@ -9129,7 +9129,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Dayton), + .party = TRAINER_PARTY(sParty_Dayton), }, [TRAINER_RACHEL] = @@ -9141,7 +9141,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Rachel), + .party = TRAINER_PARTY(sParty_Rachel), }, [TRAINER_LEONEL] = @@ -9153,7 +9153,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Leonel), + .party = TRAINER_PARTY(sParty_Leonel), }, [TRAINER_CALLIE] = @@ -9165,7 +9165,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Callie), + .party = TRAINER_PARTY(sParty_Callie), }, [TRAINER_CALE] = @@ -9177,7 +9177,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cale), + .party = TRAINER_PARTY(sParty_Cale), }, [TRAINER_MYLES] = @@ -9189,7 +9189,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Myles), + .party = TRAINER_PARTY(sParty_Myles), }, [TRAINER_PAT] = @@ -9201,7 +9201,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pat), + .party = TRAINER_PARTY(sParty_Pat), }, [TRAINER_CRISTIN_1] = @@ -9213,7 +9213,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Cristin1), + .party = TRAINER_PARTY(sParty_Cristin1), }, [TRAINER_MAY_RUSTBORO_TREECKO] = @@ -9225,7 +9225,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRustboroTreecko), + .party = TRAINER_PARTY(sParty_MayRustboroTreecko), }, [TRAINER_MAY_RUSTBORO_TORCHIC] = @@ -9237,7 +9237,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_MayRustboroTorchic), + .party = TRAINER_PARTY(sParty_MayRustboroTorchic), }, [TRAINER_ROXANNE_2] = @@ -9249,7 +9249,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne2), + .party = TRAINER_PARTY(sParty_Roxanne2), }, [TRAINER_ROXANNE_3] = @@ -9261,7 +9261,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne3), + .party = TRAINER_PARTY(sParty_Roxanne3), }, [TRAINER_ROXANNE_4] = @@ -9273,7 +9273,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne4), + .party = TRAINER_PARTY(sParty_Roxanne4), }, [TRAINER_ROXANNE_5] = @@ -9285,7 +9285,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Roxanne5), + .party = TRAINER_PARTY(sParty_Roxanne5), }, [TRAINER_BRAWLY_2] = @@ -9297,7 +9297,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brawly2), + .party = TRAINER_PARTY(sParty_Brawly2), }, [TRAINER_BRAWLY_3] = @@ -9309,7 +9309,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brawly3), + .party = TRAINER_PARTY(sParty_Brawly3), }, [TRAINER_BRAWLY_4] = @@ -9321,7 +9321,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brawly4), + .party = TRAINER_PARTY(sParty_Brawly4), }, [TRAINER_BRAWLY_5] = @@ -9333,7 +9333,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brawly5), + .party = TRAINER_PARTY(sParty_Brawly5), }, [TRAINER_WATTSON_2] = @@ -9345,7 +9345,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wattson2), + .party = TRAINER_PARTY(sParty_Wattson2), }, [TRAINER_WATTSON_3] = @@ -9357,7 +9357,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wattson3), + .party = TRAINER_PARTY(sParty_Wattson3), }, [TRAINER_WATTSON_4] = @@ -9369,7 +9369,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wattson4), + .party = TRAINER_PARTY(sParty_Wattson4), }, [TRAINER_WATTSON_5] = @@ -9381,7 +9381,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Wattson5), + .party = TRAINER_PARTY(sParty_Wattson5), }, [TRAINER_FLANNERY_2] = @@ -9393,7 +9393,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Flannery2), + .party = TRAINER_PARTY(sParty_Flannery2), }, [TRAINER_FLANNERY_3] = @@ -9405,7 +9405,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Flannery3), + .party = TRAINER_PARTY(sParty_Flannery3), }, [TRAINER_FLANNERY_4] = @@ -9417,7 +9417,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Flannery4), + .party = TRAINER_PARTY(sParty_Flannery4), }, [TRAINER_FLANNERY_5] = @@ -9429,7 +9429,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Flannery5), + .party = TRAINER_PARTY(sParty_Flannery5), }, [TRAINER_NORMAN_2] = @@ -9441,7 +9441,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Norman2), + .party = TRAINER_PARTY(sParty_Norman2), }, [TRAINER_NORMAN_3] = @@ -9453,7 +9453,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Norman3), + .party = TRAINER_PARTY(sParty_Norman3), }, [TRAINER_NORMAN_4] = @@ -9465,7 +9465,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Norman4), + .party = TRAINER_PARTY(sParty_Norman4), }, [TRAINER_NORMAN_5] = @@ -9477,7 +9477,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Norman5), + .party = TRAINER_PARTY(sParty_Norman5), }, [TRAINER_WINONA_2] = @@ -9489,7 +9489,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = EVERYTHING_CUSTOMIZED(sParty_Winona2), + .party = TRAINER_PARTY(sParty_Winona2), }, [TRAINER_WINONA_3] = @@ -9501,7 +9501,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = EVERYTHING_CUSTOMIZED(sParty_Winona3), + .party = TRAINER_PARTY(sParty_Winona3), }, [TRAINER_WINONA_4] = @@ -9513,7 +9513,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = EVERYTHING_CUSTOMIZED(sParty_Winona4), + .party = TRAINER_PARTY(sParty_Winona4), }, [TRAINER_WINONA_5] = @@ -9525,7 +9525,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, - .party = EVERYTHING_CUSTOMIZED(sParty_Winona5), + .party = TRAINER_PARTY(sParty_Winona5), }, [TRAINER_TATE_AND_LIZA_2] = @@ -9537,7 +9537,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza2), + .party = TRAINER_PARTY(sParty_TateAndLiza2), }, [TRAINER_TATE_AND_LIZA_3] = @@ -9549,7 +9549,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza3), + .party = TRAINER_PARTY(sParty_TateAndLiza3), }, [TRAINER_TATE_AND_LIZA_4] = @@ -9561,7 +9561,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza4), + .party = TRAINER_PARTY(sParty_TateAndLiza4), }, [TRAINER_TATE_AND_LIZA_5] = @@ -9573,7 +9573,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_TateAndLiza5), + .party = TRAINER_PARTY(sParty_TateAndLiza5), }, [TRAINER_JUAN_2] = @@ -9585,7 +9585,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Juan2), + .party = TRAINER_PARTY(sParty_Juan2), }, [TRAINER_JUAN_3] = @@ -9597,7 +9597,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Juan3), + .party = TRAINER_PARTY(sParty_Juan3), }, [TRAINER_JUAN_4] = @@ -9609,7 +9609,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Juan4), + .party = TRAINER_PARTY(sParty_Juan4), }, [TRAINER_JUAN_5] = @@ -9621,7 +9621,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_NONE}, .doubleBattle = TRUE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Juan5), + .party = TRAINER_PARTY(sParty_Juan5), }, [TRAINER_ANGELO] = @@ -9633,7 +9633,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Angelo), + .party = TRAINER_PARTY(sParty_Angelo), }, [TRAINER_DARIUS] = @@ -9645,7 +9645,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Darius), + .party = TRAINER_PARTY(sParty_Darius), }, [TRAINER_STEVEN] = @@ -9657,7 +9657,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE, ITEM_FULL_RESTORE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Steven), + .party = TRAINER_PARTY(sParty_Steven), }, [TRAINER_ANABEL] = @@ -9669,7 +9669,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Anabel), + .party = TRAINER_PARTY(sParty_Anabel), }, [TRAINER_TUCKER] = @@ -9681,7 +9681,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Tucker), + .party = TRAINER_PARTY(sParty_Tucker), }, [TRAINER_SPENSER] = @@ -9693,7 +9693,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Spenser), + .party = TRAINER_PARTY(sParty_Spenser), }, [TRAINER_GRETA] = @@ -9705,7 +9705,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Greta), + .party = TRAINER_PARTY(sParty_Greta), }, [TRAINER_NOLAND] = @@ -9717,7 +9717,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Noland), + .party = TRAINER_PARTY(sParty_Noland), }, [TRAINER_LUCY] = @@ -9729,7 +9729,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Lucy), + .party = TRAINER_PARTY(sParty_Lucy), }, [TRAINER_BRANDON] = @@ -9741,7 +9741,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Brandon), + .party = TRAINER_PARTY(sParty_Brandon), }, [TRAINER_ANDRES_2] = @@ -9753,7 +9753,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andres2), + .party = TRAINER_PARTY(sParty_Andres2), }, [TRAINER_ANDRES_3] = @@ -9765,7 +9765,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andres3), + .party = TRAINER_PARTY(sParty_Andres3), }, [TRAINER_ANDRES_4] = @@ -9777,7 +9777,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andres4), + .party = TRAINER_PARTY(sParty_Andres4), }, [TRAINER_ANDRES_5] = @@ -9789,7 +9789,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Andres5), + .party = TRAINER_PARTY(sParty_Andres5), }, [TRAINER_CORY_2] = @@ -9801,7 +9801,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cory2), + .party = TRAINER_PARTY(sParty_Cory2), }, [TRAINER_CORY_3] = @@ -9813,7 +9813,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cory3), + .party = TRAINER_PARTY(sParty_Cory3), }, [TRAINER_CORY_4] = @@ -9825,7 +9825,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cory4), + .party = TRAINER_PARTY(sParty_Cory4), }, [TRAINER_CORY_5] = @@ -9837,7 +9837,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Cory5), + .party = TRAINER_PARTY(sParty_Cory5), }, [TRAINER_PABLO_2] = @@ -9849,7 +9849,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pablo2), + .party = TRAINER_PARTY(sParty_Pablo2), }, [TRAINER_PABLO_3] = @@ -9861,7 +9861,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pablo3), + .party = TRAINER_PARTY(sParty_Pablo3), }, [TRAINER_PABLO_4] = @@ -9873,7 +9873,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pablo4), + .party = TRAINER_PARTY(sParty_Pablo4), }, [TRAINER_PABLO_5] = @@ -9885,7 +9885,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Pablo5), + .party = TRAINER_PARTY(sParty_Pablo5), }, [TRAINER_KOJI_2] = @@ -9897,7 +9897,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Koji2), + .party = TRAINER_PARTY(sParty_Koji2), }, [TRAINER_KOJI_3] = @@ -9909,7 +9909,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Koji3), + .party = TRAINER_PARTY(sParty_Koji3), }, [TRAINER_KOJI_4] = @@ -9921,7 +9921,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Koji4), + .party = TRAINER_PARTY(sParty_Koji4), }, [TRAINER_KOJI_5] = @@ -9933,7 +9933,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Koji5), + .party = TRAINER_PARTY(sParty_Koji5), }, [TRAINER_CRISTIN_2] = @@ -9945,7 +9945,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Cristin2), + .party = TRAINER_PARTY(sParty_Cristin2), }, [TRAINER_CRISTIN_3] = @@ -9957,7 +9957,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Cristin3), + .party = TRAINER_PARTY(sParty_Cristin3), }, [TRAINER_CRISTIN_4] = @@ -9969,7 +9969,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Cristin4), + .party = TRAINER_PARTY(sParty_Cristin4), }, [TRAINER_CRISTIN_5] = @@ -9981,7 +9981,7 @@ const struct Trainer gTrainers[] = { .items = {ITEM_HYPER_POTION, ITEM_NONE, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Cristin5), + .party = TRAINER_PARTY(sParty_Cristin5), }, [TRAINER_FERNANDO_2] = @@ -9993,7 +9993,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Fernando2), + .party = TRAINER_PARTY(sParty_Fernando2), }, [TRAINER_FERNANDO_3] = @@ -10005,7 +10005,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Fernando3), + .party = TRAINER_PARTY(sParty_Fernando3), }, [TRAINER_FERNANDO_4] = @@ -10017,7 +10017,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Fernando4), + .party = TRAINER_PARTY(sParty_Fernando4), }, [TRAINER_FERNANDO_5] = @@ -10029,7 +10029,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Fernando5), + .party = TRAINER_PARTY(sParty_Fernando5), }, [TRAINER_SAWYER_2] = @@ -10041,7 +10041,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer2), + .party = TRAINER_PARTY(sParty_Sawyer2), }, [TRAINER_SAWYER_3] = @@ -10053,7 +10053,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer3), + .party = TRAINER_PARTY(sParty_Sawyer3), }, [TRAINER_SAWYER_4] = @@ -10065,7 +10065,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer4), + .party = TRAINER_PARTY(sParty_Sawyer4), }, [TRAINER_SAWYER_5] = @@ -10077,7 +10077,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, - .party = EVERYTHING_CUSTOMIZED(sParty_Sawyer5), + .party = TRAINER_PARTY(sParty_Sawyer5), }, [TRAINER_GABRIELLE_2] = @@ -10089,7 +10089,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle2), + .party = TRAINER_PARTY(sParty_Gabrielle2), }, [TRAINER_GABRIELLE_3] = @@ -10101,7 +10101,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle3), + .party = TRAINER_PARTY(sParty_Gabrielle3), }, [TRAINER_GABRIELLE_4] = @@ -10113,7 +10113,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle4), + .party = TRAINER_PARTY(sParty_Gabrielle4), }, [TRAINER_GABRIELLE_5] = @@ -10125,7 +10125,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Gabrielle5), + .party = TRAINER_PARTY(sParty_Gabrielle5), }, [TRAINER_THALIA_2] = @@ -10137,7 +10137,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Thalia2), + .party = TRAINER_PARTY(sParty_Thalia2), }, [TRAINER_THALIA_3] = @@ -10149,7 +10149,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Thalia3), + .party = TRAINER_PARTY(sParty_Thalia3), }, [TRAINER_THALIA_4] = @@ -10161,7 +10161,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Thalia4), + .party = TRAINER_PARTY(sParty_Thalia4), }, [TRAINER_THALIA_5] = @@ -10173,7 +10173,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = AI_FLAG_CHECK_BAD_MOVE, - .party = EVERYTHING_CUSTOMIZED(sParty_Thalia5), + .party = TRAINER_PARTY(sParty_Thalia5), }, [TRAINER_MARIELA] = @@ -10185,7 +10185,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Mariela), + .party = TRAINER_PARTY(sParty_Mariela), }, [TRAINER_ALVARO] = @@ -10197,7 +10197,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Alvaro), + .party = TRAINER_PARTY(sParty_Alvaro), }, [TRAINER_EVERETT] = @@ -10209,7 +10209,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Everett), + .party = TRAINER_PARTY(sParty_Everett), }, [TRAINER_RED] = @@ -10221,7 +10221,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Red), + .party = TRAINER_PARTY(sParty_Red), }, [TRAINER_LEAF] = @@ -10233,7 +10233,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_Leaf), + .party = TRAINER_PARTY(sParty_Leaf), }, [TRAINER_BRENDAN_PLACEHOLDER] = @@ -10245,7 +10245,7 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_BrendanLinkPlaceholder), + .party = TRAINER_PARTY(sParty_BrendanLinkPlaceholder), }, [TRAINER_MAY_PLACEHOLDER] = @@ -10257,6 +10257,6 @@ const struct Trainer gTrainers[] = { .items = {}, .doubleBattle = FALSE, .aiFlags = 0, - .party = EVERYTHING_CUSTOMIZED(sParty_MayLinkPlaceholder), + .party = TRAINER_PARTY(sParty_MayLinkPlaceholder), }, }; diff --git a/test/trainer_control.c b/test/trainer_control.c index 2032fa9a03..bd3cb3d6a3 100644 --- a/test/trainer_control.c +++ b/test/trainer_control.c @@ -38,7 +38,7 @@ static const struct TrainerMon sTestParty1[] = static const struct Trainer sTestTrainer1 = { .trainerName = _("Test1"), - .party = EVERYTHING_CUSTOMIZED(sTestParty1), + .party = TRAINER_PARTY(sTestParty1), }; TEST("CreateNPCTrainerPartyForTrainer generates customized Pokémon") From 6482279fa37c0857897a5b9d5fcac2b55ffd53f8 Mon Sep 17 00:00:00 2001 From: sbird Date: Fri, 7 Jul 2023 14:11:49 +0200 Subject: [PATCH 057/256] [battle, math] refactor damage calculation to use proper fp type and inlined multiplication --- include/battle.h | 2 +- include/battle_ai_util.h | 2 +- include/battle_util.h | 13 +- include/fpmath.h | 61 ++++++ include/global.h | 27 +-- src/battle_ai_switch_items.c | 12 +- src/battle_ai_util.c | 11 +- src/battle_dome.c | 2 +- src/battle_util.c | 360 +++++++++++++++++------------------ test/fpmath.c | 18 ++ 10 files changed, 279 insertions(+), 229 deletions(-) create mode 100644 include/fpmath.h create mode 100644 test/fpmath.c diff --git a/include/battle.h b/include/battle.h index 5ad99673f8..9995a2a24d 100644 --- a/include/battle.h +++ b/include/battle.h @@ -656,7 +656,7 @@ struct BattleStruct u8 battleBondTransformed[NUM_BATTLE_SIDES]; // Bitfield for each party. u8 storedHealingWish:4; // Each battler as a bit. u8 storedLunarDance:4; // Each battler as a bit. - u16 supremeOverlordModifier[MAX_BATTLERS_COUNT]; + uq4_12_t supremeOverlordModifier[MAX_BATTLERS_COUNT]; u8 itemPartyIndex[MAX_BATTLERS_COUNT]; u8 itemMoveIndex[MAX_BATTLERS_COUNT]; bool8 trainerSlideHalfHpMsgDone; diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 99eb03f548..580e040d0e 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -87,7 +87,7 @@ bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split); s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *effectiveness, bool32 considerZPower); u8 GetMoveDamageResult(u16 move); u32 GetCurrDamageHpPercent(u8 battlerAtk, u8 battlerDef); -u16 AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef); +uq4_12_t AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef); u32 AI_GetMoveEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef); u16 *GetMovesArray(u32 battler); bool32 IsConfusionMoveEffect(u16 moveEffect); diff --git a/include/battle_util.h b/include/battle_util.h index 9976720eed..b6c397bc7e 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -166,10 +166,10 @@ bool32 IsBattlerAlive(u8 battlerId); u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move); u32 GetBattlerWeight(u8 battlerId); s32 CalculateMoveDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); -s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, u16 *typeEffectivenessModifier); -u16 CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities); -u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); -u16 GetTypeModifier(u8 atkType, u8 defType); +s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, uq4_12_t *typeEffectivenessModifier); +uq4_12_t CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities); +uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); +uq4_12_t GetTypeModifier(u8 atkType, u8 defType); s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId); s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp); bool32 CanMegaEvolve(u8 battlerId); @@ -240,4 +240,9 @@ u8 GetBattlerGender(u8 battlerId); bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2); u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); +static inline u32 ApplyModifier(uq4_12_t modifier, u32 val) +{ + return UQ_4_12_TO_INT((modifier * val) + UQ_4_12_ROUND); +} + #endif // GUARD_BATTLE_UTIL_H diff --git a/include/fpmath.h b/include/fpmath.h new file mode 100644 index 0000000000..7e25a92a43 --- /dev/null +++ b/include/fpmath.h @@ -0,0 +1,61 @@ +#ifndef FPMATH_H_ +#define FPMATH_H_ + +typedef s32 q4_12_t; +typedef u32 uq4_12_t; + +#define Q_4_12_SHIFT (12) +#define UQ_4_12_SHIFT (12) + +// Converts a number to Q8.8 fixed-point format +#define Q_8_8(n) ((s16)((n) * 256)) + +// Converts a number to Q4.12 fixed-point format +#define Q_4_12(n) ((q4_12_t)((n) * 4096)) +#define UQ_4_12(n) ((uq4_12_t)((n) * 4096)) + +// Converts a number to Q24.8 fixed-point format +#define Q_24_8(n) ((s32)((n) * 256)) + +// Converts a Q8.8 fixed-point format number to a regular integer +#define Q_8_8_TO_INT(n) ((s32)((n) / 256)) + +// Converts a Q4.12 fixed-point format number to a regular integer +#define Q_4_12_TO_INT(n) ((s32)((n) / 4096)) +#define UQ_4_12_TO_INT(n) ((u32)((n) / 4096)) + +// Converts a Q24.8 fixed-point format number to a regular integer +#define Q_24_8_TO_INT(n) ((s32)((n) / 256)) + +// Rounding value for Q4.12 fixed-point format +#define Q_4_12_ROUND ((1) << (Q_4_12_SHIFT - 1)) +#define UQ_4_12_ROUND ((1) << (UQ_4_12_SHIFT - 1)) + +// Basic arithmetic for fixed point number formats +// Consumers should use encapsulated functions where possible + +// FP API does not provide sanity checks against overflows + +static inline uq4_12_t uq4_12_add(uq4_12_t a, uq4_12_t b) +{ + return a + b; +} + +static inline uq4_12_t uq4_12_subtract(uq4_12_t a, uq4_12_t b) +{ + return a - b; +} + +static inline uq4_12_t uq4_12_multiply(uq4_12_t a, uq4_12_t b) +{ + u32 product = (u32) a * b; + return (product + UQ_4_12_ROUND) >> UQ_4_12_SHIFT; +} + +static inline uq4_12_t uq4_12_divide(uq4_12_t dividend, uq4_12_t divisor) +{ + if (divisor == UQ_4_12(0.0)) return UQ_4_12(0); + return (dividend << UQ_4_12_SHIFT) / divisor; +} + +#endif // FPMATH_H_ diff --git a/include/global.h b/include/global.h index eca45bdb63..d30ca045ec 100644 --- a/include/global.h +++ b/include/global.h @@ -5,6 +5,7 @@ #include #include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines. #include "gba/gba.h" +#include "fpmath.h" #include "constants/global.h" #include "constants/flags.h" #include "constants/vars.h" @@ -51,32 +52,6 @@ b = temp; \ } -// useful math macros - -// Converts a number to Q8.8 fixed-point format -#define Q_8_8(n) ((s16)((n) * 256)) - -// Converts a number to Q4.12 fixed-point format -#define Q_4_12(n) ((s16)((n) * 4096)) -#define UQ_4_12(n) ((u16)((n) * 4096)) - -// Converts a number to Q24.8 fixed-point format -#define Q_24_8(n) ((s32)((n) << 8)) - -// Converts a Q8.8 fixed-point format number to a regular integer -#define Q_8_8_TO_INT(n) ((int)((n) / 256)) - -// Converts a Q4.12 fixed-point format number to a regular integer -#define Q_4_12_TO_INT(n) ((int)((n) / 4096)) -#define UQ_4_12_TO_INT(n) ((int)((n) / 4096)) - -// Converts a Q24.8 fixed-point format number to a regular integer -#define Q_24_8_TO_INT(n) ((int)((n) >> 8)) - -// Rounding value for Q4.12 fixed-point format -#define Q_4_12_ROUND ((1) << (12 - 1)) -#define UQ_4_12_ROUND ((1) << (12 - 1)) - #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 48ca258a89..73d7ecb645 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -822,7 +822,7 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, while (bits != 0x3F) // All mons were checked. { - u16 bestResist = UQ_4_12(1.0); + uq4_12_t bestResist = UQ_4_12(1.0); int bestMonId = PARTY_SIZE; // Find the mon whose type is the most suitable defensively. for (i = firstId; i < lastId; i++) @@ -830,21 +830,21 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, if (!(gBitTable[i] & invalidMons) && !(gBitTable[i] & bits)) { u16 species = GetMonData(&party[i], MON_DATA_SPECIES); - u16 typeEffectiveness = UQ_4_12(1.0); + uq4_12_t typeEffectiveness = UQ_4_12(1.0); u8 atkType1 = gBattleMons[opposingBattler].type1; u8 atkType2 = gBattleMons[opposingBattler].type2; u8 defType1 = gSpeciesInfo[species].types[0]; u8 defType2 = gSpeciesInfo[species].types[1]; - MulModifier(&typeEffectiveness, (GetTypeModifier(atkType1, defType1))); + typeEffectiveness = uq4_12_multiply(typeEffectiveness, (GetTypeModifier(atkType1, defType1))); if (atkType2 != atkType1) - MulModifier(&typeEffectiveness, (GetTypeModifier(atkType2, defType1))); + typeEffectiveness = uq4_12_multiply(typeEffectiveness, (GetTypeModifier(atkType2, defType1))); if (defType2 != defType1) { - MulModifier(&typeEffectiveness, (GetTypeModifier(atkType1, defType2))); + typeEffectiveness = uq4_12_multiply(typeEffectiveness, (GetTypeModifier(atkType1, defType2))); if (atkType2 != atkType1) - MulModifier(&typeEffectiveness, (GetTypeModifier(atkType2, defType2))); + typeEffectiveness = uq4_12_multiply(typeEffectiveness, (GetTypeModifier(atkType2, defType2))); } if (typeEffectiveness < bestResist) { diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 3deabc5f57..97c0c32020 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -31,7 +31,7 @@ } \ return FALSE -static u32 AI_GetEffectiveness(u16 multiplier); +static u32 AI_GetEffectiveness(uq4_12_t multiplier); // Const Data static const s8 sAiAbilityRatings[ABILITIES_COUNT] = @@ -768,7 +768,7 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, { s32 dmg, moveType, critDmg, normalDmg; s8 critChance; - u16 effectivenessMultiplier; + uq4_12_t effectivenessMultiplier; if (considerZPower && IsViableZMove(battlerAtk, move)) { @@ -1003,9 +1003,10 @@ u32 GetCurrDamageHpPercent(u8 battlerAtk, u8 battlerDef) return (bestDmg * 100) / gBattleMons[battlerDef].maxHP; } -u16 AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef) +uq4_12_t AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef) { - u16 typeEffectiveness, moveType; + uq4_12_t typeEffectiveness; + u16 moveType; SaveBattlerData(battlerAtk); SaveBattlerData(battlerDef); @@ -1030,7 +1031,7 @@ u32 AI_GetMoveEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef) return AI_GetEffectiveness(AI_GetTypeEffectiveness(move, battlerAtk, battlerDef)); } -static u32 AI_GetEffectiveness(u16 multiplier) +static u32 AI_GetEffectiveness(uq4_12_t multiplier) { switch (multiplier) { diff --git a/src/battle_dome.c b/src/battle_dome.c index deae7e64f5..ba8d27b9aa 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -5206,7 +5206,7 @@ static u16 GetWinningMove(int winnerTournamentId, int loserTournamentId, u8 roun u32 personality = 0; u32 targetSpecies = 0; u32 targetAbility = 0; - u32 typeMultiplier = 0; + uq4_12_t typeMultiplier = 0; do { personality = Random32(); diff --git a/src/battle_util.c b/src/battle_util.c index 06d6e4897d..438d980161 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -62,8 +62,8 @@ static bool32 IsUnnerveAbilityOnOpposingSide(u8 battlerId); static u8 GetFlingPowerFromItemId(u16 itemId); static void SetRandomMultiHitCounter(); static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item); -static u16 GetInverseTypeMultiplier(u16 multiplier); -static u16 GetSupremeOverlordModifier(u8 battlerId); +static uq4_12_t GetInverseTypeMultiplier(uq4_12_t multiplier); +static uq4_12_t GetSupremeOverlordModifier(u8 battlerId); static bool8 CanBeInfinitelyConfused(u8 battlerId); extern const u8 *const gBattleScriptsForMoveEffects[]; @@ -1017,7 +1017,7 @@ static const u8 sHoldEffectToType[][2] = }; // percent in UQ_4_12 format -static const u16 sPercentToModifier[] = +static const uq4_12_t sPercentToModifier[] = { UQ_4_12(0.00), // 0 UQ_4_12(0.01), // 1 @@ -1124,7 +1124,7 @@ static const u16 sPercentToModifier[] = #define X UQ_4_12 -static const u16 sTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPES] = +static const uq4_12_t sTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPES] = { // normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark fairy {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(0.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // normal @@ -4108,11 +4108,11 @@ bool8 ChangeTypeBasedOnTerrain(u8 battlerId) // Supreme Overlord adds a damage boost for each fainted ally. // The first ally adds a x1.2 boost, and subsequent allies add an extra x0.1 boost each. -static u16 GetSupremeOverlordModifier(u8 battlerId) +static uq4_12_t GetSupremeOverlordModifier(u8 battlerId) { u32 i; struct Pokemon *party = GetBattlerParty(battlerId); - u16 modifier = UQ_4_12(1.0); + uq4_12_t modifier = UQ_4_12(1.0); bool8 appliedFirstBoost = FALSE; for (i = 0; i < PARTY_SIZE; i++) @@ -8297,16 +8297,6 @@ u32 GetMoveTargetCount(u16 move, u8 battlerAtk, u8 battlerDef) } } -void MulModifier(u16 *modifier, u16 val) -{ - *modifier = UQ_4_12_TO_INT((*modifier * val) + UQ_4_12_ROUND); -} - -static u32 ApplyModifier(u16 modifier, u32 val) -{ - return UQ_4_12_TO_INT((modifier * val) + UQ_4_12_ROUND); -} - static const u8 sFlailHpScaleToPowerTable[] = { 1, 200, @@ -8597,7 +8587,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) break; case EFFECT_EXPLOSION: if (move == MOVE_MISTY_EXPLOSION && gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN && IsBattlerGrounded(battlerAtk)) - MulModifier(&basePower, UQ_4_12(1.5)); + basePower = uq4_12_multiply(basePower, UQ_4_12(1.5)); break; case EFFECT_DYNAMAX_DOUBLE_DMG: #ifdef B_DYNAMAX @@ -8623,7 +8613,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) } case EFFECT_GRAV_APPLE: if (gFieldStatuses & STATUS_FIELD_GRAVITY) - MulModifier(&basePower, UQ_4_12(1.5)); + basePower = uq4_12_multiply(basePower, UQ_4_12(1.5)); break; case EFFECT_TERRAIN_PULSE: if ((gFieldStatuses & STATUS_FIELD_TERRAIN_ANY) @@ -8632,7 +8622,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) break; case EFFECT_EXPANDING_FORCE: if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_PSYCHIC_TERRAIN)) - MulModifier(&basePower, UQ_4_12(1.5)); + basePower = uq4_12_multiply(basePower, UQ_4_12(1.5)); break; case EFFECT_RISING_VOLTAGE: if (IsBattlerTerrainAffected(battlerDef, STATUS_FIELD_ELECTRIC_TERRAIN)) @@ -8645,7 +8635,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) break; case EFFECT_PSYBLADE: if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_ELECTRIC_TERRAIN)) - MulModifier(&basePower, UQ_4_12(1.5)); + basePower = uq4_12_multiply(basePower, UQ_4_12(1.5)); break; } @@ -8668,8 +8658,8 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe u32 i; u32 holdEffectAtk, holdEffectParamAtk; u16 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef); - u16 holdEffectModifier; - u16 modifier = UQ_4_12(1.0); + uq4_12_t holdEffectModifier; + uq4_12_t modifier = UQ_4_12(1.0); u32 atkSide = GET_BATTLER_SIDE(battlerAtk); u16 atkAbility = GetBattlerAbility(battlerAtk); u16 defAbility = GetBattlerAbility(battlerDef); @@ -8679,135 +8669,135 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe { case ABILITY_TECHNICIAN: if (basePower <= 60) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_FLARE_BOOST: if (gBattleMons[battlerAtk].status1 & STATUS1_BURN && IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_TOXIC_BOOST: if (gBattleMons[battlerAtk].status1 & STATUS1_PSN_ANY && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_RECKLESS: if (IS_MOVE_RECOIL(move)) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_IRON_FIST: if (gBattleMoves[move].punchingMove) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_SHEER_FORCE: if (gBattleMoves[move].sheerForceBoost) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_SAND_FORCE: if ((moveType == TYPE_STEEL || moveType == TYPE_ROCK || moveType == TYPE_GROUND) && gBattleWeather & B_WEATHER_SANDSTORM && WEATHER_HAS_EFFECT) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_RIVALRY: if (AreBattlersOfOppositeGender(battlerAtk, battlerDef)) - MulModifier(&modifier, UQ_4_12(1.25)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.25)); else - MulModifier(&modifier, UQ_4_12(0.75)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.75)); break; case ABILITY_ANALYTIC: if (GetBattlerTurnOrderNum(battlerAtk) == gBattlersCount - 1 && move != MOVE_FUTURE_SIGHT && move != MOVE_DOOM_DESIRE) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_TOUGH_CLAWS: if (IsMoveMakingContact(move, battlerAtk)) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_STRONG_JAW: if (gBattleMoves[move].bitingMove) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_MEGA_LAUNCHER: if (gBattleMoves[move].pulseMove) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_WATER_BUBBLE: if (moveType == TYPE_WATER) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case ABILITY_STEELWORKER: if (moveType == TYPE_STEEL) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_PIXILATE: if (moveType == TYPE_FAIRY && gBattleStruct->ateBoost[battlerAtk]) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_GALVANIZE: if (moveType == TYPE_ELECTRIC && gBattleStruct->ateBoost[battlerAtk]) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_REFRIGERATE: if (moveType == TYPE_ICE && gBattleStruct->ateBoost[battlerAtk]) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_AERILATE: if (moveType == TYPE_FLYING && gBattleStruct->ateBoost[battlerAtk]) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_NORMALIZE: if (moveType == TYPE_NORMAL && gBattleStruct->ateBoost[battlerAtk]) - MulModifier(&modifier, UQ_4_12(1.2)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.2)); break; case ABILITY_PUNK_ROCK: if (gBattleMoves[move].soundMove) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_STEELY_SPIRIT: if (moveType == TYPE_STEEL) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_TRANSISTOR: if (moveType == TYPE_ELECTRIC) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_DRAGONS_MAW: if (moveType == TYPE_DRAGON) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_GORILLA_TACTICS: if (IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_ROCKY_PAYLOAD: if (moveType == TYPE_ROCK) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_PROTOSYNTHESIS: { u8 atkHighestStat = GetHighestStatId(battlerAtk); if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); } break; case ABILITY_QUARK_DRIVE: { u8 atkHighestStat = GetHighestStatId(battlerAtk); if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); } break; case ABILITY_ORICHALCUM_PULSE: if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_HADRON_ENGINE: if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_SHARPNESS: if (gBattleMoves[move].slicingMove) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_SUPREME_OVERLORD: - MulModifier(&modifier, gBattleStruct->supremeOverlordModifier[battlerAtk]); + modifier = uq4_12_multiply(modifier, gBattleStruct->supremeOverlordModifier[battlerAtk]); break; } @@ -8816,22 +8806,22 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe || (IsAbilityOnField(ABILITY_FAIRY_AURA) && moveType == TYPE_FAIRY)) { if (IsAbilityOnField(ABILITY_AURA_BREAK)) - MulModifier(&modifier, UQ_4_12(0.75)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.75)); else - MulModifier(&modifier, UQ_4_12(1.33)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.33)); } if (IsAbilityOnField(ABILITY_VESSEL_OF_RUIN) && atkAbility != ABILITY_VESSEL_OF_RUIN && IS_MOVE_SPECIAL(gCurrentMove)) - MulModifier(&modifier, UQ_4_12(0.25)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.25)); if (IsAbilityOnField(ABILITY_SWORD_OF_RUIN) && defAbility != ABILITY_SWORD_OF_RUIN && IS_MOVE_PHYSICAL(gCurrentMove)) - MulModifier(&modifier, UQ_4_12(0.25)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.25)); if (IsAbilityOnField(ABILITY_TABLETS_OF_RUIN) && atkAbility != ABILITY_TABLETS_OF_RUIN && IS_MOVE_PHYSICAL(gCurrentMove)) - MulModifier(&modifier, UQ_4_12(0.25)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.25)); if (IsAbilityOnField(ABILITY_BEADS_OF_RUIN) && defAbility != ABILITY_BEADS_OF_RUIN && IS_MOVE_SPECIAL(gCurrentMove)) - MulModifier(&modifier, UQ_4_12(0.25)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.25)); // attacker partner's abilities if (IsBattlerAlive(BATTLE_PARTNER(battlerAtk))) @@ -8840,14 +8830,14 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe { case ABILITY_BATTERY: if (IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_POWER_SPOT: - MulModifier(&modifier, UQ_4_12(1.3)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_STEELY_SPIRIT: if (moveType == TYPE_STEEL) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; } } @@ -8859,37 +8849,37 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe case ABILITY_WATER_BUBBLE: if (moveType == TYPE_FIRE) { - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); if (updateFlags) RecordAbilityBattle(battlerDef, defAbility); } break; case ABILITY_DRY_SKIN: if (moveType == TYPE_FIRE) - MulModifier(&modifier, UQ_4_12(1.25)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.25)); break; case ABILITY_FLUFFY: if (IsMoveMakingContact(move, battlerAtk)) { - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); if (updateFlags) RecordAbilityBattle(battlerDef, defAbility); } if (moveType == TYPE_FIRE) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case ABILITY_PROTOSYNTHESIS: { u8 defHighestStat = GetHighestStatId(battlerDef); if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) - MulModifier(&modifier, UQ_4_12(0.7)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.7)); } break; case ABILITY_QUARK_DRIVE: { u8 defHighestStat = GetHighestStatId(battlerDef); if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) - MulModifier(&modifier, UQ_4_12(0.7)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.7)); } break; } @@ -8906,23 +8896,23 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe { case HOLD_EFFECT_MUSCLE_BAND: if (IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_WISE_GLASSES: if (IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_LUSTROUS_ORB: if (GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species) == SPECIES_PALKIA && (moveType == TYPE_WATER || moveType == TYPE_DRAGON)) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_ADAMANT_ORB: if (GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species) == SPECIES_DIALGA && (moveType == TYPE_STEEL || moveType == TYPE_DRAGON)) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_GRISEOUS_ORB: if (GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species) == SPECIES_GIRATINA && (moveType == TYPE_GHOST || moveType == TYPE_DRAGON)) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_SOUL_DEW: #if B_SOUL_DEW_BOOST >= GEN_7 @@ -8930,11 +8920,11 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe #else if ((gBattleMons[battlerAtk].species == SPECIES_LATIAS || gBattleMons[battlerAtk].species == SPECIES_LATIOS) && !(gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && IS_MOVE_SPECIAL(move)) #endif - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_GEMS: if (gSpecialStatuses[battlerAtk].gemBoost && gBattleMons[battlerAtk].item) - MulModifier(&modifier, UQ_4_12(1.0) + sPercentToModifier[gSpecialStatuses[battlerAtk].gemParam]); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.0) + sPercentToModifier[gSpecialStatuses[battlerAtk].gemParam]); break; case HOLD_EFFECT_BUG_POWER: case HOLD_EFFECT_STEEL_POWER: @@ -8959,18 +8949,18 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (holdEffectAtk == sHoldEffectToType[i][0]) { if (moveType == sHoldEffectToType[i][1]) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; } } break; case HOLD_EFFECT_PLATE: if (moveType == ItemId_GetSecondaryId(gBattleMons[battlerAtk].item)) - MulModifier(&modifier, holdEffectModifier); + modifier = uq4_12_multiply(modifier, holdEffectModifier); break; case HOLD_EFFECT_PUNCHING_GLOVE: if (gBattleMoves[move].punchingMove) - MulModifier(&modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); break; } @@ -8979,40 +8969,40 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe { case EFFECT_FACADE: if (gBattleMons[battlerAtk].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_PARALYSIS | STATUS1_FROSTBITE)) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case EFFECT_BRINE: if (gBattleMons[battlerDef].hp <= (gBattleMons[battlerDef].maxHP / 2)) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case EFFECT_BARB_BARRAGE: case EFFECT_VENOSHOCK: if (gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case EFFECT_RETALIATE: if (gSideTimers[atkSide].retaliateTimer == 1) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case EFFECT_SOLAR_BEAM: if (IsBattlerWeatherAffected(battlerAtk, (B_WEATHER_HAIL | B_WEATHER_SANDSTORM | B_WEATHER_RAIN | B_WEATHER_SNOW))) - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); break; case EFFECT_STOMPING_TANTRUM: if (gBattleStruct->lastMoveFailed & gBitTable[battlerAtk]) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case EFFECT_BULLDOZE: case EFFECT_MAGNITUDE: case EFFECT_EARTHQUAKE: if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && !(gStatuses3[battlerDef] & STATUS3_SEMI_INVULNERABLE)) - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); break; case EFFECT_KNOCK_OFF: #if B_KNOCK_OFF_DMG >= GEN_6 if (gBattleMons[battlerDef].item != ITEM_NONE && CanBattlerGetOrLoseItem(battlerDef, gBattleMons[battlerDef].item)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); #endif break; } @@ -9025,19 +9015,19 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe // various effects if (gProtectStructs[battlerAtk].helpingHand) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); if (gStatuses3[battlerAtk] & STATUS3_CHARGED_UP && moveType == TYPE_ELECTRIC) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); if (gStatuses3[battlerAtk] & STATUS3_ME_FIRST) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && moveType == TYPE_GRASS && IsBattlerGrounded(battlerAtk) && !(gStatuses3[battlerAtk] & STATUS3_SEMI_INVULNERABLE)) - MulModifier(&modifier, TERRAIN_TYPE_BOOST); + modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN && moveType == TYPE_DRAGON && IsBattlerGrounded(battlerDef) && !(gStatuses3[battlerDef] & STATUS3_SEMI_INVULNERABLE)) - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && moveType == TYPE_ELECTRIC && IsBattlerGrounded(battlerAtk) && !(gStatuses3[battlerAtk] & STATUS3_SEMI_INVULNERABLE)) - MulModifier(&modifier, TERRAIN_TYPE_BOOST); + modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN && moveType == TYPE_PSYCHIC && IsBattlerGrounded(battlerAtk) && !(gStatuses3[battlerAtk] & STATUS3_SEMI_INVULNERABLE)) - MulModifier(&modifier, TERRAIN_TYPE_BOOST); + modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); #if B_SPORT_TURNS >= GEN_6 if ((moveType == TYPE_ELECTRIC && gFieldStatuses & STATUS_FIELD_MUDSPORT) || (moveType == TYPE_FIRE && gFieldStatuses & STATUS_FIELD_WATERSPORT)) @@ -9046,9 +9036,9 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe || (moveType == TYPE_FIRE && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_WATER_SPORT, 0))) #endif #if B_SPORT_DMG_REDUCTION >= GEN_5 - MulModifier(&modifier, UQ_4_12(0.23)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.23)); #else - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); #endif return ApplyModifier(modifier, basePower); } @@ -9058,7 +9048,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { u8 atkStage; u32 atkStat; - u16 modifier; + uq4_12_t modifier; u16 atkBaseSpeciesId; atkBaseSpeciesId = GET_BASE_SPECIES_ID(gBattleMons[battlerAtk].species); @@ -9114,39 +9104,39 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b case ABILITY_HUGE_POWER: case ABILITY_PURE_POWER: if (IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case ABILITY_SLOW_START: if (gDisableStructs[battlerAtk].slowStartTimer != 0) - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); break; case ABILITY_SOLAR_POWER: if (IS_MOVE_SPECIAL(move) && IsBattlerWeatherAffected(battlerAtk, B_WEATHER_SUN)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_DEFEATIST: if (gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 2)) - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); break; case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_FLASH_FIRE) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_SWARM: if (moveType == TYPE_BUG && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_TORRENT: if (moveType == TYPE_WATER && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_BLAZE: if (moveType == TYPE_FIRE && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_OVERGROW: if (moveType == TYPE_GRASS && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; #if B_PLUS_MINUS_INTERACTION >= GEN_5 case ABILITY_PLUS: @@ -9155,34 +9145,34 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { u32 partnerAbility = GetBattlerAbility(BATTLE_PARTNER(battlerAtk)); if (partnerAbility == ABILITY_PLUS || partnerAbility == ABILITY_MINUS) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); } break; #else case ABILITY_PLUS: if (IS_MOVE_SPECIAL(move) && IsBattlerAlive(BATTLE_PARTNER(battlerAtk)) && GetBattlerAbility(BATTLE_PARTNER(battlerAtk)) == ABILITY_MINUS) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_MINUS: if (IS_MOVE_SPECIAL(move) && IsBattlerAlive(BATTLE_PARTNER(battlerAtk)) && GetBattlerAbility(BATTLE_PARTNER(battlerAtk)) == ABILITY_PLUS) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; #endif case ABILITY_FLOWER_GIFT: if (gBattleMons[battlerAtk].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(battlerAtk, B_WEATHER_SUN) && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_HUSTLE: if (IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_STAKEOUT: if (gDisableStructs[battlerDef].isFirstTurn == 2) // just switched in - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case ABILITY_GUTS: if (gBattleMons[battlerAtk].status1 & STATUS1_ANY && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; } @@ -9192,14 +9182,14 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b case ABILITY_THICK_FAT: if (moveType == TYPE_FIRE || moveType == TYPE_ICE) { - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_THICK_FAT); } break; case ABILITY_ICE_SCALES: if (IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); break; } @@ -9210,7 +9200,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { case ABILITY_FLOWER_GIFT: if (gBattleMons[BATTLE_PARTNER(battlerAtk)].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(BATTLE_PARTNER(battlerAtk), B_WEATHER_SUN) && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; } } @@ -9220,32 +9210,32 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { case HOLD_EFFECT_THICK_CLUB: if ((atkBaseSpeciesId == SPECIES_CUBONE || atkBaseSpeciesId == SPECIES_MAROWAK) && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_DEEP_SEA_TOOTH: if (gBattleMons[battlerAtk].species == SPECIES_CLAMPERL && IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_LIGHT_BALL: if (atkBaseSpeciesId == SPECIES_PIKACHU) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_CHOICE_BAND: if (IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case HOLD_EFFECT_CHOICE_SPECS: if (IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; } // The offensive stats of a Player's Pokémon are boosted by x1.1 (+10%) if they have the 1st badge and 7th badges. // Having the 1st badge boosts physical attack while having the 7th badge boosts special attack. if (ShouldGetStatBadgeBoost(FLAG_BADGE01_GET, battlerAtk) && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, battlerAtk) && IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); return ApplyModifier(modifier, atkStat); } @@ -9267,7 +9257,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, bool32 usesDefStat; u8 defStage; u32 defStat, def, spDef; - u16 modifier; + uq4_12_t modifier; if (gFieldStatuses & STATUS_FIELD_WONDER_ROOM) // the defense stats are swapped { @@ -9321,7 +9311,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, case ABILITY_MARVEL_SCALE: if (gBattleMons[battlerDef].status1 & STATUS1_ANY && usesDefStat) { - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_MARVEL_SCALE); } @@ -9329,7 +9319,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, case ABILITY_FUR_COAT: if (usesDefStat) { - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_FUR_COAT); } @@ -9337,22 +9327,22 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, case ABILITY_GRASS_PELT: if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && usesDefStat) { - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_GRASS_PELT); } break; case ABILITY_FLOWER_GIFT: if (gBattleMons[battlerDef].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(battlerDef, B_WEATHER_SUN) && !usesDefStat) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case ABILITY_PUNK_ROCK: if (gBattleMoves[move].soundMove) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case ABILITY_PURIFYING_SALT: if (gBattleMoves[move].type == TYPE_GHOST) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; } @@ -9363,7 +9353,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, { case ABILITY_FLOWER_GIFT: if (gBattleMons[BATTLE_PARTNER(battlerDef)].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(BATTLE_PARTNER(battlerDef), B_WEATHER_SUN) && !usesDefStat) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; } } @@ -9373,66 +9363,66 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, { case HOLD_EFFECT_DEEP_SEA_SCALE: if (gBattleMons[battlerDef].species == SPECIES_CLAMPERL && !usesDefStat) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_METAL_POWDER: if (gBattleMons[battlerDef].species == SPECIES_DITTO && usesDefStat && !(gBattleMons[battlerDef].status2 & STATUS2_TRANSFORMED)) - MulModifier(&modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_EVIOLITE: if (CanEvolve(gBattleMons[battlerDef].species)) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; case HOLD_EFFECT_ASSAULT_VEST: if (!usesDefStat) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; #if B_SOUL_DEW_BOOST <= GEN_6 case HOLD_EFFECT_SOUL_DEW: if ((gBattleMons[battlerDef].species == SPECIES_LATIAS || gBattleMons[battlerDef].species == SPECIES_LATIOS) && !(gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && !usesDefStat) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); break; #endif } // sandstorm sp.def boost for rock types if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ROCK) && gBattleWeather & B_WEATHER_SANDSTORM && WEATHER_HAS_EFFECT && !usesDefStat) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); // snow def boost for ice types if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ICE) && gBattleWeather & B_WEATHER_SNOW && WEATHER_HAS_EFFECT && usesDefStat) - MulModifier(&modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); // The defensive stats of a Player's Pokémon are boosted by x1.1 (+10%) if they have the 5th badge and 7th badges. // Having the 5th badge boosts physical defense while having the 7th badge boosts special defense. if (ShouldGetStatBadgeBoost(FLAG_BADGE05_GET, battlerDef) && IS_MOVE_PHYSICAL(move)) - MulModifier(&modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, battlerDef) && IS_MOVE_SPECIAL(move)) - MulModifier(&modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); return ApplyModifier(modifier, defStat); } -static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, u16 typeEffectivenessModifier, bool32 isCrit, bool32 updateFlags) +static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, uq4_12_t typeEffectivenessModifier, bool32 isCrit, bool32 updateFlags) { u32 percentBoost; u32 abilityAtk = GetBattlerAbility(battlerAtk); u32 abilityDef = GetBattlerAbility(battlerDef); u32 defSide = GET_BATTLER_SIDE(battlerDef); - u16 finalModifier = UQ_4_12(1.0); + uq4_12_t finalModifier = UQ_4_12(1.0); u16 itemDef = gBattleMons[battlerDef].item; // check multiple targets in double battle if (GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) #if B_MULTIPLE_TARGETS_DMG >= GEN_4 - MulModifier(&finalModifier, UQ_4_12(0.75)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.75)); #else - MulModifier(&finalModifier, UQ_4_12(0.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); #endif // take type effectiveness - MulModifier(&finalModifier, typeEffectivenessModifier); + finalModifier = uq4_12_multiply(finalModifier, typeEffectivenessModifier); // check crit if (isCrit) @@ -9478,9 +9468,9 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move if (IS_BATTLER_OF_TYPE(battlerAtk, moveType) && move != MOVE_STRUGGLE && move != MOVE_NONE) { if (abilityAtk == ABILITY_ADAPTABILITY) - MulModifier(&finalModifier, UQ_4_12(2.0)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); else - MulModifier(&finalModifier, UQ_4_12(1.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.5)); } // reflect, light screen, aurora veil @@ -9492,24 +9482,24 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move && !gProtectStructs[battlerAtk].confusionSelfDmg) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - MulModifier(&finalModifier, UQ_4_12(0.66)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.66)); else - MulModifier(&finalModifier, UQ_4_12(0.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); } // Parental Bond Second Strike if (gSpecialStatuses[battlerAtk].parentalBondState == PARENTAL_BOND_2ND_HIT) { if (B_PARENTAL_BOND_DMG < GEN_7) - MulModifier(&finalModifier, UQ_4_12(0.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); else - MulModifier(&finalModifier, UQ_4_12(0.25)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.25)); } // Z-Moves and Max Moves bypass Protect and do 25% of their original damage if (gBattleStruct->zmove.active && IS_BATTLER_PROTECTED(battlerDef)) { - MulModifier(&finalModifier, UQ_4_12(0.25)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.25)); } // attacker's abilities @@ -9517,15 +9507,15 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move { case ABILITY_TINTED_LENS: if (typeEffectivenessModifier <= UQ_4_12(0.5)) - MulModifier(&finalModifier, UQ_4_12(2.0)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); break; case ABILITY_SNIPER: if (isCrit) - MulModifier(&finalModifier, UQ_4_12(1.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.5)); break; case ABILITY_NEUROFORCE: if (typeEffectivenessModifier >= UQ_4_12(2.0)) - MulModifier(&finalModifier, UQ_4_12(1.25)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.25)); break; } @@ -9535,13 +9525,13 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move case ABILITY_MULTISCALE: case ABILITY_SHADOW_SHIELD: if (BATTLER_MAX_HP(battlerDef)) - MulModifier(&finalModifier, UQ_4_12(0.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); break; case ABILITY_FILTER: case ABILITY_SOLID_ROCK: case ABILITY_PRISM_ARMOR: if (typeEffectivenessModifier >= UQ_4_12(2.0)) - MulModifier(&finalModifier, UQ_4_12(0.75)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.75)); break; } @@ -9551,7 +9541,7 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move switch (GetBattlerAbility(BATTLE_PARTNER(battlerDef))) { case ABILITY_FRIEND_GUARD: - MulModifier(&finalModifier, UQ_4_12(0.75)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.75)); break; } } @@ -9561,14 +9551,14 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move { case HOLD_EFFECT_METRONOME: percentBoost = min((gBattleStruct->sameMoveTurns[battlerAtk] * GetBattlerHoldEffectParam(battlerAtk)), 100); - MulModifier(&finalModifier, UQ_4_12(1.0) + sPercentToModifier[percentBoost]); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.0) + sPercentToModifier[percentBoost]); break; case HOLD_EFFECT_EXPERT_BELT: if (typeEffectivenessModifier >= UQ_4_12(2.0)) - MulModifier(&finalModifier, UQ_4_12(1.2)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.2)); break; case HOLD_EFFECT_LIFE_ORB: - MulModifier(&finalModifier, UQ_4_12(1.3)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.3)); break; } @@ -9582,9 +9572,9 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move && !UnnerveOn(battlerDef, itemDef)) { if (abilityDef == ABILITY_RIPEN) - MulModifier(&finalModifier, UQ_4_12(0.25)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.25)); else - MulModifier(&finalModifier, UQ_4_12(0.5)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); if (updateFlags) gSpecialStatuses[battlerDef].berryReduced = TRUE; } @@ -9592,13 +9582,13 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move } if (gBattleMoves[move].minimizeDoubleDamage && gStatuses3[battlerDef] & STATUS3_MINIMIZED) - MulModifier(&finalModifier, UQ_4_12(2.0)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); if (gBattleMoves[move].damagesUnderground && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) - MulModifier(&finalModifier, UQ_4_12(2.0)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); if (gBattleMoves[move].damagesUnderwater && gStatuses3[battlerDef] & STATUS3_UNDERWATER) - MulModifier(&finalModifier, UQ_4_12(2.0)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); if (gBattleMoves[move].damagesAirborneDoubleDamage && gStatuses3[battlerDef] & STATUS3_ON_AIR) - MulModifier(&finalModifier, UQ_4_12(2.0)); + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); dmg = ApplyModifier(finalModifier, dmg); if (dmg == 0) @@ -9608,7 +9598,7 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move } static s32 DoMoveDamageCalc(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, u16 typeEffectivenessModifier) + bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier) { s32 dmg; @@ -9651,15 +9641,15 @@ s32 CalculateMoveDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 } // for AI - get move damage and effectiveness with one function call -s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, u16 *typeEffectivenessModifier) +s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, uq4_12_t *typeEffectivenessModifier) { *typeEffectivenessModifier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, 0, FALSE, FALSE, FALSE, *typeEffectivenessModifier); } -static void MulByTypeEffectiveness(u16 *modifier, u16 move, u8 moveType, u8 battlerDef, u8 defType, u8 battlerAtk, bool32 recordAbilities) +static void MulByTypeEffectiveness(uq4_12_t *modifier, u16 move, u8 moveType, u8 battlerDef, u8 defType, u8 battlerAtk, bool32 recordAbilities) { - u16 mod = GetTypeModifier(moveType, defType); + uq4_12_t mod = GetTypeModifier(moveType, defType); if (mod == UQ_4_12(0.0) && GetBattlerHoldEffect(battlerDef, TRUE) == HOLD_EFFECT_RING_TARGET) { @@ -9694,13 +9684,13 @@ static void MulByTypeEffectiveness(u16 *modifier, u16 move, u8 moveType, u8 batt mod = UQ_4_12(1.0); } - MulModifier(modifier, mod); + *modifier = uq4_12_multiply(*modifier, mod); } -static void TryNoticeIllusionInTypeEffectiveness(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, u16 resultingModifier, u32 illusionSpecies) +static void TryNoticeIllusionInTypeEffectiveness(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, uq4_12_t resultingModifier, u32 illusionSpecies) { // Check if the type effectiveness would've been different if the pokemon really had the types as the disguise. - u16 presumedModifier = UQ_4_12(1.0); + uq4_12_t presumedModifier = UQ_4_12(1.0); MulByTypeEffectiveness(&presumedModifier, move, moveType, battlerDef, gSpeciesInfo[illusionSpecies].types[0], battlerAtk, FALSE); if (gSpeciesInfo[illusionSpecies].types[1] != gSpeciesInfo[illusionSpecies].types[0]) MulByTypeEffectiveness(&presumedModifier, move, moveType, battlerDef, gSpeciesInfo[illusionSpecies].types[1], battlerAtk, FALSE); @@ -9709,7 +9699,7 @@ static void TryNoticeIllusionInTypeEffectiveness(u32 move, u32 moveType, u32 bat RecordAbilityBattle(battlerDef, ABILITY_ILLUSION); } -static void UpdateMoveResultFlags(u16 modifier) +static void UpdateMoveResultFlags(uq4_12_t modifier) { if (modifier == UQ_4_12(0.0)) { @@ -9732,7 +9722,7 @@ static void UpdateMoveResultFlags(u16 modifier) } } -static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities, u16 modifier) +static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities, uq4_12_t modifier) { u32 illusionSpecies; u16 defAbility = GetBattlerAbility(battlerDef); @@ -9805,9 +9795,9 @@ static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 bat return modifier; } -u16 CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities) +uq4_12_t CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities) { - u16 modifier = UQ_4_12(1.0); + uq4_12_t modifier = UQ_4_12(1.0); if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) { @@ -9821,9 +9811,9 @@ u16 CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 bat return modifier; } -u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef) +uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef) { - u16 modifier = UQ_4_12(1.0); + uq4_12_t modifier = UQ_4_12(1.0); u8 moveType = gBattleMoves[move].type; if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) @@ -9842,7 +9832,7 @@ u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilit return modifier; } -static u16 GetInverseTypeMultiplier(u16 multiplier) +static uq4_12_t GetInverseTypeMultiplier(uq4_12_t multiplier) { switch (multiplier) { @@ -9857,7 +9847,7 @@ static u16 GetInverseTypeMultiplier(u16 multiplier) } } -u16 GetTypeModifier(u8 atkType, u8 defType) +uq4_12_t GetTypeModifier(u8 atkType, u8 defType) { #if B_FLAG_INVERSE_BATTLE != 0 if (FlagGet(B_FLAG_INVERSE_BATTLE)) @@ -9869,11 +9859,11 @@ u16 GetTypeModifier(u8 atkType, u8 defType) s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp) { s32 dmg = 0; - u16 modifier = UQ_4_12(1.0); + uq4_12_t modifier = UQ_4_12(1.0); - MulModifier(&modifier, GetTypeModifier(hazardType, type1)); + modifier = uq4_12_multiply(modifier, GetTypeModifier(hazardType, type1)); if (type2 != type1) - MulModifier(&modifier, GetTypeModifier(hazardType, type2)); + modifier = uq4_12_multiply(modifier, GetTypeModifier(hazardType, type2)); switch (modifier) { diff --git a/test/fpmath.c b/test/fpmath.c new file mode 100644 index 0000000000..3f583d063c --- /dev/null +++ b/test/fpmath.c @@ -0,0 +1,18 @@ +#include "global.h" +#include "test.h" + +TEST("uq4_12_add adds 4.12 numbers") { + EXPECT_EQ(uq4_12_add(UQ_4_12(3.5), UQ_4_12(2.5)), UQ_4_12(6.0)); +} + +TEST("uq4_12_subtract subtracts 4.12 numbers") { + EXPECT_EQ(uq4_12_subtract(UQ_4_12(3.5), UQ_4_12(2.0)), UQ_4_12(1.5)); +} + +TEST("uq4_12_multiply multiplies 4.12 numbers") { + EXPECT_EQ(uq4_12_multiply(UQ_4_12(3.5), UQ_4_12(2.0)), UQ_4_12(7.0)); +} + +TEST("uq4_12_divide divides 4.12 numbers") { + EXPECT_EQ(uq4_12_divide(UQ_4_12(5.0), UQ_4_12(2.0)), UQ_4_12(2.5)); +} From adfc0af372f6b4f0d74ac32c9905d757ab46bd71 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 6 Jul 2023 22:17:21 -0400 Subject: [PATCH 058/256] Mon graphics are now loaded depending on their availability - If it has a female sprite/palette, it's loaded. - If it the species is enabled and it has a sprite/palette, it's loaded. - Otherwise, load the SPECIES_NONE graphics. --- .../question_mark/circled/anim_front.png | Bin 435 -> 410 bytes .../pokemon/question_mark/circled/back.png | Bin 423 -> 399 bytes include/constants/pokemon.h | 5 +- include/data.h | 2 +- include/pokemon.h | 3 +- include/pokemon_icon.h | 3 +- src/data/pokemon/species_info.h | 91 +-------- .../pokemon_graphics/back_pic_coordinates.h | 2 +- src/data/pokemon_graphics/back_pic_table.h | 4 +- .../pokemon_graphics/enemy_mon_elevation.h | 2 +- src/data/pokemon_graphics/footprint_table.h | 2 +- src/data/pokemon_graphics/front_pic_anims.h | 2 +- .../pokemon_graphics/front_pic_coordinates.h | 2 +- src/data/pokemon_graphics/front_pic_table.h | 9 +- src/data/pokemon_graphics/palette_table.h | 80 +------- .../pokemon_graphics/shiny_palette_table.h | 80 +------- src/decompress.c | 45 ++--- src/field_effect.c | 2 +- src/pokemon.c | 52 ++++-- src/pokemon_debug.c | 34 ++-- src/pokemon_icon.c | 173 ++---------------- src/pokemon_storage_system.c | 4 +- 22 files changed, 125 insertions(+), 472 deletions(-) diff --git a/graphics/pokemon/question_mark/circled/anim_front.png b/graphics/pokemon/question_mark/circled/anim_front.png index a998f7849e1bf3e0b7a867eb8d15cc3f025b7ea7..adc8ca4a04236d7b7a4c5f3b1e6360625ea15df3 100644 GIT binary patch delta 345 zcmdnYJd1gP3Wq^}Pl)TBvu7t7%1`v;tB-Sc6=7gt5GV=q3ugF_3JwHxJ2Nmaa(cQr zhGaCpo#rjnqQK*lI=|xom*Nu+jY{KOJ=wH-zMmk)-kQ?lzL^bdH5_nDHd z_z&L7ntVN^CRc~SUU=OvU6$9YzUzOplvPuVu-1MMzQ*9Z!+f5SdCvK2Pfspr`!J6= zrEc04%UkOgIIgTZ{inHc_MU#W3JDh85(ABl4|W|^C9C$?%y!#9;T?gTe~DWM4fR$ZI} delta 373 zcmV-*0gC>b1G58=BnvZ8OjJb?5fPlt&5j@23`FMwX}SMt$3lpSSQ3oOej6#In*ibS`w>EB2ucO=O5W7XBPU% zHWq+i30I9s0KI?F&*3l$LECA;enkuO5#Y`M^D*>hQtk|D2+w0MBR@)Tj`}NTP^w%~00000NkvXXu0mjfxG0+l diff --git a/graphics/pokemon/question_mark/circled/back.png b/graphics/pokemon/question_mark/circled/back.png index 4769ad6807813d33f238ddc9b7394e873846ee85..1b944339669cc22e284965c391a8d6041a6e86bd 100644 GIT binary patch delta 334 zcmZ3^+|N8gh1DRyC&YE4q5MP#)`0^A>7R;BiTv|Lx!Lxsok61W&VUmZ?&1{i6JEf3CN;_dJ%RT%S(eyVE;y^Lb^q z-zrXjC#*N{eet$DH2utvlYSjL>g7dL8~z3zWhs}rQLndzlj&z=J=aP#0fydN+w&J1 zes#XEE#up)uC=|a3F(JI>{}Pae*Nca&wh~8@pfk8{za_z%y$?cJijp8b0_l^fqBIX z&h!iM1lF@MF8yWtS)9SRQlGI#f`w6np_TD`bH~Eq8=K5~%M@cpBRtA9%_kpH+I=!_ z*|n8(>gw&YId(85-L|Y>u*9N&%b$g_?5=$l_x_i4I)2^H*S7x;>~L0z_x${A{-pDJ emM;B&iCxrPetF1s)6>APVDNPHb6Mw<&;$U+mYnAR delta 361 zcmV-v0ha!c1E&L!BnvZ8OjJbx005lL&5jheIM2U0004WQchC zOA>@23`D&^TJC?^u@GVhED6Tl&>JbF9|6K=+m@D=MiQhf$SZqs7e>rJkLc`^2=zk_ zVVY3e@2Y>wnDLXH5PtvO$x8tHC5s7|@n4BFK_EXbA=NknpjkWm7Mjy>2-+6Ko`+&< zeF4~&FxBt`Q2Q7CoP+-#=OsWj^W|8{18Z#%~i zl<<)jKUBlVdi-LEUv2TrHGaLv9~ki`&IgaI51x5TOaG-G?x;$0o*_w700000NkvXX Hu0mjfK4X-a diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 72dd6e7bdb..af71780414 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -325,9 +325,8 @@ #define SPECIES_FLAG_ALOLAN_FORM (1 << 5) #define SPECIES_FLAG_GALARIAN_FORM (1 << 6) #define SPECIES_FLAG_HISUIAN_FORM (1 << 7) -#define SPECIES_FLAG_GENDER_DIFFERENCE (1 << 8) -#define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 9) -#define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 10) +#define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 8) +#define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 9) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/include/data.h b/include/data.h index 6e41ac703a..5bf555e281 100644 --- a/include/data.h +++ b/include/data.h @@ -153,7 +153,7 @@ extern const struct MonCoords gTrainerBackPicCoords[]; extern const struct CompressedSpriteSheet gTrainerBackPicTable[]; // functionally unused extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[]; -extern const u8 gEnemyMonElevation[NUM_SPECIES]; +extern const u8 gEnemyMonElevation[NUM_SPECIES + 1]; extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; diff --git a/include/pokemon.h b/include/pokemon.h index 022c155ae1..6ca07fbcf6 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -494,6 +494,7 @@ u8 GetDefaultMoveTarget(u8 battlerId); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); +bool32 IsPersonalityFemale(u16 species, u32 personality); u32 GetUnownSpeciesId(u32 personality); void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition); void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition); @@ -606,7 +607,7 @@ u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg); u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *boxMon, u16 method, u32 arg); bool32 DoesSpeciesHaveFormChangeMethod(u16 species, u16 method); u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove); -bool32 ShouldShowFemaleDifferences(u16 species, u32 personality); +bool32 SpeciesHasGenderDifferences(u16 species); bool32 TryFormChange(u32 monId, u32 side, u16 method); void TryToSetBattleFormChangeMoves(struct Pokemon *mon, u16 method); u32 GetMonFriendshipScore(struct Pokemon *pokemon); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 6e27689f91..08e905fef6 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -3,7 +3,8 @@ extern const u8 gMonIconPaletteIndices[]; extern const u8 gMonIconPaletteIndicesFemale[]; -extern const u8 *const gMonIconTable[]; +extern const u8 *const gMonIconTable[NUM_SPECIES + 1]; +extern const u8 *const gMonIconTableFemale[NUM_SPECIES + 1]; extern const struct SpritePalette gMonIconPaletteTable[]; const u8 *GetMonIconTiles(u16 species, u32 personality); diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index f2b9eb9cc4..37028623b9 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -17,6 +17,7 @@ #endif #define PIKACHU_SPECIES_INFO(gender, flip) \ + { \ .baseHP = 35, \ .baseAttack = 55, \ .baseSpeed = 90, \ @@ -34,10 +35,11 @@ .eggGroups = { EGG_GROUP_FIELD, EGG_GROUP_FAIRY}, \ .abilities = {ABILITY_STATIC, ABILITY_NONE, ABILITY_LIGHTNING_ROD},\ .bodyColor = BODY_COLOR_YELLOW, \ - .noFlip = flip + .noFlip = flip, \ + } -#define COSPLAY_PIKACHU_SPECIES_INFO(flip) { PIKACHU_SPECIES_INFO(MON_FEMALE, flip), } -#define CAP_PIKACHU_SPECIES_INFO(flip) { PIKACHU_SPECIES_INFO(MON_MALE, flip), } +#define COSPLAY_PIKACHU_SPECIES_INFO(flip) PIKACHU_SPECIES_INFO(MON_FEMALE, flip) +#define CAP_PIKACHU_SPECIES_INFO(flip) PIKACHU_SPECIES_INFO(MON_MALE, flip) #define PICHU_SPECIES_INFO(flip) \ { \ @@ -905,7 +907,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_CHLOROPHYLL}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CHARMANDER] = @@ -1112,7 +1113,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_COMPOUND_EYES, ABILITY_NONE, ABILITY_TINTED_LENS}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_WEEDLE] = @@ -1277,7 +1277,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_RATICATE] = @@ -1300,7 +1299,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_GUTS, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SPEAROW] = @@ -1397,11 +1395,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .noFlip = FALSE, }, - [SPECIES_PIKACHU] = - { - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, - PIKACHU_SPECIES_INFO(PERCENT_FEMALE(50), FLIP), - }, + [SPECIES_PIKACHU] = PIKACHU_SPECIES_INFO(PERCENT_FEMALE(50), FLIP), [SPECIES_RAICHU] = { @@ -1427,7 +1421,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_STATIC, ABILITY_NONE, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SANDSHREW] = @@ -1799,7 +1792,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GOLBAT] = @@ -1822,7 +1814,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_NONE, ABILITY_INFILTRATOR}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ODDISH] = @@ -1869,7 +1860,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_STENCH}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VILEPLUME] = @@ -1897,7 +1887,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_NONE, ABILITY_EFFECT_SPORE}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PARAS] = @@ -2339,7 +2328,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS, ABILITY_MAGIC_GUARD}, .bodyColor = BODY_COLOR_BROWN, .noFlip = TRUE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ALAKAZAM] = @@ -2367,7 +2355,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_INNER_FOCUS, ABILITY_MAGIC_GUARD}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MACHOP] = @@ -2812,7 +2799,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD, ABILITY_TANGLED_FEET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_DODRIO] = @@ -2840,7 +2826,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_EARLY_BIRD, ABILITY_TANGLED_FEET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SEEL] = @@ -3116,7 +3101,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INSOMNIA, ABILITY_FOREWARN, ABILITY_INNER_FOCUS}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KRABBY] = @@ -3439,7 +3423,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_RHYDON] = @@ -3462,7 +3445,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_ROCK_HEAD, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CHANSEY] = @@ -3600,7 +3582,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SEAKING] = @@ -3624,7 +3605,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_WATER_VEIL, ABILITY_LIGHTNING_ROD}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARYU] = @@ -3721,7 +3701,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_TECHNICIAN, ABILITY_STEADFAST}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_JYNX] = @@ -3857,7 +3836,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GYARADOS] = @@ -3880,7 +3858,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_MOXIE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LAPRAS] = @@ -3951,7 +3928,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_ADAPTABILITY, ABILITY_ANTICIPATION}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VAPOREON] = @@ -4432,7 +4408,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OVERGROW, ABILITY_NONE, ABILITY_LEAF_GUARD}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CYNDAQUIL] = @@ -4682,7 +4657,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_EARLY_BIRD, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LEDIAN] = @@ -4705,7 +4679,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_EARLY_BIRD, ABILITY_IRON_FIST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SPINARAK] = @@ -4974,7 +4947,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SYNCHRONIZE, ABILITY_EARLY_BIRD, ABILITY_MAGIC_BOUNCE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MAREEP] = @@ -5150,7 +5122,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_STURDY, ABILITY_ROCK_HEAD, ABILITY_RATTLED}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_POLITOED] = @@ -5174,7 +5145,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_DAMP, ABILITY_DRIZZLE}, .bodyColor = BODY_COLOR_GREEN, .noFlip = TRUE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_HOPPIP] = @@ -5267,7 +5237,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RUN_AWAY, ABILITY_PICKUP, ABILITY_SKILL_LINK}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SUNKERN] = @@ -5357,7 +5326,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_DAMP, ABILITY_WATER_ABSORB, ABILITY_UNAWARE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_QUAGSIRE] = @@ -5380,7 +5348,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_DAMP, ABILITY_WATER_ABSORB, ABILITY_UNAWARE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ESPEON] = @@ -5447,7 +5414,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INSOMNIA, ABILITY_SUPER_LUCK, ABILITY_PRANKSTER}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SLOWKING] = @@ -5517,7 +5483,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SHADOW_TAG, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GIRAFARIG] = @@ -5540,7 +5505,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_EARLY_BIRD, ABILITY_SAP_SIPPER}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PINECO] = @@ -5629,7 +5593,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_HYPER_CUTTER, ABILITY_SAND_VEIL, ABILITY_IMMUNITY}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STEELIX] = @@ -5653,7 +5616,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_ROCK_HEAD, ABILITY_STURDY, ABILITY_SHEER_FORCE}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SNUBBULL] = @@ -5755,7 +5717,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_TECHNICIAN, ABILITY_LIGHT_METAL}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHUCKLE] = @@ -5803,7 +5764,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_GUTS, ABILITY_MOXIE}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SNEASEL] = @@ -5827,7 +5787,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_PICKPOCKET}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_TEDDIURSA] = @@ -5872,7 +5831,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_GUTS, ABILITY_QUICK_FEET, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SLUGMA] = @@ -5967,7 +5925,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CORSOLA] = @@ -6043,7 +6000,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SUCTION_CUPS, ABILITY_SNIPER, ABILITY_MOODY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_DELIBIRD] = @@ -6159,7 +6115,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_EARLY_BIRD, ABILITY_FLASH_FIRE, ABILITY_UNNERVE}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KINGDRA] = @@ -6230,7 +6185,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_STURDY, ABILITY_NONE, ABILITY_SAND_VEIL}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PORYGON2] = @@ -6767,7 +6721,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_COMBUSKEN] = @@ -6791,7 +6744,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BLAZIKEN] = @@ -6814,7 +6766,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BLAZE, ABILITY_NONE, ABILITY_SPEED_BOOST}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MUDKIP] = @@ -7046,7 +6997,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_NONE, ABILITY_RIVALRY}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_CASCOON] = @@ -7092,7 +7042,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SHIELD_DUST, ABILITY_NONE, ABILITY_COMPOUND_EYES}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LOTAD] = @@ -7162,7 +7111,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWIFT_SWIM, ABILITY_RAIN_DISH, ABILITY_OWN_TEMPO}, .bodyColor = BODY_COLOR_GREEN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SEEDOT] = @@ -7209,7 +7157,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD, ABILITY_PICKPOCKET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHIFTRY] = @@ -7233,7 +7180,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_EARLY_BIRD, ABILITY_PICKPOCKET}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_TAILLOW] = @@ -8012,7 +7958,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_PURE_POWER, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MEDICHAM] = @@ -8035,7 +7980,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_PURE_POWER, ABILITY_NONE, ABILITY_TELEPATHY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ELECTRIKE] = @@ -10062,7 +10006,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_KEEN_EYE, ABILITY_NONE, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAVIA] = @@ -10085,7 +10028,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INTIMIDATE, ABILITY_NONE, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAPTOR] = @@ -10134,7 +10076,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SIMPLE, ABILITY_UNAWARE, ABILITY_MOODY}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BIBAREL] = @@ -10180,7 +10121,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_RUN_AWAY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_KRICKETUNE] = @@ -10204,7 +10144,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SWARM, ABILITY_NONE, ABILITY_TECHNICIAN}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHINX] = @@ -10227,7 +10166,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RIVALRY, ABILITY_INTIMIDATE, ABILITY_GUTS}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_LUXIO] = @@ -10482,7 +10420,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_HONEY_GATHER, ABILITY_NONE, ABILITY_HUSTLE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_VESPIQUEN] = @@ -10624,7 +10561,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_TECHNICIAN, ABILITY_PICKUP, ABILITY_SKILL_LINK}, .bodyColor = BODY_COLOR_PURPLE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_DRIFLOON] = @@ -11055,7 +10991,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GABITE] = @@ -11078,7 +11013,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_GARCHOMP] = @@ -11101,7 +11035,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_VEIL, ABILITY_NONE, ABILITY_ROUGH_SKIN}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MUNCHLAX] = @@ -11193,7 +11126,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_HIPPOWDON] = @@ -11216,7 +11148,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_SAND_STREAM, ABILITY_NONE, ABILITY_SAND_FORCE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_SKORUPI] = @@ -11468,7 +11399,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_PRESSURE, ABILITY_NONE, ABILITY_PICKPOCKET}, .bodyColor = BODY_COLOR_BLACK, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_MAGNEZONE] = @@ -11537,7 +11467,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_LIGHTNING_ROD, ABILITY_SOLID_ROCK, ABILITY_RECKLESS}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_TANGROWTH] = @@ -11560,7 +11489,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_CHLOROPHYLL, ABILITY_LEAF_GUARD, ABILITY_REGENERATOR}, .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ELECTIVIRE] = @@ -11745,7 +11673,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_OBLIVIOUS, ABILITY_SNOW_CLOAK, ABILITY_THICK_FAT}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_PORYGON_Z] = @@ -12843,7 +12770,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_BIG_PECKS, ABILITY_SUPER_LUCK, ABILITY_RIVALRY}, .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_BLITZLE] = @@ -14457,7 +14383,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_JELLICENT] = @@ -14480,7 +14405,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_WATER_ABSORB, ABILITY_CURSED_BODY, ABILITY_DAMP}, .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_ALOMOMOLA] = @@ -16140,7 +16064,6 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_RIVALRY, ABILITY_UNNERVE, ABILITY_MOXIE}, .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, - .flags = SPECIES_FLAG_GENDER_DIFFERENCE, }, [SPECIES_FLABEBE] = FLABEBE_SPECIES_INFO, @@ -23319,7 +23242,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_INNER_FOCUS, ABILITY_KEEN_EYE, ABILITY_POISON_TOUCH}, .bodyColor = BODY_COLOR_BLACK, .noFlip = TRUE, - .flags = SPECIES_FLAG_HISUIAN_FORM | SPECIES_FLAG_GENDER_DIFFERENCE, + .flags = SPECIES_FLAG_HISUIAN_FORM, }, #if P_GEN_5_POKEMON == TRUE diff --git a/src/data/pokemon_graphics/back_pic_coordinates.h b/src/data/pokemon_graphics/back_pic_coordinates.h index 268975d582..c849eaf2f2 100644 --- a/src/data/pokemon_graphics/back_pic_coordinates.h +++ b/src/data/pokemon_graphics/back_pic_coordinates.h @@ -21,7 +21,7 @@ // the sprite's non-transparent pixels actually are. // .size is the dimensions of this drawn pixel area. // .y_offset is the number of pixels between the drawn pixel area and the bottom edge. -const struct MonCoords gMonBackPicCoords[] = +const struct MonCoords gMonBackPicCoords[NUM_SPECIES + 1] = { [SPECIES_NONE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, [SPECIES_BULBASAUR] = { .size = MON_COORDS_SIZE(56, 40), .y_offset = 13 }, diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index b73dd70d04..7ade799523 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1,4 +1,4 @@ -const struct CompressedSpriteSheet gMonBackPicTable[] = +const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES + 1] = { SPECIES_SPRITE(NONE, gMonBackPic_CircledQuestionMark), SPECIES_SPRITE(BULBASAUR, gMonBackPic_Bulbasaur), @@ -1338,7 +1338,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(EGG, gMonFrontPic_Egg), }; -const struct CompressedSpriteSheet gMonBackPicTableFemale[] = +const struct CompressedSpriteSheet gMonBackPicTableFemale[NUM_SPECIES + 1] = { SPECIES_SPRITE(VENUSAUR, gMonBackPic_VenusaurF), SPECIES_SPRITE(BUTTERFREE, gMonBackPic_ButterfreeF), diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index 64bd433fa4..9471451ea9 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -1,6 +1,6 @@ // 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[NUM_SPECIES] = +const u8 gEnemyMonElevation[NUM_SPECIES + 1] = { [SPECIES_BUTTERFREE] = 10, [SPECIES_BEEDRILL] = 9, diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 8e21b0604e..38737ac439 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -1,4 +1,4 @@ -const u8 *const gMonFootprintTable[] = +const u8 *const gMonFootprintTable[NUM_SPECIES + 1] = { [SPECIES_NONE] = gMonFootprint_Bulbasaur, [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur, diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index f8f0bb119a..d30dc4266e 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -11665,7 +11665,7 @@ SINGLE_ANIMATION(LycanrocDusk); SINGLE_ANIMATION(EnamorusTherian); #endif -const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = +const union AnimCmd *const *const gMonFrontAnimsPtrTable[NUM_SPECIES + 1] = { [SPECIES_NONE] = sAnims_None, [SPECIES_BULBASAUR] = sAnims_Bulbasaur, diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index ea158229c5..eb2786fde0 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -2,7 +2,7 @@ // the sprite's non-transparent pixels actually are. // .size is the dimensions of this drawn pixel area. // .y_offset is the number of pixels between the drawn pixel area and the bottom edge. -const struct MonCoords gMonFrontPicCoords[] = +const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = { [SPECIES_NONE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, [SPECIES_BULBASAUR] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 13 }, diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index adb60c0b6b..8ef0d34c36 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1,4 +1,4 @@ -const struct CompressedSpriteSheet gMonFrontPicTable[] = +const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES + 1] = { SPECIES_SPRITE(NONE, gMonFrontPic_CircledQuestionMark), SPECIES_SPRITE(BULBASAUR, gMonFrontPic_Bulbasaur), @@ -1337,7 +1337,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(EGG, gMonFrontPic_Egg), }; -const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = +const struct CompressedSpriteSheet gMonFrontPicTableFemale[NUM_SPECIES + 1] = { SPECIES_SPRITE(VENUSAUR, gMonFrontPic_VenusaurF), SPECIES_SPRITE(BUTTERFREE, gMonFrontPic_ButterfreeF), @@ -1394,7 +1394,6 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(SHIFTRY, gMonFrontPic_ShiftryF), SPECIES_SPRITE(MEDITITE, gMonFrontPic_MedititeF), SPECIES_SPRITE(MEDICHAM, gMonFrontPic_MedichamF), - #if P_GEN_4_POKEMON == TRUE SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), @@ -1403,13 +1402,10 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = SPECIES_SPRITE(KRICKETOT, gMonFrontPic_KricketotF), SPECIES_SPRITE(KRICKETUNE, gMonFrontPic_KricketuneF), SPECIES_SPRITE(SHINX, gMonFrontPic_ShinxF), - SPECIES_SPRITE(COMBEE, gMonFrontPic_Combee), SPECIES_SPRITE(AMBIPOM, gMonFrontPic_AmbipomF), SPECIES_SPRITE(GIBLE, gMonFrontPic_GibleF), SPECIES_SPRITE(GABITE, gMonFrontPic_GabiteF), SPECIES_SPRITE(GARCHOMP, gMonFrontPic_GarchompF), - SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_Hippopotas), - SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), SPECIES_SPRITE(WEAVILE, gMonFrontPic_WeavileF), SPECIES_SPRITE(RHYPERIOR, gMonFrontPic_RhyperiorF), SPECIES_SPRITE(TANGROWTH, gMonFrontPic_TangrowthF), @@ -1423,6 +1419,5 @@ const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = #if P_GEN_6_POKEMON == TRUE SPECIES_SPRITE(PYROAR, gMonFrontPic_PyroarF), #endif - SPECIES_SPRITE(SNEASEL_HISUIAN, gMonFrontPic_SneaselHisuianF), }; diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index fd2a054745..1fa65f3b33 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1,4 +1,4 @@ -const struct CompressedSpritePalette gMonPaletteTable[] = +const struct CompressedSpritePalette gMonPaletteTable[NUM_SPECIES + 1] = { SPECIES_PAL(NONE, gMonPalette_CircledQuestionMark), SPECIES_PAL(BULBASAUR, gMonPalette_Bulbasaur), @@ -1336,92 +1336,16 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(EGG, gMonPalette_Egg), }; -const struct CompressedSpritePalette gMonPaletteTableFemale[] = +const struct CompressedSpritePalette gMonPaletteTableFemale[NUM_SPECIES + 1] = { - SPECIES_PAL(VENUSAUR, gMonPalette_Venusaur), - SPECIES_PAL(BUTTERFREE, gMonPalette_Butterfree), - SPECIES_PAL(RATTATA, gMonPalette_Rattata), - SPECIES_PAL(RATICATE, gMonPalette_Raticate), - SPECIES_PAL(PIKACHU, gMonPalette_Pikachu), - SPECIES_PAL(RAICHU, gMonPalette_Raichu), - SPECIES_PAL(ZUBAT, gMonPalette_Zubat), - SPECIES_PAL(GOLBAT, gMonPalette_Golbat), - SPECIES_PAL(GLOOM, gMonPalette_Gloom), - SPECIES_PAL(VILEPLUME, gMonPalette_Vileplume), - SPECIES_PAL(KADABRA, gMonPalette_Kadabra), - SPECIES_PAL(ALAKAZAM, gMonPalette_Alakazam), - SPECIES_PAL(DODUO, gMonPalette_Doduo), - SPECIES_PAL(DODRIO, gMonPalette_Dodrio), - SPECIES_PAL(HYPNO, gMonPalette_Hypno), - SPECIES_PAL(RHYHORN, gMonPalette_Rhyhorn), - SPECIES_PAL(RHYDON, gMonPalette_Rhydon), - SPECIES_PAL(GOLDEEN, gMonPalette_Goldeen), - SPECIES_PAL(SEAKING, gMonPalette_Seaking), - SPECIES_PAL(SCYTHER, gMonPalette_Scyther), - SPECIES_PAL(MAGIKARP, gMonPalette_Magikarp), - SPECIES_PAL(GYARADOS, gMonPalette_Gyarados), - SPECIES_PAL(EEVEE, gMonPalette_Eevee), - SPECIES_PAL(MEGANIUM, gMonPalette_Meganium), - SPECIES_PAL(LEDYBA, gMonPalette_Ledyba), - SPECIES_PAL(LEDIAN, gMonPalette_Ledian), - SPECIES_PAL(XATU, gMonPalette_Xatu), - SPECIES_PAL(SUDOWOODO, gMonPalette_Sudowoodo), - SPECIES_PAL(POLITOED, gMonPalette_Politoed), - SPECIES_PAL(AIPOM, gMonPalette_Aipom), - SPECIES_PAL(WOOPER, gMonPalette_Wooper), - SPECIES_PAL(QUAGSIRE, gMonPalette_Quagsire), - SPECIES_PAL(MURKROW, gMonPalette_Murkrow), - SPECIES_PAL(WOBBUFFET, gMonPalette_Wobbuffet), - SPECIES_PAL(GIRAFARIG, gMonPalette_Girafarig), - SPECIES_PAL(GLIGAR, gMonPalette_Gligar), - SPECIES_PAL(STEELIX, gMonPalette_Steelix), - SPECIES_PAL(SCIZOR, gMonPalette_Scizor), - SPECIES_PAL(HERACROSS, gMonPalette_Heracross), - SPECIES_PAL(SNEASEL, gMonPalette_Sneasel), - SPECIES_PAL(URSARING, gMonPalette_Ursaring), - SPECIES_PAL(PILOSWINE, gMonPalette_Piloswine), - SPECIES_PAL(OCTILLERY, gMonPalette_Octillery), - SPECIES_PAL(HOUNDOOM, gMonPalette_Houndoom), - SPECIES_PAL(DONPHAN, gMonPalette_Donphan), - SPECIES_PAL(TORCHIC, gMonPalette_Torchic), - SPECIES_PAL(COMBUSKEN, gMonPalette_Combusken), - SPECIES_PAL(BLAZIKEN, gMonPalette_Blaziken), - SPECIES_PAL(BEAUTIFLY, gMonPalette_Beautifly), - SPECIES_PAL(DUSTOX, gMonPalette_Dustox), - SPECIES_PAL(LUDICOLO, gMonPalette_Ludicolo), - SPECIES_PAL(NUZLEAF, gMonPalette_Nuzleaf), - SPECIES_PAL(SHIFTRY, gMonPalette_Shiftry), - SPECIES_PAL(MEDITITE, gMonPalette_Meditite), - SPECIES_PAL(MEDICHAM, gMonPalette_Medicham), - #if P_GEN_4_POKEMON == TRUE - SPECIES_PAL(STARLY, gMonPalette_Starly), - SPECIES_PAL(STARAVIA, gMonPalette_Staravia), - SPECIES_PAL(STARAPTOR, gMonPalette_Staraptor), - SPECIES_PAL(BIDOOF, gMonPalette_Bidoof), - SPECIES_PAL(KRICKETOT, gMonPalette_Kricketot), - SPECIES_PAL(KRICKETUNE, gMonPalette_Kricketune), - SPECIES_PAL(SHINX, gMonPalette_Shinx), SPECIES_PAL(COMBEE, gMonPalette_CombeeF), - SPECIES_PAL(AMBIPOM, gMonPalette_Ambipom), - SPECIES_PAL(GIBLE, gMonPalette_Gible), - SPECIES_PAL(GABITE, gMonPalette_Gabite), - SPECIES_PAL(GARCHOMP, gMonPalette_Garchomp), SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), - SPECIES_PAL(WEAVILE, gMonPalette_Weavile), - SPECIES_PAL(RHYPERIOR, gMonPalette_Rhyperior), - SPECIES_PAL(TANGROWTH, gMonPalette_Tangrowth), - SPECIES_PAL(MAMOSWINE, gMonPalette_Mamoswine), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), SPECIES_PAL(FRILLISH, gMonPalette_FrillishF), SPECIES_PAL(JELLICENT, gMonPalette_JellicentF), #endif -#if P_GEN_6_POKEMON == TRUE - SPECIES_PAL(PYROAR, gMonPalette_Pyroar), -#endif - - SPECIES_PAL(SNEASEL_HISUIAN, gMonPalette_SneaselHisuian), }; diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index b890f1fb10..b674617b67 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1,4 +1,4 @@ -const struct CompressedSpritePalette gMonShinyPaletteTable[] = +const struct CompressedSpritePalette gMonShinyPaletteTable[NUM_SPECIES + 1] = { SPECIES_SHINY_PAL(NONE, gMonShinyPalette_CircledQuestionMark), SPECIES_SHINY_PAL(BULBASAUR, gMonShinyPalette_Bulbasaur), @@ -1335,92 +1335,16 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = SPECIES_SHINY_PAL(EGG, gMonPalette_Egg), }; -const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = +const struct CompressedSpritePalette gMonShinyPaletteTableFemale[NUM_SPECIES + 1] = { - SPECIES_SHINY_PAL(VENUSAUR, gMonShinyPalette_Venusaur), - SPECIES_SHINY_PAL(BUTTERFREE, gMonShinyPalette_Butterfree), - SPECIES_SHINY_PAL(RATTATA, gMonShinyPalette_Rattata), - SPECIES_SHINY_PAL(RATICATE, gMonShinyPalette_Raticate), - SPECIES_SHINY_PAL(PIKACHU, gMonShinyPalette_Pikachu), - SPECIES_SHINY_PAL(RAICHU, gMonShinyPalette_Raichu), - SPECIES_SHINY_PAL(ZUBAT, gMonShinyPalette_Zubat), - SPECIES_SHINY_PAL(GOLBAT, gMonShinyPalette_Golbat), - SPECIES_SHINY_PAL(GLOOM, gMonShinyPalette_Gloom), - SPECIES_SHINY_PAL(VILEPLUME, gMonShinyPalette_Vileplume), - SPECIES_SHINY_PAL(KADABRA, gMonShinyPalette_Kadabra), - SPECIES_SHINY_PAL(ALAKAZAM, gMonShinyPalette_Alakazam), - SPECIES_SHINY_PAL(DODUO, gMonShinyPalette_Doduo), - SPECIES_SHINY_PAL(DODRIO, gMonShinyPalette_Dodrio), - SPECIES_SHINY_PAL(HYPNO, gMonShinyPalette_Hypno), - SPECIES_SHINY_PAL(RHYHORN, gMonShinyPalette_Rhyhorn), - SPECIES_SHINY_PAL(RHYDON, gMonShinyPalette_Rhydon), - SPECIES_SHINY_PAL(GOLDEEN, gMonShinyPalette_Goldeen), - SPECIES_SHINY_PAL(SEAKING, gMonShinyPalette_Seaking), - SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther), - SPECIES_SHINY_PAL(MAGIKARP, gMonShinyPalette_Magikarp), - SPECIES_SHINY_PAL(GYARADOS, gMonShinyPalette_Gyarados), - SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), - SPECIES_SHINY_PAL(MEGANIUM, gMonShinyPalette_Meganium), - SPECIES_SHINY_PAL(LEDYBA, gMonShinyPalette_Ledyba), - SPECIES_SHINY_PAL(LEDIAN, gMonShinyPalette_Ledian), - SPECIES_SHINY_PAL(XATU, gMonShinyPalette_Xatu), - SPECIES_SHINY_PAL(SUDOWOODO, gMonShinyPalette_Sudowoodo), - SPECIES_SHINY_PAL(POLITOED, gMonShinyPalette_Politoed), - SPECIES_SHINY_PAL(AIPOM, gMonShinyPalette_Aipom), - SPECIES_SHINY_PAL(WOOPER, gMonShinyPalette_Wooper), - SPECIES_SHINY_PAL(QUAGSIRE, gMonShinyPalette_Quagsire), - SPECIES_SHINY_PAL(MURKROW, gMonShinyPalette_Murkrow), - SPECIES_SHINY_PAL(WOBBUFFET, gMonShinyPalette_Wobbuffet), - SPECIES_SHINY_PAL(GIRAFARIG, gMonShinyPalette_Girafarig), - SPECIES_SHINY_PAL(GLIGAR, gMonShinyPalette_Gligar), - SPECIES_SHINY_PAL(STEELIX, gMonShinyPalette_Steelix), - SPECIES_SHINY_PAL(SCIZOR, gMonShinyPalette_Scizor), - SPECIES_SHINY_PAL(HERACROSS, gMonShinyPalette_Heracross), - SPECIES_SHINY_PAL(SNEASEL, gMonShinyPalette_Sneasel), - SPECIES_SHINY_PAL(URSARING, gMonShinyPalette_Ursaring), - SPECIES_SHINY_PAL(PILOSWINE, gMonShinyPalette_Piloswine), - SPECIES_SHINY_PAL(OCTILLERY, gMonShinyPalette_Octillery), - SPECIES_SHINY_PAL(HOUNDOOM, gMonShinyPalette_Houndoom), - SPECIES_SHINY_PAL(DONPHAN, gMonShinyPalette_Donphan), - SPECIES_SHINY_PAL(TORCHIC, gMonShinyPalette_Torchic), - SPECIES_SHINY_PAL(COMBUSKEN, gMonShinyPalette_Combusken), - SPECIES_SHINY_PAL(BLAZIKEN, gMonShinyPalette_Blaziken), - SPECIES_SHINY_PAL(BEAUTIFLY, gMonShinyPalette_Beautifly), - SPECIES_SHINY_PAL(DUSTOX, gMonShinyPalette_Dustox), - SPECIES_SHINY_PAL(LUDICOLO, gMonShinyPalette_Ludicolo), - SPECIES_SHINY_PAL(NUZLEAF, gMonShinyPalette_Nuzleaf), - SPECIES_SHINY_PAL(SHIFTRY, gMonShinyPalette_Shiftry), - SPECIES_SHINY_PAL(MEDITITE, gMonShinyPalette_Meditite), - SPECIES_SHINY_PAL(MEDICHAM, gMonShinyPalette_Medicham), - #if P_GEN_4_POKEMON == TRUE - SPECIES_SHINY_PAL(STARLY, gMonShinyPalette_Starly), - SPECIES_SHINY_PAL(STARAVIA, gMonShinyPalette_Staravia), - SPECIES_SHINY_PAL(STARAPTOR, gMonShinyPalette_Staraptor), - SPECIES_SHINY_PAL(BIDOOF, gMonShinyPalette_Bidoof), - SPECIES_SHINY_PAL(KRICKETOT, gMonShinyPalette_Kricketot), - SPECIES_SHINY_PAL(KRICKETUNE, gMonShinyPalette_Kricketune), - SPECIES_SHINY_PAL(SHINX, gMonShinyPalette_Shinx), SPECIES_SHINY_PAL(COMBEE, gMonShinyPalette_CombeeF), - SPECIES_SHINY_PAL(AMBIPOM, gMonShinyPalette_Ambipom), - SPECIES_SHINY_PAL(GIBLE, gMonShinyPalette_Gible), - SPECIES_SHINY_PAL(GABITE, gMonShinyPalette_Gabite), - SPECIES_SHINY_PAL(GARCHOMP, gMonShinyPalette_Garchomp), SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), - SPECIES_SHINY_PAL(WEAVILE, gMonShinyPalette_Weavile), - SPECIES_SHINY_PAL(RHYPERIOR, gMonShinyPalette_Rhyperior), - SPECIES_SHINY_PAL(TANGROWTH, gMonShinyPalette_Tangrowth), - SPECIES_SHINY_PAL(MAMOSWINE, gMonShinyPalette_Mamoswine), #endif #if P_GEN_5_POKEMON == TRUE SPECIES_SHINY_PAL(UNFEZANT, gMonShinyPalette_UnfezantF), SPECIES_SHINY_PAL(FRILLISH, gMonShinyPalette_FrillishF), SPECIES_SHINY_PAL(JELLICENT, gMonShinyPalette_JellicentF), #endif -#if P_GEN_6_POKEMON == TRUE - SPECIES_SHINY_PAL(PYROAR, gMonShinyPalette_Pyroar), -#endif - - SPECIES_SHINY_PAL(SNEASEL_HISUIAN, gMonShinyPalette_SneaselHisuian), }; diff --git a/src/decompress.c b/src/decompress.c index f5d4ff233d..54e7200be4 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -63,17 +63,19 @@ void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePale void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void *buffer, s32 species) { if (species > NUM_SPECIES) - LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); + LZ77UnCompWram(gMonFrontPicTable[SPECIES_NONE].data, buffer); else LZ77UnCompWram(src->data, buffer); } void DecompressPicFromTableGender(void* buffer, s32 species, u32 personality) { - if (ShouldShowFemaleDifferences(species, personality)) - DecompressPicFromTable(&gMonFrontPicTableFemale[species], buffer, species); + if (gMonFrontPicTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) + LZ77UnCompWram(gMonFrontPicTableFemale[species].data, buffer); + else if (gMonFrontPicTable[species].data != NULL) + LZ77UnCompWram(gMonFrontPicTable[species].data, buffer); else - DecompressPicFromTable(&gMonFrontPicTable[species], buffer, species); + LZ77UnCompWram(gMonFrontPicTable[SPECIES_NONE].data, buffer); } void HandleLoadSpecialPokePic(bool32 isFrontPic, void *dest, s32 species, u32 personality) @@ -83,35 +85,28 @@ void HandleLoadSpecialPokePic(bool32 isFrontPic, void *dest, s32 species, u32 pe void LoadSpecialPokePic(void *dest, s32 species, u32 personality, bool8 isFrontPic) { - if (species == SPECIES_UNOWN) - { - u32 id = GetUnownSpeciesId(personality); + if (species > NUM_SPECIES) + species = SPECIES_NONE; + else if (species == SPECIES_UNOWN) + species = GetUnownSpeciesId(personality); - if (!isFrontPic) - LZ77UnCompWram(gMonBackPicTable[id].data, dest); - else - LZ77UnCompWram(gMonFrontPicTable[id].data, dest); - } - else if (species > NUM_SPECIES) // is species unknown? draw the ? icon + if (isFrontPic) { - if (isFrontPic) - LZ77UnCompWram(gMonFrontPicTable[0].data, dest); - else - LZ77UnCompWram(gMonBackPicTable[0].data, dest); - } - else if (ShouldShowFemaleDifferences(species, personality)) - { - if (isFrontPic) + if (gMonFrontPicTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); + else if (gMonFrontPicTable[species].data != NULL) + LZ77UnCompWram(gMonFrontPicTable[species].data, dest); else - LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest); + LZ77UnCompWram(gMonFrontPicTable[SPECIES_NONE].data, dest); } else { - if (isFrontPic) - LZ77UnCompWram(gMonFrontPicTable[species].data, dest); - else + if (gMonBackPicTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) + LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest); + else if (gMonBackPicTable[species].data != NULL) LZ77UnCompWram(gMonBackPicTable[species].data, dest); + else + LZ77UnCompWram(gMonBackPicTable[SPECIES_NONE].data, dest); } DrawSpindaSpots(species, personality, dest, isFrontPic); diff --git a/src/field_effect.c b/src/field_effect.c index b8e3cecc66..acd6e9e94d 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -236,7 +236,7 @@ static void Task_MoveDeoxysRock(u8 taskId); static u8 sActiveList[32]; // External declarations -extern struct CompressedSpritePalette gMonPaletteTable[]; // GF made a mistake and did not extern it as const. +extern const struct CompressedSpritePalette gMonPaletteTable[]; extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[]; extern const struct CompressedSpriteSheet gTrainerFrontPicTable[]; extern u8 *gFieldEffectScriptPointers[]; diff --git a/src/pokemon.c b/src/pokemon.c index fca93e67e0..3a431aba2e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4478,6 +4478,11 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality) return MON_MALE; } +bool32 IsPersonalityFemale(u16 species, u32 personality) +{ + return GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; +} + u32 GetUnownSpeciesId(u32 personality) { u16 unownLetter = GetUnownLetterByPersonality(personality); @@ -4502,9 +4507,19 @@ void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT) gMultiuseSpriteTemplate.anims = gAnims_MonPic; else if (speciesTag > SPECIES_SHINY_TAG) + { + if (gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG] != NULL) gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG]; else + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[SPECIES_NONE]; + } + else + { + if (gMonFrontAnimsPtrTable[speciesTag] != NULL) gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag]; + else + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[SPECIES_NONE]; + } } void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerPicId, u8 battlerPosition) @@ -7627,17 +7642,21 @@ const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 p shinyValue = GET_SHINY_VALUE(otId, personality); if (shinyValue < SHINY_ODDS) { - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonShinyPaletteTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) return gMonShinyPaletteTableFemale[species].data; - else + else if (gMonShinyPaletteTable[species].data != NULL) return gMonShinyPaletteTable[species].data; + else + return gMonShinyPaletteTable[SPECIES_NONE].data; } else { - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonPaletteTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) return gMonPaletteTableFemale[species].data; - else + else if (gMonPaletteTable[species].data != NULL) return gMonPaletteTable[species].data; + else + return gMonPaletteTable[SPECIES_NONE].data; } } @@ -7656,17 +7675,21 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u shinyValue = GET_SHINY_VALUE(otId, personality); if (shinyValue < SHINY_ODDS) { - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonShinyPaletteTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) return &gMonShinyPaletteTableFemale[species]; - else + else if (gMonShinyPaletteTable[species].data != NULL) return &gMonShinyPaletteTable[species]; + else + return &gMonShinyPaletteTable[SPECIES_NONE]; } else { - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonPaletteTableFemale[species].data != NULL && IsPersonalityFemale(species, personality)) return &gMonPaletteTableFemale[species]; - else + else if (gMonPaletteTable[species].data != NULL) return &gMonPaletteTable[species]; + else + return &gMonPaletteTable[SPECIES_NONE]; } } @@ -8491,11 +8514,16 @@ void TrySpecialOverworldEvo(void) SetMainCallback2(CB2_ReturnToField); } -bool32 ShouldShowFemaleDifferences(u16 species, u32 personality) +bool32 SpeciesHasGenderDifferences(u16 species) { - if (species >= NUM_SPECIES) - return FALSE; - return (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; + if (gMonFrontPicTableFemale[species].data != NULL + || gMonPaletteTableFemale[species].data != NULL + || gMonBackPicTableFemale[species].data != NULL + || gMonShinyPaletteTableFemale[species].data != NULL + || gMonIconTableFemale[species] != NULL) + return TRUE; + + return FALSE; } bool32 TryFormChange(u32 monId, u32 side, u16 method) diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index bed5f221f2..2bfcbfac1c 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -415,21 +415,21 @@ static void PrintInstructionsOnWindow(struct PokemonDebugMenu *data) FillWindowPixelBuffer(WIN_INSTRUCTIONS, 0x11); if (data->currentSubmenu == 0) { - if (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) + if (SpeciesHasGenderDifferences(species)) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructions, x, 0, 0, NULL); } else if (data->currentSubmenu == 1) { - if (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) + if (SpeciesHasGenderDifferences(species)) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOneGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOne, x, 0, 0, NULL); } else if (data->currentSubmenu == 2) { - if (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) + if (SpeciesHasGenderDifferences(species)) AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwoGender, x, 0, 0, NULL); else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwo, x, 0, 0, NULL); @@ -483,7 +483,7 @@ static void PrintDigitChars(struct PokemonDebugMenu *data) text[i++] = CHAR_SPACE; text[i++] = CHAR_HYPHEN; - if (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) + if (SpeciesHasGenderDifferences(species)) { if (data->isFemale) text[i++] = CHAR_FEMALE; @@ -686,17 +686,21 @@ static const struct CompressedSpritePalette *GetMonSpritePalStructCustom(u16 spe { if (isShiny) { - if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if (gMonShinyPaletteTableFemale[species].data != NULL && isFemale) return &gMonShinyPaletteTableFemale[species]; - else + else if (gMonShinyPaletteTable[species].data != NULL) return &gMonShinyPaletteTable[species]; + else + return &gMonShinyPaletteTable[SPECIES_NONE]; } else { - if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if (gMonPaletteTableFemale[species].data != NULL && isFemale) return &gMonPaletteTableFemale[species]; - else + else if (gMonPaletteTable[species].data != NULL) return &gMonPaletteTable[species]; + else + return &gMonPaletteTable[SPECIES_NONE]; } } @@ -712,17 +716,21 @@ static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bo if (isShiny) { - if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if (gMonShinyPaletteTableFemale[species].data != NULL && isFemale) lzPaletteData = gMonShinyPaletteTableFemale[species].data; - else + else if (gMonShinyPaletteTable[species].data != NULL) lzPaletteData = gMonShinyPaletteTable[species].data; + else + lzPaletteData = gMonShinyPaletteTable[SPECIES_NONE].data; } else { - if ((gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && isFemale) + if (gMonPaletteTableFemale[species].data != NULL && isFemale) lzPaletteData = gMonPaletteTableFemale[species].data; - else + else if (gMonPaletteTable[species].data != NULL) lzPaletteData = gMonPaletteTable[species].data; + else + lzPaletteData = gMonPaletteTable[SPECIES_NONE].data; } LZDecompressWram(lzPaletteData, gDecompressionBuffer); @@ -1450,7 +1458,7 @@ static void Handle_Input_Debug_Pokemon(u8 taskId) ReloadPokemonSprites(data); ApplyOffsetSpriteValues(data); } - if (JOY_NEW(SELECT_BUTTON) && (gSpeciesInfo[data->currentmonId].flags & SPECIES_FLAG_GENDER_DIFFERENCE)) + if (JOY_NEW(SELECT_BUTTON) && SpeciesHasGenderDifferences(data->currentmonId)) { data->isFemale = !data->isFemale; PrintDigitChars(data); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index c1a4694858..7c1bf27c87 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -24,9 +24,9 @@ struct MonIconSpriteTemplate static u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8); static void FreeAndDestroyMonIconSprite_(struct Sprite *sprite); -const u8 *const gMonIconTable[] = +const u8 *const gMonIconTable[NUM_SPECIES + 1] = { - [SPECIES_NONE] = gMonIcon_Bulbasaur, + [SPECIES_NONE] = gMonIcon_QuestionMark, [SPECIES_BULBASAUR] = gMonIcon_Bulbasaur, [SPECIES_IVYSAUR] = gMonIcon_Ivysaur, [SPECIES_VENUSAUR] = gMonIcon_Venusaur, @@ -1298,87 +1298,12 @@ const u8 *const gMonIconTable[] = [SPECIES_EGG] = gMonIcon_Egg, }; -const u8 *const gMonIconTableFemale[] = +// Female icon palette indexes still need to be defined in gMonIconPaletteIndicesFemale, even if they are the same as males. +const u8 *const gMonIconTableFemale[NUM_SPECIES + 1] = { - [SPECIES_VENUSAUR] = gMonIcon_Venusaur, - [SPECIES_BUTTERFREE] = gMonIcon_Butterfree, - [SPECIES_RATTATA] = gMonIcon_Rattata, - [SPECIES_RATICATE] = gMonIcon_Raticate, - [SPECIES_PIKACHU] = gMonIcon_Pikachu, - [SPECIES_RAICHU] = gMonIcon_Raichu, - [SPECIES_ZUBAT] = gMonIcon_Zubat, - [SPECIES_GOLBAT] = gMonIcon_Golbat, - [SPECIES_GLOOM] = gMonIcon_Gloom, - [SPECIES_VILEPLUME] = gMonIcon_Vileplume, - [SPECIES_KADABRA] = gMonIcon_Kadabra, - [SPECIES_ALAKAZAM] = gMonIcon_Alakazam, - [SPECIES_DODUO] = gMonIcon_Doduo, - [SPECIES_DODRIO] = gMonIcon_Dodrio, - [SPECIES_HYPNO] = gMonIcon_Hypno, - [SPECIES_RHYHORN] = gMonIcon_Rhyhorn, - [SPECIES_RHYDON] = gMonIcon_Rhydon, - [SPECIES_GOLDEEN] = gMonIcon_Goldeen, - [SPECIES_SEAKING] = gMonIcon_Seaking, - [SPECIES_SCYTHER] = gMonIcon_Scyther, - [SPECIES_MAGIKARP] = gMonIcon_Magikarp, - [SPECIES_GYARADOS] = gMonIcon_Gyarados, - [SPECIES_EEVEE] = gMonIcon_Eevee, - [SPECIES_MEGANIUM] = gMonIcon_Meganium, - [SPECIES_LEDYBA] = gMonIcon_Ledyba, - [SPECIES_LEDIAN] = gMonIcon_Ledian, - [SPECIES_XATU] = gMonIcon_Xatu, - [SPECIES_SUDOWOODO] = gMonIcon_Sudowoodo, - [SPECIES_POLITOED] = gMonIcon_Politoed, - [SPECIES_AIPOM] = gMonIcon_Aipom, - [SPECIES_WOOPER] = gMonIcon_Wooper, - [SPECIES_QUAGSIRE] = gMonIcon_Quagsire, - [SPECIES_MURKROW] = gMonIcon_Murkrow, - [SPECIES_WOBBUFFET] = gMonIcon_Wobbuffet, - [SPECIES_GIRAFARIG] = gMonIcon_Girafarig, - [SPECIES_GLIGAR] = gMonIcon_Gligar, - [SPECIES_STEELIX] = gMonIcon_Steelix, - [SPECIES_SCIZOR] = gMonIcon_Scizor, - [SPECIES_HERACROSS] = gMonIcon_Heracross, - [SPECIES_SNEASEL] = gMonIcon_Sneasel, - [SPECIES_URSARING] = gMonIcon_Ursaring, - [SPECIES_PILOSWINE] = gMonIcon_Piloswine, - [SPECIES_OCTILLERY] = gMonIcon_Octillery, - [SPECIES_HOUNDOOM] = gMonIcon_Houndoom, - [SPECIES_DONPHAN] = gMonIcon_Donphan, - [SPECIES_TORCHIC] = gMonIcon_Torchic, - [SPECIES_COMBUSKEN] = gMonIcon_Combusken, - [SPECIES_BLAZIKEN] = gMonIcon_Blaziken, - [SPECIES_BEAUTIFLY] = gMonIcon_Beautifly, - [SPECIES_DUSTOX] = gMonIcon_Dustox, - [SPECIES_LUDICOLO] = gMonIcon_Ludicolo, - [SPECIES_NUZLEAF] = gMonIcon_Nuzleaf, - [SPECIES_SHIFTRY] = gMonIcon_Shiftry, - [SPECIES_MEDITITE] = gMonIcon_Meditite, - [SPECIES_MEDICHAM] = gMonIcon_Medicham, -#if P_GEN_4_POKEMON == TRUE - [SPECIES_STARLY] = gMonIcon_Starly, - [SPECIES_STARAVIA] = gMonIcon_Staravia, - [SPECIES_STARAPTOR] = gMonIcon_Staraptor, - [SPECIES_BIDOOF] = gMonIcon_Bidoof, - [SPECIES_KRICKETOT] = gMonIcon_Kricketot, - [SPECIES_KRICKETUNE] = gMonIcon_Kricketune, - [SPECIES_SHINX] = gMonIcon_Shinx, - [SPECIES_COMBEE] = gMonIcon_Combee, - [SPECIES_AMBIPOM] = gMonIcon_Ambipom, - [SPECIES_GIBLE] = gMonIcon_Gible, - [SPECIES_GABITE] = gMonIcon_Gabite, - [SPECIES_GARCHOMP] = gMonIcon_Garchomp, -#if P_HIPPO_GENDER_DIFF_ICONS == TRUE +#if P_GEN_4_POKEMON == TRUE && P_HIPPO_GENDER_DIFF_ICONS == TRUE [SPECIES_HIPPOPOTAS] = gMonIcon_HippopotasF, [SPECIES_HIPPOWDON] = gMonIcon_HippowdonF, -#else - [SPECIES_HIPPOPOTAS] = gMonIcon_Hippopotas, - [SPECIES_HIPPOWDON] = gMonIcon_Hippowdon, -#endif - [SPECIES_WEAVILE] = gMonIcon_Weavile, - [SPECIES_RHYPERIOR] = gMonIcon_Rhyperior, - [SPECIES_TANGROWTH] = gMonIcon_Tangrowth, - [SPECIES_MAMOSWINE] = gMonIcon_Mamoswine, #endif #if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = gMonIcon_UnfezantF, @@ -1388,7 +1313,6 @@ const u8 *const gMonIconTableFemale[] = #if P_GEN_6_POKEMON == TRUE [SPECIES_PYROAR] = gMonIcon_PyroarF, #endif - [SPECIES_SNEASEL_HISUIAN] = gMonIcon_SneaselHisuian, }; const u8 gMonIconPaletteIndices[] = @@ -2610,79 +2534,9 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { - [SPECIES_VENUSAUR] = 4, - [SPECIES_BUTTERFREE] = 0, - [SPECIES_RATTATA] = 2, - [SPECIES_RATICATE] = 2, - [SPECIES_PIKACHU] = 2, - [SPECIES_RAICHU] = 0, - [SPECIES_ZUBAT] = 2, - [SPECIES_GOLBAT] = 2, - [SPECIES_GLOOM] = 0, - [SPECIES_VILEPLUME] = 0, - [SPECIES_KADABRA] = 2, - [SPECIES_ALAKAZAM] = 2, - [SPECIES_DODUO] = 2, - [SPECIES_DODRIO] = 2, - [SPECIES_HYPNO] = 2, - [SPECIES_RHYHORN] = 1, - [SPECIES_RHYDON] = 1, - [SPECIES_GOLDEEN] = 0, - [SPECIES_SEAKING] = 0, - [SPECIES_SCYTHER] = 1, - [SPECIES_MAGIKARP] = 0, - [SPECIES_GYARADOS] = 0, - [SPECIES_EEVEE] = 2, - [SPECIES_MEGANIUM] = 1, - [SPECIES_LEDYBA] = 0, - [SPECIES_LEDIAN] = 0, - [SPECIES_XATU] = 1, - [SPECIES_SUDOWOODO] = 1, - [SPECIES_POLITOED] = 1, - [SPECIES_AIPOM] = 2, - [SPECIES_WOOPER] = 0, - [SPECIES_QUAGSIRE] = 0, - [SPECIES_MURKROW] = 2, - [SPECIES_WOBBUFFET] = 0, - [SPECIES_GIRAFARIG] = 1, - [SPECIES_GLIGAR] = 0, - [SPECIES_STEELIX] = 0, - [SPECIES_SCIZOR] = 0, - [SPECIES_HERACROSS] = 0, - [SPECIES_SNEASEL] = 0, - [SPECIES_URSARING] = 2, - [SPECIES_PILOSWINE] = 2, - [SPECIES_OCTILLERY] = 0, - [SPECIES_HOUNDOOM] = 0, - [SPECIES_DONPHAN] = 0, - [SPECIES_TORCHIC] = 0, - [SPECIES_COMBUSKEN] = 0, - [SPECIES_BLAZIKEN] = 0, - [SPECIES_BEAUTIFLY] = 0, - [SPECIES_DUSTOX] = 5, - [SPECIES_LUDICOLO] = 1, - [SPECIES_NUZLEAF] = 1, - [SPECIES_SHIFTRY] = 5, - [SPECIES_MEDITITE] = 0, - [SPECIES_MEDICHAM] = 0, #if P_GEN_4_POKEMON == TRUE - [SPECIES_STARLY] = 0, - [SPECIES_STARAVIA] = 0, - [SPECIES_BIDOOF] = 2, - [SPECIES_KRICKETOT] = 2, - [SPECIES_KRICKETUNE] = 2, - [SPECIES_SHINX] = 0, - [SPECIES_COMBEE] = 0, - [SPECIES_AMBIPOM] = 2, - [SPECIES_GIBLE] = 0, - [SPECIES_GABITE] = 0, - [SPECIES_GARCHOMP] = 0, [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, - [SPECIES_WEAVILE] = 0, - [SPECIES_RHYPERIOR] = 0, - [SPECIES_TANGROWTH] = 0, - [SPECIES_MAMOSWINE] = 2, #endif #if P_GEN_5_POKEMON == TRUE [SPECIES_UNFEZANT] = 1, @@ -2692,10 +2546,6 @@ const u8 gMonIconPaletteIndicesFemale[] = #if P_GEN_6_POKEMON == TRUE [SPECIES_PYROAR] = 2, #endif -#if P_GEN_8_POKEMON == TRUE - [SPECIES_BASCULEGION] = 0, -#endif - [SPECIES_SNEASEL_HISUIAN] = 2, }; const struct SpritePalette gMonIconPaletteTable[] = @@ -2826,7 +2676,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u if (species > NUM_SPECIES) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; - else if (ShouldShowFemaleDifferences(species, personality)) + else if (gMonIconTableFemale[species] && IsPersonalityFemale(species, personality)) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndicesFemale[species]; spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); @@ -2941,7 +2791,7 @@ void LoadMonIconPalette(u16 species) void LoadMonIconPalettePersonality(u16 species, u32 personality) { u8 palIndex; - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonIconTableFemale[species] != NULL && IsPersonalityFemale(species, personality)) palIndex = gMonIconPaletteIndicesFemale[species]; else palIndex = gMonIconPaletteIndices[species]; @@ -2982,10 +2832,15 @@ const u8 *GetMonIconTiles(u16 species, u32 personality) { const u8 *iconSprite; - if (ShouldShowFemaleDifferences(species, personality)) + if (species > NUM_SPECIES) + species = SPECIES_NONE; + + if (gMonIconTableFemale[species] != NULL && IsPersonalityFemale(species, personality)) iconSprite = gMonIconTableFemale[species]; - else + else if (gMonIconTable[species] != NULL) iconSprite = gMonIconTable[species]; + else + iconSprite = gMonIconTable[SPECIES_NONE]; return iconSprite; } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 50f315abde..0d621d2051 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -5110,7 +5110,7 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality) u16 i, offset; // Treat female mons as a seperate species as they may have a different icon than males - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonIconTableFemale[species] != NULL && IsPersonalityFemale(species, personality)) species |= 0x8000; // 1 << 15 // Search icon list for this species @@ -5177,7 +5177,7 @@ static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s struct SpriteTemplate template = sSpriteTemplate_MonIcon; species = GetIconSpecies(species, personality); - if (ShouldShowFemaleDifferences(species, personality)) + if (gMonIconTableFemale[species] != NULL && IsPersonalityFemale(species, personality)) { template.paletteTag = PALTAG_MON_ICON_0 + gMonIconPaletteIndicesFemale[species]; } From 3aaa89ce7192c13c9abfbe36a299e7d3d8cfefe7 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 7 Jul 2023 14:37:51 -0400 Subject: [PATCH 059/256] Changed all instances of gSpeciesNames so that it uses GetSpeciesName --- include/data.h | 2 +- include/pokemon.h | 4 +- src/apprentice.c | 14 +-- src/battle_dome.c | 6 +- src/battle_factory_screen.c | 8 +- src/battle_interface.c | 2 +- src/battle_message.c | 2 +- src/battle_pyramid.c | 2 +- src/battle_tower.c | 2 +- src/cable_club.c | 4 +- src/data/text/species_names.h | 2 +- src/debug.c | 6 +- src/easy_chat.c | 2 +- src/egg_hatch.c | 2 +- src/evolution_scene.c | 6 +- src/frontier_util.c | 2 +- src/hall_of_fame.c | 2 +- src/match_call.c | 12 +- src/menu_specialized.c | 2 +- src/naming_screen.c | 2 +- src/party_menu.c | 2 +- src/pokedex.c | 10 +- src/pokemon.c | 42 +++---- src/pokemon_debug.c | 2 +- src/pokemon_size_record.c | 2 +- src/pokemon_storage_system.c | 2 +- src/pokemon_summary_screen.c | 2 +- src/pokenav_conditions.c | 2 +- src/scrcmd.c | 4 +- src/starter_choose.c | 2 +- src/trade.c | 8 +- src/tv.c | 202 +++++++++++++++++----------------- src/union_room.c | 8 +- 33 files changed, 187 insertions(+), 185 deletions(-) diff --git a/include/data.h b/include/data.h index 5bf555e281..d8e25df82d 100644 --- a/include/data.h +++ b/include/data.h @@ -161,7 +161,7 @@ extern const struct CompressedSpriteSheet gMonFrontPicTableFemale[]; extern const struct Trainer gTrainers[]; extern const u8 gTrainerClassNames[][13]; -extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; +extern const u8 gSpeciesNames[NUM_SPECIES][POKEMON_NAME_LENGTH + 1]; extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1]; extern const u8 *const gZMoveNames[]; diff --git a/include/pokemon.h b/include/pokemon.h index 6ca07fbcf6..0a4e160e27 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -523,7 +523,7 @@ u8 GetSecretBaseTrainerPicIndex(void); u8 GetSecretBaseTrainerClass(void); bool8 IsPlayerPartyAndPokemonStorageFull(void); bool8 IsPokemonStorageFull(void); -void GetSpeciesName(u8 *name, u16 species); +const u8 *GetSpeciesName(u16 species); u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex); void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); @@ -613,5 +613,7 @@ void TryToSetBattleFormChangeMoves(struct Pokemon *mon, u16 method); u32 GetMonFriendshipScore(struct Pokemon *pokemon); void UpdateMonPersonality(struct BoxPokemon *boxMon, u32 personality); u8 CalculatePartyCount(struct Pokemon *party); +u16 SanitizeSpeciesId(u16 species); +bool32 IsSpeciesEnabled(u16 species); #endif // GUARD_POKEMON_H diff --git a/src/apprentice.c b/src/apprentice.c index ad7568a76f..e021f24ca0 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -592,7 +592,7 @@ static void CreateApprenticeMenu(u8 menu) speciesTableId = APPRENTICE_SPECIES_ID(i); species = gApprentices[PLAYER_APPRENTICE.id].species[speciesTableId]; - strings[i] = gSpeciesNames[species]; + strings[i] = GetSpeciesName(species); } break; case APPRENTICE_ASK_2SPECIES: @@ -600,8 +600,8 @@ static void CreateApprenticeMenu(u8 menu) top = 8; if (PLAYER_APPRENTICE.questionsAnswered >= NUM_WHICH_MON_QUESTIONS) return; - strings[1] = gSpeciesNames[gApprenticeQuestionData->altSpeciesId]; - strings[0] = gSpeciesNames[gApprenticeQuestionData->speciesId]; + strings[1] = GetSpeciesName(gApprenticeQuestionData->altSpeciesId); + strings[0] = GetSpeciesName(gApprenticeQuestionData->speciesId); break; case APPRENTICE_ASK_MOVES: left = 17; @@ -1050,13 +1050,13 @@ static void ApprenticeBufferString(void) switch (gSpecialVar_0x8006) { case APPRENTICE_BUFF_SPECIES1: - StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]); + StringCopy(stringDst, GetSpeciesName(gApprenticeQuestionData->speciesId)); break; case APPRENTICE_BUFF_SPECIES2: - StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->altSpeciesId]); + StringCopy(stringDst, GetSpeciesName(gApprenticeQuestionData->altSpeciesId)); break; case APPRENTICE_BUFF_SPECIES3: - StringCopy(stringDst, gSpeciesNames[gApprenticeQuestionData->speciesId]); + StringCopy(stringDst, GetSpeciesName(gApprenticeQuestionData->speciesId)); break; case APPRENTICE_BUFF_MOVE1: StringCopy(stringDst, gMoveNames[gApprenticeQuestionData->moveId1]); @@ -1083,7 +1083,7 @@ static void ApprenticeBufferString(void) break; case APPRENTICE_BUFF_LEAD_MON_SPECIES: speciesArrayId = APPRENTICE_SPECIES_ID(PLAYER_APPRENTICE.leadMonId); - StringCopy(stringDst, gSpeciesNames[gApprentices[PLAYER_APPRENTICE.id].species[speciesArrayId]]); + StringCopy(stringDst, GetSpeciesName(gApprentices[PLAYER_APPRENTICE.id].species[speciesArrayId])); break; } } diff --git a/src/battle_dome.c b/src/battle_dome.c index deae7e64f5..c63f77c630 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -4392,11 +4392,11 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) { textPrinter.currentY = sSpeciesNameTextYCoords[i]; if (trainerId == TRAINER_PLAYER) - textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]]; + textPrinter.currentChar = GetSpeciesName(DOME_MONS[trainerTourneyId][i]); else if (trainerId == TRAINER_FRONTIER_BRAIN) - textPrinter.currentChar = gSpeciesNames[DOME_MONS[trainerTourneyId][i]]; + textPrinter.currentChar = GetSpeciesName(DOME_MONS[trainerTourneyId][i]); else - textPrinter.currentChar = gSpeciesNames[gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species]; + textPrinter.currentChar = GetSpeciesName(gFacilityTrainerMons[DOME_MONS[trainerTourneyId][i]].species); textPrinter.windowId = WIN_TRAINER_MON1_NAME + i + windowId; if (i == 1) diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index 6366404ce3..88c655b8dd 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -1872,7 +1872,7 @@ static void Select_PrintMonSpecies(void) FillWindowPixelBuffer(SELECT_WIN_SPECIES, PIXEL_FILL(0)); species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL); - StringCopy(gStringVar4, gSpeciesNames[species]); + StringCopy(gStringVar4, GetSpeciesName(species)); x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86); AddTextPrinterParameterized3(SELECT_WIN_SPECIES, FONT_NORMAL, x, 1, sSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(SELECT_WIN_SPECIES, COPYWIN_GFX); @@ -3773,7 +3773,7 @@ static void Swap_PrintMonSpecies(void) species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); else species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); - StringCopy(gStringVar4, gSpeciesNames[species]); + StringCopy(gStringVar4, GetSpeciesName(species)); x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86); AddTextPrinterParameterized3(SWAP_WIN_SPECIES, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_FULL); @@ -3882,7 +3882,7 @@ static void Swap_PrintMonSpeciesAtFade(void) species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); else species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); - StringCopy(gStringVar4, gSpeciesNames[species]); + StringCopy(gStringVar4, GetSpeciesName(species)); x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86); AddTextPrinterParameterized3(SWAP_WIN_SPECIES_AT_FADE, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(SWAP_WIN_SPECIES_AT_FADE, COPYWIN_FULL); @@ -3909,7 +3909,7 @@ static void Swap_PrintMonSpeciesForTransition(void) species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, NULL); else species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); - StringCopy(gStringVar4, gSpeciesNames[species]); + StringCopy(gStringVar4, GetSpeciesName(species)); x = GetStringRightAlignXOffset(FONT_NORMAL, gStringVar4, 86); AddTextPrinterParameterized3(SWAP_WIN_SPECIES, FONT_NORMAL, x, 1, sSwapSpeciesNameTextColors, 0, gStringVar4); CopyWindowToVram(SWAP_WIN_SPECIES, COPYWIN_FULL); diff --git a/src/battle_interface.c b/src/battle_interface.c index 1a49098188..fe2540be2a 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -2096,7 +2096,7 @@ static void UpdateNickInHealthbox(u8 healthboxSpriteId, struct Pokemon *mon) gender = GetMonGender(mon); species = GetMonData(mon, MON_DATA_SPECIES); - if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && StringCompare(nickname, gSpeciesNames[species]) == 0) + if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && StringCompare(nickname, GetSpeciesName(species)) == 0) gender = 100; // AddTextPrinterAndCreateWindowOnHealthbox's arguments are the same in all 3 cases. diff --git a/src/battle_message.c b/src/battle_message.c index 3edb02f600..ed5e1695a6 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -3662,7 +3662,7 @@ void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) srcID += 2; break; case B_BUFF_SPECIES: // species name - GetSpeciesName(dst, T1_READ_16(&src[srcID + 1])); + StringCopy(dst, GetSpeciesName(T1_READ_16(&src[srcID + 1]))); srcID += 3; break; case B_BUFF_MON_NICK: // poke nick without prefix diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 211488ee56..c390d808fe 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1357,7 +1357,7 @@ void GenerateBattlePyramidWildMon(void) id = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, NULL) - 1; SetMonData(&gEnemyParty[0], MON_DATA_SPECIES, &wildMons[id].species); - GetSpeciesName(name, wildMons[id].species); + StringCopy(name, GetSpeciesName(wildMons[id].species)); SetMonData(&gEnemyParty[0], MON_DATA_NICKNAME, &name); if (lvl != FRONTIER_LVL_50) { diff --git a/src/battle_tower.c b/src/battle_tower.c index 4e16467f04..4923080fe4 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2491,7 +2491,7 @@ static void GetPotentialPartnerMoveAndSpecies(u16 trainerId, u16 monId) } StringCopy(gStringVar1, gMoveNames[move]); - StringCopy(gStringVar2, gSpeciesNames[species]); + StringCopy(gStringVar2, GetSpeciesName(species)); } // For multi battles in the Battle Tower, the player may choose a partner by talking to them diff --git a/src/cable_club.c b/src/cable_club.c index 913a1b7287..f5c6135c46 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -446,13 +446,13 @@ bool32 AreBattleTowerLinkSpeciesSame(u16 *speciesList1, u16 *speciesList2) { if (numSameSpecies == 0) { - StringCopy(gStringVar1, gSpeciesNames[speciesList1[i]]); + StringCopy(gStringVar1, GetSpeciesName(speciesList1[i])); haveSameSpecies = TRUE; } if (numSameSpecies == 1) { - StringCopy(gStringVar2, gSpeciesNames[speciesList1[i]]); + StringCopy(gStringVar2, GetSpeciesName(speciesList1[i])); haveSameSpecies = TRUE; } diff --git a/src/data/text/species_names.h b/src/data/text/species_names.h index 9e60b94cf5..e9aee3a06c 100644 --- a/src/data/text/species_names.h +++ b/src/data/text/species_names.h @@ -1,4 +1,4 @@ -const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1] = { +const u8 gSpeciesNames[NUM_SPECIES][POKEMON_NAME_LENGTH + 1] = { [SPECIES_NONE] = _("??????????"), [SPECIES_BULBASAUR] = _("Bulbasaur"), [SPECIES_IVYSAUR] = _("Ivysaur"), diff --git a/src/debug.c b/src/debug.c index 43ebb01a82..d98699b6e0 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2048,7 +2048,7 @@ static void DebugAction_Give_PokemonSimple(u8 taskId) //Display initial ID StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 3); - StringCopy(gStringVar1, gSpeciesNames[1]); + StringCopy(gStringVar1, GetSpeciesName(1)); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); @@ -2086,7 +2086,7 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) //Display initial ID StringCopy(gStringVar2, gText_DigitIndicator[0]); ConvertIntToDecimalStringN(gStringVar3, 1, STR_CONV_MODE_LEADING_ZEROS, 4); - StringCopy(gStringVar1, gSpeciesNames[1]); + StringCopy(gStringVar1, GetSpeciesName(1)); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); @@ -2133,7 +2133,7 @@ static void DebugAction_Give_Pokemon_SelectId(u8 taskId) } StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringCopy(gStringVar1, gSpeciesNames[gTasks[taskId].data[3]]); //CopyItemName(gTasks[taskId].data[3], gStringVar1); + StringCopy(gStringVar1, GetSpeciesName(gTasks[taskId].data[3])); //CopyItemName(gTasks[taskId].data[3], gStringVar1); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 4); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonID); diff --git a/src/easy_chat.c b/src/easy_chat.c index 476702c209..5ba83f7257 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -5204,7 +5204,7 @@ static const u8 *GetEasyChatWord(u8 groupId, u16 index) { case EC_GROUP_POKEMON: case EC_GROUP_POKEMON_NATIONAL: - return gSpeciesNames[index]; + return GetSpeciesName(index); case EC_GROUP_MOVE_1: case EC_GROUP_MOVE_2: return gMoveNames[index]; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index fe50c80f41..2610cc79f1 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -369,7 +369,7 @@ static void AddHatchedMonToParty(u8 id) SetMonData(mon, MON_DATA_IS_EGG, &isEgg); species = GetMonData(mon, MON_DATA_SPECIES); - GetSpeciesName(name, species); + StringCopy(name, GetSpeciesName(species)); SetMonData(mon, MON_DATA_NICKNAME, name); species = SpeciesToNationalPokedexNum(species); diff --git a/src/evolution_scene.c b/src/evolution_scene.c index ec331bf014..fb8353c1ee 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -254,7 +254,7 @@ void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u GetMonData(mon, MON_DATA_NICKNAME, name); StringCopy_Nickname(gStringVar1, name); - StringCopy(gStringVar2, gSpeciesNames[postEvoSpecies]); + StringCopy(gStringVar2, GetSpeciesName(postEvoSpecies)); // preEvo sprite currSpecies = GetMonData(mon, MON_DATA_SPECIES); @@ -476,7 +476,7 @@ void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSprit GetMonData(mon, MON_DATA_NICKNAME, name); StringCopy_Nickname(gStringVar1, name); - StringCopy(gStringVar2, gSpeciesNames[postEvoSpecies]); + StringCopy(gStringVar2, GetSpeciesName(postEvoSpecies)); gAffineAnimsDisabled = TRUE; @@ -561,7 +561,7 @@ static void CreateShedinja(u16 preEvoSpecies, struct Pokemon *mon) CopyMon(&gPlayerParty[gPlayerPartyCount], mon, sizeof(struct Pokemon)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_SPECIES, &gEvolutionTable[preEvoSpecies][1].targetSpecies); - SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, gSpeciesNames[gEvolutionTable[preEvoSpecies][1].targetSpecies]); + SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_NICKNAME, GetSpeciesName(gEvolutionTable[preEvoSpecies][1].targetSpecies)); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_HELD_ITEM, &data); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_MARKINGS, &data); SetMonData(&gPlayerParty[gPlayerPartyCount], MON_DATA_ENCRYPT_SEPARATOR, &data); diff --git a/src/frontier_util.c b/src/frontier_util.c index 85e016a26b..f8a0fef812 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -1911,7 +1911,7 @@ static u8 AppendCaughtBannedMonSpeciesName(u16 species, u8 count, s32 numBannedM StringAppend(gStringVar1, gText_LineBreak); break; } - StringAppend(gStringVar1, gSpeciesNames[species]); + StringAppend(gStringVar1, GetSpeciesName(species)); } return count; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 18b4c3e4bf..d0584b2280 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -1163,7 +1163,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u AddTextPrinterParameterized3(0, FONT_NORMAL, width, 1, sMonInfoTextColors, TEXT_SKIP_DRAW, text); text[0] = CHAR_SLASH; - stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]); + stringPtr = StringCopy(text + 1, GetSpeciesName(currMon->species)); if (currMon->species != SPECIES_NIDORAN_M && currMon->species != SPECIES_NIDORAN_F) { diff --git a/src/match_call.c b/src/match_call.c index c3378040e3..d5ad380007 100644 --- a/src/match_call.c +++ b/src/match_call.c @@ -1777,7 +1777,7 @@ static void PopulateSpeciesFromTrainerLocation(int matchCallId, u8 *destStr) if (numSpecies) { - StringCopy(destStr, gSpeciesNames[species[Random() % numSpecies]]); + StringCopy(destStr, GetSpeciesName(species[Random() % numSpecies])); return; } } @@ -1801,19 +1801,19 @@ static void PopulateSpeciesFromTrainerParty(int matchCallId, u8 *destStr) { case 0: default: - speciesName = gSpeciesNames[party.NoItemDefaultMoves[monId].species]; + speciesName = GetSpeciesName(party.NoItemDefaultMoves[monId].species); break; case F_TRAINER_PARTY_CUSTOM_MOVESET: - speciesName = gSpeciesNames[party.NoItemCustomMoves[monId].species]; + speciesName = GetSpeciesName(party.NoItemCustomMoves[monId].species); break; case F_TRAINER_PARTY_HELD_ITEM: - speciesName = gSpeciesNames[party.ItemDefaultMoves[monId].species]; + speciesName = GetSpeciesName(party.ItemDefaultMoves[monId].species); break; case F_TRAINER_PARTY_CUSTOM_MOVESET | F_TRAINER_PARTY_HELD_ITEM: - speciesName = gSpeciesNames[party.ItemCustomMoves[monId].species]; + speciesName = GetSpeciesName(party.ItemCustomMoves[monId].species); break; case F_TRAINER_PARTY_EVERYTHING_CUSTOMIZED: - speciesName = gSpeciesNames[party.EverythingCustomized[monId].species]; + speciesName = GetSpeciesName(party.EverythingCustomized[monId].species); break; } diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 802d1aec32..c2553d0ed2 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -939,7 +939,7 @@ static u8 *GetConditionMenuMonString(u8 *dst, u16 boxId, u16 monId) level = GetLevelFromBoxMonExp(boxMon); } - if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && !StringCompare(dst, gSpeciesNames[species])) + if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && !StringCompare(dst, GetSpeciesName(species))) gender = MON_GENDERLESS; for (str = dst; *str != EOS; str++) diff --git a/src/naming_screen.c b/src/naming_screen.c index 3962f141ab..1b556d9086 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1712,7 +1712,7 @@ static void DrawMonTextEntryBox(void) { u8 buffer[32]; - StringCopy(buffer, gSpeciesNames[sNamingScreen->monSpecies]); + StringCopy(buffer, GetSpeciesName(sNamingScreen->monSpecies)); StringAppendN(buffer, sNamingScreen->template->title, 15); FillWindowPixelBuffer(sNamingScreen->windows[WIN_TEXT_ENTRY_BOX], PIXEL_FILL(1)); AddTextPrinterParameterized(sNamingScreen->windows[WIN_TEXT_ENTRY_BOX], FONT_NORMAL, buffer, 8, 1, 0, 0); diff --git a/src/party_menu.c b/src/party_menu.c index 68d7b058e2..fff50ab7be 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -2333,7 +2333,7 @@ static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, stru if (species == SPECIES_NONE) return; - if ((species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F) && StringCompare(nickname, gSpeciesNames[species]) == 0) + if ((species == SPECIES_NIDORAN_M || species == SPECIES_NIDORAN_F) && StringCompare(nickname, GetSpeciesName(species)) == 0) return; switch (gender) { diff --git a/src/pokedex.c b/src/pokedex.c index c5b8105b2d..b9dc894d3f 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -2447,7 +2447,7 @@ static u8 CreateMonName(u16 num, u8 left, u8 top) num = NationalPokedexNumToSpecies(num); if (num) - str = gSpeciesNames[num]; + str = GetSpeciesName(num); else str = sText_TenDashes; PrintMonDexNumAndName(0, FONT_NARROW, str, left, top); @@ -4112,7 +4112,7 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry) PrintInfoScreenText(str, 0x60, 0x19); natNum = NationalPokedexNumToSpecies(num); if (natNum) - name = gSpeciesNames[natNum]; + name = GetSpeciesName(natNum); else name = sText_TenDashes2; PrintInfoScreenText(name, 0x84, 0x19); @@ -4459,8 +4459,8 @@ static u8 PrintCryScreenSpeciesName(u8 windowId, u16 num, u8 left, u8 top) switch (num) { default: - for (i = 0; gSpeciesNames[num][i] != EOS && i < POKEMON_NAME_LENGTH; i++) - str[i] = gSpeciesNames[num][i]; + for (i = 0; GetSpeciesName(num)[i] != EOS && i < POKEMON_NAME_LENGTH; i++) + str[i] = GetSpeciesName(num)[i]; break; case 0: for (i = 0; i < 5; i++) @@ -4661,7 +4661,7 @@ static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, u8 bodyColor, u8 t u8 firstLetter; species = NationalPokedexNumToSpecies(sPokedexView->pokedexList[i].dexNum); - firstLetter = gSpeciesNames[species][0]; + firstLetter = GetSpeciesName(species)[0]; if (LETTER_IN_RANGE_UPPER(firstLetter, abcGroup) || LETTER_IN_RANGE_LOWER(firstLetter, abcGroup)) { sPokedexView->pokedexList[resultsCount] = sPokedexView->pokedexList[i]; diff --git a/src/pokemon.c b/src/pokemon.c index 3a431aba2e..23edee9a7a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3504,7 +3504,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, checksum = CalculateBoxMonChecksum(boxMon); SetBoxMonData(boxMon, MON_DATA_CHECKSUM, &checksum); EncryptBoxMon(boxMon); - GetSpeciesName(speciesName, species); + StringCopy(speciesName, GetSpeciesName(species)); SetBoxMonData(boxMon, MON_DATA_NICKNAME, speciesName); SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage); SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2Ptr->playerName); @@ -4509,14 +4509,14 @@ void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, u8 battlerPosition) else if (speciesTag > SPECIES_SHINY_TAG) { if (gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG] != NULL) - gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG]; - else + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag - SPECIES_SHINY_TAG]; + else gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[SPECIES_NONE]; } else { if (gMonFrontAnimsPtrTable[speciesTag] != NULL) - gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag]; + gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[speciesTag]; else gMultiuseSpriteTemplate.anims = gMonFrontAnimsPtrTable[SPECIES_NONE]; } @@ -5612,22 +5612,9 @@ bool8 IsPokemonStorageFull(void) return TRUE; } -void GetSpeciesName(u8 *name, u16 species) +const u8 *GetSpeciesName(u16 species) { - s32 i; - - for (i = 0; i <= POKEMON_NAME_LENGTH; i++) - { - if (species > NUM_SPECIES) - name[i] = gSpeciesNames[SPECIES_NONE][i]; - else - name[i] = gSpeciesNames[species][i]; - - if (name[i] == EOS) - break; - } - - name[i] = EOS; + return gSpeciesNames[SanitizeSpeciesId(species)]; } u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex) @@ -6918,8 +6905,8 @@ void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies) u8 language; GetMonData(mon, MON_DATA_NICKNAME, gStringVar1); language = GetMonData(mon, MON_DATA_LANGUAGE, &language); - if (language == GAME_LANGUAGE && !StringCompare(gSpeciesNames[oldSpecies], gStringVar1)) - SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[newSpecies]); + if (language == GAME_LANGUAGE && !StringCompare(GetSpeciesName(oldSpecies), gStringVar1)) + SetMonData(mon, MON_DATA_NICKNAME, GetSpeciesName(newSpecies)); } // The below two functions determine which side of a multi battle the trainer battles on @@ -8551,6 +8538,19 @@ bool32 TryFormChange(u32 monId, u32 side, u16 method) return FALSE; } +u16 SanitizeSpeciesId(u16 species) +{ + if (species > NUM_SPECIES || !IsSpeciesEnabled(species)) + return SPECIES_NONE; + else + return species; +} + +bool32 IsSpeciesEnabled(u16 species) +{ + return gSpeciesInfo[species].baseHP > 0; +} + void TryToSetBattleFormChangeMoves(struct Pokemon *mon, u16 method) { int i, j; diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c index 2bfcbfac1c..3c9a562776 100644 --- a/src/pokemon_debug.c +++ b/src/pokemon_debug.c @@ -493,7 +493,7 @@ static void PrintDigitChars(struct PokemonDebugMenu *data) } text[i++] = CHAR_SPACE; - StringCopy(&text[i], gSpeciesNames[species]); + StringCopy(&text[i], GetSpeciesName(species)); FillWindowPixelBuffer(WIN_NAME_NUMBERS, 0x11); AddTextPrinterParameterized(WIN_NAME_NUMBERS, 1, text, 6, 0, 0, NULL); diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 7c88e5bf10..bc2ffe1aea 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -148,7 +148,7 @@ static void GetMonSizeRecordInfo(u16 species, u16 *sizeRecord) u32 size = GetMonSize(species, *sizeRecord); FormatMonSizeRecord(gStringVar3, size); - StringCopy(gStringVar1, gSpeciesNames[species]); + StringCopy(gStringVar1, GetSpeciesName(species)); if (*sizeRecord == DEFAULT_MAX_SIZE) StringCopy(gStringVar2, gText_Marco); else diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 0d621d2051..82fdca6f9d 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -6993,7 +6993,7 @@ static void SetDisplayMonData(void *pokemon, u8 mode) txtPtr = sStorage->displayMonSpeciesName; *(txtPtr)++ = CHAR_SLASH; - StringCopyPadded(txtPtr, gSpeciesNames[sStorage->displayMonSpecies], CHAR_SPACE, 5); + StringCopyPadded(txtPtr, GetSpeciesName(sStorage->displayMonSpecies), CHAR_SPACE, 5); txtPtr = sStorage->displayMonGenderLvlText; *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f7106b8752..14d9e771ab 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2863,7 +2863,7 @@ static void PrintNotEggInfo(void) GetMonNickname(mon, gStringVar1); PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME, gStringVar1, 0, 1, 0, 1); strArray[0] = CHAR_SLASH; - StringCopy(&strArray[1], &gSpeciesNames[summary->species2][0]); + StringCopy(&strArray[1], &GetSpeciesName(summary->species2)[0]); PrintTextOnWindow(PSS_LABEL_WINDOW_PORTRAIT_SPECIES, strArray, 0, 1, 0, 1); PrintGenderSymbol(mon, summary->species2); PutWindowTilemap(PSS_LABEL_WINDOW_PORTRAIT_NICKNAME); diff --git a/src/pokenav_conditions.c b/src/pokenav_conditions.c index 3c06f6c649..d655c83b54 100644 --- a/src/pokenav_conditions.c +++ b/src/pokenav_conditions.c @@ -365,7 +365,7 @@ static u8 *CopyConditionMonNameGender(u8 *str, u16 listId, bool8 skipPadding) level = GetLevelFromBoxMonExp(boxMon); } - if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && !StringCompare(str, gSpeciesNames[species])) + if ((species == SPECIES_NIDORAN_F || species == SPECIES_NIDORAN_M) && !StringCompare(str, GetSpeciesName(species))) gender = MON_GENDERLESS; str_ = str; // For some reason, a variable is needed to match. diff --git a/src/scrcmd.c b/src/scrcmd.c index 98c20ef4e3..bbdcf4c7b9 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1552,7 +1552,7 @@ bool8 ScrCmd_bufferspeciesname(struct ScriptContext *ctx) u8 stringVarIndex = ScriptReadByte(ctx); u16 species = VarGet(ScriptReadHalfword(ctx)); - StringCopy(sScriptStringVars[stringVarIndex], gSpeciesNames[species]); + StringCopy(sScriptStringVars[stringVarIndex], GetSpeciesName(species)); return FALSE; } @@ -1563,7 +1563,7 @@ bool8 ScrCmd_bufferleadmonspeciesname(struct ScriptContext *ctx) u8 *dest = sScriptStringVars[stringVarIndex]; u8 partyIndex = GetLeadMonIndex(); u32 species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); - StringCopy(dest, gSpeciesNames[species]); + StringCopy(dest, GetSpeciesName(species)); return FALSE; } diff --git a/src/starter_choose.c b/src/starter_choose.c index 3d5291e887..39de696e97 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -577,7 +577,7 @@ static void CreateStarterPokemonLabel(u8 selection) u16 species = GetStarterPokemon(selection); CopyMonCategoryText(SpeciesToNationalPokedexNum(species), categoryText); - speciesName = gSpeciesNames[species]; + speciesName = GetSpeciesName(species); winTemplate = sWindowTemplate_StarterLabel; winTemplate.tilemapLeft = sStarterLabelCoords[selection][0]; diff --git a/src/trade.c b/src/trade.c index b09cc5af73..e4ad3f1816 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1165,7 +1165,7 @@ static bool8 BufferTradeParties(void) GetMonData(mon, MON_DATA_NICKNAME, name); if (!StringCompareWithoutExtCtrlCodes(name, sText_ShedinjaJP)) - SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); + SetMonData(mon, MON_DATA_NICKNAME, GetSpeciesName(SPECIES_SHEDINJA)); } } } @@ -4541,8 +4541,8 @@ static void SpriteCB_BouncingPokeballArrive(struct Sprite *sprite) u16 GetInGameTradeSpeciesInfo(void) { const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; - StringCopy(gStringVar1, gSpeciesNames[inGameTrade->requestedSpecies]); - StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); + StringCopy(gStringVar1, GetSpeciesName(inGameTrade->requestedSpecies)); + StringCopy(gStringVar2, GetSpeciesName(inGameTrade->species)); return inGameTrade->requestedSpecies; } @@ -4552,7 +4552,7 @@ static void BufferInGameTradeMonName(void) const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); StringCopy_Nickname(gStringVar1, nickname); - StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); + StringCopy(gStringVar2, GetSpeciesName(inGameTrade->species)); } static void CreateInGameTradePokemonInternal(u8 whichPlayerMon, u8 whichInGameTrade) diff --git a/src/tv.c b/src/tv.c index 4400a56c29..b16e7bf89e 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1116,7 +1116,7 @@ void TryPutPokemonTodayOnAir(void) else { InitWorldOfMastersShowAttempt(); - if (!rbernoulli(1, 1) && StringCompare(gSpeciesNames[gBattleResults.caughtMonSpecies], gBattleResults.caughtMonNick)) + if (!rbernoulli(1, 1) && StringCompare(GetSpeciesName(gBattleResults.caughtMonSpecies), gBattleResults.caughtMonNick)) { sCurTVShowSlot = FindFirstEmptyRecordMixTVShowSlot(gSaveBlock1Ptr->tvShows); if (sCurTVShowSlot != -1 && IsRecordMixShowAlreadySpawned(TVSHOW_POKEMON_TODAY_CAUGHT, FALSE) != TRUE) @@ -2914,7 +2914,7 @@ static void InterviewBefore_FanClubLetter(void) TryReplaceOldTVShowOfKind(TVSHOW_FAN_CLUB_LETTER); if (!gSpecialVar_Result) { - StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]); + StringCopy(gStringVar1, GetSpeciesName(GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL))); InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words, ARRAY_COUNT(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubLetter.words)); } @@ -2935,7 +2935,7 @@ static void InterviewBefore_PkmnFanClubOpinions(void) TryReplaceOldTVShowOfKind(TVSHOW_PKMN_FAN_CLUB_OPINIONS); if (!gSpecialVar_Result) { - StringCopy(gStringVar1, gSpeciesNames[GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL)]); + StringCopy(gStringVar1, GetSpeciesName(GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL))); GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, gStringVar2); StringGet_Nickname(gStringVar2); InitializeEasyChatWordArray(gSaveBlock1Ptr->tvShows[sCurTVShowSlot].fanclubOpinions.words, @@ -2995,7 +2995,7 @@ static bool8 IsPartyMonNicknamedOrNotEnglish(u8 monIdx) pokemon = &gPlayerParty[monIdx]; GetMonData(pokemon, MON_DATA_NICKNAME, gStringVar1); language = GetMonData(pokemon, MON_DATA_LANGUAGE, &language); - if (language == GAME_LANGUAGE && !StringCompare(gSpeciesNames[GetMonData(pokemon, MON_DATA_SPECIES, NULL)], gStringVar1)) + if (language == GAME_LANGUAGE && !StringCompare(GetSpeciesName(GetMonData(pokemon, MON_DATA_SPECIES, NULL)), gStringVar1)) return FALSE; return TRUE; @@ -3059,7 +3059,7 @@ static void CompactTVShowArray(TVShow *shows) static u16 GetRandomDifferentSpeciesAndNameSeenByPlayer(u8 varIdx, u16 excludedSpecies) { u16 species = GetRandomDifferentSpeciesSeenByPlayer(excludedSpecies); - StringCopy(gTVStringVarPtrs[varIdx], gSpeciesNames[species]); + StringCopy(gTVStringVarPtrs[varIdx], GetSpeciesName(species)); return species; } @@ -3221,24 +3221,24 @@ static void GetNicknameSubstring(u8 varIdx, u8 whichPosition, u8 charParam, u16 } else { - strlen = StringLength(gSpeciesNames[species]); + strlen = StringLength(GetSpeciesName(species)); if (charParam == 0) { - buff[0] = gSpeciesNames[species][whichPosition]; + buff[0] = GetSpeciesName(species)[whichPosition]; } else if (charParam == 1) { - buff[0] = gSpeciesNames[species][strlen - whichPosition]; + buff[0] = GetSpeciesName(species)[strlen - whichPosition]; } else if (charParam == 2) { - buff[0] = gSpeciesNames[species][whichPosition]; - buff[1] = gSpeciesNames[species][whichPosition + 1]; + buff[0] = GetSpeciesName(species)[whichPosition]; + buff[1] = GetSpeciesName(species)[whichPosition + 1]; } else { - buff[0] = gSpeciesNames[species][strlen - (whichPosition + 2)]; - buff[1] = gSpeciesNames[species][strlen - (whichPosition + 1)]; + buff[0] = GetSpeciesName(species)[strlen - (whichPosition + 2)]; + buff[1] = GetSpeciesName(species)[strlen - (whichPosition + 1)]; } } StringCopy(gTVStringVarPtrs[varIdx], buff); @@ -4291,13 +4291,13 @@ static void DoTVShowBravoTrainerPokemonProfile(void) TVShowConvertInternationalString(gStringVar1, show->bravoTrainer.playerName, show->bravoTrainer.language); CopyContestCategoryToStringVar(1, show->bravoTrainer.contestCategory); CopyContestRankToStringVar(2, show->bravoTrainer.contestRank); - if (!StringCompare(gSpeciesNames[show->bravoTrainer.species], show->bravoTrainer.pokemonNickname)) + if (!StringCompare(GetSpeciesName(show->bravoTrainer.species), show->bravoTrainer.pokemonNickname)) sTVShowState = 8; else sTVShowState = 1; break; case 1: - StringCopy(gStringVar1, gSpeciesNames[show->bravoTrainer.species]); + StringCopy(gStringVar1, GetSpeciesName(show->bravoTrainer.species)); TVShowConvertInternationalString(gStringVar2, show->bravoTrainer.pokemonNickname, show->bravoTrainer.pokemonNameLanguage); CopyContestCategoryToStringVar(2, show->bravoTrainer.contestCategory); sTVShowState = 2; @@ -4331,18 +4331,18 @@ static void DoTVShowBravoTrainerPokemonProfile(void) sTVShowState = 7; break; case 6: - StringCopy(gStringVar1, gSpeciesNames[show->bravoTrainer.species]); + StringCopy(gStringVar1, GetSpeciesName(show->bravoTrainer.species)); StringCopy(gStringVar2, gMoveNames[show->bravoTrainer.move]); CopyEasyChatWord(gStringVar3, show->bravoTrainer.words[1]); sTVShowState = 7; break; case 7: TVShowConvertInternationalString(gStringVar1, show->bravoTrainer.playerName, show->bravoTrainer.language); - StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainer.species]); + StringCopy(gStringVar2, GetSpeciesName(show->bravoTrainer.species)); TVShowDone(); break; case 8: - StringCopy(gStringVar1, gSpeciesNames[show->bravoTrainer.species]); + StringCopy(gStringVar1, GetSpeciesName(show->bravoTrainer.species)); sTVShowState = 2; break; } @@ -4364,7 +4364,7 @@ static void DoTVShowBravoTrainerBattleTower(void) { case BRAVOTOWER_STATE_INTRO: TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language); - StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.species]); + StringCopy(gStringVar2, GetSpeciesName(show->bravoTrainerTower.species)); if (show->bravoTrainerTower.numFights >= FRONTIER_STAGES_PER_CHALLENGE) sTVShowState = BRAVOTOWER_STATE_NEW_RECORD; else @@ -4393,7 +4393,7 @@ static void DoTVShowBravoTrainerBattleTower(void) break; case BRAVOTOWER_STATE_WON: TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); - StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.defeatedSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->bravoTrainerTower.defeatedSpecies)); if (show->bravoTrainerTower.interviewResponse == 0) sTVShowState = BRAVOTOWER_STATE_SATISFIED; else @@ -4401,7 +4401,7 @@ static void DoTVShowBravoTrainerBattleTower(void) break; case BRAVOTOWER_STATE_LOST_FINAL: TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); - StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.defeatedSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->bravoTrainerTower.defeatedSpecies)); if (show->bravoTrainerTower.interviewResponse == 0) sTVShowState = BRAVOTOWER_STATE_SATISFIED; else @@ -4440,7 +4440,7 @@ static void DoTVShowBravoTrainerBattleTower(void) break; case BRAVOTOWER_STATE_OUTRO: TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language); - StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.species]); + StringCopy(gStringVar2, GetSpeciesName(show->bravoTrainerTower.species)); TVShowDone(); break; } @@ -4555,7 +4555,7 @@ static void DoTVShowTheNameRaterShow(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->nameRaterShow.trainerName, show->nameRaterShow.language); - StringCopy(gStringVar2, gSpeciesNames[show->nameRaterShow.species]); + StringCopy(gStringVar2, GetSpeciesName(show->nameRaterShow.species)); TVShowConvertInternationalString(gStringVar3, show->nameRaterShow.pokemonName, show->nameRaterShow.pokemonNameLanguage); sTVShowState = GetRandomNameRaterStateFromName(show) + 1; break; @@ -4603,7 +4603,7 @@ static void DoTVShowTheNameRaterShow(void) break; case 15: GetNicknameSubstring(0, 0, 2, 1, 0, show); - StringCopy(gStringVar2, gSpeciesNames[show->nameRaterShow.species]); + StringCopy(gStringVar2, GetSpeciesName(show->nameRaterShow.species)); GetNicknameSubstring(2, 0, 3, 2, show->nameRaterShow.species, show); sTVShowState = 16; break; @@ -4614,7 +4614,7 @@ static void DoTVShowTheNameRaterShow(void) break; case 17: GetNicknameSubstring(0, 0, 2, 1, 0, show); - StringCopy(gStringVar2, gSpeciesNames[show->nameRaterShow.randomSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->nameRaterShow.randomSpecies)); GetNicknameSubstring(2, 0, 3, 2, show->nameRaterShow.randomSpecies, show); sTVShowState = 18; break; @@ -4641,7 +4641,7 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->pokemonToday.playerName, show->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonToday.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonToday.species)); TVShowConvertInternationalString(gStringVar3, show->pokemonToday.nickname, show->pokemonToday.language2); if (show->pokemonToday.ball == ITEM_MASTER_BALL) sTVShowState = 5; @@ -4661,7 +4661,7 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void) break; case 3: TVShowConvertInternationalString(gStringVar1, show->pokemonToday.playerName, show->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonToday.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonToday.species)); TVShowConvertInternationalString(gStringVar3, show->pokemonToday.nickname, show->pokemonToday.language2); sTVShowState = 6; break; @@ -4670,25 +4670,25 @@ static void DoTVShowPokemonTodaySuccessfulCapture(void) break; case 5: TVShowConvertInternationalString(gStringVar1, show->pokemonToday.playerName, show->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonToday.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonToday.species)); sTVShowState = 6; break; case 6: TVShowConvertInternationalString(gStringVar1, show->pokemonToday.playerName, show->pokemonToday.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonToday.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonToday.species)); TVShowConvertInternationalString(gStringVar3, show->pokemonToday.nickname, show->pokemonToday.language2); sTVShowState += 1 + (Random() % 4); break; case 7: case 8: - StringCopy(gStringVar1, gSpeciesNames[show->pokemonToday.species]); + StringCopy(gStringVar1, GetSpeciesName(show->pokemonToday.species)); TVShowConvertInternationalString(gStringVar2, show->pokemonToday.nickname, show->pokemonToday.language2); GetRandomDifferentSpeciesAndNameSeenByPlayer(2, show->pokemonToday.species); sTVShowState = 11; break; case 9: case 10: - StringCopy(gStringVar1, gSpeciesNames[show->pokemonToday.species]); + StringCopy(gStringVar1, GetSpeciesName(show->pokemonToday.species)); TVShowConvertInternationalString(gStringVar2, show->pokemonToday.nickname, show->pokemonToday.language2); sTVShowState = 11; break; @@ -4711,13 +4711,13 @@ static void DoTVShowPokemonTodayFailedCapture(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->pokemonTodayFailed.playerName, show->pokemonTodayFailed.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonTodayFailed.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonTodayFailed.species)); sTVShowState = 1; break; case 1: TVShowConvertInternationalString(gStringVar1, show->pokemonTodayFailed.playerName, show->pokemonTodayFailed.language); GetMapName(gStringVar2, show->pokemonTodayFailed.location, 0); - StringCopy(gStringVar3, gSpeciesNames[show->pokemonTodayFailed.species2]); + StringCopy(gStringVar3, GetSpeciesName(show->pokemonTodayFailed.species2)); if (show->pokemonTodayFailed.outcome == 1) sTVShowState = 3; else @@ -4757,7 +4757,7 @@ static void DoTVShowPokemonFanClubLetter(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->fanclubLetter.playerName, show->fanclubLetter.language); - StringCopy(gStringVar2, gSpeciesNames[show->fanclubLetter.species]); + StringCopy(gStringVar2, GetSpeciesName(show->fanclubLetter.species)); sTVShowState = 50; break; case 1: @@ -4845,7 +4845,7 @@ static void DoTVShowPokemonFanClubOpinions(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->fanclubOpinions.playerName, show->fanclubOpinions.language); - StringCopy(gStringVar2, gSpeciesNames[show->fanclubOpinions.species]); + StringCopy(gStringVar2, GetSpeciesName(show->fanclubOpinions.species)); TVShowConvertInternationalString(gStringVar3, show->fanclubOpinions.nickname, show->fanclubOpinions.pokemonNameLanguage); sTVShowState = show->fanclubOpinions.questionAsked + 1; break; @@ -4853,7 +4853,7 @@ static void DoTVShowPokemonFanClubOpinions(void) case 2: case 3: TVShowConvertInternationalString(gStringVar1, show->fanclubOpinions.playerName, show->fanclubOpinions.language); - StringCopy(gStringVar2, gSpeciesNames[show->fanclubOpinions.species]); + StringCopy(gStringVar2, GetSpeciesName(show->fanclubOpinions.species)); CopyEasyChatWord(gStringVar3, show->fanclubOpinions.words[0]); sTVShowState = 4; break; @@ -4877,7 +4877,7 @@ static void DoTVShowPokemonNewsMassOutbreak(void) show = &gSaveBlock1Ptr->tvShows[gSpecialVar_0x8004]; GetMapName(gStringVar1, show->massOutbreak.locationMapNum, 0); - StringCopy(gStringVar2, gSpeciesNames[show->massOutbreak.species]); + StringCopy(gStringVar2, GetSpeciesName(show->massOutbreak.species)); TVShowDone(); StartMassOutbreak(); ShowFieldMessage(sTVMassOutbreakTextGroup[sTVShowState]); @@ -4901,7 +4901,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) { case CONTESTLIVE_STATE_INTRO: BufferContestName(gStringVar1, show->contestLiveUpdates.category); - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); TVShowConvertInternationalString(gStringVar3, show->contestLiveUpdates.winningTrainerName, show->contestLiveUpdates.winningTrainerLanguage); if (show->contestLiveUpdates.round1Placing == show->contestLiveUpdates.round2Placing) { @@ -4920,7 +4920,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_WON_BOTH_ROUNDS: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); switch (show->contestLiveUpdates.winnerAppealFlag) { case CONTESTLIVE_FLAG_EXCITING_APPEAL: @@ -4950,7 +4950,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_BETTER_ROUND2: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); switch (show->contestLiveUpdates.winnerAppealFlag) { case CONTESTLIVE_FLAG_EXCITING_APPEAL: @@ -4980,7 +4980,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_EQUAL_ROUNDS: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); TVShowConvertInternationalString(gStringVar3, show->contestLiveUpdates.winningTrainerName, show->contestLiveUpdates.winningTrainerLanguage); switch (show->contestLiveUpdates.winnerAppealFlag) { @@ -5029,7 +5029,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) StringCopy(gStringVar1, gText_Tough); break; } - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); switch (show->contestLiveUpdates.winnerAppealFlag) { case CONTESTLIVE_FLAG_EXCITING_APPEAL: @@ -5059,19 +5059,19 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_GOT_NERVOUS: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_STARTLED_OTHER: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_USED_COMBO: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_EXCITING_APPEAL: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); switch (show->contestLiveUpdates.category) { case CONTEST_CATEGORY_COOL: @@ -5092,27 +5092,27 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_COOL: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_BEAUTIFUL: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_CUTE: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_SMART: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_TOUGH: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_VERY_EXCITING_APPEAL: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); switch (show->contestLiveUpdates.category) { case CONTEST_CATEGORY_COOL: @@ -5133,42 +5133,42 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_VERY_COOL: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_VERY_BEAUTIFUL: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_VERY_CUTE: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_VERY_SMART: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_VERY_TOUGH: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_TOOK_BREAK: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_GOT_STARTLED: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_USED_MOVE: - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); StringCopy(gStringVar3, gMoveNames[show->contestLiveUpdates.move]); sTVShowState = CONTESTLIVE_STATE_TALK_ABOUT_LOSER; break; case CONTESTLIVE_STATE_TALK_ABOUT_LOSER: - StringCopy(gStringVar1, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar1, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); TVShowConvertInternationalString(gStringVar2, show->contestLiveUpdates.losingTrainerName, show->contestLiveUpdates.losingTrainerLanguage); - StringCopy(gStringVar3, gSpeciesNames[show->contestLiveUpdates.losingSpecies]); + StringCopy(gStringVar3, GetSpeciesName(show->contestLiveUpdates.losingSpecies)); switch (show->contestLiveUpdates.loserAppealFlag) { case CONTESTLIVE_FLAG_LOST: @@ -5198,12 +5198,12 @@ static void DoTVShowPokemonContestLiveUpdates(void) } break; case CONTESTLIVE_STATE_NO_APPEALS: - StringCopy(gStringVar1, gSpeciesNames[show->contestLiveUpdates.losingSpecies]); + StringCopy(gStringVar1, GetSpeciesName(show->contestLiveUpdates.losingSpecies)); sTVShowState = CONTESTLIVE_STATE_OUTRO; break; case CONTESTLIVE_STATE_LAST_BOTH: TVShowConvertInternationalString(gStringVar1, show->contestLiveUpdates.losingTrainerName, show->contestLiveUpdates.losingTrainerLanguage); - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.losingSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.losingSpecies)); sTVShowState = CONTESTLIVE_STATE_OUTRO; break; case CONTESTLIVE_STATE_NO_EXCITING_APPEALS: @@ -5211,7 +5211,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) break; case CONTESTLIVE_STATE_LOST_SMALL_MARGIN: TVShowConvertInternationalString(gStringVar1, show->contestLiveUpdates.winningTrainerName, show->contestLiveUpdates.winningTrainerLanguage); - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); TVShowConvertInternationalString(gStringVar3, show->contestLiveUpdates.losingTrainerName, show->contestLiveUpdates.losingTrainerLanguage); sTVShowState = CONTESTLIVE_STATE_OUTRO; break; @@ -5224,7 +5224,7 @@ static void DoTVShowPokemonContestLiveUpdates(void) break; case CONTESTLIVE_STATE_OUTRO: TVShowConvertInternationalString(gStringVar1, show->contestLiveUpdates.winningTrainerName, show->contestLiveUpdates.winningTrainerLanguage); - StringCopy(gStringVar2, gSpeciesNames[show->contestLiveUpdates.winningSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->contestLiveUpdates.winningSpecies)); TVShowDone(); break; } @@ -5268,13 +5268,13 @@ static void DoTVShowPokemonBattleUpdate(void) break; case 2: TVShowConvertInternationalString(gStringVar1, show->battleUpdate.playerName, show->battleUpdate.language); - StringCopy(gStringVar2, gSpeciesNames[show->battleUpdate.speciesPlayer]); + StringCopy(gStringVar2, GetSpeciesName(show->battleUpdate.speciesPlayer)); StringCopy(gStringVar3, gMoveNames[show->battleUpdate.move]); sTVShowState = 3; break; case 3: TVShowConvertInternationalString(gStringVar1, show->battleUpdate.linkOpponentName, show->battleUpdate.linkOpponentLanguage); - StringCopy(gStringVar2, gSpeciesNames[show->battleUpdate.speciesOpponent]); + StringCopy(gStringVar2, GetSpeciesName(show->battleUpdate.speciesOpponent)); sTVShowState = 4; break; case 4: @@ -5289,14 +5289,14 @@ static void DoTVShowPokemonBattleUpdate(void) break; case 6: TVShowConvertInternationalString(gStringVar1, show->battleUpdate.playerName, show->battleUpdate.language); - StringCopy(gStringVar2, gSpeciesNames[show->battleUpdate.speciesPlayer]); + StringCopy(gStringVar2, GetSpeciesName(show->battleUpdate.speciesPlayer)); StringCopy(gStringVar3, gMoveNames[show->battleUpdate.move]); sTVShowState = 7; break; case 7: TVShowConvertInternationalString(gStringVar1, show->battleUpdate.playerName, show->battleUpdate.language); TVShowConvertInternationalString(gStringVar2, show->battleUpdate.linkOpponentName, show->battleUpdate.linkOpponentLanguage); - StringCopy(gStringVar3, gSpeciesNames[show->battleUpdate.speciesOpponent]); + StringCopy(gStringVar3, GetSpeciesName(show->battleUpdate.speciesOpponent)); TVShowDone(); break; } @@ -5430,9 +5430,9 @@ void DoTVShowInSearchOfTrainers(void) sTVShowState = 3; break; case 3: - StringCopy(gStringVar1, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon1]); + StringCopy(gStringVar1, GetSpeciesName(gSaveBlock1Ptr->gabbyAndTyData.mon1)); StringCopy(gStringVar2, gMoveNames[gSaveBlock1Ptr->gabbyAndTyData.lastMove]); - StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon2]); + StringCopy(gStringVar3, GetSpeciesName(gSaveBlock1Ptr->gabbyAndTyData.mon2)); sTVShowState = 8; break; case 4: @@ -5443,8 +5443,8 @@ void DoTVShowInSearchOfTrainers(void) break; case 8: CopyEasyChatWord(gStringVar1, gSaveBlock1Ptr->gabbyAndTyData.quote[0]); - StringCopy(gStringVar2, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon1]); - StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1Ptr->gabbyAndTyData.mon2]); + StringCopy(gStringVar2, GetSpeciesName(gSaveBlock1Ptr->gabbyAndTyData.mon1)); + StringCopy(gStringVar3, GetSpeciesName(gSaveBlock1Ptr->gabbyAndTyData.mon2)); gSpecialVar_Result = TRUE; sTVShowState = 0; TakeGabbyAndTyOffTheAir(); @@ -5469,13 +5469,13 @@ static void DoTVShowPokemonAngler(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->pokemonAngler.playerName, show->pokemonAngler.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonAngler.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonAngler.species)); ConvertIntToDecimalString(2, show->pokemonAngler.nFails); TVShowDone(); break; case 1: TVShowConvertInternationalString(gStringVar1, show->pokemonAngler.playerName, show->pokemonAngler.language); - StringCopy(gStringVar2, gSpeciesNames[show->pokemonAngler.species]); + StringCopy(gStringVar2, GetSpeciesName(show->pokemonAngler.species)); ConvertIntToDecimalString(2, show->pokemonAngler.nBites); TVShowDone(); break; @@ -5500,13 +5500,13 @@ static void DoTVShowTheWorldOfMasters(void) sTVShowState = 1; break; case 1: - StringCopy(gStringVar1, gSpeciesNames[show->worldOfMasters.species]); + StringCopy(gStringVar1, GetSpeciesName(show->worldOfMasters.species)); sTVShowState = 2; break; case 2: TVShowConvertInternationalString(gStringVar1, show->worldOfMasters.playerName, show->worldOfMasters.language); GetMapName(gStringVar2, show->worldOfMasters.location, 0); - StringCopy(gStringVar3, gSpeciesNames[show->worldOfMasters.caughtPoke]); + StringCopy(gStringVar3, GetSpeciesName(show->worldOfMasters.caughtPoke)); TVShowDone(); break; } @@ -5814,14 +5814,14 @@ static void DoTVShowBreakingNewsTV(void) break; case 1: TVShowConvertInternationalString(gStringVar1, show->breakingNews.playerName, show->breakingNews.language); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.lastOpponentSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.lastOpponentSpecies)); GetMapName(gStringVar3, show->breakingNews.location, 0); sTVShowState = 2; break; case 2: TVShowConvertInternationalString(gStringVar1, show->breakingNews.playerName, show->breakingNews.language); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.lastOpponentSpecies]); - StringCopy(gStringVar3, gSpeciesNames[show->breakingNews.poke1Species]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.lastOpponentSpecies)); + StringCopy(gStringVar3, GetSpeciesName(show->breakingNews.poke1Species)); sTVShowState = 3; break; case 3: @@ -5836,14 +5836,14 @@ static void DoTVShowBreakingNewsTV(void) break; case 5: TVShowConvertInternationalString(gStringVar1, show->breakingNews.playerName, show->breakingNews.language); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.lastOpponentSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.lastOpponentSpecies)); GetMapName(gStringVar3, show->breakingNews.location, 0); sTVShowState = 6; break; case 6: TVShowConvertInternationalString(gStringVar1, show->breakingNews.playerName, show->breakingNews.language); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.lastOpponentSpecies]); - StringCopy(gStringVar3, gSpeciesNames[show->breakingNews.poke1Species]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.lastOpponentSpecies)); + StringCopy(gStringVar3, GetSpeciesName(show->breakingNews.poke1Species)); switch (show->breakingNews.outcome) { case 1: @@ -5862,13 +5862,13 @@ static void DoTVShowBreakingNewsTV(void) break; case 7: StringCopy(gStringVar1, gMoveNames[show->breakingNews.lastUsedMove]); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.poke1Species]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.poke1Species)); sTVShowState = 8; break; case 12: TVShowConvertInternationalString(gStringVar1, show->breakingNews.playerName, show->breakingNews.language); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.lastOpponentSpecies]); - StringCopy(gStringVar3, gSpeciesNames[show->breakingNews.poke1Species]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.lastOpponentSpecies)); + StringCopy(gStringVar3, GetSpeciesName(show->breakingNews.poke1Species)); sTVShowState = 8; break; case 8: @@ -5879,7 +5879,7 @@ static void DoTVShowBreakingNewsTV(void) case 9: case 10: TVShowConvertInternationalString(gStringVar1, show->breakingNews.playerName, show->breakingNews.language); - StringCopy(gStringVar2, gSpeciesNames[show->breakingNews.lastOpponentSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->breakingNews.lastOpponentSpecies)); GetMapName(gStringVar3, show->breakingNews.location, 0); sTVShowState = 11; break; @@ -5960,7 +5960,7 @@ static void DoTVShowSecretBaseVisit(void) case 11: case 12: TVShowConvertInternationalString(gStringVar1, show->secretBaseVisit.playerName, show->secretBaseVisit.language); - StringCopy(gStringVar2, gSpeciesNames[show->secretBaseVisit.species]); + StringCopy(gStringVar2, GetSpeciesName(show->secretBaseVisit.species)); StringCopy(gStringVar3, gMoveNames[show->secretBaseVisit.move]); sTVShowState = 13; break; @@ -6005,18 +6005,18 @@ static void DoTVShowThePokemonBattleSeminar(void) { case 0: TVShowConvertInternationalString(gStringVar1, show->battleSeminar.playerName, show->battleSeminar.language); - StringCopy(gStringVar2, gSpeciesNames[show->battleSeminar.species]); - StringCopy(gStringVar3, gSpeciesNames[show->battleSeminar.foeSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->battleSeminar.species)); + StringCopy(gStringVar3, GetSpeciesName(show->battleSeminar.foeSpecies)); sTVShowState = 1; break; case 1: TVShowConvertInternationalString(gStringVar1, show->battleSeminar.playerName, show->battleSeminar.language); - StringCopy(gStringVar2, gSpeciesNames[show->battleSeminar.foeSpecies]); + StringCopy(gStringVar2, GetSpeciesName(show->battleSeminar.foeSpecies)); StringCopy(gStringVar3, gMoveNames[show->battleSeminar.move]); sTVShowState = 2; break; case 2: - StringCopy(gStringVar1, gSpeciesNames[show->battleSeminar.species]); + StringCopy(gStringVar1, GetSpeciesName(show->battleSeminar.species)); switch (show->battleSeminar.nOtherMoves) { case 1: @@ -6428,24 +6428,24 @@ static void DoTVShowPokemonNewsBattleFrontier(void) sTVShowState = 14; break; case 14: - StringCopy(gStringVar1, gSpeciesNames[show->frontier.species1]); - StringCopy(gStringVar2, gSpeciesNames[show->frontier.species2]); - StringCopy(gStringVar3, gSpeciesNames[show->frontier.species3]); + StringCopy(gStringVar1, GetSpeciesName(show->frontier.species1)); + StringCopy(gStringVar2, GetSpeciesName(show->frontier.species2)); + StringCopy(gStringVar3, GetSpeciesName(show->frontier.species3)); sTVShowState = 18; break; case 15: - StringCopy(gStringVar1, gSpeciesNames[show->frontier.species1]); - StringCopy(gStringVar2, gSpeciesNames[show->frontier.species2]); + StringCopy(gStringVar1, GetSpeciesName(show->frontier.species1)); + StringCopy(gStringVar2, GetSpeciesName(show->frontier.species2)); sTVShowState = 18; break; case 16: - StringCopy(gStringVar1, gSpeciesNames[show->frontier.species1]); - StringCopy(gStringVar2, gSpeciesNames[show->frontier.species2]); - StringCopy(gStringVar3, gSpeciesNames[show->frontier.species3]); + StringCopy(gStringVar1, GetSpeciesName(show->frontier.species1)); + StringCopy(gStringVar2, GetSpeciesName(show->frontier.species2)); + StringCopy(gStringVar3, GetSpeciesName(show->frontier.species3)); sTVShowState = 17; break; case 17: - StringCopy(gStringVar1, gSpeciesNames[show->frontier.species4]); + StringCopy(gStringVar1, GetSpeciesName(show->frontier.species4)); sTVShowState = 18; break; case 18: diff --git a/src/union_room.c b/src/union_room.c index 38f2b22fa8..0d33a35212 100644 --- a/src/union_room.c +++ b/src/union_room.c @@ -3050,7 +3050,7 @@ static void Task_RunUnionRoom(u8 taskId) } else { - StringCopy(gStringVar1, gSpeciesNames[GetHostRfuGameData()->tradeSpecies]); + StringCopy(gStringVar1, GetSpeciesName(GetHostRfuGameData()->tradeSpecies)); ConvertIntToDecimalStringN(gStringVar2, GetHostRfuGameData()->tradeLevel, STR_CONV_MODE_LEFT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, sText_CancelRegistrationOfMon); } @@ -4109,7 +4109,7 @@ static void TradeBoardPrintItemInfo(u8 windowId, u8 y, struct RfuGameData * data else { BlitMenuInfoIcon(windowId, type + 1, 68, y); - PrintUnionRoomText(windowId, FONT_NORMAL, gSpeciesNames[species], 118, y, colorIdx); + PrintUnionRoomText(windowId, FONT_NORMAL, GetSpeciesName(species), 118, y, colorIdx); ConvertIntToDecimalStringN(levelStr, level, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintUnionRoomText(windowId, FONT_NORMAL, levelStr, 198, y, colorIdx); } @@ -4250,13 +4250,13 @@ static s32 GetChatLeaderActionRequestMessage(u8 *dst, u32 gender, u16 *activityD break; case ACTIVITY_TRADE | IN_UNION_ROOM: ConvertIntToDecimalStringN(uroom->activityRequestStrbufs[0], sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); - StringCopy(uroom->activityRequestStrbufs[1], gSpeciesNames[sUnionRoomTrade.playerSpecies]); + StringCopy(uroom->activityRequestStrbufs[1], GetSpeciesName(sUnionRoomTrade.playerSpecies)); for (i = 0; i < RFU_CHILD_MAX; i++) { if (gRfuLinkStatus->partner[i].serialNo == RFU_SERIAL_GAME) { ConvertIntToDecimalStringN(uroom->activityRequestStrbufs[2], activityData[2], STR_CONV_MODE_LEFT_ALIGN, 3); - StringCopy(uroom->activityRequestStrbufs[3], gSpeciesNames[activityData[1]]); + StringCopy(uroom->activityRequestStrbufs[3], GetSpeciesName(activityData[1])); species = activityData[1]; break; } From 1562280bce541ef23a1508d88b0e28648623a155 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 7 Jul 2023 14:50:01 -0400 Subject: [PATCH 060/256] Fixed SPECIES_NONE icon --- graphics/pokemon/question_mark/icon.png | Bin 313 -> 289 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/question_mark/icon.png b/graphics/pokemon/question_mark/icon.png index a6456901bc18f9b94f393901c50b90ea610de8dc..97407de0d3cd367bd2b6b7f871a97be0c14c9d48 100644 GIT binary patch delta 220 zcmdnVw2*0n3Wq^}Pl#)43(G`(-THN0`}r6c7z9d!{DK+&qk;ng-OfO{37#&FAs(G? zuUHE;DDbcZl|Bm(PVtuZ uBfo)nsp=ZsYsb^QjEeUm-iLS}eyj^5BnZhT&-=3g0000 Date: Thu, 13 Jul 2023 23:43:02 +0200 Subject: [PATCH 061/256] [battle, fpmath] revert changes to Q_24_8 format --- include/fpmath.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/fpmath.h b/include/fpmath.h index 7e25a92a43..987c59d5a6 100644 --- a/include/fpmath.h +++ b/include/fpmath.h @@ -1,7 +1,7 @@ #ifndef FPMATH_H_ #define FPMATH_H_ -typedef s32 q4_12_t; +typedef s16 q4_12_t; typedef u32 uq4_12_t; #define Q_4_12_SHIFT (12) @@ -15,7 +15,7 @@ typedef u32 uq4_12_t; #define UQ_4_12(n) ((uq4_12_t)((n) * 4096)) // Converts a number to Q24.8 fixed-point format -#define Q_24_8(n) ((s32)((n) * 256)) +#define Q_24_8(n) ((s32)((n) << 8)) // Converts a Q8.8 fixed-point format number to a regular integer #define Q_8_8_TO_INT(n) ((s32)((n) / 256)) @@ -25,7 +25,7 @@ typedef u32 uq4_12_t; #define UQ_4_12_TO_INT(n) ((u32)((n) / 4096)) // Converts a Q24.8 fixed-point format number to a regular integer -#define Q_24_8_TO_INT(n) ((s32)((n) / 256)) +#define Q_24_8_TO_INT(n) ((s32)((n) >> 8)) // Rounding value for Q4.12 fixed-point format #define Q_4_12_ROUND ((1) << (Q_4_12_SHIFT - 1)) From 0c0b841a80877fca5ca47bf9475df9959a3b0499 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 14 Jul 2023 00:47:01 +0200 Subject: [PATCH 062/256] Remove debug item effect override (#3106) --- include/battle.h | 1 - src/battle_debug.c | 22 +++------------------- src/battle_util.c | 10 ---------- src/battle_z_move.c | 5 ----- 4 files changed, 3 insertions(+), 35 deletions(-) diff --git a/include/battle.h b/include/battle.h index 9995a2a24d..29f33753a2 100644 --- a/include/battle.h +++ b/include/battle.h @@ -621,7 +621,6 @@ struct BattleStruct u8 stolenStats[NUM_BATTLE_STATS]; // hp byte is used for which stats to raise, other inform about by how many stages u8 lastMoveFailed; // as bits for each battler, for the sake of Stomping Tantrum u8 lastMoveTarget[MAX_BATTLERS_COUNT]; // The last target on which each mon used a move, for the sake of Instruct - u8 debugHoldEffects[MAX_BATTLERS_COUNT]; // These override actual items' hold effects. u16 tracedAbility[MAX_BATTLERS_COUNT]; u16 hpBefore[MAX_BATTLERS_COUNT]; // Hp of battlers before using a move. For Berserk bool8 spriteIgnore0Hp; diff --git a/src/battle_debug.c b/src/battle_debug.c index 5712c98819..3e704b5863 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -137,7 +137,6 @@ enum VAR_IN_LOVE, VAR_U16_4_ENTRIES, VAL_S8, - VAL_ITEM, VAL_ALL_STAT_STAGES, }; @@ -246,7 +245,6 @@ static const u8 sText_InLove[] = _("In Love"); static const u8 sText_AIMovePts[] = _("AI Pts/Dmg"); static const u8 sText_AiKnowledge[] = _("AI Info"); static const u8 sText_AiParty[] = _("AI Party"); -static const u8 sText_EffectOverride[] = _("Effect Override"); static const u8 sText_EmptyString[] = _(""); @@ -1302,7 +1300,7 @@ static void CreateSecondaryListMenu(struct BattleDebugMenu *data) itemsCount = 1; break; case LIST_ITEM_HELD_ITEM: - itemsCount = 2; + itemsCount = 1; break; case LIST_ITEM_TYPES: itemsCount = 3; @@ -1440,11 +1438,6 @@ static void PrintSecondaryEntries(struct BattleDebugMenu *data) PadString(ItemId_GetName(gBattleMons[data->battlerId].item), text); printer.currentY = printer.y = sSecondaryListTemplate.upText_Y; AddTextPrinter(&printer, 0, NULL); - - PadString(sText_EffectOverride, text); - printer.fontId = 0; - printer.currentY = printer.y = sSecondaryListTemplate.upText_Y + yMultiplier; - AddTextPrinter(&printer, 0, NULL); break; case LIST_ITEM_TYPES: for (i = 0; i < 3; i++) @@ -1586,12 +1579,6 @@ static void UpdateBattlerValue(struct BattleDebugMenu *data) gBattleMons[data->battlerId].status2 &= ~STATUS2_INFATUATION; } break; - case VAL_ITEM: - if (data->currentSecondaryListItemId == 0) - *(u16 *)(data->modifyArrows.modifiedValPtr) = data->modifyArrows.currValue; - else if (data->currentSecondaryListItemId == 1) - gBattleStruct->debugHoldEffects[data->battlerId] = data->modifyArrows.currValue; - break; } data->battlerWasChanged[data->battlerId] = TRUE; } @@ -1800,11 +1787,8 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) data->modifyArrows.maxValue = ITEMS_COUNT - 1; data->modifyArrows.maxDigits = 3; data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].item; - data->modifyArrows.typeOfVal = VAL_ITEM; - if (data->currentSecondaryListItemId == 0) - data->modifyArrows.currValue = gBattleMons[data->battlerId].item; - else - data->modifyArrows.currValue = gBattleStruct->debugHoldEffects[data->battlerId]; + data->modifyArrows.typeOfVal = VAL_U16; + data->modifyArrows.currValue = gBattleMons[data->battlerId].item; break; case LIST_ITEM_TYPES: data->modifyArrows.minValue = 0; diff --git a/src/battle_util.c b/src/battle_util.c index 438d980161..c00f9036de 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8060,11 +8060,6 @@ u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating) gPotentialItemEffectBattler = battlerId; -#if DEBUG_BATTLE_MENU == TRUE - if (gBattleStruct->debugHoldEffects[battlerId] != 0 && gBattleMons[battlerId].item) - return gBattleStruct->debugHoldEffects[battlerId]; - else -#endif if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY_E_READER) return gEnigmaBerries[battlerId].holdEffect; else @@ -9986,11 +9981,6 @@ bool32 CanMegaEvolve(u8 battlerId) // Check if there is an entry in the evolution table for regular Mega Evolution. if (GetBattleFormChangeTargetSpecies(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM) != SPECIES_NONE) { - #if DEBUG_BATTLE_MENU == TRUE - if (gBattleStruct->debugHoldEffects[battlerId]) - holdEffect = gBattleStruct->debugHoldEffects[battlerId]; - else - #endif if (itemId == ITEM_ENIGMA_BERRY_E_READER) holdEffect = gEnigmaBerries[battlerId].holdEffect; else diff --git a/src/battle_z_move.c b/src/battle_z_move.c index dec3701c03..55cc157bee 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -194,11 +194,6 @@ bool32 IsViableZMove(u8 battlerId, u16 move) return FALSE; // Partner has mega evolved or is about to mega evolve } -#if DEBUG_BATTLE_MENU == TRUE - if (gBattleStruct->debugHoldEffects[battlerId]) - holdEffect = gBattleStruct->debugHoldEffects[battlerId]; - else -#endif if (item == ITEM_ENIGMA_BERRY_E_READER) return FALSE; // HoldEffect = gEnigmaBerries[battlerId].holdEffect; else From d4bb1dffd7ba4d99b211b3c2d26d7c577093bea2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Fri, 14 Jul 2023 07:28:41 -0400 Subject: [PATCH 063/256] Delete unneeded workflow --- .github/workflows/manual.yml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .github/workflows/manual.yml diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml deleted file mode 100644 index 0d724c4a44..0000000000 --- a/.github/workflows/manual.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Close issues related to a merged pull request based on master branch. - -on: - pull_request: - types: [closed] - branches: - - upcoming - -jobs: - closeIssueOnPrMergeTrigger: - - runs-on: ubuntu-latest - - steps: - - name: Closes issues related to a merged pull request. - uses: ldez/gha-mjolnir@v1.0.3 From 240f41fc589cacb27a11cb4727c6b96fe1b862d6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 14 Jul 2023 10:53:40 -0400 Subject: [PATCH 064/256] Reverted BattleMove power to u8 Nothing was using it, despite what the comment suggested --- include/pokemon.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/pokemon.h b/include/pokemon.h index 022c155ae1..56359d8826 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -337,7 +337,7 @@ struct SpeciesInfo /*0x24*/ struct BattleMove { u16 effect; - u16 power; //higher than 255 for z moves + u8 power; u8 type; u8 accuracy; u8 pp; From 6382640f8a05d906194cd877d9aab117dc841bdf Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Fri, 14 Jul 2023 08:45:40 -0700 Subject: [PATCH 065/256] Castform, Cherrim Sun, Spinda, and Spheal Graphical Tweaks (#3127) * Casrform graphics. Palette changes, edited backs, and 2 Frame anims * Castform Graphics * Cherrim graphics, and Castform redefinitions * Spheal and Spinda Graphic edits. Spheal mouth adjustment, Spinda 2 frame and palette * Revised Spinda Spot drawing function, removed tabs * Animations for Castform forms, Spinda, Cherrim Sun, and Spheal set * Spacing * Forgot shiny pal. Fixed * Delete .vs directory * remove vs ref --- graphics/pokemon/castform/anim_front.png | Bin 0 -> 7222 bytes graphics/pokemon/castform/back.png | Bin 374 -> 7525 bytes graphics/pokemon/castform/front.png | Bin 386 -> 0 bytes graphics/pokemon/castform/normal.pal | 14 +- .../pokemon/castform/rainy/anim_front.png | Bin 0 -> 10405 bytes graphics/pokemon/castform/rainy/back.png | Bin 468 -> 9182 bytes graphics/pokemon/castform/rainy/front.png | Bin 506 -> 0 bytes graphics/pokemon/castform/rainy/normal.pal | 24 +-- graphics/pokemon/castform/rainy/shiny.pal | 26 +-- graphics/pokemon/castform/shiny.pal | 18 +- .../pokemon/castform/snowy/anim_front.png | Bin 0 -> 12943 bytes graphics/pokemon/castform/snowy/back.png | Bin 596 -> 10555 bytes graphics/pokemon/castform/snowy/front.png | Bin 665 -> 0 bytes graphics/pokemon/castform/snowy/normal.pal | 14 +- graphics/pokemon/castform/snowy/shiny.pal | 24 +-- .../pokemon/castform/sunny/anim_front.png | Bin 0 -> 12547 bytes graphics/pokemon/castform/sunny/back.png | Bin 553 -> 10105 bytes graphics/pokemon/castform/sunny/front.png | Bin 607 -> 0 bytes graphics/pokemon/castform/sunny/normal.pal | 22 +-- graphics/pokemon/castform/sunny/shiny.pal | 20 +-- graphics/pokemon/cherrim/normal/front.png | Bin 533 -> 0 bytes .../pokemon/cherrim/sunshine/anim_front.png | Bin 599 -> 11320 bytes graphics/pokemon/cherrim/sunshine/front.png | Bin 599 -> 0 bytes graphics/pokemon/spheal/anim_front.png | Bin 751 -> 9677 bytes graphics/pokemon/spinda/anim_front.png | Bin 668 -> 10744 bytes graphics/pokemon/spinda/back.png | Bin 677 -> 10353 bytes graphics/pokemon/spinda/normal.pal | 18 +- graphics/pokemon/spinda/shiny.pal | 18 +- include/pokemon.h | 2 +- src/data/graphics/pokemon.h | 10 +- src/data/pokemon_graphics/front_pic_anims.h | 85 ++++++---- src/decompress.c | 6 +- src/pokemon.c | 158 ++++++++---------- src/pokemon_animation.c | 8 +- 34 files changed, 241 insertions(+), 226 deletions(-) create mode 100644 graphics/pokemon/castform/anim_front.png delete mode 100644 graphics/pokemon/castform/front.png create mode 100644 graphics/pokemon/castform/rainy/anim_front.png delete mode 100644 graphics/pokemon/castform/rainy/front.png create mode 100644 graphics/pokemon/castform/snowy/anim_front.png delete mode 100644 graphics/pokemon/castform/snowy/front.png create mode 100644 graphics/pokemon/castform/sunny/anim_front.png delete mode 100644 graphics/pokemon/castform/sunny/front.png delete mode 100644 graphics/pokemon/cherrim/normal/front.png delete mode 100644 graphics/pokemon/cherrim/sunshine/front.png diff --git a/graphics/pokemon/castform/anim_front.png b/graphics/pokemon/castform/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..b737a1d49bb5258a330f3694d900c5df1209923c GIT binary patch literal 7222 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 diff --git a/graphics/pokemon/castform/front.png b/graphics/pokemon/castform/front.png deleted file mode 100644 index c21ab589bcf9e5030e071676ed111ed803f83e40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/castform/rainy/back.png b/graphics/pokemon/castform/rainy/back.png index bd7ac7d7ce21002dff974c8c7433de2d0dd1bc32..9fa76ba8af840f8e77254bcee333392f45790d00 100644 GIT binary patch literal 9182 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 delta 454 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/castform/snowy/back.png b/graphics/pokemon/castform/snowy/back.png index 6b8946b351b75a2b5d823e572f8e62e266d79d8f..d8ab4e38af2d7f42cfe4c5d8f69e66eefa2b2b37 100644 GIT binary patch literal 10555 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 delta 583 zcmV-N0=WIVQq%;H7=H)@0001;w}I>c001yhOjJd50CUB~lqpgVwV00F~EL_t(oh3%HxZp0uAL@N^|#$mPp|F;Fq#eW0?*{bbRX5S*_#9;4` zudhds9zA;W4{}mJ@t#tjVEjTnRpA}R&|Me{KW0C+5{Nr~@35^Z0%7V$_S;^ywlSdq zg2921iv(N%Twa6V{aK=fT;F>DfV#%NvvqsH3=lgE^)2VgrK^4wU}MotXeNQX=vn+6 zb$@(2GhBxNc7J1;4gClpzh3->cpGAzZ1|0i&_OzBscR!9{!m0YGrZQ48Tg*~8-y4H zf$$re`Xd5B^}BQ&OM;6%v%PsEZs^*d`YyFa-6Al6Hcf`cQ}BC$_=lp+Xnqq3OMn-d z&2$X!-^tGAs1nF@1YeK&rHy2V1J42DExobG_!~QgdobQcC~-{}>n;H*ByV0000G zbW%=J0RR90|NsC0|NsC0|NsC0z)*`r0006ANkl1UGsFhuCHnLxCu@-`xiuVFy2 zdS^moSHF>?i*V!(!u&yy?4}{$DS55p2w;TY84}gy3;>02rW~=+1eDMq+CsqY@E?fn zP_Bh{LsQ)aRVaqnAJ0XE*kU*Q{B;&1>`DQ){?#vpFy2K4AmVv8-&_XlETRE8`(~34 zC-wrA!1Mkaz~@&2@83!g@4g#h5`fn)b>Q8Mvw(CkiP&34ts^hymk9`9S?&Sk{PP48 z2#fg@5R(Ie`F$3XsU)OeV<# zUZ|+}m0%s-*%|O^60ZP%V|t|0)02*9BZK(?l>mb#@m6O9p&(MSwv+?T&S(gTtV5<8 zaNDcMQvZUpA-v`P0{|hs=YJpYc%^tB{X_i#%;qYz`l)3400000NkvXXu0mjfGE+H+ diff --git a/graphics/pokemon/castform/snowy/normal.pal b/graphics/pokemon/castform/snowy/normal.pal index e05641ab1a..a32ac8fa02 100644 --- a/graphics/pokemon/castform/snowy/normal.pal +++ b/graphics/pokemon/castform/snowy/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 160 176 197 197 148 41 82 57 123 82 189 139 115 213 -148 180 205 +222 84 195 +242 156 214 197 180 255 156 156 197 -139 205 172 -115 164 139 +172 221 198 +124 182 168 98 74 115 -189 230 230 -82 115 106 -74 82 74 +214 245 229 +83 113 116 +75 83 81 255 255 255 24 24 24 diff --git a/graphics/pokemon/castform/snowy/shiny.pal b/graphics/pokemon/castform/snowy/shiny.pal index e05641ab1a..95eba60731 100644 --- a/graphics/pokemon/castform/snowy/shiny.pal +++ b/graphics/pokemon/castform/snowy/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 160 176 197 197 148 -41 82 57 -123 82 189 -139 115 213 -148 180 205 -197 180 255 -156 156 197 -139 205 172 -115 164 139 -98 74 115 -189 230 230 -82 115 106 +41 41 81 +88 81 189 +103 164 224 +222 84 195 +242 156 214 +246 255 178 +211 198 141 +170 201 212 +153 160 168 +74 74 115 +200 234 234 +110 120 135 74 82 74 255 255 255 24 24 24 diff --git a/graphics/pokemon/castform/sunny/anim_front.png b/graphics/pokemon/castform/sunny/anim_front.png new file mode 100644 index 0000000000000000000000000000000000000000..5f4a9ea78813a095ff52e0a63c491d82432b3ed6 GIT binary patch literal 12547 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 E0dU;3VgLXD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/castform/sunny/back.png b/graphics/pokemon/castform/sunny/back.png index a3fa23260d2af3b8de5cb91ee280ca8afdef8d65..53e5a4b60fca321be46f2ce6c66002d0087006a0 100644 GIT binary patch literal 10105 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 CYkmv> delta 540 zcmV+%0^|MpPN@Wt7=H)@0001;w}I>c001yhOjJd30070slwvU{&00$CdrJSDK>z>% z|MqI;)oTBoV%396lv+X6&E{HKQvd(|7#J9eVwV00EduL_t(oh3%Hhj)O1^MUlfSl1T9Xe>?FbkAKqG&d~0LyFwNB$ho#d zx9!oRN00u8GU^k1L;>9O$K!~Mxa}9fJwh+w9spA8N`E6z^!EXrJwWP&gn-qSW;uBQ z2m&7ffS!Fsi;e(I#a@4R0WJAg|Kd<|e*pwh0St-Sfc|DVbp-?%0d_|~lB3K7!KmJm z(*t1Uy$pP2P=D=+2_OQ*i=bwamH==53J5-+%oQA1c5iNO+1lLM~7aZ=WeAtb*ojM#!GO2B9s) zHvlq2c@KtPmSWP3HiJ3L3AL596DDAv5`qUP1nB;7L4V*3G=Mgbyv29|(cli9pwDv! zXz~C#IshT41^9qK8<9@U?*s6DRO}^z=n|*^_5TLojco#I1S%nY4loIQ7t|DB0ibMB zLl}exFfaDHknhS77W^s!uY8bCiwz(GUYxIX`sl)mcE?XyCc1lbb!Yjeo!jZ#2Snme eTWa>HeiZ>=DJOB}e0mZ90000n;;(EEX0000G zbW%=J0RR90|NsC0|NsC0|NsC0z)*`r0005bNklco3`L!2MZacCD!}C$JSzFG!B>FmYTVi`L|_eiD=>a_eD%v2AzM5DZ?GQ1wJ3HGgqjId zP}rb+DQ1}C0`2``AZzqu=3uOd*2cIQ&o~RVtqCIC2vr2LLTcEIpJf{;(2cqcI2VOB ziwn34+>Ljw$O1}k(BTc&3B*nm9!3OA+brfL;KxkJfXy&}^X-fZ+|fYkYQWQ>61b(O ztD!w7f=5a-GzI#ZN@Aek-vu#bw8*%^^S6;B$xVmOYAq4bfRAHsDJy?XXB thMx^IwD_~3w22Sg0pFp=fJ00000u}2ae00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2LUhu3x*I!0004aNklvBYrpn$sRFDU#WY|&bz5(4cS>*}Bn5hJbx#D3sJ1W!J z5n}BPUH(sZXG?LD&Gy9@moJG1h1qPej2FaVvo?2N zJ%xk>&zQeDu%vD)gNbPy;0*dY3v(Iz4gEhGXf`zcQ zEU*K;DRG2^o1$xrjs-yTsv X;VSyPBUg4=00000NkvXXu0mjfGxgf+ diff --git a/graphics/pokemon/cherrim/sunshine/anim_front.png b/graphics/pokemon/cherrim/sunshine/anim_front.png index fe8ac9e465dbb5f168bea9e8bdf378d04e99d5d8..f9530f0e0790f8109ac065b0ab31f3d008380af7 100644 GIT binary patch literal 11320 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 z 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 delta 587 zcmV-R0<`_OSl0xQ7k@wm0{{R3SVwH_0000mP)t-sn9!hDFgTb{SopxW5D*Z+c!2n* zp!i^b_~7t(XeiLIQ25}8C~z<^pg71lXn0^KF<`|$00009a7bBm000id000id0mpBs zWB>pF2XskIMF-~w2LUhzd+g-M0005HNklI0vzDm#d9ol1(o8ewq1pW^Wv4 z7ymWfe7R7n2f0AK>~DaAuqW`jAFV%H6T1Pw?w_r7v;%eD_s^+D3$esXTL3aqKtzE@ z`2b>Iv#98vrN}6}1t6gGJ!*M#7LuKm$VmFyJ_*gHs zR&x_5B9?_{=tJGE62Qz^^{0^#Bdv8U12}}giDD0Ahkw%RMM?kwgpNs6+owe6mmi)9KzKWsEGSUW`_tlIqX$wW10!PNXz@0VBQSSCoJppyf?+h*JH2 zqUIG2whAs;A1Er&>9fqF(eJ{P2>DX!dKfSdO$#1UcUW`v6;pQC)Cp(;&3gq{vH!WO zj1YQo14IH!TXq9ZBew~*Is5=ozzH~D+W>lLe89t3m9s_M;YTR*0H>&=BXie~+->r| Z8{g>&oPN1;&ocl3002ovPDHLkV1l?$1Bn0t diff --git a/graphics/pokemon/cherrim/sunshine/front.png b/graphics/pokemon/cherrim/sunshine/front.png deleted file mode 100644 index 686ca0d1a6391b2fe54e2d8a5b8fec363c4bce88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 599 zcmV-d0;v6oP)h{E0005HNkl0;Kv6jN~348(@?KCv*RhF>NK70AgUXumM_mzy)?#KhtjwSqPV8#QmgU1q5O(%RPR)n{i8p zwK0!Q_;5GtfyDxetdjvrLI6ajLmVgf1hC^oJVO+i7UTV=#KY;ZD;i3gcciObVp79# zI+sIb>j7dnnKk%WFSS;46DT5qSZc z0ECW7RNJRS=;azfqexMXDE(WNfF8uubkphHB4vy$s9ua#ppxp(^0lH0F;1j3djTW8 zexl|T4z>y|Ssy4W(CM?xq|xuflnD7!>3SG24^0amQg>K$^%YZg z*VGAU0?m5`Sh4@Ptc(zPa03ELTXq9ZBew~*Is5=ozzH~D+W>lLe89t3m9s_M;YTR* l0H>&=BXie~+->r|8{g>&oPN1;&ocl3002ovPDHLkV1h#`08an_ diff --git a/graphics/pokemon/spheal/anim_front.png b/graphics/pokemon/spheal/anim_front.png index 677d8651cd6e9402af9a78e7bfdea40b77c5bfa4..5ea0504180ee19a071b23e17dfb86b4519b17d83 100644 GIT binary patch literal 9677 zcmeHrXH-*L&~`}ZMMRKZLX{pu2SG~cH3}#oC?N?DYJgA$>0Ns79YLDXqzHl_O%$Y8 zLFrNi5kUofgSW5m{d3p)-hVf1ot$&_%seym% zUx9=m{J(asn;8H=$Kh*iio1dE0%P4=Y%q>!FwO^y2BW<(HUNP4?CUHuPnMR;;fqhA zg$b649X zXD4yV3Q+7lVD-D7m#=w0;N>SJzujwZ_7meT)ova-)F170+<}C6tqy~#j~EX6 zAm4wCKJjPb@3@m>Q*!h}5gtID@?k4xkKO87+G_RF@9Vrn2fhm&LYUg028J!CvO6x% zZxubIn9_#k(Iu_Rl^zi$on1*Mb`cy73dz8Vzhk(gIk<`BBV4g{{qBde!3|%%yh#0> zQ)q`_=DYWLhmBC*5$C3E!p_0r!~8aQhhO5gTH1i}{IB;J0!|dnB5RraqdLwO+vfZy zhXggGRh>Sm`wOr7^tmSMZj8Q$N*$#B4CDNGF!l{&d{{)+boc(}dR6K~+(JV41@3ul z-qdA!qoMs~Qy<#p=*@4BOPTLkXn%Y4olItOe9R!0r}oN@+{@vX(Dk|n$dN_0>nfY9 zBr$RE#rr?|PIt+U9$i-5`?U1*%5$jTv>q&TOd=vN5xb}&Vi>4&zvEiUlp1kNQ5F3r zp=U>U2JcA_;ifk3L+6XFN)p(@CjwHMbWuG%9&zPKRl%;{TIl3OQWUpJNJU@DG7qRQ zr8yHdB*4^yxt_k3!kh;~M)_?Yvx;%khKW|Lls#0ba}ymmd>zZo%$sVV^W=uEP&=h= zT6Kn*RM3a=3Y%NHjph!O?Qv=5&ZTCR)s62o;uQ(9N^jS;AHM5b$_hy&v8BGii0sX@ z$$P1v?a?%|ZkjSYSSftlqj6$t+VvsTeaAVErwd22@8LRE^4+%aWGF4)u$O7cc4_h4 za(cSBpV_$QJXfpqJh5@_jk%wADQL@f^0;9#o-=r{> zz_tSvP@%?WmQv4_0u|3Nj9d+mpKm!HEEhjgT75ln0(T$NLiQiw9rptDN4B z_=?u)NXohTTWvbAh@!D3Yo5D=6WOtMZ)B zBzx*(lRyRE828{c5s4thovK|!)`x4V9c>V`$=JGArl+QH=_!sQAvf$XVFx@%Lmi(F z(bVL1eYe+Ua#dip%3t)K`iSSGS3abB{xtDNR>i7vD+6f#CGN$JQz?1OV(6@_Yn&7B zQ42SwhT(BmwGmrkbE;u}D!RAMEWfn9VTkNW>dLTSuJvK5;h;_a0IzdlQ+coFa@nqG zbyKZeSvJJvhIqv6Li!u+?24z|3cY1*A3v8qm}h8L&KpDtRvaRzY>dQhU(JMB9AB~g za@r_tStP}$a)HEbDEWAQ-bIH3n*6U;6YZ$e&(%?+*-ji8W>X+Si0-u>TMGRhw zp`Y@0KAFW#MrThnSYE2%uJYoL(Wpqz`-<*$%m&(RP3OeYvpnq6FCKm)Y5Muy$E#@; z-8PTSUl7}LCA@1AGNx~S>)vXzpta&_i}2Ea6co+%6d8_?u7!HRdC^6Z2cwya%+N-i zNkI|j8}UP}DcM2EiErv+%(t_@yfN$VlQe)3CtUvcGwV4|GS~F!MV~)r?1us#u1J1sYfGtn0~0X=hE0mVuBQ zNlmM8hAN6C{_!*OK#^3Rd2~k*U95%IO^|68uUjhUW_UJZW|NU(Vl>O7XhbwH24Yq? zX=ru!P5SA;o3V#}z7nKE#{AjpdSF2PsAxlD#25IQW1NQG@l#;-a;0W{f3kX6C~F}e<7?DlGKVe?;*&n;wj zD^&$|u-VIlElXPV4ZKFv(eTRB9lO{G_2&hxL7(Ld`kFF(-xRn@PSFyg68*w7+D3Lo zhzo#cdAi-K8Enw0M01=ZKweA|H_N7GS54QMYnldoFUG~Au5@eKHKybs*wOJ*2ERIh z#mwE*qd0I-Sew^%?VT{&sQrK)1<4LobfW;E^Hb1>o$!~7+PSZ$4w_d7(c-ezUxIx) zy|XF4u-q_7?yb5&SMnI>ZNL!m=;ec##sJ9}l=66O5S%8r`Bra$`N8qKpYz$fhr}jx z^bC#()BajDJ0@{USAikI+?J28d>Wt`PKBjkY>oY}05J3*;_V~6IhqXwgf;J~jNQxw zZ5EttUhILC?;;Ac+8%vFLM}n(%!%m+%n2sktjffM9w`P7B7~R&k(Ux^Sxh6t+i}cE zHmrujiC|cmM$eSZ3vsChcDI{+qNITPrt-!zisB#3VrUFB?5=u9`b(hLWK9K2PjGB2 zQ4c(ZBCfFvgr}rFx^z}?j4X;d3m1#jXF~|L=3P?5=DxgA2!a#l*Qa}k&AFxJ8E|cB zAZx6zQP8>0l=EtRHF*{8R~V?nBgF5W(Rs(MTpL@mQUWSx`+_1$BzMgn=VK-f$izru z8@>W~i5~3(G-+~2%ZFpYFyuH_*KB%m55r}cZHDdM%3JCJ&*XbIdQ>f?u2}U` zk|Z>-WWns*&``5$(K7j~S0zftO<8AK$$ua&hj78q4j$2((cK{PkWxG&3ovclKpRy% z=!DNxIv1=1^+WF{^jp!(^97Blu@`Mk#;+e`N+)rU1aKa{PHjSU& zHDO{_&<_Kk;|r2?d}G|^OHM}iCpE>_pg(>vJpb|ir})US_r}LDwr8W-q=&HXF4pp& z2D_6b_9dws2CXq`Lu7h$z^tDA_!ppQ#t8G|&qsE)3d$rD-(hu9;Owj(V*fB?FDdAx zyw;y7$Nr8fGni7&rQAe~)@Xwk%8b4OYG-Qe5gJdh5)Us}gPTUWFGWYqCVT>&sr!g1 zP>vcAN(1}1i^_F-b1~rD^nh8|)Y&DrL8e)IO5*%K4b32dtkq*X`wJ3j@ZO$zgNf5z*Ph2W<7Ud3g4Zf(JB2Jk-Pw#gP5G$Ri z1i_i?n6oK3-KiqT@U^6~Ru(QOy|~TuQ%UaY&%xTZ1KsCw{#|t5S@bG$m|;ZLhh1F* zBTs`B(azwgnr?fpE}9%|V!+)%L6QTTf_Hodj3%HX9ouCq<_Gj-ly9WAZ;RcXoljk@ zj-w-(C8V7R)ag63&hsU4PXyB^EYj4swss~Whkr(IF=TC`g&Nur7a$ifas7Ay_=~#9*Z-EYdui zfx6wXg*b-$-=w$Y7dV(Kb@baJ^-wyENw;DAaMxIk1Z&3G>d|)_g%{taOF-hB5ylPF zMY|lN#!=F`yJ67seAOenDreG@x16LDjMtLLXrF4R`{MF4=ocRFF8L|n zBatoVOmYdGL48QvdK4^e&ahar30GYKhvy+dCXlMP}FKb00gn=pTc+ zY2Yc6cSvtt>uL=DEKt{9Pvw+umHytC@BXvhT7o-dbNZ#peZ^G$l|0n_3e^({hV}j9 zN;0AS%c*#0u9bEr4n~`$isJ+7&Nbv0hKu98BFUIpfyHSPYNObBFqL9vICBITXA&&2^VX^Xf^LLEuO_ z7DZ>{5N9!Hrm8S5|5@f*cE+e9KqjG6V$@#rgvD3VgHof&5jWVk);Z#_FiA}ReG4y&uht#y~b^3!@$jJe0wms(;u5`-&W%Bm_hT8O_JVEV2+e%;?JuEM;hKhdKO zl=`yKm2kGcI9yyyrxugHIs-Bl7pR(&V3$zWPb;@~T`lbvr>xC}j+gL=#m~#0c~}rR%fVkI$BF7CcVg2YK|oV0sRZV2LN= z0aHjf%qgQfUGv|brrADpd8>ncxI0{MBhJ%0kBw(@e{HWAwo7D1vPCadx5pi`#mSxK z=%R+QppRUO;noajfU!}Vsu`JRbuOh)jt4sq*{Jl(?!gL!62Fj*CmIy`J5lKb+G`T3 z5~8%PuF*@B8;?JunvaW<@);Q(TLE874m+YDw!i)5;)|Deu~GZwS)k>hU{?h(CwMk(@)RGu}y#!F!P)>_=GC9PZ~8<4ri zK0tY3$K=uTkY>NI&;3jX_*IUU=8eMppS#-qvco&T$ef!nIl>ZcWkD_TUcpEWKeKUB zY@>n$Vc+|7gqG5X%G1S+;3i0v4s|oxy))V67G9%<_cE@eUvuKEeIK~DeP0HqNKi0$ zB`VUnr$`UwD8LIOt>KoQ2{LwbVZEA+n=Vl7mKLRr1ud1%(~kClN4t%*!ck=9Z=a|* zw8zf`PL!K1uz)A2;MRkj9;Z^|zGZRW`bCt3XI0gVYv*3J5DILd;ia|0@r2BOm9k)F&w7!-#A!D%Q}3|v zXys?Y3#h}z3hWi=lKRn16|0IT&};(HDaw?zaheuLlIf-DVwR-6L7>hUF+O91R+?(+ zYyz6L?KXZXN=AnQd8RjND0La!k!Q+-c}9M6Q++NOp()L2Cvx(|X#c{u%$J;EH6^;> z1^a1VEM|q)2z4Cf+(L4mkG?kr3!LzLi{=G77D|7ZuXR3Bp=smLli;saK#GTaznwdy z{rqg6^ia*UPY(XtiKLk`t?W6|$Z1o&-t^sBsNYXW$8pRpLA2MA3rS~W6hao!4FC{? zVqh@1HVpR1Q6c_-FvmYpQL9^-_2pfoQm)G+F_E%_6$bR`>a3;F>W|^Gqgf(NsJMiBnP$ z&9vYZa}zEAUQSvj`5CgfkoB!XTSkD9NdB(l4kYOuID{keXz{)}A4<>&j`i(ZC)~We-SwCd`0i)v+ zpQ*4|(g*bX_ZF5HEO**Z@0HCgQoo3G>uciWY{MVvGGg#Yx2F1f@<)Co^ydQC`GPYQu<>0SQy$4qvh*{Hu5zvM*2D+ z4+L-iC+2V&OwwfZ>xqo?-3lf8p|Mh4sfrg5S;VU6) zBPJ#yiIkESv9>`=h)7C8(UMT4n2oF);%`ve&h9vbGZK9cg$EbK;Bn*-C>u0V1}Y*e z2StcTN{Jyv5KwVR5rj2D8et8U6SJ0v{td#=4TJAWgyY|%I)_5xp{(U(WMw48P$F`Y zlIPLjyF<=KN)8{An2n5-oFqO}Q371!aYb$bz zi;Dd<0(V59Sxp=w%B{If1p^b2eb3UQcvU1{LQgUK4GUC!uN$J0oZlc}X z@x6GC3KbKT_zn5IF!K0x@YEvCI~5P`%L1Q`Jj@M^z`3{?ySO+ia-9bSKDYeU;9!N{ z%A$pF$7}eU_x$f&Z-jRJ?d`Wo;E4Gp0)u}wt~>(yn-h10CmQw35#H`M5z-FfY>URv z@ZVeNk8#ZZQZ8$>H9`h0D=UJQmXj8dL`fn=WD)qniKC&`2(+~7a^w)jl(+2C8~S2ke&-^mpCXEa`R=yRsT#3e+;WJI9i#!zW_DX6@p3>W10WFhBs z`j2cCApZ{^3cnQowg}+uejCFtF8H+y^5-O+}|8nkYHCX3tzJHKHob50BW&;-|#mwtd^NO z06;-|eh~n&av1T0Bsgt-b&_=wN(Kpt&tvKu004MhTTR8-w0kE_(P0iw7oK}Dv`>&G z*i*O2(<@GQl6k>?BTLq-`lbaU(ZFf65k@w>pkC8YPx|(?@m|tNV4%u3lKp_qL==sm zQb|P$eY+J^Yy9x3@~Dq|uC&vc`4Ge5^44RgOP>v>x4%jgbaI+ojj^#SFA}mnS?gfC z(6!?dWJ6EkR`9%yNKwkFEzk%6ESP_7zM-0T?X1Zp&?}DHB^c;N$1CldkL4-xmLs<1 z0XbjKUPE{IyDBhsmImE6C?u{@?27=Z26{izXMGY6xK~?a^)v9IPwLV8jF+fBB-xG7 z{>o=DOfiO=8Bc`pANQm=@56Y1M92rm>Mm_Lu)%FK!Xv0U??vc@?o-ZRQUw}P^T=6c z8q1P%TM_}SDR_&>mq;nK!0cW!g1RNo0K{s9d{9lUu9ZM^l&d;ZSz0Cxjm{|xW zTl!}{d&c2HKzqfHPbd4kE-J92r!1`jr6dKQ2gHgSl+0hOijN&)*;CHo#U!Olbl103 zR;f8~zI#FngKh!d6%!$QJooxfRVqnb(-d}T&A{wG{yUGf>fzb zI&T7EUK*8>bTk-+SlYxJ9_Ub)1C_1M=1KWp1S6u_MjgvTlof_6)yc6Xjj)*4+jbWNPBRx3_eq*I%8?N9=Ccaam> z0wKCg1uw}5Fa(ruP=A*`{c(%$k2ICiq6gNX`}w`Q<8<%W>9o&x$6dxzxjAXzqa??D`=Z}sj12{Es%Mxn9+H-s;AOwh~TEsDX z2e9|z8ukwfk!Sf3j(=H9c086KMTk7h`Rw;J3>g{>478%ERzabVWg`-Kx`pJv;;T;0}_ba-Hpl=DKCHl5rIj} zkw`Fdz_P@>>arx_7%66$As{8_rneWoiW%_;kv0NfP#k>V{5~7;e48o{K8^U4r#AA(n_)WUp?g&Ni#ky=z+M7?nKZ75ty)5J&-C)lbaPi zkao(TW%EyYsRyd&8C7;LMZi}c$_ijMUscDUumc>u!J4;tcd&uw@yjzzX!Z}u2)2zTNcfCSFV6-oT+M+WbvT5fMSkd|I&m`Q~6t`+FhX8Gwav0s{U8rKN3I9 zAa0KRIs86}X-6LwBuGBc_u~idJaI=J790z*cXf_je~;E?F#`eHVhA4{$WJlEfz9ICEeH8o{L0 zuqqkP&6AqG?pA%w{+?#y#9CeWtRd+*?HiMG8QlG~Qqs)xv&^+E(=LzsgEar)X|WU1 z7GYdc+KYacC(RG8I$G_+$ba6y*#F=XODHm^vw8abU1Fl^vTWU*4wmKR_T(7_Tuoi0 z7!>CHM-l0?*K#4J>=H*x>qk?exd-PM_!O^2XyvsxWTxfb>V#AZOq1io*=RQUoI!rqy z8@N~Nsqtd=>go?wnDW+58~HQw)-9B!7@0Y=#xeV23YDi>`tP;IcZ%aFGe7n_3>UD; zL~bITQ%!7N20T;zUe@B6V))Q3AdbmwCD#dtw{iF5Mi(t>`o(gq|UL}dW;dEyfhvA*_>H*p13R2uHM_f#F;H7cFI7HQYBO}qbnKB;cU#i9BjS!=ugnCIC&`o;OVOWe0ZbEN)K zjr+Rsy^r_A$~S8Sk*g=RG}771FQd#y^j+d#N;blp^X(7Jqe2EYfM$&d|1*p^k*chS zMQ(9qz)^md=h+Z4ln-HBpE(=c?4ZI?l_&DJJ>bmK$%3%zqptY<@0&ti?;f-*85`?z znBR$iey>jS_Lfw);k2%ITW2bhebbbg($3;n{br`Oi*rs({==hc8ll}J+^BBh6h=om zoqTa_LXo{9J=5AN_~VP)J21$UGfAj>rq0O5Pw3=*uZS4F6w({Z0qIjuMpO|kD^Xho zO3!k?Crchg>UrAcP14%e;KF~Nsl<62@Gvvr`K~aqqy9NJ($AWlaH!j6_Pyq6@>>`7 zv{SjJL@n{gRKd%;HKX(~2Kv}fB^MU^HX}a4J`eWYvMqA4O`q&&?YPdq6-+}LM>Sn^ z5vTVkfwv*vhIP;Tqd#Yhg|kN%nO8%@LpHg_!=ua(eI#+7(JRB%iRaKaR+L%TA^VDp z2X3EQHrf^%ZgESziBmIr*8ag8kw$)ML`k&2E?04VJZ5%|FXE(oy>%8i$Bn@@TKny+ zLQ7j^{TX(#*J#!;H;jky2QzSM$9?ar;Osnni$dB_27ij_;7f%v$nCajp0K*9?c2Dq zV1^*Lr9`aY*WLqeE*ct#L%d9o%i~Gh8v}`okDtnbhVhA4NsdV&s&+dE$-BXh_`X{T zarNLs#z{^Krcv?5?PoH}Q+w~XOJYrOegtCDDOe4&xAb~#*A`>kl}a6()=DuT&LicD zXw|N%4&HWCO(zN)skEHQXq+McWm4b(q!EMVzX@*S1E(?qw!C#Z1S-x412 zjD8cZHT`mBG)fCkIFX;CVU8LLShX`l__|A{`XdRXQMLLTGr**a_6`n>jp#rMK$oZB zdcg@hgm#_^m(U@kGkd@4Y^k_Z>l5$8pS;|RVClMahk>bydj{fM;MI`(DGO~gYGtLU zH$h@hhJqkQ@_T3A@!}#5$YDRZBFR#1&5oi}76Snv{3Kng+S_56;iocwm|q`>eDRvr zK628I^`kU5_flWnifJk88Ls%rJf7Vg+)KS@G$=!ya&XV1-tc>;e{Q9L3mFOuh^;oH~c-kFI>-hR9XkDJ^-Cz&(C}7nnb1N&{ z)KfoLI)S3fbz-dwbvG79rjm8Q>a>T|TZUnZMHy&IW6#e^^Y zSxyKkQEFX42_W(!D4$50e4M+EI<~+p1{j#n!atan1O%H(boC5B52sTyLYmK?8op!t z5|lwkJWmNBFFr+7gg$G^I|9CUlG8+qkcjl_Q^v@5jw*4+0!mjfCxZ*gnP%VEcH=ba zS>e~>nRjiGyVLD4nCGMfjd_qd;qOksMSR?Bkn%>VSFF;qlVcsjc#L-7Ytoi=ZK|6D z)KFAhF>K>55oj%$k|TT4I!MavE?-`Q6|KELPqfd+7W>?3E+a$Ir*ceUrv-=$Mq)FR zNJ(ON71j@J_6{Ic5OqinGaRSReH$!xoyP={((gd;L-@d>S;McYk1e1E}J(&m|0!rx^}uvhS9n4_b(?-|@aDK*PoWKyy+l|VtLnZG%MoC*8Hbl?*O!`B^)M0> zv;DJ9G?e3hK`Q5KTU`=a5}Qm@+$*Efe7f67iJ)NP;CRh&9YY!7_t+}1_8dA3Vw=$! zPLs%HIv$B1xKE7etk!_lMEG$E%7tO2a_m3uMG3uZA}v+CvUE>8cErcVW=;qY&MB4Q zZfexF4^)V-@1`Z2BU1~R*dQQue)(c4d-qj1TnRE12-CSX%c&qw(>)&PFnA>Xnmdi1 z++Uvf#V#}Z9x{n>>KxMz8WqyRenS*R^dg^I{IMa3LQjEq5Qm9%@)y> zGoPsVaY3%`=-PWc@y>EL>VUBuM=+qZR-D3hR-BNWM=rw3=6%swbMy<++0kB$4On&sv-nn#l3*Z zR@ykzGU)9dp<;V5enUd7ONkW^d5QSxvVFE%FZQYr`40ob$_=fTAsdGk4b+dza(Rq( z=hvtej*WV)cnD&{RRI+R0+AUBfXInf#Vdoo!y}%J`xwA7i@XZpY#3%H|9WIUshjNQ z!~IU#?gyIb6!MP@y2#R*C_FSb!?1Pu^Mb!f4A|1+-5YP`dcEhSqWzFJ(&zi@?-@7W zD6lXueG~My~?Nf!BDmO=o4Q+UiR02jCUB+n!dE3h6E4bI&5w+AJ9IG9z+`xQV)1fIMpFn@qkM4AGt7;>XCscF;l5Zz%6``QuB)&wXFkQzBv4;! zQ1O^4?pHFQP{Pu+$ikhty<-oC9GytRO!J&5N9u}*cI-ne+cjB` zxuzsia|sc0_LImbL^^EX$Sn1o&Kjj5KET%LtZr@lL9W^IICn~7m_hyeLysX!n&fKj zWS%qwIu{eIo{7y^XNDF7*qfoTx_%ARW%r#KIgYBxP3~OOswl#dIbme$=g9!(57em2 ziCC2rmZrCC!KB!!m7BgVOK-c2qwGQl$o*ttFBRYEvGY3R%jw`EiZ7TX_yO55SA;ae zM9{mU$kI^$?xm__Ub&p;k~>05GVALA*6VzF%sOo^%1Y0Xr~D zsHRzoPxv!iXEL2FUi!INtmqEWxqs);R(v~Su~qNb_7IT`q$lbnCq##y*-4G7&1kHB zs_^7NK1Ap($lWKpmQ5_;BHWpUB~GW4KNl~KlrPZlPTx!(r(39dwXmqw_d%|MW$m?v zS%H2F7NQ*cTjUQh1EYcqP z`IfI4l)A4dgfg|`XXnh@K1PLZeut6j!WE6sl+S>Jpy=7r>oqO_{vx=#x_C#A%PBJS z=Q(~5j>CLROJ7R2V(N(vHhZfy!WtMqS-!n zz9b}$-e}Kd(#1ur8#2~SxHq)u@7$6Iql_r?E{^@ma+CX39Zf#kcWx7~&?kvfjpQ z(tTJZdz@?$zsC5Z08~5=k$lS$WcX&8(&mbDM-B6%Y;a($@n*UmC-#Rq(uUM0+UlF3 zyQRllRulsKifu1W?i31VhG!?&bbv8W@Q;)nTjDcwhlN|fX1k6m6r zeLzg0?GedVPa3xzQ_9FQ(a$B@t|I&8NyG|8i1GK3vV0w41s2FB$guz&kMd{AFEc+y zFXI@rm>#n9oD*U?1%Z^Cf$6GJB6YSXM6%2#OQJl`h9qkqtQk-7rhkoR?}m=%M}XqB z3R!xE6j>>qvK&n=*iA7*FMXHz%X4|k2KStDJK9pxC)oUCy56})+WB0gJ1rXRP$?>7 zK)vB;Y+RSV&|N7%q)t!Eb2Sb(12=oXy%&!#ySklH+r@@|WH1aSI@P@0=%7Gm(3#Uzi7^jyi?Jdb zdJ!Z#tW-<^JI8mb*=#c_mVZ|@7uP$GjiqarNgJj8jr|9GDZ~ECWsH)JBaKu{tuG%E zu&{1kvP?KP`r1dC%!Kf1;g{9SHv~>UKNXB#%@vcgEasyUm3Y<|g3d9!J(?Dgi>*Pe zT4NK`8Bg^ew5<)Tq+;~=Z|JyaQkj{^!?{b8eI=VHo5|8e&j(RorAD791y8byWmBYd z0C(L;^)&pBE*svT8VeFDt<>@%jj_R368R_BukU7^KiWhMf`j=^W#D^+4A^Cz1fK^4 zS$zqAUTPflC1zgkYdmY~iR(9BkK)?U@lb+)D7kA$?GmKk>DjLWVsM=-OZ6k9=r4Tt z{Ug^CNdE1oJ@N#f_HDaj)>i#tT4v8z$kf{uoA@{^mCY|ws3C~2z&7|a|#yBot)a3g!E1$lVxUP0Rc zX%)PR03Q3oVoW9~RhI@7tYLFiWDHW|YziXdkGeVY8DGY3EzD4eLRs(McPG>pqDoRc zvph>+=gH0kwBg^o2M?0kFq;PJ(5(n7k(8lakg><{4+iWypPDi+&w(b#Tbo%Ih<0>>voV(c+C!IfQd%U)_?XJW`HG_K*gdxi#U)J7rD-& z9QrJ?qp~Tmkkwm*Ar6`Z8qSvFt)(-@F03K8P%+KO@_bRdZPGSiz1Kx0AV+81V<~@( z&8yh7{57}w6(5t4#n^ejc=Q>|9k+v5%5FG`K>U1iVtV@v&#?~7LC)ONi#Y24D)C0N#0q$V>`mmVUeW2Gy(^@YaEf<1QC ztT;1yiwMMZjYUaPNyMiwZ@7qCg;~FnlaA{qcjg;6fiHk3YzxCp7i1i6G03wF(cLB& z+M$YvWp7Si;YbY>5T_;))KR#!bH^Y#XBx>mmGrzJG6|la;$J=1O45DBC9+n=%_SP5@OIK4)@c(`=F53# znAwavkWk;9NK)vIVr1s&#VD=|=d;au-R!3$DBP&AO@3VVGqH?ss4LuJT&)?<$KWmZ zS*|~?cD>$h_|)_rqfq&il`y9SV#ewULWh<>c;Mk`Klyy@b+p-ec!zV<011{g&@Ye~@Zj zE@dtMIknhS5z$HHO)EuZB4PK(qwCKh6hx7|K944yf;8We#f3+h;+q$cjLrs2LHvV9 zZTsPG>jTOsEGy0C4=7>yBpKWh>Qvc(S2T2UlS9!djYqY87H&qjNS@rva|skYDiXdQtkkkT$DA;3zTV zhZ#Rdvu9nk%c9-1l)zU(wTqk?j8H?9!sET8n_1|OfLvwU4%w~`fZOHSQ~M1mTuigu z)QiJmY&o|<(Z2oSgCzqoJQidlyN$Q7l<#n8Af!Gvb6O=c*OZ&-)N8oWyH2Eh9g8C% zD7w$MX(%Or<0-s+g`IFSmoK?>aBu@4INN$?R<^&F2Bp5#sO1Dcu=JmW-apW9kn1;maPVQ4;l<$C_Ix zpUTgE&$-W{!-^3&+4Lfi65lm&wec6L#!!a$|sHYvVVqk zw$vwWN(@o-R6oT|B4^DHhuo_oFEnK9Rfs-=F<(RbUa_ZXR6yv&X?4N~KOBYLbbfUn z>Y6NgNga!^$X|aYK#1)XY_nM39`Drbi+S-Xn7e$xQY2_jdwkD{*BzVK5$o2Bljaf@ zpLbC19SaD%^6>;UA#$sf|geeYKp8I%f+q&Fj zBfp(v-3xM$HW4o4K=0VY0r;NON+R@Kz`+vAr6wn!(}-(G03|IHGGwE34<{}$V?p5N*GGZ3`<-`sz*{ww$2 z#%L=|O$h}TnCGwXR28H^zs8qh}b_+s?HuLs51=l3x$UBA<-NgYhhtwA($wysErMTS4a>l#w!Mgf_cTj z5C{SR1|!5E@P8n*-I3_3ggX8+s$VGhFO;yT7&;njUZGzAAviiDaWnu86@|h?MFhaY zaM*7Y944XU;_d`RPbbm|YK!1^b+-N8@k?+CSshg=5QGo>uNECgD9Q%yfL;SgXSj>E z$G^G^kWL7F6!e##0wQAK0uWIVh>(ylSVZ`b#D5cw5bhr6TKq*70P_j{LH;!{66kc$ z(n5b#DjM(`i_S(u-W>r&xwsp+xHw9Iej$LrJbxEBQ1XvyQ9*j3Eqs5~{GU~?k8u0r z?vF*_i2U6J1pY2u2`KE3K|G*dh(82H`~A@cvx7R@BG4=R&yxD99r?da7eWjnf)Ekp z6&8iTd4)uwP+oCCYd9}NP}CX%MNhzA8vjlAaIryoL){Uww&+aJ*`Q14cQ!z-KgGQJ zJMF*iz3mXclmbHpdBLK*0s;mC;u2s{39t}||IcLkf34}ivX$ijfAo<2ZSaqW0NU@5 zHuS><{jB2u`(gE`Ug)v^FMof|!~f+FK;VA|`H%GduU!9?>pxQ9KQjJrb^TYa|44!V z$oRk2_5V#S!he14Ae_-}K;Gz&8R^U}N%V&hSVzM^QJ_HY^4s#(e8*T*c3G(7aiqwS zy?Bk>-3&H54_We3S?^$1m0f>r0 zP3#mM;@ZCFyCYfGqJ4?GuMSk6(!{Wz^a4fnj}qv;eENp^i@~nnPm$xx?Y-q!1Dhh7U^={tZ{5T$=)$?u9xviQ1&U&uV%7R`u*_log zmiiKXb-5Rwg&EF3@Y6!6s#&61{;u&y8s#&)Y6L9~n1Sz)>=pny+h!jP(xwN`g)d@7 z30l@p$E1sFa~kR}jpO{4+kPdf83n_0Dl4RNkl7{;P=SD?0U&j|WQErAiZ2WZdYJAfLOyAgDSID_vC z`QQ%hK?}gX@_!ESjTyHCa4*;u_etS#du1Uq}j`F|syVsGK-6qvdFv;clOA`u9V z!`lG9n;5_%pKWM2QK$$Aw;no+V^y?k$2j710me=V|0(}XvkjsZ=VJN~KcY>j%{q97KmCp^5+i00{s|MNUMnLSTZn$05G} diff --git a/graphics/pokemon/spinda/back.png b/graphics/pokemon/spinda/back.png index fb529d2d2486a9ee35f2fc7398dc47c56c55e684..4b4bc7ad3d61777e67a082d241b63bcd209de94f 100644 GIT binary patch literal 10353 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 delta 665 zcmV;K0%ra3P^ATs7=H)@0001;w}I>c001*kOjJeS;pH);QugMo=GCOdw1cdaYTk=V z-fB6tS}B}47;`}otU+4;{{a900DEFeT0t=o5D>OB#<2hZ00DGTPE!Ct=GbNc000Sa zNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+kSNc&31$! z423(-3<5RCM4*x{Ku~bBK}Oit}D{_^+E1J(344=>Rk%{ zY|^=*%c7qX@G?1Cfki(9WchFj#-AZPQ$p<#x)pTkl`#TfaTpiz0HA7s(ccXqEa8cR z6tfg72kjo}Ab-aoi5nm;m2Lsl1b)(Y0ID540AK`I5TGZJMtcTY=?=g*K&%l_>Iz5H z>s<$E2n@0DuHM1A{*!ZR2uXessMYrw+zDBJ5+Ju}$?yXq7;XTqUS{*o-09b=a^;vs zKHNAQ^#cPXgdc7;6|CzPV=eP*lrQIzt9;w{tsFi-nSZawGU)gC>^B0i0FVu!(tR(4 zTtc!L*sE}_2%HVv0frWs0UEsx;N}^;2DtAzaGl=jfbzXjjW@bZ;{V7GR*R zX6dN~JX6dHbYTzVHLQLN}a{@26pfQ3C`}^aVAuRI6hl}K7Gzhk3e{6aa z93k|jsDF2S2%|gz&I#~7B9a(Mtn!${sgD8I{`dlLWI115gy_A9^#B*~S)cn*e=s8? zA*wM@OTn2r5s|}lH3~5)EsedH!u23(RrYrXu7~lgYC0Zyq0bkIufhn}>hFp7`h_X< zU!`YBXJajazTp9>+Fiogm@9}^`RKLvKO0|_ixMJ3YAAzi00000NkvXXu0mjfr1~l) diff --git a/graphics/pokemon/spinda/normal.pal b/graphics/pokemon/spinda/normal.pal index 9b0ad5bfc4..3c347b1a36 100644 --- a/graphics/pokemon/spinda/normal.pal +++ b/graphics/pokemon/spinda/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 49 164 82 -246 230 172 -230 213 164 -197 180 131 -172 148 106 -222 139 74 +251 245 223 +231 218 192 +209 186 158 +172 131 108 +242 136 54 222 106 57 -180 90 41 -156 57 24 +179 66 41 +154 35 24 115 65 16 -172 65 90 -255 255 0 +170 65 119 +242 115 166 255 255 0 123 98 74 90 65 49 diff --git a/graphics/pokemon/spinda/shiny.pal b/graphics/pokemon/spinda/shiny.pal index 6aa7481296..e44ef51816 100644 --- a/graphics/pokemon/spinda/shiny.pal +++ b/graphics/pokemon/spinda/shiny.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 49 164 82 -246 230 172 -230 213 164 -197 180 131 -172 148 106 +251 245 223 +231 218 192 +209 186 158 +172 131 108 180 197 90 -148 164 57 -115 131 24 -82 98 0 +134 162 57 +87 129 24 +46 97 0 49 65 0 -172 65 90 -255 255 0 +170 65 119 +242 115 166 255 255 0 123 98 74 90 65 49 diff --git a/include/pokemon.h b/include/pokemon.h index 0a4e160e27..aa4f26a4cb 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -543,7 +543,7 @@ u16 NationalToHoennOrder(u16 nationalNum); u16 SpeciesToNationalPokedexNum(u16 species); u16 SpeciesToHoennPokedexNum(u16 species); u16 HoennToNationalOrder(u16 hoennNum); -void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic); +void DrawSpindaSpots(u32 personality, u8 *dest, bool32 isSecondFrame); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); u8 GetPlayerFlankId(void); u16 GetLinkTrainerFlankId(u8 id); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index aaf9c91afb..63d65079e2 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -404,7 +404,7 @@ const u32 gMonFrontPic_Anorith[] = INCBIN_U32("graphics/pokemon/anorith/anim_fro const u32 gMonFrontPic_Armaldo[] = INCBIN_U32("graphics/pokemon/armaldo/anim_front.4bpp.lz"); const u32 gMonFrontPic_Feebas[] = INCBIN_U32("graphics/pokemon/feebas/anim_front.4bpp.lz"); const u32 gMonFrontPic_Milotic[] = INCBIN_U32("graphics/pokemon/milotic/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/front.4bpp.lz"); +const u32 gMonFrontPic_Castform[] = INCBIN_U32("graphics/pokemon/castform/anim_front.4bpp.lz"); const u32 gMonFrontPic_Kecleon[] = INCBIN_U32("graphics/pokemon/kecleon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Shuppet[] = INCBIN_U32("graphics/pokemon/shuppet/anim_front.4bpp.lz"); const u32 gMonFrontPic_Banette[] = INCBIN_U32("graphics/pokemon/banette/anim_front.4bpp.lz"); @@ -1148,9 +1148,9 @@ const u32 gMonFrontPic_UnownY[] = INCBIN_U32("graphics/pokemon/unown/y/anim_fron const u32 gMonFrontPic_UnownZ[] = INCBIN_U32("graphics/pokemon/unown/z/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownExclamationMark[] = INCBIN_U32("graphics/pokemon/unown/exclamation_mark/anim_front.4bpp.lz"); const u32 gMonFrontPic_UnownQuestionMark[] = INCBIN_U32("graphics/pokemon/unown/question_mark/anim_front.4bpp.lz"); -const u32 gMonFrontPic_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/front.4bpp.lz"); -const u32 gMonFrontPic_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/front.4bpp.lz"); -const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/front.4bpp.lz"); +const u32 gMonFrontPic_CastformSunny[] = INCBIN_U32("graphics/pokemon/castform/sunny/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CastformRainy[] = INCBIN_U32("graphics/pokemon/castform/rainy/anim_front.4bpp.lz"); +const u32 gMonFrontPic_CastformSnowy[] = INCBIN_U32("graphics/pokemon/castform/snowy/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysAttack[] = INCBIN_U32("graphics/pokemon/deoxys/attack/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysDefense[] = INCBIN_U32("graphics/pokemon/deoxys/defense/anim_front.4bpp.lz"); const u32 gMonFrontPic_DeoxysSpeed[] = INCBIN_U32("graphics/pokemon/deoxys/speed/anim_front.4bpp.lz"); @@ -1159,7 +1159,7 @@ const u32 gMonFrontPic_BurmySandyCloak[] = INCBIN_U32("graphics/pokemon/burmy/sa const u32 gMonFrontPic_BurmyTrashCloak[] = INCBIN_U32("graphics/pokemon/burmy/trash_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_WormadamSandyCloak[] = INCBIN_U32("graphics/pokemon/wormadam/sandy_cloak/anim_front.4bpp.lz"); const u32 gMonFrontPic_WormadamTrashCloak[] = INCBIN_U32("graphics/pokemon/wormadam/trash_cloak/anim_front.4bpp.lz"); -const u32 gMonFrontPic_CherrimSunshine[] = INCBIN_U32("graphics/pokemon/cherrim/sunshine/front.4bpp.lz"); +const u32 gMonFrontPic_CherrimSunshine[] = INCBIN_U32("graphics/pokemon/cherrim/sunshine/anim_front.4bpp.lz"); const u32 gMonFrontPic_ShellosEastSea[] = INCBIN_U32("graphics/pokemon/shellos/east_sea/anim_front.4bpp.lz"); const u32 gMonFrontPic_GastrodonEastSea[] = INCBIN_U32("graphics/pokemon/gastrodon/east_sea/anim_front.4bpp.lz"); const u32 gMonFrontPic_RotomHeat[] = INCBIN_U32("graphics/pokemon/rotom/heat/anim_front.4bpp.lz"); diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index d30dc4266e..309e14e896 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -3264,6 +3264,16 @@ static const union AnimCmd sAnim_Breloom_1[] = ANIMCMD_END, }; +static const union AnimCmd sAnim_Spinda_1[] = +{ + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 17), + ANIMCMD_FRAME(1, 23), + ANIMCMD_FRAME(0, 13), + ANIMCMD_END, +}; + static const union AnimCmd sAnim_Wingull_1[] = { ANIMCMD_FRAME(0, 17), @@ -4153,27 +4163,45 @@ static const union AnimCmd sAnim_Aggron_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_Castform_0[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - static const union AnimCmd sAnim_Castform_1[] = { - ANIMCMD_FRAME(1, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 24), + ANIMCMD_FRAME(1, 24), + ANIMCMD_FRAME(0, 24), ANIMCMD_END, }; -static const union AnimCmd sAnim_Castform_2[] = +static const union AnimCmd sAnim_CastformSunny_1[] = { - ANIMCMD_FRAME(2, 1), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), ANIMCMD_END, }; -static const union AnimCmd sAnim_Castform_3[] = +static const union AnimCmd sAnim_CastformRainy_1[] = { - ANIMCMD_FRAME(3, 1), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 22), + ANIMCMD_FRAME(1, 22), + ANIMCMD_FRAME(0, 11), + ANIMCMD_END, +}; + +static const union AnimCmd sAnim_CastformSnowy_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(1, 29), + ANIMCMD_FRAME(0, 12), ANIMCMD_END, }; @@ -5134,15 +5162,12 @@ static const union AnimCmd sAnim_CherrimOvercast_2[] = static const union AnimCmd sAnim_CherrimSunshine_1[] = { - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 12), + ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; @@ -10821,9 +10846,7 @@ SINGLE_ANIMATION(Taillow); SINGLE_ANIMATION(Swellow); SINGLE_ANIMATION(Shroomish); SINGLE_ANIMATION(Breloom); -static const union AnimCmd *const sAnims_Spinda[] ={ - sAnim_GeneralFrame0, -}; +SINGLE_ANIMATION(Spinda); SINGLE_ANIMATION(Wingull); SINGLE_ANIMATION(Pelipper); DOUBLE_ANIMATION(Surskit); @@ -10900,12 +10923,10 @@ SINGLE_ANIMATION(Relicanth); SINGLE_ANIMATION(Aron); SINGLE_ANIMATION(Lairon); SINGLE_ANIMATION(Aggron); -static const union AnimCmd *const sAnims_Castform[] ={ - sAnim_Castform_0, - sAnim_Castform_1, - sAnim_Castform_2, - sAnim_Castform_3, -}; +SINGLE_ANIMATION(Castform); +SINGLE_ANIMATION(CastformSunny); +SINGLE_ANIMATION(CastformRainy); +SINGLE_ANIMATION(CastformSnowy); SINGLE_ANIMATION(Volbeat); SINGLE_ANIMATION(Illumise); SINGLE_ANIMATION(Lileep); @@ -12742,9 +12763,9 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[NUM_SPECIES + 1] = [SPECIES_UNOWN_Z] = sAnims_UnownZ, [SPECIES_UNOWN_EMARK] = sAnims_UnownEMark, [SPECIES_UNOWN_QMARK] = sAnims_UnownQMark, - [SPECIES_CASTFORM_SUNNY] = sAnims_Castform, - [SPECIES_CASTFORM_RAINY] = sAnims_Castform, - [SPECIES_CASTFORM_SNOWY] = sAnims_Castform, + [SPECIES_CASTFORM_SUNNY] = sAnims_CastformSunny, + [SPECIES_CASTFORM_RAINY] = sAnims_CastformRainy, + [SPECIES_CASTFORM_SNOWY] = sAnims_CastformSnowy, [SPECIES_DEOXYS_ATTACK] = sAnims_DeoxysAttack, [SPECIES_DEOXYS_DEFENSE] = sAnims_DeoxysDefense, [SPECIES_DEOXYS_SPEED] = sAnims_DeoxysSpeed, diff --git a/src/decompress.c b/src/decompress.c index 54e7200be4..b4de99efc3 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -109,7 +109,11 @@ void LoadSpecialPokePic(void *dest, s32 species, u32 personality, bool8 isFrontP LZ77UnCompWram(gMonBackPicTable[SPECIES_NONE].data, dest); } - DrawSpindaSpots(species, personality, dest, isFrontPic); + if (species == SPECIES_SPINDA && isFrontPic) + { + DrawSpindaSpots(personality, dest, FALSE); + DrawSpindaSpots(personality, dest, TRUE); + } } void Unused_LZDecompressWramIndirect(const void **src, void *dest) diff --git a/src/pokemon.c b/src/pokemon.c index 23edee9a7a..cf2c8f5cc8 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2289,7 +2289,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_TORKOAL - 1] = ANIM_V_STRETCH, [SPECIES_SPOINK - 1] = ANIM_H_JUMPS_V_STRETCH_TWICE, [SPECIES_GRUMPIG - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_SPINDA - 1] = ANIM_H_JUMPS, + [SPECIES_SPINDA - 1] = ANIM_CIRCLE_INTO_BG, [SPECIES_TRAPINCH - 1] = ANIM_V_SHAKE, [SPECIES_VIBRAVA - 1] = ANIM_H_SHAKE, [SPECIES_FLYGON - 1] = ANIM_ZIGZAG_SLOW, @@ -2314,9 +2314,6 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_FEEBAS - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW, [SPECIES_MILOTIC - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_CASTFORM - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_CASTFORM_SUNNY - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_CASTFORM_RAINY - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_CASTFORM_SNOWY - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_KECLEON - 1] = ANIM_FLICKER_INCREASING, [SPECIES_SHUPPET - 1] = ANIM_V_SLIDE_WOBBLE, [SPECIES_BANETTE - 1] = ANIM_CIRCULAR_STRETCH_TWICE, @@ -2328,7 +2325,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_WYNAUT - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_SNORUNT - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_GLALIE - 1] = ANIM_ZIGZAG_FAST, - [SPECIES_SPHEAL - 1] = ANIM_V_STRETCH, + [SPECIES_SPHEAL - 1] = ANIM_SPIN_LONG, [SPECIES_SEALEO - 1] = ANIM_V_STRETCH, [SPECIES_WALREIN - 1] = ANIM_H_SHAKE, [SPECIES_CLAMPERL - 1] = ANIM_TWIST, @@ -2880,16 +2877,20 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_SNEASLER - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_OVERQWIL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_ENAMORUS - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_DEOXYS_ATTACK - 1] = ANIM_GROW_VIBRATE, - [SPECIES_DEOXYS_DEFENSE - 1] = ANIM_GROW_VIBRATE, - [SPECIES_DEOXYS_SPEED - 1] = ANIM_GROW_VIBRATE, + //Gen 3 Forms + [SPECIES_CASTFORM_SUNNY - 1] = ANIM_GROW_VIBRATE, + [SPECIES_CASTFORM_RAINY - 1] = ANIM_SWING_CONVEX_FAST, + [SPECIES_CASTFORM_SNOWY - 1] = ANIM_V_STRETCH, + [SPECIES_DEOXYS_ATTACK - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEOXYS_DEFENSE - 1] = ANIM_GROW_VIBRATE, + [SPECIES_DEOXYS_SPEED - 1] = ANIM_GROW_VIBRATE, //Gen 4 Forms [SPECIES_BURMY_SANDY_CLOAK - 1] = ANIM_V_STRETCH, [SPECIES_BURMY_TRASH_CLOAK - 1] = ANIM_V_STRETCH, [SPECIES_WORMADAM_SANDY_CLOAK - 1] = ANIM_SWING_CONVEX_FAST_SHORT, [SPECIES_WORMADAM_TRASH_CLOAK - 1] = ANIM_SWING_CONVEX_FAST_SHORT, - [SPECIES_CHERRIM_SUNSHINE - 1] = ANIM_RAPID_H_HOPS, + [SPECIES_CHERRIM_SUNSHINE - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_SHELLOS_EAST_SEA - 1] = ANIM_V_STRETCH, [SPECIES_GASTRODON_EAST_SEA - 1] = ANIM_CIRCULAR_STRETCH_TWICE, [SPECIES_ROTOM_HEAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, @@ -6807,7 +6808,7 @@ u16 HoennToNationalOrder(u16 hoennNum) // To draw a spot pixel, add 4 to the color index #define SPOT_COLOR_ADJUSTMENT 4 /* - The macro below handles drawing the randomly-placed spots on Spinda's front sprite. + The function below handles drawing the randomly-placed spots on Spinda's front sprite. Spinda has 4 spots, each with an entry in gSpindaSpotGraphics. Each entry contains a base x and y coordinate for the spot and a 16x16 binary image. Each bit in the image determines whether that pixel should be considered part of the spot. @@ -6819,85 +6820,80 @@ u16 HoennToNationalOrder(u16 hoennNum) coordinate is calculated as (baseCoord + (given 4 bits of personality) - 8). In effect this means each spot can start at any position -8 to +7 off of its base coordinates (256 possibilities). - The macro then loops over the 16x16 spot image. For each bit in the spot's binary image, if + The function then loops over the 16x16 spot image. For each bit in the spot's binary image, if the bit is set then it's part of the spot; try to draw it. A pixel is drawn on Spinda if the pixel on Spinda satisfies the following formula: ((u8)(colorIndex - 1) <= 2). The -1 excludes transparent pixels, as these are index 0. Therefore only colors 1, 2, or 3 on Spinda will allow a spot to be drawn. These color indexes are Spinda's light brown body colors. To create the spot it adds 4 to the color index, so Spinda's spots will be colors 5, 6, and 7. - The above is done two different ways in the macro: one with << 4, and one without. This + The above is done two different ways in the function: one with << 4, and one without. This is because Spinda's sprite is a 4 bits per pixel image, but the pointer to Spinda's pixels (destPixels) is an 8 bit pointer, so it addresses two pixels. Shifting by 4 accesses the 2nd of these pixels, so this is done every other time. */ -#define DRAW_SPINDA_SPOTS(personality, dest) \ -{ \ - s32 i; \ - for (i = 0; i < (s32)ARRAY_COUNT(gSpindaSpotGraphics); i++) \ - { \ - s32 row; \ - u8 x = gSpindaSpotGraphics[i].x + ((personality & 0x0F) - 8); \ - u8 y = gSpindaSpotGraphics[i].y + (((personality & 0xF0) >> 4) - 8); \ - \ - for (row = 0; row < SPINDA_SPOT_HEIGHT; row++) \ - { \ - s32 column; \ - s32 spotPixelRow = gSpindaSpotGraphics[i].image[row]; \ - \ - for (column = x; column < x + SPINDA_SPOT_WIDTH; column++) \ - { \ - /* Get target pixels on Spinda's sprite */ \ - u8 *destPixels = dest + ((column / 8) * TILE_SIZE_4BPP) + \ - ((column % 8) / 2) + \ - ((y / 8) * TILE_SIZE_4BPP * 8) + \ - ((y % 8) * 4); \ - \ - /* Is this pixel in the 16x16 spot image part of the spot? */ \ - if (spotPixelRow & 1) \ - { \ - /* destPixels addressess two pixels, alternate which */ \ - /* of the two pixels is being considered for drawing */ \ - if (column & 1) \ - { \ - /* Draw spot pixel if this is Spinda's body color */ \ - if ((u8)((*destPixels & 0xF0) - (FIRST_SPOT_COLOR << 4))\ - <= ((LAST_SPOT_COLOR - FIRST_SPOT_COLOR) << 4))\ - *destPixels += (SPOT_COLOR_ADJUSTMENT << 4); \ - } \ - else \ - { \ - /* Draw spot pixel if this is Spinda's body color */ \ - if ((u8)((*destPixels & 0xF) - FIRST_SPOT_COLOR) \ - <= (LAST_SPOT_COLOR - FIRST_SPOT_COLOR)) \ - *destPixels += SPOT_COLOR_ADJUSTMENT; \ - } \ - } \ - \ - spotPixelRow >>= 1; \ - } \ - \ - y++; \ - } \ - \ - personality >>= 8; \ - } \ -} - -// Same as DrawSpindaSpots but attempts to discern for itself whether or -// not it's the front pic. -static void DrawSpindaSpotsUnused(u16 species, u32 personality, u8 *dest) +void DrawSpindaSpots(u32 personality, u8 *dest, bool32 isSecondFrame) { - if (species == SPECIES_SPINDA - && dest != gMonSpritesGfxPtr->sprites.ptr[B_POSITION_PLAYER_LEFT] - && dest != gMonSpritesGfxPtr->sprites.ptr[B_POSITION_PLAYER_RIGHT]) - DRAW_SPINDA_SPOTS(personality, dest); -} + s32 i; + for (i = 0; i < (s32)ARRAY_COUNT(gSpindaSpotGraphics); i++) + { + s32 row; + u8 x = gSpindaSpotGraphics[i].x + (personality & 0x0F); + u8 y = gSpindaSpotGraphics[i].y + ((personality & 0xF0) >> 4); -void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, bool8 isFrontPic) -{ - if (species == SPECIES_SPINDA && isFrontPic) - DRAW_SPINDA_SPOTS(personality, dest); + if (isSecondFrame) + { + x -= 12; + y += 56; + } + else + { + x -= 8; + y -= 8; + } + + for (row = 0; row < SPINDA_SPOT_HEIGHT; row++) + { + s32 column; + s32 spotPixelRow = gSpindaSpotGraphics[i].image[row]; + + for (column = x; column < x + SPINDA_SPOT_WIDTH; column++) + { + /* Get target pixels on Spinda's sprite */ + u8 *destPixels = dest + ((column / 8) * TILE_SIZE_4BPP) + + ((column % 8) / 2) + + ((y / 8) * TILE_SIZE_4BPP * 8) + + ((y % 8) * 4); + + /* Is this pixel in the 16x16 spot image part of the spot? */ + if (spotPixelRow & 1) + { + /* destPixels addressess two pixels, alternate which */ + /* of the two pixels is being considered for drawing */ + if (column & 1) + { + /* Draw spot pixel if this is Spinda's body color */ + if ((u8)((*destPixels & 0xF0) - (FIRST_SPOT_COLOR << 4)) + <= ((LAST_SPOT_COLOR - FIRST_SPOT_COLOR) << 4)) + *destPixels += (SPOT_COLOR_ADJUSTMENT << 4); + } + else + { + /* Draw spot pixel if this is Spinda's body color */ + if ((u8)((*destPixels & 0xF) - FIRST_SPOT_COLOR) + <= (LAST_SPOT_COLOR - FIRST_SPOT_COLOR)) + *destPixels += SPOT_COLOR_ADJUSTMENT; + } + } + + spotPixelRow >>= 1; + } + + y++; + } + + personality >>= 8; + } } void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies) @@ -8109,13 +8105,7 @@ const u8 *GetTrainerNameFromId(u16 trainerId) bool8 HasTwoFramesAnimation(u16 species) { - return (species != SPECIES_CASTFORM - && species != SPECIES_SPINDA - && species != SPECIES_UNOWN - && species != SPECIES_CHERRIM - && species != SPECIES_CASTFORM_SUNNY - && species != SPECIES_CASTFORM_RAINY - && species != SPECIES_CASTFORM_SNOWY); + return species != SPECIES_UNOWN; } static bool8 ShouldSkipFriendshipChange(void) diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c index c9f6a04899..57b3d5b303 100644 --- a/src/pokemon_animation.c +++ b/src/pokemon_animation.c @@ -575,9 +575,9 @@ static const u8 sSpeciesToBackAnimSet[NUM_SPECIES] = [SPECIES_LAIRON] = BACK_ANIM_V_SHAKE, [SPECIES_AGGRON] = BACK_ANIM_V_SHAKE_LOW, [SPECIES_CASTFORM] = BACK_ANIM_CONVEX_DOUBLE_ARC, - [SPECIES_CASTFORM_SUNNY] = BACK_ANIM_CONVEX_DOUBLE_ARC, - [SPECIES_CASTFORM_RAINY] = BACK_ANIM_CONVEX_DOUBLE_ARC, - [SPECIES_CASTFORM_SNOWY] = BACK_ANIM_CONVEX_DOUBLE_ARC, + [SPECIES_CASTFORM_SUNNY] = BACK_ANIM_SHAKE_GLOW_RED, + [SPECIES_CASTFORM_RAINY] = BACK_ANIM_SHRINK_GROW_VIBRATE, + [SPECIES_CASTFORM_SNOWY] = BACK_ANIM_TRIANGLE_DOWN, [SPECIES_VOLBEAT] = BACK_ANIM_CONVEX_DOUBLE_ARC, [SPECIES_ILLUMISE] = BACK_ANIM_CONVEX_DOUBLE_ARC, [SPECIES_LILEEP] = BACK_ANIM_H_STRETCH, @@ -722,7 +722,7 @@ static const u8 sSpeciesToBackAnimSet[NUM_SPECIES] = [SPECIES_BURMY_TRASH_CLOAK] = BACK_ANIM_H_SHAKE, [SPECIES_WORMADAM_SANDY_CLOAK] = BACK_ANIM_V_SHAKE, [SPECIES_WORMADAM_TRASH_CLOAK] = BACK_ANIM_V_SHAKE, - [SPECIES_CHERRIM_SUNSHINE] = BACK_ANIM_CONCAVE_ARC_SMALL, + [SPECIES_CHERRIM_SUNSHINE] = BACK_ANIM_CONCAVE_ARC_SMALL, [SPECIES_SHELLOS_EAST_SEA] = BACK_ANIM_H_SPRING, [SPECIES_GASTRODON_EAST_SEA] = BACK_ANIM_SHRINK_GROW_VIBRATE, [SPECIES_ROTOM_HEAT] = BACK_ANIM_SHAKE_GLOW_RED, From e9bd8979b03cc5f71fff21d9bcdcdf4f6786add1 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Wed, 12 Jul 2023 20:07:39 +0100 Subject: [PATCH 066/256] More efficient Random calls in Shuffle --- src/random.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/random.c b/src/random.c index 345d585c2a..dded1ec6f9 100644 --- a/src/random.c +++ b/src/random.c @@ -1,5 +1,8 @@ #include "global.h" #include "random.h" +#if MODERN +#include +#endif EWRAM_DATA static u8 sUnknown = 0; EWRAM_DATA static u32 sRandCount = 0; @@ -37,7 +40,7 @@ u16 Random2(void) --n; \ while (n > 1) \ { \ - int j = Random() % (n+1); \ + int j = (Random() * (n+1)) >> 16; \ SWAP(data[n], data[j], tmp); \ --n; \ } @@ -66,7 +69,7 @@ void ShuffleN(void *data, size_t n, size_t size) --n; while (n > 1) { - int j = Random() % (n+1); + int j = (Random() * (n+1)) >> 16; memcpy(tmp, (u8 *)data + n*size, size); // tmp = data[n]; memcpy((u8 *)data + n*size, (u8 *)data + j*size, size); // data[n] = data[j]; memcpy((u8 *)data + j*size, tmp, size); // data[j] = tmp; From fb8989414f9d0cc83be2df1cde717e7bfacb57af Mon Sep 17 00:00:00 2001 From: Eclipse <115349505+SubzeroEclipse@users.noreply.github.com> Date: Sun, 16 Jul 2023 08:40:21 +0200 Subject: [PATCH 067/256] Fixed Mega Venasaur icon (#3137) --- graphics/pokemon/venusaur/mega/icon.png | Bin 569 -> 539 bytes src/pokemon_icon.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/graphics/pokemon/venusaur/mega/icon.png b/graphics/pokemon/venusaur/mega/icon.png index 23846ade9d9dabacbfbc232d823d2b72df4a5386..bd0bff126c09405c420db7f4a8b64fae5f336019 100644 GIT binary patch delta 490 zcmVVw9xSVnJeJT0ucUp~@Ek0004| zNklA<2UBxMvr!macfh{JEHeFjG-pP`dOi97%o ziE(f$sF65Gu2qjT2JFwf9<7DRMZN95{oU{W^rLCNI50+Bn}63luu6$;0ec3Bi|+}H zNjJP(1v=VEC@O9bCo14}y#-dy1QIegg9A+!yWc)rITYr8C?#)OfZAY%)i(tD4)qrBd;n_L-z^_(r}ZX9 z8Kgtz`-26&wv8D@5iDO`eE;)+J{k6m%BIVQAQ)JE8X3lHFT4HjP;5c3MFUh%hDa$L zEh&w@-yAW1+^NKCKW1zHXg$zar2YTUC79B|^mhry`(sWL1;#5b2MUaruWx|@6UHkr z1}ZSH2?lr$CQ)F#0*oUj0?ho6z~CkrJuiv9X5QxN5Q@mqJ$>8vO|A3$hssZ;rKPLyoN(jn8yu5hc ze48W|Nl4xFiBjJllGL)2&HD5k137}I2B@!0HYdatgny)qJ4ei(tzNeDW7f9zmIH&Q z#{WO20@L|0^HYI|7D=hWMD5`~gNd5`K4>s;)__3`23Em9-he4Jn5YF4$b|$`{1F&j z1*3hefWa;p?1GUTw2u}{ Date: Tue, 18 Jul 2023 03:07:14 -0400 Subject: [PATCH 068/256] Unified multi-strike move flags (#3126) * Unified twoStrikes and threeStrikes flags into strikeCount * Decreased strikeCount max from 255 to 15. --- include/pokemon.h | 3 +-- src/battle_ai_util.c | 6 +++--- src/battle_script_commands.c | 3 +-- src/battle_util.c | 16 ++++++---------- src/data/battle_moves.h | 24 ++++++++++++------------ test/move_flag_three_strikes.c | 4 ++-- 6 files changed, 25 insertions(+), 31 deletions(-) diff --git a/include/pokemon.h b/include/pokemon.h index aa4f26a4cb..c33e7bb818 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -376,8 +376,7 @@ struct BattleMove u32 ignoreTypeIfFlyingAndUngrounded:1; u32 thawsUser:1; u32 ignoresSubstitute:1; - u32 twoStrikes:1; // May apply its effect on each hit. - u32 threeStrikes:1; // May apply its effect on each hit. + u32 strikeCount:4; // Max 15 hits. Defaults to 1 if not set. May apply its effect on each hit. u32 meFirstBanned:1; u32 gravityBanned:1; u32 mimicBanned:1; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index e9edf8dc5b..3e8c5ae87b 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -864,9 +864,9 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, } // Handle other multi-strike moves - if (gBattleMoves[move].twoStrikes) - dmg *= 2; - else if (gBattleMoves[move].threeStrikes || (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH)) + if (gBattleMoves[move].strikeCount > 1) + dmg *= gBattleMoves[move].strikeCount; + else if (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH) dmg *= 3; if (dmg == 0) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f97fd2cd02..1c6a2e677b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -16034,8 +16034,7 @@ bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) { if (move != MOVE_NONE && move != MOVE_STRUGGLE && gBattleMoves[move].split != SPLIT_STATUS - && !gBattleMoves[move].twoStrikes - && !gBattleMoves[move].threeStrikes) + && !gBattleMoves[move].strikeCount > 2) { u32 i; for (i = 0; i < ARRAY_COUNT(sParentalBondBannedEffects); i++) diff --git a/src/battle_util.c b/src/battle_util.c index fc16d0affe..0f1613cb9c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3743,21 +3743,17 @@ u8 AtkCanceller_UnableToUseMove(void) PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) } - else if (gBattleMoves[gCurrentMove].twoStrikes) + else if (gBattleMoves[gCurrentMove].strikeCount > 1) { - gMultiHitCounter = 2; - PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) - if (gCurrentMove == MOVE_DRAGON_DARTS) - { - // TODO - } + gMultiHitCounter = gBattleMoves[gCurrentMove].strikeCount; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 3, 0) } - else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK || gBattleMoves[gCurrentMove].threeStrikes) + else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK) { gMultiHitCounter = 3; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) } - #if B_BEAT_UP >= GEN_5 + #if B_BEAT_UP >= GEN_5 else if (gBattleMoves[gCurrentMove].effect == EFFECT_BEAT_UP) { struct Pokemon* party = GetBattlerParty(gBattlerAttacker); @@ -3775,7 +3771,7 @@ u8 AtkCanceller_UnableToUseMove(void) gBattleStruct->beatUpSlot = 0; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) } - #endif + #endif gBattleStruct->atkCancellerTracker++; break; case CANCELLER_END: diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 96e6e56481..00082d6ec4 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -428,7 +428,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_MEGA_KICK] = @@ -716,7 +716,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMoveEffect = Z_EFFECT_NONE, .sheerForceBoost = TRUE, .ignoresKingsRock = B_UPDATED_MOVE_FLAGS < GEN_5, // && B_UPDATED_MOVE_FLAGS > GEN_2 - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_PIN_MISSILE] = @@ -2680,7 +2680,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_REST] = @@ -7767,7 +7767,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_ROAR_OF_TIME] = @@ -8930,7 +8930,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_HEART_STAMP] = @@ -9158,7 +9158,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_SEARING_SHOT] = @@ -11540,7 +11540,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .makesContact = TRUE, .punchingMove = TRUE, .sheerForceBoost = TRUE, - .twoStrikes = TRUE, + .strikeCount = 2, .minimizeDoubleDamage = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, }, @@ -11668,7 +11668,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_TEATIME] = @@ -12372,7 +12372,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, - .twoStrikes = TRUE, + .strikeCount = 2, }, [MOVE_SCORCHING_SANDS] = @@ -12441,7 +12441,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, .punchingMove = TRUE, - .threeStrikes = TRUE, + .strikeCount = 3, .metronomeBanned = TRUE, }, @@ -13241,7 +13241,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, - .threeStrikes = TRUE, + .strikeCount = 3, }, [MOVE_MORTAL_SPIN] = @@ -13566,7 +13566,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - .twoStrikes = TRUE, + .strikeCount = 2, .metronomeBanned = TRUE, }, diff --git a/test/move_flag_three_strikes.c b/test/move_flag_three_strikes.c index acb7effc01..21debc7305 100644 --- a/test/move_flag_three_strikes.c +++ b/test/move_flag_three_strikes.c @@ -8,7 +8,7 @@ SINGLE_BATTLE_TEST("Three-strike flag turns a move into a 3-hit move") s16 thirdHit; GIVEN { - ASSUME(gBattleMoves[MOVE_TRIPLE_DIVE].threeStrikes); + ASSUME(gBattleMoves[MOVE_TRIPLE_DIVE].strikeCount == 3); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -34,7 +34,7 @@ SINGLE_BATTLE_TEST("Surging Strikes hits 3 times with each hit being a critical s16 thirdHit; GIVEN { - ASSUME(gBattleMoves[MOVE_SURGING_STRIKES].threeStrikes); + ASSUME(gBattleMoves[MOVE_SURGING_STRIKES].strikeCount == 3); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { From 6fec0e4dd18015127dcb4768d5a86600753fae93 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Tue, 18 Jul 2023 03:17:03 -0400 Subject: [PATCH 069/256] Ported TheXaman's latest changes to the Debug Menu (#2815) * Added option for generating incrementing pokemon in pc boxes # Conflicts: # src/debug.c * added submenu arrows, increased menu high to full screen # Conflicts: # src/debug.c * combined flags and vars into one submenu # Conflicts: # src/debug.c * added new window to flags/vars showing the current state and added submenu indicator # Conflicts: # src/debug.c * added alligned arrows for debug submenus # Conflicts: # src/debug.c * used {CLEAR_TO X} instead of manual spaces # Conflicts: # src/debug.c * renamed gDebugText to proper sDebugText # Conflicts: # src/debug.c * added Fill submenu, added fill function for PC items and all bag pockets @LOuroboros # Conflicts: # src/debug.c * put cheat start into utility # Conflicts: # src/debug.c * put fill submenu into main menu # Conflicts: # src/debug.c * tiny fix * renaming and reordering # Conflicts: # src/debug.c * Added reset pokedex flags for @AsparagusEduardo * made flag toggle list dynamic # Conflicts: # src/debug.c * initial battle debug menu WIP # Conflicts: # src/debug.c # src/wild_encounter.c * fix visual bug * added battle start # Conflicts: # include/debug.h # src/battle_ai_script_commands.c * Added faster way to add initial movesets to mon * Added waiting music for the slow box filling * Simplified the call to scripts * Simplified debug scripts * Disabled Battle Test for now * Fixed personality on fast PC fill being always 0 * Removed BATTLE_ENGINE instances + added AI_FLAG_COUNT * Added missing return TRUE * Sets nickname * Changed how GetSpeciesName to how it's used upstream --------- Co-authored-by: TheXaman <48356183+TheXaman@users.noreply.github.com> --- data/scripts/debug.inc | 28 +- include/battle_setup.h | 3 + include/constants/battle_ai.h | 2 + include/debug.h | 3 + include/pokemon.h | 2 + include/wild_encounter.h | 1 + src/battle_ai_main.c | 6 + src/battle_main.c | 20 + src/battle_setup.c | 67 ++ src/debug.c | 1872 +++++++++++++++++++++++---------- src/pokemon.c | 34 + src/wild_encounter.c | 10 + 12 files changed, 1471 insertions(+), 577 deletions(-) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index f9ec4eeffd..d7f486907d 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -1,14 +1,15 @@ .if DEBUG_OVERWORLD_MENU == TRUE - -Debug_ShowFieldMessageStringVar4:: - special ShowFieldMessageStringVar4 +Debug_MessageEnd: waitmessage waitbuttonpress releaseall end +Debug_ShowFieldMessageStringVar4:: + special ShowFieldMessageStringVar4 + goto Debug_MessageEnd + Debug_CheatStart:: - lockall setflag FLAG_SYS_POKEMON_GET setflag FLAG_RESCUED_BIRCH setflag FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE @@ -44,12 +45,8 @@ Debug_CheatStart:: end Debug_FlagsNotSetOverworldConfigMessage:: - lockall message Debug_FlagsNotSetOverworldConfigMessage_Text - waitmessage - waitbuttonpress - releaseall - end + goto Debug_MessageEnd Debug_FlagsNotSetOverworldConfigMessage_Text: .string "Feature unavailable!\n" @@ -57,18 +54,21 @@ Debug_FlagsNotSetOverworldConfigMessage_Text: .string "'include/config/overworld.h'!$" Debug_FlagsNotSetBattleConfigMessage:: - lockall message Debug_FlagsNotSetBattleConfigMessage_Text - waitmessage - waitbuttonpress - releaseall - end + goto Debug_MessageEnd Debug_FlagsNotSetBattleConfigMessage_Text: .string "Feature unavailable!\n" .string "Please define a usable flag in:\l" .string "'include/config/battle.h'!$" +Debug_BoxFilledMessage:: + message Debug_BoxFilledMessage_Text + goto Debug_MessageEnd + +Debug_BoxFilledMessage_Text: + .string "Storage boxes filled!$" + Debug_Script_1:: end diff --git a/include/battle_setup.h b/include/battle_setup.h index e29b3155fe..96aeb4b761 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -68,4 +68,7 @@ bool8 IsTrainerReadyForRematch(void); void ShouldTryGetTrainerScript(void); u16 CountBattledRematchTeams(u16 trainerId); +void DoStandardWildBattle_Debug(void); +void BattleSetup_StartTrainerBattle_Debug(void); + #endif // GUARD_BATTLE_SETUP_H diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 81dbdad163..32b7f7d10c 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -60,6 +60,8 @@ #define AI_FLAG_ACE_POKEMON (1 << 16) // AI has an Ace Pokemon. The last Pokemon in the party will not be used until it's the last one remaining. #define AI_FLAG_OMNISCIENT (1 << 17) // AI has full knowledge of player moves, abilities, hold items +#define AI_FLAG_COUNT 18 + // 'other' ai logic flags #define AI_FLAG_ROAMING (1 << 29) #define AI_FLAG_SAFARI (1 << 30) diff --git a/include/debug.h b/include/debug.h index 88f5f66620..d89c7994b8 100644 --- a/include/debug.h +++ b/include/debug.h @@ -3,4 +3,7 @@ void Debug_ShowMainMenu(void); +extern EWRAM_DATA bool8 gIsDebugBattle; +extern EWRAM_DATA u32 gDebugAIFlags; + #endif // GUARD_DEBUG_H diff --git a/include/pokemon.h b/include/pokemon.h index c33e7bb818..90a6999b6d 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -485,6 +485,8 @@ void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot); void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot); void GiveMonInitialMoveset(struct Pokemon *mon); void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon); +void GiveMonInitialMoveset_Fast(struct Pokemon *mon); +void GiveBoxMonInitialMoveset_Fast(struct BoxPokemon *boxMon); u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); diff --git a/include/wild_encounter.h b/include/wild_encounter.h index e853efbadc..bef89d8950 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -39,5 +39,6 @@ u16 GetLocalWildMon(bool8 *isWaterMon); u16 GetLocalWaterMon(void); bool8 UpdateRepelCounter(void); bool8 TryDoDoubleWildBattle(void); +bool8 StandardWildEncounter_Debug(void); #endif // GUARD_WILD_ENCOUNTER_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index f17111cd37..290b713b6c 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -8,6 +8,7 @@ #include "battle_setup.h" #include "battle_z_move.h" #include "data.h" +#include "debug.h" #include "event_data.h" #include "item.h" #include "pokemon.h" @@ -152,6 +153,11 @@ static u32 GetWildAiFlags(void) void BattleAI_SetupFlags(void) { +#if DEBUG_OVERWORLD_MENU == TRUE + if (gIsDebugBattle) + AI_THINKING_STRUCT->aiFlags = gDebugAIFlags; + else +#endif if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) AI_THINKING_STRUCT->aiFlags = GetAiScriptsInRecordedBattle(); else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) diff --git a/src/battle_main.c b/src/battle_main.c index 6ba91a5bb8..2c191512d0 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -16,6 +16,7 @@ #include "berry.h" #include "bg.h" #include "data.h" +#include "debug.h" #include "decompress.h" #include "dma3.h" #include "event_data.h" @@ -565,7 +566,13 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; +#if DEBUG_OVERWORLD_MENU == FALSE + gBattleTerrain = BattleSetup_GetTerrainId(); +#else + if (!gIsDebugBattle) + gBattleTerrain = BattleSetup_GetTerrainId(); +#endif if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) gBattleTerrain = BATTLE_TERRAIN_BUILDING; @@ -588,6 +595,7 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); +#if DEBUG_OVERWORLD_MENU == FALSE if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); @@ -596,6 +604,18 @@ static void CB2_InitBattleInternal(void) SetWildMonHeldItem(); CalculateEnemyPartyCount(); } +#else + if (!gIsDebugBattle) + { + if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) + { + CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + CreateNPCTrainerParty(&gEnemyParty[PARTY_SIZE / 2], gTrainerBattleOpponent_B, FALSE); + SetWildMonHeldItem(); + } + } +#endif gMain.inBattle = TRUE; gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; diff --git a/src/battle_setup.c b/src/battle_setup.c index 2b8e63e766..f26c690819 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -380,6 +380,41 @@ static void CreateBattleStartTask(u8 transition, u16 song) PlayMapChosenOrBattleBGM(song); } +static void Task_BattleStart_Debug(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + switch (tState) + { + case 0: + if (!FldEffPoison_IsActive()) // is poison not active? + { + BattleTransition_StartOnField(tTransition); + ClearMirageTowerPulseBlendEffect(); + tState++; // go to case 1. + } + break; + case 1: + if (IsBattleTransitionDone() == TRUE) + { + CleanupOverworldWindowsAndTilemaps(); + SetMainCallback2(CB2_InitBattle); + RestartWildEncounterImmunitySteps(); + ClearPoisonStepCounter(); + DestroyTask(taskId); + } + break; + } +} + +static void CreateBattleStartTask_Debug(u8 transition, u16 song) +{ + u8 taskId = CreateTask(Task_BattleStart_Debug, 1); + + gTasks[taskId].tTransition = transition; + PlayMapChosenOrBattleBGM(song); +} + #undef tState #undef tTransition @@ -422,6 +457,25 @@ static void DoStandardWildBattle(bool32 isDouble) TryUpdateGymLeaderRematchFromWild(); } +void DoStandardWildBattle_Debug(void) +{ + LockPlayerFieldControls(); + FreezeObjectEvents(); + StopPlayerAvatar(); + gMain.savedCallback = CB2_EndWildBattle; + gBattleTypeFlags = 0; + if (InBattlePyramid()) + { + VarSet(VAR_TEMP_E, 0); + gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; + } + CreateBattleStartTask_Debug(GetWildBattleTransition(), 0); + //IncrementGameStat(GAME_STAT_TOTAL_BATTLES); + //IncrementGameStat(GAME_STAT_WILD_BATTLES); + //IncrementDailyWildBattles(); + //TryUpdateGymLeaderRematchFromWild(); +} + void BattleSetup_StartRoamerBattle(void) { LockPlayerFieldControls(); @@ -1349,6 +1403,19 @@ void BattleSetup_StartTrainerBattle(void) ScriptContext_Stop(); } +void BattleSetup_StartTrainerBattle_Debug(void) +{ + sNoOfPossibleTrainerRetScripts = gNoOfApproachingTrainers; + gNoOfApproachingTrainers = 0; + sShouldCheckTrainerBScript = FALSE; + gWhichTrainerToFaceAfterBattle = 0; + gMain.savedCallback = CB2_EndTrainerBattle; + + CreateBattleStartTask_Debug(GetWildBattleTransition(), 0); + + ScriptContext_Stop(); +} + static void CB2_EndTrainerBattle(void) { if (gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) diff --git a/src/debug.c b/src/debug.c index d98699b6e0..ffacba9daf 100644 --- a/src/debug.c +++ b/src/debug.c @@ -8,6 +8,7 @@ //Jaizu: https://jaizu.moe/ #include "global.h" #include "battle.h" +#include "battle_setup.h" #include "coins.h" #include "credits.h" #include "data.h" @@ -48,7 +49,9 @@ #include "string_util.h" #include "task.h" #include "pokemon_summary_screen.h" +#include "wild_encounter.h" #include "constants/abilities.h" +#include "constants/battle_ai.h" #include "constants/battle_frontier.h" #include "constants/flags.h" #include "constants/items.h" @@ -65,9 +68,10 @@ enum { // Main DEBUG_MENU_ITEM_UTILITIES, DEBUG_MENU_ITEM_SCRIPTS, - DEBUG_MENU_ITEM_FLAGS, - DEBUG_MENU_ITEM_VARS, + DEBUG_MENU_ITEM_FLAGVAR, + //DEBUG_MENU_ITEM_BATTLE, DEBUG_MENU_ITEM_GIVE, + DEBUG_MENU_ITEM_FILL, DEBUG_MENU_ITEM_SOUND, DEBUG_MENU_ITEM_ACCESS_PC, DEBUG_MENU_ITEM_CANCEL @@ -76,7 +80,6 @@ enum { // Util DEBUG_UTIL_MENU_ITEM_HEAL_PARTY, DEBUG_UTIL_MENU_ITEM_FLY, DEBUG_UTIL_MENU_ITEM_WARP, - DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES, DEBUG_UTIL_MENU_ITEM_POISON_MONS, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK, DEBUG_UTIL_MENU_ITEM_WEATHER, @@ -87,6 +90,7 @@ enum { // Util DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER, DEBUG_UTIL_MENU_ITEM_TRAINER_ID, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES, + DEBUG_UTIL_MENU_ITEM_CHEAT, }; enum { // Scripts DEBUG_UTIL_MENU_ITEM_SCRIPT_1, @@ -98,24 +102,64 @@ enum { // Scripts DEBUG_UTIL_MENU_ITEM_SCRIPT_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_8, }; -enum { // Flags - DEBUG_FLAG_MENU_ITEM_FLAGS, - DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS, - DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF, - DEBUG_FLAG_MENU_ITEM_NATDEXONOFF, - DEBUG_FLAG_MENU_ITEM_POKENAVONOFF, - DEBUG_FLAG_MENU_ITEM_FLYANYWHERE, - DEBUG_FLAG_MENU_ITEM_GETALLBADGES, - DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS, - DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF, - DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF, - DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF, - DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF, - DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF, +enum { // Flags and Vars + DEBUG_FLAGVAR_MENU_ITEM_FLAGS, + DEBUG_FLAGVAR_MENU_ITEM_VARS, + DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL, + DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLISSION, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE, + DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING, }; -enum { // Vars - DEBUG_VARS_MENU_ITEM_VARS, +enum { // Battle 0 Type + DEBUG_BATTLE_0_MENU_ITEM_WILD, + DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE, + DEBUG_BATTLE_0_MENU_ITEM_SINGLE, + DEBUG_BATTLE_0_MENU_ITEM_DOUBLE, + DEBUG_BATTLE_0_MENU_ITEM_MULTI, }; +enum { // Battle 1 AI FLags + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16, + DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17, + DEBUG_BATTLE_1_MENU_ITEM_CONTINUE, +}; +enum { // Battle 2 Terrain + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9, +}; enum { // Give DEBUG_GIVE_MENU_ITEM_ITEM_X, DEBUG_GIVE_MENU_ITEM_ALLTMS, @@ -125,8 +169,16 @@ enum { // Give DEBUG_GIVE_MENU_ITEM_MAX_COINS, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG, - DEBUG_GIVE_MENU_ITEM_FILL_PC, - DEBUG_GIVE_MENU_ITEM_CHEAT, +}; +enum { // Give Fill + DEBUG_FILL_MENU_ITEM_PC_BOXES_FAST, + DEBUG_FILL_MENU_ITEM_PC_BOXES_SLOW, + DEBUG_FILL_MENU_ITEM_PC_ITEMS, + DEBUG_FILL_MENU_ITEM_POCKET_ITEMS, + DEBUG_FILL_MENU_ITEM_POCKET_BALLS, + DEBUG_FILL_MENU_ITEM_POCKET_TMHM, + DEBUG_FILL_MENU_ITEM_POCKET_BERRIES, + DEBUG_FILL_MENU_ITEM_POCKET_KEY_ITEMS, }; enum { //Sound DEBUG_SOUND_MENU_ITEM_SE, @@ -135,15 +187,20 @@ enum { //Sound // ******************************* // Constants -#define DEBUG_MAIN_MENU_WIDTH 15 -#define DEBUG_MAIN_MENU_HEIGHT 8 +#define DEBUG_MENU_WIDTH_MAIN 16 +#define DEBUG_MENU_HEIGHT_MAIN 9 -#define DEBUG_NUMBER_DISPLAY_WIDTH 10 -#define DEBUG_NUMBER_DISPLAY_HEIGHT 4 -#define DEBUG_NUMBER_DISPLAY_MEDIUM_WIDTH 15 -#define DEBUG_NUMBER_DISPLAY_MEDIUM_HEIGHT 3 -#define DEBUG_NUMBER_DISPLAY_SOUND_WIDTH 20 -#define DEBUG_NUMBER_DISPLAY_SOUND_HEIGHT 6 +#define DEBUG_MENU_WIDTH_EXTRA 10 +#define DEBUG_MENU_HEIGHT_EXTRA 4 + +#define DEBUG_MENU_WIDTH_WEATHER 15 +#define DEBUG_MENU_HEIGHT_WEATHER 3 + +#define DEBUG_MENU_WIDTH_SOUND 20 +#define DEBUG_MENU_HEIGHT_SOUND 6 + +#define DEBUG_MENU_WIDTH_FLAGVAR 4 +#define DEBUG_MENU_HEIGHT_FLAGVAR 2 #define DEBUG_NUMBER_DIGITS_FLAGS 4 #define DEBUG_NUMBER_DIGITS_VARIABLES 5 @@ -154,9 +211,6 @@ enum { //Sound #define DEBUG_NUMBER_ICON_X 210 #define DEBUG_NUMBER_ICON_Y 50 -// EWRAM -static EWRAM_DATA struct DebugMonData *sDebugMonData = NULL; - // ******************************* struct DebugMonData { @@ -177,14 +231,41 @@ struct DebugMonData u16 mon_move_3; }; +struct DebugMenuListData +{ + struct ListMenuItem listItems[20 + 1]; + u8 itemNames[PC_ITEMS_COUNT + 1][26]; + u8 listId; +}; + +struct DebugBattleData +{ + u8 submenu; + u8 battleType; + u8 battleTerrain; + bool8 aiFlags[AI_FLAG_COUNT]; +}; + +// EWRAM +static EWRAM_DATA struct DebugMonData *sDebugMonData = NULL; +static EWRAM_DATA struct DebugMenuListData *sDebugMenuListData = NULL; +static EWRAM_DATA struct DebugBattleData *sDebugBattleData = NULL; +EWRAM_DATA bool8 gIsDebugBattle = FALSE; +EWRAM_DATA u32 gDebugAIFlags = 0; + // ******************************* // Define functions +static void Debug_ReShowMainMenu(void); static void Debug_ShowMenu(void (*HandleInput)(u8), struct ListMenuTemplate LMtemplate); -void Debug_ShowMainMenu(void); +static void Debug_ShowMenuDynamic(u8 taskId); static void Debug_DestroyMenu(u8 taskId); static void Debug_DestroyMenu_Full(u8 taskId); static void DebugAction_Cancel(u8 taskId); static void DebugAction_DestroyExtraWindow(u8 taskId); +static void DebugTask_HandleMenuInput(u8 taskId, void (*HandleInput)(u8)); +static void Debug_InitDebugBattleData(void); +static void Debug_RefreshListMenu(u8 taskId); +static void Debug_RedrawListMenu(u8 taskId); static void DebugAction_Util_Script_1(u8 taskId); static void DebugAction_Util_Script_2(u8 taskId); @@ -197,16 +278,19 @@ static void DebugAction_Util_Script_8(u8 taskId); static void DebugAction_OpenUtilitiesMenu(u8 taskId); static void DebugAction_OpenScriptsMenu(u8 taskId); -static void DebugAction_OpenFlagsMenu(u8 taskId); -static void DebugAction_OpenVariablesMenu(u8 taskId); +static void DebugAction_OpenFlagsVarsMenu(u8 taskId); +static void DebugAction_OpenBattleMenu(u8 taskId); static void DebugAction_OpenGiveMenu(u8 taskId); +static void DebugAction_OpenFillMenu(u8 taskId); static void DebugAction_OpenSoundMenu(u8 taskId); +static void DebugAction_AccessPC(u8 taskId); static void DebugTask_HandleMenuInput_Main(u8 taskId); static void DebugTask_HandleMenuInput_Utilities(u8 taskId); static void DebugTask_HandleMenuInput_Scripts(u8 taskId); -static void DebugTask_HandleMenuInput_Flags(u8 taskId); -static void DebugTask_HandleMenuInput_Vars(u8 taskId); +static void DebugTask_HandleMenuInput_FlagsVars(u8 taskId); +static void DebugTask_HandleMenuInput_Battle(u8 taskId); static void DebugTask_HandleMenuInput_Give(u8 taskId); +static void DebugTask_HandleMenuInput_Fill(u8 taskId); static void DebugTask_HandleMenuInput_Sound(u8 taskId); static void DebugAction_Util_HealParty(u8 taskId); @@ -215,7 +299,7 @@ static void DebugAction_Util_Warp_Warp(u8 taskId); static void DebugAction_Util_Warp_SelectMapGroup(u8 taskId); static void DebugAction_Util_Warp_SelectMap(u8 taskId); static void DebugAction_Util_Warp_SelectWarp(u8 taskId); -static void DebugAction_Util_RunningShoes(u8 taskId); +static void DebugAction_FlagsVars_RunningShoes(u8 taskId); static void DebugAction_Util_PoisonMons(u8 taskId); static void DebugAction_Util_CheckSaveBlock(u8 taskId); static void DebugAction_Util_Weather(u8 taskId); @@ -227,26 +311,28 @@ static void DebugAction_Util_Trainer_Name(u8 taskId); static void DebugAction_Util_Trainer_Gender(u8 taskId); static void DebugAction_Util_Trainer_Id(u8 taskId); static void DebugAction_Util_Clear_Boxes(u8 taskId); +static void DebugAction_Util_CheatStart(u8 taskId); -static void DebugAction_Flags_Flags(u8 taskId); -static void DebugAction_Flags_FlagsSelect(u8 taskId); +static void DebugAction_FlagsVars_Flags(u8 taskId); +static void DebugAction_FlagsVars_FlagsSelect(u8 taskId); +static void DebugAction_FlagsVars_Vars(u8 taskId); +static void DebugAction_FlagsVars_Select(u8 taskId); +static void DebugAction_FlagsVars_SetValue(u8 taskId); +static void DebugAction_FlagsVars_PokedexFlags_All(u8 taskId); +static void DebugAction_FlagsVars_PokedexFlags_Reset(u8 taskId); +static void DebugAction_FlagsVars_SwitchDex(u8 taskId); +static void DebugAction_FlagsVars_SwitchNatDex(u8 taskId); +static void DebugAction_FlagsVars_SwitchPokeNav(u8 taskId); +static void DebugAction_FlagsVars_ToggleFlyFlags(u8 taskId); +static void DebugAction_FlagsVars_ToggleBadgeFlags(u8 taskId); +static void DebugAction_FlagsVars_ToggleFrontierPass(u8 taskId); +static void DebugAction_FlagsVars_CollisionOnOff(u8 taskId); +static void DebugAction_FlagsVars_EncounterOnOff(u8 taskId); +static void DebugAction_FlagsVars_TrainerSeeOnOff(u8 taskId); +static void DebugAction_FlagsVars_BagUseOnOff(u8 taskId); +static void DebugAction_FlagsVars_CatchingOnOff(u8 taskId); -static void DebugAction_Flags_SetPokedexFlags(u8 taskId); -static void DebugAction_Flags_SwitchDex(u8 taskId); -static void DebugAction_Flags_SwitchNatDex(u8 taskId); -static void DebugAction_Flags_SwitchPokeNav(u8 taskId); -static void DebugAction_Flags_ToggleFlyFlags(u8 taskId); -static void DebugAction_Flags_ToggleBadgeFlags(u8 taskId); -static void DebugAction_Flags_ToggleFrontierPass(u8 taskId); -static void DebugAction_Flags_CollisionOnOff(u8 taskId); -static void DebugAction_Flags_EncounterOnOff(u8 taskId); -static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId); -static void DebugAction_Flags_BagUseOnOff(u8 taskId); -static void DebugAction_Flags_CatchingOnOff(u8 taskId); - -static void DebugAction_Vars_Vars(u8 taskId); -static void DebugAction_Vars_Select(u8 taskId); -static void DebugAction_Vars_SetValue(u8 taskId); +static void Debug_InitializeBattle(u8 taskId); static void DebugAction_Give_Item(u8 taskId); static void DebugAction_Give_Item_SelectId(u8 taskId); @@ -266,17 +352,21 @@ static void DebugAction_Give_MaxMoney(u8 taskId); static void DebugAction_Give_MaxCoins(u8 taskId); static void DebugAction_Give_MaxBattlePoints(u8 taskId); static void DebugAction_Give_DayCareEgg(u8 taskId); -static void DebugAction_Give_FillPC(u8 taskId); -static void DebugAction_Give_CHEAT(u8 taskId); -static void DebugAction_AccessPC(u8 taskId); + +static void DebugAction_Fill_PCBoxes_Fast(u8 taskId); +static void DebugAction_Fill_PCBoxes_Slow(u8 taskId); +static void DebugAction_Fill_PCItemStorage(u8 taskId); +static void DebugAction_Fill_PocketItems(u8 taskId); +static void DebugAction_Fill_PocketPokeBalls(u8 taskId); +static void DebugAction_Fill_PocketTMHM(u8 taskId); +static void DebugAction_Fill_PocketBerries(u8 taskId); +static void DebugAction_Fill_PocketKeyItems(u8 taskId); static void DebugAction_Sound_SE(u8 taskId); static void DebugAction_Sound_SE_SelectId(u8 taskId); static void DebugAction_Sound_MUS(u8 taskId); static void DebugAction_Sound_MUS_SelectId(u8 taskId); -static void DebugTask_HandleMenuInput(u8 taskId, void (*HandleInput)(u8)); -static void DebugAction_OpenSubMenu(u8 taskId, struct ListMenuTemplate LMtemplate); extern u8 Debug_FlagsNotSetOverworldConfigMessage[]; extern u8 Debug_FlagsNotSetBattleConfigMessage[]; @@ -294,106 +384,155 @@ extern u8 Debug_CheatStart[]; extern u8 PlayersHouse_2F_EventScript_SetWallClock[]; extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; extern u8 Debug_CheckSaveBlock[]; +extern u8 Debug_BoxFilledMessage[]; #include "data/map_group_count.h" // Text +// General +static const u8 sDebugText_True[] = _("TRUE"); +static const u8 sDebugText_False[] = _("FALSE"); +static const u8 sDebugText_Colored_True[] = _("{COLOR GREEN}TRUE"); +static const u8 sDebugText_Colored_False[] = _("{COLOR RED}FALSE"); +static const u8 sDebugText_Dashes[] = _("---"); +static const u8 sDebugText_Empty[] = _(""); +static const u8 sDebugText_Continue[] = _("Continue…{CLEAR_TO 110}{RIGHT_ARROW}"); // Main Menu -static const u8 sDebugText_Utilities[] = _("Utilities"); -static const u8 sDebugText_Scripts[] = _("Scripts"); -static const u8 sDebugText_Flags[] = _("Flags"); -static const u8 sDebugText_Vars[] = _("Variables"); -static const u8 sDebugText_Give[] = _("Give X"); -static const u8 sDebugText_Sound[] = _("Sound"); -static const u8 sDebugText_Cancel[] = _("Cancel"); +static const u8 sDebugText_Utilities[] = _("Utilities…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Scripts[] = _("Scripts…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_FlagsVars[] = _("Flags & Vars…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle[] = _("Battle Test{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Give[] = _("Give X…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Fill[] = _("Fill PC/Pockets…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Sound[] = _("Sound…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_AccessPC[] = _("Access PC…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Cancel[] = _("Cancel"); // Script menu -static const u8 sDebugText_Util_Script_1[] = _("Script 1"); -static const u8 sDebugText_Util_Script_2[] = _("Script 2"); -static const u8 sDebugText_Util_Script_3[] = _("Script 3"); -static const u8 sDebugText_Util_Script_4[] = _("Script 4"); -static const u8 sDebugText_Util_Script_5[] = _("Script 5"); -static const u8 sDebugText_Util_Script_6[] = _("Script 6"); -static const u8 sDebugText_Util_Script_7[] = _("Script 7"); -static const u8 sDebugText_Util_Script_8[] = _("Script 8"); +static const u8 sDebugText_Util_Script_1[] = _("Script 1"); +static const u8 sDebugText_Util_Script_2[] = _("Script 2"); +static const u8 sDebugText_Util_Script_3[] = _("Script 3"); +static const u8 sDebugText_Util_Script_4[] = _("Script 4"); +static const u8 sDebugText_Util_Script_5[] = _("Script 5"); +static const u8 sDebugText_Util_Script_6[] = _("Script 6"); +static const u8 sDebugText_Util_Script_7[] = _("Script 7"); +static const u8 sDebugText_Util_Script_8[] = _("Script 8"); // Util Menu -static const u8 sDebugText_Util_HealParty[] = _("Heal Party"); -static const u8 sDebugText_Util_Fly[] = _("Fly to map"); -static const u8 sDebugText_Util_WarpToMap[] = _("Warp to map warp"); -static const u8 sDebugText_Util_WarpToMap_SelectMapGroup[] = _("Group: {STR_VAR_1} \n \n\n{STR_VAR_3} "); -static const u8 sDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1} \nMapSec: \n{STR_VAR_2} \n{STR_VAR_3} "); -static const u8 sDebugText_Util_WarpToMap_SelectWarp[] = _("Warp: \n{STR_VAR_1} \n \n{STR_VAR_3} "); -static const u8 sDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); -static const u8 sDebugText_Util_RunningShoes[] = _("Toggle Running Shoes"); -static const u8 sDebugText_Util_PoisonMons[] = _("Poison all mons"); -static const u8 sDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space"); -static const u8 sDebugText_Util_Weather[] = _("Set weather"); -static const u8 sDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); -static const u8 sDebugText_Util_CheckWallClock[] = _("Check Wall Clock"); -static const u8 sDebugText_Util_SetWallClock[] = _("Set Wall Clock"); -static const u8 sDebugText_Util_WatchCredits[] = _("Watch Credits"); -static const u8 sDebugText_Util_Trainer_Name[] = _("Trainer name"); -static const u8 sDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender"); -static const u8 sDebugText_Util_Trainer_Id[] = _("New Trainer Id"); -static const u8 sDebugText_Util_Clear_Boxes[] = _("Clear Storage Boxes"); -// Flags Menu -static const u8 sDebugText_Flags_Flags[] = _("Set Flag XXXX"); -static const u8 sDebugText_Flags_SetPokedexFlags[] = _("All Pokédex Flags"); -static const u8 sDebugText_Flags_SwitchDex[] = _("Pokédex ON/OFF"); -static const u8 sDebugText_Flags_SwitchNationalDex[] = _("NatDex ON/OFF"); -static const u8 sDebugText_Flags_SwitchPokeNav[] = _("PokéNav ON/OFF"); -static const u8 sDebugText_Flags_ToggleFlyFlags[] = _("Fly Flags ON/OFF"); -static const u8 sDebugText_Flags_ToggleAllBadges[] = _("All badges ON/OFF"); -static const u8 sDebugText_Flags_ToggleFrontierPass[] = _("Frontier Pass ON/OFF"); -static const u8 sDebugText_Flags_SwitchCollision[] = _("Collision ON/OFF"); -static const u8 sDebugText_Flags_SwitchEncounter[] = _("Encounter ON/OFF"); -static const u8 sDebugText_Flags_SwitchTrainerSee[] = _("TrainerSee ON/OFF"); -static const u8 sDebugText_Flags_SwitchBagUse[] = _("BagUse ON/OFF"); -static const u8 sDebugText_Flags_SwitchCatching[] = _("Catching ON/OFF"); -static const u8 sDebugText_Flags_Flag[] = _("Flag: {STR_VAR_1} \n{STR_VAR_2} \n{STR_VAR_3}"); -static const u8 sDebugText_Flags_FlagHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); -static const u8 sDebugText_Flags_FlagSet[] = _("TRUE"); -static const u8 sDebugText_Flags_FlagUnset[] = _("FALSE"); -// Variables Menu -static const u8 sDebugText_Vars_Vars[] = _("Set Vars XXXX"); -static const u8 sDebugText_Vars_VariableHex[] = _("{STR_VAR_1} \n0x{STR_VAR_2} "); -static const u8 sDebugText_Vars_Variable[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); -static const u8 sDebugText_Vars_VariableValueSet[] = _("Var: {STR_VAR_1} \nVal: {STR_VAR_3} \n{STR_VAR_2}"); +static const u8 sDebugText_Util_HealParty[] = _("Heal Party"); +static const u8 sDebugText_Util_Fly[] = _("Fly to map…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_WarpToMap[] = _("Warp to map warp…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_WarpToMap_SelectMapGroup[] =_("Group: {STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n\n{STR_VAR_3}{CLEAR_TO 90}"); +static const u8 sDebugText_Util_WarpToMap_SelectMap[] = _("Map: {STR_VAR_1}{CLEAR_TO 90}\nMapSec:{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}\n{STR_VAR_3}{CLEAR_TO 90}"); +static const u8 sDebugText_Util_WarpToMap_SelectWarp[] = _("Warp:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_3}{CLEAR_TO 90}"); +static const u8 sDebugText_Util_WarpToMap_SelMax[] = _("{STR_VAR_1} / {STR_VAR_2}"); +static const u8 sDebugText_Util_PoisonMons[] = _("Poison all mons"); +static const u8 sDebugText_Util_SaveBlockSpace[] = _("SaveBlock Space…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_Weather[] = _("Set weather…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_Weather_ID[] = _("Weather Id: {STR_VAR_3}\n{STR_VAR_1}\n{STR_VAR_2}"); +static const u8 sDebugText_Util_CheckWallClock[] = _("Check Wall Clock…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_SetWallClock[] = _("Set Wall Clock…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_WatchCredits[] = _("Watch Credits…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Util_Trainer_Name[] = _("Trainer name"); +static const u8 sDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender"); +static const u8 sDebugText_Util_Trainer_Id[] = _("New Trainer Id"); +static const u8 sDebugText_Util_Clear_Boxes[] = _("Clear Storage Boxes"); +static const u8 sDebugText_Util_CheatStart[] = _("CHEAT Start"); +// Flags/Vars Menu +static const u8 sDebugText_FlagsVars_Flags[] = _("Set Flag XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_FlagsVars_Flag[] = _("Flag: {STR_VAR_1}{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}\n{STR_VAR_3}"); +static const u8 sDebugText_FlagsVars_FlagHex[] = _("{STR_VAR_1}{CLEAR_TO 90}\n0x{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_FlagsVars_Vars[] = _("Set Var XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_FlagsVars_VariableHex[] = _("{STR_VAR_1}{CLEAR_TO 90}\n0x{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_FlagsVars_Variable[] = _("Var: {STR_VAR_1}{CLEAR_TO 90}\nVal: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_2}"); +static const u8 sDebugText_FlagsVars_VariableValueSet[] = _("Var: {STR_VAR_1}{CLEAR_TO 90}\nVal: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_2}"); +static const u8 sDebugText_FlagsVars_PokedexFlags_All[] = _("Pokédex Flags All"); +static const u8 sDebugText_FlagsVars_PokedexFlags_Reset[] = _("Pokédex Flags Reset"); +static const u8 sDebugText_FlagsVars_SwitchDex[] = _("Toggle {STR_VAR_1}Pokédex"); +static const u8 sDebugText_FlagsVars_SwitchNationalDex[] = _("Toggle {STR_VAR_1}NatDex"); +static const u8 sDebugText_FlagsVars_SwitchPokeNav[] = _("Toggle {STR_VAR_1}PokéNav"); +static const u8 sDebugText_FlagsVars_RunningShoes[] = _("Toggle {STR_VAR_1}Running Shoes"); +static const u8 sDebugText_FlagsVars_ToggleFlyFlags[] = _("Toggle {STR_VAR_1}Fly Flags"); +static const u8 sDebugText_FlagsVars_ToggleAllBadges[] = _("Toggle {STR_VAR_1}All badges"); +static const u8 sDebugText_FlagsVars_ToggleFrontierPass[] = _("Toggle {STR_VAR_1}Frontier Pass"); +static const u8 sDebugText_FlagsVars_SwitchCollision[] = _("Toggle {STR_VAR_1}Collision OFF"); +static const u8 sDebugText_FlagsVars_SwitchEncounter[] = _("Toggle {STR_VAR_1}Encounter OFF"); +static const u8 sDebugText_FlagsVars_SwitchTrainerSee[] = _("Toggle {STR_VAR_1}TrainerSee OFF"); +static const u8 sDebugText_FlagsVars_SwitchBagUse[] = _("Toggle {STR_VAR_1}BagUse OFF"); +static const u8 sDebugText_FlagsVars_SwitchCatching[] = _("Toggle {STR_VAR_1}Catching OFF"); +// Battle +static const u8 sDebugText_Battle_0_Wild[] = _("Wild…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_0_WildDouble[] = _("Wild Double…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_0_Single[] = _("Single…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_0_Double[] = _("Double…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_0_Mulit[] = _("Multi…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_1_AIFlag_00[] = _("{STR_VAR_1}Check bad move"); +static const u8 sDebugText_Battle_1_AIFlag_01[] = _("{STR_VAR_1}Try to faint"); +static const u8 sDebugText_Battle_1_AIFlag_02[] = _("{STR_VAR_1}Check viability"); +static const u8 sDebugText_Battle_1_AIFlag_03[] = _("{STR_VAR_1}Setup first turn"); +static const u8 sDebugText_Battle_1_AIFlag_04[] = _("{STR_VAR_1}Risky"); +static const u8 sDebugText_Battle_1_AIFlag_05[] = _("{STR_VAR_1}Prefer strongest move"); +static const u8 sDebugText_Battle_1_AIFlag_06[] = _("{STR_VAR_1}Prefer baton pass"); +static const u8 sDebugText_Battle_1_AIFlag_07[] = _("{STR_VAR_1}Double battle"); +static const u8 sDebugText_Battle_1_AIFlag_08[] = _("{STR_VAR_1}Hp aware"); +static const u8 sDebugText_Battle_1_AIFlag_09[] = _("{STR_VAR_1}Negate unaware"); +static const u8 sDebugText_Battle_1_AIFlag_10[] = _("{STR_VAR_1}Will suicide"); +static const u8 sDebugText_Battle_1_AIFlag_11[] = _("{STR_VAR_1}Help partner"); +static const u8 sDebugText_Battle_1_AIFlag_12[] = _("{STR_VAR_1}Prefer status moves"); +static const u8 sDebugText_Battle_1_AIFlag_13[] = _("{STR_VAR_1}Stall"); +static const u8 sDebugText_Battle_1_AIFlag_14[] = _("{STR_VAR_1}Screener"); +static const u8 sDebugText_Battle_1_AIFlag_15[] = _("{STR_VAR_1}Smart switching"); +static const u8 sDebugText_Battle_1_AIFlag_16[] = _("{STR_VAR_1}Ace pokemon"); +static const u8 sDebugText_Battle_1_AIFlag_17[] = _("{STR_VAR_1}Omniscient"); +static const u8 sDebugText_Battle_2_Terrain_0[] = _("Grass…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_1[] = _("Long grass…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_2[] = _("Sand…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_3[] = _("Underwater…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_4[] = _("Water…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_5[] = _("Pond…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_6[] = _("Mountain…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_7[] = _("Cave…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_8[] = _("Building…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Battle_2_Terrain_9[] = _("Plain…{CLEAR_TO 110}{RIGHT_ARROW}"); // Give Menu -static const u8 sDebugText_Give_GiveItem[] = _("Give item XXXX"); -static const u8 sDebugText_ItemQuantity[] = _("Quantity: \n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 sDebugText_ItemID[] = _("Item Id: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 sDebugText_Give_AllTMs[] = _("Give all TMs"); -static const u8 sDebugText_Give_GivePokemonSimple[] = _("Pkm(lvl)"); -static const u8 sDebugText_Give_GivePokemonComplex[] = _("Pkm(l,s,n,a,IV,mov)"); -static const u8 sDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1} \n\n{STR_VAR_2}"); -static const u8 sDebugText_PokemonLevel[] = _("Level: \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_PokemonShiny[] = _("Shiny: \n {STR_VAR_2} \n \n "); -static const u8 sDebugText_PokemonNature[] = _("NatureId: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_PokemonAbility[] = _("AbilityNum: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_PokemonIVs[] = _("All IVs: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonIV_0[] = _("IV HP: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonIV_1[] = _("IV Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonIV_2[] = _("IV Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonIV_3[] = _("IV Speed: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonIV_4[] = _("IV Sp. Attack: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonIV_5[] = _("IV Sp. Defense: \n {STR_VAR_3} \n \n{STR_VAR_2} "); -static const u8 sDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3} \n{STR_VAR_1} \n \n{STR_VAR_2}"); -static const u8 sDebugText_Give_MaxMoney[] = _("Max Money"); -static const u8 sDebugText_Give_MaxCoins[] = _("Max Coins"); -static const u8 sDebugText_Give_BattlePoints[] = _("Max Battle Points"); -static const u8 sDebugText_Give_DaycareEgg[] = _("Daycare Egg"); -static const u8 sDebugText_Give_FillPc[] = _("Fill Pc"); -static const u8 sDebugText_Give_GiveCHEAT[] = _("CHEAT Start"); -static const u8 sDebugText_AccessPC[] = _("Access PC"); +static const u8 sDebugText_Give_GiveItem[] = _("Give item XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_ItemQuantity[] = _("Quantity:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n\n{STR_VAR_2}"); +static const u8 sDebugText_ItemID[] = _("Item Id: {STR_VAR_3}\n{STR_VAR_1}{CLEAR_TO 90}\n\n{STR_VAR_2}"); +static const u8 sDebugText_Give_AllTMs[] = _("Give all TMs"); +static const u8 sDebugText_Give_GivePokemonSimple[] = _("Pkm (lvl)…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Give_GivePokemonComplex[] = _("Pkm (l,s,n,a,IV,mov)…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_PokemonID[] = _("Species: {STR_VAR_3}\n{STR_VAR_1}{CLEAR_TO 90}\n\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonLevel[] = _("Level:{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonShiny[] = _("Shiny:{CLEAR_TO 90}\n {STR_VAR_2}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonNature[] = _("NatureId: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonAbility[] = _("AbilityNum: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIVs[] = _("All IVs:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIV_0[] = _("IV HP:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIV_1[] = _("IV Attack:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIV_2[] = _("IV Defense:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIV_3[] = _("IV Speed:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIV_4[] = _("IV Sp. Attack:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonIV_5[] = _("IV Sp. Defense:{CLEAR_TO 90}\n {STR_VAR_3}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonMove_0[] = _("Move 0: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonMove_1[] = _("Move 1: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonMove_2[] = _("Move 2: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_PokemonMove_3[] = _("Move 3: {STR_VAR_3}{CLEAR_TO 90}\n{STR_VAR_1}{CLEAR_TO 90}\n{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}"); +static const u8 sDebugText_Give_MaxMoney[] = _("Max Money"); +static const u8 sDebugText_Give_MaxCoins[] = _("Max Coins"); +static const u8 sDebugText_Give_BattlePoints[] = _("Max Battle Points"); +static const u8 sDebugText_Give_DaycareEgg[] = _("Daycare Egg"); +// Fill Menu +static const u8 sDebugText_Fill_Pc_Fast[] = _("Fill PCBoxes Fast"); +static const u8 sDebugText_Fill_Pc_Slow[] = _("Fill PCBoxes Slow (LAG!)"); +static const u8 sDebugText_Fill_Pc_Items[] = _("Fill PCItems"); +static const u8 sDebugText_Fill_PocketItems[] = _("Fill Pocket Items"); +static const u8 sDebugText_Fill_PocketPokeBalls[] =_("Fill Pocket PokeBalls"); +static const u8 sDebugText_Fill_PocketTMHM[] = _("Fill Pocket TMHM"); +static const u8 sDebugText_Fill_PocketBerries[] = _("Fill Pocket Berries"); +static const u8 sDebugText_Fill_PocketKeyItems[] = _("Fill Pocket KeyItems"); // Sound Mneu -static const u8 sDebugText_Sound_SE[] = _("Effects"); -static const u8 sDebugText_Sound_SE_ID[] = _("Sound Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 sDebugText_Sound_MUS[] = _("Music"); -static const u8 sDebugText_Sound_MUS_ID[] = _("Music Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); -static const u8 sDebugText_Sound_Empty[] = _(""); +static const u8 sDebugText_Sound_SE[] = _("Effects…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Sound_SE_ID[] = _("Sound Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); +static const u8 sDebugText_Sound_MUS[] = _("Music…{CLEAR_TO 110}{RIGHT_ARROW}"); +static const u8 sDebugText_Sound_MUS_ID[] = _("Music Id: {STR_VAR_3}\n{STR_VAR_1} \n{STR_VAR_2}"); static const u8 digitInidicator_1[] = _("{LEFT_ARROW}+1{RIGHT_ARROW} "); static const u8 digitInidicator_10[] = _("{LEFT_ARROW}+10{RIGHT_ARROW} "); @@ -432,62 +571,105 @@ static const s32 sPowersOfTen[] = // List Menu Items static const struct ListMenuItem sDebugMenu_Items_Main[] = { - [DEBUG_MENU_ITEM_UTILITIES] = {sDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, - [DEBUG_MENU_ITEM_SCRIPTS] = {sDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, - [DEBUG_MENU_ITEM_FLAGS] = {sDebugText_Flags, DEBUG_MENU_ITEM_FLAGS}, - [DEBUG_MENU_ITEM_VARS] = {sDebugText_Vars, DEBUG_MENU_ITEM_VARS}, - [DEBUG_MENU_ITEM_GIVE] = {sDebugText_Give, DEBUG_MENU_ITEM_GIVE}, - [DEBUG_MENU_ITEM_SOUND] = {sDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, - [DEBUG_MENU_ITEM_ACCESS_PC] = {sDebugText_AccessPC, DEBUG_MENU_ITEM_ACCESS_PC}, - [DEBUG_MENU_ITEM_CANCEL] = {sDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL} + [DEBUG_MENU_ITEM_UTILITIES] = {sDebugText_Utilities, DEBUG_MENU_ITEM_UTILITIES}, + [DEBUG_MENU_ITEM_SCRIPTS] = {sDebugText_Scripts, DEBUG_MENU_ITEM_SCRIPTS}, + [DEBUG_MENU_ITEM_FLAGVAR] = {sDebugText_FlagsVars, DEBUG_MENU_ITEM_FLAGVAR}, + //[DEBUG_MENU_ITEM_BATTLE] = {sDebugText_Battle, DEBUG_MENU_ITEM_BATTLE}, + [DEBUG_MENU_ITEM_GIVE] = {sDebugText_Give, DEBUG_MENU_ITEM_GIVE}, + [DEBUG_MENU_ITEM_FILL] = {sDebugText_Fill, DEBUG_MENU_ITEM_FILL}, + [DEBUG_MENU_ITEM_SOUND] = {sDebugText_Sound, DEBUG_MENU_ITEM_SOUND}, + [DEBUG_MENU_ITEM_ACCESS_PC] = {sDebugText_AccessPC, DEBUG_MENU_ITEM_ACCESS_PC}, + [DEBUG_MENU_ITEM_CANCEL] = {sDebugText_Cancel, DEBUG_MENU_ITEM_CANCEL} }; static const struct ListMenuItem sDebugMenu_Items_Utilities[] = { - [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = {sDebugText_Util_HealParty, DEBUG_UTIL_MENU_ITEM_HEAL_PARTY}, - [DEBUG_UTIL_MENU_ITEM_FLY] = {sDebugText_Util_Fly, DEBUG_UTIL_MENU_ITEM_FLY}, - [DEBUG_UTIL_MENU_ITEM_WARP] = {sDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, - [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = {sDebugText_Util_RunningShoes, DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES}, - [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {sDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, - [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {sDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, - [DEBUG_UTIL_MENU_ITEM_WEATHER] = {sDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, - [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {sDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {sDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, - [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {sDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = {sDebugText_Util_Trainer_Name, DEBUG_UTIL_MENU_ITEM_TRAINER_NAME}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = {sDebugText_Util_Trainer_Gender, DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER}, - [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {sDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, - [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = {sDebugText_Util_Clear_Boxes, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES}, + [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = {sDebugText_Util_HealParty, DEBUG_UTIL_MENU_ITEM_HEAL_PARTY}, + [DEBUG_UTIL_MENU_ITEM_FLY] = {sDebugText_Util_Fly, DEBUG_UTIL_MENU_ITEM_FLY}, + [DEBUG_UTIL_MENU_ITEM_WARP] = {sDebugText_Util_WarpToMap, DEBUG_UTIL_MENU_ITEM_WARP}, + [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = {sDebugText_Util_PoisonMons, DEBUG_UTIL_MENU_ITEM_POISON_MONS}, + [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = {sDebugText_Util_SaveBlockSpace, DEBUG_UTIL_MENU_ITEM_SAVEBLOCK}, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = {sDebugText_Util_Weather, DEBUG_UTIL_MENU_ITEM_WEATHER}, + [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = {sDebugText_Util_CheckWallClock, DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = {sDebugText_Util_SetWallClock, DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK}, + [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = {sDebugText_Util_WatchCredits, DEBUG_UTIL_MENU_ITEM_WATCHCREDITS}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = {sDebugText_Util_Trainer_Name, DEBUG_UTIL_MENU_ITEM_TRAINER_NAME}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = {sDebugText_Util_Trainer_Gender, DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER}, + [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {sDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, + [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = {sDebugText_Util_Clear_Boxes, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES}, + [DEBUG_UTIL_MENU_ITEM_CHEAT] = {sDebugText_Util_CheatStart, DEBUG_UTIL_MENU_ITEM_CHEAT}, }; static const struct ListMenuItem sDebugMenu_Items_Scripts[] = { - [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {sDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {sDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {sDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {sDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {sDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {sDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {sDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, - [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {sDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_1] = {sDebugText_Util_Script_1, DEBUG_UTIL_MENU_ITEM_SCRIPT_1}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_2] = {sDebugText_Util_Script_2, DEBUG_UTIL_MENU_ITEM_SCRIPT_2}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_3] = {sDebugText_Util_Script_3, DEBUG_UTIL_MENU_ITEM_SCRIPT_3}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_4] = {sDebugText_Util_Script_4, DEBUG_UTIL_MENU_ITEM_SCRIPT_4}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_5] = {sDebugText_Util_Script_5, DEBUG_UTIL_MENU_ITEM_SCRIPT_5}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_6] = {sDebugText_Util_Script_6, DEBUG_UTIL_MENU_ITEM_SCRIPT_6}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_7] = {sDebugText_Util_Script_7, DEBUG_UTIL_MENU_ITEM_SCRIPT_7}, + [DEBUG_UTIL_MENU_ITEM_SCRIPT_8] = {sDebugText_Util_Script_8, DEBUG_UTIL_MENU_ITEM_SCRIPT_8}, }; -static const struct ListMenuItem sDebugMenu_Items_Flags[] = +static const struct ListMenuItem sDebugMenu_Items_FlagsVars[] = { - [DEBUG_FLAG_MENU_ITEM_FLAGS] = {sDebugText_Flags_Flags, DEBUG_FLAG_MENU_ITEM_FLAGS}, - [DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS] = {sDebugText_Flags_SetPokedexFlags, DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS}, - [DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF] = {sDebugText_Flags_SwitchDex, DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF}, - [DEBUG_FLAG_MENU_ITEM_NATDEXONOFF] = {sDebugText_Flags_SwitchNationalDex, DEBUG_FLAG_MENU_ITEM_NATDEXONOFF}, - [DEBUG_FLAG_MENU_ITEM_POKENAVONOFF] = {sDebugText_Flags_SwitchPokeNav, DEBUG_FLAG_MENU_ITEM_POKENAVONOFF}, - [DEBUG_FLAG_MENU_ITEM_FLYANYWHERE] = {sDebugText_Flags_ToggleFlyFlags, DEBUG_FLAG_MENU_ITEM_FLYANYWHERE}, - [DEBUG_FLAG_MENU_ITEM_GETALLBADGES] = {sDebugText_Flags_ToggleAllBadges, DEBUG_FLAG_MENU_ITEM_GETALLBADGES}, - [DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS] = {sDebugText_Flags_ToggleFrontierPass, DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS}, - [DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF] = {sDebugText_Flags_SwitchCollision, DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF] = {sDebugText_Flags_SwitchEncounter, DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF] = {sDebugText_Flags_SwitchTrainerSee, DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF] = {sDebugText_Flags_SwitchBagUse, DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF}, - [DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF] = {sDebugText_Flags_SwitchCatching, DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF}, + [DEBUG_FLAGVAR_MENU_ITEM_FLAGS] = {sDebugText_FlagsVars_Flags, DEBUG_FLAGVAR_MENU_ITEM_FLAGS}, + [DEBUG_FLAGVAR_MENU_ITEM_VARS] = {sDebugText_FlagsVars_Vars, DEBUG_FLAGVAR_MENU_ITEM_VARS}, + [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL] = {sDebugText_FlagsVars_PokedexFlags_All, DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL}, + [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET] = {sDebugText_FlagsVars_PokedexFlags_Reset, DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX] = {sDebugText_FlagsVars_SwitchDex, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX] = {sDebugText_FlagsVars_SwitchNationalDex, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV] = {sDebugText_FlagsVars_SwitchPokeNav, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES] = {sDebugText_FlagsVars_RunningShoes, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS] = {sDebugText_FlagsVars_ToggleFlyFlags, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL] = {sDebugText_FlagsVars_ToggleAllBadges, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS] = {sDebugText_FlagsVars_ToggleFrontierPass, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLISSION] = {sDebugText_FlagsVars_SwitchCollision, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLISSION}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER] = {sDebugText_FlagsVars_SwitchEncounter, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE] = {sDebugText_FlagsVars_SwitchTrainerSee, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE] = {sDebugText_FlagsVars_SwitchBagUse, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE}, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING] = {sDebugText_FlagsVars_SwitchCatching, DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING}, }; -static const struct ListMenuItem sDebugMenu_Items_Vars[] = +static const struct ListMenuItem sDebugMenu_Items_Battle_0[] = { - [DEBUG_VARS_MENU_ITEM_VARS] = {sDebugText_Vars_Vars, DEBUG_FLAG_MENU_ITEM_FLAGS}, + [DEBUG_BATTLE_0_MENU_ITEM_WILD] = {sDebugText_Battle_0_Wild, DEBUG_BATTLE_0_MENU_ITEM_WILD}, + [DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE] = {sDebugText_Battle_0_WildDouble, DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE}, + [DEBUG_BATTLE_0_MENU_ITEM_SINGLE] = {sDebugText_Battle_0_Single, DEBUG_BATTLE_0_MENU_ITEM_SINGLE}, + [DEBUG_BATTLE_0_MENU_ITEM_DOUBLE] = {sDebugText_Battle_0_Double, DEBUG_BATTLE_0_MENU_ITEM_DOUBLE}, + [DEBUG_BATTLE_0_MENU_ITEM_MULTI] = {sDebugText_Battle_0_Mulit, DEBUG_BATTLE_0_MENU_ITEM_MULTI}, +}; +static const struct ListMenuItem sDebugMenu_Items_Battle_1[] = +{ + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00] = {sDebugText_Battle_1_AIFlag_00, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_00}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01] = {sDebugText_Battle_1_AIFlag_01, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_01}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02] = {sDebugText_Battle_1_AIFlag_02, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_02}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03] = {sDebugText_Battle_1_AIFlag_03, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_03}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04] = {sDebugText_Battle_1_AIFlag_04, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_04}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05] = {sDebugText_Battle_1_AIFlag_05, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_05}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06] = {sDebugText_Battle_1_AIFlag_06, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_06}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07] = {sDebugText_Battle_1_AIFlag_07, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_07}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08] = {sDebugText_Battle_1_AIFlag_08, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_08}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09] = {sDebugText_Battle_1_AIFlag_09, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_09}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10] = {sDebugText_Battle_1_AIFlag_10, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_10}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11] = {sDebugText_Battle_1_AIFlag_11, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_11}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12] = {sDebugText_Battle_1_AIFlag_12, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_12}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13] = {sDebugText_Battle_1_AIFlag_13, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_13}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14] = {sDebugText_Battle_1_AIFlag_14, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_14}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15] = {sDebugText_Battle_1_AIFlag_15, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_15}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16] = {sDebugText_Battle_1_AIFlag_16, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_16}, + [DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17] = {sDebugText_Battle_1_AIFlag_17, DEBUG_BATTLE_1_MENU_ITEM_AI_FLAG_17}, + [DEBUG_BATTLE_1_MENU_ITEM_CONTINUE] = {sDebugText_Continue, DEBUG_BATTLE_1_MENU_ITEM_CONTINUE}, +}; +static const struct ListMenuItem sDebugMenu_Items_Battle_2[] = +{ + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0] = {sDebugText_Battle_2_Terrain_0, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1] = {sDebugText_Battle_2_Terrain_1, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2] = {sDebugText_Battle_2_Terrain_2, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3] = {sDebugText_Battle_2_Terrain_3, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4] = {sDebugText_Battle_2_Terrain_4, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5] = {sDebugText_Battle_2_Terrain_5, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6] = {sDebugText_Battle_2_Terrain_6, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7] = {sDebugText_Battle_2_Terrain_7, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8] = {sDebugText_Battle_2_Terrain_8, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8}, + [DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9] = {sDebugText_Battle_2_Terrain_9, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9}, }; static const struct ListMenuItem sDebugMenu_Items_Give[] = { @@ -499,44 +681,54 @@ static const struct ListMenuItem sDebugMenu_Items_Give[] = [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = {sDebugText_Give_MaxCoins, DEBUG_GIVE_MENU_ITEM_MAX_COINS}, [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = {sDebugText_Give_BattlePoints, DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS}, [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = {sDebugText_Give_DaycareEgg, DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG}, - [DEBUG_GIVE_MENU_ITEM_FILL_PC] = {sDebugText_Give_FillPc, DEBUG_GIVE_MENU_ITEM_FILL_PC}, - [DEBUG_GIVE_MENU_ITEM_CHEAT] = {sDebugText_Give_GiveCHEAT, DEBUG_GIVE_MENU_ITEM_CHEAT}, +}; +static const struct ListMenuItem sDebugMenu_Items_Fill[] = +{ + [DEBUG_FILL_MENU_ITEM_PC_BOXES_FAST] = {sDebugText_Fill_Pc_Fast, DEBUG_FILL_MENU_ITEM_PC_BOXES_FAST}, + [DEBUG_FILL_MENU_ITEM_PC_BOXES_SLOW] = {sDebugText_Fill_Pc_Slow, DEBUG_FILL_MENU_ITEM_PC_BOXES_SLOW}, + [DEBUG_FILL_MENU_ITEM_PC_ITEMS] = {sDebugText_Fill_Pc_Items , DEBUG_FILL_MENU_ITEM_PC_ITEMS}, + [DEBUG_FILL_MENU_ITEM_POCKET_ITEMS] = {sDebugText_Fill_PocketItems, DEBUG_FILL_MENU_ITEM_POCKET_ITEMS}, + [DEBUG_FILL_MENU_ITEM_POCKET_BALLS] = {sDebugText_Fill_PocketPokeBalls, DEBUG_FILL_MENU_ITEM_POCKET_BALLS}, + [DEBUG_FILL_MENU_ITEM_POCKET_TMHM] = {sDebugText_Fill_PocketTMHM, DEBUG_FILL_MENU_ITEM_POCKET_TMHM}, + [DEBUG_FILL_MENU_ITEM_POCKET_BERRIES] = {sDebugText_Fill_PocketBerries, DEBUG_FILL_MENU_ITEM_POCKET_BERRIES}, + [DEBUG_FILL_MENU_ITEM_POCKET_KEY_ITEMS] = {sDebugText_Fill_PocketKeyItems, DEBUG_FILL_MENU_ITEM_POCKET_KEY_ITEMS}, }; static const struct ListMenuItem sDebugMenu_Items_Sound[] = { - [DEBUG_SOUND_MENU_ITEM_SE] = {sDebugText_Sound_SE, DEBUG_SOUND_MENU_ITEM_SE}, - [DEBUG_SOUND_MENU_ITEM_MUS] = {sDebugText_Sound_MUS, DEBUG_SOUND_MENU_ITEM_MUS}, + [DEBUG_SOUND_MENU_ITEM_SE] = {sDebugText_Sound_SE, DEBUG_SOUND_MENU_ITEM_SE}, + [DEBUG_SOUND_MENU_ITEM_MUS] = {sDebugText_Sound_MUS, DEBUG_SOUND_MENU_ITEM_MUS}, }; // ******************************* // Menu Actions static void (*const sDebugMenu_Actions_Main[])(u8) = { - [DEBUG_MENU_ITEM_UTILITIES] = DebugAction_OpenUtilitiesMenu, - [DEBUG_MENU_ITEM_SCRIPTS] = DebugAction_OpenScriptsMenu, - [DEBUG_MENU_ITEM_FLAGS] = DebugAction_OpenFlagsMenu, - [DEBUG_MENU_ITEM_VARS] = DebugAction_OpenVariablesMenu, - [DEBUG_MENU_ITEM_GIVE] = DebugAction_OpenGiveMenu, - [DEBUG_MENU_ITEM_SOUND] = DebugAction_OpenSoundMenu, - [DEBUG_MENU_ITEM_ACCESS_PC] = DebugAction_AccessPC, - [DEBUG_MENU_ITEM_CANCEL] = DebugAction_Cancel + [DEBUG_MENU_ITEM_UTILITIES] = DebugAction_OpenUtilitiesMenu, + [DEBUG_MENU_ITEM_SCRIPTS] = DebugAction_OpenScriptsMenu, + [DEBUG_MENU_ITEM_FLAGVAR] = DebugAction_OpenFlagsVarsMenu, + //[DEBUG_MENU_ITEM_BATTLE] = DebugAction_OpenBattleMenu, + [DEBUG_MENU_ITEM_GIVE] = DebugAction_OpenGiveMenu, + [DEBUG_MENU_ITEM_FILL] = DebugAction_OpenFillMenu, + [DEBUG_MENU_ITEM_SOUND] = DebugAction_OpenSoundMenu, + [DEBUG_MENU_ITEM_ACCESS_PC] = DebugAction_AccessPC, + [DEBUG_MENU_ITEM_CANCEL] = DebugAction_Cancel }; static void (*const sDebugMenu_Actions_Utilities[])(u8) = { - [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = DebugAction_Util_HealParty, - [DEBUG_UTIL_MENU_ITEM_FLY] = DebugAction_Util_Fly, - [DEBUG_UTIL_MENU_ITEM_WARP] = DebugAction_Util_Warp_Warp, - [DEBUG_UTIL_MENU_ITEM_RUNNING_SHOES] = DebugAction_Util_RunningShoes, - [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = DebugAction_Util_PoisonMons, - [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = DebugAction_Util_CheckSaveBlock, - [DEBUG_UTIL_MENU_ITEM_WEATHER] = DebugAction_Util_Weather, - [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = DebugAction_Util_CheckWallClock, - [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = DebugAction_Util_SetWallClock, - [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = DebugAction_Util_WatchCredits, - [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = DebugAction_Util_Trainer_Name, - [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = DebugAction_Util_Trainer_Gender, - [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = DebugAction_Util_Trainer_Id, - [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = DebugAction_Util_Clear_Boxes, + [DEBUG_UTIL_MENU_ITEM_HEAL_PARTY] = DebugAction_Util_HealParty, + [DEBUG_UTIL_MENU_ITEM_FLY] = DebugAction_Util_Fly, + [DEBUG_UTIL_MENU_ITEM_WARP] = DebugAction_Util_Warp_Warp, + [DEBUG_UTIL_MENU_ITEM_POISON_MONS] = DebugAction_Util_PoisonMons, + [DEBUG_UTIL_MENU_ITEM_SAVEBLOCK] = DebugAction_Util_CheckSaveBlock, + [DEBUG_UTIL_MENU_ITEM_WEATHER] = DebugAction_Util_Weather, + [DEBUG_UTIL_MENU_ITEM_CHECKWALLCLOCK] = DebugAction_Util_CheckWallClock, + [DEBUG_UTIL_MENU_ITEM_SETWALLCLOCK] = DebugAction_Util_SetWallClock, + [DEBUG_UTIL_MENU_ITEM_WATCHCREDITS] = DebugAction_Util_WatchCredits, + [DEBUG_UTIL_MENU_ITEM_TRAINER_NAME] = DebugAction_Util_Trainer_Name, + [DEBUG_UTIL_MENU_ITEM_TRAINER_GENDER] = DebugAction_Util_Trainer_Gender, + [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = DebugAction_Util_Trainer_Id, + [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = DebugAction_Util_Clear_Boxes, + [DEBUG_UTIL_MENU_ITEM_CHEAT] = DebugAction_Util_CheatStart, }; static void (*const sDebugMenu_Actions_Scripts[])(u8) = { @@ -551,23 +743,22 @@ static void (*const sDebugMenu_Actions_Scripts[])(u8) = }; static void (*const sDebugMenu_Actions_Flags[])(u8) = { - [DEBUG_FLAG_MENU_ITEM_FLAGS] = DebugAction_Flags_Flags, - [DEBUG_FLAG_MENU_ITEM_POKEDEXFLAGS] = DebugAction_Flags_SetPokedexFlags, - [DEBUG_FLAG_MENU_ITEM_POKEDEXONOFF] = DebugAction_Flags_SwitchDex, - [DEBUG_FLAG_MENU_ITEM_NATDEXONOFF] = DebugAction_Flags_SwitchNatDex, - [DEBUG_FLAG_MENU_ITEM_POKENAVONOFF] = DebugAction_Flags_SwitchPokeNav, - [DEBUG_FLAG_MENU_ITEM_FLYANYWHERE] = DebugAction_Flags_ToggleFlyFlags, - [DEBUG_FLAG_MENU_ITEM_GETALLBADGES] = DebugAction_Flags_ToggleBadgeFlags, - [DEBUG_FLAG_MENU_ITEM_FRONTIER_PASS] = DebugAction_Flags_ToggleFrontierPass, - [DEBUG_FLAG_MENU_ITEM_COLISSION_ONOFF] = DebugAction_Flags_CollisionOnOff, - [DEBUG_FLAG_MENU_ITEM_ENCOUNTER_ONOFF] = DebugAction_Flags_EncounterOnOff, - [DEBUG_FLAG_MENU_ITEM_TRAINER_SEE_ONOFF] = DebugAction_Flags_TrainerSeeOnOff, - [DEBUG_FLAG_MENU_ITEM_BAG_USE_ONOFF] = DebugAction_Flags_BagUseOnOff, - [DEBUG_FLAG_MENU_ITEM_CATCHING_ONOFF] = DebugAction_Flags_CatchingOnOff, -}; -static void (*const sDebugMenu_Actions_Vars[])(u8) = -{ - [DEBUG_VARS_MENU_ITEM_VARS] = DebugAction_Vars_Vars, + [DEBUG_FLAGVAR_MENU_ITEM_FLAGS] = DebugAction_FlagsVars_Flags, + [DEBUG_FLAGVAR_MENU_ITEM_VARS] = DebugAction_FlagsVars_Vars, + [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_ALL] = DebugAction_FlagsVars_PokedexFlags_All, + [DEBUG_FLAGVAR_MENU_ITEM_DEXFLAGS_RESET] = DebugAction_FlagsVars_PokedexFlags_Reset, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX] = DebugAction_FlagsVars_SwitchDex, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX] = DebugAction_FlagsVars_SwitchNatDex, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV] = DebugAction_FlagsVars_SwitchPokeNav, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES] = DebugAction_FlagsVars_RunningShoes, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS] = DebugAction_FlagsVars_ToggleFlyFlags, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL] = DebugAction_FlagsVars_ToggleBadgeFlags, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS] = DebugAction_FlagsVars_ToggleFrontierPass, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLISSION] = DebugAction_FlagsVars_CollisionOnOff, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER] = DebugAction_FlagsVars_EncounterOnOff, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE] = DebugAction_FlagsVars_TrainerSeeOnOff, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE] = DebugAction_FlagsVars_BagUseOnOff, + [DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING] = DebugAction_FlagsVars_CatchingOnOff, }; static void (*const sDebugMenu_Actions_Give[])(u8) = { @@ -579,9 +770,19 @@ static void (*const sDebugMenu_Actions_Give[])(u8) = [DEBUG_GIVE_MENU_ITEM_MAX_COINS] = DebugAction_Give_MaxCoins, [DEBUG_GIVE_MENU_ITEM_MAX_BATTLE_POINTS] = DebugAction_Give_MaxBattlePoints, [DEBUG_GIVE_MENU_ITEM_DAYCARE_EGG] = DebugAction_Give_DayCareEgg, - [DEBUG_GIVE_MENU_ITEM_FILL_PC] = DebugAction_Give_FillPC, - [DEBUG_GIVE_MENU_ITEM_CHEAT] = DebugAction_Give_CHEAT, }; +static void (*const sDebugMenu_Actions_Fill[])(u8) = +{ + [DEBUG_FILL_MENU_ITEM_PC_BOXES_FAST] = DebugAction_Fill_PCBoxes_Fast, + [DEBUG_FILL_MENU_ITEM_PC_BOXES_SLOW] = DebugAction_Fill_PCBoxes_Slow, + [DEBUG_FILL_MENU_ITEM_PC_ITEMS] = DebugAction_Fill_PCItemStorage, + [DEBUG_FILL_MENU_ITEM_POCKET_ITEMS] = DebugAction_Fill_PocketItems, + [DEBUG_FILL_MENU_ITEM_POCKET_BALLS] = DebugAction_Fill_PocketPokeBalls, + [DEBUG_FILL_MENU_ITEM_POCKET_TMHM] = DebugAction_Fill_PocketTMHM, + [DEBUG_FILL_MENU_ITEM_POCKET_BERRIES] = DebugAction_Fill_PocketBerries, + [DEBUG_FILL_MENU_ITEM_POCKET_KEY_ITEMS] = DebugAction_Fill_PocketKeyItems, +}; + static void (*const sDebugMenu_Actions_Sound[])(u8) = { [DEBUG_SOUND_MENU_ITEM_SE] = DebugAction_Sound_SE, @@ -591,46 +792,56 @@ static void (*const sDebugMenu_Actions_Sound[])(u8) = // ******************************* // Windows -static const struct WindowTemplate sDebugMenuWindowTemplate = +static const struct WindowTemplate sDebugMenuWindowTemplateMain = { .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, - .width = DEBUG_MAIN_MENU_WIDTH, - .height = 2 * DEBUG_MAIN_MENU_HEIGHT, + .width = DEBUG_MENU_WIDTH_MAIN, + .height = 2 * DEBUG_MENU_HEIGHT_MAIN, .paletteNum = 15, .baseBlock = 1, }; -static const struct WindowTemplate sDebugNumberDisplayWindowTemplate = +static const struct WindowTemplate sDebugMenuWindowTemplateExtra = { .bg = 0, - .tilemapLeft = 4 + DEBUG_MAIN_MENU_WIDTH, + .tilemapLeft = 30 - DEBUG_MENU_WIDTH_EXTRA - 1, .tilemapTop = 1, - .width = DEBUG_NUMBER_DISPLAY_WIDTH, - .height = 2 * DEBUG_NUMBER_DISPLAY_HEIGHT, + .width = DEBUG_MENU_WIDTH_EXTRA, + .height = 2 * DEBUG_MENU_HEIGHT_EXTRA, .paletteNum = 15, .baseBlock = 1, }; -static const struct WindowTemplate sDebugNumberDisplayMediumWindowTemplate = +static const struct WindowTemplate sDebugMenuWindowTemplateWeather = { .bg = 0, - .tilemapLeft = 30 - DEBUG_NUMBER_DISPLAY_MEDIUM_WIDTH - 1, + .tilemapLeft = 30 - DEBUG_MENU_WIDTH_WEATHER - 1, .tilemapTop = 1, - .width = DEBUG_NUMBER_DISPLAY_MEDIUM_WIDTH, - .height = 2 * DEBUG_NUMBER_DISPLAY_MEDIUM_HEIGHT, + .width = DEBUG_MENU_WIDTH_WEATHER, + .height = 2 * DEBUG_MENU_HEIGHT_WEATHER, .paletteNum = 15, .baseBlock = 1, }; -static const struct WindowTemplate sDebugNumberDisplayLargeWindowTemplate = +static const struct WindowTemplate sDebugMenuWindowTemplateSound = { .bg = 0, - .tilemapLeft = 30 - DEBUG_NUMBER_DISPLAY_SOUND_WIDTH -1, + .tilemapLeft = 30 - DEBUG_MENU_WIDTH_SOUND - 1, .tilemapTop = 1, - .width = DEBUG_NUMBER_DISPLAY_SOUND_WIDTH, - .height = DEBUG_NUMBER_DISPLAY_SOUND_HEIGHT, + .width = DEBUG_MENU_WIDTH_SOUND, + .height = DEBUG_MENU_HEIGHT_SOUND, .paletteNum = 15, .baseBlock = 1, }; +static const struct WindowTemplate sDebugMenuWindowTemplateFlagsVars = +{ + .bg = 0, + .tilemapLeft = 30 - DEBUG_MENU_WIDTH_FLAGVAR - 1, + .tilemapTop = 1, + .width = DEBUG_MENU_WIDTH_FLAGVAR, + .height = DEBUG_MENU_HEIGHT_FLAGVAR, + .paletteNum = 15, + .baseBlock = 1 + DEBUG_MENU_WIDTH_MAIN * DEBUG_MENU_HEIGHT_MAIN * 2, +}; // ******************************* // List Menu Templates @@ -652,17 +863,29 @@ static const struct ListMenuTemplate sDebugMenu_ListTemplate_Scripts = .moveCursorFunc = ListMenuDefaultCursorMoveFunc, .totalItems = ARRAY_COUNT(sDebugMenu_Items_Scripts), }; -static const struct ListMenuTemplate sDebugMenu_ListTemplate_Flags = +static const struct ListMenuTemplate sDebugMenu_ListTemplate_FlagsVars = { - .items = sDebugMenu_Items_Flags, + .items = sDebugMenu_Items_FlagsVars, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .totalItems = ARRAY_COUNT(sDebugMenu_Items_Flags), + .totalItems = ARRAY_COUNT(sDebugMenu_Items_FlagsVars), }; -static const struct ListMenuTemplate sDebugMenu_ListTemplate_Vars = +static const struct ListMenuTemplate sDebugMenu_ListTemplate_Battle_0 = { - .items = sDebugMenu_Items_Vars, + .items = sDebugMenu_Items_Battle_0, .moveCursorFunc = ListMenuDefaultCursorMoveFunc, - .totalItems = ARRAY_COUNT(sDebugMenu_Items_Vars), + .totalItems = ARRAY_COUNT(sDebugMenu_Items_Battle_0), +}; +static const struct ListMenuTemplate sDebugMenu_ListTemplate_Battle_1 = +{ + .items = sDebugMenu_Items_Battle_1, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .totalItems = ARRAY_COUNT(sDebugMenu_Items_Battle_1), +}; +static const struct ListMenuTemplate sDebugMenu_ListTemplate_Battle_2 = +{ + .items = sDebugMenu_Items_Battle_2, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .totalItems = ARRAY_COUNT(sDebugMenu_Items_Battle_2), }; static const struct ListMenuTemplate sDebugMenu_ListTemplate_Give = { @@ -670,6 +893,12 @@ static const struct ListMenuTemplate sDebugMenu_ListTemplate_Give = .moveCursorFunc = ListMenuDefaultCursorMoveFunc, .totalItems = ARRAY_COUNT(sDebugMenu_Items_Give), }; +static const struct ListMenuTemplate sDebugMenu_ListTemplate_Fill = +{ + .items = sDebugMenu_Items_Fill, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .totalItems = ARRAY_COUNT(sDebugMenu_Items_Fill), +}; static const struct ListMenuTemplate sDebugMenu_ListTemplate_Sound = { .items = sDebugMenu_Items_Sound, @@ -681,6 +910,14 @@ static const struct ListMenuTemplate sDebugMenu_ListTemplate_Sound = // ******************************* // Functions universal void Debug_ShowMainMenu(void) +{ + sDebugBattleData = AllocZeroed(sizeof(*sDebugBattleData)); + sDebugMenuListData = AllocZeroed(sizeof(*sDebugMenuListData)); + Debug_InitDebugBattleData(); + + Debug_ShowMenu(DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); +} +static void Debug_ReShowMainMenu(void) { Debug_ShowMenu(DebugTask_HandleMenuInput_Main, sDebugMenu_ListTemplate_Main); } @@ -694,12 +931,12 @@ static void Debug_ShowMenu(void (*HandleInput)(u8), struct ListMenuTemplate LMte // create window HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugMenuWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateMain); DrawStdWindowFrame(windowId, FALSE); // create list menu menuTemplate = LMtemplate; - menuTemplate.maxShowed = DEBUG_MAIN_MENU_HEIGHT; + menuTemplate.maxShowed = DEBUG_MENU_HEIGHT_MAIN; menuTemplate.windowId = windowId; menuTemplate.header_X = 0; menuTemplate.item_X = 8; @@ -715,13 +952,17 @@ static void Debug_ShowMenu(void (*HandleInput)(u8), struct ListMenuTemplate LMte menuTemplate.cursorKind = 0; menuTaskId = ListMenuInit(&menuTemplate, 0, 0); - // draw everything - CopyWindowToVram(windowId, 3); - // create input handler task inputTaskId = CreateTask(HandleInput, 3); gTasks[inputTaskId].data[0] = menuTaskId; gTasks[inputTaskId].data[1] = windowId; + gTasks[inputTaskId].data[2] = 0; + + Debug_RefreshListMenu(inputTaskId); + //Debug_ShowMenuDynamic(inputTaskId); + + // draw everything + CopyWindowToVram(windowId, 3); } static void Debug_DestroyMenu(u8 taskId) { @@ -731,11 +972,25 @@ static void Debug_DestroyMenu(u8 taskId) } static void Debug_DestroyMenu_Full(u8 taskId) { + if (gTasks[taskId].data[2] != 0) + { + ClearStdWindowAndFrame(gTasks[taskId].data[2], FALSE); + DebugAction_DestroyExtraWindow(taskId); + } DestroyListMenuTask(gTasks[taskId].data[0], NULL, NULL); ClearStdWindowAndFrame(gTasks[taskId].data[1], TRUE); RemoveWindow(gTasks[taskId].data[1]); DestroyTask(taskId); UnfreezeObjectEvents(); + Free(sDebugMenuListData); + Free(sDebugBattleData); +} +static void Debug_DestroyMenu_Full_Script(u8 taskId, const u8 *script) +{ + Debug_DestroyMenu_Full(taskId); + LockPlayerFieldControls(); + FreezeObjectEvents(); + ScriptContext_SetupScript(script); } static void DebugAction_Cancel(u8 taskId) { @@ -756,6 +1011,216 @@ static void DebugAction_DestroyExtraWindow(u8 taskId) UnfreezeObjectEvents(); } +static u8 Debug_CheckToggleFlags(u8 id) +{ + u8 result = FALSE; + + switch (id) + { + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKEDEX: + result = FlagGet(FLAG_SYS_POKEDEX_GET); + break; + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_NATDEX: + result = IsNationalPokedexEnabled(); + break; + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_POKENAV: + result = FlagGet(FLAG_SYS_POKENAV_GET); + break; + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_RUN_SHOES: + result = FlagGet(FLAG_SYS_B_DASH); + break; + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_LOCATIONS: + result = FlagGet(FLAG_VISITED_LITTLEROOT_TOWN) && + FlagGet(FLAG_VISITED_OLDALE_TOWN) && + FlagGet(FLAG_VISITED_DEWFORD_TOWN) && + FlagGet(FLAG_VISITED_LAVARIDGE_TOWN) && + FlagGet(FLAG_VISITED_FALLARBOR_TOWN) && + FlagGet(FLAG_VISITED_VERDANTURF_TOWN) && + FlagGet(FLAG_VISITED_PACIFIDLOG_TOWN) && + FlagGet(FLAG_VISITED_PETALBURG_CITY) && + FlagGet(FLAG_VISITED_SLATEPORT_CITY) && + FlagGet(FLAG_VISITED_MAUVILLE_CITY) && + FlagGet(FLAG_VISITED_RUSTBORO_CITY) && + FlagGet(FLAG_VISITED_FORTREE_CITY) && + FlagGet(FLAG_VISITED_LILYCOVE_CITY) && + FlagGet(FLAG_VISITED_MOSSDEEP_CITY) && + FlagGet(FLAG_VISITED_SOOTOPOLIS_CITY) && + FlagGet(FLAG_VISITED_EVER_GRANDE_CITY) && + FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && + FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER); + break; + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BADGES_ALL: + result = FlagGet(FLAG_BADGE01_GET) && + FlagGet(FLAG_BADGE02_GET) && + FlagGet(FLAG_BADGE03_GET) && + FlagGet(FLAG_BADGE04_GET) && + FlagGet(FLAG_BADGE05_GET) && + FlagGet(FLAG_BADGE06_GET) && + FlagGet(FLAG_BADGE07_GET) && + FlagGet(FLAG_BADGE08_GET); + break; + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_FRONTIER_PASS: + result = FlagGet(FLAG_SYS_FRONTIER_PASS); + break; + #if OW_FLAG_NO_COLLISION != 0 + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_COLISSION: + result = FlagGet(OW_FLAG_NO_COLLISION); + break; + #endif + #if OW_FLAG_NO_ENCOUNTER != 0 + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_ENCOUNTER: + result = FlagGet(OW_FLAG_NO_ENCOUNTER); + break; + #endif + #if OW_FLAG_NO_TRAINER_SEE != 0 + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_TRAINER_SEE: + result = FlagGet(OW_FLAG_NO_TRAINER_SEE); + break; + #endif + #if B_FLAG_NO_BAG_USE != 0 + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_BAG_USE: + result = FlagGet(B_FLAG_NO_BAG_USE); + break; + #endif + #if B_FLAG_NO_CATCHING != 0 + case DEBUG_FLAGVAR_MENU_ITEM_TOGGLE_CATCHING: + result = FlagGet(B_FLAG_NO_CATCHING); + break; + #endif + default: + result = 0xFF; + break; + } + + return result; +} + +static void Debug_InitDebugBattleData(void) +{ + u32 i; + sDebugBattleData->submenu = 0; + sDebugBattleData->battleType = 0xFF; + sDebugBattleData->battleTerrain = 0xFF; + + for (i = 0; i < AI_FLAG_COUNT; i++) + sDebugBattleData->aiFlags[i] = FALSE; +} + +static void Debug_RefreshListMenu(u8 taskId) +{ + u16 i; + const u8 sColor_Red[] = _("{COLOR RED}"); + const u8 sColor_Green[] = _("{COLOR GREEN}"); + u8 listTaskId = gTasks[taskId].data[0]; + struct ListMenu *list = (void*) gTasks[listTaskId].data; + u8 totalItems, flagResult; + u8 const * name; + + if (sDebugMenuListData->listId == 0) + { + gMultiuseListMenuTemplate = sDebugMenu_ListTemplate_FlagsVars; + totalItems = gMultiuseListMenuTemplate.totalItems; + } + else if (sDebugMenuListData->listId == 1 && sDebugBattleData->submenu <= 1) + { + gMultiuseListMenuTemplate = sDebugMenu_ListTemplate_Battle_1; + totalItems = gMultiuseListMenuTemplate.totalItems; + } + else if (sDebugMenuListData->listId == 1 && sDebugBattleData->submenu > 1) + { + gMultiuseListMenuTemplate = sDebugMenu_ListTemplate_Battle_2; + totalItems = 7; + } + + // Copy item names for all entries but the last (which is Cancel) + for(i = 0; i < totalItems; i++) + { + + if (sDebugMenuListData->listId == 1 && sDebugBattleData->submenu > 1) + { + u16 species; + if (i == 6) + { + name = sDebugText_Continue; + StringCopy(&sDebugMenuListData->itemNames[i][0], name); + } + else if (GetMonData(&gEnemyParty[i], MON_DATA_SANITY_HAS_SPECIES)) + { + species = GetMonData(&gEnemyParty[i], MON_DATA_SPECIES); + StringCopy(gStringVar1, GetSpeciesName(species)); + StringCopy(&sDebugMenuListData->itemNames[i][0], gStringVar1); + } + else + { + StringCopy(&sDebugMenuListData->itemNames[i][0], sDebugText_Dashes); + } + } + else + { + if (sDebugMenuListData->listId == 0) + { + flagResult = Debug_CheckToggleFlags(i); + name = sDebugMenu_Items_FlagsVars[i].name; + } + else if (sDebugMenuListData->listId == 1) + { + flagResult = sDebugBattleData->aiFlags[i]; + if (i == totalItems - 1) + flagResult == 0xFF; + name = sDebugMenu_Items_Battle_1[i].name; + } + + if (flagResult == 0xFF) + { + StringCopy(&sDebugMenuListData->itemNames[i][0], name); + } + else if (flagResult) + { + StringCopy(gStringVar1, sColor_Green); + StringExpandPlaceholders(gStringVar4, name); + StringCopy(&sDebugMenuListData->itemNames[i][0], gStringVar4); + } + else + { + StringCopy(gStringVar1, sColor_Red); + StringExpandPlaceholders(gStringVar4, name); + StringCopy(&sDebugMenuListData->itemNames[i][0], gStringVar4); + } + } + + sDebugMenuListData->listItems[i].name = &sDebugMenuListData->itemNames[i][0]; + sDebugMenuListData->listItems[i].id = i; + } + + // Set list menu data + gMultiuseListMenuTemplate.items = sDebugMenuListData->listItems; + gMultiuseListMenuTemplate.totalItems = totalItems; + gMultiuseListMenuTemplate.maxShowed = DEBUG_MENU_HEIGHT_MAIN; + gMultiuseListMenuTemplate.windowId = gTasks[taskId].data[1]; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 8; + gMultiuseListMenuTemplate.cursor_X = 0; + gMultiuseListMenuTemplate.upText_Y = 1; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 1; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.lettersSpacing = 1; + gMultiuseListMenuTemplate.itemVerticalPadding = 0; + gMultiuseListMenuTemplate.scrollMultiple = LIST_NO_MULTIPLE_SCROLL; + gMultiuseListMenuTemplate.fontId = 1; + gMultiuseListMenuTemplate.cursorKind = 0; +} +static void Debug_RedrawListMenu(u8 taskId) +{ + u8 listTaskId = gTasks[taskId].data[0]; + u16 scrollOffset, selectedRow; + ListMenuGetScrollAndRow(listTaskId, &scrollOffset, &selectedRow); + + DestroyListMenuTask(gTasks[taskId].data[0], &scrollOffset, &selectedRow); + Debug_RefreshListMenu(taskId); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, scrollOffset, selectedRow); +} + // ******************************* // Handle Inputs @@ -792,7 +1257,7 @@ static void DebugTask_HandleMenuInput_Utilities(u8 taskId) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - Debug_ShowMainMenu(); + Debug_ReShowMainMenu(); } } static void DebugTask_HandleMenuInput_Scripts(u8 taskId) @@ -810,10 +1275,10 @@ static void DebugTask_HandleMenuInput_Scripts(u8 taskId) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - Debug_ShowMainMenu(); + Debug_ReShowMainMenu(); } } -static void DebugTask_HandleMenuInput_Flags(u8 taskId) +static void DebugTask_HandleMenuInput_FlagsVars(u8 taskId) { void (*func)(u8); u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); @@ -822,33 +1287,185 @@ static void DebugTask_HandleMenuInput_Flags(u8 taskId) { PlaySE(SE_SELECT); if ((func = sDebugMenu_Actions_Flags[input]) != NULL) + { func(taskId); + + // Remove TRUE/FALSE window for functions that haven't been assigned flags + if (gTasks[taskId].data[3] == 0xFF) + { + ClearStdWindowAndFrame(gTasks[taskId].data[2], TRUE); + RemoveWindow(gTasks[taskId].data[2]); + Free(sDebugMenuListData); + } + else + Debug_RedrawListMenu(taskId); + } } else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - Debug_ShowMainMenu(); + + ClearStdWindowAndFrame(gTasks[taskId].data[2], TRUE); + RemoveWindow(gTasks[taskId].data[2]); + + Debug_ReShowMainMenu(); } } -static void DebugTask_HandleMenuInput_Vars(u8 taskId) + +static void DebugTask_HandleBattleMenuReDraw(u8 taskId) +{ + Debug_RefreshListMenu(taskId); + switch (sDebugBattleData->submenu) + { + case 0: + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, sDebugMenu_ListTemplate_Battle_0); + break; + case 1: + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, gMultiuseListMenuTemplate); + break; + case 2: + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, sDebugMenu_ListTemplate_Battle_2); + break; + case 3: + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, gMultiuseListMenuTemplate); + break; + } +} +static void DebugTask_HandleMenuInput_Battle(u8 taskId) { void (*func)(u8); - u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); + u8 listTaskId = gTasks[taskId].data[0]; + u32 input = ListMenu_ProcessInput(listTaskId); + u16 idx; - if (JOY_NEW(A_BUTTON)) - { + ListMenuGetCurrentItemArrayId(listTaskId, &idx); + + if (gMain.newKeys & A_BUTTON) + { PlaySE(SE_SELECT); - if ((func = sDebugMenu_Actions_Vars[input]) != NULL) - func(taskId); + + switch (sDebugBattleData->submenu) + { + case 0: // Battle type + sDebugBattleData->battleType = idx; + sDebugBattleData->submenu++; + Debug_DestroyMenu(taskId); + + if (sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD // Skip AI Flag selection if wild battle + || sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE) + { + sDebugBattleData->submenu++; + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, sDebugMenu_ListTemplate_Battle_2); + } + else + { + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, gMultiuseListMenuTemplate); + } + break; + case 1: // AI Flags + if (idx == sDebugMenu_ListTemplate_Battle_1.totalItems - 1) + { + sDebugBattleData->submenu++; + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, sDebugMenu_ListTemplate_Battle_2); + } + else + { + sDebugBattleData->aiFlags[idx] = !sDebugBattleData->aiFlags[idx]; + Debug_RedrawListMenu(taskId); + } + + break; + case 2: // Terrain + sDebugBattleData->submenu++; + sDebugBattleData->battleTerrain = idx; + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, gMultiuseListMenuTemplate); + break; + case 3: // Enemy pokemon + if (idx == 6) + Debug_InitializeBattle(taskId); + break; + } } - else if (JOY_NEW(B_BUTTON)) + else if (gMain.newKeys & B_BUTTON) { - PlaySE(SE_SELECT); - Debug_DestroyMenu(taskId); - Debug_ShowMainMenu(); + switch (sDebugBattleData->submenu) + { + case 0: // Return to Main menu + PlaySE(SE_SELECT); + Debug_DestroyMenu(taskId); + Debug_ReShowMainMenu(); + break; + case 2: // Skip AI Flag selection if wild battle + if (sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD + || sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE) + { + sDebugBattleData->submenu = 0; + } + else + sDebugBattleData->submenu--; + DebugTask_HandleBattleMenuReDraw(taskId); + break; + default: + sDebugBattleData->submenu--; + DebugTask_HandleBattleMenuReDraw(taskId); + break; + } } } + +static void Debug_InitializeBattle(u8 taskId) +{ + u32 i; + gBattleTypeFlags = 0; + + // Set main battle flags + switch (sDebugBattleData->battleType) + { + case DEBUG_BATTLE_0_MENU_ITEM_WILD: + break; + case DEBUG_BATTLE_0_MENU_ITEM_SINGLE: + gBattleTypeFlags = (BATTLE_TYPE_TRAINER); + break; + case DEBUG_BATTLE_0_MENU_ITEM_DOUBLE: + gBattleTypeFlags = (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TRAINER); + break; + case DEBUG_BATTLE_0_MENU_ITEM_MULTI: + gBattleTypeFlags = (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TRAINER | BATTLE_TYPE_INGAME_PARTNER); + break; + } + + // Set terrain + gBattleTerrain = sDebugBattleData->battleTerrain; + + // Populate enemy party + for (i = 0; i < PARTY_SIZE; i++) + { + ZeroMonData(&gEnemyParty[i]); + if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES)) + gEnemyParty[i] = gPlayerParty[i]; + } + + // Set AI flags + for (i = 0; i < ARRAY_COUNT(sDebugBattleData->aiFlags); i++) + { + if (sDebugBattleData->aiFlags[i]) + gDebugAIFlags |= (1 << i); + } + + gIsDebugBattle = TRUE; + BattleSetup_StartTrainerBattle_Debug(); + + + Debug_DestroyMenu_Full(taskId); +} + static void DebugTask_HandleMenuInput_Give(u8 taskId) { void (*func)(u8); @@ -864,7 +1481,25 @@ static void DebugTask_HandleMenuInput_Give(u8 taskId) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - Debug_ShowMainMenu(); + Debug_ReShowMainMenu(); + } +} +static void DebugTask_HandleMenuInput_Fill(u8 taskId) +{ + void (*func)(u8); + u32 input = ListMenu_ProcessInput(gTasks[taskId].data[0]); + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + if ((func = sDebugMenu_Actions_Fill[input]) != NULL) + func(taskId); + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + Debug_DestroyMenu(taskId); + Debug_ReShowMainMenu(); } } static void DebugTask_HandleMenuInput_Sound(u8 taskId) @@ -882,7 +1517,7 @@ static void DebugTask_HandleMenuInput_Sound(u8 taskId) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - Debug_ShowMainMenu(); + Debug_ReShowMainMenu(); } } @@ -898,28 +1533,36 @@ static void DebugAction_OpenScriptsMenu(u8 taskId) Debug_DestroyMenu(taskId); Debug_ShowMenu(DebugTask_HandleMenuInput_Scripts, sDebugMenu_ListTemplate_Scripts); } -static void DebugAction_OpenFlagsMenu(u8 taskId) +static void DebugAction_OpenFlagsVarsMenu(u8 taskId) { Debug_DestroyMenu(taskId); - Debug_ShowMenu(DebugTask_HandleMenuInput_Flags, sDebugMenu_ListTemplate_Flags); + sDebugMenuListData->listId = 0; + Debug_ShowMenu(DebugTask_HandleMenuInput_FlagsVars, gMultiuseListMenuTemplate); } -static void DebugAction_OpenVariablesMenu(u8 taskId) + +static void DebugAction_OpenBattleMenu(u8 taskId) { Debug_DestroyMenu(taskId); - Debug_ShowMenu(DebugTask_HandleMenuInput_Vars, sDebugMenu_ListTemplate_Vars); + sDebugMenuListData->listId = 1; + Debug_ShowMenu(DebugTask_HandleMenuInput_Battle, sDebugMenu_ListTemplate_Battle_0); } + static void DebugAction_OpenGiveMenu(u8 taskId) { Debug_DestroyMenu(taskId); Debug_ShowMenu(DebugTask_HandleMenuInput_Give, sDebugMenu_ListTemplate_Give); } +static void DebugAction_OpenFillMenu(u8 taskId) +{ + Debug_DestroyMenu(taskId); + Debug_ShowMenu(DebugTask_HandleMenuInput_Fill, sDebugMenu_ListTemplate_Fill); +} static void DebugAction_OpenSoundMenu(u8 taskId) { Debug_DestroyMenu(taskId); Debug_ShowMenu(DebugTask_HandleMenuInput_Sound, sDebugMenu_ListTemplate_Sound); } - // ******************************* // Actions Utilities static void DebugAction_Util_HealParty(u8 taskId) @@ -962,7 +1605,7 @@ static void DebugAction_Util_Warp_Warp(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateExtra); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -1138,20 +1781,6 @@ static void DebugAction_Util_Warp_SelectWarp(u8 taskId) } } -static void DebugAction_Util_RunningShoes(u8 taskId) -{ - if (FlagGet(FLAG_SYS_B_DASH)) - { - FlagClear(FLAG_SYS_B_DASH); - PlaySE(SE_PC_OFF); - } - else - { - FlagSet(FLAG_SYS_B_DASH); - PlaySE(SE_PC_LOGIN); - } -} - static void DebugAction_Util_PoisonMons(u8 taskId) { int i; @@ -1229,7 +1858,7 @@ static void DebugAction_Util_Weather(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayMediumWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateWeather); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -1304,15 +1933,11 @@ static void DebugAction_Util_Weather_SelectId(u8 taskId) static void DebugAction_Util_CheckWallClock(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(PlayersHouse_2F_EventScript_CheckWallClock); + Debug_DestroyMenu_Full_Script(taskId, PlayersHouse_2F_EventScript_CheckWallClock); } static void DebugAction_Util_SetWallClock(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(PlayersHouse_2F_EventScript_SetWallClock); + Debug_DestroyMenu_Full_Script(taskId, PlayersHouse_2F_EventScript_SetWallClock); } static void DebugAction_Util_WatchCredits(u8 taskId) { @@ -1347,61 +1972,49 @@ static void DebugAction_Util_Clear_Boxes(u8 taskId) Debug_DestroyMenu_Full(taskId); ScriptContext_Enable(); } +static void DebugAction_Util_CheatStart(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, Debug_CheatStart); +} // ******************************* // Actions Scripts static void DebugAction_Util_Script_1(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_1); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_1); } static void DebugAction_Util_Script_2(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_2); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_2); } static void DebugAction_Util_Script_3(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_3); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_3); } static void DebugAction_Util_Script_4(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_4); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_4); } static void DebugAction_Util_Script_5(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_5); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_5); } static void DebugAction_Util_Script_6(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_6); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_6); } static void DebugAction_Util_Script_7(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_7); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_7); } static void DebugAction_Util_Script_8(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_Script_8); + Debug_DestroyMenu_Full_Script(taskId, Debug_Script_8); } // ******************************* -// Actions Flags -static void DebugAction_Flags_Flags(u8 taskId) +// Actions Flags and Vars +static void DebugAction_FlagsVars_Flags(u8 taskId) { u8 windowId; @@ -1410,7 +2023,7 @@ static void DebugAction_Flags_Flags(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateExtra); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -1418,21 +2031,21 @@ static void DebugAction_Flags_Flags(u8 taskId) //Display initial Flag ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, 1, STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, sDebugText_Flags_FlagHex); - if (FlagGet(FLAG_TEMP_1) == TRUE) - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_FlagHex); + if (FlagGet(FLAG_TEMP_1)) + StringCopyPadded(gStringVar2, sDebugText_True, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); StringCopy(gStringVar3, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, sDebugText_Flags_Flag); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Flag); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); - gTasks[taskId].func = DebugAction_Flags_FlagsSelect; + gTasks[taskId].func = DebugAction_FlagsVars_FlagsSelect; gTasks[taskId].data[2] = windowId; gTasks[taskId].data[3] = FLAG_TEMP_1; //Current Flag gTasks[taskId].data[4] = 0; //Digit Selected } -static void DebugAction_Flags_FlagsSelect(u8 taskId) +static void DebugAction_FlagsVars_FlagsSelect(u8 taskId) { if (JOY_NEW(A_BUTTON)) FlagToggle(gTasks[taskId].data[3]); @@ -1482,184 +2095,18 @@ static void DebugAction_Flags_FlagsSelect(u8 taskId) { ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_FLAGS); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 3); - StringExpandPlaceholders(gStringVar1, sDebugText_Flags_FlagHex); + StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_FlagHex); if (FlagGet(gTasks[taskId].data[3]) == TRUE) - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_True, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); StringCopy(gStringVar3, gText_DigitIndicator[gTasks[taskId].data[4]]); - StringExpandPlaceholders(gStringVar4, sDebugText_Flags_Flag); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Flag); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } } -static void DebugAction_Flags_SetPokedexFlags(u8 taskId) -{ - u16 i; - for (i = 0; i < NATIONAL_DEX_COUNT; i++) - { - GetSetPokedexFlag(i + 1, FLAG_SET_CAUGHT); - GetSetPokedexFlag(i + 1, FLAG_SET_SEEN); - } - Debug_DestroyMenu_Full(taskId); - ScriptContext_Enable(); -} -static void DebugAction_Flags_SwitchDex(u8 taskId) -{ - if (FlagGet(FLAG_SYS_POKEDEX_GET)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(FLAG_SYS_POKEDEX_GET); -} -static void DebugAction_Flags_SwitchNatDex(u8 taskId) -{ - if (IsNationalPokedexEnabled()) - { - DisableNationalPokedex(); - PlaySE(SE_PC_OFF); - } - else - { - EnableNationalPokedex(); - PlaySE(SE_PC_LOGIN); - } -} -static void DebugAction_Flags_SwitchPokeNav(u8 taskId) -{ - if (FlagGet(FLAG_SYS_POKENAV_GET)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(FLAG_SYS_POKENAV_GET); -} -static void DebugAction_Flags_ToggleFlyFlags(u8 taskId) -{ - // Sound effect - if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - - FlagToggle(FLAG_VISITED_LITTLEROOT_TOWN); - FlagToggle(FLAG_VISITED_OLDALE_TOWN); - FlagToggle(FLAG_VISITED_DEWFORD_TOWN); - FlagToggle(FLAG_VISITED_LAVARIDGE_TOWN); - FlagToggle(FLAG_VISITED_FALLARBOR_TOWN); - FlagToggle(FLAG_VISITED_VERDANTURF_TOWN); - FlagToggle(FLAG_VISITED_PACIFIDLOG_TOWN); - FlagToggle(FLAG_VISITED_PETALBURG_CITY); - FlagToggle(FLAG_VISITED_SLATEPORT_CITY); - FlagToggle(FLAG_VISITED_MAUVILLE_CITY); - FlagToggle(FLAG_VISITED_RUSTBORO_CITY); - FlagToggle(FLAG_VISITED_FORTREE_CITY); - FlagToggle(FLAG_VISITED_LILYCOVE_CITY); - FlagToggle(FLAG_VISITED_MOSSDEEP_CITY); - FlagToggle(FLAG_VISITED_SOOTOPOLIS_CITY); - FlagToggle(FLAG_VISITED_EVER_GRANDE_CITY); - FlagToggle(FLAG_LANDMARK_POKEMON_LEAGUE); - FlagToggle(FLAG_LANDMARK_BATTLE_FRONTIER); -} -static void DebugAction_Flags_ToggleBadgeFlags(u8 taskId) -{ - // Sound effect - if (FlagGet(FLAG_BADGE08_GET)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - - FlagToggle(FLAG_BADGE01_GET); - FlagToggle(FLAG_BADGE02_GET); - FlagToggle(FLAG_BADGE03_GET); - FlagToggle(FLAG_BADGE04_GET); - FlagToggle(FLAG_BADGE05_GET); - FlagToggle(FLAG_BADGE06_GET); - FlagToggle(FLAG_BADGE07_GET); - FlagToggle(FLAG_BADGE08_GET); -} -static void DebugAction_Flags_ToggleFrontierPass(u8 taskId) -{ - // Sound effect - if (FlagGet(FLAG_SYS_FRONTIER_PASS)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(FLAG_SYS_FRONTIER_PASS); -} -static void DebugAction_Flags_CollisionOnOff(u8 taskId) -{ -#if OW_FLAG_NO_COLLISION == 0 - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_FlagsNotSetOverworldConfigMessage); -#else - if (FlagGet(OW_FLAG_NO_COLLISION)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(OW_FLAG_NO_COLLISION); -#endif -} -static void DebugAction_Flags_EncounterOnOff(u8 taskId) -{ -#if OW_FLAG_NO_ENCOUNTER == 0 - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_FlagsNotSetOverworldConfigMessage); -#else - if (FlagGet(OW_FLAG_NO_ENCOUNTER)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(OW_FLAG_NO_ENCOUNTER); -#endif -} -static void DebugAction_Flags_TrainerSeeOnOff(u8 taskId) -{ -#if OW_FLAG_NO_TRAINER_SEE == 0 - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_FlagsNotSetOverworldConfigMessage); -#else - if (FlagGet(OW_FLAG_NO_TRAINER_SEE)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(OW_FLAG_NO_TRAINER_SEE); -#endif -} -static void DebugAction_Flags_BagUseOnOff(u8 taskId) -{ -#if B_FLAG_NO_BAG_USE == 0 - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_FlagsNotSetBattleConfigMessage); -#else - if (FlagGet(B_FLAG_NO_BAG_USE)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(B_FLAG_NO_BAG_USE); -#endif -} -static void DebugAction_Flags_CatchingOnOff(u8 taskId) -{ -#if B_FLAG_NO_CATCHING == 0 - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_FlagsNotSetBattleConfigMessage); -#else - if (FlagGet(B_FLAG_NO_CATCHING)) - PlaySE(SE_PC_OFF); - else - PlaySE(SE_PC_LOGIN); - FlagToggle(B_FLAG_NO_CATCHING); -#endif -} - -// ******************************* -// Actions Variables -static void DebugAction_Vars_Vars(u8 taskId) +static void DebugAction_FlagsVars_Vars(u8 taskId) { u8 windowId; @@ -1668,7 +2115,7 @@ static void DebugAction_Vars_Vars(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateExtra); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -1676,21 +2123,21 @@ static void DebugAction_Vars_Vars(u8 taskId) //Display initial Variable ConvertIntToDecimalStringN(gStringVar1, VARS_START, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, VARS_START, STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_VariableHex); ConvertIntToDecimalStringN(gStringVar3, 0, STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[0]); - StringExpandPlaceholders(gStringVar4, sDebugText_Vars_Variable); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Variable); AddTextPrinterParameterized(windowId, 1, gStringVar4, 1, 1, 0, NULL); - gTasks[taskId].func = DebugAction_Vars_Select; + gTasks[taskId].func = DebugAction_FlagsVars_Select; gTasks[taskId].data[2] = windowId; gTasks[taskId].data[3] = VARS_START; //Current Variable gTasks[taskId].data[4] = 0; //Digit Selected gTasks[taskId].data[5] = 0; //Current Variable VALUE } -static void DebugAction_Vars_Select(u8 taskId) +static void DebugAction_FlagsVars_Select(u8 taskId) { if (JOY_NEW(DPAD_UP)) { @@ -1723,7 +2170,7 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_VariableHex); if (VarGetIfExist(gTasks[taskId].data[3]) == 65535) //Current value, if 65535 the value hasnt been set gTasks[taskId].data[5] = 0; else @@ -1732,7 +2179,7 @@ static void DebugAction_Vars_Select(u8 taskId) StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit //Combine str's to full window string - StringExpandPlaceholders(gStringVar4, sDebugText_Vars_Variable); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_Variable); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } @@ -1744,7 +2191,7 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_VariableHex); if (VarGetIfExist(gTasks[taskId].data[3]) == 65535) //Current value if 65535 the value hasnt been set gTasks[taskId].data[5] = 0; else @@ -1752,11 +2199,11 @@ static void DebugAction_Vars_Select(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[5], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit - StringExpandPlaceholders(gStringVar4, sDebugText_Vars_VariableValueSet); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_VariableValueSet); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); gTasks[taskId].data[6] = gTasks[taskId].data[5]; //New value selector - gTasks[taskId].func = DebugAction_Vars_SetValue; + gTasks[taskId].func = DebugAction_FlagsVars_SetValue; } else if (JOY_NEW(B_BUTTON)) { @@ -1765,7 +2212,7 @@ static void DebugAction_Vars_Select(u8 taskId) return; } } -static void DebugAction_Vars_SetValue(u8 taskId) +static void DebugAction_FlagsVars_SetValue(u8 taskId) { if (JOY_NEW(DPAD_UP)) { @@ -1819,16 +2266,233 @@ static void DebugAction_Vars_SetValue(u8 taskId) ConvertIntToDecimalStringN(gStringVar1, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); ConvertIntToHexStringN(gStringVar2, gTasks[taskId].data[3], STR_CONV_MODE_LEFT_ALIGN, 4); - StringExpandPlaceholders(gStringVar1, sDebugText_Vars_VariableHex); + StringExpandPlaceholders(gStringVar1, sDebugText_FlagsVars_VariableHex); StringCopyPadded(gStringVar1, gStringVar1, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[6], STR_CONV_MODE_LEADING_ZEROS, DEBUG_NUMBER_DIGITS_VARIABLES); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringCopy(gStringVar2, gText_DigitIndicator[gTasks[taskId].data[4]]); //Current digit - StringExpandPlaceholders(gStringVar4, sDebugText_Vars_VariableValueSet); + StringExpandPlaceholders(gStringVar4, sDebugText_FlagsVars_VariableValueSet); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); } } +static void DebugAction_FlagsVars_PokedexFlags_All(u8 taskId) +{ + u16 i; + for (i = 0; i < NATIONAL_DEX_COUNT; i++) + { + GetSetPokedexFlag(i + 1, FLAG_SET_CAUGHT); + GetSetPokedexFlag(i + 1, FLAG_SET_SEEN); + } + Debug_DestroyMenu_Full(taskId); + ScriptContext_Enable(); +} +static void DebugAction_FlagsVars_PokedexFlags_Reset(u8 taskId) +{ + int boxId, boxPosition, partyId; + u16 species; + + // Reset Pokedex to emtpy + memset(&gSaveBlock1Ptr->dexCaught, 0, sizeof(gSaveBlock1Ptr->dexCaught)); + memset(&gSaveBlock1Ptr->dexSeen, 0, sizeof(gSaveBlock1Ptr->dexSeen)); + + // Add party Pokemon to Pokedex + for (partyId = 0; partyId < PARTY_SIZE; partyId++) + { + if (GetMonData(&gPlayerParty[partyId], MON_DATA_SANITY_HAS_SPECIES)) + { + species = GetMonData(&gPlayerParty[partyId], MON_DATA_SPECIES); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_SEEN); + } + } + + // Add box Pokemon to Pokedex + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++) + { + if (GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES)) + { + species = GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SPECIES); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_CAUGHT); + GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_SET_SEEN); + } + } + } + Debug_DestroyMenu_Full(taskId); + ScriptContext_Enable(); +} +static void DebugAction_FlagsVars_SwitchDex(u8 taskId) +{ + if (FlagGet(FLAG_SYS_POKEDEX_GET)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(FLAG_SYS_POKEDEX_GET); +} +static void DebugAction_FlagsVars_SwitchNatDex(u8 taskId) +{ + if (IsNationalPokedexEnabled()) + { + DisableNationalPokedex(); + PlaySE(SE_PC_OFF); + }else{ + EnableNationalPokedex(); + PlaySE(SE_PC_LOGIN); + } +} +static void DebugAction_FlagsVars_SwitchPokeNav(u8 taskId) +{ + if (FlagGet(FLAG_SYS_POKENAV_GET)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(FLAG_SYS_POKENAV_GET); +} +static void DebugAction_FlagsVars_RunningShoes(u8 taskId) +{ + if (FlagGet(FLAG_SYS_B_DASH)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(FLAG_SYS_B_DASH); +} +static void DebugAction_FlagsVars_ToggleFlyFlags(u8 taskId) +{ + // Sound effect + if (FlagGet(FLAG_LANDMARK_BATTLE_FRONTIER)) + { + PlaySE(SE_PC_OFF); + + FlagClear(FLAG_VISITED_LITTLEROOT_TOWN); + FlagClear(FLAG_VISITED_OLDALE_TOWN); + FlagClear(FLAG_VISITED_DEWFORD_TOWN); + FlagClear(FLAG_VISITED_LAVARIDGE_TOWN); + FlagClear(FLAG_VISITED_FALLARBOR_TOWN); + FlagClear(FLAG_VISITED_VERDANTURF_TOWN); + FlagClear(FLAG_VISITED_PACIFIDLOG_TOWN); + FlagClear(FLAG_VISITED_PETALBURG_CITY); + FlagClear(FLAG_VISITED_SLATEPORT_CITY); + FlagClear(FLAG_VISITED_MAUVILLE_CITY); + FlagClear(FLAG_VISITED_RUSTBORO_CITY); + FlagClear(FLAG_VISITED_FORTREE_CITY); + FlagClear(FLAG_VISITED_LILYCOVE_CITY); + FlagClear(FLAG_VISITED_MOSSDEEP_CITY); + FlagClear(FLAG_VISITED_SOOTOPOLIS_CITY); + FlagClear(FLAG_VISITED_EVER_GRANDE_CITY); + FlagClear(FLAG_LANDMARK_POKEMON_LEAGUE); + FlagClear(FLAG_LANDMARK_BATTLE_FRONTIER); + } + else + { + PlaySE(SE_PC_LOGIN); + + FlagSet(FLAG_VISITED_LITTLEROOT_TOWN); + FlagSet(FLAG_VISITED_OLDALE_TOWN); + FlagSet(FLAG_VISITED_DEWFORD_TOWN); + FlagSet(FLAG_VISITED_LAVARIDGE_TOWN); + FlagSet(FLAG_VISITED_FALLARBOR_TOWN); + FlagSet(FLAG_VISITED_VERDANTURF_TOWN); + FlagSet(FLAG_VISITED_PACIFIDLOG_TOWN); + FlagSet(FLAG_VISITED_PETALBURG_CITY); + FlagSet(FLAG_VISITED_SLATEPORT_CITY); + FlagSet(FLAG_VISITED_MAUVILLE_CITY); + FlagSet(FLAG_VISITED_RUSTBORO_CITY); + FlagSet(FLAG_VISITED_FORTREE_CITY); + FlagSet(FLAG_VISITED_LILYCOVE_CITY); + FlagSet(FLAG_VISITED_MOSSDEEP_CITY); + FlagSet(FLAG_VISITED_SOOTOPOLIS_CITY); + FlagSet(FLAG_VISITED_EVER_GRANDE_CITY); + FlagSet(FLAG_LANDMARK_POKEMON_LEAGUE); + FlagSet(FLAG_LANDMARK_BATTLE_FRONTIER); + } +} +static void DebugAction_FlagsVars_ToggleBadgeFlags(u8 taskId) +{ + // Sound effect + if (FlagGet(FLAG_BADGE08_GET)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(FLAG_BADGE01_GET); + FlagToggle(FLAG_BADGE02_GET); + FlagToggle(FLAG_BADGE03_GET); + FlagToggle(FLAG_BADGE04_GET); + FlagToggle(FLAG_BADGE05_GET); + FlagToggle(FLAG_BADGE06_GET); + FlagToggle(FLAG_BADGE07_GET); + FlagToggle(FLAG_BADGE08_GET); +} +static void DebugAction_FlagsVars_ToggleFrontierPass(u8 taskId) +{ + // Sound effect + if (FlagGet(FLAG_SYS_FRONTIER_PASS)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(FLAG_SYS_FRONTIER_PASS); +} +static void DebugAction_FlagsVars_CollisionOnOff(u8 taskId) +{ +#if OW_FLAG_NO_COLLISION == 0 + Debug_DestroyMenu_Full_Script(taskId, Debug_FlagsNotSetOverworldConfigMessage); +#else + if (FlagGet(OW_FLAG_NO_COLLISION)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(OW_FLAG_NO_COLLISION); +#endif +} +static void DebugAction_FlagsVars_EncounterOnOff(u8 taskId) +{ +#if OW_FLAG_NO_ENCOUNTER == 0 + Debug_DestroyMenu_Full_Script(taskId, Debug_FlagsNotSetOverworldConfigMessage); +#else + if (FlagGet(OW_FLAG_NO_ENCOUNTER)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(OW_FLAG_NO_ENCOUNTER); +#endif +} +static void DebugAction_FlagsVars_TrainerSeeOnOff(u8 taskId) +{ +#if OW_FLAG_NO_TRAINER_SEE == 0 + Debug_DestroyMenu_Full_Script(taskId, Debug_FlagsNotSetOverworldConfigMessage); +#else + if (FlagGet(OW_FLAG_NO_TRAINER_SEE)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(OW_FLAG_NO_TRAINER_SEE); +#endif +} +static void DebugAction_FlagsVars_BagUseOnOff(u8 taskId) +{ +#if B_FLAG_NO_BAG_USE == 0 + Debug_DestroyMenu_Full_Script(taskId, Debug_FlagsNotSetBattleConfigMessage); +#else + if (FlagGet(B_FLAG_NO_BAG_USE)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(B_FLAG_NO_BAG_USE); +#endif +} +static void DebugAction_FlagsVars_CatchingOnOff(u8 taskId) +{ +#if B_FLAG_NO_CATCHING == 0 + Debug_DestroyMenu_Full_Script(taskId, Debug_FlagsNotSetBattleConfigMessage); +#else + if (FlagGet(B_FLAG_NO_CATCHING)) + PlaySE(SE_PC_OFF); + else + PlaySE(SE_PC_LOGIN); + FlagToggle(B_FLAG_NO_CATCHING); +#endif +} // ******************************* // Actions Give @@ -1842,7 +2506,7 @@ static void DebugAction_Give_Item(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateExtra); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -2040,7 +2704,7 @@ static void DebugAction_Give_PokemonSimple(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateExtra); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -2078,7 +2742,7 @@ static void DebugAction_Give_PokemonComplex(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateExtra); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -2226,7 +2890,7 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 0); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonShiny); AddTextPrinterParameterized(gTasks[taskId].data[2], 1, gStringVar4, 1, 1, 0, NULL); @@ -2263,9 +2927,9 @@ static void DebugAction_Give_Pokemon_SelectShiny(u8 taskId) } if (gTasks[taskId].data[3] == 1) - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagSet, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_True, CHAR_SPACE, 15); else - StringCopyPadded(gStringVar2, sDebugText_Flags_FlagUnset, CHAR_SPACE, 15); + StringCopyPadded(gStringVar2, sDebugText_False, CHAR_SPACE, 15); ConvertIntToDecimalStringN(gStringVar3, gTasks[taskId].data[3], STR_CONV_MODE_LEADING_ZEROS, 0); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 15); StringExpandPlaceholders(gStringVar4, sDebugText_PokemonShiny); @@ -2796,23 +3460,47 @@ static void DebugAction_Give_DayCareEgg(u8 taskId) TriggerPendingDaycareEgg(); } -static void DebugAction_Give_FillPC(u8 taskId) //Credit: Sierraffinity +// ******************************* +// Actions Fill +static void DebugAction_Fill_PCBoxes_Fast(u8 taskId) //Credit: Sierraffinity { int boxId, boxPosition; u32 personality; struct BoxPokemon boxMon; u16 species = SPECIES_BULBASAUR; + u8 speciesName[POKEMON_NAME_LENGTH + 1]; personality = Random32(); - CreateBoxMon(&boxMon, - species, - 100, - 32, - personality, - 0, - OT_ID_PLAYER_ID, - 0); + CreateBoxMon(&boxMon, species, 100, USE_RANDOM_IVS, FALSE, personality, OT_ID_PLAYER_ID, 0); + + for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) + { + for (boxPosition = 0; boxPosition < IN_BOX_COUNT; boxPosition++, species++) + { + if (!GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES)) + { + StringCopy(speciesName, GetSpeciesName(species)); + SetBoxMonData(&boxMon, MON_DATA_NICKNAME, &speciesName); + SetBoxMonData(&boxMon, MON_DATA_SPECIES, &species); + GiveBoxMonInitialMoveset_Fast(&boxMon); + gPokemonStoragePtr->boxes[boxId][boxPosition] = boxMon; + } + } + } + + // Set flag for user convenience + FlagSet(FLAG_SYS_POKEMON_GET); + Debug_DestroyMenu_Full(taskId); + ScriptContext_Enable(); +} +static void DebugAction_Fill_PCBoxes_Slow(u8 taskId) +{ + int boxId, boxPosition; + u32 personality; + struct BoxPokemon boxMon; + u32 species = SPECIES_BULBASAUR; + bool8 spaceAvailable = FALSE; for (boxId = 0; boxId < TOTAL_BOXES_COUNT; boxId++) { @@ -2820,36 +3508,86 @@ static void DebugAction_Give_FillPC(u8 taskId) //Credit: Sierraffinity { if (!GetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SANITY_HAS_SPECIES)) { + if (!spaceAvailable) + PlayBGM(MUS_RG_MYSTERY_GIFT); + CreateBoxMon(&boxMon, species, 100, USE_RANDOM_IVS, FALSE, 0, OT_ID_PLAYER_ID, 0); gPokemonStoragePtr->boxes[boxId][boxPosition] = boxMon; - SetBoxMonData(&gPokemonStoragePtr->boxes[boxId][boxPosition], MON_DATA_SPECIES, &species); - GetSetPokedexFlag(species, FLAG_SET_SEEN); - GetSetPokedexFlag(species, FLAG_SET_CAUGHT); - species++; + species = (species < NUM_SPECIES - 1) ? species + 1 : 1; + spaceAvailable = TRUE; } } } // Set flag for user convenience FlagSet(FLAG_SYS_POKEMON_GET); -} + if (spaceAvailable) + PlayBGM(GetCurrentMapMusic()); -static void DebugAction_Give_CHEAT(u8 taskId) + Debug_DestroyMenu_Full_Script(taskId, Debug_BoxFilledMessage); +} +static void DebugAction_Fill_PCItemStorage(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(Debug_CheatStart); -} + u16 itemId; -static void DebugAction_AccessPC(u8 taskId) + for (itemId = 1; itemId < ITEMS_COUNT; itemId++) + { + if (!CheckPCHasItem(itemId, MAX_PC_ITEM_CAPACITY)) + AddPCItem(itemId, MAX_PC_ITEM_CAPACITY); + } +} +static void DebugAction_Fill_PocketItems(u8 taskId) { - Debug_DestroyMenu_Full(taskId); - LockPlayerFieldControls(); - ScriptContext_SetupScript(EventScript_PC); -} + u16 itemId; + for (itemId = 1; itemId < ITEMS_COUNT; itemId++) + { + if (ItemId_GetPocket(itemId) == POCKET_ITEMS && CheckBagHasSpace(itemId, MAX_BAG_ITEM_CAPACITY)) + AddBagItem(itemId, MAX_BAG_ITEM_CAPACITY); + } +} +static void DebugAction_Fill_PocketPokeBalls(u8 taskId) +{ + u16 itemId; + + for (itemId = FIRST_BALL; itemId < LAST_BALL; itemId++) + { + if (CheckBagHasSpace(itemId, MAX_BAG_ITEM_CAPACITY)) + AddBagItem(itemId, MAX_BAG_ITEM_CAPACITY); + } +} +static void DebugAction_Fill_PocketTMHM(u8 taskId) +{ + u16 itemId; + + for (itemId = ITEM_TM01; itemId <= ITEM_HM08; itemId++) + { + if (CheckBagHasSpace(itemId, 1) && ItemIdToBattleMoveId(itemId) != MOVE_NONE) + AddBagItem(itemId, 1); + } +} +static void DebugAction_Fill_PocketBerries(u8 taskId) +{ + u16 itemId; + + for (itemId = FIRST_BERRY_INDEX; itemId < LAST_BERRY_INDEX; itemId++) + { + if (CheckBagHasSpace(itemId, MAX_BERRY_CAPACITY)) + AddBagItem(itemId, MAX_BERRY_CAPACITY); + } +} +static void DebugAction_Fill_PocketKeyItems(u8 taskId) +{ + u16 itemId; + + for (itemId = 1; itemId < ITEMS_COUNT; itemId++) + { + if (ItemId_GetPocket(itemId) == POCKET_KEY_ITEMS && CheckBagHasSpace(itemId, 1)) + AddBagItem(itemId, 1); + } +} // ******************************* -// Sound Scripts +// Actions Sound static const u8 *const sBGMNames[]; static const u8 *const sSENames[]; static void DebugAction_Sound_SE(u8 taskId) @@ -2861,7 +3599,7 @@ static void DebugAction_Sound_SE(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayLargeWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateSound); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -2938,7 +3676,7 @@ static void DebugAction_Sound_MUS(u8 taskId) HideMapNamePopUpWindow(); LoadMessageBoxAndBorderGfx(); - windowId = AddWindow(&sDebugNumberDisplayLargeWindowTemplate); + windowId = AddWindow(&sDebugMenuWindowTemplateSound); DrawStdWindowFrame(windowId, FALSE); CopyWindowToVram(windowId, 3); @@ -3563,4 +4301,12 @@ SOUND_LIST_SE }; #undef X +// ******************************* +// Actions Other + +static void DebugAction_AccessPC(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, EventScript_PC); +} + #endif //DEBUG_OVERWORLD_MENU == TRUE diff --git a/src/pokemon.c b/src/pokemon.c index cf2c8f5cc8..881eeab8bc 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4287,6 +4287,40 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) } } +void GiveMonInitialMoveset_Fast(struct Pokemon *mon) +{ + GiveBoxMonInitialMoveset_Fast(&mon->box); +} + +void GiveBoxMonInitialMoveset_Fast(struct BoxPokemon *boxMon) //Credit: AsparagusEduardo +{ + u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES, NULL); + s32 level = GetLevelFromBoxMonExp(boxMon); + s32 i, j; + u16 levelMoveCount = 0; + u16 moves[MAX_MON_MOVES] = {0}; + u8 addedMoves = 0; + + for (i = 0; gLevelUpLearnsets[species][i].move != LEVEL_UP_END; i++) + levelMoveCount++; + + for (i = levelMoveCount; (i >= 0 && addedMoves < MAX_MON_MOVES); i--) + { + if (gLevelUpLearnsets[species][i].level > level) + continue; + if (gLevelUpLearnsets[species][i].level == 0) + continue; + + if (moves[addedMoves] != gLevelUpLearnsets[species][i].move) + moves[addedMoves++] = gLevelUpLearnsets[species][i].move; + } + for (i = MAX_MON_MOVES - 1; i >= 0; i--) + { + SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &moves[i]); + SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[moves[i]].pp); + } +} + u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) { u32 retVal = MOVE_NONE; diff --git a/src/wild_encounter.c b/src/wild_encounter.c index b01b5bd5dc..aa4ffe4ca5 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -1113,3 +1113,13 @@ bool8 TryDoDoubleWildBattle(void) #endif return FALSE; } + +bool8 StandardWildEncounter_Debug(void) +{ + u16 headerId = GetCurrentMapWildMonHeaderId(); + if (TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0) != TRUE) + return FALSE; + + DoStandardWildBattle_Debug(); + return TRUE; +} From f4dc5e931f7acf667178f6da84cbd55a0c256ee0 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 18 Jul 2023 12:01:25 +0200 Subject: [PATCH 070/256] some more stuff --- include/battle_ai_util.h | 2 ++ src/battle_ai_switch_items.c | 25 +++++++++++++++++-------- src/battle_ai_util.c | 28 ++++++++++++++++++---------- src/data/trainer_parties.h | 34 ++++++++++------------------------ src/data/trainers.h | 2 +- 5 files changed, 48 insertions(+), 43 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 0800e1cfb8..fd55a99f73 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -168,6 +168,8 @@ bool32 PartnerMoveIsSameNoTarget(u8 battlerAtkPartner, u16 move, u16 partnerMove bool32 ShouldUseWishAromatherapy(u8 battlerAtk, u8 battlerDef, u16 move); // party logic +struct BattlePokemon *AllocSaveBattleMons(void); +void FreeRestoreBattleMons(struct BattlePokemon *savedBattleMons); s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon *attackerMon, struct Pokemon *targetMon); s32 CountUsablePartyMons(u8 battlerId); bool32 IsPartyFullyHealedExceptBattler(u8 battler); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 2418dbab85..625634af4e 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -788,7 +788,7 @@ void AI_TrySwitchOrUseItem(void) // If there are two(or more) mons to choose from, always choose one that has baton pass // as most often it can't do much on its own. -static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, int aliveCount) +static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, int aliveCount, u32 opposingBattler) { int i, j, bits = 0; @@ -796,7 +796,7 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u { if (invalidMons & gBitTable[i]) continue; - if (IsAiPartyMonOHKOBy(BATTLE_OPPOSITE(gActiveBattler), &party[i])) + if (IsAiPartyMonOHKOBy(opposingBattler, &party[i])) continue; for (j = 0; j < MAX_MON_MOVES; j++) @@ -980,7 +980,7 @@ u8 GetMostSuitableMonToSwitchInto(void) } } - bestMonId = GetBestMonBatonPass(party, firstId, lastId, invalidMons, aliveCount); + bestMonId = GetBestMonBatonPass(party, firstId, lastId, invalidMons, aliveCount, opposingBattler); if (bestMonId != PARTY_SIZE) return bestMonId; @@ -1161,17 +1161,26 @@ static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount) static bool32 IsAiPartyMonOHKOBy(u32 battlerAtk, struct Pokemon *aiMon) { - struct BattlePokemon *battleMon; + bool32 ret = FALSE; + struct BattlePokemon *savedBattleMons; s32 hp = GetMonData(aiMon, MON_DATA_HP); s32 bestDmg = AI_CalcPartyMonBestMoveDamage(battlerAtk, gActiveBattler, NULL, aiMon); switch (GetNoOfHitsToKO(bestDmg, hp)) { case 1: - return TRUE; - case 2: // TODO: Compare speeds, if AI mon is faster allow 2 turns - return TRUE; + ret = TRUE; + break; + case 2: // if AI mon is faster allow 2 turns + savedBattleMons = AllocSaveBattleMons(); + PokemonToBattleMon(aiMon, &gBattleMons[gActiveBattler]); + if (AI_WhoStrikesFirst(gActiveBattler, battlerAtk, 0) == AI_IS_SLOWER) + ret = TRUE; + else + ret = FALSE; + FreeRestoreBattleMons(savedBattleMons); + break; } - return FALSE; + return ret; } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 036e9e4f61..66acaacfb7 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3368,16 +3368,27 @@ bool32 ShouldUseWishAromatherapy(u8 battlerAtk, u8 battlerDef, u16 move) return FALSE; } +#define SIZE_G_BATTLE_MONS (sizeof(struct BattlePokemon) * MAX_BATTLERS_COUNT) + +struct BattlePokemon *AllocSaveBattleMons(void) +{ + struct BattlePokemon *savedBattleMons = Alloc(SIZE_G_BATTLE_MONS); + memcpy(savedBattleMons, gBattleMons, SIZE_G_BATTLE_MONS); + return savedBattleMons; +} + +void FreeRestoreBattleMons(struct BattlePokemon *savedBattleMons) +{ + memcpy(gBattleMons, savedBattleMons, SIZE_G_BATTLE_MONS); + Free(savedBattleMons); +} + // party logic s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon *attackerMon, struct Pokemon *targetMon) { - s32 bestDmg, dmg; - u32 i, move; + s32 i, move, bestDmg, dmg; u8 effectiveness; - struct BattlePokemon *battleMons = Alloc(sizeof(struct BattlePokemon) * MAX_BATTLERS_COUNT); - - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - battleMons[i] = gBattleMons[i]; + struct BattlePokemon *savedBattleMons = AllocSaveBattleMons(); if (attackerMon != NULL) PokemonToBattleMon(attackerMon, &gBattleMons[battlerAtk]); @@ -3399,10 +3410,7 @@ s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon } } - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - gBattleMons[i] = battleMons[i]; - - Free(battleMons); + FreeRestoreBattleMons(savedBattleMons); return dmg; } diff --git a/src/data/trainer_parties.h b/src/data/trainer_parties.h index a0e45ca0c6..1759120b7f 100644 --- a/src/data/trainer_parties.h +++ b/src/data/trainer_parties.h @@ -3366,39 +3366,25 @@ static const struct TrainerMonItemCustomMoves sParty_Drake[] = { static const struct TrainerMonItemCustomMoves sParty_Roxanne1[] = { { - .iv = 46, - .lvl = 46, - .species = SPECIES_SKARMORY, + .iv = 100, + .lvl = 12, + .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, - .moves = {MOVE_SPIKES, MOVE_TOXIC, MOVE_WHIRLWIND, MOVE_ROOST} + .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { .iv = 100, - .lvl = 46, - .species = SPECIES_TROPIUS, + .lvl = 12, + .species = SPECIES_GEODUDE, .heldItem = ITEM_NONE, - .moves = {MOVE_LEAF_TORNADO, MOVE_BODY_SLAM, MOVE_PROTECT, MOVE_ROOST} - }, - { - .iv = 47, - .lvl = 47, - .species = SPECIES_HAWLUCHA, - .heldItem = ITEM_ORAN_BERRY, - .moves = {MOVE_SUPERPOWER, MOVE_ACROBATICS, MOVE_U_TURN, MOVE_ROOST} - }, - { - .iv = 47, - .lvl = 47, - .species = SPECIES_MANTINE, - .heldItem = ITEM_ORAN_BERRY, - .moves = {MOVE_CONFUSE_RAY, MOVE_WATER_PULSE, MOVE_AIR_SLASH, MOVE_ROOST} + .moves = {MOVE_TACKLE, MOVE_DEFENSE_CURL, MOVE_ROCK_THROW, MOVE_ROCK_TOMB} }, { .iv = 200, - .lvl = 48, - .species = SPECIES_ALTARIA, + .lvl = 15, + .species = SPECIES_NOSEPASS, .heldItem = ITEM_ORAN_BERRY, - .moves = {MOVE_DRAGON_PULSE, MOVE_TOXIC, MOVE_COTTON_GUARD, MOVE_ROOST} + .moves = {MOVE_BLOCK, MOVE_HARDEN, MOVE_TACKLE, MOVE_ROCK_TOMB} } }; diff --git a/src/data/trainers.h b/src/data/trainers.h index 22d4a48804..75f7edc8b7 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -3189,7 +3189,7 @@ const struct Trainer gTrainers[] = { .trainerName = _("ROXANNE"), .items = {ITEM_POTION, ITEM_POTION, ITEM_NONE, ITEM_NONE}, .doubleBattle = FALSE, - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, .party = ITEM_CUSTOM_MOVES(sParty_Roxanne1), }, From 219ac7830c86ca5e1473ac61ec83d10b45d18cd4 Mon Sep 17 00:00:00 2001 From: CyanSMP64 <48017633+CyanSMP64@users.noreply.github.com> Date: Wed, 19 Jul 2023 04:56:15 +1200 Subject: [PATCH 071/256] Update female Alakazam's front sprite design (#3149) --- graphics/pokemon/alakazam/anim_frontf.png | Bin 1143 -> 1270 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/alakazam/anim_frontf.png b/graphics/pokemon/alakazam/anim_frontf.png index 123b8f9304caaba15c3d7230571d0e075aa1bc95..f7de540512fd3eee531e7ed16f20d7016f317526 100644 GIT binary patch delta 1191 zcmV;Y1X%m`2=)n(Bv%J?Nliru=LZrGEH?#pO9B7@02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{> ze*ghuOGiWihy@);000CUNklSp5FtHo8Gz(Y(_{l^9Ov1E1PGHW0svP@LjL&OzNY;#oF0Y} z41E?$2Sl>B!ce7L5+-*!V%}jOe+jV3xqK6k0MT zh99Oh!!hU6?A&)Ayh?K5*b)qpX%X$F*)GLZA*NJwFDy!NyvV;kP}?zBe^K0I%p==W z+ok~YqGH;oQ8Z+FLIp>@LlZN(h#TuQiJl2&&8Xgi+_3={+z#q~%3&C2sycN3CJ{2} zVspzN222NKg6YvVlU^3Ew&^1USOKHXI`#mTkO~lm2RnX^1BLKtkZxaPgFm>3-du|s&g*8}|dfAT=6+^AZ(io5>7cQ5yfp{bmGz$#5vR|OCzNly;5WVR|s zmSR?I>B?;6b^*}o?iqop9gw%HdUtE2ZZHn{$eJp5cL;Uzi_83ne8Jj;vAO)V&ed|X z?>QsCyYgQ7ih9s|FDLu3vZqMP6l0T~zXNz@h>$In_0kot3U+qp{RKT6U`1=J03vU+~1l%q# z^85E@fsxxS0;4bulW%_P6&R)8g7D~~E-+eUcnk2^*<~p()brX5Fu0ye?|7*Id-Nd@ zv232R>vZ4Vp1#g7z9DsBs|UIP z>~ro9aU76FNJGBV z%ycI>Rstig%a_XNnVFOVqb^@+K!&Bj@cQHnd#4rXIik0}MI&D-%LN8n9r?1EODQmV zjFdX7Z{a($OT3>!kvC7+x|WM@E3E8!o5vHIHLdn002ovPDHLk FV1gO%AtV3* delta 1066 zcmV+_1l9ZY3HJz)B$0kQe*^+aL_t(o!|j&8Z`(!`$0?M^phe;j1xOnp;8FPlPVc6+ zKq>KsfD;9R0_Z;=4sjR#4c(H_fDn|EQ`G3tcrohD?O;HY!E70={~<^Wp`O%tBrTED z+1`Qx^#O({z7Ox-eedqw*D$_hYqW0zyxRc3+=Zn9m?-_=I$-m%f6)_~F?xQmj;|lf z&Gw7W8a4whP`su%(~Y12(XiSo?rVW>7+5y*D6SuYrr|xFFy`F=u*u{Fg|8WbqN(1b%H2^!w$2xFH88D?0 z^FRUnwfLVh8Tb$?f50W6o7B2!{{4rHLwKf^;TWLD>Rr71XD(&ze0RjWAC9(xRrCE~ zjzskOj3566;9`=z*=S)U7wP#NhzL1zEIAX0f0*>DIQ<#YuX>( z;XxFFWsa=S10knNj8w|j)jskWV)lXM69C@*c<~|b1FTk8e_NFa9>o-A-O%UAyyqw9 zf$?ZnXkq(9M*sn|Uv_3(Bm<^^mP#~MfWzESAmvQCT+T@3S+BcD1M30JG%ik@8A+r8 zSg=gg3I>JDTPhND5)^4J{qiK=mJj$gwoM-Q2i9I!Y%d|Lr};85}VF@I_Dw2u$ZD)r+C>DU7nnW?RUPb&Z#Pfwi9~4RU9?UrI446l5!x2@0YB8SS Date: Wed, 19 Jul 2023 03:31:22 +0200 Subject: [PATCH 072/256] Gender differences sprites, final part (#3122) * The last survivors * Tweaked Numel, Milotic and Relicanth Updated their sprites according to their current depictions. --------- Co-authored-by: Eduardo Quezada D'Ottone --- graphics/pokemon/abomasnow/anim_frontf.png | Bin 0 -> 1688 bytes graphics/pokemon/bibarel/anim_front.png | Bin 1175 -> 1143 bytes graphics/pokemon/bibarel/anim_frontf.png | Bin 0 -> 1138 bytes graphics/pokemon/bibarel/normal.pal | 2 +- graphics/pokemon/bidoof/anim_frontf.png | Bin 781 -> 741 bytes graphics/pokemon/bidoof/backf.png | Bin 504 -> 466 bytes graphics/pokemon/buizel/backf.png | Bin 0 -> 596 bytes graphics/pokemon/cacturne/anim_frontf.png | Bin 0 -> 1440 bytes graphics/pokemon/camerupt/anim_front.png | Bin 1464 -> 1409 bytes graphics/pokemon/camerupt/anim_frontf.png | Bin 0 -> 1424 bytes graphics/pokemon/camerupt/back.png | Bin 652 -> 602 bytes graphics/pokemon/camerupt/backf.png | Bin 0 -> 652 bytes graphics/pokemon/croagunk/anim_frontf.png | Bin 0 -> 798 bytes graphics/pokemon/croagunk/backf.png | Bin 0 -> 520 bytes graphics/pokemon/finneon/anim_frontf.png | Bin 0 -> 686 bytes graphics/pokemon/finneon/backf.png | Bin 0 -> 647 bytes graphics/pokemon/floatzel/anim_front.png | Bin 1484 -> 1430 bytes graphics/pokemon/floatzel/backf.png | Bin 0 -> 641 bytes graphics/pokemon/gulpin/anim_frontf.png | Bin 0 -> 612 bytes graphics/pokemon/gulpin/backf.png | Bin 0 -> 431 bytes graphics/pokemon/kricketot/anim_front.png | Bin 963 -> 928 bytes graphics/pokemon/kricketot/anim_frontf.png | Bin 974 -> 941 bytes graphics/pokemon/kricketot/backf.png | Bin 562 -> 519 bytes graphics/pokemon/kricketune/backf.png | Bin 759 -> 722 bytes graphics/pokemon/lumineon/anim_frontf.png | Bin 0 -> 1148 bytes graphics/pokemon/lumineon/backf.png | Bin 0 -> 696 bytes graphics/pokemon/luxio/anim_front.png | Bin 1179 -> 1138 bytes graphics/pokemon/luxio/anim_frontf.png | Bin 0 -> 1111 bytes graphics/pokemon/luxio/backf.png | Bin 0 -> 658 bytes graphics/pokemon/luxray/anim_front.png | Bin 1521 -> 1489 bytes graphics/pokemon/luxray/anim_frontf.png | Bin 0 -> 1450 bytes graphics/pokemon/luxray/backf.png | Bin 0 -> 768 bytes graphics/pokemon/luxray/normal.pal | 2 +- graphics/pokemon/milotic/anim_front.png | Bin 1673 -> 1601 bytes graphics/pokemon/milotic/anim_frontf.png | Bin 0 -> 1651 bytes graphics/pokemon/milotic/back.png | Bin 712 -> 696 bytes graphics/pokemon/milotic/backf.png | Bin 0 -> 672 bytes graphics/pokemon/numel/anim_front.png | Bin 794 -> 748 bytes graphics/pokemon/numel/anim_frontf.png | Bin 0 -> 763 bytes graphics/pokemon/numel/back.png | Bin 601 -> 554 bytes graphics/pokemon/numel/backf.png | Bin 0 -> 601 bytes graphics/pokemon/pachirisu/anim_frontf.png | Bin 0 -> 811 bytes graphics/pokemon/relicanth/anim_front.png | Bin 1257 -> 1236 bytes graphics/pokemon/relicanth/anim_frontf.png | Bin 0 -> 1257 bytes graphics/pokemon/relicanth/backf.png | Bin 0 -> 649 bytes graphics/pokemon/roselia/anim_front.png | Bin 1150 -> 1094 bytes graphics/pokemon/roselia/anim_frontf.png | Bin 0 -> 1095 bytes graphics/pokemon/roselia/backf.png | Bin 0 -> 736 bytes graphics/pokemon/roserade/anim_front.png | Bin 1288 -> 1248 bytes graphics/pokemon/roserade/anim_frontf.png | Bin 0 -> 1264 bytes graphics/pokemon/roserade/backf.png | Bin 0 -> 789 bytes graphics/pokemon/shinx/anim_front.png | Bin 906 -> 860 bytes graphics/pokemon/shinx/anim_frontf.png | Bin 901 -> 853 bytes graphics/pokemon/shinx/back.png | Bin 669 -> 633 bytes graphics/pokemon/shinx/backf.png | Bin 666 -> 626 bytes graphics/pokemon/snover/anim_frontf.png | Bin 0 -> 987 bytes graphics/pokemon/snover/backf.png | Bin 0 -> 583 bytes graphics/pokemon/staraptor/anim_frontf.png | Bin 1322 -> 1282 bytes graphics/pokemon/staravia/anim_frontf.png | Bin 1018 -> 978 bytes graphics/pokemon/staravia/backf.png | Bin 707 -> 667 bytes graphics/pokemon/starly/anim_front.png | Bin 926 -> 889 bytes graphics/pokemon/starly/anim_frontf.png | Bin 915 -> 890 bytes graphics/pokemon/starly/back.png | Bin 630 -> 592 bytes graphics/pokemon/starly/backf.png | Bin 629 -> 586 bytes graphics/pokemon/starly/shiny.pal | 4 +- graphics/pokemon/swalot/anim_frontf.png | Bin 0 -> 1108 bytes graphics/pokemon/swalot/backf.png | Bin 0 -> 582 bytes graphics/pokemon/toxicroak/anim_frontf.png | Bin 0 -> 1266 bytes graphics/pokemon/toxicroak/backf.png | Bin 0 -> 622 bytes include/graphics.h | 36 ++++++++++++++++++ src/data/graphics/pokemon.h | 36 ++++++++++++++++++ .../pokemon_graphics/back_pic_coordinates.h | 2 +- src/data/pokemon_graphics/back_pic_table.h | 27 ++++++++----- src/data/pokemon_graphics/front_pic_table.h | 20 +++++++++- 74 files changed, 113 insertions(+), 16 deletions(-) create mode 100644 graphics/pokemon/abomasnow/anim_frontf.png create mode 100644 graphics/pokemon/bibarel/anim_frontf.png create mode 100644 graphics/pokemon/buizel/backf.png create mode 100644 graphics/pokemon/cacturne/anim_frontf.png create mode 100644 graphics/pokemon/camerupt/anim_frontf.png create mode 100644 graphics/pokemon/camerupt/backf.png create mode 100644 graphics/pokemon/croagunk/anim_frontf.png create mode 100644 graphics/pokemon/croagunk/backf.png create mode 100644 graphics/pokemon/finneon/anim_frontf.png create mode 100644 graphics/pokemon/finneon/backf.png create mode 100644 graphics/pokemon/floatzel/backf.png create mode 100644 graphics/pokemon/gulpin/anim_frontf.png create mode 100644 graphics/pokemon/gulpin/backf.png create mode 100644 graphics/pokemon/lumineon/anim_frontf.png create mode 100644 graphics/pokemon/lumineon/backf.png create mode 100644 graphics/pokemon/luxio/anim_frontf.png create mode 100644 graphics/pokemon/luxio/backf.png create mode 100644 graphics/pokemon/luxray/anim_frontf.png create mode 100644 graphics/pokemon/luxray/backf.png create mode 100644 graphics/pokemon/milotic/anim_frontf.png create mode 100644 graphics/pokemon/milotic/backf.png create mode 100644 graphics/pokemon/numel/anim_frontf.png create mode 100644 graphics/pokemon/numel/backf.png create mode 100644 graphics/pokemon/pachirisu/anim_frontf.png create mode 100644 graphics/pokemon/relicanth/anim_frontf.png create mode 100644 graphics/pokemon/relicanth/backf.png create mode 100644 graphics/pokemon/roselia/anim_frontf.png create mode 100644 graphics/pokemon/roselia/backf.png create mode 100644 graphics/pokemon/roserade/anim_frontf.png create mode 100644 graphics/pokemon/roserade/backf.png create mode 100644 graphics/pokemon/snover/anim_frontf.png create mode 100644 graphics/pokemon/snover/backf.png create mode 100644 graphics/pokemon/swalot/anim_frontf.png create mode 100644 graphics/pokemon/swalot/backf.png create mode 100644 graphics/pokemon/toxicroak/anim_frontf.png create mode 100644 graphics/pokemon/toxicroak/backf.png diff --git a/graphics/pokemon/abomasnow/anim_frontf.png b/graphics/pokemon/abomasnow/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..49fdfb706a5f44176f82ccb8870e1c70a90e85de GIT binary patch literal 1688 zcmV;J250$+P)y>Ht%7>8{L+AG_`tppzrw(lLNRDRT{xZpJ7Qb7PT<^5ILGU+>fF;R|}NfBm0dtbNlI2VwLQuv6Fe z!*Rq~h;RE($4L`_Gfsf8|4)xm8YI(@yI#{BKBBU}v;pK&EPI17fH!W0(TMYz=%o#S z(sX>#5!`-9l$TOw4cTpruxVMV++_; zEQd0{8Gv(&{2}D$Nr9zYujP6rSNLmYc{b+S05Uu}PjnH@WV#{%F|KvQcJ=rOAZ;(# zI>xZGT;@{X-&$vy$+!Xbf6?@n@v>UTnbcXPOYCW;&$R=j1<)_9nATaTOKe9@mF7Hn zss_rqyu@&&7WgHlb^)-)_7iatmsbc=ib|SJr90INW&kBl3@|&n)}3}jVqK(CZ>~-@ zLZDqLq02@4x_OMz5?^faX|v*jb?%`ja9&pS=Tv6J)vR-0X8^E@M40_pJpnwiK>u9U z-wLZP7EeaVX&+7F8s#Mu?MZqIja^6`fT2=36QVsvtS{0Az)&Z+;q4&+l=T!$f0SA0 zS1^55<w^Hki z%YgGB+5+4Fba)l6z1Ew{&K&eP=b=69U^ze95HQ?s*a3h;cR>hvzu8QJ_J$t(M%@s2 zV}N}co*>aob9=&ROUlA z@6G|MGGX<6n1}xCSvIa~Jcc0A57PbKj{vXtuYKaRMql*AvSk?0fhPTvVfe?-0h|6! zY3ZjgECi+hV;}2@NU7`sfdeErY_g+4)YLN3Vmms6`+ zN#jwTxWw-x03wk|)c{VDyf`a?oCu7Ad?9tw1z4;lQoGm?Ah4tkI8U5M!4GWmzY+^U zegI$>4LWfirS(24jUE_3K-!t^!n6o*9%XV3h-)hVc{bH&+-Q#VD60p``T-^QvZw*$ zQAM?KiPt9AT+(tJS%A95RjmgmQYzysoBL`_inZAUo0_daG=Psh$xQaoYyBW<7B?!! z7@NhU4>t4W))1D9M#YSRWUDP;#*hprZ+nGjTf@rTwN iUiJs}zd!u9{NW$Cds9yrOsuT{0000 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 diff --git a/graphics/pokemon/bibarel/anim_frontf.png b/graphics/pokemon/bibarel/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..a15a6b5f895fb7772688a6318c894338390a6869 GIT binary patch literal 1138 zcmV-&1daQNP)zi-<{6vriSD&Qfc90LWq@KG5Ic%XT58v$A*UWbgTam=D6jd^hP7V#dS z*3hX+UA&h6L8p#ImLQ4+5V$`o?~amqq)u}8`T>M~ybtf*{rrAAoyTZJ*MD+2A3*5u zPczB`q-@{YJ;8wU=ps9JcN1I)Aw`x8aT&UZE<6?MxP-_Jyu1}cKYM`5)9ZOI^z#Zr zR|zn_eog>A0X%W_0O9pqDQY1L`i_x$0R36{_rJwTOldM=M+pEg@Grzd=-F~qIRHQt z@4*dt916q|i{ENMDP<7}Ap7p^`A`ErQ-h-RlntCM<~Q%~696+SdSrV1XpLi#5}>Hs z0oN^*1}Lo6_W8}tPkam!*Fe>P4RiuOWt{Wgzy_>7x*&Yc$G#*e+Vs#U;+YV>eCrIAgKYhs(}$MG{8QE`lIT@8bqfvESP>1D{dF)o-vac zjv7F09~~3y%#;FYyN3Xpk+vFe1Ixy?cL4EzfNOxY&K~`(qxzDz^7`ymdCn*LOWMj4 z(2U;BB{9&iF~*K7VCRbPD97}_71G;1{{F7)X@c9K;NrBKcLe7!lmuUG)0L2Al^^G z=^wlaoFe*ktS4@uGnkx~=Wlz%67~QdoGzZ<&PPK^hpxjtSpZS>Ccc4w zBG#fu70P-ddX&)ifYr*}1e(HF*@N;<%33^Kz)IF0q}x>1wfb8o#d8Ddb?3hVfy*A) z0^d~k{svff9suG80M_yc+dNO(`DzrEJJ27!cHTA+IvCZ*cKtye@vguRjICJvht#Fm z6bJl6XINrc`v=Djz{-Mc(86-d7Qrm^ut8w#Q92#*1w?f(bnuk=*8l(j07*qoM6N<$ Ef<8A9`~Uy| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/bibarel/normal.pal b/graphics/pokemon/bibarel/normal.pal index 71a5f280ae..cc531ec662 100644 --- a/graphics/pokemon/bibarel/normal.pal +++ b/graphics/pokemon/bibarel/normal.pal @@ -10,7 +10,7 @@ JASC-PAL 168 144 120 192 192 176 248 248 248 -56 48 40 +98 82 57 232 64 32 176 24 16 64 56 48 diff --git a/graphics/pokemon/bidoof/anim_frontf.png b/graphics/pokemon/bidoof/anim_frontf.png index c5e7b97c113913e26ec319db63098e4335c83c1a..16f873bc2d815cba1a6a42ab33bb3291914b4205 100644 GIT binary patch delta 707 zcmV;!0zCbV2IU2iE`Jc1U@*XlKwwBP5D*Z^xPbWRxcK<^SU@P~SV+jYfXKkWfPjDi z0000003~?_+W-Ipa7jc#R9M69ma&f0KoEx4Qru@9QbeM_YZ+>1E|(TvLZ3LdIi*DC zeD&!>%nKkv#}(0OOIqH7f-Vnm1rNhaOycv-BuLOuc$$?mzkg@`9Xt9)sW#g9*U6Ef0$Sn5H=OT|jK2VYoAMo{DjgeC zRGydRdVB|?o_{QORg@U(o5~~@-^9iEGYLLC07N@M?B8K*N$~y(J>c6Mn$)*=Ufw$Q zP_8SRf&gv@4&#odj2(P|%3=wA7cUj$H+~( z{rQ9PdEW+X3^?qI^wZ-aNXId*AGp{J#O0voBCZgU zqUNHOpnuokVoxIPQ!e6up;?J07c({ukBbSrtj|S&7bm%xF@eWLSg;liE@BrSISnq7 zz`tgLiwkL#4KAX9jk3W-zCSd%X!v^2%qhv&gIx)& zQ?1|9EshBA(Xc4c=2F-nC{}K!mMBOIVSk_sc0BV%f0) pGqXzCA8LZDKM`ED1aIT-;}^Ae>0qjFkV60f002ovPDHLkV1i)KPTBwf delta 725 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 delta 1326 zcmV+}1=0F}3%CoAUpW8?a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUP!vK^+k z000FWNklzi#6;7{Fzba1;S-k%cdRPQ?vJ12(Mh$4?(Aiu@_cr`9x0lRwAe zCbm0{(!yBNP8;Ga(-@d`M`Ru8%p_0Qk_==D@_Xn=*8LABr$q$RA^j zoMQkQAd>@wL!dpGm=JN{KK$ok9Ibxe&H)pjYx*I8@fZND1Eu2bcZ5twm-4jFJGDyo6M_WN74PUW%%RHcly`U8FG8md0dIVSSmV3$n|YB znl5g_-s@fxI5nWv`w6B%LueGzlrCNeX;cH~Fr6l-J=W1EqLd?)Rd2DN9t}g|%(twR z$`(;}y${C##Bk-toD^|rthh(&Ea(z{uFT4ygCEs;ulK+Sj4MrHW}ERgY7QXei45=+@ZS8NSaPbx<2Ew>mJ!ic#`87VX=6-aXY^zU zf-pl~r3hC?#sDE}MtF!{CPb0BWCj(9=3Og9c7%Q}M6w{C2*TqXu{cJ5R01lSL!9hi z974zd5(@wbzR&Vg1xFuLk z0wToXR7ZUdoE`%#NW%d`Y4Qiy2P|#};7LZ4fS?>O&wYG2&^GRKf6!c{8LmG$090af zL+Sc24SeDDu{FGY>OjPXDen9Bu;*H6-mB?>;>hrbXEFZ^a|^bG)VL5Rx3U+f$sx|o9JxL$eu zmPJUxNJG7ESK<`|$ps^vnpJ`M)<2$6@Yh#f)S6719id3_{nxB271D`)~AB8 z%CZ9BqdpLf)tUo;TLJLPxnRu8^lSJ;TgLY*byNrjoiB>?D*=cqRj&{X8ZP$fB`}jK zr4$VQj6`}4uq~5IVlNoHT+jm%%mJ}$mx95B9_)cP+f5SG1%n7Z*aNrQP0Z?oAy0n+ ztg{W=Ar77hMggqWcT66h@u6S{;7%Oyj_NfC1|KF9egXMqg+DwI3|?Y>zB`4}R|R90 z75?Bf3&wWy-vlH1H^K0p5sXAS!coECKe1O9aUd9wJr@k8SunuqYW|Q5#xSl3M%^Ez kU_9p!TrfWS!>8Z=0ZwzEff+uW7XSbN07*qoM6N<$f&_nHk^lez diff --git a/graphics/pokemon/camerupt/anim_frontf.png b/graphics/pokemon/camerupt/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..b746a2d18721466ee6f30b80f8cbfef7d3941b86 GIT binary patch literal 1424 zcmV;B1#kL^P)zi#6;7{FyfIAn}uyIs17Qrs>bBA(mf7Fi)|O#y00V}ZmqY)u6YHAMMt zD+Gy1AHb(Pf#J14Gu+hS`UG8XGcx8G`jM3NCzjJr#SKRTHmvW*Pai3Y{3*(()-+9% zKgZ%GwmXi}!dTNz8{#d~7?^fPX(5CRs|nCC^tF_(k2%)>_|Vnnz{IqhGIV_(iZEKp zA7hN1V*nZ;lLLc8pgozG5OLu?{O4dCt$yFm0TZ8V`XPYv7yzvUrQ+`7{Gd$YVubOz zKXDDcbLJlaE&uAm)U>ugvDzb*V7qtd((MbiN9DXI!4I# zZ8VxLZo=N{UJ^Jppw;^cra(hz6w;I~UI%GZ1L!cFCa68u(I}#nBa~Hdv7jCeL*vZ1 ztdz#YP>Ow&kKQKZk{4y%p0#|eW_3WFcjdaw7u35+XEVP>Lv*_&n% zUcV6l#KX7ua6O^(vUdib_3b8xA|P?{{$7S8A$n5*@G4a=4)%Z`WN!&1d>HCt@m|h7 zv<06ZDuH(Zh+&KZ8Ta5jtOKzGMBkLpB|NeMpxZ4Ii%R_~`b7W{VQf?a5dfa3@+$qE zeh*nfMhMM;Y<0(A5W^h6_pbm*7)x^ikPU-I_^MJr{DxoQKPbELBmn(sw&g&qc)W-K zyiVAjU;XJZmQPf4yJZ4U9r?;Z`-=Qv<-natF96YW0etKK2tW$YP4+H|Y#0 z$N&-x00_R&yj>8?ikJ72JU+}W`IF^KOQaa?E*~DNz~kdiY!m#g7mI*g?ntqHr~ruj zkvLk0fhX27sqR23k$=^Xv!BVs%sF}_sULTjk2~j?LyG`Fo;}uJ#LDOPzqMAQ8_0+V zwc%K8R1B^M20SYr*0A36%yqk?W5a3r6B~Y-4F#X;0Qh#J9Vp!~9P7x@&$uO6O#&js z;#5a{4xAnXEJ(uvLuv8{*as|b2jEFYlYpQcFwcE_IM6okbAQlWq#3S1IRI2*azp9* zFAaR*_OUg*e(FHPhAHm*_ORz#Xx^*of#S5zeB^e0>hrbXEFZ^a|^bG)VL5Rx3U+f$sx|o9JxL$eumPJUx zNJG7ESK<`|$ps^vnpJ`M)<2$6@Yh#f)S6719id3_{nxB271D`)~AB8%CZ9B zqdpLf)tUoa0r1PYV9d+(YxqQ4#`i0AR0sy0FN*Xl0f;J9uMi9xF81jqFq12#6b$~1 zM0yUeEt5-PFBrUB&;t?70kLbBg299y?14AiO%l`vg9ts?1Gn2v%<6(6Pk#ZdvklxK z4xR``0j$<{Odg)`pNN-kA0`ui0r`bLJP{0DVt&3mh0|9BW0e*D;4}-y zcJto^Bl$PM@SYKjL^{Gz!Qel!R~B&~7?3>|45wKz!0BrKkPF5zt_VimAEaPB=MP*k eKKsL`-~ItkbD)74KAaZ-0000CqUFEWXm2%CO{yZqLqjpu=M;<0)NU8A{Lng_|kj*G4yAd z>w(2$^#>s4A;b4Qi^Vg5IbY7G83H-yVd#MQ!U4$?umj@JJV@q&D2k*cHP|D7YXdlo zL=Xx*kqxcmfkBsjAzvhW*#oTt2EylO9grNbUzVG{CKyl|Pm zSLu7}SAE9o8-I$6mFptmXC3}N}?W^skUCDZ#$`U zEn9*E0oa_UsC3=%^@_7}{T*+qS9uBWe5I658zz~2qn6GA0IRA8Y5=O%lH|p6Qh0EL z-&vqjbfd0Q4WR10gVimdwL)fR&x7s)NU(cQdu{=3YJM6as%eX&xB}hCKben)?5O=7 zpwEPzIoOLi=+Xi+WGQ`HYmT%v#;EeA1IB{2r|n^9)F!zP98Y_~G9Q~5!!Cy24&gh4 za!{7Z7dY%ux^=-AqU{tw>*k2}bOrDO4FMFN_G93o|3|+8oM|}h!vmc;00000NkvXX Hu0mjflNIxd delta 568 zcmV-80>}N@1dIicUw;4za7bBm000id000id0mpBsWB>pF2XskIMF-~w2LUP((HqKc z0005+Nkl?81aU4f z$u0ZYCNueafU5I^g5dr9@nS?2ebs+i66MZJN^!TZP%Mg`rhhn>xBYKw%2=Yl2f$}H zAVD8u62%^*Hy{oP)7c}yl&^TMk_QP`ju4d(;ARN!XAml%dLU=f_@X~b5-y}nm0Fy@ z%dZO{CFcN%nmaJL2bkN+g~}HJjHo>a1rh?7_6+q0tiN>R@M7FM z&}+J=zSk{KJv_nHB``)Kvv==pF2XskIMF-~w2LUP((HqKc0005+Nkl?81aU4f$u0ZYCNueafU5I^g5dr9 z@nS?2ebs+i66MZJN^!TZP%Mg`rZ|_k{cmc@SfaiMz-KogK_6lg#U7+LAPx!B*(1P| zuXwJK2MJh?5S0($W(e+Q5GtQ~AZO9|qCZL!E~HGATAaYkuL~e0=KzVCJ21HinA^&Q z$`=8Qs67V-5(1dy9;6RIJYngCsj^Hf(r3?LYycuwj4NCfIrSgl&yzyigH$4ZivPot z>Jyk)Ng>>N{sW+pnXHAZyHme5JOIH{E)(@Eo9wO5-nwxeGG1P>xSabbQkfN1Myqv) zqtRi*t9F^CXbBIRqIo9MQC~Gg0gQCFT4HXu*V(e^2ptr_de}v6R;^slrO1{)ahF0> zr+{dzwKiER8qvH`M?(N$T?eoN&@0nWbL#ohxbR}!JJ4&osJ_=NP(3`s)g>@SBeQq! zgYE((xMxr|jDRr>T@l@OWm$fJ{;Gep?=88l9tS|530u2&KXz{_2S&)!=5nn)(8gM; ztKS}67g{^o?6+30)BE6X+z}4@zD}^&<#}(5@U6viC})ZsFZ(Lpbzv;g<`!Udd%%7A m0Qi8;0Tv&3*Wj!Eo%#!)Qa=_Lfo%Z*0000v5wO~5I}t^k@BQn3>AgFv3)uT(Kvj7!zxl*lMOAg>;bNzK!W=Nz93NK z10r4c1G>A~LAn#AeFZh=Z(w#Ent0cJq)ZV-nx~zyXV?22=NN|=C)9B$_w2yq5v4+m ztpthVSYV88zz~6vB5X@Mc^$_u^U2J%#G^9=CSTv@BJnK1EEbbbm$|LRo6lH&a;X4w zjWel$cVF`9(p)3T-9!igvAQzX2t*sxA3vAI8oprMRqx3L4A}GPj*Id6X0tTbAc9ua zH49V^<|cfRP*r2Pv;gFPn0fXFqEgDfIY@eo+% z6~POgFK;Ye`WdO4rmo6AW`Iye9_qR-n=&vC6cR@65opS-u?c)p-s$$f`CFE^;j9Zl zA%z!ICB`k2@@*$CrA)m*)aCZKJI4R}!+1K9K~h{Z2<0^*7cz@iVl z6%dGQ4ugJy06=B~z|#iu(P9UV4<1qZsx&JK`h}wnq-;!f;6RWdpbVtBG1$QXI1f}1!HTpgVndxQ$tsR(Y1qt)OO(P1fy#Q1FaYMAgy3@?EnFN5$*)T zUjMa5 z${=Kv(gF5>F5Hz8o+ZFn4d93ly*tzu({Xc;z5yUhaUg;pm=V+-DG5c;U>uA9;pIIJ zMNr`30En+~D5I*!c_^c**;5#_XU{kc77ic{u)v`q6qttroY_-=CLrM{VH+O+$cfP6 zs!ZS?pxrSb4S?yBg9={gCyafQp)#QAY?D_ljwd$rcD6&nXKxyoF!(?jM<$u z#1t|c0EnbC1@eGZs_M298Dqpg$lhk6TkEuZaGvnY2B*9A*OPLI2I$oZR{AGXzzoqf zGj62Jmx(A+#&QjS7U=K%32gyof9nB@gNMTa0000< KMNUMnLSTa9Q0MUg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/finneon/anim_frontf.png b/graphics/pokemon/finneon/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..26a385af4634839be096b5a9e0639918fbd64319 GIT binary patch literal 686 zcmV;f0#W^mP)F>BjE6vq_~kAcK)#|(OQKrR@>U2Eu>E{Q&XFr-VTBCJeZ)!kDyRzuOz zIg3n|8WZ9}AE29?LLr2Fm)^-V)4ivuP>SB5<^A-3&wfvLf6wdUpN->|`~e)92SG6i zJ?~j`gaUov2t-kg0z8e40N}thjSoiPqxoK%#q10K?V)#>#T@b_0eoEWKovd#BrsMb z4dhCl;!U;#9F!_izTrHgd3!54o0;GbxGK`pV06>5ZlUI7JP2OFh+Q@37 zwE^72WUGzT2Dte)E{ASlUFmlQ;A7<+mH}1`urR}NPE&4e1p~~HaZ70hbhco~M$H-l z19-wI!1O*cYz}N&+5Al^LIkL)l>u&({<#~NRgJ=zK16Pb+13aM@flFSyuSV}`~e>k z!2KLzCXgmApyv2CT0p%bK3n!xs{&4m!{xQf`!NL+@SMtfy^D+P4DX_gzZHi&K?A=M z1jU4E;XNOhByh}g1v~0T*qfOK%-!Cm&;pFx zN(5w+-cNuM0UG~c0YLr-d2RiJ;5bk-dENL2q(W88s1MA94&Z{^7y; zhkO}&n18T95)|%*F#f@|KmgJT=q%w&>}IVSd+l+!;th337pgZfupzolYbbs z_y>V}-GBVU3AQPF|8R$I)80SaO=$n{hFHhFf0(rShaK%7PIlzk^7z=D@&9@J24zYU U&7-B16aWAK07*qoM6N<$f}^Q5+W-In literal 0 HcmV?d00001 diff --git a/graphics/pokemon/finneon/backf.png b/graphics/pokemon/finneon/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..2e05aecb68cf1f51d2fb4579c0e90947c64836b0 GIT binary patch literal 647 zcmV;20(kw2P)B*66vtgU3t|o&I(YCKOga<{f*eiocR71dxj{>Zh`?p(*0sZ>8Zvcr zC=_mL?n^i}q!doyrBAZmlSH%MK_6Hkzn}i^=}AvP@M-^}?W5zqFbo1xrlVv2lMP)027iJ7{MQK9FJv zlLVo=>ZzSScsT%v$$gh)OLvbg-P$o4nEaf=t-MJ(fYO#$E^sRwkn*m}(g1drB$`Os z;CG*9y+liAwFR*6a#Nm5DM9~LDsOX29pFlCpa+P;2)UwmDG3wH9*Buf5lwl(x&v-5 zdOxL^r?4`>-NoRaZ(Tt6z^r=u2)O2}Ax8D+16T*KU}K?riC-QNrBWbJh~>H$u?jI2 zLNuk&04vU*h(p=|hS(^2`6G9MJ;Q-%D?&_Hz5cO)Q=LQyL>dXt#iPuT~O!{CP004qz;PS%>y{qL-VcY%snuS9mamE0qK2X0kgMy&MDa zK16}{xUi2a8ZVemBo8~FNua200o)>waF?|*5*(7Wbs7V!h|r>_iBeM(fJ8Z+6=9VT zT5vo#j!fx21$b)(A7dfE;C^b;iiHbc;20yY`n}t0?|ovi!W`rGR!cMQjX`0AvcL0> h9wJqLKK1{!y#WcI59z3{Ihg6Lq_EaZ6%V+4DS<9Z4 zcI85QD4m1BJ3qbm=FOY;{+9LcFZZT>$gSMB!CMK~>t21O{eN{}d4H9E@Tx2uuzLVy zw!+1Br_zCZHn4_(Pr2Obc>Ulp2}z%BypV>e$N zjnfb6UrvXcKWp86-e?U{LvH7WoMvnp#`|kALY5A**2&nZT{7;+@M7#vx<% zSu~xRF-|{H9u+W99vJuA`qLFKoB0Zuhfv5-VrFNCi-`Vl<}nUgRsAN4ez_*-L{6Lq z9b;9UJenrU=0F=zX^H^~A_0&CGGG9dT)HyX1YTSLs{V@Y$ajqkYmFvo0X?0y2AGCIXFA;X-DmEF~+EBnYX#nLYP_?dS3%e4OxGTS6%;E>LCHEbFQ(vs|tU)%c(Ko zaBaN6Q@S9Jt#VzFXzVOP$w(Jg?fIg#D$hOD*=0*9@VNKx1Z9pTM^`% z>J8=lKV%y~=qYiLMXZs)LD;HG`7BGn!0`jvWThUdGKom6h%Lwq9T8wfbKS`vyz?>hJhGx6oBD(AA~satvw+OaiBF$3_Ne2e-PxN zA)Y9`X98cSQ{sRm*O~Uv=hw5{(Q@Vf93Xk*G#Y(#__xnZ;P)JLd~s~5hxVCP&6hx^ zf$fC6P_~LnU_2g9r@U%YW$pGbnSXM71LM!s2j;SfS7=m*lX(JZ~8Q z)rDwPWl&fe-cIdGVQjHd5H17k;#z{J>7F7FcCI8yJ)a^Ew8GfY2DE_iQ$h4Ym2-BX zBnYKCt)m94;PY5~WatOwm*-j4&(aUtFL(2q`hovF{lNd1`r$91TP&j;H$4LY0000< KMNUMnLSTY@Vtt|j delta 1406 zcmV-^1%djO3(O0UUw;4za7bBm000ie000ie0hKEb8vp6chKR7tVHaX&?@)m(BSB-s;?*4|nnSa%fk@ts-q)E1r@xIT# z_h#nJdtbx&_aFN{J8Wj!O{io7X0Fo6^q&KgceCO{#Ubf{IRGe=j1b@SYCXuO0~-w3 z3#dGKnF>ISoy6nXd_`!O520511p=B+%DV2xs95@A~fho4FELq)^zzjhS6(Ap-ozTI4t;j{GJFeq9l`A}iVjm7^n99)#;<(^U@S zHbnp?v3~|&0Cb=MxVd;_who*v0a<^ggTS@51M5tDrUNz~UN==0Em9Eg6)=ealXFh> z^R&eDjP=-jnVUw5^W(LOu*3yp@{mVzt2fO@oEO=tUJxP|T^o58W7j0;fa?WebXI_v zjPr!FdbKs62@E6v+fy;c^K1ar`s>}V76D};CVvwJ>{N9i2Q~DGVPH!LF(xelaMuC( zJ%+&!lL*Kc%8q?-OL!Oo)*=|sVDVIlGj_Z>z-F_=upYzhV`+a# z2*Ii)mFk@qLgaI!>>dq!FLeOQ?uT)s?(Ga6Z#zjmL`|;H#s;77CIjdI ze);K`H>LbYiechD*9L8l{UaH$UgvPSp!!Gy49X4*uO*NY0y|WRzp;6W1d4n#ZLSo~ zbewW`N0$T6$@cUjS4oUviAy%%Wb2~XgT%7=VtR=}$e~3%v&6dTOmOn{n{sF*7Jru6 z!NJLPrG0Rc1bo#IXRObPXy+$1ev|FbBMIQJ99&;T%QT0&een4c=Ex}Bzm~E<0elt6 zWY51-02`sMm;)sZC^7c@uLu~23x%Zt=Ag*8w~f=5=R16n*uDp z0t`B!L0D7*;|{P`E81s8DKL)2cz>?2+WdP2itbX){fR&g0kIze-U-(MYxbe01jI;; zXC2%rlMs$lW+fpGKGc+e7zsfIYI_78xn^+%Sh+}HU<}j`KN~ol9kgpAWDWqu>p6WV zfyS<`lkn;&g#lno{U9fG1A4lUQu;x45mXpsIe}ZSqYEiH`IQ~O5mFyWnRlZD^`*ji zNVb|bQ5r*6TI6OWK^nGg;}EZ})xWnSZb>8W(3nJs6b8AG3ZpsK5$+xR;7}S_+`Rma zHBA%-?%cCUW8X`=yf8E$eOZV}5Y!J!K+tABRX;>dGxUS|Kh_U_16&a*#5Qj~8vp8nu5C?Dt(Uhry{Q@EEjt1gm0;B~JD!dACfx?UFq39NyL!TpWU@d}| zqHvZjUAh=r`XHHHbnTP}=!vF8(jU^&sW+NG{O>5A6h;5GPR?6E!d^84xw&Wo!N6TkITELy)J-=Cs5b#NqBq;1r=fq-h2%rPTv-$*0oU60NfN+RpR3l_wTnX z0&xlO{e9QJUf~rzO`gDbEWIA1A}?#3^Me4wxGUX?$2YmHk}M@$VsiJ=aVs9@xhK|H z0;z^O7}ify=AKwC7l>MGfU9mb#mEEsdYxlRV6K$%0it7NzzXLzC}%`T|3w8dtv|m+ zt90gO%*-mG1FJ{+T{y5^wMr~fE&P3O0PGxfcr`=z#{#|uJOt6`o(+PCYzH7?ECf1S zxO)ecz&qO5 z8CD=1p!HU~35I`La%C%ei1N9dK1Z#5LIzP}aXj!nB_EK1o*7UfLxIZ9yk}rs_ zIW7IUjvRZ}tVi;BspmRRGb35aQ<5z4zT@V@Og`I0^Q$ZltiEQSqrk^3`w}g1HxCri z4xjFdT^uNic!#2hcUa97AYeChj5`_4i|?}h7Ri^&)Qt`k8htc6G{qXP(L4kIXwO&T zH(x>=+qMTTEKt1wCmsMCTDZSl4}s4(1UrN{p{{z!Y}gLAb$Gf07Z#}c8POT$Bm|(s z7y#5_APx*5&?5LcKzhxM)4$L#LnGh6=dHB)ia5goYY#Y7&Whd z{dBD*Gm~9^SOx$~DQ{*#M~b~nUnjN~ulE`Q2&j7T`Z?Tm2tg}ha64)@0bmRmaFYjw z!cP9xi~c8o0q^vohnWC^fbI-KKvI_Y8jb<{r@+?&59}LeRDc7vqXH&pu4X#Q8*Yds yALTW7xl>bh{VDGG%P&nIGW6q-%ll!8nfM36s8f$1kEx&l0000+h+u%oaG2O0WPDAXgBab6`sXv=juuiLdZXz?TIStb&tQ Z`~cVO0Z0v7I|2Xz002ovPDHLkV1lb&w}Sux literal 0 HcmV?d00001 diff --git a/graphics/pokemon/kricketot/anim_front.png b/graphics/pokemon/kricketot/anim_front.png index 1b23ff111a981f4177f16efd0f3c97ad71f54dbb..e9a485ef0c91643c4fc3998dea56b75c9b186d8c 100644 GIT binary patch delta 846 zcmV-U1F`(W2cQR#Uw;EDNkll&X5XX&Vl%+$T>qJ#M*|iwh0$;$ko*Y9M zhy*l^I>L*@)Bz{Vccu@V54cqrpmpo;Zs=LR|wnvTndiost;S0j+8}UHyn& z!1jY4B;oxk)_=wg@qslvBOxaIw21*dF=j3C=|&8?AE#&lac*wCx%>7v==QM)p%BC- zt-IMZ|&;q~Uu-fdJzn924=ukb}CdN89!xt(5Qox1y(wA6`32;s~86#5S05m{c zwAkL>RlD|1!@oi_SS^Zz+7P|3Ar}{nX0gLEMN2_smP^bisILyO3Su zoA2PeK5GScZDL>y Y1Ey3gbZayibpQYW07*qoM6N<$f{twJg@3@dPL3fAL;{*d9pNG|b%+um zQzcR#QI<$V;-oCGXj)y@Y;?AYHe1q7+u>pn_JtTfzmZdDhv8trt`K5-R=x5J3|M2V z0zfU9d&KnZyMKkQwOD1?7iWn_sB0is)(cqWpd!X}Nb8zT?-tPy*ly5=Abe2A+PEf8 zSo>fk#Du?_VnAPvSx1OuH0+(W(F4S}x$)}q)32a6z<^K)Vw2A0?1u6^EC*Vnw9DIbCOrNPmd~&;W7KVLLlgHr{A>6{5u& zaU3)v^m`1sxL~YUj48(fo%3VXEf)98rwSnC$1;xNJ%gYrXkHj4w*X9S2L*IuMoCgE z76H%{z*YkGtw$BFpSl_a;0GUOyj)s4;zKv{ZBv@**Wm4&nE}CXr`5u)HU|2_HxWa0tNIOaU|p zou%4i+~&NB16uI$b~cZ;_)yh{VE;EL2OdF$F@6`&hcNZaiVEn^tt0SLArvtfgEqgX zBQ?;j$}6)6&BAy0A*(u!SgG7YlgNeDLLu-=DS+-?Vtp?Z8jBMqDBzcZLZLOKsn$aQ z&uU5mCQ_~E;#>PP1xA8%9MJTWPA6tP8Y=Zc_%)7S(~=Xamh=1!^aVU`s(KiYLIA#C zg8N?wn3PhG)G7ePhnuP)We9VrE$C|0KaBkWA3!Tp*+l}j00000NkvXX Hu0mjfFzc6d diff --git a/graphics/pokemon/kricketot/anim_frontf.png b/graphics/pokemon/kricketot/anim_frontf.png index 6cc750f273bfea9ae12a100aa5ae8887d3739128..ef0ca6d8797d8203d8f04342208d08006b8c74f8 100644 GIT binary patch delta 911 zcmV;A191G#2dxK?EPqf)KzMLqn3#|d5D9rzSReqfNI2kVVBo-LkWd(CKp+4B z0000000017!lNtz00THlL_t(o!|j(bZ_`i^#~sO07luA#Dg=`sR)%aOU%<8=t`j=6 zQfi=Lbgoh+hN`6PgcQhY)umF9`Xm;tw4le@tt_Adh5AErZhyP=o;xuh<(3Th)7`y$ zes}*^*3AB6W9%0HqgEwh^LCrhR|1~Hy-L9GDuLCA`&GayWTC@@3O_)`-OJNZmDbS@ zk)L7&yZx8|(klR_mKC*I0S!Eh7C;A9#ED95^bggFhfe|PN=+V~=p%vcAc5yf zsi&vikD=r6n}5I@KnH=P;w)rt#Bbi&Tne4hmf9~uCIW}JvSAFJjgFd#k(gSxxOvL0 z7@o&lm_%+)sXouCw~%e@Ds?FLG78vI6X>fC=V~;3Hzfn819#!Y#h2glaGQ#dD8)GI zU!0x@xwcFI*n+6#L+|uNzR|=**;qY(O#mC`;|C@HQ-1*TKW%HO#u7LX_W+pIG=L3I z@B6T_ay;n0vglK&6nc3c_r~N0n@IH@pxMlYqybyX9T+s5YwmpmkjNdK=lPn$$P%nD z85e&Lm~x*4Z03%OqSj^%UiY5T?4@~#LpKvT>}q{XE^aH$*we3qEn_w)L@ICMDEhcj*il+t?7H zj{0U)F1|5F2uNTBm-pfDP;P4ju!+FLEdlZrHf-z{=aWpzE)7`m=Rc=s<3%~5Ga#^z z(n88HW|+`-fqh6yzwVfTzF2&XexZ~h2S9mIV%H30UH#D=VzcPoy$M|(m{-a@vWQyJ zZGSZ4s8s^w?q%N3Mx%Eb;gAHPR@`W$Q&DO?5(vE#099(efZp1BC9tccqyfu*+wbQv z6p2wEB;WJ=rD*wyX*r+mqrSlBEleZiPJ+NU&oOUzd#NZ!jQK`?=n5fFQkwu2ALaiB lW=!E;X$vtM_5a5H0v+W#O&p$<_y7O^00>D%PDHLkV1jHAx0L_@ delta 944 zcmV;h15f;|2hInOEPp^iNN8wqh>(~N5D<8HIQZzWSReqfKq%mFSlGCDm{2HyFc<&; z000000001EBcDeA000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1seek_;q9e z00S{eL_t(o!|j*9Z_`i^#~sO07luA#Dg=`sR)%aO|A1{hTz@C+&`PN(6{B;NIx$p` zmI)~(FBJ(=0^N_p>rv8hCAv_5i$`t#FY(V=xle?L=45$vc>f(cVbwNcQA?E&8R-ksXfTH z$4VW_*Ha4EQ4{DZRg8y&{frEt-nt7-K9>EHeQE`F5l=~!LGj~)J&1Mq; z%K$7EXn$V^!tnYFsK|bLR9)KeEV)CAb88G9&$IOnAyx`_HXou zQ9INwcUZ0M8Hn1|5_4K6ZE(ANIlFKp)8e4kW`6)iD;Vb?cS?utUHx7MIFACWzSctl zGf!(9p9l36<%bZa(Ze61e8_x#vSJv3UX1b~^nbOH2p0ghLKhd(3F)tgZYFft)%qQ| zm#s8oOP>T=#0Xntjudc|hpyVy@AL{Op|-}$=eXELh6r`kH^XxAjW9w$0;{;Z4+n>G zR~vxm2u$1(Agi#U)E<*e$}SC9@rR4E^Uybd{l>n$x>jm`I-Y`&=m;*5OoB*I6aDY6|lN9E?0Dw}Qf`14br3X0__*~j>f`E&t zM!l4Kt#vOOF$&15)I-=L1PYG8a<6^ZBmja(J&>)w3E8|rNkmjZMhSSL+b z@C88}EVv-R1Al;bo1#Ihz6CDDBvHHZ1y3HVJSbyOc~D(} c_)GtUKjY#se%|Z1uK)l507*qoM6N<$f=n{N%K!iX delta 477 zcmV<30V4i~1hNE>Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&4=*qAhc z0004%Nkl{Xjh9qh!y0ibA2I^w2}#g2@~dQ!TLK|=v; zk$_&8a}lsbJAVJg~F^e6lVjVC1h TMb3|300000NkvXXu0mjfv8Kpl diff --git a/graphics/pokemon/kricketune/backf.png b/graphics/pokemon/kricketune/backf.png index 4f7f225d2b747dc4fa13db16d3c7c2e66494af47..b07e1451b97529d39c50d64aacd23339c9dcc770 100644 GIT binary patch delta 638 zcmV-^0)hSa1=0nOUw;B!Nkl?kn#JI>2Xr6Zg)(BaY_`m@U`z2IL*G{R1J%10><=0M|NnY;@kN{B7 zb-p8TL|x{@HE76p1Uj++CDdDiio6N%&^!k)jOq^C=Gi9M@&gdMa`{B3}VK-2W^9O}BE%RcrxG z{7iw#LIjLu3V%!!76B#!_y({hsdKV$ucGc%T*hqS4uDR9dB~SW;cdhKU*3YnM41B1 zkS{sDogM&AqDFz+Nz1KA1YXbuj%5G(CkDbJ&6(=02Km7#W_N(%Q$KpZ{peqZHINB$ zv3KA)N;79>{vm6`$KF~V0A@$ojL9qf1kJIxFK`FMbAJNxb`WPfVwwK$&PXA~WF+bg z;ESFBrYo5)A_^@T;0*YYIWbyP@@uk)I1b2gwz{=vC`}`TQ6||l98M&=Sbec}z%-R1 zip2oFQYV5zjg?-p5;d=a$Ro)t7U6)w$MNn}oS}6BV{7qDT~2@jS`@(UIN%yqSPaks zaul#S0C#>DFdhNeqbIun_InkkD*-NV0vu`wj1T~ygMmyuS`V}V__YPRg$`UF5V&EE z4&t#57G}WyaBDjPvdIEnfZu5wwg8$)0dGN3n9I1SRi6TY<=%m~h^+P(;kQ`72mIgj Y7mF>Hq)$07*qoM6N<$f_HBs8~^|S delta 676 zcmV;V0$csk1@{GzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&DzgEsJK z00077NklPaN_$;sT&@@#gpjA%6;hjxp{3?;Qg!BoILD z#!HGrPC)ax3y20(QPPJ*JnWZHb-H#+HST%fF28o#LdkkxfCYe~uJav%Bk2k!u2EyY zBXD91P-49msMx!J49#tBx(}4 z{n2Xck+J@nT+m4NuL%%7IlW42HL6dh6ZUBf6rU%+OMkr%YajzS_jkaK%FLOC|HvB1 z36KF01T0ZmWF+bg@vEKyp(~XxB91K^@PhQG za%MDC>RYmiBn`-LvAVSvEKLJoI+N@fiD#Bwt-e}2P@2lHPQ(B`sWYRXrb=I^l5SoF zkw=zUDu2QOgOAhQcX5W+35>0!Gj%xu25d=yy5oSCu)<=1515mH)dBFkK*$K79zECv zus^CWT?ue~7m!#xV8j6U90FD1(R!c_z^^UfEu7Hxfq)z3IAJ`t!NLsKC%3jEAe$`k z1^At|VGEFn6z~>0j&m8eZq=s%P`P&?E+VV_MIHDp*6#ryd;S7K0nPRS>a+U*0000< KMNUMnLSTZPT`Rc& diff --git a/graphics/pokemon/lumineon/anim_frontf.png b/graphics/pokemon/lumineon/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..ac511018d4a8244061f2bae3ff43728925d191b2 GIT binary patch literal 1148 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 R-0=Va002ovPDHLkV1i5|{Yd}- diff --git a/graphics/pokemon/luxio/anim_frontf.png b/graphics/pokemon/luxio/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..30ec79e6cd8b3169936e8125d42983704ad0f525 GIT binary patch literal 1111 zcmV-d1gQIoP)l*O6vr9h2xyEn1V}rXDmr*`qz0%a);`h^yBIC+1abB8sU|wgBD#4< zP*>eusRQK1y;Sktb;=Iu!5?g2eaZ{~jOj?)_yL_v2rU z`YxbxumgBt)$0$p1D3TFXjs-~I|Q2cHh|D(dq?UTwib4{ZiRsgm}(>36-_~@;P z@>PJ$F7RWp2AHt&vnyW}K)4+^9t?^sYU3(Eq?8wA5XYkvqxMrVT?GL7yf;E%h+^`h zk|eom3cNp#2Lp;?iyCvW0$f|Xh>u{@MKQaQBe`xukpaMW<7w-$ZJro}!|KcOzW4zK z7zd$F5#Tm)K&(Eq_ef$C&ZY?LNe8II{I$1T>vxN|lp=ewcgum6;s)ve1`x?r(v5ds|I*oDv)<<;i9L6#}SfX73C(4m@j?iFzenG3*t-A(|; zKsbXT=Ai{lmlwAdLZKe;@%bIbRHPVVnr#>OocoILD9Riyz&UkMKIN%TLY`D-umbfQ z3#HP)CQ4O-{>%Mailq`NNNO5@Te6j4F{t6m8O~JB!OU;=e_dQWw7&GlFUmky&N}pN z549+*RJxn1<+Y>z)PH8gsDX0O(=M4fS#Je6fdHF6br95zbw^G>#n5OYj01 zOPkod3|wB!1xCJ6lX6n(yz|2g4Fc=MG1%i=2Vm2;NzuMzG0vh%*`myWNiUvvc<=Ne z(E{>#0f-F%+yU_I0$6Ws-K$pg;~W5(E0mM0UA3Mj7({{Syo0fFDap9;Gyz$-gvbkQ zgI4;Mcl~*K=E^Dd-4DJ^t6hnxN7>o$uFT-{0~d~_@lnO|w+G!B{DE!H@ihyEf_&G= z<(t3K!BBf3Gss_er2IvtJ*V1I&?3appXG9j7C=xC)kYA`Cy{(2l`z>9CQfb7QhUB1U!|68-ReJKjDE&eXYYV zOdbYF=&LB)00fY!L^wgp9F2b{9E3u9;zmqSoqsS)bPx(1grBNsTHqUW5Y(VPF5jf; zA8-xJo6h1N#bI+&^$&$@n6>TYx3=bGlbKw~l1@wa--O)WIgAYk!uUtEyTd>jI}HT6 dHxU2P_!|LNl^beG#>@Z!002ovPDHLkV1me+69E7K literal 0 HcmV?d00001 diff --git a/graphics/pokemon/luxio/backf.png b/graphics/pokemon/luxio/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..e1b5e4bb9a3b3fbc6628ccd1fe581e27e5b9b4ce GIT binary patch literal 658 zcmV;D0&V??P)PeIWKn+=6rODX{jVd!skn zBi7EjJ_R=3yWc`I);9RvFM+}bU}vmF&EKgH2F6}mYr6nU{^A_?N1*c-$wLO95Ik6W z1AGP;(B3>`0cnDL2FACv3||?g>DBG%a=`t(*yP?qUx~mlT>Gd0<6ZN+l=2 zX8ZKqNd*KY2F#&ehn&)K=B0X s&r1(soj!yh@3%qmPGF$?m;PV>0Pw!0xA^Rc*8l(j07*qoM6N<$g6B3MI{*Lx literal 0 HcmV?d00001 diff --git a/graphics/pokemon/luxray/anim_front.png b/graphics/pokemon/luxray/anim_front.png index 989470b19b26fc0a3b201c6f4a0db9b70d0cfecc..b2de7e12e63c66a151db25040992c27e45e9ab3a 100644 GIT binary patch delta 1424 zcmV;B1#kNC3(*UZQ-A;e{{R303eaCU000GCNklZ^0ZGm|;UgRtnV*s$k*c2A znVt{e5=B|@x&3T)b#+a>ZxH-{Un`Fu0M;G=RtCKNmhhJ!uYYxb@Tl?m!9X;LumJ>X zgTX7~#|-uq0c`oHmE+kgn)t+ClHj7M!miJR&@l3V2?C*wD`1N8B2%X@CqP3DP%H*j z#BeeJ&Y%XE`x!NWIP!qvRqqi_60pz#!Wu{tzyP)%P2W%l%;Dg8u(8}hF>SnT zGXxSi`0$Mb7$1d(d8a{Ok0RhPFKCB|tI#y+6^s!`?0+BcPg4p2Tx;6}!2X#l8FS3u z0oZ^w6Jkfg?j;^l##9|VwB(^Seoq7JZ&8^P0!&1p@Y_ohyV1V<>5u@xTgTqP?(hNx zOoJWgsRInq7kG7Yg@JMYF_lWuwNmqGXf>DqHD3s~LlFSKRSWodBHX&gJY5vi0G@q1 zK41fNzjYCkHf@%n^HHH@NH#Xg|!(41DGCEGoyMT;AQ|DxFl~Qrf;F4ou>G>2H z0$062N=4>!h`^$|1ykdUQzyz8fvgu;=OK(aL*Otw=>dM3;!zK<9-OrEab=jPU$ctlnHS0TJ2aSwesv-twE%yaC`%>*9K%*L&jnnlJL3lLlaHIRYbV zxDdhfY|%(E6mii244*+arbSComj7?h=fLk1vu&;K2bk94emxZ8zm#wOki0*6NZz|Z zIDd*g`5ttDaPP&DFV0UMwbv)}qlUh3di_|4?}Rt>eO84Ct&>htUk{kgrqz70Bz&a4 zHLx?ARyR(ng~~Ze{Gsvf%p3P4Yjc>>SXv4K+nIV344kauU=tEbKpO9mT4^`F+>k4U zDDt;cS*pwR|Ew+TjU?=EUH?tSD5koW&UBq0d<7R?0pGp?fCZ#@_#UB zbLt!_;MrgKo2@)OIB%@8TD87M;m@_(UzGmBrCx6~JiWM0X}NqWcI)14tp5FZfzd@_ zj?rHPOg5$W^QThC1hpj^5ZO|-A;}c&L7qTs(_Y7^=K$?G4jWW&&BYXQUP?Y zEnpeKq?kn|LDPlzIKjpEPyfyiD6c^9yQV=c0|GaxgYZkhXt_ zsu4UK^XG?g(Dn~eq)P(=nv=I|`-fOcQ4YLf7PtKaD>a=ZNn-AG2QMt#3k1@d`z4zR e{;!*ae*n4zI`I4h&R_rl00{s|MNUMnLSTY^xUg0L delta 1456 zcmV;h1yB0X3-Jq(Q-1&e00000`gJvk00009a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L?JNzalyh000G4NkleB{J`+O2$O9$_gf^~#DaMOTox+>|4K+Zq7*r9%$pkoq8er~s z)Bxhh1B$EOBY&JEV4(wqHIO8L0c<~@@DOtsz^YzAj{;3Qh)Ags^Q)sB5Q4=60+`ba zrG$)o02mSQEYGEq$^*ip4hUERPV@Xksk+)hs4D;vFnOL|_yCK*1P$PE{?-F<-SWWO z!ko`GE>)F6y^gtBHAxbCKHJQfKpaRg)n2zbm(+9Bd9G>v)%V+0cW;q7Tk0f1|5y8zgaxsox*>>Yp&STiAZBXbCWQbK5h(n4X<|3pSFa8U0DS7$JJ=mwfPiVR<2-eM0r~;2 zPOdO8&VS#hQYm_@)O;FR&82_K7sBmO1i+7K0q;+QTep~}i((qU^FPlxD>eXwe{ACr zl%}8>7T3_?^Nr)~*kLZV6&W2T=3PL>ps91R-<4850RlM|mfla1A#l|Tq*P=shX^dX zTQD`wICY|o5y*OhbsoZ)GXxH^lOEvLDIWCz>wh770jXwRAh0{d|AfrWI(x{SjEc4U zbs!H%EbAtrzMs<6`Q_(;9bN^C&K@jw_e2&GxxETjJAmAG#S8683AFZLDs^*}VTA2l zv3hga1Y8MAfF0iQo721jFblc>qSt%k`kF8Do0A4$tSzQjWDOT0*v=M>BtsDwEy(a4 zbbn)72;QqzTk|>a`^0QZ>-zzwwYXmoh4?S!n?EG)Pacx@E)b4lPre5oAl!R#6srqvTC)k5W*B>vR- zZsv`9lC?R^X)G-Tf$dDa2?kD9aj*$l_J3|5jdw_`v>RV;$dy7A`P->1)#dtf0<%V6 zjWZ3^754!OPl)#ls0=_8P*fw*W*k6Et!m`JCKLgs_rg}f8iCiGTNogL*XJ7-p0I*P zY?0`}v-O{HPy7YUE0vy82KMv~0d;Nyj_PQXeohf$Z$?MU5R9r|f6Ui6F@iV6S$_q5 zg}~0IeC;XuhdPU@7VITvy#6tNx8Z;~LS^>81hsbj;gUQI+MGIv3V8lU{^r{}J-BGB zvs$%&aKi8Q7p1>&sn?qgPcIiKEtg-#ZrytttABr9V02NKWAqmRlTGRU{8uStg4z-d zh-|6aFe_6aPoTAFujABnfOZ{+4Sy=TswfL@fSHr=Y8sGom=^&sRg^~6G$2J;oN`NT zPJ0qL<1%!xmPedjOKq6ZkB1f_kzN51InA!9cne~7d#f#H~MAI3r3KSYr(o*x6v z$y>JlLoDT}9C*bnzRN$bBq>SEz3$+Jg?oWOT64c-Gr|9LlkgAQj5+{cI+7Lu0000< KMNUMnLSTYdu${jE diff --git a/graphics/pokemon/luxray/anim_frontf.png b/graphics/pokemon/luxray/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..49d83d6b758a755a2bc76f572571ae99763d4693 GIT binary patch literal 1450 zcmV;b1y%ZqP)?uKNJwy~I8gup{{R303eaCU000Fw zNklf0;6vxltjUF1eP~p)^QFvrQx~HZdWFKY9sJ8TQbF4x^*OKZ>$3lnn z1b7J?1UeuepzYkr8SOzv{89QL`p7%!$U9kHilTDt#Ntnn?;aoD|DPcE|GsuUc?8&d z1lZ})t;=XTq3-e*MNkT423zXB-41 zQVuXM09(J)F(`pL(ZMvO0fRL_?9XTogh`Sz1`zv+*LxrU0$M;=18E8ofEM&2Uw(l+lBW9C$w9H&Ar3gG`XGi`l1$B2g@7RVWg8t*}Jj2gnmq@AG0O&sp z!DEWqTYv^(&4dF?;q)3GlE2_oaaCV4g5&{9jA`tlPq)D(9Ui>&R0N|-( z?_hU00Rn>69u}De6qrBY)X5eGhQ<4g3t^7cG#{4VZ%_G4v1E3KG5~&y2Jn8y?7GH0 zZ4~7J&pupIQf>eW|I*$=m^7KGp?OK@X{kl5+CzcZ*qY_$apDd0gU29EYvsQQr?XsO z$Z%_jS&qQXMj$gqro4y1vb_Zn!(|L-T%WkqsLe^@ z&5W-m&bY^kB_Z)A zofk&_*X<3{H9R#L==o~|oVX00*U?P+1xD~LWV8xFOcnHZMdzU4u@i!3?t_69C8F#LWcl*AHA#1bu8Hl}$-xtQixGE5>foFdeuMdmt{K}INQuoKVDEx&q zs#&ENm#NowrZ->QXZ5-PaNRkL-M>FB%{sNt75zm(xG%jQKV;<&#&V*+AiSY!JtI?w zFma_+&2^l5B>*J=yse77T*u6@$H6xs)iAfxuLMKoL+SGjNLd!E+?YJJHYnB9?jWj~ zT5~9`QB%8D0JB#>)<$lfz%SO9N`;P{2&Pd5XRUNHU;aDrnk(uFl3 z8|(wI;!ohr`U|n#0Q6=-Wgqa!m#sZ`YzJpF%#gjOZTrA0`+yMw6!(@pK>IK*#Xqw^ z%YhI+wD*>j281^K17T3zTRx#24M@{JpaH8|s5hj?qc~{#hbWSj0Rc&kw`}@{m{;TL zC@KFl*7Ogg8sa2PQ?=C{e6L|E5OA%wOEzKjUpEQ=0J7vG8u2a7)Bpeg07*qoM6N<$ Eg1}<3fB*mh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/luxray/backf.png b/graphics/pokemon/luxray/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..ce0fe29e44d92ba7be2bed257efe9797779e107b GIT binary patch literal 768 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 diff --git a/graphics/pokemon/milotic/anim_frontf.png b/graphics/pokemon/milotic/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c8fe0c2b9153a5a69a254ffa817cfcf8613faa GIT binary patch literal 1651 zcmV-(28{WMP) zsKFV^4CatQwb3}L+tG{ADYOTJC?F_^-4-+u8%Wck{9pRs9VPyd>}2TBGfaqlAHMg< zJKp!JD4!l*Xg59)CrdZd6KxE*Ad0#)jL(s3FfQvN2w3oT1&bXdWFs-ybJjzQY zCV_IAp#8M%>q=XfNq;(I`~en7J819tzCP^_fu7C3Q>IX7e}=g469R`b zpsJM-u)-LNYV?O&5b}w?LyVWc1}z|vOa$Bb^*-GtZGXohh6~8=8dUHy!0o*neNBk# zIx!r4Z{vHdQuRD-1lWYr*HE93_|kA)kDbRA4*)r#$~?0*4+PQ-x2 zXl}T!VQdfQj&>vPYXqpGMoTgJqY4z}!=k&3 zNzb-uA_G`v4p8PXMGiOtU@b7Wvw%GyqaMQ(c-uvQ51bS*OY1oRo8V{ZLxi1D@9^&C(i2Ojo%?11jeOYh)I#UA=&fO$P&QBypaYBK>uX^(*b)&jZ<)2+@Y zKtBcGJ@pO|*mt)h!kPkTDMbJt!*m_OaO40BfpxeFU6Oe=87Se^y&(8e#_fCyp(z2& zvdqaqM*?d>n4~CF002K=wibpV9Rnc25MT!hk*fd+0su;O0)+Ppuc?a<0YJ0a#2V0s zNRWL^0#ItU-CPT;(Cpf|1OQl_;aYDV1XduHTbck?v;@TGau77SJfA@6!k_#aPC4I_ z_op+R8?!)kuZaT@$@psZmBLVc@g6PV&_0L)JLg2)03+E8?p6jR4Nn+A8K z0f7P@gtZh<{`%^eHNwk_n|cEHL<4b8?Z$`4$INCeE z91H0Of1#^xW+zc!2%!5<6iEQ2U3IbmU4|`=ns7<(Q{3(=WHAL6=(5clfr-CQWeor_ zO%Mu;HUXqVL4T0~>N5a9)XdJvp`gD=yHsB+3%Q`9U0e8z3_y>@0J~382clZ_!xWG; z_<)e~Ijx61R6S~D4Tzh05#a>jEHfEXM?H|{)tTfu>sJG!iJ<|>%!MU^XA*eVyaHgx zfoLKD2AK-s(KotHo>vm~wXh~bN3UxG=QPo%k}=K(R+5`U1F zUew+McoayBQBY2h_hkvN1CZu1K=^}t0)V>TD^{>F09uUT-kAD>fe`jV0%4G^FtdmL zK-dRa!wT<@^>`xeg8;x_bYJCKP^4yLS literal 0 HcmV?d00001 diff --git a/graphics/pokemon/milotic/back.png b/graphics/pokemon/milotic/back.png index 77cc96ab14efc264f618fc55e7d7706baa5b399e..98dadef06adfffe28d4f76166cae13ec0e599360 100644 GIT binary patch delta 612 zcmV-q0-OEF1-J!}Uw;BaNklY{-_9>!o&nCKC%a~0Nw92tRO$un5}p=Y?6S^eEz<(gYaV0V80zHdg$2EqSbw{`t- zz0&$aqS8U2ukEgO-BdJ3oKH`XNT(a0t_rTaU0V1zL0VRAJ*R!^cz!L+%#?#p`fOYW|o+JT-YlExcdS(Xc0faH2 z!C(^xfQ46pGF}{DAb=5o@C=rI0RaYxmwo|?V1S7Pb%W)m_-OZRi^*3j%}%M17yJW&kYUwF7cNz0M;DBagrLxMkYt1>hF|0000pr z0006jNklxjvPS z+|@7o{isgie;ryxvG3BP7M_Oz^L&iDCsChn+EVEQek|HrcJ=^bdEL79fGUzmuC2i= zJ&`O1fGV@N>xAe5qH@eTA$mZN@l<&-1c=d@frUQsZaFYO!N}+fe?mhkW1^}Lw+686d5m>L)j(}7} zW#J0^Tq{Mu<8&%tvQRsJf5m`VEM4pK((o70z4rE;Q=2GDWj_VJl$ zTqFTG{O$KQbsvEz1Kjtw^K1a@i$Cxr3FurKd=93+;eSPX0Ko>d7#xBD7<&aMwt-U{fi5(}HwIV@Z3$p*DqCNKBLk;C&~8Cc1W4w>1MrIiGsMi4)T#$W^^iEk z*p#L#cWnsc5Z_wBp#eAoeqI>Zy0_8vVZngx1N%AxPFYRv0_>2?t6Duq0|*PKQnrh% zBDBEP+SBn85H%5izJP4YAsT=$6PT~8_5yb;z(w|GfcGlGAaHa5Mzm?a)5LpheeBGH#yRMD>t3#MqRkD|ZOv z5Z_wBp#eAoeqI>Zy0_8vVZngx1N%AxPFYRv0_>2?t6Duq0|*PKQnrh%BDBEP+SBn8 z5H%5izJP4YAsT=$6PT~8_5yb;z(w|GfcGlGAaHa5F>l&H6vr_V%v?cKrAx4#q21^+k~`XdNGMYR zUMh7+)yiS*QfD_MH@98PNZTRz75e4+&Tb3A&u4YZz+bR%Kixa-&VIjE>y$?rab_O3 zAn4g9zyY+qo(b?mfS`W7jYz=62sq{$gzbQ74FVvYy_`w12CeLTZ@P%?& zV3aEta7O29b0zvPQHmbmQ0)ZrfH&Ida}Z)cfAfraNq=D|G|+23;Wx^~u~hY9K4y4&yi|Fe(kC(suqh4kaqbD}9L?Np$EJT;p<}5%B&8U<9N8z%RJo z{XkKwKwIlWGZ2@f7fkoJfE48mZ3ZzUAOZ7uPwuzm5BO549iq(uFd_jVQB-4>wIrHW z^)(=LSbZQjsWHj@G}z!5R3|j+0bl);=KKa4=@J^a6`Olp00000NkvXXu0mjf0VzAp delta 711 zcmV;&0yzEb1)2tsUw;4za7bBm000ie000ie0hKEb8vpF>ljA6vyLA&731q5MgO-cYrNCM>3=B7b)u0CSH&jia>5w7Tnz- zy&1YVV}POe75H+zvja)v=d)N4L;gyZ+)wu|cW1v}t98tO7=LkQ9=9Oq*e1XMw7rfA z@Iru~e*6THfRPb!%rgkv0n-`;K!{g{3C3euq^ZJuPK(6)60z$}+*v(v8ojce@p()& z+DUTF06+<20@^p?>8eW1^EJQ>&x7_NeRq>qi5EE$_H#Q}$h$O^a>W4ow-P8)nc^7% z%KmBh%W*k91b+rpLT%o0zzZ5BqA7fhVJBCdY@@N$Jdj4;cV`eCZwD zzkvpN0qXtGWh&=t5g`zJ5dks-S>1F?&^U$#Kwo4I_B1Ap4K?e?@fTS4}9kUcz=`UlVbQnxhycql?ynbbG5k= zT^K1v4{)e90(rn2Z1gz@(WAe4#=N936dLHXp70yx;?ODqx*Xh7O21kWAe!D}tsZ|9 zcA@G+^Xrtae#|k)93AK1I8KrzM#o7$ird8CILY0oep)5|I8Iy2G`*Gby3TRhTfs=` z9A|4N%YRj!VNL#kFF=*rAleK70}>DtMKyF;OQLC2R|7(a t)dzBu8k5{jgAIN`bwaZq@YRoL&MzQxBU%Yh+SvdA002ovPDHLkV1lwNKFa_A diff --git a/graphics/pokemon/numel/anim_frontf.png b/graphics/pokemon/numel/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef4e79541108fdcf0cefeb6c792b6e97985899e GIT binary patch literal 763 zcmV|r5aKK>j@SxDpkofrc(8$F>l&X5P)qYn0W_2+IcD8U#RqSDFH&5iL^JVK$>hVs(qiamLP60j)T`F6W!!8_OP@N50Xz z5zkj;q6rj1M8G`xaFeV`z${+_O!3@rWw%L^Wu+3Yaw4pkmOsymSTR8U;{Yg?ctL=) zep|g=esT=-sfFCUcY0pvDFD76@6-KS%3s#iJOwukCuuf1zD`ob)c=$M(8tT%^SgnS*UcL=-&$Tn;d7d>~xp0T=hd01c=G zpayuG>j5**4|)VF@cp1f`Tm-tJipTc_95_-1K?erkBjt$bXcIDO9yaF=W1~+Ixv)y z9^gQ31oD8}->7pCqDz1CjCo06AQaFxp79&y;K1AhbUC=kn0_@wK-9g-j4po@_CehT z`qwGn{S>D-#mRC0iQ~j^taY6DvslC$$7$Vu=_QNnYR8#pNwO&W#iQf2D*WQnaUOtG zmE-ITWx1+yoR3RTKTnCZrdIK?J+F3}(f5B-80TsG7K?%x26V051N1vk5&C`uV< zD1E30qHXqqnf@k_qI{#xAch3QXCCk2{hIs%UrV_`v={*TBp@V;a^SF*L}g`10YU|< t59B5lCb=(zHGV;T0=*va-A_>;e*h~#DcnSaneqSt002ovPDHLkV1hixUNZmy literal 0 HcmV?d00001 diff --git a/graphics/pokemon/numel/back.png b/graphics/pokemon/numel/back.png index e895fefbb02da33f3dc75eaccec0f6d33284f33f..a631f1c2a9e2646441bdd97d742639dc2c205d6e 100644 GIT binary patch delta 469 zcmV;`0V@941gZp(Uw;9$NklTO~*Z;j|YB_G5HW<#s&!VrNG2teE>P20ssQQIuf9P;(rL6qx}?6+8Hpa1BTLd zHo$aEfbKxLP6GgeW4TqRVihLc4l;s#V3q_pgPiEgSCPiF25>E_BXu&J-hX}wdMm=968M+_*%@~Q;33+@l7LvO(Aw?+(Y<~iuXSO7OTMQsUKCvy zb@h?w1U(k7r6aA9MN}p27pw%F@?9Xox+Ne%g&K9&5xXkxu?ZgM)To0B0Da*JHtG_< z4}ew#FcTrn=GmFoikFE}y#%xAr3|$50yG8zwp{|ed`<>lTEcO(s=JU*F$>$M0pF2XskIMF-~w2MY!P_zE;~ z0005JNkl15j)sR!L_{?a0%4@Sj0i06c<m>?9ew-2dXcOQ^jx*MQ(6K6pprecpR_-+PxD#(%&4s*QR(g4Lc;rNNH) zpxtW_qAxKZq>VsJ3k)e~0q6k}01yCD(*P9=cG0QzQ@}V#fo>Vl(VnvcZr}pc+uCzF z00K@LI@p*rvXkNBU<`XNE?*^f#=n`im@o-U8H;3zvwp1H_#Q*U76>p| zqVFvf;GTV3Bqk!bepd>tHUKsja>n&dpvgCZI|O2-gZaQSLRO0G(|BPkLx2)-5tH1E zS+=djjbpwx#AX+_d672&L6DdH4K)*t2p7v`0gyn*xqWc403+uGcgz!Xu_QnX0L(-P zvw1qOR{pJs)G)zp@dIbx$`5MVK-3U`?{5KNwu4Z%pwucFb-BgV{6ZkjPAfRYuW4<5 z82}Bd1W?auI{A24ecNVd3!sYF?iS!unE3ek(8$<8c*p<%00000TT(hm00009 za7bBm000id000id0mpBsWB>pF2XskIMF-~w2MY!P_zE;~0005JNkl15j)sR!L_{?a0%4@Sj0i06c<m>?9ew-2dXc zOQ^jx*MQ(6K6pprecpR_-+PxD#=rflje0wR)t*tM!H)Q#-D?n{FEJpbjX+Ba3@K>= z=m8S|5CBrs02K^&(W&)Qz&J>OZW++gp0fgO-~!a!+H*Pp2psCA!YFnj+UpQP2px#0 z0Zt$zTKZE+8;5aN`U@0u+KUFbTi;;InOJ>SJUbAc`{Cc4`-g+ z1ZS_0_R$lIBoW*!V-=V%2}~J_WQntWtlan>L&FvbFj=DSEfnCMeOn|ZBDj863amB& zHWqTm^-ZA3H-S3@Vx@!mz%xQtitN*PVJky`5^)ie+>BYat;CIEzBa^W7q@wlHvmD9 zm;4Pi6O0HK%VhzOK*+gpu>d3I1$WF7bg?8r3joYS2(x)QuvY%9h}1B_Z1DqU-pUVZ z+CbD0fbVYsVYY)%wxHB18g;qF)cisq%}y&g#jj~?ei;A_s{~NbX*&6MSAE-NXA7W; n*zOkKQsqNh006Q6(%;(`1*-zw+WRDS00000NkvXXu0mjfrZoa| literal 0 HcmV?d00001 diff --git a/graphics/pokemon/pachirisu/anim_frontf.png b/graphics/pokemon/pachirisu/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..55d20e4922e272762fc31f7d65dabdb1f31fe9bd GIT binary patch literal 811 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 T_o7jh00000NkvXXu0mjfIx-3U diff --git a/graphics/pokemon/relicanth/anim_frontf.png b/graphics/pokemon/relicanth/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..1ff9f7ba30dfb1ec39d739a2dd9aacb122cf101c GIT binary patch literal 1257 zcmV=P)vk#J~u00009 za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#DYM9mhF000C`NklF>fMA z6vuaqr9mkcf^?Ee!His3P6Hz%qfL>Iu*RB|PRP27L4gn8+ai^#Ye6>JlN?bPkn!0Y1TMA!fort{Z;LmSRROpUDhEA00_Pe~szVFV z!}1<}4jqVrVQ~HrP|wYn1mynMVPeY1q&!6cTI}Ny=glV9Uq{MLaE{Bs_k9|Mb5DqP z1(Q&QgRDmV{?+eJ7&h?`u`(usDN11ZQ`8ANbJuGR#b}@b@+q7~qJx)UdF@eb3lq;c zwxNv~ZaskNmM2D|C*TDDWo&}&%i@B&hQ(t$@uCfy+^tsRn*IYS4@Y&ML{>!Uox_r>N4uaDSvpa&8I8J<=H z<3Ho~-bevR0kR7Tph09(9R=eb4Fes;PjeKA|CNHII|{_V1TNlfa1@At*Z9g0et9d- zP(jul1=8IPul>vA<(X2D1Yj#a2(AL9APGk??GQibRYFz@l5iAr?@(q^T^UAY%~6We z8%P}G6bMm*f$O~*{G}O& zRXUW>tk&@mklz}Rqbi!C`xP+P9R{Mex&rQc1kOMc29i?%_`%P2U2-5h)Y2XFKna8z z0VqnFb1#^q}AGcPpSMdaAs5O#i}5-;Y>`hQW11Ia;OvtRH=W zb%BZ!1D?X2?MJtr`LA={9**MKXFi6z@&_;=P?UBoo=pt*l^%$JP>M2)2eAF>FHC=! zFt`IufFlv#;nl-Kp5OhHBtm(MjXs-BzQ`$H$qO-d%z=}9{v3BHQ<}RU(a6f?>>J6lvftA T_o7jh00000NkvXXu0mjfSAi@o literal 0 HcmV?d00001 diff --git a/graphics/pokemon/relicanth/backf.png b/graphics/pokemon/relicanth/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..f900aa794f4f2bdec40f2495e20ca19102b0e2d6 GIT binary patch literal 649 zcmV;40(Sk0P)5ANcR}11z>#wWCx3dRhama(a|SS&{_0 z0C>`>1-*k&(ewMjW}BJ3VqoEa!sXcnfu@AF4v#U>Z@&S)q&h*MDKQ@DbvdT*pI&FAz+b>iJr}~yPaUB3%?+gi5L0OQn~7!4 z`EdXUBsK7riNC$`Q(fCT2Momr5m$bGd#~SK3!rL1=lcRuQV3PB3j*!z@P0w>k6;gI z-_wl6wTnZWf&hwu^!9vyaR3ZC3r^D+w~4UK0RtA8SNz(PGwQm7mVd1Ue zHqE73T!n#RK&sDe#+~aXeZi1$A=7=}LV!wwNCrGdOBo>sDshD4fI+Av<}pZRLT08m jiV1xTReb;daF^^q(~L|GAn?`*00000NkvXXu0mjfGS?hZ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/roselia/anim_front.png b/graphics/pokemon/roselia/anim_front.png index 814568e648db05d734c15d46b413e3378fb7e0dc..218bac70d9ab7b3a90447d81d14eab41a61fe819 100644 GIT binary patch delta 1013 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 D(Xkqn delta 1155 zcmV-}1bqA835W`iUnT$va7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#JKYfNN! zkzE=jt%)8?)kZr?wB1#TDJg>o7vht>6d)anj$Ow_fk<33#);Nuk((obkS*;&lkVf) z>GA3QpX0v7z&JWTCkXh_3_w_ZG#5c6fJi4;MdmQ}fRw-j5*fh*gbZua`P5g!Bp5v& zh?%`9!03U*4IvVEdIv0rs0xoWq9|sj z`Bdl(qWEn|6urEd4nHSBXyuO&01zur#cihj znZ#;(1|ZBYMs@J4!}{j}sl^bp)_Qk0gNVhAK)zv}-{!@6KM-#<+HGsvBPDu(;?t6@ z)oOI-#c5g;6TSlNMx)WSJKCm~OcPm5`3iI(-?mNlluSZSXM6x`aR^fd=RkH(Nh$5` zFv)k$VqY77WVgOfHWwBD2$1fWXR(bcslQ#9Ntt`tzb|R=ZVMV%8h2PFtM8>vLX^Si z<{lBZI_-`H>r*ANB>k~o){z6my%sI2(K*9dK_DhPB?|Y@8T3bY7UG9?*EY{F&T=}% zl)yedajpjA@!z+=ilCV&GD;1)oQj%g`+ z1@jX3?9~KtJ$o>^zFp3y35}6PDcP@kiyFB=^v56X*7sCKbwFNtGsHmNhr`jwkVSuF zctCFHYCIg?ge>)Z&hSJxhu!he83citY#22Vq#j-xJA(Dfd;j|xM%!5&e1fs?pEOmWY_n}(;KF@aB+nE+y&lP_6I{{=e= V?sBXn;HLlp002ovPDHLkV1mq08$bX6 diff --git a/graphics/pokemon/roserade/anim_frontf.png b/graphics/pokemon/roserade/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..b6bcee6a9bbd7ff98f536f712154109ac564ecf7 GIT binary patch literal 1264 zcmVF>Kpb5Qb@h;UFMDo@{HP2UE4tjuLHmwPH%j;K8l=WG@9shoocIu~8rr zmyB_uwHXYMLV*}43P{>A6qPusaGm81ojO(WmQB>=%~Fq4VH@Im)Q~OhLC~Q4cz1ew zy8q|6&oK~+&(BB_dNc))79Y*T5J@01Nmh{=gaRNfv4CV&3IHj~nshe(g%k#(#{)UL zHwG9z1bI!01)kmki?lr6miJOHi zok5nr-j?McFK6iIB(K;&1hK+6s1^HPVx0kO>{M+G&nxsFQ&`z9epM}FjOhh9Q&m@f z`Rz@4_mlw$W`42o{!Q6gW?e|Z`nI#PQ{L0qch)4GBL1$+282BMLp}DpqY;a+a+lA2 zf8Y=PWB^7%>-j<4Fj`a#!Wif?Dm;1J^{EvSjd6wI@es0up+7N0qUnWSo+l>*$lr`2 z1w8N9puo|^@d)DY>&Y)scRcSMr)-k_%GGEjlE_&eHXQF~MI=Viu2|1E$z=p^>Rua( zR>`(sipE?NIH=catshgkqyUgI&}5559RTm##3fP$K(HbQ=)w%%PbOB$MF-`gKeymG zHP1OK<4rYS4yp45~G8h1y4qw3~l;ZO1%sZ`_1wF;_>+EZ92(MmG zQ50($z-iq7@!yD#+K%Kzg2H)*A2bW{{D*7RlG#^V_^UI|(EjwPw>D_ejeDpiO8=+ild^ zv+_7C%gKoX&04M2_FBe9kj!9JPEQnQLB8oZ`Y8@W&15G4*y0e54$cAZp5pDyWQQ={ zI^(~z@ose$Z_I0xBS5<4obhXATz$K$;u80;dtcHL?FKY(4eqdvm)|QJ7;C-3%{?OF zwwf&$)~AkDMfrWTWC=bH_gXaETI&oUO#m?w3D&rWey=;Yvk>1m+n#fd&^l)kL@=n; ziGS4_4*$9Z!b3o44t6L}3h>FvupbcGohY{)>l=i?I|+&w0zNo^TR^C_99OeUBr4pq zS0OM8?7`srb~!r^G!_g(@P0K|)WQge?(pN?`X0-u1;~qF1|H!|O-~-mZLjNkl`nLWzt{P_%UdfNs(?QBiFBh=?5ksKO1; z+ZB;?z`!w5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/roserade/backf.png b/graphics/pokemon/roserade/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..1b037aada617a761151d4d6f08e1c066f676cabd GIT binary patch literal 789 zcmV+w1M2*VP)l&H6vq##@(>A$b5W))7^xcr9LiRy!FCvu(PvhZVAB$sEI9WC+K3NO zMRHg=Atha_s)?r#&BTBh*l3rkBUviOrtgd$8{05febV`W|L^|q9e#HR{bP~aEN8~0 z4Jt-R#L{d%Fv%gYByAujg^a{wHcpkZGf~1GAeF`_lf&_Hvm!_VfhJf=_)NHjMUQwR ziHYrGmx~Lc|0u*unMffa2Bkzokb)>l1#d2rl`OMIpg8di2q8ukI1GWZukWCAfRsId zLSiK-fdLVh2CEqasqPbmJY5>Z0McePzP?Dxq~hr>#&MumlPZ-80Lxgd5gnO~Dx?Sw zRe23SDU~aPRO_jL;sF}`uG#=7FjgDKls!NuRZc1FEVc?SrRRCyw6Ocpo0R?7Ljb#8p9551Rz9oz1BC9 zfEoq9BmvZl0n@1d3|Vx& zjI#6lXn)3_?Jl zXN)mEn%F?Xm6P8+2K_SZX{v&#!)QH&Rh{?S__gCW!_YueDb&b;(H(r>#aOX`Fdhx~ z$!kCfw%NTyPY%A~yk~Lk|BG~axcS5Ej+BGZ2;)5H&P8Al0rU|Mj6H`7^xwo^EaEzi-n(6oAhtW@1Qeg#oenE)GcT;(Ij&b*XC0 zUC&9c49NnxPG?AJ<{*{-ft8IFWx5Qg$W#1B@tmYcsn20Vf;@T3`+V=+kKAWM_OXw@ z7p)yR2a|?ZpEnq95(}EOfCbl{&9){aB+};?| z&l%^PYwqGN(d0fbLEw4@(fB=eNf>1(+cjh_dG!^}W;ox3ibj^*2Mj2Ch-SQ#hS7c)6n|m`Vh%4-aUWnf1)!M6%urpVm)j*c@D{E%#k?sBl_zq01Ou~xdABXd zP^x)US*r)JRlZMcVXEO=gw^e6KFa0jwmsm*LjKU7no&{Y0|2#DLJ!E>!zDJN=CbD8 z_4^bD;3}^>+1Mh0eOwEe)N$~@94rb^2hbQ`v?ywU(|-;EmlEfq2Og)Xh_a~|)d8{N zk^%U{%xeG>x2MnXL`zZsCpKGRe+%woAODoPSC^Q#E7>GF)s41o-l=F%n<0bkUZ znV~)NnH{4KJkbEG8`x{W20p2p*`VFi-|Fs8s0N7cBix)wyJF^8w)H6@#^Tt3wPv2l)0!#zRVVx3THm1Yh9j zilLVDN{h=LUC;0{YB8V7#)goqAGVA5xTn(rioVncK{(_dZPKlpa{r~{UZ%< zP95;%M%@h!aFHhCOzcp1OlA4myF=~LWb6-ikK6l;^nZ?D+Rxq($^v1d00000NkvXX It^-0~f^}hd`~Uy| delta 824 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 delta 585 zcmV-P0=E761f2ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#qQHmP@b z00062Nklq4}dj$&ver5m4!MzkZa%tGUdH8M`F{gxCbiazZ_i=R5y?)|cQ0+iBvVt;sF_A>#Q1IpzP8xBC8 zmkieH^#V|EK|l{cZ%f{Wg&{7y+zq_iyb4q~wGHo@J|uDTTTj zfjIU3{M9PQzf&z)2yAKXE2^JUglz!OE~BdR8>$un9kH-oqou0>2#3xYy~`!wzRh&Q zw{|?E+cLmYB^=V*O)U^B*uHYM#@|xp^%WOLseaDn~&FrU$q$< z)VB^ztf7pvlS5UgDGpw|P6vdp&bZ;xA4WPdBZ>Mi%@|h-b$`_ZQR?U6#X85oLoayATp^O>TxV#NeJ-`dJNPnv_=V}vE_IhE8UOl1EAVq_! zIN34pFL%FcS{u~Y21%=Hf`7TuEL4ZQcvXr^%IG z!b5dzhr}jfEA_mCP>|=x%zr*GjD6bwS+wjwES>;+;XF}3?|q`UzUg){X#Y#%2=l8~w001N+B4;AW5(}Ik0Qr;r(!8DEL$e8h zG*8JTR)Vt0!f2?^?8|mD0ARnH2ph}*ylS>@%?M=1FA{^MJy18z`48W_Cs?TF5_h||NaHvWgd$og|5CK369suwxUofr|>Usd8 z%=g2KRgQngUh)uFo3pQ|evA>;0br_RW$O=A%>bJ5a9o3BiyjD<&Y5}c=YV^eSqy8p zp0{}bGUe8j$}ED#_xn`*1IXM7UgvW_;s9#IlMqRNet*QP%T@3q=v5zpdhH0Vxh;t1 zM_!ui9bg?1%7{^|^IHQo0K7ztbQ%k;b_scJSElGS5DE=awy4UB9rN+}@T;b^L49kH zV)bpD+#ISzZQ|g?n{+_v5`AELN0qvBgtv}ih$DJHI=!R%40k|0is0CyFG5ZL)qM<% zDK2&)(?9GP&^iFVPc-Pxc1jbVUg6tm8o;$m)2!I9?b{517TB3K)2(v){Oj}VFR&5r UJdu$KXaE2J07*qoM6N<$g24g}aR2}S diff --git a/graphics/pokemon/snover/anim_frontf.png b/graphics/pokemon/snover/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..64606881f88c8acd4dc9336a2dcf102158a88c95 GIT binary patch literal 987 zcmV<110?*3P);000AK zNklF>l&H7=|6mLRB_H=-h;`bPHFjQYSaL5G!=S@KqHPYLMXvq(1MV$#w2f zbq*|nF;ko|6Y-DgcRpjzaFD4|D{&+d%J=SRp1Q38qd*%OrHiBIuO#;p`(C?-JSe*lfuJOvxfFKRPDrQLF+8Bgs z#{vt|0BiyflPK^yTL7#p14v6S5(sXn1PXp%0wpY$Z2VIeV-#4Axd~wMz!#IifYK2; zLM8$F0poQ!f;+qka2+LbL?qA@WAs_bsRT^!-rzLLEi4KE1c3A6*TeLI@FBkemSNeEo=Xf(hC9fvb`{m0f2bk`;XQhr3hgFz@@rf7~ZPZ$iB6Ag&D6; zu-?w^>ES6<@i;Y$2w8Znmg{1eWFN?ZW#MqEb;H<|fY>Ymx>`4O38_fHhC|(XJRr3U zXzPGVrBWj@r3$)}k7WdE;@1Ps6pWLkyLeThx(-PC*8seAKsp0hH^i-6!y3ROA7=Bq z9%xPDTVjs^I%Dl~Fz=#xW_M-)(+4eJG@>XPPor_?IT|_ZfCv1UM3LLm5xY^^Mh$l` z)DYA2v_84#*XfDR1;kGYaW{I5T^%rae7>i5*cx&Cq#NSX?3v<6fYL_%Fw&hUlg>Y@ zjreKvm#s;i?Ul4`Tfz7j1jBeqFtPweF!TY6VCVxB!O#aNf}ssi1w$L43WhEqCm5?O zFBrP7uAE@#h@4<(m!SxT4k&z81VdN9s4WCT6X0KvgPZ138 zyGn20XX3i-sDc5X{RO~819+g6J+H`WWD-g3)f_I6*fvTE_7X z%LxYF^uJi(&jUC`tIG)n{V80IC5!2Yl!{9*FBoTNgMqZcLP$LKA1>=m-3^3(AeXaE}wUAd-UI2-KouRCeGTdWx=SxDG*ky;4 zT1U>$-*9m4NAxU9544zK3dqi25+}f4h;Irw ViTQI|U3UNg002ovPDHLkV1l`7_uBvf literal 0 HcmV?d00001 diff --git a/graphics/pokemon/staraptor/anim_frontf.png b/graphics/pokemon/staraptor/anim_frontf.png index 62715651bb0b81726a8800d212fe0f5fc97972da..37e8b5cfe139a18d5b747f5ff77bc09f53bdd5ae 100644 GIT binary patch delta 60 zcmZ3*)xR P7=YlG)t$hNtxH(|t3((^ delta 100 zcmZqTTE#U%C(=MeqaYzdKtLeC!(oMm#)}9C2Lp=<1q~Sy5j!@l`0(OIL4d}O6%hw2 zEEpIVir>yR2U45`9+AZi40_5S%viD1z6>bHUgGKN%Kn^hS&W9(8E0JFUw A_5c6? diff --git a/graphics/pokemon/staravia/anim_frontf.png b/graphics/pokemon/staravia/anim_frontf.png index 8658532ac74d206dd61553617fba98c0d3c942e8..40de79a60864749339cf574cb6842471ed7d368b 100644 GIT binary patch delta 55 zcmeyxeu;g8p-zN=fWVA~jt?I`Y}l}2M*_o-2^tj+3I!1f78VviA{-cC;E0~x*Nv^E F%m99<6r%tD delta 95 zcmcb_{)>HrVTgx-fWU%=h7TV;tk`kjK!U=929E{@iGqj-3j>SE$@vU0kR0^370Bi+ p@Q5sCV9-+rVaAH3_GLgp_7YEDSN7*@?EG9T%6HUtH^!DS0{|*o98CZK diff --git a/graphics/pokemon/staravia/backf.png b/graphics/pokemon/staravia/backf.png index 36e2f2169d51bfa7bbc8602193432ea9bba3dab5..51fec5992db383f7230a982cb44b459afe6cea52 100644 GIT binary patch delta 583 zcmV-N0=WId1)BwsUw;B7NklsSsffNDw2i zUfy3Tjw60f%p}Fz!yi;F`Dg< zo7*D-?YEyYnq=#jK=<_fQpD=(o0mZM;d@NbG>_vI1fV!}mkL%*)401#=#ZdL@20?` z(=h@^z^5w*pMOHorc{9dp{KxJW@vbtooeVmHn#^5t@5n`AS)(gX9@?9ziUT&RT_U0 zJj8~Jq$dIJdIT~IfKLGuM*u-3YjcKYrbP)c{*NeC+h0iNhDK(4HSqN5CwO5}Ou z1iKx?rZyG8w(ATqzzabs`hK{45poiw1FFgaSPv9e8_$qN9w04N3;^qYuJ&%`JRCqx zL+kZ=7(mXGojZC+>6eRu^TXt$lo?K8B=v%FTkBkXoSqIY#fj#za!oHyEf@b&`~~sV VoTV|jtSA5g002ovPDHLkV1h^S28{p! delta 623 zcmV-#0+9Wi1;Yi9Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Dhvtv5E z0006eNkl4l z)RUjGq+}`aT_R6iN(6{)e&$b!q`X-C8-wMHA61$1XNV|MfPY14b;6$`mN}Nm3@A#O zQqYt}nMzSFa-B?pfP{izAic<$Z6W|?0X+xcat=^4r9y-`AVG}4dU?NAY{&KI#7>gE zJ=W#jQjm$_fK>ueO11m_9e^c-fYp9`TO$X7KvsO&{JJS(V62ygvdN z2Ec~^i6a1^12pHzRc1ng4S*@bdEf!fiK!UiCZH9s@PB>%$!U4u6-C@cfYxaHdITy5 z@aj2BI|7pY4p1;E@bhb+eg;&}022ThfgGuiH*ITCS)~j-c%a`!z>;fwI9L=$zzC2H z5RPL?Lddo~(d+b+xOV>CHK3I4x|0xA2m(COUw~X$0Yyg@LI$gT#@kdHJ#TC5lV_W!w>-OOn?fSQKt^?Df2lgS-5 zr1a$?;QTQ8C}oC27)iaL+-RMvkJHn^g*eeZR<7x#spaB-vcI+roXI@90g(Uz002ov JPDHLkV1oAK90~vc diff --git a/graphics/pokemon/starly/anim_front.png b/graphics/pokemon/starly/anim_front.png index 0e834f3bd3c84bfa760759e0285385afc3534cb9..b897ef874ac25bdbeb61699a38d18f24a401aee8 100644 GIT binary patch delta 807 zcmV+?1K9kY2l)n&Uw;DxNklzfT)66vuO?42;+TIz&jZ$uBqsi8@<^)C-`N zZdAQ=$^Zg0Acj^d8M;&vLL4LNkgSM-vNeb3VD*nUBv2Rco%%QQ`3`kC+gYiaCnd}K z=Dp`UKYv~>H?e=!99kNqn7&=K)uB8gfu@?ogG*AgES3$2)US=X7rUg+@@T zpQM7gl;^t|fgcV!_{|)DkIFKyTs+5LKo}u{JRwFi*&1^NEJ)4A zBP@hqM04>9ML~~tJwb$sRteP#j-VUjn}`@{>m%?)z!+OWntnM+gnbdMfnPTq&PwY$ z=LZp6Lm<$#8?)B!eyhcr@K zS0=$?cy{r5X)~n8*&Wc*)L?L7c^u$VK0mj=FmAh)o7lwuE5qaNyz>Om9%HM!A@3{! z+)7{tw<5QV%a7c(gm63Dz8v^GjbO~71l{`}6==Yl-+}-gRVU=ofY+q}ZVq32AfOuX zy6EQ#-+!*cQDvN$I`Go@t4=DwdHKM9WV=ego^DqN-$&S=4|HUHMTaM}rpQeYtSMRW z;@`*59?3l$#M!R9%fALM6F;J}T@8}R^6)rF$?k2$n!8KFK1tjdc{jRil|LpZQFv5D zZCx+C8~gzz1lS)nb%NqejnfZ!R0Q_3X*Zjs2!Gh+2c9Sb+gGV(Jt*EPfe=L?E5kTj zr=uc#5()g(VY2^J3)m0KN0Y4-KtQrZ6od-E0RAd~W`GtL91z&v^tBlv2V*T*4uI{x zf&P!|H`D*`c3_;(bUVOx^LX}??ZCVqoGRba^_6KoaA7m3yO&|#Si)kzlncW%^Bba0 lM<6#B$2?E`4wLirRAAqr5v0?xK002ovPDHLkV1oHrc_sh= delta 844 zcmV-S1GD`32A&6yUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Dtr($OF z00094NklJx?1!5Qcpx7nJN8NO6kf9e=_JB(n~RNU^`dNGY#RmEVxrJCx>j&n;0rl7HRI>vv|oAJ61+llWJ| zg5ns()BAB2(HIMBG)BNkroaY|X60cqipp7ee>;kzX|w;F5GWX#`x8QBT2xT*Aw!@l z#15kj!G45&ngo@O5WY}-8fpM0cR^J#2&z>f=pK_2qayB|-^d#FcV5lkPEBppw-*I;2uc&NK(F;7B;$ zb0w29 zEbNZR9)AuzkvJG@D8cqmKM`oao8Lr(j_MO@XuxX&f?MF%J_>dK&V&nb!2`8gHxy}ax>y@X~0W=pFDXW_pIMY@4CJ8 ztN$|26PVr7Ac-vvPW*)I?s`LWc3IG4ahekMR)2S_@+XYM3KwM9*6oFROOH^(ko{p( zCva|S0*>g=LH6@$J6*&`10XvPEQP6?!RkgS~2bf1=T_$*`itHq@MsTQ&y zhmR(26i~p@O%$Xu;0S+Zpt(RLjtfM#H$80yHAwLm4hP6~&p`hN_M7SdcRDcM&ty8F zbw%^_?8Vc8c|15%xrLi+(|BOxWKg%Sf}XL3`Cc&>1n1^AM6C`s=Epo^WtiaP(Z(P6 WUJx!wcvC$90000ofm4vEvqea~0BY$* z)udAf5SRfmv{K2?rHT;Z7*U60MGTa!IYbAmf5ahyy4>EWe}6-tFR07e&PvrhDYv|D z-h2M>{CSQuv47QERve=!+>Hy7j0xe!V+0gi1&9U2=4Z7eDcSsqvT1YtLMn*O_1(AZ zA!(3+<{NWBq*1KAUktV=(Mx`LL;bDPey{c zm=n7iK@j%a4`a7)K-NLndC?>ng>fj6RcDo-jCJ(Tb%&FIs-s{V* z3V=y@FDpO^TX?(i4*n0u4wJj=RlzfOWOB$lnv3TK^O#^vu`lItCR?MECz4hIG9*$; zPBj-V?@4yF>q{zSv`U#)a0I6zzsZQ>rapp51)TF0tbaK#H;u3_qc!mBn!{abd>7&% z;%gWLy5lCial7AW@H%XTwtL)p$R0(UQ%v;jhm->Bx$%uaRQa36?wvZlVC#%sUzr4p z;n~IKrOl8Td$-SuQ~myh<#B*t>HOUO!k}i+nb^esD`$;_RuTIah&6YYhCQ0P3HEPv*D7~RajNi{ zjGDT$@NdWmkWgTMRM!c-n~Go`$j}4!^J$b#;sJKWfiFE^`zq6n2i~m`Na+DtIU(6P zT@~SzOyREIm>>A={Zqv?QD&F$GsrvvkNaH@Pu*H@U|<*+Ah@uo`1ttX*wA=L81R5NuvjRVfPipVSa4uq zkYH#40037(y%GQb010qNS#tmYE+YT{E+YYWr9XB6000McNliru=LQE43LQtckL>^e z0`^HnK~z}7?Up@H8$l3;eJdA~>>iN9jd#x2hLe!aYfvONIe!C6NJktyHD60X6{O&T zCbAIXC{YT#MHGZCK17QBL#gr`GJ8g8Zg<@h#UuHec|EfqGy6=TFtdNvJSb05_>E~H z#FP+TG)2IvQ$QeQExiy{Bipe{vQnvL?d4+ zbb(GxjiF;GJTDF?qmYXWGi`kedr35z=o_}9baCR6fu2d>G7zJl|8|nx8 zY1o9H(+hZnVeN_mosO^O23bu-a=I&QT@6OY2!Jsx(ANK+v= zW#;xHL00vmVSOVA*Z#J(d*`lhVGH2l-X>T{u5Z7t?j&IC-653chQnLO5#vkW z(F24Q7{FWHMfCUd0D(CS;3a_ImiReB0T{qb=<7?lSLL|Ss3=U}1^>P`5wN1zkZJx_ z;rrFzGMC4c#eUaB=65i9Ho^l#NTselbt- zNlJ)ac@nA;vONOBcu;!M0;NhwR>4?)ot} z;cTx17#b)LxItulGd5<>gOq6DaDZ%&E%bk8zn%Vnrvqz$PNoA^x3}jYn-1*b!Ik!{ zKHS^J1A>!5o!lh@>k?K5vC-DIT#@N?-=*&))s}6YymiVOynoz}_fHS(dC$=l9WiNr z_h-!zRQ=C}>(Uw3RbY94L*Aw4Z2Ek_CtX^G8nT*n8oUv(U(*!ZgYQPr+X1~Y3($yF< zhB1)DWD92IT*~)`rRh&ZBoiP;SnJ_+3Cvk3Fq_)nNq-&W761Vh0`a0`wH2HEO1_PO zrQc~4LZpYloG%s@ya7Q2ruH3IUcJVk0B94Cz~vtBb?{@65wKgLPqu{JChaj^EH29o zWe^B=FCmy-!WdVg0?WZJ@J6&<3*es^>>cC@C1;d3-UzmT3`4N{TMe7Ob}>jMis>Uq r0?)@PN+Q7y4{ll)EPVdg`v374L%`7v!xDSn00000NkvXXu0mjfU<3lW delta 591 zcmV-V0e4Kcntyg-K|;q|33O5?#5X`J z@C~YtpiX8<pP)c}xEw2c}8mlN$4O4_(~3V&9BiPnxjA}$00(bMmpLvSttp!c!s zm_gWQiZ_eK7Jr}$eq%m0SE%B~fSI-cZf;NeVbe8Kpl5Dho&EUYZlO;Z&VGIi8iv?_ zsQ>W&ZRi3$W8m)LKAO4!H^$t34V^s#5HR=d9&Hom^I?K?v=tMx*a4m5%uRRh`l%?aG&2yV3NLXG2z9KL?AAkSN)?>^WCO{I?Etts*tv^VX zWq%NnOn?|+t%sK-kgrRD`P}|a>marO2%u7kmnEyMSjN}-T>>ooO{-8UI|TA#xwPOM z6b+c!cU*h*8iN9$O+W%yd%zdL<1!~;w?v<81-nh!W4v5ml^Mz)5bj<=Fu#H^u2ltA zgI(Z_Xh^#jz>^s49pnimXOuVD2)2I=L$Lc>51YPrF-We8=_5x1&&MiC!43~@UKcEU d{@42d@eeaQu!IczQ*{6U002ovPDHLkV1klA4cGtx diff --git a/graphics/pokemon/starly/backf.png b/graphics/pokemon/starly/backf.png index 3851350df0c515475de75c32304a63b73abce968..f1c45a7bc69c3fc40efb99eed736f7c11e354813 100644 GIT binary patch delta 547 zcmV+;0^I%e1j+=EGJm9VQaBhG*vO#x`1s)9$e3Ut_`o30m;k_-fS_ftwEQ#8Kl^7f3hXQd8q}-^IJOLV;e{oO}bz{qp|xC4U&kf8<4pbqe3h11L`5 zh#d)NSe#&wM!P_`s{};Fq5(95N>L2}A;O|jZJ)}@4LQQ69 zJ>Hu+Lo9(^dw+fsmJU=ohw1ao?&tvJoKNp8ZI1vF@R`0x)dauUPT)3I;)@U0Kq)>m z7wi>*EGX@J!-~OPNC4(?-6UJx^E|idyX}DV1C_>fNRR<#Cc)sd{oya#7!Y(oN_1CX zAiAD+A&Bq4Bce1WqK%mzjuRk`5`jTq{dTe-QUD}C#(xld3CpZlL}TyF0ph>PRWRmn z1JNCg6gUAU2lUlDE{trAdJIq{kOJo$pd6ZSqd)?+CHcwbu->FP#@^^O$&iEu*7_xw z{ZnY;f~8L74?mS+>^Nkk8 zwBI1g*s7DefV}m6sJycsFyJ#=r@VpXetQ4>Bs}je>Y}B_jqmLVG$)AVo&;PpCph5I zJ|Om$fT&pvfJe}2ssSLSXc{#HE~Rt}CG*hWTx0<*wWE)a3qkLqt8bh`a4rC#d)sl$ zAnY^6$60L)P=5x$GGFQ|lyPOij2i$qcSpUT?ixzaHFw7+KfbwJ=uw7~pAUY`5GxS& zo*zF2F3>dw?w_B+u?uix%>DPk*&_e}^W^T)HetT*CP;>B@xjbCKr2791j03eDrg<* zS;teqSO)%T-K<(&Yn=?!WR$UKX4CjF%POF)2uw~#|9{fu2s4H;ki=vSCh|<{&yuC- zUqmG1BZgS%;avgb`$AwgwZG#kh%5jCs1)LP!73}3(WSnQfu+A`6-uSMK%UL#7My~j z0aN>qORrj^p98cBNZ?`%w1xj?o)NHHqEEJf%_i+Jp3g6e3`GzKHZQ@SUcd;KssxMv zCh&%|T}KPxRrI$G@_>>v${Vi)+dhT?*!?XBbzeIlBvbkHp(BCU#xe@Qb`Ne^6)brB c*ZTkQ0>Zzr8dTNh(f|Me07*qoM6N<$f*&9c(EtDd diff --git a/graphics/pokemon/starly/shiny.pal b/graphics/pokemon/starly/shiny.pal index f077f79746..c49fb7aed3 100644 --- a/graphics/pokemon/starly/shiny.pal +++ b/graphics/pokemon/starly/shiny.pal @@ -4,7 +4,7 @@ JASC-PAL 152 208 160 96 64 48 16 16 16 -136 104 80 +164 115 82 56 24 24 216 200 160 248 248 248 @@ -14,6 +14,6 @@ JASC-PAL 208 152 0 192 152 128 160 112 80 -112 96 96 +139 98 74 247 82 66 0 0 0 diff --git a/graphics/pokemon/swalot/anim_frontf.png b/graphics/pokemon/swalot/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..da17817ece8f61d09a06ee4952097be98c7d51e3 GIT binary patch literal 1108 zcmV-a1grarP)ziZq`6vw@Vg3Cy2lhSAuB?n3tG%td{R=M5u>yf8Oj=TRMXJ*W1KJ8TU{ePo^)}qF0enyf{m3r^F?7Wr zjXo-`#70~K8}aQy3_guc6<~)hpH|pGz=x1T(|Qw(K?;2duq426NXVpK!wJI_X8+3j zCkz-)olKM(e1yP4rr;s}h*Kw%iF%{k{Vcl>KtG$#&kcZsfJ|{8f%%C5PE}x*Wtr$= zCIFElQd3CaLR1jIoQS2S_&bv|`q^S$0%T+WU^c<{Spg_V`d85dj<9G!tooDbM6>J! zwNtH;J+1nSg=J+Jym&K4B&b2q=9}@B!(EJWMd?Y&w z#Sgbg2F_C^=T^~iT4KM~x2=xbqVD2rhF_Yv#Uglx^t$%=QhO~`I$zQMnn5t9kPhSf z>c1<7)S~~L;lK}8`fmgj!D#BgrYHu30Mrjw`riQdU3V+@TJ---lIQuCmHz9%`g;ld zQR%-K$kR&yb!|S}7r^d+mHzAMez+g!`85JhEWnY2z%Bxn{*N^IN8nllrT%M!c!|KS z04n|0CshHqSv&r<0#FU;q+1BQ2%u{LyaIr@Jap|-*(repwO?2Pa$nUvchKF+B@lQ+ z=*E<&{-E=?06wGqdqdi#UIPexKfiu~GfEiHlrplID)$(&Z5;I%c?dy5&>u_`hq1;u zhb=s8@#J$Z4TdJ&JWbK22(Q&&%(*ZaiUq-yG8_&Q+Psj`tJ{OM^faKGP^$Zh0Mr^V z+vGyLXA(GT`Uf-)(m+UqQOLhi!-=w`fmlq9{=p%$rGc2p78?G6k!WQg&J6wm0bwA7 zY)_5;0sk!x1hM#sm4WzS{R69n-{K#zNbj=EKRB0!vsV9rJ7lZ8%|CE4yH@|e`RJ$A a>i+?=U?JBhT^9iW0000rfKX6SFfcG^XlOuSn3*?r-T&|50005e zNklq?`_NL6tIK{fVN#II|WdE4h}G|0!jeeN7E@a z?oclUI)99P2dx{7GeGB!_X;TO@s3r)tVgFh?SNaCmlFEpK)p%twv2^a^D95vPX{4- UZqPjh?*IS*07*qoM6N<$g5W&z$N&HU literal 0 HcmV?d00001 diff --git a/graphics/pokemon/toxicroak/anim_frontf.png b/graphics/pokemon/toxicroak/anim_frontf.png new file mode 100644 index 0000000000000000000000000000000000000000..40f86c45eccaaa26909bf5906cae5304e72b3172 GIT binary patch literal 1266 zcmVOP*|8aIIyt5`1trZI8gYQpm=zQwaG~S000Di zNklzl+>P6vx*CY7Pt;DQZFtnh`2?;V{y(3a8!u16ERA5+?x{#(zQ}b(*A& zj0>sDx>`YsT)PJ$7+1T^U4Q>VinKOd-poka)vmN^6YvzbC-l*q_iN^TCzJordhp2z zz`_xN!3e=%gm~bL5k3$hMu4+~2F?+DZU}G4$@zj_$1fln06tw15PzLP7%T^XIlN4N zNdSbq?9CGy_~xgdF@uP^1BpcZ@drc)B=0d{WiDcZ2rkAbdm@=47Qa#$PXRGo^hC0H z{Y*}aS5IG&i6;w?r&~<(>nmC0KE$|K%zM)1Ute#xlJczpfK!0+?T)Kl$M}Sj-s8nx z$g4^fgHi!~CML6@C`#G`Q&rgb6j&2bKumBbKru_)p8K|h$VG5-E7#Ew2c ze&-Zr8n+;PzT3Ss)$|W*${hVb7~VI4(*Y{=U?~Uxy#Ggag>8jj{2ng%NqR%|RY3H9 zb7cTN%Wv8vG%b8^Cy4_gm+v>U6Sot0nu``#mp(ltD$iU>L7WDx=8RoXqfm`CKu5x& zADac!ob7=XPgR<^tB(xT{C2`VD?Hiu!llk*z*9@*i{0GWlUuuNqr50Dg)+v3o#^y3 z!7p7|?Grg$vHJK3lmCaDLY%GkwKSVaY6h&U&)p^Ko?#0m-4AtrSY6%2mDt7WuU?q0 zm=KF6z_ao}o&jIwcdRL-=90P{*MXO;Ta+l{d z%zy&fYZ!=xdq%^M03l*|M#Er2qp0WHH5w+Pn}w`I-k^pdiIUK6(XfVz@ykAivDYv_ zz+CB!<$#8vJr-c3NWX@m>1OJ7R2TO7cK1j9CCyG-N(j3*<=ytL`b$K8KlzB=;?wA^ z)E1;4)NrTK>qIB=K+6a2>T8-Ei6tXZw0_`bb3g7lG1GvSD2|!?f!V5w;@iDMse!H& z!qyU{wvaXj^bX|1Oc}_LW+Rwc!8*g6f>#p7qgmuo;nNzhn~G$VHm33;RkE{23s4I; z`l8-WqDrMXL77tl-vioV3Ah7DKtCq-`jXr2sfi5de%S3Y12DS~x3!nEHyWTf@$(NF zP}5HqP4}{O88*Oo_xFAcu%d~Q6?sffTAYN#A(fo6)A40p;4{5J{NW4}*$X@**NA!dI cs2_&bzZyP*Hh!co=Kufz07*qoM6N<$g8I8*7XSbN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/toxicroak/backf.png b/graphics/pokemon/toxicroak/backf.png new file mode 100644 index 0000000000000000000000000000000000000000..dde6b0be22486ed80849b3a90675dc77cd8d2f98 GIT binary patch literal 622 zcmV-!0+IcRP)eXsD<_c%Y!r`1trZI8gYo;9zK&x2b|U0005` zNkl5d{2)>`sXPl;0uF`DPk8Ja9E80m``nR%BY=Ol%^IE34lEWcI32z6FHL8}t>B_yD=( z;Ewlq99T39)Lpf{&hgR(AY=UHdWpYX;5$6{K*%?%lhF&<(&mc?e3A*W0EX@7%mczo z7HDO4__obDClev9HWt9p;IBUbEU-A}B(2Q+t_EnpR^wDV0B$MBYr{lq0ILiplQ55r)A Date: Wed, 19 Jul 2023 13:25:20 +0200 Subject: [PATCH 073/256] Adds some gen9 moves (#3147) * Adds some gen9 moves * Fix Test + Tabs * Collision Course boost changed to 1.3333 --- data/battle_scripts_1.s | 286 +++++------------------- include/constants/battle_move_effects.h | 5 +- src/battle_ai_main.c | 4 +- src/battle_ai_util.c | 1 + src/battle_util.c | 4 + src/data/battle_moves.h | 10 +- test/move_effect_collision_course.c | 47 ++++ test/move_effect_make_it_rain.c | 34 +++ test/move_effect_spin_out.c | 21 ++ 9 files changed, 169 insertions(+), 243 deletions(-) create mode 100644 test/move_effect_collision_course.c create mode 100644 test/move_effect_make_it_rain.c create mode 100644 test/move_effect_spin_out.c diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 2b747c3294..3c0950dc34 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -432,6 +432,22 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectInfernalParade @ EFFECT_INFERNAL_PARADE .4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART .4byte BattleScript_EffectAxeKick @ EFFECT_AXE_KICK + .4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE + .4byte BattleScript_EffectSpinOut @ EFFECT_SPIN_OUT + .4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN + +BattleScript_EffectMakeItRain: + setmoveeffect MOVE_EFFECT_PAYDAY + call BattleScript_EffectHit_Ret + seteffectwithchance + tryfaintmon BS_TARGET + setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + seteffectprimary + goto BattleScript_MoveEnd + +BattleScript_EffectSpinOut:: + setmoveeffect MOVE_EFFECT_SPD_MINUS_2 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit BattleScript_EffectAxeKick:: setmoveeffect MOVE_EFFECT_CONFUSION @@ -1121,24 +1137,7 @@ BattleScript_HyperspaceFuryRemoveProtect:: return BattleScript_EffectPlasmaFists: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret seteffectwithchance tryfaintmon BS_TARGET applyplasmafists @@ -1147,24 +1146,7 @@ BattleScript_EffectPlasmaFists: goto BattleScript_MoveEnd BattleScript_EffectSparklySwirl: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret tryfaintmon BS_TARGET healpartystatus waitstate @@ -1173,24 +1155,7 @@ BattleScript_EffectSparklySwirl: goto BattleScript_MoveEnd BattleScript_EffectFreezyFrost: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret tryfaintmon BS_TARGET normalisebuffs printstring STRINGID_STATCHANGESGONE @@ -1199,24 +1164,7 @@ BattleScript_EffectFreezyFrost: BattleScript_EffectSappySeed: jumpifstatus3 BS_TARGET, STATUS3_LEECHSEED, BattleScript_EffectHit - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret tryfaintmon BS_TARGET jumpifhasnohp BS_TARGET, BattleScript_MoveEnd setseeded @@ -1226,24 +1174,7 @@ BattleScript_EffectSappySeed: BattleScript_EffectBaddyBad: jumpifsideaffecting BS_ATTACKER, SIDE_STATUS_REFLECT, BattleScript_EffectHit - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret tryfaintmon BS_TARGET setreflect printfromtable gReflectLightScreenSafeguardStringIds @@ -1252,24 +1183,7 @@ BattleScript_EffectBaddyBad: BattleScript_EffectGlitzyGlow: jumpifsideaffecting BS_ATTACKER, SIDE_STATUS_LIGHTSCREEN, BattleScript_EffectHit - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret tryfaintmon BS_TARGET setlightscreen printfromtable gReflectLightScreenSafeguardStringIds @@ -1430,24 +1344,7 @@ BattleScript_NoMoveEffect: BattleScript_EffectRelicSong: setmoveeffect MOVE_EFFECT_RELIC_SONG | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret seteffectwithchance argumentstatuseffect tryfaintmon BS_TARGET @@ -2214,24 +2111,7 @@ BattleScript_EffectFinalGambit: goto BattleScript_MoveEnd BattleScript_EffectHitSwitchTarget: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret tryfaintmon BS_TARGET moveendall jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut @@ -3191,24 +3071,7 @@ BattleScript_EffectThroatChop: goto BattleScript_EffectHit BattleScript_EffectHitEscape: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret jumpifmovehadnoeffect BattleScript_MoveEnd jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd seteffectwithchance @@ -3280,6 +3143,27 @@ BattleScript_MoveEnd:: moveendall end +BattleScript_EffectHit_Ret:: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + critcalc + damagecalc + adjustdamage + attackanimation + waitanimation + effectivenesssound + hitanimation BS_TARGET + waitstate + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + critmessage + waitmessage B_WAIT_TIME_LONG + resultmessage + waitmessage B_WAIT_TIME_LONG + return + BattleScript_EffectNaturalGift: attackcanceler attackstring @@ -3471,24 +3355,7 @@ BattleScript_EffectPoisonHit: goto BattleScript_EffectHit BattleScript_EffectAbsorb:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret jumpifstatus3 BS_ATTACKER, STATUS3_HEAL_BLOCK, BattleScript_AbsorbHealBlock setdrainedhp manipulatedamage DMG_BIG_ROOT @@ -3917,24 +3784,7 @@ BattleScript_EffectFlinchHit:: BattleScript_EffectFlinchStatus: setmoveeffect MOVE_EFFECT_FLINCH - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret seteffectwithchance argumentstatuseffect tryfaintmon BS_TARGET @@ -5167,24 +5017,7 @@ BattleScript_EffectBatonPass:: BattleScript_EffectRapidSpin:: .if B_SPEED_BUFFING_RAPID_SPIN == GEN_8 - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN seteffectwithchance @@ -9023,7 +8856,7 @@ BattleScript_BadDreams_ShowPopUp: goto BattleScript_BadDreams_DmgAfterPopUp BattleScript_BadDreams_HidePopUp: destroyabilitypopup - tryfaintmon BS_TARGET + tryfaintmon BS_TARGET goto BattleScript_BadDreamsIncrement BattleScript_TookAttack:: @@ -10301,24 +10134,7 @@ BattleScript_ExtremeEvoboostEnd:: goto BattleScript_MoveEnd BattleScript_EffectHitSetRemoveTerrain: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - attackstring - ppreduce - critcalc - damagecalc - adjustdamage - attackanimation - waitanimation - effectivenesssound - hitanimation BS_TARGET - waitstate - healthbarupdate BS_TARGET - datahpupdate BS_TARGET - critmessage - waitmessage B_WAIT_TIME_LONG - resultmessage - waitmessage B_WAIT_TIME_LONG + call BattleScript_EffectHit_Ret setterrain BattleScript_TryFaint playanimation BS_ATTACKER, B_ANIM_RESTORE_BG printfromtable gTerrainStringIds diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index c10f6d942a..bb38d86599 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -409,7 +409,10 @@ #define EFFECT_INFERNAL_PARADE 403 #define EFFECT_TAKE_HEART 404 #define EFFECT_AXE_KICK 405 +#define EFFECT_COLLISION_COURSE 406 +#define EFFECT_SPIN_OUT 407 +#define EFFECT_MAKE_IT_RAIN 408 -#define NUM_BATTLE_MOVE_EFFECTS 406 +#define NUM_BATTLE_MOVE_EFFECTS 409 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 290b713b6c..9243bacb9c 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -4389,8 +4389,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; case EFFECT_SUPERPOWER: case EFFECT_OVERHEAT: + case EFFECT_MAKE_IT_RAIN: if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) - score += 10; + score += 3; break; case EFFECT_MAGIC_COAT: if (IS_MOVE_STATUS(predictedMove) && AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_BOTH)) @@ -5197,7 +5198,6 @@ static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_ROOST: case EFFECT_MEMENTO: case EFFECT_GRUDGE: - case EFFECT_OVERHEAT: score -= 2; break; default: diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 3e8c5ae87b..c18209314b 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -378,6 +378,7 @@ static const u16 sIgnoredPowerfulMoveEffects[] = EFFECT_ERUPTION, EFFECT_OVERHEAT, EFFECT_MIND_BLOWN, + EFFECT_MAKE_IT_RAIN, IGNORED_MOVES_END }; diff --git a/src/battle_util.c b/src/battle_util.c index 0f1613cb9c..e7687b6aa5 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9484,6 +9484,10 @@ static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 move finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.5)); } + // Collision Course, Electro Drift + if (gBattleMoves[move].effect == EFFECT_COLLISION_COURSE && typeEffectivenessModifier >= UQ_4_12(2.0)) + finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.3333)); + // reflect, light screen, aurora veil if (((gSideStatuses[defSide] & SIDE_STATUS_REFLECT && IS_MOVE_PHYSICAL(move)) || (gSideStatuses[defSide] & SIDE_STATUS_LIGHTSCREEN && IS_MOVE_SPECIAL(move)) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 00082d6ec4..bb1db2f7de 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13137,7 +13137,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SPIN_OUT] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SPIN_OUT + .effect = EFFECT_SPIN_OUT, .power = 100, .type = TYPE_STEEL, .accuracy = 100, @@ -13371,12 +13371,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MAKE_IT_RAIN] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_MAKE_IT_RAIN + .effect = EFFECT_MAKE_IT_RAIN, .power = 120, .type = TYPE_STEEL, .accuracy = 100, .pp = 5, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, .split = SPLIT_SPECIAL, @@ -13401,7 +13401,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_COLLISION_COURSE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_COLLISION_COURSE + .effect = EFFECT_COLLISION_COURSE, .power = 100, .type = TYPE_FIGHTING, .accuracy = 100, @@ -13417,7 +13417,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ELECTRO_DRIFT] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_COLLISION_COURSE + .effect = EFFECT_COLLISION_COURSE, .power = 100, .type = TYPE_ELECTRIC, .accuracy = 100, diff --git a/test/move_effect_collision_course.c b/test/move_effect_collision_course.c new file mode 100644 index 0000000000..bcf3cdd724 --- /dev/null +++ b/test/move_effect_collision_course.c @@ -0,0 +1,47 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_COLLISION_COURSE].effect == EFFECT_COLLISION_COURSE); +} + +SINGLE_BATTLE_TEST("Collision Course damage is increased by 33 Percent if super effective", s16 damage) +{ + u32 move; + + PARAMETRIZE { move = MOVE_HAMMER_ARM; } + PARAMETRIZE { move = MOVE_COLLISION_COURSE; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_KANGASKHAN); + } WHEN { + TURN { MOVE(player, move); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, move, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.3333), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Collision Course does normal damage if not super effective", s16 damage) +{ + u32 move; + + PARAMETRIZE { move = MOVE_HAMMER_ARM; } + PARAMETRIZE { move = MOVE_COLLISION_COURSE; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, move); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, move, player); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_EQ(results[0].damage, results[1].damage); + } +} diff --git a/test/move_effect_make_it_rain.c b/test/move_effect_make_it_rain.c new file mode 100644 index 0000000000..ae8149b198 --- /dev/null +++ b/test/move_effect_make_it_rain.c @@ -0,0 +1,34 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_MAKE_IT_RAIN].effect == EFFECT_MAKE_IT_RAIN); +} + +SINGLE_BATTLE_TEST("Make It Rain lowers special attack by one stage") +{ + s16 damage[2]; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_MAKE_IT_RAIN); } + TURN { MOVE(player, MOVE_MAKE_IT_RAIN); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAKE_IT_RAIN, player); + HP_BAR(opponent, captureDamage: &damage[0]); + MESSAGE("Coins scattered everywhere!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Sp. Atk fell!"); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAKE_IT_RAIN, player); + HP_BAR(opponent, captureDamage: &damage[1]); + MESSAGE("Coins scattered everywhere!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Sp. Atk fell!"); + } THEN { + EXPECT_MUL_EQ(damage[0], Q_4_12(0.66), damage[1]); + } +} diff --git a/test/move_effect_spin_out.c b/test/move_effect_spin_out.c new file mode 100644 index 0000000000..060f3545ec --- /dev/null +++ b/test/move_effect_spin_out.c @@ -0,0 +1,21 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_SPIN_OUT].effect == EFFECT_SPIN_OUT); +} + +SINGLE_BATTLE_TEST("Spin Out lowers speed by 2 stages") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SPIN_OUT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SPIN_OUT, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Speed harshly fell!"); + } +} From 2860ac9c809be439acdb5b7bb5168bc85277b2f5 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 19 Jul 2023 13:29:36 -0300 Subject: [PATCH 074/256] Added a debug feature to hatch eggs --- data/scripts/debug.inc | 31 +++++++++++++++++++++++++++++++ src/debug.c | 10 ++++++++++ 2 files changed, 41 insertions(+) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index d7f486907d..64b7e1dd01 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -112,4 +112,35 @@ Debug_SaveBlock2Size:: Debug_PokemonStorageSize:: .string "{PKMN}Storage size: {STR_VAR_1}/{STR_VAR_2}.$" +Debug_HatchAnEgg:: + lockall + getpartysize + goto_if_eq VAR_RESULT, 0, Debug_HatchAnEgg_NoPokemon + special ChoosePartyMon + waitstate + goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_HatchAnEgg_End + specialvar VAR_RESULT, ScriptGetPartyMonSpecies + goto_if_ne VAR_RESULT, SPECIES_EGG, DebugScript_HatchAnEgg_CantForceHatch + special EggHatch + waitstate +Debug_HatchAnEgg_End:: + releaseall + end + +Debug_HatchAnEgg_NoPokemon:: + msgbox DebugScript_HatchAnEgg_Text_EmptyParty, MSGBOX_DEFAULT + releaseall + end + +DebugScript_HatchAnEgg_CantForceHatch:: + msgbox DebugScript_HatchAnEgg_Text_NotAnEgg, MSGBOX_DEFAULT + releaseall + end + +DebugScript_HatchAnEgg_Text_EmptyParty:: + .string "You have no Pokémon nor Eggs.$" + +DebugScript_HatchAnEgg_Text_NotAnEgg:: + .string "That's not a Pokémon Egg.$" + .endif diff --git a/src/debug.c b/src/debug.c index ffacba9daf..141fbf49a8 100644 --- a/src/debug.c +++ b/src/debug.c @@ -91,6 +91,7 @@ enum { // Util DEBUG_UTIL_MENU_ITEM_TRAINER_ID, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES, DEBUG_UTIL_MENU_ITEM_CHEAT, + DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG, }; enum { // Scripts DEBUG_UTIL_MENU_ITEM_SCRIPT_1, @@ -312,6 +313,7 @@ static void DebugAction_Util_Trainer_Gender(u8 taskId); static void DebugAction_Util_Trainer_Id(u8 taskId); static void DebugAction_Util_Clear_Boxes(u8 taskId); static void DebugAction_Util_CheatStart(u8 taskId); +static void DebugAction_Util_HatchAnEgg(u8 taskId); static void DebugAction_FlagsVars_Flags(u8 taskId); static void DebugAction_FlagsVars_FlagsSelect(u8 taskId); @@ -381,6 +383,7 @@ extern u8 Debug_Script_8[]; extern u8 Debug_ShowFieldMessageStringVar4[]; extern u8 Debug_CheatStart[]; +extern u8 Debug_HatchAnEgg[]; extern u8 PlayersHouse_2F_EventScript_SetWallClock[]; extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; extern u8 Debug_CheckSaveBlock[]; @@ -436,6 +439,7 @@ static const u8 sDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender" static const u8 sDebugText_Util_Trainer_Id[] = _("New Trainer Id"); static const u8 sDebugText_Util_Clear_Boxes[] = _("Clear Storage Boxes"); static const u8 sDebugText_Util_CheatStart[] = _("CHEAT Start"); +static const u8 sDebugText_Util_HatchAnEgg[] = _("Hatch an Egg"); // Flags/Vars Menu static const u8 sDebugText_FlagsVars_Flags[] = _("Set Flag XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_FlagsVars_Flag[] = _("Flag: {STR_VAR_1}{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}\n{STR_VAR_3}"); @@ -597,6 +601,7 @@ static const struct ListMenuItem sDebugMenu_Items_Utilities[] = [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {sDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = {sDebugText_Util_Clear_Boxes, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES}, [DEBUG_UTIL_MENU_ITEM_CHEAT] = {sDebugText_Util_CheatStart, DEBUG_UTIL_MENU_ITEM_CHEAT}, + [DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG] = {sDebugText_Util_HatchAnEgg, DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG}, }; static const struct ListMenuItem sDebugMenu_Items_Scripts[] = { @@ -729,6 +734,7 @@ static void (*const sDebugMenu_Actions_Utilities[])(u8) = [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = DebugAction_Util_Trainer_Id, [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = DebugAction_Util_Clear_Boxes, [DEBUG_UTIL_MENU_ITEM_CHEAT] = DebugAction_Util_CheatStart, + [DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG] = DebugAction_Util_HatchAnEgg, }; static void (*const sDebugMenu_Actions_Scripts[])(u8) = { @@ -1976,6 +1982,10 @@ static void DebugAction_Util_CheatStart(u8 taskId) { Debug_DestroyMenu_Full_Script(taskId, Debug_CheatStart); } +static void DebugAction_Util_HatchAnEgg(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, Debug_HatchAnEgg); +} // ******************************* // Actions Scripts From 6d7d7f109ec9ea8637d8750d514b34fdf4136c73 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Wed, 19 Jul 2023 23:38:09 +0200 Subject: [PATCH 075/256] Fix debug menu memory overflow (#3154) --- src/debug.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/debug.c b/src/debug.c index ffacba9daf..58f1364920 100644 --- a/src/debug.c +++ b/src/debug.c @@ -211,6 +211,8 @@ enum { //Sound #define DEBUG_NUMBER_ICON_X 210 #define DEBUG_NUMBER_ICON_Y 50 +#define DEBUG_MAX_MENU_ITEMS 50 + // ******************************* struct DebugMonData { @@ -234,7 +236,7 @@ struct DebugMonData struct DebugMenuListData { struct ListMenuItem listItems[20 + 1]; - u8 itemNames[PC_ITEMS_COUNT + 1][26]; + u8 itemNames[DEBUG_MAX_MENU_ITEMS + 1][26]; u8 listId; }; @@ -1132,6 +1134,8 @@ static void Debug_RefreshListMenu(u8 taskId) totalItems = 7; } + // Failsafe to prevent memory corruption + totalItems = min(totalItems, DEBUG_MAX_MENU_ITEMS); // Copy item names for all entries but the last (which is Cancel) for(i = 0; i < totalItems; i++) { From cd5f997ee30b001c58be5b8e098769d60b88f313 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 21 Jul 2023 07:06:05 -0300 Subject: [PATCH 076/256] Added a debug feature to hatch eggs (#3155) --- data/scripts/debug.inc | 31 +++++++++++++++++++++++++++++++ src/debug.c | 10 ++++++++++ 2 files changed, 41 insertions(+) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index d7f486907d..64b7e1dd01 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -112,4 +112,35 @@ Debug_SaveBlock2Size:: Debug_PokemonStorageSize:: .string "{PKMN}Storage size: {STR_VAR_1}/{STR_VAR_2}.$" +Debug_HatchAnEgg:: + lockall + getpartysize + goto_if_eq VAR_RESULT, 0, Debug_HatchAnEgg_NoPokemon + special ChoosePartyMon + waitstate + goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_HatchAnEgg_End + specialvar VAR_RESULT, ScriptGetPartyMonSpecies + goto_if_ne VAR_RESULT, SPECIES_EGG, DebugScript_HatchAnEgg_CantForceHatch + special EggHatch + waitstate +Debug_HatchAnEgg_End:: + releaseall + end + +Debug_HatchAnEgg_NoPokemon:: + msgbox DebugScript_HatchAnEgg_Text_EmptyParty, MSGBOX_DEFAULT + releaseall + end + +DebugScript_HatchAnEgg_CantForceHatch:: + msgbox DebugScript_HatchAnEgg_Text_NotAnEgg, MSGBOX_DEFAULT + releaseall + end + +DebugScript_HatchAnEgg_Text_EmptyParty:: + .string "You have no Pokémon nor Eggs.$" + +DebugScript_HatchAnEgg_Text_NotAnEgg:: + .string "That's not a Pokémon Egg.$" + .endif diff --git a/src/debug.c b/src/debug.c index 58f1364920..a46122baba 100644 --- a/src/debug.c +++ b/src/debug.c @@ -91,6 +91,7 @@ enum { // Util DEBUG_UTIL_MENU_ITEM_TRAINER_ID, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES, DEBUG_UTIL_MENU_ITEM_CHEAT, + DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG, }; enum { // Scripts DEBUG_UTIL_MENU_ITEM_SCRIPT_1, @@ -314,6 +315,7 @@ static void DebugAction_Util_Trainer_Gender(u8 taskId); static void DebugAction_Util_Trainer_Id(u8 taskId); static void DebugAction_Util_Clear_Boxes(u8 taskId); static void DebugAction_Util_CheatStart(u8 taskId); +static void DebugAction_Util_HatchAnEgg(u8 taskId); static void DebugAction_FlagsVars_Flags(u8 taskId); static void DebugAction_FlagsVars_FlagsSelect(u8 taskId); @@ -383,6 +385,7 @@ extern u8 Debug_Script_8[]; extern u8 Debug_ShowFieldMessageStringVar4[]; extern u8 Debug_CheatStart[]; +extern u8 Debug_HatchAnEgg[]; extern u8 PlayersHouse_2F_EventScript_SetWallClock[]; extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; extern u8 Debug_CheckSaveBlock[]; @@ -438,6 +441,7 @@ static const u8 sDebugText_Util_Trainer_Gender[] = _("Toggle T. Gender" static const u8 sDebugText_Util_Trainer_Id[] = _("New Trainer Id"); static const u8 sDebugText_Util_Clear_Boxes[] = _("Clear Storage Boxes"); static const u8 sDebugText_Util_CheatStart[] = _("CHEAT Start"); +static const u8 sDebugText_Util_HatchAnEgg[] = _("Hatch an Egg"); // Flags/Vars Menu static const u8 sDebugText_FlagsVars_Flags[] = _("Set Flag XYZ…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_FlagsVars_Flag[] = _("Flag: {STR_VAR_1}{CLEAR_TO 90}\n{STR_VAR_2}{CLEAR_TO 90}\n{STR_VAR_3}"); @@ -599,6 +603,7 @@ static const struct ListMenuItem sDebugMenu_Items_Utilities[] = [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = {sDebugText_Util_Trainer_Id, DEBUG_UTIL_MENU_ITEM_TRAINER_ID}, [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = {sDebugText_Util_Clear_Boxes, DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES}, [DEBUG_UTIL_MENU_ITEM_CHEAT] = {sDebugText_Util_CheatStart, DEBUG_UTIL_MENU_ITEM_CHEAT}, + [DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG] = {sDebugText_Util_HatchAnEgg, DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG}, }; static const struct ListMenuItem sDebugMenu_Items_Scripts[] = { @@ -731,6 +736,7 @@ static void (*const sDebugMenu_Actions_Utilities[])(u8) = [DEBUG_UTIL_MENU_ITEM_TRAINER_ID] = DebugAction_Util_Trainer_Id, [DEBUG_UTIL_MENU_ITEM_CLEAR_BOXES] = DebugAction_Util_Clear_Boxes, [DEBUG_UTIL_MENU_ITEM_CHEAT] = DebugAction_Util_CheatStart, + [DEBUG_UTIL_MENU_ITEM_HATCH_AN_EGG] = DebugAction_Util_HatchAnEgg, }; static void (*const sDebugMenu_Actions_Scripts[])(u8) = { @@ -1980,6 +1986,10 @@ static void DebugAction_Util_CheatStart(u8 taskId) { Debug_DestroyMenu_Full_Script(taskId, Debug_CheatStart); } +static void DebugAction_Util_HatchAnEgg(u8 taskId) +{ + Debug_DestroyMenu_Full_Script(taskId, Debug_HatchAnEgg); +} // ******************************* // Actions Scripts From fc8ee625b68d061027384e74b95d5f5fd9a1e2f0 Mon Sep 17 00:00:00 2001 From: gruxor Date: Fri, 21 Jul 2023 15:51:03 -0400 Subject: [PATCH 077/256] Fixed outstanding UB with -fanalyzer on modern --- Makefile | 2 +- include/overworld.h | 2 +- src/battle_gfx_sfx_util.c | 7 +- src/fieldmap.c | 29 +- src/overworld.c | 13 +- src/pokemon.c | 1112 +++++++++++++++++++------------------ 6 files changed, 594 insertions(+), 571 deletions(-) diff --git a/Makefile b/Makefile index c4964e42eb..f107a09d44 100644 --- a/Makefile +++ b/Makefile @@ -118,7 +118,7 @@ LIBPATH := -L ../../tools/agbcc/lib LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall else CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet -override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast +override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 -fanalyzer ROM := $(MODERN_ROM_NAME) OBJ_DIR := $(MODERN_OBJ_DIR_NAME) LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" diff --git a/include/overworld.h b/include/overworld.h index adaa6aad04..bda2046ec7 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -67,7 +67,7 @@ void LoadObjEventTemplatesFromHeader(void); void LoadSaveblockObjEventScripts(void); void SetObjEventTemplateCoords(u8 localId, s16 x, s16 y); void SetObjEventTemplateMovementType(u8 localId, u8 movementType); -const struct MapLayout *GetMapLayout(void); +const struct MapLayout *GetMapLayout(u16 mapLayoutId); void ApplyCurrentWarp(void); struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); struct MapHeader const *const GetDestinationWarpMapHeader(void); diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index bf3422c135..24011d6709 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -1210,8 +1210,11 @@ void AllocateMonSpritesGfx(void) for (j = 0; j < 4; j++) { - gMonSpritesGfxPtr->frameImages[i][j].data = gMonSpritesGfxPtr->sprites.ptr[i] + (j * MON_PIC_SIZE); - gMonSpritesGfxPtr->frameImages[i][j].size = MON_PIC_SIZE; + if (gMonSpritesGfxPtr->sprites.ptr[i] + (j * MON_PIC_SIZE)) + { + gMonSpritesGfxPtr->frameImages[i][j].data = gMonSpritesGfxPtr->sprites.ptr[i] + (j * MON_PIC_SIZE); + gMonSpritesGfxPtr->frameImages[i][j].size = MON_PIC_SIZE; + } } gMonSpritesGfxPtr->templates[i].images = gMonSpritesGfxPtr->frameImages[i]; diff --git a/src/fieldmap.c b/src/fieldmap.c index bdacf7ab25..225b1ce69e 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -621,8 +621,8 @@ bool32 CanCameraMoveInDirection(int direction) static void SetPositionFromConnection(const struct MapConnection *connection, int direction, int x, int y) { - struct MapHeader const *mapHeader; - mapHeader = GetMapHeaderFromConnection(connection); + struct MapHeader const *mapHeader = GetMapHeaderFromConnection(connection); + switch (direction) { case CONNECTION_EAST: @@ -641,6 +641,9 @@ static void SetPositionFromConnection(const struct MapConnection *connection, in gSaveBlock1Ptr->pos.x -= connection->offset; gSaveBlock1Ptr->pos.y = mapHeader->mapLayout->height; break; + default: + DebugPrintfLevel(MGBA_LOG_WARN, "SetPositionFromConnection was passed an invalid direction (%d)!", direction); + break; } } @@ -663,14 +666,20 @@ bool8 CameraMove(int x, int y) old_x = gSaveBlock1Ptr->pos.x; old_y = gSaveBlock1Ptr->pos.y; connection = GetIncomingConnection(direction, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y); - SetPositionFromConnection(connection, direction, x, y); - LoadMapFromCameraTransition(connection->mapGroup, connection->mapNum); - gCamera.active = TRUE; - gCamera.x = old_x - gSaveBlock1Ptr->pos.x; - gCamera.y = old_y - gSaveBlock1Ptr->pos.y; - gSaveBlock1Ptr->pos.x += x; - gSaveBlock1Ptr->pos.y += y; - MoveMapViewToBackup(direction); + if (connection) + { + SetPositionFromConnection(connection, direction, x, y); + LoadMapFromCameraTransition(connection->mapGroup, connection->mapNum); + gCamera.active = TRUE; + gCamera.x = old_x - gSaveBlock1Ptr->pos.x; + gCamera.y = old_y - gSaveBlock1Ptr->pos.y; + gSaveBlock1Ptr->pos.x += x; + gSaveBlock1Ptr->pos.y += y; + MoveMapViewToBackup(direction); + } + else + DebugPrintfLevel(MGBA_LOG_WARN, "GetIncomingConnection returned an invalid connection inside CameraMove!"); + } return gCamera.active; } diff --git a/src/overworld.c b/src/overworld.c index bb1b98611b..0152a48579 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -556,12 +556,9 @@ static void InitMapView(void) InitTilesetAnimations(); } -const struct MapLayout *GetMapLayout(void) +const struct MapLayout *GetMapLayout(u16 mapLayoutId) { - u16 mapLayoutId = gSaveBlock1Ptr->mapLayoutId; - if (mapLayoutId) - return gMapLayouts[mapLayoutId - 1]; - return NULL; + return gMapLayouts[mapLayoutId - 1]; } void ApplyCurrentWarp(void) @@ -618,13 +615,13 @@ static void LoadCurrentMapData(void) sLastMapSectionId = gMapHeader.regionMapSectionId; gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); gSaveBlock1Ptr->mapLayoutId = gMapHeader.mapLayoutId; - gMapHeader.mapLayout = GetMapLayout(); + gMapHeader.mapLayout = GetMapLayout(gMapHeader.mapLayoutId); } static void LoadSaveblockMapHeader(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); - gMapHeader.mapLayout = GetMapLayout(); + gMapHeader.mapLayout = GetMapLayout(gMapHeader.mapLayoutId); } static void SetPlayerCoordsFromWarp(void) @@ -1020,7 +1017,7 @@ u8 GetFlashLevel(void) void SetCurrentMapLayout(u16 mapLayoutId) { gSaveBlock1Ptr->mapLayoutId = mapLayoutId; - gMapHeader.mapLayout = GetMapLayout(); + gMapHeader.mapLayout = GetMapLayout(mapLayoutId); } void SetObjectEventLoadFlag(u8 flag) diff --git a/src/pokemon.c b/src/pokemon.c index 4347d7a0ee..929e8ee89d 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4771,329 +4771,337 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) boxMon->isEgg = TRUE; substruct3->isEgg = TRUE; } - } - switch (field) - { - case MON_DATA_PERSONALITY: - retVal = boxMon->personality; - break; - case MON_DATA_OT_ID: - retVal = boxMon->otId; - break; - case MON_DATA_NICKNAME: - { - if (boxMon->isBadEgg) + switch (field) { - for (retVal = 0; - retVal < POKEMON_NAME_LENGTH && gText_BadEgg[retVal] != EOS; - data[retVal] = gText_BadEgg[retVal], retVal++) {} + case MON_DATA_SPECIES: + retVal = boxMon->isBadEgg ? SPECIES_EGG : substruct0->species; + break; + case MON_DATA_HELD_ITEM: + retVal = substruct0->heldItem; + break; + case MON_DATA_EXP: + retVal = substruct0->experience; + break; + case MON_DATA_PP_BONUSES: + retVal = substruct0->ppBonuses; + break; + case MON_DATA_FRIENDSHIP: + retVal = substruct0->friendship; + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + retVal = substruct1->moves[field - MON_DATA_MOVE1]; + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + retVal = substruct1->pp[field - MON_DATA_PP1]; + break; + case MON_DATA_HP_EV: + retVal = substruct2->hpEV; + break; + case MON_DATA_ATK_EV: + retVal = substruct2->attackEV; + break; + case MON_DATA_DEF_EV: + retVal = substruct2->defenseEV; + break; + case MON_DATA_SPEED_EV: + retVal = substruct2->speedEV; + break; + case MON_DATA_SPATK_EV: + retVal = substruct2->spAttackEV; + break; + case MON_DATA_SPDEF_EV: + retVal = substruct2->spDefenseEV; + break; + case MON_DATA_COOL: + retVal = substruct2->cool; + break; + case MON_DATA_BEAUTY: + retVal = substruct2->beauty; + break; + case MON_DATA_CUTE: + retVal = substruct2->cute; + break; + case MON_DATA_SMART: + retVal = substruct2->smart; + break; + case MON_DATA_TOUGH: + retVal = substruct2->tough; + break; + case MON_DATA_SHEEN: + retVal = substruct2->sheen; + break; + case MON_DATA_POKERUS: + retVal = substruct3->pokerus; + break; + case MON_DATA_MET_LOCATION: + retVal = substruct3->metLocation; + break; + case MON_DATA_MET_LEVEL: + retVal = substruct3->metLevel; + break; + case MON_DATA_MET_GAME: + retVal = substruct3->metGame; + break; + case MON_DATA_POKEBALL: + retVal = substruct0->pokeball; + break; + case MON_DATA_OT_GENDER: + retVal = substruct3->otGender; + break; + case MON_DATA_HP_IV: + retVal = substruct3->hpIV; + break; + case MON_DATA_ATK_IV: + retVal = substruct3->attackIV; + break; + case MON_DATA_DEF_IV: + retVal = substruct3->defenseIV; + break; + case MON_DATA_SPEED_IV: + retVal = substruct3->speedIV; + break; + case MON_DATA_SPATK_IV: + retVal = substruct3->spAttackIV; + break; + case MON_DATA_SPDEF_IV: + retVal = substruct3->spDefenseIV; + break; + case MON_DATA_IS_EGG: + retVal = substruct3->isEgg; + break; + case MON_DATA_ABILITY_NUM: + retVal = substruct3->abilityNum; + break; + case MON_DATA_COOL_RIBBON: + retVal = substruct3->coolRibbon; + break; + case MON_DATA_BEAUTY_RIBBON: + retVal = substruct3->beautyRibbon; + break; + case MON_DATA_CUTE_RIBBON: + retVal = substruct3->cuteRibbon; + break; + case MON_DATA_SMART_RIBBON: + retVal = substruct3->smartRibbon; + break; + case MON_DATA_TOUGH_RIBBON: + retVal = substruct3->toughRibbon; + break; + case MON_DATA_CHAMPION_RIBBON: + retVal = substruct3->championRibbon; + break; + case MON_DATA_WINNING_RIBBON: + retVal = substruct3->winningRibbon; + break; + case MON_DATA_VICTORY_RIBBON: + retVal = substruct3->victoryRibbon; + break; + case MON_DATA_ARTIST_RIBBON: + retVal = substruct3->artistRibbon; + break; + case MON_DATA_EFFORT_RIBBON: + retVal = substruct3->effortRibbon; + break; + case MON_DATA_MARINE_RIBBON: + retVal = substruct3->marineRibbon; + break; + case MON_DATA_LAND_RIBBON: + retVal = substruct3->landRibbon; + break; + case MON_DATA_SKY_RIBBON: + retVal = substruct3->skyRibbon; + break; + case MON_DATA_COUNTRY_RIBBON: + retVal = substruct3->countryRibbon; + break; + case MON_DATA_NATIONAL_RIBBON: + retVal = substruct3->nationalRibbon; + break; + case MON_DATA_EARTH_RIBBON: + retVal = substruct3->earthRibbon; + break; + case MON_DATA_WORLD_RIBBON: + retVal = substruct3->worldRibbon; + break; + case MON_DATA_UNUSED_RIBBONS: + retVal = substruct3->unusedRibbons; + break; + case MON_DATA_MODERN_FATEFUL_ENCOUNTER: + retVal = substruct3->modernFatefulEncounter; + break; + case MON_DATA_SPECIES_OR_EGG: + retVal = substruct0->species; + if (substruct0->species && (substruct3->isEgg || boxMon->isBadEgg)) + retVal = SPECIES_EGG; + break; + case MON_DATA_IVS: + retVal = substruct3->hpIV + | (substruct3->attackIV << 5) + | (substruct3->defenseIV << 10) + | (substruct3->speedIV << 15) + | (substruct3->spAttackIV << 20) + | (substruct3->spDefenseIV << 25); + break; + case MON_DATA_KNOWN_MOVES: + if (substruct0->species && !substruct3->isEgg) + { + u16 *moves = (u16 *)data; + s32 i = 0; - data[retVal] = EOS; - } - else if (boxMon->isEgg) - { - StringCopy(data, gText_EggNickname); - retVal = StringLength(data); - } - else if (boxMon->language == LANGUAGE_JAPANESE) - { - data[0] = EXT_CTRL_CODE_BEGIN; - data[1] = EXT_CTRL_CODE_JPN; - - for (retVal = 2, i = 0; - i < 5 && boxMon->nickname[i] != EOS; - data[retVal] = boxMon->nickname[i], retVal++, i++) {} - - data[retVal++] = EXT_CTRL_CODE_BEGIN; - data[retVal++] = EXT_CTRL_CODE_ENG; - data[retVal] = EOS; - } - else - { - for (retVal = 0; - retVal < POKEMON_NAME_LENGTH; - data[retVal] = boxMon->nickname[retVal], retVal++){} - - data[retVal] = EOS; - } - break; - } - case MON_DATA_LANGUAGE: - retVal = boxMon->language; - break; - case MON_DATA_SANITY_IS_BAD_EGG: - retVal = boxMon->isBadEgg; - break; - case MON_DATA_SANITY_HAS_SPECIES: - retVal = boxMon->hasSpecies; - break; - case MON_DATA_SANITY_IS_EGG: - retVal = boxMon->isEgg; - break; - case MON_DATA_OT_NAME: - { - retVal = 0; - - while (retVal < PLAYER_NAME_LENGTH) - { - data[retVal] = boxMon->otName[retVal]; - retVal++; - } - - data[retVal] = EOS; - break; - } - case MON_DATA_MARKINGS: - retVal = boxMon->markings; - break; - case MON_DATA_CHECKSUM: - retVal = boxMon->checksum; - break; - case MON_DATA_ENCRYPT_SEPARATOR: - retVal = boxMon->unknown; - break; - case MON_DATA_SPECIES: - retVal = boxMon->isBadEgg ? SPECIES_EGG : substruct0->species; - break; - case MON_DATA_HELD_ITEM: - retVal = substruct0->heldItem; - break; - case MON_DATA_EXP: - retVal = substruct0->experience; - break; - case MON_DATA_PP_BONUSES: - retVal = substruct0->ppBonuses; - break; - case MON_DATA_FRIENDSHIP: - retVal = substruct0->friendship; - break; - case MON_DATA_MOVE1: - case MON_DATA_MOVE2: - case MON_DATA_MOVE3: - case MON_DATA_MOVE4: - retVal = substruct1->moves[field - MON_DATA_MOVE1]; - break; - case MON_DATA_PP1: - case MON_DATA_PP2: - case MON_DATA_PP3: - case MON_DATA_PP4: - retVal = substruct1->pp[field - MON_DATA_PP1]; - break; - case MON_DATA_HP_EV: - retVal = substruct2->hpEV; - break; - case MON_DATA_ATK_EV: - retVal = substruct2->attackEV; - break; - case MON_DATA_DEF_EV: - retVal = substruct2->defenseEV; - break; - case MON_DATA_SPEED_EV: - retVal = substruct2->speedEV; - break; - case MON_DATA_SPATK_EV: - retVal = substruct2->spAttackEV; - break; - case MON_DATA_SPDEF_EV: - retVal = substruct2->spDefenseEV; - break; - case MON_DATA_COOL: - retVal = substruct2->cool; - break; - case MON_DATA_BEAUTY: - retVal = substruct2->beauty; - break; - case MON_DATA_CUTE: - retVal = substruct2->cute; - break; - case MON_DATA_SMART: - retVal = substruct2->smart; - break; - case MON_DATA_TOUGH: - retVal = substruct2->tough; - break; - case MON_DATA_SHEEN: - retVal = substruct2->sheen; - break; - case MON_DATA_POKERUS: - retVal = substruct3->pokerus; - break; - case MON_DATA_MET_LOCATION: - retVal = substruct3->metLocation; - break; - case MON_DATA_MET_LEVEL: - retVal = substruct3->metLevel; - break; - case MON_DATA_MET_GAME: - retVal = substruct3->metGame; - break; - case MON_DATA_POKEBALL: - retVal = substruct0->pokeball; - break; - case MON_DATA_OT_GENDER: - retVal = substruct3->otGender; - break; - case MON_DATA_HP_IV: - retVal = substruct3->hpIV; - break; - case MON_DATA_ATK_IV: - retVal = substruct3->attackIV; - break; - case MON_DATA_DEF_IV: - retVal = substruct3->defenseIV; - break; - case MON_DATA_SPEED_IV: - retVal = substruct3->speedIV; - break; - case MON_DATA_SPATK_IV: - retVal = substruct3->spAttackIV; - break; - case MON_DATA_SPDEF_IV: - retVal = substruct3->spDefenseIV; - break; - case MON_DATA_IS_EGG: - retVal = substruct3->isEgg; - break; - case MON_DATA_ABILITY_NUM: - retVal = substruct3->abilityNum; - break; - case MON_DATA_COOL_RIBBON: - retVal = substruct3->coolRibbon; - break; - case MON_DATA_BEAUTY_RIBBON: - retVal = substruct3->beautyRibbon; - break; - case MON_DATA_CUTE_RIBBON: - retVal = substruct3->cuteRibbon; - break; - case MON_DATA_SMART_RIBBON: - retVal = substruct3->smartRibbon; - break; - case MON_DATA_TOUGH_RIBBON: - retVal = substruct3->toughRibbon; - break; - case MON_DATA_CHAMPION_RIBBON: - retVal = substruct3->championRibbon; - break; - case MON_DATA_WINNING_RIBBON: - retVal = substruct3->winningRibbon; - break; - case MON_DATA_VICTORY_RIBBON: - retVal = substruct3->victoryRibbon; - break; - case MON_DATA_ARTIST_RIBBON: - retVal = substruct3->artistRibbon; - break; - case MON_DATA_EFFORT_RIBBON: - retVal = substruct3->effortRibbon; - break; - case MON_DATA_MARINE_RIBBON: - retVal = substruct3->marineRibbon; - break; - case MON_DATA_LAND_RIBBON: - retVal = substruct3->landRibbon; - break; - case MON_DATA_SKY_RIBBON: - retVal = substruct3->skyRibbon; - break; - case MON_DATA_COUNTRY_RIBBON: - retVal = substruct3->countryRibbon; - break; - case MON_DATA_NATIONAL_RIBBON: - retVal = substruct3->nationalRibbon; - break; - case MON_DATA_EARTH_RIBBON: - retVal = substruct3->earthRibbon; - break; - case MON_DATA_WORLD_RIBBON: - retVal = substruct3->worldRibbon; - break; - case MON_DATA_UNUSED_RIBBONS: - retVal = substruct3->unusedRibbons; - break; - case MON_DATA_MODERN_FATEFUL_ENCOUNTER: - retVal = substruct3->modernFatefulEncounter; - break; - case MON_DATA_SPECIES_OR_EGG: - retVal = substruct0->species; - if (substruct0->species && (substruct3->isEgg || boxMon->isBadEgg)) - retVal = SPECIES_EGG; - break; - case MON_DATA_IVS: - retVal = substruct3->hpIV - | (substruct3->attackIV << 5) - | (substruct3->defenseIV << 10) - | (substruct3->speedIV << 15) - | (substruct3->spAttackIV << 20) - | (substruct3->spDefenseIV << 25); - break; - case MON_DATA_KNOWN_MOVES: - if (substruct0->species && !substruct3->isEgg) - { - u16 *moves = (u16 *)data; - s32 i = 0; - - while (moves[i] != MOVES_COUNT) - { - u16 move = moves[i]; - if (substruct1->moves[0] == move - || substruct1->moves[1] == move - || substruct1->moves[2] == move - || substruct1->moves[3] == move) - retVal |= gBitTable[i]; - i++; + while (moves[i] != MOVES_COUNT) + { + u16 move = moves[i]; + if (substruct1->moves[0] == move + || substruct1->moves[1] == move + || substruct1->moves[2] == move + || substruct1->moves[3] == move) + retVal |= gBitTable[i]; + i++; + } + } + break; + case MON_DATA_RIBBON_COUNT: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal += substruct3->coolRibbon; + retVal += substruct3->beautyRibbon; + retVal += substruct3->cuteRibbon; + retVal += substruct3->smartRibbon; + retVal += substruct3->toughRibbon; + retVal += substruct3->championRibbon; + retVal += substruct3->winningRibbon; + retVal += substruct3->victoryRibbon; + retVal += substruct3->artistRibbon; + retVal += substruct3->effortRibbon; + retVal += substruct3->marineRibbon; + retVal += substruct3->landRibbon; + retVal += substruct3->skyRibbon; + retVal += substruct3->countryRibbon; + retVal += substruct3->nationalRibbon; + retVal += substruct3->earthRibbon; + retVal += substruct3->worldRibbon; + } + break; + case MON_DATA_RIBBONS: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal = substruct3->championRibbon + | (substruct3->coolRibbon << 1) + | (substruct3->beautyRibbon << 4) + | (substruct3->cuteRibbon << 7) + | (substruct3->smartRibbon << 10) + | (substruct3->toughRibbon << 13) + | (substruct3->winningRibbon << 16) + | (substruct3->victoryRibbon << 17) + | (substruct3->artistRibbon << 18) + | (substruct3->effortRibbon << 19) + | (substruct3->marineRibbon << 20) + | (substruct3->landRibbon << 21) + | (substruct3->skyRibbon << 22) + | (substruct3->countryRibbon << 23) + | (substruct3->nationalRibbon << 24) + | (substruct3->earthRibbon << 25) + | (substruct3->worldRibbon << 26); + } + break; + default: + break; } - } - break; - case MON_DATA_RIBBON_COUNT: - retVal = 0; - if (substruct0->species && !substruct3->isEgg) + } + else + { + switch (field) { - retVal += substruct3->coolRibbon; - retVal += substruct3->beautyRibbon; - retVal += substruct3->cuteRibbon; - retVal += substruct3->smartRibbon; - retVal += substruct3->toughRibbon; - retVal += substruct3->championRibbon; - retVal += substruct3->winningRibbon; - retVal += substruct3->victoryRibbon; - retVal += substruct3->artistRibbon; - retVal += substruct3->effortRibbon; - retVal += substruct3->marineRibbon; - retVal += substruct3->landRibbon; - retVal += substruct3->skyRibbon; - retVal += substruct3->countryRibbon; - retVal += substruct3->nationalRibbon; - retVal += substruct3->earthRibbon; - retVal += substruct3->worldRibbon; - } - break; - case MON_DATA_RIBBONS: - retVal = 0; - if (substruct0->species && !substruct3->isEgg) + case MON_DATA_PERSONALITY: + retVal = boxMon->personality; + break; + case MON_DATA_OT_ID: + retVal = boxMon->otId; + break; + case MON_DATA_NICKNAME: { - retVal = substruct3->championRibbon - | (substruct3->coolRibbon << 1) - | (substruct3->beautyRibbon << 4) - | (substruct3->cuteRibbon << 7) - | (substruct3->smartRibbon << 10) - | (substruct3->toughRibbon << 13) - | (substruct3->winningRibbon << 16) - | (substruct3->victoryRibbon << 17) - | (substruct3->artistRibbon << 18) - | (substruct3->effortRibbon << 19) - | (substruct3->marineRibbon << 20) - | (substruct3->landRibbon << 21) - | (substruct3->skyRibbon << 22) - | (substruct3->countryRibbon << 23) - | (substruct3->nationalRibbon << 24) - | (substruct3->earthRibbon << 25) - | (substruct3->worldRibbon << 26); + if (boxMon->isBadEgg) + { + for (retVal = 0; + retVal < POKEMON_NAME_LENGTH && gText_BadEgg[retVal] != EOS; + data[retVal] = gText_BadEgg[retVal], retVal++) {} + + data[retVal] = EOS; + } + else if (boxMon->isEgg) + { + StringCopy(data, gText_EggNickname); + retVal = StringLength(data); + } + else if (boxMon->language == LANGUAGE_JAPANESE) + { + data[0] = EXT_CTRL_CODE_BEGIN; + data[1] = EXT_CTRL_CODE_JPN; + + for (retVal = 2, i = 0; + i < 5 && boxMon->nickname[i] != EOS; + data[retVal] = boxMon->nickname[i], retVal++, i++) {} + + data[retVal++] = EXT_CTRL_CODE_BEGIN; + data[retVal++] = EXT_CTRL_CODE_ENG; + data[retVal] = EOS; + } + else + { + for (retVal = 0; + retVal < POKEMON_NAME_LENGTH; + data[retVal] = boxMon->nickname[retVal], retVal++){} + + data[retVal] = EOS; + } + break; + } + case MON_DATA_LANGUAGE: + retVal = boxMon->language; + break; + case MON_DATA_SANITY_IS_BAD_EGG: + retVal = boxMon->isBadEgg; + break; + case MON_DATA_SANITY_HAS_SPECIES: + retVal = boxMon->hasSpecies; + break; + case MON_DATA_SANITY_IS_EGG: + retVal = boxMon->isEgg; + break; + case MON_DATA_OT_NAME: + { + retVal = 0; + + while (retVal < PLAYER_NAME_LENGTH) + { + data[retVal] = boxMon->otName[retVal]; + retVal++; + } + + data[retVal] = EOS; + break; + } + case MON_DATA_MARKINGS: + retVal = boxMon->markings; + break; + case MON_DATA_CHECKSUM: + retVal = boxMon->checksum; + break; + case MON_DATA_ENCRYPT_SEPARATOR: + retVal = boxMon->unknown; + break; + default: + break; } - break; - default: - break; } if (field > MON_DATA_ENCRYPT_SEPARATOR) @@ -5176,242 +5184,248 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) EncryptBoxMon(boxMon); return; } - } - switch (field) - { - case MON_DATA_PERSONALITY: - SET32(boxMon->personality); - break; - case MON_DATA_OT_ID: - SET32(boxMon->otId); - break; - case MON_DATA_NICKNAME: - { - s32 i; - for (i = 0; i < POKEMON_NAME_LENGTH; i++) - boxMon->nickname[i] = data[i]; - break; + switch (field) + { + case MON_DATA_SPECIES: + { + SET16(substruct0->species); + if (substruct0->species) + boxMon->hasSpecies = TRUE; + else + boxMon->hasSpecies = FALSE; + break; + } + case MON_DATA_HELD_ITEM: + SET16(substruct0->heldItem); + break; + case MON_DATA_EXP: + SET32(substruct0->experience); + break; + case MON_DATA_PP_BONUSES: + SET8(substruct0->ppBonuses); + break; + case MON_DATA_FRIENDSHIP: + SET8(substruct0->friendship); + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + SET16(substruct1->moves[field - MON_DATA_MOVE1]); + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + SET8(substruct1->pp[field - MON_DATA_PP1]); + break; + case MON_DATA_HP_EV: + SET8(substruct2->hpEV); + break; + case MON_DATA_ATK_EV: + SET8(substruct2->attackEV); + break; + case MON_DATA_DEF_EV: + SET8(substruct2->defenseEV); + break; + case MON_DATA_SPEED_EV: + SET8(substruct2->speedEV); + break; + case MON_DATA_SPATK_EV: + SET8(substruct2->spAttackEV); + break; + case MON_DATA_SPDEF_EV: + SET8(substruct2->spDefenseEV); + break; + case MON_DATA_COOL: + SET8(substruct2->cool); + break; + case MON_DATA_BEAUTY: + SET8(substruct2->beauty); + break; + case MON_DATA_CUTE: + SET8(substruct2->cute); + break; + case MON_DATA_SMART: + SET8(substruct2->smart); + break; + case MON_DATA_TOUGH: + SET8(substruct2->tough); + break; + case MON_DATA_SHEEN: + SET8(substruct2->sheen); + break; + case MON_DATA_POKERUS: + SET8(substruct3->pokerus); + break; + case MON_DATA_MET_LOCATION: + SET8(substruct3->metLocation); + break; + case MON_DATA_MET_LEVEL: + { + u8 metLevel = *data; + substruct3->metLevel = metLevel; + break; + } + case MON_DATA_MET_GAME: + SET8(substruct3->metGame); + break; + case MON_DATA_POKEBALL: + { + u8 pokeball = *data; + substruct0->pokeball = pokeball; + break; + } + case MON_DATA_OT_GENDER: + SET8(substruct3->otGender); + break; + case MON_DATA_HP_IV: + SET8(substruct3->hpIV); + break; + case MON_DATA_ATK_IV: + SET8(substruct3->attackIV); + break; + case MON_DATA_DEF_IV: + SET8(substruct3->defenseIV); + break; + case MON_DATA_SPEED_IV: + SET8(substruct3->speedIV); + break; + case MON_DATA_SPATK_IV: + SET8(substruct3->spAttackIV); + break; + case MON_DATA_SPDEF_IV: + SET8(substruct3->spDefenseIV); + break; + case MON_DATA_IS_EGG: + SET8(substruct3->isEgg); + if (substruct3->isEgg) + boxMon->isEgg = TRUE; + else + boxMon->isEgg = FALSE; + break; + case MON_DATA_ABILITY_NUM: + SET8(substruct3->abilityNum); + break; + case MON_DATA_COOL_RIBBON: + SET8(substruct3->coolRibbon); + break; + case MON_DATA_BEAUTY_RIBBON: + SET8(substruct3->beautyRibbon); + break; + case MON_DATA_CUTE_RIBBON: + SET8(substruct3->cuteRibbon); + break; + case MON_DATA_SMART_RIBBON: + SET8(substruct3->smartRibbon); + break; + case MON_DATA_TOUGH_RIBBON: + SET8(substruct3->toughRibbon); + break; + case MON_DATA_CHAMPION_RIBBON: + SET8(substruct3->championRibbon); + break; + case MON_DATA_WINNING_RIBBON: + SET8(substruct3->winningRibbon); + break; + case MON_DATA_VICTORY_RIBBON: + SET8(substruct3->victoryRibbon); + break; + case MON_DATA_ARTIST_RIBBON: + SET8(substruct3->artistRibbon); + break; + case MON_DATA_EFFORT_RIBBON: + SET8(substruct3->effortRibbon); + break; + case MON_DATA_MARINE_RIBBON: + SET8(substruct3->marineRibbon); + break; + case MON_DATA_LAND_RIBBON: + SET8(substruct3->landRibbon); + break; + case MON_DATA_SKY_RIBBON: + SET8(substruct3->skyRibbon); + break; + case MON_DATA_COUNTRY_RIBBON: + SET8(substruct3->countryRibbon); + break; + case MON_DATA_NATIONAL_RIBBON: + SET8(substruct3->nationalRibbon); + break; + case MON_DATA_EARTH_RIBBON: + SET8(substruct3->earthRibbon); + break; + case MON_DATA_WORLD_RIBBON: + SET8(substruct3->worldRibbon); + break; + case MON_DATA_UNUSED_RIBBONS: + SET8(substruct3->unusedRibbons); + break; + case MON_DATA_MODERN_FATEFUL_ENCOUNTER: + SET8(substruct3->modernFatefulEncounter); + break; + case MON_DATA_IVS: + { + u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); + substruct3->hpIV = ivs & MAX_IV_MASK; + substruct3->attackIV = (ivs >> 5) & MAX_IV_MASK; + substruct3->defenseIV = (ivs >> 10) & MAX_IV_MASK; + substruct3->speedIV = (ivs >> 15) & MAX_IV_MASK; + substruct3->spAttackIV = (ivs >> 20) & MAX_IV_MASK; + substruct3->spDefenseIV = (ivs >> 25) & MAX_IV_MASK; + break; + } + default: + break; + } } - case MON_DATA_LANGUAGE: - SET8(boxMon->language); - break; - case MON_DATA_SANITY_IS_BAD_EGG: - SET8(boxMon->isBadEgg); - break; - case MON_DATA_SANITY_HAS_SPECIES: - SET8(boxMon->hasSpecies); - break; - case MON_DATA_SANITY_IS_EGG: - SET8(boxMon->isEgg); - break; - case MON_DATA_OT_NAME: + else { - s32 i; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) - boxMon->otName[i] = data[i]; - break; - } - case MON_DATA_MARKINGS: - SET8(boxMon->markings); - break; - case MON_DATA_CHECKSUM: - SET16(boxMon->checksum); - break; - case MON_DATA_ENCRYPT_SEPARATOR: - SET16(boxMon->unknown); - break; - case MON_DATA_SPECIES: - { - SET16(substruct0->species); - if (substruct0->species) - boxMon->hasSpecies = TRUE; - else - boxMon->hasSpecies = FALSE; - break; - } - case MON_DATA_HELD_ITEM: - SET16(substruct0->heldItem); - break; - case MON_DATA_EXP: - SET32(substruct0->experience); - break; - case MON_DATA_PP_BONUSES: - SET8(substruct0->ppBonuses); - break; - case MON_DATA_FRIENDSHIP: - SET8(substruct0->friendship); - break; - case MON_DATA_MOVE1: - case MON_DATA_MOVE2: - case MON_DATA_MOVE3: - case MON_DATA_MOVE4: - SET16(substruct1->moves[field - MON_DATA_MOVE1]); - break; - case MON_DATA_PP1: - case MON_DATA_PP2: - case MON_DATA_PP3: - case MON_DATA_PP4: - SET8(substruct1->pp[field - MON_DATA_PP1]); - break; - case MON_DATA_HP_EV: - SET8(substruct2->hpEV); - break; - case MON_DATA_ATK_EV: - SET8(substruct2->attackEV); - break; - case MON_DATA_DEF_EV: - SET8(substruct2->defenseEV); - break; - case MON_DATA_SPEED_EV: - SET8(substruct2->speedEV); - break; - case MON_DATA_SPATK_EV: - SET8(substruct2->spAttackEV); - break; - case MON_DATA_SPDEF_EV: - SET8(substruct2->spDefenseEV); - break; - case MON_DATA_COOL: - SET8(substruct2->cool); - break; - case MON_DATA_BEAUTY: - SET8(substruct2->beauty); - break; - case MON_DATA_CUTE: - SET8(substruct2->cute); - break; - case MON_DATA_SMART: - SET8(substruct2->smart); - break; - case MON_DATA_TOUGH: - SET8(substruct2->tough); - break; - case MON_DATA_SHEEN: - SET8(substruct2->sheen); - break; - case MON_DATA_POKERUS: - SET8(substruct3->pokerus); - break; - case MON_DATA_MET_LOCATION: - SET8(substruct3->metLocation); - break; - case MON_DATA_MET_LEVEL: - { - u8 metLevel = *data; - substruct3->metLevel = metLevel; - break; - } - case MON_DATA_MET_GAME: - SET8(substruct3->metGame); - break; - case MON_DATA_POKEBALL: - { - u8 pokeball = *data; - substruct0->pokeball = pokeball; - break; - } - case MON_DATA_OT_GENDER: - SET8(substruct3->otGender); - break; - case MON_DATA_HP_IV: - SET8(substruct3->hpIV); - break; - case MON_DATA_ATK_IV: - SET8(substruct3->attackIV); - break; - case MON_DATA_DEF_IV: - SET8(substruct3->defenseIV); - break; - case MON_DATA_SPEED_IV: - SET8(substruct3->speedIV); - break; - case MON_DATA_SPATK_IV: - SET8(substruct3->spAttackIV); - break; - case MON_DATA_SPDEF_IV: - SET8(substruct3->spDefenseIV); - break; - case MON_DATA_IS_EGG: - SET8(substruct3->isEgg); - if (substruct3->isEgg) - boxMon->isEgg = TRUE; - else - boxMon->isEgg = FALSE; - break; - case MON_DATA_ABILITY_NUM: - SET8(substruct3->abilityNum); - break; - case MON_DATA_COOL_RIBBON: - SET8(substruct3->coolRibbon); - break; - case MON_DATA_BEAUTY_RIBBON: - SET8(substruct3->beautyRibbon); - break; - case MON_DATA_CUTE_RIBBON: - SET8(substruct3->cuteRibbon); - break; - case MON_DATA_SMART_RIBBON: - SET8(substruct3->smartRibbon); - break; - case MON_DATA_TOUGH_RIBBON: - SET8(substruct3->toughRibbon); - break; - case MON_DATA_CHAMPION_RIBBON: - SET8(substruct3->championRibbon); - break; - case MON_DATA_WINNING_RIBBON: - SET8(substruct3->winningRibbon); - break; - case MON_DATA_VICTORY_RIBBON: - SET8(substruct3->victoryRibbon); - break; - case MON_DATA_ARTIST_RIBBON: - SET8(substruct3->artistRibbon); - break; - case MON_DATA_EFFORT_RIBBON: - SET8(substruct3->effortRibbon); - break; - case MON_DATA_MARINE_RIBBON: - SET8(substruct3->marineRibbon); - break; - case MON_DATA_LAND_RIBBON: - SET8(substruct3->landRibbon); - break; - case MON_DATA_SKY_RIBBON: - SET8(substruct3->skyRibbon); - break; - case MON_DATA_COUNTRY_RIBBON: - SET8(substruct3->countryRibbon); - break; - case MON_DATA_NATIONAL_RIBBON: - SET8(substruct3->nationalRibbon); - break; - case MON_DATA_EARTH_RIBBON: - SET8(substruct3->earthRibbon); - break; - case MON_DATA_WORLD_RIBBON: - SET8(substruct3->worldRibbon); - break; - case MON_DATA_UNUSED_RIBBONS: - SET8(substruct3->unusedRibbons); - break; - case MON_DATA_MODERN_FATEFUL_ENCOUNTER: - SET8(substruct3->modernFatefulEncounter); - break; - case MON_DATA_IVS: - { - u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); - substruct3->hpIV = ivs & MAX_IV_MASK; - substruct3->attackIV = (ivs >> 5) & MAX_IV_MASK; - substruct3->defenseIV = (ivs >> 10) & MAX_IV_MASK; - substruct3->speedIV = (ivs >> 15) & MAX_IV_MASK; - substruct3->spAttackIV = (ivs >> 20) & MAX_IV_MASK; - substruct3->spDefenseIV = (ivs >> 25) & MAX_IV_MASK; - break; - } - default: - break; + switch (field) + { + case MON_DATA_PERSONALITY: + SET32(boxMon->personality); + break; + case MON_DATA_OT_ID: + SET32(boxMon->otId); + break; + case MON_DATA_NICKNAME: + { + s32 i; + for (i = 0; i < POKEMON_NAME_LENGTH; i++) + boxMon->nickname[i] = data[i]; + break; + } + case MON_DATA_LANGUAGE: + SET8(boxMon->language); + break; + case MON_DATA_SANITY_IS_BAD_EGG: + SET8(boxMon->isBadEgg); + break; + case MON_DATA_SANITY_HAS_SPECIES: + SET8(boxMon->hasSpecies); + break; + case MON_DATA_SANITY_IS_EGG: + SET8(boxMon->isEgg); + break; + case MON_DATA_OT_NAME: + { + s32 i; + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + boxMon->otName[i] = data[i]; + break; + } + case MON_DATA_MARKINGS: + SET8(boxMon->markings); + break; + case MON_DATA_CHECKSUM: + SET16(boxMon->checksum); + break; + case MON_DATA_ENCRYPT_SEPARATOR: + SET16(boxMon->unknown); + break; + } } if (field > MON_DATA_ENCRYPT_SEPARATOR) From 4e75f6d4547c5dc69e8355ad5343877217ccc11b Mon Sep 17 00:00:00 2001 From: gruxor Date: Fri, 21 Jul 2023 16:22:43 -0400 Subject: [PATCH 078/256] Minor fix to null check --- src/battle_gfx_sfx_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 24011d6709..b7cf2c2389 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -1210,7 +1210,7 @@ void AllocateMonSpritesGfx(void) for (j = 0; j < 4; j++) { - if (gMonSpritesGfxPtr->sprites.ptr[i] + (j * MON_PIC_SIZE)) + if (gMonSpritesGfxPtr->sprites.ptr[i]) { gMonSpritesGfxPtr->frameImages[i][j].data = gMonSpritesGfxPtr->sprites.ptr[i] + (j * MON_PIC_SIZE); gMonSpritesGfxPtr->frameImages[i][j].size = MON_PIC_SIZE; From 215d57e8710bc6808de712ab0f07e7188a978ead Mon Sep 17 00:00:00 2001 From: gruxor <95389790+gruxor@users.noreply.github.com> Date: Sat, 22 Jul 2023 14:47:07 -0400 Subject: [PATCH 079/256] Update src/fieldmap.c Co-authored-by: LOuroboros --- src/fieldmap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fieldmap.c b/src/fieldmap.c index 225b1ce69e..2ca274fcc4 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -677,8 +677,10 @@ bool8 CameraMove(int x, int y) gSaveBlock1Ptr->pos.y += y; MoveMapViewToBackup(direction); } - else + else + { DebugPrintfLevel(MGBA_LOG_WARN, "GetIncomingConnection returned an invalid connection inside CameraMove!"); + } } return gCamera.active; From 3d25dadcd0b8c3164f65bc002e08e43a1402d971 Mon Sep 17 00:00:00 2001 From: gruxor Date: Sat, 22 Jul 2023 14:49:37 -0400 Subject: [PATCH 080/256] Fixed whitespace indent on switches --- src/pokemon.c | 940 +++++++++++++++++++++++++------------------------- 1 file changed, 470 insertions(+), 470 deletions(-) diff --git a/src/pokemon.c b/src/pokemon.c index 929e8ee89d..7fac2958cd 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4774,248 +4774,248 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data) switch (field) { - case MON_DATA_SPECIES: - retVal = boxMon->isBadEgg ? SPECIES_EGG : substruct0->species; - break; - case MON_DATA_HELD_ITEM: - retVal = substruct0->heldItem; - break; - case MON_DATA_EXP: - retVal = substruct0->experience; - break; - case MON_DATA_PP_BONUSES: - retVal = substruct0->ppBonuses; - break; - case MON_DATA_FRIENDSHIP: - retVal = substruct0->friendship; - break; - case MON_DATA_MOVE1: - case MON_DATA_MOVE2: - case MON_DATA_MOVE3: - case MON_DATA_MOVE4: - retVal = substruct1->moves[field - MON_DATA_MOVE1]; - break; - case MON_DATA_PP1: - case MON_DATA_PP2: - case MON_DATA_PP3: - case MON_DATA_PP4: - retVal = substruct1->pp[field - MON_DATA_PP1]; - break; - case MON_DATA_HP_EV: - retVal = substruct2->hpEV; - break; - case MON_DATA_ATK_EV: - retVal = substruct2->attackEV; - break; - case MON_DATA_DEF_EV: - retVal = substruct2->defenseEV; - break; - case MON_DATA_SPEED_EV: - retVal = substruct2->speedEV; - break; - case MON_DATA_SPATK_EV: - retVal = substruct2->spAttackEV; - break; - case MON_DATA_SPDEF_EV: - retVal = substruct2->spDefenseEV; - break; - case MON_DATA_COOL: - retVal = substruct2->cool; - break; - case MON_DATA_BEAUTY: - retVal = substruct2->beauty; - break; - case MON_DATA_CUTE: - retVal = substruct2->cute; - break; - case MON_DATA_SMART: - retVal = substruct2->smart; - break; - case MON_DATA_TOUGH: - retVal = substruct2->tough; - break; - case MON_DATA_SHEEN: - retVal = substruct2->sheen; - break; - case MON_DATA_POKERUS: - retVal = substruct3->pokerus; - break; - case MON_DATA_MET_LOCATION: - retVal = substruct3->metLocation; - break; - case MON_DATA_MET_LEVEL: - retVal = substruct3->metLevel; - break; - case MON_DATA_MET_GAME: - retVal = substruct3->metGame; - break; - case MON_DATA_POKEBALL: - retVal = substruct0->pokeball; - break; - case MON_DATA_OT_GENDER: - retVal = substruct3->otGender; - break; - case MON_DATA_HP_IV: - retVal = substruct3->hpIV; - break; - case MON_DATA_ATK_IV: - retVal = substruct3->attackIV; - break; - case MON_DATA_DEF_IV: - retVal = substruct3->defenseIV; - break; - case MON_DATA_SPEED_IV: - retVal = substruct3->speedIV; - break; - case MON_DATA_SPATK_IV: - retVal = substruct3->spAttackIV; - break; - case MON_DATA_SPDEF_IV: - retVal = substruct3->spDefenseIV; - break; - case MON_DATA_IS_EGG: - retVal = substruct3->isEgg; - break; - case MON_DATA_ABILITY_NUM: - retVal = substruct3->abilityNum; - break; - case MON_DATA_COOL_RIBBON: - retVal = substruct3->coolRibbon; - break; - case MON_DATA_BEAUTY_RIBBON: - retVal = substruct3->beautyRibbon; - break; - case MON_DATA_CUTE_RIBBON: - retVal = substruct3->cuteRibbon; - break; - case MON_DATA_SMART_RIBBON: - retVal = substruct3->smartRibbon; - break; - case MON_DATA_TOUGH_RIBBON: - retVal = substruct3->toughRibbon; - break; - case MON_DATA_CHAMPION_RIBBON: - retVal = substruct3->championRibbon; - break; - case MON_DATA_WINNING_RIBBON: - retVal = substruct3->winningRibbon; - break; - case MON_DATA_VICTORY_RIBBON: - retVal = substruct3->victoryRibbon; - break; - case MON_DATA_ARTIST_RIBBON: - retVal = substruct3->artistRibbon; - break; - case MON_DATA_EFFORT_RIBBON: - retVal = substruct3->effortRibbon; - break; - case MON_DATA_MARINE_RIBBON: - retVal = substruct3->marineRibbon; - break; - case MON_DATA_LAND_RIBBON: - retVal = substruct3->landRibbon; - break; - case MON_DATA_SKY_RIBBON: - retVal = substruct3->skyRibbon; - break; - case MON_DATA_COUNTRY_RIBBON: - retVal = substruct3->countryRibbon; - break; - case MON_DATA_NATIONAL_RIBBON: - retVal = substruct3->nationalRibbon; - break; - case MON_DATA_EARTH_RIBBON: - retVal = substruct3->earthRibbon; - break; - case MON_DATA_WORLD_RIBBON: - retVal = substruct3->worldRibbon; - break; - case MON_DATA_UNUSED_RIBBONS: - retVal = substruct3->unusedRibbons; - break; - case MON_DATA_MODERN_FATEFUL_ENCOUNTER: - retVal = substruct3->modernFatefulEncounter; - break; - case MON_DATA_SPECIES_OR_EGG: - retVal = substruct0->species; - if (substruct0->species && (substruct3->isEgg || boxMon->isBadEgg)) - retVal = SPECIES_EGG; - break; - case MON_DATA_IVS: - retVal = substruct3->hpIV - | (substruct3->attackIV << 5) - | (substruct3->defenseIV << 10) - | (substruct3->speedIV << 15) - | (substruct3->spAttackIV << 20) - | (substruct3->spDefenseIV << 25); - break; - case MON_DATA_KNOWN_MOVES: - if (substruct0->species && !substruct3->isEgg) - { - u16 *moves = (u16 *)data; - s32 i = 0; + case MON_DATA_SPECIES: + retVal = boxMon->isBadEgg ? SPECIES_EGG : substruct0->species; + break; + case MON_DATA_HELD_ITEM: + retVal = substruct0->heldItem; + break; + case MON_DATA_EXP: + retVal = substruct0->experience; + break; + case MON_DATA_PP_BONUSES: + retVal = substruct0->ppBonuses; + break; + case MON_DATA_FRIENDSHIP: + retVal = substruct0->friendship; + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + retVal = substruct1->moves[field - MON_DATA_MOVE1]; + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + retVal = substruct1->pp[field - MON_DATA_PP1]; + break; + case MON_DATA_HP_EV: + retVal = substruct2->hpEV; + break; + case MON_DATA_ATK_EV: + retVal = substruct2->attackEV; + break; + case MON_DATA_DEF_EV: + retVal = substruct2->defenseEV; + break; + case MON_DATA_SPEED_EV: + retVal = substruct2->speedEV; + break; + case MON_DATA_SPATK_EV: + retVal = substruct2->spAttackEV; + break; + case MON_DATA_SPDEF_EV: + retVal = substruct2->spDefenseEV; + break; + case MON_DATA_COOL: + retVal = substruct2->cool; + break; + case MON_DATA_BEAUTY: + retVal = substruct2->beauty; + break; + case MON_DATA_CUTE: + retVal = substruct2->cute; + break; + case MON_DATA_SMART: + retVal = substruct2->smart; + break; + case MON_DATA_TOUGH: + retVal = substruct2->tough; + break; + case MON_DATA_SHEEN: + retVal = substruct2->sheen; + break; + case MON_DATA_POKERUS: + retVal = substruct3->pokerus; + break; + case MON_DATA_MET_LOCATION: + retVal = substruct3->metLocation; + break; + case MON_DATA_MET_LEVEL: + retVal = substruct3->metLevel; + break; + case MON_DATA_MET_GAME: + retVal = substruct3->metGame; + break; + case MON_DATA_POKEBALL: + retVal = substruct0->pokeball; + break; + case MON_DATA_OT_GENDER: + retVal = substruct3->otGender; + break; + case MON_DATA_HP_IV: + retVal = substruct3->hpIV; + break; + case MON_DATA_ATK_IV: + retVal = substruct3->attackIV; + break; + case MON_DATA_DEF_IV: + retVal = substruct3->defenseIV; + break; + case MON_DATA_SPEED_IV: + retVal = substruct3->speedIV; + break; + case MON_DATA_SPATK_IV: + retVal = substruct3->spAttackIV; + break; + case MON_DATA_SPDEF_IV: + retVal = substruct3->spDefenseIV; + break; + case MON_DATA_IS_EGG: + retVal = substruct3->isEgg; + break; + case MON_DATA_ABILITY_NUM: + retVal = substruct3->abilityNum; + break; + case MON_DATA_COOL_RIBBON: + retVal = substruct3->coolRibbon; + break; + case MON_DATA_BEAUTY_RIBBON: + retVal = substruct3->beautyRibbon; + break; + case MON_DATA_CUTE_RIBBON: + retVal = substruct3->cuteRibbon; + break; + case MON_DATA_SMART_RIBBON: + retVal = substruct3->smartRibbon; + break; + case MON_DATA_TOUGH_RIBBON: + retVal = substruct3->toughRibbon; + break; + case MON_DATA_CHAMPION_RIBBON: + retVal = substruct3->championRibbon; + break; + case MON_DATA_WINNING_RIBBON: + retVal = substruct3->winningRibbon; + break; + case MON_DATA_VICTORY_RIBBON: + retVal = substruct3->victoryRibbon; + break; + case MON_DATA_ARTIST_RIBBON: + retVal = substruct3->artistRibbon; + break; + case MON_DATA_EFFORT_RIBBON: + retVal = substruct3->effortRibbon; + break; + case MON_DATA_MARINE_RIBBON: + retVal = substruct3->marineRibbon; + break; + case MON_DATA_LAND_RIBBON: + retVal = substruct3->landRibbon; + break; + case MON_DATA_SKY_RIBBON: + retVal = substruct3->skyRibbon; + break; + case MON_DATA_COUNTRY_RIBBON: + retVal = substruct3->countryRibbon; + break; + case MON_DATA_NATIONAL_RIBBON: + retVal = substruct3->nationalRibbon; + break; + case MON_DATA_EARTH_RIBBON: + retVal = substruct3->earthRibbon; + break; + case MON_DATA_WORLD_RIBBON: + retVal = substruct3->worldRibbon; + break; + case MON_DATA_UNUSED_RIBBONS: + retVal = substruct3->unusedRibbons; + break; + case MON_DATA_MODERN_FATEFUL_ENCOUNTER: + retVal = substruct3->modernFatefulEncounter; + break; + case MON_DATA_SPECIES_OR_EGG: + retVal = substruct0->species; + if (substruct0->species && (substruct3->isEgg || boxMon->isBadEgg)) + retVal = SPECIES_EGG; + break; + case MON_DATA_IVS: + retVal = substruct3->hpIV + | (substruct3->attackIV << 5) + | (substruct3->defenseIV << 10) + | (substruct3->speedIV << 15) + | (substruct3->spAttackIV << 20) + | (substruct3->spDefenseIV << 25); + break; + case MON_DATA_KNOWN_MOVES: + if (substruct0->species && !substruct3->isEgg) + { + u16 *moves = (u16 *)data; + s32 i = 0; - while (moves[i] != MOVES_COUNT) - { - u16 move = moves[i]; - if (substruct1->moves[0] == move - || substruct1->moves[1] == move - || substruct1->moves[2] == move - || substruct1->moves[3] == move) - retVal |= gBitTable[i]; - i++; - } - } - break; - case MON_DATA_RIBBON_COUNT: - retVal = 0; - if (substruct0->species && !substruct3->isEgg) + while (moves[i] != MOVES_COUNT) { - retVal += substruct3->coolRibbon; - retVal += substruct3->beautyRibbon; - retVal += substruct3->cuteRibbon; - retVal += substruct3->smartRibbon; - retVal += substruct3->toughRibbon; - retVal += substruct3->championRibbon; - retVal += substruct3->winningRibbon; - retVal += substruct3->victoryRibbon; - retVal += substruct3->artistRibbon; - retVal += substruct3->effortRibbon; - retVal += substruct3->marineRibbon; - retVal += substruct3->landRibbon; - retVal += substruct3->skyRibbon; - retVal += substruct3->countryRibbon; - retVal += substruct3->nationalRibbon; - retVal += substruct3->earthRibbon; - retVal += substruct3->worldRibbon; + u16 move = moves[i]; + if (substruct1->moves[0] == move + || substruct1->moves[1] == move + || substruct1->moves[2] == move + || substruct1->moves[3] == move) + retVal |= gBitTable[i]; + i++; } - break; - case MON_DATA_RIBBONS: - retVal = 0; - if (substruct0->species && !substruct3->isEgg) - { - retVal = substruct3->championRibbon - | (substruct3->coolRibbon << 1) - | (substruct3->beautyRibbon << 4) - | (substruct3->cuteRibbon << 7) - | (substruct3->smartRibbon << 10) - | (substruct3->toughRibbon << 13) - | (substruct3->winningRibbon << 16) - | (substruct3->victoryRibbon << 17) - | (substruct3->artistRibbon << 18) - | (substruct3->effortRibbon << 19) - | (substruct3->marineRibbon << 20) - | (substruct3->landRibbon << 21) - | (substruct3->skyRibbon << 22) - | (substruct3->countryRibbon << 23) - | (substruct3->nationalRibbon << 24) - | (substruct3->earthRibbon << 25) - | (substruct3->worldRibbon << 26); - } - break; - default: - break; } + break; + case MON_DATA_RIBBON_COUNT: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal += substruct3->coolRibbon; + retVal += substruct3->beautyRibbon; + retVal += substruct3->cuteRibbon; + retVal += substruct3->smartRibbon; + retVal += substruct3->toughRibbon; + retVal += substruct3->championRibbon; + retVal += substruct3->winningRibbon; + retVal += substruct3->victoryRibbon; + retVal += substruct3->artistRibbon; + retVal += substruct3->effortRibbon; + retVal += substruct3->marineRibbon; + retVal += substruct3->landRibbon; + retVal += substruct3->skyRibbon; + retVal += substruct3->countryRibbon; + retVal += substruct3->nationalRibbon; + retVal += substruct3->earthRibbon; + retVal += substruct3->worldRibbon; + } + break; + case MON_DATA_RIBBONS: + retVal = 0; + if (substruct0->species && !substruct3->isEgg) + { + retVal = substruct3->championRibbon + | (substruct3->coolRibbon << 1) + | (substruct3->beautyRibbon << 4) + | (substruct3->cuteRibbon << 7) + | (substruct3->smartRibbon << 10) + | (substruct3->toughRibbon << 13) + | (substruct3->winningRibbon << 16) + | (substruct3->victoryRibbon << 17) + | (substruct3->artistRibbon << 18) + | (substruct3->effortRibbon << 19) + | (substruct3->marineRibbon << 20) + | (substruct3->landRibbon << 21) + | (substruct3->skyRibbon << 22) + | (substruct3->countryRibbon << 23) + | (substruct3->nationalRibbon << 24) + | (substruct3->earthRibbon << 25) + | (substruct3->worldRibbon << 26); + } + break; + default: + break; + } } else { @@ -5187,244 +5187,244 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg) switch (field) { - case MON_DATA_SPECIES: - { - SET16(substruct0->species); - if (substruct0->species) - boxMon->hasSpecies = TRUE; - else - boxMon->hasSpecies = FALSE; - break; - } - case MON_DATA_HELD_ITEM: - SET16(substruct0->heldItem); - break; - case MON_DATA_EXP: - SET32(substruct0->experience); - break; - case MON_DATA_PP_BONUSES: - SET8(substruct0->ppBonuses); - break; - case MON_DATA_FRIENDSHIP: - SET8(substruct0->friendship); - break; - case MON_DATA_MOVE1: - case MON_DATA_MOVE2: - case MON_DATA_MOVE3: - case MON_DATA_MOVE4: - SET16(substruct1->moves[field - MON_DATA_MOVE1]); - break; - case MON_DATA_PP1: - case MON_DATA_PP2: - case MON_DATA_PP3: - case MON_DATA_PP4: - SET8(substruct1->pp[field - MON_DATA_PP1]); - break; - case MON_DATA_HP_EV: - SET8(substruct2->hpEV); - break; - case MON_DATA_ATK_EV: - SET8(substruct2->attackEV); - break; - case MON_DATA_DEF_EV: - SET8(substruct2->defenseEV); - break; - case MON_DATA_SPEED_EV: - SET8(substruct2->speedEV); - break; - case MON_DATA_SPATK_EV: - SET8(substruct2->spAttackEV); - break; - case MON_DATA_SPDEF_EV: - SET8(substruct2->spDefenseEV); - break; - case MON_DATA_COOL: - SET8(substruct2->cool); - break; - case MON_DATA_BEAUTY: - SET8(substruct2->beauty); - break; - case MON_DATA_CUTE: - SET8(substruct2->cute); - break; - case MON_DATA_SMART: - SET8(substruct2->smart); - break; - case MON_DATA_TOUGH: - SET8(substruct2->tough); - break; - case MON_DATA_SHEEN: - SET8(substruct2->sheen); - break; - case MON_DATA_POKERUS: - SET8(substruct3->pokerus); - break; - case MON_DATA_MET_LOCATION: - SET8(substruct3->metLocation); - break; - case MON_DATA_MET_LEVEL: - { - u8 metLevel = *data; - substruct3->metLevel = metLevel; - break; - } - case MON_DATA_MET_GAME: - SET8(substruct3->metGame); - break; - case MON_DATA_POKEBALL: - { - u8 pokeball = *data; - substruct0->pokeball = pokeball; - break; - } - case MON_DATA_OT_GENDER: - SET8(substruct3->otGender); - break; - case MON_DATA_HP_IV: - SET8(substruct3->hpIV); - break; - case MON_DATA_ATK_IV: - SET8(substruct3->attackIV); - break; - case MON_DATA_DEF_IV: - SET8(substruct3->defenseIV); - break; - case MON_DATA_SPEED_IV: - SET8(substruct3->speedIV); - break; - case MON_DATA_SPATK_IV: - SET8(substruct3->spAttackIV); - break; - case MON_DATA_SPDEF_IV: - SET8(substruct3->spDefenseIV); - break; - case MON_DATA_IS_EGG: - SET8(substruct3->isEgg); - if (substruct3->isEgg) - boxMon->isEgg = TRUE; - else - boxMon->isEgg = FALSE; - break; - case MON_DATA_ABILITY_NUM: - SET8(substruct3->abilityNum); - break; - case MON_DATA_COOL_RIBBON: - SET8(substruct3->coolRibbon); - break; - case MON_DATA_BEAUTY_RIBBON: - SET8(substruct3->beautyRibbon); - break; - case MON_DATA_CUTE_RIBBON: - SET8(substruct3->cuteRibbon); - break; - case MON_DATA_SMART_RIBBON: - SET8(substruct3->smartRibbon); - break; - case MON_DATA_TOUGH_RIBBON: - SET8(substruct3->toughRibbon); - break; - case MON_DATA_CHAMPION_RIBBON: - SET8(substruct3->championRibbon); - break; - case MON_DATA_WINNING_RIBBON: - SET8(substruct3->winningRibbon); - break; - case MON_DATA_VICTORY_RIBBON: - SET8(substruct3->victoryRibbon); - break; - case MON_DATA_ARTIST_RIBBON: - SET8(substruct3->artistRibbon); - break; - case MON_DATA_EFFORT_RIBBON: - SET8(substruct3->effortRibbon); - break; - case MON_DATA_MARINE_RIBBON: - SET8(substruct3->marineRibbon); - break; - case MON_DATA_LAND_RIBBON: - SET8(substruct3->landRibbon); - break; - case MON_DATA_SKY_RIBBON: - SET8(substruct3->skyRibbon); - break; - case MON_DATA_COUNTRY_RIBBON: - SET8(substruct3->countryRibbon); - break; - case MON_DATA_NATIONAL_RIBBON: - SET8(substruct3->nationalRibbon); - break; - case MON_DATA_EARTH_RIBBON: - SET8(substruct3->earthRibbon); - break; - case MON_DATA_WORLD_RIBBON: - SET8(substruct3->worldRibbon); - break; - case MON_DATA_UNUSED_RIBBONS: - SET8(substruct3->unusedRibbons); - break; - case MON_DATA_MODERN_FATEFUL_ENCOUNTER: - SET8(substruct3->modernFatefulEncounter); - break; - case MON_DATA_IVS: - { - u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); - substruct3->hpIV = ivs & MAX_IV_MASK; - substruct3->attackIV = (ivs >> 5) & MAX_IV_MASK; - substruct3->defenseIV = (ivs >> 10) & MAX_IV_MASK; - substruct3->speedIV = (ivs >> 15) & MAX_IV_MASK; - substruct3->spAttackIV = (ivs >> 20) & MAX_IV_MASK; - substruct3->spDefenseIV = (ivs >> 25) & MAX_IV_MASK; - break; - } - default: - break; + case MON_DATA_SPECIES: + { + SET16(substruct0->species); + if (substruct0->species) + boxMon->hasSpecies = TRUE; + else + boxMon->hasSpecies = FALSE; + break; + } + case MON_DATA_HELD_ITEM: + SET16(substruct0->heldItem); + break; + case MON_DATA_EXP: + SET32(substruct0->experience); + break; + case MON_DATA_PP_BONUSES: + SET8(substruct0->ppBonuses); + break; + case MON_DATA_FRIENDSHIP: + SET8(substruct0->friendship); + break; + case MON_DATA_MOVE1: + case MON_DATA_MOVE2: + case MON_DATA_MOVE3: + case MON_DATA_MOVE4: + SET16(substruct1->moves[field - MON_DATA_MOVE1]); + break; + case MON_DATA_PP1: + case MON_DATA_PP2: + case MON_DATA_PP3: + case MON_DATA_PP4: + SET8(substruct1->pp[field - MON_DATA_PP1]); + break; + case MON_DATA_HP_EV: + SET8(substruct2->hpEV); + break; + case MON_DATA_ATK_EV: + SET8(substruct2->attackEV); + break; + case MON_DATA_DEF_EV: + SET8(substruct2->defenseEV); + break; + case MON_DATA_SPEED_EV: + SET8(substruct2->speedEV); + break; + case MON_DATA_SPATK_EV: + SET8(substruct2->spAttackEV); + break; + case MON_DATA_SPDEF_EV: + SET8(substruct2->spDefenseEV); + break; + case MON_DATA_COOL: + SET8(substruct2->cool); + break; + case MON_DATA_BEAUTY: + SET8(substruct2->beauty); + break; + case MON_DATA_CUTE: + SET8(substruct2->cute); + break; + case MON_DATA_SMART: + SET8(substruct2->smart); + break; + case MON_DATA_TOUGH: + SET8(substruct2->tough); + break; + case MON_DATA_SHEEN: + SET8(substruct2->sheen); + break; + case MON_DATA_POKERUS: + SET8(substruct3->pokerus); + break; + case MON_DATA_MET_LOCATION: + SET8(substruct3->metLocation); + break; + case MON_DATA_MET_LEVEL: + { + u8 metLevel = *data; + substruct3->metLevel = metLevel; + break; + } + case MON_DATA_MET_GAME: + SET8(substruct3->metGame); + break; + case MON_DATA_POKEBALL: + { + u8 pokeball = *data; + substruct0->pokeball = pokeball; + break; + } + case MON_DATA_OT_GENDER: + SET8(substruct3->otGender); + break; + case MON_DATA_HP_IV: + SET8(substruct3->hpIV); + break; + case MON_DATA_ATK_IV: + SET8(substruct3->attackIV); + break; + case MON_DATA_DEF_IV: + SET8(substruct3->defenseIV); + break; + case MON_DATA_SPEED_IV: + SET8(substruct3->speedIV); + break; + case MON_DATA_SPATK_IV: + SET8(substruct3->spAttackIV); + break; + case MON_DATA_SPDEF_IV: + SET8(substruct3->spDefenseIV); + break; + case MON_DATA_IS_EGG: + SET8(substruct3->isEgg); + if (substruct3->isEgg) + boxMon->isEgg = TRUE; + else + boxMon->isEgg = FALSE; + break; + case MON_DATA_ABILITY_NUM: + SET8(substruct3->abilityNum); + break; + case MON_DATA_COOL_RIBBON: + SET8(substruct3->coolRibbon); + break; + case MON_DATA_BEAUTY_RIBBON: + SET8(substruct3->beautyRibbon); + break; + case MON_DATA_CUTE_RIBBON: + SET8(substruct3->cuteRibbon); + break; + case MON_DATA_SMART_RIBBON: + SET8(substruct3->smartRibbon); + break; + case MON_DATA_TOUGH_RIBBON: + SET8(substruct3->toughRibbon); + break; + case MON_DATA_CHAMPION_RIBBON: + SET8(substruct3->championRibbon); + break; + case MON_DATA_WINNING_RIBBON: + SET8(substruct3->winningRibbon); + break; + case MON_DATA_VICTORY_RIBBON: + SET8(substruct3->victoryRibbon); + break; + case MON_DATA_ARTIST_RIBBON: + SET8(substruct3->artistRibbon); + break; + case MON_DATA_EFFORT_RIBBON: + SET8(substruct3->effortRibbon); + break; + case MON_DATA_MARINE_RIBBON: + SET8(substruct3->marineRibbon); + break; + case MON_DATA_LAND_RIBBON: + SET8(substruct3->landRibbon); + break; + case MON_DATA_SKY_RIBBON: + SET8(substruct3->skyRibbon); + break; + case MON_DATA_COUNTRY_RIBBON: + SET8(substruct3->countryRibbon); + break; + case MON_DATA_NATIONAL_RIBBON: + SET8(substruct3->nationalRibbon); + break; + case MON_DATA_EARTH_RIBBON: + SET8(substruct3->earthRibbon); + break; + case MON_DATA_WORLD_RIBBON: + SET8(substruct3->worldRibbon); + break; + case MON_DATA_UNUSED_RIBBONS: + SET8(substruct3->unusedRibbons); + break; + case MON_DATA_MODERN_FATEFUL_ENCOUNTER: + SET8(substruct3->modernFatefulEncounter); + break; + case MON_DATA_IVS: + { + u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); + substruct3->hpIV = ivs & MAX_IV_MASK; + substruct3->attackIV = (ivs >> 5) & MAX_IV_MASK; + substruct3->defenseIV = (ivs >> 10) & MAX_IV_MASK; + substruct3->speedIV = (ivs >> 15) & MAX_IV_MASK; + substruct3->spAttackIV = (ivs >> 20) & MAX_IV_MASK; + substruct3->spDefenseIV = (ivs >> 25) & MAX_IV_MASK; + break; + } + default: + break; } } else { switch (field) { - case MON_DATA_PERSONALITY: - SET32(boxMon->personality); - break; - case MON_DATA_OT_ID: - SET32(boxMon->otId); - break; - case MON_DATA_NICKNAME: - { - s32 i; - for (i = 0; i < POKEMON_NAME_LENGTH; i++) - boxMon->nickname[i] = data[i]; - break; - } - case MON_DATA_LANGUAGE: - SET8(boxMon->language); - break; - case MON_DATA_SANITY_IS_BAD_EGG: - SET8(boxMon->isBadEgg); - break; - case MON_DATA_SANITY_HAS_SPECIES: - SET8(boxMon->hasSpecies); - break; - case MON_DATA_SANITY_IS_EGG: - SET8(boxMon->isEgg); - break; - case MON_DATA_OT_NAME: - { - s32 i; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) - boxMon->otName[i] = data[i]; - break; - } - case MON_DATA_MARKINGS: - SET8(boxMon->markings); - break; - case MON_DATA_CHECKSUM: - SET16(boxMon->checksum); - break; - case MON_DATA_ENCRYPT_SEPARATOR: - SET16(boxMon->unknown); - break; + case MON_DATA_PERSONALITY: + SET32(boxMon->personality); + break; + case MON_DATA_OT_ID: + SET32(boxMon->otId); + break; + case MON_DATA_NICKNAME: + { + s32 i; + for (i = 0; i < POKEMON_NAME_LENGTH; i++) + boxMon->nickname[i] = data[i]; + break; + } + case MON_DATA_LANGUAGE: + SET8(boxMon->language); + break; + case MON_DATA_SANITY_IS_BAD_EGG: + SET8(boxMon->isBadEgg); + break; + case MON_DATA_SANITY_HAS_SPECIES: + SET8(boxMon->hasSpecies); + break; + case MON_DATA_SANITY_IS_EGG: + SET8(boxMon->isEgg); + break; + case MON_DATA_OT_NAME: + { + s32 i; + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + boxMon->otName[i] = data[i]; + break; + } + case MON_DATA_MARKINGS: + SET8(boxMon->markings); + break; + case MON_DATA_CHECKSUM: + SET16(boxMon->checksum); + break; + case MON_DATA_ENCRYPT_SEPARATOR: + SET16(boxMon->unknown); + break; } } From 3f5daa8cf138c1849b2b91bba3425250113fa7a7 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Mon, 24 Jul 2023 12:51:43 +0100 Subject: [PATCH 081/256] Add BENCHMARK to test runner Counts the time spent in the block in arbitrary time units (64-cycles currently). If the block takes more than ~4 million cycles (~0.25s) the benchmark will wrap around. Note that the time can be affected by the timeout IRQs, and should only be taken as a loose indication of relative performance. --- include/gba/io_reg.h | 1 + test/random.c | 57 ++++++++++++++++++++++++++++++++++++++++++++ test/test.h | 42 ++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 148ce31db4..d05ec71201 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -664,6 +664,7 @@ #define TIMER_64CLK 0x01 #define TIMER_256CLK 0x02 #define TIMER_1024CLK 0x03 +#define TIMER_COUNTUP 0x04 #define TIMER_INTR_ENABLE 0x40 #define TIMER_ENABLE 0x80 diff --git a/test/random.c b/test/random.c index ef364de276..091b9323ae 100644 --- a/test/random.c +++ b/test/random.c @@ -151,3 +151,60 @@ TEST("RandomElement generates a uniform distribution") EXPECT_LT(error, UQ_4_12(0.025)); } + +TEST("RandomUniform mul-based faster than mod-based (compile-time)") +{ + u32 i; + struct Benchmark mulBenchmark, modBenchmark; + u32 mulSum = 0, modSum = 0; + + BENCHMARK(&mulBenchmark) + { + mulSum += RandomUniformDefault(RNG_NONE, 0, 1); + mulSum += RandomUniformDefault(RNG_NONE, 0, 2); + mulSum += RandomUniformDefault(RNG_NONE, 0, 3); + mulSum += RandomUniformDefault(RNG_NONE, 0, 4); + } + + BENCHMARK(&modBenchmark) + { + modSum += Random() % 2; + modSum += Random() % 3; + modSum += Random() % 4; + modSum += Random() % 5; + } + + EXPECT_FASTER(mulBenchmark, modBenchmark); + + // Reference mulSum/modSum to prevent optimization. + // These numbers are different because multiplication and modulus + // have subtly different biases (so subtle that it's irrelevant for + // our purposes). + EXPECT_EQ(mulSum, 3); + EXPECT_EQ(modSum, 4); +} + +TEST("RandomUniform mul-based faster than mod-based (run-time)") +{ + u32 i; + struct Benchmark mulBenchmark, modBenchmark; + u32 mulSum = 0, modSum = 0; + + BENCHMARK(&mulBenchmark) + { + for (i = 0; i < 32; i++) + mulSum += RandomUniformDefault(RNG_NONE, 0, i); + } + + BENCHMARK(&modBenchmark) + { + for (i = 0; i < 32; i++) + modSum += Random() % (i + 1); + } + + EXPECT_FASTER(mulBenchmark, modBenchmark); + + // Reference mulSum/modSum to prevent optimization. + EXPECT_EQ(mulSum, 232); + EXPECT_EQ(modSum, 249); +} diff --git a/test/test.h b/test/test.h index 24abca60dc..228f195650 100644 --- a/test/test.h +++ b/test/test.h @@ -46,6 +46,7 @@ struct TestRunnerState u8 result; u8 expectedResult; bool8 expectLeaks:1; + bool8 inBenchmark:1; u32 timeoutSeconds; }; @@ -158,6 +159,47 @@ s32 MgbaPrintf_(const char *fmt, ...); Test_ExitWithResult(TEST_RESULT_FAIL, "%s:%d: EXPECT_GE(%d, %d) failed", gTestRunnerState.test->filename, __LINE__, _a, _b); \ } while (0) +struct Benchmark { u32 ticks; }; + +static inline void BenchmarkStart(void) +{ + gTestRunnerState.inBenchmark = TRUE; + REG_TM3CNT = (TIMER_ENABLE | TIMER_64CLK) << 16; +} + +static inline struct Benchmark BenchmarkStop(void) +{ + REG_TM3CNT_H = 0; + gTestRunnerState.inBenchmark = FALSE; + return (struct Benchmark) { REG_TM3CNT_L }; +} + +#define BENCHMARK(id) \ + for (BenchmarkStart(); gTestRunnerState.inBenchmark; *(id) = BenchmarkStop()) + +// An approximation of how much overhead benchmarks introduce. +#define BENCHMARK_ABS 2 + +// An approximation for what percentage faster a benchmark has to be for +// us to be confident that it's faster than another. +#define BENCHMARK_REL 95 + +#define EXPECT_FASTER(a, b) \ + do \ + { \ + u32 a_ = (a).ticks; u32 b_ = (b).ticks; \ + if (((a_ - BENCHMARK_ABS) * BENCHMARK_REL) >= (b_ * 100)) \ + Test_ExitWithResult(TEST_RESULT_FAIL, "%s:%d: EXPECT_FASTER(" #a ", " #b ") failed", gTestRunnerState.test->filename, __LINE__); \ + } while (0) + +#define EXPECT_SLOWER(a, b) \ + do \ + { \ + u32 a_ = (a).ticks; u32 b_ = (b).ticks; \ + if ((a_ * 100) <= ((b_ - BENCHMARK_ABS) * BENCHMARK_REL)) \ + Test_ExitWithResult(TEST_RESULT_FAIL, "%s:%d: EXPECT_SLOWER(" #a ", " #b ") failed", gTestRunnerState.test->filename, __LINE__); \ + } while (0) + #define KNOWN_FAILING \ Test_ExpectedResult(TEST_RESULT_FAIL) From b499f41a5cc232369b518206619d1d96a5a0fd62 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 25 Jul 2023 07:40:51 +0100 Subject: [PATCH 082/256] Print ticks --- test/test.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/test.h b/test/test.h index 228f195650..5b3ab8af0c 100644 --- a/test/test.h +++ b/test/test.h @@ -159,7 +159,7 @@ s32 MgbaPrintf_(const char *fmt, ...); Test_ExitWithResult(TEST_RESULT_FAIL, "%s:%d: EXPECT_GE(%d, %d) failed", gTestRunnerState.test->filename, __LINE__, _a, _b); \ } while (0) -struct Benchmark { u32 ticks; }; +struct Benchmark { s32 ticks; }; static inline void BenchmarkStart(void) { @@ -188,6 +188,7 @@ static inline struct Benchmark BenchmarkStop(void) do \ { \ u32 a_ = (a).ticks; u32 b_ = (b).ticks; \ + MgbaPrintf_(#a ": %d ticks, " #b ": %d ticks", a_, b_); \ if (((a_ - BENCHMARK_ABS) * BENCHMARK_REL) >= (b_ * 100)) \ Test_ExitWithResult(TEST_RESULT_FAIL, "%s:%d: EXPECT_FASTER(" #a ", " #b ") failed", gTestRunnerState.test->filename, __LINE__); \ } while (0) @@ -196,6 +197,7 @@ static inline struct Benchmark BenchmarkStop(void) do \ { \ u32 a_ = (a).ticks; u32 b_ = (b).ticks; \ + MgbaPrintf_(#a ": %d ticks, " #b ": %d ticks", a_, b_); \ if ((a_ * 100) <= ((b_ - BENCHMARK_ABS) * BENCHMARK_REL)) \ Test_ExitWithResult(TEST_RESULT_FAIL, "%s:%d: EXPECT_SLOWER(" #a ", " #b ") failed", gTestRunnerState.test->filename, __LINE__); \ } while (0) From c11839c648c402cae731c16fcd347252e0e0197e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 26 Jul 2023 09:34:23 +0200 Subject: [PATCH 083/256] Use isValidForBattle --- src/battle_ai_switch_items.c | 46 ++++++++---------------------------- 1 file changed, 10 insertions(+), 36 deletions(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 625634af4e..d815d3f8bc 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -113,11 +113,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) // Find a Pokemon in the party that has a super effective move. for (i = firstId; i < lastId; i++) { - if (GetMonData(&party[i], MON_DATA_HP) == 0) - continue; - if (GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) == SPECIES_NONE) - continue; - if (GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) + if (!IsValidForBattle(&party[i])) continue; if (i == gBattlerPartyIndexes[gActiveBattler]) continue; @@ -196,13 +192,9 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) for (i = firstId; i < lastId; i++) { - u16 species; u16 monAbility; - if (GetMonData(&party[i], MON_DATA_HP) == 0) - continue; - species = GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG); - if (species == SPECIES_NONE || species == SPECIES_EGG) + if (!IsValidForBattle(&party[i])) continue; if (i == gBattlerPartyIndexes[battlerIn1]) continue; @@ -216,7 +208,6 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; monAbility = GetMonAbility(&party[i]); - if (absorbingTypeAbility == monAbility && Random() & 1) { // we found a mon. @@ -291,9 +282,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) continue; //Look for mon in party that is able to be switched into and has ability that sets terrain - if (GetMonData(&party[i], MON_DATA_HP) != 0 - && GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) != SPECIES_NONE - && GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) != SPECIES_EGG + if (IsValidForBattle(&party[i]) && i != gBattlerPartyIndexes[gActiveBattler] && i != gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)] && IsBattlerGrounded(gActiveBattler) @@ -562,13 +551,9 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) for (i = firstId; i < lastId; i++) { - u16 species; - u16 monAbility; + u16 species, monAbility; - if (GetMonData(&party[i], MON_DATA_HP) == 0) - continue; - species = GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG); - if (species == SPECIES_NONE || species == SPECIES_EGG) + if (!IsValidForBattle(&party[i])) continue; if (i == gBattlerPartyIndexes[battlerIn1]) continue; @@ -581,8 +566,8 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) if (IsAceMon(gActiveBattler, i)) continue; + species = GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG); monAbility = GetMonAbility(&party[i]); - CalcPartyMonTypeEffectivenessMultiplier(gLastLandedMoves[gActiveBattler], species, monAbility); if (gMoveResultFlags & flags) { @@ -651,11 +636,7 @@ bool32 ShouldSwitch(void) for (i = firstId; i < lastId; i++) { - if (GetMonData(&party[i], MON_DATA_HP) == 0) - continue; - if (GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) == SPECIES_NONE) - continue; - if (GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) + if (!IsValidForBattle(&party[i])) continue; if (i == gBattlerPartyIndexes[battlerIn1]) continue; @@ -752,9 +733,7 @@ void AI_TrySwitchOrUseItem(void) for (monToSwitchId = (lastId-1); monToSwitchId >= firstId; monToSwitchId--) { - if (GetMonData(&party[monToSwitchId], MON_DATA_HP) == 0) - continue; - if (GetMonData(&party[monToSwitchId], MON_DATA_SPECIES) == SPECIES_NONE) + if (!IsValidForBattle(&party[monToSwitchId])) continue; if (monToSwitchId == gBattlerPartyIndexes[battlerIn1]) continue; @@ -957,10 +936,7 @@ u8 GetMostSuitableMonToSwitchInto(void) // Get invalid slots ids. for (i = firstId; i < lastId; i++) { - u16 species = GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG); - if (species == SPECIES_NONE - || species == SPECIES_EGG - || GetMonData(&party[i], MON_DATA_HP) == 0 + if (!IsValidForBattle(&party[i]) || gBattlerPartyIndexes[battlerIn1] == i || gBattlerPartyIndexes[battlerIn2] == i || i == *(gBattleStruct->monToSwitchIntoId + battlerIn1) @@ -1043,9 +1019,7 @@ static bool8 ShouldUseItem(void) for (i = 0; i < PARTY_SIZE; i++) { - if (GetMonData(&party[i], MON_DATA_HP) != 0 - && GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) != SPECIES_NONE - && GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG) != SPECIES_EGG) + if (IsValidForBattle(&party[i])) { validMons++; } From bca29d8586cce1b7d8af6e2174fa895590a3cc53 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 26 Jul 2023 17:17:33 +0200 Subject: [PATCH 084/256] Adds Mortal Spin and Population Bomb --- data/battle_scripts_1.s | 13 ++++++++++++- include/constants/battle_move_effects.h | 4 +++- src/battle_ai_main.c | 2 ++ src/battle_ai_util.c | 2 +- src/battle_script_commands.c | 6 +++--- src/battle_util.c | 5 ----- src/data/battle_moves.h | 9 ++++++--- test/move_effect_mortal_spin.c | 24 ++++++++++++++++++++++++ 8 files changed, 51 insertions(+), 14 deletions(-) create mode 100644 test/move_effect_mortal_spin.c diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index ec6958d94e..db0cebc4ba 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -435,6 +435,17 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE .4byte BattleScript_EffectSpinOut @ EFFECT_SPIN_OUT .4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN + .4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB + .4byte BattleScript_EffectMortalSpin @ EFFECT_MORTAL_SPIN + +BattleScript_EffectMortalSpin: + call BattleScript_EffectHit_Ret + rapidspinfree + setmoveeffect MOVE_EFFECT_POISON + seteffectwithchance + tryfaintmon BS_TARGET + moveendall + end BattleScript_EffectMakeItRain: setmoveeffect MOVE_EFFECT_PAYDAY @@ -7790,7 +7801,7 @@ BattleScript_WishMegaEvolution:: BattleScript_PrimalReversion:: call BattleScript_PrimalReversionRet end2 - + BattleScript_PrimalReversionRestoreAttacker:: call BattleScript_PrimalReversionRet copybyte gBattlerAttacker, sSAVED_BATTLER diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index bb38d86599..c12f6fbc02 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -412,7 +412,9 @@ #define EFFECT_COLLISION_COURSE 406 #define EFFECT_SPIN_OUT 407 #define EFFECT_MAKE_IT_RAIN 408 +#define EFFECT_POPULATION_BOMB 409 +#define EFFECT_MORTAL_SPIN 410 -#define NUM_BATTLE_MOVE_EFFECTS 409 +#define NUM_BATTLE_MOVE_EFFECTS 411 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 9243bacb9c..e231d3d1f8 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -3571,6 +3571,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_TOXIC: case EFFECT_POISON: case EFFECT_BARB_BARRAGE: + case EFFECT_MORTAL_SPIN: IncreasePoisonScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_LIGHT_SCREEN: @@ -4246,6 +4247,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } break; case MOVE_RAPID_SPIN: + case MOVE_MORTAL_SPIN: if (gStatuses3[battlerAtk] & STATUS3_LEECHSEED || gBattleMons[battlerAtk].status2 & STATUS2_WRAPPED) score += 3; break; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index c18209314b..dcf653d411 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -865,7 +865,7 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, } // Handle other multi-strike moves - if (gBattleMoves[move].strikeCount > 1) + if (gBattleMoves[move].strikeCount > 1 && gBattleMoves[move].effect != EFFECT_TRIPLE_KICK) dmg *= gBattleMoves[move].strikeCount; else if (move == MOVE_WATER_SHURIKEN && gBattleMons[battlerAtk].species == SPECIES_GRENINJA_ASH) dmg *= 3; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 1059967ed5..36965c465c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1722,10 +1722,10 @@ static void Cmd_accuracycheck(void) gBattlescriptCurrInstr = cmd->nextInstr; } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT - || (gSpecialStatuses[gBattlerAttacker].multiHitOn && (gBattleMoves[move].effect != EFFECT_TRIPLE_KICK - || GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK))) + || (gSpecialStatuses[gBattlerAttacker].multiHitOn && (GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK + || !(gBattleMoves[move].effect == EFFECT_TRIPLE_KICK || gBattleMoves[move].effect == EFFECT_POPULATION_BOMB)))) { - // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel + // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel/Population Bomb gBattlescriptCurrInstr = cmd->nextInstr; } else diff --git a/src/battle_util.c b/src/battle_util.c index 1170ddea75..e64cc50194 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3748,11 +3748,6 @@ u8 AtkCanceller_UnableToUseMove(void) gMultiHitCounter = gBattleMoves[gCurrentMove].strikeCount; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 3, 0) } - else if (gBattleMoves[gCurrentMove].effect == EFFECT_TRIPLE_KICK) - { - gMultiHitCounter = 3; - PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) - } #if B_BEAT_UP >= GEN_5 else if (gBattleMoves[gCurrentMove].effect == EFFECT_BEAT_UP) { diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index bb1db2f7de..4e03d68c58 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -2886,6 +2886,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, + .strikeCount = 3, }, [MOVE_THIEF] = @@ -12357,6 +12358,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, .makesContact = TRUE, + .strikeCount = 3, }, [MOVE_DUAL_WINGBEAT] = @@ -13152,7 +13154,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_POPULATION_BOMB] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_MULTI_HIT maybe? + .effect = EFFECT_POPULATION_BOMB, .power = 20, .type = TYPE_NORMAL, .accuracy = 90, @@ -13165,6 +13167,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .makesContact = TRUE, .slicingMove = TRUE, .metronomeBanned = TRUE, + .strikeCount = 10, }, [MOVE_ICE_SPINNER] = @@ -13246,12 +13249,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MORTAL_SPIN] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_MORTAL_SPIN + .effect = EFFECT_MORTAL_SPIN, .power = 30, .type = TYPE_POISON, .accuracy = 100, .pp = 15, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, .split = SPLIT_PHYSICAL, diff --git a/test/move_effect_mortal_spin.c b/test/move_effect_mortal_spin.c new file mode 100644 index 0000000000..c3dd045275 --- /dev/null +++ b/test/move_effect_mortal_spin.c @@ -0,0 +1,24 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_MORTAL_SPIN].effect == EFFECT_MORTAL_SPIN); +} + +SINGLE_BATTLE_TEST("Mortal Spin blows away hazards and poisons foe") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_STEALTH_ROCK); MOVE(player, MOVE_MORTAL_SPIN); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_STEALTH_ROCK, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MORTAL_SPIN, player); + MESSAGE("Wobbuffet blew away Stealth Rock!"); + MESSAGE("Foe Wobbuffet was poisoned!"); + STATUS_ICON(opponent, poison: TRUE); + } +} + From 5fa7a6d4c6710e0a447358fd8e4b8ccb49969619 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 28 Jul 2023 13:20:06 +0200 Subject: [PATCH 085/256] Skill Link Tests, Loaded Dice stuff --- src/battle_script_commands.c | 3 +- src/battle_util.c | 11 +- test/move_effect_multi_hit.c | 135 ++++++++++++++++++ test/move_effect_population_bomb.c | 6 + test/move_effect_triple_kick.c | 6 +- ...ree_strikes.c => move_flag_strike_count.c} | 17 ++- 6 files changed, 173 insertions(+), 5 deletions(-) create mode 100644 test/move_effect_multi_hit.c create mode 100644 test/move_effect_population_bomb.c rename test/{move_flag_three_strikes.c => move_flag_strike_count.c} (76%) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 36965c465c..6a3ccde0cb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1722,7 +1722,8 @@ static void Cmd_accuracycheck(void) gBattlescriptCurrInstr = cmd->nextInstr; } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT - || (gSpecialStatuses[gBattlerAttacker].multiHitOn && (GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK + || (gSpecialStatuses[gBattlerAttacker].multiHitOn + && (GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK || GetBattlerHoldEffect(gBattlerAttacker, TRUE) || !(gBattleMoves[move].effect == EFFECT_TRIPLE_KICK || gBattleMoves[move].effect == EFFECT_POPULATION_BOMB)))) { // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel/Population Bomb diff --git a/src/battle_util.c b/src/battle_util.c index e64cc50194..a84521f111 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3745,8 +3745,15 @@ u8 AtkCanceller_UnableToUseMove(void) } else if (gBattleMoves[gCurrentMove].strikeCount > 1) { - gMultiHitCounter = gBattleMoves[gCurrentMove].strikeCount; - PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 3, 0) + if (gBattleMoves[gCurrentMove].effect == EFFECT_POPULATION_BOMB && GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LOADED_DICE) + { + gMultiHitCounter = RandomUniform(RNG_LOADED_DICE, 4, 10); + } + else + { + gMultiHitCounter = gBattleMoves[gCurrentMove].strikeCount; + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 3, 0) + } } #if B_BEAT_UP >= GEN_5 else if (gBattleMoves[gCurrentMove].effect == EFFECT_BEAT_UP) diff --git a/test/move_effect_multi_hit.c b/test/move_effect_multi_hit.c new file mode 100644 index 0000000000..d3a265ebb8 --- /dev/null +++ b/test/move_effect_multi_hit.c @@ -0,0 +1,135 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_BULLET_SEED].effect == EFFECT_MULTI_HIT); +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit the maximum amount with Skill Link") +{ + PASSES_RANDOMLY(100, 100, RNG_HITS); + + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Ability(ABILITY_SKILL_LINK); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 5 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit twice 35 Percent of the time") +{ + PASSES_RANDOMLY(35, 100, RNG_HITS); + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 2 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit thrice 35 Percent of the time") +{ + PASSES_RANDOMLY(35, 100, RNG_HITS); + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 3 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit four times 35 Percent of the time") +{ + PASSES_RANDOMLY(15, 100, RNG_HITS); + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 4 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit four times 35 Percent of the time") +{ + PASSES_RANDOMLY(15, 100, RNG_HITS); + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 5 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit at least four times with Loaded Dice") +{ + PASSES_RANDOMLY(50, 100, RNG_LOADED_DICE); + + GIVEN { + ASSUME(gItems[ITEM_LOADED_DICE].holdEffect == HOLD_EFFECT_LOADED_DICE); + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LOADED_DICE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 4 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Multi hit Moves hit five times 50 Percent of the time with Loaded Dice") +{ + PASSES_RANDOMLY(50, 100, RNG_LOADED_DICE); + + GIVEN { + ASSUME(gItems[ITEM_LOADED_DICE].holdEffect == HOLD_EFFECT_LOADED_DICE); + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LOADED_DICE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BULLET_SEED); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BULLET_SEED, player); + MESSAGE("Hit 5 time(s)!"); + } +} diff --git a/test/move_effect_population_bomb.c b/test/move_effect_population_bomb.c new file mode 100644 index 0000000000..439cbe8097 --- /dev/null +++ b/test/move_effect_population_bomb.c @@ -0,0 +1,6 @@ +#include "global.h" +#include "test_battle.h" + +TO_DO_BATTLE_TEST("Accuracy for Population Bomb is checked independently for each hit") +TO_DO_BATTLE_TEST("Accuracy for Population Bomb is only checked for the first hit with Skill Link") +TO_DO_BATTLE_TEST("Accuracy for Population Bomb is only checked for the first hit with Loaded Dice") diff --git a/test/move_effect_triple_kick.c b/test/move_effect_triple_kick.c index e0a91b0112..4e47d6cc6e 100644 --- a/test/move_effect_triple_kick.c +++ b/test/move_effect_triple_kick.c @@ -3,7 +3,7 @@ ASSUMPTIONS { - ASSUME(gBattleMoves[MOVE_TRIPLE_KICK].effect & EFFECT_TRIPLE_KICK); + ASSUME(gBattleMoves[MOVE_TRIPLE_KICK].effect == EFFECT_TRIPLE_KICK); } SINGLE_BATTLE_TEST("Triple Kick damage is increased by its base damage for each hit") @@ -29,3 +29,7 @@ SINGLE_BATTLE_TEST("Triple Kick damage is increased by its base damage for each EXPECT_MUL_EQ(firstHit, Q_4_12(3.0), thirdHit); } } + +TO_DO_BATTLE_TEST("Accuracy for Triple Kick is checked independently for each hit") +TO_DO_BATTLE_TEST("Accuracy for Triple Kick is only checked for the first hit with Skill Link") +TO_DO_BATTLE_TEST("Accuracy for Triple Kick is only checked for the first hit with Loaded Dice") diff --git a/test/move_flag_three_strikes.c b/test/move_flag_strike_count.c similarity index 76% rename from test/move_flag_three_strikes.c rename to test/move_flag_strike_count.c index 21debc7305..0c71d67313 100644 --- a/test/move_flag_three_strikes.c +++ b/test/move_flag_strike_count.c @@ -1,7 +1,22 @@ #include "global.h" #include "test_battle.h" -SINGLE_BATTLE_TEST("Three-strike flag turns a move into a 3-hit move") +SINGLE_BATTLE_TEST("Two strike count turns a move into a 2-hit move") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_DOUBLE_KICK].strikeCount == 2); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_DOUBLE_KICK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_KICK, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DOUBLE_KICK, player); + MESSAGE("Hit 2 time(s)!"); + } +} + +SINGLE_BATTLE_TEST("Three strike count turns a move into a 3-hit move") { s16 firstHit; s16 secondHit; From 5167b01b14db8a3062d2db35d5428600911f4800 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 29 Jul 2023 12:44:21 +0200 Subject: [PATCH 086/256] var for ability + hold effect, loaded dice comparison fix for small bug introduced in the latest commit --- src/battle_script_commands.c | 10 ++++++---- test/move_effect_population_bomb.c | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6a3ccde0cb..2adfcdcc25 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1708,6 +1708,8 @@ static void Cmd_accuracycheck(void) u16 type, move = cmd->move; u16 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, move); + u16 gBattlerAttackerAbility = GetBattlerAbility(gBattlerAttacker); + u8 gBattlerAttackerHoldEffect = GetBattlerHoldEffect(gBattlerAttacker, TRUE); if (move == ACC_CURR_MOVE) move = gCurrentMove; @@ -1723,7 +1725,7 @@ static void Cmd_accuracycheck(void) } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT || (gSpecialStatuses[gBattlerAttacker].multiHitOn - && (GetBattlerAbility(gBattlerAttacker) == ABILITY_SKILL_LINK || GetBattlerHoldEffect(gBattlerAttacker, TRUE) + && (gBattlerAttackerAbility == ABILITY_SKILL_LINK || gBattlerAttackerHoldEffect == HOLD_EFFECT_LOADED_DICE || !(gBattleMoves[move].effect == EFFECT_TRIPLE_KICK || gBattleMoves[move].effect == EFFECT_POPULATION_BOMB)))) { // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel/Population Bomb @@ -1743,16 +1745,16 @@ static void Cmd_accuracycheck(void) gBattlerAttacker, gBattlerTarget, move, - GetBattlerAbility(gBattlerAttacker), + gBattlerAttackerAbility, GetBattlerAbility(gBattlerTarget), - GetBattlerHoldEffect(gBattlerAttacker, TRUE), + gBattlerAttackerHoldEffect, GetBattlerHoldEffect(gBattlerTarget, TRUE) ); if (!RandomPercentage(RNG_ACCURACY, accuracy)) { gMoveResultFlags |= MOVE_RESULT_MISSED; - if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_BLUNDER_POLICY) + if (gBattlerAttackerHoldEffect == HOLD_EFFECT_BLUNDER_POLICY) gBattleStruct->blunderPolicy = TRUE; // Only activates from missing through acc/evasion checks if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && diff --git a/test/move_effect_population_bomb.c b/test/move_effect_population_bomb.c index 439cbe8097..1305f456c4 100644 --- a/test/move_effect_population_bomb.c +++ b/test/move_effect_population_bomb.c @@ -1,6 +1,29 @@ #include "global.h" #include "test_battle.h" +SINGLE_BATTLE_TEST("Population Bomb can hit ten times") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_POPULATION_BOMB].strikeCount == 10); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_POPULATION_BOMB); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_POPULATION_BOMB, player); + MESSAGE("Hit 10 time(s)!"); + } +} + TO_DO_BATTLE_TEST("Accuracy for Population Bomb is checked independently for each hit") TO_DO_BATTLE_TEST("Accuracy for Population Bomb is only checked for the first hit with Skill Link") TO_DO_BATTLE_TEST("Accuracy for Population Bomb is only checked for the first hit with Loaded Dice") From c76e5deb9f9021bc41dfee4247bd9856c783529e Mon Sep 17 00:00:00 2001 From: Eclipse <115349505+SubzeroEclipse@users.noreply.github.com> Date: Sun, 30 Jul 2023 16:08:56 +0200 Subject: [PATCH 087/256] Fixed Wailord icon (#3183) --- graphics/pokemon/wailord/icon.png | Bin 402 -> 363 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/wailord/icon.png b/graphics/pokemon/wailord/icon.png index 948e312f62d41307f1fdaffd2d08db703de4267c..0d82ae1ade084257db204e86c34394fb1e1ffa8a 100644 GIT binary patch delta 276 zcmV+v0qg#f1M32iV1M>WL_t(I%hi%Q4#F@DhI@lZvgAA@_-2@5^E(2*c zQby0>CBt7GotQB$eYI#Z6br`HPT1PWG8msr;c~Yjc|>bxLw}>KDXc#)TUA2n$+|Zq zZ)I0Pk0yv;XFu%I2!u`p#^Bb2=+Oum<2KB`9tf?CAD4q3xNd5!^6fUbE!JBBsOq20 zv|Dzp1(ZCXu*8T%AI=|fkUJcFz(+XjukQfKaaf>?@Yhc`xW;oF+-M00fBl4mAN?CR ayaAWQ=PWOu^9{=Y0000O{4>%h`q<*OY z008w#L_t(I%hi%Q4#OY}hI0d?^aP;?hy-hI*9D}gNS%_U941SS(kY?oLMIo(J8RV; z7K?w``1MuQ0S$qDxxhe+B1AK$%A8)NbTHXykipfgn?Rw#Wq%;eM#|__d}R2mqZ2d6 zrLPuEhGN0E+6h}5Sq9^CDcqhmB#&tAY-qGKh4trUt4avHSodM%t?WwZ*#zK+{4|8a{`wA(9ESzU2!H*AgKIp;!Ht%1@Yhc`_|gA>!xudW=PUvqkxu{s N002ovPDHLkV1j#qjPw8i From f0d03dd99b95f9fcc186750d30e103e28d2125a3 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Mon, 31 Jul 2023 09:41:53 -0400 Subject: [PATCH 088/256] Set GEN_LATEST to GEN_9 (#3186) --- include/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/config.h b/include/config.h index 2ad84f29cd..5115a9936e 100644 --- a/include/config.h +++ b/include/config.h @@ -71,7 +71,7 @@ #define GEN_7 4 #define GEN_8 5 #define GEN_9 6 -#define GEN_LATEST GEN_8 +#define GEN_LATEST GEN_9 // General settings #define EXPANSION_INTRO TRUE // If TRUE, a custom RHH intro will play after the vanilla copyright screen. From f8c0f91c66eb7cea4728286094c2d06303440c97 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 15:33:14 -0400 Subject: [PATCH 089/256] Using RGB color constants where appropiate --- src/battle_anim_effects_1.c | 18 +++++++++--------- src/battle_anim_effects_2.c | 2 +- src/battle_anim_effects_3.c | 2 +- src/battle_anim_ghost.c | 2 +- src/battle_anim_normal.c | 2 +- src/battle_anim_throw.c | 10 +++++----- src/battle_anim_utility_funcs.c | 4 ++-- src/berry_crush.c | 8 ++++---- src/cable_car.c | 6 +++--- src/contest_painting.c | 2 +- src/slot_machine.c | 14 +++++++------- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 1d9a12cafb..e328849407 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -1045,10 +1045,10 @@ const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate = const u16 gMagicalLeafBlendColors[] = { - RGB(31, 0, 0), + RGB_RED, RGB(31, 19, 0), - RGB(31, 31, 0), - RGB(0, 31, 0), + RGB_YELLOW, + RGB_GREEN, RGB(5, 14, 31), RGB(22, 10, 31), RGB(22, 21, 31), @@ -1971,10 +1971,10 @@ const struct SpriteTemplate gWavyMusicNotesSpriteTemplate = const u16 gParticlesColorBlendTable[][6] = { - {ANIM_TAG_MUSIC_NOTES, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)}, - {ANIM_TAG_BENT_SPOON, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)}, - {ANIM_TAG_SPHERE_TO_CUBE, RGB(31, 31, 31), RGB(31, 31, 24), RGB(31, 31, 17), RGB(31, 31, 10), RGB(31, 31, 3)}, - {ANIM_TAG_LARGE_FRESH_EGG, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)}, + {ANIM_TAG_MUSIC_NOTES, RGB_WHITE, RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)}, + {ANIM_TAG_BENT_SPOON, RGB_WHITE, RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)}, + {ANIM_TAG_SPHERE_TO_CUBE, RGB_WHITE, RGB(31, 31, 24), RGB(31, 31, 17), RGB(31, 31, 10), RGB(31, 31, 3)}, + {ANIM_TAG_LARGE_FRESH_EGG, RGB_WHITE, RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)}, }; const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate = @@ -4343,7 +4343,7 @@ static void AnimLockOnTarget_Step4(struct Sprite *sprite) sprite->data[1] = 0; } - BlendPalettes(GetBattlePalettesMask(TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE), sprite->data[1], RGB(31, 31, 31)); + BlendPalettes(GetBattlePalettesMask(TRUE, TRUE, TRUE, TRUE, TRUE, FALSE, FALSE), sprite->data[1], RGB_WHITE); if (sprite->data[1] == 16) { int pal; @@ -5178,7 +5178,7 @@ void AnimTask_DoubleTeam(u8 taskId) for (i = 1; i < 16; i++) gPlttBufferUnfaded[r3 + i] = gPlttBufferUnfaded[r4 + i]; - BlendPalette(r3, 16, 11, RGB(0, 0, 0)); + BlendPalette(r3, 16, 11, RGB_BLACK); task->data[3] = 0; i = 0; while (i < 2 && (obj = CloneBattlerSpriteWithBlend(0)) >= 0) diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 89696d7dd3..c10bc02b8e 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3114,7 +3114,7 @@ static void AnimTask_FakeOut_Step2(u8 taskId) { gTasks[taskId].data[11] = 0x88; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN); - BlendPalettes(GetBattlePalettesMask(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), 16, RGB(31, 31, 31)); + BlendPalettes(GetBattlePalettesMask(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), 16, RGB_WHITE); } else if (gTasks[taskId].data[10] > 4) { diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 75a6ee22d9..6c5fd59c86 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -3896,7 +3896,7 @@ static void AnimTask_FacadeColorBlend_Step(u8 taskId) } else { - BlendPalette(gTasks[taskId].data[2], 16, 0, RGB(0, 0, 0)); + BlendPalette(gTasks[taskId].data[2], 16, 0, RGB_BLACK); DestroyAnimVisualTask(taskId); } } diff --git a/src/battle_anim_ghost.c b/src/battle_anim_ghost.c index 228ba12cee..fed1325bc3 100644 --- a/src/battle_anim_ghost.c +++ b/src/battle_anim_ghost.c @@ -1005,7 +1005,7 @@ static void AnimTask_CurseStretchingBlackBg_Step1(u8 taskId) top = 0; bottom = 112; selectedPalettes = GetBattlePalettesMask(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE); - BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB_BLACK); gTasks[taskId].func = AnimTask_CurseStretchingBlackBg_Step2; } diff --git a/src/battle_anim_normal.c b/src/battle_anim_normal.c index 1c90a3d641..94bbb6ee4e 100644 --- a/src/battle_anim_normal.c +++ b/src/battle_anim_normal.c @@ -709,7 +709,7 @@ static void AnimTask_FlashAnimTagWithColor_Step2(u8 taskId) if (!gPaletteFade.active) { selectedPalettes = 1 << (IndexOfSpritePaletteTag(gTasks[taskId].data[7]) + 16); - BeginNormalPaletteFade(selectedPalettes, 0, 0, 0, RGB(0, 0, 0)); + BeginNormalPaletteFade(selectedPalettes, 0, 0, 0, RGB_BLACK); DestroyAnimVisualTask(taskId); } } diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index 7a7a423834..e7c7a560b2 100755 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -384,7 +384,7 @@ const u16 gBallOpenFadeColors[] = [BALL_PREMIER] = RGB(31, 9, 10), // Garbage data - RGB(0, 0, 0), + RGB_BLACK, RGB(1, 16, 0), RGB(3, 0, 1), RGB(1, 8, 0), @@ -1309,12 +1309,12 @@ static void SpriteCB_Ball_Capture_Step(struct Sprite *sprite) if (sprite->sTimer == 40) { PlaySE(SE_RG_BALL_CLICK); - BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB(0, 0, 0)); + BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB_BLACK); MakeCaptureStars(sprite); } else if (sprite->sTimer == 60) { - BeginNormalPaletteFade(0x10000 << sprite->oam.paletteNum, 2, 6, 0, RGB(0, 0, 0)); + BeginNormalPaletteFade(0x10000 << sprite->oam.paletteNum, 2, 6, 0, RGB_BLACK); } else if (sprite->sTimer == 95) { @@ -1352,7 +1352,7 @@ static void SpriteCB_Ball_FadeOut(struct Sprite *sprite) SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); paletteIndex = IndexOfSpritePaletteTag(sprite->template->paletteTag); - BeginNormalPaletteFade(1 << (paletteIndex + 0x10), 0, 0, 16, RGB(31, 31, 31)); + BeginNormalPaletteFade(1 << (paletteIndex + 0x10), 0, 0, 16, RGB_WHITE); sprite->sState++; break; case 1: @@ -2041,7 +2041,7 @@ u8 LaunchBallFadeMonTask(bool8 unfadeLater, u8 spritePalNum, u32 selectedPalette gTasks[taskId].func = Task_FadeMon_ToNormal; } - BeginNormalPaletteFade(selectedPalettes, 0, 0, 16, RGB(31, 31, 31)); + BeginNormalPaletteFade(selectedPalettes, 0, 0, 16, RGB_WHITE); return taskId; } diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index b399bd5b5c..afc3d61ce4 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -133,10 +133,10 @@ void AnimTask_SetCamouflageBlend(u8 taskId) gBattleAnimArgs[4] = RGB(14, 9, 3); break; case BATTLE_TERRAIN_BUILDING: - gBattleAnimArgs[4] = RGB(31, 31, 31); + gBattleAnimArgs[4] = RGB_WHITE; break; case BATTLE_TERRAIN_PLAIN: - gBattleAnimArgs[4] = RGB(31, 31, 31); + gBattleAnimArgs[4] = RGB_WHITE; break; } diff --git a/src/berry_crush.c b/src/berry_crush.c index 812ca19344..c0a75b1994 100755 --- a/src/berry_crush.c +++ b/src/berry_crush.c @@ -2898,13 +2898,13 @@ static u32 Cmd_FinishGame(struct BerryCrushGame *game, u8 *args) case 0: game->gameState = STATE_FINISHED; PlaySE(SE_M_STRENGTH); - BlendPalettes(PALETTES_ALL, 8, RGB(31, 31, 0)); + BlendPalettes(PALETTES_ALL, 8, RGB_YELLOW); game->gfx.counter = 2; break; case 1: if (--game->gfx.counter != (u8)-1) return 0; - BlendPalettes(PALETTES_ALL, 0, RGB(31, 31, 0)); + BlendPalettes(PALETTES_ALL, 0, RGB_YELLOW); game->gfx.vibrationIdx = 4; game->gfx.counter = 0; game->gfx.numVibrations = sIntroOutroVibrationData[game->gfx.vibrationIdx][0]; @@ -2955,13 +2955,13 @@ static u32 Cmd_HandleTimeUp(struct BerryCrushGame *game, u8 *args) case 0: game->gameState = STATE_TIMES_UP; PlaySE(SE_FAILURE); - BlendPalettes(PALETTES_ALL, 8, RGB(31, 0, 0)); + BlendPalettes(PALETTES_ALL, 8, RGB_RED); game->gfx.counter = 4; break; case 1: if (--game->gfx.counter != (u8)-1) return 0; - BlendPalettes(PALETTES_ALL, 0, RGB(31, 0, 0)); + BlendPalettes(PALETTES_ALL, 0, RGB_RED); game->gfx.counter = 0; break; case 2: diff --git a/src/cable_car.c b/src/cable_car.c index 7d18df7b7f..8a666a536e 100644 --- a/src/cable_car.c +++ b/src/cable_car.c @@ -237,7 +237,7 @@ void CableCar(void) { LockPlayerFieldControls(); CreateTask(Task_LoadCableCar, 1); - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); } static void CB2_LoadCableCar(void) @@ -341,7 +341,7 @@ static void CB2_LoadCableCar(void) gMain.state++; break; case 8: - BeginNormalPaletteFade(PALETTES_ALL, 3, 16, 0, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 3, 16, 0, RGB_BLACK); FadeInNewBGM(MUS_CABLE_CAR, 1); SetBgRegs(TRUE); gMain.state++; @@ -459,7 +459,7 @@ static void Task_CableCar(u8 taskId) if (sCableCar->timer == 570) { sCableCar->state = 3; - BeginNormalPaletteFade(PALETTES_ALL, 3, 0, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 3, 0, 16, RGB_BLACK); FadeOutBGM(4); } break; diff --git a/src/contest_painting.c b/src/contest_painting.c index a1a8a51975..30ca51c966 100644 --- a/src/contest_painting.c +++ b/src/contest_painting.c @@ -248,7 +248,7 @@ static void HoldContestPainting(void) if ((JOY_NEW(A_BUTTON)) || (JOY_NEW(B_BUTTON))) { sHoldState++; - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); } if (sVarsInitialized) diff --git a/src/slot_machine.c b/src/slot_machine.c index 581e5c78e0..5b058b9702 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -1285,7 +1285,7 @@ static void Task_SlotMachine(u8 taskId) // SLOTTASK_UNFADE static bool8 SlotTask_UnfadeScreen(struct Task *task) { - BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); LoadPikaPowerMeter(sSlotMachine->pikaPowerBolts); sSlotMachine->state++; // SLOTTASK_WAIT_FADE return FALSE; @@ -1731,7 +1731,7 @@ static bool8 SlotTask_EndGame(struct Task *task) { SetCoins(sSlotMachine->coins); TryPutFindThatGamerOnAir(GetCoins()); - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); sSlotMachine->state++; // SLOTTASK_FREE return FALSE; } @@ -3904,7 +3904,7 @@ static void Task_InfoBox(u8 taskId) static void InfoBox_FadeIn(struct Task *task) { - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); task->tState++; } @@ -3928,7 +3928,7 @@ static void InfoBox_AddText(struct Task *task) { AddTextPrinterParameterized3(1, FONT_NORMAL, 2, 5, sColors_ReeltimeHelp, 0, gText_ReelTimeHelp); CopyWindowToVram(1, COPYWIN_FULL); - BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); task->tState++; } @@ -3940,7 +3940,7 @@ static void InfoBox_WaitInput(struct Task *task) ClearWindowTilemap(1); CopyWindowToVram(1, COPYWIN_MAP); RemoveWindow(1); - BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); task->tState++; } } @@ -3961,7 +3961,7 @@ static void InfoBox_CreateDigitalDisplay(struct Task *task) static void InfoBox_LoadPikaPowerMeter(struct Task *task) { LoadPikaPowerMeter(sSlotMachine->pikaPowerBolts); - BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB(0, 0, 0)); + BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_BLACK); task->tState++; } @@ -7853,7 +7853,7 @@ static const u16 sUnusedColors[] = RGB(27, 27, 27), RGB(8, 11, 26), RGB(11, 21, 13), - RGB(31, 31, 31), + RGB_WHITE, RGB(16, 26, 21), RGB(0, 22, 31), RGB(26, 21, 0), From 15c0ea253a5b81dc2ac4446bef44f7e6023ff804 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Mon, 31 Jul 2023 17:17:50 -0400 Subject: [PATCH 090/256] Animation script cleanup and fixes - Part 1 (#3185) * Cleaned: visible, monbg & invisible * Cleaned: createvisualtaskontargets AnimTask_ShakeMon * Cleaned: createvisualtask SoundTask_PlayDoubleCry * Fixed: createvisualtask SoundTask_PlayCryWithEcho Checksum changed from 7a05d0b5b2cd65346597a9a598c7f7cde1570475 to 35eae7f4357391b1ce38f0d79715f47f92c82087 * Cleaned: createvisualtask SoundTask_PlayCryHighPitch * Cleaned: createvisualtask AnimTask_WindUpLunge * Cleaned: createvisualtask AnimTask_TranslateMonEllipticalRespectSide * Cleaned: createvisualtask AnimTask_SwayMon * Cleaned: createvisualtask AnimTask_Splash * Removed bad use of: createvisualtask AnimTask_Splash in Move_ROCK_CLIMB It wasn't breaking the animation because ANIM_ATTACKER (0) was being passed for the hop count, essentially skipping the animation. * Cleaned: createvisualtask AnimTask_ShockWaveProgressingBolt & AnimTask_ShakeMonInPlace * Fixed Move_PLASMA_FISTS's use of AnimTask_ShockWaveProgressingBolt --- data/battle_anim_scripts.s | 163 ++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 82 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 7c995ef722..f41f541a17 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1750,7 +1750,7 @@ Move_LAST_RESORT: delay 10 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER waitplaysewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 8 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 18, 6, 2, 4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4 waitforvisualfinish createsprite gSimplePaletteBlendSpriteTemplate, 2, 5, 1, 0, 16, 16, RGB(31, 31, 31) createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 0, 20, 0, 0, 4 @@ -1881,7 +1881,7 @@ Move_MAGNET_RISE: delay 0 createvisualtask AnimTask_BlendColorCycle 2, 31, -31, 1, 5, 5, RGB(31, 31, 20) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_WindUpLunge, 5, 7, 0, -12, 4, 10, 10, 12, 6 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_OPPONENT_RIGHT, 0, -12, 4, 10, 10, 12, 6 createsprite gSparkElectricitySpriteTemplate, 0, 7, 32, 24, 190, 12, 0, 1, 0 delay 0 createsprite gSparkElectricitySpriteTemplate, 0, 7, 80, 24, 22, 12, 0, 1, 0 @@ -2121,7 +2121,7 @@ Move_POISON_JAB: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, -4, -6, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET createsprite gPoisonJabProjectileSpriteTemplate, ANIM_TARGET, 2, 2, 31, 10 - createvisualtask AnimTask_SwayMon, 5, 0, 3, 0x2000, 6, ANIM_TARGET + createvisualtask AnimTask_SwayMon, 5, 0, 3, 8192, 6, ANIM_TARGET createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_TARGET, RGB(16, 0, 16), 12, 0, 1 delay 2 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 6, 4, 1, 3 @@ -2651,7 +2651,7 @@ GigaImpactContinuity: delay 1 createsprite gSlideMonToOffsetSpriteTemplate 2, 5, 1, -16, 0, 0, 4 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace 2, 5, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 4, 0, 12, 1 waitforvisualfinish delay 2 createsprite gSlideMonToOriginalPosSpriteTemplate 2, 3, 0, 0, 5 @@ -2957,7 +2957,7 @@ Move_SHADOW_SNEAK: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x7, 0x0000 waitforvisualfinish playsewithpan SE_M_FAINT_ATTACK, SOUND_PAN_ATTACKER - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x12, 0x6, 0x1, 0x3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 3 createvisualtask AnimTask_AttackerFadeToInvisible, 0x2, 0x1 waitforvisualfinish clearmonbg ANIM_ATTACKER @@ -3168,7 +3168,6 @@ Move_FLASH_CANNON: end Move_ROCK_CLIMB: - createvisualtask AnimTask_Splash, 2, 2, ANIM_ATTACKER, 3 delay 8 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 3 waitforvisualfinish @@ -3828,19 +3827,19 @@ Move_CHATTER: monbg ANIM_DEF_PARTNER createvisualtask AnimTask_UproarDistortion, 2, 0 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1f, 8 - createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0x1d, -12, 0 createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0xffe3, 1 delay 16 createvisualtask AnimTask_UproarDistortion, 2, 0 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1f, 8 - createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 12, 0xffe3, 1 createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0xffe3, -12, 0 delay 16 createvisualtask AnimTask_UproarDistortion, 2, 0 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x1f, 8 - createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0x18, 0xffe8, 1 createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0, 0xffe8, 0xffe8, 0 waitforvisualfinish @@ -4105,7 +4104,7 @@ Move_AQUA_JET: delay 12 call RisingWaterHitEffect waitforvisualfinish - visible 0 + visible ANIM_ATTACKER clearmonbg ANIM_DEF_PARTNER blendoff end @@ -4290,7 +4289,7 @@ Move_ROAR_OF_TIME: createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 16, 0, 0 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 16, -1 - createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL delay 0x20 createvisualtask AnimTask_ShakeMonInPlace, 2, 1, 10, 0, 20, 1 playsewithpan 170, SOUND_PAN_TARGET @@ -4636,7 +4635,7 @@ ShadowForcePrep: createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_DEF_PARTNER, TRUE waitforvisualfinish clearmonbg ANIM_ATTACKER - invisible 0 + invisible ANIM_ATTACKER delay 1 goto ShadowForceWaitEnd ShadowForceAttack: @@ -4841,7 +4840,7 @@ Move_AUTOTOMIZE: loadspritegfx ANIM_TAG_METAL_BITS @Metal Bits setalpha 12, 8 monbg ANIM_ATK_PARTNER - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x18, 0x6, 0x4, 0x4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 4, 4 createvisualtask AnimTask_TraceMonBlended 0x2, 0x0, 0x4, 0x7, 0xa playsewithpan SE_ELEVATOR, SOUND_PAN_ATTACKER createsprite gAutotomizeMetalShardsTemplate, ANIM_ATTACKER, 0x2, 0x0, 0x0 @@ -4894,7 +4893,7 @@ Move_TELEKINESIS:: createsprite gSpinningSparkleSpriteTemplate, ANIM_ATTACKER, 0xd, 0x14, 0xffec waitforvisualfinish loopsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET, 0xa, 0x3 - createvisualtask AnimTask_SwayMon, 0x5, 0x1, 0x18, 0xD0, 0x1, ANIM_TARGET + createvisualtask AnimTask_SwayMon, 5, 1, 24, 208, 1, ANIM_TARGET waitforvisualfinish delay 0xA createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x9, 0x0, 0x0 @@ -5147,7 +5146,7 @@ Move_FLAME_CHARGE: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET loopsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER, 0x20, 0x6 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0xc, 0x6, 0x6, 0x3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 6, 3 call FlameChargeSwirl delay 0x9 call FlameChargeSwirl @@ -5268,7 +5267,7 @@ Move_SIMPLE_BEAM: call SimpleBeamsRegular call SimpleBeamsRegular createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x7FFF - createvisualtask AnimTask_SwayMon, 0x5, 0x0, 0x6, 0x800, 0x4, ANIM_TARGET + createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 4, ANIM_TARGET call SimpleBeamWithRings call SimpleBeamWithRings call SimpleBeamWithRings @@ -5319,7 +5318,7 @@ Move_ENTRAINMENT: Move_AFTER_YOU: loadspritegfx ANIM_TAG_ANGER @rage loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @green color - createvisualtask AnimTask_SwayMon, 0x5, 0x1, 0xF, 0x600, 0x2, ANIM_ATTACKER + createvisualtask AnimTask_SwayMon, 5, 1, 15, 1536, 2, ANIM_ATTACKER delay 0x1 createsprite gAfterYouGreenRageTemplate, ANIM_ATTACKER, 2, 0x0, 0xffec, 0xffe0 createsprite gAfterYouGreenRageTemplate, ANIM_ATTACKER, 2, 0x0, 0xfffb, 0xffe5 @@ -5336,7 +5335,7 @@ Move_ROUND: createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish monbg ANIM_TARGET - createvisualtask SoundTask_PlayCryHighPitch, 2, 0, 255 + createvisualtask SoundTask_PlayCryHighPitch, 2, ANIM_ATTACKER, 255 createvisualtask AnimTask_UproarDistortion, 2, 0 createsprite gWavyMusicNotesSpriteTemplate, ANIM_TARGET, 2, 7, 0, 12 delay 5 @@ -5379,7 +5378,7 @@ Move_CHIP_AWAY: waitforvisualfinish monbg ANIM_ATK_PARTNER setalpha 12, 8 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x18, 0x6, 0x1, 0x5 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 delay 0x4 createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x6, 0x1 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x1, 0x1 @@ -5658,7 +5657,7 @@ Move_CIRCLE_THROW: monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_M_VITAL_THROW, SOUND_PAN_ATTACKER - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0xc, 0x4, 0x1, 0x2 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 1, 2 waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x14, 0x0, 0x0, 0x4 delay 0x2 @@ -5686,8 +5685,8 @@ Move_INCINERATE: delay 1 createsprite gIncinerateSpriteTemplate, ANIM_TARGET, 2, 6, 20, 0, -16, 24, 20 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtask AnimTask_SwayMon, 5, 0, 3, 0xc00, 8, ANIM_TARGET - createvisualtask AnimTask_SwayMon, 5, 0, 3, 0xc00, 8, ANIM_DEF_PARTNER + createvisualtask AnimTask_SwayMon, 5, 0, 3, 3072, 8, ANIM_TARGET + createvisualtask AnimTask_SwayMon, 5, 0, 3, 3072, 8, ANIM_DEF_PARTNER delay 3 createsprite gIncinerateSpriteTemplate, ANIM_TARGET, 2, 6, 20, 0, -16, 24, 20 delay 3 @@ -6256,7 +6255,7 @@ VoltSwitchLast: @ Attacking the same side requires a change of direction @ why would you attack your partner though?! VoltSwitchAgainstPartner: - createvisualtask AnimTask_SlideOffScreen, 5, ANIM_ATTACKER, +2 + createvisualtask AnimTask_SlideOffScreen, 5, ANIM_ATTACKER, 2 goto VoltSwitchContinue Move_STRUGGLE_BUG: @@ -6286,7 +6285,7 @@ Move_STRUGGLE_BUG: end Move_BULLDOZE: - createvisualtask AnimTask_Splash, 0x2, 0x0, 0x3 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 0x8 goto Move_EARTHQUAKE @@ -7422,7 +7421,7 @@ Move_RELIC_SONG: monbg ANIM_DEF_PARTNER createvisualtask AnimTask_MusicNotesRainbowBlend, 0x2 waitforvisualfinish - createvisualtask SoundTask_PlayCryWithEcho, 2, ANIM_ATTACKER, 2 + createvisualtask SoundTask_PlayCryWithEcho, 2, FALSE createvisualtask AnimTask_UproarDistortion, 0x2, 0x0 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x8 createsprite gJaggedMusicNoteSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x1d, 0xfff4, 0x0 @@ -7572,7 +7571,7 @@ Move_BOLT_STRIKE:: clearmonbg ANIM_ATTACKER playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER waitplaysewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 0x8 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x12, 0x6, 0x2, 0x4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4 delay 0xA fadetobg BG_BOLT_STRIKE waitbgfadeout @@ -7928,7 +7927,7 @@ Move_V_CREATE:: createvisualtask AnimTask_StartSlidingBg, 0x5, 0xA00, 0x0, 0x1, 0xffff waitbgfadein playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER - createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x28, 0xa + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10 delay 0x23 createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x32, 0x1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x1f @@ -8177,10 +8176,10 @@ Move_ROTOTILLER:: waitforvisualfinish createsprite gDirtMoundSpriteTemplate, ANIM_ATTACKER, 1, 0x0, 0x0, 0xb4 createsprite gDirtMoundSpriteTemplate, ANIM_ATTACKER, 1, 0x0, 0x1, 0xb4 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x6, 0x4, 0x2, 0x4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 6, 4, 2, 4 call DigThrowDirt call DigThrowDirt - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x6, 0x4, 0x2, 0x4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 6, 4, 2, 4 call DigThrowDirt call DigThrowDirt waitforvisualfinish @@ -8465,7 +8464,7 @@ Move_DISARMING_VOICE:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6e7d waitforvisualfinish - createvisualtask SoundTask_PlayDoubleCry, 0x2, 0x0, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL call RoarEffect delay 0xA createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x1, 0x0, 0x1A, 0x1 @@ -8482,7 +8481,7 @@ Move_PARTING_SHOT: fadetobg BG_DARK waitbgfadein delay 0 - createvisualtask SoundTask_PlayDoubleCry, 2, 0, 255 + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL call RoarEffect delay 10 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 @@ -8769,7 +8768,7 @@ Move_PLAY_ROUGH:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_PINK_HEART loadspritegfx ANIM_TAG_DUCK - monbg 0x3 + monbg ANIM_DEF_PARTNER setalpha 12, 8 playsewithpan SE_M_CRABHAMMER, SOUND_PAN_ATTACKER waitplaysewithpan SE_M_FLAMETHROWER, SOUND_PAN_TARGET, 0xa @@ -8875,7 +8874,7 @@ Move_BOOMBURST: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_THIN_RING createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x4 | 0x8 | 0x10 - createvisualtask SoundTask_PlayCryWithEcho, 5 + createvisualtask SoundTask_PlayCryWithEcho, 5, FALSE createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0 createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 45, 0, 0, 0, 0, 0, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 @@ -8952,14 +8951,14 @@ Move_KINGS_SHIELD:: Move_PLAY_NICE:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_SANDSTORM, SOUND_PAN_ATTACKER, 0xc, 0x3 - createvisualtask AnimTask_SwayMon, 0x5, 0x0, 0xc, 0x1000, 0x4, 0x0 + createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER delay 0xF createsprite gRedHeartProjectileSpriteTemplate, ANIM_TARGET, 3, 0x14, 0xfff8 end Move_CONFIDE:: loadspritegfx ANIM_TAG_CONFIDE @Confide Bubble - createvisualtask AnimTask_Splash, 0x2, ANIM_ATTACKER, 0x3 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 createsprite gConfideBubbleTemplate, ANIM_ATTACKER, 11, 0x0, 0x64 playsewithpan SE_M_METRONOME, SOUND_PAN_ATTACKER waitforvisualfinish @@ -9617,7 +9616,7 @@ Move_HOLD_HANDS:: loadspritegfx ANIM_TAG_MAGENTA_HEART @charm loadspritegfx ANIM_TAG_VERTICAL_HEX @red playsewithpan SE_M_PETAL_DANCE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0xc, 0x6, 0x6, 0x3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 6, 3 createsprite gHoldHandsHeartTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x8, 0x8c delay 0x8 createsprite gHoldHandsHeartTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x8, 0x8c @@ -10362,7 +10361,7 @@ Move_HYPERSPACE_FURY:: createsprite gHyperspaceFuryHandTemplate, ANIM_TARGET, 2, 0x1, 0x0, 0x10, 0x10, 0x10 call HyperspaceFuryRandomImpact delay 0x7 - createvisualtask SoundTask_PlayDoubleCry, 0x2, ANIM_ATTACKER, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL visible ANIM_ATTACKER createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x0, 0x3, 0x20, 0x1 playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET @@ -10862,7 +10861,7 @@ SolarBladeUnleash: createvisualtask AnimTask_BlendBattleAnimPal 10, (F_PAL_BG | F_PAL_BATTLERS), 1, 0, 6, 0x7fff waitforvisualfinish playsewithpan SE_M_SWORDS_DANCE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x10, 0x6, 0x1, 0x4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 16, 6, 1, 4 createsprite gSwordsDanceBladeSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0 call SolarBladeSunRays call SolarBladeSunRays @@ -12125,40 +12124,40 @@ ShellTrapUnleash: delay 0x3 call ShellTrapFireLaunch2 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 delay 0x3 waitforvisualfinish clearmonbg ANIM_TARGET @@ -12181,31 +12180,31 @@ ShellTrapFireLaunch1: return ShellTrapFireLaunch2: createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0x0, 0x0, 0x0, 0x38, 0x4, 0x4, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0xfff6, 0x0, 0xfff6, 0x38, 0x4, 0x4, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0xa, 0x0, 0xa, 0x38, 0xfffc, 0x3, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0xffec, 0x0, 0xffec, 0x38, 0xfffc, 0x5, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0xf, 0x0, 0xf, 0x38, 0x4, 0x4, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0xffec, 0x0, 0xffec, 0x38, 0x4, 0x4, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 createsprite gShellTrapFireHitsTemplate, ANIM_ATTACKER, 40, 0x0, 0x14, 0x0, 0x14, 0x38, 0x4, 0x4, 0x1 - createvisualtaskontargets AnimTask_ShakeMon, 0x2, 0, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtaskontargets AnimTask_ShakeMon, 2, 0, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER delay 0x3 return @@ -12324,7 +12323,7 @@ Move_STOMPING_TANTRUM:: loadspritegfx ANIM_TAG_IMPACT @pound hit loadspritegfx ANIM_TAG_SMALL_EMBER @hit color monbg ANIM_TARGET - createvisualtask AnimTask_Splash, 0x2, ANIM_ATTACKER, 0x3 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 0x5 createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x5 createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x5 @@ -12386,7 +12385,7 @@ Move_ACCELEROCK:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATK_PARTNER setalpha 12, 8 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x18, 0x6, 0x1, 0x5 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 createvisualtask AnimTask_TraceMonBlended, 0x2, 0x0, 0x4, 0x7, 0x3 playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER delay 0x4 @@ -12559,7 +12558,7 @@ SpectralThiefUnleash: delay 0x5 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET createsprite gSpectralThiefBlackSmokeTemplate, ANIM_TARGET, 2, 0x8, 0x8, 0x0, 0x0 - invisible 0x0 + invisible ANIM_ATTACKER delay 0x2 createsprite gSpectralThiefBlackSmokeTemplate, ANIM_TARGET, 2, 0xfff8, 0xfff8, 0x0, 0x0 delay 0x2 @@ -12625,7 +12624,7 @@ SpectralThiefUnleash: playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 waitforvisualfinish - visible 0x0 + visible ANIM_ATTACKER delay 0x2 restorebg waitbgfadein @@ -12856,10 +12855,10 @@ Move_ZING_ZAP:: call ZingZapSparks2 createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x4, 0x0, 0x6, 0x1 delay 0xA - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x18, 0x6, 0x1, 0x5 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 delay 0x4 call ZingZapSparks1 - invisible 0x0 + invisible ANIM_ATTACKER createsprite gZingZapYellowBallTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0xF delay 0xA call ZingZapSparks2 @@ -12870,7 +12869,7 @@ Move_ZING_ZAP:: createsprite gZingZapRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x0, 0x1f, 0x8 createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 call ElectricityEffect - visible 0x0 + visible ANIM_ATTACKER waitforvisualfinish clearmonbg ANIM_TARGET end @@ -13102,7 +13101,7 @@ Move_PLASMA_FISTS:: call PlasmaFistSpark2 waitforvisualfinish clearmonbg ANIM_ATTACKER - createvisualtask AnimTask_ShockWaveProgressingBolt, 0x5 + createvisualtask AnimTask_ShockWaveProgressingBolt, 5, ANIM_ATTACKER waitforvisualfinish monbg ANIM_TARGET call PlasmaFistsImpact @@ -13989,7 +13988,7 @@ Move_SPIRIT_BREAK:: createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_TEAL_ALERT, 0x0, 0xA, 0xA, 0x7DDE createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE monbg ANIM_DEF_PARTNER - createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -20, 8, 48, 8, 56, 6 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET call MindReaderEyeSpikeEffect @@ -14072,7 +14071,7 @@ Move_OBSTRUCT:: loadspritegfx ANIM_TAG_OBSTRUCT_CROSS createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_NOISE_LINE, 0, 10, 10, 0 @Black createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PROTECT, 0, 10, 10, 0 @Black - createvisualtask SoundTask_PlayDoubleCry, 0x2, ANIM_ATTACKER, 0xff + createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL call RoarEffect waitforvisualfinish delay 0x10 @@ -14096,7 +14095,7 @@ Move_FALSE_SURRENDER:: waitbgfadein delay 0x0 playsewithpan SE_M_FAINT_ATTACK, 0xc0 - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, 0x0, 0x12, 0x6, 0x1, 0x3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 1, 3 createvisualtask AnimTask_AttackerFadeToInvisible, 0x2, 0x1 waitforvisualfinish clearmonbg ANIM_ATTACKER @@ -14885,11 +14884,11 @@ Move_CORROSIVE_GAS:: @Credits to Skeli Move_COACHING:: playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER - createvisualtask AnimTask_Splash, 0x2, ANIM_ATTACKER, 0x1 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 1 waitforvisualfinish playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x2, 0x0, 0xA, 0x1E5D - createvisualtask AnimTask_Splash, 0x2, ANIM_TARGET, 0x1 + createvisualtask AnimTask_Splash, 2, ANIM_TARGET, 1 waitforvisualfinish end @@ -15554,7 +15553,7 @@ Move_PSYSHIELD_BASH:: setalpha 12, 8 playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xB, 0x7FAF @;Light blue - createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x38, 0xa + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 56, 10 delay 0x23 createsprite gSpriteTemplate_PsyshieldBashHit, ANIM_ATTACKER, 4, -10, 0x0, 0x1, 0x0 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET @@ -15718,7 +15717,7 @@ Move_RAGING_FURY:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 0x8, 0x3 createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 0x2, 0x5, 0x3, 0x8, 0x1f - createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x20, 0x8, 0x38, 0x6 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -20, 8, 32, 8, 56, 6 call OutrageFlames call OutrageFlames delay 10 @@ -15737,7 +15736,7 @@ Move_WAVE_CRASH:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @Bubbles on attacker monbg ANIM_DEF_PARTNER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xB, 0x726A - createvisualtask AnimTask_WindUpLunge, 0x5, ANIM_ATTACKER, 0xffec, 0x8, 0x30, 0x8, 0x38, 0x6 + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -20, 8, 48, 8, 56, 6 call WaterfallBubblesOnAttacker waitforvisualfinish createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 @@ -15848,7 +15847,7 @@ MountainGaleIceRock: @Credits to Skeli Move_VICTORY_DANCE:: loadspritegfx ANIM_TAG_HOLLOW_ORB - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 0x2, ANIM_ATTACKER, 0x28, 0x6, 0x3, 0x3 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 40, 6, 3, 3 playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER delay 0x8 createvisualtask AnimTask_BlendPalInAndOutByTag, 0x5, ANIM_TAG_HOLLOW_ORB, 0x0B1D, 0xe, 0x0, 0x3 @;Light orange @@ -19003,7 +19002,7 @@ Move_FLASH: end Move_SPLASH: - createvisualtask AnimTask_Splash, 2, 0, 3 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 8 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 3 waitforvisualfinish @@ -19082,7 +19081,7 @@ Move_SKETCH: createsprite gPencilSpriteTemplate, ANIM_TARGET, 2 waitforvisualfinish clearmonbg ANIM_TARGET - createvisualtask AnimTask_Splash, 2, 0, 2 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 2 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 2 end @@ -20021,7 +20020,7 @@ Move_TEETER_DANCE: Move_MUD_SPORT: loadspritegfx ANIM_TAG_MUD_SAND - createvisualtask AnimTask_Splash, 2, 0, 6 + createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 6 delay 24 createsprite gMudsportMudSpriteTemplate, ANIM_TARGET, 2, 0, -4, -16 createsprite gMudsportMudSpriteTemplate, ANIM_TARGET, 2, 0, 4, -12 @@ -26794,7 +26793,7 @@ General_FormChange: end General_SlideOffScreen: - createvisualtask AnimTask_SlideOffScreen, 5, ANIM_TARGET, +3 + createvisualtask AnimTask_SlideOffScreen, 5, ANIM_TARGET, 3 waitforvisualfinish createvisualtask AnimTask_SetInvisible, 1, ANIM_TARGET, TRUE waitforvisualfinish @@ -27153,7 +27152,7 @@ Move_BREAKNECK_BLITZ:: waitbgfadein setalpha 12, 8 delay 0x10 - createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x28, 0xa + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10 delay 0x23 invisible ANIM_ATTACKER createsprite gGrowingSuperpowerTemplate, ANIM_TARGET, 3, 0x0 @@ -27264,7 +27263,7 @@ Move_ALL_OUT_PUMMELING: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET delay 0x10 - createvisualtask AnimTask_WindUpLunge, 0x5, 0x0, 0xffe8, 0x8, 0x17, 0xa, 0x28, 0xa + createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10 delay 0x23 invisible ANIM_ATTACKER createsprite gGrowingSuperpowerTemplate, ANIM_TARGET, 3, 0x0 @@ -29469,10 +29468,10 @@ TwinkleTackleFinish: delay 0x5 visible ANIM_ATTACKER visible ANIM_TARGET - createvisualtask AnimTask_SwayMon, 0x5, 0x0, 0x8, 2048, 1, ANIM_ATTACKER + createvisualtask AnimTask_SwayMon, 5, 0, 8, 2048, 1, ANIM_ATTACKER call TwinkleTackleStars waitforvisualfinish - createvisualtask AnimTask_SwayMon, 0x5, 0x0, 0x8, 2048, 1, ANIM_ATTACKER + createvisualtask AnimTask_SwayMon, 5, 0, 8, 2048, 1, ANIM_ATTACKER call TwinkleTackleStars waitforvisualfinish loadspritegfx ANIM_TAG_SPARKLE_4 @detect From d3f170ef0f70eaa41be139e460dc7bff65ecb51f Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 30 Jul 2023 22:41:27 -0400 Subject: [PATCH 091/256] Cleaned: createvisualtask AnimTask_ShakeMonInPlace --- data/battle_anim_scripts.s | 66 +++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index f41f541a17..8cbc60d555 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1762,8 +1762,8 @@ Move_LAST_RESORT: waitforvisualfinish createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 0, 0 createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 1, 0 - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 0, 4, 0, 12, 1 - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 0, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 4, 0, 12, 1 createsprite gSimplePaletteBlendSpriteTemplate, 2, 5, 1, 2, 16, 0, RGB(31, 31, 31) waitforvisualfinish createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 0, 1 @@ -2246,7 +2246,7 @@ Move_AQUA_TAIL: createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 1, -12, 10, 0, 3 createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 0, 5 delay 3 - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 0, 3, 6, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 0, 3, 6, 1 delay 5 createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 1, 0, 6 delay 10 @@ -2651,7 +2651,7 @@ GigaImpactContinuity: delay 1 createsprite gSlideMonToOffsetSpriteTemplate 2, 5, 1, -16, 0, 0, 4 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 4, 0, 12, 1 waitforvisualfinish delay 2 createsprite gSlideMonToOriginalPosSpriteTemplate 2, 3, 0, 0, 5 @@ -3084,7 +3084,7 @@ Move_ZEN_HEADBUTT: delay 2 createsprite gBowMonSpriteTemplate, 2, 1, 1 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 0, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 0, 2, 0, 4, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBowMonSpriteTemplate, 2, 1, 2 createsprite gAquaTailHitSpriteTemplate, 131, 4, 0, 0, 1, 1 @@ -3193,7 +3193,7 @@ Move_ROCK_CLIMB: createsprite gBasicHitSplatSpriteTemplate, 131, 4, 5, -52, 1, 1 createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 1, -25, 16, 1, 4 delay 4 - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 0, 3, 6, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 0, 3, 6, 1 delay 30 createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 0, 6 delay 4 @@ -3758,8 +3758,8 @@ Move_STONE_EDGE: delay 2 createsprite gBasicHitSplatSpriteTemplate, 131, 4, -32, -16, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 3, 0, 12, 1 - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 3, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 3, 3, 0, 12, 1 delay 4 createsprite gRandomPosHitSplatSpriteTemplate, 131, 2, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -4139,8 +4139,8 @@ Move_ATTACK_ORDER: waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate 131, 4, -32, -16, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 3, 0, 12, 1 - createvisualtask AnimTask_ShakeMonInPlace, 2, 5, 1, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 3, 0, 12, 1 delay 4 createsprite gRandomPosHitSplatSpriteTemplate 131, 2, 1, 3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -4291,7 +4291,7 @@ Move_ROAR_OF_TIME: createvisualtask AnimTask_BlendBattleAnimPal, 10, 1, 1, 0, 16, -1 createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL delay 0x20 - createvisualtask AnimTask_ShakeMonInPlace, 2, 1, 10, 0, 20, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 20, 1 playsewithpan 170, SOUND_PAN_TARGET createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 delay 6 @@ -6346,7 +6346,7 @@ Move_DRAGON_TAIL: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 call TailWhackDown delay 0x3 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x0, 0x3, 0x6, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 0, 3, 6, 1 waitforvisualfinish delay 0x5 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x6 @@ -6469,8 +6469,8 @@ Move_DRILL_RUN: createsprite gHornHitSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0xc waitforvisualfinish playse 0x14 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x0, 0x2, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0xa, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 40, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 40, 1 createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x3 playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET delay 0x4 @@ -7477,8 +7477,8 @@ Move_RELIC_SONG: waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xffe0, 0xfff0, 0x1, 0x3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x3, 0x0, 0xc, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x3, 0x3, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 delay 0x5 createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -7821,8 +7821,8 @@ Move_SNARL:: waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xffe0, 0xfff0, 0x1, 0x3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x3, 0x0, 0xc, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x3, 0x3, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 delay 0x4 createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -7950,7 +7950,7 @@ Move_V_CREATE:: createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, 0xa, 0xfff6, 0x1 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x4, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x9, 0x0, 0x1f createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x9, 0x0, 0x1f @@ -8145,7 +8145,7 @@ Move_BELCH:: playsewithpan SE_SUCCESS, SOUND_PAN_ATTACKER createsprite gBelchBerryTemplate, ANIM_ATTACKER, 2, 0x14, 0xfff8, 0xfff8, 0xfff8, 0x14, 0xffe0 delay 0x13 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0xa, 0x0, 0x14, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 10, 0, 20, 1 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x1 delay 0x6 @@ -8407,9 +8407,9 @@ Move_PETAL_BLIZZARD:: waitforvisualfinish createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xffe0, 0xfff0, 0x1, 0x3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_TARGET, 0x3, 0x0, 0xC, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0xC, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_ATK_PARTNER, 0x3, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATK_PARTNER, 3, 0, 12, 1 delay 0x4 createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x3 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -9019,8 +9019,8 @@ Move_DIAMOND_STORM:: @this is the buffet part createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xffe0, 0xfff0, 0x1, 0x3 playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x3, 0x0, 0xc, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x3, 0x3, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 3, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_DEF_PARTNER, 3, 0, 12, 1 delay 0x4 createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x3 playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET @@ -10286,7 +10286,7 @@ Move_DRAGON_ASCENT:: playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 0 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0x1, -32, 0, 0, 3 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_TARGET, 6, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 6, 0, 12, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_ATTACKER | F_PAL_BG | F_PAL_ANIM_1 | F_PAL_ANIM_2), 2, 16, 0, RGB(26, 31, 0) waitforvisualfinish delay 3 @@ -10427,7 +10427,7 @@ Move_FIRST_IMPRESSION:: delay 0x1 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xffe4, 0x0, 0x0, 0x3 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x4, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish delay 0xa createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x6 @@ -12578,7 +12578,7 @@ SpectralThiefUnleash: waitforvisualfinish createvisualtask AnimTask_DestinyBondWhiteShadow, 0x5, 0x0, 0x30 delay 0x30 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x0, 0x2, 0x0, 0x18, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 2, 0, 24, 1 createvisualtask AnimTask_BlendBattleAnimPalExclude, 0x2, 0x6, 0x1, 0x0, 0xc, 0x77bd delay 0x18 createvisualtask AnimTask_BlendBattleAnimPalExclude, 0x2, 0x6, 0x1, 0xc, 0x0, 0x77bd @@ -15560,7 +15560,7 @@ Move_PSYSHIELD_BASH:: delay 0x1 createsprite gSlideMonToOffsetSpriteTemplate ANIM_TARGET, 2, ANIM_TARGET, 0xfff0, 0x0, 0x0, 0x4 waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 0x2, ANIM_TARGET, 0x4, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish delay 0x2 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xB, 0x0, 0x7FAF @;Light blue @@ -27176,8 +27176,8 @@ Move_BREAKNECK_BLITZ:: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xffe6, 0x10, 0x1, 0x4 waitforvisualfinish createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x8, 0xfe00, 0x1, 0x0 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x0, 0x4, 0x0, 0xc, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x2, 0x1, 0x4, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish delay 0x4 createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x8, 0xfe00, 0x1, 0x1 @@ -27795,8 +27795,8 @@ FinishSavageSpinOut: loadspritegfx ANIM_TAG_CUT @cut loadspritegfx ANIM_TAG_EXPLOSION_2 @explosion loadspritegfx ANIM_TAG_AIR_WAVE_2 @white/gray - createvisualtask AnimTask_ShakeMonInPlace, 0x82, ANIM_TARGET, 0x4, 0x0, 0xc, 0x1 - createvisualtask AnimTask_ShakeMonInPlace, 0x82, ANIM_TARGET, 0x4, 0x0, 0xc, 0x1 + createvisualtask AnimTask_ShakeMonInPlace, 130, ANIM_TARGET, 4, 0, 12, 1 + createvisualtask AnimTask_ShakeMonInPlace, 130, ANIM_TARGET, 4, 0, 12, 1 createsprite gSavageSpinOutGreenCutSpriteTemplate, ANIM_TARGET, 2, 0x28, 0xffe0, 0x0 createsprite gSavageSpinOutGreenCutSpriteTemplate, ANIM_TARGET, 2, 0x28, 0xffd0, 0x0 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET From 1d25dd0c93e6c857c5f16ebe31975b83dfac71d4 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 30 Jul 2023 23:26:59 -0400 Subject: [PATCH 092/256] Cleaned: createvisualtask AnimTask_ShakeMon2 --- data/battle_anim_scripts.s | 232 ++++++++++++++++++------------------- 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 8cbc60d555..49f07d73c6 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2831,7 +2831,7 @@ Move_SHADOW_CLAW: setalpha 12, 8 createsprite gHorizontalLungeSpriteTemplate ANIM_ATTACKER, 2, 6, 4 delay 4 - createvisualtask AnimTask_ShakeMon2 2, ANIM_TARGET, 2, 0, 18, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, -10, 0 createsprite gClawSlashSpriteTemplate, ANIM_TARGET, 2, -10, 10, 0 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET @@ -3367,9 +3367,9 @@ Move_LAVA_PLUME: loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan 152, SOUND_PAN_ATTACKER, 9, 2 createvisualtask AnimTask_BlendColorCycle, 2, 2, 2, 2, 0, 11, RGB_RED - createvisualtask AnimTask_ShakeMon2 2, ANIM_TARGET, 1, 0, 32, 1 - createvisualtask AnimTask_ShakeMon2 2, ANIM_DEF_PARTNER, 1, 0, 32, 1 - createvisualtask AnimTask_ShakeMon2 2, ANIM_ATK_PARTNER, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 32, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 1, 0, 32, 1 waitforvisualfinish createsprite gLavaPlumeSpriteTemplate, 130, 1, 0 createsprite gLavaPlumeSpriteTemplate, 130, 1, 32 @@ -4520,7 +4520,7 @@ Move_SEED_FLARE: delay 2 createsprite gSeedFlareGreenCirclesTemplate, ANIM_ATTACKER, 2, 0xffd8, -20, 16 delay 30 - createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 0x28, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 40, 1 createsprite gSeedFlareGreenWavesTemplate, ANIM_ATTACKER, 0x28, 10, 0x900, 0x60, 1 createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, 20, 1 createsprite gRazorLeafCutterSpriteTemplate, ANIM_TARGET, 3, 20, -10, 20, 0, 0x16, -20, 1 @@ -4648,7 +4648,7 @@ ShadowForceAttack: playsewithpan SOUND_PAN_ATTACKER, 192 createvisualtask AnimTask_NightShadeClone, 5, 85 delay 70 - createvisualtask AnimTask_ShakeMon2 2, ANIM_TARGET, 2, 0, 12, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 createvisualtask AnimTask_BlendColorCycle 2, 4, 0, 2, 0, 13, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER @@ -5184,9 +5184,9 @@ Move_COIL: delay 0x7 createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xfff8, 0x1, 0x2 delay 0x8 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x14 - createvisualtask AnimTask_ShakeMon2, 0x83, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 131, ANIM_TARGET, 4, 0, 5, 1 createvisualtask AnimTask_StretchTargetUp, 0x3 playsewithpan SE_M_BIND, SOUND_PAN_TARGET setarg 0x7 0xffff @@ -5356,7 +5356,7 @@ Move_ECHOED_VOICE: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 8, 1 call MetalSoundPlayNote call MetalSoundPlayNote call MetalSoundPlayNote @@ -5818,7 +5818,7 @@ Move_FINAL_GAMBIT: loadspritegfx ANIM_TAG_EXPLOSION @explosion animation createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @Darken waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0x8, 0x7fff waitforvisualfinish playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_ATTACKER @@ -6539,7 +6539,7 @@ Move_HEART_STAMP: delay 0x1E clearmonbg ANIM_TARGET playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon2, 0x83, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 131, ANIM_TARGET, 4, 0, 5, 1 createvisualtask AnimTask_StretchTargetUp, 0x3 waitforvisualfinish end @@ -7012,7 +7012,7 @@ TechnoBlastNormal: createsprite gTechnoBlastWhiteSparkTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xe0, 0x28, 0x2 waitforvisualfinish playsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 createsprite gTechnoBlastWhiteSmokeTemplate, ANIM_TARGET, 2, 0x8, 0x8, 0x1, 0x0 delay 0x2 createsprite gTechnoBlastWhiteSmokeTemplate, ANIM_TARGET, 2, 0xfff8, 0xfff8, 0x1, 0x0 @@ -7098,7 +7098,7 @@ TechnoBlastElectric: createsprite gTechnoBlastYellowSparkTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xe0, 0x28, 0x2 waitforvisualfinish playsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 createsprite gTechnoBlastYellowSmokeTemplate, ANIM_TARGET, 2, 0x8, 0x8, 0x1, 0x0 createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 0x5, 0x0, 0x5, 0x0 createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 0xfffb, 0xa, 0x5, 0x1 @@ -7232,7 +7232,7 @@ TechnoBlastWater: createsprite gTechnoBlastBlueSparkTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xe0, 0x28, 0x2 waitforvisualfinish playsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 createsprite gTechnoBlastBlueSmokeTemplate, ANIM_TARGET, 2, 0x8, 0x8, 0x1, 0x0 createsprite gTechnoBlastBlueBubbleTemplate, ANIM_ATTACKER, 2, 0xa, 0xa, 0x19, 0x1 createsprite gTechnoBlastBlueBubbleTemplate, ANIM_ATTACKER, 2, 0xfff1, 0x0, 0x19, 0x1 @@ -7285,7 +7285,7 @@ TechnoBlastFire: createsprite gTechnoBlastRedSparkTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xe0, 0x28, 0x2 waitforvisualfinish playsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 createsprite gTechnoBlastRedSmokeTemplate, ANIM_TARGET, 2, 0x8, 0x8, 0x1, 0x0 createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 192, 176, 40 createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, -192, 240, 40 @@ -7369,7 +7369,7 @@ TechnoBlastIce: createsprite gTechnoBlastIceSparkTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xe0, 0x28, 0x2 waitforvisualfinish playsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 createsprite gTechnoBlastIceSmokeTemplate, ANIM_TARGET, 2, 0x8, 0x8, 0x1, 0x0 createsprite gIceCrystalHitLargeSpriteTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 delay 0x2 @@ -7581,7 +7581,7 @@ Move_BOLT_STRIKE:: delay 0x6 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0xfff6, 0x0, 0x1, 0x0 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x07FE - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 32, 1 playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET call ElectricityEffect createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x5 @@ -7718,7 +7718,7 @@ FreezeShockAttack: createsprite gZapCannonSparkSpriteTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xa0, 0x28, 0x0 createsprite gZapCannonSparkSpriteTemplate, ANIM_TARGET, 4, 0xa, 0x0, 0x8, 0x1e, 0xe0, 0x28, 0x2 waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 delay 0xf waitplaysewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET, 0x13 call ElectricityEffect @@ -7984,7 +7984,7 @@ Move_FUSION_FLARE:: call FusionFlareBuff delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 0x8, 0x1, 0x0 delay 0x8 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER @@ -8055,7 +8055,7 @@ Move_FUSION_BOLT:: createsprite gFusionBoltBallTemplate, ANIM_TARGET, 2, 0x10 playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_ATTACKER delay 0x8 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0xa, 0x0, 0x12, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 10, 0, 18, 1 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x10, 0x10 delay 0x2 @@ -8063,7 +8063,7 @@ Move_FUSION_BOLT:: delay 0x8 createvisualtask AnimTask_VoltTackleAttackerReappear, 0x5 waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x3, 0x0, 0x9, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 9, 1 playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x10, 0x10 delay 0x2 @@ -8368,7 +8368,7 @@ Move_FORESTS_CURSE: createsprite gForestsCurseIngrainTemplate, ANIM_ATTACKER, 66, 0x8c, 0x64, 0x10, 0x1, 0x14, 0x1e, 0x1 waitforvisualfinish createsprite gCurseGhostSpriteTemplate, ANIM_TARGET, 2 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x2, 0x0, 0xe, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 14, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x8, 0x0, 0x02E3 delay 0x3 @@ -8467,8 +8467,8 @@ Move_DISARMING_VOICE:: createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL call RoarEffect delay 0xA - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x1, 0x0, 0x1A, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x3, 0x1, 0x0, 0x1A, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 26, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 26, 1 waitforvisualfinish createvisualtask SoundTask_WaitForCry, 0x5 waitforvisualfinish @@ -8832,7 +8832,7 @@ Move_FAIRY_WIND:: createsprite gFairyWindCloudTemplate, ANIM_TARGET, 3, 0x14, 0xfff6, 0x14, 0x5, 0x16, 0xffee, 0x1 delay 0x5 createsprite gFairyWindCloudTemplate, ANIM_TARGET, 3, 0x14, 0xfff6, 0x14, 0xfff6, 0x16, 0xf, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x2, 0x0, 0x12, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 18, 1 delay 0x5 createsprite gFairyWindCloudTemplate, ANIM_TARGET, 3, 0x14, 0xfff6, 0x14, 0x0, 0x16, 0xffec, 0x1 delay 0x5 @@ -9049,7 +9049,7 @@ Move_STEAM_ERUPTION:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0x0, 0x9, 0x1f call SteamEruptionBreath delay 0x2 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x2, 0x0, 0x15, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 21, 1 call SteamEruptionBreath call SteamEruptionBreath call SteamEruptionBreath @@ -9126,7 +9126,7 @@ Move_HYPERSPACE_HOLE:: end HyperspaceHoleMovement: playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 15, 1 delay 0x4 return @@ -9158,7 +9158,7 @@ Move_MYSTICAL_FIRE:: loadspritegfx ANIM_TAG_FIRE setalpha 8, 8 playse 0xb1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x7fff waitforvisualfinish waitsound @@ -9642,13 +9642,13 @@ Move_HOLD_HANDS:: createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 0x1 delay 0x13 playsewithpan SE_M_ENCORE, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x2, 0x2, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1 delay 0xe playsewithpan SE_M_ENCORE, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x2, 0x2, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1 delay 0x14 playsewithpan SE_M_ENCORE, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x2, 0x3, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 3, 0, 10, 1 createvisualtask AnimTask_BlendMonInAndOut, 0x2, 0x2, 0x3ff, 0xc, 0x1, 0x1 end @@ -9666,8 +9666,8 @@ Move_BABY_DOLL_EYES:: createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffb, 0xfffb, 0xa, 0x0, 0x1 waitforvisualfinish delay 0xa - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x1, 0x0, 0x9, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x3, 0x1, 0x0, 0x9, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 9, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0xA, 0x0, 0x7FFF waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -9707,7 +9707,7 @@ Move_HOLD_BACK:: playsewithpan SE_M_SWAGGER, SOUND_PAN_TARGET createsprite gHoldBackSwipeTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1 waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x3, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 10, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x2 createsprite gHoldBackRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x100, 0x0 createsprite gHoldBackStarsTemplate, ANIM_TARGET, 3, 0xfff0, 0xfff8, 0xa0, 0xffe0 @@ -10087,7 +10087,7 @@ Move_LIGHT_OF_RUIN:: call LightOfRuinBeam call LightOfRuinBeam call LightOfRuinBeam - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 call LightOfRuinBeam call LightOfRuinBeam call LightOfRuinBeam @@ -10363,7 +10363,7 @@ Move_HYPERSPACE_FURY:: delay 0x7 createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL visible ANIM_ATTACKER - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x0, 0x3, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 0, 3, 32, 1 playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET invisible ANIM_ATTACKER call UnsetPsychicBg @@ -10414,7 +10414,7 @@ Move_FIRST_IMPRESSION:: createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 0x0, 0x1 playsewithpan SE_M_SKETCH, SOUND_PAN_TARGET createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 createvisualtask AnimTask_StretchTargetUp, 0x3 waitforvisualfinish delay 0x19 @@ -10769,7 +10769,7 @@ Move_HIGH_HORSEPOWER:: playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET call SetImpactBackground createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x16, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x0, 0x7fff createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x0, 0x8, 0x0, 0x0 waitforvisualfinish @@ -10873,7 +10873,7 @@ SolarBladeUnleash: playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gSolarBladeImpactTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1 delay 0x2 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal 10, (F_PAL_BG | F_PAL_BATTLERS), 1, 6, 0, 0x7fff waitforvisualfinish @@ -11325,7 +11325,7 @@ Move_FIRE_LASH:: playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET delay 0x4 createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 0x1, 0x8, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x12, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET delay 0x7 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x0, 0x9 @@ -11343,7 +11343,7 @@ Move_POWER_TRIP:: call PowerTripBuffUp delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call PowerTripBuffUp delay 0x8 call PowerTripBuffUp @@ -11723,8 +11723,8 @@ Move_CORE_ENFORCER:: monbg ANIM_TARGET createvisualtask AnimTask_CreateSmallSolarBeamOrbs, 0x5 panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x2, 0x0, 0x41, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_DEF_PARTNER, 0x2, 0x0, 0x41, 0x1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 65, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_DEF_PARTNER, 2, 0, 65, 1 createsprite gCoreEnforcerBeamTemplate, ANIM_TARGET, 3, 0xf, 0x0, 0x14, 0x0 createsprite gCoreEnforcerImpactTemplate, ANIM_TARGET, 3, 0xfff5, 0xffe2, 0x1, 0x3 delay 0x1 @@ -11782,9 +11782,9 @@ Move_CORE_ENFORCER:: createsprite gCoreEnforcerBeamTemplate, ANIM_TARGET, 3, 0xf, 0x0, 0x14, 0x6 delay 0x7 createsprite gCoreEnforcerSnoreTemplate, ANIM_ATTACKER, 2, 0x0, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0x1e, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x2, 0x0, 0x1e, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_ATK_PARTNER, 0x2, 0x0, 0x1e, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 30, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 30, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 30, 1 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET createsprite gCoreEnforcerExplosionTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, ANIM_TARGET, 0x1 delay 0x6 @@ -11879,7 +11879,7 @@ Move_BEAK_BLAST:: delay 0x2 loopsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET 0x4 0x8 createvisualtask AnimTask_DrillPeckHitSplats, 0x5 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x12, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 18, 1 waitforvisualfinish createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0x2 waitforvisualfinish @@ -11897,7 +11897,7 @@ Move_CLANGING_SCALES:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xC, 0x2002 createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_METAL_SOUND_WAVES, 0, 10, 10, 0x642D waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 2, 0, 8, 1 call ClangingScalesMetalSound call ClangingScalesMetalSound call ClangingScalesMetalSound @@ -12224,7 +12224,7 @@ Move_FLEUR_CANNON:: call FleurCannonBeam call FleurCannonBeam call FleurCannonBeam - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 call FleurCannonBeam call FleurCannonBeam call FleurCannonBeam @@ -12646,7 +12646,7 @@ SpectralThiefSteal: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call SpectralThiefBuffUp delay 0x8 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SpectralThiefBuffUp delay 0x8 call SpectralThiefBuffUp @@ -12759,7 +12759,7 @@ Move_MOONGEIST_BEAM:: call MoongeistBeamOrbs call MoongeistBeamOrbs call MoongeistBeamOrbs - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0xb, 0x6739 call MoongeistBeamOrbs call MoongeistBeamOrbs @@ -12979,7 +12979,7 @@ Move_MULTI_ATTACK:: call MultiAttackBuff delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x7fff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call MultiAttackBuff delay 0x8 call MultiAttackBuff @@ -13019,9 +13019,9 @@ Move_MIND_BLOWN:: playsewithpan SE_FALL, SOUND_PAN_TARGET createsprite gMindBlownHeadTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x25 waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0xf, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x2, 0x0, 0xf, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_ATK_PARTNER, 0x2, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 15, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 15, 1 delay 0x1 playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER createsprite gMindBlownBlueImpactTemplate, ANIM_TARGET, 3, 0x1, 0x0 @@ -13209,7 +13209,7 @@ Move_PHOTON_GEYSER:: waitforvisualfinish monbg ANIM_TARGET createsprite gPhotonGeyserYellowRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x0, 0x1f, 0x8 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 5, 1 playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER unloadspritegfx ANIM_TAG_YELLOW_BALL @confuse ray (for zap cannon) unloadspritegfx ANIM_TAG_BLACK_BALL_2 @zap cannon @@ -13343,7 +13343,7 @@ Move_SNIPE_SHOT:: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET createsprite gSnipeShotBallTemplate, ANIM_TARGET, 2, 0, 0, 16 waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 2, 1, 4, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 16, 0, 0 @;Black waitforvisualfinish @@ -13426,7 +13426,7 @@ Move_TAR_SHOT:: createsprite gAppleAcidLaunchTemplate, ANIM_TARGET, 2, 0x14, 0x0, 0x28, 0x1, 0xffe8, 0x0 playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0xf - createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x2, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0x10, 0x0 @;Black createsprite gAppleAcidDripTemplate, ANIM_TARGET, 2, 0xffe6, 0xffe8, 0x0, 0xf, 0x37 playsewithpan SE_M_BUBBLE, SOUND_PAN_TARGET @@ -13505,7 +13505,7 @@ Move_OCTOLOCK:: delay 0x7 createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xfff8, 0x1, 0x2 delay 0x8 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x14 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0x8, 0x1f playsewithpan SE_M_BIND, SOUND_PAN_TARGET @@ -13887,8 +13887,8 @@ OverdriveRings: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x8, 0x0, 0x3ff createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffb, 0xfffb, 0x5, 0x0, 0x0 createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 0x2d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x1, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x3, 0x1, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 createvisualtask AnimTask_ShakeBattleTerrain, 0x2, 0x1, 0x0, 0x6, 0x1 createvisualtask SoundTask_WaitForCry, 0x5 return @@ -13910,7 +13910,7 @@ Move_APPLE_ACID:: createsprite gAppleAcidLaunchTemplate, ANIM_TARGET, 2, 0x14, 0x0, 0x28, 0x1, 0xffe8, 0x0 playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0xf - createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x2, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 createsprite gAppleAcidDripTemplate, ANIM_TARGET, 2, 0x0, 0xffea, 0x0, 0xf, 0x37 playsewithpan SE_M_BUBBLE, SOUND_PAN_TARGET delay 0xa @@ -14017,7 +14017,7 @@ Move_STRANGE_STEAM:: call StrangeSteamCloud call StrangeSteamCloud call StrangeSteamCloud - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0x2A, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 42, 1 call StrangeSteamCloud call StrangeSteamCloud call StrangeSteamCloud @@ -14235,7 +14235,7 @@ Move_EXPANDING_FORCE:: createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xA, 0xA, 0x7DDE monbg ANIM_DEF_PARTNER call SetPsychicBackground - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_ATTACKER, 0x1, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, F_PAL_ATTACKER, 0x2, 0x0, 0x8, 0x2ff waitforvisualfinish playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET @@ -14407,7 +14407,7 @@ METEOR_BEAM_BLAST: call MeteorBeamRockLaunch call MeteorBeamRockLaunch call MeteorBeamRockLaunch - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x51, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 0, 4, 81, 1 call MeteorBeamRockLaunch call MeteorBeamRockLaunch call MeteorBeamRockLaunch @@ -14480,7 +14480,7 @@ Move_SHELL_SIDE_ARM_SPECIAL: @ Modified Snipe Shot, placeholder playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET createsprite gSnipeShotBallTemplate, ANIM_TARGET, 2, 0, 0, 24 waitforvisualfinish - createvisualtask AnimTask_ShakeMon2, 2, 1, 4, 0, 8, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1 waitforvisualfinish end @@ -14488,11 +14488,11 @@ Move_SHELL_SIDE_ARM_SPECIAL: @ Modified Snipe Shot, placeholder Move_MISTY_EXPLOSION:: loadspritegfx ANIM_TAG_EXPLOSION createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x8, 0x9, 0x7A5B, 0x8, 0x0, 0x8 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x4, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x5, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x6, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x7, 0x8, 0x0, 0x28, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x5, 0x8, 0x8, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_RIGHT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_OPPONENT_LEFT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_OPPONENT_RIGHT, 8, 0, 40, 1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_ATTACKER_FORCE, 8, 0, 40, 1 call Explosion1 call Explosion1 waitforvisualfinish @@ -14743,8 +14743,8 @@ Move_BURNING_JEALOUSY:: delay 0x8 call BurningJealousyFlames playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x2, 0x0, 0xC, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x2, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 12, 1 createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_TARGET, 0x1f, 0xc, 0x1, 0x1 createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_DEF_PARTNER, 0x1f, 0xc, 0x1, 0x1 call FireSpreadEffect @ INCINERATE_BURN_CHANCE @@ -14786,7 +14786,7 @@ Move_LASH_OUT:: call PowerTripBuffUp delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call PowerTripBuffUp delay 0x8 call PowerTripBuffUp @@ -15122,7 +15122,7 @@ Move_WICKED_BLOW:: call WickedBlowBuffEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call WickedBlowBuffEffect delay 0x8 call WickedBlowBuffEffect @@ -15186,7 +15186,7 @@ SURGING_STRIKES_0: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, 20, 0, 0, 10, 20 @Bottom right createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1 delay 5 createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, 5, ANIM_TARGET, 0x1 waitforvisualfinish @@ -15199,7 +15199,7 @@ SURGING_STRIKES_1: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, -40, 20, 0, 0, 10, 20 @Bottom left createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 8, 1 delay 5 createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, 5, ANIM_TARGET, 0x1 waitforvisualfinish @@ -15212,7 +15212,7 @@ SURGING_STRIKES_2: playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_TARGET createsprite gSpriteTemplate_SurgingStrikesImpact, ANIM_TARGET, 2, 40, -20, 0, 0, 10, -20 @Top Right createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, -5, -5, ANIM_TARGET, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x0, 0x4, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 0, 4, 8, 1 delay 5 createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 1, 5, -5, ANIM_TARGET, 0x1 waitforvisualfinish @@ -15349,8 +15349,8 @@ Move_FIERY_WRATH:: waitforvisualfinish loopsewithpan SE_M_PSYBEAM, SOUND_PAN_TARGET, 20, 3 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_DEF_SIDE, 0x4, 0x0, 0xF, 0x3006 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x3C, 0x1 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_DEF_PARTNER, 0x4, 0x0, 0x3C, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 60, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 4, 0, 60, 1 call FieryWrathGeyser call FieryWrathGeyser call FieryWrathGeyser @@ -15439,7 +15439,7 @@ Move_THUNDEROUS_KICK:: delay 0x7 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x16, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 22, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x0, 0x7fff createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x0, 0x8, 0x0, 0x0 waitforvisualfinish @@ -15535,7 +15535,7 @@ Move_DIRE_CLAW:: delay 0x2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0x0, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x24, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 36, 1 delay 0x2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0x0, 0x0 @@ -15721,7 +15721,7 @@ Move_RAGING_FURY:: call OutrageFlames call OutrageFlames delay 10 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x18, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 24, 1 playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET call FlameBurstSpread waitforvisualfinish @@ -15888,7 +15888,7 @@ Move_HEADLONG_RUSH:: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2a, 0x0, 0x0, 0x5 createsprite gSpriteTemplate_HeadlongRushImpact, ANIM_TARGET, 4, 0xfff6, 0x0, 0x1, 0x0 delay 0x5 - createvisualtask AnimTask_ShakeMon2, 0x5, ANIM_TARGET, 0x4, 0x0, 0x2C, 0x1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 44, 1 call MaxQuake_DirtGeyser call MaxQuake_DirtGeyser waitforvisualfinish @@ -15999,7 +15999,7 @@ Move_ESPER_WING:: playsewithpan SE_M_WING_ATTACK, SOUND_PAN_ATTACKER delay ESPER_WING_SPEED / 2 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0xC, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 12, 1 call WingAttackFeatherScatter waitforvisualfinish call UnsetPsychicBg @@ -16028,7 +16028,7 @@ Move_BITTER_MALICE:: loadspritegfx ANIM_TAG_ICE_CRYSTALS playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET createvisualtask AnimTask_ScaryFace, 0x5 @ internally checks side - createvisualtask AnimTask_ShakeMon2, 0x5, 0x1, 0x2, 0x0, 0x4C, 0x1 + createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 76, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xF, 0x3006 @;Dark Purple createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PURPLE_RING, 0x4, 0x0, 0xE, 0x3006 @;Dark Purple call BitterMaliceSwirl @@ -16089,7 +16089,7 @@ Move_TRIPLE_ARROWS:: playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME delay 0x3 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 10, 1 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER createvisualtask AnimTask_IsAttackerPlayerSide, 0x2, jumpargeq 0x7, FALSE, TripleArrowsOnOpponent @@ -16161,7 +16161,7 @@ Move_CEASELESS_EDGE:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_ATTACKER | F_PAL_TARGET), 0x0, 0x10, 0x10, 0x0 @;Fully to to, Black createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xa, delay 0x10 - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x3, 0x0, 0x30, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 48, 1 call CeaselessEdgeSlashes call CeaselessEdgeSlashes call CeaselessEdgeSlashes @@ -27207,7 +27207,7 @@ Move_ALL_OUT_PUMMELING: call EndureEffect loopsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER 0x9 0x2 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x1f - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect waitforvisualfinish fadetobg BG_ROCK_WRECKER @@ -27574,7 +27574,7 @@ Move_CONTINENTAL_CRUSH:: call ContinentalCrashBuffEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x2dd3 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call ContinentalCrashBuffEffect delay 0x8 call ContinentalCrashBuffEffect @@ -27607,14 +27607,14 @@ FinishContinentalCrush: visible ANIM_ATTACKER delay 0x4 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x2dd3 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call ContinentalCrushStockpileRocks playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call ContinentalCrushStockpileRocks createsprite gContinentalCrushGrowingRockSpriteTemplate, ANIM_ATTACKER, 2, 0x0 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x2dd3 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call ContinentalCrushStockpileRocks playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER @@ -27875,7 +27875,7 @@ Move_NEVER_ENDING_NIGHTMARE:: call NeverendingNightmareBuffEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x40c0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call NeverendingNightmareBuffEffect delay 0x8 call NeverendingNightmareBuffEffect @@ -28212,7 +28212,7 @@ FinishInfernoOverdrive: createsprite gInfernoOverdriveSuperpowerSpriteTemplate, ANIM_TARGET, 3, 0x0 @ super power shot playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER delay 0x10 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x8, 0x0, 0x10, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 16, 1 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x2, 0x4f, 0x1 @@ -28323,7 +28323,7 @@ Move_HYDRO_VORTEX:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_WATERFALL, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5da0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 waitforvisualfinish unloadspritegfx ANIM_TAG_SPLASH unloadspritegfx ANIM_TAG_SWEAT_BEAD @@ -28472,7 +28472,7 @@ Move_BLOOM_DOOM:: call BloomDoomHyperBeam call BloomDoomHyperBeam call BloomDoomHyperBeam - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x72, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 114, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0xb, 0x33ed call BloomDoomHyperBeam call BloomDoomHyperBeam @@ -28974,7 +28974,7 @@ SubzeroSlammerFinish: waitforvisualfinish call SubzeroSlammerIceSwirl createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x7e80 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SubzeroSlammerIceSwirl call SubzeroSlammerIceSwirl delay 0xa @@ -28987,7 +28987,7 @@ SubzeroSlammerFinish: call IceBeamCreateCrystals call IceBeamCreateCrystals createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0x7, 0x7e80 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x2, 0x0, 0x19, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 25, 1 call IceBeamCreateCrystals call IceBeamCreateCrystals call IceBeamCreateCrystals @@ -29086,7 +29086,7 @@ Move_DEVASTATING_DRAKE:: call DevastatingDrakeBuffEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x40c0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call DevastatingDrakeBuffEffect delay 0x8 call DevastatingDrakeBuffEffect @@ -29311,7 +29311,7 @@ Move_BLACK_HOLE_ECLIPSE:: call EndureEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x0000 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 0x8 call EndureEffect @@ -29607,7 +29607,7 @@ Move_CATASTROPIKA:: call EndureEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 0x8 call EndureEffect @@ -29892,12 +29892,12 @@ Move_10000000_VOLT_THUNDERBOLT:: @ createvisualtask AnimTask_FlashAnimTagWithColor, 0x2, ANIM_TAG_ORBS, 0x1, 0xc, 0x1f, 0x10, 0x0, 0x0 call TenMillionVoltThunderboltBeamRed call TenMillionVoltThunderboltBeamBlue - createvisualtask AnimTask_ShakeMon2, 0x2, ANIM_TARGET, 0x4, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x07FE call TenMillionVoltThunderboltBeamPink call TenMillionVoltThunderboltBeamYellow call TenMillionVoltThunderboltBeamGreen - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 50, 1 call TenMillionVoltThunderboltBeamPurple call TenMillionVoltThunderboltBeamRed call TenMillionVoltThunderboltBeamBlue @@ -30077,7 +30077,7 @@ StokedSparksurferFinish: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x1c, 0x2, 0xc - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x3c, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 60, 1 call EndureEffect delay 0x8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x5, 0x0, 0x10, 0x5bff @@ -30436,14 +30436,14 @@ Move_GENESIS_SUPERNOVA:: GenesisSupernovaOnOpponent: call GenesisSupernovaBuffEffectPlayer_1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xb, 0xd87c - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x70, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 112, 1 call GenesisSupernovaBuffEffectPlayer_2 call GenesisSupernovaBuffEffectPlayer_1 goto GenesisSupernovaFinish GenesisSupernovaOnPlayer: call GenesisSupernovaBuffOpponent_1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xb, 0xd87c - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x70, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 112, 1 call GenesisSupernovaBuffOpponent_2 call GenesisSupernovaBuffOpponent_1 GenesisSupernovaFinish: @@ -31051,7 +31051,7 @@ Move_OCEANIC_OPERETTA:: call OceanicOperettaBuffEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x7fff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call OceanicOperettaBuffEffect delay 0x8 call OceanicOperettaBuffEffect @@ -31255,7 +31255,7 @@ SplinteredStormshardsByPlayer: delay 0x1 createsprite gSplinteredShardsRisingSpearSpriteTemplate, ANIM_ATTACKER, 50, 0x60, 0x80, 0x60, 0x30, 0x30 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 delay 0x2 call SplinteredStormshardsPlayer_Rising2 call SplinteredStormshardsPlayer_Rising1 @@ -31337,7 +31337,7 @@ SplinteredStormshardsByOpponent: delay 0x1 createsprite gSplinteredShardsRisingSpearSpriteTemplate, ANIM_ATTACKER, 50, 0xd0, 0x40, 0xd0, 0x0, 0x30 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 delay 0x2 call SplinteredStormshardsOpponent_Rising2 call SplinteredStormshardsOpponent_Rising1 @@ -32004,7 +32004,7 @@ Move_SEARING_SUNRAZE_SMASH:: delay 0x8 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x7fff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SearingSunrazeSmashFlare delay 0x8 call SearingSunrazeSmashFlare @@ -32235,7 +32235,7 @@ Move_MENACING_MOONRAZE_MAELSTROM:: call MenacingMoonrazeMaelstromFlare delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xc, 0x0000 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call MenacingMoonrazeMaelstromFlare playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER delay 0x8 @@ -32295,7 +32295,7 @@ MenacingMoonrazeMaelstromFinish: playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call MenacingMoonrazeMaelstromChargeUp createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xc, 0x0000 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call MenacingMoonrazeMaelstromChargeUp call MenacingMoonrazeMaelstromChargeUp createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xffc0, SOUND_PAN_TARGET, 0x1, 0xf, 0x0, 0x5 @@ -32304,7 +32304,7 @@ MenacingMoonrazeMaelstromFinish: call MenacingMoonrazeMaelstromBeam call MenacingMoonrazeMaelstromBeam call MenacingMoonrazeMaelstromBeam - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x3c, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 60, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_TARGET, 0x4, 0x0, 0xc, 0x0000 call MenacingMoonrazeMaelstromBeam call MenacingMoonrazeMaelstromBeam @@ -32337,7 +32337,7 @@ MenacingMoonrazeMaelstromFinish: unloadspritegfx ANIM_TAG_ORBS @hyper beam unloadspritegfx ANIM_TAG_HANDS_AND_FEET @black loadspritegfx ANIM_TAG_EXPLOSION_2 @explosion - createvisualtask AnimTask_ShakeMon2, 0x2, 0x1, 0x4, 0x0, 0x4c, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 76, 1 call MenacingMoonrazeMaelstromExplosion call MenacingMoonrazeMaelstromExplosion createvisualtask AnimTask_BlendBattleAnimPal, 0x2, (F_PAL_BG | F_PAL_BATTLERS), 0x2, 0x0, 0x10, 0x7fff @@ -32424,7 +32424,7 @@ Move_LIGHT_THAT_BURNS_THE_SKY:: call EndureEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 0x8 call EndureEffect @@ -32601,7 +32601,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: call SoulStealingSevenStarStrikeBuffEffect delay 0x8 createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x0 - createvisualtask AnimTask_ShakeMon2, 0x2, 0x0, 0x1, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SoulStealingSevenStarStrikeBuffEffect delay 0x8 call SoulStealingSevenStarStrikeBuffEffect From b4ad3be0cb7db11e9140ce04a7bd525df3400ea9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 00:15:48 -0400 Subject: [PATCH 093/256] Cleaned: createvisualtask AnimTask_ShakeMon --- data/battle_anim_scripts.s | 386 ++++++++++++++++++------------------- 1 file changed, 193 insertions(+), 193 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 49f07d73c6..8b3ae78e09 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1732,7 +1732,7 @@ Move_PUNISHMENT: setalpha 12, 8 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET createsprite gPunishmentImpactSpriteTemplate 2, 4, 0, 0, 1, 2 - createvisualtask AnimTask_ShakeMon 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -2568,7 +2568,7 @@ Move_EARTH_POWER: playsewithpan SE_M_EARTHQUAKE, SOUND_PAN_TARGET delay 40 loopsewithpan 145, SOUND_PAN_TARGET 11, 3 - createvisualtask AnimTask_ShakeMon 5, 5, ANIM_TARGET, 0, 3, 25, 1 + createvisualtask AnimTask_ShakeMon, 5, 5, ANIM_TARGET, 0, 3, 25, 1 createsprite gDragonRageFirePlumeSpriteTemplate, 194, 3, 1, 5, 0 delay 1 createsprite gDragonRageFirePlumeSpriteTemplate, 194, 3, 1, -10, -15 @@ -2981,7 +2981,7 @@ Move_SHADOW_SNEAK: end ShadowSneakMovement: playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 return @@ -3580,7 +3580,7 @@ Move_GUNK_SHOT: splitbgprio ANIM_TARGET setalpha 12, 8 call SetGunkShotBG - createvisualtask AnimTask_ShakeMon 5, 5, ANIM_ATTACKER, 0, 2, 40, 1 + createvisualtask AnimTask_ShakeMon, 5, 5, ANIM_ATTACKER, 0, 2, 40, 1 delay 6 panse SE_M_HYDRO_PUMP, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 2, 0 createvisualtask AnimTask_StartSinAnimTimer, 5, 1, 100 @@ -5161,7 +5161,7 @@ Move_FLAME_CHARGE: delay 0x3 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x6, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 6, 0, 8, 1 call FireSpreadEffect playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_ATTACKER waitforvisualfinish @@ -5241,7 +5241,7 @@ Move_FOUL_PLAY: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x4 delay 0x6 createsprite gFoulPlayImpactTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_VITAL_THROW SOUND_PAN_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x3, 0xa, 0x0, 0x0 createsprite gFoulPlayRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x100, 0x0 @@ -5311,7 +5311,7 @@ Move_ENTRAINMENT: playsewithpan SE_M_TEETER_DANCE, SOUND_PAN_ATTACKER delay 0x18 playsewithpan SE_M_TEETER_DANCE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x1f, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 31, 1 waitforvisualfinish end @@ -5380,7 +5380,7 @@ Move_CHIP_AWAY: setalpha 12, 8 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 delay 0x4 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_VITAL_THROW2 SOUND_PAN_TARGET waitforvisualfinish @@ -5540,7 +5540,7 @@ Move_SHELL_SMASH: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x8, 0x1, 0x0 playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 2, 1, 3, 0, 5, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 waitforvisualfinish playsewithpan SE_M_BUBBLE, SOUND_PAN_TARGET createsprite gShellSmashPurpleRocksSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x14, 0x18, 0xe, 0x2 @@ -5551,7 +5551,7 @@ Move_SHELL_SMASH: createsprite gShellSmashPurpleRocksSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1e, 0xffee, 0x8, 0x2 createsprite gShellSmashPurpleRocksSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0xffe2, 0x12, 0x8, 0x2 createsprite gShellSmashPurpleRocksSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0xffe2, 0xffee, 0x8, 0x2 - createvisualtask AnimTask_ShakeMon, 2, 1, 0, 3, 7, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 7, 1 waitforvisualfinish end @@ -5596,7 +5596,7 @@ Move_HEX: playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER waitbgfadein createvisualtask AnimTask_PurpleFlamesOnTarget, 0x3 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x2, 0x0, 0x25, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 2, 0, 37, 1 playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET delay 0x20 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xc, 0x4C4A @;Deep purple @@ -5634,7 +5634,7 @@ SkyDropUnleash: delay 0x7 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x5, 0xb, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -5747,7 +5747,7 @@ Move_ACROBATICS: delay 7 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0, 0, 1, 0 - createvisualtask AnimTask_ShakeMon, 5, 1, 0, 5, 11, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -5805,7 +5805,7 @@ Move_RETALIATE: playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x10, 0x43D waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x043D waitforvisualfinish clearmonbg ANIM_DEF_PARTNER @@ -5825,14 +5825,14 @@ Move_FINAL_GAMBIT: createsprite gFinalGambitBlueYawnTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x25 delay 0x4 waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffc, 0xfffc, 0xf, 0x1, 0x1 waitforvisualfinish monbg ANIM_TARGET delay 0x1 playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER createsprite gFinalGambitExplosionTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 waitforvisualfinish clearmonbg ANIM_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xC, 0x0, 0x0 @@ -5853,7 +5853,7 @@ Move_INFERNO: loadspritegfx ANIM_TAG_SMALL_EMBER call SetImpactBackground loopsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET, 40, 4 - createvisualtask AnimTask_ShakeMon, 5, 1, 0, 2, 94, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 94, 1 createvisualtask AnimTask_BlendBattleAnimPal, 10, 4, 1, 0, 9, RGB_RED call InfernoAnim call InfernoAnim @@ -6230,7 +6230,7 @@ Move_VOLT_SWITCH: delay 4 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 delay 4 - createvisualtask AnimTask_ShakeMon, 5, 1, 0, 3, 45, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 45, 1 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 delay 4 createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0, 0x3BDF, 8 @@ -6298,14 +6298,14 @@ Move_FROST_BREATH: createvisualtask AnimTask_StartSlidingBg, 0x5, 0x300, 0x0, 0x0, 0xffff waitbgfadein playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x5, 0x0, 0x0, 0x2, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1 waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_TARGET, 2, 0x0, 0xf, 0x0, 0x0, 0x4 waitforvisualfinish createsprite gFrostBreathBlueBreathTemplate, ANIM_TARGET, 2, 0x1e, 0xf, 0x0, 0xa, 0xa waitforvisualfinish loopsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET, 0xb, 0x3 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x3, 0x19, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 3, 25, 1 createsprite gFrostBreathBlueRageTemplate, ANIM_TARGET, 66, 0x1, 0x5, 0x0 delay 0x1 createsprite gFrostBreathBlueRageTemplate, ANIM_TARGET, 66, 0x1, 0xfff6, 0xfff1 @@ -6441,7 +6441,7 @@ Move_WILD_CHARGE: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x1a, 0x0, 0x0, 0x5 delay 0x6 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0xfff6, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x10, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 16, 1 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET call ElectricityEffect waitforvisualfinish @@ -6519,13 +6519,13 @@ Move_DUAL_CHOP: playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x4 delay 0x6 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x5, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gKarateChopSpriteTemplate, ANIM_ATTACKER, 2, 0xffe0, 0x0, 0x0, 0x0, 0xa, 0x1, 0x3, 0x0 @left createsprite gKarateChopSpriteTemplate, ANIM_ATTACKER, 2, 0x0515, 0x0, 0x0, 0x0, 0xa, 0x1, 0x3, 0x0 @right waitforvisualfinish playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET createsprite gDualChopImpactTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x2 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER blendoff @@ -6552,7 +6552,7 @@ Move_HORN_LEECH: playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER createsprite gHornLeechHornTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x25 waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET call GigaDrainAbsorbEffect @@ -6580,7 +6580,7 @@ Move_SACRED_SWORD: createsprite gSacredSwordBladesTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0x0, 0xFF00, 0xA createsprite gSacredSwordCutTemplate, ANIM_ATTACKER, 2, 0x28, 0xffe0, 0x0 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x0, 0x3, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -6595,7 +6595,7 @@ Move_RAZOR_SHELL: playsewithpan SE_M_CUT, SOUND_PAN_TARGET createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 1, 0x28, 0xffe0, 0x0 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 waitforvisualfinish clearmonbg ANIM_TARGET waitforvisualfinish @@ -6611,12 +6611,12 @@ Move_HEAT_CRASH: createsprite gHeatCrashEruptionRockTemplate, ANIM_ATTACKER, 3, 0x0, 0xffe0, 0xf delay 0x13 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff8, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x9, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 9, 1 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET delay 0x5 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xa, 0xfff8, 0x1, 0x1 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 5, 1 createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfff4, 0x20, 0x3, 0x4 createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0x8, 0x1f, 0x2, 0x2 createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 0xfffc, 0x1c, 0x2, 0x3 @@ -6631,7 +6631,7 @@ Move_LEAF_TORNADO: monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x2, 0x2f, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 createsprite gEllipticalGustSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff0 createvisualtask AnimTask_AnimateGustTornadoPalette, 0x5, 0x1, 0x46 call LeafTornadoVortex @@ -6739,7 +6739,7 @@ Move_NIGHT_DAZE: delay 0x1 createsprite gNightDazeVioletRingsTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0, 0x1F, 0x8 waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x1f, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 31, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x2002 delay 0x6 playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER @@ -6775,7 +6775,7 @@ Move_TAIL_SLAP: setalpha 12, 8 choosetwoturnanim TailSlapRight TailSlapLeft TailSlapContinue: - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET waitforvisualfinish clearmonbg ANIM_TARGET @@ -6798,7 +6798,7 @@ Move_HURRICANE: createvisualtask AnimTask_StartSlidingBg, 0x5, 0x1000, 0x0, 0x1, 0xffff waitbgfadein playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x40, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 64, 1 call HurricaneGust delay 0xA call HurricaneGust @@ -6831,8 +6831,8 @@ Move_HEAD_CHARGE: delay 0x2 createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0x1 waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, 0x0, 0x2, 0x0, 0x4, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 2, 0, 4, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0x2 createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET @@ -6851,13 +6851,13 @@ Move_GEAR_GRIND: createsprite gGearGrindTemplate, ANIM_ATTACKER, 2, 0x20, 0x20, 0x0, 0xfccd, 0xfccd, 0xa delay 0xa createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0xfff8, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x7, 0x5, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2 waitforvisualfinish createsprite gGearGrindTemplate, ANIM_ATTACKER, 2, 0x20, 0xffe0, 0x0, 0xfccd, 0x333, 0xa createsprite gGearGrindTemplate, ANIM_ATTACKER, 2, 0xffe0, 0x20, 0x0, 0x333, 0xfccd, 0xa delay 0xa createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x8, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x8, 0x4, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2 waitforvisualfinish stopsound clearmonbg ANIM_TARGET @@ -6929,9 +6929,9 @@ Move_SEARING_SHOT: monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_ADJACENT, 0x2, 0x0, 0x9, 0x1F playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x1B, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x1B, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATK_PARTNER, 0x3, 0x0, 0x1B, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 27, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 27, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATK_PARTNER, 3, 0, 27, 1 playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET createsprite gSearingShotEruptionImpactTemplate, ANIM_TARGET, 3, -5, -5, 0x1, 0x1E, ANIM_TARGET createsprite gSearingShotEruptionImpactTemplate, ANIM_TARGET, 3, 5, 10, 0x1, 0x1E, ANIM_TARGET @@ -7514,7 +7514,7 @@ Move_SECRET_SWORD: createsprite gSecretSwordBladesTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0x0, 0xFF00, 0xA createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 0x28, 0xffe0, 0x0 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x0, 0x3, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 10, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x10, 0x0, 0x0 waitforvisualfinish @@ -7672,7 +7672,7 @@ Move_FIERY_DANCE:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xc, 0x14be waitforvisualfinish playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x2, 0x40, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 64, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x1, 0x0, 0x9, 0x1f call FireSpinEffect call FireSpinEffect @@ -7854,7 +7854,7 @@ Move_ICICLE_CRASH:: delay 0x2 createsprite gIcicleCrashSpearTemplate, ANIM_TARGET, 2, 0xffe9, 0x0, 0xfff6, 0x1 playsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 50, 1 delay 0x2 call LaunchIcicleCrashSpear call LaunchIcicleCrashSpear @@ -7929,7 +7929,7 @@ Move_V_CREATE:: playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -24, 8, 23, 10, 40, 10 delay 0x23 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 50, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x1f playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x1 @@ -8739,7 +8739,7 @@ Move_ELECTRIFY:: monbg ANIM_DEF_PARTNER playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET createsprite gElectrifyYellowRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x0, 0x1f, 0x8 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, 0x5, 0x0, 0x5, 0x0 delay 0x1 createsprite gElectrifyYellowRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x0, 0x1f, 0x8 @@ -9363,7 +9363,7 @@ GeomancyChargeUp: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 waitforvisualfinish playsewithpan SE_M_COSMIC_POWER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x5f, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 95, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x5, 0x1F call GeomancyRingBuff createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x5, 0x2C0 @@ -9442,7 +9442,7 @@ GeomancyUnleash: waitforvisualfinish playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x10, 0x4D01 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x25, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 37, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x5, 0x1F createsprite gGeomancyRedCellRaiseTemplate, ANIM_ATTACKER, 2, 0x14, 0x20, 0xffd0, 0x32, 0x1 createsprite gGeomancyGreenCellRaiseTemplate, ANIM_ATTACKER, 2, 0x0, 0x20, 0xffda, 0x19, 0x1 @@ -9728,7 +9728,7 @@ Move_INFESTATION:: monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x7320 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x4f, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 79, 1 loopsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER, 0x0, 0x4F call InfestationVortex call InfestationVortex @@ -9786,7 +9786,7 @@ Move_OBLIVION_WING:: createsoundtask SoundTask_LoopSEAdjustPanning, 0x7, 0xf0, 0xffc0, SOUND_PAN_TARGET, 0x1, 0xf, 0x0, 0x5 call OblivionWingBeam call OblivionWingBeam - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 40, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 40, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x4, 0x0, 0xc, 0x289F @Pinkish Red call OblivionWingBeam call OblivionWingBeam @@ -10080,7 +10080,7 @@ Move_LIGHT_OF_RUIN:: createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x14, 0x0, 0x2 panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xF, 0x6B1F - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 createvisualtask AnimTask_FlashAnimTagWithColor, 2, ANIM_TAG_ORBS, 1, 12, RGB_RED, 16, 0, 0 call LightOfRuinBeam call LightOfRuinBeam @@ -10115,7 +10115,7 @@ Move_LIGHT_OF_RUIN:: delay 0x2 createsprite gLightOfRuinPinkDischargeTemplate, ANIM_ATTACKER, 2, 0x1, 0xfff0, 0xfff0 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x5, 0xb, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 createsprite gLightOfRuinPinkExplosionTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x1 delay 0x10 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x7FFF @@ -10322,7 +10322,7 @@ Move_HYPERSPACE_FURY:: createvisualtask AnimTask_SetPsychicBackground, 0x5 waitbgfadein loopsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET, 0x2, 0x10 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 32, 1 createsprite gHyperspaceFuryHandTemplate, ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0xffe0, 0x10 call HyperspaceFuryRandomImpact delay 0x2 @@ -10474,7 +10474,7 @@ Move_SPIRIT_SHACKLE:: playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, 0x10, 0x0, 0x0, 0x0, 0xf delay 0x8 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 10, 1 waitforvisualfinish loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 0x1c, 0x2 createsprite gSpiritShackleChainTemplate, ANIM_TARGET, 2, 0xfff0, 0xfff0 @@ -10552,44 +10552,44 @@ Move_SPARKLING_ARIA:: end SparklingAriaRain: createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0xdc, 0x3c - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaBubbleRainTemplate, ANIM_TARGET, 2, 0x1, 0x3c, 0x64 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0x8c, 0x37 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0xb4, 0x32 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0x14, 0x5a - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaBubbleRainTemplate, ANIM_TARGET, 2, 0x1, 0x5a, 0x5a - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0xa0, 0x3c - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0x1e, 0x5a - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaRainTemplate, ANIM_TARGET, 2, 0x1, 0x78, 0x3c - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 createsprite gSparklingAriaBubbleRainTemplate, ANIM_TARGET, 2, 0x1, 0xc8, 0x28 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 3, 0, 6, 1 delay 0x2 return SparklingAriaCharge: @@ -11054,7 +11054,7 @@ Move_THROAT_CHOP:: delay 0x3 createsprite gThroatChopRedImpactTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x2 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 waitforvisualfinish createvisualtask AnimTask_InvertScreenColor, 0x2, 0x101, 0x101, 0x101 waitforvisualfinish @@ -11106,7 +11106,7 @@ PollenPuffOpponent: createsprite gPollenPuffSporeTemplate, ANIM_TARGET, 2, 0xa, 0x0, 0x0, 0x0, 0x19, 0xffe0 waitforvisualfinish playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 createsprite gPollenPuffImpactTemplates, ANIM_TARGET, 2, 0x1, 0x1, 0x0, 0xFFE0, 0x10 @up createsprite gPollenPuffImpactTemplates, ANIM_TARGET, 2, 0x1, 0x1, 0xFFEE, 0xFFEE, 0x10 @upperleft createsprite gPollenPuffImpactTemplates, ANIM_TARGET, 2, 0x1, 0x1, 0x0, 0x1C, 0x10 @down @@ -11186,9 +11186,9 @@ Move_ANCHOR_SHOT:: createsprite gAnchorShotAngledAnchorTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x35 waitforvisualfinish createsprite gAnchorShotAnchorTemplate, ANIM_ATTACKER, 3, 0x0, 0xffe0, 0xf - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 delay 0x25 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 waitforvisualfinish loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER 0x1c 0x2 createsprite gAnchorShotChainTemplate, ANIM_TARGET, 2, 0xfff0, 0xfff0 @@ -11246,7 +11246,7 @@ Move_LUNGE:: loadspritegfx ANIM_TAG_RAZOR_LEAF @green loadspritegfx ANIM_TAG_SMALL_BUBBLES @ball monbg ANIM_ATK_PARTNER - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x3, 0x0, 0xf0, 0x0 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 3, 0, 240, 0 loopsewithpan SE_M_PSYBEAM2, SOUND_PAN_ATTACKER, 0xe, 0xa createsprite gLungeGreenChargeTemplate, ANIM_ATTACKER, 2 delay 0x6e @@ -11267,7 +11267,7 @@ Move_LUNGE:: createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0xffce, 0xffd8, 0x6 createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0xffd8, 0x28, 0x6 createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0x32, 0xffce, 0x6 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x5, 0xb, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 delay 0x2 createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0x32, 0xffe2, 0x6 createsprite gTealAlertSpriteTemplate, ANIM_ATTACKER, 4, 0x3c, 0xa, 0x6 @@ -11317,7 +11317,7 @@ Move_FIRE_LASH:: waitforvisualfinish createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x18, 0x0, 0x0, 0x6 delay 0x4 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x5, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 8, 1 createvisualtask AnimTask_BlendMonInAndOut, 0x3, 0x1, 0x1f, 0xc, 0x1, 0x1 playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET loadspritegfx ANIM_TAG_SLASH @@ -11350,15 +11350,15 @@ Move_POWER_TRIP:: waitforvisualfinish playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET createsprite gPowerTripImpactTemplate, ANIM_ATTACKER, 2, 0xFFF5, 0xA, 0x1, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x5 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET createsprite gPowerTripImpactTemplate, ANIM_ATTACKER, 2, 0x0, 0xFFF5, 0x1, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x5 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET createsprite gPowerTripImpactTemplate, ANIM_ATTACKER, 2, 0xA, 0x0, 0x1, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end @@ -11397,7 +11397,7 @@ Move_BURN_UP:: createvisualtask AnimTask_CopyPalUnfadedToBackup, 0x5, 0x1, 0x0 delay 0x1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xd, 0x1c - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x2, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 2, 0, 15, 1 waitforvisualfinish delay 0x1E createsprite gUproarRingSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x8 @@ -11408,7 +11408,7 @@ Move_BURN_UP:: createvisualtask AnimTask_CopyPalFadedToUnfaded, 0x5, 0x1 delay 0x1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x0, 0x0, 0xd, 0x4a52 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x3, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 3, 0, 15, 1 delay 0xF createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_TARGET, 0x2, 0x0, 0xC, 0x1C delay 0x1 @@ -11419,7 +11419,7 @@ Move_BURN_UP:: createvisualtask AnimTask_CopyPalUnfadedFromBackup, 0x5, 0x1, 0x0 delay 0x1 playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x2, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 2, 0, 15, 1 call FireSpreadEffect waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x0, 0xd, 0x0, 0x4a52 @@ -11486,7 +11486,7 @@ Move_SMART_STRIKE:: splitbgprio ANIM_TARGET setalpha 12, 8 call SonicBoomProjectile - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0xa, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 10, 1 loadspritegfx ANIM_TAG_FLASH_CANNON_BALL createsprite gSmartStrikeImpactTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x8, 0x1, 0x0 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET @@ -11583,7 +11583,7 @@ Move_REVELATION_DANCE:: createsprite gRevelationDanceYellowDispersalTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0xa0, 0x30, 0x28 createsprite gRevelationDanceYellowDispersalTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0xff20, 0xffe0, 0x28 createsprite gRevelationDanceYellowDispersalTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0x70, 0xff80, 0x28 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xF, 0x0, 0x0 waitforvisualfinish @@ -11814,7 +11814,7 @@ Move_TROP_KICK:: loadspritegfx ANIM_TAG_FLOWER @flowers monbg ANIM_DEF_PARTNER createsprite gTropKickGreenFootTemplate, ANIM_ATTACKER, 2, 0xfff0, 0x8, 0x0, 0x0, 0xa, 0x1, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET delay 0xA playsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER @@ -11844,7 +11844,7 @@ Move_INSTRUCT:: delay 0x4 monbg ANIM_TARGET createvisualtask AnimTask_BlendMonInAndOut, 0x5, 0x0, 0x37b, 0xc, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x29, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 41, 1 playsewithpan SE_M_BIND, SOUND_PAN_TARGET delay 0x1A createvisualtask AnimTask_BlendMonInAndOut, 0x5, 0x0, 0x37b, 0xc, 0x1, 0x1 @@ -11903,8 +11903,8 @@ Move_CLANGING_SCALES:: call ClangingScalesMetalSound call ClangingScalesMetalSound delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 0, 3, 15, 1 waitforvisualfinish clearmonbg ANIM_DEF_PARTNER delay 0x0 @@ -11972,9 +11972,9 @@ Move_BRUTAL_SWING:: delay 0x6 createsprite gBrutalSwingBasicImpactTemplate, ANIM_TARGET, 3, 0xffe0, 0xfff0, 0x1, 0x1 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x15, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x0, 0x3, 0x15, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATK_PARTNER, 0x0, 0x3, 0x15, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 21, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 0, 3, 21, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATK_PARTNER, 0, 3, 21, 1 delay 0x4 createsprite gBrutalSwingRandomImpactTemplate, ANIM_TARGET, 3, 0x1, 0x1 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET @@ -12219,7 +12219,7 @@ Move_FLEUR_CANNON:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xF, 0x7440 waitforvisualfinish panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 createvisualtask AnimTask_FlashAnimTagWithColor, 2, ANIM_TAG_ORBS, 1, 12, RGB_RED, 16, 0, 0 call FleurCannonBeam call FleurCannonBeam @@ -12248,7 +12248,7 @@ Move_FLEUR_CANNON:: delay 0x2 createsprite gFleurCannonDischargeTemplate, ANIM_ATTACKER, 2, 0x1, 0xfff0, 0xfff0 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x5, 0xb, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 11, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x10, 0x0, 0x7440 waitforvisualfinish @@ -12279,14 +12279,14 @@ PsychicFangsRegular: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x20, 0x5, 0xfccd, 0xfccd, 0xa delay 0xa createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0xfff8, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x7, 0x5, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2 delay 0x10 playsewithpan SE_M_BITE, SOUND_PAN_TARGET createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0xffe0, 0x7, 0xfccd, 0x333, 0xa createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0xffe0, 0x20, 0x3, 0x333, 0xfccd, 0xa delay 0xa createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x8, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x8, 0x4, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2 PsychicFangsEnd: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET waitforvisualfinish @@ -12301,7 +12301,7 @@ PsychicFangsDestroyWall: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0x20, 0x5, 0xfccd, 0xfccd, 0xa delay 0xa createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0xfff8, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x7, 0x5, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 5, 2 delay 0x10 playsewithpan SE_M_BITE, SOUND_PAN_TARGET createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0x20, 0xffe0, 0x7, 0xfccd, 0x333, 0xa @@ -12313,7 +12313,7 @@ PsychicFangsDestroyWall: createsprite gBrickBreakWallShardSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x2, 0xfff8, 0xc createsprite gBrickBreakWallShardSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x3, 0x8, 0xc playsewithpan SE_M_BRICK_BREAK, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x8, 0x4, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 8, 4, 2 delay 0x10 goto PsychicFangsEnd @@ -12366,12 +12366,12 @@ Move_SHADOW_BONE:: createsprite gSpinningBoneSpriteTemplate, ANIM_ATTACKER, 2, 0xffd6, 0xffe7, 0x0, 0x0, 0xf delay 0xc createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x5, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x7, 0x5, 0x1, 0x0, 0xa, 0x0, 0x0 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish createvisualtask AnimTask_NightmareClone, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 40, 1 playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET waitforvisualfinish restorebg @@ -12389,7 +12389,7 @@ Move_ACCELEROCK:: createvisualtask AnimTask_TraceMonBlended, 0x2, 0x0, 0x4, 0x7, 0x3 playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER delay 0x4 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x5, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x3, 0x0, 0x5, 0x1 @@ -12413,7 +12413,7 @@ Move_LIQUIDATION:: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x4 delay 0x6 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET waitforvisualfinish call RisingWaterHitEffect @@ -12598,31 +12598,31 @@ SpectralThiefUnleash: delay 0x1 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0xa, 0x14, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0xfffb, 0xa, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0x11, 0xfff4, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0xfff1, 0xf, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x4 createsprite gSpectralThiefThiefImpactTemplate, ANIM_TARGET, 2, 0x14, 0x2, 0x0 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish visible ANIM_ATTACKER delay 0x2 @@ -12705,7 +12705,7 @@ Move_SUNSTEEL_STRIKE:: createsprite gSunsteelStrikeSuperpowerTemplate, ANIM_TARGET, 2, 0x14 delay 0x14 createsprite gSunsteelStrikeRedImpactTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x0 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 waitforvisualfinish unloadspritegfx ANIM_TAG_METEOR @superpower unloadspritegfx ANIM_TAG_GOLD_RING @beam @@ -12752,7 +12752,7 @@ Move_MOONGEIST_BEAM:: call MoongeistBeamCharge delay 0x20 createsoundtask SoundTask_LoopSEAdjustPanning, 0x7, 0xCC, 0xffc0, SOUND_PAN_TARGET, 0x1, 0xf, 0x0, 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 createvisualtask AnimTask_FlashAnimTagWithColor, 2, ANIM_TAG_ORBS, 1, 12, RGB_RED, 16, 0, 0 call MoongeistBeamOrbs call MoongeistBeamOrbs @@ -12844,16 +12844,16 @@ Move_ZING_ZAP:: loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color monbg ANIM_TARGET call ZingZapSparks1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 4, 0, 6, 1 delay 0xA call ZingZapSparks2 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 4, 0, 6, 1 delay 0xA call ZingZapSparks1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 4, 0, 6, 1 delay 0xA call ZingZapSparks2 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 4, 0, 6, 1 delay 0xA createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 1, 5 delay 0x4 @@ -12867,7 +12867,7 @@ Move_ZING_ZAP:: playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER waitforvisualfinish createsprite gZingZapRingTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x0, 0x1f, 0x8 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 call ElectricityEffect visible ANIM_ATTACKER waitforvisualfinish @@ -12959,11 +12959,11 @@ Move_NATURES_MADNESS:: createsprite gNaturesMadnessCrystalsTemplate, ANIM_ATTACKER, 2, 0x19, 0x14, 0x19, 0x1 createsprite gNaturesMadnessCrystalsTemplate, ANIM_ATTACKER, 2, 0xffec, 0x14, 0x19, 0x1 createsprite gNaturesMadnessCrystalsTemplate, ANIM_ATTACKER, 2, 0xc, 0x0, 0x19, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0003, 0x0000, 0x0006, 0x0001 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -12988,7 +12988,7 @@ Move_MULTI_ATTACK:: playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 0x28, 0xffe0, 0x0 createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 0x28, 0xffd0, 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xC, 0x0, 0x0 waitforvisualfinish @@ -13075,7 +13075,7 @@ Move_PLASMA_FISTS:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 waitforvisualfinish createsprite gPlasmaFistsChargeTemplate, ANIM_ATTACKER, 2, 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x3, 0x5c, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 3, 92, 1 call PlasmaFistSpark1 delay 0xA call PlasmaFistSpark2 @@ -13144,7 +13144,7 @@ PlasmaFistsImpact: playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET createvisualtask AnimTask_InvertScreenColor, 0x2, 0x101, 0x101, 0x101 delay 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x2 return @@ -13217,7 +13217,7 @@ Move_PHOTON_GEYSER:: @Shoot beam to the sky loadspritegfx ANIM_TAG_STRAIGHT_BEAM createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x6, 0x0, 0x10, 0x43FF @Light yellow - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x4, 0x0, 0x60, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 96, 1 panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 call PhotonGeyserBeam waitforvisualfinish @@ -13361,7 +13361,7 @@ Move_JAW_LOCK:: createsprite gJawLockTeethTemplate, ANIM_ATTACKER, 2, 0x20, 0x20, 0x5, 0xfccd, 0xfccd, 0xa, 15 delay 0xa createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0xfff8, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x7, 0xA, 0x2 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 7, 10, 2 waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x7, 0x0, 0x0 @;Black waitforvisualfinish @@ -13475,7 +13475,7 @@ Move_DRAGON_DARTS:: createsprite gDreepyMissileTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x19 delay 0x19 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x10, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 16, 1 createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 waitforvisualfinish end @@ -13529,7 +13529,7 @@ Move_BOLT_BEAK:: waitforvisualfinish createsprite gFlashingHitSplatSpriteTemplate, 0x83, 0x4, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish createvisualtask AnimTask_BlendColorCycle, 0x2, 0x4, 0xffe1, 0x2, 0x0, 0x6, 0x5bff call ElectricityEffect @@ -13572,7 +13572,7 @@ Move_FISHIOUS_REND:: createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x726A @Blue Teeth playsewithpan SE_M_WATERFALL, SOUND_PAN_TARGET createsprite gFishiousRendTeethTemplate, ANIM_TARGET, 0, 50, 4 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x4, 0x0, 0xC, 0x2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 4, 0, 12, 2 call FishousRendBubbles waitforvisualfinish end @@ -13719,7 +13719,7 @@ Move_DRUM_BEATING:: delay 0x5 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0xfff6, 0xfff6, 0x1, 0x3 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x3, ANIM_TARGET, 0x8, 0x0, 0x14, 0x1 + createvisualtask AnimTask_ShakeMon, 3, ANIM_TARGET, 8, 0, 20, 1 delay 0x3 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0xa, 0x8, 0x1, 0x3 playsewithpan SE_M_DOUBLE_SLAP, SOUND_PAN_TARGET @@ -13764,7 +13764,7 @@ Move_PYRO_BALL:: createsprite gPyroBallEmberBallTemplate, ANIM_ATTACKER, 2, 0, 10, 0, 5, 20, -20 waitforvisualfinish createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xc, 0x1f - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 call FireSpreadEffect delay 0x20 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x7, 0x0, 0x043D @@ -13811,7 +13811,7 @@ Move_AURA_WHEEL:: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x18, 0x0, 0x0, 0x6 delay 0x4 playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x17, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 23, 1 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0xfff6, 0x0, 0x1, 0x0 createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SPARK_2, 2, 12, 0, 0x76E1 @Revert blue Electricity createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x0, 0x28, 0x0, 0x8003 @@ -13835,8 +13835,8 @@ Move_BREAKING_SWIPE:: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xffe0, 0xfff0, 0x1, 0x1 createsprite gBreakingSwipeCenteredElectricity, ANIM_TARGET, 2, 0x5, 0x0, 0x5, 0x0 playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x15, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x0, 0x3, 0x15, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 21, 1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 0, 3, 21, 1 delay 0x4 createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x1 createsprite gBreakingSwipeCenteredElectricity, ANIM_TARGET, 2, 0xfff1, 0xfff6, 0x5, 0x0 @@ -13861,7 +13861,7 @@ Move_BRANCH_POKE:: playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER createsprite gBranchPokeBranchTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x25 waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 6, 1 createsprite gFlashingHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET waitforvisualfinish @@ -13996,7 +13996,7 @@ Move_SPIRIT_BREAK:: call MindReaderEyeSpikeEffect call MindReaderEyeSpikeEffect waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 5, 1 playsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET createsprite gSpriteTemplate_SpiritBreakExplode, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 waitforvisualfinish @@ -14108,7 +14108,7 @@ Move_FALSE_SURRENDER:: playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x1, 0x7fff, 0xa, 0x0, 0xa createsprite gSpriteTemplate_LargeCrossImpact, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x14 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x9, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 waitforvisualfinish clearmonbg ANIM_TARGET blendoff @@ -14139,7 +14139,7 @@ Move_METEOR_ASSAULT:: playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER delay 0xF createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_ATTACKER), 1, 0x10, 0x10, 0x7FFF @Screen flash white - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 32, 1 call BasicExplosion call BasicExplosion waitforvisualfinish @@ -14255,8 +14255,8 @@ EXPANDING_FORCE_BOTH_TARGETS: createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_TARGET createsprite gSpriteTemplate_SpiritBreakChargeBall, ANIM_TARGET, 1, ANIM_DEF_PARTNER waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x5, 0x0, 0x18, 0x1 @;High power - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_DEF_PARTNER, 0x5, 0x0, 0x18, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 24, 1 @;High power + createvisualtask AnimTask_ShakeMon, 2, ANIM_DEF_PARTNER, 5, 0, 24, 1 call ExpandingForceExplosionGeyser waitforvisualfinish call UnsetPsychicBg @@ -14372,7 +14372,7 @@ Move_SCALE_SHOT:: waitforvisualfinish playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 5, 1 delay 0x10 stopsound waitforvisualfinish @@ -14403,7 +14403,7 @@ METEOR_BEAM_BLAST: waitbgfadein monbg ANIM_TARGET panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER SOUND_PAN_TARGET 0x2 0x0 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x57, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 87, 1 call MeteorBeamRockLaunch call MeteorBeamRockLaunch call MeteorBeamRockLaunch @@ -14725,7 +14725,7 @@ Move_SKITTER_SMACK:: Move_BURNING_JEALOUSY:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x2A, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 42, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F call BurningJealousyFireBuffEffect delay 0x8 @@ -14840,12 +14840,12 @@ Move_POLTERGEIST:: waitforvisualfinish setalpha 12, 8 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x5, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 5, 5, 1 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x7, 0x5, 0x1, 0x0, 0xa, 0x0, 0x0 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish createvisualtask AnimTask_NightmareClone, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0x28, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 40, 1 playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET waitforvisualfinish restorebg @@ -14907,7 +14907,7 @@ Move_FLIP_TURN:: waitforvisualfinish playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET createsprite gWaterHitSplatSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x2 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 createsprite gSpriteTemplate_FlipTurnBack, ANIM_ATTACKER, 3, 0x0, 0xFFF1, 0xFFF0, 0x24 waitforvisualfinish visible ANIM_ATTACKER @@ -14932,7 +14932,7 @@ TripleAxelTurn0: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0xfff0, 0xfff0, 0x1, 0x2 createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0xff00, 0xffd8 createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0xfff0, 0xfff8, 0x1a0, 0xffda - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 4, 1 goto TripleAxelEnd TripleAxelTurn1: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x8, 0x8, 0x14, 0x1, 0x2 @@ -14941,7 +14941,7 @@ TripleAxelTurn1: createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xff00, 0xffd8 createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0x1a0, 0xffda createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x8, 0x8, 0xfe80, 0xffe1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 6, 1 goto TripleAxelEnd TripleAxelTurn2: createsprite gFistFootSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x14, 0x1, 0x2 @@ -14952,7 +14952,7 @@ TripleAxelTurn2: createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0x1a0, 0xffda createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xff80, 0xffea createsprite gTripleAxelIceCrystalSpriteTemplate, ANIM_TARGET, 1, 0x0, 0x0, 0xfe80, 0xffe1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x8, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 TripleAxelEnd: delay 4 playsewithpan SE_M_ICY_WIND, 0x3f @@ -14966,7 +14966,7 @@ Move_DUAL_WINGBEAT:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHITE_FEATHER setalpha 12, 8 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 10, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 10, 1 playsewithpan SE_M_WING_ATTACK, SOUND_PAN_TARGET jumpifmoveturn 1, DualWingbeatRightSide DualWingbeatLeftSide: @@ -15033,7 +15033,7 @@ Move_SCORCHING_SANDS:: call SandAttackDirt call SandAttackDirt call SandAttackDirt - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x2, 0x0, 25, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 2, 0, 25, 1 call SandAttackDirt call SandAttackDirt playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET @@ -15142,7 +15142,7 @@ Move_WICKED_BLOW:: createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x80, 0xfff0 createsprite gSpriteTemplate_WickedBlowBlackStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0xa0, 0xffe0 createsprite gSpriteTemplate_WickedBlowRedStars, ANIM_TARGET, 2, 0xfff0, 0xfff8, 0x1a0, 0xffda - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0xA, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 10, 1 delay 20 createvisualtask AnimTask_TwinkleTackleLaunch, 0x2, 50 delay 50 @@ -15236,7 +15236,7 @@ Move_THUNDER_CAGE:: createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 0 delay 4 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, 16 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x3, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 50, 1 call ThunderCageBolts delay 0x4 createsprite gThunderWaveSpriteTemplate, ANIM_TARGET, 2, -16, -16 @@ -15273,8 +15273,8 @@ Move_DRAGON_ENERGY:: playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_TARGET call DragonEnergyShot call DragonEnergyShot - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x5E, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x4, 0x0, 0x5E, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 94, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_DEF_PARTNER, 4, 0, 94, 1 call DragonEnergyShot call DragonEnergyShot call DragonEnergyShot @@ -15329,7 +15329,7 @@ Move_FREEZING_GLARE:: playsewithpan SE_M_PSYBEAM2, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xC, 0x7f4c @;Ice blue - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x4, 0x1C, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 28, 1 call IceCrystalEffectShort waitforvisualfinish call UnsetPsychicBg @@ -15343,7 +15343,7 @@ Move_FIERY_WRATH:: playsewithpan SE_M_SACRED_FIRE2, 0xc0 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x2, 0x0, 0xE, 0x0 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x4, 0x0, 0x8, 0x1F - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 32, 1 call DragonClawFireSpiral call DragonClawFireSpiral waitforvisualfinish @@ -15426,7 +15426,7 @@ Move_THUNDEROUS_KICK:: playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET createsprite gMegaPunchKickSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x32 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0x7, 0x7fff - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x2, 0x0, 0x16, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 2, 0, 22, 1 call ZingZapSparks1 delay 0xA call ZingZapSparks2 @@ -15465,8 +15465,8 @@ Move_GLACIAL_LANCE:: playsewithpan SE_M_DETECT, SOUND_PAN_TARGET delay 38 playsewithpan SE_M_BRICK_BREAK, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x6, 0x0, 0x34, 0x1 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_DEF_PARTNER, 0x6, 0x0, 0x34, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 52, 1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_DEF_PARTNER, 6, 0, 52, 1 delay 4 call IceCrystalEffectLong waitforvisualfinish @@ -15598,7 +15598,7 @@ Move_STONE_AXE:: playsewithpan SE_M_CUT, SOUND_PAN_TARGET createsprite gSpriteTemplate_StoneAxeSlash, ANIM_TARGET, 2, 50, -10, 100, 8, 1 @;Move left delay 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x10, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 16, 1 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET call StoneAxeRockFragments delay 0x8 @@ -15624,7 +15624,7 @@ Move_SPRINGTIDE_STORM:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_RED_HEART playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1 createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF call HurricaneGust call SpringtideStormHeartSwirl @@ -15739,7 +15739,7 @@ Move_WAVE_CRASH:: createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -20, 8, 48, 8, 56, 6 call WaterfallBubblesOnAttacker waitforvisualfinish - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x5, 0x5, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 5, 5, 1 call RisingWaterHitEffect waitforvisualfinish delay 0x5 @@ -15771,13 +15771,13 @@ Move_CHLOROBLAST:: waitbgfadeout createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x0, 0x10, 0x0, 0x0 delay 0x10 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x4A, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 74, 1 createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xFF00 | SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x1, 0x17, 0x0, 0x5 createvisualtask AnimTask_HorizontalShake, 0x5, 5, 1, 67 call ChloroblastShot call ChloroblastShot call ChloroblastShot - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x4, 0x0, 0x4A, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 4, 0, 74, 1 call ChloroblastShot call ChloroblastShot call ChloroblastShot @@ -15821,7 +15821,7 @@ Move_MOUNTAIN_GALE:: call MountainGaleIceRock delay 0x6 call MountainGaleIceRock - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x18, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 24, 1 playsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET delay 0x6 call MountainGaleIceRock @@ -15874,7 +15874,7 @@ Move_HEADLONG_RUSH:: waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 0x5, 0xF000, 0x0, 0x0, 0xffff waitbgfadein - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x26, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 38, 1 call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun @@ -15961,7 +15961,7 @@ Move_BARB_BARRAGE:: loopsewithpan SE_M_DIG, SOUND_PAN_ATTACKER, 0x7, 0x3 createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER delay 0x14 - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x7, 0x0, 0x20, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 32, 1 call PoisonBubblesEffect clearmonbg ANIM_TARGET end @@ -16081,7 +16081,7 @@ Move_TRIPLE_ARROWS:: createsprite gSpriteTemplate_TripleArrowKick, ANIM_TARGET, 2, -30, -20, 0x10, -20 waitforvisualfinish playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x6, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 6, 6, 1 delay 0x4 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER createsprite gSpiritShackleArrowTemplate, ANIM_TARGET, 2, -40, 0, 0, 0, TRIPLE_ARROW_FLY_TIME @@ -16120,7 +16120,7 @@ Move_INFERNAL_PARADE:: delay 0x3 createsprite gSpriteTemplate_InfernalParadeFlame, ANIM_TARGET, 2, 30, 10, 20 @;Bottom right delay 0x3 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x3, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 50, 1 call InfernalFlames call InfernalFlames call InfernalFlames @@ -16194,7 +16194,7 @@ Move_BLEAKWIND_STORM:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_ICE_CRYSTALS playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x7FFF call HurricaneGust call BleakwindStormIceSwirl @@ -16237,7 +16237,7 @@ Move_WILDBOLT_STORM:: createvisualtask AnimTask_StartSlidingBg, 0x5, 0xff00, 0x0, 0x1, 0xffff waitbgfadein playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x07FE call HurricaneGust call WildboltStormSparkSwirl @@ -16279,7 +16279,7 @@ Move_SANDSEAR_STORM:: loadspritegfx ANIM_TAG_SMALL_EMBER createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B playsewithpan SE_M_GUST, SOUND_PAN_TARGET - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x0, 0x4, 0x58, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0xB, 0x1F call HurricaneGust call SandsearStormFireSpin @@ -26524,7 +26524,7 @@ Status_Infestation: monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 0x2, 0x0, 0x9, 0x7320 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 30, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 30, 1 loopsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER, 0x0, 30 call InfestationVortex call InfestationVortex @@ -27216,7 +27216,7 @@ Move_ALL_OUT_PUMMELING: waitbgfadein setalpha 12, 8 monbg ANIM_DEF_PARTNER - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x2, SOUND_PAN_TARGET, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 63, 1 createsprite gAllOutPummelingOnslaughtSpriteTemplate, ANIM_ATTACKER, 2, 0xffd0, 0x18, 0x0, 0x0, 0xa, 0x1, ANIM_FOOT_1, 0x1 delay 0x2 createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x1, 0x1 @@ -27377,7 +27377,7 @@ FinishAcidDownpour: setalpha 12, 8 monbg ANIM_ATTACKER loopsewithpan SE_M_TOXIC, SOUND_PAN_TARGET, 0xd, 0x6 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 50, 1 call AcidDownpourFlareOnAttacker call AcidDownpourFlareOnAttacker call AcidDownpourFlareOnAttacker @@ -27398,7 +27398,7 @@ FinishAcidDownpour: panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 createvisualtask AnimTask_CreateSurfWave, 0x2, ANIM_SURF_PAL_SLUDGE_WAVE createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0x7, 0xd87c - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x2, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 50, 1 call AcidDownpourFlare call AcidDownpourFlare delay 0x15 @@ -27734,7 +27734,7 @@ Move_SAVAGE_SPIN_OUT:: waitforvisualfinish unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT call gSavageSpinOutStringBlastSpriteTemplateSHOT - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x5, 0x0, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 5, 0, 50, 1 call gSavageSpinOutStringBlastSpriteTemplateSHOT call gSavageSpinOutStringBlastSpriteTemplateSHOT call gSavageSpinOutStringBlastSpriteTemplateSHOT @@ -27896,7 +27896,7 @@ Move_NEVER_ENDING_NIGHTMARE:: waitforvisualfinish fadetobg BG_NEVERENDING_NIGHTMARE waitbgfadein - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x4, 0x78, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 120, 1 playsewithpan SE_M_WHIRLPOOL, SOUND_PAN_TARGET call NeverendingNightmareHands call NeverendingNightmareHands @@ -28059,7 +28059,7 @@ Move_CORKSCREW_CRASH:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0xb, 0x6318 @fade atker to gray createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_SPIKES, 0x0, 0xC, 0xC, 0x6318 @;Gray playsewithpan SE_ESCALATOR, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x4f, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 79, 1 createsprite gCorkscrewCrashChargeSpriteTemplate, ANIM_ATTACKER, 2, 0x0 call CorkscrewCrashMetalFlare call CorkscrewCrashMetalFlare @@ -28193,7 +28193,7 @@ FinishInfernoOverdrive: monbg ANIM_ATTACKER setalpha 12, 8 loopsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_ATTACKER, 0x13, 0x8 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x4f, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 79, 1 createsprite gInfernoOverdriveChargeSpriteTemplate, ANIM_ATTACKER, 2, 0x0 call InfernoOverdriveFireSpin call InfernoOverdriveFireSpin @@ -28215,7 +28215,7 @@ FinishInfernoOverdrive: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 8, 0, 16, 1 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_TARGET, 0x0, 0x2, 0x4f, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 79, 1 call InfernoOverdriveExplosion delay 0x6 call InfernoOverdriveExplosion @@ -28466,7 +28466,7 @@ Move_BLOOM_DOOM:: createsprite gAromatherapyBigFlowerSpriteTemplate, ANIM_ATTACKER, 0, 0x10, 0x18, 0x0, 0x2, 0x1, 0x0, 0x0 delay 0x5 createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xffc0, SOUND_PAN_TARGET, 0x1, 0xf, 0x0, 0x5 - createvisualtask AnimTask_ShakeMon, 0x2, 0x0, 0x0, 0x4, 0x32, 0x1 @ shake attacker + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 @ shake attacker call BloomDoomHyperBeam call BloomDoomHyperBeam call BloomDoomHyperBeam @@ -28807,7 +28807,7 @@ Move_SHATTERED_PSYCHE:: createvisualtask AnimTask_BlendBattleAnimPalExclude, 0x5, 0x0, 0x0, 0x10, 0x0, 0x0 delay 0x7 playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x3, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffc, 0xfffc, 0xf, 0x1, 0x1 waitforvisualfinish ShatteredPsycheCheckBattler: @@ -28826,7 +28826,7 @@ ShatteredPsycheFinish: delay 0x8 playsewithpan SE_M_EXPLOSION, SOUND_PAN_TARGET restorebg - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0xf, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffc, 0xfffc, 0xf, 0x1, 0x1 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0x0 @ -8, -12 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x1, 0x0, 0x0 @@ -29888,7 +29888,7 @@ Move_10000000_VOLT_THUNDERBOLT:: loadspritegfx ANIM_TAG_LEAF @green loadspritegfx ANIM_TAG_POISON_BUBBLE @purple loopsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER, 0x5, 0xA - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_ATTACKER, 0x0, 0x4, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 @ createvisualtask AnimTask_FlashAnimTagWithColor, 0x2, ANIM_TAG_ORBS, 0x1, 0xc, 0x1f, 0x10, 0x0, 0x0 call TenMillionVoltThunderboltBeamRed call TenMillionVoltThunderboltBeamBlue @@ -30329,7 +30329,7 @@ PulverizingPancakeFinish: waitforvisualfinish fadetobg BG_SOLAR_BEAM_OPPONENT waitbgfadeout - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 50, 1 call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun call PulverizingPancakeDiggingRun @@ -31068,7 +31068,7 @@ Move_OCEANIC_OPERETTA:: invisible ANIM_ATTACKER createsprite gOceanOperaBlueChargeSpriteTemplate, ANIM_ATTACKER, 2, 0x0 @charge delay 0x2 - createvisualtask AnimTask_ShakeMon, 0x5, ANIM_ATTACKER, 0x0, 0x2, 0x50, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 80, 1 createsprite gWhirlpoolSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x1c, 0x180, 0x32, 0x8, 0x32, ANIM_ATTACKER createsprite gOceanOperaBlueRingSpriteTemplate, ANIM_ATTACKER, 40, 0x0, 0x0, 0x0, 0x0 delay 0x2 @@ -31271,7 +31271,7 @@ SplinteredStormshardsByPlayer: delay 0x2 invisible ANIM_ATTACKER createsprite gGrowingSuperpowerTemplate, ANIM_TARGET, 3, 0x0 @superpower - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x4, 0x60, 0x1 @shake target up and down + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 96, 1 @shake target up and down createsprite gSplinteredShardsSplinterOpponentSteepSpriteTemplate, ANIM_ATTACKER, 2, 0xffd0, 0x18, 0x0, 0x0, 0xa, 0x1, 0x0, 0x1 delay 0x4 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET @@ -31354,7 +31354,7 @@ SplinteredStormshardsByOpponent: delay 0x2 invisible ANIM_ATTACKER createsprite gGrowingSuperpowerTemplate, ANIM_TARGET, 3, 0x0 @superpower - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x4, 0x60, 0x1 @shake target up and down + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 96, 1 @shake target up and down createsprite gSplinteredShardsSplinterPlayerShallowSpriteTemplate, ANIM_TARGET, 2, 0xffd0, 0x18, 0x0, 0x0, 0xa, 0x1, 0x0, 0x1 delay 0x4 playsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET @@ -31523,7 +31523,7 @@ Move_LETS_SNUGGLE_FOREVER:: createvisualtask AnimTask_SnatchOpposingMonMove, 0x2 delay 0x10 playsewithpan SE_M_FAINT_ATTACK, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x2, 0x32, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 50, 1 call LetsSnuggleForeverTears delay 0x8 call LetsSnuggleForeverTears @@ -32610,7 +32610,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: waitforvisualfinish unloadspritegfx ANIM_TAG_FIRE_PLUME loadspritegfx ANIM_TAG_PAIN_SPLIT @pain split - createvisualtask AnimTask_ShakeMon, 0x5, 0x1, 0x0, 0x4, 0x25, 0x1 + createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 37, 1 createsprite gSoulStealBlueFistSpriteTemplate, ANIM_TARGET, 2, 0xffc0, 0x14, 0x0, 0x0, 0xa, 0x1, 0x0, 0x1 delay 0x4 createsprite gSoulStealBlueStarSpriteTemplate, ANIM_TARGET, 4, 0x0, ANIM_TARGET, 0x2, 0x0, 0x0, 0x30 @@ -32663,7 +32663,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x0, 0x0, 0x10, 0x0000 delay 0x1 createsprite gSoulStealZStarSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x24 - createvisualtask AnimTask_ShakeMon, 0x2, ANIM_TARGET, 0x3, 0x0, 0x6, 0x1 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x0 createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x2a createsprite gWillOWispFireSpriteTemplate, ANIM_TARGET, 2, 0x54 From 323b7716308b44a7c9a098918118547fb51185ea Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 09:55:45 -0400 Subject: [PATCH 094/256] Cleaned: createvisualtask AnimTask_ScaleMonAndRestore & AnimTask_RotateMonSpriteToSide --- data/battle_anim_scripts.s | 52 +++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 8b3ae78e09..474240803f 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1084,13 +1084,13 @@ Move_GYRO_BALL: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 4, -10, 0, 1, 0 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -32, 0, 0, 3 waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 0, 0 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 1, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 0, 1 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, 1, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_ATTACKER, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -256, ANIM_TARGET, 1 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 delay 3 @@ -1760,14 +1760,14 @@ Move_LAST_RESORT: createsprite gBasicHitSplatSpriteTemplate, 132, 4, -10, 0, 1, 0 createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 1, -32, 0, 0, 3 waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 0, 0 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 1, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_ATTACKER, 0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 0, 4, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_PLAYER_RIGHT, 1, 4, 0, 12, 1 createsprite gSimplePaletteBlendSpriteTemplate, 2, 5, 1, 2, 16, 0, RGB(31, 31, 31) waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 0, 1 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, 1, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_ATTACKER, 1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 8, -256, ANIM_TARGET, 1 waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 0, 5 delay 3 @@ -1797,7 +1797,7 @@ Move_SUCKER_PUNCH: createsprite gSuckerPunchSpriteTemplate, 130, 6, -18, 5, 40, 8, 160, 0 delay 4 createsprite gBasicHitSplatSpriteTemplate, 130, 4, -8, 8, 1, 2 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 6, 384, 1, 2 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 6, 384, ANIM_TARGET, 2 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 1, 4 @@ -3232,7 +3232,7 @@ Move_TRICK_ROOM:: InitRoomAnimation: setalpha 8, 8 playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET - createvisualtask AnimTask_ScaleMonAndRestore, 5, 0xfffa, 0xfffa, 15, 1, 1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1 return Move_DRACO_METEOR: @@ -3814,7 +3814,7 @@ Move_GRASS_KNOT: createsprite gGrassKnotSpriteTemplate, 130, 6, -18, 19, 40, 8, 160, 0 delay 4 createsprite gBasicHitSplatSpriteTemplate, 130, 4, -8, 8, 1, 2 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 6, 384, 1, 2 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 6, 384, ANIM_TARGET, 2 playsewithpan SE_M_VITAL_THROW2 SOUND_PAN_TARGET waitforvisualfinish createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 1, 4 @@ -4932,7 +4932,7 @@ Move_STORM_THROW: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 playsewithpan SE_M_SWAGGER, SOUND_PAN_TARGET delay 1 - createvisualtask AnimTask_RotateMonSpriteToSide, 2, 10, 0xC00, 1, 2 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 10, 3072, ANIM_TARGET, 2 playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET delay 3 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 7 @@ -5826,7 +5826,7 @@ Move_FINAL_GAMBIT: delay 0x4 waitforvisualfinish createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 - createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffc, 0xfffc, 0xf, 0x1, 0x1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_TARGET, 1 waitforvisualfinish monbg ANIM_TARGET delay 0x1 @@ -9663,7 +9663,7 @@ Move_BABY_DOLL_EYES:: createsprite gOpeningEyeSpriteTemplate, ANIM_ATTACKER, 5, 0x0, 0x0, 0x1, 0x0 delay 0x20 playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffb, 0xfffb, 0xa, 0x0, 0x1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 10, ANIM_ATTACKER, 1 waitforvisualfinish delay 0xa createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 9, 1 @@ -13464,7 +13464,7 @@ Move_MAGIC_POWDER:: createsprite gPoisonPowderParticleSpriteTemplate, ANIM_TARGET, 2, 0x5, 0xffea, 0x75, 0x50, 0x5, 0x1 waitforvisualfinish playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET - createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffa, 0xfffa, 0xf, 0x1, 0x1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -6, -6, 15, ANIM_TARGET, 1 waitforvisualfinish end @@ -13885,7 +13885,7 @@ Move_OVERDRIVE:: OverdriveRings: playsewithpan SE_M_THUNDERBOLT, SOUND_PAN_TARGET createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1f, 0x3, 0x8, 0x0, 0x3ff - createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffb, 0xfffb, 0x5, 0x0, 0x0 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -5, -5, 5, ANIM_ATTACKER, 0 createsprite gHyperVoiceRingSpriteTemplate, ANIM_ATTACKER, 0, 0x2d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 6, 1 @@ -27175,12 +27175,12 @@ Move_BREAKNECK_BLITZ:: createsprite gBreakneckBlitzHitSpriteTemplate, ANIM_TARGET, 3, 0x19, 0xffe7, 0x1, 0x1 @ +25, -25 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0xffe6, 0x10, 0x1, 0x4 waitforvisualfinish - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x8, 0xfe00, 0x1, 0x0 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -512, ANIM_TARGET, 0 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 4, 0, 12, 1 createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 waitforvisualfinish delay 0x4 - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x8, 0xfe00, 0x1, 0x1 + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 8, -512, ANIM_TARGET, 1 delay 0xa delay 0x19 createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x6 @@ -28808,7 +28808,7 @@ Move_SHATTERED_PSYCHE:: delay 0x7 playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 - createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffc, 0xfffc, 0xf, 0x1, 0x1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_TARGET, 1 waitforvisualfinish ShatteredPsycheCheckBattler: createvisualtask AnimTask_IsTargetPlayerSide, 0x2 @@ -28827,7 +28827,7 @@ ShatteredPsycheFinish: playsewithpan SE_M_EXPLOSION, SOUND_PAN_TARGET restorebg createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 15, 1 - createvisualtask AnimTask_ScaleMonAndRestore, 0x5, 0xfffc, 0xfffc, 0xf, 0x1, 0x1 + createvisualtask AnimTask_ScaleMonAndRestore, 5, -4, -4, 15, ANIM_TARGET, 1 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x0, 0x0, 0x0 @ -8, -12 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x1, 0x0, 0x0 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x2, 0x0, 0x0 @@ -29362,7 +29362,7 @@ Move_BLACK_HOLE_ECLIPSE:: delay 0x2 visible ANIM_TARGET loopsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET, 0xa, 0x5 - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x50, 0xfc00, ANIM_TARGET, 0x0 @ spin target around (0x50 (time), -0x400 (rot speed)) + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 80, -1024, ANIM_TARGET, 0 @ spin target around (0x50 (time), -0x400 (rot speed)) createsprite gBlackHoleEclipseBlueRingInwardsSpriteTemplate, ANIM_ATTACKER, 40, 0x0, 0x0, ANIM_TARGET, 0x0 delay 0x8 createsprite gBlackHoleEclipseRedRingInwardsSpriteTemplate, ANIM_ATTACKER, 40, 0x0, 0x0, ANIM_TARGET, 0x0 @@ -29400,7 +29400,7 @@ Move_BLACK_HOLE_ECLIPSE:: waitforvisualfinish delay 0x18 invisible ANIM_TARGET - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x1, 0x0, ANIM_TARGET, 0x1 @ fix rotation + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 1, 0, ANIM_TARGET, 1 @ fix rotation invisible ANIM_TARGET delay 0x1 waitforvisualfinish @@ -32022,7 +32022,7 @@ Move_SEARING_SUNRAZE_SMASH:: delay 0x2 loadspritegfx ANIM_TAG_METEOR @superpower visible ANIM_TARGET - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x50, 0xfc00, ANIM_TARGET, 0x0 @ spin up target + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 80, -1024, ANIM_TARGET, 0 @ spin up target call SearingSunrazeSmashRingsInward createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x30 @ target back to origin (slowly) call SearingSunrazeSmashRingsInward @@ -32043,7 +32043,7 @@ Move_SEARING_SUNRAZE_SMASH:: fadetobg BG_COSMIC waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 0x5, 0xf700, 0x0, 0x1, 0xffff - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x1, 0x0, ANIM_TARGET, 0x1 @ fix tgt rotation + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 1, 0, ANIM_TARGET, 1 @ fix tgt rotation invisible ANIM_TARGET waitbgfadein visible ANIM_ATTACKER @@ -32251,7 +32251,7 @@ Move_MENACING_MOONRAZE_MAELSTROM:: delay 0x2 loadspritegfx ANIM_TAG_METEOR @superpower visible ANIM_TARGET - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x50, 0xfc00, ANIM_TARGET, 0x0 @ spin up target + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 80, -1024, ANIM_TARGET, 0 @ spin up target call MenacingMoonrazeMaelstromRingsInward createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, ANIM_TARGET, 0x0, 0x30 @ target back to origin (slowly) call MenacingMoonrazeMaelstromRingsInward @@ -32279,7 +32279,7 @@ MenacingMoonrazeMaelstromOnOpponent: MenacingMoonrazeMaelstromOnPlayer: createvisualtask AnimTask_StartSlidingBg, 0x5, 0x200, 0xfd00, 0x1, 0xffff MenacingMoonrazeMaelstromFinish: - createvisualtask AnimTask_RotateMonSpriteToSide, 0x2, 0x1, 0x0, ANIM_TARGET, 0x1 @ fix tgt rotation + createvisualtask AnimTask_RotateMonSpriteToSide, 2, 1, 0, ANIM_TARGET, 1 @ fix tgt rotation invisible ANIM_TARGET waitbgfadein visible ANIM_ATTACKER From 5fc5e5703cb967b74ed3a69637eb05a76baef02f Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 10:00:39 -0400 Subject: [PATCH 095/256] Cleaned: createvisualtask AnimTask_RockMonBackAndForth & AnimTask_PositionFissureBgOnBattler --- data/battle_anim_scripts.s | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 474240803f..583899653e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -3777,7 +3777,7 @@ Move_STONE_EDGE: Move_CAPTIVATE: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_SPARKLE_2 - createvisualtask AnimTask_RockMonBackAndForth, 5, 3, 0, 2, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_DEF_PARTNER, 0, 2, 0 createsprite gMagentaHeartSpriteTemplate, 3, 2, 0, 20 playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER delay 15 @@ -4694,7 +4694,7 @@ Move_WIDE_GUARD: loadspritegfx ANIM_TAG_WATER_ORB @blue color monbg ANIM_ATTACKER setalpha 12, 8 - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x3, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 3, 0 waitplaysewithpan SE_M_PSYBEAM2, SOUND_PAN_ATTACKER, 0x10 createsprite gWideGuardBlueConversionTemplate, ANIM_ATTACKER, 0x2, 0xffe8, 0xffe8 delay 3 @@ -6460,7 +6460,7 @@ Move_DRILL_RUN: setalpha 12, 8 fadetobg BG_FISSURE waitbgfadeout - createvisualtask AnimTask_PositionFissureBgOnBattler, 0x5, 0x1, 0x5, 0xffff + createvisualtask AnimTask_PositionFissureBgOnBattler, 5, ANIM_TARGET, 5, -1 createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0x0 playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER waitforvisualfinish @@ -9679,7 +9679,7 @@ Move_NUZZLE:: loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_IMPACT - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x14 playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER delay 0xf @@ -10045,7 +10045,7 @@ Move_LANDS_WRATH:: playsewithpan SE_M_EARTHQUAKE, 0x0 createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x32 createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x32 - createvisualtask AnimTask_PositionFissureBgOnBattler, 0x5, 0x1, 0x5, 0xffff + createvisualtask AnimTask_PositionFissureBgOnBattler, 5, ANIM_TARGET, 5, -1 waitbgfadein waitforvisualfinish call UnsetPsychicBg @@ -10210,7 +10210,7 @@ Move_PRECIPICE_BLADES:: setalpha 12, 8 fadetobg 0x15 waitbgfadeout - createvisualtask AnimTask_PositionFissureBgOnBattler, 0x5, 0x1, 0x5, 0xffff + createvisualtask AnimTask_PositionFissureBgOnBattler, 5, ANIM_TARGET, 5, -1 createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x5 createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x5 playsewithpan SE_M_EARTHQUAKE, 0x0 @@ -11077,7 +11077,7 @@ PollenPuffOpponent: setalpha 12, 8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x0 waitforvisualfinish - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gPollenPuffPinkStarTemplate, ANIM_ATTACKER, 2, 0xa, 0xa, 0x19, 0x0 playsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER delay 0xD @@ -11133,7 +11133,7 @@ PollenPuffAlly: setalpha 12, 8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x0 waitforvisualfinish - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gPollenPuffPinkStarTemplate, ANIM_ATTACKER, 2, 0xa, 0xa, 0x19, 0x0 playsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER delay 0xD @@ -11545,7 +11545,7 @@ Move_REVELATION_DANCE:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xF, 0x0 waitforvisualfinish playsewithpan SE_M_PETAL_DANCE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gRevelationDanceYellowOrbsTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x8, 0x8c createsprite gRevelationDanceYellowFlowerTemplate, ANIM_ATTACKER, 2, 0x10, 0xffe8, 0x8, 0x64 createsprite gRevelationDanceYellowFlowerTemplate, ANIM_ATTACKER, 2, 0xfff0, 0xffe8, 0x8, 0x64 @@ -11561,7 +11561,7 @@ Move_REVELATION_DANCE:: createsprite gRevelationDanceYellowFlowerTemplate, ANIM_ATTACKER, 2, 0x10, 0xffe8, 0x0, 0x64 createsprite gRevelationDanceYellowFlowerTemplate, ANIM_ATTACKER, 2, 0xfff0, 0xffe8, 0x0, 0x64 delay 0x1e - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gRevelationDanceYellowFlowerTemplate, ANIM_ATTACKER, 2, 0x14, 0xfff0, 0xe, 0x50 createsprite gRevelationDanceYellowFlowerTemplate, ANIM_ATTACKER, 2, 0xffec, 0xfff2, 0x10, 0x50 waitforvisualfinish @@ -13629,7 +13629,7 @@ Move_CLANGOROUS_SOUL:: loadspritegfx ANIM_TAG_POISON_BUBBLE @purple loadspritegfx ANIM_TAG_AIR_WAVE_2 @white/grey loadspritegfx ANIM_TAG_SPARKLE_2 @stars - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 call ClangorousSoulStarBuffEffect call ClangorousSoulStarBuffEffect call ClangorousSoulStarBuffEffect @@ -31489,7 +31489,7 @@ Move_LETS_SNUGGLE_FOREVER:: loadspritegfx ANIM_TAG_VERTICAL_HEX @red createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gSnuggleForeverHeartSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x14 playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x1, 0x1, 0x0 @@ -31618,7 +31618,7 @@ Move_CLANGOROUS_SOULBLAZE:: loadspritegfx ANIM_TAG_SPARKLE_2 @stars fadetobg BG_CLANGOROUS_SOULBLAZE waitbgfadein - createvisualtask AnimTask_RockMonBackAndForth, 0x5, 0x0, 0x2, 0x0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 call ClangorousSoulblazeBuffEffect call ClangorousSoulblazeBuffEffect call ClangorousSoulblazeBuffEffect @@ -31937,7 +31937,7 @@ Move_GUARDIAN_OF_ALOLA:: fadetobg BG_FISSURE waitbgfadeout call GuardianOfAlolaRocksPlayer - createvisualtask AnimTask_PositionFissureBgOnBattler, 0x5, 0x1, 0x5, 0xffff + createvisualtask AnimTask_PositionFissureBgOnBattler, 5, ANIM_TARGET, 5, -1 waitbgfadein playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET createsprite gGuardianOfAlolaFistSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xffd0, 0x1f From eef07a9f9fbc1efcd41f172d1525235c3e09d298 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 10:14:39 -0400 Subject: [PATCH 096/256] Cleaned: createvisualtask AnimTask_HorizontalShake --- data/battle_anim_scripts.s | 112 ++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 583899653e..eb0a0ac58d 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2563,8 +2563,8 @@ Move_BRAVE_BIRD: Move_EARTH_POWER: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME - createvisualtask AnimTask_HorizontalShake, 3, 5, 10, 50 - createvisualtask AnimTask_HorizontalShake, 3, 1, 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_PLAYER_RIGHT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 playsewithpan SE_M_EARTHQUAKE, SOUND_PAN_TARGET delay 40 loopsewithpan 145, SOUND_PAN_TARGET 11, 3 @@ -3124,7 +3124,7 @@ Move_MIRROR_SHOT: createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, SOUND_PAN_TARGET waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 10, 0, RGB_WHITEALPHA - createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff @@ -7694,7 +7694,7 @@ Move_FREEZE_SHOCK:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @Electric Circle choosetwoturnanim FreezeShockCharge FreezeShockAttack FreezeShockCharge: - createvisualtask AnimTask_HorizontalShake, 0x5, 0x0, 0x2, 0x10 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATTACKER, 2, 16 playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xf, 0x7fff createsprite gFreezeShockCircleTemplate, ANIM_ATTACKER, 2 @electric circle @@ -7741,7 +7741,7 @@ IceBurnCharge: waitforvisualfinish loopsewithpan SE_M_ICY_WIND, SOUND_PAN_TARGET, 0x4, 0x3 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x8, 0x0, 0x0 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x0, 0x2, 0x10 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATTACKER, 2, 16 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x0, 0xf, 0x7fff delay 0x14 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xf, 0x0, 0x7fff @@ -8005,7 +8005,7 @@ Move_FUSION_FLARE:: createsprite gFusionFlareRedBubblesTemplate, ANIM_ATTACKER, 66, 0xc8, 0x50, 0x8, 0x1, 0x28, 0x14, 0x0 createsprite gFusionFlareRedBubblesTemplate, ANIM_ATTACKER, 66, 0x50, 0x3c, 0xa, 0x3, 0x14, 0x32, 0x0 createsprite gFusionFlareRedBubblesTemplate, ANIM_ATTACKER, 66, 0x8c, 0x64, 0x10, 0x1, 0x14, 0x1e, 0x1 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x1, 0x2, 0x10 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 2, 16 delay 0x5 playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER waitforvisualfinish @@ -9842,8 +9842,8 @@ Move_THOUSAND_ARROWS:: playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER waitforvisualfinish delay 0x30 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x32 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x32 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 0x32 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 0x32 call ThousandArrowsDown call ThousandArrowsDown call ThousandArrowsDown @@ -10043,8 +10043,8 @@ Move_LANDS_WRATH:: fadetobg BG_FISSURE waitbgfadeout playsewithpan SE_M_EARTHQUAKE, 0x0 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x32 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x32 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 0x32 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 0x32 createvisualtask AnimTask_PositionFissureBgOnBattler, 5, ANIM_TARGET, 5, -1 waitbgfadein waitforvisualfinish @@ -10211,8 +10211,8 @@ Move_PRECIPICE_BLADES:: fadetobg 0x15 waitbgfadeout createvisualtask AnimTask_PositionFissureBgOnBattler, 5, ANIM_TARGET, 5, -1 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x5 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x5 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 0x5 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 0x5 playsewithpan SE_M_EARTHQUAKE, 0x0 createvisualtask AnimTask_IsTargetPlayerSide, 0x2 jumpargeq 0x7, ANIM_TARGET, PrecipiceBladesOpponent @@ -12325,8 +12325,8 @@ Move_STOMPING_TANTRUM:: monbg ANIM_TARGET createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 0x5 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x5 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x5 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 0x5 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 0x5 createsprite gStompingTantrumRockTemplate, ANIM_ATTACKER, 2, 0x0, 0x0 createsprite gStompingTantrumRockTemplate, ANIM_ATTACKER, 2, 0x0, 0x1 createsprite gStompingTantrumRockTemplate, ANIM_ATTACKER, 2, 0x0, 0x2 @@ -12461,8 +12461,8 @@ Move_PRISMATIC_LASER:: unloadspritegfx ANIM_TAG_ICE_CHUNK unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT delay 0x1E - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0xa, 0x32 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0xa, 0x32 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 0x32 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 0x32 playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER call PrismaticLaserRain call PrismaticLaserRain @@ -12674,7 +12674,7 @@ Move_SUNSTEEL_STRIKE:: setalpha 12, 8 playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET createsprite gSunsteelStrikeBlackFlyBallTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0xd, 0x150 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0x1, 0x1A + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 1, 26 delay 0x18 createsprite gSunsteelStrikeRocksTemplate, ANIM_ATTACKER, 2, 0x0, 0x0 @The rock particles mess up the fly animation createsprite gSunsteelStrikeRocksTemplate, ANIM_ATTACKER, 2, 0x0, 0x1 @@ -15773,7 +15773,7 @@ Move_CHLOROBLAST:: delay 0x10 createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 74, 1 createsoundtask SoundTask_LoopSEAdjustPanning, 0xf0, 0xFF00 | SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x1, 0x17, 0x0, 0x5 - createvisualtask AnimTask_HorizontalShake, 0x5, 5, 1, 67 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 1, 67 call ChloroblastShot call ChloroblastShot call ChloroblastShot @@ -18611,8 +18611,8 @@ Move_LOW_KICK: end Move_EARTHQUAKE: - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 10, 50 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 50 playsewithpan SE_M_EARTHQUAKE, 0 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 @@ -18622,7 +18622,7 @@ Move_EARTHQUAKE: Move_FISSURE: loadspritegfx ANIM_TAG_MUD_SAND - createvisualtask AnimTask_HorizontalShake, 3, (MAX_BATTLERS_COUNT + 1), 10, 50 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_PLAYER_RIGHT, 10, 50 createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 playsewithpan SE_M_EARTHQUAKE, SOUND_PAN_TARGET delay 8 @@ -19345,13 +19345,13 @@ Move_MAGNITUDE: MagnitudeEnd: end MagnitudeRegular: - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 0, 50 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10 goto MagnitudeEnd MagnitudeIntense: - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 0, 50 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 0, 50 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 0, 50 loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 10 delay 10 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 @@ -19824,8 +19824,8 @@ Move_ERUPTION: createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 110, -32, 64, 50, 0 createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 60, -32, 80, 70, 1 delay 22 - createvisualtask AnimTask_HorizontalShake, 5, (MAX_BATTLERS_COUNT + 1), 8, 60 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 8, 60 loopsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET, 16, 12 delay 80 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, F_PAL_BG | F_PAL_BATTLERS, 4, 4, 0, RGB_RED @@ -19855,7 +19855,7 @@ Move_IMPRISON: waitforvisualfinish delay 4 createsprite gRedXSpriteTemplate, ANIM_ATTACKER, 5, ANIM_ATTACKER, 40 - createvisualtask AnimTask_HorizontalShake, 5, MAX_BATTLERS_COUNT, 1, 10 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 1, 10 playsewithpan SE_M_HYPER_BEAM, SOUND_PAN_ATTACKER clearmonbg ANIM_DEF_PARTNER call UnsetPsychicBg @@ -26818,7 +26818,7 @@ General_MegaEvolution: waitforvisualfinish createvisualtask AnimTask_TransformMon, 2, 1, 0 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA - createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish createvisualtask SoundTask_PlayNormalCry, 0 createsprite gMegaSymbolSpriteTemplate ANIM_ATTACKER, 2 @@ -26964,7 +26964,7 @@ General_PrimalReversion_Alpha: waitforvisualfinish createvisualtask AnimTask_TransformMon, 2, 1, 0 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA - createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish createvisualtask SoundTask_PlayNormalCry, 0 createsprite gAlphaSymbolSpriteTemplate ANIM_ATTACKER, 2 @@ -26991,7 +26991,7 @@ General_PrimalReversion_Omega: waitforvisualfinish createvisualtask AnimTask_TransformMon, 2, 1, 0 createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA - createvisualtask AnimTask_HorizontalShake, 5, 1, 5, 14 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish createvisualtask SoundTask_PlayNormalCry, 0 createsprite gOmegaSymbolSpriteTemplate ANIM_ATTACKER, 2 @@ -27122,8 +27122,8 @@ Move_BREAKNECK_BLITZ:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_FLAT_ROCK - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0x5, 0x20 @ shake screen - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0x5, 0x20 @ shake banks + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 5, 32 @ shake screen + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 5, 32 @ shake banks playsewithpan SE_M_EARTHQUAKE, 0x0 monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -27296,7 +27296,7 @@ Move_SUPERSONIC_SKYSTRIKE: waitforvisualfinish monbg ANIM_DEF_PARTNER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0x8, 0x0, 0x0 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x0, 0x2, 0x10 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_ATTACKER, 2, 16 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x1, 0xf, 0x0, 0x7fff clearmonbg ANIM_DEF_PARTNER @@ -27501,8 +27501,8 @@ Move_TECTONIC_RAGE: createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 0x6e, 0xffe0, 0x40, 0x32, 0x0 createsprite gEruptionFallingRockSpriteTemplate, ANIM_ATTACKER, 40, 0x3c, 0xffe0, 0x50, 0x46, 0x1 delay 0x16 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0x8, 0x3c - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0x8, 0x3c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 8, 60 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 8, 60 loopsewithpan SE_M_ROCK_THROW, SOUND_PAN_TARGET, 0x10, 0xc delay 0x30 call TectonicRageExplosion @@ -27635,8 +27635,8 @@ FinishContinentalCrush: createsprite gContinentalCrushEruptionSpriteTemplate, ANIM_ATTACKER, 40, 0x6e, 0xffe0, 0x40, 0x32, 0x0 createsprite gContinentalCrushEruptionSpriteTemplate, ANIM_ATTACKER, 40, 0x3c, 0xffe0, 0x50, 0x46, 0x1 delay 0x16 - createvisualtask AnimTask_HorizontalShake, 0x5, 0x5, 0x8, 0x1c - createvisualtask AnimTask_HorizontalShake, 0x5, 0x4, 0x8, 0x1c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 8, 28 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 8, 28 unloadspritegfx ANIM_TAG_ROUND_SHADOW @ fly unloadspritegfx ANIM_TAG_MUD_SAND @ dig unloadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy @@ -28110,7 +28110,7 @@ FinishCorkscrewCrash: playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_TARGET createsprite gCorkscrewCrashCorkscrewFlyDownSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xffc0, 0x0f delay 0xf - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x2, 0x30 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 2, 48 createsprite gCorkscrewCrashCorkscrewFlyDownSpriteTemplate, ANIM_TARGET, 3, 0x0, 0xfffe, 0x03 call CorkscrewCrashSpinningWind call CorkscrewCrashSprayRocks @@ -28336,7 +28336,7 @@ Move_HYDRO_VORTEX:: playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 0xa, 0x4, 0x2, 0x0, 0x10, 0x5da0 loadspritegfx ANIM_TAG_GUST - createvisualtask AnimTask_HorizontalShake, 0x5, 0x1, 0x8, 0x3c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 8, 60 call HydroVortexWhirlpoolHurricane call HydroVortexWhirlpoolHurricane call HydroVortexWhirlpoolHurricane @@ -28698,7 +28698,7 @@ Move_GIGAVOLT_HAVOC:: createsprite gElectricPuffSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff0, 0xfff0 delay 0xe clearmonbg ANIM_ATTACKER - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x8, 0x1c @shake target + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 8, 28 @shake target unloadspritegfx ANIM_TAG_HAVOC_SPEAR loadspritegfx ANIM_TAG_SHOCK_3 @thunderbolt createsprite gThunderboltOrbSpriteTemplate, ANIM_TARGET, 3, 0x2c, 0x0, 0x0, 0x3 @@ -29013,7 +29013,7 @@ SubzeroSlammerFinish: createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x1, 0x0, 0x0 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x2, 0x0, 0x0 createsprite gBrickBreakWallShardSpriteTemplate ANIM_TARGET, 2, 0x1, 0x3, 0x0, 0x0 - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x8, 0x1c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 8, 28 call SubzeroSlammerExplosion call SubzeroSlammerExplosion clearmonbg ANIM_DEF_PARTNER @@ -29143,7 +29143,7 @@ DevastatingDrakeFinish: playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER loadspritegfx ANIM_TAG_EXPLOSION createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION, 0x0, 0xC, 0xC, 0x502B - createvisualtask AnimTask_HorizontalShake, 0x5, 0x1, 0x5, 0x35 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 53 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x10, 0x40c0 @ fade to purple call DevastatingDrakeExplosion delay 0x6 @@ -29162,7 +29162,7 @@ DevastatingDrakeUniversalEnding: createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_FIRE_PLUME, 0x0, 0xC, 0xC, 0x502B createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_VERTICAL_HEX, 0x0, 0xC, 0xC, 0x502B createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_EXPLOSION_2, 0x0, 0xC, 0xC, 0x502B - createvisualtask AnimTask_HorizontalShake, 0x5, 0x1, 0x5, 0x20 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 32 playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER call DevastatingDrakeGeyser playsewithpan SE_M_SACRED_FIRE, SOUND_PAN_ATTACKER @@ -29942,7 +29942,7 @@ Move_10000000_VOLT_THUNDERBOLT:: unloadspritegfx ANIM_TAG_LEAF @green unloadspritegfx ANIM_TAG_POISON_BUBBLE @purple loadspritegfx ANIM_TAG_EXPLOSION @explosion - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x2, 0x2c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 2, 44 @ createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x0, 0x28, 0x0, 0x8003 @ createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x40, 0x28, 0x1, 0x8003 @ createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x80, 0x28, 0x0, 0x8003 @@ -30113,7 +30113,7 @@ StokedSparksurferFinish: unloadspritegfx ANIM_TAG_FOCUS_ENERGY unloadspritegfx ANIM_TAG_ELECTRIC_ORBS unloadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x5, 0x1c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 28 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x0, 0x28, 0x0, 0x8003 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x40, 0x28, 0x1, 0x8003 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x0, 0x30, 0x2c, 0x80, 0x28, 0x0, 0x8003 @@ -30379,7 +30379,7 @@ PulverizingPancakeFinish: playsewithpan SE_M_EXPLOSION, SOUND_PAN_ATTACKER createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x1, 0x0 @big hit marker delay 0x0 - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x4, 0x2c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 4, 44 createsprite gPulverizingPancakeYellowRingSpriteTemplate, ANIM_TARGET, 3, 0x0, 0x0, 0x100, 0x0 delay 0x5 loadspritegfx ANIM_TAG_EXPLOSION @explosion @@ -30686,7 +30686,7 @@ SinisterArrowRaidOnOpponent: createsprite gArrowRaidRightDownSpriteTemplate, ANIM_ATTACKER, 50, 0xfff0, 0x08, 0x100, 0xf, 0x15 waitforvisualfinish call SinisterArrowRaidFlyStrike - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x3, 0x4b + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 3, 75 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0x10, 0x40c0 @ defender to purple call SinisterArrowRaidStrikeOpponent call SinisterArrowRaidOpponentExplosion @@ -30738,7 +30738,7 @@ SinisterArrowRaidOnPlayer: createsprite gArrowRaidLeftDownSpriteTemplate, ANIM_ATTACKER, 50, 0x100, 0x88, 0xfff0, 0x38, 0x15 waitforvisualfinish call SinisterArrowRaidFlyStrike - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x3, 0x4b + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 3, 75 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x4, 0x0, 0x10, 0x40c0 @ defender to purple call SinisterArrowRaidArrowsStrikePlayer call SinisterArrowRaidPlayerExplosion @@ -31175,7 +31175,7 @@ Move_OCEANIC_OPERETTA:: loadspritegfx ANIM_TAG_EXPLOSION @explosion loadspritegfx ANIM_TAG_SPARKLE_2 @sparkle loadspritegfx ANIM_TAG_RAIN_DROPS @rain - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x8, 0x40 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 8, 64 call OceanicOperettaExplosion createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_TARGET, 0x2, 0x0, 0xb, 0x5da0 createvisualtask AnimTask_CreateRaindrops, 0x2, 0x0, 0x3, 0x78 @@ -31673,8 +31673,8 @@ Move_CLANGOROUS_SOULBLAZE:: createsprite gClangoorousSoulblazePulseSpriteTemplate, ANIM_ATTACKER, 2, 0x10, 0x0, 0x0, 0x0, 0x1d, 0x0 createsprite gSlowFlyingMusicNotesSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x0, 0x0 @music note delay 0x5 - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x2, 0x3c - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_DEF_PARTNER, 0x2, 0x3c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 2, 60 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_DEF_PARTNER, 2, 60 call ClangorousSoulblazePulse_1 delay 0x5 call ClangorousSoulblazePulse_2 @@ -31944,7 +31944,7 @@ Move_GUARDIAN_OF_ALOLA:: delay 0x24 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x0, 0xb, 0x0, 0x0000 playsewithpan SE_M_EXPLOSION, SOUND_PAN_TARGET - createvisualtask AnimTask_HorizontalShake, 0x3, ANIM_TARGET, 0xa, 0x25 + createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 0x25 loopsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET 0x10 0x9 call GuardianOfAlolaRocksTarget call GuardianOfAlolaRockGeyser @@ -32090,7 +32090,7 @@ SearingSunrazeSmashImpact: delay 0x8 delay 0x1 unloadspritegfx ANIM_TAG_GOLD_RING @beam - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x4, 0x3c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 4, 60 playsewithpan SE_M_CUT, SOUND_PAN_TARGET createsprite gSearingSunrazeSmashWhiteCutSpriteTemplate, ANIM_TARGET, 2, 0x20, 0xffe0, 0x0 delay 0x2 @@ -32467,7 +32467,7 @@ Move_LIGHT_THAT_BURNS_THE_SKY:: createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0xffc0, 0xffd8, 0x25, 0x2c, 0xa0, 0x8, 0x0, 0x3 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0xffc0, 0xffd8, 0x25, 0x2c, 0xe0, 0x8, 0x2, 0x3 delay 0x6 - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x3, 0x3c + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 3, 60 unloadspritegfx ANIM_TAG_LEAF @green unloadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge loadspritegfx ANIM_TAG_FIRE_PLUME @blast burn @@ -32681,7 +32681,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: playsewithpan SE_M_DETECT, SOUND_PAN_ATTACKER createsprite gTargetTwinkleSpriteTemplate, ANIM_TARGET, 13, 0x0, 0x0, ANIM_TARGET @detect star delay 0xa - createvisualtask AnimTask_HorizontalShake, 0x5, ANIM_TARGET, 0x8, 0x20 + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 8, 32 call SoulStealingSevenStarStrikeExplosion call SoulStealingSevenStarStrikeExplosion createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_ALL_BUT_DEF), 0x2, 0x0, 0x10, 0x0 @everything to black From ac519bd5d3f776ddff4e039d0e01bcc41dc5d61c Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 10:54:57 -0400 Subject: [PATCH 097/256] Cleaned: createvisualtask AnimTask_FlailMovement & AnimTask_ElectricChargingParticles --- data/battle_anim_scripts.s | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index eb0a0ac58d..33e9d6e47a 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -3138,7 +3138,7 @@ Move_FLASH_CANNON: loadspritegfx ANIM_TAG_FLASH_CANNON_BALL monbg ANIM_ATTACKER setalpha 13, 8 - createvisualtask AnimTask_ElectricChargingParticles, 2, 0, 60, 2, 12 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER delay 30 playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER @@ -6265,7 +6265,7 @@ Move_STRUGGLE_BUG: setalpha 12, 8 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 2, 0, 9, 0x0a1f waitforvisualfinish - createvisualtask AnimTask_FlailMovement, 2, 0 + createvisualtask AnimTask_FlailMovement, 2, ANIM_ATTACKER createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 2 createsprite gMovementWavesSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 2 loopsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER, 0x8, 0x2 @@ -6876,7 +6876,7 @@ Move_SEARING_SHOT: setalpha 8, 8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x3c, 0x2, 0xc + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x1F playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER delay 0x1e @@ -7563,7 +7563,7 @@ Move_BOLT_STRIKE:: setalpha 12, 8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x10, 0x0 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x07FE - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x40, 0x0, 0x2 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 64, 0, 2 playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER delay 0xc createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2 @@ -10077,7 +10077,7 @@ Move_LIGHT_OF_RUIN:: loadspritegfx ANIM_TAG_EXPLOSION @explosion createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ELECTRIC_ORBS, 0, 0xC, 0xC, 0x6DDE @Pink waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x14, 0x0, 0x2 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 20, 0, 2 panse SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xF, 0x6B1F createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 4, 50, 1 @@ -14131,7 +14131,7 @@ Move_METEOR_ASSAULT:: loadspritegfx ANIM_TAG_EXPLOSION createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ELECTRIC_ORBS, 0, 12, 12, 0x0B1D @Light orange createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 1, 0, 9, 0x0B1D @Light orange - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x30, 0x0, 0x4 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 48, 0, 4 playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER waitforvisualfinish invisible ANIM_ATTACKER @@ -14174,7 +14174,7 @@ Move_STEEL_BEAM:: delay 48 loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_GUST - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x14, 0x0, 0x2 + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 20, 0, 2 playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER delay 20 loadspritegfx ANIM_TAG_STEEL_BEAM @@ -14530,7 +14530,7 @@ Move_RISING_VOLTAGE:: ANIM_RISING_VOLTAGE_NORMAL: createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0x4, 0x0 @;To black waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 30, 0, 3 @;Amount, Slowness, Slowness, Compaction + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 30, 0, 3 @;Amount, Slowness, Slowness, Compaction playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER delay 0xc createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0x0 @@ -14554,7 +14554,7 @@ ANIM_RISING_VOLTAGE_NORMAL: ANIM_RISING_VOLTAGE_STRONGER: createvisualtask AnimTask_BlendBattleAnimPal, 0x2, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @;To black waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 55, 0, 0 @;Amount, Slowness, Slowness, Compaction + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 55, 0, 0 @;Amount, Slowness, Slowness, Compaction playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER delay 0xc createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 2, @@ -14736,7 +14736,7 @@ Move_BURNING_JEALOUSY:: waitforvisualfinish monbg ANIM_TARGET playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER + createvisualtask AnimTask_FlailMovement, 2, ANIM_ATTACKER call BurningJealousyFlames delay 0x8 call BurningJealousyFlames @@ -15959,7 +15959,7 @@ Move_BARB_BARRAGE:: monbg ANIM_TARGET call BarbBarrageSpikeShoot loopsewithpan SE_M_DIG, SOUND_PAN_ATTACKER, 0x7, 0x3 - createvisualtask AnimTask_FlailMovement, 0x2, ANIM_ATTACKER + createvisualtask AnimTask_FlailMovement, 2, ANIM_ATTACKER delay 0x14 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 32, 1 call PoisonBubblesEffect @@ -28632,7 +28632,7 @@ Move_GIGAVOLT_HAVOC:: playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER monbg ANIM_ATTACKER playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER -@ createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x3c, 0x2, 0xc @charge particles to user +@ createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 @charge particles to user @ createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x10, 0x2c, 0x20, 0x28, 0x0, 0x3 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x10, 0x2c, 0x60, 0x28, 0x1, 0x3 @ createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x0, 0x10, 0x2c, 0xa0, 0x28, 0x0, 0x3 @@ -29635,7 +29635,7 @@ CatastropikaFinish: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_SPARK_2 @spark playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x3c, 0x2, 0xc @charge particles to user + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 @charge particles to user createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x10, 0x2c, 0x20, 0x28, 0x0, 0x3 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x10, 0x2c, 0x60, 0x28, 0x1, 0x3 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x10, 0x2c, 0xa0, 0x28, 0x0, 0x3 @@ -29809,7 +29809,7 @@ Move_10000000_VOLT_THUNDERBOLT:: waitbgfadein visible ANIM_ATTACKER playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x3c, 0x2, 0xc @charge particles to user + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 @charge particles to user createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x10, 0x2c, 0x20, 0x28, 0x0, 0x3 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x10, 0x2c, 0x60, 0x28, 0x1, 0x3 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x10, 0x2c, 0xa0, 0x28, 0x0, 0x3 @@ -30076,7 +30076,7 @@ StokedSparksurferFinish: loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x1c, 0x2, 0xc + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 28, 2, 12 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 60, 1 call EndureEffect delay 0x8 @@ -32434,7 +32434,7 @@ Move_LIGHT_THAT_BURNS_THE_SKY:: setalpha 12, 8 createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_ADJACENT), 0x2, 0x0, 0xF, 0x0000 waitforvisualfinish - createvisualtask AnimTask_ElectricChargingParticles, 0x2, 0x0, 0x3c, 0x2, 0xc @ charge particles to attacker + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 @ charge particles to attacker delay 0x1e loopsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER, 0xe, 0xa createsprite gSuperpowerOrbSpriteTemplate, ANIM_TARGET, 3, 0x0 From 2cf7f54a6b6cb0ee77f8ffc3d149d3b91d75a042 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 11:08:26 -0400 Subject: [PATCH 098/256] Cleaned: 3 more createvisualtask - AnimTask_CanBattlerSwitch - AnimTask_BlendMonInAndOut - AnimTask_CentredFrozenIceCube --- data/battle_anim_scripts.s | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 33e9d6e47a..01bd711aa6 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -6237,7 +6237,7 @@ Move_VOLT_SWITCH: delay 4 call ElectricityEffect playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER - createvisualtask AnimTask_CanBattlerSwitch 1, ANIM_ATTACKER + createvisualtask AnimTask_CanBattlerSwitch, 1, ANIM_ATTACKER jumpretfalse VoltSwitchContinue createvisualtask AnimTask_IsTargetSameSide 1 jumprettrue VoltSwitchAgainstPartner @@ -6246,7 +6246,7 @@ VoltSwitchContinue: waitforvisualfinish clearmonbg ANIM_ATTACKER blendoff - createvisualtask AnimTask_CanBattlerSwitch 1, ANIM_ATTACKER + createvisualtask AnimTask_CanBattlerSwitch, 1, ANIM_ATTACKER jumpretfalse VoltSwitchLast invisible ANIM_ATTACKER VoltSwitchLast: @@ -9649,7 +9649,7 @@ Move_HOLD_HANDS:: delay 0x14 playsewithpan SE_M_ENCORE, 0x0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 3, 0, 10, 1 - createvisualtask AnimTask_BlendMonInAndOut, 0x2, 0x2, 0x3ff, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATK_PARTNER, RGB(31, 31, 0), 12, 1, 1 end Move_BABY_DOLL_EYES:: @@ -11318,7 +11318,7 @@ Move_FIRE_LASH:: createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x18, 0x0, 0x0, 0x6 delay 0x4 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 8, 1 - createvisualtask AnimTask_BlendMonInAndOut, 0x3, 0x1, 0x1f, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB(31, 0, 0), 12, 1, 1 playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET loadspritegfx ANIM_TAG_SLASH createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 0x1, 0xfff8, 0x0 @@ -11843,14 +11843,14 @@ Move_INSTRUCT:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x0, 0x8, 0x7DB9 delay 0x4 monbg ANIM_TARGET - createvisualtask AnimTask_BlendMonInAndOut, 0x5, 0x0, 0x37b, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 41, 1 playsewithpan SE_M_BIND, SOUND_PAN_TARGET delay 0x1A - createvisualtask AnimTask_BlendMonInAndOut, 0x5, 0x0, 0x37b, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 playsewithpan SE_M_BIND, SOUND_PAN_TARGET delay 0x1A - createvisualtask AnimTask_BlendMonInAndOut, 0x5, 0x0, 0x37b, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(27, 27, 0), 12, 1, 1 playsewithpan SE_M_BIND, SOUND_PAN_TARGET delay 0x1D createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_TARGET, 0x2, 0x8, 0x0, 0x7DB9 @@ -14745,8 +14745,8 @@ Move_BURNING_JEALOUSY:: playsewithpan SE_M_FIRE_PUNCH, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 2, 0, 12, 1 - createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_TARGET, 0x1f, 0xc, 0x1, 0x1 - createvisualtask AnimTask_BlendMonInAndOut, 0x3, ANIM_DEF_PARTNER, 0x1f, 0xc, 0x1, 0x1 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_TARGET, RGB(31, 0, 0), 12, 1, 1 + createvisualtask AnimTask_BlendMonInAndOut, 3, ANIM_DEF_PARTNER, RGB(31, 0, 0), 12, 1, 1 call FireSpreadEffect @ INCINERATE_BURN_CHANCE waitforvisualfinish clearmonbg ANIM_TARGET @@ -15458,7 +15458,7 @@ Move_GLACIAL_LANCE:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xA, 0x3C00 @;Royal Blue monbg ANIM_TARGET playsewithpan SE_M_HAIL, SOUND_PAN_TARGET - createvisualtask AnimTask_CentredFrozenIceCube, ANIM_TARGET, 0x0 + createvisualtask AnimTask_CentredFrozenIceCube, ANIM_TARGET, 0 createsprite gSpriteTemplate_GlacialLance, ANIM_TARGET, 2, 0, 40, 0, 0, 40, 50, 10 delay 60 createvisualtask AnimTask_FlashAnimTagWithColor, 0x2, ANIM_TAG_ICICLE_SPEAR, 0x4, 0x1, 0x7FFF, 0x10, 0x0, 0x0 From d0277fc04f0023318f67b00ba28b4faf8d5f4565 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 14:04:27 -0400 Subject: [PATCH 099/256] Cleaned: createvisualtask AnimTask_BlendColorCycle --- data/battle_anim_scripts.s | 216 ++++++++++++++++++------------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 01bd711aa6..46e0dd8c52 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1017,7 +1017,7 @@ Move_MIRACLE_EYE: createsprite gWhiteHaloSpriteTemplate, ANIM_ATTACKER, 5 delay 40 playsewithpan SE_M_LEER, SOUND_PAN_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 1, 1, 2, 0, 10, RGB_BLACK + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_BG, 1, 2, 0, 10, RGB_BLACK call MindReaderEyeSpikeEffect waitforvisualfinish call UnsetPsychicBg @@ -1137,7 +1137,7 @@ Move_NATURAL_GIFT: loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 2, 2, 2, 2, 0, 16, RGB(27, 31, 18) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 16, RGB(27, 31, 18) playsewithpan SE_M_MEGA_KICK, -64 call GrantingStarsEffect waitforvisualfinish @@ -1613,7 +1613,7 @@ Move_COPYCAT: loadspritegfx ANIM_TAG_GRAY_ORB loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 2, 2, 8, 1, 0, 12, RGB_WHITE + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 8, 1, 0, 12, RGB_WHITE createvisualtask AnimTask_StockpileDeformMon, 5 call StockpileAbsorb call StockpileAbsorb @@ -1869,7 +1869,7 @@ General_AquaRingHeal: createsprite gGuardRingSpriteTemplate, 2, 0 waitforvisualfinish playsewithpan SE_SHINY, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 2, 10, 0, 2, 10, RGB(31, 31, 31) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATK_SIDE, 0, 2, 10, RGB(31, 31, 31) waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff @@ -1879,7 +1879,7 @@ Move_MAGNET_RISE: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 - createvisualtask AnimTask_BlendColorCycle 2, 31, -31, 1, 5, 5, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), -31, 1, 5, 5, RGB(31, 31, 20) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createvisualtask AnimTask_WindUpLunge, 5, ANIM_OPPONENT_RIGHT, 0, -12, 4, 10, 10, 12, 6 createsprite gSparkElectricitySpriteTemplate, 0, 7, 32, 24, 190, 12, 0, 1, 0 @@ -1904,11 +1904,11 @@ Move_MAGNET_RISE: delay 0 createsprite gSparkElectricitySpriteTemplate, 0, 7, 238, 24, 165, 10, 0, 1, 1 delay 0 - createvisualtask AnimTask_BlendColorCycle, 2, 31, -31, 1, 0, 0, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), -31, 1, 0, 0, RGB(31, 31, 20) delay 20 - createvisualtask AnimTask_BlendColorCycle, 2, 31, -31, 1, 7, 7, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), -31, 1, 7, 7, RGB(31, 31, 20) waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 2, 31, -31, 1, 0, 0, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), -31, 1, 0, 0, RGB(31, 31, 20) waitforvisualfinish end @@ -2373,7 +2373,7 @@ Move_DRAGON_PULSE: call DragonPulseParticle call DragonPulseParticle createvisualtask AnimTask_SwayMon, 5, 0, 6, 51200, 4, ANIM_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(30, 10, 13) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(30, 10, 13) call DragonPulseParticle call DragonPulseParticle call DragonPulseParticle @@ -2965,7 +2965,7 @@ Move_SHADOW_SNEAK: delay 0x1 createvisualtask AnimTask_DestinyBondWhiteShadow, 0x5, 0x0, 0x30 delay 0x30 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xF, 0x0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 15, RGB(0, 0, 0) createsprite gShadowSneakImpactSpriteTemplate, ANIM_TARGET, 2, 0xfff6, 0xfff6, 0x0 call ShadowSneakMovement createsprite gShadowSneakImpactSpriteTemplate, ANIM_TARGET, 2, 0xa, 0x14, 0x0 @@ -3262,16 +3262,16 @@ Move_DISCHARGE: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 5, 5, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 5, 5, RGB(31, 31, 20) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 32, 24, 190, 12, 0, 1, 0 delay 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 80, 24, 22, 12, 0, 1, 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 156, 24, 121, 13, 0, 1, 1 delay 0 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 0, 0, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(31, 31, 20) delay 10 - createvisualtask AnimTask_BlendColorCycle 2, 3, -31, 1, 5, 5, RGB(31, 31, 20) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 5, 5, RGB(31, 31, 20) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 100, 24, 60, 10, 0, 1, 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 170, 24, 42, 11, 0, 1, 1 @@ -3366,7 +3366,7 @@ DischargeElectrify: Move_LAVA_PLUME: loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan 152, SOUND_PAN_ATTACKER, 9, 2 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 32, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 32, 1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 1, 0, 32, 1 @@ -4001,25 +4001,25 @@ Move_CHARGE_BEAM: loadspritegfx ANIM_TAG_BLACK_BALL_2 loadspritegfx ANIM_TAG_SPARK_2 delay 0 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 32, 24, 190, 12, 0, 1, 0 delay 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 80, 24, 22, 12, 0, 1, 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 156, 24, 121, 13, 0, 1, 1 delay 0 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(31, 31, 22) delay 10 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 5, 5, RGB(31, 31, 22) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 100, 24, 60, 10, 0, 1, 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 170, 24, 42, 11, 0, 1, 1 delay 0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 238, 24, 165, 10, 0, 1, 1 delay 0 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(31, 31, 22) delay 20 - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 7, 7, RGB(31, 31, 22) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 7, 7, RGB(31, 31, 22) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 32, 12, 0, 20, 0, 0 createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 32, 12, 64, 20, 1, 0 @@ -4031,7 +4031,7 @@ Move_CHARGE_BEAM: createsprite gSparkElectricityFlashingSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 16, 12, 224, 20, 2, 0 delay 4 waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 2, 3, -31, 1, 0, 0, RGB(31, 31, 22) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(31, 31, 22) playsewithpan SE_M_THUNDER_WAVE, SOUND_PAN_ATTACKER createsprite gZapCannonBallSpriteTemplate, ANIM_TARGET, 3, 10, 0, 0, 0, 30, 0 createsprite gZapCannonSparkSpriteTemplate, ANIM_TARGET, 4, 10, 0, 16, 30, 0, 40, 0 @@ -4423,13 +4423,13 @@ Move_MAGMA_STORM: loopsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET, 5, 8 createvisualtask AnimTask_SeismicTossBgAccelerateDownAtEnd, 3 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 - createvisualtask AnimTask_BlendColorCycle, 2, 6, 4, 2, 2, 0, 12, RGB(22, 9, 7) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_ATTACKER | F_PAL_TARGET), 4, 2, 2, 0, 12, RGB(22, 9, 7) call FireSpinEffect call FireSpinEffect - createvisualtask AnimTask_BlendColorCycle, 2, 6, 4, 2, 2, 0, 12, RGB(22, 9, 7) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_ATTACKER | F_PAL_TARGET), 4, 2, 2, 0, 12, RGB(22, 9, 7) call FireSpinEffect call FireSpinEffect - createvisualtask AnimTask_BlendColorCycle, 2, 6, 4, 2, 2, 0, 12, RGB(22, 9, 7) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_ATTACKER | F_PAL_TARGET), 4, 2, 2, 0, 12, RGB(22, 9, 7) call FireSpinEffect restorebg waitbgfadeout @@ -4649,7 +4649,7 @@ ShadowForceAttack: createvisualtask AnimTask_NightShadeClone, 5, 85 delay 70 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 12, 1 - createvisualtask AnimTask_BlendColorCycle 2, 4, 0, 2, 0, 13, 0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 0, 2, 0, 13, RGB(0, 0, 0) waitforvisualfinish clearmonbg ANIM_ATTACKER delay 1 @@ -4798,7 +4798,7 @@ Move_PSYSHOCK: monbg ANIM_TARGET setalpha 8, 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 2, 0, 8, 767 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 8, RGB(31, 23, 0) waitforvisualfinish loopsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET, 10, 3 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 5, 0, 15, 1 @@ -4870,7 +4870,7 @@ Move_RAGE_POWDER:: call RagePowderSprinkle call RagePowderSprinkle call RagePowderSprinkle - createvisualtask AnimTask_BlendColorCycle, ANIM_ATTACKER, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1f + createvisualtask AnimTask_BlendColorCycle, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end @@ -5123,7 +5123,7 @@ Move_SOAK: delay 30 playsewithpan SE_M_WATERFALL, 63 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 4, 0, 17, 1 - createvisualtask AnimTask_BlendColorCycle, 2, 4, 1, 2, 0, 12, RGB_BLUE + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 1, 2, 0, 12, RGB_BLUE createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 1 createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 0 createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, 0 @@ -5212,7 +5212,7 @@ Move_ACID_SPRAY: playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 33 createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(30, 0, 31) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(30, 0, 31) playsewithpan SE_M_DIVE, SOUND_PAN_ATTACKER createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, 10, 15, 55, FALSE createsprite gAcidPoisonDropletSpriteTemplate, ANIM_TARGET, 2, 0, -20, -20, 15, 55, FALSE @@ -5406,7 +5406,7 @@ Move_CLEAR_SMOG: call ClearSmogCloud delay 120 loopsewithpan SE_M_TOXIC, SOUND_PAN_TARGET, 18, 2 - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB_WHITE + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB_WHITE delay 10 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 15, 1 waitforvisualfinish @@ -5452,7 +5452,7 @@ Move_QUICK_GUARD: loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @hand loadspritegfx ANIM_TAG_SPARKLE_4 @sparkles setalpha 12, 8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0xa, 0x7FFF + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 10, RGB(31, 31, 31) delay 0x10 monbg ANIM_ATTACKER createsprite gQuickGuardArmImpactTemplate, ANIM_TARGET, 3, 0xE, 0x0, 0x8, 0x0, 0x0 @@ -5494,7 +5494,7 @@ Move_SCALD: call ScaldBeams call ScaldBeams call ScaldBeams - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 call ScaldHitSplats call ScaldBeams @@ -5599,7 +5599,7 @@ Move_HEX: createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 2, 0, 37, 1 playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET delay 0x20 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xc, 0x4C4A @;Deep purple + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(10, 2, 19) @;Deep purple createsprite gCurseGhostSpriteTemplate, ANIM_TARGET, 4 waitforvisualfinish clearmonbg ANIM_TARGET @@ -5819,7 +5819,7 @@ Move_FINAL_GAMBIT: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @Darken waitforvisualfinish createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0x8, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 8, RGB(31, 31, 31) waitforvisualfinish playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_ATTACKER createsprite gFinalGambitBlueYawnTemplate, ANIM_ATTACKER, 2, 0x0, 0x0, 0x25 @@ -5931,7 +5931,7 @@ Move_WATER_PLEDGE: panse SE_M_HYDRO_PUMP, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_BLUE + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 11, RGB_BLUE createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 createsprite gWaterPledgeOrbSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 @@ -6044,7 +6044,7 @@ Move_FIRE_PLEDGE: panse SE_M_FLAMETHROWER, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_RED + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 11, RGB_RED createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 createsprite gFirePledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 @@ -6190,7 +6190,7 @@ GrassPledgeMiddleFountain: playsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET createsprite gVineWhipSpriteTemplate, ANIM_TARGET, 2, 0, 0 - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 11, RGB_GREEN + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 11, RGB_GREEN createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 3, 0, 37, 1 createsprite gGrassPledgeSpriteTemplate, ANIM_TARGET, 3, 0, 10, -40, 2 @@ -6375,7 +6375,7 @@ Move_WORK_UP: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -18, 26, 3 createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 18, 26, 3 delay 14 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 2, 2, 0, 11, RGB(31, 2, 4) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 2, 4) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -13, 26, 2 createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, 13, 26, 2 @@ -6754,7 +6754,7 @@ Move_PSYSTRIKE: monbg ANIM_TARGET setalpha 8, 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 2, 0, 8, RGB_RED + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 8, RGB_RED waitforvisualfinish createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 loopsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET, 10, 3 @@ -7983,7 +7983,7 @@ Move_FUSION_FLARE:: playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call FusionFlareBuff delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 0x8, 0x1, 0x0 delay 0x8 @@ -7997,7 +7997,7 @@ Move_FUSION_FLARE:: createsprite gFusionFlareRedBubblesTemplate, ANIM_ATTACKER, 66, 0x50, 0x3c, 0xa, 0x3, 0x14, 0x32, 0x0 createsprite gFusionFlareRedBubblesTemplate, ANIM_ATTACKER, 66, 0x8c, 0x64, 0x10, 0x1, 0x14, 0x1e, 0x1 delay 0x29 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xb, 0x1F + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 11, RGB(31, 0, 0) delay 0x5 createsprite gFusionFlareRedRingTemplate, ANIM_ATTACKER, 3, 0x1, 0x1, 0x1, 0x1, 0x1F, 0x8 createsprite gFusionFlareRedBubblesTemplate, ANIM_ATTACKER, 66, 0x64, 0x64, 0x8, 0x1, 0x14, 0x28, 0x0 @@ -9159,7 +9159,7 @@ Move_MYSTICAL_FIRE:: setalpha 8, 8 playse 0xb1 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 8, RGB(31, 31, 31) waitforvisualfinish waitsound blendoff @@ -9228,7 +9228,7 @@ Move_AROMATIC_MIST:: call SweetScentEffect createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 0x37, 0x0 setpan SOUND_PAN_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_DEF_SIDE, 1, 5, 5, 13, 0x56bf + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_DEF_SIDE, 1, 5, 5, 13, RGB(31, 21, 21) call SweetScentEffect waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x8, 0x0, 0x6E7D @@ -9591,7 +9591,7 @@ Move_DAZZLING_GLEAM:: createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 12, -5, 0, 0, 32, 60 delay 8 waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x3, 0x0, 0x10, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 3, 0, 16, RGB(31, 31, 31) delay 0x4 playsewithpan SE_M_GIGA_DRAIN, SOUND_PAN_ATTACKER waitforvisualfinish @@ -9787,7 +9787,7 @@ Move_OBLIVION_WING:: call OblivionWingBeam call OblivionWingBeam createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 40, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x4, 0x0, 0xc, 0x289F @Pinkish Red + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 4, 0, 12, RGB(31, 4, 10) @Pinkish Red call OblivionWingBeam call OblivionWingBeam call OblivionWingBeam @@ -11342,7 +11342,7 @@ Move_POWER_TRIP:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call PowerTripBuffUp delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call PowerTripBuffUp delay 0x8 @@ -11863,7 +11863,7 @@ General_BeakBlastSetUp: loadspritegfx ANIM_TAG_SMALL_EMBER @Fire playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER delay 0x3 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1f + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x38, 0x0 waitforvisualfinish end @@ -12008,7 +12008,7 @@ Move_AURORA_VEIL:: createsprite gAuroraVeilRingTemplate, ANIM_ATTACKER, 2 waitforvisualfinish playsewithpan SE_SHINY, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, 0xa, 0x0, 0x2, 0x0, 0xa, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATK_SIDE, 0, 2, 0, 10, RGB(31, 31, 31) waitforvisualfinish call UnsetPsychicBg waitforvisualfinish @@ -12978,7 +12978,7 @@ Move_MULTI_ATTACK:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call MultiAttackBuff delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 31) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call MultiAttackBuff delay 0x8 @@ -13115,7 +13115,7 @@ Move_PLASMA_FISTS:: end PlasmaFistSpark1: playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0xb, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 11, RGB(31, 31, 22) createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 0x20, 0x18, 0xbe, 0xc, 0x0, 0x1, 0x0 delay 0x0 createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 0x50, 0x18, 0x16, 0xc, 0x0, 0x1, 0x0 @@ -13427,7 +13427,7 @@ Move_TAR_SHOT:: playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER delay 0xf createvisualtask AnimTask_ShakeMon2, 5, ANIM_TARGET, 2, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0x10, 0x0 @;Black + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 16, RGB(0, 0, 0) @;Black createsprite gAppleAcidDripTemplate, ANIM_TARGET, 2, 0xffe6, 0xffe8, 0x0, 0xf, 0x37 playsewithpan SE_M_BUBBLE, SOUND_PAN_TARGET delay 0xa @@ -13507,7 +13507,7 @@ Move_OCTOLOCK:: delay 0x8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 delay 0x14 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0x8, 0x1f + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 8, RGB(31, 0, 0) playsewithpan SE_M_BIND, SOUND_PAN_TARGET setarg 0x7 0xffff waitforvisualfinish @@ -13522,7 +13522,7 @@ Move_BOLT_BEAK:: createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_HORN_HIT, 0, 12, 12, 0x079D @Yellow call BoltBeakSparks waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x3, 0xffe1, 0x1, 0x0, 0x0, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(31, 31, 22) createsprite gHorizontalLungeSpriteTemplate, 0x2, 0x2, 0x4, 0x4 delay 0x4 createsprite gHornHitSpriteTemplate, 0x84, 0x3, 0x8, 0x8, 0xa @@ -13531,7 +13531,7 @@ Move_BOLT_BEAK:: playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 3, 0, 6, 1 waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x4, 0xffe1, 0x2, 0x0, 0x6, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, -31, 2, 0, 6, RGB(31, 31, 22) call ElectricityEffect waitforvisualfinish end @@ -13542,18 +13542,18 @@ BoltBeakSparks: createsprite gBoltBeakBlueSparkTemplate, 0x0, 0x7, 0x50, 0x18, 0x16, 0xc, 0x0, 0x1, 0x0 createsprite gSparkElectricitySpriteTemplate, 0x0, 0x7, 0x9c, 0x18, 0x79, 0xd, 0x0, 0x1, 0x1 delay 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x3, 0xffe1, 0x1, 0x0, 0x0, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(31, 31, 22) delay 0xa - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x3, 0xffe1, 0x1, 0x5, 0x5, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 5, 5, RGB(31, 31, 22) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gBoltBeakBlueSparkTemplate, 0x0, 0x7, 0x64, 0x18, 0x3c, 0xa, 0x0, 0x1, 0x0 createsprite gSparkElectricitySpriteTemplate, 0x0, 0x7, 0xaa, 0x18, 0x2a, 0xb, 0x0, 0x1, 0x1 delay 0x0 createsprite gBoltBeakBlueSparkTemplate, 0x0, 0x7, 0xee, 0x18, 0xa5, 0xa, 0x0, 0x1, 0x1 delay 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x3, 0xffe1, 0x1, 0x0, 0x0, 0x76E1 + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 0, 0, RGB(1, 23, 29) delay 0x14 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x3, 0xffe1, 0x1, 0x4, 0x4, 0x76E1 + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER), -31, 1, 4, 4, RGB(1, 23, 29) playsewithpan SE_M_THUNDERBOLT2, SOUND_PAN_ATTACKER createsprite gSparkElectricityFlashingSpriteTemplate, 0x4, 0x8, 0x0, 0x0, 0x20, 0xc, 0x0, 0x14, 0x0, 0x0 createsprite gBoltBeakBlueFlashingSparkTemplate, 0x4, 0x8, 0x0, 0x0, 0x20, 0xc, 0x40, 0x14, 0x1, 0x0 @@ -13763,7 +13763,7 @@ Move_PYRO_BALL:: playsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_TARGET createsprite gPyroBallEmberBallTemplate, ANIM_ATTACKER, 2, 0, 10, 0, 5, 20, -20 waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xc, 0x1f + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(31, 0, 0) createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 call FireSpreadEffect delay 0x20 @@ -14236,7 +14236,7 @@ Move_EXPANDING_FORCE:: monbg ANIM_DEF_PARTNER call SetPsychicBackground createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, F_PAL_ATTACKER, 0x2, 0x0, 0x8, 0x2ff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, F_PAL_ATTACKER, 2, 0, 8, RGB(31, 23, 0) waitforvisualfinish playsewithpan SE_M_MEGA_KICK, SOUND_PAN_TARGET choosetwoturnanim EXPANDING_FORCE_SINGLE_TARGET EXPANDING_FORCE_BOTH_TARGETS @@ -14507,7 +14507,7 @@ Move_GRASSY_GLIDE:: loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_WHIP_HIT createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_IMPACT, 0x0, 0xD, 0xD, 0x0266 @;Leaf Green - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0x8, 0x03AC + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 8, RGB(12, 29, 0) delay 0x2 playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -120, 0, 0, 10 @;Slide off off, screen @@ -14536,7 +14536,7 @@ ANIM_RISING_VOLTAGE_NORMAL: createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0x0 waitforvisualfinish createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 0x2, 0x0, 0x1, 0x34, 0x1, 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x4, 0x0, 0xC, 0x079D + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 1, 4, 0, 12, RGB(29, 28, 1) playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 0x0, 0x10 delay 0x1 @@ -14608,7 +14608,7 @@ TerrainPulseNormal: call DragonPulseParticle call DragonPulseParticle createvisualtask AnimTask_SwayMon, 5, 0, 2, 51200, 24, ANIM_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB_WHITE + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB_WHITE goto TerrainPulseEnd TerrainPulseElectric: @@ -14619,7 +14619,7 @@ TerrainPulseElectric: call DragonPulseParticle call DragonPulseParticle createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(27, 27, 0) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(27, 27, 0) goto TerrainPulseEnd TerrainPulseGrass: @@ -14630,7 +14630,7 @@ TerrainPulseGrass: call DragonPulseParticle call DragonPulseParticle createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(11, 26, 11) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(11, 26, 11) goto TerrainPulseEnd TerrainPulseFairy: @@ -14641,7 +14641,7 @@ TerrainPulseFairy: call DragonPulseParticle call DragonPulseParticle createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(31, 24, 31) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(31, 24, 31) goto TerrainPulseEnd TerrainPulsePsychic: @@ -14652,7 +14652,7 @@ TerrainPulsePsychic: call DragonPulseParticle call DragonPulseParticle createvisualtask AnimTask_SwayMon, 5, 0, 4, 51200, 24, ANIM_TARGET - createvisualtask AnimTask_BlendColorCycle, 2, 4, 2, 2, 0, 12, RGB(27, 0, 13) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(27, 0, 13) goto TerrainPulseEnd TerrainPulseEnd: @@ -14726,11 +14726,11 @@ Move_BURNING_JEALOUSY:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 42, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 8, RGB(31, 0, 0) call BurningJealousyFireBuffEffect delay 0x8 call BurningJealousyFireBuffEffect - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0x8, 0x1F + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 8, RGB(31, 0, 0) delay 0x4 call BurningJealousyFireBuffEffect waitforvisualfinish @@ -14785,7 +14785,7 @@ Move_LASH_OUT:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call PowerTripBuffUp delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x1F + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call PowerTripBuffUp delay 0x8 @@ -14861,7 +14861,7 @@ Move_CORROSIVE_GAS:: monbg ANIM_ATTACKER loopsewithpan SE_M_FLAME_WHEEL2, SOUND_PAN_ATTACKER, 0x8, 0x3 delay 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x1, 0x2, 0x0, 0xF, 0x19EF @;Garbage green + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 1, 2, 0, 15, RGB(15, 15, 6) @;Garbage green createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x7a, 0x3, 0xfff2, 0x12, 0x2e delay 0x0 createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x79, 0x3, 0xe, 0xfff2, 0x2e @@ -14875,7 +14875,7 @@ Move_CORROSIVE_GAS:: createsprite gSpriteTemplate_CorrosiveGasSmoke, ANIM_ATTACKER, 0x7b, 0x3, 0x4, 0x4, 0x1e waitforvisualfinish playsewithpan SE_M_TOXIC, SOUND_PAN_TARGET - createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_TARGET | F_PAL_ATK_PARTNER | F_PAL_DEF_PARTNER), 0x1, 0x2, 0x0, 0xE, 0x19EF @;Garbage green + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_TARGET | F_PAL_ATK_PARTNER | F_PAL_DEF_PARTNER), 1, 2, 0, 14, RGB(15, 15, 6) @;Garbage green waitforvisualfinish clearmonbg ANIM_ATTACKER end @@ -14887,7 +14887,7 @@ Move_COACHING:: createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 1 waitforvisualfinish playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_TARGET - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x1, 0x2, 0x0, 0xA, 0x1E5D + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 1, 2, 0, 10, RGB(29, 18, 7) createvisualtask AnimTask_Splash, 2, ANIM_TARGET, 1 waitforvisualfinish end @@ -15121,7 +15121,7 @@ Move_WICKED_BLOW:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call WickedBlowBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call WickedBlowBuffEffect delay 0x8 @@ -15264,7 +15264,7 @@ Move_DRAGON_ENERGY:: createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x2C5E @;Regidrago Reddish Reddish, Purple monbg ANIM_TARGET playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x4, 0x0, 0xB, 0x7F9F @;Pinkish White + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 4, 0, 11, RGB(31, 28, 31) @;Pinkish White waitforvisualfinish playsewithpan SE_M_DETECT, SOUND_PAN_TARGET createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS), 0x1, 0x10, 0x0, 0x2C5E @;Regidrago Reddish Reddish, Purple @@ -15328,7 +15328,7 @@ Move_FREEZING_GLARE:: createvisualtask AnimTask_GlareEyeDots, 0x5, 0x0 playsewithpan SE_M_PSYBEAM2, SOUND_PAN_ATTACKER waitforvisualfinish - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x2, 0x0, 0xC, 0x7f4c @;Ice blue + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 2, 0, 12, RGB(12, 26, 31) @;Ice blue createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 4, 28, 1 call IceCrystalEffectShort waitforvisualfinish @@ -15583,7 +15583,7 @@ Move_POWER_SHIFT:: createsprite gSpriteTemplate_PowerShiftDefenseBall, ANIM_ATTACKER, 2, POWER_SHIFT_RIGHT_X, 0, POWER_SHIFT_LEFT_X, 0, POWER_SHIFT_DELAY, POWER_SHIFT_ARC waitforvisualfinish playsewithpan SE_M_DETECT, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x2, 0x0, 0xa, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 10, RGB(31, 31, 31) waitforvisualfinish clearmonbg ANIM_ATK_PARTNER end @@ -15625,7 +15625,7 @@ Move_SPRINGTIDE_STORM:: loadspritegfx ANIM_TAG_RED_HEART playsewithpan SE_M_GUST, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 4, 88, 1 - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_TARGET, 0x2, 0x6, 0x0, 0xB, 0x7ADF + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 2, 6, 0, 11, RGB(31, 22, 30) call HurricaneGust call SpringtideStormHeartSwirl call HurricaneGust @@ -15716,7 +15716,7 @@ MysticalPowerFoeTwoRingsOnly: Move_RAGING_FURY:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 0x8, 0x3 - createvisualtask AnimTask_BlendColorCycle, 0x2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 0x2, 0x5, 0x3, 0x8, 0x1f + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 2, 5, 3, 8, RGB(31, 0, 0) createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -20, 8, 32, 8, 56, 6 call OutrageFlames call OutrageFlames @@ -15992,7 +15992,7 @@ Move_ESPER_WING:: monbg ANIM_TARGET call SetPsychicBackground playsewithpan SE_M_SUPERSONIC, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x0, 0x2, 0x0, 0x8, 0x2ff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 2, 0, 8, RGB(31, 23, 0) waitforvisualfinish playsewithpan SE_M_WING_ATTACK, SOUND_PAN_ATTACKER call EsperWingBlade @@ -17260,7 +17260,7 @@ Move_REVERSAL: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 3, 3, RGB_WHITE, 8, RGB_BLACK, 0 waitforvisualfinish delay 30 - createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_BG | F_PAL_BATTLERS, 3, 2, 0, 10, RGB_WHITE + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), 3, 2, 0, 10, RGB_WHITE delay 10 playsewithpan SE_M_REVERSAL, SOUND_PAN_ATTACKER createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 0 @@ -17914,7 +17914,7 @@ Move_PAY_DAY: Move_OUTRAGE: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 8, 3 - createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET, 2, 5, 3, 8, RGB(14, 13, 0) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 2, 5, 3, 8, RGB(14, 13, 0) createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 6, 5, 4 delay 0 createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, 1280, 0, 3 @@ -23922,7 +23922,7 @@ PresentHeal: Move_BATON_PASS: loadspritegfx ANIM_TAG_POKEBALL playsewithpan SE_M_BATON_PASS, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_BG | F_PAL_BATTLERS, 1, 2, 0, 11, RGB(31, 22, 30) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), 1, 2, 0, 11, RGB(31, 22, 30) createsprite gBatonPassPokeballSpriteTemplate, ANIM_ATTACKER, 2 end @@ -26446,13 +26446,13 @@ Status_MagmaStorm: loopsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET, 5, 8 createvisualtask AnimTask_SeismicTossBgAccelerateDownAtEnd, 3 createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 - createvisualtask AnimTask_BlendColorCycle, 2, 6, 4, 2, 2, 0, 12, RGB(22, 9, 7) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_ATTACKER | F_PAL_TARGET), 4, 2, 2, 0, 12, RGB(22, 9, 7) call FireSpinEffect call FireSpinEffect - createvisualtask AnimTask_BlendColorCycle, 2, 6, 4, 2, 2, 0, 12, RGB(22, 9, 7) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_ATTACKER | F_PAL_TARGET), 4, 2, 2, 0, 12, RGB(22, 9, 7) call FireSpinEffect call FireSpinEffect - createvisualtask AnimTask_BlendColorCycle, 2, 6, 4, 2, 2, 0, 12, RGB(22, 9, 7) + createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_ATTACKER | F_PAL_TARGET), 4, 2, 2, 0, 12, RGB(22, 9, 7) call FireSpinEffect restorebg waitbgfadeout @@ -26806,7 +26806,7 @@ General_MegaEvolution: monbg ANIM_ATTACKER setalpha 12, 8 loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 6, 0, 11, RGB(31, 31, 11) call MegaEvolutionParticles call MegaEvolutionParticles call MegaEvolutionParticles @@ -26863,7 +26863,7 @@ General_ZMoveActivate: waitbgfadein createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0x0, 0x0, 0xFFFF playsewithpan SE_M_SOLAR_BEAM, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x6, 0x0, 0xb, 0x76BC + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 6, 0, 11, RGB(28, 21, 29) call ZMoveBuffEffect call ZMoveBuffEffect call ZMoveBuffEffect @@ -26894,7 +26894,7 @@ General_TotemFlare:: monbg ANIM_ATTACKER setalpha 12, 8 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x0, 0x6, 0x0, 0xb, 0x1f + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 6, 0, 11, RGB(31, 0, 0) call RainbowEndureEffect call RainbowEndureEffect call RainbowEndureEffect @@ -26952,7 +26952,7 @@ General_PrimalReversion_Alpha: monbg ANIM_ATTACKER setalpha 12, 8 loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 6, 0, 11, RGB(31, 31, 11) call MegaEvolutionParticles call MegaEvolutionParticles call MegaEvolutionParticles @@ -26979,7 +26979,7 @@ General_PrimalReversion_Omega: monbg ANIM_ATTACKER setalpha 12, 8 loopsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER, 13, 3 - createvisualtask AnimTask_BlendColorCycle, 2, 2, 0, 6, 0, 11, RGB(31, 31, 11) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 0, 6, 0, 11, RGB(31, 31, 11) call MegaEvolutionParticles call MegaEvolutionParticles call MegaEvolutionParticles @@ -27206,7 +27206,7 @@ Move_ALL_OUT_PUMMELING: waitforvisualfinish call EndureEffect loopsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER 0x9 0x2 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x1f + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect waitforvisualfinish @@ -27573,7 +27573,7 @@ Move_CONTINENTAL_CRUSH:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call ContinentalCrashBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x2dd3 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(19, 14, 11) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call ContinentalCrashBuffEffect delay 0x8 @@ -27606,14 +27606,14 @@ FinishContinentalCrush: delay 0x5 visible ANIM_ATTACKER delay 0x4 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x2dd3 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(19, 14, 11) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call ContinentalCrushStockpileRocks playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call ContinentalCrushStockpileRocks createsprite gContinentalCrushGrowingRockSpriteTemplate, ANIM_ATTACKER, 2, 0x0 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x2dd3 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(19, 14, 11) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call ContinentalCrushStockpileRocks @@ -27874,7 +27874,7 @@ Move_NEVER_ENDING_NIGHTMARE:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call NeverendingNightmareBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x40c0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 6, 16) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call NeverendingNightmareBuffEffect delay 0x8 @@ -28322,7 +28322,7 @@ Move_HYDRO_VORTEX:: call HydroVortexBubbles loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_WATERFALL, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5da0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 13, 23) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 waitforvisualfinish unloadspritegfx ANIM_TAG_SPLASH @@ -28973,7 +28973,7 @@ SubzeroSlammerFinish: waitplaysewithpan SE_M_HAIL, SOUND_PAN_TARGET, 0x11 waitforvisualfinish call SubzeroSlammerIceSwirl - createvisualtask AnimTask_BlendColorCycle, 0x2, F_PAL_ATTACKER, 0x2, 0x2, 0x0, 0xb, 0x7e80 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 20, 31) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SubzeroSlammerIceSwirl call SubzeroSlammerIceSwirl @@ -29085,7 +29085,7 @@ Move_DEVASTATING_DRAKE:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call DevastatingDrakeBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x40c0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 6, 16) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call DevastatingDrakeBuffEffect delay 0x8 @@ -29310,7 +29310,7 @@ Move_BLACK_HOLE_ECLIPSE:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x0000 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 0x8 @@ -29606,7 +29606,7 @@ Move_CATASTROPIKA:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 22) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 0x8 @@ -31050,7 +31050,7 @@ Move_OCEANIC_OPERETTA:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call OceanicOperettaBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 31) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call OceanicOperettaBuffEffect delay 0x8 @@ -31254,7 +31254,7 @@ SplinteredStormshardsByPlayer: visible ANIM_ATTACKER delay 0x1 createsprite gSplinteredShardsRisingSpearSpriteTemplate, ANIM_ATTACKER, 50, 0x60, 0x80, 0x60, 0x30, 0x30 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 22) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 delay 0x2 call SplinteredStormshardsPlayer_Rising2 @@ -31336,7 +31336,7 @@ SplinteredStormshardsByOpponent: visible ANIM_ATTACKER delay 0x1 createsprite gSplinteredShardsRisingSpearSpriteTemplate, ANIM_ATTACKER, 50, 0xd0, 0x40, 0xd0, 0x0, 0x30 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 22) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 delay 0x2 call SplinteredStormshardsOpponent_Rising2 @@ -32003,7 +32003,7 @@ Move_SEARING_SUNRAZE_SMASH:: call SearingSunrazeSmashFlare delay 0x8 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x7fff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 31) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SearingSunrazeSmashFlare delay 0x8 @@ -32234,7 +32234,7 @@ Move_MENACING_MOONRAZE_MAELSTROM:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call MenacingMoonrazeMaelstromFlare delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xc, 0x0000 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 12, RGB(0, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call MenacingMoonrazeMaelstromFlare playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -32294,7 +32294,7 @@ MenacingMoonrazeMaelstromFinish: unloadspritegfx ANIM_TAG_METEOR @superpower playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER call MenacingMoonrazeMaelstromChargeUp - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xc, 0x0000 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 12, RGB(0, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call MenacingMoonrazeMaelstromChargeUp call MenacingMoonrazeMaelstromChargeUp @@ -32423,7 +32423,7 @@ Move_LIGHT_THAT_BURNS_THE_SKY:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x5bff + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 31, 22) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call EndureEffect delay 0x8 @@ -32600,7 +32600,7 @@ Move_SOUL_STEALING_7_STAR_STRIKE:: playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call SoulStealingSevenStarStrikeBuffEffect delay 0x8 - createvisualtask AnimTask_BlendColorCycle, 0x2, 0x2, 0x2, 0x2, 0x0, 0xb, 0x0 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(0, 0, 0) createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 32, 1 call SoulStealingSevenStarStrikeBuffEffect delay 0x8 From e21346dd6748636832364c52a9dd060a835e34f0 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 31 Jul 2023 16:58:08 -0400 Subject: [PATCH 100/256] Fixed Rage Powder's animation not turning the user red --- data/battle_anim_scripts.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 46e0dd8c52..c27860edb1 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -4870,7 +4870,7 @@ Move_RAGE_POWDER:: call RagePowderSprinkle call RagePowderSprinkle call RagePowderSprinkle - createvisualtask AnimTask_BlendColorCycle, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB(31, 0, 0) waitforvisualfinish clearmonbg ANIM_DEF_PARTNER end From 44eb6260cc099d7ce5ef1e527a810acffecb0bf5 Mon Sep 17 00:00:00 2001 From: Philipp AUER Date: Wed, 2 Aug 2023 02:10:18 +0300 Subject: [PATCH 101/256] [battle, anim] woodhammer animation overhaul (#3192) * [battle, anim] woodhammer animation overhaul * squashme: timings --------- Co-authored-by: sbird --- data/battle_anim_scripts.s | 43 +++--- .../sprites/wood_hammer_hammer.png | Bin 0 -> 400 bytes include/constants/battle_anim.h | 1 + include/graphics.h | 2 + src/battle_anim_effects_1.c | 126 +++++++++++++++++- src/data/battle_anim.h | 2 + src/data/pokemon/level_up_learnsets.h | 1 + src/graphics.c | 3 + 8 files changed, 153 insertions(+), 25 deletions(-) create mode 100644 graphics/battle_anims/sprites/wood_hammer_hammer.png diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index f41f541a17..95d7c1bc69 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -4051,31 +4051,34 @@ Move_CHARGE_BEAM: end Move_WOOD_HAMMER: + loadspritegfx ANIM_TAG_WOOD_HAMMER + loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER loadspritegfx ANIM_TAG_IMPACT - monbg ANIM_TARGET - setalpha 12, 8 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER - createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 18, 6, 2, 4 + createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 4 + createsprite gWoodHammerHammerSpriteTemplate, ANIM_TARGET, 2 + delay 60 + createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 3, 0, 12, 4 + delay 18 + createvisualtask AnimTask_SquishTarget, 0x2 + delay 6 + call WoodHammerImpact waitforvisualfinish - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 - delay 3 - createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 3, 1, 0, 10, 0, 0 - createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 4, -10, 0, 1, 0 - playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET - delay 1 - createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 1, -16, 0, 0, 4 - waitforvisualfinish - createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_TARGET, 4, 0, 12, 1 - waitforvisualfinish - delay 2 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 5 - delay 3 - createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 1, 0, 7 - waitforvisualfinish - clearmonbg ANIM_TARGET - blendoff end +WoodHammerImpact: + playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 2 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, 0, 0, 20, 24, 14, 1 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, 5, 0, -20, 24, 14, 0 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, 0, 5, 20, -24, 14, 1 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, -5, 0, -20, -24, 14, 0 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, 0, 0, 20, 24, 20, 2 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, 5, 0, -20, 24, 20, 2 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, 0, 5, 20, -24, 20, 2 + createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, -5, 0, -20, -24, 20, 2 + return + Move_AQUA_JET: loadspritegfx ANIM_TAG_SPARKLE_6 loadspritegfx ANIM_TAG_ROUND_SHADOW diff --git a/graphics/battle_anims/sprites/wood_hammer_hammer.png b/graphics/battle_anims/sprites/wood_hammer_hammer.png new file mode 100644 index 0000000000000000000000000000000000000000..00296d4c461b290f43871301e83164afb2f14eb3 GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`7zFr)xB}^W zQR5EdfP>}wLCWz6 zhRF5T&+T_}$@)_oE85JnBtbx$%{fZJYT3fdOA1-LemqfJvh(Jn;#>hMQMQOQc_FsK za^(-ROgMH1yYpsQHkTBAsOLSnbjrQJ<~p9=DYR`z+UUD22MV6vfanw8>@ zPA-nQDQU?{c6}QhIC@LM!*^X*JjFk+Eq#ue$*IRL?y)|P*b_M={3+|ny?llD^6I#j zDF*)k94Mi2YH?D`V)iD*!=Lp<_OjajeAA!vG47G{)Cvx%Z`(i2a&Qo>lgxUbSdw84 c0Z;cZeozxAuqm0%2=qOJr>mdKI;Vst06?>;Q~&?~ literal 0 HcmV?d00001 diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 01d4b68094..29c39b6897 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -397,6 +397,7 @@ #define ANIM_TAG_STEEL_BEAM (ANIM_SPRITES_START + 383) #define ANIM_TAG_POLTERGEIST (ANIM_SPRITES_START + 384) #define ANIM_TAG_TEAPOT (ANIM_SPRITES_START + 385) +#define ANIM_TAG_WOOD_HAMMER_HAMMER (ANIM_SPRITES_START + 386) // battlers diff --git a/include/graphics.h b/include/graphics.h index 2d94fd7266..25b3fd5017 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -10161,6 +10161,8 @@ extern const u32 gBattleAnimSpriteGfx_ZMoveSymbol[]; extern const u32 gBattleAnimSpritePal_ZMoveSymbol[]; extern const u32 gBattleAnimSpriteGfx_Teapot[]; extern const u32 gBattleAnimSpritePal_Teapot[]; +extern const u32 gBattleAnimSpriteGfx_WoodHammerHammer[]; +extern const u32 gBattleAnimSpritePal_WoodHammerHammer[]; extern const u32 gBattleAnimBgImage_Dark[]; extern const u32 gBattleAnimBgImage_Ghost[]; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 7e3a6dc201..63aea3f808 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -147,6 +147,9 @@ static void AnimGrassKnotStep(struct Sprite *); static void AnimGrassKnot(struct Sprite *); static void AnimWoodHammerSmall(struct Sprite *); static void AnimWoodHammerBig(struct Sprite *); +static void AnimWoodHammerHammer(struct Sprite *); +static void AnimWoodHammerHammer_WaitForPunch(struct Sprite *); +static void AnimWoodHammerHammer_WaitForDestruction(struct Sprite *); static void AnimTask_DoubleTeam_Step(u8); static void AnimDoubleTeam(struct Sprite *); static void AnimNightSlash(struct Sprite *); @@ -2847,24 +2850,67 @@ const union AffineAnimCmd *const gWoodHammerBigAffineAnims[] = gWoodHammerBigAffineAnimCmd_2, }; -const union AnimCmd gWoodHammerSmallAnimCmd_1[] = +#define WOOD_HAMMER_SCALE_STEP 5 +#define WOOD_HAMMER_CC_ROTATION_STEP 2 +#define WOOD_HAMMER_BACKWARDS_DURATION 40 +#define WOOD_HAMMER_ROTATED_AMOUNT (WOOD_HAMMER_CC_ROTATION_STEP * WOOD_HAMMER_BACKWARDS_DURATION) +#define WOOD_HAMMER_SCALED_AMOUNT (WOOD_HAMMER_SCALE_STEP * WOOD_HAMMER_BACKWARDS_DURATION) + +const union AffineAnimCmd gWoodHammerHammerAffineAnimCmd_BackwardsRotateAndScale[] = { - ANIMCMD_FRAME(32, 1), - ANIMCMD_END, + AFFINEANIMCMD_FRAME(WOOD_HAMMER_SCALE_STEP, WOOD_HAMMER_SCALE_STEP, WOOD_HAMMER_CC_ROTATION_STEP, WOOD_HAMMER_BACKWARDS_DURATION), + AFFINEANIMCMD_END }; -const union AnimCmd gWoodHammerSmallAnimCmd_2[] = +const union AffineAnimCmd gWoodHammerHammerAffineAnimCmd_BackwardsRotateAndScaleFlipped[] = +{ + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_FRAME(-WOOD_HAMMER_SCALE_STEP, WOOD_HAMMER_SCALE_STEP, -WOOD_HAMMER_CC_ROTATION_STEP, WOOD_HAMMER_BACKWARDS_DURATION), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gWoodHammerHammerAffineAnimCmd_PunchClockwise[] = +{ + AFFINEANIMCMD_FRAME(0x100 + WOOD_HAMMER_SCALED_AMOUNT, 0x100 + WOOD_HAMMER_SCALED_AMOUNT, WOOD_HAMMER_ROTATED_AMOUNT, 0), + AFFINEANIMCMD_FRAME(0, 0, -16, 7), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gWoodHammerHammerAffineAnimCmd_PunchCounterClockwise[] = +{ + AFFINEANIMCMD_FRAME(-0x100 - WOOD_HAMMER_SCALED_AMOUNT, 0x100 + WOOD_HAMMER_SCALED_AMOUNT, -WOOD_HAMMER_ROTATED_AMOUNT, 0), + AFFINEANIMCMD_FRAME(0, 0, 16, 7), + AFFINEANIMCMD_END +}; + +// Animations 0, 2 are for the player side attacking +// Animations 1, 3 are for the opponent side attacking (flipped) +const union AffineAnimCmd *const gWoodHammerHammerAffineAnims[] = +{ + gWoodHammerHammerAffineAnimCmd_BackwardsRotateAndScale, + gWoodHammerHammerAffineAnimCmd_BackwardsRotateAndScaleFlipped, + gWoodHammerHammerAffineAnimCmd_PunchClockwise, + gWoodHammerHammerAffineAnimCmd_PunchCounterClockwise, +}; + +const union AnimCmd gWoodHammerSmallAnimCmd_1[] = { ANIMCMD_FRAME(48, 1), ANIMCMD_END, }; -const union AnimCmd gWoodHammerSmallAnimCmd_3[] = +const union AnimCmd gWoodHammerSmallAnimCmd_2[] = { ANIMCMD_FRAME(64, 1), ANIMCMD_END, }; +const union AnimCmd gWoodHammerSmallAnimCmd_3[] = +{ + ANIMCMD_FRAME(80, 1), + ANIMCMD_END, +}; + const union AnimCmd *const gWoodHammerSmallAnims[] = { gWoodHammerSmallAnimCmd_1, @@ -2905,6 +2951,17 @@ const struct SpriteTemplate gWoodHammerSmallSpriteTemplate = .callback = AnimWoodHammerSmall, }; +const struct SpriteTemplate gWoodHammerHammerSpriteTemplate = +{ + .tileTag = ANIM_TAG_WOOD_HAMMER_HAMMER, + .paletteTag = ANIM_TAG_WOOD_HAMMER_HAMMER, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gWoodHammerHammerAffineAnims, + .callback = AnimWoodHammerHammer, +}; + const struct SpriteTemplate gJudgmentGrayOutwardSpikesTemplate = { .tileTag = ANIM_TAG_GREEN_SPIKE, @@ -3022,6 +3079,65 @@ static void AnimWoodHammerSmall(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } +#define HAMMER_X_OFFSET 40 +#define HAMMER_PUNCH_WAIT_FRAMES 37 + +static void AnimWoodHammerHammer(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + sprite->x += HAMMER_X_OFFSET; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->x -= HAMMER_X_OFFSET; + StartSpriteAffineAnim(sprite, 0); + } + sprite->data[6] = HAMMER_PUNCH_WAIT_FRAMES; + sprite->callback = AnimWoodHammerHammer_WaitForPunch; +} + +static void AnimWoodHammerHammer_WaitForPunch(struct Sprite *sprite) +{ + if (!sprite->affineAnimEnded) + return; + + if (sprite->data[6] != 0) + { + sprite->data[6]--; + if (sprite->data[6] & 1) + { + if ((sprite->data[6] / 2) & 1) + sprite->x2++; + else + sprite->x2--; + } + return; + } + + if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) + { + StartSpriteAffineAnim(sprite, 3); + } + else + { + StartSpriteAffineAnim(sprite, 2); + } + sprite->callback = AnimWoodHammerHammer_WaitForDestruction; +} + +static void AnimWoodHammerHammer_WaitForDestruction(struct Sprite *sprite) +{ + if (sprite->affineAnimEnded) + { + DestroySpriteAndMatrix(sprite); + } +} + +#undef HAMMER_X_OFFSET +#undef HAMMER_PUNCH_WAIT_FRAMES + // Animates the falling particles that horizontally wave back and forth. // Used by Sleep Powder, Stun Spore, and Poison Powder. // arg 0: initial x pixel offset diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index be1c7f07c0..0a3c5d6475 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1451,6 +1451,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_STEEL_BEAM}, {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_POLTERGEIST}, {gBattleAnimSpriteGfx_Teapot, 0x1800, ANIM_TAG_TEAPOT}, + {gBattleAnimSpriteGfx_WoodHammerHammer, 0x800, ANIM_TAG_WOOD_HAMMER_HAMMER}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = @@ -1902,6 +1903,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_SteelBeam, ANIM_TAG_STEEL_BEAM}, {gBattleAnimSpritePal_Poltergeist, ANIM_TAG_POLTERGEIST}, {gBattleAnimSpritePal_Teapot, ANIM_TAG_TEAPOT}, + {gBattleAnimSpritePal_WoodHammerHammer, ANIM_TAG_WOOD_HAMMER_HAMMER}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index 17af6b8888..c29d77b039 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -15,6 +15,7 @@ static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE(31, MOVE_WORRY_SEED), LEVEL_UP_MOVE(33, MOVE_SYNTHESIS), LEVEL_UP_MOVE(37, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(56, MOVE_WOOD_HAMMER), LEVEL_UP_END }; diff --git a/src/graphics.c b/src/graphics.c index de65ac1c13..74feb52465 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -449,6 +449,9 @@ const u32 gBattleAnimSpriteGfx_SpinningBall[] = INCBIN_U32("graphics/battle_anim const u32 gBattleAnimSpritePal_SpinningBall[] = INCBIN_U32("graphics/battle_anims/unused/spinning_ball.gbapal.lz"); const u32 gBattleAnimSpritePal_SpinningBall2[] = INCBIN_U32("graphics/battle_anims/unused/spinning_ball_2.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_WoodHammerHammer[] = INCBIN_U32("graphics/battle_anims/sprites/wood_hammer_hammer.4bpp.lz"); +const u32 gBattleAnimSpritePal_WoodHammerHammer[] = INCBIN_U32("graphics/battle_anims/sprites/wood_hammer_hammer.gbapal.lz"); + // old battle interface data, unused const u32 gOldBattleInterfaceGfx[] = INCBIN_U32("graphics/unused/obi1.4bpp.lz"); From 7a814999e5c482755591a4deab4e411d61842d45 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Mon, 31 Jul 2023 13:53:33 -0400 Subject: [PATCH 102/256] MOVE_CORROSIVE_GAS Effect (#3152) # Conflicts: # data/battle_anim_scripts.s # data/battle_scripts_1.s # include/constants/battle_move_effects.h --- asm/macros/battle_script.inc | 6 ++ data/battle_scripts_1.s | 24 +++++ include/constants/battle_move_effects.h | 3 +- include/constants/battle_string_ids.h | 3 +- src/battle_message.c | 2 + src/battle_script_commands.c | 19 +++- src/data/battle_moves.h | 2 +- test/move_effect_corrosive_gas.c | 119 ++++++++++++++++++++++++ 8 files changed, 173 insertions(+), 5 deletions(-) create mode 100644 test/move_effect_corrosive_gas.c diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 47dc8092a3..17163db376 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1380,6 +1380,12 @@ .byte \counter .4byte \ptr .endm + + .macro jumpifcantloseitem battler:req, ptr:req + callnative BS_JumpIfCantLoseItem + .byte \battler + .4byte \ptr + .endm @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index ec6958d94e..85ed815510 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -435,6 +435,30 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE .4byte BattleScript_EffectSpinOut @ EFFECT_SPIN_OUT .4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN + .4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS + +BattleScript_EffectCorrosiveGas: + attackcanceler + accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE + attackstring + ppreduce + jumpifsubstituteblocks BattleScript_CorrosiveGasFail + jumpifcantloseitem BS_TARGET, BattleScript_CorrosiveGasFail + attackanimation + waitanimation + jumpifability BS_TARGET, ABILITY_STICKY_HOLD, BattleScript_StickyHoldActivates + setlastuseditem BS_TARGET + removeitem BS_TARGET + printstring STRINGID_PKMNITEMMELTED + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd + +BattleScript_CorrosiveGasFail: + pause B_WAIT_TIME_SHORT + orhalfword gMoveResultFlags, MOVE_RESULT_FAILED + printstring STRINGID_NOEFFECTONTARGET + waitmessage B_WAIT_TIME_LONG + goto BattleScript_MoveEnd BattleScript_EffectMakeItRain: setmoveeffect MOVE_EFFECT_PAYDAY diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index bb38d86599..27cc037af4 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -412,7 +412,8 @@ #define EFFECT_COLLISION_COURSE 406 #define EFFECT_SPIN_OUT 407 #define EFFECT_MAKE_IT_RAIN 408 +#define EFFECT_CORROSIVE_GAS 409 -#define NUM_BATTLE_MOVE_EFFECTS 409 +#define NUM_BATTLE_MOVE_EFFECTS 410 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 174c611e2f..5c8dc865dc 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -664,8 +664,9 @@ #define STRINGID_SNOWCONTINUES 662 #define STRINGID_SNOWSTOPPED 663 #define STRINGID_SNOWWARNINGSNOW 664 +#define STRINGID_PKMNITEMMELTED 665 -#define BATTLESTRINGS_COUNT 665 +#define BATTLESTRINGS_COUNT 666 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/src/battle_message.c b/src/battle_message.c index c8f05fb9af..c4de3c06e8 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -799,9 +799,11 @@ static const u8 sText_ItemCuredSpeciesStatus[] = _("{B_BUFF1} had\nits status he static const u8 sText_ItemRestoredSpeciesPP[] = _("{B_BUFF1} had its\nPP restored!"); static const u8 sText_AtkTrappedDef[] = _("{B_ATK_NAME_WITH_PREFIX} trapped\nthe {B_DEF_NAME_WITH_PREFIX}!"); static const u8 sText_MirrorHerbCopied[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used its {B_LAST_ITEM}\nto mirror its opponent's stat changes!"); +static const u8 sText_PkmnItemMelted[] = _("{B_ATK_NAME_WITH_PREFIX} corroded\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_PKMNITEMMELTED - BATTLESTRINGS_TABLE_START] = sText_PkmnItemMelted, [STRINGID_MIRRORHERBCOPIED - BATTLESTRINGS_TABLE_START] = sText_MirrorHerbCopied, [STRINGID_THUNDERCAGETRAPPED - BATTLESTRINGS_TABLE_START] = sText_AtkTrappedDef, [STRINGID_ITEMRESTOREDSPECIESHEALTH - BATTLESTRINGS_TABLE_START] = sText_ItemRestoredSpeciesHealth, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 1059967ed5..006530e5fb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7756,7 +7756,9 @@ static void Cmd_removeitem(void) itemId = gBattleMons[gActiveBattler].item; // Popped Air Balloon cannot be restored by any means. - if (GetBattlerHoldEffect(gActiveBattler, TRUE) != HOLD_EFFECT_AIR_BALLOON) + // Corroded items cannot be restored either. + if (GetBattlerHoldEffect(gActiveBattler, TRUE) != HOLD_EFFECT_AIR_BALLOON + && gBattleMoves[gCurrentMove].effect != EFFECT_CORROSIVE_GAS) gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gActiveBattler]][GetBattlerSide(gActiveBattler)] = itemId; // Remember if switched out gBattleMons[gActiveBattler].item = ITEM_NONE; @@ -9932,7 +9934,8 @@ static void Cmd_various(void) if (gBattleMons[gBattlerAttacker].item == ITEM_NONE || gBattleMons[gBattlerTarget].item != ITEM_NONE || !CanBattlerGetOrLoseItem(gBattlerAttacker, gBattleMons[gBattlerAttacker].item) - || !CanBattlerGetOrLoseItem(gBattlerTarget, gBattleMons[gBattlerAttacker].item)) + || !CanBattlerGetOrLoseItem(gBattlerTarget, gBattleMons[gBattlerAttacker].item) + || gWishFutureKnock.knockedOffMons[GetBattlerSide(gBattlerTarget)] & gBitTable[gBattlerPartyIndexes[gBattlerTarget]]) { gBattlescriptCurrInstr = cmd->failInstr; } @@ -16071,6 +16074,18 @@ void BS_CheckParentalBondCounter(void) gBattlescriptCurrInstr = cmd->nextInstr; } +void BS_JumpIfCantLoseItem(void) +{ + NATIVE_ARGS(u8 battler, const u8 *jumpInstr); + u8 battler = GetBattlerForBattleScript(cmd->battler); + u16 item = gBattleMons[battler].item; + + if (item == ITEM_NONE || !CanBattlerGetOrLoseItem(battler, item)) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + void BS_GetBattlerSide(void) { NATIVE_ARGS(u8 battler); diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index bb1db2f7de..75a7d1b962 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -12302,7 +12302,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CORROSIVE_GAS] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_CORROSIVE_GAS, TODO + .effect = EFFECT_CORROSIVE_GAS, .power = 0, .type = TYPE_POISON, .accuracy = 100, diff --git a/test/move_effect_corrosive_gas.c b/test/move_effect_corrosive_gas.c new file mode 100644 index 0000000000..097646cee1 --- /dev/null +++ b/test/move_effect_corrosive_gas.c @@ -0,0 +1,119 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_CORROSIVE_GAS].effect == EFFECT_CORROSIVE_GAS); +} + +SINGLE_BATTLE_TEST("Corrosive Gas destroys the target's item or fails if the target has no item") +{ + u16 item; + + PARAMETRIZE {item = ITEM_NONE; } + PARAMETRIZE {item = ITEM_POTION; } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) {Item(item); } + } WHEN { + TURN { MOVE(player, MOVE_CORROSIVE_GAS); } + } SCENE { + MESSAGE("Wobbuffet used CorrosiveGas!"); + if (item == ITEM_POTION) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_CORROSIVE_GAS, player); + MESSAGE("Wobbuffet corroded Foe Wobbuffet's Potion!"); + } + else { + MESSAGE("It had no effect on Foe Wobbuffet!"); + } + } THEN { + EXPECT_EQ(opponent->item, ITEM_NONE); + } +} + +SINGLE_BATTLE_TEST("Corrosive Gas doesn't destroy the item of a Pokemon with the Sticky Hold ability") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_MUK) {Item(ITEM_POISON_BARB); Ability(ABILITY_STICKY_HOLD); } + } WHEN { + TURN { MOVE(player, MOVE_CORROSIVE_GAS); } + } SCENE { + MESSAGE("Wobbuffet used CorrosiveGas!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CORROSIVE_GAS, player); + NOT MESSAGE("Wobbuffet corroded Foe Wobbuffet's Potion!"); + ABILITY_POPUP(opponent, ABILITY_STICKY_HOLD); + MESSAGE("Foe Muk's Sticky Hold made CorrosiveGas ineffective!"); + } THEN { + EXPECT_EQ(opponent->item, ITEM_POISON_BARB); + } +} + +SINGLE_BATTLE_TEST("Items lost to Corrosive Gas cannot be restored by Recycle") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_RECYCLE].effect == EFFECT_RECYCLE); + PLAYER(SPECIES_WOBBUFFET) {Speed(15); } + OPPONENT(SPECIES_WOBBUFFET) {Item(ITEM_ORAN_BERRY); Speed(10); } + } WHEN { + TURN { MOVE(player, MOVE_CORROSIVE_GAS); MOVE(opponent, MOVE_RECYCLE); } + } SCENE { + MESSAGE("Wobbuffet used CorrosiveGas!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CORROSIVE_GAS, player); + MESSAGE("Wobbuffet corroded Foe Wobbuffet's Oran Berry!"); + MESSAGE("Foe Wobbuffet used Recycle!"); + MESSAGE("But it failed!"); + } THEN { + EXPECT_EQ(opponent->item, ITEM_NONE); + } +} + +DOUBLE_BATTLE_TEST("Corrosive Gas destroys foes and ally's items if they have one") +{ + // Check it affects all targets in all possible configurations. + u32 j, k, l; + u16 itemOpponentLeft, itemOpponentRight, itemPlayerLeft; + + for (j = 0; j < 2; j++) { + for (k = 0; k < 2; k++) { + for (l = 0; l < 2; l++) { + PARAMETRIZE {itemOpponentLeft = (j & 1) ? ITEM_ORAN_BERRY : ITEM_NONE; + itemOpponentRight = (k & 1) ? ITEM_CHESTO_BERRY : ITEM_NONE; + itemPlayerLeft = (l & 1) ? ITEM_CHERI_BERRY : ITEM_NONE; } + } + } + } + + GIVEN { + PLAYER(SPECIES_WOBBUFFET) {Item(itemPlayerLeft);} + PLAYER(SPECIES_WYNAUT) {Item(ITEM_SITRUS_BERRY);} + OPPONENT(SPECIES_ABRA) {Item(itemOpponentLeft);} + OPPONENT(SPECIES_KADABRA) {Item(itemOpponentRight);} + } WHEN { + TURN { MOVE(playerRight, MOVE_CORROSIVE_GAS); } + } SCENE { + MESSAGE("Wynaut used CorrosiveGas!"); + if (itemPlayerLeft == ITEM_CHERI_BERRY) { + MESSAGE("Wynaut corroded Wobbuffet's Cheri Berry!"); + } else { + MESSAGE("It had no effect on Wobbuffet!"); + } + if (itemOpponentLeft == ITEM_ORAN_BERRY) { + MESSAGE("Wynaut corroded Foe Abra's Oran Berry!"); + } else { + MESSAGE("It had no effect on Foe Abra!"); + } + if (itemOpponentRight == ITEM_CHESTO_BERRY) { + MESSAGE("Wynaut corroded Foe Kadabra's Chesto Berry!"); + } else { + MESSAGE("It had no effect on Foe Kadabra!"); + } + + } THEN { + EXPECT_EQ(playerRight->item, ITEM_SITRUS_BERRY); // Attacker doesn't lose its item. + EXPECT_EQ(playerLeft->item, ITEM_NONE); + EXPECT_EQ(opponentLeft->item, ITEM_NONE); + EXPECT_EQ(opponentRight->item, ITEM_NONE); + } +} From 1d8ad1b75649ba043c9801cc6caa57d5541783e5 Mon Sep 17 00:00:00 2001 From: sbird Date: Wed, 2 Aug 2023 09:51:45 +0200 Subject: [PATCH 103/256] [battle, movesets] revert bulbasaur's level up change --- src/data/pokemon/level_up_learnsets.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index c29d77b039..17af6b8888 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -15,7 +15,6 @@ static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE(31, MOVE_WORRY_SEED), LEVEL_UP_MOVE(33, MOVE_SYNTHESIS), LEVEL_UP_MOVE(37, MOVE_SEED_BOMB), - LEVEL_UP_MOVE(56, MOVE_WOOD_HAMMER), LEVEL_UP_END }; From b08b6a37cb150d49c900c7c04aca4cc5c17ddafe Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 25 Jul 2023 08:03:08 +0100 Subject: [PATCH 104/256] Optimize BuildOamBuffer --- gflib/sprite.c | 282 +++++++++++++++++++-------------------------- test/sprite.c | 303 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 417 insertions(+), 168 deletions(-) create mode 100644 test/sprite.c diff --git a/gflib/sprite.c b/gflib/sprite.c index 80fba81fe3..d75f6f7271 100644 --- a/gflib/sprite.c +++ b/gflib/sprite.c @@ -48,11 +48,7 @@ struct OamDimensions s8 height; }; -static void UpdateOamCoords(void); -static void BuildSpritePriorities(void); -static void SortSprites(void); -static void CopyMatricesToOamBuffer(void); -static void AddSpritesToOamBuffer(void); +static void SortSprites(u32 *spritePriorities, s32 n); static u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); static void ResetOamMatrices(void); static void ResetSprite(struct Sprite *sprite); @@ -280,12 +276,12 @@ u32 gOamMatrixAllocBitmap; u8 gReservedSpritePaletteCount; EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0}; -EWRAM_DATA static u16 sSpritePriorities[MAX_SPRITES] = {0}; EWRAM_DATA static u8 sSpriteOrder[MAX_SPRITES] = {0}; EWRAM_DATA static bool8 sShouldProcessSpriteCopyRequests = 0; EWRAM_DATA static u8 sSpriteCopyRequestCount = 0; EWRAM_DATA static struct SpriteCopyRequest sSpriteCopyRequests[MAX_SPRITES] = {0}; EWRAM_DATA u8 gOamLimit = 0; +static EWRAM_DATA u8 gOamDummyIndex = 0; EWRAM_DATA u16 gReservedSpriteTileCount = 0; EWRAM_DATA static u8 sSpriteTileAllocBitmap[128] = {0}; EWRAM_DATA s16 gSpriteCoordOffsetX = 0; @@ -296,6 +292,7 @@ EWRAM_DATA bool8 gAffineAnimsDisabled = FALSE; void ResetSpriteData(void) { ResetOamRange(0, 128); + gOamDummyIndex = 0; ResetAllSprites(); ClearSpriteCopyRequests(); ResetAffineAnimData(); @@ -326,179 +323,128 @@ void AnimateSprites(void) void BuildOamBuffer(void) { - u8 temp; - UpdateOamCoords(); - BuildSpritePriorities(); - SortSprites(); - temp = gMain.oamLoadDisabled; + bool32 oamLoadDisabled; + u32 i, stride; + u8 oamIndex; + + // All attributes which affect sorting packed into a single u32: + // { priority:2, subpriority:8, y:9, :5, index:8 }. + // Index has its own byte even though it only needs 6 bits so that + // we can load it with a ldrb instead of having to mask out the + // bottom 6 bits. + u32 spritePriorities[MAX_SPRITES]; + s32 toSort = 0; + u8 skippedSprites[MAX_SPRITES]; + u32 skippedSpritesN = 0; + u32 matrices = 0; + + for (i = 0; i < MAX_SPRITES; i++) + { + // Reuse existing sSpriteOrder because we expect the order to be + // relatively stable between frames. + u32 index = sSpriteOrder[i]; + struct Sprite *sprite = &gSprites[index]; + s32 y; + if (!sprite->inUse || sprite->invisible) + { + skippedSprites[skippedSpritesN++] = index; + continue; + } + + if (sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK) + matrices |= 1 << sprite->oam.matrixNum; + + if (sprite->coordOffsetEnabled) + { + sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX; + sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY; + } + else + { + sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX; + sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY; + } + + y = sprite->oam.y; + if (y >= DISPLAY_HEIGHT) + { + y -= 256; + } + else if (sprite->oam.affineMode == ST_OAM_AFFINE_DOUBLE + && sprite->oam.size == ST_OAM_SIZE_3) + { + u32 shape = sprite->oam.shape; + if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) + { + if (y > 128) + y -= 256; + } + } + + // y in [-128...159], so (159 - y) in [0..287]. + spritePriorities[toSort++] + = (sprite->oam.priority << 30) + | (sprite->subpriority << 22) + | (((159 - y) & 0x1FF) << 13) + | (index << 0); + } + + SortSprites(spritePriorities, toSort); + + for (i = 0; i < toSort; i++) + sSpriteOrder[i] = spritePriorities[i] & 0xFF; + for (i = 0; i < skippedSpritesN; i++) + sSpriteOrder[toSort + i] = skippedSprites[i]; + + oamLoadDisabled = gMain.oamLoadDisabled; gMain.oamLoadDisabled = TRUE; - AddSpritesToOamBuffer(); - CopyMatricesToOamBuffer(); - gMain.oamLoadDisabled = temp; + + for (i = 0, oamIndex = 0; i < toSort; i++) + { + if (AddSpriteToOamBuffer(&gSprites[spritePriorities[i] & 0xFF], &oamIndex)) + break; + } + + for (i = oamIndex; i < gOamDummyIndex; i++) + gMain.oamBuffer[i] = gDummyOamData; + gOamDummyIndex = oamIndex; + + for (i = 0; matrices != 0; i++, matrices >>= 1) + { + if (matrices & 1) + { + u32 base = 4 * i; + gMain.oamBuffer[base + 0].affineParam = gOamMatrices[i].a; + gMain.oamBuffer[base + 1].affineParam = gOamMatrices[i].b; + gMain.oamBuffer[base + 2].affineParam = gOamMatrices[i].c; + gMain.oamBuffer[base + 3].affineParam = gOamMatrices[i].d; + } + } + + gMain.oamLoadDisabled = oamLoadDisabled; sShouldProcessSpriteCopyRequests = TRUE; } -void UpdateOamCoords(void) +static inline void InsertionSort(u32 *spritePriorities, s32 n) { - u8 i; - for (i = 0; i < MAX_SPRITES; i++) + s32 i = 1; + while (i < n) { - struct Sprite *sprite = &gSprites[i]; - if (sprite->inUse && !sprite->invisible) + u32 x = spritePriorities[i]; + s32 j = i - 1; + while (j >= 0 && spritePriorities[j] > x) { - if (sprite->coordOffsetEnabled) - { - sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX; - sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY; - } - else - { - sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX; - sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY; - } - } - } -} - -void BuildSpritePriorities(void) -{ - u16 i; - for (i = 0; i < MAX_SPRITES; i++) - { - struct Sprite *sprite = &gSprites[i]; - u16 priority = sprite->subpriority | (sprite->oam.priority << 8); - sSpritePriorities[i] = priority; - } -} - -void SortSprites(void) -{ - u8 i; - for (i = 1; i < MAX_SPRITES; i++) - { - u8 j = i; - struct Sprite *sprite1 = &gSprites[sSpriteOrder[i - 1]]; - struct Sprite *sprite2 = &gSprites[sSpriteOrder[i]]; - u16 sprite1Priority = sSpritePriorities[sSpriteOrder[i - 1]]; - u16 sprite2Priority = sSpritePriorities[sSpriteOrder[i]]; - s16 sprite1Y = sprite1->oam.y; - s16 sprite2Y = sprite2->oam.y; - - if (sprite1Y >= DISPLAY_HEIGHT) - sprite1Y = sprite1Y - 256; - - if (sprite2Y >= DISPLAY_HEIGHT) - sprite2Y = sprite2Y - 256; - - if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite1->oam.size == ST_OAM_SIZE_3) - { - u32 shape = sprite1->oam.shape; - if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) - { - if (sprite1Y > 128) - sprite1Y = sprite1Y - 256; - } - } - - if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite2->oam.size == ST_OAM_SIZE_3) - { - u32 shape = sprite2->oam.shape; - if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) - { - if (sprite2Y > 128) - sprite2Y = sprite2Y - 256; - } - } - - while (j > 0 - && ((sprite1Priority > sprite2Priority) - || (sprite1Priority == sprite2Priority && sprite1Y < sprite2Y))) - { - u8 temp = sSpriteOrder[j]; - sSpriteOrder[j] = sSpriteOrder[j - 1]; - sSpriteOrder[j - 1] = temp; - - // UB: If j equals 1, then j-- makes j equal 0. - // Then, sSpriteOrder[-1] gets accessed below. - // Although this doesn't result in a bug in the ROM, - // the behavior is undefined. + spritePriorities[j + 1] = spritePriorities[j]; j--; -#ifdef UBFIX - if (j == 0) - break; -#endif - - sprite1 = &gSprites[sSpriteOrder[j - 1]]; - sprite2 = &gSprites[sSpriteOrder[j]]; - sprite1Priority = sSpritePriorities[sSpriteOrder[j - 1]]; - sprite2Priority = sSpritePriorities[sSpriteOrder[j]]; - sprite1Y = sprite1->oam.y; - sprite2Y = sprite2->oam.y; - - if (sprite1Y >= DISPLAY_HEIGHT) - sprite1Y = sprite1Y - 256; - - if (sprite2Y >= DISPLAY_HEIGHT) - sprite2Y = sprite2Y - 256; - - if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite1->oam.size == ST_OAM_SIZE_3) - { - u32 shape = sprite1->oam.shape; - if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) - { - if (sprite1Y > 128) - sprite1Y = sprite1Y - 256; - } - } - - if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE - && sprite2->oam.size == ST_OAM_SIZE_3) - { - u32 shape = sprite2->oam.shape; - if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) - { - if (sprite2Y > 128) - sprite2Y = sprite2Y - 256; - } - } } - } -} - -void CopyMatricesToOamBuffer(void) -{ - u8 i; - for (i = 0; i < OAM_MATRIX_COUNT; i++) - { - u32 base = 4 * i; - gMain.oamBuffer[base + 0].affineParam = gOamMatrices[i].a; - gMain.oamBuffer[base + 1].affineParam = gOamMatrices[i].b; - gMain.oamBuffer[base + 2].affineParam = gOamMatrices[i].c; - gMain.oamBuffer[base + 3].affineParam = gOamMatrices[i].d; - } -} - -void AddSpritesToOamBuffer(void) -{ - u8 i = 0; - u8 oamIndex = 0; - - while (i < MAX_SPRITES) - { - struct Sprite *sprite = &gSprites[sSpriteOrder[i]]; - if (sprite->inUse && !sprite->invisible && AddSpriteToOamBuffer(sprite, &oamIndex)) - return; + spritePriorities[j + 1] = x; i++; } +} - while (oamIndex < gOamLimit) - { - gMain.oamBuffer[oamIndex] = gDummyOamData; - oamIndex++; - } +static void SortSprites(u32 *spritePriorities, s32 n) +{ + InsertionSort(spritePriorities, n); } u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority) @@ -849,7 +795,7 @@ void CopyToSprites(u8 *src) void ResetAllSprites(void) { - u8 i; + u32 i; for (i = 0; i < MAX_SPRITES; i++) { diff --git a/test/sprite.c b/test/sprite.c new file mode 100644 index 0000000000..f488929d51 --- /dev/null +++ b/test/sprite.c @@ -0,0 +1,303 @@ +#include "global.h" +#include "test.h" +#include "main.h" +#include "malloc.h" +#include "random.h" +#include "sprite.h" + +#define OAM_MATRIX_COUNT 32 + +EWRAM_DATA static u16 sSpritePriorities[MAX_SPRITES] = {0}; +EWRAM_DATA static u8 sSpriteOrder[MAX_SPRITES] = {0}; + +static void Old_BuildOamBuffer(void); + +static void ExpectEqOamBuffers(const struct OamData *oldOamBuffer, const struct OamData *newOamBuffer) +{ + u32 i; + u32 matrices = 0; + + // Compare the non-matrix data. + for (i = 0; i < gOamLimit; i++) + { + EXPECT(memcmp(&oldOamBuffer[i], &newOamBuffer[i], 6) == 0); + if (newOamBuffer[i].affineMode & ST_OAM_AFFINE_ON_MASK) + matrices |= 1 << newOamBuffer[i].matrixNum; + } + + // Compare the matrix data. + for (i = 0; i < OAM_MATRIX_COUNT; i++) + { + if (matrices & (1 << i)) + { + u32 base = 4 * i; + EXPECT_EQ(oldOamBuffer[base + 0].affineParam, newOamBuffer[base + 0].affineParam); + EXPECT_EQ(oldOamBuffer[base + 1].affineParam, newOamBuffer[base + 1].affineParam); + EXPECT_EQ(oldOamBuffer[base + 2].affineParam, newOamBuffer[base + 2].affineParam); + EXPECT_EQ(oldOamBuffer[base + 3].affineParam, newOamBuffer[base + 3].affineParam); + } + } +} + +static void ResetSpriteData_(void) +{ + u32 i; + ResetSpriteData(); + for (i = 0; i < MAX_SPRITES; i++) + sSpriteOrder[i] = i; +} + +static void BenchmarkBuildOamBuffer(bool32 preSort) +{ + struct Benchmark oldBuildOamBuffer, newBuildOamBuffer; + struct OamData *oldOamBuffer = Alloc(sizeof(gMain.oamBuffer)); + + if (preSort) + Old_BuildOamBuffer(); + BENCHMARK(&oldBuildOamBuffer) + { + Old_BuildOamBuffer(); + } + memcpy(oldOamBuffer, gMain.oamBuffer, sizeof(gMain.oamBuffer)); + + if (preSort) + BuildOamBuffer(); + BENCHMARK(&newBuildOamBuffer) + { + BuildOamBuffer(); + } + + ExpectEqOamBuffers(oldOamBuffer, gMain.oamBuffer); + EXPECT_FASTER(newBuildOamBuffer, oldBuildOamBuffer); + Free(oldOamBuffer); +} + +TEST("BuildOamBuffer faster with no sprites") +{ + ResetSpriteData_(); + BenchmarkBuildOamBuffer(FALSE); +} + +TEST("BuildOamBuffer faster with max sprites (equal y/subpriority)") +{ + u32 i; + + ResetSpriteData_(); + for (i = 0; i < MAX_SPRITES; i++) + CreateSprite(&gDummySpriteTemplate, 0, 0, 0); + BenchmarkBuildOamBuffer(FALSE); +} + +TEST("BuildOamBuffer faster with max sprites (random y/subpriority)") +{ + u32 i; + ResetSpriteData_(); + SeedRng(0); + for (i = 0; i < MAX_SPRITES; i++) + CreateSprite(&gDummySpriteTemplate, 0, Random() % 256, Random() % 256); + BenchmarkBuildOamBuffer(FALSE); +} + +TEST("BuildOamBuffer faster on already-sorted max sprites") +{ + u32 i; + ResetSpriteData_(); + SeedRng(0); + for (i = 0; i < MAX_SPRITES; i++) + CreateSprite(&gDummySpriteTemplate, 0, Random() % 256, Random() % 256); + BenchmarkBuildOamBuffer(TRUE); +} + +TEST("BuildOamBuffer faster with mix of sprites") +{ + u32 i; + ResetSpriteData_(); + SeedRng(0); + for (i = 0; i < MAX_SPRITES / 2; i++) + { + u32 spriteId = CreateSprite(&gDummySpriteTemplate, 0, Random() % 256, Random() % 256); + gSprites[spriteId].invisible = Random() % 4 == 0; + } + BenchmarkBuildOamBuffer(FALSE); +} + +// Old implementation. + +#define UBFIX + +static void UpdateOamCoords(void) +{ + u8 i; + for (i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + if (sprite->inUse && !sprite->invisible) + { + if (sprite->coordOffsetEnabled) + { + sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX; + sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY; + } + else + { + sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX; + sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY; + } + } + } +} + +static void BuildSpritePriorities(void) +{ + u16 i; + for (i = 0; i < MAX_SPRITES; i++) + { + struct Sprite *sprite = &gSprites[i]; + u16 priority = sprite->subpriority | (sprite->oam.priority << 8); + sSpritePriorities[i] = priority; + } +} + +static void SortSprites(void) +{ + u8 i; + for (i = 1; i < MAX_SPRITES; i++) + { + u8 j = i; + struct Sprite *sprite1 = &gSprites[sSpriteOrder[i - 1]]; + struct Sprite *sprite2 = &gSprites[sSpriteOrder[i]]; + u16 sprite1Priority = sSpritePriorities[sSpriteOrder[i - 1]]; + u16 sprite2Priority = sSpritePriorities[sSpriteOrder[i]]; + s16 sprite1Y = sprite1->oam.y; + s16 sprite2Y = sprite2->oam.y; + + if (sprite1Y >= DISPLAY_HEIGHT) + sprite1Y = sprite1Y - 256; + + if (sprite2Y >= DISPLAY_HEIGHT) + sprite2Y = sprite2Y - 256; + + if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE + && sprite1->oam.size == ST_OAM_SIZE_3) + { + u32 shape = sprite1->oam.shape; + if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) + { + if (sprite1Y > 128) + sprite1Y = sprite1Y - 256; + } + } + + if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE + && sprite2->oam.size == ST_OAM_SIZE_3) + { + u32 shape = sprite2->oam.shape; + if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) + { + if (sprite2Y > 128) + sprite2Y = sprite2Y - 256; + } + } + + while (j > 0 + && ((sprite1Priority > sprite2Priority) + || (sprite1Priority == sprite2Priority && sprite1Y < sprite2Y))) + { + u8 temp = sSpriteOrder[j]; + sSpriteOrder[j] = sSpriteOrder[j - 1]; + sSpriteOrder[j - 1] = temp; + + // UB: If j equals 1, then j-- makes j equal 0. + // Then, sSpriteOrder[-1] gets accessed below. + // Although this doesn't result in a bug in the ROM, + // the behavior is undefined. + j--; +#ifdef UBFIX + if (j == 0) + break; +#endif + + sprite1 = &gSprites[sSpriteOrder[j - 1]]; + sprite2 = &gSprites[sSpriteOrder[j]]; + sprite1Priority = sSpritePriorities[sSpriteOrder[j - 1]]; + sprite2Priority = sSpritePriorities[sSpriteOrder[j]]; + sprite1Y = sprite1->oam.y; + sprite2Y = sprite2->oam.y; + + if (sprite1Y >= DISPLAY_HEIGHT) + sprite1Y = sprite1Y - 256; + + if (sprite2Y >= DISPLAY_HEIGHT) + sprite2Y = sprite2Y - 256; + + if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE + && sprite1->oam.size == ST_OAM_SIZE_3) + { + u32 shape = sprite1->oam.shape; + if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) + { + if (sprite1Y > 128) + sprite1Y = sprite1Y - 256; + } + } + + if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE + && sprite2->oam.size == ST_OAM_SIZE_3) + { + u32 shape = sprite2->oam.shape; + if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE) + { + if (sprite2Y > 128) + sprite2Y = sprite2Y - 256; + } + } + } + } +} + +static void CopyMatricesToOamBuffer(void) +{ + u8 i; + for (i = 0; i < OAM_MATRIX_COUNT; i++) + { + u32 base = 4 * i; + gMain.oamBuffer[base + 0].affineParam = gOamMatrices[i].a; + gMain.oamBuffer[base + 1].affineParam = gOamMatrices[i].b; + gMain.oamBuffer[base + 2].affineParam = gOamMatrices[i].c; + gMain.oamBuffer[base + 3].affineParam = gOamMatrices[i].d; + } +} + +static void AddSpritesToOamBuffer(void) +{ + u8 i = 0; + u8 oamIndex = 0; + + while (i < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[sSpriteOrder[i]]; + if (sprite->inUse && !sprite->invisible && AddSpriteToOamBuffer(sprite, &oamIndex)) + return; + i++; + } + + while (oamIndex < gOamLimit) + { + gMain.oamBuffer[oamIndex] = gDummyOamData; + oamIndex++; + } +} + +static void Old_BuildOamBuffer(void) +{ + u8 temp; + UpdateOamCoords(); + BuildSpritePriorities(); + SortSprites(); + temp = gMain.oamLoadDisabled; + gMain.oamLoadDisabled = TRUE; + AddSpritesToOamBuffer(); + CopyMatricesToOamBuffer(); + gMain.oamLoadDisabled = temp; + //sShouldProcessSpriteCopyRequests = TRUE; +} From 16c0be7ed26528b6bc485a0085c7bb97add15a1b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Mon, 31 Jul 2023 20:00:34 -0400 Subject: [PATCH 105/256] Fix some frontier gfx, adjacent cleanup --- graphics/battle_frontier/factory_menu1.png | Bin 309 -> 0 bytes graphics/battle_frontier/factory_menu2.png | Bin 234 -> 0 bytes .../menu.bin} | Bin .../battle_frontier/factory_screen/menu.png | Bin 0 -> 3876 bytes graphics/battle_frontier/tourney.pal | 259 --------- graphics/battle_frontier/tourney_tree.png | Bin 983 -> 7347 bytes include/constants/trainer_hill.h | 2 +- include/graphics.h | 6 +- src/battle_dome.c | 550 +++++++++--------- src/battle_factory.c | 12 +- src/battle_factory_screen.c | 138 +++-- src/battle_pike.c | 6 + src/battle_pyramid.c | 6 +- src/battle_tower.c | 8 +- src/frontier_util.c | 4 +- src/graphics.c | 12 +- src/start_menu.c | 37 +- 17 files changed, 428 insertions(+), 612 deletions(-) delete mode 100644 graphics/battle_frontier/factory_menu1.png delete mode 100644 graphics/battle_frontier/factory_menu2.png rename graphics/battle_frontier/{factory_menu.bin => factory_screen/menu.bin} (100%) create mode 100644 graphics/battle_frontier/factory_screen/menu.png delete mode 100644 graphics/battle_frontier/tourney.pal diff --git a/graphics/battle_frontier/factory_menu1.png b/graphics/battle_frontier/factory_menu1.png deleted file mode 100644 index 52f073ff3081c164655a460c9fdc5b9b13800c8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^JAjyjg&D-UuF(jj3<7*YT!AzY{J+PbscGrx7!(zi z1QEd`*Ia$pyk@VEhuRXL+yPG)#}JK)t&=YDHXHD;Zf@G^sB6fO)MCV#_3b`GC+Cae z9QJUor?o6eZyq~nvMMf7I-*qdbX(H<(*5qG!e_g#hY(&Sq&{-^ot+PB^w7na%?wC}P_u52m) z=JV*)m8+Erd|xX*E60c@oA0RTUwQgO4Zp?l`{$Yqo2J}8x_0Nv;1!#Fm_IL>=hwr} j_i(eRIWt#jj>tdOyzJ@QX4aQ|1o_j`)z4*}Q$iB}f>3vE diff --git a/graphics/battle_frontier/factory_menu2.png b/graphics/battle_frontier/factory_menu2.png deleted file mode 100644 index 0d103927e439ad225fe8028b15a5a095cedfccca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^5kSnr!VDz)O;tYtDT4r?5LX}#2TRthdH3zzy=Tw% z9zELJ+zb@o`|R7AtIwwFJ=?ry@Bjb*fg-;a&+q|KrJgR1ArezdCv4fSnm)b$^qH7L zQ+7<;`snoTj>QgBZf|Oi}@n#9S*29kF-wJ3-9F`v>A|7j%ssf{DnXzM3t X!}{xT85zR*AQyYO`njxgN@xNAEY@4# diff --git a/graphics/battle_frontier/factory_menu.bin b/graphics/battle_frontier/factory_screen/menu.bin similarity index 100% rename from graphics/battle_frontier/factory_menu.bin rename to graphics/battle_frontier/factory_screen/menu.bin diff --git a/graphics/battle_frontier/factory_screen/menu.png b/graphics/battle_frontier/factory_screen/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..5271973b31090763aa5dc7bc467549e706fde5a3 GIT binary patch literal 3876 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 MqNCib_&Vl)06E_S!~g&Q delta 930 zcmV;T16};HIoAh}7!d>m0000n5PbLm001yhOjJda5*9Fj%Q645000AGNkl8nu5XS`+$dFAokfEKTdKJ)uYbHTs9wI>t4n!WxSvc?&GI{q>7|4=nNFN~2&^waH zFWIuFCXEZ|56F~k-jB!QhmI}^Pzl;sGWOj(FBuEJ@9EvMa9@_6Q-JV8=mF9XVF(Zi zkTGCL|IvQn4Tj&1Ghjd*^a^?@E8Ml(heX`y8m>Eh-Y}!>#%65k3_Hf$ z-?sHO%7m=El#+Uo)MR^r6z zc0uJ=^k3TtU1+~j%Mrj#-MR}$LrUw$q^aEPOr;kJL0doU z?Lr57v?~V3l02eT+?X~``vEkWbmkz<-O&C)5$U>L{uHOJl-5x|XXW+-0x0DPLjX6G zmoY#PK#m0@F;FUSVF+MCdzAtNWnQ`%0+=xWNCDP&O&9~3J|8 zkemlI0rzEk9_*b91_5vmNY8_#&jn`kBY^g0T>{|v_U-@z0Wtjsx9Ekt{h1yCN~ z1c0M2n9~7>LjXA*aN7r5j0B(%AY*%ffq+rQZw62?K>cgLeMz~I?SaBk$OA+!sCuMXT)U52O#kh!h9 z4AG{W+3y9P*00000NkvWtM6N<$ Ef>CXTjQ{`u diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h index e0f660b6f0..610cb81c68 100644 --- a/include/constants/trainer_hill.h +++ b/include/constants/trainer_hill.h @@ -55,7 +55,7 @@ #define TRAINER_HILL_OTID 0x10000000 // The full map of each Trainer Hill floor is 16x21. -// The first 5x21 at the top is the entrance/exit area, +// The first 16x5 at the top is the entrance/exit area, // and the remaining 16x16 is the randomized portion of // the room where the trainers are. #define HILL_FLOOR_WIDTH 16 diff --git a/include/graphics.h b/include/graphics.h index 04ad64606d..e2d0060f5c 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -5018,9 +5018,9 @@ extern const u32 gPokenavOptions_Gfx[]; extern const u16 gPokenavOptions_Pal[]; // Battle Factory Screen -extern const u16 gFrontierFactorySelectMenu_Gfx[]; -extern const u16 gFrontierFactorySelectMenu_Tilemap[]; -extern const u16 gFrontierFactorySelectMenu_Pal[]; +extern const u16 gFrontierFactoryMenu_Gfx[34 * TILE_SIZE_4BPP / 2]; +extern const u16 gFrontierFactoryMenu_Tilemap[]; +extern const u16 gFrontierFactoryMenu_Pal[]; // Object event pals extern const u16 gObjectEventPal_Brendan[]; diff --git a/src/battle_dome.c b/src/battle_dome.c index 32a43c3d94..ffb7fa5bb3 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -40,6 +40,8 @@ #include "constants/battle_frontier.h" #include "constants/rgb.h" +#define TAG_BUTTONS 0 + // Enough space to hold 2 match info cards worth of trainers and their parties #define NUM_INFOCARD_SPRITES ((FRONTIER_PARTY_SIZE + 1) * 4) #define NUM_INFOCARD_TRAINERS 2 @@ -56,7 +58,7 @@ struct TourneyTreeLineSection { u8 x; u8 y; - u16 src; + u16 tile; }; #define DOME_TRAINERS gSaveBlock2Ptr->frontier.domeTrainers @@ -904,14 +906,14 @@ static const struct ScanlineEffectParams sTourneyTreeScanlineEffectParams = static const struct CompressedSpriteSheet sTourneyTreeButtonsSpriteSheet[] = { - {gDomeTourneyTreeButtons_Gfx, 0x0600, 0x0000}, + {.data = gDomeTourneyTreeButtons_Gfx, .size = 0x0600, .tag = TAG_BUTTONS}, {}, }; // Unused static const struct CompressedSpritePalette sTourneyTreeButtonsSpritePal[] = { - {gDomeTourneyTreeButtons_Pal, 0x0000}, + {.data = gDomeTourneyTreeButtons_Pal, .tag = TAG_BUTTONS}, {}, }; @@ -1004,7 +1006,7 @@ static const union AnimCmd * const sSpriteAnimTable_TourneyTreePokeball[] = // Sprite template for the pokeballs on the tourney tree that act as buttons to view a trainer/match info card static const struct SpriteTemplate sTourneyTreePokeballSpriteTemplate = { - .tileTag = 0x0000, + .tileTag = TAG_BUTTONS, .paletteTag = TAG_NONE, .oam = &sOamData_TourneyTreePokeball, .anims = sSpriteAnimTable_TourneyTreePokeball, @@ -1033,7 +1035,7 @@ static const union AnimCmd * const sSpriteAnimTable_TourneyTreeCancelButton[] = static const struct SpriteTemplate sCancelButtonSpriteTemplate = { - .tileTag = 0x0000, + .tileTag = TAG_BUTTONS, .paletteTag = TAG_NONE, .oam = &sOamData_TourneyTreeCloseButton, .anims = sSpriteAnimTable_TourneyTreeCancelButton, @@ -1062,7 +1064,7 @@ static const union AnimCmd * const sSpriteAnimTable_TourneyTreeExitButton[] = static const struct SpriteTemplate sExitButtonSpriteTemplate = { - .tileTag = 0x0000, + .tileTag = TAG_BUTTONS, .paletteTag = TAG_NONE, .oam = &sOamData_TourneyTreeCloseButton, .anims = sSpriteAnimTable_TourneyTreeExitButton, @@ -1109,7 +1111,7 @@ static const union AnimCmd * const sSpriteAnimTable_HorizontalScrollArrow[] = static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate = { - .tileTag = 0x0000, + .tileTag = TAG_BUTTONS, .paletteTag = TAG_NONE, .oam = &sOamData_HorizontalScrollArrow, .anims = sSpriteAnimTable_HorizontalScrollArrow, @@ -1120,7 +1122,7 @@ static const struct SpriteTemplate sHorizontalScrollArrowSpriteTemplate = static const struct SpriteTemplate sVerticalScrollArrowSpriteTemplate = { - .tileTag = 0x0000, + .tileTag = TAG_BUTTONS, .paletteTag = TAG_NONE, .oam = &sOamData_VerticalScrollArrow, .anims = sSpriteAnimTable_VerticalScrollArrow, @@ -1482,589 +1484,617 @@ static const u8 sTourneyTreePokeballCoords[DOME_TOURNAMENT_TRAINERS_COUNT + DOME {120, 89}, // Final match }; +// Tile values from tourney_tree.png for the highlighted lines of the tourney tree. +// These tiles will be used to replace the existing, unhighlighted line tiles on the tourney tree tilemap. +#define LINE_PAL (6 << 12) +#define LINE_H (LINE_PAL | 0x21) // Horizontal +#define LINE_CORNER_R (LINE_PAL | 0x23) // Horizontal into a right-side vertical +#define LINE_CORNER_L (LINE_PAL | 0x25) // Horizontal into a left-side vertical +#define LINE_V_R (LINE_PAL | 0x27) // Right-side vertical +#define LINE_V_L (LINE_PAL | 0x29) // Left-side vertical +#define LINE_H_BOTTOM (LINE_PAL | 0x2B) // Horizontal on the bottom of the tree +#define LINE_H_LOGO1 (LINE_PAL | 0x2C) // Horizontal, logo behind +#define LINE_H_LOGO2 (LINE_PAL | 0x2D) // Horizontal, logo behind +#define LINE_H_LOGO3 (LINE_PAL | 0x2E) // Horizontal, logo behind +#define LINE_H_LOGO4 (LINE_PAL | 0x2F) // Horizontal, logo behind +#define LINE_V_R_LOGO1 (LINE_PAL | 0x30) // Right-side vertical, logo behind +#define LINE_V_R_LOGO2 (LINE_PAL | 0x31) // Right-side vertical, logo behind +#define LINE_V_R_LOGO3 (LINE_PAL | 0x32) // Right-side vertical, logo behind +#define LINE_V_R_LOGO4 (LINE_PAL | 0x33) // Right-side vertical, logo behind +#define LINE_V_L_LOGO1 (LINE_PAL | 0x35) // Left-side vertical, logo behind +#define LINE_V_L_LOGO2 (LINE_PAL | 0x36) // Left-side vertical, logo behind +#define LINE_V_L_LOGO3 (LINE_PAL | 0x37) // Left-side vertical, logo behind +#define LINE_V_L_LOGO4 (LINE_PAL | 0x38) // Left-side vertical, logo behind +#define LINE_V_R_HALF_LOGO (LINE_PAL | 0x3B) // Right-side vertical, half lit from the top, logo behind +#define LINE_V_L_HALF_LOGO (LINE_PAL | 0x3C) // Left-side vertical, half lit from the top, logo behind +#define LINE_CORNER_R_HALF (LINE_PAL | 0x43) // Lit horizontal, unlit right-side vertical +#define LINE_CORNER_L_HALF (LINE_PAL | 0x45) // Lit horizontal, unlit left-side vertical +#define LINE_V_R_HALF (LINE_PAL | 0x47) // Right-side vertical, half lit from the top +#define LINE_V_L_HALF (LINE_PAL | 0x49) // Left-side vertical, half lit from the top + // Each of these line sections define the position of the advancement line on the tourney tree for the victor of that round // The trainers here are numbered by tourney ID (rank/seed) and ordered according to where they start on the tourney tree -#define LINESECTION_ROUND1_TRAINER1(lastSrc) \ - {.src = 0x6021, .y = 0x04, .x = 0x09}, \ - {.src = 0x6023, .y = 0x04, .x = 0x0a}, \ - {.src = 0x6047, .y = 0x05, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x05, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER1(lastTile) \ + {.tile = LINE_H, .y = 4, .x = 9}, \ + {.tile = LINE_CORNER_R, .y = 4, .x = 10}, \ + {.tile = LINE_V_R_HALF, .y = 5, .x = 10}, \ + {.tile = lastTile, .y = 5, .x = 11}, -#define LINESECTION_ROUND1_TRAINER9(lastSrc) \ - {.src = 0x6021, .y = 0x06, .x = 0x09}, \ - {.src = 0x6021, .y = 0x06, .x = 0x0a}, \ - {.src = 0x6027, .y = 0x05, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x05, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER9(lastTile) \ + {.tile = LINE_H, .y = 6, .x = 9}, \ + {.tile = LINE_H, .y = 6, .x = 10}, \ + {.tile = LINE_V_R, .y = 5, .x = 10}, \ + {.tile = lastTile, .y = 5, .x = 11}, -#define LINESECTION_ROUND1_TRAINER13(lastSrc) \ - {.src = 0x6021, .y = 0x08, .x = 0x09}, \ - {.src = 0x6023, .y = 0x08, .x = 0x0a}, \ - {.src = 0x6047, .y = 0x09, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x09, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER13(lastTile) \ + {.tile = LINE_H, .y = 8, .x = 9}, \ + {.tile = LINE_CORNER_R, .y = 8, .x = 10}, \ + {.tile = LINE_V_R_HALF, .y = 9, .x = 10}, \ + {.tile = lastTile, .y = 9, .x = 11}, -#define LINESECTION_ROUND1_TRAINER5(lastSrc) \ - {.src = 0x6021, .y = 0x0a, .x = 0x09}, \ - {.src = 0x6021, .y = 0x0a, .x = 0x0a}, \ - {.src = 0x6027, .y = 0x09, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x09, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER5(lastTile) \ + {.tile = LINE_H, .y = 10, .x = 9}, \ + {.tile = LINE_H, .y = 10, .x = 10}, \ + {.tile = LINE_V_R, .y = 9, .x = 10}, \ + {.tile = lastTile, .y = 9, .x = 11}, -#define LINESECTION_ROUND1_TRAINER8(lastSrc) \ - {.src = 0x6021, .y = 0x0c, .x = 0x09}, \ - {.src = 0x6023, .y = 0x0c, .x = 0x0a}, \ - {.src = 0x6047, .y = 0x0d, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x0d, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER8(lastTile) \ + {.tile = LINE_H, .y = 12, .x = 9}, \ + {.tile = LINE_CORNER_R, .y = 12, .x = 10}, \ + {.tile = LINE_V_R_HALF, .y = 13, .x = 10}, \ + {.tile = lastTile, .y = 13, .x = 11}, -#define LINESECTION_ROUND1_TRAINER16(lastSrc) \ - {.src = 0x6021, .y = 0x0e, .x = 0x09}, \ - {.src = 0x6021, .y = 0x0e, .x = 0x0a}, \ - {.src = 0x6027, .y = 0x0d, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x0d, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER16(lastTile) \ + {.tile = LINE_H, .y = 14, .x = 9}, \ + {.tile = LINE_H, .y = 14, .x = 10}, \ + {.tile = LINE_V_R, .y = 13, .x = 10}, \ + {.tile = lastTile, .y = 13, .x = 11}, -#define LINESECTION_ROUND1_TRAINER12(lastSrc) \ - {.src = 0x6021, .y = 0x10, .x = 0x09}, \ - {.src = 0x6023, .y = 0x10, .x = 0x0a}, \ - {.src = 0x6047, .y = 0x11, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x11, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER12(lastTile) \ + {.tile = LINE_H, .y = 16, .x = 9}, \ + {.tile = LINE_CORNER_R, .y = 16, .x = 10}, \ + {.tile = LINE_V_R_HALF, .y = 17, .x = 10}, \ + {.tile = lastTile, .y = 17, .x = 11}, -#define LINESECTION_ROUND1_TRAINER4(lastSrc) \ - {.src = 0x602b, .y = 0x12, .x = 0x09}, \ - {.src = 0x602b, .y = 0x12, .x = 0x0a}, \ - {.src = 0x6027, .y = 0x11, .x = 0x0a}, \ - {.src = lastSrc, .y = 0x11, .x = 0x0b}, +#define LINESECTION_ROUND1_TRAINER4(lastTile) \ + {.tile = LINE_H_BOTTOM, .y = 18, .x = 9}, \ + {.tile = LINE_H_BOTTOM, .y = 18, .x = 10}, \ + {.tile = LINE_V_R, .y = 17, .x = 10}, \ + {.tile = lastTile, .y = 17, .x = 11}, -#define LINESECTION_ROUND1_TRAINER3(lastSrc) \ - {.src = 0x6021, .y = 0x04, .x = 0x14}, \ - {.src = 0x6025, .y = 0x04, .x = 0x13}, \ - {.src = 0x6049, .y = 0x05, .x = 0x13}, \ - {.src = lastSrc, .y = 0x05, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER3(lastTile) \ + {.tile = LINE_H, .y = 4, .x = 20}, \ + {.tile = LINE_CORNER_L, .y = 4, .x = 19}, \ + {.tile = LINE_V_L_HALF, .y = 5, .x = 19}, \ + {.tile = lastTile, .y = 5, .x = 18}, -#define LINESECTION_ROUND1_TRAINER11(lastSrc) \ - {.src = 0x6021, .y = 0x06, .x = 0x14}, \ - {.src = 0x6021, .y = 0x06, .x = 0x13}, \ - {.src = 0x6029, .y = 0x05, .x = 0x13}, \ - {.src = lastSrc, .y = 0x05, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER11(lastTile) \ + {.tile = LINE_H, .y = 6, .x = 20}, \ + {.tile = LINE_H, .y = 6, .x = 19}, \ + {.tile = LINE_V_L, .y = 5, .x = 19}, \ + {.tile = lastTile, .y = 5, .x = 18}, -#define LINESECTION_ROUND1_TRAINER15(lastSrc) \ - {.src = 0x6021, .y = 0x08, .x = 0x14}, \ - {.src = 0x6025, .y = 0x08, .x = 0x13}, \ - {.src = 0x6049, .y = 0x09, .x = 0x13}, \ - {.src = lastSrc, .y = 0x09, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER15(lastTile) \ + {.tile = LINE_H, .y = 8, .x = 20}, \ + {.tile = LINE_CORNER_L, .y = 8, .x = 19}, \ + {.tile = LINE_V_L_HALF, .y = 9, .x = 19}, \ + {.tile = lastTile, .y = 9, .x = 18}, -#define LINESECTION_ROUND1_TRAINER7(lastSrc) \ - {.src = 0x6021, .y = 0x0a, .x = 0x14}, \ - {.src = 0x6021, .y = 0x0a, .x = 0x13}, \ - {.src = 0x6029, .y = 0x09, .x = 0x13}, \ - {.src = lastSrc, .y = 0x09, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER7(lastTile) \ + {.tile = LINE_H, .y = 10, .x = 20}, \ + {.tile = LINE_H, .y = 10, .x = 19}, \ + {.tile = LINE_V_L, .y = 9, .x = 19}, \ + {.tile = lastTile, .y = 9, .x = 18}, -#define LINESECTION_ROUND1_TRAINER6(lastSrc) \ - {.src = 0x6021, .y = 0x0c, .x = 0x14}, \ - {.src = 0x6025, .y = 0x0c, .x = 0x13}, \ - {.src = 0x6049, .y = 0x0d, .x = 0x13}, \ - {.src = lastSrc, .y = 0x0d, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER6(lastTile) \ + {.tile = LINE_H, .y = 12, .x = 20}, \ + {.tile = LINE_CORNER_L, .y = 12, .x = 19}, \ + {.tile = LINE_V_L_HALF, .y = 13, .x = 19}, \ + {.tile = lastTile, .y = 13, .x = 18}, -#define LINESECTION_ROUND1_TRAINER14(lastSrc) \ - {.src = 0x6021, .y = 0x0e, .x = 0x14}, \ - {.src = 0x6021, .y = 0x0e, .x = 0x13}, \ - {.src = 0x6029, .y = 0x0d, .x = 0x13}, \ - {.src = lastSrc, .y = 0x0d, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER14(lastTile) \ + {.tile = LINE_H, .y = 14, .x = 20}, \ + {.tile = LINE_H, .y = 14, .x = 19}, \ + {.tile = LINE_V_L, .y = 13, .x = 19}, \ + {.tile = lastTile, .y = 13, .x = 18}, -#define LINESECTION_ROUND1_TRAINER10(lastSrc) \ - {.src = 0x6021, .y = 0x10, .x = 0x14}, \ - {.src = 0x6025, .y = 0x10, .x = 0x13}, \ - {.src = 0x6049, .y = 0x11, .x = 0x13}, \ - {.src = lastSrc, .y = 0x11, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER10(lastTile) \ + {.tile = LINE_H, .y = 16, .x = 20}, \ + {.tile = LINE_CORNER_L, .y = 16, .x = 19}, \ + {.tile = LINE_V_L_HALF, .y = 17, .x = 19}, \ + {.tile = lastTile, .y = 17, .x = 18}, -#define LINESECTION_ROUND1_TRAINER2(lastSrc) \ - {.src = 0x602b, .y = 0x12, .x = 0x14}, \ - {.src = 0x602b, .y = 0x12, .x = 0x13}, \ - {.src = 0x6029, .y = 0x11, .x = 0x13}, \ - {.src = lastSrc, .y = 0x11, .x = 0x12}, +#define LINESECTION_ROUND1_TRAINER2(lastTile) \ + {.tile = LINE_H_BOTTOM, .y = 18, .x = 20}, \ + {.tile = LINE_H_BOTTOM, .y = 18, .x = 19}, \ + {.tile = LINE_V_L, .y = 17, .x = 19}, \ + {.tile = lastTile, .y = 17, .x = 18}, -#define LINESECTION_ROUND2_MATCH1(lastSrc) \ - {.src = 0x6027, .y = 0x06, .x = 0x0b}, \ - {.src = 0x6047, .y = 0x07, .x = 0x0b}, \ - {.src = lastSrc, .y = 0x07, .x = 0x0c}, +#define LINESECTION_ROUND2_MATCH1(lastTile) \ + {.tile = LINE_V_R, .y = 6, .x = 11}, \ + {.tile = LINE_V_R_HALF, .y = 7, .x = 11}, \ + {.tile = lastTile, .y = 7, .x = 12}, -#define LINESECTION_ROUND2_MATCH2(lastSrc) \ - {.src = 0x6027, .y = 0x08, .x = 0x0b}, \ - {.src = 0x6027, .y = 0x07, .x = 0x0b}, \ - {.src = lastSrc, .y = 0x07, .x = 0x0c}, +#define LINESECTION_ROUND2_MATCH2(lastTile) \ + {.tile = LINE_V_R, .y = 8, .x = 11}, \ + {.tile = LINE_V_R, .y = 7, .x = 11}, \ + {.tile = lastTile, .y = 7, .x = 12}, -#define LINESECTION_ROUND2_MATCH3(lastSrc) \ - {.src = 0x6027, .y = 0x0e, .x = 0x0b}, \ - {.src = 0x6047, .y = 0x0f, .x = 0x0b}, \ - {.src = lastSrc, .y = 0x0f, .x = 0x0c}, +#define LINESECTION_ROUND2_MATCH3(lastTile) \ + {.tile = LINE_V_R, .y = 14, .x = 11}, \ + {.tile = LINE_V_R_HALF, .y = 15, .x = 11}, \ + {.tile = lastTile, .y = 15, .x = 12}, -#define LINESECTION_ROUND2_MATCH4(lastSrc) \ - {.src = 0x6027, .y = 0x10, .x = 0x0b}, \ - {.src = 0x6027, .y = 0x0f, .x = 0x0b}, \ - {.src = lastSrc, .y = 0x0f, .x = 0x0c}, +#define LINESECTION_ROUND2_MATCH4(lastTile) \ + {.tile = LINE_V_R, .y = 16, .x = 11}, \ + {.tile = LINE_V_R, .y = 15, .x = 11}, \ + {.tile = lastTile, .y = 15, .x = 12}, -#define LINESECTION_ROUND2_MATCH5(lastSrc) \ - {.src = 0x6029, .y = 0x06, .x = 0x12}, \ - {.src = 0x6049, .y = 0x07, .x = 0x12}, \ - {.src = lastSrc, .y = 0x07, .x = 0x11}, +#define LINESECTION_ROUND2_MATCH5(lastTile) \ + {.tile = LINE_V_L, .y = 6, .x = 18}, \ + {.tile = LINE_V_L_HALF, .y = 7, .x = 18}, \ + {.tile = lastTile, .y = 7, .x = 17}, -#define LINESECTION_ROUND2_MATCH6(lastSrc) \ - {.src = 0x6029, .y = 0x08, .x = 0x12}, \ - {.src = 0x6029, .y = 0x07, .x = 0x12}, \ - {.src = lastSrc, .y = 0x07, .x = 0x11}, +#define LINESECTION_ROUND2_MATCH6(lastTile) \ + {.tile = LINE_V_L, .y = 8, .x = 18}, \ + {.tile = LINE_V_L, .y = 7, .x = 18}, \ + {.tile = lastTile, .y = 7, .x = 17}, -#define LINESECTION_ROUND2_MATCH7(lastSrc) \ - {.src = 0x6029, .y = 0x0e, .x = 0x12}, \ - {.src = 0x6049, .y = 0x0f, .x = 0x12}, \ - {.src = lastSrc, .y = 0x0f, .x = 0x11}, +#define LINESECTION_ROUND2_MATCH7(lastTile) \ + {.tile = LINE_V_L, .y = 14, .x = 18}, \ + {.tile = LINE_V_L_HALF, .y = 15, .x = 18}, \ + {.tile = lastTile, .y = 15, .x = 17}, -#define LINESECTION_ROUND2_MATCH8(lastSrc) \ - {.src = 0x6029, .y = 0x10, .x = 0x12}, \ - {.src = 0x6029, .y = 0x0f, .x = 0x12}, \ - {.src = lastSrc, .y = 0x0f, .x = 0x11}, +#define LINESECTION_ROUND2_MATCH8(lastTile) \ + {.tile = LINE_V_L, .y = 16, .x = 18}, \ + {.tile = LINE_V_L, .y = 15, .x = 18}, \ + {.tile = lastTile, .y = 15, .x = 17}, -#define LINESECTION_SEMIFINAL_TOP_LEFT \ - {.src = 0x6027, .y = 0x08, .x = 0x0c}, \ - {.src = 0x6027, .y = 0x09, .x = 0x0c}, \ - {.src = 0x6027, .y = 0x0a, .x = 0x0c}, \ - {.src = 0x603b, .y = 0x0b, .x = 0x0c}, +#define LINESECTION_SEMIFINAL_TOP_LEFT \ + {.tile = LINE_V_R, .y = 8, .x = 12}, \ + {.tile = LINE_V_R, .y = 9, .x = 12}, \ + {.tile = LINE_V_R, .y = 10, .x = 12}, \ + {.tile = LINE_V_R_HALF_LOGO, .y = 11, .x = 12}, -#define LINESECTION_SEMIFINAL_BOTTOM_LEFT \ - {.src = 0x6033, .y = 0x0e, .x = 0x0c}, \ - {.src = 0x6032, .y = 0x0d, .x = 0x0c}, \ - {.src = 0x6031, .y = 0x0c, .x = 0x0c}, \ - {.src = 0x6030, .y = 0x0b, .x = 0x0c}, - -#define LINESECTION_SEMIFINAL_TOP_RIGHT \ - {.src = 0x6029, .y = 0x08, .x = 0x11}, \ - {.src = 0x6029, .y = 0x09, .x = 0x11}, \ - {.src = 0x6029, .y = 0x0a, .x = 0x11}, \ - {.src = 0x603c, .y = 0x0b, .x = 0x11}, +#define LINESECTION_SEMIFINAL_BOTTOM_LEFT \ + {.tile = LINE_V_R_LOGO4, .y = 14, .x = 12}, \ + {.tile = LINE_V_R_LOGO3, .y = 13, .x = 12}, \ + {.tile = LINE_V_R_LOGO2, .y = 12, .x = 12}, \ + {.tile = LINE_V_R_LOGO1, .y = 11, .x = 12}, +#define LINESECTION_SEMIFINAL_TOP_RIGHT \ + {.tile = LINE_V_L, .y = 8, .x = 17}, \ + {.tile = LINE_V_L, .y = 9, .x = 17}, \ + {.tile = LINE_V_L, .y = 10, .x = 17}, \ + {.tile = LINE_V_L_HALF_LOGO, .y = 11, .x = 17}, + #define LINESECTION_SEMIFINAL_BOTTOM_RIGHT \ - {.src = 0x6038, .y = 0x0e, .x = 0x11}, \ - {.src = 0x6037, .y = 0x0d, .x = 0x11}, \ - {.src = 0x6036, .y = 0x0c, .x = 0x11}, \ - {.src = 0x6035, .y = 0x0b, .x = 0x11}, + {.tile = LINE_V_L_LOGO4, .y = 14, .x = 17}, \ + {.tile = LINE_V_L_LOGO3, .y = 13, .x = 17}, \ + {.tile = LINE_V_L_LOGO2, .y = 12, .x = 17}, \ + {.tile = LINE_V_L_LOGO1, .y = 11, .x = 17}, + +#define LINESECTION_FINAL_LEFT \ + {.tile = LINE_H_LOGO1, .y = 11, .x = 13}, \ + {.tile = LINE_H_LOGO2, .y = 11, .x = 14}, -#define LINESECTION_FINAL_LEFT \ - {.src = 0x602c, .y = 0x0b, .x = 0x0d}, \ - {.src = 0x602d, .y = 0x0b, .x = 0x0e}, - -#define LINESECTION_FINAL_RIGHT \ - {.src = 0x602f, .y = 0x0b, .x = 0x10}, \ - {.src = 0x602e, .y = 0x0b, .x = 0x0f}, +#define LINESECTION_FINAL_RIGHT \ + {.tile = LINE_H_LOGO4, .y = 11, .x = 16}, \ + {.tile = LINE_H_LOGO3, .y = 11, .x = 15}, static const struct TourneyTreeLineSection sLineSectionTrainer1Round1[] = { - LINESECTION_ROUND1_TRAINER1(0x6043) + LINESECTION_ROUND1_TRAINER1(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer1Round2[] = { - LINESECTION_ROUND1_TRAINER1(0x6023) - LINESECTION_ROUND2_MATCH1(0x6043) + LINESECTION_ROUND1_TRAINER1(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH1(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer1Semifinal[] = { - LINESECTION_ROUND1_TRAINER1(0x6023) - LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_ROUND1_TRAINER1(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH1(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer1Final[] = { - LINESECTION_ROUND1_TRAINER1(0x6023) - LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_ROUND1_TRAINER1(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH1(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer9Round1[] = { - LINESECTION_ROUND1_TRAINER9(0x6043) + LINESECTION_ROUND1_TRAINER9(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer9Round2[] = { - LINESECTION_ROUND1_TRAINER9(0x6023) - LINESECTION_ROUND2_MATCH1(0x6043) + LINESECTION_ROUND1_TRAINER9(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH1(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer9Semifinal[] = { - LINESECTION_ROUND1_TRAINER9(0x6023) - LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_ROUND1_TRAINER9(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH1(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer9Final[] = { - LINESECTION_ROUND1_TRAINER9(0x6023) - LINESECTION_ROUND2_MATCH1(0x6023) + LINESECTION_ROUND1_TRAINER9(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH1(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer13Round1[] = { - LINESECTION_ROUND1_TRAINER13(0x6021) + LINESECTION_ROUND1_TRAINER13(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer13Round2[] = { - LINESECTION_ROUND1_TRAINER13(0x6021) - LINESECTION_ROUND2_MATCH2(0x6043) + LINESECTION_ROUND1_TRAINER13(LINE_H) + LINESECTION_ROUND2_MATCH2(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer13Semifinal[] = { - LINESECTION_ROUND1_TRAINER13(0x6021) - LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_ROUND1_TRAINER13(LINE_H) + LINESECTION_ROUND2_MATCH2(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer13Final[] = { - LINESECTION_ROUND1_TRAINER13(0x6021) - LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_ROUND1_TRAINER13(LINE_H) + LINESECTION_ROUND2_MATCH2(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer5Round1[] = { - LINESECTION_ROUND1_TRAINER5(0x6021) + LINESECTION_ROUND1_TRAINER5(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer5Round2[] = { - LINESECTION_ROUND1_TRAINER5(0x6021) - LINESECTION_ROUND2_MATCH2(0x6043) + LINESECTION_ROUND1_TRAINER5(LINE_H) + LINESECTION_ROUND2_MATCH2(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer5Semifinal[] = { - LINESECTION_ROUND1_TRAINER5(0x6021) - LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_ROUND1_TRAINER5(LINE_H) + LINESECTION_ROUND2_MATCH2(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer5Final[] = { - LINESECTION_ROUND1_TRAINER5(0x6021) - LINESECTION_ROUND2_MATCH2(0x6023) + LINESECTION_ROUND1_TRAINER5(LINE_H) + LINESECTION_ROUND2_MATCH2(LINE_CORNER_R) LINESECTION_SEMIFINAL_TOP_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer8Round1[] = { - LINESECTION_ROUND1_TRAINER8(0x6043) + LINESECTION_ROUND1_TRAINER8(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer8Round2[] = { - LINESECTION_ROUND1_TRAINER8(0x6023) - LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_ROUND1_TRAINER8(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH3(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer8Semifinal[] = { - LINESECTION_ROUND1_TRAINER8(0x6023) - LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_ROUND1_TRAINER8(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH3(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer8Final[] = { - LINESECTION_ROUND1_TRAINER8(0x6023) - LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_ROUND1_TRAINER8(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH3(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer16Round1[] = { - LINESECTION_ROUND1_TRAINER16(0x6043) + LINESECTION_ROUND1_TRAINER16(LINE_CORNER_R_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer16Round2[] = { - LINESECTION_ROUND1_TRAINER16(0x6023) - LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_ROUND1_TRAINER16(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH3(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer16Semifinal[] = { - LINESECTION_ROUND1_TRAINER16(0x6023) - LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_ROUND1_TRAINER16(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH3(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer16Final[] = { - LINESECTION_ROUND1_TRAINER16(0x6023) - LINESECTION_ROUND2_MATCH3(0x6021) + LINESECTION_ROUND1_TRAINER16(LINE_CORNER_R) + LINESECTION_ROUND2_MATCH3(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer12Round1[] = { - LINESECTION_ROUND1_TRAINER12(0x6021) + LINESECTION_ROUND1_TRAINER12(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer12Round2[] = { - LINESECTION_ROUND1_TRAINER12(0x6021) - LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_ROUND1_TRAINER12(LINE_H) + LINESECTION_ROUND2_MATCH4(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer12Semifinal[] = { - LINESECTION_ROUND1_TRAINER12(0x6021) - LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_ROUND1_TRAINER12(LINE_H) + LINESECTION_ROUND2_MATCH4(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer12Final[] = { - LINESECTION_ROUND1_TRAINER12(0x6021) - LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_ROUND1_TRAINER12(LINE_H) + LINESECTION_ROUND2_MATCH4(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer4Round1[] = { - LINESECTION_ROUND1_TRAINER4(0x6021) + LINESECTION_ROUND1_TRAINER4(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer4Round2[] = { - LINESECTION_ROUND1_TRAINER4(0x6021) - LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_ROUND1_TRAINER4(LINE_H) + LINESECTION_ROUND2_MATCH4(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer4Semifinal[] = { - LINESECTION_ROUND1_TRAINER4(0x6021) - LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_ROUND1_TRAINER4(LINE_H) + LINESECTION_ROUND2_MATCH4(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer4Final[] = { - LINESECTION_ROUND1_TRAINER4(0x6021) - LINESECTION_ROUND2_MATCH4(0x6021) + LINESECTION_ROUND1_TRAINER4(LINE_H) + LINESECTION_ROUND2_MATCH4(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_LEFT LINESECTION_FINAL_LEFT }; static const struct TourneyTreeLineSection sLineSectionTrainer3Round1[] = { - LINESECTION_ROUND1_TRAINER3(0x6045) + LINESECTION_ROUND1_TRAINER3(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer3Round2[] = { - LINESECTION_ROUND1_TRAINER3(0x6025) - LINESECTION_ROUND2_MATCH5(0x6045) + LINESECTION_ROUND1_TRAINER3(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH5(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer3Semifinal[] = { - LINESECTION_ROUND1_TRAINER3(0x6025) - LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_ROUND1_TRAINER3(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH5(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer3Final[] = { - LINESECTION_ROUND1_TRAINER3(0x6025) - LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_ROUND1_TRAINER3(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH5(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer11Round1[] = { - LINESECTION_ROUND1_TRAINER11(0x6045) + LINESECTION_ROUND1_TRAINER11(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer11Round2[] = { - LINESECTION_ROUND1_TRAINER11(0x6025) - LINESECTION_ROUND2_MATCH5(0x6045) + LINESECTION_ROUND1_TRAINER11(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH5(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer11Semifinal[] = { - LINESECTION_ROUND1_TRAINER11(0x6025) - LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_ROUND1_TRAINER11(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH5(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer11Final[] = { - LINESECTION_ROUND1_TRAINER11(0x6025) - LINESECTION_ROUND2_MATCH5(0x6025) + LINESECTION_ROUND1_TRAINER11(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH5(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer15Round1[] = { - LINESECTION_ROUND1_TRAINER15(0x6021) + LINESECTION_ROUND1_TRAINER15(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer15Round2[] = { - LINESECTION_ROUND1_TRAINER15(0x6021) - LINESECTION_ROUND2_MATCH6(0x6045) + LINESECTION_ROUND1_TRAINER15(LINE_H) + LINESECTION_ROUND2_MATCH6(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer15Semifinal[] = { - LINESECTION_ROUND1_TRAINER15(0x6021) - LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_ROUND1_TRAINER15(LINE_H) + LINESECTION_ROUND2_MATCH6(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer15Final[] = { - LINESECTION_ROUND1_TRAINER15(0x6021) - LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_ROUND1_TRAINER15(LINE_H) + LINESECTION_ROUND2_MATCH6(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer7Round1[] = { - LINESECTION_ROUND1_TRAINER7(0x6021) + LINESECTION_ROUND1_TRAINER7(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer7Round2[] = { - LINESECTION_ROUND1_TRAINER7(0x6021) - LINESECTION_ROUND2_MATCH6(0x6045) + LINESECTION_ROUND1_TRAINER7(LINE_H) + LINESECTION_ROUND2_MATCH6(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer7Semifinal[] = { - LINESECTION_ROUND1_TRAINER7(0x6021) - LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_ROUND1_TRAINER7(LINE_H) + LINESECTION_ROUND2_MATCH6(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer7Final[] = { - LINESECTION_ROUND1_TRAINER7(0x6021) - LINESECTION_ROUND2_MATCH6(0x6025) + LINESECTION_ROUND1_TRAINER7(LINE_H) + LINESECTION_ROUND2_MATCH6(LINE_CORNER_L) LINESECTION_SEMIFINAL_TOP_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer6Round1[] = { - LINESECTION_ROUND1_TRAINER6(0x6045) + LINESECTION_ROUND1_TRAINER6(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer6Round2[] = { - LINESECTION_ROUND1_TRAINER6(0x6025) - LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_ROUND1_TRAINER6(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH7(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer6Semifinal[] = { - LINESECTION_ROUND1_TRAINER6(0x6025) - LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_ROUND1_TRAINER6(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH7(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer6Final[] = { - LINESECTION_ROUND1_TRAINER6(0x6025) - LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_ROUND1_TRAINER6(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH7(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer14Round1[] = { - LINESECTION_ROUND1_TRAINER14(0x6045) + LINESECTION_ROUND1_TRAINER14(LINE_CORNER_L_HALF) }; static const struct TourneyTreeLineSection sLineSectionTrainer14Round2[] = { - LINESECTION_ROUND1_TRAINER14(0x6025) - LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_ROUND1_TRAINER14(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH7(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer14Semifinal[] = { - LINESECTION_ROUND1_TRAINER14(0x6025) - LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_ROUND1_TRAINER14(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH7(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer14Final[] = { - LINESECTION_ROUND1_TRAINER14(0x6025) - LINESECTION_ROUND2_MATCH7(0x6021) + LINESECTION_ROUND1_TRAINER14(LINE_CORNER_L) + LINESECTION_ROUND2_MATCH7(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer10Round1[] = { - LINESECTION_ROUND1_TRAINER10(0x6021) + LINESECTION_ROUND1_TRAINER10(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer10Round2[] = { - LINESECTION_ROUND1_TRAINER10(0x6021) - LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_ROUND1_TRAINER10(LINE_H) + LINESECTION_ROUND2_MATCH8(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer10Semifinal[] = { - LINESECTION_ROUND1_TRAINER10(0x6021) - LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_ROUND1_TRAINER10(LINE_H) + LINESECTION_ROUND2_MATCH8(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer10Final[] = { - LINESECTION_ROUND1_TRAINER10(0x6021) - LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_ROUND1_TRAINER10(LINE_H) + LINESECTION_ROUND2_MATCH8(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT LINESECTION_FINAL_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer2Round1[] = { - LINESECTION_ROUND1_TRAINER2(0x6021) + LINESECTION_ROUND1_TRAINER2(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer2Round2[] = { - LINESECTION_ROUND1_TRAINER2(0x6021) - LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_ROUND1_TRAINER2(LINE_H) + LINESECTION_ROUND2_MATCH8(LINE_H) }; static const struct TourneyTreeLineSection sLineSectionTrainer2Semifinal[] = { - LINESECTION_ROUND1_TRAINER2(0x6021) - LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_ROUND1_TRAINER2(LINE_H) + LINESECTION_ROUND2_MATCH8(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT }; static const struct TourneyTreeLineSection sLineSectionTrainer2Final[] = { - LINESECTION_ROUND1_TRAINER2(0x6021) - LINESECTION_ROUND2_MATCH8(0x6021) + LINESECTION_ROUND1_TRAINER2(LINE_H) + LINESECTION_ROUND2_MATCH8(LINE_H) LINESECTION_SEMIFINAL_BOTTOM_RIGHT LINESECTION_FINAL_RIGHT }; @@ -5538,7 +5568,7 @@ static void DrawTourneyAdvancementLine(u8 tournamentId, u8 roundId) const struct TourneyTreeLineSection *lineSection = sTourneyTreeLineSections[tournamentId][roundId]; for (i = 0; i < sTourneyTreeLineSectionArrayCounts[tournamentId][roundId]; i++) - CopyToBgTilemapBufferRect_ChangePalette(1, &lineSection[i].src, lineSection[i].x, lineSection[i].y, 1, 1, 17); + CopyToBgTilemapBufferRect_ChangePalette(1, &lineSection[i].tile, lineSection[i].x, lineSection[i].y, 1, 1, 17); CopyBgTilemapBufferToVram(1); } diff --git a/src/battle_factory.c b/src/battle_factory.c index eac9f0403e..4cb1c8676c 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -525,13 +525,13 @@ static void GenerateInitialRentalMons(void) gFacilityTrainers = gBattleFrontierTrainers; for (i = 0; i < PARTY_SIZE; i++) { - species[i] = 0; + species[i] = SPECIES_NONE; monIds[i] = 0; - heldItems[i] = 0; + heldItems[i] = ITEM_NONE; } lvlMode = gSaveBlock2Ptr->frontier.lvlMode; battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7; + challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / FRONTIER_STAGES_PER_CHALLENGE; if (VarGet(VAR_FRONTIER_BATTLE_MODE) == FRONTIER_MODE_DOUBLES) factoryBattleMode = FRONTIER_MODE_DOUBLES; else @@ -582,7 +582,7 @@ static void GenerateInitialRentalMons(void) // Cannot have two same held items. for (j = firstMonId; j < firstMonId + i; j++) { - if (heldItems[j] != 0 && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]) + if (heldItems[j] != ITEM_NONE && heldItems[j] == gBattleFrontierHeldItems[gFacilityTrainerMons[monId].itemTableId]) { if (gFacilityTrainerMons[monId].species == currSpecies) currSpecies = SPECIES_NONE; @@ -761,7 +761,7 @@ void FillFactoryBrainParty(void) u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode; u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7; + u8 challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / FRONTIER_STAGES_PER_CHALLENGE; fixedIV = GetFactoryMonFixedIV(challengeNum + 2, FALSE); monLevel = SetFacilityPtrsGetLevel(); i = 0; @@ -890,7 +890,7 @@ u32 GetAiScriptsInBattleFactory(void) else { int battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE); - int challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / 7; + int challengeNum = gSaveBlock2Ptr->frontier.factoryWinStreaks[battleMode][lvlMode] / FRONTIER_STAGES_PER_CHALLENGE; if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) return AI_SCRIPT_CHECK_BAD_MOVE | AI_SCRIPT_TRY_TO_FAINT | AI_SCRIPT_CHECK_VIABILITY; diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index c5633ce28c..a543e64c93 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -28,6 +28,7 @@ #include "strings.h" #include "graphics.h" #include "constants/battle_frontier.h" +#include "constants/battle_tent.h" #include "constants/songs.h" #include "constants/rgb.h" @@ -43,6 +44,9 @@ #define SELECTABLE_MONS_COUNT 6 +#define PALNUM_FADE_TEXT 14 +#define PALNUM_TEXT 15 + enum { PALTAG_BALL_GRAY = 100, PALTAG_BALL_SELECTED, @@ -350,7 +354,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 2, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x0001, }, [SELECT_WIN_SPECIES] = { @@ -359,7 +363,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 14, + .paletteNum = PALNUM_FADE_TEXT, .baseBlock = 0x0019, }, [SELECT_WIN_INFO] = { @@ -368,7 +372,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 15, .width = 20, .height = 3, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x002f, }, [SELECT_WIN_OPTIONS] = { @@ -377,7 +381,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 6, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x006b, }, [SELECT_WIN_YES_NO] = { @@ -386,7 +390,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 4, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x009b, }, [SELECT_WIN_MON_CATEGORY] = { @@ -395,7 +399,7 @@ static const struct WindowTemplate sSelect_WindowTemplates[] = .tilemapTop = 0, .width = 15, .height = 2, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x00bb, }, DUMMY_WIN_TEMPLATE, @@ -634,7 +638,11 @@ static const struct SpriteSheet sSwap_SpriteSheets[] = {sMenuHighlightRight_Gfx, sizeof(sMenuHighlightRight_Gfx), GFXTAG_MENU_HIGHLIGHT_RIGHT}, {sActionBoxLeft_Gfx, sizeof(sActionBoxLeft_Gfx), GFXTAG_ACTION_BOX_LEFT}, {sActionBoxRight_Gfx, sizeof(sActionBoxRight_Gfx), GFXTAG_ACTION_BOX_RIGHT}, - {sActionHighlightLeft_Gfx, 0x100, GFXTAG_ACTION_HIGHLIGHT_LEFT}, +#ifdef BUGFIX + {sActionHighlightLeft_Gfx, sizeof(sActionHighlightLeft_Gfx), GFXTAG_ACTION_HIGHLIGHT_LEFT}, +#else + {sActionHighlightLeft_Gfx, 8 * TILE_SIZE_4BPP, /* Incorrect size */ GFXTAG_ACTION_HIGHLIGHT_LEFT}, +#endif {sActionHighlightMiddle_Gfx, sizeof(sActionHighlightMiddle_Gfx), GFXTAG_ACTION_HIGHLIGHT_MIDDLE}, {sActionHighlightRight_Gfx, sizeof(sActionHighlightRight_Gfx), GFXTAG_ACTION_HIGHLIGHT_RIGHT}, {sMonPicBgAnim_Gfx, sizeof(sMonPicBgAnim_Gfx), GFXTAG_MON_PIC_BG_ANIM}, @@ -945,7 +953,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 12, .height = 2, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x0001, }, [SWAP_WIN_SPECIES] = { @@ -954,7 +962,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 14, + .paletteNum = PALNUM_FADE_TEXT, .baseBlock = 0x0019, }, [SWAP_WIN_INFO] = { @@ -963,7 +971,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 15, .width = 20, .height = 3, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x002f, }, [SWAP_WIN_OPTIONS] = { @@ -972,7 +980,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 14, .width = 9, .height = 6, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x006b, }, [SWAP_WIN_YES_NO] = { @@ -981,7 +989,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 14, .width = 8, .height = 4, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x00a1, }, [SWAP_WIN_ACTION_FADE] = { @@ -990,7 +998,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 15, .width = 9, .height = 5, - .paletteNum = 14, + .paletteNum = PALNUM_FADE_TEXT, .baseBlock = 0x006b, }, [SWAP_WIN_UNUSED] = { @@ -999,7 +1007,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 4, .height = 2, - .paletteNum = 14, + .paletteNum = PALNUM_FADE_TEXT, .baseBlock = 0x00c1, }, [SWAP_WIN_SPECIES_AT_FADE] = { @@ -1008,7 +1016,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 2, .width = 11, .height = 2, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x00c9, }, [SWAP_WIN_MON_CATEGORY] = { @@ -1017,7 +1025,7 @@ static const struct WindowTemplate sSwap_WindowTemplates[] = .tilemapTop = 0, .width = 15, .height = 2, - .paletteNum = 15, + .paletteNum = PALNUM_TEXT, .baseBlock = 0x00df, }, DUMMY_WIN_TEMPLATE, @@ -1142,8 +1150,12 @@ static void CB2_InitSelectScreen(void) gMain.state++; break; case 1: - sSelectMenuTilesetBuffer = Alloc(0x440); - sSelectMonPicBgTilesetBuffer = AllocZeroed(0x440); + sSelectMenuTilesetBuffer = Alloc(sizeof(gFrontierFactoryMenu_Gfx)); +#ifdef BUGFIX + sSelectMonPicBgTilesetBuffer = AllocZeroed(sizeof(sMonPicBg_Gfx)); +#else + sSelectMonPicBgTilesetBuffer = AllocZeroed(sizeof(gFrontierFactoryMenu_Gfx)); // Incorrect size +#endif sSelectMenuTilemapBuffer = Alloc(BG_SCREEN_SIZE); sSelectMonPicBgTilemapBuffer = AllocZeroed(BG_SCREEN_SIZE); ChangeBgX(0, 0, BG_COORD_SET); @@ -1169,21 +1181,21 @@ static void CB2_InitSelectScreen(void) ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); - CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSelectMenuTilesetBuffer, 0x440); - CpuCopy16(sMonPicBg_Gfx, sSelectMonPicBgTilesetBuffer, 0x60); - LoadBgTiles(1, sSelectMenuTilesetBuffer, 0x440, 0); - LoadBgTiles(3, sSelectMonPicBgTilesetBuffer, 0x60, 0); - CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE); + CpuCopy16(gFrontierFactoryMenu_Gfx, sSelectMenuTilesetBuffer, sizeof(gFrontierFactoryMenu_Gfx)); + CpuCopy16(sMonPicBg_Gfx, sSelectMonPicBgTilesetBuffer, sizeof(sMonPicBg_Gfx)); + LoadBgTiles(1, sSelectMenuTilesetBuffer, sizeof(gFrontierFactoryMenu_Gfx), 0); + LoadBgTiles(3, sSelectMonPicBgTilesetBuffer, sizeof(sMonPicBg_Gfx), 0); + CpuCopy16(gFrontierFactoryMenu_Tilemap, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE); LoadBgTilemap(1, sSelectMenuTilemapBuffer, BG_SCREEN_SIZE, 0); - LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); - LoadPalette(sSelectText_Pal, BG_PLTT_ID(15), PLTT_SIZEOF(4)); - LoadPalette(sSelectText_Pal, BG_PLTT_ID(14), PLTT_SIZEOF(5)); + LoadPalette(gFrontierFactoryMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); + LoadPalette(sSelectText_Pal, BG_PLTT_ID(PALNUM_TEXT), PLTT_SIZEOF(4)); + LoadPalette(sSelectText_Pal, BG_PLTT_ID(PALNUM_FADE_TEXT), PLTT_SIZEOF(5)); #ifdef UBFIX if (sFactorySelectScreen && sFactorySelectScreen->fromSummaryScreen) #else if (sFactorySelectScreen->fromSummaryScreen == TRUE) #endif - gPlttBufferUnfaded[BG_PLTT_ID(14) + 4] = sFactorySelectScreen->speciesNameColorBackup; + gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4] = sFactorySelectScreen->speciesNameColorBackup; LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(2), PLTT_SIZEOF(2)); gMain.state++; break; @@ -1449,7 +1461,7 @@ static void Select_Task_OpenSummaryScreen(u8 taskId) switch (gTasks[taskId].tState) { case STATE_SUMMARY_FADE: - gPlttBufferUnfaded[BG_PLTT_ID(14) + 4] = gPlttBufferFaded[BG_PLTT_ID(14) + 4]; + gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4] = gPlttBufferFaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4]; BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); gTasks[taskId].tState = STATE_SUMMARY_CLEAN; break; @@ -1468,7 +1480,7 @@ static void Select_Task_OpenSummaryScreen(u8 taskId) } break; case STATE_SUMMARY_SHOW: - sFactorySelectScreen->speciesNameColorBackup = gPlttBufferUnfaded[BG_PLTT_ID(14) + 4]; + sFactorySelectScreen->speciesNameColorBackup = gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4]; DestroyTask(taskId); sFactorySelectScreen->fromSummaryScreen = TRUE; currMonId = sFactorySelectScreen->cursorPos; @@ -1641,8 +1653,8 @@ static void Select_Task_HandleMenu(u8 taskId) { if (sFactorySelectScreen->fromSummaryScreen == TRUE) { - gPlttBufferFaded[BG_PLTT_ID(14) + 4] = sFactorySelectScreen->speciesNameColorBackup; - gPlttBufferUnfaded[BG_PLTT_ID(14) + 4] = gPlttBufferUnfaded[BG_PLTT_ID(15) + 4]; + gPlttBufferFaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4] = sFactorySelectScreen->speciesNameColorBackup; + gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4] = gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_TEXT) + 4]; } sFactorySelectScreen->fromSummaryScreen = FALSE; gTasks[taskId].tState = STATE_MENU_HANDLE_INPUT; @@ -1735,9 +1747,9 @@ static void CreateFrontierFactorySelectableMons(u8 firstMonId) gFacilityTrainerMons = gBattleFrontierMons; if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50) - level = 100; + level = FRONTIER_MAX_LEVEL_OPEN; else - level = 50; + level = FRONTIER_MAX_LEVEL_50; rentalRank = GetNumPastRentalsRank(battleMode, lvlMode); otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId); @@ -1769,7 +1781,7 @@ static void CreateSlateportTentSelectableMons(u8 firstMonId) { u8 i, j; u8 ivs = 0; - u8 level = 30; + u8 level = TENT_MIN_LEVEL; u8 friendship = 0; u32 otId = 0; @@ -1993,7 +2005,7 @@ static void Select_PrintMonCategory(void) FillWindowPixelBuffer(SELECT_WIN_MON_CATEGORY, PIXEL_FILL(0)); species = GetMonData(&sFactorySelectScreen->mons[monId].monData, MON_DATA_SPECIES, NULL); CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); - x = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x76); + x = GetStringRightAlignXOffset(FONT_NORMAL, text, 118); AddTextPrinterParameterized(SELECT_WIN_MON_CATEGORY, FONT_NORMAL, text, x, 1, 0, NULL); CopyWindowToVram(SELECT_WIN_MON_CATEGORY, COPYWIN_GFX); } @@ -2290,7 +2302,7 @@ static void Select_Task_FadeSpeciesName(u8 taskId) else sFactorySelectScreen->fadeSpeciesNameCoeff++; } - BlendPalettes(0x4000, sFactorySelectScreen->fadeSpeciesNameCoeff, 0); + BlendPalettes(1 << PALNUM_FADE_TEXT, sFactorySelectScreen->fadeSpeciesNameCoeff, 0); if (sFactorySelectScreen->fadeSpeciesNameCoeff > 5) { sFactorySelectScreen->fadeSpeciesNameFadeOut = FALSE; @@ -2388,7 +2400,7 @@ static void Swap_Task_OpenSummaryScreen(u8 taskId) case STATE_SUMMARY_SHOW: DestroyTask(taskId); sFactorySwapScreen->fromSummaryScreen = TRUE; - sFactorySwapScreen->speciesNameColorBackup = gPlttBufferUnfaded[BG_PLTT_ID(15) + 4]; + sFactorySwapScreen->speciesNameColorBackup = gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_TEXT) + 4]; ShowPokemonSummaryScreen(SUMMARY_MODE_NORMAL, gPlayerParty, sFactorySwapScreen->cursorPos, FRONTIER_PARTY_SIZE - 1, CB2_InitSwapScreen); break; } @@ -2709,7 +2721,7 @@ static void Swap_Task_FadeSpeciesName(u8 taskId) else sFactorySwapScreen->fadeSpeciesNameCoeff++; } - BlendPalettes(0x4000, sFactorySwapScreen->fadeSpeciesNameCoeff, 0); + BlendPalettes(1 << PALNUM_FADE_TEXT, sFactorySwapScreen->fadeSpeciesNameCoeff, 0); if (sFactorySwapScreen->fadeSpeciesNameCoeff > 5) { sFactorySwapScreen->fadeSpeciesNameFadeOut = FALSE; @@ -2748,7 +2760,7 @@ static void Swap_Task_FadeOutSpeciesName(u8 taskId) gTasks[taskId].tState++; break; case 1: - LoadPalette(&gPlttBufferUnfaded[BG_PLTT_ID(15)], BG_PLTT_ID(14), PLTT_SIZEOF(5)); + LoadPalette(&gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_TEXT)], BG_PLTT_ID(PALNUM_FADE_TEXT), PLTT_SIZEOF(5)); gTasks[taskId].tState++; break; case 2: @@ -2761,10 +2773,10 @@ static void Swap_Task_FadeOutSpeciesName(u8 taskId) if (sFactorySwapScreen->fadeSpeciesNameCoeffDelay > 3) { sFactorySwapScreen->fadeSpeciesNameCoeffDelay = 0; - gPlttBufferUnfaded[BG_PLTT_ID(15) + 4] = gPlttBufferFaded[BG_PLTT_ID(14) + 4]; + gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_TEXT) + 4] = gPlttBufferFaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4]; sFactorySwapScreen->fadeSpeciesNameCoeff++; } - BlendPalettes(0x4000, sFactorySwapScreen->fadeSpeciesNameCoeff, 0); + BlendPalettes(1 << PALNUM_FADE_TEXT, sFactorySwapScreen->fadeSpeciesNameCoeff, 0); break; } } @@ -2994,7 +3006,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId) switch (gTasks[taskId].tState) { case 0: - LoadPalette(sSwapText_Pal, BG_PLTT_ID(14), sizeof(sSwapText_Pal)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(PALNUM_FADE_TEXT), sizeof(sSwapText_Pal)); Swap_PrintActionStrings(); PutWindowTilemap(SWAP_WIN_ACTION_FADE); gTasks[taskId].tState++; @@ -3004,7 +3016,7 @@ static void Swap_Task_ScreenInfoTransitionOut(u8 taskId) gTasks[taskId].tState++; break; case 2: - BeginNormalPaletteFade(0x4000, 0, 0, 16, sPokeballGray_Pal[37]); + BeginNormalPaletteFade(1 << PALNUM_FADE_TEXT, 0, 0, 16, sPokeballGray_Pal[37]); gTasks[taskId].tState++; break; case 3: @@ -3125,14 +3137,14 @@ static void Swap_Task_ScreenInfoTransitionIn(u8 taskId) if (gTasks[taskId].tSlideFinishedPkmn == TRUE && gTasks[taskId].tSlideFinishedCancel == TRUE) { - gPlttBufferFaded[BG_PLTT_ID(14) + 2] = sPokeballGray_Pal[37]; + gPlttBufferFaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 2] = sPokeballGray_Pal[37]; Swap_PrintActionStrings(); PutWindowTilemap(SWAP_WIN_ACTION_FADE); gTasks[taskId].tState++; } break; case 3: - BeginNormalPaletteFade(0x4000, 0, 16, 0, sPokeballGray_Pal[37]); + BeginNormalPaletteFade(1 << PALNUM_FADE_TEXT, 0, 16, 0, sPokeballGray_Pal[37]); gTasks[taskId].tState++; break; case 4: @@ -3275,8 +3287,12 @@ static void CB2_InitSwapScreen(void) gMain.state++; break; case 1: - sSwapMenuTilesetBuffer = Alloc(0x440); - sSwapMonPicBgTilesetBuffer = AllocZeroed(0x440); + sSwapMenuTilesetBuffer = Alloc(sizeof(gFrontierFactoryMenu_Gfx)); +#ifdef BUGFIX + sSwapMonPicBgTilesetBuffer = AllocZeroed(sizeof(sMonPicBg_Gfx)); +#else + sSwapMonPicBgTilesetBuffer = AllocZeroed(sizeof(gFrontierFactoryMenu_Gfx)); // Incorrect size +#endif sSwapMenuTilemapBuffer = Alloc(BG_SCREEN_SIZE); sSwapMonPicBgTilemapBuffer = AllocZeroed(BG_SCREEN_SIZE); ChangeBgX(0, 0, BG_COORD_SET); @@ -3303,15 +3319,15 @@ static void CB2_InitSwapScreen(void) ResetTasks(); FreeAllSpritePalettes(); ResetAllPicSprites(); - CpuCopy16(gFrontierFactorySelectMenu_Gfx, sSwapMenuTilesetBuffer, 0x440); - CpuCopy16(sMonPicBg_Gfx, sSwapMonPicBgTilesetBuffer, 0x60); - LoadBgTiles(1, sSwapMenuTilesetBuffer, 0x440, 0); - LoadBgTiles(3, sSwapMonPicBgTilesetBuffer, 0x60, 0); - CpuCopy16(gFrontierFactorySelectMenu_Tilemap, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE); + CpuCopy16(gFrontierFactoryMenu_Gfx, sSwapMenuTilesetBuffer, sizeof(gFrontierFactoryMenu_Gfx)); + CpuCopy16(sMonPicBg_Gfx, sSwapMonPicBgTilesetBuffer, sizeof(sMonPicBg_Gfx)); + LoadBgTiles(1, sSwapMenuTilesetBuffer, sizeof(gFrontierFactoryMenu_Gfx), 0); + LoadBgTiles(3, sSwapMonPicBgTilesetBuffer, sizeof(sMonPicBg_Gfx), 0); + CpuCopy16(gFrontierFactoryMenu_Tilemap, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE); LoadBgTilemap(1, sSwapMenuTilemapBuffer, BG_SCREEN_SIZE, 0); - LoadPalette(gFrontierFactorySelectMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); - LoadPalette(sSwapText_Pal, BG_PLTT_ID(15), sizeof(sSwapText_Pal)); - LoadPalette(sSwapText_Pal, BG_PLTT_ID(14), sizeof(sSwapText_Pal)); + LoadPalette(gFrontierFactoryMenu_Pal, 0, 2 * PLTT_SIZE_4BPP); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(PALNUM_TEXT), sizeof(sSwapText_Pal)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(PALNUM_FADE_TEXT), sizeof(sSwapText_Pal)); LoadPalette(sMonPicBg_Pal, BG_PLTT_ID(2), PLTT_SIZEOF(2)); gMain.state++; break; @@ -3808,7 +3824,7 @@ static void Swap_PrintYesNoOptions(void) static void Swap_PrintActionString(const u8 *str, u32 y, u32 windowId) { - s32 x = GetStringRightAlignXOffset(FONT_SMALL, str, 0x46); + s32 x = GetStringRightAlignXOffset(FONT_SMALL, str, 70); AddTextPrinterParameterized3(windowId, FONT_SMALL, x, y, sSwapMenuOptionsTextColors, 0, str); } @@ -3864,10 +3880,10 @@ static void Swap_PrintMonSpeciesAtFade(void) CpuCopy16(sSwapText_Pal, pal, 8); if (!sFactorySwapScreen->fromSummaryScreen) - pal[4] = gPlttBufferFaded[BG_PLTT_ID(14) + 4]; + pal[4] = gPlttBufferFaded[BG_PLTT_ID(PALNUM_FADE_TEXT) + 4]; else pal[4] = sFactorySwapScreen->speciesNameColorBackup; - LoadPalette(pal, BG_PLTT_ID(15), sizeof(sSwapText_Pal)); + LoadPalette(pal, BG_PLTT_ID(PALNUM_TEXT), sizeof(sSwapText_Pal)); PutWindowTilemap(SWAP_WIN_SPECIES_AT_FADE); FillWindowPixelBuffer(SWAP_WIN_SPECIES_AT_FADE, PIXEL_FILL(0)); @@ -3895,8 +3911,8 @@ static void Swap_PrintMonSpeciesForTransition(void) u16 species; u8 x; - LoadPalette(sSwapText_Pal, BG_PLTT_ID(14), sizeof(sSwapText_Pal)); - CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(15)], &gPlttBufferFaded[BG_PLTT_ID(14)], PLTT_SIZEOF(5)); + LoadPalette(sSwapText_Pal, BG_PLTT_ID(PALNUM_FADE_TEXT), sizeof(sSwapText_Pal)); + CpuCopy16(&gPlttBufferUnfaded[BG_PLTT_ID(PALNUM_TEXT)], &gPlttBufferFaded[BG_PLTT_ID(PALNUM_FADE_TEXT)], PLTT_SIZEOF(5)); if (sFactorySwapScreen->cursorPos >= FRONTIER_PARTY_SIZE) { @@ -3936,7 +3952,7 @@ static void Swap_PrintMonCategory(void) else species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, NULL); CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text); - x = GetStringRightAlignXOffset(FONT_NORMAL, text, 0x76); + x = GetStringRightAlignXOffset(FONT_NORMAL, text, 118); AddTextPrinterParameterized(SWAP_WIN_MON_CATEGORY, FONT_NORMAL, text, x, 1, 0, NULL); CopyWindowToVram(SWAP_WIN_MON_CATEGORY, COPYWIN_GFX); } diff --git a/src/battle_pike.c b/src/battle_pike.c index 462ae4f383..d45a358d17 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -1267,6 +1267,10 @@ static void TryHealMons(u8 healCount) for (i = 0; i < FRONTIER_PARTY_SIZE; i++) indices[i] = i; + + // Only 'healCount' number of pokemon will be healed. + // The order in which they're (attempted to be) healed is random, + // and determined by performing 10 random swaps to this index array. for (k = 0; k < 10; k++) { u8 temp; @@ -1423,6 +1427,7 @@ static void PrepareTwoTrainers(void) gFacilityTrainers = gBattleFrontierTrainers; do { + // Pick the 1st trainer, making sure it's not one that's been encountered yet in this challenge. trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 1); for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum - 1; i++) { @@ -1438,6 +1443,7 @@ static void PrepareTwoTrainers(void) do { + // Pick the 2nd trainer, making sure it's not one that's been encountered yet in this challenge. trainerId = GetRandomScaledFrontierTrainerId(challengeNum, 1); for (i = 0; i < gSaveBlock2Ptr->frontier.curChallengeBattleNum; i++) { diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 07d7772f42..a692a4db88 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -38,6 +38,8 @@ #include "constants/moves.h" #include "constants/trainers.h" +#define NUM_LAYOUT_OFFSETS 8 // Assumed to be a power of 2 + extern const struct MapLayout *const gMapLayouts[]; struct PyramidWildMon @@ -55,7 +57,7 @@ struct PyramidFloorTemplate u8 itemPositions; u8 trainerPositions; u8 runMultiplier; - u8 layoutOffsets[8]; + u8 layoutOffsets[NUM_LAYOUT_OFFSETS]; }; struct PyramidTrainerEncounterMusic @@ -1902,7 +1904,7 @@ static void GetPyramidFloorLayoutOffsets(u8 *layoutOffsets) for (i = 0; i < NUM_PYRAMID_FLOOR_SQUARES; i++) { - layoutOffsets[i] = sPyramidFloorTemplates[id].layoutOffsets[rand & 0x7]; + layoutOffsets[i] = sPyramidFloorTemplates[id].layoutOffsets[rand & (NUM_LAYOUT_OFFSETS - 1)]; rand >>= 3; if (i == 7) { diff --git a/src/battle_tower.c b/src/battle_tower.c index 8838b5f2d2..4e99ec9add 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -3175,7 +3175,7 @@ void CalcApprenticeChecksum(struct Apprentice *apprentice) s32 i; apprentice->checksum = 0; - for (i = 0; i < (sizeof(struct Apprentice) - 4) / 4; i++) + for (i = 0; i < offsetof(struct Apprentice, checksum) / sizeof(u32); i++) apprentice->checksum += ((u32 *)apprentice)[i]; } @@ -3183,7 +3183,7 @@ static void ClearApprentice(struct Apprentice *apprentice) { s32 i; - for (i = 0; i < (sizeof(struct Apprentice)) / 4; i++) + for (i = 0; i < sizeof(struct Apprentice) / sizeof(u32); i++) ((u32 *)apprentice)[i] = 0; ResetApprenticeStruct(apprentice); } @@ -3196,7 +3196,7 @@ static void ValidateApprenticesChecksums(void) { u32 *data = (u32 *) &gSaveBlock2Ptr->apprentices[i]; u32 checksum = 0; - for (j = 0; j < (sizeof(struct Apprentice) - 4) / 4; j++) + for (j = 0; j < offsetof(struct Apprentice, checksum) / sizeof(u32); j++) checksum += data[j]; if (gSaveBlock2Ptr->apprentices[i].checksum != checksum) ClearApprentice(&gSaveBlock2Ptr->apprentices[i]); @@ -3506,7 +3506,7 @@ bool32 ValidateBattleTowerRecord(u8 recordId) // unused u32 *record = (u32 *)(&gSaveBlock2Ptr->frontier.towerRecords[recordId]); u32 checksum = 0; u32 hasData = 0; - for (i = 0; i < (sizeof(struct EmeraldBattleTowerRecord) - 4) / 4; i++) // - 4, because of the last fjeld bejng the checksum jtself. + for (i = 0; i < offsetof(struct EmeraldBattleTowerRecord, checksum) / sizeof(u32); i++) { checksum += record[i]; hasData |= record[i]; diff --git a/src/frontier_util.c b/src/frontier_util.c index 8cd385e653..528d83a659 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -698,8 +698,8 @@ static const u8 *const sRecordsWindowChallengeTexts[][2] = static const u8 *const sLevelModeText[] = { - gText_RecordsLv50, - gText_RecordsOpenLevel, + [FRONTIER_LVL_50] = gText_RecordsLv50, + [FRONTIER_LVL_OPEN] = gText_RecordsOpenLevel, }; static const u8 *const sHallFacilityToRecordsText[] = diff --git a/src/graphics.c b/src/graphics.c index 3cfd47ea76..220f5d44d9 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -955,7 +955,7 @@ const u32 gDomeTourneyInfoCard_Gfx[] = INCBIN_U32("graphics/battle_frontier/tour const u32 gDomeTourneyInfoCard_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_tilemap.bin.lz"); const u32 gDomeTourneyInfoCardBg_Tilemap[] = INCBIN_U32("graphics/battle_frontier/tourney_info_card_bg.bin.lz"); const u32 gDomeTourneyTreeButtons_Gfx[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.4bpp.lz"); // exit/cancel and pokeball buttons -const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney.gbapal.lz"); +const u32 gDomeTourneyTree_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_tree.gbapal.lz"); const u32 gDomeTourneyTreeButtons_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_buttons.gbapal.lz"); const u32 gDomeTourneyMatchCardBg_Pal[] = INCBIN_U32("graphics/battle_frontier/tourney_match_card_bg.gbapal.lz"); @@ -1216,13 +1216,9 @@ const u32 gRouletteMultiplier_Gfx[] = INCBIN_U32("graphics/roulette/multiplier.4 #include "data/graphics/mail.h" -const u16 gFrontierFactorySelectMenu_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_menu1.gbapal"); -const u16 gFrontierFactorySelectMenu_Pal2[] = INCBIN_U16("graphics/battle_frontier/factory_menu2.gbapal"); - -const u16 gFrontierFactorySelectMenu_Gfx[] = INCBIN_U16("graphics/battle_frontier/factory_menu1.4bpp"); -const u16 gFrontierFactorySelectMenu_Gfx2[] = INCBIN_U16("graphics/battle_frontier/factory_menu2.4bpp"); - -const u16 gFrontierFactorySelectMenu_Tilemap[] = INCBIN_U16("graphics/battle_frontier/factory_menu.bin"); +const u16 gFrontierFactoryMenu_Pal[] = INCBIN_U16("graphics/battle_frontier/factory_screen/menu.gbapal"); +const u16 gFrontierFactoryMenu_Gfx[] = INCBIN_U16("graphics/battle_frontier/factory_screen/menu.4bpp"); +const u16 gFrontierFactoryMenu_Tilemap[] = INCBIN_U16("graphics/battle_frontier/factory_screen/menu.bin"); const u32 gFrontierPassMedals_Gfx[] = INCBIN_U32("graphics/frontier_pass/medals.4bpp.lz"); diff --git a/src/start_menu.c b/src/start_menu.c index f19af9c09d..e39a5438ee 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -137,7 +137,15 @@ static void Task_SaveAfterLinkBattle(u8 taskId); static void Task_WaitForBattleTowerLinkSave(u8 taskId); static bool8 FieldCB_ReturnToFieldStartMenu(void); -static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8}; +static const struct WindowTemplate sWindowTemplate_SafariBalls = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 9, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x8 +}; static const u8 *const sPyramidFloorNames[FRONTIER_STAGES_PER_CHALLENGE + 1] = { @@ -151,8 +159,25 @@ static const u8 *const sPyramidFloorNames[FRONTIER_STAGES_PER_CHALLENGE + 1] = gText_Peak }; -static const struct WindowTemplate sPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8}; -static const struct WindowTemplate sPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8}; +static const struct WindowTemplate sWindowTemplate_PyramidFloor = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x8 +}; + +static const struct WindowTemplate sWindowTemplate_PyramidPeak = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 12, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x8 +}; static const struct MenuAction sStartMenuItems[] = { @@ -382,7 +407,7 @@ static void BuildMultiPartnerRoomStartMenu(void) static void ShowSafariBallsWindow(void) { - sSafariBallsWindowId = AddWindow(&sSafariBallsWindowTemplate); + sSafariBallsWindowId = AddWindow(&sWindowTemplate_SafariBalls); PutWindowTilemap(sSafariBallsWindowId); DrawStdWindowFrame(sSafariBallsWindowId, FALSE); ConvertIntToDecimalStringN(gStringVar1, gNumSafariBalls, STR_CONV_MODE_RIGHT_ALIGN, 2); @@ -394,9 +419,9 @@ static void ShowSafariBallsWindow(void) static void ShowPyramidFloorWindow(void) { if (gSaveBlock2Ptr->frontier.curChallengeBattleNum == FRONTIER_STAGES_PER_CHALLENGE) - sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_1); + sBattlePyramidFloorWindowId = AddWindow(&sWindowTemplate_PyramidPeak); else - sBattlePyramidFloorWindowId = AddWindow(&sPyramidFloorWindowTemplate_2); + sBattlePyramidFloorWindowId = AddWindow(&sWindowTemplate_PyramidFloor); PutWindowTilemap(sBattlePyramidFloorWindowId); DrawStdWindowFrame(sBattlePyramidFloorWindowId, FALSE); From e7bc42fcafd269c3f46c70568fa0655ac965b1eb Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 3 Aug 2023 21:17:39 +0200 Subject: [PATCH 106/256] use IsValidForBattle --- src/battle_controller_opponent.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 4b8820f9b9..a786dafa69 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1707,8 +1707,7 @@ static void OpponentHandleChoosePokemon(void) for (chosenMonId = (lastId-1); chosenMonId >= firstId; chosenMonId--) { - if (GetMonData(&gEnemyParty[chosenMonId], MON_DATA_HP) != 0 - && GetMonData(&gEnemyParty[chosenMonId], MON_DATA_SPECIES) != SPECIES_NONE + if (IsValidForBattle(&gEnemyParty[chosenMonId]) && chosenMonId != gBattlerPartyIndexes[battler1] && chosenMonId != gBattlerPartyIndexes[battler2] && (!(AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON) From 6d4dadd7b55c61e8dae9df0332a7538bcde426dc Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 3 Aug 2023 15:45:53 -0400 Subject: [PATCH 107/256] Add temp flag aliases --- data/maps/IslandCave/scripts.inc | 10 ++++----- data/maps/Route130/map.json | 2 +- data/maps/Route130/scripts.inc | 3 ++- .../ShoalCave_LowTideEntranceRoom/scripts.inc | 4 ++-- data/scripts/gabby_and_ty.inc | 8 +++---- include/constants/flags.h | 6 +++++ src/braille_puzzles.c | 22 +++++++++++-------- src/tv.c | 7 ++---- 8 files changed, 35 insertions(+), 27 deletions(-) diff --git a/data/maps/IslandCave/scripts.inc b/data/maps/IslandCave/scripts.inc index d15802aaa8..1bfadb9f2e 100644 --- a/data/maps/IslandCave/scripts.inc +++ b/data/maps/IslandCave/scripts.inc @@ -51,10 +51,10 @@ IslandCave_EventScript_OpenRegiEntrance:: IslandCave_EventScript_CaveEntranceMiddle:: lockall - call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps + call_if_set FLAG_TEMP_REGICE_PUZZLE_FAILED, IslandCave_EventScript_ClearSteps goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_BigHoleInWall braillemessage IslandCave_Braille_RunLapAroundWall - setflag FLAG_TEMP_2 + setflag FLAG_TEMP_REGICE_PUZZLE_STARTED special ShouldDoBrailleRegicePuzzle goto IslandCave_EventScript_CloseBrailleMsg end @@ -66,10 +66,10 @@ IslandCave_EventScript_BigHoleInWall:: IslandCave_EventScript_CaveEntranceSide:: lockall - call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps + call_if_set FLAG_TEMP_REGICE_PUZZLE_FAILED, IslandCave_EventScript_ClearSteps braillemessage IslandCave_Braille_RunLapAroundWall goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_CloseBrailleMsg - setflag FLAG_TEMP_2 + setflag FLAG_TEMP_REGICE_PUZZLE_STARTED special ShouldDoBrailleRegicePuzzle goto IslandCave_EventScript_CloseBrailleMsg end @@ -84,7 +84,7 @@ IslandCave_EventScript_ClearSteps:: setvar VAR_REGICE_STEPS_1, 0 setvar VAR_REGICE_STEPS_2, 0 setvar VAR_REGICE_STEPS_3, 0 - clearflag FLAG_TEMP_3 + clearflag FLAG_TEMP_REGICE_PUZZLE_FAILED return IslandCave_EventScript_Regice:: diff --git a/data/maps/Route130/map.json b/data/maps/Route130/map.json index 7b37a10edd..bb79a2bb4a 100644 --- a/data/maps/Route130/map.json +++ b/data/maps/Route130/map.json @@ -62,7 +62,7 @@ "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "BERRY_TREE_ROUTE_130_LIECHI", "script": "BerryTreeScript", - "flag": "FLAG_TEMP_11" + "flag": "FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE" }, { "graphics_id": "OBJ_EVENT_GFX_SWIMMER_M", diff --git a/data/maps/Route130/scripts.inc b/data/maps/Route130/scripts.inc index 7e0ecc8bd1..b5b9227e84 100644 --- a/data/maps/Route130/scripts.inc +++ b/data/maps/Route130/scripts.inc @@ -6,7 +6,8 @@ Route130_OnTransition: call_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, Route130_EventScript_CheckSetAbnormalWeather specialvar VAR_RESULT, IsMirageIslandPresent goto_if_eq VAR_RESULT, TRUE, Route130_EventScript_SetMirageIslandLayout - setflag FLAG_TEMP_11 +@ Mirage Island isn't currently visible, hide any objects on the island. Only the first flag is actually associated with anything. + setflag FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE setflag FLAG_TEMP_12 setflag FLAG_TEMP_13 setflag FLAG_TEMP_14 diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc index 905a9a77a7..80368b1488 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc +++ b/data/maps/ShoalCave_LowTideEntranceRoom/scripts.inc @@ -33,9 +33,9 @@ ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert:: removeitem ITEM_SHOAL_SALT, 4 removeitem ITEM_SHOAL_SHELL, 4 giveitem ITEM_SHELL_BELL - goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull + goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull @ Never FALSE, we already made sure there will be room in the bag. msgbox ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell, MSGBOX_DEFAULT - setflag FLAG_TEMP_2 + setflag FLAG_TEMP_2 @ Not read. Perhaps meant to stop him from re-explaining the Shell Bell if multiple are received in one sitting. release end diff --git a/data/scripts/gabby_and_ty.inc b/data/scripts/gabby_and_ty.inc index e3dbdfd665..260526c4b6 100644 --- a/data/scripts/gabby_and_ty.inc +++ b/data/scripts/gabby_and_ty.inc @@ -202,7 +202,7 @@ GabbyAndTy_EventScript_FirstInterview:: call_if_eq VAR_FACING, DIR_NORTH, GabbyAndTy_EventScript_FacePlayerNorth call_if_eq VAR_FACING, DIR_SOUTH, GabbyAndTy_EventScript_FacePlayerSouth call_if_eq VAR_FACING, DIR_EAST, GabbyAndTy_EventScript_FacePlayerEast - goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou + goto_if_set FLAG_TEMP_SKIP_GABBY_INTERVIEW, GabbyAndTy_EventScript_KeepingAnEyeOutForYou msgbox GabbyAndTy_Text_WhoAreYouInterview, MSGBOX_YESNO goto GabbyAndTy_EventScript_Interview end @@ -230,7 +230,7 @@ GabbyAndTy_EventScript_RequestInterview:: call_if_eq VAR_FACING, DIR_NORTH, GabbyAndTy_EventScript_FacePlayerNorth call_if_eq VAR_FACING, DIR_SOUTH, GabbyAndTy_EventScript_FacePlayerSouth call_if_eq VAR_FACING, DIR_EAST, GabbyAndTy_EventScript_FacePlayerEast - goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou + goto_if_set FLAG_TEMP_SKIP_GABBY_INTERVIEW, GabbyAndTy_EventScript_KeepingAnEyeOutForYou specialvar VAR_RESULT, GabbyAndTyGetLastQuote goto_if_eq VAR_RESULT, 0, GabbyAndTy_EventScript_DidntInterviewLastTime msgbox GabbyAndTy_Text_QuoteFromLastInterview, MSGBOX_DEFAULT @@ -295,13 +295,13 @@ GabbyAndTy_EventScript_Interview:: goto_if_eq VAR_RESULT, 0, GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut msgbox GabbyAndTy_Text_PerfectWellBeSeeingYou, MSGBOX_DEFAULT special GabbyAndTyAfterInterview - setflag FLAG_TEMP_1 + setflag FLAG_TEMP_SKIP_GABBY_INTERVIEW release end GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut:: msgbox GabbyAndTy_Text_DontGiveUpKeepingEyeOut, MSGBOX_DEFAULT - setflag FLAG_TEMP_1 + setflag FLAG_TEMP_SKIP_GABBY_INTERVIEW release end diff --git a/include/constants/flags.h b/include/constants/flags.h index 59bde846c5..5761fb0eda 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1644,4 +1644,10 @@ // FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused #define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F) +// Temp flag aliases +#define FLAG_TEMP_SKIP_GABBY_INTERVIEW FLAG_TEMP_1 +#define FLAG_TEMP_REGICE_PUZZLE_STARTED FLAG_TEMP_2 +#define FLAG_TEMP_REGICE_PUZZLE_FAILED FLAG_TEMP_3 +#define FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE FLAG_TEMP_11 + #endif // GUARD_CONSTANTS_FLAGS_H diff --git a/src/braille_puzzles.c b/src/braille_puzzles.c index 3487428495..49f73dd6b7 100644 --- a/src/braille_puzzles.c +++ b/src/braille_puzzles.c @@ -278,6 +278,8 @@ bool8 FldEff_UsePuzzleEffect(void) return FALSE; } +// The puzzle to unlock Regice's cave requires the player to interact with the braille message on the back wall, +// step on every space on the perimeter of the cave (and only those spaces) then return to the back wall. bool8 ShouldDoBrailleRegicePuzzle(void) { u8 i; @@ -287,9 +289,11 @@ bool8 ShouldDoBrailleRegicePuzzle(void) { if (FlagGet(FLAG_SYS_BRAILLE_REGICE_COMPLETED)) return FALSE; - if (FlagGet(FLAG_TEMP_2) == FALSE) + // Set when the player interacts with the braille message + if (FlagGet(FLAG_TEMP_REGICE_PUZZLE_STARTED) == FALSE) return FALSE; - if (FlagGet(FLAG_TEMP_3) == TRUE) + // Cleared when the player interacts with the braille message + if (FlagGet(FLAG_TEMP_REGICE_PUZZLE_FAILED) == TRUE) return FALSE; for (i = 0; i < ARRAY_COUNT(sRegicePathCoords); i++) @@ -298,8 +302,7 @@ bool8 ShouldDoBrailleRegicePuzzle(void) u8 yPos = sRegicePathCoords[i][1]; if (gSaveBlock1Ptr->pos.x == xPos && gSaveBlock1Ptr->pos.y == yPos) { - u16 varValue; - + // Player is standing on a correct space, set the corresponding bit if (i < 16) { u16 val = VarGet(VAR_REGICE_STEPS_1); @@ -319,11 +322,11 @@ bool8 ShouldDoBrailleRegicePuzzle(void) VarSet(VAR_REGICE_STEPS_3, val); } - varValue = VarGet(VAR_REGICE_STEPS_1); - if (varValue != 0xFFFF || VarGet(VAR_REGICE_STEPS_2) != 0xFFFF || VarGet(VAR_REGICE_STEPS_3) != 0xF) + // Make sure a full lap has been completed. There are 36 steps in a lap, so 16+16+4 bits to check across the 3 vars. + if (VarGet(VAR_REGICE_STEPS_1) != 0xFFFF || VarGet(VAR_REGICE_STEPS_2) != 0xFFFF || VarGet(VAR_REGICE_STEPS_3) != 0xF) return FALSE; - // This final check is redundant. + // A lap has been completed, the puzzle is complete when the player returns to the braille message. if (gSaveBlock1Ptr->pos.x == 8 && gSaveBlock1Ptr->pos.y == 21) return TRUE; else @@ -331,8 +334,9 @@ bool8 ShouldDoBrailleRegicePuzzle(void) } } - FlagSet(FLAG_TEMP_3); - FlagClear(FLAG_TEMP_2); + // Player stepped on an incorrect space, puzzle failed. + FlagSet(FLAG_TEMP_REGICE_PUZZLE_FAILED); + FlagClear(FLAG_TEMP_REGICE_PUZZLE_STARTED); } return FALSE; diff --git a/src/tv.c b/src/tv.c index 85819a7a1d..696e0519ba 100644 --- a/src/tv.c +++ b/src/tv.c @@ -941,9 +941,8 @@ void GabbyAndTyBeforeInterview(void) gSaveBlock1Ptr->gabbyAndTyData.mon2 = gBattleResults.playerMon2Species; gSaveBlock1Ptr->gabbyAndTyData.lastMove = gBattleResults.lastUsedMovePlayer; if (gSaveBlock1Ptr->gabbyAndTyData.battleNum != 0xFF) - { gSaveBlock1Ptr->gabbyAndTyData.battleNum++; - } + gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn = gBattleResults.playerMonWasDamaged; if (gBattleResults.playerFaintCounter != 0) @@ -975,9 +974,7 @@ void GabbyAndTyBeforeInterview(void) TakeGabbyAndTyOffTheAir(); if (gSaveBlock1Ptr->gabbyAndTyData.lastMove == MOVE_NONE) - { - FlagSet(FLAG_TEMP_1); - } + FlagSet(FLAG_TEMP_SKIP_GABBY_INTERVIEW); } void GabbyAndTyAfterInterview(void) From 4ae6ae4de361f20841450124632b41b15c5b9f46 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Fri, 4 Aug 2023 02:57:06 -0400 Subject: [PATCH 108/256] Reset all battler IDs at battle start (#3111) * reset battler IDs before BattleScript_OverworldTerrain and BattleScript_OverworldWeatherStarts to prevent playanimation from executing on invalid battler ids * replace BS_SCRIPTING with BS_BATTLER_0 in BattleScript_OverworldTerrain and BattleScript_OverworldWeatherStarts --------- Co-authored-by: ghoulslash --- data/battle_scripts_1.s | 4 ++-- src/battle_main.c | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 8a574a70fd..0fd5f87c68 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6793,14 +6793,14 @@ BattleScript_SunlightFaded:: BattleScript_OverworldWeatherStarts:: printfromtable gWeatherStartsStringIds waitmessage B_WAIT_TIME_LONG - playanimation_var BS_ATTACKER, sB_ANIM_ARG1 + playanimation_var BS_BATTLER_0, sB_ANIM_ARG1 call BattleScript_ActivateWeatherAbilities end3 BattleScript_OverworldTerrain:: printfromtable gTerrainStringIds waitmessage B_WAIT_TIME_LONG - playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + playanimation BS_BATTLER_0, B_ANIM_RESTORE_BG call BattleScript_ActivateTerrainEffects end3 diff --git a/src/battle_main.c b/src/battle_main.c index eea745356a..962de9e4e5 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3129,6 +3129,9 @@ static void BattleStartClearSetData(void) gBattlerAttacker = 0; gBattlerTarget = 0; + gEffectBattler = 0; + gBattleScripting.battler = 0; + gBattlerAbility = 0; gBattleWeather = 0; gHitMarker = 0; From cc30d2fb53faebfeaff9b59e8a22b9d78f3d7795 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 4 Aug 2023 12:10:38 +0200 Subject: [PATCH 109/256] start removing duplicate controller functions --- include/battle_controllers.h | 7 +- include/battle_gfx_sfx_util.h | 3 +- src/battle_controller_link_opponent.c | 592 +------------------- src/battle_controller_link_partner.c | 593 +------------------- src/battle_controller_opponent.c | 604 +-------------------- src/battle_controller_player.c | 595 +-------------------- src/battle_controller_player_partner.c | 593 +------------------- src/battle_controller_recorded_opponent.c | 592 +------------------- src/battle_controller_recorded_player.c | 593 +------------------- src/battle_controller_wally.c | 567 +------------------- src/battle_controllers.c | 623 ++++++++++++++++++++++ src/battle_gfx_sfx_util.c | 21 +- src/battle_script_commands.c | 4 +- src/reshow_battle_screen.c | 4 +- 14 files changed, 684 insertions(+), 4707 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index e1ab98b0c7..d4c3214a5c 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -251,10 +251,15 @@ void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome); void BtlController_EmitDebugMenu(u8 bufferId); +void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); +void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); +void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); +void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); +void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)); + // player controller void SetControllerToPlayer(void); void BattleControllerDummy(void); -void PlayerHandleGetRawMonData(void); void SetBattleEndCallbacks(void); void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); void CB2_SetUpReshowBattleScreenAfterMenu(void); diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 0b1bd52fb6..d59ce9b045 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -10,8 +10,7 @@ void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); bool8 IsBattleSEPlaying(u8 battlerId); -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId); -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId); +void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId); void BattleGfxSfxDummy2(u16 species); void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); void DecompressTrainerBackPic(u16 backPicId, u8 battlerId); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 69e2f6bde4..f3bffdf43f 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -531,333 +531,7 @@ static void LinkOpponentBufferExecCompleted(void) static void LinkOpponentHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyLinkOpponentMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyLinkOpponentMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - LinkOpponentBufferExecCompleted(); -} - -static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gEnemyParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gEnemyParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gEnemyParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gEnemyParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gEnemyParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gEnemyParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gEnemyParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gEnemyParty, LinkOpponentBufferExecCompleted); } static void LinkOpponentHandleGetRawMonData(void) @@ -867,273 +541,17 @@ static void LinkOpponentHandleGetRawMonData(void) static void LinkOpponentHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetLinkOpponentMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetLinkOpponentMonData(i); - monToCheck >>= 1; - } - } - LinkOpponentBufferExecCompleted(); -} - -static void SetLinkOpponentMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } + BtlController_HandleSetMonData(gActiveBattler, gEnemyParty, LinkOpponentBufferExecCompleted); } static void LinkOpponentHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - LinkOpponentBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty, LinkOpponentBufferExecCompleted); } static void LinkOpponentHandleLoadMonSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(gActiveBattler), - GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - - gBattlerControllerFuncs[gActiveBattler] = TryShinyAnimAfterMonAnim; + BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); } static void LinkOpponentHandleSwitchInAnim(void) @@ -1153,7 +571,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) if (species == SPECIES_NONE) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite( diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 8684ba70eb..0019136f13 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -425,333 +425,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void LinkPartnerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyLinkPartnerMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyLinkPartnerMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - LinkPartnerBufferExecCompleted(); -} - -static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, LinkPartnerBufferExecCompleted); } static void LinkPartnerHandleGetRawMonData(void) @@ -761,279 +435,24 @@ static void LinkPartnerHandleGetRawMonData(void) static void LinkPartnerHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetLinkPartnerMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetLinkPartnerMonData(i); - monToCheck >>= 1; - } - } - LinkPartnerBufferExecCompleted(); -} - -static void SetLinkPartnerMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } - - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, LinkPartnerBufferExecCompleted); } static void LinkPartnerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - LinkPartnerBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, LinkPartnerBufferExecCompleted); } static void LinkPartnerHandleLoadMonSprite(void) { - u16 species; - - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(gActiveBattler), - GetBattlerSpriteSubpriority(gActiveBattler)); - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - gBattlerControllerFuncs[gActiveBattler] = WaitForMonAnimAfterLoad; + BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); } static void LinkPartnerHandleSwitchInAnim(void) { ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } @@ -1590,7 +1009,7 @@ static void Task_StartSendOutAnim(u8 taskId) StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index f316f19ea8..d3903cd38c 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -552,619 +552,27 @@ static void OpponentBufferExecCompleted(void) static void OpponentHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += GetOpponentMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += GetOpponentMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - OpponentBufferExecCompleted(); -} - -static u32 GetOpponentMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gEnemyParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gEnemyParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gEnemyParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gEnemyParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gEnemyParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gEnemyParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gEnemyParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); } static void OpponentHandleGetRawMonData(void) { - struct BattlePokemon battleMon; - u8 *src = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 *dst = (u8 *)&battleMon + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = src[i]; - - BtlController_EmitDataTransfer(BUFFER_B, gBattleResources->bufferA[gActiveBattler][2], dst); - OpponentBufferExecCompleted(); + BtlController_HandleGetRawMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); } static void OpponentHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetOpponentMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetOpponentMonData(i); - monToCheck >>= 1; - } - } - OpponentBufferExecCompleted(); -} - -static void SetOpponentMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } + BtlController_HandleSetMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); } static void OpponentHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - OpponentBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); } static void OpponentHandleLoadMonSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(gActiveBattler), - GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = species; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - - gBattlerControllerFuncs[gActiveBattler] = TryShinyAnimAfterMonAnim; + BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); } static void OpponentHandleSwitchInAnim(void) @@ -1185,7 +593,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) if (species == SPECIES_NONE) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index eb47db444c..3eddca0b75 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -38,6 +38,7 @@ #include "constants/rgb.h" static void PlayerHandleGetMonData(void); +static void PlayerHandleGetRawMonData(void); static void PlayerHandleSetMonData(void); static void PlayerHandleSetRawMonData(void); static void PlayerHandleLoadMonSprite(void); @@ -1801,603 +1802,27 @@ static void PrintLinkStandbyMsg(void) static void PlayerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyPlayerMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyPlayerMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - PlayerBufferExecCompleted(); + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); } -static u32 CopyPlayerMonData(u8 monId, u8 *dst) +static void PlayerHandleGetRawMonData(void) { - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; -} - -void PlayerHandleGetRawMonData(void) -{ - struct BattlePokemon battleMon; - u8 *src = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 *dst = (u8 *)&battleMon + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = src[i]; - - BtlController_EmitDataTransfer(BUFFER_B, gBattleResources->bufferA[gActiveBattler][2], dst); - PlayerBufferExecCompleted(); + BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); } static void PlayerHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetPlayerMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetPlayerMonData(i); - monToCheck >>= 1; - } - } - PlayerBufferExecCompleted(); -} - -static void SetPlayerMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } - - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); } static void PlayerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - PlayerBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); } static void PlayerHandleLoadMonSprite(void) { - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpritePosX_0; } @@ -2406,7 +1831,7 @@ static void PlayerHandleSwitchInAnim(void) { ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); gActionSelectionCursor[gActiveBattler] = 0; gMoveSelectionCursor[gActiveBattler] = 0; StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); @@ -3220,7 +2645,7 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) DestroySprite(sprite); // Load mon sprite - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); } @@ -3244,7 +2669,7 @@ static void Task_StartSendOutAnim(u8 taskId) StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3a4beeca93..1552703d44 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -613,333 +613,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void PlayerPartnerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyPlayerPartnerMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyPlayerPartnerMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - PlayerPartnerBufferExecCompleted(); -} - -static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, PlayerPartnerBufferExecCompleted); } static void PlayerPartnerHandleGetRawMonData(void) @@ -949,279 +623,24 @@ static void PlayerPartnerHandleGetRawMonData(void) static void PlayerPartnerHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetPlayerPartnerMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetPlayerPartnerMonData(i); - monToCheck >>= 1; - } - } - PlayerPartnerBufferExecCompleted(); -} - -static void SetPlayerPartnerMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } - - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, PlayerPartnerBufferExecCompleted); } static void PlayerPartnerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - PlayerPartnerBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, PlayerPartnerBufferExecCompleted); } static void PlayerPartnerHandleLoadMonSprite(void) { - u16 species; - - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(gActiveBattler), - GetBattlerSpriteSubpriority(gActiveBattler)); - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - gBattlerControllerFuncs[gActiveBattler] = WaitForMonAnimAfterLoad; + BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); } static void PlayerPartnerHandleSwitchInAnim(void) { ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } @@ -1864,7 +1283,7 @@ static void Task_StartSendOutAnim(u8 taskId) StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 283388fcfd..1ce0cabc2a 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -520,333 +520,7 @@ static void RecordedOpponentBufferExecCompleted(void) static void RecordedOpponentHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyRecordedOpponentMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyRecordedOpponentMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - RecordedOpponentBufferExecCompleted(); -} - -static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gEnemyParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gEnemyParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gEnemyParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gEnemyParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gEnemyParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gEnemyParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gEnemyParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gEnemyParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gEnemyParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gEnemyParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gEnemyParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gEnemyParty, RecordedOpponentBufferExecCompleted); } static void RecordedOpponentHandleGetRawMonData(void) @@ -856,273 +530,17 @@ static void RecordedOpponentHandleGetRawMonData(void) static void RecordedOpponentHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetRecordedOpponentMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetRecordedOpponentMonData(i); - monToCheck >>= 1; - } - } - RecordedOpponentBufferExecCompleted(); -} - -static void SetRecordedOpponentMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gEnemyParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } + BtlController_HandleSetMonData(gActiveBattler, gEnemyParty, RecordedOpponentBufferExecCompleted); } static void RecordedOpponentHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - RecordedOpponentBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty, RecordedOpponentBufferExecCompleted); } static void RecordedOpponentHandleLoadMonSprite(void) { - u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(gActiveBattler), - GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - - gBattlerControllerFuncs[gActiveBattler] = TryShinyAnimAfterMonAnim; + BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); } static void RecordedOpponentHandleSwitchInAnim(void) @@ -1140,7 +558,7 @@ static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 86cb491986..574ac8aeae 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -501,333 +501,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void RecordedPlayerHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyRecordedPlayerMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyRecordedPlayerMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - RecordedPlayerBufferExecCompleted(); -} - -static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, RecordedPlayerBufferExecCompleted); } static void RecordedPlayerHandleGetRawMonData(void) @@ -837,279 +511,24 @@ static void RecordedPlayerHandleGetRawMonData(void) static void RecordedPlayerHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetRecordedPlayerMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetRecordedPlayerMonData(i); - monToCheck >>= 1; - } - } - RecordedPlayerBufferExecCompleted(); -} - -static void SetRecordedPlayerMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } - - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, RecordedPlayerBufferExecCompleted); } static void RecordedPlayerHandleSetRawMonData(void) { - u8 *dst = (u8 *)&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]] + gBattleResources->bufferA[gActiveBattler][1]; - u8 i; - - for (i = 0; i < gBattleResources->bufferA[gActiveBattler][2]; i++) - dst[i] = gBattleResources->bufferA[gActiveBattler][3 + i]; - - RecordedPlayerBufferExecCompleted(); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, RecordedPlayerBufferExecCompleted); } static void RecordedPlayerHandleLoadMonSprite(void) { - u16 species; - - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler)); - - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(gActiveBattler, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(gActiveBattler), - GetBattlerSpriteSubpriority(gActiveBattler)); - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - gBattlerControllerFuncs[gActiveBattler] = WaitForMonAnimAfterLoad; + BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); } static void RecordedPlayerHandleSwitchInAnim(void) { ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; } @@ -1733,7 +1152,7 @@ static void Task_StartSendOutAnim(u8 taskId) StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); StartSendOutAnim(gActiveBattler, FALSE); gActiveBattler ^= BIT_FLANK; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 00a825dba5..81f4da5c42 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -427,578 +427,17 @@ static void CompleteOnFinishedStatusAnimation(void) static void WallyHandleGetMonData(void) { - u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 size = 0; - u8 monToCheck; - s32 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - size += CopyWallyMonData(gBattlerPartyIndexes[gActiveBattler], monData); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - size += CopyWallyMonData(i, monData + size); - monToCheck >>= 1; - } - } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); - WallyBufferExecCompleted(); -} - -static u32 CopyWallyMonData(u8 monId, u8 *dst) -{ - struct BattlePokemon battleMon; - struct MovePpInfo moveData; - u8 nickname[20]; - u8 *src; - s16 data16; - u32 data32; - s32 size = 0; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - battleMon.species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - battleMon.item = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - for (size = 0; size < MAX_MON_MOVES; size++) - { - battleMon.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - battleMon.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - battleMon.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - battleMon.friendship = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - battleMon.experience = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - battleMon.hpIV = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - battleMon.attackIV = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - battleMon.defenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - battleMon.speedIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - battleMon.spAttackIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - battleMon.spDefenseIV = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - battleMon.personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - battleMon.status1 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - battleMon.level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - battleMon.hp = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - battleMon.maxHP = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - battleMon.attack = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - battleMon.defense = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - battleMon.speed = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - battleMon.spAttack = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - battleMon.spDefense = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - battleMon.abilityNum = GetMonData(&gPlayerParty[monId], MON_DATA_ABILITY_NUM); - battleMon.otId = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - battleMon.metLevel = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - GetMonData(&gPlayerParty[monId], MON_DATA_NICKNAME, nickname); - StringCopy_Nickname(battleMon.nickname, nickname); - GetMonData(&gPlayerParty[monId], MON_DATA_OT_NAME, battleMon.otName); - src = (u8 *)&battleMon; - for (size = 0; size < sizeof(battleMon); size++) - dst[size] = src[size]; - break; - case REQUEST_SPECIES_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_HELDITEM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MOVES_PP_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - { - moveData.moves[size] = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + size); - moveData.pp[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - } - moveData.ppBonuses = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - src = (u8 *)(&moveData); - for (size = 0; size < sizeof(moveData); size++) - dst[size] = src[size]; - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_PP_DATA_BATTLE: - for (size = 0; size < MAX_MON_MOVES; size++) - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + size); - dst[size] = GetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES); - size++; - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE); - size = 1; - break; - case REQUEST_OTID_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_OT_ID); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_EXP_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - size = 3; - break; - case REQUEST_HP_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_EV); - size = 1; - break; - case REQUEST_ATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV); - size = 1; - break; - case REQUEST_DEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV); - size = 1; - break; - case REQUEST_SPEED_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV); - size = 1; - break; - case REQUEST_SPATK_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV); - size = 1; - break; - case REQUEST_SPDEF_EV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV); - size = 1; - break; - case REQUEST_FRIENDSHIP_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP); - size = 1; - break; - case REQUEST_POKERUS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKERUS); - size = 1; - break; - case REQUEST_MET_LOCATION_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION); - size = 1; - break; - case REQUEST_MET_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL); - size = 1; - break; - case REQUEST_MET_GAME_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME); - size = 1; - break; - case REQUEST_POKEBALL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL); - size = 1; - break; - case REQUEST_ALL_IVS_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - dst[1] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - dst[2] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - dst[3] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - dst[4] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - dst[5] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 6; - break; - case REQUEST_HP_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_HP_IV); - size = 1; - break; - case REQUEST_ATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV); - size = 1; - break; - case REQUEST_DEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV); - size = 1; - break; - case REQUEST_SPEED_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV); - size = 1; - break; - case REQUEST_SPATK_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV); - size = 1; - break; - case REQUEST_SPDEF_IV_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV); - size = 1; - break; - case REQUEST_PERSONALITY_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_CHECKSUM_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_STATUS_BATTLE: - data32 = GetMonData(&gPlayerParty[monId], MON_DATA_STATUS); - dst[0] = (data32 & 0x000000FF); - dst[1] = (data32 & 0x0000FF00) >> 8; - dst[2] = (data32 & 0x00FF0000) >> 16; - dst[3] = (data32 & 0xFF000000) >> 24; - size = 4; - break; - case REQUEST_LEVEL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - size = 1; - break; - case REQUEST_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_MAX_HP_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_ATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_ATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_DEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_DEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPEED_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPEED); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPATK_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPATK); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_SPDEF_BATTLE: - data16 = GetMonData(&gPlayerParty[monId], MON_DATA_SPDEF); - dst[0] = data16; - dst[1] = data16 >> 8; - size = 2; - break; - case REQUEST_COOL_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL); - size = 1; - break; - case REQUEST_BEAUTY_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY); - size = 1; - break; - case REQUEST_CUTE_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE); - size = 1; - break; - case REQUEST_SMART_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART); - size = 1; - break; - case REQUEST_TOUGH_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH); - size = 1; - break; - case REQUEST_SHEEN_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SHEEN); - size = 1; - break; - case REQUEST_COOL_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON); - size = 1; - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON); - size = 1; - break; - case REQUEST_CUTE_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON); - size = 1; - break; - case REQUEST_SMART_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON); - size = 1; - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - dst[0] = GetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON); - size = 1; - break; - } - - return size; + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, WallyBufferExecCompleted); } static void WallyHandleGetRawMonData(void) { - PlayerHandleGetRawMonData(); + BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty, WallyBufferExecCompleted); } static void WallyHandleSetMonData(void) { - u8 monToCheck; - u8 i; - - if (gBattleResources->bufferA[gActiveBattler][2] == 0) - { - SetWallyMonData(gBattlerPartyIndexes[gActiveBattler]); - } - else - { - monToCheck = gBattleResources->bufferA[gActiveBattler][2]; - for (i = 0; i < PARTY_SIZE; i++) - { - if (monToCheck & 1) - SetWallyMonData(i); - monToCheck >>= 1; - } - } - WallyBufferExecCompleted(); -} - -static void SetWallyMonData(u8 monId) -{ - struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[gActiveBattler][3]; - struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[gActiveBattler][3]; - s32 i; - - switch (gBattleResources->bufferA[gActiveBattler][1]) - { - case REQUEST_ALL_BATTLE: - { - u8 iv; - - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &battlePokemon->species); - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &battlePokemon->experience); - iv = battlePokemon->hpIV; - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &iv); - iv = battlePokemon->attackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &iv); - iv = battlePokemon->defenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &iv); - iv = battlePokemon->speedIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &iv); - iv = battlePokemon->spAttackIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &iv); - iv = battlePokemon->spDefenseIV; - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &iv); - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &battlePokemon->status1); - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &battlePokemon->level); - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &battlePokemon->hp); - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &battlePokemon->attack); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &battlePokemon->defense); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &battlePokemon->speed); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &battlePokemon->spAttack); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); - } - break; - case REQUEST_SPECIES_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HELDITEM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MOVES_PP_BATTLE: - for (i = 0; i < MAX_MON_MOVES; i++) - { - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + i, &moveData->pp[i]); - } - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); - break; - case REQUEST_MOVE1_BATTLE: - case REQUEST_MOVE2_BATTLE: - case REQUEST_MOVE3_BATTLE: - case REQUEST_MOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PP_DATA_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP2, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP3, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP4, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[gActiveBattler][7]); - break; - case REQUEST_PPMOVE1_BATTLE: - case REQUEST_PPMOVE2_BATTLE: - case REQUEST_PPMOVE3_BATTLE: - case REQUEST_PPMOVE4_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PP1 + gBattleResources->bufferA[gActiveBattler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_OTID_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_EXP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_EV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_FRIENDSHIP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKERUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LOCATION_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MET_GAME_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_POKEBALL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ALL_IVS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][4]); - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][5]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][6]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][7]); - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][8]); - break; - case REQUEST_HP_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_IV_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_PERSONALITY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CHECKSUM_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_STATUS_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_STATUS, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_LEVEL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_MAX_HP_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_ATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_ATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_DEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_DEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPEED_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPEED, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPATK_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPATK, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SPDEF_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SHEEN_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_COOL_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_BEAUTY_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_CUTE_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_SMART_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - case REQUEST_TOUGH_RIBBON_BATTLE: - SetMonData(&gPlayerParty[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[gActiveBattler][3]); - break; - } - - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, WallyBufferExecCompleted); } static void WallyHandleSetRawMonData(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d7ca18c6a1..c55c783781 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -3,6 +3,7 @@ #include "battle_ai_main.h" #include "battle_anim.h" #include "battle_controllers.h" +#include "battle_gfx_sfx_util.h" #include "battle_message.h" #include "battle_setup.h" #include "cable_club.h" @@ -10,6 +11,7 @@ #include "link_rfu.h" #include "party_menu.h" #include "recorded_battle.h" +#include "string_util.h" #include "task.h" #include "util.h" #include "constants/abilities.h" @@ -1546,3 +1548,624 @@ void BtlController_EmitDebugMenu(u8 bufferId) sBattleBuffersTransferData[0] = CONTROLLER_DEBUGMENU; PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 1); } + +// Standardized Controller functions +static u32 GetBattlerMonData(u32 battler, struct Pokemon *party, u32 monId, u8 *dst) +{ + struct BattlePokemon battleMon; + struct MovePpInfo moveData; + u8 nickname[POKEMON_NAME_LENGTH * 2]; + u8 *src; + s16 data16; + u32 data32; + s32 size = 0; + + switch (gBattleResources->bufferA[battler][1]) + { + case REQUEST_ALL_BATTLE: + battleMon.species = GetMonData(&party[monId], MON_DATA_SPECIES); + battleMon.item = GetMonData(&party[monId], MON_DATA_HELD_ITEM); + for (size = 0; size < MAX_MON_MOVES; size++) + { + battleMon.moves[size] = GetMonData(&party[monId], MON_DATA_MOVE1 + size); + battleMon.pp[size] = GetMonData(&party[monId], MON_DATA_PP1 + size); + } + battleMon.ppBonuses = GetMonData(&party[monId], MON_DATA_PP_BONUSES); + battleMon.friendship = GetMonData(&party[monId], MON_DATA_FRIENDSHIP); + battleMon.experience = GetMonData(&party[monId], MON_DATA_EXP); + battleMon.hpIV = GetMonData(&party[monId], MON_DATA_HP_IV); + battleMon.attackIV = GetMonData(&party[monId], MON_DATA_ATK_IV); + battleMon.defenseIV = GetMonData(&party[monId], MON_DATA_DEF_IV); + battleMon.speedIV = GetMonData(&party[monId], MON_DATA_SPEED_IV); + battleMon.spAttackIV = GetMonData(&party[monId], MON_DATA_SPATK_IV); + battleMon.spDefenseIV = GetMonData(&party[monId], MON_DATA_SPDEF_IV); + battleMon.personality = GetMonData(&party[monId], MON_DATA_PERSONALITY); + battleMon.status1 = GetMonData(&party[monId], MON_DATA_STATUS); + battleMon.level = GetMonData(&party[monId], MON_DATA_LEVEL); + battleMon.hp = GetMonData(&party[monId], MON_DATA_HP); + battleMon.maxHP = GetMonData(&party[monId], MON_DATA_MAX_HP); + battleMon.attack = GetMonData(&party[monId], MON_DATA_ATK); + battleMon.defense = GetMonData(&party[monId], MON_DATA_DEF); + battleMon.speed = GetMonData(&party[monId], MON_DATA_SPEED); + battleMon.spAttack = GetMonData(&party[monId], MON_DATA_SPATK); + battleMon.spDefense = GetMonData(&party[monId], MON_DATA_SPDEF); + battleMon.abilityNum = GetMonData(&party[monId], MON_DATA_ABILITY_NUM); + battleMon.otId = GetMonData(&party[monId], MON_DATA_OT_ID); + battleMon.metLevel = GetMonData(&party[monId], MON_DATA_MET_LEVEL); + GetMonData(&party[monId], MON_DATA_NICKNAME, nickname); + StringCopy_Nickname(battleMon.nickname, nickname); + GetMonData(&party[monId], MON_DATA_OT_NAME, battleMon.otName); + src = (u8 *)&battleMon; + for (size = 0; size < sizeof(battleMon); size++) + dst[size] = src[size]; + break; + case REQUEST_SPECIES_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_SPECIES); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_HELDITEM_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_HELD_ITEM); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_MOVES_PP_BATTLE: + for (size = 0; size < MAX_MON_MOVES; size++) + { + moveData.moves[size] = GetMonData(&party[monId], MON_DATA_MOVE1 + size); + moveData.pp[size] = GetMonData(&party[monId], MON_DATA_PP1 + size); + } + moveData.ppBonuses = GetMonData(&party[monId], MON_DATA_PP_BONUSES); + src = (u8 *)(&moveData); + for (size = 0; size < sizeof(moveData); size++) + dst[size] = src[size]; + break; + case REQUEST_MOVE1_BATTLE: + case REQUEST_MOVE2_BATTLE: + case REQUEST_MOVE3_BATTLE: + case REQUEST_MOVE4_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[battler][1] - REQUEST_MOVE1_BATTLE); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_PP_DATA_BATTLE: + for (size = 0; size < MAX_MON_MOVES; size++) + dst[size] = GetMonData(&party[monId], MON_DATA_PP1 + size); + dst[size] = GetMonData(&party[monId], MON_DATA_PP_BONUSES); + size++; + break; + case REQUEST_PPMOVE1_BATTLE: + case REQUEST_PPMOVE2_BATTLE: + case REQUEST_PPMOVE3_BATTLE: + case REQUEST_PPMOVE4_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_PP1 + gBattleResources->bufferA[battler][1] - REQUEST_PPMOVE1_BATTLE); + size = 1; + break; + case REQUEST_OTID_BATTLE: + data32 = GetMonData(&party[monId], MON_DATA_OT_ID); + dst[0] = (data32 & 0x000000FF); + dst[1] = (data32 & 0x0000FF00) >> 8; + dst[2] = (data32 & 0x00FF0000) >> 16; + size = 3; + break; + case REQUEST_EXP_BATTLE: + data32 = GetMonData(&party[monId], MON_DATA_EXP); + dst[0] = (data32 & 0x000000FF); + dst[1] = (data32 & 0x0000FF00) >> 8; + dst[2] = (data32 & 0x00FF0000) >> 16; + size = 3; + break; + case REQUEST_HP_EV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_HP_EV); + size = 1; + break; + case REQUEST_ATK_EV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_ATK_EV); + size = 1; + break; + case REQUEST_DEF_EV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_DEF_EV); + size = 1; + break; + case REQUEST_SPEED_EV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SPEED_EV); + size = 1; + break; + case REQUEST_SPATK_EV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SPATK_EV); + size = 1; + break; + case REQUEST_SPDEF_EV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SPDEF_EV); + size = 1; + break; + case REQUEST_FRIENDSHIP_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_FRIENDSHIP); + size = 1; + break; + case REQUEST_POKERUS_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_POKERUS); + size = 1; + break; + case REQUEST_MET_LOCATION_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_MET_LOCATION); + size = 1; + break; + case REQUEST_MET_LEVEL_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_MET_LEVEL); + size = 1; + break; + case REQUEST_MET_GAME_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_MET_GAME); + size = 1; + break; + case REQUEST_POKEBALL_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_POKEBALL); + size = 1; + break; + case REQUEST_ALL_IVS_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_HP_IV); + dst[1] = GetMonData(&party[monId], MON_DATA_ATK_IV); + dst[2] = GetMonData(&party[monId], MON_DATA_DEF_IV); + dst[3] = GetMonData(&party[monId], MON_DATA_SPEED_IV); + dst[4] = GetMonData(&party[monId], MON_DATA_SPATK_IV); + dst[5] = GetMonData(&party[monId], MON_DATA_SPDEF_IV); + size = 6; + break; + case REQUEST_HP_IV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_HP_IV); + size = 1; + break; + case REQUEST_ATK_IV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_ATK_IV); + size = 1; + break; + case REQUEST_DEF_IV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_DEF_IV); + size = 1; + break; + case REQUEST_SPEED_IV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SPEED_IV); + size = 1; + break; + case REQUEST_SPATK_IV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SPATK_IV); + size = 1; + break; + case REQUEST_SPDEF_IV_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SPDEF_IV); + size = 1; + break; + case REQUEST_PERSONALITY_BATTLE: + data32 = GetMonData(&party[monId], MON_DATA_PERSONALITY); + dst[0] = (data32 & 0x000000FF); + dst[1] = (data32 & 0x0000FF00) >> 8; + dst[2] = (data32 & 0x00FF0000) >> 16; + dst[3] = (data32 & 0xFF000000) >> 24; + size = 4; + break; + case REQUEST_CHECKSUM_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_CHECKSUM); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_STATUS_BATTLE: + data32 = GetMonData(&party[monId], MON_DATA_STATUS); + dst[0] = (data32 & 0x000000FF); + dst[1] = (data32 & 0x0000FF00) >> 8; + dst[2] = (data32 & 0x00FF0000) >> 16; + dst[3] = (data32 & 0xFF000000) >> 24; + size = 4; + break; + case REQUEST_LEVEL_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_LEVEL); + size = 1; + break; + case REQUEST_HP_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_HP); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_MAX_HP_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_MAX_HP); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_ATK_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_ATK); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_DEF_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_DEF); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_SPEED_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_SPEED); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_SPATK_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_SPATK); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_SPDEF_BATTLE: + data16 = GetMonData(&party[monId], MON_DATA_SPDEF); + dst[0] = data16; + dst[1] = data16 >> 8; + size = 2; + break; + case REQUEST_COOL_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_COOL); + size = 1; + break; + case REQUEST_BEAUTY_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_BEAUTY); + size = 1; + break; + case REQUEST_CUTE_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_CUTE); + size = 1; + break; + case REQUEST_SMART_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SMART); + size = 1; + break; + case REQUEST_TOUGH_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_TOUGH); + size = 1; + break; + case REQUEST_SHEEN_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SHEEN); + size = 1; + break; + case REQUEST_COOL_RIBBON_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_COOL_RIBBON); + size = 1; + break; + case REQUEST_BEAUTY_RIBBON_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_BEAUTY_RIBBON); + size = 1; + break; + case REQUEST_CUTE_RIBBON_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_CUTE_RIBBON); + size = 1; + break; + case REQUEST_SMART_RIBBON_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_SMART_RIBBON); + size = 1; + break; + case REQUEST_TOUGH_RIBBON_BATTLE: + dst[0] = GetMonData(&party[monId], MON_DATA_TOUGH_RIBBON); + size = 1; + break; + } + + return size; +} + +static void SetBattlerMonData(u32 battler, struct Pokemon *party, u32 monId) +{ + struct BattlePokemon *battlePokemon = (struct BattlePokemon *)&gBattleResources->bufferA[battler][3]; + struct MovePpInfo *moveData = (struct MovePpInfo *)&gBattleResources->bufferA[battler][3]; + s32 i; + + switch (gBattleResources->bufferA[battler][1]) + { + case REQUEST_ALL_BATTLE: + { + u8 iv; + + SetMonData(&party[monId], MON_DATA_SPECIES, &battlePokemon->species); + SetMonData(&party[monId], MON_DATA_HELD_ITEM, &battlePokemon->item); + for (i = 0; i < MAX_MON_MOVES; i++) + { + SetMonData(&party[monId], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]); + SetMonData(&party[monId], MON_DATA_PP1 + i, &battlePokemon->pp[i]); + } + SetMonData(&party[monId], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses); + SetMonData(&party[monId], MON_DATA_FRIENDSHIP, &battlePokemon->friendship); + SetMonData(&party[monId], MON_DATA_EXP, &battlePokemon->experience); + iv = battlePokemon->hpIV; + SetMonData(&party[monId], MON_DATA_HP_IV, &iv); + iv = battlePokemon->attackIV; + SetMonData(&party[monId], MON_DATA_ATK_IV, &iv); + iv = battlePokemon->defenseIV; + SetMonData(&party[monId], MON_DATA_DEF_IV, &iv); + iv = battlePokemon->speedIV; + SetMonData(&party[monId], MON_DATA_SPEED_IV, &iv); + iv = battlePokemon->spAttackIV; + SetMonData(&party[monId], MON_DATA_SPATK_IV, &iv); + iv = battlePokemon->spDefenseIV; + SetMonData(&party[monId], MON_DATA_SPDEF_IV, &iv); + SetMonData(&party[monId], MON_DATA_PERSONALITY, &battlePokemon->personality); + SetMonData(&party[monId], MON_DATA_STATUS, &battlePokemon->status1); + SetMonData(&party[monId], MON_DATA_LEVEL, &battlePokemon->level); + SetMonData(&party[monId], MON_DATA_HP, &battlePokemon->hp); + SetMonData(&party[monId], MON_DATA_MAX_HP, &battlePokemon->maxHP); + SetMonData(&party[monId], MON_DATA_ATK, &battlePokemon->attack); + SetMonData(&party[monId], MON_DATA_DEF, &battlePokemon->defense); + SetMonData(&party[monId], MON_DATA_SPEED, &battlePokemon->speed); + SetMonData(&party[monId], MON_DATA_SPATK, &battlePokemon->spAttack); + SetMonData(&party[monId], MON_DATA_SPDEF, &battlePokemon->spDefense); + } + break; + case REQUEST_SPECIES_BATTLE: + SetMonData(&party[monId], MON_DATA_SPECIES, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_HELDITEM_BATTLE: + SetMonData(&party[monId], MON_DATA_HELD_ITEM, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_MOVES_PP_BATTLE: + for (i = 0; i < MAX_MON_MOVES; i++) + { + SetMonData(&party[monId], MON_DATA_MOVE1 + i, &moveData->moves[i]); + SetMonData(&party[monId], MON_DATA_PP1 + i, &moveData->pp[i]); + } + SetMonData(&party[monId], MON_DATA_PP_BONUSES, &moveData->ppBonuses); + break; + case REQUEST_MOVE1_BATTLE: + case REQUEST_MOVE2_BATTLE: + case REQUEST_MOVE3_BATTLE: + case REQUEST_MOVE4_BATTLE: + SetMonData(&party[monId], MON_DATA_MOVE1 + gBattleResources->bufferA[battler][1] - REQUEST_MOVE1_BATTLE, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_PP_DATA_BATTLE: + SetMonData(&party[monId], MON_DATA_PP1, &gBattleResources->bufferA[battler][3]); + SetMonData(&party[monId], MON_DATA_PP2, &gBattleResources->bufferA[battler][4]); + SetMonData(&party[monId], MON_DATA_PP3, &gBattleResources->bufferA[battler][5]); + SetMonData(&party[monId], MON_DATA_PP4, &gBattleResources->bufferA[battler][6]); + SetMonData(&party[monId], MON_DATA_PP_BONUSES, &gBattleResources->bufferA[battler][7]); + break; + case REQUEST_PPMOVE1_BATTLE: + case REQUEST_PPMOVE2_BATTLE: + case REQUEST_PPMOVE3_BATTLE: + case REQUEST_PPMOVE4_BATTLE: + SetMonData(&party[monId], MON_DATA_PP1 + gBattleResources->bufferA[battler][1] - REQUEST_PPMOVE1_BATTLE, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_OTID_BATTLE: + SetMonData(&party[monId], MON_DATA_OT_ID, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_EXP_BATTLE: + SetMonData(&party[monId], MON_DATA_EXP, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_HP_EV_BATTLE: + SetMonData(&party[monId], MON_DATA_HP_EV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_ATK_EV_BATTLE: + SetMonData(&party[monId], MON_DATA_ATK_EV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_DEF_EV_BATTLE: + SetMonData(&party[monId], MON_DATA_DEF_EV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPEED_EV_BATTLE: + SetMonData(&party[monId], MON_DATA_SPEED_EV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPATK_EV_BATTLE: + SetMonData(&party[monId], MON_DATA_SPATK_EV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPDEF_EV_BATTLE: + SetMonData(&party[monId], MON_DATA_SPDEF_EV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_FRIENDSHIP_BATTLE: + SetMonData(&party[monId], MON_DATA_FRIENDSHIP, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_POKERUS_BATTLE: + SetMonData(&party[monId], MON_DATA_POKERUS, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_MET_LOCATION_BATTLE: + SetMonData(&party[monId], MON_DATA_MET_LOCATION, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_MET_LEVEL_BATTLE: + SetMonData(&party[monId], MON_DATA_MET_LEVEL, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_MET_GAME_BATTLE: + SetMonData(&party[monId], MON_DATA_MET_GAME, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_POKEBALL_BATTLE: + SetMonData(&party[monId], MON_DATA_POKEBALL, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_ALL_IVS_BATTLE: + SetMonData(&party[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[battler][3]); + SetMonData(&party[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[battler][4]); + SetMonData(&party[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[battler][5]); + SetMonData(&party[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[battler][6]); + SetMonData(&party[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[battler][7]); + SetMonData(&party[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[battler][8]); + break; + case REQUEST_HP_IV_BATTLE: + SetMonData(&party[monId], MON_DATA_HP_IV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_ATK_IV_BATTLE: + SetMonData(&party[monId], MON_DATA_ATK_IV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_DEF_IV_BATTLE: + SetMonData(&party[monId], MON_DATA_DEF_IV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPEED_IV_BATTLE: + SetMonData(&party[monId], MON_DATA_SPEED_IV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPATK_IV_BATTLE: + SetMonData(&party[monId], MON_DATA_SPATK_IV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPDEF_IV_BATTLE: + SetMonData(&party[monId], MON_DATA_SPDEF_IV, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_PERSONALITY_BATTLE: + SetMonData(&party[monId], MON_DATA_PERSONALITY, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_CHECKSUM_BATTLE: + SetMonData(&party[monId], MON_DATA_CHECKSUM, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_STATUS_BATTLE: + SetMonData(&party[monId], MON_DATA_STATUS, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_LEVEL_BATTLE: + SetMonData(&party[monId], MON_DATA_LEVEL, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_HP_BATTLE: + SetMonData(&party[monId], MON_DATA_HP, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_MAX_HP_BATTLE: + SetMonData(&party[monId], MON_DATA_MAX_HP, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_ATK_BATTLE: + SetMonData(&party[monId], MON_DATA_ATK, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_DEF_BATTLE: + SetMonData(&party[monId], MON_DATA_DEF, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPEED_BATTLE: + SetMonData(&party[monId], MON_DATA_SPEED, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPATK_BATTLE: + SetMonData(&party[monId], MON_DATA_SPATK, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SPDEF_BATTLE: + SetMonData(&party[monId], MON_DATA_SPDEF, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_COOL_BATTLE: + SetMonData(&party[monId], MON_DATA_COOL, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_BEAUTY_BATTLE: + SetMonData(&party[monId], MON_DATA_BEAUTY, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_CUTE_BATTLE: + SetMonData(&party[monId], MON_DATA_CUTE, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SMART_BATTLE: + SetMonData(&party[monId], MON_DATA_SMART, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_TOUGH_BATTLE: + SetMonData(&party[monId], MON_DATA_TOUGH, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SHEEN_BATTLE: + SetMonData(&party[monId], MON_DATA_SHEEN, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_COOL_RIBBON_BATTLE: + SetMonData(&party[monId], MON_DATA_COOL_RIBBON, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_BEAUTY_RIBBON_BATTLE: + SetMonData(&party[monId], MON_DATA_BEAUTY_RIBBON, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_CUTE_RIBBON_BATTLE: + SetMonData(&party[monId], MON_DATA_CUTE_RIBBON, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_SMART_RIBBON_BATTLE: + SetMonData(&party[monId], MON_DATA_SMART_RIBBON, &gBattleResources->bufferA[battler][3]); + break; + case REQUEST_TOUGH_RIBBON_BATTLE: + SetMonData(&party[monId], MON_DATA_TOUGH_RIBBON, &gBattleResources->bufferA[battler][3]); + break; + } + + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + HandleLowHpMusicChange(&party[gBattlerPartyIndexes[battler]], battler); +} + + +void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +{ + u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u32 size = 0; + u8 monToCheck; + s32 i; + + if (gBattleResources->bufferA[battler][2] == 0) + { + size += GetBattlerMonData(battler, party, gBattlerPartyIndexes[battler], monData); + } + else + { + monToCheck = gBattleResources->bufferA[battler][2]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (monToCheck & 1) + size += GetBattlerMonData(battler, party, i, monData + size); + monToCheck >>= 1; + } + } + BtlController_EmitDataTransfer(BUFFER_B, size, monData); + execCompleteFunc(); +} + +void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +{ + struct BattlePokemon battleMon; + u8 *src = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; + u8 *dst = (u8 *)&battleMon + gBattleResources->bufferA[battler][1]; + u8 i; + + for (i = 0; i < gBattleResources->bufferA[battler][2]; i++) + dst[i] = src[i]; + + BtlController_EmitDataTransfer(BUFFER_B, gBattleResources->bufferA[battler][2], dst); + execCompleteFunc(); +} + +void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +{ + u32 i, monToCheck; + + if (gBattleResources->bufferA[battler][2] == 0) + { + SetBattlerMonData(battler, party, gBattlerPartyIndexes[battler]); + } + else + { + monToCheck = gBattleResources->bufferA[battler][2]; + for (i = 0; i < PARTY_SIZE; i++) + { + if (monToCheck & 1) + SetBattlerMonData(battler, party, i); + monToCheck >>= 1; + } + } + execCompleteFunc(); +} + +void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +{ + u32 i; + u8 *dst = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; + + for (i = 0; i < gBattleResources->bufferA[battler][2]; i++) + dst[i] = gBattleResources->bufferA[battler][3 + i]; + + execCompleteFunc(); +} + +void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)) +{ + u16 species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + + BattleLoadMonSpriteGfx(&party[gBattlerPartyIndexes[battler]], battler, GetBattlerSide(battler)); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); + + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); + + gSprites[gBattlerSpriteIds[battler]].x2 = -DISPLAY_WIDTH; + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); + + SetBattlerShadowSpriteCallback(battler, species); + + gBattlerControllerFuncs[battler] = controllerFunc; +} diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index b7cf2c2389..dddb3675d5 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -544,7 +544,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) return TRUE; } -static void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId, bool32 opponent) +void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId) { u32 monsPersonality, currentPersonality, otId, currentOtId, species, paletteOffset, position; const void *lzPaletteData; @@ -577,7 +577,7 @@ static void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId, bool32 op } position = GetBattlerPosition(battlerId); - if (opponent) + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) { HandleLoadSpecialPokePic(TRUE, gMonSpritesGfxPtr->sprites.ptr[position], @@ -609,16 +609,6 @@ static void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId, bool32 op } } -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 battlerId) -{ - BattleLoadMonSpriteGfx(mon, battlerId, TRUE); -} - -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId) -{ - BattleLoadMonSpriteGfx(mon, battlerId, FALSE); -} - void BattleGfxSfxDummy2(u16 species) { } @@ -968,12 +958,7 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) else { if (!IsContest()) - { - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - else - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); - } + BattleLoadMonSpriteGfx(&GetBattlerParty(battlerId)[gBattlerPartyIndexes[battlerId]], battlerId); } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 63bc9cd350..4e79e97bc2 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -9983,13 +9983,13 @@ static void Cmd_various(void) if (IsBattlerAlive(gActiveBattler)) { SetBattlerShadowSpriteCallback(gActiveBattler, gBattleMons[gActiveBattler].species); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); } i = BATTLE_PARTNER(gActiveBattler); if (IsBattlerAlive(i)) { SetBattlerShadowSpriteCallback(i, gBattleMons[i].species); - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[i]], i); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[i]], i); } } gBattlescriptCurrInstr = cmd->nextInstr; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 9ea0b11805..38999e1c79 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -187,7 +187,7 @@ static bool8 LoadBattlerSpriteGfx(u8 battler) if (GetBattlerSide(battler) != B_SIDE_PLAYER) { if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) - BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); else BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE); } @@ -196,7 +196,7 @@ static bool8 LoadBattlerSpriteGfx(u8 battler) else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT) // Should be checking position, not battler. DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, battler); else if (!gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) - BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); else BattleLoadSubstituteOrMonSpriteGfx(battler, FALSE); From 7ba8a0216f335cd59bd3d18261f58879e636ef88 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 4 Aug 2023 13:42:40 +0200 Subject: [PATCH 110/256] more work on controllers --- include/battle_controllers.h | 3 ++ src/battle_controller_link_opponent.c | 39 +-------------- src/battle_controller_link_partner.c | 38 +------------- src/battle_controller_opponent.c | 41 +--------------- src/battle_controller_player.c | 42 ++-------------- src/battle_controller_player_partner.c | 38 +------------- src/battle_controller_recorded_opponent.c | 36 +------------- src/battle_controller_recorded_player.c | 38 +------------- src/battle_controller_wally.c | 29 +---------- src/battle_controllers.c | 60 ++++++++++++++++++++--- 10 files changed, 66 insertions(+), 298 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index d4c3214a5c..ca9c3eafe0 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -251,11 +251,14 @@ void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome); void BtlController_EmitDebugMenu(u8 bufferId); +void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); + void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)); +void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerFunc)(void)); // player controller void SetControllerToPlayer(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index f3bffdf43f..d3fd3f137d 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -93,7 +93,6 @@ static void LinkOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst); static void SetLinkOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void LinkOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -556,43 +555,7 @@ static void LinkOpponentHandleLoadMonSprite(void) static void LinkOpponentHandleSwitchInAnim(void) { - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetIllusionMonSpecies(battlerId); - if (species == SPECIES_NONE) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite( - &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } static void LinkOpponentHandleReturnMonToBall(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 0019136f13..a75fce490c 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -93,7 +93,6 @@ static void LinkPartnerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst); static void SetLinkPartnerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void LinkPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -450,42 +449,7 @@ static void LinkPartnerHandleLoadMonSprite(void) static void LinkPartnerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite( - &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } static void LinkPartnerHandleReturnMonToBall(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index d3903cd38c..a9f53a7597 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -104,7 +104,6 @@ static void OpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 GetOpponentMonData(u8 monId, u8 *dst); static void SetOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void OpponentDoMoveAnimation(void); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); @@ -577,44 +576,8 @@ static void OpponentHandleLoadMonSprite(void) static void OpponentHandleSwitchInAnim(void) { - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetIllusionMonSpecies(battlerId); - if (species == SPECIES_NONE) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + gBattleStruct->monToSwitchIntoId[gActiveBattler] = PARTY_SIZE; + BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } static void OpponentHandleReturnMonToBall(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 3eddca0b75..36af30c1e5 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -115,7 +115,6 @@ static void Task_UpdateLvlInHealthbox(u8); static void PrintLinkStandbyMsg(void); static u32 CopyPlayerMonData(u8, u8 *); static void SetPlayerMonData(u8); -static void StartSendOutAnim(u8, bool8); static void DoSwitchOutAnimation(void); static void PlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8); @@ -226,7 +225,7 @@ static void PlayerBufferRunCommand(void) } } -static void CompleteOnBankSpritePosX_0(void) +static void CompleteOnBattlerSpritePosX_0(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) PlayerBufferExecCompleted(); @@ -1824,49 +1823,14 @@ static void PlayerHandleLoadMonSprite(void) { BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpritePosX_0; + gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpritePosX_0; } static void PlayerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); gActionSelectionCursor[gActiveBattler] = 0; gMoveSelectionCursor[gActiveBattler] = 0; - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnimShowHealthbox; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite( - &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnimShowHealthbox); } static void PlayerHandleReturnMonToBall(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 1552703d44..93a3da4de2 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -100,7 +100,6 @@ static void Task_UpdateLvlInHealthbox(u8 taskId); static void SwitchIn_WaitAndEnd(void); static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst); static void SetPlayerPartnerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void PlayerPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -638,42 +637,7 @@ static void PlayerPartnerHandleLoadMonSprite(void) static void PlayerPartnerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite( - &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } static void PlayerPartnerHandleReturnMonToBall(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 1ce0cabc2a..21fdf4704a 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -96,7 +96,6 @@ static void RecordedOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst); static void SetRecordedOpponentMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void RecordedOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -545,40 +544,7 @@ static void RecordedOpponentHandleLoadMonSprite(void) static void RecordedOpponentHandleSwitchInAnim(void) { - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_OPPONENT_SENDOUT); + BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } static void RecordedOpponentHandleReturnMonToBall(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 574ac8aeae..13704d7bc0 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -91,7 +91,6 @@ static void RecordedPlayerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst); static void SetRecordedPlayerMonData(u8 monId); -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit); static void DoSwitchOutAnimation(void); static void RecordedPlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); @@ -526,42 +525,7 @@ static void RecordedPlayerHandleLoadMonSprite(void) static void RecordedPlayerHandleSwitchInAnim(void) { - ClearTemporarySpeciesSpriteData(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerPartyIndexes[gActiveBattler] = gBattleResources->bufferA[gActiveBattler][1]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, gBattleResources->bufferA[gActiveBattler][2]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_TryShinyAnim; -} - -static void StartSendOutAnim(u8 battlerId, bool8 dontClearSubstituteBit) -{ - u16 species; - - ClearTemporarySpeciesSpriteData(battlerId, dontClearSubstituteBit); - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - - gBattlerSpriteIds[battlerId] = CreateSprite( - &gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); + BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } static void RecordedPlayerHandleReturnMonToBall(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 81f4da5c42..898f421780 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -892,33 +892,6 @@ static void WallyHandleIntroTrainerBallThrow(void) gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; } -static void StartSendOutAnim(u8 battlerId) -{ - u16 species; - - gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = 0; - gBattlerPartyIndexes[battlerId] = gBattleResources->bufferA[battlerId][1]; - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - gBattleControllerData[battlerId] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); - SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId)); - gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2), - GetBattlerSpriteDefault_Y(battlerId), - GetBattlerSpriteSubpriority(battlerId)); - - gSprites[gBattleControllerData[battlerId]].data[1] = gBattlerSpriteIds[battlerId]; - gSprites[gBattleControllerData[battlerId]].data[2] = battlerId; - - gSprites[gBattlerSpriteIds[battlerId]].data[0] = battlerId; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = species; - gSprites[gBattlerSpriteIds[battlerId]].oam.paletteNum = battlerId; - - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); - gSprites[gBattlerSpriteIds[battlerId]].invisible = TRUE; - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCallbackDummy; - gSprites[gBattleControllerData[battlerId]].data[0] = DoPokeballSendOutAnimation(0, POKEBALL_PLAYER_SENDOUT); -} - static void Task_StartSendOutAnim(u8 taskId) { if (gTasks[taskId].data[1] < 31) @@ -931,7 +904,7 @@ static void Task_StartSendOutAnim(u8 taskId) gActiveBattler = gTasks[taskId].data[0]; gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler); + StartSendOutAnim(gActiveBattler, FALSE); gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; gActiveBattler = savedActiveBank; DestroyTask(taskId); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index c55c783781..ac619acb42 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -863,7 +863,7 @@ void TryReceiveLinkBattleData(void) static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) { u16 blockSize; - u8 battlerId; + u8 battler; u8 var; if (gTasks[taskId].data[15] != gTasks[taskId].data[14]) @@ -874,17 +874,17 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - battlerId = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER]; + battler = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_ACTIVE_BATTLER]; blockSize = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); switch (gLinkBattleRecvBuffer[gTasks[taskId].data[15] + 0]) { case 0: - if (gBattleControllerExecFlags & gBitTable[battlerId]) + if (gBattleControllerExecFlags & gBitTable[battler]) return; - memcpy(gBattleResources->bufferA[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); - MarkBattlerReceivedLinkData(battlerId); + memcpy(gBattleResources->bufferA[battler], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + MarkBattlerReceivedLinkData(battler); if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { @@ -895,11 +895,11 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) } break; case 1: - memcpy(gBattleResources->bufferB[battlerId], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); + memcpy(gBattleResources->bufferB[battler], &gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA], blockSize); break; case 2: var = gLinkBattleRecvBuffer[gTasks[taskId].data[15] + LINK_BUFF_DATA]; - gBattleControllerExecFlags &= ~(gBitTable[battlerId] << (var * 4)); + gBattleControllerExecFlags &= ~(gBitTable[battler] << (var * 4)); break; } @@ -2075,6 +2075,39 @@ static void SetBattlerMonData(u32 battler, struct Pokemon *party, u32 monId) HandleLowHpMusicChange(&party[gBattlerPartyIndexes[battler]], battler); } +void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit) +{ + u16 species; + u32 side = GetBattlerSide(battler); + struct Pokemon *party = GetBattlerParty(battler); + + ClearTemporarySpeciesSpriteData(battler, dontClearSubstituteBit); + gBattlerPartyIndexes[battler] = gBattleResources->bufferA[battler][1]; + species = GetIllusionMonSpecies(battler); + if (species == SPECIES_NONE) + species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); + gBattleControllerData[battler] = CreateInvisibleSpriteWithCallback(SpriteCB_WaitForBattlerBallReleaseAnim); + // Load sprite for opponent only, player sprite is expected to be already loaded. + if (side == B_SIDE_OPPONENT) + BattleLoadMonSpriteGfx(&party[gBattlerPartyIndexes[battler]], battler); + SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); + + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), + GetBattlerSpriteDefault_Y(battler), + GetBattlerSpriteSubpriority(battler)); + + gSprites[gBattlerSpriteIds[battler]].data[0] = battler; + gSprites[gBattlerSpriteIds[battler]].data[2] = species; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); + gSprites[gBattlerSpriteIds[battler]].invisible = TRUE; + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy; + + gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; + gSprites[gBattleControllerData[battler]].data[2] = battler; + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, (side == B_SIDE_OPPONENT) ? POKEBALL_OPPONENT_SENDOUT : POKEBALL_PLAYER_SENDOUT); +} void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) { @@ -2151,7 +2184,7 @@ void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void { u16 species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); - BattleLoadMonSpriteGfx(&party[gBattlerPartyIndexes[battler]], battler, GetBattlerSide(battler)); + BattleLoadMonSpriteGfx(&party[gBattlerPartyIndexes[battler]], battler); SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battler)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, @@ -2169,3 +2202,14 @@ void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void gBattlerControllerFuncs[battler] = controllerFunc; } + +void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerFunc)(void)) +{ + if (isPlayerSide) + ClearTemporarySpeciesSpriteData(battler, gBattleResources->bufferA[battler][2]); + gBattlerPartyIndexes[battler] = gBattleResources->bufferA[battler][1]; + if (isPlayerSide) + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSendOutAnim(battler, gBattleResources->bufferA[battler][2]); + gBattlerControllerFuncs[battler] = controllerFunc; +} From 7360a4a18af38f87f232b30cd225f2c6d3d32b7f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 4 Aug 2023 17:29:29 +0200 Subject: [PATCH 111/256] up to return mon to ball --- include/battle_controllers.h | 10 +-- src/battle_controller_link_opponent.c | 55 ++-------------- src/battle_controller_link_partner.c | 53 ++------------- src/battle_controller_opponent.c | 60 ++--------------- src/battle_controller_player.c | 60 ++--------------- src/battle_controller_player_partner.c | 62 ++---------------- src/battle_controller_recorded_opponent.c | 55 ++-------------- src/battle_controller_recorded_player.c | 53 ++------------- src/battle_controller_safari.c | 1 + src/battle_controller_wally.c | 31 ++------- src/battle_controllers.c | 79 +++++++++++++++++++---- 11 files changed, 118 insertions(+), 401 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index ca9c3eafe0..14bf29606f 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -197,6 +197,7 @@ enum }; extern struct UnusedControllerStruct gUnusedControllerStruct; +extern void (*gBattlerControllerEndFuncs[MAX_BATTLERS_COUNT])(void); // general functions void HandleLinkBattleSetup(void); @@ -253,12 +254,13 @@ void BtlController_EmitDebugMenu(u8 bufferId); void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); -void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); -void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); -void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); -void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)); +void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party); +void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party); +void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party); +void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party); void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)); void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerFunc)(void)); +void BtlController_HandleReturnMonToBall(u32 battler); // player controller void SetControllerToPlayer(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index d3fd3f137d..873dee9c6c 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -93,7 +93,6 @@ static void LinkOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst); static void SetLinkOpponentMonData(u8 monId); -static void DoSwitchOutAnimation(void); static void LinkOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); @@ -167,6 +166,7 @@ static void LinkOpponentDummy(void) void SetControllerToLinkOpponent(void) { + gBattlerControllerEndFuncs[gActiveBattler] = LinkOpponentBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; } @@ -401,18 +401,6 @@ static void HideHealthboxAfterMonFaint(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - HideBattlerShadowSprite(gActiveBattler); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - LinkOpponentBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -530,7 +518,7 @@ static void LinkOpponentBufferExecCompleted(void) static void LinkOpponentHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gEnemyParty, LinkOpponentBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); } static void LinkOpponentHandleGetRawMonData(void) @@ -540,12 +528,12 @@ static void LinkOpponentHandleGetRawMonData(void) static void LinkOpponentHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gEnemyParty, LinkOpponentBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); } static void LinkOpponentHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty, LinkOpponentBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty); } static void LinkOpponentHandleLoadMonSprite(void) @@ -560,40 +548,7 @@ static void LinkOpponentHandleSwitchInAnim(void) static void LinkOpponentHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - HideBattlerShadowSprite(gActiveBattler); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - LinkOpponentBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_OPPONENT_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index a75fce490c..3756dda923 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -93,7 +93,6 @@ static void LinkPartnerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst); static void SetLinkPartnerMonData(u8 monId); -static void DoSwitchOutAnimation(void); static void LinkPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); static void EndDrawPartyStatusSummary(void); @@ -166,6 +165,7 @@ static void SpriteCB_Null2(void) void SetControllerToLinkPartner(void) { + gBattlerControllerEndFuncs[gActiveBattler] = LinkPartnerBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; } @@ -300,17 +300,6 @@ static void FreeMonSpriteAfterFaintAnim(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - LinkPartnerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -424,7 +413,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void LinkPartnerHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, LinkPartnerBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } static void LinkPartnerHandleGetRawMonData(void) @@ -434,12 +423,12 @@ static void LinkPartnerHandleGetRawMonData(void) static void LinkPartnerHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, LinkPartnerBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); } static void LinkPartnerHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, LinkPartnerBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); } static void LinkPartnerHandleLoadMonSprite(void) @@ -454,39 +443,7 @@ static void LinkPartnerHandleSwitchInAnim(void) static void LinkPartnerHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - LinkPartnerBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index a9f53a7597..4323beba5b 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -104,7 +104,6 @@ static void OpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 GetOpponentMonData(u8 monId, u8 *dst); static void SetOpponentMonData(u8 monId); -static void DoSwitchOutAnimation(void); static void OpponentDoMoveAnimation(void); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); static void Task_StartSendOutAnim(u8 taskId); @@ -172,15 +171,13 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = OpponentCmdEnd }; -// unknown unused data -static const u8 sUnused[] = {0xB0, 0xB0, 0xC8, 0x98, 0x28, 0x28, 0x28, 0x20}; - static void OpponentDummy(void) { } void SetControllerToOpponent(void) { + gBattlerControllerEndFuncs[gActiveBattler] = OpponentBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; } @@ -428,18 +425,6 @@ static void HideHealthboxAfterMonFaint(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - HideBattlerShadowSprite(gActiveBattler); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - OpponentBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -551,22 +536,22 @@ static void OpponentBufferExecCompleted(void) static void OpponentHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); } static void OpponentHandleGetRawMonData(void) { - BtlController_HandleGetRawMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); + BtlController_HandleGetRawMonData(gActiveBattler, gEnemyParty); } static void OpponentHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); } static void OpponentHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty, OpponentBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty); } static void OpponentHandleLoadMonSprite(void) @@ -582,40 +567,7 @@ static void OpponentHandleSwitchInAnim(void) static void OpponentHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - HideBattlerShadowSprite(gActiveBattler); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - OpponentBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_OPPONENT_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 36af30c1e5..1a6f1f9edb 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -37,6 +37,7 @@ #include "constants/trainers.h" #include "constants/rgb.h" +static void PlayerBufferExecCompleted(void); static void PlayerHandleGetMonData(void); static void PlayerHandleGetRawMonData(void); static void PlayerHandleSetMonData(void); @@ -115,7 +116,6 @@ static void Task_UpdateLvlInHealthbox(u8); static void PrintLinkStandbyMsg(void); static u32 CopyPlayerMonData(u8, u8 *); static void SetPlayerMonData(u8); -static void DoSwitchOutAnimation(void); static void PlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8); static void EndDrawPartyStatusSummary(void); @@ -184,15 +184,13 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = PlayerCmdEnd }; -// unknown unused data -static const u8 sUnused[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58}; - void BattleControllerDummy(void) { } void SetControllerToPlayer(void) { + gBattlerControllerEndFuncs[gActiveBattler] = PlayerBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; gDoingBattleAnim = FALSE; gPlayerDpadHoldFrames = 0; @@ -1545,17 +1543,6 @@ static void FreeMonSpriteAfterFaintAnim(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - PlayerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter2(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -1801,22 +1788,22 @@ static void PrintLinkStandbyMsg(void) static void PlayerHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } static void PlayerHandleGetRawMonData(void) { - BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); + BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty); } static void PlayerHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); } static void PlayerHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, PlayerBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); } static void PlayerHandleLoadMonSprite(void) @@ -1835,40 +1822,7 @@ static void PlayerHandleSwitchInAnim(void) static void PlayerHandleReturnMonToBall(void) { - if (!gBattleResources->bufferA[gActiveBattler][1]) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - // Skip animation, just remove battler - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - PlayerBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 93a3da4de2..87f7b5c270 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -100,7 +100,6 @@ static void Task_UpdateLvlInHealthbox(u8 taskId); static void SwitchIn_WaitAndEnd(void); static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst); static void SetPlayerPartnerMonData(u8 monId); -static void DoSwitchOutAnimation(void); static void PlayerPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); static void EndDrawPartyStatusSummary(void); @@ -167,21 +166,13 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = PlayerPartnerCmdEnd }; -// unknown unused data -static const u8 sUnused[] = -{ - 0x83, 0x4d, 0xf3, 0x5f, 0x6f, 0x4f, 0xeb, 0x3e, - 0x67, 0x2e, 0x10, 0x46, 0x8c, 0x3d, 0x28, 0x35, - 0xc5, 0x2c, 0x15, 0x7f, 0xb5, 0x56, 0x9d, 0x53, - 0x3b, 0x43, 0xda, 0x36, 0x79, 0x2a, 0x0e, 0x53, -}; - static void PlayerPartnerDummy(void) { } void SetControllerToPlayerPartner(void) { + gBattlerControllerEndFuncs[gActiveBattler] = PlayerPartnerBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerBufferRunCommand; } @@ -488,17 +479,6 @@ static void FreeMonSpriteAfterFaintAnim(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - PlayerPartnerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter2(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -612,7 +592,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void PlayerPartnerHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, PlayerPartnerBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } static void PlayerPartnerHandleGetRawMonData(void) @@ -622,12 +602,12 @@ static void PlayerPartnerHandleGetRawMonData(void) static void PlayerPartnerHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, PlayerPartnerBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); } static void PlayerPartnerHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, PlayerPartnerBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); } static void PlayerPartnerHandleLoadMonSprite(void) @@ -642,39 +622,7 @@ static void PlayerPartnerHandleSwitchInAnim(void) static void PlayerPartnerHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - PlayerPartnerBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 21fdf4704a..3aedbe4c33 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -96,7 +96,6 @@ static void RecordedOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst); static void SetRecordedOpponentMonData(u8 monId); -static void DoSwitchOutAnimation(void); static void RecordedOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); @@ -170,6 +169,7 @@ static void RecordedOpponentDummy(void) void SetControllerToRecordedOpponent(void) { + gBattlerControllerEndFuncs[gActiveBattler] = RecordedOpponentBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; } @@ -391,18 +391,6 @@ static void HideHealthboxAfterMonFaint(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - HideBattlerShadowSprite(gActiveBattler); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - RecordedOpponentBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -519,7 +507,7 @@ static void RecordedOpponentBufferExecCompleted(void) static void RecordedOpponentHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gEnemyParty, RecordedOpponentBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); } static void RecordedOpponentHandleGetRawMonData(void) @@ -529,12 +517,12 @@ static void RecordedOpponentHandleGetRawMonData(void) static void RecordedOpponentHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gEnemyParty, RecordedOpponentBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); } static void RecordedOpponentHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty, RecordedOpponentBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty); } static void RecordedOpponentHandleLoadMonSprite(void) @@ -549,40 +537,7 @@ static void RecordedOpponentHandleSwitchInAnim(void) static void RecordedOpponentHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - HideBattlerShadowSprite(gActiveBattler); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - RecordedOpponentBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_OPPONENT_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 13704d7bc0..2846e1bef8 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -91,7 +91,6 @@ static void RecordedPlayerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst); static void SetRecordedPlayerMonData(u8 monId); -static void DoSwitchOutAnimation(void); static void RecordedPlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); static void EndDrawPartyStatusSummary(void); @@ -163,6 +162,7 @@ static void RecordedPlayerDummy(void) void SetControllerToRecordedPlayer(void) { + gBattlerControllerEndFuncs[gActiveBattler] = RecordedPlayerBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerBufferRunCommand; } @@ -376,17 +376,6 @@ static void FreeMonSpriteAfterFaintAnim(void) } } -static void FreeMonSpriteAfterSwitchOutAnim(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - RecordedPlayerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -500,7 +489,7 @@ static void CompleteOnFinishedBattleAnimation(void) static void RecordedPlayerHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, RecordedPlayerBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } static void RecordedPlayerHandleGetRawMonData(void) @@ -510,12 +499,12 @@ static void RecordedPlayerHandleGetRawMonData(void) static void RecordedPlayerHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, RecordedPlayerBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); } static void RecordedPlayerHandleSetRawMonData(void) { - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty, RecordedPlayerBufferExecCompleted); + BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); } static void RecordedPlayerHandleLoadMonSprite(void) @@ -530,39 +519,7 @@ static void RecordedPlayerHandleSwitchInAnim(void) static void RecordedPlayerHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - RecordedPlayerBufferExecCompleted(); - } -} - -static void DoSwitchOutAnimation(void) -{ - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; - } - break; - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 1542838dbb..70b2ae6594 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -155,6 +155,7 @@ static void SpriteCB_Null4(void) void SetControllerToSafari(void) { + gBattlerControllerEndFuncs[gActiveBattler] = SafariBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 898f421780..76f653f1c0 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -169,6 +169,7 @@ static void SpriteCB_Null7(void) void SetControllerToWally(void) { + gBattlerControllerEndFuncs[gActiveBattler] = WallyBufferExecCompleted; gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; gBattleStruct->wallyBattleState = 0; gBattleStruct->wallyMovesState = 0; @@ -380,17 +381,6 @@ static void DoHitAnimBlinkSpriteEffect(void) } } -static void DoSwitchOutAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - WallyBufferExecCompleted(); - } -} - static void CompleteOnBankSpriteCallbackDummy2(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -427,17 +417,17 @@ static void CompleteOnFinishedStatusAnimation(void) static void WallyHandleGetMonData(void) { - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty, WallyBufferExecCompleted); + BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } static void WallyHandleGetRawMonData(void) { - BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty, WallyBufferExecCompleted); + BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty); } static void WallyHandleSetMonData(void) { - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty, WallyBufferExecCompleted); + BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); } static void WallyHandleSetRawMonData(void) @@ -457,18 +447,7 @@ static void WallyHandleSwitchInAnim(void) static void WallyHandleReturnMonToBall(void) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = DoSwitchOutAnimation; - } - else - { - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - WallyBufferExecCompleted(); - } + BtlController_HandleReturnMonToBall(gActiveBattler); } #define sSpeedX data[0] diff --git a/src/battle_controllers.c b/src/battle_controllers.c index ac619acb42..b9a25321af 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -4,6 +4,7 @@ #include "battle_anim.h" #include "battle_controllers.h" #include "battle_gfx_sfx_util.h" +#include "battle_interface.h" #include "battle_message.h" #include "battle_setup.h" #include "cable_club.h" @@ -18,7 +19,7 @@ static EWRAM_DATA u8 sLinkSendTaskId = 0; static EWRAM_DATA u8 sLinkReceiveTaskId = 0; -static EWRAM_DATA u8 sUnused = 0; // Debug? Never read +EWRAM_DATA void (*gBattlerControllerEndFuncs[MAX_BATTLERS_COUNT])(void) = {NULL}; // Controller's buffer complete function for each battler EWRAM_DATA struct UnusedControllerStruct gUnusedControllerStruct = {}; // Debug? Unused code that writes to it, never read static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {}; @@ -696,8 +697,6 @@ static void CreateTasksForSendRecvLinkBuffers(void) gTasks[sLinkReceiveTaskId].data[13] = 0; gTasks[sLinkReceiveTaskId].data[14] = 0; gTasks[sLinkReceiveTaskId].data[15] = 0; - - sUnused = 0; } enum @@ -1550,6 +1549,11 @@ void BtlController_EmitDebugMenu(u8 bufferId) } // Standardized Controller functions +void BattleControllerComplete(u32 battler) +{ + gBattlerControllerEndFuncs[battler](); +} + static u32 GetBattlerMonData(u32 battler, struct Pokemon *party, u32 monId, u8 *dst) { struct BattlePokemon battleMon; @@ -2109,7 +2113,46 @@ void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit) gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, (side == B_SIDE_OPPONENT) ? POKEBALL_OPPONENT_SENDOUT : POKEBALL_PLAYER_SENDOUT); } -void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +static void FreeMonSprite(u32 battler) +{ + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[battler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[battler]]); + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) + HideBattlerShadowSprite(battler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); +} + +static void FreeMonSpriteAfterSwitchOutAnim(void) +{ + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + { + FreeMonSprite(gActiveBattler); + BattleControllerComplete(gActiveBattler); + } +} + +static void DoSwitchOutAnimation(void) +{ + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) + { + case 0: + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; + break; + case 1: + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + { + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) ? B_ANIM_SWITCH_OUT_OPPONENT_MON : B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; + } + break; + } +} + +void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party) { u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data u32 size = 0; @@ -2131,10 +2174,10 @@ void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party, void (* } } BtlController_EmitDataTransfer(BUFFER_B, size, monData); - execCompleteFunc(); + BattleControllerComplete(battler); } -void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party) { struct BattlePokemon battleMon; u8 *src = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; @@ -2145,10 +2188,10 @@ void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party, void dst[i] = src[i]; BtlController_EmitDataTransfer(BUFFER_B, gBattleResources->bufferA[battler][2], dst); - execCompleteFunc(); + BattleControllerComplete(battler); } -void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party) { u32 i, monToCheck; @@ -2166,10 +2209,10 @@ void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party, void (* monToCheck >>= 1; } } - execCompleteFunc(); + BattleControllerComplete(battler); } -void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party, void (*execCompleteFunc)(void)) +void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party) { u32 i; u8 *dst = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; @@ -2177,7 +2220,7 @@ void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party, void for (i = 0; i < gBattleResources->bufferA[battler][2]; i++) dst[i] = gBattleResources->bufferA[battler][3 + i]; - execCompleteFunc(); + BattleControllerComplete(battler); } void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)) @@ -2213,3 +2256,17 @@ void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*c StartSendOutAnim(battler, gBattleResources->bufferA[battler][2]); gBattlerControllerFuncs[battler] = controllerFunc; } + +void BtlController_HandleReturnMonToBall(u32 battler) +{ + if (gBattleResources->bufferA[battler][1] == 0) + { + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; + gBattlerControllerFuncs[battler] = DoSwitchOutAnimation; + } + else + { + FreeMonSprite(battler); + BattleControllerComplete(battler); + } +} From 866c32a7352812f686b0d620b5a17b73eb6a8ae9 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 4 Aug 2023 14:17:28 -0400 Subject: [PATCH 112/256] Add temp var aliases --- asm/macros/battle_frontier/frontier_util.inc | 2 +- .../scripts.inc | 24 ++++++------- .../scripts.inc | 22 ++++++------ .../scripts.inc | 22 ++++++------ .../scripts.inc | 24 ++++++------- .../scripts.inc | 20 +++++------ .../scripts.inc | 8 ++--- .../scripts.inc | 6 ++-- .../scripts.inc | 22 ++++++------ .../scripts.inc | 6 ++-- .../scripts.inc | 34 +++++++++---------- data/maps/BattleFrontier_Lounge7/scripts.inc | 26 +++++++------- .../FallarborTown_BattleTentLobby/scripts.inc | 26 +++++++------- data/maps/FortreeCity_Gym/scripts.inc | 1 + .../scripts.inc | 6 ++-- .../MossdeepCity_StevensHouse/scripts.inc | 2 +- .../Route110_TrickHousePuzzle6/scripts.inc | 1 + .../Route119_WeatherInstitute_2F/scripts.inc | 2 +- .../RustboroCity_DevonCorp_2F/scripts.inc | 4 +-- .../SlateportCity_BattleTentLobby/scripts.inc | 22 ++++++------ .../scripts.inc | 26 +++++++------- data/scripts/cable_club.inc | 13 ++++--- data/scripts/pc_transfer.inc | 2 +- include/constants/flags.h | 3 ++ include/constants/vars.h | 16 ++++++++- src/battle_arena.c | 2 +- src/battle_dome.c | 2 +- src/battle_factory.c | 2 +- src/battle_palace.c | 2 +- src/battle_pike.c | 2 +- src/battle_pyramid.c | 4 +-- src/battle_setup.c | 4 +-- src/battle_tent.c | 6 ++-- src/battle_tower.c | 2 +- src/event_data.c | 11 ++---- src/field_specials.c | 4 +-- src/field_tasks.c | 3 ++ src/frontier_util.c | 12 +++---- src/record_mixing.c | 6 ++-- src/rotating_gate.c | 15 ++++---- src/tv.c | 5 +++ 41 files changed, 223 insertions(+), 199 deletions(-) diff --git a/asm/macros/battle_frontier/frontier_util.inc b/asm/macros/battle_frontier/frontier_util.inc index c875fcdde2..e40eccb5e7 100644 --- a/asm/macros/battle_frontier/frontier_util.inc +++ b/asm/macros/battle_frontier/frontier_util.inc @@ -1,4 +1,4 @@ - @ Get the status (CHALLENGE_STATUS_*) of the current challenge and store the result in VAR_TEMP_0 + @ Get the status (CHALLENGE_STATUS_*) of the current challenge and store the result in VAR_TEMP_CHALLENGE_STATUS .macro frontier_getstatus setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_STATUS special CallFrontierUtilFunc diff --git a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc index 9467f34197..5d9ee507ec 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/scripts.inc @@ -15,11 +15,11 @@ BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth:: end BattleFrontier_BattleArenaLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus:: @@ -33,7 +33,7 @@ BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving:: arena_set ARENA_DATA_WIN_STREAK, 0 arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -55,7 +55,7 @@ BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints:: call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -67,7 +67,7 @@ BattleFrontier_BattleArenaLobby_EventScript_LostChallenge:: call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -101,7 +101,7 @@ BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge BattleFrontier_BattleArenaLobby_EventScript_Attendant:: @@ -146,7 +146,7 @@ BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER arena_init arena_set ARENA_DATA_WIN_STREAK_ACTIVE, TRUE @@ -156,7 +156,7 @@ BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge:: special SavePlayerParty @@ -167,7 +167,7 @@ BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge:: call_if_eq VAR_RESULT, FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50 call_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 9, 13 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc index b972a0814c..9801b19fe5 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/scripts.inc @@ -21,11 +21,11 @@ BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth:: end BattleFrontier_BattleDomeLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus:: @@ -40,7 +40,7 @@ BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving:: dome_set DOME_DATA_WIN_STREAK_ACTIVE, FALSE dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -101,7 +101,7 @@ BattleFrontier_BattleDomeLobby_EventScript_RecordBattle:: BattleFrontier_BattleDomeLobby_EventScript_EndChallenge:: msgbox BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -114,7 +114,7 @@ BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendant:: @@ -173,7 +173,7 @@ BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER dome_init frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING @@ -182,7 +182,7 @@ BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed dome_inittrainers BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge:: @@ -194,7 +194,7 @@ BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge:: call BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor special HealPlayerParty warp MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 23, 6 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc index 682b2c91d1..be9caa0cd7 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/scripts.inc @@ -16,11 +16,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth:: end BattleFrontier_BattleFactoryLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus:: @@ -36,7 +36,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving:: factory_set FACTORY_DATA_WIN_STREAK, 0 factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -92,7 +92,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle:: BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle:: msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -104,7 +104,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 setvar VAR_0x8006, 2 goto BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge @@ -152,7 +152,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 factory_init frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, TRUE @@ -160,7 +160,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed setvar VAR_0x8006, 0 BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: @@ -173,7 +173,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge:: applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor waitmovement 0 warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 13 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc index 2a8903fe6f..e38ec6f7db 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/scripts.inc @@ -16,11 +16,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth:: end BattleFrontier_BattlePalaceLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus:: @@ -34,7 +34,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving:: palace_set PALACE_DATA_WIN_STREAK, 0 palace_set PALACE_DATA_WIN_STREAK_ACTIVE, FALSE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -56,7 +56,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints:: call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -68,7 +68,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge:: call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -103,7 +103,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge BattleFrontier_BattlePalaceLobby_EventScript_SinglesAttendant:: @@ -164,7 +164,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER palace_init palace_set PALACE_DATA_WIN_STREAK_ACTIVE, TRUE @@ -174,7 +174,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge:: special SavePlayerParty @@ -183,7 +183,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge:: closemessage call BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 8, 13 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc index 3e729e2121..faba545f0e 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc @@ -6,10 +6,10 @@ BattleFrontier_BattlePikeLobby_MapScripts:: .byte 0 BattleFrontier_BattlePikeLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattlePikeLobby_OnWarp: @@ -34,7 +34,7 @@ BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving:: pike_set PIKE_DATA_WIN_STREAK, 0 pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -67,7 +67,7 @@ BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints:: waitse msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -86,7 +86,7 @@ BattleFrontier_BattlePikeLobby_EventScript_LostChallenge:: waitse msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -132,7 +132,7 @@ BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 setvar VAR_TEMP_1, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER pike_init @@ -144,7 +144,7 @@ BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 pike_savehelditems goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed special SavePlayerParty @@ -156,7 +156,7 @@ BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge:: special HealPlayerParty call BattleFrontier_BattlePike_EventScript_CloseCurtain warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 6, 7 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc index e95ca9dcea..3547871444 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc @@ -7,9 +7,9 @@ BattleFrontier_BattlePikeThreePathRoom_MapScripts:: .byte 0 BattleFrontier_BattlePikeThreePathRoom_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint .2byte 0 @@ -40,7 +40,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 special SavePlayerParty frontier_setpartyorder FRONTIER_PARTY_SIZE msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge, MSGBOX_DEFAULT diff --git a/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc index a6b3f63c8e..ba9d996706 100644 --- a/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidFloor/scripts.inc @@ -6,7 +6,7 @@ BattleFrontier_BattlePyramidFloor_MapScripts:: BattleFrontier_BattlePyramidFloor_OnFrame: map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight - map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic + map_script_2 VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0, BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName .2byte 0 @@ -33,13 +33,13 @@ BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName:: BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic:: playbgm MUS_B_PYRAMID, FALSE - setvar VAR_TEMP_E, 1 + setvar VAR_TEMP_PLAYING_PYRAMID_MUSIC, 1 end BattleFrontier_BattlePyramidFloor_OnResume: pyramid_setfloorpal frontier_getstatus - switch VAR_TEMP_0 + switch VAR_TEMP_CHALLENGE_STATUS case 0, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc index 550644511b..25f5dc2b04 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/scripts.inc @@ -17,11 +17,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth: end BattleFrontier_BattlePyramidLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus:: @@ -38,7 +38,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving:: pyramid_set PYRAMID_DATA_WIN_STREAK, 0 pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -74,7 +74,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints:: waitse msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -96,7 +96,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge:: waitse msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -145,7 +145,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER pyramid_init pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, TRUE @@ -157,7 +157,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge:: special SavePlayerParty @@ -169,7 +169,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge:: setvar VAR_RESULT, 0 special HealPlayerParty warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 1, 1 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc index 385356c4ba..fa57635271 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/scripts.inc @@ -32,7 +32,7 @@ BattleFrontier_BattlePyramidTop_OnResume: BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus:: copyvar VAR_TEMP_C, VAR_RESULT frontier_getstatus - switch VAR_TEMP_0 + switch VAR_TEMP_CHALLENGE_STATUS case 0, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge @@ -43,13 +43,13 @@ BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus:: end BattleFrontier_BattlePyramidTop_OnFrame: - map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic + map_script_2 VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0, BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_ShowMapName .2byte 0 BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic:: playbgm MUS_B_PYRAMID_TOP, FALSE - setvar VAR_TEMP_E, 1 + setvar VAR_TEMP_PLAYING_PYRAMID_MUSIC, 1 end BattleFrontier_BattlePyramidTop_EventScript_ShowMapName:: diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc index 8d60105bd3..6162d0ada6 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc @@ -41,11 +41,11 @@ BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth:: end BattleFrontier_BattleTowerLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge .2byte 0 BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus:: @@ -60,7 +60,7 @@ BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving:: tower_set TOWER_DATA_WIN_STREAK, 0 tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 release end @@ -94,7 +94,7 @@ BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints:: BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge:: msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 release end @@ -113,7 +113,7 @@ BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying:: call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 release end @@ -214,7 +214,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge:: BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge:: frontier_set FRONTIER_DATA_SELECTED_MON_ORDER - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 tower_init tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE frontier_set FRONTIER_DATA_PAUSED, FALSE @@ -222,7 +222,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE @@ -277,7 +277,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge:: BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge:: frontier_set FRONTIER_DATA_SELECTED_MON_ORDER - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 tower_init tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE frontier_set FRONTIER_DATA_PAUSED, FALSE @@ -285,7 +285,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE @@ -341,7 +341,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge:: BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge:: frontier_set FRONTIER_DATA_SELECTED_MON_ORDER - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 tower_init tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE frontier_set FRONTIER_DATA_PAUSED, FALSE @@ -349,7 +349,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE @@ -404,7 +404,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge:: BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge:: frontier_set FRONTIER_DATA_SELECTED_MON_ORDER - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 tower_init tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE frontier_set FRONTIER_DATA_PAUSED, FALSE @@ -419,7 +419,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge:: tower_save 0 .endif call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed @ GAME_STAT_ENTERED_BATTLE_TOWER should not be incremented here, for two reasons: @ 1. It is incremented again in BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful or BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful @@ -602,7 +602,7 @@ BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad:: call BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 1, 6 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc index c52df3cafb..d2b6114a72 100644 --- a/data/maps/BattleFrontier_Lounge7/scripts.inc +++ b/data/maps/BattleFrontier_Lounge7/scripts.inc @@ -20,12 +20,12 @@ BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove:: message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage special ShowBattlePointsWindow - setvar VAR_TEMP_E, 0 + setvar VAR_TEMP_FRONTIER_TUTOR_ID, 0 setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1 setvar VAR_0x8006, 0 special ShowScrollableMultichoice waitstate - copyvar VAR_TEMP_D, VAR_RESULT + copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_Softboiled case 1, BattleFrontier_Lounge7_EventScript_SeismicToss @@ -44,12 +44,12 @@ BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove:: BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove:: message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage - setvar VAR_TEMP_E, 0 + setvar VAR_TEMP_FRONTIER_TUTOR_ID, 0 setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1 setvar VAR_0x8006, 1 special ShowScrollableMultichoice waitstate - copyvar VAR_TEMP_D, VAR_RESULT + copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_Softboiled case 1, BattleFrontier_Lounge7_EventScript_SeismicToss @@ -134,12 +134,12 @@ BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove:: message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage special ShowBattlePointsWindow - setvar VAR_TEMP_E, 1 + setvar VAR_TEMP_FRONTIER_TUTOR_ID, 1 setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2 setvar VAR_0x8006, 0 special ShowScrollableMultichoice waitstate - copyvar VAR_TEMP_D, VAR_RESULT + copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl case 1, BattleFrontier_Lounge7_EventScript_Snore @@ -158,12 +158,12 @@ BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove:: BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove:: message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage - setvar VAR_TEMP_E, 1 + setvar VAR_TEMP_FRONTIER_TUTOR_ID, 1 setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2 setvar VAR_0x8006, 1 special ShowScrollableMultichoice waitstate - copyvar VAR_TEMP_D, VAR_RESULT + copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT switch VAR_RESULT case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl case 1, BattleFrontier_Lounge7_EventScript_Snore @@ -243,11 +243,11 @@ BattleFrontier_Lounge7_EventScript_CancelChooseMon:: @ VAR_0x8008 is the price @ VAR_TEMP_C is the scroll multichoice ID -@ VAR_TEMP_D is the move selection -@ VAR_TEMP_E is which move tutor was spoken to +@ VAR_TEMP_FRONTIER_TUTOR_SELECTION is the move selection +@ VAR_TEMP_FRONTIER_TUTOR_ID is which move tutor was spoken to BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection:: - copyvar VAR_0x8004, VAR_TEMP_D - copyvar VAR_0x8005, VAR_TEMP_E + copyvar VAR_0x8004, VAR_TEMP_FRONTIER_TUTOR_SELECTION + copyvar VAR_0x8005, VAR_TEMP_FRONTIER_TUTOR_ID special BufferBattleFrontierTutorMoveName buffernumberstring STR_VAR_2, VAR_0x8008 copyvar VAR_0x8004, VAR_TEMP_C @@ -275,7 +275,7 @@ BattleFrontier_Lounge7_EventScript_TeachTutorMove:: end BattleFrontier_Lounge7_EventScript_ChooseNewMove:: - goto_if_eq VAR_TEMP_E, 0, BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove + goto_if_eq VAR_TEMP_FRONTIER_TUTOR_ID, 0, BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove goto BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove end diff --git a/data/maps/FallarborTown_BattleTentLobby/scripts.inc b/data/maps/FallarborTown_BattleTentLobby/scripts.inc index 1bcd04559c..8f705075c7 100644 --- a/data/maps/FallarborTown_BattleTentLobby/scripts.inc +++ b/data/maps/FallarborTown_BattleTentLobby/scripts.inc @@ -15,11 +15,11 @@ FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth:: end FallarborTown_BattleTentLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge .2byte 0 FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus:: @@ -31,7 +31,7 @@ FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving:: msgbox FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 releaseall end @@ -59,7 +59,7 @@ FallarborTown_BattleTentLobby_EventScript_GivePrize:: waitfanfare msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -67,7 +67,7 @@ FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize:: msgbox FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize, MSGBOX_DEFAULT waitmessage closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -87,7 +87,7 @@ FallarborTown_BattleTentLobby_EventScript_LostChallenge:: waitse msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -99,7 +99,7 @@ FallarborTown_BattleTentLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto FallarborTown_BattleTentLobby_EventScript_EnterChallenge FallarborTown_BattleTentLobby_EventScript_Attendant:: @@ -140,7 +140,7 @@ FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER fallarbortent_init frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING @@ -149,7 +149,7 @@ FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed FallarborTown_BattleTentLobby_EventScript_EnterChallenge:: special SavePlayerParty @@ -158,7 +158,7 @@ FallarborTown_BattleTentLobby_EventScript_EnterChallenge:: closemessage call FallarborTown_BattleTentLobby_EventScript_WalkToDoor warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 2, 7 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index 1c729bc44e..b43913f638 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -11,6 +11,7 @@ FortreeCity_Gym_OnWarp: map_script_2 VAR_TEMP_0, VAR_TEMP_0, FortreeCity_Gym_EventScript_InitRotatingGates .2byte 0 +@ NOTE: This rotating gate puzzle makes use of VAR_TEMP_0 - VAR_TEMP_3 FortreeCity_Gym_EventScript_InitRotatingGates:: special RotatingGate_InitPuzzleAndGraphics end diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index acf80f0e40..0c8a468ab0 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -339,7 +339,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime:: LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil:: bufferspeciesname STR_VAR_1, SPECIES_CYNDAQUIL - setvar VAR_TEMP_1, SPECIES_CYNDAQUIL + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_CYNDAQUIL givemon SPECIES_CYNDAQUIL, 5 goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC @@ -380,7 +380,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil:: LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile:: bufferspeciesname STR_VAR_1, SPECIES_TOTODILE - setvar VAR_TEMP_1, SPECIES_TOTODILE + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_TOTODILE givemon SPECIES_TOTODILE, 5 goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC @@ -421,7 +421,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile:: LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita:: bufferspeciesname STR_VAR_1, SPECIES_CHIKORITA - setvar VAR_TEMP_1, SPECIES_CHIKORITA + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_CHIKORITA givemon SPECIES_CHIKORITA, 5 goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 0470e977a6..7aa1277793 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -85,7 +85,7 @@ MossdeepCity_StevensHouse_EventScript_LeaveBeldum:: end MossdeepCity_StevensHouse_EventScript_GiveBeldum:: - setvar VAR_TEMP_1, SPECIES_BELDUM + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_BELDUM givemon SPECIES_BELDUM, 5 goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, MossdeepCity_StevensHouse_EventScript_SendBeldumParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, MossdeepCity_StevensHouse_EventScript_SendBeldumPC diff --git a/data/maps/Route110_TrickHousePuzzle6/scripts.inc b/data/maps/Route110_TrickHousePuzzle6/scripts.inc index e442d094d5..3a6d221e43 100644 --- a/data/maps/Route110_TrickHousePuzzle6/scripts.inc +++ b/data/maps/Route110_TrickHousePuzzle6/scripts.inc @@ -11,6 +11,7 @@ Route110_TrickHousePuzzle6_OnWarp: map_script_2 VAR_TEMP_0, VAR_TEMP_0, Route110_TrickHousePuzzle6_EventScript_InitPuzzle .2byte 0 +@ NOTE: This rotating gate puzzle makes use of VAR_TEMP_0 - VAR_TEMP_5 Route110_TrickHousePuzzle6_EventScript_InitPuzzle:: special RotatingGate_InitPuzzleAndGraphics end diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc index 2060cb03c9..e5df03d4a1 100644 --- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc +++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc @@ -88,7 +88,7 @@ Route119_WeatherInstitute_2F_EventScript_ShellyDefeated:: Route119_WeatherInstitute_2F_EventScript_ReceiveCastform:: msgbox Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon, MSGBOX_DEFAULT - setvar VAR_TEMP_1, SPECIES_CASTFORM + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_CASTFORM givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC diff --git a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc index 747070645c..ba3a259ec3 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/scripts.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/scripts.inc @@ -144,7 +144,7 @@ RustboroCity_DevonCorp_2F_EventScript_AnorithReady:: end RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep:: - setvar VAR_TEMP_1, SPECIES_LILEEP + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_LILEEP givemon SPECIES_LILEEP, 20 goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC @@ -189,7 +189,7 @@ RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep:: end RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith:: - setvar VAR_TEMP_1, SPECIES_ANORITH + setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_ANORITH givemon SPECIES_ANORITH, 20 goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 0d3fae875f..9416fe393f 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -15,11 +15,11 @@ SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth:: end SlateportCity_BattleTentLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_LostChallenge .2byte 0 SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus:: @@ -31,7 +31,7 @@ SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving:: msgbox SlateportCity_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT closemessage frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 releaseall end @@ -73,7 +73,7 @@ SlateportCity_BattleTentLobby_EventScript_LostChallenge:: SlateportCity_BattleTentLobby_EventScript_EndGivePrize:: msgbox SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -85,7 +85,7 @@ SlateportCity_BattleTentLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 setvar VAR_0x8006, 2 goto SlateportCity_BattleTentLobby_EventScript_EnterChallenge @@ -117,7 +117,7 @@ SlateportCity_BattleTentLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER slateporttent_init frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING @@ -125,7 +125,7 @@ SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed setvar VAR_0x8006, 0 SlateportCity_BattleTentLobby_EventScript_EnterChallenge:: @@ -133,7 +133,7 @@ SlateportCity_BattleTentLobby_EventScript_EnterChallenge:: closemessage call SlateportCity_BattleTentLobby_EventScript_WalkToDoor warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 2, 7 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index a78a6a78ed..d19f3eb266 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -15,11 +15,11 @@ VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth:: end VerdanturfTown_BattleTentLobby_OnFrame: - map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_WonChallenge - map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_LostChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_WonChallenge + map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_LostChallenge .2byte 0 VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus:: @@ -31,7 +31,7 @@ VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving:: msgbox BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge, MSGBOX_DEFAULT closemessage frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0 - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50 releaseall end @@ -59,7 +59,7 @@ VerdanturfTown_BattleTentLobby_EventScript_GivePrize:: waitfanfare msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -67,7 +67,7 @@ VerdanturfTown_BattleTentLobby_EventScript_NoRoomForPrize:: msgbox BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize, MSGBOX_DEFAULT waitmessage closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -87,7 +87,7 @@ VerdanturfTown_BattleTentLobby_EventScript_LostChallenge:: waitse msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT closemessage - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 releaseall end @@ -100,7 +100,7 @@ VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge:: playse SE_SAVE waitse frontier_set FRONTIER_DATA_PAUSED, FALSE - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge VerdanturfTown_BattleTentLobby_EventScript_Attendant:: @@ -141,7 +141,7 @@ VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge:: case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 frontier_set FRONTIER_DATA_SELECTED_MON_ORDER verdanturftent_init frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING @@ -150,7 +150,7 @@ VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge:: closemessage delay 2 call Common_EventScript_SaveGame - setvar VAR_TEMP_0, 255 + setvar VAR_TEMP_CHALLENGE_STATUS, 255 goto_if_eq VAR_RESULT, 0, VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge:: special SavePlayerParty @@ -159,7 +159,7 @@ VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge:: closemessage call VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 2, 7 - setvar VAR_TEMP_0, 0 + setvar VAR_TEMP_CHALLENGE_STATUS, 0 waitstate end diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc index 0ab93c4037..e810e354a5 100644 --- a/data/scripts/cable_club.inc +++ b/data/scripts/cable_club.inc @@ -743,37 +743,36 @@ EventScript_TradeCenter_Chair3:: waitstate end -@ VAR_TEMP_1 for below scripts set by ReceiveGiftItem EventScript_RecordCenter_Spot0:: setvar VAR_0x8005, 0 special RecordMixingPlayerSpotTriggered waitstate - goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem + goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem end EventScript_RecordCenter_Spot1:: setvar VAR_0x8005, 1 special RecordMixingPlayerSpotTriggered waitstate - goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem + goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem end EventScript_RecordCenter_Spot2:: setvar VAR_0x8005, 2 special RecordMixingPlayerSpotTriggered waitstate - goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem + goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem end EventScript_RecordCenter_Spot3:: setvar VAR_0x8005, 3 special RecordMixingPlayerSpotTriggered waitstate - goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem + goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem end RecordCorner_EventScript_ReceivedGiftItem:: - bufferitemname STR_VAR_2, VAR_TEMP_1 + bufferitemname STR_VAR_2, VAR_TEMP_RECORD_MIX_GIFT_ITEM message RecordCorner_Text_PlayerSentOverOneX waitmessage waitbuttonpress @@ -814,7 +813,7 @@ TradeCenter_EventScript_Attendant:: end RecordCorner_EventScript_Attendant:: - goto_if_ne VAR_TEMP_0, 0, RecordCorner_EventScript_AlreadyMixed + goto_if_ne VAR_TEMP_MIXED_RECORDS, 0, RecordCorner_EventScript_AlreadyMixed special Script_FacePlayer message RecordCorner_Text_TakeSeatAndWait waitmessage diff --git a/data/scripts/pc_transfer.inc b/data/scripts/pc_transfer.inc index 1204bece36..f279740caa 100644 --- a/data/scripts/pc_transfer.inc +++ b/data/scripts/pc_transfer.inc @@ -15,7 +15,7 @@ Common_EventScript_NameReceivedBoxMon:: Common_EventScript_TransferredToPC:: bufferboxname STR_VAR_1, VAR_PC_BOX_TO_SEND_MON - bufferspeciesname STR_VAR_2, VAR_TEMP_1 + bufferspeciesname STR_VAR_2, VAR_TEMP_TRANSFERRED_SPECIES call_if_unset FLAG_SYS_PC_LANETTE, EventScript_TransferredSomeonesPC call_if_set FLAG_SYS_PC_LANETTE, EventScript_TransferredLanettesPC return diff --git a/include/constants/flags.h b/include/constants/flags.h index 5761fb0eda..9bd2775a6b 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -40,6 +40,7 @@ #define FLAG_TEMP_1E (TEMP_FLAGS_START + 0x1E) #define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F) #define TEMP_FLAGS_END FLAG_TEMP_1F +#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1) #define FLAG_UNUSED_0x020 0x20 // Unused Flag #define FLAG_UNUSED_0x021 0x21 // Unused Flag @@ -1631,6 +1632,7 @@ #define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag #define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag #define DAILY_FLAGS_END (FLAG_UNUSED_0x95F + (7 - FLAG_UNUSED_0x95F % 8)) +#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1) #define FLAGS_COUNT (DAILY_FLAGS_END + 1) @@ -1643,6 +1645,7 @@ #define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4) // FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused #define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F) +#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1) // Temp flag aliases #define FLAG_TEMP_SKIP_GABBY_INTERVIEW FLAG_TEMP_1 diff --git a/include/constants/vars.h b/include/constants/vars.h index e0b08f4475..e79919c329 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -9,7 +9,7 @@ #define VAR_TEMP_0 (TEMP_VARS_START + 0x0) #define VAR_TEMP_1 (TEMP_VARS_START + 0x1) #define VAR_TEMP_2 (TEMP_VARS_START + 0x2) -#define VAR_TEMP_3 (TEMP_VARS_START + 0x3) +#define VAR_TEMP_3 (TEMP_VARS_START + 0x3) // Note: Used when the player checks a TV #define VAR_TEMP_4 (TEMP_VARS_START + 0x4) #define VAR_TEMP_5 (TEMP_VARS_START + 0x5) #define VAR_TEMP_6 (TEMP_VARS_START + 0x6) @@ -23,6 +23,7 @@ #define VAR_TEMP_E (TEMP_VARS_START + 0xE) #define VAR_TEMP_F (TEMP_VARS_START + 0xF) #define TEMP_VARS_END VAR_TEMP_F +#define NUM_TEMP_VARS (TEMP_VARS_END - TEMP_VARS_START + 1) // object gfx id vars // These 0x10 vars are used to dynamically control a map object's sprite. @@ -310,4 +311,17 @@ // cutscenes nor call a wait command. Used for weather effects in vanilla. #define TRIGGER_RUN_IMMEDIATELY 0 +// Temp var aliases +#define VAR_TEMP_CHALLENGE_STATUS VAR_TEMP_0 + +#define VAR_TEMP_MIXED_RECORDS VAR_TEMP_0 +#define VAR_TEMP_RECORD_MIX_GIFT_ITEM VAR_TEMP_1 + +#define VAR_TEMP_PLAYING_PYRAMID_MUSIC VAR_TEMP_E + +#define VAR_TEMP_FRONTIER_TUTOR_SELECTION VAR_TEMP_D +#define VAR_TEMP_FRONTIER_TUTOR_ID VAR_TEMP_E + +#define VAR_TEMP_TRANSFERRED_SPECIES VAR_TEMP_1 + #endif // GUARD_CONSTANTS_VARS_H diff --git a/src/battle_arena.c b/src/battle_arena.c index ed0fa2550a..98ec43fc1d 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -737,7 +737,7 @@ static void SetArenaData(void) static void SaveArenaChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } diff --git a/src/battle_dome.c b/src/battle_dome.c index 32a43c3d94..d81988fef2 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2990,7 +2990,7 @@ static void SetDomeOpponentGraphicsId(void) static void SaveDomeChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } diff --git a/src/battle_factory.c b/src/battle_factory.c index eac9f0403e..97047bd634 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -269,7 +269,7 @@ static void SetBattleFactoryData(void) static void SaveFactoryChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } diff --git a/src/battle_palace.c b/src/battle_palace.c index 0fa65200a6..a521acea2b 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -181,7 +181,7 @@ static void IncrementPalaceStreak(void) static void SavePalaceChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } diff --git a/src/battle_pike.c b/src/battle_pike.c index 462ae4f383..30a6126f94 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -708,7 +708,7 @@ static void ClearInWildMonRoom(void) static void SavePikeChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveMapView(); TrySavingData(SAVE_LINK); diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 07d7772f42..8e1cbc5167 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -929,7 +929,7 @@ static void SetBattlePyramidData(void) static void SavePyramidChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveMapView(); TrySavingData(SAVE_LINK); @@ -1439,7 +1439,7 @@ void PausePyramidChallenge(void) { RestorePyramidPlayerParty(); gSaveBlock2Ptr->frontier.challengeStatus = CHALLENGE_STATUS_PAUSED; - VarSet(VAR_TEMP_E, 0); + VarSet(VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0); LoadPlayerParty(); } } diff --git a/src/battle_setup.c b/src/battle_setup.c index cc1ad70fed..fc1586a5f2 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -407,7 +407,7 @@ static void DoStandardWildBattle(void) gBattleTypeFlags = 0; if (InBattlePyramid()) { - VarSet(VAR_TEMP_E, 0); + VarSet(VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0); gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; } CreateBattleStartTask(GetWildBattleTransition(), 0); @@ -1277,7 +1277,7 @@ void BattleSetup_StartTrainerBattle(void) if (InBattlePyramid()) { - VarSet(VAR_TEMP_E, 0); + VarSet(VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0); gBattleTypeFlags |= BATTLE_TYPE_PYRAMID; if (gNoOfApproachingTrainers == 2) diff --git a/src/battle_tent.c b/src/battle_tent.c index e51ac38a5a..f0f7363f31 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -140,7 +140,7 @@ static void BufferVerdanturfTentTrainerIntro(void) static void SaveVerdanturfTentChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } @@ -190,7 +190,7 @@ static void SetFallarborTentPrize(void) static void SaveFallarborTentChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } @@ -245,7 +245,7 @@ static void SetSlateportTentPrize(void) static void SaveSlateportTentChallenge(void) { gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } diff --git a/src/battle_tower.c b/src/battle_tower.c index 8838b5f2d2..d79418791b 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2200,7 +2200,7 @@ static void SaveTowerChallenge(void) SaveBattleTowerRecord(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; - VarSet(VAR_TEMP_0, 0); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; SaveGameFrontier(); } diff --git a/src/event_data.c b/src/event_data.c index 22ebdb0d1d..e3ee3dedb2 100644 --- a/src/event_data.c +++ b/src/event_data.c @@ -2,11 +2,6 @@ #include "event_data.h" #include "pokedex.h" -#define NUM_SPECIAL_FLAGS (SPECIAL_FLAGS_END - SPECIAL_FLAGS_START + 1) -#define NUM_TEMP_FLAGS (TEMP_FLAGS_END - TEMP_FLAGS_START + 1) -#define NUM_DAILY_FLAGS (DAILY_FLAGS_END - DAILY_FLAGS_START + 1) -#define NUM_TEMP_VARS (TEMP_VARS_END - TEMP_VARS_START + 1) - #define SPECIAL_FLAGS_SIZE (NUM_SPECIAL_FLAGS / 8) // 8 flags per byte #define TEMP_FLAGS_SIZE (NUM_TEMP_FLAGS / 8) #define DAILY_FLAGS_SIZE (NUM_DAILY_FLAGS / 8) @@ -43,8 +38,8 @@ void InitEventData(void) void ClearTempFieldEventData(void) { - memset(gSaveBlock1Ptr->flags + (TEMP_FLAGS_START / 8), 0, TEMP_FLAGS_SIZE); - memset(gSaveBlock1Ptr->vars + ((TEMP_VARS_START - VARS_START) * 2), 0, TEMP_VARS_SIZE); + memset(&gSaveBlock1Ptr->flags[TEMP_FLAGS_START / 8], 0, TEMP_FLAGS_SIZE); + memset(&gSaveBlock1Ptr->vars[TEMP_VARS_START - VARS_START], 0, TEMP_VARS_SIZE); FlagClear(FLAG_SYS_ENC_UP_ITEM); FlagClear(FLAG_SYS_ENC_DOWN_ITEM); FlagClear(FLAG_SYS_USE_STRENGTH); @@ -54,7 +49,7 @@ void ClearTempFieldEventData(void) void ClearDailyFlags(void) { - memset(gSaveBlock1Ptr->flags + (DAILY_FLAGS_START / 8), 0, DAILY_FLAGS_SIZE); + memset(&gSaveBlock1Ptr->flags[DAILY_FLAGS_START / 8], 0, DAILY_FLAGS_SIZE); } void DisableNationalPokedex(void) diff --git a/src/field_specials.c b/src/field_specials.c index 38746c97a4..b6f79b588a 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3193,8 +3193,8 @@ void GetBattleFrontierTutorMoveIndex(void) u16 moveIndex = 0; gSpecialVar_0x8005 = 0; - moveTutor = VarGet(VAR_TEMP_E); - moveIndex = VarGet(VAR_TEMP_D); + moveTutor = VarGet(VAR_TEMP_FRONTIER_TUTOR_ID); + moveIndex = VarGet(VAR_TEMP_FRONTIER_TUTOR_SELECTION); if (moveTutor != 0) { diff --git a/src/field_tasks.c b/src/field_tasks.c index dec5cba800..8683301f26 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -100,6 +100,9 @@ static const struct PacifidlogMetatileOffsets sFloatingBridgeMetatileOffsets[] = }; // Each element corresponds to a y coordinate row in the sootopolis gym 1F map. +// The rows with ice each have a temp var used to track the ice steps. Each bit in the var +// represents whether ice at that x coordinate (starting from the left edge) has been visited. +// This method of tracking steps will break if the ice puzzle is more than 16 map spaces wide. static const u16 sSootopolisGymIceRowVars[] = { 0, diff --git a/src/frontier_util.c b/src/frontier_util.c index 8cd385e653..8f96fbf89e 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -789,28 +789,28 @@ void CallFrontierUtilFunc(void) sFrontierUtilFuncs[gSpecialVar_0x8004](); } -// Buffers into VAR_TEMP_0 specifically because this is used to react to the status in OnFrame map scripts +// VAR_TEMP_CHALLENGE_STATUS is used to react to the status in OnFrame map scripts static void GetChallengeStatus(void) { - VarSet(VAR_TEMP_0, 0xFF); + VarSet(VAR_TEMP_CHALLENGE_STATUS, 0xFF); switch (gSaveBlock2Ptr->frontier.challengeStatus) { case 0: break; case CHALLENGE_STATUS_SAVING: FrontierGamblerSetWonOrLost(FALSE); - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); + VarSet(VAR_TEMP_CHALLENGE_STATUS, gSaveBlock2Ptr->frontier.challengeStatus); break; case CHALLENGE_STATUS_LOST: FrontierGamblerSetWonOrLost(FALSE); - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); + VarSet(VAR_TEMP_CHALLENGE_STATUS, gSaveBlock2Ptr->frontier.challengeStatus); break; case CHALLENGE_STATUS_WON: FrontierGamblerSetWonOrLost(TRUE); - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); + VarSet(VAR_TEMP_CHALLENGE_STATUS, gSaveBlock2Ptr->frontier.challengeStatus); break; case CHALLENGE_STATUS_PAUSED: - VarSet(VAR_TEMP_0, gSaveBlock2Ptr->frontier.challengeStatus); + VarSet(VAR_TEMP_CHALLENGE_STATUS, gSaveBlock2Ptr->frontier.challengeStatus); break; } } diff --git a/src/record_mixing.c b/src/record_mixing.c index d6edd078b7..c5d915a9db 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -318,7 +318,7 @@ static void Task_RecordMixing_Main(u8 taskId) sSentRecord = Alloc(sizeof(*sSentRecord)); sReceivedRecords = Alloc(sizeof(*sReceivedRecords) * MAX_LINK_PLAYERS); SetLocalLinkPlayerId(gSpecialVar_0x8005); - VarSet(VAR_TEMP_0, 1); + VarSet(VAR_TEMP_MIXED_RECORDS, 1); sReadyToReceive = FALSE; PrepareExchangePacket(); CreateRecordMixingLights(); @@ -972,14 +972,14 @@ static void ReceiveGiftItem(u16 *item, u8 multiplayerId) { if (!CheckBagHasItem(*item, 1) && !CheckPCHasItem(*item, 1) && AddBagItem(*item, 1)) { - VarSet(VAR_TEMP_1, *item); + VarSet(VAR_TEMP_RECORD_MIX_GIFT_ITEM, *item); StringCopy(gStringVar1, gLinkPlayers[0].name); if (*item == ITEM_EON_TICKET) FlagSet(FLAG_ENABLE_SHIP_SOUTHERN_ISLAND); } else { - VarSet(VAR_TEMP_1, ITEM_NONE); + VarSet(VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE); } } } diff --git a/src/rotating_gate.c b/src/rotating_gate.c index f9e732eb74..0b0c68a836 100644 --- a/src/rotating_gate.c +++ b/src/rotating_gate.c @@ -17,12 +17,10 @@ #define GATE_ROT_ACW(arm, longArm) GATE_ROT(ROTATE_ANTICLOCKWISE, arm, longArm) #define GATE_ROT_NONE 255 -// static functions static void SpriteCallback_RotatingGate(struct Sprite *sprite); static u8 RotatingGate_CreateGate(u8 gateId, s16 deltaX, s16 deltaY); static void RotatingGate_HideGatesOutsideViewport(struct Sprite *sprite); -// enums enum { /* @@ -180,7 +178,6 @@ enum PUZZLE_ROUTE110_TRICK_HOUSE_PUZZLE6, }; -// structure struct RotatingGatePuzzle { s16 x; @@ -189,7 +186,6 @@ struct RotatingGatePuzzle u8 orientation; }; -// .rodata // Fortree static const struct RotatingGatePuzzle sRotatingGate_FortreePuzzleConfig[] = { @@ -219,6 +215,15 @@ static const struct RotatingGatePuzzle sRotatingGate_TrickHousePuzzleConfig[] = {10, 19, GATE_SHAPE_L3, GATE_ORIENTATION_180}, }; +#define MAX_GATES max(ARRAY_COUNT(sRotatingGate_FortreePuzzleConfig), \ + ARRAY_COUNT(sRotatingGate_TrickHousePuzzleConfig)) + +// Rotating gate puzzles use the temp vars as a byte array to track the orientation of each gate. +// The assert below makes sure the existing puzzles don't have too many gates, and aren't quietly +// using vars outside the temp vars. Aside from potentially reading/writing vars being used for +// something else, using vars that persist when exiting the map could softlock the puzzle. +STATIC_ASSERT(MAX_GATES <= (2 * NUM_TEMP_VARS), TooManyRotatingGates) + static const u8 sRotatingGateTiles_1[] = INCBIN_U8("graphics/rotating_gates/l1.4bpp"); static const u8 sRotatingGateTiles_2[] = INCBIN_U8("graphics/rotating_gates/l2.4bpp"); static const u8 sRotatingGateTiles_3[] = INCBIN_U8("graphics/rotating_gates/l3.4bpp"); @@ -639,9 +644,7 @@ static void RotatingGate_ResetAllGateOrientations(void) u8 *ptr = (u8 *)GetVarPointer(VAR_TEMP_0); for (i = 0; i < sRotatingGate_PuzzleCount; i++) - { ptr[i] = sRotatingGate_PuzzleConfig[i].orientation; - } } static s32 RotatingGate_GetGateOrientation(u8 gateId) diff --git a/src/tv.c b/src/tv.c index 696e0519ba..e8d0145f21 100644 --- a/src/tv.c +++ b/src/tv.c @@ -3384,6 +3384,7 @@ u8 CheckForPlayersHouseNews(void) void GetMomOrDadStringForTVMessage(void) { + // If the player is checking the TV in their house it will only refer to their Mom. if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)) { if (gSaveBlock2Ptr->playerGender == MALE) @@ -3413,6 +3414,7 @@ void GetMomOrDadStringForTVMessage(void) } else if (VarGet(VAR_TEMP_3) > 2) { + // Should only happen if VAR_TEMP_3 is already in use by something else. if (VarGet(VAR_TEMP_3) % 2 == 0) StringCopy(gStringVar1, gText_Mom); else @@ -3420,6 +3422,9 @@ void GetMomOrDadStringForTVMessage(void) } else { + // Randomly choose whether to refer to Mom or Dad. + // NOTE: Because of this, any map that has a TV in it shouldn't rely on VAR_TEMP_3. + // If its value is 0, checking the TV will set it to 1 or 2. if (Random() % 2 != 0) { StringCopy(gStringVar1, gText_Mom); From c72bb273254c74f9c1f595f95eca1fbc02faae84 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 4 Aug 2023 22:15:39 +0200 Subject: [PATCH 113/256] faint animation --- include/battle_controllers.h | 5 +- src/battle_controller_link_opponent.c | 26 +------- src/battle_controller_link_partner.c | 40 +---------- src/battle_controller_opponent.c | 26 +------- src/battle_controller_player.c | 40 +---------- src/battle_controller_player_partner.c | 40 +---------- src/battle_controller_recorded_opponent.c | 26 +------- src/battle_controller_recorded_player.c | 40 +---------- src/battle_controllers.c | 81 ++++++++++++++++++++--- src/battle_main.c | 8 +-- 10 files changed, 86 insertions(+), 246 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 14bf29606f..0e7715e9f0 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -258,9 +258,10 @@ void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party); void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party); void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party); void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party); -void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)); -void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerFunc)(void)); +void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)); +void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); void BtlController_HandleReturnMonToBall(u32 battler); +void BtlController_HandleFaintAnimation(u32 battler); // player controller void SetControllerToPlayer(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 873dee9c6c..2b195e5993 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -392,15 +392,6 @@ static void CompleteOnHealthbarDone(void) LinkOpponentBufferExecCompleted(); } -static void HideHealthboxAfterMonFaint(void) -{ - if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) - { - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - LinkOpponentBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -680,22 +671,7 @@ static void LinkOpponentHandleTrainerSlideBack(void) static void LinkOpponentHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - PlaySE12WithPanning(SE_FAINT, SOUND_PAN_TARGET); - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon; - gBattlerControllerFuncs[gActiveBattler] = HideHealthboxAfterMonFaint; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } static void LinkOpponentHandlePaletteFade(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 3756dda923..073fb9823d 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -286,20 +286,6 @@ static void CompleteOnHealthbarDone(void) } } -static void FreeMonSpriteAfterFaintAnim(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT) - { - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleGfxSfxDummy2(species); - FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - LinkPartnerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -510,35 +496,11 @@ static void LinkPartnerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -#define sSpeedX data[1] -#define sSpeedY data[2] - static void LinkPartnerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlaySE12WithPanning(SE_FAINT, SOUND_PAN_ATTACKER); - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 0; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedY = 5; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintSlideAnim; - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterFaintAnim; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } -#undef sSpeedX -#undef sSpeedY - static void LinkPartnerHandlePaletteFade(void) { LinkPartnerBufferExecCompleted(); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 4323beba5b..2cdc9f6620 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -416,15 +416,6 @@ static void CompleteOnHealthbarDone(void) OpponentBufferExecCompleted(); } -static void HideHealthboxAfterMonFaint(void) -{ - if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) - { - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - OpponentBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -742,22 +733,7 @@ static void OpponentHandleTrainerSlideBack(void) static void OpponentHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - PlaySE12WithPanning(SE_FAINT, SOUND_PAN_TARGET); - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon; - gBattlerControllerFuncs[gActiveBattler] = HideHealthboxAfterMonFaint; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } static void OpponentHandlePaletteFade(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 1a6f1f9edb..fc5ca9fde6 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1529,20 +1529,6 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) DestroyTask(taskId); } -static void FreeMonSpriteAfterFaintAnim(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT) - { - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleGfxSfxDummy2(species); - FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - PlayerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter2(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -1965,35 +1951,11 @@ static void PlayerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -#define sSpeedX data[1] -#define sSpeedY data[2] - static void PlayerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlaySE12WithPanning(SE_FAINT, SOUND_PAN_ATTACKER); - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 0; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedY = 5; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintSlideAnim; - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterFaintAnim; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } -#undef sSpeedX -#undef sSpeedY - static void PlayerHandlePaletteFade(void) { BeginNormalPaletteFade(PALETTES_ALL, 2, 0, 16, RGB_BLACK); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 87f7b5c270..65295ebaad 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -465,20 +465,6 @@ static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) DestroyTask(taskId); } -static void FreeMonSpriteAfterFaintAnim(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT) - { - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleGfxSfxDummy2(species); - FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - PlayerPartnerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter2(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -702,35 +688,11 @@ static void PlayerPartnerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -#define sSpeedX data[1] -#define sSpeedY data[2] - static void PlayerPartnerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlaySE12WithPanning(SE_FAINT, SOUND_PAN_ATTACKER); - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 0; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedY = 5; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintSlideAnim; - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterFaintAnim; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } -#undef sSpeedX -#undef sSpeedY - static void PlayerPartnerHandlePaletteFade(void) { PlayerPartnerBufferExecCompleted(); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 3aedbe4c33..40fe8a56c7 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -382,15 +382,6 @@ static void CompleteOnHealthbarDone(void) RecordedOpponentBufferExecCompleted(); } -static void HideHealthboxAfterMonFaint(void) -{ - if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) - { - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - RecordedOpponentBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -615,22 +606,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void) static void RecordedOpponentHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - PlaySE12WithPanning(SE_FAINT, SOUND_PAN_TARGET); - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintOpponentMon; - gBattlerControllerFuncs[gActiveBattler] = HideHealthboxAfterMonFaint; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } static void RecordedOpponentHandlePaletteFade(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 2846e1bef8..2e208f2396 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -362,20 +362,6 @@ static void CompleteOnHealthbarDone(void) } } -static void FreeMonSpriteAfterFaintAnim(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].y + gSprites[gBattlerSpriteIds[gActiveBattler]].y2 > DISPLAY_HEIGHT) - { - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - BattleGfxSfxDummy2(species); - FreeOamMatrix(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.matrixNum); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - RecordedPlayerBufferExecCompleted(); - } -} - static void CompleteOnInactiveTextPrinter(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -613,35 +599,11 @@ static void RecordedPlayerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -#define sSpeedX data[1] -#define sSpeedY data[2] - static void RecordedPlayerHandleFaintAnimation(void) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState == 0) - { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState++; - } - else - { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlaySE12WithPanning(SE_FAINT, -64); - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 0; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedY = 5; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_FaintSlideAnim; - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterFaintAnim; - } - } + BtlController_HandleFaintAnimation(gActiveBattler); } -#undef sSpeedX -#undef sSpeedY - static void RecordedPlayerHandlePaletteFade(void) { RecordedPlayerBufferExecCompleted(); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index b9a25321af..5f5a0fcfc3 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -13,9 +13,11 @@ #include "party_menu.h" #include "recorded_battle.h" #include "string_util.h" +#include "sound.h" #include "task.h" #include "util.h" #include "constants/abilities.h" +#include "constants/songs.h" static EWRAM_DATA u8 sLinkSendTaskId = 0; static EWRAM_DATA u8 sLinkReceiveTaskId = 0; @@ -2122,7 +2124,7 @@ static void FreeMonSprite(u32 battler) SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); } -static void FreeMonSpriteAfterSwitchOutAnim(void) +static void Controller_ReturnMonToBall2(void) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) { @@ -2131,7 +2133,7 @@ static void FreeMonSpriteAfterSwitchOutAnim(void) } } -static void DoSwitchOutAnimation(void) +static void Controller_ReturnMonToBall(void) { switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) { @@ -2146,12 +2148,35 @@ static void DoSwitchOutAnimation(void) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) ? B_ANIM_SWITCH_OUT_OPPONENT_MON : B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = FreeMonSpriteAfterSwitchOutAnim; + gBattlerControllerFuncs[gActiveBattler] = Controller_ReturnMonToBall2; } break; } } +static void Controller_FaintPlayerMon(void) +{ + u32 spriteId = gBattlerSpriteIds[gActiveBattler]; + if (gSprites[spriteId].y + gSprites[spriteId].y2 > DISPLAY_HEIGHT) + { + BattleGfxSfxDummy2(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + FreeOamMatrix(gSprites[spriteId].oam.matrixNum); + DestroySprite(&gSprites[spriteId]); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); + BattleControllerComplete(gActiveBattler); + } +} + +static void Controller_FaintOpponentMon(void) +{ + if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) + { + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); + BattleControllerComplete(gActiveBattler); + } +} + +// Handlers of all the controller commands void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party) { u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data @@ -2223,7 +2248,7 @@ void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party) BattleControllerComplete(battler); } -void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerFunc)(void)) +void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)) { u16 species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); @@ -2243,10 +2268,10 @@ void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void SetBattlerShadowSpriteCallback(battler, species); - gBattlerControllerFuncs[battler] = controllerFunc; + gBattlerControllerFuncs[battler] = controllerCallback; } -void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerFunc)(void)) +void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)) { if (isPlayerSide) ClearTemporarySpeciesSpriteData(battler, gBattleResources->bufferA[battler][2]); @@ -2254,7 +2279,7 @@ void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*c if (isPlayerSide) BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); StartSendOutAnim(battler, gBattleResources->bufferA[battler][2]); - gBattlerControllerFuncs[battler] = controllerFunc; + gBattlerControllerFuncs[battler] = controllerCallback; } void BtlController_HandleReturnMonToBall(u32 battler) @@ -2262,7 +2287,7 @@ void BtlController_HandleReturnMonToBall(u32 battler) if (gBattleResources->bufferA[battler][1] == 0) { gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; - gBattlerControllerFuncs[battler] = DoSwitchOutAnimation; + gBattlerControllerFuncs[battler] = Controller_ReturnMonToBall; } else { @@ -2270,3 +2295,43 @@ void BtlController_HandleReturnMonToBall(u32 battler) BattleControllerComplete(battler); } } + +#define sSpeedX data[1] +#define sSpeedY data[2] + +void BtlController_HandleFaintAnimation(u32 battler) +{ + if (gBattleSpritesDataPtr->healthBoxesData[battler].animationState == 0) + { + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->healthBoxesData[battler].animationState++; + } + else + { + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) + { + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + { + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + gSprites[gBattlerSpriteIds[battler]].sSpeedX = 0; + gSprites[gBattlerSpriteIds[battler]].sSpeedY = 5; + PlaySE12WithPanning(SE_FAINT, SOUND_PAN_ATTACKER); + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_FaintSlideAnim; + gBattlerControllerFuncs[battler] = Controller_FaintPlayerMon; + } + else + { + PlaySE12WithPanning(SE_FAINT, SOUND_PAN_TARGET); + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_FaintOpponentMon; + gBattlerControllerFuncs[battler] = Controller_FaintOpponentMon; + } + // The player's sprite callback just slides the mon, the opponent's removes the sprite. + // The player's sprite is removed in Controller_FaintPlayerMon. Controller_FaintOpponentMon only removes the healthbox once the sprite is removed by SpriteCB_FaintOpponentMon. + } + } +} + +#undef sSpeedX +#undef sSpeedY diff --git a/src/battle_main.c b/src/battle_main.c index eea745356a..77499d6e0e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -565,8 +565,8 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; -#if DEBUG_OVERWORLD_MENU == FALSE - +#if DEBUG_OVERWORLD_MENU == FALSE + gBattleTerrain = BattleSetup_GetTerrainId(); #else if (!gIsDebugBattle) @@ -594,7 +594,7 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); -#if DEBUG_OVERWORLD_MENU == FALSE +#if DEBUG_OVERWORLD_MENU == FALSE if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); @@ -2815,8 +2815,6 @@ void SpriteCB_FaintOpponentMon(struct Sprite *sprite) else species = sprite->sSpeciesId; - GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_PERSONALITY); // Unused return value. - if (species == SPECIES_UNOWN) { species = GetUnownSpeciesId(personality); From 41847cd5aa45f3fd171e2f014d53dfc8b011913c Mon Sep 17 00:00:00 2001 From: GriffinR Date: Fri, 4 Aug 2023 16:27:45 -0400 Subject: [PATCH 114/256] STAT_ANIM constant usage --- include/battle_anim.h | 20 ++++++++-- src/battle_anim_status_effects.c | 68 ++++++++++++++++---------------- src/battle_anim_utility_funcs.c | 17 ++++---- src/battle_script_commands.c | 16 ++++---- src/battle_util.c | 10 ++--- 5 files changed, 71 insertions(+), 60 deletions(-) diff --git a/include/battle_anim.h b/include/battle_anim.h index f99af9059b..455bf5f4cd 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -192,14 +192,26 @@ u8 GetBattlerSpriteDefault_Y(u8 battlerId); u8 GetSubstituteSpriteDefault_Y(u8 battlerId); // battle_anim_status_effects.c -#define STAT_ANIM_PLUS1 15 -#define STAT_ANIM_PLUS2 39 -#define STAT_ANIM_MINUS1 22 -#define STAT_ANIM_MINUS2 46 +#define STAT_ANIM_PLUS1 14 +#define STAT_ANIM_PLUS2 38 +#define STAT_ANIM_MINUS1 21 +#define STAT_ANIM_MINUS2 45 #define STAT_ANIM_MULTIPLE_PLUS1 55 #define STAT_ANIM_MULTIPLE_PLUS2 56 #define STAT_ANIM_MULTIPLE_MINUS1 57 #define STAT_ANIM_MULTIPLE_MINUS2 58 + +enum { + STAT_ANIM_PAL_ATK, + STAT_ANIM_PAL_DEF, + STAT_ANIM_PAL_ACC, + STAT_ANIM_PAL_SPEED, + STAT_ANIM_PAL_EVASION, + STAT_ANIM_PAL_SPATK, + STAT_ANIM_PAL_SPDEF, + STAT_ANIM_PAL_MULTIPLE = 0xFF +}; + void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId); // battle_anim_ground.c diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 5000e11096..e09a368509 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -480,8 +480,6 @@ static void AnimTask_FrozenIceCube_Step4(u8 taskId) } } -#define CASE(by, stat) case (STAT_ANIM_##by + stat - 1) - void AnimTask_StatsChange(u8 taskId) { bool16 goesDown = FALSE; @@ -490,42 +488,42 @@ void AnimTask_StatsChange(u8 taskId) switch (gBattleSpritesDataPtr->animationData->animArg) { - CASE(PLUS1, STAT_ATK): goesDown = FALSE; animStatId = 0; break; - CASE(PLUS1, STAT_DEF): goesDown = FALSE; animStatId = 1; break; - CASE(PLUS1, STAT_SPEED): goesDown = FALSE; animStatId = 3; break; - CASE(PLUS1, STAT_SPATK): goesDown = FALSE; animStatId = 5; break; - CASE(PLUS1, STAT_SPDEF): goesDown = FALSE; animStatId = 6; break; - CASE(PLUS1, STAT_ACC): goesDown = FALSE; animStatId = 2; break; - CASE(PLUS1, STAT_EVASION): goesDown = FALSE; animStatId = 4; break; + case STAT_ANIM_PLUS1 + STAT_ATK: goesDown = FALSE; animStatId = STAT_ANIM_PAL_ATK; break; + case STAT_ANIM_PLUS1 + STAT_DEF: goesDown = FALSE; animStatId = STAT_ANIM_PAL_DEF; break; + case STAT_ANIM_PLUS1 + STAT_SPEED: goesDown = FALSE; animStatId = STAT_ANIM_PAL_SPEED; break; + case STAT_ANIM_PLUS1 + STAT_SPATK: goesDown = FALSE; animStatId = STAT_ANIM_PAL_SPATK; break; + case STAT_ANIM_PLUS1 + STAT_SPDEF: goesDown = FALSE; animStatId = STAT_ANIM_PAL_SPDEF; break; + case STAT_ANIM_PLUS1 + STAT_ACC: goesDown = FALSE; animStatId = STAT_ANIM_PAL_ACC; break; + case STAT_ANIM_PLUS1 + STAT_EVASION: goesDown = FALSE; animStatId = STAT_ANIM_PAL_EVASION; break; - CASE(MINUS1, STAT_ATK): goesDown = TRUE; animStatId = 0; break; - CASE(MINUS1, STAT_DEF): goesDown = TRUE; animStatId = 1; break; - CASE(MINUS1, STAT_SPEED): goesDown = TRUE; animStatId = 3; break; - CASE(MINUS1, STAT_SPATK): goesDown = TRUE; animStatId = 5; break; - CASE(MINUS1, STAT_SPDEF): goesDown = TRUE; animStatId = 6; break; - CASE(MINUS1, STAT_ACC): goesDown = TRUE; animStatId = 2; break; - CASE(MINUS1, STAT_EVASION): goesDown = TRUE; animStatId = 4; break; + case STAT_ANIM_MINUS1 + STAT_ATK: goesDown = TRUE; animStatId = STAT_ANIM_PAL_ATK; break; + case STAT_ANIM_MINUS1 + STAT_DEF: goesDown = TRUE; animStatId = STAT_ANIM_PAL_DEF; break; + case STAT_ANIM_MINUS1 + STAT_SPEED: goesDown = TRUE; animStatId = STAT_ANIM_PAL_SPEED; break; + case STAT_ANIM_MINUS1 + STAT_SPATK: goesDown = TRUE; animStatId = STAT_ANIM_PAL_SPATK; break; + case STAT_ANIM_MINUS1 + STAT_SPDEF: goesDown = TRUE; animStatId = STAT_ANIM_PAL_SPDEF; break; + case STAT_ANIM_MINUS1 + STAT_ACC: goesDown = TRUE; animStatId = STAT_ANIM_PAL_ACC; break; + case STAT_ANIM_MINUS1 + STAT_EVASION: goesDown = TRUE; animStatId = STAT_ANIM_PAL_EVASION; break; - CASE(PLUS2, STAT_ATK): goesDown = FALSE; animStatId = 0; sharply = TRUE; break; - CASE(PLUS2, STAT_DEF): goesDown = FALSE; animStatId = 1; sharply = TRUE; break; - CASE(PLUS2, STAT_SPEED): goesDown = FALSE; animStatId = 3; sharply = TRUE; break; - CASE(PLUS2, STAT_SPATK): goesDown = FALSE; animStatId = 5; sharply = TRUE; break; - CASE(PLUS2, STAT_SPDEF): goesDown = FALSE; animStatId = 6; sharply = TRUE; break; - CASE(PLUS2, STAT_ACC): goesDown = FALSE; animStatId = 2; sharply = TRUE; break; - CASE(PLUS2, STAT_EVASION): goesDown = FALSE; animStatId = 4; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_ATK: goesDown = FALSE; animStatId = STAT_ANIM_PAL_ATK; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_DEF: goesDown = FALSE; animStatId = STAT_ANIM_PAL_DEF; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_SPEED: goesDown = FALSE; animStatId = STAT_ANIM_PAL_SPEED; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_SPATK: goesDown = FALSE; animStatId = STAT_ANIM_PAL_SPATK; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_SPDEF: goesDown = FALSE; animStatId = STAT_ANIM_PAL_SPDEF; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_ACC: goesDown = FALSE; animStatId = STAT_ANIM_PAL_ACC; sharply = TRUE; break; + case STAT_ANIM_PLUS2 + STAT_EVASION: goesDown = FALSE; animStatId = STAT_ANIM_PAL_EVASION; sharply = TRUE; break; - CASE(MINUS2, STAT_ATK): goesDown = TRUE; animStatId = 0; sharply = TRUE; break; - CASE(MINUS2, STAT_DEF): goesDown = TRUE; animStatId = 1; sharply = TRUE; break; - CASE(MINUS2, STAT_SPEED): goesDown = TRUE; animStatId = 3; sharply = TRUE; break; - CASE(MINUS2, STAT_SPATK): goesDown = TRUE; animStatId = 5; sharply = TRUE; break; - CASE(MINUS2, STAT_SPDEF): goesDown = TRUE; animStatId = 6; sharply = TRUE; break; - CASE(MINUS2, STAT_ACC): goesDown = TRUE; animStatId = 2; sharply = TRUE; break; - CASE(MINUS2, STAT_EVASION): goesDown = TRUE; animStatId = 4; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_ATK: goesDown = TRUE; animStatId = STAT_ANIM_PAL_ATK; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_DEF: goesDown = TRUE; animStatId = STAT_ANIM_PAL_DEF; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_SPEED: goesDown = TRUE; animStatId = STAT_ANIM_PAL_SPEED; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_SPATK: goesDown = TRUE; animStatId = STAT_ANIM_PAL_SPATK; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_SPDEF: goesDown = TRUE; animStatId = STAT_ANIM_PAL_SPDEF; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_ACC: goesDown = TRUE; animStatId = STAT_ANIM_PAL_ACC; sharply = TRUE; break; + case STAT_ANIM_MINUS2 + STAT_EVASION: goesDown = TRUE; animStatId = STAT_ANIM_PAL_EVASION; sharply = TRUE; break; - case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = 0xFF; sharply = FALSE; break; - case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = 0xFF; sharply = TRUE; break; - case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = 0xFF; sharply = FALSE; break; - case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = 0xFF; sharply = TRUE; break; + case STAT_ANIM_MULTIPLE_PLUS1: goesDown = FALSE; animStatId = STAT_ANIM_PAL_MULTIPLE; sharply = FALSE; break; + case STAT_ANIM_MULTIPLE_PLUS2: goesDown = FALSE; animStatId = STAT_ANIM_PAL_MULTIPLE; sharply = TRUE; break; + case STAT_ANIM_MULTIPLE_MINUS1: goesDown = TRUE; animStatId = STAT_ANIM_PAL_MULTIPLE; sharply = FALSE; break; + case STAT_ANIM_MULTIPLE_MINUS2: goesDown = TRUE; animStatId = STAT_ANIM_PAL_MULTIPLE; sharply = TRUE; break; default: DestroyAnimVisualTask(taskId); @@ -538,7 +536,7 @@ void AnimTask_StatsChange(u8 taskId) gBattleAnimArgs[3] = 0; gBattleAnimArgs[4] = sharply; gTasks[taskId].func = InitStatsChangeAnimation; - InitStatsChangeAnimation(taskId); + gTasks[taskId].func(taskId); } #undef CASE diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index afc3d61ce4..9375fda430 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -393,7 +393,7 @@ void InitStatsChangeAnimation(u8 taskId) u8 i; sAnimStatsChangeData = AllocZeroed(sizeof(struct AnimStatsChangeData)); - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(sAnimStatsChangeData->data); i++) sAnimStatsChangeData->data[i] = gBattleAnimArgs[i]; gTasks[taskId].func = StatsChangeAnimation_Step1; @@ -477,28 +477,29 @@ static void StatsChangeAnimation_Step2(u8 taskId) AnimLoadCompressedBgGfx(animBgData.bgId, gBattleStatMask_Gfx, animBgData.tilesOffset); switch (sAnimStatsChangeData->data[1]) { - case 0: + case STAT_ANIM_PAL_ATK: LoadCompressedPalette(gBattleStatMask2_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; - case 1: + case STAT_ANIM_PAL_DEF: LoadCompressedPalette(gBattleStatMask1_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; - case 2: + case STAT_ANIM_PAL_ACC: LoadCompressedPalette(gBattleStatMask3_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; - case 3: + case STAT_ANIM_PAL_SPEED: LoadCompressedPalette(gBattleStatMask4_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; - case 4: + case STAT_ANIM_PAL_EVASION: LoadCompressedPalette(gBattleStatMask6_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; - case 5: + case STAT_ANIM_PAL_SPATK: LoadCompressedPalette(gBattleStatMask7_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; - case 6: + case STAT_ANIM_PAL_SPDEF: LoadCompressedPalette(gBattleStatMask8_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; default: + // case STAT_ANIM_PAL_MULTIPLE: LoadCompressedPalette(gBattleStatMask5_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index bf9197a0e8..d86c1433ab 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4061,16 +4061,16 @@ static void Cmd_setgraphicalstatchangevalues(void) switch (GET_STAT_BUFF_VALUE2(gBattleScripting.statChanger)) { case SET_STAT_BUFF_VALUE(1): // +1 - value = STAT_ANIM_PLUS1; + value = STAT_ANIM_PLUS1 + 1; break; case SET_STAT_BUFF_VALUE(2): // +2 - value = STAT_ANIM_PLUS2; + value = STAT_ANIM_PLUS2 + 1; break; case SET_STAT_BUFF_VALUE(1) | STAT_BUFF_NEGATIVE: // -1 - value = STAT_ANIM_MINUS1; + value = STAT_ANIM_MINUS1 + 1; break; case SET_STAT_BUFF_VALUE(2) | STAT_BUFF_NEGATIVE: // -2 - value = STAT_ANIM_MINUS2; + value = STAT_ANIM_MINUS2 + 1; break; } gBattleScripting.animArg1 = GET_STAT_BUFF_ID(gBattleScripting.statChanger) + value - 1; @@ -4092,9 +4092,9 @@ static void Cmd_playstatchangeanimation(void) { s16 startingStatAnimId; if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO) - startingStatAnimId = STAT_ANIM_MINUS2 - 1; + startingStatAnimId = STAT_ANIM_MINUS2; else - startingStatAnimId = STAT_ANIM_MINUS1 - 1; + startingStatAnimId = STAT_ANIM_MINUS1; while (statsToCheck != 0) { @@ -4136,9 +4136,9 @@ static void Cmd_playstatchangeanimation(void) { s16 startingStatAnimId; if (gBattlescriptCurrInstr[3] & STAT_CHANGE_BY_TWO) - startingStatAnimId = STAT_ANIM_PLUS2 - 1; + startingStatAnimId = STAT_ANIM_PLUS2; else - startingStatAnimId = STAT_ANIM_PLUS1 - 1; + startingStatAnimId = STAT_ANIM_PLUS1; while (statsToCheck != 0) { diff --git a/src/battle_util.c b/src/battle_util.c index 68a5b6adaa..837fdc3c71 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -374,7 +374,7 @@ void HandleAction_UseItem(void) gBattleTextBuff1[2]++; } - gBattleScripting.animArg1 = gBattleTextBuff1[2] + 14; + gBattleScripting.animArg1 = gBattleTextBuff1[2] + STAT_ANIM_PLUS1; gBattleScripting.animArg2 = 0; } break; @@ -2625,7 +2625,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA if (gBattleMons[battler].statStages[STAT_SPEED] < MAX_STAT_STAGE && gDisableStructs[battler].isFirstTurn != 2) { gBattleMons[battler].statStages[STAT_SPEED]++; - gBattleScripting.animArg1 = 14 + STAT_SPEED; + gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_SPEED; gBattleScripting.animArg2 = 0; BattleScriptPushCursorAndCallback(BattleScript_SpeedBoostActivates); gBattleScripting.battler = battler; @@ -3229,7 +3229,7 @@ enum PREPARE_STAT_BUFFER(gBattleTextBuff1, stat); \ gEffectBattler = battlerId; \ SET_STATCHANGER(stat, 1, FALSE); \ - gBattleScripting.animArg1 = 14 + (stat); \ + gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + (stat); \ gBattleScripting.animArg2 = 0; \ BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); \ effect = ITEM_STATS_CHANGE; \ @@ -3415,7 +3415,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) PREPARE_STRING_BUFFER(gBattleTextBuff2, STRINGID_STATROSE); // Only the Attack stat-up berry has this gEffectBattler = battlerId; SET_STATCHANGER(STAT_ATK, 1, FALSE); - gBattleScripting.animArg1 = 14 + STAT_ATK; + gBattleScripting.animArg1 = STAT_ANIM_PLUS1 + STAT_ATK; gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; @@ -3470,7 +3470,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gEffectBattler = battlerId; SET_STATCHANGER(i + 1, 2, FALSE); - gBattleScripting.animArg1 = 0x21 + i + 6; + gBattleScripting.animArg1 = STAT_ANIM_PLUS2 + (i + 1); gBattleScripting.animArg2 = 0; BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; From 5a8b6c18ef726a2091d693107689d78b2a400134 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 11:05:37 +0200 Subject: [PATCH 115/256] ball throw and start removing empty controller functions --- include/battle_controllers.h | 5 + src/battle_controller_player.c | 26 +- src/battle_controller_player_partner.c | 199 ++------------ src/battle_controller_safari.c | 359 ++++--------------------- src/battle_controller_wally.c | 295 +++----------------- src/battle_controllers.c | 41 +++ 6 files changed, 154 insertions(+), 771 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 0e7715e9f0..b1f22efeb9 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -252,8 +252,11 @@ void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome); void BtlController_EmitDebugMenu(u8 bufferId); +void BtlController_Empty(void); // Empty command, does nothing, only completes the execution. +void BtlController_TerminatorNop(void); // Dummy function at the end of the table. void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); +// handlers void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party); void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party); void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party); @@ -262,6 +265,8 @@ void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); void BtlController_HandleReturnMonToBall(u32 battler); void BtlController_HandleFaintAnimation(u32 battler); +void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); +void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); // player controller void SetControllerToPlayer(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index fc5ca9fde6..50751cc725 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1585,12 +1585,6 @@ static void CompleteWhenChoseItem(void) } } -static void CompleteOnSpecialAnimDone(void) -{ - if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - PlayerBufferExecCompleted(); -} - static void DoHitAnimBlinkSpriteEffect(void) { u8 spriteId = gBattlerSpriteIds[gActiveBattler]; @@ -1964,28 +1958,12 @@ static void PlayerHandlePaletteFade(void) static void PlayerHandleSuccessBallThrowAnim(void) { - gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; - gDoingBattleAnim = TRUE; - if (IsCriticalCapture()) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gBattlerTarget, B_ANIM_CRITICAL_CAPTURE_THROW); - else - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gBattlerTarget, B_ANIM_BALL_THROW); - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; + BtlController_HandleSuccessBallThrowAnim(gActiveBattler, gBattlerTarget, B_ANIM_BALL_THROW, TRUE); } static void PlayerHandleBallThrowAnim(void) { - u8 ballThrowCaseId = gBattleResources->bufferA[gActiveBattler][1]; - - gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId; - gDoingBattleAnim = TRUE; - if (IsCriticalCapture()) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gBattlerTarget, B_ANIM_CRITICAL_CAPTURE_THROW); - else - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gBattlerTarget, B_ANIM_BALL_THROW); - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; + BtlController_HandleBallThrowAnim(gActiveBattler, gBattlerTarget, B_ANIM_BALL_THROW, TRUE); } static void PlayerHandlePause(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 65295ebaad..a6af9b6dac 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -32,48 +32,28 @@ #include "constants/trainers.h" static void PlayerPartnerHandleGetMonData(void); -static void PlayerPartnerHandleGetRawMonData(void); static void PlayerPartnerHandleSetMonData(void); static void PlayerPartnerHandleSetRawMonData(void); static void PlayerPartnerHandleLoadMonSprite(void); static void PlayerPartnerHandleSwitchInAnim(void); static void PlayerPartnerHandleReturnMonToBall(void); static void PlayerPartnerHandleDrawTrainerPic(void); -static void PlayerPartnerHandleTrainerSlide(void); static void PlayerPartnerHandleTrainerSlideBack(void); static void PlayerPartnerHandleFaintAnimation(void); -static void PlayerPartnerHandlePaletteFade(void); -static void PlayerPartnerHandleSuccessBallThrowAnim(void); -static void PlayerPartnerHandleBallThrowAnim(void); -static void PlayerPartnerHandlePause(void); static void PlayerPartnerHandleMoveAnimation(void); static void PlayerPartnerHandlePrintString(void); -static void PlayerPartnerHandlePrintSelectionString(void); static void PlayerPartnerHandleChooseAction(void); -static void PlayerPartnerHandleYesNoBox(void); static void PlayerPartnerHandleChooseMove(void); -static void PlayerPartnerHandleChooseItem(void); static void PlayerPartnerHandleChoosePokemon(void); -static void PlayerPartnerHandleCmd23(void); static void PlayerPartnerHandleHealthBarUpdate(void); static void PlayerPartnerHandleExpUpdate(void); static void PlayerPartnerHandleStatusIconUpdate(void); static void PlayerPartnerHandleStatusAnimation(void); -static void PlayerPartnerHandleStatusXor(void); -static void PlayerPartnerHandleDataTransfer(void); -static void PlayerPartnerHandleDMA3Transfer(void); -static void PlayerPartnerHandlePlayBGM(void); -static void PlayerPartnerHandleCmd32(void); -static void PlayerPartnerHandleTwoReturnValues(void); -static void PlayerPartnerHandleChosenMonReturnValue(void); -static void PlayerPartnerHandleOneReturnValue(void); -static void PlayerPartnerHandleOneReturnValue_Duplicate(void); static void PlayerPartnerHandleClearUnkVar(void); static void PlayerPartnerHandleSetUnkVar(void); static void PlayerPartnerHandleClearUnkFlag(void); static void PlayerPartnerHandleToggleUnkFlag(void); static void PlayerPartnerHandleHitAnimation(void); -static void PlayerPartnerHandleCantSwitch(void); static void PlayerPartnerHandlePlaySE(void); static void PlayerPartnerHandlePlayFanfareOrBGM(void); static void PlayerPartnerHandleFaintingCry(void); @@ -81,14 +61,9 @@ static void PlayerPartnerHandleIntroSlide(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); static void PlayerPartnerHandleHidePartyStatusSummary(void); -static void PlayerPartnerHandleEndBounceEffect(void); static void PlayerPartnerHandleSpriteInvisibility(void); static void PlayerPartnerHandleBattleAnimation(void); -static void PlayerPartnerHandleLinkStandbyMsg(void); -static void PlayerPartnerHandleResetActionMoveSelection(void); static void PlayerPartnerHandleEndLinkBattle(void); -static void PlayerPartnerHandleBattleDebug(void); -static void PlayerPartnerCmdEnd(void); static void PlayerPartnerBufferRunCommand(void); static void PlayerPartnerBufferExecCompleted(void); @@ -107,48 +82,48 @@ static void EndDrawPartyStatusSummary(void); static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { [CONTROLLER_GETMONDATA] = PlayerPartnerHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = PlayerPartnerHandleGetRawMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, [CONTROLLER_SETMONDATA] = PlayerPartnerHandleSetMonData, [CONTROLLER_SETRAWMONDATA] = PlayerPartnerHandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = PlayerPartnerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = PlayerPartnerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = PlayerPartnerHandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = PlayerPartnerHandleDrawTrainerPic, - [CONTROLLER_TRAINERSLIDE] = PlayerPartnerHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = PlayerPartnerHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = PlayerPartnerHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = PlayerPartnerHandlePaletteFade, - [CONTROLLER_SUCCESSBALLTHROWANIM] = PlayerPartnerHandleSuccessBallThrowAnim, - [CONTROLLER_BALLTHROWANIM] = PlayerPartnerHandleBallThrowAnim, - [CONTROLLER_PAUSE] = PlayerPartnerHandlePause, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, + [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = PlayerPartnerHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = PlayerPartnerHandlePrintString, - [CONTROLLER_PRINTSTRINGPLAYERONLY] = PlayerPartnerHandlePrintSelectionString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = BtlController_Empty, [CONTROLLER_CHOOSEACTION] = PlayerPartnerHandleChooseAction, - [CONTROLLER_YESNOBOX] = PlayerPartnerHandleYesNoBox, + [CONTROLLER_YESNOBOX] = BtlController_Empty, [CONTROLLER_CHOOSEMOVE] = PlayerPartnerHandleChooseMove, - [CONTROLLER_OPENBAG] = PlayerPartnerHandleChooseItem, + [CONTROLLER_OPENBAG] = BtlController_Empty, [CONTROLLER_CHOOSEPOKEMON] = PlayerPartnerHandleChoosePokemon, - [CONTROLLER_23] = PlayerPartnerHandleCmd23, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = PlayerPartnerHandleHealthBarUpdate, [CONTROLLER_EXPUPDATE] = PlayerPartnerHandleExpUpdate, [CONTROLLER_STATUSICONUPDATE] = PlayerPartnerHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = PlayerPartnerHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = PlayerPartnerHandleStatusXor, - [CONTROLLER_DATATRANSFER] = PlayerPartnerHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = PlayerPartnerHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = PlayerPartnerHandlePlayBGM, - [CONTROLLER_32] = PlayerPartnerHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = PlayerPartnerHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = PlayerPartnerHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = PlayerPartnerHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = PlayerPartnerHandleOneReturnValue_Duplicate, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, [CONTROLLER_CLEARUNKVAR] = PlayerPartnerHandleClearUnkVar, [CONTROLLER_SETUNKVAR] = PlayerPartnerHandleSetUnkVar, [CONTROLLER_CLEARUNKFLAG] = PlayerPartnerHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = PlayerPartnerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = PlayerPartnerHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = PlayerPartnerHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = PlayerPartnerHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = PlayerPartnerHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = PlayerPartnerHandleFaintingCry, @@ -156,14 +131,14 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerPartnerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerPartnerHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = PlayerPartnerHandleEndBounceEffect, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = PlayerPartnerHandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = PlayerPartnerHandleBattleAnimation, - [CONTROLLER_LINKSTANDBYMSG] = PlayerPartnerHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = PlayerPartnerHandleResetActionMoveSelection, + [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = PlayerPartnerHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = PlayerPartnerHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = PlayerPartnerCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void PlayerPartnerDummy(void) @@ -581,11 +556,6 @@ static void PlayerPartnerHandleGetMonData(void) BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } -static void PlayerPartnerHandleGetRawMonData(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleSetMonData(void) { BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); @@ -672,11 +642,6 @@ static void PlayerPartnerHandleDrawTrainerPic(void) #undef sSpeedX -static void PlayerPartnerHandleTrainerSlide(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleTrainerSlideBack(void) { SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); @@ -693,26 +658,6 @@ static void PlayerPartnerHandleFaintAnimation(void) BtlController_HandleFaintAnimation(gActiveBattler); } -static void PlayerPartnerHandlePaletteFade(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleSuccessBallThrowAnim(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleBallThrowAnim(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandlePause(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -793,22 +738,12 @@ static void PlayerPartnerHandlePrintString(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; } -static void PlayerPartnerHandlePrintSelectionString(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleChooseAction(void) { AI_TrySwitchOrUseItem(); PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleYesNoBox(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleChooseMove(void) { u8 chosenMoveId; @@ -838,11 +773,6 @@ static void PlayerPartnerHandleChooseMove(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleChooseItem(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleChoosePokemon(void) { s32 chosenMonId; @@ -876,11 +806,6 @@ static void PlayerPartnerHandleChoosePokemon(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleCmd23(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleHealthBarUpdate(void) { s16 hpVal; @@ -957,51 +882,6 @@ static void PlayerPartnerHandleStatusAnimation(void) } } -static void PlayerPartnerHandleStatusXor(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleDataTransfer(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleDMA3Transfer(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandlePlayBGM(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleCmd32(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleTwoReturnValues(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleChosenMonReturnValue(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleOneReturnValue(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleOneReturnValue_Duplicate(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; @@ -1041,11 +921,6 @@ static void PlayerPartnerHandleHitAnimation(void) } } -static void PlayerPartnerHandleCantSwitch(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandlePlaySE(void) { s8 pan; @@ -1202,11 +1077,6 @@ static void PlayerPartnerHandleHidePartyStatusSummary(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleEndBounceEffect(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleSpriteInvisibility(void) { if (IsBattlerSpritePresent(gActiveBattler)) @@ -1231,16 +1101,6 @@ static void PlayerPartnerHandleBattleAnimation(void) } } -static void PlayerPartnerHandleLinkStandbyMsg(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleResetActionMoveSelection(void) -{ - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleEndLinkBattle(void) { gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; @@ -1249,12 +1109,3 @@ static void PlayerPartnerHandleEndLinkBattle(void) PlayerPartnerBufferExecCompleted(); gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } - -static void PlayerPartnerHandleBattleDebug(void) -{ - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerCmdEnd(void) -{ -} diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 70b2ae6594..19bdb4283a 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -24,64 +24,22 @@ #include "constants/songs.h" #include "constants/rgb.h" -static void SafariHandleGetMonData(void); -static void SafariHandleGetRawMonData(void); -static void SafariHandleSetMonData(void); -static void SafariHandleSetRawMonData(void); -static void SafariHandleLoadMonSprite(void); -static void SafariHandleSwitchInAnim(void); -static void SafariHandleReturnMonToBall(void); static void SafariHandleDrawTrainerPic(void); -static void SafariHandleTrainerSlide(void); -static void SafariHandleTrainerSlideBack(void); -static void SafariHandleFaintAnimation(void); -static void SafariHandlePaletteFade(void); static void SafariHandleSuccessBallThrowAnim(void); static void SafariHandleBallThrowAnim(void); -static void SafariHandlePause(void); -static void SafariHandleMoveAnimation(void); static void SafariHandlePrintString(void); static void SafariHandlePrintSelectionString(void); static void SafariHandleChooseAction(void); -static void SafariHandleYesNoBox(void); -static void SafariHandleChooseMove(void); static void SafariHandleChooseItem(void); -static void SafariHandleChoosePokemon(void); -static void SafariHandleCmd23(void); -static void SafariHandleHealthBarUpdate(void); -static void SafariHandleExpUpdate(void); static void SafariHandleStatusIconUpdate(void); -static void SafariHandleStatusAnimation(void); -static void SafariHandleStatusXor(void); -static void SafariHandleDataTransfer(void); -static void SafariHandleDMA3Transfer(void); -static void SafariHandlePlayBGM(void); -static void SafariHandleCmd32(void); -static void SafariHandleTwoReturnValues(void); -static void SafariHandleChosenMonReturnValue(void); -static void SafariHandleOneReturnValue(void); -static void SafariHandleOneReturnValue_Duplicate(void); -static void SafariHandleClearUnkVar(void); -static void SafariHandleSetUnkVar(void); -static void SafariHandleClearUnkFlag(void); -static void SafariHandleToggleUnkFlag(void); -static void SafariHandleHitAnimation(void); -static void SafariHandleCantSwitch(void); static void SafariHandlePlaySE(void); static void SafariHandlePlayFanfareOrBGM(void); static void SafariHandleFaintingCry(void); static void SafariHandleIntroSlide(void); static void SafariHandleIntroTrainerBallThrow(void); -static void SafariHandleDrawPartyStatusSummary(void); -static void SafariHandleHidePartyStatusSummary(void); -static void SafariHandleEndBounceEffect(void); -static void SafariHandleSpriteInvisibility(void); static void SafariHandleBattleAnimation(void); -static void SafariHandleLinkStandbyMsg(void); -static void SafariHandleResetActionMoveSelection(void); static void SafariHandleEndLinkBattle(void); static void SafariHandleBattleDebug(void); -static void SafariCmdEnd(void); static void SafariBufferRunCommand(void); static void SafariBufferExecCompleted(void); @@ -89,70 +47,66 @@ static void CompleteWhenChosePokeblock(void); static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = SafariHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = SafariHandleGetRawMonData, - [CONTROLLER_SETMONDATA] = SafariHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = SafariHandleSetRawMonData, - [CONTROLLER_LOADMONSPRITE] = SafariHandleLoadMonSprite, - [CONTROLLER_SWITCHINANIM] = SafariHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = SafariHandleReturnMonToBall, + [CONTROLLER_GETMONDATA] = BtlController_Empty, + [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, + [CONTROLLER_SETMONDATA] = BtlController_Empty, + [CONTROLLER_SETRAWMONDATA] = BtlController_Empty, + [CONTROLLER_LOADMONSPRITE] = BtlController_Empty, + [CONTROLLER_SWITCHINANIM] = BtlController_Empty, + [CONTROLLER_RETURNMONTOBALL] = BtlController_Empty, [CONTROLLER_DRAWTRAINERPIC] = SafariHandleDrawTrainerPic, - [CONTROLLER_TRAINERSLIDE] = SafariHandleTrainerSlide, - [CONTROLLER_TRAINERSLIDEBACK] = SafariHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = SafariHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = SafariHandlePaletteFade, + [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, + [CONTROLLER_TRAINERSLIDEBACK] = BtlController_Empty, + [CONTROLLER_FAINTANIMATION] = BtlController_Empty, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = SafariHandleSuccessBallThrowAnim, [CONTROLLER_BALLTHROWANIM] = SafariHandleBallThrowAnim, - [CONTROLLER_PAUSE] = SafariHandlePause, - [CONTROLLER_MOVEANIMATION] = SafariHandleMoveAnimation, + [CONTROLLER_PAUSE] = BtlController_Empty, + [CONTROLLER_MOVEANIMATION] = BtlController_Empty, [CONTROLLER_PRINTSTRING] = SafariHandlePrintString, [CONTROLLER_PRINTSTRINGPLAYERONLY] = SafariHandlePrintSelectionString, [CONTROLLER_CHOOSEACTION] = SafariHandleChooseAction, - [CONTROLLER_YESNOBOX] = SafariHandleYesNoBox, - [CONTROLLER_CHOOSEMOVE] = SafariHandleChooseMove, + [CONTROLLER_YESNOBOX] = BtlController_Empty, + [CONTROLLER_CHOOSEMOVE] = BtlController_Empty, [CONTROLLER_OPENBAG] = SafariHandleChooseItem, - [CONTROLLER_CHOOSEPOKEMON] = SafariHandleChoosePokemon, - [CONTROLLER_23] = SafariHandleCmd23, - [CONTROLLER_HEALTHBARUPDATE] = SafariHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = SafariHandleExpUpdate, + [CONTROLLER_CHOOSEPOKEMON] = BtlController_Empty, + [CONTROLLER_23] = BtlController_Empty, + [CONTROLLER_HEALTHBARUPDATE] = BtlController_Empty, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, [CONTROLLER_STATUSICONUPDATE] = SafariHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = SafariHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = SafariHandleStatusXor, - [CONTROLLER_DATATRANSFER] = SafariHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = SafariHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = SafariHandlePlayBGM, - [CONTROLLER_32] = SafariHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = SafariHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = SafariHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = SafariHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = SafariHandleOneReturnValue_Duplicate, - [CONTROLLER_CLEARUNKVAR] = SafariHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = SafariHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = SafariHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = SafariHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = SafariHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = SafariHandleCantSwitch, + [CONTROLLER_STATUSANIMATION] = BtlController_Empty, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, + [CONTROLLER_CLEARUNKVAR] = BtlController_Empty, + [CONTROLLER_SETUNKVAR] = BtlController_Empty, + [CONTROLLER_CLEARUNKFLAG] = BtlController_Empty, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_Empty, + [CONTROLLER_HITANIMATION] = BtlController_Empty, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = SafariHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = SafariHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry, [CONTROLLER_INTROSLIDE] = SafariHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = SafariHandleIntroTrainerBallThrow, - [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = SafariHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = SafariHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = SafariHandleEndBounceEffect, - [CONTROLLER_SPRITEINVISIBILITY] = SafariHandleSpriteInvisibility, + [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = BtlController_Empty, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_Empty, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_Empty, [CONTROLLER_BATTLEANIMATION] = SafariHandleBattleAnimation, - [CONTROLLER_LINKSTANDBYMSG] = SafariHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = SafariHandleResetActionMoveSelection, + [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = SafariHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = SafariHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = SafariCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void SpriteCB_Null4(void) -{ -} - void SetControllerToSafari(void) { gBattlerControllerEndFuncs[gActiveBattler] = SafariBufferExecCompleted; @@ -263,12 +217,6 @@ static void SafariSetBattleEndCallbacks(void) } } -static void CompleteOnSpecialAnimDone(void) -{ - if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - SafariBufferExecCompleted(); -} - static void SafariOpenPokeblockCase(void) { if (!gPaletteFade.active) @@ -316,41 +264,6 @@ static void CompleteOnFinishedStatusAnimation(void) SafariBufferExecCompleted(); } -static void SafariHandleGetMonData(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleGetRawMonData(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleSetMonData(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleSetRawMonData(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleLoadMonSprite(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleSwitchInAnim(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleReturnMonToBall(void) -{ - SafariBufferExecCompleted(); -} - #define sSpeedX data[0] static void SafariHandleDrawTrainerPic(void) @@ -371,52 +284,14 @@ static void SafariHandleDrawTrainerPic(void) #undef sSpeedX -static void SafariHandleTrainerSlide(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleTrainerSlideBack(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleFaintAnimation(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandlePaletteFade(void) -{ - SafariBufferExecCompleted(); -} - static void SafariHandleSuccessBallThrowAnim(void) { - gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; - gDoingBattleAnim = TRUE; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; + BtlController_HandleSuccessBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } static void SafariHandleBallThrowAnim(void) { - u8 ballThrowCaseId = gBattleResources->bufferA[gActiveBattler][1]; - - gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId; - gDoingBattleAnim = TRUE; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnSpecialAnimDone; -} - -static void SafariHandlePause(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleMoveAnimation(void) -{ - SafariBufferExecCompleted(); + BtlController_HandleBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } static void SafariHandlePrintString(void) @@ -464,16 +339,6 @@ static void SafariHandleChooseAction(void) BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } -static void SafariHandleYesNoBox(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleChooseMove(void) -{ - SafariBufferExecCompleted(); -} - static void SafariHandleChooseItem(void) { BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); @@ -481,112 +346,12 @@ static void SafariHandleChooseItem(void) gBattlerInMenuId = gActiveBattler; } -static void SafariHandleChoosePokemon(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleCmd23(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleHealthBarUpdate(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleExpUpdate(void) -{ - SafariBufferExecCompleted(); -} - static void SafariHandleStatusIconUpdate(void) { UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_BALLS_TEXT); SafariBufferExecCompleted(); } -static void SafariHandleStatusAnimation(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleStatusXor(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleDataTransfer(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleDMA3Transfer(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandlePlayBGM(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleCmd32(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleTwoReturnValues(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleChosenMonReturnValue(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleOneReturnValue(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleOneReturnValue_Duplicate(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleClearUnkVar(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleSetUnkVar(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleClearUnkFlag(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleToggleUnkFlag(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleHitAnimation(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleCantSwitch(void) -{ - SafariBufferExecCompleted(); -} - static void SafariHandlePlaySE(void) { s8 pan; @@ -638,26 +403,6 @@ static void SafariHandleIntroTrainerBallThrow(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthboxSpriteCallbackDummy; } -static void SafariHandleDrawPartyStatusSummary(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleHidePartyStatusSummary(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleEndBounceEffect(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleSpriteInvisibility(void) -{ - SafariBufferExecCompleted(); -} - static void SafariHandleBattleAnimation(void) { u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; @@ -669,16 +414,6 @@ static void SafariHandleBattleAnimation(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } -static void SafariHandleLinkStandbyMsg(void) -{ - SafariBufferExecCompleted(); -} - -static void SafariHandleResetActionMoveSelection(void) -{ - SafariBufferExecCompleted(); -} - static void SafariHandleEndLinkBattle(void) { gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; @@ -693,7 +428,3 @@ static void SafariHandleBattleDebug(void) { SafariBufferExecCompleted(); } - -static void SafariCmdEnd(void) -{ -} diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 76f653f1c0..27d512a03c 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -36,61 +36,27 @@ static void WallyHandleGetMonData(void); static void WallyHandleGetRawMonData(void); static void WallyHandleSetMonData(void); -static void WallyHandleSetRawMonData(void); -static void WallyHandleLoadMonSprite(void); -static void WallyHandleSwitchInAnim(void); static void WallyHandleReturnMonToBall(void); static void WallyHandleDrawTrainerPic(void); static void WallyHandleTrainerSlide(void); -static void WallyHandleTrainerSlideBack(void); -static void WallyHandleFaintAnimation(void); -static void WallyHandlePaletteFade(void); static void WallyHandleSuccessBallThrowAnim(void); static void WallyHandleBallThrowAnim(void); -static void WallyHandlePause(void); static void WallyHandleMoveAnimation(void); static void WallyHandlePrintString(void); static void WallyHandlePrintSelectionString(void); static void WallyHandleChooseAction(void); -static void WallyHandleYesNoBox(void); static void WallyHandleChooseMove(void); static void WallyHandleChooseItem(void); -static void WallyHandleChoosePokemon(void); -static void WallyHandleCmd23(void); static void WallyHandleHealthBarUpdate(void); -static void WallyHandleExpUpdate(void); -static void WallyHandleStatusIconUpdate(void); -static void WallyHandleStatusAnimation(void); -static void WallyHandleStatusXor(void); -static void WallyHandleDataTransfer(void); -static void WallyHandleDMA3Transfer(void); -static void WallyHandlePlayBGM(void); -static void WallyHandleCmd32(void); -static void WallyHandleTwoReturnValues(void); -static void WallyHandleChosenMonReturnValue(void); -static void WallyHandleOneReturnValue(void); -static void WallyHandleOneReturnValue_Duplicate(void); -static void WallyHandleClearUnkVar(void); -static void WallyHandleSetUnkVar(void); -static void WallyHandleClearUnkFlag(void); -static void WallyHandleToggleUnkFlag(void); static void WallyHandleHitAnimation(void); -static void WallyHandleCantSwitch(void); static void WallyHandlePlaySE(void); static void WallyHandlePlayFanfareOrBGM(void); static void WallyHandleFaintingCry(void); static void WallyHandleIntroSlide(void); static void WallyHandleIntroTrainerBallThrow(void); static void WallyHandleDrawPartyStatusSummary(void); -static void WallyHandleHidePartyStatusSummary(void); -static void WallyHandleEndBounceEffect(void); -static void WallyHandleSpriteInvisibility(void); static void WallyHandleBattleAnimation(void); -static void WallyHandleLinkStandbyMsg(void); -static void WallyHandleResetActionMoveSelection(void); static void WallyHandleEndLinkBattle(void); -static void WallyHandleBattleDebug(void); -static void WallyCmdEnd(void); static void WallyBufferRunCommand(void); static void WallyBufferExecCompleted(void); @@ -106,61 +72,61 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_GETMONDATA] = WallyHandleGetMonData, [CONTROLLER_GETRAWMONDATA] = WallyHandleGetRawMonData, [CONTROLLER_SETMONDATA] = WallyHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = WallyHandleSetRawMonData, - [CONTROLLER_LOADMONSPRITE] = WallyHandleLoadMonSprite, - [CONTROLLER_SWITCHINANIM] = WallyHandleSwitchInAnim, + [CONTROLLER_SETRAWMONDATA] = BtlController_Empty, + [CONTROLLER_LOADMONSPRITE] = BtlController_Empty, + [CONTROLLER_SWITCHINANIM] = BtlController_Empty, [CONTROLLER_RETURNMONTOBALL] = WallyHandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = WallyHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = WallyHandleTrainerSlide, - [CONTROLLER_TRAINERSLIDEBACK] = WallyHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = WallyHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = WallyHandlePaletteFade, + [CONTROLLER_TRAINERSLIDEBACK] = BtlController_Empty, + [CONTROLLER_FAINTANIMATION] = BtlController_Empty, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = WallyHandleSuccessBallThrowAnim, [CONTROLLER_BALLTHROWANIM] = WallyHandleBallThrowAnim, - [CONTROLLER_PAUSE] = WallyHandlePause, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = WallyHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = WallyHandlePrintString, [CONTROLLER_PRINTSTRINGPLAYERONLY] = WallyHandlePrintSelectionString, [CONTROLLER_CHOOSEACTION] = WallyHandleChooseAction, - [CONTROLLER_YESNOBOX] = WallyHandleYesNoBox, + [CONTROLLER_YESNOBOX] = BtlController_Empty, [CONTROLLER_CHOOSEMOVE] = WallyHandleChooseMove, [CONTROLLER_OPENBAG] = WallyHandleChooseItem, - [CONTROLLER_CHOOSEPOKEMON] = WallyHandleChoosePokemon, - [CONTROLLER_23] = WallyHandleCmd23, + [CONTROLLER_CHOOSEPOKEMON] = BtlController_Empty, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = WallyHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = WallyHandleExpUpdate, - [CONTROLLER_STATUSICONUPDATE] = WallyHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = WallyHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = WallyHandleStatusXor, - [CONTROLLER_DATATRANSFER] = WallyHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = WallyHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = WallyHandlePlayBGM, - [CONTROLLER_32] = WallyHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = WallyHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = WallyHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = WallyHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = WallyHandleOneReturnValue_Duplicate, - [CONTROLLER_CLEARUNKVAR] = WallyHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = WallyHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = WallyHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = WallyHandleToggleUnkFlag, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, + [CONTROLLER_STATUSICONUPDATE] = BtlController_Empty, + [CONTROLLER_STATUSANIMATION] = BtlController_Empty, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, + [CONTROLLER_CLEARUNKVAR] = BtlController_Empty, + [CONTROLLER_SETUNKVAR] = BtlController_Empty, + [CONTROLLER_CLEARUNKFLAG] = BtlController_Empty, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_Empty, [CONTROLLER_HITANIMATION] = WallyHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = WallyHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = WallyHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = WallyHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = WallyHandleFaintingCry, [CONTROLLER_INTROSLIDE] = WallyHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = WallyHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = WallyHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = WallyHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = WallyHandleEndBounceEffect, - [CONTROLLER_SPRITEINVISIBILITY] = WallyHandleSpriteInvisibility, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_Empty, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_Empty, [CONTROLLER_BATTLEANIMATION] = WallyHandleBattleAnimation, - [CONTROLLER_LINKSTANDBYMSG] = WallyHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = WallyHandleResetActionMoveSelection, + [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = WallyHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = WallyHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = WallyCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void SpriteCB_Null7(void) @@ -260,12 +226,6 @@ static void CompleteOnInactiveTextPrinter(void) WallyBufferExecCompleted(); } -static void CompleteOnFinishedAnimation(void) -{ - if (!gDoingBattleAnim) - WallyBufferExecCompleted(); -} - static void OpenBagAfterPaletteFade(void) { if (!gPaletteFade.active) @@ -409,12 +369,6 @@ static void WallyBufferExecCompleted(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - WallyBufferExecCompleted(); -} - static void WallyHandleGetMonData(void) { BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); @@ -430,21 +384,6 @@ static void WallyHandleSetMonData(void) BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); } -static void WallyHandleSetRawMonData(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleLoadMonSprite(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleSwitchInAnim(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleReturnMonToBall(void) { BtlController_HandleReturnMonToBall(gActiveBattler); @@ -484,42 +423,14 @@ static void WallyHandleTrainerSlide(void) #undef sSpeedX -static void WallyHandleTrainerSlideBack(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleFaintAnimation(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandlePaletteFade(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleSuccessBallThrowAnim(void) { - gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; - gDoingBattleAnim = TRUE; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedAnimation; + BtlController_HandleSuccessBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } static void WallyHandleBallThrowAnim(void) { - u8 ballThrowCaseId = gBattleResources->bufferA[gActiveBattler][1]; - - gBattleSpritesDataPtr->animationData->ballThrowCaseId = ballThrowCaseId; - gDoingBattleAnim = TRUE; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedAnimation; -} - -static void WallyHandlePause(void) -{ - WallyBufferExecCompleted(); + BtlController_HandleBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } static void WallyHandleMoveAnimation(void) @@ -628,11 +539,6 @@ static void WallyHandleChooseAction(void) BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } -static void WallyHandleYesNoBox(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleChooseMove(void) { switch (gBattleStruct->wallyMovesState) @@ -668,16 +574,6 @@ static void WallyHandleChooseItem(void) gBattlerInMenuId = gActiveBattler; } -static void WallyHandleChoosePokemon(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleCmd23(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleHealthBarUpdate(void) { s16 hpVal; @@ -703,86 +599,6 @@ static void WallyHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void WallyHandleExpUpdate(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleStatusIconUpdate(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleStatusAnimation(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleStatusXor(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleDataTransfer(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleDMA3Transfer(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandlePlayBGM(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleCmd32(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleTwoReturnValues(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleChosenMonReturnValue(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleOneReturnValue(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleOneReturnValue_Duplicate(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleClearUnkVar(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleSetUnkVar(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleClearUnkFlag(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleToggleUnkFlag(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleHitAnimation(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) @@ -798,11 +614,6 @@ static void WallyHandleHitAnimation(void) } } -static void WallyHandleCantSwitch(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandlePlaySE(void) { PlaySE(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); @@ -904,21 +715,6 @@ static void WallyHandleDrawPartyStatusSummary(void) } } -static void WallyHandleHidePartyStatusSummary(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleEndBounceEffect(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleSpriteInvisibility(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleBattleAnimation(void) { u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; @@ -930,16 +726,6 @@ static void WallyHandleBattleAnimation(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; } -static void WallyHandleLinkStandbyMsg(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyHandleResetActionMoveSelection(void) -{ - WallyBufferExecCompleted(); -} - static void WallyHandleEndLinkBattle(void) { gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; @@ -950,12 +736,3 @@ static void WallyHandleEndLinkBattle(void) if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) && gBattleTypeFlags & BATTLE_TYPE_LINK) gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } - -static void WallyHandleBattleDebug(void) -{ - WallyBufferExecCompleted(); -} - -static void WallyCmdEnd(void) -{ -} diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 5f5a0fcfc3..c8027fd184 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1551,6 +1551,8 @@ void BtlController_EmitDebugMenu(u8 bufferId) } // Standardized Controller functions + +// Can be used for all the controllers. void BattleControllerComplete(u32 battler) { gBattlerControllerEndFuncs[battler](); @@ -2176,6 +2178,23 @@ static void Controller_FaintOpponentMon(void) } } +static void Controller_WaitForBallThrow(void) +{ + if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + BattleControllerComplete(gActiveBattler); +} + +// Used for all the commands which do nothing. +void BtlController_Empty(void) +{ + BattleControllerComplete(gActiveBattler); +} + +// Dummy function at the end of the table. +void BtlController_TerminatorNop(void) +{ +} + // Handlers of all the controller commands void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party) { @@ -2335,3 +2354,25 @@ void BtlController_HandleFaintAnimation(u32 battler) #undef sSpeedX #undef sSpeedY + +static void HandleBallThrow(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture) +{ + gDoingBattleAnim = TRUE; + if (allowCriticalCapture && IsCriticalCapture()) + animId = B_ANIM_CRITICAL_CAPTURE_THROW; + InitAndLaunchSpecialAnimation(battler, battler, target, animId); + + gBattlerControllerFuncs[battler] = Controller_WaitForBallThrow; +} + +void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture) +{ + gBattleSpritesDataPtr->animationData->ballThrowCaseId = BALL_3_SHAKES_SUCCESS; + HandleBallThrow(battler, target, animId, allowCriticalCapture); +} + +void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture) +{ + gBattleSpritesDataPtr->animationData->ballThrowCaseId = gBattleResources->bufferA[battler][1]; + HandleBallThrow(battler, target, animId, allowCriticalCapture); +} From c4bfe40da6a1d4daf6b4b285c0df5de91ce3cb1b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 11:39:42 +0200 Subject: [PATCH 116/256] remove empty controller functions --- src/battle_controller_link_opponent.c | 215 +++------------------ src/battle_controller_link_partner.c | 223 +++------------------- src/battle_controller_opponent.c | 183 +++--------------- src/battle_controller_player.c | 31 +-- src/battle_controller_recorded_opponent.c | 199 +++---------------- src/battle_controller_recorded_player.c | 192 +++---------------- 6 files changed, 132 insertions(+), 911 deletions(-) diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 2b195e5993..2958905bd8 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -30,7 +30,6 @@ #include "recorded_battle.h" static void LinkOpponentHandleGetMonData(void); -static void LinkOpponentHandleGetRawMonData(void); static void LinkOpponentHandleSetMonData(void); static void LinkOpponentHandleSetRawMonData(void); static void LinkOpponentHandleLoadMonSprite(void); @@ -40,38 +39,16 @@ static void LinkOpponentHandleDrawTrainerPic(void); static void LinkOpponentHandleTrainerSlide(void); static void LinkOpponentHandleTrainerSlideBack(void); static void LinkOpponentHandleFaintAnimation(void); -static void LinkOpponentHandlePaletteFade(void); -static void LinkOpponentHandleSuccessBallThrowAnim(void); -static void LinkOpponentHandleBallThrowAnim(void); -static void LinkOpponentHandlePause(void); static void LinkOpponentHandleMoveAnimation(void); static void LinkOpponentHandlePrintString(void); -static void LinkOpponentHandlePrintSelectionString(void); -static void LinkOpponentHandleChooseAction(void); -static void LinkOpponentHandleYesNoBox(void); -static void LinkOpponentHandleChooseMove(void); -static void LinkOpponentHandleChooseItem(void); -static void LinkOpponentHandleChoosePokemon(void); -static void LinkOpponentHandleCmd23(void); static void LinkOpponentHandleHealthBarUpdate(void); -static void LinkOpponentHandleExpUpdate(void); static void LinkOpponentHandleStatusIconUpdate(void); static void LinkOpponentHandleStatusAnimation(void); -static void LinkOpponentHandleStatusXor(void); -static void LinkOpponentHandleDataTransfer(void); -static void LinkOpponentHandleDMA3Transfer(void); -static void LinkOpponentHandlePlayBGM(void); -static void LinkOpponentHandleCmd32(void); -static void LinkOpponentHandleTwoReturnValues(void); -static void LinkOpponentHandleChosenMonReturnValue(void); -static void LinkOpponentHandleOneReturnValue(void); -static void LinkOpponentHandleOneReturnValue_Duplicate(void); static void LinkOpponentHandleClearUnkVar(void); static void LinkOpponentHandleSetUnkVar(void); static void LinkOpponentHandleClearUnkFlag(void); static void LinkOpponentHandleToggleUnkFlag(void); static void LinkOpponentHandleHitAnimation(void); -static void LinkOpponentHandleCantSwitch(void); static void LinkOpponentHandlePlaySE(void); static void LinkOpponentHandlePlayFanfareOrBGM(void); static void LinkOpponentHandleFaintingCry(void); @@ -79,14 +56,10 @@ static void LinkOpponentHandleIntroSlide(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); static void LinkOpponentHandleHidePartyStatusSummary(void); -static void LinkOpponentHandleEndBounceEffect(void); static void LinkOpponentHandleSpriteInvisibility(void); static void LinkOpponentHandleBattleAnimation(void); static void LinkOpponentHandleLinkStandbyMsg(void); -static void LinkOpponentHandleResetActionMoveSelection(void); static void LinkOpponentHandleEndLinkBattle(void); -static void LinkOpponentHandleBattleDebug(void); -static void LinkOpponentCmdEnd(void); static void LinkOpponentBufferRunCommand(void); static void LinkOpponentBufferExecCompleted(void); @@ -101,7 +74,7 @@ static void EndDrawPartyStatusSummary(void); static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { [CONTROLLER_GETMONDATA] = LinkOpponentHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = LinkOpponentHandleGetRawMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, [CONTROLLER_SETMONDATA] = LinkOpponentHandleSetMonData, [CONTROLLER_SETRAWMONDATA] = LinkOpponentHandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = LinkOpponentHandleLoadMonSprite, @@ -111,38 +84,38 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TRAINERSLIDE] = LinkOpponentHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = LinkOpponentHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = LinkOpponentHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = LinkOpponentHandlePaletteFade, - [CONTROLLER_SUCCESSBALLTHROWANIM] = LinkOpponentHandleSuccessBallThrowAnim, - [CONTROLLER_BALLTHROWANIM] = LinkOpponentHandleBallThrowAnim, - [CONTROLLER_PAUSE] = LinkOpponentHandlePause, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, + [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = LinkOpponentHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = LinkOpponentHandlePrintString, - [CONTROLLER_PRINTSTRINGPLAYERONLY] = LinkOpponentHandlePrintSelectionString, - [CONTROLLER_CHOOSEACTION] = LinkOpponentHandleChooseAction, - [CONTROLLER_YESNOBOX] = LinkOpponentHandleYesNoBox, - [CONTROLLER_CHOOSEMOVE] = LinkOpponentHandleChooseMove, - [CONTROLLER_OPENBAG] = LinkOpponentHandleChooseItem, - [CONTROLLER_CHOOSEPOKEMON] = LinkOpponentHandleChoosePokemon, - [CONTROLLER_23] = LinkOpponentHandleCmd23, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = BtlController_Empty, + [CONTROLLER_CHOOSEACTION] = BtlController_Empty, + [CONTROLLER_YESNOBOX] = BtlController_Empty, + [CONTROLLER_CHOOSEMOVE] = BtlController_Empty, + [CONTROLLER_OPENBAG] = BtlController_Empty, + [CONTROLLER_CHOOSEPOKEMON] = BtlController_Empty, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = LinkOpponentHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = LinkOpponentHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, [CONTROLLER_STATUSICONUPDATE] = LinkOpponentHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = LinkOpponentHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = LinkOpponentHandleStatusXor, - [CONTROLLER_DATATRANSFER] = LinkOpponentHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = LinkOpponentHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = LinkOpponentHandlePlayBGM, - [CONTROLLER_32] = LinkOpponentHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = LinkOpponentHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = LinkOpponentHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = LinkOpponentHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = LinkOpponentHandleOneReturnValue_Duplicate, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, [CONTROLLER_CLEARUNKVAR] = LinkOpponentHandleClearUnkVar, [CONTROLLER_SETUNKVAR] = LinkOpponentHandleSetUnkVar, [CONTROLLER_CLEARUNKFLAG] = LinkOpponentHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = LinkOpponentHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = LinkOpponentHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = LinkOpponentHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = LinkOpponentHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = LinkOpponentHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = LinkOpponentHandleFaintingCry, @@ -150,14 +123,14 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROTRAINERBALLTHROW] = LinkOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkOpponentHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkOpponentHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = LinkOpponentHandleEndBounceEffect, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = LinkOpponentHandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = LinkOpponentHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = LinkOpponentHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = LinkOpponentHandleResetActionMoveSelection, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = LinkOpponentHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = LinkOpponentHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = LinkOpponentCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void LinkOpponentDummy(void) @@ -512,11 +485,6 @@ static void LinkOpponentHandleGetMonData(void) BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); } -static void LinkOpponentHandleGetRawMonData(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleSetMonData(void) { BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); @@ -674,26 +642,6 @@ static void LinkOpponentHandleFaintAnimation(void) BtlController_HandleFaintAnimation(gActiveBattler); } -static void LinkOpponentHandlePaletteFade(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleSuccessBallThrowAnim(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleBallThrowAnim(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandlePause(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -776,41 +724,6 @@ static void LinkOpponentHandlePrintString(void) BattleTv_SetDataBasedOnString(*stringId); } -static void LinkOpponentHandlePrintSelectionString(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleChooseAction(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleYesNoBox(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleChooseMove(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleChooseItem(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleChoosePokemon(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleCmd23(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleHealthBarUpdate(void) { s16 hpVal; @@ -835,11 +748,6 @@ static void LinkOpponentHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void LinkOpponentHandleExpUpdate(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -863,51 +771,6 @@ static void LinkOpponentHandleStatusAnimation(void) } } -static void LinkOpponentHandleStatusXor(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleDataTransfer(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleDMA3Transfer(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandlePlayBGM(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleCmd32(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleTwoReturnValues(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleChosenMonReturnValue(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleOneReturnValue(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleOneReturnValue_Duplicate(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; @@ -947,11 +810,6 @@ static void LinkOpponentHandleHitAnimation(void) } } -static void LinkOpponentHandleCantSwitch(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandlePlaySE(void) { s8 pan; @@ -1098,11 +956,6 @@ static void LinkOpponentHandleHidePartyStatusSummary(void) LinkOpponentBufferExecCompleted(); } -static void LinkOpponentHandleEndBounceEffect(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleSpriteInvisibility(void) { if (IsBattlerSpritePresent(gActiveBattler)) @@ -1135,11 +988,6 @@ static void LinkOpponentHandleLinkStandbyMsg(void) LinkOpponentBufferExecCompleted(); } -static void LinkOpponentHandleResetActionMoveSelection(void) -{ - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleEndLinkBattle(void) { RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][4]); @@ -1155,12 +1003,3 @@ static void LinkOpponentHandleEndLinkBattle(void) LinkOpponentBufferExecCompleted(); gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } - -static void LinkOpponentHandleBattleDebug(void) -{ - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentCmdEnd(void) -{ -} diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 073fb9823d..40f3024196 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -30,48 +30,24 @@ #include "recorded_battle.h" static void LinkPartnerHandleGetMonData(void); -static void LinkPartnerHandleGetRawMonData(void); static void LinkPartnerHandleSetMonData(void); static void LinkPartnerHandleSetRawMonData(void); static void LinkPartnerHandleLoadMonSprite(void); static void LinkPartnerHandleSwitchInAnim(void); static void LinkPartnerHandleReturnMonToBall(void); static void LinkPartnerHandleDrawTrainerPic(void); -static void LinkPartnerHandleTrainerSlide(void); static void LinkPartnerHandleTrainerSlideBack(void); static void LinkPartnerHandleFaintAnimation(void); -static void LinkPartnerHandlePaletteFade(void); -static void LinkPartnerHandleSuccessBallThrowAnim(void); -static void LinkPartnerHandleBallThrowAnim(void); -static void LinkPartnerHandlePause(void); static void LinkPartnerHandleMoveAnimation(void); static void LinkPartnerHandlePrintString(void); -static void LinkPartnerHandlePrintSelectionString(void); -static void LinkPartnerHandleChooseAction(void); -static void LinkPartnerHandleYesNoBox(void); -static void LinkPartnerHandleChooseMove(void); -static void LinkPartnerHandleChooseItem(void); -static void LinkPartnerHandleChoosePokemon(void); -static void LinkPartnerHandleCmd23(void); static void LinkPartnerHandleHealthBarUpdate(void); -static void LinkPartnerHandleExpUpdate(void); static void LinkPartnerHandleStatusIconUpdate(void); static void LinkPartnerHandleStatusAnimation(void); -static void LinkPartnerHandleStatusXor(void); -static void LinkPartnerHandleDataTransfer(void); -static void LinkPartnerHandleDMA3Transfer(void); -static void LinkPartnerHandlePlayBGM(void); -static void LinkPartnerHandleCmd32(void); -static void LinkPartnerHandleTwoReturnValues(void); -static void LinkPartnerHandleChosenMonReturnValue(void); -static void LinkPartnerHandleOneReturnValue(void); -static void LinkPartnerHandleOneReturnValue_Duplicate(void); static void LinkPartnerHandleClearUnkVar(void); static void LinkPartnerHandleSetUnkVar(void); static void LinkPartnerHandleClearUnkFlag(void); static void LinkPartnerHandleToggleUnkFlag(void); static void LinkPartnerHandleHitAnimation(void); -static void LinkPartnerHandleCantSwitch(void); static void LinkPartnerHandlePlaySE(void); static void LinkPartnerHandlePlayFanfareOrBGM(void); static void LinkPartnerHandleFaintingCry(void); @@ -79,14 +55,10 @@ static void LinkPartnerHandleIntroSlide(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); static void LinkPartnerHandleHidePartyStatusSummary(void); -static void LinkPartnerHandleEndBounceEffect(void); static void LinkPartnerHandleSpriteInvisibility(void); static void LinkPartnerHandleBattleAnimation(void); static void LinkPartnerHandleLinkStandbyMsg(void); -static void LinkPartnerHandleResetActionMoveSelection(void); static void LinkPartnerHandleEndLinkBattle(void); -static void LinkPartnerHandleBattleDebug(void); -static void LinkPartnerCmdEnd(void); static void LinkPartnerBufferRunCommand(void); static void LinkPartnerBufferExecCompleted(void); @@ -100,48 +72,48 @@ static void EndDrawPartyStatusSummary(void); static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { [CONTROLLER_GETMONDATA] = LinkPartnerHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = LinkPartnerHandleGetRawMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, [CONTROLLER_SETMONDATA] = LinkPartnerHandleSetMonData, [CONTROLLER_SETRAWMONDATA] = LinkPartnerHandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = LinkPartnerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = LinkPartnerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = LinkPartnerHandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = LinkPartnerHandleDrawTrainerPic, - [CONTROLLER_TRAINERSLIDE] = LinkPartnerHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = LinkPartnerHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = LinkPartnerHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = LinkPartnerHandlePaletteFade, - [CONTROLLER_SUCCESSBALLTHROWANIM] = LinkPartnerHandleSuccessBallThrowAnim, - [CONTROLLER_BALLTHROWANIM] = LinkPartnerHandleBallThrowAnim, - [CONTROLLER_PAUSE] = LinkPartnerHandlePause, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, + [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = LinkPartnerHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = LinkPartnerHandlePrintString, - [CONTROLLER_PRINTSTRINGPLAYERONLY] = LinkPartnerHandlePrintSelectionString, - [CONTROLLER_CHOOSEACTION] = LinkPartnerHandleChooseAction, - [CONTROLLER_YESNOBOX] = LinkPartnerHandleYesNoBox, - [CONTROLLER_CHOOSEMOVE] = LinkPartnerHandleChooseMove, - [CONTROLLER_OPENBAG] = LinkPartnerHandleChooseItem, - [CONTROLLER_CHOOSEPOKEMON] = LinkPartnerHandleChoosePokemon, - [CONTROLLER_23] = LinkPartnerHandleCmd23, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = BtlController_Empty, + [CONTROLLER_CHOOSEACTION] = BtlController_Empty, + [CONTROLLER_YESNOBOX] = BtlController_Empty, + [CONTROLLER_CHOOSEMOVE] = BtlController_Empty, + [CONTROLLER_OPENBAG] = BtlController_Empty, + [CONTROLLER_CHOOSEPOKEMON] = BtlController_Empty, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = LinkPartnerHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = LinkPartnerHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, [CONTROLLER_STATUSICONUPDATE] = LinkPartnerHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = LinkPartnerHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = LinkPartnerHandleStatusXor, - [CONTROLLER_DATATRANSFER] = LinkPartnerHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = LinkPartnerHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = LinkPartnerHandlePlayBGM, - [CONTROLLER_32] = LinkPartnerHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = LinkPartnerHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = LinkPartnerHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = LinkPartnerHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = LinkPartnerHandleOneReturnValue_Duplicate, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, [CONTROLLER_CLEARUNKVAR] = LinkPartnerHandleClearUnkVar, [CONTROLLER_SETUNKVAR] = LinkPartnerHandleSetUnkVar, [CONTROLLER_CLEARUNKFLAG] = LinkPartnerHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = LinkPartnerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = LinkPartnerHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = LinkPartnerHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = LinkPartnerHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = LinkPartnerHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = LinkPartnerHandleFaintingCry, @@ -149,14 +121,14 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROTRAINERBALLTHROW] = LinkPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkPartnerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkPartnerHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = LinkPartnerHandleEndBounceEffect, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = LinkPartnerHandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = LinkPartnerHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = LinkPartnerHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = LinkPartnerHandleResetActionMoveSelection, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = LinkPartnerHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = LinkPartnerHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = LinkPartnerCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void SpriteCB_Null2(void) @@ -402,11 +374,6 @@ static void LinkPartnerHandleGetMonData(void) BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } -static void LinkPartnerHandleGetRawMonData(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleSetMonData(void) { BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); @@ -480,11 +447,6 @@ static void LinkPartnerHandleDrawTrainerPic(void) #undef sSpeedX -static void LinkPartnerHandleTrainerSlide(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleTrainerSlideBack(void) { SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); @@ -501,26 +463,6 @@ static void LinkPartnerHandleFaintAnimation(void) BtlController_HandleFaintAnimation(gActiveBattler); } -static void LinkPartnerHandlePaletteFade(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleSuccessBallThrowAnim(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleBallThrowAnim(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandlePause(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -603,41 +545,6 @@ static void LinkPartnerHandlePrintString(void) BattleTv_SetDataBasedOnString(*stringId); } -static void LinkPartnerHandlePrintSelectionString(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleChooseAction(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleYesNoBox(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleChooseMove(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleChooseItem(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleChoosePokemon(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleCmd23(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleHealthBarUpdate(void) { s16 hpVal; @@ -662,11 +569,6 @@ static void LinkPartnerHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void LinkPartnerHandleExpUpdate(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -690,51 +592,6 @@ static void LinkPartnerHandleStatusAnimation(void) } } -static void LinkPartnerHandleStatusXor(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleDataTransfer(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleDMA3Transfer(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandlePlayBGM(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleCmd32(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleTwoReturnValues(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleChosenMonReturnValue(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleOneReturnValue(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleOneReturnValue_Duplicate(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; @@ -774,11 +631,6 @@ static void LinkPartnerHandleHitAnimation(void) } } -static void LinkPartnerHandleCantSwitch(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandlePlaySE(void) { s8 pan; @@ -937,11 +789,6 @@ static void LinkPartnerHandleHidePartyStatusSummary(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleEndBounceEffect(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleSpriteInvisibility(void) { if (IsBattlerSpritePresent(gActiveBattler)) @@ -974,11 +821,6 @@ static void LinkPartnerHandleLinkStandbyMsg(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleResetActionMoveSelection(void) -{ - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleEndLinkBattle(void) { RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][4]); @@ -989,12 +831,3 @@ static void LinkPartnerHandleEndLinkBattle(void) LinkPartnerBufferExecCompleted(); gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } - -static void LinkPartnerHandleBattleDebug(void) -{ - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerCmdEnd(void) -{ -} diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 2cdc9f6620..f018bc84a5 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -50,38 +50,20 @@ static void OpponentHandleDrawTrainerPic(void); static void OpponentHandleTrainerSlide(void); static void OpponentHandleTrainerSlideBack(void); static void OpponentHandleFaintAnimation(void); -static void OpponentHandlePaletteFade(void); -static void OpponentHandleSuccessBallThrowAnim(void); -static void OpponentHandleBallThrow(void); -static void OpponentHandlePause(void); static void OpponentHandleMoveAnimation(void); static void OpponentHandlePrintString(void); -static void OpponentHandlePrintSelectionString(void); static void OpponentHandleChooseAction(void); -static void OpponentHandleYesNoBox(void); static void OpponentHandleChooseMove(void); static void OpponentHandleChooseItem(void); static void OpponentHandleChoosePokemon(void); -static void OpponentHandleCmd23(void); static void OpponentHandleHealthBarUpdate(void); -static void OpponentHandleExpUpdate(void); static void OpponentHandleStatusIconUpdate(void); static void OpponentHandleStatusAnimation(void); -static void OpponentHandleStatusXor(void); -static void OpponentHandleDataTransfer(void); -static void OpponentHandleDMA3Transfer(void); -static void OpponentHandlePlayBGM(void); -static void OpponentHandleCmd32(void); -static void OpponentHandleTwoReturnValues(void); -static void OpponentHandleChosenMonReturnValue(void); -static void OpponentHandleOneReturnValue(void); -static void OpponentHandleOneReturnValue_Duplicate(void); static void OpponentHandleClearUnkVar(void); static void OpponentHandleSetUnkVar(void); static void OpponentHandleClearUnkFlag(void); static void OpponentHandleToggleUnkFlag(void); static void OpponentHandleHitAnimation(void); -static void OpponentHandleCantSwitch(void); static void OpponentHandlePlaySE(void); static void OpponentHandlePlayFanfareOrBGM(void); static void OpponentHandleFaintingCry(void); @@ -89,14 +71,9 @@ static void OpponentHandleIntroSlide(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); static void OpponentHandleHidePartyStatusSummary(void); -static void OpponentHandleEndBounceEffect(void); static void OpponentHandleSpriteInvisibility(void); static void OpponentHandleBattleAnimation(void); -static void OpponentHandleLinkStandbyMsg(void); -static void OpponentHandleResetActionMoveSelection(void); static void OpponentHandleEndLinkBattle(void); -static void OpponentHandleDebugMenu(void); -static void OpponentCmdEnd(void); static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore); static void OpponentBufferRunCommand(void); @@ -122,38 +99,38 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TRAINERSLIDE] = OpponentHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = OpponentHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = OpponentHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = OpponentHandlePaletteFade, - [CONTROLLER_SUCCESSBALLTHROWANIM] = OpponentHandleSuccessBallThrowAnim, - [CONTROLLER_BALLTHROWANIM] = OpponentHandleBallThrow, - [CONTROLLER_PAUSE] = OpponentHandlePause, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, + [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = OpponentHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = OpponentHandlePrintString, - [CONTROLLER_PRINTSTRINGPLAYERONLY] = OpponentHandlePrintSelectionString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = BtlController_Empty, [CONTROLLER_CHOOSEACTION] = OpponentHandleChooseAction, - [CONTROLLER_YESNOBOX] = OpponentHandleYesNoBox, + [CONTROLLER_YESNOBOX] = BtlController_Empty, [CONTROLLER_CHOOSEMOVE] = OpponentHandleChooseMove, [CONTROLLER_OPENBAG] = OpponentHandleChooseItem, [CONTROLLER_CHOOSEPOKEMON] = OpponentHandleChoosePokemon, - [CONTROLLER_23] = OpponentHandleCmd23, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = OpponentHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = OpponentHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, [CONTROLLER_STATUSICONUPDATE] = OpponentHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = OpponentHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = OpponentHandleStatusXor, - [CONTROLLER_DATATRANSFER] = OpponentHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = OpponentHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = OpponentHandlePlayBGM, - [CONTROLLER_32] = OpponentHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = OpponentHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = OpponentHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = OpponentHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = OpponentHandleOneReturnValue_Duplicate, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, [CONTROLLER_CLEARUNKVAR] = OpponentHandleClearUnkVar, [CONTROLLER_SETUNKVAR] = OpponentHandleSetUnkVar, [CONTROLLER_CLEARUNKFLAG] = OpponentHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = OpponentHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = OpponentHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = OpponentHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = OpponentHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = OpponentHandleFaintingCry, @@ -161,14 +138,14 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OpponentHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = OpponentHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = OpponentHandleEndBounceEffect, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = OpponentHandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = OpponentHandleBattleAnimation, - [CONTROLLER_LINKSTANDBYMSG] = OpponentHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = OpponentHandleResetActionMoveSelection, + [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = OpponentHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = OpponentHandleDebugMenu, - [CONTROLLER_TERMINATOR_NOP] = OpponentCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void OpponentDummy(void) @@ -736,26 +713,6 @@ static void OpponentHandleFaintAnimation(void) BtlController_HandleFaintAnimation(gActiveBattler); } -static void OpponentHandlePaletteFade(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleSuccessBallThrowAnim(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleBallThrow(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandlePause(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -837,22 +794,12 @@ static void OpponentHandlePrintString(void) BattleArena_DeductSkillPoints(gActiveBattler, *stringId); } -static void OpponentHandlePrintSelectionString(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleChooseAction(void) { AI_TrySwitchOrUseItem(); OpponentBufferExecCompleted(); } -static void OpponentHandleYesNoBox(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleChooseMove(void) { u8 chosenMoveId; @@ -1050,11 +997,6 @@ static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore) return count; } -static void OpponentHandleCmd23(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleHealthBarUpdate(void) { s16 hpVal; @@ -1079,11 +1021,6 @@ static void OpponentHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void OpponentHandleExpUpdate(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -1107,51 +1044,6 @@ static void OpponentHandleStatusAnimation(void) } } -static void OpponentHandleStatusXor(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleDataTransfer(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleDMA3Transfer(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandlePlayBGM(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleCmd32(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleTwoReturnValues(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleChosenMonReturnValue(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleOneReturnValue(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleOneReturnValue_Duplicate(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; @@ -1191,11 +1083,6 @@ static void OpponentHandleHitAnimation(void) } } -static void OpponentHandleCantSwitch(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandlePlaySE(void) { s8 pan; @@ -1347,11 +1234,6 @@ static void OpponentHandleHidePartyStatusSummary(void) OpponentBufferExecCompleted(); } -static void OpponentHandleEndBounceEffect(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleSpriteInvisibility(void) { if (IsBattlerSpritePresent(gActiveBattler)) @@ -1376,16 +1258,6 @@ static void OpponentHandleBattleAnimation(void) } } -static void OpponentHandleLinkStandbyMsg(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentHandleResetActionMoveSelection(void) -{ - OpponentBufferExecCompleted(); -} - static void OpponentHandleEndLinkBattle(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) @@ -1396,12 +1268,3 @@ static void OpponentHandleEndLinkBattle(void) } OpponentBufferExecCompleted(); } - -static void OpponentHandleDebugMenu(void) -{ - OpponentBufferExecCompleted(); -} - -static void OpponentCmdEnd(void) -{ -} diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 50751cc725..886329680a 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -67,10 +67,8 @@ static void PlayerHandleExpUpdate(void); static void PlayerHandleStatusIconUpdate(void); static void PlayerHandleStatusAnimation(void); static void PlayerHandleStatusXor(void); -static void PlayerHandleDataTransfer(void); static void PlayerHandleDMA3Transfer(void); static void PlayerHandlePlayBGM(void); -static void PlayerHandleCmd32(void); static void PlayerHandleTwoReturnValues(void); static void PlayerHandleChosenMonReturnValue(void); static void PlayerHandleOneReturnValue(void); @@ -80,7 +78,6 @@ static void PlayerHandleSetUnkVar(void); static void PlayerHandleClearUnkFlag(void); static void PlayerHandleToggleUnkFlag(void); static void PlayerHandleHitAnimation(void); -static void PlayerHandleCantSwitch(void); static void PlayerHandlePlaySE(void); static void PlayerHandlePlayFanfareOrBGM(void); static void PlayerHandleFaintingCry(void); @@ -95,7 +92,6 @@ static void PlayerHandleLinkStandbyMsg(void); static void PlayerHandleResetActionMoveSelection(void); static void PlayerHandleEndLinkBattle(void); static void PlayerHandleBattleDebug(void); -static void PlayerCmdEnd(void); static void PlayerBufferRunCommand(void); static void HandleInputChooseTarget(void); @@ -153,10 +149,10 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_STATUSICONUPDATE] = PlayerHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = PlayerHandleStatusAnimation, [CONTROLLER_STATUSXOR] = PlayerHandleStatusXor, - [CONTROLLER_DATATRANSFER] = PlayerHandleDataTransfer, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, [CONTROLLER_DMA3TRANSFER] = PlayerHandleDMA3Transfer, [CONTROLLER_PLAYBGM] = PlayerHandlePlayBGM, - [CONTROLLER_32] = PlayerHandleCmd32, + [CONTROLLER_32] = BtlController_Empty, [CONTROLLER_TWORETURNVALUES] = PlayerHandleTwoReturnValues, [CONTROLLER_CHOSENMONRETURNVALUE] = PlayerHandleChosenMonReturnValue, [CONTROLLER_ONERETURNVALUE] = PlayerHandleOneReturnValue, @@ -166,7 +162,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CLEARUNKFLAG] = PlayerHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = PlayerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = PlayerHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = PlayerHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = PlayerHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = PlayerHandleFaintingCry, @@ -181,7 +177,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_RESETACTIONMOVESELECTION] = PlayerHandleResetActionMoveSelection, [CONTROLLER_ENDLINKBATTLE] = PlayerHandleEndLinkBattle, [CONTROLLER_DEBUGMENU] = PlayerHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = PlayerCmdEnd + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; void BattleControllerDummy(void) @@ -2303,11 +2299,6 @@ static void PlayerHandleStatusXor(void) PlayerBufferExecCompleted(); } -static void PlayerHandleDataTransfer(void) -{ - PlayerBufferExecCompleted(); -} - static void PlayerHandleDMA3Transfer(void) { u32 dstArg = gBattleResources->bufferA[gActiveBattler][1] @@ -2341,11 +2332,6 @@ static void PlayerHandlePlayBGM(void) PlayerBufferExecCompleted(); } -static void PlayerHandleCmd32(void) -{ - PlayerBufferExecCompleted(); -} - static void PlayerHandleTwoReturnValues(void) { BtlController_EmitTwoReturnValues(BUFFER_B, 0, 0); @@ -2409,11 +2395,6 @@ static void PlayerHandleHitAnimation(void) } } -static void PlayerHandleCantSwitch(void) -{ - PlayerBufferExecCompleted(); -} - static void PlayerHandlePlaySE(void) { s8 pan; @@ -2676,7 +2657,3 @@ static void PlayerHandleBattleDebug(void) SetMainCallback2(CB2_BattleDebugMenu); gBattlerControllerFuncs[gActiveBattler] = WaitForDebug; } - -static void PlayerCmdEnd(void) -{ -} diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 40fe8a56c7..c8372fde2b 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -33,48 +33,28 @@ #include "constants/trainers.h" static void RecordedOpponentHandleGetMonData(void); -static void RecordedOpponentHandleGetRawMonData(void); static void RecordedOpponentHandleSetMonData(void); static void RecordedOpponentHandleSetRawMonData(void); static void RecordedOpponentHandleLoadMonSprite(void); static void RecordedOpponentHandleSwitchInAnim(void); static void RecordedOpponentHandleReturnMonToBall(void); static void RecordedOpponentHandleDrawTrainerPic(void); -static void RecordedOpponentHandleTrainerSlide(void); static void RecordedOpponentHandleTrainerSlideBack(void); static void RecordedOpponentHandleFaintAnimation(void); -static void RecordedOpponentHandlePaletteFade(void); -static void RecordedOpponentHandleSuccessBallThrowAnim(void); -static void RecordedOpponentHandleBallThrowAnim(void); -static void RecordedOpponentHandlePause(void); static void RecordedOpponentHandleMoveAnimation(void); static void RecordedOpponentHandlePrintString(void); -static void RecordedOpponentHandlePrintSelectionString(void); static void RecordedOpponentHandleChooseAction(void); -static void RecordedOpponentHandleYesNoBox(void); static void RecordedOpponentHandleChooseMove(void); static void RecordedOpponentHandleChooseItem(void); static void RecordedOpponentHandleChoosePokemon(void); -static void RecordedOpponentHandleCmd23(void); static void RecordedOpponentHandleHealthBarUpdate(void); -static void RecordedOpponentHandleExpUpdate(void); static void RecordedOpponentHandleStatusIconUpdate(void); static void RecordedOpponentHandleStatusAnimation(void); -static void RecordedOpponentHandleStatusXor(void); -static void RecordedOpponentHandleDataTransfer(void); -static void RecordedOpponentHandleDMA3Transfer(void); -static void RecordedOpponentHandlePlayBGM(void); -static void RecordedOpponentHandleCmd32(void); -static void RecordedOpponentHandleTwoReturnValues(void); -static void RecordedOpponentHandleChosenMonReturnValue(void); -static void RecordedOpponentHandleOneReturnValue(void); -static void RecordedOpponentHandleOneReturnValue_Duplicate(void); static void RecordedOpponentHandleClearUnkVar(void); static void RecordedOpponentHandleSetUnkVar(void); static void RecordedOpponentHandleClearUnkFlag(void); static void RecordedOpponentHandleToggleUnkFlag(void); static void RecordedOpponentHandleHitAnimation(void); -static void RecordedOpponentHandleCantSwitch(void); static void RecordedOpponentHandlePlaySE(void); static void RecordedOpponentHandlePlayFanfareOrBGM(void); static void RecordedOpponentHandleFaintingCry(void); @@ -82,14 +62,9 @@ static void RecordedOpponentHandleIntroSlide(void); static void RecordedOpponentHandleIntroTrainerBallThrow(void); static void RecordedOpponentHandleDrawPartyStatusSummary(void); static void RecordedOpponentHandleHidePartyStatusSummary(void); -static void RecordedOpponentHandleEndBounceEffect(void); static void RecordedOpponentHandleSpriteInvisibility(void); static void RecordedOpponentHandleBattleAnimation(void); -static void RecordedOpponentHandleLinkStandbyMsg(void); -static void RecordedOpponentHandleResetActionMoveSelection(void); static void RecordedOpponentHandleEndLinkBattle(void); -static void RecordedOpponentHandleBattleDebug(void); -static void RecordedOpponentCmdEnd(void); static void RecordedOpponentBufferRunCommand(void); static void RecordedOpponentBufferExecCompleted(void); @@ -104,48 +79,48 @@ static void EndDrawPartyStatusSummary(void); static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { [CONTROLLER_GETMONDATA] = RecordedOpponentHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = RecordedOpponentHandleGetRawMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, [CONTROLLER_SETMONDATA] = RecordedOpponentHandleSetMonData, [CONTROLLER_SETRAWMONDATA] = RecordedOpponentHandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = RecordedOpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = RecordedOpponentHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = RecordedOpponentHandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = RecordedOpponentHandleDrawTrainerPic, - [CONTROLLER_TRAINERSLIDE] = RecordedOpponentHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = RecordedOpponentHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = RecordedOpponentHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = RecordedOpponentHandlePaletteFade, - [CONTROLLER_SUCCESSBALLTHROWANIM] = RecordedOpponentHandleSuccessBallThrowAnim, - [CONTROLLER_BALLTHROWANIM] = RecordedOpponentHandleBallThrowAnim, - [CONTROLLER_PAUSE] = RecordedOpponentHandlePause, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, + [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = RecordedOpponentHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = RecordedOpponentHandlePrintString, - [CONTROLLER_PRINTSTRINGPLAYERONLY] = RecordedOpponentHandlePrintSelectionString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = BtlController_Empty, [CONTROLLER_CHOOSEACTION] = RecordedOpponentHandleChooseAction, - [CONTROLLER_YESNOBOX] = RecordedOpponentHandleYesNoBox, + [CONTROLLER_YESNOBOX] = BtlController_Empty, [CONTROLLER_CHOOSEMOVE] = RecordedOpponentHandleChooseMove, [CONTROLLER_OPENBAG] = RecordedOpponentHandleChooseItem, [CONTROLLER_CHOOSEPOKEMON] = RecordedOpponentHandleChoosePokemon, - [CONTROLLER_23] = RecordedOpponentHandleCmd23, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = RecordedOpponentHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = RecordedOpponentHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, [CONTROLLER_STATUSICONUPDATE] = RecordedOpponentHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = RecordedOpponentHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = RecordedOpponentHandleStatusXor, - [CONTROLLER_DATATRANSFER] = RecordedOpponentHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = RecordedOpponentHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = RecordedOpponentHandlePlayBGM, - [CONTROLLER_32] = RecordedOpponentHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = RecordedOpponentHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = RecordedOpponentHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = RecordedOpponentHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = RecordedOpponentHandleOneReturnValue_Duplicate, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, [CONTROLLER_CLEARUNKVAR] = RecordedOpponentHandleClearUnkVar, [CONTROLLER_SETUNKVAR] = RecordedOpponentHandleSetUnkVar, [CONTROLLER_CLEARUNKFLAG] = RecordedOpponentHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = RecordedOpponentHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = RecordedOpponentHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = RecordedOpponentHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = RecordedOpponentHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = RecordedOpponentHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = RecordedOpponentHandleFaintingCry, @@ -153,14 +128,14 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedOpponentHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedOpponentHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = RecordedOpponentHandleEndBounceEffect, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = RecordedOpponentHandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = RecordedOpponentHandleBattleAnimation, - [CONTROLLER_LINKSTANDBYMSG] = RecordedOpponentHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = RecordedOpponentHandleResetActionMoveSelection, + [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = RecordedOpponentHandleEndLinkBattle, - [CONTROLLER_DEBUGMENU] = RecordedOpponentHandleBattleDebug, - [CONTROLLER_TERMINATOR_NOP] = RecordedOpponentCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void RecordedOpponentDummy(void) @@ -501,11 +476,6 @@ static void RecordedOpponentHandleGetMonData(void) BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); } -static void RecordedOpponentHandleGetRawMonData(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleSetMonData(void) { BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); @@ -588,11 +558,6 @@ static void RecordedOpponentHandleDrawTrainerPic(void) #undef sSpeedX -static void RecordedOpponentHandleTrainerSlide(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleTrainerSlideBack(void) { SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); @@ -609,26 +574,6 @@ static void RecordedOpponentHandleFaintAnimation(void) BtlController_HandleFaintAnimation(gActiveBattler); } -static void RecordedOpponentHandlePaletteFade(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleSuccessBallThrowAnim(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleBallThrowAnim(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandlePause(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -720,22 +665,12 @@ static void RecordedOpponentHandlePrintString(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } -static void RecordedOpponentHandlePrintSelectionString(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleChooseAction(void) { BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, gActiveBattler), 0); RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleYesNoBox(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) @@ -771,11 +706,6 @@ static void RecordedOpponentHandleChoosePokemon(void) RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleCmd23(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleHealthBarUpdate(void) { s16 hpVal; @@ -801,11 +731,6 @@ static void RecordedOpponentHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void RecordedOpponentHandleExpUpdate(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -832,51 +757,6 @@ static void RecordedOpponentHandleStatusAnimation(void) } } -static void RecordedOpponentHandleStatusXor(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleDataTransfer(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleDMA3Transfer(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandlePlayBGM(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleCmd32(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleTwoReturnValues(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleChosenMonReturnValue(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleOneReturnValue(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleOneReturnValue_Duplicate(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; @@ -916,11 +796,6 @@ static void RecordedOpponentHandleHitAnimation(void) } } -static void RecordedOpponentHandleCantSwitch(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandlePlaySE(void) { s8 pan; @@ -1067,11 +942,6 @@ static void RecordedOpponentHandleHidePartyStatusSummary(void) RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleEndBounceEffect(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleSpriteInvisibility(void) { if (IsBattlerSpritePresent(gActiveBattler)) @@ -1096,16 +966,6 @@ static void RecordedOpponentHandleBattleAnimation(void) } } -static void RecordedOpponentHandleLinkStandbyMsg(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleResetActionMoveSelection(void) -{ - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleEndLinkBattle(void) { if (gBattleResources->bufferA[gActiveBattler][1] == B_OUTCOME_DREW) @@ -1118,12 +978,3 @@ static void RecordedOpponentHandleEndLinkBattle(void) RecordedOpponentBufferExecCompleted(); gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } - -static void RecordedOpponentHandleBattleDebug(void) -{ - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentCmdEnd(void) -{ -} diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 2e208f2396..ac659c6e57 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -29,48 +29,28 @@ #include "constants/songs.h" static void RecordedPlayerHandleGetMonData(void); -static void RecordedPlayerHandleGetRawMonData(void); static void RecordedPlayerHandleSetMonData(void); static void RecordedPlayerHandleSetRawMonData(void); static void RecordedPlayerHandleLoadMonSprite(void); static void RecordedPlayerHandleSwitchInAnim(void); static void RecordedPlayerHandleReturnMonToBall(void); static void RecordedPlayerHandleDrawTrainerPic(void); -static void RecordedPlayerHandleTrainerSlide(void); static void RecordedPlayerHandleTrainerSlideBack(void); static void RecordedPlayerHandleFaintAnimation(void); -static void RecordedPlayerHandlePaletteFade(void); -static void RecordedPlayerHandleSuccessBallThrowAnim(void); -static void RecordedPlayerHandleBallThrowAnim(void); -static void RecordedPlayerHandlePause(void); static void RecordedPlayerHandleMoveAnimation(void); static void RecordedPlayerHandlePrintString(void); -static void RecordedPlayerHandlePrintSelectionString(void); static void RecordedPlayerHandleChooseAction(void); -static void RecordedPlayerHandleYesNoBox(void); static void RecordedPlayerHandleChooseMove(void); static void RecordedPlayerHandleChooseItem(void); static void RecordedPlayerHandleChoosePokemon(void); -static void RecordedPlayerHandleCmd23(void); static void RecordedPlayerHandleHealthBarUpdate(void); -static void RecordedPlayerHandleExpUpdate(void); static void RecordedPlayerHandleStatusIconUpdate(void); static void RecordedPlayerHandleStatusAnimation(void); -static void RecordedPlayerHandleStatusXor(void); -static void RecordedPlayerHandleDataTransfer(void); -static void RecordedPlayerHandleDMA3Transfer(void); -static void RecordedPlayerHandlePlayBGM(void); -static void RecordedPlayerHandleCmd32(void); -static void RecordedPlayerHandleTwoReturnValues(void); -static void RecordedPlayerHandleChosenMonReturnValue(void); -static void RecordedPlayerHandleOneReturnValue(void); -static void RecordedPlayerHandleOneReturnValue_Duplicate(void); static void RecordedPlayerHandleClearUnkVar(void); static void RecordedPlayerHandleSetUnkVar(void); static void RecordedPlayerHandleClearUnkFlag(void); static void RecordedPlayerHandleToggleUnkFlag(void); static void RecordedPlayerHandleHitAnimation(void); -static void RecordedPlayerHandleCantSwitch(void); static void RecordedPlayerHandlePlaySE(void); static void RecordedPlayerHandlePlayFanfareOrBGM(void); static void RecordedPlayerHandleFaintingCry(void); @@ -78,13 +58,9 @@ static void RecordedPlayerHandleIntroSlide(void); static void RecordedPlayerHandleIntroTrainerBallThrow(void); static void RecordedPlayerHandleDrawPartyStatusSummary(void); static void RecordedPlayerHandleHidePartyStatusSummary(void); -static void RecordedPlayerHandleEndBounceEffect(void); static void RecordedPlayerHandleSpriteInvisibility(void); static void RecordedPlayerHandleBattleAnimation(void); -static void RecordedPlayerHandleLinkStandbyMsg(void); -static void RecordedPlayerHandleResetActionMoveSelection(void); static void RecordedPlayerHandleEndLinkBattle(void); -static void RecordedPlayerCmdEnd(void); static void RecordedPlayerBufferRunCommand(void); static void RecordedPlayerBufferExecCompleted(void); @@ -98,48 +74,48 @@ static void EndDrawPartyStatusSummary(void); static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { [CONTROLLER_GETMONDATA] = RecordedPlayerHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = RecordedPlayerHandleGetRawMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, [CONTROLLER_SETMONDATA] = RecordedPlayerHandleSetMonData, [CONTROLLER_SETRAWMONDATA] = RecordedPlayerHandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = RecordedPlayerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = RecordedPlayerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = RecordedPlayerHandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = RecordedPlayerHandleDrawTrainerPic, - [CONTROLLER_TRAINERSLIDE] = RecordedPlayerHandleTrainerSlide, + [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = RecordedPlayerHandleTrainerSlideBack, [CONTROLLER_FAINTANIMATION] = RecordedPlayerHandleFaintAnimation, - [CONTROLLER_PALETTEFADE] = RecordedPlayerHandlePaletteFade, - [CONTROLLER_SUCCESSBALLTHROWANIM] = RecordedPlayerHandleSuccessBallThrowAnim, - [CONTROLLER_BALLTHROWANIM] = RecordedPlayerHandleBallThrowAnim, - [CONTROLLER_PAUSE] = RecordedPlayerHandlePause, + [CONTROLLER_PALETTEFADE] = BtlController_Empty, + [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, + [CONTROLLER_PAUSE] = BtlController_Empty, [CONTROLLER_MOVEANIMATION] = RecordedPlayerHandleMoveAnimation, [CONTROLLER_PRINTSTRING] = RecordedPlayerHandlePrintString, - [CONTROLLER_PRINTSTRINGPLAYERONLY] = RecordedPlayerHandlePrintSelectionString, + [CONTROLLER_PRINTSTRINGPLAYERONLY] = BtlController_Empty, [CONTROLLER_CHOOSEACTION] = RecordedPlayerHandleChooseAction, - [CONTROLLER_YESNOBOX] = RecordedPlayerHandleYesNoBox, + [CONTROLLER_YESNOBOX] = BtlController_Empty, [CONTROLLER_CHOOSEMOVE] = RecordedPlayerHandleChooseMove, [CONTROLLER_OPENBAG] = RecordedPlayerHandleChooseItem, [CONTROLLER_CHOOSEPOKEMON] = RecordedPlayerHandleChoosePokemon, - [CONTROLLER_23] = RecordedPlayerHandleCmd23, + [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = RecordedPlayerHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = RecordedPlayerHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = BtlController_Empty, [CONTROLLER_STATUSICONUPDATE] = RecordedPlayerHandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = RecordedPlayerHandleStatusAnimation, - [CONTROLLER_STATUSXOR] = RecordedPlayerHandleStatusXor, - [CONTROLLER_DATATRANSFER] = RecordedPlayerHandleDataTransfer, - [CONTROLLER_DMA3TRANSFER] = RecordedPlayerHandleDMA3Transfer, - [CONTROLLER_PLAYBGM] = RecordedPlayerHandlePlayBGM, - [CONTROLLER_32] = RecordedPlayerHandleCmd32, - [CONTROLLER_TWORETURNVALUES] = RecordedPlayerHandleTwoReturnValues, - [CONTROLLER_CHOSENMONRETURNVALUE] = RecordedPlayerHandleChosenMonReturnValue, - [CONTROLLER_ONERETURNVALUE] = RecordedPlayerHandleOneReturnValue, - [CONTROLLER_ONERETURNVALUE_DUPLICATE] = RecordedPlayerHandleOneReturnValue_Duplicate, + [CONTROLLER_STATUSXOR] = BtlController_Empty, + [CONTROLLER_DATATRANSFER] = BtlController_Empty, + [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, + [CONTROLLER_PLAYBGM] = BtlController_Empty, + [CONTROLLER_32] = BtlController_Empty, + [CONTROLLER_TWORETURNVALUES] = BtlController_Empty, + [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, + [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, [CONTROLLER_CLEARUNKVAR] = RecordedPlayerHandleClearUnkVar, [CONTROLLER_SETUNKVAR] = RecordedPlayerHandleSetUnkVar, [CONTROLLER_CLEARUNKFLAG] = RecordedPlayerHandleClearUnkFlag, [CONTROLLER_TOGGLEUNKFLAG] = RecordedPlayerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = RecordedPlayerHandleHitAnimation, - [CONTROLLER_CANTSWITCH] = RecordedPlayerHandleCantSwitch, + [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = RecordedPlayerHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = RecordedPlayerHandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = RecordedPlayerHandleFaintingCry, @@ -147,13 +123,14 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedPlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedPlayerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedPlayerHandleHidePartyStatusSummary, - [CONTROLLER_ENDBOUNCE] = RecordedPlayerHandleEndBounceEffect, + [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = RecordedPlayerHandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = RecordedPlayerHandleBattleAnimation, - [CONTROLLER_LINKSTANDBYMSG] = RecordedPlayerHandleLinkStandbyMsg, - [CONTROLLER_RESETACTIONMOVESELECTION] = RecordedPlayerHandleResetActionMoveSelection, + [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, + [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, [CONTROLLER_ENDLINKBATTLE] = RecordedPlayerHandleEndLinkBattle, - [CONTROLLER_TERMINATOR_NOP] = RecordedPlayerCmdEnd + [CONTROLLER_DEBUGMENU] = BtlController_Empty, + [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; static void RecordedPlayerDummy(void) @@ -478,11 +455,6 @@ static void RecordedPlayerHandleGetMonData(void) BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); } -static void RecordedPlayerHandleGetRawMonData(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleSetMonData(void) { BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); @@ -583,11 +555,6 @@ static void RecordedPlayerHandleDrawTrainerPic(void) #undef sSpeedX -static void RecordedPlayerHandleTrainerSlide(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleTrainerSlideBack(void) { SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); @@ -604,26 +571,6 @@ static void RecordedPlayerHandleFaintAnimation(void) BtlController_HandleFaintAnimation(gActiveBattler); } -static void RecordedPlayerHandlePaletteFade(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleSuccessBallThrowAnim(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleBallThrowAnim(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandlePause(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -715,11 +662,6 @@ static void RecordedPlayerHandlePrintString(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; } -static void RecordedPlayerHandlePrintSelectionString(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void ChooseActionInBattlePalace(void) { if (gBattleCommunication[4] >= gBattlersCount / 2) @@ -742,11 +684,6 @@ static void RecordedPlayerHandleChooseAction(void) } } -static void RecordedPlayerHandleYesNoBox(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleChooseMove(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) @@ -782,11 +719,6 @@ static void RecordedPlayerHandleChoosePokemon(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleCmd23(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleHealthBarUpdate(void) { s16 hpVal; @@ -813,11 +745,6 @@ static void RecordedPlayerHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void RecordedPlayerHandleExpUpdate(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -844,51 +771,6 @@ static void RecordedPlayerHandleStatusAnimation(void) } } -static void RecordedPlayerHandleStatusXor(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleDataTransfer(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleDMA3Transfer(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandlePlayBGM(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleCmd32(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleTwoReturnValues(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleChosenMonReturnValue(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleOneReturnValue(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleOneReturnValue_Duplicate(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; @@ -928,11 +810,6 @@ static void RecordedPlayerHandleHitAnimation(void) } } -static void RecordedPlayerHandleCantSwitch(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandlePlaySE(void) { s8 pan; @@ -1080,11 +957,6 @@ static void RecordedPlayerHandleHidePartyStatusSummary(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleEndBounceEffect(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleSpriteInvisibility(void) { if (IsBattlerSpritePresent(gActiveBattler)) @@ -1109,16 +981,6 @@ static void RecordedPlayerHandleBattleAnimation(void) } } -static void RecordedPlayerHandleLinkStandbyMsg(void) -{ - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleResetActionMoveSelection(void) -{ - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleEndLinkBattle(void) { gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; @@ -1127,7 +989,3 @@ static void RecordedPlayerHandleEndLinkBattle(void) RecordedPlayerBufferExecCompleted(); gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } - -static void RecordedPlayerCmdEnd(void) -{ -} From cbebdf044ad43615a16aebe33382f7f1afd9faff Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 12:13:50 +0200 Subject: [PATCH 117/256] handle se, bgm and fainting cry --- include/battle_controllers.h | 3 ++ src/battle_controller_link_opponent.c | 45 ++--------------------- src/battle_controller_link_partner.c | 45 ++--------------------- src/battle_controller_opponent.c | 45 ++--------------------- src/battle_controller_player.c | 45 ++--------------------- src/battle_controller_player_partner.c | 45 ++--------------------- src/battle_controller_recorded_opponent.c | 45 ++--------------------- src/battle_controller_recorded_player.c | 45 ++--------------------- src/battle_controller_safari.c | 36 ++---------------- src/battle_controller_wally.c | 23 ++---------- src/battle_controllers.c | 43 ++++++++++++++++++++++ 11 files changed, 75 insertions(+), 345 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index b1f22efeb9..da2ccaff01 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -267,6 +267,9 @@ void BtlController_HandleReturnMonToBall(u32 battler); void BtlController_HandleFaintAnimation(u32 battler); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); +void BtlController_HandlePlaySE(void); +void BtlController_HandlePlayFanfareOrBGM(void); +void BtlController_HandleFaintingCry(void); // player controller void SetControllerToPlayer(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 2958905bd8..4434f2dcd7 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -49,9 +49,6 @@ static void LinkOpponentHandleSetUnkVar(void); static void LinkOpponentHandleClearUnkFlag(void); static void LinkOpponentHandleToggleUnkFlag(void); static void LinkOpponentHandleHitAnimation(void); -static void LinkOpponentHandlePlaySE(void); -static void LinkOpponentHandlePlayFanfareOrBGM(void); -static void LinkOpponentHandleFaintingCry(void); static void LinkOpponentHandleIntroSlide(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); @@ -116,9 +113,9 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TOGGLEUNKFLAG] = LinkOpponentHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = LinkOpponentHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = LinkOpponentHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = LinkOpponentHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = LinkOpponentHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = LinkOpponentHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = LinkOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkOpponentHandleDrawPartyStatusSummary, @@ -810,42 +807,6 @@ static void LinkOpponentHandleHitAnimation(void) } } -static void LinkOpponentHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleFaintingCry(void) -{ - u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, 25, CRY_MODE_FAINT); - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 40f3024196..6fc1620ca2 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -48,9 +48,6 @@ static void LinkPartnerHandleSetUnkVar(void); static void LinkPartnerHandleClearUnkFlag(void); static void LinkPartnerHandleToggleUnkFlag(void); static void LinkPartnerHandleHitAnimation(void); -static void LinkPartnerHandlePlaySE(void); -static void LinkPartnerHandlePlayFanfareOrBGM(void); -static void LinkPartnerHandleFaintingCry(void); static void LinkPartnerHandleIntroSlide(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); @@ -114,9 +111,9 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TOGGLEUNKFLAG] = LinkPartnerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = LinkPartnerHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = LinkPartnerHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = LinkPartnerHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = LinkPartnerHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = LinkPartnerHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = LinkPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkPartnerHandleDrawPartyStatusSummary, @@ -631,42 +628,6 @@ static void LinkPartnerHandleHitAnimation(void) } } -static void LinkPartnerHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleFaintingCry(void) -{ - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, -25, CRY_MODE_FAINT); - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index f018bc84a5..d721f9d3bf 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -64,9 +64,6 @@ static void OpponentHandleSetUnkVar(void); static void OpponentHandleClearUnkFlag(void); static void OpponentHandleToggleUnkFlag(void); static void OpponentHandleHitAnimation(void); -static void OpponentHandlePlaySE(void); -static void OpponentHandlePlayFanfareOrBGM(void); -static void OpponentHandleFaintingCry(void); static void OpponentHandleIntroSlide(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); @@ -131,9 +128,9 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TOGGLEUNKFLAG] = OpponentHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = OpponentHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = OpponentHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = OpponentHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = OpponentHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OpponentHandleDrawPartyStatusSummary, @@ -1083,42 +1080,6 @@ static void OpponentHandleHitAnimation(void) } } -static void OpponentHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - OpponentBufferExecCompleted(); -} - -static void OpponentHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - OpponentBufferExecCompleted(); -} - -static void OpponentHandleFaintingCry(void) -{ - u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, 25, CRY_MODE_FAINT); - OpponentBufferExecCompleted(); -} - static void OpponentHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 886329680a..774ef5eb46 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -78,9 +78,6 @@ static void PlayerHandleSetUnkVar(void); static void PlayerHandleClearUnkFlag(void); static void PlayerHandleToggleUnkFlag(void); static void PlayerHandleHitAnimation(void); -static void PlayerHandlePlaySE(void); -static void PlayerHandlePlayFanfareOrBGM(void); -static void PlayerHandleFaintingCry(void); static void PlayerHandleIntroSlide(void); static void PlayerHandleIntroTrainerBallThrow(void); static void PlayerHandleDrawPartyStatusSummary(void); @@ -163,9 +160,9 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TOGGLEUNKFLAG] = PlayerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = PlayerHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = PlayerHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = PlayerHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = PlayerHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerHandleDrawPartyStatusSummary, @@ -2395,42 +2392,6 @@ static void PlayerHandleHitAnimation(void) } } -static void PlayerHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - PlayerBufferExecCompleted(); -} - -static void PlayerHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - PlayerBufferExecCompleted(); -} - -static void PlayerHandleFaintingCry(void) -{ - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, -25, CRY_MODE_FAINT); - PlayerBufferExecCompleted(); -} - static void PlayerHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index a6af9b6dac..22d566ef3d 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -54,9 +54,6 @@ static void PlayerPartnerHandleSetUnkVar(void); static void PlayerPartnerHandleClearUnkFlag(void); static void PlayerPartnerHandleToggleUnkFlag(void); static void PlayerPartnerHandleHitAnimation(void); -static void PlayerPartnerHandlePlaySE(void); -static void PlayerPartnerHandlePlayFanfareOrBGM(void); -static void PlayerPartnerHandleFaintingCry(void); static void PlayerPartnerHandleIntroSlide(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); @@ -124,9 +121,9 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TOGGLEUNKFLAG] = PlayerPartnerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = PlayerPartnerHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = PlayerPartnerHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = PlayerPartnerHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = PlayerPartnerHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = PlayerPartnerHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerPartnerHandleDrawPartyStatusSummary, @@ -921,42 +918,6 @@ static void PlayerPartnerHandleHitAnimation(void) } } -static void PlayerPartnerHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleFaintingCry(void) -{ - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, -25, CRY_MODE_FAINT); - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index c8372fde2b..dbb6825da9 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -55,9 +55,6 @@ static void RecordedOpponentHandleSetUnkVar(void); static void RecordedOpponentHandleClearUnkFlag(void); static void RecordedOpponentHandleToggleUnkFlag(void); static void RecordedOpponentHandleHitAnimation(void); -static void RecordedOpponentHandlePlaySE(void); -static void RecordedOpponentHandlePlayFanfareOrBGM(void); -static void RecordedOpponentHandleFaintingCry(void); static void RecordedOpponentHandleIntroSlide(void); static void RecordedOpponentHandleIntroTrainerBallThrow(void); static void RecordedOpponentHandleDrawPartyStatusSummary(void); @@ -121,9 +118,9 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_TOGGLEUNKFLAG] = RecordedOpponentHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = RecordedOpponentHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = RecordedOpponentHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = RecordedOpponentHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = RecordedOpponentHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = RecordedOpponentHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedOpponentHandleDrawPartyStatusSummary, @@ -796,42 +793,6 @@ static void RecordedOpponentHandleHitAnimation(void) } } -static void RecordedOpponentHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleFaintingCry(void) -{ - u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, 25, CRY_MODE_FAINT); - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index ac659c6e57..ef36069983 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -51,9 +51,6 @@ static void RecordedPlayerHandleSetUnkVar(void); static void RecordedPlayerHandleClearUnkFlag(void); static void RecordedPlayerHandleToggleUnkFlag(void); static void RecordedPlayerHandleHitAnimation(void); -static void RecordedPlayerHandlePlaySE(void); -static void RecordedPlayerHandlePlayFanfareOrBGM(void); -static void RecordedPlayerHandleFaintingCry(void); static void RecordedPlayerHandleIntroSlide(void); static void RecordedPlayerHandleIntroTrainerBallThrow(void); static void RecordedPlayerHandleDrawPartyStatusSummary(void); @@ -116,9 +113,9 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_TOGGLEUNKFLAG] = RecordedPlayerHandleToggleUnkFlag, [CONTROLLER_HITANIMATION] = RecordedPlayerHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = RecordedPlayerHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = RecordedPlayerHandlePlayFanfareOrBGM, - [CONTROLLER_FAINTINGCRY] = RecordedPlayerHandleFaintingCry, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, + [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, [CONTROLLER_INTROSLIDE] = RecordedPlayerHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedPlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedPlayerHandleDrawPartyStatusSummary, @@ -810,42 +807,6 @@ static void RecordedPlayerHandleHitAnimation(void) } } -static void RecordedPlayerHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleFaintingCry(void) -{ - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - - PlayCry_ByMode(species, -25, CRY_MODE_FAINT); - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleIntroSlide(void) { HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 19bdb4283a..84b8488e02 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -32,8 +32,6 @@ static void SafariHandlePrintSelectionString(void); static void SafariHandleChooseAction(void); static void SafariHandleChooseItem(void); static void SafariHandleStatusIconUpdate(void); -static void SafariHandlePlaySE(void); -static void SafariHandlePlayFanfareOrBGM(void); static void SafariHandleFaintingCry(void); static void SafariHandleIntroSlide(void); static void SafariHandleIntroTrainerBallThrow(void); @@ -90,8 +88,8 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TOGGLEUNKFLAG] = BtlController_Empty, [CONTROLLER_HITANIMATION] = BtlController_Empty, [CONTROLLER_CANTSWITCH] = BtlController_Empty, - [CONTROLLER_PLAYSE] = SafariHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = SafariHandlePlayFanfareOrBGM, + [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry, [CONTROLLER_INTROSLIDE] = SafariHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = SafariHandleIntroTrainerBallThrow, @@ -352,34 +350,8 @@ static void SafariHandleStatusIconUpdate(void) SafariBufferExecCompleted(); } -static void SafariHandlePlaySE(void) -{ - s8 pan; - - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - pan = SOUND_PAN_ATTACKER; - else - pan = SOUND_PAN_TARGET; - - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - SafariBufferExecCompleted(); -} - -static void SafariHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - SafariBufferExecCompleted(); -} - +// All of the other controllers(except Wally's) use CRY_MODE_FAINT. +// Player is not a pokemon, so it can't really faint in the Safari anyway. static void SafariHandleFaintingCry(void) { u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 27d512a03c..c4bcc8c72d 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -50,7 +50,6 @@ static void WallyHandleChooseItem(void); static void WallyHandleHealthBarUpdate(void); static void WallyHandleHitAnimation(void); static void WallyHandlePlaySE(void); -static void WallyHandlePlayFanfareOrBGM(void); static void WallyHandleFaintingCry(void); static void WallyHandleIntroSlide(void); static void WallyHandleIntroTrainerBallThrow(void); @@ -113,7 +112,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_HITANIMATION] = WallyHandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = WallyHandlePlaySE, - [CONTROLLER_PLAYFANFAREORBGM] = WallyHandlePlayFanfareOrBGM, + [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = WallyHandleFaintingCry, [CONTROLLER_INTROSLIDE] = WallyHandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = WallyHandleIntroTrainerBallThrow, @@ -614,33 +613,19 @@ static void WallyHandleHitAnimation(void) } } +// For some reason Wally's SE don't take side into account and pan is always the same. Possibly a bug static void WallyHandlePlaySE(void) { PlaySE(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); WallyBufferExecCompleted(); } -static void WallyHandlePlayFanfareOrBGM(void) -{ - if (gBattleResources->bufferA[gActiveBattler][3]) - { - BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - else - { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - } - - WallyBufferExecCompleted(); -} - +// All of the other controllers use CRY_MODE_FAINT. +// Wally's Pokémon during the tutorial is never intended to faint, so that's probably why it's different here. static void WallyHandleFaintingCry(void) { u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); - // Seems that it doesn't bother using CRY_MODE_FAINT because - // Wally's Pokémon during the tutorial is never intended to faint. PlayCry_Normal(species, 25); WallyBufferExecCompleted(); } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index c8027fd184..ef51be8bd8 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2376,3 +2376,46 @@ void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool gBattleSpritesDataPtr->animationData->ballThrowCaseId = gBattleResources->bufferA[battler][1]; HandleBallThrow(battler, target, animId, allowCriticalCapture); } + +void BtlController_HandlePlaySE(void) +{ + s8 pan = (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) ? SOUND_PAN_ATTACKER : SOUND_PAN_TARGET; + + PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandlePlayFanfareOrBGM(void) +{ + if (gBattleResources->bufferA[gActiveBattler][3]) + { + BattleStopLowHpSound(); + PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); + } + else + { + PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); + } + + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleFaintingCry(void) +{ + struct Pokemon *party; + s8 pan; + + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + { + party = gPlayerParty; + pan = -25; + } + else + { + party = gEnemyParty; + pan = 25; + } + + PlayCry_ByMode(GetMonData(&party[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), pan, CRY_MODE_FAINT); + BattleControllerComplete(gActiveBattler); +} From a505cd7fb94b968f5a680eb89ec5fd7781f3a8d2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 12:53:14 +0200 Subject: [PATCH 118/256] simplify the get mon set mon data functions more --- include/battle_controllers.h | 8 +++--- src/battle_controller_link_opponent.c | 24 +++-------------- src/battle_controller_link_partner.c | 24 +++-------------- src/battle_controller_opponent.c | 32 +++-------------------- src/battle_controller_player.c | 32 +++-------------------- src/battle_controller_player_partner.c | 24 +++-------------- src/battle_controller_recorded_opponent.c | 24 +++-------------- src/battle_controller_recorded_player.c | 24 +++-------------- src/battle_controller_wally.c | 25 +++--------------- src/battle_controllers.c | 19 ++++++++++---- 10 files changed, 44 insertions(+), 192 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index da2ccaff01..1597dcf09f 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -257,10 +257,10 @@ void BtlController_TerminatorNop(void); // Dummy function at the end of the tabl void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); // handlers -void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party); -void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party); -void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party); -void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party); +void BtlController_HandleGetMonData(void); +void BtlController_HandleGetRawMonData(void); +void BtlController_HandleSetMonData(void); +void BtlController_HandleSetRawMonData(void); void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)); void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); void BtlController_HandleReturnMonToBall(u32 battler); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 4434f2dcd7..ea7f386206 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -29,9 +29,6 @@ #include "constants/trainers.h" #include "recorded_battle.h" -static void LinkOpponentHandleGetMonData(void); -static void LinkOpponentHandleSetMonData(void); -static void LinkOpponentHandleSetRawMonData(void); static void LinkOpponentHandleLoadMonSprite(void); static void LinkOpponentHandleSwitchInAnim(void); static void LinkOpponentHandleReturnMonToBall(void); @@ -70,10 +67,10 @@ static void EndDrawPartyStatusSummary(void); static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = LinkOpponentHandleGetMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, - [CONTROLLER_SETMONDATA] = LinkOpponentHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = LinkOpponentHandleSetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = LinkOpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = LinkOpponentHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = LinkOpponentHandleReturnMonToBall, @@ -477,21 +474,6 @@ static void LinkOpponentBufferExecCompleted(void) } } -static void LinkOpponentHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); -} - -static void LinkOpponentHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); -} - -static void LinkOpponentHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty); -} - static void LinkOpponentHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 6fc1620ca2..ec2a2a4622 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -29,9 +29,6 @@ #include "constants/trainers.h" #include "recorded_battle.h" -static void LinkPartnerHandleGetMonData(void); -static void LinkPartnerHandleSetMonData(void); -static void LinkPartnerHandleSetRawMonData(void); static void LinkPartnerHandleLoadMonSprite(void); static void LinkPartnerHandleSwitchInAnim(void); static void LinkPartnerHandleReturnMonToBall(void); @@ -68,10 +65,10 @@ static void EndDrawPartyStatusSummary(void); static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = LinkPartnerHandleGetMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, - [CONTROLLER_SETMONDATA] = LinkPartnerHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = LinkPartnerHandleSetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = LinkPartnerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = LinkPartnerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = LinkPartnerHandleReturnMonToBall, @@ -366,21 +363,6 @@ static void CompleteOnFinishedBattleAnimation(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); -} - -static void LinkPartnerHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); -} - -static void LinkPartnerHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); -} - static void LinkPartnerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index d721f9d3bf..177c209da9 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -39,10 +39,6 @@ #include "constants/trainers.h" #include "trainer_hill.h" -static void OpponentHandleGetMonData(void); -static void OpponentHandleGetRawMonData(void); -static void OpponentHandleSetMonData(void); -static void OpponentHandleSetRawMonData(void); static void OpponentHandleLoadMonSprite(void); static void OpponentHandleSwitchInAnim(void); static void OpponentHandleReturnMonToBall(void); @@ -85,10 +81,10 @@ static void EndDrawPartyStatusSummary(void); static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = OpponentHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = OpponentHandleGetRawMonData, - [CONTROLLER_SETMONDATA] = OpponentHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = OpponentHandleSetRawMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_HandleGetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = OpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = OpponentHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = OpponentHandleReturnMonToBall, @@ -499,26 +495,6 @@ static void OpponentBufferExecCompleted(void) } } -static void OpponentHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); -} - -static void OpponentHandleGetRawMonData(void) -{ - BtlController_HandleGetRawMonData(gActiveBattler, gEnemyParty); -} - -static void OpponentHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); -} - -static void OpponentHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty); -} - static void OpponentHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 774ef5eb46..e26e386f4d 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -38,10 +38,6 @@ #include "constants/rgb.h" static void PlayerBufferExecCompleted(void); -static void PlayerHandleGetMonData(void); -static void PlayerHandleGetRawMonData(void); -static void PlayerHandleSetMonData(void); -static void PlayerHandleSetRawMonData(void); static void PlayerHandleLoadMonSprite(void); static void PlayerHandleSwitchInAnim(void); static void PlayerHandleReturnMonToBall(void); @@ -117,10 +113,10 @@ static void ReloadMoveNames(void); static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = PlayerHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = PlayerHandleGetRawMonData, - [CONTROLLER_SETMONDATA] = PlayerHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = PlayerHandleSetRawMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_HandleGetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = PlayerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = PlayerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = PlayerHandleReturnMonToBall, @@ -1759,26 +1755,6 @@ static void PrintLinkStandbyMsg(void) } } -static void PlayerHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); -} - -static void PlayerHandleGetRawMonData(void) -{ - BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty); -} - -static void PlayerHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); -} - -static void PlayerHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); -} - static void PlayerHandleLoadMonSprite(void) { BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 22d566ef3d..34c0ad4548 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -31,9 +31,6 @@ #include "constants/party_menu.h" #include "constants/trainers.h" -static void PlayerPartnerHandleGetMonData(void); -static void PlayerPartnerHandleSetMonData(void); -static void PlayerPartnerHandleSetRawMonData(void); static void PlayerPartnerHandleLoadMonSprite(void); static void PlayerPartnerHandleSwitchInAnim(void); static void PlayerPartnerHandleReturnMonToBall(void); @@ -78,10 +75,10 @@ static void EndDrawPartyStatusSummary(void); static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = PlayerPartnerHandleGetMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, - [CONTROLLER_SETMONDATA] = PlayerPartnerHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = PlayerPartnerHandleSetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = PlayerPartnerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = PlayerPartnerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = PlayerPartnerHandleReturnMonToBall, @@ -548,21 +545,6 @@ static void CompleteOnFinishedBattleAnimation(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); -} - -static void PlayerPartnerHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); -} - -static void PlayerPartnerHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); -} - static void PlayerPartnerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index dbb6825da9..e55cb35509 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -32,9 +32,6 @@ #include "constants/songs.h" #include "constants/trainers.h" -static void RecordedOpponentHandleGetMonData(void); -static void RecordedOpponentHandleSetMonData(void); -static void RecordedOpponentHandleSetRawMonData(void); static void RecordedOpponentHandleLoadMonSprite(void); static void RecordedOpponentHandleSwitchInAnim(void); static void RecordedOpponentHandleReturnMonToBall(void); @@ -75,10 +72,10 @@ static void EndDrawPartyStatusSummary(void); static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = RecordedOpponentHandleGetMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, - [CONTROLLER_SETMONDATA] = RecordedOpponentHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = RecordedOpponentHandleSetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = RecordedOpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = RecordedOpponentHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = RecordedOpponentHandleReturnMonToBall, @@ -468,21 +465,6 @@ static void RecordedOpponentBufferExecCompleted(void) } } -static void RecordedOpponentHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gEnemyParty); -} - -static void RecordedOpponentHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gEnemyParty); -} - -static void RecordedOpponentHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gEnemyParty); -} - static void RecordedOpponentHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index ef36069983..9e792b56b4 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -28,9 +28,6 @@ #include "constants/battle_anim.h" #include "constants/songs.h" -static void RecordedPlayerHandleGetMonData(void); -static void RecordedPlayerHandleSetMonData(void); -static void RecordedPlayerHandleSetRawMonData(void); static void RecordedPlayerHandleLoadMonSprite(void); static void RecordedPlayerHandleSwitchInAnim(void); static void RecordedPlayerHandleReturnMonToBall(void); @@ -70,10 +67,10 @@ static void EndDrawPartyStatusSummary(void); static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = RecordedPlayerHandleGetMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, - [CONTROLLER_SETMONDATA] = RecordedPlayerHandleSetMonData, - [CONTROLLER_SETRAWMONDATA] = RecordedPlayerHandleSetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, + [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = RecordedPlayerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = RecordedPlayerHandleSwitchInAnim, [CONTROLLER_RETURNMONTOBALL] = RecordedPlayerHandleReturnMonToBall, @@ -447,21 +444,6 @@ static void CompleteOnFinishedBattleAnimation(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); -} - -static void RecordedPlayerHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); -} - -static void RecordedPlayerHandleSetRawMonData(void) -{ - BtlController_HandleSetRawMonData(gActiveBattler, gPlayerParty); -} - static void RecordedPlayerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index c4bcc8c72d..2bb77a8069 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -32,10 +32,6 @@ #include "constants/trainers.h" #include "constants/rgb.h" -// this file's functions -static void WallyHandleGetMonData(void); -static void WallyHandleGetRawMonData(void); -static void WallyHandleSetMonData(void); static void WallyHandleReturnMonToBall(void); static void WallyHandleDrawTrainerPic(void); static void WallyHandleTrainerSlide(void); @@ -68,9 +64,9 @@ static void Task_StartSendOutAnim(u8 taskId); static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { - [CONTROLLER_GETMONDATA] = WallyHandleGetMonData, - [CONTROLLER_GETRAWMONDATA] = WallyHandleGetRawMonData, - [CONTROLLER_SETMONDATA] = WallyHandleSetMonData, + [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, + [CONTROLLER_GETRAWMONDATA] = BtlController_HandleGetRawMonData, + [CONTROLLER_SETMONDATA] = BtlController_HandleSetMonData, [CONTROLLER_SETRAWMONDATA] = BtlController_Empty, [CONTROLLER_LOADMONSPRITE] = BtlController_Empty, [CONTROLLER_SWITCHINANIM] = BtlController_Empty, @@ -368,21 +364,6 @@ static void WallyBufferExecCompleted(void) } } -static void WallyHandleGetMonData(void) -{ - BtlController_HandleGetMonData(gActiveBattler, gPlayerParty); -} - -static void WallyHandleGetRawMonData(void) -{ - BtlController_HandleGetRawMonData(gActiveBattler, gPlayerParty); -} - -static void WallyHandleSetMonData(void) -{ - BtlController_HandleSetMonData(gActiveBattler, gPlayerParty); -} - static void WallyHandleReturnMonToBall(void) { BtlController_HandleReturnMonToBall(gActiveBattler); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index ef51be8bd8..4130940151 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2195,10 +2195,12 @@ void BtlController_TerminatorNop(void) { } -// Handlers of all the controller commands -void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party) +// Handlers of the controller commands +void BtlController_HandleGetMonData(void) { u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data + u32 battler = gActiveBattler; + struct Pokemon *party = GetBattlerParty(battler); u32 size = 0; u8 monToCheck; s32 i; @@ -2221,9 +2223,12 @@ void BtlController_HandleGetMonData(u32 battler, struct Pokemon *party) BattleControllerComplete(battler); } -void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party) +void BtlController_HandleGetRawMonData(void) { struct BattlePokemon battleMon; + u32 battler = gActiveBattler; + struct Pokemon *party = GetBattlerParty(battler); + u8 *src = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; u8 *dst = (u8 *)&battleMon + gBattleResources->bufferA[battler][1]; u8 i; @@ -2235,8 +2240,10 @@ void BtlController_HandleGetRawMonData(u32 battler, struct Pokemon *party) BattleControllerComplete(battler); } -void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party) +void BtlController_HandleSetMonData(void) { + u32 battler = gActiveBattler; + struct Pokemon *party = GetBattlerParty(battler); u32 i, monToCheck; if (gBattleResources->bufferA[battler][2] == 0) @@ -2256,9 +2263,11 @@ void BtlController_HandleSetMonData(u32 battler, struct Pokemon *party) BattleControllerComplete(battler); } -void BtlController_HandleSetRawMonData(u32 battler, struct Pokemon *party) +void BtlController_HandleSetRawMonData(void) { u32 i; + u32 battler = gActiveBattler; + struct Pokemon *party = GetBattlerParty(battler); u8 *dst = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; for (i = 0; i < gBattleResources->bufferA[battler][2]; i++) From 1793b9e1dad01b0c4fb37e5d195971907f2a1e13 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 14:11:25 +0200 Subject: [PATCH 119/256] more controller functions --- include/battle_controllers.h | 12 +- src/battle_controller_link_opponent.c | 131 ++-------------------- src/battle_controller_link_partner.c | 131 ++-------------------- src/battle_controller_opponent.c | 129 ++------------------- src/battle_controller_player.c | 131 ++-------------------- src/battle_controller_player_partner.c | 129 ++------------------- src/battle_controller_recorded_opponent.c | 129 ++------------------- src/battle_controller_recorded_player.c | 129 ++------------------- src/battle_controller_safari.c | 24 +--- src/battle_controller_wally.c | 69 +----------- src/battle_controllers.c | 114 +++++++++++++++++-- 11 files changed, 193 insertions(+), 935 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 1597dcf09f..d54e24bb4d 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -263,13 +263,21 @@ void BtlController_HandleSetMonData(void); void BtlController_HandleSetRawMonData(void); void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)); void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); -void BtlController_HandleReturnMonToBall(u32 battler); -void BtlController_HandleFaintAnimation(u32 battler); +void BtlController_HandleReturnMonToBall(void); +void BtlController_HandleFaintAnimation(void); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); +void BtlController_HandleClearUnkVar(void); +void BtlController_HandleSetUnkVar(void); +void BtlController_HandleClearUnkFlag(void); +void BtlController_HandleToggleUnkFlag(void); +void BtlController_HandleHitAnimation(void); void BtlController_HandlePlaySE(void); void BtlController_HandlePlayFanfareOrBGM(void); void BtlController_HandleFaintingCry(void); +void BtlController_HandleIntroSlide(void); +void BtlController_HandleSpriteInvisibility(void); +void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData); // player controller void SetControllerToPlayer(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index ea7f386206..a1a69294d4 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -31,26 +31,17 @@ static void LinkOpponentHandleLoadMonSprite(void); static void LinkOpponentHandleSwitchInAnim(void); -static void LinkOpponentHandleReturnMonToBall(void); static void LinkOpponentHandleDrawTrainerPic(void); static void LinkOpponentHandleTrainerSlide(void); static void LinkOpponentHandleTrainerSlideBack(void); -static void LinkOpponentHandleFaintAnimation(void); static void LinkOpponentHandleMoveAnimation(void); static void LinkOpponentHandlePrintString(void); static void LinkOpponentHandleHealthBarUpdate(void); static void LinkOpponentHandleStatusIconUpdate(void); static void LinkOpponentHandleStatusAnimation(void); -static void LinkOpponentHandleClearUnkVar(void); -static void LinkOpponentHandleSetUnkVar(void); -static void LinkOpponentHandleClearUnkFlag(void); -static void LinkOpponentHandleToggleUnkFlag(void); -static void LinkOpponentHandleHitAnimation(void); -static void LinkOpponentHandleIntroSlide(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); static void LinkOpponentHandleHidePartyStatusSummary(void); -static void LinkOpponentHandleSpriteInvisibility(void); static void LinkOpponentHandleBattleAnimation(void); static void LinkOpponentHandleLinkStandbyMsg(void); static void LinkOpponentHandleEndLinkBattle(void); @@ -73,11 +64,11 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = LinkOpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = LinkOpponentHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = LinkOpponentHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = LinkOpponentHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = LinkOpponentHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = LinkOpponentHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = LinkOpponentHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, @@ -104,21 +95,21 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, - [CONTROLLER_CLEARUNKVAR] = LinkOpponentHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = LinkOpponentHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = LinkOpponentHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = LinkOpponentHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = LinkOpponentHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = LinkOpponentHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = LinkOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkOpponentHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkOpponentHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, - [CONTROLLER_SPRITEINVISIBILITY] = LinkOpponentHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = LinkOpponentHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = LinkOpponentHandleLinkStandbyMsg, [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, @@ -365,25 +356,6 @@ static void CompleteOnInactiveTextPrinter(void) LinkOpponentBufferExecCompleted(); } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - LinkOpponentBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -452,12 +424,6 @@ static void CompleteOnFinishedStatusAnimation(void) LinkOpponentBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; @@ -484,11 +450,6 @@ static void LinkOpponentHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } -static void LinkOpponentHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] static void LinkOpponentHandleDrawTrainerPic(void) @@ -616,11 +577,6 @@ static void LinkOpponentHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void LinkOpponentHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void LinkOpponentHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -750,52 +706,6 @@ static void LinkOpponentHandleStatusAnimation(void) } } -static void LinkOpponentHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - LinkOpponentBufferExecCompleted(); -} - -static void LinkOpponentHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - LinkOpponentBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void LinkOpponentHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleIntroTrainerBallThrow(void) { u8 taskId; @@ -899,30 +809,9 @@ static void LinkOpponentHandleHidePartyStatusSummary(void) LinkOpponentBufferExecCompleted(); } -static void LinkOpponentHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - LinkOpponentBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - - BattleTv_SetDataBasedOnAnimation(animationId); - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, TRUE); } static void LinkOpponentHandleLinkStandbyMsg(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index ec2a2a4622..af2d75fbc3 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -31,25 +31,16 @@ static void LinkPartnerHandleLoadMonSprite(void); static void LinkPartnerHandleSwitchInAnim(void); -static void LinkPartnerHandleReturnMonToBall(void); static void LinkPartnerHandleDrawTrainerPic(void); static void LinkPartnerHandleTrainerSlideBack(void); -static void LinkPartnerHandleFaintAnimation(void); static void LinkPartnerHandleMoveAnimation(void); static void LinkPartnerHandlePrintString(void); static void LinkPartnerHandleHealthBarUpdate(void); static void LinkPartnerHandleStatusIconUpdate(void); static void LinkPartnerHandleStatusAnimation(void); -static void LinkPartnerHandleClearUnkVar(void); -static void LinkPartnerHandleSetUnkVar(void); -static void LinkPartnerHandleClearUnkFlag(void); -static void LinkPartnerHandleToggleUnkFlag(void); -static void LinkPartnerHandleHitAnimation(void); -static void LinkPartnerHandleIntroSlide(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); static void LinkPartnerHandleHidePartyStatusSummary(void); -static void LinkPartnerHandleSpriteInvisibility(void); static void LinkPartnerHandleBattleAnimation(void); static void LinkPartnerHandleLinkStandbyMsg(void); static void LinkPartnerHandleEndLinkBattle(void); @@ -71,11 +62,11 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = LinkPartnerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = LinkPartnerHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = LinkPartnerHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = LinkPartnerHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = LinkPartnerHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = LinkPartnerHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, @@ -102,21 +93,21 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, - [CONTROLLER_CLEARUNKVAR] = LinkPartnerHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = LinkPartnerHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = LinkPartnerHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = LinkPartnerHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = LinkPartnerHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = LinkPartnerHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = LinkPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkPartnerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkPartnerHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, - [CONTROLLER_SPRITEINVISIBILITY] = LinkPartnerHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = LinkPartnerHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = LinkPartnerHandleLinkStandbyMsg, [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, @@ -258,25 +249,6 @@ static void CompleteOnInactiveTextPrinter(void) LinkPartnerBufferExecCompleted(); } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - LinkPartnerBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -357,12 +329,6 @@ static void CompleteOnFinishedStatusAnimation(void) LinkPartnerBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); @@ -373,11 +339,6 @@ static void LinkPartnerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } -static void LinkPartnerHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] static void LinkPartnerHandleDrawTrainerPic(void) @@ -437,11 +398,6 @@ static void LinkPartnerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void LinkPartnerHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void LinkPartnerHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -571,52 +527,6 @@ static void LinkPartnerHandleStatusAnimation(void) } } -static void LinkPartnerHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - LinkPartnerBufferExecCompleted(); -} - -static void LinkPartnerHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - LinkPartnerBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void LinkPartnerHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleIntroTrainerBallThrow(void) { u8 paletteNum; @@ -732,30 +642,9 @@ static void LinkPartnerHandleHidePartyStatusSummary(void) LinkPartnerBufferExecCompleted(); } -static void LinkPartnerHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - LinkPartnerBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - - BattleTv_SetDataBasedOnAnimation(animationId); - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, TRUE); } static void LinkPartnerHandleLinkStandbyMsg(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 177c209da9..653458994d 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -41,11 +41,9 @@ static void OpponentHandleLoadMonSprite(void); static void OpponentHandleSwitchInAnim(void); -static void OpponentHandleReturnMonToBall(void); static void OpponentHandleDrawTrainerPic(void); static void OpponentHandleTrainerSlide(void); static void OpponentHandleTrainerSlideBack(void); -static void OpponentHandleFaintAnimation(void); static void OpponentHandleMoveAnimation(void); static void OpponentHandlePrintString(void); static void OpponentHandleChooseAction(void); @@ -55,16 +53,9 @@ static void OpponentHandleChoosePokemon(void); static void OpponentHandleHealthBarUpdate(void); static void OpponentHandleStatusIconUpdate(void); static void OpponentHandleStatusAnimation(void); -static void OpponentHandleClearUnkVar(void); -static void OpponentHandleSetUnkVar(void); -static void OpponentHandleClearUnkFlag(void); -static void OpponentHandleToggleUnkFlag(void); -static void OpponentHandleHitAnimation(void); -static void OpponentHandleIntroSlide(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); static void OpponentHandleHidePartyStatusSummary(void); -static void OpponentHandleSpriteInvisibility(void); static void OpponentHandleBattleAnimation(void); static void OpponentHandleEndLinkBattle(void); static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore); @@ -87,11 +78,11 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = OpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = OpponentHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = OpponentHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = OpponentHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = OpponentHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = OpponentHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = OpponentHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, @@ -118,21 +109,21 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, - [CONTROLLER_CLEARUNKVAR] = OpponentHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = OpponentHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = OpponentHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = OpponentHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = OpponentHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = OpponentHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OpponentHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = OpponentHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, - [CONTROLLER_SPRITEINVISIBILITY] = OpponentHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = OpponentHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, @@ -392,25 +383,6 @@ static void CompleteOnInactiveTextPrinter(void) OpponentBufferExecCompleted(); } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - OpponentBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -473,12 +445,6 @@ static void CompleteOnFinishedStatusAnimation(void) OpponentBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - OpponentBufferExecCompleted(); -} - static void OpponentBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; @@ -506,11 +472,6 @@ static void OpponentHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } -static void OpponentHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] static void OpponentHandleDrawTrainerPic(void) @@ -681,11 +642,6 @@ static void OpponentHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void OpponentHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void OpponentHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -1017,52 +973,6 @@ static void OpponentHandleStatusAnimation(void) } } -static void OpponentHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - OpponentBufferExecCompleted(); -} - -static void OpponentHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - OpponentBufferExecCompleted(); -} - -static void OpponentHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - OpponentBufferExecCompleted(); -} - -static void OpponentHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - OpponentBufferExecCompleted(); -} - -static void OpponentHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - OpponentBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void OpponentHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - OpponentBufferExecCompleted(); -} - static void OpponentHandleIntroTrainerBallThrow(void) { u8 taskId; @@ -1171,28 +1081,9 @@ static void OpponentHandleHidePartyStatusSummary(void) OpponentBufferExecCompleted(); } -static void OpponentHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - OpponentBufferExecCompleted(); -} - static void OpponentHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - OpponentBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); } static void OpponentHandleEndLinkBattle(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e26e386f4d..ed026fb060 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -40,11 +40,9 @@ static void PlayerBufferExecCompleted(void); static void PlayerHandleLoadMonSprite(void); static void PlayerHandleSwitchInAnim(void); -static void PlayerHandleReturnMonToBall(void); static void PlayerHandleDrawTrainerPic(void); static void PlayerHandleTrainerSlide(void); static void PlayerHandleTrainerSlideBack(void); -static void PlayerHandleFaintAnimation(void); static void PlayerHandlePaletteFade(void); static void PlayerHandleSuccessBallThrowAnim(void); static void PlayerHandleBallThrowAnim(void); @@ -69,17 +67,10 @@ static void PlayerHandleTwoReturnValues(void); static void PlayerHandleChosenMonReturnValue(void); static void PlayerHandleOneReturnValue(void); static void PlayerHandleOneReturnValue_Duplicate(void); -static void PlayerHandleClearUnkVar(void); -static void PlayerHandleSetUnkVar(void); -static void PlayerHandleClearUnkFlag(void); -static void PlayerHandleToggleUnkFlag(void); -static void PlayerHandleHitAnimation(void); -static void PlayerHandleIntroSlide(void); static void PlayerHandleIntroTrainerBallThrow(void); static void PlayerHandleDrawPartyStatusSummary(void); static void PlayerHandleHidePartyStatusSummary(void); static void PlayerHandleEndBounceEffect(void); -static void PlayerHandleSpriteInvisibility(void); static void PlayerHandleBattleAnimation(void); static void PlayerHandleLinkStandbyMsg(void); static void PlayerHandleResetActionMoveSelection(void); @@ -119,11 +110,11 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = PlayerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = PlayerHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = PlayerHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = PlayerHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = PlayerHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = PlayerHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = PlayerHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = PlayerHandlePaletteFade, [CONTROLLER_SUCCESSBALLTHROWANIM] = PlayerHandleSuccessBallThrowAnim, [CONTROLLER_BALLTHROWANIM] = PlayerHandleBallThrowAnim, @@ -150,21 +141,21 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOSENMONRETURNVALUE] = PlayerHandleChosenMonReturnValue, [CONTROLLER_ONERETURNVALUE] = PlayerHandleOneReturnValue, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = PlayerHandleOneReturnValue_Duplicate, - [CONTROLLER_CLEARUNKVAR] = PlayerHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = PlayerHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = PlayerHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = PlayerHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = PlayerHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = PlayerHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = PlayerHandleEndBounceEffect, - [CONTROLLER_SPRITEINVISIBILITY] = PlayerHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = PlayerHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = PlayerHandleLinkStandbyMsg, [CONTROLLER_RESETACTIONMOVESELECTION] = PlayerHandleResetActionMoveSelection, @@ -1574,25 +1565,6 @@ static void CompleteWhenChoseItem(void) } } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - PlayerBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void PlayerHandleYesNoInput(void) { if (JOY_NEW(DPAD_UP) && gMultiUsePlayerCursor != 0) @@ -1739,12 +1711,6 @@ static void CompleteOnFinishedStatusAnimation(void) PlayerBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - PlayerBufferExecCompleted(); -} - static void PrintLinkStandbyMsg(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -1769,11 +1735,6 @@ static void PlayerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnimShowHealthbox); } -static void PlayerHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] // In emerald it's possible to have a tag battle in the battle frontier facilities with AI @@ -1914,11 +1875,6 @@ static void PlayerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void PlayerHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void PlayerHandlePaletteFade(void) { BeginNormalPaletteFade(PALETTES_ALL, 2, 0, 16, RGB_BLACK); @@ -2329,52 +2285,6 @@ static void PlayerHandleOneReturnValue_Duplicate(void) PlayerBufferExecCompleted(); } -static void PlayerHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - PlayerBufferExecCompleted(); -} - -static void PlayerHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - PlayerBufferExecCompleted(); -} - -static void PlayerHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - PlayerBufferExecCompleted(); -} - -static void PlayerHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - PlayerBufferExecCompleted(); -} - -static void PlayerHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - PlayerBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void PlayerHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - PlayerBufferExecCompleted(); -} - // Task data for Task_StartSendOutAnim #define tBattlerId data[0] #define tStartTimer data[1] @@ -2506,30 +2416,9 @@ static void PlayerHandleEndBounceEffect(void) PlayerBufferExecCompleted(); } -static void PlayerHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - PlayerBufferExecCompleted(); -} - static void PlayerHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - PlayerBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - - BattleTv_SetDataBasedOnAnimation(animationId); - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, TRUE); } static void PlayerHandleLinkStandbyMsg(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 34c0ad4548..38616e7ec7 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -33,10 +33,8 @@ static void PlayerPartnerHandleLoadMonSprite(void); static void PlayerPartnerHandleSwitchInAnim(void); -static void PlayerPartnerHandleReturnMonToBall(void); static void PlayerPartnerHandleDrawTrainerPic(void); static void PlayerPartnerHandleTrainerSlideBack(void); -static void PlayerPartnerHandleFaintAnimation(void); static void PlayerPartnerHandleMoveAnimation(void); static void PlayerPartnerHandlePrintString(void); static void PlayerPartnerHandleChooseAction(void); @@ -46,16 +44,9 @@ static void PlayerPartnerHandleHealthBarUpdate(void); static void PlayerPartnerHandleExpUpdate(void); static void PlayerPartnerHandleStatusIconUpdate(void); static void PlayerPartnerHandleStatusAnimation(void); -static void PlayerPartnerHandleClearUnkVar(void); -static void PlayerPartnerHandleSetUnkVar(void); -static void PlayerPartnerHandleClearUnkFlag(void); -static void PlayerPartnerHandleToggleUnkFlag(void); -static void PlayerPartnerHandleHitAnimation(void); -static void PlayerPartnerHandleIntroSlide(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); static void PlayerPartnerHandleHidePartyStatusSummary(void); -static void PlayerPartnerHandleSpriteInvisibility(void); static void PlayerPartnerHandleBattleAnimation(void); static void PlayerPartnerHandleEndLinkBattle(void); @@ -81,11 +72,11 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = PlayerPartnerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = PlayerPartnerHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = PlayerPartnerHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = PlayerPartnerHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = PlayerPartnerHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = PlayerPartnerHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, @@ -112,21 +103,21 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, - [CONTROLLER_CLEARUNKVAR] = PlayerPartnerHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = PlayerPartnerHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = PlayerPartnerHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = PlayerPartnerHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = PlayerPartnerHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = PlayerPartnerHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerPartnerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerPartnerHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, - [CONTROLLER_SPRITEINVISIBILITY] = PlayerPartnerHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = PlayerPartnerHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, @@ -440,25 +431,6 @@ static void CompleteOnInactiveTextPrinter2(void) PlayerPartnerBufferExecCompleted(); } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - PlayerPartnerBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -539,12 +511,6 @@ static void CompleteOnFinishedStatusAnimation(void) PlayerPartnerBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); @@ -555,11 +521,6 @@ static void PlayerPartnerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } -static void PlayerPartnerHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] // some explanation here @@ -632,11 +593,6 @@ static void PlayerPartnerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void PlayerPartnerHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void PlayerPartnerHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -861,52 +817,6 @@ static void PlayerPartnerHandleStatusAnimation(void) } } -static void PlayerPartnerHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - PlayerPartnerBufferExecCompleted(); -} - -static void PlayerPartnerHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - PlayerPartnerBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void PlayerPartnerHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleIntroTrainerBallThrow(void) { u8 paletteNum; @@ -1020,28 +930,9 @@ static void PlayerPartnerHandleHidePartyStatusSummary(void) PlayerPartnerBufferExecCompleted(); } -static void PlayerPartnerHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - PlayerPartnerBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); } static void PlayerPartnerHandleEndLinkBattle(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index e55cb35509..27cf11c62d 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -34,10 +34,8 @@ static void RecordedOpponentHandleLoadMonSprite(void); static void RecordedOpponentHandleSwitchInAnim(void); -static void RecordedOpponentHandleReturnMonToBall(void); static void RecordedOpponentHandleDrawTrainerPic(void); static void RecordedOpponentHandleTrainerSlideBack(void); -static void RecordedOpponentHandleFaintAnimation(void); static void RecordedOpponentHandleMoveAnimation(void); static void RecordedOpponentHandlePrintString(void); static void RecordedOpponentHandleChooseAction(void); @@ -47,16 +45,9 @@ static void RecordedOpponentHandleChoosePokemon(void); static void RecordedOpponentHandleHealthBarUpdate(void); static void RecordedOpponentHandleStatusIconUpdate(void); static void RecordedOpponentHandleStatusAnimation(void); -static void RecordedOpponentHandleClearUnkVar(void); -static void RecordedOpponentHandleSetUnkVar(void); -static void RecordedOpponentHandleClearUnkFlag(void); -static void RecordedOpponentHandleToggleUnkFlag(void); -static void RecordedOpponentHandleHitAnimation(void); -static void RecordedOpponentHandleIntroSlide(void); static void RecordedOpponentHandleIntroTrainerBallThrow(void); static void RecordedOpponentHandleDrawPartyStatusSummary(void); static void RecordedOpponentHandleHidePartyStatusSummary(void); -static void RecordedOpponentHandleSpriteInvisibility(void); static void RecordedOpponentHandleBattleAnimation(void); static void RecordedOpponentHandleEndLinkBattle(void); @@ -78,11 +69,11 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = RecordedOpponentHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = RecordedOpponentHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = RecordedOpponentHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = RecordedOpponentHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = RecordedOpponentHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = RecordedOpponentHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, @@ -109,21 +100,21 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, - [CONTROLLER_CLEARUNKVAR] = RecordedOpponentHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = RecordedOpponentHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = RecordedOpponentHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = RecordedOpponentHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = RecordedOpponentHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = RecordedOpponentHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedOpponentHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedOpponentHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, - [CONTROLLER_SPRITEINVISIBILITY] = RecordedOpponentHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = RecordedOpponentHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, @@ -357,25 +348,6 @@ static void CompleteOnInactiveTextPrinter(void) RecordedOpponentBufferExecCompleted(); } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - RecordedOpponentBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -443,12 +415,6 @@ static void CompleteOnFinishedStatusAnimation(void) RecordedOpponentBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; @@ -475,11 +441,6 @@ static void RecordedOpponentHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } -static void RecordedOpponentHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] static void RecordedOpponentHandleDrawTrainerPic(void) @@ -548,11 +509,6 @@ static void RecordedOpponentHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void RecordedOpponentHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void RecordedOpponentHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -736,52 +692,6 @@ static void RecordedOpponentHandleStatusAnimation(void) } } -static void RecordedOpponentHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - RecordedOpponentBufferExecCompleted(); -} - -static void RecordedOpponentHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - RecordedOpponentBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void RecordedOpponentHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleIntroTrainerBallThrow(void) { u8 taskId; @@ -885,28 +795,9 @@ static void RecordedOpponentHandleHidePartyStatusSummary(void) RecordedOpponentBufferExecCompleted(); } -static void RecordedOpponentHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - RecordedOpponentBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); } static void RecordedOpponentHandleEndLinkBattle(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 9e792b56b4..5122107b9e 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -30,10 +30,8 @@ static void RecordedPlayerHandleLoadMonSprite(void); static void RecordedPlayerHandleSwitchInAnim(void); -static void RecordedPlayerHandleReturnMonToBall(void); static void RecordedPlayerHandleDrawTrainerPic(void); static void RecordedPlayerHandleTrainerSlideBack(void); -static void RecordedPlayerHandleFaintAnimation(void); static void RecordedPlayerHandleMoveAnimation(void); static void RecordedPlayerHandlePrintString(void); static void RecordedPlayerHandleChooseAction(void); @@ -43,16 +41,9 @@ static void RecordedPlayerHandleChoosePokemon(void); static void RecordedPlayerHandleHealthBarUpdate(void); static void RecordedPlayerHandleStatusIconUpdate(void); static void RecordedPlayerHandleStatusAnimation(void); -static void RecordedPlayerHandleClearUnkVar(void); -static void RecordedPlayerHandleSetUnkVar(void); -static void RecordedPlayerHandleClearUnkFlag(void); -static void RecordedPlayerHandleToggleUnkFlag(void); -static void RecordedPlayerHandleHitAnimation(void); -static void RecordedPlayerHandleIntroSlide(void); static void RecordedPlayerHandleIntroTrainerBallThrow(void); static void RecordedPlayerHandleDrawPartyStatusSummary(void); static void RecordedPlayerHandleHidePartyStatusSummary(void); -static void RecordedPlayerHandleSpriteInvisibility(void); static void RecordedPlayerHandleBattleAnimation(void); static void RecordedPlayerHandleEndLinkBattle(void); @@ -73,11 +64,11 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_SETRAWMONDATA] = BtlController_HandleSetRawMonData, [CONTROLLER_LOADMONSPRITE] = RecordedPlayerHandleLoadMonSprite, [CONTROLLER_SWITCHINANIM] = RecordedPlayerHandleSwitchInAnim, - [CONTROLLER_RETURNMONTOBALL] = RecordedPlayerHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = RecordedPlayerHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = BtlController_Empty, [CONTROLLER_TRAINERSLIDEBACK] = RecordedPlayerHandleTrainerSlideBack, - [CONTROLLER_FAINTANIMATION] = RecordedPlayerHandleFaintAnimation, + [CONTROLLER_FAINTANIMATION] = BtlController_HandleFaintAnimation, [CONTROLLER_PALETTEFADE] = BtlController_Empty, [CONTROLLER_SUCCESSBALLTHROWANIM] = BtlController_Empty, [CONTROLLER_BALLTHROWANIM] = BtlController_Empty, @@ -104,21 +95,21 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_CHOSENMONRETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE] = BtlController_Empty, [CONTROLLER_ONERETURNVALUE_DUPLICATE] = BtlController_Empty, - [CONTROLLER_CLEARUNKVAR] = RecordedPlayerHandleClearUnkVar, - [CONTROLLER_SETUNKVAR] = RecordedPlayerHandleSetUnkVar, - [CONTROLLER_CLEARUNKFLAG] = RecordedPlayerHandleClearUnkFlag, - [CONTROLLER_TOGGLEUNKFLAG] = RecordedPlayerHandleToggleUnkFlag, - [CONTROLLER_HITANIMATION] = RecordedPlayerHandleHitAnimation, + [CONTROLLER_CLEARUNKVAR] = BtlController_HandleClearUnkVar, + [CONTROLLER_SETUNKVAR] = BtlController_HandleSetUnkVar, + [CONTROLLER_CLEARUNKFLAG] = BtlController_HandleClearUnkFlag, + [CONTROLLER_TOGGLEUNKFLAG] = BtlController_HandleToggleUnkFlag, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = BtlController_HandleFaintingCry, - [CONTROLLER_INTROSLIDE] = RecordedPlayerHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedPlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedPlayerHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedPlayerHandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, - [CONTROLLER_SPRITEINVISIBILITY] = RecordedPlayerHandleSpriteInvisibility, + [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = RecordedPlayerHandleBattleAnimation, [CONTROLLER_LINKSTANDBYMSG] = BtlController_Empty, [CONTROLLER_RESETACTIONMOVESELECTION] = BtlController_Empty, @@ -339,25 +330,6 @@ static void CompleteOnInactiveTextPrinter(void) RecordedPlayerBufferExecCompleted(); } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - RecordedPlayerBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -438,12 +410,6 @@ static void CompleteOnFinishedStatusAnimation(void) RecordedPlayerBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); @@ -454,11 +420,6 @@ static void RecordedPlayerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } -static void RecordedPlayerHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] static void RecordedPlayerHandleDrawTrainerPic(void) @@ -545,11 +506,6 @@ static void RecordedPlayerHandleTrainerSlideBack(void) gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; } -static void RecordedPlayerHandleFaintAnimation(void) -{ - BtlController_HandleFaintAnimation(gActiveBattler); -} - static void RecordedPlayerHandleMoveAnimation(void) { if (!IsBattleSEPlaying(gActiveBattler)) @@ -750,52 +706,6 @@ static void RecordedPlayerHandleStatusAnimation(void) } } -static void RecordedPlayerHandleClearUnkVar(void) -{ - gUnusedControllerStruct.unk = 0; - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleSetUnkVar(void) -{ - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleClearUnkFlag(void) -{ - gUnusedControllerStruct.flag = 0; - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleToggleUnkFlag(void) -{ - gUnusedControllerStruct.flag ^= 1; - RecordedPlayerBufferExecCompleted(); -} - -static void RecordedPlayerHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - RecordedPlayerBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - -static void RecordedPlayerHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleIntroTrainerBallThrow(void) { u8 paletteNum; @@ -900,28 +810,9 @@ static void RecordedPlayerHandleHidePartyStatusSummary(void) RecordedPlayerBufferExecCompleted(); } -static void RecordedPlayerHandleSpriteInvisibility(void) -{ - if (IsBattlerSpritePresent(gActiveBattler)) - { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); - } - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleBattleAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - RecordedPlayerBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; - } + BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); } static void RecordedPlayerHandleEndLinkBattle(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 84b8488e02..e8c000d5d1 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -33,7 +33,6 @@ static void SafariHandleChooseAction(void); static void SafariHandleChooseItem(void); static void SafariHandleStatusIconUpdate(void); static void SafariHandleFaintingCry(void); -static void SafariHandleIntroSlide(void); static void SafariHandleIntroTrainerBallThrow(void); static void SafariHandleBattleAnimation(void); static void SafariHandleEndLinkBattle(void); @@ -91,7 +90,7 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_PLAYSE] = BtlController_HandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = SafariHandleFaintingCry, - [CONTROLLER_INTROSLIDE] = SafariHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = SafariHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = BtlController_Empty, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_Empty, @@ -234,12 +233,6 @@ static void CompleteWhenChosePokeblock(void) } } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - SafariBufferExecCompleted(); -} - static void SafariBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; @@ -360,13 +353,6 @@ static void SafariHandleFaintingCry(void) SafariBufferExecCompleted(); } -static void SafariHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - SafariBufferExecCompleted(); -} - static void SafariHandleIntroTrainerBallThrow(void) { UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT); @@ -377,13 +363,7 @@ static void SafariHandleIntroTrainerBallThrow(void) static void SafariHandleBattleAnimation(void) { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - SafariBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; + BtlController_HandleBattleAnimation(gActiveBattler, TRUE, FALSE); } static void SafariHandleEndLinkBattle(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 2bb77a8069..644e39455f 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -32,7 +32,6 @@ #include "constants/trainers.h" #include "constants/rgb.h" -static void WallyHandleReturnMonToBall(void); static void WallyHandleDrawTrainerPic(void); static void WallyHandleTrainerSlide(void); static void WallyHandleSuccessBallThrowAnim(void); @@ -44,10 +43,8 @@ static void WallyHandleChooseAction(void); static void WallyHandleChooseMove(void); static void WallyHandleChooseItem(void); static void WallyHandleHealthBarUpdate(void); -static void WallyHandleHitAnimation(void); static void WallyHandlePlaySE(void); static void WallyHandleFaintingCry(void); -static void WallyHandleIntroSlide(void); static void WallyHandleIntroTrainerBallThrow(void); static void WallyHandleDrawPartyStatusSummary(void); static void WallyHandleBattleAnimation(void); @@ -70,7 +67,7 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETRAWMONDATA] = BtlController_Empty, [CONTROLLER_LOADMONSPRITE] = BtlController_Empty, [CONTROLLER_SWITCHINANIM] = BtlController_Empty, - [CONTROLLER_RETURNMONTOBALL] = WallyHandleReturnMonToBall, + [CONTROLLER_RETURNMONTOBALL] = BtlController_HandleReturnMonToBall, [CONTROLLER_DRAWTRAINERPIC] = WallyHandleDrawTrainerPic, [CONTROLLER_TRAINERSLIDE] = WallyHandleTrainerSlide, [CONTROLLER_TRAINERSLIDEBACK] = BtlController_Empty, @@ -105,12 +102,12 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_SETUNKVAR] = BtlController_Empty, [CONTROLLER_CLEARUNKFLAG] = BtlController_Empty, [CONTROLLER_TOGGLEUNKFLAG] = BtlController_Empty, - [CONTROLLER_HITANIMATION] = WallyHandleHitAnimation, + [CONTROLLER_HITANIMATION] = BtlController_HandleHitAnimation, [CONTROLLER_CANTSWITCH] = BtlController_Empty, [CONTROLLER_PLAYSE] = WallyHandlePlaySE, [CONTROLLER_PLAYFANFAREORBGM] = BtlController_HandlePlayFanfareOrBGM, [CONTROLLER_FAINTINGCRY] = WallyHandleFaintingCry, - [CONTROLLER_INTROSLIDE] = WallyHandleIntroSlide, + [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = WallyHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = WallyHandleDrawPartyStatusSummary, [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_Empty, @@ -317,37 +314,12 @@ static void CompleteOnHealthbarDone(void) } } -static void DoHitAnimBlinkSpriteEffect(void) -{ - u8 spriteId = gBattlerSpriteIds[gActiveBattler]; - - if (gSprites[spriteId].data[1] == 32) - { - gSprites[spriteId].data[1] = 0; - gSprites[spriteId].invisible = FALSE; - gDoingBattleAnim = FALSE; - WallyBufferExecCompleted(); - } - else - { - if ((gSprites[spriteId].data[1] % 4) == 0) - gSprites[spriteId].invisible ^= 1; - gSprites[spriteId].data[1]++; - } -} - static void CompleteOnBankSpriteCallbackDummy2(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) WallyBufferExecCompleted(); } -static void CompleteOnFinishedBattleAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - WallyBufferExecCompleted(); -} - static void WallyBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; @@ -364,11 +336,6 @@ static void WallyBufferExecCompleted(void) } } -static void WallyHandleReturnMonToBall(void) -{ - BtlController_HandleReturnMonToBall(gActiveBattler); -} - #define sSpeedX data[0] static void WallyHandleDrawTrainerPic(void) @@ -579,21 +546,6 @@ static void WallyHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void WallyHandleHitAnimation(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) - { - WallyBufferExecCompleted(); - } - else - { - gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = DoHitAnimBlinkSpriteEffect; - } -} - // For some reason Wally's SE don't take side into account and pan is always the same. Possibly a bug static void WallyHandlePlaySE(void) { @@ -611,13 +563,6 @@ static void WallyHandleFaintingCry(void) WallyBufferExecCompleted(); } -static void WallyHandleIntroSlide(void) -{ - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); - gIntroSlideFlags |= 1; - WallyBufferExecCompleted(); -} - static void WallyHandleIntroTrainerBallThrow(void) { u8 paletteNum; @@ -683,13 +628,7 @@ static void WallyHandleDrawPartyStatusSummary(void) static void WallyHandleBattleAnimation(void) { - u8 animationId = gBattleResources->bufferA[gActiveBattler][1]; - u16 argument = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (TryHandleLaunchBattleTableAnimation(gActiveBattler, gActiveBattler, gActiveBattler, animationId, argument)) - WallyBufferExecCompleted(); - else - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedBattleAnimation; + BtlController_HandleBattleAnimation(gActiveBattler, TRUE, FALSE); } static void WallyHandleEndLinkBattle(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 4130940151..8678a4d3fe 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -7,6 +7,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "battle_setup.h" +#include "battle_tv.h" #include "cable_club.h" #include "link.h" #include "link_rfu.h" @@ -2184,6 +2185,31 @@ static void Controller_WaitForBallThrow(void) BattleControllerComplete(gActiveBattler); } +static void Controller_WaitForBattleAnimation(void) +{ + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) + BattleControllerComplete(gActiveBattler); +} + +static void Controller_HitAnimation(void) +{ + u32 spriteId = gBattlerSpriteIds[gActiveBattler]; + + if (gSprites[spriteId].data[1] == 32) + { + gSprites[spriteId].data[1] = 0; + gSprites[spriteId].invisible = FALSE; + gDoingBattleAnim = FALSE; + BattleControllerComplete(gActiveBattler); + } + else + { + if ((gSprites[spriteId].data[1] % 4) == 0) + gSprites[spriteId].invisible ^= 1; + gSprites[spriteId].data[1]++; + } +} + // Used for all the commands which do nothing. void BtlController_Empty(void) { @@ -2310,25 +2336,26 @@ void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*c gBattlerControllerFuncs[battler] = controllerCallback; } -void BtlController_HandleReturnMonToBall(u32 battler) +void BtlController_HandleReturnMonToBall(void) { - if (gBattleResources->bufferA[battler][1] == 0) + if (gBattleResources->bufferA[gActiveBattler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; - gBattlerControllerFuncs[battler] = Controller_ReturnMonToBall; + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + gBattlerControllerFuncs[gActiveBattler] = Controller_ReturnMonToBall; } else { - FreeMonSprite(battler); - BattleControllerComplete(battler); + FreeMonSprite(gActiveBattler); + BattleControllerComplete(gActiveBattler); } } #define sSpeedX data[1] #define sSpeedY data[2] -void BtlController_HandleFaintAnimation(u32 battler) +void BtlController_HandleFaintAnimation(void) { + u32 battler = gActiveBattler; if (gBattleSpritesDataPtr->healthBoxesData[battler].animationState == 0) { if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) @@ -2386,6 +2413,45 @@ void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool HandleBallThrow(battler, target, animId, allowCriticalCapture); } +void BtlController_HandleClearUnkVar(void) +{ + gUnusedControllerStruct.unk = 0; + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleSetUnkVar(void) +{ + gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleClearUnkFlag(void) +{ + gUnusedControllerStruct.flag = 0; + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleToggleUnkFlag(void) +{ + gUnusedControllerStruct.flag ^= 1; + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleHitAnimation(void) +{ + if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) + { + BattleControllerComplete(gActiveBattler); + } + else + { + gDoingBattleAnim = TRUE; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; + DoHitAnimHealthboxEffect(gActiveBattler); + gBattlerControllerFuncs[gActiveBattler] = Controller_HitAnimation; + } +} + void BtlController_HandlePlaySE(void) { s8 pan = (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) ? SOUND_PAN_ATTACKER : SOUND_PAN_TARGET; @@ -2428,3 +2494,37 @@ void BtlController_HandleFaintingCry(void) PlayCry_ByMode(GetMonData(&party[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), pan, CRY_MODE_FAINT); BattleControllerComplete(gActiveBattler); } + +void BtlController_HandleIntroSlide(void) +{ + HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); + gIntroSlideFlags |= 1; + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleSpriteInvisibility(void) +{ + if (IsBattlerSpritePresent(gActiveBattler)) + { + gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; + CopyBattleSpriteInvisibility(gActiveBattler); + } + BattleControllerComplete(gActiveBattler); +} + +void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData) +{ + if (ignoreSE || !IsBattleSEPlaying(battler)) + { + u8 animationId = gBattleResources->bufferA[battler][1]; + u16 argument = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8); + + if (TryHandleLaunchBattleTableAnimation(battler, battler, battler, animationId, argument)) + BattleControllerComplete(battler); + else + gBattlerControllerFuncs[battler] = Controller_WaitForBattleAnimation; + + if (updateTvData) + BattleTv_SetDataBasedOnAnimation(animationId); + } +} From 0b4c1aa2759a08581acc83d949e0c509a0207822 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 20:42:19 +0200 Subject: [PATCH 120/256] more work on controllers --- include/battle_controllers.h | 3 ++ src/battle_controller_link_opponent.c | 35 ++------------------ src/battle_controller_link_partner.c | 35 ++------------------ src/battle_controller_opponent.c | 35 ++------------------ src/battle_controller_player.c | 35 ++------------------ src/battle_controller_player_partner.c | 39 ++--------------------- src/battle_controller_recorded_opponent.c | 21 ++---------- src/battle_controller_recorded_player.c | 21 ++---------- src/battle_controllers.c | 33 +++++++++++++++++++ 9 files changed, 51 insertions(+), 206 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index d54e24bb4d..8d8dddae69 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -267,6 +267,9 @@ void BtlController_HandleReturnMonToBall(void); void BtlController_HandleFaintAnimation(void); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); +void DoStatusIconUpdate(u32 battler); +void BtlController_HandleStatusIconUpdate(void); +void BtlController_HandleStatusAnimation(void); void BtlController_HandleClearUnkVar(void); void BtlController_HandleSetUnkVar(void); void BtlController_HandleClearUnkFlag(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index a1a69294d4..e8863c75e6 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -37,8 +37,6 @@ static void LinkOpponentHandleTrainerSlideBack(void); static void LinkOpponentHandleMoveAnimation(void); static void LinkOpponentHandlePrintString(void); static void LinkOpponentHandleHealthBarUpdate(void); -static void LinkOpponentHandleStatusIconUpdate(void); -static void LinkOpponentHandleStatusAnimation(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); static void LinkOpponentHandleHidePartyStatusSummary(void); @@ -84,8 +82,8 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = LinkOpponentHandleHealthBarUpdate, [CONTROLLER_EXPUPDATE] = BtlController_Empty, - [CONTROLLER_STATUSICONUPDATE] = LinkOpponentHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = LinkOpponentHandleStatusAnimation, + [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = BtlController_Empty, [CONTROLLER_DATATRANSFER] = BtlController_Empty, [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, @@ -418,12 +416,6 @@ static void SwitchIn_TryShinyAnim(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - LinkOpponentBufferExecCompleted(); -} - static void LinkOpponentBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; @@ -683,29 +675,6 @@ static void LinkOpponentHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void LinkOpponentHandleStatusIconUpdate(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - -static void LinkOpponentHandleStatusAnimation(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - static void LinkOpponentHandleIntroTrainerBallThrow(void) { u8 taskId; diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index af2d75fbc3..20cc10dadc 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -36,8 +36,6 @@ static void LinkPartnerHandleTrainerSlideBack(void); static void LinkPartnerHandleMoveAnimation(void); static void LinkPartnerHandlePrintString(void); static void LinkPartnerHandleHealthBarUpdate(void); -static void LinkPartnerHandleStatusIconUpdate(void); -static void LinkPartnerHandleStatusAnimation(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); static void LinkPartnerHandleHidePartyStatusSummary(void); @@ -82,8 +80,8 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = LinkPartnerHandleHealthBarUpdate, [CONTROLLER_EXPUPDATE] = BtlController_Empty, - [CONTROLLER_STATUSICONUPDATE] = LinkPartnerHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = LinkPartnerHandleStatusAnimation, + [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = BtlController_Empty, [CONTROLLER_DATATRANSFER] = BtlController_Empty, [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, @@ -323,12 +321,6 @@ static void LinkPartnerBufferExecCompleted(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - LinkPartnerBufferExecCompleted(); -} - static void LinkPartnerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); @@ -504,29 +496,6 @@ static void LinkPartnerHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void LinkPartnerHandleStatusIconUpdate(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - -static void LinkPartnerHandleStatusAnimation(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - static void LinkPartnerHandleIntroTrainerBallThrow(void) { u8 paletteNum; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 653458994d..51a59ec56c 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -51,8 +51,6 @@ static void OpponentHandleChooseMove(void); static void OpponentHandleChooseItem(void); static void OpponentHandleChoosePokemon(void); static void OpponentHandleHealthBarUpdate(void); -static void OpponentHandleStatusIconUpdate(void); -static void OpponentHandleStatusAnimation(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); static void OpponentHandleHidePartyStatusSummary(void); @@ -98,8 +96,8 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = OpponentHandleHealthBarUpdate, [CONTROLLER_EXPUPDATE] = BtlController_Empty, - [CONTROLLER_STATUSICONUPDATE] = OpponentHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = OpponentHandleStatusAnimation, + [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = BtlController_Empty, [CONTROLLER_DATATRANSFER] = BtlController_Empty, [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, @@ -439,12 +437,6 @@ static void SwitchIn_TryShinyAnim(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - OpponentBufferExecCompleted(); -} - static void OpponentBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; @@ -950,29 +942,6 @@ static void OpponentHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void OpponentHandleStatusIconUpdate(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - -static void OpponentHandleStatusAnimation(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - static void OpponentHandleIntroTrainerBallThrow(void) { u8 taskId; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index ed026fb060..dc1cb777ad 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -58,8 +58,6 @@ static void PlayerHandleChoosePokemon(void); static void PlayerHandleCmd23(void); static void PlayerHandleHealthBarUpdate(void); static void PlayerHandleExpUpdate(void); -static void PlayerHandleStatusIconUpdate(void); -static void PlayerHandleStatusAnimation(void); static void PlayerHandleStatusXor(void); static void PlayerHandleDMA3Transfer(void); static void PlayerHandlePlayBGM(void); @@ -130,8 +128,8 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_23] = PlayerHandleCmd23, [CONTROLLER_HEALTHBARUPDATE] = PlayerHandleHealthBarUpdate, [CONTROLLER_EXPUPDATE] = PlayerHandleExpUpdate, - [CONTROLLER_STATUSICONUPDATE] = PlayerHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = PlayerHandleStatusAnimation, + [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = PlayerHandleStatusXor, [CONTROLLER_DATATRANSFER] = BtlController_Empty, [CONTROLLER_DMA3TRANSFER] = PlayerHandleDMA3Transfer, @@ -1705,12 +1703,6 @@ void CB2_SetUpReshowBattleScreenAfterMenu2(void) SetMainCallback2(ReshowBattleScreenAfterMenu); } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - PlayerBufferExecCompleted(); -} - static void PrintLinkStandbyMsg(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) @@ -2197,29 +2189,6 @@ static void PlayerHandleExpUpdate(void) #undef tExpTask_gainedExp_2 #undef tExpTask_frames -static void PlayerHandleStatusIconUpdate(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - -static void PlayerHandleStatusAnimation(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - static void PlayerHandleStatusXor(void) { u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS) ^ gBattleResources->bufferA[gActiveBattler][1]; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 38616e7ec7..1cebed0a91 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -42,8 +42,6 @@ static void PlayerPartnerHandleChooseMove(void); static void PlayerPartnerHandleChoosePokemon(void); static void PlayerPartnerHandleHealthBarUpdate(void); static void PlayerPartnerHandleExpUpdate(void); -static void PlayerPartnerHandleStatusIconUpdate(void); -static void PlayerPartnerHandleStatusAnimation(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); static void PlayerPartnerHandleHidePartyStatusSummary(void); @@ -92,8 +90,8 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = PlayerPartnerHandleHealthBarUpdate, [CONTROLLER_EXPUPDATE] = PlayerPartnerHandleExpUpdate, - [CONTROLLER_STATUSICONUPDATE] = PlayerPartnerHandleStatusIconUpdate, - [CONTROLLER_STATUSANIMATION] = PlayerPartnerHandleStatusAnimation, + [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, + [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = BtlController_Empty, [CONTROLLER_DATATRANSFER] = BtlController_Empty, [CONTROLLER_DMA3TRANSFER] = BtlController_Empty, @@ -505,12 +503,6 @@ static void PlayerPartnerBufferExecCompleted(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - PlayerPartnerBufferExecCompleted(); -} - static void PlayerPartnerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); @@ -768,6 +760,7 @@ static void PlayerPartnerHandleHealthBarUpdate(void) static void PlayerPartnerHandleExpUpdate(void) { u8 monId = gBattleResources->bufferA[gActiveBattler][1]; + s32 taskId, expPointsToGive; if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL) { @@ -775,9 +768,6 @@ static void PlayerPartnerHandleExpUpdate(void) } else { - s16 expPointsToGive; - u8 taskId; - LoadBattleBarGfx(1); GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // unused return value expPointsToGive = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); @@ -794,29 +784,6 @@ static void PlayerPartnerHandleExpUpdate(void) #undef tExpTask_bank #undef tExpTask_frames -static void PlayerPartnerHandleStatusIconUpdate(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - -static void PlayerPartnerHandleStatusAnimation(void) -{ - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } -} - static void PlayerPartnerHandleIntroTrainerBallThrow(void) { u8 paletteNum; diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 27cf11c62d..7948ae4597 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -409,12 +409,6 @@ static void SwitchIn_TryShinyAnim(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - RecordedOpponentBufferExecCompleted(); -} - static void RecordedOpponentBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; @@ -670,13 +664,7 @@ static void RecordedOpponentHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - + DoStatusIconUpdate(gActiveBattler); if (gTestRunnerEnabled) TestRunner_Battle_RecordStatus1(battlerId, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS)); } @@ -684,12 +672,7 @@ static void RecordedOpponentHandleStatusIconUpdate(void) static void RecordedOpponentHandleStatusAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } + BtlController_HandleStatusAnimation(); } static void RecordedOpponentHandleIntroTrainerBallThrow(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 5122107b9e..df345ec242 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -404,12 +404,6 @@ static void RecordedPlayerBufferExecCompleted(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - RecordedPlayerBufferExecCompleted(); -} - static void RecordedPlayerHandleLoadMonSprite(void) { BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); @@ -684,13 +678,7 @@ static void RecordedPlayerHandleStatusIconUpdate(void) { if (!IsBattleSEPlaying(gActiveBattler)) { - u8 battlerId; - - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_STATUS_ICON); - battlerId = gActiveBattler; - gBattleSpritesDataPtr->healthBoxesData[battlerId].statusAnimActive = 0; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - + DoStatusIconUpdate(gActiveBattler); if (gTestRunnerEnabled) TestRunner_Battle_RecordStatus1(battlerId, GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS)); } @@ -698,12 +686,7 @@ static void RecordedPlayerHandleStatusIconUpdate(void) static void RecordedPlayerHandleStatusAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnFinishedStatusAnimation; - } + BtlController_HandleStatusAnimation(); } static void RecordedPlayerHandleIntroTrainerBallThrow(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 8678a4d3fe..d01cd5b4b4 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2191,6 +2191,12 @@ static void Controller_WaitForBattleAnimation(void) BattleControllerComplete(gActiveBattler); } +static void Controller_WaitForStatusAnimation(void) +{ + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) + BattleControllerComplete(gActiveBattler); +} + static void Controller_HitAnimation(void) { u32 spriteId = gBattlerSpriteIds[gActiveBattler]; @@ -2413,6 +2419,33 @@ void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool HandleBallThrow(battler, target, animId, allowCriticalCapture); } +void DoStatusIconUpdate(u32 battler) +{ + struct Pokemon *party = GetBattlerParty(battler); + + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &party[gBattlerPartyIndexes[battler]], HEALTHBOX_STATUS_ICON); + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; + gBattlerControllerFuncs[battler] = Controller_WaitForStatusAnimation; +} + +void BtlController_HandleStatusIconUpdate(void) +{ + if (!IsBattleSEPlaying(gActiveBattler)) + { + DoStatusIconUpdate(gActiveBattler); + } +} + +void BtlController_HandleStatusAnimation(void) +{ + if (!IsBattleSEPlaying(gActiveBattler)) + { + InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], + gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForStatusAnimation; + } +} + void BtlController_HandleClearUnkVar(void) { gUnusedControllerStruct.unk = 0; From f9e131b6ac538e6ffc8e36ff02ad57b917519620 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 21:34:17 +0200 Subject: [PATCH 121/256] fix recorded, exp update the same for player partner --- include/battle_controllers.h | 1 + src/battle_controller_player.c | 28 +--- src/battle_controller_player_partner.c | 191 +--------------------- src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- 5 files changed, 12 insertions(+), 212 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 8d8dddae69..1e3b23959a 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -286,6 +286,7 @@ void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 up void SetControllerToPlayer(void); void BattleControllerDummy(void); void SetBattleEndCallbacks(void); +void PlayerHandleExpUpdate(void); void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); void CB2_SetUpReshowBattleScreenAfterMenu(void); void CB2_SetUpReshowBattleScreenAfterMenu2(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index dc1cb777ad..39829c1feb 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -57,7 +57,6 @@ static void PlayerHandleChooseItem(void); static void PlayerHandleChoosePokemon(void); static void PlayerHandleCmd23(void); static void PlayerHandleHealthBarUpdate(void); -static void PlayerHandleExpUpdate(void); static void PlayerHandleStatusXor(void); static void PlayerHandleDMA3Transfer(void); static void PlayerHandlePlayBGM(void); @@ -1349,6 +1348,7 @@ static s32 GetTaskExpValue(u8 taskId) static void Task_GiveExpToMon(u8 taskId) { + u32 savedActiveBattler; u32 monId = (u8)(gTasks[taskId].tExpTask_monId); u8 battlerId = gTasks[taskId].tExpTask_battler; s32 gainedExp = GetTaskExpValue(taskId); @@ -1363,8 +1363,6 @@ static void Task_GiveExpToMon(u8 taskId) if (currExp + gainedExp >= nextLvlExp) { - u8 savedActiveBattler; - SetMonData(mon, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; @@ -1374,7 +1372,7 @@ static void Task_GiveExpToMon(u8 taskId) gActiveBattler = savedActiveBattler; if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) + && (monId == gBattlerPartyIndexes[battlerId] || monId == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; @@ -1414,6 +1412,10 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) static void Task_GiveExpWithExpBar(u8 taskId) { + u8 level; + u16 species; + s32 currExp, expOnNextLvl, newExpPoints; + if (gTasks[taskId].tExpTask_frames < 13) { gTasks[taskId].tExpTask_frames++; @@ -1423,17 +1425,11 @@ static void Task_GiveExpWithExpBar(u8 taskId) u8 monId = gTasks[taskId].tExpTask_monId; s32 gainedExp = GetTaskExpValue(taskId); u8 battlerId = gTasks[taskId].tExpTask_battler; - s32 newExpPoints; newExpPoints = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); if (newExpPoints == -1) // The bar has been filled with given exp points. { - u8 level; - s32 currExp; - u16 species; - s32 expOnNextLvl; - m4aSongNumStop(SE_EXP); level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); currExp = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); @@ -1484,8 +1480,6 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; - GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else @@ -1497,12 +1491,7 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) { - u8 monIndex; - u8 battlerId; - - monIndex = gTasks[taskId].tExpTask_monId; - GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value. - battlerId = gTasks[taskId].tExpTask_battler; + u8 battlerId = gTasks[taskId].tExpTask_battler; gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; DestroyTask(taskId); } @@ -2160,7 +2149,7 @@ static void PlayerHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void PlayerHandleExpUpdate(void) +void PlayerHandleExpUpdate(void) { u8 monId = gBattleResources->bufferA[gActiveBattler][1]; s32 taskId, expPointsToGive; @@ -2172,7 +2161,6 @@ static void PlayerHandleExpUpdate(void) else { LoadBattleBarGfx(1); - GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // Unused return value. expPointsToGive = T1_READ_32(&gBattleResources->bufferA[gActiveBattler][2]); taskId = CreateTask(Task_GiveExpToMon, 10); gTasks[taskId].tExpTask_monId = monId; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 1cebed0a91..d4ce6f41b3 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -41,7 +41,6 @@ static void PlayerPartnerHandleChooseAction(void); static void PlayerPartnerHandleChooseMove(void); static void PlayerPartnerHandleChoosePokemon(void); static void PlayerPartnerHandleHealthBarUpdate(void); -static void PlayerPartnerHandleExpUpdate(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); static void PlayerPartnerHandleHidePartyStatusSummary(void); @@ -89,7 +88,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOOSEPOKEMON] = PlayerPartnerHandleChoosePokemon, [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = PlayerPartnerHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = PlayerPartnerHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = PlayerHandleExpUpdate, [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = BtlController_Empty, @@ -257,172 +256,6 @@ static void CompleteOnInactiveTextPrinter(void) PlayerPartnerBufferExecCompleted(); } -// the whole exp task is copied&pasted from player controller -#define tExpTask_monId data[0] -#define tExpTask_gainedExp data[1] -#define tExpTask_bank data[2] -#define tExpTask_frames data[10] - -static void Task_GiveExpToMon(u8 taskId) -{ - u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_bank; - s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - - if (IsDoubleBattle() == TRUE || monId != gBattlerPartyIndexes[battlerId]) // give exp without the expbar - { - struct Pokemon *mon = &gPlayerParty[monId]; - u16 species = GetMonData(mon, MON_DATA_SPECIES); - u8 level = GetMonData(mon, MON_DATA_LEVEL); - u32 currExp = GetMonData(mon, MON_DATA_EXP); - u32 nextLvlExp = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1]; - - if (currExp + gainedExp >= nextLvlExp) - { - u8 savedActiveBank; - - SetMonData(mon, MON_DATA_EXP, &nextLvlExp); - CalculateMonStats(mon); - gainedExp -= nextLvlExp - currExp; - savedActiveBank = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); - gActiveBattler = savedActiveBank; - - if (IsDoubleBattle() == TRUE - && ((u16)(monId) == gBattlerPartyIndexes[battlerId] || (u16)(monId) == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) - gTasks[taskId].func = Task_LaunchLvlUpAnim; - else - gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; - } - else - { - currExp += gainedExp; - SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; - DestroyTask(taskId); - } - } - else - { - gTasks[taskId].func = Task_PrepareToGiveExpWithExpBar; - } -} - -static void Task_PrepareToGiveExpWithExpBar(u8 taskId) -{ - u8 monIndex = gTasks[taskId].tExpTask_monId; - s32 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; - struct Pokemon *mon = &gPlayerParty[monIndex]; - u8 level = GetMonData(mon, MON_DATA_LEVEL); - u16 species = GetMonData(mon, MON_DATA_SPECIES); - u32 exp = GetMonData(mon, MON_DATA_EXP); - u32 currLvlExp = gExperienceTables[gSpeciesInfo[species].growthRate][level]; - u32 expToNextLvl; - - exp -= currLvlExp; - expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); - PlaySE(SE_EXP); - gTasks[taskId].func = Task_GiveExpWithExpBar; -} - -static void Task_GiveExpWithExpBar(u8 taskId) -{ - if (gTasks[taskId].tExpTask_frames < 13) - { - gTasks[taskId].tExpTask_frames++; - } - else - { - u8 monId = gTasks[taskId].tExpTask_monId; - s16 gainedExp = gTasks[taskId].tExpTask_gainedExp; - u8 battlerId = gTasks[taskId].tExpTask_bank; - s16 r4; - - r4 = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); - if (r4 == -1) - { - u8 level; - s32 currExp; - u16 species; - s32 expOnNextLvl; - - m4aSongNumStop(SE_EXP); - level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); - currExp = GetMonData(&gPlayerParty[monId], MON_DATA_EXP); - species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); - expOnNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1]; - - if (currExp + gainedExp >= expOnNextLvl) - { - u8 savedActiveBank; - - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &expOnNextLvl); - CalculateMonStats(&gPlayerParty[monId]); - gainedExp -= expOnNextLvl - currExp; - savedActiveBank = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); - gActiveBattler = savedActiveBank; - gTasks[taskId].func = Task_LaunchLvlUpAnim; - } - else - { - currExp += gainedExp; - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; - DestroyTask(taskId); - } - } - } -} - -static void Task_LaunchLvlUpAnim(u8 taskId) -{ - u8 battlerId = gTasks[taskId].tExpTask_bank; - u8 monIndex = gTasks[taskId].tExpTask_monId; - - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - battlerId ^= BIT_FLANK; - - InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); - gTasks[taskId].func = Task_UpdateLvlInHealthbox; -} - -static void Task_UpdateLvlInHealthbox(u8 taskId) -{ - u8 battlerId = gTasks[taskId].tExpTask_bank; - - if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) - { - u8 monIndex = gTasks[taskId].tExpTask_monId; - - GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); - else - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); - - gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; - } -} - -static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) -{ - u8 monIndex; - u8 battlerId; - - monIndex = gTasks[taskId].tExpTask_monId; - GetMonData(&gPlayerParty[monIndex], MON_DATA_LEVEL); // Unused return value - battlerId = gTasks[taskId].tExpTask_bank; - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; - DestroyTask(taskId); -} - static void CompleteOnInactiveTextPrinter2(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -757,28 +590,6 @@ static void PlayerPartnerHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -static void PlayerPartnerHandleExpUpdate(void) -{ - u8 monId = gBattleResources->bufferA[gActiveBattler][1]; - s32 taskId, expPointsToGive; - - if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL) - { - PlayerPartnerBufferExecCompleted(); - } - else - { - LoadBattleBarGfx(1); - GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES); // unused return value - expPointsToGive = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - taskId = CreateTask(Task_GiveExpToMon, 10); - gTasks[taskId].tExpTask_monId = monId; - gTasks[taskId].tExpTask_gainedExp = expPointsToGive; - gTasks[taskId].tExpTask_bank = gActiveBattler; - gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; - } -} - #undef tExpTask_monId #undef tExpTask_gainedExp #undef tExpTask_bank diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 7948ae4597..c238b30246 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -666,7 +666,7 @@ static void RecordedOpponentHandleStatusIconUpdate(void) { DoStatusIconUpdate(gActiveBattler); if (gTestRunnerEnabled) - TestRunner_Battle_RecordStatus1(battlerId, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS)); + TestRunner_Battle_RecordStatus1(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS)); } } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index df345ec242..c6145a27f1 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -680,7 +680,7 @@ static void RecordedPlayerHandleStatusIconUpdate(void) { DoStatusIconUpdate(gActiveBattler); if (gTestRunnerEnabled) - TestRunner_Battle_RecordStatus1(battlerId, GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_STATUS)); + TestRunner_Battle_RecordStatus1(gActiveBattler, GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS)); } } From 18db0cb3b7e0046670955fea595adf624c8c46a4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 22:41:13 +0200 Subject: [PATCH 122/256] controller string --- include/battle_controllers.h | 2 ++ src/battle_controller_link_opponent.c | 16 +--------- src/battle_controller_link_partner.c | 16 +--------- src/battle_controller_opponent.c | 16 +--------- src/battle_controller_player.c | 37 +++++------------------ src/battle_controller_player_partner.c | 23 ++------------ src/battle_controller_recorded_opponent.c | 8 +---- src/battle_controller_recorded_player.c | 8 +---- src/battle_controller_safari.c | 15 +-------- src/battle_controller_wally.c | 15 +-------- src/battle_controllers.c | 24 +++++++++++++++ 11 files changed, 43 insertions(+), 137 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 1e3b23959a..aa1d28c428 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -255,6 +255,7 @@ void BtlController_EmitDebugMenu(u8 bufferId); void BtlController_Empty(void); // Empty command, does nothing, only completes the execution. void BtlController_TerminatorNop(void); // Dummy function at the end of the table. void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); +void Controller_WaitForString(void); // handlers void BtlController_HandleGetMonData(void); @@ -267,6 +268,7 @@ void BtlController_HandleReturnMonToBall(void); void BtlController_HandleFaintAnimation(void); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); +void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 arenaPtsDeduct); void DoStatusIconUpdate(u32 battler); void BtlController_HandleStatusIconUpdate(void); void BtlController_HandleStatusAnimation(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index e8863c75e6..aa6c3b55c0 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -348,12 +348,6 @@ static void CompleteOnHealthbarDone(void) LinkOpponentBufferExecCompleted(); } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - LinkOpponentBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -640,15 +634,7 @@ static void LinkOpponentDoMoveAnimation(void) static void LinkOpponentHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; - BattleTv_SetDataBasedOnString(*stringId); + BtlController_HandlePrintString(gActiveBattler, TRUE, FALSE); } static void LinkOpponentHandleHealthBarUpdate(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 20cc10dadc..7d489c1f62 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -241,12 +241,6 @@ static void CompleteOnHealthbarDone(void) } } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - LinkPartnerBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -461,15 +455,7 @@ static void LinkPartnerDoMoveAnimation(void) static void LinkPartnerHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; - BattleTv_SetDataBasedOnString(*stringId); + BtlController_HandlePrintString(gActiveBattler, TRUE, FALSE); } static void LinkPartnerHandleHealthBarUpdate(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 51a59ec56c..37dc2760e8 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -375,12 +375,6 @@ static void CompleteOnHealthbarDone(void) OpponentBufferExecCompleted(); } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - OpponentBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -704,15 +698,7 @@ static void OpponentDoMoveAnimation(void) static void OpponentHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; - BattleArena_DeductSkillPoints(gActiveBattler, *stringId); + BtlController_HandlePrintString(gActiveBattler, FALSE, TRUE); } static void OpponentHandleChooseAction(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 39829c1feb..730e0b2688 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -87,7 +87,7 @@ static void WaitForMonSelection(void); static void CompleteWhenChoseItem(void); static void Task_LaunchLvlUpAnim(u8); static void Task_PrepareToGiveExpWithExpBar(u8); -static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8); +static void Task_SetControllerToWaitForString(u8); static void Task_GiveExpWithExpBar(u8); static void Task_UpdateLvlInHealthbox(u8); static void PrintLinkStandbyMsg(void); @@ -1329,12 +1329,6 @@ static void CompleteOnHealthbarDone(void) } } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - PlayerBufferExecCompleted(); -} - #define tExpTask_monId data[0] #define tExpTask_battler data[2] #define tExpTask_gainedExp_1 data[3] @@ -1375,13 +1369,13 @@ static void Task_GiveExpToMon(u8 taskId) && (monId == gBattlerPartyIndexes[battlerId] || monId == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else - gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; + gTasks[taskId].func = Task_SetControllerToWaitForString; } else { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battlerId] = Controller_WaitForString; DestroyTask(taskId); } } @@ -1453,7 +1447,7 @@ static void Task_GiveExpWithExpBar(u8 taskId) { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battlerId] = Controller_WaitForString; DestroyTask(taskId); } } @@ -1485,23 +1479,17 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) else UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); - gTasks[taskId].func = DestroyExpTaskAndCompleteOnInactiveTextPrinter; + gTasks[taskId].func = Task_SetControllerToWaitForString; } } -static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId) +static void Task_SetControllerToWaitForString(u8 taskId) { u8 battlerId = gTasks[taskId].tExpTask_battler; - gBattlerControllerFuncs[battlerId] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[battlerId] = Controller_WaitForString; DestroyTask(taskId); } -static void CompleteOnInactiveTextPrinter2(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - PlayerBufferExecCompleted(); -} - static void OpenPartyMenuToChooseMon(void) { if (!gPaletteFade.active) @@ -1953,16 +1941,7 @@ static void PlayerDoMoveAnimation(void) static void PlayerHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; - BattleTv_SetDataBasedOnString(*stringId); - BattleArena_DeductSkillPoints(gActiveBattler, *stringId); + BtlController_HandlePrintString(gActiveBattler, TRUE, TRUE); } static void PlayerHandlePrintSelectionString(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index d4ce6f41b3..8da64af4e5 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -88,7 +88,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_CHOOSEPOKEMON] = PlayerPartnerHandleChoosePokemon, [CONTROLLER_23] = BtlController_Empty, [CONTROLLER_HEALTHBARUPDATE] = PlayerPartnerHandleHealthBarUpdate, - [CONTROLLER_EXPUPDATE] = PlayerHandleExpUpdate, + [CONTROLLER_EXPUPDATE] = PlayerHandleExpUpdate, // Partner's player gets experience the same way as the player. [CONTROLLER_STATUSICONUPDATE] = BtlController_HandleStatusIconUpdate, [CONTROLLER_STATUSANIMATION] = BtlController_HandleStatusAnimation, [CONTROLLER_STATUSXOR] = BtlController_Empty, @@ -250,18 +250,6 @@ static void CompleteOnHealthbarDone(void) } } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - PlayerPartnerBufferExecCompleted(); -} - -static void CompleteOnInactiveTextPrinter2(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - PlayerPartnerBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -488,14 +476,7 @@ static void PlayerPartnerDoMoveAnimation(void) static void PlayerPartnerHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter2; + BtlController_HandlePrintString(gActiveBattler, FALSE, FALSE); } static void PlayerPartnerHandleChooseAction(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index c238b30246..917a78473b 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -342,12 +342,6 @@ static void CompleteOnHealthbarDone(void) RecordedOpponentBufferExecCompleted(); } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - RecordedOpponentBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -591,7 +585,7 @@ static void RecordedOpponentHandlePrintString(void) } BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForString; } static void RecordedOpponentHandleChooseAction(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index c6145a27f1..57a978546e 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -324,12 +324,6 @@ static void CompleteOnHealthbarDone(void) } } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - RecordedPlayerBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -588,7 +582,7 @@ static void RecordedPlayerHandlePrintString(void) } BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForString; } static void ChooseActionInBattlePalace(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index e8c000d5d1..7252bfa403 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -192,12 +192,6 @@ static void CompleteOnBattlerSpriteCallbackDummy(void) SafariBufferExecCompleted(); } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - SafariBufferExecCompleted(); -} - static void CompleteOnHealthboxSpriteCallbackDummy(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -287,14 +281,7 @@ static void SafariHandleBallThrowAnim(void) static void SafariHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; + BtlController_HandlePrintString(gActiveBattler, FALSE, FALSE); } static void SafariHandlePrintSelectionString(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 644e39455f..9633a3be80 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -212,12 +212,6 @@ static void CompleteOnBattlerSpriteCallbackDummy(void) WallyBufferExecCompleted(); } -static void CompleteOnInactiveTextPrinter(void) -{ - if (!IsTextPrinterActive(B_WIN_MSG)) - WallyBufferExecCompleted(); -} - static void OpenBagAfterPaletteFade(void) { if (!gPaletteFade.active) @@ -443,14 +437,7 @@ static void WallyDoMoveAnimation(void) static void WallyHandlePrintString(void) { - u16 *stringId; - - gBattle_BG0_X = 0; - gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); - BufferStringBattle(*stringId); - BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnInactiveTextPrinter; + BtlController_HandlePrintString(gActiveBattler, FALSE, FALSE); } static void WallyHandlePrintSelectionString(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d01cd5b4b4..7499ca91ad 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle.h" #include "battle_ai_main.h" +#include "battle_arena.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_gfx_sfx_util.h" @@ -17,6 +18,7 @@ #include "sound.h" #include "task.h" #include "util.h" +#include "text.h" #include "constants/abilities.h" #include "constants/songs.h" @@ -2197,6 +2199,12 @@ static void Controller_WaitForStatusAnimation(void) BattleControllerComplete(gActiveBattler); } +void Controller_WaitForString(void) +{ + if (!IsTextPrinterActive(B_WIN_MSG)) + BattleControllerComplete(gActiveBattler); +} + static void Controller_HitAnimation(void) { u32 spriteId = gBattlerSpriteIds[gActiveBattler]; @@ -2419,6 +2427,22 @@ void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool HandleBallThrow(battler, target, animId, allowCriticalCapture); } +void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 arenaPtsDeduct) +{ + u16 *stringId; + + gBattle_BG0_X = 0; + gBattle_BG0_Y = 0; + stringId = (u16 *)(&gBattleResources->bufferA[battler][2]); + BufferStringBattle(*stringId); + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); + gBattlerControllerFuncs[battler] = Controller_WaitForString; + if (updateTvData) + BattleTv_SetDataBasedOnString(*stringId); + if (arenaPtsDeduct) + BattleArena_DeductSkillPoints(battler, *stringId); +} + void DoStatusIconUpdate(u32 battler) { struct Pokemon *party = GetBattlerParty(battler); From ffb0e2004951897fd22c332029b3592783ec6f9f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 5 Aug 2023 23:27:56 +0200 Subject: [PATCH 123/256] hide show party status summary --- include/battle_controllers.h | 2 + src/battle_controller_link_opponent.c | 50 +---------------------- src/battle_controller_link_partner.c | 36 +--------------- src/battle_controller_opponent.c | 50 +---------------------- src/battle_controller_player.c | 41 ++----------------- src/battle_controller_player_partner.c | 36 +--------------- src/battle_controller_recorded_opponent.c | 49 +--------------------- src/battle_controller_recorded_player.c | 36 +--------------- src/battle_controller_safari.c | 6 --- src/battle_controller_wally.c | 11 +---- src/battle_controllers.c | 50 +++++++++++++++++++++++ 11 files changed, 69 insertions(+), 298 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index aa1d28c428..6dbdb14310 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -282,6 +282,8 @@ void BtlController_HandlePlayFanfareOrBGM(void); void BtlController_HandleFaintingCry(void); void BtlController_HandleIntroSlide(void); void BtlController_HandleSpriteInvisibility(void); +void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 considerDelay); +void BtlController_HandleHidePartyStatusSummary(void); void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData); // player controller diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index aa6c3b55c0..a003387ed2 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -39,7 +39,6 @@ static void LinkOpponentHandlePrintString(void); static void LinkOpponentHandleHealthBarUpdate(void); static void LinkOpponentHandleIntroTrainerBallThrow(void); static void LinkOpponentHandleDrawPartyStatusSummary(void); -static void LinkOpponentHandleHidePartyStatusSummary(void); static void LinkOpponentHandleBattleAnimation(void); static void LinkOpponentHandleLinkStandbyMsg(void); static void LinkOpponentHandleEndLinkBattle(void); @@ -52,7 +51,6 @@ static void SetLinkOpponentMonData(u8 monId); static void LinkOpponentDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); -static void EndDrawPartyStatusSummary(void); static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -105,7 +103,7 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = LinkOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkOpponentHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkOpponentHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = LinkOpponentHandleBattleAnimation, @@ -717,51 +715,7 @@ static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) static void LinkOpponentHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - LinkOpponentBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay < 2) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay++; - return; - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay = 0; - } - } - - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - LinkOpponentBufferExecCompleted(); - } -} - -static void LinkOpponentHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - LinkOpponentBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_OPPONENT, TRUE); } static void LinkOpponentHandleBattleAnimation(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 7d489c1f62..7f9e382af8 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -38,7 +38,6 @@ static void LinkPartnerHandlePrintString(void); static void LinkPartnerHandleHealthBarUpdate(void); static void LinkPartnerHandleIntroTrainerBallThrow(void); static void LinkPartnerHandleDrawPartyStatusSummary(void); -static void LinkPartnerHandleHidePartyStatusSummary(void); static void LinkPartnerHandleBattleAnimation(void); static void LinkPartnerHandleLinkStandbyMsg(void); static void LinkPartnerHandleEndLinkBattle(void); @@ -50,7 +49,6 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst); static void SetLinkPartnerMonData(u8 monId); static void LinkPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); -static void EndDrawPartyStatusSummary(void); static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -103,7 +101,7 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = LinkPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = LinkPartnerHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = LinkPartnerHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = LinkPartnerHandleBattleAnimation, @@ -564,37 +562,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void LinkPartnerHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - LinkPartnerBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - LinkPartnerBufferExecCompleted(); - } -} - -static void LinkPartnerHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - LinkPartnerBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); } static void LinkPartnerHandleBattleAnimation(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 37dc2760e8..145fe81f7b 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -53,7 +53,6 @@ static void OpponentHandleChoosePokemon(void); static void OpponentHandleHealthBarUpdate(void); static void OpponentHandleIntroTrainerBallThrow(void); static void OpponentHandleDrawPartyStatusSummary(void); -static void OpponentHandleHidePartyStatusSummary(void); static void OpponentHandleBattleAnimation(void); static void OpponentHandleEndLinkBattle(void); static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore); @@ -66,7 +65,6 @@ static void SetOpponentMonData(u8 monId); static void OpponentDoMoveAnimation(void); static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); static void Task_StartSendOutAnim(u8 taskId); -static void EndDrawPartyStatusSummary(void); static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -119,7 +117,7 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = OpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = OpponentHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = OpponentHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = OpponentHandleBattleAnimation, @@ -989,51 +987,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void OpponentHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - OpponentBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay < 2) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay++; - return; - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay = 0; - } - } - - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - OpponentBufferExecCompleted(); - } -} - -static void OpponentHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - OpponentBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_OPPONENT, TRUE); } static void OpponentHandleBattleAnimation(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 730e0b2688..21a58a93cb 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -66,7 +66,6 @@ static void PlayerHandleOneReturnValue(void); static void PlayerHandleOneReturnValue_Duplicate(void); static void PlayerHandleIntroTrainerBallThrow(void); static void PlayerHandleDrawPartyStatusSummary(void); -static void PlayerHandleHidePartyStatusSummary(void); static void PlayerHandleEndBounceEffect(void); static void PlayerHandleBattleAnimation(void); static void PlayerHandleLinkStandbyMsg(void); @@ -95,7 +94,6 @@ static u32 CopyPlayerMonData(u8, u8 *); static void SetPlayerMonData(u8); static void PlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8); -static void EndDrawPartyStatusSummary(void); static void ReloadMoveNames(void); @@ -150,7 +148,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = PlayerHandleEndBounceEffect, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = PlayerHandleBattleAnimation, @@ -2311,38 +2309,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void PlayerHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - PlayerBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - // If intro, skip the delay after drawing - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - PlayerBufferExecCompleted(); - } -} - -static void PlayerHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - PlayerBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); } static void PlayerHandleEndBounceEffect(void) @@ -2405,7 +2372,7 @@ static void PlayerHandleEndLinkBattle(void) gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; } -static void WaitForDebug(void) +static void Controller_WaitForDebug(void) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { @@ -2417,5 +2384,5 @@ static void PlayerHandleBattleDebug(void) { BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); SetMainCallback2(CB2_BattleDebugMenu); - gBattlerControllerFuncs[gActiveBattler] = WaitForDebug; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForDebug; } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 8da64af4e5..8676ecade9 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -43,7 +43,6 @@ static void PlayerPartnerHandleChoosePokemon(void); static void PlayerPartnerHandleHealthBarUpdate(void); static void PlayerPartnerHandleIntroTrainerBallThrow(void); static void PlayerPartnerHandleDrawPartyStatusSummary(void); -static void PlayerPartnerHandleHidePartyStatusSummary(void); static void PlayerPartnerHandleBattleAnimation(void); static void PlayerPartnerHandleEndLinkBattle(void); @@ -59,7 +58,6 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst); static void SetPlayerPartnerMonData(u8 monId); static void PlayerPartnerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); -static void EndDrawPartyStatusSummary(void); static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -112,7 +110,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = PlayerPartnerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = PlayerPartnerHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = PlayerPartnerHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = PlayerPartnerHandleBattleAnimation, @@ -656,37 +654,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void PlayerPartnerHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - PlayerPartnerBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - PlayerPartnerBufferExecCompleted(); - } -} - -static void PlayerPartnerHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - PlayerPartnerBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); } static void PlayerPartnerHandleBattleAnimation(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 917a78473b..ce2d667ee2 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -47,7 +47,6 @@ static void RecordedOpponentHandleStatusIconUpdate(void); static void RecordedOpponentHandleStatusAnimation(void); static void RecordedOpponentHandleIntroTrainerBallThrow(void); static void RecordedOpponentHandleDrawPartyStatusSummary(void); -static void RecordedOpponentHandleHidePartyStatusSummary(void); static void RecordedOpponentHandleBattleAnimation(void); static void RecordedOpponentHandleEndLinkBattle(void); @@ -112,7 +111,7 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedOpponentHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedOpponentHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedOpponentHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = RecordedOpponentHandleBattleAnimation, @@ -725,51 +724,7 @@ static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) static void RecordedOpponentHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - RecordedOpponentBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay < 2) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay++; - return; - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].opponentDrawPartyStatusSummaryDelay = 0; - } - } - - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - RecordedOpponentBufferExecCompleted(); - } -} - -static void RecordedOpponentHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - RecordedOpponentBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_OPPONENT, TRUE); } static void RecordedOpponentHandleBattleAnimation(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 57a978546e..d18b17fd57 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -43,7 +43,6 @@ static void RecordedPlayerHandleStatusIconUpdate(void); static void RecordedPlayerHandleStatusAnimation(void); static void RecordedPlayerHandleIntroTrainerBallThrow(void); static void RecordedPlayerHandleDrawPartyStatusSummary(void); -static void RecordedPlayerHandleHidePartyStatusSummary(void); static void RecordedPlayerHandleBattleAnimation(void); static void RecordedPlayerHandleEndLinkBattle(void); @@ -54,7 +53,6 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst); static void SetRecordedPlayerMonData(u8 monId); static void RecordedPlayerDoMoveAnimation(void); static void Task_StartSendOutAnim(u8 taskId); -static void EndDrawPartyStatusSummary(void); static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -107,7 +105,7 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_INTROSLIDE] = BtlController_HandleIntroSlide, [CONTROLLER_INTROTRAINERBALLTHROW] = RecordedPlayerHandleIntroTrainerBallThrow, [CONTROLLER_DRAWPARTYSTATUSSUMMARY] = RecordedPlayerHandleDrawPartyStatusSummary, - [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = RecordedPlayerHandleHidePartyStatusSummary, + [CONTROLLER_HIDEPARTYSTATUSSUMMARY] = BtlController_HandleHidePartyStatusSummary, [CONTROLLER_ENDBOUNCE] = BtlController_Empty, [CONTROLLER_SPRITEINVISIBILITY] = BtlController_HandleSpriteInvisibility, [CONTROLLER_BATTLEANIMATION] = RecordedPlayerHandleBattleAnimation, @@ -754,37 +752,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void RecordedPlayerHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - RecordedPlayerBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - - if (gBattleResources->bufferA[gActiveBattler][2] != 0) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 93; - - gBattlerControllerFuncs[gActiveBattler] = EndDrawPartyStatusSummary; - } -} - -static void EndDrawPartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - RecordedPlayerBufferExecCompleted(); - } -} - -static void RecordedPlayerHandleHidePartyStatusSummary(void) -{ - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - RecordedPlayerBufferExecCompleted(); + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); } static void RecordedPlayerHandleBattleAnimation(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 7252bfa403..a8761b1b30 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -36,7 +36,6 @@ static void SafariHandleFaintingCry(void); static void SafariHandleIntroTrainerBallThrow(void); static void SafariHandleBattleAnimation(void); static void SafariHandleEndLinkBattle(void); -static void SafariHandleBattleDebug(void); static void SafariBufferRunCommand(void); static void SafariBufferExecCompleted(void); @@ -362,8 +361,3 @@ static void SafariHandleEndLinkBattle(void) if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) gBattlerControllerFuncs[gActiveBattler] = SafariSetBattleEndCallbacks; } - -static void SafariHandleBattleDebug(void) -{ - SafariBufferExecCompleted(); -} diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 9633a3be80..8b3252dc9c 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -601,16 +601,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void WallyHandleDrawPartyStatusSummary(void) { - if (gBattleResources->bufferA[gActiveBattler][1] != 0 && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - { - WallyBufferExecCompleted(); - } - else - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown = 1; - gBattlerStatusSummaryTaskId[gActiveBattler] = CreatePartyStatusSummarySprites(gActiveBattler, (struct HpAndStatus *)&gBattleResources->bufferA[gActiveBattler][4], gBattleResources->bufferA[gActiveBattler][1], gBattleResources->bufferA[gActiveBattler][2]); - WallyBufferExecCompleted(); - } + BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, FALSE); } static void WallyHandleBattleAnimation(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 7499ca91ad..5a4e564779 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2205,6 +2205,15 @@ void Controller_WaitForString(void) BattleControllerComplete(gActiveBattler); } +static void Controller_WaitForPartyStatusSummary(void) +{ + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) + { + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; + BattleControllerComplete(gActiveBattler); + } +} + static void Controller_HitAnimation(void) { u32 spriteId = gBattlerSpriteIds[gActiveBattler]; @@ -2569,6 +2578,47 @@ void BtlController_HandleSpriteInvisibility(void) BattleControllerComplete(gActiveBattler); } +void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 considerDelay) +{ + if (gBattleResources->bufferA[battler][1] != 0 && GetBattlerSide(battler) == B_SIDE_PLAYER) + { + BattleControllerComplete(battler); + } + else + { + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown = 1; + + if (side == B_SIDE_OPPONENT && gBattleResources->bufferA[battler][2] != 0) + { + if (gBattleSpritesDataPtr->healthBoxesData[battler].opponentDrawPartyStatusSummaryDelay < 2) + { + gBattleSpritesDataPtr->healthBoxesData[battler].opponentDrawPartyStatusSummaryDelay++; + return; + } + else + { + gBattleSpritesDataPtr->healthBoxesData[battler].opponentDrawPartyStatusSummaryDelay = 0; + } + } + + gBattlerStatusSummaryTaskId[battler] = CreatePartyStatusSummarySprites(battler, (struct HpAndStatus *)&gBattleResources->bufferA[battler][4], gBattleResources->bufferA[battler][1], gBattleResources->bufferA[battler][2]); + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusDelayTimer = 0; + + // If intro, skip the delay after drawing + if (considerDelay && gBattleResources->bufferA[battler][2] != 0) + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusDelayTimer = 93; + + gBattlerControllerFuncs[battler] = Controller_WaitForPartyStatusSummary; + } +} + +void BtlController_HandleHidePartyStatusSummary(void) +{ + if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; + BattleControllerComplete(gActiveBattler); +} + void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData) { if (ignoreSE || !IsBattleSEPlaying(battler)) From af899c9679ee137f477c702d913b9fcbb131ded3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 6 Aug 2023 00:44:22 +0200 Subject: [PATCH 124/256] stuff --- src/battle_controller_wally.c | 1 - src/battle_controllers.c | 44 +++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 8b3252dc9c..37aaf93fb7 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -262,7 +262,6 @@ static void Intro_TryShinyAnimShowHealthbox(void) gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; } - } static void Intro_WaitForShinyAnimAndHealthbox(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 5a4e564779..4d6367f9e7 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2578,6 +2578,50 @@ void BtlController_HandleSpriteInvisibility(void) BattleControllerComplete(gActiveBattler); } +void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) +{ + u8 battlerId = sprite->sBattlerId; + + // Free player trainer sprite + FreeSpriteOamMatrix(sprite); + FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); + DestroySprite(sprite); + + // Load mon sprite + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); +} + +void BtlController_HandleIntroTrainerBallThrow(u32 battlerId, u16 const u32 *trainerPal, TaskFunc *introTask) +{ + u8 paletteNum; + u8 taskId; + + SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battler]]); + + gSprites[gBattlerSpriteIds[battler]].data[0] = 50; + gSprites[gBattlerSpriteIds[battler]].data[2] = -40; + gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; + gSprites[gBattlerSpriteIds[battler]].callback = StartAnimLinearTranslation; + gSprites[gBattlerSpriteIds[battler]].sBattlerId = battler; + + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCB_FreePlayerSpriteLoadMonSprite); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 1); + + paletteNum = AllocSpritePalette(0xD6F8); + LoadCompressedPalette(trainerPal, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = paletteNum; + + taskId = CreateTask(Task_StartSendOutAnim, 5); + gTasks[taskId].tBattlerId = battler; + + if (gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[battler]].func = introTask; + + gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; + gBattlerControllerFuncs[battler] = BattleControllerDummy; +} + void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 considerDelay) { if (gBattleResources->bufferA[battler][1] != 0 && GetBattlerSide(battler) == B_SIDE_PLAYER) From a9483c361bf69e75c8dae0efa937bcf8b41f75ec Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 6 Aug 2023 12:41:36 +0200 Subject: [PATCH 125/256] trainer intro ball throw --- include/battle_controllers.h | 6 +- src/battle_controller_link_opponent.c | 57 +------- src/battle_controller_link_partner.c | 153 ++------------------ src/battle_controller_opponent.c | 71 +-------- src/battle_controller_player.c | 101 +------------ src/battle_controller_player_partner.c | 90 ++---------- src/battle_controller_recorded_opponent.c | 57 +------- src/battle_controller_recorded_player.c | 70 +-------- src/battle_controller_safari.c | 8 +- src/battle_controller_wally.c | 52 +------ src/battle_controllers.c | 168 ++++++++++++++++++---- 11 files changed, 190 insertions(+), 643 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 6dbdb14310..2dab0d8e4b 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -252,6 +252,7 @@ void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome); void BtlController_EmitDebugMenu(u8 bufferId); +void BattleControllerComplete(u32 battler); // Can be used for all the controllers. void BtlController_Empty(void); // Empty command, does nothing, only completes the execution. void BtlController_TerminatorNop(void); // Dummy function at the end of the table. void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); @@ -282,6 +283,9 @@ void BtlController_HandlePlayFanfareOrBGM(void); void BtlController_HandleFaintingCry(void); void BtlController_HandleIntroSlide(void); void BtlController_HandleSpriteInvisibility(void); +bool32 TwoPlayerIntroMons(u32 battlerId); // Double battle with both player pokemon active. +bool32 TwoOpponentIntroMons(u32 battlerId); // Double battle with both opponent pokemon active. +void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, const u32 *trainerPal, s16 framesToWait, void (*controllerCallback)(void)); void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 considerDelay); void BtlController_HandleHidePartyStatusSummary(void); void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData); @@ -291,7 +295,6 @@ void SetControllerToPlayer(void); void BattleControllerDummy(void); void SetBattleEndCallbacks(void); void PlayerHandleExpUpdate(void); -void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); void CB2_SetUpReshowBattleScreenAfterMenu(void); void CB2_SetUpReshowBattleScreenAfterMenu2(void); void Task_PlayerController_RestoreBgmAfterCry(u8 taskId); @@ -308,6 +311,7 @@ void SetControllerToRecordedPlayer(void); void SetControllerToOpponent(void); // player partner controller +void Controller_PlayerPartnerShowIntroHealthbox(void); // Also used by the link partner. void SetControllerToPlayerPartner(void); // safari controller diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index a003387ed2..9b34321706 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -49,8 +49,6 @@ static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst); static void SetLinkOpponentMonData(u8 monId); static void LinkOpponentDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8 taskId); -static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -114,10 +112,6 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void LinkOpponentDummy(void) -{ -} - void SetControllerToLinkOpponent(void) { gBattlerControllerEndFuncs[gActiveBattler] = LinkOpponentBufferExecCompleted; @@ -661,56 +655,7 @@ static void LinkOpponentHandleHealthBarUpdate(void) static void LinkOpponentHandleIntroTrainerBallThrow(void) { - u8 taskId; - - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite); - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = LinkOpponentDummy; -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - u8 savedActiveBank = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler = BATTLE_PARTNER(gActiveBattler); - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler = BATTLE_PARTNER(gActiveBattler); - } - gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; - gActiveBattler = savedActiveBank; - DestroyTask(taskId); -} - -static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) -{ - FreeTrainerFrontPicPalette(sprite->oam.affineParam); - FreeSpriteOamMatrix(sprite); - DestroySprite(sprite); + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); } static void LinkOpponentHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 7f9e382af8..689316d443 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -112,10 +112,6 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void SpriteCB_Null2(void) -{ -} - void SetControllerToLinkPartner(void) { gBattlerControllerEndFuncs[gActiveBattler] = LinkPartnerBufferExecCompleted; @@ -150,72 +146,6 @@ static void FreeTrainerSpriteAfterSlide(void) } } -static void Intro_DelayAndEnd(void) -{ - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - LinkPartnerBufferExecCompleted(); - } -} - -static void Intro_WaitForHealthbox(void) -{ - bool32 finished = FALSE; - - if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) - { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - finished = TRUE; - } - else - { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) - { - finished = TRUE; - } - } - - if (IsCryPlayingOrClearCrySongs()) - finished = FALSE; - - if (finished) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; - } -} - -static void Intro_ShowHealthbox(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive - && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay != 1) - { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - - if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); - } - - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForHealthbox; - } -} - static void WaitForMonAnimAfterLoad(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) @@ -482,82 +412,23 @@ static void LinkPartnerHandleHealthBarUpdate(void) static void LinkPartnerHandleIntroTrainerBallThrow(void) { - u8 paletteNum; - u8 taskId; u32 trainerPicId; + u8 gameVersion, playerGender; + const u32 *trainerPal; - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + gameVersion = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF; + playerGender = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); - - paletteNum = AllocSpritePalette(0xD6F9); - - if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) - { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RED; - } - else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) - { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; - } + if (gameVersion == VERSION_FIRE_RED || gameVersion == VERSION_LEAF_GREEN) + trainerPicId = playerGender + TRAINER_BACK_PIC_RED; + else if (gameVersion == VERSION_RUBY || gameVersion == VERSION_SAPPHIRE) + trainerPicId = playerGender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; else - { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; - } + trainerPicId = playerGender + TRAINER_BACK_PIC_BRENDAN; - LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = SpriteCB_Null2; -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - if (gTasks[taskId].data[1] < 24) - { - gTasks[taskId].data[1]++; - } - else - { - u8 savedActiveBank = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - } - gBattlerControllerFuncs[gActiveBattler] = Intro_ShowHealthbox; - gActiveBattler = savedActiveBank; - DestroyTask(taskId); - } + trainerPal = gTrainerBackPicPaletteTable[trainerPicId].data; + // Link partner uses the same intro sequence as the player partner. + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); } static void LinkPartnerHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 145fe81f7b..43be340f01 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -128,10 +128,6 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void OpponentDummy(void) -{ -} - void SetControllerToOpponent(void) { gBattlerControllerEndFuncs[gActiveBattler] = OpponentBufferExecCompleted; @@ -181,19 +177,12 @@ static void Intro_DelayAndEnd(void) } } -static bool32 TwoIntroMons(u32 battlerId) // Double battle with both opponent pokemon active. -{ - return (IsDoubleBattle() - && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[battlerId]]) - && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]])); -} - static void Intro_WaitForShinyAnimAndHealthbox(void) { bool8 healthboxAnimDone = FALSE; bool8 twoMons; - twoMons = TwoIntroMons(gActiveBattler); + twoMons = TwoOpponentIntroMons(gActiveBattler); if (!twoMons || ((twoMons && (gBattleTypeFlags & BATTLE_TYPE_MULTI) && !BATTLE_TWO_VS_ONE_OPPONENT) || (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS))) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -263,7 +252,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); - twoMons = TwoIntroMons(gActiveBattler); + twoMons = TwoOpponentIntroMons(gActiveBattler); if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) || BATTLE_TWO_VS_ONE_OPPONENT) && twoMons @@ -928,61 +917,7 @@ static void OpponentHandleHealthBarUpdate(void) static void OpponentHandleIntroTrainerBallThrow(void) { - u8 taskId; - - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite); - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = OpponentDummy; -} - -static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) -{ - FreeTrainerFrontPicPalette(sprite->oam.affineParam); - FreeSpriteOamMatrix(sprite); - DestroySprite(sprite); -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - u8 savedActiveBattler = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - if ((!TwoIntroMons(gActiveBattler) || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) && !BATTLE_TWO_VS_ONE_OPPONENT) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) || (BATTLE_TWO_VS_ONE_OPPONENT && !TwoIntroMons(gActiveBattler))) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - } - gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; - gActiveBattler = savedActiveBattler; - DestroyTask(taskId); + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); } static void OpponentHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 21a58a93cb..d8a1157220 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1119,17 +1119,12 @@ static void Intro_DelayAndEnd(void) } } -static bool32 TwoIntroMons(u32 battlerId) // Double battle with both player pokemon active. -{ - return (IsDoubleBattle() && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[battlerId ^ BIT_FLANK]])); -} - static void Intro_WaitForShinyAnimAndHealthbox(void) { bool8 healthboxAnimDone = FALSE; // Check if healthbox has finished sliding in - if (TwoIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) @@ -1155,7 +1150,7 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - if (TwoIntroMons(gActiveBattler)) + if (TwoPlayerIntroMons(gActiveBattler)) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], BATTLE_PARTNER(gActiveBattler)); gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; @@ -1184,7 +1179,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) { - if (TwoIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); @@ -1215,7 +1210,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) } // Wait for battler anims - if (TwoIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy @@ -1237,7 +1232,7 @@ static void Intro_TryShinyAnimShowHealthbox(void) // Clean up if (bgmRestored && battlerAnimsDone) { - if (TwoIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); @@ -2219,94 +2214,12 @@ static void PlayerHandleOneReturnValue_Duplicate(void) PlayerBufferExecCompleted(); } -// Task data for Task_StartSendOutAnim -#define tBattlerId data[0] -#define tStartTimer data[1] - -#define sBattlerId data[5] - static void PlayerHandleIntroTrainerBallThrow(void) { - u8 paletteNum; - u8 taskId; - - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[gActiveBattler]].sBattlerId = gActiveBattler; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); - - paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].tBattlerId = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; + const u32 *trainerPal = gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data; + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); } -void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) -{ - u8 battlerId = sprite->sBattlerId; - - // Free player trainer sprite - FreeSpriteOamMatrix(sprite); - FreeSpritePaletteByTag(GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum)); - DestroySprite(sprite); - - // Load mon sprite - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); -} - -#undef sBattlerId - -// Send out at start of battle -static void Task_StartSendOutAnim(u8 taskId) -{ - if (gTasks[taskId].tStartTimer < 31) - { - gTasks[taskId].tStartTimer++; - } - else - { - u8 savedActiveBattler = gActiveBattler; - - gActiveBattler = gTasks[taskId].tBattlerId; - if (TwoIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; - gActiveBattler = savedActiveBattler; - DestroyTask(taskId); - } -} - -#undef tBattlerId -#undef tStartTimer - static void PlayerHandleDrawPartyStatusSummary(void) { BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 8676ecade9..ea16351f3b 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -121,10 +121,6 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void PlayerPartnerDummy(void) -{ -} - void SetControllerToPlayerPartner(void) { gBattlerControllerEndFuncs[gActiveBattler] = PlayerPartnerBufferExecCompleted; @@ -164,7 +160,7 @@ static void Intro_DelayAndEnd(void) if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) { gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - PlayerPartnerBufferExecCompleted(); + BattleControllerComplete(gActiveBattler); } } @@ -196,7 +192,8 @@ static void Intro_WaitForHealthbox(void) } } -static void Intro_ShowHealthbox(void) +// Also used by the link partner. +void Controller_PlayerPartnerShowIntroHealthbox(void) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive @@ -569,87 +566,18 @@ static void PlayerPartnerHandleHealthBarUpdate(void) gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; } -#undef tExpTask_monId -#undef tExpTask_gainedExp -#undef tExpTask_bank -#undef tExpTask_frames - static void PlayerPartnerHandleIntroTrainerBallThrow(void) { - u8 paletteNum; - u8 taskId; + const u32 *trainerPal; - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); - - paletteNum = AllocSpritePalette(0xD6F9); if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER) - { - u8 spriteId = TRAINER_BACK_PIC_STEVEN; - LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - } - else if (gPartnerTrainerId >= TRAINER_CUSTOM_PARTNER) - { - u8 spriteId = gPartnerSpriteId; - LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, 0x100 + paletteNum * 16, 32); - } + trainerPal = gTrainerBackPicPaletteTable[TRAINER_STEVEN_PARTNER].data; + else if (gPartnerTrainerId >= TRAINER_CUSTOM_PARTNER) // Custom multi battle. + trainerPal = gTrainerBackPicPaletteTable[gPartnerSpriteId].data; else - { - u8 spriteId = GetFrontierTrainerFrontSpriteId(gPartnerTrainerId); - LoadCompressedPalette(gTrainerFrontPicPaletteTable[spriteId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - } + trainerPal = gTrainerFrontPicPaletteTable[GetFrontierTrainerFrontSpriteId(gPartnerTrainerId)].data; // 2 vs 2 multi battle in Battle Frontier, load front sprite and pal. - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerDummy; -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - if (gTasks[taskId].data[1] < 24) - { - gTasks[taskId].data[1]++; - } - else - { - u8 savedActiveBank = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - } - gBattlerControllerFuncs[gActiveBattler] = Intro_ShowHealthbox; - gActiveBattler = savedActiveBank; - DestroyTask(taskId); - } + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); } static void PlayerPartnerHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index ce2d667ee2..17fcb3b1c1 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -56,8 +56,6 @@ static void SwitchIn_HandleSoundAndEnd(void); static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst); static void SetRecordedOpponentMonData(u8 monId); static void RecordedOpponentDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8 taskId); -static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); static void EndDrawPartyStatusSummary(void); static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = @@ -122,10 +120,6 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void RecordedOpponentDummy(void) -{ -} - void SetControllerToRecordedOpponent(void) { gBattlerControllerEndFuncs[gActiveBattler] = RecordedOpponentBufferExecCompleted; @@ -670,56 +664,7 @@ static void RecordedOpponentHandleStatusAnimation(void) static void RecordedOpponentHandleIntroTrainerBallThrow(void) { - u8 taskId; - - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreeOpponentSprite); - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentDummy; -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - u8 savedActiveBank = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - } - gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; - gActiveBattler = savedActiveBank; - DestroyTask(taskId); -} - -static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) -{ - FreeTrainerFrontPicPalette(sprite->oam.affineParam); - FreeSpriteOamMatrix(sprite); - DestroySprite(sprite); + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); } static void RecordedOpponentHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index d18b17fd57..fc35735b21 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -27,6 +27,7 @@ #include "window.h" #include "constants/battle_anim.h" #include "constants/songs.h" +#include "constants/trainers.h" static void RecordedPlayerHandleLoadMonSprite(void); static void RecordedPlayerHandleSwitchInAnim(void); @@ -116,10 +117,6 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void RecordedPlayerDummy(void) -{ -} - void SetControllerToRecordedPlayer(void) { gBattlerControllerEndFuncs[gActiveBattler] = RecordedPlayerBufferExecCompleted; @@ -683,71 +680,16 @@ static void RecordedPlayerHandleStatusAnimation(void) static void RecordedPlayerHandleIntroTrainerBallThrow(void) { - u8 paletteNum; - u8 taskId; u32 trainerPicId; + const u32 *trainerPal; - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); - - paletteNum = AllocSpritePalette(0xD6F9); if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_BRENDAN; else - trainerPicId = gSaveBlock2Ptr->playerGender; + trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; - LoadCompressedPalette(gTrainerBackPicPaletteTable[trainerPicId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerDummy; -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - if (gTasks[taskId].data[1] < 24) - { - gTasks[taskId].data[1]++; - } - else - { - u8 savedActiveBank = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - } - else - { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - } - gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; - gActiveBattler = savedActiveBank; - DestroyTask(taskId); - } + trainerPal = gTrainerFrontPicPaletteTable[trainerPicId].data; + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F9, trainerPal, 24, Intro_TryShinyAnimShowHealthbox); } static void RecordedPlayerHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index a8761b1b30..24d4abf827 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -185,13 +185,13 @@ static void HandleInputChooseAction(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) +static void Controller_WaitForTrainerPic(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); } -static void CompleteOnHealthboxSpriteCallbackDummy(void) +static void Controller_WaitForHealthbox(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) SafariBufferExecCompleted(); @@ -263,7 +263,7 @@ static void SafariHandleDrawTrainerPic(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForTrainerPic; } #undef sSpeedX @@ -344,7 +344,7 @@ static void SafariHandleIntroTrainerBallThrow(void) UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT); StartHealthboxSlideIn(gActiveBattler); SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthboxSpriteCallbackDummy; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForHealthbox; } static void SafariHandleBattleAnimation(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 37aaf93fb7..9376e1e69c 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -57,7 +57,6 @@ static void Intro_WaitForShinyAnimAndHealthbox(void); static u32 CopyWallyMonData(u8 monId, u8 *dst); static void SetWallyMonData(u8 monId); static void WallyDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8 taskId); static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -121,10 +120,6 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -static void SpriteCB_Null7(void) -{ -} - void SetControllerToWally(void) { gBattlerControllerEndFuncs[gActiveBattler] = WallyBufferExecCompleted; @@ -551,51 +546,8 @@ static void WallyHandleFaintingCry(void) static void WallyHandleIntroTrainerBallThrow(void) { - u8 paletteNum; - u8 taskId; - - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[5] = gActiveBattler; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); - - paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = paletteNum; - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].data[0] = gActiveBattler; - - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; -} - -static void Task_StartSendOutAnim(u8 taskId) -{ - if (gTasks[taskId].data[1] < 31) - { - gTasks[taskId].data[1]++; - } - else - { - u8 savedActiveBank = gActiveBattler; - - gActiveBattler = gTasks[taskId].data[0]; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gBattlerControllerFuncs[gActiveBattler] = Intro_TryShinyAnimShowHealthbox; - gActiveBattler = savedActiveBank; - DestroyTask(taskId); - } + const u32 *trainerPal = gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data; + BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); } static void WallyHandleDrawPartyStatusSummary(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 4d6367f9e7..c321ef7a35 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -12,6 +12,7 @@ #include "cable_club.h" #include "link.h" #include "link_rfu.h" +#include "palette.h" #include "party_menu.h" #include "recorded_battle.h" #include "string_util.h" @@ -34,6 +35,9 @@ static void InitSinglePlayerBtlControllers(void); static void SetBattlePartyIds(void); static void Task_HandleSendLinkBuffersData(u8 taskId); static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId); +static void Task_StartSendOutAnim(u8 taskId); +static void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite); +static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); void HandleLinkBattleSetup(void) { @@ -2578,7 +2582,136 @@ void BtlController_HandleSpriteInvisibility(void) BattleControllerComplete(gActiveBattler); } -void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) +bool32 TwoPlayerIntroMons(u32 battlerId) // Double battle with both player pokemon active. +{ + return (IsDoubleBattle() && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[battlerId ^ BIT_FLANK]])); +} + +bool32 TwoOpponentIntroMons(u32 battlerId) // Double battle with both opponent pokemon active. +{ + return (IsDoubleBattle() + && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[battlerId]]) + && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]])); +} + +// Task data for Task_StartSendOutAnim +#define tBattlerId data[0] +#define tStartTimer data[1] +#define tFramesToWait data[2] +#define tControllerFunc_1 3 // Stored as two halfwords +#define tControllerFunc_2 4 + +// Sprite data for SpriteCB_FreePlayerSpriteLoadMonSprite +#define sBattlerId data[5] + +void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, const u32 *trainerPal, s16 framesToWait, void (*controllerCallback)(void)) +{ + u8 paletteNum, taskId; + u32 side = GetBattlerSide(battler); + + SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battler]]); + if (side == B_SIDE_PLAYER) + { + gSprites[gBattlerSpriteIds[battler]].data[0] = 50; + gSprites[gBattlerSpriteIds[battler]].data[2] = -40; + } + else + { + gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; + gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + } + + gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; + gSprites[gBattlerSpriteIds[battler]].callback = StartAnimLinearTranslation; + gSprites[gBattlerSpriteIds[battler]].sBattlerId = battler; + + if (side == B_SIDE_PLAYER) + { + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCB_FreePlayerSpriteLoadMonSprite); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 1); + + paletteNum = AllocSpritePalette(tagTrainerPal); + LoadCompressedPalette(trainerPal, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = paletteNum; + } + else + { + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCB_FreeOpponentSprite); + } + + taskId = CreateTask(Task_StartSendOutAnim, 5); + gTasks[taskId].tBattlerId = battler; + gTasks[taskId].tFramesToWait = framesToWait; + SetWordTaskArg(taskId, tControllerFunc_1, (uint32_t)(controllerCallback)); + + if (gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[battler]].func = Task_HidePartyStatusSummary; + + gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; + gBattlerControllerFuncs[battler] = BattleControllerDummy; +} + +static bool32 TwoMonsAtSendOut(u32 battlerId) +{ + if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + { + if (TwoPlayerIntroMons(battlerId) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + return TRUE; + else + return FALSE; + } + else + { + if ((!TwoOpponentIntroMons(battlerId) || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) && !BATTLE_TWO_VS_ONE_OPPONENT) + return FALSE; + else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) || (BATTLE_TWO_VS_ONE_OPPONENT && !TwoOpponentIntroMons(battlerId))) + return FALSE; + else + return TRUE; + } + return FALSE; +} + +// Send out at start of battle +static void Task_StartSendOutAnim(u8 taskId) +{ + if (gTasks[taskId].tFramesToWait != 0 && gTasks[taskId].tStartTimer < gTasks[taskId].tFramesToWait) + { + gTasks[taskId].tStartTimer++; + } + else + { + u8 savedActiveBattler = gActiveBattler; + + gActiveBattler = gTasks[taskId].tBattlerId; + if (TwoMonsAtSendOut(gActiveBattler)) + { + gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + StartSendOutAnim(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + StartSendOutAnim(gActiveBattler, FALSE); + gActiveBattler ^= BIT_FLANK; + } + else + { + gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; + StartSendOutAnim(gActiveBattler, FALSE); + } + gBattlerControllerFuncs[gActiveBattler] = (void*)(GetWordTaskArg(taskId, tControllerFunc_1)); + gActiveBattler = savedActiveBattler; + DestroyTask(taskId); + } +} + +#undef tBattlerId +#undef tStartTimer +#undef tFramesToWait +#undef tControllerFunc_1 +#undef tControllerFunc_2 + +static void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) { u8 battlerId = sprite->sBattlerId; @@ -2592,36 +2725,15 @@ void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); } -void BtlController_HandleIntroTrainerBallThrow(u32 battlerId, u16 const u32 *trainerPal, TaskFunc *introTask) +static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) { - u8 paletteNum; - u8 taskId; - - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battler]]); - - gSprites[gBattlerSpriteIds[battler]].data[0] = 50; - gSprites[gBattlerSpriteIds[battler]].data[2] = -40; - gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; - gSprites[gBattlerSpriteIds[battler]].callback = StartAnimLinearTranslation; - gSprites[gBattlerSpriteIds[battler]].sBattlerId = battler; - - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCB_FreePlayerSpriteLoadMonSprite); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 1); - - paletteNum = AllocSpritePalette(0xD6F8); - LoadCompressedPalette(trainerPal, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); - gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = paletteNum; - - taskId = CreateTask(Task_StartSendOutAnim, 5); - gTasks[taskId].tBattlerId = battler; - - if (gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[battler]].func = introTask; - - gBattleSpritesDataPtr->animationData->introAnimActive = TRUE; - gBattlerControllerFuncs[battler] = BattleControllerDummy; + FreeTrainerFrontPicPalette(sprite->oam.affineParam); + FreeSpriteOamMatrix(sprite); + DestroySprite(sprite); } +#undef sBattlerId + void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 considerDelay) { if (gBattleResources->bufferA[battler][1] != 0 && GetBattlerSide(battler) == B_SIDE_PLAYER) From ef8024d8c5cbaef8cf449bbfe03177d1a24a9371 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 6 Aug 2023 21:50:59 +0200 Subject: [PATCH 126/256] draw trainer pic --- include/battle_controllers.h | 2 + src/battle_controller_link_opponent.c | 24 +---- src/battle_controller_link_partner.c | 35 +------ src/battle_controller_opponent.c | 98 ++++--------------- src/battle_controller_player.c | 113 ++++++++-------------- src/battle_controller_player_partner.c | 38 ++------ src/battle_controller_recorded_opponent.c | 23 +---- src/battle_controller_recorded_player.c | 39 +------- src/battle_controller_safari.c | 24 ++--- src/battle_controller_wally.c | 22 +---- src/battle_controllers.c | 71 ++++++++++++++ 11 files changed, 159 insertions(+), 330 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 2dab0d8e4b..0d9a106bc4 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -266,6 +266,7 @@ void BtlController_HandleSetRawMonData(void); void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)); void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); void BtlController_HandleReturnMonToBall(void); +void BtlController_HandleDrawTrainerPic(u32 battlerId, u32 trainerPicId, bool32 isFrontPic, s16 xPos, s16 yPos, s32 subpriority); void BtlController_HandleFaintAnimation(void); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); @@ -295,6 +296,7 @@ void SetControllerToPlayer(void); void BattleControllerDummy(void); void SetBattleEndCallbacks(void); void PlayerHandleExpUpdate(void); +u32 LinkPlayerGetTrainerPicId(u32 multiplayerId); void CB2_SetUpReshowBattleScreenAfterMenu(void); void CB2_SetUpReshowBattleScreenAfterMenu2(void); void Task_PlayerController_RestoreBgmAfterCry(u8 taskId); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 9b34321706..01978826b9 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -129,12 +129,6 @@ static void LinkOpponentBufferRunCommand(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - LinkOpponentBufferExecCompleted(); -} - static void CompleteOnBankSpriteCallbackDummy2(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -237,7 +231,6 @@ static void Intro_TryShinyAnimShowHealthbox(void) TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) { if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) @@ -502,20 +495,9 @@ static void LinkOpponentHandleDrawTrainerPic(void) } } - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - xPos, - (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, - GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, TRUE, + xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), + -1); } static void LinkOpponentHandleTrainerSlide(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 689316d443..c15498a7c0 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -129,12 +129,6 @@ static void LinkPartnerBufferRunCommand(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - LinkPartnerBufferExecCompleted(); -} - static void FreeTrainerSpriteAfterSlide(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -272,31 +266,10 @@ static void LinkPartnerHandleDrawTrainerPic(void) xPos = 80; } - if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) - { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RED; - } - else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) - { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; - } - else - { - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; - } - - DecompressTrainerBackPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + trainerPicId = LinkPlayerGetTrainerPicId(GetBattlerMultiplayerId(gActiveBattler)); + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, FALSE, + xPos, 80 + 4 * (8 - gTrainerBackPicCoords[trainerPicId].size), + -1); } #undef sSpeedX diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 43be340f01..34846f5f44 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -145,12 +145,6 @@ static void OpponentBufferRunCommand(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - OpponentBufferExecCompleted(); -} - static void CompleteOnBankSpriteCallbackDummy2(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -445,12 +439,9 @@ static void OpponentHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } -#define sSpeedX data[0] - -static void OpponentHandleDrawTrainerPic(void) +static u32 OpponentGetTrainerPicId(u32 battlerId) { u32 trainerPicId; - s16 xPos; if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE) { @@ -464,7 +455,7 @@ static void OpponentHandleDrawTrainerPic(void) { if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gActiveBattler == 1) + if (battlerId == 1) trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_B); @@ -478,7 +469,7 @@ static void OpponentHandleDrawTrainerPic(void) { if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TOWER_LINK_MULTI)) { - if (gActiveBattler == 1) + if (battlerId == 1) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); @@ -494,7 +485,7 @@ static void OpponentHandleDrawTrainerPic(void) } else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gActiveBattler != 1) + if (battlerId != 1) trainerPicId = gTrainers[gTrainerBattleOpponent_B].trainerPic; else trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; @@ -504,6 +495,16 @@ static void OpponentHandleDrawTrainerPic(void) trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; } + return trainerPicId; +} + +#define sSpeedX data[0] + +static void OpponentHandleDrawTrainerPic(void) +{ + s16 xPos; + u32 trainerPicId = OpponentGetTrainerPicId(gActiveBattler); + if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS) && !BATTLE_TWO_VS_ONE_OPPONENT) { if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon @@ -516,77 +517,14 @@ static void OpponentHandleDrawTrainerPic(void) xPos = 176; } - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - xPos, - (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, - GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, TRUE, + xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), + -1); } static void OpponentHandleTrainerSlide(void) { - u32 trainerPicId; - - if (gBattleTypeFlags & BATTLE_TYPE_SECRET_BASE) - { - trainerPicId = GetSecretBaseTrainerPicIndex(); - } - else if (gTrainerBattleOpponent_A == TRAINER_FRONTIER_BRAIN) - { - trainerPicId = GetFrontierBrainTrainerPicIndex(); - } - else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_HILL) - { - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) - { - if (gActiveBattler == 1) - trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); - else - trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_B); - } - else - { - trainerPicId = GetTrainerHillTrainerFrontSpriteId(gTrainerBattleOpponent_A); - } - } - else if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) - { - if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TOWER_LINK_MULTI)) - { - if (gActiveBattler == 1) - trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); - else - trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); - } - else - { - trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); - } - } - else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER) - { - trainerPicId = GetEreaderTrainerFrontSpriteId(); - } - else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) - { - if (gActiveBattler != 1) - trainerPicId = gTrainers[gTrainerBattleOpponent_B].trainerPic; - else - trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; - } - else - { - trainerPicId = gTrainers[gTrainerBattleOpponent_A].trainerPic; - } + u32 trainerPicId = OpponentGetTrainerPicId(gActiveBattler); DecompressTrainerFrontPic(trainerPicId, gActiveBattler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index d8a1157220..cf86913af9 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1087,12 +1087,6 @@ void SetBattleEndCallbacks(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - PlayerBufferExecCompleted(); -} - static void CompleteOnBankSpriteCallbackDummy2(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -1699,35 +1693,43 @@ static void PlayerHandleSwitchInAnim(void) #define sSpeedX data[0] +u32 LinkPlayerGetTrainerPicId(u32 multiplayerId) +{ + u32 trainerPicId; + + u8 gender = gLinkPlayers[multiplayerId].gender; + u8 version = gLinkPlayers[multiplayerId].version & 0xFF; + + if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN) + trainerPicId = gender + TRAINER_BACK_PIC_RED; + else if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) + trainerPicId = gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; + else + trainerPicId = gender + TRAINER_BACK_PIC_BRENDAN; + + return trainerPicId; +} + +static u32 PlayerGetTrainerBackPicId(void) +{ + u32 trainerPicId; + + if (gBattleTypeFlags & BATTLE_TYPE_LINK) + trainerPicId = LinkPlayerGetTrainerPicId(GetMultiplayerId()); + else + trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; + + return trainerPicId; +} + // In emerald it's possible to have a tag battle in the battle frontier facilities with AI // which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) // that use an animated back pic. static void PlayerHandleDrawTrainerPic(void) { + bool32 isFrontPic; s16 xPos, yPos; - u32 trainerPicId; - - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_LEAF_GREEN) - { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RED; - } - else if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_SAPPHIRE) - { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; - } - else - { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_BRENDAN; - } - } - else - { - trainerPicId = gSaveBlock2Ptr->playerGender; - } + u32 trainerPicId, gender; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -1753,63 +1755,24 @@ static void PlayerHandleDrawTrainerPic(void) yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } - // Use front pic table for any tag battles unless your partner is Steven. + // Use front pic table for any tag battles unless your partner is Steven or a custom partner. if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER && gPartnerTrainerId < TRAINER_CUSTOM_PARTNER) { trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].y2 = 48; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF; - gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; + isFrontPic = TRUE; } - // Use the back pic in any other scenario. - else + else // Use back pic in all the other usual circumstances. { - DecompressTrainerBackPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; + trainerPicId = PlayerGetTrainerBackPicId(); + isFrontPic = FALSE; } - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); } static void PlayerHandleTrainerSlide(void) { - u32 trainerPicId; - - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_LEAF_GREEN) - { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RED; - } - else if ((gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetMultiplayerId()].version & 0xFF) == VERSION_SAPPHIRE) - { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; - } - else - { - trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_BRENDAN; - } - } - else - { - trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; - } + u32 trainerPicId = PlayerGetTrainerBackPicId(); DecompressTrainerBackPic(trainerPicId, gActiveBattler); SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index ea16351f3b..4fe93d6d2f 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -138,12 +138,6 @@ static void PlayerPartnerBufferRunCommand(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - PlayerPartnerBufferExecCompleted(); -} - static void FreeTrainerSpriteAfterSlide(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -336,6 +330,7 @@ static void PlayerPartnerHandleSwitchInAnim(void) // which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) that use the back pic as well as animate it static void PlayerPartnerHandleDrawTrainerPic(void) { + bool32 isFrontPic; s16 xPos, yPos; u32 trainerPicId; @@ -358,34 +353,13 @@ static void PlayerPartnerHandleDrawTrainerPic(void) yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; } - // Use back pic only if the partner is Steven + // Use back pic only if the partner is Steven or a custom partner. if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER || gPartnerTrainerId >= TRAINER_CUSTOM_PARTNER) - { - DecompressTrainerBackPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler)); + isFrontPic = FALSE; + else + isFrontPic = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - } - else // otherwise use front sprite - { - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].y2 = 48; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF; - gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); } #undef sSpeedX diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 17fcb3b1c1..fbc28ae562 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -137,12 +137,6 @@ static void RecordedOpponentBufferRunCommand(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - RecordedOpponentBufferExecCompleted(); -} - static void CompleteOnBankSpriteCallbackDummy2(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -461,20 +455,9 @@ static void RecordedOpponentHandleDrawTrainerPic(void) } } - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - xPos, - (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, - GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, TRUE, + xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), + -1); } #undef sSpeedX diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index fc35735b21..0644e6fca5 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -134,12 +134,6 @@ static void RecordedPlayerBufferRunCommand(void) } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - RecordedPlayerBufferExecCompleted(); -} - static void FreeTrainerSpriteAfterSlide(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -403,10 +397,9 @@ static void RecordedPlayerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } -#define sSpeedX data[0] - static void RecordedPlayerHandleDrawTrainerPic(void) { + bool32 isFrontPic; s16 xPos, yPos; u32 trainerPicId; @@ -447,37 +440,13 @@ static void RecordedPlayerHandleDrawTrainerPic(void) } if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - { - trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender); - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler)); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].y2 = 48; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = ST_OAM_AFFINE_OFF; - gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1; - } + isFrontPic = TRUE; else - { - DecompressTrainerBackPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, GetBattlerSpriteSubpriority(gActiveBattler)); + isFrontPic = FALSE; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); } -#undef sSpeedX - static void RecordedPlayerHandleTrainerSlideBack(void) { SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 24d4abf827..fcb26e80d9 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -22,6 +22,7 @@ #include "window.h" #include "constants/battle_anim.h" #include "constants/songs.h" +#include "constants/trainers.h" #include "constants/rgb.h" static void SafariHandleDrawTrainerPic(void); @@ -185,12 +186,6 @@ static void HandleInputChooseAction(void) } } -static void Controller_WaitForTrainerPic(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - SafariBufferExecCompleted(); -} - static void Controller_WaitForHealthbox(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -252,18 +247,11 @@ static void CompleteOnFinishedStatusAnimation(void) static void SafariHandleDrawTrainerPic(void) { - DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite( - &gMultiuseSpriteTemplate, - 80, - (8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].size) * 4 + 80, - 30); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForTrainerPic; + u32 trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; + + BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, FALSE, + 80, 80 + 4 * (8 - gTrainerBackPicCoords[trainerPicId].size), + 30); } #undef sSpeedX diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 9376e1e69c..e9e644daf8 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -302,12 +302,6 @@ static void CompleteOnHealthbarDone(void) } } -static void CompleteOnBankSpriteCallbackDummy2(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - WallyBufferExecCompleted(); -} - static void WallyBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; @@ -328,17 +322,9 @@ static void WallyBufferExecCompleted(void) static void WallyHandleDrawTrainerPic(void) { - DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - 80, - 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), - 30); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = DISPLAY_WIDTH; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy; + BtlController_HandleDrawTrainerPic(gActiveBattler, TRAINER_BACK_PIC_WALLY, FALSE, + 80, 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), + 30); } static void WallyHandleTrainerSlide(void) @@ -353,7 +339,7 @@ static void WallyHandleTrainerSlide(void) gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96; gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2; gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; + //gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; } #undef sSpeedX diff --git a/src/battle_controllers.c b/src/battle_controllers.c index c321ef7a35..d8f1a17ab0 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2203,6 +2203,12 @@ static void Controller_WaitForStatusAnimation(void) BattleControllerComplete(gActiveBattler); } +static void Controller_WaitForTrainerPic(void) +{ + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + BattleControllerComplete(gActiveBattler); +} + void Controller_WaitForString(void) { if (!IsTextPrinterActive(B_WIN_MSG)) @@ -2377,6 +2383,71 @@ void BtlController_HandleReturnMonToBall(void) } } +// In emerald it's possible to have a tag battle in the battle frontier facilities with AI +// which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) +// that use an animated back pic. + +#define sSpeedX data[0] + +void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 isFrontPic, s16 xPos, s16 yPos, s32 subpriority) +{ + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) // Always the front sprite for the opponent. + { + DecompressTrainerFrontPic(trainerPicId, battler); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); + if (subpriority == -1) + subpriority = GetBattlerSpriteSubpriority(battler); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + xPos, + yPos, + subpriority); + + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[battler]].x2 = -DISPLAY_WIDTH; + gSprites[gBattlerSpriteIds[battler]].sSpeedX = 2; + gSprites[gBattlerSpriteIds[battler]].oam.affineParam = trainerPicId; + } + else // Player's side + { + if (isFrontPic) + { + DecompressTrainerFrontPic(trainerPicId, battler); + SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(battler)); + if (subpriority == -1) + subpriority = GetBattlerSpriteSubpriority(battler); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + xPos, + yPos, + subpriority); + + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[battler]].oam.affineMode = ST_OAM_AFFINE_OFF; + gSprites[gBattlerSpriteIds[battler]].hFlip = 1; + gSprites[gBattlerSpriteIds[battler]].y2 = 48; + } + else + { + DecompressTrainerBackPic(trainerPicId, battler); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); + if (subpriority == -1) + subpriority = GetBattlerSpriteSubpriority(battler); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + xPos, + yPos, + subpriority); + + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + } + gSprites[gBattlerSpriteIds[battler]].x2 = DISPLAY_WIDTH; + gSprites[gBattlerSpriteIds[battler]].sSpeedX = -2; + } + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; + + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForTrainerPic; +} + +#undef sSpeedX + #define sSpeedX data[1] #define sSpeedY data[2] From e8d6c99e6d3453401bace13425019dfb8122c097 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 7 Aug 2023 01:05:09 +0200 Subject: [PATCH 127/256] more controllers work --- include/battle_controllers.h | 2 + include/battle_gfx_sfx_util.h | 1 - src/battle_controller_link_opponent.c | 44 +----------- src/battle_controller_link_partner.c | 23 +----- src/battle_controller_opponent.c | 43 +---------- src/battle_controller_player.c | 42 +---------- src/battle_controller_player_partner.c | 23 +----- src/battle_controller_recorded_opponent.c | 23 +----- src/battle_controller_recorded_player.c | 19 +---- src/battle_controller_wally.c | 12 +--- src/battle_controllers.c | 88 +++++++++++++++++++---- src/battle_gfx_sfx_util.c | 4 -- 12 files changed, 88 insertions(+), 236 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 0d9a106bc4..84339c6cf9 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -267,6 +267,8 @@ void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); void BtlController_HandleReturnMonToBall(void); void BtlController_HandleDrawTrainerPic(u32 battlerId, u32 trainerPicId, bool32 isFrontPic, s16 xPos, s16 yPos, s32 subpriority); +void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId); +void BtlController_HandleTrainerSlideBack(u32 battlerId, s16 data0, bool32 startAnim); void BtlController_HandleFaintAnimation(void); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index d59ce9b045..794447446b 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -14,7 +14,6 @@ void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId); void BattleGfxSfxDummy2(u16 species); void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); void DecompressTrainerBackPic(u16 backPicId, u8 battlerId); -void BattleGfxSfxDummy3(u8 gender); void FreeTrainerFrontPicPalette(u16 frontPicId); bool8 BattleLoadAllHealthBoxesGfx(u8 state); void LoadBattleBarGfx(u8 unused); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 01978826b9..9af5aa72b5 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -129,23 +129,6 @@ static void LinkOpponentBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy2(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - LinkOpponentBufferExecCompleted(); -} - -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - LinkOpponentBufferExecCompleted(); - } -} - static void Intro_DelayAndEnd(void) { if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) @@ -421,8 +404,6 @@ static void LinkOpponentHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } -#define sSpeedX data[0] - static void LinkOpponentHandleDrawTrainerPic(void) { s16 xPos; @@ -509,32 +490,13 @@ static void LinkOpponentHandleTrainerSlide(void) else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, 0x1E); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 96; - gSprites[gBattlerSpriteIds[gActiveBattler]].x += 32; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; // this line is redundant, because LinkOpponentBufferExecCompleted changes the battle battlerId function - LinkOpponentBufferExecCompleted(); + BtlController_HandleTrainerSlide(gActiveBattler, trainerPicId); + LinkOpponentBufferExecCompleted(); // Possibly a bug, because execution should be completed after the slide in finishes. See Controller_WaitForTrainerPic. } -#undef sSpeedX - static void LinkOpponentHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); } static void LinkOpponentHandleMoveAnimation(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index c15498a7c0..655923eca8 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -129,17 +129,6 @@ static void LinkPartnerBufferRunCommand(void) } } -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - BattleGfxSfxDummy3(MALE); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - LinkPartnerBufferExecCompleted(); - } -} - static void WaitForMonAnimAfterLoad(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) @@ -247,8 +236,6 @@ static void LinkPartnerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } -#define sSpeedX data[0] - static void LinkPartnerHandleDrawTrainerPic(void) { s16 xPos; @@ -272,17 +259,9 @@ static void LinkPartnerHandleDrawTrainerPic(void) -1); } -#undef sSpeedX - static void LinkPartnerHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); } static void LinkPartnerHandleMoveAnimation(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 34846f5f44..81045b3c7f 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -145,23 +145,6 @@ static void OpponentBufferRunCommand(void) } } -static void CompleteOnBankSpriteCallbackDummy2(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - OpponentBufferExecCompleted(); -} - -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - OpponentBufferExecCompleted(); - } -} - static void Intro_DelayAndEnd(void) { if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) @@ -498,8 +481,6 @@ static u32 OpponentGetTrainerPicId(u32 battlerId) return trainerPicId; } -#define sSpeedX data[0] - static void OpponentHandleDrawTrainerPic(void) { s16 xPos; @@ -525,32 +506,12 @@ static void OpponentHandleDrawTrainerPic(void) static void OpponentHandleTrainerSlide(void) { u32 trainerPicId = OpponentGetTrainerPicId(gActiveBattler); - - DecompressTrainerFrontPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, 0x1E); - - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = 96; - gSprites[gBattlerSpriteIds[gActiveBattler]].x += 32; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = -2; - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; + BtlController_HandleTrainerSlide(gActiveBattler, trainerPicId); } -#undef sSpeedX - static void OpponentHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); } static void OpponentHandleMoveAnimation(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index cf86913af9..edae639968 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1087,23 +1087,6 @@ void SetBattleEndCallbacks(void) } } -static void CompleteOnBankSpriteCallbackDummy2(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - PlayerBufferExecCompleted(); -} - -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - BattleGfxSfxDummy3(gSaveBlock2Ptr->playerGender); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - PlayerBufferExecCompleted(); - } -} - static void Intro_DelayAndEnd(void) { if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) @@ -1691,8 +1674,6 @@ static void PlayerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnimShowHealthbox); } -#define sSpeedX data[0] - u32 LinkPlayerGetTrainerPicId(u32 multiplayerId) { u32 trainerPicId; @@ -1773,31 +1754,12 @@ static void PlayerHandleDrawTrainerPic(void) static void PlayerHandleTrainerSlide(void) { u32 trainerPicId = PlayerGetTrainerBackPicId(); - - DecompressTrainerBackPic(trainerPicId, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, 30); - - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; + BtlController_HandleTrainerSlide(gActiveBattler, trainerPicId); } -#undef sSpeedX - static void PlayerHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 50; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 1); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 50, TRUE); } static void PlayerHandlePaletteFade(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 4fe93d6d2f..54d56b6887 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -138,17 +138,6 @@ static void PlayerPartnerBufferRunCommand(void) } } -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - BattleGfxSfxDummy3(MALE); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - PlayerPartnerBufferExecCompleted(); - } -} - static void Intro_DelayAndEnd(void) { if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) @@ -323,8 +312,6 @@ static void PlayerPartnerHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); } -#define sSpeedX data[0] - // some explanation here // in emerald it's possible to have a tag battle in the battle frontier facilities with AI // which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) that use the back pic as well as animate it @@ -362,17 +349,9 @@ static void PlayerPartnerHandleDrawTrainerPic(void) BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); } -#undef sSpeedX - static void PlayerPartnerHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); } static void PlayerPartnerHandleMoveAnimation(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index fbc28ae562..624f28c796 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -143,17 +143,6 @@ static void CompleteOnBankSpriteCallbackDummy2(void) RecordedOpponentBufferExecCompleted(); } -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - RecordedOpponentBufferExecCompleted(); - } -} - static void Intro_DelayAndEnd(void) { if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) @@ -416,8 +405,6 @@ static void RecordedOpponentHandleSwitchInAnim(void) BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); } -#define sSpeedX data[0] - static void RecordedOpponentHandleDrawTrainerPic(void) { s16 xPos; @@ -460,17 +447,9 @@ static void RecordedOpponentHandleDrawTrainerPic(void) -1); } -#undef sSpeedX - static void RecordedOpponentHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); } static void RecordedOpponentHandleMoveAnimation(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 0644e6fca5..9d64a3c624 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -134,17 +134,6 @@ static void RecordedPlayerBufferRunCommand(void) } } -static void FreeTrainerSpriteAfterSlide(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - { - BattleGfxSfxDummy3(MALE); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - RecordedPlayerBufferExecCompleted(); - } -} - static void Intro_DelayAndEnd(void) { if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) @@ -449,13 +438,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void) static void RecordedPlayerHandleTrainerSlideBack(void) { - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = -40; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[4] = gSprites[gBattlerSpriteIds[gActiveBattler]].y; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[gActiveBattler]], SpriteCallbackDummy); - gBattlerControllerFuncs[gActiveBattler] = FreeTrainerSpriteAfterSlide; + BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); } static void RecordedPlayerHandleMoveAnimation(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index e9e644daf8..b9b3cdedb5 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -329,17 +329,7 @@ static void WallyHandleDrawTrainerPic(void) static void WallyHandleTrainerSlide(void) { - DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler); - SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler)); - gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, - 80, - 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), - 30); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gSprites[gBattlerSpriteIds[gActiveBattler]].x2 = -96; - gSprites[gBattlerSpriteIds[gActiveBattler]].sSpeedX = 2; - gSprites[gBattlerSpriteIds[gActiveBattler]].callback = SpriteCB_TrainerSlideIn; - //gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy2; + BtlController_HandleTrainerSlide(gActiveBattler, TRAINER_BACK_PIC_WALLY); } #undef sSpeedX diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d8f1a17ab0..d41df69d86 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2185,6 +2185,18 @@ static void Controller_FaintOpponentMon(void) } } +static void Controller_HandleTrainerSlideBack(void) +{ + if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) + FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); + BattleControllerComplete(gActiveBattler); + } +} + static void Controller_WaitForBallThrow(void) { if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) @@ -2443,11 +2455,59 @@ void BtlController_HandleDrawTrainerPic(u32 battler, u32 trainerPicId, bool32 is } gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForTrainerPic; + gBattlerControllerFuncs[battler] = Controller_WaitForTrainerPic; +} + +void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId) +{ + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + { + DecompressTrainerBackPic(trainerPicId, battler); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + 80, + (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80, + 30); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gSprites[gBattlerSpriteIds[battler]].x2 = -96; + gSprites[gBattlerSpriteIds[battler]].sSpeedX = 2; + } + else + { + DecompressTrainerFrontPic(trainerPicId, battler); + SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(battler)); + gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, + 176, + (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 40, + 30); + gSprites[gBattlerSpriteIds[battler]].oam.affineParam = trainerPicId; + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag); + gSprites[gBattlerSpriteIds[battler]].x2 = 96; + gSprites[gBattlerSpriteIds[battler]].x += 32; + gSprites[gBattlerSpriteIds[battler]].sSpeedX = -2; + } + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_TrainerSlideIn; + + gBattlerControllerFuncs[battler] = Controller_WaitForTrainerPic; } #undef sSpeedX +void BtlController_HandleTrainerSlideBack(u32 battlerId, s16 data0, bool32 startAnim) +{ + u32 side = GetBattlerSide(battlerId); + + SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battlerId]]); + gSprites[gBattlerSpriteIds[battlerId]].data[0] = data0; + gSprites[gBattlerSpriteIds[battlerId]].data[2] = (side == B_SIDE_PLAYER) ? -40 : 280; + gSprites[gBattlerSpriteIds[battlerId]].data[4] = gSprites[gBattlerSpriteIds[battlerId]].y; + gSprites[gBattlerSpriteIds[battlerId]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battlerId]], SpriteCallbackDummy); + if (startAnim) + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 1); + gBattlerControllerFuncs[battlerId] = Controller_HandleTrainerSlideBack; +} + #define sSpeedX data[1] #define sSpeedY data[2] @@ -2653,16 +2713,16 @@ void BtlController_HandleSpriteInvisibility(void) BattleControllerComplete(gActiveBattler); } -bool32 TwoPlayerIntroMons(u32 battlerId) // Double battle with both player pokemon active. +bool32 TwoPlayerIntroMons(u32 battler) // Double battle with both player pokemon active. { - return (IsDoubleBattle() && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[battlerId ^ BIT_FLANK]])); + return (IsDoubleBattle() && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[battler ^ BIT_FLANK]])); } -bool32 TwoOpponentIntroMons(u32 battlerId) // Double battle with both opponent pokemon active. +bool32 TwoOpponentIntroMons(u32 battler) // Double battle with both opponent pokemon active. { return (IsDoubleBattle() - && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[battlerId]]) - && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]])); + && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[battler]]) + && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])); } // Task data for Task_StartSendOutAnim @@ -2722,20 +2782,20 @@ void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, c gBattlerControllerFuncs[battler] = BattleControllerDummy; } -static bool32 TwoMonsAtSendOut(u32 battlerId) +static bool32 TwoMonsAtSendOut(u32 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - if (TwoPlayerIntroMons(battlerId) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(battler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) return TRUE; else return FALSE; } else { - if ((!TwoOpponentIntroMons(battlerId) || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) && !BATTLE_TWO_VS_ONE_OPPONENT) + if ((!TwoOpponentIntroMons(battler) || (gBattleTypeFlags & BATTLE_TYPE_MULTI)) && !BATTLE_TWO_VS_ONE_OPPONENT) return FALSE; - else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) || (BATTLE_TWO_VS_ONE_OPPONENT && !TwoOpponentIntroMons(battlerId))) + else if ((gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) || (BATTLE_TWO_VS_ONE_OPPONENT && !TwoOpponentIntroMons(battler))) return FALSE; else return TRUE; @@ -2784,7 +2844,7 @@ static void Task_StartSendOutAnim(u8 taskId) static void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) { - u8 battlerId = sprite->sBattlerId; + u8 battler = sprite->sBattlerId; // Free player trainer sprite FreeSpriteOamMatrix(sprite); @@ -2792,8 +2852,8 @@ static void SpriteCB_FreePlayerSpriteLoadMonSprite(struct Sprite *sprite) DestroySprite(sprite); // Load mon sprite - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 0); + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); } static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index dddb3675d5..9da5630574 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -632,10 +632,6 @@ void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP); } -void BattleGfxSfxDummy3(u8 gender) -{ -} - void FreeTrainerFrontPicPalette(u16 frontPicId) { FreeSpritePaletteByTag(gTrainerFrontPicPaletteTable[frontPicId].tag); From 833f7dd9d3e500fb60680b079419f6acd528d573 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 6 Aug 2023 20:25:23 -0400 Subject: [PATCH 128/256] LF shenanigans --- .../ISSUE_TEMPLATE/01_battle_engine_bugs.yaml | 100 +++++++++--------- .../ISSUE_TEMPLATE/02_battle_ai_issues.yaml | 100 +++++++++--------- .../ISSUE_TEMPLATE/03_feature_requests.yaml | 54 +++++----- .github/ISSUE_TEMPLATE/04_other_errors.yaml | 100 +++++++++--------- 4 files changed, 177 insertions(+), 177 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml index 55d4fada45..c4404a039a 100644 --- a/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml +++ b/.github/ISSUE_TEMPLATE/01_battle_engine_bugs.yaml @@ -1,50 +1,50 @@ -name: ⚔️ Battle Engine mechanical bugs 🐛 -description: File a bug report related to battle mechanic, be it moves, abilities and/or items. -labels: ["bug", "status: unconfirmed", "category: battle-mechanic"] -body: - - type: markdown - attributes: - value: | - Please fill in all required fields with as many details as possible. - - type: textarea - id: description - attributes: - label: Description - description: | - Describe the issue you are experiencing. - Attach images/videos if possible. - placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video - validations: - required: true - - type: dropdown - id: version - attributes: - label: Version - description: What version of pokeemerald-expansion are you using as a base? - options: - - 1.5.1 (Default) - - upcoming (Edge) - - 1.5.0 - - 1.4.3 - - 1.4.2 - - 1.4.1 - - 1.4.0 - - pre-1.4.0 - validations: - required: true - - type: input - id: upcomingversion - attributes: - label: Upcoming Version - description: If you're using the upcoming branch, please specify what was the commit hash you pulled from. - validations: - required: false - - type: input - id: contact - attributes: - label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). - placeholder: ex. Lunos#4026 - validations: - required: false +name: ⚔️ Battle Engine mechanical bugs 🐛 +description: File a bug report related to battle mechanic, be it moves, abilities and/or items. +labels: ["bug", "status: unconfirmed", "category: battle-mechanic"] +body: + - type: markdown + attributes: + value: | + Please fill in all required fields with as many details as possible. + - type: textarea + id: description + attributes: + label: Description + description: | + Describe the issue you are experiencing. + Attach images/videos if possible. + placeholder: | + Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + validations: + required: true + - type: dropdown + id: version + attributes: + label: Version + description: What version of pokeemerald-expansion are you using as a base? + options: + - 1.5.1 (Default) + - upcoming (Edge) + - 1.5.0 + - 1.4.3 + - 1.4.2 + - 1.4.1 + - 1.4.0 + - pre-1.4.0 + validations: + required: true + - type: input + id: upcomingversion + attributes: + label: Upcoming Version + description: If you're using the upcoming branch, please specify what was the commit hash you pulled from. + validations: + required: false + - type: input + id: contact + attributes: + label: Discord contact info + description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + placeholder: ex. Lunos#4026 + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml index 8c28b39421..a24757fc71 100644 --- a/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml +++ b/.github/ISSUE_TEMPLATE/02_battle_ai_issues.yaml @@ -1,50 +1,50 @@ -name: 🧠 Battle AI bugs 🐛 -description: File a bug report related to battle AI. -labels: ["bug", "status: unconfirmed", "category: battle-ai"] -body: - - type: markdown - attributes: - value: | - Please fill in all required fields with as many details as possible. - - type: textarea - id: description - attributes: - label: Description - description: | - Describe the issue you are experiencing. - Attach images/videos if possible. - placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video - validations: - required: true - - type: dropdown - id: version - attributes: - label: Version - description: What version of pokeemerald-expansion are you using as a base? - options: - - 1.5.1 (Default) - - upcoming (Edge) - - 1.5.0 - - 1.4.3 - - 1.4.2 - - 1.4.1 - - 1.4.0 - - pre-1.4.0 - validations: - required: true - - type: input - id: upcomingversion - attributes: - label: Upcoming Version - description: If you're using the upcoming branch, please specify what was the commit hash you pulled from. - validations: - required: false - - type: input - id: contact - attributes: - label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). - placeholder: ex. Lunos#4026 - validations: - required: false +name: 🧠 Battle AI bugs 🐛 +description: File a bug report related to battle AI. +labels: ["bug", "status: unconfirmed", "category: battle-ai"] +body: + - type: markdown + attributes: + value: | + Please fill in all required fields with as many details as possible. + - type: textarea + id: description + attributes: + label: Description + description: | + Describe the issue you are experiencing. + Attach images/videos if possible. + placeholder: | + Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + validations: + required: true + - type: dropdown + id: version + attributes: + label: Version + description: What version of pokeemerald-expansion are you using as a base? + options: + - 1.5.1 (Default) + - upcoming (Edge) + - 1.5.0 + - 1.4.3 + - 1.4.2 + - 1.4.1 + - 1.4.0 + - pre-1.4.0 + validations: + required: true + - type: input + id: upcomingversion + attributes: + label: Upcoming Version + description: If you're using the upcoming branch, please specify what was the commit hash you pulled from. + validations: + required: false + - type: input + id: contact + attributes: + label: Discord contact info + description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + placeholder: ex. Lunos#4026 + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml index 79e85709f4..682f0dc098 100644 --- a/.github/ISSUE_TEMPLATE/03_feature_requests.yaml +++ b/.github/ISSUE_TEMPLATE/03_feature_requests.yaml @@ -1,27 +1,27 @@ -name: 🙏 Feature Request 🙏 -description: Do you want a feature to be added to the Expansion? Let us know! -labels: ["feature-request"] -body: - - type: markdown - attributes: - value: | - Please fill in all required fields with as many details as possible. - - type: textarea - id: description - attributes: - label: Description - description: | - Describe the issue you are experiencing. - Attach images/videos if possible. - placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video - validations: - required: true - - type: input - id: contact - attributes: - label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). - placeholder: ex. Lunos#4026 - validations: - required: false +name: 🙏 Feature Request 🙏 +description: Do you want a feature to be added to the Expansion? Let us know! +labels: ["feature-request"] +body: + - type: markdown + attributes: + value: | + Please fill in all required fields with as many details as possible. + - type: textarea + id: description + attributes: + label: Description + description: | + Describe the issue you are experiencing. + Attach images/videos if possible. + placeholder: | + Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + validations: + required: true + - type: input + id: contact + attributes: + label: Discord contact info + description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + placeholder: ex. Lunos#4026 + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/04_other_errors.yaml b/.github/ISSUE_TEMPLATE/04_other_errors.yaml index 6f11d5b9ad..e25695c0b4 100644 --- a/.github/ISSUE_TEMPLATE/04_other_errors.yaml +++ b/.github/ISSUE_TEMPLATE/04_other_errors.yaml @@ -1,50 +1,50 @@ -name: 💾 Other errors 🖥️ -description: Everything else that doesn't fit in the above categories. -labels: ["bug", "status: unconfirmed"] -body: - - type: markdown - attributes: - value: | - Please fill in all required fields with as many details as possible. - - type: textarea - id: description - attributes: - label: Description - description: | - Describe the issue you are experiencing. - Attach images/videos if possible. - placeholder: | - Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video - validations: - required: true - - type: dropdown - id: version - attributes: - label: Version - description: What version of pokeemerald-expansion are you using as a base? - options: - - 1.5.1 (Default) - - upcoming (Edge) - - 1.5.0 - - 1.4.3 - - 1.4.2 - - 1.4.1 - - 1.4.0 - - pre-1.4.0 - validations: - required: true - - type: input - id: upcomingversion - attributes: - label: Upcoming Version - description: If you're using the upcoming branch, please specify what was the commit hash you pulled from. - validations: - required: false - - type: input - id: contact - attributes: - label: Discord contact info - description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). - placeholder: ex. Lunos#4026 - validations: - required: false +name: 💾 Other errors 🖥️ +description: Everything else that doesn't fit in the above categories. +labels: ["bug", "status: unconfirmed"] +body: + - type: markdown + attributes: + value: | + Please fill in all required fields with as many details as possible. + - type: textarea + id: description + attributes: + label: Description + description: | + Describe the issue you are experiencing. + Attach images/videos if possible. + placeholder: | + Please enter a description of the issue. Here you can also attach log screenshots, gifs or a video + validations: + required: true + - type: dropdown + id: version + attributes: + label: Version + description: What version of pokeemerald-expansion are you using as a base? + options: + - 1.5.1 (Default) + - upcoming (Edge) + - 1.5.0 + - 1.4.3 + - 1.4.2 + - 1.4.1 + - 1.4.0 + - pre-1.4.0 + validations: + required: true + - type: input + id: upcomingversion + attributes: + label: Upcoming Version + description: If you're using the upcoming branch, please specify what was the commit hash you pulled from. + validations: + required: false + - type: input + id: contact + attributes: + label: Discord contact info + description: Provide your Discord tag here so we can contact you in case we need more details. Be sure to join our server ([here](https://discord.gg/6CzjAG6GZk)). + placeholder: ex. Lunos#4026 + validations: + required: false From 546b0c7e97804a7a65afb2764342147f04cabae1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 7 Aug 2023 09:26:03 +0200 Subject: [PATCH 129/256] handle move anim --- include/battle_controllers.h | 1 + src/battle_controller_link_opponent.c | 69 +--------------------- src/battle_controller_link_partner.c | 70 +--------------------- src/battle_controller_opponent.c | 70 +--------------------- src/battle_controller_player.c | 68 +--------------------- src/battle_controller_player_partner.c | 69 +--------------------- src/battle_controller_recorded_opponent.c | 69 +--------------------- src/battle_controller_recorded_player.c | 69 +--------------------- src/battle_controller_wally.c | 61 +------------------ src/battle_controllers.c | 71 +++++++++++++++++++++++ 10 files changed, 81 insertions(+), 536 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 84339c6cf9..fddfaf584f 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -272,6 +272,7 @@ void BtlController_HandleTrainerSlideBack(u32 battlerId, s16 data0, bool32 start void BtlController_HandleFaintAnimation(void); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); +void BtlController_HandleMoveAnimation(u32 battler, bool32 updateTvData); void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 arenaPtsDeduct); void DoStatusIconUpdate(u32 battler); void BtlController_HandleStatusIconUpdate(void); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 9af5aa72b5..1ece5126e4 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -46,9 +46,6 @@ static void LinkOpponentHandleEndLinkBattle(void); static void LinkOpponentBufferRunCommand(void); static void LinkOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); -static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst); -static void SetLinkOpponentMonData(u8 monId); -static void LinkOpponentDoMoveAnimation(void); static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -501,71 +498,7 @@ static void LinkOpponentHandleTrainerSlideBack(void) static void LinkOpponentHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = LinkOpponentDoMoveAnimation; - BattleTv_SetDataBasedOnMove(move, gWeatherMoveAnim, gAnimDisableStructPtr); - } -} - -static void LinkOpponentDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - LinkOpponentBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, TRUE); } static void LinkOpponentHandlePrintString(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 655923eca8..ddf75265bb 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -45,10 +45,6 @@ static void LinkPartnerHandleEndLinkBattle(void); static void LinkPartnerBufferRunCommand(void); static void LinkPartnerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); -static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst); -static void SetLinkPartnerMonData(u8 monId); -static void LinkPartnerDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8 taskId); static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -266,71 +262,7 @@ static void LinkPartnerHandleTrainerSlideBack(void) static void LinkPartnerHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = LinkPartnerDoMoveAnimation; - BattleTv_SetDataBasedOnMove(move, gWeatherMoveAnim, gAnimDisableStructPtr); - } -} - -static void LinkPartnerDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - LinkPartnerBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, TRUE); } static void LinkPartnerHandlePrintString(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 81045b3c7f..e406f710d1 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -60,11 +60,6 @@ static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore); static void OpponentBufferRunCommand(void); static void OpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); -static u32 GetOpponentMonData(u8 monId, u8 *dst); -static void SetOpponentMonData(u8 monId); -static void OpponentDoMoveAnimation(void); -static void SpriteCB_FreeOpponentSprite(struct Sprite *sprite); -static void Task_StartSendOutAnim(u8 taskId); static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -516,70 +511,7 @@ static void OpponentHandleTrainerSlideBack(void) static void OpponentHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = OpponentDoMoveAnimation; - } -} - -static void OpponentDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - OpponentBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, FALSE); } static void OpponentHandlePrintString(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index edae639968..681d0d0743 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1712,6 +1712,7 @@ static void PlayerHandleDrawTrainerPic(void) s16 xPos, yPos; u32 trainerPicId, gender; + trainerPicId = PlayerGetTrainerBackPicId(); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != B_FLANK_LEFT) // Second mon, on the right. @@ -1744,7 +1745,6 @@ static void PlayerHandleDrawTrainerPic(void) } else // Use back pic in all the other usual circumstances. { - trainerPicId = PlayerGetTrainerBackPicId(); isFrontPic = FALSE; } @@ -1790,71 +1790,7 @@ static void PlayerHandlePause(void) static void PlayerHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = PlayerDoMoveAnimation; - BattleTv_SetDataBasedOnMove(move, gWeatherMoveAnim, gAnimDisableStructPtr); - } -} - -static void PlayerDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - PlayerBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, TRUE); } static void PlayerHandlePrintString(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 54d56b6887..6ab65b11c3 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -54,10 +54,6 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId); static void Task_GiveExpWithExpBar(u8 taskId); static void Task_UpdateLvlInHealthbox(u8 taskId); static void SwitchIn_WaitAndEnd(void); -static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst); -static void SetPlayerPartnerMonData(u8 monId); -static void PlayerPartnerDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8 taskId); static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -356,70 +352,7 @@ static void PlayerPartnerHandleTrainerSlideBack(void) static void PlayerPartnerHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerDoMoveAnimation; - } -} - -static void PlayerPartnerDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - PlayerPartnerBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, FALSE); } static void PlayerPartnerHandlePrintString(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 624f28c796..a15272c610 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -53,10 +53,6 @@ static void RecordedOpponentHandleEndLinkBattle(void); static void RecordedOpponentBufferRunCommand(void); static void RecordedOpponentBufferExecCompleted(void); static void SwitchIn_HandleSoundAndEnd(void); -static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst); -static void SetRecordedOpponentMonData(u8 monId); -static void RecordedOpponentDoMoveAnimation(void); -static void EndDrawPartyStatusSummary(void); static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -454,70 +450,7 @@ static void RecordedOpponentHandleTrainerSlideBack(void) static void RecordedOpponentHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentDoMoveAnimation; - } -} - -static void RecordedOpponentDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - RecordedOpponentBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, FALSE); } static void RecordedOpponentHandlePrintString(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 9d64a3c624..c45054378c 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -50,10 +50,6 @@ static void RecordedPlayerHandleEndLinkBattle(void); static void RecordedPlayerBufferRunCommand(void); static void RecordedPlayerBufferExecCompleted(void); static void SwitchIn_WaitAndEnd(void); -static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst); -static void SetRecordedPlayerMonData(u8 monId); -static void RecordedPlayerDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8 taskId); static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -443,70 +439,7 @@ static void RecordedPlayerHandleTrainerSlideBack(void) static void RecordedPlayerHandleMoveAnimation(void) { - if (!IsBattleSEPlaying(gActiveBattler)) - { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerDoMoveAnimation; - } -} - -static void RecordedPlayerDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) - { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - RecordedPlayerBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, FALSE); } static void RecordedPlayerHandlePrintString(void) diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index b9b3cdedb5..f853e5d923 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -54,9 +54,6 @@ static void WallyBufferRunCommand(void); static void WallyBufferExecCompleted(void); static void CompleteOnChosenItem(void); static void Intro_WaitForShinyAnimAndHealthbox(void); -static u32 CopyWallyMonData(u8 monId, u8 *dst); -static void SetWallyMonData(u8 monId); -static void WallyDoMoveAnimation(void); static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = { @@ -346,63 +343,7 @@ static void WallyHandleBallThrowAnim(void) static void WallyHandleMoveAnimation(void) { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - gAnimMoveTurn = gBattleResources->bufferA[gActiveBattler][3]; - gAnimMovePower = gBattleResources->bufferA[gActiveBattler][4] | (gBattleResources->bufferA[gActiveBattler][5] << 8); - gAnimMoveDmg = gBattleResources->bufferA[gActiveBattler][6] | (gBattleResources->bufferA[gActiveBattler][7] << 8) | (gBattleResources->bufferA[gActiveBattler][8] << 16) | (gBattleResources->bufferA[gActiveBattler][9] << 24); - gAnimFriendship = gBattleResources->bufferA[gActiveBattler][10]; - gWeatherMoveAnim = gBattleResources->bufferA[gActiveBattler][12] | (gBattleResources->bufferA[gActiveBattler][13] << 8); - gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[gActiveBattler][16]; - gTransformedPersonalities[gActiveBattler] = gAnimDisableStructPtr->transformedMonPersonality; - gTransformedOtIds[gActiveBattler] = gAnimDisableStructPtr->transformedMonOtId; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = WallyDoMoveAnimation; -} - -static void WallyDoMoveAnimation(void) -{ - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); - - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) - { - case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; - break; - case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); - DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; - } - break; - case 2: - gAnimScriptCallback(); - if (!gAnimScriptActive) - { - SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; - } - break; - case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - { - CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - WallyBufferExecCompleted(); - } - break; - } + BtlController_HandleMoveAnimation(gActiveBattler, FALSE); } static void WallyHandlePrintString(void) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d41df69d86..3ef4d302ab 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2185,6 +2185,56 @@ static void Controller_FaintOpponentMon(void) } } +static void Controller_DoMoveAnimation(void) +{ + u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); + + switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) + { + case 0: + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) + { + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + } + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; + break; + case 1: + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + { + SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); + DoMoveAnim(move); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; + } + break; + case 2: + gAnimScriptCallback(); + if (!gAnimScriptActive) + { + u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; + + SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); + if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) + { + InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; + } + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; + } + break; + case 3: + if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + { + CopyAllBattleSpritesInvisibilities(); + TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; + BattleControllerComplete(gActiveBattler); + } + break; + } +} + static void Controller_HandleTrainerSlideBack(void) { if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -2571,6 +2621,27 @@ void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool HandleBallThrow(battler, target, animId, allowCriticalCapture); } +void BtlController_HandleMoveAnimation(u32 battler, bool32 updateTvData) +{ + if (!IsBattleSEPlaying(battler)) + { + u16 move = gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8); + + gAnimMoveTurn = gBattleResources->bufferA[battler][3]; + gAnimMovePower = gBattleResources->bufferA[battler][4] | (gBattleResources->bufferA[battler][5] << 8); + gAnimMoveDmg = gBattleResources->bufferA[battler][6] | (gBattleResources->bufferA[battler][7] << 8) | (gBattleResources->bufferA[battler][8] << 16) | (gBattleResources->bufferA[battler][9] << 24); + gAnimFriendship = gBattleResources->bufferA[battler][10]; + gWeatherMoveAnim = gBattleResources->bufferA[battler][12] | (gBattleResources->bufferA[battler][13] << 8); + gAnimDisableStructPtr = (struct DisableStruct *)&gBattleResources->bufferA[battler][16]; + gTransformedPersonalities[battler] = gAnimDisableStructPtr->transformedMonPersonality; + gTransformedOtIds[battler] = gAnimDisableStructPtr->transformedMonOtId; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; + gBattlerControllerFuncs[battler] = Controller_DoMoveAnimation; + if (updateTvData) + BattleTv_SetDataBasedOnMove(move, gWeatherMoveAnim, gAnimDisableStructPtr); + } +} + void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 arenaPtsDeduct) { u16 *stringId; From b8ba6139cb33fb71b9d620c7cefc3d850dc49edc Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 7 Aug 2023 10:29:02 +0200 Subject: [PATCH 130/256] health bar update --- include/battle_controllers.h | 2 + include/battle_dome.h | 2 - src/battle_controller_link_opponent.c | 33 +-------------- src/battle_controller_link_partner.c | 38 +---------------- src/battle_controller_opponent.c | 31 +------------- src/battle_controller_player.c | 50 +---------------------- src/battle_controller_player_partner.c | 38 +---------------- src/battle_controller_recorded_opponent.c | 14 +------ src/battle_controller_recorded_player.c | 19 +-------- src/battle_controller_safari.c | 10 ----- src/battle_controller_wally.c | 39 +----------------- src/battle_controllers.c | 44 ++++++++++++++++++++ src/battle_dome.c | 5 --- 13 files changed, 54 insertions(+), 271 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index fddfaf584f..2188cd7894 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -257,6 +257,7 @@ void BtlController_Empty(void); // Empty command, does nothing, only completes t void BtlController_TerminatorNop(void); // Dummy function at the end of the table. void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); void Controller_WaitForString(void); +void Controller_WaitForHealthBar(void); // handlers void BtlController_HandleGetMonData(void); @@ -274,6 +275,7 @@ void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animI void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleMoveAnimation(u32 battler, bool32 updateTvData); void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 arenaPtsDeduct); +void BtlController_HandleHealthBarUpdate(u32 battler, bool32 updateHpText); void DoStatusIconUpdate(u32 battler); void BtlController_HandleStatusIconUpdate(void); void BtlController_HandleStatusAnimation(void); diff --git a/include/battle_dome.h b/include/battle_dome.h index 900508c4bf..b7572451ca 100644 --- a/include/battle_dome.h +++ b/include/battle_dome.h @@ -1,8 +1,6 @@ #ifndef GUARD_BATTLE_DOME_H #define GUARD_BATTLE_DOME_H -extern u32 gPlayerPartyLostHP; - int GetDomeTrainerSelectedMons(u16 tournamentTrainerId); int TrainerIdToDomeTournamentId(u16 trainerId); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 1ece5126e4..98f2e6451a 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -301,18 +301,6 @@ static void TryShinyAnimAfterMonAnim(void) } } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - else - LinkOpponentBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -508,26 +496,7 @@ static void LinkOpponentHandlePrintString(void) static void LinkOpponentHandleHealthBarUpdate(void) { - s16 hpVal; - - LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (hpVal != INSTANT_HP_BAR_DROP) - { - u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - } - else - { - u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); } static void LinkOpponentHandleIntroTrainerBallThrow(void) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index ddf75265bb..41337a6c7b 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -131,23 +131,6 @@ static void WaitForMonAnimAfterLoad(void) LinkPartnerBufferExecCompleted(); } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - { - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - } - else - { - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - LinkPartnerBufferExecCompleted(); - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -272,26 +255,7 @@ static void LinkPartnerHandlePrintString(void) static void LinkPartnerHandleHealthBarUpdate(void) { - s16 hpVal; - - LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (hpVal != INSTANT_HP_BAR_DROP) - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - } - else - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); } static void LinkPartnerHandleIntroTrainerBallThrow(void) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index e406f710d1..5da0ce2048 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -324,16 +324,6 @@ static void TryShinyAnimAfterMonAnim(void) } } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - if (hpValue != -1) - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - else - OpponentBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -724,26 +714,7 @@ static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore) static void OpponentHandleHealthBarUpdate(void) { - s16 hpVal; - - LoadBattleBarGfx(0); - hpVal = (gBattleResources->bufferA[gActiveBattler][3] << 8) | gBattleResources->bufferA[gActiveBattler][2]; - - if (hpVal != INSTANT_HP_BAR_DROP) - { - u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - } - else - { - u32 maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); } static void OpponentHandleIntroTrainerBallThrow(void) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 681d0d0743..e944721e6f 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -317,13 +317,6 @@ static void HandleInputChooseAction(void) #endif } -static void UnusedEndBounceEffect(void) -{ - EndBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX); - EndBounceEffect(gActiveBattler, BOUNCE_MON); - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseTarget; -} - static void HandleInputChooseTarget(void) { s32 i; @@ -1282,23 +1275,6 @@ void Task_PlayerController_RestoreBgmAfterCry(u8 taskId) } } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - { - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - } - else - { - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlayerBufferExecCompleted(); - } -} - #define tExpTask_monId data[0] #define tExpTask_battler data[2] #define tExpTask_gainedExp_1 data[3] @@ -1955,31 +1931,7 @@ static void PlayerHandleCmd23(void) static void PlayerHandleHealthBarUpdate(void) { - s16 hpVal; - - LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - // gPlayerPartyLostHP used by Battle Dome, but never read - if (hpVal > 0) - gPlayerPartyLostHP += hpVal; - - if (hpVal != INSTANT_HP_BAR_DROP) - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - } - else - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, 0, maxHP); - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + BtlController_HandleHealthBarUpdate(gActiveBattler, TRUE); } void PlayerHandleExpUpdate(void) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 6ab65b11c3..da7508cc4c 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -207,23 +207,6 @@ static void WaitForMonAnimAfterLoad(void) PlayerPartnerBufferExecCompleted(); } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - { - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - } - else - { - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlayerPartnerBufferExecCompleted(); - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -430,26 +413,7 @@ static void PlayerPartnerHandleChoosePokemon(void) static void PlayerPartnerHandleHealthBarUpdate(void) { - s16 hpVal; - - LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (hpVal != INSTANT_HP_BAR_DROP) - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - } - else - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); } static void PlayerPartnerHandleIntroTrainerBallThrow(void) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index a15272c610..6dac18df0b 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -302,18 +302,6 @@ static void TryShinyAnimAfterMonAnim(void) } } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - else - RecordedOpponentBufferExecCompleted(); -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -539,7 +527,7 @@ static void RecordedOpponentHandleHealthBarUpdate(void) TestRunner_Battle_RecordHP(gActiveBattler, curHP, 0); } - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForHealthBar; } static void RecordedOpponentHandleStatusIconUpdate(void) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index c45054378c..a3fb6891e3 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -281,23 +281,6 @@ static void WaitForMonAnimAfterLoad(void) RecordedPlayerBufferExecCompleted(); } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - { - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - } - else - { - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - RecordedPlayerBufferExecCompleted(); - } -} - static void SwitchIn_ShowSubstitute(void) { if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) @@ -545,7 +528,7 @@ static void RecordedPlayerHandleHealthBarUpdate(void) TestRunner_Battle_RecordHP(gActiveBattler, curHP, 0); } - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForHealthBar; } static void RecordedPlayerHandleStatusIconUpdate(void) diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index fcb26e80d9..569ba81fb4 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -237,14 +237,6 @@ static void SafariBufferExecCompleted(void) } } -static void CompleteOnFinishedStatusAnimation(void) -{ - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - SafariBufferExecCompleted(); -} - -#define sSpeedX data[0] - static void SafariHandleDrawTrainerPic(void) { u32 trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; @@ -254,8 +246,6 @@ static void SafariHandleDrawTrainerPic(void) 30); } -#undef sSpeedX - static void SafariHandleSuccessBallThrowAnim(void) { BtlController_HandleSuccessBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index f853e5d923..103b8b18a6 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -282,23 +282,6 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) } } -static void CompleteOnHealthbarDone(void) -{ - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); - - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - - if (hpValue != -1) - { - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); - } - else - { - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - WallyBufferExecCompleted(); - } -} - static void WallyBufferExecCompleted(void) { gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; @@ -421,27 +404,7 @@ static void WallyHandleChooseItem(void) static void WallyHandleHealthBarUpdate(void) { - s16 hpVal; - - LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); - - if (hpVal != INSTANT_HP_BAR_DROP) - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - u32 curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - } - else - { - u32 maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, 0, maxHP); - } - - gBattlerControllerFuncs[gActiveBattler] = CompleteOnHealthbarDone; + BtlController_HandleHealthBarUpdate(gActiveBattler, TRUE); } // For some reason Wally's SE don't take side into account and pan is always the same. Possibly a bug diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 3ef4d302ab..4c1eb5e0ee 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2247,6 +2247,23 @@ static void Controller_HandleTrainerSlideBack(void) } } +void Controller_WaitForHealthBar(void) +{ + s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + + SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + if (hpValue != -1) + { + UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); + } + else + { + if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + BattleControllerComplete(gActiveBattler); + } +} + static void Controller_WaitForBallThrow(void) { if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) @@ -2658,6 +2675,33 @@ void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 ar BattleArena_DeductSkillPoints(battler, *stringId); } +void BtlController_HandleHealthBarUpdate(u32 battler, bool32 updateHpText) +{ + s16 hpVal; + struct Pokemon *party = GetBattlerParty(battler); + + LoadBattleBarGfx(0); + hpVal = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8); + + if (hpVal != INSTANT_HP_BAR_DROP) + { + u32 maxHP = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MAX_HP); + u32 curHP = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_HP); + + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], maxHP, curHP, hpVal); + } + else + { + u32 maxHP = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_MAX_HP); + + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], maxHP, 0, hpVal); + if (updateHpText) + UpdateHpTextInHealthbox(gHealthboxSpriteIds[battler], HP_CURRENT, 0, maxHP); + } + + gBattlerControllerFuncs[battler] = Controller_WaitForHealthBar; +} + void DoStatusIconUpdate(u32 battler) { struct Pokemon *party = GetBattlerParty(battler); diff --git a/src/battle_dome.c b/src/battle_dome.c index e94261f727..7f5b7abecd 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -157,8 +157,6 @@ static void BufferLastDomeWinnerName(void); static void InitRandomTourneyTreeResults(void); static void InitDomeTrainers(void); -EWRAM_DATA u32 gPlayerPartyLostHP = 0; // never read -static EWRAM_DATA u32 sPlayerPartyMaxHP = 0; // never read static EWRAM_DATA struct TourneyTreeInfoCard *sInfoCard = {0}; static EWRAM_DATA u8 *sTilemapBuffer = NULL; @@ -2544,9 +2542,6 @@ static void BufferDomeOpponentName(void) static void InitDomeOpponentParty(void) { - gPlayerPartyLostHP = 0; - sPlayerPartyMaxHP = GetMonData(&gPlayerParty[0], MON_DATA_MAX_HP, NULL); - sPlayerPartyMaxHP += GetMonData(&gPlayerParty[1], MON_DATA_MAX_HP, NULL); CalculatePlayerPartyCount(); CreateDomeOpponentMons(TrainerIdToTournamentId(gTrainerBattleOpponent_A)); } From ce18df46e68c0ccf18b5901c47cc2697076dcf29 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 7 Aug 2023 12:51:58 +0200 Subject: [PATCH 131/256] replace global usage of gActiveBattler in controller files --- common_syms/battle_controllers.txt | 3 + common_syms/battle_main.txt | 2 - include/battle.h | 2 - include/battle_controllers.h | 84 +- src/battle_controller_link_opponent.c | 338 +++---- src/battle_controller_link_partner.c | 197 ++-- src/battle_controller_opponent.c | 398 ++++---- src/battle_controller_player.c | 1044 ++++++++++----------- src/battle_controller_player_partner.c | 259 +++-- src/battle_controller_recorded_opponent.c | 410 ++++---- src/battle_controller_recorded_player.c | 370 ++++---- src/battle_controller_safari.c | 185 ++-- src/battle_controller_wally.c | 242 +++-- src/battle_controllers.c | 302 +++--- src/battle_main.c | 4 +- sym_common.txt | 1 + 16 files changed, 1902 insertions(+), 1939 deletions(-) create mode 100644 common_syms/battle_controllers.txt diff --git a/common_syms/battle_controllers.txt b/common_syms/battle_controllers.txt new file mode 100644 index 0000000000..0b3c25266a --- /dev/null +++ b/common_syms/battle_controllers.txt @@ -0,0 +1,3 @@ +gBattlerControllerFuncs +gBattleControllerData +gBattlerControllerEndFuncs diff --git a/common_syms/battle_main.txt b/common_syms/battle_main.txt index f6f02c48d3..7a9faa5a13 100644 --- a/common_syms/battle_main.txt +++ b/common_syms/battle_main.txt @@ -2,8 +2,6 @@ gPreBattleCallback1 gBattleMainFunc gBattleResults gLeveledUpInBattle -gBattlerControllerFuncs gHealthboxSpriteIds gMultiUsePlayerCursor gNumberOfMovesToChoose -gBattleControllerData diff --git a/include/battle.h b/include/battle.h index 00893d105e..5e7c4bf527 100644 --- a/include/battle.h +++ b/include/battle.h @@ -1002,11 +1002,9 @@ extern void (*gPreBattleCallback1)(void); extern void (*gBattleMainFunc)(void); extern struct BattleResults gBattleResults; extern u8 gLeveledUpInBattle; -extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void); extern u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; extern u8 gMultiUsePlayerCursor; extern u8 gNumberOfMovesToChoose; -extern u8 gBattleControllerData[MAX_BATTLERS_COUNT]; extern bool8 gHasFetchedBall; extern u8 gLastUsedBall; extern u16 gLastThrownBall; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 2188cd7894..e9498ec018 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -197,7 +197,9 @@ enum }; extern struct UnusedControllerStruct gUnusedControllerStruct; -extern void (*gBattlerControllerEndFuncs[MAX_BATTLERS_COUNT])(void); +extern void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(u32 battler); +extern void (*gBattlerControllerEndFuncs[MAX_BATTLERS_COUNT])(u32 battler); +extern u8 gBattleControllerData[MAX_BATTLERS_COUNT]; // general functions void HandleLinkBattleSetup(void); @@ -253,87 +255,87 @@ void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome); void BtlController_EmitDebugMenu(u8 bufferId); void BattleControllerComplete(u32 battler); // Can be used for all the controllers. -void BtlController_Empty(void); // Empty command, does nothing, only completes the execution. -void BtlController_TerminatorNop(void); // Dummy function at the end of the table. +void BtlController_Empty(u32 battler); // Empty command, does nothing, only completes the execution. +void BtlController_TerminatorNop(u32 battler); // Dummy function at the end of the table. +void BattleControllerDummy(u32 battler); void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit); -void Controller_WaitForString(void); -void Controller_WaitForHealthBar(void); +void Controller_WaitForString(u32 battler); +void Controller_WaitForHealthBar(u32 battler); // handlers -void BtlController_HandleGetMonData(void); -void BtlController_HandleGetRawMonData(void); -void BtlController_HandleSetMonData(void); -void BtlController_HandleSetRawMonData(void); -void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)); -void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)); -void BtlController_HandleReturnMonToBall(void); +void BtlController_HandleGetMonData(u32 battler); +void BtlController_HandleGetRawMonData(u32 battler); +void BtlController_HandleSetMonData(u32 battler); +void BtlController_HandleSetRawMonData(u32 battler); +void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(u32 battler)); +void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(u32 battler)); +void BtlController_HandleReturnMonToBall(u32 battler); void BtlController_HandleDrawTrainerPic(u32 battlerId, u32 trainerPicId, bool32 isFrontPic, s16 xPos, s16 yPos, s32 subpriority); void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId); void BtlController_HandleTrainerSlideBack(u32 battlerId, s16 data0, bool32 startAnim); -void BtlController_HandleFaintAnimation(void); +void BtlController_HandleFaintAnimation(u32 battler); void BtlController_HandleSuccessBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleBallThrowAnim(u32 battler, u32 target, u32 animId, bool32 allowCriticalCapture); void BtlController_HandleMoveAnimation(u32 battler, bool32 updateTvData); void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 arenaPtsDeduct); void BtlController_HandleHealthBarUpdate(u32 battler, bool32 updateHpText); void DoStatusIconUpdate(u32 battler); -void BtlController_HandleStatusIconUpdate(void); -void BtlController_HandleStatusAnimation(void); -void BtlController_HandleClearUnkVar(void); -void BtlController_HandleSetUnkVar(void); -void BtlController_HandleClearUnkFlag(void); -void BtlController_HandleToggleUnkFlag(void); -void BtlController_HandleHitAnimation(void); -void BtlController_HandlePlaySE(void); -void BtlController_HandlePlayFanfareOrBGM(void); -void BtlController_HandleFaintingCry(void); -void BtlController_HandleIntroSlide(void); -void BtlController_HandleSpriteInvisibility(void); +void BtlController_HandleStatusIconUpdate(u32 battler); +void BtlController_HandleStatusAnimation(u32 battler); +void BtlController_HandleClearUnkVar(u32 battler); +void BtlController_HandleSetUnkVar(u32 battler); +void BtlController_HandleClearUnkFlag(u32 battler); +void BtlController_HandleToggleUnkFlag(u32 battler); +void BtlController_HandleHitAnimation(u32 battler); +void BtlController_HandlePlaySE(u32 battler); +void BtlController_HandlePlayFanfareOrBGM(u32 battler); +void BtlController_HandleFaintingCry(u32 battler); +void BtlController_HandleIntroSlide(u32 battler); +void BtlController_HandleSpriteInvisibility(u32 battler); bool32 TwoPlayerIntroMons(u32 battlerId); // Double battle with both player pokemon active. bool32 TwoOpponentIntroMons(u32 battlerId); // Double battle with both opponent pokemon active. -void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, const u32 *trainerPal, s16 framesToWait, void (*controllerCallback)(void)); +void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, const u32 *trainerPal, s16 framesToWait, void (*controllerCallback)(u32 battler)); void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 considerDelay); -void BtlController_HandleHidePartyStatusSummary(void); +void BtlController_HandleHidePartyStatusSummary(u32 battler); void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData); // player controller -void SetControllerToPlayer(void); -void BattleControllerDummy(void); -void SetBattleEndCallbacks(void); -void PlayerHandleExpUpdate(void); +void SetControllerToPlayer(u32 battler); +void SetBattleEndCallbacks(u32 battler); +void PlayerHandleExpUpdate(u32 battler); u32 LinkPlayerGetTrainerPicId(u32 multiplayerId); void CB2_SetUpReshowBattleScreenAfterMenu(void); void CB2_SetUpReshowBattleScreenAfterMenu2(void); void Task_PlayerController_RestoreBgmAfterCry(u8 taskId); void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); void ActionSelectionDestroyCursorAt(u8 cursorPos); -void InitMoveSelectionsVarsAndStrings(void); +void InitMoveSelectionsVarsAndStrings(u32 battler); void MoveSelectionCreateCursorAt(u8 cursorPos, u8 arg1); void MoveSelectionDestroyCursorAt(u8 cursorPosition); // recorded player controller -void SetControllerToRecordedPlayer(void); +void SetControllerToRecordedPlayer(u32 battler); // opponent controller -void SetControllerToOpponent(void); +void SetControllerToOpponent(u32 battler); // player partner controller -void Controller_PlayerPartnerShowIntroHealthbox(void); // Also used by the link partner. -void SetControllerToPlayerPartner(void); +void Controller_PlayerPartnerShowIntroHealthbox(u32 battler); // Also used by the link partner. +void SetControllerToPlayerPartner(u32 battler); // safari controller -void SetControllerToSafari(void); +void SetControllerToSafari(u32 battler); // wally controller -void SetControllerToWally(void); +void SetControllerToWally(u32 battler); // recorded opponent controller -void SetControllerToRecordedOpponent(void); +void SetControllerToRecordedOpponent(u32 battler); // link opponent -void SetControllerToLinkOpponent(void); +void SetControllerToLinkOpponent(u32 battler); // link partner -void SetControllerToLinkPartner(void); +void SetControllerToLinkPartner(u32 battler); #endif // GUARD_BATTLE_CONTROLLERS_H diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 98f2e6451a..60ef924b9d 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -29,25 +29,25 @@ #include "constants/trainers.h" #include "recorded_battle.h" -static void LinkOpponentHandleLoadMonSprite(void); -static void LinkOpponentHandleSwitchInAnim(void); -static void LinkOpponentHandleDrawTrainerPic(void); -static void LinkOpponentHandleTrainerSlide(void); -static void LinkOpponentHandleTrainerSlideBack(void); -static void LinkOpponentHandleMoveAnimation(void); -static void LinkOpponentHandlePrintString(void); -static void LinkOpponentHandleHealthBarUpdate(void); -static void LinkOpponentHandleIntroTrainerBallThrow(void); -static void LinkOpponentHandleDrawPartyStatusSummary(void); -static void LinkOpponentHandleBattleAnimation(void); -static void LinkOpponentHandleLinkStandbyMsg(void); -static void LinkOpponentHandleEndLinkBattle(void); +static void LinkOpponentHandleLoadMonSprite(u32 battler); +static void LinkOpponentHandleSwitchInAnim(u32 battler); +static void LinkOpponentHandleDrawTrainerPic(u32 battler); +static void LinkOpponentHandleTrainerSlide(u32 battler); +static void LinkOpponentHandleTrainerSlideBack(u32 battler); +static void LinkOpponentHandleMoveAnimation(u32 battler); +static void LinkOpponentHandlePrintString(u32 battler); +static void LinkOpponentHandleHealthBarUpdate(u32 battler); +static void LinkOpponentHandleIntroTrainerBallThrow(u32 battler); +static void LinkOpponentHandleDrawPartyStatusSummary(u32 battler); +static void LinkOpponentHandleBattleAnimation(u32 battler); +static void LinkOpponentHandleLinkStandbyMsg(u32 battler); +static void LinkOpponentHandleEndLinkBattle(u32 battler); -static void LinkOpponentBufferRunCommand(void); -static void LinkOpponentBufferExecCompleted(void); -static void SwitchIn_HandleSoundAndEnd(void); +static void LinkOpponentBufferRunCommand(u32 battler); +static void LinkOpponentBufferExecCompleted(u32 battler); +static void SwitchIn_HandleSoundAndEnd(u32 battler); -static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, @@ -109,46 +109,46 @@ static void (*const sLinkOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToLinkOpponent(void) +void SetControllerToLinkOpponent(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = LinkOpponentBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; + gBattlerControllerEndFuncs[battler] = LinkOpponentBufferExecCompleted; + gBattlerControllerFuncs[battler] = LinkOpponentBufferRunCommand; } -static void LinkOpponentBufferRunCommand(void) +static void LinkOpponentBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sLinkOpponentBufferCommands)) - sLinkOpponentBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sLinkOpponentBufferCommands)) + sLinkOpponentBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - LinkOpponentBufferExecCompleted(); + LinkOpponentBufferExecCompleted(battler); } } -static void Intro_DelayAndEnd(void) +static void Intro_DelayAndEnd(u32 battler) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) + if (--gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == (u8)-1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - LinkOpponentBufferExecCompleted(); + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; + LinkOpponentBufferExecCompleted(battler); } } -static void Intro_WaitForShinyAnimAndHealthbox(void) +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) { bool32 healthboxAnimDone = FALSE; bool32 twoMons = FALSE; if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { healthboxAnimDone = TRUE; } @@ -157,87 +157,87 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) if (healthboxAnimDone) { - if (twoMons || !IsBattlerSpriteVisible(BATTLE_PARTNER(gActiveBattler))) + if (twoMons || !IsBattlerSpriteVisible(BATTLE_PARTNER(battler))) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) return; - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } else { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; - if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) + if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_RIGHT) { FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } -static void Intro_TryShinyAnimShowHealthbox(void) +static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); } if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) { - TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); + TryShinyAnimation(BATTLE_PARTNER(battler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = TRUE; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry + if (!gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry + && gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_LEFT) m4aMPlayContinue(&gMPlayInfo_BGM); } else @@ -246,189 +246,189 @@ static void Intro_TryShinyAnimShowHealthbox(void) } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = TRUE; bgmRestored = TRUE; } if (bgmRestored) { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_RIGHT) + if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBattlerPosition(battler) == B_POSITION_OPPONENT_RIGHT) { - if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == 1) + if (++gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == 1) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; } if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(gActiveBattler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); + SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[battler]]); + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; + gBattlerControllerFuncs[battler] = Intro_WaitForShinyAnimAndHealthbox; } } } -static void TryShinyAnimAfterMonAnim(void) +static void TryShinyAnimAfterMonAnim(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].x2 == 0) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim) { - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); } - else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + else if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - LinkOpponentBufferExecCompleted(); + LinkOpponentBufferExecCompleted(battler); } } } -static void SwitchIn_ShowSubstitute(void) +static void SwitchIn_ShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_HandleSoundAndEnd; + gBattlerControllerFuncs[battler] = SwitchIn_HandleSoundAndEnd; } } -static void SwitchIn_HandleSoundAndEnd(void) +static void SwitchIn_HandleSoundAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - || gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + || gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy_2) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); - LinkOpponentBufferExecCompleted(); + LinkOpponentBufferExecCompleted(battler); } } } -static void SwitchIn_ShowHealthbox(void) +static void SwitchIn_ShowHealthbox(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - CopyBattleSpriteInvisibility(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowSubstitute; + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); + CopyBattleSpriteInvisibility(battler); + gBattlerControllerFuncs[battler] = SwitchIn_ShowSubstitute; } } -static void SwitchIn_TryShinyAnim(void) +static void SwitchIn_TryShinyAnim(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim) { - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); } - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowHealthbox; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + gBattlerControllerFuncs[battler] = SwitchIn_ShowHealthbox; } } -static void LinkOpponentBufferExecCompleted(void) +static void LinkOpponentBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = LinkOpponentBufferRunCommand; + gBattlerControllerFuncs[battler] = LinkOpponentBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void LinkOpponentHandleLoadMonSprite(void) +static void LinkOpponentHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); + BtlController_HandleLoadMonSprite(battler, gEnemyParty, TryShinyAnimAfterMonAnim); } -static void LinkOpponentHandleSwitchInAnim(void) +static void LinkOpponentHandleSwitchInAnim(u32 battler) { - BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); + BtlController_HandleSwitchInAnim(battler, FALSE, SwitchIn_TryShinyAnim); } -static void LinkOpponentHandleDrawTrainerPic(void) +static void LinkOpponentHandleDrawTrainerPic(u32 battler) { s16 xPos; u32 trainerPicId; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon + if ((GetBattlerPosition(battler) & BIT_FLANK) != 0) // second mon xPos = 152; else // first mon xPos = 200; if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) { - if (gActiveBattler == B_POSITION_OPPONENT_LEFT) + if (battler == B_POSITION_OPPONENT_LEFT) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); } else { - if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_FIRE_RED - || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_LEAF_GREEN) + if ((gLinkPlayers[GetBattlerMultiplayerId(battler)].version & 0xFF) == VERSION_FIRE_RED + || (gLinkPlayers[GetBattlerMultiplayerId(battler)].version & 0xFF) == VERSION_LEAF_GREEN) { - if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE) + if (gLinkPlayers[GetBattlerMultiplayerId(battler)].gender != MALE) trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_LEAF]; else trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RED]; } - else if ((gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_RUBY - || (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF) == VERSION_SAPPHIRE) + else if ((gLinkPlayers[GetBattlerMultiplayerId(battler)].version & 0xFF) == VERSION_RUBY + || (gLinkPlayers[GetBattlerMultiplayerId(battler)].version & 0xFF) == VERSION_SAPPHIRE) { - if (gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender != MALE) + if (gLinkPlayers[GetBattlerMultiplayerId(battler)].gender != MALE) trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_MAY]; else trainerPicId = gFacilityClassToPicIndex[FACILITY_CLASS_RS_BRENDAN]; } else { - trainerPicId = PlayerGenderToFrontTrainerPicId(gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender); + trainerPicId = PlayerGenderToFrontTrainerPicId(gLinkPlayers[GetBattlerMultiplayerId(battler)].gender); } } } @@ -461,77 +461,77 @@ static void LinkOpponentHandleDrawTrainerPic(void) } } - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, TRUE, + BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), -1); } -static void LinkOpponentHandleTrainerSlide(void) +static void LinkOpponentHandleTrainerSlide(u32 battler) { u32 trainerPicId; - if (gActiveBattler == 1) + if (battler == B_POSITION_OPPONENT_LEFT) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); - BtlController_HandleTrainerSlide(gActiveBattler, trainerPicId); - LinkOpponentBufferExecCompleted(); // Possibly a bug, because execution should be completed after the slide in finishes. See Controller_WaitForTrainerPic. + BtlController_HandleTrainerSlide(battler, trainerPicId); + LinkOpponentBufferExecCompleted(battler); // Possibly a bug, because execution should be completed after the slide in finishes. See Controller_WaitForTrainerPic. } -static void LinkOpponentHandleTrainerSlideBack(void) +static void LinkOpponentHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); + BtlController_HandleTrainerSlideBack(battler, 35, FALSE); } -static void LinkOpponentHandleMoveAnimation(void) +static void LinkOpponentHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, TRUE); + BtlController_HandleMoveAnimation(battler, TRUE); } -static void LinkOpponentHandlePrintString(void) +static void LinkOpponentHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, TRUE, FALSE); + BtlController_HandlePrintString(battler, TRUE, FALSE); } -static void LinkOpponentHandleHealthBarUpdate(void) +static void LinkOpponentHandleHealthBarUpdate(u32 battler) { - BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); + BtlController_HandleHealthBarUpdate(battler, FALSE); } -static void LinkOpponentHandleIntroTrainerBallThrow(void) +static void LinkOpponentHandleIntroTrainerBallThrow(u32 battler) { - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); } -static void LinkOpponentHandleDrawPartyStatusSummary(void) +static void LinkOpponentHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_OPPONENT, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_OPPONENT, TRUE); } -static void LinkOpponentHandleBattleAnimation(void) +static void LinkOpponentHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, TRUE); + BtlController_HandleBattleAnimation(battler, FALSE, TRUE); } -static void LinkOpponentHandleLinkStandbyMsg(void) +static void LinkOpponentHandleLinkStandbyMsg(u32 battler) { - RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][2]); - LinkOpponentBufferExecCompleted(); + RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[battler][2]); + LinkOpponentBufferExecCompleted(battler); } -static void LinkOpponentHandleEndLinkBattle(void) +static void LinkOpponentHandleEndLinkBattle(u32 battler) { - RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][4]); + RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[battler][4]); - if (gBattleResources->bufferA[gActiveBattler][1] == B_OUTCOME_DREW) - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; + if (gBattleResources->bufferA[battler][1] == B_OUTCOME_DREW) + gBattleOutcome = gBattleResources->bufferA[battler][1]; else - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; + gBattleOutcome = gBattleResources->bufferA[battler][1] ^ B_OUTCOME_DREW; - gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleResources->bufferA[gActiveBattler][2]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleResources->bufferA[battler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - LinkOpponentBufferExecCompleted(); - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + LinkOpponentBufferExecCompleted(battler); + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 41337a6c7b..b08e8c0873 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -29,24 +29,24 @@ #include "constants/trainers.h" #include "recorded_battle.h" -static void LinkPartnerHandleLoadMonSprite(void); -static void LinkPartnerHandleSwitchInAnim(void); -static void LinkPartnerHandleDrawTrainerPic(void); -static void LinkPartnerHandleTrainerSlideBack(void); -static void LinkPartnerHandleMoveAnimation(void); -static void LinkPartnerHandlePrintString(void); -static void LinkPartnerHandleHealthBarUpdate(void); -static void LinkPartnerHandleIntroTrainerBallThrow(void); -static void LinkPartnerHandleDrawPartyStatusSummary(void); -static void LinkPartnerHandleBattleAnimation(void); -static void LinkPartnerHandleLinkStandbyMsg(void); -static void LinkPartnerHandleEndLinkBattle(void); +static void LinkPartnerHandleLoadMonSprite(u32 battler); +static void LinkPartnerHandleSwitchInAnim(u32 battler); +static void LinkPartnerHandleDrawTrainerPic(u32 battler); +static void LinkPartnerHandleTrainerSlideBack(u32 battler); +static void LinkPartnerHandleMoveAnimation(u32 battler); +static void LinkPartnerHandlePrintString(u32 battler); +static void LinkPartnerHandleHealthBarUpdate(u32 battler); +static void LinkPartnerHandleIntroTrainerBallThrow(u32 battler); +static void LinkPartnerHandleDrawPartyStatusSummary(u32 battler); +static void LinkPartnerHandleBattleAnimation(u32 battler); +static void LinkPartnerHandleLinkStandbyMsg(u32 battler); +static void LinkPartnerHandleEndLinkBattle(u32 battler); -static void LinkPartnerBufferRunCommand(void); -static void LinkPartnerBufferExecCompleted(void); -static void SwitchIn_WaitAndEnd(void); +static void LinkPartnerBufferRunCommand(u32 battler); +static void LinkPartnerBufferExecCompleted(u32 battler); +static void SwitchIn_WaitAndEnd(u32 battler); -static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, @@ -108,121 +108,121 @@ static void (*const sLinkPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToLinkPartner(void) +void SetControllerToLinkPartner(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = LinkPartnerBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; + gBattlerControllerEndFuncs[battler] = LinkPartnerBufferExecCompleted; + gBattlerControllerFuncs[battler] = LinkPartnerBufferRunCommand; } -static void LinkPartnerBufferRunCommand(void) +static void LinkPartnerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sLinkPartnerBufferCommands)) - sLinkPartnerBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sLinkPartnerBufferCommands)) + sLinkPartnerBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - LinkPartnerBufferExecCompleted(); + LinkPartnerBufferExecCompleted(battler); } } -static void WaitForMonAnimAfterLoad(void) +static void WaitForMonAnimAfterLoad(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) - LinkPartnerBufferExecCompleted(); + if (gSprites[gBattlerSpriteIds[battler]].animEnded && gSprites[gBattlerSpriteIds[battler]].x2 == 0) + LinkPartnerBufferExecCompleted(battler); } -static void SwitchIn_ShowSubstitute(void) +static void SwitchIn_ShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBattler); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + CopyBattleSpriteInvisibility(battler); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_WaitAndEnd; + gBattlerControllerFuncs[battler] = SwitchIn_WaitAndEnd; } } -static void SwitchIn_WaitAndEnd(void) +static void SwitchIn_WaitAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - LinkPartnerBufferExecCompleted(); + LinkPartnerBufferExecCompleted(battler); } } -static void SwitchIn_ShowHealthbox(void) +static void SwitchIn_ShowHealthbox(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); CreateTask(Task_PlayerController_RestoreBgmAfterCry, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowSubstitute; + gBattlerControllerFuncs[battler] = SwitchIn_ShowSubstitute; } } -static void SwitchIn_TryShinyAnim(void) +static void SwitchIn_TryShinyAnim(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); } - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowHealthbox; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + gBattlerControllerFuncs[battler] = SwitchIn_ShowHealthbox; } } -static void LinkPartnerBufferExecCompleted(void) +static void LinkPartnerBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = LinkPartnerBufferRunCommand; + gBattlerControllerFuncs[battler] = LinkPartnerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void LinkPartnerHandleLoadMonSprite(void) +static void LinkPartnerHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); + BtlController_HandleLoadMonSprite(battler, gPlayerParty, WaitForMonAnimAfterLoad); } -static void LinkPartnerHandleSwitchInAnim(void) +static void LinkPartnerHandleSwitchInAnim(u32 battler) { - BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); + BtlController_HandleSwitchInAnim(battler, TRUE, SwitchIn_TryShinyAnim); } -static void LinkPartnerHandleDrawTrainerPic(void) +static void LinkPartnerHandleDrawTrainerPic(u32 battler) { s16 xPos; u32 trainerPicId; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon + if ((GetBattlerPosition(battler) & BIT_FLANK) != 0) // second mon xPos = 90; else // first mon xPos = 32; @@ -232,76 +232,63 @@ static void LinkPartnerHandleDrawTrainerPic(void) xPos = 80; } - trainerPicId = LinkPlayerGetTrainerPicId(GetBattlerMultiplayerId(gActiveBattler)); - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, FALSE, + trainerPicId = LinkPlayerGetTrainerPicId(GetBattlerMultiplayerId(battler)); + BtlController_HandleDrawTrainerPic(battler, trainerPicId, FALSE, xPos, 80 + 4 * (8 - gTrainerBackPicCoords[trainerPicId].size), -1); } -static void LinkPartnerHandleTrainerSlideBack(void) +static void LinkPartnerHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); + BtlController_HandleTrainerSlideBack(battler, 35, FALSE); } -static void LinkPartnerHandleMoveAnimation(void) +static void LinkPartnerHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, TRUE); + BtlController_HandleMoveAnimation(battler, TRUE); } -static void LinkPartnerHandlePrintString(void) +static void LinkPartnerHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, TRUE, FALSE); + BtlController_HandlePrintString(battler, TRUE, FALSE); } -static void LinkPartnerHandleHealthBarUpdate(void) +static void LinkPartnerHandleHealthBarUpdate(u32 battler) { - BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); + BtlController_HandleHealthBarUpdate(battler, FALSE); } -static void LinkPartnerHandleIntroTrainerBallThrow(void) +static void LinkPartnerHandleIntroTrainerBallThrow(u32 battler) { - u32 trainerPicId; - u8 gameVersion, playerGender; - const u32 *trainerPal; - - gameVersion = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].version & 0xFF; - playerGender = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender; - - if (gameVersion == VERSION_FIRE_RED || gameVersion == VERSION_LEAF_GREEN) - trainerPicId = playerGender + TRAINER_BACK_PIC_RED; - else if (gameVersion == VERSION_RUBY || gameVersion == VERSION_SAPPHIRE) - trainerPicId = playerGender + TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN; - else - trainerPicId = playerGender + TRAINER_BACK_PIC_BRENDAN; - - trainerPal = gTrainerBackPicPaletteTable[trainerPicId].data; + u32 trainerPicId = LinkPlayerGetTrainerPicId(GetBattlerMultiplayerId(battler)); + const u32 *trainerPal = gTrainerBackPicPaletteTable[trainerPicId].data; // Link partner uses the same intro sequence as the player partner. - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); } -static void LinkPartnerHandleDrawPartyStatusSummary(void) +static void LinkPartnerHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_PLAYER, TRUE); } -static void LinkPartnerHandleBattleAnimation(void) +static void LinkPartnerHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, TRUE); + BtlController_HandleBattleAnimation(battler, FALSE, TRUE); } -static void LinkPartnerHandleLinkStandbyMsg(void) +static void LinkPartnerHandleLinkStandbyMsg(u32 battler) { - RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][2]); - LinkPartnerBufferExecCompleted(); + RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[battler][2]); + LinkPartnerBufferExecCompleted(battler); } -static void LinkPartnerHandleEndLinkBattle(void) +static void LinkPartnerHandleEndLinkBattle(u32 battler) { - RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][4]); - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; - gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleResources->bufferA[gActiveBattler][2]; + RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[battler][4]); + gBattleOutcome = gBattleResources->bufferA[battler][1]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleResources->bufferA[battler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - LinkPartnerBufferExecCompleted(); - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + LinkPartnerBufferExecCompleted(battler); + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 5da0ce2048..2a89148d37 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -39,29 +39,29 @@ #include "constants/trainers.h" #include "trainer_hill.h" -static void OpponentHandleLoadMonSprite(void); -static void OpponentHandleSwitchInAnim(void); -static void OpponentHandleDrawTrainerPic(void); -static void OpponentHandleTrainerSlide(void); -static void OpponentHandleTrainerSlideBack(void); -static void OpponentHandleMoveAnimation(void); -static void OpponentHandlePrintString(void); -static void OpponentHandleChooseAction(void); -static void OpponentHandleChooseMove(void); -static void OpponentHandleChooseItem(void); -static void OpponentHandleChoosePokemon(void); -static void OpponentHandleHealthBarUpdate(void); -static void OpponentHandleIntroTrainerBallThrow(void); -static void OpponentHandleDrawPartyStatusSummary(void); -static void OpponentHandleBattleAnimation(void); -static void OpponentHandleEndLinkBattle(void); +static void OpponentHandleLoadMonSprite(u32 battler); +static void OpponentHandleSwitchInAnim(u32 battler); +static void OpponentHandleDrawTrainerPic(u32 battler); +static void OpponentHandleTrainerSlide(u32 battler); +static void OpponentHandleTrainerSlideBack(u32 battler); +static void OpponentHandleMoveAnimation(u32 battler); +static void OpponentHandlePrintString(u32 battler); +static void OpponentHandleChooseAction(u32 battler); +static void OpponentHandleChooseMove(u32 battler); +static void OpponentHandleChooseItem(u32 battler); +static void OpponentHandleChoosePokemon(u32 battler); +static void OpponentHandleHealthBarUpdate(u32 battler); +static void OpponentHandleIntroTrainerBallThrow(u32 battler); +static void OpponentHandleDrawPartyStatusSummary(u32 battler); +static void OpponentHandleBattleAnimation(u32 battler); +static void OpponentHandleEndLinkBattle(u32 battler); static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore); -static void OpponentBufferRunCommand(void); -static void OpponentBufferExecCompleted(void); -static void SwitchIn_HandleSoundAndEnd(void); +static void OpponentBufferRunCommand(u32 battler); +static void OpponentBufferExecCompleted(u32 battler); +static void SwitchIn_HandleSoundAndEnd(u32 battler); -static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_HandleGetRawMonData, @@ -123,78 +123,78 @@ static void (*const sOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToOpponent(void) +void SetControllerToOpponent(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = OpponentBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; + gBattlerControllerEndFuncs[battler] = OpponentBufferExecCompleted; + gBattlerControllerFuncs[battler] = OpponentBufferRunCommand; } -static void OpponentBufferRunCommand(void) +static void OpponentBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sOpponentBufferCommands)) - sOpponentBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sOpponentBufferCommands)) + sOpponentBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } } -static void Intro_DelayAndEnd(void) +static void Intro_DelayAndEnd(u32 battler) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) + if (--gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == (u8)-1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - OpponentBufferExecCompleted(); + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; + OpponentBufferExecCompleted(battler); } } -static void Intro_WaitForShinyAnimAndHealthbox(void) +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) { bool8 healthboxAnimDone = FALSE; bool8 twoMons; - twoMons = TwoOpponentIntroMons(gActiveBattler); + twoMons = TwoOpponentIntroMons(battler); if (!twoMons || ((twoMons && (gBattleTypeFlags & BATTLE_TYPE_MULTI) && !BATTLE_TWO_VS_ONE_OPPONENT) || (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS))) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; twoMons = FALSE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; twoMons = TRUE; } - gBattleControllerOpponentHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[gActiveBattler]; - gBattleControllerOpponentFlankHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)]; + gBattleControllerOpponentHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[battler]; + gBattleControllerOpponentFlankHealthboxData = &gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)]; if (healthboxAnimDone) { if (twoMons == TRUE) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } else return; } - else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + else if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - if (GetBattlerPosition(gActiveBattler) == 3) + if (GetBattlerPosition(battler) == 3) { - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) { FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); @@ -202,87 +202,87 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) else return; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; } else return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } -static void Intro_TryShinyAnimShowHealthbox(void) +static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; bool32 battlerAnimsDone = FALSE; bool32 twoMons; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); - twoMons = TwoOpponentIntroMons(gActiveBattler); + twoMons = TwoOpponentIntroMons(battler); if (!(gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) && (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) || BATTLE_TWO_VS_ONE_OPPONENT) && twoMons - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) - TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) + TryShinyAnimation(BATTLE_PARTNER(battler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted) { if (twoMons && (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) || BATTLE_TWO_VS_ONE_OPPONENT)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = TRUE; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry + if (!gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry + && gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (GetBattlerPosition(gActiveBattler) == 1) + if (GetBattlerPosition(battler) == 1) m4aMPlayContinue(&gMPlayInfo_BGM); } else m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = TRUE; bgmRestored = TRUE; } if (!twoMons || (twoMons && gBattleTypeFlags & BATTLE_TYPE_MULTI && !BATTLE_TWO_VS_ONE_OPPONENT)) { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } } else { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } @@ -292,119 +292,119 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (twoMons && (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) || BATTLE_TWO_VS_ONE_OPPONENT)) { - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(gActiveBattler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); + SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[battler]]); + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; + gBattlerControllerFuncs[battler] = Intro_WaitForShinyAnimAndHealthbox; } } -static void TryShinyAnimAfterMonAnim(void) +static void TryShinyAnimAfterMonAnim(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0 - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (gSprites[gBattlerSpriteIds[battler]].x2 == 0 + && !gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } } -static void SwitchIn_ShowSubstitute(void) +static void SwitchIn_ShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_HandleSoundAndEnd; + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); + gBattlerControllerFuncs[battler] = SwitchIn_HandleSoundAndEnd; } } -static void SwitchIn_HandleSoundAndEnd(void) +static void SwitchIn_HandleSoundAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - || gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + || gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy_2) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } } } -static void SwitchIn_ShowHealthbox(void) +static void SwitchIn_ShowHealthbox(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - CopyBattleSpriteInvisibility(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowSubstitute; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); + CopyBattleSpriteInvisibility(battler); + gBattlerControllerFuncs[battler] = SwitchIn_ShowSubstitute; } } -static void SwitchIn_TryShinyAnim(void) +static void SwitchIn_TryShinyAnim(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowHealthbox; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + gBattlerControllerFuncs[battler] = SwitchIn_ShowHealthbox; } } -static void OpponentBufferExecCompleted(void) +static void OpponentBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = OpponentBufferRunCommand; + gBattlerControllerFuncs[battler] = OpponentBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void OpponentHandleLoadMonSprite(void) +static void OpponentHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); + BtlController_HandleLoadMonSprite(battler, gEnemyParty, TryShinyAnimAfterMonAnim); } -static void OpponentHandleSwitchInAnim(void) +static void OpponentHandleSwitchInAnim(u32 battler) { - gBattleStruct->monToSwitchIntoId[gActiveBattler] = PARTY_SIZE; - BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); + gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; + BtlController_HandleSwitchInAnim(battler, FALSE, SwitchIn_TryShinyAnim); } static u32 OpponentGetTrainerPicId(u32 battlerId) @@ -466,14 +466,14 @@ static u32 OpponentGetTrainerPicId(u32 battlerId) return trainerPicId; } -static void OpponentHandleDrawTrainerPic(void) +static void OpponentHandleDrawTrainerPic(u32 battler) { s16 xPos; - u32 trainerPicId = OpponentGetTrainerPicId(gActiveBattler); + u32 trainerPicId = OpponentGetTrainerPicId(battler); if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS) && !BATTLE_TWO_VS_ONE_OPPONENT) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon + if ((GetBattlerPosition(battler) & BIT_FLANK) != 0) // second mon xPos = 152; else // first mon xPos = 200; @@ -483,42 +483,42 @@ static void OpponentHandleDrawTrainerPic(void) xPos = 176; } - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, TRUE, + BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), -1); } -static void OpponentHandleTrainerSlide(void) +static void OpponentHandleTrainerSlide(u32 battler) { - u32 trainerPicId = OpponentGetTrainerPicId(gActiveBattler); - BtlController_HandleTrainerSlide(gActiveBattler, trainerPicId); + u32 trainerPicId = OpponentGetTrainerPicId(battler); + BtlController_HandleTrainerSlide(battler, trainerPicId); } -static void OpponentHandleTrainerSlideBack(void) +static void OpponentHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); + BtlController_HandleTrainerSlideBack(battler, 35, FALSE); } -static void OpponentHandleMoveAnimation(void) +static void OpponentHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, FALSE); + BtlController_HandleMoveAnimation(battler, FALSE); } -static void OpponentHandlePrintString(void) +static void OpponentHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, FALSE, TRUE); + BtlController_HandlePrintString(battler, FALSE, TRUE); } -static void OpponentHandleChooseAction(void) +static void OpponentHandleChooseAction(u32 battler) { AI_TrySwitchOrUseItem(); - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } -static void OpponentHandleChooseMove(void) +static void OpponentHandleChooseMove(u32 battler) { u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER) || IsWildMonSmart()) @@ -529,8 +529,8 @@ static void OpponentHandleChooseMove(void) } else { - chosenMoveId = gBattleStruct->aiMoveOrAction[gActiveBattler]; - gBattlerTarget = gBattleStruct->aiChosenTarget[gActiveBattler]; + chosenMoveId = gBattleStruct->aiMoveOrAction[battler]; + gBattlerTarget = gBattleStruct->aiChosenTarget[battler]; switch (chosenMoveId) { case AI_CHOICE_WATCH: @@ -549,17 +549,17 @@ static void OpponentHandleChooseMove(void) { u16 chosenMove = moveInfo->moves[chosenMoveId]; - if (GetBattlerMoveTargetType(gActiveBattler, chosenMove) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - gBattlerTarget = gActiveBattler; - if (GetBattlerMoveTargetType(gActiveBattler, chosenMove) & MOVE_TARGET_BOTH) + if (GetBattlerMoveTargetType(battler, chosenMove) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) + gBattlerTarget = battler; + if (GetBattlerMoveTargetType(battler, chosenMove) & MOVE_TARGET_BOTH) { gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) gBattlerTarget = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); } - if (ShouldUseZMove(gActiveBattler, gBattlerTarget, chosenMove)) - QueueZMove(gActiveBattler, chosenMove); - if (CanMegaEvolve(gActiveBattler)) // If opponent can mega evolve, do it. + if (ShouldUseZMove(battler, gBattlerTarget, chosenMove)) + QueueZMove(battler, chosenMove); + if (CanMegaEvolve(battler)) // If opponent can mega evolve, do it. BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); @@ -567,7 +567,7 @@ static void OpponentHandleChooseMove(void) break; } } - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } else // Wild pokemon - use random move { @@ -579,13 +579,13 @@ static void OpponentHandleChooseMove(void) move = moveInfo->moves[chosenMoveId]; } while (move == MOVE_NONE); - if (GetBattlerMoveTargetType(gActiveBattler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gActiveBattler << 8)); + if (GetBattlerMoveTargetType(battler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (battler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { do { target = GetBattlerAtPosition(Random() & 2); - } while (!CanTargetBattler(gActiveBattler, target, move)); + } while (!CanTargetBattler(battler, target, move)); #if B_WILD_NATURAL_ENEMIES == TRUE // Don't bother to loop through table if the move can't attack ally @@ -602,8 +602,8 @@ static void OpponentHandleChooseMove(void) {SPECIES_SABLEYE, SPECIES_CARBINK}, {SPECIES_MAREANIE, SPECIES_CORSOLA}, }; - speciesAttacker = gBattleMons[gActiveBattler].species; - speciesTarget = gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler))].species; + speciesAttacker = gBattleMons[battler].species; + speciesTarget = gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(battler))].species; for (i = 0; i < ARRAY_COUNT(naturalEnemies); i++) { @@ -613,8 +613,8 @@ static void OpponentHandleChooseMove(void) break; } } - if (isPartnerEnemy && CanTargetBattler(gActiveBattler, target, move)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(gActiveBattler)) << 8)); + if (isPartnerEnemy && CanTargetBattler(battler, target, move)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(battler)) << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); } @@ -625,28 +625,28 @@ static void OpponentHandleChooseMove(void) else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } } -static void OpponentHandleChooseItem(void) +static void OpponentHandleChooseItem(u32 battler) { - BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[gActiveBattler]); - OpponentBufferExecCompleted(); + BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[battler]); + OpponentBufferExecCompleted(battler); } -static void OpponentHandleChoosePokemon(void) +static void OpponentHandleChoosePokemon(u32 battler) { s32 chosenMonId; s32 pokemonInBattle = 1; // Choosing Revival Blessing target - if ((gBattleResources->bufferA[gActiveBattler][1] & 0xF) == PARTY_ACTION_CHOOSE_FAINTED_MON) + if ((gBattleResources->bufferA[battler][1] & 0xF) == PARTY_ACTION_CHOOSE_FAINTED_MON) { - chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(gActiveBattler); + chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(battler); } // Switching out - else if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) + else if (*(gBattleStruct->AI_monToSwitchIntoId + battler) == PARTY_SIZE) { chosenMonId = GetMostSuitableMonToSwitchInto(); @@ -666,7 +666,7 @@ static void OpponentHandleChoosePokemon(void) } - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); for (chosenMonId = (lastId-1); chosenMonId >= firstId; chosenMonId--) { @@ -681,16 +681,16 @@ static void OpponentHandleChoosePokemon(void) } } } - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; + *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; } else { - chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; + chosenMonId = *(gBattleStruct->AI_monToSwitchIntoId + battler); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = PARTY_SIZE; + *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; } BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } @@ -701,9 +701,7 @@ static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore) for (i = 0, count = 0; i < PARTY_SIZE; i++) { if (i != slotToIgnore - && GetMonData(&gEnemyParty[i], MON_DATA_SPECIES) != SPECIES_NONE - && !GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) - && GetMonData(&gEnemyParty[i], MON_DATA_HP) != 0) + && IsValidForBattle(&gEnemyParty[i])) { count++; } @@ -712,27 +710,27 @@ static u8 CountAIAliveNonEggMonsExcept(u8 slotToIgnore) return count; } -static void OpponentHandleHealthBarUpdate(void) +static void OpponentHandleHealthBarUpdate(u32 battler) { - BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); + BtlController_HandleHealthBarUpdate(battler, FALSE); } -static void OpponentHandleIntroTrainerBallThrow(void) +static void OpponentHandleIntroTrainerBallThrow(u32 battler) { - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); } -static void OpponentHandleDrawPartyStatusSummary(void) +static void OpponentHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_OPPONENT, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_OPPONENT, TRUE); } -static void OpponentHandleBattleAnimation(void) +static void OpponentHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); + BtlController_HandleBattleAnimation(battler, FALSE, FALSE); } -static void OpponentHandleEndLinkBattle(void) +static void OpponentHandleEndLinkBattle(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) { @@ -740,5 +738,5 @@ static void OpponentHandleEndLinkBattle(void) gMain.callback1 = gPreBattleCallback1; SetMainCallback2(gMain.savedCallback); } - OpponentBufferExecCompleted(); + OpponentBufferExecCompleted(battler); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e944721e6f..591b776fb2 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -37,67 +37,63 @@ #include "constants/trainers.h" #include "constants/rgb.h" -static void PlayerBufferExecCompleted(void); -static void PlayerHandleLoadMonSprite(void); -static void PlayerHandleSwitchInAnim(void); -static void PlayerHandleDrawTrainerPic(void); -static void PlayerHandleTrainerSlide(void); -static void PlayerHandleTrainerSlideBack(void); -static void PlayerHandlePaletteFade(void); -static void PlayerHandleSuccessBallThrowAnim(void); -static void PlayerHandleBallThrowAnim(void); -static void PlayerHandlePause(void); -static void PlayerHandleMoveAnimation(void); -static void PlayerHandlePrintString(void); -static void PlayerHandlePrintSelectionString(void); -static void PlayerHandleChooseAction(void); -static void PlayerHandleYesNoBox(void); -static void PlayerHandleChooseMove(void); -static void PlayerHandleChooseItem(void); -static void PlayerHandleChoosePokemon(void); -static void PlayerHandleCmd23(void); -static void PlayerHandleHealthBarUpdate(void); -static void PlayerHandleStatusXor(void); -static void PlayerHandleDMA3Transfer(void); -static void PlayerHandlePlayBGM(void); -static void PlayerHandleTwoReturnValues(void); -static void PlayerHandleChosenMonReturnValue(void); -static void PlayerHandleOneReturnValue(void); -static void PlayerHandleOneReturnValue_Duplicate(void); -static void PlayerHandleIntroTrainerBallThrow(void); -static void PlayerHandleDrawPartyStatusSummary(void); -static void PlayerHandleEndBounceEffect(void); -static void PlayerHandleBattleAnimation(void); -static void PlayerHandleLinkStandbyMsg(void); -static void PlayerHandleResetActionMoveSelection(void); -static void PlayerHandleEndLinkBattle(void); -static void PlayerHandleBattleDebug(void); +static void PlayerBufferExecCompleted(u32 battler); +static void PlayerHandleLoadMonSprite(u32 battler); +static void PlayerHandleSwitchInAnim(u32 battler); +static void PlayerHandleDrawTrainerPic(u32 battler); +static void PlayerHandleTrainerSlide(u32 battler); +static void PlayerHandleTrainerSlideBack(u32 battler); +static void PlayerHandlePaletteFade(u32 battler); +static void PlayerHandleSuccessBallThrowAnim(u32 battler); +static void PlayerHandleBallThrowAnim(u32 battler); +static void PlayerHandlePause(u32 battler); +static void PlayerHandleMoveAnimation(u32 battler); +static void PlayerHandlePrintString(u32 battler); +static void PlayerHandlePrintSelectionString(u32 battler); +static void PlayerHandleChooseAction(u32 battler); +static void PlayerHandleYesNoBox(u32 battler); +static void PlayerHandleChooseMove(u32 battler); +static void PlayerHandleChooseItem(u32 battler); +static void PlayerHandleChoosePokemon(u32 battler); +static void PlayerHandleCmd23(u32 battler); +static void PlayerHandleHealthBarUpdate(u32 battler); +static void PlayerHandleStatusXor(u32 battler); +static void PlayerHandleDMA3Transfer(u32 battler); +static void PlayerHandlePlayBGM(u32 battler); +static void PlayerHandleTwoReturnValues(u32 battler); +static void PlayerHandleChosenMonReturnValue(u32 battler); +static void PlayerHandleOneReturnValue(u32 battler); +static void PlayerHandleOneReturnValue_Duplicate(u32 battler); +static void PlayerHandleIntroTrainerBallThrow(u32 battler); +static void PlayerHandleDrawPartyStatusSummary(u32 battler); +static void PlayerHandleEndBounceEffect(u32 battler); +static void PlayerHandleBattleAnimation(u32 battler); +static void PlayerHandleLinkStandbyMsg(u32 battler); +static void PlayerHandleResetActionMoveSelection(u32 battler); +static void PlayerHandleEndLinkBattle(u32 battler); +static void PlayerHandleBattleDebug(u32 battler); -static void PlayerBufferRunCommand(void); -static void HandleInputChooseTarget(void); -static void HandleInputChooseMove(void); -static void MoveSelectionDisplayPpNumber(void); -static void MoveSelectionDisplayPpString(void); -static void MoveSelectionDisplayMoveType(void); -static void MoveSelectionDisplayMoveNames(void); -static void HandleMoveSwitching(void); -static void SwitchIn_HandleSoundAndEnd(void); -static void WaitForMonSelection(void); -static void CompleteWhenChoseItem(void); +static void PlayerBufferRunCommand(u32 battler); +static void HandleInputChooseTarget(u32 battler); +static void HandleInputChooseMove(u32 battler); +static void MoveSelectionDisplayPpNumber(u32 battler); +static void MoveSelectionDisplayPpString(u32 battler); +static void MoveSelectionDisplayMoveType(u32 battler); +static void MoveSelectionDisplayMoveNames(u32 battler); +static void HandleMoveSwitching(u32 battler); +static void SwitchIn_HandleSoundAndEnd(u32 battler); +static void WaitForMonSelection(u32 battler); +static void CompleteWhenChoseItem(u32 battler); static void Task_LaunchLvlUpAnim(u8); static void Task_PrepareToGiveExpWithExpBar(u8); static void Task_SetControllerToWaitForString(u8); static void Task_GiveExpWithExpBar(u8); static void Task_UpdateLvlInHealthbox(u8); static void PrintLinkStandbyMsg(void); -static u32 CopyPlayerMonData(u8, u8 *); -static void SetPlayerMonData(u8); -static void PlayerDoMoveAnimation(void); -static void Task_StartSendOutAnim(u8); -static void ReloadMoveNames(void); +static void ReloadMoveNames(u32 battler); -static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_HandleGetRawMonData, @@ -159,57 +155,53 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void BattleControllerDummy(void) +void SetControllerToPlayer(u32 battler) { -} - -void SetControllerToPlayer(void) -{ - gBattlerControllerEndFuncs[gActiveBattler] = PlayerBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; + gBattlerControllerEndFuncs[battler] = PlayerBufferExecCompleted; + gBattlerControllerFuncs[battler] = PlayerBufferRunCommand; gDoingBattleAnim = FALSE; gPlayerDpadHoldFrames = 0; } -static void PlayerBufferExecCompleted(void) +static void PlayerBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = PlayerBufferRunCommand; + gBattlerControllerFuncs[battler] = PlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void PlayerBufferRunCommand(void) +static void PlayerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sPlayerBufferCommands)) - sPlayerBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sPlayerBufferCommands)) + sPlayerBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void CompleteOnBattlerSpritePosX_0(void) +static void CompleteOnBattlerSpritePosX_0(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) - PlayerBufferExecCompleted(); + if (gSprites[gBattlerSpriteIds[battler]].x2 == 0) + PlayerBufferExecCompleted(battler); } -static void HandleInputChooseAction(void) +static void HandleInputChooseAction(u32 battler) { - u16 itemId = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); + u16 itemId = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8); - DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); - DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); + DoBounceEffect(battler, BOUNCE_HEALTHBOX, 7, 1); + DoBounceEffect(battler, BOUNCE_MON, 7, 1); if (JOY_REPEAT(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -221,7 +213,7 @@ static void HandleInputChooseAction(void) PlaySE(SE_SELECT); TryHideLastUsedBall(); - switch (gActionSelectionCursor[gActiveBattler]) + switch (gActionSelectionCursor[battler]) { case 0: // Top left BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); @@ -236,63 +228,63 @@ static void HandleInputChooseAction(void) BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); break; } - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } else if (JOY_NEW(DPAD_LEFT)) { - if (gActionSelectionCursor[gActiveBattler] & 1) // if is B_ACTION_USE_ITEM or B_ACTION_RUN + if (gActionSelectionCursor[battler] & 1) // if is B_ACTION_USE_ITEM or B_ACTION_RUN { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(DPAD_RIGHT)) { - if (!(gActionSelectionCursor[gActiveBattler] & 1)) // if is B_ACTION_USE_MOVE or B_ACTION_SWITCH + if (!(gActionSelectionCursor[battler] & 1)) // if is B_ACTION_USE_MOVE or B_ACTION_SWITCH { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(DPAD_UP)) { - if (gActionSelectionCursor[gActiveBattler] & 2) // if is B_ACTION_SWITCH or B_ACTION_RUN + if (gActionSelectionCursor[battler] & 2) // if is B_ACTION_SWITCH or B_ACTION_RUN { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(DPAD_DOWN)) { - if (!(gActionSelectionCursor[gActiveBattler] & 2)) // if is B_ACTION_USE_MOVE or B_ACTION_USE_ITEM + if (!(gActionSelectionCursor[battler] & 2)) // if is B_ACTION_USE_MOVE or B_ACTION_USE_ITEM { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - && GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT + && GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT && !(gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { // Return item to bag if partner had selected one. - if (gBattleResources->bufferA[gActiveBattler][1] == B_ACTION_USE_ITEM) + if (gBattleResources->bufferA[battler][1] == B_ACTION_USE_ITEM) { AddBagItem(itemId, 1); } PlaySE(SE_SELECT); BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_CANCEL_PARTNER, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } else if (JOY_NEW(START_BUTTON)) @@ -303,7 +295,7 @@ static void HandleInputChooseAction(void) else if (JOY_NEW(SELECT_BUTTON)) { BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_DEBUG, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } #endif #if B_LAST_USED_BALL == TRUE @@ -312,17 +304,17 @@ static void HandleInputChooseAction(void) PlaySE(SE_SELECT); TryHideLastUsedBall(); BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_THROW_BALL, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } #endif } -static void HandleInputChooseTarget(void) +static void HandleInputChooseTarget(u32 battler) { s32 i; static const u8 identities[MAX_BATTLERS_COUNT] = {B_POSITION_PLAYER_LEFT, B_POSITION_PLAYER_RIGHT, B_POSITION_OPPONENT_RIGHT, B_POSITION_OPPONENT_LEFT}; - u16 move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + gMoveSelectionCursor[gActiveBattler]); - u16 moveTarget = GetBattlerMoveTargetType(gActiveBattler, move); + u16 move = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + gMoveSelectionCursor[battler]); + u16 moveTarget = GetBattlerMoveTargetType(battler, move); DoBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX, 15, 1); for (i = 0; i < gBattlersCount; i++) @@ -341,21 +333,21 @@ static void HandleInputChooseTarget(void) PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); TryHideLastUsedBall(); HideTriggerSprites(); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; - DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); - DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); + gBattlerControllerFuncs[battler] = HandleInputChooseMove; + DoBounceEffect(battler, BOUNCE_HEALTHBOX, 7, 1); + DoBounceEffect(battler, BOUNCE_MON, 7, 1); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); } else if (JOY_NEW(DPAD_LEFT | DPAD_UP)) @@ -390,7 +382,7 @@ static void HandleInputChooseTarget(void) { case B_POSITION_PLAYER_LEFT: case B_POSITION_PLAYER_RIGHT: - if (gActiveBattler != gMultiUsePlayerCursor) + if (battler != gMultiUsePlayerCursor) i++; else if (moveTarget & MOVE_TARGET_USER_OR_SELECTED) i++; @@ -402,7 +394,7 @@ static void HandleInputChooseTarget(void) } if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor] - || !CanTargetBattler(gActiveBattler, gMultiUsePlayerCursor, move)) + || !CanTargetBattler(battler, gMultiUsePlayerCursor, move)) i = 0; } while (i == 0); } @@ -440,7 +432,7 @@ static void HandleInputChooseTarget(void) { case B_POSITION_PLAYER_LEFT: case B_POSITION_PLAYER_RIGHT: - if (gActiveBattler != gMultiUsePlayerCursor) + if (battler != gMultiUsePlayerCursor) i++; else if (moveTarget & MOVE_TARGET_USER_OR_SELECTED) i++; @@ -452,7 +444,7 @@ static void HandleInputChooseTarget(void) } if (gAbsentBattlerFlags & gBitTable[gMultiUsePlayerCursor] - || !CanTargetBattler(gActiveBattler, gMultiUsePlayerCursor, move)) + || !CanTargetBattler(battler, gMultiUsePlayerCursor, move)) i = 0; } while (i == 0); } @@ -474,12 +466,12 @@ static void HideAllTargets(void) } } -static void HideShownTargets(void) +static void HideShownTargets(u32 battler) { s32 i; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (IsBattlerAlive(i) && gBattleSpritesDataPtr->healthBoxesData[i].healthboxIsBouncing && i != gActiveBattler) + if (IsBattlerAlive(i) && gBattleSpritesDataPtr->healthBoxesData[i].healthboxIsBouncing && i != battler) { gSprites[gBattlerSpriteIds[i]].callback = SpriteCB_HideAsMoveTarget; EndBounceEffect(i, BOUNCE_HEALTHBOX); @@ -487,7 +479,7 @@ static void HideShownTargets(void) } } -static void HandleInputShowEntireFieldTargets(void) +static void HandleInputShowEntireFieldTargets(u32 battler) { if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -499,23 +491,23 @@ static void HandleInputShowEntireFieldTargets(void) PlaySE(SE_SELECT); HideAllTargets(); if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideMegaTriggerSprite(); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); HideAllTargets(); - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; - DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); - DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); + gBattlerControllerFuncs[battler] = HandleInputChooseMove; + DoBounceEffect(battler, BOUNCE_HEALTHBOX, 7, 1); + DoBounceEffect(battler, BOUNCE_MON, 7, 1); } } -static void HandleInputShowTargets(void) +static void HandleInputShowTargets(u32 battler) { if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -525,22 +517,22 @@ static void HandleInputShowTargets(void) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - HideShownTargets(); + HideShownTargets(battler); if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideTriggerSprites(); TryHideLastUsedBall(); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) { PlaySE(SE_SELECT); - HideShownTargets(); - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; - DoBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX, 7, 1); - DoBounceEffect(gActiveBattler, BOUNCE_MON, 7, 1); + HideShownTargets(battler); + gBattlerControllerFuncs[battler] = HandleInputChooseMove; + DoBounceEffect(battler, BOUNCE_HEALTHBOX, 7, 1); + DoBounceEffect(battler, BOUNCE_MON, 7, 1); } } @@ -553,11 +545,11 @@ static void TryShowAsTarget(u32 battlerId) } } -static void HandleInputChooseMove(void) +static void HandleInputChooseMove(u32 battler) { u16 moveTarget; u32 canSelectTarget = 0; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); if (JOY_HELD(DPAD_ANY) && gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) gPlayerDpadHoldFrames++; @@ -567,7 +559,7 @@ static void HandleInputChooseMove(void) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - if (moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] == MOVE_CURSE) + if (moveInfo->moves[gMoveSelectionCursor[battler]] == MOVE_CURSE) { if (moveInfo->monType1 != TYPE_GHOST && moveInfo->monType2 != TYPE_GHOST && moveInfo->monType3 != TYPE_GHOST) moveTarget = MOVE_TARGET_USER; @@ -576,43 +568,43 @@ static void HandleInputChooseMove(void) } else { - moveTarget = GetBattlerMoveTargetType(gActiveBattler, moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]); + moveTarget = GetBattlerMoveTargetType(battler, moveInfo->moves[gMoveSelectionCursor[battler]]); } if (gBattleStruct->zmove.viewing) { - u16 chosenMove = moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]; + u16 chosenMove = moveInfo->moves[gMoveSelectionCursor[battler]]; - QueueZMove(gActiveBattler, chosenMove); + QueueZMove(battler, chosenMove); gBattleStruct->zmove.viewing = FALSE; - if (gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].split != SPLIT_STATUS) + if (gBattleMoves[moveInfo->moves[gMoveSelectionCursor[battler]]].split != SPLIT_STATUS) moveTarget = MOVE_TARGET_SELECTED; //damaging z moves always have selected target } if (moveTarget & MOVE_TARGET_USER) - gMultiUsePlayerCursor = gActiveBattler; + gMultiUsePlayerCursor = battler; else - gMultiUsePlayerCursor = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gActiveBattler))); + gMultiUsePlayerCursor = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(battler))); - if (!gBattleResources->bufferA[gActiveBattler][1]) // not a double battle + if (!gBattleResources->bufferA[battler][1]) // not a double battle { - if (moveTarget & MOVE_TARGET_USER_OR_SELECTED && !gBattleResources->bufferA[gActiveBattler][2]) + if (moveTarget & MOVE_TARGET_USER_OR_SELECTED && !gBattleResources->bufferA[battler][2]) canSelectTarget = 1; } else // double battle { if (!(moveTarget & (MOVE_TARGET_RANDOM | MOVE_TARGET_BOTH | MOVE_TARGET_DEPENDS | MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_USER | MOVE_TARGET_ALLY))) canSelectTarget = 1; // either selected or user - if (moveTarget == (MOVE_TARGET_USER | MOVE_TARGET_ALLY) && IsBattlerAlive(BATTLE_PARTNER(gActiveBattler))) + if (moveTarget == (MOVE_TARGET_USER | MOVE_TARGET_ALLY) && IsBattlerAlive(BATTLE_PARTNER(battler))) canSelectTarget = 1; - if (moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]] == 0) + if (moveInfo->currentPp[gMoveSelectionCursor[battler]] == 0) { canSelectTarget = 0; } else if (!(moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) <= 1) { - gMultiUsePlayerCursor = GetDefaultMoveTarget(gActiveBattler); + gMultiUsePlayerCursor = GetDefaultMoveTarget(battler); canSelectTarget = 0; } @@ -631,7 +623,7 @@ static void HandleInputChooseMove(void) TryShowAsTarget(gMultiUsePlayerCursor); TryShowAsTarget(BATTLE_PARTNER(gMultiUsePlayerCursor)); if (moveTarget & MOVE_TARGET_FOES_AND_ALLY) - TryShowAsTarget(BATTLE_PARTNER(gActiveBattler)); + TryShowAsTarget(BATTLE_PARTNER(battler)); canSelectTarget = 2; } #endif @@ -642,18 +634,18 @@ static void HandleInputChooseMove(void) case 0: default: if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideTriggerSprites(); TryHideLastUsedBall(); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); break; case 1: - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseTarget; + gBattlerControllerFuncs[battler] = HandleInputChooseTarget; if (moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) - gMultiUsePlayerCursor = gActiveBattler; + gMultiUsePlayerCursor = battler; else if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)]) gMultiUsePlayerCursor = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else @@ -662,10 +654,10 @@ static void HandleInputChooseMove(void) gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_ShowAsMoveTarget; break; case 2: - gBattlerControllerFuncs[gActiveBattler] = HandleInputShowTargets; + gBattlerControllerFuncs[battler] = HandleInputShowTargets; break; case 3: // Entire field - gBattlerControllerFuncs[gActiveBattler] = HandleInputShowEntireFieldTargets; + gBattlerControllerFuncs[battler] = HandleInputShowEntireFieldTargets; break; } } @@ -674,7 +666,7 @@ static void HandleInputChooseMove(void) PlaySE(SE_SELECT); if (gBattleStruct->zmove.viewing) { - ReloadMoveNames(); + ReloadMoveNames(battler); } else { @@ -682,82 +674,82 @@ static void HandleInputChooseMove(void) gBattleStruct->zmove.viable = FALSE; BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); HideTriggerSprites(); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } else if (JOY_NEW(DPAD_LEFT) && !gBattleStruct->zmove.viewing) { - if (gMoveSelectionCursor[gActiveBattler] & 1) + if (gMoveSelectionCursor[battler] & 1) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); - TryChangeZIndicator(gActiveBattler, gMoveSelectionCursor[gActiveBattler]); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); + TryChangeZIndicator(battler, gMoveSelectionCursor[battler]); } } else if (JOY_NEW(DPAD_RIGHT) && !gBattleStruct->zmove.viewing) { - if (!(gMoveSelectionCursor[gActiveBattler] & 1) - && (gMoveSelectionCursor[gActiveBattler] ^ 1) < gNumberOfMovesToChoose) + if (!(gMoveSelectionCursor[battler] & 1) + && (gMoveSelectionCursor[battler] ^ 1) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); - TryChangeZIndicator(gActiveBattler, gMoveSelectionCursor[gActiveBattler]); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); + TryChangeZIndicator(battler, gMoveSelectionCursor[battler]); } } else if (JOY_NEW(DPAD_UP) && !gBattleStruct->zmove.viewing) { - if (gMoveSelectionCursor[gActiveBattler] & 2) + if (gMoveSelectionCursor[battler] & 2) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); - TryChangeZIndicator(gActiveBattler, gMoveSelectionCursor[gActiveBattler]); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); + TryChangeZIndicator(battler, gMoveSelectionCursor[battler]); } } else if (JOY_NEW(DPAD_DOWN) && !gBattleStruct->zmove.viewing) { - if (!(gMoveSelectionCursor[gActiveBattler] & 2) - && (gMoveSelectionCursor[gActiveBattler] ^ 2) < gNumberOfMovesToChoose) + if (!(gMoveSelectionCursor[battler] & 2) + && (gMoveSelectionCursor[battler] ^ 2) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); - TryChangeZIndicator(gActiveBattler, gMoveSelectionCursor[gActiveBattler]); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); + TryChangeZIndicator(battler, gMoveSelectionCursor[battler]); } } else if (JOY_NEW(SELECT_BUTTON) && !gBattleStruct->zmove.viewing) { if (gNumberOfMovesToChoose > 1 && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) { - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 29); - if (gMoveSelectionCursor[gActiveBattler] != 0) + if (gMoveSelectionCursor[battler] != 0) gMultiUsePlayerCursor = 0; else - gMultiUsePlayerCursor = gMoveSelectionCursor[gActiveBattler] + 1; + gMultiUsePlayerCursor = gMoveSelectionCursor[battler] + 1; MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); BattlePutTextOnWindow(gText_BattleSwitchWhich, B_WIN_SWITCH_PROMPT); - gBattlerControllerFuncs[gActiveBattler] = HandleMoveSwitching; + gBattlerControllerFuncs[battler] = HandleMoveSwitching; } } else if (JOY_NEW(START_BUTTON)) { - if (CanMegaEvolve(gActiveBattler)) + if (CanMegaEvolve(battler)) { gBattleStruct->mega.playerSelect ^= 1; ChangeMegaTriggerSprite(gBattleStruct->mega.triggerSpriteId, gBattleStruct->mega.playerSelect); @@ -771,23 +763,23 @@ static void HandleInputChooseMove(void) if (!gBattleStruct->zmove.viewing) MoveSelectionDisplayZMove(gBattleStruct->zmove.chosenZMove); else - ReloadMoveNames(); + ReloadMoveNames(battler); } } } -static void ReloadMoveNames(void) +static void ReloadMoveNames(u32 battler) { gBattleStruct->mega.playerSelect = FALSE; gBattleStruct->zmove.viewing = FALSE; - MoveSelectionDestroyCursorAt(0); - MoveSelectionDisplayMoveNames(); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); + MoveSelectionDestroyCursorAt(battler); + MoveSelectionDisplayMoveNames(battler); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); } -static u32 HandleMoveInputUnused(void) +static u32 HandleMoveInputUnused(u32 battler) { u32 var = 0; @@ -803,41 +795,41 @@ static u32 HandleMoveInputUnused(void) gBattle_BG0_Y = DISPLAY_HEIGHT * 2; var = 0xFF; } - if (JOY_NEW(DPAD_LEFT) && gMoveSelectionCursor[gActiveBattler] & 1) + if (JOY_NEW(DPAD_LEFT) && gMoveSelectionCursor[battler] & 1) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); } - if (JOY_NEW(DPAD_RIGHT) && !(gMoveSelectionCursor[gActiveBattler] & 1) - && (gMoveSelectionCursor[gActiveBattler] ^ 1) < gNumberOfMovesToChoose) + if (JOY_NEW(DPAD_RIGHT) && !(gMoveSelectionCursor[battler] & 1) + && (gMoveSelectionCursor[battler] ^ 1) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 1; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 1; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); } - if (JOY_NEW(DPAD_UP) && gMoveSelectionCursor[gActiveBattler] & 2) + if (JOY_NEW(DPAD_UP) && gMoveSelectionCursor[battler] & 2) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); } - if (JOY_NEW(DPAD_DOWN) && !(gMoveSelectionCursor[gActiveBattler] & 2) - && (gMoveSelectionCursor[gActiveBattler] ^ 2) < gNumberOfMovesToChoose) + if (JOY_NEW(DPAD_DOWN) && !(gMoveSelectionCursor[battler] & 2) + && (gMoveSelectionCursor[battler] ^ 2) < gNumberOfMovesToChoose) { - MoveSelectionDestroyCursorAt(gMoveSelectionCursor[gActiveBattler]); - gMoveSelectionCursor[gActiveBattler] ^= 2; + MoveSelectionDestroyCursorAt(gMoveSelectionCursor[battler]); + gMoveSelectionCursor[battler] ^= 2; PlaySE(SE_SELECT); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); } return var; } -static void HandleMoveSwitching(void) +static void HandleMoveSwitching(u32 battler) { u8 perMovePPBonuses[MAX_MON_MOVES]; struct ChooseMoveStruct moveStruct; @@ -845,76 +837,76 @@ static void HandleMoveSwitching(void) if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) { - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); PlaySE(SE_SELECT); - if (gMoveSelectionCursor[gActiveBattler] != gMultiUsePlayerCursor) + if (gMoveSelectionCursor[battler] != gMultiUsePlayerCursor) { - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); s32 i; // swap moves and pp - i = moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]; - moveInfo->moves[gMoveSelectionCursor[gActiveBattler]] = moveInfo->moves[gMultiUsePlayerCursor]; + i = moveInfo->moves[gMoveSelectionCursor[battler]]; + moveInfo->moves[gMoveSelectionCursor[battler]] = moveInfo->moves[gMultiUsePlayerCursor]; moveInfo->moves[gMultiUsePlayerCursor] = i; - i = moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]]; - moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]] = moveInfo->currentPp[gMultiUsePlayerCursor]; + i = moveInfo->currentPp[gMoveSelectionCursor[battler]]; + moveInfo->currentPp[gMoveSelectionCursor[battler]] = moveInfo->currentPp[gMultiUsePlayerCursor]; moveInfo->currentPp[gMultiUsePlayerCursor] = i; - i = moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]]; - moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]] = moveInfo->maxPp[gMultiUsePlayerCursor]; + i = moveInfo->maxPp[gMoveSelectionCursor[battler]]; + moveInfo->maxPp[gMoveSelectionCursor[battler]] = moveInfo->maxPp[gMultiUsePlayerCursor]; moveInfo->maxPp[gMultiUsePlayerCursor] = i; - if (gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[gMoveSelectionCursor[gActiveBattler]]) + if (gDisableStructs[battler].mimickedMoves & gBitTable[gMoveSelectionCursor[battler]]) { - gDisableStructs[gActiveBattler].mimickedMoves &= (~gBitTable[gMoveSelectionCursor[gActiveBattler]]); - gDisableStructs[gActiveBattler].mimickedMoves |= gBitTable[gMultiUsePlayerCursor]; + gDisableStructs[battler].mimickedMoves &= (~gBitTable[gMoveSelectionCursor[battler]]); + gDisableStructs[battler].mimickedMoves |= gBitTable[gMultiUsePlayerCursor]; } - MoveSelectionDisplayMoveNames(); + MoveSelectionDisplayMoveNames(battler); for (i = 0; i < MAX_MON_MOVES; i++) - perMovePPBonuses[i] = (gBattleMons[gActiveBattler].ppBonuses & (3 << (i * 2))) >> (i * 2); + perMovePPBonuses[i] = (gBattleMons[battler].ppBonuses & (3 << (i * 2))) >> (i * 2); - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gMultiUsePlayerCursor]; + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[battler]]; + perMovePPBonuses[gMoveSelectionCursor[battler]] = perMovePPBonuses[gMultiUsePlayerCursor]; perMovePPBonuses[gMultiUsePlayerCursor] = totalPPBonuses; totalPPBonuses = 0; for (i = 0; i < MAX_MON_MOVES; i++) totalPPBonuses |= perMovePPBonuses[i] << (i * 2); - gBattleMons[gActiveBattler].ppBonuses = totalPPBonuses; + gBattleMons[battler].ppBonuses = totalPPBonuses; for (i = 0; i < MAX_MON_MOVES; i++) { - gBattleMons[gActiveBattler].moves[i] = moveInfo->moves[i]; - gBattleMons[gActiveBattler].pp[i] = moveInfo->currentPp[i]; + gBattleMons[battler].moves[i] = moveInfo->moves[i]; + gBattleMons[battler].pp[i] = moveInfo->currentPp[i]; } - if (!(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + if (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { for (i = 0; i < MAX_MON_MOVES; i++) { - moveStruct.moves[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i); - moveStruct.currentPp[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i); + moveStruct.moves[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i); + moveStruct.currentPp[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP1 + i); } - totalPPBonuses = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES); + totalPPBonuses = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP_BONUSES); for (i = 0; i < MAX_MON_MOVES; i++) perMovePPBonuses[i] = (totalPPBonuses & (3 << (i * 2))) >> (i * 2); - i = moveStruct.moves[gMoveSelectionCursor[gActiveBattler]]; - moveStruct.moves[gMoveSelectionCursor[gActiveBattler]] = moveStruct.moves[gMultiUsePlayerCursor]; + i = moveStruct.moves[gMoveSelectionCursor[battler]]; + moveStruct.moves[gMoveSelectionCursor[battler]] = moveStruct.moves[gMultiUsePlayerCursor]; moveStruct.moves[gMultiUsePlayerCursor] = i; - i = moveStruct.currentPp[gMoveSelectionCursor[gActiveBattler]]; - moveStruct.currentPp[gMoveSelectionCursor[gActiveBattler]] = moveStruct.currentPp[gMultiUsePlayerCursor]; + i = moveStruct.currentPp[gMoveSelectionCursor[battler]]; + moveStruct.currentPp[gMoveSelectionCursor[battler]] = moveStruct.currentPp[gMultiUsePlayerCursor]; moveStruct.currentPp[gMultiUsePlayerCursor] = i; - totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]]; - perMovePPBonuses[gMoveSelectionCursor[gActiveBattler]] = perMovePPBonuses[gMultiUsePlayerCursor]; + totalPPBonuses = perMovePPBonuses[gMoveSelectionCursor[battler]]; + perMovePPBonuses[gMoveSelectionCursor[battler]] = perMovePPBonuses[gMultiUsePlayerCursor]; perMovePPBonuses[gMultiUsePlayerCursor] = totalPPBonuses; totalPPBonuses = 0; @@ -923,45 +915,45 @@ static void HandleMoveSwitching(void) for (i = 0; i < MAX_MON_MOVES; i++) { - SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MOVE1 + i, &moveStruct.moves[i]); - SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP1 + i, &moveStruct.currentPp[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MOVE1 + i, &moveStruct.moves[i]); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP1 + i, &moveStruct.currentPp[i]); } - SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_PP_BONUSES, &totalPPBonuses); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_PP_BONUSES, &totalPPBonuses); } } - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; - gMoveSelectionCursor[gActiveBattler] = gMultiUsePlayerCursor; - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpString(); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); - GetUsableZMoves(gActiveBattler, moveInfo->moves); + gBattlerControllerFuncs[battler] = HandleInputChooseMove; + gMoveSelectionCursor[battler] = gMultiUsePlayerCursor; + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpString(battler); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); + GetUsableZMoves(battler, moveInfo->moves); } else if (JOY_NEW(B_BUTTON | SELECT_BUTTON)) { PlaySE(SE_SELECT); MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; - MoveSelectionDisplayPpString(); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + gBattlerControllerFuncs[battler] = HandleInputChooseMove; + MoveSelectionDisplayPpString(battler); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); } else if (JOY_NEW(DPAD_LEFT)) { if (gMultiUsePlayerCursor & 1) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 1; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -971,15 +963,15 @@ static void HandleMoveSwitching(void) { if (!(gMultiUsePlayerCursor & 1) && (gMultiUsePlayerCursor ^ 1) < gNumberOfMovesToChoose) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 1; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -989,15 +981,15 @@ static void HandleMoveSwitching(void) { if (gMultiUsePlayerCursor & 2) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 2; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -1007,15 +999,15 @@ static void HandleMoveSwitching(void) { if (!(gMultiUsePlayerCursor & 2) && (gMultiUsePlayerCursor ^ 2) < gNumberOfMovesToChoose) { - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 29); + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 29); else MoveSelectionDestroyCursorAt(gMultiUsePlayerCursor); gMultiUsePlayerCursor ^= 2; PlaySE(SE_SELECT); - if (gMultiUsePlayerCursor == gMoveSelectionCursor[gActiveBattler]) + if (gMultiUsePlayerCursor == gMoveSelectionCursor[battler]) MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 0); else MoveSelectionCreateCursorAt(gMultiUsePlayerCursor, 27); @@ -1023,7 +1015,7 @@ static void HandleMoveSwitching(void) } } -static void SetLinkBattleEndCallbacks(void) +static void SetLinkBattleEndCallbacks(u32 battler) { if (gWirelessCommType == 0) { @@ -1054,7 +1046,7 @@ static void SetLinkBattleEndCallbacks(void) } // Despite handling link battles separately, this is only ever used by link battles -void SetBattleEndCallbacks(void) +void SetBattleEndCallbacks(u32 battler) { if (!gPaletteFade.active) { @@ -1067,7 +1059,7 @@ void SetBattleEndCallbacks(void) else SetLinkStandbyCallback(); - gBattlerControllerFuncs[gActiveBattler] = SetLinkBattleEndCallbacks; + gBattlerControllerFuncs[battler] = SetLinkBattleEndCallbacks; } } else @@ -1080,120 +1072,120 @@ void SetBattleEndCallbacks(void) } } -static void Intro_DelayAndEnd(void) +static void Intro_DelayAndEnd(u32 battler) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) + if (--gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == (u8)-1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - PlayerBufferExecCompleted(); + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; + PlayerBufferExecCompleted(battler); } } -static void Intro_WaitForShinyAnimAndHealthbox(void) +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) { bool8 healthboxAnimDone = FALSE; // Check if healthbox has finished sliding in - if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(battler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; } // If healthbox and shiny anim are done - if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) { // Reset shiny anim (even if it didn't occur) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); - if (TwoPlayerIntroMons(gActiveBattler)) - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], BATTLE_PARTNER(gActiveBattler)); + if (TwoPlayerIntroMons(battler)) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], BATTLE_PARTNER(battler)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } -static void Intro_TryShinyAnimShowHealthbox(void) +static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; bool32 battlerAnimsDone = FALSE; // Start shiny animation if applicable for 1st pokemon - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); // Start shiny animation if applicable for 2nd pokemon - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) - TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(battler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); // Show healthbox after ball anim - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted) { - if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(battler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = TRUE; } // Restore bgm after cry has played and healthbox anim is started - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry + if (!gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry + && gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) m4aMPlayContinue(&gMPlayInfo_BGM); else m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = TRUE; bgmRestored = TRUE; } // Wait for battler anims - if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + if (TwoPlayerIntroMons(battler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } } else { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } @@ -1202,67 +1194,67 @@ static void Intro_TryShinyAnimShowHealthbox(void) // Clean up if (bgmRestored && battlerAnimsDone) { - if (TwoPlayerIntroMons(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); + if (TwoPlayerIntroMons(battler) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); + DestroySprite(&gSprites[gBattleControllerData[battler]]); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; + gBattlerControllerFuncs[battler] = Intro_WaitForShinyAnimAndHealthbox; } } -static void SwitchIn_CleanShinyAnimShowSubstitute(void) +static void SwitchIn_CleanShinyAnimShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBattler); + CopyBattleSpriteInvisibility(battler); // Reset shiny anim (even if it didn't occur) - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); // Check if Substitute should be shown - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_HandleSoundAndEnd; + gBattlerControllerFuncs[battler] = SwitchIn_HandleSoundAndEnd; } } -static void SwitchIn_HandleSoundAndEnd(void) +static void SwitchIn_HandleSoundAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - PlayerBufferExecCompleted(); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + PlayerBufferExecCompleted(battler); } } -static void SwitchIn_TryShinyAnimShowHealthbox(void) +static void SwitchIn_TryShinyAnimShowHealthbox(u32 battler) { // Start shiny animation if applicable - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); // Wait for ball anim, then show healthbox - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_CleanShinyAnimShowSubstitute; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); + gBattlerControllerFuncs[battler] = SwitchIn_CleanShinyAnimShowSubstitute; } } @@ -1436,21 +1428,21 @@ static void Task_SetControllerToWaitForString(u8 taskId) DestroyTask(taskId); } -static void OpenPartyMenuToChooseMon(void) +static void OpenPartyMenuToChooseMon(u32 battler) { if (!gPaletteFade.active) { u8 caseId; - gBattlerControllerFuncs[gActiveBattler] = WaitForMonSelection; - caseId = gTasks[gBattleControllerData[gActiveBattler]].data[0]; - DestroyTask(gBattleControllerData[gActiveBattler]); + gBattlerControllerFuncs[battler] = WaitForMonSelection; + caseId = gTasks[gBattleControllerData[battler]].data[0]; + DestroyTask(gBattleControllerData[battler]); FreeAllWindowBuffers(); OpenPartyMenuInBattle(caseId); } } -static void WaitForMonSelection(void) +static void WaitForMonSelection(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { @@ -1459,34 +1451,34 @@ static void WaitForMonSelection(void) else BtlController_EmitChosenMonReturnValue(BUFFER_B, PARTY_SIZE, NULL); - if ((gBattleResources->bufferA[gActiveBattler][1] & 0xF) == 1) + if ((gBattleResources->bufferA[battler][1] & 0xF) == 1) PrintLinkStandbyMsg(); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void OpenBagAndChooseItem(void) +static void OpenBagAndChooseItem(u32 battler) { if (!gPaletteFade.active) { - gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChoseItem; + gBattlerControllerFuncs[battler] = CompleteWhenChoseItem; ReshowBattleScreenDummy(); FreeAllWindowBuffers(); CB2_BagMenuFromBattle(); } } -static void CompleteWhenChoseItem(void) +static void CompleteWhenChoseItem(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void PlayerHandleYesNoInput(void) +static void PlayerHandleYesNoInput(u32 battler) { if (JOY_NEW(DPAD_UP) && gMultiUsePlayerCursor != 0) { @@ -1512,20 +1504,20 @@ static void PlayerHandleYesNoInput(void) else BtlController_EmitTwoReturnValues(BUFFER_B, 0xD, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } if (JOY_NEW(B_BUTTON)) { HandleBattleWindow(YESNOBOX_X_Y, WINDOW_CLEAR); PlaySE(SE_SELECT); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void MoveSelectionDisplayMoveNames(void) +static void MoveSelectionDisplayMoveNames(u32 battler) { s32 i; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); gNumberOfMovesToChoose = 0; for (i = 0; i < MAX_MON_MOVES; i++) @@ -1539,40 +1531,40 @@ static void MoveSelectionDisplayMoveNames(void) } } -static void MoveSelectionDisplayPpString(void) +static void MoveSelectionDisplayPpString(u32 battler) { StringCopy(gDisplayedStringBattle, gText_MoveInterfacePP); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP); } -static void MoveSelectionDisplayPpNumber(void) +static void MoveSelectionDisplayPpNumber(u32 battler) { u8 *txtPtr; struct ChooseMoveStruct *moveInfo; - if (gBattleResources->bufferA[gActiveBattler][2] == TRUE) // check if we didn't want to display pp number + if (gBattleResources->bufferA[battler][2] == TRUE) // check if we didn't want to display pp number return; SetPpNumbersPaletteInMoveSelection(); - moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); + moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); + txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[battler]], STR_CONV_MODE_RIGHT_ALIGN, 2); *(txtPtr)++ = CHAR_SLASH; - ConvertIntToDecimalStringN(txtPtr, moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]], STR_CONV_MODE_RIGHT_ALIGN, 2); + ConvertIntToDecimalStringN(txtPtr, moveInfo->maxPp[gMoveSelectionCursor[battler]], STR_CONV_MODE_RIGHT_ALIGN, 2); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP_REMAINING); } -static void MoveSelectionDisplayMoveType(void) +static void MoveSelectionDisplayMoveType(u32 battler) { u8 *txtPtr; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); txtPtr = StringCopy(gDisplayedStringBattle, gText_MoveInterfaceType); *(txtPtr)++ = EXT_CTRL_CODE_BEGIN; *(txtPtr)++ = EXT_CTRL_CODE_FONT; *(txtPtr)++ = FONT_NORMAL; - StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]].type]); + StringCopy(txtPtr, gTypeNames[gBattleMoves[moveInfo->moves[gMoveSelectionCursor[battler]]].type]); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE); } @@ -1636,18 +1628,18 @@ static void PrintLinkStandbyMsg(void) } } -static void PlayerHandleLoadMonSprite(void) +static void PlayerHandleLoadMonSprite(u32 battler) { - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler; - gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpritePosX_0; + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler; + gBattlerControllerFuncs[battler] = CompleteOnBattlerSpritePosX_0; } -static void PlayerHandleSwitchInAnim(void) +static void PlayerHandleSwitchInAnim(u32 battler) { - gActionSelectionCursor[gActiveBattler] = 0; - gMoveSelectionCursor[gActiveBattler] = 0; - BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnimShowHealthbox); + gActionSelectionCursor[battler] = 0; + gMoveSelectionCursor[battler] = 0; + BtlController_HandleSwitchInAnim(battler, TRUE, SwitchIn_TryShinyAnimShowHealthbox); } u32 LinkPlayerGetTrainerPicId(u32 multiplayerId) @@ -1682,7 +1674,7 @@ static u32 PlayerGetTrainerBackPicId(void) // In emerald it's possible to have a tag battle in the battle frontier facilities with AI // which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) // that use an animated back pic. -static void PlayerHandleDrawTrainerPic(void) +static void PlayerHandleDrawTrainerPic(u32 battler) { bool32 isFrontPic; s16 xPos, yPos; @@ -1691,7 +1683,7 @@ static void PlayerHandleDrawTrainerPic(void) trainerPicId = PlayerGetTrainerBackPicId(); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != B_FLANK_LEFT) // Second mon, on the right. + if ((GetBattlerPosition(battler) & BIT_FLANK) != B_FLANK_LEFT) // Second mon, on the right. xPos = 90; else // First mon, on the left. xPos = 32; @@ -1724,79 +1716,79 @@ static void PlayerHandleDrawTrainerPic(void) isFrontPic = FALSE; } - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); + BtlController_HandleDrawTrainerPic(battler, trainerPicId, isFrontPic, xPos, yPos, -1); } -static void PlayerHandleTrainerSlide(void) +static void PlayerHandleTrainerSlide(u32 battler) { u32 trainerPicId = PlayerGetTrainerBackPicId(); - BtlController_HandleTrainerSlide(gActiveBattler, trainerPicId); + BtlController_HandleTrainerSlide(battler, trainerPicId); } -static void PlayerHandleTrainerSlideBack(void) +static void PlayerHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 50, TRUE); + BtlController_HandleTrainerSlideBack(battler, 50, TRUE); } -static void PlayerHandlePaletteFade(void) +static void PlayerHandlePaletteFade(u32 battler) { BeginNormalPaletteFade(PALETTES_ALL, 2, 0, 16, RGB_BLACK); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleSuccessBallThrowAnim(void) +static void PlayerHandleSuccessBallThrowAnim(u32 battler) { - BtlController_HandleSuccessBallThrowAnim(gActiveBattler, gBattlerTarget, B_ANIM_BALL_THROW, TRUE); + BtlController_HandleSuccessBallThrowAnim(battler, gBattlerTarget, B_ANIM_BALL_THROW, TRUE); } -static void PlayerHandleBallThrowAnim(void) +static void PlayerHandleBallThrowAnim(u32 battler) { - BtlController_HandleBallThrowAnim(gActiveBattler, gBattlerTarget, B_ANIM_BALL_THROW, TRUE); + BtlController_HandleBallThrowAnim(battler, gBattlerTarget, B_ANIM_BALL_THROW, TRUE); } -static void PlayerHandlePause(void) +static void PlayerHandlePause(u32 battler) { - u8 timer = gBattleResources->bufferA[gActiveBattler][1]; + u8 timer = gBattleResources->bufferA[battler][1]; while (timer != 0) timer--; - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleMoveAnimation(void) +static void PlayerHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, TRUE); + BtlController_HandleMoveAnimation(battler, TRUE); } -static void PlayerHandlePrintString(void) +static void PlayerHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, TRUE, TRUE); + BtlController_HandlePrintString(battler, TRUE, TRUE); } -static void PlayerHandlePrintSelectionString(void) +static void PlayerHandlePrintSelectionString(u32 battler) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - PlayerHandlePrintString(); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + PlayerHandlePrintString(battler); else - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void HandleChooseActionAfterDma3(void) +static void HandleChooseActionAfterDma3(u32 battler) { if (!IsDma3ManagerBusyWithBgCopy()) { gBattle_BG0_X = 0; gBattle_BG0_Y = DISPLAY_HEIGHT; - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseAction; + gBattlerControllerFuncs[battler] = HandleInputChooseAction; } } -static void PlayerHandleChooseAction(void) +static void PlayerHandleChooseAction(u32 battler) { s32 i; - gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; + gBattlerControllerFuncs[battler] = HandleChooseActionAfterDma3; BattleTv_ClearExplosionFaintCause(); BattlePutTextOnWindow(gText_BattleMenu, B_WIN_ACTION_MENU); @@ -1804,155 +1796,155 @@ static void PlayerHandleChooseAction(void) ActionSelectionDestroyCursorAt(i); TryRestoreLastUsedBall(); - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } -static void PlayerHandleYesNoBox(void) +static void PlayerHandleYesNoBox(u32 battler) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { HandleBattleWindow(YESNOBOX_X_Y, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gMultiUsePlayerCursor = 1; BattleCreateYesNoCursorAt(1); - gBattlerControllerFuncs[gActiveBattler] = PlayerHandleYesNoInput; + gBattlerControllerFuncs[battler] = PlayerHandleYesNoInput; } else { - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void HandleChooseMoveAfterDma3(void) +static void HandleChooseMoveAfterDma3(u32 battler) { if (!IsDma3ManagerBusyWithBgCopy()) { gBattle_BG0_X = 0; gBattle_BG0_Y = DISPLAY_HEIGHT * 2; - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseMove; + gBattlerControllerFuncs[battler] = HandleInputChooseMove; } } // arenaMindPoints is used here as a placeholder for a timer. -static void PlayerChooseMoveInBattlePalace(void) +static void PlayerChooseMoveInBattlePalace(u32 battler) { - if (--*(gBattleStruct->arenaMindPoints + gActiveBattler) == 0) + if (--*(gBattleStruct->arenaMindPoints + battler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void PlayerHandleChooseMove(void) +static void PlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - *(gBattleStruct->arenaMindPoints + gActiveBattler) = 8; - gBattlerControllerFuncs[gActiveBattler] = PlayerChooseMoveInBattlePalace; + *(gBattleStruct->arenaMindPoints + battler) = 8; + gBattlerControllerFuncs[battler] = PlayerChooseMoveInBattlePalace; } else { - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); - InitMoveSelectionsVarsAndStrings(); + InitMoveSelectionsVarsAndStrings(battler); gBattleStruct->mega.playerSelect = FALSE; if (!IsMegaTriggerSpriteActive()) gBattleStruct->mega.triggerSpriteId = 0xFF; - if (CanMegaEvolve(gActiveBattler)) - CreateMegaTriggerSprite(gActiveBattler, 0); + if (CanMegaEvolve(battler)) + CreateMegaTriggerSprite(battler, 0); if (!IsZMoveTriggerSpriteActive()) gBattleStruct->zmove.triggerSpriteId = 0xFF; - GetUsableZMoves(gActiveBattler, moveInfo->moves); - gBattleStruct->zmove.viable = IsZMoveUsable(gActiveBattler, gMoveSelectionCursor[gActiveBattler]); - CreateZMoveTriggerSprite(gActiveBattler, gBattleStruct->zmove.viable); - gBattlerControllerFuncs[gActiveBattler] = HandleChooseMoveAfterDma3; + GetUsableZMoves(battler, moveInfo->moves); + gBattleStruct->zmove.viable = IsZMoveUsable(battler, gMoveSelectionCursor[battler]); + CreateZMoveTriggerSprite(battler, gBattleStruct->zmove.viable); + gBattlerControllerFuncs[battler] = HandleChooseMoveAfterDma3; } } -void InitMoveSelectionsVarsAndStrings(void) +void InitMoveSelectionsVarsAndStrings(u32 battler) { - MoveSelectionDisplayMoveNames(); + MoveSelectionDisplayMoveNames(battler); gMultiUsePlayerCursor = 0xFF; - MoveSelectionCreateCursorAt(gMoveSelectionCursor[gActiveBattler], 0); - MoveSelectionDisplayPpString(); - MoveSelectionDisplayPpNumber(); - MoveSelectionDisplayMoveType(); + MoveSelectionCreateCursorAt(gMoveSelectionCursor[battler], 0); + MoveSelectionDisplayPpString(battler); + MoveSelectionDisplayPpNumber(battler); + MoveSelectionDisplayMoveType(battler); } -static void PlayerHandleChooseItem(void) +static void PlayerHandleChooseItem(u32 battler) { s32 i; BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); - gBattlerControllerFuncs[gActiveBattler] = OpenBagAndChooseItem; - gBattlerInMenuId = gActiveBattler; + gBattlerControllerFuncs[battler] = OpenBagAndChooseItem; + gBattlerInMenuId = battler; for (i = 0; i < ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - gBattlePartyCurrentOrder[i] = gBattleResources->bufferA[gActiveBattler][1 + i]; + gBattlePartyCurrentOrder[i] = gBattleResources->bufferA[battler][1 + i]; } -static void PlayerHandleChoosePokemon(void) +static void PlayerHandleChoosePokemon(u32 battler) { s32 i; for (i = 0; i < ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - gBattlePartyCurrentOrder[i] = gBattleResources->bufferA[gActiveBattler][4 + i]; + gBattlePartyCurrentOrder[i] = gBattleResources->bufferA[battler][4 + i]; - if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleResources->bufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH - && (gBattleResources->bufferA[gActiveBattler][1] & 0xF) != PARTY_ACTION_CHOOSE_FAINTED_MON) + if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleResources->bufferA[battler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH + && (gBattleResources->bufferA[battler][1] & 0xF) != PARTY_ACTION_CHOOSE_FAINTED_MON) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, gBattlerPartyIndexes[gActiveBattler] + 1, gBattlePartyCurrentOrder); - PlayerBufferExecCompleted(); + BtlController_EmitChosenMonReturnValue(BUFFER_B, gBattlerPartyIndexes[battler] + 1, gBattlePartyCurrentOrder); + PlayerBufferExecCompleted(battler); } else { - gBattleControllerData[gActiveBattler] = CreateTask(TaskDummy, 0xFF); - gTasks[gBattleControllerData[gActiveBattler]].data[0] = gBattleResources->bufferA[gActiveBattler][1] & 0xF; - *(&gBattleStruct->battlerPreventingSwitchout) = gBattleResources->bufferA[gActiveBattler][1] >> 4; - *(&gBattleStruct->prevSelectedPartySlot) = gBattleResources->bufferA[gActiveBattler][2]; - *(&gBattleStruct->abilityPreventingSwitchout) = (gBattleResources->bufferA[gActiveBattler][3] & 0xFF) | (gBattleResources->bufferA[gActiveBattler][7] << 8); + gBattleControllerData[battler] = CreateTask(TaskDummy, 0xFF); + gTasks[gBattleControllerData[battler]].data[0] = gBattleResources->bufferA[battler][1] & 0xF; + *(&gBattleStruct->battlerPreventingSwitchout) = gBattleResources->bufferA[battler][1] >> 4; + *(&gBattleStruct->prevSelectedPartySlot) = gBattleResources->bufferA[battler][2]; + *(&gBattleStruct->abilityPreventingSwitchout) = (gBattleResources->bufferA[battler][3] & 0xFF) | (gBattleResources->bufferA[battler][7] << 8); BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); - gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon; - gBattlerInMenuId = gActiveBattler; + gBattlerControllerFuncs[battler] = OpenPartyMenuToChooseMon; + gBattlerInMenuId = battler; } } -static void PlayerHandleCmd23(void) +static void PlayerHandleCmd23(u32 battler) { BattleStopLowHpSound(); BeginNormalPaletteFade(PALETTES_ALL, 2, 0, 16, RGB_BLACK); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleHealthBarUpdate(void) +static void PlayerHandleHealthBarUpdate(u32 battler) { - BtlController_HandleHealthBarUpdate(gActiveBattler, TRUE); + BtlController_HandleHealthBarUpdate(battler, TRUE); } -void PlayerHandleExpUpdate(void) +void PlayerHandleExpUpdate(u32 battler) { - u8 monId = gBattleResources->bufferA[gActiveBattler][1]; + u8 monId = gBattleResources->bufferA[battler][1]; s32 taskId, expPointsToGive; if (GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL) >= MAX_LEVEL) { - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } else { LoadBattleBarGfx(1); - expPointsToGive = T1_READ_32(&gBattleResources->bufferA[gActiveBattler][2]); + expPointsToGive = T1_READ_32(&gBattleResources->bufferA[battler][2]); taskId = CreateTask(Task_GiveExpToMon, 10); gTasks[taskId].tExpTask_monId = monId; gTasks[taskId].tExpTask_gainedExp_1 = expPointsToGive; gTasks[taskId].tExpTask_gainedExp_2 = expPointsToGive >> 16; - gTasks[taskId].tExpTask_battler = gActiveBattler; - gBattlerControllerFuncs[gActiveBattler] = BattleControllerDummy; + gTasks[taskId].tExpTask_battler = battler; + gBattlerControllerFuncs[battler] = BattleControllerDummy; } } @@ -1962,23 +1954,23 @@ void PlayerHandleExpUpdate(void) #undef tExpTask_gainedExp_2 #undef tExpTask_frames -static void PlayerHandleStatusXor(void) +static void PlayerHandleStatusXor(u32 battler) { - u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS) ^ gBattleResources->bufferA[gActiveBattler][1]; + u8 val = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS) ^ gBattleResources->bufferA[battler][1]; - SetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS, &val); - PlayerBufferExecCompleted(); + SetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS, &val); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleDMA3Transfer(void) +static void PlayerHandleDMA3Transfer(u32 battler) { - u32 dstArg = gBattleResources->bufferA[gActiveBattler][1] - | (gBattleResources->bufferA[gActiveBattler][2] << 8) - | (gBattleResources->bufferA[gActiveBattler][3] << 16) - | (gBattleResources->bufferA[gActiveBattler][4] << 24); - u16 sizeArg = gBattleResources->bufferA[gActiveBattler][5] | (gBattleResources->bufferA[gActiveBattler][6] << 8); + u32 dstArg = gBattleResources->bufferA[battler][1] + | (gBattleResources->bufferA[battler][2] << 8) + | (gBattleResources->bufferA[battler][3] << 16) + | (gBattleResources->bufferA[battler][4] << 24); + u16 sizeArg = gBattleResources->bufferA[battler][5] | (gBattleResources->bufferA[battler][6] << 8); - const u8 *src = &gBattleResources->bufferA[gActiveBattler][7]; + const u8 *src = &gBattleResources->bufferA[battler][7]; u8 *dst = (u8 *)(dstArg); u32 size = sizeArg; @@ -1994,121 +1986,121 @@ static void PlayerHandleDMA3Transfer(void) dst += 0x1000; size -= 0x1000; } - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandlePlayBGM(void) +static void PlayerHandlePlayBGM(u32 battler) { - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - PlayerBufferExecCompleted(); + PlayBGM(gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8)); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleTwoReturnValues(void) +static void PlayerHandleTwoReturnValues(u32 battler) { BtlController_EmitTwoReturnValues(BUFFER_B, 0, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleChosenMonReturnValue(void) +static void PlayerHandleChosenMonReturnValue(u32 battler) { BtlController_EmitChosenMonReturnValue(BUFFER_B, 0, NULL); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleOneReturnValue(void) +static void PlayerHandleOneReturnValue(u32 battler) { BtlController_EmitOneReturnValue(BUFFER_B, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleOneReturnValue_Duplicate(void) +static void PlayerHandleOneReturnValue_Duplicate(u32 battler) { BtlController_EmitOneReturnValue_Duplicate(BUFFER_B, 0); - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleIntroTrainerBallThrow(void) +static void PlayerHandleIntroTrainerBallThrow(u32 battler) { const u32 *trainerPal = gTrainerBackPicPaletteTable[gSaveBlock2Ptr->playerGender].data; - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); } -static void PlayerHandleDrawPartyStatusSummary(void) +static void PlayerHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_PLAYER, TRUE); } -static void PlayerHandleEndBounceEffect(void) +static void PlayerHandleEndBounceEffect(u32 battler) { - EndBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX); - EndBounceEffect(gActiveBattler, BOUNCE_MON); - PlayerBufferExecCompleted(); + EndBounceEffect(battler, BOUNCE_HEALTHBOX); + EndBounceEffect(battler, BOUNCE_MON); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleBattleAnimation(void) +static void PlayerHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, TRUE); + BtlController_HandleBattleAnimation(battler, FALSE, TRUE); } -static void PlayerHandleLinkStandbyMsg(void) +static void PlayerHandleLinkStandbyMsg(u32 battler) { - RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][2]); - switch (gBattleResources->bufferA[gActiveBattler][1]) + RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[battler][2]); + switch (gBattleResources->bufferA[battler][1]) { case LINK_STANDBY_MSG_STOP_BOUNCE: PrintLinkStandbyMsg(); // fall through case LINK_STANDBY_STOP_BOUNCE_ONLY: - EndBounceEffect(gActiveBattler, BOUNCE_HEALTHBOX); - EndBounceEffect(gActiveBattler, BOUNCE_MON); + EndBounceEffect(battler, BOUNCE_HEALTHBOX); + EndBounceEffect(battler, BOUNCE_MON); break; case LINK_STANDBY_MSG_ONLY: PrintLinkStandbyMsg(); break; } - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleResetActionMoveSelection(void) +static void PlayerHandleResetActionMoveSelection(u32 battler) { - switch (gBattleResources->bufferA[gActiveBattler][1]) + switch (gBattleResources->bufferA[battler][1]) { case RESET_ACTION_MOVE_SELECTION: - gActionSelectionCursor[gActiveBattler] = 0; - gMoveSelectionCursor[gActiveBattler] = 0; + gActionSelectionCursor[battler] = 0; + gMoveSelectionCursor[battler] = 0; break; case RESET_ACTION_SELECTION: - gActionSelectionCursor[gActiveBattler] = 0; + gActionSelectionCursor[battler] = 0; break; case RESET_MOVE_SELECTION: - gMoveSelectionCursor[gActiveBattler] = 0; + gMoveSelectionCursor[battler] = 0; break; } - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } -static void PlayerHandleEndLinkBattle(void) +static void PlayerHandleEndLinkBattle(u32 battler) { - RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[gActiveBattler][4]); - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; - gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleResources->bufferA[gActiveBattler][2]; + RecordedBattle_RecordAllBattlerData(&gBattleResources->bufferA[battler][4]); + gBattleOutcome = gBattleResources->bufferA[battler][1]; + gSaveBlock2Ptr->frontier.disableRecordBattle = gBattleResources->bufferA[battler][2]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - PlayerBufferExecCompleted(); - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + PlayerBufferExecCompleted(battler); + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } -static void Controller_WaitForDebug(void) +static void Controller_WaitForDebug(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - PlayerBufferExecCompleted(); + PlayerBufferExecCompleted(battler); } } -static void PlayerHandleBattleDebug(void) +static void PlayerHandleBattleDebug(u32 battler) { BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); SetMainCallback2(CB2_BattleDebugMenu); - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForDebug; + gBattlerControllerFuncs[battler] = Controller_WaitForDebug; } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index da7508cc4c..3ad0939094 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -31,31 +31,26 @@ #include "constants/party_menu.h" #include "constants/trainers.h" -static void PlayerPartnerHandleLoadMonSprite(void); -static void PlayerPartnerHandleSwitchInAnim(void); -static void PlayerPartnerHandleDrawTrainerPic(void); -static void PlayerPartnerHandleTrainerSlideBack(void); -static void PlayerPartnerHandleMoveAnimation(void); -static void PlayerPartnerHandlePrintString(void); -static void PlayerPartnerHandleChooseAction(void); -static void PlayerPartnerHandleChooseMove(void); -static void PlayerPartnerHandleChoosePokemon(void); -static void PlayerPartnerHandleHealthBarUpdate(void); -static void PlayerPartnerHandleIntroTrainerBallThrow(void); -static void PlayerPartnerHandleDrawPartyStatusSummary(void); -static void PlayerPartnerHandleBattleAnimation(void); -static void PlayerPartnerHandleEndLinkBattle(void); +static void PlayerPartnerHandleLoadMonSprite(u32 battler); +static void PlayerPartnerHandleSwitchInAnim(u32 battler); +static void PlayerPartnerHandleDrawTrainerPic(u32 battler); +static void PlayerPartnerHandleTrainerSlideBack(u32 battler); +static void PlayerPartnerHandleMoveAnimation(u32 battler); +static void PlayerPartnerHandlePrintString(u32 battler); +static void PlayerPartnerHandleChooseAction(u32 battler); +static void PlayerPartnerHandleChooseMove(u32 battler); +static void PlayerPartnerHandleChoosePokemon(u32 battler); +static void PlayerPartnerHandleHealthBarUpdate(u32 battler); +static void PlayerPartnerHandleIntroTrainerBallThrow(u32 battler); +static void PlayerPartnerHandleDrawPartyStatusSummary(u32 battler); +static void PlayerPartnerHandleBattleAnimation(u32 battler); +static void PlayerPartnerHandleEndLinkBattle(u32 battler); -static void PlayerPartnerBufferRunCommand(void); -static void PlayerPartnerBufferExecCompleted(void); -static void Task_LaunchLvlUpAnim(u8 taskId); -static void DestroyExpTaskAndCompleteOnInactiveTextPrinter(u8 taskId); -static void Task_PrepareToGiveExpWithExpBar(u8 taskId); -static void Task_GiveExpWithExpBar(u8 taskId); -static void Task_UpdateLvlInHealthbox(u8 taskId); -static void SwitchIn_WaitAndEnd(void); +static void PlayerPartnerBufferRunCommand(u32 battler); +static void PlayerPartnerBufferExecCompleted(u32 battler); +static void SwitchIn_WaitAndEnd(u32 battler); -static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, @@ -117,45 +112,45 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToPlayerPartner(void) +void SetControllerToPlayerPartner(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = PlayerPartnerBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerBufferRunCommand; + gBattlerControllerEndFuncs[battler] = PlayerPartnerBufferExecCompleted; + gBattlerControllerFuncs[battler] = PlayerPartnerBufferRunCommand; } -static void PlayerPartnerBufferRunCommand(void) +static void PlayerPartnerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sPlayerPartnerBufferCommands)) - sPlayerPartnerBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sPlayerPartnerBufferCommands)) + sPlayerPartnerBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - PlayerPartnerBufferExecCompleted(); + PlayerPartnerBufferExecCompleted(battler); } } -static void Intro_DelayAndEnd(void) +static void Intro_DelayAndEnd(u32 battler) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) + if (--gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == (u8)-1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - BattleControllerComplete(gActiveBattler); + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; + BattleControllerComplete(battler); } } -static void Intro_WaitForHealthbox(void) +static void Intro_WaitForHealthbox(u32 battler) { bool32 finished = FALSE; if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) finished = TRUE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { finished = TRUE; } @@ -166,135 +161,135 @@ static void Intro_WaitForHealthbox(void) if (finished) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } // Also used by the link partner. -void Controller_PlayerPartnerShowIntroHealthbox(void) +void Controller_PlayerPartnerShowIntroHealthbox(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive - && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && ++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay != 1) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive + && gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && ++gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay != 1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + DestroySprite(&gSprites[gBattleControllerData[battler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForHealthbox; + gBattlerControllerFuncs[battler] = Intro_WaitForHealthbox; } } -static void WaitForMonAnimAfterLoad(void) +static void WaitForMonAnimAfterLoad(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) - PlayerPartnerBufferExecCompleted(); + if (gSprites[gBattlerSpriteIds[battler]].animEnded && gSprites[gBattlerSpriteIds[battler]].x2 == 0) + PlayerPartnerBufferExecCompleted(battler); } -static void SwitchIn_ShowSubstitute(void) +static void SwitchIn_ShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBattler); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + CopyBattleSpriteInvisibility(battler); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_WaitAndEnd; + gBattlerControllerFuncs[battler] = SwitchIn_WaitAndEnd; } } -static void SwitchIn_WaitAndEnd(void) +static void SwitchIn_WaitAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - PlayerPartnerBufferExecCompleted(); + PlayerPartnerBufferExecCompleted(battler); } } -static void SwitchIn_ShowHealthbox(void) +static void SwitchIn_ShowHealthbox(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); CreateTask(Task_PlayerController_RestoreBgmAfterCry, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowSubstitute; + gBattlerControllerFuncs[battler] = SwitchIn_ShowSubstitute; } } -static void SwitchIn_TryShinyAnim(void) +static void SwitchIn_TryShinyAnim(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); } - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowHealthbox; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + gBattlerControllerFuncs[battler] = SwitchIn_ShowHealthbox; } } -static void PlayerPartnerBufferExecCompleted(void) +static void PlayerPartnerBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = PlayerPartnerBufferRunCommand; + gBattlerControllerFuncs[battler] = PlayerPartnerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void PlayerPartnerHandleLoadMonSprite(void) +static void PlayerPartnerHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); + BtlController_HandleLoadMonSprite(battler, gPlayerParty, WaitForMonAnimAfterLoad); } -static void PlayerPartnerHandleSwitchInAnim(void) +static void PlayerPartnerHandleSwitchInAnim(u32 battler) { - BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); + BtlController_HandleSwitchInAnim(battler, TRUE, SwitchIn_TryShinyAnim); } // some explanation here // in emerald it's possible to have a tag battle in the battle frontier facilities with AI // which use the front sprite for both the player and the partner as opposed to any other battles (including the one with Steven) that use the back pic as well as animate it -static void PlayerPartnerHandleDrawTrainerPic(void) +static void PlayerPartnerHandleDrawTrainerPic(u32 battler) { bool32 isFrontPic; s16 xPos, yPos; @@ -325,40 +320,40 @@ static void PlayerPartnerHandleDrawTrainerPic(void) else isFrontPic = TRUE; - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); + BtlController_HandleDrawTrainerPic(battler, trainerPicId, isFrontPic, xPos, yPos, -1); } -static void PlayerPartnerHandleTrainerSlideBack(void) +static void PlayerPartnerHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); + BtlController_HandleTrainerSlideBack(battler, 35, FALSE); } -static void PlayerPartnerHandleMoveAnimation(void) +static void PlayerPartnerHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, FALSE); + BtlController_HandleMoveAnimation(battler, FALSE); } -static void PlayerPartnerHandlePrintString(void) +static void PlayerPartnerHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, FALSE, FALSE); + BtlController_HandlePrintString(battler, FALSE, FALSE); } -static void PlayerPartnerHandleChooseAction(void) +static void PlayerPartnerHandleChooseAction(u32 battler) { AI_TrySwitchOrUseItem(); - PlayerPartnerBufferExecCompleted(); + PlayerPartnerBufferExecCompleted(battler); } -static void PlayerPartnerHandleChooseMove(void) +static void PlayerPartnerHandleChooseMove(u32 battler) { u8 chosenMoveId; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); - chosenMoveId = gBattleStruct->aiMoveOrAction[gActiveBattler]; - gBattlerTarget = gBattleStruct->aiChosenTarget[gActiveBattler]; + chosenMoveId = gBattleStruct->aiMoveOrAction[battler]; + gBattlerTarget = gBattleStruct->aiChosenTarget[battler]; if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) - gBattlerTarget = gActiveBattler; + gBattlerTarget = battler; if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) { gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -366,25 +361,25 @@ static void PlayerPartnerHandleChooseMove(void) gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); } - if (ShouldUseZMove(gActiveBattler, gBattlerTarget, moveInfo->moves[chosenMoveId])) - QueueZMove(gActiveBattler, moveInfo->moves[chosenMoveId]); + if (ShouldUseZMove(battler, gBattlerTarget, moveInfo->moves[chosenMoveId])) + QueueZMove(battler, moveInfo->moves[chosenMoveId]); // If partner can mega evolve, do it. - if (CanMegaEvolve(gActiveBattler)) + if (CanMegaEvolve(battler)) BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); - PlayerPartnerBufferExecCompleted(); + PlayerPartnerBufferExecCompleted(battler); } -static void PlayerPartnerHandleChoosePokemon(void) +static void PlayerPartnerHandleChoosePokemon(u32 battler) { s32 chosenMonId; // Choosing Revival Blessing target - if ((gBattleResources->bufferA[gActiveBattler][1] & 0xF) == PARTY_ACTION_CHOOSE_FAINTED_MON) + if ((gBattleResources->bufferA[battler][1] & 0xF) == PARTY_ACTION_CHOOSE_FAINTED_MON) { - chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(gActiveBattler); + chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(battler); } // Switching out else @@ -405,18 +400,18 @@ static void PlayerPartnerHandleChoosePokemon(void) } } } - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; + *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; } BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); - PlayerPartnerBufferExecCompleted(); + PlayerPartnerBufferExecCompleted(battler); } -static void PlayerPartnerHandleHealthBarUpdate(void) +static void PlayerPartnerHandleHealthBarUpdate(u32 battler) { - BtlController_HandleHealthBarUpdate(gActiveBattler, FALSE); + BtlController_HandleHealthBarUpdate(battler, FALSE); } -static void PlayerPartnerHandleIntroTrainerBallThrow(void) +static void PlayerPartnerHandleIntroTrainerBallThrow(u32 battler) { const u32 *trainerPal; @@ -427,24 +422,24 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) else trainerPal = gTrainerFrontPicPaletteTable[GetFrontierTrainerFrontSpriteId(gPartnerTrainerId)].data; // 2 vs 2 multi battle in Battle Frontier, load front sprite and pal. - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F9, trainerPal, 24, Controller_PlayerPartnerShowIntroHealthbox); } -static void PlayerPartnerHandleDrawPartyStatusSummary(void) +static void PlayerPartnerHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_PLAYER, TRUE); } -static void PlayerPartnerHandleBattleAnimation(void) +static void PlayerPartnerHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); + BtlController_HandleBattleAnimation(battler, FALSE, FALSE); } -static void PlayerPartnerHandleEndLinkBattle(void) +static void PlayerPartnerHandleEndLinkBattle(u32 battler) { - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; + gBattleOutcome = gBattleResources->bufferA[battler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - PlayerPartnerBufferExecCompleted(); - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + PlayerPartnerBufferExecCompleted(battler); + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 6dac18df0b..611ca630ff 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -32,29 +32,29 @@ #include "constants/songs.h" #include "constants/trainers.h" -static void RecordedOpponentHandleLoadMonSprite(void); -static void RecordedOpponentHandleSwitchInAnim(void); -static void RecordedOpponentHandleDrawTrainerPic(void); -static void RecordedOpponentHandleTrainerSlideBack(void); -static void RecordedOpponentHandleMoveAnimation(void); -static void RecordedOpponentHandlePrintString(void); -static void RecordedOpponentHandleChooseAction(void); -static void RecordedOpponentHandleChooseMove(void); -static void RecordedOpponentHandleChooseItem(void); -static void RecordedOpponentHandleChoosePokemon(void); -static void RecordedOpponentHandleHealthBarUpdate(void); -static void RecordedOpponentHandleStatusIconUpdate(void); -static void RecordedOpponentHandleStatusAnimation(void); -static void RecordedOpponentHandleIntroTrainerBallThrow(void); -static void RecordedOpponentHandleDrawPartyStatusSummary(void); -static void RecordedOpponentHandleBattleAnimation(void); -static void RecordedOpponentHandleEndLinkBattle(void); +static void RecordedOpponentHandleLoadMonSprite(u32 battler); +static void RecordedOpponentHandleSwitchInAnim(u32 battler); +static void RecordedOpponentHandleDrawTrainerPic(u32 battler); +static void RecordedOpponentHandleTrainerSlideBack(u32 battler); +static void RecordedOpponentHandleMoveAnimation(u32 battler); +static void RecordedOpponentHandlePrintString(u32 battler); +static void RecordedOpponentHandleChooseAction(u32 battler); +static void RecordedOpponentHandleChooseMove(u32 battler); +static void RecordedOpponentHandleChooseItem(u32 battler); +static void RecordedOpponentHandleChoosePokemon(u32 battler); +static void RecordedOpponentHandleHealthBarUpdate(u32 battler); +static void RecordedOpponentHandleStatusIconUpdate(u32 battler); +static void RecordedOpponentHandleStatusAnimation(u32 battler); +static void RecordedOpponentHandleIntroTrainerBallThrow(u32 battler); +static void RecordedOpponentHandleDrawPartyStatusSummary(u32 battler); +static void RecordedOpponentHandleBattleAnimation(u32 battler); +static void RecordedOpponentHandleEndLinkBattle(u32 battler); -static void RecordedOpponentBufferRunCommand(void); -static void RecordedOpponentBufferExecCompleted(void); -static void SwitchIn_HandleSoundAndEnd(void); +static void RecordedOpponentBufferRunCommand(u32 battler); +static void RecordedOpponentBufferExecCompleted(u32 battler); +static void SwitchIn_HandleSoundAndEnd(u32 battler); -static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, @@ -116,120 +116,130 @@ static void (*const sRecordedOpponentBufferCommands[CONTROLLER_CMDS_COUNT])(void [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToRecordedOpponent(void) +void SetControllerToRecordedOpponent(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = RecordedOpponentBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; + gBattlerControllerEndFuncs[battler] = RecordedOpponentBufferExecCompleted; + gBattlerControllerFuncs[battler] = RecordedOpponentBufferRunCommand; } -static void RecordedOpponentBufferRunCommand(void) +static void RecordedOpponentBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sRecordedOpponentBufferCommands)) - sRecordedOpponentBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sRecordedOpponentBufferCommands)) + sRecordedOpponentBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - RecordedOpponentBufferExecCompleted(); + RecordedOpponentBufferExecCompleted(battler); } } -static void CompleteOnBankSpriteCallbackDummy2(void) +static void RecordedOpponentBufferExecCompleted(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - RecordedOpponentBufferExecCompleted(); -} - -static void Intro_DelayAndEnd(void) -{ - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) + gBattlerControllerFuncs[battler] = RecordedOpponentBufferRunCommand; + if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - RecordedOpponentBufferExecCompleted(); + u8 playerId = GetMultiplayerId(); + + PrepareBufferDataTransferLink(2, 4, &playerId); + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; + } + else + { + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void Intro_WaitForShinyAnimAndHealthbox(void) +static void Intro_DelayAndEnd(u32 battler) +{ + if (--gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == (u8)-1) + { + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; + RecordedOpponentBufferExecCompleted(battler); + } +} + +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) { bool8 healthboxAnimDone = FALSE; if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].animEnded) healthboxAnimDone = TRUE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].animEnded) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].animEnded + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].animEnded) healthboxAnimDone = TRUE; } if (healthboxAnimDone) { - if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_LEFT) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) return; - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) return; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } -static void Intro_TryShinyAnimShowHealthbox(void) +static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; bool32 battlerAnimsDone = FALSE; - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) - TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(battler), &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = TRUE; } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry - && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry + if (!gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry + && gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI && gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (GetBattlerPosition(gActiveBattler) == B_POSITION_OPPONENT_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_LEFT) m4aMPlayContinue(&gMPlayInfo_BGM); } else @@ -237,24 +247,24 @@ static void Intro_TryShinyAnimShowHealthbox(void) m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = TRUE; bgmRestored = TRUE; } if (!IsDoubleBattle()) { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } } else { - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { battlerAnimsDone = TRUE; } @@ -264,146 +274,130 @@ static void Intro_TryShinyAnimShowHealthbox(void) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(gActiveBattler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); + SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); } - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + DestroySprite(&gSprites[gBattleControllerData[battler]]); + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; + gBattlerControllerFuncs[battler] = Intro_WaitForShinyAnimAndHealthbox; } } -static void TryShinyAnimAfterMonAnim(void) +static void TryShinyAnimAfterMonAnim(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].x2 == 0) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim) { - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); } else { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - RecordedOpponentBufferExecCompleted(); + RecordedOpponentBufferExecCompleted(battler); } } } } -static void SwitchIn_ShowSubstitute(void) +static void SwitchIn_ShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) { - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_HandleSoundAndEnd; + gBattlerControllerFuncs[battler] = SwitchIn_HandleSoundAndEnd; } } -static void SwitchIn_HandleSoundAndEnd(void) +static void SwitchIn_HandleSoundAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive && !IsCryPlayingOrClearCrySongs()) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - || gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy_2) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + || gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy_2) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); - RecordedOpponentBufferExecCompleted(); + RecordedOpponentBufferExecCompleted(battler); } } } -static void SwitchIn_ShowHealthbox(void) +static void SwitchIn_ShowHealthbox(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - CopyBattleSpriteInvisibility(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowSubstitute; + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gEnemyParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); + CopyBattleSpriteInvisibility(battler); + gBattlerControllerFuncs[battler] = SwitchIn_ShowSubstitute; } } -static void SwitchIn_TryShinyAnim(void) +static void SwitchIn_TryShinyAnim(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim) - TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim) + TryShinyAnimation(battler, &gEnemyParty[gBattlerPartyIndexes[battler]]); - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - SetBattlerShadowSpriteCallback(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowHealthbox; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + gBattlerControllerFuncs[battler] = SwitchIn_ShowHealthbox; } } -static void RecordedOpponentBufferExecCompleted(void) +static void RecordedOpponentHandleLoadMonSprite(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = RecordedOpponentBufferRunCommand; - if (gBattleTypeFlags & BATTLE_TYPE_LINK) - { - u8 playerId = GetMultiplayerId(); - - PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; - } - else - { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; - } + BtlController_HandleLoadMonSprite(battler, gEnemyParty, TryShinyAnimAfterMonAnim); } -static void RecordedOpponentHandleLoadMonSprite(void) +static void RecordedOpponentHandleSwitchInAnim(u32 battler) { - BtlController_HandleLoadMonSprite(gActiveBattler, gEnemyParty, TryShinyAnimAfterMonAnim); + BtlController_HandleSwitchInAnim(battler, FALSE, SwitchIn_TryShinyAnim); } -static void RecordedOpponentHandleSwitchInAnim(void) -{ - BtlController_HandleSwitchInAnim(gActiveBattler, FALSE, SwitchIn_TryShinyAnim); -} - -static void RecordedOpponentHandleDrawTrainerPic(void) +static void RecordedOpponentHandleDrawTrainerPic(u32 battler) { s16 xPos; u32 trainerPicId; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon + if ((GetBattlerPosition(battler) & BIT_FLANK) != 0) // second mon xPos = 152; else // first mon xPos = 200; if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER) { - if (gActiveBattler == 1) + if (battler == B_POSITION_OPPONENT_LEFT) trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_A); else trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B); @@ -426,28 +420,28 @@ static void RecordedOpponentHandleDrawTrainerPic(void) } } - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, TRUE, + BtlController_HandleDrawTrainerPic(battler, trainerPicId, TRUE, xPos, 40 + 4 * (8 - gTrainerFrontPicCoords[trainerPicId].size), -1); } -static void RecordedOpponentHandleTrainerSlideBack(void) +static void RecordedOpponentHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); + BtlController_HandleTrainerSlideBack(battler, 35, FALSE); } -static void RecordedOpponentHandleMoveAnimation(void) +static void RecordedOpponentHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, FALSE); + BtlController_HandleMoveAnimation(battler, FALSE); } -static void RecordedOpponentHandlePrintString(void) +static void RecordedOpponentHandlePrintString(u32 battler) { u16 *stringId; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleResources->bufferA[battler][2]); BufferStringBattle(*stringId); if (gTestRunnerEnabled) @@ -455,22 +449,22 @@ static void RecordedOpponentHandlePrintString(void) TestRunner_Battle_RecordMessage(gDisplayedStringBattle); if (gTestRunnerHeadless) { - RecordedOpponentBufferExecCompleted(); + RecordedOpponentBufferExecCompleted(battler); return; } } BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForString; + gBattlerControllerFuncs[battler] = Controller_WaitForString; } -static void RecordedOpponentHandleChooseAction(void) +static void RecordedOpponentHandleChooseAction(u32 battler) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, gActiveBattler), 0); - RecordedOpponentBufferExecCompleted(); + BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); + RecordedOpponentBufferExecCompleted(battler); } -static void RecordedOpponentHandleChooseMove(void) +static void RecordedOpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { @@ -478,97 +472,97 @@ static void RecordedOpponentHandleChooseMove(void) } else { - u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, gActiveBattler); - u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, gActiveBattler); + u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); + u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, battler); BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); } - RecordedOpponentBufferExecCompleted(); + RecordedOpponentBufferExecCompleted(battler); } -static void RecordedOpponentHandleChooseItem(void) +static void RecordedOpponentHandleChooseItem(u32 battler) { - u8 byte1 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, gActiveBattler); - u8 byte2 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, gActiveBattler); - gBattleStruct->chosenItem[gActiveBattler] = (byte1 << 8) | byte2; - gBattleStruct->itemPartyIndex[gActiveBattler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, gActiveBattler); - gBattleStruct->itemMoveIndex[gActiveBattler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, gActiveBattler); - BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[gActiveBattler]); - RecordedOpponentBufferExecCompleted(); + u8 byte1 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, battler); + u8 byte2 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, battler); + gBattleStruct->chosenItem[battler] = (byte1 << 8) | byte2; + gBattleStruct->itemPartyIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, battler); + gBattleStruct->itemMoveIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, battler); + BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[battler]); + RecordedOpponentBufferExecCompleted(battler); } -static void RecordedOpponentHandleChoosePokemon(void) +static void RecordedOpponentHandleChoosePokemon(u32 battler) { - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, gActiveBattler); - gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[gActiveBattler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); - RecordedOpponentBufferExecCompleted(); + *(gBattleStruct->monToSwitchIntoId + battler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); + gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing + BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); + RecordedOpponentBufferExecCompleted(battler); } -static void RecordedOpponentHandleHealthBarUpdate(void) +static void RecordedOpponentHandleHealthBarUpdate(u32 battler) { s16 hpVal; s32 maxHP, curHP; LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); + hpVal = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8); - maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); + maxHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_MAX_HP); + curHP = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP); if (hpVal != INSTANT_HP_BAR_DROP) { - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - TestRunner_Battle_RecordHP(gActiveBattler, curHP, min(maxHP, max(0, curHP - hpVal))); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], maxHP, curHP, hpVal); + TestRunner_Battle_RecordHP(battler, curHP, min(maxHP, max(0, curHP - hpVal))); } else { - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - TestRunner_Battle_RecordHP(gActiveBattler, curHP, 0); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], maxHP, 0, hpVal); + TestRunner_Battle_RecordHP(battler, curHP, 0); } - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForHealthBar; + gBattlerControllerFuncs[battler] = Controller_WaitForHealthBar; } -static void RecordedOpponentHandleStatusIconUpdate(void) +static void RecordedOpponentHandleStatusIconUpdate(u32 battler) { - if (!IsBattleSEPlaying(gActiveBattler)) + if (!IsBattleSEPlaying(battler)) { - DoStatusIconUpdate(gActiveBattler); + DoStatusIconUpdate(battler); if (gTestRunnerEnabled) - TestRunner_Battle_RecordStatus1(gActiveBattler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS)); + TestRunner_Battle_RecordStatus1(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS)); } } -static void RecordedOpponentHandleStatusAnimation(void) +static void RecordedOpponentHandleStatusAnimation(u32 battler) { - BtlController_HandleStatusAnimation(); + BtlController_HandleStatusAnimation(battler); } -static void RecordedOpponentHandleIntroTrainerBallThrow(void) +static void RecordedOpponentHandleIntroTrainerBallThrow(u32 battler) { - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0, NULL, 0, Intro_TryShinyAnimShowHealthbox); } -static void RecordedOpponentHandleDrawPartyStatusSummary(void) +static void RecordedOpponentHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_OPPONENT, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_OPPONENT, TRUE); } -static void RecordedOpponentHandleBattleAnimation(void) +static void RecordedOpponentHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); + BtlController_HandleBattleAnimation(battler, FALSE, FALSE); } -static void RecordedOpponentHandleEndLinkBattle(void) +static void RecordedOpponentHandleEndLinkBattle(u32 battler) { - if (gBattleResources->bufferA[gActiveBattler][1] == B_OUTCOME_DREW) - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; + if (gBattleResources->bufferA[battler][1] == B_OUTCOME_DREW) + gBattleOutcome = gBattleResources->bufferA[battler][1]; else - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1] ^ B_OUTCOME_DREW; + gBattleOutcome = gBattleResources->bufferA[battler][1] ^ B_OUTCOME_DREW; FadeOutMapMusic(5); BeginFastPaletteFade(3); - RecordedOpponentBufferExecCompleted(); - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + RecordedOpponentBufferExecCompleted(battler); + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index a3fb6891e3..dd2abe87ff 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -29,29 +29,29 @@ #include "constants/songs.h" #include "constants/trainers.h" -static void RecordedPlayerHandleLoadMonSprite(void); -static void RecordedPlayerHandleSwitchInAnim(void); -static void RecordedPlayerHandleDrawTrainerPic(void); -static void RecordedPlayerHandleTrainerSlideBack(void); -static void RecordedPlayerHandleMoveAnimation(void); -static void RecordedPlayerHandlePrintString(void); -static void RecordedPlayerHandleChooseAction(void); -static void RecordedPlayerHandleChooseMove(void); -static void RecordedPlayerHandleChooseItem(void); -static void RecordedPlayerHandleChoosePokemon(void); -static void RecordedPlayerHandleHealthBarUpdate(void); -static void RecordedPlayerHandleStatusIconUpdate(void); -static void RecordedPlayerHandleStatusAnimation(void); -static void RecordedPlayerHandleIntroTrainerBallThrow(void); -static void RecordedPlayerHandleDrawPartyStatusSummary(void); -static void RecordedPlayerHandleBattleAnimation(void); -static void RecordedPlayerHandleEndLinkBattle(void); +static void RecordedPlayerHandleLoadMonSprite(u32 battler); +static void RecordedPlayerHandleSwitchInAnim(u32 battler); +static void RecordedPlayerHandleDrawTrainerPic(u32 battler); +static void RecordedPlayerHandleTrainerSlideBack(u32 battler); +static void RecordedPlayerHandleMoveAnimation(u32 battler); +static void RecordedPlayerHandlePrintString(u32 battler); +static void RecordedPlayerHandleChooseAction(u32 battler); +static void RecordedPlayerHandleChooseMove(u32 battler); +static void RecordedPlayerHandleChooseItem(u32 battler); +static void RecordedPlayerHandleChoosePokemon(u32 battler); +static void RecordedPlayerHandleHealthBarUpdate(u32 battler); +static void RecordedPlayerHandleStatusIconUpdate(u32 battler); +static void RecordedPlayerHandleStatusAnimation(u32 battler); +static void RecordedPlayerHandleIntroTrainerBallThrow(u32 battler); +static void RecordedPlayerHandleDrawPartyStatusSummary(u32 battler); +static void RecordedPlayerHandleBattleAnimation(u32 battler); +static void RecordedPlayerHandleEndLinkBattle(u32 battler); -static void RecordedPlayerBufferRunCommand(void); -static void RecordedPlayerBufferExecCompleted(void); -static void SwitchIn_WaitAndEnd(void); +static void RecordedPlayerBufferRunCommand(u32 battler); +static void RecordedPlayerBufferExecCompleted(u32 battler); +static void SwitchIn_WaitAndEnd(u32 battler); -static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, @@ -113,83 +113,83 @@ static void (*const sRecordedPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToRecordedPlayer(void) +void SetControllerToRecordedPlayer(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = RecordedPlayerBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerBufferRunCommand; + gBattlerControllerEndFuncs[battler] = RecordedPlayerBufferExecCompleted; + gBattlerControllerFuncs[battler] = RecordedPlayerBufferRunCommand; } -static void RecordedPlayerBufferRunCommand(void) +static void RecordedPlayerBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sRecordedPlayerBufferCommands)) - sRecordedPlayerBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sRecordedPlayerBufferCommands)) + sRecordedPlayerBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - RecordedPlayerBufferExecCompleted(); + RecordedPlayerBufferExecCompleted(battler); } } -static void Intro_DelayAndEnd(void) +static void Intro_DelayAndEnd(u32 battler) { - if (--gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay == (u8)-1) + if (--gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay == (u8)-1) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 0; - RecordedPlayerBufferExecCompleted(); + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 0; + RecordedPlayerBufferExecCompleted(battler); } } -static void Intro_WaitForShinyAnimAndHealthbox(void) +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) { bool32 healthboxAnimDone = FALSE; - if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT) { if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { healthboxAnimDone = TRUE; } } - if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); if (IsDoubleBattle()) - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], BATTLE_PARTNER(gActiveBattler)); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], BATTLE_PARTNER(battler)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } else { if (!IsDoubleBattle() || (IsDoubleBattle() && (gBattleTypeFlags & BATTLE_TYPE_MULTI))) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; } else { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gHealthboxSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { healthboxAnimDone = TRUE; } @@ -200,55 +200,55 @@ static void Intro_WaitForShinyAnimAndHealthbox(void) if (healthboxAnimDone) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].introEndDelay = 3; - gBattlerControllerFuncs[gActiveBattler] = Intro_DelayAndEnd; + gBattleSpritesDataPtr->healthBoxesData[battler].introEndDelay = 3; + gBattlerControllerFuncs[battler] = Intro_DelayAndEnd; } } } -static void Intro_TryShinyAnimShowHealthbox(void) +static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; - if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) - TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(battler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); } - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = TRUE; } - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].waitForCry - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].waitForCry + if (gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted + && !gBattleSpritesDataPtr->healthBoxesData[battler].waitForCry + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].waitForCry && !IsCryPlayingOrClearCrySongs()) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored) { if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && (gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT) m4aMPlayContinue(&gMPlayInfo_BGM); } else @@ -257,115 +257,115 @@ static void Intro_TryShinyAnimShowHealthbox(void) } } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = TRUE; bgmRestored = TRUE; } - if (bgmRestored && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (bgmRestored && gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); + DestroySprite(&gSprites[gBattleControllerData[battler]]); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].bgmRestored = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].healthboxSlideInStarted = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; + gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; + gBattlerControllerFuncs[battler] = Intro_WaitForShinyAnimAndHealthbox; } } -static void WaitForMonAnimAfterLoad(void) +static void WaitForMonAnimAfterLoad(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].animEnded && gSprites[gBattlerSpriteIds[gActiveBattler]].x2 == 0) - RecordedPlayerBufferExecCompleted(); + if (gSprites[gBattlerSpriteIds[battler]].animEnded && gSprites[gBattlerSpriteIds[battler]].x2 == 0) + RecordedPlayerBufferExecCompleted(battler); } -static void SwitchIn_ShowSubstitute(void) +static void SwitchIn_ShowSubstitute(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) { - CopyBattleSpriteInvisibility(gActiveBattler); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); + CopyBattleSpriteInvisibility(battler); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_WaitAndEnd; + gBattlerControllerFuncs[battler] = SwitchIn_WaitAndEnd; } } -static void SwitchIn_WaitAndEnd(void) +static void SwitchIn_WaitAndEnd(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - RecordedPlayerBufferExecCompleted(); + RecordedPlayerBufferExecCompleted(battler); } } -static void SwitchIn_ShowHealthbox(void) +static void SwitchIn_ShowHealthbox(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim) + if (gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); CreateTask(Task_PlayerController_RestoreBgmAfterCry, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSpriteAnim(&gSprites[gBattlerSpriteIds[gActiveBattler]], 0); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 0); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowSubstitute; + gBattlerControllerFuncs[battler] = SwitchIn_ShowSubstitute; } } -static void SwitchIn_TryShinyAnim(void) +static void SwitchIn_TryShinyAnim(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); } - if (gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) { - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - gBattlerControllerFuncs[gActiveBattler] = SwitchIn_ShowHealthbox; + DestroySprite(&gSprites[gBattleControllerData[battler]]); + gBattlerControllerFuncs[battler] = SwitchIn_ShowHealthbox; } } -static void RecordedPlayerBufferExecCompleted(void) +static void RecordedPlayerBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = RecordedPlayerBufferRunCommand; + gBattlerControllerFuncs[battler] = RecordedPlayerBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void RecordedPlayerHandleLoadMonSprite(void) +static void RecordedPlayerHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(gActiveBattler, gPlayerParty, WaitForMonAnimAfterLoad); + BtlController_HandleLoadMonSprite(battler, gPlayerParty, WaitForMonAnimAfterLoad); } -static void RecordedPlayerHandleSwitchInAnim(void) +static void RecordedPlayerHandleSwitchInAnim(u32 battler) { - BtlController_HandleSwitchInAnim(gActiveBattler, TRUE, SwitchIn_TryShinyAnim); + BtlController_HandleSwitchInAnim(battler, TRUE, SwitchIn_TryShinyAnim); } -static void RecordedPlayerHandleDrawTrainerPic(void) +static void RecordedPlayerHandleDrawTrainerPic(u32 battler) { bool32 isFrontPic; s16 xPos, yPos; @@ -385,7 +385,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void) if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon + if ((GetBattlerPosition(battler) & BIT_FLANK) != 0) // second mon xPos = 90; else // first mon xPos = 32; @@ -412,26 +412,26 @@ static void RecordedPlayerHandleDrawTrainerPic(void) else isFrontPic = FALSE; - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, isFrontPic, xPos, yPos, -1); + BtlController_HandleDrawTrainerPic(battler, trainerPicId, isFrontPic, xPos, yPos, -1); } -static void RecordedPlayerHandleTrainerSlideBack(void) +static void RecordedPlayerHandleTrainerSlideBack(u32 battler) { - BtlController_HandleTrainerSlideBack(gActiveBattler, 35, FALSE); + BtlController_HandleTrainerSlideBack(battler, 35, FALSE); } -static void RecordedPlayerHandleMoveAnimation(void) +static void RecordedPlayerHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, FALSE); + BtlController_HandleMoveAnimation(battler, FALSE); } -static void RecordedPlayerHandlePrintString(void) +static void RecordedPlayerHandlePrintString(u32 battler) { u16 *stringId; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - stringId = (u16 *)(&gBattleResources->bufferA[gActiveBattler][2]); + stringId = (u16 *)(&gBattleResources->bufferA[battler][2]); BufferStringBattle(*stringId); if (gTestRunnerEnabled) @@ -439,38 +439,38 @@ static void RecordedPlayerHandlePrintString(void) TestRunner_Battle_RecordMessage(gDisplayedStringBattle); if (gTestRunnerHeadless) { - RecordedPlayerBufferExecCompleted(); + RecordedPlayerBufferExecCompleted(battler); return; } } BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForString; + gBattlerControllerFuncs[battler] = Controller_WaitForString; } -static void ChooseActionInBattlePalace(void) +static void ChooseActionInBattlePalace(u32 battler) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_BATTLE_PALACE_ACTION, gActiveBattler), 0); - RecordedPlayerBufferExecCompleted(); + BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_BATTLE_PALACE_ACTION, battler), 0); + RecordedPlayerBufferExecCompleted(battler); } } -static void RecordedPlayerHandleChooseAction(void) +static void RecordedPlayerHandleChooseAction(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gBattlerControllerFuncs[gActiveBattler] = ChooseActionInBattlePalace; + gBattlerControllerFuncs[battler] = ChooseActionInBattlePalace; } else { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, gActiveBattler), 0); - RecordedPlayerBufferExecCompleted(); + BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); + RecordedPlayerBufferExecCompleted(battler); } } -static void RecordedPlayerHandleChooseMove(void) +static void RecordedPlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { @@ -478,103 +478,103 @@ static void RecordedPlayerHandleChooseMove(void) } else { - u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, gActiveBattler); - u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, gActiveBattler); + u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); + u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, battler); BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); } - RecordedPlayerBufferExecCompleted(); + RecordedPlayerBufferExecCompleted(battler); } -static void RecordedPlayerHandleChooseItem(void) +static void RecordedPlayerHandleChooseItem(u32 battler) { - u8 byte1 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, gActiveBattler); - u8 byte2 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, gActiveBattler); - gBattleStruct->chosenItem[gActiveBattler] = (byte1 << 8) | byte2; - gBattleStruct->itemPartyIndex[gActiveBattler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, gActiveBattler); - gBattleStruct->itemMoveIndex[gActiveBattler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, gActiveBattler); - BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[gActiveBattler]); - RecordedPlayerBufferExecCompleted(); + u8 byte1 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, battler); + u8 byte2 = RecordedBattle_GetBattlerAction(RECORDED_ITEM_ID, battler); + gBattleStruct->chosenItem[battler] = (byte1 << 8) | byte2; + gBattleStruct->itemPartyIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, battler); + gBattleStruct->itemMoveIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, battler); + BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[battler]); + RecordedPlayerBufferExecCompleted(battler); } -static void RecordedPlayerHandleChoosePokemon(void) +static void RecordedPlayerHandleChoosePokemon(u32 battler) { - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, gActiveBattler); - gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[gActiveBattler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + gActiveBattler), NULL); - RecordedPlayerBufferExecCompleted(); + *(gBattleStruct->monToSwitchIntoId + battler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); + gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing + BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); + RecordedPlayerBufferExecCompleted(battler); } -static void RecordedPlayerHandleHealthBarUpdate(void) +static void RecordedPlayerHandleHealthBarUpdate(u32 battler) { s16 hpVal; s32 maxHP, curHP; LoadBattleBarGfx(0); - hpVal = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); + hpVal = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8); - maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_MAX_HP); - curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP); + maxHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MAX_HP); + curHP = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP); if (hpVal != INSTANT_HP_BAR_DROP) { - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, curHP, hpVal); - TestRunner_Battle_RecordHP(gActiveBattler, curHP, min(maxHP, max(0, curHP - hpVal))); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], maxHP, curHP, hpVal); + TestRunner_Battle_RecordHP(battler, curHP, min(maxHP, max(0, curHP - hpVal))); } else { - SetBattleBarStruct(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], maxHP, 0, hpVal); - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, 0, maxHP); - TestRunner_Battle_RecordHP(gActiveBattler, curHP, 0); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], maxHP, 0, hpVal); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[battler], HP_CURRENT, 0, maxHP); + TestRunner_Battle_RecordHP(battler, curHP, 0); } - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForHealthBar; + gBattlerControllerFuncs[battler] = Controller_WaitForHealthBar; } -static void RecordedPlayerHandleStatusIconUpdate(void) +static void RecordedPlayerHandleStatusIconUpdate(u32 battler) { - if (!IsBattleSEPlaying(gActiveBattler)) + if (!IsBattleSEPlaying(battler)) { - DoStatusIconUpdate(gActiveBattler); + DoStatusIconUpdate(battler); if (gTestRunnerEnabled) - TestRunner_Battle_RecordStatus1(gActiveBattler, GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_STATUS)); + TestRunner_Battle_RecordStatus1(battler, GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_STATUS)); } } -static void RecordedPlayerHandleStatusAnimation(void) +static void RecordedPlayerHandleStatusAnimation(u32 battler) { - BtlController_HandleStatusAnimation(); + BtlController_HandleStatusAnimation(battler); } -static void RecordedPlayerHandleIntroTrainerBallThrow(void) +static void RecordedPlayerHandleIntroTrainerBallThrow(u32 battler) { u32 trainerPicId; const u32 *trainerPal; if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) - trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(gActiveBattler)].gender + TRAINER_BACK_PIC_BRENDAN; + trainerPicId = gLinkPlayers[GetBattlerMultiplayerId(battler)].gender + TRAINER_BACK_PIC_BRENDAN; else trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; trainerPal = gTrainerFrontPicPaletteTable[trainerPicId].data; - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F9, trainerPal, 24, Intro_TryShinyAnimShowHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F9, trainerPal, 24, Intro_TryShinyAnimShowHealthbox); } -static void RecordedPlayerHandleDrawPartyStatusSummary(void) +static void RecordedPlayerHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, TRUE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_PLAYER, TRUE); } -static void RecordedPlayerHandleBattleAnimation(void) +static void RecordedPlayerHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, FALSE, FALSE); + BtlController_HandleBattleAnimation(battler, FALSE, FALSE); } -static void RecordedPlayerHandleEndLinkBattle(void) +static void RecordedPlayerHandleEndLinkBattle(u32 battler) { - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; + gBattleOutcome = gBattleResources->bufferA[battler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - RecordedPlayerBufferExecCompleted(); - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + RecordedPlayerBufferExecCompleted(battler); + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 569ba81fb4..5f9183f1bd 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -25,24 +25,24 @@ #include "constants/trainers.h" #include "constants/rgb.h" -static void SafariHandleDrawTrainerPic(void); -static void SafariHandleSuccessBallThrowAnim(void); -static void SafariHandleBallThrowAnim(void); -static void SafariHandlePrintString(void); -static void SafariHandlePrintSelectionString(void); -static void SafariHandleChooseAction(void); -static void SafariHandleChooseItem(void); -static void SafariHandleStatusIconUpdate(void); -static void SafariHandleFaintingCry(void); -static void SafariHandleIntroTrainerBallThrow(void); -static void SafariHandleBattleAnimation(void); -static void SafariHandleEndLinkBattle(void); +static void SafariHandleDrawTrainerPic(u32 battler); +static void SafariHandleSuccessBallThrowAnim(u32 battler); +static void SafariHandleBallThrowAnim(u32 battler); +static void SafariHandlePrintString(u32 battler); +static void SafariHandlePrintSelectionString(u32 battler); +static void SafariHandleChooseAction(u32 battler); +static void SafariHandleChooseItem(u32 battler); +static void SafariHandleStatusIconUpdate(u32 battler); +static void SafariHandleFaintingCry(u32 battler); +static void SafariHandleIntroTrainerBallThrow(u32 battler); +static void SafariHandleBattleAnimation(u32 battler); +static void SafariHandleEndLinkBattle(u32 battler); -static void SafariBufferRunCommand(void); -static void SafariBufferExecCompleted(void); -static void CompleteWhenChosePokeblock(void); +static void SafariBufferRunCommand(u32 battler); +static void SafariBufferExecCompleted(u32 battler); +static void CompleteWhenChosePokeblock(u32 battler); -static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_Empty, [CONTROLLER_GETRAWMONDATA] = BtlController_Empty, @@ -104,30 +104,30 @@ static void (*const sSafariBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToSafari(void) +void SetControllerToSafari(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = SafariBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; + gBattlerControllerEndFuncs[battler] = SafariBufferExecCompleted; + gBattlerControllerFuncs[battler] = SafariBufferRunCommand; } -static void SafariBufferRunCommand(void) +static void SafariBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sSafariBufferCommands)) - sSafariBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sSafariBufferCommands)) + sSafariBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - SafariBufferExecCompleted(); + SafariBufferExecCompleted(battler); } } -static void HandleInputChooseAction(void) +static void HandleInputChooseAction(u32 battler) { if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - switch (gActionSelectionCursor[gActiveBattler]) + switch (gActionSelectionCursor[battler]) { case 0: BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_BALL, 0); @@ -142,57 +142,57 @@ static void HandleInputChooseAction(void) BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_RUN, 0); break; } - SafariBufferExecCompleted(); + SafariBufferExecCompleted(battler); } else if (JOY_NEW(DPAD_LEFT)) { - if (gActionSelectionCursor[gActiveBattler] & 1) + if (gActionSelectionCursor[battler] & 1) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(DPAD_RIGHT)) { - if (!(gActionSelectionCursor[gActiveBattler] & 1)) + if (!(gActionSelectionCursor[battler] & 1)) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 1; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 1; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(DPAD_UP)) { - if (gActionSelectionCursor[gActiveBattler] & 2) + if (gActionSelectionCursor[battler] & 2) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } else if (JOY_NEW(DPAD_DOWN)) { - if (!(gActionSelectionCursor[gActiveBattler] & 2)) + if (!(gActionSelectionCursor[battler] & 2)) { PlaySE(SE_SELECT); - ActionSelectionDestroyCursorAt(gActionSelectionCursor[gActiveBattler]); - gActionSelectionCursor[gActiveBattler] ^= 2; - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionDestroyCursorAt(gActionSelectionCursor[battler]); + gActionSelectionCursor[battler] ^= 2; + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); } } } -static void Controller_WaitForHealthbox(void) +static void Controller_WaitForHealthbox(u32 battler) { - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - SafariBufferExecCompleted(); + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) + SafariBufferExecCompleted(battler); } -static void SafariSetBattleEndCallbacks(void) +static void SafariSetBattleEndCallbacks(u32 battler) { if (!gPaletteFade.active) { @@ -202,140 +202,141 @@ static void SafariSetBattleEndCallbacks(void) } } -static void SafariOpenPokeblockCase(void) +static void SafariOpenPokeblockCase(u32 battler) { if (!gPaletteFade.active) { - gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChosePokeblock; + gBattlerControllerFuncs[battler] = CompleteWhenChosePokeblock; FreeAllWindowBuffers(); OpenPokeblockCaseInBattle(); } } -static void CompleteWhenChosePokeblock(void) +static void CompleteWhenChosePokeblock(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); - SafariBufferExecCompleted(); + SafariBufferExecCompleted(battler); } } -static void SafariBufferExecCompleted(void) +static void SafariBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = SafariBufferRunCommand; + gBattlerControllerFuncs[battler] = SafariBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } -static void SafariHandleDrawTrainerPic(void) +static void SafariHandleDrawTrainerPic(u32 battler) { u32 trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN; - BtlController_HandleDrawTrainerPic(gActiveBattler, trainerPicId, FALSE, + BtlController_HandleDrawTrainerPic(battler, trainerPicId, FALSE, 80, 80 + 4 * (8 - gTrainerBackPicCoords[trainerPicId].size), 30); } -static void SafariHandleSuccessBallThrowAnim(void) +static void SafariHandleSuccessBallThrowAnim(u32 battler) { - BtlController_HandleSuccessBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); + BtlController_HandleSuccessBallThrowAnim(battler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } -static void SafariHandleBallThrowAnim(void) +static void SafariHandleBallThrowAnim(u32 battler) { - BtlController_HandleBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); + BtlController_HandleBallThrowAnim(battler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } -static void SafariHandlePrintString(void) +static void SafariHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, FALSE, FALSE); + BtlController_HandlePrintString(battler, FALSE, FALSE); } -static void SafariHandlePrintSelectionString(void) +static void SafariHandlePrintSelectionString(u32 battler) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - SafariHandlePrintString(); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + SafariHandlePrintString(battler); else - SafariBufferExecCompleted(); + SafariBufferExecCompleted(battler); } -static void HandleChooseActionAfterDma3(void) +static void HandleChooseActionAfterDma3(u32 battler) { if (!IsDma3ManagerBusyWithBgCopy()) { gBattle_BG0_X = 0; gBattle_BG0_Y = DISPLAY_HEIGHT; - gBattlerControllerFuncs[gActiveBattler] = HandleInputChooseAction; + gBattlerControllerFuncs[battler] = HandleInputChooseAction; } } -static void SafariHandleChooseAction(void) +static void SafariHandleChooseAction(u32 battler) { s32 i; - gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; + gBattlerControllerFuncs[battler] = HandleChooseActionAfterDma3; BattlePutTextOnWindow(gText_SafariZoneMenu, B_WIN_ACTION_MENU); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo2); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } -static void SafariHandleChooseItem(void) +static void SafariHandleChooseItem(u32 battler) { BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); - gBattlerControllerFuncs[gActiveBattler] = SafariOpenPokeblockCase; - gBattlerInMenuId = gActiveBattler; + gBattlerControllerFuncs[battler] = SafariOpenPokeblockCase; + gBattlerInMenuId = battler; } -static void SafariHandleStatusIconUpdate(void) +static void SafariHandleStatusIconUpdate(u32 battler) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_BALLS_TEXT); - SafariBufferExecCompleted(); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_SAFARI_BALLS_TEXT); + SafariBufferExecCompleted(battler); } // All of the other controllers(except Wally's) use CRY_MODE_FAINT. // Player is not a pokemon, so it can't really faint in the Safari anyway. -static void SafariHandleFaintingCry(void) +static void SafariHandleFaintingCry(u32 battler) { - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); PlayCry_Normal(species, 25); - SafariBufferExecCompleted(); + SafariBufferExecCompleted(battler); + SafariBufferExecCompleted(battler); } -static void SafariHandleIntroTrainerBallThrow(void) +static void SafariHandleIntroTrainerBallThrow(u32 battler) { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_SAFARI_ALL_TEXT); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForHealthbox; + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_SAFARI_ALL_TEXT); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); + gBattlerControllerFuncs[battler] = Controller_WaitForHealthbox; } -static void SafariHandleBattleAnimation(void) +static void SafariHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, TRUE, FALSE); + BtlController_HandleBattleAnimation(battler, TRUE, FALSE); } -static void SafariHandleEndLinkBattle(void) +static void SafariHandleEndLinkBattle(u32 battler) { - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; + gBattleOutcome = gBattleResources->bufferA[battler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - SafariBufferExecCompleted(); + SafariBufferExecCompleted(battler); if ((gBattleTypeFlags & BATTLE_TYPE_LINK) && !(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER)) - gBattlerControllerFuncs[gActiveBattler] = SafariSetBattleEndCallbacks; + gBattlerControllerFuncs[battler] = SafariSetBattleEndCallbacks; } diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index 103b8b18a6..cff9665678 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -32,30 +32,30 @@ #include "constants/trainers.h" #include "constants/rgb.h" -static void WallyHandleDrawTrainerPic(void); -static void WallyHandleTrainerSlide(void); -static void WallyHandleSuccessBallThrowAnim(void); -static void WallyHandleBallThrowAnim(void); -static void WallyHandleMoveAnimation(void); -static void WallyHandlePrintString(void); -static void WallyHandlePrintSelectionString(void); -static void WallyHandleChooseAction(void); -static void WallyHandleChooseMove(void); -static void WallyHandleChooseItem(void); -static void WallyHandleHealthBarUpdate(void); -static void WallyHandlePlaySE(void); -static void WallyHandleFaintingCry(void); -static void WallyHandleIntroTrainerBallThrow(void); -static void WallyHandleDrawPartyStatusSummary(void); -static void WallyHandleBattleAnimation(void); -static void WallyHandleEndLinkBattle(void); +static void WallyHandleDrawTrainerPic(u32 battler); +static void WallyHandleTrainerSlide(u32 battler); +static void WallyHandleSuccessBallThrowAnim(u32 battler); +static void WallyHandleBallThrowAnim(u32 battler); +static void WallyHandleMoveAnimation(u32 battler); +static void WallyHandlePrintString(u32 battler); +static void WallyHandlePrintSelectionString(u32 battler); +static void WallyHandleChooseAction(u32 battler); +static void WallyHandleChooseMove(u32 battler); +static void WallyHandleChooseItem(u32 battler); +static void WallyHandleHealthBarUpdate(u32 battler); +static void WallyHandlePlaySE(u32 battler); +static void WallyHandleFaintingCry(u32 battler); +static void WallyHandleIntroTrainerBallThrow(u32 battler); +static void WallyHandleDrawPartyStatusSummary(u32 battler); +static void WallyHandleBattleAnimation(u32 battler); +static void WallyHandleEndLinkBattle(u32 battler); -static void WallyBufferRunCommand(void); -static void WallyBufferExecCompleted(void); -static void CompleteOnChosenItem(void); -static void Intro_WaitForShinyAnimAndHealthbox(void); +static void WallyBufferRunCommand(u32 battler); +static void WallyBufferExecCompleted(u32 battler); +static void CompleteOnChosenItem(u32 battler); +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler); -static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = +static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(u32 battler) = { [CONTROLLER_GETMONDATA] = BtlController_HandleGetMonData, [CONTROLLER_GETRAWMONDATA] = BtlController_HandleGetRawMonData, @@ -117,28 +117,28 @@ static void (*const sWallyBufferCommands[CONTROLLER_CMDS_COUNT])(void) = [CONTROLLER_TERMINATOR_NOP] = BtlController_TerminatorNop }; -void SetControllerToWally(void) +void SetControllerToWally(u32 battler) { - gBattlerControllerEndFuncs[gActiveBattler] = WallyBufferExecCompleted; - gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; + gBattlerControllerEndFuncs[battler] = WallyBufferExecCompleted; + gBattlerControllerFuncs[battler] = WallyBufferRunCommand; gBattleStruct->wallyBattleState = 0; gBattleStruct->wallyMovesState = 0; gBattleStruct->wallyWaitFrames = 0; gBattleStruct->wallyMoveFrames = 0; } -static void WallyBufferRunCommand(void) +static void WallyBufferRunCommand(u32 battler) { - if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) + if (gBattleControllerExecFlags & gBitTable[battler]) { - if (gBattleResources->bufferA[gActiveBattler][0] < ARRAY_COUNT(sWallyBufferCommands)) - sWallyBufferCommands[gBattleResources->bufferA[gActiveBattler][0]](); + if (gBattleResources->bufferA[battler][0] < ARRAY_COUNT(sWallyBufferCommands)) + sWallyBufferCommands[gBattleResources->bufferA[battler][0]](battler); else - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } } -static void WallyHandleActions(void) +static void WallyHandleActions(u32 battler) { switch (gBattleStruct->wallyBattleState) { @@ -150,7 +150,7 @@ static void WallyHandleActions(void) { PlaySE(SE_SELECT); BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG; @@ -161,7 +161,7 @@ static void WallyHandleActions(void) { PlaySE(SE_SELECT); BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG; @@ -171,7 +171,7 @@ static void WallyHandleActions(void) if (--gBattleStruct->wallyWaitFrames == 0) { BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_WALLY_THROW, 0); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; gBattleStruct->wallyWaitFrames = B_WAIT_TIME_LONG; @@ -192,187 +192,181 @@ static void WallyHandleActions(void) { PlaySE(SE_SELECT); BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } break; } } -static void CompleteOnBattlerSpriteCallbackDummy(void) -{ - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - WallyBufferExecCompleted(); -} - -static void OpenBagAfterPaletteFade(void) +static void OpenBagAfterPaletteFade(u32 battler) { if (!gPaletteFade.active) { - gBattlerControllerFuncs[gActiveBattler] = CompleteOnChosenItem; + gBattlerControllerFuncs[battler] = CompleteOnChosenItem; ReshowBattleScreenDummy(); FreeAllWindowBuffers(); DoWallyTutorialBagMenu(); } } -static void CompleteOnChosenItem(void) +static void CompleteOnChosenItem(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } } -static void Intro_TryShinyAnimShowHealthbox(void) +static void Intro_TryShinyAnimShowHealthbox(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) - TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive) + TryShinyAnimation(battler, &gPlayerParty[gBattlerPartyIndexes[battler]]); - if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive) - TryShinyAnimation(BATTLE_PARTNER(gActiveBattler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]]); + if (!gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive) + TryShinyAnimation(BATTLE_PARTNER(battler), &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]); - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive - && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].ballAnimActive - && gSprites[gBattleControllerData[gActiveBattler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive + && !gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].ballAnimActive + && gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) { - DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(gActiveBattler)]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]], HEALTHBOX_ALL); - StartHealthboxSlideIn(BATTLE_PARTNER(gActiveBattler)); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(gActiveBattler)]); + DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], HEALTHBOX_ALL); + StartHealthboxSlideIn(BATTLE_PARTNER(battler)); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[BATTLE_PARTNER(battler)]); } - DestroySprite(&gSprites[gBattleControllerData[gActiveBattler]]); - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], HEALTHBOX_ALL); - StartHealthboxSlideIn(gActiveBattler); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + DestroySprite(&gSprites[gBattleControllerData[battler]]); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[gBattlerPartyIndexes[battler]], HEALTHBOX_ALL); + StartHealthboxSlideIn(battler); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; - gBattlerControllerFuncs[gActiveBattler] = Intro_WaitForShinyAnimAndHealthbox; + gBattlerControllerFuncs[battler] = Intro_WaitForShinyAnimAndHealthbox; } } -static void Intro_WaitForShinyAnimAndHealthbox(void) +static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) { bool32 healthboxAnimDone = FALSE; - if (gSprites[gHealthboxSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gHealthboxSpriteIds[battler]].callback == SpriteCallbackDummy) healthboxAnimDone = TRUE; - if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim - && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim) + if (healthboxAnimDone && gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim + && gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[battler].finishedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].triedShinyMonAnim = FALSE; - gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(gActiveBattler)].finishedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].triedShinyMonAnim = FALSE; + gBattleSpritesDataPtr->healthBoxesData[BATTLE_PARTNER(battler)].finishedShinyMonAnim = FALSE; FreeSpriteTilesByTag(ANIM_TAG_GOLD_STARS); FreeSpritePaletteByTag(ANIM_TAG_GOLD_STARS); CreateTask(Task_PlayerController_RestoreBgmAfterCry, 10); - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } } -static void WallyBufferExecCompleted(void) +static void WallyBufferExecCompleted(u32 battler) { - gBattlerControllerFuncs[gActiveBattler] = WallyBufferRunCommand; + gBattlerControllerFuncs[battler] = WallyBufferRunCommand; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { u8 playerId = GetMultiplayerId(); PrepareBufferDataTransferLink(2, 4, &playerId); - gBattleResources->bufferA[gActiveBattler][0] = CONTROLLER_TERMINATOR_NOP; + gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else { - gBattleControllerExecFlags &= ~gBitTable[gActiveBattler]; + gBattleControllerExecFlags &= ~gBitTable[battler]; } } #define sSpeedX data[0] -static void WallyHandleDrawTrainerPic(void) +static void WallyHandleDrawTrainerPic(u32 battler) { - BtlController_HandleDrawTrainerPic(gActiveBattler, TRAINER_BACK_PIC_WALLY, FALSE, + BtlController_HandleDrawTrainerPic(battler, TRAINER_BACK_PIC_WALLY, FALSE, 80, 80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].size), 30); } -static void WallyHandleTrainerSlide(void) +static void WallyHandleTrainerSlide(u32 battler) { - BtlController_HandleTrainerSlide(gActiveBattler, TRAINER_BACK_PIC_WALLY); + BtlController_HandleTrainerSlide(battler, TRAINER_BACK_PIC_WALLY); } #undef sSpeedX -static void WallyHandleSuccessBallThrowAnim(void) +static void WallyHandleSuccessBallThrowAnim(u32 battler) { - BtlController_HandleSuccessBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); + BtlController_HandleSuccessBallThrowAnim(battler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } -static void WallyHandleBallThrowAnim(void) +static void WallyHandleBallThrowAnim(u32 battler) { - BtlController_HandleBallThrowAnim(gActiveBattler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); + BtlController_HandleBallThrowAnim(battler, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), B_ANIM_BALL_THROW_WITH_TRAINER, FALSE); } -static void WallyHandleMoveAnimation(void) +static void WallyHandleMoveAnimation(u32 battler) { - BtlController_HandleMoveAnimation(gActiveBattler, FALSE); + BtlController_HandleMoveAnimation(battler, FALSE); } -static void WallyHandlePrintString(void) +static void WallyHandlePrintString(u32 battler) { - BtlController_HandlePrintString(gActiveBattler, FALSE, FALSE); + BtlController_HandlePrintString(battler, FALSE, FALSE); } -static void WallyHandlePrintSelectionString(void) +static void WallyHandlePrintSelectionString(u32 battler) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - WallyHandlePrintString(); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + WallyHandlePrintString(battler); else - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } -static void HandleChooseActionAfterDma3(void) +static void HandleChooseActionAfterDma3(u32 battler) { if (!IsDma3ManagerBusyWithBgCopy()) { gBattle_BG0_X = 0; gBattle_BG0_Y = DISPLAY_HEIGHT; - gBattlerControllerFuncs[gActiveBattler] = WallyHandleActions; + gBattlerControllerFuncs[battler] = WallyHandleActions; } } -static void WallyHandleChooseAction(void) +static void WallyHandleChooseAction(u32 battler) { s32 i; - gBattlerControllerFuncs[gActiveBattler] = HandleChooseActionAfterDma3; + gBattlerControllerFuncs[battler] = HandleChooseActionAfterDma3; BattlePutTextOnWindow(gText_BattleMenu, B_WIN_ACTION_MENU); for (i = 0; i < 4; i++) ActionSelectionDestroyCursorAt(i); - ActionSelectionCreateCursorAt(gActionSelectionCursor[gActiveBattler], 0); + ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillWallyDo); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } -static void WallyHandleChooseMove(void) +static void WallyHandleChooseMove(u32 battler) { switch (gBattleStruct->wallyMovesState) { case 0: - InitMoveSelectionsVarsAndStrings(); + InitMoveSelectionsVarsAndStrings(battler); gBattleStruct->wallyMovesState++; gBattleStruct->wallyMoveFrames = 80; break; @@ -389,64 +383,64 @@ static void WallyHandleChooseMove(void) { PlaySE(SE_SELECT); BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0x100); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } break; } } -static void WallyHandleChooseItem(void) +static void WallyHandleChooseItem(u32 battler) { BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); - gBattlerControllerFuncs[gActiveBattler] = OpenBagAfterPaletteFade; - gBattlerInMenuId = gActiveBattler; + gBattlerControllerFuncs[battler] = OpenBagAfterPaletteFade; + gBattlerInMenuId = battler; } -static void WallyHandleHealthBarUpdate(void) +static void WallyHandleHealthBarUpdate(u32 battler) { - BtlController_HandleHealthBarUpdate(gActiveBattler, TRUE); + BtlController_HandleHealthBarUpdate(battler, TRUE); } // For some reason Wally's SE don't take side into account and pan is always the same. Possibly a bug -static void WallyHandlePlaySE(void) +static void WallyHandlePlaySE(u32 battler) { - PlaySE(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - WallyBufferExecCompleted(); + PlaySE(gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8)); + WallyBufferExecCompleted(battler); } // All of the other controllers use CRY_MODE_FAINT. // Wally's Pokémon during the tutorial is never intended to faint, so that's probably why it's different here. -static void WallyHandleFaintingCry(void) +static void WallyHandleFaintingCry(u32 battler) { - u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES); + u16 species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); PlayCry_Normal(species, 25); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); } -static void WallyHandleIntroTrainerBallThrow(void) +static void WallyHandleIntroTrainerBallThrow(u32 battler) { const u32 *trainerPal = gTrainerBackPicPaletteTable[TRAINER_BACK_PIC_WALLY].data; - BtlController_HandleIntroTrainerBallThrow(gActiveBattler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); + BtlController_HandleIntroTrainerBallThrow(battler, 0xD6F8, trainerPal, 31, Intro_TryShinyAnimShowHealthbox); } -static void WallyHandleDrawPartyStatusSummary(void) +static void WallyHandleDrawPartyStatusSummary(u32 battler) { - BtlController_HandleDrawPartyStatusSummary(gActiveBattler, B_SIDE_PLAYER, FALSE); + BtlController_HandleDrawPartyStatusSummary(battler, B_SIDE_PLAYER, FALSE); } -static void WallyHandleBattleAnimation(void) +static void WallyHandleBattleAnimation(u32 battler) { - BtlController_HandleBattleAnimation(gActiveBattler, TRUE, FALSE); + BtlController_HandleBattleAnimation(battler, TRUE, FALSE); } -static void WallyHandleEndLinkBattle(void) +static void WallyHandleEndLinkBattle(u32 battler) { - gBattleOutcome = gBattleResources->bufferA[gActiveBattler][1]; + gBattleOutcome = gBattleResources->bufferA[battler][1]; FadeOutMapMusic(5); BeginFastPaletteFade(3); - WallyBufferExecCompleted(); + WallyBufferExecCompleted(battler); if (!(gBattleTypeFlags & BATTLE_TYPE_IS_MASTER) && gBattleTypeFlags & BATTLE_TYPE_LINK) - gBattlerControllerFuncs[gActiveBattler] = SetBattleEndCallbacks; + gBattlerControllerFuncs[battler] = SetBattleEndCallbacks; } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 4c1eb5e0ee..08308046f0 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -25,10 +25,13 @@ static EWRAM_DATA u8 sLinkSendTaskId = 0; static EWRAM_DATA u8 sLinkReceiveTaskId = 0; -EWRAM_DATA void (*gBattlerControllerEndFuncs[MAX_BATTLERS_COUNT])(void) = {NULL}; // Controller's buffer complete function for each battler EWRAM_DATA struct UnusedControllerStruct gUnusedControllerStruct = {}; // Debug? Unused code that writes to it, never read static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {}; +void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(u32 battler); +u8 gBattleControllerData[MAX_BATTLERS_COUNT]; // Used by the battle controllers to store misc sprite/task IDs for each battler +void (*gBattlerControllerEndFuncs[MAX_BATTLERS_COUNT])(u32 battler); // Controller's buffer complete function for each battler + static void CreateTasksForSendRecvLinkBuffers(void); static void InitLinkBtlControllers(void); static void InitSinglePlayerBtlControllers(void); @@ -1562,7 +1565,7 @@ void BtlController_EmitDebugMenu(u8 bufferId) // Can be used for all the controllers. void BattleControllerComplete(u32 battler) { - gBattlerControllerEndFuncs[battler](); + gBattlerControllerEndFuncs[battler](battler); } static u32 GetBattlerMonData(u32 battler, struct Pokemon *party, u32 monId, u8 *dst) @@ -2133,186 +2136,186 @@ static void FreeMonSprite(u32 battler) SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); } -static void Controller_ReturnMonToBall2(void) +static void Controller_ReturnMonToBall2(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { - FreeMonSprite(gActiveBattler); - BattleControllerComplete(gActiveBattler); + FreeMonSprite(battler); + BattleControllerComplete(battler); } } -static void Controller_ReturnMonToBall(void) +static void Controller_ReturnMonToBall(u32 battler) { - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[battler].animationState) { case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute) - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_SUBSTITUTE_TO_MON); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) ? B_ANIM_SWITCH_OUT_OPPONENT_MON : B_ANIM_SWITCH_OUT_PLAYER_MON); - gBattlerControllerFuncs[gActiveBattler] = Controller_ReturnMonToBall2; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; + InitAndLaunchSpecialAnimation(battler, battler, battler, (GetBattlerSide(battler) == B_SIDE_OPPONENT) ? B_ANIM_SWITCH_OUT_OPPONENT_MON : B_ANIM_SWITCH_OUT_PLAYER_MON); + gBattlerControllerFuncs[battler] = Controller_ReturnMonToBall2; } break; } } -static void Controller_FaintPlayerMon(void) +static void Controller_FaintPlayerMon(u32 battler) { - u32 spriteId = gBattlerSpriteIds[gActiveBattler]; + u32 spriteId = gBattlerSpriteIds[battler]; if (gSprites[spriteId].y + gSprites[spriteId].y2 > DISPLAY_HEIGHT) { - BattleGfxSfxDummy2(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES)); + BattleGfxSfxDummy2(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); FreeOamMatrix(gSprites[spriteId].oam.matrixNum); DestroySprite(&gSprites[spriteId]); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - BattleControllerComplete(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); + BattleControllerComplete(battler); } } -static void Controller_FaintOpponentMon(void) +static void Controller_FaintOpponentMon(u32 battler) { - if (!gSprites[gBattlerSpriteIds[gActiveBattler]].inUse) + if (!gSprites[gBattlerSpriteIds[battler]].inUse) { - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); - BattleControllerComplete(gActiveBattler); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); + BattleControllerComplete(battler); } } -static void Controller_DoMoveAnimation(void) +static void Controller_DoMoveAnimation(u32 battler) { - u16 move = gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8); + u16 move = gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8); - switch (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState) + switch (gBattleSpritesDataPtr->healthBoxesData[battler].animationState) { case 0: - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute - && !gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8) + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute + && !gBattleSpritesDataPtr->battlerData[battler].flag_x8) { - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 1; - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_SUBSTITUTE_TO_MON); + gBattleSpritesDataPtr->battlerData[battler].flag_x8 = 1; + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_SUBSTITUTE_TO_MON); } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 1; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 1; break; case 1: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { SetBattlerSpriteAffineMode(ST_OAM_AFFINE_OFF); DoMoveAnim(move); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 2; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 2; } break; case 2: gAnimScriptCallback(); if (!gAnimScriptActive) { - u8 multihit = gBattleResources->bufferA[gActiveBattler][11]; + u8 multihit = gBattleResources->bufferA[battler][11]; SetBattlerSpriteAffineMode(ST_OAM_AFFINE_NORMAL); - if (gBattleSpritesDataPtr->battlerData[gActiveBattler].behindSubstitute && multihit < 2) + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute && multihit < 2) { - InitAndLaunchSpecialAnimation(gActiveBattler, gActiveBattler, gActiveBattler, B_ANIM_MON_TO_SUBSTITUTE); - gBattleSpritesDataPtr->battlerData[gActiveBattler].flag_x8 = 0; + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_MON_TO_SUBSTITUTE); + gBattleSpritesDataPtr->battlerData[battler].flag_x8 = 0; } - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 3; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 3; } break; case 3: - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { CopyAllBattleSpritesInvisibilities(); - TrySetBehindSubstituteSpriteBit(gActiveBattler, gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - BattleControllerComplete(gActiveBattler); + TrySetBehindSubstituteSpriteBit(battler, gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8)); + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; + BattleControllerComplete(battler); } break; } } -static void Controller_HandleTrainerSlideBack(void) +static void Controller_HandleTrainerSlideBack(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) - FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam); - FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - DestroySprite(&gSprites[gBattlerSpriteIds[gActiveBattler]]); - BattleControllerComplete(gActiveBattler); + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) + FreeTrainerFrontPicPalette(gSprites[gBattlerSpriteIds[battler]].oam.affineParam); + FreeSpriteOamMatrix(&gSprites[gBattlerSpriteIds[battler]]); + DestroySprite(&gSprites[gBattlerSpriteIds[battler]]); + BattleControllerComplete(battler); } } -void Controller_WaitForHealthBar(void) +void Controller_WaitForHealthBar(u32 battler) { - s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0); + s16 hpValue = MoveBattleBar(battler, gHealthboxSpriteIds[battler], HEALTH_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); if (hpValue != -1) { - UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], HP_CURRENT, hpValue, gBattleMons[gActiveBattler].maxHP); + UpdateHpTextInHealthbox(gHealthboxSpriteIds[battler], HP_CURRENT, hpValue, gBattleMons[battler].maxHP); } else { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - BattleControllerComplete(gActiveBattler); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); + BattleControllerComplete(battler); } } -static void Controller_WaitForBallThrow(void) +static void Controller_WaitForBallThrow(u32 battler) { - if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].specialAnimActive) - BattleControllerComplete(gActiveBattler); + if (!gDoingBattleAnim || !gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) + BattleControllerComplete(battler); } -static void Controller_WaitForBattleAnimation(void) +static void Controller_WaitForBattleAnimation(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animFromTableActive) - BattleControllerComplete(gActiveBattler); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].animFromTableActive) + BattleControllerComplete(battler); } -static void Controller_WaitForStatusAnimation(void) +static void Controller_WaitForStatusAnimation(u32 battler) { - if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive) - BattleControllerComplete(gActiveBattler); + if (!gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive) + BattleControllerComplete(battler); } -static void Controller_WaitForTrainerPic(void) +static void Controller_WaitForTrainerPic(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy) - BattleControllerComplete(gActiveBattler); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + BattleControllerComplete(battler); } -void Controller_WaitForString(void) +void Controller_WaitForString(u32 battler) { if (!IsTextPrinterActive(B_WIN_MSG)) - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } -static void Controller_WaitForPartyStatusSummary(void) +static void Controller_WaitForPartyStatusSummary(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer++ > 92) + if (gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusDelayTimer++ > 92) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusDelayTimer = 0; - BattleControllerComplete(gActiveBattler); + gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusDelayTimer = 0; + BattleControllerComplete(battler); } } -static void Controller_HitAnimation(void) +static void Controller_HitAnimation(u32 battler) { - u32 spriteId = gBattlerSpriteIds[gActiveBattler]; + u32 spriteId = gBattlerSpriteIds[battler]; if (gSprites[spriteId].data[1] == 32) { gSprites[spriteId].data[1] = 0; gSprites[spriteId].invisible = FALSE; gDoingBattleAnim = FALSE; - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } else { @@ -2323,21 +2326,24 @@ static void Controller_HitAnimation(void) } // Used for all the commands which do nothing. -void BtlController_Empty(void) +void BtlController_Empty(u32 battler) { - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } // Dummy function at the end of the table. -void BtlController_TerminatorNop(void) +void BtlController_TerminatorNop(u32 battler) +{ +} + +void BattleControllerDummy(u32 battler) { } // Handlers of the controller commands -void BtlController_HandleGetMonData(void) +void BtlController_HandleGetMonData(u32 battler) { u8 monData[sizeof(struct Pokemon) * 2 + 56]; // this allows to get full data of two pokemon, trying to get more will result in overwriting data - u32 battler = gActiveBattler; struct Pokemon *party = GetBattlerParty(battler); u32 size = 0; u8 monToCheck; @@ -2361,10 +2367,9 @@ void BtlController_HandleGetMonData(void) BattleControllerComplete(battler); } -void BtlController_HandleGetRawMonData(void) +void BtlController_HandleGetRawMonData(u32 battler) { struct BattlePokemon battleMon; - u32 battler = gActiveBattler; struct Pokemon *party = GetBattlerParty(battler); u8 *src = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; @@ -2378,9 +2383,8 @@ void BtlController_HandleGetRawMonData(void) BattleControllerComplete(battler); } -void BtlController_HandleSetMonData(void) +void BtlController_HandleSetMonData(u32 battler) { - u32 battler = gActiveBattler; struct Pokemon *party = GetBattlerParty(battler); u32 i, monToCheck; @@ -2401,10 +2405,9 @@ void BtlController_HandleSetMonData(void) BattleControllerComplete(battler); } -void BtlController_HandleSetRawMonData(void) +void BtlController_HandleSetRawMonData(u32 battler) { u32 i; - u32 battler = gActiveBattler; struct Pokemon *party = GetBattlerParty(battler); u8 *dst = (u8 *)&party[gBattlerPartyIndexes[battler]] + gBattleResources->bufferA[battler][1]; @@ -2414,7 +2417,7 @@ void BtlController_HandleSetRawMonData(void) BattleControllerComplete(battler); } -void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(void)) +void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(u32 battler)) { u16 species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); @@ -2437,7 +2440,7 @@ void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void gBattlerControllerFuncs[battler] = controllerCallback; } -void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(void)) +void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(u32 battler)) { if (isPlayerSide) ClearTemporarySpeciesSpriteData(battler, gBattleResources->bufferA[battler][2]); @@ -2448,17 +2451,17 @@ void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*c gBattlerControllerFuncs[battler] = controllerCallback; } -void BtlController_HandleReturnMonToBall(void) +void BtlController_HandleReturnMonToBall(u32 battler) { - if (gBattleResources->bufferA[gActiveBattler][1] == 0) + if (gBattleResources->bufferA[battler][1] == 0) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].animationState = 0; - gBattlerControllerFuncs[gActiveBattler] = Controller_ReturnMonToBall; + gBattleSpritesDataPtr->healthBoxesData[battler].animationState = 0; + gBattlerControllerFuncs[battler] = Controller_ReturnMonToBall; } else { - FreeMonSprite(gActiveBattler); - BattleControllerComplete(gActiveBattler); + FreeMonSprite(battler); + BattleControllerComplete(battler); } } @@ -2578,9 +2581,8 @@ void BtlController_HandleTrainerSlideBack(u32 battlerId, s16 data0, bool32 start #define sSpeedX data[1] #define sSpeedY data[2] -void BtlController_HandleFaintAnimation(void) +void BtlController_HandleFaintAnimation(u32 battler) { - u32 battler = gActiveBattler; if (gBattleSpritesDataPtr->healthBoxesData[battler].animationState == 0) { if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) @@ -2711,92 +2713,92 @@ void DoStatusIconUpdate(u32 battler) gBattlerControllerFuncs[battler] = Controller_WaitForStatusAnimation; } -void BtlController_HandleStatusIconUpdate(void) +void BtlController_HandleStatusIconUpdate(u32 battler) { - if (!IsBattleSEPlaying(gActiveBattler)) + if (!IsBattleSEPlaying(battler)) { - DoStatusIconUpdate(gActiveBattler); + DoStatusIconUpdate(battler); } } -void BtlController_HandleStatusAnimation(void) +void BtlController_HandleStatusAnimation(u32 battler) { - if (!IsBattleSEPlaying(gActiveBattler)) + if (!IsBattleSEPlaying(battler)) { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[gActiveBattler][1], - gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8) | (gBattleResources->bufferA[gActiveBattler][4] << 16) | (gBattleResources->bufferA[gActiveBattler][5] << 24)); - gBattlerControllerFuncs[gActiveBattler] = Controller_WaitForStatusAnimation; + InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[battler][1], + gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8) | (gBattleResources->bufferA[battler][4] << 16) | (gBattleResources->bufferA[battler][5] << 24)); + gBattlerControllerFuncs[battler] = Controller_WaitForStatusAnimation; } } -void BtlController_HandleClearUnkVar(void) +void BtlController_HandleClearUnkVar(u32 battler) { gUnusedControllerStruct.unk = 0; - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } -void BtlController_HandleSetUnkVar(void) +void BtlController_HandleSetUnkVar(u32 battler) { - gUnusedControllerStruct.unk = gBattleResources->bufferA[gActiveBattler][1]; - BattleControllerComplete(gActiveBattler); + gUnusedControllerStruct.unk = gBattleResources->bufferA[battler][1]; + BattleControllerComplete(battler); } -void BtlController_HandleClearUnkFlag(void) +void BtlController_HandleClearUnkFlag(u32 battler) { gUnusedControllerStruct.flag = 0; - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } -void BtlController_HandleToggleUnkFlag(void) +void BtlController_HandleToggleUnkFlag(u32 battler) { gUnusedControllerStruct.flag ^= 1; - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } -void BtlController_HandleHitAnimation(void) +void BtlController_HandleHitAnimation(u32 battler) { - if (gSprites[gBattlerSpriteIds[gActiveBattler]].invisible == TRUE) + if (gSprites[gBattlerSpriteIds[battler]].invisible == TRUE) { - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } else { gDoingBattleAnim = TRUE; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[1] = 0; - DoHitAnimHealthboxEffect(gActiveBattler); - gBattlerControllerFuncs[gActiveBattler] = Controller_HitAnimation; + gSprites[gBattlerSpriteIds[battler]].data[1] = 0; + DoHitAnimHealthboxEffect(battler); + gBattlerControllerFuncs[battler] = Controller_HitAnimation; } } -void BtlController_HandlePlaySE(void) +void BtlController_HandlePlaySE(u32 battler) { - s8 pan = (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) ? SOUND_PAN_ATTACKER : SOUND_PAN_TARGET; + s8 pan = (GetBattlerSide(battler) == B_SIDE_PLAYER) ? SOUND_PAN_ATTACKER : SOUND_PAN_TARGET; - PlaySE12WithPanning(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8), pan); - BattleControllerComplete(gActiveBattler); + PlaySE12WithPanning(gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8), pan); + BattleControllerComplete(battler); } -void BtlController_HandlePlayFanfareOrBGM(void) +void BtlController_HandlePlayFanfareOrBGM(u32 battler) { - if (gBattleResources->bufferA[gActiveBattler][3]) + if (gBattleResources->bufferA[battler][3]) { BattleStopLowHpSound(); - PlayBGM(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); + PlayBGM(gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8)); } else { - PlayFanfare(gBattleResources->bufferA[gActiveBattler][1] | (gBattleResources->bufferA[gActiveBattler][2] << 8)); + PlayFanfare(gBattleResources->bufferA[battler][1] | (gBattleResources->bufferA[battler][2] << 8)); } - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } -void BtlController_HandleFaintingCry(void) +void BtlController_HandleFaintingCry(u32 battler) { struct Pokemon *party; s8 pan; - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; pan = -25; @@ -2807,25 +2809,25 @@ void BtlController_HandleFaintingCry(void) pan = 25; } - PlayCry_ByMode(GetMonData(&party[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), pan, CRY_MODE_FAINT); - BattleControllerComplete(gActiveBattler); + PlayCry_ByMode(GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), pan, CRY_MODE_FAINT); + BattleControllerComplete(battler); } -void BtlController_HandleIntroSlide(void) +void BtlController_HandleIntroSlide(u32 battler) { - HandleIntroSlide(gBattleResources->bufferA[gActiveBattler][1]); + HandleIntroSlide(gBattleResources->bufferA[battler][1]); gIntroSlideFlags |= 1; - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } -void BtlController_HandleSpriteInvisibility(void) +void BtlController_HandleSpriteInvisibility(u32 battler) { - if (IsBattlerSpritePresent(gActiveBattler)) + if (IsBattlerSpritePresent(battler)) { - gSprites[gBattlerSpriteIds[gActiveBattler]].invisible = gBattleResources->bufferA[gActiveBattler][1]; - CopyBattleSpriteInvisibility(gActiveBattler); + gSprites[gBattlerSpriteIds[battler]].invisible = gBattleResources->bufferA[battler][1]; + CopyBattleSpriteInvisibility(battler); } - BattleControllerComplete(gActiveBattler); + BattleControllerComplete(battler); } bool32 TwoPlayerIntroMons(u32 battler) // Double battle with both player pokemon active. @@ -2850,7 +2852,7 @@ bool32 TwoOpponentIntroMons(u32 battler) // Double battle with both opponent pok // Sprite data for SpriteCB_FreePlayerSpriteLoadMonSprite #define sBattlerId data[5] -void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, const u32 *trainerPal, s16 framesToWait, void (*controllerCallback)(void)) +void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, const u32 *trainerPal, s16 framesToWait, void (*controllerCallback)(u32 battler)) { u8 paletteNum, taskId; u32 side = GetBattlerSide(battler); @@ -2863,8 +2865,8 @@ void BtlController_HandleIntroTrainerBallThrow(u32 battler, u16 tagTrainerPal, c } else { - gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = 35; - gSprites[gBattlerSpriteIds[gActiveBattler]].data[2] = 280; + gSprites[gBattlerSpriteIds[battler]].data[0] = 35; + gSprites[gBattlerSpriteIds[battler]].data[2] = 280; } gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; @@ -3014,11 +3016,11 @@ void BtlController_HandleDrawPartyStatusSummary(u32 battler, u32 side, bool32 co } } -void BtlController_HandleHidePartyStatusSummary(void) +void BtlController_HandleHidePartyStatusSummary(u32 battler) { - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].partyStatusSummaryShown) - gTasks[gBattlerStatusSummaryTaskId[gActiveBattler]].func = Task_HidePartyStatusSummary; - BattleControllerComplete(gActiveBattler); + if (gBattleSpritesDataPtr->healthBoxesData[battler].partyStatusSummaryShown) + gTasks[gBattlerStatusSummaryTaskId[battler]].func = Task_HidePartyStatusSummary; + BattleControllerComplete(battler); } void BtlController_HandleBattleAnimation(u32 battler, bool32 ignoreSE, bool32 updateTvData) diff --git a/src/battle_main.c b/src/battle_main.c index 77499d6e0e..2f2d3fffa8 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -249,11 +249,9 @@ void (*gPreBattleCallback1)(void); void (*gBattleMainFunc)(void); struct BattleResults gBattleResults; u8 gLeveledUpInBattle; -void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(void); u8 gHealthboxSpriteIds[MAX_BATTLERS_COUNT]; u8 gMultiUsePlayerCursor; u8 gNumberOfMovesToChoose; -u8 gBattleControllerData[MAX_BATTLERS_COUNT]; // Used by the battle controllers to store misc sprite/task IDs for each battler static const struct ScanlineEffectParams sIntroScanlineParams16Bit = { @@ -3076,7 +3074,7 @@ static void BattleMainCB1(void) gBattleMainFunc(); for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) - gBattlerControllerFuncs[gActiveBattler](); + gBattlerControllerFuncs[gActiveBattler](gActiveBattler); } static void BattleStartClearSetData(void) diff --git a/sym_common.txt b/sym_common.txt index 7eebcac74e..170aee2f42 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -37,6 +37,7 @@ gReservedSpritePaletteCount: .include "link_rfu_2.o" .include "rtc.o" .include "battle_main.o" + .include "battle_controllers.o" .include "random.o" .include "load_save.o" .include "berry_blender.o" From f72ec368fcea3e7ecf3d306f3bf59b509302cd03 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 8 Aug 2023 12:55:47 +0200 Subject: [PATCH 132/256] improve switching with ai bad moves --- include/battle.h | 5 +- src/battle_ai_main.c | 120 ++++++++++++++++--------- src/battle_ai_switch_items.c | 6 +- src/battle_controller_player_partner.c | 43 +++++---- src/battle_main.c | 6 +- 5 files changed, 116 insertions(+), 64 deletions(-) diff --git a/include/battle.h b/include/battle.h index 00893d105e..421760af70 100644 --- a/include/battle.h +++ b/include/battle.h @@ -291,6 +291,8 @@ struct AiLogicData s32 simulatedDmg[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex u8 effectiveness[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex u8 moveLimitations[MAX_BATTLERS_COUNT]; + bool8 shouldSwitchMon; // Because all available moves have no/little effect. Each bit per battler. + u8 monToSwitchId[MAX_BATTLERS_COUNT]; // ID of the mon to switch. }; struct AI_ThinkingStruct @@ -303,8 +305,7 @@ struct AI_ThinkingStruct u32 aiFlags; u8 aiAction; u8 aiLogicId; - struct AI_SavedBattleMon saved[4]; - bool8 switchMon; // Because all available moves have no/little effect. + struct AI_SavedBattleMon saved[MAX_BATTLERS_COUNT]; }; #define AI_MOVE_HISTORY_COUNT 3 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 9243bacb9c..c305405c55 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -403,6 +403,78 @@ void GetAiLogicData(void) } } +static bool32 AI_SwitchMonIfSuitable(u32 battlerId) +{ + u32 monToSwitchId = GetMostSuitableMonToSwitchInto(); + if (monToSwitchId != PARTY_SIZE) + { + AI_DATA->shouldSwitchMon |= gBitTable[battlerId]; + AI_DATA->monToSwitchId[battlerId] = monToSwitchId; + return TRUE; + } + return FALSE; +} + +static bool32 AI_ShouldSwitchIfBadMoves(u32 battlerId, bool32 doubleBattle) +{ + u32 i, j; + // If can switch. + if (CountUsablePartyMons(battlerId) > 0 + && !IsBattlerTrapped(battlerId, TRUE) + && !(gBattleTypeFlags & (BATTLE_TYPE_ARENA | BATTLE_TYPE_PALACE)) + && AI_THINKING_STRUCT->aiFlags & (AI_FLAG_CHECK_VIABILITY | AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_PREFER_BATON_PASS)) + { + // Consider switching if all moves are worthless to use. + if (GetTotalBaseStat(gBattleMons[battlerId].species) >= 310 // Mon is not weak. + && gBattleMons[battlerId].hp >= gBattleMons[battlerId].maxHP / 2) // Mon has more than 50% of its HP + { + s32 cap = AI_THINKING_STRUCT->aiFlags & (AI_FLAG_CHECK_VIABILITY) ? 95 : 93; + if (doubleBattle) + { + for (i = 0; i < MAX_BATTLERS_COUNT; i++) + { + if (i != battlerId && IsBattlerAlive(i)) + { + for (j = 0; j < MAX_MON_MOVES; j++) + { + if (gBattleStruct->aiFinalScore[battlerId][i][j] > cap) + break; + } + if (j != MAX_MON_MOVES) + break; + } + } + if (i == MAX_BATTLERS_COUNT && AI_SwitchMonIfSuitable(battlerId)) + return TRUE; + } + else + { + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (AI_THINKING_STRUCT->score[i] > cap) + break; + } + + if (i == MAX_MON_MOVES && AI_SwitchMonIfSuitable(battlerId)) + return TRUE; + } + + } + + // Consider switching if your mon with truant is bodied by Protect spam. + // Or is using a double turn semi invulnerable move(such as Fly) and is faster. + if (GetBattlerAbility(battlerId) == ABILITY_TRUANT + && IsTruantMonVulnerable(battlerId, gBattlerTarget) + && gDisableStructs[battlerId].truantCounter + && gBattleMons[battlerId].hp >= gBattleMons[battlerId].maxHP / 2 + && AI_SwitchMonIfSuitable(battlerId)) + { + return TRUE; + } + } + return FALSE; +} + static u8 ChooseMoveOrAction_Singles(void) { u8 currentMoveArray[MAX_MON_MOVES]; @@ -436,46 +508,9 @@ static u8 ChooseMoveOrAction_Singles(void) gActiveBattler = sBattler_AI; - // If can switch. - if (CountUsablePartyMons(sBattler_AI) > 0 - && !IsAbilityPreventingEscape(sBattler_AI) - && !(gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - && !(gStatuses3[gActiveBattler] & STATUS3_ROOTED) - && !(gBattleTypeFlags & (BATTLE_TYPE_ARENA | BATTLE_TYPE_PALACE)) - && AI_THINKING_STRUCT->aiFlags & (AI_FLAG_CHECK_VIABILITY | AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_PREFER_BATON_PASS)) - { - // Consider switching if all moves are worthless to use. - if (GetTotalBaseStat(gBattleMons[sBattler_AI].species) >= 310 // Mon is not weak. - && gBattleMons[sBattler_AI].hp >= gBattleMons[sBattler_AI].maxHP / 2) - { - s32 cap = AI_THINKING_STRUCT->aiFlags & (AI_FLAG_CHECK_VIABILITY) ? 95 : 93; - for (i = 0; i < MAX_MON_MOVES; i++) - { - if (AI_THINKING_STRUCT->score[i] > cap) - break; - } - - if (i == MAX_MON_MOVES && GetMostSuitableMonToSwitchInto() != PARTY_SIZE) - { - AI_THINKING_STRUCT->switchMon = TRUE; - return AI_CHOICE_SWITCH; - } - } - - // Consider switching if your mon with truant is bodied by Protect spam. - // Or is using a double turn semi invulnerable move(such as Fly) and is faster. - if (GetBattlerAbility(sBattler_AI) == ABILITY_TRUANT - && IsTruantMonVulnerable(sBattler_AI, gBattlerTarget) - && gDisableStructs[sBattler_AI].truantCounter - && gBattleMons[sBattler_AI].hp >= gBattleMons[sBattler_AI].maxHP / 2) - { - if (GetMostSuitableMonToSwitchInto() != PARTY_SIZE) - { - AI_THINKING_STRUCT->switchMon = TRUE; - return AI_CHOICE_SWITCH; - } - } - } + // Swith mon if there are no good moves to use. + if (AI_ShouldSwitchIfBadMoves(sBattler_AI, FALSE)) + return AI_CHOICE_SWITCH; numOfBestMoves = 1; currentMoveArray[0] = AI_THINKING_STRUCT->score[0]; @@ -590,7 +625,6 @@ static u8 ChooseMoveOrAction_Doubles(void) if (i == BATTLE_PARTNER(sBattler_AI) && bestMovePointsForTarget[i] < 100) { bestMovePointsForTarget[i] = -1; - mostViableMovesScores[0] = mostViableMovesScores[0]; // Needed to match. } } @@ -600,6 +634,10 @@ static u8 ChooseMoveOrAction_Doubles(void) } } + // Switch mon if all of the moves are bad to use against any of the target. + if (AI_ShouldSwitchIfBadMoves(sBattler_AI, TRUE)) + return AI_CHOICE_SWITCH; + mostMovePoints = bestMovePointsForTarget[0]; mostViableTargetsArray[0] = 0; mostViableTargetsNo = 1; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 73d7ecb645..cdfbb734ad 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -59,10 +59,10 @@ void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId) static bool8 ShouldSwitchIfAllBadMoves(void) { - if (gBattleResources->ai->switchMon) + if (AI_DATA->shouldSwitchMon & gBitTable[gActiveBattler]) { - gBattleResources->ai->switchMon = 0; - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; + AI_DATA->shouldSwitchMon &= ~(gBitTable[gActiveBattler]); + gBattleStruct->AI_monToSwitchIntoId[gActiveBattler] = AI_DATA->monToSwitchId[gActiveBattler]; BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3a4beeca93..440fc27bf1 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1524,23 +1524,30 @@ static void PlayerPartnerHandleChooseMove(void) chosenMoveId = gBattleStruct->aiMoveOrAction[gActiveBattler]; gBattlerTarget = gBattleStruct->aiChosenTarget[gActiveBattler]; - if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) - gBattlerTarget = gActiveBattler; - if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) + if (chosenMoveId == AI_CHOICE_SWITCH) { - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) - gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); } - - if (ShouldUseZMove(gActiveBattler, gBattlerTarget, moveInfo->moves[chosenMoveId])) - QueueZMove(gActiveBattler, moveInfo->moves[chosenMoveId]); - - // If partner can mega evolve, do it. - if (CanMegaEvolve(gActiveBattler)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); + { + if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) + gBattlerTarget = gActiveBattler; + if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & MOVE_TARGET_BOTH) + { + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + if (gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + gBattlerTarget = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + } + + if (ShouldUseZMove(gActiveBattler, gBattlerTarget, moveInfo->moves[chosenMoveId])) + QueueZMove(gActiveBattler, moveInfo->moves[chosenMoveId]); + + // If partner can mega evolve, do it. + if (CanMegaEvolve(gActiveBattler)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); + else + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); + } PlayerPartnerBufferExecCompleted(); } @@ -1559,7 +1566,7 @@ static void PlayerPartnerHandleChoosePokemon(void) chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(gActiveBattler); } // Switching out - else + else if (gBattleStruct->monToSwitchIntoId[gActiveBattler] == PARTY_SIZE) { chosenMonId = GetMostSuitableMonToSwitchInto(); if (chosenMonId == PARTY_SIZE) // just switch to the next mon @@ -1579,6 +1586,12 @@ static void PlayerPartnerHandleChoosePokemon(void) } *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; } + else // Mon to switch out has been already chosen. + { + chosenMonId = gBattleStruct->monToSwitchIntoId[gActiveBattler]; + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; + *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = chosenMonId; + } BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(); } diff --git a/src/battle_main.c b/src/battle_main.c index eea745356a..d619298c72 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -565,8 +565,8 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; -#if DEBUG_OVERWORLD_MENU == FALSE - +#if DEBUG_OVERWORLD_MENU == FALSE + gBattleTerrain = BattleSetup_GetTerrainId(); #else if (!gIsDebugBattle) @@ -594,7 +594,7 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); -#if DEBUG_OVERWORLD_MENU == FALSE +#if DEBUG_OVERWORLD_MENU == FALSE if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); From 8a3eaadf7b7d8e515563f2b3ed33895ca77700a7 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 8 Aug 2023 08:58:57 -0400 Subject: [PATCH 133/256] Renamed "ButItFailed" script name to align with names below it --- data/battle_scripts_1.s | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 7e99911b19..7aead3a6cc 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -533,7 +533,7 @@ BattleScript_EffectEvasionDown:: setstatchanger STAT_EVASION, 1, TRUE BattleScript_EffectStatDown:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedAtkStringPpReduce + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedPpReduceAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -1216,7 +1216,7 @@ BattleScript_EffectPsywave:: BattleScript_EffectCounter:: attackcanceler - counterdamagecalculator BattleScript_ButItFailedAtkStringPpReduce + counterdamagecalculator BattleScript_ButItFailedPpReduceAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -1543,7 +1543,7 @@ BattleScript_EffectEndure:: BattleScript_EffectSpikes:: attackcanceler - trysetspikes BattleScript_ButItFailedAtkStringPpReduce + trysetspikes BattleScript_ButItFailedPpReduceAtkString attackstring ppreduce attackanimation @@ -1800,7 +1800,7 @@ BattleScript_EffectPsychUp:: BattleScript_EffectMirrorCoat:: attackcanceler - mirrorcoatdamagecalculator BattleScript_ButItFailedAtkStringPpReduce + mirrorcoatdamagecalculator BattleScript_ButItFailedPpReduceAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -2047,11 +2047,11 @@ BattleScript_AlreadyAtFullHp:: BattleScript_EffectFakeOut:: attackcanceler - jumpifnotfirstturn BattleScript_ButItFailedAtkStringPpReduce + jumpifnotfirstturn BattleScript_ButItFailedPpReduceAtkString setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_ButItFailedAtkStringPpReduce:: +BattleScript_ButItFailedPpReduceAtkString:: attackstring BattleScript_ButItFailedPpReduce:: ppreduce @@ -2391,7 +2391,7 @@ BattleScript_EffectSuperpower:: BattleScript_EffectMagicCoat:: attackcanceler - trysetmagiccoat BattleScript_ButItFailedAtkStringPpReduce + trysetmagiccoat BattleScript_ButItFailedPpReduceAtkString attackstring ppreduce attackanimation @@ -2542,7 +2542,7 @@ BattleScript_EffectGrudge:: BattleScript_EffectSnatch:: attackcanceler - trysetsnatch BattleScript_ButItFailedAtkStringPpReduce + trysetsnatch BattleScript_ButItFailedPpReduceAtkString attackstring ppreduce attackanimation From be0861b7468ad86ccd62998b111e7491e0eca52f Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 8 Aug 2023 20:03:19 +0200 Subject: [PATCH 134/256] Update src/battle_ai_main.c Co-authored-by: LOuroboros --- src/battle_ai_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index c305405c55..5ab24f943f 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -508,7 +508,7 @@ static u8 ChooseMoveOrAction_Singles(void) gActiveBattler = sBattler_AI; - // Swith mon if there are no good moves to use. + // Switch mon if there are no good moves to use. if (AI_ShouldSwitchIfBadMoves(sBattler_AI, FALSE)) return AI_CHOICE_SWITCH; From 087a2cecefd3951637fb36e4a0e2d5ad269fe13d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 8 Aug 2023 14:38:00 -0400 Subject: [PATCH 135/256] Fix Bravo Trainer Tower member names --- include/global.tv.h | 8 ++++---- src/tv.c | 50 ++++++++++++++++++++++----------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/include/global.tv.h b/include/global.tv.h index 3729562cd6..9c3902e7cc 100644 --- a/include/global.tv.h +++ b/include/global.tv.h @@ -113,17 +113,17 @@ typedef union // size = 0x24 struct { /*0x00*/ u8 kind; /*0x01*/ bool8 active; - /*0x02*/ u8 trainerName[PLAYER_NAME_LENGTH + 1]; + /*0x02*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x0A*/ u16 species; - /*0x0C*/ u8 pokemonName[8]; + /*0x0C*/ u8 opponentName[PLAYER_NAME_LENGTH + 1]; /*0x14*/ u16 defeatedSpecies; /*0x16*/ u16 numFights; /*0x18*/ u16 words[1]; /*0x1A*/ u8 btLevel; /*0x1B*/ u8 interviewResponse; /*0x1C*/ bool8 wonTheChallenge; - /*0x1D*/ u8 language; - /*0x1E*/ u8 pokemonNameLanguage; + /*0x1D*/ u8 playerLanguage; + /*0x1E*/ u8 opponentLanguage; /*0x1F*/ //u8 padding; } bravoTrainerTower; diff --git a/src/tv.c b/src/tv.c index 85819a7a1d..db00cf31f1 100644 --- a/src/tv.c +++ b/src/tv.c @@ -1483,8 +1483,8 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) TVShow *show = &gSaveBlock1Ptr->tvShows[sCurTVShowSlot]; show->bravoTrainerTower.kind = TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE; show->bravoTrainerTower.active = TRUE; - StringCopy(show->bravoTrainerTower.trainerName, gSaveBlock2Ptr->playerName); - StringCopy(show->bravoTrainerTower.pokemonName, gSaveBlock2Ptr->frontier.towerInterview.opponentName); + StringCopy(show->bravoTrainerTower.playerName, gSaveBlock2Ptr->playerName); + StringCopy(show->bravoTrainerTower.opponentName, gSaveBlock2Ptr->frontier.towerInterview.opponentName); show->bravoTrainerTower.species = gSaveBlock2Ptr->frontier.towerInterview.playerSpecies; show->bravoTrainerTower.defeatedSpecies = gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies; show->bravoTrainerTower.numFights = GetCurrentBattleTowerWinStreak(gSaveBlock2Ptr->frontier.towerLvlMode, 0); @@ -1495,11 +1495,11 @@ static void InterviewAfter_BravoTrainerBattleTowerProfile(void) show->bravoTrainerTower.btLevel = FRONTIER_MAX_LEVEL_OPEN; show->bravoTrainerTower.interviewResponse = gSpecialVar_0x8004; StorePlayerIdInNormalShow(show); - show->bravoTrainerTower.language = gGameLanguage; - if (show->bravoTrainerTower.language == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage == LANGUAGE_JAPANESE) - show->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE; + show->bravoTrainerTower.playerLanguage = gGameLanguage; + if (show->bravoTrainerTower.playerLanguage == LANGUAGE_JAPANESE || gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage == LANGUAGE_JAPANESE) + show->bravoTrainerTower.opponentLanguage = LANGUAGE_JAPANESE; else - show->bravoTrainerTower.pokemonNameLanguage = gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage; + show->bravoTrainerTower.opponentLanguage = gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage; } void TryPutSmartShopperOnAir(void) @@ -3992,8 +3992,8 @@ static void TranslateShowNames(TVShow *show, u32 language) break; case TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE: shows[5] = &show[i]; - SetStrLanguage(shows[5]->bravoTrainerTower.trainerName, shows[5]->bravoTrainerTower.language, language); - SetStrLanguage(shows[5]->bravoTrainerTower.pokemonName, shows[5]->bravoTrainerTower.pokemonNameLanguage, language); + SetStrLanguage(shows[5]->bravoTrainerTower.playerName, shows[5]->bravoTrainerTower.playerLanguage, language); + SetStrLanguage(shows[5]->bravoTrainerTower.opponentName, shows[5]->bravoTrainerTower.opponentLanguage, language); break; case TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE: shows[4] = &show[i]; @@ -4035,8 +4035,8 @@ void SanitizeTVShowsForRuby(TVShow *shows) { if (curShow->bravoTrainerTower.kind == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE) { - if ((curShow->bravoTrainerTower.language == LANGUAGE_JAPANESE && curShow->bravoTrainerTower.pokemonNameLanguage != LANGUAGE_JAPANESE) - || (curShow->bravoTrainerTower.language != LANGUAGE_JAPANESE && curShow->bravoTrainerTower.pokemonNameLanguage == LANGUAGE_JAPANESE)) + if ((curShow->bravoTrainerTower.playerLanguage == LANGUAGE_JAPANESE && curShow->bravoTrainerTower.opponentLanguage != LANGUAGE_JAPANESE) + || (curShow->bravoTrainerTower.playerLanguage != LANGUAGE_JAPANESE && curShow->bravoTrainerTower.opponentLanguage == LANGUAGE_JAPANESE)) memset(curShow, 0, sizeof(TVShow)); } } @@ -4050,10 +4050,10 @@ static void TranslateRubyShows(TVShow *shows) { if (curShow->bravoTrainerTower.kind == TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE) { - if (IsStringJapanese(curShow->bravoTrainerTower.pokemonName)) - curShow->bravoTrainerTower.pokemonNameLanguage = LANGUAGE_JAPANESE; + if (IsStringJapanese(curShow->bravoTrainerTower.opponentName)) + curShow->bravoTrainerTower.opponentLanguage = LANGUAGE_JAPANESE; else - curShow->bravoTrainerTower.pokemonNameLanguage = GAME_LANGUAGE; + curShow->bravoTrainerTower.opponentLanguage = GAME_LANGUAGE; } } } @@ -4093,8 +4093,8 @@ static void TranslateJapaneseEmeraldShows(TVShow *shows) curShow->bravoTrainer.pokemonNameLanguage = GetStringLanguage(curShow->bravoTrainer.pokemonNickname); break; case TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE: - curShow->bravoTrainerTower.language = GetStringLanguage(curShow->bravoTrainerTower.trainerName); - curShow->bravoTrainerTower.pokemonNameLanguage = GetStringLanguage(curShow->bravoTrainerTower.pokemonName); + curShow->bravoTrainerTower.playerLanguage = GetStringLanguage(curShow->bravoTrainerTower.playerName); + curShow->bravoTrainerTower.opponentLanguage = GetStringLanguage(curShow->bravoTrainerTower.opponentName); break; case TVSHOW_CONTEST_LIVE_UPDATES: curShow->contestLiveUpdates.winningTrainerLanguage = GetStringLanguage(curShow->contestLiveUpdates.winningTrainerName); @@ -4385,7 +4385,7 @@ static void DoTVShowBravoTrainerBattleTower(void) switch(state) { case BRAVOTOWER_STATE_INTRO: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.playerName, show->bravoTrainerTower.playerLanguage); StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.species]); if (show->bravoTrainerTower.numFights >= FRONTIER_STAGES_PER_CHALLENGE) sTVShowState = BRAVOTOWER_STATE_NEW_RECORD; @@ -4406,7 +4406,7 @@ static void DoTVShowBravoTrainerBattleTower(void) sTVShowState = BRAVOTOWER_STATE_LOST_FINAL; break; case BRAVOTOWER_STATE_LOST: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.opponentName, show->bravoTrainerTower.opponentLanguage); ConvertIntToDecimalString(1, show->bravoTrainerTower.numFights + 1); if (show->bravoTrainerTower.interviewResponse == 0) sTVShowState = BRAVOTOWER_STATE_SATISFIED; @@ -4414,7 +4414,7 @@ static void DoTVShowBravoTrainerBattleTower(void) sTVShowState = BRAVOTOWER_STATE_UNSATISFIED; break; case BRAVOTOWER_STATE_WON: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.opponentName, show->bravoTrainerTower.opponentLanguage); StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.defeatedSpecies]); if (show->bravoTrainerTower.interviewResponse == 0) sTVShowState = BRAVOTOWER_STATE_SATISFIED; @@ -4422,7 +4422,7 @@ static void DoTVShowBravoTrainerBattleTower(void) sTVShowState = BRAVOTOWER_STATE_UNSATISFIED; break; case BRAVOTOWER_STATE_LOST_FINAL: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.opponentName, show->bravoTrainerTower.opponentLanguage); StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.defeatedSpecies]); if (show->bravoTrainerTower.interviewResponse == 0) sTVShowState = BRAVOTOWER_STATE_SATISFIED; @@ -4430,11 +4430,11 @@ static void DoTVShowBravoTrainerBattleTower(void) sTVShowState = BRAVOTOWER_STATE_UNSATISFIED; break; case BRAVOTOWER_STATE_SATISFIED: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.opponentName, show->bravoTrainerTower.opponentLanguage); sTVShowState = BRAVOTOWER_STATE_RESPONSE; break; case BRAVOTOWER_STATE_UNSATISFIED: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.opponentName, show->bravoTrainerTower.opponentLanguage); sTVShowState = BRAVOTOWER_STATE_RESPONSE; break; case BRAVOTOWER_STATE_UNUSED_1: @@ -4443,7 +4443,7 @@ static void DoTVShowBravoTrainerBattleTower(void) case BRAVOTOWER_STATE_UNUSED_2: case BRAVOTOWER_STATE_UNUSED_3: case BRAVOTOWER_STATE_UNUSED_4: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.playerName, show->bravoTrainerTower.playerLanguage); sTVShowState = BRAVOTOWER_STATE_RESPONSE; break; case BRAVOTOWER_STATE_RESPONSE: @@ -4456,12 +4456,12 @@ static void DoTVShowBravoTrainerBattleTower(void) case BRAVOTOWER_STATE_RESPONSE_SATISFIED: case BRAVOTOWER_STATE_RESPONSE_UNSATISFIED: CopyEasyChatWord(gStringVar1, show->bravoTrainerTower.words[0]); - TVShowConvertInternationalString(gStringVar2, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language); - TVShowConvertInternationalString(gStringVar3, show->bravoTrainerTower.pokemonName, show->bravoTrainerTower.pokemonNameLanguage); + TVShowConvertInternationalString(gStringVar2, show->bravoTrainerTower.playerName, show->bravoTrainerTower.playerLanguage); + TVShowConvertInternationalString(gStringVar3, show->bravoTrainerTower.opponentName, show->bravoTrainerTower.opponentLanguage); sTVShowState = BRAVOTOWER_STATE_OUTRO; break; case BRAVOTOWER_STATE_OUTRO: - TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.trainerName, show->bravoTrainerTower.language); + TVShowConvertInternationalString(gStringVar1, show->bravoTrainerTower.playerName, show->bravoTrainerTower.playerLanguage); StringCopy(gStringVar2, gSpeciesNames[show->bravoTrainerTower.species]); TVShowDone(); break; From 65fee186f84ab80c578878b2120ed4ce75e6cf14 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 8 Aug 2023 15:27:52 -0400 Subject: [PATCH 136/256] Automatically update nickname buffer sizes --- include/battle_message.h | 6 +++++- include/constants/global.h | 1 + src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 2 +- src/battle_controller_player.c | 2 +- src/battle_controller_player_partner.c | 2 +- src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- src/battle_controller_wally.c | 2 +- src/battle_message.c | 26 ++++++++++++++--------- src/contest.c | 20 +++++++++++------ src/daycare.c | 17 ++++++--------- src/egg_hatch.c | 2 +- src/evolution_scene.c | 18 +++++++--------- src/hall_of_fame.c | 20 ++++++++--------- src/menu_specialized.c | 6 +++--- src/pokemon.c | 6 +++--- src/pokenav_conditions.c | 4 ++-- src/trade.c | 14 ++++++------ 20 files changed, 83 insertions(+), 73 deletions(-) diff --git a/include/battle_message.h b/include/battle_message.h index d34d2125a2..d62c260049 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -1,7 +1,11 @@ #ifndef GUARD_BATTLE_MESSAGE_H #define GUARD_BATTLE_MESSAGE_H -#define TEXT_BUFF_ARRAY_COUNT 16 +// This buffer can hold many different things. Some of the things it can hold +// that have explicit sizes are listed below to ensure it can contain them. +#define TEXT_BUFF_ARRAY_COUNT max(16, \ + max(MOVE_NAME_LENGTH + 2, /* +2 to hold the "!" and EOS. */ \ + POKEMON_NAME_LENGTH + 1)) // for 0xFD #define B_TXT_BUFF1 0x0 diff --git a/include/constants/global.h b/include/constants/global.h index 04f1d548c4..199acfe6c6 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -92,6 +92,7 @@ // string lengths #define ITEM_NAME_LENGTH 14 #define POKEMON_NAME_LENGTH 10 +#define POKEMON_NAME_BUFFER_SIZE max(20, POKEMON_NAME_LENGTH + 1) // Frequently used buffer size. Larger than necessary #define PLAYER_NAME_LENGTH 7 #define MAIL_WORDS_COUNT 9 #define EASY_CHAT_BATTLE_WORDS_COUNT 6 diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 0f1ce1b17f..2104298775 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -556,7 +556,7 @@ static u32 CopyLinkOpponentMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index 3b2e014253..054563ad3a 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -450,7 +450,7 @@ static u32 CopyLinkPartnerMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 8246a6f80f..12402f91ea 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -561,7 +561,7 @@ static u32 GetOpponentMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 3d0531325e..cdc5fe8429 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1608,7 +1608,7 @@ static u32 CopyPlayerMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 5b08a2c529..6127e2d655 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -634,7 +634,7 @@ static u32 CopyPlayerPartnerMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 872a61c0e7..b2db595f8a 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -542,7 +542,7 @@ static u32 CopyRecordedOpponentMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index d23aaa8b04..591ddb67e3 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -525,7 +525,7 @@ static u32 CopyRecordedPlayerMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index ca81677f20..5b94f2dd26 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -452,7 +452,7 @@ static u32 CopyWallyMonData(u8 monId, u8 *dst) { struct BattlePokemon battleMon; struct MovePpInfo moveData; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 *src; s16 data16; u32 data32; diff --git a/src/battle_message.c b/src/battle_message.c index b02e9e445c..6ae16164d9 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1323,7 +1323,8 @@ const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Draw"); static const u8 sText_SpaceIs[] = _(" is"); static const u8 sText_ApostropheS[] = _("'s"); -// For displaying names of invalid moves +// For displaying names of invalid moves. +// This is large enough that the text for TYPE_ELECTRIC will exceed TEXT_BUFF_ARRAY_COUNT. static const u8 sATypeMove_Table[NUMBER_OF_MON_TYPES][17] = { [TYPE_NORMAL] = _("a NORMAL move"), @@ -1472,7 +1473,7 @@ static const u16 sGrammarMoveUsedTable[] = MOVE_COVET, 0 }; -static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0}; +static const u8 sText_EmptyStatus[] = _("$$$$$$$"); static const struct BattleWindowText sTextOnWindowsInfo_Normal[] = { @@ -2259,10 +2260,10 @@ static const u8 *TryGetStatusString(u8 *src) u32 chars1, chars2; u8 *statusPtr; - memcpy(status, sDummyWeirdStatusString, 8); + memcpy(status, sText_EmptyStatus, min(ARRAY_COUNT(status), ARRAY_COUNT(sText_EmptyStatus))); statusPtr = status; - for (i = 0; i < 8; i++) + for (i = 0; i < ARRAY_COUNT(status); i++) { if (*src == EOS) break; // one line required to match -g *statusPtr = *src; @@ -2304,11 +2305,16 @@ static const u8 *TryGetStatusString(u8 *src) StringGet_Nickname(text); \ toCpy = text; +// Ensure the defined length for an item name can contain the full defined length of a berry name. +// This ensures that custom Enigma Berry names will fit in the text buffer at the top of BattleStringExpandPlaceholders. +STATIC_ASSERT(BERRY_NAME_LENGTH + 1 + ARRAY_COUNT(sText_BerrySuffix) <= ITEM_NAME_LENGTH, BerryNameTooLong); + u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) { u32 dstID = 0; // if they used dstID, why not use srcID as well? const u8 *toCpy = NULL; - u8 text[30]; + // This buffer may hold either the name of a trainer, pokemon, or item. + u8 text[max(max(max(32, TRAINER_NAME_LENGTH + 1), POKEMON_NAME_LENGTH + 1), ITEM_NAME_LENGTH)]; u8 multiplayerId; s32 i; @@ -2753,7 +2759,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) { u32 srcID = 1; u32 value = 0; - u8 text[12]; + u8 nickname[POKEMON_NAME_LENGTH + 1]; u16 hword; *dst = EOS; @@ -2793,7 +2799,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) case B_BUFF_MON_NICK_WITH_PREFIX: // poke nick with prefix if (GetBattlerSide(src[srcID + 1]) == B_SIDE_PLAYER) { - GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gPlayerParty[src[srcID + 2]], MON_DATA_NICKNAME, nickname); } else { @@ -2802,10 +2808,10 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst) else StringAppend(dst, sText_WildPkmnPrefix); - GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, nickname); } - StringGet_Nickname(text); - StringAppend(dst, text); + StringGet_Nickname(nickname); + StringAppend(dst, nickname); srcID += 3; break; case B_BUFF_STAT: // stats diff --git a/src/contest.c b/src/contest.c index 741a0e12db..151e87af49 100644 --- a/src/contest.c +++ b/src/contest.c @@ -2775,7 +2775,7 @@ static bool8 IsPlayerLinkLeader(void) void CreateContestMonFromParty(u8 partyIndex) { - u8 name[20]; + u8 name[max(PLAYER_NAME_LENGTH + 1, POKEMON_NAME_BUFFER_SIZE)]; u16 heldItem; s16 cool; s16 beauty; @@ -2785,10 +2785,8 @@ void CreateContestMonFromParty(u8 partyIndex) StringCopy(name, gSaveBlock2Ptr->playerName); if (gLinkContestFlags & LINK_CONTEST_FLAG_IS_LINK) - { StripPlayerNameForLinkContest(name); - } - memcpy(gContestMons[gContestPlayerMonIndex].trainerName, name, 8); + memcpy(gContestMons[gContestPlayerMonIndex].trainerName, name, PLAYER_NAME_LENGTH + 1); if (gSaveBlock2Ptr->playerGender == MALE) gContestMons[gContestPlayerMonIndex].trainerGfxId = OBJ_EVENT_GFX_LINK_BRENDAN; else @@ -6020,8 +6018,10 @@ static u8 GetMonNicknameLanguage(u8 *nickname) if (nickname[0] == EXT_CTRL_CODE_BEGIN && nickname[1] == EXT_CTRL_CODE_JPN) return GAME_LANGUAGE; - if (StringLength(nickname) < PLAYER_NAME_LENGTH - 1) + if (StringLength(nickname) <= 5) { + // Name is short enough that it might be Japanese. + // Make sure all the character values are valid latin name characters. while (*nickname != EOS) { if ((*nickname >= CHAR_A && *nickname <= CHAR_z) @@ -6039,12 +6039,18 @@ static u8 GetMonNicknameLanguage(u8 *nickname) || *nickname == CHAR_DBL_QUOTE_LEFT || *nickname == CHAR_DBL_QUOTE_RIGHT || *nickname == CHAR_SGL_QUOTE_LEFT - || *nickname == CHAR_DBL_QUOTE_LEFT) // Most likely a typo, CHAR_SGL_QUOTE_RIGHT should be here instead. +#ifdef BUGFIX + || *nickname == CHAR_SGL_QUOTE_RIGHT +#else + || *nickname == CHAR_DBL_QUOTE_LEFT // Most likely a typo, CHAR_SGL_QUOTE_RIGHT should be here instead. +#endif + ) { nickname++; } else { + // Invalid latin name character, assume the name was Japanese. ret = LANGUAGE_JAPANESE; break; } @@ -6101,7 +6107,7 @@ void StripPlayerAndMonNamesForLinkContest(struct ContestPokemon *mon, s32 langua name = mon->trainerName; if (language == LANGUAGE_JAPANESE) { - name[PLAYER_NAME_LENGTH] = EOS; + name[7] = EOS; name[6] = name[4]; name[5] = name[3]; name[4] = name[2]; diff --git a/src/daycare.c b/src/daycare.c index 9d199f0f3a..5922a60fff 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -93,16 +93,14 @@ static const u8 sJapaneseEggNickname[] = _("タマゴ"); // "tamago" ("egg" in J u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest) { - u8 nickname[POKEMON_NAME_LENGTH * 2]; - + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; GetMonData(mon, MON_DATA_NICKNAME, nickname); return StringCopy_Nickname(dest, nickname); } u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest) { - u8 nickname[POKEMON_NAME_LENGTH * 2]; - + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; GetBoxMonData(mon, MON_DATA_NICKNAME, nickname); return StringCopy_Nickname(dest, nickname); } @@ -946,12 +944,12 @@ static bool8 IsEggPending(struct DayCare *daycare) // gStringVar3 = first mon trainer's name static void _GetDaycareMonNicknames(struct DayCare *daycare) { - u8 text[12]; + u8 otName[max(12, PLAYER_NAME_LENGTH + 1)]; if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) { GetBoxMonNickname(&daycare->mons[0].mon, gStringVar1); - GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); - StringCopy(gStringVar3, text); + GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, otName); + StringCopy(gStringVar3, otName); } if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) @@ -1146,7 +1144,7 @@ static u8 *AppendMonGenderSymbol(u8 *name, struct BoxPokemon *boxMon) static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) { - u8 monNames[DAYCARE_MON_COUNT][20]; + u8 monNames[DAYCARE_MON_COUNT][POKEMON_NAME_BUFFER_SIZE]; u8 i; *dest = EOS; @@ -1204,8 +1202,7 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y) static void DaycarePrintMonNickname(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) { - u8 nickname[POKEMON_NAME_LENGTH * 2]; - + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; GetBoxMonNickname(&daycare->mons[daycareSlotId].mon, nickname); AppendMonGenderSymbol(nickname, &daycare->mons[daycareSlotId].mon); DaycareAddTextPrinter(windowId, nickname, 8, y); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 96d431a226..e9d287cf72 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -399,7 +399,7 @@ void ScriptHatchMon(void) static bool8 _CheckDaycareMonReceivedMail(struct DayCare *daycare, u8 daycareId) { - u8 nickname[32]; + u8 nickname[max(32, POKEMON_NAME_BUFFER_SIZE)]; struct DaycareMon *daycareMon = &daycare->mons[daycareId]; GetBoxMonNickname(&daycareMon->mon, nickname); diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 3b92a0c435..dc19862616 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -208,7 +208,7 @@ void BeginEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopE void EvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, bool8 canStopEvo, u8 partyId) { - u8 name[20]; + u8 name[POKEMON_NAME_BUFFER_SIZE]; u16 currSpecies; u32 trainerId, personality; const struct CompressedSpritePalette* pokePal; @@ -467,7 +467,7 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void) void TradeEvolutionScene(struct Pokemon *mon, u16 postEvoSpecies, u8 preEvoSpriteId, u8 partyId) { - u8 name[20]; + u8 name[POKEMON_NAME_BUFFER_SIZE]; u16 currSpecies; u32 trainerId, personality; const struct CompressedSpritePalette* pokePal; @@ -775,8 +775,7 @@ static void Task_EvolutionScene(u8 taskId) var = MonTryLearningNewMove(mon, gTasks[taskId].tLearnsFirstMove); if (var != MOVE_NONE && !gTasks[taskId].tEvoWasStopped) { - u8 text[20]; - + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; if (!(gTasks[taskId].tBits & TASK_BIT_LEARN_MOVE)) { StopMapMusic(); @@ -786,8 +785,8 @@ static void Task_EvolutionScene(u8 taskId) gTasks[taskId].tBits |= TASK_BIT_LEARN_MOVE; gTasks[taskId].tLearnsFirstMove = FALSE; gTasks[taskId].tLearnMoveState = MVSTATE_INTRO_MSG_1; - GetMonData(mon, MON_DATA_NICKNAME, text); - StringCopy_Nickname(gBattleTextBuff1, text); + GetMonData(mon, MON_DATA_NICKNAME, nickname); + StringCopy_Nickname(gBattleTextBuff1, nickname); if (var == MON_HAS_MAX_MOVES) gTasks[taskId].tState = EVOSTATE_REPLACE_MOVE; @@ -1195,13 +1194,12 @@ static void Task_TradeEvolutionScene(u8 taskId) var = MonTryLearningNewMove(mon, gTasks[taskId].tLearnsFirstMove); if (var != MOVE_NONE && !gTasks[taskId].tEvoWasStopped) { - u8 text[20]; - + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; gTasks[taskId].tBits |= TASK_BIT_LEARN_MOVE; gTasks[taskId].tLearnsFirstMove = FALSE; gTasks[taskId].tLearnMoveState = 0; - GetMonData(mon, MON_DATA_NICKNAME, text); - StringCopy_Nickname(gBattleTextBuff1, text); + GetMonData(mon, MON_DATA_NICKNAME, nickname); + StringCopy_Nickname(gBattleTextBuff1, nickname); if (var == MON_HAS_MAX_MOVES) gTasks[taskId].tState = T_EVOSTATE_REPLACE_MOVE; diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 2e79a1f6b6..63c7c30c26 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -44,7 +44,7 @@ struct HallofFameMon u32 personality; u16 species:9; u16 lvl:7; - u8 nick[POKEMON_NAME_LENGTH]; + u8 nickname[POKEMON_NAME_LENGTH]; }; struct HallofFameTeam @@ -338,7 +338,7 @@ static const struct HallofFameMon sDummyFameMon = .personality = 0, .species = SPECIES_NONE, .lvl = 0, - .nick = {0} + .nickname = {0} }; // Unused, order of party slots on Hall of Fame screen @@ -442,18 +442,16 @@ static void Task_Hof_InitMonData(u8 taskId) for (i = 0; i < PARTY_SIZE; i++) { - u8 nick[POKEMON_NAME_LENGTH + 2]; + u8 nickname[POKEMON_NAME_LENGTH + 1]; if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES)) { sHofMonPtr->mon[i].species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG); sHofMonPtr->mon[i].tid = GetMonData(&gPlayerParty[i], MON_DATA_OT_ID); sHofMonPtr->mon[i].personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); sHofMonPtr->mon[i].lvl = GetMonData(&gPlayerParty[i], MON_DATA_LEVEL); - GetMonData(&gPlayerParty[i], MON_DATA_NICKNAME, nick); + GetMonData(&gPlayerParty[i], MON_DATA_NICKNAME, nickname); for (j = 0; j < POKEMON_NAME_LENGTH; j++) - { - sHofMonPtr->mon[i].nick[j] = nick[j]; - } + sHofMonPtr->mon[i].nickname[j] = nickname[j]; gTasks[taskId].tMonNumber++; } else @@ -462,7 +460,7 @@ static void Task_Hof_InitMonData(u8 taskId) sHofMonPtr->mon[i].tid = 0; sHofMonPtr->mon[i].personality = 0; sHofMonPtr->mon[i].lvl = 0; - sHofMonPtr->mon[i].nick[0] = EOS; + sHofMonPtr->mon[i].nickname[0] = EOS; } } @@ -1115,7 +1113,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2) static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u8 unused2) { - u8 text[30]; + u8 text[max(32, POKEMON_NAME_LENGTH + 1)]; u8 *stringPtr; s32 dexNumber; s32 width; @@ -1148,8 +1146,8 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u AddTextPrinterParameterized3(0, FONT_NORMAL, 0x10, 1, sMonInfoTextColors, TEXT_SKIP_DRAW, text); } - // nick, species names, gender and level - memcpy(text, currMon->nick, POKEMON_NAME_LENGTH); + // nickname, species names, gender and level + memcpy(text, currMon->nickname, POKEMON_NAME_LENGTH); text[POKEMON_NAME_LENGTH] = EOS; if (currMon->species == SPECIES_EGG) { diff --git a/src/menu_specialized.c b/src/menu_specialized.c index 8f25c3188f..15fdafbeb2 100644 --- a/src/menu_specialized.c +++ b/src/menu_specialized.c @@ -918,7 +918,7 @@ static u8 *GetConditionMenuMonString(u8 *dst, u16 boxId, u16 monId) *(dst++) = TEXT_COLOR_TRANSPARENT; *(dst++) = TEXT_COLOR_LIGHT_BLUE; if (GetBoxOrPartyMonData(box, mon, MON_DATA_IS_EGG, NULL)) - return StringCopyPadded(dst, gText_EggNickname, 0, 12); + return StringCopyPadded(dst, gText_EggNickname, 0, POKEMON_NAME_LENGTH + 2); GetBoxOrPartyMonData(box, mon, MON_DATA_NICKNAME, dst); StringGet_Nickname(dst); species = GetBoxOrPartyMonData(box, mon, MON_DATA_SPECIES, NULL); @@ -1020,7 +1020,7 @@ void GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId locationDst[3] = TEXT_COLOR_TRANSPARENT; locationDst[4] = TEXT_COLOR_LIGHT_BLUE; if (box == TOTAL_BOXES_COUNT) // Party mon. - BufferConditionMenuSpacedStringN(&locationDst[5], gText_InParty, 8); + BufferConditionMenuSpacedStringN(&locationDst[5], gText_InParty, BOX_NAME_LENGTH); else BufferConditionMenuSpacedStringN(&locationDst[5], GetBoxNamePtr(box), BOX_NAME_LENGTH); } @@ -1029,7 +1029,7 @@ void GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId for (i = 0; i < POKEMON_NAME_LENGTH + 2; i++) nameDst[i] = CHAR_SPACE; nameDst[i] = EOS; - for (i = 0; i < 8; i++) + for (i = 0; i < BOX_NAME_LENGTH; i++) locationDst[i] = CHAR_SPACE; locationDst[i] = EOS; } diff --git a/src/pokemon.c b/src/pokemon.c index b8f7ae48b3..f7a3ff88e5 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2406,7 +2406,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src) { s32 i; - u8 nickname[30]; + u8 nickname[max(32, POKEMON_NAME_BUFFER_SIZE)]; u8 language; u8 value; @@ -2460,7 +2460,7 @@ void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src) void CreateBattleTowerMon_HandleLevel(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50) { s32 i; - u8 nickname[30]; + u8 nickname[max(32, POKEMON_NAME_BUFFER_SIZE)]; u8 level; u8 language; u8 value; @@ -4629,7 +4629,7 @@ void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex) { u16 *hpSwitchout; s32 i; - u8 nickname[POKEMON_NAME_LENGTH * 2]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; gBattleMons[battlerId].species = GetMonData(&gPlayerParty[partyIndex], MON_DATA_SPECIES, NULL); gBattleMons[battlerId].item = GetMonData(&gPlayerParty[partyIndex], MON_DATA_HELD_ITEM, NULL); diff --git a/src/pokenav_conditions.c b/src/pokenav_conditions.c index 05f86cab2f..1ebf6edbe9 100644 --- a/src/pokenav_conditions.c +++ b/src/pokenav_conditions.c @@ -348,7 +348,7 @@ static u8 *CopyConditionMonNameGender(u8 *str, u16 listId, bool8 skipPadding) *(str++) = TEXT_COLOR_LIGHT_BLUE; if (GetBoxOrPartyMonData(boxId, monId, MON_DATA_IS_EGG, NULL)) - return StringCopyPadded(str, gText_EggNickname, CHAR_SPACE, 12); + return StringCopyPadded(str, gText_EggNickname, CHAR_SPACE, POKEMON_NAME_LENGTH + 2); GetBoxOrPartyMonData(boxId, monId, MON_DATA_NICKNAME, str); StringGet_Nickname(str); @@ -445,7 +445,7 @@ static void CopyMonNameGenderLocation(s16 listId, u8 loadId) } else { - for (i = 0; i < 12; i++) + for (i = 0; i < POKEMON_NAME_LENGTH + 2; i++) menu->nameText[loadId][i] = CHAR_SPACE; menu->nameText[loadId][i] = EOS; diff --git a/src/trade.c b/src/trade.c index 971f0d966e..28e8f89d1c 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1864,7 +1864,7 @@ static void SetSelectedMon(u8 cursorPosition) static void DrawSelectedMonScreen(u8 whichParty) { s8 nameStringWidth; - u8 nickname[20]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; u8 movesString[56]; u8 i; u8 partyIdx; @@ -1950,7 +1950,7 @@ static void DrawSelectedMonScreen(u8 whichParty) static u8 GetMonNicknameWidth(u8 *str, u8 whichParty, u8 partyIdx) { - u8 nickname[POKEMON_NAME_LENGTH]; + u8 nickname[POKEMON_NAME_LENGTH + 1]; if (whichParty == TRADE_PLAYER) GetMonData(&gPlayerParty[partyIdx], MON_DATA_NICKNAME, nickname); @@ -2006,8 +2006,8 @@ static void PrintPartyMonNickname(u8 whichParty, u8 windowId, u8 *nickname) static void PrintPartyNicknames(u8 whichParty) { u8 i; - u8 nickname[20]; - u8 str[32]; + u8 nickname[POKEMON_NAME_BUFFER_SIZE]; + u8 str[max(32, POKEMON_NAME_BUFFER_SIZE)]; struct Pokemon *party = (whichParty == TRADE_PLAYER) ? gPlayerParty : gEnemyParty; for (i = 0; i < sTradeMenu->partyCounts[whichParty]; i++) @@ -2023,7 +2023,7 @@ static void PrintLevelAndGender(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 width, u8 level; u32 symbolTile; u8 gender; - u8 nickname[POKEMON_NAME_LENGTH]; + u8 nickname[POKEMON_NAME_LENGTH + 1]; CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMenuMonBox_Tilemap, width, height, 6, 3, 0); CopyBgTilemapBufferToVram(1); @@ -3330,7 +3330,7 @@ static void LoadTradeSequenceSpriteSheetsAndPalettes(void) static void BufferTradeSceneStrings(void) { u8 mpId; - u8 name[20]; + u8 name[POKEMON_NAME_BUFFER_SIZE]; const struct InGameTrade *ingameTrade; if (sTradeAnim->isLinkTrade) @@ -4539,7 +4539,7 @@ u16 GetInGameTradeSpeciesInfo(void) static void BufferInGameTradeMonName(void) { - u8 nickname[32]; + u8 nickname[max(32, POKEMON_NAME_BUFFER_SIZE)]; const struct InGameTrade *inGameTrade = &sIngameTrades[gSpecialVar_0x8004]; GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); StringCopy_Nickname(gStringVar1, nickname); From 6598cb30bc1ebeed495e7921d0c2cfb4c5bbd630 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 8 Aug 2023 23:37:21 -0400 Subject: [PATCH 137/256] Document stat change animation --- .../stat3.pal => stat_change/accuracy.pal} | 0 .../stat2.pal => stat_change/attack.pal} | 0 .../decrease.bin} | Bin .../stat1.pal => stat_change/defense.pal} | 0 .../stat6.pal => stat_change/evasion.pal} | 0 .../increase.bin} | Bin .../stat5.pal => stat_change/multiple.pal} | 0 .../stat7.pal => stat_change/sp_attack.pal} | 0 .../stat8.pal => stat_change/sp_defense.pal} | 0 .../stat4.pal => stat_change/speed.pal} | 0 .../{masks/stat.png => stat_change/tiles.png} | Bin include/graphics.h | 23 +-- src/battle_anim_status_effects.c | 4 +- src/battle_anim_utility_funcs.c | 170 +++++++++++------- src/graphics.c | 23 ++- 15 files changed, 131 insertions(+), 89 deletions(-) rename graphics/battle_anims/{masks/stat3.pal => stat_change/accuracy.pal} (100%) rename graphics/battle_anims/{masks/stat2.pal => stat_change/attack.pal} (100%) rename graphics/battle_anims/{masks/stat_tilemap_2.bin => stat_change/decrease.bin} (100%) rename graphics/battle_anims/{masks/stat1.pal => stat_change/defense.pal} (100%) rename graphics/battle_anims/{masks/stat6.pal => stat_change/evasion.pal} (100%) rename graphics/battle_anims/{masks/stat_tilemap_1.bin => stat_change/increase.bin} (100%) rename graphics/battle_anims/{masks/stat5.pal => stat_change/multiple.pal} (100%) rename graphics/battle_anims/{masks/stat7.pal => stat_change/sp_attack.pal} (100%) rename graphics/battle_anims/{masks/stat8.pal => stat_change/sp_defense.pal} (100%) rename graphics/battle_anims/{masks/stat4.pal => stat_change/speed.pal} (100%) rename graphics/battle_anims/{masks/stat.png => stat_change/tiles.png} (100%) diff --git a/graphics/battle_anims/masks/stat3.pal b/graphics/battle_anims/stat_change/accuracy.pal similarity index 100% rename from graphics/battle_anims/masks/stat3.pal rename to graphics/battle_anims/stat_change/accuracy.pal diff --git a/graphics/battle_anims/masks/stat2.pal b/graphics/battle_anims/stat_change/attack.pal similarity index 100% rename from graphics/battle_anims/masks/stat2.pal rename to graphics/battle_anims/stat_change/attack.pal diff --git a/graphics/battle_anims/masks/stat_tilemap_2.bin b/graphics/battle_anims/stat_change/decrease.bin similarity index 100% rename from graphics/battle_anims/masks/stat_tilemap_2.bin rename to graphics/battle_anims/stat_change/decrease.bin diff --git a/graphics/battle_anims/masks/stat1.pal b/graphics/battle_anims/stat_change/defense.pal similarity index 100% rename from graphics/battle_anims/masks/stat1.pal rename to graphics/battle_anims/stat_change/defense.pal diff --git a/graphics/battle_anims/masks/stat6.pal b/graphics/battle_anims/stat_change/evasion.pal similarity index 100% rename from graphics/battle_anims/masks/stat6.pal rename to graphics/battle_anims/stat_change/evasion.pal diff --git a/graphics/battle_anims/masks/stat_tilemap_1.bin b/graphics/battle_anims/stat_change/increase.bin similarity index 100% rename from graphics/battle_anims/masks/stat_tilemap_1.bin rename to graphics/battle_anims/stat_change/increase.bin diff --git a/graphics/battle_anims/masks/stat5.pal b/graphics/battle_anims/stat_change/multiple.pal similarity index 100% rename from graphics/battle_anims/masks/stat5.pal rename to graphics/battle_anims/stat_change/multiple.pal diff --git a/graphics/battle_anims/masks/stat7.pal b/graphics/battle_anims/stat_change/sp_attack.pal similarity index 100% rename from graphics/battle_anims/masks/stat7.pal rename to graphics/battle_anims/stat_change/sp_attack.pal diff --git a/graphics/battle_anims/masks/stat8.pal b/graphics/battle_anims/stat_change/sp_defense.pal similarity index 100% rename from graphics/battle_anims/masks/stat8.pal rename to graphics/battle_anims/stat_change/sp_defense.pal diff --git a/graphics/battle_anims/masks/stat4.pal b/graphics/battle_anims/stat_change/speed.pal similarity index 100% rename from graphics/battle_anims/masks/stat4.pal rename to graphics/battle_anims/stat_change/speed.pal diff --git a/graphics/battle_anims/masks/stat.png b/graphics/battle_anims/stat_change/tiles.png similarity index 100% rename from graphics/battle_anims/masks/stat.png rename to graphics/battle_anims/stat_change/tiles.png diff --git a/include/graphics.h b/include/graphics.h index 04ad64606d..b3d87e77e7 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4769,17 +4769,18 @@ extern const u32 gMetalShineTilemap[]; extern const u32 gBattleAnimMaskImage_Curse[]; extern const u32 gBattleAnimMaskTilemap_Curse[]; -extern const u32 gBattleStatMask_Gfx[]; -extern const u32 gBattleStatMask1_Tilemap[]; -extern const u32 gBattleStatMask2_Tilemap[]; -extern const u32 gBattleStatMask1_Pal[]; -extern const u32 gBattleStatMask2_Pal[]; -extern const u32 gBattleStatMask3_Pal[]; -extern const u32 gBattleStatMask4_Pal[]; -extern const u32 gBattleStatMask5_Pal[]; -extern const u32 gBattleStatMask6_Pal[]; -extern const u32 gBattleStatMask7_Pal[]; -extern const u32 gBattleStatMask8_Pal[]; + +extern const u32 gStatAnim_Gfx[]; +extern const u32 gStatAnim_Increase_Tilemap[]; +extern const u32 gStatAnim_Decrease_Tilemap[]; +extern const u32 gStatAnim_Defense_Pal[]; +extern const u32 gStatAnim_Attack_Pal[]; +extern const u32 gStatAnim_Accuracy_Pal[]; +extern const u32 gStatAnim_Speed_Pal[]; +extern const u32 gStatAnim_Multiple_Pal[]; +extern const u32 gStatAnim_Evasion_Pal[]; +extern const u32 gStatAnim_SpAttack_Pal[]; +extern const u32 gStatAnim_SpDefense_Pal[]; extern const u32 gContestInterfaceGfx[]; extern const u32 gContestAudienceGfx[]; diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index e09a368509..b987ad33a3 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -532,8 +532,8 @@ void AnimTask_StatsChange(u8 taskId) gBattleAnimArgs[0] = goesDown; gBattleAnimArgs[1] = animStatId; - gBattleAnimArgs[2] = 0; - gBattleAnimArgs[3] = 0; + gBattleAnimArgs[2] = FALSE; // Whether it's the target, rather than attacker + gBattleAnimArgs[3] = FALSE; // Whether it hits multiple battlers gBattleAnimArgs[4] = sharply; gTasks[taskId].func = InitStatsChangeAnimation; gTasks[taskId].func(taskId); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 9375fda430..ccbc7f902b 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -16,7 +16,7 @@ struct AnimStatsChangeData { u8 battler1; u8 battler2; - u8 higherPriority; + bool8 hidBattler2; s16 data[8]; u16 species; }; @@ -388,6 +388,27 @@ static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8 taskId) } } +// Defines for data array in sAnimStatsChangeData +#define aDecrease data[0] +#define aAnimStatId data[1] +#define aIsTarget data[2] +#define aMultipleBattlers data[3] // Always false. Changes for multiple battlers are instead run sequentially. +#define aSharply data[4] + +// Task data defines for InitStatsChangeAnimation +#define tAnimSpriteId1 data[0] +#define tVelocity data[1] +#define tMultipleBattlers data[2] +#define tAnimSpriteId2 data[3] +#define tTargetBlend data[4] +#define tWaitTime data[5] +#define tHidBattler2 data[6] +#define tBattler2SpriteId data[7] +#define tWaitTimer data[10] +#define tFadeTimer data[11] +#define tBlend data[12] +#define tState data[15] + void InitStatsChangeAnimation(u8 taskId) { u8 i; @@ -401,21 +422,19 @@ void InitStatsChangeAnimation(u8 taskId) static void StatsChangeAnimation_Step1(u8 taskId) { - if (sAnimStatsChangeData->data[2] == 0) + if (!sAnimStatsChangeData->aIsTarget) sAnimStatsChangeData->battler1 = gBattleAnimAttacker; else sAnimStatsChangeData->battler1 = gBattleAnimTarget; sAnimStatsChangeData->battler2 = BATTLE_PARTNER(sAnimStatsChangeData->battler1); - if (IsContest() || (sAnimStatsChangeData->data[3] && !IsBattlerSpriteVisible(sAnimStatsChangeData->battler2))) - sAnimStatsChangeData->data[3] = 0; + if (IsContest() || (sAnimStatsChangeData->aMultipleBattlers && !IsBattlerSpriteVisible(sAnimStatsChangeData->battler2))) + sAnimStatsChangeData->aMultipleBattlers = FALSE; gBattle_WIN0H = 0; gBattle_WIN0V = 0; - SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR - | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WIN01_BG2 | WINOUT_WIN01_BG3 | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR - | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_ALL | WININ_WIN1_ALL); + SetGpuReg(REG_OFFSET_WINOUT, (WINOUT_WIN01_ALL & ~WINOUT_WIN01_BG1) | WINOUT_WINOBJ_ALL); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); @@ -424,16 +443,17 @@ static void StatsChangeAnimation_Step1(u8 taskId) if (!IsContest()) SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); - if (IsDoubleBattle() && sAnimStatsChangeData->data[3] == 0) + if (IsDoubleBattle() && !sAnimStatsChangeData->aMultipleBattlers) { if (GetBattlerPosition(sAnimStatsChangeData->battler1) == B_POSITION_OPPONENT_RIGHT || GetBattlerPosition(sAnimStatsChangeData->battler1) == B_POSITION_PLAYER_LEFT) { if (IsBattlerSpriteVisible(sAnimStatsChangeData->battler2) == TRUE) { - gSprites[gBattlerSpriteIds[sAnimStatsChangeData->battler2]].oam.priority -= 1; + // Push the battler not being animated back so it doesn't receive the animation. + gSprites[gBattlerSpriteIds[sAnimStatsChangeData->battler2]].oam.priority--; SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); - sAnimStatsChangeData->higherPriority = 1; + sAnimStatsChangeData->hidBattler2 = TRUE; } } } @@ -462,80 +482,80 @@ static void StatsChangeAnimation_Step2(u8 taskId) spriteId2 = 0; battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler1]; spriteId = CreateInvisibleSpriteCopy(sAnimStatsChangeData->battler1, battlerSpriteId, sAnimStatsChangeData->species); - if (sAnimStatsChangeData->data[3]) + if (sAnimStatsChangeData->aMultipleBattlers) { battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2]; spriteId2 = CreateInvisibleSpriteCopy(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species); } GetBattleAnimBg1Data(&animBgData); - if (sAnimStatsChangeData->data[0] == 0) - AnimLoadCompressedBgTilemapHandleContest(&animBgData, gBattleStatMask1_Tilemap, FALSE); + if (!sAnimStatsChangeData->aDecrease) + AnimLoadCompressedBgTilemapHandleContest(&animBgData, gStatAnim_Increase_Tilemap, FALSE); else - AnimLoadCompressedBgTilemapHandleContest(&animBgData, gBattleStatMask2_Tilemap, FALSE); + AnimLoadCompressedBgTilemapHandleContest(&animBgData, gStatAnim_Decrease_Tilemap, FALSE); - AnimLoadCompressedBgGfx(animBgData.bgId, gBattleStatMask_Gfx, animBgData.tilesOffset); - switch (sAnimStatsChangeData->data[1]) + AnimLoadCompressedBgGfx(animBgData.bgId, gStatAnim_Gfx, animBgData.tilesOffset); + switch (sAnimStatsChangeData->aAnimStatId) { case STAT_ANIM_PAL_ATK: - LoadCompressedPalette(gBattleStatMask2_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_Attack_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case STAT_ANIM_PAL_DEF: - LoadCompressedPalette(gBattleStatMask1_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_Defense_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case STAT_ANIM_PAL_ACC: - LoadCompressedPalette(gBattleStatMask3_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_Accuracy_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case STAT_ANIM_PAL_SPEED: - LoadCompressedPalette(gBattleStatMask4_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_Speed_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case STAT_ANIM_PAL_EVASION: - LoadCompressedPalette(gBattleStatMask6_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_Evasion_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case STAT_ANIM_PAL_SPATK: - LoadCompressedPalette(gBattleStatMask7_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_SpAttack_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; case STAT_ANIM_PAL_SPDEF: - LoadCompressedPalette(gBattleStatMask8_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_SpDefense_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; default: // case STAT_ANIM_PAL_MULTIPLE: - LoadCompressedPalette(gBattleStatMask5_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); + LoadCompressedPalette(gStatAnim_Multiple_Pal, BG_PLTT_ID(animBgData.paletteId), PLTT_SIZE_4BPP); break; } gBattle_BG1_X = 0; gBattle_BG1_Y = 0; - if (sAnimStatsChangeData->data[0] == 1) + if (sAnimStatsChangeData->aDecrease == TRUE) { gBattle_BG1_X = 64; - gTasks[taskId].data[1] = -3; + gTasks[taskId].tVelocity = -3; } else { - gTasks[taskId].data[1] = 3; + gTasks[taskId].tVelocity = 3; } - if (sAnimStatsChangeData->data[4] == 0) + if (!sAnimStatsChangeData->aSharply) { - gTasks[taskId].data[4] = 10; - gTasks[taskId].data[5] = 20; + gTasks[taskId].tTargetBlend = 10; + gTasks[taskId].tWaitTime = 20; } else { - gTasks[taskId].data[4] = 13; - gTasks[taskId].data[5] = 30; + gTasks[taskId].tTargetBlend = 13; + gTasks[taskId].tWaitTime = 30; } - gTasks[taskId].data[0] = spriteId; - gTasks[taskId].data[2] = sAnimStatsChangeData->data[3]; - gTasks[taskId].data[3] = spriteId2; - gTasks[taskId].data[6] = sAnimStatsChangeData->higherPriority; - gTasks[taskId].data[7] = gBattlerSpriteIds[sAnimStatsChangeData->battler2]; + gTasks[taskId].tAnimSpriteId1 = spriteId; + gTasks[taskId].tMultipleBattlers = sAnimStatsChangeData->aMultipleBattlers; + gTasks[taskId].tAnimSpriteId2 = spriteId2; + gTasks[taskId].tHidBattler2 = sAnimStatsChangeData->hidBattler2; + gTasks[taskId].tBattler2SpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2]; gTasks[taskId].func = StatsChangeAnimation_Step3; - if (sAnimStatsChangeData->data[0] == 0) + if (!sAnimStatsChangeData->aDecrease) PlaySE12WithPanning(SE_M_STAT_INCREASE, BattleAnimAdjustPanning2(SOUND_PAN_ATTACKER)); else PlaySE12WithPanning(SE_M_STAT_DECREASE, BattleAnimAdjustPanning2(SOUND_PAN_ATTACKER)); @@ -543,44 +563,46 @@ static void StatsChangeAnimation_Step2(u8 taskId) static void StatsChangeAnimation_Step3(u8 taskId) { - gBattle_BG1_Y += gTasks[taskId].data[1]; + gBattle_BG1_Y += gTasks[taskId].tVelocity; - switch (gTasks[taskId].data[15]) + switch (gTasks[taskId].tState) { case 0: - if (gTasks[taskId].data[11]++ > 0) + // Fade in + if (gTasks[taskId].tFadeTimer++ > 0) { - gTasks[taskId].data[11] = 0; - gTasks[taskId].data[12]++; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); - if (gTasks[taskId].data[12] == gTasks[taskId].data[4]) - gTasks[taskId].data[15]++; + gTasks[taskId].tFadeTimer = 0; + gTasks[taskId].tBlend++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == gTasks[taskId].tTargetBlend) + gTasks[taskId].tState++; } break; case 1: - if (++gTasks[taskId].data[10] == gTasks[taskId].data[5]) - gTasks[taskId].data[15]++; + // Wait + if (++gTasks[taskId].tWaitTimer == gTasks[taskId].tWaitTime) + gTasks[taskId].tState++; break; case 2: - if (gTasks[taskId].data[11]++ > 0) + // Fade out + if (gTasks[taskId].tFadeTimer++ > 0) { - gTasks[taskId].data[11] = 0; - gTasks[taskId].data[12]--; - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); - if (gTasks[taskId].data[12] == 0) + gTasks[taskId].tFadeTimer = 0; + gTasks[taskId].tBlend--; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].tBlend, 16 - gTasks[taskId].tBlend)); + if (gTasks[taskId].tBlend == 0) { ResetBattleAnimBg(FALSE); - gTasks[taskId].data[15]++; + gTasks[taskId].tState++; } } break; case 3: + // Reset gBattle_WIN0H = 0; gBattle_WIN0V = 0; - SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR - | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); - SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR - | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_ALL | WININ_WIN1_ALL); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_ALL | WINOUT_WINOBJ_ALL); if (!IsContest()) SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); @@ -588,12 +610,14 @@ static void StatsChangeAnimation_Step3(u8 taskId) SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); - DestroySprite(&gSprites[gTasks[taskId].data[0]]); - if (gTasks[taskId].data[2]) - DestroySprite(&gSprites[gTasks[taskId].data[3]]); - if (gTasks[taskId].data[6] == 1) - gSprites[gTasks[taskId].data[7]].oam.priority++; + DestroySprite(&gSprites[gTasks[taskId].tAnimSpriteId1]); + if (gTasks[taskId].tMultipleBattlers) + DestroySprite(&gSprites[gTasks[taskId].tAnimSpriteId2]); + + // Restore battler 2's priority + if (gTasks[taskId].tHidBattler2 == TRUE) + gSprites[gTasks[taskId].tBattler2SpriteId].oam.priority++; FREE_AND_SET_NULL(sAnimStatsChangeData); DestroyAnimVisualTask(taskId); @@ -601,6 +625,24 @@ static void StatsChangeAnimation_Step3(u8 taskId) } } +#undef aDecrease +#undef aAnimStatId +#undef aIsTarget +#undef aMultipleBattlers +#undef aSharply +#undef tAnimSpriteId1 +#undef tVelocity +#undef tMultipleBattlers +#undef tAnimSpriteId2 +#undef tTargetBlend +#undef tWaitTime +#undef tHidBattler2 +#undef tBattler2SpriteId +#undef tWaitTimer +#undef tFadeTimer +#undef tBlend +#undef tState + void AnimTask_Flash(u8 taskId) { u32 selectedPalettes = GetBattleMonSpritePalettesMask(1, 1, 1, 1); diff --git a/src/graphics.c b/src/graphics.c index 3cfd47ea76..976e52f48e 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -865,18 +865,17 @@ const u32 gBattleAnimSpritePal_PinkCloud[] = INCBIN_U32("graphics/battle_anims/s 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"); -const u32 gBattleStatMask2_Tilemap[] = INCBIN_U32("graphics/battle_anims/masks/stat_tilemap_2.bin.lz"); - -const u32 gBattleStatMask1_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat1.gbapal.lz"); -const u32 gBattleStatMask2_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat2.gbapal.lz"); -const u32 gBattleStatMask3_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat3.gbapal.lz"); -const u32 gBattleStatMask4_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat4.gbapal.lz"); -const u32 gBattleStatMask5_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat5.gbapal.lz"); -const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6.gbapal.lz"); -const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); -const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); +const u32 gStatAnim_Gfx[] = INCBIN_U32("graphics/battle_anims/stat_change/tiles.4bpp.lz"); +const u32 gStatAnim_Increase_Tilemap[] = INCBIN_U32("graphics/battle_anims/stat_change/increase.bin.lz"); +const u32 gStatAnim_Decrease_Tilemap[] = INCBIN_U32("graphics/battle_anims/stat_change/decrease.bin.lz"); +const u32 gStatAnim_Defense_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/defense.gbapal.lz"); +const u32 gStatAnim_Attack_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/attack.gbapal.lz"); +const u32 gStatAnim_Accuracy_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/accuracy.gbapal.lz"); +const u32 gStatAnim_Speed_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/speed.gbapal.lz"); +const u32 gStatAnim_Multiple_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/multiple.gbapal.lz"); +const u32 gStatAnim_Evasion_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/evasion.gbapal.lz"); +const u32 gStatAnim_SpAttack_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/sp_attack.gbapal.lz"); +const u32 gStatAnim_SpDefense_Pal[] = INCBIN_U32("graphics/battle_anims/stat_change/sp_defense.gbapal.lz"); const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); From 8d5ba6c6d16d5d5868c7016de21bb954f5e7dcc4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 9 Aug 2023 09:15:42 +0200 Subject: [PATCH 138/256] allow ai vs ai battles --- asm/macros/event.inc | 7 +++++++ include/config/battle.h | 1 + src/battle_ai_util.c | 3 +++ src/battle_controllers.c | 13 +++++++++++-- src/battle_main.c | 12 +++++++++--- 5 files changed, 31 insertions(+), 5 deletions(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 78d3037aeb..7ca1c3d963 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -2018,3 +2018,10 @@ setvar VAR_0x8002, \tryMultiple special TrySpecialOverworldEvo .endm + + .macro ai_vs_ai_battle trainer1:req, trainer2:req + setflag B_FLAG_AI_VS_AI_BATTLE + setvar VAR_0x8004, trainer1 + callnative CreateTrainerPartyForPlayer + trainerbattle_no_intro trainer2, NULL + .endm diff --git a/include/config/battle.h b/include/config/battle.h index 68cab28b61..3a173138be 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -156,6 +156,7 @@ #define B_SMART_WILD_AI_FLAG 0 // If not 0, you can set this flag in a script to enable smart wild pokemon #define B_FLAG_NO_BAG_USE 0 // If this flag is set, the ability to use the bag in battle is disabled. #define B_FLAG_NO_CATCHING 0 // If this flag is set, the ability to catch wild Pokémon is disabled. +#define B_FLAG_AI_VS_AI_BATTLE 0 // If this flag is set, the player's mons will be controlled by the ai next battles. // Var Settings // To use the following features in scripting, replace the 0s with the var ID you're assigning it to. diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b9b0ef0cfe..8d35e98ff5 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -8,6 +8,7 @@ #include "battle_ai_switch_items.h" #include "battle_factory.h" #include "battle_setup.h" +#include "event_data.h" #include "data.h" #include "item.h" #include "pokemon.h" @@ -445,6 +446,8 @@ bool32 BattlerHasAi(u32 battlerId) switch (GetBattlerPosition(battlerId)) { case B_POSITION_PLAYER_LEFT: + if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + return TRUE; default: return FALSE; case B_POSITION_OPPONENT_LEFT: diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d7ca18c6a1..8888249f22 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -6,6 +6,7 @@ #include "battle_message.h" #include "battle_setup.h" #include "cable_club.h" +#include "event_data.h" #include "link.h" #include "link_rfu.h" #include "party_menu.h" @@ -170,6 +171,8 @@ static void InitSinglePlayerBtlControllers(void) gBattlerControllerFuncs[0] = SetControllerToSafari; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) gBattlerControllerFuncs[0] = SetControllerToWally; + else if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + gBattlerControllerFuncs[0] = SetControllerToPlayerPartner; else gBattlerControllerFuncs[0] = SetControllerToPlayer; @@ -221,13 +224,19 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - gBattlerControllerFuncs[0] = SetControllerToPlayer; + if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + gBattlerControllerFuncs[0] = SetControllerToPlayerPartner; + else + gBattlerControllerFuncs[0] = SetControllerToPlayer; gBattlerPositions[0] = B_POSITION_PLAYER_LEFT; gBattlerControllerFuncs[1] = SetControllerToOpponent; gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - gBattlerControllerFuncs[2] = SetControllerToPlayer; + if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; + else + gBattlerControllerFuncs[2] = SetControllerToPlayer; gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT; gBattlerControllerFuncs[3] = SetControllerToOpponent; diff --git a/src/battle_main.c b/src/battle_main.c index ace56189c3..17d741ee24 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -565,8 +565,8 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; -#if DEBUG_OVERWORLD_MENU == FALSE - +#if DEBUG_OVERWORLD_MENU == FALSE + gBattleTerrain = BattleSetup_GetTerrainId(); #else if (!gIsDebugBattle) @@ -594,7 +594,7 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); -#if DEBUG_OVERWORLD_MENU == FALSE +#if DEBUG_OVERWORLD_MENU == FALSE if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); @@ -2145,6 +2145,12 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir return retVal; } +void CreateTrainerPartyForPlayer(void) +{ + ZeroPlayerPartyMons(); + CreateNPCTrainerPartyFromTrainer(gPlayerParty, &gTrainers[gSpecialVar_0x8004], TRUE, 0); +} + void VBlankCB_Battle(void) { // Change gRngSeed every vblank unless the battle could be recorded. From a0c34813f1d7812800e1be1e31c89e2ec7865e90 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 9 Aug 2023 09:34:41 +0200 Subject: [PATCH 139/256] small fixes --- asm/macros/event.inc | 4 ++-- src/battle_main.c | 3 ++- src/battle_util.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 7ca1c3d963..d2d8f8ca6f 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -2021,7 +2021,7 @@ .macro ai_vs_ai_battle trainer1:req, trainer2:req setflag B_FLAG_AI_VS_AI_BATTLE - setvar VAR_0x8004, trainer1 + setvar VAR_0x8004, \trainer1 callnative CreateTrainerPartyForPlayer - trainerbattle_no_intro trainer2, NULL + trainerbattle_no_intro \trainer2, NULL .endm diff --git a/src/battle_main.c b/src/battle_main.c index 17d741ee24..452277bc0c 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2148,7 +2148,8 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum, bool8 fir void CreateTrainerPartyForPlayer(void) { ZeroPlayerPartyMons(); - CreateNPCTrainerPartyFromTrainer(gPlayerParty, &gTrainers[gSpecialVar_0x8004], TRUE, 0); + gPartnerTrainerId = gSpecialVar_0x8004; + CreateNPCTrainerPartyFromTrainer(gPlayerParty, &gTrainers[gSpecialVar_0x8004], TRUE, BATTLE_TYPE_TRAINER); } void VBlankCB_Battle(void) diff --git a/src/battle_util.c b/src/battle_util.c index 2f200026b4..b8e9697e24 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -7949,7 +7949,7 @@ u8 IsMonDisobedient(void) if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) return 0; - if (GetBattlerSide(gBattlerAttacker) == B_SIDE_OPPONENT) + if (BattlerHasAi(gBattlerAttacker)) return 0; if (IsBattlerModernFatefulEncounter(gBattlerAttacker)) // only false if illegal Mew or Deoxys From d0fe75b06ad9fc49e6b9afd52a978b401823aaec Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 9 Aug 2023 09:57:42 +0200 Subject: [PATCH 140/256] fixes --- src/battle_ai_util.c | 5 ++++- src/battle_controller_player_partner.c | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 8d35e98ff5..b27501c190 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -453,7 +453,10 @@ bool32 BattlerHasAi(u32 battlerId) case B_POSITION_OPPONENT_LEFT: return TRUE; case B_POSITION_PLAYER_RIGHT: - return ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) != 0); + if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + return TRUE; + else + return FALSE; case B_POSITION_OPPONENT_RIGHT: return TRUE; } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3a4beeca93..996ac15a56 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -11,6 +11,7 @@ #include "battle_z_move.h" #include "bg.h" #include "data.h" +#include "event_data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -1316,6 +1317,12 @@ static void PlayerPartnerHandleDrawTrainerPic(void) xPos = 90; yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } + else if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + { + trainerPicId = gTrainers[gPartnerTrainerId].trainerPic; + xPos = 60; + yPos = (8 - gTrainerFrontPicCoords[trainerPicId].size) * 4 + 80; + } else { trainerPicId = GetFrontierTrainerFrontSpriteId(gPartnerTrainerId); @@ -1823,6 +1830,11 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) u8 spriteId = gPartnerSpriteId; LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, 0x100 + paletteNum * 16, 32); } + else if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + { + u8 spriteId = gTrainers[gPartnerTrainerId].trainerPic; + LoadCompressedPalette(gTrainerFrontPicPaletteTable[spriteId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); + } else { u8 spriteId = GetFrontierTrainerFrontSpriteId(gPartnerTrainerId); From fec8f14fffb4c20bdf28c711e4f312a15a5d2846 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 9 Aug 2023 15:57:22 +0200 Subject: [PATCH 141/256] IsAiAiBattle function --- include/battle_ai_util.h | 1 + src/battle_ai_switch_items.c | 3 +++ src/battle_ai_util.c | 9 +++++++-- src/battle_controller_player_partner.c | 5 ++--- src/battle_controllers.c | 8 ++++---- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index fd55a99f73..5f077fe0cc 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -9,6 +9,7 @@ bool32 AI_RandLessThan(u8 val); void RecordLastUsedMoveByTarget(void); +bool32 IsAiVsAiBattle(void); bool32 BattlerHasAi(u32 battlerId); bool32 IsAiBattlerAware(u32 battlerId); void ClearBattlerMoveHistory(u8 battlerId); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index d815d3f8bc..67f3e2dd80 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1001,6 +1001,9 @@ static bool8 ShouldUseItem(void) u8 validMons = 0; bool8 shouldUse = FALSE; + if (IsAiVsAiBattle()) + return FALSE; + // If teaming up with player and Pokemon is on the right, or Pokemon is currently held by Sky Drop if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT) || gStatuses3[gActiveBattler] & STATUS3_SKY_DROPPED) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b27501c190..6d7b74b3b0 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -441,19 +441,24 @@ void RecordLastUsedMoveByTarget(void) RecordKnownMove(gBattlerTarget, gLastMoves[gBattlerTarget]); } +bool32 IsAiVsAiBattle(void) +{ + return (B_FLAG_AI_VS_AI_BATTLE && FlagGet(B_FLAG_AI_VS_AI_BATTLE)); +} + bool32 BattlerHasAi(u32 battlerId) { switch (GetBattlerPosition(battlerId)) { case B_POSITION_PLAYER_LEFT: - if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + if (IsAiVsAiBattle()) return TRUE; default: return FALSE; case B_POSITION_OPPONENT_LEFT: return TRUE; case B_POSITION_PLAYER_RIGHT: - if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || IsAiVsAiBattle()) return TRUE; else return FALSE; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 996ac15a56..67e475e518 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -11,7 +11,6 @@ #include "battle_z_move.h" #include "bg.h" #include "data.h" -#include "event_data.h" #include "item_use.h" #include "link.h" #include "main.h" @@ -1317,7 +1316,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void) xPos = 90; yPos = (8 - gTrainerBackPicCoords[trainerPicId].size) * 4 + 80; } - else if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + else if (IsAiVsAiBattle()) { trainerPicId = gTrainers[gPartnerTrainerId].trainerPic; xPos = 60; @@ -1830,7 +1829,7 @@ static void PlayerPartnerHandleIntroTrainerBallThrow(void) u8 spriteId = gPartnerSpriteId; LoadCompressedPalette(gTrainerBackPicPaletteTable[spriteId].data, 0x100 + paletteNum * 16, 32); } - else if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + else if (IsAiVsAiBattle()) { u8 spriteId = gTrainers[gPartnerTrainerId].trainerPic; LoadCompressedPalette(gTrainerFrontPicPaletteTable[spriteId].data, OBJ_PLTT_ID(paletteNum), PLTT_SIZE_4BPP); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 8888249f22..397dda6d83 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1,12 +1,12 @@ #include "global.h" #include "battle.h" #include "battle_ai_main.h" +#include "battle_ai_util.h" #include "battle_anim.h" #include "battle_controllers.h" #include "battle_message.h" #include "battle_setup.h" #include "cable_club.h" -#include "event_data.h" #include "link.h" #include "link_rfu.h" #include "party_menu.h" @@ -171,7 +171,7 @@ static void InitSinglePlayerBtlControllers(void) gBattlerControllerFuncs[0] = SetControllerToSafari; else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) gBattlerControllerFuncs[0] = SetControllerToWally; - else if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + else if (IsAiVsAiBattle()) gBattlerControllerFuncs[0] = SetControllerToPlayerPartner; else gBattlerControllerFuncs[0] = SetControllerToPlayer; @@ -224,7 +224,7 @@ static void InitSinglePlayerBtlControllers(void) { gBattleMainFunc = BeginBattleIntro; - if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + if (IsAiVsAiBattle()) gBattlerControllerFuncs[0] = SetControllerToPlayerPartner; else gBattlerControllerFuncs[0] = SetControllerToPlayer; @@ -233,7 +233,7 @@ static void InitSinglePlayerBtlControllers(void) gBattlerControllerFuncs[1] = SetControllerToOpponent; gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT; - if (FlagGet(B_FLAG_AI_VS_AI_BATTLE)) + if (IsAiVsAiBattle()) gBattlerControllerFuncs[2] = SetControllerToPlayerPartner; else gBattlerControllerFuncs[2] = SetControllerToPlayer; From 5f7819f6972dd46b89afb56d1489c2586c8a617c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 9 Aug 2023 16:03:02 +0200 Subject: [PATCH 142/256] no exp for ai mons --- src/battle_script_commands.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index aa52768059..bf37aad90e 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4068,7 +4068,9 @@ static void Cmd_getexp(void) switch (gBattleScripting.getexpState) { case 0: // check if should receive exp at all - if (GetBattlerSide(gBattlerFainted) != B_SIDE_OPPONENT || (gBattleTypeFlags & + if (GetBattlerSide(gBattlerFainted) != B_SIDE_OPPONENT + || IsAiVsAiBattle() + || (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_TRAINER_HILL From 912a80e27a40c883c5718632453c9cf5ea1ccbd3 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Wed, 9 Aug 2023 15:51:01 +0100 Subject: [PATCH 143/256] Reference TMs and HMs by move instead of number (#1732) --- constants/constants.inc | 1 + constants/tms_hms.inc | 17 + data/battle_ai_scripts.s | 1 + .../AbandonedShip_HiddenFloorRooms/map.json | 4 +- data/maps/AbandonedShip_Room_B1F/map.json | 4 +- data/maps/DewfordTown_Gym/scripts.inc | 10 +- data/maps/DewfordTown_Hall/scripts.inc | 6 +- .../FallarborTown_CozmosHouse/scripts.inc | 8 +- data/maps/FieryPath/map.json | 4 +- data/maps/FortreeCity_Gym/scripts.inc | 10 +- data/maps/FortreeCity_House2/scripts.inc | 6 +- data/maps/GraniteCave_1F/scripts.inc | 6 +- data/maps/GraniteCave_StevensRoom/scripts.inc | 2 +- data/maps/LavaridgeTown_Gym_1F/scripts.inc | 10 +- .../scripts.inc | 16 +- data/maps/LilycoveCity_House2/scripts.inc | 6 +- data/maps/MauvilleCity/scripts.inc | 8 +- data/maps/MauvilleCity_GameCorner/scripts.inc | 112 +- data/maps/MauvilleCity_Gym/scripts.inc | 10 +- data/maps/MauvilleCity_House1/scripts.inc | 6 +- data/maps/MeteorFalls_1F_1R/map.json | 4 +- data/maps/MeteorFalls_B1F_2R/map.json | 4 +- data/maps/MossdeepCity/scripts.inc | 4 +- data/maps/MossdeepCity_Gym/scripts.inc | 10 +- .../MossdeepCity_StevensHouse/scripts.inc | 8 +- data/maps/MtPyre_6F/map.json | 4 +- data/maps/MtPyre_Exterior/map.json | 4 +- data/maps/PacifidlogTown_House2/scripts.inc | 4 +- data/maps/PetalburgCity_Gym/scripts.inc | 6 +- .../PetalburgCity_WallysHouse/scripts.inc | 16 +- data/maps/Route104/scripts.inc | 6 +- data/maps/Route110_TrickHouseEnd/scripts.inc | 2 +- .../Route110_TrickHouseEntrance/scripts.inc | 2 +- data/maps/Route111/map.json | 4 +- data/maps/Route113/map.json | 4 +- data/maps/Route114/scripts.inc | 6 +- .../Route114_FossilManiacsHouse/scripts.inc | 6 +- data/maps/Route115/map.json | 4 +- data/maps/Route119/scripts.inc | 4 +- data/maps/Route123/scripts.inc | 6 +- .../RustboroCity_CuttersHouse/scripts.inc | 6 +- data/maps/RustboroCity_Gym/scripts.inc | 6 +- data/maps/RusturfTunnel/scripts.inc | 4 +- data/maps/SSTidalCorridor/scripts.inc | 4 +- data/maps/SSTidalRooms/scripts.inc | 6 +- data/maps/SafariZone_Northwest/map.json | 4 +- data/maps/ScorchedSlab/map.json | 4 +- data/maps/SeafloorCavern_Room9/map.json | 4 +- data/maps/ShoalCave_LowTideIceRoom/map.json | 4 +- data/maps/SlateportCity/scripts.inc | 4 +- .../SlateportCity_BattleTentLobby/scripts.inc | 6 +- .../scripts.inc | 4 +- data/maps/SootopolisCity/scripts.inc | 6 +- data/maps/SootopolisCity_Gym_1F/scripts.inc | 10 +- data/maps/SootopolisCity_House1/scripts.inc | 6 +- .../scripts.inc | 6 +- data/maps/VictoryRoad_B1F/map.json | 4 +- data/scripts/item_ball_scripts.inc | 56 +- data/scripts/secret_power_tm.inc | 2 +- include/constants/flags.h | 90 +- include/constants/items.h | 59 - include/constants/tms_hms.h | 70 + include/item.h | 23 + src/battle_script_commands.c | 6 +- src/data/items.h | 232 +- src/data/lilycove_lady.h | 2 +- src/data/party_menu.h | 69 +- src/data/pokemon/tmhm_learnsets.h | 19565 ++++++++-------- src/daycare.c | 2 +- src/item_use.c | 2 +- src/party_menu.c | 2 +- src/pokemon.c | 41 +- src/pokenav_match_call_data.c | 6 +- src/trainer_hill.c | 26 +- 74 files changed, 10759 insertions(+), 9937 deletions(-) create mode 100644 constants/tms_hms.inc create mode 100644 include/constants/tms_hms.h diff --git a/constants/constants.inc b/constants/constants.inc index e7561f4293..1f8f1cda2e 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -1,2 +1,3 @@ .include "constants/gba_constants.inc" .include "constants/global.inc" + .include "constants/tms_hms.inc" diff --git a/constants/tms_hms.inc b/constants/tms_hms.inc new file mode 100644 index 0000000000..3450aa73ba --- /dev/null +++ b/constants/tms_hms.inc @@ -0,0 +1,17 @@ +#include "constants/tms_hms.h" + +/* Expands to: +* enum_start ITEM_TM01 +* enum ITEM_TM_FOCUS_PUNCH +* ... +* enum_start ITEM_HM01 +* enum ITEM_HM_CUT +* ... */ +#define EQUIV_TM(id) enum ITEM_TM_ ## id; +#define EQUIV_HM(id) enum ITEM_HM_ ## id; + enum_start ITEM_TM01 +FOREACH_TM(EQUIV_TM) + enum_start ITEM_HM01 +FOREACH_HM(EQUIV_HM) +#undef EQUIV_TM +#undef EQUIV_HM diff --git a/data/battle_ai_scripts.s b/data/battle_ai_scripts.s index bdc80cd5b4..c296702a64 100644 --- a/data/battle_ai_scripts.s +++ b/data/battle_ai_scripts.s @@ -6,6 +6,7 @@ #include "constants/battle_move_effects.h" #include "constants/hold_effects.h" #include "constants/pokemon.h" + .include "asm/macros.inc" .include "asm/macros/battle_ai_script.inc" .include "constants/constants.inc" diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/map.json b/data/maps/AbandonedShip_HiddenFloorRooms/map.json index e808250f47..08869317e3 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/map.json +++ b/data/maps/AbandonedShip_HiddenFloorRooms/map.json @@ -50,8 +50,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18", - "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18" + "script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTMRainDance", + "flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_RAIN_DANCE" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/AbandonedShip_Room_B1F/map.json b/data/maps/AbandonedShip_Room_B1F/map.json index 2a296325c9..ac9820a8ab 100644 --- a/data/maps/AbandonedShip_Room_B1F/map.json +++ b/data/maps/AbandonedShip_Room_B1F/map.json @@ -24,8 +24,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "AbandonedShip_Room_B1F_EventScript_ItemTM13", - "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13" + "script": "AbandonedShip_Room_B1F_EventScript_ItemTMIceBeam", + "flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_ICE_BEAM" } ], "warp_events": [ diff --git a/data/maps/DewfordTown_Gym/scripts.inc b/data/maps/DewfordTown_Gym/scripts.inc index 81474af726..c425819304 100644 --- a/data/maps/DewfordTown_Gym/scripts.inc +++ b/data/maps/DewfordTown_Gym/scripts.inc @@ -136,7 +136,7 @@ DewfordTown_Gym_EventScript_Brawly:: trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyIntro, DewfordTown_Gym_Text_BrawlyDefeat, DewfordTown_Gym_EventScript_BrawlyDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, DewfordTown_Gym_EventScript_BrawlyRematch - goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_GiveBulkUp2 + goto_if_unset FLAG_RECEIVED_TM_BULK_UP, DewfordTown_Gym_EventScript_GiveBulkUp2 msgbox DewfordTown_Gym_Text_BrawlyPostBattle, MSGBOX_DEFAULT release end @@ -168,17 +168,17 @@ DewfordTown_Gym_EventScript_BrawlyDefeated:: end DewfordTown_Gym_EventScript_GiveBulkUp:: - giveitem ITEM_TM08 + giveitem ITEM_TM_BULK_UP goto_if_eq VAR_RESULT, 0, Common_EventScript_BagIsFull msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM08 + setflag FLAG_RECEIVED_TM_BULK_UP return DewfordTown_Gym_EventScript_GiveBulkUp2: - giveitem ITEM_TM08 + giveitem ITEM_TM_BULK_UP goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM08 + setflag FLAG_RECEIVED_TM_BULK_UP release end diff --git a/data/maps/DewfordTown_Hall/scripts.inc b/data/maps/DewfordTown_Hall/scripts.inc index 6249a7fac5..1472bebb24 100644 --- a/data/maps/DewfordTown_Hall/scripts.inc +++ b/data/maps/DewfordTown_Hall/scripts.inc @@ -246,11 +246,11 @@ DewfordTown_Hall_EventScript_SludgeBombMan:: lock faceplayer call Common_EventScript_BufferTrendyPhrase - goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_ReceivedSludgeBomb + goto_if_set FLAG_RECEIVED_TM_SLUDGE_BOMB, DewfordTown_Hall_EventScript_ReceivedSludgeBomb msgbox DewfordTown_Hall_Text_GiveYouSludgeBomb, MSGBOX_DEFAULT - giveitem ITEM_TM36 + giveitem ITEM_TM_SLUDGE_BOMB goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM36 + setflag FLAG_RECEIVED_TM_SLUDGE_BOMB release end diff --git a/data/maps/FallarborTown_CozmosHouse/scripts.inc b/data/maps/FallarborTown_CozmosHouse/scripts.inc index 61f297e69d..27b03436da 100644 --- a/data/maps/FallarborTown_CozmosHouse/scripts.inc +++ b/data/maps/FallarborTown_CozmosHouse/scripts.inc @@ -4,7 +4,7 @@ FallarborTown_CozmosHouse_MapScripts:: FallarborTown_CozmosHouse_EventScript_ProfCozmo:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_GaveMeteorite + goto_if_set FLAG_RECEIVED_TM_RETURN, FallarborTown_CozmosHouse_EventScript_GaveMeteorite checkitem ITEM_METEORITE goto_if_eq VAR_RESULT, TRUE, FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT @@ -16,11 +16,11 @@ FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite:: call_if_set FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_AskForMeteorite goto_if_eq VAR_RESULT, NO, FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite msgbox FallarborTown_CozmosHouse_Text_PleaseUseThisTM, MSGBOX_DEFAULT - giveitem ITEM_TM27 + giveitem ITEM_TM_RETURN goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull setvar VAR_0x8004, ITEM_METEORITE call Common_EventScript_PlayerHandedOverTheItem - setflag FLAG_RECEIVED_TM27 + setflag FLAG_RECEIVED_TM_RETURN msgbox FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch, MSGBOX_DEFAULT release end @@ -48,7 +48,7 @@ FallarborTown_CozmosHouse_EventScript_GaveMeteorite:: FallarborTown_CozmosHouse_EventScript_CozmosWife:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_CozmoIsHappy + goto_if_set FLAG_RECEIVED_TM_RETURN, FallarborTown_CozmosHouse_EventScript_CozmoIsHappy goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_CozmosHouse_EventScript_CozmoIsSad msgbox FallarborTown_CozmosHouse_Text_CozmoWentToMeteorFalls, MSGBOX_DEFAULT release diff --git a/data/maps/FieryPath/map.json b/data/maps/FieryPath/map.json index 38b9aff75e..69f5050ad5 100644 --- a/data/maps/FieryPath/map.json +++ b/data/maps/FieryPath/map.json @@ -24,8 +24,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "FieryPath_EventScript_ItemTM06", - "flag": "FLAG_ITEM_FIERY_PATH_TM06" + "script": "FieryPath_EventScript_ItemTMToxic", + "flag": "FLAG_ITEM_FIERY_PATH_TM_TOXIC" }, { "graphics_id": "OBJ_EVENT_GFX_PUSHABLE_BOULDER", diff --git a/data/maps/FortreeCity_Gym/scripts.inc b/data/maps/FortreeCity_Gym/scripts.inc index 1c729bc44e..1445a36089 100644 --- a/data/maps/FortreeCity_Gym/scripts.inc +++ b/data/maps/FortreeCity_Gym/scripts.inc @@ -19,7 +19,7 @@ FortreeCity_Gym_EventScript_Winona:: trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaIntro, FortreeCity_Gym_Text_WinonaDefeat, FortreeCity_Gym_EventScript_WinonaDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, FortreeCity_Gym_EventScript_WinonaRematch - goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_GiveAerialAce2 + goto_if_unset FLAG_RECEIVED_TM_AERIAL_ACE, FortreeCity_Gym_EventScript_GiveAerialAce2 msgbox FortreeCity_Gym_Text_WinonaPostBattle, MSGBOX_DEFAULT release end @@ -48,18 +48,18 @@ FortreeCity_Gym_EventScript_WinonaDefeated:: end FortreeCity_Gym_EventScript_GiveAerialAce2:: - giveitem ITEM_TM40 + giveitem ITEM_TM_AERIAL_ACE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM40 + setflag FLAG_RECEIVED_TM_AERIAL_ACE release end FortreeCity_Gym_EventScript_GiveAerialAce:: - giveitem ITEM_TM40 + giveitem ITEM_TM_AERIAL_ACE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM40 + setflag FLAG_RECEIVED_TM_AERIAL_ACE return FortreeCity_Gym_EventScript_WinonaRematch:: diff --git a/data/maps/FortreeCity_House2/scripts.inc b/data/maps/FortreeCity_House2/scripts.inc index cdd0fc99f7..a81a7a8e0a 100644 --- a/data/maps/FortreeCity_House2/scripts.inc +++ b/data/maps/FortreeCity_House2/scripts.inc @@ -4,7 +4,7 @@ FortreeCity_House2_MapScripts:: FortreeCity_House2_EventScript_HiddenPowerGiver:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_ExplainHiddenPower + goto_if_set FLAG_RECEIVED_TM_HIDDEN_POWER, FortreeCity_House2_EventScript_ExplainHiddenPower call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_Greeting msgbox FortreeCity_House2_Text_CoinInWhichHand, MSGBOX_DEFAULT multichoice 21, 8, MULTI_RIGHTLEFT, TRUE @@ -19,9 +19,9 @@ FortreeCity_House2_EventScript_HiddenPowerGiver:: switch VAR_RESULT case 0, FortreeCity_House2_EventScript_WrongGuess msgbox FortreeCity_House2_Text_YourHiddenPowerHasAwoken, MSGBOX_DEFAULT - giveitem ITEM_TM10 + giveitem ITEM_TM_HIDDEN_POWER goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM10 + setflag FLAG_RECEIVED_TM_HIDDEN_POWER msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT release end diff --git a/data/maps/GraniteCave_1F/scripts.inc b/data/maps/GraniteCave_1F/scripts.inc index 1bf81b997b..ab0ccac21c 100644 --- a/data/maps/GraniteCave_1F/scripts.inc +++ b/data/maps/GraniteCave_1F/scripts.inc @@ -4,10 +4,10 @@ GraniteCave_1F_MapScripts:: GraniteCave_1F_EventScript_Hiker:: lock faceplayer - goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_ReceivedFlash + goto_if_set FLAG_RECEIVED_HM_FLASH, GraniteCave_1F_EventScript_ReceivedFlash msgbox GraniteCave_1F_Text_GetsDarkAheadHereYouGo, MSGBOX_DEFAULT - giveitem ITEM_HM05 - setflag FLAG_RECEIVED_HM05 + giveitem ITEM_HM_FLASH + setflag FLAG_RECEIVED_HM_FLASH msgbox GraniteCave_1F_Text_ExplainFlash, MSGBOX_DEFAULT release end diff --git a/data/maps/GraniteCave_StevensRoom/scripts.inc b/data/maps/GraniteCave_StevensRoom/scripts.inc index 384e648ee2..eb32c26293 100644 --- a/data/maps/GraniteCave_StevensRoom/scripts.inc +++ b/data/maps/GraniteCave_StevensRoom/scripts.inc @@ -11,7 +11,7 @@ GraniteCave_StevensRoom_EventScript_Steven:: call Common_EventScript_PlayerHandedOverTheItem setflag FLAG_DELIVERED_STEVEN_LETTER msgbox GraniteCave_StevensRoom_Text_ThankYouTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM47 + giveitem ITEM_TM_STEEL_WING call_if_eq VAR_RESULT, FALSE, GraniteCave_StevensRoom_EventScript_BagFull msgbox GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister, MSGBOX_DEFAULT closemessage diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc index 530d6e9598..b7db13f54a 100644 --- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc +++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc @@ -52,7 +52,7 @@ LavaridgeTown_Gym_1F_EventScript_Flannery:: trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryIntro, LavaridgeTown_Gym_1F_Text_FlanneryDefeat, LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, LavaridgeTown_Gym_1F_EventScript_FlanneryRematch - goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2 + goto_if_unset FLAG_RECEIVED_TM_OVERHEAT, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2 msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostBattle, MSGBOX_DEFAULT release end @@ -84,18 +84,18 @@ LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated:: end LavaridgeTown_Gym_1F_EventScript_GiveOverheat2:: - giveitem ITEM_TM50 + giveitem ITEM_TM_OVERHEAT goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM50 + setflag FLAG_RECEIVED_TM_OVERHEAT release end LavaridgeTown_Gym_1F_EventScript_GiveOverheat:: - giveitem ITEM_TM50 + giveitem ITEM_TM_OVERHEAT goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM50 + setflag FLAG_RECEIVED_TM_OVERHEAT return LavaridgeTown_Gym_1F_EventScript_FlanneryRematch:: diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc index d176781d6e..760abc600d 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc +++ b/data/maps/LilycoveCity_DepartmentStore_4F/scripts.inc @@ -25,10 +25,10 @@ LilycoveCity_DepartmentStore_4F_EventScript_ClerkLeft:: .align 2 LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs: - .2byte ITEM_TM38 @ Fire Blast - .2byte ITEM_TM25 @ Thunder - .2byte ITEM_TM14 @ Blizzard - .2byte ITEM_TM15 @ Hyper Beam + .2byte ITEM_TM_FIRE_BLAST + .2byte ITEM_TM_THUNDER + .2byte ITEM_TM_BLIZZARD + .2byte ITEM_TM_HYPER_BEAM .2byte ITEM_NONE release end @@ -45,10 +45,10 @@ LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight:: .align 2 LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs: - .2byte ITEM_TM17 @ Protect - .2byte ITEM_TM20 @ Safeguard - .2byte ITEM_TM33 @ Reflect - .2byte ITEM_TM16 @ Light Screen + .2byte ITEM_TM_PROTECT + .2byte ITEM_TM_SAFEGUARD + .2byte ITEM_TM_REFLECT + .2byte ITEM_TM_LIGHT_SCREEN .2byte ITEM_NONE release end diff --git a/data/maps/LilycoveCity_House2/scripts.inc b/data/maps/LilycoveCity_House2/scripts.inc index 965d82acfb..5d1bc8eaa8 100644 --- a/data/maps/LilycoveCity_House2/scripts.inc +++ b/data/maps/LilycoveCity_House2/scripts.inc @@ -4,11 +4,11 @@ LilycoveCity_House2_MapScripts:: LilycoveCity_House2_EventScript_FatMan:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_ReceivedRest + goto_if_set FLAG_RECEIVED_TM_REST, LilycoveCity_House2_EventScript_ReceivedRest msgbox LilycoveCity_House2_Text_NotAwakeYetHaveThis, MSGBOX_DEFAULT - giveitem ITEM_TM44 + giveitem ITEM_TM_REST goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM44 + setflag FLAG_RECEIVED_TM_REST msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT release end diff --git a/data/maps/MauvilleCity/scripts.inc b/data/maps/MauvilleCity/scripts.inc index 2ad39aec1c..9211402705 100644 --- a/data/maps/MauvilleCity/scripts.inc +++ b/data/maps/MauvilleCity/scripts.inc @@ -13,7 +13,7 @@ MauvilleCity_OnTransition: setflag FLAG_SYS_TV_START clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE setvar VAR_MAUVILLE_GYM_STATE, 0 - call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_MoveWattsonBackToGym + call_if_set FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON, MauvilleCity_EventScript_MoveWattsonBackToGym end MauvilleCity_EventScript_MoveWattsonBackToGym:: @@ -418,7 +418,7 @@ MauvilleCity_Movement_ScottExitEast: MauvilleCity_EventScript_Wattson:: lock faceplayer - goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt + goto_if_set FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, MauvilleCity_EventScript_CompletedNewMauville goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_BegunNewMauville msgbox MauvilleCity_Text_WattsonNeedFavorTakeKey, MSGBOX_DEFAULT @@ -435,9 +435,9 @@ MauvilleCity_EventScript_BegunNewMauville:: MauvilleCity_EventScript_CompletedNewMauville:: msgbox MauvilleCity_Text_WattsonThanksTakeTM, MSGBOX_DEFAULT - giveitem ITEM_TM24 + giveitem ITEM_TM_THUNDERBOLT goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_GOT_TM24_FROM_WATTSON + setflag FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT release end diff --git a/data/maps/MauvilleCity_GameCorner/scripts.inc b/data/maps/MauvilleCity_GameCorner/scripts.inc index b7c8603a33..c9e425be73 100644 --- a/data/maps/MauvilleCity_GameCorner/scripts.inc +++ b/data/maps/MauvilleCity_GameCorner/scripts.inc @@ -2,12 +2,12 @@ MauvilleCity_GameCorner_MapScripts:: .byte 0 @ Game Corner prices - .set TM32_COINS, 1500 - .set TM29_COINS, 3500 - .set TM35_COINS, 4000 - .set TM24_COINS, 4000 - .set TM13_COINS, 4000 - .set DOLL_COINS, 1000 + .set TM_DOUBLE_TEAM_COINS, 1500 + .set TM_PSYCHIC_COINS, 3500 + .set TM_FLAMETHROWER_COINS, 4000 + .set TM_THUNDERBOLT_COINS, 4000 + .set TM_ICE_BEAM_COINS, 4000 + .set DOLL_COINS, 1000 .set COINS_PRICE_50, 1000 .set COINS_PRICE_500, 10000 @@ -236,43 +236,43 @@ MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize:: MauvilleCity_GameCorner_EventScript_ChooseTMPrize:: multichoice 12, 0, MULTI_GAME_CORNER_TMS, FALSE switch VAR_RESULT - case 0, MauvilleCity_GameCorner_EventScript_TM32 - case 1, MauvilleCity_GameCorner_EventScript_TM29 - case 2, MauvilleCity_GameCorner_EventScript_TM35 - case 3, MauvilleCity_GameCorner_EventScript_TM24 - case 4, MauvilleCity_GameCorner_EventScript_TM13 + case 0, MauvilleCity_GameCorner_EventScript_TMDoubleTeam + case 1, MauvilleCity_GameCorner_EventScript_TMPsychic + case 2, MauvilleCity_GameCorner_EventScript_TMFlamethrower + case 3, MauvilleCity_GameCorner_EventScript_TMThunderbolt + case 4, MauvilleCity_GameCorner_EventScript_TMIceBeam case 5, MauvilleCity_GameCorner_EventScript_CancelTMSelect goto MauvilleCity_GameCorner_EventScript_CancelTMSelect end -MauvilleCity_GameCorner_EventScript_TM32:: +MauvilleCity_GameCorner_EventScript_TMDoubleTeam:: setvar VAR_TEMP_1, 1 - bufferitemname STR_VAR_1, ITEM_TM32 - setvar VAR_0x8004, ITEM_TM32 + bufferitemname STR_VAR_1, ITEM_TM_DOUBLE_TEAM + setvar VAR_0x8004, ITEM_TM_DOUBLE_TEAM goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_TM29:: +MauvilleCity_GameCorner_EventScript_TMPsychic:: setvar VAR_TEMP_1, 2 - bufferitemname STR_VAR_1, ITEM_TM29 - setvar VAR_0x8004, ITEM_TM29 + bufferitemname STR_VAR_1, ITEM_TM_PSYCHIC + setvar VAR_0x8004, ITEM_TM_PSYCHIC goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_TM35:: +MauvilleCity_GameCorner_EventScript_TMFlamethrower:: setvar VAR_TEMP_1, 3 - bufferitemname STR_VAR_1, ITEM_TM35 - setvar VAR_0x8004, ITEM_TM35 + bufferitemname STR_VAR_1, ITEM_TM_FLAMETHROWER + setvar VAR_0x8004, ITEM_TM_FLAMETHROWER goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_TM24:: +MauvilleCity_GameCorner_EventScript_TMThunderbolt:: setvar VAR_TEMP_1, 4 - bufferitemname STR_VAR_1, ITEM_TM24 - setvar VAR_0x8004, ITEM_TM24 + bufferitemname STR_VAR_1, ITEM_TM_THUNDERBOLT + setvar VAR_0x8004, ITEM_TM_THUNDERBOLT goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize -MauvilleCity_GameCorner_EventScript_TM13:: +MauvilleCity_GameCorner_EventScript_TMIceBeam:: setvar VAR_TEMP_1, 5 - bufferitemname STR_VAR_1, ITEM_TM13 - setvar VAR_0x8004, ITEM_TM13 + bufferitemname STR_VAR_1, ITEM_TM_ICE_BEAM + setvar VAR_0x8004, ITEM_TM_ICE_BEAM goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize MauvilleCity_GameCorner_EventScript_ConfirmTMPrize:: @@ -280,72 +280,72 @@ MauvilleCity_GameCorner_EventScript_ConfirmTMPrize:: msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX, MSGBOX_YESNO goto_if_eq VAR_RESULT, NO, MauvilleCity_GameCorner_EventScript_CancelTMSelect switch VAR_TEMP_1 - case 1, MauvilleCity_GameCorner_EventScript_BuyTM32 - case 2, MauvilleCity_GameCorner_EventScript_BuyTM29 - case 3, MauvilleCity_GameCorner_EventScript_BuyTM35 - case 4, MauvilleCity_GameCorner_EventScript_BuyTM24 - case 5, MauvilleCity_GameCorner_EventScript_BuyTM13 + case 1, MauvilleCity_GameCorner_EventScript_BuyTMDoubleTeam + case 2, MauvilleCity_GameCorner_EventScript_BuyTMPsychic + case 3, MauvilleCity_GameCorner_EventScript_BuyTMFlamethrower + case 4, MauvilleCity_GameCorner_EventScript_BuyTMThunderbolt + case 5, MauvilleCity_GameCorner_EventScript_BuyTMIceBeam end -MauvilleCity_GameCorner_EventScript_BuyTM32:: +MauvilleCity_GameCorner_EventScript_BuyTMDoubleTeam:: checkcoins VAR_TEMP_2 - goto_if_lt VAR_TEMP_2, TM32_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM - checkitemspace ITEM_TM32 + goto_if_lt VAR_TEMP_2, TM_DOUBLE_TEAM_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM + checkitemspace ITEM_TM_DOUBLE_TEAM goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM - removecoins TM32_COINS - additem ITEM_TM32 + removecoins TM_DOUBLE_TEAM_COINS + additem ITEM_TM_DOUBLE_TEAM updatecoinsbox 1, 1 playse SE_SHOP msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_BuyTM29:: +MauvilleCity_GameCorner_EventScript_BuyTMPsychic:: checkcoins VAR_TEMP_2 - goto_if_lt VAR_TEMP_2, TM29_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM - checkitemspace ITEM_TM29 + goto_if_lt VAR_TEMP_2, TM_PSYCHIC_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM + checkitemspace ITEM_TM_PSYCHIC goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM - removecoins TM29_COINS - additem ITEM_TM29 + removecoins TM_PSYCHIC_COINS + additem ITEM_TM_PSYCHIC updatecoinsbox 1, 1 playse SE_SHOP msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_BuyTM35:: +MauvilleCity_GameCorner_EventScript_BuyTMFlamethrower:: checkcoins VAR_TEMP_2 - goto_if_lt VAR_TEMP_2, TM35_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM - checkitemspace ITEM_TM35 + goto_if_lt VAR_TEMP_2, TM_FLAMETHROWER_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM + checkitemspace ITEM_TM_FLAMETHROWER goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM - removecoins TM35_COINS - additem ITEM_TM35 + removecoins TM_FLAMETHROWER_COINS + additem ITEM_TM_FLAMETHROWER updatecoinsbox 1, 1 playse SE_SHOP msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_BuyTM24:: +MauvilleCity_GameCorner_EventScript_BuyTMThunderbolt:: checkcoins VAR_TEMP_2 - goto_if_lt VAR_TEMP_2, TM24_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM - checkitemspace ITEM_TM24 + goto_if_lt VAR_TEMP_2, TM_THUNDERBOLT_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM + checkitemspace ITEM_TM_THUNDERBOLT goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM - removecoins TM24_COINS - additem ITEM_TM24 + removecoins TM_THUNDERBOLT_COINS + additem ITEM_TM_THUNDERBOLT updatecoinsbox 1, 1 playse SE_SHOP msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize end -MauvilleCity_GameCorner_EventScript_BuyTM13:: +MauvilleCity_GameCorner_EventScript_BuyTMIceBeam:: checkcoins VAR_TEMP_2 - goto_if_lt VAR_TEMP_2, TM13_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM - checkitemspace ITEM_TM13 + goto_if_lt VAR_TEMP_2, TM_ICE_BEAM_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM + checkitemspace ITEM_TM_ICE_BEAM goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM - removecoins TM13_COINS - additem ITEM_TM13 + removecoins TM_ICE_BEAM_COINS + additem ITEM_TM_ICE_BEAM updatecoinsbox 1, 1 playse SE_SHOP msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT diff --git a/data/maps/MauvilleCity_Gym/scripts.inc b/data/maps/MauvilleCity_Gym/scripts.inc index de924d7d93..433c45bf81 100644 --- a/data/maps/MauvilleCity_Gym/scripts.inc +++ b/data/maps/MauvilleCity_Gym/scripts.inc @@ -77,7 +77,7 @@ MauvilleCity_Gym_EventScript_Wattson:: trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonIntro, MauvilleCity_Gym_Text_WattsonDefeat, MauvilleCity_Gym_EventScript_WattsonDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, MauvilleCity_Gym_EventScript_WattsonRematch - goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_GiveShockWave2 + goto_if_unset FLAG_RECEIVED_TM_SHOCK_WAVE, MauvilleCity_Gym_EventScript_GiveShockWave2 goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, MauvilleCity_Gym_EventScript_CompletedNewMauville msgbox MauvilleCity_Gym_Text_WattsonPostBattle, MSGBOX_DEFAULT release @@ -112,18 +112,18 @@ MauvilleCity_Gym_EventScript_WattsonDefeated:: end MauvilleCity_Gym_EventScript_GiveShockWave2:: - giveitem ITEM_TM34 + giveitem ITEM_TM_SHOCK_WAVE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM34 + setflag FLAG_RECEIVED_TM_SHOCK_WAVE release end MauvilleCity_Gym_EventScript_GiveShockWave:: - giveitem ITEM_TM34 + giveitem ITEM_TM_SHOCK_WAVE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM34 + setflag FLAG_RECEIVED_TM_SHOCK_WAVE return MauvilleCity_Gym_EventScript_CompletedNewMauville:: diff --git a/data/maps/MauvilleCity_House1/scripts.inc b/data/maps/MauvilleCity_House1/scripts.inc index d0d3481a66..2e4e9abcbc 100644 --- a/data/maps/MauvilleCity_House1/scripts.inc +++ b/data/maps/MauvilleCity_House1/scripts.inc @@ -4,10 +4,10 @@ MauvilleCity_House1_MapScripts:: MauvilleCity_House1_EventScript_RockSmashDude:: lock faceplayer - goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_ReceivedRockSmash + goto_if_set FLAG_RECEIVED_HM_ROCK_SMASH, MauvilleCity_House1_EventScript_ReceivedRockSmash msgbox MauvilleCity_House1_Text_ImRockSmashDudeTakeThis, MSGBOX_DEFAULT - giveitem ITEM_HM06 - setflag FLAG_RECEIVED_HM06 + giveitem ITEM_HM_ROCK_SMASH + setflag FLAG_RECEIVED_HM_ROCK_SMASH setflag FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY msgbox MauvilleCity_House1_Text_ExplainRockSmash, MSGBOX_DEFAULT release diff --git a/data/maps/MeteorFalls_1F_1R/map.json b/data/maps/MeteorFalls_1F_1R/map.json index 71f1d1cc5b..e0d32c5804 100644 --- a/data/maps/MeteorFalls_1F_1R/map.json +++ b/data/maps/MeteorFalls_1F_1R/map.json @@ -24,8 +24,8 @@ "movement_range_y": 0, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_1F_1R_EventScript_ItemTM23", - "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM23" + "script": "MeteorFalls_1F_1R_EventScript_ItemTMIronTail", + "flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM_IRON_TAIL" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/MeteorFalls_B1F_2R/map.json b/data/maps/MeteorFalls_B1F_2R/map.json index 8d153c4239..79a89874e9 100644 --- a/data/maps/MeteorFalls_B1F_2R/map.json +++ b/data/maps/MeteorFalls_B1F_2R/map.json @@ -24,8 +24,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "MeteorFalls_B1F_2R_EventScript_ItemTM02", - "flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02" + "script": "MeteorFalls_B1F_2R_EventScript_ItemTMDragonClaw", + "flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_DRAGON_CLAW" } ], "warp_events": [ diff --git a/data/maps/MossdeepCity/scripts.inc b/data/maps/MossdeepCity/scripts.inc index 836490cbdd..a03b1db820 100644 --- a/data/maps/MossdeepCity/scripts.inc +++ b/data/maps/MossdeepCity/scripts.inc @@ -20,7 +20,7 @@ MossdeepCity_OnTransition: MossdeepCity_EventScript_PokefanF:: lock faceplayer - goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_PokefanFMagmaGone + goto_if_set FLAG_RECEIVED_HM_DIVE, MossdeepCity_EventScript_PokefanFMagmaGone msgbox MossdeepCity_Text_SpaceCenterReceivedLetter, MSGBOX_DEFAULT release end @@ -33,7 +33,7 @@ MossdeepCity_EventScript_PokefanFMagmaGone:: MossdeepCity_EventScript_Sailor:: lock faceplayer - goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_SailorMagmaGone + goto_if_set FLAG_RECEIVED_HM_DIVE, MossdeepCity_EventScript_SailorMagmaGone msgbox MossdeepCity_Text_MossdeepTargetedByMagma, MSGBOX_DEFAULT release end diff --git a/data/maps/MossdeepCity_Gym/scripts.inc b/data/maps/MossdeepCity_Gym/scripts.inc index 8892097dee..f2d08c13b1 100644 --- a/data/maps/MossdeepCity_Gym/scripts.inc +++ b/data/maps/MossdeepCity_Gym/scripts.inc @@ -52,7 +52,7 @@ MossdeepCity_Gym_EventScript_TateAndLiza:: trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaIntro, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, MossdeepCity_Gym_EventScript_TateAndLizaRematch - goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_GiveCalmMind2 + goto_if_unset FLAG_RECEIVED_TM_CALM_MIND, MossdeepCity_Gym_EventScript_GiveCalmMind2 msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT release end @@ -90,18 +90,18 @@ MossdeepCity_Gym_EventScript_TateAndLizaDefeated:: end MossdeepCity_Gym_EventScript_GiveCalmMind2:: - giveitem ITEM_TM04 + giveitem ITEM_TM_CALM_MIND goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM04 + setflag FLAG_RECEIVED_TM_CALM_MIND release end MossdeepCity_Gym_EventScript_GiveCalmMind:: - giveitem ITEM_TM04 + giveitem ITEM_TM_CALM_MIND goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM04 + setflag FLAG_RECEIVED_TM_CALM_MIND return MossdeepCity_Gym_EventScript_TateAndLizaRematch:: diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc index 0470e977a6..b30846e569 100644 --- a/data/maps/MossdeepCity_StevensHouse/scripts.inc +++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc @@ -40,8 +40,8 @@ MossdeepCity_StevensHouse_EventScript_StevenGivesDive:: applymovement LOCALID_STEVEN, MossdeepCity_StevensHouse_Movement_StevenApproachPlayer waitmovement 0 msgbox MossdeepCity_StevensHouse_Text_YouveEarnedHMDive, MSGBOX_DEFAULT - giveitem ITEM_HM08 - setflag FLAG_RECEIVED_HM08 + giveitem ITEM_HM_DIVE + setflag FLAG_RECEIVED_HM_DIVE setflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER msgbox MossdeepCity_StevensHouse_Text_ExplainDive, MSGBOX_DEFAULT closemessage @@ -146,8 +146,8 @@ MossdeepCity_StevensHouse_EventScript_Letter:: @ Unused, leftover from RS MossdeepCity_StevensHouse_EventScript_DiveItemBall:: - finditem ITEM_HM08 - setflag FLAG_RECEIVED_HM08 + finditem ITEM_HM_DIVE + setflag FLAG_RECEIVED_HM_DIVE end MossdeepCity_StevensHouse_Text_YouveEarnedHMDive: diff --git a/data/maps/MtPyre_6F/map.json b/data/maps/MtPyre_6F/map.json index 9da33f4bc6..06bd940eac 100644 --- a/data/maps/MtPyre_6F/map.json +++ b/data/maps/MtPyre_6F/map.json @@ -37,8 +37,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_6F_EventScript_ItemTM30", - "flag": "FLAG_ITEM_MT_PYRE_6F_TM30" + "script": "MtPyre_6F_EventScript_ItemTMShadowBall", + "flag": "FLAG_ITEM_MT_PYRE_6F_TM_SHADOW_BALL" }, { "graphics_id": "OBJ_EVENT_GFX_PSYCHIC_M", diff --git a/data/maps/MtPyre_Exterior/map.json b/data/maps/MtPyre_Exterior/map.json index 417a38d977..a65f1259d4 100644 --- a/data/maps/MtPyre_Exterior/map.json +++ b/data/maps/MtPyre_Exterior/map.json @@ -37,8 +37,8 @@ "movement_range_y": 0, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "MtPyre_Exterior_EventScript_ItemTM48", - "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM48" + "script": "MtPyre_Exterior_EventScript_ItemTMSkillSwap", + "flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM_SKILL_SWAP" } ], "warp_events": [ diff --git a/data/maps/PacifidlogTown_House2/scripts.inc b/data/maps/PacifidlogTown_House2/scripts.inc index 175b477e7a..3acb7583e8 100644 --- a/data/maps/PacifidlogTown_House2/scripts.inc +++ b/data/maps/PacifidlogTown_House2/scripts.inc @@ -38,7 +38,7 @@ PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM:: PacifidlogTown_House2_EventScript_GiveReturn:: msgbox PacifidlogTown_House2_Text_AdoringPokemonTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM27 + giveitem ITEM_TM_RETURN goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK special SetPacifidlogTMReceivedDay @@ -53,7 +53,7 @@ PacifidlogTown_House2_EventScript_PutInEffort:: PacifidlogTown_House2_EventScript_GiveFrustration:: msgbox PacifidlogTown_House2_Text_ViciousPokemonTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM21 + giveitem ITEM_TM_FRUSTRATION goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK special SetPacifidlogTMReceivedDay diff --git a/data/maps/PetalburgCity_Gym/scripts.inc b/data/maps/PetalburgCity_Gym/scripts.inc index 836da26bfb..8b107c68ec 100644 --- a/data/maps/PetalburgCity_Gym/scripts.inc +++ b/data/maps/PetalburgCity_Gym/scripts.inc @@ -332,7 +332,7 @@ PetalburgCity_Gym_EventScript_NormanFaceDoorEast:: PetalburgCity_Gym_EventScript_NormanPostBattle:: call PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_GiveEnigmaBerry - goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_GiveFacade2 + goto_if_unset FLAG_RECEIVED_TM_FACADE, PetalburgCity_Gym_EventScript_GiveFacade2 goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough msgbox PetalburgCity_Gym_Text_DadGoingToKeepTraining, MSGBOX_DEFAULT release @@ -405,9 +405,9 @@ PetalburgCity_Gym_EventScript_NormanBattle:: end PetalburgCity_Gym_EventScript_GiveFacade:: - giveitem ITEM_TM42 + giveitem ITEM_TM_FACADE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull - setflag FLAG_RECEIVED_TM42 + setflag FLAG_RECEIVED_TM_FACADE msgbox PetalburgCity_Gym_Text_ExplainFacade, MSGBOX_DEFAULT return diff --git a/data/maps/PetalburgCity_WallysHouse/scripts.inc b/data/maps/PetalburgCity_WallysHouse/scripts.inc index 3a06208a78..f7e2e97828 100644 --- a/data/maps/PetalburgCity_WallysHouse/scripts.inc +++ b/data/maps/PetalburgCity_WallysHouse/scripts.inc @@ -15,14 +15,14 @@ PetalburgCity_WallysHouse_EventScript_PlayerWallysDadFaceEachOther:: end PetalburgCity_WallysHouse_OnFrame: - map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_GiveHM03Surf + map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_GiveHMSurf .2byte 0 -PetalburgCity_WallysHouse_EventScript_GiveHM03Surf:: +PetalburgCity_WallysHouse_EventScript_GiveHMSurf:: lockall msgbox PetalburgCity_WallysHouse_Text_PleaseExcuseUs, MSGBOX_DEFAULT - giveitem ITEM_HM03 - setflag FLAG_RECEIVED_HM03 + giveitem ITEM_HM_SURF + setflag FLAG_RECEIVED_HM_SURF msgbox PetalburgCity_WallysHouse_Text_SurfGoAllSortsOfPlaces, MSGBOX_DEFAULT setvar VAR_PETALBURG_CITY_STATE, 5 releaseall @@ -32,14 +32,14 @@ PetalburgCity_WallysHouse_EventScript_WallysDad:: lock faceplayer goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_DefeatedWallyInVictoryRoad - goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf + goto_if_set FLAG_RECEIVED_HM_SURF, PetalburgCity_WallysHouse_EventScript_ReceievedHMSurf goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_PlayedWithWally msgbox PetalburgCity_WallysHouse_Text_ThanksForPlayingWithWally, MSGBOX_DEFAULT setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY release end -PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf:: +PetalburgCity_WallysHouse_EventScript_ReceievedHMSurf:: msgbox PetalburgCity_WallysHouse_Text_WallyIsComingHomeSoon, MSGBOX_DEFAULT release end @@ -57,12 +57,12 @@ PetalburgCity_WallysHouse_EventScript_PlayedWithWally:: PetalburgCity_WallysHouse_EventScript_WallysMom:: lock faceplayer - goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf + goto_if_set FLAG_RECEIVED_HM_SURF, PetalburgCity_WallysHouse_EventScript_ReceivedHMSurf msgbox PetalburgCity_WallysHouse_Text_WallyWasReallyHappy, MSGBOX_DEFAULT release end -PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf:: +PetalburgCity_WallysHouse_EventScript_ReceivedHMSurf:: msgbox PetalburgCity_WallysHouse_Text_WallyLeftWithoutTelling, MSGBOX_DEFAULT release end diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 68aeb0a212..dfb7675e90 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -329,11 +329,11 @@ Route104_EventScript_Woman:: Route104_EventScript_Boy2:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_ReceivedBulletSeed + goto_if_set FLAG_RECEIVED_TM_BULLET_SEED, Route104_EventScript_ReceivedBulletSeed msgbox Route104_Text_LikeFillingMouthWithSeedsTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM09 + giveitem ITEM_TM_BULLET_SEED goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM09 + setflag FLAG_RECEIVED_TM_BULLET_SEED release end diff --git a/data/maps/Route110_TrickHouseEnd/scripts.inc b/data/maps/Route110_TrickHouseEnd/scripts.inc index be8f75e961..9f31d89e4c 100644 --- a/data/maps/Route110_TrickHouseEnd/scripts.inc +++ b/data/maps/Route110_TrickHouseEnd/scripts.inc @@ -109,7 +109,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle5:: msgbox Route110_TrickHouseEnd_Text_AllNightToMakeMechadolls, MSGBOX_DEFAULT msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0 - giveitem ITEM_TM12 + giveitem ITEM_TM_TAUNT call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT closemessage diff --git a/data/maps/Route110_TrickHouseEntrance/scripts.inc b/data/maps/Route110_TrickHouseEntrance/scripts.inc index 52327553e3..51135ac339 100644 --- a/data/maps/Route110_TrickHouseEntrance/scripts.inc +++ b/data/maps/Route110_TrickHouseEntrance/scripts.inc @@ -370,7 +370,7 @@ Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward:: end Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward:: - giveitem ITEM_TM12 + giveitem ITEM_TM_TAUNT goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT diff --git a/data/maps/Route111/map.json b/data/maps/Route111/map.json index bc476ebaaf..6efa1770e2 100644 --- a/data/maps/Route111/map.json +++ b/data/maps/Route111/map.json @@ -261,8 +261,8 @@ "movement_range_y": 0, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "Route111_EventScript_ItemTM37", - "flag": "FLAG_ITEM_ROUTE_111_TM37" + "script": "Route111_EventScript_ItemTMSandstorm", + "flag": "FLAG_ITEM_ROUTE_111_TM_SANDSTORM" }, { "graphics_id": "OBJ_EVENT_GFX_BERRY_TREE", diff --git a/data/maps/Route113/map.json b/data/maps/Route113/map.json index 4c45d904cb..2e5890d656 100644 --- a/data/maps/Route113/map.json +++ b/data/maps/Route113/map.json @@ -450,8 +450,8 @@ "x": 22, "y": 5, "elevation": 3, - "item": "ITEM_TM32", - "flag": "FLAG_HIDDEN_ITEM_ROUTE_113_TM32" + "item": "ITEM_TM_DOUBLE_TEAM", + "flag": "FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM" }, { "type": "hidden_item", diff --git a/data/maps/Route114/scripts.inc b/data/maps/Route114/scripts.inc index abf70ea081..db46f7bb80 100644 --- a/data/maps/Route114/scripts.inc +++ b/data/maps/Route114/scripts.inc @@ -43,11 +43,11 @@ Route114_EventScript_ReceivedBerry:: Route114_EventScript_RoarGentleman:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_ReceivedRoar + goto_if_set FLAG_RECEIVED_TM_ROAR, Route114_EventScript_ReceivedRoar msgbox Route114_Text_AllMyMonDoesIsRoarTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM05 + giveitem ITEM_TM_ROAR goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM05 + setflag FLAG_RECEIVED_TM_ROAR msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT release end diff --git a/data/maps/Route114_FossilManiacsHouse/scripts.inc b/data/maps/Route114_FossilManiacsHouse/scripts.inc index ba3c0c60e5..2586ea1076 100644 --- a/data/maps/Route114_FossilManiacsHouse/scripts.inc +++ b/data/maps/Route114_FossilManiacsHouse/scripts.inc @@ -9,11 +9,11 @@ Route114_FossilManiacsHouse_OnTransition: Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_ReceivedDig + goto_if_set FLAG_RECEIVED_TM_DIG, Route114_FossilManiacsHouse_EventScript_ReceivedDig msgbox Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother, MSGBOX_DEFAULT - giveitem ITEM_TM28 + giveitem ITEM_TM_DIG goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM28 + setflag FLAG_RECEIVED_TM_DIG release end diff --git a/data/maps/Route115/map.json b/data/maps/Route115/map.json index a4143fad30..ee0d71349d 100644 --- a/data/maps/Route115/map.json +++ b/data/maps/Route115/map.json @@ -165,8 +165,8 @@ "movement_range_y": 0, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "Route115_EventScript_ItemTM01", - "flag": "FLAG_ITEM_ROUTE_115_TM01" + "script": "Route115_EventScript_ItemTMFocusPunch", + "flag": "FLAG_ITEM_ROUTE_115_TM_FOCUS_PUNCH" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 94094206c7..6c9767dcb6 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -132,8 +132,8 @@ Route119_EventScript_DefeatedBrendan:: end Route119_EventScript_GiveFlyHM:: - giveitem ITEM_HM02 - setflag FLAG_RECEIVED_HM02 + giveitem ITEM_HM_FLY + setflag FLAG_RECEIVED_HM_FLY return Route119_EventScript_RivalExitScottArrive:: diff --git a/data/maps/Route123/scripts.inc b/data/maps/Route123/scripts.inc index fe63661261..92cfa62768 100644 --- a/data/maps/Route123/scripts.inc +++ b/data/maps/Route123/scripts.inc @@ -9,14 +9,14 @@ Route123_OnTransition: Route123_EventScript_GigaDrainGirl:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_ReceivedGigaDrain + goto_if_set FLAG_RECEIVED_TM_GIGA_DRAIN, Route123_EventScript_ReceivedGigaDrain msgbox Route123_Text_LoveGrassMonsHaveAny, MSGBOX_DEFAULT special IsGrassTypeInParty goto_if_eq VAR_RESULT, FALSE, Route123_EventScript_NoGrassMons msgbox Route123_Text_YouLikeGrassMonsTooHaveThis, MSGBOX_DEFAULT - giveitem ITEM_TM19 + giveitem ITEM_TM_GIGA_DRAIN goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM19 + setflag FLAG_RECEIVED_TM_GIGA_DRAIN msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_CuttersHouse/scripts.inc b/data/maps/RustboroCity_CuttersHouse/scripts.inc index f1d6030761..11cd0f608f 100644 --- a/data/maps/RustboroCity_CuttersHouse/scripts.inc +++ b/data/maps/RustboroCity_CuttersHouse/scripts.inc @@ -4,10 +4,10 @@ RustboroCity_CuttersHouse_MapScripts:: RustboroCity_CuttersHouse_EventScript_Cutter:: lock faceplayer - goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_ExplainCut + goto_if_set FLAG_RECEIVED_HM_CUT, RustboroCity_CuttersHouse_EventScript_ExplainCut msgbox RustboroCity_CuttersHouse_Text_YouCanPutThisHMToGoodUse, MSGBOX_DEFAULT - giveitem ITEM_HM01 - setflag FLAG_RECEIVED_HM01 + giveitem ITEM_HM_CUT + setflag FLAG_RECEIVED_HM_CUT msgbox RustboroCity_CuttersHouse_Text_ExplainCut, MSGBOX_DEFAULT release end diff --git a/data/maps/RustboroCity_Gym/scripts.inc b/data/maps/RustboroCity_Gym/scripts.inc index e1596a9730..53ed0b20be 100644 --- a/data/maps/RustboroCity_Gym/scripts.inc +++ b/data/maps/RustboroCity_Gym/scripts.inc @@ -5,7 +5,7 @@ RustboroCity_Gym_EventScript_Roxanne:: trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxanneIntro, RustboroCity_Gym_Text_RoxanneDefeat, RustboroCity_Gym_EventScript_RoxanneDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, RustboroCity_Gym_EventScript_RoxanneRematch - goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_GiveRockTomb + goto_if_unset FLAG_RECEIVED_TM_ROCK_TOMB, RustboroCity_Gym_EventScript_GiveRockTomb msgbox RustboroCity_Gym_Text_RoxannePostBattle, MSGBOX_DEFAULT release end @@ -26,9 +26,9 @@ RustboroCity_Gym_EventScript_RoxanneDefeated:: end RustboroCity_Gym_EventScript_GiveRockTomb:: - giveitem ITEM_TM39 + giveitem ITEM_TM_ROCK_TOMB goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM39 + setflag FLAG_RECEIVED_TM_ROCK_TOMB msgbox RustboroCity_Gym_Text_ExplainRockTomb, MSGBOX_DEFAULT release end diff --git a/data/maps/RusturfTunnel/scripts.inc b/data/maps/RusturfTunnel/scripts.inc index e7eee5817a..a705100956 100644 --- a/data/maps/RusturfTunnel/scripts.inc +++ b/data/maps/RusturfTunnel/scripts.inc @@ -62,8 +62,8 @@ RusturfTunnel_EventScript_ClearTunnelScene:: msgbox RusturfTunnel_Text_YouShatteredBoulderTakeHM, MSGBOX_DEFAULT call_if_eq VAR_TEMP_1, 2, RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer call_if_eq VAR_TEMP_1, 3, RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer - giveitem ITEM_HM04 - setflag FLAG_RECEIVED_HM04 + giveitem ITEM_HM_STRENGTH + setflag FLAG_RECEIVED_HM_STRENGTH msgbox RusturfTunnel_Text_ExplainStrength, MSGBOX_DEFAULT closemessage call_if_eq VAR_TEMP_1, 1, RusturfTunnel_EventScript_BoyfriendApproachWanda1 diff --git a/data/maps/SSTidalCorridor/scripts.inc b/data/maps/SSTidalCorridor/scripts.inc index b39b9a4336..0d425889a7 100644 --- a/data/maps/SSTidalCorridor/scripts.inc +++ b/data/maps/SSTidalCorridor/scripts.inc @@ -124,7 +124,7 @@ SSTidalCorridor_EventScript_ExitSailor:: SSTidalCorridor_EventScript_ExitLilycove:: setrespawn HEAL_LOCATION_LILYCOVE_CITY msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT - call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver + call_if_set FLAG_RECEIVED_TM_SNATCH, SSTidalCorridor_EventScript_HideSnatchGiver warp MAP_LILYCOVE_CITY_HARBOR, 8, 11 waitstate release @@ -133,7 +133,7 @@ SSTidalCorridor_EventScript_ExitLilycove:: SSTidalCorridor_EventScript_ExitSlateport:: setrespawn HEAL_LOCATION_SLATEPORT_CITY msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT - call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver + call_if_set FLAG_RECEIVED_TM_SNATCH, SSTidalCorridor_EventScript_HideSnatchGiver warp MAP_SLATEPORT_CITY_HARBOR, 8, 11 waitstate release diff --git a/data/maps/SSTidalRooms/scripts.inc b/data/maps/SSTidalRooms/scripts.inc index c3aa8ff8ab..53596ba838 100644 --- a/data/maps/SSTidalRooms/scripts.inc +++ b/data/maps/SSTidalRooms/scripts.inc @@ -4,11 +4,11 @@ SSTidalRooms_MapScripts:: SSTidalRooms_EventScript_SnatchGiver:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_ExplainSnatch + goto_if_set FLAG_RECEIVED_TM_SNATCH, SSTidalRooms_EventScript_ExplainSnatch msgbox SSTidalRooms_Text_NotSuspiciousTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM49 + giveitem ITEM_TM_SNATCH goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM49 + setflag FLAG_RECEIVED_TM_SNATCH msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT release end diff --git a/data/maps/SafariZone_Northwest/map.json b/data/maps/SafariZone_Northwest/map.json index 93f3d2a79c..f30ef030a0 100644 --- a/data/maps/SafariZone_Northwest/map.json +++ b/data/maps/SafariZone_Northwest/map.json @@ -48,8 +48,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "SafariZone_Northwest_EventScript_ItemTM22", - "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM22" + "script": "SafariZone_Northwest_EventScript_ItemTMSolarBeam", + "flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_SOLAR_BEAM" } ], "warp_events": [], diff --git a/data/maps/ScorchedSlab/map.json b/data/maps/ScorchedSlab/map.json index ca367b9215..5e0380b4e8 100644 --- a/data/maps/ScorchedSlab/map.json +++ b/data/maps/ScorchedSlab/map.json @@ -24,8 +24,8 @@ "movement_range_y": 0, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "ScorchedSlab_EventScript_ItemTM11", - "flag": "FLAG_ITEM_SCORCHED_SLAB_TM11" + "script": "ScorchedSlab_EventScript_ItemTMSunnyDay", + "flag": "FLAG_ITEM_SCORCHED_SLAB_TM_SUNNY_DAY" } ], "warp_events": [ diff --git a/data/maps/SeafloorCavern_Room9/map.json b/data/maps/SeafloorCavern_Room9/map.json index f191941a2b..04fb621df1 100644 --- a/data/maps/SeafloorCavern_Room9/map.json +++ b/data/maps/SeafloorCavern_Room9/map.json @@ -89,8 +89,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "SeafloorCavern_Room9_EventScript_ItemTM26", - "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM26" + "script": "SeafloorCavern_Room9_EventScript_ItemTMEarthquake", + "flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_EARTHQUAKE" }, { "graphics_id": "OBJ_EVENT_GFX_KYOGRE_ASLEEP", diff --git a/data/maps/ShoalCave_LowTideIceRoom/map.json b/data/maps/ShoalCave_LowTideIceRoom/map.json index f87f88227e..dffa6d0de8 100644 --- a/data/maps/ShoalCave_LowTideIceRoom/map.json +++ b/data/maps/ShoalCave_LowTideIceRoom/map.json @@ -24,8 +24,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "ShoalCave_LowTideIceRoom_EventScript_ItemTM07", - "flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM07" + "script": "ShoalCave_LowTideIceRoom_EventScript_ItemTMHail", + "flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_HAIL" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc index 653f405c45..ae3910750e 100644 --- a/data/maps/SlateportCity/scripts.inc +++ b/data/maps/SlateportCity/scripts.inc @@ -566,8 +566,8 @@ SlateportCity_EventScript_PowerTMClerk:: .align 2 SlateportCity_Pokemart_PowerTMs: - .2byte ITEM_TM10 @ Hidden Power - .2byte ITEM_TM43 @ Secret Power + .2byte ITEM_TM_HIDDEN_POWER + .2byte ITEM_TM_SECRET_POWER .2byte ITEM_NONE release end diff --git a/data/maps/SlateportCity_BattleTentLobby/scripts.inc b/data/maps/SlateportCity_BattleTentLobby/scripts.inc index 0d3fae875f..cb1bae4132 100644 --- a/data/maps/SlateportCity_BattleTentLobby/scripts.inc +++ b/data/maps/SlateportCity_BattleTentLobby/scripts.inc @@ -199,11 +199,11 @@ SlateportCity_BattleTentLobby_Movement_UnusedEnterDoor:: SlateportCity_BattleTentLobby_EventScript_TormentGiver:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment + goto_if_set FLAG_RECEIVED_TM_TORMENT, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment msgbox SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe, MSGBOX_DEFAULT - giveitem ITEM_TM41 + giveitem ITEM_TM_TORMENT goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM41 + setflag FLAG_RECEIVED_TM_TORMENT msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT release end diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc index 96892f948d..8b464f73ae 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/scripts.inc @@ -151,9 +151,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt:: applymovement LOCALID_FAMILIAR_GRUNT, Common_Movement_Delay48 waitmovement 0 msgbox SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis, MSGBOX_DEFAULT - giveitem ITEM_TM46 + giveitem ITEM_TM_THIEF goto_if_eq VAR_RESULT, 0, SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief - setflag FLAG_RECEIVED_TM46 + setflag FLAG_RECEIVED_TM_THIEF msgbox SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain, MSGBOX_DEFAULT closemessage goto_if_eq VAR_FACING, DIR_NORTH, SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc index 69f74880ec..16e2d03252 100644 --- a/data/maps/SootopolisCity/scripts.inc +++ b/data/maps/SootopolisCity/scripts.inc @@ -1300,7 +1300,7 @@ SootopolisCity_EventScript_Wallace:: lock faceplayer goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_GoToSkyPillar - goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_GoToGym + goto_if_set FLAG_RECEIVED_HM_WATERFALL, SootopolisCity_EventScript_GoToGym goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_GiveWaterfall msgbox SootopolisCity_Text_AquaMagmaDidntMeanHarm, MSGBOX_DEFAULT release @@ -1308,8 +1308,8 @@ SootopolisCity_EventScript_Wallace:: SootopolisCity_EventScript_GiveWaterfall:: msgbox SootopolisCity_Text_ThankYouForHelpAcceptThis, MSGBOX_DEFAULT - giveitem ITEM_HM07 - setflag FLAG_RECEIVED_HM07 + giveitem ITEM_HM_WATERFALL + setflag FLAG_RECEIVED_HM_WATERFALL msgbox SootopolisCity_Text_ExplainWaterfallGoToGym, MSGBOX_DEFAULT closemessage call_if_eq VAR_FACING, DIR_NORTH, SootopolisCity_EventScript_WallaceMoveFromGym diff --git a/data/maps/SootopolisCity_Gym_1F/scripts.inc b/data/maps/SootopolisCity_Gym_1F/scripts.inc index 7f739935b1..5ae8145299 100644 --- a/data/maps/SootopolisCity_Gym_1F/scripts.inc +++ b/data/maps/SootopolisCity_Gym_1F/scripts.inc @@ -83,7 +83,7 @@ SootopolisCity_Gym_1F_EventScript_Juan:: trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanIntro, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, SootopolisCity_Gym_1F_EventScript_JuanRematch - goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2 + goto_if_unset FLAG_RECEIVED_TM_WATER_PULSE, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2 goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT release @@ -116,17 +116,17 @@ SootopolisCity_Gym_1F_EventScript_JuanDefeated:: end SootopolisCity_Gym_1F_EventScript_GiveWaterPulse:: - giveitem ITEM_TM03 + giveitem ITEM_TM_WATER_PULSE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM03 + setflag FLAG_RECEIVED_TM_WATER_PULSE return SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2:: - giveitem ITEM_TM03 + giveitem ITEM_TM_WATER_PULSE goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT - setflag FLAG_RECEIVED_TM03 + setflag FLAG_RECEIVED_TM_WATER_PULSE release end diff --git a/data/maps/SootopolisCity_House1/scripts.inc b/data/maps/SootopolisCity_House1/scripts.inc index 40f22a9c1f..b298e51d53 100644 --- a/data/maps/SootopolisCity_House1/scripts.inc +++ b/data/maps/SootopolisCity_House1/scripts.inc @@ -4,11 +4,11 @@ SootopolisCity_House1_MapScripts:: SootopolisCity_House1_EventScript_BrickBreakBlackBelt:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_ReceivedBrickBreak + goto_if_set FLAG_RECEIVED_TM_BRICK_BREAK, SootopolisCity_House1_EventScript_ReceivedBrickBreak msgbox SootopolisCity_House1_Text_DevelopedThisTM, MSGBOX_DEFAULT - giveitem ITEM_TM31 + giveitem ITEM_TM_BRICK_BREAK goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM31 + setflag FLAG_RECEIVED_TM_BRICK_BREAK msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT release end diff --git a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc index a78a6a78ed..7520c83f04 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/scripts.inc @@ -225,11 +225,11 @@ VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor: VerdanturfTown_BattleTentLobby_EventScript_AttractGiver:: lock faceplayer - goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract + goto_if_set FLAG_RECEIVED_TM_ATTRACT, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract msgbox VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep, MSGBOX_DEFAULT - giveitem ITEM_TM45 + giveitem ITEM_TM_ATTRACT goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull - setflag FLAG_RECEIVED_TM45 + setflag FLAG_RECEIVED_TM_ATTRACT msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT release end diff --git a/data/maps/VictoryRoad_B1F/map.json b/data/maps/VictoryRoad_B1F/map.json index 6f339a1c25..c6033354ce 100644 --- a/data/maps/VictoryRoad_B1F/map.json +++ b/data/maps/VictoryRoad_B1F/map.json @@ -245,8 +245,8 @@ "movement_range_y": 1, "trainer_type": "TRAINER_TYPE_NONE", "trainer_sight_or_berry_tree_id": "0", - "script": "VictoryRoad_B1F_EventScript_ItemTM29", - "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM29" + "script": "VictoryRoad_B1F_EventScript_ItemTMPsychic", + "flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM_PSYCHIC" }, { "graphics_id": "OBJ_EVENT_GFX_ITEM_BALL", diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc index 683c383df5..9b5a2eead3 100644 --- a/data/scripts/item_ball_scripts.inc +++ b/data/scripts/item_ball_scripts.inc @@ -58,8 +58,8 @@ Route110_EventScript_ItemElixir:: finditem ITEM_ELIXIR end -Route111_EventScript_ItemTM37:: - finditem ITEM_TM37 +Route111_EventScript_ItemTMSandstorm:: + finditem ITEM_TM_SANDSTORM end Route111_EventScript_ItemStardust:: @@ -106,8 +106,8 @@ Route115_EventScript_ItemSuperPotion:: finditem ITEM_SUPER_POTION end -Route115_EventScript_ItemTM01:: - finditem ITEM_TM01 +Route115_EventScript_ItemTMFocusPunch:: + finditem ITEM_TM_FOCUS_PUNCH end Route115_EventScript_ItemIron:: @@ -374,12 +374,12 @@ FieryPath_EventScript_ItemFireStone:: finditem ITEM_FIRE_STONE end -FieryPath_EventScript_ItemTM06:: - finditem ITEM_TM06 +FieryPath_EventScript_ItemTMToxic:: + finditem ITEM_TM_TOXIC end -MeteorFalls_1F_1R_EventScript_ItemTM23:: - finditem ITEM_TM23 +MeteorFalls_1F_1R_EventScript_ItemTMIronTail:: + finditem ITEM_TM_IRON_TAIL end MeteorFalls_1F_1R_EventScript_ItemFullHeal:: @@ -394,8 +394,8 @@ MeteorFalls_1F_1R_EventScript_ItemPPUP:: finditem ITEM_PP_UP end -MeteorFalls_B1F_2R_EventScript_ItemTM02:: - finditem ITEM_TM02 +MeteorFalls_B1F_2R_EventScript_ItemTMDragonClaw:: + finditem ITEM_TM_DRAGON_CLAW end NewMauville_Inside_EventScript_ItemUltraBall:: @@ -430,8 +430,8 @@ AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall:: finditem ITEM_DIVE_BALL end -AbandonedShip_Room_B1F_EventScript_ItemTM13:: - finditem ITEM_TM13 +AbandonedShip_Room_B1F_EventScript_ItemTMIceBeam:: + finditem ITEM_TM_ICE_BEAM end AbandonedShip_Rooms2_1F_EventScript_ItemRevive:: @@ -454,16 +454,16 @@ AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone:: finditem ITEM_WATER_STONE end -AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18:: - finditem ITEM_TM18 +AbandonedShip_HiddenFloorRooms_EventScript_ItemTMRainDance:: + finditem ITEM_TM_RAIN_DANCE end -ScorchedSlab_EventScript_ItemTM11:: - finditem ITEM_TM11 +ScorchedSlab_EventScript_ItemTMSunnyDay:: + finditem ITEM_TM_SUNNY_DAY end -SafariZone_Northwest_EventScript_ItemTM22:: - finditem ITEM_TM22 +SafariZone_Northwest_EventScript_ItemTMSolarBeam:: + finditem ITEM_TM_SOLAR_BEAM end SafariZone_North_EventScript_ItemCalcium:: @@ -498,16 +498,16 @@ MtPyre_5F_EventScript_ItemLaxIncense:: finditem ITEM_LAX_INCENSE end -MtPyre_6F_EventScript_ItemTM30:: - finditem ITEM_TM30 +MtPyre_6F_EventScript_ItemTMShadowBall:: + finditem ITEM_TM_SHADOW_BALL end MtPyre_Exterior_EventScript_ItemMaxPotion:: finditem ITEM_MAX_POTION end -MtPyre_Exterior_EventScript_ItemTM48:: - finditem ITEM_TM48 +MtPyre_Exterior_EventScript_ItemTMSkillSwap:: + finditem ITEM_TM_SKILL_SWAP end AquaHideout_B1F_EventScript_ItemMasterBall:: @@ -554,16 +554,16 @@ ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal:: finditem ITEM_ICE_HEAL end -ShoalCave_LowTideIceRoom_EventScript_ItemTM07:: - finditem ITEM_TM07 +ShoalCave_LowTideIceRoom_EventScript_ItemTMHail:: + finditem ITEM_TM_HAIL end ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce:: finditem ITEM_NEVER_MELT_ICE end -SeafloorCavern_Room9_EventScript_ItemTM26:: - finditem ITEM_TM26 +SeafloorCavern_Room9_EventScript_ItemTMEarthquake:: + finditem ITEM_TM_EARTHQUAKE end Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail:: @@ -610,8 +610,8 @@ VictoryRoad_1F_EventScript_ItemPPUp:: finditem ITEM_PP_UP end -VictoryRoad_B1F_EventScript_ItemTM29:: - finditem ITEM_TM29 +VictoryRoad_B1F_EventScript_ItemTMPsychic:: + finditem ITEM_TM_PSYCHIC end VictoryRoad_B1F_EventScript_ItemFullRestore:: diff --git a/data/scripts/secret_power_tm.inc b/data/scripts/secret_power_tm.inc index 11a5d5b668..58ddc8ce55 100644 --- a/data/scripts/secret_power_tm.inc +++ b/data/scripts/secret_power_tm.inc @@ -43,7 +43,7 @@ Route111_EventScript_SecretPowerMan:: end Route111_EventScript_GiveSecretPower:: - giveitem ITEM_TM43 + giveitem ITEM_TM_SECRET_POWER goto_if_eq VAR_RESULT, FALSE, Route111_EventScript_NoRoomForSecretPower msgbox Route111_Text_ExplainSecretPower, MSGBOX_DEFAULT closemessage diff --git a/include/constants/flags.h b/include/constants/flags.h index 59bde846c5..2bcb39d8dd 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -121,11 +121,11 @@ #define FLAG_UNUSED_0x068 0x68 // Unused Flag #define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x69 -#define FLAG_RECEIVED_HM04 0x6A -#define FLAG_RECEIVED_HM06 0x6B +#define FLAG_RECEIVED_HM_STRENGTH 0x6A +#define FLAG_RECEIVED_HM_ROCK_SMASH 0x6B #define FLAG_WHITEOUT_TO_LAVARIDGE 0x6C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles -#define FLAG_RECEIVED_HM05 0x6D -#define FLAG_RECEIVED_HM02 0x6E +#define FLAG_RECEIVED_HM_FLASH 0x6D +#define FLAG_RECEIVED_HM_FLY 0x6E #define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F #define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70 #define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin. @@ -138,9 +138,9 @@ #define FLAG_CANCEL_BATTLE_ROOM_CHALLENGE 0x77 #define FLAG_LANDMARK_MIRAGE_TOWER 0x78 -#define FLAG_RECEIVED_TM31 0x79 -#define FLAG_RECEIVED_HM03 0x7A -#define FLAG_RECEIVED_HM08 0x7B +#define FLAG_RECEIVED_TM_BRICK_BREAK 0x79 +#define FLAG_RECEIVED_HM_SURF 0x7A +#define FLAG_RECEIVED_HM_DIVE 0x7B #define FLAG_REGISTER_RIVAL_POKENAV 0x7C #define FLAG_DEFEATED_RIVAL_ROUTE_104 0x7D #define FLAG_DEFEATED_WALLY_VICTORY_ROAD 0x7E @@ -154,7 +154,7 @@ #define FLAG_PENDING_DAYCARE_EGG 0x86 #define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87 #define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally. -#define FLAG_RECEIVED_HM01 0x89 +#define FLAG_RECEIVED_HM_CUT 0x89 #define FLAG_SCOTT_CALL_FORTREE_GYM 0x8A // Triggers call from Scott after defeating Winona #define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B #define FLAG_RECEIVED_6_SODA_POP 0x8C @@ -182,14 +182,14 @@ #define FLAG_CUTE_PAINTING_MADE 0xA2 #define FLAG_SMART_PAINTING_MADE 0xA3 #define FLAG_TOUGH_PAINTING_MADE 0xA4 -#define FLAG_RECEIVED_TM39 0xA5 -#define FLAG_RECEIVED_TM08 0xA6 -#define FLAG_RECEIVED_TM34 0xA7 -#define FLAG_RECEIVED_TM50 0xA8 -#define FLAG_RECEIVED_TM42 0xA9 -#define FLAG_RECEIVED_TM40 0xAA -#define FLAG_RECEIVED_TM04 0xAB -#define FLAG_RECEIVED_TM03 0xAC +#define FLAG_RECEIVED_TM_ROCK_TOMB 0xA5 +#define FLAG_RECEIVED_TM_BULK_UP 0xA6 +#define FLAG_RECEIVED_TM_SHOCK_WAVE 0xA7 +#define FLAG_RECEIVED_TM_OVERHEAT 0xA8 +#define FLAG_RECEIVED_TM_FACADE 0xA9 +#define FLAG_RECEIVED_TM_AERIAL_ACE 0xAA +#define FLAG_RECEIVED_TM_CALM_MIND 0xAB +#define FLAG_RECEIVED_TM_WATER_PULSE 0xAC #define FLAG_HIDE_SECRET_BASE_TRAINER 0xAD #define FLAG_DECORATION_1 0xAE #define FLAG_DECORATION_2 0xAF @@ -226,7 +226,7 @@ #define FLAG_ENCOUNTERED_LATIAS_OR_LATIOS 0xCE #define FLAG_MET_ARCHIE_METEOR_FALLS 0xCF #define FLAG_GOT_BASEMENT_KEY_FROM_WATTSON 0xD0 -#define FLAG_GOT_TM24_FROM_WATTSON 0xD1 +#define FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON 0xD1 #define FLAG_FAN_CLUB_STRENGTH_SHARED 0xD2 // Set when you rate the strength of another trainer in Lilycove's Trainer Fan Club. #define FLAG_DEFEATED_RIVAL_RUSTBORO 0xD3 #define FLAG_RECEIVED_RED_OR_BLUE_ORB 0xD4 @@ -248,15 +248,15 @@ #define FLAG_RECEIVED_STARTER_DOLL 0xE2 #define FLAG_RECEIVED_GOOD_ROD 0xE3 #define FLAG_REGI_DOORS_OPENED 0xE4 -#define FLAG_RECEIVED_TM27 0xE5 -#define FLAG_RECEIVED_TM36 0xE6 -#define FLAG_RECEIVED_TM05 0xE7 -#define FLAG_RECEIVED_TM19 0xE8 +#define FLAG_RECEIVED_TM_RETURN 0xE5 +#define FLAG_RECEIVED_TM_SLUDGE_BOMB 0xE6 +#define FLAG_RECEIVED_TM_ROAR 0xE7 +#define FLAG_RECEIVED_TM_GIGA_DRAIN 0xE8 #define FLAG_UNUSED_0x0E9 0xE9 // Unused Flag -#define FLAG_RECEIVED_TM44 0xEA -#define FLAG_RECEIVED_TM45 0xEB +#define FLAG_RECEIVED_TM_REST 0xEA +#define FLAG_RECEIVED_TM_ATTRACT 0xEB #define FLAG_RECEIVED_GLASS_ORNAMENT 0xEC #define FLAG_RECEIVED_SILVER_SHIELD 0xED #define FLAG_RECEIVED_GOLD_SHIELD 0xEE @@ -281,16 +281,16 @@ #define FLAG_RECEIVED_OLD_ROD 0x101 #define FLAG_RECEIVED_COIN_CASE 0x102 #define FLAG_RETURNED_RED_OR_BLUE_ORB 0x103 -#define FLAG_RECEIVED_TM49 0x104 -#define FLAG_RECEIVED_TM28 0x105 -#define FLAG_RECEIVED_TM09 0x106 +#define FLAG_RECEIVED_TM_SNATCH 0x104 +#define FLAG_RECEIVED_TM_DIG 0x105 +#define FLAG_RECEIVED_TM_BULLET_SEED 0x106 #define FLAG_ENTERED_ELITE_FOUR 0x107 -#define FLAG_RECEIVED_TM10 0x108 -#define FLAG_RECEIVED_TM41 0x109 +#define FLAG_RECEIVED_TM_HIDDEN_POWER 0x108 +#define FLAG_RECEIVED_TM_TORMENT 0x109 #define FLAG_RECEIVED_LAVARIDGE_EGG 0x10A #define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B #define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C -#define FLAG_RECEIVED_TM46 0x10D +#define FLAG_RECEIVED_TM_THIEF 0x10D #define FLAG_CONTEST_SKETCH_CREATED 0x10E // Set but never read #define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F #define FLAG_RECEIVED_EXP_SHARE 0x110 @@ -333,7 +333,7 @@ #define FLAG_MET_MAXIE_SOOTOPOLIS 0x135 #define FLAG_MET_SCOTT_RUSTBORO 0x136 #define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0x137 // Set after speaking to Wallace within the Cave of Origin. -#define FLAG_RECEIVED_HM07 0x138 +#define FLAG_RECEIVED_HM_WATERFALL 0x138 #define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139 #define FLAG_RECEIVED_AURORA_TICKET 0x13A #define FLAG_RECEIVED_MYSTIC_TICKET 0x13B @@ -568,7 +568,7 @@ #define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B) #define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C) #define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D) -#define FLAG_HIDDEN_ITEM_ROUTE_113_TM32 (FLAG_HIDDEN_ITEMS_START + 0x1E) +#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM (FLAG_HIDDEN_ITEMS_START + 0x1E) #define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F) #define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20) #define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21) @@ -1053,7 +1053,7 @@ #define FLAG_ITEM_ROUTE_109_PP_UP 0x3ED #define FLAG_ITEM_ROUTE_110_RARE_CANDY 0x3EE #define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x3EF -#define FLAG_ITEM_ROUTE_111_TM37 0x3F0 +#define FLAG_ITEM_ROUTE_111_TM_SANDSTORM 0x3F0 #define FLAG_ITEM_ROUTE_111_STARDUST 0x3F1 #define FLAG_ITEM_ROUTE_111_HP_UP 0x3F2 #define FLAG_ITEM_ROUTE_112_NUGGET 0x3F3 @@ -1062,7 +1062,7 @@ #define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x3F6 #define FLAG_ITEM_ROUTE_114_PROTEIN 0x3F7 #define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x3F8 -#define FLAG_ITEM_ROUTE_115_TM01 0x3F9 +#define FLAG_ITEM_ROUTE_115_TM_FOCUS_PUNCH 0x3F9 #define FLAG_ITEM_ROUTE_115_IRON 0x3FA #define FLAG_ITEM_ROUTE_116_ETHER 0x3FB #define FLAG_ITEM_ROUTE_116_REPEL 0x3FC @@ -1089,7 +1089,7 @@ #define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x411 #define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x412 #define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x413 -#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM23 0x414 +#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_IRON_TAIL 0x414 #define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x415 #define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x416 #define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x417 @@ -1119,35 +1119,35 @@ #define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x42F #define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x430 #define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x431 -#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM48 0x432 +#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_SKILL_SWAP 0x432 #define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433 #define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434 #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435 #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER 0x436 -#define FLAG_ITEM_SCORCHED_SLAB_TM11 0x437 -#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02 0x438 +#define FLAG_ITEM_SCORCHED_SLAB_TM_SUNNY_DAY 0x437 +#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_DRAGON_CLAW 0x438 #define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439 #define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x43A #define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x43B #define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x43C #define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x43D -#define FLAG_ITEM_VICTORY_ROAD_B1F_TM29 0x43E +#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_PSYCHIC 0x43E #define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x43F #define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x440 -#define FLAG_ITEM_MT_PYRE_6F_TM30 0x441 -#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM26 0x442 -#define FLAG_ITEM_FIERY_PATH_TM06 0x443 +#define FLAG_ITEM_MT_PYRE_6F_TM_SHADOW_BALL 0x441 +#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_EARTHQUAKE 0x442 +#define FLAG_ITEM_FIERY_PATH_TM_TOXIC 0x443 #define FLAG_ITEM_ROUTE_124_RED_SHARD 0x444 #define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x445 -#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM22 0x446 +#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_SOLAR_BEAM 0x446 #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x447 #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x448 #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x449 -#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13 0x44A +#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_ICE_BEAM 0x44A #define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x44B #define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x44C #define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D -#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18 0x44E +#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_RAIN_DANCE 0x44E #define FLAG_ITEM_ROUTE_121_CARBOS 0x44F #define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x450 #define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x451 @@ -1157,7 +1157,7 @@ #define FLAG_ITEM_ROUTE_123_ELIXIR 0x455 #define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x456 #define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x457 -#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM07 0x458 +#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_HAIL 0x458 #define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x459 #define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x45A #define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x45B diff --git a/include/constants/items.h b/include/constants/items.h index daf129c76f..63cbfe6b97 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -381,65 +381,6 @@ #define ITEM_HM07 345 #define ITEM_HM08 346 -#define ITEM_TM01_FOCUS_PUNCH ITEM_TM01 -#define ITEM_TM02_DRAGON_CLAW ITEM_TM02 -#define ITEM_TM03_WATER_PULSE ITEM_TM03 -#define ITEM_TM04_CALM_MIND ITEM_TM04 -#define ITEM_TM05_ROAR ITEM_TM05 -#define ITEM_TM06_TOXIC ITEM_TM06 -#define ITEM_TM07_HAIL ITEM_TM07 -#define ITEM_TM08_BULK_UP ITEM_TM08 -#define ITEM_TM09_BULLET_SEED ITEM_TM09 -#define ITEM_TM10_HIDDEN_POWER ITEM_TM10 -#define ITEM_TM11_SUNNY_DAY ITEM_TM11 -#define ITEM_TM12_TAUNT ITEM_TM12 -#define ITEM_TM13_ICE_BEAM ITEM_TM13 -#define ITEM_TM14_BLIZZARD ITEM_TM14 -#define ITEM_TM15_HYPER_BEAM ITEM_TM15 -#define ITEM_TM16_LIGHT_SCREEN ITEM_TM16 -#define ITEM_TM17_PROTECT ITEM_TM17 -#define ITEM_TM18_RAIN_DANCE ITEM_TM18 -#define ITEM_TM19_GIGA_DRAIN ITEM_TM19 -#define ITEM_TM20_SAFEGUARD ITEM_TM20 -#define ITEM_TM21_FRUSTRATION ITEM_TM21 -#define ITEM_TM22_SOLAR_BEAM ITEM_TM22 -#define ITEM_TM23_IRON_TAIL ITEM_TM23 -#define ITEM_TM24_THUNDERBOLT ITEM_TM24 -#define ITEM_TM25_THUNDER ITEM_TM25 -#define ITEM_TM26_EARTHQUAKE ITEM_TM26 -#define ITEM_TM27_RETURN ITEM_TM27 -#define ITEM_TM28_DIG ITEM_TM28 -#define ITEM_TM29_PSYCHIC ITEM_TM29 -#define ITEM_TM30_SHADOW_BALL ITEM_TM30 -#define ITEM_TM31_BRICK_BREAK ITEM_TM31 -#define ITEM_TM32_DOUBLE_TEAM ITEM_TM32 -#define ITEM_TM33_REFLECT ITEM_TM33 -#define ITEM_TM34_SHOCK_WAVE ITEM_TM34 -#define ITEM_TM35_FLAMETHROWER ITEM_TM35 -#define ITEM_TM36_SLUDGE_BOMB ITEM_TM36 -#define ITEM_TM37_SANDSTORM ITEM_TM37 -#define ITEM_TM38_FIRE_BLAST ITEM_TM38 -#define ITEM_TM39_ROCK_TOMB ITEM_TM39 -#define ITEM_TM40_AERIAL_ACE ITEM_TM40 -#define ITEM_TM41_TORMENT ITEM_TM41 -#define ITEM_TM42_FACADE ITEM_TM42 -#define ITEM_TM43_SECRET_POWER ITEM_TM43 -#define ITEM_TM44_REST ITEM_TM44 -#define ITEM_TM45_ATTRACT ITEM_TM45 -#define ITEM_TM46_THIEF ITEM_TM46 -#define ITEM_TM47_STEEL_WING ITEM_TM47 -#define ITEM_TM48_SKILL_SWAP ITEM_TM48 -#define ITEM_TM49_SNATCH ITEM_TM49 -#define ITEM_TM50_OVERHEAT ITEM_TM50 -#define ITEM_HM01_CUT ITEM_HM01 -#define ITEM_HM02_FLY ITEM_HM02 -#define ITEM_HM03_SURF ITEM_HM03 -#define ITEM_HM04_STRENGTH ITEM_HM04 -#define ITEM_HM05_FLASH ITEM_HM05 -#define ITEM_HM06_ROCK_SMASH ITEM_HM06 -#define ITEM_HM07_WATERFALL ITEM_HM07 -#define ITEM_HM08_DIVE ITEM_HM08 - // Unknown #define ITEM_15B 347 #define ITEM_15C 348 diff --git a/include/constants/tms_hms.h b/include/constants/tms_hms.h new file mode 100644 index 0000000000..03fb934139 --- /dev/null +++ b/include/constants/tms_hms.h @@ -0,0 +1,70 @@ +#ifndef GUARD_CONSTANTS_TMS_HMS_H +#define GUARD_CONSTANTS_TMS_HMS_H + +#define FOREACH_TM(F) \ + F(FOCUS_PUNCH) \ + F(DRAGON_CLAW) \ + F(WATER_PULSE) \ + F(CALM_MIND) \ + F(ROAR) \ + F(TOXIC) \ + F(HAIL) \ + F(BULK_UP) \ + F(BULLET_SEED) \ + F(HIDDEN_POWER) \ + F(SUNNY_DAY) \ + F(TAUNT) \ + F(ICE_BEAM) \ + F(BLIZZARD) \ + F(HYPER_BEAM) \ + F(LIGHT_SCREEN) \ + F(PROTECT) \ + F(RAIN_DANCE) \ + F(GIGA_DRAIN) \ + F(SAFEGUARD) \ + F(FRUSTRATION) \ + F(SOLAR_BEAM) \ + F(IRON_TAIL) \ + F(THUNDERBOLT) \ + F(THUNDER) \ + F(EARTHQUAKE) \ + F(RETURN) \ + F(DIG) \ + F(PSYCHIC) \ + F(SHADOW_BALL) \ + F(BRICK_BREAK) \ + F(DOUBLE_TEAM) \ + F(REFLECT) \ + F(SHOCK_WAVE) \ + F(FLAMETHROWER) \ + F(SLUDGE_BOMB) \ + F(SANDSTORM) \ + F(FIRE_BLAST) \ + F(ROCK_TOMB) \ + F(AERIAL_ACE) \ + F(TORMENT) \ + F(FACADE) \ + F(SECRET_POWER) \ + F(REST) \ + F(ATTRACT) \ + F(THIEF) \ + F(STEEL_WING) \ + F(SKILL_SWAP) \ + F(SNATCH) \ + F(OVERHEAT) + +#define FOREACH_HM(F) \ + F(CUT) \ + F(FLY) \ + F(SURF) \ + F(STRENGTH) \ + F(FLASH) \ + F(ROCK_SMASH) \ + F(WATERFALL) \ + F(DIVE) + +#define FOREACH_TMHM(F) \ + FOREACH_TM(F) \ + FOREACH_HM(F) + +#endif diff --git a/include/item.h b/include/item.h index c964e7628a..af8ff8b9d0 100644 --- a/include/item.h +++ b/include/item.h @@ -2,6 +2,8 @@ #define GUARD_ITEM_H #include "constants/item.h" +#include "constants/items.h" +#include "constants/tms_hms.h" typedef void (*ItemUseFunc)(u8); @@ -74,4 +76,25 @@ u8 ItemId_GetBattleUsage(u16 itemId); ItemUseFunc ItemId_GetBattleFunc(u16 itemId); u8 ItemId_GetSecondaryId(u16 itemId); +/* Expands to: + * enum + * { + * ITEM_TM_FOCUS_PUNCH, + * ... + * ITEM_HM_CUT, + * ... + * }; */ +#define ENUM_TM(id) CAT(ITEM_TM_, id), +#define ENUM_HM(id) CAT(ITEM_HM_, id), +enum +{ + ENUM_TM_START_ = ITEM_TM01 - 1, + FOREACH_TM(ENUM_TM) + + ENUM_HM_START_ = ITEM_HM01 - 1, + FOREACH_HM(ENUM_HM) +}; +#undef ENUM_TM +#undef ENUM_HM + #endif // GUARD_ITEM_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index bf9197a0e8..bcec87988a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -811,11 +811,11 @@ static const u16 sRarePickupItems[] = ITEM_FULL_RESTORE, ITEM_ETHER, ITEM_WHITE_HERB, - ITEM_TM44_REST, + ITEM_TM_REST, ITEM_ELIXIR, - ITEM_TM01_FOCUS_PUNCH, + ITEM_TM_FOCUS_PUNCH, ITEM_LEFTOVERS, - ITEM_TM26_EARTHQUAKE, + ITEM_TM_EARTHQUAKE, }; static const u8 sPickupProbabilities[] = diff --git a/src/data/items.h b/src/data/items.h index 072ec1bf5e..27326e07f9 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -3513,10 +3513,10 @@ const struct Item gItems[] = // TMs/HMs - [ITEM_TM01_FOCUS_PUNCH] = + [ITEM_TM_FOCUS_PUNCH] = { .name = _("TM01"), - .itemId = ITEM_TM01_FOCUS_PUNCH, + .itemId = ITEM_TM01, .price = 3000, .description = sTM01Desc, .pocket = POCKET_TM_HM, @@ -3524,10 +3524,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM02_DRAGON_CLAW] = + [ITEM_TM_DRAGON_CLAW] = { .name = _("TM02"), - .itemId = ITEM_TM02_DRAGON_CLAW, + .itemId = ITEM_TM02, .price = 3000, .description = sTM02Desc, .pocket = POCKET_TM_HM, @@ -3535,10 +3535,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM03_WATER_PULSE] = + [ITEM_TM_WATER_PULSE] = { .name = _("TM03"), - .itemId = ITEM_TM03_WATER_PULSE, + .itemId = ITEM_TM03, .price = 3000, .description = sTM03Desc, .pocket = POCKET_TM_HM, @@ -3546,10 +3546,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM04_CALM_MIND] = + [ITEM_TM_CALM_MIND] = { .name = _("TM04"), - .itemId = ITEM_TM04_CALM_MIND, + .itemId = ITEM_TM04, .price = 3000, .description = sTM04Desc, .pocket = POCKET_TM_HM, @@ -3557,10 +3557,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM05_ROAR] = + [ITEM_TM_ROAR] = { .name = _("TM05"), - .itemId = ITEM_TM05_ROAR, + .itemId = ITEM_TM05, .price = 1000, .description = sTM05Desc, .pocket = POCKET_TM_HM, @@ -3568,10 +3568,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM06_TOXIC] = + [ITEM_TM_TOXIC] = { .name = _("TM06"), - .itemId = ITEM_TM06_TOXIC, + .itemId = ITEM_TM06, .price = 3000, .description = sTM06Desc, .pocket = POCKET_TM_HM, @@ -3579,10 +3579,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM07_HAIL] = + [ITEM_TM_HAIL] = { .name = _("TM07"), - .itemId = ITEM_TM07_HAIL, + .itemId = ITEM_TM07, .price = 3000, .description = sTM07Desc, .pocket = POCKET_TM_HM, @@ -3590,10 +3590,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM08_BULK_UP] = + [ITEM_TM_BULK_UP] = { .name = _("TM08"), - .itemId = ITEM_TM08_BULK_UP, + .itemId = ITEM_TM08, .price = 3000, .description = sTM08Desc, .pocket = POCKET_TM_HM, @@ -3601,10 +3601,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM09_BULLET_SEED] = + [ITEM_TM_BULLET_SEED] = { .name = _("TM09"), - .itemId = ITEM_TM09_BULLET_SEED, + .itemId = ITEM_TM09, .price = 3000, .description = sTM09Desc, .pocket = POCKET_TM_HM, @@ -3612,10 +3612,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM10_HIDDEN_POWER] = + [ITEM_TM_HIDDEN_POWER] = { .name = _("TM10"), - .itemId = ITEM_TM10_HIDDEN_POWER, + .itemId = ITEM_TM10, .price = 3000, .description = sTM10Desc, .pocket = POCKET_TM_HM, @@ -3623,10 +3623,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM11_SUNNY_DAY] = + [ITEM_TM_SUNNY_DAY] = { .name = _("TM11"), - .itemId = ITEM_TM11_SUNNY_DAY, + .itemId = ITEM_TM11, .price = 2000, .description = sTM11Desc, .pocket = POCKET_TM_HM, @@ -3634,10 +3634,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM12_TAUNT] = + [ITEM_TM_TAUNT] = { .name = _("TM12"), - .itemId = ITEM_TM12_TAUNT, + .itemId = ITEM_TM12, .price = 3000, .description = sTM12Desc, .pocket = POCKET_TM_HM, @@ -3645,10 +3645,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM13_ICE_BEAM] = + [ITEM_TM_ICE_BEAM] = { .name = _("TM13"), - .itemId = ITEM_TM13_ICE_BEAM, + .itemId = ITEM_TM13, .price = 3000, .description = sTM13Desc, .pocket = POCKET_TM_HM, @@ -3656,10 +3656,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM14_BLIZZARD] = + [ITEM_TM_BLIZZARD] = { .name = _("TM14"), - .itemId = ITEM_TM14_BLIZZARD, + .itemId = ITEM_TM14, .price = 5500, .description = sTM14Desc, .pocket = POCKET_TM_HM, @@ -3667,10 +3667,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM15_HYPER_BEAM] = + [ITEM_TM_HYPER_BEAM] = { .name = _("TM15"), - .itemId = ITEM_TM15_HYPER_BEAM, + .itemId = ITEM_TM15, .price = 7500, .description = sTM15Desc, .pocket = POCKET_TM_HM, @@ -3678,10 +3678,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM16_LIGHT_SCREEN] = + [ITEM_TM_LIGHT_SCREEN] = { .name = _("TM16"), - .itemId = ITEM_TM16_LIGHT_SCREEN, + .itemId = ITEM_TM16, .price = 3000, .description = sTM16Desc, .pocket = POCKET_TM_HM, @@ -3689,10 +3689,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM17_PROTECT] = + [ITEM_TM_PROTECT] = { .name = _("TM17"), - .itemId = ITEM_TM17_PROTECT, + .itemId = ITEM_TM17, .price = 3000, .description = sTM17Desc, .pocket = POCKET_TM_HM, @@ -3700,10 +3700,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM18_RAIN_DANCE] = + [ITEM_TM_RAIN_DANCE] = { .name = _("TM18"), - .itemId = ITEM_TM18_RAIN_DANCE, + .itemId = ITEM_TM18, .price = 2000, .description = sTM18Desc, .pocket = POCKET_TM_HM, @@ -3711,10 +3711,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM19_GIGA_DRAIN] = + [ITEM_TM_GIGA_DRAIN] = { .name = _("TM19"), - .itemId = ITEM_TM19_GIGA_DRAIN, + .itemId = ITEM_TM19, .price = 3000, .description = sTM19Desc, .pocket = POCKET_TM_HM, @@ -3722,10 +3722,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM20_SAFEGUARD] = + [ITEM_TM_SAFEGUARD] = { .name = _("TM20"), - .itemId = ITEM_TM20_SAFEGUARD, + .itemId = ITEM_TM20, .price = 3000, .description = sTM20Desc, .pocket = POCKET_TM_HM, @@ -3733,10 +3733,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM21_FRUSTRATION] = + [ITEM_TM_FRUSTRATION] = { .name = _("TM21"), - .itemId = ITEM_TM21_FRUSTRATION, + .itemId = ITEM_TM21, .price = 1000, .description = sTM21Desc, .pocket = POCKET_TM_HM, @@ -3744,10 +3744,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM22_SOLAR_BEAM] = + [ITEM_TM_SOLAR_BEAM] = { .name = _("TM22"), - .itemId = ITEM_TM22_SOLAR_BEAM, + .itemId = ITEM_TM22, .price = 3000, .description = sTM22Desc, .pocket = POCKET_TM_HM, @@ -3755,10 +3755,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM23_IRON_TAIL] = + [ITEM_TM_IRON_TAIL] = { .name = _("TM23"), - .itemId = ITEM_TM23_IRON_TAIL, + .itemId = ITEM_TM23, .price = 3000, .description = sTM23Desc, .pocket = POCKET_TM_HM, @@ -3766,10 +3766,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM24_THUNDERBOLT] = + [ITEM_TM_THUNDERBOLT] = { .name = _("TM24"), - .itemId = ITEM_TM24_THUNDERBOLT, + .itemId = ITEM_TM24, .price = 3000, .description = sTM24Desc, .pocket = POCKET_TM_HM, @@ -3777,10 +3777,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM25_THUNDER] = + [ITEM_TM_THUNDER] = { .name = _("TM25"), - .itemId = ITEM_TM25_THUNDER, + .itemId = ITEM_TM25, .price = 5500, .description = sTM25Desc, .pocket = POCKET_TM_HM, @@ -3788,10 +3788,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM26_EARTHQUAKE] = + [ITEM_TM_EARTHQUAKE] = { .name = _("TM26"), - .itemId = ITEM_TM26_EARTHQUAKE, + .itemId = ITEM_TM26, .price = 3000, .description = sTM26Desc, .pocket = POCKET_TM_HM, @@ -3799,10 +3799,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM27_RETURN] = + [ITEM_TM_RETURN] = { .name = _("TM27"), - .itemId = ITEM_TM27_RETURN, + .itemId = ITEM_TM27, .price = 1000, .description = sTM27Desc, .pocket = POCKET_TM_HM, @@ -3810,10 +3810,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM28_DIG] = + [ITEM_TM_DIG] = { .name = _("TM28"), - .itemId = ITEM_TM28_DIG, + .itemId = ITEM_TM28, .price = 2000, .description = sTM28Desc, .pocket = POCKET_TM_HM, @@ -3821,10 +3821,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM29_PSYCHIC] = + [ITEM_TM_PSYCHIC] = { .name = _("TM29"), - .itemId = ITEM_TM29_PSYCHIC, + .itemId = ITEM_TM29, .price = 2000, .description = sTM29Desc, .pocket = POCKET_TM_HM, @@ -3832,10 +3832,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM30_SHADOW_BALL] = + [ITEM_TM_SHADOW_BALL] = { .name = _("TM30"), - .itemId = ITEM_TM30_SHADOW_BALL, + .itemId = ITEM_TM30, .price = 3000, .description = sTM30Desc, .pocket = POCKET_TM_HM, @@ -3843,10 +3843,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM31_BRICK_BREAK] = + [ITEM_TM_BRICK_BREAK] = { .name = _("TM31"), - .itemId = ITEM_TM31_BRICK_BREAK, + .itemId = ITEM_TM31, .price = 3000, .description = sTM31Desc, .pocket = POCKET_TM_HM, @@ -3854,10 +3854,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM32_DOUBLE_TEAM] = + [ITEM_TM_DOUBLE_TEAM] = { .name = _("TM32"), - .itemId = ITEM_TM32_DOUBLE_TEAM, + .itemId = ITEM_TM32, .price = 2000, .description = sTM32Desc, .pocket = POCKET_TM_HM, @@ -3865,10 +3865,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM33_REFLECT] = + [ITEM_TM_REFLECT] = { .name = _("TM33"), - .itemId = ITEM_TM33_REFLECT, + .itemId = ITEM_TM33, .price = 3000, .description = sTM33Desc, .pocket = POCKET_TM_HM, @@ -3876,10 +3876,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM34_SHOCK_WAVE] = + [ITEM_TM_SHOCK_WAVE] = { .name = _("TM34"), - .itemId = ITEM_TM34_SHOCK_WAVE, + .itemId = ITEM_TM34, .price = 3000, .description = sTM34Desc, .pocket = POCKET_TM_HM, @@ -3887,10 +3887,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM35_FLAMETHROWER] = + [ITEM_TM_FLAMETHROWER] = { .name = _("TM35"), - .itemId = ITEM_TM35_FLAMETHROWER, + .itemId = ITEM_TM35, .price = 3000, .description = sTM35Desc, .pocket = POCKET_TM_HM, @@ -3898,10 +3898,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM36_SLUDGE_BOMB] = + [ITEM_TM_SLUDGE_BOMB] = { .name = _("TM36"), - .itemId = ITEM_TM36_SLUDGE_BOMB, + .itemId = ITEM_TM36, .price = 1000, .description = sTM36Desc, .pocket = POCKET_TM_HM, @@ -3909,10 +3909,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM37_SANDSTORM] = + [ITEM_TM_SANDSTORM] = { .name = _("TM37"), - .itemId = ITEM_TM37_SANDSTORM, + .itemId = ITEM_TM37, .price = 2000, .description = sTM37Desc, .pocket = POCKET_TM_HM, @@ -3920,10 +3920,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM38_FIRE_BLAST] = + [ITEM_TM_FIRE_BLAST] = { .name = _("TM38"), - .itemId = ITEM_TM38_FIRE_BLAST, + .itemId = ITEM_TM38, .price = 5500, .description = sTM38Desc, .pocket = POCKET_TM_HM, @@ -3931,10 +3931,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM39_ROCK_TOMB] = + [ITEM_TM_ROCK_TOMB] = { .name = _("TM39"), - .itemId = ITEM_TM39_ROCK_TOMB, + .itemId = ITEM_TM39, .price = 3000, .description = sTM39Desc, .pocket = POCKET_TM_HM, @@ -3942,10 +3942,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM40_AERIAL_ACE] = + [ITEM_TM_AERIAL_ACE] = { .name = _("TM40"), - .itemId = ITEM_TM40_AERIAL_ACE, + .itemId = ITEM_TM40, .price = 3000, .description = sTM40Desc, .pocket = POCKET_TM_HM, @@ -3953,10 +3953,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM41_TORMENT] = + [ITEM_TM_TORMENT] = { .name = _("TM41"), - .itemId = ITEM_TM41_TORMENT, + .itemId = ITEM_TM41, .price = 3000, .description = sTM41Desc, .pocket = POCKET_TM_HM, @@ -3964,10 +3964,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM42_FACADE] = + [ITEM_TM_FACADE] = { .name = _("TM42"), - .itemId = ITEM_TM42_FACADE, + .itemId = ITEM_TM42, .price = 3000, .description = sTM42Desc, .pocket = POCKET_TM_HM, @@ -3975,10 +3975,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM43_SECRET_POWER] = + [ITEM_TM_SECRET_POWER] = { .name = _("TM43"), - .itemId = ITEM_TM43_SECRET_POWER, + .itemId = ITEM_TM43, .price = 3000, .description = sTM43Desc, .pocket = POCKET_TM_HM, @@ -3986,10 +3986,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM44_REST] = + [ITEM_TM_REST] = { .name = _("TM44"), - .itemId = ITEM_TM44_REST, + .itemId = ITEM_TM44, .price = 3000, .description = sTM44Desc, .pocket = POCKET_TM_HM, @@ -3997,10 +3997,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM45_ATTRACT] = + [ITEM_TM_ATTRACT] = { .name = _("TM45"), - .itemId = ITEM_TM45_ATTRACT, + .itemId = ITEM_TM45, .price = 3000, .description = sTM45Desc, .pocket = POCKET_TM_HM, @@ -4008,10 +4008,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM46_THIEF] = + [ITEM_TM_THIEF] = { .name = _("TM46"), - .itemId = ITEM_TM46_THIEF, + .itemId = ITEM_TM46, .price = 3000, .description = sTM46Desc, .pocket = POCKET_TM_HM, @@ -4019,10 +4019,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM47_STEEL_WING] = + [ITEM_TM_STEEL_WING] = { .name = _("TM47"), - .itemId = ITEM_TM47_STEEL_WING, + .itemId = ITEM_TM47, .price = 3000, .description = sTM47Desc, .pocket = POCKET_TM_HM, @@ -4030,10 +4030,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM48_SKILL_SWAP] = + [ITEM_TM_SKILL_SWAP] = { .name = _("TM48"), - .itemId = ITEM_TM48_SKILL_SWAP, + .itemId = ITEM_TM48, .price = 3000, .description = sTM48Desc, .pocket = POCKET_TM_HM, @@ -4041,10 +4041,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM49_SNATCH] = + [ITEM_TM_SNATCH] = { .name = _("TM49"), - .itemId = ITEM_TM49_SNATCH, + .itemId = ITEM_TM49, .price = 3000, .description = sTM49Desc, .pocket = POCKET_TM_HM, @@ -4052,10 +4052,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_TM50_OVERHEAT] = + [ITEM_TM_OVERHEAT] = { .name = _("TM50"), - .itemId = ITEM_TM50_OVERHEAT, + .itemId = ITEM_TM50, .price = 3000, .description = sTM50Desc, .pocket = POCKET_TM_HM, @@ -4063,10 +4063,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM01_CUT] = + [ITEM_HM_CUT] = { .name = _("HM01"), - .itemId = ITEM_HM01_CUT, + .itemId = ITEM_HM01, .price = 0, .description = sHM01Desc, .importance = 1, @@ -4075,10 +4075,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM02_FLY] = + [ITEM_HM_FLY] = { .name = _("HM02"), - .itemId = ITEM_HM02_FLY, + .itemId = ITEM_HM02, .price = 0, .description = sHM02Desc, .importance = 1, @@ -4087,10 +4087,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM03_SURF] = + [ITEM_HM_SURF] = { .name = _("HM03"), - .itemId = ITEM_HM03_SURF, + .itemId = ITEM_HM03, .price = 0, .description = sHM03Desc, .importance = 1, @@ -4099,10 +4099,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM04_STRENGTH] = + [ITEM_HM_STRENGTH] = { .name = _("HM04"), - .itemId = ITEM_HM04_STRENGTH, + .itemId = ITEM_HM04, .price = 0, .description = sHM04Desc, .importance = 1, @@ -4111,10 +4111,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM05_FLASH] = + [ITEM_HM_FLASH] = { .name = _("HM05"), - .itemId = ITEM_HM05_FLASH, + .itemId = ITEM_HM05, .price = 0, .description = sHM05Desc, .importance = 1, @@ -4123,10 +4123,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM06_ROCK_SMASH] = + [ITEM_HM_ROCK_SMASH] = { .name = _("HM06"), - .itemId = ITEM_HM06_ROCK_SMASH, + .itemId = ITEM_HM06, .price = 0, .description = sHM06Desc, .importance = 1, @@ -4135,10 +4135,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM07_WATERFALL] = + [ITEM_HM_WATERFALL] = { .name = _("HM07"), - .itemId = ITEM_HM07_WATERFALL, + .itemId = ITEM_HM07, .price = 0, .description = sHM07Desc, .importance = 1, @@ -4147,10 +4147,10 @@ const struct Item gItems[] = .fieldUseFunc = ItemUseOutOfBattle_TMHM, }, - [ITEM_HM08_DIVE] = + [ITEM_HM_DIVE] = { .name = _("HM08"), - .itemId = ITEM_HM08_DIVE, + .itemId = ITEM_HM08, .price = 0, .description = sHM08Desc, .importance = 1, diff --git a/src/data/lilycove_lady.h b/src/data/lilycove_lady.h index 4a3a7a7194..fdfb83478f 100644 --- a/src/data/lilycove_lady.h +++ b/src/data/lilycove_lady.h @@ -279,7 +279,7 @@ static const u16 sQuizLadyPrizes[] = ITEM_BELUE_BERRY, ITEM_DURIN_BERRY, ITEM_LUXURY_BALL, - ITEM_TM15_HYPER_BEAM, + ITEM_TM_HYPER_BEAM, ITEM_BIG_PEARL, ITEM_STAR_PIECE, ITEM_RARE_CANDY, diff --git a/src/data/party_menu.h b/src/data/party_menu.h index 7a9efce0b8..90faab0777 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -1117,64 +1117,17 @@ static const u8 *const sUnused_StatStrings[] = gText_Speed2 }; +/* Expands to: + * static const u16 sTMHMMoves[] = + * { + * MOVE_FOCUS_PUNCH, + * ... + * MOVE_CUT, + * ... + * }; */ +#define TMHM_MOVE(id) CAT(MOVE_, id), static const u16 sTMHMMoves[] = { - [ITEM_TM01 - ITEM_TM01] = MOVE_FOCUS_PUNCH, - [ITEM_TM02 - ITEM_TM01] = MOVE_DRAGON_CLAW, - [ITEM_TM03 - ITEM_TM01] = MOVE_WATER_PULSE, - [ITEM_TM04 - ITEM_TM01] = MOVE_CALM_MIND, - [ITEM_TM05 - ITEM_TM01] = MOVE_ROAR, - [ITEM_TM06 - ITEM_TM01] = MOVE_TOXIC, - [ITEM_TM07 - ITEM_TM01] = MOVE_HAIL, - [ITEM_TM08 - ITEM_TM01] = MOVE_BULK_UP, - [ITEM_TM09 - ITEM_TM01] = MOVE_BULLET_SEED, - [ITEM_TM10 - ITEM_TM01] = MOVE_HIDDEN_POWER, - [ITEM_TM11 - ITEM_TM01] = MOVE_SUNNY_DAY, - [ITEM_TM12 - ITEM_TM01] = MOVE_TAUNT, - [ITEM_TM13 - ITEM_TM01] = MOVE_ICE_BEAM, - [ITEM_TM14 - ITEM_TM01] = MOVE_BLIZZARD, - [ITEM_TM15 - ITEM_TM01] = MOVE_HYPER_BEAM, - [ITEM_TM16 - ITEM_TM01] = MOVE_LIGHT_SCREEN, - [ITEM_TM17 - ITEM_TM01] = MOVE_PROTECT, - [ITEM_TM18 - ITEM_TM01] = MOVE_RAIN_DANCE, - [ITEM_TM19 - ITEM_TM01] = MOVE_GIGA_DRAIN, - [ITEM_TM20 - ITEM_TM01] = MOVE_SAFEGUARD, - [ITEM_TM21 - ITEM_TM01] = MOVE_FRUSTRATION, - [ITEM_TM22 - ITEM_TM01] = MOVE_SOLAR_BEAM, - [ITEM_TM23 - ITEM_TM01] = MOVE_IRON_TAIL, - [ITEM_TM24 - ITEM_TM01] = MOVE_THUNDERBOLT, - [ITEM_TM25 - ITEM_TM01] = MOVE_THUNDER, - [ITEM_TM26 - ITEM_TM01] = MOVE_EARTHQUAKE, - [ITEM_TM27 - ITEM_TM01] = MOVE_RETURN, - [ITEM_TM28 - ITEM_TM01] = MOVE_DIG, - [ITEM_TM29 - ITEM_TM01] = MOVE_PSYCHIC, - [ITEM_TM30 - ITEM_TM01] = MOVE_SHADOW_BALL, - [ITEM_TM31 - ITEM_TM01] = MOVE_BRICK_BREAK, - [ITEM_TM32 - ITEM_TM01] = MOVE_DOUBLE_TEAM, - [ITEM_TM33 - ITEM_TM01] = MOVE_REFLECT, - [ITEM_TM34 - ITEM_TM01] = MOVE_SHOCK_WAVE, - [ITEM_TM35 - ITEM_TM01] = MOVE_FLAMETHROWER, - [ITEM_TM36 - ITEM_TM01] = MOVE_SLUDGE_BOMB, - [ITEM_TM37 - ITEM_TM01] = MOVE_SANDSTORM, - [ITEM_TM38 - ITEM_TM01] = MOVE_FIRE_BLAST, - [ITEM_TM39 - ITEM_TM01] = MOVE_ROCK_TOMB, - [ITEM_TM40 - ITEM_TM01] = MOVE_AERIAL_ACE, - [ITEM_TM41 - ITEM_TM01] = MOVE_TORMENT, - [ITEM_TM42 - ITEM_TM01] = MOVE_FACADE, - [ITEM_TM43 - ITEM_TM01] = MOVE_SECRET_POWER, - [ITEM_TM44 - ITEM_TM01] = MOVE_REST, - [ITEM_TM45 - ITEM_TM01] = MOVE_ATTRACT, - [ITEM_TM46 - ITEM_TM01] = MOVE_THIEF, - [ITEM_TM47 - ITEM_TM01] = MOVE_STEEL_WING, - [ITEM_TM48 - ITEM_TM01] = MOVE_SKILL_SWAP, - [ITEM_TM49 - ITEM_TM01] = MOVE_SNATCH, - [ITEM_TM50 - ITEM_TM01] = MOVE_OVERHEAT, - [ITEM_HM01 - ITEM_TM01] = MOVE_CUT, - [ITEM_HM02 - ITEM_TM01] = MOVE_FLY, - [ITEM_HM03 - ITEM_TM01] = MOVE_SURF, - [ITEM_HM04 - ITEM_TM01] = MOVE_STRENGTH, - [ITEM_HM05 - ITEM_TM01] = MOVE_FLASH, - [ITEM_HM06 - ITEM_TM01] = MOVE_ROCK_SMASH, - [ITEM_HM07 - ITEM_TM01] = MOVE_WATERFALL, - [ITEM_HM08 - ITEM_TM01] = MOVE_DIVE, + FOREACH_TMHM(TMHM_MOVE) }; +#undef TMHM_MOVE diff --git a/src/data/pokemon/tmhm_learnsets.h b/src/data/pokemon/tmhm_learnsets.h index cb42d7c6fc..4357cdd1a3 100644 --- a/src/data/pokemon/tmhm_learnsets.h +++ b/src/data/pokemon/tmhm_learnsets.h @@ -1,9388 +1,10183 @@ -#define TMHM_LEARNSET(moves) {(u32)(moves), ((u64)(moves) >> 32)} -#define TMHM(tmhm) ((u64)1 << (ITEM_##tmhm - ITEM_TM01_FOCUS_PUNCH)) - -// This table determines which TMs and HMs a species is capable of learning. -// Each entry is a 64-bit bit array spread across two 32-bit values, with -// each bit corresponding to a TM or HM. -const u32 gTMHMLearnsets[][2] = +/* Expands to: + * struct TMHMLearnset + * { + * u32 FOCUS_PUNCH:1; + * ... + * u32 CUT:1; + * ... + * }; */ +#define TMHM_LEARN(id) u32 id:1; +struct TMHMLearnset { - [SPECIES_NONE] = TMHM_LEARNSET(0), - - [SPECIES_BULBASAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_IVYSAUR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_VENUSAUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CHARMANDER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CHARMELEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CHARIZARD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SQUIRTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_WARTORTLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_BLASTOISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_CATERPIE] = TMHM_LEARNSET(0), - - [SPECIES_METAPOD] = TMHM_LEARNSET(0), - - [SPECIES_BUTTERFREE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_WEEDLE] = TMHM_LEARNSET(0), - - [SPECIES_KAKUNA] = TMHM_LEARNSET(0), - - [SPECIES_BEEDRILL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PIDGEY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_PIDGEOTTO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_PIDGEOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_RATTATA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RATICATE] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SPEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_FEAROW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_EKANS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH)), - - [SPECIES_ARBOK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH)), - - [SPECIES_PIKACHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RAICHU] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SANDSHREW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SANDSLASH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NIDORAN_F] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NIDORINA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NIDOQUEEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NIDORAN_M] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NIDORINO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NIDOKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CLEFAIRY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_CLEFABLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_VULPIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT)), - - [SPECIES_NINETALES] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT)), - - [SPECIES_JIGGLYPUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_WIGGLYTUFF] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_ZUBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM49_SNATCH)), - - [SPECIES_GOLBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM49_SNATCH)), - - [SPECIES_ODDISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_GLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_VILEPLUME] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_PARAS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PARASECT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_VENONAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_VENOMOTH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_DIGLETT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_DUGTRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MEOWTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_PERSIAN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_PSYDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_GOLDUCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_MANKEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PRIMEAPE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GROWLITHE] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ARCANINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_POLIWAG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_POLIWHIRL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_POLIWRATH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_ABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_KADABRA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_ALAKAZAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_MACHOP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MACHOKE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MACHAMP] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BELLSPROUT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_WEEPINBELL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_VICTREEBEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_TENTACOOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_TENTACRUEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_GEODUDE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GRAVELER] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GOLEM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PONYTA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH)), - - [SPECIES_RAPIDASH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH)), - - [SPECIES_SLOWPOKE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM08_DIVE)), - - [SPECIES_SLOWBRO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM08_DIVE)), - - [SPECIES_MAGNEMITE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM05_FLASH)), - - [SPECIES_MAGNETON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM05_FLASH)), - - [SPECIES_FARFETCHD] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY)), - - [SPECIES_DODUO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_DODRIO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_SEEL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_DEWGONG] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_GRIMER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF)), - - [SPECIES_MUK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SHELLDER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM08_DIVE)), - - [SPECIES_CLOYSTER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM08_DIVE)), - - [SPECIES_GASTLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH)), - - [SPECIES_HAUNTER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH)), - - [SPECIES_GENGAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ONIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_DROWZEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_HYPNO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_KRABBY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM08_DIVE)), - - [SPECIES_KINGLER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM08_DIVE)), - - [SPECIES_VOLTORB] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_ELECTRODE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_EXEGGCUTE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_EXEGGUTOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_CUBONE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MAROWAK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HITMONLEE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HITMONCHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_LICKITUNG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_KOFFING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_WEEZING] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_RHYHORN] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RHYDON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CHANSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TANGELA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_KANGASKHAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HORSEA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SEADRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_GOLDEEN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SEAKING] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_STARYU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_STARMIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_MR_MIME] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_SCYTHER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_JYNX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_ELECTABUZZ] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MAGMAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PINSIR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TAUROS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MAGIKARP] = TMHM_LEARNSET(0), - - [SPECIES_GYARADOS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LAPRAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_DITTO] = TMHM_LEARNSET(0), - - [SPECIES_EEVEE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT)), - - [SPECIES_VAPOREON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_JOLTEON] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_FLAREON] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT)), - - [SPECIES_PORYGON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_OMANYTE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_OMASTAR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_KABUTO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL)), - - [SPECIES_KABUTOPS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_AERODACTYL] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SNORLAX] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH)), - - [SPECIES_ARTICUNO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ZAPDOS] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MOLTRES] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM47_STEEL_WING) - | TMHM(TM50_OVERHEAT) - | TMHM(HM02_FLY) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_DRATINI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL)), - - [SPECIES_DRAGONAIR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL)), - - [SPECIES_DRAGONITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_MEWTWO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MEW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM08_BULK_UP) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_CHIKORITA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_BAYLEEF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MEGANIUM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CYNDAQUIL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT)), - - [SPECIES_QUILAVA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TYPHLOSION] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TOTODILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_CROCONAW] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_FERALIGATR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SENTRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF)), - - [SPECIES_FURRET] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HOOTHOOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM05_FLASH)), - - [SPECIES_NOCTOWL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM05_FLASH)), - - [SPECIES_LEDYBA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_LEDIAN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_SPINARAK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_ARIADOS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_CROBAT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM49_SNATCH) - | TMHM(HM02_FLY)), - - [SPECIES_CHINCHOU] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LANTURN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_PICHU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_CLEFFA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_IGGLYBUFF] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_TOGEPI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TOGETIC] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_XATU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM02_FLY) - | TMHM(HM05_FLASH)), - - [SPECIES_MAREEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_FLAAFFY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_AMPHAROS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BELLOSSOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_MARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_AZUMARILL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SUDOWOODO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_POLITOED] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_HOPPIP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_SKIPLOOM] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_JUMPLUFF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_AIPOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SUNKERN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_SUNFLORA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_YANMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM05_FLASH)), - - [SPECIES_WOOPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_QUAGSIRE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_ESPEON] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_UMBREON] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_MURKROW] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(TM49_SNATCH) - | TMHM(HM02_FLY)), - - [SPECIES_SLOWKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM08_DIVE)), - - [SPECIES_MISDREAVUS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_UNOWN] = TMHM_LEARNSET(0), - - [SPECIES_WOBBUFFET] = TMHM_LEARNSET(0), - - [SPECIES_GIRAFARIG] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PINECO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_FORRETRESS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_DUNSPARCE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GLIGAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_STEELIX] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SNUBBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GRANBULL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_QWILFISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SCIZOR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SHUCKLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HERACROSS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SNEASEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TEDDIURSA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_URSARING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SLUGMA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MAGCARGO] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SWINUB] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PILOSWINE] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CORSOLA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_REMORAID] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_OCTILLERY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_DELIBIRD] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM02_FLY)), - - [SPECIES_MANTINE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SKARMORY] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HOUNDOUR] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(TM50_OVERHEAT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HOUNDOOM] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_KINGDRA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_PHANPY] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_DONPHAN] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PORYGON2] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_STANTLER] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_SMEARGLE] = TMHM_LEARNSET(0), - - [SPECIES_TYROGUE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HITMONTOP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SMOOCHUM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_ELEKID] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MAGBY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MILTANK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BLISSEY] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RAIKOU] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ENTEI] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SUICUNE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LARVITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_PUPITAR] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TYRANITAR] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_LUGIA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM47_STEEL_WING) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_HO_OH] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM47_STEEL_WING) - | TMHM(TM50_OVERHEAT) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CELEBI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_OLD_UNOWN_B] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_C] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_D] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_E] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_F] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_G] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_H] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_I] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_J] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_K] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_L] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_M] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_N] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_O] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_P] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_Q] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_R] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_S] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_T] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_U] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_V] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_W] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_X] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_Y] = TMHM_LEARNSET(0), - - [SPECIES_OLD_UNOWN_Z] = TMHM_LEARNSET(0), - - [SPECIES_TREECKO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GROVYLE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SCEPTILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TORCHIC] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_COMBUSKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BLAZIKEN] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MUDKIP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_MARSHTOMP] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SWAMPERT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_POOCHYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MIGHTYENA] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ZIGZAGOON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_LINOONE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_WURMPLE] = TMHM_LEARNSET(0), - - [SPECIES_SILCOON] = TMHM_LEARNSET(0), - - [SPECIES_BEAUTIFLY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_CASCOON] = TMHM_LEARNSET(0), - - [SPECIES_DUSTOX] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_LOTAD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH)), - - [SPECIES_LOMBRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LUDICOLO] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SEEDOT] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NUZLEAF] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SHIFTRY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NINCADA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_NINJASK] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_SHEDINJA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM46_THIEF) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_TAILLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_SWELLOW] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_SHROOMISH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_BRELOOM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SPINDA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_WINGULL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_PELIPPER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF)), - - [SPECIES_SURSKIT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_MASQUERAIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_WAILMER] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_WAILORD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SKITTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_DELCATTY] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_KECLEON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BALTOY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_CLAYDOL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_NOSEPASS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TORKOAL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SABLEYE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BARBOACH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_WHISCASH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LUVDISC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_CORPHISH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL)), - - [SPECIES_CRAWDAUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_FEEBAS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_MILOTIC] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_CARVANHA] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SHARPEDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_TRAPINCH] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_VIBRAVA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_FLYGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MAKUHITA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_HARIYAMA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ELECTRIKE] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_MANECTRIC] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_NUMEL] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CAMERUPT] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SPHEAL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_SEALEO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_WALREIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_CACNEA] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_CACTURNE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH)), - - [SPECIES_SNORUNT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_GLALIE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_LUNATONE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_SOLROCK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM50_OVERHEAT) - | TMHM(HM05_FLASH)), - - [SPECIES_AZURILL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL)), - - [SPECIES_SPOINK] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_GRUMPIG] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_PLUSLE] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_MINUN] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM05_FLASH)), - - [SPECIES_MAWILE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MEDITITE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_MEDICHAM] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SWABLU] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY)), - - [SPECIES_ALTARIA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM47_STEEL_WING) - | TMHM(HM02_FLY) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_WYNAUT] = TMHM_LEARNSET(0), - - [SPECIES_DUSKULL] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_DUSCLOPS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ROSELIA] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM05_FLASH)), - - [SPECIES_SLAKOTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_VIGOROTH] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SLAKING] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_GULPIN] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SWALOT] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_TROPIUS] = TMHM_LEARNSET(TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_WHISMUR] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT)), - - [SPECIES_LOUDRED] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_EXPLOUD] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM50_OVERHEAT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CLAMPERL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_HUNTAIL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM49_SNATCH) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_GOREBYSS] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_ABSOL] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SHUPPET] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_BANETTE] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_SEVIPER] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM49_SNATCH) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ZANGOOSE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RELICANTH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM03_SURF) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_ARON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_LAIRON] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_AGGRON] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CASTFORM] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_VOLBEAT] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_ILLUMISE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(HM05_FLASH)), - - [SPECIES_LILEEP] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT)), - - [SPECIES_CRADILY] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM09_BULLET_SEED) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM19_GIGA_DRAIN) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ANORITH] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_ARMALDO] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RALTS] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_KIRLIA] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_GARDEVOIR] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM46_THIEF) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), - - [SPECIES_BAGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SHELGON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_SALAMENCE] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_BELDUM] = TMHM_LEARNSET(0), - - [SPECIES_METANG] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_METAGROSS] = TMHM_LEARNSET(TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM36_SLUDGE_BOMB) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_REGIROCK] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_REGICE] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_REGISTEEL] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_KYOGRE] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM07_HAIL) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_GROUDON] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM28_DIG) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM50_OVERHEAT) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_RAYQUAZA] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM08_BULK_UP) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM14_BLIZZARD) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM23_IRON_TAIL) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM35_FLAMETHROWER) - | TMHM(TM37_SANDSTORM) - | TMHM(TM38_FIRE_BLAST) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM50_OVERHEAT) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF) - | TMHM(HM04_STRENGTH) - | TMHM(HM06_ROCK_SMASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LATIAS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_LATIOS] = TMHM_LEARNSET(TMHM(TM02_DRAGON_CLAW) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM05_ROAR) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM26_EARTHQUAKE) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM47_STEEL_WING) - | TMHM(HM01_CUT) - | TMHM(HM02_FLY) - | TMHM(HM03_SURF) - | TMHM(HM05_FLASH) - | TMHM(HM07_WATERFALL) - | TMHM(HM08_DIVE)), - - [SPECIES_JIRACHI] = TMHM_LEARNSET(TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM37_SANDSTORM) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(HM05_FLASH)), - - [SPECIES_DEOXYS] = TMHM_LEARNSET(TMHM(TM01_FOCUS_PUNCH) - | TMHM(TM03_WATER_PULSE) - | TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM13_ICE_BEAM) - | TMHM(TM15_HYPER_BEAM) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM22_SOLAR_BEAM) - | TMHM(TM24_THUNDERBOLT) - | TMHM(TM25_THUNDER) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM31_BRICK_BREAK) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM39_ROCK_TOMB) - | TMHM(TM40_AERIAL_ACE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM01_CUT) - | TMHM(HM04_STRENGTH) - | TMHM(HM05_FLASH) - | TMHM(HM06_ROCK_SMASH)), - - [SPECIES_CHIMECHO] = TMHM_LEARNSET(TMHM(TM04_CALM_MIND) - | TMHM(TM06_TOXIC) - | TMHM(TM10_HIDDEN_POWER) - | TMHM(TM11_SUNNY_DAY) - | TMHM(TM12_TAUNT) - | TMHM(TM16_LIGHT_SCREEN) - | TMHM(TM17_PROTECT) - | TMHM(TM18_RAIN_DANCE) - | TMHM(TM20_SAFEGUARD) - | TMHM(TM21_FRUSTRATION) - | TMHM(TM27_RETURN) - | TMHM(TM29_PSYCHIC) - | TMHM(TM30_SHADOW_BALL) - | TMHM(TM32_DOUBLE_TEAM) - | TMHM(TM33_REFLECT) - | TMHM(TM34_SHOCK_WAVE) - | TMHM(TM41_TORMENT) - | TMHM(TM42_FACADE) - | TMHM(TM43_SECRET_POWER) - | TMHM(TM44_REST) - | TMHM(TM45_ATTRACT) - | TMHM(TM48_SKILL_SWAP) - | TMHM(TM49_SNATCH) - | TMHM(HM05_FLASH)), + FOREACH_TMHM(TMHM_LEARN) +}; +#undef TMHM_LEARN + +const union { + struct TMHMLearnset learnset; + u32 as_u32s[sizeof(struct TMHMLearnset) / sizeof(u32)]; +} gTMHMLearnsets[NUM_SPECIES] = +{ + [SPECIES_NONE] = {}, + + [SPECIES_BULBASAUR] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_IVYSAUR] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_VENUSAUR] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CHARMANDER] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CHARMELEON] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CHARIZARD] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SQUIRTLE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_WARTORTLE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_BLASTOISE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CATERPIE] = { .learnset = { + } }, + + [SPECIES_METAPOD] = { .learnset = { + } }, + + [SPECIES_BUTTERFREE] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_WEEDLE] = { .learnset = { + } }, + + [SPECIES_KAKUNA] = { .learnset = { + } }, + + [SPECIES_BEEDRILL] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PIDGEY] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_PIDGEOTTO] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_PIDGEOT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_RATTATA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RATICATE] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SPEAROW] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_FEAROW] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_EKANS] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + } }, + + [SPECIES_ARBOK] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + } }, + + [SPECIES_PIKACHU] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RAICHU] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SANDSHREW] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SANDSLASH] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NIDORAN_F] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NIDORINA] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NIDOQUEEN] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NIDORAN_M] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NIDORINO] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NIDOKING] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CLEFAIRY] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CLEFABLE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_VULPIX] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + } }, + + [SPECIES_NINETALES] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + } }, + + [SPECIES_JIGGLYPUFF] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_WIGGLYTUFF] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ZUBAT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SNATCH = TRUE, + } }, + + [SPECIES_GOLBAT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SNATCH = TRUE, + } }, + + [SPECIES_ODDISH] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_GLOOM] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_VILEPLUME] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_PARAS] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PARASECT] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_VENONAT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_VENOMOTH] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_DIGLETT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_DUGTRIO] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MEOWTH] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_PERSIAN] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_PSYDUCK] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GOLDUCK] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MANKEY] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PRIMEAPE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GROWLITHE] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ARCANINE] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_POLIWAG] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_POLIWHIRL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_POLIWRATH] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_ABRA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_KADABRA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ALAKAZAM] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MACHOP] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MACHOKE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MACHAMP] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BELLSPROUT] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_WEEPINBELL] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_VICTREEBEL] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_TENTACOOL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_TENTACRUEL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GEODUDE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GRAVELER] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GOLEM] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PONYTA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + } }, + + [SPECIES_RAPIDASH] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + } }, + + [SPECIES_SLOWPOKE] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SLOWBRO] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MAGNEMITE] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MAGNETON] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_FARFETCHD] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_DODUO] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_DODRIO] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_SEEL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_DEWGONG] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GRIMER] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + } }, + + [SPECIES_MUK] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SHELLDER] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CLOYSTER] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GASTLY] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + } }, + + [SPECIES_HAUNTER] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + } }, + + [SPECIES_GENGAR] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ONIX] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_DROWZEE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_HYPNO] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_KRABBY] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_KINGLER] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_VOLTORB] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ELECTRODE] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_EXEGGCUTE] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_EXEGGUTOR] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CUBONE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MAROWAK] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HITMONLEE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HITMONCHAN] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_LICKITUNG] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_KOFFING] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_WEEZING] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_RHYHORN] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RHYDON] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CHANSEY] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TANGELA] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_KANGASKHAN] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HORSEA] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SEADRA] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GOLDEEN] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SEAKING] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_STARYU] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_STARMIE] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MR_MIME] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SCYTHER] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_JYNX] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ELECTABUZZ] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MAGMAR] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PINSIR] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TAUROS] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MAGIKARP] = { .learnset = { + } }, + + [SPECIES_GYARADOS] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LAPRAS] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_DITTO] = { .learnset = { + } }, + + [SPECIES_EEVEE] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + } }, + + [SPECIES_VAPOREON] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_JOLTEON] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_FLAREON] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + } }, + + [SPECIES_PORYGON] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_OMANYTE] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_OMASTAR] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_KABUTO] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + } }, + + [SPECIES_KABUTOPS] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_AERODACTYL] = { .learnset = { + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SNORLAX] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + } }, + + [SPECIES_ARTICUNO] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ZAPDOS] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MOLTRES] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STEEL_WING = TRUE, + .OVERHEAT = TRUE, + .FLY = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_DRATINI] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + } }, + + [SPECIES_DRAGONAIR] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + } }, + + [SPECIES_DRAGONITE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MEWTWO] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MEW] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .BULK_UP = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CHIKORITA] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_BAYLEEF] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MEGANIUM] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CYNDAQUIL] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + } }, + + [SPECIES_QUILAVA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TYPHLOSION] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TOTODILE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CROCONAW] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_FERALIGATR] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SENTRET] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + } }, + + [SPECIES_FURRET] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HOOTHOOT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_NOCTOWL] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_LEDYBA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_LEDIAN] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SPINARAK] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ARIADOS] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CROBAT] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SNATCH = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_CHINCHOU] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LANTURN] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_PICHU] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CLEFFA] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_IGGLYBUFF] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_TOGEPI] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TOGETIC] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NATU] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_XATU] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SKILL_SWAP = TRUE, + .FLY = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MAREEP] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_FLAAFFY] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_AMPHAROS] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BELLOSSOM] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MARILL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_AZUMARILL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SUDOWOODO] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_POLITOED] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_HOPPIP] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SKIPLOOM] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_JUMPLUFF] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_AIPOM] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SUNKERN] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SUNFLORA] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_YANMA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_WOOPER] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_QUAGSIRE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_ESPEON] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_UMBREON] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MURKROW] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .SNATCH = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_SLOWKING] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MISDREAVUS] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_UNOWN] = { .learnset = { + } }, + + [SPECIES_WOBBUFFET] = { .learnset = { + } }, + + [SPECIES_GIRAFARIG] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PINECO] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_FORRETRESS] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_DUNSPARCE] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GLIGAR] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_STEELIX] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SNUBBULL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GRANBULL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_QWILFISH] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SCIZOR] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SHUCKLE] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HERACROSS] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SNEASEL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TEDDIURSA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_URSARING] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SLUGMA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MAGCARGO] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SWINUB] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PILOSWINE] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CORSOLA] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_REMORAID] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_OCTILLERY] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_DELIBIRD] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_MANTINE] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SKARMORY] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HOUNDOUR] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .OVERHEAT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HOUNDOOM] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_KINGDRA] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_PHANPY] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_DONPHAN] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PORYGON2] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_STANTLER] = { .learnset = { + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SMEARGLE] = { .learnset = { + } }, + + [SPECIES_TYROGUE] = { .learnset = { + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HITMONTOP] = { .learnset = { + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SMOOCHUM] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ELEKID] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MAGBY] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MILTANK] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BLISSEY] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RAIKOU] = { .learnset = { + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ENTEI] = { .learnset = { + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SUICUNE] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LARVITAR] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_PUPITAR] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TYRANITAR] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_LUGIA] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STEEL_WING = TRUE, + .SKILL_SWAP = TRUE, + .FLY = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_HO_OH] = { .learnset = { + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STEEL_WING = TRUE, + .OVERHEAT = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CELEBI] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_OLD_UNOWN_B] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_C] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_D] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_E] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_F] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_G] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_H] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_I] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_J] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_K] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_L] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_M] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_N] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_O] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_P] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_Q] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_R] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_S] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_T] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_U] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_V] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_W] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_X] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_Y] = { .learnset = { + } }, + + [SPECIES_OLD_UNOWN_Z] = { .learnset = { + } }, + + [SPECIES_TREECKO] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GROVYLE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SCEPTILE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TORCHIC] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_COMBUSKEN] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BLAZIKEN] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MUDKIP] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MARSHTOMP] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SWAMPERT] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_POOCHYENA] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MIGHTYENA] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ZIGZAGOON] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_LINOONE] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_WURMPLE] = { .learnset = { + } }, + + [SPECIES_SILCOON] = { .learnset = { + } }, + + [SPECIES_BEAUTIFLY] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CASCOON] = { .learnset = { + } }, + + [SPECIES_DUSTOX] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_LOTAD] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_LOMBRE] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LUDICOLO] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SEEDOT] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NUZLEAF] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SHIFTRY] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NINCADA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_NINJASK] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SHEDINJA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .THIEF = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_TAILLOW] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_SWELLOW] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_SHROOMISH] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_BRELOOM] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SPINDA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_WINGULL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_PELIPPER] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .SURF = TRUE, + } }, + + [SPECIES_SURSKIT] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MASQUERAIN] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_WAILMER] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_WAILORD] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SKITTY] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_DELCATTY] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_KECLEON] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BALTOY] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CLAYDOL] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_NOSEPASS] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TORKOAL] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SABLEYE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BARBOACH] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_WHISCASH] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LUVDISC] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CORPHISH] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + } }, + + [SPECIES_CRAWDAUNT] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_FEEBAS] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_MILOTIC] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CARVANHA] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SHARPEDO] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_TRAPINCH] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_VIBRAVA] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_FLYGON] = { .learnset = { + .DRAGON_CLAW = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MAKUHITA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_HARIYAMA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ELECTRIKE] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MANECTRIC] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_NUMEL] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CAMERUPT] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SPHEAL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_SEALEO] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_WALREIN] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_CACNEA] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_CACTURNE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SNORUNT] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_GLALIE] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_LUNATONE] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SOLROCK] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .OVERHEAT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_AZURILL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + } }, + + [SPECIES_SPOINK] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_GRUMPIG] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_PLUSLE] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MINUN] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_MAWILE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MEDITITE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_MEDICHAM] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SWABLU] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + } }, + + [SPECIES_ALTARIA] = { .learnset = { + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STEEL_WING = TRUE, + .FLY = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_WYNAUT] = { .learnset = { + } }, + + [SPECIES_DUSKULL] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_DUSCLOPS] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ROSELIA] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SLAKOTH] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_VIGOROTH] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SLAKING] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_GULPIN] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SWALOT] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_TROPIUS] = { .learnset = { + .ROAR = TRUE, + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_WHISMUR] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + } }, + + [SPECIES_LOUDRED] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_EXPLOUD] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .OVERHEAT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CLAMPERL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_HUNTAIL] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SNATCH = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GOREBYSS] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_ABSOL] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SHUPPET] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_BANETTE] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_SEVIPER] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .SLUDGE_BOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SNATCH = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ZANGOOSE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RELICANTH] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SURF = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_ARON] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_LAIRON] = { .learnset = { + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_AGGRON] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CASTFORM] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_VOLBEAT] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_ILLUMISE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_LILEEP] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + } }, + + [SPECIES_CRADILY] = { .learnset = { + .TOXIC = TRUE, + .BULLET_SEED = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .GIGA_DRAIN = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DOUBLE_TEAM = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ANORITH] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_ARMALDO] = { .learnset = { + .WATER_PULSE = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RALTS] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_KIRLIA] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_GARDEVOIR] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .THIEF = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_BAGON] = { .learnset = { + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SHELGON] = { .learnset = { + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_SALAMENCE] = { .learnset = { + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .IRON_TAIL = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .FLAMETHROWER = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_BELDUM] = { .learnset = { + } }, + + [SPECIES_METANG] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_METAGROSS] = { .learnset = { + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SLUDGE_BOMB = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_REGIROCK] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_REGICE] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_REGISTEEL] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_KYOGRE] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HAIL = TRUE, + .HIDDEN_POWER = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .ROCK_TOMB = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_GROUDON] = { .learnset = { + .DRAGON_CLAW = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .DIG = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .OVERHEAT = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_RAYQUAZA] = { .learnset = { + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .BULK_UP = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .BLIZZARD = TRUE, + .HYPER_BEAM = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .IRON_TAIL = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .SHOCK_WAVE = TRUE, + .FLAMETHROWER = TRUE, + .SANDSTORM = TRUE, + .FIRE_BLAST = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .OVERHEAT = TRUE, + .FLY = TRUE, + .SURF = TRUE, + .STRENGTH = TRUE, + .ROCK_SMASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LATIAS] = { .learnset = { + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_LATIOS] = { .learnset = { + .DRAGON_CLAW = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .ROAR = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .EARTHQUAKE = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .STEEL_WING = TRUE, + .CUT = TRUE, + .FLY = TRUE, + .SURF = TRUE, + .FLASH = TRUE, + .WATERFALL = TRUE, + .DIVE = TRUE, + } }, + + [SPECIES_JIRACHI] = { .learnset = { + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .SANDSTORM = TRUE, + .AERIAL_ACE = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .FLASH = TRUE, + } }, + + [SPECIES_DEOXYS] = { .learnset = { + .FOCUS_PUNCH = TRUE, + .WATER_PULSE = TRUE, + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .ICE_BEAM = TRUE, + .HYPER_BEAM = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .SOLAR_BEAM = TRUE, + .THUNDERBOLT = TRUE, + .THUNDER = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .BRICK_BREAK = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .ROCK_TOMB = TRUE, + .AERIAL_ACE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .CUT = TRUE, + .STRENGTH = TRUE, + .FLASH = TRUE, + .ROCK_SMASH = TRUE, + } }, + + [SPECIES_CHIMECHO] = { .learnset = { + .CALM_MIND = TRUE, + .TOXIC = TRUE, + .HIDDEN_POWER = TRUE, + .SUNNY_DAY = TRUE, + .TAUNT = TRUE, + .LIGHT_SCREEN = TRUE, + .PROTECT = TRUE, + .RAIN_DANCE = TRUE, + .SAFEGUARD = TRUE, + .FRUSTRATION = TRUE, + .RETURN = TRUE, + .PSYCHIC = TRUE, + .SHADOW_BALL = TRUE, + .DOUBLE_TEAM = TRUE, + .REFLECT = TRUE, + .SHOCK_WAVE = TRUE, + .TORMENT = TRUE, + .FACADE = TRUE, + .SECRET_POWER = TRUE, + .REST = TRUE, + .ATTRACT = TRUE, + .SKILL_SWAP = TRUE, + .SNATCH = TRUE, + .FLASH = TRUE, + } }, }; diff --git a/src/daycare.c b/src/daycare.c index 9d199f0f3a..59bd7b7233 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -685,7 +685,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++) { - if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j)) + if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01 + j) && CanMonLearnTMHM(egg, j)) { if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); diff --git a/src/item_use.c b/src/item_use.c index 8a02827176..9737ca7d87 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -781,7 +781,7 @@ void ItemUseOutOfBattle_RareCandy(u8 taskId) void ItemUseOutOfBattle_TMHM(u8 taskId) { - if (gSpecialVar_ItemId >= ITEM_HM01_CUT) + if (gSpecialVar_ItemId >= ITEM_HM01) DisplayItemMessage(taskId, FONT_NORMAL, gText_BootedUpHM, BootUpSoundTMHM); // HM else DisplayItemMessage(taskId, FONT_NORMAL, gText_BootedUpTM, BootUpSoundTMHM); // TM diff --git a/src/party_menu.c b/src/party_menu.c index 02c742dc90..f72814cbbf 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4775,7 +4775,7 @@ static void Task_LearnedMove(u8 taskId) if (move[1] == 0) { AdjustFriendship(mon, FRIENDSHIP_EVENT_LEARN_TMHM); - if (item < ITEM_HM01_CUT) + if (item < ITEM_HM01) RemoveBagItem(item, 1); } GetMonNickname(mon, gStringVar1); diff --git a/src/pokemon.c b/src/pokemon.c index b8f7ae48b3..d8b45081f7 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6199,15 +6199,26 @@ u32 CanMonLearnTMHM(struct Pokemon *mon, u8 tm) { return 0; } - else if (tm < 32) + + // Fewer than 64 moves, use GF's method (for matching). + if (sizeof(struct TMHMLearnset) <= 8) { - u32 mask = 1 << tm; - return gTMHMLearnsets[species][0] & mask; + if (tm < 32) + { + u32 mask = 1 << tm; + return gTMHMLearnsets[species].as_u32s[0] & mask; + } + else + { + u32 mask = 1 << (tm - 32); + return gTMHMLearnsets[species].as_u32s[1] & mask; + } } else { - u32 mask = 1 << (tm - 32); - return gTMHMLearnsets[species][1] & mask; + u32 index = tm / 32; + u32 mask = 1 << (tm % 32); + return gTMHMLearnsets[species].as_u32s[index] & mask; } } @@ -6217,15 +6228,25 @@ u32 CanSpeciesLearnTMHM(u16 species, u8 tm) { return 0; } - else if (tm < 32) + // Fewer than 64 moves, use GF's method (for matching). + if (sizeof(struct TMHMLearnset) <= 8) { - u32 mask = 1 << tm; - return gTMHMLearnsets[species][0] & mask; + if (tm < 32) + { + u32 mask = 1 << tm; + return gTMHMLearnsets[species].as_u32s[0] & mask; + } + else + { + u32 mask = 1 << (tm - 32); + return gTMHMLearnsets[species].as_u32s[1] & mask; + } } else { - u32 mask = 1 << (tm - 32); - return gTMHMLearnsets[species][1] & mask; + u32 index = tm / 32; + u32 mask = 1 << (tm % 32); + return gTMHMLearnsets[species].as_u32s[index] & mask; } } diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index 2e8cc40b5c..f6d71009bb 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -164,7 +164,7 @@ static const match_call_text_data_t sMrStoneTextScripts[] = { { MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF }, { MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF }, { MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF }, - { MatchCall_Text_MrStone5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_MrStone5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF }, { MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, { MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF }, { MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF }, @@ -260,7 +260,7 @@ static const match_call_text_data_t sMayTextScripts[] = { { MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, { MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, { MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { MatchCall_Text_May5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_May5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF }, { MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, { MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, { MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF }, @@ -289,7 +289,7 @@ static const match_call_text_data_t sBrendanTextScripts[] = { { MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF }, { MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF }, { MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF }, - { MatchCall_Text_Brendan5, FLAG_RECEIVED_HM04, 0xFFFF }, + { MatchCall_Text_Brendan5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF }, { MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF }, { MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF }, { MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF }, diff --git a/src/trainer_hill.c b/src/trainer_hill.c index a74270ec77..3fbec613ad 100644 --- a/src/trainer_hill.c +++ b/src/trainer_hill.c @@ -146,22 +146,22 @@ static const u16 sPrizeListLuxuryBall1[] = {ITEM_LUXURY_BALL, ITEM_ETHER, I static const u16 sPrizeListMaxRevive1[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListMaxEther1[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListElixir1[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListRoar[] = {ITEM_TM05_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListSludgeBomb[] = {ITEM_TM36_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListToxic[] = {ITEM_TM06_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListSunnyDay[] = {ITEM_TM11_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListEarthQuake[] = {ITEM_TM26_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListRoar[] = {ITEM_TM_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListSludgeBomb[] = {ITEM_TM_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListToxic[] = {ITEM_TM_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListSunnyDay[] = {ITEM_TM_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListEarthQuake[] = {ITEM_TM_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListRareCandy2[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListLuxuryBall2[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListMaxRevive2[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListMaxEther2[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 sPrizeListElixir2[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListBrickBreak[] = {ITEM_TM31_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListTorment[] = {ITEM_TM41_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListSkillSwap[] = {ITEM_TM48_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListGigaDrain[] = {ITEM_TM19_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; -static const u16 sPrizeListAttract[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListBrickBreak[] = {ITEM_TM_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListTorment[] = {ITEM_TM_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListSkillSwap[] = {ITEM_TM_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListGigaDrain[] = {ITEM_TM_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; +static const u16 sPrizeListAttract[] = {ITEM_TM_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL}; static const u16 *const sPrizeLists1[NUM_TRAINER_HILL_PRIZE_LISTS] = { @@ -1066,10 +1066,10 @@ static u16 GetPrizeItemId(void) // Which prize is given from the list depends on the time scored. // The prize for any time after 12 minutes is the same in every list. // The prizes for a time under 12 minutes are: - // - ITEM_TM11_SUNNY_DAY (Normal) + // - ITEM_TM_SUNNY_DAY (Normal) // - ITEM_ELIXIR (Variety) - // - ITEM_TM19_GIGA_DRAIN (Unique) - // - ITEM_TM31_BRICK_BREAK (Expert) + // - ITEM_TM_GIGA_DRAIN (Unique) + // - ITEM_TM_BRICK_BREAK (Expert) // As an additional note, if players were allowed to enter a Trainer Hill challenge before // entering the Hall of Fame, there would be 1 additional prize possibility (ITEM_MAX_ETHER) // as Normal / Unique modes would use sPrizeListSets[0][3] / sPrizeListSets[1][3] respectively. From 6eaaa50ad5252ee9c526be667800501d19aa482b Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 9 Aug 2023 12:49:21 -0400 Subject: [PATCH 144/256] Correct berry fix graphics colors, more PLTT constant use (#1892) --- gflib/bg.c | 4 +- .../{gba_small.bin => gba_connect.bin} | Bin graphics/berry_fix/gba_connect.png | Bin 0 -> 9109 bytes graphics/berry_fix/gba_small.pal | 35 ------------ graphics/berry_fix/gba_small.png | Bin 982 -> 0 bytes graphics/berry_fix/gba_transfer.pal | 35 ------------ graphics/berry_fix/gba_transfer.png | Bin 900 -> 5480 bytes graphics/berry_fix/gba_transfer_error.pal | 35 ------------ graphics/berry_fix/gba_transfer_error.png | Bin 1014 -> 6279 bytes graphics/berry_fix/gba_transfer_highlight.pal | 35 ------------ graphics/berry_fix/gba_transfer_highlight.png | Bin 1060 -> 6354 bytes graphics/berry_fix/logo.pal | 51 ------------------ graphics/berry_fix/logo.png | Bin 811 -> 4566 bytes graphics/berry_fix/text.pal | 19 +++++++ graphics/berry_fix/window.pal | 35 ------------ graphics/berry_fix/window.png | Bin 211 -> 279 bytes include/graphics.h | 6 +-- src/berry_fix_graphics.c | 10 ++-- src/berry_fix_program.c | 20 +++---- src/data/graphics/berry_fix.h | 6 +-- 20 files changed, 39 insertions(+), 252 deletions(-) rename graphics/berry_fix/{gba_small.bin => gba_connect.bin} (100%) create mode 100644 graphics/berry_fix/gba_connect.png delete mode 100644 graphics/berry_fix/gba_small.pal delete mode 100644 graphics/berry_fix/gba_small.png delete mode 100644 graphics/berry_fix/gba_transfer.pal delete mode 100644 graphics/berry_fix/gba_transfer_error.pal delete mode 100644 graphics/berry_fix/gba_transfer_highlight.pal delete mode 100644 graphics/berry_fix/logo.pal create mode 100644 graphics/berry_fix/text.pal delete mode 100644 graphics/berry_fix/window.pal diff --git a/gflib/bg.c b/gflib/bg.c index 89f5038246..4ccb95eb6b 100644 --- a/gflib/bg.c +++ b/gflib/bg.c @@ -421,13 +421,11 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset) if (!IsInvalidBg32(bg)) { - u16 paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2); + u16 paletteOffset = PLTT_OFFSET_4BPP(sGpuBgConfigs2[bg].basePalette) + (destOffset * 2); cursor = RequestDma3Copy(src, (void *)(paletteOffset + BG_PLTT), size, 0); if (cursor == -1) - { return -1; - } } else { diff --git a/graphics/berry_fix/gba_small.bin b/graphics/berry_fix/gba_connect.bin similarity index 100% rename from graphics/berry_fix/gba_small.bin rename to graphics/berry_fix/gba_connect.bin diff --git a/graphics/berry_fix/gba_connect.png b/graphics/berry_fix/gba_connect.png new file mode 100644 index 0000000000000000000000000000000000000000..78e29251940e358b4b6130a03ea256132482f9f2 GIT binary patch literal 9109 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 KMNUMnLSTXp>_H*` delta 846 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 delta 961 zcmV;y13vtRG4=m0000+_jok`001yhOjJdagA_1-7fyyU000AlNkl8nu5Xbon)@Ia;=#Rufr!clNtAf$Fs$akk2qR+xn0s6xT;$UGoM7 z{4Tu@N}^=BXoqh413_%xPyag}kCKD{wQ97Ha)|$h2fX>w3$33d$OGQ?IWW-rR_kXC zDuA~=i2-nb*zL*=F3x}qYijTvx?!H}xQ4crZN9h)xK#w!2I{f^TESXv>_b}Z1Jp-( zgp_M_t|nm>2=tsC^!y0eNT*?)!*(mrtkZ)`xrTH5NWhk^wVt3+t-u&|fb~I(wY6*I zbZxB`_&Wm|t#9JkTII=F>cN>Y01V;VkUDbq-LKxe;yWe&jhIj!Up0qEDZl}8-6$$(xgw4O_u<`#?%mIV;U zQ>}-Yg-bNB1z^9x^5Iw0guxV2j+bZfP_-! zE^Og{nE;E|D$qq>a+jimBp~(`Wx&u?4Jm4Y)x0RO7BKUC*;SxV4IqFUCuoPf##BM^ z6RJhvYI*{|^|l=#3qV5n>Vui5)Q9%7y@E|E1F?#y<~9|$H^K54xQZ75tU@X>Sgyx6 zQ(XndiwOX@y#O57ps8a3yfQG>IHLuSC z>M{emql6st1B0_V`n)IrbnuTHZOM31aqtc;09ZrC!4m?K_gqgilp~g#iSA5G(`V8OZE0RT*%~09x8V0d=B{+dZWxVce|? zeH)$xvxDbz+rI!ADSva^9TSOAEnmUb`2-^1fbYMod$|~LZe0`jT$v- j)TmLTMvWRZ`fvIT?3k>t0$}!!00000NkvXXu0mjflUK9t diff --git a/graphics/berry_fix/gba_transfer_highlight.pal b/graphics/berry_fix/gba_transfer_highlight.pal deleted file mode 100644 index 0e177217f5..0000000000 --- a/graphics/berry_fix/gba_transfer_highlight.pal +++ /dev/null @@ -1,35 +0,0 @@ -JASC-PAL -0100 -32 -0 0 0 -255 255 255 -32 32 32 -172 172 172 -230 8 8 -255 189 115 -32 156 8 -148 246 148 -49 82 205 -164 197 246 -164 213 90 -238 230 197 -148 197 213 -32 57 98 -106 148 197 -90 106 156 -255 255 255 -164 213 90 -32 32 32 -123 123 205 -255 255 255 -74 74 115 -197 197 197 -98 98 189 -106 106 197 -98 123 57 -131 131 131 -222 41 0 -189 123 41 -180 180 222 -0 0 0 -0 0 0 diff --git a/graphics/berry_fix/gba_transfer_highlight.png b/graphics/berry_fix/gba_transfer_highlight.png index 9fb9b6a48b22e6c9de50ab571dbccc21b1313058..f1845bdafd2f44c5f4a5802851a6574d203fe42d 100644 GIT binary patch delta 6342 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 IM6N<$g130;vH$=8 delta 1007 zcmVm0000+_jok`001yhOjJdal@u_47fyyU000B8Nkl~OVPMlPh3GRdkL`dp0-=eXOZiQZEYPBX z40NS@kn&ZcrUq!UB?CZ)x3^-3-PQv{RPoS)My%jV22P^fc0(yH3F?KZ11`Ov1K0;h zunw0}-lZu4jrbxg33}2^)AW-Lmil=CmN#Vr+|s;%!C5?l53Ow(Xvk^k0fhuhVbpg( zd+nmDmFQ`sXR!c4zeIM16^+%NpbwN`XX=BxrPlM<=t^tJ09oL=wT?Y$9rTon*aFvG zhy&rC39`}bAcD;B##E96RQ#PL3q#@L0P@*5qZzz-322^C1s6U5{aRs+3$Z{awF+R5 z31}F91Ks;7kfviPq3K+yt^)cC{GK|1iof;&@NqMto&lOHDqz4~C)D_tapZu(xBws# z$Lf)nrD*`+0VfEI9v2L}>H(N%fSe>2=u^WQ_s4+Q)By9#yRkd~s3|QP0J#SPoKjr~ zY#F$exMl|c+&oL}_+bFc0AM&N0RqBS2KzF%_SWH`YL-|hCV0+d0~k%Gsc0fxm4F#~vjF7MS7?@2#{1>gv73Z)d~xIU17 z0T1z}=rIw;)eP)&DGXsZty3`@oN^tJrkzeF2a4IkAc0_#Ad@5}LtFqlNeW>=l1}QL zAOPI8Sh8@+yL;Am7i%%hPoPq8V%V$s=GsMXxN@Z)@kFtgdt4R_ch?KP9^h2i+NT^D z;S_JE{TePcOW58jwvYpDCVI+=EaZTHxk2G3;IO$K8OSp4{bj|)EcibL_WPqRI0XFo z69D=<06&DSJ^vVio5;O=90Ks(bijW9%K`q{5rD5KPz?p))0=-O5&*$H1`t3HzUPMd zfK886!CJ-f{7TPZ^$73{qUhi^OLq)#3JwXY$~He2u2E&-YJGssb`+2@3eV+ILxc;3 zs%GdKV1ER_cPe=4ig2@_s=&F;u;vG+EPSVW7r<5IDGWe6_dWe5K&@J}YSpS$t5&UA dwQBt%{RY5zu6OG_Qpo@S002ovPDHLkV1i^h(Eb1b diff --git a/graphics/berry_fix/logo.pal b/graphics/berry_fix/logo.pal deleted file mode 100644 index 4c76f3f9a8..0000000000 --- a/graphics/berry_fix/logo.pal +++ /dev/null @@ -1,51 +0,0 @@ -JASC-PAL -0100 -48 -0 0 0 -255 255 255 -32 32 32 -172 172 172 -230 8 8 -255 189 115 -32 156 8 -148 246 148 -49 82 205 -164 197 246 -164 213 90 -238 230 197 -148 197 213 -32 57 98 -106 148 197 -90 106 156 -255 255 255 -164 213 90 -32 32 32 -123 123 205 -255 255 255 -74 74 115 -197 197 197 -98 98 189 -106 106 197 -98 123 57 -131 131 131 -222 41 0 -189 123 41 -180 180 222 -0 0 0 -0 0 0 -0 0 0 -255 255 255 -238 238 238 -222 222 230 -205 205 222 -197 197 205 -180 180 197 -164 164 189 -156 156 172 -139 139 164 -123 123 156 -115 115 139 -98 98 131 -82 82 123 -74 74 115 -32 32 32 diff --git a/graphics/berry_fix/logo.png b/graphics/berry_fix/logo.png index 29cda79b0a6c82f5a161c38bb40ad657fef53173..189ca9780235eb79a8817337ddf8e22c71298422 100644 GIT binary patch delta 4540 zcmV;t5ku~)2G%2x7=H)@0001DevN|w01f(jR9JLUVRs;Ka&Km7Y-J#Hd2nSQWq4_3 z004N}?U`MY9JvjI-|G}U0{=je#{mg4!Z+~o{h_8Mt>oQ}@Xv!Eb~pB1U`+fe#SJgD0COZ1;J@M6Mo5grC(%0A5@0{BE^Zi<%KY#J>pI(3D+nWk6Resm6 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 BH<|zd diff --git a/include/graphics.h b/include/graphics.h index 04ad64606d..2bfdc55372 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3186,9 +3186,9 @@ extern const u16 gWallClockFemale_Pal[]; extern const u32 gWallClockStart_Tilemap[]; extern const u32 gWallClockView_Tilemap[]; -extern const u32 gBerryFixGameboy_Gfx[]; -extern const u32 gBerryFixGameboy_Tilemap[]; -extern const u16 gBerryFixGameboy_Pal[]; +extern const u32 gBerryFixGbaConnect_Gfx[]; +extern const u32 gBerryFixGbaConnect_Tilemap[]; +extern const u16 gBerryFixGbaConnect_Pal[]; extern const u32 gBerryFixGameboyLogo_Gfx[]; extern const u32 gBerryFixGameboyLogo_Tilemap[]; extern const u16 gBerryFixGameboyLogo_Pal[]; diff --git a/src/berry_fix_graphics.c b/src/berry_fix_graphics.c index b37645d4c2..d766c39662 100644 --- a/src/berry_fix_graphics.c +++ b/src/berry_fix_graphics.c @@ -8,9 +8,9 @@ static const struct { const u16 *pltt; } sBerryFixGraphics[] = { { - gBerryFixGameboy_Gfx, - gBerryFixGameboy_Tilemap, - gBerryFixGameboy_Pal + gBerryFixGbaConnect_Gfx, + gBerryFixGbaConnect_Tilemap, + gBerryFixGbaConnect_Pal }, { gBerryFixGameboyLogo_Gfx, gBerryFixGameboyLogo_Tilemap, @@ -43,7 +43,7 @@ static void LoadBerryFixGraphics(u32 idx) REG_BLDCNT = 0; LZ77UnCompVram(sBerryFixGraphics[idx].gfx, (void *)BG_CHAR_ADDR(0)); LZ77UnCompVram(sBerryFixGraphics[idx].tilemap, (void *)BG_SCREEN_ADDR(31)); - CpuCopy16(sBerryFixGraphics[idx].pltt, (void *)PLTT, 0x200); - REG_BG0CNT = 0x1f00; + CpuCopy16(sBerryFixGraphics[idx].pltt, (void *)BG_PLTT, BG_PLTT_SIZE); + REG_BG0CNT = BGCNT_SCREENBASE(31); REG_DISPCNT = DISPCNT_BG0_ON; } diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index 26af445a08..5900cb298a 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -117,13 +117,7 @@ static const struct WindowTemplate sBerryFixWindowTemplates[] = { DUMMY_WIN_TEMPLATE }; -static const u16 ALIGNED(4) sBerryFixPalColors[] = { - RGB_WHITE, RGB_WHITE, RGB(12, 12, 12), RGB(26, 26, 25), - RGB(28, 1, 1), RGB(31, 23, 14), RGB(4, 19, 1), RGB(18, 30, 18), - RGB(6, 10, 25), RGB(20, 24, 30), RGB_WHITE, RGB(12, 12, 12), - RGB(26, 26, 25), RGB_BLACK, RGB_BLACK, RGB_BLACK -}; - +static const u16 ALIGNED(4) sText_Pal[] = INCBIN_U16("graphics/berry_fix/text.gbapal"); static const u8 sBerryProgramTextColors[] = {TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_2, TEXT_DYNAMIC_COLOR_3}; static const u8 sGameTitleTextColors[] = { TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_1, TEXT_DYNAMIC_COLOR_4}; @@ -152,9 +146,9 @@ static const struct { const u16 *palette; } sBerryFixGraphics[] = { [SCENE_ENSURE_CONNECT] = { - gBerryFixGameboy_Gfx, - gBerryFixGameboy_Tilemap, - gBerryFixGameboy_Pal + gBerryFixGbaConnect_Gfx, + gBerryFixGbaConnect_Tilemap, + gBerryFixGbaConnect_Pal }, [SCENE_TURN_OFF_POWER] = { gBerryFixGameboyLogo_Gfx, @@ -304,7 +298,7 @@ static void BerryFix_GpuSet(void) InitWindows(sBerryFixWindowTemplates); DeactivateAllTextPrinters(); - DmaCopy32(3, sBerryFixPalColors, BG_PLTT + 0x1E0, sizeof(sBerryFixPalColors)); + DmaCopy32(3, sText_Pal, BG_PLTT + PLTT_OFFSET_4BPP(15), sizeof(sText_Pal)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP); FillWindowPixelBuffer(WIN_GAME_NAMES, PIXEL_FILL(0)); FillWindowPixelBuffer(WIN_TURN_OFF_TITLE, PIXEL_FILL(0)); @@ -374,7 +368,9 @@ static void BerryFix_SetScene(int scene) CopyBgTilemapBufferToVram(0); LZ77UnCompVram(sBerryFixGraphics[scene].gfx, (void *)BG_CHAR_ADDR(1)); LZ77UnCompVram(sBerryFixGraphics[scene].tilemap, (void *)BG_SCREEN_ADDR(31)); - CpuCopy32(sBerryFixGraphics[scene].palette, (void *)BG_PLTT, 0x100); + // These palettes range in size from 32-48 colors, so the below is interpreting whatever + // follows the palette (by default, the corresponding tiles) as the remaining 80-96. + CpuCopy32(sBerryFixGraphics[scene].palette, (void *)BG_PLTT, PLTT_SIZEOF(128)); ShowBg(0); ShowBg(1); } diff --git a/src/data/graphics/berry_fix.h b/src/data/graphics/berry_fix.h index 07e2cbf51c..0c26f7e92b 100644 --- a/src/data/graphics/berry_fix.h +++ b/src/data/graphics/berry_fix.h @@ -1,6 +1,6 @@ -const u16 gBerryFixGameboy_Pal[] = INCBIN_U16("graphics/berry_fix/gba_small.gbapal"); -const u32 gBerryFixGameboy_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_small.4bpp.lz"); -const u32 gBerryFixGameboy_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_small.bin.lz"); +const u16 gBerryFixGbaConnect_Pal[] = INCBIN_U16("graphics/berry_fix/gba_connect.gbapal"); +const u32 gBerryFixGbaConnect_Gfx[] = INCBIN_U32("graphics/berry_fix/gba_connect.4bpp.lz"); +const u32 gBerryFixGbaConnect_Tilemap[] = INCBIN_U32("graphics/berry_fix/gba_connect.bin.lz"); const u16 gBerryFixGameboyLogo_Pal[] = INCBIN_U16("graphics/berry_fix/logo.gbapal"); const u32 gBerryFixGameboyLogo_Gfx[] = INCBIN_U32("graphics/berry_fix/logo.4bpp.lz"); From c3e31af5f3f9577c6726cc006a9cffea8110f383 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Wed, 9 Aug 2023 22:12:26 -0500 Subject: [PATCH 145/256] Ultra burst trigger --- asm/macros/battle_script.inc | 5 + data/battle_anim_scripts.s | 33 ++++ data/battle_scripts_1.s | 15 ++ include/battle.h | 10 + include/battle_controllers.h | 2 + include/battle_interface.h | 7 + include/battle_scripts.h | 1 + include/battle_util.h | 2 + include/constants/battle_anim.h | 1 + include/constants/battle_script_commands.h | 1 + include/constants/battle_string_ids.h | 4 +- include/constants/form_change_types.h | 5 + include/constants/pokemon.h | 1 + src/battle_anim.c | 1 + src/battle_controller_opponent.c | 2 + src/battle_controller_player.c | 23 ++- src/battle_controller_player_partner.c | 2 + src/battle_interface.c | 183 ++++++++++++++++++ src/battle_main.c | 24 ++- src/battle_message.c | 5 + src/battle_script_commands.c | 27 ++- src/battle_util.c | 54 +++++- src/data/pokemon/form_change_table_pointers.h | 2 + src/data/pokemon/form_change_tables.h | 8 + src/data/pokemon/species_info.h | 2 +- test/test_runner_battle.c | 3 + 26 files changed, 403 insertions(+), 20 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 275cc40a8c..cd90d9b5a5 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1643,6 +1643,11 @@ .byte \case .endm + .macro handleultraburst battler:req, case:req + various \battler, VARIOUS_HANDLE_ULTRA_BURST + .byte \case + .endm + .macro handleformchange battler:req, case:req various \battler, VARIOUS_HANDLE_FORM_CHANGE .byte \case diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index cef036f8b2..825e36c383 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -947,6 +947,7 @@ gBattleAnims_General:: .4byte General_ZMoveActivate @ B_ANIM_ZMOVE_ACTIVATE .4byte General_AffectionHangedOn @ B_ANIM_AFFECTION_HANGED_ON .4byte General_Snow @ B_ANIM_SNOW_CONTINUES + .4byte General_UltraBurst @ B_ANIM_ULTRA_BURST .align 2 gBattleAnims_Special:: @@ -27002,6 +27003,38 @@ General_PrimalReversion_Omega: blendoff end +General_UltraBurst:: + loadspritegfx ANIM_TAG_SPARK_2 @spark + loadspritegfx ANIM_TAG_LEAF @green + loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge particles + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @psycho boost + monbg ANIM_ATTACKER + setalpha 12, 8 + createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_ADJACENT), 0x2, 0x0, 0xF, 0x0000 + waitforvisualfinish + createvisualtask AnimTask_ElectricChargingParticles, 2, ANIM_ATTACKER, 60, 2, 12 @ charge particles to attacker + delay 0x1e + loopsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER, 0xe, 0xa + createsprite gSuperpowerOrbSpriteTemplate, ANIM_TARGET, 3, 0x0 + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + call LightThatBurnsTheSkyGreenSparks + delay 0xe + createvisualtask AnimTask_TransformMon, 2, 1, 0 + createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA + createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 + waitforvisualfinish + createvisualtask SoundTask_PlayNormalCry, 0 + clearmonbg ANIM_ATK_PARTNER + blendoff + end + General_AffectionHangedOn:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 12, 3 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 056aaa6739..d46e72e412 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7818,6 +7818,21 @@ BattleScript_PrimalReversionRet:: switchinabilities BS_ATTACKER return +BattleScript_UltraBurst:: + printstring STRINGID_EMPTYSTRING3 + trytrainerslidezmovemsg BS_ATTACKER + printstring STRINGID_ULTRABURSTREACTING + waitmessage B_WAIT_TIME_LONG + setbyte gIsCriticalHit, 0 + handleultraburst BS_ATTACKER, 0 + playanimation BS_ATTACKER, B_ANIM_ULTRA_BURST + waitanimation + handleultraburst BS_ATTACKER, 1 + printstring STRINGID_ULTRABURSTCOMPLETED + waitmessage B_WAIT_TIME_LONG + switchinabilities BS_ATTACKER + end3 + BattleScript_AttackerFormChange:: pause 5 copybyte gBattlerAbility, gBattlerAttacker diff --git a/include/battle.h b/include/battle.h index 00893d105e..1632451844 100644 --- a/include/battle.h +++ b/include/battle.h @@ -486,6 +486,15 @@ struct MegaEvolutionData u8 triggerSpriteId; }; +struct UltraBurstData +{ + u8 toBurst; // As flags using gBitTable. + bool8 alreadyBursted[4]; // Array id is used for mon position. + u8 battlerId; + bool8 playerSelect; + u8 triggerSpriteId; +}; + struct Illusion { u8 on; @@ -614,6 +623,7 @@ struct BattleStruct u8 abilityPopUpSpriteIds[MAX_BATTLERS_COUNT][2]; // two per battler bool8 throwingPokeBall; struct MegaEvolutionData mega; + struct UltraBurstData burst; struct ZMoveData zmove; const u8 *trainerSlideMsg; bool8 trainerSlideLowHpMsgDone; diff --git a/include/battle_controllers.h b/include/battle_controllers.h index e1ab98b0c7..16c67ca01b 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -99,6 +99,7 @@ enum { // Special return values in gBattleBufferB from Battle Controller functions. #define RET_VALUE_LEVELED_UP 11 #define RET_MEGA_EVOLUTION 0x80 +#define RET_ULTRA_BURST 0x70 struct UnusedControllerStruct { @@ -129,6 +130,7 @@ struct ChooseMoveStruct u8 monType2; u8 monType3; struct MegaEvolutionData mega; + struct UltraBurstData burst; struct ZMoveData zmove; }; diff --git a/include/battle_interface.h b/include/battle_interface.h index e2937748a4..2618dc4a99 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -53,11 +53,13 @@ enum #define TAG_ALPHA_INDICATOR_TILE 0xD779 #define TAG_OMEGA_INDICATOR_TILE 0xD77A #define TAG_ZMOVE_TRIGGER_TILE 0xD77B +#define TAG_BURST_TRIGGER_TILE 0xD77C #define TAG_MEGA_TRIGGER_PAL 0xD777 #define TAG_MEGA_INDICATOR_PAL 0xD778 #define TAG_ALPHA_OMEGA_INDICATOR_PAL 0xD779 // Alpha and Omega indicators use the same palette as each of them only uses 4 different colors. #define TAG_ZMOVE_TRIGGER_PAL 0xD77B +#define TAG_BURST_TRIGGER_PAL 0xD77C enum { @@ -91,6 +93,11 @@ void CreateMegaTriggerSprite(u8 battlerId, u8 palId); bool32 IsMegaTriggerSpriteActive(void); void HideMegaTriggerSprite(void); void DestroyMegaTriggerSprite(void); +void ChangeBurstTriggerSprite(u8 spriteId, u8 animId); +void CreateBurstTriggerSprite(u8 battlerId, u8 palId); +bool32 IsBurstTriggerSpriteActive(void); +void HideBurstTriggerSprite(void); +void DestroyBurstTriggerSprite(void); void MegaIndicator_LoadSpritesGfx(void); u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, bool8 skipPlayer, bool8 isBattleStart); void Task_HidePartyStatusSummary(u8 taskId); diff --git a/include/battle_scripts.h b/include/battle_scripts.h index bcc8632a4f..98ea8ba156 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -472,6 +472,7 @@ extern const u8 BattleScript_SpikesActivates[]; extern const u8 BattleScript_BerserkGeneRet[]; extern const u8 BattleScript_TargetFormChangeWithStringNoPopup[]; extern const u8 BattleScript_DefDown[]; +extern const u8 BattleScript_UltraBurst[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/battle_util.h b/include/battle_util.h index 9de5d6ded9..a82010e01e 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -177,8 +177,10 @@ uq4_12_t GetTypeModifier(u8 atkType, u8 defType); s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId); s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp); bool32 CanMegaEvolve(u8 battlerId); +bool32 CanUltraBurst(u8 battlerId); bool32 IsBattlerMegaEvolved(u8 battlerId); bool32 IsBattlerPrimalReverted(u8 battlerId); +bool32 IsBattlerUltraBursted(u8 battlerId); u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method); bool32 TryBattleFormChange(u8 battlerId, u16 method); bool32 DoBattlersShareType(u32 battler1, u32 battler2); diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 29c39b6897..e70eba0fd7 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -548,6 +548,7 @@ #define B_ANIM_ZMOVE_ACTIVATE 34 // Using Z Moves #define B_ANIM_AFFECTION_HANGED_ON 35 #define B_ANIM_SNOW_CONTINUES 36 +#define B_ANIM_ULTRA_BURST 37 // special animations table (gBattleAnims_Special) #define B_ANIM_LVL_UP 0 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 387800da4a..20e6d7e45e 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -257,6 +257,7 @@ #define VARIOUS_TRY_REVIVAL_BLESSING 165 #define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 166 #define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 167 +#define VARIOUS_HANDLE_ULTRA_BURST 168 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 97284d6fe4..35d991bb84 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -665,8 +665,10 @@ #define STRINGID_SNOWSTOPPED 663 #define STRINGID_SNOWWARNINGSNOW 664 #define STRINGID_PKMNITEMMELTED 665 +#define STRINGID_ULTRABURSTREACTING 666 +#define STRINGID_ULTRABURSTCOMPLETED 667 -#define BATTLESTRINGS_COUNT 666 +#define BATTLESTRINGS_COUNT 668 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/include/constants/form_change_types.h b/include/constants/form_change_types.h index 81d1b045b0..db96b06574 100644 --- a/include/constants/form_change_types.h +++ b/include/constants/form_change_types.h @@ -96,4 +96,9 @@ // param1: ability to check. #define FORM_CHANGE_BATTLE_TURN_END 15 +// Form change that activates when the mon has the defined item. +// If it's on the player's side, it also requires for the player to trigger it by pressing START before selecting a move. +// param1: item to hold. +#define FORM_CHANGE_BATTLE_ULTRA_BURST 16 + #endif // GUARD_CONSTANTS_FORM_CHANGE_TYPES_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index af71780414..3b54f98518 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -327,6 +327,7 @@ #define SPECIES_FLAG_HISUIAN_FORM (1 << 7) #define SPECIES_FLAG_ALL_PERFECT_IVS (1 << 8) #define SPECIES_FLAG_CANNOT_BE_TRADED (1 << 9) +#define SPECIES_FLAG_ULTRA_BURST (1 << 10) #define LEGENDARY_PERFECT_IV_COUNT 3 diff --git a/src/battle_anim.c b/src/battle_anim.c index 5691e21e2a..808676c2e5 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -275,6 +275,7 @@ void LaunchBattleAnimation(u32 animType, u32 animId) case B_ANIM_WISH_HEAL: case B_ANIM_MEGA_EVOLUTION: case B_ANIM_PRIMAL_REVERSION: + case B_ANIM_ULTRA_BURST: case B_ANIM_GULP_MISSILE: sAnimHideHpBoxes = TRUE; break; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index a786dafa69..ab05a7f339 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1600,6 +1600,8 @@ static void OpponentHandleChooseMove(void) QueueZMove(gActiveBattler, chosenMove); if (CanMegaEvolve(gActiveBattler)) // If opponent can mega evolve, do it. BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); + else if (CanUltraBurst(gActiveBattler)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_ULTRA_BURST) | (gBattlerTarget << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index eb47db444c..b12da78dff 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -376,6 +376,8 @@ static void HandleInputChooseTarget(void) gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; if (gBattleStruct->mega.playerSelect) BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + else if (gBattleStruct->burst.playerSelect) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_ULTRA_BURST | (gMultiUsePlayerCursor << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); @@ -534,9 +536,11 @@ static void HandleInputShowEntireFieldTargets(void) HideAllTargets(); if (gBattleStruct->mega.playerSelect) BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + else if (gBattleStruct->burst.playerSelect) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_ULTRA_BURST | (gMultiUsePlayerCursor << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); - HideMegaTriggerSprite(); + HideTriggerSprites(); PlayerBufferExecCompleted(); } else if (JOY_NEW(B_BUTTON) || gPlayerDpadHoldFrames > 59) @@ -562,6 +566,8 @@ static void HandleInputShowTargets(void) HideShownTargets(); if (gBattleStruct->mega.playerSelect) BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + else if (gBattleStruct->burst.playerSelect) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_ULTRA_BURST | (gMultiUsePlayerCursor << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); HideTriggerSprites(); @@ -677,6 +683,8 @@ static void HandleInputChooseMove(void) default: if (gBattleStruct->mega.playerSelect) BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + else if (gBattleStruct->burst.playerSelect) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | RET_ULTRA_BURST | (gMultiUsePlayerCursor << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[gActiveBattler] | (gMultiUsePlayerCursor << 8)); HideTriggerSprites(); @@ -713,6 +721,7 @@ static void HandleInputChooseMove(void) else { gBattleStruct->mega.playerSelect = FALSE; + gBattleStruct->burst.playerSelect = FALSE; gBattleStruct->zmove.viable = FALSE; BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); HideTriggerSprites(); @@ -797,6 +806,12 @@ static void HandleInputChooseMove(void) ChangeMegaTriggerSprite(gBattleStruct->mega.triggerSpriteId, gBattleStruct->mega.playerSelect); PlaySE(SE_SELECT); } + else if (CanUltraBurst(gActiveBattler)) + { + gBattleStruct->burst.playerSelect ^= 1; + ChangeBurstTriggerSprite(gBattleStruct->burst.triggerSpriteId, gBattleStruct->burst.playerSelect); + PlaySE(SE_SELECT); + } else if (gBattleStruct->zmove.viable) { // show z move name / info @@ -813,6 +828,7 @@ static void HandleInputChooseMove(void) static void ReloadMoveNames(void) { gBattleStruct->mega.playerSelect = FALSE; + gBattleStruct->burst.playerSelect = FALSE; gBattleStruct->zmove.viewing = FALSE; MoveSelectionDestroyCursorAt(0); MoveSelectionDisplayMoveNames(); @@ -2862,10 +2878,15 @@ static void PlayerHandleChooseMove(void) InitMoveSelectionsVarsAndStrings(); gBattleStruct->mega.playerSelect = FALSE; + gBattleStruct->burst.playerSelect = FALSE; if (!IsMegaTriggerSpriteActive()) gBattleStruct->mega.triggerSpriteId = 0xFF; if (CanMegaEvolve(gActiveBattler)) CreateMegaTriggerSprite(gActiveBattler, 0); + if (!IsBurstTriggerSpriteActive()) + gBattleStruct->burst.triggerSpriteId = 0xFF; + if (CanUltraBurst(gActiveBattler)) + CreateBurstTriggerSprite(gActiveBattler, 0); if (!IsZMoveTriggerSpriteActive()) gBattleStruct->zmove.triggerSpriteId = 0xFF; diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3a4beeca93..0d1bbe03a2 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1539,6 +1539,8 @@ static void PlayerPartnerHandleChooseMove(void) // If partner can mega evolve, do it. if (CanMegaEvolve(gActiveBattler)) BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); + else if (CanUltraBurst(gActiveBattler)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_ULTRA_BURST) | (gBattlerTarget << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); diff --git a/src/battle_interface.c b/src/battle_interface.c index 7ac936b2f7..281d18e046 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -194,6 +194,7 @@ static void SpriteCB_StatusSummaryBalls_Exit(struct Sprite *); static void SpriteCB_StatusSummaryBalls_OnSwitchout(struct Sprite *); static void SpriteCb_MegaTrigger(struct Sprite *); +static void SpriteCb_BurstTrigger(struct Sprite *); static void MegaIndicator_SetVisibilities(u32 healthboxId, bool32 invisible); static void MegaIndicator_UpdateLevel(u32 healthboxId, u32 level); static void MegaIndicator_CreateSprite(u32 battlerId, u32 healthboxSpriteId); @@ -676,6 +677,64 @@ static const struct SpriteTemplate sSpriteTemplate_MegaTrigger = .callback = SpriteCb_MegaTrigger }; +static const u8 ALIGNED(4) sBurstTriggerGfx[] = INCBIN_U8("graphics/battle_interface/mega_trigger.4bpp"); +static const u16 sBurstTriggerPal[] = INCBIN_U16("graphics/battle_interface/mega_trigger.gbapal"); + +static const struct SpriteSheet sSpriteSheet_BurstTrigger = +{ + sBurstTriggerGfx, sizeof(sBurstTriggerGfx), TAG_BURST_TRIGGER_TILE +}; +static const struct SpritePalette sSpritePalette_BurstTrigger = +{ + sBurstTriggerPal, TAG_BURST_TRIGGER_PAL +}; + +static const struct OamData sOamData_BurstTrigger = +{ + .y = 0, + .affineMode = 0, + .objMode = 0, + .mosaic = 0, + .bpp = 0, + .shape = ST_OAM_SQUARE, + .x = 0, + .matrixNum = 0, + .size = 2, + .tileNum = 0, + .priority = 1, + .paletteNum = 0, + .affineParam = 0, +}; + +static const union AnimCmd sSpriteAnim_BurstTriggerOff[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sSpriteAnim_BurstTriggerOn[] = +{ + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sSpriteAnimTable_BurstTrigger[] = +{ + sSpriteAnim_BurstTriggerOff, + sSpriteAnim_BurstTriggerOn, +}; + +static const struct SpriteTemplate sSpriteTemplate_BurstTrigger = +{ + .tileTag = TAG_BURST_TRIGGER_TILE, + .paletteTag = TAG_BURST_TRIGGER_PAL, + .oam = &sOamData_BurstTrigger, + .anims = sSpriteAnimTable_BurstTrigger, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCb_BurstTrigger +}; + // Because the healthbox is too large to fit into one sprite, it is divided into two sprites. // healthboxLeft or healthboxMain is the left part that is used as the 'main' sprite. // healthboxRight or healthboxOther is the right part of the healthbox. @@ -1419,6 +1478,7 @@ void HideMegaTriggerSprite(void) void HideTriggerSprites(void) { HideMegaTriggerSprite(); + HideBurstTriggerSprite(); HideZMoveTriggerSprite(); } @@ -1434,6 +1494,129 @@ void DestroyMegaTriggerSprite(void) #undef tBattler #undef tHide +// Ultra Burst Trigger icon functions. +void ChangeBurstTriggerSprite(u8 spriteId, u8 animId) +{ + StartSpriteAnim(&gSprites[spriteId], animId); +} + +#define SINGLES_BURST_TRIGGER_POS_X_OPTIMAL (30) +#define SINGLES_BURST_TRIGGER_POS_X_PRIORITY (31) +#define SINGLES_BURST_TRIGGER_POS_X_SLIDE (15) +#define SINGLES_BURST_TRIGGER_POS_Y_DIFF (-11) + +#define DOUBLES_BURST_TRIGGER_POS_X_OPTIMAL (30) +#define DOUBLES_BURST_TRIGGER_POS_X_PRIORITY (31) +#define DOUBLES_BURST_TRIGGER_POS_X_SLIDE (15) +#define DOUBLES_BURST_TRIGGER_POS_Y_DIFF (-4) + +#define tBattler data[0] +#define tHide data[1] + +void CreateBurstTriggerSprite(u8 battlerId, u8 palId) +{ + LoadSpritePalette(&sSpritePalette_BurstTrigger); + if (GetSpriteTileStartByTag(TAG_BURST_TRIGGER_TILE) == 0xFFFF) + LoadSpriteSheet(&sSpriteSheet_BurstTrigger); + if (gBattleStruct->burst.triggerSpriteId == 0xFF) + { + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + gBattleStruct->burst.triggerSpriteId = CreateSprite(&sSpriteTemplate_BurstTrigger, + gSprites[gHealthboxSpriteIds[battlerId]].x - DOUBLES_BURST_TRIGGER_POS_X_SLIDE, + gSprites[gHealthboxSpriteIds[battlerId]].y - DOUBLES_BURST_TRIGGER_POS_Y_DIFF, 0); + else + gBattleStruct->burst.triggerSpriteId = CreateSprite(&sSpriteTemplate_BurstTrigger, + gSprites[gHealthboxSpriteIds[battlerId]].x - SINGLES_BURST_TRIGGER_POS_X_SLIDE, + gSprites[gHealthboxSpriteIds[battlerId]].y - SINGLES_BURST_TRIGGER_POS_Y_DIFF, 0); + } + gSprites[gBattleStruct->burst.triggerSpriteId].tBattler = battlerId; + gSprites[gBattleStruct->burst.triggerSpriteId].tHide = FALSE; + + ChangeBurstTriggerSprite(gBattleStruct->burst.triggerSpriteId, palId); +} + +static void SpriteCb_BurstTrigger(struct Sprite *sprite) +{ + s32 xSlide, xPriority, xOptimal; + s32 yDiff; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + xSlide = DOUBLES_BURST_TRIGGER_POS_X_SLIDE; + xPriority = DOUBLES_BURST_TRIGGER_POS_X_PRIORITY; + xOptimal = DOUBLES_BURST_TRIGGER_POS_X_OPTIMAL; + yDiff = DOUBLES_BURST_TRIGGER_POS_Y_DIFF; + } + else + { + xSlide = SINGLES_BURST_TRIGGER_POS_X_SLIDE; + xPriority = SINGLES_BURST_TRIGGER_POS_X_PRIORITY; + xOptimal = SINGLES_BURST_TRIGGER_POS_X_OPTIMAL; + yDiff = SINGLES_BURST_TRIGGER_POS_Y_DIFF; + } + + if (sprite->tHide) + { + if (sprite->x != gSprites[gHealthboxSpriteIds[sprite->tBattler]].x - xSlide) + sprite->x++; + + if (sprite->x >= gSprites[gHealthboxSpriteIds[sprite->tBattler]].x - xPriority) + sprite->oam.priority = 2; + else + sprite->oam.priority = 1; + + sprite->y = gSprites[gHealthboxSpriteIds[sprite->tBattler]].y - yDiff; + sprite->y2 = gSprites[gHealthboxSpriteIds[sprite->tBattler]].y2 - yDiff; + if (sprite->x == gSprites[gHealthboxSpriteIds[sprite->tBattler]].x - xSlide) + DestroyBurstTriggerSprite(); + } + else + { + if (sprite->x != gSprites[gHealthboxSpriteIds[sprite->tBattler]].x - xOptimal) + sprite->x--; + + if (sprite->x >= gSprites[gHealthboxSpriteIds[sprite->tBattler]].x - xPriority) + sprite->oam.priority = 2; + else + sprite->oam.priority = 1; + + sprite->y = gSprites[gHealthboxSpriteIds[sprite->tBattler]].y - yDiff; + sprite->y2 = gSprites[gHealthboxSpriteIds[sprite->tBattler]].y2 - yDiff; + } +} + +bool32 IsBurstTriggerSpriteActive(void) +{ + if (GetSpriteTileStartByTag(TAG_BURST_TRIGGER_TILE) == 0xFFFF) + return FALSE; + else if (IndexOfSpritePaletteTag(TAG_BURST_TRIGGER_PAL) != 0xFF) + return TRUE; + else + return FALSE; +} + +void HideBurstTriggerSprite(void) +{ + if (gBattleStruct->burst.triggerSpriteId != 0xFF) + { + ChangeBurstTriggerSprite(gBattleStruct->burst.triggerSpriteId, 0); + gSprites[gBattleStruct->burst.triggerSpriteId].tHide = TRUE; + } +} + +void DestroyBurstTriggerSprite(void) +{ + FreeSpritePaletteByTag(TAG_BURST_TRIGGER_PAL); + FreeSpriteTilesByTag(TAG_BURST_TRIGGER_TILE); + if (gBattleStruct->burst.triggerSpriteId != 0xFF) + DestroySprite(&gSprites[gBattleStruct->burst.triggerSpriteId]); + gBattleStruct->burst.triggerSpriteId = 0xFF; +} + +#undef tBattler +#undef tHide + + // Code for Mega Evolution (And Alpha/Omega) Trigger icon visible on the battler's healthbox. enum { diff --git a/src/battle_main.c b/src/battle_main.c index ace56189c3..86d72bd734 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3186,6 +3186,7 @@ static void BattleStartClearSetData(void) gBattleStruct->arenaLostOpponentMons = 0; gBattleStruct->mega.triggerSpriteId = 0xFF; + gBattleStruct->burst.triggerSpriteId = 0xFF; gBattleStruct->stickyWebUser = 0xFF; gBattleStruct->appearedInBattle = 0; @@ -4350,6 +4351,7 @@ static void HandleTurnActionSelectionState(void) } gBattleStruct->mega.toEvolve &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))]); + gBattleStruct->burst.toBurst &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))]); gBattleStruct->zmove.toBeUsed[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))] = MOVE_NONE; BtlController_EmitEndBounceEffect(BUFFER_A); MarkBattlerForControllerExec(gActiveBattler); @@ -4436,11 +4438,13 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][2]); RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][3]); } - *(gBattleStruct->chosenMovePositions + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][2] & ~RET_MEGA_EVOLUTION; - gChosenMoveByBattler[gActiveBattler] = gBattleMons[gActiveBattler].moves[*(gBattleStruct->chosenMovePositions + gActiveBattler)]; - *(gBattleStruct->moveTarget + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][3]; + gBattleStruct->chosenMovePositions[gActiveBattler] = gBattleResources->bufferB[gActiveBattler][2] & ~(RET_MEGA_EVOLUTION | RET_ULTRA_BURST); + gChosenMoveByBattler[gActiveBattler] = gBattleMons[gActiveBattler].moves[gBattleStruct->chosenMovePositions[gActiveBattler]]; + gBattleStruct->moveTarget[gActiveBattler] = gBattleResources->bufferB[gActiveBattler][3]; if (gBattleResources->bufferB[gActiveBattler][2] & RET_MEGA_EVOLUTION) gBattleStruct->mega.toEvolve |= gBitTable[gActiveBattler]; + else if (gBattleResources->bufferB[gActiveBattler][2] & RET_ULTRA_BURST) + gBattleStruct->burst.toBurst |= gBitTable[gActiveBattler]; gBattleCommunication[gActiveBattler]++; } break; @@ -5054,7 +5058,7 @@ static void PopulateArrayWithBattlers(u8 *battlers) static bool32 TryDoMegaEvosBeforeMoves(void) { - if (!(gHitMarker & HITMARKER_RUN) && gBattleStruct->mega.toEvolve) + if (!(gHitMarker & HITMARKER_RUN) && (gBattleStruct->mega.toEvolve || gBattleStruct->burst.toBurst)) { u32 i; struct Pokemon *party; @@ -5079,6 +5083,18 @@ static bool32 TryDoMegaEvosBeforeMoves(void) BattleScriptExecute(BattleScript_MegaEvolution); return TRUE; } + + if (gBattleStruct->burst.toBurst & gBitTable[megaOrder[i]] + && !(gProtectStructs[megaOrder[i]].noValidMoves)) + { + gActiveBattler = gBattlerAttacker = megaOrder[i]; + gBattleStruct->burst.toBurst &= ~(gBitTable[gActiveBattler]); + gLastUsedItem = gBattleMons[gActiveBattler].item; + party = GetBattlerParty(gActiveBattler); + mon = &party[gBattlerPartyIndexes[gActiveBattler]]; + BattleScriptExecute(BattleScript_UltraBurst); + return TRUE; + } } } diff --git a/src/battle_message.c b/src/battle_message.c index 172f5a11f8..811395cb80 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -800,6 +800,9 @@ static const u8 sText_ItemRestoredSpeciesPP[] = _("{B_BUFF1} had its\nPP restore static const u8 sText_AtkTrappedDef[] = _("{B_ATK_NAME_WITH_PREFIX} trapped\nthe {B_DEF_NAME_WITH_PREFIX}!"); static const u8 sText_MirrorHerbCopied[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used its {B_LAST_ITEM}\nto mirror its opponent's stat changes!"); static const u8 sText_PkmnItemMelted[] = _("{B_ATK_NAME_WITH_PREFIX} corroded\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); +static const u8 sText_UltraBurstReacting[] = _("Bright light is about to\nburst out of {B_ATK_NAME_WITH_PREFIX}!"); +static const u8 sText_UltraBurstCompleted[] = _("{B_ATK_NAME_WITH_PREFIX} regained its\ntrue power through Ultra Burst!"); + const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { @@ -1456,6 +1459,8 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNFROSTBITEHEALED - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealed, [STRINGID_PKMNFROSTBITEHEALED2 - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealed2, [STRINGID_PKMNFROSTBITEHEALEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealedBy, + [STRINGID_ULTRABURSTREACTING - BATTLESTRINGS_TABLE_START] = sText_UltraBurstReacting, + [STRINGID_ULTRABURSTCOMPLETED - BATTLESTRINGS_TABLE_START] = sText_UltraBurstCompleted, }; const u16 gTrainerUsedItemStringIds[] = diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index aa52768059..42d427a93c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4998,7 +4998,8 @@ static void Cmd_playanimation(void) || animId == B_ANIM_ILLUSION_OFF || animId == B_ANIM_FORM_CHANGE || animId == B_ANIM_SUBSTITUTE_FADE - || animId == B_ANIM_PRIMAL_REVERSION) + || animId == B_ANIM_PRIMAL_REVERSION + || animId == B_ANIM_ULTRA_BURST) { BtlController_EmitBattleAnimation(BUFFER_A, animId, *argPtr); MarkBattlerForControllerExec(gActiveBattler); @@ -5049,7 +5050,8 @@ static void Cmd_playanimation_var(void) || *animIdPtr == B_ANIM_ILLUSION_OFF || *animIdPtr == B_ANIM_FORM_CHANGE || *animIdPtr == B_ANIM_SUBSTITUTE_FADE - || *animIdPtr == B_ANIM_PRIMAL_REVERSION) + || *animIdPtr == B_ANIM_PRIMAL_REVERSION + || *animIdPtr == B_ANIM_ULTRA_BURST) { BtlController_EmitBattleAnimation(BUFFER_A, *animIdPtr, *argPtr); MarkBattlerForControllerExec(gActiveBattler); @@ -8593,7 +8595,7 @@ static bool32 CourtChangeSwapSideStatuses(void) SWAP(sideTimerPlayer->stickyWebBattlerSide, sideTimerOpp->stickyWebBattlerSide, temp); } -static void HandleScriptMegaPrimal(u32 caseId, u32 battlerId, bool32 isMega) +static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battlerId, u32 type) { struct Pokemon *party = GetBattlerParty(battlerId); struct Pokemon *mon = &party[gBattlerPartyIndexes[battlerId]]; @@ -8603,13 +8605,15 @@ static void HandleScriptMegaPrimal(u32 caseId, u32 battlerId, bool32 isMega) // Change species. if (caseId == 0) { - if (isMega) + if (type == 0) { if (!TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM)) TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE); } - else + else if (type == 1) TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_PRIMAL_REVERSION); + else + TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_ULTRA_BURST); PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battlerId].species); @@ -8622,7 +8626,7 @@ static void HandleScriptMegaPrimal(u32 caseId, u32 battlerId, bool32 isMega) UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], mon, HEALTHBOX_ALL); if (side == B_SIDE_OPPONENT) SetBattlerShadowSpriteCallback(battlerId, gBattleMons[battlerId].species); - if (isMega) + if (type == 0) gBattleStruct->mega.alreadyEvolved[position] = TRUE; } } @@ -9680,14 +9684,21 @@ static void Cmd_various(void) case VARIOUS_HANDLE_MEGA_EVO: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimal(cmd->case_, gActiveBattler, TRUE); + HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, 0); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_HANDLE_PRIMAL_REVERSION: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimal(cmd->case_, gActiveBattler, FALSE); + HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, 1); + gBattlescriptCurrInstr = cmd->nextInstr; + return; + } + case VARIOUS_HANDLE_ULTRA_BURST: + { + VARIOUS_ARGS(u8 case_); + HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, 2); gBattlescriptCurrInstr = cmd->nextInstr; return; } diff --git a/src/battle_util.c b/src/battle_util.c index 2f200026b4..0ef2752f5d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1612,7 +1612,7 @@ static bool32 IsBelchPreventingMove(u32 battler, u32 move) u8 TrySetCantSelectMoveBattleScript(void) { u32 limitations = 0; - u8 moveId = gBattleResources->bufferB[gActiveBattler][2] & ~RET_MEGA_EVOLUTION; + u8 moveId = gBattleResources->bufferB[gActiveBattler][2] & ~(RET_MEGA_EVOLUTION | RET_ULTRA_BURST); u32 move = gBattleMons[gActiveBattler].moves[moveId]; u32 holdEffect = GetBattlerHoldEffect(gActiveBattler, TRUE); u16 *choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; @@ -9959,6 +9959,7 @@ bool32 DoesSpeciesUseHoldItemToChangeForm(u16 species, u16 heldItemId) { case FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM: case FORM_CHANGE_BATTLE_PRIMAL_REVERSION: + case FORM_CHANGE_BATTLE_ULTRA_BURST: case FORM_CHANGE_ITEM_HOLD: if (formChanges[i].param1 == heldItemId) return TRUE; @@ -10029,6 +10030,40 @@ bool32 CanMegaEvolve(u8 battlerId) return FALSE; } +bool32 CanUltraBurst(u8 battlerId) +{ + u32 itemId, holdEffect, species; + struct Pokemon *mon; + u8 battlerPosition = GetBattlerPosition(battlerId); + u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battlerId)); + struct UltraBurstData *burst = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]))->burst); + + // Gets mon data. + if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + else + mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + + species = GetMonData(mon, MON_DATA_SPECIES); + itemId = GetMonData(mon, MON_DATA_HELD_ITEM); + + // Check if there is an entry in the evolution table for Ultra Burst. + if (GetBattleFormChangeTargetSpecies(battlerId, FORM_CHANGE_BATTLE_ULTRA_BURST) != SPECIES_NONE) + { + if (itemId == ITEM_ENIGMA_BERRY_E_READER) + holdEffect = gEnigmaBerries[battlerId].holdEffect; + else + holdEffect = ItemId_GetHoldEffect(itemId); + + // Can Ultra Burst via Z Crystal. + if (holdEffect == HOLD_EFFECT_Z_CRYSTAL) + return TRUE; + } + + // No checks passed, the mon CAN'T ultra burst. + return FALSE; +} + bool32 IsBattlerMegaEvolved(u8 battlerId) { // While Transform does copy stats and visuals, it shouldn't be counted as true Mega Evolution. @@ -10045,6 +10080,14 @@ bool32 IsBattlerPrimalReverted(u8 battlerId) return (gSpeciesInfo[gBattleMons[battlerId].species].flags & SPECIES_FLAG_PRIMAL_REVERSION); } +bool32 IsBattlerUltraBursted(u8 battlerId) +{ + // While Transform does copy stats and visuals, it shouldn't be counted as true Ultra Burst. + if (gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) + return FALSE; + return (gSpeciesInfo[gBattleMons[battlerId].species].flags & SPECIES_FLAG_ULTRA_BURST); +} + // Returns SPECIES_NONE if no form change is possible u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) { @@ -10068,6 +10111,7 @@ u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) { case FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM: case FORM_CHANGE_BATTLE_PRIMAL_REVERSION: + case FORM_CHANGE_BATTLE_ULTRA_BURST: if (heldItem == formChanges[i].param1) targetSpecies = formChanges[i].targetSpecies; break; @@ -10138,8 +10182,8 @@ bool32 CanBattlerFormChange(u8 battlerId, u16 method) if (gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED && B_TRANSFORM_FORM_CHANGES >= GEN_5) return FALSE; - // Mega Evolved Pokémon should always revert to normal upon fainting or ending the battle. - if (IsBattlerMegaEvolved(battlerId) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) + // Mega Evolved and Ultra Bursted Pokémon should always revert to normal upon fainting or ending the battle. + if ((IsBattlerMegaEvolved(battlerId) || IsBattlerUltraBursted(battlerId)) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) return TRUE; else if (IsBattlerPrimalReverted(battlerId) && (method == FORM_CHANGE_END_BATTLE)) return TRUE; @@ -10175,8 +10219,8 @@ bool32 TryBattleFormChange(u8 battlerId, u16 method) { bool8 restoreSpecies = FALSE; - // Mega Evolved Pokémon should always revert to normal upon fainting or ending the battle, so no need to add it to the form change tables. - if (IsBattlerMegaEvolved(battlerId) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) + // Mega Evolved and Ultra Bursted Pokémon should always revert to normal upon fainting or ending the battle, so no need to add it to the form change tables. + if ((IsBattlerMegaEvolved(battlerId) || IsBattlerUltraBursted(battlerId)) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) restoreSpecies = TRUE; // Unlike Megas, Primal Reversion isn't canceled on fainting. diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index 8453ed480e..9f75ee3e27 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -210,6 +210,8 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = [SPECIES_MINIOR_CORE_VIOLET] = sMiniorVioletFormChangeTable, [SPECIES_MINIOR_METEOR_YELLOW] = sMiniorYellowFormChangeTable, [SPECIES_MINIOR_CORE_YELLOW] = sMiniorYellowFormChangeTable, + [SPECIES_NECROZMA_DUSK_MANE] = sNecrozmaDuskManeFormChangeTable, + [SPECIES_NECROZMA_DAWN_WINGS] = sNecrozmaDawnWingsFormChangeTable, #endif #if P_GEN_8_POKEMON == TRUE [SPECIES_CRAMORANT] = sCramorantFormChangeTable, diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index 1d9b0e8dc9..2db4d8a1d3 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -548,6 +548,14 @@ static const struct FormChange sMiniorYellowFormChangeTable[] = { {FORM_CHANGE_END_BATTLE, SPECIES_MINIOR_CORE_YELLOW}, {FORM_CHANGE_TERMINATOR}, }; +static const struct FormChange sNecrozmaDuskManeFormChangeTable[] = { + {FORM_CHANGE_BATTLE_ULTRA_BURST, SPECIES_NECROZMA_ULTRA, ITEM_ULTRANECROZIUM_Z}, + {FORM_CHANGE_TERMINATOR}, +}; +static const struct FormChange sNecrozmaDawnWingsFormChangeTable[] = { + {FORM_CHANGE_BATTLE_ULTRA_BURST, SPECIES_NECROZMA_ULTRA, ITEM_ULTRANECROZIUM_Z}, + {FORM_CHANGE_TERMINATOR}, +}; #endif #if P_GEN_8_POKEMON == TRUE diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 37028623b9..b6eb714831 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -24484,7 +24484,7 @@ const struct SpeciesInfo gSpeciesInfo[] = .abilities = {ABILITY_NEUROFORCE, ABILITY_NONE}, .bodyColor = BODY_COLOR_YELLOW, .noFlip = TRUE, - .flags = SPECIES_FLAG_LEGENDARY, + .flags = SPECIES_FLAG_LEGENDARY | SPECIES_FLAG_ULTRA_BURST, }, [SPECIES_MAGEARNA_ORIGINAL_COLOR] = MAGEARNA_SPECIES_INFO(BODY_COLOR_RED), diff --git a/test/test_runner_battle.c b/test/test_runner_battle.c index 4de144c38a..524a501fee 100644 --- a/test/test_runner_battle.c +++ b/test/test_runner_battle.c @@ -1483,6 +1483,9 @@ void Move(u32 sourceLine, struct BattlePokemon *battler, struct MoveContext ctx) if (ctx.explicitMegaEvolve && ctx.megaEvolve) moveSlot |= RET_MEGA_EVOLUTION; + if (ctx.explicitUltraBurst && ctx.ultraBurst) + moveSlot |= RET_ULTRA_BURST; + if (ctx.explicitTarget) { target = ctx.target - gBattleMons; From 079f2da0f6d0b6b87a143e57e04cfbdfce3f29ab Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Aug 2023 00:38:23 -0400 Subject: [PATCH 146/256] Fix some missing constant use in Apprentice --- include/script_menu.h | 2 ++ src/apprentice.c | 10 +++++----- src/field_specials.c | 1 - src/tv.c | 1 - 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/script_menu.h b/include/script_menu.h index 36b66bf987..734c717cff 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_MENU_H #define GUARD_SCRIPT_MENU_H +#include "constants/script_menu.h" + extern const u8 *const gStdStrings[]; bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 multichoiceId, bool8 ignoreBPress); diff --git a/src/apprentice.c b/src/apprentice.c index 89017de33a..9ce5ec0dc2 100644 --- a/src/apprentice.c +++ b/src/apprentice.c @@ -346,11 +346,10 @@ static u16 GetRandomAlternateMove(u8 monId) learnset = gLevelUpLearnsets[species]; j = 0; - // Despite being open level, level up moves are only read up to level 60 if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50) - level = 50; + level = FRONTIER_MAX_LEVEL_50; else // == APPRENTICE_LVL_MODE_OPEN - level = 60; + level = 60; // Despite being open level, level up moves are only read up to level 60 for (j = 0; learnset[j] != LEVEL_UP_END; j++) { @@ -464,7 +463,7 @@ static void GetLatestLearnedMoves(u16 species, u16 *moves) const u16 *learnset; if (PLAYER_APPRENTICE.lvlMode == APPRENTICE_LVL_MODE_50) - level = 50; + level = FRONTIER_MAX_LEVEL_50; else // == APPRENTICE_LVL_MODE_OPEN level = 60; @@ -666,11 +665,12 @@ static void Task_ChooseAnswer(u8 taskId) case MENU_NOTHING_CHOSEN: return; case MENU_B_PRESSED: + // Only ever true. Answering Apprentice questions is required. if (tNoBButton) return; PlaySE(SE_SELECT); - gSpecialVar_Result = 0x7F; + gSpecialVar_Result = MULTI_B_PRESSED; break; default: gSpecialVar_Result = input; diff --git a/src/field_specials.c b/src/field_specials.c index 38746c97a4..51c905513d 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -57,7 +57,6 @@ #include "constants/heal_locations.h" #include "constants/map_types.h" #include "constants/mystery_gift.h" -#include "constants/script_menu.h" #include "constants/slot_machine.h" #include "constants/songs.h" #include "constants/moves.h" diff --git a/src/tv.c b/src/tv.c index 85819a7a1d..bbd6a60c57 100644 --- a/src/tv.c +++ b/src/tv.c @@ -45,7 +45,6 @@ #include "constants/metatile_labels.h" #include "constants/moves.h" #include "constants/region_map_sections.h" -#include "constants/script_menu.h" #define LAST_TVSHOW_IDX (TV_SHOWS_COUNT - 1) From 18319e8da3a2fec83bd2ff5112bd8a924da86a3e Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Aug 2023 01:21:38 -0400 Subject: [PATCH 147/256] Misc missing constant use --- include/constants/contest.h | 2 + src/battle_ai_script_commands.c | 16 +-- src/battle_ai_switch_items.c | 8 +- src/battle_script_commands.c | 9 ++ src/battle_util.c | 6 +- src/berry_tag_screen.c | 88 +++++++------ src/cable_club.c | 2 +- src/contest.c | 22 ++-- src/contest_ai.c | 10 +- src/contest_effect.c | 28 ++--- src/contest_util.c | 10 +- src/data/contest_opponents.h | 211 ++++++++++++++++---------------- src/decoration.c | 11 +- src/dewford_trend.c | 2 +- src/ereader_helpers.c | 4 +- src/field_specials.c | 19 ++- src/librfu_rfu.c | 10 +- src/link_rfu_2.c | 3 +- src/main_menu.c | 3 +- src/palette.c | 2 +- src/region_map.c | 2 +- src/secret_base.c | 4 +- 22 files changed, 254 insertions(+), 218 deletions(-) diff --git a/include/constants/contest.h b/include/constants/contest.h index 775dcbe62b..905306203a 100644 --- a/include/constants/contest.h +++ b/include/constants/contest.h @@ -6,6 +6,8 @@ #define CONTEST_LAST_APPEAL (CONTEST_NUM_APPEALS - 1) #define MAX_CONTEST_MOVE_HEARTS 8 +#define CONTESTANT_NONE 0xFF + #define LINK_CONTEST_FLAG_IS_LINK (1 << 0) #define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1) #define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2) diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index 2152be374a..b2c900b422 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -13,16 +13,13 @@ #include "constants/abilities.h" #include "constants/battle_ai.h" #include "constants/battle_move_effects.h" +#include "constants/items.h" #include "constants/moves.h" -#define AI_ACTION_DONE 0x0001 -#define AI_ACTION_FLEE 0x0002 -#define AI_ACTION_WATCH 0x0004 -#define AI_ACTION_DO_NOT_ATTACK 0x0008 -#define AI_ACTION_UNK5 0x0010 -#define AI_ACTION_UNK6 0x0020 -#define AI_ACTION_UNK7 0x0040 -#define AI_ACTION_UNK8 0x0080 +#define AI_ACTION_DONE (1 << 0) +#define AI_ACTION_FLEE (1 << 1) +#define AI_ACTION_WATCH (1 << 2) +#define AI_ACTION_DO_NOT_ATTACK (1 << 3) #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) #define BATTLE_HISTORY ((struct BattleHistory *)(gBattleResources->battleHistory)) @@ -283,7 +280,6 @@ static const u16 sIgnoredPowerfulMoveEffects[] = IGNORED_MOVES_END }; -// code void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves) { s32 i; @@ -302,7 +298,7 @@ void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves) { for (i = 0; i < MAX_TRAINER_ITEMS; i++) { - if (gTrainers[gTrainerBattleOpponent_A].items[i] != 0) + if (gTrainers[gTrainerBattleOpponent_A].items[i] != ITEM_NONE) { BATTLE_HISTORY->trainerItems[BATTLE_HISTORY->itemsNo] = gTrainers[gTrainerBattleOpponent_A].items[i]; BATTLE_HISTORY->itemsNo++; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 5789a3ff6f..06cdd6c82f 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -687,7 +687,7 @@ u8 GetMostSuitableMonToSwitchInto(void) invalidMons = 0; - while (invalidMons != 0x3F) // All mons are invalid. + while (invalidMons != (1 << PARTY_SIZE) - 1) // All mons are invalid. { bestDmg = TYPE_MUL_NO_EFFECT; bestMonId = PARTY_SIZE; @@ -741,7 +741,7 @@ u8 GetMostSuitableMonToSwitchInto(void) } else { - invalidMons = 0x3F; // No viable mon to switch. + invalidMons = (1 << PARTY_SIZE) - 1; // No viable mon to switch. } } @@ -862,7 +862,7 @@ static bool8 ShouldUseItem(void) shouldUse = TRUE; break; case AI_ITEM_HEAL_HP: - paramOffset = GetItemEffectParamOffset(item, 4, 4); + paramOffset = GetItemEffectParamOffset(item, 4, ITEM4_HEAL_HP); if (paramOffset == 0) break; if (gBattleMons[gActiveBattler].hp == 0) @@ -935,7 +935,7 @@ static bool8 ShouldUseItem(void) { BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); *(gBattleStruct->chosenItem + (gActiveBattler / 2) * 2) = item; - gBattleResources->battleHistory->trainerItems[i] = 0; + gBattleResources->battleHistory->trainerItems[i] = ITEM_NONE; return shouldUse; } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index bf9197a0e8..0161103045 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7812,9 +7812,18 @@ static void Cmd_metronome(void) { s32 i; + #if MOVES_COUNT < 512 + // Original GF method of move selection is to pick a random + // number between 1-511. 355-511 are not valid moves, so if it + // picks in this range it retries. If MOVES_COUNT exceeds 511 we + // instead use a simpler solution. gCurrentMove = (Random() & 0x1FF) + 1; if (gCurrentMove >= MOVES_COUNT) continue; + #else + // Just pick a valid move value (between 1 and MOVES_COUNT-1) + gCurrentMove = (Random() % (MOVES_COUNT - 1)) + 1; + #endif for (i = 0; i < MAX_MON_MOVES; i++); // ? diff --git a/src/battle_util.c b/src/battle_util.c index 68a5b6adaa..51fbaa3cfb 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -342,7 +342,11 @@ void HandleAction_UseItem(void) gBattleCommunication[MULTISTRING_CHOOSER] = AI_HEAL_CONFUSION; if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & (1 << AI_HEAL_CONFUSION)) { - if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & 0x3E) + if (*(gBattleStruct->AI_itemFlags + gBattlerAttacker / 2) & ((1 << AI_HEAL_PARALYSIS) + | (1 << AI_HEAL_FREEZE) + | (1 << AI_HEAL_BURN) + | (1 << AI_HEAL_POISON) + | (1 << AI_HEAL_SLEEP))) gBattleCommunication[MULTISTRING_CHOOSER] = AI_HEAL_SLEEP; } else diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c index 448ee33848..415f22e59e 100644 --- a/src/berry_tag_screen.c +++ b/src/berry_tag_screen.c @@ -310,6 +310,8 @@ static void HandleInitBackgrounds(void) ShowBg(3); } +#define BG_TILE 0x42 + static bool8 LoadBerryTagGfx(void) { u16 i; @@ -333,15 +335,16 @@ static bool8 LoadBerryTagGfx(void) sBerryTag->gfxState++; break; case 3: + // Palette of the bg tiles changes depending on the player's gender if (gSaveBlock2Ptr->playerGender == MALE) { for (i = 0; i < ARRAY_COUNT(sBerryTag->tilemapBuffers[1]); i++) - sBerryTag->tilemapBuffers[1][i] = 0x4042; + sBerryTag->tilemapBuffers[1][i] = (4 << 12) | BG_TILE; } else { for (i = 0; i < ARRAY_COUNT(sBerryTag->tilemapBuffers[1]); i++) - sBerryTag->tilemapBuffers[1][i] = 0x5042; + sBerryTag->tilemapBuffers[1][i] = (5 << 12) | BG_TILE; } sBerryTag->gfxState++; break; @@ -545,6 +548,9 @@ static void Task_HandleInput(u8 taskId) } } +#define tBerryY data[0] +#define tBgOp data[1] + static void TryChangeDisplayedBerry(u8 taskId, s8 toMove) { s16 *data = gTasks[taskId].data; @@ -553,11 +559,11 @@ static void TryChangeDisplayedBerry(u8 taskId, s8 toMove) if (newPocketPosition < ITEM_TO_BERRY(MAX_BERRY_INDEX) && BagGetItemIdByPocketPosition(POCKET_BERRIES, newPocketPosition) != ITEM_NONE) { if (toMove < 0) - data[1] = 2; + tBgOp = BG_COORD_SUB; else - data[1] = 1; + tBgOp = BG_COORD_ADD; - data[0] = 0; + tBerryY = 0; PlaySE(SE_SELECT); HandleBagCursorPositionChange(toMove); gTasks[taskId].func = Task_DisplayAnotherBerry; @@ -586,101 +592,103 @@ static void HandleBagCursorPositionChange(s8 toMove) sBerryTag->berryId = ItemIdToBerryType(BagGetItemIdByPocketPosition(POCKET_BERRIES, *scrollPos + *cursorPos)); } +#define DISPLAY_SPEED 16 + static void Task_DisplayAnotherBerry(u8 taskId) { u16 i; - s16 posY; + s16 y; s16 *data = gTasks[taskId].data; - data[0] += 0x10; - data[0] &= 0xFF; + tBerryY += DISPLAY_SPEED; + tBerryY &= 0xFF; - if (data[1] == 1) + if (tBgOp == BG_COORD_ADD) { - switch (data[0]) + switch (tBerryY) { - case 0x30: + case 3 * DISPLAY_SPEED: FillWindowPixelBuffer(WIN_BERRY_NAME, PIXEL_FILL(0)); break; - case 0x40: + case 4 * DISPLAY_SPEED: PrintBerryNumberAndName(); break; - case 0x50: + case 5 * DISPLAY_SPEED: DestroyBerrySprite(); CreateBerrySprite(); break; - case 0x60: + case 6 * DISPLAY_SPEED: FillWindowPixelBuffer(WIN_SIZE_FIRM, PIXEL_FILL(0)); break; - case 0x70: + case 7 * DISPLAY_SPEED: PrintBerrySize(); break; - case 0x80: + case 8 * DISPLAY_SPEED: PrintBerryFirmness(); break; - case 0x90: + case 9 * DISPLAY_SPEED: SetFlavorCirclesVisiblity(); break; - case 0xA0: + case 10 * DISPLAY_SPEED: FillWindowPixelBuffer(WIN_DESC, PIXEL_FILL(0)); break; - case 0xB0: + case 11 * DISPLAY_SPEED: PrintBerryDescription1(); break; - case 0xC0: + case 12 * DISPLAY_SPEED: PrintBerryDescription2(); break; } } - else + else // BG_COORD_SUB { - switch (data[0]) + switch (tBerryY) { - case 0x30: + case 3 * DISPLAY_SPEED: FillWindowPixelBuffer(WIN_DESC, PIXEL_FILL(0)); break; - case 0x40: + case 4 * DISPLAY_SPEED: PrintBerryDescription2(); break; - case 0x50: + case 5 * DISPLAY_SPEED: PrintBerryDescription1(); break; - case 0x60: + case 6 * DISPLAY_SPEED: SetFlavorCirclesVisiblity(); break; - case 0x70: + case 7 * DISPLAY_SPEED: FillWindowPixelBuffer(WIN_SIZE_FIRM, PIXEL_FILL(0)); break; - case 0x80: + case 8 * DISPLAY_SPEED: PrintBerryFirmness(); break; - case 0x90: + case 9 * DISPLAY_SPEED: PrintBerrySize(); break; - case 0xA0: + case 10 * DISPLAY_SPEED: DestroyBerrySprite(); CreateBerrySprite(); break; - case 0xB0: + case 11 * DISPLAY_SPEED: FillWindowPixelBuffer(WIN_BERRY_NAME, PIXEL_FILL(0)); break; - case 0xC0: + case 12 * DISPLAY_SPEED: PrintBerryNumberAndName(); break; } } - if (data[1] == 1) - posY = -data[0]; + if (tBgOp == BG_COORD_ADD) + y = -tBerryY; else - posY = data[0]; + y = tBerryY; - gSprites[sBerryTag->berrySpriteId].y2 = posY; + gSprites[sBerryTag->berrySpriteId].y2 = y; for (i = 0; i < FLAVOR_COUNT; i++) - gSprites[sBerryTag->flavorCircleIds[i]].y2 = posY; + gSprites[sBerryTag->flavorCircleIds[i]].y2 = y; - ChangeBgY(1, 0x1000, data[1]); - ChangeBgY(2, 0x1000, data[1]); + ChangeBgY(1, 0x1000, tBgOp); + ChangeBgY(2, 0x1000, tBgOp); - if (data[0] == 0) + if (tBerryY == 0) gTasks[taskId].func = Task_HandleInput; } diff --git a/src/cable_club.c b/src/cable_club.c index 913a1b7287..b12a50920f 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -725,7 +725,7 @@ void TryContestEModeLinkup(void) u8 CreateTask_ReestablishCableClubLink(void) { if (FuncIsActiveTask(Task_ReestablishLink) != FALSE) - return 0xFF; + return TASK_NONE; switch (gSpecialVar_0x8004) { diff --git a/src/contest.c b/src/contest.c index 741a0e12db..3449d25f63 100644 --- a/src/contest.c +++ b/src/contest.c @@ -1112,10 +1112,10 @@ static void InitContestResources(void) for (i = 0; i < CONTESTANT_COUNT; i++) { - eContestantStatus[i].nextTurnOrder = 0xFF; + eContestantStatus[i].nextTurnOrder = CONTESTANT_NONE; eContest.prevTurnOrder[i] = gContestantTurnOrder[i]; } - // Calling this here while all the nextTurnOrder values are 0xFF will actually + // Calling this here while all the nextTurnOrder values are CONTESTANT_NONE will actually // just reverse the turn order. ApplyNextTurnOrder(); memset(gContestResources->tv, 0, sizeof(*gContestResources->tv) * CONTESTANT_COUNT); @@ -2891,7 +2891,7 @@ void SetContestants(u8 contestType, u8 rank) opponents[opponentsCount++] = i; } } - opponents[opponentsCount] = 0xFF; + opponents[opponentsCount] = CONTESTANT_NONE; // Choose three random opponents from the list for (i = 0; i < CONTESTANT_COUNT - 1; i++) @@ -2900,7 +2900,7 @@ void SetContestants(u8 contestType, u8 rank) s32 j; gContestMons[i] = gContestOpponents[opponents[rnd]]; - for (j = rnd; opponents[j] != 0xFF; j++) + for (j = rnd; opponents[j] != CONTESTANT_NONE; j++) opponents[j] = opponents[j + 1]; opponentsCount--; } @@ -2940,7 +2940,7 @@ void SetLinkAIContestants(u8 contestType, u8 rank, bool32 isPostgame) || (contestType == CONTEST_CATEGORY_TOUGH && gContestOpponents[i].aiPool_Tough)) opponents[opponentsCount++] = i; } - opponents[opponentsCount] = 0xFF; + opponents[opponentsCount] = CONTESTANT_NONE; // Fill remaining contestant slots with random AI opponents from the list for (i = 0; i < CONTESTANT_COUNT - gNumLinkContestPlayers; i++) @@ -2950,7 +2950,7 @@ void SetLinkAIContestants(u8 contestType, u8 rank, bool32 isPostgame) gContestMons[gNumLinkContestPlayers + i] = gContestOpponents[opponents[rnd]]; StripPlayerNameForLinkContest(gContestMons[gNumLinkContestPlayers + i].trainerName); StripMonNameForLinkContest(gContestMons[gNumLinkContestPlayers + i].nickname, GAME_LANGUAGE); - for (j = rnd; opponents[j] != 0xFF; j++) + for (j = rnd; opponents[j] != CONTESTANT_NONE; j++) opponents[j] = opponents[j + 1]; opponentsCount--; } @@ -4370,7 +4370,7 @@ void SortContestants(bool8 useRanking) // 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)); + memset(scratch, CONTESTANT_NONE, sizeof(scratch)); for (i = 0; i < CONTESTANT_COUNT; i++) { u8 j = eContestantStatus[i].ranking; @@ -4378,7 +4378,7 @@ void SortContestants(bool8 useRanking) while (1) { u8 *ptr = &scratch[j]; - if (*ptr == 0xFF) + if (*ptr == CONTESTANT_NONE) { *ptr = i; gContestantTurnOrder[i] = j; @@ -4636,7 +4636,7 @@ static void ApplyNextTurnOrder(void) // First, look for the first unassigned contestant. for (j = 0; j < CONTESTANT_COUNT; j++) { - if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF) + if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == CONTESTANT_NONE) { nextContestant = j; j++; @@ -4647,7 +4647,7 @@ static void ApplyNextTurnOrder(void) // Then, look for a better candidate, with a higher turn order. for (; j < CONTESTANT_COUNT; j++) { - if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == 0xFF + if (!isContestantOrdered[j] && eContestantStatus[j].nextTurnOrder == CONTESTANT_NONE && gContestantTurnOrder[nextContestant] > gContestantTurnOrder[j]) nextContestant = j; } @@ -4661,7 +4661,7 @@ static void ApplyNextTurnOrder(void) for (i = 0; i < CONTESTANT_COUNT; i++) { eContestAppealResults.turnOrder[i] = newTurnOrder[i]; - eContestantStatus[i].nextTurnOrder = 0xFF; + eContestantStatus[i].nextTurnOrder = CONTESTANT_NONE; eContestantStatus[i].turnOrderMod = 0; gContestantTurnOrder[i] = newTurnOrder[i]; } diff --git a/src/contest_ai.c b/src/contest_ai.c index 7aeba828a6..8753ed170d 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -6,6 +6,8 @@ #include "contest_effect.h" #include "constants/moves.h" +#define AI_ACTION_DONE (1 << 0) + extern const u8 *gAIScriptPtr; extern const u8 *gContestAI_ScriptsTable[]; @@ -362,9 +364,9 @@ static void ContestAI_DoAIProcessing(void) else { eContestAI.moveScores[eContestAI.nextMoveIndex] = 0; // don't consider a move that doesn't exist. - eContestAI.aiAction |= 1; + eContestAI.aiAction |= AI_ACTION_DONE; } - if (eContestAI.aiAction & 1) + if (eContestAI.aiAction & AI_ACTION_DONE) { eContestAI.nextMoveIndex++; if (eContestAI.nextMoveIndex < MAX_MON_MOVES) @@ -372,7 +374,7 @@ static void ContestAI_DoAIProcessing(void) else // aiState = CONTESTAI_FINISHED eContestAI.aiState++; - eContestAI.aiAction &= 0xFE; // TODO: Define action flags + eContestAI.aiAction &= ~AI_ACTION_DONE; } break; } @@ -1667,7 +1669,7 @@ static void ContestAICmd_call(void) static void ContestAICmd_end(void) { if (!AIStackPop()) - eContestAI.aiAction |= 1; + eContestAI.aiAction |= AI_ACTION_DONE; } static void AIStackPushVar(const u8 *ptr) diff --git a/src/contest_effect.c b/src/contest_effect.c index 864805a54f..b927943036 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -147,7 +147,7 @@ static void ContestEffect_StartleFrontMon(void) break; } eContestAppealResults.jamQueue[0] = i; - eContestAppealResults.jamQueue[1] = 0xFF; + eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) @@ -171,7 +171,7 @@ static void ContestEffect_StartlePrevMons(void) eContestAppealResults.jamQueue[j++] = i; } - eContestAppealResults.jamQueue[j] = 0xFF; + eContestAppealResults.jamQueue[j] = CONTESTANT_NONE; idx = WasAtLeastOneOpponentJammed(); } if (idx == 0) @@ -214,7 +214,7 @@ static void ContestEffect_StartlePrevMons2(void) u8 rval, jam; eContestAppealResults.jamQueue[0] = i; - eContestAppealResults.jamQueue[1] = 0xFF; + eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; rval = Random() % 10; if (rval == 0) @@ -291,7 +291,7 @@ static void ContestEffect_StartleMonWithJudgesAttention(void) else eContestAppealResults.jam = 10; eContestAppealResults.jamQueue[0] = i; - eContestAppealResults.jamQueue[1] = 0xFF; + eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; if (WasAtLeastOneOpponentJammed()) numStartled++; } @@ -396,7 +396,7 @@ static void ContestEffect_MakeFollowingMonsNervous(void) s16 oddsMod[CONTESTANT_COUNT]; s16 odds[CONTESTANT_COUNT]; - memset(contestantIds, 0xFF, ARRAY_COUNT(contestantIds)); + memset(contestantIds, CONTESTANT_NONE, ARRAY_COUNT(contestantIds)); for (i = 0, numAfter = 0; i < CONTESTANT_COUNT; i++) { if (eContestAppealResults.turnOrder[eContestAppealResults.contestant] < eContestAppealResults.turnOrder[i] && @@ -434,7 +434,7 @@ static void ContestEffect_MakeFollowingMonsNervous(void) } if (odds[0] != 0) { - for (i = 0; contestantIds[i] != 0xFF; i++) + for (i = 0; contestantIds[i] != CONTESTANT_NONE; i++) { if (Random() % 100 < odds[i] + oddsMod[contestantIds[i]]) { @@ -507,7 +507,7 @@ static void ContestEffect_BadlyStartlesMonsInGoodCondition(void) else eContestAppealResults.jam = 10; eContestAppealResults.jamQueue[0] = i; - eContestAppealResults.jamQueue[1] = 0xFF; + eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; if (WasAtLeastOneOpponentJammed()) numHit++; } @@ -758,7 +758,7 @@ static void ContestEffect_NextAppealEarlier(void) for (i = 0; i < CONTESTANT_COUNT; i++) turnOrder[i] = eContestantStatus[i].nextTurnOrder; - turnOrder[eContestAppealResults.contestant] = 0xFF; + turnOrder[eContestAppealResults.contestant] = CONTESTANT_NONE; for (i = 0; i < CONTESTANT_COUNT; i++) { @@ -800,7 +800,7 @@ static void ContestEffect_NextAppealLater(void) for (i = 0; i < CONTESTANT_COUNT; i++) turnOrder[i] = eContestantStatus[i].nextTurnOrder; - turnOrder[eContestAppealResults.contestant] = 0xFF; + turnOrder[eContestAppealResults.contestant] = CONTESTANT_NONE; for (i = CONTESTANT_COUNT - 1; i > -1; i--) { @@ -858,12 +858,12 @@ static void ContestEffect_ScrambleNextTurnOrder(void) for (j = 0; j < CONTESTANT_COUNT; j++) { - if (unselectedContestants[j] != 0xFF) + if (unselectedContestants[j] != CONTESTANT_NONE) { if (rval == 0) { turnOrder[j] = i; - unselectedContestants[j] = 0xFF; + unselectedContestants[j] = CONTESTANT_NONE; break; } else @@ -909,7 +909,7 @@ static void ContestEffect_BadlyStartleMonsWithGoodAppeals(void) else eContestAppealResults.jam = 10; eContestAppealResults.jamQueue[0] = i; - eContestAppealResults.jamQueue[1] = 0xFF; + eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; if (WasAtLeastOneOpponentJammed()) numJammed++; } @@ -977,7 +977,7 @@ static void JamByMoveCategory(u8 category) else eContestAppealResults.jam = 10; eContestAppealResults.jamQueue[0] = i; - eContestAppealResults.jamQueue[1] = 0xFF; + eContestAppealResults.jamQueue[1] = CONTESTANT_NONE; if (WasAtLeastOneOpponentJammed()) numJammed++; } @@ -1016,7 +1016,7 @@ static bool8 WasAtLeastOneOpponentJammed(void) s16 jamBuffer[CONTESTANT_COUNT] = {0}; int i; - for (i = 0; eContestAppealResults.jamQueue[i] != 0xFF; i++) + for (i = 0; eContestAppealResults.jamQueue[i] != CONTESTANT_NONE; i++) { u8 contestant = eContestAppealResults.jamQueue[i]; if (CanUnnerveContestant(contestant)) diff --git a/src/contest_util.c b/src/contest_util.c index ec999be924..e0e80a7091 100644 --- a/src/contest_util.c +++ b/src/contest_util.c @@ -2011,7 +2011,7 @@ void GiveMonContestRibbon(void) { case CONTEST_CATEGORY_COOL: ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON); - if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + if (ribbonData <= gSpecialVar_ContestRank && ribbonData <= CONTEST_RANK_MASTER) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON, &ribbonData); @@ -2021,7 +2021,7 @@ void GiveMonContestRibbon(void) break; case CONTEST_CATEGORY_BEAUTY: ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON); - if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + if (ribbonData <= gSpecialVar_ContestRank && ribbonData <= CONTEST_RANK_MASTER) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON, &ribbonData); @@ -2031,7 +2031,7 @@ void GiveMonContestRibbon(void) break; case CONTEST_CATEGORY_CUTE: ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON); - if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + if (ribbonData <= gSpecialVar_ContestRank && ribbonData <= CONTEST_RANK_MASTER) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON, &ribbonData); @@ -2041,7 +2041,7 @@ void GiveMonContestRibbon(void) break; case CONTEST_CATEGORY_SMART: ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON); - if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + if (ribbonData <= gSpecialVar_ContestRank && ribbonData <= CONTEST_RANK_MASTER) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON, &ribbonData); @@ -2051,7 +2051,7 @@ void GiveMonContestRibbon(void) break; case CONTEST_CATEGORY_TOUGH: ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON); - if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + if (ribbonData <= gSpecialVar_ContestRank && ribbonData <= CONTEST_RANK_MASTER) { ribbonData++; SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON, &ribbonData); diff --git a/src/data/contest_opponents.h b/src/data/contest_opponents.h index 7c3aad3151..d8241c4f0c 100644 --- a/src/data/contest_opponents.h +++ b/src/data/contest_opponents.h @@ -138,11 +138,14 @@ enum { #define CONTEST_AI_SET_20 (CONTEST_AI_COMMON | CONTEST_AI_DUMMY_12 | CONTEST_AI_DUMMY_25) #define CONTEST_AI_SET_21 (CONTEST_AI_COMMON | CONTEST_AI_DUMMY_7 | CONTEST_AI_DUMMY_25) +// All AI contestants have the same trainer ID +#define CONTEST_AI_TRAINER_ID 0xFFFF + const struct ContestWinner gDefaultContestWinners[] = { [CONTEST_WINNER_HALL_1 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_ELECTRIKE, .contestCategory = CONTEST_CATEGORY_CUTE, .monName = _("ELECTER"), @@ -151,7 +154,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_2 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_TROPIUS, .contestCategory = CONTEST_CATEGORY_COOL, .monName = _("TROPO"), @@ -160,7 +163,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_3 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_XATU, .contestCategory = CONTEST_CATEGORY_BEAUTY, .monName = _("TUXA"), @@ -169,7 +172,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_4 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_PLUSLE, .contestCategory = CONTEST_CATEGORY_TOUGH, .monName = _("PULSE"), @@ -178,7 +181,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_5 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_SHUPPET, .contestCategory = CONTEST_CATEGORY_SMART, .monName = _("SHUPUP"), @@ -187,7 +190,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_6 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_ZANGOOSE, .contestCategory = CONTEST_CATEGORY_COOL, .monName = _("GOOZAN"), @@ -196,7 +199,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_UNUSED_1 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_LOUDRED, .contestCategory = CONTEST_CATEGORY_BEAUTY, .monName = _("LOUDED"), @@ -205,7 +208,7 @@ const struct ContestWinner gDefaultContestWinners[] = }, [CONTEST_WINNER_HALL_UNUSED_2 - 1] = { .personality = 0, - .trainerId = 0xFFFF, + .trainerId = CONTEST_AI_TRAINER_ID, .species = SPECIES_DELCATTY, .contestCategory = CONTEST_CATEGORY_CUTE, .monName = _("KITSY"), @@ -242,7 +245,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 4, .sheen = 50, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_EDITH] = { .species = SPECIES_ILLUMISE, @@ -270,7 +273,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 2, .sheen = 60, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_EVAN] = { .species = SPECIES_DUSTOX, @@ -298,7 +301,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 4, .sheen = 70, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KELSEY] = { .species = SPECIES_SEEDOT, @@ -326,7 +329,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 7, .sheen = 80, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MADISON] = { .species = SPECIES_TAILLOW, @@ -354,7 +357,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 4, .sheen = 90, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_RAYMOND] = { .species = SPECIES_NINCADA, @@ -382,7 +385,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 8, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_GRANT] = { .species = SPECIES_SHROOMISH, @@ -410,7 +413,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 2, .sheen = 50, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_PAIGE] = { .species = SPECIES_SPHEAL, @@ -438,7 +441,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 10, .sheen = 60, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ALEC] = { .species = SPECIES_SLAKOTH, @@ -466,7 +469,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 18, .sheen = 70, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SYDNEY] = { .species = SPECIES_WHISMUR, @@ -494,7 +497,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 7, .sheen = 80, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MORRIS] = { .species = SPECIES_MAKUHITA, @@ -522,7 +525,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 1, .sheen = 90, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MARIAH] = { .species = SPECIES_ARON, @@ -550,7 +553,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 2, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_RUSSELL] = { .species = SPECIES_CROBAT, @@ -578,7 +581,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 10, .sheen = 50, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MELANIE] = { .species = SPECIES_GULPIN, @@ -606,7 +609,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 5, .sheen = 60, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CHANCE] = { .species = SPECIES_MANECTRIC, @@ -634,7 +637,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 1, .sheen = 70, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_AGATHA] = { .species = SPECIES_BULBASAUR, @@ -662,7 +665,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 4, .sheen = 50, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_BEAU] = { .species = SPECIES_BUTTERFREE, @@ -690,7 +693,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 4, .sheen = 60, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KAY] = { .species = SPECIES_PIDGEOTTO, @@ -718,7 +721,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 3, .sheen = 70, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CALE] = { .species = SPECIES_DIGLETT, @@ -746,7 +749,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 10, .sheen = 80, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CAITLIN] = { .species = SPECIES_POLIWAG, @@ -774,7 +777,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 10, .sheen = 90, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_COLBY] = { .species = SPECIES_TOTODILE, @@ -802,7 +805,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 5, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KYLIE] = { .species = SPECIES_LEDYBA, @@ -830,7 +833,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 2, .sheen = 90, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_LIAM] = { .species = SPECIES_DELIBIRD, @@ -858,7 +861,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 3, .sheen = 80, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MILO] = { .species = SPECIES_LARVITAR, @@ -886,7 +889,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 10, .sheen = 70, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KARINA] = { .species = SPECIES_ROSELIA, @@ -914,7 +917,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_BOBBY] = { .species = SPECIES_DODRIO, @@ -942,7 +945,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 35, .sheen = 110, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CLAIRE] = { .species = SPECIES_TRAPINCH, @@ -970,7 +973,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 25, .sheen = 120, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_WILLIE] = { .species = SPECIES_CACNEA, @@ -998,7 +1001,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 25, .sheen = 130, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CASSIDY] = { .species = SPECIES_SANDSLASH, @@ -1026,7 +1029,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 140, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MORGAN] = { .species = SPECIES_BALTOY, @@ -1054,7 +1057,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 35, .sheen = 150, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SUMMER] = { .species = SPECIES_MEDICHAM, @@ -1082,7 +1085,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 40, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MILES] = { .species = SPECIES_SPINDA, @@ -1110,7 +1113,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 25, .sheen = 110, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_AUDREY] = { .species = SPECIES_SWABLU, @@ -1138,7 +1141,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 25, .sheen = 120, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_AVERY] = { .species = SPECIES_SPOINK, @@ -1166,7 +1169,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 30, .sheen = 130, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ARIANA] = { .species = SPECIES_KECLEON, @@ -1194,7 +1197,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 35, .sheen = 140, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ASHTON] = { .species = SPECIES_GOLDEEN, @@ -1222,7 +1225,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 25, .sheen = 150, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SANDRA] = { .species = SPECIES_BARBOACH, @@ -1250,7 +1253,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 15, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CARSON] = { .species = SPECIES_SKARMORY, @@ -1278,7 +1281,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 110, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KATRINA] = { .species = SPECIES_LOTAD, @@ -1306,7 +1309,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 75, .sheen = 120, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_LUKE] = { .species = SPECIES_SLOWBRO, @@ -1334,7 +1337,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 100, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_RAUL] = { .species = SPECIES_FARFETCHD, @@ -1362,7 +1365,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 110, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JADA] = { .species = SPECIES_SEEL, @@ -1390,7 +1393,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 120, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ZEEK] = { .species = SPECIES_DROWZEE, @@ -1418,7 +1421,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 45, .sheen = 130, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_DIEGO] = { .species = SPECIES_HITMONCHAN, @@ -1446,7 +1449,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 45, .sheen = 140, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ALIYAH] = { .species = SPECIES_BLISSEY, @@ -1474,7 +1477,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 150, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_NATALIA] = { .species = SPECIES_ELEKID, @@ -1502,7 +1505,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 25, .sheen = 140, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_DEVIN] = { .species = SPECIES_SNUBBULL, @@ -1530,7 +1533,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 130, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_TYLOR] = { .species = SPECIES_MISDREAVUS, @@ -1558,7 +1561,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 20, .sheen = 120, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_RONNIE] = { .species = SPECIES_LAIRON, @@ -1586,7 +1589,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 90, .sheen = 200, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CLAUDIA] = { .species = SPECIES_SHIFTRY, @@ -1614,7 +1617,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 70, .sheen = 210, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ELIAS] = { .species = SPECIES_NINJASK, @@ -1642,7 +1645,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 70, .sheen = 220, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JADE] = { .species = SPECIES_SWELLOW, @@ -1670,7 +1673,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 40, .sheen = 230, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_FRANCIS] = { .species = SPECIES_MIGHTYENA, @@ -1698,7 +1701,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 70, .sheen = 240, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ALISHA] = { .species = SPECIES_BEAUTIFLY, @@ -1726,7 +1729,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 250, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SAUL] = { .species = SPECIES_SEAKING, @@ -1754,7 +1757,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 90, .sheen = 200, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_FELICIA] = { .species = SPECIES_CASTFORM, @@ -1782,7 +1785,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 65, .sheen = 210, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_EMILIO] = { .species = SPECIES_MACHOKE, @@ -1810,7 +1813,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 50, .sheen = 220, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KARLA] = { .species = SPECIES_LOMBRE, @@ -1838,7 +1841,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 70, .sheen = 230, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_DARRYL] = { .species = SPECIES_SEVIPER, @@ -1866,7 +1869,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 240, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SELENA] = { .species = SPECIES_WAILMER, @@ -1894,7 +1897,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 30, .sheen = 250, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_NOEL] = { .species = SPECIES_MAGIKARP, @@ -1922,7 +1925,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 160, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_LACEY] = { .species = SPECIES_LUNATONE, @@ -1950,7 +1953,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 50, .sheen = 210, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CORBIN] = { .species = SPECIES_ABSOL, @@ -1978,7 +1981,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 35, .sheen = 220, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_GRACIE] = { .species = SPECIES_EXEGGUTOR, @@ -2006,7 +2009,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 80, .sheen = 200, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_COLTIN] = { .species = SPECIES_CUBONE, @@ -2034,7 +2037,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 210, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ELLIE] = { .species = SPECIES_HITMONLEE, @@ -2062,7 +2065,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 220, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MARCUS] = { .species = SPECIES_SQUIRTLE, @@ -2090,7 +2093,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 95, .sheen = 230, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KIARA] = { .species = SPECIES_KANGASKHAN, @@ -2118,7 +2121,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 240, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_BRYCE] = { .species = SPECIES_PINECO, @@ -2146,7 +2149,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 80, .sheen = 250, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JAMIE] = { .species = SPECIES_DUNSPARCE, @@ -2174,7 +2177,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 110, .sheen = 240, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JORGE] = { .species = SPECIES_HOUNDOOM, @@ -2202,7 +2205,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 80, .sheen = 230, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_DEVON] = { .species = SPECIES_MILTANK, @@ -2230,7 +2233,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 40, .sheen = 220, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JUSTINA] = { .species = SPECIES_GYARADOS, @@ -2258,7 +2261,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 160, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_RALPH] = { .species = SPECIES_LOUDRED, @@ -2286,7 +2289,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 160, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_ROSA] = { .species = SPECIES_SKITTY, @@ -2314,7 +2317,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 60, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KEATON] = { .species = SPECIES_SLAKING, @@ -2342,7 +2345,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 150, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MAYRA] = { .species = SPECIES_ALTARIA, @@ -2370,7 +2373,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 90, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_LAMAR] = { .species = SPECIES_KIRLIA, @@ -2398,7 +2401,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 80, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_AUBREY] = { .species = SPECIES_BELLOSSOM, @@ -2426,7 +2429,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 40, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_NIGEL] = { .species = SPECIES_SABLEYE, @@ -2454,7 +2457,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 160, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CAMILLE] = { .species = SPECIES_NATU, @@ -2482,7 +2485,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 170, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_DEON] = { .species = SPECIES_SHARPEDO, @@ -2510,7 +2513,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 100, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JANELLE] = { .species = SPECIES_LUVDISC, @@ -2538,7 +2541,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 190, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_HEATH] = { .species = SPECIES_HERACROSS, @@ -2566,7 +2569,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 140, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SASHA] = { .species = SPECIES_ELECTRODE, @@ -2594,7 +2597,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 50, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_FRANKIE] = { .species = SPECIES_PICHU, @@ -2622,7 +2625,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 120, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_HELEN] = { .species = SPECIES_WOBBUFFET, @@ -2650,7 +2653,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 210, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CAMILE] = { .species = SPECIES_GENGAR, @@ -2678,7 +2681,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 180, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_MARTIN] = { .species = SPECIES_PORYGON, @@ -2706,7 +2709,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 130, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_SERGIO] = { .species = SPECIES_DRAGONITE, @@ -2734,7 +2737,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 150, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_KAILEY] = { .species = SPECIES_MEOWTH, @@ -2762,7 +2765,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 80, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_PERLA] = { .species = SPECIES_JYNX, @@ -2790,7 +2793,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 120, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_CLARA] = { .species = SPECIES_TOGEPI, @@ -2818,7 +2821,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 80, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_JAKOB] = { .species = SPECIES_ESPEON, @@ -2846,7 +2849,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 150, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_TREY] = { .species = SPECIES_SLOWKING, @@ -2874,7 +2877,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 170, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, }, [CONTEST_OPPONENT_LANE] = { .species = SPECIES_URSARING, @@ -2902,7 +2905,7 @@ const struct ContestPokemon gContestOpponents[] = .tough = 190, .sheen = 255, .personality = 0, - .otId = 0xFFFF + .otId = CONTEST_AI_TRAINER_ID, } }; diff --git a/src/decoration.c b/src/decoration.c index b33580d2d3..688018b2db 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -422,7 +422,16 @@ static const u8 sDecorationSlideElevation[] = }; static const u16 sDecorShapeSizes[] = { - 0x04, 0x08, 0x10, 0x20, 0x10, 0x08, 0x10, 0x20, 0x40, 0x20 + [DECORSHAPE_1x1] = 4, + [DECORSHAPE_2x1] = 8, + [DECORSHAPE_3x1] = 16, + [DECORSHAPE_4x2] = 32, + [DECORSHAPE_2x2] = 16, + [DECORSHAPE_1x2] = 8, + [DECORSHAPE_1x3] = 16, + [DECORSHAPE_2x4] = 32, + [DECORSHAPE_3x3] = 64, + [DECORSHAPE_3x2] = 32, }; static const u16 sBrendanPalette[] = INCBIN_U16("graphics/decorations/brendan.gbapal"); diff --git a/src/dewford_trend.c b/src/dewford_trend.c index 08dd9afe0b..45c18f6013 100644 --- a/src/dewford_trend.c +++ b/src/dewford_trend.c @@ -224,7 +224,7 @@ static void SortTrends(struct DewfordTrend *trends, u16 numTrends, u8 mode) } #define SAVED_TRENDS_SIZE (sizeof(struct DewfordTrend) * SAVED_TRENDS_COUNT) -#define BUFFER_SIZE (SAVED_TRENDS_SIZE * MAX_LINK_PLAYERS > 0x100 ? SAVED_TRENDS_SIZE * MAX_LINK_PLAYERS : 0x100) // More space was allocated than needed +#define BUFFER_SIZE max(SAVED_TRENDS_SIZE * MAX_LINK_PLAYERS, 0x100) // More space was allocated than needed void ReceiveDewfordTrendData(struct DewfordTrend *linkedTrends, size_t size, u8 unused) { diff --git a/src/ereader_helpers.c b/src/ereader_helpers.c index 894ad00123..c5b8712b5c 100755 --- a/src/ereader_helpers.c +++ b/src/ereader_helpers.c @@ -753,11 +753,11 @@ void EReaderHelper_SerialCallback(void) switch (sSendRecvMgr.state) { case EREADER_XFR_STATE_HANDSHAKE: - REG_SIOMLT_SEND = 0xCCD0; // Handshake id + REG_SIOMLT_SEND = EREADER_HANDSHAKE; *(u64 *)recv = REG_SIOMLT_RECV; for (i = 0, cnt1 = 0, cnt2 = 0; i < 4; i++) { - if (recv[i] == 0xCCD0) + if (recv[i] == EREADER_HANDSHAKE) cnt1++; else if (recv[i] != 0xFFFF) cnt2++; diff --git a/src/field_specials.c b/src/field_specials.c index 38746c97a4..53084c8291 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3260,6 +3260,7 @@ void ScrollableMultichoice_ClosePersistentMenu(void) #undef tTaskId #define DEOXYS_ROCK_LEVELS 11 +#define ROCK_PAL_ID 10 void DoDeoxysRockInteraction(void) { @@ -3339,7 +3340,7 @@ static void Task_DeoxysRockInteraction(u8 taskId) static void ChangeDeoxysRockLevel(u8 rockLevel) { u8 objectEventId; - LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(10), PLTT_SIZEOF(4)); + LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(ROCK_PAL_ID), PLTT_SIZEOF(4)); TryGetObjectEventIdByLocalIdAndMap(LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId); if (rockLevel == 0) @@ -3376,21 +3377,20 @@ static void WaitForDeoxysRockMovement(u8 taskId) void IncrementBirthIslandRockStepCount(void) { - u16 var = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); + u16 stepCount = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) { - var++; - if (var > 99) + if (++stepCount > 99) VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0); else - VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, var); + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, stepCount); } } void SetDeoxysRockPalette(void) { - LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(10), PLTT_SIZEOF(4)); - BlendPalettes(0x04000000, 16, 0); + LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(ROCK_PAL_ID), PLTT_SIZEOF(4)); + BlendPalettes(1 << (ROCK_PAL_ID + 16), 16, 0); } void SetPCBoxToSendMon(u8 boxId) @@ -3957,16 +3957,15 @@ bool8 InPokemonCenter(void) #define FANCLUB_BITFIELD (gSaveBlock1Ptr->vars[VAR_FANCLUB_FAN_COUNTER - VARS_START]) #define FANCLUB_COUNTER 0x007F -#define FANCLUB_FAN_FLAGS 0xFF80 #define GET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD >> (flag) & 1) #define SET_TRAINER_FAN_CLUB_FLAG(flag) (FANCLUB_BITFIELD |= 1 << (flag)) #define FLIP_TRAINER_FAN_CLUB_FLAG(flag)(FANCLUB_BITFIELD ^= 1 << (flag)) #define GET_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD & FANCLUB_COUNTER) -#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & FANCLUB_FAN_FLAGS) | (count)) +#define SET_TRAINER_FAN_CLUB_COUNTER(count) (FANCLUB_BITFIELD = (FANCLUB_BITFIELD & ~FANCLUB_COUNTER) | (count)) #define INCR_TRAINER_FAN_CLUB_COUNTER(count)(FANCLUB_BITFIELD += (count)) -#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~(FANCLUB_COUNTER)) +#define CLEAR_TRAINER_FAN_CLUB_COUNTER (FANCLUB_BITFIELD &= ~FANCLUB_COUNTER) void ResetFanClub(void) { diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 319743d0d2..da37b8fc11 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -139,7 +139,7 @@ u16 rfu_initializeAPI(u32 *APIBuffer, u16 buffByteSize, IntrFunc *sioIntrTable_p u16 buffByteSizeMax; // is in EWRAM? - if (((uintptr_t)APIBuffer & 0xF000000) == 0x2000000 && copyInterruptToRam) + if (((uintptr_t)APIBuffer & 0xF000000) == EWRAM_START && copyInterruptToRam) return ERR_RFU_API_BUFF_ADR; // is not 4-byte aligned? if ((u32)APIBuffer & 3) @@ -338,7 +338,7 @@ u16 rfu_getRFUStatus(u8 *rfuState) u16 rfu_MBOOT_CHILD_inheritanceLinkStatus(void) { const char *s1 = str_checkMbootLL; - char *s2 = (char *)0x30000F0; + char *s2 = (char *)(IWRAM_START + 0xF0); u16 checksum; u16 *mb_buff_iwram_p; u8 i; @@ -347,15 +347,15 @@ u16 rfu_MBOOT_CHILD_inheritanceLinkStatus(void) while (*s1 != '\0') if (*s1++ != *s2++) return 1; - mb_buff_iwram_p = (u16 *)0x3000000; + mb_buff_iwram_p = (u16 *)IWRAM_START; // The size of struct RfuLinkStatus is 180 checksum = 0; for (i = 0; i < 180/2; ++i) checksum += *mb_buff_iwram_p++; - if (checksum != *(u16 *)0x30000FA) + if (checksum != *(u16 *)(IWRAM_START + 0xFA)) return 1; - CpuCopy16((u16 *)0x3000000, gRfuLinkStatus, sizeof(struct RfuLinkStatus)); + CpuCopy16((u16 *)IWRAM_START, gRfuLinkStatus, sizeof(struct RfuLinkStatus)); gRfuStatic->flags |= 0x80; // mboot return 0; } diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 9d66a18378..6c84ffefe0 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -1918,7 +1918,8 @@ static void Task_PlayerExchangeUpdate(u8 taskId) for (i = 0; i < RFU_CHILD_MAX; i++) sio->linkPlayerIdx[i] = gRfu.linkPlayerIdx[i]; memcpy(sio->linkPlayers, gLinkPlayers, sizeof(gLinkPlayers)); - if (SendBlock(0, gBlockSendBuffer, 0xa0)) + // Send SioInfo but exclude the 92 unused bytes at the end + if (SendBlock(0, gBlockSendBuffer, offsetof(struct SioInfo, filler))) gTasks[taskId].tState++; break; case 5: diff --git a/src/main_menu.c b/src/main_menu.c index ef4bbd636d..ddbcda5fd2 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -4,6 +4,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "data.h" #include "decompress.h" #include "event_data.h" #include "field_effect.h" @@ -1900,7 +1901,7 @@ static void AddBirchSpeechObjects(u8 taskId) gSprites[brendanSpriteId].invisible = TRUE; gSprites[brendanSpriteId].oam.priority = 0; gTasks[taskId].tBrendanSpriteId = brendanSpriteId; - maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_MAY), 120, 60, 0, &gDecompressionBuffer[0x800]); + maySpriteId = CreateTrainerSprite(FacilityClassToPicIndex(FACILITY_CLASS_MAY), 120, 60, 0, &gDecompressionBuffer[TRAINER_PIC_SIZE]); gSprites[maySpriteId].callback = SpriteCB_Null; gSprites[maySpriteId].invisible = TRUE; gSprites[maySpriteId].oam.priority = 0; diff --git a/src/palette.c b/src/palette.c index 43a4c213c7..e360664627 100644 --- a/src/palette.c +++ b/src/palette.c @@ -440,7 +440,7 @@ static u8 UpdateNormalPaletteFade(void) else { selectedPalettes = gPaletteFade_selectedPalettes >> 16; - paletteOffset = 256; + paletteOffset = OBJ_PLTT_OFFSET; } while (selectedPalettes) diff --git a/src/region_map.c b/src/region_map.c index f6123359be..7d5fe93654 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -1419,7 +1419,7 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag) sRegionMap->cursorSprite->y = 8 * sRegionMap->cursorPosY + 4; } sRegionMap->cursorSprite->data[1] = 2; - sRegionMap->cursorSprite->data[2] = (IndexOfSpritePaletteTag(paletteTag) << 4) + 0x101; + sRegionMap->cursorSprite->data[2] = OBJ_PLTT_ID(IndexOfSpritePaletteTag(paletteTag)) + 1; sRegionMap->cursorSprite->data[3] = TRUE; } } diff --git a/src/secret_base.c b/src/secret_base.c index 1a4a0ac9cd..9509cd0fc5 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -47,6 +47,8 @@ #include "constants/songs.h" #include "constants/trainers.h" +#define TAG_SCROLL_ARROW 5112 + // Values for registryStatus enum { UNREGISTERED, @@ -985,7 +987,7 @@ static void FinalizeRegistryMenu(u8 taskId) static void AddRegistryMenuScrollArrows(u8 taskId) { s16 *data = gTasks[taskId].data; - tArrowTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 188, 12, 148, tNumBases - tMaxShownItems, 0x13f8, 0x13f8, &tScrollOffset); + tArrowTaskId = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 188, 12, 148, tNumBases - tMaxShownItems, TAG_SCROLL_ARROW, TAG_SCROLL_ARROW, &tScrollOffset); } static void HandleRegistryMenuInput(u8 taskId) From d5d46bb4382174e60f730c385c7a4010a6740fbc Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 10 Aug 2023 01:42:38 -0400 Subject: [PATCH 148/256] More DISPLAY_WIDTH/HEIGHT constant usage --- src/battle_anim_effects_1.c | 6 +++--- src/battle_anim_effects_3.c | 6 +++--- src/battle_anim_ground.c | 6 +++--- src/battle_anim_ice.c | 6 +++--- src/battle_anim_throw.c | 2 +- src/battle_intro.c | 36 ++++++++++++++++++------------------ src/battle_main.c | 7 ++----- src/berry_blender.c | 8 ++++---- src/credits.c | 2 +- src/field_effect.c | 2 +- src/intro.c | 10 +++++----- src/pokedex.c | 14 +++++++------- src/slot_machine.c | 18 +++++++++--------- src/title_screen.c | 2 +- src/util.c | 2 +- 15 files changed, 62 insertions(+), 65 deletions(-) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index e328849407..c0ad548f17 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3578,13 +3578,13 @@ static void AnimFlyingParticle(struct Sprite *sprite) { sprite->data[4] = 0; sprite->data[2] = gBattleAnimArgs[3]; - sprite->x = 0xFFF0; + sprite->x = -16; } else { sprite->data[4] = 1; sprite->data[2] = -gBattleAnimArgs[3]; - sprite->x = 0x100; + sprite->x = DISPLAY_WIDTH + 16; } sprite->data[1] = gBattleAnimArgs[1]; @@ -3623,7 +3623,7 @@ static void AnimFlyingParticle_Step(struct Sprite *sprite) sprite->data[0] = (sprite->data[3] * a) & 0xFF; if (!sprite->data[4]) { - if (sprite->x2 + sprite->x <= 0xF7) + if (sprite->x2 + sprite->x < DISPLAY_WIDTH + 8) return; } else diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 6c5fd59c86..5168641c6a 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -3056,7 +3056,7 @@ static void AnimFlatterConfetti(struct Sprite *sprite) if (sprite->data[2] == ANIM_ATTACKER) sprite->x = -8; else - sprite->x = 248; + sprite->x = DISPLAY_WIDTH + 8; sprite->y = 104; sprite->callback = AnimFlatterConfetti_Step; @@ -3414,8 +3414,8 @@ static void AnimTask_AcidArmor_Step(u8 taskId) var0 *= 2; while (var0 >= 0) { - gScanlineEffectRegBuffers[0][var0] = bgX + 240; - gScanlineEffectRegBuffers[1][var0] = bgX + 240; + gScanlineEffectRegBuffers[0][var0] = bgX + DISPLAY_WIDTH; + gScanlineEffectRegBuffers[1][var0] = bgX + DISPLAY_WIDTH; var0 -= 2; } diff --git a/src/battle_anim_ground.c b/src/battle_anim_ground.c index 7b810b56c2..d6d8137bcd 100644 --- a/src/battle_anim_ground.c +++ b/src/battle_anim_ground.c @@ -481,10 +481,10 @@ static void SetDigScanlineEffect(u8 useBG1, s16 y, s16 endY) y++; } - while (y < 160) + while (y < DISPLAY_HEIGHT) { - gScanlineEffectRegBuffers[0][y] = bgX + 240; - gScanlineEffectRegBuffers[1][y] = bgX + 240; + gScanlineEffectRegBuffers[0][y] = bgX + DISPLAY_WIDTH; + gScanlineEffectRegBuffers[1][y] = bgX + DISPLAY_WIDTH; y++; } diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index f870ff4f87..273721e162 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -1305,11 +1305,11 @@ static void MovePoisonGasCloud(struct Sprite *sprite) sprite->data[3] = sprite->y += sprite->y2; sprite->data[4] = sprite->y + 4; if (IsContest()) - sprite->data[2] = -0x10; + sprite->data[2] = -16; else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER) - sprite->data[2] = 0x100; + sprite->data[2] = DISPLAY_WIDTH + 16; else - sprite->data[2] = -0x10; + sprite->data[2] = -16; sprite->data[7]++; sprite->x2 = sprite->y2 = 0; diff --git a/src/battle_anim_throw.c b/src/battle_anim_throw.c index e7c7a560b2..fea67a6e3c 100755 --- a/src/battle_anim_throw.c +++ b/src/battle_anim_throw.c @@ -2117,7 +2117,7 @@ void AnimTask_SwapMonSpriteToFromSubstitute(u8 taskId) gTasks[taskId].data[0] &= 0xFF; x = gSprites[spriteId].x + gSprites[spriteId].x2 + 32; - if (x > 304) + if (x > DISPLAY_WIDTH + 64) gTasks[taskId].data[10]++; break; case 1: diff --git a/src/battle_intro.c b/src/battle_intro.c index 42fe659746..3cdc879a86 100644 --- a/src/battle_intro.c +++ b/src/battle_intro.c @@ -182,7 +182,7 @@ static void BattleIntroSlide1(u8 taskId) if ((gBattle_WIN0V & 0xFF00) == 0x3000) { gTasks[taskId].tState++; - gTasks[taskId].data[2] = 240; + gTasks[taskId].data[2] = DISPLAY_WIDTH; gTasks[taskId].data[3] = 32; gIntroSlideFlags &= ~1; } @@ -213,13 +213,13 @@ static void BattleIntroSlide1(u8 taskId) gTasks[taskId].data[2] -= 2; // Scanline settings have already been set in CB2_InitBattleInternal() - for (i = 0; i < 80; i++) + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2]; - for (; i < 160; i++) + for (; i < DISPLAY_HEIGHT; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2]; - if (!gTasks[taskId].data[2]) + if (gTasks[taskId].data[2] == 0) { gScanlineEffect.state = 3; gTasks[taskId].tState++; @@ -290,7 +290,7 @@ static void BattleIntroSlide2(u8 taskId) if ((gBattle_WIN0V & 0xFF00) == 0x3000) { gTasks[taskId].tState++; - gTasks[taskId].data[2] = 240; + gTasks[taskId].data[2] = DISPLAY_WIDTH; gTasks[taskId].data[3] = 32; gTasks[taskId].data[5] = 1; gIntroSlideFlags &= ~1; @@ -322,13 +322,13 @@ static void BattleIntroSlide2(u8 taskId) gTasks[taskId].data[2] -= 2; // Scanline settings have already been set in CB2_InitBattleInternal() - for (i = 0; i < 80; i++) + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2]; - for (; i < 160; i++) + for (; i < DISPLAY_HEIGHT; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2]; - if (!gTasks[taskId].data[2]) + if (gTasks[taskId].data[2] == 0) { gScanlineEffect.state = 3; gTasks[taskId].tState++; @@ -383,7 +383,7 @@ static void BattleIntroSlide3(u8 taskId) if ((gBattle_WIN0V & 0xFF00) == 0x3000) { gTasks[taskId].tState++; - gTasks[taskId].data[2] = 240; + gTasks[taskId].data[2] = DISPLAY_WIDTH; gTasks[taskId].data[3] = 32; gTasks[taskId].data[5] = 1; gIntroSlideFlags &= ~1; @@ -410,13 +410,13 @@ static void BattleIntroSlide3(u8 taskId) gTasks[taskId].data[2] -= 2; // Scanline settings have already been set in CB2_InitBattleInternal() - for (i = 0; i < 80; i++) + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2]; - for (; i < 160; i++) + for (; i < DISPLAY_HEIGHT; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2]; - if (!gTasks[taskId].data[2]) + if (gTasks[taskId].data[2] == 0) { gScanlineEffect.state = 3; gTasks[taskId].tState++; @@ -479,7 +479,7 @@ static void BattleIntroSlideLink(u8 taskId) if ((gBattle_WIN0V & 0xFF00) == 0x3000) { gTasks[taskId].tState++; - gTasks[taskId].data[2] = 240; + gTasks[taskId].data[2] = DISPLAY_WIDTH; gTasks[taskId].data[3] = 32; gIntroSlideFlags &= ~1; } @@ -492,13 +492,13 @@ static void BattleIntroSlideLink(u8 taskId) gTasks[taskId].data[2] -= 2; // Scanline settings have already been set in CB2_InitBattleInternal() - for (i = 0; i < 80; i++) + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gTasks[taskId].data[2]; - for (; i < 160; i++) + for (; i < DISPLAY_HEIGHT; i++) gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = -gTasks[taskId].data[2]; - if (!gTasks[taskId].data[2]) + if (gTasks[taskId].data[2] == 0) { gScanlineEffect.state = 3; gTasks[taskId].tState++; @@ -544,7 +544,7 @@ static void BattleIntroSlidePartner(u8 taskId) if ((gBattle_WIN0V & 0xFF00) == 0x2000) { gTasks[taskId].tState++; - gTasks[taskId].data[2] = 240; + gTasks[taskId].data[2] = DISPLAY_WIDTH; gIntroSlideFlags &= ~1; } break; @@ -557,7 +557,7 @@ static void BattleIntroSlidePartner(u8 taskId) gBattle_BG1_X = gTasks[taskId].data[2]; gBattle_BG2_X = -gTasks[taskId].data[2]; - if (!gTasks[taskId].data[2]) + if (gTasks[taskId].data[2] == 0) gTasks[taskId].tState++; break; case 4: diff --git a/src/battle_main.c b/src/battle_main.c index b8fea024ee..e1c6a514a7 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -644,19 +644,16 @@ static void CB2_InitBattleInternal(void) gBattle_WIN0V = WIN_RANGE(DISPLAY_HEIGHT / 2, DISPLAY_HEIGHT / 2 + 1); ScanlineEffect_Clear(); - i = 0; - while (i < 80) + for (i = 0; i < DISPLAY_HEIGHT / 2; i++) { gScanlineEffectRegBuffers[0][i] = 0xF0; gScanlineEffectRegBuffers[1][i] = 0xF0; - i++; } - while (i < 160) + for (; i < DISPLAY_HEIGHT; i++) { gScanlineEffectRegBuffers[0][i] = 0xFF10; gScanlineEffectRegBuffers[1][i] = 0xFF10; - i++; } ScanlineEffect_SetParams(sIntroScanlineParams16Bit); diff --git a/src/berry_blender.c b/src/berry_blender.c index 10b02c86b7..b882fc12d9 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -3109,10 +3109,10 @@ static void DrawBlenderCenter(struct BgAffineSrcData *dest) { struct BgAffineSrcData affineSrc; - affineSrc.texX = 0x7800; - affineSrc.texY = 0x5000; - affineSrc.scrX = 0x78 - sBerryBlender->bg_X; - affineSrc.scrY = 0x50 - sBerryBlender->bg_Y; + affineSrc.texX = (DISPLAY_WIDTH / 2) << 8; + affineSrc.texY = (DISPLAY_HEIGHT / 2) << 8; + affineSrc.scrX = DISPLAY_WIDTH / 2 - sBerryBlender->bg_X; + affineSrc.scrY = DISPLAY_HEIGHT / 2 - sBerryBlender->bg_Y; affineSrc.sx = sBerryBlender->centerScale; affineSrc.sy = sBerryBlender->centerScale; affineSrc.alpha = sBerryBlender->arrowPos; diff --git a/src/credits.c b/src/credits.c index bf636f74f6..b412b29e27 100644 --- a/src/credits.c +++ b/src/credits.c @@ -1370,7 +1370,7 @@ static void SpriteCB_Player(struct Sprite *sprite) break; case 4: StartSpriteAnimIfDifferent(sprite, 0); - if (sprite->x > 120) + if (sprite->x > DISPLAY_WIDTH / 2) sprite->x--; break; case 5: diff --git a/src/field_effect.c b/src/field_effect.c index d51c6ab88a..8d6b6342d1 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2416,7 +2416,7 @@ static void TeleportWarpOutFieldEffect_SpinExit(struct Task *task) { sprite->subspriteMode = SUBSPRITES_IGNORE_PRIORITY; } - if (task->data[4] >= 0xa8) + if (task->data[4] >= DISPLAY_HEIGHT + 8) { task->tState++; TryFadeOutOldMapMusic(); diff --git a/src/intro.c b/src/intro.c index ed50208e7d..e5e6a23dd2 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1195,7 +1195,7 @@ static void Task_Scene1_Load(u8 taskId) CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_ID(0)], &gPlttBufferUnfaded[OBJ_PLTT_ID(11) + 4], PLTT_SIZEOF(16 - 4)); CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_ID(0)], &gPlttBufferUnfaded[OBJ_PLTT_ID(10) + 5], PLTT_SIZEOF(16 - 5)); CpuCopy16(&gPlttBufferUnfaded[OBJ_PLTT_ID(0)], &gPlttBufferUnfaded[OBJ_PLTT_ID( 9) + 6], PLTT_SIZEOF(16 - 6)); - CreateGameFreakLogoSprites(120, 80, 0); + CreateGameFreakLogoSprites(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, 0); gTasks[taskId].sBigDropSpriteId = CreateWaterDrop(236, -14, 0x200, 1, 0x78, FALSE); gTasks[taskId].func = Task_Scene1_FadeIn; } @@ -1722,7 +1722,7 @@ static void Task_Scene3_Load(u8 taskId) gTasks[taskId].tZoomDiv = 0; gTasks[taskId].tZoomDivSpeed = 0; gTasks[taskId].data[3] = 0; - PanFadeAndZoomScreen(0x78, 0x50, 0, 0); + PanFadeAndZoomScreen(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, 0, 0); ResetSpriteData(); FreeAllSpritePalettes(); BeginNormalPaletteFade(PALETTES_ALL, 0, 16, 0, RGB_WHITEALPHA); @@ -1746,7 +1746,7 @@ static void Task_Scene3_SpinPokeball(u8 taskId) gTasks[taskId].func = Task_Scene3_WaitGroudon; } - PanFadeAndZoomScreen(0x78, 0x50, SAFE_DIV(0x10000, gTasks[taskId].tZoomDiv), gTasks[taskId].tAlpha); + PanFadeAndZoomScreen(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, SAFE_DIV(0x10000, gTasks[taskId].tZoomDiv), gTasks[taskId].tAlpha); if (gIntroFrameCounter == TIMER_POKEBALL_FADE) BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_WHITEALPHA); @@ -1848,7 +1848,7 @@ static void Task_Scene3_StartGroudon(u8 taskId) { gTasks[taskId].tState = 0; gTasks[taskId].func = Task_Scene3_Groudon; - ScanlineEffect_InitWave(0, 160, 4, 4, 1, SCANLINE_EFFECT_REG_BG1HOFS, FALSE); + ScanlineEffect_InitWave(0, DISPLAY_HEIGHT, 4, 4, 1, SCANLINE_EFFECT_REG_BG1HOFS, FALSE); } #define tScreenX data[1] @@ -2058,7 +2058,7 @@ static void Task_Scene3_LoadKyogre(u8 taskId) gTasks[taskId].tDelay = 16; gTasks[taskId].tZoom = 256; PanFadeAndZoomScreen(gTasks[taskId].tScreenX, gTasks[taskId].tScreenY, gTasks[taskId].tZoom, 0); - ScanlineEffect_InitWave(0, 0xA0, 4, 4, 1, SCANLINE_EFFECT_REG_BG1VOFS, FALSE); + ScanlineEffect_InitWave(0, DISPLAY_HEIGHT, 4, 4, 1, SCANLINE_EFFECT_REG_BG1VOFS, FALSE); } static void Task_Scene3_Kyogre(u8 taskId) diff --git a/src/pokedex.c b/src/pokedex.c index 7bb8e1c17f..3f5ab22431 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -3755,7 +3755,7 @@ static void Task_LoadSizeScreen(u8 taskId) StringCopy(string, gText_SizeComparedTo); StringAppend(string, gSaveBlock2Ptr->playerName); - PrintInfoScreenText(string, GetStringCenterAlignXOffset(FONT_NORMAL, string, 0xF0), 0x79); + PrintInfoScreenText(string, GetStringCenterAlignXOffset(FONT_NORMAL, string, DISPLAY_WIDTH), 121); gMain.state++; } break; @@ -4072,14 +4072,14 @@ static void Task_ExitCaughtMonPage(u8 taskId) static void SpriteCB_SlideCaughtMonToCenter(struct Sprite *sprite) { - if (sprite->x < 0x78) + if (sprite->x < DISPLAY_WIDTH / 2) sprite->x += 2; - if (sprite->x > 0x78) + if (sprite->x > DISPLAY_WIDTH / 2) sprite->x -= 2; - if (sprite->y < 0x50) + if (sprite->y < DISPLAY_HEIGHT / 2) sprite->y += 1; - if (sprite->y > 0x50) + if (sprite->y > DISPLAY_HEIGHT / 2) sprite->y -= 1; } @@ -4103,7 +4103,7 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry) const u8 *description; if (newEntry) - PrintInfoScreenText(gText_PokedexRegistration, GetStringCenterAlignXOffset(FONT_NORMAL, gText_PokedexRegistration, 0xF0), 0); + PrintInfoScreenText(gText_PokedexRegistration, GetStringCenterAlignXOffset(FONT_NORMAL, gText_PokedexRegistration, DISPLAY_WIDTH), 0); if (value == 0) value = NationalToHoennOrder(num); else @@ -4142,7 +4142,7 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry) description = gPokedexEntries[num].description; else description = sExpandedPlaceholder_PokedexDescription; - PrintInfoScreenText(description, GetStringCenterAlignXOffset(FONT_NORMAL, description, 0xF0), 0x5F); + PrintInfoScreenText(description, GetStringCenterAlignXOffset(FONT_NORMAL, description, DISPLAY_WIDTH), 95); } static void PrintMonHeight(u16 height, u8 left, u8 top) diff --git a/src/slot_machine.c b/src/slot_machine.c index 5b058b9702..20386a2528 100644 --- a/src/slot_machine.c +++ b/src/slot_machine.c @@ -4672,9 +4672,9 @@ static void SpriteCB_DigitalDisplay_Reel(struct Sprite *sprite) { case 0: sprite->x += 4; - if (sprite->x >= 0xd0) + if (sprite->x >= DISPLAY_WIDTH - 32) { - sprite->x = 0xd0; + sprite->x = DISPLAY_WIDTH - 32; sprite->sState++; } break; @@ -4684,7 +4684,7 @@ static void SpriteCB_DigitalDisplay_Reel(struct Sprite *sprite) break; case 2: sprite->x += 4; - if (sprite->x >= 0x110) + if (sprite->x >= DISPLAY_WIDTH + 32) sprite->sState++; break; case 3: @@ -4700,9 +4700,9 @@ static void SpriteCB_DigitalDisplay_Time(struct Sprite *sprite) { case 0: sprite->x -= 4; - if (sprite->x <= 0xd0) + if (sprite->x <= DISPLAY_WIDTH - 32) { - sprite->x = 0xd0; + sprite->x = DISPLAY_WIDTH - 32; sprite->sState++; } break; @@ -4712,7 +4712,7 @@ static void SpriteCB_DigitalDisplay_Time(struct Sprite *sprite) break; case 2: sprite->x -= 4; - if (sprite->x <= 0x90) + if (sprite->x <= 144) sprite->sState++; break; case 3: @@ -4738,9 +4738,9 @@ static void SpriteCB_DigitalDisplay_ReelTimeNumber(struct Sprite *sprite) break; case 2: sprite->x += 4; - if (sprite->x >= 0xd0) + if (sprite->x >= DISPLAY_WIDTH - 32) { - sprite->x = 0xd0; + sprite->x = DISPLAY_WIDTH - 32; sprite->sState++; } break; @@ -4750,7 +4750,7 @@ static void SpriteCB_DigitalDisplay_ReelTimeNumber(struct Sprite *sprite) break; case 4: sprite->x += 4; - if (sprite->x >= 0xf8) + if (sprite->x >= DISPLAY_WIDTH + 8) sprite->sState++; break; case 5: diff --git a/src/title_screen.c b/src/title_screen.c index bb73df5bc5..87bf0d970e 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -584,7 +584,7 @@ void CB2_InitTitleScreen(void) gMain.state = 4; break; case 4: - PanFadeAndZoomScreen(0x78, 0x50, 0x100, 0); + PanFadeAndZoomScreen(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, 0x100, 0); SetGpuReg(REG_OFFSET_BG2X_L, -29 * 256); SetGpuReg(REG_OFFSET_BG2X_H, -1); SetGpuReg(REG_OFFSET_BG2Y_L, -32 * 256); diff --git a/src/util.c b/src/util.c index ab5603b867..09381fcaf3 100644 --- a/src/util.c +++ b/src/util.c @@ -118,7 +118,7 @@ const u8 gMiscBlank_Gfx[] = INCBIN_U8("graphics/interface/blank.4bpp"); u8 CreateInvisibleSpriteWithCallback(void (*callback)(struct Sprite *)) { - u8 sprite = CreateSprite(&sInvisibleSpriteTemplate, 248, 168, 14); + u8 sprite = CreateSprite(&sInvisibleSpriteTemplate, DISPLAY_WIDTH + 8, DISPLAY_HEIGHT + 8, 14); gSprites[sprite].invisible = TRUE; gSprites[sprite].callback = callback; return sprite; From 275e5ef5e6513f7cf1618984aebbf55efe77f72c Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 10 Aug 2023 13:29:10 +0200 Subject: [PATCH 149/256] Make more use of AI_GetHoldEffect + Fake Out changes fix ShouldTryToFlinch fix some mess up fix of fix of mess up --- src/battle_ai_main.c | 23 ++++++++------------- src/battle_ai_util.c | 49 ++++++++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index e231d3d1f8..672f24351b 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1647,18 +1647,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; case EFFECT_FAKE_OUT: if (!gDisableStructs[battlerAtk].isFirstTurn) - { score -= 10; - } - else if (move == MOVE_FAKE_OUT) // filter out first impression - { - if ((AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CHOICE_BAND || AI_DATA->abilities[battlerAtk] == ABILITY_GORILLA_TACTICS) - && (CountUsablePartyMons(battlerDef) > 0 || !CanIndexMoveFaintTarget(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex, 0))) - { - if (CountUsablePartyMons(battlerAtk) == 0) - score -= 10; // Don't lock the attacker into Fake Out if they can't switch out afterwards. - } - } break; case EFFECT_STOCKPILE: if (gDisableStructs[battlerAtk].stockpileCounter >= 3) @@ -3094,7 +3083,7 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) || IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_POISON) || IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_ROCK)) score -= 10; // partner will be hit by earthquake and is weak to it - else + else if (IsBattlerAlive(battlerAtkPartner)) score -= 3; break; } @@ -4137,9 +4126,13 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) IncreaseStatUpScore(battlerAtk, battlerDef, STAT_DEF, &score); break; case EFFECT_FAKE_OUT: - if (move == MOVE_FAKE_OUT // filter out first impression - && ShouldFakeOut(battlerAtk, battlerDef, move)) - score += 8; + if (move == MOVE_FAKE_OUT) // filter out first impression + { + if (ShouldFakeOut(battlerAtk, battlerDef, move)) + score += 4; + else + score -= 10; + } break; case EFFECT_STOCKPILE: if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b9b0ef0cfe..d799b2486c 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2964,24 +2964,23 @@ bool32 AI_CanBeInfatuated(u8 battlerAtk, u8 battlerDef, u16 defAbility) u32 ShouldTryToFlinch(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbility, u16 move) { - if (defAbility == ABILITY_INNER_FOCUS + if (((AI_DATA->abilities[battlerAtk] != ABILITY_MOLD_BREAKER && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) - || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER) // Opponent goes first + || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER)) // Opponent goes first { - return 0; // don't try to flinch + return 0; } - else if ((gBattleMons[battlerDef].status1 & STATUS1_SLEEP) && !HasMoveEffect(battlerDef, EFFECT_SLEEP_TALK) && !HasMoveEffect(battlerDef, EFFECT_SNORE)) - { - return 0; // don't try to flinch sleeping pokemon - } - else if (atkAbility == ABILITY_SERENE_GRACE + else if ((atkAbility == ABILITY_SERENE_GRACE || gBattleMons[battlerDef].status1 & STATUS1_PARALYSIS || gBattleMons[battlerDef].status2 & STATUS2_INFATUATION || gBattleMons[battlerDef].status2 & STATUS2_CONFUSION) + || ((AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) && CanTargetFaintAi(battlerDef, battlerAtk))) { return 2; // good idea to flinch } - return 1; // decent idea to flinch + + return 0; // don't try to flinch } bool32 ShouldTrap(u8 battlerAtk, u8 battlerDef, u16 move) @@ -3000,15 +2999,16 @@ bool32 ShouldTrap(u8 battlerAtk, u8 battlerDef, u16 move) bool32 ShouldFakeOut(u8 battlerAtk, u8 battlerDef, u16 move) { - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CHOICE_BAND && CountUsablePartyMons(battlerAtk) == 0) - return FALSE; // don't lock attacker into fake out if can't switch out + if (!gDisableStructs[battlerAtk].isFirstTurn + || AI_DATA->abilities[battlerAtk] == ABILITY_GORILLA_TACTICS + || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CHOICE_BAND + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_COVERT_CLOAK + || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) + || (AI_DATA->abilities[battlerAtk] != ABILITY_MOLD_BREAKER + && (AI_DATA->abilities[battlerDef] == ABILITY_SHIELD_DUST || AI_DATA->abilities[battlerDef] == ABILITY_INNER_FOCUS))) + return FALSE; - if (gDisableStructs[battlerAtk].isFirstTurn - && ShouldTryToFlinch(battlerAtk, battlerDef, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], move) - && !DoesSubstituteBlockMove(battlerAtk, battlerDef, move)) - return TRUE; - - return FALSE; + return TRUE; } static u32 FindMoveUsedXTurnsAgo(u32 battlerId, u32 x) @@ -3676,7 +3676,8 @@ void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score) void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { - if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_PSN || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanPoison(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove) && AI_DATA->hpPercents[battlerDef] > 20) @@ -3699,7 +3700,8 @@ void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { - if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_BRN || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanBurn(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) @@ -3718,7 +3720,8 @@ void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { - if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_PAR || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) @@ -3739,7 +3742,8 @@ void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { - if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_SLP || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) @@ -3757,7 +3761,8 @@ void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { - if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_CONFUSION || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanConfuse(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) From bcb6f723d952d05d6001d5a2388709491b997d88 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 10 Aug 2023 16:24:29 +0200 Subject: [PATCH 150/256] Use AI_DATA->holdEffects instead AI_GetHoldEffect --- src/battle_ai_util.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index d799b2486c..c6788cf8d7 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3677,7 +3677,7 @@ void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score) void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_PSN || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PSN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanPoison(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove) && AI_DATA->hpPercents[battlerDef] > 20) @@ -3701,7 +3701,7 @@ void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_BRN || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_BRN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanBurn(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) @@ -3721,7 +3721,7 @@ void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_PAR || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PAR || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) @@ -3743,7 +3743,7 @@ void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_SLP || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_SLP || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) @@ -3762,7 +3762,7 @@ void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_CONFUSION || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_CURE_STATUS) + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_CONFUSION || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) return; if (AI_CanConfuse(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) From 9226b23fb82de242c26dd9e45dcc69fe112e86db Mon Sep 17 00:00:00 2001 From: Kermalis <29823718+Kermalis@users.noreply.github.com> Date: Thu, 10 Aug 2023 20:11:07 -0400 Subject: [PATCH 151/256] Remove ewram in headers --- include/credits.h | 2 +- include/decoration.h | 4 ++-- include/shop.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/credits.h b/include/credits.h index 2e8c7e0c3c..43f26c3744 100644 --- a/include/credits.h +++ b/include/credits.h @@ -1,7 +1,7 @@ #ifndef GUARD_CREDITS_H #define GUARD_CREDITS_H -extern EWRAM_DATA bool8 gHasHallOfFameRecords; +extern bool8 gHasHallOfFameRecords; void CB2_StartCreditsSequence(void); diff --git a/include/decoration.h b/include/decoration.h index b00dd42f12..db0f337f4d 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -53,8 +53,8 @@ struct Decoration }; extern const struct Decoration gDecorations[]; -extern EWRAM_DATA u8 *gCurDecorationItems; -extern EWRAM_DATA u8 gCurDecorationIndex; +extern u8 *gCurDecorationItems; +extern u8 gCurDecorationIndex; void InitDecorationContextItems(void); void DoSecretBaseDecorationMenu(u8 taskId); diff --git a/include/shop.h b/include/shop.h index 7fd7669ea5..6644ba0aa0 100644 --- a/include/shop.h +++ b/include/shop.h @@ -1,7 +1,7 @@ #ifndef GUARD_SHOP_H #define GUARD_SHOP_H -extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3]; +extern struct ItemSlot gMartPurchaseHistory[3]; void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); From c3a8edae32d4f9bf18db5a7260a990424fd4012e Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Fri, 11 Aug 2023 13:36:01 -0500 Subject: [PATCH 152/256] Sprites and fixes --- graphics/battle_interface/burst_trigger.png | Bin 0 -> 314 bytes src/battle_interface.c | 4 ++-- src/battle_main.c | 6 ++--- src/battle_script_commands.c | 2 ++ src/battle_util.c | 23 +++++++++++++++++++- 5 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 graphics/battle_interface/burst_trigger.png diff --git a/graphics/battle_interface/burst_trigger.png b/graphics/battle_interface/burst_trigger.png new file mode 100644 index 0000000000000000000000000000000000000000..e3eb6384d4b4dde7ac90a245e3b0c683812787d0 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`g#vs+Tz8&dTs^(rH!~3^;Nal!|7CqE$47A>hqJ&VvY3H^?+6GpPSxg< z1`2NUba4!^IDL20L0)D>9+pNfrSJ(284Slo3q%EW{ttV!+yBO1zDMFxm5hg%tS<76 zNEMjy(dB}OV_wwax(zR67+M@umc3iB#ZsN2R^G}?p-QHhdFQqlH!Z_ye zPCU5!c!B<$ZGG%bx0yw~{)FEB8^Mw?QU319{&!E>Z#&s@xEzuxd6C9;!2VVC_rsyN zZ|lCiV6ZRf|NQ%5gkr(Zi@kqdoU7CM)-3-*|F6eO?h|)3r?Wk3H3K@H!PC{xWt~$( F696<{c6a~) literal 0 HcmV?d00001 diff --git a/src/battle_interface.c b/src/battle_interface.c index 281d18e046..3256dda8f3 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -677,8 +677,8 @@ static const struct SpriteTemplate sSpriteTemplate_MegaTrigger = .callback = SpriteCb_MegaTrigger }; -static const u8 ALIGNED(4) sBurstTriggerGfx[] = INCBIN_U8("graphics/battle_interface/mega_trigger.4bpp"); -static const u16 sBurstTriggerPal[] = INCBIN_U16("graphics/battle_interface/mega_trigger.gbapal"); +static const u8 ALIGNED(4) sBurstTriggerGfx[] = INCBIN_U8("graphics/battle_interface/burst_trigger.4bpp"); +static const u16 sBurstTriggerPal[] = INCBIN_U16("graphics/battle_interface/burst_trigger.gbapal"); static const struct SpriteSheet sSpriteSheet_BurstTrigger = { diff --git a/src/battle_main.c b/src/battle_main.c index 86d72bd734..b39634eef4 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4438,9 +4438,9 @@ static void HandleTurnActionSelectionState(void) RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][2]); RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][3]); } - gBattleStruct->chosenMovePositions[gActiveBattler] = gBattleResources->bufferB[gActiveBattler][2] & ~(RET_MEGA_EVOLUTION | RET_ULTRA_BURST); - gChosenMoveByBattler[gActiveBattler] = gBattleMons[gActiveBattler].moves[gBattleStruct->chosenMovePositions[gActiveBattler]]; - gBattleStruct->moveTarget[gActiveBattler] = gBattleResources->bufferB[gActiveBattler][3]; + *(gBattleStruct->chosenMovePositions + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][2] & ~(RET_MEGA_EVOLUTION | RET_ULTRA_BURST); + gChosenMoveByBattler[gActiveBattler] = gBattleMons[gActiveBattler].moves[*(gBattleStruct->chosenMovePositions + gActiveBattler)]; + *(gBattleStruct->moveTarget + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][3]; if (gBattleResources->bufferB[gActiveBattler][2] & RET_MEGA_EVOLUTION) gBattleStruct->mega.toEvolve |= gBitTable[gActiveBattler]; else if (gBattleResources->bufferB[gActiveBattler][2] & RET_ULTRA_BURST) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 42d427a93c..04ef3bcf34 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8628,6 +8628,8 @@ static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battlerId, u32 type) SetBattlerShadowSpriteCallback(battlerId, gBattleMons[battlerId].species); if (type == 0) gBattleStruct->mega.alreadyEvolved[position] = TRUE; + if (type == 2) + gBattleStruct->burst.alreadyBursted[position] = TRUE; } } diff --git a/src/battle_util.c b/src/battle_util.c index 0ef2752f5d..5e50dc29ca 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -10036,7 +10036,28 @@ bool32 CanUltraBurst(u8 battlerId) struct Pokemon *mon; u8 battlerPosition = GetBattlerPosition(battlerId); u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battlerId)); - struct UltraBurstData *burst = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]))->burst); + + // Check if Player has a Z Ring + if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) + && !CheckBagHasItem(ITEM_Z_POWER_RING, 1)) + return FALSE; + + // Check if trainer already ultra bursted a pokemon. + if (gBattleStruct->burst.alreadyBursted[battlerPosition]) + return FALSE; + + // Cannot use z move and ultra burst on same turn + if (gBattleStruct->zmove.toBeUsed[battlerId]) + return FALSE; + + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE + && IsPartnerMonFromSameTrainer(battlerId) + && (gBattleStruct->burst.alreadyBursted[partnerPosition] || (gBattleStruct->burst.toBurst & gBitTable[BATTLE_PARTNER(battlerId)]))) + return FALSE; + + // Check if mon is currently held by Sky Drop + if (gStatuses3[battlerId] & STATUS3_SKY_DROPPED) + return FALSE; // Gets mon data. if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) From 063d83b58e1b1b88751acedaf9f6eb920489819b Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Fri, 11 Aug 2023 14:01:45 -0500 Subject: [PATCH 153/256] Fix build --- test/test_battle.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/test_battle.h b/test/test_battle.h index 74a3bc2e82..3468a68411 100644 --- a/test/test_battle.h +++ b/test/test_battle.h @@ -795,6 +795,8 @@ struct MoveContext u16 explicitSecondaryEffect:1; u16 megaEvolve:1; u16 explicitMegaEvolve:1; + u16 ultraBurst:1; + u16 explicitUltraBurst:1; // TODO: u8 zMove:1; u16 allowed:1; u16 explicitAllowed:1; From 59da940283cbce98de9819b6abfa403ae2991b89 Mon Sep 17 00:00:00 2001 From: Philipp AUER Date: Fri, 11 Aug 2023 22:28:38 +0200 Subject: [PATCH 154/256] Refactor damage formula to match Gen5+ (#3196) * [battle, damage] refactor damage formula to match gen5+ * [test] use exact values for dry skin, swarm tests * fixup: assume stats for dry-skin, swarm tests --------- Co-authored-by: sbird --- include/battle_util.h | 7 - include/fpmath.h | 20 + src/battle_script_commands.c | 2 +- src/battle_util.c | 709 ++++++++++++++++++++--------------- test/ability_contrary.c | 2 +- test/ability_dry_skin.c | 15 +- test/ability_fluffy.c | 66 ++++ test/ability_swarm.c | 14 +- test/damage_formula.c | 78 ++++ test/status3.c | 90 +++++ test/weather_snow.c | 1 - 11 files changed, 680 insertions(+), 324 deletions(-) create mode 100644 test/ability_fluffy.c create mode 100644 test/damage_formula.c create mode 100644 test/status3.c diff --git a/include/battle_util.h b/include/battle_util.h index 9de5d6ded9..87ef161a2f 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -209,14 +209,12 @@ void BufferStatChange(u8 battlerId, u8 statId, u8 stringId); bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u8 battlerDef, bool32 checkTarget); u16 GetUsedHeldItem(u8 battler); bool32 IsBattlerWeatherAffected(u8 battlerId, u32 weatherFlags); -u32 ApplyWeatherDamageMultiplier(u8 battlerAtk, u16 move, u8 moveType, u32 dmg, u16 holdEffectAtk, u16 holdEffectDef); u32 GetBattlerMoveTargetType(u8 battlerId, u16 move); bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move); bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId); void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); -void MulModifier(u16 *modifier, u16 val); bool32 IsAlly(u32 battlerAtk, u32 battlerDef); // Ability checks @@ -245,9 +243,4 @@ u8 GetBattlerGender(u8 battlerId); bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2); u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); -static inline u32 ApplyModifier(uq4_12_t modifier, u32 val) -{ - return UQ_4_12_TO_INT((modifier * val) + UQ_4_12_ROUND); -} - #endif // GUARD_BATTLE_UTIL_H diff --git a/include/fpmath.h b/include/fpmath.h index 987c59d5a6..6e3edd64e0 100644 --- a/include/fpmath.h +++ b/include/fpmath.h @@ -52,10 +52,30 @@ static inline uq4_12_t uq4_12_multiply(uq4_12_t a, uq4_12_t b) return (product + UQ_4_12_ROUND) >> UQ_4_12_SHIFT; } +static inline uq4_12_t uq4_12_multiply_half_down(uq4_12_t a, uq4_12_t b) +{ + u32 product = (u32) a * b; + return (product + UQ_4_12_ROUND - 1) >> UQ_4_12_SHIFT; +} + static inline uq4_12_t uq4_12_divide(uq4_12_t dividend, uq4_12_t divisor) { if (divisor == UQ_4_12(0.0)) return UQ_4_12(0); return (dividend << UQ_4_12_SHIFT) / divisor; } +// Multiplies value by the UQ_4_12 number modifier. +// Returns an integer, rounded to nearest (rounding down on n.5) +static inline u32 uq4_12_multiply_by_int_half_down(uq4_12_t modifier, u32 value) +{ + return UQ_4_12_TO_INT((modifier * value) + UQ_4_12_ROUND - 1); +} + +// Multiplies value by the UQ_4_12 number modifier. +// Returns an integer, rounded to nearest (rounding up on n.5) +static inline u32 uq4_12_multiply_by_int_half_up(uq4_12_t modifier, u32 value) +{ + return UQ_4_12_TO_INT((modifier * value) + UQ_4_12_ROUND); +} + #endif // FPMATH_H_ diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index aa52768059..d95209e5e2 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1414,7 +1414,7 @@ static void Cmd_attackcanceler(void) return; } - // Z-moves and Max Moves bypass protection, but deal reduced damage (factored in CalcFinalDmg) + // Z-moves and Max Moves bypass protection, but deal reduced damage (factored in AccumulateOtherModifiers) if (gBattleStruct->zmove.active && IS_BATTLER_PROTECTED(gBattlerTarget)) { BattleScriptPush(cmd->nextInstr); diff --git a/src/battle_util.c b/src/battle_util.c index 2f200026b4..8950917a55 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8694,6 +8694,85 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe u16 atkAbility = GetBattlerAbility(battlerAtk); u16 defAbility = GetBattlerAbility(battlerDef); + // move effect + switch (gBattleMoves[move].effect) + { + case EFFECT_FACADE: + if (gBattleMons[battlerAtk].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_PARALYSIS | STATUS1_FROSTBITE)) + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + break; + case EFFECT_BRINE: + if (gBattleMons[battlerDef].hp <= (gBattleMons[battlerDef].maxHP / 2)) + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + break; + case EFFECT_BARB_BARRAGE: + case EFFECT_VENOSHOCK: + if (gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY) + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + break; + case EFFECT_RETALIATE: + if (gSideTimers[atkSide].retaliateTimer == 1) + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + break; + case EFFECT_SOLAR_BEAM: + if (IsBattlerWeatherAffected(battlerAtk, (B_WEATHER_HAIL | B_WEATHER_SANDSTORM | B_WEATHER_RAIN | B_WEATHER_SNOW))) + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + break; + case EFFECT_STOMPING_TANTRUM: + if (gBattleStruct->lastMoveFailed & gBitTable[battlerAtk]) + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + break; + case EFFECT_BULLDOZE: + case EFFECT_MAGNITUDE: + case EFFECT_EARTHQUAKE: + if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && !(gStatuses3[battlerDef] & STATUS3_SEMI_INVULNERABLE)) + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + break; + case EFFECT_KNOCK_OFF: + #if B_KNOCK_OFF_DMG >= GEN_6 + if (gBattleMons[battlerDef].item != ITEM_NONE + && CanBattlerGetOrLoseItem(battlerDef, gBattleMons[battlerDef].item)) + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + #endif + break; + } + +#if B_TERRAIN_TYPE_BOOST >= GEN_8 + #define TERRAIN_TYPE_BOOST UQ_4_12(1.3) +#else + #define TERRAIN_TYPE_BOOST UQ_4_12(1.5) +#endif + + // various effects + if (gProtectStructs[battlerAtk].helpingHand) + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + if (gSpecialStatuses[battlerAtk].gemBoost) + modifier = uq4_12_multiply(modifier, UQ_4_12(1.0) + sPercentToModifier[gSpecialStatuses[battlerAtk].gemParam]); + if (gStatuses3[battlerAtk] & STATUS3_CHARGED_UP && moveType == TYPE_ELECTRIC) + modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + if (gStatuses3[battlerAtk] & STATUS3_ME_FIRST) + modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_GRASSY_TERRAIN) && moveType == TYPE_GRASS) + modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); + if (IsBattlerTerrainAffected(battlerDef, STATUS_FIELD_MISTY_TERRAIN) && moveType == TYPE_DRAGON) + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_ELECTRIC_TERRAIN) && moveType == TYPE_ELECTRIC) + modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); + if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_PSYCHIC_TERRAIN) && moveType == TYPE_PSYCHIC) + modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); + #if B_SPORT_TURNS >= GEN_6 + if ((moveType == TYPE_ELECTRIC && gFieldStatuses & STATUS_FIELD_MUDSPORT) + || (moveType == TYPE_FIRE && gFieldStatuses & STATUS_FIELD_WATERSPORT)) + #else + if ((moveType == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_MUD_SPORT, 0)) + || (moveType == TYPE_FIRE && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_WATER_SPORT, 0))) + #endif + #if B_SPORT_DMG_REDUCTION >= GEN_5 + modifier = uq4_12_multiply(modifier, UQ_4_12(0.23)); + #else + modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + #endif + // attacker's abilities switch (atkAbility) { @@ -8890,16 +8969,6 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (moveType == TYPE_FIRE) modifier = uq4_12_multiply(modifier, UQ_4_12(1.25)); break; - case ABILITY_FLUFFY: - if (IsMoveMakingContact(move, battlerAtk)) - { - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - if (updateFlags) - RecordAbilityBattle(battlerDef, defAbility); - } - if (moveType == TYPE_FIRE) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - break; case ABILITY_PROTOSYNTHESIS: { u8 defHighestStat = GetHighestStatId(battlerDef); @@ -8993,86 +9062,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); break; } - - // move effect - switch (gBattleMoves[move].effect) - { - case EFFECT_FACADE: - if (gBattleMons[battlerAtk].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_PARALYSIS | STATUS1_FROSTBITE)) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - break; - case EFFECT_BRINE: - if (gBattleMons[battlerDef].hp <= (gBattleMons[battlerDef].maxHP / 2)) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - break; - case EFFECT_BARB_BARRAGE: - case EFFECT_VENOSHOCK: - if (gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - break; - case EFFECT_RETALIATE: - if (gSideTimers[atkSide].retaliateTimer == 1) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - break; - case EFFECT_SOLAR_BEAM: - if (IsBattlerWeatherAffected(battlerAtk, (B_WEATHER_HAIL | B_WEATHER_SANDSTORM | B_WEATHER_RAIN | B_WEATHER_SNOW))) - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - break; - case EFFECT_STOMPING_TANTRUM: - if (gBattleStruct->lastMoveFailed & gBitTable[battlerAtk]) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - break; - case EFFECT_BULLDOZE: - case EFFECT_MAGNITUDE: - case EFFECT_EARTHQUAKE: - if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && !(gStatuses3[battlerDef] & STATUS3_SEMI_INVULNERABLE)) - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - break; - case EFFECT_KNOCK_OFF: - #if B_KNOCK_OFF_DMG >= GEN_6 - if (gBattleMons[battlerDef].item != ITEM_NONE - && CanBattlerGetOrLoseItem(battlerDef, gBattleMons[battlerDef].item)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); - #endif - break; - } - -#if B_TERRAIN_TYPE_BOOST >= GEN_8 - #define TERRAIN_TYPE_BOOST UQ_4_12(1.3) -#else - #define TERRAIN_TYPE_BOOST UQ_4_12(1.5) -#endif - - // various effects - if (gProtectStructs[battlerAtk].helpingHand) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); - if (gSpecialStatuses[battlerAtk].gemBoost) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.0) + sPercentToModifier[gSpecialStatuses[battlerAtk].gemParam]); - if (gStatuses3[battlerAtk] & STATUS3_CHARGED_UP && moveType == TYPE_ELECTRIC) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); - if (gStatuses3[battlerAtk] & STATUS3_ME_FIRST) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); - if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && moveType == TYPE_GRASS && IsBattlerGrounded(battlerAtk) && !(gStatuses3[battlerAtk] & STATUS3_SEMI_INVULNERABLE)) - modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); - if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN && moveType == TYPE_DRAGON && IsBattlerGrounded(battlerDef) && !(gStatuses3[battlerDef] & STATUS3_SEMI_INVULNERABLE)) - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && moveType == TYPE_ELECTRIC && IsBattlerGrounded(battlerAtk) && !(gStatuses3[battlerAtk] & STATUS3_SEMI_INVULNERABLE)) - modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); - if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN && moveType == TYPE_PSYCHIC && IsBattlerGrounded(battlerAtk) && !(gStatuses3[battlerAtk] & STATUS3_SEMI_INVULNERABLE)) - modifier = uq4_12_multiply(modifier, TERRAIN_TYPE_BOOST); - #if B_SPORT_TURNS >= GEN_6 - if ((moveType == TYPE_ELECTRIC && gFieldStatuses & STATUS_FIELD_MUDSPORT) - || (moveType == TYPE_FIRE && gFieldStatuses & STATUS_FIELD_WATERSPORT)) - #else - if ((moveType == TYPE_ELECTRIC && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_MUD_SPORT, 0)) - || (moveType == TYPE_FIRE && AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, 0, ABILITYEFFECT_WATER_SPORT, 0))) - #endif - #if B_SPORT_DMG_REDUCTION >= GEN_5 - modifier = uq4_12_multiply(modifier, UQ_4_12(0.23)); - #else - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - #endif - return ApplyModifier(modifier, basePower); + return uq4_12_multiply_by_int_half_down(modifier, basePower); } #undef TERRAIN_TYPE_BOOST @@ -9136,39 +9126,39 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b case ABILITY_HUGE_POWER: case ABILITY_PURE_POWER: if (IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case ABILITY_SLOW_START: if (gDisableStructs[battlerAtk].slowStartTimer != 0) - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(0.5)); break; case ABILITY_SOLAR_POWER: if (IS_MOVE_SPECIAL(move) && IsBattlerWeatherAffected(battlerAtk, B_WEATHER_SUN)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_DEFEATIST: if (gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 2)) - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(0.5)); break; case ABILITY_FLASH_FIRE: if (moveType == TYPE_FIRE && gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_FLASH_FIRE) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_SWARM: if (moveType == TYPE_BUG && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_TORRENT: if (moveType == TYPE_WATER && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_BLAZE: if (moveType == TYPE_FIRE && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_OVERGROW: if (moveType == TYPE_GRASS && gBattleMons[battlerAtk].hp <= (gBattleMons[battlerAtk].maxHP / 3)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; #if B_PLUS_MINUS_INTERACTION >= GEN_5 case ABILITY_PLUS: @@ -9177,34 +9167,34 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { u32 partnerAbility = GetBattlerAbility(BATTLE_PARTNER(battlerAtk)); if (partnerAbility == ABILITY_PLUS || partnerAbility == ABILITY_MINUS) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); } break; #else case ABILITY_PLUS: if (IS_MOVE_SPECIAL(move) && IsBattlerAlive(BATTLE_PARTNER(battlerAtk)) && GetBattlerAbility(BATTLE_PARTNER(battlerAtk)) == ABILITY_MINUS) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_MINUS: if (IS_MOVE_SPECIAL(move) && IsBattlerAlive(BATTLE_PARTNER(battlerAtk)) && GetBattlerAbility(BATTLE_PARTNER(battlerAtk)) == ABILITY_PLUS) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; #endif case ABILITY_FLOWER_GIFT: if (gBattleMons[battlerAtk].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(battlerAtk, B_WEATHER_SUN) && IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_HUSTLE: if (IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_STAKEOUT: if (gDisableStructs[battlerDef].isFirstTurn == 2) // just switched in - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case ABILITY_GUTS: if (gBattleMons[battlerAtk].status1 & STATUS1_ANY && IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; } @@ -9214,15 +9204,11 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b case ABILITY_THICK_FAT: if (moveType == TYPE_FIRE || moveType == TYPE_ICE) { - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(0.5)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_THICK_FAT); } break; - case ABILITY_ICE_SCALES: - if (IS_MOVE_SPECIAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(0.5)); - break; } // ally's abilities @@ -9232,7 +9218,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { case ABILITY_FLOWER_GIFT: if (gBattleMons[BATTLE_PARTNER(battlerAtk)].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(BATTLE_PARTNER(battlerAtk), B_WEATHER_SUN) && IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; } } @@ -9242,34 +9228,34 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b { case HOLD_EFFECT_THICK_CLUB: if ((atkBaseSpeciesId == SPECIES_CUBONE || atkBaseSpeciesId == SPECIES_MAROWAK) && IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_DEEP_SEA_TOOTH: if (gBattleMons[battlerAtk].species == SPECIES_CLAMPERL && IS_MOVE_SPECIAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_LIGHT_BALL: if (atkBaseSpeciesId == SPECIES_PIKACHU) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_CHOICE_BAND: if (IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case HOLD_EFFECT_CHOICE_SPECS: if (IS_MOVE_SPECIAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; } // The offensive stats of a Player's Pokémon are boosted by x1.1 (+10%) if they have the 1st badge and 7th badges. // Having the 1st badge boosts physical attack while having the 7th badge boosts special attack. if (ShouldGetStatBadgeBoost(FLAG_BADGE01_GET, battlerAtk) && IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.1)); if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, battlerAtk) && IS_MOVE_SPECIAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.1)); - return ApplyModifier(modifier, atkStat); + return uq4_12_multiply_by_int_half_down(modifier, atkStat); } static bool32 CanEvolve(u32 species) @@ -9343,7 +9329,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, case ABILITY_MARVEL_SCALE: if (gBattleMons[battlerDef].status1 & STATUS1_ANY && usesDefStat) { - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_MARVEL_SCALE); } @@ -9351,7 +9337,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, case ABILITY_FUR_COAT: if (usesDefStat) { - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_FUR_COAT); } @@ -9359,22 +9345,18 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, case ABILITY_GRASS_PELT: if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && usesDefStat) { - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); if (updateFlags) RecordAbilityBattle(battlerDef, ABILITY_GRASS_PELT); } break; case ABILITY_FLOWER_GIFT: if (gBattleMons[battlerDef].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(battlerDef, B_WEATHER_SUN) && !usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); - break; - case ABILITY_PUNK_ROCK: - if (gBattleMoves[move].soundMove) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case ABILITY_PURIFYING_SALT: if (gBattleMoves[move].type == TYPE_GHOST) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; } @@ -9385,7 +9367,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, { case ABILITY_FLOWER_GIFT: if (gBattleMons[BATTLE_PARTNER(battlerDef)].species == SPECIES_CHERRIM_SUNSHINE && IsBattlerWeatherAffected(BATTLE_PARTNER(battlerDef), B_WEATHER_SUN) && !usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; } } @@ -9395,240 +9377,374 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, { case HOLD_EFFECT_DEEP_SEA_SCALE: if (gBattleMons[battlerDef].species == SPECIES_CLAMPERL && !usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_METAL_POWDER: if (gBattleMons[battlerDef].species == SPECIES_DITTO && usesDefStat && !(gBattleMons[battlerDef].status2 & STATUS2_TRANSFORMED)) - modifier = uq4_12_multiply(modifier, UQ_4_12(2.0)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(2.0)); break; case HOLD_EFFECT_EVIOLITE: if (CanEvolve(gBattleMons[battlerDef].species)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; case HOLD_EFFECT_ASSAULT_VEST: if (!usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; #if B_SOUL_DEW_BOOST <= GEN_6 case HOLD_EFFECT_SOUL_DEW: if ((gBattleMons[battlerDef].species == SPECIES_LATIAS || gBattleMons[battlerDef].species == SPECIES_LATIOS) && !(gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && !usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); break; #endif } // sandstorm sp.def boost for rock types if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ROCK) && gBattleWeather & B_WEATHER_SANDSTORM && WEATHER_HAS_EFFECT && !usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); // snow def boost for ice types if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ICE) && gBattleWeather & B_WEATHER_SNOW && WEATHER_HAS_EFFECT && usesDefStat) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.5)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); // The defensive stats of a Player's Pokémon are boosted by x1.1 (+10%) if they have the 5th badge and 7th badges. // Having the 5th badge boosts physical defense while having the 7th badge boosts special defense. if (ShouldGetStatBadgeBoost(FLAG_BADGE05_GET, battlerDef) && IS_MOVE_PHYSICAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.1)); if (ShouldGetStatBadgeBoost(FLAG_BADGE07_GET, battlerDef) && IS_MOVE_SPECIAL(move)) - modifier = uq4_12_multiply(modifier, UQ_4_12(1.1)); + modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.1)); - return ApplyModifier(modifier, defStat); + return uq4_12_multiply_by_int_half_down(modifier, defStat); } -static u32 CalcFinalDmg(u32 dmg, u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, uq4_12_t typeEffectivenessModifier, bool32 isCrit, bool32 updateFlags) +// base damage formula before adding any modifiers +static inline s32 CalculateBaseDamage(u32 power, u32 userFinalAttack, u32 level, u32 targetFinalDefense) { - u32 percentBoost; - u32 abilityAtk = GetBattlerAbility(battlerAtk); - u32 abilityDef = GetBattlerAbility(battlerDef); - u32 defSide = GET_BATTLER_SIDE(battlerDef); - uq4_12_t finalModifier = UQ_4_12(1.0); - u16 itemDef = gBattleMons[battlerDef].item; - u16 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); - u16 holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); + return power * userFinalAttack * (2 * level / 5 + 2) / targetFinalDefense / 50 + 2; +} - // check multiple targets in double battle +#if B_MULTIPLE_TARGETS_DMG >= GEN_4 + #define V_MULTIPLE_TARGETS_DMG UQ_4_12(0.75) +#else + #define V_MULTIPLE_TARGETS_DMG UQ_4_12(0.5) +#endif + +#if B_CRIT_MULTIPLIER >= GEN_6 + #define V_CRIT_MULTIPLIER UQ_4_12(1.5) +#else + #define V_CRIT_MULTIPLIER UQ_4_12(2.0) +#endif + +#if B_BURN_FACADE_DMG >= GEN_6 + #define FACADE_PREVENTS_BURN_MALUS(move) (gBattleMoves[move].effect == EFFECT_FACADE) +#else + #define FACADE_PREVENTS_BURN_MALUS(move) (FALSE) +#endif + +#if B_PARENTAL_BOND_DMG < GEN_7 + #define V_PARENTAL_BOND_DMG UQ_4_12(0.5) +#else + #define V_PARENTAL_BOND_DMG UQ_4_12(0.25) +#endif + +static inline uq4_12_t GetTargetDamageModifier(u32 move, u32 battlerAtk, u32 battlerDef) +{ if (GetMoveTargetCount(move, battlerAtk, battlerDef) >= 2) - #if B_MULTIPLE_TARGETS_DMG >= GEN_4 - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.75)); - #else - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); - #endif + return V_MULTIPLE_TARGETS_DMG; + return UQ_4_12(1.0); +} - // take type effectiveness - finalModifier = uq4_12_multiply(finalModifier, typeEffectivenessModifier); +static inline uq4_12_t GetParentalBondModifier(u32 battlerAtk) +{ + if (gSpecialStatuses[battlerAtk].parentalBondState != PARENTAL_BOND_2ND_HIT) + return UQ_4_12(1.0); + return V_PARENTAL_BOND_DMG; +} - // check crit - if (isCrit) - #if B_CRIT_MULTIPLIER >= GEN_6 - dmg = ApplyModifier(UQ_4_12(1.5), dmg); - #else - dmg = ApplyModifier(UQ_4_12(2.0), dmg); - #endif +static inline uq4_12_t GetSameTypeAttackBonusModifier(u32 battlerAtk, u32 moveType, u32 move, u32 abilityAtk) +{ + if (!IS_BATTLER_OF_TYPE(battlerAtk, moveType) || move == MOVE_STRUGGLE || move == MOVE_NONE) + return UQ_4_12(1.0); + return (abilityAtk == ABILITY_ADAPTABILITY) ? UQ_4_12(2.0) : UQ_4_12(1.5); +} - // check burn - if (gBattleMons[battlerAtk].status1 & STATUS1_BURN && IS_MOVE_PHYSICAL(move) - #if B_BURN_FACADE_DMG >= GEN_6 - && gBattleMoves[move].effect != EFFECT_FACADE - #endif +// Utility Umbrella holders take normal damage from what would be rain- and sun-weakened attacks. +static uq4_12_t GetWeatherDamageModifier(u32 battlerAtk, u32 move, u32 moveType, u32 holdEffectAtk, u32 holdEffectDef) +{ + if (!WEATHER_HAS_EFFECT) + return UQ_4_12(1.0); + if (gBattleMoves[move].effect == EFFECT_HYDRO_STEAM && (gBattleWeather & B_WEATHER_SUN) && holdEffectAtk != HOLD_EFFECT_UTILITY_UMBRELLA) + return UQ_4_12(1.5); + if (holdEffectDef == HOLD_EFFECT_UTILITY_UMBRELLA) + return UQ_4_12(1.0); + + if (gBattleWeather & B_WEATHER_RAIN) + { + if (moveType != TYPE_FIRE && moveType != TYPE_WATER) + return UQ_4_12(1.0); + return (moveType == TYPE_FIRE) ? UQ_4_12(0.5) : UQ_4_12(1.5); + } + if (gBattleWeather & B_WEATHER_SUN) + { + if (moveType != TYPE_FIRE && moveType != TYPE_WATER) + return UQ_4_12(1.0); + return (moveType == TYPE_WATER) ? UQ_4_12(0.5) : UQ_4_12(1.5); + } + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetBurnOrFrostBiteModifier(u32 battlerAtk, u32 move, u32 abilityAtk) +{ + if (gBattleMons[battlerAtk].status1 & STATUS1_BURN + && IS_MOVE_PHYSICAL(move) + && !FACADE_PREVENTS_BURN_MALUS(move) && abilityAtk != ABILITY_GUTS) - dmg = ApplyModifier(UQ_4_12(0.5), dmg); - - // check frostbite - if (gBattleMons[battlerAtk].status1 & STATUS1_FROSTBITE && IS_MOVE_SPECIAL(move) - #if B_BURN_FACADE_DMG >= GEN_6 - && gBattleMoves[move].effect != EFFECT_FACADE - #endif + return UQ_4_12(0.5); + if (gBattleMons[battlerAtk].status1 & STATUS1_FROSTBITE + && IS_MOVE_SPECIAL(move) + && !FACADE_PREVENTS_BURN_MALUS(move) && abilityAtk != ABILITY_GUTS) - dmg = ApplyModifier(UQ_4_12(0.5), dmg); + return UQ_4_12(0.5); + return UQ_4_12(1.0); +} - // check weather - dmg = ApplyWeatherDamageMultiplier(battlerAtk, move, moveType, dmg, holdEffectAtk, holdEffectDef); +static inline uq4_12_t GetCriticalModifier(bool32 isCrit) +{ + return isCrit ? V_CRIT_MULTIPLIER : UQ_4_12(1.0); +} - // check stab - if (IS_BATTLER_OF_TYPE(battlerAtk, moveType) && move != MOVE_STRUGGLE && move != MOVE_NONE) - { - if (abilityAtk == ABILITY_ADAPTABILITY) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); - else - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.5)); - } - - // Collision Course, Electro Drift - if (gBattleMoves[move].effect == EFFECT_COLLISION_COURSE && typeEffectivenessModifier >= UQ_4_12(2.0)) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.3333)); - - // reflect, light screen, aurora veil - if (((gSideStatuses[defSide] & SIDE_STATUS_REFLECT && IS_MOVE_PHYSICAL(move)) - || (gSideStatuses[defSide] & SIDE_STATUS_LIGHTSCREEN && IS_MOVE_SPECIAL(move)) - || (gSideStatuses[defSide] & SIDE_STATUS_AURORA_VEIL)) - && abilityAtk != ABILITY_INFILTRATOR - && !(isCrit) - && !gProtectStructs[battlerAtk].confusionSelfDmg) - { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.66)); - else - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); - } - - // Parental Bond Second Strike - if (gSpecialStatuses[battlerAtk].parentalBondState == PARENTAL_BOND_2ND_HIT) - { - if (B_PARENTAL_BOND_DMG < GEN_7) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); - else - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.25)); - } - - // Z-Moves and Max Moves bypass Protect and do 25% of their original damage +static inline uq4_12_t GetZMoveAgainstProtectionModifier(u32 battlerDef) +{ if (gBattleStruct->zmove.active && IS_BATTLER_PROTECTED(battlerDef)) - { - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.25)); - } + return UQ_4_12(0.25); + return UQ_4_12(1.0); +} - // attacker's abilities +static inline uq4_12_t GetMinimizeModifier(u32 move, u32 battlerDef) +{ + if (gBattleMoves[move].minimizeDoubleDamage && gStatuses3[battlerDef] & STATUS3_MINIMIZED) + return UQ_4_12(2.0); + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetUndergroundModifier(u32 move, u32 battlerDef) +{ + if (gBattleMoves[move].damagesUnderground && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) + return UQ_4_12(2.0); + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetDiveModifier(u32 move, u32 battlerDef) +{ + if (gBattleMoves[move].damagesUnderwater && gStatuses3[battlerDef] & STATUS3_UNDERWATER) + return UQ_4_12(2.0); + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetAirborneModifier(u32 move, u32 battlerDef) +{ + if (gBattleMoves[move].damagesAirborneDoubleDamage && gStatuses3[battlerDef] & STATUS3_ON_AIR) + return UQ_4_12(2.0); + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetScreensModifier(u32 move, u32 battlerAtk, u32 battlerDef, bool32 isCrit) +{ + u32 sideStatus = gSideStatuses[GET_BATTLER_SIDE(battlerDef)]; + bool32 lightScreen = (sideStatus & SIDE_STATUS_LIGHTSCREEN) && IS_MOVE_SPECIAL(move); + bool32 reflect = (sideStatus & SIDE_STATUS_REFLECT) && IS_MOVE_PHYSICAL(move); + bool32 auroraVeil = sideStatus & SIDE_STATUS_AURORA_VEIL; + u32 abilityAtk = GetBattlerAbility(battlerAtk); + + if (isCrit || abilityAtk == ABILITY_INFILTRATOR || gProtectStructs[battlerAtk].confusionSelfDmg) + return UQ_4_12(1.0); + if (reflect || lightScreen || auroraVeil) + return (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) ? UQ_4_12(0.667) : UQ_4_12(0.5); + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetCollisionCourseElectroDriftModifier(u32 move, uq4_12_t typeEffectivenessModifier) +{ + if (gBattleMoves[move].effect == EFFECT_COLLISION_COURSE && typeEffectivenessModifier >= UQ_4_12(2.0)) + return UQ_4_12(1.3333); + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetAttackerAbilitiesModifier(u32 battlerAtk, uq4_12_t typeEffectivenessModifier, bool32 isCrit) +{ + u32 abilityAtk = GetBattlerAbility(battlerAtk); switch (abilityAtk) { - case ABILITY_TINTED_LENS: - if (typeEffectivenessModifier <= UQ_4_12(0.5)) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); + case ABILITY_NEUROFORCE: + if (typeEffectivenessModifier >= UQ_4_12(2.0)) + return UQ_4_12(1.25); break; case ABILITY_SNIPER: if (isCrit) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.5)); + return UQ_4_12(1.5); break; - case ABILITY_NEUROFORCE: - if (typeEffectivenessModifier >= UQ_4_12(2.0)) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.25)); + case ABILITY_TINTED_LENS: + if (typeEffectivenessModifier <= UQ_4_12(0.5)) + return UQ_4_12(2.0); break; } + return UQ_4_12(1.0); +} - // target's abilities +static inline uq4_12_t GetDefenderAbilitiesModifier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, uq4_12_t typeEffectivenessModifier) +{ + u32 abilityDef = GetBattlerAbility(battlerDef); switch (abilityDef) { case ABILITY_MULTISCALE: case ABILITY_SHADOW_SHIELD: if (BATTLER_MAX_HP(battlerDef)) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); + return UQ_4_12(0.5); break; case ABILITY_FILTER: case ABILITY_SOLID_ROCK: case ABILITY_PRISM_ARMOR: if (typeEffectivenessModifier >= UQ_4_12(2.0)) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.75)); + return UQ_4_12(0.75); + break; + case ABILITY_FLUFFY: + if (!IsMoveMakingContact(move, battlerAtk) && moveType == TYPE_FIRE) + return UQ_4_12(2.0); + if (IsMoveMakingContact(move, battlerAtk) && moveType != TYPE_FIRE) + return UQ_4_12(0.5); + break; + case ABILITY_PUNK_ROCK: + if (gBattleMoves[move].soundMove) + return UQ_4_12(0.5); + break; + case ABILITY_ICE_SCALES: + if (IS_MOVE_SPECIAL(move)) + return UQ_4_12(0.5); break; } + return UQ_4_12(1.0); +} - // target's ally's abilities - if (IsBattlerAlive(BATTLE_PARTNER(battlerDef))) +static inline uq4_12_t GetDefenderPartnerAbilitiesModifier(u32 battlerPartnerDef) +{ + if (!IsBattlerAlive(battlerPartnerDef)) + return UQ_4_12(1.0); + + switch (GetBattlerAbility(battlerPartnerDef)) { - switch (GetBattlerAbility(BATTLE_PARTNER(battlerDef))) - { - case ABILITY_FRIEND_GUARD: - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.75)); - break; - } + case ABILITY_FRIEND_GUARD: + return UQ_4_12(0.75); + break; } + return UQ_4_12(1.0); +} - // attacker's hold effect +static inline uq4_12_t GetAttackerItemsModifier(u32 battlerAtk, uq4_12_t typeEffectivenessModifier) +{ + u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); + u32 percentBoost; switch (holdEffectAtk) { case HOLD_EFFECT_METRONOME: percentBoost = min((gBattleStruct->sameMoveTurns[battlerAtk] * GetBattlerHoldEffectParam(battlerAtk)), 100); - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.0) + sPercentToModifier[percentBoost]); + return sPercentToModifier[percentBoost]; break; case HOLD_EFFECT_EXPERT_BELT: if (typeEffectivenessModifier >= UQ_4_12(2.0)) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.2)); + return UQ_4_12(1.2); break; case HOLD_EFFECT_LIFE_ORB: - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(1.3)); + return UQ_4_12(1.3); break; } + return UQ_4_12(1.0); +} + +static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq4_12_t typeEffectivenessModifier, bool32 updateFlags) +{ + u32 holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); + u32 holdEffectDefParam = GetBattlerHoldEffectParam(battlerDef); + u32 itemDef = gBattleMons[battlerDef].item; + u32 abilityDef = GetBattlerAbility(battlerDef); - // target's hold effect switch (holdEffectDef) { - // berries reducing dmg case HOLD_EFFECT_RESIST_BERRY: - if (moveType == GetBattlerHoldEffectParam(battlerDef) - && (moveType == TYPE_NORMAL || typeEffectivenessModifier >= UQ_4_12(2.0)) - && !UnnerveOn(battlerDef, itemDef)) + if (UnnerveOn(battlerDef, itemDef)) + return UQ_4_12(1.0); + if (moveType == holdEffectDefParam && (moveType == TYPE_NORMAL || typeEffectivenessModifier >= UQ_4_12(2.0))) { - if (abilityDef == ABILITY_RIPEN) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.25)); - else - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(0.5)); if (updateFlags) gSpecialStatuses[battlerDef].berryReduced = TRUE; + return (abilityDef == ABILITY_RIPEN) ? UQ_4_12(0.25) : UQ_4_12(0.5); } break; } - - if (gBattleMoves[move].minimizeDoubleDamage && gStatuses3[battlerDef] & STATUS3_MINIMIZED) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); - if (gBattleMoves[move].damagesUnderground && gStatuses3[battlerDef] & STATUS3_UNDERGROUND) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); - if (gBattleMoves[move].damagesUnderwater && gStatuses3[battlerDef] & STATUS3_UNDERWATER) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); - if (gBattleMoves[move].damagesAirborneDoubleDamage && gStatuses3[battlerDef] & STATUS3_ON_AIR) - finalModifier = uq4_12_multiply(finalModifier, UQ_4_12(2.0)); - - dmg = ApplyModifier(finalModifier, dmg); - if (dmg == 0) - dmg = 1; - - return dmg; + return UQ_4_12(1.0); } -static s32 DoMoveDamageCalc(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, +#define DAMAGE_MULTIPLY_MODIFIER(modifier) do { \ + finalModifier = uq4_12_multiply_half_down(modifier, finalModifier); \ +} while (0) + +// Calculates the "other" modifier which accounts for held items, abilities, +// or very specific interactions of moves that are not handled in the basic +// damage calculation. It is implemented as described by bulbapedia: +// https://bulbapedia.bulbagarden.net/wiki/Damage#Generation_V_onward +// Please Note: Fixed Point Multiplication is not associative. +// The order of operations is relevant. +static uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 isCrit, uq4_12_t typeEffectivenessModifier, bool32 updateFlags) +{ + u32 abilityAtk = GetBattlerAbility(battlerAtk); + uq4_12_t finalModifier = UQ_4_12(1.0); + u32 battlerDefPartner = BATTLE_PARTNER(battlerDef); + u32 unmodifiedAttackerSpeed = gBattleMons[battlerAtk].speed; + u32 unmodifiedDefenderSpeed = gBattleMons[battlerDef].speed; + //TODO: Behemoth Blade, Behemoth Bash, Dynamax Cannon (Dynamax) + DAMAGE_MULTIPLY_MODIFIER(GetMinimizeModifier(move, battlerDef)); + DAMAGE_MULTIPLY_MODIFIER(GetUndergroundModifier(move, battlerDef)); + DAMAGE_MULTIPLY_MODIFIER(GetDiveModifier(move, battlerDef)); + DAMAGE_MULTIPLY_MODIFIER(GetAirborneModifier(move, battlerDef)); + DAMAGE_MULTIPLY_MODIFIER(GetScreensModifier(move, battlerAtk, battlerDef, isCrit)); + DAMAGE_MULTIPLY_MODIFIER(GetCollisionCourseElectroDriftModifier(move, typeEffectivenessModifier)); + + if (unmodifiedAttackerSpeed >= unmodifiedDefenderSpeed) + { + DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderPartnerAbilitiesModifier(battlerDefPartner)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags)); + } + else + { + DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderPartnerAbilitiesModifier(battlerDefPartner)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier)); + } + return finalModifier; +} + +#undef DAMAGE_ACCUMULATE_MULTIPLIER + +#define DAMAGE_APPLY_MODIFIER(modifier) do { \ + dmg = uq4_12_multiply_by_int_half_down(modifier, dmg); \ +} while (0) + +static s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier) { s32 dmg; + u32 userFinalAttack; + u32 targetFinalDefense; + u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); + u32 holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); + u32 abilityAtk = GetBattlerAbility(battlerAtk); - // Don't calculate damage if the move has no effect on target. - if (typeEffectivenessModifier == UQ_4_12(0)) + if (typeEffectivenessModifier == UQ_4_12(0.0)) return 0; if (fixedBasePower) @@ -9636,29 +9752,34 @@ static s32 DoMoveDamageCalc(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, else gBattleMovePower = CalcMoveBasePowerAfterModifiers(move, battlerAtk, battlerDef, moveType, updateFlags); - // long dmg basic formula - dmg = ((gBattleMons[battlerAtk].level * 2) / 5) + 2; - dmg *= gBattleMovePower; - dmg *= CalcAttackStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags); - dmg /= CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags); - dmg = (dmg / 50) + 2; + userFinalAttack = CalcAttackStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags); + targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags); - // Calculate final modifiers. - dmg = CalcFinalDmg(dmg, move, battlerAtk, battlerDef, moveType, typeEffectivenessModifier, isCrit, updateFlags); - - // Add a random factor. + dmg = CalculateBaseDamage(gBattleMovePower, userFinalAttack, gBattleMons[battlerAtk].level, targetFinalDefense); + DAMAGE_APPLY_MODIFIER(GetTargetDamageModifier(move, battlerAtk, battlerDef)); + DAMAGE_APPLY_MODIFIER(GetParentalBondModifier(battlerAtk)); + DAMAGE_APPLY_MODIFIER(GetWeatherDamageModifier(battlerAtk, move, moveType, holdEffectAtk, holdEffectDef)); + DAMAGE_APPLY_MODIFIER(GetCriticalModifier(isCrit)); + // TODO: Glaive Rush (Gen IX effect) if (randomFactor) { dmg *= 100 - RandomUniform(RNG_DAMAGE_MODIFIER, 0, 15); dmg /= 100; } + DAMAGE_APPLY_MODIFIER(GetSameTypeAttackBonusModifier(battlerAtk, moveType, move, abilityAtk)); + DAMAGE_APPLY_MODIFIER(typeEffectivenessModifier); + DAMAGE_APPLY_MODIFIER(GetBurnOrFrostBiteModifier(battlerAtk, move, abilityAtk)); + DAMAGE_APPLY_MODIFIER(GetZMoveAgainstProtectionModifier(battlerDef)); + DAMAGE_APPLY_MODIFIER(GetOtherModifiers(move, moveType, battlerAtk, battlerDef, isCrit, typeEffectivenessModifier, updateFlags)); + if (dmg == 0) dmg = 1; - return dmg; } +#undef DAMAGE_APPLY_MODIFIER + s32 CalculateMoveDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags) { return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, @@ -10775,34 +10896,6 @@ bool32 IsBattlerWeatherAffected(u8 battlerId, u32 weatherFlags) return FALSE; } -// Utility Umbrella holders take normal damage from what would be rain- and sun-weakened attacks. -u32 ApplyWeatherDamageMultiplier(u8 battlerAtk, u16 move, u8 moveType, u32 dmg, u16 holdEffectAtk, u16 holdEffectDef) -{ - if (WEATHER_HAS_EFFECT) - { - if (gBattleMoves[move].effect == EFFECT_HYDRO_STEAM && (gBattleWeather & B_WEATHER_SUN) && holdEffectAtk != HOLD_EFFECT_UTILITY_UMBRELLA) - dmg = ApplyModifier(UQ_4_12(1.5), dmg); - else if (holdEffectDef != HOLD_EFFECT_UTILITY_UMBRELLA) - { - if (gBattleWeather & B_WEATHER_RAIN) - { - if (moveType == TYPE_FIRE) - dmg = ApplyModifier(UQ_4_12(0.5), dmg); - else if (moveType == TYPE_WATER) - dmg = ApplyModifier(UQ_4_12(1.5), dmg); - } - else if (gBattleWeather & B_WEATHER_SUN) - { - if (moveType == TYPE_FIRE) - dmg = ApplyModifier(UQ_4_12(1.5), dmg); - else if (moveType == TYPE_WATER) - dmg = ApplyModifier(UQ_4_12(0.5), dmg); - } - } - } - return dmg; -} - // Gets move target before redirection effects etc. are applied // Possible return values are defined in battle.h following MOVE_TARGET_SELECTED u32 GetBattlerMoveTargetType(u8 battlerId, u16 move) diff --git a/test/ability_contrary.c b/test/ability_contrary.c index 52347f3790..799cb11168 100644 --- a/test/ability_contrary.c +++ b/test/ability_contrary.c @@ -26,7 +26,7 @@ SINGLE_BATTLE_TEST("Contrary raises Attack when Intimidated", s16 damage) HP_BAR(player, captureDamage: &results[i].damage); } FINALLY { - EXPECT_MUL_EQ(results[1].damage, Q_4_12(2.125), results[0].damage); + EXPECT_MUL_EQ(results[1].damage, Q_4_12(2.25), results[0].damage); } } diff --git a/test/ability_dry_skin.c b/test/ability_dry_skin.c index 028076d5a3..59f99760c3 100644 --- a/test/ability_dry_skin.c +++ b/test/ability_dry_skin.c @@ -36,15 +36,24 @@ SINGLE_BATTLE_TEST("Dry Skin increases damage taken from Fire-type moves by 25%" PARAMETRIZE { ability = ABILITY_DRY_SKIN; } GIVEN { ASSUME(gBattleMoves[MOVE_EMBER].type == TYPE_FIRE); - PLAYER(SPECIES_WOBBUFFET); - OPPONENT(SPECIES_PARASECT) { Ability(ability); } + ASSUME(gBattleMoves[MOVE_EMBER].power == 40); + ASSUME(gSpeciesInfo[SPECIES_PARASECT].types[0] == TYPE_BUG); + ASSUME(gSpeciesInfo[SPECIES_PARASECT].types[1] == TYPE_GRASS); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] == TYPE_PSYCHIC); + PLAYER(SPECIES_WOBBUFFET) { SpAttack(71); } + OPPONENT(SPECIES_PARASECT) { Ability(ability); SpDefense(165); } } WHEN { TURN { MOVE(player, MOVE_EMBER); } } SCENE { MESSAGE("Wobbuffet used Ember!"); HP_BAR(opponent, captureDamage: &results[i].damage); } FINALLY { - EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.25), results[1].damage); + // Due to numerics related to rounding on each applied multiplier, + // the ability effect doesn't manifest as a 25% damage increase, but as a ~31% damage increase in this case. + // Values obtained from https://calc.pokemonshowdown.com (Neutral nature and 0 IVs on both sides) + EXPECT_EQ(results[0].damage, 52); + EXPECT_EQ(results[1].damage, 68); } } diff --git a/test/ability_fluffy.c b/test/ability_fluffy.c new file mode 100644 index 0000000000..238045e25d --- /dev/null +++ b/test/ability_fluffy.c @@ -0,0 +1,66 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(gBattleMoves[MOVE_EMBER].type == TYPE_FIRE); + ASSUME(gBattleMoves[MOVE_TACKLE].makesContact); + ASSUME(gBattleMoves[MOVE_FIRE_PUNCH].makesContact); + ASSUME(gBattleMoves[MOVE_FIRE_PUNCH].type == TYPE_FIRE); + ASSUME(P_GEN_7_POKEMON == TRUE); +} + +SINGLE_BATTLE_TEST("Fluffy halves damage taken from moves that make direct contact", s16 damage) +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_KLUTZ; } + PARAMETRIZE { ability = ABILITY_FLUFFY; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_STUFFUL) { Ability(ability); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + MESSAGE("Wobbuffet used Tackle!"); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(0.5), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Fluffy doubles damage taken from fire type moves", s16 damage) +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_KLUTZ; } + PARAMETRIZE { ability = ABILITY_FLUFFY; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_STUFFUL) { Ability(ability); } + } WHEN { + TURN { MOVE(player, MOVE_EMBER); } + } SCENE { + MESSAGE("Wobbuffet used Ember!"); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Fluffy does not alter damage of fire-type moves that make direct contact", s16 damage) +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_KLUTZ; } + PARAMETRIZE { ability = ABILITY_FLUFFY; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_STUFFUL) { Ability(ability); } + } WHEN { + TURN { MOVE(player, MOVE_FIRE_PUNCH); } + } SCENE { + MESSAGE("Wobbuffet used Fire Punch!"); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_EQ(results[0].damage, results[1].damage); + } +} diff --git a/test/ability_swarm.c b/test/ability_swarm.c index 7709e976ea..7e4211119d 100644 --- a/test/ability_swarm.c +++ b/test/ability_swarm.c @@ -8,13 +8,21 @@ SINGLE_BATTLE_TEST("Swarm boosts Bug-type moves in a pinch", s16 damage) PARAMETRIZE { hp = 33; } GIVEN { ASSUME(gBattleMoves[MOVE_BUG_BITE].type == TYPE_BUG); - PLAYER(SPECIES_LEDYBA) { Ability(ABILITY_SWARM); MaxHP(99); HP(hp); } - OPPONENT(SPECIES_WOBBUFFET); + ASSUME(gBattleMoves[MOVE_BUG_BITE].power == 60); + ASSUME(gSpeciesInfo[SPECIES_LEDYBA].types[0] == TYPE_BUG); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] == TYPE_PSYCHIC); + PLAYER(SPECIES_LEDYBA) { Ability(ABILITY_SWARM); MaxHP(99); HP(hp); Attack(45); } + OPPONENT(SPECIES_WOBBUFFET) { Defense(121); } } WHEN { TURN { MOVE(player, MOVE_BUG_BITE); } } SCENE { HP_BAR(opponent, captureDamage: &results[i].damage); } FINALLY { - EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.5), results[1].damage); + // Due to numerics related to rounding on each applied multiplier, + // the 50% move power increase doesn't manifest as a 50% damage increase, but as a 44% damage increase in this case. + // Values obtained from https://calc.pokemonshowdown.com (Neutral nature and 0 IVs on both sides) + EXPECT_EQ(results[0].damage, 50); + EXPECT_EQ(results[1].damage, 72); } } diff --git a/test/damage_formula.c b/test/damage_formula.c new file mode 100644 index 0000000000..73d9193300 --- /dev/null +++ b/test/damage_formula.c @@ -0,0 +1,78 @@ +#include "global.h" +#include "test_battle.h" + +// From https://bulbapedia.bulbagarden.net/wiki/Damage#Example + +SINGLE_BATTLE_TEST("Damage calculation matches Gen5+") +{ + s16 dmg; + s16 expectedDamage; + PARAMETRIZE { expectedDamage = 196; } + PARAMETRIZE { expectedDamage = 192; } + PARAMETRIZE { expectedDamage = 192; } + PARAMETRIZE { expectedDamage = 192; } + PARAMETRIZE { expectedDamage = 184; } + PARAMETRIZE { expectedDamage = 184; } + PARAMETRIZE { expectedDamage = 184; } + PARAMETRIZE { expectedDamage = 180; } + PARAMETRIZE { expectedDamage = 180; } + PARAMETRIZE { expectedDamage = 180; } + PARAMETRIZE { expectedDamage = 172; } + PARAMETRIZE { expectedDamage = 172; } + PARAMETRIZE { expectedDamage = 172; } + PARAMETRIZE { expectedDamage = 168; } + PARAMETRIZE { expectedDamage = 168; } + PARAMETRIZE { expectedDamage = 168; } + GIVEN { + PLAYER(SPECIES_GLACEON) { Level(75); Attack(123); } + OPPONENT(SPECIES_GARCHOMP) { Defense(163); } + } WHEN { + TURN { + MOVE(player, MOVE_ICE_FANG, WITH_RNG(RNG_DAMAGE_MODIFIER, i)); + } + } + SCENE{ + MESSAGE("Glaceon used Ice Fang!"); + HP_BAR(opponent, captureDamage: &dmg); + } + THEN{ + EXPECT_EQ(expectedDamage, dmg); + } +} + +SINGLE_BATTLE_TEST("Damage calculation matches Gen5+ (Muscle Band, crit)") +{ + s16 dmg; + s16 expectedDamage; + PARAMETRIZE { expectedDamage = 324; } + PARAMETRIZE { expectedDamage = 316; } + PARAMETRIZE { expectedDamage = 312; } + PARAMETRIZE { expectedDamage = 312; } + PARAMETRIZE { expectedDamage = 304; } + PARAMETRIZE { expectedDamage = 304; } + PARAMETRIZE { expectedDamage = 300; } + PARAMETRIZE { expectedDamage = 300; } + PARAMETRIZE { expectedDamage = 292; } + PARAMETRIZE { expectedDamage = 292; } + PARAMETRIZE { expectedDamage = 288; } + PARAMETRIZE { expectedDamage = 288; } + PARAMETRIZE { expectedDamage = 280; } + PARAMETRIZE { expectedDamage = 276; } + PARAMETRIZE { expectedDamage = 276; } + PARAMETRIZE { expectedDamage = 268; } + GIVEN { + PLAYER(SPECIES_GLACEON) { Level(75); Attack(123); Item(ITEM_MUSCLE_BAND); } + OPPONENT(SPECIES_GARCHOMP) { Defense(163); } + } WHEN { + TURN { + MOVE(player, MOVE_ICE_FANG, WITH_RNG(RNG_DAMAGE_MODIFIER, i), criticalHit: TRUE); + } + } + SCENE{ + MESSAGE("Glaceon used Ice Fang!"); + HP_BAR(opponent, captureDamage: &dmg); + } + THEN{ + EXPECT_EQ(expectedDamage, dmg); + } +} diff --git a/test/status3.c b/test/status3.c new file mode 100644 index 0000000000..0331883bd8 --- /dev/null +++ b/test/status3.c @@ -0,0 +1,90 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS { + ASSUME(gBattleMoves[MOVE_MINIMIZE].effect == EFFECT_MINIMIZE); + ASSUME(gBattleMoves[MOVE_STEAMROLLER].minimizeDoubleDamage); + ASSUME(gBattleMoves[MOVE_EARTHQUAKE].damagesUnderground); + ASSUME(gBattleMoves[MOVE_SURF].damagesUnderwater); + ASSUME(gBattleMoves[MOVE_TWISTER].damagesAirborneDoubleDamage); +} + +SINGLE_BATTLE_TEST("Minimize causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useMinimize; + PARAMETRIZE { useMinimize = FALSE; } + PARAMETRIZE { useMinimize = TRUE; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useMinimize) + TURN { MOVE(opponent, MOVE_MINIMIZE); MOVE(player, MOVE_STEAMROLLER); } + else + TURN { MOVE(player, MOVE_STEAMROLLER); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Being underground causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useDig; + PARAMETRIZE { useDig = FALSE; } + PARAMETRIZE { useDig = TRUE; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useDig) + TURN { MOVE(opponent, MOVE_DIG); MOVE(player, MOVE_EARTHQUAKE); } + else + TURN { MOVE(player, MOVE_EARTHQUAKE); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Being underwater causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useDive; + PARAMETRIZE { useDive = FALSE; } + PARAMETRIZE { useDive = TRUE; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useDive) + TURN { MOVE(opponent, MOVE_DIVE); MOVE(player, MOVE_SURF); } + else + TURN { MOVE(player, MOVE_SURF); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Being airborne causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useDive; + PARAMETRIZE { useDive = FALSE; } + PARAMETRIZE { useDive = TRUE; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useDive) + TURN { MOVE(opponent, MOVE_FLY); MOVE(player, MOVE_TWISTER); } + else + TURN { MOVE(player, MOVE_TWISTER); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} diff --git a/test/weather_snow.c b/test/weather_snow.c index 93deb14327..bee4759ebd 100644 --- a/test/weather_snow.c +++ b/test/weather_snow.c @@ -81,7 +81,6 @@ SINGLE_BATTLE_TEST("Snow halves the power of Solar Beam", s16 damage) SINGLE_BATTLE_TEST("Snow halves the power of Solar Blade", s16 damage) { u16 move; - KNOWN_FAILING; // fails bc the bp of solar blade gets rounded up which leads to slightly incorrect calcs down the line PARAMETRIZE{ move = MOVE_CELEBRATE; } PARAMETRIZE{ move = MOVE_SNOWSCAPE; } GIVEN { From 33b16cb82d0852e66afa4df56245467beb4185e7 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 11 Aug 2023 16:55:27 -0400 Subject: [PATCH 155/256] 2nd pass --- data/battle_scripts_1.s | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 7aead3a6cc..e7f592aacb 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -533,7 +533,7 @@ BattleScript_EffectEvasionDown:: setstatchanger STAT_EVASION, 1, TRUE BattleScript_EffectStatDown:: attackcanceler - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailedPpReduceAtkString + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_FailedFromAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -1216,7 +1216,7 @@ BattleScript_EffectPsywave:: BattleScript_EffectCounter:: attackcanceler - counterdamagecalculator BattleScript_ButItFailedPpReduceAtkString + counterdamagecalculator BattleScript_FailedFromAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -1543,7 +1543,7 @@ BattleScript_EffectEndure:: BattleScript_EffectSpikes:: attackcanceler - trysetspikes BattleScript_ButItFailedPpReduceAtkString + trysetspikes BattleScript_FailedFromAtkString attackstring ppreduce attackanimation @@ -1800,7 +1800,7 @@ BattleScript_EffectPsychUp:: BattleScript_EffectMirrorCoat:: attackcanceler - mirrorcoatdamagecalculator BattleScript_ButItFailedPpReduceAtkString + mirrorcoatdamagecalculator BattleScript_FailedFromAtkString accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring ppreduce @@ -2047,13 +2047,13 @@ BattleScript_AlreadyAtFullHp:: BattleScript_EffectFakeOut:: attackcanceler - jumpifnotfirstturn BattleScript_ButItFailedPpReduceAtkString + jumpifnotfirstturn BattleScript_FailedFromAtkString setmoveeffect MOVE_EFFECT_FLINCH | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit -BattleScript_ButItFailedPpReduceAtkString:: +BattleScript_FailedFromAtkString:: attackstring -BattleScript_ButItFailedPpReduce:: +BattleScript_FailedFromPpReduce:: ppreduce BattleScript_ButItFailed:: pause B_WAIT_TIME_SHORT @@ -2367,7 +2367,7 @@ BattleScript_EffectWish:: BattleScript_EffectAssist:: attackcanceler attackstring - assistattackselect BattleScript_ButItFailedPpReduce + assistattackselect BattleScript_FailedFromPpReduce attackanimation waitanimation setbyte sB_ANIM_TURN, 0 @@ -2391,7 +2391,7 @@ BattleScript_EffectSuperpower:: BattleScript_EffectMagicCoat:: attackcanceler - trysetmagiccoat BattleScript_ButItFailedPpReduceAtkString + trysetmagiccoat BattleScript_FailedFromAtkString attackstring ppreduce attackanimation @@ -2542,7 +2542,7 @@ BattleScript_EffectGrudge:: BattleScript_EffectSnatch:: attackcanceler - trysetsnatch BattleScript_ButItFailedPpReduceAtkString + trysetsnatch BattleScript_FailedFromAtkString attackstring ppreduce attackanimation From 2b27b0bf001f59477d0008b856d374e94759ddf9 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 12 Aug 2023 12:30:36 -0500 Subject: [PATCH 156/256] Constants --- include/constants/battle.h | 5 +++++ src/battle_script_commands.c | 14 +++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/include/constants/battle.h b/include/constants/battle.h index 7f2cb164e4..d99eae919a 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -495,4 +495,9 @@ #define PARENTAL_BOND_2ND_HIT 1 #define PARENTAL_BOND_OFF 0 +// Constants for if HandleScriptMegaPrimalBurst should handle Mega Evolution, Primal Reversion, or Ultra Burst. +#define HANDLE_TYPE_MEGA_EVOLUTION 0 +#define HANDLE_TYPE_PRIMAL_REVERSION 1 +#define HANDLE_TYPE_ULTRA_BURST 2 + #endif // GUARD_CONSTANTS_BATTLE_H diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 04ef3bcf34..f42bdae7d6 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8605,12 +8605,12 @@ static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battlerId, u32 type) // Change species. if (caseId == 0) { - if (type == 0) + if (type == HANDLE_TYPE_MEGA_EVOLUTION) { if (!TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM)) TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE); } - else if (type == 1) + else if (type == HANDLE_TYPE_PRIMAL_REVERSION) TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_PRIMAL_REVERSION); else TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_ULTRA_BURST); @@ -8626,9 +8626,9 @@ static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battlerId, u32 type) UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], mon, HEALTHBOX_ALL); if (side == B_SIDE_OPPONENT) SetBattlerShadowSpriteCallback(battlerId, gBattleMons[battlerId].species); - if (type == 0) + if (type == HANDLE_TYPE_MEGA_EVOLUTION) gBattleStruct->mega.alreadyEvolved[position] = TRUE; - if (type == 2) + if (type == HANDLE_TYPE_ULTRA_BURST) gBattleStruct->burst.alreadyBursted[position] = TRUE; } } @@ -9686,21 +9686,21 @@ static void Cmd_various(void) case VARIOUS_HANDLE_MEGA_EVO: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, 0); + HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, HANDLE_TYPE_MEGA_EVOLUTION); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_HANDLE_PRIMAL_REVERSION: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, 1); + HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, HANDLE_TYPE_PRIMAL_REVERSION); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_HANDLE_ULTRA_BURST: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, 2); + HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, HANDLE_TYPE_ULTRA_BURST); gBattlescriptCurrInstr = cmd->nextInstr; return; } From f493ae8c692b0efb1cda87ab33b5ba10f56e74c7 Mon Sep 17 00:00:00 2001 From: gruxor <95389790+gruxor@users.noreply.github.com> Date: Sat, 12 Aug 2023 18:13:33 -0400 Subject: [PATCH 157/256] Fixed item sprites with palette errors (#3222) --- graphics/items/icons/berserk_gene.png | Bin 356 -> 290 bytes graphics/items/icons/black_augurite.png | Bin 385 -> 315 bytes graphics/items/icons/clear_amulet.png | Bin 434 -> 356 bytes graphics/items/icons/linking_cord.png | Bin 380 -> 325 bytes graphics/items/icons/peat_block.png | Bin 403 -> 326 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/items/icons/berserk_gene.png b/graphics/items/icons/berserk_gene.png index faac0f67690b8861aa2794e781924c47b26ada27..54007c804e9a993bbe3f0d31c675f69d946d911b 100644 GIT binary patch delta 233 zcmaFDw1{bfgbD{U0|UeLm1j=@DVB6cUq=RpjeRx011AId1_3@Hu3NTjnb@XV|K-4@ zPN0xLNswPK!+%t8AfVeBDA(xe;uxYaap|OsTn!35u6upY#{B*Ne%qukU2Kl*H8&r= znqyVo+@{>H)RAkGK@jhr<-5M?Sk2;aoOjp7>48g6wxXL?MEH~kZ4+O}trU*F7JD`9 zT3kfp{tJ8ds=8Svh87zarn61FCp_6Wz~$|#UX}$cd#9e|vfw(f{^hI%N0x6qzwbP! Y=u7s-_6%ctplcXBUHx3vIVCg!0HT{|Qvd(} delta 316 zcmZ3)^n_`GL_G^L0|SFlq{3++#a`m+>&pI|g^gd0-`{y5A5ciV#5JNMI6tkVJh3R1 z!QICtz|UQwEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4&eH|GXHuiJ>Nn{1` z4FY^ZT(3;>HZ(MBu5M0>O7e2_S`u~d*_MgEGW7wy2ET!77?Zr+UH&g+|8x|{>F{)M z45^rtoRE+pz{1GLW*`v4#OP|!f05%%pb<-P%z+$HcMf(Yg*gGq3tBd1D!8bv-Lq$p z&QZZ6sfc3&N!wU%$Z=|Ngy6kO3QQ2F|;YLXv}-fq~)r%Co0{6id3JuOkD)#=e^0fs-dz+t&+}1o;Is{6_@`0=k`n zif4JcIEH9UY@OuDcUXakB{HVq&8Pq0%NkuA9A3#4%}DHR6*^>npv|g3o$;p(E6Ym- z20Gs_<8tbw=*8T0OIW?+#-AUMZ2M7jsHy?bNQyc{Ae$TSbnZ3D!FOdeMYy hQ@-zSP=6R-*L|4f=>l=N8lW>7JYD@<);T3K0RR|vZJ+=E delta 310 zcmdnZ)W|$RBAJDmfq_9NQsFd^VlVOZb!C6fBq?NOq4#5o6i`UK#5JNMI6tkVJh3R1 z!QICtz|UQwEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4&eH|GXHuiJ>No1X9 zXkX8mRlyOWJv}nJ0T$>1avzC z6(9C=aSYLzm^(30sKtQ8+51hDSM=Whx#lm{B*ogv)FwI|m{O;zv*FTW4)OJK?D<~Z1;P`X%l4qWMb-YX#llF8yHsv^J>=jxVS8{H(npSot_tlm>ksU!X zrR!&gUSIOD@^*%4a)9yY?cNO&7VvZ3n(<^C)7${AHHket7RLBVAA0p@pG@9bPGOIT zxnfB&Dt2p+Elyx(+iIwBly~Fn1q*oo{b{`s6EH8^isOX!dDCL9z58$TJO005eBEc? YvJ5uet--Tnf&O9eboFyt=akR{0C?(st^fc4 delta 359 zcmaFDw266wL^2CA0|SFlq{3++#a`m+>&pI|O^R8Fe{PMyEufHiiEBhjaDG}zd16s2 zgS(GQfSyn2+B^)IMe(pdSV<4Nst3gv9NU@|l`Z_W&Z0zU$lgK*J z(7v8A$=luK|5El(M}e}}JY5_^D&{07Ffh3}Dyp)waR`W*nU!%iZIJAhZJjdZszT5q zKP@gEpH~TdizjvoF*64XyEvWfoY?5ed?>IiaDvFCjOKzFQzX(kN|%^B_NKj=B%s}1 zoW|*=lP}V8LvwG|GpB=dxeq>)-7IFhHp-CuOl9JvsHMf3q1z`ZMa+Dp_jS?LUFHgU z6JnMw-1=%F+YDvH?60e?N{9Qg6we6L){9Y9*(#JY@sfJ1=1uP)0eyqNJG8IfSjbYy zaJhT8P;Y=4bMSlFPS*_z39l>_S(1$n4qkEYX*OhVD>sQ$xvm`!^df_&tDnm{r-UW| DF}-}x diff --git a/graphics/items/icons/linking_cord.png b/graphics/items/icons/linking_cord.png index a3f92da04b753298958b4a21333b3732d5ecabb4..079f1d8db3d5eefd52f2da50749185219780e905 100644 GIT binary patch delta 268 zcmeyvbd+g=gbD{U0|UeLm1j=@DVB6cUq=RpjeRx011AId1_3@Hu0VQXn{IuMp4S5) zQ=lZsFPPy!DmW0(?F^J#;_2cTqA{^_VxZ6w1rFz>LPh_j^H*G5IrZyd$yx`dEoo_M zt;%A)laF9N{LSYA5+Kc;xpnS0DQ@{o(s%SK9X6TetaIc8|}` zIr|oE*IaUW$LSTbYpq^cN86Mi+oIZ(d{TK=)JCtj7wuQqv#ej2ajh5VU&pI|Ns3)rv9wNPH&95t#5JNMI6tkVJh3R1 z!QICtz|UQwEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4&eH|GXHuiJ>Nn{1` z4FY^ZTpJFo2oH~#J#S8FQ3+5?MODkrX`-)8J+r^cEg+vU$=luK|5El(M}eFLo-U3d z6?1&g?-goR;9+?1h3{3=ZSxn>Uw9=<*6^9F<5O9)H~Z*yagilDcc$BO#6+!l{%=pH zO;oU>(Vxe`jp|A3^-_OLePy)FM2vf%;nL~f{XTvSii=S?yYgbWh=j>M7Rwa`e&*Y~$RNJIeuaXOm6r6*z82$I2~~FG h{U3MjdR0`z%=}k_#p7lASD<4VJYD@<);T3K0RS3%dw2i< diff --git a/graphics/items/icons/peat_block.png b/graphics/items/icons/peat_block.png index 9c106598756eeef0a1e141e71fd46d1569c72001..25a3c3bc0568c58fed78723a6a16c3f1c8c0e85b 100644 GIT binary patch delta 251 zcmbQte2i&=gd_(u0|UeLm1j=@DVB6cUq=RpjeRx011C?cwyzf`3GxeO_>T$>1avzC z6)*L4aSYLzxOC!ezGed+XU(JS$Kb@Uye`%MxD`ji) zdw6B#PAcAWyK+kK%9{?^DuE?R7m6ln@iBzHmHox`gJEB8vteFZT(;27a`(y0-tw)_ z4WH(+VzU#w?pyHiya@BRL+ sgJ+&?Uf=OJU;5!MCi#!~yZ;92d+uXXag}+V3v@Aqr>mdKI;Vst0DE6>ZU6uP delta 328 zcmX@cG?{sVL^2CA0|SFlq{3++#a`m+>&pI|Ns2>6TycJyHc&{s#5JNMI6tkVJh3R1 z!QICtz|UQwEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4&eH|GXHuiJ>No1X9 zXkX8ma6b+9W%wVB- XIF@Kq+j;4t0LZ7Fu6{1-oD!M<%_(<# From 344fe4dd650872864ace80d8db4cf23306e9a967 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 12 Aug 2023 23:13:11 -0400 Subject: [PATCH 158/256] Stop double-counting EOS in assert --- src/battle_message.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_message.c b/src/battle_message.c index 6ae16164d9..f005404ead 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2307,7 +2307,7 @@ static const u8 *TryGetStatusString(u8 *src) // Ensure the defined length for an item name can contain the full defined length of a berry name. // This ensures that custom Enigma Berry names will fit in the text buffer at the top of BattleStringExpandPlaceholders. -STATIC_ASSERT(BERRY_NAME_LENGTH + 1 + ARRAY_COUNT(sText_BerrySuffix) <= ITEM_NAME_LENGTH, BerryNameTooLong); +STATIC_ASSERT(BERRY_NAME_LENGTH + ARRAY_COUNT(sText_BerrySuffix) <= ITEM_NAME_LENGTH, BerryNameTooLong); u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) { From b8a22eb1192a0d449ec50c63c8362dd53f9129cf Mon Sep 17 00:00:00 2001 From: PCG <75729017+PCG06@users.noreply.github.com> Date: Sun, 13 Aug 2023 10:23:22 +0530 Subject: [PATCH 159/256] Remove soundMove from Steam Eruption and replace it with sheerForceBoost (#3229) Co-authored-by: PCG06 --- src/data/battle_moves.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index c8c19573f8..0902ea1ff8 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -9942,7 +9942,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - .soundMove = TRUE, + .sheerForceBoost = TRUE, .thawsUser = TRUE, .metronomeBanned = TRUE, }, From 32c3c333769403ea14f0679a874551761dda0c3f Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 13 Aug 2023 19:01:03 -0400 Subject: [PATCH 160/256] Missing master merge organization My bad ^^; --- .../ability/fluffy.c} | 0 test/{ => battle}/damage_formula.c | 0 .../move_effect/axe_kick.c} | 0 .../move_effect/collision_course.c} | 0 .../move_effect/corrosive_gas.c} | 0 .../move_effect/infernal_parade.c} | 0 .../move_effect/make_it_rain.c} | 0 .../move_effect/mortal_spin.c} | 0 .../move_effect/multi_hit.c} | 0 .../move_effect/population_bomb.c} | 0 .../move_effect/spin_out.c} | 0 .../move_effect/take_heart.c} | 0 .../move_effect/teatime.c} | 0 .../move_effect/triple_arrows.c} | 0 .../damages_airborne_double_damage.c | 23 +++++ test/battle/move_flags/damages_underground.c | 23 +++++ test/battle/move_flags/damages_underwater.c | 23 +++++ .../move_flags/minimize_double_damage.c | 27 ++++++ test/status3.c | 90 ------------------- 19 files changed, 96 insertions(+), 90 deletions(-) rename test/{ability_fluffy.c => battle/ability/fluffy.c} (100%) rename test/{ => battle}/damage_formula.c (100%) rename test/{move_effect_axe_kick.c => battle/move_effect/axe_kick.c} (100%) rename test/{move_effect_collision_course.c => battle/move_effect/collision_course.c} (100%) rename test/{move_effect_corrosive_gas.c => battle/move_effect/corrosive_gas.c} (100%) rename test/{move_effect_infernal_parade.c => battle/move_effect/infernal_parade.c} (100%) rename test/{move_effect_make_it_rain.c => battle/move_effect/make_it_rain.c} (100%) rename test/{move_effect_mortal_spin.c => battle/move_effect/mortal_spin.c} (100%) rename test/{move_effect_multi_hit.c => battle/move_effect/multi_hit.c} (100%) rename test/{move_effect_population_bomb.c => battle/move_effect/population_bomb.c} (100%) rename test/{move_effect_spin_out.c => battle/move_effect/spin_out.c} (100%) rename test/{move_effect_take_heart.c => battle/move_effect/take_heart.c} (100%) rename test/{move_effect_teatime.c => battle/move_effect/teatime.c} (100%) rename test/{move_effect_triple_arrows.c => battle/move_effect/triple_arrows.c} (100%) create mode 100644 test/battle/move_flags/damages_airborne_double_damage.c create mode 100644 test/battle/move_flags/damages_underground.c create mode 100644 test/battle/move_flags/damages_underwater.c create mode 100644 test/battle/move_flags/minimize_double_damage.c delete mode 100644 test/status3.c diff --git a/test/ability_fluffy.c b/test/battle/ability/fluffy.c similarity index 100% rename from test/ability_fluffy.c rename to test/battle/ability/fluffy.c diff --git a/test/damage_formula.c b/test/battle/damage_formula.c similarity index 100% rename from test/damage_formula.c rename to test/battle/damage_formula.c diff --git a/test/move_effect_axe_kick.c b/test/battle/move_effect/axe_kick.c similarity index 100% rename from test/move_effect_axe_kick.c rename to test/battle/move_effect/axe_kick.c diff --git a/test/move_effect_collision_course.c b/test/battle/move_effect/collision_course.c similarity index 100% rename from test/move_effect_collision_course.c rename to test/battle/move_effect/collision_course.c diff --git a/test/move_effect_corrosive_gas.c b/test/battle/move_effect/corrosive_gas.c similarity index 100% rename from test/move_effect_corrosive_gas.c rename to test/battle/move_effect/corrosive_gas.c diff --git a/test/move_effect_infernal_parade.c b/test/battle/move_effect/infernal_parade.c similarity index 100% rename from test/move_effect_infernal_parade.c rename to test/battle/move_effect/infernal_parade.c diff --git a/test/move_effect_make_it_rain.c b/test/battle/move_effect/make_it_rain.c similarity index 100% rename from test/move_effect_make_it_rain.c rename to test/battle/move_effect/make_it_rain.c diff --git a/test/move_effect_mortal_spin.c b/test/battle/move_effect/mortal_spin.c similarity index 100% rename from test/move_effect_mortal_spin.c rename to test/battle/move_effect/mortal_spin.c diff --git a/test/move_effect_multi_hit.c b/test/battle/move_effect/multi_hit.c similarity index 100% rename from test/move_effect_multi_hit.c rename to test/battle/move_effect/multi_hit.c diff --git a/test/move_effect_population_bomb.c b/test/battle/move_effect/population_bomb.c similarity index 100% rename from test/move_effect_population_bomb.c rename to test/battle/move_effect/population_bomb.c diff --git a/test/move_effect_spin_out.c b/test/battle/move_effect/spin_out.c similarity index 100% rename from test/move_effect_spin_out.c rename to test/battle/move_effect/spin_out.c diff --git a/test/move_effect_take_heart.c b/test/battle/move_effect/take_heart.c similarity index 100% rename from test/move_effect_take_heart.c rename to test/battle/move_effect/take_heart.c diff --git a/test/move_effect_teatime.c b/test/battle/move_effect/teatime.c similarity index 100% rename from test/move_effect_teatime.c rename to test/battle/move_effect/teatime.c diff --git a/test/move_effect_triple_arrows.c b/test/battle/move_effect/triple_arrows.c similarity index 100% rename from test/move_effect_triple_arrows.c rename to test/battle/move_effect/triple_arrows.c diff --git a/test/battle/move_flags/damages_airborne_double_damage.c b/test/battle/move_flags/damages_airborne_double_damage.c new file mode 100644 index 0000000000..5906e3b6b4 --- /dev/null +++ b/test/battle/move_flags/damages_airborne_double_damage.c @@ -0,0 +1,23 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Being airborne causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useDive; + PARAMETRIZE { useDive = FALSE; } + PARAMETRIZE { useDive = TRUE; } + GIVEN { + ASSUME(gBattleMoves[MOVE_TWISTER].damagesAirborneDoubleDamage); + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useDive) + TURN { MOVE(opponent, MOVE_FLY); MOVE(player, MOVE_TWISTER); } + else + TURN { MOVE(player, MOVE_TWISTER); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} diff --git a/test/battle/move_flags/damages_underground.c b/test/battle/move_flags/damages_underground.c new file mode 100644 index 0000000000..54af8b8298 --- /dev/null +++ b/test/battle/move_flags/damages_underground.c @@ -0,0 +1,23 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Being underground causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useDig; + PARAMETRIZE { useDig = FALSE; } + PARAMETRIZE { useDig = TRUE; } + GIVEN { + ASSUME(gBattleMoves[MOVE_EARTHQUAKE].damagesUnderground); + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useDig) + TURN { MOVE(opponent, MOVE_DIG); MOVE(player, MOVE_EARTHQUAKE); } + else + TURN { MOVE(player, MOVE_EARTHQUAKE); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} diff --git a/test/battle/move_flags/damages_underwater.c b/test/battle/move_flags/damages_underwater.c new file mode 100644 index 0000000000..e8f45e8dee --- /dev/null +++ b/test/battle/move_flags/damages_underwater.c @@ -0,0 +1,23 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Being underwater causes the target to take double damage from certain moves", s16 damage) +{ + bool32 useDive; + PARAMETRIZE { useDive = FALSE; } + PARAMETRIZE { useDive = TRUE; } + GIVEN { + ASSUME(gBattleMoves[MOVE_SURF].damagesUnderwater); + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useDive) + TURN { MOVE(opponent, MOVE_DIVE); MOVE(player, MOVE_SURF); } + else + TURN { MOVE(player, MOVE_SURF); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} diff --git a/test/battle/move_flags/minimize_double_damage.c b/test/battle/move_flags/minimize_double_damage.c new file mode 100644 index 0000000000..6b631c9a36 --- /dev/null +++ b/test/battle/move_flags/minimize_double_damage.c @@ -0,0 +1,27 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("MinimizeDoubleDamage flag makes moves cause double damage to Minimized targets", s16 damage) +{ + bool32 useMinimize; + PARAMETRIZE { useMinimize = FALSE; } + PARAMETRIZE { useMinimize = TRUE; } + GIVEN { + ASSUME(gBattleMoves[MOVE_MINIMIZE].effect == EFFECT_MINIMIZE); + ASSUME(gBattleMoves[MOVE_STEAMROLLER].minimizeDoubleDamage); + PLAYER(SPECIES_WOBBUFFET) { Speed(1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } + } WHEN { + if (useMinimize) + TURN { MOVE(opponent, MOVE_MINIMIZE); MOVE(player, MOVE_STEAMROLLER); } + else + TURN { MOVE(player, MOVE_STEAMROLLER); } + } SCENE { + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); + } +} + +// Remember to add ASSUME(B_MINIMIZE_DMG_ACC >= GEN_6) +TO_DO_BATTLE_TEST("MinimizeDoubleDamage flag allows moves to skip accuracy checks towards Minimized targets") diff --git a/test/status3.c b/test/status3.c deleted file mode 100644 index c8a4384518..0000000000 --- a/test/status3.c +++ /dev/null @@ -1,90 +0,0 @@ -#include "global.h" -#include "test/battle.h" - -ASSUMPTIONS { - ASSUME(gBattleMoves[MOVE_MINIMIZE].effect == EFFECT_MINIMIZE); - ASSUME(gBattleMoves[MOVE_STEAMROLLER].minimizeDoubleDamage); - ASSUME(gBattleMoves[MOVE_EARTHQUAKE].damagesUnderground); - ASSUME(gBattleMoves[MOVE_SURF].damagesUnderwater); - ASSUME(gBattleMoves[MOVE_TWISTER].damagesAirborneDoubleDamage); -} - -SINGLE_BATTLE_TEST("Minimize causes the target to take double damage from certain moves", s16 damage) -{ - bool32 useMinimize; - PARAMETRIZE { useMinimize = FALSE; } - PARAMETRIZE { useMinimize = TRUE; } - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Speed(1); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } - } WHEN { - if (useMinimize) - TURN { MOVE(opponent, MOVE_MINIMIZE); MOVE(player, MOVE_STEAMROLLER); } - else - TURN { MOVE(player, MOVE_STEAMROLLER); } - } SCENE { - HP_BAR(opponent, captureDamage: &results[i].damage); - } FINALLY { - EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); - } -} - -SINGLE_BATTLE_TEST("Being underground causes the target to take double damage from certain moves", s16 damage) -{ - bool32 useDig; - PARAMETRIZE { useDig = FALSE; } - PARAMETRIZE { useDig = TRUE; } - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Speed(1); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } - } WHEN { - if (useDig) - TURN { MOVE(opponent, MOVE_DIG); MOVE(player, MOVE_EARTHQUAKE); } - else - TURN { MOVE(player, MOVE_EARTHQUAKE); } - } SCENE { - HP_BAR(opponent, captureDamage: &results[i].damage); - } FINALLY { - EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); - } -} - -SINGLE_BATTLE_TEST("Being underwater causes the target to take double damage from certain moves", s16 damage) -{ - bool32 useDive; - PARAMETRIZE { useDive = FALSE; } - PARAMETRIZE { useDive = TRUE; } - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Speed(1); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } - } WHEN { - if (useDive) - TURN { MOVE(opponent, MOVE_DIVE); MOVE(player, MOVE_SURF); } - else - TURN { MOVE(player, MOVE_SURF); } - } SCENE { - HP_BAR(opponent, captureDamage: &results[i].damage); - } FINALLY { - EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); - } -} - -SINGLE_BATTLE_TEST("Being airborne causes the target to take double damage from certain moves", s16 damage) -{ - bool32 useDive; - PARAMETRIZE { useDive = FALSE; } - PARAMETRIZE { useDive = TRUE; } - GIVEN { - PLAYER(SPECIES_WOBBUFFET) { Speed(1); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(2); } - } WHEN { - if (useDive) - TURN { MOVE(opponent, MOVE_FLY); MOVE(player, MOVE_TWISTER); } - else - TURN { MOVE(player, MOVE_TWISTER); } - } SCENE { - HP_BAR(opponent, captureDamage: &results[i].damage); - } FINALLY { - EXPECT_MUL_EQ(results[0].damage, UQ_4_12(2.0), results[1].damage); - } -} From c414a0103c2cafc7175317c07d73402a5bf66af9 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 14 Aug 2023 09:45:37 -0300 Subject: [PATCH 161/256] Made Cmd_jumpifnopursuitswitchdmg and Cmd_pursuitdoubles use Pursuit's effect ID instead of its move ID (#3231) * Made jumpifnopursuitswitchdmg use Pursuit's effect ID instead of its move ID * Made Cmd_pursuitdoubles use Pursuit's effect ID too, even though it's unused --- src/battle_script_commands.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e78b814148..373a7004b3 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -13643,7 +13643,7 @@ static void Cmd_jumpifnopursuitswitchdmg(void) && !(gBattleMons[gBattlerTarget].status1 & (STATUS1_SLEEP | STATUS1_FREEZE)) && gBattleMons[gBattlerAttacker].hp && !gDisableStructs[gBattlerTarget].truantCounter - && gChosenMoveByBattler[gBattlerTarget] == MOVE_PURSUIT) + && gBattleMoves[gChosenMoveByBattler[gBattlerTarget]].effect == EFFECT_PURSUIT) { s32 i; @@ -13653,7 +13653,7 @@ static void Cmd_jumpifnopursuitswitchdmg(void) gActionsByTurnOrder[i] = B_ACTION_TRY_FINISH; } - gCurrentMove = MOVE_PURSUIT; + gCurrentMove = gChosenMoveByBattler[gBattlerTarget]; gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerTarget); gBattlescriptCurrInstr = cmd->nextInstr; gBattleScripting.animTurn = 1; @@ -15073,10 +15073,10 @@ static void Cmd_pursuitdoubles(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) && gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_MOVE - && gChosenMoveByBattler[gActiveBattler] == MOVE_PURSUIT) + && gBattleMoves[gChosenMoveByBattler[gActiveBattler]].effect == EFFECT_PURSUIT) { gActionsByTurnOrder[gActiveBattler] = B_ACTION_TRY_FINISH; - gCurrentMove = MOVE_PURSUIT; + gCurrentMove = gChosenMoveByBattler[gActiveBattler]; gBattlescriptCurrInstr = cmd->nextInstr; gBattleScripting.animTurn = 1; gBattleScripting.savedBattler = gBattlerAttacker; From 0c27db10d65125b14b44f9fa0eee1433362c7617 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Tue, 15 Aug 2023 20:24:07 +1200 Subject: [PATCH 162/256] Review mon sprites 0001-0080 --- graphics/pokemon/abra/anim_front.png | Bin 948 -> 1017 bytes graphics/pokemon/abra/back.png | Bin 610 -> 672 bytes graphics/pokemon/abra/normal.pal | 28 ++--- graphics/pokemon/abra/shiny.pal | 30 +++--- graphics/pokemon/alakazam/anim_front.png | Bin 1237 -> 1315 bytes graphics/pokemon/alakazam/anim_frontf.png | Bin 1270 -> 1265 bytes graphics/pokemon/alakazam/back.png | Bin 796 -> 855 bytes graphics/pokemon/alakazam/backf.png | Bin 734 -> 834 bytes graphics/pokemon/alakazam/normal.pal | 28 ++--- graphics/pokemon/alakazam/shiny.pal | 30 +++--- graphics/pokemon/arbok/anim_front.png | Bin 1468 -> 1558 bytes graphics/pokemon/arbok/back.png | Bin 494 -> 561 bytes graphics/pokemon/arbok/normal.pal | 28 ++--- graphics/pokemon/arbok/shiny.pal | 30 +++--- graphics/pokemon/arcanine/anim_front.png | Bin 1597 -> 1680 bytes graphics/pokemon/arcanine/back.png | Bin 835 -> 920 bytes graphics/pokemon/arcanine/normal.pal | 30 +++--- graphics/pokemon/arcanine/shiny.pal | 30 +++--- graphics/pokemon/beedrill/anim_front.png | Bin 1261 -> 1340 bytes graphics/pokemon/beedrill/back.png | Bin 932 -> 994 bytes graphics/pokemon/beedrill/normal.pal | 24 ++--- graphics/pokemon/beedrill/shiny.pal | 30 +++--- graphics/pokemon/bellsprout/anim_front.png | Bin 860 -> 919 bytes graphics/pokemon/bellsprout/back.png | Bin 554 -> 622 bytes graphics/pokemon/bellsprout/normal.pal | 22 ++-- graphics/pokemon/bellsprout/shiny.pal | 32 +++--- graphics/pokemon/blastoise/anim_front.png | Bin 1686 -> 1662 bytes graphics/pokemon/blastoise/back.png | Bin 835 -> 898 bytes graphics/pokemon/blastoise/normal.pal | 24 ++--- graphics/pokemon/blastoise/shiny.pal | 32 +++--- graphics/pokemon/bulbasaur/anim_front.png | Bin 941 -> 1019 bytes graphics/pokemon/bulbasaur/back.png | Bin 579 -> 647 bytes graphics/pokemon/bulbasaur/normal.pal | 30 +++--- graphics/pokemon/bulbasaur/shiny.pal | 28 ++--- graphics/pokemon/butterfree/anim_front.png | Bin 1175 -> 1254 bytes graphics/pokemon/butterfree/anim_frontf.png | Bin 1134 -> 1253 bytes graphics/pokemon/butterfree/back.png | Bin 930 -> 992 bytes graphics/pokemon/butterfree/backf.png | Bin 890 -> 991 bytes graphics/pokemon/butterfree/normal.pal | 22 ++-- graphics/pokemon/butterfree/shiny.pal | 32 +++--- graphics/pokemon/caterpie/anim_front.png | Bin 717 -> 810 bytes graphics/pokemon/caterpie/back.png | Bin 609 -> 682 bytes graphics/pokemon/caterpie/normal.pal | 24 ++--- graphics/pokemon/caterpie/shiny.pal | 32 +++--- graphics/pokemon/charizard/anim_front.png | Bin 1675 -> 1761 bytes graphics/pokemon/charizard/back.png | Bin 807 -> 875 bytes graphics/pokemon/charizard/normal.pal | 28 ++--- graphics/pokemon/charizard/shiny.pal | 30 +++--- graphics/pokemon/charmander/anim_front.png | Bin 944 -> 1027 bytes graphics/pokemon/charmander/back.png | Bin 553 -> 622 bytes graphics/pokemon/charmander/normal.pal | 28 ++--- graphics/pokemon/charmander/shiny.pal | 30 +++--- graphics/pokemon/charmeleon/anim_front.png | Bin 1270 -> 1251 bytes graphics/pokemon/charmeleon/back.png | Bin 643 -> 713 bytes graphics/pokemon/charmeleon/normal.pal | 30 +++--- graphics/pokemon/charmeleon/shiny.pal | 30 +++--- graphics/pokemon/clefable/anim_front.png | Bin 1003 -> 1080 bytes graphics/pokemon/clefable/back.png | Bin 677 -> 743 bytes graphics/pokemon/clefable/normal.pal | 28 ++--- graphics/pokemon/clefable/shiny.pal | 26 ++--- graphics/pokemon/clefairy/anim_front.png | Bin 797 -> 863 bytes graphics/pokemon/clefairy/back.png | Bin 570 -> 639 bytes graphics/pokemon/clefairy/normal.pal | 28 ++--- graphics/pokemon/clefairy/shiny.pal | 30 +++--- graphics/pokemon/diglett/anim_front.png | Bin 500 -> 562 bytes graphics/pokemon/diglett/back.png | Bin 312 -> 379 bytes graphics/pokemon/diglett/normal.pal | 24 ++--- graphics/pokemon/diglett/shiny.pal | 30 +++--- graphics/pokemon/dugtrio/anim_front.png | Bin 821 -> 897 bytes graphics/pokemon/dugtrio/back.png | Bin 399 -> 462 bytes graphics/pokemon/dugtrio/normal.pal | 22 ++-- graphics/pokemon/dugtrio/shiny.pal | 30 +++--- graphics/pokemon/ekans/anim_front.png | Bin 912 -> 991 bytes graphics/pokemon/ekans/back.png | Bin 672 -> 733 bytes graphics/pokemon/ekans/normal.pal | 26 ++--- graphics/pokemon/ekans/shiny.pal | 30 +++--- graphics/pokemon/fearow/anim_front.png | Bin 1614 -> 1690 bytes graphics/pokemon/fearow/back.png | Bin 705 -> 767 bytes graphics/pokemon/fearow/normal.pal | 20 ++-- graphics/pokemon/fearow/shiny.pal | 20 ++-- graphics/pokemon/geodude/anim_front.png | Bin 826 -> 890 bytes graphics/pokemon/geodude/back.png | Bin 584 -> 650 bytes graphics/pokemon/geodude/normal.pal | 22 ++-- graphics/pokemon/geodude/shiny.pal | 24 ++--- graphics/pokemon/gloom/anim_front.png | Bin 1052 -> 1114 bytes graphics/pokemon/gloom/anim_frontf.png | Bin 1001 -> 1108 bytes graphics/pokemon/gloom/back.png | Bin 730 -> 793 bytes graphics/pokemon/gloom/backf.png | Bin 668 -> 777 bytes graphics/pokemon/gloom/normal.pal | 20 ++-- graphics/pokemon/gloom/shiny.pal | 30 +++--- graphics/pokemon/golbat/anim_front.png | Bin 1262 -> 1334 bytes graphics/pokemon/golbat/anim_frontf.png | Bin 1213 -> 1325 bytes graphics/pokemon/golbat/back.png | Bin 582 -> 650 bytes graphics/pokemon/golbat/backf.png | Bin 540 -> 647 bytes graphics/pokemon/golbat/normal.pal | 20 ++-- graphics/pokemon/golbat/shiny.pal | 30 +++--- graphics/pokemon/golduck/anim_front.png | Bin 1263 -> 1349 bytes graphics/pokemon/golduck/back.png | Bin 701 -> 769 bytes graphics/pokemon/golduck/normal.pal | 26 ++--- graphics/pokemon/golduck/shiny.pal | 30 +++--- graphics/pokemon/golem/anim_front.png | Bin 1338 -> 1408 bytes graphics/pokemon/golem/back.png | Bin 665 -> 732 bytes graphics/pokemon/golem/normal.pal | 24 ++--- graphics/pokemon/golem/shiny.pal | 30 +++--- graphics/pokemon/graveler/anim_front.png | Bin 762 -> 1403 bytes graphics/pokemon/graveler/back.png | Bin 602 -> 672 bytes graphics/pokemon/graveler/normal.pal | 20 ++-- graphics/pokemon/graveler/shiny.pal | 26 ++--- graphics/pokemon/growlithe/anim_front.png | Bin 1118 -> 954 bytes graphics/pokemon/growlithe/back.png | Bin 611 -> 679 bytes graphics/pokemon/growlithe/normal.pal | 24 ++--- graphics/pokemon/growlithe/shiny.pal | 30 +++--- graphics/pokemon/ivysaur/anim_front.png | Bin 1196 -> 1273 bytes graphics/pokemon/ivysaur/back.png | Bin 751 -> 826 bytes graphics/pokemon/ivysaur/normal.pal | 30 +++--- graphics/pokemon/ivysaur/shiny.pal | 22 ++-- graphics/pokemon/jigglypuff/anim_front.png | Bin 654 -> 734 bytes graphics/pokemon/jigglypuff/back.png | Bin 451 -> 518 bytes graphics/pokemon/jigglypuff/normal.pal | 28 ++--- graphics/pokemon/jigglypuff/shiny.pal | 30 +++--- graphics/pokemon/kadabra/anim_front.png | Bin 1335 -> 1402 bytes graphics/pokemon/kadabra/anim_frontf.png | Bin 1281 -> 1389 bytes graphics/pokemon/kadabra/back.png | Bin 841 -> 899 bytes graphics/pokemon/kadabra/backf.png | Bin 792 -> 890 bytes graphics/pokemon/kadabra/normal.pal | 26 ++--- graphics/pokemon/kadabra/shiny.pal | 30 +++--- graphics/pokemon/kakuna/anim_front.png | Bin 720 -> 794 bytes graphics/pokemon/kakuna/back.png | Bin 495 -> 563 bytes graphics/pokemon/kakuna/normal.pal | 30 +++--- graphics/pokemon/kakuna/shiny.pal | 30 +++--- graphics/pokemon/machamp/anim_front.png | Bin 1473 -> 1599 bytes graphics/pokemon/machamp/back.png | Bin 828 -> 925 bytes graphics/pokemon/machamp/normal.pal | 24 ++--- graphics/pokemon/machamp/shiny.pal | 30 +++--- graphics/pokemon/machoke/anim_front.png | Bin 1376 -> 1475 bytes graphics/pokemon/machoke/back.png | Bin 624 -> 722 bytes graphics/pokemon/machoke/normal.pal | 26 ++--- graphics/pokemon/machoke/shiny.pal | 32 +++--- graphics/pokemon/machop/anim_front.png | Bin 849 -> 801 bytes graphics/pokemon/machop/back.png | Bin 610 -> 678 bytes graphics/pokemon/machop/normal.pal | 26 ++--- graphics/pokemon/machop/shiny.pal | 32 +++--- graphics/pokemon/mankey/anim_front.png | Bin 950 -> 1038 bytes graphics/pokemon/mankey/back.png | Bin 643 -> 710 bytes graphics/pokemon/mankey/normal.pal | 24 ++--- graphics/pokemon/mankey/shiny.pal | 30 +++--- graphics/pokemon/meowth/anim_front.png | Bin 903 -> 976 bytes graphics/pokemon/meowth/back.png | Bin 707 -> 783 bytes graphics/pokemon/meowth/normal.pal | 26 ++--- graphics/pokemon/meowth/shiny.pal | 30 +++--- graphics/pokemon/metapod/anim_front.png | Bin 599 -> 680 bytes graphics/pokemon/metapod/back.png | Bin 472 -> 539 bytes graphics/pokemon/metapod/normal.pal | 30 +++--- graphics/pokemon/metapod/shiny.pal | 30 +++--- graphics/pokemon/nidoking/anim_front.png | Bin 1827 -> 1880 bytes graphics/pokemon/nidoking/back.png | Bin 765 -> 835 bytes graphics/pokemon/nidoking/normal.pal | 24 ++--- graphics/pokemon/nidoking/shiny.pal | 30 +++--- graphics/pokemon/nidoqueen/anim_front.png | Bin 1454 -> 1525 bytes graphics/pokemon/nidoqueen/back.png | Bin 714 -> 775 bytes graphics/pokemon/nidoqueen/normal.pal | 26 ++--- graphics/pokemon/nidoqueen/shiny.pal | 30 +++--- graphics/pokemon/nidoran_f/anim_front.png | Bin 789 -> 868 bytes graphics/pokemon/nidoran_f/back.png | Bin 592 -> 661 bytes graphics/pokemon/nidoran_f/normal.pal | 26 ++--- graphics/pokemon/nidoran_f/shiny.pal | 30 +++--- graphics/pokemon/nidoran_m/anim_front.png | Bin 715 -> 786 bytes graphics/pokemon/nidoran_m/back.png | Bin 587 -> 662 bytes graphics/pokemon/nidoran_m/normal.pal | 28 ++--- graphics/pokemon/nidoran_m/shiny.pal | 30 +++--- graphics/pokemon/nidorina/anim_front.png | Bin 958 -> 1040 bytes graphics/pokemon/nidorina/back.png | Bin 749 -> 820 bytes graphics/pokemon/nidorina/normal.pal | 26 ++--- graphics/pokemon/nidorina/shiny.pal | 28 ++--- graphics/pokemon/nidorino/anim_front.png | Bin 948 -> 1029 bytes graphics/pokemon/nidorino/back.png | Bin 730 -> 796 bytes graphics/pokemon/nidorino/normal.pal | 26 ++--- graphics/pokemon/nidorino/shiny.pal | 30 +++--- graphics/pokemon/ninetales/anim_front.png | Bin 1275 -> 1356 bytes graphics/pokemon/ninetales/back.png | Bin 633 -> 698 bytes graphics/pokemon/ninetales/normal.pal | 28 ++--- graphics/pokemon/ninetales/shiny.pal | 30 +++--- graphics/pokemon/oddish/anim_front.png | Bin 770 -> 628 bytes graphics/pokemon/oddish/back.png | Bin 563 -> 628 bytes graphics/pokemon/oddish/normal.pal | 24 ++--- graphics/pokemon/oddish/shiny.pal | 30 +++--- graphics/pokemon/paras/anim_front.png | Bin 810 -> 972 bytes graphics/pokemon/paras/back.png | Bin 589 -> 651 bytes graphics/pokemon/paras/normal.pal | 30 +++--- graphics/pokemon/paras/shiny.pal | 30 +++--- graphics/pokemon/parasect/anim_front.png | Bin 969 -> 1041 bytes graphics/pokemon/parasect/back.png | Bin 506 -> 577 bytes graphics/pokemon/parasect/normal.pal | 30 +++--- graphics/pokemon/parasect/shiny.pal | 30 +++--- graphics/pokemon/persian/anim_front.png | Bin 1325 -> 1391 bytes graphics/pokemon/persian/back.png | Bin 662 -> 728 bytes graphics/pokemon/persian/normal.pal | 30 +++--- graphics/pokemon/persian/shiny.pal | 30 +++--- graphics/pokemon/pidgeot/anim_front.png | Bin 1396 -> 1465 bytes graphics/pokemon/pidgeot/back.png | Bin 806 -> 885 bytes graphics/pokemon/pidgeot/normal.pal | 26 ++--- graphics/pokemon/pidgeot/shiny.pal | 30 +++--- graphics/pokemon/pidgeotto/anim_front.png | Bin 1108 -> 1203 bytes graphics/pokemon/pidgeotto/back.png | Bin 806 -> 878 bytes graphics/pokemon/pidgeotto/normal.pal | 26 ++--- graphics/pokemon/pidgeotto/shiny.pal | 30 +++--- graphics/pokemon/pidgey/anim_front.png | Bin 1024 -> 1091 bytes graphics/pokemon/pidgey/back.png | Bin 662 -> 728 bytes graphics/pokemon/pidgey/normal.pal | 24 ++--- graphics/pokemon/pidgey/shiny.pal | 30 +++--- graphics/pokemon/pikachu/anim_front.png | Bin 983 -> 1061 bytes graphics/pokemon/pikachu/anim_frontf.png | Bin 950 -> 1066 bytes graphics/pokemon/pikachu/back.png | Bin 664 -> 727 bytes graphics/pokemon/pikachu/backf.png | Bin 625 -> 735 bytes graphics/pokemon/pikachu/normal.pal | 26 ++--- graphics/pokemon/pikachu/shiny.pal | 30 +++--- graphics/pokemon/poliwag/anim_front.png | Bin 799 -> 883 bytes graphics/pokemon/poliwag/back.png | Bin 376 -> 441 bytes graphics/pokemon/poliwag/normal.pal | 22 ++-- graphics/pokemon/poliwag/shiny.pal | 30 +++--- graphics/pokemon/poliwhirl/anim_front.png | Bin 1186 -> 1160 bytes graphics/pokemon/poliwhirl/back.png | Bin 536 -> 597 bytes graphics/pokemon/poliwhirl/normal.pal | 30 +++--- graphics/pokemon/poliwhirl/shiny.pal | 28 ++--- graphics/pokemon/poliwrath/anim_front.png | Bin 1287 -> 1348 bytes graphics/pokemon/poliwrath/back.png | Bin 659 -> 729 bytes graphics/pokemon/poliwrath/normal.pal | 24 ++--- graphics/pokemon/poliwrath/shiny.pal | 30 +++--- graphics/pokemon/ponyta/anim_front.png | Bin 1102 -> 1183 bytes graphics/pokemon/ponyta/back.png | Bin 736 -> 806 bytes graphics/pokemon/ponyta/normal.pal | 26 ++--- graphics/pokemon/ponyta/shiny.pal | 30 +++--- graphics/pokemon/primeape/anim_front.png | Bin 1309 -> 1385 bytes graphics/pokemon/primeape/back.png | Bin 673 -> 741 bytes graphics/pokemon/primeape/normal.pal | 26 ++--- graphics/pokemon/primeape/shiny.pal | 32 +++--- graphics/pokemon/psyduck/anim_front.png | Bin 858 -> 867 bytes graphics/pokemon/psyduck/back.png | Bin 492 -> 557 bytes graphics/pokemon/psyduck/normal.pal | 28 ++--- graphics/pokemon/psyduck/shiny.pal | 30 +++--- graphics/pokemon/raichu/anim_front.png | Bin 1425 -> 1515 bytes graphics/pokemon/raichu/anim_frontf.png | Bin 1381 -> 1510 bytes graphics/pokemon/raichu/back.png | Bin 653 -> 722 bytes graphics/pokemon/raichu/normal.pal | 18 ++-- graphics/pokemon/raichu/shiny.pal | 32 +++--- graphics/pokemon/rapidash/anim_front.png | Bin 1732 -> 1807 bytes graphics/pokemon/rapidash/back.png | Bin 816 -> 893 bytes graphics/pokemon/rapidash/normal.pal | 26 ++--- graphics/pokemon/rapidash/shiny.pal | 32 +++--- graphics/pokemon/raticate/anim_front.png | Bin 1185 -> 1271 bytes graphics/pokemon/raticate/anim_frontf.png | Bin 1118 -> 1244 bytes graphics/pokemon/raticate/back.png | Bin 772 -> 842 bytes graphics/pokemon/raticate/backf.png | Bin 728 -> 838 bytes graphics/pokemon/raticate/normal.pal | 24 ++--- graphics/pokemon/raticate/shiny.pal | 30 +++--- graphics/pokemon/rattata/anim_front.png | Bin 797 -> 886 bytes graphics/pokemon/rattata/anim_frontf.png | Bin 750 -> 882 bytes graphics/pokemon/rattata/back.png | Bin 584 -> 650 bytes graphics/pokemon/rattata/backf.png | Bin 535 -> 642 bytes graphics/pokemon/rattata/normal.pal | 24 ++--- graphics/pokemon/rattata/shiny.pal | 30 +++--- graphics/pokemon/sandshrew/anim_front.png | Bin 821 -> 896 bytes graphics/pokemon/sandshrew/back.png | Bin 640 -> 711 bytes graphics/pokemon/sandshrew/normal.pal | 26 ++--- graphics/pokemon/sandshrew/shiny.pal | 30 +++--- graphics/pokemon/sandslash/anim_front.png | Bin 1275 -> 1319 bytes graphics/pokemon/sandslash/back.png | Bin 813 -> 874 bytes graphics/pokemon/sandslash/normal.pal | 24 ++--- graphics/pokemon/sandslash/shiny.pal | 30 +++--- graphics/pokemon/slowbro/anim_front.png | Bin 1555 -> 1412 bytes graphics/pokemon/slowbro/back.png | Bin 748 -> 811 bytes graphics/pokemon/slowbro/normal.pal | 26 ++--- graphics/pokemon/slowbro/shiny.pal | 30 +++--- graphics/pokemon/slowpoke/anim_front.png | Bin 945 -> 1016 bytes graphics/pokemon/slowpoke/back.png | Bin 543 -> 607 bytes graphics/pokemon/slowpoke/normal.pal | 30 +++--- graphics/pokemon/slowpoke/shiny.pal | 30 +++--- graphics/pokemon/spearow/anim_front.png | Bin 876 -> 954 bytes graphics/pokemon/spearow/back.png | Bin 741 -> 808 bytes graphics/pokemon/spearow/normal.pal | 22 ++-- graphics/pokemon/spearow/shiny.pal | 32 +++--- graphics/pokemon/squirtle/anim_front.png | Bin 833 -> 1006 bytes graphics/pokemon/squirtle/back.png | Bin 618 -> 682 bytes graphics/pokemon/squirtle/normal.pal | 30 +++--- graphics/pokemon/squirtle/shiny.pal | 30 +++--- graphics/pokemon/tentacool/anim_front.png | Bin 1134 -> 956 bytes graphics/pokemon/tentacool/back.png | Bin 673 -> 735 bytes graphics/pokemon/tentacool/normal.pal | 22 ++-- graphics/pokemon/tentacool/shiny.pal | 28 ++--- graphics/pokemon/tentacruel/anim_front.png | Bin 1443 -> 1508 bytes graphics/pokemon/tentacruel/back.png | Bin 709 -> 766 bytes graphics/pokemon/tentacruel/normal.pal | 24 ++--- graphics/pokemon/tentacruel/shiny.pal | 30 +++--- graphics/pokemon/venomoth/anim_front.png | Bin 1144 -> 1190 bytes graphics/pokemon/venomoth/back.png | Bin 788 -> 864 bytes graphics/pokemon/venomoth/normal.pal | 28 ++--- graphics/pokemon/venomoth/shiny.pal | 30 +++--- graphics/pokemon/venonat/anim_front.png | Bin 1096 -> 1175 bytes graphics/pokemon/venonat/back.png | Bin 655 -> 716 bytes graphics/pokemon/venonat/normal.pal | 22 ++-- graphics/pokemon/venonat/shiny.pal | 30 +++--- graphics/pokemon/venusaur/anim_front.png | Bin 2005 -> 2069 bytes graphics/pokemon/venusaur/anim_frontf.png | Bin 1988 -> 2094 bytes graphics/pokemon/venusaur/back.png | Bin 938 -> 1006 bytes graphics/pokemon/venusaur/backf.png | Bin 905 -> 1013 bytes graphics/pokemon/venusaur/normal.pal | 24 ++--- graphics/pokemon/venusaur/shiny.pal | 26 ++--- graphics/pokemon/victreebel/anim_front.png | Bin 1420 -> 1508 bytes graphics/pokemon/victreebel/back.png | Bin 743 -> 813 bytes graphics/pokemon/victreebel/normal.pal | 22 ++-- graphics/pokemon/victreebel/shiny.pal | 32 +++--- graphics/pokemon/vileplume/anim_front.png | Bin 904 -> 967 bytes graphics/pokemon/vileplume/anim_frontf.png | Bin 929 -> 1038 bytes graphics/pokemon/vileplume/back.png | Bin 835 -> 893 bytes graphics/pokemon/vileplume/backf.png | Bin 807 -> 912 bytes graphics/pokemon/vileplume/normal.pal | 26 ++--- graphics/pokemon/vileplume/shiny.pal | 30 +++--- graphics/pokemon/vulpix/anim_front.png | Bin 978 -> 1048 bytes graphics/pokemon/vulpix/back.png | Bin 672 -> 743 bytes graphics/pokemon/vulpix/normal.pal | 24 ++--- graphics/pokemon/vulpix/shiny.pal | 28 ++--- graphics/pokemon/wartortle/anim_front.png | Bin 1138 -> 1200 bytes graphics/pokemon/wartortle/back.png | Bin 776 -> 864 bytes graphics/pokemon/wartortle/normal.pal | 24 ++--- graphics/pokemon/wartortle/shiny.pal | 24 ++--- graphics/pokemon/weedle/anim_front.png | Bin 676 -> 755 bytes graphics/pokemon/weedle/back.png | Bin 583 -> 654 bytes graphics/pokemon/weedle/normal.pal | 18 ++-- graphics/pokemon/weedle/shiny.pal | 28 ++--- graphics/pokemon/weepinbell/anim_front.png | Bin 998 -> 1066 bytes graphics/pokemon/weepinbell/back.png | Bin 594 -> 653 bytes graphics/pokemon/weepinbell/normal.pal | 20 ++-- graphics/pokemon/weepinbell/shiny.pal | 32 +++--- graphics/pokemon/wigglytuff/anim_front.png | Bin 974 -> 1048 bytes graphics/pokemon/wigglytuff/back.png | Bin 605 -> 670 bytes graphics/pokemon/wigglytuff/normal.pal | 22 ++-- graphics/pokemon/wigglytuff/shiny.pal | 30 +++--- graphics/pokemon/zubat/anim_front.png | Bin 964 -> 1040 bytes graphics/pokemon/zubat/anim_frontf.png | Bin 919 -> 1035 bytes graphics/pokemon/zubat/back.png | Bin 607 -> 682 bytes graphics/pokemon/zubat/backf.png | Bin 566 -> 684 bytes graphics/pokemon/zubat/normal.pal | 30 +++--- graphics/pokemon/zubat/shiny.pal | 30 +++--- src/data/pokemon_graphics/front_pic_anims.h | 99 ++++++------------ .../pokemon_graphics/front_pic_coordinates.h | 14 +-- src/pokemon.c | 38 +++---- 346 files changed, 2261 insertions(+), 2292 deletions(-) diff --git a/graphics/pokemon/abra/anim_front.png b/graphics/pokemon/abra/anim_front.png index f7ba7165e20019944122f0c842d40aa8d4118c1d..d144aef1754ec7f8dd1f7da508ee9f6a88de3add 100644 GIT binary patch delta 995 zcmV<9104Lc2l)q(B!35VNliru=Lii77$w06+fD!g02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM1@T{{a900RR60|JAfotb-|oVhCC}0RI60_V%Rz=6@;8y&$ZM7=v06S~&<1 z5D*gL>v#YF00Cl4M@0Xn2lB-L00SLKL_t(|ob8ssZ<|0AfZ6LF|5_I+r9(QEG5%{Z zkV?%`SIWBtPaVv|u$vZlj+Ka|9>B(48Y#x%`T#pQ|9GxcsY4~dfx-9rc<=7G_Zh}9 z{_n^We(XNajei_m_K#BldGEoe{Xlx11H}k>8~{-TfOOvM2by7k6NgDs$Yz3*bEX1; z4S<&nKuI*fi~|NWfY|4N<`pBvIgg>U`Y=35o2Rm1`UE1~;Q>R%DEz6$e zHe2U%cs739#*iB~mJ@*Sbk9n+zOP>4T!4EsQED5xh5DDQe|15NN!t}{Wg#G`p11(G z9)P6%!mah5P+n%{7a(JR836zq(TbBSG=##uz+eEb7gj($X%ndoqJW;czeL)uv^o8rt0_KPbB#b;NH2(HStLU*&j`Sd22lQ(Rkg)<7Zm}xnL@Oz z_Zkpkg!FNjVWD!$!JVt(Cuo52GzzPw5p%Qpaz<2vnQB>5A%3#1hz{Mza}D8b0;>%Y za6|cpiU0sTNjY1u`7|v0UXoPbslH>+dy{tO=6{oy&^-nFPlcddOac}VGRKa>q)X1+ zITCst8au`@j`5cv_@-sN&htd1+7-F=M?synpTQLaKwNeA8&5L+AmG}on|F`#hgLHT z9fwgEBW;MUoWdAc17MH4Kt%Hj3^<^*G8Fv50I%v-&`rv<#qtA4$(Yy4xT?WFBp8|F_y+}}?VLOu7L3QsKM6)Tw%dmUqwm0srf^+ z_J<9@(EOpK6dQl=I(qY8`@=U9jM^WH%3L4x-o5q*ylebHErSi<*&jl+@&~hg*U^EM zKZyB@KWujYU4O_n{9@N1#73FB{y?{k+<$0R{$PS+4^86_yGKHgqd)wM_zk5r#8xnj R)bs!V002ovPDHLkV1f-s#$*5h delta 926 zcmV;P17ZC62eb!}B!4haOjJdf(4bg22zX!^|K=%LIS9?YAolj8sE8P>gDDUY5QAa} z(6CUjpqKyv000000000U5if!O000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0U8F4j(J)D00S3EL_t(o!|j$aZ<|0AfT3z-v4JT{y)}va1Ap-AC3d@Hh*ZTJM$eQv zDN06ap~_pOMv>DA$0qJ&&QS9!`v51wF^?`)rAj`@9?a*v_wF6{K1JD%|9coZ|7_PV z6a(I|e{2GXT^G)(0rSuR8f_SI07Mx8BKTGf6psO}f}?6c6~zQs=S&7F764vwIhre= z#Q~!nKpb#Dv42DxF=k?beR|%*8lXo&g6Oe;m_g4KD7hGRzyupSgDqvl%yJmdk61z- z2A{|B=OstHyuLlZkn-2$k^%aYWgzeG(n-opahD#;G@YmEJ(H(4A5SLf$#Kf&xftK~ ze=N~wvsiot=r=2Ny76VTL~sgrXGhBC$Ufx1Sc8L8+J8(cmm{B7LC;Ur4B&7Cg6f6O z_Iroo(kw3l5dyRb04NcSP`7+Vm1rdBjKFsN41lNi&lFDN(6`|&kjiCdXTqhE^Av$K zK%4?NC_@tjoy=^C50kh=AkKvAL?>1xeAloDz-|ek_|eL83vn+>9I!2kIGJ3RfCwX` zmwW0b(tn^B>{upmpadv4Z9m%@HP*5>r%f4XW+_Ta#M2)#qC?kqZAEq0fmMN2=umvV zBmkfsq-Z_tdDBk@uC8bAX}MyLwK03KcH`=FPeJvmP$?FTfEoBPdu%kDJ~FPkC*y6a z*pBV^`$OfMmh!?dbk&3-?vE;U)`0~F3;Lcfer^WR)&Ia8Q@jE1l^=uTQoaR2nGwltT2=@3-~kvAbW+XBbz#w z2w$^;5oS4fb%J39fmbUS%i!v+UNCMi{v;Ule!8p^jLaXZ1f%Q^@0%z$W+?ju2}Xjg zn1A($OfaY%j?VdmH_H6M1zWH72Mlw6pu*cqr9Y5h1f%2+Qwp*0 z2e*5zZ2H4j5{%p*lFT3C3V*=8!XMRDz*L~rLy&he-}J{1EWPDhVt3Lga7~l07*qoM6N<$f_|@` AlmGw# diff --git a/graphics/pokemon/abra/back.png b/graphics/pokemon/abra/back.png index cd8b84dfdf9850d417438164bc19cf859ca5c73e..0a11090d85622a737c02c05cda304d6da312fe69 100644 GIT binary patch delta 648 zcmV;30(br51fT_wB!35VNliru=Lii784h%y6HfpD02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMfUdg{{a900RR60|K7B{y^EBKVrp73IsX9v|MuSh_J4!!%`wfKAgpRBi&7X6 z5D-PUmH+?%00Cl4M@0Xn2lB-L00G2FL_t(|ob8msPQpMChI{iO<)w&kP<;Z{V?7Xh z@X!}AKENV!XDI7cG2*$T!kI?G2@)3^XSP78ED|rq1Cw;y?Eme|?9Ox@=V*Uzrw<2! z@m)?#Y(OfTuYXP{NgNtrY6av=(w2?kX)NskiBD3>hL#O0pxY88TT_A+a9M^n`v7H2 z(uH;d$cTcz4JdbwZp;>evV@-jH`n*&Z~)kfV2_~>0A=_UU`gUIP{_e{lt|OKSOI7O zf}oFNJ>y_E$&*0%h#3*$6;C}E^jbw^I)-7@^J%Jdvwz*jwaS^mxd@pMRnH?AaqICm zcR;#77lMhI5T1A8IB)OrJ_pW)@aw`5JbKyvdB!4haOjJdf(4dG=7^r9{`0#*OFgWPQF!=D;$e19wh>#Ev5Qt!C z(6CV0u($vK000000001UD$l6^000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0U8JTiAl@=00G5GL_t(Y$L*9cPXaL%$9u$tuz}=uy$b`QG=IdfIh?~07LL4-j!v!` zgNEJV;&dVndCU%6KZ@Z)`Pu`HgCfzvIQSBJr2k)EUteDzWB>NsR=zs|)Gu?QW&>Q_ zI%6fzV>Ccw1^B%;;O%DF=XQX^2hMq0^0pO_0}fnUi-Q$#vPlJXaRy?jASF@U_Z!{ zK&6No5#p7edMfC>rOI>+!$q9ZROxoRjC;!ug;N!3LM`H$T=<>Go7@5E=~O9A%$17c zXU5J?`9%)AD3x}VA@mr>RgZIjD^yx$6e7&Hm{93O`F~*@q0~GB-px1F^$C7;^Qz>0 z4P-7}-*o-eH+#6QSnWVA=wAp?A)ihMAY21FAJ-sAkMfHm09Ak(XkglGfC2I=tq50$ zz+3{IHDTBQS*V(dL|3c|p_@_`v9?nanE5nBs8`UnM@g|5DD37$6QS`r8%}o0#RU%{ zx$*4mH9{F_;-=rw{xF%;tNZR@U_$)^^yvg1XmYx7038oURhwQjorQuJOZ(IPw?AN? X{vrFErRWs|00000NkvXXu0mjfTOk68 diff --git a/graphics/pokemon/abra/normal.pal b/graphics/pokemon/abra/normal.pal index 8c4d72e5cd..c461cd43bd 100644 --- a/graphics/pokemon/abra/normal.pal +++ b/graphics/pokemon/abra/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -88 56 8 -120 96 24 -255 230 41 -90 57 8 -205 189 32 -246 246 164 -168 136 24 +65 197 123 +255 0 255 +255 0 255 +255 0 255 +213 180 82 172 131 41 -16 16 16 131 98 8 -208 176 80 -176 160 152 -0 0 0 -0 0 0 -0 0 0 +90 57 0 +255 0 255 +246 246 164 +255 230 41 +205 189 32 +172 139 24 +131 90 16 +90 57 8 +16 16 16 diff --git a/graphics/pokemon/abra/shiny.pal b/graphics/pokemon/abra/shiny.pal index e8c79eea1d..214faed2e7 100644 --- a/graphics/pokemon/abra/shiny.pal +++ b/graphics/pokemon/abra/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -136 80 24 -168 104 40 -248 240 128 -88 48 56 -232 200 48 -248 240 216 -200 152 32 -184 136 144 +246 246 246 +255 0 255 +255 0 255 +255 0 255 +222 180 189 +189 139 148 +139 98 106 +90 49 57 +255 0 255 +255 246 222 +255 246 131 +238 205 49 +205 156 32 +172 106 41 +139 82 24 16 16 16 -136 96 104 -208 176 80 -216 176 184 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/alakazam/anim_front.png b/graphics/pokemon/alakazam/anim_front.png index 44322880c91eeb0e4f9ef45d715ebffd8cd4f884..ccc040e0da9d4132061b2e1a0200fafa701e1cad 100644 GIT binary patch delta 1296 zcmV+r1@HRR38M;-B!35VNliru=Lii7DkUs;k3Rqa02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPk*9|NsBq-rlsdv|3tP)wEKygDH4e2vRW!Xix~4aDM>*_N@Qz7|5^?a99Ws z5D+#ADGdMs00Cl4M@0Xn2lB-L00c)#L_t(|ob8soZrnx`hFJ*kHX)&;js&b8z<{Y* zil6|g5?6MaF0?9b6N~DoCR!CS^fK;f!w;~BTm(tU!`Z-r9l*RLGDHC)_vFlwyG!m; zQk4q=O~sk>aevOtKeu1g{>h?G?gIR~0I%6a(gA>IRKhM`(WnPv70?1No5$y$%@TR_ zZ+ZmS3DnIThpr3~5PC9^ajz5j1Tcxf=XiGpo`yei0sLD4aNSoNz99okIjRBd1Rk6r z1FD103=f`L5vceL!1E{H`cM@VXRGm^^(3l+7=^V;^na{Fm;-oeoh$>VJOYp!fsYb6 zSc-pXTZM0R1pM7OJCH^6oVG}WcW89*A^HpiXWzUKWgzIdFM zm>5?{>3^fJkB5}YA=g9%9uTP?5|07&-#h(>&J^*il9RV8h%k3FErxOFg#`Ye>sy)j z`&q3;rUx)S9k9rQVB9yen{sU{(e+$J6i zWJ62Nuz(A5C-C1rvlXx(3ynx7@U`BNCI91TF@GNBl@$BCSv46LYub?Gw!;e+$!${s zMkcS0gqLx`6`KXmBA+J~fpBJ88n0v=n2)bm@2v1sq+LiGt08wgXV9fOeEtAvRC+Xz z>uR^l3@D2*xHc+7bJ4>Gml3WSQwhXb0i)L`EdcJpb>B$QL@5DL@EHs>YIWddQZwW( zLVr#o8zze#Mc1yI^3MMeLgFYX;7#*%=_-D7zymM&*b!d03y!CV!Io<+rvYmt*;!QyZqb;nj+U*nTf~03i?I zH&roWOhSD7MGFWp=F9Krs?i9|DZSlp0(%?8#~x?u$*n>kTL5Vv*W<YAeXBMY>UnL)PX}eV-`}bX1`|#>S(526om@OJD}(X=_pn0i^PQZUKh?!I;=!usgXdq|iOh;h=Bk3xE4E7ippgKFO=vuv_+JR@h)fUO~!WI5YbaHs_hV z+`*zY7`1&Vn@_LqzBH*e7-4N+My;3kgG)1m!Ee8`FW0Y|8QKPeVzw{RU^F{u8w|ED z*S8uBLFV-x27~_V2E*t!7z_WP492~GP%~Lk;a~L+e*xCqx+0Ai7pnjO00{s|MNUMn GLSTZsGENTw delta 1217 zcmV;y1U~zt3e^daB!4haOjJdf(4cTw2>O{ z0U9p2JJFy300cNmL_t(o!|j&8Z`(!`$4Qik0ZrnMq)3~EkAKo1aC|ql9VqgNhEsP* z!X-07$DM-4km|8pG8z!#a%&KyL*vD$H@AZUPX@DPwEmaABPolNX?qI-)HjLuKDr;@ zyZ7#^X`i#{{o4TdHo$8RVRir@8y}(zSa#~Z?3ly%g3I{j&t|i{`fs`g*a_6#9EYwM z6d-l8ui{=O@P8GcX@Se}?iqL+?l1vxZvY@ko^be@8Cc3;4PYm5Z;A|*19Z-C??rAw z8NUX2@%lFxs)llUHNKX=wrapenNK@_J-7sLBY(LH?D7ggX#_4RV1Fh4SC)q!Mhb8k z800HM^#1uXOC$VI9m6rA5356b`1dT!Qv2H@aKAsg3V%#{ALnPpgg*jt{5PUQdH!~( zg_-XZ7iY*sB)~S2IGpEMuskE073UFRob51xG|4iKr;B^d_hYbm5JzYl>t^Jl%(f;J zt0kL@d*lI8`3KWu0Nn@a{8KtYoK6>46{Lt$O|xMTd4jEt5NzMj@vSl*^BkpaFh z8#5vE5PuY~rWTqizy>Fhlm)sEgWVa6Jo5+hA}}BFPSZN$j5s4+3j~u~?J$JR;?#E^ zzRgPD(3TpJn!wf8wsZAA-WKB`uB13T3#!e)K+`51&r&`xOI@1^FalLNOg=`=ej{VS z1Iy)&Ss>Gemc|nm2j=Z{);kDY2k8u)#%ZYA&VMuLN*&HW02)RfEfb==?P>;8O&a_) zj6|^<;eNshe;OkN*g*)xrw%Ov9wAAdDbZx402y))3XNI=B!SWlc?iLisE$TSqj8cr zeDi++K^&zLc-G7=y^L?~^TH!eJHl~0uIXw4zrNY$q&A4vqMdTeM&qxw-`{Lioh;{s z%6~<-+9b~=I~5RTlb3WQ!Pm3($yWI*lIvMV{yPLt1#ot!okb8t*{}4b&I$%tUQ%7j z9dr#)7xQ=JfvpneW%28ss^eI#bLEApDtvjO0>$bA1TW#6N(LKEfsg)Z0Y2JX{C=o9 z4N;8f(Rr(W91*8IF4R+3g&wy6(jK4K%YV%uuI}N07k|zrGI(PnWl6SNV6%WlJ#ZGV7k zF`d)yOwK>ed~nnQ-2(Oi`~k7SV0W?+D*N)Py~q(@=ta)jHUsh2rG04v@)RSfO=j~V zUfP#s>CkzBkAV|XZ5&8J#Bl%_QpKR9nLqPB$z^@OH z8UP_{|3oHW-D!og4Y1Iktm3Ob>n--H&#YL05vaN;E=)6MKw9Zo$9*I4k$^N70maQT z&@zJOo)EzefbhI$6uxE#lJa>4fDwPVGXw&P0gN-;dE~^Rh+hLdy8m?`$_8@Sj(42< zaRnqGoi@>N&cq6Uch2KY;0a|Qv_>KT4V-SoKj+TE2c?0GfRVE?#MUQYa96<}dK-2D zLa{l-(Z`3JyUDLRBKUEq4Gg#Lbq|qIQs=U_cL+qNNF;wLAcY-= zuK-J6zqhXda(+nw;DB?AyYK6o>SHuL$rYsb%vAwMelfsYr(6-S@C9P=K}QjgQLua0 zT>=bCIjK~IjB-~G<}05x$p75lo3J;-N{iT^CK7UYOf@&^M^cHA20A)X{S`|@rX=$D zRm$R^5AXV+7`I9isQrL*YCO)DTHIY_h3OrQp!r@<0uiO~Tk(&bKpMfz&l*4o z30;0am7R9fTjI<8I&idubnF4E%yg;X+XjH_?RK(W{PE@*PAK{9nmAi66{v65(AfaY zRrddDw+3Sk+!~C(-(ax(W`jY%%?6{mf3G(fMZ3XZl+8l^?U#Q>gHgp3$dC5x24h2p zrvN{1?^OmvKd;RJI#2p4I__#9TfQd3RpSkr&a(0JUav41L|iVR0g#)BN6TsNq#q#} zjHOE{$tFN|G45l~m)*PM4l?~fH-IxC!VxZVhuq0RX#4WCndDNy!dKbsoB({WvM+T& z9)OaQLBHF}*Y_U0{y~Zf9w3|^#A|>07*qoM6N<$f^jJ;>Hq)$ delta 1167 zcmV;A1aSND3HAw)D+vb@4=gtYbxQ(~G*5q+(4cTw2>Sp5Fvj(ZW(~& zPSa!qXdLI+g#-wbD*^ylNkabk-M*&%F`OQT5)6G7O9w=@LlZN(h#TuQ ziJl2&&8Xgi+_3={+z#q~%3&C2sycN3CJ{2}VspzN222NKg6YvVlU{!ou(s(V1y}*2 z&N}u0mXHb%g$Fx+jRS@7XpnASWrIJshvZeC&aPMf-2+No(y>E$yw?N#`SL)h+^AZ( zio5>7cQ5yfp{bmGz$#5vR|OCzNly;5WVR|smSR?I>B?;6b^*}o?iqop9gw%HdUtE2 zZZHn{$eJp5cL;Uzi_3rfhkU`>gt58&w$9aZwC_11zq|5Y`HFhbd@m>gk5c$3|D#)A zc<}K12H=B5m){pfqwZxRe0Wg@j!uw{Jz$xc+A8?80U&#NW>u3vZqMP6l0T~zXNz@h z>$In_0kot3U+qp{RKT6U`1=J03vU+~1l%q#^85E@fsxxS0;7L04U=zv>=hWL--7Vy zqAoC6Wq1ql+1X_&Fx2zf3^2H!OYeB80DJTy5wUEZv+H!<-k!eBa)Cj_)d(5@sR?s9 znr4S{4@qE*VoFIg0lJIv0-d>7z9DsBs|UIP>~ro9aU7jFdX7Z{a($OT3> h!kvC7+x|WM@E3E8!o5vHIHLdn002ovPDHLkV1m%~CTsuz diff --git a/graphics/pokemon/alakazam/back.png b/graphics/pokemon/alakazam/back.png index 1bc44a4edbcc9bf832b6786c5847b926a9e8c959..f76c6dfc0e58c6e6230d936461bf3c184a5599f2 100644 GIT binary patch delta 832 zcmV-G1Hb&72G<6VB!35VNliru=Lii7DjJ#*q5=Q_02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMds$_|NsBq-rlsdv|3tP|CHw5O029Yb8`?V z5D@?OQ&Io`00Cl4M@0Xn2lB-L00MhSL_t(|oYj=QZlgdD$0<%aS0LvNj_Y%haqpAt zXTfi9OSe}UnurIolzV|Sv?-V+#dQH2$WJ(8(zh#z4ALLZI&f6p#tV*g?AUyPspADYab{ihsanfxvPMNaznMSh`-guDhIu z=nuxo*PiQs9|KM~0FY++#=|qpfzXltlnIdX>l^E zm1v&;905M~TQlD$RLY0e_!LC|b0Np02+>||NuY@MLP!L>oQ!HmNR1+dK0qE4JQ8^I zWz*L<+kXl$i+!e4jpUc)$q?0jwL1Q1w%o8PUvJMWO7 zvy)5rPsAD(?u(=Y=vKcD!X7x|Fbl@oD6{b2RrzWs^z1F}855_LxO@QQp0{F&d`%S) zlPMr&L_vDE6tAqEh%*Hm;5CIx;&d34?*X+KwSSaW6k+RmGXVlsCOY!CQWM1Cm#G5`6<{NaCo06hJi}w@5lGYYY&HQDR^M zcIwHemD6@A>VZJwZsEOn(#@yCJo_M0+5&;@$+C~_G=>-?R(CAzrdHW6f2?T|1Y@4y z5IJ^oFMGW;a!BHL`?1Njov}x~{mxLRzQ+onB4cd7fBPx=q~|{fCVGU}4B6!X0000< KMNUMnLSTZLgLWDK delta 772 zcmV+f1N;2f2Al?vB!4haOjJdf(4e4b0PxTt$dDKi5D@t2fS53Fa1c=Vkl@HzpjcQ~ z`1ts+u&~(J*jQLta99Zb@f?=`000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0U9sQJmEF~00MtWL_t(Y$K8~@irYXC$0ZOkq_QPnlTKs3fPXZCDirKei4JZ)W&aMu5)GN;vik3cgd_)*2i5G*U1z%(){K>J0B~<_~*==-T^HC9^l?f z;oeE@ET(@~W-tQW-j4xh&`7Xgq>Ni63r0@qG>%cgL@mLBu`&?qPzT3OiGlK%I0mRt zR|z4Em4QI93V#?YgK~HZ7%xLfC}6Y<0z8h*VW(#FRv~cXnFdUIW{1Y%^&xy4d?cZ{ zWxD{#tHY}@0$88|0tNsJUY(x5_kq~aepM&|hbsY>KESaxu)#ZCtE##TQ?y1o!ed!g zzxsgXbO3rmcqqwwXON=jp9c&%Uzc4K?_?48fY4U?=6}5Ne=Q2u2Y!U~+iNBH2Y^q2 z-^Ck~qL6~~ZS8!_bHo$l{ZVA(U+rb0h;%7sj=nP()lSM4iAb@LVR@mEOj=;2Gtf4W0NIwUOC`}ZP-HUAV}0}xRr6_!xOF!AfaH`VMPRs7PlbrA zx>I=zB%F4O?!}{SzUb!JCgI#<1T;^EIjg79<&demV_q}0$b9%>3=bhG=NuPVBlob; zTf@6Ue5*e;q4ooO*4uA&h3b2(0Ko!)%_cJb3;PXD^g&h*JZV<|0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMds$_|NsBq-rlsdv|3tP|CHw5O029Yb8`?V z5D@?OQ&Io`00Cl4M@0Xn2lB-L00L%7L_t(|oYj=QZlgdD$0<%aS0LvNj_Y%haqmd> zv*0(lq1&qrjm3+tp-sU+iYp;TvUH}%vNsEOfg~%}nZg##Z~n9Mu~^oZGyCNZ;N`<(nVa#algcF3ufs{RAjHZ^IM$mMS2IIUr@k zP2Rz*0%|cDDXl1?)_>>i3H($!IUeFq_pvGZ pbR>Fhov~2$C^~?>{|J3)`wtRdZ0~FtqjmrQ002ovPDHLkV1g6)WcUC8 delta 710 zcmV;%0y+J{2HpjbB!4haOjJdf(4e4b0PxTt$dDKi5D@t2fS53Fa1c=Vkl@HzpjcQ~ z`1ts+u&~(J*jQLta99Zb@f?=`00L=AL_t(Y$K8~@irYXC$0ZOkq`H$_rPEq3AkD&+ zk!}ZzfFEO7kuG2%;TJKeOKtoH<~mnKE)LQqdY8;fvOeyzaetjmVdI_O{AcH5ZCU@E z*$;OBC%gyv_fq(GQhTe1zbgx70B+|dz>aze5gE$3MT*F9ORskr0UJ6A5t+&W)`ogu zx+O%~V}l9Mp}rOZW-0?1#cIG*2IUAeU@k*TXuwzo0RcjP*#|p*uMqjkV+Yvoqsy(s z+e?Hl3xR}|j(_Vj2G|_llo7ENXdn`du@yF_m+w;`@jAaQlz_vPfXfs>7>v0rI9{8k zxy(}xMmhMgZkk_H!0|=^f`}h#vdJBkocNcK0K`o_R`Eeq$pql8&bP$T|Fx>b6!^jE zbJ9xk&w!ACaE!MWRiz~2wsk(0CBRAGbQA^o)4j?xk$%6>=2vo4Utbv$%a&OG0pN9gW?=`txW%ws)48V*0t z0Nsa7?}LafYJQaguP-!`#Q>yT2HFM^Alr&fttEyA%0lI30s(+-K5Y>?XKM;5q%1iw z0XzMxlCjfvsvLj}X}9QIJax^N<2;8Xh_)a=%|C#}m_z0IjRpPGhQ*rzbhd<52gm`y s@e<$KKO5eq8z1IaX!nl!EdGD6-zdmE@T$(S1ONa407*qoM6N<$f^d3GkpKVy diff --git a/graphics/pokemon/alakazam/normal.pal b/graphics/pokemon/alakazam/normal.pal index de1ad1131d..87a3cd5beb 100644 --- a/graphics/pokemon/alakazam/normal.pal +++ b/graphics/pokemon/alakazam/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -112 88 8 -255 238 41 -213 189 16 -16 16 16 -255 246 172 -131 98 8 -82 49 8 +98 213 139 +255 255 255 +222 222 222 +180 180 180 +90 90 90 213 180 82 180 131 41 -88 88 88 -248 248 248 -176 176 168 -216 216 216 -96 96 88 -80 48 8 +120 88 8 +82 49 8 +104 80 8 +152 112 0 +255 246 172 +255 238 24 +200 176 16 +112 88 8 +16 16 16 diff --git a/graphics/pokemon/alakazam/shiny.pal b/graphics/pokemon/alakazam/shiny.pal index e6518d1169..277b7d3846 100644 --- a/graphics/pokemon/alakazam/shiny.pal +++ b/graphics/pokemon/alakazam/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -160 104 0 -240 208 32 -200 144 24 +230 230 230 +255 255 255 +222 222 222 +180 180 180 +90 90 90 +255 148 230 +222 74 172 +172 41 115 +115 16 82 +104 64 8 +152 104 0 +255 238 131 +255 213 0 +213 148 8 +164 106 0 16 16 16 -248 232 128 -152 48 112 -112 16 80 -248 144 224 -200 88 160 -88 88 88 -248 248 248 -176 176 176 -216 216 216 -88 88 88 -112 88 8 diff --git a/graphics/pokemon/arbok/anim_front.png b/graphics/pokemon/arbok/anim_front.png index e52d48016953a61d79478580e1124a0cee853bba..f4cee5e4e85e1df195d128a4e0e93f4ff8bef717 100644 GIT binary patch delta 1540 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 a)E@_ccM-Rq+Z%TP0000%p7 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 delta 1241 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 diff --git a/graphics/pokemon/beedrill/normal.pal b/graphics/pokemon/beedrill/normal.pal index 5dcebed760..ff1e655a36 100644 --- a/graphics/pokemon/beedrill/normal.pal +++ b/graphics/pokemon/beedrill/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -139 123 148 -189 172 197 +123 180 65 255 255 255 -24 24 24 -222 205 246 -82 90 123 -131 74 0 -230 148 32 255 246 164 255 205 74 -156 0 8 -213 24 49 -255 148 106 +230 148 32 180 98 16 -232 224 248 +131 74 0 +238 230 255 +222 205 246 +189 172 197 +139 123 148 +255 148 106 +213 24 49 +156 0 8 +82 90 123 +24 24 24 diff --git a/graphics/pokemon/beedrill/shiny.pal b/graphics/pokemon/beedrill/shiny.pal index 01f97d3854..47bc36640d 100644 --- a/graphics/pokemon/beedrill/shiny.pal +++ b/graphics/pokemon/beedrill/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -136 128 144 -184 176 192 -248 248 248 +238 238 189 +255 255 255 +230 255 189 +189 238 0 +131 197 41 +90 164 0 +57 115 0 +238 238 255 +222 213 246 +189 180 197 +139 131 148 +123 148 255 +49 98 213 +16 32 164 +82 90 123 24 24 24 -216 208 240 -80 88 120 -56 112 0 -128 192 40 -224 248 184 -184 232 0 -16 32 160 -48 96 208 -120 144 248 -88 160 0 -232 224 248 diff --git a/graphics/pokemon/bellsprout/anim_front.png b/graphics/pokemon/bellsprout/anim_front.png index 09a48b67ecf2f8991b6e39739b8ce80cb36d2fca..f3f36cd7c7037a8642c41a8cb70fe474af830c0d 100644 GIT binary patch delta 896 zcmV-`1AqM72A2nrB!35VNliru=Lii98ad;=nK1wW02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMOw|Q00015IRKPuL9Ba0b07e;K{3^0YUYcSL23|Uq<=ws#Zs*9l+e9k@ZfO& z|NnUJJ!=2}00Cl4M@0Xn2lB-L00O&7L_t(|ob8q|Z`wc<$Ipi{u=#9>)>Mj&&C)H{ zT^Je^!WUqm%EFK#`36-#K~zREbTCY0Lo5pMSAK{FPCQW3%4d=8*~L?RNRbHze2rkbl(!r;odBo@e?Lr#Xfms6C;+ z$-Za-H_soBGXntozrQsAr$qrha5OIU%+>%GH{&cb07sL_O`&6jB$-x$o0lJp6asXm z)>UFO{D6RnY|s^vqcLh+Wi7#6Z>82Vr7EphSMM%`T7NTZrq(N^?kgqg;`)_R=@fuD z)Ts6_UyCGJrBhErexgDh^Fr}EZ&`e)R=~VUE$_NB37?A!Uw4_GbW-x z08F%f1AlM=4;O#_mH}{z{|B3qiCo+qqSWGKD-JF@5fHpZ*C>{e2w48jJjDNCc2S5QAlgZd*A?g>y$$LWrR{uPD zfxv_IC2y~W*W(8vbUK?iM%TjT9m=7UHSQai>C}C_q8ti_rS6;aX^3Nkmyj7;P!hmkk_V>3VBF!;9FYB&R<7^J`PsL9L WO{ z0UFj)i9)E5-+90r?V-5O>l#aF=WXU@Lf#$Kgj*AI?G)dn2YYNFn-B&Y!(PRzjJ^V+cxzB$FAz%T=Qr>NKcw?-fm;>DS7 z0bu{j&lcb?D}P`H_J_Id2L|Bkdg%KWV1GQm&UCDhrjsIY{q9?qLV~W;vPg_Be;^=} z0CYv<=!`mdeoL|_-m2wXsX{Bx-Pc>Gmdu%}Q0bm9-iapGhGEKLu zNvt71QK5`^q4-0*$$k_oU|yv*4}-ae?{xuiWDM&o?SJ*O*3b%dm|f7dCp89n-cDER zuphvuUeou(k&-_PfLjN~|7G(CIkTPt=5QIWST-}S;#vWIA^WZsIASvS3&3R4^6c_+ z_=plb4+{_?zyd}lig2@sQj3$Vgt#0gK=2k_BU?torLQH-mu1ol=`I_OoyowVFSfyd zC)@gk>p zm-oZAl*V(Mbw>9x;62KryVHh);vqC1;-IOb`>0b?+q4$vMD{s3dH zR-5TSr)fGkPbTu|%JPof0{$Z=u=JDTiz+h~Q zr_C!3Xw|Ie{=jH3xa&4;&YWLV`shF;;|9GdB?3I42XC{AlNmh>J$QM7%T6C2+!i_f zOFr2)oc_=&mEo~27zo-M@K&DI@m#vapz(NjWMVj`r)AS^bapTJ{~&$=tRP1?5%F=G P00000NkvXXu0mjfEQ*iu diff --git a/graphics/pokemon/bellsprout/back.png b/graphics/pokemon/bellsprout/back.png index 3357a68a88ec37c298aeb8c99a651d5870be57a1..099f435b5bc2cfcedf038687bfb3beb1d513d343 100644 GIT binary patch delta 597 zcmV-b0;>J01nvZoB!35VNliru=Lii98ajHk$cq2~02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys00015IRKPuL9Ba0gIaT}gQV50#rDPKoN5Tgq<;wB)j9V6Qr^WF|MrXj z|Noff&vpO+00Cl4M@0Xn2lB-L00ELoL_t(|obAuCPQp+W2H<8MF({qXm*5>u zIIb=M?;v2mL08}mJEB2WD=seO3N3}u!xY@g8KtH|NPl|hXI}=?5+Duv=*tlaD68|7 z^Ep)?4=t>sRl00000NkvXXu0mjf(w+G# delta 529 zcmV+s0`C3p1gZp(B!4haOjJdf(4eSzK=}CB`0$8WH~`qlSorw(5D*ZMXh48iaPYw3 zm~bf2sKD6JNT`6Iz^E{|c4zef000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0U`i%a$uAI00E6jL_t(Y$L-ZIOT$1E2k;XrSLmQAh|cLJkbe+x6|Th5QV(?TGu+US zO3)%y+Ocaz{0!YP1nJ(v)u9~iCW>@*2<3TAn>Ltt8O5P*D3tfh`@d@vO31eUYt;-R zuf2Oqbz^iu=57H0|$-v8sJ-=wcTWi6BOKccrGX!Zayd+RoCDWO*m|>0q-H; zv_m)G89PLWY(_jzvnzB3p$`f8%w`nYf{^5(*P|?;Oe}8L5?qa@8c_7&l&4ps0fcxr zocF(adO&EuKYJ&6;BNLIL=GUH*CRd#Sn8WU$o>w@Nq>U~d7x5&Mi^is1z@1rat}a# zwjvM+P#L8cDS<>VoC|!3)?6wfaiB8jFa%I01UbN742K3Fs1H> zf?F9i96wH&z&w)>$WTrKCmcdt89?P&P5x&73cURu(30`_8cw(zAhv%Qe_lUy|JS?C T>620b015yANkvXXu0mjf03GVk diff --git a/graphics/pokemon/bellsprout/normal.pal b/graphics/pokemon/bellsprout/normal.pal index 3a2a60032c..4706c0939d 100644 --- a/graphics/pokemon/bellsprout/normal.pal +++ b/graphics/pokemon/bellsprout/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -148 106 65 -255 255 255 -255 238 164 +90 205 172 +0 0 0 90 57 0 -230 189 131 -248 248 248 -16 16 16 -144 104 64 +148 106 65 +172 123 65 115 32 0 +180 65 49 +213 98 106 230 139 148 65 106 16 -213 98 106 -123 197 82 -180 65 49 98 164 65 +123 197 82 +172 238 148 +208 189 96 +240 224 112 +255 255 255 diff --git a/graphics/pokemon/bellsprout/shiny.pal b/graphics/pokemon/bellsprout/shiny.pal index 89668940d3..8688397c0d 100644 --- a/graphics/pokemon/bellsprout/shiny.pal +++ b/graphics/pokemon/bellsprout/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -168 120 64 -248 248 216 -248 240 136 -88 56 0 -216 200 88 -248 248 248 -16 16 16 -144 104 64 -128 88 112 -240 192 224 -152 112 40 -208 168 192 -216 208 72 -168 128 160 -192 168 48 +205 222 238 +0 0 0 +90 57 0 +148 106 65 +172 123 65 +131 90 115 +172 131 164 +213 172 197 +246 197 230 +156 106 8 +197 164 8 +222 213 57 +246 255 82 +222 197 24 +255 246 139 +255 255 255 diff --git a/graphics/pokemon/blastoise/anim_front.png b/graphics/pokemon/blastoise/anim_front.png index a5ba90e1827eef9729e08c03ba8c5f47ab4d167d..09e58be54077234f3a986c5daf95e5513775950d 100644 GIT binary patch delta 1645 zcmV-z29o)f4gL&}B!35VNliru=LiY`8x$&bU+(|_02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM1PV5D*am|NqU+)s&Q!N=izUtmaya%^+f|2svVyFn=ia)tunKaMi3zi()}q zIT$Z`(!`$Hk$8H$9nxs00#Wx<#9* zNTj0hR>J2Z9+k*wK0z~U$&n+6LdU6LQ`{CWYcaQh~yV3anjH9EQ=fBt={BR>MCWE^-0_NefK@)$s(&`z2 z3dH_inm$dZe)-5aI06-5F{OS&Cqld}9<@d=ZdQ0gixKs+>$e!aX*dAw3fNlBQ|M>e z^)j=U+s;=2qY{WcO7Tm52t=0k-w4ric1J4UQyNo0o_|2F+rQ3iVc&CxWaL&kq*EIE zzfEZp?7AN^u>@zA5TYdcEn~?G=WFV*Z8v)(03HkpsRA@$hp}+yukR&5`t}lFtOw}G z9ZdeFzQ;@ga*VYAhEM&eWPBC^0n>r@!Pspo08R5sdB2|`U^)4s9|7XzjK^1B@Nat99!ozW_`!roq4kTLtiV;N;~=k1t^C z;<dFF9WVaVe%85N(AftV=r>WQV9^UUw_}tX5!tv0O(^HsJk#|$a=4Zz!>ud zv9RcD8p5*bS<7R|?O8Dvau*D`l193 zizSTpGMs*uonaF0RAxCT0W)D3;`ThtvMYqR=`wk=K?%SirV#X2Ip97_i_z3et0hR7 zM1M`A1n|IGp>w=vmjIaen~f6Scw)}*-ox*dTANrB{h?z&YaWy!4D>lOI> z1<*DHqMf%v`|ALLTX~0?YQtdHLbjT};+YI06KC0nkD$G0=n|RibXCu z`FqMFpxk099yzlyNAbb(Wq^=bN`S@|%Llg66}PaZJd9`sN+qm(J}}@4x5>gpenFX+ zJ%J<2UsAAGh$|}bu_cI=B5>SP!|6bGh+$XPmXQP6Q2=ZYtzazxrrc2&sX)UR9DkHK z8O}E>O^%5cqM@X0IBw|NF*g7mZaG6ua6U#H_oium#m{N{cXx33EO!U0_-ms^{5Rdf zTKvmL8}6VKf4kltsN!Gi4ixeKggdCjzuq0F;$QC$RPnEK2denjxdT=FF+z!{LNZ-uoC}SuI>9Z?tegD^#Hk4n1tK~*xz&q>x&#D&`nd=a0k#U<`*1+ z!*EJN%^esJPk286o-fA4I>P;$$_miM0--tK@+Myp^4xh8vg2wOz-WxuFcwE%v#6TE z{vJ)DQn3sviumdAA`9Ynu)qAEbO%PRt6||EW(Yit0|sH>mb)$ z|G7zAFl7MEXyIv`qdhpwO$;FiBl{!ZtQ3Dhg1Ghu&{%sIE{{|ap8)1k)er$=?O4|8p@fHP|FiIf0DuCj?Vxgt3 zU`)|5!U~Y@G0Lo^iIyepL9s~k%TLsIP`VpBfMOb8ju#?%aEG-9J7%d~>8&)EYau@H z#kP}TQ|#;ix^1oW9N&(G>EbR^q6=ds_;`|C3Ftnn@((!j`Bc+(-9H$$fa)LQ8qtRK rYyLrY`KB}*gCGAzu0K;XUypwPx}EvT7dz`D00000NkvXXu0mjfoyi2K delta 1669 zcmV;0273Aa43-U$B!4haOjJeq!1y3ytOz+`l&t1ji_J<(N&o-=&CS(XIT)0bl#60P z|NsBhtV;IPoYkyKoQO~?p>3uB000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0V5E1-a)Yd00sF;L_t(o!|j&OYa2%t$CZGW95ZWG7x&BxeGy25(b@8%xEF(DmgE{^gnNj=7GZ9M2w~Qj9*g#W>6_iPG^5C&ho0Kb z!2-X}zIpTJ&HKJs?BBWWJq&;GUBIIsR$~Y~yiXoy7XzgiIwHivB*k7X1j>ZO2`q!L z)>p;{j?+o}LVtplVXP;+=+HvU>7E^4ZI(j7O1W-9`qt~7I)lL>2f#{hya1x607u?< zP#>Ieeg!6-q~Y(T+m{_&dtGPnj&lQ?AC@4__-0RW&^a2Pp0#;DNytj|f+Pv9m1PHG zTJ^dR0R`aaI>!d8JeH1dkfr5Z_iTsfXmkdG4)JO%8-Ja1X=m8a_NpIY2U;YV2-(ze zo4yR~oDXZgGW>j|Hk=_^MZ;t{0f2$?et#?Yq39-g3+VcZ$oA4O2S_W+c>}-Sr{DX3 z7(p%)NY_nq(xod}=Dhiqe~Mf9q`&9;zDR~i5wcC;VJAmvo3(cMG9-Adw+p}oBZN$Z z?Nk838Gqqw+n>^q;EYRefbf2&wv7P@wz$l0Ggjlv>9lZ>1HywvF*Y$3htODVi}kmL z0?={o&8RBuV*${ph8XMDw;Cj!ehz!&y>V68;q&QbQA!5@Y^0YVioFR~DaDjZcTshO z2V#jRHiHN}s?=iD=~VWU0f0Y*QUTa=K!>%?!Ebz}`TkOz^V*&}XN5KBQ%KL-OWO2B2-sB5$r?$Ld3NKQO`nQH zoquAixTr8ui2BptzzpAeT^pl>0yKgLow#<+MV_4zyc}H)(hMs(A&ihms1^gE)tMdR z5J0=ZO?o3!0J9)$Y!U^qF~qPCFhd7WuHZu6A_OdCc0&hHuSz1Q9W*wiCk7BBlq<$m z&6JIV9VHTj0WD}aAe2NEjX2o#VnUSac7Fh1r3n_{R0tVi;M>Q-zUKBM;JyxaJIbym zg4kb^n_NtTuWd9?W=ceQi%O`*56U~d!X!?JdWL|>`>oUlBDj)YJX`X zP^^qqS$r?rcek3iK=}jd-<(RntKLnAR-NwP-AvinR6uC|U@+jtsj}Dlii1%5-|^B^ z*?&|We0k$_@qk~&r^;Sd9qe4ZdXjn)0Fknfe z5h4Q*ve`206B7VCek=W!^r}F#uYYJUPAt&=sj^Fe(EbbPX(Y44`_BSpw@fm7rAwFP zHede?4Mcy=TcGR{Lv*{@+Xd~f@O559dNRGznkqY*nM?8R9thahV#R}#%To=kzeqklm8rCwhF z?Ju`12uvrH{A2{ez6)}ZnC_v$e?GFLXp`}ZP|UDfn^G^2RjUk(7Nwu${ac_YsX?sT zVaGabn`rvsAv~Kx-;~9FYhR?YB7jLWz$BzSs+|gRF|M)Kz90HH6+z5YjaCns>$)e+ zyz{Fd#?BFl64F;C={^9Umw)&DKOLcZzGs8v*bQ0yv)OFkzg-Z7P4Nj|hl<|Q!f=6fVM$^GO0C^2xOCr2%NRuM|Ab!PjfGxyd0m6aZ z(s!fr0B%B#(vAS6S4EH`G43ko)J!8BAB_4LTniYnX)E2B8u4H}DAr*-2*w9&s;Pwe z0SaG7RE!7V{9wL}-8mjCnjgaP;2ZOUJRU5bAC&Q6(flws9{fK){Nw8{3g1tVO2_i& P00000NkvXXu0mjfQrRS9 diff --git a/graphics/pokemon/blastoise/back.png b/graphics/pokemon/blastoise/back.png index 18275be68ca408aa512470ba20263deba92b8303..0ef5344ea756e811e1d20f746072309a0c69f6d8 100644 GIT binary patch delta 875 zcmV-x1C;#327(8WB!35VNliru=LiQ2H7xdyvsM5A02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM1PV00030|NqU+)s&Q!N=i!Z-v8CK_N05gb5fL;Fn=iU(3s%BaJaBoaF9SC zS{P{RUIqXF00Cl4M@0Xn2lB-L00O2-L_t(|ob8k`Z__{&$LoQi6Mc#;g`x4x7+sKH zwDP>y%2{eZ29v`^#gMa5B_bC4n;=>J5FJtFN*y{d)Tt*Xdc1efWDDUV0 z|NrjYd2jFk`hSbpe*FiaGIh<&{)gT5z|=)i5K_JQodeYiL)h!xz?kbxQ?80~r$>+j zjF-lkVp;73KqIDO0!%qR*inCyV47pX!0Apv>l7eDmRMK60syEJ0MN$_nDyg)@n-Y_ zGXlbtJqXftk0ZJb%Kcdg4_g%LTAj$+VvVWIP7HW3n>NiS&+ynK}d4!7o zC;hI|3?vZckpLf8t`9vYVnX%n1^v)zl;@!bzA_LX0aF$LCN<`H=Grvo-4_=gQK^{g zK=oOQm}~UF^8sK1>W&l;X%^_4FfSz}&ZiUrAe*ZhO-f@Ld0_Qc03?T=Ca|D75qWkz z088&N>3=pf0H@9dAmy{l6zmabyk`fkQdiGHH%wzLD^EJ3_#Cq04&rGz~y;+B@yfZL}~y|2!CkX_F``UEPK$fW_)CQh+8i}4jvdO zl~h!rBq@D=yOM|k@J`UNsN4>%-Cou(9CikJ2XMV$f{D=$VNn0)?lf zwPXnoH`^P_5sC1CJ56O39$suSvH;}}pmZ*#g!Tb&0@jXPgv#Zll0C)icPPPDf9JY7ckh1#u)Hw)Xw!pu!z5`TG$hZl$l#BoX002ovPDHLkV1l%+ Be_;Rs delta 812 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

kc40@f1+$Ye`fEEZH( z4TtVlVSf-|bjHZmD>7ElX0x~Xt)H=YWh-0RbxLyO3Sfih6KncrJr~%iR(a({4p6EZ zI%<1PikeZ?Ip53#nzgo3t#F?8g_P{3jf$xAMiy`%MHw|U6KMVevT`(=ID8nKZ*#Ll zX1Jw*ngT4JBG!y1Cg2X=Zh$-_fg1W-Ne_WY5`Q5|J5|nG5dszhR0y5lbnq|lHc)j) zpxAPiu%cX`a3(|!tuGXSy6G)uX+hhjND6e*;fWyh>3zS!f&>a;45AgJhicd@jh4Mme zGJiS!BXuFcTF2jk^5uZu_BWqJMIWhQvJKLlPw tKA?r+vs_>}e3(BzXpXb`>;GT-178Pih!CC3Jaqs7002ovPDHLkV1n1{pu7M8 diff --git a/graphics/pokemon/bulbasaur/back.png b/graphics/pokemon/bulbasaur/back.png index 73cf623a8bc62c6bac2469286a134689fb8e51b5..7783f5b225caac1a04f6325fab694c931fc3b3ef 100644 GIT binary patch delta 622 zcmV-!0+Id01cwEXB!35VNliru=LiJ@EiXxiOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|W;|NsBR_EMbHN^_(!F=8P9YGU3>LA@y;&CSga5PuM2-Z?3(5CDT909pW0 zfGCD9fGq$300Cl4M@0Xn2lB-L00FB>L_t(|ob8f5PQySDg||tQ!W|c|-~u@Gh>QzT zC5l~;6Hro7a|}u(oW`%aBd&?99e|H$vtyf@<|j5#$A9&Sc`cvo*+Q2LMi?QEc|iccwE%RF02%${z&V(vxt;;MXbnO}zuzWs z!)5cFHvr8e43l!d`?7fl&hQ4H%@IWSv5$Am1h|yC?h$5)!9I>DJ3w9T0HAryYsYG! z7s5aeU>VDz6|hl(DN<}&#IYxVy9Wg*C4ltEGU zag!dm_Z@KT04({HNss5QL6XYvl}ih(+g-8*J3zcq5yF|by9{~&t3%kY4PdAdP_9e> zi?haJnv4SAk4HdS)<7E}#2$cQZ9x=3aS#9>(^d{;So!t=*pfd0um86PfZUUEUZz#@ zZi);BfM-bF?ZMLzEmxxsC<>|1m1ED;5H#940f!#m@nENfa?xy1^_X9USdHu*I}WJajJh&KRm0_0H1%oi2wiq07*qo IM6N<$g7?M;*Z=?k delta 554 zcmV+_0@eM81;Yf8B!4haOjJeC__zpI2so%95D*XufGBX-NH}09c%VSY@MutgD4@_- zxHvHQ`1tsMc(^z)$jHc_)s$cW000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0Vf-TU|l@`00E{+L_t(Y$L*5KO2a@Dh9?xdcA99{#&mBkG=Jc3((?v3`$8dsQcwuw zNH^|mp2SL4zJOa_!bfrA%;YwiME61uTrQ5h0csvWU|WmzRn9wb zhBrWM4$p<_MSr}e1>&33b&p^L;4R{q(K*(Y3;-6zyw`?&y@d&`I8fYT~ z&;uZ-Er<_Rh~(WKLjBNk)$IV& zl=?wA_EZhQ++`|&@>TJ$VAX~&{UpgXfcO^pO@d`o0f%xkMwlVj6BH&rfcP%;Mf*8& sJ;m(+AR~s)ODrhoI%e7!=lU1*13`@GXteEg@Bjb+07*qoM6N<$fOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPiF;F)>nFN^^5!tb>ESQhUW}z0G1VIo>fb=3;~YoPV^7gRGpKw7tFN?(Y8p z001W_6ixsD00Cl4M@0Xn2lB-L00at2L_t(|ob8vtkJ?BS#|N4%haukWFnD4mm5sD6 zw!Aa3bQNB00qrTp(ndLtY}aN`oI^H>?OBA+$D^2tY-M`>O=n08P`hY|RV8Nhtw+vDx$dbQ2w-N0nQ!H-4g2z(tl4=9`9NLKmnf?@HvnBY3cJ= z12~2Ifw@*dmvcf$2^WhU&`-f#xnosA$O#}KO$#^>F68c*j%5JwbK=5Rn*x6L1*enb z7Y_ogxCW~Bxqg8w6Y^)0Od^jKsq`lk+V%lD1sC7GPm&kWr7Lcg3EB)ILg|10>s^vW zSFauRsecef?A54J{I+}-MbX>$9$UG}&mXoHhF_nTZ=&ex?+<@4LMiprBjDdVk3?4= zKit)UxVxhMLkS2^sLwa&i<{>kmv@YPk_oc?&G{7`&gNoq+h0Ba#s2OFfNzS~tpDG# zfdVA(&F+>(^g}|&4TA_1=u7p@>jBL!$F&FLZ-1FgvEN4B%jrcQ{6p$9CRcIr{@}rC z_VkjHFN{rsgDxpxvzkANyxSpU$b17(ugFalJ-ZzapoEIWPnuag{ zGk`2IEX*aMLQb0Yd#f9;VkOKf+S|yLnle7lArT{Re4kE`I@O z^&bSOxr8&V{(VNx8P0aL~TM4~dRae_NNpl=`!g73fO!pV~(V z7V5tZP5?svw}G_{uuf3_%(nyQvr9&3w-xBj1>o2tbQZ6Ma6GX74ML#)YdjyAbz1>s w4cdL8#+Qu{cY7PO`dj_Vh;6(5wC`{K15UzP%Lhps@&Et;07*qoM6N<$f*Ug}L;wH) delta 1154 zcmV-|1bzGF36}|wB!4haOjJdf(4YVS05LIAT1s<+gT3zV|8rujy}jnnm#cI9H@c8(?AVEC<000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0VpWEC?Mnj00a6-L_t(o!|j(bZ`(!`$9d9}O-H5h(m_0t(SKw^h$6Q;>v7XXtEu&GADg$Rmn zmQ*);FDe<#Eq`mIFA;%~G4DGC^a&`XJ!?bGfE5bpZVo9x>Ffxb=N{zg9HU*YhY6~<; z1Inpox8{y!uLE-Ccjg|1i2<;bxep7_1FqjrHi`;I2Q)vmB@Q8rv_PoUqgfDs+I~vmw}^gwSPEQK$N+q9#|rP3VG>iOTbg615}tJCJ{4TA@MLH1bu%&m zow>&=JwSHmF0Kr_dS~vnV*)yJk0&OeGxx>>kk;H!64Tp7l(|!GD#2>aJ#kD427Aif zZDZUTwB~L;BnGXyUzuP3*4)M12n?0EFU>~?k>-999|5GfpTv&2N@?zOXa-IZgU$tbARMOXOl0c_x~OL0bV;$ U%u6lazyJUM07*qoM6N<$fci~s-t diff --git a/graphics/pokemon/butterfree/anim_frontf.png b/graphics/pokemon/butterfree/anim_frontf.png index 94768a4e6271d51f2dffc8ca8d9516b622767e0b..5f7d1263a1fcb4227cb31d34e61b95620518c3dd 100644 GIT binary patch delta 1233 zcmV;?1TOpT2;~WoB!35VNliru=LiS~2Q$Zy1KOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPiF;F)>nFN^^5!tb>ESQhUW}z0G1VIo>fb=3;~YoPV^7gRGpKw7tFN?(Y8p z001W_6ixsD00Cl4M@0Xn2lB-L00aq1L_t(|ob8uAkK0BNhF5B?Tn){;PNcXY?1~g{ zEUru>3veYKu8`Wm#i=#mbZ$~w-8BJh=O^Ufh)}yWNDy%4jVQQCb75vb#FM3^u1sMM z1OehaoS7Xi=YL%h@?9Ez45&7b06`m2YX|k^mj$8#y$0C&meiwkM9j?;ED@?gh@Jte z+LFN)u_%aMrNvLE7ndLgglz03B2WT&zbK#yP}g=s<5fhS6DKz9#A`_sGugm8uM3TiSaKYvTbXx9=1a{M$vD8$G~i%^UV zKvTRQnQIMng#ds8FXlVINzq+;LtR2F01=s{0bC3h3vbAVDggQgc=*+%z#m~Q*m&}D zfB{y*0A=%Bzv7iK{4tq~lYr%^@=wOB=>v8OFTQyb1*1=6|w?y&83j7t6OvlDv5r@Rg_i;$dr1{PlVHTasM;_5ODbjIl610{*@WAi4VR z{;rDT-6abjN+5L1La{wx+&ufRyyN_%N|5bu&VTXYY%dnK&hi1s_jfk}Vw=xq&Ogf< z3sAr}yIU3E#K49%#|UHWOZm;~fz2+4Re5{=$&d1R~mo%_l&7UN}t&bV9&;nE|xJiDB1pV(00#*CrJ{_{D8|E#(PiF zl#qdwTt2-Sf(#+b;IM>g20mi}Y{3Bxk^2W3s&xQ>Jsk1?iRt>#PpXIk%<38tK;n3Y zRDV2U=d%r+VJ+bBl?_23(Z%9dLgy~ec*JdU4lWiw z(plW_DPONG0Ikno5(z-WGut3UXHNk&zSy=wXAB1}txx!W*mq=)?E@*fCyxgd2B(h) zRa&Uyft1#|X9G%yR79yio(60{4nw2rf99D*hVS3q~<3hQyHv;LIH3|$uv$E-HWuN4rduC)Z5l?Y&l zy!5Ok;26?CnI8>m1N4WP%;2Tvs11fc=#rF{{kqt(BkruGtuQGfq_ zl-f%;GwSbfX3uc8Q~zvj&v3R=|LAy>>qYF;pMSFYakCor&+H{2VAMadZFvP4^R-2X0Zps_=tvQF)=}zTwfad%tAG2D=xFtC>k^t)e?Djhx=Q`0?IVOr z^{=86fK>k~YHb6q6V=}d+kx|0ElRb!73j<*;I>ETEMEC|JZSwJL{R-Vbl$h?wgzB> v+I^zNm$el4_BI&xZ}n?~w(a)A{(t)qw$e$VMxE=|00000NkvXXu0mjfS`s~I delta 1113 zcmV-f1g87t3GN7xB!4haOjJdf(4YVS05LIAT1s<+gT3zV|8rujy}jnnm#cI9H@c8(?AVEC<00a3+L_t(o!|j(bZ`(!`$9dwEO-H5h(m_0u(PTs9 zktMnWH6>Q)SdtG#(5Wy$z@tS4_XRp6L6)LGhkS&N1v+)|7=J)Zy~{wdTc4rtjufrP zck)~$2SEV&etiFT?~eDEEbFrz7#sJ%$kj+^d1iGF6Q;@F zlmO!naHvMXhXl%QmQ*+UAgLHkEo-PR5rK-a;5!BM2`HsK>p;PPl?v!?+7zI2cZ9=> z0E+n(qg}7<1b+a^Xg6Uej{>NIDcLPX8_$a#0Pq2Vl5`3x&U46iEkU5bPY=WZnU|L_ zWF0_qd>)ze7O(*rV;d-+l4&=YK$rVz@8y!}@()*Y93OV)=I)hx@HX@ao0-kGj76^X+efan9rX0r2B> z#OljeZ?BzHK3(znz66WRcnqV{?ajBZ*4IM3R07TZ=KKm5XLPo`^Vau3vA??!fKjp8 zcwet67Js0CPj`Uc-x+|d!oe0Z65lUjeja@GnXCB5~9t)vnaq#|- z$#V0}1!qr%n573@YJt)6_E{a>xv0>@8o*hyo4S5}=T5MMitn#OJ5EIOtgfSt8wpv% zY;PsI5*p^!7te1(CR0Ea9hR_Yn9F&@M$BWFqJMA?6r5GW81^s}5fY2lVcc?3&e(=h zh5!-|&k#p6{B$!U8?1$SVyOd`w+g^iTmz8FV!8cbk&TC`Qt?oN`03g9UyI!Oq7kXk zopbDLJGKVf8?g|pl?EX6^rIyKmWqaH&)dOR0Tf?sYCfy+z$KJgU&d!J9$RMVsN^^> zJ%8^0PF^bam(EGYI-v3_r!{vpdmT`)urv24&J2L1%-t?Q5BOm_*(51l9kBYTEzyQN z(E^nMFhN;X24JL&Gf9$SsFe^3urnXDzlH{@t41o=J_A?VYH_ZBB=;*lus{G6iYm~S zfTv6gR0SA-N!Un*Ag?kLAk963BtO^h2Y+Sm_NuJ(lduM@xli(3UxL+{`y|cvB|PcO z-4k4|@MLH1&1z@>I&)8#dVuWAU0fM<_0HTI*93Ito{mjGXYMN#Kw5J@$xLq-QRYs$ zsRXMv_slgV7$|dhjB#twn!EXs7_{boWq$oza~D%1U@LQ9n2!)5&D}|l0Mgu@)KWE9 zDb3xB&A{n~N^5q_eUN}}&M?@1aMAsZ|8gue_aV8Rup@gtSqZEizn?vEVk fZ2ZOa{=eft&tgfL0o%fu00000NkvXXu0mjfmhK)0 diff --git a/graphics/pokemon/butterfree/back.png b/graphics/pokemon/butterfree/back.png index f543025db19787f99117b9b4ebfe468b6774ea4c..c526bcf27600e15f549745e51cc4dd79f3c25d31 100644 GIT binary patch delta 970 zcmV;*12z1j2jB;gB!35VNliru=LiS~1_Ss_0u2BF02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPiF;F)>nFN^^5!tb>ES-cn-ri-R#@IUv;-bMAAT|9_mcdxO1;l;*U(|L*Pp z006k+wWI(500Cl4M@0Xn2lB-L00RU`L_t(|oYj@Fj@m#JMa>tOXVFE*%LHlDfF)d{ zqCwljDuvTh?Y4#zZ@`H;?x2WzQdSa0 z(~D~B0L1cMZuWXjuhFcn`_#`RB+kmI=hfE%$aNnQOFM;tcLGQ)u|6w-=3jtyKmTqe z8YcnBQP7z&2??UMvFSTI_|)T^@Y99_5r37yAyXAHMh7_r0D_-w9mUpn z1lWv11#;Af%;W?RJq_dvTPy)Ab=(f1h;u_IC2L@)1&t_7ATcCsOIfiVL1f9{qj+(5`=$=CxHKLvqznO^f4aTi)&Y*K$qSifaC!6b^&aSzK&B>!7%>4j zf0u6EI;-Q-g@%#9m{vgqs8h$K0t?JLKQyp^SARa4D+Od>!g=|LjsmL_bS>%5aBaXNKe*eLnZX1VNTNg`6G11WnRd2F&AO*nf# zsDE`Zd!%AKS1ofT)(A?}x~K|}q)8&sHVhEen`AH7B9Xnh8*^B-&K%)PaV1DqK<7$% zbwaO00)?y#Z1LO4!Hgnc3g@gP7Rmsxyd#1X&$+-AEI1Hica+@+tegFUf07*qoM6N<$g0Hx$g8%>k delta 908 zcmV;719SY~2cid%B!4haOjJdf(4Y_y5HK)MSV(YyfVk-B_;6sT;JCnW=x{J#II#Gz zFfdRc&=}ZIVDN~5@c8&&m=|6E000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0VpiHMdbYe00RX{L_t(Y$JLcFirYXGh9#dsGYi?u!5SG`-d}*-xXi3X=S;u=sw{-s zS_=-qn7A?~AtA)T*z}zfd@-U@;Aa2{A;cayX3As2N|8eZpuZjHC<5ORAhQ^c)a@8D z*%=^58YnrAr~%YEZU^9kN<(ntVW74Ka4huYs2s_m1%GN3n{9+}fhiP9DW?l~R4Ua# zJ`=|(xjr8P(gH7;+HP_XEkL^{6P=V&eVC9kfBT^Uh5(kZIS~hm>_W;<@0~u8Q<6jr zp>IQ}p#i>r{^A6=lrTYD3^h<^FAEJk9opX{SwaO(X>5!O0FMvvdhMtsfU(*_q^9^n zzIk~1)qe&^PK<{;rD6a#-=Cg?Hb99rd8dj3E+4=B44QVZtKgX-Zb<;R`B(*Roy~RW zLgP?kt(zbs)T!g*kp-6NL<6j82-8wP7B*}}g$B}~4G;~Hr4W4p)Q5@CZ5g|6IkvYl z+Y!oeW`$@95}(N zOY9JoY)w%fAxV=&q-_`=Y!As%sYOEDxf^p?t;rnXPSFyAH$eKEdu>ARLjr~D7>;=D zOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPiF;F)>nFN^^5!tb>ES-cn-ri-R#@IUv;-bMAAT|9_mcdxO1;l;*U(|L*Pp z006k+wWI(500Cl4M@0Xn2lB-L00RR_L_t(|oYj@Fj?*w4#?vQA|4}!T=3*)xOB!7> zFm<51^>SheYp1&v#B^-j1dMFlEASBT3`x8Cs;j!8y78g1A@kWuQ>Wztz*1CM{^|4g z|7`#3IRD#FrGGu6`m@$4u!zpn5?|L^cZmk^p724w5JmqLENt zCupq$V9R^4+39tiPPeu0(y$PaIH{+O(_RN4)icXA4ND%dnP1oANrHB`VpFSjrsDB3bnM$8ygvh}I;Qi?9C`#87 z;ASZ4iOCQ$=@Gyp4HObvECDQa+!i2-7lx3=Ltm^6U|Hy~sEF900+uK?-4NNp1r!R# zE*9`8M5uveMEfeG-X8+20v=Ma+9V)afOb*DIw>J~Fu_>z{7nN40L)?Yl6Dg5BV+Hr z?5n{3oPTk?AblD_3=Ht;>w7E6IfDreu?zW?5 z0ES`(ktO#Z*|WRb*KL5aOXJ~O2p_=d$J^_&4e+=!c`ouCE^j`(+5u4wAxe1I&8dI0zn zm(`xnS&eZL1xR4y4;%6@rfj|mQJ2k_rNN6Knh z=q;v9n5cn8n2hB0bT8ozY7mp2&IGb87swnwomE|(ZlZ0hf2a?r!6tT&2lJflN zsDIVLsv~6=bJ;UjVvV3!tBXnxNtz@)ZNmUTyGcfc7741GyD^8=>dXPo6jy>|1B6%7 zX%l)K5-4P?u*EMc2Q!q%$)6jEg*3oR=YSvy4TUSH$YX4Kl^u3MOEC8YPBc`i zmS7z(Z0rLN)t%ZL^g3Rv)7bZER47PX?q5Bxxeq|?Mv$oND+IhVKxv8H z)Jn9@1Pq{xoPX5TT5tfy=+c;k1X0h}^qmuY8p?w3(}M&N?SW&aJeF8}+8~m#-YGk*Fi+6Q^&<43oQF%4Y0Z)OiKY-*szt%HP8>5fRqDdNz?@( zyD$;DEo0Y&V|y#ookSVVtf0D3PP&e*K>vl@{bcrMz=U-vBx9Y%hp+WLW_j9b2sL)8k0H1ouVa(*FgV~ zdrd;`Ljr~D7>;=5XOTqT=94% tv$<}_cDX(SVthSujvo#9XTZO@{s6nDz#xr$iFW`1002ovPDHLkV1mHsl&Js! diff --git a/graphics/pokemon/butterfree/normal.pal b/graphics/pokemon/butterfree/normal.pal index ab84ea0099..fdbf384c7b 100644 --- a/graphics/pokemon/butterfree/normal.pal +++ b/graphics/pokemon/butterfree/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -0 0 0 +98 139 106 49 49 82 90 74 115 -131 131 189 -238 238 255 115 98 172 -189 189 230 -230 98 131 -98 49 57 -255 156 180 -48 48 80 -222 49 49 +131 131 189 82 123 197 106 189 205 -240 248 248 +98 49 57 +222 49 49 +230 98 131 +255 156 180 +139 131 172 +156 156 180 +189 189 230 +238 238 255 +0 0 0 diff --git a/graphics/pokemon/butterfree/shiny.pal b/graphics/pokemon/butterfree/shiny.pal index 32264265b0..490ada6ad2 100644 --- a/graphics/pokemon/butterfree/shiny.pal +++ b/graphics/pokemon/butterfree/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -16 16 16 -48 48 80 -88 72 112 -128 128 184 -232 232 248 -112 96 168 -224 184 192 -112 232 112 -48 96 56 -176 248 176 -48 48 80 -32 208 24 -216 80 96 -240 136 128 -240 248 248 +98 139 106 +49 49 82 +90 74 115 +115 98 172 +131 131 189 +222 82 98 +246 139 131 +49 98 57 +32 213 24 +115 238 115 +156 255 156 +180 123 131 +189 139 148 +230 180 189 +255 238 238 +0 0 0 diff --git a/graphics/pokemon/caterpie/anim_front.png b/graphics/pokemon/caterpie/anim_front.png index 73939253f40df427ee8ae27ad1fd95f7c0630d2f..54fe802a02cf368d4a4ff26ccb5154d0a96f7932 100644 GIT binary patch delta 787 zcmV+u1MK|G1*!&+B!35VNliru=LiS}EF?4T5qSUr02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMVyq27+OIfdrC2^K}y9bYSl5U_CZo&N_&G!)xCrE?thDWIZFRQLH~O}|Fk&( z005%JSjPYW00Cl4M@0Xn2lB-L00K@)L_t(|ob8ssZqrZ{hn+G6se@}QK#Z|fq>3R* zj)E|YpP@vzLzYTN&B9PNR2Eh{ixqjmXY!hONf%hkp9dfn4-kbX$dJT}$VHVd*GW_3 z=3cKL3^K-<16`7lp;m`QZCN(>$^Wj`PA;^XvcUm`6h4iY5eikm&x~>8JDBa zli_Sn3Ov3VkB5xZq`=dwA+M9>R8rq*pANqg67_8faOdcB_<^)~G?W1Qgj^8Pa+oif zai1hL<^^3XMi3%NN$8Ccuz&0GKbMQ zgnNnx;(t%JjQW8GwXWt{LO|^yxilD9c6c0p@=?M zuI%RWDJ~)gp|k-fmWWgk0yv+cqBgN!;#xMMHMCwRj4c3on#(!c`M*`no&!Cx|-8jd93#ef@(5nHjQ>Dva<>C+X!?I011Z3DTB zo*Qz-3A_q)eUV_WDIY_*qEM(=GQpspO9MU%J#jq|B`$R6<_m&X2*f{{-%-#yyOE0@ Ra|{3g002ovPDHLkV1mq~Suy|s delta 693 zcmV;m0!sa=2F(SKB!4haOjJdf(4c!cO8O{ z0W2Abn&sL600J;cL_t(o!|j$oZ_`i^z}=y8gcOMa0x>pxg@1ejP$Xsslho?cfmGc* zGo{qfH*s;J^G z#lge!{N9Vha%%6@;lA~z`BGovN#p6sct3T2LZ_gWz7846C@a?>%@?z>} z^84M>)-xf(m4BxJ9$cKZo{QOZ?r_eeVu1k2kWsH7bU zV(+F0cSuL-1>oJxJE0xPI)*4NO4K9Lk@B8}ZmevtHucx1Y_4g>X>AaQXH9dU=ve#)tGP{1FklVe00000NkvXXu0mjfZ4^4w diff --git a/graphics/pokemon/caterpie/back.png b/graphics/pokemon/caterpie/back.png index aca0c0e98c9476d59f304e4ea30ee7b4378f5ff1..534481e16ff150cc10d34ce6a90b812215376af2 100644 GIT binary patch delta 658 zcmV;D0&V@_1gZs)B!35VNliru=LiS}EF?4T5qSUr02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMVyq2lu{tHdl2rdDfYz}|K=e7|3Q0VIjn;@?$v|#?tgoGDH!Gu0QOQ4|C}iR z001pTzM}vD00Cl4M@0Xn2lB-L00GWPL_t(|ob8jbPQx$|hFz8p48aW}10-c&s?sY0 zPmv%60>xs6MK<(0LmKx&(MaUgeBZLMTppim4Scoko$7?-}%hg zzy7RN$G-q~o`1Lb6S(5-cH16f4hJ~bW%f_2KwZ%XXV#1kN+UrPxPQ@oHL=T*2rCuh5dk$l$F_^W z`r3D(KT1#VDmpYK2z>~k0=$pNgu7@WYh^*DM1DiSs}2iUWL~QRykCC-QiP4I>KMul zd;y5Um}9O8aJD%2v4k+^+$#axC~8uf+u$g5QqBPa7gA-Ua8!b4qeEi|=1FP*^_V89 zyHL<7EPo4^e*ywzVm858F~=k09s#BUZ30csq63a4=vqw8r>y2j(B>dai#kJy3q_ma zi*wt~JGg~IOO_-+m*_#t-2U$W^%wL3U@yuoH)gP%01E&B07*qoM6N<$f>^{E{Qv*} delta 584 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 delta 1658 zcmV-=28H?I4T}wsB!4haOjJdf(4go*Ab>C!@SqUruvqxuXw6bV5D*aVgDD6=P#|!S z$jHd}`1k;T`0n0&?zCDL$WhJ!000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0WCG6S-5xr00r(zL_t(o!`+rYZ`?K%z-LaeE*H zq=E*hd_ct$V#I(39y2rvJorq1fCBcIA?eU5O9J!*^cxhJu0R%Vy}n24@11P#)o?x^ zf8u+jsP}$^G}n+ka0SEQ0U)pdy#7_#C zj&4j76=V=h#($8-OvhB~qCShuP4A6LlPWJCSwQO;B}$O@#v*7 z3mubS7h;eG_^kvYn827BEEAF-E#NwFNwAj)EMR*E2Y)~I0>%Q61Y{GEI?0>s%fhC> zEnqGyz)LE?W$8UN=iin9VX<3O8(>cjgPoz5G5*8jFnelT62_=90s!ap3t|7`F>8PX zW(EG7=Oz+{r*;Zqb8-NN%?tqB=Q=k`r1)HI1h?1b@^J~!NI?{iSx99{06s4Y8zQ5L zo|A1Or+>HvVXkb9YXYeYT;(ExhnI z`Y#+HlracnzuJcaTc6t#lfhdO zPYcRfl?Qb|Nb=O3Nv%$@7=E!ySR%z3f@IZOBZ9AD9+%?9J@@EN!T2f`sfE!;qh0?&vphLmVmH;uZ5gG`jq;wmdlb59CJwQ z`G0^*q;!u)p}$;K1XTbirR*WJn=*p~lUZO1<0E*ukb1%^fWgyE$!u9o0VPJkBW`Ap zHsKcyFw$ydvrVfC7y2$o7vp)PnE-(QTmhpGupJFh#C-G~Pl%|Cl!X1P0EkgMrxM2b zZL7|0X;lHRq4NwLMH2z9L>K=y03-^)YJUw_IpT{uyqv#oM*u+YBk|9w1d>%}0(|EC zD|>yhA;fCcnZR?u;dNUAw`m7RU|DAl;C2&b+HEIzB1H*s80YDFKS4s;9B_sGKuqM> z>dSsV;NCUj(f!q}CB%A5%F5q7N)b-h0q^}=D3J}U=4-&-cW>X-aWkH5%pm_fm4C7o zjz3$=(wBbo3+3cF>Bqef_W{If&(~aohx}pipkX{X$H0lo-G+gFF&N%w7y+a) zyvHztBea-141=O!9PN&W!+yh{LUZrygUJ!((Q6om&|!44J3$fZH4J#)srqI2IN0eo z3=K6fnolMr&|?^EO10QMn2eA54S!<+N$C^}qoW`#!@$JnWB@?WZx}NN>{!$4GYtF6 zk5W)E(rXwCSLVgZH$&2E7|_^?1h!5@A?Y)W1$4%rurMYw1U3z0!4h?ffbDqRreT;Y z`Zd$BhP{~Ld%R&7Z+s4hkR>y0R;0%;QqT5v4%;;kdkkZNeG4k1I0tOnXMY$7%rlXr zYGk!xnA$Kfg33f_5E%6sM(QWYvn(YRnCEC1@V2)M1KN?20BkR~brEw#;oZq=0Q&Ei zv;~SH5b6Aab9d^UK=`(Pq;Rrh0F>1gsEM=&YPXInJ+M`kBaycN+UP;y2-KX%t?{_l z2N%RTO4_=gxc~|ts-BkRIDczZd&abF%$mXp7gJY`x0+f`{iJN&nvXJ3R(HP!;QOnp zx%0U6ho8is5D^b4xn3gYuAo4u}p$}idqvKNjTJ(!|jM02{MAbz@4>%rf8 z{x*_WFgmTTqX!aANOcutLl5|xf<(0*+%~|f3v~5>uPI0bG0!@{nu0Lh=z-k4B7FLqXzF4|@Hf1gsw1?+>MH{LlR1KN_RSdxV(n%>V!Z07*qoM6N<$ Eg7a_pEdT%j diff --git a/graphics/pokemon/charizard/back.png b/graphics/pokemon/charizard/back.png index 9f60ee638b03c8ada3ec22a1501853b74dc75793..bd119ec9507da36c7b3b180e7097150f7a640ee8 100644 GIT binary patch delta 852 zcmV-a1FQU}2I~fpB!35VNliru=LiP~9RQn6&qe?M02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMT5PR00030|NqU+&0=C=-rlUey{vgjhQR;;00Cl4M@0Xn2lB-L00NImL_t(|oTZgLj@vL0g)Jb(suO_#qN*T^Tp-B} zf~|588!5LUU9wpX0T)&!64*;@ofO`BeVLrVnHiE6No%VRuwn3h8ov3VyxIKEYLD+r zzQgY){T|_;wttVCjoYdHy6%+P?go$Fs#^`OXu+t|uD?B_^&{(Q`%5VcranB$v>X6T zrR*p)Km;WIEIhQJH1HzX3j}-tG$;un1_u21pQwK+9iYmX9TnL734HT;CCdpcxdTrb zh!wyGy*9Wk>7v!T1lI_hDXwAjP)T>kTsPf^+Tys6I)A$m;>Xttm>+{ak#0X-E~2z~ zr}yos!3xg8A@KL1thDZ0d{V?D?d5X$Rsb_}4NO6w=p#Pf4|xDZmFpVLK*eI^wU{;c z-UmR2W4b&*DDA+2W?&LUfPl*cSW#q&0m6AM0NnX}^*W4Sn}Di_7yw@R2b*&@S8B!z z27p`L>wl`(egrt2Bgud*^af`Tp1T|<$El|oI`h^@faw8p6AjPE`NU=ukelEkj2?NM zhQ1ux9(Ub=ftdk07ky}F241d!p``qB2wAZ3{AaOXal<>i09Yk>qln@5N(4M^r8E2j zL<O{ z0WCT*=B4QX00N3hL_t(Y$EB9PZrd;r#tjY8tf{NOfl`1zMStPJ&p`x7c~doznmsTa zy%`SBIY?fhLpycpl85Tuk&;MRZif=EVetFu_}w2W+3o&k74>~d^!WYc?h)c?|GeAD zgFkKS();~k5cuu;&G4QUblxAvdPDA5_xms2E70r1Cz+N6fF_qEg$9U#!JnCj0=xrW zBnyjx$bb?hYk%#)fcWtZ^Hl@hII9{s%&oa!JUfEfwG*1MBr0i$inpn zK51i;s;a7=8PGysLKF0cK6dyR(g2<+*O#1ukHt!B(SJJby$FB_$Mk7{P}+e3$3SDV z00B1>plp^U1_H+tl88peENN8FW123iJ8oAse+ z8F-xmO@B#=@f|pF?#JoIfmi@N0}ix-*}^S=Q-3lCPELq`aRi8s0I}mZ99Rhh)~o}B zGzzRMx-i-+vkDM^vIA;A;NarBBM%S&e2P4_)JdBM;6jufR%`x4Aab442!K@HyBj?L zKz0spm#X=NK@UpUTs;F?f`Y#S>-sE9Oh*u4Hvr9mi4isk_3!@x{s68b`Ebu}*ZTkf O00{s|MNUMnLSTaFuxVca diff --git a/graphics/pokemon/charizard/normal.pal b/graphics/pokemon/charizard/normal.pal index db32d4324c..d10b3496b0 100644 --- a/graphics/pokemon/charizard/normal.pal +++ b/graphics/pokemon/charizard/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -232 64 32 -128 48 24 -240 160 16 -232 176 88 -248 224 104 -205 82 65 -16 16 16 -238 131 41 -8 64 80 -32 112 144 -200 200 200 -248 248 248 -0 128 248 +131 189 148 +0 0 0 +255 255 255 +205 205 205 +98 98 98 238 222 123 238 180 90 +238 131 41 +205 82 65 +131 49 24 +32 156 197 +32 115 148 +8 65 82 +255 213 16 +246 164 16 +230 65 16 diff --git a/graphics/pokemon/charizard/shiny.pal b/graphics/pokemon/charizard/shiny.pal index dce3f7832a..5759cb2c48 100644 --- a/graphics/pokemon/charizard/shiny.pal +++ b/graphics/pokemon/charizard/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -208 80 16 -32 40 48 -224 176 16 -168 160 176 -224 224 80 -80 80 96 +131 189 148 0 0 0 -128 120 144 -128 16 40 -184 32 64 -200 200 200 -248 248 248 -192 0 0 -216 216 184 -184 184 168 +255 255 255 +205 205 205 +98 98 98 +222 222 172 +189 189 172 +131 123 148 +90 90 106 +49 57 65 +246 65 74 +189 32 65 +131 16 41 +230 230 16 +230 180 16 +213 82 16 diff --git a/graphics/pokemon/charmander/anim_front.png b/graphics/pokemon/charmander/anim_front.png index ded552567e8a6cf5cfa67e2e6bf923299e18e8ef..2cea15c5408dbb0893ecd0e57450fdb09c8408ce 100644 GIT binary patch delta 1005 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMRS9_5D*Zww6y>K|Nqr{=B!%(#bW=ILEch1izxswsDJ1fh_DDai2v0H_M`yj zIRG<&V*>yH00Cl4M??UK1szBL00SpUL_t(|ob8seZWBQehVMk<69lu0EMG*CXGldX zA<_qcq!cWwE=) zDFSEQ4ZH_n?@YRZ2LL>~UjZ}`_~HhFPXO$GbnhY1ZQwtFg))E-DSiQ0MPdL82${fN zcw+U1iy}baEEjp=DTPq|ZUG1mJwm3E3&j`$?0oXFYzy?4*TF(Kc z52O$ZfqxC$M4)W)4`M8_4Tq^f8a)fZdQn8-G`nzOy>_`mlO0ovKn%x1E!u6eZVvE} zQ_BJX#0^R%=%qp1Hu3u)hz6B#;EgATmON?(B(nq`%AN-RwIaEtMR|!_Yy(>lbu1p~ zw@Nzi5T6kJ)oQIcmM}p`#Z5PldHip|T`%Qz9)G4@6;Zok_38%G=AJBgl#qu&NZyBOl=osZ3-~-i|G*{83%$Zs zVSoDLRgMNAW#%%^inAN<^4ve@1;C<|9>e$tk}puSC{RP&2UDP4vM6YC&^{PRWuxJ= z)Cz4M3@{mYDywFa{9< z_Q~lpSRz~#aO$=+L^JNwHWzN;gP;^yl6_YmH6>ugJM++904gJNnh#TAb@c{gK&tA` b<8R{!GVg7G`R&+*00000NkvXXu0mjf>QA+` delta 922 zcmV;L17-Y!2(Sl`B!4haOjJdf(4g2*IEW|!_>e&Oz+ey%5D-9!FsSJG`1ttHQ0O=q z@Sp&|U})gTi1_Hpu&}T=H=Zj1000SaNLh0L01m_e01m_fl`9S#00007bV*G`2j>O{ z0WLNWeYybv00R?AL_t(o!|j$mPa8oHhL4jj2~IV8T|fYbkIt#cYZNPu&M?S`9&ZwDqlp9Fs-k`LVq#or_tPH2RzGeXOgOj!F)P4 zvn-oQ$_P9spwPAd%CiB}HGG45{jUhz6hO@c;CS|93Wz)*r4R&sqfPk2B!54qC9W`; z0;N$k0J5588nfBNj8!KlRc~rdK#Xb8Z4=O(0+4{780#YLXw6YC9X&CLKR`irG{=N@ zu2+qffqzR!Y6m}rc^m=K3Wvy2TESFoHE9F(Hu9?C);AcHj|h@$}dZ z1O$9Iws-$^0@jc0z*>F{u>)w~AsdMuz^2|%AAdOlz8T<3?T`1#Kdc!uCL;E1JpMxd zq185dlwC-W;7}J5rX8_gx`wbx{sB1li+qN`S@|iK5gCARripZ9c+1IO6i+o;l(}O- zn2)RJ1Z9hYYp^HSm~KXz=Lq*YyOLUHB*{p>}xPUY&RV wZ1IjqNFd;h1S02naB|YV&p9lb$zP10p%dBsq~i&kivR!s07*qoM6N<$f&`tXo&W#< diff --git a/graphics/pokemon/charmander/back.png b/graphics/pokemon/charmander/back.png index 347c5e8215d38566988f0dac622364f7c6e219c9..1bf09d628f5cfac89eb61d8ca6a45a9863a1d328 100644 GIT binary patch delta 597 zcmV-b0;>I~1nvZoB!35VNliru=LiK24JkkWPa6OL02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMRS9_5D*Zww6y>K|Nr)L=FL+7_N4#bDejyAlu7`U#ee2Oi6hWhUE@75iXb^Wv-B$q+o^| zBbA_Z!Fb)_B4fMZ4zx*?Ns&_+>J)yoX{_jBfmR?$n;Ev6(IdwUjRS?K8;Z#^N@b{fC5yc+bcl)<^!e! z@XkCg2LSF92k0CC5FoM~dl0~j1+;`ZKnh?1cYDIQ)(D65aS7JA>W=W1W8g8ehEeaS z0gQ$C!LFd+^Ai9SNgLj`oLUNyq8`w`ubYk@FNgu08-JRr>4Zj@EcE#Z(7y1xt{Pcq zu69A(Kq4f;tE!SFLpA^zN(&2Bt$;$WqlmJ=z^>V~op5jf@VlV=dm}AK1p_RR$sfKk z3I+i5_VOi{eax9LDFWS)r!ucBFg0nXj!;iFFbY`#xDBE1YjIGBaGtzs!6^*+)f4dm zL!1HD#7>$t%v@lifZzzY|Ib9NhXuG_!(<*SVAz(`89=%WGUM^teU;@LvM~uv73InQ j70g8UqVsR=7JrOi0K_z}uT_l$00000NkvXXu0mjfj{F26 delta 528 zcmV+r0`L9q1gQj&B!4haOjJdf(4gp`5Rgy^_}D=B__z=d5IA^%fT+m$`1ttP5cpUi z_^=T8SRmlYX!!7mu&}V{Rc@mI000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0WSc?+#cBg00E3iL_t(Y$L*BAZi6ro#vLRUcRC}+Nc<5~)PEtd`W~bbW2UN7U!clk zbS7C)N3(SUo+6bx<}te0HaPV;fpo2uZ@nM>zPqy_rv&0RREA zDsTn~JXkh;z*<*R5zz_^ycO0mnjJNOi4cC<9n?E<2B0Qs zC+b#E%K;dg0j=w%tEe?-0Oy3R>?-Nu1UCO;dKN&s5(9c>*brg(%BXh4lCU zWWnN4P7}$6Fwvq`>0Dc!#d@NK1d9+4h620``&O3Lw){5Mu0&VfXLo799>|e0sj|B z&H#o1_t&sFgc=xb%lrbMQu>+6`02jNOV1ZP1_K>z@;j|==^1poj5 zFi=cXMSz(2|NsBAw6tn!YWRR?|58fGI5?Cb5a7tDz@Tst5PuK=SoqMei2vRx|D*u_ zK>#|w@I3$k00Cl4M?`>Sy`E?Q00aj~L_t(|ob6UUZ`?)@T|htxZxP}yzzI+n1(1Mr zr!u|%L6!%&O*q7{3LGD45w=sLIT)#BP!%O3q`dhD`2`M;-W7G}QXQl&K!7`XW|v3q zl8oFrjix#B=6~_c#}0NLV-IFo{1Lw+ez+g75ZOlvY`|TgU}n9$9sg%Sgx2RBfa41< zX3ALBQDb%^2t4>FIOKA&qFd z&P)QVaqj>-^Szk;x%?x|soQTaI&I9Tlk{P#0kY%Qt;VrNzy$(f@Is@Ro2O|J+4F66 z8$u}=O>g%k$=)1c2&sa_LjZm_J*xlbgE6=q9ccoV4=2H8T^k=EAn5}dyBt3mOtP&; zj(@%$-v?lPED!GUV>bL=f(LuBPhy{3pbQYqh8^|VvIR=t-w`M_z-2vwVpyf*N>`xl z>~rQ;O7IK_6lJ$AiIBTNfui{|^QUH$DA3^u_YjliSX?S;neSb&07^AFe0J(!aumIJz{HN3r@O!%Aix_ON zwu)~w00oL#xH2+Dg}ZqlD+UrMaSXIa0%_FYZsV6L^~8}pfgBgVj~!_d|Hd!sd5}EJ z!{S$uR;Fk;P_?v!oCg^fkeCS63+D2bJjXggA+p+UDGZtGPWiP8qIZLU)R7mwJ%6te zQc8Skw)fsQg&MgeO{v-VNK4CD|NKi|$;l#B2#Nu=ez=;b!*CFAz5}GG(U3Uuv5A>; zrVt32(F$+qE6BN8B|^dYGOf%2g+TOg-efCwcYNCkD} zgF3^f*a;;c{N8-)Vo6t^e2~R|EJ$Wr`AR-G*rs@Zf=9cNCHXL*4o+H4kPiW_z8af= tewy-f42k|%>4$z2a;GmI^uzyW9{}OdKPs4y3v~bh002ovPDHLkV1maUGc^DJ delta 1250 zcmV<81ReY13HAw)B!4haOjJdf(4hFxQ23w#=r|aVAP~?vIQURV5D*Y(XlVHO_^`0B z09g3=fN1E*u*j%*xR_{=lz^K6000SaNLh0L01m_e01m_fl`9S#00007bV*G`2j>O{ z0WS(B3HQeU00db{L_t(o!|j&8Z`(!`$1f5AY7C`+z>@O^(0``?04ApBp=j%YM>ax> zb|9Y+)CD+@y2y*P1hG2Xm7U#4+T^Q=oDm$qfvc#{B;y*r$B)Yg%1!2 z>V5d$yLUg{myrM4xcfPv`#GTTuj1?f1Zv!9GW5pAOS+0YbTw93W(N z0zSrwX`cg*wA?$^EvSJ~7f5E)s* zy!g|v0Dr1jq}0AxICVgXdpWhgp=J#*#Hl3q#oNAFlLTel{*wUWYK#e1AK;a6uy|Jk zs8`g6gUjy(uvBY+RRO#)YXCC&h#6dd#eol@Qk@1-1u%J!4wil$APy5uR__-dM!rg` zwIqF9#$bhG4`6Tobn|7zBm*x(J3bMpq^VNs(|-`ReoVn>QK-bgeb$c>5V;xvZv?U8 zG43@&o~fdSHWyi_)>`)P>Xv z0Dmm=dM_&Fm#J@FFL0RXhkhk^qqmV?$-H0eR}{{+;6xG@N(b)ZC_idVo!j#)hs*}N zYFcNHvl}9j9(p2f03N+OcJT(AJ)fm68iuin0*7RP_nXibSYQ^2%yyNaYK~Y!%T$TyKm$o5Hs|7{K8JO?oI*F zq;>Q5pRYuB+q$2pz*4ivWTj|5(B&N!P*#!#sQ}7%L$Jr_;8flWJFr{m5Cpzo(tp8) z+zXUk-z44t?UJ&?dcaP)`)hBihIIl+NxT2+!%~Do-`J@-_)BGL0>~^Jh~8h37JddC zd|3|+vj~?0u+18MgAW7_e&_08J$is#6b|% z!?FUXpCHkf5PXgDAxm18FP{*&a$C^P1m%NU1yuZhbw#1iRv)>1sCH15tyVF0uqT`R zWYo1-6drE!WuhPIZl{udsE)FJr~%6Qp(cwp{ZNzTntmX+`k_4j1}-V}(zWLGY5)KL M07*qoM6N<$g7IBVD*ylh diff --git a/graphics/pokemon/charmeleon/back.png b/graphics/pokemon/charmeleon/back.png index ab21e518c4d6980463ff3f58b754c90806d9d509..08c7fefea5c8004999385693fd7d209871ad0bd4 100644 GIT binary patch delta 689 zcmV;i0#5yd1<3`FB!35VNliru=LiP{2`%{K*EIkD02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMQVHA|NsBAw6tn!YX9zw|Kdck{In0~0D#)*sb+;PNq>Yu*NuQ-wga>Wl7j%HXukj= z{fafT+b;mEJJXJrak~d-<5Kvo%zumkqjg_H*vgzISsC-Ob{S%;7E9n?dxC(`-C$5u z3F^u9-5A&g1LuBI-Bba1|GTz8nFZh|t8Ah-%xLI0WA=z8##Xmg!jzse4s7j| zeZV(eEV09#fq)*c83KSW27??wXg;0s3^iHGU{DZYhyMbuf;j;&WUxR9L5D@X*H$&M zbawPQEL`KwqcITTVPSvrV#)yUCkH4CAi-NI87crFN_Zlv;Vp$g(F1q_K0L9x-{IpE XX!TZs^z(SU00000NkvXXu0mjfjAkxa delta 618 zcmV-w0+s#A1%m~UB!4haOjJdf(4hF>F!-<#_+TKASP0mlDER0w5D*Y(XlVHO_^`0B zNQg-I@VNN+!0_mp=-6;+Rti4=000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0WT2SYYx2t00HJnL_t(Y$L-ZIR^u=b08j_~o+(kn0fM{-$bXA2kOy+I2k^*H(O_-s zB7T0`(E%p_a{$;q!yYUp%t*F84tZQ)QIW`=@0qb8J5lsK{@0;(_q944PmDzpYh!N@ zi^Ss48GYU!1{oM@OALb@rI`1V1_1DKfX3t;Ea%aYpKZa9ho<1*c-e!b_MrV;H(aPl zvLXcjZLQ|uNPl*XBpzJ1crUEa;{Y^-VR@f&IrktN0Pq@VDt#Aq2rc$2Ie1+IWi!Jb9dxAg;H6$pi1b^en-TfFWLIR)tv3jfm_;E3F zAS(knX{*2Yp-FwNsEODZ0>9jfw7PxkQi!P*Vuq7-Sz-!f>3sZZU;gwp&JbXe8n?V5 zKq>G*Uop_d>7f7z)->%GV||G xuVYYCN)r+kB;52f@EvRjz)-<~3_=`s_1?Cs(bBu4i^I-uyiGI)VchK8Ltd;H zfNgjn9YDdiR5Ac-GkB*^!?zTIq67E_ym_y_|1my~4}TNl5nV@T_y7O^07*qoM6N<$ Eg2d7nDgXcg diff --git a/graphics/pokemon/charmeleon/normal.pal b/graphics/pokemon/charmeleon/normal.pal index c72de3517e..2f66db9e8b 100644 --- a/graphics/pokemon/charmeleon/normal.pal +++ b/graphics/pokemon/charmeleon/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -248 208 80 -248 160 0 -232 56 24 -144 32 16 -208 56 56 -248 80 72 -16 16 16 -104 104 104 -248 248 248 -176 176 176 -0 88 248 +128 152 248 +255 255 255 +180 180 180 +106 106 106 248 128 104 -232 200 176 -200 168 120 -184 152 104 +255 82 74 +200 56 56 +148 32 16 +224 200 168 +192 160 112 +16 16 16 +0 88 248 +208 176 136 +255 222 41 +255 164 0 +255 65 0 diff --git a/graphics/pokemon/charmeleon/shiny.pal b/graphics/pokemon/charmeleon/shiny.pal index ba180ab6d1..541fbe8394 100644 --- a/graphics/pokemon/charmeleon/shiny.pal +++ b/graphics/pokemon/charmeleon/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -248 224 48 -248 176 16 -248 96 32 -144 88 8 -216 160 40 -248 232 48 +106 123 222 +255 255 255 +180 180 180 +106 106 106 +255 238 139 +255 230 0 +222 164 41 +148 82 0 +255 246 172 +238 222 90 16 16 16 -104 104 104 -248 248 248 -176 176 176 -72 136 72 -248 240 184 -248 248 192 -240 232 152 -232 216 112 +40 112 40 +240 232 128 +255 230 49 +255 180 16 +255 98 32 diff --git a/graphics/pokemon/clefable/anim_front.png b/graphics/pokemon/clefable/anim_front.png index 29bf9d45bb8b44e5c7521baaa57cd74c95c69183..afc4347be31cccc0ec2a8bc6b33675380c3a5f9a 100644 GIT binary patch delta 1059 zcmV+;1l;@U2e=53B!35VNliru=LiY}G&OV1ZP1_K>z@;j|==^1poj5 zFi=cXMbOZ=|NsBR#l?ezga5^}(0HKkl$73LVv9;rP%uciSbuolIa+&aVp2gl(0GUt z5D>6p^+o^y00Cl4M@0Xn2lB-L00Ue}L_t(|ob8q|Yui8+fNyG=Lebc?hbM8`IZ>Vk1>L!`btN!GoSoDA98 zJP0Iy-@W&Aj(_ex#vY=H^y}?;EA1ej{?LI*i%2iOOq;)ME+^@Tv8|yPRm;=Kga9dk zE4Bu}`-&J2U^3BKFzXv&4Dd%1kB0cmt5hq%*gU8JoAh@1fF(G90}d|bT(V%( z0;+_AB?e%Zc}@!;z!l&El=;vofIR|i0j^q)eayTnfqz4mK#zxJT8u0{zygN~==13l zA%vFS_TPvPV2eXuj<66%zQ3A4QH^59*4Y-Y5IY6tbmvj&(2ZNT+% zt%7`hE!mS#Y=>735KsV)9$C(CHZR+5hhed7zTra@G z>|F~8v;qn^F#xU=;Q6o20PwvCntV5)h%(P}bAJQ{XtBsTfSv~AtqyX^p~?mF-Of4z zj<22?L;_|91@OL5|C12=>62_S0H0Sb9MXqy%cgU_I0XY9Qq?SPRBb9s!1dRJVU47^Z

z5(fYP002ovPDHLkV1f}a*=hg) delta 981 zcmV;`11kKu2#Kdun2fN>bipV*kao?v#|hT6O{ z0W=DaKRjIk00T}*L_t(o!|j$oZ__{&z+H<9y5UqR8*;5Qe}9BLAb)|VI=NjKlg=3X zd1%F8C4OHZgUgf!sX=06pdOL<25j9B3>h-A@)@{0C-J?r;|wsNoK&gF``x?ei|^jg zF!rMy*3;&=Y1I%1Efw%8gmwJVE8nr?X>0W5%!9gYCUk{FJ_^IB>V z&w!5+{}aUHA%Fkpjb*DVcGDFQ)4fz<0*KN1u(%x53_-ZBc9+w0%NqFFvgVlQT~a&hnQVp zQ9_$t=J~yv;V#ep%_BnG%XoaI0!MdK01=HPkYw2{iGMS8IfeKd;963UWOF({&+{on z0YD)4n*+SY^)D;NJpb%NbOUfx0NCSGNR{)d&y=s@5o@faOo1TY=jBmgJQmkavRrX_%giR0=3stGVzzN!GJl0X78 z4L~IUx<8g0z|Tcm#_It|6mfL*5+tCE_Ob?;D1cj8K~y=Eu~eMxWi5dG=*dC^urO)> z95eZD3Sd@q{^i>8qDra>DB#v4DArg5bE6(ej(^;rqK1C$mHusfkr?Kg0PI@e;o*x2 z45Lx9r71Xa;){o`NptgX9DCnl|L<|ILm+r}-$9&uI|!2tM1z3{2RVV~iePZVAO^zM z;D`3tMlcNPgc?WztOdiEa7~~FQe1;;!5F4h16g(dQZRG_5r&}(2B2;r{PZh=!Sl4L zhku(0M#Vrx5sF}7n{;O0_L$N26~S=c<+*anIL3#ZwE;@O;QpXqG9A1BP7{obTtb~7 z&;^5DQXL5UnqV+hazwuhG{F%5u&L4vr5b30abK=t#=ZcEVB8YDaAXE57_+*bxLq*1 z#rJQ2`&$HK-8I=Z!4NLkAQ-gq)(D0eXHFGIakm4L)gttL(FG%Pw*x{juqlHO3_N$5 z1*5x5FuuEc!KfDuS;XH72Jwf*tkECh{%r3L|9t!b+@P|hgUISZ00000NkvXXu0mjf DR#(H; diff --git a/graphics/pokemon/clefable/back.png b/graphics/pokemon/clefable/back.png index 48b83f31306aca4396af3fc7e4caa4a1156b25a7..4932b3a5f3896887830c88918f499018d3e5a57e 100644 GIT binary patch delta 719 zcmV;=0xOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsBR#l?ezga6*%?wp+VwYA=Rd(B!}5D*a9cz<};iP8|RM00Cl4M@0Xn2lB-L00Ik1L_t(|ob8mqZlo{}#$82F>|0rg6j!>TMk6Sa zXP_X+Tyfe8;gwRZ#9GRGq#)8&ks`(YVltLg^iqaDEyrzvA-PE)IrH&4G ztsTLsj)suT=y3PuY##xT$c#>lPU{o^o{n2PfCTT&yqeCv)nPLrhgT#Tn}%jU9X10( zPGE__reUa2Z=)@-i4xKX282v-9g%@v=?)MZ>{%oRJAW2UYH)2aMq0+r&nG=Lcwqc< z4L;*Ew@s|l4?{wf{DF18gk)^Yk|wmwn6HxmmaLi+UCY%aG;xxWT_SxxpIIfNHghS@ zGL)EQRY@5PI3J~sCFnN1K_*?eWpI4Dw2?o?66tM)dpQmHSGxZC6-Z`MfiTq6D>#R+%kAy+zVZ!b%fvfBLe15 z0(=Alfo8NoezJE~CqBRv_-fh)cbhr@Ou7}pVnCp`cN&}pfG{Rv*jg|j1M^kjfAnnZ ztkuYv&)ek?Rv+Ns1ozviXvM7-1itghI2gkQn@F%x--h!v0WHvb0P3T<= z*FtRTGc^KmOaR>?G;@#>z;2H9kAc!3hM)MR_zz$#+^Wqdol5`!002ovPDHLkV1m{p BK(qh= delta 653 zcmV;80&@N51*HX$B!4haOjJdf(4ZiANDvSZP`GfoU|`sIc=*`Z=(xDpcz6&H5a^hg z`1tsMfPm15nBF;BP%uanpZ?PT000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0W=T)Rmjo+00Ia}L_t(Y$L&=;YveExb<9HA)22x42rsIG?|%mvqq8B9;*8a7mtf@j zjPX?YId1fG!u_B~8d)Ek<(f;GS0wVhr#GXKhRw2X{6EMK`|pO3tMm=29_`|;s+=_4 zepfvn?dpM4)z8|6Imgv4$QMFTkP{;1h;hEk#jI{uIRPPs6Wp&(!KKEMWe3B^ zBcv#zrZD)7Iqq71MNlMtW&bv~VzCq#S9596MBIU!KNoy#@TB-<4qoCm*Cw^;k1kP+ z{7Kb5g;1(FBt>XiDW4_(CDc|Xyr#E46mb$l^$}m5&wpwYQJJ|AXAx4AV%vlW2AnrS zV+g!O5lVD$$Kd$Y&yhc3hKwCE^zqBoF*B0@??HirrLltiWM@_f z-oY#IYJcVhyDgmnOn9cjqC-JzXBwOZ05vAG^TT0=T~985*1O$IXi1Zo`*2Xpckq|N z+x{wM`l<&u4N3L6Hb_iLjJ` nP6W0&);|`E_4iNJ7vlpgJAaDg#e%5-0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMG)@h|NsBR#l@7Al0Du4Z(75=hsOEcnoKjK{ z5D*-i6$StR00Cl4M@0Xn2lB-L00M(aL_t(|ob8ssZ`wc<$4|=8F13XiQ_+8+79**c z`X97YcUU_CW49tTQvMheb$DlI$dJK@-Krxop~~pP>ChpP4VQOkek6BiI<-svkTBBs z<9GMYpbv!9Rex7?WsAdk0zoA)9DXD(03g86&xT_oe?I8-zoiJkf{X{f;U@za_P+QE zSSDY4{n0N2_&kCDV9w?Hpnp~Y_z;9X(5sO!mLTKP5K;Fzo?05n zO=O!cvH6YMtPy2P1z2<9v@vlcVEpdNI%;$=;g{_yfCw2lUZY!)Z!uBTpsu>=`dd}o z{~z0*nf52r{*R1f*dIGQQIcVQ<@ZcJilqW{@qglT#?(iciWJxny!$=68&8Xw_UG(-YcoSC#b?;xWz)?$WJ;W-{e>vcVe%65 z=#c$A%=sbvdmhTsD)-G%PcBi9hwaa-_HXlOOHix*y%WYIK^0)Jzt<|Y9jP@e_IDA; z6hY7dtNmRmejG5GG^ySGqF}LDXZ*IoE8OiWCA;eeulRSc<+At>?ylYbAJ+q5$LDqK Sa9a8R0000h(# z?m;<}l$5YIC;$Ke0000BNOpw)000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0W=%sj~uT600MwXL_t(o!|jzZYui8+fThwRviYnbmrk`kgnxFEULi6e(82axXifS9 zjAz>-oS>7efL^wO2gk}}GPL$D2#EfQj-~&l?@o@L>dx-o>KP=#`}FSKlcmqHs;FXr zu-f5#6TH1dr}NHw1^^yiKkxLl{EOaj@X93sYF58D?7Y{2&hUe;fO_-oaL^rTz{f6l z01YmWy}{)kz<&oX@gcbG3T+9i|0w}C0Ehta`qBtYLGB@fU>Xadx7o)QcrKhFRX7z_ zI$+0idn%%YfLL5H9pD56n8@Sp@wi!<=#gc))B{BepuI{b%~GG)7dwI0J-|ItCj^|9 z7I@iU0B#5ndf){xua^qg;8O>WKmyBgX$y8MNX{Sp8Gpdc&1o9(q)`G^0OvWJiLU@T zHNv$nWRDb|zpImnVR;iy0sPzo$K^SNDs%Beom>pHf1Z=THv9lXPaAc#10YCSI>4U* zXasg^1V+HdT>(s!ngPIV9>)g2;sp^<9wRgZ+lXSryJsVN%%{_u5kR)7k}~7#OWBy! z6<~h9?SBPjYzd6az|ne68Gf_a2UtQT>})+h{FM=6RDFu8sG_p}ziofi?Qco@KQWGG zf2#0@k~I4(zccwL>I$f91sG+0vg@RfQrZ4=KioYO3*-_g+h6W*mBR)7Adg+DQ0~G7 zd`)-%B6riYP`5wFH_J^At`whUe+Q?VIWQ$o-G2T;6mw{QqkMeG{u$-@A^T?;$`N diff --git a/graphics/pokemon/clefairy/back.png b/graphics/pokemon/clefairy/back.png index f27aa6d927d08c0ac285141816d82789a8aed0eb..bd9facbbcfc6bb68346d6d7336954746cea2c27c 100644 GIT binary patch delta 614 zcmV-s0-61~1pfq(B!35VNliru=LiY|Fc?-eI>P_}02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*{4|NsBR#l@7AlQh`|RySk})@)U;D$n7uW$vmciWjXT1RR0rL1?zIc$=0@m~!&GNk6l`7R^Nf8t$?AXW@z_ml0D%Js4(1b(4sg9%m0A&gz2PC#NF8}}l07*qoM6N<$f-Ix~ A?f?J) delta 545 zcmV++0^a@q1iA!}B!4haOjJdf(4dGwK-h?g_}JKBxKKENAb{Xt5D*aXu&|Jjkofrc z*m!V|kdUxYNB{r;0000briN_*000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0W=^~g!PL600EszL_t(Y$L*8PO2a@9#y5iG>NY~+F)h+u?SD}010?qfDeVJj&PFW> z-Zn)#Z{Q;cKBcpp>~{0VJV5C{(!lrInfYe6j9uc)BiW>5va`vum-UE#n`QC#bx;dA zW3IP+j+0^#m;i8=!!nMyg8=COh4(Mu8~_moz!y~*0J2wVMY}t>fhy=Vloo8s& z08gfuA98cTn00q$lR)kx*Zm$(lgRztB*4-bwssX&Tz~nfqPl{L(>NWKUg}dTgRriG zJ~NeW{eFd#jz%G`t7yx@S{QX$aXKslm7?q>U~V8sER99RhG=cPh-k!m20~Q|TELs| zYG9tD$a_69Cpbb4Al~1wXLn*a9Y=Ou%Ub!u&m2HgX9F<**!B jg&YJ`7#agEaUSsp#keD!W;}Iq00000NkvXXu0mjfJ3sK% diff --git a/graphics/pokemon/clefairy/normal.pal b/graphics/pokemon/clefairy/normal.pal index ac2d66f749..e8e5b3d1b4 100644 --- a/graphics/pokemon/clefairy/normal.pal +++ b/graphics/pokemon/clefairy/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -156 82 82 -230 123 123 -255 213 189 -115 74 57 -90 49 32 -156 131 115 -16 16 16 -255 172 172 -148 148 148 +16 238 230 255 255 255 -238 65 57 +197 197 197 148 148 148 -176 56 40 -0 0 0 -0 0 0 +238 65 57 +180 57 41 +152 128 112 +112 72 56 +88 48 32 +112 40 8 +255 0 255 +248 208 184 +248 168 168 +230 123 123 +156 82 82 +16 16 16 diff --git a/graphics/pokemon/clefairy/shiny.pal b/graphics/pokemon/clefairy/shiny.pal index b6d39c3bc5..11c557593a 100644 --- a/graphics/pokemon/clefairy/shiny.pal +++ b/graphics/pokemon/clefairy/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -136 64 64 -216 136 136 -248 216 216 -96 184 80 -56 128 32 -128 224 96 +213 213 189 +255 255 255 +197 197 197 +148 148 148 +238 65 57 +180 57 41 +96 224 56 +64 184 48 +41 131 8 +0 82 0 +255 0 255 +255 222 222 +246 172 172 +216 112 112 +160 64 64 16 16 16 -240 176 176 -144 144 144 -248 248 248 -216 120 112 -144 144 144 -176 80 72 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/diglett/anim_front.png b/graphics/pokemon/diglett/anim_front.png index f7a8edcde2e258c7bd7df0324a20cae3869e7bcc..8c38cc3b2fe690afab35d6bc1d698d29a160f606 100644 GIT binary patch delta 537 zcmV+!0_Oen1F{5=B!35VNliru=Lib~G$^TZzKZ|=02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM|`+|NsC0td#$1TGcs9a{w6T=Crh|bAx+IT2df;dw+Wn5D?y+TE%lgq*_{9 zF&IWnYZ(9l00Cl4M@0Xn2lB-L00CA>L_t(|obA>>PJ}=d25?F?o9tdd8$AMg1FY=) zQ*I0K0y_|T8A4;_KukP?ooq%nv4_IMt;j=Lik<8QOhnkunTOFrP3EI~zq|?6_Y6Zv z=buN2SA1TS^?wGLPl}?17X+*y3jjb?tSflJz!a+XL*AIS`v-u14j6b_?O8K``c4fj z>lg)aW)Fah=Kul$U6f$F?&m6C#-bIq5F(a~Fc5tj8b}wAbPH}WB3ogm&axv72|_Lb zmluxjESuXFcv>hYx^s z_w&&V?e59R{vlrOr`AFHM6CuZ+s^Us<{WTcg4 zgL_J}taDmYAm-+@0000dP|jcg000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0x%-npzrzs00CD?L_t(o!|j$oPJ}=dhj)|BHiX0pH4VfAkbkFWY2pp^0OPX`R(9Q@*C0h_VeC6J=Hnd`eUB zP!yu927d@snj&9T=*ciEeS2s$n*ST_Cu8A$?w;b|9#cSohdX=RK~bY QLjV8(07*qoM6N<$g5QbJ9RL6T diff --git a/graphics/pokemon/diglett/back.png b/graphics/pokemon/diglett/back.png index 558892d4562974ddd2ca44e90019144454a721f9..b3a3fa1b3ca8f1a37093b4613d686f2c596ff368 100644 GIT binary patch delta 352 zcmV-m0iXW30{a4xB!35VNliru=Lib~G%4P7jvW9102g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsAkl=fO`%`sA>2q}B!=Crh|bAx+IT2df;dw+Wn5D?XzYQ1w(oLXv9 zF)71}BohDt00Cl4M@0Xn2lB-L005s!L_t(|ob8a&5yCJGL%Ttif`3M35ML)iVE_)5 z1yX3Zv=rm`;DaBCe)Ue4)pboxe=kmQ>@Z?doe1abOFy_iMEZ*jq`QxUh#e7tnSdFQ z@Q@2c5=ZAk%vn=-K=x_1OsfFWD3MkH7Eo52forWoxnPvgz)l0>(*+J2zavlEPl578 ytOHPhF8MCN1*puh0540b8MwEQX0000O{ z0x%=1r{8P<005gwL_t(Y$L)~84Z<)CMRUjkUqsyN4T2dU6@M9|Ta;r*r-@P|qSzIc zxX`@ofAY6&Os8{tu%g6v27w2VB!35VNliru=Lib~H~~j>Y3l$002g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsC0td#$1TGcs9a{w6T=Crh|bAx+IT2df;dw+Wn5D?y+TE%lgq*_{9 zF&I*p^N#=k00Cl4M@0Xn2lB-L00N~+L_t(|ob8q|Z`wc<$321~l`lY-@)6RlW1Fd4 z8YYCg5vqQGGh*q4&thRp@Y2tap-~b!7-f!8CnoZsYvlNxy%_hM@2KE>+*Y-!_j#RBY>SVDge_u zn1SP3(*UF}dwcjEATj_a?;1t`8h+CZaLx4qV?T@lZebw-rUUpEU=inaE%1a(0$9Z` zXDrDy3q{~1zyf~H9XxtiyTV~N#B+ya^D9cWV>{im(;)I4+rM$ikWxC> zY|(4m#BQB-uRGNB9EuI7yY-PR;t;1rY^-@6wW-r}w;EVDfdd`erY=2qDCut3tP+o;q5ZRWLc3A-k#+dCJV#w1wwi|&oCePNejj+y`5*6Wfg&< zD++H%?_1zOs-U|6+S@tske@VC0paZkqV|t?K4aVA9z?R0>axl zFk=%jKso0+Vg+dKA_f=$tu?PR*h&J0v{qS%v?SI82eGj1C}DzBw{^f`$WvOvL<~^# zg%wEmAIrB2lvKdql^=e}w<$lM_W5C-AO36o0(LW19E(ssf&c&j07*qoM6N<$f_B7* AJpcdz delta 798 zcmV+(1L6FE2ek%}B!4haOjJdf(4eGRTHc&mS}_>Kb3yO{ z0y79KHg)d+00NjvL_t(o!|j$aZ`wc<$EhM^K}fyW@|MLV%zuDUcfym|Q9l3#2lbu_xNt9^7&rn1CIHQ10Qz$<1GkH*0qB7L_5L$} zV*u{H&5Qudf`6$Q5YcrCw(!yj;1+rcAWp#+pl9#$THpki1kkdfONixpTHp;p53d8U z+M1Ogoe%001++!CVQ$D1`~i%xz?lG?JTRY0pxtoK>fq;q{^ApsXc5wBxDA}eFbmw> z3&0^3%%{E%xD;CwK>x!>&;h>K5(1t6u2de7VUZ5J{ePkX)FQiNgm>an%sUHA6fm|` zsq836a*uz3?4YV+vda_CR#zg^q8bw!4w0=M;oZV%gyMNW9}N8-7p@l+5THplQ0S6r{|Fqgh_A{u{EVM-7m4+BrMrJ$5$&F@sMHx z8XdgkmVbpT+_D67oYRDcadc3if*k~~N)j5;$B?o(&CKC@E!i+^%_$bA0gLnZdd)bc zE4E(KhoHh!&8IqG@e|W8)CjWp@`iIg# c{1?~p8&3YQ3?kY}3IG5A07*qoM6N<$f>rl&i~s-t diff --git a/graphics/pokemon/dugtrio/back.png b/graphics/pokemon/dugtrio/back.png index 5beb1643f51968b3aaf3f1721429383c7bdc0e41..93265dc34597a93160c78aa79a7d15c311f5feee 100644 GIT binary patch delta 436 zcmV;l0Zaam1I`1GB!35VNliru=Lib~H#z9<&AI>p02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsAkl=fO`%`sA>2q}B!=Crh|bAx+IT2df;dw+Wn5D?XzYQ1w(oLXv9 zF)71}BohDt00Cl4M@0Xn2lB-L008nyL_t(|ob8c44udcZg|jo{R7|}?&)B6SO{ z0y7H2I26MG008nyL_t(Y$L*9&3WG2Zg#$v@eMDUJ6iOteOMh_=(qf?NUaGxjqxsS3 z*x#*h;mEu%OV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8<|NsB?b4tZQ7@QCQ|K^5PuNvq}9!0w4_RldogNS z5K5HU*02Bo00Cl4M@0Xn2lB-L00RR_L_t(|ob8suZqq;zhI8#o;CCpG0B=CWnP87vsHxiE$qp&6~H_UrIghr92uTykg9q@DStFOPzg9E z@!)&&6~I9S@Uy32Q~q5MI4r zrxFB+{jyO$KYc<#Ou6pI65!M3V*>0sHnvKpxY>0e{yPZ*yRr zfGU6^4u}X;S^(V-d`Qo`hJ47{hFfw_r|}%~Lz@vLz{Bf?+k#=%+_~YvLTQ7gq`-H_Hmw$_S z3+SWbsX!;$$KLF*5kdqO8iV|U;QKqrtCa!t!UXq?bJTXAJoyK7ARLg`gDQ}JaD46$ ze6j}-`UCP0$J`$X-x>%C>mL{p+>(Ll6+-@Dxr2z44&3(-tiw3E$%M7iKggs-24aPO ri0%wTrGJoW_8b3z#M(csO{ z0yPmH2YRUh00Q$#L_t(o!|j%_ZWBQehJ8p#E2Z%sz9cSpIDcE0`kV*Ic^%Q7 zumnn!9w(i1!p;WK7zyJmX)Ox6fOrGMBanAt=PqYOn!R&DgM_EE=F`lqZ+8E`R@=ru z8JyQE^CIjVRT0k9up^HufJPWfDa%VZGCWiuMfrqMKED`2Dc~IXy%!fB0VXBDlaA`Q zm#-=SGho!}1Ah!lfN4)c>;k|5OE6l8B_LLx4d6dBzpl?|38q)86_!AN-P%TZ_vI%7 zKIUfMEWrD_UkGI9*txV!adP)N1F|0HUkUK`IZ8vkbEUkN3vu0@`_VXO{w=ynjqhywsRVgk_~9=2NbQhDchZ zLZd6&CO=mS&ygq!gc926!c(!=pD-YRS=vqyfGg#KnDEw+j?fKd%ss^w!2VPbfcdi9 zk(`_D?n9vH2v;CY4ZJ(D2f>s83|x@+A;1f0hgK8(JP+c)-6tKAf%pK3L;weKa}Kih zey_R6K7S^h%{|Ngnfe3KG~Wu&(zzSC6ksrrf;Y`y&0QIZfbJ8xI6voZHYNpXH*RqX zX~wjy6HCo}c^VFuw(G0YQGSYcy0pImIz`0ngf4p{w8o9ny5gnNx-z|uZTz3YT;C+j z!6sq$CmV!0lRQhTg}DsKggFDsdKh8Ol^Zq!L4PTbOM3xKN~Jvq*o95nb7jtD^Yz3g z?GL6T;+{!+vKHRj&ACO|>oa`obAUPwt?TS^1ZVf9Z4RS$jnZ87wm1xDJbnOJ97f|4 z0!8Z?Y4ONEHZ2wf@O^1f|Kl`0E#6|<0=h==#8k!kW6w`5>K}opOrU>YbblM>YUKca zFmgtHW5Z}WU>^O0aUc|srUzC)|KKFlA0%iGBI6IxKU`6Nz>>^BU}XM*0MmUm5S_Ju z7!m^#kKmzyARSuKZZ52){z1kIG!Pa3A-XpZrT#&R<_7;@h^>Fv#^1#s>yR@s$F7f} P00000NkvXXu0mjf4{(!S diff --git a/graphics/pokemon/ekans/back.png b/graphics/pokemon/ekans/back.png index 7792edd9f40682ce1537fc1823f1678734f9044b..f5d6c8f8a8dfde87350be0684d735406250373bb 100644 GIT binary patch delta 709 zcmV;$0y_Pm1>FUZB!35VNliru=LiV`BO>CUXF31?02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8<|NsB?b4tZQ7@QCQ|K^5PuNv?wqWwIfIKJYI6`; zS^xjwEYFitIw6yBx5`_tZm!u2Wzm zhR{=WwqxAAT$Dw!>4=3ZTOjFl$r)7uzK@Nq@(eb)u+MvqMCH{<=T>@ z?#*z{Cp8ePyq#M60PPU+@&LI0R&6!)%LInV>tzZk)nC=sFk2B(W9n@SfpVykAMASp zTBVP4cz?yt&)UFYq4W7IyYS#|c1DaxVBf5ZbX{3c4sonwJl;U+g#}^>DzwmmJwxK^ zm8T+Q1QdE8wu7Wdn;W4TrADp+>+VJ%T^j^q0vOAYA_kUoHS0G>BKyjO{ z0yPwFZH^`Y00IL^L_t(Y$L*EPYTG~*g`KVh-gpKC%BEBYiGK+C6c%GhcUAF#mTgus z*%n-52$CT|rK@-mcizG+B|-R+0)2+wkz{G4$nK`y<$^uN_w)TdBM$~I_P^{E@aCxB z6C!jE`%lPEc9`G*G&4FB0ELO&_&D%(`D=7I1KH~@>%Rea>{tc_IUo0iuqpr<`ukw0 z%{%V{R(rP#^nU>-HQ=O3di;Fv515lS-|s%Qd(;_PKYV;D&*4n1E1(^IcE2mm2c?J* z&jBlc+UheWKnd|Y#UL+|PzI$opUWEBQyOlT`dtT@FUZTgA%?TdssuGx2vXf=JIC$s zZPBFK%vF$B9ByYy`Md;hwov4)wp~dRYNs zl1{bkL$p({?|UE_Oe95R<8q;}jUxa$#AQx}B7P7McYw&81gS{M)Fe0@Ox_#Y z@TH7Rg8M1=njANh%#NB?19}3ukR3oeb&S-}b&Oj;q+iv%qD<1(dGiQh12h` iCt!8{^3U||><{H&tHiD;*na>3002ovPDHLkU;%=IKPd?S diff --git a/graphics/pokemon/ekans/normal.pal b/graphics/pokemon/ekans/normal.pal index 54db617b6d..8777bc9942 100644 --- a/graphics/pokemon/ekans/normal.pal +++ b/graphics/pokemon/ekans/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 16 74 -164 74 139 +205 205 189 +255 255 255 +246 115 74 +197 65 24 +156 16 0 +255 230 156 +255 213 106 +230 172 90 +180 123 49 +131 82 16 +16 16 16 238 164 213 205 98 180 +164 74 139 123 49 106 -180 123 49 -255 213 106 -16 16 16 -230 172 90 -156 16 0 -88 72 48 -197 65 24 -246 115 74 -248 224 152 -0 0 0 +90 16 74 diff --git a/graphics/pokemon/ekans/shiny.pal b/graphics/pokemon/ekans/shiny.pal index d094cd0b84..2b4f288d29 100644 --- a/graphics/pokemon/ekans/shiny.pal +++ b/graphics/pokemon/ekans/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -56 56 8 -128 136 56 -216 216 144 -176 176 88 -88 96 24 -176 120 48 -240 216 136 +205 205 189 +255 255 255 +246 115 74 +197 65 24 +156 16 0 +255 230 156 +255 213 106 +230 172 90 +180 123 49 +131 82 16 16 16 16 -208 160 80 -152 24 16 -128 80 16 -192 80 40 -240 144 120 -248 224 152 -0 0 0 +238 238 156 +172 172 57 +131 139 32 +106 115 16 +90 90 0 diff --git a/graphics/pokemon/fearow/anim_front.png b/graphics/pokemon/fearow/anim_front.png index e891c121b0b8972b872fe568a3be256ace8cfe38..de36755181f59e478db2792699cc2354e355aa95 100644 GIT binary patch delta 1674 zcmV;526g$)44Ms)B!35VNliru=LiV`7&I!zJyQSx02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM}MU0002))wI>5TC{T@i&8OSIUxVlz5j!1=0QQUAb%ixARzz$|K`=StfXpU zS~<+`1c00Cl4M@0Xn2lB-L00q8DL_t(|oaL9lZ`(!`$M1lc3kM%zQiz?j{Tl?T z-U*$!WJn0}ajgiE9Q!|Hvzv)P7fO=~ba1lBfD=e*76Tnxphc0Tn-qBIW;@wB)K1?! zD&kK&L&rWruz$t-+EJ?Tof z2ADFDYX^))Qu<8*pY{dS;Ryjyi^0*Uly)-05%vO2%6~x(NF-TeQweN4@$pABhDq)2 z2rIy}$nIf;D!?%V7bBwsa@SM-%GKsLtO&E{8|tUu08AJABe0(coN7oSLI!03-BXki zR$|MxslQnUCKCcnRS9_+b0vnVUx_7A4OX*?+0Tk`6q^{`uo=4!B8F0NEJVrDp*G z+rLwt)F{JE?RK*teCd334j|b33k6UW_BXS$JAUX(@A1+CvHk8MQj_f#Ibw|OA4=&B zE-;3%{F54~3MD{4{aFq=@y$7Sm#e?1krrf9gwQ9LLNxg11HiYJ)L+e1Z{vW?v%MdM zVSjpHLEuPNt>|RbWd)G#WrCv<3w#wm!Xfa&fqp~)GfipY7IGvGBPwM`z-(`fW9g_3 zA`MES0?dyD0h(N!i7TO;0h>Q#dnr=~1(_pziEWf496n{cDeafF(fL&BkHCx{3$>vf zZ1$a=506MwkP zreFmIG(zwPlk5!t>RD<9R?9fEEK+ND&U7rTIU<-2(jb zCU2;(rwwrSu)XKT1i!oe|6z9*NuTK{o81MZ_?i9}faSV)CqTM*M~=BJ-VWrtc>74# zx_Cz^a$RIe`<7*OU2L(6F1A@k7k}GDFgQIsySFD~(5xw-h*0xYtVmx7_NqU>E~9#V1mb!aSo)5*MCbS>WXnR zNm&Ts$sA~uLO(hYnhatObrDlotl1W!_j; zHO4$;k&Er1bkUR!cvWCA(=Y%5sEc$#g1D;PnTR%kx%40)KF7Kpr6`T~r}_zcVbgYm$Hf64b?j%8hZ%vg&C#as+}9 z*KGc763T8_7b6)efMX6FHIQJZ3oB5MXqv$E({BW z*Ln`AcI=TZs=JZ}wpDs#8A*Xc36|1DbsY;2?DAxc_Bo)ET1pqyHGjo1$~P%|apW+J zgIpI)%F$tE2l#3_g76^7brGlA#h1KFp$#?)xIN5u5ig_es0OGY7*rh%1VnZN5PbcN z_e1GucDDh1$_jzL+W=TnVnf?yJ9VJ2oqY<%Z$FiD;12sNz{O_(L_PN)u@7V1gs U#I)PA00000NkvXXt^-0~f~}?Z;Q#;t delta 1597 zcmV-D2EzH84bBXZB!4haOjJdf(4dP_F=9C&)udVg006XeAbTJn=0QQUARzyPYGPVB z=GCO{ z0y!Qc4Jb4K00ps0L_t(o!|j*9Z`(!`$Ik?#!IK|NE}cY*Tz?DHl=h>1jGZ5unLMQJ{ZC;mHR4H}t)uD*m)QbnO`eO!C9` z>)ze>$QUrTgTMOF+UmFC1OE0JfDUI*I$gFi?CmuIn$MZ%cNyFF57_=!4Fd ze!BtC@a01VAb)n?_1ab7(C1=E9?+IAZCM3$*%eY5z$AMzl2HW+r6bn{81tmG>Hyvy za;n1~0Z{Rwqfse+r-K>x3{A>G1#lz{$EOnbzGLAawd43N)lmQ(hh|n_{ zAagxsuUKsz)ABHip-`7r4G1HAAAtjh<5Yv=5i%$OXn&r(bg&XTzEAImMSwy;!14SH z=)E|7k;v1%VhETc{)WC}3;Dg>H7a-M*-A`0V3Sr%ojE#R8r*B>X zSQg&c{rD-$JmgKOr{nZgVo3)kV~fvgAacAMNN3oWW&jB6E~!o`OLtSdqx5G>#$Vq6 zaCUj80II^lW_FHd&n;=bTn4~*Ki_$3vZFjk^ndZ=b1BWi9r_T<-{>J#p#Zc_f0u*4 zeRTuo{pxReNDb-aE?QFz!5e(>0pQDfdSA^{Z)1Q>(&L}F2u%pUh-IWY+Ua!jCY&V4 zDc8|R0G4v^VG4R~pmk0F3qu*=5{f0J;T0kzV01jgT>5H(NI^lAfXO*0K$GhcVkZ^R9b3L3HOIld@*xOm5o5?U|oLHkp2Ew?U4`WaUXD#piFd|33a0M6(Q&5(j- z!PP~1Kf(~Q(T^h;#-3Z<5-0CA%^F4h$S`ZbDBpNOX;D+uLMZG^9vD^NUk_|Ytw?}M z5Usp#EIIIE)tSvh$Hw-KrU0Vd3-nBF$VF+@!Pla0M}4WA!vC7Lc4AuV1fx?)D5I3oN-)ca|jFpH5dBRX?jg{Nt3_` z8uEBHP7|8v-HSwT>kT13y-2f~{>q!nc=0~T{`u=^|9=m* zy-2N5D`BH;K!Shs{{pZ~7qD{S6m_w& zVT-!h3>0*+ab&v4_1YF#)HNEfe~yeM5{-`wNIa&`By zsSxSOE6z|@QTFccE*pR;O3ugo8-LVAxmebL*7-CYvBgU1;$nGwSqH{wV0lBj_;R^g z)PPAk=DW+4(#@C4a7`MviMog(tX4N> z6~IpkX@fz!xVZg%FU)EPsM`*<1L>l;4X=Wr>|>HJFT&@bbTO1Mm}Ou*(tpqa0jP^~ zKmxn0-6{7rfI2}9%HoPk-%=g`vNN0Gsk>7pvdzUYfw7cqnY9Df8z7j+dQbfKLqyw;0JwQZAhQJs|n@Pon^OGk1PN(huL zs^gfu?-wVdbD#q%X`pmb9aCaaJW1h)qYiD`$aFEJ7-J^NpQasf_l-;!ak?Y?$SW0E zu#Tbo?MxT(FdB6#fO3LP)z(0O=hpzPukYzYSH_y(t$!e|qe5U9)iwa;6j;}f*kSj< vJ@@c{oay`#V9R(E(D@?(B98&AyifiEc+>PSbZ@sC00000NkvXXu0mjfl^E#d diff --git a/graphics/pokemon/fearow/back.png b/graphics/pokemon/fearow/back.png index 6c0f29e86b838536c3cb52cde7ea4441d9e701c3..53ca96901ef95a5b303b4dc0ea75ca2e75d6c0dc 100644 GIT binary patch delta 743 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u0002)_QloSTC}|&i;FR0IUxW4r2p$gSPMi`^UH2ijvq}z09eP< za~Oh#PrCsYB7@FM)&-b!1_0{@P((x2V=;}o0F$zLk1l95?Ep}ZG6hWL9e_b;Oc}kb z07_{iB2xxDp%dT#Sh;a5Ba}jAfA;-gaa1oco97WMw||4hy%G_f#yJpQ_#c9XuL!9H z#=Sslj9VK4D}3$0zy5U-1pVM!zunWkWZ#K<{pSY4@vhCl;1lxp_b8UTa@6vT7t*(% zd&I#QAGd&m5s^Bx2LxYTU3_Z#Z_aI!6XX~=Gy}ZXb`F35Xm&gRe?W+2M&F5uZR z0AmHTTz}BH3>ZRFm~^2OKNOTN7=e0aIGSFU-uzB}a>=A19HKc2y{1HF1z0OBs;(&s#d zpIfXBCTLg?o27DjB7is*R(ZOMqjQpE02e}R#bBCL%Evfa!P5yBs|1L3imejJt8Z4| zij^p2H6ji-LIS1I+8R#QLWrdDaqhWggdyrmw|{fOlb6#1Y9q*RL`F0KTnzxXr9UT+ ZrGImvT1d|i12+Hw002ovPDHLkV1leVLN@>a delta 681 zcmV;a0#^P11;GW7B!4haOjJdf(4dQpF=9C&)!teF006YTAd4{o|D*ubdjS9LL1JP# z=H9gb|Nrjx#jLDq(13u<5{0Ay000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0y!cLVpOvL00JaQL_t(Y$JLcTYui8=#t&oElCkaBp(ys+p?|`=DJPp`$e`#tWb)uj z?OyKeO+#^#y%Y;NWKb6eJZ18MrcekK{UA2nXXtyU)1SzaQV5jx!5-}AckjK=t2>0y zeV8PR7fCi|` z76xqs47LD(Hh%-iX8{^hkNHi2!RTbnrp%u;g&Z@gfcc~W=rZOp%FYXbF;*#&Dg~af zd6N7nT+fpwlmcacOOkLpEQeT3bP1~MaC$F<&t{$myvyV+toVwMnqoW-rIvVa5U|6i z(d*>)CJaa6=TXh5&gpyNB)@K;IIbH82A`0ZKl`4X%71WwQ17H~y)lW4F+SP@I(;H_ zY7Gd!xVZdM^`9MDL=)r)GE@tg&n*pr0H|i{fIlF_QN9B$R5vg!SpZ`N;F^SovOo`# zLZ`jDv(P^s5Laczb?Z?F3cJIWTd9Dyi{Axc_*kHIhraqP5Q@MICh{HuQEVf$6WfHNAPon)xiYyGGe_^ zE{_Ee$HLA}cXo76;uPRQh?UrqLb{EU9juPI*u_9>BW&k@j=tW3D|RB2T`6&}781x6 zmG*Gc6hg#>kG1FICAy-lX!Ttaru?{jK&b_JMTN P00000NkvXXu0mjfw3Er+a02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM}Mc5D*YSIWcN#Qk;~7w6vVX)vS9MAjL5;=1M{T|9}6@-p!PpoB#j-00000 z005&h+C~5X00Cl4M@0Xn2lB-L00N##L_t(|ob8r9a@#Nvg+b^7f&@2lBhi%IMkK(Q zI2DNH1q`eYkc2vbs~jb+bA((l3yKs8{m?~Ha%ZF&2_N6?62*Ir%{AA5s70}vJ}>dx zBv3Z^G7X@{sec{|v^XijL8G1oR<%QawMX$eeD7XBJE%?_i&1lz2f(jtbpm+V^hBW% z;UQ;S76O#%{(WqkZYAFM8eQ3Jh%h$m0gdXo(xPk>XnjD^PGAikz#DY3ZCCzi6zz{l zCtLt5JAnS#o6zGC(b4|e2LMG6EYNFnM?g}0VqN3Hvws}>4s3^LO&tL6v_y#>AZI(* z3lN}<3@s8{fA{!G+Mv_B0g!0LUeX$=TqE5<@dvC^cj^Qr(kOtJFxJ<#viF~U10cX@ z2_lvfEN<7zJl`vLCZG`1W21VC8;)4qg4fn72&2()tqNg?Y1bm}6y84{=s?k zx|up(9B|Tj*`jgN-mQakOi5%GT?8EccBpMe?q3bR9}X@eIFf{dlLSA!#v^ew8Cly2 zAj7WXk+ya(?cf;XmwSi+wgs6F02!l`t9Z;{WPc|>qxItKy=>KBE9A{y$qwij&Z@yy zI6B{ZSQjuzb!>~Z->;7**ar-HNR5n3fK=^_qks_slod?ysZqe-HnKi`w8~My;IZ?v zUAy!UFnFqB=cTk@#sNbrWg~!ls5Ya3K{?^fn#s_s?I>X2x%Xwk(uaU?>D~zlRSW^c zTwI#7U@I5`#&z=+auhJGRunL<0uuq_IBEWtrcZC#EdiFSpMJjoddqJDOr~Gn-}CsI tVhO}Fy*Xkik>U9*oNI_Vfz0(!^%oC-vg6iYQ{w;t002ovPDHLkV1hMBdddI* delta 803 zcmV+;1Kj-j2D%22B!4haOjJdf(4cB+Qb9Q}#nr5|w49ujgAfo9&EC!b|Nl5BIEWAs z=zw?t00000000000001vyy@cr000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0|+%qF1+yo00Ny!L_t(o!|j$ka@#NvhA9-RLlR&-lSZaR6@Ts$F$aLWH~=_Y)RM-4 z)8+`dipv}!zFZc1fsiG*NJ{REI3wcYJ_tzvpJh`_@gHJV%+u=?d`kjV2kSHd98xuA zpdp!pAqSoWc7p_UwMOyDUl(iS68kXosJJXWpmu{e1FY&!M8N^@zRZ{{913&1`_OgA zkyxh&kX1J)!hh)Y1aJ_Ck!DpVkn z07#mjD-VD>0W(nCJQI))idfl6|15)3g=_(!&ENr4G(-govCJ0olz;$ktS^!4;j4lt z%8k5v4uA#iYD;4@b_=uz#ZS~yJc~1sTO$zHzOBz&p?_a~{6Yl8^AJRAENWP8g}HkX zct=3ts7yWDp&U_YM6-Vhg+RT@Tu89*!>4q1@W3&9UYb zBYJE%R}Mq~$~?U+iY&j@os}A4Kll^uII36jLOlC_h;5o|4)!;S`nvW{hO zQ1!Ns3e&}E@SR-QPCAVP4 z2Ez)WBY-LF=OcqbKH)-|NznV{$Y8*w_O)KpgTZ*O-Z?r^1cPDTi?hpi7!1aB@pg7( zFs?>qFs=d#gK_Azd~KS?*Y;L|EZ;uOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys5D*ZYK>)pT0M(QL_QeSQ?lF59AjL5;=1M{T|9}6@-p!PpoB#j-00000 z007+n%b)-N00Cl4M@0Xn2lB-L00FK^L_t(|ob8lNa)U4og~9CsVo3KfCYy891d)Q-a@ zONhE3370A%5Pvv5KoaNxdItbDB>|=|383`p>KDLB*d+k%0i6Pb@1TuL6v$_dMTXrS zjWnfpw{w=^<;M;@2Dv4l!42CyORVgar=8K`90JNapq1QX4{bYAp{1n2un9YAg&nj5 z5EE=(j0K>Y-QXZ#bwp5iDzalzFMwTvT+?(6P?>^9b$_2Pw0Kx_%25JjxgE{6HTv6G zMy0norj9b$l!e&777JblH0f%PCL-mY7KEY}-A#$Qp+Zij|r^c@Oa zgn$M7h-8*#F`TC46Nre44{jq`5>^75YwG{v5q}WhX%LikI=bNE00000 LNkvXXu0mjfQ~(F3 delta 559 zcmV+~0?_@61;_-DB!4haOjJdf(4eq*Ac#m9`0!xx$T-lLC=d`3$k@pE`1m*|IC>;2 zO{ z0|++IC+$lB00FB>L_t(Y$L*ERZi6rk##y9st|Q2HY*5Mi8h@#B*{xJ$XFzJ+WACsB zo=y0Z(51WeR38wMe>nE%FCxpH@#uKj0o=_O+MKF8`GYa~p!Z3jHWWNrg4OLvm{bX7 zfzle1Km*Vk0N|+>U<#1{dY`WT0fd7t0Z0$X6u|rmQn*BceC~0`Y;&haoKl+8F3ars z&l6}2RLi}B(SLECTCDh#$DQG07Xr#FAeFn?7K&n|c-(;?5js4|Hc)6lCfGb13qUoi zL4m-k2*cB{NJpex0KNjb#OVmYG6RijK7VlWu=MH179h*{C^oOH_l^$sKq)ULchcIz z6X#H7<@S@D76+kpJ8Qwb5v-bkvY{Ta33Cb;VXXiNrhi2HwK`s9zXeLuML-n*C5p=lsg)=hB#E{V1*K1alSCP3@y$E1o$Y~9B+N(VCJ9+043qW-56Ic zfWnvKehX02@0;HGuoYH3y6gutwWm4NcnJ^wI|i(hQlWs%}j*G&Kb002ovPDHLkV1k_K_O1W` diff --git a/graphics/pokemon/geodude/normal.pal b/graphics/pokemon/geodude/normal.pal index 29e9e74095..9a8bed7193 100644 --- a/graphics/pokemon/geodude/normal.pal +++ b/graphics/pokemon/geodude/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -106 106 82 -65 57 49 -197 213 172 -180 180 156 -156 148 131 +74 189 131 16 16 16 -205 222 205 +65 57 49 +106 106 82 +156 148 131 +180 180 156 +197 213 172 +123 24 32 +197 49 49 +230 74 65 255 255 255 -56 40 56 -136 16 16 -232 128 120 -0 0 0 +205 222 205 +148 156 156 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/geodude/shiny.pal b/graphics/pokemon/geodude/shiny.pal index be09a9dc1a..35e5085a84 100644 --- a/graphics/pokemon/geodude/shiny.pal +++ b/graphics/pokemon/geodude/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -176 120 32 -136 72 24 -248 240 96 -240 200 56 -208 152 40 +205 222 238 16 16 16 -200 216 200 -248 248 248 -56 40 56 -122 36 43 -229 96 89 -0 0 0 +156 65 0 +189 115 0 +213 148 0 +246 197 8 +255 238 49 +123 24 32 +197 49 49 +230 74 65 +255 255 255 +205 222 205 +148 156 156 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/gloom/anim_front.png b/graphics/pokemon/gloom/anim_front.png index eae8b8e89fe3638c66dfd3c043c4196e06584ae8..01cd7216ba21876b3e0c9e3e8325b5307655805a 100644 GIT binary patch delta 1093 zcmV-L1iJg22-*mcB!35VNliru=Lib}3l1jk2hRWi02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t_U^s^y+QwT0L61Di#Zt0b4sjIIfFSES}6duT7Siyq|JMSq)KXg5HU&+ z5D=^)JeB|e00Cl4M@0Xn2lB-L00VwWL_t(|ob8q|Z`wclGEI95GskDu1TBVsH zbl$_D zb}nE3w0Xot;HLmw1#l(cF;C>T8z<~Vi_|EM6krz|XMgHphizuDcH=_}^K-zUg@}Lz z-fpr(*73ZSQ=$cB1kvrT?oCAn)|h(U1c9Ogh@n3^Fcm{IJPA0;2!>#*)N#6=h-SxY z;YjlW5-@BVcUb~0uQhQd`||?W9v5QU?_f3+001^9gL)Eok=P0df*}$RV0~vVc2s6$ zPzsq#B!2)gBue&s5(@(tHR4Ff=z*OCA_VvkF7mubZfshK1Gtb8K%es~&Ji%F29P?* za2c1s@Z*}?>HtANjDQ6E6hJ}GBQWrN|4Y!970e_M^6zKoS>HeFOF-|C34?ym_fM^? zKazm{JZ{36hoS${!V10XM12H;8P*QpSYytEL4TMWF&LU+zOPx#W$W^Rj6@MB3P%w;IB_SBGd^K07=z^irltH`CKq2 zCEJd*kSkRL!@RX~vCG?xB*6I}!7y)V@_%-h1|p+}k0b>m!=DU9+!v+>WWuFO+X&~5ZkN^l7_rvg18b|=J=zbQ0 z@$HR;E|RSO5JE6sTS5B$F9hQPfwTe-_qHVjBNafwu$Bl$W{iSir3*$l68?~#r9QO~ zhlRiv4w>o?S3uUb7HgIWxqWLJFk9*mYa4hf%lrX>XX0646^r9H{Z^=s(MgjY00000 LNkvXXu0mjfIDy!^ delta 1030 zcmV+h1o`{g2%HFzB!4haOjJdf(4bf-0E0Og&2vhuQaKP15dXbF|8oHF=(xpmDT_H6 zN@{x$F-m)bq_kSaoTSaUF-~g$000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0}Kb{l_+%p00VzXL_t(o!|j$aYui8+fG>j}2oJUKAFvw#fPa(>UE^FJqcD95j@vOZ z?QS3T6lem1ruAfuGI_B@y?c@kSvpzn7AVBG2O2a7LZR=jX?!|aE_BM^HyGph-Mgnd zpY9`M9nUp3vM*NWbJq3>BAd+>vetHbp3>}Lt!$;0*f`js`;65Kk8SkSq&XatHwYB6 z*?NxdN@A$y2Y(J5zM*tCkF#tY(0%b+O9A{wjdivt&C|Uzn%|=(8v(YM!(>ja*?D=k zOGV(P0DJ}TC16oY8M77O1U#>7;S4*}rTNmUBIXx>$yzo63A{d|do*WR zMX$?RN(*APOomFQL-f9DSs`Pf*ml=%UU7|Ije{*)kzF6 z9mn%J5-3{5idVU`m32DC2XUPDP%R4p04L~xx)aB?SPBS&5fTt!eXkMQD#JDzgUk&Q zfEW^8=RsM?%INoFrf)z`t>k=W}xCuwER%2blp(IKSo`0fT7(>5~kXaq|{G zuE>!N5Pt+j3rN5_0klXG7)Md`GnmK!}JxP4&Z5mVfqU{@as4LG{Nwdd(W5OATAh+fk->Rm52)lTL^|JTOKsyg3)F1 zcYn6;XoAtLYj<~})>H)pF0}#(^i{#=YA;it^}&b<#)&pVAK&H+!Kic{$JXsY6%6CZ zskP#cA_30-3WjmWT1zfpG!Pkc9Fi1>41Y2ZabFl3kO|`kLda21s~@Tc5+(#;#>a|* zgnX2^(x$=W$w1~o62L2WiUx8o4Fu;JFMl~3(@7ZKN&^W1?4@`Ag#Wm3(M3inM^6aG zCpSpH|Ak;YATUZjz2e?>gZVv!N^QeFx+&(2xr0{+SRlv#AYFIj!mZe!!?l2 z^I(NPVC~IQsIK&f%~RZ!RsMj$KjL(Knfzb;1~)S>b8~#}zW@LL07*qoM6N<$g56=s Ad;kCd diff --git a/graphics/pokemon/gloom/anim_frontf.png b/graphics/pokemon/gloom/anim_frontf.png index 00203a39230da7b23d79531e08ca0d7cf767c207..b602528b71ff78489fffe9c2435910f05741a500 100644 GIT binary patch delta 1087 zcmV-F1i<_02h<3VB!35VNliru=Lib}0x!Eotk?hm02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t_U^s^y+QwT0L61Di#Zt0b4sjIIfFSES}6duT7Siyq|JMSq)KXg5HU&+ z5D=^)JeB|e00Cl4M@0Xn2lB-L00VeQL_t(|ob8sqZ`wcbU7s-cEsN*3SjS-aP5>3$jirW00549XxJ>3 zYm}Ubym-C`z*Ycz2~hIxH6iU&((a-r#(@Itam$+1Gk>!CMD%FWF61LX!<7K>2}LZv+JQpuV*qJ1RZUFy@78AUI$^ zRLxf?7JnKnYRrI;(dT9w2moN;naHy~nwq#C2Vfy%&IgR$Fb05*698(V0+Vt53m&)V zE(st2#0Ws}p8}{P^8gH8*Zu4bWCcA9`0U%oWzlsn1`@4Dwk(H%=5`95sI zg!#Vv%zz60+f;o3ybx;p+s1@3Z|J8-^hUav?|(}X^6(>Fg9j)Sndh+B(8~ZIbRfJd zI5BT@~V4j&r`iMi3AUi4N7$Kd9`G7Cq4s*(jy}kwj=Exz$ar4EX>1|p9 z@>QO>O)|4A%~=kRBG<8wb^K-gL&4CR^^{=5@{LlZo)ioKk3*onAc;7BkuIdY>M z7mO;7f3s~fAsE$zSRPhdDyxFQ4-*9dXsLoxO?*sk+~RsnF!mB1TJSZG1Y=e;%~%V$ zQbjQIJF^tKy!Ai=jQtS|eTvh!yEG6PeSdf*Ef59vU?AeY&=Wwxj~fU=cX43MeAPhw zlpu`RP%#jnjgk`A)9fGc+b268D41bPiq078?2@1IKp@i@=ApM_w2-8R5Q z()AZ11mlI_<=_88Fs=Z|E3mk?4Ivo000@S$LNE#w5DX(dM8DvkC1Krud$PTvN@ll`3*!io6BcuK0VJ^wp=UGv=TcX7<C8KK4X|yj}r$0zM8}4 zZmrp+>_Fz_^M3^bz6SV9fU>7=7%T3xVu6e}cQoJ_Jg-Fe*vUsZN0AmVzXELDatN$| z9Hj-X$6Hzpa<-!ZEj>(8qO^iQT?1s(Up**M9ABgg@U#|e$qu>aWvPsOjux<`I*9?c z>v~>S0R>v9c$EuBTc;y@5!ZbO)sh4NaDp!AJ8|U5rGJ1R7$X4z*7q8*t+E`ObI4pH z0f-^dbKl3e+Qyff3nWx5z)b=U0^*yHd9fg6m-piUzQ`P4D#Vo#2w2&>~4-5=GI^V5%xuNgx#8Z|^!$bURgmIYTB4ri&=LX?LQz0?hHa z2s06e(SMgVR#;pn55-&rRjeJJw`W2GlQ7w0Ft%iWzdD%5AITcvkgCjl#+R)IYXG@t zNCfw|W7aHK3lK|f)foSSVg2#7#(+hf^zQ?Vi3QbkAXKBPkebKca%3MVgxqd;Xf#X% z)KFNvOe(W14I%|dklWbCHvWIXut)ubV8rsnT7Ro=3WlEd-5S3z1VeWezv1$xDHxi9 z*nA1Z1jF_}f?@kBKk(}~01UzKwR_K3zaTCcnt>=gz?Fy#244w=ty&&788iLWQ8+Ui3*3<<9E{p;Q40OTh86Q)h55S5E#<4NO0Keud!Kn0H*D>ut7Yysr zt$(%Rj-mh|{s@Lu=B+iCFB*u71rA9HL`FOsh`cW>1IUDN10m$FZ`2QU0|^s?Fc%Ze zKteH2Txqjl`e-1FAPL}=J3|AxQwD-_P1c-^*)$Aqlz{{Q&f2?wDt?@|(M857M^6gI zr*@Ej|4YHRM_`c~Zx0lJk#c%ynF{{2`2R{G+002ovPDHLkV1n~r B!MXqd diff --git a/graphics/pokemon/gloom/back.png b/graphics/pokemon/gloom/back.png index 52d9ccf997acab17aad4a2fc54104a361f38afea..96cd7ffff8de798bb530e7508eec7dcb76a989f0 100644 GIT binary patch delta 769 zcmV+c1OEKl1(^nrB!35VNliru=Lib}3j!}#OXL6m02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t_U^s*)oSLfL8N;adrAQ2v}(PJL5pe_b3p*!dw(Fb-iws9Qc`;$DN+a! z5D>5X4?+L{00Cl4M@0Xn2lB-L00KQpL_t(|obA#vkJ>O40N_Y1(sigJFM*l8j(O8maO z_u|B|p5lKEfPb66=Q(eDI@^85j68o=m#4sMc5%Icn-`-o%=tJBt3{qSFZYorf5lJ1}b)bJUu6b1|v|zzS#N!I%IH z7Y2Bx0BHaOJdXq~0m>4L;`Nfi5SFSt@QKPBJ$kflS${tPNPu$yae%K7I12-~T`K|A zVT3Dz`Dg4wOn^O-d_LLlLAo7b4C*QkPa zI&=Wr%yO_$OH>|2jKaq)HHT9GSq1J9fCfR9NwWt{0a6o0%0JKz&_e@6oG$l&ubVY@hWRQ;l_rTITm#j2)+p2FzC-RO8~4;~0!} z@)F^mG3F0c9*@|35yn)LP?g8atY`K(`d?9&r8@<@%*sW#{Gznw{}6fX5UAprF@yrX zIL7@0J3Jc~poSY)TMfjT9)N9v*0m@j{sZW24SMkP_=d3tNTmtZ1?XzvK7KQR=pBm3 z`W$T9etGw$I)nl}eUfKjoddf#2AlflV1wJ;0!VQR2D?pM{13IB{C+2@;99K9ztW23 z_5`?Falf%lAgaKB6vFuP?Gq5Y(yoA~_y_SDU1Z)m-mShu00000NkvXXu0mjfm%mfY delta 706 zcmV;z0zLhi2HFLXB!4haOjJdf(4cTY0ElQH@YsO3h(Hh!5b)T5*r-tO=(wPGD0oN! zP;e+PP#BP?SlEa_u-J$tfz(9+000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0}KrXK*4JO00KQpL_t(Y$L-QFYui8+0AMvBO5LS$tv!0Nsek9HpB^X#APxRVH~o0>80SsliOcV@?ZK+wxpBOb}Sw8hC{md>Ak0uEbA%$*8n*G zd!CTlt4F)frI9E8oSuTzU*dWO=g&q1Xp@2C)Qi0EFUOe2Ol$te{{&d3UlU(^YU{js zH}p8?0U-nMOn>nC5*K{FJ0}hXAqjM6#vBbFZ_Y+@0BGWj#2W~JUdI6MH4rlZkK_^J zB|ud|a=dN{=s`<&2h!JhqsNL*Eb9Y+@Nf@&n{Ey|dU30R zh)`s>rRPXWK-MIYZIEIvqyo58BQf9Y0k4J32 zh?KgCqkqfeC0m(2j{c*|Sg_L|WmYbh)feT{?7PZihd>u+#t<50>KOM|^6+d_f(CBf z>u&~7t3&aqI0u_gUOxP+523*- zw*CM%Ik3xPuzB_vY;k*80;*2I?QR>D|3hO%e>*&=I=EAt>aVmSx<3K&Ufpjk6R0}K ou9Y(WeES4MF|}*pDgHtH0uYRLQfm8bfdBvi07*qoM6N<$g3zr*1^@s6 diff --git a/graphics/pokemon/gloom/backf.png b/graphics/pokemon/gloom/backf.png index 6f6bb3bcf4c3702e6cc5433e9d57f94cbbcca1b7..b9c476140a795cf00065e08b954afe18d65af35f 100644 GIT binary patch delta 753 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t_U^s*)oSLfL8N;adrAQ2v}(PJL5pe_b3p*!dw(Fb-iws9Qc`;$DN+a! z5D>5X4?+L{00Cl4M@0Xn2lB-L00J#ZL_t(|obA#-Z__{&0B}nXsSL<+2Ub)g0b7QP zCALWTIw!)(+LJo*3Akix5mIxW0#oeCU#N_1T$2w#$O$)6GL+-Ji~pRHiV-pN4c6t} zFYmoO+i@P^e}4@jF8`kAeDwKX_Yt-75NaQUejlDk;_?X}i3uO2X|u>csh)CCQet*GcJi$DO1Rm#Y3j}=!%f@Cr zAtngK)B@0BV@CYozeF%@f&n3c0W*H?9lwXgMH9GiISRpspLpKu`$2b$Konq#AgeDT z2f+@2YJ$LkVg>}U*2?ZdpvP8RnNt{$(XglN5->$7ipZeAEe#1Pg&X1&$+QG%5^D;8 zu(HHDB!8#tOeecMwATYlv2j_VrP-iE>89u~qzpS?Z#{rZiP4*MxhtN>tfZ4H5d$s%rU>F&RI1zNCix-5a5 zlO1qv&^eQJsUJ68;qj& z%X?3<9p^Fr*C6Ed?|Di`FOGJfN-Gb+4nY>>@H`=>Pw0sB=*aWhMV>{2DdZv3rLUq- z1j-Cs;%mfQ%u{+13L(an5)#_r%K#p)p*p1=1m?-PHAg3cA1Bwi?c<2y2v+H53%oM` zwnK9UI>8EQQ-4AVSigJ=yIr^h7;y;8Gpk1-W{&d#Hp3p~LHO{91{O$i2g`sJnANVza2ys4B@tuPN)Y#&5QY~o>g zSn|T|QTmSo=i@Dcj5|i;%^MYS^+TK30>I+j8UlgRW!zoL{eR;cbYSCVR{^~id*Iq& zeyf{^|9k)zI}3a(PZ(DKD6_%326+XNtM3-j#lCo4-GeJ;&+mV=hd@vy&I4d=fLmXK zE7URAz;<2(rVqhtyNT=Xp;NG*_qq*k^}6{gotW(oK(fE}X3APH5B!35VNliru=Lib{5dxg?Wl;bC02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMT5<>|NsBh)zxBRVgLXDtj+>nOli%{e)H&1$r)Qh%(JIeTIdQvU$|{{a90 z0RP&qI8p!r00Cl4M@0Xn2lB-L00de|L_t(|ob8ssZ`(!`$2q7F0cQ#_WG)IcYvcR@ zl5>#+qbqF>9Xi-Y0$CbB<`F>#p_a)DqoG5GoRm>W#U~A(3Rw1_p-oZ7e^lS2MCo`W z(~J$!2MD6>K7abYA9uWWmh~lAQ~Xpv8OVY4%sCcy^U~+1Rzo_DTQkqyVau`(TV1;pND5%L_o|Z-Ud;v+4O!6#Lq87OanFZlNI>vu(0X0s;0d64t;SVSX z7Zyrwfor7}K!86Gazw6dzJ!lRT;;$#O$ZoyoWK4+59zQ)h+HdCoMh-W(q`-iHx1RO$cRqjd zIK-`vG2oC=)0VX+@cAttNWr;_pHr*JM;XxCO4KZkTz2DHDGT0+!*DCMyIE&2#w!V-b)Vt-lpluBXVW@zmmzEIwhNaRUIaeU*erOG z0fIK%Tn_<(DPuX{A~0oeTLAvRsRNf%T$fK_JklMfko9SkVRg=pj%s z_kVdn_j7^P=KUxG4|2e!jaM*xfS>MtT22uRtk5-q(8JOG*9bfkQDB9qrh12aHtz?x z-jNW#}t2$l}D@8@L!&EwBr$ zTUpCStLpK8`+}|dec0HxU)0&QU)0&IUw_otu3uD})-S3}>lf9g^^0oT^@|$Y_KQ^w zuH!J1L_xp8er2eupLwb2gBjIU--OQq7enzX)gj^eTB4x?5vK&D_LFcCIU|~ z;J4}vq%XzA8ptjSWdR;XIpDvknD;$+@idD;r0+)+4tNahZy0-kz}@@!swCjZ6n_p7 zxF6wh_@NBgC$LDnSgA*N5X!IOxe3q(aKVI>C?LeMcxg(Uq+%EC=i( zx+R$aUMkqOCMguIFgY;Y0`ohi=6^-NrfW&=!ozFY4SX5^Gfx5*TEwL+2)OzbK!Ypo z8O%cA;I8^4R{<=F!0KOs#02bMuG5hGQUbKfP?TmCwuo0cy{pRZUspO^+ERr)GaqK2 zcA$yU;+E6U0PO{ z0}LomL=`Lm00dD@l=#!`*cLs&FwOVz_x-rzy{Bpa zhSg%v|1#>GcMhw#Rqs2_}6$!{2R~?zlhJ+8r3s(;gBB zRlAG!S^C%pn18zER6O_4ft3JBKv|-7LiQXml|_l|1G3L<|3V*N7ZPc?WG?_kiS0wk z16xp%XdR^j5N9tIB#{SJ0!0AKjgQt3NeQ^Rx(e(Kpda;%zos!iVGv|7#7XtHkc&0m47bE`J5#L8#OkI9DnJ0?aPseR8GC z1zaF8&wwC_2*m7_S zAVG<4oswPs>}emLpB&vxG5{lo(=$>KK)^d+`|dYWKK^LqQO6kYl~S|Si4jPvce2Zw zlpg*ZYkw`-Pl4MLrS0MKwQbn)b`5kdB;b8k*){=FHbTO~uSpKf7m#eqfa{G?3$P}i zIqyw=M<4b>SRk<8EbW0(2?P^?Ycj$Q%3n~am$~hGg9@|*!K#X>af85+u>?0koK^1(kp_W4hc@B+np?-(MIR#sny$5bf#Kf;2Djfw75I_? zx*U{jI-Y8M_?5Pk8C}ix%7E?T+s>Z|d}5ZN*~ew|vGjG>F>t>v#!N0Nakj^jdtzvC zj(4DZJLZHLrx+HDPy^WipH3FN!hPAb959%KOU;pLB z?=r3%O4C|5l%}<5C=F}VP#PwtO+%?)xrS1|at)=S1nY*C7tvE>B<|fv*NGxUMDwkMylk)>Ww7J&hw6eKuH33VEhJ=9M7A;^xM80pugTD+rRP z24TbniLiRZ#0A```sfzwVsxt##hclOV1ZP1_K>z@;j|==^1poj5 zFi=cXMT5<>|NsBh)zxBRVgLXDtj+>nOli%{e)H&1$r)Qh%(JIeTIdQvU$|{{a90 z0RP&qI8p!r00Cl4M@0Xn2lB-L00dDw@OkNlb9XjN!j6y0tY4A`KuWsJ?d+rQ?xw zvlT7+072BJIS>o&%bYKq*iB?|;z^YhSl7tSd1%Ju_ggYOtZ*l{;yu6&pJHY9W z%fNM($y-gqiqqUskdr?GEsOZY07^;RDomn)&>v8lt~Cz`yidvBl1iGB(coW<*u)ZlO2m}Un6TYqjR&tI$dI;3)eHzgH zRDYnoc|Ps|96ERK~YmZ5v9HZ5v9H?HWph?HWqGX@3o+-n52NZ(2jCw_QVNux&$GH2~X&(gbuq z#|Kk2lwmz!_tp&s`$YpV8m${j$m%8RBvS2wN34FvbRzXKPxvcQU+xwHPZaQT{e&3` ze!d3OG*J~`X;J{;o0|PF0RBwH!1MRx8V4+ej=Ki#-lta;0Z-)c6g@ml@O}BA3V%4q zu*kbusYm#x6rZJY6QBuk;c_8Rfb-|+(v&#E@onm>SMk8*@f$FK3z5Qs?{d}h+$06l z$3+~C4h9xx(WXJ`B}@z;?lFJ+{>6zilZKCE)MM1l)^ZU7h6H+b3&82q7-a%Db-3G_ zY9aiv{@StwlGRiET) zfJGTt{SAf5l~utY`SAF{sy`4c6OO`hnX Qv;Y7A07*qoM6N<$f=)YC)c^nh delta 1193 zcmV;a1Xla43cU%CB!4haOjJdf(4b<2%{e)H00022&Hq}g?yOR*lsS815K_%*v|?gn z)z#Ji|Nj60000000000C_a3bP00c-$L_t(o!|j&6Z`(!`z$vnTGxjJm$dExiiHzee zlrA!gM2igy=vdM|WUho9$xT2}+1^;Rp`EQr0m(OKbGkHR$A9J@>${Ukkw;SQ*cN?& zAnM*v?~8Z$o~Hd9q=UX}SDLt|z3@*_n;u*ATr;rm2Q7LU^gT^G!GmT3(Gbt!+hDVS z|81k*WuACC0phf-_d!3Gj|O8iUriv%}0@8#-pRgLB-AdrN1VmNfMy$=u4-!CP!$o(M zvvxBlBnJWj=7e2UfS;hMWM*MdFX8KkTgN^IA0q(TuC)h& z;ok+k?fKXP=+skmI_zqF_*nvGPjdnla6(w^{z1rOgltoD&Q3_%cZc;1wx1GyXUGPG7;7uc||mWJ2# z_kvy>W2vy>W2O9_gG(jrAeNn3!Tp|k;$ zKjC1?hSE|BW3*`~&@Wnmet*+YEZS_suua(xkV%_oOx={1xs9IS=5luc_#lDrnkP&P zqvH)Ar-`}&>e@MAJ!{ZgAww@^3@CeZ)PLZBx@ovm#T?F7~kfByo$R7InS6146w__0YS3m5!+>| zkAY+M$6XDw@Wi0?n61_AG@?PbG;tLcwBGG1maZ zRUmx;NYdJ|i7Ejlztn(IWki%}7CLg%=Bn)ewJ6iIEmg@=`dHM0h^sF*-3JIC>AoO@ ziFy!bS}_sVZ7#!EaE66X#9)$X00000NkvXX Hu0mjfUt}ot diff --git a/graphics/pokemon/golbat/back.png b/graphics/pokemon/golbat/back.png index 192fc0409df782c37dff2d292a3bedfbe79568fb..5fa24a03ee64461f82e692dadfdcc25fed1caefc 100644 GIT binary patch delta 625 zcmV-%0*?L01d0WaB!35VNliru=Lib{5-4nE|3m-)02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMds$_|NsBh)zxBRVgLXDgVjoEoGCGL00>F||E#3ubANl)Qd-3+G5-Mn{{a90 z0RN9h%clSU00Cl4M@0Xn2lB-L00FK^L_t(|obA#vYQr!T08kHx<^a7wp+m(yzf1)H8h<67w{Klg4k`*dKo-3YBo6$LFm8X7qz70iIAL+uk@QN4hzX(|%&ZfO zUWt^c<$^J~IQ=c=6T;5{Wjah{@qQ!`9)WccPjw0UarnYL9N_n{o_TZFVURj-`(QwU z_aT@QX`(@02?VGElmwo4GjD5|x*qD75J+H`3hXe5EPq%(LrbneK^FsnKaHW~rmY$@ z#Ek>-T>uMat!!m#fk5EJ0XGB!iT?~rL%JQ`5u7@&Q| z24tCR00aY|8~|$zmMws)570rh^;jK4*#o|tav6B98sr#Uhnu2y)r00000 LNkvXXu0mjfzr_Bs delta 557 zcmV+|0@D481;zxBB!4haOjJdf(4aVQ5D-WR5D*ZE&{%MoILLT_xL9DQFgW0_s9<1V z(9qEM`1oL8U;qFB0002AxBuq=000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0}L*wC$Jd+00F5ghWnPLVuK~mHHDTvbqz=z?y-~ z9ZK>ARBV;Hc52sd{jvItu`iVDt&|%OiJ$MzhexAp{Kc4FUb+e3vAs+=0G0%uw{KlA z3Mz>@AU3@U!jHUI5Ndympa)3IsUUt=QS?&qgm9rA#O&jnUW$;Y?VJ#{Y5(Tim7wQ< z5gjHoe>{lT+;8-@MNA#1*Glr9K?)D1%D1wE~o{>ftV$00679H3+OCX zCy@rE-340_9CR(~g9f_}EPCrjUA0NV0if1p(Eun_6G8vJ=yllu$V%5Gx^Z_>1GNZ) zcrw7VU~!j1 diff --git a/graphics/pokemon/golbat/backf.png b/graphics/pokemon/golbat/backf.png index 2518aca8162d66550e46135b5c4873292b465c26..6b77e39592ec4471c6f788c8fa15d0c0ed1c0349 100644 GIT binary patch delta 622 zcmV-!0+Ick1cwEXB!35VNliru=Lib{697QTX8!;H02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMds$_|NsBh)zxBRVgLXDgVjoEoGCGL00>F||E#3ubANl)Qd-3+G5-Mn{{a90 z0RN9h%clSU00Cl4M@0Xn2lB-L00FB>L_t(|obA#vZi6rs08oZV%>jCZ4jnu6091++ z8ub{FLF$TZ4;dID6Qw7Bt{K2^fQam^L~^M58)N@avbR$HfJpxH|KG-*cZoDge+h>3_X_>w|Joq2B`%4LXq6p9F+)`X;BnV3!IUFbFN!K7T_?u0TPf5x`$&&~n#S4I1Lk zfq3!+3zn^HWom&ypsT2X8v=o(`&1QxVhs4YKwLKf=oKKsT`d)mcFIc-P%afXO1a<` zFb4t}E&rV2!a;l+FtK0*1y7_TwOP!0dDCraT)^<`|%T#s*}W zYykKppd0~P3)U@wY6#FlwDn9KLpcBwH|5&*UNy)uxWzw-A1?Qw0Q<>lCIA2c07*qo IM6N<$f)qmpm;e9( delta 514 zcmV+d0{#7m1)KzsB!4haOjJdf(4aVQ5D-WR5D*ZE&{%MoILLT_xL9DQFgW0_s9<1V z(9qEM`1oL8U;qFB0002AxBuq=00E~-L_t(Y$L-RwZi6ro0MMj-fsHI>ghWnPLX@bL z`V$aY-HBvi%|PZ3CHVp>wo3hj_7nPJ^%-MdDA`*nHy{!}-+!GCPbRnci!r~xbQi#5 zcb#$oED3sV-}+z_R1)<-q=O2=kGxnAYJZDh07%TKAbwv_3{vofaG@T=?BnSmMM%_k zP6$i8zxi$>=p|r8hsn&J&mzGskUspCPQmU^uegQ-^vl;hFHZ*yLI=J-4ao30IB_Bj zG$?Y80CRu|HGj?Nt}bNgYN#?eY@Dj7kNLQm&{4#DSP4 zTL1+D8w=x(5FB(Xo1+H%9;^oIWm9)a!g~>*)@9iOs8kcd@V@AE*#gKb z*Co1f4^jiQ2!nVrz_VZh3CgxHAo~SK2i{}{_T!*+z?}2Wb$K?RY%oCQ^bKfRSpkSf zKsf^D7R+h@`4FH%)Wuqjp&S6ubvcVBj~X->+~S|a56K0$&Ih8LkpKVy07*qoM6N<$ Eg7S>v+W-In diff --git a/graphics/pokemon/golbat/normal.pal b/graphics/pokemon/golbat/normal.pal index 048e118a79..6614cea502 100644 --- a/graphics/pokemon/golbat/normal.pal +++ b/graphics/pokemon/golbat/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -98 131 205 -57 57 123 +131 205 180 +255 255 255 +213 213 213 +98 98 98 0 0 0 172 205 255 90 172 238 +98 131 205 +57 57 123 +205 106 180 172 82 172 148 57 123 98 16 82 -205 106 180 -98 98 98 -213 213 213 -255 255 255 -0 0 0 -0 0 0 -0 0 0 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/golbat/shiny.pal b/graphics/pokemon/golbat/shiny.pal index 78263a17a6..8b50ac92ed 100644 --- a/graphics/pokemon/golbat/shiny.pal +++ b/graphics/pokemon/golbat/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -56 112 16 -16 72 8 -16 16 16 -136 208 88 -112 152 56 -200 120 128 -184 88 96 -168 48 56 -224 176 168 -96 96 96 -208 208 208 -248 248 248 -96 96 96 -0 0 0 +230 230 230 +255 255 255 +213 213 213 +98 98 98 0 0 0 +131 213 74 +106 156 41 +49 115 0 +8 74 0 +255 172 164 +230 115 123 +213 82 90 +197 41 49 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/golduck/anim_front.png b/graphics/pokemon/golduck/anim_front.png index 9274e4ff6e312fb8b5dd3a7c4b0c733567d117a4..9dd5616444b85526728b31283124f3202cb77011 100644 GIT binary patch delta 1330 zcmV-21OV1ZP1_K>z@;j|==^1poj5 zFi=cXMOwXs|NsBh)z$E5XxV9<>A4DLoc?KR25YR7M8 zG{>zpqf`k5B7b&I%e~*c_h#n(3xa?5ss2VzQv5Cl0FmL>3(z_cMNmQQ1quTANrr%= z5WxHZ6G;WYy&fU}07(%L&t^#u8X#ri0hAnAQ8Ev(2ahzt*wPJ%*SEhx69{Mpu z0FQ;BfkTv+e&7msnSNY)Ed;AC&XV`H7~?+R?W-s3lYhH@3!_()9~a#30?H@hbb*_^ zbORB}!|-ImxW|Vm45ggSPEbX)bOGxhB%4clio3{D2SJL4vH9U+$yk{~TJ;l^#uP6qqzxy{kv#)@!)9cLXhmy0MVi}O6CIctb)FP<`_&SOPu*4+; z0A3;%+2s%by6m_+28N~S-gV{ey}Ej^t$(+5=C8lhM89^Khrq+nP5bu_5MQ@|#{$jY zVEg9-zynA&jt_8KUGHNQ9n?&zl7$e{S^gK+!_N1N()S9WNOU#7P z>nAubE3L%DY~KQ|%+=0_9(zSUKljd~7Z#9e-iR8r7$%=I;G?dViw^2wg62);x1etl_JDGe9Wd=9xEOB8F$1cEZSa zB1iW+CQCCP6lTh)yTB#JuEdcpFJxD)0kipyiV2((Waq#en{_I>Ty^TYyem-;K<)ex oxJUe*`JoT|KR@(<|KR-a0b5#nq|znLo&W#<07*qoM6N<$g4yk6=>Px# delta 1243 zcmV<11SI>#3hxP!B!4haOjJdf(4a9=YKyGZ5D*Z1d$isd82|tOivR%stgO}5)pKeP z|No?pxF3+U%B)E000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0}T#^QlXFl00dG=L_t(o!|j&8Z`(!`$9bS9O}Z1|A|oFe1b^^E=>!25TA)Y1rRi26 zDUdC26F?n1)E%<+4+xwN4LY>05TK0s4@B+c0tOs)Fp^0P|CheIBaKMBW2bf~O30Ss z`|!PYckjnH2>#uN|IIp!>1Wsjh=hK;K$r!h2smV3pkP3sv=2xN0q6%%q#Qs6Jpcft zMZi3pWjPptMSq0{(CdIjgdX4k?im8na}whAqp!#X0iJz`JKtKs;~|*BDXm9-;Fxw9 ze;;{01hWU{=?9Myl@GZ4@)dsf(C=aJa{YR#{2|c#y525nlOs1!(Ry89Em3)5sOnnE z&E|?saOX+R-$-0Zc|p6#V+X;CDdOt%iA0QYhipx@*#s!Nn`00bn4SGNfHs;0 zba_m(CV$UO8O?5GgGCcH96rB>2GE-`?}a=FPg9(gCbIK7rY@^}LFQnF5uGB=q@fXHQl!j3ed%RF%z5T#)RyiV)%nST$#1;?nfEj{bPwm)`r^w*rK|Q+JAHp*4j+}EzW%~HdxL{= zz5L{Uk3J~ZzrHd}Ec30ef2&LM0)szky?=gJdR5S%uD9iCvswCf5ms`wxst1?Z~O6iV0JVJa%+aW z!enOu!a4y5VDvD9b|wuS6Eo3Sms*93_$jz+uPc^;g{=04&@C5!^tNt^KDS@7aa zTZ+`lH5|Q#NsPIffQ`@}4}+NrAx1G?RCTTe1f-nvJbr&21C%I&j>77(Ug#Jd7T zpW{@`PON~?z;I{$+l*1kq){08PE_WYS%)&R`k=5XC))=`l)I87U0%rjbpzPVPjpU@ zPLNqgKn!oPOS$F2&1iN4VXGekx5VGk5BR@+_)qGGzW{;bX(FLB9w`6-002ovPDHLk FV1mA}Uz`8{ diff --git a/graphics/pokemon/golduck/back.png b/graphics/pokemon/golduck/back.png index 1e1b774cb2c4470006119f0d87f47f82fbf2b5cd..dae113e962f516634af0cd3cdf6e2dad44770aec 100644 GIT binary patch delta 745 zcmVTB!35VNliru=Lif02{=Rg-sk`T02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPlxQ|NsBh)z$y3tlk(HivR%s#l`lNl;(4Lm_R`P0Du3K-v4T}|6+U9I8bO1 z5D?!G*ZKee00Cl4M@0Xn2lB-L00JdRL_t(|oV}G#ZrmUg#<@UXolUErAh(K=3#95Q zJwkR-HpxMv$pwZX*@uTwcU25{H;NR7^2fx0?dht0(#V$i@xAZ82O5O_d*GM90h=R> zDgfIf5^sJDzklwIC~N|7BnN(dK^Pv_a}d7qz*ep+fOn{p3A~6Y{^Wlwz7Fl~P^0Bk zTA(tB%>eER1(YQ~!7RlGRfqrw1^n5+h<05QPBnoTVzAKF%MO3j7T}No(9kH5)B9gC zY*z{JkJ`V~Spl_zy{GKz(iH1W5r0Zhs`b|bXo|oP5`NB|#P$0SlJlBAjo`WlZ$%4yQFdi&IDQf^jT=FC05IBto z3{M{Yz9eGC21bBX016^v$bdlAiA{ZR+T{^M31ZU%$c?j7v9stf19I5(t!T7d0IGXu zYCt#5nce--zO!pU?vTmHMVKWM5XYBI)P&C8^B7y3Qx88Sy1Erbg*n`c#9AS9iLU*- b_?Phq|EW10faiu(00000NkvXXu0mjfG1*iy delta 677 zcmV;W0$Tln2E7H4B!4haOjJdf(4a6-h;X?05D*Yxc*xj5K=}Chh$tBNsHo7;(70%5 z_{hlEaCqpLn20DCkl6UUDNStv000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z0}T`ARLw~M00JOML_t(Y$Gw$5ZX6*L#zFW1Fwi7T1m1pGLw{vyCBwYlXNcV8I+0S_ zN*Bo&Sf|Jx+{MZvB5m)$FnEC(Hl2}HGa7#Lz3=^D7NK`v_~w7W@yw=(!1j#9r?7`_ zH)j-%5jYbA-`*e$ul*Rr9|N$ZeFX>(MKXa`G2#D)pPX)W`*zIHdPOZL8pRfX4}<_E z6Chv_;z|ibz<+}Pe;ICEyU&PMjKH*E9;Q$ zC4pl4EL~Os9BUUIkzR{=kd8blC+I-T>%$c{g#TGv)umcGiK30IO;Vhx>_V@`D3<9+^d1sfN{sp)|IGgZhokbYGsSS+00000 LNkvXXu0mjfWvMh> diff --git a/graphics/pokemon/golduck/normal.pal b/graphics/pokemon/golduck/normal.pal index 9caf6c3b4d..3470d9258e 100644 --- a/graphics/pokemon/golduck/normal.pal +++ b/graphics/pokemon/golduck/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -49 82 106 -139 172 213 -16 16 16 -123 123 180 -222 24 24 +90 189 131 255 255 255 -139 0 0 -255 172 172 213 213 213 -115 106 16 -255 255 164 -164 164 57 -213 213 106 +240 104 104 +222 24 24 139 0 0 -160 216 248 +255 255 164 +213 213 106 +164 164 57 +115 106 16 +255 0 255 +164 197 255 +139 172 213 +123 123 180 +49 82 106 +16 16 16 diff --git a/graphics/pokemon/golduck/shiny.pal b/graphics/pokemon/golduck/shiny.pal index 34873747f1..5a64d8fe13 100644 --- a/graphics/pokemon/golduck/shiny.pal +++ b/graphics/pokemon/golduck/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -48 80 136 -112 184 248 +98 238 131 +255 255 255 +213 213 213 +255 172 172 +222 24 24 +139 0 0 +255 197 197 +246 148 148 +230 115 123 +152 64 64 +255 0 255 +148 222 255 +106 180 255 +98 123 213 +56 80 104 16 16 16 -96 120 200 -216 64 64 -248 248 248 -136 40 24 -248 168 168 -208 208 208 -184 104 104 -248 200 200 -216 112 120 -232 152 152 -136 40 24 -144 216 248 diff --git a/graphics/pokemon/golem/anim_front.png b/graphics/pokemon/golem/anim_front.png index d9aebe6124f3e9026246537276894598a5ff8528..c5ee02442431ca077cd4ffc4bff48c5ee9b996e4 100644 GIT binary patch delta 1389 zcmV-z1(N!@3V;icB!35VNliru=Lil7GaZkHj}8C;02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMOwX!|NsBZ&CPRjbN^COv;Y9Ky<&@$L1JnkK}rzz-hYeLv|5~tQd&w7{{a6G z5D+qO$jtx%00Cl4M@0Xn2lB-L00g8-L_t(|ob8q|Z`(!`#|dQ0U=ViZps;|B0-FRK z`w==6MMe)<=y>wxqb68taa$OuNboCI0$PzZiPv{WO1h&Y z1D%Qjeh^53?|-Me_wG*o|1Ik|wuFD}`|{@R$oD(VJMsFAttKfZlDKhC zRQ@=Z7t{e8h@c)Spql8EGuB-JSjIu007eUR;mJH6XBSK?0o;E*4(NBiKI5DzV7AD( zzih*f=j~wBKl|9DWu*Qj@WH`#p9Mtp`NiYCGD+^4+OK&Vaj~o+0f^!#@;Lr6{4`FH zox5%smw)$+RYSaJ#RzGc4*1{0;imxb!aH{#M~~zC8hG163kz5v4u``a7)1-_ou7`P z;Fk5O9*{0EEV|{-ln>%4qh1iAAgzI_lZg3KN(WRBW*LqEO31|;u+S4K9|L5pI~~E~ z7Vtp>Z2n03@ec$n*z7gX>K7&;Vk$6IK=;6*s(;4?T6$mzko@*NK$vx%MI04(Up*Lr z4G9$pKwZ$1#}M5)4WN)|Na6@N>j+wWM;O4OOGKC)LCR?(bAgyO0M$JgQlPIkZe&ie2RW6`6_AUG+&L4N0!^POV9-MdHj0=?ASb|= zeQpAKK?sPnI=;vxFxdb?+GvP!U*w#oD#8FJpckQb5+WO^1s`eW{8`J`NWn7$zJkx%;#-6MCh!ZsDBaHRbp%2P9VbdDV&;sjV)}YdeL<70a8mN z=Ef0x(GFHSfJjZ_=|6lQ6 z#!m5HwXjS4mow}Z|9Xbq;=e3mm-tr>vJ(Hwq3Gi8^+u5-b%%nw_%pH>umY4rDI-n%nY0)5Hm_g1 z)$2D|i9ckuy$H99KM7-PFPgww{C{hEkv61TiT`&;vfj)`vKL##zx?&zb4&uY4xlq|!{AXVd%ELRy0Ak%8?0-R+y=?-TJ808pMxg=h1!lTCsFpo7 zfRXMFiiR-P0IgE(4wRCIpA7(%c4O@hOkJ*vte&mhfjL9%ALJRS+(B%XX!r*eDH;`Q v@ehsI^bd{L^becF+<7W*HT}bL{OkA!yehy{kYE-200000NkvXXu0mjfK=O?Q delta 1319 zcmV+?1=#w43%UxBB!4haOjJdf(4av|5Q~&SVrn3?y&DFG8 zoQqQS-ix#V0RK`_s2~95D{&S8000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0}U_9JF(6H00f;$L_t(o!|j$oZsSH2hqVO_m!{-7fQHrqui-O>vgv=tgun%loUhEz1O~-a!``{Iwwm;wM9l5T1;nVqGTRXLJE(rq8HruIVw>u!> zye+ANZGdAl&VL;t21oAeHSqRrbv<->`{bM{fV*N146l=F3cP*jxHtJ1YQ!G;b2XX@QO%*$(IaF=tBvu0Kq2dal>xLVs`t3Mg7%Xc@5R0@Z909+~zf5A_C$1Z$!7b-i7klFr zFb?9D_;x=3k|P{DC+_9+a&o%>-i@IF5e@+6^Ld_6ivf2|E~Z8P$a~csfKDk6I>8^* zo~MORbAJIW@^}GMGby-zPt7?M1ilYb!~i{}y$s+m)t(~yymLRr*&{+<11xb#?UTO< z81Uf-q}7j1fTdJmtbooVHzy25% zOmx8)-NdtNH3-`e{>fSu(Pdz(jhmW7?4w8J3k7&=CU?#R?vaM~70~Jd<{L%KB;XNX%Xw}B`+11~v^qBP zC4Vs607}|uEIgZef`*F99A~H(p>`4r3up>9(9X#l8nB-#fbLkH4f12cR0pg;wU>SM zDXX^wjUK{qB)cfH)g9I2x=I*_qXY{8ZCMP!f-#I^y=Z#z5o2w$Av9jWy-`jhj`dr{ zN6@$$P0}(5`#ZG&aFvDct^PCSxawQ)pMO=$UZe5-i(p^m|9{ATdF+(`Y6`pLzZ_w= z{1+qamjAMZUGlFI$}{q>5{fB*SC@a4Q0TdfwfqTK%fCt})Pp8}Dngs5N+_>%`2+pd z@~;v~tjmA+jhiG(`7aWRA^$g7lIOQ8KqVAI{^5u;yp;bUp&0TH(o3@N5~vc2A%B00 z7t>@V|0<#A@^^aELXvty0bTx_;sve%l~960lRua7g8rLBW1UbM$x8m{FXBbHUH&A- zMZ73?%6}0r;+ndZ{C{|o_4+nYyx1cD;OE~`lD{vQi0?8{2iolOlXQmkFR4ANxm~6M zSq6|bJ*n=<+e`;51M2xZIKsq}ydWNPoXcACme)`D^(P zKivcmcbNgCdOEoN1UP(G2efoBqRlMI%#^>L4yt934PdILgQzCv1wgB`NC(Q~)g@`E~JFe=!RAL<*iksoTuW`5Wt!XT{wyegpo dqRanu{0n%6OYB!35VNliru=Lil7GB!FPM-Ko102g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMRT0?|NsBZ&CPRjbN^COv;Y9rtWva#F_dBmb2$L+-hajB&7{Sgdy8U9{{a6G z5D-L98b<&C00Cl4M@0Xn2lB-L00IC>L_t(|ob8iMjuSBug(I;6i6~+?0OACI<^bF# zLssm@lT~H~?v+{5_R0t8%mGjw&Ul4~IYJcCp?$=+g9~RC0)wUN{&(}>8s23PEsQIct;THp;KOh6)g28BkfQvwY z9v1t-vyVN%?|^EW&4)MLK)c$*05MnHeQwZU%RqS7sSo+=5)q+$(BV2Sp$%b4-3{;( z+pu5KzB_==BcMmdHHks!(+>uDjn6CRoPG@OEj(aP8-F~HzKl^f`u^{PpFsvpx8q!Q zXT*p*2nE==LVP|07NR5jexy`YL!LNwT3EiN5PYrFl(bTJj#91MEV)O(3c9j}2%iRz z3R%@T!1`2stt-;RfI`%_3=r!-SdY+A)6u|F!aJj*HimnYY*QQzbd;?kT#Vi3Aq2=^ zl|0Eh^Ijt?=x{Ph1LZsAy`*Y8h=^)~D0DQU;pZXk delta 640 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 U;4IWRNB{r;07*qoM6N<$f{B<(r~m)} diff --git a/graphics/pokemon/graveler/back.png b/graphics/pokemon/graveler/back.png index 9154bfe38aecef3ad589dfbf967dfecbf4b44acf..94dafe92c0ce607444ea0f9559c79ee9a016e434 100644 GIT binary patch delta 648 zcmV;30(bq|1fT_wB!35VNliru=Lil79}L_F#8LnN02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys000155CD5Q0GwI?y@LS7tRRDXgWlEN|Ns900Dk}g006y8IRF3v00000 z007=RrNRIJ00Cl4M@0Xn2lB-L00G2FL_t(|ob8iQa;q>5MIDj_#C8`DZ1P`o;r|uP z0ve+IZ>6#glu*N)H}gKL$qWfPmaeWGA%5c@3@DBG3DcNfwCIH<$aNeAvQ?G zc$9%YHvoo*LC{z5x;UEgDvbTJXyiAQ4+9oDx@}BYYCFz^wWz)CIA8g=jp3n#C(9oo z0Py`ySolCRM4z$JtktqE-SkeT1_&yR4bN$Bh2yeZv|a!-zKhK!VvEOK(GR)+ delta 577 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 delta 586 zcmV-Q0=5081>*#eB!4haOjJdf(4c5wF!1oOz_4%-5D?JFh`6Xgcvu+t_^9aMK!|`y zP*6}000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z0~jWUQty5M00G8HL_t(Y$L*BQPQx$^#)mX%*M(NxNwo*a(tl~!b+KA;2JRq5&J}4@ z2QPs71pIkhoRoGgb;kq1cl9s!=fuuz_6K#b`~{dN=LjL9**+0x^2CgTVVji>}uf&U@Oc4pz-Mr zYzgox0%5ok3ush@Heb=2iPpkoy`VmzfYvkB~cZseZ1uprsLU zXrc@zh8aX86PkI^-Gm+9l%n4$tR>~}g&euu4Zao`5_m$W!UImL;Rm?teh)=WSZX8X z{vNNGhC`PCqnEu8vZwTlY*HU4I++l?xH1{$ctmG<`)~9h1>Ixr+nfS4pv@8D*}r=F Y0`y|cX&>0)T>t<807*qoM6N<$g42%+EC2ui diff --git a/graphics/pokemon/growlithe/normal.pal b/graphics/pokemon/growlithe/normal.pal index 7517c29290..74be413545 100644 --- a/graphics/pokemon/growlithe/normal.pal +++ b/graphics/pokemon/growlithe/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -115 98 32 +148 148 205 +255 255 246 +222 222 213 +106 106 106 +246 123 65 +205 74 74 +123 49 8 255 246 164 -197 172 98 -16 16 16 222 205 123 +192 168 96 +115 98 32 +248 176 80 +238 139 74 197 82 82 115 57 16 -255 180 82 -238 139 74 -115 98 32 -106 106 106 -88 88 120 -248 248 240 -216 216 208 -168 48 16 +16 16 16 diff --git a/graphics/pokemon/growlithe/shiny.pal b/graphics/pokemon/growlithe/shiny.pal index d59ffd9502..b7de39b614 100644 --- a/graphics/pokemon/growlithe/shiny.pal +++ b/graphics/pokemon/growlithe/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -104 96 48 -240 240 176 -192 176 112 -16 16 16 -208 200 136 -184 168 64 -120 88 24 -248 248 168 -232 224 64 -136 128 72 -80 80 80 -88 88 120 -248 248 240 -216 216 208 +148 148 205 +255 255 246 +222 222 213 +106 106 106 246 123 65 +205 74 74 +123 49 8 +246 246 180 +213 205 139 +197 180 115 +106 98 49 +255 255 156 +246 238 49 +197 180 49 +139 98 8 +16 16 16 diff --git a/graphics/pokemon/ivysaur/anim_front.png b/graphics/pokemon/ivysaur/anim_front.png index 5a040c41551e6da7f3aa1fe6c2da3d5a84da37b6..1cdb412a17d089c57f957884569fad28d984b0ab 100644 GIT binary patch delta 1253 zcmVRH(boU~02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u|NsC0tfc>Yd(}Z&fZ)(r$haVofDl1Sc+hZQsDD^6cu){XIK^{0dod{x z5D+!0J_`T<00Cl4M??UK1szBL00bRLL_t(|ob8vtYa2-v$EP@m;Dkk*#GS#(Utqa* z5pR(qIF-!x!L#broOiaf1&Mdzj&nVcK($taYoncoHAfn0hs(cU?o=MZ!HHIh1aogj zva~-&8?HV4kbi{H`|NvfpN9Q@jnI8)R0KTP8~zT6Bz9Ng}21jdH|?2nBN zK$(w?!|J{Iy!1nez7rL>~BY&|;`eM{L;91AoI7r!4G6EDB|fJRm6Lv=cGL z0@^o@j0M2?)vCo%5*&a*FW`SlfQ#~ww)hf=Jg-YbxSp{v^7@9sx$g~VYtUH&-})oZ z>p%h7g#|Bo$hsgzoN+#)5be7mBAMn93j)c^IcFZF14=t z_K+oDT7Tc~(l(v1e$~pn%-&3Yc_)PX?ot5M>%sM3SGOsb%_cSXqK54WHfORzM5#zE zi%)7MIjv!A#xuCxUNC51r2rJy2sr`ZES@vYK8Q;8Se+h2{utXL7AzL=c_xiYxK@Mf zv1vPwa0#(BfN24M354sAdLF<;0j2^hobBPBV1I%w(@`aC7vpS+*KgqBV|RPe!_oi~ zj8A_0{P05c0KiP&X6Y3Gr$2vwXeoeT>}G*SFyO1hM~fMVRnGuuYU0&R5F9(iJxk>u zG%ql0Q8hECi4^GBElw^Ks7%FlJBJCeg z({{+}i;46HY5#yOKRN5)S8E`II8O{@<&Q%uN;}&-g#Z|sjsGXz$ENrfOOYlIgkeoj P00000NkvXXu0mjfoGnvq delta 1176 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 JPDHLkV1fywM!Nt2 diff --git a/graphics/pokemon/ivysaur/normal.pal b/graphics/pokemon/ivysaur/normal.pal index 8ce5c7c845..9d572c5c5a 100644 --- a/graphics/pokemon/ivysaur/normal.pal +++ b/graphics/pokemon/ivysaur/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -120 48 40 -216 64 88 -248 176 168 -248 120 120 -16 16 16 -16 64 72 -120 216 112 -48 128 80 -96 176 88 -128 232 216 -88 208 184 +205 205 172 +255 255 255 +255 172 164 +255 123 123 +213 65 90 +128 224 208 +88 200 184 32 144 128 -248 248 248 -160 48 16 -224 80 56 +16 65 74 +120 208 112 +96 168 88 +48 120 80 +16 72 56 +197 115 57 +123 49 41 +16 16 16 diff --git a/graphics/pokemon/ivysaur/shiny.pal b/graphics/pokemon/ivysaur/shiny.pal index 27e7a2bed7..c4cfa8d79b 100644 --- a/graphics/pokemon/ivysaur/shiny.pal +++ b/graphics/pokemon/ivysaur/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -107 77 48 -205 139 16 +205 205 172 +255 255 255 255 255 156 255 213 0 -16 16 16 -49 90 16 -139 222 74 -49 131 49 -90 172 32 +205 139 16 205 246 82 164 213 74 123 164 49 -255 255 255 -160 48 16 -224 80 56 +57 98 32 +139 222 74 +90 172 32 +49 131 49 +49 90 16 +213 98 57 +139 32 41 +16 16 16 diff --git a/graphics/pokemon/jigglypuff/anim_front.png b/graphics/pokemon/jigglypuff/anim_front.png index e7d76e1c065dbddf375c51a28f1d51db4f0cc5b1..38ededf3f4a5cefdb72dcf86a92be5e244e52f2e 100644 GIT binary patch delta 710 zcmV;%0y+JT1>OaaB!35VNliru=Lib`CIsYH3TFTS02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMbOZ=|NsBU==cz@=ooOo5J-q1Ie#$_5D@>(#s93N=5vFj z5FpNmTebiI00Cl4M@0Xn2lB-L00II@L_t(|ob8sqYTQ5&$G2B;$oSeoUcj#M0EguV zFx-`S4i^W05c>@bG4706w0VXUA;mE(V(i93v+jeW%xL$(&d#pekZ2I7nBUE(j`=G! z+rMe!OWwZ#n|~*Y7Ti0)1-_^;oycqrx)GpB5$61^AwMJ&nQaX{15FC3p<#cr84Uq| zMy|95pP}c+j*-9cK4?21CW;Y&oe4lxY7N*CFqp}`)lswc&(qIMNCR4%C`EmEwj{s? z;Nter66|ud>;`aChTVA^)o7R1rlVO~q$+m5uVRQf5V;kL{FZIbEIm(>qErXi~ziVkQOx=!i`Wq1eoR~h}lBfh+5{ct=c^~3cI-~K+KA6yU5 zUwDj0Rv<;+ghjU~ALpJLF`Sfx|INMs zs1N|?KrjFR000000001$<2gJ4000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z1S%+q)qsrv00HqyL_t(o!|j$$PTVjQ$30RGFiE(8pVO*a=YLs%P!}eCU3JND0;DkF z02A1=C4}wF9%7A@g@5xtZNI+|^ZJ;pTu$#VKur^c0et|t zz@;ejj@-(jE&*hYaF;(M??cv+TXj%*K<0oBq~FgbLl6Lv=}0>mJyiau$~en$4@^6n zS!RI71wh6guzzKscKhuWMag!@xA!u*0U{T<=&m2u45$EH*!Ll*^=94Hp!Xh{OCw@n z*tJ}1g&gIV$bcYq{kZiB?6z0zC^A4&{TVjA|83Xvr->rqDxdZIS2*4F4=prtmDK1Q zPKVnRARLbMgOj`6CIu9(8jJLG7;ajyi4$4x`wXh@e}99rsq+$=gdB=a0SgQSGl>}3 z2jUwWNgs$l6@~t5(OV1ZP1_K>z@;j|==^1poj5 zFi=cXMbOZ&|NsBZ|GgO4pctq~D0ncOY9Mn#80O~Yq%i>1Ie#$_5D@?7|M1A@*qFe0 zSa93?>_7kj00Cl4M@0Xn2lB-L00AmVL_t(|ob8msu7e;HMA?(*|Nlkzr1V2xuDrcr za8HU4Y^!jgxN7niy~foXX9h%t_|E5MT>APDTps|TYcUX^Yhj7p+&7@P=P(jYb9h$* z5cdS=%NyO2OMigVZ3o176K~+wED_U*?i;W+myxtI6XG;7M!Tu@0kD<>e#N>yj=0fj z$`Y~tw3>(h9Jh!gCbgg9mFa*FWM2OCnoNg@u1nSqOb1=}w=QFa$d@`O>_uhj^jv-h z80@>Hfxr!5&9T%7T)9EYxD)`_LF*1kI9mgg7Y8uc31!9W&}V==1B9w8lz=<~{0T7r z*jjhlsS9(%AV0UkodCCn4xa&1h5jOhtUX+L@MT>=l|Yr@+1ICef?^*RFX1%Q(`vZGzPEf=W(0000d-kik{5D<)GEC2uh7_3SudodW^q}0{e zqeURoVO;O{ z1S%>2(y$u<00AaRL_t(Y$L*9|l7k=+gt6oR8oU7G9$<&|0Dno~{%2Y+DTP7tDOLNB zv3%;!o*sTw>RX?yZfNVh;Whw5)1oIr)4~z)(l(%_<c=gUl9Gr%dnhGr(e7Ee{xJ0B846Bk+_4 zsmHwlPyyoxXt1k+c~U#D)E$cL@K=Do0#v9Ylz_ehrVF6^akb9bsWZ!gL4IxxUjUB- z9aBC;Fzq3fu06Os__~e|N}%d7iQDI8hafJO3^92Dh$0>wBv4v#2=Qn0t$$X3C5nl4 TRzv_O00000NkvXXu0mjfdA_)j diff --git a/graphics/pokemon/jigglypuff/normal.pal b/graphics/pokemon/jigglypuff/normal.pal index 6f4d96e9d2..21f285d857 100644 --- a/graphics/pokemon/jigglypuff/normal.pal +++ b/graphics/pokemon/jigglypuff/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -164 16 32 +208 208 184 +255 255 255 +200 232 248 +16 176 232 +24 112 192 +16 72 136 +104 80 96 +72 56 88 +230 230 230 +164 49 0 +213 57 49 +16 16 16 +255 205 197 255 172 164 230 115 131 -16 16 16 -115 65 24 -255 255 255 -115 98 222 -65 49 156 -148 131 255 -205 189 255 -168 16 0 -232 64 48 -0 0 0 -0 0 0 -0 0 0 +164 16 32 diff --git a/graphics/pokemon/jigglypuff/shiny.pal b/graphics/pokemon/jigglypuff/shiny.pal index 36b8d0ce56..0fddd6b10c 100644 --- a/graphics/pokemon/jigglypuff/shiny.pal +++ b/graphics/pokemon/jigglypuff/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -123 90 115 -246 205 238 -222 156 197 -16 16 16 -140 99 43 +208 208 176 255 255 255 -24 172 74 -41 123 49 -24 222 164 -212 213 216 -163 69 32 -211 97 93 -0 0 0 -0 0 0 -0 0 0 +205 255 189 +24 216 160 +24 168 72 +40 120 48 +156 106 32 +115 65 24 +230 230 230 +164 49 0 +213 57 49 +16 16 16 +255 230 255 +240 200 232 +216 152 192 +120 88 112 diff --git a/graphics/pokemon/kadabra/anim_front.png b/graphics/pokemon/kadabra/anim_front.png index e45979f23915017cc1119f9805fabbabe97fafff..46cbcec570b78529aff2387002bff4c96110be32 100644 GIT binary patch delta 1383 zcmV-t1(^D`3i=9=B!35VNliru=Lii79~)06P$B>T02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMT^aY|NsBq-rlsdv|3tP<~b?Fq*A1FDSJ`~S~&>+|9`#z?kUy12#a$NVoC@Q z5D;>5J+1%%00Cl4M@0Xn2lB-L00f>%L_t(|ob8sqYwK1Nz%_Wu5Q!#P%i|>(6AE$H zqQoh*r9-An`6oI&Q2Hojc~BM7s$1$QOCeAm^^)+QM~asR3Fye`#~TWgKW0mIoMw2g zCHwZ=YgtzOk$-k;p*exXx%YREgdB_Z8i`j?Tg;!Y#@Y&`0If?8<6da zNC19g9$@kw&%(|ez%nZ$!8||;O}o~z!LQ8emjVO|3+KEe0p8yL3W)F@0uBf;oq0e6 z`};(ovrwE3^xcGVXfWv`V#L1Cm(|;Q{n~1KaY2QvI&?4)J2i7eC zJjLfT0CQyne%YA^oIKmJt?DbMis&$1)AWf2QS_Y^!?r9MUe`rT0xzB}cl)NrhkvK* zOg9FN`#@o9jrm9!+~2#p;V}l68KT{gcJukzWv0`&>xO>2S*~UY87^~cc@_RV^s9yk zU3U9{$$z{6(#;!KSjekU`9zCc{c9+Hbr)j<6-aimBnQ@;ygC2^j@}*`Kq>lu1;;>8 zMW*%xU?()injS&fHPH@ZJ9&l-WpqR0I}6%ju~>`%J|&<`Q!)aa(Cyb=a-ew1il=b? zE~3YQWc!BLcMHw4k|cGDF|t$G*{rju8WSO2B7di%+bJ}!2v8U`vL6b2s2fYMlK=&p zA?d^B^AexXgM$NXet(AeV)=Lk?5YYaObYCq&9fg7U$5)vhXPQD|g^|ZjRqOKpe>1%jDr|Vgg1Hjnx{aygHF|PIF@ILTa3uv(e z%YW&Gwg<5Qum$6zJaBx6br`nk0|BUiLvIq8rJrj<%Ge~kZnJPO7Lcod9(A{g3HA{cB+Fml^82VZKO;CkS7Ck10?g&PPB5`Th0 zYQXz5f{}Z=v`qlD3Be#WpcF<%A9Aa!^bBeo3I?gcKxc6PDWPnws`R^S3ilRjmClr47*x9}*}Gy=Fbt~Q_wSMk!DvX6A^c%17?U?q;t#`T2*J1?sXvSb<9?+6 pK!QR3fRh4|@dvs6=nwx+`~^t&t|BLeD**ri002ovPDHLkV1h*teIx(? delta 1316 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 delta 768 zcmV+b1ONQ`2ABqrB!4haOjJdf(4eqz5P(=1`0#+>us{$H5a38aSTH!Sc!1d0*!cMP zSXfwqP*||Au=w!c*s!>EFi}?k00N^)L_t(Y$L*EBYui8+$Ik+hAsOn{T@xpkp;Jq8 z@*FHZ;S3or_8loy`5!t&c*)p8hk&OJY3bM@T}y@x*&^)Wpnp@Rkja_5n1F|ZdcSm% zZPC9V56qqKee``#cki7Lda@;}FZ>~^04))aV9wT33Ew0_gf;0jNzkJBaB3A;2esPVVo^fU}D` zOb76V!T~|<%^fQdEfJY&AQTD^A;j)*$ND$ez>idp;&IS`do!@W#%P|hV<;OzFHU}9 z6NHblIZx>#P{Vs(=tb)JUs?8-^V8gSz$XB02e$wk3V(1XLV)um_X~a^l4$ul7ldAN zWhrBQNEh`PgVtTd$h$A5<5?G^g zo?;o0JAX@DwbhK-+&CXvAcCSf*znk{n{iCdJ{zJ?HZ!sDv|LdZ7;CNM2%>H!z?meH zepEjywO^Z+VlZhQFxIpM%eJyCvhR@`Ck#1I%CIfZHv>!XF%dvmO_4f|R4Au>dY%D|TC=>0hd{dq2_6t4w&jFtiLIfq1*XQG6=4GlOJ zIOMmzQ+crO^_AAvfSdb$;I|;F%dB^anb=zeI0xE`Q*$ZiIc|r!UjjpjnE~=`pz7LD yJ$=YUoinz4_Z9srfxrug{{=+1Ve<58T(y5h{m?fL^u|~K0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMUaq?|NsC0_Ra9fFvyq?n0NqqSO7>k0RI60{{a7LYJX}uIXMsz5dQ%G{{a90 z0RK;HjZpvq00Cl4M@0Xn2lB-L00KTqL_t(|ob8sqj?+L8$G6DY?*LuSPmo!g;wt2^ zx40BY_8tud!h58k0ojQqxVNFal2kZFq(h|1LoqfV)%_|n?(zkeL~C|}d{ z@c{y#asj^X1lT_geE1^up9~LN0N~x0=xW&7;uUBz8cUG%HArC0t(=7Sd;~ojbK||Q zxwmMeqBIn>+sIae6mM)}Uv|<3nqtkRJp?ZN9ViiRoPX=e)p4^#Jy6p*8Py(9hNR+B zfF;Thr<8D?mmLJwi-fyX$2h|XPz`}-1X=<105DCJlzGY+XdCNvU}HmzTaYf>&^Z-o zvYhdh0tERT9Bx6*vr2;sY%Xod=&+|6Y0Uwh z&T)=&{C}O8d9Sa_ZLblte0;tYBA)~S3dC=Nzz*_DLE!Ums-Fr1Yh2``1zm5Uq{N@c z$9;FifcODj-3tJ&viPY0&+m7Zfk8xr?Bg)x?Dt@bFpfZlhnHnk$w~Nnd4P&>D~iFI zV%%_1_ooztPbkKB))XU%V!TxpBeqS)RwiA75__ggszf%!enUW8E!cH-1)s*gnzJi= z{Jys%pb5YPP>P@LCS7n)B*jD-sTO16XHDib2Qhu-c&!0#8dSwF>q#*bpcR486eBJ~ zAT-5@spL{~l$bb_2fQw0a?l(`;!abTbNt)*0T-Xb&jS8)OaK4?07*qoM6N<$g6Ppy AumAu6 delta 696 zcmV;p0!RIt2G9kNB!4haOjJdf(4gL=QnY&j_SH)N_RWi009rW!IXO9MYHAP=5dZ)G z00000000000000000016IOkRX000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z1UEQp4*c~100J{fL_t(o!|j%_j?^#^KyxR>{Uowap(2hBiGR|WgsY?555N~#+Ve&U zEZvGCY)x_Pq7y6S3*a-EEYRJ|mLL?je({XQyE89}mi6DR#6B1I0kM<_s8)yxPh3>1 z)h#;B0_kc75MB!hPzVIW0GFo-$j8WW&R|R(+&>L`ps(?2dSrq3DFL7N1RS0QK7OM3 zKgLH$7~tIw@qcFAx#T62WITsJXY&JBs5^QIYhk+QfNN`Q4uj(g6_-BAO;4p{j(Fo* z_aaah+$}bs-O)p0w@e7t8x!<;>N73}Y=fbzx`{iXDL@mDaVMw}8yHd@SYT5%5Y_?s z6J`K&7Kmq{BY=I2wrF%(0uOYpGcwRS-|;C>mYokq1b^B(g&+Z*eh!9Df!?zyy$JNT zPQzCC`>QesKS@AQgE>eYrgJ_MTaY?)Koo`SOqWxKrPD8KS$|<&SS#;Sv$x{@JiP@X zJ^2Ca4}S!LSCHQZ!cPCF_+=n$jLUSEpsOA0DC)~R+xHU>kRIU80|87YQ{M@A_ON%r z2t+(m9e>9$1oy5LWHJhs2J`m2XsXRCb%^_8HZv8Mi2aW?`A-n|0e)TetNfM1zvEJD6UbI zm`J^9Ya=O0G}Hz*63~@iG>m9-GK@?b?pjn3l`)V%NQR+MgO(IUA$Wb1I?MomEBC1F ewDjqJcl`v8d54uOBPd7!0000B!35VNliru=LiS~B@n_|G_n8y02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsBh|D3G<0E4|LQi}jFY7iJf0RI60{{a7LYJX}uIXMsz5dQ%G{{a90 z0RN`@0W<&r00Cl4M@0Xn2lB-L00CD?L_t(|ob8f5Zo)tig{KK_I6`h=M`_YAhK3>% z9&eK(QZQ~(M1o}-A1Nn@QltP@ihQW7cfACOXWFFTweQo+n;)X9{-;gVfcKdv*+7#;4{$nz{>ZiGpgWl21em}cFGrubhCp`o`4a-a zK7W6q2&cg9Igp%m;13Ao;#7EG-kt+v@An7*w&uv;qDouClbE9uRQc)U4g0gRiqV0?*(%_hOvFB7eXdh^*=gG}aMt1{&|W>bbOT zV+RD#GDH-m>sMGIk0IxF`iy{mSasKD4MW(gb|1iAwpT<4n(HEroex> c>d*B9s}mBVR^+?$0ssI207*qoM6N<$g3Dm&82|tP delta 469 zcmdnY@}7BuO1(jVPl)S`3kw={XasaHtoXrj;l~Vv3;_uT1`7*|jEoEc0f8SselVbd z4z1QBKoQOYkH}&M2EM}}%y>M1MG8=my~NYkmHjyzJBx+1|Hp|Q3=E7xo-U3d9>?EK zb<8?!AmHk|uubRqvBo!#G{s8lUrKT9b$u-4T;A!#vd^))<=rF)m(rGdn>M8^ZLHaS zTj$gE{~yy$lurkiTrPc;w=?Hia$Q{L)Ck_+{GrRAALMyG-Nh_f(%I1Gt|bIIk)&KXd^x4AD#?JcB z)htYtnsq+1?lRdFm~~rNlOZYCSe);qCZofa(&q&p*A~UL1d7c%>TP1Sa%JS=*8Eci zEVB-k%0)!}bd=blqr0miEShPa;;c8jzqItuy&-sSXKVh%)|`8ZPC~QhynG|d$Zr2? z-8nY1h1uDrlXB%HX6)FlpdxN{v>`u8L)ER(&*g)KLyR~}qXk3J#6$)DhMJbiJ%2TX z!*(5=|9uyG)WVO<8~Hhp@-e&LcM9CjoIl~!_LI-PIq&fL%T(eXrg-l1%x$2k@pScb JS?83{1OSwI!OV1ZP1_K>z@;j|==^1poj5 zFi=cXMM1@s0000=N@77$VuOp6q_nif)!tG;0E2TWteip3#eZV;iXf{Fch7%>Vj!b@y`h8+@9RDMWiQks1Y$l8-M}H>=zA*dYwXm_`i%F5yzi z*~RO-XSY{;NrU})d$CvnP>yN(`u5rFAucFYR#_LMBh$u~mWr3R%c~#oy(u$Yk!#Q3 zuyAA!Uw^HhIXu~^M)-mZCJewjTrVHLtpV0qYQxW7nj&`>%jNfP7wmE-VIs&+ikCS( z|6;lLaItv=0Ai;?4n*)grPb9Z_VdjR186GA1e}QyDTr2^pFVwlcliihAVM~D8JLJ? z6`ij(o4e~9Qv*UuaMI^a)8Vh1r}wXMx+Bh@v40_;vL?U3SiHG>A&Dedn3rwFnTQpc z{QUa&H#Zrgsu0-RsVyKmg^!k;o?ZO>)#Wuja9|K3zANIhi{uQYVf38dU$4KM&8bA? za7sKtM)@?KS0uFrO5nD0(q`moYf3JYQC7eKc$DIDPWgWYhaV=GMsyk@aF)!33&61l zMt@D1XV~Y2XN52Xj)B*T_q=c>%F>F%PClgS2 zTgHh+vNSA68x&2_*07qPo2fzw14^|$uDMa-c;7I7#1W2QY)S5lqo8oEr5Jnbf<82$gDC^Z~JyJ3y39(jg#9rJ6M0RDTYf zU=yNwoa_N4sgyg<@Hm)joMqXbVPx+bF^bRV#x97|J0rGb?wYBn*dGJ{WF;pNGg_C2bKq?AH z@G+n?8jDL;-VT}W?1A%es8P_O~ge_fT#=3R4J+%=S=z?9&Cw@C^1cvP-C)z5INh>gHM_~H=0DmxU1%{;# z0eGQ*1pWY{>%S#}BR`9;6u7HpU19#^XO;WtiP5DcuL)s`>dh z>-AIIvfv@!KO^nwfU@1zICU5(FCSmmvV06CRLDnmxqC(A^_qBMYNh zTTC8c?l2>DClKR@YQk!c<$n#7d|~=sa$M2`Ifw6=A9-EAa2tM58uV|L$BGQ=G!gXy zZo(bj6q-$>y&yp5xY88}usKHMTQ_KtkY~EEHI8b8fJHf@}kKL zj3X)JutUYH{Pqfr1|dfK1xB#;3XEXw7Z}0%3xUxZ_#X+3RzK_$7$-tD`eCoY=;(*^ g@AO0bU(yeM0g#teio(008*-_<(RI z@aULOKmf?VVBkO{ z2LvKvLEh#700ksTL_t(o!{t}OZsbG|wId%nOt*dH;_BuD+=NOO}PM5LwV+zd838sdd?N)7;$hlqw8m9b4`j$aUjt14%a z*UUP`V_g}pB7XxF>)8lEs-F~6^2>lA z*x0>u1Or4{z;b<;;>@CfA3H#*=FRrU2S2PgPYV`;=Q!)Ej~vM+{Q7Zq|8Dgid}1c; z`hz)35+0==KCU*a+gA&NFz5x>z0=r`XK6mayT7`9>3V!iPIgpw)Z zOp*%6ynkAM{bF_h_y8_2BO7HEXBf|pSL^lt^M+bLOo_k>Q}XF=>u*kbFr{QLV&gQ!XbHaBt$NN4a-`7P#~pB|s#fdPXM@m&$; z^VA2H5dKd$o9}U3p>ljm0zd%Z*F}lF+2ORzC4bd{wp97e>qdu{$l}Y$@S%P9VZzgh zXBh&gmh$<2pdqj zt$&j2KIpL`2I*HLI7ZfM?J)f)?$<$a;)uM1Q%9h?BMydSXI|9U!rVodOaoWYK}Gm^k50 zxbC*t14yk9b!SaX=90)lV;3h1q#VH~3Pe={#6AU5C5IJAJR+wG1b+r{ zW0SvBAV;XgO7lQq3=~M(cK=9V%mU*&1(ITnyKQf61qQqmHc}v}qMZWS3JfR^w!H$8 zjK=R3h=>IS^{o&cywsR2mLq{dG3ztbRL+=1k-+Gh=T;q{Gs;L{U@i{p%8wC0p>_fT z#)?t;%7MT@@Q0jF!?NuJh8iSir++{S2#n7^3j#w81ZL8XKw9(yLk$VglB9?P22Y#- zB4yJGj8;EPS=*>82#ho6hf26rorsCEXzqb0C4=c**xQv+7I#Z9+`xG zICk!VL>}bCeB3asA2bkXUcXEM;G7G99G?agqa1FLk-WZ~7E zmpAy-H13j%iVNf%zBi)PD^w5LFqn(}?d7p#@;c2WV}L1qhbJAxke!X^6`RUv1eh*R z`N~Y^6^L#M7X*eyPfzwFf_-&)fpI?2Fj4o%!Gpj!7f#IfA@qKM(N|BsUtkQU_f%jE zdf7gKG5B|EufRzDj{?IT6et)@boybhz!>NU`*->w`!DH-KLHNDp82K25_$jt002ov JPDHLkV1lVFv{V29 diff --git a/graphics/pokemon/machamp/back.png b/graphics/pokemon/machamp/back.png index 88b043558f4310b28efc909ac645d2854a3e6efe..64ab5b42e56e5d66927b68c2aa9b02367234f3f5 100644 GIT binary patch delta 902 zcmV;119|+s2Av0xB!35VNliru=Lii95gj~Aq$>ab02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMM1@s0000nN&re~5NeAll)Xx<-fB`o0E2TWteip3#eZVzuo-SC{+2e83fI zYwgnA*~f0U2T~29Y+?Oz->y3;dMP3TNeF#9S&x8m}_M z5!ma8E>Iu{?DwzEIG4`sZjGMg3KBExehxYS6ewg1xcS#T0CkQ{2IZFSv%TCaks_oGaPHiy zBa((7wAA1S;%?yF?QA@j2vR7XPyn96ec1+jQq%Vguny&JpOb@|&Ms7nImIVLjh44h zNt|>5Nq^gBU`8np+{KS5>Hr#2E-^GDbM7vlf`T{ru?4(gs7<51h@zPC{Oz z1->^)vy8G5)i`W)IEaD~l~8830c1H2)-hARA%9ICQJAVVa9nbRTx!G0*d;QDJ%9vH zhGy1yT?1LQ^;}gQ9`oU0~R3%T~SN=xvMfZPFK>+1M83Qy?fDNuO}6zwN`MI^RQLB76V@dgN~n}54E c@ZUav06t7Od-Qsbr2qf`07*qoM6N<$g8rD2kN^Mx delta 805 zcmV+=1KRwZ2fPN5B!4haOjJdf(4aU_7-)z%n7CL72nbL>7%@r!pqNm&ARzeo_<(RI z*wBzrKp4otVEAZQxF8@r7`u)D000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z2L%n&i_-o800N&$L_t(Y$K{p3ZW=)l#vvj-toH%DbISv8Lx1|)^_-|IMUhVw7Jdq& zD=G$d3cyG@~BKrKlc#p3>p&jsZ}x5iNT z3IfVH#sL=HMn^#c%e+r<{b{%90g@zW-6qgatIbIUY2`GAD+U(Z6Tqts&(u}w>D#ym z&;+b#0ayJ#0YFJe8MOQ1{(OHvDPe$20#?p7zq$Yq!G9{DC=A5C(8@K(DMkWFSRMpS zBJfCV_uQGJ;@^9~>(FldSX{sKcA*VOjw4gk)%LX*6+J-kwmpz@ifecGchKLaBI8SB z$TBN;_Zk&^fXlrfykShN!6K^IWrhF;0EIGuGw?N(O7kj0#9D0kyE4te~u z3@=+x;(r`aWgZ|3JqRRgQAy7p0KXPcMa+xJ!W9;285za`{_8jyQCp4q0T5Xpt%I|$ zA;liiVDuiC1qD(l^vb+TgrpOI1!IPJ^133nYU??~i&^~4JrJ7L?2=<3j+?*WI5zLI z6e$}6Z~$mPqX>kaMHJz88Gt!n88oqHy`S|lFn`ZDNp!J10_GwCIMI+@gjXoy1)-9k zf)+%}o5P&i3Vv$51vEi*0yNBd!IPpjK94!GkZR0Aa*dP{u<OV1ZP1_K>z@;j|==^1poj5 zFi=cXMSI1A0000=N@8j;gNt*tq>IhHoaW8F=2AHTgL5g(y?U~a>ZSN6kTua=9vN`oj`VbNGNi06;u~n6rqZJ6{X|qB+5{nB8B44AjC)D z3-Etyuf5)#b$>wv1tZ5=dwzcJ&CHwk{@L66?~UPb=k)&BeD-`7@N7IAUq7v%e`_`$ zUr#UVf%Dm9IvIYq0~noMeXGBz2Zrb8r=(>)5Dq`5B&-MQPX|Pg{?v^+AR6>3J@{(} zKym!#!Pi;_=J|UrVH|5M$^Xza-+iKkKw~Hx_=X5$B7cWSg-YqTt3_r04(40z%0Zk+VcsT6iL3~j(VMj?w zsX_$opqnC=g(w0?v`DZ#?4*uJQ3R5DFAKnJ00%n4QN)9O@J1Fr41!ciUL^w( zW>Pn}*?;&r91K!dH5g#)+KCf|)vN(~0NbwGbC&=KsY8kNt^pi#no7yLononoM!2rl z{>DI;D3pyoi+70+OE)Y4asyDD1_1UPtpo@kQy?}mQj~_$#b-;1#ZN*sdCDrBR;09a z*`W2o?Dcr^W4oMlmi8M~_N#X$)6wL6QAx_&T7R?s-o>@RCr25=ZA6BhN6 z3fKdV!3-dTY{MBa_;7My56je#&A{?^7J{HoWsylttLkI9N#uFRLZSMvN=q*km9BmLBZ1kn&r=YGn)ez9=M8IH#%(hiGc`ly+6LW3AnFO zTB%`~!sw`97H^oKhrNo4kQGj_Slot+z1+Pj14k&M>HAKI7-1%fw!?h;_6RNeaKJJo)iP8u1zRTkRs#9c#ZmBfYd4^zlN9#T zYIV|LZA%LO~aRG3sP?Bucp(wxDEFJSo zr6Vco(mKq;0eS`czsur+Rfe=A41a8Zs0)n(0bzyOhgws3^jYm}Vqguz^;?L8*JzAw z^o(Rvd6zOMOSI;TA7A2J1EHo^Kp!hll)@PAUsM}(YF zCLb(O63KuzOORG33Pq*_%|NaXT(bnRq8za5fu#b0iTfv29}yCB^{o{mfeZpd<^9w? z(MhHM+x?TZV;ldcRANB=S*M5@Ksq1iej~#wxcz^Ye=r>vFLM2zRh1Y;{jfAq@=??e z7_EwlE&TxD7sn+N+xo$Z(kdiLwt$j;aPhIUm)rWmYSfDBe_{L$ahs=ZwbR&$00000 LNkvXXu0mjf#_g%T delta 1357 zcmV-T1+x0X3*ZWnB!4haOjJdf(4bN|01yxm?&gcly<&@Vw7s0>YB7V&z2?OL0QmU$ zoH={&;CM(#V92mwgL5gao@4L;000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z2L>U^e(l}>00hHHL_t(o!|hhjYa2%x-3*kar{a+M+U+!}#eY!M2jwo@`0jRKW*Ty; zV7`^wOIX-l`x>aMbD&Pt&^ z<$ZeJkNJK)&-?G4t=o;SZ|!!vZ<+ufO}o>3LH+ypx}E90{ZH!wce@As2fV??-OCU5 z-j}={@Zp_1+kYfQJs{oslH#-;;D0e9dT=aj!^lQMGCMys07$8?cD|7!cfWrpBpf59 zpyZM3egCn{bBUvAlsG(8L=llrwU(;CnGF8~^ez0wsg%n6I9Nv<(cpx7;3ui2&L7e^ zSdZX@6h+pBRA-c&44$lc00K$Gb67YW;(>o%rSP*jC4Zygfi=)K@MX+{6%WQS!b2uy zMw&7pY4EZFc$&k2%y1QIG|VCeik;`8YGITcEo_t)AV6cn{B&vKa5OTZ4lKa3%Sgo< z(cA$15x7I`g);zgAya{PgUU4OwXwbCJ&dP_z1!2ybrXVhJJ+2C{oqZf-Om1gJq5dedAa{) zw*hdlcey1+17K@!4;@$!@IT+)rn~`=S^@E_UV`|2%sKI00{{(9-#?Qwswr=wsN7hx z6+7Kfqfpz`jSbs>>_DVw@1yazx!r4IdViivVf6I#)1NJZ9u5Kr0mj(r=}+iwoRcTs zh6F+ThBK9eIXZs1ZUHOTs9q_Pq)ydfeS|!KK*7>aq7*)YCeBvfeD~=Q5^y-OGQ>!c zYDM`9Mbe5PfBLuzn{FBA6!+pvK3S`0T3Xn7ZvjT6sulH*t1-q91c}vIvuuZwQ-5|` zm1#K?1y>b7M3s@`TOEq=i)2YeB-?p`#W=yvh?kRhCWFdCYybY|*{iDp<1Sn*u(=b%xWx0TtBdpN z2>`GrR?2l~Jz@nvd;5B(AK0ph0Dpx|XimLM!!09ZX>zTQFM z7(^KgbN*kJqJSI%LNE3yws*X-|NWu4G3=AW2RnZjcHIC~siDltP$@#!bw=4BgQd#d zkQgfjC55Qh4>s)^6f61x!cVC+idFrOV1ZP1_K>z@;j|==^1poj5 zFi=cXMSI1A0000GK>#UQ08(=)dz@O7y>qnQlu|hWgL5g(y?xGy0>N_K*0 zO>u+3Rd&NJpCbk`7|znQ*|OEl3%Jmljvfj$TRrAIdi*C*F{L~}O9RqyKi~J=$J1c& z{~Vq5?K|~qw}0-dN4shx`}Lwt}LkkyY4BHBKDlZNO39_3gA zPgS^u0anTAsoHe_+p!!0z`Ck#!@%Qs1)zzb23_6JI}N~nP=i2ySO^&A4FIE%1+QMD z?*M!elJJ15ECBcxuFe7)#0N;+4}AL7?-BUxQHPBB0Dqjl9V08X06`jzQ^@oa z2NErfp{qkl)wI~HXaU64VNxbZ4m<(YH6cG29GlRjb3!4+0*SZ{cro7~F$db7fqNYa z1eQrVC&GLU)xut;yHk?2LPEmiICN`0{eGfj6H^36#%WLIP11I(_%##j? zP{5>&9l&f^gKU(#(GdWq%`^T0 z4l`D7VrlS_}>4Fi34!qniLuAVUI1QFEbX%G(bII`aJy&aCta!7V4y&#{N=i g9IQg%BmPIvUrr?u`29#J3jhEB07*qoM6N<$f=_NRLI3~& delta 599 zcmV-d0;v7c1@HurB!4haOjJeqps-*_7!VK;=-`ORxL|0AIFPt-C|Cfn*pMK2u=x1+ z7+{F#;D|^_V92;&fN&^4j;xjd000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z2L}w6x`65c00GlUL_t(Y$L*C*j)E{0#vL|p{eydCrnokoK!4=~O&%R}N5W%Enjklr z157d|X3pUx-fr4bC{@4nE2tV1^%5_xwwZWONj ziMhLpq5Uj9gxdzg<5O@BsJ2$UjXxg_I1ck$b<;@dpktL zOc0(86c&I9aJvWA-n0Nx-<}hpcOIyhS?`pT){tZh-G9BF79n~%4Uvh;m=pAMMhP%0 zr~rzLV0A4VRkL%5!ifUL%B!Si3+B>}F@QKuOcTUfw>NUqK!AxS--k9(7(gy4O=Ly| ztn@CbCm#{D;aIF)15}q4NVA+^mBs)?1u*GFF(+|jrbj@uj5H}QBPOm6$lAj=C(Z)^ zmCRNA08lO&uLdJ-mQz^3FI>d`?aw1MATFGlB83~=gv9==fl>jy1?;c;AAsX!RYzzh lReRiy(&M5Xyw^8UpML|_Bo^!Me002ovPDHLkV1jfx1+@SG diff --git a/graphics/pokemon/machoke/normal.pal b/graphics/pokemon/machoke/normal.pal index 1dab6bec2d..bd44d463d3 100644 --- a/graphics/pokemon/machoke/normal.pal +++ b/graphics/pokemon/machoke/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -82 57 0 -16 16 16 -238 230 139 -205 189 98 -139 115 180 -189 156 230 +123 197 131 +0 0 0 +74 74 98 106 49 131 +139 115 180 +164 139 205 +189 156 230 205 189 230 -197 0 0 -248 248 248 -156 57 123 -240 224 120 -72 72 96 -200 176 96 +82 57 0 131 115 41 +205 189 98 +238 230 139 +156 57 123 +197 0 0 +205 222 238 +255 255 255 diff --git a/graphics/pokemon/machoke/shiny.pal b/graphics/pokemon/machoke/shiny.pal index 0a5c93d312..5d2c988fb8 100644 --- a/graphics/pokemon/machoke/shiny.pal +++ b/graphics/pokemon/machoke/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 160 176 -96 72 24 -16 16 16 -232 224 136 -200 184 96 -104 136 56 -144 184 112 -40 88 0 -176 216 144 -32 120 176 -248 248 248 -24 96 136 -232 224 136 -72 72 96 -200 184 96 -128 112 40 +123 197 131 +0 0 0 +16 65 0 +41 90 0 +82 115 41 +123 156 90 +148 189 115 +180 222 148 +82 57 0 +131 115 41 +205 189 98 +238 230 139 +0 98 156 +0 115 197 +205 222 238 +255 255 255 diff --git a/graphics/pokemon/machop/anim_front.png b/graphics/pokemon/machop/anim_front.png index 805d96efb9ea2d29a96d6d994d27a109b1973b29..888d2a19813a6cde7bd3d2bc770a38cfb8ebaf7e 100644 GIT binary patch delta 778 zcmV+l1NHpT2B8L!B!35VNliru=Lio33J1&t5BLB802g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMLFJ!0000fN>W;TYICHdl)b&I)y4k+|7ubotejfSy?7M`q00Cl4M??UK1szBL00KoxL_t(|ob8sqZWJ*PfOnUM5?`DWDaqMa0SdS4 zl48BH5)H-09v&dlZN)=SfV6NG9eINbPY{KU@ES)0E#eVi?1RqZG)PEjr=4%-&pSUw zF-c19zRc^#&41OH{r>8D^D$>*v)Nu>yvrEaet3H^zPXnHE-y!T$^+%NeGdRUPz|qN zbqY>d;K8u=FKTF6;L)&l-_J9^Ljvx9x(&F=M7bEy?LPBBH5iAO$+N;BIY4(cdX))M zG_X9$RkDy|9|W&29!u!N5w9@EyH&3zq-opawv}z9s>!=+kA4a>qei<^bJL z_>!qo1b=)0Ivy|qC_7y7F$Mq(2WS&orUb5WDs;aANC!dxL;RMShe`Bg-x1V1Tps%x zOK=fQM8M49e~e=ENL{z~1szgaiG00000NkvXX It^-0~f>>=-%>V!Z delta 826 zcmV-A1I7HI2GItPB!4haOjJdf(4cElA@Amlt(;oUy<-3X0F=GGT6=4)*2O7GQvd(| z?^05=0048PrSMQt|AdU0$>yX0000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z2M8b|`tZg800Oj0L_t(o!|j&8Zqq;*z}>;JJRm{o6TlNhRe#v4irvd4wL}Jnd`SjN zEY3NA*Z3-dl!XgM^$Oxex`60pyOy{&Kz)Rk?-HjZjqh7f#XxR}lKbiVbH4cdS=Mgd z&wBKb-rsxDB8k2It43o_YU^EVt z$}g_ZC-_+mqJ@va2kgtpo1jn%J;ddZ(9#4aey&_LT-~HfsRlF<_yU`94UAE&2q&3p#=w00d>4 z8v%zSfTv`RpnJgcG+w!7mlHFvJjX!IjDXUFQlTjW7N}Rr4LKw%0nR7QJ&d8==X_>p zQs0!W5r2?azmK0jZ_a_|T%RGvXzC-Bt3$RqFSq+}^`)+Vp7VIpPyqz1=j=A+=+t+y z&an;n2;3%S4R1P|F}52-yY(OXfx|iJ2OP&Lo$oKgOOhOwPv-5<2Yc%(nr4XUv7hkIYY0f|nt1tPDO?EnA(07*qoM6N<$ Eg1ftVLI3~& diff --git a/graphics/pokemon/machop/back.png b/graphics/pokemon/machop/back.png index 8c8a28c8d94b50d608c1e4d8bae67e342a4833f3..2373f76d78829b33e1e022510c0fa36d0817ef30 100644 GIT binary patch delta 654 zcmV;90&)G~1f~U$B!35VNliru=Lii86&A|7t|9;c02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMegp40000%IS^`MIh2c9y|jDY-kkpc|7ubotejfSy?b76*vqI#ELacNPlxl+Y|jGc;eP$B3sW zU>3j)3IsVYYJXyYlLNGk4tWkJW(45tbivng|qKg~Gu(O4>sHe$$zY8ZKf6=cT#LJax!P|gMODC!2 zhKXk#!;IOiBvzqx%sPhGV@w4kJH)JCpZko>l^*>}K=FuG)mhBgSOI)kz%U283_{V{ z6dMAeqJJRkVO>FoP%hwzkNs?s5R?0BC@@qD&|!F3q=>OInNzC_$ex22uhc;Wppc~n zf`h5b9U@x+f(p=cr1Byv6-q!T%OviES6DLBLRJC1KuEIyyrU_UkZx88|Ej2BJNa5z oHe!7F@>(_IVkkg0{m0`6V9e5)Fj4}_00000Ne4wvM6N<$g3Bozv;Y7A delta 585 zcmV-P0=E681>yvdB!4haOjJdf(4c5gAn4$TsF+yDxL^O{ z2MG)aIjv*>00G5GL_t(Y$K92`Zo)7S#?v7}43&yfh7Jsc7k_AKcz{-Y0HerK88TL4 zLCS)FA!8M1K+2M;AZ70>bnDi+Lr5~*yVMRPe~cZZj+|Jc`{nL@-{+ud=NA`OCxGjR zt4;$$bTl;Y2Y0Hxj=BgLPkkk!qYgqA8ukaO36X(J12IBT!eFnD5Q|3zVC@03GrUy; zU1av4YbpTKGJgr`0e~Uj#du`h#3Po6A2~p5%TC4|c)?O20s?vLJZZiKhe&<-B1_<1 z3b+NZ+kVLay8vK|{{xgWGT^&$Mh1MI0Fn=<8Gxl^Rqdz(P_OwE@?B2Kd<0JOlo7uocC|%cjEb;~NAD5~{Q%Yw+y+Z_X0n90j+P-zJ5L;B@<~{H; z>yQaLWDw;-vY5WUu>!H6WSs4V XON0fTpph@J00000NkvXXu0mjfE6V=~ diff --git a/graphics/pokemon/machop/normal.pal b/graphics/pokemon/machop/normal.pal index 7274f6250e..c29f20e39a 100644 --- a/graphics/pokemon/machop/normal.pal +++ b/graphics/pokemon/machop/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -107 82 33 -239 230 140 -173 156 90 -206 189 99 +57 222 139 0 0 0 -148 189 189 -90 123 107 -173 214 197 41 74 82 +90 123 106 +115 164 164 +148 189 189 +172 213 197 +255 0 255 +106 82 32 +172 156 90 +205 189 98 +238 230 139 255 255 255 -239 82 82 -181 0 0 -115 165 165 -240 80 80 -255 132 140 +180 0 0 +238 82 82 +255 131 139 diff --git a/graphics/pokemon/machop/shiny.pal b/graphics/pokemon/machop/shiny.pal index 620971b69a..30d83084f1 100644 --- a/graphics/pokemon/machop/shiny.pal +++ b/graphics/pokemon/machop/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -104 80 32 -232 224 136 -168 152 88 -200 184 96 -16 16 16 -176 168 120 -96 88 56 -208 208 152 -64 56 16 -248 248 248 -224 96 88 -160 40 40 -136 128 88 -224 96 88 -248 128 136 +238 238 139 +0 0 0 +65 57 16 +106 98 57 +148 139 90 +189 180 123 +222 222 156 +255 0 255 +106 82 32 +172 156 90 +205 189 98 +238 230 139 +255 255 255 +180 0 0 +238 82 82 +255 131 139 diff --git a/graphics/pokemon/mankey/anim_front.png b/graphics/pokemon/mankey/anim_front.png index afd2815e30a71c611d405181322163bdc63207db..1d798cd736cf11d372c94cf57dbe7e1636c8503e 100644 GIT binary patch delta 1016 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 Ef~m3}i2wiq diff --git a/graphics/pokemon/mankey/normal.pal b/graphics/pokemon/mankey/normal.pal index b0b0e0fbf5..da678426cb 100644 --- a/graphics/pokemon/mankey/normal.pal +++ b/graphics/pokemon/mankey/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -115 65 0 -222 164 115 +90 180 139 +255 255 255 +222 222 222 +255 230 189 +238 180 139 +238 115 98 +180 65 49 16 16 16 +255 197 131 +222 164 115 197 115 74 +115 65 0 +255 246 205 246 222 180 213 172 156 -248 248 248 -248 120 104 -180 65 49 -238 115 98 -238 115 98 -238 180 139 -248 192 168 -248 232 224 -104 72 48 +106 74 41 diff --git a/graphics/pokemon/mankey/shiny.pal b/graphics/pokemon/mankey/shiny.pal index 6daaf349af..968473faa7 100644 --- a/graphics/pokemon/mankey/shiny.pal +++ b/graphics/pokemon/mankey/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -104 88 32 -200 176 112 +222 222 222 +255 255 255 +222 222 222 +255 230 189 +238 180 139 +238 115 98 +180 65 49 16 16 16 -176 128 72 -192 224 160 -152 168 112 -248 248 248 -248 120 104 -152 80 72 -200 88 64 -224 128 112 -232 176 136 -216 208 128 -224 248 200 -80 104 48 +222 213 131 +205 180 115 +180 131 74 +106 82 0 +230 255 205 +197 238 156 +164 180 115 +90 123 41 diff --git a/graphics/pokemon/meowth/anim_front.png b/graphics/pokemon/meowth/anim_front.png index 22a12d4f54c06c54584acc9fad42dea03628b1c7..d88e64ac987becc2dead807c88135e0e37b981ab 100644 GIT binary patch delta 954 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 RWq1Gp002ovPDHLkV1jiOIfDQI diff --git a/graphics/pokemon/meowth/normal.pal b/graphics/pokemon/meowth/normal.pal index 1333494701..8dec5850f4 100644 --- a/graphics/pokemon/meowth/normal.pal +++ b/graphics/pokemon/meowth/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -152 104 0 -248 224 128 -16 16 16 +200 200 168 +255 255 255 +230 230 230 +255 213 0 +205 164 0 148 90 0 -248 248 248 -248 208 0 -200 160 0 -192 120 8 -216 184 56 -216 216 216 255 115 82 -232 152 48 -148 65 0 213 90 57 -0 0 0 +16 16 16 +238 156 49 +197 123 8 +148 65 0 +255 255 180 +255 230 131 +222 189 57 +136 104 0 diff --git a/graphics/pokemon/meowth/shiny.pal b/graphics/pokemon/meowth/shiny.pal index 0aba58a228..c28583fd93 100644 --- a/graphics/pokemon/meowth/shiny.pal +++ b/graphics/pokemon/meowth/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -144 72 24 -255 205 131 -16 16 16 -136 72 24 -248 248 248 -248 208 0 -200 160 0 -208 88 112 -216 160 64 -224 224 224 -248 112 80 -248 128 144 -172 41 57 +205 205 172 +255 255 255 +230 230 230 +255 213 0 +205 164 0 +148 90 0 +255 115 82 213 90 57 -0 0 0 +16 16 16 +246 123 139 +213 82 106 +172 41 57 +255 238 180 +255 205 131 +222 156 57 +156 65 0 diff --git a/graphics/pokemon/metapod/anim_front.png b/graphics/pokemon/metapod/anim_front.png index 6640f3cbc71f0f1da19d66c35d03fb5cb0af9821..82647ce51228eb54ad45a809702b92cffb4fe0bb 100644 GIT binary patch delta 656 zcmcc4vVwJjN`sfa}EwR18rBez^x1n4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZDE0Avx;1lBdzq#4c z%h4+pu_xb=@#O^#e#TCV9KN{9nrc=_rtW#?!?y zq+-t7X?ydU4Fnn%+Ax&HTr)f9dF@opiLRh4JG&l!Vwn11uXV{bNK}!hdJS$UzT22&Ld{VDqJ#A!EAXB z+ku@W0_wBp>$ao>O$>dsIQQVQgg$?OD25qU|JSDStYsVS)I~GvtW^1-%o7$ zCg*Q>ROG*Y-ZSL`ze-gctsn6R2LBXI@iAz6tIy@O#&dx<&)(b^_y_Z3zWNs|hkr2_|7;coieLK4v}UOR lBmX?{MPF3}>dp2s94OzsOQKRh9~jS^44$rjF6*2UngIH@6j1;G delta 574 zcmZ3%dYxs0O1(jVPl)S`3ky6l0yaDdun4edIN*`d5y8N~kg>qy$B!RC1|~?&LjIUs!J~?2n!8rQ3WyEOe#w>9zk#&7SGh zIvQM$+16$Iy1V2l_mg)AtX9`B7Ho@n$7mIw@FJFx!J?$kC4=e4+>;IqnM;)%irgOv zu6t`Y)n+*pPg}Kzam6wwey*dQ@2^~J3~yAISQFji&+zFjt8b)zStmois(4zgkoeZt zA_?gdmjx-jJ)FN&TW2#LxqWLRt8>Qb8-f~)Q7e2GoqgLVW>%1K!XZGU)aHT2hVyZS zxdv`&e1VbAt(|JUKT1saCg!EIsed)g?|>EF&7GMCXVy+uxU{;aU86-sNc{4Ab)TZh zsPfKp&p4K`tJg&?VfobJt@g34ULtPkY?GKbFVuxJ|BB8nvNc*d=XCK|)9e3Nw;ty| z`0E-wPrv-3HxvGINF4kq-YBSPZg9o$b?ku#leN|A2H$R8sBTbXHaB>~Fq7dh-vmvA zDtQok(%1WE^`sfa}EwR1Kl;QUm6$~7{p6lBT9nv(@M${i&7cfeOvcQ~jUeKMd8wS^t3ms4Jyq^;00lnB?v5@_#A&r=vi&y{C&~ zNX4ADQ#J-2HV|-G`-HhC^^Q~0Lov5qJ5+^@{xv*^nY-TKf0EpUl+#ze(lQ?2sx97q zY3`KN|6fmQrG0TNH)r0`ZlaLJ_-ISJir;aam9}RYN<1n#lpgihOD?#(O!ktZ%m&Xp zEyW72F7tLgdK@9a|7Ou~0p^1J-BudQXD{C#s9Z4PQR1v*lI2 zXRNYtR#={O;pCneg#Z~%5f+#0?6KJ_A$#~8cpGmo3I5#IaC(V!oA=b!3@iG=IaV+) zG~=26DypBaY~_R7JNk5W7F0b96+7rGSQiu2C+XE2zKTcjtMZlUmo<3u6e^@xlRS!;|I}b$kyvPG5U@+~wG=Z5_8ePkawBn0?IpLG~xXYrZAPZ`ofdiRdxy ubAS0I?sjEvqFdlkn)ks!hFqrl=ogoJ>Az=I5fA3uIDU;{EzAGZU= zISV`@iy0XB4ude`@%$AjKtc8rPhVH|=WOg8hT`+)&-Y_sV6^shaSZV|{&vbizrzMR zZRW18XJ+tzkm$X{x2}GLp0)eR?XvC56xU_kmHzO+Vw6|M=TylRn1p z*O`2Ay7N@VUuL`=It>%PUEp{*gZJBdNru~6l8l0Vk_+xHmA#~BvmyU7Uq|dNMy36I zOL-5p{^c=b^cTP8Sb5j3=3b#7^Mem_IWPL~y*t2g^a{h>$Lzdw?wT_E_){Nxk@uCS zdv(1MzDIOzv?)6lvtkQsC8xNnkwB4ayDf(qK4z(@MF>a(Rd6Pf$#Fy85}Sb4q9e02)QQrT_o{ diff --git a/graphics/pokemon/metapod/normal.pal b/graphics/pokemon/metapod/normal.pal index 8bdd97c5e6..6cb2733bf7 100644 --- a/graphics/pokemon/metapod/normal.pal +++ b/graphics/pokemon/metapod/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -72 104 80 -176 224 80 -56 80 56 -128 192 72 -104 136 88 -0 0 0 -104 160 72 -248 248 248 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +255 131 131 +57 74 65 +74 106 82 +106 139 90 +106 164 74 +131 197 74 +180 230 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 255 255 0 0 0 diff --git a/graphics/pokemon/metapod/shiny.pal b/graphics/pokemon/metapod/shiny.pal index bf33e8df69..809719422c 100644 --- a/graphics/pokemon/metapod/shiny.pal +++ b/graphics/pokemon/metapod/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -144 56 24 -248 168 120 -96 24 0 -248 112 56 -192 88 24 -16 16 16 -224 104 48 -248 248 248 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +255 131 131 +98 24 0 +148 57 24 +197 90 24 +230 106 49 +255 115 57 +255 172 123 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 255 255 0 0 0 diff --git a/graphics/pokemon/nidoking/anim_front.png b/graphics/pokemon/nidoking/anim_front.png index 2615b43a62ea3c6bd614a69c5474fd08176025eb..8b5209b3ab5670929b7d29e44672fb9f90bd3ac7 100644 GIT binary patch delta 1865 zcmV-P2e$a54%iNmB!35VNliru=LiY|9}=Yf>#zU-02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMUcqI|NsBy=GDc;q;qpx=0P#65CFw2|%KuF=&(DXNXL}Ar2?Wy18BCHr z2SGA&-vywV&3Wi!NlwS**@UCKVx%$>d(aB&5M3tiMxTJQn~2&pZCw?KJY9b zHU`GzulxOHKb)breSnQQhyekoXI`;;(f3cz1_Pc5+0+TkW z-&8YJ+9zB|BdwVS)@~g`Ycj_P=KylavuV(5cILIp0a$T9iZ6HylIJm(vSY71UV~Kx zuy|4MWPkVx6be?Om}|X=GwXTdcv{+7x`=r?T)r&C4DXw=A)YFmqYJuB11~`UFZdNG zg+Rdyx>)8l22^S}{yUX)kL-H{fXHG*H@9vNpW{~`7krYvyDxebz!^^xn2*`iYoyI3 zz${y2?>>ObsEt9*=u$kwkT)Rnx{ogm=zwQ$6@Ta`!mk0Wz@Rmam^GO6x{oB_SQCHa`)Q`qzhzfd=yhDd}D9-&P_fk09N3a;LUZaH8GMS=7pC5%OWy94J!mJSHuqZLf>1b=F}0TP&f>g-W5#%jt;F-bse&PdU%;!rH8 z{G`FWZyu=wWEE=yBoI)0Uid$(BnNz%IY26?g|P(S2JJmTfC0JPCVZ+Rkha$Y!Li^7 zu=PawE{D>ySWrc_lvKLj)^Z-uC%*h5&J67Kp`$LAbM;*jV^ns4qb^lS<+NZ9*njF& zXt&m`qdMYx7r3>Sc}ZFt_Ih27<}aI(lKWHPc9~`~Y9FwBM+kHd*gfxyW^~8_y7=O- z1B~Zk2mdcj_Q4SO-u~3xTKOGQcN&yBmQ1l)0f{sSZ=yM$2cPW&7 zS^^|MP@(Jrja%T&i|0S|>CNk)K7VSjW-40-Rrk$c_;m{%%jq&?uXC#7n`ufFFgYz!Q&wp|9{@OAZ zO#<>%KKYRioI?4-7(I$phO-%uh`Z7KKfCCh{#=Qe843^tVgjhkkb~}{i)E#f@K=)r zw@6WxIY2vrIwn*aCxI2o83l$u;F7k$$qVlHBN9Q_fT@#P?2>jVKKT$`%vE0MD3;!v zq}0OEkJDO#ZGQM0y7*EFCx4U1*Z1x#{i>YIWe2lMN^N(A`9npKTYjZ}@4C6Flv7b- zo)SPuMVXY6hPjL)Y=D|ZjnC)fn5N#5%Lkp}-8X{fg?2sCS8Je57{)&P?w$k6w(k_o zWK*E1g3PyHUq)+%fnMefmTU?%SY!{h4sQWconyvpQ!Bu^dO}mN1Ao;;eGE_i4IG_> z_HFp!t5pTe6>I|-xu|0;1wvX2Gb|dc!y4eLTY<4mz|JrMNh0fZs0OPNT&%$4tUlaP zKcs7*jnjRwJN;1}aCO~7`4L53(g#LRdDL!MaF`v3;lu86j|2uOj4i+?P1!|x@bDx= zAm&2_DX)z!(hsG;2!F$NLhs6o6pL~LP=YEA)6OWh#wJ^T4q+ixDkq9&2qZ>=st-m2 zu1kAVED6B!+?EG=9R~+w0H&@lN_nsrF&QZk*w+6}9!N(V3vO|TozYy%1BsD5ek?}Z z?hf}-9^iAj={*Jn_zrMX%7e8&z&{XRyD0~Cd4PF|Q+23oV?t(MZUoC6D_ADYR(n?k zZ4obG3Msg=;+vX{x#_U000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3LF(vKXBs!00xFhL_t(o!|j*9j~hi4$9J`I=i>IqB;1MS#((R6?eRq1E%PG#W8|Gtgoz(4*1A(Ye_L9t5pM zTgu?pX!PLobDV7#-~$D^O~A#u6Kx;#&KKwHw#qfGfI#BzM8dmxIA|+1B;d1)gzbdV zyZDq3l~TCEql?Eb>>l*J0gbElHjZ}~Y##&gQT9nM9)C;F1XN?;avrM{5K4qKCT&tAJMhNiSyHJSfR0lA_)w)_R1hm;X5w__H28`D z9(N;^x4wmlL8l)p-|xnmaGXJWP>%Do8>_U{yC3Ng&ztfV?kY=g3OY;!4?%#6)Cn+# zK*S?DSbyd;+Ei)*{+${+NA?2(KxEXXlMB0stMC<=t{P@{ztoErpt#C&NCy1CX{6&G zK$vy2yI;dmF~y)}bSPC|$QzJ3^XG>Wd{1Tf82CkjuK|R{ppB&t8{9barv`AZ@}uP+ zG+s;@Xa+r%pUA^mgX0YNjROlTe|>EUEPRZYGJo=LB5{dlKodBge7StJyh4D|1-ge( zKb&-NiNyD9xV*FFpJI7+DVPNe0{W_lt{dt|#(+Z%Ild<4Duhn-6;2J_mt-Wy<;~iEiFT7kVaQt$L8#JBV7k~-c z6n~b>PJdl47sX;;M0v=J8gRS{n_l5Y?CiTG63f4y;+TO5fxH4lirrh<=QRN>h;mG* z+Ejm}(h|5ThB@b4YAj(a^6M3p(&mkwfB@C+zz}!94mLmz;rDjDhz3|qnT&=xu+1JR zx~n)uT`E5#G4Gp8Y5}u~H30?)s9Z1n4}UAk0>5MyFbpbTECD#f@r5Qpf~mI&m+ADIf5odM^>n;*rQgzY}moMSn!-bFD+WeaG|sZv&x zM%)6mPKDz_h;>x^%HIaAN6WnA6Cc3*qihLve_Sw={Ijsh@wk}o8F!ip%=T*Ii+^#E z>;;-HW^a*KFLC~V_CN045V_8->eim%2Gy+toe1_V;d6jJfN;^E_&3-K+L|pi{}{#l zCWjJ~eMFK0L5H#fG_HZ$j~;$LqC4+7=*00MZy861_x-?;NIpuU~j6+o!Ww~k_hqD50Q26rBulL=Dktw)a~>Rlcjqw;<* zk%wafg4BHRF>hOk@{W{#KTbJnGj0)Aqw{}rIJ@|CWnw}!APB?+P?w@&e9$iL{-#MUeA^>kwg$?CVeGS?o>-u4 z`_{n>HwB6=NdEZyQL%OyI7`yt`KCaoz2)m?ofVKUr~??eVkQIy!UzE&77f;61#sE5!RX~6LQFuOn}6y!tb~o`~-1CZg4Jy@HVj2sBm{lB#b#uArW30z@InoE0NFp`(g zbzg~XaWCxwUZ=Cgb3j0C0nO4Lto;H0K!AEv_Nw*(^Ae|QU)RRW-rpFOn{>ICk0;Y@ z7gQtek0(XA-yTf%`-A3q@)m!vn7qv&h<{IL{|2!0w_1;#cnzQc0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMVzdx|NsBy)z!tcq;q0g=0P#65CFwIWSD4si5xg}`1R z*iulo4oDlU;D72qY$+TNFmD^gX+w9ah=8=&r8C_rayhh{02U#i6vlAc=)xl$4HrD( zQ|LC%BbuY>qlNbF63_^s$1XP6-d_Uvb2Q*!U@F_*nM)Hw0l}Qa<3sy=2@n%-#C}Gc zZ`Dd*Ga$}$Z@Qsa zgx<@L7JyV7V7Yoc2%y;&KpQMi+(TEJXe1`Y1b7laH_QO)<^;@(eNx+gv(P_7r^enC zfR(84kyw&<>h^~PK&@jUK)1S^g~Ga+ru?<2pU8!A@W#% zBZk-hT<%hk_U*H)fJ{L(2RZxUW}a|dwK!_nuaEOQPjwa{XIykR=P$e6IF+ayNsmIw zQPz+37^IlEDKpSlJxC|Sr7}mC^yy*@uEZ5p=zpgIOv-&V^H?+vo*zU#9W~-Sd~wM& z(i4&^=bbVUaJ8gv z6d=%|P}4HYqf0N!sgzN^C=@_yqyel$VF5I?y8@8WSULl!7?O|WzWAm6)Mf%N&vGiP qm?bv}eD>v3<7SPtzw*=jFY6EUe%R=|pYD4A0000!1zdz$dG6#U`PO{ z3LOkCPw8R+00Ll1L_t(Y$E{SsirX*{bqKjzc(t&l9}%Of(0`>Dlkq)+G>0CS1@9Mh zf260D-ufej{jq9fNggGlfl?h3VLiQ>d2dEt_iszxINwqKcYwy@4FY$ApcO$$0&K8? zE_>UGup^+f-4l(CxMM+B!e*7)&*#Xc$u$8X2&y&0V9$*z6v4@d14VRi=f-^^fAUjI zVR^a+>=`i89Dj>kp05GnJ9*I12P(Hb`E!#3tUq&(ugl%JnFO3@GDPNO`H%rv#h_CV zk?7;{ngNGX4RAy@0_?PY^a2p-CzSv%c0D*i$whH?e3}5!&x4=);`XH2qz%9)8tAwg z0cdmvEY=0b70f79@IbTz?in!m20(O4!09bd`#BixYJI)pf&|rQWl8XtR#I-qkkn;mVDP0e?#) zH52C(6SKshS2k$TQvvY4dY-oIOEM2R#!iKS&_aJS(GPVjuPUK*h+9r+k%X=6i|3vj z`a;FB81DhJ=y-cczyLITyT~;gfJv%gMUg9=hhAAcwR+e9nBsZpr4d_%qLz0T6Qza9 z#1Dm&PHi5#6bG%Vi*ORa);PQX2pLdJM1K9Yaj_XZ)LxIYjrIz@c$}<|I?ceb`(Nu1 Xmvc_?*Z7@x00000NkvXXu0mjf%xYc| diff --git a/graphics/pokemon/nidoking/normal.pal b/graphics/pokemon/nidoking/normal.pal index 84b8d0f6c6..cc92935f63 100644 --- a/graphics/pokemon/nidoking/normal.pal +++ b/graphics/pokemon/nidoking/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 41 106 -222 148 246 -16 16 16 -213 115 238 -164 82 148 -41 123 148 -0 74 98 -65 148 197 +144 200 200 255 255 255 +230 230 213 197 197 164 -172 16 0 115 115 90 230 65 49 -230 230 213 -232 232 216 +172 16 0 +197 115 189 +64 144 192 +40 120 144 +0 72 96 +216 144 240 +213 115 238 +164 82 148 +90 41 106 +16 16 16 diff --git a/graphics/pokemon/nidoking/shiny.pal b/graphics/pokemon/nidoking/shiny.pal index e4d7cdea6f..5c8ea52d50 100644 --- a/graphics/pokemon/nidoking/shiny.pal +++ b/graphics/pokemon/nidoking/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -40 80 128 -160 240 248 +156 172 172 +255 255 255 +230 213 213 +197 180 164 +115 98 90 +230 65 49 +172 16 0 +197 115 189 +189 148 74 +148 98 32 +115 74 0 +139 238 255 +90 189 255 +56 136 200 +24 82 156 16 16 16 -112 192 248 -72 144 200 -144 104 40 -96 72 16 -184 152 88 -248 248 248 -192 176 160 -168 40 32 -112 96 88 -224 80 72 -248 232 232 -224 208 208 diff --git a/graphics/pokemon/nidoqueen/anim_front.png b/graphics/pokemon/nidoqueen/anim_front.png index 0a8f23915b6644daca274ce4101d66952534573c..a5c6c39cfc6c2408c5e1d8f7fed7d47612ecc35e 100644 GIT binary patch delta 1507 zcmV<91swXW3-t?-B!35VNliru=LiY`G6U`7MZ*9902g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMJd&b|NsBc$jI*Iq~^_wz^GVrS}FgWi^ynbpeR7z|9}6S)!tgP&0>qJF-l4h z5D@dm!x#Vn00Cl4M@0Xn2lB-L00kLIL_t(|ob8vfZsSG}hFPT}iMu{9;67HNAZ4yN z+O3;VUEty*B83gTMUWRrfNPQmk(1JmhoXZ3YOLYv44f-1Web)71EeN1OUdRsD+R$7 zNf8zYnfq~ec7JAe=0DH-Hy$6a-0!c}%VQWif$_vEJdc+FCvIR^q!S;~Lg(%s0P}QG z4nM{T-Z_Dk0aboXdL1_qAgY|;Hc8^MZ9oB8mTUts=k;B{^?=tQ6`-SBJA_a_%cS?M z8yF)@*#y$keF(1_4*?3~hn(x)3WiV|@G^OB;`$th%YRpFKvC-2!ylZ(Z0~ac!0E(z z05B{tVE~<{;1dAiC_Y21oTo5H9QESPHoymsNiU91(7l5fA}-^22jG!1>y@0dD4Yaa z=<_;ONY1L%97Kt<8mCw}fIwnk06woP*um%&3{VN+uuybQ0X9J8sC?Z%HNi}(ajNhy zUIu#9K7W#mN=zgOUzqU6!x~6Ts0hdgd@hD%`|uPlA`TW2=fyfGUUROy0`NcaNh#&6 z8bEN##gcX-2Hv$JvksP*T9uq?0WRLQBa-zLn^mRnTl``a#R43+>h&goA0!9M_yn?V zqPQXxu13!NJtc2S;>{O)%GZ)nHV|yQ2=>eu#(%eL5#Jktvo+lq3BJfRs>%S6ks@<9 z?w$dUZYs5sEZ64~17(&``s~J>?lfel_4#O@D+-`eq&$CJdZ8DLAv=q)Q5 zk$-`FCe`;0RE5SxA}x*!MkA!Tgtu`^L$O!yae^E;)C{ObLPFD=YNEotD8$3&HRm1p zwK--|)%S*4TgiV(u{p-Q6S6-mL`#w4{`T|&aHi0Qz4$`YY9d)Cn2^3G&rW=8b4;X6w5cO*T zVvk+6{hEsb^ym%Ayd+}4^1;vdczA$Q2 zMdfDrH_JN!ct|8bv^W_XQVug~?7(YL(kD?t`4eEdfGUa(&FIdJ31!P?24=l_a`(~n ztK8O{0bkyw5S@h8!C3NX-(2C4Z?5Wak7I}h2B%9`_7xSM78`ZI8O>k*7eD~DSPKjk zCGet|N!b-MIcBGiPfDQSgDzNf;9bb#K+PP$KhqETfBoQi{si}3p2a?@18M*O002ov JPDHLkV1lwwy*vN_ delta 1436 zcmV;N1!Ma43$6>0B!4haOjJdf(4bkrT60<{b6P2!)!xw1(D?ZH zy{ua1&5Q2lq;M!G=zw@ix$r*#000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3LZDKX;Xy&00j|AL_t(o!|j(nZ{tP~hAEIp?I9O}5g-Legn!{uE9wmRDv=rqkYN}I zV5&-ELt>>venXr_ZD2Pp1Gu^S9kwf8l|!ni%13!++GJ)a*<5F(Ah;qa!r~xvAI|R1 z=X;*_Z#*s7bHCqPFNfH10%6xnJ&%_Wx^AG8#@!aisgB$`AVhID@4PBX7&w8L0hPZh z=TkS}1E`4bsDCVri)}!PNm6bDAma61!2XigF&1E|Tss6qQ=@4goRoregQh@BKl2Ecg>z5xQX ziwl5kumy;rJujx)fEH>f=S6W2?j5`UU|bYC0FRVe&wu2eY3d}{!i?7;19E1iW+#fL zRTx9obtOy*=23iKm$Uu$B^n?Tz+oX>Tq16O%#rzeb!nVgW?`)0FQ@c%d-W(8RT@ta zyfD!UJ2g-mR}qp8v^W{YtA|TGsMuLV92e`Nu+Onx2*Cdo=eeY}Y5@KrCriAj7Nx2WZcz=dFxKe zo1A#_5#REyM3fEqn^X9A<_mMSWK^6OfTPvh81cW0G^oq~n2;h<8-r)SqvK2sCCc^v z#6X@T6h9whLIaJ-Wqm)o<%~ki6e+K@PQAeMLw`&jCEP^pX>mou=SVefF3SL%K9;;( z6j={z0P^P|U^R%!CRY9fOuP345mGUpxmwYg@Q)%C;vZWz$~ zk$>h(5nX@@F7&C{CMNY)@`@;vKO(D(1h<(SY;970N7@Dmj<268Rt~Avi#|lRH}rfX zPKn72AZQ**B0jmi32kgcZmZphkxDTfM-8OJH^2e;~u8*c5$$OwGjty12X$- zalkzz7`SJDEe^P3bH_2cEpa*3V=<3i0Lv(T+81W<4xFQ1artwk?7q?*?PniVNCs zt4E_Rkd>#M3Wv*h&sUF&YHS?EQ*~eo3mFd`txv02EkNwC%eLQgGN5jMAeom$3|MDq zMR&Y2Mqm6WNypX*l_d^7H+>VLH$U-6N+dV?WKHhZb&~}HOsHpOV-q-rbPY@qXYa1- zc_e#mM&9toMEX4g2lpp6kTT$Jbbn`XLp*uMRmH&SLk31(7+@3Df%MtW1X!$o;Qe?+ zD((fooms)+L4e71Jxx;V_F~K7!MwZw!IKhb>W7p? q2Mhuh2deJ?{+WKz|LX_G^A#tFe~AZtY56n&0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``|NsBh)z$XR)&H!t=7W^IT4Mj4i{?QwtPlX+_J6F!-g|?jL27#`IZ6N! z5D?$&brb*q00Cl4M@0Xn2lB-L00JvXL_t(|oXwTJa@#Nr$N2)K-k{yO<|Vv$Qpa2u zYwP6!eOa>HOsMBD+U zXooWa0dd+%vu6N?3P*IcKkt+oSL?L(_)0(-qhdRv^A_=UeUCSQVLMuSxv$52Gn4?8 zMt1Zug{GF<_>F;N7(`zYmJrD8Gc6oF6Ima?QFwt*L$5uYAXmOSzrarUbZp2iG_It$=f*EE;sP0FGMSI0GH zQeSp}L*9z1sFFe)zKB*j8RWG-^xz9tme#foV@rBq7x%-Qm&`Q3gEJx2tpY)`M-`9SuV25$CIdY=1<6zl)YREg{+_D h#4b5>d5m|y{sQ0TWBoeok8J<|002ovPDHLkV1n>mPS*ec delta 690 zcmV;j0!{sg2FeAHB!4haOjJdf(4c5|Fo>W~I7kQ(5D?&ikcdD?xL9Dw*pSfB(D?ZH z;E0&`sIc(J(5fvW_kVOqNry-P000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3LZEl)=m@v00J#ZL_t(Y$JLdwj?^#^hK-U3*s(48j8}*&!-_HE=&v;LWfAl;%`~_&L+*8=zTCAVO z3xo)$a==PBQAm?3jHm)>L@9GM=xHE|sx1I_QlKNSYAxha_zXzTOV9w20eT?p(uK0{mVmTI8R7uiDu7q#JE(ISNu8pX{`hbw+Z3SIC=S+3 z7{_zd^ZAIP^I_jX03Pg63&oms7QBKR(3lfeb=-vs!37v?gK8em3P>WnhbsWm*i)?1 z65(bUih!?Vw`HAl)CRiHD7+7VGD)9+Xgpxy^*GX-H-C;hK?1S5iJ;%#n>I}$tHq0+ zD!}6pZueqUFhlho_<3Y2@BA3T31NU2_aK366S45fz5~x65#p$(038weP+OyX_|h)v5kF>kDmM)BCAgs;2Mvj zPr9TM*MHw^l$sa$FkRyUWYs!{wZ`Y+Q!?sA#Jg?E)=OYf=bVm~6LFYnA`W{UEOKNecIL1aGdm{e+rEi>iU6pghxl3zQD(n+ z{>QONbkIi{!nIHgIBhqA&;ZN$zfQqa&bIQeCo9(HFkgvSB%kHnC~C3i)S|)E;=eh6 Y0L6`owBHJkH~;_u07*qoM6N<$f(64qXaE2J diff --git a/graphics/pokemon/nidoqueen/normal.pal b/graphics/pokemon/nidoqueen/normal.pal index 3901338e37..1072b0bea7 100644 --- a/graphics/pokemon/nidoqueen/normal.pal +++ b/graphics/pokemon/nidoqueen/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -98 139 172 +41 213 139 +255 255 255 +208 200 200 +238 230 164 +230 205 139 +192 168 88 +115 90 41 +255 156 139 +200 104 104 +160 40 64 +222 255 255 +156 213 222 90 180 205 +98 139 172 49 74 74 16 16 16 -189 172 90 -115 90 41 -115 90 41 -156 213 222 -208 208 208 -248 248 248 -189 172 90 -230 205 139 -238 230 164 -112 40 40 -232 128 120 diff --git a/graphics/pokemon/nidoqueen/shiny.pal b/graphics/pokemon/nidoqueen/shiny.pal index 08199f12a2..eb79180117 100644 --- a/graphics/pokemon/nidoqueen/shiny.pal +++ b/graphics/pokemon/nidoqueen/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -104 120 48 -136 160 80 -56 72 8 +213 213 180 +255 255 255 +213 213 213 +246 205 213 +255 172 180 +230 131 148 +189 90 98 +255 156 139 +230 65 49 +172 16 0 +222 246 172 +197 222 123 +131 164 65 +106 123 41 +57 74 0 16 16 16 -224 128 144 -136 64 72 -184 88 96 -200 216 144 -208 208 208 -248 248 248 -224 136 152 -248 168 176 -240 200 208 -168 44 32 -240 124 112 diff --git a/graphics/pokemon/nidoran_f/anim_front.png b/graphics/pokemon/nidoran_f/anim_front.png index 4f35d52180ad7fa02a9ebc418f426e827b33d9ec..a3c57af26c404ac5e0d4bc5bb5d236857b7e62ab 100644 GIT binary patch delta 845 zcmV-T1G4;;2IK~iB!35VNliru=LiV|E(ULaffN7$02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMcCMQ?(YB9)&H!l&2xjSKtO>1QbD~jN*I`sQj4@XYJZgf0RR60|NsC0-rn92 z5D*cyzykmP00Cl4M@0Xn2lB-L00M|fL_t(|ob8sqZreZ%$8Ye>dIws!WHDgsW(7KH zOyb^&K#`$-i@ZSrA+Hex2=X{hi%#9T*YF2A6)LGDEl~5kb!kmNTKF@MAM*Wa%*jsn zw`_9$`qFI~ynmUPrpyr&kGO0Iprj0dh`x!A5n5_MVgMr$G2!xnV<5V0gjNDj@@fv2 zuxjDDzon!GFtMc7;2!$^J_95uVdnb2e~&s)%((?4pr>GB0Jewz_O8}}hTRBfk65qu zBG_M+FcrT#Faeqm0j~yQo5N08`pyA9Gk`d3@i2=wj(-EVn!qIeq6 z$8tQOQpzx9FvJDma~*oO6X93``j7$Gov_17>EsLG+3hQz11uu7(u9L9{08d10K-)V z2)O2_UVkkzz~$F(Yt!NS-DT#8VqnL`$MtH^{m*vXd$N>stoua|0e!Z+~w1hPcn zYjENsK&$Jf5jpA{Pz0xL5O%z!*~tWGFksj{NGb%f0&mv zY_5A=ATsK{g$6cnS^m`xgwxuIIFEpqLR{Jgrhjud<0DixC}tagixS}R4)x18j^fVp zoAC?aZdm;*@hkJ9t{UYXMUOhA)p3Rh(@F+b51MEd!=9bI339(_r*`VcClO{ z3Lq!w8(5qG00MYPL_t(o!|j&6ZreZ%$7L;AW1WCx$RP19HGfca(b0frof&vfkUT(v zXqK%2*N$yEw9k;I>D1RMPi->Pq_-}u2}lcnzT=0?KeOy)C;MBrID2`?RvVu!vZ~jJ zg-5I_AnHK@5YbmIFaos%SO(A$024t60s}6nCzR;`uwINI2W(5a8Xmxk2V|~?RSfsT zaH9a0dfJ9z7=PZQ3>0fF!3@YDWX=%V{qS(x$w0+!r0YBEMmY)g_dRWrUu;+csxJo5 zW0qGzD8ffR;2Q&oal*qW-UdD(JU^v!mn(CaXR&8sgUbYX+X{uqO+~n-GIhjYeb{g} zrQZUDbOv_#XR7%&Hi)eOi@<@l2T>Md@ztX1**V`L1b}3C_Eni>q1X}O}K3kAV7#@R*;E2jv0eFr!fxuA!WeD;R zW+xL=>wiF!e*#7Qv7Pq^ki|PEi%ZAye*?2T1!`dZr zo&hNYSLYRN)^yERh-y%5ABiq{qPts^hq0T*o#j{YCm=kt`nOT;C^YRX@0j$c5lZd0 zh_q=_!@4MmRuT8?VA+?G`wSs8esVr%l{x1@MS8( vkp-hm9hthQ0wbT&!S49}(4F>&|JQy3Zpf$f!D+pT00000NkvXXu0mjf8lYSh diff --git a/graphics/pokemon/nidoran_f/back.png b/graphics/pokemon/nidoran_f/back.png index eb6b3a13702eedba519b6368b422f6cf0494c100..3eb74f44c3a76dd40f70dff30d6dffc7365ebc75 100644 GIT binary patch delta 636 zcmV-?0)zd~1eFDlB!35VNliru=LiV|E&^!nMGXJ|02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@M?%x0Az3#n~#hhxab18%WQbD~jN^_JDT6+jVVt)Yt0RR60|NsC0-rn92 z5D?i8Z~OoN00Cl4M@0Xn2lB-L00Fs4L_t(|ob8mcPQx$|hO=bOJ2=gZls~t02_j@} zRL2qvnyFNk z1qj8Ul)*u){B7eg58Hr4lN93C-@w(kw!vNh%t}c)KThr(>rryP?-}@f+=`1;6Jr5w z0nYb32A-twgbobwZ#@C@R_9lqPA(_5z)tA*k;=wzxxUnrX_(WiMgp#=TI&8Bj(VQjA)KDz5^MDWD+8uRgWKj_$ zmA(QgQkNecl}rQxUzhZlCmz8>xPzSPc?V`>2*i5Im&7AVAh%aoe_0+-x<;;}C0#)a>V8Q%&uxkW)f z(&H8O{ z3Lze@1>w~I00FZ}L_t(Y$L*BCYQr!LhC?p7Zpon6)GkY}(SM)fa~s1RpllB?XwGds z@ZMoBFxbmZcABLccG2MOjHt2>xoKHIDk<1LRcL1I_x$b{BQ}_ z3`wmY!w!7>+*?C&}TK7SVaqSeegz&L>Y-Hw58sRN-s1N^K; zfWGqPB|HQE$RltSx-I#Vn`n@}%E~7gL`TE&LVLV*yRE{E+opXoNuesNUbir0AnIjs zU}@=681RX}atR@^3^FV>NoLqfj>#cdW)%P*+_gXI%74nbAV^Zty6D#Xhlxri)MQ=S zqo2406LAl6jOQMhkui{((XWV0C?Hyy!x=EB3wLgj1ckGaiUysQ2A9T3PzL}BL`F7H z$dde5*GlgD>Em1FO^ERoP08;Qm-RkhF1|N*xD{fY7ESK_(8Wn=Tp=x}2%EUFOo27x zFMyNja4_SO+0j*dm2(C*;Sa=OoP(3e8{O#r{dazY_6vGkk}_)NJwX5f002ovPDHLk FV1jL;0>=OV diff --git a/graphics/pokemon/nidoran_f/normal.pal b/graphics/pokemon/nidoran_f/normal.pal index 6f2e8898b3..2872525c60 100644 --- a/graphics/pokemon/nidoran_f/normal.pal +++ b/graphics/pokemon/nidoran_f/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -115 131 172 -90 65 131 -172 172 205 -213 213 255 -52 109 179 -65 139 230 -16 16 16 -248 248 248 -189 49 74 +216 216 120 238 238 255 +213 213 255 +172 172 205 +115 131 172 +64 64 128 255 82 65 +189 49 74 +24 152 144 +82 139 180 +57 106 148 +255 0 255 +255 0 255 +255 255 255 222 222 222 -0 0 0 -0 0 0 -0 0 0 +16 16 16 diff --git a/graphics/pokemon/nidoran_f/shiny.pal b/graphics/pokemon/nidoran_f/shiny.pal index 7c10b617d0..1bbf5a7c2e 100644 --- a/graphics/pokemon/nidoran_f/shiny.pal +++ b/graphics/pokemon/nidoran_f/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -152 104 168 -112 40 128 -184 144 192 -224 184 232 -64 96 0 -112 144 16 +222 222 189 +238 222 255 +230 189 238 +189 148 197 +156 106 172 +115 41 131 +255 82 65 +189 49 74 +115 148 16 +90 123 8 +65 98 0 +255 0 255 +255 0 255 +255 255 255 +222 222 222 16 16 16 -248 248 248 -160 40 32 -232 232 248 -248 80 64 -216 216 216 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/nidoran_m/anim_front.png b/graphics/pokemon/nidoran_m/anim_front.png index dd3539ce42ba8566d6d36d281cad90a948bdda20..e929d01502cceeab3567fa7b09026156d7785cbf 100644 GIT binary patch delta 762 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMabx&|Ns9G5D@=rQrfmrqkuIdlEy0_Xoht_5$pxf2>=DK z;*R++cH;(?K~v=Z^DurICpa1(`@SDW+OD~7Gs@8@Kz|D5L(37eq+S|2-gC>aTUp&& zPRFngSAR~7>QKoo_e5D9DR@A#a;_!X{nToCIbbTAMD*=e0URNTMl#&ph*K+yZebydZ)g< zQo#V3I)4|LrUB9=(=rXXn`eM!3Xaj2RR9v%Q~lu?N3gdAz_oJ|9Gymf|Af6SVDtXP z7F+BuThxJB)WIJ>{Bl(X5b#1B7@J==Jb&*m>Y%pi^~h9AbWsO3fkISHcYjd_d19xz z_N)$MH^U#kF8`tqBD(-cmgRp^2SEy0us9XPwGI39smbh7HR=x-0xK0 zO%gvRkCd47TO^pipHo0zpUsCd6Im1l?)dYMbe0c{JO0$hvq+j)?yf3#pft1n*{A(1 sAXvYrc2+;gV7OWRAOd625C5_K2ETSLJol5cEC2ui07*qoM6N<$g81c9%>V!Z delta 691 zcmV;k0!;mq2FnGIB!4haOjJdf(4f6y#payVVnJ#U5D@OY?f_yz0Hkxx&CUO6Qvd(| z-a#p_7ytkO000000000H`5d7D000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3L_4Igp)G>00J&aL_t(o!|j$qj@vK{MHN^VprtuL7}x7jlz#%#SxGh*MQ2yQ7bphK z1%l=P?V{HhOb=Spani+5F3??3%L^~~OwuH6eq+}2PagP#eY3lf_d3v6xm5-R9SGPZ zzTL&4QSB8XGO)SZqYi8kw`t;@A!)!K5xg-Sj$`(UJ=VBo0I+31bHNT6;5g&)YbHHM zU=Lk;JfCw?fqyLk5RT^pU^=!#C%_4`Buy5;ON5ixJlHERGN3uIY>5~y{!*<%2$4i&#; zjTreBd{&aIhpde*b5gH;{;r8;@MPi?Rvk%^lV`NG32NZ1WPb^J_fISeKsDZ znTV_)^o~D#53_s#z2lF)n?+J#xl=X01BQj|4=g#WBaM Z`~v*jmY`C-lG6YH002ovPDHLkV1j-eHkAMX diff --git a/graphics/pokemon/nidoran_m/back.png b/graphics/pokemon/nidoran_m/back.png index 0fc9a65094448ec28d1f8ec7f371885cb2085984..7e35ec6fd804ce359503a09ffbc405ae4e1a69f2 100644 GIT binary patch delta 637 zcmV-@0)qX^1eOJmB!35VNliru=LiY`J2ms0YZCwf02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMT_P^|Ns9G5D@=rQrTHF?%r}c!gAG8Lc$x^2J(yNZYb7`ctW5NcsDNUci* zTqO#g6#$DLgKAv!=@=6*1usBf07mkY_KfHf;By5l5d)4RI#M7MK+^`O{ z3M2-=9*xET00FK^L_t(Y$L*9sZo?oDMJ>e__=XEG&H;kQ>VG;osLDMW`6ONRF5UHn zodLU*0J&1v8ClAL2mjA!NY_22=cse+u=Z<+eIHCswIMN8P0mFgD3G2fj z0X<&Vx3&gj2Ub7!4PYU2*?>1J4UwM6@hJhTZ-vDqHO&bKjVO3ffFfR2)i{^kF)}cE zE5M@yddW|g2Y(=Bz?KS8A|^P8U=;ASj?l{?10!UYwsi}DCC}pW(FD|n9gKxt!)p^z zjm1S6*&kvf>!<+DVj`GuZ6v8gAPDh512~ZqMoyVS490YZ3k!o17HX9RxKVi>frzh} z(7|MPt%i-ra6m4*%=LSatbfYBpPOyM_zaj&Q>`cYWq2~}Z2~|&a>4E%z5X@;#B4#j zBwK6rX)C|=Y2N7E24dEbC+Zp+drY}nCZ2U%-}C2Pg8CVcdH?_b07*qoM6N<$g7ty& Ak^lez diff --git a/graphics/pokemon/nidoran_m/normal.pal b/graphics/pokemon/nidoran_m/normal.pal index 711acdb79f..ad03647e4a 100644 --- a/graphics/pokemon/nidoran_m/normal.pal +++ b/graphics/pokemon/nidoran_m/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -189 98 197 -230 156 213 -98 65 106 -16 16 16 -238 189 238 -0 98 65 -0 164 115 -205 205 205 -255 106 82 +200 232 160 255 255 255 +16 16 16 +255 106 82 222 65 41 -176 24 0 -0 0 0 -0 0 0 -0 0 0 +180 24 0 +24 205 156 +0 164 115 +0 98 65 +152 72 168 +238 189 238 +230 156 213 +189 98 197 +98 65 106 +205 205 205 +131 131 131 diff --git a/graphics/pokemon/nidoran_m/shiny.pal b/graphics/pokemon/nidoran_m/shiny.pal index 843ad1eaf8..83a3892a63 100644 --- a/graphics/pokemon/nidoran_m/shiny.pal +++ b/graphics/pokemon/nidoran_m/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -144 160 200 -176 200 248 -72 88 152 +139 230 65 +255 255 255 16 16 16 -208 224 248 -120 56 40 -144 104 64 -200 200 200 -248 104 80 -248 248 248 -216 40 56 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +255 106 82 +222 65 41 +180 24 0 +180 123 90 +139 90 49 +123 49 32 +120 136 200 +213 230 255 +180 205 255 +148 164 205 +74 90 156 +205 205 205 +131 131 131 diff --git a/graphics/pokemon/nidorina/anim_front.png b/graphics/pokemon/nidorina/anim_front.png index f5a23ddaca16d46c6260028c9af51c2ee659892a..9c5bf97385c19873dea08c1ad49d3efed1b9dae7 100644 GIT binary patch delta 1018 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMQXis|NsBh)zyQ8gGz(;5Ms0#IdlJ6 z5D@QwH;n)Q00Cl4M@0Xn2lB-L00T5hL_t(|ob8sqZrd;r$MpghU!b*t&S~-zZl0jX zlrhniJt)w2?N%UThQ3A?D$dr$C(3JKl6JBck|^7&WV1)gK_r?kItHk3uw>oO_d%Y_ ze-Iq(wb>--O@Ep@G4c6(quzAU`00Zm$eQOpN*8{BruJq^!3#_wHjYV;#*q4mX$%O2 zqbZF5(%l3T1EdJhv*^+Xj507lM(?61@)Qx$446{$jG{j}-;EHUp93&@ckv;LuDn1p zrg2J7hr`q8%F{&-8KpF(7X~=@0K@|9Za5sCMV<@+VSnhS0GGp|x5gk)4e;~hsjo}y za~lDo3(!I70g}d#tEGc5_N){i(|ce!l(k%Bejw)X_}<2t`l|Q=z}ZdT030VGoV#s) zLC@pO8w`6SMGYlV+XfC88SQc}fTAfsBBHDe71tft-B4XLe; zNxaq!TdAGt&#+B7rZ_ioQnN(y1iBe=vjR9(2&9lFDra3FJjU<}fgDrEImkS5N+^%i z91D5CK-CDdhM$LI|lfUW&bd)D1WD`2(^Rx=AHG?}o9}>cm{MEVVa9K(y^{_4ID# z2ezh{gFO*mBK_5Uu!9}!-|V1qf>)_=<{qG)Ul*G$IHE1}ZxD*eb5S!p4Z8*$5C| zK%IlHP&~B?DI1w)pY_;FoebD!thNfoRCD42pbA-yu-^&=hJqP5ub35Zn+6b|k{R#% zjSQLvdNYopqH7_=%qfv<-s1YNF%Gi=V^=>so?zc$BhbA1ftZM-pW9K`s~?E&FO6fr oejo!IX}^9Ti|0^Y_y25v0755?AogwmrT_o{07*qoM6N<$f@u}g_y7O^ delta 936 zcmV;Z16TZz2)+l9B!4haOjJdg(xh6Hw8iG`Ia*>65D<&S%@{dzH(#(wfbjqS|JK&l z#UK#>oQv*CIfH|P0002F#|GB`000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3MDaNxEY8500SXOL_t(o!|j$aZrd;vKxIe=Fimml6gtXmk$=*VbdhChus50dy+M>* zAVE)%YAxa(ph&WG>lkz@icZbewTI~^4et+)$Rgg15^m` z>-xe4Oa&M~@PCuKt{qAET!5BxCOF3HtKAtqj57euPcGlp^|=!$*F38DP1D@e=Z-2; z5S;UhUmD=b0R$G%Cr#5_*NzpuKx3Q(Tr`a{N6(Wj@aFAJ?c8dAI|J00puEHZlx-Y$ zOL>0e*eSN=N1#(k3YrNw5HUFYXy=%?viJA735JD5L~IG(7MGy7rfiMKDXIvil2qXQi@*p3oMha zIrdFd7Js^wtc30gso4SSDg-J>OPT5};NRi&5`h$#j#8j$*-IgLkTXo=7$?f7xLOKD zxATHqbADneA>jy=42s^Fn_qpZmdVCW1Eq3xCK1bA@neR)Rk~U?AVlG@9nG0eiSsow zCxlR?@FN}ssA{>;`7R9RM72wi#QnBht?up7(tku{?kSY5Zguu)mF;`&s^v!Q1#qUr z<#ZT_ad4df)^TPpIZpM00!qy5s=``8nI3+_Q z+v7NPgu{+QS|S^C9F!n4lAV3}>o`_nSg#D@I9i@Rn#=>3aXfm^fy0a=Eu8#fvhdTOzbAm?*JN!UvOV1ZP1_K>z@;j|==^1poj5 zFi=cXMgM~U|NsBh)zyQ8gIa?iL23{nN&x?yi|$G}#UK#>?tk{~-sa7e#k6XqVp3WV z5DQ*1@QQO(tPs=7K{IJHE*iR z=S2NQs-F3J*ng(jEZX05J%MdSw_Yqu(ezgVfVx?v(CEDDulX2>P^}>VMgMrsL{9_= z5E^rF4OoI(0ue#XO)Pg4Pz*2wE;?w$%;d4l>Y|GhRkrSnNY5|&0r4rzh6p(CN7S&v zUj#(;?p_gd){z`Au%0!fMYq~B5WAcRjahcPmSY1}t#W(;FX{giqPk;v4)T53Fm|W<5gSZnO(ed*H@aZat$H_(UL8FWS z^ogJEsir}Nq~gilU!r_8+HZzNElJCV~|T;r1>Evdo- zIJ9!{B`S@z8GXGoR&sqTX`p4WJ!yA^m6W#SK!1QPh<||1`O7;4O#t-ZC%})oQ&>DIfH|P00005&nl<@000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3MMI8`O+N#00K}+L_t(Y$JLcFcH1xvhV5q^AhN6_o56UOO@A>%Cr6?VKvBpE{FEFZ zL-)2XK0ufDDjhrZRs~7hq98kaILLm+N8$&5P@c^`<0?Lk&hHlXMku{=&)qt~VkY;~ z_yX1`eN*7cX9B`Nz zA~7s^28x@6!oGh$m|Ai#PJp%8zaHOAB^Z&Y0Cd!bug5p6V9l~b!14H<)Pnc`_(nj> z97_UF`V{Z3US`Ni1XV*Kj|Al05bcOAQ~3NsKu%|6tbbBnI|&VTBm&WVX(sJVw0=U3 zs9%2&`s;5u9V=358^jk6{98?d#?`S6^=$vdBIoH)YF6j|GtKt#M5Lz!q6JZo9T1U> z<23$JqX9Nqtr!7=3e|29mm(rc_q`Z7VOw|@RCGTT8U|oYnBUaXQHP9mle@ZPxz{Qi zje{~2Ykx6611r?A-_0t_e7yF292hXRqINw#>+_@?AK+5kkl&zHnCW_S_jEAOKXV#r zGupn8%P!m+<=cS({272hm`Cjnr(E0s_S}L3` z5MTa7V#N*PIO#;SP?X00000NkvXX Hu0mjfLSsgk diff --git a/graphics/pokemon/nidorina/normal.pal b/graphics/pokemon/nidorina/normal.pal index bab15d82f2..3aa9887ea9 100644 --- a/graphics/pokemon/nidorina/normal.pal +++ b/graphics/pokemon/nidorina/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -90 148 180 -197 230 238 -57 90 98 -16 16 16 -139 197 205 -24 57 115 -55 95 176 -72 128 240 +106 189 115 255 255 255 -214 214 214 -197 32 16 +213 213 213 +131 131 131 +74 131 246 +16 98 180 +24 57 115 255 156 139 238 74 57 -131 131 131 -0 0 0 +197 32 16 +222 255 255 +197 230 238 +139 197 205 +90 148 180 +57 90 98 +16 16 16 diff --git a/graphics/pokemon/nidorina/shiny.pal b/graphics/pokemon/nidorina/shiny.pal index ee67585e03..a9a96b7252 100644 --- a/graphics/pokemon/nidorina/shiny.pal +++ b/graphics/pokemon/nidorina/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -178 116 166 -255 198 247 +255 131 0 +255 255 255 +213 213 213 +131 131 131 +90 131 32 +65 106 16 +32 74 0 +255 156 139 +238 74 57 +197 32 16 +255 238 246 +238 222 230 +205 148 197 +180 106 164 98 82 90 16 16 16 -204 157 197 -40 73 14 -65 106 16 -93 131 40 -255 255 255 -214 214 214 -197 32 16 -255 156 140 -238 74 57 -131 131 131 -0 0 0 diff --git a/graphics/pokemon/nidorino/anim_front.png b/graphics/pokemon/nidorino/anim_front.png index 8aece1ef78feeaf74734253696d84538251adf72..0d97497486c2a798d9c57b8fc19db5b652e76d1c 100644 GIT binary patch delta 1007 zcmV02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMUcqI|NsC0YEs@oDYO^>Iqtnm&7=U7Vt`ms5D*aNtbgv!gWi-{v|2f0#l^*g zgM)K+Y`p*g00Cl4M@0Xn2lB-L00SvWL_t(|ob8r9Zrd;vfVFDSkTLh@+O22tmbIQb z^ajdEh|U3G^Z@Cj=77W0lD=_5i)CXj`~lo z@4$FxXq8qe2^fZp2MCWYokO)dm;FIHm@bkRqT%%}u#7|AsBoTS zXdZ4uV1IcT!o-aa=NQ+xy$!Lyu6xFS5TZ|kS}6e@%y-7=sRB7Oj6CEgsa|@KIGlYP-PHTdrQ9kPj6^!g(O?(?(WUe;^vdG6 z!W6Ipuu>l(IaF5K!lww(@(hrel(teN+qTlr_;&x9RpN- zedKt@oH#$P^E$cyKRYM_ksTEDA+v*`KK!X2l!3h+6!jssgIphSJ2=#b%nlCqA+>`y z^nYP*2PJ(-?4YC%sU5tf53hD`s1Lav6!amsgOWZZc2LrX#12aOkk~;{A0j&_>O*7) zC4GqOpr{Xt9hCGTwF9#Qj@ZGh4@r@U9nAWW%sRFM`2kP*!1Y@k^-mwcOi* zo*+k-#<0rd{h7c002ovPDHLkV1hwd#vK3v delta 926 zcmV;P17ZAy2($-~B!4haOjJdf(4bm5V$Flz5D*aNtnQRrv;dT1O3kGB`1pW;fWW}O zkXW#&C@AQFcmMzZ00015k1(MC000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3Md)jqt8D800S3EL_t(o!|j$mZrd;vfFE6TiQMM70qU|L^fm)M5etv(Vtgk38*E?V8%zn9g2cSNgO=EY6 zQGPuQl#5BQDbVkM1-6-jO2lEes@B+Ap99eE_Z#K2fZ<%WZyx2Rasy1{q8ufMArL)EA46k3*B!@z4}h2Yh)J{c(iXo& z=S3qEkab>)1m70!nP1;RRE~QDpjJlWS>9e*dR6rsa06Vkx8s5ZqbLk7I!`}I*#qwe zPG6hi`uWOEI+_F4P76vJ*dvp0^h~eq@qf(fsegO2_7q^N>-NmwZgu&#U9SJn4vI5& zkkN<44p#4B2gOM{$m&CE2jv+%nCnAg2XlRh?cj($9PA*c50M?@^dYu`WBTxB2XlQ$ z?I5EMQ#;7%Lu3azeTeKJrw@@GWc6WU2U&fX*g;MoCU%h3hsX|c`ViZJ*#Rf)V6PAU zsDB;o^?{DrfqZ~ReSkJ^2TUj*ehC#H%Yz+A{vPEc&uI=A?Vx+~?1wPMpbyck>(LH= zDKQJi+PR<)5dgssKK+pc3#^QM<||12LF_<%{w-eNq{#5w)E^|dB`MrGH>l9z%pa^R zMy;t}2w=t^+WlI|24?SnOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPiHp|NsC0YEs@oDYO^>w1b?KVtZ;iQjlPH5D*a6)qnr2wDyC0y+KNg#l^*g zgM+@itStZl00Cl4M@0Xn2lB-L00KZsL_t(|oaL0ej^iK{hTU3PKQBr#@8E8Qa?n19 zg)L3DLL7F}jZk2w-fHXV=I3TRPNY1*P{ag2{&R({`;OxWKLL8}o)G6}M6VwcL)awr z@>n^(772c+fq!#)j*w9ufw`kBnl(kC4T}EK85OoNx;jlqC+b5K$gp( z44n9~JG|fzaRW*iyo(c=A4@6=@KXrocM6@ddKrBK0>cJ5Hjv=xvyA``V*?CB0y#BP zjJj5JwV%oX3HSDbk6t*-WQn#PF>}N@VvE|e&QfLHWq=K_OkW-R8fj4nP~3o(Br&y6 z2ZCxd1AnYd*RD~#xtTqwWNZIE3)aO@W5M`yO+gN_+aF)$G2VZfl;`5{%}{0KL%NbA z6K~I|>ha%yVXQY|^$MZ4@(3O{ z3Md+Qs-A@a00KQpL_t(Y$L*9$irg>|hHcF3TP-v&*;&SWtA9-ea*L5f1(My+;0w(W zvdS&zFFkCxyP*$|Xd_wr^w(2vntyS;@Drf3{t0n;Ms)Tu(V9)d_K%g-dzRpb8n|ai z1sT^6h||4kA#hdu$uK`MQiy^5935MC2dF|2vtLxWGt%;`LzZA(7GsB_1?+Rk5$oB7avAO~a z9dgwL>mf1DD{u^hEUpLSaYmvr%v~ZNp(Rvpq5vPeindbdmICKN3AplUce%$0aRqW1 zyo(c=pK>ZQ@O@dF-YGOL*nZL#Fbo^yIYNS!PBsiYRDTtS3<=~k4ocZl)z!X~0}}rA z1C#AJ$s~z-uCVgNDdK?I)XsAG+$Vq|@hr17dfzW90oe^$5s9IO+7eW&8DMp}c8%lB z&E!cTYx{Reuxy$V3&!uW1li8b{`xA9@$E;HJZFz@hRZu|v(HJ2>h`WH9{>7drt%_I z->s}Ld4EYLzopit3gnlOPVhWp`aEqwv0%r1GL#8`zVR<4K=Hs%I;6h^6e}8?7}4mw zzoI=gt-q;tl&nidDSqNd0ifeur{q$~6-`*MiF-iRo|IZfhZhp(8F}zqx5~3YnheS{ z;z*A1@GIcS!={EM0$|r(5yeu+)K@yWskVO*)jM8@xd5JLY^d!|NX2`OG1rJDI1>8v oX$3r0AjLtG1lFIY=Kt7@FIXHEO+44XKL7v#07*qoM6N<$f(LO%TL1t6 diff --git a/graphics/pokemon/nidorino/normal.pal b/graphics/pokemon/nidorino/normal.pal index a668ac118c..fbcbdf17cf 100644 --- a/graphics/pokemon/nidorino/normal.pal +++ b/graphics/pokemon/nidorino/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 57 98 -205 131 222 +144 200 200 +255 255 255 +255 106 82 +222 65 41 +180 24 0 +57 238 189 +74 205 164 +0 148 98 +128 88 80 16 16 16 230 172 238 +205 131 222 148 90 180 -0 148 98 -74 205 164 -248 248 248 -128 128 128 -192 192 192 -144 88 176 -168 40 40 -232 128 120 -0 0 0 -0 0 0 +90 57 98 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/nidorino/shiny.pal b/graphics/pokemon/nidorino/shiny.pal index 4c4ca0cc25..8d2bd5c5ea 100644 --- a/graphics/pokemon/nidorino/shiny.pal +++ b/graphics/pokemon/nidorino/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -64 72 136 -168 176 240 -16 16 16 -208 208 248 -128 120 176 -104 56 80 +98 139 255 +255 255 255 +255 106 82 +222 65 41 +180 24 0 +180 131 156 +148 98 123 +106 57 82 144 96 120 -248 248 248 -128 128 128 -192 192 192 -64 72 136 -178 70 53 -247 127 111 -0 0 0 -0 0 0 +16 16 16 +213 213 255 +172 180 246 +131 123 189 +65 74 139 +197 197 197 +131 131 131 diff --git a/graphics/pokemon/ninetales/anim_front.png b/graphics/pokemon/ninetales/anim_front.png index 06ef7fc49288e7a2ce348d30c006bb5230293434..f6c85ca51ebf98257644a1132bde9303efa821f4 100644 GIT binary patch delta 1337 zcmV-91;+aO3Cs$RB!35VNliru=Lib`6C#vrO)LNa02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMU<4@|NsC0YAN0z5VQ~g{{a8^pg8D&DDK{K&75NY?tirQ=6mMFQq7!7gJKvE z5D-J)Zm<9V00Cl4M@0Xn2lB-L00eMJL_t(|oaL55lB+flhPl9?O>U8E%vs(h`{!lu zl*+CJK7iWd0DwHJWC0Rhr0OjUCfyQXY$Lo&)vGWyE}Q<FM=i}>*t&9sk z*jB?OX0J>5B7gfaHoOMN9etdgb6bKEAZvi0fxc`gQZkinKk`TB+;gZ+?uSEm52t7RnX$1mEJ?mf0_bT&C`zgl^3-Qg6efkeZ`)v^^y}}^R&>E!@QV2fA`(}yO0_`Gu=Z#xwZ6E1YU8=EB67}W5L)|UA z#O@X1-2pFi9B;#4-+r6yl8?vAf$8N%)aLMw<77KN2|57k4?hmyy@H?iVTNQh*=6Vs zhs92U;^FogyF}a$hi)84Z`Wdcy`BC(_!0z!St`XyvKSAH?;w%!G&J+A@UqPh>2y%^#clHgT@B$P^Sx<< zAIe!E`Aoj>LrQOLdG%e4ddMq32&1$ud-9ER95(nNv4jVuzx{i)+yrYE9uKHep?^8{ zi(t(Ue7R%MqoRi2Z}5X_=yI2ZX!$1Uf?&-L;tF)RQ(qSz58TuO@BEPZA$(GM7Ub~E z4?@iXhu2Mh7(d$?53Za1ko@!6a`z%ZzsV1Y`1E)%blhw=_#wGfn!Bg%2x7MQA?fuP z@W5aF8~h+H9uMfUiSfgX2XTIw@qZxB5B#gx;fIoc5gx?&Va9_fKg@Wr%MU9&c;$x~ z59}U4FdjttVa9_fKP-3< zFLwBWM^c?c`5`T#xSjeqKcrCI%-F{HLFhu%RM~NU80lKRyx|8U>>GX%<}wXGB=7iv vBH87KGvnAEKagObA4t5<5A5cD%n$zpTcwLJbE~W}00000NkvXXu0mjfq6>Rj delta 1255 zcmVO{ z3Ni^yIVFGq00dr1L_t(o!{wGiva>b}$N3mv02B7l1{UoO6n}TRgakJ2D#p4(kI)PB z2wi>qZkj8+%T=<02L#Bji!P*Z6QlrD4)nD2V@DB_DP{YWzbdV_q2{$;4%MB%bqe)Hk=Aus$~w(I*NPbG zG`O%icqu8Cc7HusIsR|+pafXB5J_nhg#Z!J*PaD*?CN7F_>BZn#{#(K-o84i{^@r>7ezhVaF~1(MgH?2fY`(Z zS|4J)IjIjJ2%Lohpxhj!xI;w&Hm&NN9R>qaDynG*fPahxSEc&i;(+x4>pg@?9wiPy z9(pV(RY6eed% z%`QsgJtX|G6!4I5-k3kROH>eKudmcs>_aIpc_8MSgT@@TNm>emC3MhXE$|Df+_IJ2 zB>o)Bx_@FpW#KvsvNAI`*619gsUDOn=>@dO=)x=nkJP8ihd~0++SgeS+y+2@kQ?tI zlPs}hrfY;_H;8dO*;PqSMIuAxmXkmrQUtuMV;6}WOQv>H-DjB%g=AVzRXLrqn6FM* zg7JTIz7>VwWBhtqqEtX{k-hR3{+8#Aw*n3Vozystn;_0@Grr)3IsiS+zsjH}zXalf8e1#=Ykd(((SKEHFEzF%wv1pxJjU!H$^1wZ9#hp3ZP(-zO?Y$t(RO`ooa#O?Vk zx~}tfE4tU|^yAZ45KG+N>=MtZ!n$sEwu!&qP1Pp)uRQX^mhkwmPw)WfQXY(uQIOYeB z2Pgb6;lU9=SzE8Ph{#9++s?t~wBCDq9xKg21x+oM0`hZwS(?8;+)5Y~x= zD*KopIvUH(8-9>Nz2OHT-|$29jvpwJQ+~KGj-BxX3C{U}#OM6LZvMyo@DC@*0}!tO Rp^pFn002ovPDHLkV1jg1Qp*4U diff --git a/graphics/pokemon/ninetales/back.png b/graphics/pokemon/ninetales/back.png index f1031e7208ea3c360c3f05b0f5118969539a09eb..20dc22959585488fb3ed9254f8117bc16e4c293b 100644 GIT binary patch delta 674 zcmV;T0$u(21iA%~B!35VNliru=Lib`6DQ;WxuXC802g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMU<4@|NsC0YAN0z5VQ~g{{a7#tma~z|L)#%&75NP?tlN@-sZiu&76a*ds>4K z5D*%o&oTf200Cl4M@0Xn2lB-L00G`fL_t(|oZXaLcB>#1hMmB{`HuxO18@gA0AuqW z3VpAUv$t{;(uY2Em6c_T|Hr=Zo38tNi@nj+nAb2 zv3QjL{#onA5~c+7NrzDtvtVZ(bP3=IV5?ae1*#}>UK}2zO@*xRl>_X(>;9QJwV?nW z1%N$$WCh3#r>Qca#}BwzgwzWaQTF+?ao+a1w^4M_^?&bv-Z9Rz9AzJVGUHo0Wk_oc zr*Z!w(8u$v9dQCGN0b@R5zQRgu{K=i?Hzztj-+dtF5e|k?NOxwWN~-ejc=U|g#5%) zDG$Ru_;`;)D5KL0%Q&uaZ2|_jvIhY?){r+qd&fiPV+$Z{Jaj(j8rYL-4~PJa?EoCT z?8khM0e_|p5ZBvnKAB<9;7jBZZzQ!kCo|{_Ae{?~`l^OT3F0VKte`g)i%5Ww(*bI! zqzaa05O+eTbX>T0OZjQ{`u07*qo IM6N<$g6BjnDF6Tf delta 608 zcmV-m0-yc51^EP!B!4haOjJdf(4d%rsCZa_*x29@5D>Vq$gn6N`1ttvctDV-;9!{e zuTMq*00000000000001=RhK9L000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3Ni}SFmyTq00G=dL_t(Y$K91(a)Tfc$1RfsBu;!!2^>HO?|+HK0|eRoU!}W<2ujkK zzO_uoIR1a^H`+A+Z?Pj?IX}Gu4n0v4p8WCx&@Ejp!1D!h)h#JQjbNPfhIP6p^JHVI zO90^f6R(a7JAyuzfUveBkqG*Ssow=429hEncP7Y z(Lwp57Hq47EPny)0H&Im@!*RvyVhbO#Tv*6Upc_eP4mIKH4P7NEdb2vGYh~CSWTaI z8h>C@5KgufM49J9q^#a+9`0!}Vk-XCXpT!aF24j0sh`K60QKGj zPDIs5)>d8f!Lo+xnvYeNFx}oc@byxy257|X_VisEv40Tmj$J96!LM3fQV~k)bYPjr zrN%12aVxtLpi>Na0<>4nx>hxSG&SqGmwO;Mmk}@vpy~!R&T=esY80C?z&uZqyz|S*GDtgNiR6a44$Il* zVK#89fmy|XzR@#21I&fDVthF+xlpz29vERZVSo~~a|}}EKp;%Gb8%QQz{%|Oljb1+ uGEHe%ZTB8{N_rsnKpI!@czgdt-`a1*lm10)FP)(P0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsBADKYLjF~#P4oYhK;tT9SjApZdW{{a900Du3Kw8e9jq*`i&DLG0I z5D;)PB!~b200Cl4M?~J~ZsMB&00EduL_t(|ob8prQo=wG#;>Cz@8B!gYIj0ulZDcT zY)U9dw&dY#4}Ad+cz}?hAyjbg#ThN!Tr9NExvxm`{j&d(nNO*x|EqH!&@A{dpoQcO z$OE}jR6s5QKz}MhT#$yWlu8UzO$nBy^$5-)pl1&&q#_;7^idpeIf5w>z)X+j4VI7r zonQj#V>|E{onVS{gaW{oC=m(d4CDyVAfhlvGQqN80G|kPF7;ry!4mOIREm4>nLIFe z1&qaGD~BuY;4p)G^S~}~vY%MCpN-v$ZVPN)YGbXH{{|1(?Trls_BI5lgSGcT;9^^K4%zl# z?K%NNo@lmpUo?kv@z4kSKs47q(X58yXyz$9kN5$oOZSNWYkmi?`w+n4 p9!zHEvpWQ|ReAswvpwop^#-3pmj=*e0-*o^002ovPDHLkV1f+X3{(IB delta 746 zcmVFF-lq>oYhLj=6etj5L#-3bCjf%w8ic@F)2Ap zvRrxAm8<{&000000002HG*OHI000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3lA^#9)k1$00L!6L_t(o!|j$kj@vL0h9v=Z;mSkFsZG*8fPciz0c`OAvH_|{m%@~> zscr5q(ywojc2mR)_yW0JhQxN}&~1SA00IQehj~zs|Ie~}eCEj6jeJ=NG6{H9bqjL} zD5qJjt2Izfa#d%Gm0p`I0Ti`j8Uef$*K_3H0j?_q3LfcFXb?)uhe|gi&iM75MXQ;V zvR10uFdkc^s()J1ln8tU4ztLJik>rFrFeh9AV@EZt2_DwE(5TM+5_(omRymwlw;fne_+VR?d3lu?%D7h>;bKdUft0E9Ajwz;4bed&ZMeg_QzjT|Dhwr-~AjC z6(+|48zkf(rTsnR$t_To)AHYc03B@~{-DL!C6w26D9rs^`s+WRcWGc^ZvdlPKxVr8 cU-%QpKYXRDo1+(oE&u=k07*qoM6N<$g0m`9VE_OC diff --git a/graphics/pokemon/oddish/back.png b/graphics/pokemon/oddish/back.png index 5ddfa0bebb3a1b2c183a4d8e149fcabb7946fc52..73a7b82941ddafa8ef9f954ef76f95b531282ba1 100644 GIT binary patch delta 603 zcmV-h0;K)31oQ-uB!35VNliru=Lib{Bpxck`=|f_02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t|NsBADKYLjG2Z`s#r8Rr#W7-o0RI60{{a900Du3B_CZ?306CNZ5Mlrj z5D=+*9qs@C00Cl4M@0Xn2lB-L00EduL_t(|ob8l7Qo}G1g;gb;eJKMMKz2zQuS%z} zR57`r0vCvZjw+c{b_HU0W%6UmNOGbul6Sjq{H&Bey71Y%xc+wLPS5Qh=c$D000000002ec$ZcH000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3lA`O7LNe{00EXsL_t(Y$L*BAPQx$|#?weyI&rqL*N(!T7=IoB$OANy!oZFru|uRj zO~ufmPs!am^iN_N306*#tN4EX?(VadB>9hJz|9Z&<{?U~?waN?2Bb}6%q9X9Pn9m} z7+|^*qJV}RWTZyl60nU(WC(y)0bl|IfS7hJ9Z8LGgc1sJ&d=u6(h&+;R>1sh8s#(y zz$Ua=7?uj&YJUmXYE#LD9YsN+40OiGrQ=0S5-lhIM9tFAw5GlkXb{pA9w5VAqj5-3 z1Z=!O)dA#a6^hOMUZHSak!GqCdm1Li-tiT8jDgUg43@9+c3^O-otjkMPP70OQez+q%3iPykky~Hd0 c#~V!Z07*qoM6N<$f=>zTBLDyZ diff --git a/graphics/pokemon/oddish/normal.pal b/graphics/pokemon/oddish/normal.pal index 30c3a26452..0476c65097 100644 --- a/graphics/pokemon/oddish/normal.pal +++ b/graphics/pokemon/oddish/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 192 192 +222 222 222 +255 255 255 +180 41 49 +238 57 49 +197 230 123 +156 213 74 139 172 49 74 90 32 -156 213 74 -197 230 123 -16 16 16 -90 106 131 -115 148 164 +255 0 255 +255 0 255 +255 0 255 148 180 197 -238 57 49 +115 148 164 +90 106 131 41 57 74 -178 92 121 -214 149 172 -0 0 0 -0 0 0 -0 0 0 +16 16 16 diff --git a/graphics/pokemon/oddish/shiny.pal b/graphics/pokemon/oddish/shiny.pal index f62a3b4a40..94dc7c3a7d 100644 --- a/graphics/pokemon/oddish/shiny.pal +++ b/graphics/pokemon/oddish/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -153 210 164 -146 188 56 -104 130 26 -191 229 78 -219 244 144 +222 222 222 +255 255 255 +180 41 49 +238 57 49 +222 255 123 +197 246 57 +148 197 49 +98 131 0 +255 0 255 +255 0 255 +255 0 255 +139 246 65 +90 197 0 +57 148 0 +16 98 0 16 16 16 -76 147 29 -112 196 39 -154 226 81 -224 72 64 -32 96 19 -234 72 60 -255 136 132 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/paras/anim_front.png b/graphics/pokemon/paras/anim_front.png index ff5d42fc2b0086ef8a3beb95996d9df45752042c..6c1f8e90527aeb9b0f022ca03a6b4c6c208a0813 100644 GIT binary patch delta 950 zcmV;n14;a<2FwSLB!35VNliru=Lii6G7E70r0@U$02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb_56|M&mS&dyp|TL0Ek#kC>#YiqqiLSrc@rKQgQt$$w0HL4K|0n zX5cL#zt8WT&wp^=v#fQjV^vgI{{hbS%881zSC7g8$NiGE`f3E4$MyFbsGK>UjKF=v zJ@_Vs)!cLTjlgf$ZS8t+-KaUPu?PCo+U0ok)BWtY=Ed50==B12?=}w202hJ*1lOwo zTX^0N0dUvKp0=3X5Zrh4RB0t2=hhs z+O}jD{EKI=H877c%@qIzY$jcR_SS^QvBY6Q3Iza9I_l#}&Uh?1p%#zw1pp@^5TmPb z!V?%!62%3;CoyIo2|8WOz*lJ$6*^Fxz5t)A@{j_BCHOc(w2jFoRs|GY1bqEe@l00F z9{`jCxPQP{T|l=xvmH#*e))YwK2NV8d3#P1$m-<*`cP5IC|gkBRm>Oe&`VeX&;r1h zJLuAnUu`T5z(Ux>=cWHIYwm}od5e+q0?3!8d9_>R`E{&g9ZxS-2=`x9j`qumv!j|p zW{ZGR&xG1CPYD&bcAWaM zx*96Jj^ttMQui;pJ$=v&;0$B4y5nrHVlPDHjX#&nr#2957zH1L`C++uW$EqfSjQ8H Yza+yWwR5j-Hvj+t07*qoM6N<$f|qWpa{vGU delta 787 zcmV+u1MK|F2dV~;B!4haOjJdf(4f6RL1HN>_G)Uyv>^Z0QVM?eRSFY000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z34Jr*HGk<_*HTOkrgG*W2q)PkQz<&D^z|eJRlre{jTka~z0UXgr#0W-j_G-yw zGh(16Xm51#5U{R47^$?9!YyYOm|YlSzAKHP$SP3!IJt{s6OT}Z*vrUIuO^pN0zeIL z5Uv7|xe{+L3`DcjFbgP+%K?SBnGM2*f+zE|1;rUt&u&S@Q~ z(V2vA3WePP`~lE9QlnEC$1R1e6hO1b_Gja(ueUee*g!`d;PNy)DiEmd54gtJX-p5> z37ph4JSq_2J1UQTDiHezL*@iafC5CJoxASOJ_iDZ9GfYCBLHe3IUIj>w|#A;BXai7PmY;nvb1_K4H)A z<$mJa7x`y^BZ_mfh$4z81miymhI~XYI2`5+#x&Nsf>9d7C|5A(*X*YR!`6do0xS!L ztp^0al3<9?)`Mvb&|L^dh;3=~ye!3Z(%EPp*9z!wX_kP>Y@AcgVU;k{s7OMual zr3bVQ!*zWx7?d|Au=Ic&hJd+X=xA(A3T$3>YWtF{QLj38K2#;W^z~A@6_xwQQ=z(Yn(JYRsBAy(-0TJY|Q|?>l RC=37q002ovPDHLkV1j1{Te<)M diff --git a/graphics/pokemon/paras/back.png b/graphics/pokemon/paras/back.png index ca19353cf422f86837995dfa6cd1e938ceb99f82..0facf2b3d9bf84221f5651d7c34e0eda1c7958d2 100644 GIT binary patch delta 626 zcmV-&0*(F61d9cbB!35VNliru=Lib~7#Oyi<%s|Q02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb_4}|M&mS&dyp|TL1T2&b=Z3dz9unQk(!8rKQgQgnv5kQW?cDA!{iRIw1%U z5D?qpZ6*K!00Cl4M@0Xn2lB-L00FN_L_t(|ob8gmPQx$|$GcGpRe6}qs7rv6DTF5| zj0_3KMy2x6E$@*o%r%G?I4ekuIPxnXF|H0xM(xiV~mi=lhCBqrLX}cOAfW z&jR@4PfsrAJAeOdw)_R8(aEeM$PX|d_{Xydvh%CfNFhCiyI%l69N)N8Psb2Na5exQ zPXV$Rz8nx!ge>~%1NSiiBn}wUg76{mzyLTPXqJ!+`q(58L%to2gs3#T*+TKAgUd}!L(mGphnpTN(VJ75AdF})?rLHU1;lopb5!s zNaJ(Z3Tve{fqHKNpG4LkAd$O{ z3<(F5zMBmI00FQ`L_t(Y$L*9oPQySDg#(47bPPDu5Wrmu$bSh8z5oJKCltGd6)DwP zXvH0K1!5GH(aJmBkB*}?;>iiMX6rOs(#XUfnz}x`|WeC&x zHgJ^yKNmm~A$0qP){Zbqgo%k?6p zC?R0@S$cwi+htX~l&nPU81q>w>XJ%GjRbsoAf8qm%t?s$nY)NI zBAW868Aim>Qj&?NwB3ja97_(+eE4aFRJy)Go4r;-h=0sQxN3Zj{swJcedmG4*RBVR z1-2@3ZH1@b9e}7ifRibIbU=o78z>x9pFF^KRtSeNT~DEe1A;mwk71>+A#$`z271*1 zzKG2{Kq5=JUs%)Fs;kdHv!I|^L!PyJ;BP7OV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``|MvgY)zzGfr2o}Y)y*;gYHIE=F}*QCdk6^s0Du4ggHqmVF|C%Mr3&fGZ;4}emWv4Lb_&pp_0vhKVcV3Cw%yl)U_NK#e4Po zFQa`R~us|ZS zz?`S5X@Ni{v1QC~!2Plm=2;~6$RCj@>!Yh#W z!4c>K8&g`KPoX}v1++UwNI(Fp`Bu!GS~d?OIR0RvQRr`>&M-LfP&c$m#d4ftYOf4CHi{ zc7F}T1nYfkAQ%Wg``P}`7|1C$eC!yA3D(v?&W%lY22w|NV<0mNv<6}U{mB^!O_aWY z*lgF%KuoeqUodR8Yv~Nc02iKM*yxV3+CVJe3x)*(s13w~ySzS@*tScC_+r}S)nayU;A8fWaX`b5~eShe@;ZbHT pqrr@iRNY`;-4#3`3G4dP`VEt`yo2Mbh^+ts002ovPDHLkV1j!U%BuhX delta 947 zcmV;k15Esp2+0SKB!4haOjJdf(4cq-2>57d@Gvm=&`=N%5b&6o(8w^rFhF1s0I)zf z`0)7HXfV*w(3psz0000l2F4Bm000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3<^7!{Ip2`00S&ZL_t(o!|j$mZqz^&$GwFmoQiBxP&=FeLw`Qn#7Za!q9@{!QxU-l zQ0POX$pKbi%al`ilpAdAW;Iu!OhJ<~@MfMr#_RP)LNrJ_QX<*&oA+jHYyUsb+l;>* zlkM&G^V2Zgequh1o{s~&$6>e^y%{eM$5WZ2$fEG!nNfJAC^X)nhdWgvjPLw}J8JBSnq?l%+U>RjB-e>994 z*DjFjg%m&MzYWuj8|Q5V+5nfo9xmq(kchg@O%G5ifyWe?5+KtTmgs=O0FZ;O9=S>~ zt!1(dEU-eN?lq{ABQ60uLB9j81pKdLZt6i=%{1!+kj#*fJkfZW+*iBjHxL`F?>hs*K=?4s_Vd<2 zjRjb_Q~1ZNf2-I=Wi}DG2BcgaH1cF%Z*Hx&}ho&Km=<$tqpJpls)|F%S#f zI)8#e(e0PDfe_#d1_2(_24cfq-dDLU-E3!`UmFOef2w&G{wCX*m(9pPNH9Prtv}do zX8{UEV<1Xqu0PmpXE_RnHIUK*nd1*O+r8ZQgCPunJ_DUUP}JtuAAB?{v&Re^J)mq4 zYJV^-QN;R!!92$wyn?dX@dwKGHqCQd=q&m}?+f=!d+Cp6ywBOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``|MvgY)zzGfr2o}Y)y*;gtYYqqF|=YadqD{Q0Du4g#Zum+F|2AqVmSa1 z5D+98hHwA?00Cl4M@0Xn2lB-L00Cu5L_t(|ob8gaPQx$|hPxF{yaO+Q1P{OxsZVfH zm|#He8*s@~mNb_sl~6@834qQw8_|9)S*T3zb@)jA`2PRCa% zlQYCx=`u;4qkjM?UA`onn0~dFhS(fpfR?w2m`8xU%D6?M5+fELN>aKa!WP1arot8? z^8f`c1Oa#=WYH7=sTTFKiUaBiVT*=a00WO9z!Y#JSXc-fudqR$Vu0h)(|JH0xEu0usbXP;QhK~iMb8YPOZmlQDSC+uhfbF4$v#=nlm7d=DT3Ppk@bR z)o}z~E}VfI6k>hL5!}A{xKxDt#`O4JjET4dwFVGPK-C6BpLeI=m|Ruw54uCQn4){@ q?gtI@b0K{^Ni__=FYl%Pc>MtALT&WYs9eDS00007UA=!h`*&`=N%5ct4Q(8w^bU@%}f5U6la z`0)7Hs7TPz(3psz0001FB0;zS000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z3=21hQOP3!00CV|L_t(Y$L*A{ZiFxlhL52VBd9{h)PeQ|sDE|RtyOsd7*IR)9XeED zJT5}`1v_@^*giv@I0;Y^_LI&7g8U!9jh(RDUE}g1MohPKJQqc^LBymNRh5JdNG~3$ zr%eMQotZA z4A52hEpkpF7=L*80XhUH63Mzoj?onI5dtjN)!P7l$SDYzcBF}~#;FR#Y(eZhXJ7%$ znmORsCjiT40SKGIWs@@^7qeNJFQvgB>RG3|C7@maXhLmZK*C^vo0UE?a7fmGn1&{y zG)1Iy>uFm^I2z!kv%?k^P%E^}8Ho1!d1SzDJO%U_ms!BeqcyON0vJBI1pD5yT~xyG zrE|Ql+QcUaFx5bmqc0>Kwzr?!+a|ZK?!HxqY}G}3m;JU1X#P*ZR@Ap`ef_szR{Q|~ WHBsr?>B2Gq0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMPkL2|NsBq-rf)p5dXcL_EJHl5CFZTN|bvbb6ODp0Du4g|E&M!gWj}iw1X*w zQUKPo-9G>T00Cl4M@0Xn2lB-L00fgsL_t(|ob8vtkK9BQ$1SRMf7jVuG&C?kdyysr+=>2ls1^1V3MUPYe=W&7k zkI!*masTRaLh$r*nZoAOzqpu+@+Sb;pnvh>c#xJohwE=3z}FKFEUScPUjkrcIAB%V zI>J|91GzX1`%~CA%|GK`&tWGFK}nIRH|!<_*#0Ik8Gi`qC4{n3c{dLM-ky-4(tI!o zs@esE^5z`24^FZqQ(v@#a3x?P%TNa2Lh$iJ#6+Jh2HRB>hpI`o%dirIC}V)A1p4HN zCGa>vqzTala|ogt1;L;Y=@t?i07Bh`Ezn^U1mjlWi9#R>J|8Nm^r?)JB~NhoNhJ0n zn%9ZW@_#p7wWOeQY!?%e%tKk4gEhNdy=*KqYHw8fR+y{`w&PF4?KW~s#2dkkqte7z-F9Y zkPHMIW4&J!1ZpV9*s5YD1(Y8&!r=m?GVGA1eSf_LYy^=hz>EZ|En>vwdJcvw*rM5% zpROpovwSWEIEbLisGoaO&JeIPM6YSjdqJNjOHnwTz+t(pp^JT?*tY*c zJAdhzJEj1O)`1P+<#z;DKWntaGSMVqOjaAhX1{w^A8W%(_aSWRRWMH>7!%OOQLjBn zHzWNvbOIF7m|)uqY+j6wU?<^tXq|b< z_xy1e_NmX413B>h(UnRo@p9?zs)7JxIe!5;7ycQYy#Cb`VAxOPx#+&Wx<~19YC=3`ipaUh#P_qAlPTHfM9P56hO#f#UqktpPPq@0tmX? z3voi%>8Fnot7<49fS_xy41)&%e|-N4kMZypkpMvg+k@XzxOqm$aWTw80z`e%)PMI! zPKaYfDFK3Rf0iY%aj8zYYawWss|Eo?DP!;uQX-II4wb@(+tn``9uyAakAHYV1QBs4 z6+W!iVVj9miej-?yzq7v@&+H)pyL7CSbr~`V^Tn=Zq`@w_SEpeb}aX=?@-7fCh(vt zsEQh3n0QbD^2!7Z9S>4D(i}bLxocJfhE>TAhKIZS zpl93i!xSD+kgno~c>E65_+bTh08@I&u-f*;&+^gAsEF>#vr eihKJ1Gy4}liZpUkIrY*20000P(b+j`1rV( zpb!Aq*x2~^sE7an=s+-rd0dA8000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3?4OJ>P{N~00fXpL_t(o!|j*9kK9BQ$L%S$_V}DzrL&!3-G3m^V&xC8^R(t98aQ2_ ztX8&=xWbm@cM?hqgme)~IPwo5@dum`9ipL4!B*QK>MQsM;El&WXYEUiP^Q^g&)09> zyqS6LW5amYR5Q7yI-E}nIOlHjYfTFtaJx42U_EVuhik{DpOf&TX@U7($YJaA@ZtH4 z;NJNxnal^BPCjbOrjujO8OnS-U`>^>g5?c{1>xC}T$6d6f zAh1jaVi7M385-AETpr%EmTC)JT65$o<#MX@@^Co3Y1i7#$!HY`){VyZs3NjJYbd~` z(Kvd_g?~P@W@kXP!m4M;hk|k>pyR`W-USjQBMT@ZKNxPF*o`fqfM%Xv5RU{LlHvG3 zP^zgc?W&566wvyx5xUwDhYirS?<<5x5a|Ngk>F4PL|mTda(sdf+HLvjfmU~#E~NlQ z9{4*N=Qah|J55tBq4A-B)#DWX;OX97rK!uMy?MoB?Dvlu2@JXWyK0KC?K ziD;)s0;AtGI$}G~EW({iR!hvcn`)M=;ElyHfH%$zQj%dBAOCZ zt$)De-qZ|cT!3|F?XhG2mg>ac73lwcYr(^u;R}=3d?9~l=)hjrh{Ek~+Jt!$^4KK< zVdzcIVV|#^jqed)tY;wSB0Qzc8$O%^4D+7Mi_W8mM}*P>1l_oACqkn6qj@O-f~r5;#h5!3 zC)l(Qv`F0+AOh)w4VV#ucuVvZK3pFD7~p|tG5+Gu`$P~C$3Wr3VP6dKKzO&ew|{@x z8y|Rs4|^Qq0n3dKZvTPU!$4Kmr?Pqu@W8YT=fl52NGE3S!1pMM1HjPnz(?S|4j4l` z$mCAzfHA-WhFKgR1BTtd3N4!` z$0dHy@xZ7{F`ws$+6mqO^aLJ^?`tC%75C9qD319-vvAB007*qoM6N<$g1UrrN&o-= diff --git a/graphics/pokemon/persian/back.png b/graphics/pokemon/persian/back.png index 90ff463731ab5db3a83ebddf21513447e1ced633..e763e480e1ee5224dd21790eb6fcb280aafe7fda 100644 GIT binary patch delta 704 zcmV;x0zdth1=t0UB!35VNliru=Lic07y;8WCw>3`02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``|NsBq-rf)p5dXcL_EJHl5CH$QwC;n0-eO|^0Du4g|IPpQlCc6%ykE5< z1xVEH&O!kWReu6l5c-LJ-_Do>N<@Il258ejj;P_qJbqCCoYMfBMkyNrMLLC6$^%2P z3KD4b#%ustbKQU^kTvHiE8r6S_DL5Dd@&<{E(h);%qd z%?ucYR9{1e9-xDfH1HI(7_$ffecE=VSUiHhL(jBrOhXolu3Bs1jKdA`GwgPPD!9>W1Ew}4R)fN z5IMDwI6bHaf`U3zAK-l6^^H+abfQgI%E!p4?^#Ra(8Fc{4 zg=g6Aa=;kG=;(iCz#1CQR>i&_;)u60)+2Bj=Q-e0F&h|A)_(!$^=z-og##-d7g>JL mh?0qPotTapux4fc6ZRV_SF3)993>L~0000O{ z3?4Se;~${_00H?)L_t(Y$L*A{j+;ObhJk{b-Jo*|1f8oCSAV4jjc%*FgJW6i>Ix&o zRJ`OVlB<1}%q|PehL!RF$;g(m=i8Zoh94)%|A>Z={zBK$d@5wI-IMEvl^4qot8^h}=VSg+s-&K4ME^xYdjrM2f=Bs4+ zPM#;bTpCieOFlz3XA5;E7NAIK=}n)qF-vq^38+HP`KYtgumF$Hb8CH?${x+Od6zry zf%2y1UU5)@U0I=AX-}na`naCX=lXc5Q831Y*eU2ySP0Fnq^=to#c=f6w+?#-Ax@AT+Z4LnBBg(ruy&J3z_C{3qf! X2h{uQg`B_^00000NkvXXu0mjfPqQdg diff --git a/graphics/pokemon/persian/normal.pal b/graphics/pokemon/persian/normal.pal index 073415db2d..95644dc64b 100644 --- a/graphics/pokemon/persian/normal.pal +++ b/graphics/pokemon/persian/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 +98 197 148 +255 255 255 +222 222 222 16 16 16 -128 80 0 -144 120 32 -216 176 104 -184 160 72 -176 128 40 -248 224 128 -240 80 64 -248 248 248 -248 184 152 -160 16 0 -216 216 216 -248 248 168 -136 0 0 -232 64 48 +255 189 156 +246 82 65 +164 16 0 +189 164 74 +148 123 32 +115 90 16 +255 0 255 +255 255 172 +255 230 131 +222 180 106 +180 131 41 +131 82 0 diff --git a/graphics/pokemon/persian/shiny.pal b/graphics/pokemon/persian/shiny.pal index ba2fdc3fec..fe2cdc1762 100644 --- a/graphics/pokemon/persian/shiny.pal +++ b/graphics/pokemon/persian/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 +213 213 180 +255 255 255 +222 222 222 16 16 16 -120 96 16 -208 136 136 -232 200 128 -240 184 184 -168 144 48 -248 240 144 -240 96 88 -248 248 248 -248 184 152 -160 40 32 -216 216 216 -248 248 200 -163 43 32 -244 103 90 +255 189 156 +246 82 65 +164 16 0 +255 180 180 +238 131 131 +222 98 98 +255 0 255 +255 255 205 +255 246 148 +238 205 131 +189 156 49 +139 106 8 diff --git a/graphics/pokemon/pidgeot/anim_front.png b/graphics/pokemon/pidgeot/anim_front.png index 8ff5e6c13fe1ab8004a5388de3607fa68ca3b3eb..8ecac9dc45972577ef1b2f30983d6cf5193fbfab 100644 GIT binary patch delta 1447 zcmV;Y1z7s@3b_lAB!35VNliru=LiT26*sWXBzXV;02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMWm$v|NsBRw8j7Sz5nKm=Coq}taI*SLDexBi#Z_Xq<@^fdwZ;VT60oLS~)2Y z5D>~hF!BHZ00Cl4M@0Xn2lB-L00iAhL_t(|ob8s+YurW@$LAlghFk+_X^#zd{t5LE zaNCO?B%oRS6D@0>e2n%|m(bu9g!=B#`W~@%57kXto8o~IYbqbIq%>=x8W#UpZ>DcX zTCJp&H&AHlA%An*eILE=n>SDT4k7Pb#_4;2oBpk#B_WOo8Tq%QSQ5wPYIsUUR;w|t z!hsJhLM>=YAxsm)pa9?vDMV-{1B^q80GkIy5G24b9^;P@o72#71&CAuz|*EUa4Q6x z5XxAs2qOsk7-tq1sR1tR8qinu@vKI*3&xa2lH|ZJP=9fu0QDqhu(1{+Sq+k`*dYp_ zJl3cmBohXc*m%9VW}087IiTbjSh0Qpw>kO!jroiD(Ea|aRF$AR#5i_RKOlkI7p8Bz z+wBb(i3|t@9*B!?F-3Dqbt>2%y#4tX*{O(AZwQBeiZOGg%Q$__whxY0e}fqorkag>n9x&~E&zy!P$ z%p};cX+om6z_E?;XEH~axRPMtGaMy*WYqyOF*Sivd_JWxm%`A1$r%KygVL%KIq*f4 zAAeE3N@A>O0QaJftZBW@0f-g?>ZF78p8-a$aI1zfjo$_=ftkH8z#0IWk|iIeE1D~U zjt|I)F962-Z&O*sahhbck@UW|FMBwKRt{V_&W&w#>cEA~CW&SZCfnwEjW zz6Zdd{svX-dk(1EcO96s?*Z5qVB9;Y+V>e8jmqwP-|JQF`&*Dz`xYlv`~CqgYxdo% z*|(gt@7{l8->(+i_wv2FKOio&@8#tW_Wgfee*;9|bLzDILOuWh002ovPDHLkV1k5n Bv)=#! delta 1377 zcmV-n1)lo33-k(*B!4haOjJdf(4bm5DG(44tb1B>QcC8uV*log`0#l6m~if5L5n#c z)iD^ww8j7b|K_Bey?c9zy~O(f000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3^WFgQR5{500h@bL_t(o!|j&8Z`(!`$H{~L028uW1O*!AS$`V*qgG^+=;~5DFD+t- zyjKIs*j9V%K|uZt14SWwX&nTGsVwytadP0XKhPp;0@Ud2z=r0q?~W8jij)j=2s-38 z>3#3L@4dU@=QQoMp)cPeSZ&V@EqUIKrZt`AdEwpOSN5{j47!zZ8MYkkYAnF26ke}K zVUz;o6)8NsXMfZwjwT62S>Rcgfr8>L{b-6(4HcIH&y)h>W>p+{V56^TOo$m1x@EN~ zE&?*C1l;py1a0Y$Cm!W0gpf51BNfyv8TX_>&ZG=JdC`pn%Sg=Dr~s8Gk7}aU5ZG|_ z4-fYH{cp`wAj=C3Ts47~+4$^E|I_~C@aOMLX+d>JaDVEgngGcCwZ792PX|XKDH4J0 zVd_C+oUiR4^uvK1p`Qq>WEH8v|NdZ~;vvA`I5ee4OqRK=N-(kZgY%d|upYuNI!Ofr zJxDsta08vw=)^Nw7(N_EHB~`$Y@F;s(+`m1o~uFl^x;|JF>{~)6z;^$=mw zg{gp{_ka1bR~^gR(OCF&RrZmiaL}KWVBXc`UoW9!ZEM;(s0za4ftwuy_TcIbxB!*~ z8qiJ$#R9UIjrh9fLc{h*q}I?$c6u_J0LC{64bM%E3VPHf_)$B_YWOXh=dO@|j*2ah zf`DigPIJIslWKb2YI0Ph0k#oA7H8rHRfbj71AlI*>oAQ|3D{L0qyvuhVbvW$N6BvnrMuSXDFsDozR9qZLRW$w7ih^2LU6xY@O3BMA}D3} zQVD1+a?7g52dMx%3k7ngE%Uz#^t8g<8u}zYPq2i&>)15` z)F*-a8>2`nqCs}5H=%WHs{0|cz$h9j#q&XS_e>VwB+KD0uxL1nqHsvxo170?s0Pez z-Ozuk#Pg%mLH=C-YHARFe5n#`jD}QXFn=nn6*PAK=j*>?nUoz5kBmD@O{ss(atOMReLLsZ#A}aPHNUl9^aNxlL|NYHZ!)a;&Fy= z1G`dSXDR5_(u!R#hwpAjDweYZb#!lHp2s)UXlHO*>Jlv*aRJ}bM6I3HsCVhT;J5{R zOMy{KwoOM*aNF?<`0i4Lwn!csx_`iqa73qo@2;#Ma7R@TNFE%t^Y|u#Q4hGPQRngt z%>$9gH+8$tQ3-T+)S2YX&&*1E*HNIq2wLAI!7RRK z1tomf(Ju&E*wIjf00000NkvXXu0mjf`zWDr diff --git a/graphics/pokemon/pidgeot/back.png b/graphics/pokemon/pidgeot/back.png index 34369db65057a5ce190d90ffe8e3c3284620f72d..219d6732b975fa11afd0fad37b755a122f80fe8d 100644 GIT binary patch delta 862 zcmV-k1EKt;2K5GzB!35VNliru=LiT26**US34QOV1ZP1_K>z@;j|==^1poj5 zFi=cXMWm$v|NsBRw8j7br2qeW|J73e?sNau0QRH+#bN;e&3{_WlsUA65Q}06b4maZ z5D-CjbuIt^00Cl4M@0Xn2lB-L00NmwL_t(|oaK_giW*TA#wY#rfs9W8t504(#~}WNbFi0n8r(~Q~H{$ zOAQ(XbaJC~N|SZ5L4!2y8fm3^AP$0d3k}X+5Yns>@_!!mD-pBR?`;7{&Iuv#Yjr?h zG8Tykk)L1@tcGmx5uS^S2hQ>t5LvA^l)lCHTnX`XdY^?jQa}$H>=6)xu;Hhl#R*V- zO1r2>A|cLjXj~+E0#yw-0{4G3U}<2Z8UR3uGyS5054j0x0~i5cQ`4ZUbWb+`lkmy4 zgMpr~qklA3zzP;O4SWT78`FUCgt%tMKs6Bk42TjkHxm@#S=u5NaZHR`HDSHW0h4S( zMOpByoCN^pWnjMF&>)*ow197Q;Qc({@)zx%v{sXPaNryi7bclIMPXPC9qEcljLm1^cLH9 z2(&@r7-g1w7W&qc~3V|Pxe;P!5 z0#}I9LgYz68r8rpM*x?IiRb$V5Elg?;20zVaG4N_8!y4fG6zH?OaVCU(H$I*yKq_L o8lV!eg<}9Pk;XpBfd8ZZ0$2^=VBBYKcK`qY07*qoM6N<$f-hrsQUCw| delta 783 zcmV+q1MvLy2Brp(B!4haOjJdf(4b&A01yxmxR5Z2U=ZlYVEFiu`1p|c_+a?hFu-5{ z@Tefbu)z5E`1r_J$dEWzWlDJf000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3^fG~LxbJ`00N0gL_t(Y$K{g0ZqrZ{#w(X8Q)1bBaup9rsDG%i!wSB+VXf@=b|@pV z7hWWVi3}B2nUEMrGu0AOQ$Gu@z@cr5OvCmPSW?7a7hxBLg`RhNKtl+Tjm-@OWZk`gSpzl%tuv;#d*Eeau1yJAGDtb-{9froc>Sh9%8|J$ z^_&cdShWl|$KQ9**TiA=^GO5nE;#@k3_$NO7Lqek?_hDPR2qDR=c43{vic6VtgA0V ze8%^*3Hf>PSS@j?fE^eN5g>%K{jWF84p18*R;Y)>c2a-Cl zzzz=Gt$%9~;;MrL97c=cFyNIPhHP9sumeMEB@i(-DKJ9Mk$^dcN#T_dBoOw>H9AiL zrvxa3@O__!ZlZw>3?U;RAa&mlsL5!-5c4vE${-OoXaR8zU^B3=>uZ=wV5|WkX6Bm4 zg_p>Tj8uCFg0Nc+k;seym`%=ROiwYnLtp_4#eY?Y`X(zN$2H&(lx>Tl+Xk$y?W!RL zFve|UUZba{Bznpr&RGFe12zILVgKbKoFjmP5yDskGN=X~C;~Wy!{eeDfao@WoZ=!8 zfXjrXL{1NK^lCuJ{StuFp5DUoL~g{w$N-(3xrqTFM7j2P1^gfN7mK-rnM`t00{{R3 N00>D%PDHLkV1fh^XBYqg diff --git a/graphics/pokemon/pidgeot/normal.pal b/graphics/pokemon/pidgeot/normal.pal index c387bd5b86..1686410c8c 100644 --- a/graphics/pokemon/pidgeot/normal.pal +++ b/graphics/pokemon/pidgeot/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 57 41 -16 16 16 -172 123 90 -115 82 74 -230 180 98 -255 230 139 -248 240 120 -248 152 112 -238 98 65 -139 57 32 -213 49 24 -197 180 197 +164 164 255 255 255 255 +197 180 197 +255 246 189 +255 230 139 +230 180 98 +255 172 115 +238 98 65 +213 49 24 +139 57 32 230 164 156 189 123 123 +172 123 90 +115 82 74 +90 57 41 +16 16 16 diff --git a/graphics/pokemon/pidgeot/shiny.pal b/graphics/pokemon/pidgeot/shiny.pal index 5b47a0d5d2..5b97e1df10 100644 --- a/graphics/pokemon/pidgeot/shiny.pal +++ b/graphics/pokemon/pidgeot/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -96 56 0 +164 164 255 +255 255 255 +197 180 197 +255 255 164 +255 255 123 +255 213 82 +255 238 115 +255 213 0 +246 164 0 +197 98 0 +255 205 90 +205 148 57 +180 131 16 +139 98 8 +115 74 0 16 16 16 -184 144 48 -136 96 16 -232 200 96 -248 248 144 -248 248 144 -248 248 96 -248 216 48 -192 96 0 -240 168 32 -192 176 192 -248 248 248 -248 200 88 -200 144 56 diff --git a/graphics/pokemon/pidgeotto/anim_front.png b/graphics/pokemon/pidgeotto/anim_front.png index 6610f19da29db95927b9790b5a3fe7a16a3b53a3..aae6ca4ae0abbe35497fbfeb4749e8988589e484 100644 GIT binary patch delta 1183 zcmV;Q1YrBr2(t;0B!35VNliru=LiT19|9iKwut}$02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMTmfa|NsBh)!uu1gAfo9@R;cT=8NXNTG(*Ntb1C6QhzZ)DIou>bM9h6#W5*+ zF(AD$$N2yN00Cl4M@0Xn2lB-L00Y-aL_t(|ob8rRYa2%tz~``+s^EpB4U(7eOPREbm<{fME(j2xtIh($J>KwPufjE zw%n54>6_KRm4CFex;J^C1?~Iky{FY`-w&aWEZ%Pfwq$1B^oG|1D+{>tq#R`sTUQ@m ziR*zL2)#a(5F>4eFnkRqq_1ldh0(Wt846F=q!31jBkmN%l?E`PQLxQBR#E7B6bJj; zHvbhJY5=n|+Ws1I2N{2)12?4x!`RjXcd|i`6@WAVu78gy#db$CA;iHLDsZkD5h6#* zPwgzg;Kbn^zNaqo?ED)5oatM()*;Uryec6N7X=sqr1pFQ zI6n^KJb%Rt;5ob}m6uZ>@`GoDM2kE!I*=#j7-(}|2*!{X;{6IhdT{~Hi(`5c3K5Lf z0Iu>qo~I|i?+=srXHU&Qe&8xPyjzR_@RR>D`!@xA9|Qc7{^I)>CuT(G^B5@iR0G~^ z9WQ55{9{AVo@&6mHF}0t!=_Mxsv&y3OIz!JaeqNoT*3sGl(OSB07^`WmyFU{3SjUl z(WR`F)&u4Fqzi@uty&6jpSHORKn-62VWsrAUu)(7Xd=U=wG;pucNUb1Q)}000-VCD z-bhQu0S^E;9;DTdL*A4m&H(mHvR?nmLIF$B1 ziGR7Hj=SICd)t~R;t%fbpgkQB$DW0Zoh-nZmHHI_>o7M1LAHW~k?>RhZ*$;KN|{9r zi+v%qZU7^Q53i&QJuM-<-(_ETkz#H^mOCcgn2?GGn<~Y>bLs0nJ<}Zv;FCh3U z%sa@?0XL1^eQd+#E@*~)Q2(ciaRz|F4u2d4Y)wvl_VeltMM_A^p(*-Q^86nGSh;D0Is zsIBSF^}ruPUL;nteLp$y;~=EcAdz{$S}Ap8+#HIPr1v zBF%xh9<1%G+&Nj+gOxmNZnCTgs{qQA4SIl;qGaiT(NbcSr3aX9(t|mn(*pyy=mtHg xZPEkEHt50JAGCU~@Q3vH z)z#jtds^nbTL0#Ytb1CS+`!8K000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3^_TCnXpv=00Xy4L_t(o!|j$ai`z&PfJcj1uDBwSOb$Z4M1NyZL3>L! z|6vO;xX^CpE=`JHwurAfxF3)%^>%6Qz?c-{z=mM1&=|58%oXwchI=DECSi$oGOyN*d z5!Z9O;CK+2ihpzvsPVWBhX%lQYkr^i!Zw&{w42BMh`%CT17N+a^?zqPCibIp;KAEK zFcz5s&k5vI1H=F@s7uMBo_Qs^b^BVW3)~)lE@I(`d7$IT#vo9X}a#~CQ?0hNBpf%sD+i%Yf!KHzsXf3pN!>VH(qWrbDh zVO%XTV9a^PuVWnG-Yq~4vILyB>+%XuuwUB(xQ-9_iM*neHj3wSpy#0e=6dw_uaHO|Du#JR$S>HGGH;#1^93>-Hhg&jYAG}0X|IS>DF#X5)(*0i2)zV z$u?l0Nj)xb1{YF_DJe;@B;E)q(`ng}TM|PlCS^6q3D2uAOfX4HfERMi69iIrhD6Ef zwqK;9eFR3tj$|5^-T)z{$wFJ}lmmFV*wi=QgMTf(yB*`J<#;WJRRG5=hti)z(lK0O z_IpNYlZAGRmfw^%vtBaH-fg+2TgWmsNm$lj?5# zuZOi8@T(QXbAhr-pzAnJ713w|05zXB3p{WfFEGEE0XWzrT$4Rme$Yfi0dNf|Yy^Uc zGk?!)4}RyTh`+Wyvw*Na81E6=1Uv|ij#-4AyJMK-J9s!^tO8(Y2eAhB@&`Zud3z3R zM}B6j)=th&9l~#!8u|z4%iXYME(9vxSn9fDx*g?2T{YlfF)Egb&gT)oA*^TDnBbc# zu39qIf}$M(pL(-@09)(VV)sw7o~l1bp?~#MH3Fr+6gn?S60sVw_4pbNFy5*a^x>nL zC*npABqsRgfq%H+7w8WwJ)m`rL!mWCXKF(ad~DtTh1Q&R=CvNwQ*7SFBb)Hjma4Sn0u5&)Pp%n|iR_xz(l~Y`0ytLl2l%lqx;2Ct9qk^nl4-dN{Bm zOnP9miQJ(F=`KBxVzfW0(u0*h81-Q74~94V&L8gl;XgLTQqs(y93ub#002ovPDHLk FV1iIl1GWGF diff --git a/graphics/pokemon/pidgeotto/back.png b/graphics/pokemon/pidgeotto/back.png index 739e474e035f4682d7283675c3a2a382feaec037..bef429253edd42315a34bda934224d8cfd889a0d 100644 GIT binary patch delta 855 zcmV-d1E~C_2JQxsB!35VNliru=LiT19|4Em=Q98R02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa{*m|NsBh)!uu1gCHOv`1pAC|E%8Ll;F4kl$=s?gMTqnVi5oTtpC*j?vwz% zVgR}8WBULA00Cl4M@0Xn2lB-L00NRpL_t(|ob8mqZ`wc<#~C~&5-i#Khjek(69_EZ zOFL&t4k=3(%84+r^iM#F466m@ymUZ~F#iTqrLz}LNE{4SrM5Eed;S4YIg+_jZ@J-p z{Q16jKD$!+zkklIs@%Rp*dj=GuMmK|1k~bvO7!#fG?uX9vqZYJWJa8+?}NPvwrMJ* zT2U2yA;LsTOGZjy6JlKmxwW<`MO7ps+z6OcM#_w8AOfhzgg}TYW3v%ZC!BL4W7Uzv z1bLl%R-`&j3j{XL)?C^Ozzl_v*Ez9NN0lTiKd-ywjei2Dh2nQ9cz2}$v{iUWcz>nn zL5uWOnLyrtIlVTTehJ0d2n6Jbep215%MqVB8PKI4uN8prz#2ho|SdZ4d$Nc$BSc~6Lu7&Mf{>{ zAUo@Zet#&NIM2daI?n{4D1k&bLp)-4_Drw@#Q}&A;9cV=@C@8?;6hJ=MC|zEUGoSu zvu&9JH}DyW-DEO3CLroT2A25+y$4`L@953p5YYoS)B6elbqjzN0H|Bb#b}Nf3!9kG z3=pv2r3GNn{&L8<&%uzc;Zba&j{DCT6Ff@Wtbfm;2@gg@w^;(=3W0A3Joxjh%NkZN z<9i0KAOQrFvC-HofFICZ(Pa)ip`bTqFvh%6WWW!n1URpw;DI54Q<#`x!#{1>1t5jS zx*%XvhHWCCfxO)Tpuw0aV0ae=J;qqa!-L8cY>)#M0zL{J0qDE=jjEaJ27`=<^(@)K z7Ep2loBH$oZEM!L(b)sgk=tL~o8%n;)GF_TX2m@lfT4`Ag*J|WDaPSWYIbwDkDZ|; h2$X`J;=B7t*B@ymJU?`Sh+Y5y002ovPDHLkV1gBnfiM67 delta 783 zcmV+q1MvLr2Brp(B!4haOjJdf(4e?r0O*(y_}DNI5D;)^5O9Dn`1trRI1qSvfcW@$ z;J_%but?C*fbjUJkeE;`?D#wY000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z3_3SK49<}N00N0gL_t(Y$L*CpiyBcBhIJVhOXq`-Dq*gJ{eO5R^?Y2+q)`7u7%tPO z1oj7{kilkSo4+Nq261p9boVZdqItK07x=x5%aYGGCU6YW2I7*=9Vx3ZA z2ezjanAB}in17Qv%8Z*1?LggP3_?^HtrmqkkO zp-ZEp&RL+kD%0$yMLlNU6hPgj?<>LQI|ZP1-BZGsJ4FwgqToaVQqjOaNKs=C( zOMsUGm?G|r#or6lNRN}M&Uqx_3;l6^u5%{N0=PhJRSpf~{z0(>2v1xbXD0=V_ej!B#Rc{@Abpb~7@Kl2y)2aLGc5y;=D%PDHLkV1kq}Uw8lj diff --git a/graphics/pokemon/pidgeotto/normal.pal b/graphics/pokemon/pidgeotto/normal.pal index 6c8b9ef6f0..39b4441d56 100644 --- a/graphics/pokemon/pidgeotto/normal.pal +++ b/graphics/pokemon/pidgeotto/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -123 49 32 -197 49 41 -238 98 65 -32 32 32 -144 64 72 -131 82 49 -248 248 248 -65 41 32 -120 120 128 -255 172 115 +136 128 128 +255 255 255 213 213 222 -172 123 90 -230 189 90 +123 123 131 +16 16 16 +240 152 232 255 230 139 +230 189 90 +216 112 200 172 123 90 +131 82 49 +65 41 32 +255 172 115 +238 98 65 +197 49 41 +123 49 32 diff --git a/graphics/pokemon/pidgeotto/shiny.pal b/graphics/pokemon/pidgeotto/shiny.pal index 8281977d45..b8be05c54f 100644 --- a/graphics/pokemon/pidgeotto/shiny.pal +++ b/graphics/pokemon/pidgeotto/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -184 96 0 -232 152 16 -248 216 48 -16 16 16 -112 104 16 -112 128 48 -248 248 248 -48 56 16 -120 120 128 +205 197 172 +255 255 255 +213 213 222 +123 123 131 +32 32 32 248 248 120 -224 192 40 -176 176 72 -208 208 128 -240 248 168 -144 152 80 +246 255 172 +222 222 148 +224 184 0 +148 156 82 +115 131 49 +82 98 16 +255 255 172 +255 213 0 +238 148 0 +189 98 0 diff --git a/graphics/pokemon/pidgey/anim_front.png b/graphics/pokemon/pidgey/anim_front.png index 76890a127b6736da63d607cd42470c5fe910aa5d..fdaa27cebbc7524a7b0c8ee4e873f7f24e9448e3 100644 GIT binary patch delta 1070 zcmV+}1kw9|2*U`FB!35VNliru=LiT01~ojZ(5V0b02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMLD$p|NsBJy}g5jgAfo9|EzQFVnMwrApiEg|L&aTy?`{r{pvA-Ps|st#juV zKY8){|McF|$$$9&2wBI!8k4{1c9g7?$uNpm0pnbVC|w2AL?r(NU3W+2C4$ zb!i4N#yRA2R5t>^1L#R9Oz->x09bD*ghP#;QH%Bv;d zi2~pZfnG0`xA!G8s%QQugz-;MgWrngT><;Vo=zV*Caha5BvC9D^_ zFOR5WH5yF=K(}`sHAvIc!%{kV{j9S6$^a;x?CsF!j%iE{IO?+^Ed5!>I@VDZcBwTz zX6>xt(T@gllcx_lv>tDRSvK7iH|c|304!iSZGU&rOmsDSjQ{J-V~a!R=(I0HrmERD zs3!&IssdBrvd%CAW$j9r8Ki|C5F(Me12l{gu`hthxgK^OGb!<0{&T{)bEB;X3Tr~v z1{S6pA3eHD6UP=>kLQNO9*NaxzTcy6Y%Bk47iT0^0E{Kpr^?AbrEv{`un$l?Y8QaZ zlz-CW7=hUc#dEOE`)UYUsd8G6hg!y`DFEpDL6}sI27#X^{UCr)(n0||Db5*BS}qUH zq&r|(fX^>OSc3Be7>BlW0}Q?hxR~i^_ZMT%aM9r1xfa$BOr1{wRV<9>M?k;B?9{sz zimLlq0&R<11~W-2UN<-fgn@lsfvYfc2U3_wMrTDyqW)kGb;qavhz$I;c_Q z|7G>{6g@4Au0h8dV!A&V0ZS3|+6Y+Q5$+GfxId`%LCtU6A7<-=aetVt55%}X%qP}| o75l?O{ z4FEL!ZYyN~00U!5L_t(o!|j&AYTHT_hNT7sSw)VB-L8U0)PGsF@*s(>@(hj`Ygt*s zr*TOssTrT`y_-Tq7ll%TDBT8H`U>3^3SAex$UB7e0n#(FOJ!T5yS~Lo-gy4cXGUXb z{@*aR^?$9_f9R&`H_1Cj&vl!Cz+ud_n}CeDc-}CBbX=5a12E+YVqZ^K)1d$Fff#6k z-Fg4?GH>fU6n|Ik%df!o!29{T@FnDW;2Df#fLy;3P`niba6_TN#qf5s!+!`Px_S=hEyU+_JB=fZF&=U! z!J~(D4^-@lcr@tdzQD=jIsm%ypqsJojX1&M+P%)gjCO%NxDmnQ`lq(ky>#y;eo+5+ z&4>sey)pJ`ZnAu=3jj#RZ?up7hk0>o7~?_*T)ZlZi_~~_rDu=-l|7d{nojSXO&uP;!bC#-4Ls{i#Tie=JtW4ym`J;pk!o4HTA->M$tQhkg1 zy$&jCS32*YU6})8BBDGX!)P1k5lX%?hZ)g`ZGRNGxZ4sU-7l>ND>0!nK^fb-@8@s< zermE(4_6jRbNJSm;^`UWp{e|HQeC5AB`BqD{TRPJ1qd?&VluGmR_BO<+W_xE0+vgt z?t^s_sYSqeBw!f!N}2Aa0+8z`u|J*#$-wcWB*B=&%27BHLJB_3MRLybKvDy-8iuHa z5Puvcxf#zBDzOgaG!mEY&kls7pdq>|Q&{(D=wtz?W^o8>r*TH33-4Aa!TFl`t2q|# zFH0Txy8Ba$qY_Yh2;5)yJuCAT`!^9Ba^7+_tk=p*J;A^|ylrv588GO{q-%mPYyITB z4Vy-iOh}&GA29FGhdR%RriqNC^7k&(zGG{nULZoD{2er5FdGFKDF4@an&p);>*@n# zsk?ep+*JhJ)5n8iM)|?e=7(i`(C3F`e9-2HWqdHS`C%C!8uG&;J~ZTqMSR%ihrhah Y0ZjNqUT4{8>i_@%07*qoM6N<$g14^j`2YX_ diff --git a/graphics/pokemon/pidgey/back.png b/graphics/pokemon/pidgey/back.png index 8fc81a972ad9960cca4a5d49db113c3c65bdab7f..f9ac5dd3e18a9d24bdee572875ea4e05ffd633b2 100644 GIT binary patch delta 704 zcmV;x0zdth1=t0UB!35VNliru=LiT01~#RlffE1#02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMLD$p|NsBJy}g5jgAfo9|L$}D%_+rm0Pg?p=H`RV&3_oQq!5dX5OaF~QfdJI z0ROhoEdT%j00Cl4M@0Xn2lB-L00I0-L_t(|ob8k`Zrd;vhBnQ%wpPv`A2NhCY%~Y&fEqqFbIIaQHv| z|06|;keB+G8hh|0-Nuf>2xy2*;OZ(fU()k28$?7;_cxT}R^v+rI9 zfLw@X_SI)Gtl(M+QO>+=4k1TCGH(WXTybo(yz&Ao&Lbgm=F1px3#^;a0|X9`?@l~` z!U*g^9vyx10K(Sf?fcV1fTV9ef9SOcoIye9bb0`gbbrFW&|`l>LQB>w6H>PTu#blT zN#Vz|-=bY59fh=4&z&xkN&ij<%51Z>fW8FOc}pbKvabQopNLV^V_>>&DuUC%)1Po zYpr-ZFYph77S%QE=!6twZJt`DU;veklDlKFM>$wv5iSg}hG&<8YEu#-K;U*1?(23b mxEZL1aI=PDUw^6pU4H@TmBV9!w?o|k0000@7h#1JoP!JFh=;(lefPlbo0Jylg z_~>x>`1t6+K&YTVNH_rh>n*|n000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4FNNI5s!xe00H?)L_t(Y$L*D|Zrd;rhGiJ&ScfL+m9X*vjekr?E1w|{E}mM;2+XB} zfdmf6zCzayUHcA2_n<>xpo53NFtPsqB=q`EaP zTwW&2_D=UWwb@EQ)}9Y{L{hZvCgmGqv1#AP&~6nC_J7?eFmwRp9-udId8-k{2Q$am znH^V~AG<11Jk1VDj~O-5IvhGc#nX!;Z)ZV$P2(Evd@7hWHJD(GhvPx`p1cir3q|0r z`97){V=`wG+Nk38+@6bfdmv(Ljs)r;5KWD|p-vUs1_&@aV(z6QXUvVXz+(fvL1M{B zMmS*eKz1eeKtou78?%B-@)%e9fj~mcsRqYmzXE^U;_wTF4B{MqorUoFq^{15tOh0qnD2V XajLkfBA*q000000NkvXXu0mjfSeqJw diff --git a/graphics/pokemon/pidgey/normal.pal b/graphics/pokemon/pidgey/normal.pal index da639746de..0136a71b0d 100644 --- a/graphics/pokemon/pidgey/normal.pal +++ b/graphics/pokemon/pidgey/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -128 72 48 -205 131 90 -164 98 90 -164 98 90 -230 189 98 +57 180 255 +255 255 255 +189 189 189 +131 131 131 16 16 16 -255 238 156 -128 128 128 -189 41 32 -184 184 184 255 172 115 -248 248 248 238 98 65 +189 41 32 +255 246 189 +255 238 156 +230 189 98 205 131 90 -64 32 16 +164 98 90 +115 74 49 +65 41 24 +255 0 255 diff --git a/graphics/pokemon/pidgey/shiny.pal b/graphics/pokemon/pidgey/shiny.pal index 37d1fed4b2..95463e30a8 100644 --- a/graphics/pokemon/pidgey/shiny.pal +++ b/graphics/pokemon/pidgey/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -96 88 0 -176 160 32 -136 136 24 -136 136 24 -200 200 80 +57 180 255 +255 255 255 +189 189 189 +131 131 131 16 16 16 -232 232 128 -128 128 128 -192 112 0 -184 184 184 -248 232 112 -248 248 248 -232 192 64 -168 160 64 -72 56 0 +255 238 115 +255 205 41 +197 115 0 +238 255 238 +230 230 131 +205 205 24 +180 164 16 +139 139 16 +115 123 0 +82 106 0 +255 0 255 diff --git a/graphics/pokemon/pikachu/anim_front.png b/graphics/pokemon/pikachu/anim_front.png index af75b2b5133ceccdf261fa2b5947f4ebba6e2e63..17e81e6464aeefa8f1e899d44ec1ff1d09e21233 100644 GIT binary patch delta 1040 zcmV+r1n>LT2c-y*B!35VNliru=LiV{0}@a_83OOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``00030_N4aaQue(d-jo2GQUGEx2+`n3_t}OuO z0Dnz@WkmvTId?dKHGtzRkRLT+0sx2C){-pxN6qGQ@vz(Q4!FYE z3t-~qPkM;+fPk+JXvwF<1kQdF;NK{qL}Pu950!2rrhgEhml6x`HWf+0Rh#N1hZ;}@ z=*|FMTz&FXzIqbn%l5^RC$E+Sq*mY)#>>wrfou=y$IPy(t?o0ivg z*vJM{Ab(K+c-74T)_@L(AQ9BZqhm{wRRx4eSREf*0ys5_Pe=zse{4O~HTr%lp%~b! zO|7d;={HfK7xoypgm9rl8PY4H2sR*4X8^(w2N%9&iXc)z6d~IDP9RT7h!g>>i*Rvk zwmR<|2gIQjaD40!{W|&k_WQ7W&c)*Dd~B-{*?&AemdTefwnt#T+8|a*3$9#dt-_N% z*`qg?7XYczGc`+$mU!PvX3sQ$hv!HPpkV^{=V;uMMJ2N@H`d>ZfLm<_Es4fDei&eP zJ8e$Rp!H=^VSj=3Ix_k)-Lfz9p-V#T7D2!078`)4q|<(w*Zl(H@r0iUop!jo!Jh7? z>wlG07<9PMX*YqbX{HB4riCJXKeO}$H#x|4obNd-z%v7Y1F7TMXZfP^Rb-o%CUrw# zW;y+(gdT)b-?Id8rq@d7LD=U*e`MbG^V>)YJ?eUK#;X&ZAn~Du9#F@c#Y3)lUY4hL zMF8@6%JsIzE}@%Bp+~?3Gqd|I<3&6J(tmLT!~__tcrP2O0!RrB_NlOC-g?d5q_(?j z7N9m8Jq%>XCDPvmY+Jtq%+|XV5AhzL5(?KS2P^`k0%5O)q<{u{1jZafkG-1%OzT#G z!P-dGuaXu!b!x^=$ufuo!0H%zPLS=F2dv#HkPm**-@Qj{e*jR~7yKNwZ@mBj00{s| KMNUMnLSTZ&N76L_ delta 961 zcmV;y13vtv2-gRYB!4haOjJdf(4YVS04XUcV=)L)Qd;-DA)HbG_vTXGlmP$trT_o` z=2}9O{ z4GAvL&S_Qv00TNnL_t(o!|j&8Z`wc<$L%7aj5f%?*wQp}qJNf@eBP4{)5uJDtus13(Ih&jeUJP!_@vh-?DG zXo0v{;Q|pa&wtq^Y4vVas~;4{k&Ku7S)dfJR;z8?2q#&fEQ79t3oCugrZ{s5_*lVF z@)qmB$u9!z3k4idKRd>|`Z$(D$nOtg2KXAvBJgfX>y>mfKnZa?MErhtZ>f5-MU-x* zrw=0jvL+y8fqU>CenSETIRJe71F#0G43I2XrpQ160Dl(sV6&jlx6_j$I8L5gTmq_% zO7w8`4K*Vb_eZqzE_Y&35ma0W`rN5SNz9Y#TU`b?Kw6(EO>bhuBE6ikXT zPN+iqM1Pcl0~~b*Fp8jiYBNJPz5;w7fQuVWa!Mkg48TsJ4BOV_ub@X@#$Qr4^k#OI z;ywO8ES(8CxvE$W_yq0nIw`&c9-qOq)drdMu;9uy?Y*$=+rDxCbWs3=*xwDrnj~g# z?P6f}7_kOabl~|Im1cGX4R~1u9A!qx6j5n_TU{G1Nzn00000NkvXXu0mjf`k}Sq diff --git a/graphics/pokemon/pikachu/anim_frontf.png b/graphics/pokemon/pikachu/anim_frontf.png index c911e36cb31d4ca948395141227b59380eb22eba..650181f81751a081af79ada5c39477f6aae5bfb3 100644 GIT binary patch delta 1045 zcmV+w1nT>?2dW5=B!35VNliru=LiV{12OVgXmJ1l02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``00030_N4aaQue(d-jo2GQUGEx2%Z)F!(y?L;I!RD<> z4}r=)S19ygR?RiyI?zi=h)JQ){~{D}FFp9*1bQ`Xp`@n>h5iA3GqW0ZXN-g%lLyM` z`}p?FkDc#V#($pUk->KXb@#u4pF3Ju?gW0XuU{-}z+G>3xx8Cgs_}1llI0hR#kB>% z3=nS#u#89oju1=$r~<+uW+)CDFam&sYnSc8u>o`s8;zHghk$O7K&uFpl18Jk%I|>* zI5OGsVI&*00p~se-|G;_4~Ydh{Y!v%qW~%Z&Ehydm4DlbyhSSm01CwWiTd`cN%N&I z^CK+*w5I^CuD-asUjw*oUd%=EX1)RBCcN|oU!Kiec>h`kGAB_$APAc_!edFHEK5+YSV z>mVFlhi#rWwgY0{3NR15eXmCOuKheLoeMd*ntvGDW{Ki#a-^CsVQjC!J-tA@JlS#N za_cNS$8$XSFm*d0j;Y)Eu;})qfrsxQWp|YCvu*%|8ugqlN)*t_13wHP$OE_c9~_G; z*O&3b0KeOiIVUpiAYIr!uw0@xI-3CE>(%ecsNI^U^=t)*3Hh{N=5as6csLTr(x)9P zZhx>-%+v8oE(}^i`m`J0CYqCdY12a4zL#3`z)AKqALqG@`*>;qu&;bv^E4Y&aTMuF z(v)xT%`V4(w9$ib?75Z#Y<#Va9)w-d_Xg&9e|8%wqerS2r=l_{5@bHK(F0PfY1|h@ z<>gt6R|KGl$D$}({1Vy|W%LLbVQQ-XJb#|WQy?ElKumx!ijPWAH9$_NX8@V(&NJyX zSCeFSGb})LI(QgJQ7ELl1z1bJ22AN)n}>J{P!45kkO3BhQHHQnMRGvBEe7KZLYIFy z0~pt=27@<|X1_vS?1WW~l~U6nHvq3;MU4QqUaQp)nNg1?Rf)4Ev P00000NkvXXu0mjf%|^|^ delta 928 zcmV;R17G~A2(|~1B!4haOjJdf(4YVS04XUcV=)L)Qd;-DA)HbG_vTXGlmP$trT_o` z=2}9uWd-doYwwP?@M>x*otyb%d0U!s& z7XoY^u!JxKVwON?L<7Y20%wSLab_C_*wui}^WC)J4_n13xHR2Mz`TC786BQ3*I(eVFF{lXI>wgk-xm$~pn4&z4MwJ>H-&l5y~VXR_4>@09 z7;U}<2T%j<|*0?Es_O&jz;7A!T>AUT0YY3OUMNVFoOSf7yGf0r5I;R4^I^SuT6QcECJ* zB6C)#%^+RaBj9d!x7e1_bk&=t`e<(K-iT@54YY z3`auxv~!me&HkmdX^AY~i5NYw(#zb(IksWCaH8L#%go1(Px3_-R}rlwE%OboUS;o> zGJ2Tw9GgjC^v;yg!=xi7&Q$OB&7&|gdZc8vuTN61#&>`4F;o$iEX}ZBK9h*!7#@_yI&_S zc5GAyXE3Vr0+OV1ZP1_K>z@;j|==^1poj5 zFi=cXMU<4300030=7aymG5@3h=7RvVF#vNA0Op*7=3+s`DSsGyF$i;WgHlpjDJd!c z|NkqPG6w(v00Cl4M@0Xn2lB-L00H|+L_t(|oYj=QZrd;r$En5If(Ve+sd|Utgk%J~ivJ(~_d!TP{HJmAwg7zm zwE(1-1&j2$V1JRS1&dT&e=Y�-&Gsp!%%O9W>Fb zo&oOk!e#)-wt8_U0JqvgVZe#@_Sh?Cpb~&P&@GgG4@CzcICTB@3jVHaCx5C_vFYZEJHQlrI4oLpU7L|qRZQBQRGr1Q9MQ#Vmgb&-_AU6vY%rn*S# zJ!`->5FhHAU3Tv2B6#5zGr&6HfZX{2&B^AN`8ZL=xaUCT{Re51?9)c@+6df>^c{lM l0X9>e2Ep~>X#f7~o()0001fR&K%o000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4GJt3?OVA300H|+L_t(Y$JLdwZrd;rhNTMdY$=uCF(BMs9)FZ%E{t{-gp&lMLkvTT z*C3E@tzoo})ID$3BPEJQQK{C3L%@(9|GWQ=qCM|}j!(A>z~`?EK(t?wh_(w7kywz3 z#P-_~P%Z$Xd-@mP3sKDgLKxsnb#}|Q--{;=0GwxZx8KhLkpW;j6QaU_NC0M%hy)O! zrU3!3Y%93ck$)>x2YrgcfxAKljDQG|SRHqIE)jELZQa?ET1#4!W^P}};M4={$?1hI2c5mNa`Ym3>V^Dj zugF17Dg15+5t`tI0Y_Rpz_6nVS|M@;>OwhqsCxj=%9DT{Ob0hgEz3=Y{kU3%Xp~82 z6NY$0cTfO~`?nH)=z5GBIWz$`}qD=$vOV1ZP1_K>z@;j|==^1poj5 zFi=cXMU<4300030=7aymG5@3h=7RvVF#vNA0Op*7=3+s`DSsGyF$i;WgHlpjDJd!c z|NkqPG6w(v00Cl4M@0Xn2lB-L00IL^L_t(|oYj=EZmTd9hMfgAzrp1tOnbL3oDj7G zORIK^B3%MogjAYtd5k_rU#3#GR2c}J;%B(W*v7|@ma*y?BJlb6&;Q#2#(rt>!vyf> zV*-fw6B5yBLVqHX6B3a;y-xw@1R&$pcfd@_`aAg6zpn?Ui-=Ei(YSsiu4#q=n zSJH~*6nHT+c+>k1i3PZRWkX^Sl0Mw@fFq7y0F0ac$tZ9w9l!!ZG?X|Hz-qLGvzalk z_*w(Sx_{5)1FXeomxU@Vl2y#UDB1-kn4^XJ!ieC7SQ4PbwGEg~x1os;Q~^&RH5uj_ z0O9#WUysu1b0&)U?U zWvT!4_FTSxDm8JFUP=-)qgvmEju0~!=L~F002ovPDHLkV1nnRFxCJ7 delta 600 zcmV-e0;m1o1@Q!sB!4haOjJdf(4Y_y5GW`pa2NX#f7~o()0001fR&K%o00I0-L_t(Y$JLe5PJ=KMhC4|10K^9{b&y?>8Ro9d zqW3HZmduM~3%F|+R5_Rz$XtwKsEsIYWo{7;ymvGIB$V4Ke@}dT=J~}08Tx+lgE=L5&#j?!Tq+L zA{Uy704x*Zk8|xEkf=L+1daso#cQl)&PDyAhjUQiSqS+U01_xM-p@kYk8mNOoDMOiAw4~L0!(@j0EEesJ4bx zGk#mYqk~7#w76LX^{gbOEpTi?s^?n5duxFg1DFmOY}}4F`!%PU2?26_a{a>eWHBo! z@M(@p*!cE|1=xJCF0t~-I6QqZhnW5VFi)>fN`Vchhkr^FAtkKuPisVFYcuT}`-1|? zLw7Gsi}2lZDVq{WW5%tcjS1Fh;l0!%cq7jA+rYjZ=#hFsb0Me#?n0(BtQ7#l@`=C< zx{U_Km}%=!wTl(As6&#Nu(B(ak!Xm0r;?!rR~Zyhb}O9^X{ck$5Sdd6qs;7OCIRl0 zn5f*508y?0yD3Yu*=f&DU`{1^fGMXyPobRRI<<536v_~G6sTe+1uixH@SGT)y^*eh mmsr5rjd4TA*ZV*88~z5FXc?2ga*a3u0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMfSb+|NsBU$jG#;y<%cw{{a900RK2}sQM~Ic@*|00Cl4M??UK1szBL00NguL_t(|ob8seZrVT`#u-@4=?H6L`9R9jU}0F( z1j5d{Wbu;h?JIQX12FUj$d;i)52R#aI#VZIlHdbuq%MK$*#>;}`5dWBREck3;Q#aY z{m&qMS19bY*MGmNMCq^G`O6I+txJW^UX z?N^Lvny<1b-LU}ZEpmVrolY1BvNNWSn*I6Ph*gw;J$?G})uj~U>w(< z+7J?lJI3c+-Fu-Tpok!`6Q_uP8VZ4Vp@WF+h&%F(`%cF|hS@pgK(X%H4|*bjFHtk9 z%tsziV1H{qM@U#P%BXe_>QxC@Q%WCAgbbGWwE#gawlq)4jLulI**s&3=eZa`2%Yc% zK4DB6a|^}@AXSg$Mv05-2h zz2#OJZ(y&z{#)&9@x5v>xq@7a5|FAz8A#Tm1b?J!Q36u6C@EcwGLWi8S;<;d0lQkv z$`ETY6A)@KYcAFz%Las6T#A>MSi4%Jvt}!c*wrGVzFEs4;#yo&6V)<-LexlW`hcKh zu_?>|@TslCiUf?Wx5WxRxehF+EdU+{zz2&1O_$$K(pzk+`D!=^W}P&oj7?vHF|TG1 zxmElQmCo4o<%)B@ev|=hoj3<{=*mlokPZ)_d{9A);G&lYcmbg006>2O2s4a4Ah5{4 mCNRDH#yx^5{+fHeoBjd@ur9G6{h!$Y0000Oq delta 776 zcmV+j1NZ#%2A>9yB!4haOjJdf(4ZJObBmO{ z4KM%#oarL~00M$ZL_t(o!|j$oZ`wc3If#`wGR*{1lY?`$bsCBMN)em~xO$DzAlsZ>M} zuZ=xI_A~Quj;Ohxm2Wg?7E%3x0HLOS0NOY*d4=jqkXD7#xBXAr617p6(t2y4E3tP5 zAu#S`04}N6fPa9xN9CYpefwcTTMJl~!|y+n1Rd?o?L#mi{a?(^R56N>=OFDB#bllC z`7nwYC=1T4omIrZQbd4L@&vPL@{HKy-1B_l&%GN2%J)_4{o_st9AfFOU?7Ir0Xmo$ zLK-pdvGRl%uNdnPLJsCa_^`8E1`~JCpWm=Lsl#kGy9MW;{RAe2c)$jj0Z65>1OQ_U zs*dh|?|(7}zi2R9lQ$@HqEVQpM3>s}tW*QI&A9egYHLS`KLZV5z~A4)&N)WFDUQ-2 ziYVeW214=-gpxc1$sjfcq7{s-ftYy)qAQUYh?!>~W}bm){2?(A4ImkasSu1E12NTt zkr;@n7L2Wd(6yrw49P%FLLem=l7R$x_oM_vHh++H2&4oOV1ZP1_K>z@;j|==^1poj5 zFi=cXMfSb+|NsBq-rlsVy<%cw{{a900RLc+=>NT}|7vQzT7OEU)%J6&|59_+AWEbV z5D>r9a=-up00Cl4M@0Xn2lB-L007-dL_t(|obAv(4uUWk24D`LICz7GSrX&qAaDV> zmS=GC1|FdF1ZZN!u^-0KACQ4nQ7I(!<1Z!-4!rC8@U~P@x^(&H^Z{Vk(1S}UWl-C5 znuY~6{f6c_R)6+A@i_o@SyTnw6u>9^UOONFoGK>7fRll^4ln^ctJL?4C&0llF;LTf zn*o3LTp_@n_cP`_fHhwta0My;Y=I_jGJxO{ z4KV`siMdVy007%bL_t(Y$75g^1*2dv0~Qw-7Y97@E=Ed9N`ERYIOUy{z(7R=hrF>8 z47g#HXNG8Zad9?MNx-JS2&}*b1f0ci8URt?BAS590A;9xbX*ElAPPK6F@p%%1{e3X z0(1q8V0ja$0>_BN4d{WS3=Bq?yo*a|;c7GmLM|x4v2iAv5yGenTm+?1jbKzkQ{W<< zhN=Kv-lcmRepUs}2T>IWqATz?gBsc?=n8y}r{h=9b1aR3g0?agH;SMuI8)Y+935;J vzC4q52Co8-Gik>Y2q-v4l7dk%3aAADw8nPemFJ0$00000NkvXXu0mjfQ+9{Z diff --git a/graphics/pokemon/poliwag/normal.pal b/graphics/pokemon/poliwag/normal.pal index 09bad1cd36..dae35ee461 100644 --- a/graphics/pokemon/poliwag/normal.pal +++ b/graphics/pokemon/poliwag/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -24 57 115 -139 164 230 -82 131 197 -57 90 131 +246 189 246 255 255 255 -16 16 16 -98 98 98 +200 200 200 180 172 189 +98 98 98 +255 0 255 +255 0 255 +56 112 168 255 189 172 255 106 106 189 90 74 -205 205 205 -57 115 172 -0 0 0 -0 0 0 +136 160 224 +80 128 192 +56 88 128 +24 56 112 +16 16 16 diff --git a/graphics/pokemon/poliwag/shiny.pal b/graphics/pokemon/poliwag/shiny.pal index 9a526f806a..f254ab973e 100644 --- a/graphics/pokemon/poliwag/shiny.pal +++ b/graphics/pokemon/poliwag/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -56 88 144 -160 208 232 -128 176 232 -72 104 192 -248 248 248 -16 16 16 -96 96 96 -192 184 200 -248 184 168 -248 128 128 -184 104 88 -224 224 224 +246 189 246 +255 255 255 +222 222 222 +180 172 189 +98 98 98 +255 0 255 +255 0 255 96 144 232 -0 0 0 -0 0 0 +255 189 172 +255 106 106 +189 90 74 +164 213 246 +115 172 255 +82 115 213 +32 74 164 +16 16 16 diff --git a/graphics/pokemon/poliwhirl/anim_front.png b/graphics/pokemon/poliwhirl/anim_front.png index 1d5cf718058a387545a77b30643a50394102ae86..2bf6224f46824fba42baece9b17fc27b0ba27e06 100644 GIT binary patch delta 1139 zcmV-(1dRKl35W@hB!35VNliru=Lii1CpTdJtuO!p02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPjsz|NsBh)!x0my`-e1{{a900RR60|9g9TQc_YlaDS+Xpx{t|z&Kcd7&vec z5D<68lK21s00Cl4M@0Xn2lB-L00XQ^L_t(|ob8vtZ{s!;$2DGnLIk4@65z$`5-%47 zyukwQ;Ng}o{humlp|{vttjT|fvjiDSxdq&W3SN^mQsw;PMs< zdLO(Wr1-wJWq-Ze|IxC2xrpCR_*1^xmrJ}i`t7?O&tT!Ww=x3Xd11V@tmH15a$|^f zNz$v?PCyE>f3+Ljw0`QFj0%u6lySX>@*%mFM*egt5l5_~cGE$jJrAi%#h2Y@QRq-vAp zi3}DJI|OY!q7#6f*4ty7o3ImJS6>LB-5aonTlmmwz;LrHwBg4Hn_q7A+l!$7I=3y1 z*MGY>_Fu9(039|jpHJ^)ZBl;S|7zd1okiyNlbiZsiYMjT(QZ~vY6wtI^^SJGsm7=Z z01Dui+8w{t?f|p#Wd+Qf078Ivie&{*`SpiSKTJTU+GhxV!sK;i^|nt5<~BaYO{ z4KoL~)h|N;00ad|L_t(o!|j*9iy}!B$6F4DW+SzO+kss;%YQ(Ri|iWk4kokd0q>uf zKuQr!b{9*W37ihvf@7kI%q|cIiZ;1qVbcYL-kM+&cNnby%g)jv z4o0YcyGnr|ybkHatM%PQ|3jO&9nwVzRm|ZI{133_gHUX{)T{a91q4}+X5*Oxj9YmR zwMBp&ZhyNBfG%UR-Z%wLo~xHk6O5&084(y{=E`2;%fq z4G?-pXQSw~n=AP=HU1dSdOl%YMj4F(lbOk9VKVsPjUYaojrr|XPzEKu zgKf|NwGmTBS@*9fL&iJ`gim`u)do-@AOj_gzJJpPFbwt)fSyY5I_Lb~`~n2{E7Kgn zdtFwW%yKdqCaRmz#?;IK3gu*b3i>7r7EY@75GrYa(>wUk5BCu7H7=Z0gDaVm^ zLuC)c1d#pf&GJ~g$!@chDbSsOFdS+(JiQ;qfU(-r)lOU^MSi3Q* z9~|)lWcU(mw}}1da0C=e`1})BO3H)J%3oob3(6H2pxxK-=F|m)WiKdU5ULb{1W*Oa zT(zv`I^dwfUjP6A diff --git a/graphics/pokemon/poliwhirl/back.png b/graphics/pokemon/poliwhirl/back.png index 74ad4ac812340680fe1e6998d6702df479fef329..81f7b2b791a7bbcd01f8e214957a059194889416 100644 GIT binary patch delta 572 zcmV-C0>k~71l0tPB!35VNliru=Lii1CpH)Pou&W)02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMdo|v|NsBh)!x0my`-e1{{a900RR60|9g9TQc_YtpnvFl-v3g)|2c!zAX=;t z5D?RwGqwN#00Cl4M@0Xn2lB-L00DVPL_t(|ob8h@Q^PPA#v_@ayZ10d?Z8cOyI`s? z2pnGt4g;>cDbzklI)kMh2wd}K9Ft{bcQYVZNK(4pnzx5V>=8{a&oA$vq+x8Qotl;6 zAHEO;wZ4z@a(~POss-U^v2q)w7$XuP%sy0e#1A{csSo7Fe-}cGa|@`~x*w#da$$ug z1EN<%fLQt>E*bzSeuWJ{<;T|d`wa35a3!GjjzMf?z)8K0tn$+mkSQG?#!Bfk5g@^h zlI

  • )4g##IE0NGGI;e$*k|e=(B9n^HDxTj18a*E`LatdH`DB8ae=1%w46Yq{mu) zxB=*x66ORTd#ufQAK=hkr6+|aEj_frLB!ewfJJuzouLI5G=Tc}2*MI5NI>d0IOPC* z!M^JNrTc>Na04jWg0w{ekTCzx4wyk6Rm$(Vmn50000< KMNUMnLSTYDH~8NG delta 510 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 diff --git a/graphics/pokemon/poliwrath/back.png b/graphics/pokemon/poliwrath/back.png index 991318594db451dd38fd89ec33abf539a3ae6f1c..7137d37c8dc7db4aff53973e67965950bfa8390a 100644 GIT binary patch delta 705 zcmV;y0zUnd1=$6VB!35VNliru=Lii75C}{G4Kn}$02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMdo|v|NsBh)!x0my`-e1{{a900RMQPSbKYWQc_Y75PuN8-lU7Yb83r9F;W;1 z5D@5HL23X100Cl4M@0Xn2lB-L00I3;L_t(|oaL0eZrd;vhCK_l0K!YrwkB8urBBGI}bSZI;;o~+k&yo5o4!o z2eD?1O{P5{JV1y1K>)WFW0$~$Y*+wvLtPm#&TWt1R(}%Poin(dSs*>w@V5St&OR0f zNN}K2hY8K1G7(TfpjTg+4rv@}467-WP9g8?RtNR>lLdIGBY4$Of{E$yD$pBfp!4*W zB1}Fj{dTT_#Lw8s-;r}O{<{Jm>(HTHb6eR|?X(Ycw9`GnX`wa&P}5=J{Kf#(;Sd4a zpFSYZ(tiLD68Q2KAg97J1IU$ryae3v8Obx6M7>%1z*+tO;+Z5eHHq4ObPJ^{rn9W7 zN)0p-AT9W`%I!}1fDVDp1J5kbVe9YK!Z=m;#W#IF7j~52<9MIv*AM1a9IN2SkwsJQ z^ZcsnFW$ljni`KCN+5SYaHM2=a+H93BGL|{k~%FM5S@DkTzk*QIR^H5;Q>k9WA8<{ n+~X<$k{B4gwXsDxdQbHqp0XyQ=iC)800000NkvXXu0mjfHV8ep delta 634 zcmV-=0)_qA1(OAkB!4haOjJeqps;9&NVwRbFi;qXxNr~<5cv4`(9qbpxVTVIPO{ z4L1=dZC@4u00H(%L_t(Y$K{nxPQx$|g+U<)aN{gMY&!G+q<^J*TDAL_5(KDQtcrUS zIjp*g)FRdhaSs+qITRlMGk~3WozT$Y3Z45sxB`Ne2S7%lKLxlTy3)2D$%j2?fFuNxAvS?O0i&yk zSnZVY2*4#~?SGWf)B-S3z&zjWHV!b{>(EDl&MMB!jW9 zag)G=Ot}YSZCx2~A#9HuE794cG5FeAAnMuhw$4!J&y@jU($cZR3P(|x2!w*C7av@Q zG!BgTl~zi}kQ=+yUY$N!K;$}tQyC^$nGSyfdjkz*j(?tDgw>1Ezjhjk-HfUHjfF7p zzbW9B`3}ik*ecg*rI{arHh{p1ntA}k%_PL90kA_a0A}|tAoo%Wpb~if50FC-5!=8A|i5|nJ=+##$B_;#+3Q3#yZm3u>F9e{UBb@cf0fH(wNcWr2qAJj+m7a#-T U9wiWs%K!iX07*qoM6N<$g0zqu4gdfE diff --git a/graphics/pokemon/poliwrath/normal.pal b/graphics/pokemon/poliwrath/normal.pal index e1f44100ad..1262d1ab47 100644 --- a/graphics/pokemon/poliwrath/normal.pal +++ b/graphics/pokemon/poliwrath/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -82 90 131 -180 189 230 -32 57 90 -115 131 197 -16 16 16 +98 180 139 255 255 255 213 213 222 189 189 189 -82 82 82 -123 123 123 -232 232 248 164 164 164 -0 0 0 -0 0 0 -0 0 0 +255 0 255 +255 0 255 +56 112 168 +123 123 123 +82 82 82 +16 16 16 +136 160 224 +80 128 192 +56 88 128 +24 57 112 +16 16 16 diff --git a/graphics/pokemon/poliwrath/shiny.pal b/graphics/pokemon/poliwrath/shiny.pal index 3b92345e72..a04d28bb37 100644 --- a/graphics/pokemon/poliwrath/shiny.pal +++ b/graphics/pokemon/poliwrath/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 160 176 -104 136 72 -184 216 160 -48 80 24 -136 184 112 +230 123 230 +255 255 255 +213 213 222 +189 189 189 +164 164 164 +255 0 255 +255 0 255 +120 160 88 +123 123 123 +82 82 82 +16 16 16 +189 222 164 +139 189 115 +106 139 74 +49 82 24 16 16 16 -248 248 248 -208 208 216 -184 184 184 -80 80 80 -120 120 120 -248 248 248 -160 160 160 -0 0 0 -0 0 0 -0 0 0 diff --git a/graphics/pokemon/ponyta/anim_front.png b/graphics/pokemon/ponyta/anim_front.png index b32f2e0984c0d2964214d53e972a771b48546fd8..b93cd6f9204951be868766798cede8b4a3d2984b 100644 GIT binary patch delta 1163 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 N00>D%PDHLkV1gy*RMG$d delta 712 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 A4gdfE diff --git a/graphics/pokemon/primeape/back.png b/graphics/pokemon/primeape/back.png index fd3e1c078051f71bdd9ff12e4de3ebf45e02ccd5..9b698ccf1c885090d8c430d42d1fc049d4c701e5 100644 GIT binary patch delta 717 zcmV;;0y6!f1?2^hB!35VNliru=Lif09w8zU^1c8702g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMgRZ*|NsBR#l?GjdqF`#|CCz2N-@pegRHDtgL@!aN`C+V0095ytpCl6-kfTz zVmUYQ#-SWx{IRxLoj6>!?)G+9|-0@mIUt>X37G`#-M0uuMAPenI9ovH9TdF(r!%9u@y6=G^0jqnPVW(4SKvkbn!2po-8l26cYK~l9D%+ts9e@)N z>vqf>a;UuZpzZhWb)%5F%w4(6v({ks=-+7Sk#+maEVJx-SM?ujF%Ux?fNpB$4jxEjrvh^9Z>|CA?!bTqw^7)jk`Y$-R0Q9Fsa{=fr)Fq;~ z__G}=SIQqFqrl)Cl4CuJfx-A~jGR+%dXfGCNKGyk6}1+c00000NkvXXu0mjffL}z% delta 649 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 N002ovPDHLkV1iUMdA0xm diff --git a/graphics/pokemon/psyduck/back.png b/graphics/pokemon/psyduck/back.png index 4bed36444c497676ce76dff7bbde7534215a6c0a..3e91ab25c523b3779df71a587758cfb253b68dce 100644 GIT binary patch delta 532 zcmV+v0_*+k1FZy*B!35VNliru=Lie~2mp7iL9ze<02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMegqI=Kue+-u9fd&3l8K|NsBq-rjqAd;b9c{{a900Du3*_V%3K=6kf9L27dl z5D-CtG&ukO00Cl4M@0Xn2lB-L00B`+L_t(|obA)Ga>6hS2H*_6W5eejdmo|?&<=f| zY#n(p`UWWG1tO<(jstfcSa4JUEwvPIu0uDp>O=ZvpeSzj$0|qqlidg~lpQg7E%IQ# zD@}HXpGK&I5+)*gHpvY=|g^*MkMz|(cmpMI6`D!A21eF2o1 WfM!i7fem{A0000O{ z4kbGAV`$s}00B=)L_t(Y$L-TSR)jDR0AQA_>~K#2lkBtgL4Ro0jtm#rFna?zfQ{F% zwY4)|(!lD<3=*D&-A>7TZ+=3OB-i+3WGneiu>w+vme|}Taj+}0w1_t-lK2n+dFX*5 zmPM*e9|Ftd=JjPZWEKRR`Z3_(-=)|=mI8$2BjTyIekMW|KoNDr6xM+EZ?ioVen;c# zgZH@rKY0s8&VPSA@qDE(z_dj4@XW#Xc*$dl0k{Z29ZGa}e1_IdfE`LS9Mpz^P@>^8 z8a)AMuOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``00030?$zear1q>S-g_~gc+4d`+EaM*?+zHadaT z@qs#wgbv)59rQYfF--UXMCmxrwz!s7fo{FNhfz9??KL}jri3h0YE~eMWB*7JfYb!V zvE`n(?59b<#=8QTciS!7KJ|bnVLiQY3(5;))2?INU4LsB_+8xphJnB~(dFDH&9KL( zl-4OV44OMO2+4SW9RL}7j*1p^0qZ@lZxENHo3vh`2rWc{r|lqw{+K?z*seXWO%?D% z=+OV+#h=u+e^?;hY6w7x4*q2wQ#yB117Lr-!Mni}C(S46LjmxDScUEEf5UnBVx6>} zN}#t^7JvKju~VU6L|&YBv)OiVTXn_+K$l=9H^@NJ4h#ge9S?wEei^=+83e>a#tO6f z`x0Q0g$h7~NYQ*gFDGEpcl+E2v>5>IhzXWS3=rF$n##*5%%y4+$oMH!SjQAdzaQyw zO5QvqWe2`cD*#rWz0Y=_&c46ID+3kK z*neW_5o1e?vBh@=IKf{;9plAfX?JaTjj@t37?7KT_$O1_Efx*K*ky|=1c-q_;sXe{ zN#8B55CY^-9SJBA9f9PbGc0LeuV3}SuCc0I&J{qNn&Kf*vzlDz&!VPPc$B!AaEli{tNn+Rxzx44F7C9fh#o6C(p*|fyR z@c;OShkhMUy>5c*fNNd^1-L>{f};u?C1Ezb<2el050Wx=+?+R+>v-pFItIwb;3$XQ zHN`-1hEp-YdFv`5i~n2Pv70;z;O-=P5?atf!xM~%qQI>$(37@!yVb0E+pYqQRexbY zz4Mk+CBqJbXDg0rx9uGG>x(!HjB)@3dJu6Km|)x!t)7z&fk+5Vni$Qwp+1BT17qu! zuSwYm;5!VAU!;jq8vPCi4kJ8CnwWC*1`dP3s%Y_`83h7|fp(AQ_t3=b=6(bS97bed z+qF0lI*h+hXi{;&3sIq-NhLcBNq?CIPlBQr6gmv~_4C3MD#}L%#Rmh2$@DriLJ!KS zQ3fe9yz?ze%sjj^i)skzFnUh_x2>ZgKspR*xCng6Ic1NsN)O>M=%jeM_c;G;nW=zq z7+<8|mqB+-^&sgmB=v~^8dz67NI1-?58O3&=z3)%YC*zbK!YTZe-8~}-G6xfDmn=q z5`Xx>s@Uvo#DY9R0bnCy76cF5obo+MdQd-hGSwvTfiPnPZd|IsI2AqaiU*D+aU<44 zHw#l9U`nfvNsP9}Hi4Kg1aHic<*?G`J#(4iSh-BlAaIycy~uWhUmkx0V53-`N^jKX00000NkvXXu0mjfA3Ud) delta 1406 zcmV-^1%dkO3y}+uB!4haOjJdf(4bl=DT`td0001UK{5Zm0F*&N|K3{mtSR1mG5_w> zy;?E77zqE>T4G{qIXOYVyr3!o000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4krzJ=&w-#00i_&L_t(o!|j*NYa2%xhiA1yM@PFBMvf@8wtrIH;LE1#nz(^hAM1Xc zid`?lN24N?7GFZerblDi%-Z3KgHG542)PH8cwppy% zcF6_q2ld3^9a=tI-Z3rPE~}%!$L#+14FIN*#QUCa1!Me(v4XK-;KjUwP|^i#A4uAJ zm<@pspFh(>iGKoK2#JpW=CWNdVY`EO++1&p1Fr56S=*B89u%F7JSZ z*Y=7B$bY*Oc)~h3Krw(#cj~;$yKvf(uPf=LOhFw|L`MixZZY7=2tdbJXCdBTz*EQ& z2R>&ZzGMJ|AaxWSV{V0pkj{Oe9|uY@1+qS{*Qle*%gfLhCG_4pYPtY@6Qq54VSMm+ z0O&|AeuO#jJ7gdRz4X$LnxwzpUBbHo(1)6Q5r0W?8}Boq2^kvf=F7;_%GhB*7FNV2 zyEGL8$gT&tZ~I1czLrV*Ii2Y&O!XLmH20s8Sz0G=Ucr@N6p+bL?;as-LdemFL+Ic| zY=^o#81!hLIyj$A}U`V`P(~1ieYh4UQ3_q+lPFbI0(3 z0DmxMt0qvAzv_?Mu(Kr1A7>1pU`OYZo*uK+-`e4mj_aa&hHl?1opkH_w?qN+6}7;( za!nHfvYK}f3snrD#d4L0S1YCvkPY|YGOBw0$(LDNy#8d9g|FfN_D{F;B!!vOfikIs z{ObckMM3VeW#51%%Bz}HzrKpZK*^OEYky7*@FSNx$~qd;gULErsd+#m4kXy8W7#cD zWI<|yc@kLAYGzIVNNX!<}t z(1*|%sk^RdRV@GO3|SEUD!GZ_MY9@mn6&`dyyIz-F0vqm-r**O@sTdDAm&Nj#DBs^ zZ(uF%7F6{n1Ho*J$LxiJNlabDwm7GA?g9?C+L*-1r(}x~+Z}(!j93ooZFfC)4hXd4 zD}e@4hv_K;lB4y3F}#X<6x~~mCGeozr)1F6sRz9n@dtV*q@NiKron^sxIbjH1*jlt zM&v=%AGCsL@c)Vn$3lNFtA^_j!i`+^2BrQ`&?opqb&@~m|K>UR3KQy6@o+G>p8x;= M07*qoM6N<$g5s8!S^xk5 diff --git a/graphics/pokemon/raichu/anim_frontf.png b/graphics/pokemon/raichu/anim_frontf.png index 23ddf1fa7eb5c353b1d0b9cb9df3ef4c51505ea0..fff9306e739befb003a566ac44610281da191e58 100644 GIT binary patch delta 1492 zcmV;_1uOdH3g!!tB!35VNliru=LiV{FBpm2o3j7_02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``00030?$zear1q>S-g_~$DW+8mI;w$xq-PR*eQ(;8T5E%lNf*69@qFC0>-LE!ZPq*ih9O1<{N zAz#3uUm))D%zx~=2Xkqq9{QZnK0iP6-`Um94?_Nfr5d%-ee?L5zLOmZ7|z+~1ZKwv z3@FJ8jw@DB4F_tN@BxU@vF$C{gsx%iVw8?;Nz)h=O7$v4v8|tE{nP}-+H}ub)`5TV zMFd!Xp9Ax5yJcCY;#&H7*iSFqg7(7Lv};>d*Ay2|B7eZ|{P*u@2y78m%sy#`YkW?r zL8+$E+_6ST#sjPX$XIifFF_Zu-}BZDh`EPL-;#|dAolh%O% zdTSNF4}YK9Rr*!r#c4O2Z5y{$WsC!K2`0Hg29ma+5Ky)~080Nld^Ix&@EaK`%;p~o zfJJVU13W~E=JRveJ7bEngS`^6mDO1?T6!8@RI1ni} zIB;(WAm<0Sd5G^ha2GQq0fmQn!T}7y)?+~C0Dpp>5_Kv7N<)AGKs^BFs_UfR?}r53 z!tFy+@c?)dY^ncRd-qLriqd{X1@IweU|N_=jo9RuZX^IU;{)E)z8T-IF}CyocDjyReFeZOvk%!e^w|%Wcx4a=6t-A? z%754rV{Gxg0S@?!#B01*Ebpu>uQ68E1_N?)ko;sSJH?`=X*+Cjg#aLURyq9PzKm0?TyrgYT@yUuFjcCG*ns`H0L^_slzyqxAqC|#HJ8}Rw&>C~5B z{45K2+%r4kQ|>r2KrxTK!@`sUB-cF?;eXAZD+LtIySavG%I_jbo6C(p*%awx_`m+) zQm+GQ*A2K1xaLKO0aqwWa8!Y#NT#VB&tb5?FU#0*bKWS|ejx|M!r&-}vWz(4ln*#> zT?J%uvgz1X)A24wmx84y(UZ`E_8X!Tbr|^REA*sIr`>ASylp>;0gY8|LA~>qU4J9P z4ufYa*0kHU_eok@iZ~2ZB>)0Fh&T)k823c0XJ8we?_l6C+>?Zf#g5*hqJ5qdyQF|P?YaR^&!eL0mMc`w{q3mfC@Eiu66i@e_H_$Pn=t}6F5|#B=diRpKX#Vz!p_)P%thlX>69ir~aJP7>3>9}}m!~cp$GEvHP-7|iwgFnbV u;KcSl^G0}Z(V0000 zy;?E77zqE>T4G{qIXOYVyr3!o00i(!L_t(o!|j*NYa2%xhiA1yM@PFBMy@E0wo={T z%ckp?xPjJ^R{b~?3opV)qac(PUqZ#EM`PN|+W6qQxEhomLVrt1RdP^WgpE$U`ws|) zoP2i;xksIMX1_JEdMKrb&T-#IGrygkk4Fgo2b-j%udl25DRoW17ErXx^$FC12Pm`& zM$k;%jjGY6Oay3@f@RH$dMGK%97HKtwlIy-!q{ojD3<-DsGeHJ&^FC#-L82LZ-#)z zj||v0i*?&x<$uo-4}*H*@GdPMuI!kWZI@L3a3KVI%zppA0l+Mhc;5@{V2tlERxmaU zyp%T(O1gmU14(-ivmx*y)XVO;LEJ|@)B0$vD-j{oHB z4{Y0C9imb?0BDE;`;vK#_s+5u*f_{&CBKV>_QS+F1Anv*dkfpzxUXr!!dj@;I8Z)q zv3dB~YU1BQ3#Zs_7cH1pi4X?hBifT0EZu}f8vydW3()5L9xTly0PICpI{UpB93Y_= zWdIA2!o6OPcR<2xyXpb*E(M;k4h~QZVAGvC@9{32qsZ<`dMQ&-hZNBfC{W`mw;1qj z3_#V|9e)<$O$I!N3~@kaAwFjSgdmLwkgU<5t4KQcfx#FcQy}XDd(8&Ayu1tu`U-c} zQOgDBmmo)%7sdyFhI^5VA7Kvs3K@u@Bl&eC>U+z0Hvk4ulP@AkZsUChv>-#1{rED{ zg^V2rWMM^YvPUy9fb4pJ`?YUG=WB%=y`(dpg@37@0Fc)H3o=jZGmHG zazqH}emH^-Ud4`&d&6NrcY1J2NZ%NZ(2Y_2$dq%#pfw8w7v}M>Tft@93{yGx?1v@&Q^z?+I{?-nkblectGxYdo>7-lV zzJDzWm@lgZew1sP2$0phds(Pr04u7beF;4;uTFZz+Nbi6rZED4OJAdtcmIx=EFbgVI>sH#Wge?f}R%knB(ON@^ zaSKAIw*1{0vLL!ExryN=vl4QcS^#X`^)yKrSr9_+audV2s|zfM zc@j6V@YNew5CA7^h{x^l-RxTsg&%Ftfr;7ejWFO@5X(SjvvI(;Ab*~~q(XpiL4UM0 zv1?M{41ooql+$q~NNhpqlkYm`peWyTB0lI_P_kUuWqQzx8l`VRNv-e(NX#}}GhJO^ zK~k9k&(*~^;93yMm;n5wX_!3F1r|h|6mIvjrhR%4bv4(5T#=&x3`#2z4{|LCrG8*Q z2I_;xxCME@Q)3?g9?C+L*-1r(}x~+Z}(!j9Cup zZ@qL52(;rXfd)~B=_^B$qxGRNx{7-gJzI@s@SxkLWZ2iK2fZ5e2l`7$KT9_p&VmQ& zaev5Yi%>z*oXCTyKWGKh;QtjDkA?nVRt(o4ga^6o4NCo?pil9K$~1q_|IK^!FE#j1 Up`omBU;qFB07*qoM6N<$g6>{?E&u=k diff --git a/graphics/pokemon/raichu/back.png b/graphics/pokemon/raichu/back.png index b4d8b75a81f6036d15931543335f1180339e5b1a..9b15db38834789ca144a426d195933fb6a6f1a6e 100644 GIT binary patch delta 698 zcmV;r0!96e1=0nOB!35VNliru=LiV{GYXs)x26C902g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMU=hf00030=GErKoc4Pl-byjOIUtlNAW{$z-pzx(q<>nAVi0pdF})ZFVq$7J zIYGlckZAw_00Cl4M@0Xn2lB-L00H(%L_t(|oYmAZZyGTa2k^TIk1$Xem@+YU=@+n+ zNSQ*;3M6y44(&h@+ntn?9F(P7$(Ge&=}?KvH<0Zl-iOMw?~eExFl*xhr1OuzpC9%` z(f>B2Ov8Y!N`HAG;sxX;C>E+HgUc|5A{g<2A{?<)FX4#!lPcQ5H8A2e1X{}{1zv=7 zJID~wGMUs`7xEn})ygfCWt{c>CkFeG2TFkLZ@GFZ=NG)(13er9Ch{6Q7 zW)|#sq7MM;b|iCd8gT%`2)3C_ILB75jsP(87p76=r++=b49ErN=eSFF?SJ``cNe`giRw$N9KQn7CkLzor(*y2{Bf7cl&6eYF!=Q{}T; zgE?YM(0?&@x0xOQ?k*~I3bgh>Mo-00I)4*M{fB^@f**KY=q07#o8($U0N~lWEGU># zknl?&7tG(K;Nk=j!YiS`L-m&cdW8pIhf6kO1*pe%H-AL}V%Uu)qKrpzVXpkr%*wC2pfH>G#K=|m; zus|@lC>Y?lfM8%~I5O{ z4kr(l=FWWp00HnxL_t(Y$K8~%Y8ycihHnw5)^ZZ|mEIhLbblu#48o01nkR6yy&zyC zQW;}Z+lAOx61HyzDb%`7lNU+hr^)Qz$=caFuiD@#Z$AAq^Y4tJ=zj~&J7IuLbACkP z3ixG^=*ct>mSGZ!pu`ChVTpyj3QOGF%QOqtK#55RXfN(1WWIrpgA4)MCgVbglplbF zoVsnYcrXMI;(uM_D*}EKgD#B4Sw-Anm*98SG9nd$V@RlZ)#@T)gxl8^s5{XIfU_*( zi84ks04)T@F)x%tE2kd-VDb;fsQjY-NCrr>QcIi?CjFTYV3Uw*t&1M!;Z!Y~fCPb+ zl=&c0O3fN7%qiR5iS0FAC+m}NsO?`041E{gc8$Qnh1Xrj{~x4QzV5Q<)5JdvAy{t;VPpmX O0000OV1ZP1_K>z@;j|==^1poj5 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 KMNUMnLSTYC{WbRh diff --git a/graphics/pokemon/rapidash/back.png b/graphics/pokemon/rapidash/back.png index 811f88d2917522ac58920dd65f9916c00df25c7d..dd871d65ed3cf195767039510a016352eeddc6d0 100644 GIT binary patch delta 870 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 f91i~F=OV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u|NsC0&78%9Qj}5<_V%Ri&2yxKF@stu-n2@^lz%y-b17;$0JOBUb8~YL z5D+UjB3A$a00Cl4M@0Xn2lB-L00aO@L_t(|ob8vtZ__{&$4{z<43@0?10Xq_Sb}`s z7*g3M20C;~1?-rL0dI8dM6txsITbU*HBvTy^eUxDOeqNQ2egb#fSW{yrh?<$C5`VK z|3I(-Z>s#hd4KQwF3!DA5&DON5VBH|Uh-|*UM^8M4MH5-EmRmHWq8hVp+J7r@Nk(8 zp>Uez0_3?B0^g1+de~Ja>{dmOYL^8k@op|?9jUL4~P4F=t`#e%@>nv_yL zeQr3572ePZ2xw0xjOFZ@N7fVC;};6UZ>(kN@14=!q<=@H0ukSJ(+=jLu)n)YCtW6+ zurcJFOzBb`_t<%}1U3Nh5wV8lvr)ZJ0PKUl_ z>@{ZRxqkwvK)dgc;5lb`0yODR`s(zEDWM4r7@^D0S)t%1?TFFXi)fzLr??(GyCw1u z+mG`EQM4M|X|La758HE#jHfMX?XbPR83e(d^)wGhtyBnu&H9%IK@di=gOK&H`ep6} zr}YnCgCJ_(gcP@VR)CTp^~+q8fJui}?9n+JX@7!fd+X#fPoM;Rv_V=X zA9Lu@j#$4r9=pxHs|rx`?e6zaoCg~ToCDv&t>)NuRRMaGoYud9i4D%4KL~v{_C42G zN%OT0>;CbHa4Cax#2fKYF^!3;HByR@mpb(f3afaRWHSrDngIpY4zW2+)D=;%osG zKq#yOUzuSMKw#q#r9c)yE*6h*1R~f-ep-0HU44j4w0*QQzpA;EUTC08!qzXh-se4j`jcAOK{u{xJ(63V$8| zfB;{l03tj1DnCSmFOnI6Tv*WXAQ5~KOaWvXV~ro8ox7huh}AuxvTvyT005G}UQQ%{ zK&^^ggpfU$nwKB4`m4eko~7&5~2)0)Hcvpej-3hghsnFL5vb!zr?3} zLh|kvqX~!tu(ln9jhz1p;D=0-A3?__fGOe7^>EJhIBK+jeS#RpL+Y)y_>^k^00007$8F?HS$ge?PDuDV5_4jU z*-4JlQe-F+q=GrQo!Cq-(i38$${*0B44s%VFjZnO6&pe#-G3~WVpv#MVCjm=xi?LG z?KrmhF}?TB==1eC-*e;K^U<{ba1cUPO4651*L9mE3a3SgYI5Hs}qQRA|Js?X*K}OW5DrW4$4l zO?aD{R4E{w*ZO;Gz{na1#ZE|V)nc37#rYT(AZwz;4(A7<;g}&6UUqbR1y_>wKx;F&l}|_&?D+pPk}L^5mV! zzn;7*5=7Bj@^NzVfxn*2EpkX()F<)e$`T53IfaEm5bAU72@Y=Sm3bZ%D=J*SmI0gRnM{L@@Y1xkQ z$E=?kpAHU%OBnzfwEV7OvhEx4*MslVbPVDVYJal-njjVh&hYgm7n6ZQo`V(yOD`@1 z02-QMl-z74rKJ2`G#kxQLD%xTr8lEtc}Dr&s)P1_{PoaD<;tsGiYrx$W|fP|67=eC zZp9Qt9RH6^RPAod`(u}_DwmZ4>i<@YnxFDRfuN@KQ-NI|=-*>oa|=ZWh3j&Y}gmzh(G3q2}sR06{u1ZJIBj0tmx(U@9{#0tjv#;x7jf zxwF&@D+?f!FL>rc%K*r_&57<}Ct{?CvfCkgy6s!e0Uqy$V1CUp&eI2o&%| z20+v=x-R(QZ4N+`?=3o#e31o^PAU)pa(_Plo(B*G4-i0*FH!)J9ZZ!UBEc8I1%S*f zWbhyme3486WE$-ZKSW2LzwL|FJ)bhvRenGK32-k559xaAZHEJ708 zIygj3iMzH%3$DjbtAXs3_?q7Z3%sHh7KrKa>qGYiEezlCp&SnW<>>Gef;T2&W|Y45 P00000NkvXXu0mjf^Fj_V diff --git a/graphics/pokemon/raticate/back.png b/graphics/pokemon/raticate/back.png index 002285f5a38a8801cbeec0149f0055e8e283f540..2cbf1856437090ce25e2a72b2b39e1e39d04acc7 100644 GIT binary patch delta 819 zcmV-31I+w{2FeDIB!35VNliru=LiT2B`oFb+hza&02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u|NsC0&78%9Qj}5<=JvhS=8K%HL4$)a?vzT^bALIsQYm{F0JOBUb8~YL z5D@YU=Q{uZ00Cl4M@0Xn2lB-L00M4FL_t(|ob8moY8yci#|3dIxI94uwjV%fT^e-c zu1i4GI_g~MP^T`nD@EWUPZ2OHfgA!R>@1wYB1LvVui!@zND)CN*vx+1hpltmr1TV5 z?EaYf&wpmG(SLY}r$Svn1N;)t08OTzxB*btO?4Y^wyeFEj4{#JP8DdqsLgCbX+BLE zo7LsmPJpxRjI$X4pWRlkTJ{?N2&HTq0H!O%t0Pwf0b2%Bq>%0^z_Akv0NMgmSWDog z(00oMLP@6-<{wZ-A+#O(3aP8WG7)#BfE@4=P$O);hJRfgXYh9Cbw*A?Q$m_KU_o{K z9^UXPU%>&5Oh{ndYSdI;!Z&_(Va^Y{#zuh3Cw#&tXq2YCOZZBA7B~zYpiG}=5g?$D z7*l#~C3rxAiwOWWJV%1M43YOyNXR3@8siP6bZI3NO%#Df)3b4(()$V^#jYf>RR2y! zefrt}-hT$2RZ^I#jFSGD0iw2VB9juTO!BG!(E<53q&V&px%r$VJp;s%12S_e7Da*| z$$8SdFKq~l26GL)Q8K_b4~PREDl}eil4M|-IC&RVY%K3};(%av9NIZOh?MFZ1E7Y$ zl`s-yNu?S%0?9=IpanwWmQ{VgK#@Tw3T=}zO@F0nvNXa2tHYK9GTb-`rCJ0`n*lMy zGW%!_rO2wl(6niRAQx9Ui5dof?7ol+P;n9gZD+6|>u}E}Tj7hF^16%j&guaFu&l}& z;O8(7JwT4aeSlBr`GZ;!ah-E}oOD{{IIz#Y-V?Gn}?kM{*& xaV*za>hK>THpAivvnDzsj|t&@e2M=Re*qYDiaV$2INAUJ002ovPDHLkV1m@7Uc&$Y delta 748 zcmVO{ z4ktBJ>KD%d00L)8L_t(Y$L*BAZW=)l#&LA?cNe0xcp(p9`+o%hEo_k>8S5@vrGuq# z3M;zZkrMe`QlyStL~?;p8h5Ofh7L~hi$u!oAMTEDj+>O8f@0^VnQy+CqtSSd$0EIY z0(dW<0Gc9wBmYogEqv4~3!H`i4$Pcr5q}_%BC*i=&Pwn=3NGdVIPe4s z?JC6HN6BFq40|lbTI-&bPz+H78m;daTdf}|0GGp(U>SXvFSq)u0lW>ARZ5txEc5NX z0pgAyf^iO2CjY(t<$&EaWVr4Ux&E2wD+5Ha1DJW0Nm1ZSewVKvN*jV=z@3KGGT-2s zN5ld93V)5)<2>J(A&y^$6&uSu%^eU7PC~nw}d?iKgcH+-5w49A!58P{$Toq#^i58 edLN(Tf5jhP;H#icOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u|NsC0&78%9Qj}5<=JvhS=8K%HL4$)a?vzT^bALIsQYm{F0JOBUb8~YL z5D@YU=Q{uZ00Cl4M@0Xn2lB-L00L@BL_t(|ob8mmY8ycmh6Qmc*gQc3wjV%fTn4mc z)g_>6ob6m`P^T`nD@EWUPZ2O9fgA!R%o$jNO^VEdUcrwb(1oBCOwL^PVrv~YDSZkR zGau*t|9@uHXn(xaQ{vxQ&=ew zrOwh)KZa0IsJFhcx5}FE<%mH%* zKENAs=_fd#kx2zySdFr$FW|elJU8bDUSlIb>VVNWs+v01e+EL0yN)=O`8Am7(MDhElq)5(*PVB>?Nwai7xr3ZUc;DlPPy zjr#Pp0e^f9I;*rWTN$zbsR5$4H<2j?Rfc`;e{w+n8gQ~Kk?Svv#Rlj`4#>=@oEHs# zvNIOnmoWr|!CXT;Vgs~!KpgN;Av&cS#ssi9%~qC5bX7%YPs|usm!zAj21@pj3;1u^AAvEb|`C zp^{k@7#f=v2y*vjlBi+u$G#U*0V+u%pzRKpWEJk`WF~xdTVC~W-&q~tKP;=V2KY7X zh8`eC;XWXycligkB;;hi-+@cwTdYVY>eT>0NW14|be81ZJ^;5w6Ze*I2H9IT%x^mj t9Vq@o#AaCh!K{dm$YVnK9AD~x)nCCriM-9bq3!?x002ovPDHLkV1i*SR+az& delta 704 zcmV;x0zdu62G|9VB!4haOjJdf(4de|5Ws*?_{f+L5D<760MKwauuv%IkVvqwu=x1+ zfPgUI@VL<6h;VRln5aN`HfyK=00Lu4L_t(Y$L*BAZW=)l#&LA?$Au^@UdRL3egQxW zR|HGOy31DSU@4r!if(VDM7&Fi)RBuw6o}4Jid%Pdu#z7ovwwd$7ITi9l%9g(?x&gW z`(}<>?X{k(^!5edlXwBB^YocF0O@T#y$W*Pt$fco=b|>8ra);@*;!Xg^J&KUq^ieo z200&2ay|jbCs+QfmiY|;M4Fm50GxWnn{zt@0W$_$WRML!;LM5y0BV3K^cduOq3xCf zM9QpE7{5aqrGL5Qy|I)f~>K!U(~_?6$d z2^Ofuf&tHsM$x1T_?F+?>E|a-V=X}CvwX&97*ryQ1$>c(0WLy!2ihk_1PG*57E3Ab zjRXgzU~2||hQ~-q+aYo}3I@B1(ed(9O4&6MN)u&e0Dq&0tF8Q@ z0T%;}y%u^aE46*lK-6|7V#dH{)O`EL0=sL#$zqSp7fKZxXhar>^;40Q4Zf>;RXpxv z2ug!H4aG`r(B=uTz@b8PDle7VXcMPzLodd%MpRiK=%0mVPfv=@HGmodJ3>of2UL!L zx+?*UKz}g2GCv0_6d81)(3oUd#OV1ZP1_K>z@;j|==^1poj5 zFi=cXMR2g_|NsByT63frInbEUv~#_SN{dPtbbypa|mKe2+hsST3T8V z5D@s(+9Ut~00Cl4M@0Xn2lB-L00NpxL_t(|ob8sqirYXCfVYwg2e!N}M;;+wr@Qb9Rv~;m(jJxOY%-$U(=k*00d{|1J9a(*z7C-)&yjjtCNs+(WKA z6>_Tp6_-);x&z{zHvu0Nz`9oh9`tk9E=vtScQD{FaDTf1AxpCYdw5C9Xa!eXL2{P0SAy&Yz18T&br-vDqm z82=jf(GAcM6Jj9Nc?UpBp<-IWL4hG@NQG zggdc`hl>k8ASZ|ZFo*KTIL0xaaNt^OO%X)EyhF-6reEjHc{8JcV?Nl3HECm6sJNbrTmyQCa_ImT)0=#&|N8u3LQ-|P(PbR-!zSqT pj{%zI2SQ8754}$u$RFdsj=xD1Wg=}^N7euU002ovPDHLkV1hCgczFN- delta 773 zcmV+g1N!{-2Au|wB!4haOjJdf(4dP-i?nmS)s)prDM1hr5Y4P&?%uS`&CR592!000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4k!Z~$ex)100MwXL_t(o!|j$aZ__{&fX|X|$bi&md}6-WG=B>l{sXb`020Gl!UdpKH#|p zxud@d3c!qNGt$snJc3Ph=#S1H361prhDIbq>bH zv{_F9M4QlNX^CUoCOx3l$EDQgOLO@Rpf=jpxqYpd2E_R%O|OmCYy@Hp=uKy1eR$1S z1>%zO)sx?WN4M`LjH?FtN{+g+-4*>!VY7(epdYHm#UwjZ6Hg#kV3dSMjX#V&U7 z&jvu)+<#GqGB~6>mh?IAm{HI%AKZ&I-G?OA*!PRo`Xpte_87AfYbEJhUkv?XEj9f< z2#VDLsb8#j$ECbt^-K`I#OeVyVpUGyfmoTV$cJKG|5FODScg$Lv}#gbu}V80#JTp1 zmE>OOkXY?r!f7KCD>Q&~shN>j&Da77I^E5<6@F`N^0nNZL+#-;yu1g5(}@)fS2?5~ zd_YW-Ne+Sv@c^O$R+Pt8WkJIaQMz(&(YqMi+Bq%p92{fu#lk28s6#z+0IS7~+US3K zepnwRw~rgz#xXx^&SLRKh2{swYu)kn;JXj#{~SL7I-jX!9IboG00000NkvXXu0mjf D#2#tA diff --git a/graphics/pokemon/rattata/anim_frontf.png b/graphics/pokemon/rattata/anim_frontf.png index e3aef3a76ab748dfe56ce657ea4590000275c3e4..8dc14922a8e0b8c659a72d5297397a26bbe87aa5 100644 GIT binary patch delta 859 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 diff --git a/graphics/pokemon/rattata/normal.pal b/graphics/pokemon/rattata/normal.pal index 8c69af29f7..424cf2abc2 100644 --- a/graphics/pokemon/rattata/normal.pal +++ b/graphics/pokemon/rattata/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -139 74 139 -180 115 189 -213 148 213 -74 41 65 -16 16 16 -205 172 98 -238 222 180 -205 205 205 -164 115 8 -230 90 115 +112 176 232 255 255 255 +230 90 115 164 24 57 +208 152 208 +180 115 189 +139 74 139 +74 41 65 +238 222 180 +230 205 115 +205 172 98 +164 115 8 98 74 8 +205 205 205 90 90 90 -0 0 0 +16 16 16 diff --git a/graphics/pokemon/rattata/shiny.pal b/graphics/pokemon/rattata/shiny.pal index e0d5ee48e9..757bdf4366 100644 --- a/graphics/pokemon/rattata/shiny.pal +++ b/graphics/pokemon/rattata/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -144 136 56 -192 192 104 -224 224 136 -104 88 16 +136 88 104 +255 255 255 +123 139 222 +65 82 164 +230 230 139 +197 197 106 +148 139 57 +106 90 16 +230 213 197 +222 197 131 +197 164 115 +156 106 32 +90 65 32 +205 205 205 +90 90 90 16 16 16 -192 160 112 -224 208 192 -200 200 200 -152 104 32 -120 136 216 -248 248 248 -64 80 160 -88 64 32 -88 88 88 -144 136 56 diff --git a/graphics/pokemon/sandshrew/anim_front.png b/graphics/pokemon/sandshrew/anim_front.png index 1382c8fde539b1ba5fd3a4480b1237e2893d4203..bd152e6b1cf5700cf2c3500aa0a32ffcf9ea908d 100644 GIT binary patch delta 873 zcmV-v1D5=?27m{UB!35VNliru=LiV|2m{OV1ZP1_K>z@;j|==^1poj5 zFi=cXMLDd4|NsC00RQgZ5Y4mzw1W_XVi0pm7$|ti5IA_vy??ak)y3}a-h+dKQc_Y7 z5D-Yrb_M_d00Cl4M@0Xn2lB-L00N{*L_t(|ob8q|kJB&|$1{0D5hFvzhj?z8P=`EM zI_abgwUL;5r=%H9MGW^T81FLxMM{M-vD5<#%ZW+|osNy~a45M7d{o9x$_pDetBgd+lFlPlkdE<_+Ga<5=$MgZR;_+bQ8bLR69o-qyw4=ctzEyA-Qh=T{$ z%-4c^Hx{10P~I8j+*ml*dCGk@ClNhd%nKnrf^hQTaDVYJUvd=g(+EckvtA4UJtoTT zjTxZQXe}U{f{Kr1p|Z$?U7JWZom^wARZ&t9b=ris1rwEjODJV^mPtzx#$S|Njghg` zbjXI-`dIyGCXdG$F9+!|GlMn-1htg!FXIYvP<6Z53WLxSDWz6JidZ4XRu~Cb!Tfau zC@N%a3x8u!Gb!^aMZsfiTL=;{%H=$tLf1qo9C3#{&P`1tBN(}EW|*R~0?tsxs9WnM z2N4@Z!GyrdwH}ZRt-|Es+#dud7ZkPDA+{rE8occ^JFA|%0r`BtSt#ML`%>!l#%C8_ zeScq5$DMq;;9jTLx^8A|Z?La@?dyN5zrZlPWPb<4Bs&;p`VTRT*W_=8@gvHgGK_D= zEyH;D;+A2?D6SmzU=gKZ7y}sg@oyU`8-^*tE9ln@1Joi4fp*{(w+vH7OqkCg)cNwt zVrkxf&PKtQy97(EE+Y#dJnK5rBGu}74Ins3OWuC`1JeJg41g$Z3B*AM1~6hJ^-W$A zh++%I#vm+$ysHUBI0PX_D`*JBb)uFZW^&#Ti1WM*Kjd;vAkHg6GRr6yFogTc7=Eyf zVgbY5!19A_;ROuK4_f8A?5(!&L#X%saEI#`SpO{ z4lODq4f3!600NjvL_t(o!|j$okJB&|z-uWZ!zGYbC&AFCI)4*FDk&_LP#QbOpX<^n z&vz?TZ1Dj=J&8}i&Hz$B0DBROCvG?iiIEYO`y|+Dg+ybwjOf(2`e(oAXUqO|I)}KC z5$+i$a701_ks}}Q@WC}eNTPuccyz7Q9HM^h1D+rNRoJV1MZ^@Kq%Rjv*(>SUVl`6A0|dP{XN$M#M51z^Mo=%z_-F>`DI!l!O#&8|8-Q#Bg{<|6g{5hB zQ$)O7$q81RjdBXA={BKlpvThZ5v8K(Wz+(K>MPUJE`JIUn-#)2wl>ROkM(gEtH~^$ zgeK88K#*(w`Kl@qXGM}=s~Lpe)>?Bmr-%hgY&9bS3#=ZOfT}>zE};u-taUo1sAPrh z5;~EpQ@u)ukeF5~N4o=Ar6z`@0czLH3}R#!kOEbO+;Li5RfZS|rLf@6D;1(8Odp){ zJDq!%6n{DA0iydpke|!-%%bmJfPDM79?0Ro`%?1F#JiW@vz>3z@$%Ph;MVfTp685b zhbR9Khd4OQ-wxA{_Bc$m$6<#5k;Byc9LBFG|LQQl9Df`})w><0iz;*2gH@EZ!x+J^ zpMSfMeC;qfc!5FVFhH%M5NJ2Nkk(;}QYfUcs>bz*)-k{&a^w1pMF+ cHy1d51Ay}Ebim15v;Y7A07*qoM6N<$f;WY4IsgCw diff --git a/graphics/pokemon/sandshrew/back.png b/graphics/pokemon/sandshrew/back.png index 6bdc2ad3316960d260f82bdc68c56828b5b3532f..d5407920b4c0caef392ebf2868ba65890949aa98 100644 GIT binary patch delta 687 zcmV;g0#N;c1;+)DB!35VNliru=LiV|2m{OV1ZP1_K>z@;j|==^1poj5 zFi=cXMfSAK|NsC00RODsN{h5XYJ*BaVnH!VF)(0|7%W)Dy??#l)y?Ma=7WQSQc_Y7 z5D-L-)Or8_00Cl4M@0Xn2lB-L00HYsL_t(|ob8iAs@yOPhO;SI<}l7M%P!`3MWNtD zY`kobFfa~U=19Frp;wvG7t+OpRI;bwgbdxj#S=^h;?L5rUrN)w#~Y27{|Def@Dnn@ za?5;W)87w)5r2p`Z_dWx7?=^v$rv*I6JQA@j2@6u*JF`B7-Ja`bS$zPjbxYe6pn$` zh&&07>A1vD04pNgVS*Ef;0v&BP9DCE!(c!oJOX}gOJB?1NhN|k2!CoLKJ*#*{Q$rM ze6E382D)U1+=Ccp{g=9p8@_1;8%LFhY{ZW`!+=lnoPVXs-m)SoZGhHfXVXO$Sn|>) zz5cA5=ygxJlAS=FU|+x2K(bM{DTiQ^18XgzJ&!W}7I7MN()l-Sd^!WyW@b5vRLUT( zJHRz8+T^AJE)mA6MyDHePoUzWl#oQpZ2?SP?9osiB(%M6Gk6_h79jcM1y^g^N#hKc z8xVjb(|^jY%FryV9V`pyL1~c};i_rP@;-nVoD|3? z0uHopcCu4>vWqcfr|gv6ZtGu)I?^#Ed7QU9{ZE9bkW`}eV%+ZAl^S{$v_rMyVslOPJKp$S6BtTBEm8Ws1CDS{FR|y5Hk1$6tFF V?NjT=mcsx5002ovPDHLkV1laCGw}cb delta 615 zcmV-t0+{{B1%L&RB!4haOjJdf(4atIK&aSAz__>&5DO{ z4lOPtU^b}$00HAkL_t(Y$L*9sj@vK{MPtC2br@LMN2qgx9)BPncrs{r4D{96%BXaL z0=<4oDGS+f(CsXSKoTT+CO?w2Hw@d<=yijx23%c~ z5|YUHHGm%>$o4pS8%&;RDwT3N=Rz01=Ic<{X1$zJ8jF2-D(3WM>Rt$(ZP zSjS}K?O;4_?_?bS2T3Jb@6K=TuGG-8tR1QycehE=mr3h1>o(y2ZTrW-by>W&PzJiG zF(*@0c!NRxjI;rUIi?_0hDZ~JdBT(1{S}`%{sDuetmNxvb94Xz002ovPDHLkV1m>q B87%++ diff --git a/graphics/pokemon/sandshrew/normal.pal b/graphics/pokemon/sandshrew/normal.pal index a2d45c33be..fab5269190 100644 --- a/graphics/pokemon/sandshrew/normal.pal +++ b/graphics/pokemon/sandshrew/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -131 98 16 +57 172 131 +255 255 255 +255 0 255 238 222 16 -205 189 180 -16 16 16 205 180 0 -176 128 16 -232 232 200 -16 56 120 -248 248 248 -40 120 200 -232 216 200 -128 128 128 -200 200 200 +180 131 16 +131 98 16 115 74 24 -0 0 0 +40 120 200 +16 56 120 +205 189 180 +230 213 197 +238 238 222 +131 131 131 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/sandshrew/shiny.pal b/graphics/pokemon/sandshrew/shiny.pal index 4ee0966b05..9221627110 100644 --- a/graphics/pokemon/sandshrew/shiny.pal +++ b/graphics/pokemon/sandshrew/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -64 96 64 -168 216 72 -192 184 184 -16 16 16 -136 176 64 -104 128 72 -224 232 224 -24 48 88 -248 248 248 +246 180 205 +255 255 255 +255 0 255 +172 222 74 +139 180 65 +106 131 74 +65 98 65 +49 74 49 48 96 144 -216 208 200 -128 128 128 -200 200 200 -0 0 0 -0 0 0 +24 44 88 +197 189 189 +222 213 205 +230 238 230 +131 131 131 +82 82 82 +16 16 16 diff --git a/graphics/pokemon/sandslash/anim_front.png b/graphics/pokemon/sandslash/anim_front.png index 17ace08013d6a6fb282d402477681449ec7e01db..e0ea66a2588bb03da7cb189079f83550637bce31 100644 GIT binary patch delta 1300 zcmV+v1?&3z38xB>B!35VNliru=LiV|BsD6(2#5dx02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMXaoY|L$}4)gaZZAe4ImT1o)_|Nq|Aw8gZ0i;Ig=Qh!p-q)M!VF^ggtN;wb^ z5D&KO*2FneTaf{Tqwn&zT}I@>n{*Rh0vQq% zqvY62hD11dKYzdX^v2fw2zg$6>u>c_y&4}$W2s&QdT#ZRtd?X=8Y_3L3BM+*MZ;Yh zONi@$8gE=JzPj#iIr_00*tv_{knY^2rb3TJR}lbrM+gLg4)9x7uD7Ahof~L!0I+F! z3;&3=yw9!<;PB?i^C{)mE_7KMMUO))@yv%p4W&))0f0&1T8P)^A?s4gI7F_4 z00AlUfU%*6v?UP;KEW@hDWouNDWzXN2-{QdhC-27XwsNadicc_c2eI9_V&ZLq_lPa zr%*TH`F|1CDfB=j0PZYU~NeC4wJ}yfgWR9A(~OtUozN7&i{oJ2y|fH zpRmP)?_*##4jHU1p$Y(-E!%m#QJb%Ab0J#vSYy_{chwFddGS*2FOif6^ z330?J7sC+?aiBLqzE;5W+ysEH5wIO|B8DMuyAOcsp$-YgA;u5jHfH9p=5LHeUT~w5 z;t0*f9WSC+6=7kj(Oa zoPWGHU@%MT>>>qt_Guy+aO_xTGpK+7PdCHJb_IrUJQuSG0zF=Sj7SNQfpvBZdpD4p zc*t%cVA({nw&p2hhQJA|Op(fs-*$~?~BTQ0jF9jAg?n0$omDHYDOX;oP}6@&oAIqGhzXG-))9WjZyBo9svO% zPQOn9K%(duDvKnwK0WNV;jnqN=NHME{{g$z=B(@&@ihN3EdUrEohS!+zrgT(YMSDQ zCd!aH_Va$Bw$p^T7%~Jzj}`qwwSRaaaE|aV5d(R@P=Ga`U*07^$clcEj6tXp+dPo} z$QX_S(B>4--b(<)J@gh z`Ga9OkU9|$*)RLU7BmhD#DD1g;a))Xw64w{jQm&e*&qIw^&ff1ureo?Z4J=?0000< KMNUMnLSTaY)KFRg delta 1255 zcmV|BH)@ z-qp0o$j~q_NK#T#0002<+1)Du000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4lV*Zl?jOe00dr1L_t(o!|j$&Z{kK2zy}#A(jHLFYSZ%?aewzR*kPMAS_#S`^^{ot z1j7zd4^h=W&^r-3cY3HJ)XPehQ1?c(myvSeP$jaswBI0?QV^e^?~VTiV>{`smyC#o z@_v5r`3*2XLY~&n`b@p@SK%coRMZ-E_g=>&LDE4>j+S~4QLH< zA%+wI{RRACnnVh%E`)gfLC#!tHx#nmM3dTBh>O>AIScE%`p$l6e+n`D@-L|#!gVaH zljwm^0O;4!g5DrbRh|UVfF7irahN!@f;w)Zi)RSTVAPN(3@09=*!%_Jhm!L~Lo~zq zR)S)iO@BQ}rIfr2seZ&H)J%L{_@ShHCFQ3M0?;bmE>ODTu#b#=0VxpZ!MtB!i+kS& zz;a@9SY}Det25ZL9`49!YZ=}5TE)nQqJV-#+%XvT+`8fbLm)>t75YF;=6295v zFw5(kj}gG)PZNoO^VRju5-K3TqRr6aU4dboZ~WyLfi_G3j8F=Z=HjLfd)K5Hahum6 zuz#2n%DWlALYg0JhzYTJdyoc>Ha_&wRBSZlM1qCy+ufitZhkKXtmicPI@-*py>yTF zec4BI-+bt2TRU1j43I|w9L9r7dki3^`E~_R<#?yWgO!FUa0RYFN6XjsrFEG5B zdY=E&2xUke``dn@w$p>S-{%O(Hc$G6YVo7*gJi(JWB_dYMR3AwHg^XhVDqG31g98e zz!HbsfSEW}6@WIUfbLELAdaC2x?nSpZoB!35VNliru=LiV|Bq&L_WKjSB02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMed7(|MtDr#e1xjVuN!jT1o)_|Nq|2y~V79i;Ig=Qh!qaVq)GgLA?kdN;wb^ z5D?bQi}e5i00Cl4M@0Xn2lB-L00NFlL_t(|ob8jbY8ycihVKO;HF<%oWejN?vlss66@%cwO;KI8(QmhoK9kW%Gm22Y9o$gm5gB$ z|74797ij?46p66`h`+ZPYi*}U0nCJQ;6ps$odT9ffWn6ifj8SJmY4!Hn9>hx>~EzY z54I!%Nyyu*)jHXbllY!eAZD-&n6o`rClYKA38m>QQ-7Ft89OX$L<5M>#Nq2U$5FAv z#h2$BE}e_9*4QIQoxObQzo?~1y#eeHi5cn#vaoC5nJ%$EYnNnF!>oFQ}WA9_S2y9SU1k{Xg0C9fS&X$R4M5QM?rJ{B zh}TuON^pEOtQHpNb5g$1DbE5h5+7DR*9l<8v$n6W5NFrkMd{x5fWa|wN8B!ixD2;V zOQM`ln{xy>uKlq%zX>&(l}H?pky|=G32`gLb#2yDZxXemD?GkR(I1InSU4K8^(G0B zh)i|lh3JcZ1(beIJRl_%`HjS=9~N>o2Ez&X_|QZ%1s0(iVGJrvfht^KUTdS`Lfov^ d;wk=h`~h(sp_S+pse}Lk002ovPDHLkV1gYygkt~z delta 790 zcmV+x1L^$g2CW8=B!4haOjJdf(4cSt5ZEw45D*Y}XgIhCAgGXFNH`GCzO{ z4lV_x@ti6E00NLnL_t(Y$L*EBY8yci#!ra!*;`gAQt7~?^?$MGPRbwQA}_EK(+3n* z0ylvK$$@kh_JSdes|`lDb&52uk|XLJ+~ozXj2k~gW_DMnv!b*~<3(D8zTeHvH#0&} zbbtQWVJwQ?z1;h&{4h>fbYSMMwulYJm}rYZ!VZjiy+v&#NuuI543bC2n9U>&04b1Y zbAaT@#F+VJ2!8><2NVN8B;D;Hpo0V`{E#6q-VD*f5U9bB-k9Tf?@tdhB?3vvCuTn1 zyCcWR4uwFBV-?UfN2X51SRN9J(VYqyPK`P2*N6rX!HC1hWsa>fhrM6(J1(7zHe*<$ zM%{dTzNmR^2yXx@M52ZIN%2Cifd?$b`lRfTNd~P6>VL)epH)9qyu;Xls!Yiw(-TwB zv8Q3kI0G647N{fws-->f)dM(2a6XgJNZ@+k1Iy3^P`(dThj1YZe@X{5U14+>#&GR^ z?DgAFBYlT1xa*_KF?9N}>H??WE)N2o74WUBR#l`-fQo$`D`0tBO%jLX3UE5`6x6e# z_|mWGu77ebgUY3p#ZvaG_yEFNaJQ0~9-S1jtgo7M640ioTxVL#d^W3qrtpQ+9^kap zbfhIsd-kSA@Q#m8cQzUscaGP)kh(qOu7?P8Jz#e0%fh8pA^<@@dRy~BM!c@3s{rG( za{Zf9?&YSSvjDuepDLg00MOFe#AoQ)vvcnvb$?HLfMc7qBW68oe}rk%k|^g><{ANw zYd^N97a>P;B@%~i)RL|b)_%73yw>ZXH;LN*B>~rVabwG{aMWb!O%hNbHoCsD3%ghW zsoxV16a^)Dip0$#EM(ONt{t%3L^FL%LODVkROkX_xWu?pM*S;$QQrTx{Il~LhQw2h Uu@7>ussI2007*qoM6N<$f*Tia?*IS* diff --git a/graphics/pokemon/sandslash/normal.pal b/graphics/pokemon/sandslash/normal.pal index ff473ca5e1..38120bb3b9 100644 --- a/graphics/pokemon/sandslash/normal.pal +++ b/graphics/pokemon/sandslash/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -74 57 16 -172 131 49 -16 16 16 -148 123 0 -139 98 24 -213 172 32 -90 74 0 +172 172 131 +255 238 115 246 213 32 +213 172 32 +148 123 0 +90 74 0 255 255 255 -139 139 139 222 213 180 -200 200 208 -48 48 72 +197 180 123 +139 139 139 82 82 82 -0 0 0 +205 164 74 +172 131 49 +139 98 24 +74 57 16 +16 16 16 diff --git a/graphics/pokemon/sandslash/shiny.pal b/graphics/pokemon/sandslash/shiny.pal index 86e888dbb7..352ca64284 100644 --- a/graphics/pokemon/sandslash/shiny.pal +++ b/graphics/pokemon/sandslash/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -112 0 16 -216 48 64 +238 139 131 +255 246 189 +213 197 123 +172 148 98 +131 115 41 +90 74 0 +255 255 255 +222 205 189 +197 172 131 +139 139 139 +82 82 82 +255 98 98 +222 49 65 +189 8 32 +74 57 16 16 16 16 -120 104 56 -184 8 32 -168 144 96 -72 56 16 -208 192 120 -248 248 248 -136 136 136 -216 200 184 -200 200 208 -48 48 72 -80 80 80 -255 0 0 diff --git a/graphics/pokemon/slowbro/anim_front.png b/graphics/pokemon/slowbro/anim_front.png index 582875ded102af2e674d4f0f54099a8bdeb82675..26aad04fad4eed9ce30a7dab330bba8cb81b1904 100644 GIT binary patch delta 1393 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 diff --git a/graphics/pokemon/slowbro/back.png b/graphics/pokemon/slowbro/back.png index 14b0abaa349f539065a8276df80f327106eaab3b..b42a011ba88ee87b2fa4d984066d6f818db6eede 100644 GIT binary patch delta 788 zcmV+v1MB?k1*-;-B!35VNliru=Lil913Q69=xzW202g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMN-AR|NsB??!D&Ci^ZI3ds->x&0@{0N~C)!dr~RpQhzDUz5lF~|AT71YC)_R z7#Q@cfNuZ*00Cl4M@0Xn2lB-L00K`*L_t(|ob8jbZrd;rhBZb&8&4g&2JH(}56~r@ z6VwmT$Dlm9n~sybQ5ph2MS5k%klW0dg<|!}sa< z|NqfZ^jyd5g@63^G_b7ZPxfC{Rdpk!d=!v#S#1$oJqG-ilKMo*n`6LVxw4Zm%tn8bIgMP=b7YX+5x#Ch*Y#uy|`zU^xLQ+g%0yk8d0RJAf&0 z5dgz?XLQC1x81A(QP9%2T;WK6FuwluS}hfsKDTWO!j$l>#@!w18~X zNAc(UvI9sy1*K4@7sdL#?p9^?pf$-TGTzI)j~q~ft9)en0T2t!k!DcX9DgN%m(`uQkL_)0w_$+(jM}8Yxao8< zlmS*fP+*SAGl_qXkptG|zT&UWWR5IDl?Q+c+AM=+Wd}e;o95a+u*m1e`LuUss`ajm zv4jA}AXBC092lSibZCIRujSE5nw*$%+Fn{3(2Rzq*)ju(E6%nEB SRSg6H0000h`^X=;BZjD>WNnX000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4m&n1lp81j00K`*L_t(Y$L*7`Zrd;rhLzTXvc+y6Af}z7@PE|W=&qz3Ob95@0s{I7 zMW4b5JV@ZuK?4t3GIXpr4;J_aMbIf@wRP%{XXqUzQl#JneSjPc!SH=L{{PQ&6g}1P zdd}WF4$QLUqy1-DmYp-k9t7BuWn+Y<4*@S2qdpPr{21__O)m`aX|h@#BgRvfEm6a} zkE_+{ZP1F%bAL2pZOxYW2}Z~bJx`cdt26KQSSR#l;sdk9dtK_oZ~$Zd1gW&%$D42f z^TH6IYbBGD5SZKcw@640QYWMEgv+jfTBAg$bQz8P_DgOx#(ERi08mC(!GKp57-=Q3 z59@)1i_aFQ4ZzE7D1m*su^x0z6VzbPQ|Hm%}z#3o+N(R90_br`q ziZ0Lt=YUE0z@lkx$%o91M^k}_UDGrKq&2T0FAPuyz^(;ET?oj@h5~WzpTKu_CIzJh zDC3it2Os$U)kGPmWU@U%cq$jo-!5udlS!&A=>2Pl?EcuRszDiITR?T_qxf)t(*Y!( zf)c3Hi+^H%pLADc?tycXQB=xXh{ypsxGLRFOgoJjvCWAp%?CRj@9BUJD2g)O50*Nu zNgF0r5Lb#+Uj;xcF-Mv~VJnmXURGyjAKPteZ^Hon8Hq_jE7R#@2m?%epuil3XA=J& z2M5f}zT&UWWQnXsl>@*8Z7zdmRRf@+n^xRDuuaJ4#QC(lvgLf;McMoNcU02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMN+hb5D*am|Nqs^&1zy||K_yr#f#pgVvAZB|D>eJ3s= zm8tDgm4T+bf@xO<9-tMKEdfIjRjgJ#fFqWOsmIP>G2!b-4NOgMBr*~wZ^6(loNLF4 zomlC@QYrtCNPqpmoa1|4>Hj5ZuDR~07WggxkE$DRJegcDsuo(jbzvCo-w8kqtSiId zVD<6KN+7zzH-LN4FaQ#Wu9#hgI)K>%fco?^0H6;R022UAjo4d*Kt1+EeAPL>i~(ip z;B@BHSO9=1Y)0Obf*jCAdPh9e#y2w?x{#Uv2khkUA>BB7m+ zflg6;hCAe=Jo>NI_ro8edfbZu4{|E0s9Hs9^h1Jo`VpX2TT~Ab`QqWr@Z~nU(P!u~ zd-2^f^?#!$E-?U>s%GRAxXvc(VS$YRUS5Oo1}Tj{+1e!>uX#8iM=6dNzx6)*wVByl z3y)xv6fJF={mAR=8kva8Y50H7ZcW+2AVPw@4__wwk!hJ* zfVt+HYp(yOiIkhtwPDUCt}vHp4Z-B)hVk`sp?}>=t_Nx1V?}5?=AXoRkhVaiKXfs3 z6YBvMhzs%pp` z=-(*av5BAl_%QK$Ai{h9=L%iN;B*q|fuH`$C+Y)&aNKx3ko{!d#}zEO9>{MM5$|eg zlz+?<^+3{fKmPTx?ZxVWR3?IWqn^8QV0<4Z%cP>^BS5?!NaSSjcV+oTjn;#w(RxtR z2B?b0`n|9o@OG>osQO@V^NJLmupe;Vi~wDhS2g`JeLjkRm-`K*GXy+l=T-G^Z-<2w zhCq1C1rhipQykwDZoo;+@DOPa`$I;OM_azzDK0_eo{+%)AW4Oxj}1V^f-$~nByyq- z$X?hVq%7Sw69Qfk!IPKic5~XtNu(H%baQuRLy$|eeM!#Ev{A_wX0E%fe~NWw^AWrJ QWdHyG07*qoM6N<$f=HUsNdN!< delta 923 zcmV;M17!U82eAi`B!4haOjJdf(4eS5P}pF2_@JQpfRK0~Flb<4(8$R6`1lYI5ZIt# zh*%i-;IQbxi1^^J0001A5lXTE000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4*?0jnSxsY00R_BL_t(o!|j$aZ__{&#~q|bSS-CX6=d|`fPbt`$oT?xUxcy|lMLCI zXgbnLZC6@}T$w^jLau=UBv5O2stTe>KS66g01}^rnRj;V*y$SVVAb(vNr;-rn?M{Wng9}_ zCTf?U3}EL0pnrUQ3;>u13xEm$u9aBZgD|S}t+#i5 z@Q`g(XpxG%jm;oIWZ8*-b+*G=ly@i+wyp>LV&Kk+@B1HFpHYnlVcVjR)sBE6=KU+i zVnBor)QEuh0`QNpMI5={8kP8PC4kGL7t=tr9_odEfq#T|IsqD8agBPYM+40Na6gS- z#HbP{0o>}jeCT>ZuUL-=(x@kZeC5zRM&zr5A0r5@P)m-XMvcQSuiVd$Si}%GDA|cw zU^|1m#~m62q`3!^4$1<)vbD|$F7voRk1;GU`Ra9gce}l|7fr$7S=QRL>xs|V=y9dl z3a8NEZGWZT+Fs|=yGG?=af-q7{uY;R{|4t_-*?Y$_|w$({Ir?JJm&HDVoK$%Mb5Nm z6HBPevx=bd64QLNm|3pM?ZJY`qeWQO?Was}h*iu(9&D{7vj^Fo zQYh}_oFTObS+)y8ji5sfsXe&e_eNmvwDb;jf`3BQX?yV6_eYNz+c0>b{y3PlJrLr3 zd2gTXqHyXGdl0C<|D6SZAapHl57a=JFR=xc+XMBNFXY{A<*3{qD5Fsz|D#FTN!bIX z$p!J#J=M~{WIfJ1eCQ1lK-wNC{G2}6@2t2fxwg<+*b&uCJXjEYgMAOU&!RPJnWSy`BRw~3h z&O!gsR@6AJHM$3oSSKXVKPXCPoJR+sqQNkdyS69nfa*m4LFuziTO#m+Xp9}^W>E9&o?jsreF5&y&Z0~9&LIa$tQI0yg$002ovPDHLkV1hOS!D;{i diff --git a/graphics/pokemon/slowpoke/back.png b/graphics/pokemon/slowpoke/back.png index 7f1dff38f5ecc67b4d9fdf598fa7a52f7a59ed46..e016655126ef58fbbcd97817b6ba008a9f22c76e 100644 GIT binary patch delta 582 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 diff --git a/graphics/pokemon/spearow/back.png b/graphics/pokemon/spearow/back.png index 8564bd7188523fdb4c984a13eba4bf3224a7d31f..3db677e59faff21083ab879b4eede083e9fd5e10 100644 GIT binary patch delta 785 zcmV+s1Md9g1*is)B!35VNliru=LiT34Ge-DKQjOT02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u0002y-n7NNoQs2EVp>Y(?oz$1Ae5vSgL@GF|9{2*_H+N$0Pds!y=nme z|NmM@-n9S#00Cl4M@0Xn2lB-L00K-&L_t(|oYj=EZ`wc<#$l_6M0o>(Qw#l@7(909 z5;Y?W5357#i9=nurRG#s-JPU=078)%s!EY9m7zmY4$(16!r##M&QOefkU1xr<@??D zeeYSgQhBat_aKN&=k zMRN-*w^Q`^lR-~k!K?qkY-`}jkSszABy(flSbyMe9*`8mkb>*P{LUO&xg|Di0R5_$ z@n!N@>d4!ysTY=9MG$>68ah#^J zLIpn8=OBb2fI`yN&K5Sn1QaD)kj3|h{EOHEKLEz@EdlovvncA%{QLtJ-hL3iX+Q%2 P015yANkvXXu0mjfx?5QM delta 717 zcmV;;0y6!m2IU2iB!4haOjJdf(4df@7`Uh)fOrt#=ui+45ct>_;Gihr(6IRU`1tss z@aSOp*chN_AdrY?P)InzcG%GX000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4+a)|&>3j}00Kx!L_t(Y$K8}ci_<_9$0MP55}cNJ?`tb~5P#Z?qj;2E?`el;5h(?s z6Ic-iX$O?WZ{xy<*B*B9I~11f9;6?mc#Ll*txcQB?pX(t%l|k3_kS;w34(uhb#DXs zZ9x4di;%>ybraC+1|cM2H4(SEcOVL@tAx->;^?L-187JlD*(>#2elq!Ot$?sVrU7J z1Vj};Ee2q`*MATLco|d?O)`jERX`ve5COCkZ$>e2I&wci2`B^UC}Vix8`8i6xem>4 z1;G%JbP2v1HQGo9C;?teZACBr-?Trg`7FP3@meCJ;#5ey#U0} zKIV@oQOyf;D=qEsDTtQas5-5JeWl9k3`|Z1&2ar!Mf- zUtn51su5X44p1|#e>>o6?<`Xh3kf_?`fKhmDh#pj3ea1;F=y(!l+oU6v_A*T&rO8I z{twB}h7jk*tnBu^2#$~($%25hZ#2s5{RnnVkVd26RN=y;>GU9iT_@jBN=d+HW75&y z6t=(|g{@$W`LQg1h#l|&@!T4iUvqsL{9o%2g18%f_zr5J00000NkvXXu0mjfyURd5 diff --git a/graphics/pokemon/spearow/normal.pal b/graphics/pokemon/spearow/normal.pal index 8eda920f04..16f1ecdaf5 100644 --- a/graphics/pokemon/spearow/normal.pal +++ b/graphics/pokemon/spearow/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -156 82 24 -197 106 32 -106 65 24 -238 172 82 +106 197 90 0 0 0 -238 82 74 -172 65 74 230 213 180 -255 255 255 +197 180 156 +139 123 98 +72 64 56 +238 172 82 +197 106 32 +156 82 24 +106 65 24 255 213 205 255 164 139 -197 180 156 +238 82 74 +172 65 74 123 41 41 -139 123 98 -98 82 74 +255 255 255 diff --git a/graphics/pokemon/spearow/shiny.pal b/graphics/pokemon/spearow/shiny.pal index 9f44b1ba5b..034b57b29d 100644 --- a/graphics/pokemon/spearow/shiny.pal +++ b/graphics/pokemon/spearow/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -144 160 24 -184 168 32 -128 120 16 -224 232 80 -16 16 16 -248 216 24 -224 160 40 -224 208 176 -248 248 248 -248 248 160 -240 232 96 -201 191 147 -160 104 32 -144 136 104 -80 72 56 +205 205 172 +0 0 0 +230 222 180 +197 189 156 +139 131 98 +98 90 74 +230 238 82 +189 172 32 +148 164 24 +131 123 16 +255 255 197 +255 246 115 +255 213 0 +238 164 0 +189 106 0 +255 255 255 diff --git a/graphics/pokemon/squirtle/anim_front.png b/graphics/pokemon/squirtle/anim_front.png index fae3743a09358f0bbe9a583d925f35951e123158..cacddb075d991c67eb63e0318e831c9c4e565d65 100644 GIT binary patch delta 984 zcmV;}11J2!2JQ!tB!35VNliru=LiQ102kzT^78-y02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa8t7|NsBZ#l_W>QoU*bVkrRs=A8f4YUZq3&3h?(F@FfK;OL0J$XJ-5C~$xf z5D@cBqbL9X00Cl4M@0Xn2lB-L00R<9L_t(|ob8seZWBQehVKP@_XGhcgfj3B2-k^_ zQqx`F1-NrTN65Nx=xi?%iPBm`Jb=?s26pW<6ec@&2W4`5XGK9G;PWzjNfG6Cj}{?M z=bKM6vpeJc$A57a_MaL+R_`AUSsl?pKVyj+AXsDr zavkA(mB%*Vn_z6L9)K0d5%~1$jvY9~6d!8oTLKBwMwS@d z$H(4`XW8iiB*J*oG*a;;r2~islhdldfzgYvg8@WyHh(e!x)EcE6<)3~^Ic*mc%;-% zk}~r-Tma|?0of583>nZenDl}c-NiKP_{%VQYVw@+gO-Ggrjs$AREh59Yk#x#My)hm zyi>zibbSN}d9u=!=GiQP9s+A1Mk%kBN?&ySRzM!D`~XNt2B6!fga+ZOdrgQ0GaR<- zcm1#zZhtMWL2T-Jqo-?VccSkWKpX|zcnX~RhX6%2LxUX=N=OHLqMN3w85qMF$qoXA z$*&v!g%G-nK(0*f^018?gzO1RyB(*%%o|Ec>s+HpU2{gi%hOn=_Hc5{6QjKHyT@m_ z8Mp;5Y+(y4tpQO|>pvMDj_QaLE$()0N7)*FDogOG;HLcyB&&wM{5Pm9R3dA6Ue> za!~voHJyVrEI~K*xF~9-zl5zT!i|dlBJgTn?_b!zX@3BIb9o&&@9^0G0000)s#}wtPwQ;000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4+tnDGAT>|00N{*L_t(o!|j&8Yui8+$8CXzk|j@^p&^T zLLh~7@KW0Upqu}J4xwG$(Ssq=Swjq6s&k;Tb`|y72?%QhZ z&LcelL9@Nr<4r^x?VNY*z_Z>70*Te`yfh9PTsUZqn*bk;3>f!pKx90;zKlCI;5p;G zFW!L_h!8k^^MA<>9Ak)A4S-{cJRN_u0`3XJ7%|vGWTs2tL)s3gR_yP)c^m}CpP|dh zN<&X{&ZHbehjBk8CW+pMPsd~MGM-R?8ARX549_k(-AkNA>!(?)?Nh)YRMS9Liho$O5pz zx(eL;D}Z4=LYohiRO%LIVumKDfn$zpfxwWmn}HuFC1(gkf*O~LW4u=ChH=~44l(kz z5WaP<(SIVg9R1(B9E#LRQ(@tK_^aekJ1Sg6_i$ zR2RBr{aj4xJ`6PGP_YnL76ki5mfR#+c|-8<<@9R3%JW>xxl#cbbpf?@yD{VgeEj7G zU^Ss-q+I+BiOgT?ldv`q6cuprRmz(TGJrg(eSt1yB7O2jq^@v%4+v2y9&RT<({3Vc ol_LlbGHSl=T+!X#`TyVf3(dO}1OA{RTL1t607*qoM6N<$f(IjZzW@LL diff --git a/graphics/pokemon/squirtle/back.png b/graphics/pokemon/squirtle/back.png index 75f4e4df3d5d346b8248403756cc0fefbbe296ad..40725ff2395bcfdfb0d235445d33c312bf440ba5 100644 GIT binary patch delta 658 zcmV;D0&V^31gZs)B!35VNliru=LiQ0Iupe7R>}YX02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|8u|NsBh&CQ(Nds?h15Lyub_LTqTV&=V4&5Iy|Ie!4=_W!ia|9hn7L1Kdt z5D=4G+iCy+00Cl4M@0Xn2lB-L00GWPL_t(|ob8mcQo=wGhEteQGAVq4o1v8=SX+3h zm2fv>!|*iLRyH<_Pv8R_>I+1D0NI4r5s2f287<)4y9ANk1u8qYNb`T${dcn)$N7&x zi+zCY`il_Bcz?St#C<)1`XdPOP^UNWbpQ~<_Zna-#2o@KoYeqtVyJW&J=bP{BGMWQ zu!@>a*T9F}rS}8e>;i6g0Lj1(xO`dy*H*yo_y@g$c(no@-zUw2h{ra7a~_eVsxlot zS#;X&(hv#dL0U#hgRo5%u~0Qk4|_q-rBo3u)H5@|Nq^98Q%#T_WVQs92PGh-rAZfc zu2Y;w60)V!s5Hvd`^rSfBIR;9sbpbVR633Htl~|;J<{nJ>dK_KQzdZ9D2wY$CA?oiO9OJVgm+9gfTW^3UVjZ7P9dx6jz^j9qIQz*FTkG<4Bc^ZH6)%Zs`Ghi z$g?aDC4Xny1C2f}3>|Idd08VQUuPA)F^O?SSlLF{Jg<73#E;my&OkZN!Kk1T0L+U? z^hy7!S^;95Tv>y1vNSBHLr4}WFLY^aG@fjN-yh_hY2Em}tbmkAPFi?a>9|7Zlg{wB sLI_#fu0}0sijSO{ z4+t*GQH*&200GTOL_t(Y$L*CdPr^VH$I*nvp~@+9)ErSOx=Ox)HK3i!i}tK zZYF*amK*A)aCLJvFi?_9JSG$__a=v^TWZoGlz|Lc4I_js=@mG<#(aR9JgKPJRI z*{&0EQB0uT1VS#0^h10c07#=%08|M%M*teN0^pQ1ln#~a!VHjxS6~5_QPAlMxV5`1 z{{nZr0J;NkpMUItBdZzkYz3Uz@Ntq7XI5Y~9I`=51lBgClrbCVDwQjX&KGkYA)!1_ z%P4sgEx01uDuwCcC`sm=E259OZzgz277MNkHUZz3fXgHUsBMl8>Qbi|#T5Kb=`h!* zP|qt9k%*PcPCb`JXi@1r*0TyW0q0w%7pN8t_6-m7I9LNz2ADr(k!H{_ZhMpO#zfydns zLq}U-nAM2b{WyPd^#E5yWNk!)&%DQa(8SJl1}#y+xQ1t;}o@WUx00000NkvXXu0mjf_=yNo diff --git a/graphics/pokemon/squirtle/normal.pal b/graphics/pokemon/squirtle/normal.pal index b2282cee8b..5be0031876 100644 --- a/graphics/pokemon/squirtle/normal.pal +++ b/graphics/pokemon/squirtle/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -90 156 164 -41 115 131 -180 230 238 -139 197 205 -16 16 16 -208 200 200 -248 248 248 -131 41 0 -88 64 32 -189 106 0 -205 123 41 -230 172 90 -255 213 106 -98 41 0 +197 180 156 +255 255 255 +205 197 197 213 148 82 +189 106 0 +98 41 0 +255 230 156 +255 213 106 +230 172 90 +205 123 41 +123 49 8 +176 224 232 +136 192 200 +88 152 160 +40 112 128 +16 16 16 diff --git a/graphics/pokemon/squirtle/shiny.pal b/graphics/pokemon/squirtle/shiny.pal index ff20b8f515..392cf6ede8 100644 --- a/graphics/pokemon/squirtle/shiny.pal +++ b/graphics/pokemon/squirtle/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -120 160 224 -64 96 128 -208 232 248 -176 200 248 +205 205 172 +255 255 255 +213 205 205 +156 222 123 +90 172 41 +16 90 16 +255 246 148 +255 230 98 +230 189 82 +205 139 32 +131 57 0 +230 246 255 +180 205 255 +123 164 230 +65 98 131 16 16 16 -208 200 200 -248 248 248 -128 56 0 -128 56 0 -88 168 40 -200 136 32 -224 184 80 -248 240 144 -16 88 16 -152 216 120 diff --git a/graphics/pokemon/tentacool/anim_front.png b/graphics/pokemon/tentacool/anim_front.png index 14c2c916f16f6e2d3fdb4fcd49d26df695217c40..2e4b080d63eb16752bf5b5bf8e2e2aba4bc5ceab 100644 GIT binary patch delta 934 zcmV;X16lm;2)qZ7B!35VNliru=Lil688%Im&`|&Y02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys00030|Nqt1)gV%XL6od&wC01=_G%Civ?(C}Qh!SS#l2EeAcKQJw5)U0 z#gt+E&X@oI00Cl4M@0Xn2lB-L00Q7iL_t(|ob8q|Yui8+$4`)<1qFOyd$IxvT}q}5 z-D7(89->p*F%UhwUm)&SGMFS|hY&emAn_+?@nY|?jh0T9h4)w`yA$=Dq(Y_KDRk)4 z`j5ef-cRqndw-I+KOt-VH8IAD!e^}0fdb;}s?`C2eO3I$>u%=+fnybL`n82X>*VaS zBEjHNROqywD>?Ae!6?AV`M{BWx-&FyY^{(9o>%%|+5N27YS75arr!NN@fPb;BW#9Jtx6)ly5$JVoxajxg z+iU_{+<@I|_im&WNCoS60Ze#b*_XArUoqoJ*^D1Z;u~~>!LCzI ztN51%BD~%A=&XE18Kbo_m^mO=V2i#_DaIKyC@p78=<~27HbG*78Y5cCPC{RXUcAs~ zERSX@;1+y;7z6bfn9=+wHN#CVQHJ%I@$^~gG=E(rO?c9$Nq)5 ze}B-0Nt!O=Q&;#0I?nlraWo?&Kq&PO)X4dVNf6D(kK$75AB<79g~<}nx%ik%{R6$v zj#3ln+#+5k{-J)K+d(Z1@6vmcCi1}V=bZ2l)936%AaGY5*U@+3=!a@xMZ^)lQUjvL z;2A)VmIVeN7?I7#xw;2@x!g%u;6ZS-s2_zoo*At||DA>S2{t>U459WPR{#J207*qo IM6N<$f@q7kfB*mh delta 1113 zcmV-f1g87E2kr=vB!4haOjJdf(4ZhvgK7{EgVpwGwC1!aApigW|HZxkQc6LTtN;K2 z)z#HfQXtjEl!Jpow5)Trb*;+)000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4=FgZ8Z65I00YrUL_t(o!|j%_Z`(!`#%Tdr2*U88L;*5OB7cak(J|6LAo;bxWeNl{ z*4iO9kgk@~l>GAkfqS+rRE2u-m9U&?GqC zlRMN~ep?OP^M7#_py3_+>J&SBxIgSZ+CMmImjSJ(I-mmu;O!s!$~`uI0$>vGeZQjw z04UB8yh9xjMK4=5i2gX%00xPo?KVU$-w)J)1GrX;Xtxt|m0g@7(5X?_2?BMSHo(pa zP`lMRQBSgu`_}+M_`R<>aI)18i%C(!ddew0X1E8w7=LqPWrcPa0XPh!r!Ih!2xusQ zSPg`4BVeI2K{_-H)3KjBEOZ$Q*Ak@Jcxaft(^pM$|LvR5S64MMg`mMagx zt2df@qT&_muN8k|dto26{-JVMs~75D)c`*nL17;}jrbe>931?(2XJhqj)fwtIf3 ztA7R}Tx(PK(+`3t%3BuQiGP9u9|T=xo9JO$K@G*<3)F{UMiiXgbB!35VNliru=Lil687f(lj2-|002g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys00030|Nqt1)lf)qka(!YwC3j3{{Uhb0Gv`7#ea)R_PtV4AcKQJw5)U0 z#gx;+53&FN00Cl4M@0Xn2lB-L00IL^L_t(|ob8e^Ya1~X$90gwh8lcuHn^mVx6m(< zgOf|Q9_U@y8hpwpaGkM)5Snx;#Y1&oJH#5hnJo40(suXJPhwn2C)Jj84*mdnlaBxI z-v9regwRvj1%IO69hUQKB5Ir+kQ;bX)#b+zwfgnsLdtJ1Z`s#6;&wWIPwB;&_84Px zUvDm6jdOr(Fr2+)toZB!vonn441@H0e^J-sN&~dl@1HTo-4=~6Q;-13d#Z!y(PUHk zzXW6kR=6HB1ArJ}w(vbZ?E?=F0bm<0A*o^Xn)N20a^Us1+WHQE4^?5&M>Kf z^f-V!K(m+|K!qq=0Nrt%>;R!VQ=q$V&;jEib$;{40@x0K=Uf5j77$=!=EOu2_tXYZ zCp8TSq!H(X+|~myLxA)OBT8K0e*{Q{8OphoKxyu5l8(+%P?{0z06_#l%cZ`Efd^!i4nWaq`A09Tt1>t(_JPRvfKeL>4}Gga t*Xuy!d@st-Jco{>$4WUhDWB@7`UmYkYdpG0D&GJA002ovPDHLkV1h8}ICB61 delta 649 zcmV;40(Sl11)&9yB!4haOjJbxu;@@oZ~$N!;L!NMu;2igQ26-xc<{&=z=)7|s1Ohk z(9qCOP%zNIkbrX*}8h000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4=Fjt9UNT%00IO_L_t(Y$L*3aZrd;vh8Y81gu;kWcc7-WXn&f_aTjkj!bP6y0<3j` zI45v3Cx8KtC936VvH%;Xg`j8XY`DFFjn0LuGnAyr+9c(`2gsW!{GZ{22ddq z7eE&bhdV&%&J^h44i;cMq|V-au>iUQ;2TrGsRaa>n}0bmm&84>0kp_W0}ffvSUa}$ z0L%~|y^5T07x*6mGGRty#{uQAt4MqlF0g?8D)J0H3IK#I5IVrr1%g9BtNdLDaFen1 zcfC=E6Knz5PG4_-_$k9k141uXQ*RL=XrLwa3JCg^2cPN&LSL%mEROssTI-F_)iES7 zuTpTek$+Sz>gRg9S{Cxe2@#SoiHgc8?I~chT`B#9NC0?Im>{WqFVD)24iFF$JDViE zQxueD#5zC_!LM?uFQV-MDItCIQ2x;io2d*=i+v#XJ)k#5!b9I`F!MTaIp6oPFwen# jQIS#}OvOV1ZP1_K>z@;j|==^1poj5 zFi=cXMflLr|NsC0y{z^@QnV=`gAfp?ps;{=h#U|?v-$bZO#&E{&f=0TLKAX0-6 z5D;bPu5|za00Cl4M@0Xn2lB-L00jt1L_t(|ob8q|Z`(!`$8Yh#p*}R|)TKz_Pf)>Y zI#^>-G)*$5-Kc8PrZcD8YHG=G;*k^gdV2^GO{G#H22$p*y;aEVXK%Php+F7 z>Fv93V6N0or3sN4)a%Ron(h#kCAeSKRsl&k*d}NYqT##-_TxmL>{Zvp^Y67$F2L}=5EDdWwNaLrG!6%gnf0<^CK+sRbbv_|hOCI~(lz|sU zD}NVpmt-vN>Kdq+2IKo!lrXBgs}yNskosbzs)5I}C&2H~}b!u}lTVKtK>YaeytORK;8)IDnX7Rcc_?0lwAv zGBE4Dn9e%U8X%Ae?74nVP*8@~smBQL_4BTQ83G}Ii-*POXp=QMP9xyz0>nzj9l$i* zY}*Auuvr~o7$=*H;tnjFxtH=jK!4=ldv<_quic%8^}ntMf$< z0%ONc84MZ%qv;^6uO`4zwh|bYH9UCr*uYsw4O90vcLK zfSoSJUe)(ICKEz00U5E#q7U)mk>P`sPP(DM(B2?pT1H@aQx1ZbfWsLDhJW^Ou6i<> zOPsD=vVLL=r4w-i1E*s|C7jVbQcdPMWxcJh62_&mRO}Xa;2F`ap5J<+dRRDtmgeIup(BfVO zifur7qi?a+PN2Fhg#=WT4oi>??NGlVRHNRoLUO3WsCK*E`Sc76p=Ge_L=-+-?+&ds su6L@JY8ZC(0W7hVFxjI9K2MSGA9c#(Ln$Ij<^TWy07*qoM6N<$g0K;~TmS$7 delta 1425 zcmV;C1#bG}3!@8=B!4haOjJdf(4ZhvgM-cHgAfpEwB|vStPl_o_CZqry{!NL|FkI} z)z#HfQXsUfbAy9H=GCOl-I_uG000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4=Fn<6Mb<200jm~L_t(o!|j$aZ`(!`$1gB?6NfS|HFgl{jk@ayPr1b<$?y&8=!?*m?pMu*=&>EP`nKp1vj{DHvrJuwbO3*hzDe&D(WMtfp7 zAVlDYeE_EL27&PO+J)E!9vzQ{HPE{rjz+^>;P7}j3>j4oe>r%$_qi!mIY2b(S)g(tm!7(TyxhU;bU?_M&oG-W*8pW_HE;^7zWdHY*Z>INFMSN}K<4gUpM@vQBu*3ZKNOWAHz0FDhyt)Vi=3l&rpc|kOwucY5)DT+p!+Q-?G_-kr8oT}A0*gY@Hv!QE`*Gf z{_&^_w^9q;=S14A6e4BdF#-m(H5!Pw=^{-l10UL*mK2~R7y~4WoA#>GARj+rTnepe z3Bo`$Y1(HArytr!T?a@mp(V!CXkA3Ko7fB5M}I9MlL7(lw_rTIOCq1eV3O=GWSmau zIJMOHoWNjq=OCuqq-70QC8{(QxKo*}mTBe)6ywYuhCL#=(s?yY4R~d|a*@wSV)7ZU zfyi(WRfR<<<7l=@k!Av^FFGumc!qlxs##tEp%q^Nr6^|P5o2rB8t0?H_`!>O#3Yl=lJrBmds>1a=NDkcaC*U_1zn2Z8aw35@g;0wXdT0)y=83z#$nM$_$iZ%zD!42L!yy zECbuRHECK;6>16$D{WM+0cqWEGk@l$E{Cepe45#EAuwWGT|r9;8JL^J*o(&1TqM@= zC7@yxOY~vywhT8?Iq8N1gL{+2a212lO*sf$0S;#r7~I3T>Z!P|aJqWgddCb(C*lMK zPRE!k-NL1L|IB#JAu8kA?RMwWTPy@u#j+Do_-vgWT5DYIhA-7H?C1knVk=>? fM-61015yANkvXXu0mjf*btJ- diff --git a/graphics/pokemon/tentacruel/back.png b/graphics/pokemon/tentacruel/back.png index 1bb5b0fffe8dc39f07748dbd2213938b29032168..0fb9015822ea89f871fcd4aa23fb28000d0d81b1 100644 GIT binary patch delta 742 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMZJ`?|NsBJ=B$*(gJPUoQer9Y)ug?wbBlvPT2dg@)qmB^=Kq|m=6i$1QevDC z5D>1Ni2ncp00Cl4M@0Xn2lB-L00JUOL_t(|ob8f5ZreZ*g;_X-3R{qGAlkk_R<0eG zWS2ig+Sa+wstHqyO?VK>CkT}sAeyC{R1tpw#Q+IdoXpbvmy#wxkixGJgnb|1yj_f@ zJ?THyv5cZW`G4@u^KO4nST~;ME#-Iq;-GzGvL6J%mN9E~$T!$)@^1r1n(Pxt#`r=_ zSOxsu=#)+NrWm7B9)9+gaL>o1(S9(^s{n;nxO#3UinSL zLvXF1hfqb#l+RxJ^+ksdfckr=gxpXo0V}K;L=q&1H6ZaPE!7TWm>2%>W<{q_OZnE3+TUz^pmj4ytL#z!$ zhz~(A7Io;kV@$NxGnG9b4`ub38s@#vm4jIO8oGJM&N>@OzT;pyMxv7AcKl2Tbg)u} znd><1h@qIPh&+lS`nIrfF>e72frPlBECAPW(OO{ z4=Mn$HOH0!00JmUL_t(Y$L*6pYui8=#uZ956c15r=>rI7Z+|$bi?$ZI`xU>MB@(}e zAhZN>#cPJh`2_LSqP7b96zQT#_&apbWbQNcJ;nOxxLFFNL!LpHdw%!4&mCt?d)9xd zLv9#P`S8iMkN-?0C$?>m_-poMul+I;uLyv-5Q($TPsLaAk3B(JID7o%m6|Z|*t^xO zSUj4Nu5Ow6!G9jXDO;{qSLtFmKr9(Erz7B}DuFTaW+&h}Apk%DO7Zxj58T~s0gpWZ z>~g2#g0Yhhz*yRw@j_e>01e<|$=L4$Nf&UkEK7SpDp(iD6wqrq7A#9Oi>wjEReUfUC*O#ebu(Mq`h>fpd9`x+c@Bb~ZC~!N5qf(Lg{7_0PuvUm+UKHI3 zU2arFU>FANt!!LxI>1^YA-TybATM$(N|g7FKafaB_;U(|g&_eFBN;|*#JU{FT$l7L zIQ1_!q4f2r)Me8m^4FywDF9SOnpaXSKPu~r6ei#gm00000NkvXXu0mjf>)Jie diff --git a/graphics/pokemon/tentacruel/normal.pal b/graphics/pokemon/tentacruel/normal.pal index 878043437b..15052447b3 100644 --- a/graphics/pokemon/tentacruel/normal.pal +++ b/graphics/pokemon/tentacruel/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -32 82 131 -131 205 230 +248 208 208 +255 255 255 +255 189 172 +246 65 82 +180 41 32 131 16 16 +168 160 176 +128 120 136 +120 112 120 +96 96 104 +200 200 200 +131 205 230 106 180 230 65 148 172 +32 82 131 16 16 16 -246 65 82 -255 189 172 -255 255 255 -180 41 32 -213 213 213 -82 82 32 -180 172 115 -131 131 65 -230 213 164 diff --git a/graphics/pokemon/tentacruel/shiny.pal b/graphics/pokemon/tentacruel/shiny.pal index bfd3f50571..29cb0d56de 100644 --- a/graphics/pokemon/tentacruel/shiny.pal +++ b/graphics/pokemon/tentacruel/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 160 176 -56 72 112 -192 208 248 -64 80 32 -152 168 224 -120 128 192 +189 148 180 +255 255 255 +189 230 172 +148 197 131 +98 156 90 +82 98 41 +238 213 164 +189 172 115 +139 131 65 +90 82 32 +213 213 213 +205 230 255 +156 172 230 +123 131 197 +82 98 156 16 16 16 -144 192 128 -200 224 184 -248 248 248 -80 152 72 -208 208 208 -88 80 40 -184 168 112 -136 128 64 -232 208 160 diff --git a/graphics/pokemon/venomoth/anim_front.png b/graphics/pokemon/venomoth/anim_front.png index 9f219239b8a4799c8e4ac758a05e082a6d9833af..d24d5d4329dc82eadee30b80c2c7b1078037f4e7 100644 GIT binary patch delta 1170 zcmV;D1a15H2&M^;B!35VNliru=Lib~Fgd5LTYUfk02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMPkj1|NsBy=H{%$#pczl#jJ~@gL`69IsX9v{{a6G5PuN%-v92!|JAJCoQu6; zN^=u?cn<&o00Cl4M@0Xn2lB-L00YWNL_t(|ob8ssj@vj8#?>95A}p@UYh35%o?!HP9Ntv1qD!HYLIPx{5YpNHmZqIOOS2Q=kf8J4nUhHQ~`&g7dXl*fFyaTY7Btv zeconDi+45pA($5p zRhp(a?|-&on9ut`zX0s}A^rOMS_%X>#5!9ZDUj;zA^kp^JyyU4K%O&|9$HW@aJGj3 zq8UiW06^fRlJW#-KFy%`;~pB0Jqpk*lrI&qMiy}vaVP{7QZ~BFs$H#bT{U^i!Z zrwKnkE&d7re)kTuYTD-~nq;@D+qvg2|N6kx7%qVZiO};s?}OTE^y0+h>avv|uDs>F z-i#LlkO7bUdFU;Cy`#UK0WJjh5JsN23Vl^!b6x>I9xh7^256}IYiVKuFlB!8Yd~qU8?El{8h}oK z+e*mX0HqC3>x_tqrvNu2BAEb+MgjEV6Mx$Se6y_;P}*kQZq&7D2b@-2%slC@>v5pn zPXJQg-1|JHqkvm0i&D2cp2Xw8qjT6cwaiMEjDH{v&>+A^2jQmmVf#gHzu?6?>K@-b zE8tK7=Pa+sKIEMP0VMLx*g}j0Sp(kPc`*uT2U0139bf805bZ$F9dH;wJKBLr1%I&7 zyW~yhKtQ0t*r-V7Kp6IrjJ~HIS|1td8cm1)R=-*n!T0Oeh!!Vh1`0Vh1`0 kG68fBWRiGwAeQ(68{eQPPMls}01E&B07*qoM6N<$f;ln{OaK4? delta 1123 zcmV-p1f2V(3HS(*B!4haOjJdf(4cTwc$|y9_TK;1tlkh15Y?>SVoG!F#s8d(z4-X} zti{D*QaPl9d&R7a;Nakvv3P_4000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>1961U#Am00Y}eL_t(o!|j&6Zrex@$H@SMnkz_JhEs-13V$Zji7O*+O)jC9agMNY zG2cNp6okMbg((5v7fF>`xZ;{1fjTLjIxwMJnj5AU)8lN z!h``B)j4|e$$$ONJWgUfPCD}?#|BuJ&0VEqXn!c{0I^a zS)+jq)9g`Eqb~d-9ww%AZ&=_Js0OCeC39?se})(4CJteYsfNIK)GQL{Z4xZ3*lLF3!l` z>4IE_A%7tR!K4Cr3+TUHknz8#Wa>eUi0~5Jy9|&cPQ5Vo$QY3m%j)wggZpO~LQKaC zL=I1^J|QPI2a>Hz^7fyN`C)t%fW*X0%S~3TOMaqXJOB)moRTc9s%2KP48upyNeT@3t97-6!;G;d zd2&*tT9)h0<_#VlVJv;PF4k$a`E0y7N?ywW1Nyv3G$YaURQ|9T*?QCcYW|TXPuuDD zS%0$@+O>xR<)?K97r#*Cu6Jh#;5LA%0{C6hXS)D=JX8SBF>e9~LsfqQnC${wM+un! z0RSc7t5R6A8gNwr>oe8SaTj33Itn^~>nQ{9wF>ZG%_j_SRkOBVv9+lNG@C7EKWNsq z9I*E~fCIL<_h!df3K$b6QB3=t9~{ep8-FdIPtAkaEdsLxm;&HS2Vu}jKL7Jze(obG zRgcen2IOPv`^C(ZJ>)`xfJpFXLs=uW0(nh~g3hj`09POm1B&}gy|o@!AP!`p^1H(o z$Rz^`=`MLD6bMBSKsG8}D3Ahb2xLE87YgJG#vng*LV@J0hJkd}LV@_ce<)gxxK3PeS;3Pc&AQ6Qf?2(CbsfM(PRq+|681)>Io0_liQD-bmx p6iCN1s1-;DAQVU^@uWZ$_6vq;cc)9Iv6TP-002ovPDHLkV1g9%{rms` diff --git a/graphics/pokemon/venomoth/back.png b/graphics/pokemon/venomoth/back.png index 9a3eff9cd5559dad9d0764fbfa84f23db24be4ef..6d8526785507fe45014d51cde9f5d191138ca746 100644 GIT binary patch delta 841 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 U^J0ZTK}xH zF)31WK`HLNoV}E4kch~*d9Qr{000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>1dm(ba?i00XN@L_t(o!|j%_a@$4_hM@^C&P-SckX}F_{eJ+mq@;!IJ6eU!u`TS$ z8M(;}vCK@`Sd?5d7NFWQA@~BZP`QxDg&G%DXQ)ysXi~6?gJ;O{K+hz`9$2MGd<6^c zfB)_tfcw_6{*%jHZjLYc>&*ghW3$^ZT!GaRk78opb7BuTs|1Y_wW~l_A z?Vj&%1cnlvzJKNVYhq(PFqEMBOFkWi5PXfx4)#6KbP5U|Q6m5k%>plQ0FkZ00Z(Fd z(@}_hcE5uj;Nxf(HypUyQPCE~`2>^!cQD$bxG=vPd!TZ zy|+U-KO~c&H=VaA`KvH5N+~Ig?C~E?>ngwg!wy9#$|)sZ(E+ zCI9i-RcWmvzizy4NpRVG+X_3dzO4Vvau>u`+JDUxhU>RCo9732W3_QSaIMA(W8rw< zEjtev%onQhmHukYA(XhTYtEoBSn+*--EbBw67jabD!lf(p#%pbe-%`Jg&jcPQAgq9 zO=3UZW(N@U!%Y>nrREWP$v6b=of*6N;lLt{e5=`Q7!F`}NG#i$aT|b5kfbljez-p) zH-Cr!ud^9)2ib305!D3*<(CBi$>fO0eD<0_bM}e^$61!{vwb+@arzPm$CJryia2Ga z17h+E9HiMvI$}HB)leTKiDo>b_~sxU4WHp`NEl&+btb9pqr-FrG$h2oV5I6$qg(#F z_-6>?IF>|z5Ow;89dS#7Aov3^Tx>}q(tjO7j(7&37>E45hS4Xioiad@|A2d~$lk{} z&?@lN9qbCZ4=$gcf8fzwG5dazUlr#pyDRvYWhDqqf{SUdEae_!U`b7GA+>;e>xI<# zho@yJLiV+m)npJF1@t*pf{&qTc(+3u4d7xL*apExDTS21squm-3G23P=4z|B{w%%m tip&2j-ZcyIqM6$EBJ5jVu>Y^FzW@OEm~jO8LO1{b002ovPDHLkV1m)f1ULWy diff --git a/graphics/pokemon/venonat/back.png b/graphics/pokemon/venonat/back.png index da5e27e7d48763f52f6c882dae6c1253ea3eb952..2639709e5e1eaa2f42d214e3ac8118ad95b475ed 100644 GIT binary patch delta 692 zcmV;l0!#gm1Gz02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMU>T?|NsBZ&DC>rd#vXFTAcqWV#NR{l=i)x#guA$L4PTvi^Yp-tYS)oF)3OQ z5D;2CX{!JL00Cl4M@0Xn2lB-L00HnxL_t(|oXwQMZsITyhAsJAM=lS52=^_4^Qup= z+9&AtNKbvaYNeI-I<9ztj2EeDx!}-+Go*GLC&3xgYezyz%s2o4&j4ZUOBJ7e0%X_2 z1fR&!Fpx?)D1X7{pGh3jNd)l4EF#W5cqT^?aVD|Iq>N1u9f^gMX*#)$a%9uCKPu_7>Rp9n8~j$K|lP00?v%Nq-K?0dwLA#t{Mm_TL%5p;kl$ zWG07~oFx=c5$hwuUsxsI))Zk7vA`VQkJ$DAQ4~%BwUvSA?K3rAtepf}2?e?jBnI`# z69DR8uV46H0IXruZ`&>9Ac2-EE6I=QOS>Ytq>mZm_P|a1gQ9_#P6*Os-aKTDCM|*eO`DRGI5dE!7u^L5vo@O2=>Pw| aZhZiCK$A@7goAtl0000lh^000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4>1pjyb+xM00HtzL_t(Y$JLZQjv6r(fNg0~xq)GG030p=Lw}bB!cfsr?3>0-QusC7 zY?%Wfkv+jGw_qg$!}DggO)McK-uJ%uV++Rqsl!Jf0P&Y$f-mHB7)YcX zRPf11igmIG06rcC#BB{8%V|K|D8{jrVbOIPLla59HmlnIUBLN zv@>^9)re<3JAe7+f9GUe>}{s65wEChp{pkNjMNLe7HPN>G{biz<(+ibSS_pu7F z1%r4Kc3r{+;U>N-Q+1J#Xc@ejBied3WJTN^)or23)MXs5k6}E+I@?yz>KKlIzPxp4 z*8;pX3SsK`TqM&)x9YjI#MG24^n=)5;r#U6++yn2U{hTof7IJkRl}sB+)()`iQg5F zveueg=Wq4UdMVwb^6R1fPzb@V194Gp#m~c_z$%XQP4(1x9BdNKudAj>QgJ=jf}8~E z`#kUH8gOkM6b-zrhBu`q^`ER!B(PaFU6P7*4Jdlhb5+8ejG`R(?Eg7`0hsVFX0CAb QRsaA107*qoM6N<$g4IPTMgRZ+ diff --git a/graphics/pokemon/venonat/normal.pal b/graphics/pokemon/venonat/normal.pal index 237a56d263..ffd5e67634 100644 --- a/graphics/pokemon/venonat/normal.pal +++ b/graphics/pokemon/venonat/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -123 123 123 +148 213 156 255 255 255 213 213 213 -16 16 16 -98 74 123 -139 106 164 -82 16 16 -180 65 90 -255 90 90 +123 123 123 255 172 180 -49 41 82 -115 65 41 +255 90 90 +180 65 90 +82 16 16 238 189 156 189 148 106 -144 136 200 +115 65 41 +164 139 189 +139 106 164 +98 74 123 +49 41 82 +16 16 16 diff --git a/graphics/pokemon/venonat/shiny.pal b/graphics/pokemon/venonat/shiny.pal index 7310506560..d1f8e7ef9f 100644 --- a/graphics/pokemon/venonat/shiny.pal +++ b/graphics/pokemon/venonat/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -112 112 120 -248 248 248 -200 200 208 +148 213 156 +255 255 255 +205 205 213 +115 115 123 +172 230 255 +90 156 255 +41 98 197 +0 41 148 +246 189 156 +197 148 106 +123 65 41 +164 139 197 +139 106 172 +98 74 131 +49 41 90 16 16 16 -96 72 128 -136 104 168 -0 40 144 -40 96 192 -88 152 248 -168 224 248 -48 40 88 -120 64 40 -240 184 152 -192 144 104 -160 136 192 diff --git a/graphics/pokemon/venusaur/anim_front.png b/graphics/pokemon/venusaur/anim_front.png index 90c41e5b1f07cc7c090233c52db2f1830d9b44f6..8219fa893aaffe7c5f43a58dba6d8beec591810a 100644 GIT binary patch delta 2056 zcmV+j2>18Z50wy*B!35VNliru=LiK1Cl!7OV1ZP1_K>z@;j|==^1poj5 zFi=cXMZl=Y5K=)9cxWK7m{`!j-a$e5cyNO;0KIB4-n}XR?tfAc5D@sdxLBAtfY^Bd z|Nn+y;lcm_00Cl4M@0Xn2lB-L00%iqL_t(|oZXi(Z`()~$HfB{D%5x=Ep7oG>C;FZ z3qu@tE&|!p8H+`Lr4m4HwlH1DMQ#C^+EswNRMK8Pz+K=EusNj>Wovbtfs-n3jt%R8 z1XK$eAi3?f@PEBGBxPGpvh87?9EFh7bS!?B~;GFWrN% z6<*#BapL>_N%-)^>Azlz5nTJ><*g7!KMcbo-+%u7kAI`*FWm6b^KY%Bc;b1G*7d(1 zfr%;P^N!!#AWm91bmYU|Xykhxfj}6ph@y-0{S%~mK03uu2zYs&#ny2s&;i`c#s4ll zKf!yelL1}V6~z|J@j}s8gy(gpEojU*2ik=$%m_Wv_xt@;N_^IOlLIriU36O*cm}KM zt3`O;xPSYm+s=y|7u~}{7@MJuRW`3vbRT3uX*%x04Qh2t{odfI-&X(>(0!1lD3kzz z5S@}g91i^cXUE~2!^7}DrQDB6(8i^iKj`&E@gTfx9faYve+Br%-f-B5Pls?vAKw5< zF63|n(i;p117hNbgPR!&1!1_;b{x%me(x_afq%xh?VE1RjN@S1CMJ3E#S;=CU|hrz zS@}gwNGvX*I5OcC$9;irGtLPuCNUs{m}U&45Kg%x5|a((zaSVPh5$&$5W`FnBIoFT z6-%Nfp(`dCfCF+Vpj0cCv5asqTAFbpF_-!nC(9T^#8Sc_=C-1Eo-F5_b1`4O0#+`9 zjemkBljUNYBVw6S&Z7$7(}lF=av?3bfF=eqS(G`qWHgT<+8N&?-%fd-D4esE=^%|@5MmY_!qkslxV3qB%vwyxbp^Vj= zm0Ak0N%&oW@28sHaj zwY?8-8@LF@Uf1&gwXN!AGxhU*huLbC4YuQO2DQNa_e8Jj;ID0SzQ0AURFP2ZX0_~K zk1;&833Qwz@c!x@0^kvPwTx~Z{eR;E(424Yzy4JSC~^yCZj>ffqTCd}3K~?vcgLE5 zTeS&*1I3mEK1Q|>>Jh@e@bvpFCRhL6s;Nyv2$6s12?Bpkum5l*wtg+F*=Bv0@4m}+ z7f}%7HNSRM->UCkZLH6`-jam9^ji_J2d~^zOl7 zWu>P-p1%0|C;DG{K6*JCeF{KjfA04`b`wA{N25X44Ufc!kfQG$x-&6#-OzjB-X)5U zL7Lkj%u|%^*NNtF++Xs#II&N#N)*>8Aymr6$)Spe=gUe2Lbu!4Tivij*rMmze zLMgXHz<>)G218J8)Xdo$kbesAY}V`bFvoq+9JhU|ML72PObj8!Y)Z@oHRu*VEEz`u z`C|Cwk24gw1ZC>R*M>+5A_uZXOwc}5*96sRnWu%%2ll`JaVWX#S8?JeZeI5#asbe8HSZ0Th?0|LlZ z;mstM#Z)(8Gj_(BT7M__HKm)cmbiUF87kW>XkS z7Bk(1Yf8`aGEg@;cTlc!-JH;%>`*6NiJt0aDvL@tLG|eCcc{#&OmaszcMw2*RAp+_ zJG!X@U}LI#%@kPEO(++{L-h=c(CJOxgdU1ET?53Vp6e#a;(zPrM4eG`K!eV1Idz`N zqA~s2fB-(#dAyER{v!y7wnk=ysaJP61|DKfe!3y#qfj4qZV7ArqBEm4Kaf z^y>7!P`^Cd0SGG*^h}^c7BYa@dR5@w(iYHyfWSM5ZMIjH(GWdOyqDp6Xf8Avp)asV4dMQYh2giEOI z7qTMZ`~XYWDY37&3@m7z1JFYI{Jd%Kn?DCA4YKDgJwJ%^{nD-NRb>9v`Qf8NeSLoT mn0@g4aMM0?e)!$l{{ZEI^CTY=qb~pe002ovPDHLkU;%>F*~>xz delta 1991 zcmV;&2RQhZ5Y-QmB!4haOjJeq!1#bL0Qk7L_;_&GKtQ-?Fxa>#5D*af=ui+)KvO{ z4>1<(*STE)00%fpL_t(o!{wJjZ`;Tf$0c9^L6^det=0Cj1%K!OJ=+u@^cahQ5TJ+Z zpiOh^q48D3s-4iW73?96j^4#Ch#@8V7?At`f;1n%&|>T!4FMjeH$s3kJ_Z4{ao-z~ zwq+;YYtfDzhMM>1dv6}e`8^d1|5c-?CQZSAhz*xr1kwf_2L z>n~=bVQj74v40y4^YNF@VeFdQx?ybHifE)i1X7 zhqapi`+rjBx|Al4PRY_*l`1Lj=$nllUGEg`2()&k-LAs78r;zbHv}aUVwg6qwA!r} zb@9v2%?O18am;Qr46KS)`E5v{FlO_nx$K6a-EC5rKKtnz4N&0hg#o>?laSJo>;+-q z!Y2%?1kG-kE6O1aK|-nPhA<26lsTXwJyiBRihmwLaDd7Xe7LEEvN76UhK#C<&=k^4 zfD>#&AXP79Aq#Lan7CoYFqZlnMw1X-gp9!?#`c1698JcYb26U11T7ochlMhWCZltX z63=C991Qr0Pnb7mBj&LY6wzkUXvn$8f^i7m4)_WEx<|Z`H)3PPI;a?Ry5~HMBJer( zg@2&t*FBk#IeW=$C#`e2JK&UIGVDMIsewSsIkV|JtCXJ%ri_6D4+XK5D3A^u57SD@ zIiI3E8jqF&6^YD7>cW=;&K-t6dMFSwS>_6KQ5N$Pu0lBIAV$f7n1R(7F$#uacFN}r zlJ!A_Rg#eG(R>(VjnTbK zC{&!I;N#^76o7^J^C6mjw08=i=KTEl)q6r9$qTshu+*DVWtR9VlpzCt+9?ybRYxF* zA=wha$0#90JwjL)p1$9tclqy&rGMHa2qF19Pf_r%^!zuMoqFS5bTbXn$@3n7fE> z>#pJfpjJohR)Nt*-E7>-wFpg#(X3XUYF5|W*{p9|bq0BZfDW3L;w}hkkjknHm@pwi zs}1BvW?HudDR?cbQmJ5!C%_!Dxl$sW`_Uq8aA9?+8zF;M1k__;VAG%4&%U=1a1mna z#%n_v1IPiks0-{vx<*K+!+&f01b7Emx-POa9K$CFA_YzLBC?4KGt2`Rg6J)nBV^|| z%3J`>kh&goy)k%y8&DcKHrWGZ<{%2F69&;3AQ!+1Y`Vmz6f`swxCFTA0x}`@J&N44 zsY5}N7R!qqM{zT9qj5wOH*K&xG`ppqYg6Fn&tBv~2&uS9h;2KWy?+c2Xm{|li`?`O zTF6ZyuXc}e2-;G{O@&3pO(Bv@QGN@t%AC6%N_>%W6SnkWk_l{xHQ>`I$70G&*o@;& znPyu}S#k5_1b6Y2n>{=vM<4P$PWb|`_|{)uaZ{q|G8Z5>r^HcM%(w~XQtszzAU8RW z5mz}kd(s}pGEP_Gr+?f`v8cES)RV71Aem{pbKmCX848e(D$Vlz4mW)eBpB-5G!@+9 zCZr4SP&MnQ{^BM#p@yU>ZwW|mk#iHU_-fiyJxVSpLuD`G1<$bPbpPmp15l`fDLx6= zJDMG&SR|(Tq$i1=q%o3IAd>lyPk_{C@YAAZ5=kiSsURu^tbc6m&$~~E`sLBI0j!kB z1A>SwWCD@+bAo$IlRyb<3P*r#wpR_)C!i-Cn1RSd*)hd;X~P<)50R6Dl`1<5X6db5 zrUFUP1HLdIk*W+?%PTU0#9oyu7M2}U%r0{Q7D$qGOV1ZP1_K>z@;j|==^1poj5 zFi=cXMZl=Y5K=)9cxWK7m{`!j-a$e5cyNO;0KIB4-n}XR?tfAc5D@sdxLBAtfY^Bd z|Nn+y;lcm_00Cl4M@0Xn2lB-L00&Y@L_t(|oZXi(Z`()~$HfB{D%5x=Ep`DO>C;FZ z3qu@tE&|!p8H+=JqY^-Fwh&#&MQ#C^N)+HOm2{gAVC?z>Y^*e*Y^`oHa8kw1v0)vM zfNDbolG|m;0Z${F8fZE?k}+!Nqm&vb)bO z+xA-Yu|<6;m~#30s-G&5P2KNyN5`1T{McH5pc3R^Nj;v zpaHn4jsGs%Kf|@rPJxbXi+lsdIKJpf!g1P@1{7wL0nJ?u?MEq4n2b8GK#g{x*X_S_dlG;I zI*-y2xdH&-qFrzYgTCAQ;=q63YWe>vWOfXKZB&@L{cca>_xy{-p6_4V7l1qH4hB8= z)Pfa#z62C(h+%uA+aL7%M8^+%%Mo%pq1lsW7=KK=ZuhStfx_6$WwWA(p*Lv~oxJ$^ z1ql$)&clE#>>?y26z4%0=v3LT#M1i7y(AjN=Bdyg_U=> z456U|3z1V+1FOm`1d6P-&C4+)t&W+s!_dhVV=67fO<4k^8n8B)I`2*9zk@ zk!Fgof&v-v?U5p2sn!9oAlZVz$H){yK0;U*p1j{;eD&{*irgfG5ZOCV5cpGa|A#BF z@mp@Ctyj1C_Q!O05jinhu`5^Ajq3K*+UmILElHRgpTwuSDW~6z<=-5@^^~* zQhRoC&*2~ej_!}}3bwfO4Z|PFH|Lc&F2Dw~H|z zg67!G8zsWNFQ;MvE~XQrN2ozJ0Aj>p;E}HfFTR?hz(puiORo)yV-PuzEuw?=p}Iz> zPHWfpIp`gX)OFO(a0Wj?5J}O*ro?j{dSU~_5TFlWj!-*iQR)KZ41ZPEh;?HI-aiC{ zM4BhgflM7l0nx%Bnt{j#a08pJ@CX5hq<}6!H+7Iq$o-t4ZhAx`z$C>oB2AOJ8R^k1 z5>hukuxlh;QbYF$=;k*@WIzZibyEn>(^9(v4#=eRjgGo$plG3PGP>A3ln~fLs+&?4 zrEW52riAhVVkw;K27e+dOLP;q^rD#p9>gl~dX&jxqMNW8TO&oz6YPrA&9`&h#S`5e z1nv}&OnmLR)2I8(gpF5HNzxSx~!W} zL(!xwfEZUZ-2_>DS0BqWN(LxU*$u18Q(4p|f6>4J5VBx7DV%h?UOP=>QP}pwF%_zr z#4rLk6SBsV{s32r4gUA%HvX)w&JQVVqN7DmgC4!y`l*n8PFjFlH+*_Ig zO5hQ=g4m{eRev#g0>)H>9*8WY9aDUe99XU7A<{BoCDM*SEm_J+0#Je;@Pz?{$}*%! zUX}tB&#FXfp`syCyUGA85EV&FA0eDVc{i6P3Filxx=M+8y=7oRqYQu&nrCNqjW2&4 zpwvsBx8(dF&UOnowpWqb7w3o13ib8*;dAZI^TTqx>l*y#5D*af=ui+)Kv00Xjg> zHU$Vh#$q4@=%G5OX^y_Edz7$hCvTkL`uQlgIm$$t+ZNb>;ySLQ8S-DeAxSLd&k_=4P)b0e8Vs*`qRHX z{QJ)KOLI%F>3{3XE><;7Th*Vw-8pzkdT_7l>l@1x&~<%7)80J#q4(yksjnN_(oFKJ zh5=zs?NJXJ=|DVV^YIO0wT4|A8vOQpno%VP==v3rH*vhSid0EMBl#WyBg->i+tdjf zfNPuhZ@v0GTx-=7STjwMufZ5YCuKz#MzvFe!n87=o_|||5xPOjTDe?Hh;M3-GoWqO z^JWblw_$c=H3`FLtvz0=XGym5W~BmsZEP(S&8X(hCn-?qwANsOYSluy)OfCy6#xmW zJxN343IKqMYC&r@8(R6BP5p7DqW`|ox-O-OtyO4ijZ&H9xAgVemaeyQcL1$fYBtO8 zsRAqd;C}{CFd>F%(Nd$?Xix_~Y~75I%Msh`)C0d=(n`M#C=|x5-!vDUAh0@h>d+TI zy`Vk<_HN+QD?14&4alw^_zwI8L7AZ02{NJ>&;Srh9VdWZaHq^Z4d|h=?^5&-fCD50 z@Zlr~Wh1n|3K&&`&=k-Vzz#Mhkg6N7fcenSFa)0?PY7y$+m$hyu~*EplR6hWeNGuB!}f)c8URwxm_=u4rM$R5 zVSfx9xClg2A|P$J9wwEPGd@9kI2tYl60uBM;=+@C&TWQ1x(EmvFERpM6vga>s}MFi zh!EKqQ?Pm>LSP`Kr+mgBX|F4y6M;_7gz)4HZe|MTPkDqB_ZDK#r-Q`BnF6L5LG;fD z(ed6{R|+wo^cM*rx`S)r{UGA}R4zos|9|vVO%CZaSFd;&t3CfL{*}erN!rN|_N+pc(3^d2AFO>-U zer%H_xM+8%6QTw!0n}xIZ_%HcFaFU+feTTlZoD>>F%UVBE$V>wp}K~sPKVd_G3XtP zbR5*qU<5zDA1cvQFCrT|(0{{R5JQ08fjLC&9EGV1kTXK#!;(C)2*hcbo131ckx6wyLgF@K4y8G z@;S)jJ8yBNn-ZzZ3_#tS5L?M&s+({xL%wA%2lSDU1<#>86`9E65UK>QRybA zo_zfgm6;|x_if!gLw^AEQKea&-O)`CfEYu)pCrI7-Gp>OJXFnE>U?oiH=%~4E^h&( zJI{0zWbyT+tIjAHP=v}}M01|XqTTtU4Gw@%1ylMYWcO&gpU5IH&1YRnyf}#wCxD1& zKRyGcK7+3o6_ZFpX;%eNDPUzIZ`OH6)Hjd11;R>++$SiJxqlQ8u{R^Qx6}!gz@l&k zu}$}?LGlE2r42n0nJ7D^_&zzXM#)2DXTnOA9f4`Gl#2wA6g}Vz1Bg^*NRPZC1tgwT zsnWutjl}da1F%4nBrTIXJm?+g(j?*h08{rQjjy*1OsJIsP{Md`Z({SCUk9YL(&sHX zKajoS!qWCitS?OG)APd@h5GvZ@TKG$Q;Q#;t diff --git a/graphics/pokemon/venusaur/back.png b/graphics/pokemon/venusaur/back.png index e5c2a3d0b6bf999987d799a5306b9eac903e1e9b..a3dc3ccd4ef4f68e938490d49698e92e1128f436 100644 GIT binary patch delta 984 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 N002ovPDHLkV1kPi$+`dl delta 882 zcmV-&1C9Lk2Z;xeB!4haOjJeC__%;D2>AHe_}CcWkPx_VK-jn_5D*af=ukLVAXu0< zfY^A*=un{0NO+hi`1tr$r@jUN00R_BL_t(Y$L*D|PUAojhK+<|rOQe_lG@=3vOZml z<&j*Y6UVg__$XtYk0p*S9U&!Mgwdt7ym^3#PbO-nX%%A^Y>g9f5k&E__uUNf~(57qhd=z84Ms0482ZcqkeAq3WN^lB=_f;xvK=iBX#u zLw~@M7km9AnSX!ltBh~3ENp&tsF?+L($ETE zY!;+&eteZ&oX^;@&wr7z=@JvZ5JJsPlU|aX;A&h2B)g^qNg{zOeM%6gDn(B`3%*3$ zBZFd)qN6m#AqoUbV9plEBB>%X2$53!=2DQk5rtj$5Pzw5kU)uy9b@S!+32!|c!#T? z8Vk{jMxGgDxSwK_pFF@Ypsppb%q#|DI>(|XdH{T$D0D!?47eliKv6)w zltcRaMzHI^N0vJ6s_?j!9e$Eui8TkBIT&2m-vr7rJO(Rx@v`&u=vac#IM$^~l~T`hX7T;9Zmu0Wrva); zX|2tM5%KT(scuYvi>#(Mjk0x=1kLFJBt`^k7?fkLm=)8?^h7K uvH&FQSTLh0e1wzXIyzJ2LJ#707*qo IM6N<$f`}%oD*ylh diff --git a/graphics/pokemon/venusaur/normal.pal b/graphics/pokemon/venusaur/normal.pal index d6751ffe01..2997a2d258 100644 --- a/graphics/pokemon/venusaur/normal.pal +++ b/graphics/pokemon/venusaur/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -248 192 248 -128 48 0 -248 184 184 +192 168 200 +16 82 65 +16 120 104 +32 176 152 +88 208 192 +222 65 65 248 120 112 -216 64 64 -184 104 48 -216 184 40 +131 49 0 +189 106 49 +222 189 41 +255 238 82 16 16 16 -248 232 80 -16 80 64 +248 184 184 88 152 56 128 216 120 -88 208 192 -32 176 152 -16 120 104 -248 248 248 +255 255 255 diff --git a/graphics/pokemon/venusaur/shiny.pal b/graphics/pokemon/venusaur/shiny.pal index 82c1e51676..f769a3bc49 100644 --- a/graphics/pokemon/venusaur/shiny.pal +++ b/graphics/pokemon/venusaur/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -208 248 184 -128 48 8 -248 248 216 -248 216 24 -224 144 16 -184 112 64 -216 184 40 -16 16 16 +205 205 172 +57 90 32 +120 152 40 +164 213 74 +205 238 82 +230 139 0 +255 213 0 +128 48 0 +189 106 49 +192 160 32 248 232 80 -56 88 32 +16 16 16 +248 248 216 88 152 56 128 216 120 -200 232 80 -160 208 72 -120 152 40 -248 248 248 +255 255 255 diff --git a/graphics/pokemon/victreebel/anim_front.png b/graphics/pokemon/victreebel/anim_front.png index 2d7ed01dae80157dd5a850cdf1909c39e5bb9e3f..d56ad174dacbc5e762e87a8fa46fb9fc025298b0 100644 GIT binary patch delta 1490 zcmV;@1ugoF3*-xsB!35VNliru=Lil504mAOVmkl;02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys0002J#l`>s|6)=pqZhr^7u={>~@6DSx^M8c=7ni@&W{IK*?Sa>37eYj&69j?XY8PVC52(}V zLfOS#(Blbha1qVG3V(Nd92TtuE}w}EnEsC<=RBzcR*&;30`LJuQ<}7gIsAYhjV=i3 zqAgZHqYI3XPc<-U0W!JQv^horSluE&oZ;JUM8N!rqN05X1L98iwN`alk=_-8T==or-KDgfut8 z@NzA+yqUC%;!yF+ZK&2MeCYC6wT=d2z*BL1_Ab0UTltDH z=BCm?t|N34_36kmI%pWH71Ufj^7R}#SWlhD9x`BkS-0kn&kWnh2wGh``$*)3wYiwFR`+R?zZ+=6uB zE`M5Oe>D1Shr|US^EevPqLudXt4aa^A%W*?rzpV^ezmPCz)C;|PLJ8j#peJ(4&sPC zT@;b5F$65kVomKq+^}H@uq1#)LZ3;1->}N{rfldV2p4M&h~oo(Q+9xa(+2{(-g0li z9~+wQgS8s?elYML6$k7M4-gPRpnj*c;eWB02{iux|6QNjumdG)Q)gu#_#nTnb_*&F zr`q(~!^=A%WOac53=d}A4)0Vpv2=K+=AtVFG3yM}7HX2B?C?bF#ay1cF(Y*4^+&+f zchZPq;d=m1?gle0%w`N4^AzWcUkYtE=Malx7I#xI9}nt-ij?MAArkd{NLkk^l7Au) zUDW}(S$G5?h7}njzyjbd&JR&;4iVFZxKo~V1<#EnHjC+COlUIAg*ii0#bNQppa$(s)#qtr~?3VWmd9T>1x?crhhb-0atcY zAF4F3~DU?@9Goz*~Rh9R+BCHD+1#r{=NafvC z(%c9jk?!g`l*PY9P+MvD$vtBYZ#Axt0`jH^%83;B-#Ht$00hPTIp=K=z=am~Halq* z_hP~2`>3XM{C2AkGe)QHwM%;MLvcF&L92ZU$~)}03+B>39MEvkmcUZ5j|Ws6ZHm>w s`n4VquE(D!AL#(`^dk=B5Y%S>7eNb;I^Tn;y8r+H07*qoM6N<$f|AF$!~g&Q delta 1401 zcmV-<1%~?M3ycepB!4haOjJbxu;^k^DG*{gq}-eYWD7wgBSp-uWUg8000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>AvS#fY-Vutv%;W$i-lEi+^_On003`v+{UlOAupm zv*{eXXs2-(1iJ1TgST@L6S!P;oT}?C5oreJuSgdxNbX!2iv$e0PI)u4TJ7)D$$$;3 z_i5(M?3?*Un)Y98Xss$@nx=?5Mpc|rYHBNv1K z0rcfugYq#Fz#lLcROKK?7!a>42|bSc3>Mof1NP%M!#XNk?W1p1n6>`YQQ0&*LtDi= zL(MH4VMN*?gb5)dyjSwZS4V`{0U-+5E&?Af2=Pc7Xn&|0On`F|x6TN!Y(a^Ll{1?; z0J(^CUTC_5Rf+ilP61a08CS>{4K;nMy;zjwt*l1fD;F6*xCa+l(+#<5rkN@~JtAWO z-je7NYpx;Q927?qZ|ZxBi6G3PXR0N_Bd8ud<6jHK=1gw)RyUS0q7!&o|*$a zaGJJs$Tcbpg%szpAY(;gOIaj zKq@Z8OAa6)97lal2q`;=^@`8`w+$wYYvb#VvxRHpu;|;>#GbQF2pncr^4A?hl!ja4 z110}GHN0NzVj+J+O`&iD$jD!IfotTCi+^Jj<)0g)DF1@j^71c=FE9VXJo55)ADg&V z{%xD#I{7!O{0$%{f6EUCRr2p(-D}g(&)q^+6ZvBLMdMxgHv{|M5JQKbTpwd;pr+DS#D){1F1N>eR}}09r`Dz9iqf=+HHuUw;A+ z<^hX-Bh`F3HllOfkSiACfrl|d-SI*6fcN_}=Mxx$elFAu>b>aUeJc-$b(U%dvkrp= z(98lYW#-EsBeq4ePSZYtXG^O2vb({y1DXfKH^QU8qv*xM+Z{eB0^&vWyGQf+U*lKT zvtO%#E|~ert0^7CYR>`w@yi|llYet9#H-Yv1L#u+PT^~1W?30|z~8*NnM$pJTtwyM z)&YQ7T8f#gu`EconH6sakS;&XiZ}B%l{RVI#RofO=EeS(R-`3njHzx#d1-;xo~^c z&$-^T%OV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys0002J#l`>s|6)=pqi4-EMc$Qk+SXKW&2f)3jB2#`>K zSA{Tx2{|q9oyP`dN`=5M64QbSjqvMSS1O1YN>MDA%YU2^fN8Nf0=R|Ad&IkCVRS$1 z1Ce}=MvJK-jsY>Y0KUnMMGxQ}5!1CH5=}hxrWi`Vl-8|>w)oNq#z+pp{1^}caL2$R z=-~|HI3;T9_>m`hnEAjp4{>OLHDLg}j5E?hcoID406L2!;38*$Pxz4Vtq0spHP9t| z$PR#BR)2~&FN&oPWF4S8CA^pv{+=&8Ahp1&JOIu$Fzx_8j$+{_yw2vlD4SrHl`lT~ z=a6NX1V93QeITUKl=ezB*OC=b{+G`7Z^ zVInAbYSh;*p=^P5($0~@e2MKGG1{$SH(q3xSpsaCs2#AO^2+T`vPH@7D@{CFAYM`B z0B!L}Uy{vAhjc)91d^AffgM}acAb1bb^rns8ffCCrs@R1gIMCbzR3Ew`M;~*X0{bV U$PWe^9smFU07*qoM6N<$f}faPTmS$7 delta 719 zcmV;=0xtySdf5FNNBKNnDF@c__)Bp zu;56Lm>}5rSm^ke04SJWP;$5c000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>A+CkRA~L00K%$L_t(Y$L*EDYTG~%h8^Pv=#nLeghE*q-+x1UN-0?GARkOHm`LYh z_7or4Ug_NI4$id_KRF$u>0s=ks?7c0f8CWq+UvYPbNgtPs0A{oqcX=RR=7 zO&m+$STO*e#|7#pypY`I2zrSV;JRgiPx$EYbpYHiG|)SIs*ivkRz>&Uih~c-J)kQ^ zx?UCjoG*Kz>VP%?9yGA*0X~kR@g3gQdmfZ^u)}JbpZ+=2HI)HSf}bCWdQUl@rfY%- z-URpcVSi5yc!PKueA!w&7-bpeCpY?Gf8~h8;LA4;W8r{`LI;&wSpnU3KnhA6qXVR! zQH3voz-<=W7h`E>Q0;;m$7$A0NbeVWTBY)UZHh}P%pS%9%iC0a=^dgD*p*!$Wx`8r z?TGPunz;62Gt3A;Z_3O88;ow;`~*ux{J!4UX-K!NlPTs7&=TLx8l7sB9_Wui@US$n zW{GU(_G1qaFk$v^l4h8n0k{!MJnBU@`)B?pe*-t&OV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t@NjVWfGEgd7?4N+@Q8?*I6&A)Sa28+|IO9*tbep~gQQwwgE&B77%55+ z5D?y7Ee`+y00Cl4M@0Xn2lB-L00QetL_t(|ob8seZrd;rhBbCFp(V9fBSW?T^#c?r zvgZ|=g-IvFi)mkcN6#Z)b{eQ{nF|~V*|88pF9Dy%9!`++y zskuM4J+=U)5a?=sHR$*IZyTWQAtV8#19=wX3I>CL))F_O7A-&$`ph2W;!4MO%nPj+ z?UYF9#i+Tfsl5{Y*a9Ww1x?YL^FF&)DxN(8k&$$rBdVOE%9Kyk`#Re^UWZXUXI*;6 zLcMg-0)Ile1ogP4O*t2Oj)zhSZKDQwlam&ZcsKMRq?b;4P0E$vZ8Ct7&g}2P1*H8? zCD=;UK+>L*R#8{g0D}&I5|&t`7Faw51QO?Un@IzzVYE$HWISxh@g{N!BN-XXhgxea zw*VwaM9LwNn8zn4TdpGkpAF`QRl!>Lp$@}afMVm#GC_;V{nfTffg7&E0#Q}aR~RUvXsAFQsJMcFL-sJpsCg=MulXF|_FgYElUNkub zKw(V|cuWrUV1L3Ur+RL3SOUDTmf5@kOKLKoGNDx`-fu9lLY<4FRm2TF8?6@NB{5}U~xcN T=N%Tg00000NkvXXu0mjfIp&+Y delta 881 zcmV-%1CIR12Z#rdB!4haOjJdf(4f6BN_!X(|6*eQ&DHKPG4`yq5D*amq$#vwASfs( z#fu;qDM~p~Qd(kzC@3fk;b)})000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>B+n_itkW00QetL_t(o!|j&8a@s%;#x-fwP~=P)T5=4N!haPAKY@7xU{2|i5w$!i zZaj`sxG{bL$9aSJ1(F#Wx-@dFMoXK<=ozxRCs~KBGj$Sf7|^i4`}WU)^m*Rjwgj%1 z;%|c>n26WT_^W`{>9E%nlT!Bj!T6MrQA2#7l$uFQz#_edco<7Il?K$i=)mtG+oB z`IrJF#1U07p71gvnhfBI2Ig~N1Hyc#LQJJfAgueOQIxw% zfI$mD34cQ@A_FX*0zML*GR>?4RoB}k3^MIjUQKU|wT8)Iisei%`n`R=Z07wd0Hvv$_K|>?p0~NRh z$h@aRs5<2-Ko&c1rJ4qnYxlj_&v3$tTfj>)dUFFQWEJIzL(JVeBw9Fun7hr_E29rZM*q^Y; zNot;(9F_pID713Oo|_zUAVe4>c370HF+tnrXD?fnEqMqBU|AH$W3jd<4#2V~t|#t3 zi<0iKC^!PPDA^1CA?I4%{vlg)B~JhFnRoihKL6nVkN)8grUZiHm;MP+00000NkvXX Hu0mjfGZ2U~ diff --git a/graphics/pokemon/vileplume/anim_frontf.png b/graphics/pokemon/vileplume/anim_frontf.png index b77e9aadf8debec2368c93fc30a3a22079e44182..154b9b131c4388ae687e379a6af52fe74a32ad41 100644 GIT binary patch delta 1016 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 delta 812 zcmV+{1JnHd2EzuBB!4haOjJbxu;{p8D1bl^__$E`=+NkpK=9D85D*afxM+xQI1msJ zxR^j7NEkqPKxm+FC@3fZnFKEY000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4>B{1{yy0N00O2-L_t(Y$K92`Z`x20#~l{d-cxO_JWCZwOn;TgUx3}+DKC4Z;Mw+K zs-|-td5F{{Vd~#dCL)G*>q6!%!F#svV+hm}gB zXX1)i^g>)g@9Fr7iK|pR4fqrs#bc$y|0MVrPgNYpN{JrIeRB+SFqr5JP=c@0<9gqz z%TuEPN}oTD0e`(F;}rCDdT>gIHjOZU9D^`ytD2LDvy#F%0h=s!hM*=vHjNTghzTZ% zCVDLk1wh8i025$2mt&NCws!!5AOpP+Q0Fn#duA;h#R&ly9OuI(?3g|S^~dokNH9Q1 zO>YB|%R|7dh~99|2W8HX+C2vp{7wgIpaX9cHF-}PMSm1U7NF%D09ky6AO>|^M|}hW zQsZL^@={W=0JX_M^L=|)e?uUniit9SuC8o$yWO_FW&ndhY5+{dDF;6h*xl6&fA6P@zHc8xAKwHKcdKzFw z!<)GV?th)90QtYbteHoSpa-ODH4GaKtZu8SYyqCdhs#fNLVaJMo=VyiJkRu|>@UA! zeAYyIFA*UFI$a6kb6r)l+SGt^1yJ$8b?uOdB{p*)bw+OA+JE*&cA5@>N(TFhHw)8<+*_|bQz%am z&1E*#htQ3D{jmAfvI_4-aGvo*`UG4(Y&KL$N4l)ilC1P8C*lAfvgRfZb?$Wfudz3HnTETy9Vkf-!73mtKGe@ q4JEXC@eOV1ZP1_K>z@;j|==^1poj5 zFi=cXMc&@t_^?3#q$$9dD6nWC__$!jb2;dUFoQu5|L)cH)qk{$)udvqYC(HJAW9ez z5D+MD*xCR900Cl4M@0Xn2lB-L00Oj0L_t(|oZXYpYTG~%#(gTj`B-w5au39z_*Mu$ z^yXJ+FQct4qK9bfoQwl&(TnM!an%PQ|ujIAX^HRS^a9&^h(zJL!|4#eJ)$_pD0O;)b0;N7G1yBpf{rngh zZsuhv1a*|?{PDaijeNP$^G!}&@<%@*R^J%-2`s18yu1N%&}Eo#2lOaQQgCC#T6zkL zE&%guT50XXkNAn=N)M*bSNwetCS`F}e&-~mMCfg{M>0SPMtkODwn z5g+D>OT7^N&Ky&NK%O#Oy2#N27;*21D~~9MzObC~z1H7%K)wfBX$Cz43<(yg8sb?R1|DRnZheX#v-`Mkcz?!jWDe*Y(2@EZS$iK%d_`;+S+{T_ z2Kbmd#bu7+e8rM*WZekxAULXw$Kwg5Vlrj6@k?*rj&O-?`~efzZfc@+_-aON=DkpE zKABofkm%$!Y8Nee2dEEVXiS|0$RuAoLNx;`b9AyoXr7VZCU;$p{denx`X%(!hIOk6 zd2$B~jjR|>843%_4ehM}qy4G&06>Ae!HWP|0I&h@E&2cfxN8F7MYcVW4EWnJ@J-&e z2V;5{03ZpY;BUbm_lycwOGWnq^Wzh%yRtXzi~ P00000NkvXXu0mjf80C)R delta 784 zcmV+r1MmEh2d4&*B!4haOjJbxu;{p8D1bl^__$E`=+NkpK=9D85D*afxM+xQI1msJ zxR^j7NEkqPKxm+FC@3fZnFKEY00Oc}L_t(Y$K92&ZreZ%hFvdS%R?otz5`qb$Wx@1 zyQ}eK*AUH;hG=NID^R8`jRC(zJvnfPZjAwD?oz)?$scY`xF??=5fpf zln~hD>AVw*`FLjMvjocElYK^bAdVB5%;QTW4!R5j>VQ4s7!<0Rk(Qo9Q+i;21`}(Y zn4~iVH7O7Puz!F=>;XVt0c4mz!_%5bejb1D4hVpe3P2({ARt8uga}|>0p;C5cFg*n zIXXiE^AO>ovmDESX7}E^@)!nK4gsG#AlU;2H$y!P3;{JHVQMl^#+W`32!Q|M1QDo{ zx~|Q14}kMh(|82vlV-WStG{&sP2_<;l4a@qz zLcx^=ntvrH;EIPTr)%u7d}xfrBXT2hKCz`b@3yFgNIY zN|NxCY0khE<5*?0*{mRBlOd{dS^CQD2$d)|KXAg#O${*hw`NpC;)Qba@ziVrN6D|T zwkbdyfIfgj}2T!B{zn@1qq5xn7*Q4+JE9YPD?5bZkPZ7 O00{s|MNUMnLSTYjlv~mO diff --git a/graphics/pokemon/vileplume/normal.pal b/graphics/pokemon/vileplume/normal.pal index f7f01cae2a..fdfe7ae224 100644 --- a/graphics/pokemon/vileplume/normal.pal +++ b/graphics/pokemon/vileplume/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -189 49 74 -123 24 16 -255 98 98 +222 222 222 +240 112 112 +248 128 40 +200 96 24 +144 72 0 +240 136 136 +152 56 64 +216 72 88 +112 24 16 255 205 213 -238 49 49 246 172 180 -16 16 16 -255 164 41 -180 98 32 -40 40 40 -197 139 32 -24 41 74 -57 82 82 +115 131 164 90 98 131 -40 40 40 +56 64 96 +24 41 74 +16 16 16 diff --git a/graphics/pokemon/vileplume/shiny.pal b/graphics/pokemon/vileplume/shiny.pal index 1480c0cb63..f6b6407576 100644 --- a/graphics/pokemon/vileplume/shiny.pal +++ b/graphics/pokemon/vileplume/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -0 176 232 -184 96 40 -128 64 16 -248 184 80 -248 232 208 -232 144 64 -240 208 176 +222 222 222 +248 176 64 +255 164 41 +192 152 40 +176 104 32 +248 184 96 +197 115 57 +232 136 48 +131 65 16 +255 238 213 +246 213 180 +139 213 164 +98 172 106 +65 123 65 +32 74 24 16 16 16 -248 184 104 -136 112 56 -16 16 16 -184 152 64 -32 72 24 -64 120 64 -104 160 112 -40 40 40 diff --git a/graphics/pokemon/vulpix/anim_front.png b/graphics/pokemon/vulpix/anim_front.png index 97f5b0f626fbc4cd715e6b0cfb25769dd329b8dc..3f9e902f679bcf127b0c2473060d1b592c6b9d52 100644 GIT binary patch delta 1026 zcmV+d1pWKc2bc(uB!35VNliru=LiZ2E*Op=>iqx!02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMb*``|NsC0=CuFbln@XQ?wm@Xa6o`iF#nWV-g7CvN`EPHAOQBgd*+mCy>nVv zFaRznDSH3_00Cl4M@0Xn2lB-L00TTpL_t(|ob8rBZ`wc@hi|wk9{5VGbP|eF>@N{@ z%@WC5vWCtKJ-l>a2zP3dAp_j48Bwz!b*PRkNRgW6%z%p8g5CGbAD<0ojw;>-!SC_= z-kp)|LFiEbWq(PzH+JL|z1w^{VxP-Euh)!ZMnL9tY5T62JJ&thYjX22WXF`!s047y zubK=V>r%?8DZ522b^2Gb8v$?x(eW0L=-#I$72-BUatZV)ZP~y}^ZH|(-7ZwhX#{Bm zSjPf_m*~37$U-TV{-*b^LM}xS5R{Qvsi#@!(G~#E#DBE_oCtdVn&kjMe_#r0z^Pyj z(?1N)L^oRP!)k%2-#d^$rQwHD&P3LrxXOlV3{$1_uTu{I(<74h3<8h8OVucboO1>U zY*n;3Gq9N-oGCSO1?PeR0;e6Z92mk0#0iXW9VQtdj2u&L0curagzkySPiV_y)*>6r zd^9%G2!G`8N;@{-FLOPvnbSUz41iWX0cPm*i_%&Li);{Mu#z^hjsf{UZXh2gdIi8? z*bU6f(5r&2XyS=70RJhSmy11SFL7CEk^=~{j#~!M{OcN+z~OJ_Xg*jI@phOkWAF&! z&xc9?&mZ(_Ja|~n*i``l!$;q*1pMhj4eJ+y*?-3FMd*ea)-K{|;9{ZNSvaYO6##y2 zd~@qFw;Bi`!UTs^Kpgwt-lJf*b)?Zogz8mY^WHyxNNfVhM`F;Zkmu z4S&QIls|%JcYnb^3W6d`k8GLw8VZ8KjXx~+xoJ@l6az4?Xdt$r2qs|$D;Y>GC@ySM zfFBeMBo`DHImDCT4+R6U1jWEZxR#3sVhKtO2C1P0JFpF8BPc6<7xtpDC9OCQFfYjwhe>?iA79y83+!3 zW_~g7s|*AOkd5XBs1OV?_qBRIJ+B0kI8chrD*XY2U@7H-KP0<>+H;Ke`a?ZDNBjH% wtYL!o`2)U$pZEF$nL?NS{s7M&{NXLvKVvUDlbrkUnXTlxnP62+eyb z|NsA>cyOoy0QS9m00012#|F{>000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>vRMiOQS+00T8iL_t(o!|j$$ZrVT;fNd$mIs=mngkHcIynpY6A!|qR*q}-kRf`Q> zAZ3AvEE=f`!t?-1J$Km*>RJ@Wo=3s)nS&XMRwyD zw;ccuAa$_?#DB7W(xil(MHXHH4N6@TxNM%jY4Nk6iWqeu>j2giTK=NZQV79YzT>_}YQ| zO_Y9rV4P$H@>6zIcNQrnKR@^Y=o$_-dkDDvU8Lp-+_B|V;1v??j|4)x3psd;W95L zHND&Cm;>N)b01{%Q%Na?SP6uKp_=vX1HFv$A!Jw0YWGPsa6eSuDDC&s3IJVozj?ipR}G|)LIR~#Ko0=T zjYd_#Aic|;aZ&M^LSl6LhYy|b_8%O-H-HVOt}2#ST5M|<8t3_-CO9LjFdKukgTL|AtA=L{q#C`8xD z#&pXCg=v3SuG1?O6b*1cZy=_i5RRb-FBr&1P&`;B0YAta$VN~+%N9Ncf5;h#At)N2 z!GE!wHxNTmYS2i{FxY`BHQ|IBy`Yf&$0gGy{0SKtdHwwV(h11c*w}K#=_K zqzrwSkfMPEmp`NlAW}4t;K>9MYui9X5F13l%s^0Zo%zKgtTGT3KyE(PK!sq4aVXXM z!EGfFCxKF8ROt^01WPFo{2?v}YF7!`=`|0%^w!$t4`2;_YnMNuJNSF2KZpTT+3gQ- e?cN{$=J*Y@M5Dh| diff --git a/graphics/pokemon/vulpix/back.png b/graphics/pokemon/vulpix/back.png index 5562fabf680097f0a54c6d09278b4773ae48a7d3..9519106ee54e7d526c3c12624b03c9762851784c 100644 GIT binary patch delta 719 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 diff --git a/graphics/pokemon/wartortle/back.png b/graphics/pokemon/wartortle/back.png index 0f47279c33403c391613d015ac0116755b83e884..961f93826cc96893fb5f1683f560a5ce90655304 100644 GIT binary patch delta 841 zcmV-P1GfB#2H*yeB!35VNliru=LiY{E+yOFBRT*802g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMYOcE|NsBh_QkZ`y~QyAoW(I(ix4?l5cbu3-lRdKVt*js-v6|;_KSPHVp5b4 z5D?l`#+3j700Cl4M??UK1szBL00M+bL_t(|oaL0ga??N%$MpcQG8fl@iChCS-olln zr?4sMvA~*nC zYmvRf936thQUm(5FOq@Eu{vQ^09YVW@pRQ?mR2o#C}P>+^ZEQYKyV0T=!fDL`s30H zxD0_D{U3R11)LnOd4hg^17In`ITnC4i~wtEh`a$f>VGK?{T*N$K$W+LIb5BA^8$gp zLk&y=H;nlfz{x`mpxoq(rHonw8KnHHrHo^$hzjyzAD~>yq_GN7^J1?IN{ArbB-VBC zw5{@ppotG|4ZxEY@JRqqL>&gmQ{%^7>A{%@QSE?qeP^Cv=gjkqzECkmQ!>SUSLwt> z2!MIdoqs8=9Za_kP!u&Qnh-cU23h~vH$qNu&>@a2t*eAmn(qK?9eCM5q^KdR>k5NV z8b4hcAOP>@WHcE?(F_K1>o1EEVBi? zF+vdv2*o61r?89%0n7&P%+lkJr3?XdBR0)2E)C$85S9w4qVo$e?{e_L`M>Nh@a6D< T5eFqF00000NkvXXu0mjfS21sI delta 752 zcmVO{ z4>&Rb7UsnO00L`CL_t(Y$K{m0Zrd;r#}x$f&K6a7)=gHUl79@u9d(l7&9OzH&15+g zfv%}r&E34aC}4N=WUU!HT=Li(&|0XIY;1zf+O7x3+07n_# zr392=1eiNR6fGc74|9wQxB*b*?RgI0WDtTOFgVx14RFtS<^a4RF#yUfUpdMM4Uj`6 zUOLLSB$|k!V5a~PN+t<(h)}STG6hdaY+a%jsUg}>U<(ogph<`j6nzq-b^i!Lj7^q?3$+8z(kF`BmqoqiWJ6o z&7qO@U4IX)B<%R;G6_@~IKU5G?7(aa8t&oeW~70kZpO5;@VNvw3TUEShhfU5xMbKp;U+6q{{37KWzjCiJXM$6qa!#fz9OCp!;Kq5&+YPQ9Fz$3-}Qvkp|*s iFUNI=CcnM^%l-myN>3a4bJH9E0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMSF|x|NsBR#l?$@lv-M17#JA;)qC!&LCtdzlv)UCIe!TM-p%fui{4sNoGBmx z00774LgfGe00Cl4M@0Xn2lB-L00I|DL_t(|ob8ssYTHm0#zh-JqoE+k(7DjPYquB* zS-o6*5p_nlYX|2z84E_IcMzdas57~P@wKS^1bqdMhGHsh!lpEOhMuD&Q}4MQ3WZR8 zgOK=sy64>7=INz_NPp;keYez|V+S!)7Sr49?6`WV zxyZ1&J&2$E?mu4dvAXTj3512t)_UADaq!du1PZf4_j10Sd~o$Z6RmO1O&kg(jg;&+eR%Cwt?r@PbPd{cy#xMTy86DQoG3oO!d&U8>~nNt>H#P^ z2^e}xQ0`Tn&aUupq>;l{2!B?>;X4(=pA;Di-+kAe?W{S_Iw&FhS*sDMq$`C#RVeXh zrw*OrPs>nZW|4aQ#21%x{IaD1??bEmtY0li91Fj_b%+1} N002ovPDHLkV1m6h(#T3TYo#l@6b2=1&w&2tcHISBvedl(oP zoGBpQT2k(ui~ruu0001LOO{ z4>=sf+uBP200IX|L_t(o!|j&8Z__{&$6b}G(Xn*tKj03mD1Vju7cen(Xw-_a5-)9L z@H@pzR4F+t2`ea@r<`>SYf{-T6WQiJ2>%Q3(lBxF7`jp4Wa;~{-%tDNAZX4rJxBl0 z_fDP+gs=U;i}1MP1=`^W_=v-H_zK{h2ci#Q1aQMY;PwjwKzG0bv)N|?fCWakGpmE- zfV=rthdu|4&wl`}=g?(=NwI|984rkW^$!~XS>WfddP!9xm!zm`3m~Rk4vV^4lFkF- zJ|US+!4g)N^Ia!T9YjX=>p!h-yOw8c6h^yowq3atHb`%KxgWm$TYtG(VZO`K35Z(9 z8{OX~vH!*a1P0?;&l7vuxk%lG7C5p=955X>h#B^V=YLm2_09>jjP1qfJtner0#ijX zlmsPn_ed7&c(YOxhk412BQreaA)Ge2bgY zxNGCCjk`YCU47qD>nJ`w$HeFXuUqTH$ODjd643L6Am7WaJD+lZMr*!|`9Bsx<~v}_ z-x{YR^M75XZg1ai6i^>bzyp&mnk?napCVNFIH`jRcMhV$SRv(jiA=K+{IsSbTUQ^M zDuh~CS5-J=04>M5-)RkF&RZvTTj=kAdjM4-m5grC@WcFCDwGAgGDa*)3R3yzt+DX# moG8rN@Bbz+jhpOV1ZP1_K>z@;j|==^1poj5 zFi=cXMSF|x|NsBR#l?$@lv-M17#JA;|E&M+0ROZA-ir{uYJULc?)K)*)#jY6tWtXb z000QFWqSYs00Cl4M@0Xn2lB-L00FW|L_t(|obA(1O2a@D0N{Z%V6v;|1%e(x@c^yV zy$FLfpr;UC+I`4$_N67OE*g>+^(gM#wWS+DJcaXq|d zW%XLX#czStZGQos;}+0w1zt1gbiLb#uoEw@n}9PXWHK;=qgg=MS{eZX;D8!8011MH z8Hf}xF@RYhHXzZ+1c+RbA%_DBKs|5+1^V^CE&w)wxdJzD^&nH=`DNb-$Y@gw(1QZw zU46fN1;WqT_~Dd^q2bv|#;F#+%D*lN#TMbB9JkIC0DqFOi^Tf=)``l%noTjrdgja1 z{7))g!z9r`Ux9ns&FNmt&@F&$R`^~9Y*2c63JK^=%TP>G-tN~A4S3#peoa{>tX=c2 z04vd~seXwANJCcYxKf71%g^9Iz{{j1cyh^LAVix5Hu# z)>#cecy7pNk>_@D^Qq`;#5yw&H-Q;;a*AgsP;q=v=kQTD5z@$au6j4|#80s&VC P00000NkvXXu0mjfPNy3v delta 558 zcmV+}0@3}B1;+%CB!4haOjJdf(4dHjkofrcSXf}dz`)pu5cu#g@USqrcp&)rxEL51 zs8D#|n5f{$&;S4c00017Cxblz000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4>=&~w5H4e00F8=L_t(Y$L*D|PQx$|h7(m0QAXei3KJ7*nSWTx!~?WZSJX>ipgAiO zQq`mi@D3e-Muwpqh(~DY6Yw(FP8?LnP6kFeMM|Xmb!0xsH zozoVe*9!Q}K&R_38`4fNyJ!NOA>y=e1`Y-xvX~hG1mFNM9smUp-kJeX0;UFF5Q+mZ z8k+ztA~Mu)Kz{w%$2%=xJxO4))$5f@ApWqL zyUYxNr}H9Dl>Ct#6vpC+Seb%-B>}*UT_jM?w@+jRCN`mzs+Et=%8x{B!!)b;KmyN& znxnO9#R@3Iioa?`DV>xQ0NE-PDkqh4-)~ea`qy#}B7dlI&BqFu3$aG(C4PV;W}^;j zW61on2M0nvCZ)iOi~T++C(WA-_NUOV1ZP1_K>z@;j|==^1poj5 zFi=cXMa|ys00030|Nml2F{FDj)x}c(=4$`;ta~Xbv_VSEYJY?7oU901F*%q}YQ<8V z-h*sL+~WWM00Cl4M@0Xn2lB-L00T}*L_t(|ob8rBPuoBgz#YNBkReAEDf~$#l74_f zO1icI!B)v?yk)5f{sa}CGk}yZvEg>g=DJ@X*h?yPsT4>nrb-wF=!Py|fX03A&L(I3 z3}YGcrbzFX_kZ4<~hOXDOm$DhpD5c*G3c&8V zD#>RdPq&Oe2-Ic3a|GTQ#-6V0n&glf%wJQ(pdpYQ^nXR5h(HCB41ggASN@$yoI?Jl zs`JoPWiax6esMtu4}jVWp5N8fEJa}QZ~(ZZw7gag0XQ=dcTwPGWxlF6H@5(2K)px- z0KCg<1Zt(Su4#B_R2%_@^t|(0S#OpqrK+Y<7PpaO0Pj;y~Y7&1*#tL}pZ!Lj-zoL=6De z<5#qU%VIwOpoA9(dIXB}0std6quU}tIC%gXQlQr*3rDVvJye#Dc2JZ>n=F`%b{Bh) zWB~+P1+!yY2;_iBycij~OUxr1d(?9Zk-Rt^i+{8MfGK4^dOk#f1F|=p1B3x71(Z3v zMG64aQwqS87Qs_U#tVS2j%~wH((*8b>pEZ3>a!AuuJyq8aZK{i_op$9Y5f0?8%P+b z1`_6F29h0wi&}0V*(=bK0n5t`WC%-?Qq-sv1A$HNkCB*7Gmzn!FUnK{$&MIsk!m0r zzJDkq1`-Xn%_9a93#K@tfk*+tK;(d6APE39OE8cmkbzZuJ~0p#9!?DKL<3=x6ZI^n zDE9`UvQytih@xm9%Ynm)M5rieAY6jt20?zHqA&wdF9RT=Idh*}_m~?oz5q~B*3dx6lIwIC5P$R-iGb50?c*f}w?B6n?t>Em?Z7wvjxJlc}zfb>bAcu}c9>_xxLZ*iBl;a;Np?LWW1`Z?Z P00000NkvXXu0mjfW0}Ep delta 976 zcmV;>126ol2<8WnB!4haOjJbxu;>U{F*&SSoZf?CN-?B+F#rGn|Msl^=4xuiQq{#$ zdnqaZ|Npc>O75Jj&1!>$U}5C|000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{ z4>>9eVNcQk00T)$L_t(o!|j$oPuoxsz-6aYGjZ1(r8{eB0buP3C1ydoM|| z8>LT2KT9A2iho)&JG*sc*0)bUf+R3ciX^*b7^c~_KZtsqCxpB*2m&W-mLM-4gxEL^w-N10B1&`5CzU|_J7J|eRCUu7M>S500DL7lma`0 zzG>U^(nz=kY*JO1cKT+0P#TnNi?C=!#zf$F&8+ufZ_Tc7AaV~_gLX)Psy)Yn=zUh+ zISv8?7*s7)1Y~}@E)wg58@okkP5?a@(T815~C^tEg>)*!~U)7(;61bFUS5;hd%5(hyIw>faC!b=+vB^ z?@>TUBJpA<{urEFpVnyW5(r+Lo(Ek7uuDt)_G1$@4(O=>Fd*dsDdTsbhCn;z0PNBO zIt8SCfs}tE-^WqXzfp&-JNm0X@exz5T@Rl8%ztG-pKgn3Oyfm|*gz(cY9N!m$Ux-W zWKoL^L|#Na$+5iHK=Qam385O5Vj#HbwIU^E(+nhEm>(xZV`_;6x?8a5CnIZ@AIit=C}7Mr?}jVa2b zfq(1<4wDrq3N;WeL2-kCH&juWfmka65Ye2>AJ@I(2GW`U%|={N?k~AN1o>hit|;#P zRR|zqS)&F52kvOhfS^V*42(L^y*n7u?av*C`(S7>qa8T6J!%+CQE*6re5i@u7`l#A zqlRHUIE=Cz+PfYqio^YYDGCVepv!@_zDcX9uakD*AyEqiLZB#$@1j63%hA)9KlKCq yOWN|U;Z6Ep^&OV1ZP1_K>z@;j|==^1poj5 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 delta 580 zcmV-K0=xa51>FRYB!4haOjJdf(4c@gfcW_MXlQWQ*x(Ql5a_V*(2&TWXsFoO;E2#* zNT4vV_=s>wDBxgV0000r`wt!f000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z4?7s~fPByZ00F>BL_t(Y$IX;IZ-X!phCx*%Mv$7&nM9eZq<=&Ak{yOBbEWE>)l%R( z#tY$R*Jo@Tz`<&zO1%Mr?&0-&9}oopJ@&r*nMW{;tdcct;~w61emoTV?~5KF=^-qcu4}*f@%+$5THYlfVH3{K3bE9h6MQS z2!$L0rxd*jaK({85T(kw$|KfvsfJr1uDyVcVzeis8Gi!RWRp~>eg5lxvVkxFl8Hhn z7scj>ZR%E(;V=pxz{kKSKQ1GJF)%U_u?bMf>CXaj*szNQCV8x6>#Wms3ea$>Ie_-k z0IdVyC<{wWn}tK+rkyE(8{o0|V($RPLP+1EE0!8q+yQt$(W4u%oi3d~WyiHhT)^#G zma`629X-={^Z|q4tgBChKl$-D!1?eKAoT#D4_M%z0Qq6wqZc^m#Vl~nHSi77hu9uc S!Q`3%0000`zw diff --git a/graphics/pokemon/wigglytuff/normal.pal b/graphics/pokemon/wigglytuff/normal.pal index 9e5a199449..b4ef1c4349 100644 --- a/graphics/pokemon/wigglytuff/normal.pal +++ b/graphics/pokemon/wigglytuff/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -139 65 65 +189 222 139 255 255 255 -115 115 115 230 222 230 -16 16 16 +115 115 115 +148 222 205 +82 164 139 +32 90 98 +230 49 49 +156 106 32 +115 65 24 +255 222 205 255 172 189 246 123 148 205 106 98 -255 222 205 -82 164 139 -32 90 98 -148 222 205 -115 65 24 -230 49 49 -0 0 0 +139 65 65 +16 16 16 diff --git a/graphics/pokemon/wigglytuff/shiny.pal b/graphics/pokemon/wigglytuff/shiny.pal index d781c0acc6..fa181289cc 100644 --- a/graphics/pokemon/wigglytuff/shiny.pal +++ b/graphics/pokemon/wigglytuff/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -128 56 128 -248 248 248 -104 104 112 -216 216 224 +189 222 139 +255 255 255 +222 222 230 +115 115 115 +180 255 139 +139 213 98 +74 164 49 +230 49 49 +148 106 65 +106 65 57 +255 222 205 +238 180 246 +213 148 205 +164 106 172 +131 57 131 16 16 16 -232 176 240 -208 144 200 -160 104 168 -216 216 224 -136 208 96 -72 160 48 -176 248 136 -112 72 40 -224 96 96 -0 0 0 diff --git a/graphics/pokemon/zubat/anim_front.png b/graphics/pokemon/zubat/anim_front.png index 6060e7b77ccb3cd8cd19cd99d415f067743fa784..17a4088e108d41305cb8adf2791fab3b3e71767e 100644 GIT binary patch delta 1018 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMOw6j|NsBh)zxBRVh|7z{{a8J&HszE?qYkiNHsDV*=NC3GEKodV^x z(qjaanpMmchB{Xo*V>mFkJNl0@Fk>5rQzMHxyxtgIe+*7N~xtRp0~@;o};Ie2!Xp| zg#b>mYUe#KhbRs2*DG&1DqfuNmPo_maYf6(=JED2Sw3#OtaR3(o@h3z9yh)$8G)`T z#w@PZ8-K(JOhd@=M&hd2ELmXoM}o$3z!gp^Zi=6azY$g(q;EOA?H0NFz6-p6)sz5G zQJkgrCx4|9fM6%Fn%asXXiixL5HS+6 ziQ@L{)y=nS0`Q?ugtIFN&^Om#GO7xN`G*;rM9&Q}}Wm7~U7m`>`od ztPfbCjjkl)JQCBpQ^3#i1c1(Z0BAVtfwAPQsc}{wXgDh$@6OujDfeRMtY~>G(R5ZA z*As7|4QEYaW4&tIy45#YJ8J@2taAbH_rlU z9YK2rX=$K0_hHf05M*2x^mlcTfmi| zmfHZgU?tjw{WN)^hhTa-hsaX=cv?Tvp}^t;XBr)aM7{sO{ z5DNmt-d7X=00SpUL_t(o!|j*BZrVT)h7GEv9CBb$kg6(&cz>}apYclRwPvhvG{&p+ zF>+{RxLHvnyKg|AA*VhqMOy) zSMA}9Ehz#aK=?$>@hceL2B;cWMU=Ii;NDsa>juZ;g z4j~4+XVlr3?pz{3?G|K0vw3rl+ME!8 zUjc`ZHqV6&6wHnErkpl^9*7aO=HirXh9YH$=Njus+3h{L>aFZy0Pjt1pUu^(L z_<#J*sM9lmZNfYK-i+GeMHDG5*$90LOsMN+wSQbuH|tL5WwU@ERv5yiPDXm%3=`ZO zt@i_1IOs_&z|Db6sO#D^?`(*^+O*sj=!T${+W;3}L$nEdHMyggV0yX^kq3BrTHV=; z+65I+YZ*O>#J2wNs@KVDN67HV34$Hm_b0>07-o^y>ET-@^LVWwAJF8z0o5i0XgZ)2 Q)&Kwi07*qoM6N<$f{AvnnE(I) diff --git a/graphics/pokemon/zubat/anim_frontf.png b/graphics/pokemon/zubat/anim_frontf.png index f0cd843a44413ff09a37387a32f260b6c1b7f24d..65ab3fc354e8a2d31d3ec19c89bed5d5f71adc2c 100644 GIT binary patch delta 1013 zcmVOV1ZP1_K>z@;j|==^1poj5 zFi=cXMOw6j|NsBh)zxBRVh|7z{{a8J&HszE?qYkiNcL_t(|ob8vfYU4l*Bu@SVsIg>QDJalEG^`oBpA{i!3wy$gp=OoW_B${)~@X`jVBN!&9}cst6lwL z$GOBOhbx465r45c5@LYp8~I?=j2?%vlx9Ah>fv{Q^6}M@hlR>RARo(e+sXGRA1nRw zNS0-32+TszfERJzA^;6Asg4PNsv)137C;GTU{zV~pag>WD8P3Zk20Q{ytbCWd5LmL z0OGv1lrWYBN}6jglyroPL%<6mL(GEvH}#Y+#(VGp5PxwMmM^<$=+@}SG$P=>ToXVg z*4@106cA;>!)EQQCgrO!UK3eRKCO8gta*C8JglC!PF@*v&=i_a>Zh$2Ru+MtT8w#I zZ?@jVCNK-2pa+TTa=Wqu^FJX-S`IYBX>BX*_$y5UcXAjf7qU5z0YCsR}>`X7FOCslyn4oRn z-rRocGe9pj5yq~hxRSRFP<2TA+D15T|C$#C2{5rRfxakUIl#oH-9Nz06uFU*P)^N_ zD=Z=|{PI7}Sfnc<{Pvl9czTITT;dYv0?*{5V1Ift|0Q@m4U8X3%lEM@P;QP`qK;n3 z#(5%U_ve70)fs@C^$5^%)+1xtSu^FVcA({~_V{qtR!?~lduJufvl4A*g=tfG8*Mpj z8Y}C?UF+67XydFYdx%VbDvvBkd8t+ z8syExIlb-`O%m(7Mw=o0UbO=twy*z!J3R&HCcGQeY%&l8q3qsYM^6JI?s|P2Fsrzm z^+x=%tw1`jNW$Yz1{2#IMl?B69tUXSP;O?S0oy&Ogu1R(^KO;sg}atp1EvJG+zPk@ zEzu?PPm^bU396?vh&-boPn%~x6twujD8oe}n*HzcBJbWq;QY)NggUt2r$1w~illu- j@9Pkj$LolELX-C&UgPwmADB>700000NkvXXu0mjfBLUQA delta 896 zcmV-`1AqLB2$u(tB!4haOjJdf(4Y_y5Mz6_z0UuPweLzodt-aGwNjjOAzIdRz5oCJ z(9qChV`BgS000000002*m(eZ&00SaPL_t(o!|j*BZrVT)h5^-54mo%cNR`?{SZv8> zyi$6t87mx(@hW|c92yyJR@BJu8<1ljg=^G@>dY>r#vX%u%72ALLWueH-}Ub7{^MTn z(muHLg=qgN<>8kQLn+->Je(bR&sD5-JFaeQ_Yp{azh>f)m^g&`KF^Cre1P%T=+9?5 z&-0eRRDlJYh~kU@9DqgHB>-j)S&%b;5wO6jWJfRpVcZGO2=kdwYm-&%6ezBx#+AyX z3@T;{bDc_!Yk%!1jlX1a3^)pWDgE&F$vov_Yabi{DdkG#kNah4&atPx2!Y#tivUis zYNtX9kssb|w!PINUl&{krQnD8%a)d*;Bzd?RQXc$vU1&#gif}oUJ6H*jKIJoV-{DN z!dY+v(-2a8khsc=6$=DE6=+NcTw$-`rg)YAiZJ8Ae}7KlIXNEKw%^s10FY6f`G+&& z0lc4#tL@Zg3_%G+B|ua^TTh|#wP%5pqQ_y%DE%tN7OL}=zouk}{~aCQ>UwPr7b-76&p3J{UBft^TUIg}F@PybN*ZIL$(6O6g`f?!1Y z@V$1Wkbg*1Lb%6wlzX|TFYVGU?SGm)6OY21lkrdC`ZO@V%ahXr`KCAp3=|pXi8j4G z2Yf5f0O+h8K+Rb@`jWHy##wow=B#}C=d87w@~FK#D_R~))SVS>4im4VHD~o=W4&@; zx;35EgDlo5ffF(2oYlim>S46$IOwbfh#-dHgn#j)>m^z*R=cr^qYk@5>m5Q0@VU`TS3*(ldZ9!dvy;g394l7%DAUg@FZTRQ0lpIW4K0b!N2LEZ_wtN;p)> z$ax7j!VDKj>uvxK4n`6SaAV*Us;V-@J1a3z`;yxNZ3!y54KM;L(Io7v$pdYIsp(oo z=HtuL=E1(Gjpz_HrqP#39L|5AlDs*FkinT71S_~7r>`;0BCV6tZ<);FHAFt3$omT_ WhX1kbVH&ys0000OV1ZP1_K>z@;j|==^1poj5 zFi=cXMgPT||NsBh)zxBRVh|7z{{a7k)kZ2uc9O!Q~pc0qSJ(8#<8 z5Fn2bfsn(OBkSE&Lw7PzEqc*fi( zp4!iV?SCmb-XdaB!4haOjJdf(4Y_y5I}eskjQ9om^cVX06=&cxR`KwU@+jwsQCE! z(9qCeU|;|M000000000jXHJ#?000SaNLh0L01m?d01m?e$8V@)00007bV*G`2j>O{ z5DN$-3%&{f00F{DL_t(Y$K{nVZo@DPMePCtGRj7RW~>D9Ab&B~-6o=~_i*Pf^>w=U zaHS~Ov12JcK(fTqeywLcE(zM5yNXL=yuox*2NIi1z^8RWtr%D-?Tx8Jy6TKM-*UhAp*gN&s*T!ye=Ee zX9zCsRs0nKRDU(WqUSr+_$b40%J)#UDS+(@U0#6Gf51lpprpfZ0jLvUehPq^JvIfM zQXNY3DureTQ~(q=Duh5&2yjJ-z(b)Q25@okvH_w;#7h=9CLLS{`5Mf zg9Dt$&!)kPt`acZT^{BzPP)2Y(qJKMriNGa_ry!b1h|ei=UefwDNNc?ZYdQ4YzB|4 zK3G3__M+vIl6tIMkg3RzpQfq>AnUi6jIvt6D1ge?J34tnUc$=IVyFfRfI<3P7^^;j}TSWHAEqIZn?OsDnxVGPj#zc%uK$KOUfX U6hLb%kpKVy07*qoM6N<$f(%FifdBvi diff --git a/graphics/pokemon/zubat/backf.png b/graphics/pokemon/zubat/backf.png index 59ad49e138ef6247f720ca1f1da3bb7b4713fae6..616f27f927424b5ef818ef8eeba15ceb79db55f6 100644 GIT binary patch delta 660 zcmV;F0&D%Y1gr&+B!35VNliru=Lib{2^F0=c+UU;02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1poj5 zFi=cXMgPT||NsBh)zxBRVh|7z{{a7k)kZ2uc99gb zpws<;s6c5U0ntaOTaetcuOC>?5M9z${WSzk$NnC#2^iCd6!w=>HEv*71*jeiRrZgz&9R&*E-k+poJC(+yFot6@MkL(n(!cR0SD|y22*l(%@AE zl1Ie%DsWum-i^MRfwo?Ay%62jhd5C+i3cz>0Nw$$9O15Tk*;&;kvD^6hguGuXHOa% zDmehho)wT25&b?(Tya`@_AbN|BY=DAhX}mQpM8(-)~rB&bQq_@yjXM9F34b^&!$Fp z>}`>)<9`ack+bs+@^6WgcGO!6qChryO!h!w3F0O0g425JT<~N#%%79#6krPZB?Dx^ z&k9fio`xGF@+N>k1D|)mJqJtK4)Z*JSu^-u;~zlOx+Oq9uIo7mKs)nO0oJd-oHCQ3 un+ZtIX?k*?izek~t=~Y6i|ij=e*iI&M{Q-0L=8s(0000*<| zta96Xq~~3hhuUF}He+ZS3bYT<-mLOu*&!r&DH1djlxBCwCTHG?hJ z;M!{}7oxrP!B3QZ2&f8x8=#cKtq~^bIu`nHHK=7@%E9w&HEVq#hk&6&2Ixe1zcwqQ zS~|4G`4dBcx$6f7IL?=@gOh9`Fx_1qYBw*kIiKQSfqzY=hF0XyLQDGym;saXE$G+c zCvDHSl<)zP!9y)~+AWT}NWP@F9vc^^8g%nTH7x_EU3$p~Erp#K&~kHrZU8Aq0_-So z+yHA1q_XYidH$A7Z#Rv<0Y27G0BCb5 fDW(_t{}%iQ7c+PgLyP!^00000NkvXXu0mjfnSbm0 diff --git a/graphics/pokemon/zubat/normal.pal b/graphics/pokemon/zubat/normal.pal index 13f001cc13..97a0069731 100644 --- a/graphics/pokemon/zubat/normal.pal +++ b/graphics/pokemon/zubat/normal.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 -16 16 16 -99 123 181 -189 206 255 -140 181 239 -74 66 123 -99 123 181 -181 82 156 -115 33 90 -214 115 189 +90 180 131 255 255 255 -208 208 208 -99 99 99 -0 0 0 -0 0 0 -0 0 0 +213 213 213 +98 98 98 +16 16 16 +255 0 255 +189 205 255 +139 180 238 +98 123 180 +74 65 123 +246 131 222 +213 115 189 +180 82 156 +115 32 90 +255 0 255 +255 0 255 diff --git a/graphics/pokemon/zubat/shiny.pal b/graphics/pokemon/zubat/shiny.pal index 290d12c52a..637983fd78 100644 --- a/graphics/pokemon/zubat/shiny.pal +++ b/graphics/pokemon/zubat/shiny.pal @@ -1,19 +1,19 @@ JASC-PAL 0100 16 -152 208 160 +255 197 156 +255 255 255 +213 213 213 +98 98 98 16 16 16 -64 120 24 -144 200 104 -112 152 56 -8 72 0 -64 120 24 -184 152 112 -120 96 48 -224 200 168 -248 248 248 -208 208 208 -96 96 96 -0 0 0 -0 0 0 -0 0 0 +255 0 255 +131 213 74 +106 156 41 +49 115 0 +8 74 0 +246 131 222 +238 213 156 +189 156 115 +139 115 57 +255 0 255 +255 0 255 diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 309e14e896..825409ec2f 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -64,9 +64,10 @@ static const union AnimCmd sAnim_Charizard_1[] = static const union AnimCmd sAnim_Squirtle_1[] = { - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -80,11 +81,10 @@ static const union AnimCmd sAnim_Wartortle_1[] = static const union AnimCmd sAnim_Blastoise_1[] = { - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; @@ -158,26 +158,19 @@ static const union AnimCmd sAnim_Beedrill_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), - ANIMCMD_FRAME(0, 28), + ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 20), + ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; static const union AnimCmd sAnim_Pidgey_1[] = { - ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; @@ -202,10 +195,10 @@ static const union AnimCmd sAnim_Pidgeot_1[] = static const union AnimCmd sAnim_Rattata_1[] = { - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(1, 50), - ANIMCMD_FRAME(1, 28), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -228,22 +221,10 @@ static const union AnimCmd sAnim_Raticate_1[] = static const union AnimCmd sAnim_Spearow_1[] = { - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 11), + ANIMCMD_FRAME(1, 11), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -393,8 +374,8 @@ static const union AnimCmd sAnim_NidoranM_1[] = static const union AnimCmd sAnim_Nidorino_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 23), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; @@ -418,11 +399,8 @@ static const union AnimCmd sAnim_Clefairy_1[] = static const union AnimCmd sAnim_Clefable_1[] = { - ANIMCMD_FRAME(1, 27), - ANIMCMD_FRAME(0, 27), - ANIMCMD_FRAME(1, 24), - ANIMCMD_FRAME(0, 25), - ANIMCMD_FRAME(1, 27), + ANIMCMD_FRAME(0, 16), + ANIMCMD_FRAME(1, 48), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; @@ -568,10 +546,7 @@ static const union AnimCmd sAnim_Gloom_1[] = static const union AnimCmd sAnim_Vileplume_1[] = { - ANIMCMD_FRAME(0, 50), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(1, 38), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -738,12 +713,13 @@ static const union AnimCmd sAnim_Mankey_1[] = static const union AnimCmd sAnim_Primeape_1[] = { - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 14), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -760,12 +736,8 @@ static const union AnimCmd sAnim_Growlithe_1[] = static const union AnimCmd sAnim_Arcanine_1[] = { - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_FRAME(1, 8), - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 40), - ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 38), + ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; @@ -822,9 +794,7 @@ static const union AnimCmd sAnim_Alakazam_1[] = static const union AnimCmd sAnim_Machop_1[] = { - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(1, 15), - ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -934,7 +904,7 @@ static const union AnimCmd sAnim_Golem_1[] = static const union AnimCmd sAnim_Ponyta_1[] = { - ANIMCMD_FRAME(1, 45), + ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; @@ -957,7 +927,6 @@ static const union AnimCmd sAnim_Slowpoke_1[] = static const union AnimCmd sAnim_Slowbro_1[] = { - ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index eb2786fde0..cabb542e63 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -9,11 +9,11 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = [SPECIES_IVYSAUR] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 9 }, [SPECIES_VENUSAUR] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, [SPECIES_CHARMANDER] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, - [SPECIES_CHARMELEON] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, + [SPECIES_CHARMELEON] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 8 }, [SPECIES_CHARIZARD] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SQUIRTLE] = { .size = MON_COORDS_SIZE(40, 48), .y_offset = 11 }, [SPECIES_WARTORTLE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, - [SPECIES_BLASTOISE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 }, + [SPECIES_BLASTOISE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 4 }, [SPECIES_CATERPIE] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, [SPECIES_METAPOD] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, [SPECIES_BUTTERFREE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 10 }, @@ -47,10 +47,10 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = [SPECIES_WIGGLYTUFF] = { .size = MON_COORDS_SIZE(48, 64), .y_offset = 4 }, [SPECIES_ZUBAT] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 16 }, [SPECIES_GOLBAT] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, - [SPECIES_ODDISH] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 14 }, + [SPECIES_ODDISH] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 15 }, [SPECIES_GLOOM] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, [SPECIES_VILEPLUME] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, - [SPECIES_PARAS] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 14 }, + [SPECIES_PARAS] = { .size = MON_COORDS_SIZE(48, 40), .y_offset = 15 }, [SPECIES_PARASECT] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 7 }, [SPECIES_VENONAT] = { .size = MON_COORDS_SIZE(40, 56), .y_offset = 8 }, [SPECIES_VENOMOTH] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, @@ -62,7 +62,7 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = [SPECIES_GOLDUCK] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_MANKEY] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 11 }, [SPECIES_PRIMEAPE] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 6 }, - [SPECIES_GROWLITHE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 11 }, + [SPECIES_GROWLITHE] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 9 }, [SPECIES_ARCANINE] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, [SPECIES_POLIWAG] = { .size = MON_COORDS_SIZE(64, 40), .y_offset = 13 }, [SPECIES_POLIWHIRL] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 9 }, @@ -70,7 +70,7 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = [SPECIES_ABRA] = { .size = MON_COORDS_SIZE(56, 48), .y_offset = 10 }, [SPECIES_KADABRA] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 5 }, [SPECIES_ALAKAZAM] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 }, - [SPECIES_MACHOP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 10 }, + [SPECIES_MACHOP] = { .size = MON_COORDS_SIZE(48, 48), .y_offset = 8 }, [SPECIES_MACHOKE] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, [SPECIES_MACHAMP] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_BELLSPROUT] = { .size = MON_COORDS_SIZE(40, 40), .y_offset = 12 }, @@ -84,7 +84,7 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = [SPECIES_PONYTA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, [SPECIES_RAPIDASH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SLOWPOKE] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, - [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, + [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, [SPECIES_MAGNEMITE] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 20 }, [SPECIES_MAGNETON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_FARFETCHD] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, diff --git a/src/pokemon.c b/src/pokemon.c index 3ded306791..7e8785687a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1969,7 +1969,7 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_CHARMANDER - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_CHARMELEON - 1] = ANIM_BACK_AND_LUNGE, [SPECIES_CHARIZARD - 1] = ANIM_V_SHAKE, - [SPECIES_SQUIRTLE - 1] = ANIM_V_JUMPS_SMALL, + [SPECIES_SQUIRTLE - 1] = ANIM_V_JUMPS_BIG, [SPECIES_WARTORTLE - 1] = ANIM_SHRINK_GROW, [SPECIES_BLASTOISE - 1] = ANIM_V_SHAKE_TWICE, [SPECIES_CATERPIE - 1] = ANIM_SWING_CONCAVE, @@ -1977,13 +1977,13 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_BUTTERFREE - 1] = ANIM_H_SLIDE_WOBBLE, [SPECIES_WEEDLE - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_KAKUNA - 1] = ANIM_GLOW_ORANGE, - [SPECIES_BEEDRILL - 1] = ANIM_H_VIBRATE, + [SPECIES_BEEDRILL - 1] = ANIM_ZIGZAG_SLOW, [SPECIES_PIDGEY - 1] = ANIM_V_STRETCH, [SPECIES_PIDGEOTTO - 1] = ANIM_V_STRETCH, [SPECIES_PIDGEOT - 1] = ANIM_FRONT_FLIP, - [SPECIES_RATTATA - 1] = ANIM_RAPID_H_HOPS, - [SPECIES_RATICATE - 1] = ANIM_FIGURE_8, - [SPECIES_SPEAROW - 1] = ANIM_H_JUMPS, + [SPECIES_RATTATA - 1] = ANIM_H_JUMPS, + [SPECIES_RATICATE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + [SPECIES_SPEAROW - 1] = ANIM_V_JUMPS_SMALL, [SPECIES_FEAROW - 1] = ANIM_FIGURE_8, [SPECIES_EKANS - 1] = ANIM_V_STRETCH, [SPECIES_ARBOK - 1] = ANIM_V_STRETCH, @@ -1998,16 +1998,16 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_NIDORINO - 1] = ANIM_V_STRETCH, [SPECIES_NIDOKING - 1] = ANIM_H_SHAKE, [SPECIES_CLEFAIRY - 1] = ANIM_V_SQUISH_AND_BOUNCE, - [SPECIES_CLEFABLE - 1] = ANIM_V_STRETCH, + [SPECIES_CLEFABLE - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_VULPIX - 1] = ANIM_V_STRETCH, [SPECIES_NINETALES - 1] = ANIM_GROW_VIBRATE, [SPECIES_JIGGLYPUFF - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, [SPECIES_WIGGLYTUFF - 1] = ANIM_H_JUMPS, [SPECIES_ZUBAT - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GOLBAT - 1] = ANIM_H_SLIDE_WOBBLE, - [SPECIES_ODDISH - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_ODDISH - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_GLOOM - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_VILEPLUME - 1] = ANIM_V_SHAKE_TWICE, + [SPECIES_VILEPLUME - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, [SPECIES_PARAS - 1] = ANIM_H_SLIDE_SLOW, [SPECIES_PARASECT - 1] = ANIM_H_SHAKE, [SPECIES_VENONAT - 1] = ANIM_V_JUMPS_H_JUMPS, @@ -2019,16 +2019,16 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_PSYDUCK - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_GOLDUCK - 1] = ANIM_H_SHAKE_SLOW, [SPECIES_MANKEY - 1] = ANIM_H_JUMPS_V_STRETCH, - [SPECIES_PRIMEAPE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, - [SPECIES_GROWLITHE - 1] = ANIM_BACK_AND_LUNGE, - [SPECIES_ARCANINE - 1] = ANIM_H_SHAKE, + [SPECIES_PRIMEAPE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES, + [SPECIES_GROWLITHE - 1] = ANIM_V_STRETCH, + [SPECIES_ARCANINE - 1] = ANIM_V_SHAKE, [SPECIES_POLIWAG - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_POLIWHIRL - 1] = ANIM_H_JUMPS_V_STRETCH, [SPECIES_POLIWRATH - 1] = ANIM_V_SHAKE_TWICE, - [SPECIES_ABRA - 1] = ANIM_H_JUMPS, + [SPECIES_ABRA - 1] = ANIM_H_VIBRATE, [SPECIES_KADABRA - 1] = ANIM_GROW_VIBRATE, [SPECIES_ALAKAZAM - 1] = ANIM_GROW_VIBRATE, - [SPECIES_MACHOP - 1] = ANIM_V_SQUISH_AND_BOUNCE, + [SPECIES_MACHOP - 1] = ANIM_V_STRETCH, [SPECIES_MACHOKE - 1] = ANIM_V_SHAKE, [SPECIES_MACHAMP - 1] = ANIM_H_JUMPS, [SPECIES_BELLSPROUT - 1] = ANIM_H_JUMPS, @@ -2037,12 +2037,12 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = [SPECIES_TENTACOOL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_TENTACRUEL - 1] = ANIM_V_SQUISH_AND_BOUNCE, [SPECIES_GEODUDE - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, - [SPECIES_GRAVELER - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, + [SPECIES_GRAVELER - 1] = ANIM_V_SHAKE, [SPECIES_GOLEM - 1] = ANIM_ROTATE_UP_SLAM_DOWN, - [SPECIES_PONYTA - 1] = ANIM_GLOW_ORANGE, + [SPECIES_PONYTA - 1] = ANIM_V_SHAKE, [SPECIES_RAPIDASH - 1] = ANIM_H_SHAKE, [SPECIES_SLOWPOKE - 1] = ANIM_V_SQUISH_AND_BOUNCE_SLOW, - [SPECIES_SLOWBRO - 1] = ANIM_GROW_VIBRATE, + [SPECIES_SLOWBRO - 1] = ANIM_H_STRETCH, [SPECIES_MAGNEMITE - 1] = ANIM_TUMBLING_FRONT_FLIP_TWICE, [SPECIES_MAGNETON - 1] = ANIM_FLASH_YELLOW, [SPECIES_FARFETCHD - 1] = ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL, @@ -3041,10 +3041,9 @@ const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = { - [SPECIES_BLASTOISE - 1] = 50, + [SPECIES_BLASTOISE - 1] = 20, [SPECIES_WEEDLE - 1] = 10, [SPECIES_KAKUNA - 1] = 20, - [SPECIES_BEEDRILL - 1] = 35, [SPECIES_PIDGEOTTO - 1] = 25, [SPECIES_FEAROW - 1] = 2, [SPECIES_EKANS - 1] = 30, @@ -3059,9 +3058,10 @@ static const u8 sMonAnimationDelayTable[NUM_SPECIES - 1] = [SPECIES_PERSIAN - 1] = 20, [SPECIES_MANKEY - 1] = 20, [SPECIES_GROWLITHE - 1] = 30, - [SPECIES_ARCANINE - 1] = 40, + [SPECIES_ARCANINE - 1] = 8, [SPECIES_POLIWHIRL - 1] = 5, [SPECIES_WEEPINBELL - 1] = 3, + [SPECIES_PONYTA - 1] = 10, [SPECIES_MUK - 1] = 45, [SPECIES_SHELLDER - 1] = 20, [SPECIES_HAUNTER - 1] = 23, From 74de0ef3ca244f4589785dbf5f1f01edbc46f89f Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Wed, 16 Aug 2023 13:58:31 +1200 Subject: [PATCH 163/256] set background colour --- graphics/pokemon/abra/anim_front.png | Bin 1017 -> 1017 bytes graphics/pokemon/abra/back.png | Bin 672 -> 672 bytes graphics/pokemon/abra/normal.pal | 2 +- graphics/pokemon/abra/shiny.pal | 2 +- graphics/pokemon/alakazam/anim_front.png | Bin 1315 -> 1315 bytes graphics/pokemon/alakazam/anim_frontf.png | Bin 1265 -> 1265 bytes graphics/pokemon/alakazam/back.png | Bin 855 -> 855 bytes graphics/pokemon/alakazam/backf.png | Bin 834 -> 834 bytes graphics/pokemon/alakazam/normal.pal | 2 +- graphics/pokemon/alakazam/shiny.pal | 2 +- graphics/pokemon/arbok/anim_front.png | Bin 1558 -> 1558 bytes graphics/pokemon/arbok/back.png | Bin 561 -> 561 bytes graphics/pokemon/arbok/normal.pal | 2 +- graphics/pokemon/arbok/shiny.pal | 2 +- graphics/pokemon/arcanine/anim_front.png | Bin 1680 -> 1680 bytes graphics/pokemon/arcanine/back.png | Bin 920 -> 920 bytes graphics/pokemon/arcanine/normal.pal | 4 ++-- graphics/pokemon/arcanine/shiny.pal | 2 +- graphics/pokemon/beedrill/anim_front.png | Bin 1340 -> 1340 bytes graphics/pokemon/beedrill/back.png | Bin 994 -> 994 bytes graphics/pokemon/beedrill/normal.pal | 2 +- graphics/pokemon/beedrill/shiny.pal | 2 +- graphics/pokemon/bellsprout/anim_front.png | Bin 919 -> 919 bytes graphics/pokemon/bellsprout/back.png | Bin 622 -> 622 bytes graphics/pokemon/bellsprout/normal.pal | 2 +- graphics/pokemon/bellsprout/shiny.pal | 2 +- graphics/pokemon/blastoise/anim_front.png | Bin 1662 -> 1662 bytes graphics/pokemon/blastoise/back.png | Bin 898 -> 898 bytes graphics/pokemon/blastoise/normal.pal | 2 +- graphics/pokemon/blastoise/shiny.pal | 2 +- graphics/pokemon/bulbasaur/anim_front.png | Bin 1019 -> 1019 bytes graphics/pokemon/bulbasaur/back.png | Bin 647 -> 647 bytes graphics/pokemon/bulbasaur/normal.pal | 2 +- graphics/pokemon/bulbasaur/shiny.pal | 2 +- graphics/pokemon/butterfree/anim_front.png | Bin 1254 -> 1254 bytes graphics/pokemon/butterfree/anim_frontf.png | Bin 1253 -> 1253 bytes graphics/pokemon/butterfree/back.png | Bin 992 -> 992 bytes graphics/pokemon/butterfree/backf.png | Bin 991 -> 991 bytes graphics/pokemon/butterfree/normal.pal | 2 +- graphics/pokemon/butterfree/shiny.pal | 2 +- graphics/pokemon/caterpie/anim_front.png | Bin 810 -> 810 bytes graphics/pokemon/caterpie/back.png | Bin 682 -> 682 bytes graphics/pokemon/caterpie/normal.pal | 2 +- graphics/pokemon/caterpie/shiny.pal | 2 +- graphics/pokemon/charizard/anim_front.png | Bin 1761 -> 1761 bytes graphics/pokemon/charizard/back.png | Bin 875 -> 875 bytes graphics/pokemon/charizard/normal.pal | 2 +- graphics/pokemon/charizard/shiny.pal | 2 +- graphics/pokemon/charmander/anim_front.png | Bin 1027 -> 1027 bytes graphics/pokemon/charmander/back.png | Bin 622 -> 622 bytes graphics/pokemon/charmander/normal.pal | 2 +- graphics/pokemon/charmander/shiny.pal | 2 +- graphics/pokemon/charmeleon/anim_front.png | Bin 1251 -> 1251 bytes graphics/pokemon/charmeleon/back.png | Bin 713 -> 713 bytes graphics/pokemon/charmeleon/normal.pal | 2 +- graphics/pokemon/charmeleon/shiny.pal | 2 +- graphics/pokemon/clefable/anim_front.png | Bin 1080 -> 1080 bytes graphics/pokemon/clefable/back.png | Bin 743 -> 743 bytes graphics/pokemon/clefable/normal.pal | 2 +- graphics/pokemon/clefable/shiny.pal | 2 +- graphics/pokemon/clefairy/anim_front.png | Bin 863 -> 863 bytes graphics/pokemon/clefairy/back.png | Bin 639 -> 639 bytes graphics/pokemon/clefairy/normal.pal | 2 +- graphics/pokemon/clefairy/shiny.pal | 2 +- graphics/pokemon/diglett/anim_front.png | Bin 562 -> 562 bytes graphics/pokemon/diglett/back.png | Bin 379 -> 379 bytes graphics/pokemon/diglett/normal.pal | 2 +- graphics/pokemon/diglett/shiny.pal | 2 +- graphics/pokemon/dugtrio/anim_front.png | Bin 897 -> 897 bytes graphics/pokemon/dugtrio/back.png | Bin 462 -> 462 bytes graphics/pokemon/dugtrio/normal.pal | 2 +- graphics/pokemon/dugtrio/shiny.pal | 2 +- graphics/pokemon/ekans/anim_front.png | Bin 991 -> 991 bytes graphics/pokemon/ekans/back.png | Bin 733 -> 733 bytes graphics/pokemon/ekans/normal.pal | 2 +- graphics/pokemon/ekans/shiny.pal | 2 +- graphics/pokemon/fearow/anim_front.png | Bin 1690 -> 1690 bytes graphics/pokemon/fearow/back.png | Bin 767 -> 767 bytes graphics/pokemon/fearow/normal.pal | 2 +- graphics/pokemon/fearow/shiny.pal | 2 +- graphics/pokemon/geodude/anim_front.png | Bin 890 -> 890 bytes graphics/pokemon/geodude/back.png | Bin 650 -> 650 bytes graphics/pokemon/geodude/normal.pal | 2 +- graphics/pokemon/geodude/shiny.pal | 2 +- graphics/pokemon/gloom/anim_front.png | Bin 1114 -> 1114 bytes graphics/pokemon/gloom/anim_frontf.png | Bin 1108 -> 1108 bytes graphics/pokemon/gloom/back.png | Bin 793 -> 793 bytes graphics/pokemon/gloom/backf.png | Bin 777 -> 777 bytes graphics/pokemon/gloom/normal.pal | 2 +- graphics/pokemon/gloom/shiny.pal | 2 +- graphics/pokemon/golbat/anim_front.png | Bin 1334 -> 1334 bytes graphics/pokemon/golbat/anim_frontf.png | Bin 1325 -> 1325 bytes graphics/pokemon/golbat/back.png | Bin 650 -> 650 bytes graphics/pokemon/golbat/backf.png | Bin 647 -> 647 bytes graphics/pokemon/golbat/normal.pal | 2 +- graphics/pokemon/golbat/shiny.pal | 2 +- graphics/pokemon/golduck/anim_front.png | Bin 1349 -> 1349 bytes graphics/pokemon/golduck/back.png | Bin 769 -> 769 bytes graphics/pokemon/golduck/normal.pal | 2 +- graphics/pokemon/golduck/shiny.pal | 2 +- graphics/pokemon/golem/anim_front.png | Bin 1408 -> 1408 bytes graphics/pokemon/golem/back.png | Bin 732 -> 732 bytes graphics/pokemon/golem/normal.pal | 2 +- graphics/pokemon/golem/shiny.pal | 2 +- graphics/pokemon/graveler/anim_front.png | Bin 1403 -> 1403 bytes graphics/pokemon/graveler/back.png | Bin 672 -> 672 bytes graphics/pokemon/graveler/normal.pal | 2 +- graphics/pokemon/graveler/shiny.pal | 2 +- graphics/pokemon/growlithe/anim_front.png | Bin 954 -> 954 bytes graphics/pokemon/growlithe/back.png | Bin 679 -> 679 bytes graphics/pokemon/growlithe/normal.pal | 2 +- graphics/pokemon/growlithe/shiny.pal | 2 +- graphics/pokemon/ivysaur/anim_front.png | Bin 1273 -> 1273 bytes graphics/pokemon/ivysaur/back.png | Bin 826 -> 826 bytes graphics/pokemon/ivysaur/normal.pal | 2 +- graphics/pokemon/ivysaur/shiny.pal | 2 +- graphics/pokemon/jigglypuff/anim_front.png | Bin 734 -> 734 bytes graphics/pokemon/jigglypuff/back.png | Bin 518 -> 518 bytes graphics/pokemon/jigglypuff/normal.pal | 2 +- graphics/pokemon/jigglypuff/shiny.pal | 2 +- graphics/pokemon/kadabra/anim_front.png | Bin 1402 -> 1402 bytes graphics/pokemon/kadabra/anim_frontf.png | Bin 1389 -> 1389 bytes graphics/pokemon/kadabra/back.png | Bin 899 -> 899 bytes graphics/pokemon/kadabra/backf.png | Bin 890 -> 890 bytes graphics/pokemon/kadabra/normal.pal | 2 +- graphics/pokemon/kadabra/shiny.pal | 2 +- graphics/pokemon/kakuna/anim_front.png | Bin 794 -> 794 bytes graphics/pokemon/kakuna/back.png | Bin 563 -> 563 bytes graphics/pokemon/kakuna/normal.pal | 2 +- graphics/pokemon/kakuna/shiny.pal | 2 +- graphics/pokemon/machamp/anim_front.png | Bin 1599 -> 1599 bytes graphics/pokemon/machamp/back.png | Bin 925 -> 925 bytes graphics/pokemon/machamp/normal.pal | 2 +- graphics/pokemon/machamp/shiny.pal | 2 +- graphics/pokemon/machoke/anim_front.png | Bin 1475 -> 1475 bytes graphics/pokemon/machoke/back.png | Bin 722 -> 722 bytes graphics/pokemon/machoke/normal.pal | 2 +- graphics/pokemon/machoke/shiny.pal | 2 +- graphics/pokemon/machop/anim_front.png | Bin 801 -> 801 bytes graphics/pokemon/machop/back.png | Bin 678 -> 678 bytes graphics/pokemon/machop/normal.pal | 2 +- graphics/pokemon/machop/shiny.pal | 2 +- graphics/pokemon/mankey/anim_front.png | Bin 1038 -> 1038 bytes graphics/pokemon/mankey/back.png | Bin 710 -> 710 bytes graphics/pokemon/mankey/normal.pal | 2 +- graphics/pokemon/mankey/shiny.pal | 2 +- graphics/pokemon/meowth/anim_front.png | Bin 976 -> 976 bytes graphics/pokemon/meowth/back.png | Bin 783 -> 783 bytes graphics/pokemon/meowth/normal.pal | 2 +- graphics/pokemon/meowth/shiny.pal | 2 +- graphics/pokemon/metapod/anim_front.png | Bin 680 -> 680 bytes graphics/pokemon/metapod/back.png | Bin 539 -> 539 bytes graphics/pokemon/metapod/normal.pal | 2 +- graphics/pokemon/metapod/shiny.pal | 2 +- graphics/pokemon/nidoking/anim_front.png | Bin 1880 -> 1880 bytes graphics/pokemon/nidoking/back.png | Bin 835 -> 835 bytes graphics/pokemon/nidoking/normal.pal | 2 +- graphics/pokemon/nidoking/shiny.pal | 2 +- graphics/pokemon/nidoqueen/anim_front.png | Bin 1525 -> 1525 bytes graphics/pokemon/nidoqueen/back.png | Bin 775 -> 775 bytes graphics/pokemon/nidoqueen/normal.pal | 2 +- graphics/pokemon/nidoqueen/shiny.pal | 2 +- graphics/pokemon/nidoran_f/anim_front.png | Bin 868 -> 868 bytes graphics/pokemon/nidoran_f/back.png | Bin 661 -> 661 bytes graphics/pokemon/nidoran_f/normal.pal | 2 +- graphics/pokemon/nidoran_f/shiny.pal | 2 +- graphics/pokemon/nidoran_m/anim_front.png | Bin 786 -> 786 bytes graphics/pokemon/nidoran_m/back.png | Bin 662 -> 662 bytes graphics/pokemon/nidoran_m/normal.pal | 2 +- graphics/pokemon/nidoran_m/shiny.pal | 2 +- graphics/pokemon/nidorina/anim_front.png | Bin 1040 -> 1040 bytes graphics/pokemon/nidorina/back.png | Bin 820 -> 820 bytes graphics/pokemon/nidorina/normal.pal | 2 +- graphics/pokemon/nidorina/shiny.pal | 2 +- graphics/pokemon/nidorino/anim_front.png | Bin 1029 -> 1029 bytes graphics/pokemon/nidorino/back.png | Bin 796 -> 796 bytes graphics/pokemon/nidorino/normal.pal | 2 +- graphics/pokemon/nidorino/shiny.pal | 2 +- graphics/pokemon/ninetales/anim_front.png | Bin 1356 -> 1356 bytes graphics/pokemon/ninetales/back.png | Bin 698 -> 698 bytes graphics/pokemon/ninetales/normal.pal | 2 +- graphics/pokemon/ninetales/shiny.pal | 2 +- graphics/pokemon/oddish/anim_front.png | Bin 628 -> 628 bytes graphics/pokemon/oddish/back.png | Bin 628 -> 628 bytes graphics/pokemon/oddish/normal.pal | 2 +- graphics/pokemon/oddish/shiny.pal | 2 +- graphics/pokemon/paras/anim_front.png | Bin 972 -> 972 bytes graphics/pokemon/paras/back.png | Bin 651 -> 651 bytes graphics/pokemon/paras/normal.pal | 2 +- graphics/pokemon/paras/shiny.pal | 2 +- graphics/pokemon/parasect/anim_front.png | Bin 1041 -> 1041 bytes graphics/pokemon/parasect/back.png | Bin 577 -> 577 bytes graphics/pokemon/parasect/normal.pal | 2 +- graphics/pokemon/parasect/shiny.pal | 2 +- graphics/pokemon/persian/anim_front.png | Bin 1391 -> 1391 bytes graphics/pokemon/persian/back.png | Bin 728 -> 728 bytes graphics/pokemon/persian/normal.pal | 2 +- graphics/pokemon/persian/shiny.pal | 2 +- graphics/pokemon/pidgeot/anim_front.png | Bin 1465 -> 1465 bytes graphics/pokemon/pidgeot/back.png | Bin 885 -> 885 bytes graphics/pokemon/pidgeot/normal.pal | 2 +- graphics/pokemon/pidgeot/shiny.pal | 2 +- graphics/pokemon/pidgeotto/anim_front.png | Bin 1203 -> 1203 bytes graphics/pokemon/pidgeotto/back.png | Bin 878 -> 878 bytes graphics/pokemon/pidgeotto/normal.pal | 2 +- graphics/pokemon/pidgeotto/shiny.pal | 2 +- graphics/pokemon/pidgey/anim_front.png | Bin 1091 -> 1091 bytes graphics/pokemon/pidgey/back.png | Bin 728 -> 728 bytes graphics/pokemon/pidgey/normal.pal | 2 +- graphics/pokemon/pidgey/shiny.pal | 2 +- graphics/pokemon/pikachu/anim_front.png | Bin 1061 -> 1061 bytes graphics/pokemon/pikachu/anim_frontf.png | Bin 1066 -> 1066 bytes graphics/pokemon/pikachu/back.png | Bin 727 -> 727 bytes graphics/pokemon/pikachu/backf.png | Bin 735 -> 735 bytes graphics/pokemon/pikachu/normal.pal | 2 +- graphics/pokemon/pikachu/shiny.pal | 2 +- graphics/pokemon/poliwag/anim_front.png | Bin 883 -> 883 bytes graphics/pokemon/poliwag/back.png | Bin 441 -> 441 bytes graphics/pokemon/poliwag/normal.pal | 2 +- graphics/pokemon/poliwag/shiny.pal | 2 +- graphics/pokemon/poliwhirl/anim_front.png | Bin 1160 -> 1160 bytes graphics/pokemon/poliwhirl/back.png | Bin 597 -> 597 bytes graphics/pokemon/poliwhirl/normal.pal | 2 +- graphics/pokemon/poliwhirl/shiny.pal | 2 +- graphics/pokemon/poliwrath/anim_front.png | Bin 1348 -> 1348 bytes graphics/pokemon/poliwrath/back.png | Bin 729 -> 729 bytes graphics/pokemon/poliwrath/normal.pal | 2 +- graphics/pokemon/poliwrath/shiny.pal | 2 +- graphics/pokemon/ponyta/anim_front.png | Bin 1183 -> 1183 bytes graphics/pokemon/ponyta/back.png | Bin 806 -> 806 bytes graphics/pokemon/ponyta/normal.pal | 2 +- graphics/pokemon/ponyta/shiny.pal | 2 +- graphics/pokemon/primeape/anim_front.png | Bin 1385 -> 1385 bytes graphics/pokemon/primeape/back.png | Bin 741 -> 741 bytes graphics/pokemon/primeape/normal.pal | 2 +- graphics/pokemon/primeape/shiny.pal | 2 +- graphics/pokemon/psyduck/anim_front.png | Bin 867 -> 867 bytes graphics/pokemon/psyduck/back.png | Bin 557 -> 557 bytes graphics/pokemon/psyduck/normal.pal | 2 +- graphics/pokemon/psyduck/shiny.pal | 2 +- graphics/pokemon/raichu/anim_front.png | Bin 1515 -> 1515 bytes graphics/pokemon/raichu/anim_frontf.png | Bin 1510 -> 1510 bytes graphics/pokemon/raichu/back.png | Bin 722 -> 722 bytes graphics/pokemon/raichu/normal.pal | 2 +- graphics/pokemon/raichu/shiny.pal | 2 +- graphics/pokemon/rapidash/anim_front.png | Bin 1807 -> 1807 bytes graphics/pokemon/rapidash/back.png | Bin 893 -> 893 bytes graphics/pokemon/rapidash/normal.pal | 2 +- graphics/pokemon/rapidash/shiny.pal | 2 +- graphics/pokemon/raticate/anim_front.png | Bin 1271 -> 1271 bytes graphics/pokemon/raticate/anim_frontf.png | Bin 1244 -> 1244 bytes graphics/pokemon/raticate/back.png | Bin 842 -> 842 bytes graphics/pokemon/raticate/backf.png | Bin 838 -> 838 bytes graphics/pokemon/raticate/normal.pal | 2 +- graphics/pokemon/raticate/shiny.pal | 2 +- graphics/pokemon/rattata/anim_front.png | Bin 886 -> 886 bytes graphics/pokemon/rattata/anim_frontf.png | Bin 882 -> 882 bytes graphics/pokemon/rattata/back.png | Bin 650 -> 650 bytes graphics/pokemon/rattata/backf.png | Bin 642 -> 642 bytes graphics/pokemon/rattata/normal.pal | 2 +- graphics/pokemon/rattata/shiny.pal | 2 +- graphics/pokemon/sandshrew/anim_front.png | Bin 896 -> 896 bytes graphics/pokemon/sandshrew/back.png | Bin 711 -> 711 bytes graphics/pokemon/sandshrew/normal.pal | 2 +- graphics/pokemon/sandshrew/shiny.pal | 2 +- graphics/pokemon/sandslash/anim_front.png | Bin 1319 -> 1319 bytes graphics/pokemon/sandslash/back.png | Bin 874 -> 874 bytes graphics/pokemon/sandslash/normal.pal | 2 +- graphics/pokemon/sandslash/shiny.pal | 2 +- graphics/pokemon/slowbro/anim_front.png | Bin 1412 -> 1412 bytes graphics/pokemon/slowbro/back.png | Bin 811 -> 811 bytes graphics/pokemon/slowbro/normal.pal | 2 +- graphics/pokemon/slowbro/shiny.pal | 2 +- graphics/pokemon/slowpoke/anim_front.png | Bin 1016 -> 1016 bytes graphics/pokemon/slowpoke/back.png | Bin 607 -> 607 bytes graphics/pokemon/slowpoke/normal.pal | 2 +- graphics/pokemon/slowpoke/shiny.pal | 2 +- graphics/pokemon/spearow/anim_front.png | Bin 954 -> 954 bytes graphics/pokemon/spearow/back.png | Bin 808 -> 808 bytes graphics/pokemon/spearow/normal.pal | 2 +- graphics/pokemon/spearow/shiny.pal | 2 +- graphics/pokemon/squirtle/anim_front.png | Bin 1006 -> 1006 bytes graphics/pokemon/squirtle/back.png | Bin 682 -> 682 bytes graphics/pokemon/squirtle/normal.pal | 2 +- graphics/pokemon/squirtle/shiny.pal | 2 +- graphics/pokemon/tentacool/anim_front.png | Bin 956 -> 956 bytes graphics/pokemon/tentacool/back.png | Bin 735 -> 735 bytes graphics/pokemon/tentacool/normal.pal | 2 +- graphics/pokemon/tentacool/shiny.pal | 2 +- graphics/pokemon/tentacruel/anim_front.png | Bin 1508 -> 1508 bytes graphics/pokemon/tentacruel/back.png | Bin 766 -> 766 bytes graphics/pokemon/tentacruel/normal.pal | 2 +- graphics/pokemon/tentacruel/shiny.pal | 2 +- graphics/pokemon/venomoth/anim_front.png | Bin 1190 -> 1190 bytes graphics/pokemon/venomoth/back.png | Bin 864 -> 864 bytes graphics/pokemon/venomoth/normal.pal | 2 +- graphics/pokemon/venomoth/shiny.pal | 2 +- graphics/pokemon/venonat/anim_front.png | Bin 1175 -> 1175 bytes graphics/pokemon/venonat/back.png | Bin 716 -> 716 bytes graphics/pokemon/venonat/normal.pal | 2 +- graphics/pokemon/venonat/shiny.pal | 2 +- graphics/pokemon/venusaur/anim_front.png | Bin 2069 -> 2069 bytes graphics/pokemon/venusaur/anim_frontf.png | Bin 2094 -> 2094 bytes graphics/pokemon/venusaur/back.png | Bin 1006 -> 1006 bytes graphics/pokemon/venusaur/backf.png | Bin 1013 -> 1013 bytes graphics/pokemon/venusaur/normal.pal | 2 +- graphics/pokemon/venusaur/shiny.pal | 2 +- graphics/pokemon/victreebel/anim_front.png | Bin 1508 -> 1508 bytes graphics/pokemon/victreebel/back.png | Bin 813 -> 813 bytes graphics/pokemon/victreebel/normal.pal | 2 +- graphics/pokemon/victreebel/shiny.pal | 2 +- graphics/pokemon/vileplume/anim_front.png | Bin 967 -> 967 bytes graphics/pokemon/vileplume/anim_frontf.png | Bin 1038 -> 1038 bytes graphics/pokemon/vileplume/back.png | Bin 893 -> 893 bytes graphics/pokemon/vileplume/backf.png | Bin 912 -> 912 bytes graphics/pokemon/vileplume/normal.pal | 2 +- graphics/pokemon/vileplume/shiny.pal | 2 +- graphics/pokemon/vulpix/anim_front.png | Bin 1048 -> 1048 bytes graphics/pokemon/vulpix/back.png | Bin 743 -> 743 bytes graphics/pokemon/vulpix/normal.pal | 2 +- graphics/pokemon/vulpix/shiny.pal | 2 +- graphics/pokemon/wartortle/anim_front.png | Bin 1200 -> 1200 bytes graphics/pokemon/wartortle/back.png | Bin 864 -> 864 bytes graphics/pokemon/wartortle/normal.pal | 2 +- graphics/pokemon/wartortle/shiny.pal | 2 +- graphics/pokemon/weedle/anim_front.png | Bin 755 -> 755 bytes graphics/pokemon/weedle/back.png | Bin 654 -> 654 bytes graphics/pokemon/weedle/normal.pal | 2 +- graphics/pokemon/weedle/shiny.pal | 2 +- graphics/pokemon/weepinbell/anim_front.png | Bin 1066 -> 1066 bytes graphics/pokemon/weepinbell/back.png | Bin 653 -> 653 bytes graphics/pokemon/weepinbell/normal.pal | 2 +- graphics/pokemon/weepinbell/shiny.pal | 2 +- graphics/pokemon/wigglytuff/anim_front.png | Bin 1048 -> 1048 bytes graphics/pokemon/wigglytuff/back.png | Bin 670 -> 670 bytes graphics/pokemon/wigglytuff/normal.pal | 2 +- graphics/pokemon/wigglytuff/shiny.pal | 2 +- graphics/pokemon/zubat/anim_front.png | Bin 1040 -> 1040 bytes graphics/pokemon/zubat/anim_frontf.png | Bin 1035 -> 1035 bytes graphics/pokemon/zubat/back.png | Bin 682 -> 682 bytes graphics/pokemon/zubat/backf.png | Bin 684 -> 684 bytes graphics/pokemon/zubat/normal.pal | 2 +- graphics/pokemon/zubat/shiny.pal | 2 +- .../pokemon_graphics/enemy_mon_elevation.h | 2 +- 344 files changed, 162 insertions(+), 162 deletions(-) diff --git a/graphics/pokemon/abra/anim_front.png b/graphics/pokemon/abra/anim_front.png index d144aef1754ec7f8dd1f7da508ee9f6a88de3add..a87da90e0f5d63a8841913895479bf03f553ddd1 100644 GIT binary patch delta 47 zcmV+~0MP&W2l)q(EC>(*5&|&9<_wWEPXn0Hppk|x5!ab$mjD0&0b)x>L;#2d9Z0dn FH3NrK4~qZ* delta 47 zcmV+~0MP&W2l)q(EC>w>7$w06+fI=*PXj^4dy$4M5fb9-cmMzZ0b)x>ME|7+^2M>l FH3N^z5taY| diff --git a/graphics/pokemon/abra/back.png b/graphics/pokemon/abra/back.png index 0a11090d85622a737c02c05cda304d6da312fe69..7468d8f80ed47b834f0edea3e587902fa7497cbd 100644 GIT binary patch delta 47 zcmV+~0MP%S1)v3xEC>(*5(hx85`&R6PXn0Hppk|x5yi;|od5s;0b)x>L;#2d9Z0dn F+yPdV4&ML( delta 47 zcmZ3$x`1_p4hJunBwxt_VgHFH{>(E9kmo8Uqk8CV9KN{9nrc>FCBIcNhV5 Cei4xX diff --git a/graphics/pokemon/abra/normal.pal b/graphics/pokemon/abra/normal.pal index c461cd43bd..b8ef761d35 100644 --- a/graphics/pokemon/abra/normal.pal +++ b/graphics/pokemon/abra/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -65 197 123 +152 208 160 255 0 255 255 0 255 255 0 255 diff --git a/graphics/pokemon/abra/shiny.pal b/graphics/pokemon/abra/shiny.pal index 214faed2e7..e72eec2b44 100644 --- a/graphics/pokemon/abra/shiny.pal +++ b/graphics/pokemon/abra/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -246 246 246 +152 208 160 255 0 255 255 0 255 255 0 255 diff --git a/graphics/pokemon/alakazam/anim_front.png b/graphics/pokemon/alakazam/anim_front.png index ccc040e0da9d4132061b2e1a0200fafa701e1cad..0bbc07a98256d316fdc9dd4d7abc808eece0c096 100644 GIT binary patch delta 47 zcmZ3?wU}#y4u=4vkQQs9-?xb-{>(EjEST7)D;Rh5j6DMb17ni6y9+}HtE|VyBk?Q% DV(Sje delta 47 zcmZ3?wU}#y4hJunma0y9zx_lLf99mC-4ok%1(EjEST7)D;Rh5j6DMb17ni6y9+}HtE|VyBf2aA DdCw0N delta 47 zcmey!`H^#i4hJuny2Qbady^-c_%kP6?Vi}CD`>{4$;-gNz?kIi?lPn7BAeaDBf2aA De(*5;XsQbCr=aPXn0Hppk|x5uySLtN;K20b)x>L;#2d9Z0dn FlLCVO4_*KO delta 47 zcmV+~0MP%}2G<6VEC>w>DjJ#*q5_dLPXp%W=8=Xi5&!p7QUCw|0b)x>ME|7+^2M>l FlLD6#5{Cc) diff --git a/graphics/pokemon/alakazam/backf.png b/graphics/pokemon/alakazam/backf.png index 8efd28e071744bfd619f8929352373e0c649d849..9e727e6520bf9dd98201cc839eec6b5eae4d0d42 100644 GIT binary patch delta 47 zcmX@ac8G0)4u=4vkd?%-xJeUD{F!H5STM0oS8x#%*BS-}2F4_BcNc~ZR#}gYN9vdW DVpa}r delta 47 zcmV+~0MP%!2EqoAEC>w>Dhh|DvSyJqPXp%W=8=Xi5&!p7QUCw|0b)x>ME|7+^2M>l Fegdt-6D|M% diff --git a/graphics/pokemon/alakazam/normal.pal b/graphics/pokemon/alakazam/normal.pal index 87a3cd5beb..3ec4f421c7 100644 --- a/graphics/pokemon/alakazam/normal.pal +++ b/graphics/pokemon/alakazam/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 213 139 +152 208 160 255 255 255 222 222 222 180 180 180 diff --git a/graphics/pokemon/alakazam/shiny.pal b/graphics/pokemon/alakazam/shiny.pal index 277b7d3846..9fcc9ad865 100644 --- a/graphics/pokemon/alakazam/shiny.pal +++ b/graphics/pokemon/alakazam/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -230 230 230 +152 208 160 255 255 255 222 222 222 180 180 180 diff --git a/graphics/pokemon/arbok/anim_front.png b/graphics/pokemon/arbok/anim_front.png index f4cee5e4e85e1df195d128a4e0e93f4ff8bef717..ba158f864100b9e6e60493ae63787dd4e8852d27 100644 GIT binary patch delta 47 zcmV+~0MP%I43-R#EC>(*0w|%qJ&TbvPXn0Hppk|x5&lMAd%0I}@?Q FQU!5{5C#AM delta 47 zcmbQnGmU404hKJ*m{Glp(~F5F{>)deZkgDoD|mKy%Nqs;2F4_BcNc~ZR#}gYM}k-Z DfiMsZ diff --git a/graphics/pokemon/arbok/back.png b/graphics/pokemon/arbok/back.png index f2a988e250cdb6873c4766542888ec513ebe6397..b0da328c65e81d7a34e233813da5eefff9decda9 100644 GIT binary patch delta 47 zcmV+~0MP%j1hE8=EC>(*0xn42n7)xTPXn0Hppk|x5k4J_KL7v#0b)x>MAd%0I}@?Q FZ2@+F5C8xG delta 47 zcmV+~0MP%j1hE8=EC>n$4GmDk{GpLFPXpD}w2_7_5e@NK@&Et;0b)x>L;#2d9Z0dn FZ2^ol5GDWs diff --git a/graphics/pokemon/arbok/normal.pal b/graphics/pokemon/arbok/normal.pal index ce147fd945..6a516dc3df 100644 --- a/graphics/pokemon/arbok/normal.pal +++ b/graphics/pokemon/arbok/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 172 131 197 180 0 246 115 74 diff --git a/graphics/pokemon/arbok/shiny.pal b/graphics/pokemon/arbok/shiny.pal index 12eec5f06d..df9c4848a0 100644 --- a/graphics/pokemon/arbok/shiny.pal +++ b/graphics/pokemon/arbok/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 172 131 238 222 24 240 112 72 diff --git a/graphics/pokemon/arcanine/anim_front.png b/graphics/pokemon/arcanine/anim_front.png index 8171cd33eead7afb6d0068e950e1162ee0062325..a7b1f4146666c9b161de6356e2f630fb4dd7bb6e 100644 GIT binary patch delta 47 zcmbQhJArqC4u=4vfOOhS9lwbt{>(EjEST7)EBJ7Rt~&z*17ni6y9+}HtE|VyBWG9v DPw)7AnB%(B6?WPXl7bl#zxl5!H{?_5c6?0b)x>ME|7+^2M>l F%muTU6W#y- diff --git a/graphics/pokemon/arcanine/back.png b/graphics/pokemon/arcanine/back.png index 6c6d2e19dfd8fc4f8e313c788af54c6dfcbc671c..98291f4044ac1817d5f7e49777883b80ca8ee1bb 100644 GIT binary patch delta 47 zcmV+~0MP%K2bc$tEC>(*5FwzI_56`EPXn0Hppk|x5g4Rsx&QzG0b)x>L;#2d9Z0dn F)B=ah5HkP( delta 47 zcmV+~0MP%K2bc$tEC>w)7AnB%(B6?WPXp%W=8=Xi5k*lkL;wH)0b)x>ME|7+^2M>l F)B>eY61o5Y diff --git a/graphics/pokemon/arcanine/normal.pal b/graphics/pokemon/arcanine/normal.pal index b6921dfec8..df6d4b38fe 100644 --- a/graphics/pokemon/arcanine/normal.pal +++ b/graphics/pokemon/arcanine/normal.pal @@ -1,14 +1,14 @@ JASC-PAL 0100 16 -98 197 148 +152 208 160 255 255 246 222 222 213 131 106 98 255 98 65 197 49 32 152 120 72 -239 225 185 +255 255 197 224 200 152 192 160 112 104 80 40 diff --git a/graphics/pokemon/arcanine/shiny.pal b/graphics/pokemon/arcanine/shiny.pal index 8ae34367c5..b557f4e96c 100644 --- a/graphics/pokemon/arcanine/shiny.pal +++ b/graphics/pokemon/arcanine/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -230 230 230 +152 208 160 255 255 246 222 222 213 131 106 98 diff --git a/graphics/pokemon/beedrill/anim_front.png b/graphics/pokemon/beedrill/anim_front.png index 7a4a1080f6741240093fdf9fce113997e72987b4..455257149fa6c8d453db3b4f6b40f78faa0e93a0 100644 GIT binary patch delta 47 zcmdnPwTEkh4u=4PmG1E_`4baO{F!H5STM0oSI|*IyOM!{ficP3-G!lpRn}wUkqQ<7 DZd4AP delta 47 zcmV+~0MP%u3cL!CEC>h(GY?bBjF6EuPXl|jL6L?n5iZ~dW&i*H0b)x>ME|7+^2M>l Fcm#6X5WWBa diff --git a/graphics/pokemon/beedrill/back.png b/graphics/pokemon/beedrill/back.png index 22ccae11d7027ad2875f30e7e6599ca6e15ff617..c12e9634dc23d3b077d79374aa907e2540f62161 100644 GIT binary patch delta 47 zcmV+~0MP&92jT~iEC>()Iy9rL;#2d9Z0dn F9s{1+5J><4 delta 47 zcmV+~0MP&92jT~iEC>h(GC757C`gesPXq4my^)435h%mC!vFvP0b)x>ME|7+^2M>l F9s`(g5)J?W diff --git a/graphics/pokemon/beedrill/normal.pal b/graphics/pokemon/beedrill/normal.pal index ff1e655a36..c04b1878fc 100644 --- a/graphics/pokemon/beedrill/normal.pal +++ b/graphics/pokemon/beedrill/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -123 180 65 +152 208 160 255 255 255 255 246 164 255 205 74 diff --git a/graphics/pokemon/beedrill/shiny.pal b/graphics/pokemon/beedrill/shiny.pal index 47bc36640d..0ab1e32cdc 100644 --- a/graphics/pokemon/beedrill/shiny.pal +++ b/graphics/pokemon/beedrill/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -238 238 189 +152 208 160 255 255 255 230 255 189 189 238 0 diff --git a/graphics/pokemon/bellsprout/anim_front.png b/graphics/pokemon/bellsprout/anim_front.png index f3f36cd7c7037a8642c41a8cb70fe474af830c0d..977c1072e466ca2d0ed0b7f6921623853fbf58ba 100644 GIT binary patch delta 47 zcmbQvKAnAn4u=4v2)De`PrZpI{>(EjEST7)D<~+?F2KORz?kIi?!wT)D(kWF$Ymw~ DH;WBg delta 47 zcmV+~0MP%J2bTwsEC>w@8ad;=nK6+xPXk)btdWK-5qR%CYXATM0b)x>ME|7+^2M>l F(*lN&5()qS diff --git a/graphics/pokemon/bellsprout/back.png b/graphics/pokemon/bellsprout/back.png index 099f435b5bc2cfcedf038687bfb3beb1d513d343..8385882c2b0a578e8d345265e001a8ff37815048 100644 GIT binary patch delta 47 zcmaFI@{VPK4u=4vh~OgyhLDLS{>(EjEST7)E4V}7){TLIficP3-G!lpRn}wUkyVTU DUsDcV delta 47 zcmV+~0MP&L1nvZoEC>w@8ajHk$cvFQPXo=~?vaKq5t!xAb^rhX0b)x>ME|7+^2M>l FssYIO6d3>j diff --git a/graphics/pokemon/bellsprout/normal.pal b/graphics/pokemon/bellsprout/normal.pal index 4706c0939d..9b3ed27b77 100644 --- a/graphics/pokemon/bellsprout/normal.pal +++ b/graphics/pokemon/bellsprout/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -90 205 172 +152 208 160 0 0 0 90 57 0 148 106 65 diff --git a/graphics/pokemon/bellsprout/shiny.pal b/graphics/pokemon/bellsprout/shiny.pal index 8688397c0d..366527e0c8 100644 --- a/graphics/pokemon/bellsprout/shiny.pal +++ b/graphics/pokemon/bellsprout/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 90 57 0 148 106 65 diff --git a/graphics/pokemon/blastoise/anim_front.png b/graphics/pokemon/blastoise/anim_front.png index 09e58be54077234f3a986c5daf95e5513775950d..7b5d21f78322d881f531c17d551ed62cf8efb43e 100644 GIT binary patch delta 47 zcmV+~0MP&b4E_v|EC>()I1eD)Jg$*6PXn0Hppk|x5vN}!(f|Me0b)x>L;#2d9Z0dn Fx&?`959a^? delta 47 zcmeyz^N(kO4hI*bw1`$&{QHR}{>+YBEGM?<3R++GVPjxmU`+CMcX8~zm*cnb$Szg@ DZGjKU diff --git a/graphics/pokemon/blastoise/back.png b/graphics/pokemon/blastoise/back.png index 0ef5344ea756e811e1d20f746072309a0c69f6d8..789054bbb3d4d7ce326fcce595cfebbf5e1d7133 100644 GIT binary patch delta 47 zcmZo-Z(^UI!y&+6A#S{3$&ZO9{>(EjEST7)EBGbN(*87k(5mpzd*PXn0Hppk|x5mM3{Eb20pRG FHv^p$5b6K` delta 47 zcmV+~0MP&Y2m1$*EC>e(1sdcuu4R!lPXoZH$dQIE5$sYf)c^nh0b)x>M8Fea-}te_ FHv^#e5%K^4 diff --git a/graphics/pokemon/bulbasaur/back.png b/graphics/pokemon/bulbasaur/back.png index 7783f5b225caac1a04f6325fab694c931fc3b3ef..64342c73363b3e540d959b7d2aec5210ef25a7d3 100644 GIT binary patch delta 47 zcmV+~0MP%31&0NYEC>(*884RaW3rJnPXn0Hppk|x5$?hD0{{R30b)x>M3{Eb20pRG F!vT#r5r6;y delta 47 zcmZo?ZD*aJ!@EXA delta 47 zcmaFH`HXXd4hIK2yYcaU<_8l^{F#%wvnICb3aV>}_%SdrFeZ7syZm3u{^{t(BT6g) DZDtS8 diff --git a/graphics/pokemon/butterfree/anim_frontf.png b/graphics/pokemon/butterfree/anim_frontf.png index 5f7d1263a1fcb4227cb31d34e61b95620518c3dd..4421e6bf2cd8addce3408c9a7ae052b0435cccef 100644 GIT binary patch delta 47 zcmaFL`IK{l4u=4PrBaPV;H-%z{>(EjEST7)E9hc=m7RfsficP3-G!lpRn}wU5k(dN DX5}_%SdrFeZ7syZm3u{^{t(BZ@2l DZ3qv{ diff --git a/graphics/pokemon/butterfree/back.png b/graphics/pokemon/butterfree/back.png index c526bcf27600e15f549745e51cc4dd79f3c25d31..4144933fc35f8de1f466a2e951c563353a091936 100644 GIT binary patch delta 47 zcmV+~0MP&72jB;gEC>()IV_u?e4UXrPXn0Hppk|x5!?NA?EnA(0b)x>L;#2d9Z0dn F90RAU5Xb-k delta 47 zcmV+~0MP&72jB;gEC>h(1_Ss_0u7NgPXl6$YLSL55xC;DqyPW_0b)x>ME|7+^2M>l F90PJ(5aa*= diff --git a/graphics/pokemon/butterfree/backf.png b/graphics/pokemon/butterfree/backf.png index a6dfbb32062c10843226ca93952c10bff9678160..3dd9924f7cc52b81d5552e5db8c7fbe7930fe62c 100644 GIT binary patch delta 47 zcmV+~0MP&62j2&fEC>()IW&mOL;#2d9Z0dn F8w0h(201=K+rN=CPXl6$YLSL55xC;DqyPW_0b)x>ME|7+^2M>l F8v~KV5!?U( diff --git a/graphics/pokemon/butterfree/normal.pal b/graphics/pokemon/butterfree/normal.pal index fdbf384c7b..bb638bf60c 100644 --- a/graphics/pokemon/butterfree/normal.pal +++ b/graphics/pokemon/butterfree/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 139 106 +152 208 160 49 49 82 90 74 115 115 98 172 diff --git a/graphics/pokemon/butterfree/shiny.pal b/graphics/pokemon/butterfree/shiny.pal index 490ada6ad2..e616c01e36 100644 --- a/graphics/pokemon/butterfree/shiny.pal +++ b/graphics/pokemon/butterfree/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 139 106 +152 208 160 49 49 82 90 74 115 115 98 172 diff --git a/graphics/pokemon/caterpie/anim_front.png b/graphics/pokemon/caterpie/anim_front.png index 54fe802a02cf368d4a4ff26ccb5154d0a96f7932..a9c8d8a923d03a6cdbf30e1d62f7eff1b6ab2cb3 100644 GIT binary patch delta 47 zcmZ3*wu)_n4u=4Pg;FYW!tIGB{>(EjEST7)D>&aiZUX}Y17ni6y9+}HtE|VyBWX+k DU~CSW delta 47 zcmV+~0MP%c2C4>-EC>h&EF?4T5qXg`PXnBki;;#c5u(Ld#{d8T0b)x>ME|7+^2M>l FW&(A}5mNvF diff --git a/graphics/pokemon/caterpie/back.png b/graphics/pokemon/caterpie/back.png index 534481e16ff150cc10d34ce6a90b812215376af2..8160f3cac61e218a91a6dc327dce9f563c31b3d3 100644 GIT binary patch delta 47 zcmV+~0MP%c1*!#*EC>()I4Wz{=;@I(PXn0Hppk|x5fHz))Bpeg0b)x>L;#2d9Z0dn F<^h|D5dQ!G delta 47 zcmV+~0MP%c1*!#*EC>h&EF?4T5qXg`PXnBki;;#c5iLc&qW}N^0b)x>ME|7+^2M>l F<^gBm5gh;k diff --git a/graphics/pokemon/caterpie/normal.pal b/graphics/pokemon/caterpie/normal.pal index 1a5f36325c..7b33fe1f04 100644 --- a/graphics/pokemon/caterpie/normal.pal +++ b/graphics/pokemon/caterpie/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -156 148 139 +152 208 160 24 90 65 32 123 74 49 172 65 diff --git a/graphics/pokemon/caterpie/shiny.pal b/graphics/pokemon/caterpie/shiny.pal index 2c166f05d4..0b489c9684 100644 --- a/graphics/pokemon/caterpie/shiny.pal +++ b/graphics/pokemon/caterpie/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -156 148 139 +152 208 160 148 82 32 180 123 16 238 172 41 diff --git a/graphics/pokemon/charizard/anim_front.png b/graphics/pokemon/charizard/anim_front.png index 981d2bdfcb9f414423230e7ef73d55e81ceb82d5..93bad64f1e372a261637f3d504d1665bc3dc175b 100644 GIT binary patch delta 47 zcmV+~0MP&84dD%tEC>()HW^Bbq;ZinPXn0Hppk|x5u~eDcK`qY0b)x>M1%aa&(g8P F9R`-l5+48n delta 47 zcmaFJ`;d2n4hKIg6VIfxX8sdR{F$5gPMO%ID|mCk*%k%{2F4_BcNc~ZR#}gYM`YOm Dfyoba diff --git a/graphics/pokemon/charizard/back.png b/graphics/pokemon/charizard/back.png index bd119ec9507da36c7b3b180e7097150f7a640ee8..88adacc77f1d068e7bef6de023bdb13235fdc09e 100644 GIT binary patch delta 47 zcmaFO_L^;i4u=4Pnbz0nqv;b({F!H5STM0oSJ13P)`)?DficP3-G!lpRn}wUk>yMP Dg}e_* delta 47 zcmV+~0MP&I2I~fpEC>e(9RQn6&qk3nPXmL!l#zxl5lerD!2kdN0b)x>ME|7+^2M>l Frvi$K5!wI% diff --git a/graphics/pokemon/charizard/normal.pal b/graphics/pokemon/charizard/normal.pal index d10b3496b0..45a645d2d4 100644 --- a/graphics/pokemon/charizard/normal.pal +++ b/graphics/pokemon/charizard/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -131 189 148 +152 208 160 0 0 0 255 255 255 205 205 205 diff --git a/graphics/pokemon/charizard/shiny.pal b/graphics/pokemon/charizard/shiny.pal index 5759cb2c48..a5c9dfcac2 100644 --- a/graphics/pokemon/charizard/shiny.pal +++ b/graphics/pokemon/charizard/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -131 189 148 +152 208 160 0 0 0 255 255 255 205 205 205 diff --git a/graphics/pokemon/charmander/anim_front.png b/graphics/pokemon/charmander/anim_front.png index 2cea15c5408dbb0893ecd0e57450fdb09c8408ce..4a464744cfa1ba4e5c13cc4b4584632dd6d71df0 100644 GIT binary patch delta 47 zcmZqXXy%xp!y&+6D&KK5sC}Y|Kl6+W3nsSd3T|vuI?lkrz?kIi?o#Z?X?t$t5qo9; DZY>Y7 delta 47 zcmZqXXy%xp!@(EjEST7)E2vO;+KqvMficP3-G!lpRn}wUkyVTU Dg~1P| delta 47 zcmV+~0MP&L1nvZoEC>Y+4JkkWPaBamPXlvME|7+^2M>l FssV!+5ugA7 diff --git a/graphics/pokemon/charmander/normal.pal b/graphics/pokemon/charmander/normal.pal index 476b31ed54..9a006c855c 100644 --- a/graphics/pokemon/charmander/normal.pal +++ b/graphics/pokemon/charmander/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -115 131 189 +152 208 160 16 16 16 180 180 180 255 255 255 diff --git a/graphics/pokemon/charmander/shiny.pal b/graphics/pokemon/charmander/shiny.pal index 4f4dd308c1..40ce4eb574 100644 --- a/graphics/pokemon/charmander/shiny.pal +++ b/graphics/pokemon/charmander/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -115 131 189 +152 208 160 16 16 16 180 180 180 255 255 255 diff --git a/graphics/pokemon/charmeleon/anim_front.png b/graphics/pokemon/charmeleon/anim_front.png index 49513bddeffafa4e93641150c5cdfeddfa1caec8..f5f983fd443f09b65bebb4df7a9e5ec27ac1f316 100644 GIT binary patch delta 47 zcmaFN`IvKp4u=4PsrlZ5U$qlW{F!H5STM0oSMa4+ge(IC17ni6y9+}HtE|VyBl0W& Dle7n#8z$nR4sVe(PXmCM_>qP!5jwu`Jpcdz0b)x>M1We$2`%{K*ENwePXlUu-jRka5q?3y6951J0b)x>ME|7+^2M>l F1p<|u5n})V diff --git a/graphics/pokemon/charmeleon/normal.pal b/graphics/pokemon/charmeleon/normal.pal index 2f66db9e8b..c0a7a8bfe3 100644 --- a/graphics/pokemon/charmeleon/normal.pal +++ b/graphics/pokemon/charmeleon/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -128 152 248 +152 208 160 255 255 255 180 180 180 106 106 106 diff --git a/graphics/pokemon/charmeleon/shiny.pal b/graphics/pokemon/charmeleon/shiny.pal index 541fbe8394..bbeaa1bf6e 100644 --- a/graphics/pokemon/charmeleon/shiny.pal +++ b/graphics/pokemon/charmeleon/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -106 123 222 +152 208 160 255 255 255 180 180 180 106 106 106 diff --git a/graphics/pokemon/clefable/anim_front.png b/graphics/pokemon/clefable/anim_front.png index afc4347be31cccc0ec2a8bc6b33675380c3a5f9a..4c550c57537d9ebb726fc40cf17ba52af0e45585 100644 GIT binary patch delta 47 zcmdnNv4dlR4u=3EJ99yqLEl6Zf94q%7EEl@6*PYPtbu`nficP3-G!lpRn}wUkrHMA DXBQ6@ delta 47 zcmV+~0MP%q2)GE4EC>n&G&ME|7+^2M>l FbOWx+6951J diff --git a/graphics/pokemon/clefable/back.png b/graphics/pokemon/clefable/back.png index 4932b3a5f3896887830c88918f499018d3e5a57e..91f79fcc53267cf0145f5f384e9dae285c16b15b 100644 GIT binary patch delta 47 zcmV+~0MP&E1?L5jEC>(*2Md0!xV(`xPXn0Hppk|x5v4Y+761SM0b)x>L;#2d9Z0dn FBLawD4>te+ delta 47 zcmV+~0MP&E1?L5jEC>n&G&_}Wm@ttvPXpfG-jRka5ynMM9RL6T0b)x>ME|7+^2M>l FBLbKt5tsk~ diff --git a/graphics/pokemon/clefable/normal.pal b/graphics/pokemon/clefable/normal.pal index dc8ffe42e0..5787db59f6 100644 --- a/graphics/pokemon/clefable/normal.pal +++ b/graphics/pokemon/clefable/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -208 208 184 +152 208 160 255 255 255 197 197 197 131 131 131 diff --git a/graphics/pokemon/clefable/shiny.pal b/graphics/pokemon/clefable/shiny.pal index 5960714c4a..96e5e15d18 100644 --- a/graphics/pokemon/clefable/shiny.pal +++ b/graphics/pokemon/clefable/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 197 197 197 131 131 131 diff --git a/graphics/pokemon/clefairy/anim_front.png b/graphics/pokemon/clefairy/anim_front.png index 71a6dfa9f0c32bba4face06b232f99238579054f..97d36a186c87df3a9051a543bddc4a2a1a16e4ee 100644 GIT binary patch delta 47 zcmcc5cAss64u=3Eo6ey9G17ni6y9+}HtE|VyBeR(R Ddc_YV delta 47 zcmV+~0MP&62HysdEC>n%Fcz_l7sQb?PXiF{=8=Xi5geKo1^@s60b)x>ME|7+^2M>l Fn*w(*1~NFa0rinIPXn0Hppk|x5nHkMAOHXW0b)x>L;#2d9Z0dn Fy8(v(59j~@ delta 47 zcmV+~0MP&c1pfq(EC>n%Fc?-eI>V7PPXpD}y^)435nnoJWB>pF0b)x>ME|7+^2M>l Fy8(%Y5vu?I diff --git a/graphics/pokemon/clefairy/normal.pal b/graphics/pokemon/clefairy/normal.pal index e8e5b3d1b4..43177b7d1e 100644 --- a/graphics/pokemon/clefairy/normal.pal +++ b/graphics/pokemon/clefairy/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -16 238 230 +152 208 160 255 255 255 197 197 197 148 148 148 diff --git a/graphics/pokemon/clefairy/shiny.pal b/graphics/pokemon/clefairy/shiny.pal index 11c557593a..14b2f3b19b 100644 --- a/graphics/pokemon/clefairy/shiny.pal +++ b/graphics/pokemon/clefairy/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 189 +152 208 160 255 255 255 197 197 197 148 148 148 diff --git a/graphics/pokemon/diglett/anim_front.png b/graphics/pokemon/diglett/anim_front.png index 8c38cc3b2fe690afab35d6bc1d698d29a160f606..202a2a1788e70130bcf15f733169bae9465be40b 100644 GIT binary patch delta 47 zcmdnQvWaDa4u=3EkI|u+m-Q1({F!H5STM0oSJ3c@a0>$i17ni6y9+}HtE|VyBYBJf Dd0-DU delta 47 zcmV+~0MP%k1hNE>EC>q(G$^TZzKfAGPXkJ{tdWK-5k^dF82|tP0b)x>ME|7+^2M>l FZUJ=C5UT(H diff --git a/graphics/pokemon/diglett/back.png b/graphics/pokemon/diglett/back.png index b3a3fa1b3ca8f1a37093b4613d686f2c596ff368..b4f98c8d803d31393d7378f5fe6a7deb3f6533aa 100644 GIT binary patch delta 46 zcmey(^qXmd4u=3EkA+evL*hgef94q%7EEl@6q(G%4P7jvbLSPXpfG-jRka5yOfk6951J0b)x>ME|7+^2L$F Ex00U{S^xk5 diff --git a/graphics/pokemon/diglett/normal.pal b/graphics/pokemon/diglett/normal.pal index 013345417a..1eff24bb31 100644 --- a/graphics/pokemon/diglett/normal.pal +++ b/graphics/pokemon/diglett/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -74 180 172 +152 208 160 255 255 255 255 172 148 255 106 90 diff --git a/graphics/pokemon/diglett/shiny.pal b/graphics/pokemon/diglett/shiny.pal index 9927b67e9d..8fef662bbf 100644 --- a/graphics/pokemon/diglett/shiny.pal +++ b/graphics/pokemon/diglett/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 131 148 246 90 106 205 diff --git a/graphics/pokemon/dugtrio/anim_front.png b/graphics/pokemon/dugtrio/anim_front.png index 4d0f110145e5f293fe1c8bdf5dff088d74612550..0119b370c4f794cfbde8cb479b61d2c8d2e5f88b 100644 GIT binary patch delta 47 zcmZoq(H~~j>Y3q?RPXpfG-jRka5mJ})j{pDw0b)x>ME|7+^2M>l Fy#j`P5^Vqg diff --git a/graphics/pokemon/dugtrio/back.png b/graphics/pokemon/dugtrio/back.png index 93265dc34597a93160c78aa79a7d15c311f5feee..bc74c0c9794609711616272ffd5cae74da9ed849 100644 GIT binary patch delta 47 zcmV+~0MP%=1I`1GEC>(*4HK6x$Y7B)PXn0Hppk|x5uo|R7ytkO0b)x>L;#2d9Z0dn F3ITbH4;cUe delta 47 zcmV+~0MP%=1I`1GEC>q(H#z9<&AO2^PXpfG-jRka5yOfk6951J0b)x>ME|7+^2M>l F3IWBz66pW{ diff --git a/graphics/pokemon/dugtrio/normal.pal b/graphics/pokemon/dugtrio/normal.pal index 1ce2e1af5c..1eff24bb31 100644 --- a/graphics/pokemon/dugtrio/normal.pal +++ b/graphics/pokemon/dugtrio/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 255 172 148 255 106 90 diff --git a/graphics/pokemon/dugtrio/shiny.pal b/graphics/pokemon/dugtrio/shiny.pal index 9927b67e9d..8fef662bbf 100644 --- a/graphics/pokemon/dugtrio/shiny.pal +++ b/graphics/pokemon/dugtrio/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 131 148 246 90 106 205 diff --git a/graphics/pokemon/ekans/anim_front.png b/graphics/pokemon/ekans/anim_front.png index 7f53e7df7079439456e818af3e4b118148ee4708..15ad69a160b984d22beab892706084bfc9af69b0 100644 GIT binary patch delta 47 zcmcc5exH4U4u=3ElTiA`CzcaU{F!H5STM0oS5Q1&Yy|@Y17ni6y9+}HtE|VyBht(O DZ#WK7 delta 47 zcmV+~0MP&62j2&fEC>k#CJaLXp0JTLPXo=(y^)435tP~1umAu60b)x>ME|7+^2M>l F8v~dQ5<~z1 diff --git a/graphics/pokemon/ekans/back.png b/graphics/pokemon/ekans/back.png index f5d6c8f8a8dfde87350be0684d735406250373bb..fb7c18676a60f6a6b2c4f212baa083291f978c6f 100644 GIT binary patch delta 47 zcmcc1dY5&A4u=3ElSF$8ulht2f94q%7EEl@73}KUKZAjRficP3-G!lpRn}wU5lJQh DVnhyc delta 47 zcmV+~0MP&41>FUZEC>k#BO>CUXF8EIPXo=(y^)435eW!?fB*mh0b)x>ME|7+^2M>l F83Ku35c&WB diff --git a/graphics/pokemon/ekans/normal.pal b/graphics/pokemon/ekans/normal.pal index 8777bc9942..ecc9977f60 100644 --- a/graphics/pokemon/ekans/normal.pal +++ b/graphics/pokemon/ekans/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 189 +152 208 160 255 255 255 246 115 74 197 65 24 diff --git a/graphics/pokemon/ekans/shiny.pal b/graphics/pokemon/ekans/shiny.pal index 2b4f288d29..b26b6dbfb5 100644 --- a/graphics/pokemon/ekans/shiny.pal +++ b/graphics/pokemon/ekans/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 189 +152 208 160 255 255 255 246 115 74 197 65 24 diff --git a/graphics/pokemon/fearow/anim_front.png b/graphics/pokemon/fearow/anim_front.png index de36755181f59e478db2792699cc2354e355aa95..036efc242832852bf79a4233c9881f6f0a2c461a 100644 GIT binary patch delta 47 zcmbQmJBxRM4u=3E6T=jasf80w{F!H5STM0oS1>v2wgLkK17ni6y9+}HtE|VyBiC2~ DPk;`8 delta 47 zcmV+~0MP%M4Vn#*EC>k#7&I!zJyVf1PXkK5dy$4M5zOxe%K!iX0b)x>ME|7+^2M>l F)&*w~5l#RA diff --git a/graphics/pokemon/fearow/back.png b/graphics/pokemon/fearow/back.png index 53ca96901ef95a5b303b4dc0ea75ca2e75d6c0dc..17a70faa5686bb3446dfde23859c0bd220deb249 100644 GIT binary patch delta 47 zcmey*`k!@z4u=3E6FXN9!=;HP{>(EjEST7)E7k#7%tbO#3_+9PXo=(tdWK-5$XR3^Z)<=0b)x>ME|7+^2M>l FI|9OD6KMbd diff --git a/graphics/pokemon/fearow/normal.pal b/graphics/pokemon/fearow/normal.pal index de3082f6e4..b183d51537 100644 --- a/graphics/pokemon/fearow/normal.pal +++ b/graphics/pokemon/fearow/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -74 189 123 +152 208 160 0 0 0 238 213 180 213 164 90 diff --git a/graphics/pokemon/fearow/shiny.pal b/graphics/pokemon/fearow/shiny.pal index 2c301217d0..9d861720e3 100644 --- a/graphics/pokemon/fearow/shiny.pal +++ b/graphics/pokemon/fearow/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 0 0 0 238 246 197 213 222 90 diff --git a/graphics/pokemon/geodude/anim_front.png b/graphics/pokemon/geodude/anim_front.png index d380c70a04be24b05f202e13febe7296b2c2df1a..e3aad0b0f191add9c6b794620f84141a0a9a379b 100644 GIT binary patch delta 47 zcmV+~0MP&X2Kok&EC>(*77AK(t2&W1PXn0Hppk|x5mlh9p8x;=0b)x>L;#2d9Z0dn FwgP^F53~RP delta 47 zcmV+~0MP&X2Kok&EC>z=FE60v>Ew|#PXkK5gOP?U5u-BNMgRZ+0b)x>ME|7+^2M>l FwgSGI6FmR` diff --git a/graphics/pokemon/geodude/back.png b/graphics/pokemon/geodude/back.png index 64df286bc9062005c40df96342860990ea30c9aa..6aba658f6cc072a3efab15b8fb8060a821d86efc 100644 GIT binary patch delta 47 zcmeBT?P8sv!y&*Z#;+wAzjdOCKl6+W3nsSd3jQ&%oWQ`qz?kIi?!wT)D(kWF$T3C$ DMIjDE delta 47 zcmV+~0MP%61&RfbEC>z=F9PK|wULoDPXo=~?vaKq5#0XEpa1{>0b)x>ME|7+^2M>l F#sQ}t6R`jQ diff --git a/graphics/pokemon/geodude/normal.pal b/graphics/pokemon/geodude/normal.pal index 9a8bed7193..c52e6ec054 100644 --- a/graphics/pokemon/geodude/normal.pal +++ b/graphics/pokemon/geodude/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -74 189 131 +152 208 160 16 16 16 65 57 49 106 106 82 diff --git a/graphics/pokemon/geodude/shiny.pal b/graphics/pokemon/geodude/shiny.pal index 35e5085a84..0e259715a4 100644 --- a/graphics/pokemon/geodude/shiny.pal +++ b/graphics/pokemon/geodude/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 16 16 16 156 65 0 189 115 0 diff --git a/graphics/pokemon/gloom/anim_front.png b/graphics/pokemon/gloom/anim_front.png index 01cd7216ba21876b3e0c9e3e8325b5307655805a..4ad5cb643d0518c02410a16b01f0bbd3231a76e8 100644 GIT binary patch delta 47 zcmV+~0MP&12-*mcEC>(*3LDn6)|HVoPXn0Hppk|x5zkTFod5s;0b)x>L;#2d9Z0dn FmIJ3M5c&WB delta 47 zcmV+~0MP&12-*mcEC>q&3l1jk2hWi-PXpfG-jRka5v(FSmH+?%0b)x>ME|7+^2M>l FmIICe5$ON` diff --git a/graphics/pokemon/gloom/anim_frontf.png b/graphics/pokemon/gloom/anim_frontf.png index b602528b71ff78489fffe9c2435910f05741a500..c2cfc555170d483b3858e0ee8a20ea3b984721d8 100644 GIT binary patch delta 47 zcmV+~0MP%`2-FCWEC>(*3Ls~{Ke3TCPXn0Hppk|x5zkTFod5s;0b)x>L;#2d9Z0dn FkOPMz5DowU delta 47 zcmV+~0MP%`2-FCWEC>q&0x!Eotk{t>PXpfG-jRka5v(FSmH+?%0b)x>ME|7+^2M>l FkOQPA5{Uo+ diff --git a/graphics/pokemon/gloom/back.png b/graphics/pokemon/gloom/back.png index 96cd7ffff8de798bb530e7508eec7dcb76a989f0..46468b0d86ba956149443969622f05a2d270aaf3 100644 GIT binary patch delta 47 zcmbQqHj{0F4u=3Ems;PQSuGPy{F!H5STM0oSMW^7drt-i2F4_BcNc~ZR#}gYM?#qZ Dfa?## delta 47 zcmV+~0MP%L2AKwsEC>q&3j!}#OXQI>PXpfG-jRka5wH6XLI3~&0b)x>ME|7+^2M>l FRRVM*5j+3@ diff --git a/graphics/pokemon/gloom/backf.png b/graphics/pokemon/gloom/backf.png index b9c476140a795cf00065e08b954afe18d65af35f..4e11f97c5d867b21cf0842efd541355298868234 100644 GIT binary patch delta 47 zcmeBV>tvgt!y&-PrIW{5JZqwfKl6+W3nsSd3ZChB@5#Wxz?kIi?!wT)D(kWFh$|BS DSU3)q delta 47 zcmV+~0MP%528jlcEC>q&3j!}#OXQI>PXpfG-jRka5wH6XLI3~&0b)x>ME|7+^2M>l FMFMU_5extT diff --git a/graphics/pokemon/gloom/normal.pal b/graphics/pokemon/gloom/normal.pal index cb4fd01ccc..0400114f39 100644 --- a/graphics/pokemon/gloom/normal.pal +++ b/graphics/pokemon/gloom/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 246 238 189 255 189 65 255 115 0 diff --git a/graphics/pokemon/gloom/shiny.pal b/graphics/pokemon/gloom/shiny.pal index 9135104bf0..2bd1b2a23f 100644 --- a/graphics/pokemon/gloom/shiny.pal +++ b/graphics/pokemon/gloom/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 246 238 189 246 213 106 230 172 65 diff --git a/graphics/pokemon/golbat/anim_front.png b/graphics/pokemon/golbat/anim_front.png index 3aff34704bea7e8b6c9233d03d21eafdf8ecf079..73d663e8261d204b651dd5703bb766539ab164e4 100644 GIT binary patch delta 47 zcmV+~0MP%o3bqQ6EC>(*2`w@s5YLe`PXn0Hppk|x5xJMT;{X5v0b)x>L;#2d9Z0dn Fas*{|4>te+ delta 47 zcmV+~0MP%o3bqQ6EC>q$5dxg?Wl@ndPXmL^w2_7_5!$XeQUCw|0b)x>ME|7+^2M>l Fas-Dp5w8FM diff --git a/graphics/pokemon/golbat/anim_frontf.png b/graphics/pokemon/golbat/anim_frontf.png index 092b97f8ac4eb8a4db9c49734fc2e5befda4d646..a4e223a122ec4ef2e7386d7d16df346e96edb509 100644 GIT binary patch delta 47 zcmZ3>wU%pw4u=3Er$L}1Ie DUAPYO delta 47 zcmV+~0MP%f3atu|EC>q$5j7-Cz+RCwPXmL^w2_7_5!$XeQUCw|0b)x>ME|7+^2M>l FX#{ba5fT6Z diff --git a/graphics/pokemon/golbat/back.png b/graphics/pokemon/golbat/back.png index 5fa24a03ee64461f82e692dadfdcc25fed1caefc..14bcef7a0569dd12a2b8d6c59e5691e6ba2c9eca 100644 GIT binary patch delta 47 zcmeBT?P8sv!y&-PX|}`drt(A+f94q%7EEl@6}+^0QX~Td17ni6y9+}HtE|VyBgYs4 DX^szg delta 47 zcmV+~0MP%61&RfbEC>q$5-4nE|3r~APXp%W=8=Xi5sya8rvLx|0b)x>ME|7+^2M>l F#sP{v5_(*2|BUxl?ahEPXn0Hppk|x5z@1gSpWb40b)x>L;#2d9Z0dn F!vS)~54QjS delta 47 zcmV+~0MP%31&0NYEC>q$697QTX8(~iPXp%W=8=Xi5sya8rvLx|0b)x>ME|7+^2M>l F!vT(e5~BbB diff --git a/graphics/pokemon/golbat/normal.pal b/graphics/pokemon/golbat/normal.pal index 6614cea502..d10763584b 100644 --- a/graphics/pokemon/golbat/normal.pal +++ b/graphics/pokemon/golbat/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -131 205 180 +152 208 160 255 255 255 213 213 213 98 98 98 diff --git a/graphics/pokemon/golbat/shiny.pal b/graphics/pokemon/golbat/shiny.pal index 8b50ac92ed..e6e427e3e9 100644 --- a/graphics/pokemon/golbat/shiny.pal +++ b/graphics/pokemon/golbat/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -230 230 230 +152 208 160 255 255 255 213 213 213 98 98 98 diff --git a/graphics/pokemon/golduck/anim_front.png b/graphics/pokemon/golduck/anim_front.png index 9dd5616444b85526728b31283124f3202cb77011..aabe7b61fb7cba3d8a7346ae71e63f313ef883ce 100644 GIT binary patch delta 47 zcmX@gb(Cv@4u=3EpK*Kc?(B&s{>(EjEST7)E6C5hY!3qi17ni6y9+}HtE|VyBaJKo DZoCfM delta 47 zcmX@gb(Cv@4hIhlr>>s574t+Bf99yY%@f;n1*hZ+sxvS!FeZ7syZm3u{^{t(BaJKo DJDv{@ diff --git a/graphics/pokemon/golduck/back.png b/graphics/pokemon/golduck/back.png index dae113e962f516634af0cd3cdf6e2dad44770aec..79c8b611bc915d25000e1a97b93ba3e193fd74b9 100644 GIT binary patch delta 47 zcmZo(EjEST7)D|l;f@Cyb82F4_BcNc~ZR#}gYM{Jn@ DfAt)2{=Rg-sq7uPXl7^gOP?U5#JEk`Tzg`0b)x>ME|7+^2M>l FJp!0x5_JFo diff --git a/graphics/pokemon/golduck/normal.pal b/graphics/pokemon/golduck/normal.pal index 3470d9258e..63a96f8cf3 100644 --- a/graphics/pokemon/golduck/normal.pal +++ b/graphics/pokemon/golduck/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -90 189 131 +152 208 160 255 255 255 213 213 213 240 104 104 diff --git a/graphics/pokemon/golduck/shiny.pal b/graphics/pokemon/golduck/shiny.pal index 5a64d8fe13..ee2de391e7 100644 --- a/graphics/pokemon/golduck/shiny.pal +++ b/graphics/pokemon/golduck/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 238 131 +152 208 160 255 255 255 213 213 213 255 172 172 diff --git a/graphics/pokemon/golem/anim_front.png b/graphics/pokemon/golem/anim_front.png index c5ee02442431ca077cd4ffc4bff48c5ee9b996e4..3e97733d08c9576ee219dcd0eb68fc075dcc7c14 100644 GIT binary patch delta 47 zcmZqRZs4Av!y&*Zrj;n${b{0!Kl6+W3nsSd3O?Mh-iLvKficP3-G!lpRn}wUkv%K` DXzLG$ delta 47 zcmZqRZs4Av!@EC>(*78*yyyIzqrPXn0Hppk|x5e&*H@c;k-0b)x>L;#2d9Z0dn Fw*-qD5Ay&3 delta 47 zcmV+~0MP&Y3i}F>EC>z>9}7ZbQSp&9PXo=~?vaKq5i9`P!2kdN0b)x>ME|7+^2M>l Fw*;S35|01? diff --git a/graphics/pokemon/graveler/back.png b/graphics/pokemon/graveler/back.png index 94dafe92c0ce607444ea0f9559c79ee9a016e434..b6cfed49af5fdc02e5f3d192422a8ddfe79653a7 100644 GIT binary patch delta 47 zcmV+~0MP%S1)v3xEC>(*79fGhV(gJLPXn0Hppk|x5&rg9@&Et;0b)x>L;#2d9Z0dn F+yRro5gPyi delta 47 zcmV+~0MP%S1)v3xEC>z>9}L_F#8QzoPXo=~?vaKq5#Btd!TME|7+^2M>l F+yRh%61@Nb diff --git a/graphics/pokemon/graveler/normal.pal b/graphics/pokemon/graveler/normal.pal index c502f26cc0..c5708fcc9d 100644 --- a/graphics/pokemon/graveler/normal.pal +++ b/graphics/pokemon/graveler/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 74 65 49 106 106 82 diff --git a/graphics/pokemon/graveler/shiny.pal b/graphics/pokemon/graveler/shiny.pal index ceba53b791..ee926f5178 100644 --- a/graphics/pokemon/graveler/shiny.pal +++ b/graphics/pokemon/graveler/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 90 16 0 123 57 0 diff --git a/graphics/pokemon/growlithe/anim_front.png b/graphics/pokemon/growlithe/anim_front.png index f153f288286233e3368228ec4e2e7e2354536c43..f14c88226870ee0ec843ca8ff0acae2690cb1b35 100644 GIT binary patch delta 47 zcmV+~0MP%s2f7E4EC>(*5Cxo;5iOB4PXn0Hppk|x5$a?|VE_OC0b)x>M3jGLN)@rh F_5xxC55@oh delta 47 zcmdnRzKeZ=4hJ8ru8iufO67?r{>)RRoSoRFD=6gnrJsR;ficP3-G!lpRn}wUk#9@@ DV9gH= diff --git a/graphics/pokemon/growlithe/back.png b/graphics/pokemon/growlithe/back.png index 2e8a189a5b72e15833350ab2227e609bf0c20f53..835d9d88a248e1e0167c72949c78097a94e86d29 100644 GIT binary patch delta 47 zcmZ3^x}0@_4u=4v0MApem7Nn!{F!H5STM0oS1_o@I-P-mficP3-G!lpRn}wUk;jYx DY0VEK delta 47 zcmV+~0MP%Z1*Zj&EC>t)E)=Wh0B(^qPXm;c&5?#J5vr+(i2wiq0b)x>ME|7+^2M>l F;{k(V5-0!w diff --git a/graphics/pokemon/growlithe/normal.pal b/graphics/pokemon/growlithe/normal.pal index 74be413545..49e3d09b20 100644 --- a/graphics/pokemon/growlithe/normal.pal +++ b/graphics/pokemon/growlithe/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 148 205 +152 208 160 255 255 246 222 222 213 106 106 106 diff --git a/graphics/pokemon/growlithe/shiny.pal b/graphics/pokemon/growlithe/shiny.pal index b7de39b614..97fda151db 100644 --- a/graphics/pokemon/growlithe/shiny.pal +++ b/graphics/pokemon/growlithe/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 148 205 +152 208 160 255 255 246 222 222 213 106 106 106 diff --git a/graphics/pokemon/ivysaur/anim_front.png b/graphics/pokemon/ivysaur/anim_front.png index 1cdb412a17d089c57f957884569fad28d984b0ab..89daaa15b3be8cb7ec8909ad44c11a59fe4dd504 100644 GIT binary patch delta 34 scmV+-0Nwxj3Hb?-EC>(*89R(Mx6hF@PXn0Hppk|x1X#Gmw6V8B1m|@Q6951J delta 34 qcmey#`IB>k4hJi@1?M8&i`OTb_%ok9yJljWE{o|ZJMN9!omc?nPYnzJ diff --git a/graphics/pokemon/ivysaur/back.png b/graphics/pokemon/ivysaur/back.png index 8566b5b14d61799bdd04af839b8ecacca114c7c2..f9be9ad167f37f4fd41f44fa533ae2cc63cc1417 100644 GIT binary patch delta 47 zcmV+~0MP%s2D%22EC>(*8Uzu3$uW^MPXn0Hppk|x5k#bP-~a#s0b)x>M3{Eb20pRG Fb^>X^5B2~6 delta 47 zcmV+~0MP%s2D%22EC>Y)GXy_qbfJ+nPXo=(tdWK-5h=EhUjP6A0b)x>ME|7+^2M>l Fb^>~E5l;XB diff --git a/graphics/pokemon/ivysaur/normal.pal b/graphics/pokemon/ivysaur/normal.pal index 9d572c5c5a..94a136e576 100644 --- a/graphics/pokemon/ivysaur/normal.pal +++ b/graphics/pokemon/ivysaur/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 255 255 255 255 172 164 255 123 123 diff --git a/graphics/pokemon/ivysaur/shiny.pal b/graphics/pokemon/ivysaur/shiny.pal index c4cfa8d79b..b93a3a4ada 100644 --- a/graphics/pokemon/ivysaur/shiny.pal +++ b/graphics/pokemon/ivysaur/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 255 255 255 255 255 156 255 213 0 diff --git a/graphics/pokemon/jigglypuff/anim_front.png b/graphics/pokemon/jigglypuff/anim_front.png index 38ededf3f4a5cefdb72dcf86a92be5e244e52f2e..17173331d86578c87b0e404f3c25fb08dd9c4aa2 100644 GIT binary patch delta 47 zcmcb|dXII24u=3EhuoAG4l^d2_%qMAuwY`FuAnccM*#x^17ni6y9+}HtE|VyBT`HN Da*+;H delta 47 zcmV+~0MP&51>OaaEC>q#CIsYH3TKftPXo}ME|7+^2M>l F8Um2s5y1ce diff --git a/graphics/pokemon/jigglypuff/back.png b/graphics/pokemon/jigglypuff/back.png index 3f9e58d76ec685e18167af5e90cc400a3a123701..0c079fe36f48a89d37e8da209699963fc123b705 100644 GIT binary patch delta 47 zcmZo;X=9n7!y&-Pp?s!+r*oo-Kl6+W3nsSd3JToSpToewz?kIi?!wT)D(kWFh!Z0K DQ9KR> delta 47 zcmV+~0MP%21cn5VEC>q#CIypFI`NS-PXo}5!?LiKmY&$0b)x>ME|7+^2M>l FLIH^x5-$J% diff --git a/graphics/pokemon/jigglypuff/normal.pal b/graphics/pokemon/jigglypuff/normal.pal index 21f285d857..5ab3f90797 100644 --- a/graphics/pokemon/jigglypuff/normal.pal +++ b/graphics/pokemon/jigglypuff/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -208 208 184 +152 208 160 255 255 255 200 232 248 16 176 232 diff --git a/graphics/pokemon/jigglypuff/shiny.pal b/graphics/pokemon/jigglypuff/shiny.pal index 0fddd6b10c..198e91fff9 100644 --- a/graphics/pokemon/jigglypuff/shiny.pal +++ b/graphics/pokemon/jigglypuff/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -208 208 176 +152 208 160 255 255 255 205 255 189 24 216 160 diff --git a/graphics/pokemon/kadabra/anim_front.png b/graphics/pokemon/kadabra/anim_front.png index 46cbcec570b78529aff2387002bff4c96110be32..2096f22335fb8c6949d0074bb38a03bbe44aed5b 100644 GIT binary patch delta 47 zcmV+~0MP&X3i=9=EC>(*5))c<#{Q8sPXn0Hppk|x5$iAg8vpL;#2d9Z0dn FwgjEi5S0J` delta 47 zcmeyx^^0qQ4hJunytKc1fYL-0f9CG9%@f;n1&fMo*D)|KFeZ7syZm3u{^{t(BimR2 DZO0Ji diff --git a/graphics/pokemon/kadabra/anim_frontf.png b/graphics/pokemon/kadabra/anim_frontf.png index 43e77daa607da8628ba7769a249c0804cb17b683..e78ff9e7062b4c811fdcfd7777b2ef7c0a0c7c35 100644 GIT binary patch delta 47 zcmV+~0MP&K3hfGzEC>(*5*4!-W6O~=PXn0Hppk|x5$iAg8vpL;#2d9Z0dn FsRV^<57qzx delta 47 zcmV+~0MP&K3hfGzEC>w>9XY6Rb3~CePXmk1gOP?U5pr@pt^fc40b)x>ME|7+^2M>l FsRWF*5yJog diff --git a/graphics/pokemon/kadabra/back.png b/graphics/pokemon/kadabra/back.png index b2c0eefab3aa296db83c95e9f87c3b1f3b46f108..4ea3df19ddf10b5565dbfaca3c34551f72dfd3d7 100644 GIT binary patch delta 47 zcmZo>Z)TsM!y&*ZBptHe@61FKf94q%7EEl@6`Xg>;|K!-17ni6y9+}HtE|VyBm0>E DXZ{a) delta 47 zcmZo>Z)TsM!@E DUBVEs diff --git a/graphics/pokemon/kadabra/backf.png b/graphics/pokemon/kadabra/backf.png index dd231727f8e388a5a77b7a3e509e0253bfb455ca..45a60bf7dbefbe865dbc44276f478c207bd2a3de 100644 GIT binary patch delta 47 zcmV+~0MP&X2Kok&EC>(*5*{SQxL;#2d9Z0dn FwgQW`5GViu delta 47 zcmV+~0MP&X2Kok&EC>w>A1wEp^(~P!PXmk1gOP?U5eJ)yaR2}S0b)x>ME|7+^2M>l FwgRa%5`+K% diff --git a/graphics/pokemon/kadabra/normal.pal b/graphics/pokemon/kadabra/normal.pal index da4fa99c4a..c607508da9 100644 --- a/graphics/pokemon/kadabra/normal.pal +++ b/graphics/pokemon/kadabra/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -139 205 131 +152 208 160 255 255 255 222 222 222 180 180 180 diff --git a/graphics/pokemon/kadabra/shiny.pal b/graphics/pokemon/kadabra/shiny.pal index 6c246228ea..f0c824094d 100644 --- a/graphics/pokemon/kadabra/shiny.pal +++ b/graphics/pokemon/kadabra/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -139 205 131 +152 208 160 255 255 255 222 222 222 180 180 180 diff --git a/graphics/pokemon/kakuna/anim_front.png b/graphics/pokemon/kakuna/anim_front.png index cb5fe8b9dffab42ff8996c3bf26c9c5c52061950..78f7fd26965f5145cc7a20026f9028086215e876 100644 GIT binary patch delta 47 zcmbQmHj8b74u=4Pl{AMzSKvewf94q%7EEl@6`VSG{Z0l32F4_BcNc~ZR#}gYN5Yr@ DQxy(* delta 47 zcmV+~0MP%M2AT$tEC>h(B@Q@M3DJ=>PXmyUkdcNh5l?K5Q2+n{0b)x>ME|7+^2M>l FRsv3t56b`m diff --git a/graphics/pokemon/kakuna/back.png b/graphics/pokemon/kakuna/back.png index 662298dc6f88180f79e5a9301e38eea7846a6e49..9ac623c407642b3d1af4c4222f86c70ca43f954f 100644 GIT binary patch delta 47 zcmdnYvYBOq4u=4Pl~TAVQ{+Swf94q%7EEl@6+GJU(4K*TficP3-G!lpRn}wUk$gq~ DRf-OG delta 47 zcmV+~0MP%l1hWK?EC>h(B@n_|G_sL2PXpfG-jRka5vKbAGynhq0b)x>ME|7+^2M>l FZvl(25!Cz4u=4vu;DcRZP61={F!H5STM0oS8&<+I7bEs2F4_BcNc~ZR#}gYN2*x? DZjKKQ delta 47 zcmV+~0MP%x48IJJEC>w@5gw&O^^uV@PXj^4l#zxl5fAeb5C8xG0b)x>ME|7+^2M>l Fdj)s@5Xt}m diff --git a/graphics/pokemon/machamp/back.png b/graphics/pokemon/machamp/back.png index 64ab5b42e56e5d66927b68c2aa9b02367234f3f5..1c135d16bfdda2708d56b9482ca27e8c6185367d 100644 GIT binary patch delta 47 zcmbQsK9_xh4u=4vuz7usaNa}{f94q%7EEl@6_npKCzyeOficP3-G!lpRn}wUk(*2a DQJM~m delta 47 zcmV+~0MP%P2b~9yEC>w@5gj~Aq$`m$PXj^4l#zxl5w?cY0ssI20b)x>ME|7+^2M>l F*#cL45UT(H diff --git a/graphics/pokemon/machamp/normal.pal b/graphics/pokemon/machamp/normal.pal index 265949f1d6..c913230827 100644 --- a/graphics/pokemon/machamp/normal.pal +++ b/graphics/pokemon/machamp/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -65 197 148 +152 208 160 0 0 0 74 74 98 65 82 98 diff --git a/graphics/pokemon/machamp/shiny.pal b/graphics/pokemon/machamp/shiny.pal index 71da1e11c7..748a9d16fc 100644 --- a/graphics/pokemon/machamp/shiny.pal +++ b/graphics/pokemon/machamp/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -65 197 148 +152 208 160 0 0 0 49 74 0 74 106 16 diff --git a/graphics/pokemon/machoke/anim_front.png b/graphics/pokemon/machoke/anim_front.png index 49726dc7242b46cca01d1b2042c9c011fc34cff5..d770f9910c667550f9ca9688e6992aa1391d247f 100644 GIT binary patch delta 47 zcmV+~0MP%#3&RVLEC>(*6B|vme~pnePXn0Hppk|x5%SjL-2eap0b)x>L;#2d9Z0dn F{{)nt5lsL9 delta 47 zcmV+~0MP%#3&RVLEC>w?Fc8Zt+whSzPXl|!gOP?U5tSk}-v9sr0b)x>ME|7+^2M>l F{{)xj5{Cc) diff --git a/graphics/pokemon/machoke/back.png b/graphics/pokemon/machoke/back.png index 68f3002f6b2e79eb31870bf0a6da2574b184e54c..135b960892879b2f1a6272bc12cce415d70d326c 100644 GIT binary patch delta 47 zcmV+~0MP%^1=0nOEC>(*6CsPZrazH1PXn0Hppk|x5wf6|egFUf0b)x>L;#2d9Z0dn F4g!UG4{QJc delta 47 zcmV+~0MP%^1=0nOEC>w?FauAOnl6zvPXl|!gOP?U5!F;ld;kCd0b)x>ME|7+^2M>l F4gz+85T^hD diff --git a/graphics/pokemon/machoke/normal.pal b/graphics/pokemon/machoke/normal.pal index bd44d463d3..60348197e4 100644 --- a/graphics/pokemon/machoke/normal.pal +++ b/graphics/pokemon/machoke/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -123 197 131 +152 208 160 0 0 0 74 74 98 106 49 131 diff --git a/graphics/pokemon/machoke/shiny.pal b/graphics/pokemon/machoke/shiny.pal index 5d2c988fb8..0869c18fc1 100644 --- a/graphics/pokemon/machoke/shiny.pal +++ b/graphics/pokemon/machoke/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -123 197 131 +152 208 160 0 0 0 16 65 0 41 90 0 diff --git a/graphics/pokemon/machop/anim_front.png b/graphics/pokemon/machop/anim_front.png index 888d2a19813a6cde7bd3d2bc770a38cfb8ebaf7e..be12164d4279cf5c40c51196fe189de655f743df 100644 GIT binary patch delta 47 zcmV+~0MP%T2B8L!EC>(*6AMrSZ|RXVPXn0Hppk|x5zr#hW&i*H0b)x>L^;<0l|Zq? FT>@cX4}1Us delta 47 zcmZ3;wvcUt4hKIA7yB6&{vQ)f{FyE9bx&;573`ONIiG=nficP3-G!lpRn}wUkys`G DRE!Q! diff --git a/graphics/pokemon/machop/back.png b/graphics/pokemon/machop/back.png index 2373f76d78829b33e1e022510c0fa36d0817ef30..2d4cdb60741ca8cd2c6a3798cd4810dc4e6ad9c7 100644 GIT binary patch delta 47 zcmV+~0MP%Y1*Qd%EC>(*6A`UpmXnb*PXn0Hppk|x5v7_wo&W#<0b)x>L;#2d9Z0dn F;sJ1>519Y} delta 47 zcmV+~0MP%Y1*Qd%EC>w?6&A|7t|E~%PXq4mi;;#c5%HwI)c^nh0b)x>ME|7+^2M>l F;sK}j6QTeB diff --git a/graphics/pokemon/machop/normal.pal b/graphics/pokemon/machop/normal.pal index c29f20e39a..69a2c2fce4 100644 --- a/graphics/pokemon/machop/normal.pal +++ b/graphics/pokemon/machop/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -57 222 139 +152 208 160 0 0 0 41 74 82 90 123 106 diff --git a/graphics/pokemon/machop/shiny.pal b/graphics/pokemon/machop/shiny.pal index 30d83084f1..10b8e11c7a 100644 --- a/graphics/pokemon/machop/shiny.pal +++ b/graphics/pokemon/machop/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -238 238 139 +152 208 160 0 0 0 65 57 16 106 98 57 diff --git a/graphics/pokemon/mankey/anim_front.png b/graphics/pokemon/mankey/anim_front.png index 1d798cd736cf11d372c94cf57dbe7e1636c8503e..435869073d5ec08d2b079d19c319f765bb2a819f 100644 GIT binary patch delta 47 zcmeC<=;N56!y&-P&l@j3y>X(6Kl6+W3nsSd3a;T=>dU~uz?kIi?!wT)D(kWFh!-;e DMzsyK delta 47 zcmV+~0MP%A2#yGlEC>t)6d~CC8Z?nKPXk)Ci;;#c5$lME|7+^2M>l FN&|2=5a0j+ diff --git a/graphics/pokemon/mankey/back.png b/graphics/pokemon/mankey/back.png index 8180e2485a6afa1ea081b59b4fc7b05f72e600f8..3a84430deb6055434ec12c2f3ac41736411df103 100644 GIT binary patch delta 47 zcmX@cdW>~~4u=3Ezo<_&|MiI`{>(EjEST7)E4V6m>p=zv2F4_BcNc~ZR#}gYN0^uZ DZ%z*4 delta 47 zcmV+~0MP%&1;z!CEC>t)6D^(!z}S&APXpfG-jRka5y>7^$^ZZW0b)x>ME|7+^2M>l F0s@_u5(@wT diff --git a/graphics/pokemon/mankey/normal.pal b/graphics/pokemon/mankey/normal.pal index da678426cb..c25dd02a67 100644 --- a/graphics/pokemon/mankey/normal.pal +++ b/graphics/pokemon/mankey/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -90 180 139 +152 208 160 255 255 255 222 222 222 255 230 189 diff --git a/graphics/pokemon/mankey/shiny.pal b/graphics/pokemon/mankey/shiny.pal index 968473faa7..a8eded08bf 100644 --- a/graphics/pokemon/mankey/shiny.pal +++ b/graphics/pokemon/mankey/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 222 222 222 255 230 189 diff --git a/graphics/pokemon/meowth/anim_front.png b/graphics/pokemon/meowth/anim_front.png index d88e64ac987becc2dead807c88135e0e37b981ab..ff750a7cb69cd3f3c88e4fb42afc4101c15974d4 100644 GIT binary patch delta 47 zcmcb>et~_04u=3EuiC-6JkAqM{F!H5STM0oSJ3iVunq$Q17ni6y9+}HtE|VyBRtFi DW#q)3mvB2I-`*^PXoxvsF8*(5v)1Cf&c&j0b)x>ME|7+^2M>l F3t~yw!y&-PtG!>R;NL_Of94q%7EEl@6t~yw!@(EjEST7)E4bsMc`yS517ni6y9+}HtE|VyBTpCs DWeE>M delta 47 zcmV+~0MP%a1*ip(EC>h&Fe^nSQMHjYPXqshgOP?U5!g4%_y7O^0b)x>ME|7+^2M>l FUT|pM7Fh2$c2F4_BcNc~ZR#}gYN5UBa DaYYWH delta 47 zcmV+~0MP%N1e*kqEC>h&FfFV_^nj5xPXqshgOP?U5oCm`ME|7+^2M>l FR{@a15+ncs diff --git a/graphics/pokemon/metapod/normal.pal b/graphics/pokemon/metapod/normal.pal index 6cb2733bf7..3aa2a9a5f9 100644 --- a/graphics/pokemon/metapod/normal.pal +++ b/graphics/pokemon/metapod/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -255 131 131 +152 208 160 57 74 65 74 106 82 106 139 90 diff --git a/graphics/pokemon/metapod/shiny.pal b/graphics/pokemon/metapod/shiny.pal index 809719422c..900c80de0e 100644 --- a/graphics/pokemon/metapod/shiny.pal +++ b/graphics/pokemon/metapod/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -255 131 131 +152 208 160 98 24 0 148 57 24 197 90 24 diff --git a/graphics/pokemon/nidoking/anim_front.png b/graphics/pokemon/nidoking/anim_front.png index 8b5209b3ab5670929b7d29e44672fb9f90bd3ac7..a08514474997b854565d1bff75c411f980df77f0 100644 GIT binary patch delta 47 zcmV+~0MP%~4%iNmEC>(*1{MUcL;#2d9Z0dn Flm=<&4!!^Y delta 47 zcmV+~0MP%~4%iNmEC>n%9}=Yf>#&hDPXmz1$dQIE5#XwuF#rGn0b)x>ME|7+^2M>l Flm^0<6PEx0 diff --git a/graphics/pokemon/nidoking/back.png b/graphics/pokemon/nidoking/back.png index 0282d3a3dbb0cc2f4153d6514acb31d3434d6f54..6291e963e107956d57787bb65c310dd8b1239587 100644 GIT binary patch delta 47 zcmX@ic9?B~4u=3Eo6M6`9;=Ba{>(EjEST7)E4cb{&36U{2F4_BcNc~ZR#}gYN9vgX Dbd(RD delta 47 zcmV+~0MP%#2EzuBEC>n%9~4cVPKA*)PXnB+tdWK-5ml;Gga7~l0b)x>ME|7+^2M>l Fe*$%85gh;k diff --git a/graphics/pokemon/nidoking/normal.pal b/graphics/pokemon/nidoking/normal.pal index cc92935f63..e78c26819f 100644 --- a/graphics/pokemon/nidoking/normal.pal +++ b/graphics/pokemon/nidoking/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -144 200 200 +152 208 160 255 255 255 230 230 213 197 197 164 diff --git a/graphics/pokemon/nidoking/shiny.pal b/graphics/pokemon/nidoking/shiny.pal index 5c8ea52d50..201c7fcc70 100644 --- a/graphics/pokemon/nidoking/shiny.pal +++ b/graphics/pokemon/nidoking/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -156 172 172 +152 208 160 255 255 255 230 213 213 197 180 164 diff --git a/graphics/pokemon/nidoqueen/anim_front.png b/graphics/pokemon/nidoqueen/anim_front.png index a5c6c39cfc6c2408c5e1d8f7fed7d47612ecc35e..58c6901a7b0519e0abfa580fe56244fbea29b3e9 100644 GIT binary patch delta 47 zcmey${gr!y4u=3Et8}2wsi=u2{>(EjEST7)E7-oIU>O4g17ni6y9+}HtE|VyBZjO1 Ddl?TR delta 47 zcmV+~0MP&S3-t?-EC>n#G6U`7MZ=LaPXj5{i;;#c5%b2w7ytkO0b)x>ME|7+^2M>l FF$J@M6086K diff --git a/graphics/pokemon/nidoqueen/back.png b/graphics/pokemon/nidoqueen/back.png index 4a4a01ae16d7307231a7bb7fad6ad1c7befbf483..356611ab5d9aa4acb3998a4418ed6814de92c3c0 100644 GIT binary patch delta 47 zcmZo?YiFCF!y&-PsyJOi_{BsMf94q%7EEl@6@0_6@FoKT17ni6y9+}HtE|VyBhE|! DSF{d? delta 47 zcmV+~0MP%328RZaEC>n#G6I_9byblxPXpD}w2_7_5#Q`}6aWAK0b)x>ME|7+^2M>l FLjs8y5!nC$ diff --git a/graphics/pokemon/nidoqueen/normal.pal b/graphics/pokemon/nidoqueen/normal.pal index 1072b0bea7..fbc98e54c5 100644 --- a/graphics/pokemon/nidoqueen/normal.pal +++ b/graphics/pokemon/nidoqueen/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -41 213 139 +152 208 160 255 255 255 208 200 200 238 230 164 diff --git a/graphics/pokemon/nidoqueen/shiny.pal b/graphics/pokemon/nidoqueen/shiny.pal index eb79180117..b97509da4c 100644 --- a/graphics/pokemon/nidoqueen/shiny.pal +++ b/graphics/pokemon/nidoqueen/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 255 255 213 213 213 246 205 213 diff --git a/graphics/pokemon/nidoran_f/anim_front.png b/graphics/pokemon/nidoran_f/anim_front.png index a3c57af26c404ac5e0d4bc5bb5d236857b7e62ab..a097c3a49e2d723092fc829feebd4d52117b940f 100644 GIT binary patch delta 47 zcmV+~0MP&B2IK~iEC>(*1S@Xt%eRpN`v3p{0b)x>L;#2d9Z0dn FpaP+85W)Ze delta 47 zcmV+~0MP&B2IK~iEC>k%E(ULaffSK6PXpN4c#(!J5fQb(0{{R30b)x>ME|7+^2M>l FpaOcp5iI}! diff --git a/graphics/pokemon/nidoran_f/back.png b/graphics/pokemon/nidoran_f/back.png index 3eb74f44c3a76dd40f70dff30d6dffc7365ebc75..d965882e74d7e6c8ae0b18b917d43e44905b108a 100644 GIT binary patch delta 47 zcmV+~0MP%H1(gMmEC>(*1T~c5_SBIyPXn0Hppk|x5$g!=cmMzZ0b)x>L;#2d9Z0dn F(E*i55W)Ze delta 47 zcmV+~0MP%H1(gMmEC>k%E&^!nMGcWOPXpfGy^)435!nuJ`~Uy|0b)x>ME|7+^2M>l F(E)k_5%vH8 diff --git a/graphics/pokemon/nidoran_f/normal.pal b/graphics/pokemon/nidoran_f/normal.pal index 2872525c60..b90fb5570f 100644 --- a/graphics/pokemon/nidoran_f/normal.pal +++ b/graphics/pokemon/nidoran_f/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -216 216 120 +152 208 160 238 238 255 213 213 255 172 172 205 diff --git a/graphics/pokemon/nidoran_f/shiny.pal b/graphics/pokemon/nidoran_f/shiny.pal index 1bbf5a7c2e..8faa3a85ff 100644 --- a/graphics/pokemon/nidoran_f/shiny.pal +++ b/graphics/pokemon/nidoran_f/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 189 +152 208 160 238 222 255 230 189 238 189 148 197 diff --git a/graphics/pokemon/nidoran_m/anim_front.png b/graphics/pokemon/nidoran_m/anim_front.png index e929d01502cceeab3567fa7b09026156d7785cbf..d000ae56a4980b15095816647f8be91836e7eff0 100644 GIT binary patch delta 46 zcmbQlHi>P54u=3Es~-D&zRHOv{!BA2Ol;K?^b7fH!@$76nB?v5!qCAg>#^~O9}@s7 CCk*-k delta 46 zcmV+}0MY-F29gGlEC>n#J2ZrxTZNG{PXfs3k%cZ1(Qcih00001VoOIv|D^}=#j(Ur E0(5Q>XaE2J diff --git a/graphics/pokemon/nidoran_m/back.png b/graphics/pokemon/nidoran_m/back.png index 7e35ec6fd804ce359503a09ffbc405ae4e1a69f2..0b72bd73dab6a20201a0984bb68ba2bb469383ac 100644 GIT binary patch delta 47 zcmV+~0MP%I1(pSnEC>(*1vL8o_XCkMPXn0Hppk|x5mx?ry#N3J0b)x>L;#2d9Z0dn F(gBbf5T^hD delta 47 zcmV+~0MP%I1(pSnEC>n#J2ms0YZH+)PXmkQL6L?n5l!?6Gynhq0b)x>ME|7+^2M>l F(gAII5dZ)H diff --git a/graphics/pokemon/nidoran_m/normal.pal b/graphics/pokemon/nidoran_m/normal.pal index ad03647e4a..53f48d4374 100644 --- a/graphics/pokemon/nidoran_m/normal.pal +++ b/graphics/pokemon/nidoran_m/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -200 232 160 +152 208 160 255 255 255 16 16 16 255 106 82 diff --git a/graphics/pokemon/nidoran_m/shiny.pal b/graphics/pokemon/nidoran_m/shiny.pal index 83a3892a63..da856f827d 100644 --- a/graphics/pokemon/nidoran_m/shiny.pal +++ b/graphics/pokemon/nidoran_m/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -139 230 65 +152 208 160 255 255 255 16 16 16 255 106 82 diff --git a/graphics/pokemon/nidorina/anim_front.png b/graphics/pokemon/nidorina/anim_front.png index 9c5bf97385c19873dea08c1ad49d3efed1b9dae7..2759f85b5ee82e2ce071f21afcc833cf36d8cfd2 100644 GIT binary patch delta 47 zcmV+~0MP%C2#^SnEC>(*1qVefmKBjSPXn0Hppk|x5!0=^_y7O^0b)x>L;#2d9Z0dn FOaoK;4#fZf delta 47 zcmbQhF@a-(4hJWTiEgoAQ~yL0f99;c#S`0f1>e`3_cAarFeZ7syZm3u{^{t(BR(*1r9v%F0qj`PXn0Hppk|x5jpMrw*UYD0b)x>L;#2d9Z0dn FZ~}Sr56A!j delta 47 zcmV+~0MP%m2DAo{EC>k%G%o5G(>0MaPXqsh0Fj0*5s13Ej{pDw0b)x>ME|7+^2M>l FZ~}y!5v%|J diff --git a/graphics/pokemon/nidorina/normal.pal b/graphics/pokemon/nidorina/normal.pal index 3aa9887ea9..e49d1f4514 100644 --- a/graphics/pokemon/nidorina/normal.pal +++ b/graphics/pokemon/nidorina/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -106 189 115 +152 208 160 255 255 255 213 213 213 131 131 131 diff --git a/graphics/pokemon/nidorina/shiny.pal b/graphics/pokemon/nidorina/shiny.pal index a9a96b7252..7d3a7dbd3b 100644 --- a/graphics/pokemon/nidorina/shiny.pal +++ b/graphics/pokemon/nidorina/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -255 131 0 +152 208 160 255 255 255 213 213 213 131 131 131 diff --git a/graphics/pokemon/nidorino/anim_front.png b/graphics/pokemon/nidorino/anim_front.png index 0d97497486c2a798d9c57b8fc19db5b652e76d1c..a00c09e470320426c3993114ce92ad19405633da 100644 GIT binary patch delta 47 zcmZqWXyuro!y&-P#@fKQn%5)GVNmME|7+^2M>l FK?7jC5R?D_ diff --git a/graphics/pokemon/nidorino/back.png b/graphics/pokemon/nidorino/back.png index 3b1e1142929274c28460ee16956d58b4fbdedc15..1b1a13d47e9bb7c8846dc0cfb14f2afdb2ddfbd8 100644 GIT binary patch delta 47 zcmbQkHivD34u=3E8+ZD)&c72){F!H5STM0oSI}*Z)(Zv(2F4_BcNc~ZR#}gYMn%5j5y?L&K3YPXl6$|B;3*5x%>uEdT%j0b)x>ME|7+^2M>l FSOSR&5zqht diff --git a/graphics/pokemon/nidorino/normal.pal b/graphics/pokemon/nidorino/normal.pal index fbcbdf17cf..2b114c6720 100644 --- a/graphics/pokemon/nidorino/normal.pal +++ b/graphics/pokemon/nidorino/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -144 200 200 +152 208 160 255 255 255 255 106 82 222 65 41 diff --git a/graphics/pokemon/nidorino/shiny.pal b/graphics/pokemon/nidorino/shiny.pal index 8d2bd5c5ea..aaa9beee95 100644 --- a/graphics/pokemon/nidorino/shiny.pal +++ b/graphics/pokemon/nidorino/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 139 255 +152 208 160 255 255 255 255 106 82 222 65 41 diff --git a/graphics/pokemon/ninetales/anim_front.png b/graphics/pokemon/ninetales/anim_front.png index f6c85ca51ebf98257644a1132bde9303efa821f4..3cc6d2db5de6f0388f0c81bb638761df8f2e0993 100644 GIT binary patch delta 47 zcmV+~0MP%;3d{(*2n+c&q;rupPXn0Hppk|x5vsz`-v9sr0b)x>L;#2d9Z0dn Fhy;>G5S9P{ delta 47 zcmV+~0MP%;3d{q#6C#vrO)QZ#PXm;c-jRka5kuf^umAu60b)x>ME|7+^2M>l Fhy;4)5qJOq diff --git a/graphics/pokemon/ninetales/back.png b/graphics/pokemon/ninetales/back.png index 20dc22959585488fb3ed9254f8117bc16e4c293b..247f7ad87c4fff9d737cd64e9e87e485cf1ccb8e 100644 GIT binary patch delta 47 zcmdnRx{Gy!4u=3EhagLMEayZMf94q%7EEl@75v;#5X->8z?kIi?!wT)D(kWF$Tvm+ DM_Ueg delta 47 zcmV+~0MP%s1-b>0EC>q#6DQ;WxucOZPXm;c-jRka5gMY;G5`Po0b)x>ME|7+^2M>l F_5p;_5&r-H diff --git a/graphics/pokemon/ninetales/normal.pal b/graphics/pokemon/ninetales/normal.pal index 25ef77125b..0153dceb73 100644 --- a/graphics/pokemon/ninetales/normal.pal +++ b/graphics/pokemon/ninetales/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 148 222 +152 208 160 255 255 255 255 106 41 222 32 16 diff --git a/graphics/pokemon/ninetales/shiny.pal b/graphics/pokemon/ninetales/shiny.pal index e8dc4f3d02..7a30db18a2 100644 --- a/graphics/pokemon/ninetales/shiny.pal +++ b/graphics/pokemon/ninetales/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 148 222 +152 208 160 255 255 255 255 106 41 222 32 16 diff --git a/graphics/pokemon/oddish/anim_front.png b/graphics/pokemon/oddish/anim_front.png index 16171c5b1e72c45283ea91eacd1e7201bf47974a..52528b719324f10c72c867e28be57cf169a54379 100644 GIT binary patch delta 47 zcmeyu@`YuB4u=3E7pE%k^1BmF{F!H5STM0oS5VmDNHYTi17ni6y9+}HtE|VyBO4e2 DYo`wG delta 47 zcmV+~0MP&R1oQ-uEC>$>11B%CZ5@#`PXpfG-jRka5pXjkhyVZp0b)x>MBeFc;+wI= FumOeE5yt=k diff --git a/graphics/pokemon/oddish/back.png b/graphics/pokemon/oddish/back.png index 73a7b82941ddafa8ef9f954ef76f95b531282ba1..b740e07e1c927cd714495a8c123a6dc0468552c4 100644 GIT binary patch delta 47 zcmV+~0MP&R1oQ-uEC>(*3J=U~0_c%6PXn0Hppk|x5y}YtL;#2d9Z0dn FumO^X5PSdt delta 47 zcmV+~0MP&R1oQ-uEC>q$Bpxck`>2sLPXpfG-jRka5vh9}?f?J)0b)x>ME|7+^2M>l FumQY06Ndl* diff --git a/graphics/pokemon/oddish/normal.pal b/graphics/pokemon/oddish/normal.pal index 0476c65097..c4e65e32ce 100644 --- a/graphics/pokemon/oddish/normal.pal +++ b/graphics/pokemon/oddish/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 180 41 49 238 57 49 diff --git a/graphics/pokemon/oddish/shiny.pal b/graphics/pokemon/oddish/shiny.pal index 94dc7c3a7d..f38fd4d706 100644 --- a/graphics/pokemon/oddish/shiny.pal +++ b/graphics/pokemon/oddish/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 255 255 255 180 41 49 238 57 49 diff --git a/graphics/pokemon/paras/anim_front.png b/graphics/pokemon/paras/anim_front.png index 6c1f8e90527aeb9b0f022ca03a6b4c6c208a0813..b22fccb1484f412439c226301837d09e1498f593 100644 GIT binary patch delta 47 zcmV+~0MP%;2h0bMEC>(*3mea`=hTrjPXn0Hppk|x5#|J*RR9100b)x>MAqlEYN@fr F2m`LZ5^4Yd delta 47 zcmV+~0MP%;2h0bMEC>w=G7E70r0|h6PXpH0y^)435g*nm+5i9m0b)x>L;#2d9Z0dn F2m_+@5HiX2 DT`vyd delta 47 zcmV+~0MP%71&alcEC>q(7#Oyi<%y9rPXpH0wULG`5!>NyCIA2c0b)x>ME|7+^2M>l F#{rsG64n3! diff --git a/graphics/pokemon/paras/normal.pal b/graphics/pokemon/paras/normal.pal index 80dac82ae5..731359747e 100644 --- a/graphics/pokemon/paras/normal.pal +++ b/graphics/pokemon/paras/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -214 214 189 +152 208 160 255 247 255 206 206 206 90 90 90 diff --git a/graphics/pokemon/paras/shiny.pal b/graphics/pokemon/paras/shiny.pal index 8b1b6942b7..9a99b14b80 100644 --- a/graphics/pokemon/paras/shiny.pal +++ b/graphics/pokemon/paras/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -214 214 181 +152 208 160 255 247 255 206 206 206 90 90 90 diff --git a/graphics/pokemon/parasect/anim_front.png b/graphics/pokemon/parasect/anim_front.png index 8041592b6b8b511233f77580e15e78c80eb85353..963b1485a175939031f03a54382ddadd5639a8e3 100644 GIT binary patch delta 47 zcmV+~0MP%D2$2YoEC>(*3oe-)BlnRsPXn0Hppk|x5y~jjwg3PC0b)x>L;#2d9Z0dn FO#@^*4(|W} delta 47 zcmV+~0MP%D2$2YoEC>q(As$hE%?6P)PXpD}w2_7_5&6UidjJ3c0b)x>ME|7+^2M>l FO#^n?5l;XB diff --git a/graphics/pokemon/parasect/back.png b/graphics/pokemon/parasect/back.png index 413120a9e9c27b4860a8773689962c57009fca56..3a5d5a80695315e9d1625d54bfb848194685d538 100644 GIT binary patch delta 47 zcmX@ea*$<$4u=3ExA8A2f4zw&{>(EjEST7)D=7XoXfFc;17ni6y9+}HtE|VyBejeG DX15O9 delta 47 zcmV+~0MP%z1i=K5EC>q(As;4s{g9C~PXpD}w2_7_5hNLgZ~y=R0b)x>ME|7+^2M>l FeF1{J5mo>I diff --git a/graphics/pokemon/parasect/normal.pal b/graphics/pokemon/parasect/normal.pal index f29b8e7824..9aec34687b 100644 --- a/graphics/pokemon/parasect/normal.pal +++ b/graphics/pokemon/parasect/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 246 255 213 213 213 156 139 164 diff --git a/graphics/pokemon/parasect/shiny.pal b/graphics/pokemon/parasect/shiny.pal index a2d944c308..a2ea6ecd90 100644 --- a/graphics/pokemon/parasect/shiny.pal +++ b/graphics/pokemon/parasect/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 246 255 213 213 213 156 139 164 diff --git a/graphics/pokemon/persian/anim_front.png b/graphics/pokemon/persian/anim_front.png index e45a0bbbc035214a1168a885b5307f342e3e6565..72e34fad13670d991c59bc26e9edfadebc73885f 100644 GIT binary patch delta 47 zcmV+~0MP&M3hxS#EC>(*4g%J*yHSxePXn0Hppk|x5#ppJjsO4v0b)x>L;#2d9Z0dn Fs|1;Q5NQAa delta 47 zcmV+~0MP&M3hxS#EC>q)7!l5dHyV*NPXl7bl#zxl5!SQaKL7v#0b)x>ME|7+^2M>l Fs|1cG5*`2m diff --git a/graphics/pokemon/persian/back.png b/graphics/pokemon/persian/back.png index e763e480e1ee5224dd21790eb6fcb280aafe7fda..9dc29f554b5b5a7b4f392f04c2a4eceb7c02052c 100644 GIT binary patch delta 47 zcmcb?dV_U>4u=3EABS05kpDyzf94q%7EEl@6?Eo3{eXdificP3-G!lpRn}wU5fLT; DStkw% delta 47 zcmV+~0MP%~1=t0UEC>q)7y;8WCw`GMPXpD}w2_7_5pdxjEdT%j0b)x>ME|7+^2M>l F6as!`5a0j+ diff --git a/graphics/pokemon/persian/normal.pal b/graphics/pokemon/persian/normal.pal index 95644dc64b..02c30235ba 100644 --- a/graphics/pokemon/persian/normal.pal +++ b/graphics/pokemon/persian/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 197 148 +152 208 160 255 255 255 222 222 222 16 16 16 diff --git a/graphics/pokemon/persian/shiny.pal b/graphics/pokemon/persian/shiny.pal index fe2cdc1762..0fe2913277 100644 --- a/graphics/pokemon/persian/shiny.pal +++ b/graphics/pokemon/persian/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 255 255 222 222 222 16 16 16 diff --git a/graphics/pokemon/pidgeot/anim_front.png b/graphics/pokemon/pidgeot/anim_front.png index 8ecac9dc45972577ef1b2f30983d6cf5193fbfab..2a9f7c588779fa6e4e30cd17b0fabb7f07a50a12 100644 GIT binary patch delta 47 zcmV+~0MP%r3%LuBEC>()J1aNxi@cFEPXn0Hppk|x5pW9X-T(jq0b)x>L;#2d9Z0dn F^#qIl5P|>z delta 47 zcmV+~0MP%r3%LuBEC>h+6*sWXBzciEPXnZ+|B;3*5z0U?@&Et;0b)x>ME|7+^2M>l F^#qj#60QIM diff --git a/graphics/pokemon/pidgeot/back.png b/graphics/pokemon/pidgeot/back.png index 219d6732b975fa11afd0fad37b755a122f80fe8d..183b1254b36c2a6b69d38e2350a6d43b63a2eb4c 100644 GIT binary patch delta 47 zcmV+~0MP&S2K5GzEC>()J2NDn6Y7yPPXn0Hppk|x5&Jx^0ssI20b)x>L;#2d9Z0dn Fu>ym(52pYC delta 47 zcmV+~0MP&S2K5GzEC>h+6**US34W0@PXnZ+|B;3*5kYo!E&u=k0b)x>ME|7+^2M>l Fu>yT)5kCL` diff --git a/graphics/pokemon/pidgeot/normal.pal b/graphics/pokemon/pidgeot/normal.pal index 1686410c8c..43afea2f11 100644 --- a/graphics/pokemon/pidgeot/normal.pal +++ b/graphics/pokemon/pidgeot/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -164 164 255 +152 208 160 255 255 255 197 180 197 255 246 189 diff --git a/graphics/pokemon/pidgeot/shiny.pal b/graphics/pokemon/pidgeot/shiny.pal index 5b97e1df10..d97921941b 100644 --- a/graphics/pokemon/pidgeot/shiny.pal +++ b/graphics/pokemon/pidgeot/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -164 164 255 +152 208 160 255 255 255 197 180 197 255 255 164 diff --git a/graphics/pokemon/pidgeotto/anim_front.png b/graphics/pokemon/pidgeotto/anim_front.png index aae6ca4ae0abbe35497fbfeb4749e8988589e484..49fc12c0bc42ba1d39fab49120807a31a95480fd 100644 GIT binary patch delta 47 zcmdnYxtVi<4u=4PwN#o;ciTi0f94q%7EEl@73|sKdzpcOficP3-G!lpRn}wUk@w61 DZd(tl delta 47 zcmV+~0MP%l39|{1EC>h*9|9iKwuzB6PXma6fRTnR5xp_T`2YX_0b)x>ME|7+^2M>l F?*oH65<~z1 diff --git a/graphics/pokemon/pidgeotto/back.png b/graphics/pokemon/pidgeotto/back.png index bef429253edd42315a34bda934224d8cfd889a0d..d0732f02425306732a2361fd7052cb82f5fd7c66 100644 GIT binary patch delta 47 zcmV+~0MP&L2JQxsEC>()J0PGSQZ$h?PXn0Hppk|x5h>Hp?f?J)0b)x>L;#2d9Z0dn Fsseot57z(y delta 47 zcmV+~0MP&L2JQxsEC>h*9|4Em=QEKsPXo=xtdWK-5xMJQ`v3p{0b)x>ME|7+^2M>l Fssg-H6T|=j diff --git a/graphics/pokemon/pidgeotto/normal.pal b/graphics/pokemon/pidgeotto/normal.pal index 39b4441d56..30dbaad1b2 100644 --- a/graphics/pokemon/pidgeotto/normal.pal +++ b/graphics/pokemon/pidgeotto/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -136 128 128 +152 208 160 255 255 255 213 213 222 123 123 131 diff --git a/graphics/pokemon/pidgeotto/shiny.pal b/graphics/pokemon/pidgeotto/shiny.pal index b8be05c54f..5b765939f8 100644 --- a/graphics/pokemon/pidgeotto/shiny.pal +++ b/graphics/pokemon/pidgeotto/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 197 172 +152 208 160 255 255 255 213 213 222 123 123 131 diff --git a/graphics/pokemon/pidgey/anim_front.png b/graphics/pokemon/pidgey/anim_front.png index fdaa27cebbc7524a7b0c8ee4e873f7f24e9448e3..77cd7c2ba9aca2944ed73e364f094c07ad5c1fe5 100644 GIT binary patch delta 47 zcmX@iahPL*4u=4PHCvJH^^+4#{F!H5STM0oSCA)HWC8;N17ni6y9+}HtE|VyBlXMx DYmN?{ delta 47 zcmV+~0MP%#2*U`FEC>h)1~ojZ(5aC$PXjr$|B;3*5#Dm2bN~PV0b)x>ME|7+^2M>l Fe*>1N5>o&G diff --git a/graphics/pokemon/pidgey/back.png b/graphics/pokemon/pidgey/back.png index f9ac5dd3e18a9d24bdee572875ea4e05ffd633b2..a77982bb0a994d315fdb0985ac6bc6f902d75b05 100644 GIT binary patch delta 47 zcmV+~0MP%~1=t0UEC>()I}DQeKG%^nPXn0Hppk|x5oFJ%L;#2d9Z0dn F6at@a5L^HN delta 47 zcmcb?dV_U>4hIJZo7vJujlvU6{FyDc{GZsSE4b}~E&~uSCV9KN{9nrc>FCBIB1`~( Cn-JFk diff --git a/graphics/pokemon/pidgey/normal.pal b/graphics/pokemon/pidgey/normal.pal index 0136a71b0d..4081f468a2 100644 --- a/graphics/pokemon/pidgey/normal.pal +++ b/graphics/pokemon/pidgey/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -57 180 255 +152 208 160 255 255 255 189 189 189 131 131 131 diff --git a/graphics/pokemon/pidgey/shiny.pal b/graphics/pokemon/pidgey/shiny.pal index 95463e30a8..ae4b6c8dd9 100644 --- a/graphics/pokemon/pidgey/shiny.pal +++ b/graphics/pokemon/pidgey/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -57 180 255 +152 208 160 255 255 255 189 189 189 131 131 131 diff --git a/graphics/pokemon/pikachu/anim_front.png b/graphics/pokemon/pikachu/anim_front.png index 17e81e6464aeefa8f1e899d44ec1ff1d09e21233..b0bd433157d4f886720fee8dfb77a9c5b23e8209 100644 GIT binary patch delta 47 zcmZ3=v6N$i4u=3EleH>yP3S}uf94q%7EEl@71U{aeUgEJficP3-G!lpRn}wUkwj(y DOw$fT delta 47 zcmZ3=v6N$i4hJVQvrvG&B=bZQf99)Kw@hr)6_n4iXJKGqU`+CMclp1R{nOEnM-rI< DIf4%L diff --git a/graphics/pokemon/pikachu/anim_frontf.png b/graphics/pokemon/pikachu/anim_frontf.png index 650181f81751a081af79ada5c39477f6aae5bfb3..25dd9a0d6cfceeebc56c19cc7471cc620a35dcfa 100644 GIT binary patch delta 47 zcmZ3*v5I4Y4u=3EGqZ@)*RF{s{>(EjEST7)E2z`<`XmDb17ni6y9+}HtE|VyBWcV4 DUSAH- delta 47 zcmV+~0MP%c2&xE>EC>k$12OVgXmOD=PXpD}w2_7_5g%$l1ONa40b)x>ME|7+^2M>l FW&?7v5Ssu1 diff --git a/graphics/pokemon/pikachu/back.png b/graphics/pokemon/pikachu/back.png index c5773ae956f3c83effc0bb6fff9dd6bff1242577..c18078cfd634b60bbd76121cce652fd8c95c3531 100644 GIT binary patch delta 47 zcmcc4dYyHG4u=3EGv}A{GE*j+_%qMAuwY`Fu3&7^19t`n2F4_BcNc~ZR#}gYM}(OG DfvXQ3 delta 47 zcmV+~0MP%}1=j_TEC>k$1sVvxHn)*9PXm;cl#zxl5i6K72LJ#70b)x>ME|7+^2M>l F69Ql=52OG9 diff --git a/graphics/pokemon/pikachu/backf.png b/graphics/pokemon/pikachu/backf.png index 8bc9f295388f10a8eefbe166903df771eda3aef1..9f0166b3d3532a277293efa519f87d7a64767266 100644 GIT binary patch delta 47 zcmcc5dY^TI4u=3EGf&IX7t#|={F!H5STM0oS1>l|fja{O17ni6y9+}HtE|VyBhpL& DdkYTm delta 47 zcmV+~0MP&61>XgbEC>k$1_iF0Xn~P5PXm;cl#zxl5i6K72LJ#70b)x>ME|7+^2M>l F8v=545GMct diff --git a/graphics/pokemon/pikachu/normal.pal b/graphics/pokemon/pikachu/normal.pal index d07bd128b1..057bc45b8a 100644 --- a/graphics/pokemon/pikachu/normal.pal +++ b/graphics/pokemon/pikachu/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 0 0 0 255 246 164 246 230 82 diff --git a/graphics/pokemon/pikachu/shiny.pal b/graphics/pokemon/pikachu/shiny.pal index d4863c73eb..524daf09fa 100644 --- a/graphics/pokemon/pikachu/shiny.pal +++ b/graphics/pokemon/pikachu/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 148 148 +152 208 160 0 0 0 255 230 131 255 197 49 diff --git a/graphics/pokemon/poliwag/anim_front.png b/graphics/pokemon/poliwag/anim_front.png index 2a48186b6c17ba7317e329d838f9f6e317380bee..c12b15600b7c135798552e63f4bf705278a3e144 100644 GIT binary patch delta 47 zcmV+~0MP&Q2J;4xEC>(*5HQLm)eey~PXn0Hppk|x5%-lwq5uE@0b)x>ME2a$-G8@mD?@W<2PXqS7_K}7y5w+7fZU6uP0b)x>L;#2d9Z0dn FuL88;5l{dC diff --git a/graphics/pokemon/poliwag/back.png b/graphics/pokemon/poliwag/back.png index fa1619601934c870c4a3d1e2bd24e186cb2a7a6d..d85f353b2ff623f2b489c914763da620d143e3c6 100644 GIT binary patch delta 46 zcmdnVypwr?4u=4vfO&|c!`g`^{>(EjEST7)EBJRRFAoC)17ni6y9+}HtE|VwBVPeb Cz7DGZ delta 46 zcmV+}0MY-s1Gxi`EC>w*3<23R#lVp?PXqS7_K}7y5x>)NzyJUM0b)x>ME|7+^2L$F E^_r&>s{jB1 diff --git a/graphics/pokemon/poliwag/normal.pal b/graphics/pokemon/poliwag/normal.pal index dae35ee461..3fddb21d15 100644 --- a/graphics/pokemon/poliwag/normal.pal +++ b/graphics/pokemon/poliwag/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -246 189 246 +152 208 160 255 255 255 200 200 200 180 172 189 diff --git a/graphics/pokemon/poliwag/shiny.pal b/graphics/pokemon/poliwag/shiny.pal index f254ab973e..065f2ac3c0 100644 --- a/graphics/pokemon/poliwag/shiny.pal +++ b/graphics/pokemon/poliwag/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -246 189 246 +152 208 160 255 255 255 222 222 222 180 172 189 diff --git a/graphics/pokemon/poliwhirl/anim_front.png b/graphics/pokemon/poliwhirl/anim_front.png index 2bf6224f46824fba42baece9b17fc27b0ba27e06..e3dbb03ce805a26bf5787c2674a48d49d90aae8e 100644 GIT binary patch delta 47 zcmeC+?BJZB!y&*Z$no1I=Hf&Xf94q%7EEl@72L44>mmaK17ni6y9+}HtE|VyBS)A4 DcRmmZ delta 47 zcmV+~0MP%435W@hEC>w*CpTdJtuT=^PXl7Ki;;#c5qHIs_y7O^0b)x>ME|7+^2M>l F!~=rt5<36@ diff --git a/graphics/pokemon/poliwhirl/back.png b/graphics/pokemon/poliwhirl/back.png index 81f7b2b791a7bbcd01f8e214957a059194889416..b0c6138b14ed1495085bef886c58ab71882b113f 100644 GIT binary patch delta 47 zcmV+~0MP%{1l0tPEC>(*5eL;#2d9Z0dn FkpYJ(5JLa} delta 47 zcmV+~0MP%{1l0tPEC>w*CpH)Pou-jAPXp$A=8=Xi5!0J9wg3PC0b)x>ME|7+^2M>l FkpZZx6662? diff --git a/graphics/pokemon/poliwhirl/normal.pal b/graphics/pokemon/poliwhirl/normal.pal index 5c8aa8518b..741a92a08c 100644 --- a/graphics/pokemon/poliwhirl/normal.pal +++ b/graphics/pokemon/poliwhirl/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 180 139 +152 208 160 255 255 255 213 213 222 189 189 189 diff --git a/graphics/pokemon/poliwhirl/shiny.pal b/graphics/pokemon/poliwhirl/shiny.pal index d998f2b2b4..0fcd67b82d 100644 --- a/graphics/pokemon/poliwhirl/shiny.pal +++ b/graphics/pokemon/poliwhirl/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -230 123 230 +152 208 160 255 255 255 213 213 222 189 189 189 diff --git a/graphics/pokemon/poliwrath/anim_front.png b/graphics/pokemon/poliwrath/anim_front.png index ecc0b54778e8844688d0f7f9817798a0f063d755..5051a0445c2a98e49c4d69995c2c6060b7a6b503 100644 GIT binary patch delta 47 zcmX@Yb%bkz4u=4vpyb4!8s&*5{>(EjEST7)E9kLri5dd~17ni6y9+}HtE|VyBMmG7 DXQU3m delta 47 zcmV+~0MP%$3d9PKEC>w>5D7a5J*AN}PXl7Ki;;#c5s%iq4*&oF0b)x>ME|7+^2M>l FfCOGj5QP8$ diff --git a/graphics/pokemon/poliwrath/back.png b/graphics/pokemon/poliwrath/back.png index 7137d37c8dc7db4aff53973e67965950bfa8390a..de5df03f67843f705ce63d896e1f07c2bc0b5b7f 100644 GIT binary patch delta 47 zcmcb~dXsg64u=4vpu)M%FWM7L{F!H5STM0oS8$DZM-c-917ni6y9+}HtE|VyBcez?3n(^b0b)x>ME|7+^2M>l F+XH>y5t9G_ diff --git a/graphics/pokemon/ponyta/back.png b/graphics/pokemon/ponyta/back.png index ffca1fd274f675d5ad42b98590a2a1b27a1f5f26..64f3ae87ec28d7f85636300e889f7df06f8d2dd0 100644 GIT binary patch delta 47 zcmV+~0MP%Y2Brp(EC>(*7Y0h+)=-f&PXn0Hppk|x5$xNyumAu60b)x>L;#2d9Z0dn FVgiRN5I+C_ delta 47 zcmV+~0MP%Y2Brp(EC>z?3n{znc^Q#3PXlxAw2_7_5p|(FnE(I)0b)x>ME|7+^2M>l FVgiFR5rF^z diff --git a/graphics/pokemon/ponyta/normal.pal b/graphics/pokemon/ponyta/normal.pal index 78c4803716..59e2afebe5 100644 --- a/graphics/pokemon/ponyta/normal.pal +++ b/graphics/pokemon/ponyta/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -90 205 148 +152 208 160 0 0 0 255 255 255 255 238 205 diff --git a/graphics/pokemon/ponyta/shiny.pal b/graphics/pokemon/ponyta/shiny.pal index 8aab21669c..b778aec8ad 100644 --- a/graphics/pokemon/ponyta/shiny.pal +++ b/graphics/pokemon/ponyta/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -115 238 180 +152 208 160 0 0 0 255 255 255 255 255 222 diff --git a/graphics/pokemon/primeape/anim_front.png b/graphics/pokemon/primeape/anim_front.png index b4b5cfbba2d7756397a837e630b35d5c4737e671..85cec29524025f6ab6db8950c821022ee4ece5e9 100644 GIT binary patch delta 47 zcmaFK^^$9X4u=3Ezivw9cF&0>{>(EjEST7)E7t)9vuyRjyaJuPXk)LoRNkt5n^!nc>n+a0b)x>ME|7+^2M>l Fr383l5n%uT diff --git a/graphics/pokemon/primeape/back.png b/graphics/pokemon/primeape/back.png index 9b698ccf1c885090d8c430d42d1fc049d4c701e5..ec73da889bdb0aa2703c1d178bff24d71840564a 100644 GIT binary patch delta 47 zcmaFL`jmBo4u=3Ezwx}XF0F|s{>(EjEST7)D=46)wwQr|ficP3-G!lpRn}wU5k)2d DWl;_8 delta 47 zcmV+~0MP&C1?2^hEC>t)9w8zU^1hKYPXqt||B;3*5jY?$1poj50b)x>ME|7+^2M>l FAp(h?5b*#2 diff --git a/graphics/pokemon/primeape/normal.pal b/graphics/pokemon/primeape/normal.pal index 067f112852..ef74715fdc 100644 --- a/graphics/pokemon/primeape/normal.pal +++ b/graphics/pokemon/primeape/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -90 189 156 +152 208 160 255 255 255 197 197 197 123 123 123 diff --git a/graphics/pokemon/primeape/shiny.pal b/graphics/pokemon/primeape/shiny.pal index 3c3537ff1b..b6a27d36a1 100644 --- a/graphics/pokemon/primeape/shiny.pal +++ b/graphics/pokemon/primeape/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -255 255 255 +152 208 160 255 255 255 197 197 197 123 123 123 diff --git a/graphics/pokemon/psyduck/anim_front.png b/graphics/pokemon/psyduck/anim_front.png index e05b74713d9580a8c5721eff865bb445da5cf1a9..561b367a763d41b1071b072809af3578c5102f62 100644 GIT binary patch delta 47 zcmV+~0MP&A2IB^hEC>(*4je4JhBA>fPXn0Hppk|x5gzF+Hvj+t0b)x>M2qroN8qu< Fp8|A@5VHUP delta 47 zcmaFN_Lyyg4hIjjwNOD_=&6Y&{>Yh7ML)kBvv>GXVf^ C$PUB+ diff --git a/graphics/pokemon/psyduck/back.png b/graphics/pokemon/psyduck/back.png index 3e91ab25c523b3779df71a587758cfb253b68dce..855d8aa43e101e58fbe8b312c841040610fa22e3 100644 GIT binary patch delta 47 zcmV+~0MP%f1g!*+EC>(*4kGQ{o0*X`PXn0Hppk|x5uXo=)&Kwi0b)x>L;#2d9Z0dn FX#tHc5Apy2 delta 47 zcmV+~0MP%f1g!*+EC>t(2mp7iL9&rFPXq4m?vaKq5kY`7IRF3v0b)x>ME|7+^2M>l FX#sqc5i$S( diff --git a/graphics/pokemon/psyduck/normal.pal b/graphics/pokemon/psyduck/normal.pal index 57cd38f092..56e9584cf3 100644 --- a/graphics/pokemon/psyduck/normal.pal +++ b/graphics/pokemon/psyduck/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -139 197 115 +152 208 160 255 238 189 246 222 139 222 180 82 diff --git a/graphics/pokemon/psyduck/shiny.pal b/graphics/pokemon/psyduck/shiny.pal index 45725bdae2..8f51e6fa70 100644 --- a/graphics/pokemon/psyduck/shiny.pal +++ b/graphics/pokemon/psyduck/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -238 238 238 +152 208 160 230 255 255 180 222 246 156 180 205 diff --git a/graphics/pokemon/raichu/anim_front.png b/graphics/pokemon/raichu/anim_front.png index b44174258db2ca879316637a4180574253a672c5..5466c93f49a6847763d46359a449ab9d1578d6c9 100644 GIT binary patch delta 47 zcmaFO{hE7%4u=3Evow2I?wyGy{>(EjEST7)E9l9vuY!SrficP3-G!lpRn}wU5p`Ao DYv&GS delta 47 zcmV+~0MP&I3+oGzEC>k$F$35CZGe$9PXpD}w2_7_5qj)uwEzGB0b)x>ME|7+^2M>l FCk4T>6F&d| diff --git a/graphics/pokemon/raichu/anim_frontf.png b/graphics/pokemon/raichu/anim_frontf.png index fff9306e739befb003a566ac44610281da191e58..59d4b43535acb8b677ebe520fcfbead47bd330c2 100644 GIT binary patch delta 47 zcmaFH{fv8p4u=3Evs}5%%;1S8{>(EjEST7)E9l9vuY!SrficP3-G!lpRn}wU5hYdt DVj&I^ delta 47 zcmV+~0MP&D3+4-uEC>k$FBpm2o3oKLPXpD}w2_7_5qj)uwEzGB0b)x>ME|7+^2M>l FA_c!>6EXk* diff --git a/graphics/pokemon/raichu/back.png b/graphics/pokemon/raichu/back.png index 9b15db38834789ca144a426d195933fb6a6f1a6e..8cf42c3a020edc1fbcc736b78a5b2b5d8d1cdb6a 100644 GIT binary patch delta 47 zcmcb_dWm&{4u=3Ev&u#RhldkQ{F!H5STM0oSMZLV_!9;O2F4_BcNc~ZR#}gYNBEck Da-t5# delta 47 zcmV+~0MP%^1=0nOEC>k$GYXs)x2BOaPXm;_=8=Xi5yL%@X#fBK0b)x>ME|7+^2M>l F4g!x~5rzN& diff --git a/graphics/pokemon/raichu/normal.pal b/graphics/pokemon/raichu/normal.pal index d37f7d0552..d29868af5a 100644 --- a/graphics/pokemon/raichu/normal.pal +++ b/graphics/pokemon/raichu/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 0 0 0 255 238 213 230 205 164 diff --git a/graphics/pokemon/raichu/shiny.pal b/graphics/pokemon/raichu/shiny.pal index 77ae282abe..385105d291 100644 --- a/graphics/pokemon/raichu/shiny.pal +++ b/graphics/pokemon/raichu/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 189 230 +152 208 160 0 0 0 255 230 213 230 197 156 diff --git a/graphics/pokemon/rapidash/anim_front.png b/graphics/pokemon/rapidash/anim_front.png index 290e8533d17de88bf430a3ebde220d53c5da9b11..34d8eda272628ee07a603279ca9d554b2df34c10 100644 GIT binary patch delta 47 zcmeC@>*t%G!y&*ZE)>ARq&v~XpLxcG1rytJ1(UA`KV@KGU`+CMcVXyYmG#(o#G4HO DF>MV{ delta 47 zcmeC@>*t%G!@xO17ni6y9+}HtE|VyBRiP@ DeOV6$ delta 47 zcmV+~0MP&a2K@$*EC>z?9s^h9R@;#@PXoQ~q>+X#5hJ4xh5!Hn0b)x>ME|7+^2M>l FxdNdX5>WsE diff --git a/graphics/pokemon/rapidash/normal.pal b/graphics/pokemon/rapidash/normal.pal index 5919293aaa..9adbea5028 100644 --- a/graphics/pokemon/rapidash/normal.pal +++ b/graphics/pokemon/rapidash/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -74 189 123 +152 208 160 0 0 0 255 255 255 255 230 197 diff --git a/graphics/pokemon/rapidash/shiny.pal b/graphics/pokemon/rapidash/shiny.pal index ce86803115..0d72a91bd6 100644 --- a/graphics/pokemon/rapidash/shiny.pal +++ b/graphics/pokemon/rapidash/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -189 238 164 +152 208 160 0 0 0 255 255 255 255 246 213 diff --git a/graphics/pokemon/raticate/anim_front.png b/graphics/pokemon/raticate/anim_front.png index 6f425e48dcada67bc93d80dca7dcce4de1132e16..749a46a485cb95c02c708f128ccdce81e97bde10 100644 GIT binary patch delta 47 zcmey)`JHou4u=3EBjX9BZz>Z_{F!H5STM0oSI|xM<_iV}2F4_BcNc~ZR#}gYM~qnj Df;10P delta 47 zcmV+~0MP&U3HJ$*EC>h+CN-+7AZ3v>PXo=(tdWK-5i2($R{#J20b)x>ME|7+^2M>l FGX#l75a0j+ diff --git a/graphics/pokemon/raticate/anim_frontf.png b/graphics/pokemon/raticate/anim_frontf.png index 862be96b07e8e5b861b122e6e8613b1954419da1..4fe3760774839dc2c743e0a7193e7557bee3a52a 100644 GIT binary patch delta 47 zcmcb^d53d?4u=3EBge*nehm{%{F!H5STM0oSI|xM<_iV}2F4_BcNc~ZR#}gYMh+Br%`xhW?Q>PXo=(tdWK-5i2($R{#J20b)x>ME|7+^2M>l F7zC%J5yAif diff --git a/graphics/pokemon/raticate/back.png b/graphics/pokemon/raticate/back.png index 2cbf1856437090ce25e2a72b2b39e1e39d04acc7..a60844844fd6a66ffe35d30457669f4e70ba4ff6 100644 GIT binary patch delta 47 zcmX@bc8YC+4u=3EBftKv+sYG7{F!H5STM0oS8%?hObY`817ni6y9+}HtE|VyBW+9o DTptcW delta 47 zcmV+~0MP%+2FeDIEC>h+B`oFb+h&n8PXo=(tdWK-5%LS?I{*Lx0b)x>ME|7+^2M>l Fh61|~6GQ+2 diff --git a/graphics/pokemon/raticate/backf.png b/graphics/pokemon/raticate/backf.png index b5452c0467898fc0c7a554bda4ea62ccaad9fdc9..e9ddb16a0ec9a5b367e156bd04e9d0de06d8ef84 100644 GIT binary patch delta 47 zcmX@cc8qO;4u=3Eqma*>?Y}0P_%qMAuwY`FuHbx0nHB~H2F4_BcNc~ZR#}gYN1B)b Dc3%$) delta 47 zcmV+~0MP%&2F3=EEC>h+C<=m3Al8vIPXo=(tdWK-5%LS?I{*Lx0b)x>ME|7+^2M>l Ff&zyT5zGJp diff --git a/graphics/pokemon/raticate/normal.pal b/graphics/pokemon/raticate/normal.pal index cd7b781c26..2bf8c9eba1 100644 --- a/graphics/pokemon/raticate/normal.pal +++ b/graphics/pokemon/raticate/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 255 255 255 255 205 156 197 131 82 diff --git a/graphics/pokemon/raticate/shiny.pal b/graphics/pokemon/raticate/shiny.pal index a96f14a675..c6423b6132 100644 --- a/graphics/pokemon/raticate/shiny.pal +++ b/graphics/pokemon/raticate/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 255 255 255 255 205 156 197 131 82 diff --git a/graphics/pokemon/rattata/anim_front.png b/graphics/pokemon/rattata/anim_front.png index 64a72f5d8accf5542dc37432d26f3b006f33c4f9..dd52fb08f372bce86e72c16fc11a7878cf7280cd 100644 GIT binary patch delta 47 zcmV+~0MP&T2KEM!EC>(*014mXPgjvNPXn0Hppk|x5eCDNtpET30b)x>L;#2d9Z0dn FvI34n5DfqT delta 47 zcmV+~0MP&T2KEM!EC>h+A0*D7jV+NhPXlnU=#hpk5%|>FBme*a0b)x>ME|7+^2M>l FvI4LR6FUF^ diff --git a/graphics/pokemon/rattata/anim_frontf.png b/graphics/pokemon/rattata/anim_frontf.png index 8dc14922a8e0b8c659a72d5297397a26bbe87aa5..a941ba16423d7210c45e83590329c43bf85cec50 100644 GIT binary patch delta 47 zcmeyw_K9tR4u=3EgH&`3U*|*h+960f_f}xQ#PXlnU=#hpk5%|>FBme*a0b)x>ME|7+^2M>l Ft^&p@6W{;< diff --git a/graphics/pokemon/rattata/back.png b/graphics/pokemon/rattata/back.png index 2d75f6bb9f59b010026e21f4ea395bcd5f5307f2..96d5f5f82679871f5e022e3b9a44c2e48c551ad8 100644 GIT binary patch delta 47 zcmeBT?P8sv!y&-PpfR~So^zs!Kl6+W3nsSd3O=cjb7Np&U`+CMcVXyYmG#(o(EjEST7)EBK^B&W(YAficP3-G!lpRn}wUk$sE+ DT;mSN delta 47 zcmZo-ZDO6E!@&W_857%d1*aEvWH2x=FeZ7syZm3u{^{t(Bl{Qu DYlsmZ diff --git a/graphics/pokemon/rattata/normal.pal b/graphics/pokemon/rattata/normal.pal index 424cf2abc2..d36de4ac5d 100644 --- a/graphics/pokemon/rattata/normal.pal +++ b/graphics/pokemon/rattata/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -112 176 232 +152 208 160 255 255 255 230 90 115 164 24 57 diff --git a/graphics/pokemon/rattata/shiny.pal b/graphics/pokemon/rattata/shiny.pal index 757bdf4366..29c9672e1f 100644 --- a/graphics/pokemon/rattata/shiny.pal +++ b/graphics/pokemon/rattata/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -136 88 104 +152 208 160 255 255 255 123 139 222 65 82 164 diff --git a/graphics/pokemon/sandshrew/anim_front.png b/graphics/pokemon/sandshrew/anim_front.png index bd152e6b1cf5700cf2c3500aa0a32ffcf9ea908d..cd573e51f87b9c3f6e7466965bf935acbd843145 100644 GIT binary patch delta 47 zcmZo*Z(yIG!y&-PY)U`+CMcVXyYmG#(oWDgSn DLgEe@ delta 47 zcmV+~0MP${2Y?5VEC>k%2m{!dPXjrugOP?U5lGB-1^@s60b)x>ME|7+^2M>l FyaH$O5aIv; diff --git a/graphics/pokemon/sandshrew/back.png b/graphics/pokemon/sandshrew/back.png index d5407920b4c0caef392ebf2868ba65890949aa98..941e0efe9ec919e1291ae1fe79fabb7e6ce75d64 100644 GIT binary patch delta 47 zcmV+~0MP%(1;+)DEC>(*1O&xD_U@51PXn0Hppk|x5iL;#2d9Z0dn F0|Jt!58MC% delta 47 zcmV+~0MP%(1;+)DEC>k%2m{!dPXqR}&5?#J5k!sDdH?_b0b)x>ME|7+^2M>l F0|KTw5>WsE diff --git a/graphics/pokemon/sandshrew/normal.pal b/graphics/pokemon/sandshrew/normal.pal index fab5269190..fe0c6179e1 100644 --- a/graphics/pokemon/sandshrew/normal.pal +++ b/graphics/pokemon/sandshrew/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -57 172 131 +152 208 160 255 255 255 255 0 255 238 222 16 diff --git a/graphics/pokemon/sandshrew/shiny.pal b/graphics/pokemon/sandshrew/shiny.pal index 9221627110..d6d529d958 100644 --- a/graphics/pokemon/sandshrew/shiny.pal +++ b/graphics/pokemon/sandshrew/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -246 180 205 +152 208 160 255 255 255 255 0 255 172 222 74 diff --git a/graphics/pokemon/sandslash/anim_front.png b/graphics/pokemon/sandslash/anim_front.png index e0ea66a2588bb03da7cb189079f83550637bce31..b43561b116fccc4aaee865e1d59ad35c4b244616 100644 GIT binary patch delta 47 zcmZ3^wVZ2$4u=3Ei{Oe!LaY-_{F!H5STM0oS5Vk%BsD6(2#Aq1PXny1gOP?U5q;Hcng9R*0b)x>ME|7+^2M>l FV+3$U5gY&j diff --git a/graphics/pokemon/sandslash/back.png b/graphics/pokemon/sandslash/back.png index c8ca4f10834be6a3abe5e1801ea4fcf774e3ef2c..0813bc9f987f938de0d66d3cc7855c4f521d62ce 100644 GIT binary patch delta 47 zcmaFG_KIzS4u=3Ei^N5{RSPGY_%qMAuwY`FuAp=dPZk3M17ni6y9+}HtE|VyBg>co Db}|m- delta 47 zcmV+~0MP&H2I>ZoEC>k%Bq&L_WKoecPXq3YgOP?U5!TI%^#A|>0b)x>ME|7+^2M>l FrUIc|68HcB diff --git a/graphics/pokemon/sandslash/normal.pal b/graphics/pokemon/sandslash/normal.pal index 38120bb3b9..5ede9a6669 100644 --- a/graphics/pokemon/sandslash/normal.pal +++ b/graphics/pokemon/sandslash/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -172 172 131 +152 208 160 255 238 115 246 213 32 213 172 32 diff --git a/graphics/pokemon/sandslash/shiny.pal b/graphics/pokemon/sandslash/shiny.pal index 352ca64284..63da4f4e71 100644 --- a/graphics/pokemon/sandslash/shiny.pal +++ b/graphics/pokemon/sandslash/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -238 139 131 +152 208 160 255 246 189 213 197 123 172 148 98 diff --git a/graphics/pokemon/slowbro/anim_front.png b/graphics/pokemon/slowbro/anim_front.png index 26aad04fad4eed9ce30a7dab330bba8cb81b1904..2834e59f7886c17af33bbb778895c05760cb199e 100644 GIT binary patch delta 47 zcmZqSZsDGw!y&*Z!Ms<;PGF*mKl6+W3nsSd3RVd_OlM$VU`+CMcVXyYmG#(oz^EhC(5Z;_ESPXkiLy^)435jL#$KmY&$0b)x>ME|7+^2M>l Fzyxx=5rO~! diff --git a/graphics/pokemon/slowbro/back.png b/graphics/pokemon/slowbro/back.png index b42a011ba88ee87b2fa4d984066d6f818db6eede..88d6cf1a8307ce46e75e080c196cab1e8bf0fdaa 100644 GIT binary patch delta 47 zcmV+~0MP%d2CD{;EC>(*7z?xawjz-L;#2d9Z0dn FX99H&4-^0Z delta 47 zcmV+~0MP%d2CD{;EC>z@13Q69=x&iTPXkiLy^)435%jBoZvX%Q0b)x>ME|7+^2M>l FX99>t5#;~? diff --git a/graphics/pokemon/slowbro/normal.pal b/graphics/pokemon/slowbro/normal.pal index 7682a2d354..acd3ce77c4 100644 --- a/graphics/pokemon/slowbro/normal.pal +++ b/graphics/pokemon/slowbro/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -82 197 189 +152 208 160 255 255 255 255 238 180 238 213 131 diff --git a/graphics/pokemon/slowbro/shiny.pal b/graphics/pokemon/slowbro/shiny.pal index ebe101f899..e129fdff3b 100644 --- a/graphics/pokemon/slowbro/shiny.pal +++ b/graphics/pokemon/slowbro/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -82 197 189 +152 208 160 255 255 255 246 238 189 230 205 139 diff --git a/graphics/pokemon/slowpoke/anim_front.png b/graphics/pokemon/slowpoke/anim_front.png index 49c325c752c0164c1cfdfdb136cb76def02d260f..8b709c6e4e859e4af5db041c08770de7b9db6b49 100644 GIT binary patch delta 47 zcmV+~0MP&V2lxk&EC>(*7bunp+nL{bf4Es(Lq FGy|9;5PJXs delta 47 zcmeyt{)2sj4hJ8XmHZ~2*G3af{F#HcG*4{P6?`DVa*~08ficP3-G!lpRn}wU5ff$r Db-50l diff --git a/graphics/pokemon/slowpoke/back.png b/graphics/pokemon/slowpoke/back.png index e016655126ef58fbbcd97817b6ba008a9f22c76e..d3558871264fa3cc94606816b5e6dc7038ce8dd8 100644 GIT binary patch delta 47 zcmV+~0MP&61m6UZEC>(*7cPHmeyWi)PXn0Hppk|x5dmKL-2eap0b)x>L_vw(Y)-Mn Fn*ojv5l8?4 delta 47 zcmcc5a-U^_4hJ8Xm0{kkXMZP}_%k~;@15ADE9hsZl+M7wz?kIi?!wT)D(kWF$ZSRc DjIj@Q diff --git a/graphics/pokemon/slowpoke/normal.pal b/graphics/pokemon/slowpoke/normal.pal index b725d4fe9e..402c21c4a1 100644 --- a/graphics/pokemon/slowpoke/normal.pal +++ b/graphics/pokemon/slowpoke/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -82 180 131 +152 208 160 16 16 16 255 255 255 213 205 205 diff --git a/graphics/pokemon/slowpoke/shiny.pal b/graphics/pokemon/slowpoke/shiny.pal index dbfe8857dc..b830d71652 100644 --- a/graphics/pokemon/slowpoke/shiny.pal +++ b/graphics/pokemon/slowpoke/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -65 131 189 +152 208 160 16 16 16 255 255 255 213 205 205 diff --git a/graphics/pokemon/spearow/anim_front.png b/graphics/pokemon/spearow/anim_front.png index 85bdc0697c5e094dff491a6d26e1a33fe3ee9718..5b45394456bea8a90c213d4c71258a59d3ff56aa 100644 GIT binary patch delta 47 zcmV+~0MP%s2f7E4EC>(*0U(4+=6aDdPXn0Hppk|x5z?`jasU7T0b)x>L;#2d9Z0dn F_5y#-5I_I` delta 47 zcmdnRzKeZ=4hIJ}FIRT`EVhXz{>)iNqb9cL3R=m?r7UT|x6GRW1ew2F4_BcNc~ZR#}gYM^cyo De##E- delta 47 zcmV+~0MP%a2B-#*EC>h-4Ge-DKQoauPXo=(tdWK-5n4#zwEzGB0b)x>ME|7+^2M>l FWCCFJ5V`;W diff --git a/graphics/pokemon/spearow/normal.pal b/graphics/pokemon/spearow/normal.pal index 16f1ecdaf5..157c5d2f44 100644 --- a/graphics/pokemon/spearow/normal.pal +++ b/graphics/pokemon/spearow/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -106 197 90 +152 208 160 0 0 0 230 213 180 197 180 156 diff --git a/graphics/pokemon/spearow/shiny.pal b/graphics/pokemon/spearow/shiny.pal index 034b57b29d..057f7072ba 100644 --- a/graphics/pokemon/spearow/shiny.pal +++ b/graphics/pokemon/spearow/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 0 0 0 230 222 180 197 189 156 diff --git a/graphics/pokemon/squirtle/anim_front.png b/graphics/pokemon/squirtle/anim_front.png index cacddb075d991c67eb63e0318e831c9c4e565d65..fb84be176f645fea9ca34b309c2232795e3cdbc7 100644 GIT binary patch delta 47 zcmV+~0MP&L2kr-uEC>()HaT(Sgt?J4PXn0Hppk|x5wo1#j{pDw0b)x>L;#2d9Z0dn FDg&&=5WN5Z delta 47 zcmV+~0MP&L2kr-uEC>e*02kzT^7D~2PXooYoRNkt5%Wx=C;$Ke0b)x>ME|7+^2M>l FDg(W065ap+ diff --git a/graphics/pokemon/squirtle/back.png b/graphics/pokemon/squirtle/back.png index 40725ff2395bcfdfb0d235445d33c312bf440ba5..4bc0d6f649d5823953424fff2309e7d4e99ed714 100644 GIT binary patch delta 47 zcmV+~0MP%c1*!#*EC>()HwUSos8f+NPXn0Hppk|x5&ljf)c^nh0b)x>L;#2d9Z0dn F<^g)=5AXm0 delta 47 zcmV+~0MP%c1*!#*EC>e)Iupe7R?3kyPXo=(tdWK-5tCfoY5)KL0b)x>ME|7+^2M>l F<^iXr6Ey$; diff --git a/graphics/pokemon/squirtle/normal.pal b/graphics/pokemon/squirtle/normal.pal index 5be0031876..8be6934217 100644 --- a/graphics/pokemon/squirtle/normal.pal +++ b/graphics/pokemon/squirtle/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -197 180 156 +152 208 160 255 255 255 205 197 197 213 148 82 diff --git a/graphics/pokemon/squirtle/shiny.pal b/graphics/pokemon/squirtle/shiny.pal index 392cf6ede8..aab06e90e1 100644 --- a/graphics/pokemon/squirtle/shiny.pal +++ b/graphics/pokemon/squirtle/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 255 255 255 213 205 205 156 222 123 diff --git a/graphics/pokemon/tentacool/anim_front.png b/graphics/pokemon/tentacool/anim_front.png index 2e4b080d63eb16752bf5b5bf8e2e2aba4bc5ceab..ad3f1fa28ea67a3f6f59248e02d7b2b458c03e48 100644 GIT binary patch delta 47 zcmdnPzK4B+4u=4vsIaJMfaOFJf94q%7EEl@6?8PSS;4@-z?kIi?!wT)D(kWF$PXp} DIzSD; delta 47 zcmV+~0MP%u2fPQ6EC>z=88%Im&{2^zPXo=~?vaKq5n=q!m;e9(0b)x>ME|7+^2M>l F_yVQY6N3N% diff --git a/graphics/pokemon/tentacool/back.png b/graphics/pokemon/tentacool/back.png index 9361c00dc968d0b7b62a2de2af8c113a6b7e024c..639a190b8970ae053002cdcd24018e3f79164790 100644 GIT binary patch delta 47 zcmV+~0MP&61>XgbEC>(*6&dy5xhIh{PXn0Hppk|x5%UQBf&c&j0b)x>L;#2d9Z0dn F8v>qg5G()y delta 47 zcmV+~0MP&61>XgbEC>z=87f(lj2@9RPXo=~?vaKq5!1pCvH$=80b)x>ME|7+^2M>l F8v>ZC5(5AL diff --git a/graphics/pokemon/tentacool/normal.pal b/graphics/pokemon/tentacool/normal.pal index ed3cb7ae08..be1a6b52b9 100644 --- a/graphics/pokemon/tentacool/normal.pal +++ b/graphics/pokemon/tentacool/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 255 255 255 213 213 213 diff --git a/graphics/pokemon/tentacool/shiny.pal b/graphics/pokemon/tentacool/shiny.pal index 491bee682e..4f2aaad164 100644 --- a/graphics/pokemon/tentacool/shiny.pal +++ b/graphics/pokemon/tentacool/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 255 255 255 213 213 213 diff --git a/graphics/pokemon/tentacruel/anim_front.png b/graphics/pokemon/tentacruel/anim_front.png index 0f581363fe943b6df16424677926f2321fe0f436..b4c5ed3004f3e5dd12b394cc626488cc18cead92 100644 GIT binary patch delta 47 zcmV+~0MP&B3*-xsEC>(*6(p^Q^)`_-PXn0Hppk|x5t89Uwg3PC0b)x>L;#2d9Z0dn FAO)6^5Apy2 delta 47 zcmV+~0MP&B3*-xsEC>z=CO2YA%KMQtPXqYS(2<5M5oPGEbpQYW0b)x>ME|7+^2M>l FAO*fR6EFY( diff --git a/graphics/pokemon/tentacruel/back.png b/graphics/pokemon/tentacruel/back.png index 0fb9015822ea89f871fcd4aa23fb28000d0d81b1..0dd2dcd7079b8ff17b718215b7e327d798c8fe0c 100644 GIT binary patch delta 47 zcmeyz`j2&j4u=4vsNsQ7!MhVp{F!H5STM0oSMZ~>P(A|#17ni6y9+}HtE|VyBUVfR Df`ktO delta 47 zcmV+~0MP&b1^xw)EC>z=CLdS-VgZpfPXoP_w2_7_5w4wx{{R300b)x>ME|7+^2M>l FIs&4&5^ewh diff --git a/graphics/pokemon/tentacruel/normal.pal b/graphics/pokemon/tentacruel/normal.pal index 15052447b3..1f8e690b4a 100644 --- a/graphics/pokemon/tentacruel/normal.pal +++ b/graphics/pokemon/tentacruel/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -248 208 208 +152 208 160 255 255 255 255 189 172 246 65 82 diff --git a/graphics/pokemon/tentacruel/shiny.pal b/graphics/pokemon/tentacruel/shiny.pal index 29cb0d56de..6408608503 100644 --- a/graphics/pokemon/tentacruel/shiny.pal +++ b/graphics/pokemon/tentacruel/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -189 148 180 +152 208 160 255 255 255 189 230 172 148 197 131 diff --git a/graphics/pokemon/venomoth/anim_front.png b/graphics/pokemon/venomoth/anim_front.png index d24d5d4329dc82eadee30b80c2c7b1078037f4e7..aafa830fd003b51373c64a7aae489b520e6eecef 100644 GIT binary patch delta 47 zcmZ3+xr}py4u=3Ek8Eb|6}5>b{>(EjEST7)E4X||auWjs17ni6y9+}HtE|VyBafH? DY^e{5 delta 47 zcmV+~0MP%Y38o2q(Fgd5LTYZrME|7+^2M>l F;sbB25cmK9 diff --git a/graphics/pokemon/venomoth/back.png b/graphics/pokemon/venomoth/back.png index 6d8526785507fe45014d51cde9f5d191138ca746..d648e3e04aee842ad1d5d61318e58af4c0382385 100644 GIT binary patch delta 47 zcmV+~0MP&72H*yeEC>(*3?r!Q$&HaTPXn0Hppk|x5ihI-;Q#;t0b)x>L;#2d9Z0dn FoC23x5H0`! delta 47 zcmV+~0MP&72H*yeEC>q(Fgr=0I#H1{PXl7ji;;#c5u0xwYybcN0b)x>ME|7+^2M>l FoC0(g5a$2@ diff --git a/graphics/pokemon/venomoth/normal.pal b/graphics/pokemon/venomoth/normal.pal index f29d5d69d1..56c25c37b1 100644 --- a/graphics/pokemon/venomoth/normal.pal +++ b/graphics/pokemon/venomoth/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 205 139 +152 208 160 255 255 255 230 230 230 172 197 197 diff --git a/graphics/pokemon/venomoth/shiny.pal b/graphics/pokemon/venomoth/shiny.pal index e41720e66f..75da213e0d 100644 --- a/graphics/pokemon/venomoth/shiny.pal +++ b/graphics/pokemon/venomoth/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 205 139 +152 208 160 255 255 255 230 222 230 180 189 197 diff --git a/graphics/pokemon/venonat/anim_front.png b/graphics/pokemon/venonat/anim_front.png index 412e18943daeda8855e468f378f27a8a7f4d9aae..87ff5d52616cd55a8ef06b8fc2b4822525f8e4a2 100644 GIT binary patch delta 47 zcmV+~0MP%J36}|wEC>(*3=9K3^wg0wPXn0Hppk|x5v&$A-v9sr0b)x>L;#2d9Z0dn F(*s=$4)*{6 delta 47 zcmV+~0MP%J36}|wEC>q(Cp6rgqgIhLPXmME|7+^2M>l F(*u;F60!gQ diff --git a/graphics/pokemon/venonat/back.png b/graphics/pokemon/venonat/back.png index 2639709e5e1eaa2f42d214e3ac8118ad95b475ed..90b1898a16243fe2500bfb2671c0b5426c83d38e 100644 GIT binary patch delta 47 zcmV+~0MP%;1(*3=;V=$+wX-PXn0Hppk|x5s8PyzyJUM0b)x>L;#2d9Z0dn F2m+Jr5Ay&3 delta 47 zcmV+~0MP%;1q(CpI#Y!g`T3PXmME|7+^2M>l F2m*vb5eNVP diff --git a/graphics/pokemon/venonat/normal.pal b/graphics/pokemon/venonat/normal.pal index ffd5e67634..385b31ce64 100644 --- a/graphics/pokemon/venonat/normal.pal +++ b/graphics/pokemon/venonat/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 213 156 +152 208 160 255 255 255 213 213 213 123 123 123 diff --git a/graphics/pokemon/venonat/shiny.pal b/graphics/pokemon/venonat/shiny.pal index d1f8e7ef9f..deff2ef883 100644 --- a/graphics/pokemon/venonat/shiny.pal +++ b/graphics/pokemon/venonat/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -148 213 156 +152 208 160 255 255 255 205 205 213 115 115 123 diff --git a/graphics/pokemon/venusaur/anim_front.png b/graphics/pokemon/venusaur/anim_front.png index 8219fa893aaffe7c5f43a58dba6d8beec591810a..8f0afb5af176222a89509023195263b0fe2634b4 100644 GIT binary patch delta 47 zcmbO#FjZiJ4u=4PiP05C`^^(g{F!H5STM0oSI}s4cqan`17ni6y9+}HtE|VyBZ2Gy DV4n_s delta 47 zcmV+~0MP%H5S0*+EC>Y*Cl!7ME|7+^2M>l FQ3rpd5x4*V diff --git a/graphics/pokemon/venusaur/anim_frontf.png b/graphics/pokemon/venusaur/anim_frontf.png index 80bbe597029a65fe6d23dd3192ff278e8a38d050..7d844893bb8788befb113bc9315a45294ed125dd 100644 GIT binary patch delta 47 zcmZ1{uufot4u=4PiG|6PYilQ(_%qMAuwY`FuAtH8@J2F4_BcNc~ZR#}gYN3z%f DgiH^T delta 47 zcmV+~0MP%g5UvoAEC>Y*A|)l4QEHJiPXoZH$dQIE5r$yl!TME|7+^2M>l FY6pIK5w-vT diff --git a/graphics/pokemon/venusaur/back.png b/graphics/pokemon/venusaur/back.png index a3dc3ccd4ef4f68e938490d49698e92e1128f436..6f013fe53b44409827a970b303311058527b4418 100644 GIT binary patch delta 47 zcmaFI{*HZu4u=4PDF?UMb%%*2{>(EjEST7)D|r8h$5aLe2F4_BcNc~ZR#}gYN3@s$ Dc6$#g delta 47 zcmV+~0MP&L2kr-uEC>Y*DKj#+J@AnME|7+^2M>l FDg&%?5}E)2 diff --git a/graphics/pokemon/venusaur/backf.png b/graphics/pokemon/venusaur/backf.png index 3e0238eb0ff53af8b980fb12d2196049623fb0ca..701b9f833951fbbac5f3c194e69a212dcc5e291b 100644 GIT binary patch delta 47 zcmey${*`@#4u=4PDQ|U+^7)A-{>(EjEST7)D|r8h$5aLe2F4_BcNc~ZR#}gYM+}(( Dk^c|$ delta 47 zcmV+~0MP&S2lWS#EC>Y*DLAENME|7+^2M>l FF$24469fPN diff --git a/graphics/pokemon/venusaur/normal.pal b/graphics/pokemon/venusaur/normal.pal index 2997a2d258..98e76949d8 100644 --- a/graphics/pokemon/venusaur/normal.pal +++ b/graphics/pokemon/venusaur/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -192 168 200 +152 208 160 16 82 65 16 120 104 32 176 152 diff --git a/graphics/pokemon/venusaur/shiny.pal b/graphics/pokemon/venusaur/shiny.pal index f769a3bc49..ac5880c4e0 100644 --- a/graphics/pokemon/venusaur/shiny.pal +++ b/graphics/pokemon/venusaur/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 205 172 +152 208 160 57 90 32 120 152 40 164 213 74 diff --git a/graphics/pokemon/victreebel/anim_front.png b/graphics/pokemon/victreebel/anim_front.png index d56ad174dacbc5e762e87a8fa46fb9fc025298b0..80c9620522d038e5b7ca804fc3ec075a245ab229 100644 GIT binary patch delta 47 zcmV+~0MP&B3*-xsEC>(*6gk(GsIHMTPXn0Hppk|x5$yGhRsaA10b)x>L;#2d9Z0dn FAO)@e5WfHb delta 47 zcmV+~0MP&B3*-xsEC>z<04mAOVmpyEPXo=~?vaKq5zIe+W&i*H0b)x>ME|7+^2M>l FAO)uO5ww7&z4u=4vC|kvgEte*m_%qMAuwY`Fu3%mP>tqH72F4_BcNc~ZR#}gYM>3fJ Ddy@|` delta 47 zcmV+~0MP%f2CW8=EC>z;IWEEFL9dZCPXo=~?vaKq5l*`IqW}N^0b)x>ME|7+^2M>l FX#%ta6J7uS diff --git a/graphics/pokemon/victreebel/normal.pal b/graphics/pokemon/victreebel/normal.pal index 90bc3bf229..883d809651 100644 --- a/graphics/pokemon/victreebel/normal.pal +++ b/graphics/pokemon/victreebel/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 189 197 197 255 255 255 diff --git a/graphics/pokemon/victreebel/shiny.pal b/graphics/pokemon/victreebel/shiny.pal index f5bcc42cf2..2d049bd6ca 100644 --- a/graphics/pokemon/victreebel/shiny.pal +++ b/graphics/pokemon/victreebel/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 189 197 197 255 255 255 diff --git a/graphics/pokemon/vileplume/anim_front.png b/graphics/pokemon/vileplume/anim_front.png index 4839764e5805887b21f11e374f66c89814bad6ec..ca062889d2b7b9fa101df3bcadf6e54759fc9ffb 100644 GIT binary patch delta 47 zcmV+~0MP%(2ge7HEC>(*3OnuE_Fa)QPXn0Hppk|x5xp+W1ONa40b)x>L;#2d9Z0dn F0|S`X52pYC delta 47 zcmV+~0MP%(2ge7HEC>q&It_WcQOA)qPXpfG-jRka5#C)b4*&oF0b)x>ME|7+^2M>l F0|S@%5tIM` diff --git a/graphics/pokemon/vileplume/anim_frontf.png b/graphics/pokemon/vileplume/anim_frontf.png index 154b9b131c4388ae687e379a6af52fe74a32ad41..9ba0298e1dce4f8d937a09a5c52c14e4dac9d408 100644 GIT binary patch delta 47 zcmeC<=;N56!y&-P&3xx@ebYn}f94q%7EEl@72Kq&CN#jvgp!doPXpfG-jRka5#C)b4*&oF0b)x>ME|7+^2M>l FN&}MS5zznu diff --git a/graphics/pokemon/vileplume/back.png b/graphics/pokemon/vileplume/back.png index 7015628a318842f93ea0d712a07300752ff1495e..588a0c2cb1f38657e06fbe0f32c36f0ac21dcccb 100644 GIT binary patch delta 47 zcmey%_Lpsf4u=3EH`h}6<7yL4{F!H5STM0oSI}F=;vxeB17ni6y9+}HtE|VyBRiP@ DZS)S| delta 47 zcmV+~0MP&a2K@$*EC>q&IWF+ME|7+^2M>l FxdPC#6e9ot diff --git a/graphics/pokemon/vileplume/backf.png b/graphics/pokemon/vileplume/backf.png index 3187f0e8ba8e41d4c794641f7d18e0a9692960c4..27d9cab1c6c36c3fe3a3362d75ea98c41c723724 100644 GIT binary patch delta 47 zcmbQhK7oCL4u=3EH{YTnX8VaI{>(EjEST7)E9fm_agl+6ficP3-G!lpRn}wUkuyvH DJNga9 delta 47 zcmV+~0MP%C2apGlEC>q&IW1}VBFvFAPXpfG-jRka5h!oi+5i9m0b)x>ME|7+^2M>l F%mSEn6662? diff --git a/graphics/pokemon/vileplume/normal.pal b/graphics/pokemon/vileplume/normal.pal index fdfe7ae224..425069bf0c 100644 --- a/graphics/pokemon/vileplume/normal.pal +++ b/graphics/pokemon/vileplume/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 240 112 112 248 128 40 200 96 24 diff --git a/graphics/pokemon/vileplume/shiny.pal b/graphics/pokemon/vileplume/shiny.pal index f6b6407576..409e65b4ab 100644 --- a/graphics/pokemon/vileplume/shiny.pal +++ b/graphics/pokemon/vileplume/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -222 222 222 +152 208 160 248 176 64 255 164 41 192 152 40 diff --git a/graphics/pokemon/vulpix/anim_front.png b/graphics/pokemon/vulpix/anim_front.png index 3f9e902f679bcf127b0c2473060d1b592c6b9d52..53119cae2ab2cdba0dd13bb074ba51ebd1cd3c0c 100644 GIT binary patch delta 47 zcmV+~0MP%K2$%?vEC>(*2N!CrL;#2d9Z0dn FR0E1J5Fh{m delta 47 zcmV+~0MP%K2$%?vEC>n+E*Op=>iv;4PXpD}w2_7_5iTexdjJ3c0b)x>ME|7+^2M>l FR0Du55gh;k diff --git a/graphics/pokemon/vulpix/back.png b/graphics/pokemon/vulpix/back.png index 9519106ee54e7d526c3c12624b03c9762851784c..b53363a2a06f48a6f0f96aa305f1be8d21f2a507 100644 GIT binary patch delta 47 zcmaFP`kZxw4u=3EyKGk_@7swc{>(EjEST7)EBN>Sx_Sl%2F4_BcNc~ZR#}gYN0gZW DlXeg> delta 47 zcmV+~0MP&E1?L5jEC>n+E*fAii_wuZPXpD}w2_7_5zZ5OvH$=80b)x>ME|7+^2M>l FBLbQ45$yl~ diff --git a/graphics/pokemon/vulpix/normal.pal b/graphics/pokemon/vulpix/normal.pal index e4956e68e0..4c352ac2f3 100644 --- a/graphics/pokemon/vulpix/normal.pal +++ b/graphics/pokemon/vulpix/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 255 255 255 230 180 255 222 148 diff --git a/graphics/pokemon/vulpix/shiny.pal b/graphics/pokemon/vulpix/shiny.pal index e18550845d..8160aa6bfc 100644 --- a/graphics/pokemon/vulpix/shiny.pal +++ b/graphics/pokemon/vulpix/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -213 213 180 +152 208 160 255 255 255 246 238 180 246 230 148 diff --git a/graphics/pokemon/wartortle/anim_front.png b/graphics/pokemon/wartortle/anim_front.png index 0123ec835eca1891587bcfcccabb2662c052c591..7d01eb2577eceaeaf08a75c0a7ab858f47afb2f8 100644 GIT binary patch delta 47 zcmV+~0MP%i39t!}EC>()Hy9+BrKXWIPXn0Hppk|x5qKp;O8@`>0b)x>L}Dws9Xzqb F>;q?e4|o6o delta 47 zcmdnMxq)+n4hI*LiGH`b!T*US{>({hvL?3a3eL%Y7{tK9z?kIi?!wT)D(kWF$Qxz= DWlRq^ diff --git a/graphics/pokemon/wartortle/back.png b/graphics/pokemon/wartortle/back.png index 961f93826cc96893fb5f1683f560a5ce90655304..28f5d74b7c10625c2137de37f7194e2eb0e69106 100644 GIT binary patch delta 47 zcmV+~0MP&72H*yeEC>()Hz{>VrJRv8PXn0Hppk|x5zNM6^T+YTdEK FoC21j5q|&x delta 47 zcmV+~0MP&72H*yeEC>n$E+yOFBRY{ZPXn~Hw2_7_5!zM8l>h($0b)x>L;#2d9Z0dn FoC1>P5LW;I diff --git a/graphics/pokemon/wartortle/normal.pal b/graphics/pokemon/wartortle/normal.pal index bb2338437b..26b0e2dc87 100644 --- a/graphics/pokemon/wartortle/normal.pal +++ b/graphics/pokemon/wartortle/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -98 172 106 +152 208 160 255 255 255 208 232 240 184 192 224 diff --git a/graphics/pokemon/wartortle/shiny.pal b/graphics/pokemon/wartortle/shiny.pal index c1107a6fc2..d927f2214d 100644 --- a/graphics/pokemon/wartortle/shiny.pal +++ b/graphics/pokemon/wartortle/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -180 180 180 +152 208 160 255 255 255 213 246 197 180 222 189 diff --git a/graphics/pokemon/weedle/anim_front.png b/graphics/pokemon/weedle/anim_front.png index 46bfb6e4cf3f49bec6ad889bf989e3d46ca062dd..684677599603a0247016f41fa17586be47bbc018 100644 GIT binary patch delta 47 zcmV+~0MP&Q1@i@vEC>()ItLsv)*g{GPXn0Hppk|x5x3T|xBvhE0b)x>L;#2d9Z0dn FF9Lol4}$;z delta 47 zcmV+~0MP&Q1@i@vEC>h(8X?PC9<-4(PXl|4?vaKq5y$32ME|7+^2M>l FF9M=j5^Dee diff --git a/graphics/pokemon/weedle/back.png b/graphics/pokemon/weedle/back.png index bc8b5d5f406f7aacc2a6811645ae97dcc9cca815..53a6242fc743165ccb8a4f0c8d31c5c01bee9d1a 100644 GIT binary patch delta 47 zcmeBU?PHyw!y&+6#V_%GH$SFnu DMc@z& diff --git a/graphics/pokemon/weedle/normal.pal b/graphics/pokemon/weedle/normal.pal index 8b97fd6945..ac1acc09ba 100644 --- a/graphics/pokemon/weedle/normal.pal +++ b/graphics/pokemon/weedle/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -123 139 238 +152 208 160 255 255 255 197 197 197 139 139 148 diff --git a/graphics/pokemon/weedle/shiny.pal b/graphics/pokemon/weedle/shiny.pal index 37dd2d80f5..060a627e5e 100644 --- a/graphics/pokemon/weedle/shiny.pal +++ b/graphics/pokemon/weedle/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -123 139 238 +152 208 160 255 255 255 197 197 197 139 139 148 diff --git a/graphics/pokemon/weepinbell/anim_front.png b/graphics/pokemon/weepinbell/anim_front.png index 8cfcf32426667e762eac3ddfbdbc8bb5c5ac9757..9f7e475b496d5fdfd633ae0da28adfc83d9d0686 100644 GIT binary patch delta 47 zcmV+~0MP%c2&xE>EC>(*E-mQhqNM3{Eb20pRG FW&@oD5jFq- delta 47 zcmV+~0MP%c2&xE>EC>w@AT+q8JN1z?PXo=~?vaKq5o|`>;{X5v0b)x>ME|7+^2M>l FW&^9F6A}Ob diff --git a/graphics/pokemon/weepinbell/back.png b/graphics/pokemon/weepinbell/back.png index 4ee3ada49d41b8b1eb60e8bef9eb931006f4c93d..3d9bc225d03bef29516e855a55f71de36fe6fbb6 100644 GIT binary patch delta 47 zcmeBW?PZ;y!y&*ZqOxW3k@ATq{>(EjEST7)D;Onxc|8LI17ni6y9+}HtE|VyBPSUF DaM%xt delta 47 zcmV+~0MP%91&sxeEC>w@AT`gT3uBQqPXo=~?vaKq5qi-fp8x;=0b)x>ME|7+^2M>l F$pM575+DEo diff --git a/graphics/pokemon/weepinbell/normal.pal b/graphics/pokemon/weepinbell/normal.pal index 1c0509fd4d..742f4922e7 100644 --- a/graphics/pokemon/weepinbell/normal.pal +++ b/graphics/pokemon/weepinbell/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 255 255 255 98 74 49 diff --git a/graphics/pokemon/weepinbell/shiny.pal b/graphics/pokemon/weepinbell/shiny.pal index edfc1171b9..226218a6f1 100644 --- a/graphics/pokemon/weepinbell/shiny.pal +++ b/graphics/pokemon/weepinbell/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -205 222 238 +152 208 160 0 0 0 255 255 255 98 74 49 diff --git a/graphics/pokemon/wigglytuff/anim_front.png b/graphics/pokemon/wigglytuff/anim_front.png index 1ff501354fdd6b74273a81544459fdba9e326687..33ecada41f92dc2ec6efab239b0abff7d5d38e93 100644 GIT binary patch delta 47 zcmV+~0MP%K2$%?vEC>(*2r)l7eZi45PXn0Hppk|x5#Hdhng9R*0b)x>L;#2d9Z0dn FR0D2z4|f0n delta 47 zcmV+~0MP%K2$%?vEC>q#EgJo-?$41lPXoQ)i;;#c5w08}fdBvi0b)x>ME|7+^2M>l FR0E(p5+eWr diff --git a/graphics/pokemon/wigglytuff/back.png b/graphics/pokemon/wigglytuff/back.png index 552d0abd5c584386e2ccf2dc5baada22f67186d2..8094a3ce791c38cf17459029488966169add6a6d 100644 GIT binary patch delta 47 zcmV+~0MP%Q1)c?vEC>(*2shSR*z}P!PXn0Hppk|x5l8U(KmY&$0b)x>L;#2d9Z0dn F+5wU15VimS delta 47 zcmV+~0MP%Q1)c?vEC>q#EgOof-dT|}PXoQ)i;;#c5jPBUTL1t60b)x>ME|7+^2M>l F+5ve+5m^8L diff --git a/graphics/pokemon/wigglytuff/normal.pal b/graphics/pokemon/wigglytuff/normal.pal index b4ef1c4349..b7cfb4e74e 100644 --- a/graphics/pokemon/wigglytuff/normal.pal +++ b/graphics/pokemon/wigglytuff/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -189 222 139 +152 208 160 255 255 255 230 222 230 115 115 115 diff --git a/graphics/pokemon/wigglytuff/shiny.pal b/graphics/pokemon/wigglytuff/shiny.pal index fa181289cc..719fd770d6 100644 --- a/graphics/pokemon/wigglytuff/shiny.pal +++ b/graphics/pokemon/wigglytuff/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -189 222 139 +152 208 160 255 255 255 222 222 230 115 115 115 diff --git a/graphics/pokemon/zubat/anim_front.png b/graphics/pokemon/zubat/anim_front.png index 17a4088e108d41305cb8adf2791fab3b3e71767e..3ef6a453ab565c91fa21f108094c6e5fa8dff852 100644 GIT binary patch delta 47 zcmbQhF@a-(4u=3ECoB839i|ga{F!H5STM0oS5UiENSc9xficP3-G!lpRn}wU5g%p% DHIfY8 delta 47 zcmV+~0MP%C2#^SnEC>q$2{TVL{W6g>PXk)CgOP?U5hS?zPXGV_0b)x>ME|7+^2M>l FOaooj5N`kg diff --git a/graphics/pokemon/zubat/anim_frontf.png b/graphics/pokemon/zubat/anim_frontf.png index 65ab3fc354e8a2d31d3ec19c89bed5d5f71adc2c..b9383adb48120305e96b7236c8bfc89788665660 100644 GIT binary patch delta 47 zcmeC?=;oN9!y&-P$x*3(q+_CqKl6+W3nsSd3Tn3sNi#4oFeZ7syD)UH%6e=(;?4{J DK~W7f delta 47 zcmeC?=;oN9!@(*2@mH(Q7e%&PXn0Hppk|x5z@q~S^xk50b)x>L;#2d9Z0dn F<^gCI4~PH& delta 47 zcmV+~0MP%c1*!#*EC>q$2_JpzkME|7+^2M>l F<^h*z5`X{z diff --git a/graphics/pokemon/zubat/backf.png b/graphics/pokemon/zubat/backf.png index 616f27f927424b5ef818ef8eeba15ceb79db55f6..fbeae3545a3ce76ede2168fea65436416c54d294 100644 GIT binary patch delta 47 zcmV+~0MP%e1*`>-EC>(*2_w~;J;;$XPXn0Hppk|x5z@q~S^xk50b)x>L;#2d9Z0dn F=mCbz5ODwi delta 47 zcmV+~0MP%e1*`>-EC>q$2^F0=c+ZhEPXqtOoRNkt5$6qiEC2ui0b)x>ME|7+^2M>l F=mCEv5zYVr diff --git a/graphics/pokemon/zubat/normal.pal b/graphics/pokemon/zubat/normal.pal index 97a0069731..2994d59602 100644 --- a/graphics/pokemon/zubat/normal.pal +++ b/graphics/pokemon/zubat/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -90 180 131 +152 208 160 255 255 255 213 213 213 98 98 98 diff --git a/graphics/pokemon/zubat/shiny.pal b/graphics/pokemon/zubat/shiny.pal index 637983fd78..dafcf42397 100644 --- a/graphics/pokemon/zubat/shiny.pal +++ b/graphics/pokemon/zubat/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -255 197 156 +152 208 160 255 255 255 213 213 213 98 98 98 diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index 9471451ea9..007c6a90a7 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -9,7 +9,7 @@ const u8 gEnemyMonElevation[NUM_SPECIES + 1] = [SPECIES_ZUBAT] = 16, [SPECIES_GOLBAT] = 10, [SPECIES_VENOMOTH] = 16, - [SPECIES_GEODUDE] = 16, + [SPECIES_GEODUDE] = 10, [SPECIES_MAGNEMITE] = 17, [SPECIES_MAGNETON] = 9, [SPECIES_GASTLY] = 10, From aca7998b9338e8033c57672afe571854b44e6402 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Tue, 23 May 2023 13:07:52 -0400 Subject: [PATCH 164/256] Add missing use of ALL_MOVES_MASK --- include/constants/global.h | 1 + src/battle_ai_script_commands.c | 4 ++-- src/battle_controller_opponent.c | 2 +- src/battle_controller_player_partner.c | 2 +- src/battle_gfx_sfx_util.c | 8 +++++--- src/battle_script_commands.c | 2 +- src/battle_util.c | 4 +--- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/include/constants/global.h b/include/constants/global.h index 199acfe6c6..2b70378ff5 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -80,6 +80,7 @@ #define TRAINER_ID_LENGTH 4 #define MAX_MON_MOVES 4 +#define ALL_MOVES_MASK ((1 << MAX_MON_MOVES) - 1) #define CONTESTANT_COUNT 4 #define CONTEST_CATEGORY_COOL 0 diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c index b2c900b422..aa34f46ec7 100644 --- a/src/battle_ai_script_commands.c +++ b/src/battle_ai_script_commands.c @@ -478,9 +478,9 @@ static u8 ChooseMoveOrAction_Doubles(void) else { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - BattleAI_SetupAIData(gBattleStruct->palaceFlags >> 4); + BattleAI_SetupAIData(gBattleStruct->palaceFlags >> MAX_BATTLERS_COUNT); else - BattleAI_SetupAIData((1 << MAX_MON_MOVES) - 1); + BattleAI_SetupAIData(ALL_MOVES_MASK); gBattlerTarget = i; diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 12402f91ea..41afa9505f 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1555,7 +1555,7 @@ static void OpponentHandleChooseMove(void) if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FIRST_BATTLE | BATTLE_TYPE_SAFARI | BATTLE_TYPE_ROAMER)) { - BattleAI_SetupAIData(0xF); + BattleAI_SetupAIData(ALL_MOVES_MASK); chosenMoveId = BattleAI_ChooseMoveOrAction(); switch (chosenMoveId) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 6127e2d655..236a66ce83 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -1515,7 +1515,7 @@ static void PlayerPartnerHandleChooseMove(void) u8 chosenMoveId; struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleBufferA[gActiveBattler][4]); - BattleAI_SetupAIData(0xF); + BattleAI_SetupAIData(ALL_MOVES_MASK); chosenMoveId = BattleAI_ChooseMoveOrAction(); if (gBattleMoves[moveInfo->moves[chosenMoveId]].target & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 55ed328b89..b610654cef 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -157,8 +157,10 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // Pass selected moves to AI, pick one if (selectedMoves != 0) { - gBattleStruct->palaceFlags &= 0xF; - gBattleStruct->palaceFlags |= (selectedMoves << 4); + // Lower 4 bits of palaceFlags are flags for each battler. + // Clear the rest of palaceFlags, then set the selected moves in the upper 4 bits. + gBattleStruct->palaceFlags &= (1 << MAX_BATTLERS_COUNT) - 1; + gBattleStruct->palaceFlags |= (selectedMoves << MAX_BATTLERS_COUNT); BattleAI_SetupAIData(selectedMoves); chosenMoveId = BattleAI_ChooseMoveOrAction(); } @@ -168,7 +170,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // If a move is chosen this way, there's a 50% chance that it will be unable to use it anyway if (chosenMoveId == -1) { - if (unusableMovesBits != 0xF) + if (unusableMovesBits != ALL_MOVES_MASK) { validMoveFlags = 0, numValidMoveGroups = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 277b70d7b1..ab8e6ad8ed 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8179,7 +8179,7 @@ static void Cmd_trychoosesleeptalkmove(void) } unusableMovesBits = CheckMoveLimitations(gBattlerAttacker, unusableMovesBits, ~MOVE_LIMITATION_PP); - if (unusableMovesBits == (1 << MAX_MON_MOVES) - 1) // all 4 moves cannot be chosen + if (unusableMovesBits == ALL_MOVES_MASK) // all 4 moves cannot be chosen { gBattlescriptCurrInstr += 5; } diff --git a/src/battle_util.c b/src/battle_util.c index 51fbaa3cfb..6a0137a938 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1110,7 +1110,6 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u8 check) return unusableMoves; } -#define ALL_MOVES_MASK ((1 << MAX_MON_MOVES) - 1) bool8 AreAllMovesUnusable(void) { u8 unusable = CheckMoveLimitations(gActiveBattler, 0, MOVE_LIMITATIONS_ALL); @@ -1127,7 +1126,6 @@ bool8 AreAllMovesUnusable(void) return (unusable == ALL_MOVES_MASK); } -#undef ALL_MOVES_MASK u8 GetImprisonedMovesCount(u8 battlerId, u16 move) { @@ -3954,7 +3952,7 @@ u8 IsMonDisobedient(void) if (calc < obedienceLevel) { calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], MOVE_LIMITATIONS_ALL); - if (calc == 0xF) // all moves cannot be used + if (calc == ALL_MOVES_MASK) // all moves cannot be used { // Randomly select, then print a disobedient string // B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE From 057928438a824705bd306b52bc3dd43d72989ac0 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 16 Aug 2023 16:41:29 -0400 Subject: [PATCH 165/256] Document ChooseMoveAndTargetInBattlePalace --- include/battle.h | 7 ++- src/battle_gfx_sfx_util.c | 89 +++++++++++++++++++++++------------- src/battle_script_commands.c | 2 +- 3 files changed, 63 insertions(+), 35 deletions(-) diff --git a/include/battle.h b/include/battle.h index 118d560984..bb0e42fb83 100644 --- a/include/battle.h +++ b/include/battle.h @@ -392,7 +392,7 @@ struct BattleStruct u8 expGetterBattlerId; u8 unused_5; u8 absentBattlerFlags; - u8 palaceFlags; // First 4 bits are "is < 50% HP and not asleep" for each battler, last 4 bits are selected moves to pass to AI + u8 palaceFlags; // First 4 bits are "is <= 50% HP and not asleep" for each battler, last 4 bits are selected moves to pass to AI u8 field_93; // related to choosing pokemon? u8 wallyBattleState; u8 wallyMovesState; @@ -440,6 +440,11 @@ struct BattleStruct u8 alreadyStatusedMoveAttempt; // As bits for battlers; For example when using Thunder Wave on an already paralyzed pokemon. }; +// The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, +// and 1 flag per battler to indicate whether the battler is awake and at <= 50% HP (which affects move choice). +// The assert below is to ensure palaceFlags is large enough to store these flags without overlap. +STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLERS_COUNT + MAX_MON_MOVES, PalaceFlagsTooSmall) + #define F_DYNAMIC_TYPE_1 (1 << 6) #define F_DYNAMIC_TYPE_2 (1 << 7) #define DYNAMIC_TYPE_MASK (F_DYNAMIC_TYPE_1 - 1) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index b610654cef..d98809be46 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -121,9 +121,9 @@ u16 ChooseMoveAndTargetInBattlePalace(void) #define selectedGroup percent #define selectedMoves var2 #define moveTarget var1 - #define validMoveFlags var1 - #define numValidMoveGroups var2 - #define validMoveGroup var2 + #define numMovesPerGroup var1 + #define numMultipleMoveGroups var2 + #define randSelectGroup var2 // If battler is < 50% HP and not asleep, use second set of move group likelihoods // otherwise use first set @@ -172,32 +172,45 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { if (unusableMovesBits != ALL_MOVES_MASK) { - validMoveFlags = 0, numValidMoveGroups = 0; + numMovesPerGroup = 0, numMultipleMoveGroups = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - // validMoveFlags is used here as a bitfield for which moves can be used for each move group type - // first 4 bits are for attack (1 for each move), then 4 bits for defense, and 4 for support + // Count the number of usable moves the battler has in each move group. + // The totals will be stored separately in 3 groups of 4 bits each in numMovesPerGroup. if (GetBattlePalaceMoveGroup(moveInfo->moves[i]) == PALACE_MOVE_GROUP_ATTACK && !(gBitTable[i] & unusableMovesBits)) - validMoveFlags += (1 << 0); + numMovesPerGroup += (1 << 0); if (GetBattlePalaceMoveGroup(moveInfo->moves[i]) == PALACE_MOVE_GROUP_DEFENSE && !(gBitTable[i] & unusableMovesBits)) - validMoveFlags += (1 << 4); + numMovesPerGroup += (1 << 4); if (GetBattlePalaceMoveGroup(moveInfo->moves[i]) == PALACE_MOVE_GROUP_SUPPORT && !(gBitTable[i] & unusableMovesBits)) - validMoveFlags += (1 << 8); + numMovesPerGroup += (1 << 8); } - // Count the move groups the pokemon has - if ((validMoveFlags & 0xF) > 1) - numValidMoveGroups++; - if ((validMoveFlags & 0xF0) > 0x1F) - numValidMoveGroups++; - if ((validMoveFlags & 0xF0) > 0x1FF) - numValidMoveGroups++; + // Count the number of move groups for which the battler has at least 2 usable moves. + // This is a roundabout way to determine if there is a move group that should be + // preferred, because it has multiple move options and the others do not. + // The condition intended to check the total for the Support group is accidentally + // checking the Defense total, and is never true. As a result the preferences for + // random move selection here will skew away from the Support move group. + if ((numMovesPerGroup & 0xF) >= 2) + numMultipleMoveGroups++; + if ((numMovesPerGroup & (0xF << 4)) >= (2 << 4)) + numMultipleMoveGroups++; +#ifdef BUGFIX + if ((numMovesPerGroup & (0xF << 8)) >= (2 << 8)) +#else + if ((numMovesPerGroup & (0xF << 4)) >= (2 << 8)) +#endif + numMultipleMoveGroups++; - // If more than 1 possible move group, or no possible move groups - // then choose move randomly - if (numValidMoveGroups > 1 || numValidMoveGroups == 0) + // By this point we already know the battler only has usable moves from at most 2 of the 3 move groups, + // because they had no usable moves from the move group that was selected based on Nature. + // + // The below condition is effectively 'numMultipleMoveGroups != 1'. + // There is no stand-out group with multiple moves to choose from, so we pick randomly. + // Note that because of the bug above the battler may actually have any number of Support moves. + if (numMultipleMoveGroups > 1 || numMultipleMoveGroups == 0) { do { @@ -206,27 +219,36 @@ u16 ChooseMoveAndTargetInBattlePalace(void) chosenMoveId = i; } while (chosenMoveId == -1); } - // Otherwise randomly choose move of only available move group else { - if ((validMoveFlags & 0xF) > 1) - validMoveGroup = PALACE_MOVE_GROUP_ATTACK; - if ((validMoveFlags & 0xF0) > 0x1F) - validMoveGroup = PALACE_MOVE_GROUP_DEFENSE; - if ((validMoveFlags & 0xF0) > 0x1FF) - validMoveGroup = PALACE_MOVE_GROUP_SUPPORT; + // The battler has just 1 move group with multiple move options to choose from. + // Choose a move randomly from this group. + + // Same bug as the previous set of conditions (the condition for Support is never true). + // This bug won't cause a softlock below, because if Support is the only group with multiple + // moves then it won't have been counted, and the 'numMultipleMoveGroups == 0' above will be true. + if ((numMovesPerGroup & 0xF) >= 2) + randSelectGroup = PALACE_MOVE_GROUP_ATTACK; + if ((numMovesPerGroup & (0xF << 4)) >= (2 << 4)) + randSelectGroup = PALACE_MOVE_GROUP_DEFENSE; +#ifdef BUGFIX + if ((numMovesPerGroup & (0xF << 8)) >= (2 << 8)) +#else + if ((numMovesPerGroup & (0xF << 4)) >= (2 << 8)) +#endif + randSelectGroup = PALACE_MOVE_GROUP_SUPPORT; do { i = Random() % MAX_MON_MOVES; - if (!(gBitTable[i] & unusableMovesBits) && validMoveGroup == GetBattlePalaceMoveGroup(moveInfo->moves[i])) + if (!(gBitTable[i] & unusableMovesBits) && randSelectGroup == GetBattlePalaceMoveGroup(moveInfo->moves[i])) chosenMoveId = i; } while (chosenMoveId == -1); } - // If a move was selected (and in this case was not from the Nature-chosen group) - // then there's a 50% chance it won't be used anyway - if (Random() % 100 > 49) + // Because the selected move was not from the Nature-chosen move group there's a 50% chance + // that it will be unable to use it. This could have been checked earlier to avoid the above work. + if (Random() % 100 >= 50) { gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; return 0; @@ -234,6 +256,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) } else { + // All the battler's moves were flagged as unusable. gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; return 0; } @@ -266,9 +289,9 @@ u16 ChooseMoveAndTargetInBattlePalace(void) #undef selectedGroup #undef selectedMoves #undef moveTarget -#undef validMoveFlags -#undef numValidMoveGroups -#undef validMoveGroup +#undef numMovesPerGroup +#undef numMultipleMoveGroups +#undef randSelectGroup static u8 GetBattlePalaceMoveGroup(u16 move) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ab8e6ad8ed..63569d60c4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -849,7 +849,7 @@ static const u8 sBallCatchBonuses[] = // In Battle Palace, moves are chosen based on the pokemons nature rather than by the player // Moves are grouped into "Attack", "Defense", or "Support" (see PALACE_MOVE_GROUP_*) // Each nature has a certain percent chance of selecting a move from a particular group -// and a separate percent chance for each group when below 50% HP +// and a separate percent chance for each group when at or below 50% HP // The table below doesn't list percentages for Support because you can subtract the other two // Support percentages are listed in comments off to the side instead #define PALACE_STYLE(atk, def, atkLow, defLow) {atk, atk + def, atkLow, atkLow + defLow} From bdc0ea1037ddeb5b9909078c11e9964aeadf4a55 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 16 Aug 2023 16:44:45 -0400 Subject: [PATCH 166/256] Add MOD to match mod with powers of 2 --- include/global.h | 6 ++++++ src/battle_controller_opponent.c | 2 +- src/battle_pyramid.c | 4 ++-- src/battle_script_commands.c | 4 ++-- src/battle_util.c | 11 ++++++----- src/contest_ai.c | 2 +- src/intro.c | 2 +- src/naming_screen.c | 4 ++-- 8 files changed, 21 insertions(+), 14 deletions(-) diff --git a/include/global.h b/include/global.h index e0cecafd07..e6d58f36e0 100644 --- a/include/global.h +++ b/include/global.h @@ -85,6 +85,12 @@ #define SAFE_DIV(a, b) ((a) / (b)) #endif +// The below macro does a%n, but (to match) will switch to a&(n-1) if n is a power of 2. +// There are cases where GF does a&(n-1) where we would really like to have a%n, because +// if n is changed to a value that isn't a power of 2 then a&(n-1) is unlikely to work as +// intended, and a%n for powers of 2 isn't always optimized to use &. +#define MOD(a, n)(((n) & ((n)-1)) ? ((a) % (n)) : ((a) & ((n)-1))) + // Extracts the upper 16 bits of a 32-bit number #define HIHALF(n) (((n) & 0xFFFF0000) >> 16) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 41afa9505f..e434e3ee62 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -1588,7 +1588,7 @@ static void OpponentHandleChooseMove(void) u16 move; do { - chosenMoveId = Random() & 3; + chosenMoveId = MOD(Random(), MAX_MON_MOVES); move = moveInfo->moves[chosenMoveId]; } while (move == MOVE_NONE); diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index a1f1ee542c..e51f804981 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -38,7 +38,7 @@ #include "constants/moves.h" #include "constants/trainers.h" -#define NUM_LAYOUT_OFFSETS 8 // Assumed to be a power of 2 +#define NUM_LAYOUT_OFFSETS 8 extern const struct MapLayout *const gMapLayouts[]; @@ -1904,7 +1904,7 @@ static void GetPyramidFloorLayoutOffsets(u8 *layoutOffsets) for (i = 0; i < NUM_PYRAMID_FLOOR_SQUARES; i++) { - layoutOffsets[i] = sPyramidFloorTemplates[id].layoutOffsets[rand & (NUM_LAYOUT_OFFSETS - 1)]; + layoutOffsets[i] = sPyramidFloorTemplates[id].layoutOffsets[MOD(rand, NUM_LAYOUT_OFFSETS)]; rand >>= 3; if (i == 7) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 63569d60c4..60a91e2b48 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7350,7 +7350,7 @@ static void Cmd_tryconversiontypechange(void) { do { - while ((moveChecked = Random() & (MAX_MON_MOVES - 1)) >= validMoves); + while ((moveChecked = MOD(Random(), MAX_MON_MOVES)) >= validMoves); moveType = gBattleMoves[gBattleMons[gBattlerAttacker].moves[moveChecked]].type; @@ -8189,7 +8189,7 @@ static void Cmd_trychoosesleeptalkmove(void) do { - movePosition = Random() & (MAX_MON_MOVES - 1); + movePosition = MOD(Random(), MAX_MON_MOVES); } while ((gBitTable[movePosition] & unusableMovesBits)); gCalledMove = gBattleMons[gBattlerAttacker].moves[movePosition]; diff --git a/src/battle_util.c b/src/battle_util.c index 6a0137a938..0856b6d856 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2773,11 +2773,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA { do { + // Pick either MOVE_EFFECT_SLEEP, MOVE_EFFECT_POISON or MOVE_EFFECT_BURN gBattleCommunication[MOVE_EFFECT_BYTE] = Random() & 3; } while (gBattleCommunication[MOVE_EFFECT_BYTE] == 0); - + // Replace MOVE_EFFECT_BURN with MOVE_EFFECT_PARALYSIS if (gBattleCommunication[MOVE_EFFECT_BYTE] == MOVE_EFFECT_BURN) - gBattleCommunication[MOVE_EFFECT_BYTE] += 2; // 5 MOVE_EFFECT_PARALYSIS + gBattleCommunication[MOVE_EFFECT_BYTE] += (MOVE_EFFECT_PARALYSIS - MOVE_EFFECT_BURN); gBattleCommunication[MOVE_EFFECT_BYTE] += MOVE_EFFECT_AFFECTS_USER; BattleScriptPushCursor(); @@ -3956,7 +3957,7 @@ u8 IsMonDisobedient(void) { // Randomly select, then print a disobedient string // B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE - gBattleCommunication[MULTISTRING_CHOOSER] = Random() & (NUM_LOAF_STRINGS - 1); + gBattleCommunication[MULTISTRING_CHOOSER] = MOD(Random(), NUM_LOAF_STRINGS); gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; return 1; } @@ -3964,7 +3965,7 @@ u8 IsMonDisobedient(void) { do { - gCurrMovePos = gChosenMovePos = Random() & (MAX_MON_MOVES - 1); + gCurrMovePos = gChosenMovePos = MOD(Random(), MAX_MON_MOVES); } while (gBitTable[gCurrMovePos] & calc); gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; @@ -4007,7 +4008,7 @@ u8 IsMonDisobedient(void) { // Randomly select, then print a disobedient string // B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE - gBattleCommunication[MULTISTRING_CHOOSER] = Random() & (NUM_LOAF_STRINGS - 1); + gBattleCommunication[MULTISTRING_CHOOSER] = MOD(Random(), NUM_LOAF_STRINGS); gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; return 1; } diff --git a/src/contest_ai.c b/src/contest_ai.c index 8753ed170d..a4bb5b4549 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -326,7 +326,7 @@ u8 ContestAI_GetActionToUse(void) { // Randomly choose a move index. If it's the move // with the highest (or tied highest) score, return - u8 moveIdx = Random() & (MAX_MON_MOVES - 1); // % MAX_MON_MOVES doesn't match + u8 moveIdx = MOD(Random(), MAX_MON_MOVES); u8 score = eContestAI.moveScores[moveIdx]; int i; for (i = 0; i < MAX_MON_MOVES; i++) diff --git a/src/intro.c b/src/intro.c index e5e6a23dd2..6a6a58ddd5 100644 --- a/src/intro.c +++ b/src/intro.c @@ -1163,7 +1163,7 @@ void CB2_InitCopyrightScreenAfterTitleScreen(void) static void Task_Scene1_Load(u8 taskId) { SetVBlankCallback(NULL); - sIntroCharacterGender = Random() & 1; + sIntroCharacterGender = MOD(Random(), GENDER_COUNT); IntroResetGpuRegs(); SetGpuReg(REG_OFFSET_BG3VOFS, 0); SetGpuReg(REG_OFFSET_BG2VOFS, 80); diff --git a/src/naming_screen.c b/src/naming_screen.c index 6dd45aa7e1..6acb29ffbf 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -1067,7 +1067,7 @@ static void SpriteCB_InputArrow(struct Sprite *sprite) if (sprite->sDelay == 0 || --sprite->sDelay == 0) { sprite->sDelay = 8; - sprite->sXPosId = (sprite->sXPosId + 1) & (ARRAY_COUNT(x) - 1); + sprite->sXPosId = MOD(sprite->sXPosId + 1, ARRAY_COUNT(x)); } sprite->x2 = x[sprite->sXPosId]; } @@ -1097,7 +1097,7 @@ static void SpriteCB_Underscore(struct Sprite *sprite) sprite->sDelay++; if (sprite->sDelay > 8) { - sprite->sYPosId = (sprite->sYPosId + 1) & (ARRAY_COUNT(y) - 1); + sprite->sYPosId = MOD(sprite->sYPosId + 1, ARRAY_COUNT(y)); sprite->sDelay = 0; } } From 4e0e70ae81ad915bbb4a29f12b84cf3036a48ce3 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 17 Aug 2023 13:29:04 -0500 Subject: [PATCH 167/256] Fix memory corruption when handling the ultra burst trigger sprite --- src/battle_interface.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index 64ea370d70..feab3bc674 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1596,11 +1596,11 @@ bool32 IsBurstTriggerSpriteActive(void) void HideBurstTriggerSprite(void) { - if (gBattleStruct->burst.triggerSpriteId != 0xFF) - { - ChangeBurstTriggerSprite(gBattleStruct->burst.triggerSpriteId, 0); - gSprites[gBattleStruct->burst.triggerSpriteId].tHide = TRUE; - } + if (gBattleStruct->burst.triggerSpriteId >= MAX_SPRITES) + return; + ChangeBurstTriggerSprite(gBattleStruct->burst.triggerSpriteId, 0); + gSprites[gBattleStruct->burst.triggerSpriteId].tHide = TRUE; + } void DestroyBurstTriggerSprite(void) From 4ca4b2dd7698a18098f550ad3da712e47f57d198 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 17 Aug 2023 13:29:27 -0500 Subject: [PATCH 168/256] Update battle_interface.c --- src/battle_interface.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index feab3bc674..dbb576db8f 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1600,7 +1600,6 @@ void HideBurstTriggerSprite(void) return; ChangeBurstTriggerSprite(gBattleStruct->burst.triggerSpriteId, 0); gSprites[gBattleStruct->burst.triggerSpriteId].tHide = TRUE; - } void DestroyBurstTriggerSprite(void) From ec24754489da70939ec3b7d47186635522ecc764 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Fri, 18 Aug 2023 17:24:30 +1200 Subject: [PATCH 169/256] fix arcanine, change bg colour of green pokemon --- graphics/pokemon/arcanine/anim_front.png | Bin 1680 -> 1680 bytes graphics/pokemon/arcanine/normal.pal | 14 +++++++------- graphics/pokemon/beedrill/back.png | Bin 994 -> 994 bytes graphics/pokemon/beedrill/shiny.pal | 2 +- graphics/pokemon/bellsprout/anim_front.png | Bin 919 -> 919 bytes graphics/pokemon/bellsprout/normal.pal | 2 +- graphics/pokemon/blastoise/back.png | Bin 898 -> 898 bytes graphics/pokemon/blastoise/shiny.pal | 2 +- graphics/pokemon/bulbasaur/anim_front.png | Bin 1019 -> 1019 bytes graphics/pokemon/bulbasaur/back.png | Bin 647 -> 647 bytes graphics/pokemon/bulbasaur/normal.pal | 2 +- graphics/pokemon/bulbasaur/shiny.pal | 2 +- graphics/pokemon/butterfree/back.png | Bin 992 -> 992 bytes graphics/pokemon/butterfree/backf.png | Bin 991 -> 991 bytes graphics/pokemon/butterfree/shiny.pal | 2 +- graphics/pokemon/caterpie/anim_front.png | Bin 810 -> 810 bytes graphics/pokemon/caterpie/normal.pal | 2 +- graphics/pokemon/clefable/back.png | Bin 743 -> 743 bytes graphics/pokemon/clefable/shiny.pal | 2 +- graphics/pokemon/clefairy/back.png | Bin 639 -> 639 bytes graphics/pokemon/clefairy/shiny.pal | 2 +- graphics/pokemon/ekans/back.png | Bin 733 -> 733 bytes graphics/pokemon/ekans/shiny.pal | 2 +- graphics/pokemon/fearow/back.png | Bin 767 -> 767 bytes graphics/pokemon/fearow/shiny.pal | 2 +- graphics/pokemon/geodude/anim_front.png | Bin 890 -> 890 bytes graphics/pokemon/geodude/normal.pal | 2 +- graphics/pokemon/gloom/back.png | Bin 793 -> 793 bytes graphics/pokemon/gloom/backf.png | Bin 777 -> 777 bytes graphics/pokemon/gloom/shiny.pal | 2 +- graphics/pokemon/golbat/back.png | Bin 650 -> 650 bytes graphics/pokemon/golbat/backf.png | Bin 647 -> 647 bytes graphics/pokemon/golbat/shiny.pal | 2 +- graphics/pokemon/golem/anim_front.png | Bin 1408 -> 1408 bytes graphics/pokemon/golem/normal.pal | 2 +- graphics/pokemon/graveler/anim_front.png | Bin 1403 -> 1403 bytes graphics/pokemon/graveler/normal.pal | 2 +- graphics/pokemon/ivysaur/anim_front.png | Bin 1273 -> 1273 bytes graphics/pokemon/ivysaur/back.png | Bin 826 -> 826 bytes graphics/pokemon/ivysaur/normal.pal | 2 +- graphics/pokemon/ivysaur/shiny.pal | 2 +- graphics/pokemon/jigglypuff/back.png | Bin 518 -> 518 bytes graphics/pokemon/jigglypuff/shiny.pal | 2 +- graphics/pokemon/kakuna/back.png | Bin 563 -> 563 bytes graphics/pokemon/kakuna/shiny.pal | 2 +- graphics/pokemon/machamp/back.png | Bin 925 -> 925 bytes graphics/pokemon/machamp/shiny.pal | 2 +- graphics/pokemon/machoke/back.png | Bin 722 -> 722 bytes graphics/pokemon/machoke/shiny.pal | 2 +- graphics/pokemon/machop/anim_front.png | Bin 801 -> 801 bytes graphics/pokemon/machop/normal.pal | 2 +- graphics/pokemon/mankey/back.png | Bin 710 -> 710 bytes graphics/pokemon/mankey/shiny.pal | 2 +- graphics/pokemon/metapod/anim_front.png | Bin 680 -> 680 bytes graphics/pokemon/metapod/normal.pal | 2 +- graphics/pokemon/nidoqueen/back.png | Bin 775 -> 775 bytes graphics/pokemon/nidoqueen/shiny.pal | 2 +- graphics/pokemon/nidoran_f/back.png | Bin 661 -> 661 bytes graphics/pokemon/nidoran_f/shiny.pal | 2 +- graphics/pokemon/nidoran_m/anim_front.png | Bin 786 -> 786 bytes graphics/pokemon/nidoran_m/normal.pal | 2 +- graphics/pokemon/nidorina/back.png | Bin 820 -> 820 bytes graphics/pokemon/nidorina/shiny.pal | 2 +- graphics/pokemon/nidorino/anim_front.png | Bin 1029 -> 1029 bytes graphics/pokemon/nidorino/normal.pal | 2 +- graphics/pokemon/oddish/anim_front.png | Bin 628 -> 628 bytes graphics/pokemon/oddish/back.png | Bin 628 -> 628 bytes graphics/pokemon/oddish/normal.pal | 2 +- graphics/pokemon/oddish/shiny.pal | 2 +- graphics/pokemon/pidgeotto/back.png | Bin 878 -> 878 bytes graphics/pokemon/pidgeotto/shiny.pal | 2 +- graphics/pokemon/pidgey/back.png | Bin 728 -> 728 bytes graphics/pokemon/pidgey/shiny.pal | 2 +- graphics/pokemon/poliwrath/back.png | Bin 729 -> 729 bytes graphics/pokemon/poliwrath/shiny.pal | 2 +- graphics/pokemon/primeape/back.png | Bin 741 -> 741 bytes graphics/pokemon/primeape/shiny.pal | 2 +- graphics/pokemon/raticate/back.png | Bin 842 -> 842 bytes graphics/pokemon/raticate/backf.png | Bin 838 -> 838 bytes graphics/pokemon/raticate/shiny.pal | 2 +- graphics/pokemon/rattata/back.png | Bin 650 -> 650 bytes graphics/pokemon/rattata/backf.png | Bin 642 -> 642 bytes graphics/pokemon/rattata/shiny.pal | 2 +- graphics/pokemon/sandshrew/back.png | Bin 711 -> 711 bytes graphics/pokemon/sandshrew/shiny.pal | 2 +- graphics/pokemon/slowbro/anim_front.png | Bin 1412 -> 1432 bytes graphics/pokemon/spearow/back.png | Bin 808 -> 808 bytes graphics/pokemon/spearow/shiny.pal | 2 +- graphics/pokemon/squirtle/back.png | Bin 682 -> 682 bytes graphics/pokemon/squirtle/shiny.pal | 2 +- graphics/pokemon/tentacool/back.png | Bin 735 -> 735 bytes graphics/pokemon/tentacool/shiny.pal | 2 +- graphics/pokemon/tentacruel/back.png | Bin 766 -> 766 bytes graphics/pokemon/tentacruel/shiny.pal | 2 +- graphics/pokemon/venusaur/anim_front.png | Bin 2069 -> 2069 bytes graphics/pokemon/venusaur/anim_frontf.png | Bin 2094 -> 2094 bytes graphics/pokemon/venusaur/back.png | Bin 1006 -> 1006 bytes graphics/pokemon/venusaur/backf.png | Bin 1013 -> 1013 bytes graphics/pokemon/venusaur/normal.pal | 2 +- graphics/pokemon/venusaur/shiny.pal | 2 +- graphics/pokemon/victreebel/anim_front.png | Bin 1508 -> 1508 bytes graphics/pokemon/victreebel/back.png | Bin 813 -> 813 bytes graphics/pokemon/victreebel/normal.pal | 2 +- graphics/pokemon/victreebel/shiny.pal | 2 +- graphics/pokemon/vileplume/back.png | Bin 893 -> 893 bytes graphics/pokemon/vileplume/backf.png | Bin 912 -> 912 bytes graphics/pokemon/vileplume/shiny.pal | 2 +- graphics/pokemon/vulpix/back.png | Bin 743 -> 743 bytes graphics/pokemon/vulpix/shiny.pal | 2 +- graphics/pokemon/wartortle/back.png | Bin 864 -> 864 bytes graphics/pokemon/wartortle/shiny.pal | 2 +- graphics/pokemon/weepinbell/anim_front.png | Bin 1066 -> 1066 bytes graphics/pokemon/weepinbell/back.png | Bin 653 -> 653 bytes graphics/pokemon/weepinbell/normal.pal | 2 +- graphics/pokemon/weepinbell/shiny.pal | 2 +- graphics/pokemon/wigglytuff/anim_front.png | Bin 1048 -> 1048 bytes graphics/pokemon/wigglytuff/back.png | Bin 670 -> 670 bytes graphics/pokemon/wigglytuff/normal.pal | 2 +- graphics/pokemon/wigglytuff/shiny.pal | 2 +- graphics/pokemon/zubat/back.png | Bin 682 -> 682 bytes graphics/pokemon/zubat/backf.png | Bin 684 -> 684 bytes graphics/pokemon/zubat/shiny.pal | 2 +- .../pokemon_graphics/front_pic_coordinates.h | 2 +- 123 files changed, 63 insertions(+), 63 deletions(-) diff --git a/graphics/pokemon/arcanine/anim_front.png b/graphics/pokemon/arcanine/anim_front.png index a7b1f4146666c9b161de6356e2f630fb4dd7bb6e..945f6ba165332190a40e3e3b6d170da37592eced 100644 GIT binary patch delta 70 zcmV-M0J;B=4Ui3xEC>+^5ijVO-)E6DVK1tJQ26Y`_~e}2uzYw_B>$Xh?sGB1T32E* c6%Y^*&J7|=00001VoOIvn0C(*5F2KhEKZR$VK10?NdN!E;K-Q3pm1nVDF2*l?sGA?Xi#84 cAP^7`;g~H)00001VoOIv0Eh)0NU_As1;xr5X#fBK diff --git a/graphics/pokemon/arcanine/normal.pal b/graphics/pokemon/arcanine/normal.pal index df6d4b38fe..6e3edac002 100644 --- a/graphics/pokemon/arcanine/normal.pal +++ b/graphics/pokemon/arcanine/normal.pal @@ -7,13 +7,13 @@ JASC-PAL 131 106 98 255 98 65 197 49 32 -152 120 72 -255 255 197 -224 200 152 -192 160 112 -104 80 40 +170 130 80 +248 236 196 +248 228 156 +220 176 124 +120 84 36 255 156 106 238 115 49 -184 104 80 -96 64 32 +194 90 87 +98 49 21 16 16 16 diff --git a/graphics/pokemon/beedrill/back.png b/graphics/pokemon/beedrill/back.png index c12e9634dc23d3b077d79374aa907e2540f62161..e3ef11dce418d4763419a8ac44b855b01ba61e96 100644 GIT binary patch delta 46 zcmV+}0MY;A2jT~iEC>+^9tE_z3Vx9^PXf@Gk%cZ1>~0aL00001VoOIvn0C()Iy9r+^EjsqMLUWNcPy(RPk%lc1wwknc00001VoOIvn0C(EjEST7)EBGbNG81kY?6(U^%Q0Za=nOl;E?{Lj7mHv(*87k(5mpzd*Py*1Pk%lc1Sb>(*884RaW3rJnPy*1Pk%lc1?!ol~00001VoOIvn0CG8EO&)|$*zee{)`tUw&)8sHj1+{FfcGCdAqyJD7(mJxABM!GXO$? B4e|g0 delta 45 zcmaFB{(yag4u=4PrOxaHHFGDL_%qI!*rG3Z`)|ox1_lPkByV>Yh7ML)kBvuUm;rMx B4^{vG diff --git a/graphics/pokemon/butterfree/backf.png b/graphics/pokemon/butterfree/backf.png index 3dd9924f7cc52b81d5552e5db8c7fbe7930fe62c..a68e2c0395f1e69e56b404e2d4eb365f831a0063 100644 GIT binary patch delta 45 zcmcc5exH4U4u>G8tjJgOO8Yh7ML)kBvv9nE{EU B5DEYQ diff --git a/graphics/pokemon/butterfree/shiny.pal b/graphics/pokemon/butterfree/shiny.pal index e616c01e36..0c9ae12cce 100644 --- a/graphics/pokemon/butterfree/shiny.pal +++ b/graphics/pokemon/butterfree/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 208 160 49 49 82 90 74 115 115 98 172 diff --git a/graphics/pokemon/caterpie/anim_front.png b/graphics/pokemon/caterpie/anim_front.png index a9c8d8a923d03a6cdbf30e1d62f7eff1b6ab2cb3..eab11dc995bb8d085789b0b092623ec98219cc14 100644 GIT binary patch delta 46 zcmZ3*wu)_n4u>G8j2M%VrqV={0Hy^OCbsDcT5Qd|%D}+DnB?v5GNbGwo887EX-ohv CuMRW- delta 46 zcmZ3*wu)_n4u=4Pg;FYW!tIGB0ZbPbOl;E?oNphufq{X6G0EHAg`tC0)??$5G$sH_ Cgbo4# diff --git a/graphics/pokemon/caterpie/normal.pal b/graphics/pokemon/caterpie/normal.pal index 7b33fe1f04..1caf753e7e 100644 --- a/graphics/pokemon/caterpie/normal.pal +++ b/graphics/pokemon/caterpie/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 24 90 65 32 123 74 49 172 65 diff --git a/graphics/pokemon/clefable/back.png b/graphics/pokemon/clefable/back.png index 91f79fcc53267cf0145f5f384e9dae285c16b15b..3363cf0c106da88bf33ed187114427ef333c2b96 100644 GIT binary patch delta 46 zcmaFP`kZxw4u>G8ijn5JLXL?h0Za=nOl;E?WZE;gn1O+TG0EHAWk%UWHoJ{Sl$iir C`VRd7 delta 46 zcmaFP`kZxw4u=3EJ9pjM9eXC41TbA#FtJTnaH-ikF$M+(#w2fd7lsa2S&xlJl$ii= CN)Dd@ diff --git a/graphics/pokemon/clefable/shiny.pal b/graphics/pokemon/clefable/shiny.pal index 96e5e15d18..dab1b12e78 100644 --- a/graphics/pokemon/clefable/shiny.pal +++ b/graphics/pokemon/clefable/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 197 197 197 131 131 131 diff --git a/graphics/pokemon/clefairy/back.png b/graphics/pokemon/clefairy/back.png index 465c37d63a4452064b8dd92d9685d38b65fa8e6a..f02582cd8fe1637caa0a5a030296e7be86766a13 100644 GIT binary patch delta 46 zcmV+}0MY;d1pfq(EC>+^Bpw@f9qW-aPy(RPk%lc1{5!-&00001VoOIvn0CG8B0E!-W8OrQ0Hy^OCbsDc>az6wWnf@nO!9VjnNfC;&2HlnNhSbD CvJPkf delta 46 zcmcc1dY5&A4u=3ElSF$8ulhuj0HzBICbsDccJ=L_!N9=4nB?v5!qCAg>#^~OBohEk CyA9a@ diff --git a/graphics/pokemon/ekans/shiny.pal b/graphics/pokemon/ekans/shiny.pal index b26b6dbfb5..b3e1a7e962 100644 --- a/graphics/pokemon/ekans/shiny.pal +++ b/graphics/pokemon/ekans/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 246 115 74 197 65 24 diff --git a/graphics/pokemon/fearow/back.png b/graphics/pokemon/fearow/back.png index 17a70faa5686bb3446dfde23859c0bd220deb249..a9c5d7d072278abc53b77a4735b0c61269ad522e 100644 GIT binary patch delta 46 zcmey*`k!@z4u>G8f|2i`Ej$xV0+<$DnAoN(sGNR4kAZ=KG0EHAWk%UWHoJ{SteF6B CjSp%7 delta 46 zcmey*`k!@z4u=3E6FXN9!=;HP0ZbPbOl;E?Y+^FdjA7%D#~_Py(RPk%lc1@+zPD00001VoOIvn0C-W0JSK3quF1tjES9+n4}o CBo7<_ diff --git a/graphics/pokemon/geodude/normal.pal b/graphics/pokemon/geodude/normal.pal index c52e6ec054..e484e96953 100644 --- a/graphics/pokemon/geodude/normal.pal +++ b/graphics/pokemon/geodude/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 16 16 16 65 57 49 106 106 82 diff --git a/graphics/pokemon/gloom/back.png b/graphics/pokemon/gloom/back.png index 46468b0d86ba956149443969622f05a2d270aaf3..e1d47e9b16facac1a89f883c01fd8a338671f686 100644 GIT binary patch delta 46 zcmbQqHj{0F4u>G82CMC|+1wLN0+<$DnAoN(n9X!Yhk=2CG0EHAWk%UWHoJ{SLYV+P C#12dV delta 46 zcmbQqHj{0F4u=3Ems;PQSuGPy0+=o=nAoN(c&6jMCj$cmW0JSK3quF1tjES9p-cd3 CX%8y^ diff --git a/graphics/pokemon/gloom/backf.png b/graphics/pokemon/gloom/backf.png index 4e11f97c5d867b21cf0842efd541355298868234..8b57986c909a26aa2fba20372bab8f2ef9ff7c21 100644 GIT binary patch delta 46 zcmeBV>tvgt!y(A2!G3wgFZGEg0Za=nOl;E?%x1cy!@$76nB?v5GNbGwo887Eu1o-2 C(GM{I delta 46 zcmeBV>tvgt!y&-PrIW{5JZqv!0Mms96WeqJ&vd-^WME)mO!9VjVd!9$_1JjCl?ebs C)D8Ur diff --git a/graphics/pokemon/gloom/shiny.pal b/graphics/pokemon/gloom/shiny.pal index 2bd1b2a23f..50af6341d2 100644 --- a/graphics/pokemon/gloom/shiny.pal +++ b/graphics/pokemon/gloom/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 246 238 189 246 213 106 230 172 65 diff --git a/graphics/pokemon/golbat/back.png b/graphics/pokemon/golbat/back.png index 14bcef7a0569dd12a2b8d6c59e5691e6ba2c9eca..78275bb278a7d53177b760042cf295032e9a3a11 100644 GIT binary patch delta 46 zcmeBT?P8sv!y(A2&Kw-8^l_p|0MmjC6WeqJODz}LFfcGMCV9KN%qY9aX1DRkF-8DD C?hfey delta 46 zcmeBT?P8sv!y&-PX|}`drt(CS0HzBICbsDcUfMh#_039u@#o C4i4`C diff --git a/graphics/pokemon/golem/normal.pal b/graphics/pokemon/golem/normal.pal index bb391efd57..afe12d63b8 100644 --- a/graphics/pokemon/golem/normal.pal +++ b/graphics/pokemon/golem/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 205 205 205 115 115 115 diff --git a/graphics/pokemon/graveler/anim_front.png b/graphics/pokemon/graveler/anim_front.png index 8e74f3c5fe0c12e449187c8be20b2fe3ff94768f..185c7f192680c8f85267f103fc9fc25d8273a406 100644 GIT binary patch delta 46 zcmV+}0MY;Z3i}F>EC>+^Ffi#3$8nJ~Py(RPk%lc1t3Vo*00001VoOIvn0Cn+a delta 46 zcmey(^_y#g4u=4vn3VgG-Ek950+=o=nAoN($a6~bBLf2iW0JSK3quF1tjES9+gSi~ CF%Me+ diff --git a/graphics/pokemon/graveler/normal.pal b/graphics/pokemon/graveler/normal.pal index c5708fcc9d..c8a0885b4c 100644 --- a/graphics/pokemon/graveler/normal.pal +++ b/graphics/pokemon/graveler/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 0 0 0 74 65 49 106 106 82 diff --git a/graphics/pokemon/ivysaur/anim_front.png b/graphics/pokemon/ivysaur/anim_front.png index 89daaa15b3be8cb7ec8909ad44c11a59fe4dd504..1fe645853ac8694e00d71e522d765917b7e814aa 100644 GIT binary patch delta 46 zcmV+}0MY;X3Hb?-EC>+^85EIAyi1WZPy(RPk%lc1|1$Q`00001VoOIvn0Ck4u=4vq;-$!_VW`>0+=o=nAoN(7_sB%76t|e#w2fd7lsa2S&xlJOj!Vj CUk|eY diff --git a/graphics/pokemon/ivysaur/back.png b/graphics/pokemon/ivysaur/back.png index f9be9ad167f37f4fd41f44fa533ae2cc63cc1417..004cf339b47ffd64f1751b392860a00de043fae0 100644 GIT binary patch delta 46 zcmdnRwu^0o4u>G8q|E#YCY2LS0+<$DnAoN(_*l=qm4ShQG0EHAg`tC0)??$5GA002 Ce-1$a delta 46 zcmdnRwu^0o4u=4v6pLWpNyCXI0ZbPbOl;E?bXijJfPsO5G0EHAWk%UWHoJ{S%9sFD C4i8=c diff --git a/graphics/pokemon/ivysaur/normal.pal b/graphics/pokemon/ivysaur/normal.pal index 94a136e576..30f8e8be5a 100644 --- a/graphics/pokemon/ivysaur/normal.pal +++ b/graphics/pokemon/ivysaur/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 255 172 164 255 123 123 diff --git a/graphics/pokemon/ivysaur/shiny.pal b/graphics/pokemon/ivysaur/shiny.pal index b93a3a4ada..cf39cdcf64 100644 --- a/graphics/pokemon/ivysaur/shiny.pal +++ b/graphics/pokemon/ivysaur/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 255 255 156 255 213 0 diff --git a/graphics/pokemon/jigglypuff/back.png b/graphics/pokemon/jigglypuff/back.png index 0c079fe36f48a89d37e8da209699963fc123b705..0c12a83007abb4252c2a6cd21de78b963aa3b19a 100644 GIT binary patch delta 46 zcmZo;X=9n7!y(A2sveuMWYI*E0Hy^OCbsDcZV#9F$-uzCnB?v5GNbGwo887EPK*Fo C&ktPy delta 46 zcmZo;X=9n7!y&-Pp?s!+r*oo70Mms96WeqJ1@7w4VPIfjO!9VjVd!9$_1JjCi4g!h CkPU4B diff --git a/graphics/pokemon/jigglypuff/shiny.pal b/graphics/pokemon/jigglypuff/shiny.pal index 198e91fff9..3bfdb77e58 100644 --- a/graphics/pokemon/jigglypuff/shiny.pal +++ b/graphics/pokemon/jigglypuff/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 205 255 189 24 216 160 diff --git a/graphics/pokemon/kakuna/back.png b/graphics/pokemon/kakuna/back.png index 9ac623c407642b3d1af4c4222f86c70ca43f954f..ef55df0be0db60207b04aad43610c49ecf3041aa 100644 GIT binary patch delta 46 zcmdnYvYBOq4u>G8te&y#^}jJ|h4? CP7U7x diff --git a/graphics/pokemon/kakuna/shiny.pal b/graphics/pokemon/kakuna/shiny.pal index 55488cac37..5a6bb2de01 100644 --- a/graphics/pokemon/kakuna/shiny.pal +++ b/graphics/pokemon/kakuna/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 213 255 156 172 255 0 diff --git a/graphics/pokemon/machamp/back.png b/graphics/pokemon/machamp/back.png index 1c135d16bfdda2708d56b9482ca27e8c6185367d..7b9f905cf2c36955a1f6599f589b3538c9380f5f 100644 GIT binary patch delta 46 zcmV+}0MY-Q2b~9yEC>+^Egs6WrlOHFPy(RPk%lc1xG=9a00001VoOIvn0C#_03O(p<5 C5DoJH diff --git a/graphics/pokemon/machamp/shiny.pal b/graphics/pokemon/machamp/shiny.pal index 748a9d16fc..20887b0aae 100644 --- a/graphics/pokemon/machamp/shiny.pal +++ b/graphics/pokemon/machamp/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 0 0 0 49 74 0 74 106 16 diff --git a/graphics/pokemon/machoke/back.png b/graphics/pokemon/machoke/back.png index 135b960892879b2f1a6272bc12cce415d70d326c..0403e37adaa9cb2294a188406fac9b30194797b6 100644 GIT binary patch delta 46 zcmcb_dWm&{4u>G8jsbt=ES-ra{!ABUOl;K?oS49o!N9=4nB?v5GNbGwo887Ed`tjM CcMePd delta 46 zcmcb_dWm&{4u=4vuwwU)W%d(I{F!E4nAoZ(xM{(RItB&?#w2fd7lsa2S&xlJ_?Q4~ Cz7ER( diff --git a/graphics/pokemon/machoke/shiny.pal b/graphics/pokemon/machoke/shiny.pal index 0869c18fc1..640441c223 100644 --- a/graphics/pokemon/machoke/shiny.pal +++ b/graphics/pokemon/machoke/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 152 160 0 0 0 16 65 0 41 90 0 diff --git a/graphics/pokemon/machop/anim_front.png b/graphics/pokemon/machop/anim_front.png index be12164d4279cf5c40c51196fe189de655f743df..3cd8f121055172bd9c1630c3c8b626a8ff88b875 100644 GIT binary patch delta 47 zcmZ3;wvcUt4u>G8F8A_GC(nr{{>%$zT$tFVE0`&s`;mcxficP3-G!lpRn}wUkys`G DSQQRY delta 47 zcmV+~0MP%T2B8L!EC>(*6AMrSZ|RXVPXn0Hppk|x5zr#hW&i*H0b)x>L^;<0l|Zq? FT>@cX4}1Us diff --git a/graphics/pokemon/machop/normal.pal b/graphics/pokemon/machop/normal.pal index 69a2c2fce4..8a8b66f913 100644 --- a/graphics/pokemon/machop/normal.pal +++ b/graphics/pokemon/machop/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +160 152 208 0 0 0 41 74 82 90 123 106 diff --git a/graphics/pokemon/mankey/back.png b/graphics/pokemon/mankey/back.png index 3a84430deb6055434ec12c2f3ac41736411df103..283dac52d12a4a6e2d672c4d9cf81a7129232204 100644 GIT binary patch delta 46 zcmV+}0MY-(1;z!CEC>+^DjI^A^n8&tPy(RPk%lc14d;fW00001VoOIvn0C~~4u=3Ezo<_&|MiI`0ZbPbOl;E?T$Q`^AOiyfW0JSK3quF1tjES9OiTb- CTMkM9 diff --git a/graphics/pokemon/mankey/shiny.pal b/graphics/pokemon/mankey/shiny.pal index a8eded08bf..d4ad43c9c8 100644 --- a/graphics/pokemon/mankey/shiny.pal +++ b/graphics/pokemon/mankey/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 222 222 222 255 230 189 diff --git a/graphics/pokemon/metapod/anim_front.png b/graphics/pokemon/metapod/anim_front.png index 99e25f05e754433ea71a871ce4e6c8324334e672..d5ebef9a6effa4d4908260509a55c6fd8a938860 100644 GIT binary patch delta 46 zcmZ3%x`K6r4u>G8jK<+$lg^1I0Za=nOl;E?l&@wnV_;xlO!9VjnNfC;&2Hn7CyW3@ Cs1CLO delta 46 zcmZ3%x`K6r4u=4PCBw=Jfx3w%0ZbPbOl;E?-0{&on1O+TG0EHAg`tC0)??$5CyW43 CJPxY> diff --git a/graphics/pokemon/metapod/normal.pal b/graphics/pokemon/metapod/normal.pal index 3aa2a9a5f9..8147ad3289 100644 --- a/graphics/pokemon/metapod/normal.pal +++ b/graphics/pokemon/metapod/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 57 74 65 74 106 82 106 139 90 diff --git a/graphics/pokemon/nidoqueen/back.png b/graphics/pokemon/nidoqueen/back.png index 356611ab5d9aa4acb3998a4418ed6814de92c3c0..243b801a00e8754bfb01d309158c070321e4a04b 100644 GIT binary patch delta 46 zcmZo?YiFCF!y(A2EEOE(Z#vN=fN8;niEX-q-d&USFfcGMCV9KN%qY9aX1DQ(GZO$h ChYoxI delta 46 zcmZo?YiFCF!y&-PsyJOi_{Bt%0HzBICbsDczF}B+lYxPOG0EHAg`tC0)??!lXC?qb CHVy9p diff --git a/graphics/pokemon/nidoqueen/shiny.pal b/graphics/pokemon/nidoqueen/shiny.pal index b97509da4c..3af2e0347d 100644 --- a/graphics/pokemon/nidoqueen/shiny.pal +++ b/graphics/pokemon/nidoqueen/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 213 213 213 246 205 213 diff --git a/graphics/pokemon/nidoran_f/back.png b/graphics/pokemon/nidoran_f/back.png index d965882e74d7e6c8ae0b18b917d43e44905b108a..95e0c30e58218745debbae869c0d8e04ecdef0b6 100644 GIT binary patch delta 45 zcmV+|0Mh@J1(gMmEC>+^A~ELuhcuBiPXW-8gf9`Xbc~Py0004EOGiYQcF_htvBc2< DU(*1T~c5_SBIyPXU;bgf9{62=90R0004EOGiWihy@);vBc2< DV0{lz diff --git a/graphics/pokemon/nidoran_f/shiny.pal b/graphics/pokemon/nidoran_f/shiny.pal index 8faa3a85ff..722554334a 100644 --- a/graphics/pokemon/nidoran_f/shiny.pal +++ b/graphics/pokemon/nidoran_f/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 208 160 238 222 255 230 189 238 189 148 197 diff --git a/graphics/pokemon/nidoran_m/anim_front.png b/graphics/pokemon/nidoran_m/anim_front.png index d000ae56a4980b15095816647f8be91836e7eff0..6dea62a97110f4dcb00412c5d80f6fef112647e0 100644 GIT binary patch delta 46 zcmV+}0MY-F29gGlEC>+^BPw-+f0>aqPy(RPk%lc1>E6Iu00001VoOIvn0CP54u=3Es~-D&zRHOv0ZbPbOl;E?^b7fH!@$76nB?v5!qCAg>#^~O9}@s8 CO$`G8 diff --git a/graphics/pokemon/nidoran_m/normal.pal b/graphics/pokemon/nidoran_m/normal.pal index 53f48d4374..3261195bac 100644 --- a/graphics/pokemon/nidoran_m/normal.pal +++ b/graphics/pokemon/nidoran_m/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 16 16 16 255 106 82 diff --git a/graphics/pokemon/nidorina/back.png b/graphics/pokemon/nidorina/back.png index 33513133f5c6403d74414da159ad1ffd9be47586..c17843af534b11b75565087609f77faba06652d8 100644 GIT binary patch delta 46 zcmV+}0MY-n2DAo{EC>+^BL^^CBkYkhPy(RPk%lc1o@dX}00001VoOIvn0CG8y0nAguH_R={24DyY|$6=v{|0bz`($mkY* delta 45 zcmeyu@`YuB4u=3E7pE%k^1BmF{26CVY|$4Kb~w_^z`($m+^CoK4kAE=QuPy(RPk%lc1ZGz5#00001VoOIvn0C(*3J=U~0_c%6Py*1Pk%lc1$_V}C00001VoOIv0Eh)0NU_AQ E0ej95+^9w%YiOPY~1Py(RPk%lc1j#>PR00001VoOIvn0C4u>G8oR|TN_kxKg0Za=nOl;E?JnTBPk%57MG0EHAWk%UWHoJ{SM3?|l CFb>TC delta 46 zcmV+}0MY;01=t0UEC>()I}DQeKG%^nPy*1Pk%lc1WY4DL00001VoOIv0Eh)0NU_8e E0*FHo!~g&Q diff --git a/graphics/pokemon/pidgey/shiny.pal b/graphics/pokemon/pidgey/shiny.pal index ae4b6c8dd9..48ea08bf68 100644 --- a/graphics/pokemon/pidgey/shiny.pal +++ b/graphics/pokemon/pidgey/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 189 189 189 131 131 131 diff --git a/graphics/pokemon/poliwrath/back.png b/graphics/pokemon/poliwrath/back.png index de5df03f67843f705ce63d896e1f07c2bc0b5b7f..0e39599c9ff2c516baf23d29821a3fa29178fcfc 100644 GIT binary patch delta 46 zcmV+}0MY;11=$6VEC>+^D=W%f#RrizPy(RPk%lc13!S?c00001VoOIvn0COx CISz>c diff --git a/graphics/pokemon/poliwrath/shiny.pal b/graphics/pokemon/poliwrath/shiny.pal index ae6b05dc98..cbfca28177 100644 --- a/graphics/pokemon/poliwrath/shiny.pal +++ b/graphics/pokemon/poliwrath/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 213 213 222 189 189 189 diff --git a/graphics/pokemon/primeape/back.png b/graphics/pokemon/primeape/back.png index ec73da889bdb0aa2703c1d178bff24d71840564a..e5880490d176ca6504c2aebadef27cff28441e0e 100644 GIT binary patch delta 46 zcmV+}0MY;D1?2^hEC>+^D+l<6spOF~Py(RPk%lc1x1bfq00001VoOIvn0C#^~OA`<{k C=M7c> diff --git a/graphics/pokemon/primeape/shiny.pal b/graphics/pokemon/primeape/shiny.pal index b6a27d36a1..1e9e677301 100644 --- a/graphics/pokemon/primeape/shiny.pal +++ b/graphics/pokemon/primeape/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 197 197 197 123 123 123 diff --git a/graphics/pokemon/raticate/back.png b/graphics/pokemon/raticate/back.png index a60844844fd6a66ffe35d30457669f4e70ba4ff6..3131c485df7e2d0e976fac59c6e18d6925bf47c8 100644 GIT binary patch delta 46 zcmV+}0MY--2FeDIEC>+^APQx`43d#FPy(RPk%lc1IFm2o00001VoOIvn0C+^AP!=!$cvFQPy(RPk%lc1IFm2o00001VoOIvn0C?Y}0P1TbA#FtJTnaK5BW3j+fKW0JSK3quF1tjES9O-uk^ Cj}CGG diff --git a/graphics/pokemon/raticate/shiny.pal b/graphics/pokemon/raticate/shiny.pal index c6423b6132..bf3ef687ef 100644 --- a/graphics/pokemon/raticate/shiny.pal +++ b/graphics/pokemon/raticate/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 255 205 156 197 131 82 diff --git a/graphics/pokemon/rattata/back.png b/graphics/pokemon/rattata/back.png index 96d5f5f82679871f5e022e3b9a44c2e48c551ad8..9e8c699bbc57bf60f4c6f893617a1ca99662d020 100644 GIT binary patch delta 47 zcmV+~0MP%61&RfbEC>+^9~{ZblmC%4PXo}H(2<5M5r@j+UH||90b)x>M3{Eb20pRG F#sQ+25-I=y delta 47 zcmeBT?P8sv!y&-PpfR~So^zs!Kl6+W3nsSd3O=cjb7Np&U`+CMcVXyYmG#(o+^A1R-CSKN^_PXo}H(2<5M5r@j+UH||90b)x>M3{Eb20pRG Fz5#?15k&w1 delta 47 zcmZo-ZDO6E!y&-Ppfly!Y=Ma;{>(EjEST7)EBK^B&W(YAficP3-G!lpRn}wUk$sE+ DT;mSN diff --git a/graphics/pokemon/rattata/shiny.pal b/graphics/pokemon/rattata/shiny.pal index 29c9672e1f..fcba5ae25a 100644 --- a/graphics/pokemon/rattata/shiny.pal +++ b/graphics/pokemon/rattata/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 152 208 255 255 255 123 139 222 65 82 164 diff --git a/graphics/pokemon/sandshrew/back.png b/graphics/pokemon/sandshrew/back.png index 941e0efe9ec919e1291ae1fe79fabb7e6ce75d64..42c6f96595f091b37608811abb6a1291405c4e98 100644 GIT binary patch delta 46 zcmV+}0MY-)1;+)DEC>+^A_2f8x0sPMPXf@Gk%cZ15j*|e00001VoOIvn0C<>0V}?lU!{>WlYhKPL_t(|ob8ssZ`(!`$GJ2>7ZV&}cxWO( zLFWLGI}2#2wE`NcQ#Sk-wuECu;xj?rrKFR2=6B{514BH~bT9&Co z+`l6xYcALVOogB!cKC2s3?xDTz<=z9 z5B+UGaP|uy-HfJNfF1w*?2L0UoooTD6~_?}5L*EIGtT*MyJ8}?Eb@_qK+Ab8VDk$D zj3NY_=t(xf(u%tV@VMFJj`Jj2Lfmf~z~bxjvu|mN47m5Y{l3!wNuyjYKPLd^uyF<6 zVMm+f&+?a_m&^5qAmIK-YuRHgR)3ahzbI3CR!t=E2HJuP`s-0u*;6?A}|=#{e5tHI#ZZQ?$01p48V4X zyHIOwU(8(>s9*TBMvwJopB^bd!Y=^($3p~gjeW*C-D7o<)re!CpiAe|1i)BVJB;!0 zh6`~cZ{>YPXaMK?0=+c@^%q|4M&CY(`$kOK&xv7WMuZl>57P^n@hSVseFkseecd;^j( zmjD3kXh2$m>TZfN;6{WGP`Zpe>LToe)@>D9>D>xHFd?FY?qydy@9+Tj-Fm52A4_17 zrkDDKxNcS|l`53#oE{0BX%d7?IqjXZUtJ>Zl5>0|2oMHv&Tn1UZGSch7_I?OcY#Zr z;|Q*s;1m*=g#Dfl_^+_v#WHZJr3mAtdg1UW#9hO6YqCyQt}yNx0RF1hY&PVz#!n+= z-JV`)`YTS60a)w4dR_3P-VpNQ({UPaSV(^l;jSr%z>gCwqv28G8*2mLiG~IJ_9~FC zkGy>NtegGTBH(Ml#(zQ-JoxtaPic|#ugP>66abMk_2szs+ouyJ%mEgK$r^3#zIP7t zz(b2l;B0yDv)N`=eh>en_A&isdqm;hiXPJ6Y#+jX+ii*{+#k|E*B-)s3y_8TI{l0G zkcIm~Yy&D^V4+`R>0i`tWp=-m>7V^Z2knrudoI(T{-2W^8-M$QFq~t!OCT>fnEqFT zQ)txIi^xe1ray-JK&Jn!NOBMud;kh0hthvQdQhW66i5!XIq89X1))fCaFwJ7GX9}R zaxi)y^q^33R6Qt?9DA(jL6PLxe8d$!$V<*z4}y&zT5kX_M$yqa&{JrQUzMI=2{Q#bCPqtfH~?xBhv%ONzV1puQ0oj$@IXKoJGT3L3csE42d+9P9Ka9Yc*B;!S8|jQW^e`7m$zs@NeyJ X`?(_Ho+O-S00000NkvXXu0mjfTd`}& delta 1241 zcmV;~1Sb2K3xo@hEC>(*7z4d5J`j;KlYgj5L_t(|ob8s+Ya2%tfHwyhe9@vq;u;zP z+w{;=z;geAbbYnJm3nG0y+{Od@ued{ThU9rdy-9xwF`B0*CBsJQz(p_b3miDAU-r` z$5Jcn2V^sSGb716vs%+r4{gTa%Y6IZ%;?R$&oKUbBSX*Arr3bbcko%tycq`YzkiQ0 zP6_dzkO8F~OmVOphzJeg^RrHv26QnWXPBe`JpFHXa7YHLfy@&CzRf;4V=24%=neqc z;U{<=!8g{`P`8F0$S#4gd!hop?91Xe0JO=u1j;Bi-?+M?94+n=zbp^P1 zXj#_%Vo?C&Bg6E{^=2H{v-UpY$bTc!HH^vQqxDkRjfYs3;r;hK(&MNb&V9R+z#vG{39DfJJl4S6! ztD>9-0HI2yF;#LvImlUp$pnc}bCduWx5a!1w*v@{P_+`@XCHTD2&lYvfRJ+thdCYi zOQhchfD?TQpi0B{>i%+-87OC7vpfKlEjp|?RmbsAMF*g&1>pU(iKYO!iwy5@yT1V1 z02~iDD|N@Y-schsIS`?P?0=@?PGi3(03#dbe+@gZ(r8lk;q$3;eFY*+E-l-(E%93r zI0(n}>al||N%tNUob~zLYrwC&3Q*_3@sA;7AY{rs$9LmJ8}**$0AOr`T*4}58w`TP ze~RGtvs^B>UCh@e@AyWmlbPcwz^KSaE*~**ROEmuKuAXRmpnv7uzv(zH@$d@hy*qe z+x8M5!8Bej06@jTh@c+$8VF$;K;TZ;_WlwGm~t&l2x;%jdm|2;u%-^cGGXLpT}I4r zs<(nd2%bY0e!x7JsrM@41Y_)KAI>^tPF;J;CROpFNJc|IwYShjHGdAsyQ9CACYzyC zB0gIUKn~Po^AqvmFMkQJMOO25_B4B%@*K-pS(dHcFmIUmjLA&_3DCd z-G6vP_aCdxJuz<0n|mrSZ|=+Pp9JOMq*TDmid>|KN785%P{kg2T$ks^l1E zw+6ri2Co2vRZMlsF+%ni*MkR$F}{zXE;$);C3<_2$<8~}B_~4`dN6P9y5uDEK$o0Q z*8^R05_+IZPC^ehfQXk|To3p*BVBS5dZ0@V&k@%HVMYi_RZ}w8gZCV`By84H9L9{o zg&uH!2$+^AR)+^8wOCsuYr*?PXf@Gk%cZ1-Hx!s00001VoOIvn0C()HwUSos8f+NPXd_Gk%cZ1{!Sp(00001VoOIv0Eh)0NU_A` E0b^GWPXGV_ diff --git a/graphics/pokemon/squirtle/shiny.pal b/graphics/pokemon/squirtle/shiny.pal index aab06e90e1..7ae46ab43d 100644 --- a/graphics/pokemon/squirtle/shiny.pal +++ b/graphics/pokemon/squirtle/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 152 160 255 255 255 213 205 205 156 222 123 diff --git a/graphics/pokemon/tentacool/back.png b/graphics/pokemon/tentacool/back.png index 639a190b8970ae053002cdcd24018e3f79164790..3847409a40a25436d956de3dca710ae5b84cc935 100644 GIT binary patch delta 46 zcmV+}0MY;71>XgbEC>+^FEYwnsKb#oPXf@Gk%cZ1(8z6+00001VoOIvn0CG80hd0L+~J8P{!ABUOl;K?ymY&%l7WGNG0EHAWk%UWHoJ{Ste604 CDi65; delta 46 zcmeyz`j2&j4u=4vsNsQ7!MhVp{F!E4nAoZ(_)%IYpMimaG0EHAg`tC0)??!lD<%MH CgAQQ; diff --git a/graphics/pokemon/tentacruel/shiny.pal b/graphics/pokemon/tentacruel/shiny.pal index 6408608503..4849df7cd9 100644 --- a/graphics/pokemon/tentacruel/shiny.pal +++ b/graphics/pokemon/tentacruel/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 152 160 255 255 255 189 230 172 148 197 131 diff --git a/graphics/pokemon/venusaur/anim_front.png b/graphics/pokemon/venusaur/anim_front.png index 8f0afb5af176222a89509023195263b0fe2634b4..e224c3741b454156a1b5fa55f46276c39be14201 100644 GIT binary patch delta 46 zcmV+}0MY-I5S0*+EC>+^87#R;1l5r=Py(RPk%lc1l{sYW00001VoOIvn0CG8q~R_944#Q50Za=nOl;E?oNAf!hJk^BG0EHAWk%UWHoJ{Sve*G! CmJfaa delta 46 zcmZ1{uufot4u=4PiG|6PYilQ(1TbA#FtJTn&}egbCj$cmW0JSK3quF1tjES9S?mC9 CP7eA2 diff --git a/graphics/pokemon/venusaur/back.png b/graphics/pokemon/venusaur/back.png index 6f013fe53b44409827a970b303311058527b4418..f00ff70ae1b97c9d6681a56d8352cea23e6f7d51 100644 GIT binary patch delta 46 zcmV+}0MY;M2kr-uEC>+^8UUcYJN1z?Py(RPk%lc1cyfF200001VoOIvn0CvDgy%pW0JSK3quF1tjES9TFd}o Ckq(gn diff --git a/graphics/pokemon/venusaur/backf.png b/graphics/pokemon/venusaur/backf.png index 701b9f833951fbbac5f3c194e69a212dcc5e291b..ff3d450160188aca8601b3b47bf56cb30ae917f0 100644 GIT binary patch delta 46 zcmey${*`@#4u>G86tm^lEdPln0Za=nOl;E?tSGAfz`(%3nB?v5GNbGwo887EhRgtO C<`2;T delta 46 zcmey${*`@#4u=4PDQ|U+^7)A-0ZbPbOl;E?y#K>vDgy%pW0JSK3quF1tjES9hRgta CQ4d@I diff --git a/graphics/pokemon/venusaur/normal.pal b/graphics/pokemon/venusaur/normal.pal index 98e76949d8..9fef14fcea 100644 --- a/graphics/pokemon/venusaur/normal.pal +++ b/graphics/pokemon/venusaur/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 16 82 65 16 120 104 32 176 152 diff --git a/graphics/pokemon/venusaur/shiny.pal b/graphics/pokemon/venusaur/shiny.pal index ac5880c4e0..35e0d10255 100644 --- a/graphics/pokemon/venusaur/shiny.pal +++ b/graphics/pokemon/venusaur/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 57 90 32 120 152 40 164 213 74 diff --git a/graphics/pokemon/victreebel/anim_front.png b/graphics/pokemon/victreebel/anim_front.png index 80c9620522d038e5b7ca804fc3ec075a245ab229..b633b6f4b6a586b1c665246ce4a92b96c08d8a98 100644 GIT binary patch delta 46 zcmaFD{e*jh4u>G8p79d5l_C>O0+<$DnAoN(=v}|xn1O+TG0EHAWk%UWHoJ{S6j%Xj ChYwQ# delta 46 zcmV+}0MY;C3*-xsEC>(*6gk(GsIHMTPy*1Pk%lc1?DdRR00001VoOIv0Eh)0NU_8q E1(t>oCjbBd diff --git a/graphics/pokemon/victreebel/back.png b/graphics/pokemon/victreebel/back.png index 869c92912b5a1e1df7b498932eccb9240c6e817d..a8eaef0d0f6ea0de386f447d7d0d055fcf22d4ab 100644 GIT binary patch delta 46 zcmV+}0MY-g2CW8=EC>+^F9Pg?m~W9ZPXf@Gk%cZ1O|X@P00001VoOIvn0Cww7&z4u=4vC|kvgEte*m_%qG8FtJrnFt31hG6MqxW0JSK3quF1tjES9nM?p< CdJd5Q diff --git a/graphics/pokemon/victreebel/normal.pal b/graphics/pokemon/victreebel/normal.pal index 883d809651..4e2238e77f 100644 --- a/graphics/pokemon/victreebel/normal.pal +++ b/graphics/pokemon/victreebel/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 0 0 0 189 197 197 255 255 255 diff --git a/graphics/pokemon/victreebel/shiny.pal b/graphics/pokemon/victreebel/shiny.pal index 2d049bd6ca..173dbf31fe 100644 --- a/graphics/pokemon/victreebel/shiny.pal +++ b/graphics/pokemon/victreebel/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 152 160 0 0 0 189 197 197 255 255 255 diff --git a/graphics/pokemon/vileplume/back.png b/graphics/pokemon/vileplume/back.png index 588a0c2cb1f38657e06fbe0f32c36f0ac21dcccb..2ddd23e8f1bcee8e39ce1097200f66a024e552db 100644 GIT binary patch delta 46 zcmV+}0MY;b2K@$*EC>+^C>bfI$3&4dPy(RPk%lc1?3N3(00001VoOIvn0C+^C?oHy9`=zmPy(RPk%lc1?3N3(00001VoOIvn0C%>$iTqBnB?v5!qCAg>#_03872TG C(G4vC diff --git a/graphics/pokemon/vileplume/shiny.pal b/graphics/pokemon/vileplume/shiny.pal index 409e65b4ab..fd75dec7d2 100644 --- a/graphics/pokemon/vileplume/shiny.pal +++ b/graphics/pokemon/vileplume/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 248 176 64 255 164 41 192 152 40 diff --git a/graphics/pokemon/vulpix/back.png b/graphics/pokemon/vulpix/back.png index b53363a2a06f48a6f0f96aa305f1be8d21f2a507..bf02a4e4987bbc651c6ed08a0ded68890757278b 100644 GIT binary patch delta 46 zcmaFP`kZxw4u>G8DxdrG8v_jKKt(u7@{!ABUOl;K?d@nBK!oa}5nB?v5!qCAg>#_0393}u; CqYgv> delta 46 zcmV+}0MY;82H*yeEC>()Hz{>VrJRv8PXd_Gk%cZ1%-4ca00001VoOIvv_uJN-Lb@+ E0)EC2-T(jq diff --git a/graphics/pokemon/wartortle/shiny.pal b/graphics/pokemon/wartortle/shiny.pal index d927f2214d..6b16c8bb41 100644 --- a/graphics/pokemon/wartortle/shiny.pal +++ b/graphics/pokemon/wartortle/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +208 152 160 255 255 255 213 246 197 180 222 189 diff --git a/graphics/pokemon/weepinbell/anim_front.png b/graphics/pokemon/weepinbell/anim_front.png index 9f7e475b496d5fdfd633ae0da28adfc83d9d0686..0a17971686d97f7e8390f185141a0f44c4345f1e 100644 GIT binary patch delta 46 zcmZ3*v5I4Y4u>G89^W6mr>qlA0+<$DnAoN(_?k_28v_FaW0JSK3quF1tjES9Y0Lmt CVGcY1 delta 46 zcmV+}0MY-d2&xE>EC>(*E-mQhqN+^E*J>+^CJHl}s}zwmPy(RPk%lc1d1{>h00001VoOIvn0Ct<8 delta 46 zcmbQiF@s}*4u=3EhoQY??ZJsA0ZbPbOl;E?y!T-JECvP!#w2fd7lsa2S&xlJLYM(q Cybj+0 diff --git a/graphics/pokemon/wigglytuff/back.png b/graphics/pokemon/wigglytuff/back.png index 8094a3ce791c38cf17459029488966169add6a6d..d093212b975e8a3f48fe164d096c491777082a11 100644 GIT binary patch delta 46 zcmV+}0MY-R1)c?vEC>+^CKFfj1Jsc;Py(RPk%lc1;Cjj>00001VoOIvn0C(*2shSR*z}P!Py*1Pk%lc1NAUST00001VoOIv0Eh)0NU_A) E0eagI9smFU diff --git a/graphics/pokemon/wigglytuff/normal.pal b/graphics/pokemon/wigglytuff/normal.pal index b7cfb4e74e..ef750b0d73 100644 --- a/graphics/pokemon/wigglytuff/normal.pal +++ b/graphics/pokemon/wigglytuff/normal.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 230 222 230 115 115 115 diff --git a/graphics/pokemon/wigglytuff/shiny.pal b/graphics/pokemon/wigglytuff/shiny.pal index 719fd770d6..a9c87f98f6 100644 --- a/graphics/pokemon/wigglytuff/shiny.pal +++ b/graphics/pokemon/wigglytuff/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 222 222 230 115 115 115 diff --git a/graphics/pokemon/zubat/back.png b/graphics/pokemon/zubat/back.png index 47d18d840daf3d9884e7e93ea8584e6a41317a1c..d4ab3b87aedbb237933fc354f9f0ce0d21f33f09 100644 GIT binary patch delta 46 zcmZ3*x{7sz4u>G8ni88n^Sg;A0Za=nOl;E?EcKgV&%nUInB?v5GNbGwo887E&lmwb C(hk`G delta 46 zcmZ3*x{7sz4u=3EC;xNjK<$Yp0ZbPbOl;E?ymVxB6axbTW0JSK3quF1tjES9&lmwx CZw~MP diff --git a/graphics/pokemon/zubat/backf.png b/graphics/pokemon/zubat/backf.png index fbeae3545a3ce76ede2168fea65436416c54d294..a8bed93d0abf71120eaaf45165b4b629205c1af5 100644 GIT binary patch delta 46 zcmV+}0MY-f1*`>-EC>+^CME$w$M=ymPy(RPk%lc1bxxQ+00001VoOIvn0C-EC>(*2_w~;J;;$XPy*1Pk%lc1(!{G;00001VoOIv0Eh)0NU_A| E0dPGJ*#H0l diff --git a/graphics/pokemon/zubat/shiny.pal b/graphics/pokemon/zubat/shiny.pal index dafcf42397..508d47898f 100644 --- a/graphics/pokemon/zubat/shiny.pal +++ b/graphics/pokemon/zubat/shiny.pal @@ -1,7 +1,7 @@ JASC-PAL 0100 16 -152 208 160 +152 160 208 255 255 255 213 213 213 98 98 98 diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index cabb542e63..e97a40286a 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -84,7 +84,7 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] = [SPECIES_PONYTA] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 6 }, [SPECIES_RAPIDASH] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 }, [SPECIES_SLOWPOKE] = { .size = MON_COORDS_SIZE(64, 32), .y_offset = 16 }, - [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 5 }, + [SPECIES_SLOWBRO] = { .size = MON_COORDS_SIZE(56, 56), .y_offset = 4 }, [SPECIES_MAGNEMITE] = { .size = MON_COORDS_SIZE(48, 32), .y_offset = 20 }, [SPECIES_MAGNETON] = { .size = MON_COORDS_SIZE(64, 56), .y_offset = 7 }, [SPECIES_FARFETCHD] = { .size = MON_COORDS_SIZE(48, 56), .y_offset = 7 }, From c33660e00f0f788d3f80a25a6eeddcc598ef7506 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Sat, 19 Aug 2023 15:37:41 +1200 Subject: [PATCH 170/256] fix arcanine and zard --- graphics/pokemon/arcanine/anim_front.png | Bin 1680 -> 1680 bytes graphics/pokemon/arcanine/normal.pal | 14 +++++++------- graphics/pokemon/charizard/anim_front.png | Bin 1761 -> 1761 bytes graphics/pokemon/charizard/back.png | Bin 875 -> 874 bytes 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/graphics/pokemon/arcanine/anim_front.png b/graphics/pokemon/arcanine/anim_front.png index 945f6ba165332190a40e3e3b6d170da37592eced..b1643339d72a3759e1c49d8f9df1b7e2a2e2fa7c 100644 GIT binary patch delta 70 zcmV-M0J;B=4Ui3xEC>?=92i0rNqCVoVK2dxN&o-F|Mryb#dDNmApe|d?sGB4Qd(jV c01yxmKMA=I00001VoOIv0Eh)0NU_As1<67h1^@s6 delta 70 zcmV-M0J;B=4Ui3xEC>+^5ijVO-)E6DVK1tJQ26Y`_~e}2uzYw_B>$Xh?sGB1T32E* c6%Y^*&J7|=00001VoOIvn0C4dD%tEC>?=6eZH7k71ECi+=!!1szBL00sp~L_t(|oV}JmYaB-uz-PgQ z77W_4v2G7G2$O(u=@5wB+MnU#v?_8z8ZoD~ql6M{Q;EJREAa1R2@v*H|{BcC~UaNv^Z+a|z_Cje|Nmlp&??(_hN z_q$C1jF_?FV!6C5fdjmbWi_6^aer5;Otss0RF`2Ffb^5ANjm3ScIMAEfI6=7TelbM`33 ze{`CKADp8ioRd`s08VDdivH87X@LZy0)L_-mn)|O3ZbZ`62P>f1K{q7h<}_>0j?`$ zDCgQ8y{!P7OUR})liv$)sV0XEgai}43 zhXj0NUJYP31RjS^$q_hp96oA*nIi#FNwNQ@$u#6iZVlkstqYx3L zNX1_`z^pNlhQ89Gz|=?7F(JGq={UC9)OFYr$XFDVJt^dNn8Ghq1Q7w|P%NyPR;c3N zRHxN=3{$4cA~x#RYP4GXZG ztpLwoeD|~iBx@1)*Y`N@q|@(Ks`R+m{$lmhZ&!gneedD(Z*BtEoo>AL+Pvu=0&X>o zTVv4p)eVM$ezAFVlVKE4#?=jmQJka2e8Dg*8piqc<<-@&VOS-!|L4W>9O@V}j97^* z-@aa=2n`wrynpXjesz6Td>%Fo0efIRTP`bLz%b0%3Uz(4ygVN^j0F@W0x*o8f^-Z6 z3!kw~0J;j&F^o|Od?wQxG7Ng<=K-h~V?&0qD7SgF{Rg(hfMLMF7AG)uDyMg6%`g^l zGX9DiV=_Wu-7pp=k@paw6VG2a3>W6Vgd!C%7h`;n*MAJ-qo=_T!eoSp6&o;&z^8Lv z!*tEE0mE37dze-yfQ^R?0}r-Ys3KI2urUnR7zSpLp~@Tr^8v#Myd-%S28@7NgoXic zd&e-~IFcNIy9-S&;!Z8RJ5d9``Mbes)3ONUB0AQ(?D|q5@ci{)WA$wcfFxak9nCgC z-FGIf^?!giO^rm<0c@)WaY>-&yzPvqjXsn~$WemM{iaMHVNu1n+K$7f02nud4rXDY z!_~OljyGz+XzL}_(Jk~mBm;pQUIW1QSM}kp)5;&(E#F6>Y0g#h2VXY|LO^r+PtXZ* zUQPE*FaSJg087U{Du`+V=(IWgUxFD(1VBM*0Dl}!&l?~lz;+b`4THA;`h^u;1@ZLQ zj9%A3?H64I*~{jw9*og1a?w)|FW6}G;72igmUG-NdPiSR4>+2T>?_Ec9_SSX$s0Y` zX@O}U=<9)AQIH&RZuNi_1u>%41DXM#IqL#lJ-{c}>W{DM0q>7ff25Tj4EjT3sGtWo z`z`}3Wn=C1_iyuuz2Bbw-~O=o_(p&5+j##0a2E6jqI;@200000NkvXXu0mjfmQde4 delta 1601 zcmV-H2EO^>4dD%tEC>()HW^Bbq;Zini+_Xsw9nE200sp~L_t(|oV}J$YurW@z(w+}{E&U9=73@RyWE;;H z=waSp@(fst@)BOE0)?U}_j;p*b?*K{y%x9Vn+qxUdXk@N^(`$Dnu3V@P@LWoR@ zxSOen3xOHVO9yc>(WH%&a{;wCVIs6JW+u0JfIPO9CQ$b_m3~ zy(R!g%vpK4TwXcg5U-QCYA;?}yMGWFD{mkNYk|Kjpnw3@j^H(+2-X3PQdfk2jlcrB zXY2BxLBJ9KML;zqrMSwl70Y9w)SEc{np8j3|OlNQ-wmm?q-c9B24P zWqJ7CS}MZYxXJ*)>Fh+(Kb7egNFgflrz*0Av?`zwl4^1QrVT9so2MeOT7L#Ou9U&` zwLN}Q0j7u{i^3{+Y%2ghPZCNInpDi#rsZRNQEAU8#}R|lCBEe%g~1NkCKodfHAMD^ zfDg>80h|qi$Kf;P2%K3CA2q=AF#kdFZ{jB6kgF{4qV5D}%w z#9!FJjMk8be$t>o*GDvCLRcl)I5A4sbr=WaEDGG56!A`&!5u1shyZg)7S^jqmj7ld ztJ)LjGU0_pc>=&k$+c?rLSI2UQh&; zSAZnI8%aL?_&D%hP9_y071of_{6Hcw`=-df$)qMs3_u*mGzqCwMlfMQ0w&Nthrxx? zQ&j^RMmJ!iNgV>Vm>7n*jlikkhb=G{@tmry0H$-#)#!3OD1?>(sCP9me*)dn0!gOk zPjQCGW|QL3pEUqEl79z=L%Z7T>~k9;t^w%KSqMYXX22^I$xkf+g#s{L0j7@FbCXx8 zSKSN%hyx^km{veK?FGOwKbX?BM=9iV+6&;jdwA_uz;4h3Qh2Rx2Po=9-fO4PSF!>W zw5xtQtplYv)qrm}3}lRNPxlUn0k_teZw{urM938Ymn+@#jekKnT?OtveGXe>3&*n+ z;Jfd?dDi3&Rk{{|e|ewtPCE5=rAm)`?H!|@eZ30w>HCkq`|37;-Rs6{udUmjA>dBK zxHAT|U*BRF=oeepw;4tWWnAB4807_8%x4V4pkZ9xTwPxe8-|fW`F~z6FQAS=!$_pa zi=CS#iqN28z<+u-@fSDe<)>l85U>Xpv*oe^1`I=wjgU8&%d3lF!&pF3A^^kaDM-gK zu<#k%0-&oP9m5zo;1ikFkYUi0p9i2~j13va!fo?%=MS6`1BL+yTarT8$pZU#-7pq# zGX9DiV>&`$-7pq9jqf8sC!W7<7&a_^2}LHLFUGiz*MAJ-gQvg{!gPd(6&o;&z^8Lv zL3hpa0mE3}xdl6;JOyk#WEcp{LK&fIgpFa?#xO8L9Ln4xFds0Cz)RD&VZaEOMQ9kX z+B=33fckI%HW!Lq#GV;gJ5dAR`O9g8G6)nRI#J5adM6Ng{(7*n`X&P)CS8F&(KJ9k z?{rq{0e|hP3W=x#m{t!GN1*1s>9l8!KDZ?0C_(3W?GnT=sA61g$6-?dv}-{JvoJ8j z<=Ab<8#SPn@zUz(7HS^KYIpY<0Dix$4|kPS{?KmuJ_=29u983as!dOznjcxE2ZR1l0i*}F z`z`}>vaxph`*-=n{%_C!Z-3Z-a;rc1ZM^>g5O4A-NoaTU00000NkvXXu0mjfo-5t% diff --git a/graphics/pokemon/charizard/back.png b/graphics/pokemon/charizard/back.png index 88adacc77f1d068e7bef6de023bdb13235fdc09e..dac2fa87c14b075526bec0ddf8af7bda16e04294 100644 GIT binary patch delta 699 zcmV;s0!01m2I>ZoEC>?=9~j1k8nSB&sAmj>aeX_rFQ$?;k#-#!z;gFRBGSd?$NlBbiG5)z))@;WPe%~ z0H$2FJ~Ti8B!0|1G^5f$%gat6;4+{_NeIys;J$swZ=Z7qs1jyI1?JNPQ~hxx%L$Bk z2M&g|5*vVHy)?KkX@k|W1WN?U6jxt871F~g)ra<7X>mLRom_~w$1epiKeIl0-F&!S zMQ-y!ADU5v5tM~R;O!}|v~C;xrGE%Xn(OuYm;p1iHB78e{w3aj?b84X6Blhw8K_XK zv=+0b-a7^)Z_}m$xU@Y1nt(}U0T`DNFe1wm1Mq&90qT6ZI?dzPa1nIbXAA&m`atHo zncl zXwESk9JVeW*$$uDBLOo3a?bkD%mlnHz~GZ|>n7fUftTN_1%nTqH7kHsg1^2_K!Egs zHH!h`Dlspp9P`>zM4K^946`0uqHZuhpUtJ5o+7N&N8o1Qs5rK{mos2+m zS^Kl*fhima3HkYtz*&X^6My9hIP!RW?ZeYy(Ze0cJ0IhTqY6ZJ0W=IUK9w5)PRSBD z*&zT@d%$f3;Ep%gd#r>6A%#Vod$V<@1kPv(-h@PN1r h$Pi(J$ghdb^$#_{V8NmQj!Xam002ovPDHLkV1l`xI%xm^ delta 700 zcmV;t0z>`k2I~fpEC>()HY)X7#b=Q;lYfs%L_t(|oTZgLj@vL0g)Jb(suO_#qN*T^ zTp-B}f~|588!5LUU9wpX0T)&!64*;@ofO`BeVLrVnHiE6No%VRuwn3h8ov3VyxIKE zYLD+rzQgY){T|_;wvU^Q+o}D!?v&c@29MvWTMe&h!Kl=(zdfV%BkOAWODPMcK7TyP zv>X6TrR*p)Km;WIEIhQJH1HzX3j}-tG$;un1_u21pQwK+9iYmX9TnL734HT;CCdpc zxdTrbh!wyGy*9Wk>7v!T1lI_hDXwAjP)T>kTsPf^+Tys6I=c|!$JYv&AA>%TZa-Zv zqO^IZ_wA^`3eLhI@b{stwC-AbQh&rG?d5X$Rsb_}4NO6w=p#Pf4|xDZmFpVLK*eI^ zwU{;c-UmR2W4b&*DDA+2W?&LUfPl*cSW#q&0m6AM0NnX}^*W4Sn}Di_7yw@R2b*&@ zS8B!z27p`L>#Em&1UQ@{$$%~N24@hSyBsLTsizq_^VUd!=>c*R4bRB=#D8WJkelEk zj2?NMhQ1ux9(Ub=ftdk07ky}F241d!p``qB2wAZ3{AaOXal<>i09Yk>qln@5N(4M^ zr8E2jL< Date: Fri, 18 Aug 2023 22:16:04 -0400 Subject: [PATCH 171/256] Added newer decomp projects to readme --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c23965485f..bca4fd1041 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,14 @@ Other disassembly and/or decompilation projects: * [**Pokémon Pinball: Ruby & Sapphire**](https://github.com/pret/pokepinballrs) * [**Pokémon FireRed and LeafGreen**](https://github.com/pret/pokefirered) * [**Pokémon Mystery Dungeon: Red Rescue Team**](https://github.com/pret/pmd-red) - +* [**Pokémon Diamond and Pearl**](https://github.com/pret/pokediamond) +* [**Pokémon Platinum**](https://github.com/pret/pokeplatinum) +* [**Pokémon HeartGold and SoulSilver**](https://github.com/pret/pokeheartgold) +* [**Pokémon Mystery Dungeon: Explorers of Sky**](https://github.com/pret/pmd-sky) ## Contacts -You can find us on [Discord](https://discord.gg/d5dubZ3) and [IRC](https://web.libera.chat/?#pret). +You can find us on: + +* [Discord (PRET, #pokeemerald)](https://discord.gg/d5dubZ3) +* [IRC](https://web.libera.chat/?#pret) From 60a2878f8f8e4231c796cd2a41bfdc21f1548be6 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Sat, 19 Aug 2023 16:15:20 +1200 Subject: [PATCH 172/256] tweak growlithe, slowbro, poliwag --- graphics/pokemon/beedrill/anim_front.png | Bin 1340 -> 1340 bytes graphics/pokemon/charmeleon/anim_front.png | Bin 1251 -> 1234 bytes graphics/pokemon/growlithe/anim_front.png | Bin 954 -> 956 bytes graphics/pokemon/poliwag/anim_front.png | Bin 883 -> 890 bytes graphics/pokemon/slowbro/anim_front.png | Bin 1432 -> 1419 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/beedrill/anim_front.png b/graphics/pokemon/beedrill/anim_front.png index 455257149fa6c8d453db3b4f6b40f78faa0e93a0..b8b8eacbe30988cc6290ca1d2df170e440e63fa0 100644 GIT binary patch delta 420 zcmV;V0bBmO3cL!CEC>?=Fbn^iV+fHniv^f=(FQ(|#BBk;voZmU0)Jl{+FcKPRPzr9 z=u8P{>rbmX>nelSpANaM5)cw}{H#95xdq_;)MTp6si^@G_^HV-$58^B2q&4zIF7PN ztv88slX3cr`6GYSn-c090%?|kj!L!#e9@#ogVi|W-=u}L6?v0yy&iCk$oob+!1y@6WClKE-akq zS;BCAt){!q6$0-g9Gw)Pqtr$6i?^r{+4>awp7{zsi=skYu73%6^Lln1PT?9A0=5c~ z?}4HfVG7{I3vDrltwJO_1Rs#>>ISl-5M)bqb6Va7TZPzkiWV+vx>1O6x!Y+()IxWYFAIOn3iv<9P1szC{#BBlpvoZmU0)O8c+Fj3kRPzr9 z=u8P{>rbmX>nelSpANaM@(&Vp{H#95xdq_;RAj2msi^@G_^HS+$58^B2q&4yIF7PN ztv88sk#YKp`6GYSnJL6?u~yy&iCk$onw+!1y@^Vi%UE-akq zS;BCAtERio4Fazt9Gw)Pqf|xmd$(v1+4>awp6Loci=shXu73%6@p^U~PT?920=5Q` z?}4HeVG7{A3vDrltwAI^1Rs#><_5B35M)bqb6Q>nTZ7niiWcr^x-p1xx!Y+?=D+(d1m;{kDi+`AQ(FQ&M00Z_(L_t(|ob8seZrex@h6%VJ zu!RM=aDeOL17yIRl2@=FVI{y-fIAH#Aw@2TmN~*kifeR1id6P76=fqNvgz*;4o;Wu zDq8MR2~wBJ;>~a=a+c!7UD9|POWuz&|IDs9zvJ95d%4f<0LJ}00?6Y#0@y%nGk<`z zH7skuK=vZ*@fx6{^cZkc2QYz@{U__M+e@dlbhhh&95Df{%+fig09*wE86~O${3?|V ztY%py1Ed`H_r|>{hvQ`PG~*f6Z__a_5v|!OU6di-4`l!2R52i1r0I1PL0|~|H-J}3 zm?OYiK~(@i)$G$0*NSrK;X8ff{j-7#Icrk zP{nkB`=(t&c}{I5PhYn?Sg&cg3w1zvS2|IHb-Q91)qr?3=>qtuBUh*3U4JbBjQ-f` z{L)r21QZY8trZ^?>eo8y?gaUnxG@ZQnOI#9qQ52+jUdXTKf{QHm$~?tlgZ>Cz@HGc z4bEBo{jsFD1pJ9W-uRGdoOV6BZte*Kh9S#vx$}GT&I#~B9srN3i(l1|Jb$@*6TSly9O_z|sgnbGumEcNrqx&)<_-}Aujz&6Qt=qU z2m5|o-3F~ASJTC6*nfoo5Ar7y)dXDpyt95VZp@*lJ4FETKO(d)YMbuj&$vnDT1bk~n+7Fc+sn)V4F<);&u-21ZZasevi1DmG$CgOd2lBN>5aA+j(2+?+)`@_jTZIBM`rDx#J6GxJGA zu?8JTnyK=*BogpTSfC|%-}7QlB-VJx*E1>r6QkI-9EQ+Er=)Q~^qmC|6Z%(%1)(&102(1=$B(znUcg#y&WBB3{q{B;}Pw`_M4_FFU0t5KZnt>~%XF*pMl7 oyW=tcuvv#F{Ts!-fA~@BKZ1`(tD-UZ6#xJL07*qoM6N<$f{3^F761SM delta 1087 zcmV-F1i<^!3F8TnEC>()H8;I*`hAf!i+=!!1szBL00aj~L_t(|ob6UUZ`?)@T|htx zZxP}yzzI+n1(1Mrr!u|%L6!%&O*q7{3LGD45w=sLIT)#BP!%O3q`dhD`2`M;-W7G} zQXQl&K!7`XW|v3ql8oFrjix#B=JCzP4t5@64`x~X5x*mTxF4_(*+&R$z+InUW`DiA z9sg%Sgx2RBfa41z}WQ7 z80X;W>2u5>jcB^gOaiQN?|%S0^Szk;x%?x|soQTaI&I9Tlk{P#0kY%Qt;VrNzy$(f z@Is@Ro2O|J+4F668$u}=O>g%k$=)1c2&sa_LjZm_J*xlbgE6=q9ccoV4=2H8T^k=E zAn5}dyBt3mOtP&;j=mn>2Vi_G5AO40HvC?K2YawjVxL@~3=qtQ9e?%OvIR=t-w`M_ zz-2vwVpyf*N>`xl>~rQ;O7IK_6lJ$AiIBTNfui{|^QUH$DA3^u_YjliSX?S;neMh?(qpWHGxr02g0M)kq zr_>Sfd%EI_7;Le&ihpl300oL#xH2+Dg}ZqlD+UrMaSXIa0%_FYZsV6L^~8}pfgBgV zj~!_d|Hd!sd5}EJ!{S$uR;Fk;P_?v!oCg^fkeCS63+D2bJjXggA+p+UDGZtGPWiP8 zqIZLU)R7mwJ+Bc`N_=Xz_ue;!8o4A*soD5QOUqdQ{7YZS$$uhM2#Nu=ez=;b!*CFA zz5}GG(U3Uuv5A>;rVt32(F$+qE6BN8B|^dYGOf%2g+ zTOg-efCwcYNCkD}gF3^f*a;;c{N8-)Vo6t^e2~R|EM{8yN4$z2a;GmI^uzyW9{}OdKPs4y3v~bh002ovPDHLk FV1jh8{-Xc@ diff --git a/graphics/pokemon/growlithe/anim_front.png b/graphics/pokemon/growlithe/anim_front.png index f14c88226870ee0ec843ca8ff0acae2690cb1b35..d0f170ea84feed440fd93220d0938c5e876912b9 100644 GIT binary patch delta 790 zcmV+x1L^#_2fPQ6EC>?=Ed-EA5`~d8i+`AQ(FQ&M00Q7iL_t(|ob8rBZ`wcf zcV~!XxHIaXp#yKix}V>BXFq(uTJ0Er5V%{pY#6P1B@isV$`shPecQqM0=A5IT7SS7 z%gEDr0YD3(L1hI1kTwGVEf1mOMzfxncI)cXBq3w{w<|25H#ed84Hb4LuUb%mimz1txKc135X4*(hRbpIceA{P>PG>Kt6dA3^tY6zg8GZs$? z8S(wOF+K4dX~+SvV#VB;nFM$iQ|KYw2kIPvb;y6lFnFA+fFSVrEbn~;AXJQQJx|j% z=XvikSI;)|7q%yyW|!9qRe$_B%omKV*TbAksS;U*?~CwsqzE)Xa|sj6(x54!N{7}w_E4p zAdolg`NMs)`2=-DjfgA#!Mr#<1v`Km)5(p>AB?LvCvU~UO{v9{{(sQ>a3aogAR20a zFn!yT0&%YM2hRPiU}*fI7;8BEb^c%!{(z~*ALQPoU}*e7?oHIt`GXV;(WK5FKrq~` zV5t28qe3vW{;&}Yy+3RO<8S;SJLnGpRQiJyj7on1!Kn5J5R3!Px# delta 788 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 From 0ad3919f226f1f8ba0591ea87711dbd0069f8a8c Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 19 Aug 2023 01:40:31 -0500 Subject: [PATCH 173/256] Fix overworld snow weather --- include/config/battle.h | 1 + src/battle_message.c | 6 +++++- src/battle_util.c | 15 +++++++++++++++ src/field_weather.c | 2 ++ src/field_weather_effect.c | 29 +---------------------------- 5 files changed, 24 insertions(+), 29 deletions(-) diff --git a/include/config/battle.h b/include/config/battle.h index 68cab28b61..0c17c2e965 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -202,6 +202,7 @@ #define B_TRAINER_CLASS_POKE_BALLS GEN_LATEST // In Gen7+, trainers will use certain types of Poké Balls depending on their trainer class. #define B_OBEDIENCE_MECHANICS GEN_7 // In PLA+ (here Gen8+), obedience restrictions also apply to non-outsider Pokémon, albeit based on their level met rather than actual level #define B_USE_FROSTBITE FALSE // In PLA, Frostbite replaces Freeze. Enabling this flag does the same here. Moves can still be cherry-picked to either Freeze or Frostbite. Freeze-Dry, Secret Power & Tri Attack depend on this config. +#define B_OVERWORLD_SNOW GEN_LATEST // In Gen9+, overworld Snow will summon snow instead of hail. // Animation Settings #define B_NEW_SWORD_PARTICLE TRUE // If set to TRUE, it updates Swords Dance's particle. diff --git a/src/battle_message.c b/src/battle_message.c index bce1438c08..871a410c2f 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -1838,7 +1838,11 @@ const u16 gWeatherStartsStringIds[] = [WEATHER_SUNNY_CLOUDS] = STRINGID_ITISRAINING, [WEATHER_SUNNY] = STRINGID_ITISRAINING, [WEATHER_RAIN] = STRINGID_ITISRAINING, - [WEATHER_SNOW] = STRINGID_ITISRAINING, +#if B_OVERWORLD_SNOW >= GEN_9 + [WEATHER_SNOW] = STRINGID_STARTEDSNOW, +#else + [WEATHER_SNOW] = STRINGID_STARTEDHAIL, +#endif [WEATHER_RAIN_THUNDERSTORM] = STRINGID_ITISRAINING, [WEATHER_FOG_HORIZONTAL] = STRINGID_ITISRAINING, [WEATHER_VOLCANIC_ASH] = STRINGID_ITISRAINING, diff --git a/src/battle_util.c b/src/battle_util.c index c15c46a092..cad07791a9 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4238,6 +4238,21 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case WEATHER_SNOW: + if (!(gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) + { + #if B_OVERWORLD_SNOW >= GEN_9 + gBattleWeather = B_WEATHER_SNOW; + gBattleScripting.animArg1 = B_ANIM_SNOW_CONTINUES; + effect++; + #else + gBattleWeather = B_WEATHER_HAIL; + gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; + effect++; + #endif + + } + break; } } if (effect != 0) diff --git a/src/field_weather.c b/src/field_weather.c index bcc6a1c440..a252b17857 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -16,6 +16,7 @@ #include "task.h" #include "trig.h" #include "gpu_regs.h" +#include "field_camera.h" #define DROUGHT_COLOR_INDEX(color) ((((color) >> 1) & 0xF) | (((color) >> 2) & 0xF0) | (((color) >> 3) & 0xF00)) @@ -219,6 +220,7 @@ static void Task_WeatherInit(u8 taskId) // When the screen fades in, this is set to TRUE. if (gWeatherPtr->readyForInit) { + UpdateCameraPanning(); sWeatherFuncs[gWeatherPtr->currWeather].initAll(); gTasks[taskId].func = Task_WeatherMain; } diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index 05eae421e0..bfd4e325b3 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -940,8 +940,7 @@ static void InitSnowflakeSpriteMovement(struct Sprite *sprite) static void WaitSnowflakeSprite(struct Sprite *sprite) { - // Timer is never incremented - if (gWeatherPtr->snowflakeTimer > 18) + if (++gWeatherPtr->snowflakeTimer > 18) { sprite->invisible = FALSE; sprite->callback = UpdateSnowflakeSprite; @@ -970,32 +969,6 @@ static void UpdateSnowflakeSprite(struct Sprite *sprite) sprite->x = 242 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); else if (x > 242) sprite->x = -3 - (gSpriteCoordOffsetX + sprite->centerToCornerVecX); - - y = (sprite->y + sprite->centerToCornerVecY + gSpriteCoordOffsetY) & 0xFF; - if (y > 163 && y < 171) - { - sprite->y = 250 - (gSpriteCoordOffsetY + sprite->centerToCornerVecY); - sprite->tPosY = sprite->y * 128; - sprite->tFallCounter = 0; - sprite->tFallDuration = 220; - } - else if (y > 242 && y < 250) - { - sprite->y = 163; - sprite->tPosY = sprite->y * 128; - sprite->tFallCounter = 0; - sprite->tFallDuration = 220; - sprite->invisible = TRUE; - sprite->callback = WaitSnowflakeSprite; - } - - if (++sprite->tFallCounter == sprite->tFallDuration) - { - InitSnowflakeSpriteMovement(sprite); - sprite->y = 250; - sprite->invisible = TRUE; - sprite->callback = WaitSnowflakeSprite; - } } #undef tPosY From 4e5809a0d08c22e8cd16f4711c026ec5bc1d0f38 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Sun, 20 Aug 2023 22:08:54 +1200 Subject: [PATCH 174/256] tweak graveler, pikachu --- graphics/pokemon/graveler/anim_front.png | Bin 1403 -> 1237 bytes graphics/pokemon/pikachu/anim_front.png | Bin 1061 -> 1055 bytes graphics/pokemon/pikachu/anim_frontf.png | Bin 1066 -> 1061 bytes src/data/pokemon_graphics/front_pic_anims.h | 5 ++--- src/pokemon.c | 1 + 5 files changed, 3 insertions(+), 3 deletions(-) diff --git a/graphics/pokemon/graveler/anim_front.png b/graphics/pokemon/graveler/anim_front.png index 185c7f192680c8f85267f103fc9fc25d8273a406..d00a5294966d8001c5beed9c1a6e1b4ff792bef6 100644 GIT binary patch delta 1066 zcmV+_1l9Zd3e^daEC>?{4Ho&NeBhBZl79pFNkl|GMWOSj6<{rTz?Re&iXSf6PbBI|x!a*B>;Xt7kjpM`*RN4#QBjz$Kr zYq93ZOi;aMh~LOlVMp&84BGai9hsRcrLS6lvqdVU5@6r^m9fh*yo9*qPti4CFOb4< z=rsljnasnWDM1PdaO7B5%~5s3jDH-ISEM4bzXVx%OjxCQslj@IqC0B(`o}B2p!Pk$ zsfeB^Q3*UeBy5_Z#f~Pa^glEqtaU+g0d#osFFlspaP|FflhrssFs4f?UaLBxg1XlGgpTJPK#A(FNkR>K*d9Dfov8)xsxuk zj*%NUz3dac6~#;dCz@IkaeqxQQhMcn!gGPu!+*lx?*A+_!-&QjlW}RXl%9S?ZUJ1+ z1haO8=311TlV2A*0#R_y*%K+rzayX)rW-|3Zc{K{{+OHc>{L)zbu$Xsj-OI!n%J)A zT_K9S=H^*`;s3Nxdt`@Stsi5*KJ@?Ao}0%RFy)Vu=(Oj!_X{13;eVNS$Krk!taT~a zY!v7nMcVL2;7~+?JH;^C3(y6}!8$vAJtGW3CvhJHJcX&@IbkqeVYrc*a|L3kWuXDIj#ufG+!bIbX8kUgi%g}F*D{3Fze0Gs3`uFrtO=NkD{w1Ak#G1yLZ3UY>|B+&~y> zfhPD7z)_yIsQtt}Fz7{T? k`0>sj{E$CB?H95A2dFw-m??bD0000007*qoM6N<$f|r~1K>z>% delta 1233 zcmV;?1TOp43Hu6=EC>+^Ffi#3$8nJ~l79rBNklp5F@ETfi7ZN z3{aqpQj`W5pc_e-v$x2b516U_Khs&w?{w{t>LKNL>_l-FT{cYY*t$peMe3fDEPG%7 z+oc|E+w=XXvRu6lc$|7x`tT+q=eT+fZv@J<@2z6b)UGGkbKf39*)#9n@*l=S_w3IHWM-&mUVbqEpDKgC9zl?>W$oK66-Vn+yz zj;&hGh|;VTcNyhh?CkpQ@0aR&_Hnr7p;Ze5 zE=8n*X)3bvlUcakyGUEUdybH0A24DI;h*+Mm(s1!BE28af`1J4l9W4sigiZ21k-l( zaNamEdD6RCC3%7Xk*jgX#n#u{I`oi{WRf|Np|2i_o+pX|i4Xm}j}=0*T~W>*lAsD3 z&GYC#ev5$Z6(H}(((c}WFK7Do=Lq0f_>Uzbi!u4{KPM%m+4*L=N3qU#!np^e9QA4VQ7a`(8_;IU_P#{qa(raejLYFvim7Y@-uOj5! zO-)jgaVx{L0w7X6I!K)zM9}d1!N;C=G(yxtCDQ8%IGP}JAU5}J%;0zZ@L$$HyoO#^dFb|h00000NkvXXu0mjfbiQ0C diff --git a/graphics/pokemon/pikachu/anim_front.png b/graphics/pokemon/pikachu/anim_front.png index b0bd433157d4f886720fee8dfb77a9c5b23e8209..89538a8612ac96d2ff5f406c29a828965033bb23 100644 GIT binary patch delta 889 zcmV-<1BU#i2%iX$EC>?`EG5XTwoH*Ui+`AQ(FQ&M00TowL_t(|ob8vvZrVT)hP?;O zt+IuI8wdIXWDKZ>NJSouRH>?nfn0-Z_E;r?q*A25MK0W{9`ZJkdWE)9m7c<>571fL z5VAXfsveV(KnwF_c6Pn&|Hrak;vYjC0&32G13wS6usR6*-i%+ZIN+hT9M#O;<2!asX5Eu|{WayGq4M^b4iuw$ zy}rp?aZ3kmmF##ha`I1liA#@w?=@(opCS{u_(OoZ%zy%o^*KJ5+L4+)wMNV}i)7@z>OKTTR* z+Y$o~C_$6~;FQ+~SOZ$1iUd#{4o;aS%NgKDetCGx6tF5(pO6;#?vOpz6@U8sMnpBR zQyH_XjOjN~q8E0AWJ=i3q7LchQw0w2vNHg_kG(6GnZgS)AP5k-yyc~*#7C-t>>_O3 z1h>yy#{sd=0+x&2zFVbym%k5-mr^aRDu>)IQB330wD}^2dDnOa1KBtDITsehRUuz!xo0BR=ibdK5+TU0Q0xwiUo2)Nf~(3+^N!u^1F z*pj()22GdAg*^hRRbc2c-Lh}Q&AJ@Fd7k{O%A}OVMMqW;3 zJhRKOvS}?6K7Z^wOaW_rN5F>~0bSX52j+c0y$?vTmrC`*M3zT7LFOYfdO(Ub3Hwr4 zUXiQroB)*JSn9GRZlE2fMvs6ICZ_t|hSy&wKt7IukN{&9*BH(d%m8viJ(*0y`xGd{vP&i+=!!1szBL00T)$L_t(|ob8uEYZ^fm$9E2{ zx3Y_?-aOb(VBV_q5UA{Pg+dQz)m$UH4)jtIG$|DNEkYsp(u3b7(5q<+B|Swb^aJ$G z%xcZdn5FcXJWytRKi|B0GtT?#I8XME#)^Q3_us(xf)v(;z|ZaY+1du&4K~B|-G9mw zjeWt>+`n3_t}OuO0Dnz@WkmvTId?dKHGtzRkRLT+0sx2C){-pxN6qGQ@vz(Q4!FYE3t-~qPkM;+fPk+JXvwF<1kQdF;NK{qL}Pu950!2rrVyW(5)1G) z6-mHVo9ZQp8c+u4&H!FqeezVkdVdn-%l5^RC$E+Sq*mY)#>>wrfou=y$IPy(t?o0ivg*vJM{AW;B#)y)CcfDVWt5!A<{V@r}%1%ydh9Uof)IDa*YPe=zs ze{4O~HTr%lp%~b!O|7d;={HfK7xoypgm9rl8PY4H2sR*4X8^(w2N%9&iXc)z6d~ID zP9RT7h!g>>i*RvkwmR<|2gIQjaD40!{W|&k_WQ7W&c)*Dd~B-{**ra#$(J#Z zfLm<_Es4fDei&ePJ8e$Rp!H=^VSj=3Ix_k)-Lfz9p-V#T7D2!078`)4q|<(w*Zl(H z@r0iUop!jo!Jh7?>y=a(bhyxIH-W8brUyc%g(7`Fv-ATuImmUK?|(Tgz%v7Y1F7TM zXZfP^Rb-o%CUrw#W;y+(gdT)b-?Id8rq@d7LD=U*e`MbG^V>)YJ?eUK#;X&ZAn~Du z9#F@c#Y3)lUY4hLMF8@6%JsIzE}@%Bp+~?3Gqd|I<3&6J(s2aD1Q@G$FB_@?NC^%0 zsjy|XCDPvmY+Jtq%+|XV5AhzL5(?KS2P^`k0%5O)q<{u{ z1jZafkG-1%OzT#G!P-dGuaXu!b!x^=$ufuo!0H%zPLS=F2dv#HkPm**-@Qj{e*jR~ V7yKNwZ@mBj002ovPDHLkV1jvAp?LrR diff --git a/graphics/pokemon/pikachu/anim_frontf.png b/graphics/pokemon/pikachu/anim_frontf.png index 25dd9a0d6cfceeebc56c19cc7471cc620a35dcfa..27780be98a4b3a40b071e8622ea5f89cf2434f58 100644 GIT binary patch delta 895 zcmV-_1AzRh2&D*+EC>?`H#v2hA(@dhi+`AQ(FQ&M00T)$L_t(|ob8vvZrVT)hP{WF zTV)FaHxBd(oH0f{L@M%Nq)Jsq4CESw*<+Oml1h>K7P)YbddS;E>J{2bReB1iK0s$} zL$G%Uih4{&0vYCGytBLB|Hm+1(L1Tgrn=H;BM5 z0;QGUsayCN08k)4 zkCSibO`5OtGT&(lpfv$_H@~sc@qcQ-b@LKs^x<|3$W3_Z22~_LoaSwV0q_PpY6TY> zI}5Mz8ZSO{-Oh)p>vldE-G6>I@bo>D><;tetZP7_Mm=YXq6F~sz)uZu^T7S%2a}QI z`YL=H5D!~2X9n6GlnZ+VRx3=6&NhJfe*JqgYWMnSJzE2EOg`I?Q~WZ5hJBa}9vQ#DB*%&$FhAUBu-? z&&bQEjH8coq->f`!sm@_iz#4??g;o)C!iyHc3(g5r}qI#_EM={7|Y7ANRatRjUJF< zO~RfmDzC^?cTNDxa3qVeC9a`0PK+J_LyUFxzYVXxO@MqH0U-fe7gre0V@v^ZLR}4@ z)@5S!($H6vWOq9lplmwnKMlkv6Qr{P*hqg0=+e6}58)1=?5R{g0~mu*2CrR3azNc3 z24f1ICB94nMm5%8h$hnPSICQ<8C7kil4(#IK-4g>3@6@g4@A@5V;}5&fA?N+`~zWy V7u-7$DnEC>(*0|OKq^@@=+i+=!!1szBL00T}*L_t(|ob8v-YZ^fm$7c>% zZ)F!(y?L;I!RD<>4}r=)S19ygR?RiyI?zi=h)JQ){~{D}FFp9*1bQ`Xp`@n>h5iA3 zGqW0ZXN-g%lLyM``}p?FkDc#V#-8Jm!FK_5_rHOkJ6c%o1b(ltUo36FU2k={ynkC* zs_}1llI0hR#kB>%3=nS#u#89oju1=$r~<+uW+)CDFam&sYnSc8u>o`s8;zHghk$O7 zK&uFpl18Jk%I|>*I5OGsVI&*00p~se-|G;_4~Ydh{Y!v%qW~%Z&EhydmD`EDMJodU z3dH+~`u3_x^QABIBP{{6rvR_6zJIv7Ujw*oUd%=EX1)RBCcN|oUuP=-VU;8s=}xB#?37KxxX92{AitY{!i!hg!}$Wnk+ zsXies2)&{8L9f#9gM?~er#iNdazf8UnO@l8!cxM47IjFkkSf>!Kiec>h`kGAB_$AP zAc_!edFHEK5+YSV>mVFlhi#rWwgY0{3NR15eXmCOuKheLoeMd*ni$$q?#{b zY_GsQy+FJ?*>U7@>nuFSbALSfFm*d0j;Y)Eu;})qfrsxQWp|YCvu*%|8ugqlN)*t_ z13wHP$OE_c9~_G;*O&3b0KeOiIVUpiAYIr!uw0@xI-3CE>(%ecsNI^U^=t)*3Hh{N z=5as6csLTr(x)9PZm?6#)A33!3|d0^v>V?hnv;EL(?Z$4ms<3|Nq_b;ALqG@`*>;q zu&;bv^E4Y&aTMuF(v)xT%`V4(w9$ib?75Z#Y<#Va9)w-d_Xg&9e|8%wqerS2r=l_{ z5@bHK(F0PfY1|h@<>gt6R|KGl$D$}({1Vy|W%LLbVQQ-XJf6iJ{P!45kkO3BhQHHQn zMRGvBEe7KZLYIFy0~pt=27@<|X1_vS?1WW~l~U6nHvq3;MU4QqU aaQp)nNg1?Rg6$9h0000 Date: Sun, 20 Aug 2023 13:24:20 -0500 Subject: [PATCH 175/256] Snow doesn't cause shade anymore --- src/field_weather.c | 3 +-- src/field_weather_effect.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/field_weather.c b/src/field_weather.c index a252b17857..045c234acd 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -382,7 +382,6 @@ static void FadeInScreenWithWeather(void) case WEATHER_RAIN: case WEATHER_RAIN_THUNDERSTORM: case WEATHER_DOWNPOUR: - case WEATHER_SNOW: case WEATHER_SHADE: if (FadeInScreen_RainShowShade() == FALSE) { @@ -404,6 +403,7 @@ static void FadeInScreenWithWeather(void) gWeatherPtr->palProcessingState = WEATHER_PAL_STATE_IDLE; } break; + case WEATHER_SNOW: case WEATHER_VOLCANIC_ASH: case WEATHER_SANDSTORM: case WEATHER_FOG_DIAGONAL: @@ -774,7 +774,6 @@ void FadeScreen(u8 mode, s8 delay) case WEATHER_RAIN: case WEATHER_RAIN_THUNDERSTORM: case WEATHER_DOWNPOUR: - case WEATHER_SNOW: case WEATHER_FOG_HORIZONTAL: case WEATHER_SHADE: case WEATHER_DROUGHT: diff --git a/src/field_weather_effect.c b/src/field_weather_effect.c index bfd4e325b3..3340334039 100644 --- a/src/field_weather_effect.c +++ b/src/field_weather_effect.c @@ -768,7 +768,7 @@ void Snow_InitVars(void) { gWeatherPtr->initStep = 0; gWeatherPtr->weatherGfxLoaded = FALSE; - gWeatherPtr->targetColorMapIndex = 3; + gWeatherPtr->targetColorMapIndex = 0; gWeatherPtr->colorMapStepDelay = 20; gWeatherPtr->targetSnowflakeSpriteCount = 16; gWeatherPtr->snowflakeVisibleCounter = 0; From a79898f1b1525eb10a97dd58acee590a5bda572c Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sun, 20 Aug 2023 13:51:48 -0500 Subject: [PATCH 176/256] Make fog cause misty terrain --- include/config/battle.h | 1 + src/battle_util.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/include/config/battle.h b/include/config/battle.h index 0c17c2e965..bb0b25427d 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -169,6 +169,7 @@ // Terrain settings #define B_TERRAIN_BG_CHANGE TRUE // If set to TRUE, terrain moves permanently change the default battle background until the effect fades. #define B_THUNDERSTORM_TERRAIN TRUE // If TRUE, overworld Thunderstorm generates Rain and Electric Terrain as in Gen 8. +#define B_FOG_TERRAIN TRUE // If TRUE, overworld Fog generates Misty Terrain as in Gen 8. #define B_TERRAIN_TYPE_BOOST GEN_LATEST // In Gen8, damage is boosted by 30% instead of 50%. #define B_SECRET_POWER_EFFECT GEN_LATEST // Secret Power's effects change depending on terrain and generation. See GetSecretPowerMoveEffect. #define B_SECRET_POWER_ANIMATION GEN_LATEST // Secret Power's animations change depending on terrain and generation. diff --git a/src/battle_util.c b/src/battle_util.c index cad07791a9..a3a26c5649 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4205,7 +4205,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } #endif - break; + #if B_FOG_TERRAIN == TRUE + else if ((GetCurrentWeather() == WEATHER_FOG_HORIZONTAL || GetCurrentWeather() == WEATHER_FOG_DIAGONAL) && !(gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN)) + { + gFieldStatuses = (STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_TERRAIN_PERMANENT); + gBattleCommunication[MULTISTRING_CHOOSER] = 0; + BattleScriptPushCursorAndCallback(BattleScript_OverworldTerrain); + effect++; + } + #endif + break; case ABILITYEFFECT_SWITCH_IN_WEATHER: gBattleScripting.battler = battler; if (!(gBattleTypeFlags & BATTLE_TYPE_RECORDED)) From e70577d59badd1257571123d2faf51d9b84d75f5 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 20 Aug 2023 17:22:29 -0400 Subject: [PATCH 177/256] Add missing sizeof in trainer_see --- src/trainer_see.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/trainer_see.c b/src/trainer_see.c index 97c2bc95e7..dd4acc7f36 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -131,11 +131,11 @@ static const struct SpriteFrameImage sSpriteImageTable_ExclamationQuestionMark[] { { .data = sEmotion_ExclamationMarkGfx, - .size = 0x80 + .size = sizeof(sEmotion_ExclamationMarkGfx) }, { .data = sEmotion_QuestionMarkGfx, - .size = 0x80 + .size = sizeof(sEmotion_QuestionMarkGfx) } }; @@ -143,7 +143,7 @@ static const struct SpriteFrameImage sSpriteImageTable_HeartIcon[] = { { .data = sEmotion_HeartGfx, - .size = 0x80 + .size = sizeof(sEmotion_HeartGfx) } }; From 9cf5376c966915f928ae166125fc1fa835128c43 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 21 Aug 2023 09:43:01 +0200 Subject: [PATCH 178/256] use GetBattlerParty in LoadMonSprite --- include/battle_controllers.h | 2 +- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 2 +- src/battle_controller_player_partner.c | 2 +- src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- src/battle_controllers.c | 3 ++- 8 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/battle_controllers.h b/include/battle_controllers.h index e9498ec018..ff4a8c6e59 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -267,7 +267,7 @@ void BtlController_HandleGetMonData(u32 battler); void BtlController_HandleGetRawMonData(u32 battler); void BtlController_HandleSetMonData(u32 battler); void BtlController_HandleSetRawMonData(u32 battler); -void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(u32 battler)); +void BtlController_HandleLoadMonSprite(u32 battler, void (*controllerCallback)(u32 battler)); void BtlController_HandleSwitchInAnim(u32 battler, bool32 isPlayerSide, void (*controllerCallback)(u32 battler)); void BtlController_HandleReturnMonToBall(u32 battler); void BtlController_HandleDrawTrainerPic(u32 battlerId, u32 trainerPicId, bool32 isFrontPic, s16 xPos, s16 yPos, s32 subpriority); diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 60ef924b9d..4f1c3da976 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -381,7 +381,7 @@ static void LinkOpponentBufferExecCompleted(u32 battler) static void LinkOpponentHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(battler, gEnemyParty, TryShinyAnimAfterMonAnim); + BtlController_HandleLoadMonSprite(battler, TryShinyAnimAfterMonAnim); } static void LinkOpponentHandleSwitchInAnim(u32 battler) diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index b08e8c0873..c4b4e2112c 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -207,7 +207,7 @@ static void LinkPartnerBufferExecCompleted(u32 battler) static void LinkPartnerHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(battler, gPlayerParty, WaitForMonAnimAfterLoad); + BtlController_HandleLoadMonSprite(battler, WaitForMonAnimAfterLoad); } static void LinkPartnerHandleSwitchInAnim(u32 battler) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 2a89148d37..912ae68f2b 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -398,7 +398,7 @@ static void OpponentBufferExecCompleted(u32 battler) static void OpponentHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(battler, gEnemyParty, TryShinyAnimAfterMonAnim); + BtlController_HandleLoadMonSprite(battler, TryShinyAnimAfterMonAnim); } static void OpponentHandleSwitchInAnim(u32 battler) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3ad0939094..3f6014302b 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -278,7 +278,7 @@ static void PlayerPartnerBufferExecCompleted(u32 battler) static void PlayerPartnerHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(battler, gPlayerParty, WaitForMonAnimAfterLoad); + BtlController_HandleLoadMonSprite(battler, WaitForMonAnimAfterLoad); } static void PlayerPartnerHandleSwitchInAnim(u32 battler) diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 611ca630ff..4789708887 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -375,7 +375,7 @@ static void SwitchIn_TryShinyAnim(u32 battler) static void RecordedOpponentHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(battler, gEnemyParty, TryShinyAnimAfterMonAnim); + BtlController_HandleLoadMonSprite(battler, TryShinyAnimAfterMonAnim); } static void RecordedOpponentHandleSwitchInAnim(u32 battler) diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index dd2abe87ff..aac42824c7 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -357,7 +357,7 @@ static void RecordedPlayerBufferExecCompleted(u32 battler) static void RecordedPlayerHandleLoadMonSprite(u32 battler) { - BtlController_HandleLoadMonSprite(battler, gPlayerParty, WaitForMonAnimAfterLoad); + BtlController_HandleLoadMonSprite(battler, WaitForMonAnimAfterLoad); } static void RecordedPlayerHandleSwitchInAnim(u32 battler) diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 08308046f0..41e8f4d083 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2417,8 +2417,9 @@ void BtlController_HandleSetRawMonData(u32 battler) BattleControllerComplete(battler); } -void BtlController_HandleLoadMonSprite(u32 battler, struct Pokemon *party, void (*controllerCallback)(u32 battler)) +void BtlController_HandleLoadMonSprite(u32 battler, void (*controllerCallback)(u32 battler)) { + struct Pokemon *party = GetBattlerParty(battler); u16 species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); BattleLoadMonSpriteGfx(&party[gBattlerPartyIndexes[battler]], battler); From 9d6953cc635777b82184236fcdefceb1c7c95aed Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 21 Aug 2023 08:49:17 -0300 Subject: [PATCH 179/256] Removed the sTMHMMoves array and made TMs/HMs read moves from their secondaryId item field (#3243) * Deleted sTMHMMoves array, TMs/HMs read moves from their secondaryId item field now The unused "registrability" variable has been removed in order to preserve the size of the gItems array after turning the secondaryId variable into a u16. * Made ItemIdToBattleMoveId return ITEM_NONE if an item that is not a TM/HM is passed through it * Renamed IsMoveHm to IsMoveHM --- include/item.h | 3 +- include/party_menu.h | 1 - include/pokemon.h | 2 +- src/battle_script_commands.c | 2 +- src/data/items.h | 134 ++++++++++++++++++++++++++++------- src/data/party_menu.h | 112 ----------------------------- src/evolution_scene.c | 4 +- src/item.c | 6 -- src/party_menu.c | 15 +--- src/pokemon.c | 2 +- src/pokemon_summary_screen.c | 2 +- 11 files changed, 118 insertions(+), 165 deletions(-) diff --git a/include/item.h b/include/item.h index a99782f803..34faa8983b 100644 --- a/include/item.h +++ b/include/item.h @@ -14,12 +14,11 @@ struct Item u8 holdEffectParam; const u8 *description; u8 importance; - bool8 registrability; // unused u8 pocket; u8 type; ItemUseFunc fieldUseFunc; u8 battleUsage; - u8 secondaryId; + u16 secondaryId; u8 flingPower; }; diff --git a/include/party_menu.h b/include/party_menu.h index 31e5910748..38139cc962 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -57,7 +57,6 @@ void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task); void ItemUseCB_PPRecovery(u8 taskId, TaskFunc task); void ItemUseCB_PPUp(u8 taskId, TaskFunc task); u16 ItemIdToBattleMoveId(u16 item); -bool8 IsMoveHm(u16 move); bool8 MonKnowsMove(struct Pokemon *mon, u16 move); bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move); void ItemUseCB_TMHM(u8 taskId, TaskFunc task); diff --git a/include/pokemon.h b/include/pokemon.h index 73726f9852..8303f3223e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -579,7 +579,7 @@ const u32 *GetMonFrontSpritePal(struct Pokemon *mon); const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 personality); const struct CompressedSpritePalette *GetMonSpritePalStruct(struct Pokemon *mon); const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality); -bool32 IsHMMove2(u16 move); +bool8 IsMoveHM(u16 move); bool8 IsMonSpriteNotFlipped(u16 species); s8 GetMonFlavorRelation(struct Pokemon *mon, u8 flavor); s8 GetFlavorRelationByPersonality(u32 personality, u8 flavor); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 64b68f7187..646e287677 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7250,7 +7250,7 @@ static void Cmd_yesnoboxlearnmove(void) else { u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); - if (IsHMMove2(moveId)) + if (IsMoveHM(moveId)) { PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBattler); gBattleScripting.learnMoveState = 6; diff --git a/src/data/items.h b/src/data/items.h index 5e15b27344..b7e876b1cb 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1,3 +1,5 @@ +#include "constants/moves.h" + #if I_USE_EVO_HELD_ITEMS_FROM_BAG == TRUE #define EVO_HELD_ITEM_TYPE ITEM_USE_PARTY_MENU #define EVO_HELD_ITEM_FIELD_FUNC ItemUseOutOfBattle_EvolutionStone @@ -7742,6 +7744,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FOCUS_PUNCH, }, [ITEM_TM02_DRAGON_CLAW] = @@ -7754,6 +7757,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_DRAGON_CLAW, }, [ITEM_TM03_WATER_PULSE] = @@ -7766,6 +7770,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_WATER_PULSE, }, [ITEM_TM04_CALM_MIND] = @@ -7778,6 +7783,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_CALM_MIND, }, [ITEM_TM05_ROAR] = @@ -7790,6 +7796,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_ROAR, }, [ITEM_TM06_TOXIC] = @@ -7802,6 +7809,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_TOXIC, }, [ITEM_TM07_HAIL] = @@ -7814,6 +7822,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_HAIL, }, [ITEM_TM08_BULK_UP] = @@ -7826,6 +7835,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_BULK_UP, }, [ITEM_TM09_BULLET_SEED] = @@ -7838,6 +7848,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_BULLET_SEED, }, [ITEM_TM10_HIDDEN_POWER] = @@ -7850,6 +7861,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_HIDDEN_POWER, }, [ITEM_TM11_SUNNY_DAY] = @@ -7862,6 +7874,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SUNNY_DAY, }, [ITEM_TM12_TAUNT] = @@ -7874,6 +7887,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_TAUNT, }, [ITEM_TM13_ICE_BEAM] = @@ -7886,6 +7900,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_ICE_BEAM, }, [ITEM_TM14_BLIZZARD] = @@ -7898,6 +7913,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_BLIZZARD, }, [ITEM_TM15_HYPER_BEAM] = @@ -7910,6 +7926,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_HYPER_BEAM, }, [ITEM_TM16_LIGHT_SCREEN] = @@ -7922,6 +7939,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_LIGHT_SCREEN, }, [ITEM_TM17_PROTECT] = @@ -7934,6 +7952,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_PROTECT, }, [ITEM_TM18_RAIN_DANCE] = @@ -7946,6 +7965,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_RAIN_DANCE, }, [ITEM_TM19_GIGA_DRAIN] = @@ -7958,6 +7978,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_GIGA_DRAIN, }, [ITEM_TM20_SAFEGUARD] = @@ -7970,6 +7991,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SAFEGUARD, }, [ITEM_TM21_FRUSTRATION] = @@ -7982,6 +8004,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FRUSTRATION, }, [ITEM_TM22_SOLAR_BEAM] = @@ -7994,6 +8017,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SOLAR_BEAM, }, [ITEM_TM23_IRON_TAIL] = @@ -8006,6 +8030,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_IRON_TAIL, }, [ITEM_TM24_THUNDERBOLT] = @@ -8018,6 +8043,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_THUNDERBOLT, }, [ITEM_TM25_THUNDER] = @@ -8030,6 +8056,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_THUNDER, }, [ITEM_TM26_EARTHQUAKE] = @@ -8042,6 +8069,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_EARTHQUAKE, }, [ITEM_TM27_RETURN] = @@ -8054,6 +8082,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_RETURN, }, [ITEM_TM28_DIG] = @@ -8066,6 +8095,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_DIG, }, [ITEM_TM29_PSYCHIC] = @@ -8078,6 +8108,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_PSYCHIC, }, [ITEM_TM30_SHADOW_BALL] = @@ -8090,6 +8121,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SHADOW_BALL, }, [ITEM_TM31_BRICK_BREAK] = @@ -8102,6 +8134,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_BRICK_BREAK, }, [ITEM_TM32_DOUBLE_TEAM] = @@ -8114,6 +8147,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_DOUBLE_TEAM, }, [ITEM_TM33_REFLECT] = @@ -8126,6 +8160,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_REFLECT, }, [ITEM_TM34_SHOCK_WAVE] = @@ -8138,6 +8173,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SHOCK_WAVE, }, [ITEM_TM35_FLAMETHROWER] = @@ -8150,6 +8186,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FLAMETHROWER, }, [ITEM_TM36_SLUDGE_BOMB] = @@ -8162,6 +8199,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SLUDGE_BOMB, }, [ITEM_TM37_SANDSTORM] = @@ -8174,6 +8212,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SANDSTORM, }, [ITEM_TM38_FIRE_BLAST] = @@ -8186,6 +8225,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FIRE_BLAST, }, [ITEM_TM39_ROCK_TOMB] = @@ -8198,6 +8238,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_ROCK_TOMB, }, [ITEM_TM40_AERIAL_ACE] = @@ -8210,6 +8251,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_AERIAL_ACE, }, [ITEM_TM41_TORMENT] = @@ -8222,6 +8264,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_TORMENT, }, [ITEM_TM42_FACADE] = @@ -8234,6 +8277,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FACADE, }, [ITEM_TM43_SECRET_POWER] = @@ -8246,6 +8290,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SECRET_POWER, }, [ITEM_TM44_REST] = @@ -8258,6 +8303,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_REST, }, [ITEM_TM45_ATTRACT] = @@ -8270,6 +8316,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_ATTRACT, }, [ITEM_TM46_THIEF] = @@ -8282,6 +8329,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_THIEF, }, [ITEM_TM47_STEEL_WING] = @@ -8294,6 +8342,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_STEEL_WING, }, [ITEM_TM48_SKILL_SWAP] = @@ -8306,6 +8355,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SKILL_SWAP, }, [ITEM_TM49_SNATCH] = @@ -8318,6 +8368,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SNATCH, }, [ITEM_TM50_OVERHEAT] = @@ -8330,6 +8381,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_OVERHEAT, }, [ITEM_TM51] = @@ -8342,6 +8394,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM52] = @@ -8354,6 +8407,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM53] = @@ -8366,6 +8420,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM54] = @@ -8378,6 +8433,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM55] = @@ -8390,6 +8446,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM56] = @@ -8402,6 +8459,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM57] = @@ -8414,6 +8472,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM58] = @@ -8426,6 +8485,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM59] = @@ -8438,6 +8498,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM60] = @@ -8450,6 +8511,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM61] = @@ -8462,6 +8524,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM62] = @@ -8474,6 +8537,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM63] = @@ -8486,6 +8550,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM64] = @@ -8498,6 +8563,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM65] = @@ -8510,6 +8576,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM66] = @@ -8522,6 +8589,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM67] = @@ -8534,6 +8602,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM68] = @@ -8546,6 +8615,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM69] = @@ -8558,6 +8628,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM70] = @@ -8570,6 +8641,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM71] = @@ -8582,6 +8654,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM72] = @@ -8594,6 +8667,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM73] = @@ -8606,6 +8680,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM74] = @@ -8618,6 +8693,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM75] = @@ -8630,6 +8706,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM76] = @@ -8642,6 +8719,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM77] = @@ -8654,6 +8732,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM78] = @@ -8666,6 +8745,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM79] = @@ -8678,6 +8758,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM80] = @@ -8690,6 +8771,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM81] = @@ -8702,6 +8784,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM82] = @@ -8714,6 +8797,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM83] = @@ -8726,6 +8810,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM84] = @@ -8738,6 +8823,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM85] = @@ -8750,6 +8836,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM86] = @@ -8762,6 +8849,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM87] = @@ -8774,6 +8862,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM88] = @@ -8786,6 +8875,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM89] = @@ -8798,6 +8888,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM90] = @@ -8810,6 +8901,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM91] = @@ -8822,6 +8914,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM92] = @@ -8834,6 +8927,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM93] = @@ -8846,6 +8940,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM94] = @@ -8858,6 +8953,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM95] = @@ -8870,6 +8966,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM96] = @@ -8882,6 +8979,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM97] = @@ -8894,6 +8992,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM98] = @@ -8906,6 +9005,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM99] = @@ -8918,6 +9018,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_TM100] = @@ -8930,6 +9031,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_NONE, // Todo }, [ITEM_HM01_CUT] = @@ -8942,6 +9044,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_CUT, }, [ITEM_HM02_FLY] = @@ -8954,6 +9057,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FLY, }, [ITEM_HM03_SURF] = @@ -8966,6 +9070,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_SURF, }, [ITEM_HM04_STRENGTH] = @@ -8978,6 +9083,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_STRENGTH, }, [ITEM_HM05_FLASH] = @@ -8990,6 +9096,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_FLASH, }, [ITEM_HM06_ROCK_SMASH] = @@ -9002,6 +9109,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_ROCK_SMASH, }, [ITEM_HM07_WATERFALL] = @@ -9014,6 +9122,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_WATERFALL, }, [ITEM_HM08_DIVE] = @@ -9026,6 +9135,7 @@ const struct Item gItems[] = .pocket = POCKET_TM_HM, .type = ITEM_USE_PARTY_MENU, .fieldUseFunc = ItemUseOutOfBattle_TMHM, + .secondaryId = MOVE_DIVE, }, @@ -9228,7 +9338,6 @@ const struct Item gItems[] = .price = 0, .description = sBicycleDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9241,7 +9350,6 @@ const struct Item gItems[] = .price = 0, .description = sMachBikeDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Bike, @@ -9255,7 +9363,6 @@ const struct Item gItems[] = .price = 0, .description = sAcroBikeDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Bike, @@ -9269,7 +9376,6 @@ const struct Item gItems[] = .price = 0, .description = sOldRodDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -9283,7 +9389,6 @@ const struct Item gItems[] = .price = 0, .description = sGoodRodDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -9297,7 +9402,6 @@ const struct Item gItems[] = .price = 0, .description = sSuperRodDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Rod, @@ -9311,7 +9415,6 @@ const struct Item gItems[] = .price = 0, .description = sDowsingMachineDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_Itemfinder, @@ -9324,7 +9427,6 @@ const struct Item gItems[] = .price = 0, .description = sTownMapDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9337,7 +9439,6 @@ const struct Item gItems[] = .price = 0, .description = sVsSeekerDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9350,7 +9451,6 @@ const struct Item gItems[] = .price = 0, .description = sTMCaseDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9363,7 +9463,6 @@ const struct Item gItems[] = .price = 0, .description = sBerryPouchDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9400,7 +9499,6 @@ const struct Item gItems[] = .price = 0, .description = sPowderJarDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_PowderJar, @@ -9437,7 +9535,6 @@ const struct Item gItems[] = .price = 0, .description = sPokeblockCaseDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_PBLOCK_CASE, .fieldUseFunc = ItemUseOutOfBattle_PokeblockCase, @@ -9474,7 +9571,6 @@ const struct Item gItems[] = .price = 0, .description = sFameCheckerDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9487,7 +9583,6 @@ const struct Item gItems[] = .price = 0, .description = sTeachyTVDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_FIELD, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9527,7 +9622,6 @@ const struct Item gItems[] = .price = 0, .description = sMysticTicketDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9540,7 +9634,6 @@ const struct Item gItems[] = .price = 0, .description = sAuroraTicketDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9553,7 +9646,6 @@ const struct Item gItems[] = .price = 0, .description = sOldSeaMapDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9710,7 +9802,6 @@ const struct Item gItems[] = .price = 0, .description = sMagmaEmblemDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9819,7 +9910,6 @@ const struct Item gItems[] = .price = 0, .description = sTriPassDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9832,7 +9922,6 @@ const struct Item gItems[] = .price = 0, .description = sRainbowPassDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9845,7 +9934,6 @@ const struct Item gItems[] = .price = 0, .description = sTeaDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9858,7 +9946,6 @@ const struct Item gItems[] = .price = 0, .description = sRubyDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, @@ -9871,7 +9958,6 @@ const struct Item gItems[] = .price = 0, .description = sSapphireDesc, .importance = 1, - .registrability = TRUE, .pocket = POCKET_KEY_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, diff --git a/src/data/party_menu.h b/src/data/party_menu.h index e7ebf98939..4a1c5344c6 100644 --- a/src/data/party_menu.h +++ b/src/data/party_menu.h @@ -1102,115 +1102,3 @@ static const u8 *const sUnused_StatStrings[] = gText_SpDef4, gText_Speed2 }; - -static const u16 sTMHMMoves[] = -{ - [ITEM_TM01 - ITEM_TM01] = MOVE_FOCUS_PUNCH, - [ITEM_TM02 - ITEM_TM01] = MOVE_DRAGON_CLAW, - [ITEM_TM03 - ITEM_TM01] = MOVE_WATER_PULSE, - [ITEM_TM04 - ITEM_TM01] = MOVE_CALM_MIND, - [ITEM_TM05 - ITEM_TM01] = MOVE_ROAR, - [ITEM_TM06 - ITEM_TM01] = MOVE_TOXIC, - [ITEM_TM07 - ITEM_TM01] = MOVE_HAIL, - [ITEM_TM08 - ITEM_TM01] = MOVE_BULK_UP, - [ITEM_TM09 - ITEM_TM01] = MOVE_BULLET_SEED, - [ITEM_TM10 - ITEM_TM01] = MOVE_HIDDEN_POWER, - [ITEM_TM11 - ITEM_TM01] = MOVE_SUNNY_DAY, - [ITEM_TM12 - ITEM_TM01] = MOVE_TAUNT, - [ITEM_TM13 - ITEM_TM01] = MOVE_ICE_BEAM, - [ITEM_TM14 - ITEM_TM01] = MOVE_BLIZZARD, - [ITEM_TM15 - ITEM_TM01] = MOVE_HYPER_BEAM, - [ITEM_TM16 - ITEM_TM01] = MOVE_LIGHT_SCREEN, - [ITEM_TM17 - ITEM_TM01] = MOVE_PROTECT, - [ITEM_TM18 - ITEM_TM01] = MOVE_RAIN_DANCE, - [ITEM_TM19 - ITEM_TM01] = MOVE_GIGA_DRAIN, - [ITEM_TM20 - ITEM_TM01] = MOVE_SAFEGUARD, - [ITEM_TM21 - ITEM_TM01] = MOVE_FRUSTRATION, - [ITEM_TM22 - ITEM_TM01] = MOVE_SOLAR_BEAM, - [ITEM_TM23 - ITEM_TM01] = MOVE_IRON_TAIL, - [ITEM_TM24 - ITEM_TM01] = MOVE_THUNDERBOLT, - [ITEM_TM25 - ITEM_TM01] = MOVE_THUNDER, - [ITEM_TM26 - ITEM_TM01] = MOVE_EARTHQUAKE, - [ITEM_TM27 - ITEM_TM01] = MOVE_RETURN, - [ITEM_TM28 - ITEM_TM01] = MOVE_DIG, - [ITEM_TM29 - ITEM_TM01] = MOVE_PSYCHIC, - [ITEM_TM30 - ITEM_TM01] = MOVE_SHADOW_BALL, - [ITEM_TM31 - ITEM_TM01] = MOVE_BRICK_BREAK, - [ITEM_TM32 - ITEM_TM01] = MOVE_DOUBLE_TEAM, - [ITEM_TM33 - ITEM_TM01] = MOVE_REFLECT, - [ITEM_TM34 - ITEM_TM01] = MOVE_SHOCK_WAVE, - [ITEM_TM35 - ITEM_TM01] = MOVE_FLAMETHROWER, - [ITEM_TM36 - ITEM_TM01] = MOVE_SLUDGE_BOMB, - [ITEM_TM37 - ITEM_TM01] = MOVE_SANDSTORM, - [ITEM_TM38 - ITEM_TM01] = MOVE_FIRE_BLAST, - [ITEM_TM39 - ITEM_TM01] = MOVE_ROCK_TOMB, - [ITEM_TM40 - ITEM_TM01] = MOVE_AERIAL_ACE, - [ITEM_TM41 - ITEM_TM01] = MOVE_TORMENT, - [ITEM_TM42 - ITEM_TM01] = MOVE_FACADE, - [ITEM_TM43 - ITEM_TM01] = MOVE_SECRET_POWER, - [ITEM_TM44 - ITEM_TM01] = MOVE_REST, - [ITEM_TM45 - ITEM_TM01] = MOVE_ATTRACT, - [ITEM_TM46 - ITEM_TM01] = MOVE_THIEF, - [ITEM_TM47 - ITEM_TM01] = MOVE_STEEL_WING, - [ITEM_TM48 - ITEM_TM01] = MOVE_SKILL_SWAP, - [ITEM_TM49 - ITEM_TM01] = MOVE_SNATCH, - [ITEM_TM50 - ITEM_TM01] = MOVE_OVERHEAT, - [ITEM_TM51 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM52 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM53 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM54 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM55 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM56 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM57 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM58 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM59 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM60 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM61 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM62 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM63 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM64 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM65 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM66 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM67 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM68 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM69 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM70 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM71 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM72 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM73 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM74 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM75 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM76 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM77 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM78 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM79 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM80 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM81 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM82 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM83 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM84 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM85 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM86 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM87 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM88 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM89 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM90 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM91 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM92 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM93 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM94 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM95 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM96 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM97 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM98 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM99 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_TM100 - ITEM_TM01] = MOVE_NONE, // Todo - [ITEM_HM01 - ITEM_TM01] = MOVE_CUT, - [ITEM_HM02 - ITEM_TM01] = MOVE_FLY, - [ITEM_HM03 - ITEM_TM01] = MOVE_SURF, - [ITEM_HM04 - ITEM_TM01] = MOVE_STRENGTH, - [ITEM_HM05 - ITEM_TM01] = MOVE_FLASH, - [ITEM_HM06 - ITEM_TM01] = MOVE_ROCK_SMASH, - [ITEM_HM07 - ITEM_TM01] = MOVE_WATERFALL, - [ITEM_HM08 - ITEM_TM01] = MOVE_DIVE, -}; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index fb8353c1ee..cefdb90b8a 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -986,7 +986,7 @@ static void Task_EvolutionScene(u8 taskId) { // Selected move to forget u16 move = GetMonData(mon, var + MON_DATA_MOVE1); - if (IsHMMove2(move)) + if (IsMoveHM(move)) { // Can't forget HMs BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]); @@ -1369,7 +1369,7 @@ static void Task_TradeEvolutionScene(u8 taskId) { // Selected move to forget u16 move = GetMonData(mon, var + MON_DATA_MOVE1); - if (IsHMMove2(move)) + if (IsMoveHM(move)) { // Can't forget HMs BattleStringExpandPlaceholdersToDisplayedString(gBattleStringsTable[STRINGID_HMMOVESCANTBEFORGOTTEN - BATTLESTRINGS_TABLE_START]); diff --git a/src/item.c b/src/item.c index 2c69372446..077d885d1e 100644 --- a/src/item.c +++ b/src/item.c @@ -904,12 +904,6 @@ u8 ItemId_GetImportance(u16 itemId) return gItems[SanitizeItemId(itemId)].importance; } -// Unused -u8 ItemId_GetRegistrability(u16 itemId) -{ - return gItems[SanitizeItemId(itemId)].registrability; -} - u8 ItemId_GetPocket(u16 itemId) { return gItems[SanitizeItemId(itemId)].pocket; diff --git a/src/party_menu.c b/src/party_menu.c index fff50ab7be..2b72566282 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4993,20 +4993,7 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc task) u16 ItemIdToBattleMoveId(u16 item) { - u16 tmNumber = item - ITEM_TM01; - return sTMHMMoves[tmNumber]; -} - -bool8 IsMoveHm(u16 move) -{ - u8 i; - - for (i = 0; i < NUM_HIDDEN_MACHINES; i++) - { - if (sTMHMMoves[i + NUM_TECHNICAL_MACHINES] == move) - return TRUE; - } - return FALSE; + return (ItemId_GetPocket(item) == POCKET_TM_HM) ? gItems[item].secondaryId : MOVE_NONE; } bool8 MonKnowsMove(struct Pokemon *mon, u16 move) diff --git a/src/pokemon.c b/src/pokemon.c index 3ded306791..a62e236627 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -7736,7 +7736,7 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u } } -bool32 IsHMMove2(u16 move) +bool8 IsMoveHM(u16 move) { int i = 0; while (sHMMoves[i] != HM_MOVES_END) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 14d9e771ab..79ade7cdd8 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -2331,7 +2331,7 @@ static bool8 CanReplaceMove(void) { if (sMonSummaryScreen->firstMoveIndex == MAX_MON_MOVES || sMonSummaryScreen->newMove == MOVE_NONE - || IsMoveHm(sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]) != TRUE) + || IsMoveHM(sMonSummaryScreen->summary.moves[sMonSummaryScreen->firstMoveIndex]) != TRUE) return TRUE; else return FALSE; From fd37946c1dd512b1edb2d30f624ce1b391caa449 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Tue, 22 Aug 2023 20:31:13 +1200 Subject: [PATCH 180/256] resize golduck --- graphics/pokemon/golduck/anim_front.png | Bin 1349 -> 1287 bytes .../pokemon_graphics/front_pic_coordinates.h | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/graphics/pokemon/golduck/anim_front.png b/graphics/pokemon/golduck/anim_front.png index aabe7b61fb7cba3d8a7346ae71e63f313ef883ce..f45cdca3b7afa09f358eab12e0031f3e241e7525 100644 GIT binary patch delta 1115 zcmV-h1f=`L3Wo}iEC?0|6#%<2b+nN*lYc8oL_t(|ob8uCkJ~mBz_off5;3wi2NYdy zNN&j&2+$4%x)j9$89KYo7pP*OmrhsshW45ckp-NSFOv)go~)unfdZoF3y@8uB`@s( zme@y9axWI?TLZLQPAC5K-s9u@=OFmNmb_)3EN)?n)G(e!%Y%#)WV`?;2`>`v2Y*3}{z0*+QWuN~aDNem*Njb19xIkJ04aNh5OlFb05PVoeK+v(3|Kxm zJ2}^YMiL`pt4rcX$&#L(T%aFvmYcxBRkWH2BpL94o;_~#_i_VZFQjOXd@zrG0(}1a zLTZ3RtARk9B*i=&>sPcS7*MK!HunDo;&^Ny3t&wGAjEH>p-Z@S!!bSq4=n^y)8|pF)l4Q*?*5Qi4uvI*h`s<_)^WkpQSR zJ&ecqYhgUv4^QpV4OEAa8lZP&a=~=|@r?y~0wj6>33LQ3Tmq=cOk7$DUaQ&_Q0slX zjobqL{4lY=8w)hO?=65quYd5i+?9x;0(%JwbJsEqmsM$HhO zwZqHnpUojuX|3tInXqWac)2}K54bvdCc3w^>mt^wy05n9bpW(nch1{j)y^E}q}^XY zpqHIDR&{g=^F4hdsG?^O?E_T&au_}L6+3IiVZ7cC;HB@||Iim%-hTpM+1kqxD7U4} zu~fj4Qi9)yby=_mye$WT9P$EueboY>Yb5baA;NTTPK3Ajn)c8AtuuT51(@c%bng>* z^qDO(-T~q(3-~n9>f!; z_KC+6QoK^O9k`2wZrpmx(er^z1YzwG9udTDYAG4GMqh!GgRR%OaGHsyTLy(uQaFGE zp)-b(*4l{>syK9j&lYePRL_t(|ob8rBi`+&Oz}0SXGk9_1B0dNy z;=;ZrU%=oLfixi;xJbQ;zd+V9<>A4DLoc?KR25 zYR7M8G{>zpqf`k5B6d&9z2Cg|X6F41f`9j^{zgtx{4NIok>S@1&^i!BP(kel3V#Cl zNrr%=5WxHZ6G;WYy&fU}07(%L&t^#u8X#ri0hAnAQ8Ev(2ahzt*wPJ%*SEhx69{Mpu0FQ;BfkTv+e&7msnSNY)Ed;AC&XV`H7~?+R?W-s3le>NkqgRt37u@dx$|vD; zft$Q^0};x@@MOWb$A>5krJT)9P=7_WbOGxhB%4clio3{D2SJL4vH9U+$yk{~TJ;g%rQ^2=&DAej6BRF8u(3}dHLoZ<%dD>j%74>Vfd$Uv z=l^#uP6qqzxy{kv#)@!)9cLXhDrdrF&&0)i;?) zfYPM^-7XcO(mZo15IS`kQ-45;Z`qMkle$b75_F;$RgIEY7T9*zBcT1lkl+B$Vy6I1 z3Msd!$^}p~&|ZnB%%Jwmx$Y6g`lu`}Xh}*Hy~k%F1cNf#v;uQu||r0EesxTz`Y(D2HE$fIFc$ z55)kmjxn-ddRvovR_pj`5Rm%w&pd;jTRo~M4UGT<>my0MVi}O6CIctb)FP<`_&SOP zu*4+;0A3;%+2s%by6m_+28N~S-gV{ey}Ej^t+#dNufNnpzjm32z{Af?`}YnIU$=nA z0?prG`{x6|16=>^fq%a_)7vrduRikj-e51DEPj7DFdxK|@1E!)<^kf#nAubE3L%DY~KQ|%+=0_9(zSUKljd~7Z#9e-iR8r7$%=I;G?dViw^2wg62);x1etl_JDGe9Wd=9xEOB8F$1 zcEZSaB1iW+CQCCP6lTh)yTB#JuEdcpFJxD)0kipyiV2((Waq#en{_I>Ty^TYyipH8 s?fek9NBo`np%45&KlFhA;Qa6bTUvUg(k0EF00000Ne4wvM6N<$f*1lZ!T Date: Tue, 22 Aug 2023 07:37:48 -0700 Subject: [PATCH 181/256] gbagfx to respect user CC setting --- tools/gbagfx/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index 8728fa8d09..8a52d52d37 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,4 +1,4 @@ -CC = gcc +CC ?= gcc CFLAGS = -Wall -Wextra -Werror -Wno-sign-compare -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK CFLAGS += $(shell pkg-config --cflags libpng) From 905fc6fd4da5549b141897a7e43348c3dc797c79 Mon Sep 17 00:00:00 2001 From: Philipp AUER Date: Thu, 24 Aug 2023 01:23:00 +0200 Subject: [PATCH 182/256] Fixed Metronome Item damage multiplier (#3246) Co-authored-by: sbird --- src/battle_util.c | 2 +- test/battle/hold_effect/metronome.c | 156 ++++++++++++++++++++++++++++ 2 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 test/battle/hold_effect/metronome.c diff --git a/src/battle_util.c b/src/battle_util.c index c15c46a092..ea8ee4cde0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9660,7 +9660,7 @@ static inline uq4_12_t GetAttackerItemsModifier(u32 battlerAtk, uq4_12_t typeEff { case HOLD_EFFECT_METRONOME: percentBoost = min((gBattleStruct->sameMoveTurns[battlerAtk] * GetBattlerHoldEffectParam(battlerAtk)), 100); - return sPercentToModifier[percentBoost]; + return uq4_12_add(sPercentToModifier[percentBoost], UQ_4_12(1.0)); break; case HOLD_EFFECT_EXPERT_BELT: if (typeEffectivenessModifier >= UQ_4_12(2.0)) diff --git a/test/battle/hold_effect/metronome.c b/test/battle/hold_effect/metronome.c new file mode 100644 index 0000000000..76cd27c6f1 --- /dev/null +++ b/test/battle/hold_effect/metronome.c @@ -0,0 +1,156 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + gItems[ITEM_METRONOME].holdEffect == HOLD_EFFECT_METRONOME; +} + +const uq4_12_t MetronomeMultipliers[] = { + UQ_4_12(1.0), + UQ_4_12(1.2), + UQ_4_12(1.4), + UQ_4_12(1.6), + UQ_4_12(1.8), + UQ_4_12(2.0), + UQ_4_12(2.0) +}; + +#define METRONOME_TURNS (ARRAY_COUNT(MetronomeMultipliers)) + +SINGLE_BATTLE_TEST("Metronome Item gradually boosts power of consecutively used moves by 20%, up to 100%") +{ + s16 damage[METRONOME_TURNS]; + u32 j; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_METRONOME); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + for (j = 0; j < METRONOME_TURNS; ++j) { + TURN { MOVE(player, MOVE_TACKLE); } + } + } SCENE { + for (j = 0; j < METRONOME_TURNS; ++j) { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[j]); + } + } THEN { + for (j = 0; j < METRONOME_TURNS; ++j) { + EXPECT_MUL_EQ(damage[0], MetronomeMultipliers[j], damage[j]); + } + } +} + +SINGLE_BATTLE_TEST("Metronome Item's boost is reset if the attacker uses a different move") +{ + s16 damage[2]; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_METRONOME); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_QUICK_ATTACK); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[0]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, player); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[1]); + } THEN { + EXPECT_EQ(damage[0], damage[1]); + } +} + +SINGLE_BATTLE_TEST("Metronome Item's boost is reset if the move fails") +{ + s16 damage[2]; + KNOWN_FAILING; //https://github.com/rh-hideout/pokeemerald-expansion/issues/3251 + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_METRONOME); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); } + TURN { MOVE(opponent, MOVE_PROTECT); MOVE(player, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[0]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[1]); + } THEN { + EXPECT_EQ(damage[0], damage[1]); + } +} + +SINGLE_BATTLE_TEST("Metronome Item counts called moves instead of the calling move") +{ + s16 damage[2]; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_METRONOME); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_METRONOME, WITH_RNG(RNG_METRONOME, MOVE_TACKLE)); } + TURN { MOVE(player, MOVE_METRONOME, WITH_RNG(RNG_METRONOME, MOVE_TACKLE)); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[0]); + + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + HP_BAR(opponent, captureDamage: &damage[1]); + } THEN { + EXPECT_MUL_EQ(damage[0], UQ_4_12(1.2), damage[1]); + } +} + +SINGLE_BATTLE_TEST("Metronome Item counts charging turn of moves for its attacking turn", s16 damage) +{ + u32 item; + + KNOWN_FAILING; // https://github.com/rh-hideout/pokeemerald-expansion/issues/3250 + PARAMETRIZE {item = ITEM_NONE; } + PARAMETRIZE {item = ITEM_METRONOME; } + GIVEN { + ASSUME(gBattleMoves[MOVE_SOLAR_BEAM].effect == EFFECT_SOLAR_BEAM); + PLAYER(SPECIES_WOBBUFFET) { Item(item); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SOLAR_BEAM); } + TURN { SKIP_TURN(player); } + } SCENE { + MESSAGE("Wobbuffet used Solar Beam!"); + MESSAGE("Wobbuffet took in sunlight!"); + MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("Congratulations, 1!"); + MESSAGE("Wobbuffet used Solar Beam!"); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, UQ_4_12(1.2), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Metronome Item doesn't increase damage per hit of multi-hit moves") +{ + s16 damage[3]; + GIVEN { + ASSUME(gBattleMoves[MOVE_FURY_ATTACK].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_METRONOME); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_FURY_ATTACK); } + TURN { MOVE(player, MOVE_FURY_ATTACK); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_ATTACK, player); + HP_BAR(opponent, captureDamage: &damage[0]); + HP_BAR(opponent, captureDamage: &damage[1]); + MESSAGE("Hit 5 time(s)!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FURY_ATTACK, player); + HP_BAR(opponent, captureDamage: &damage[2]); + } THEN { + EXPECT_MUL_EQ(damage[0], UQ_4_12(1.2), damage[2]); // Got bonus once for the second turn + EXPECT_EQ(damage[0], damage[1]); // Do not get the bonus while still inside the first turn + } +} From ef69021f0fd62fa0df8949f55f76b46459abf256 Mon Sep 17 00:00:00 2001 From: CyanSMP64 Date: Thu, 24 Aug 2023 13:00:31 +1200 Subject: [PATCH 183/256] some more tweaks by mrds --- graphics/pokemon/charmander/anim_front.png | Bin 1027 -> 1028 bytes graphics/pokemon/golduck/anim_front.png | Bin 1287 -> 1287 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/charmander/anim_front.png b/graphics/pokemon/charmander/anim_front.png index 4a464744cfa1ba4e5c13cc4b4584632dd6d71df0..2126c56dce1a19a720e33c6866332881df5889b8 100644 GIT binary patch delta 862 zcmV-k1EKtb2!sfbEC?6?H~@9m3DA)=i+=!!1szBL00SsVL_t(|ob8rDPZL2D$7kb( zjbfRQrb|5V88}H36E91EV-qLf(F;8jjk6?NHlggy4T9L6V8T_uf%*kR!x!+-!WY1D z_0X;F%}&wo&MYKejOjbHkoW7nnfKnz`x7#?f6->7s`e+GR}%XiY_4K~t@d4jZGShA zyyiTr1mO1xkK8fN5I7fZ;3ELL=cyZb48Y4r6+i=lZ*IW<0>I8^_a1zm25|$-mH|AZ z{0&?ei7qT4(-{83iq&Q>ivWdM&Wo5Rg;4Eb0q_q9rK40x#W@0l?0PbWCsiPo2q57R z?jsu(frQ76hzbD*q4583IG6+i@PEYM2h&@)y1JO$gBJ*6F&?zm>y0i;gzPXOluiTy zgJL4QKr*(On2yQ54~lspUK)lgl`9WKhj*s92{}j(^bL$BZEm zL0OokcN=^=2Sgy4WdQ)9I%6sHOP#fB&F?`&)L9AzuRlMq__1f8WftH=+5G@uucX3~ zqC7<2Y+YLpwap*tTa`NB5RX#*)od;~mM}(X#Y;D}sr_#zT$gg}hpAUZ%-k~k$^O*F^@DzpQKFQNA#UUav42Puh@s_!G_$=V zQBdZfd@vo8^?RdY2%_bK0fxPctORKJVCK!R*DtT|r#i^`r7h&ZhKW)8aa!_gpxZS| z*lr;J>&<2)AyeK$+fvfKFg)TS6~Q63&PE^9!8(spK&RSRz=FP<5LdtPvfumXK~`4GpE}LVD=(V^2vK@lHRa7l29& oDsH9@vAleXFrZcOr}nq@3(J9P3>|i&X8-^I07*qoM6N<$f>~XX_y7O^ delta 861 zcmV-j1ETzd2!jZaEC>()H6Mt@QiqW=i+^)L2|dmL00SpUL_t(|ob8seZWBQehVMk< z69lu0EMG*CXGldXA<_qcq!cWwE=)DFSEQ4ZH_n?@YRZ2LL>~UjZ}`_~HhFPXO$GbnhY1ZQwtFg))E- zDSiQ0MPdL82${fNcw+U1iy}baEEjp=DTPq|ZUG1mJwm3E3&j`$? z0oXFYzy?4*TF(Kc52O$ZfeqY5pltFFVl1%@hp9jsJqy5kQAFW1yKrK?c7M4-lO0ov zKn%x1E!u6eZVvE}Q_BJX#0^R%=%qp1Hu3u)hz6B#;EgATmON?(B(nq`%AN-RwIaEt zMR|!_Yy(>lbu1p~w@Nzi5T6kJ)oQIcmM}p`#Z5PldHip|T`%Qz9;RLuQM+OIdj~r= z7z_l`3ZTY1U>}_CzUSS+`+sfk)D7H5gK_rR4cx*lu6%F38%G=AJBgl#qu&NZyBOl=osZ z3-~-i|G*{83%$ZsVfy1$js_rQ<}%NUvm5X7+&}0Az@n5M!}tf1FMm+9C{RP&2UDP4 zvM6YC&^{PRWuxJ=)Cz4M3@{mg z>(FfKn*Lxg1`z`G$x7)nSRz~#aO$=+L^JNwHWzN;gP;^yl6_YmH6>ugJM++904gJN nnh#TAb@c{gK&tA`<8R{!GVg7G`R&+*00000NkvXXu0mjfQ?-TR diff --git a/graphics/pokemon/golduck/anim_front.png b/graphics/pokemon/golduck/anim_front.png index f45cdca3b7afa09f358eab12e0031f3e241e7525..4490ae18472fd7fca4937c7a06bc469a01fe2477 100644 GIT binary patch delta 1078 zcmV-61j+k{3Wo}iEe8u1A;&1WF_AQj1(fn1)P&FlMDu) zte``I0;1>((2b;JFYN)A*hf+}au(@Z1GHRDC;s%_T8lvTwm)T!;7+ZvZKVLp!pWO><=)D~LG%3R- z;Qk;UPS6VhAi@1OKA$idupxmM~6Ykk3(1Rp_o&Di+lv1TO$P^x1H zK^H3o5M$=rcLT31fR(+olXC+YB(oy6x)gqt&420H$p!kMWTlB4^Io)?2xJ8YD?NMM znD5mZ+Rznq2OLb3p8=o$xljh+&}tyiCW)BFL-UGO1OrM7$ar)UNYkNv6u_DcKvwO4 z?k(+KN0)i~DhD)i)@lG3p7h>v^y0V$u8uHna-)LaLu+I+kCq#uSAWCw6lzQ#u{o@h z5`S&9=KUltYTlr0JPCkm^TTv_zn0dc-S9LnUBmJaatm~>OwE|dKfZQAM}R^PAc2m6 znNI+t@1|3FFoFJRRWb=(*gyt$i1<(#!jL zdtMJftJTJNYpmLZ=bUu&7ZB)V=Lc(fbPChGK=K@tJ&h&O>8pP7B2?_06^H3+KY*9M zZ~tRoWPS^PWos`(pxTx;&(aagDg|L5)|FsQTLS$+38jEgUv+?~4iO1WA<}klPJd*u z_uBT)!>zM;^A*_UJooPtc=UxUGQk1j8wZ3m(Bdt&|8fuT04;d`Al#hk-4x2NKMD5U z=pY?Tet)!QK1c`OKQU!61f+w(cX1k?VR}E{e*82IPC>mm9;V~bXc9UFP4swluE%w# z{YSWu3!AfK0fOr5(df0Q_MxCs@_)5RjiSPgi(llaXBhIw?pb zwz%Ua4A}9g?PW|$CN#Jaq_`Ou7Fb~9HKq_bI@$%ea~mtT?(ExsYHgzSH-y%mrn3F* wfw|#LFS?l@$nEokCxic=9~(Nre{z2K7qCnR30K6{o&W#<07*qoM6N<$f;e;obpQYW delta 1078 zcmV-61j+k{3Wo}iEe8k{0J|}Dw2?H61ptTz9Y~SHFn^$zPFMJb_L>fn1)P&FlMDu) ztfE7K0;1>(kWHi|FYN)A*hf-wFBa)r1GHRDC;s%_AIA8-Jl8iM5>8;aL=zeW{| z`OZwUb9+yedlFtNZJ3pBm&Er3C<@V4BQh@t{}2?=x8G7OhhX=UXu zfNBG|mE{1aH17RFi=ef`%j=)bAyjFt>3_SKuxQ43xjj!0xH@_!y0^9KBG#(9ueRrP z0JL0p&f8$s&K&2Y-CsbUmz_6Ob#w~zJ$)mnqGu58162HS7(MqDJ8Q*ZyxtGsrSIGS z&=*-pe--mTsum-#>2Z0>&0(^bd0-$Ro@l7GZbZ<_Cw}1DV z_RsyTGkg67nC856?-O|RnJqHj0pcqQ_%zV$4YvP$5AXmjc>BQLoax;d@-IK~_TJzi z9?gD#v}ZnuN8ditWzYx2qtQ2E?4Mx<-{F4vH1MN@(B>j6UN`b|K$e|-;} zt?t+f19m)WdKpuK6$>o%5g)!R4y)YwGLZwRG&O=bJr w19QWfUbLGZ$nEokBZL2+9~*kWe{z2K2eP#XT&tu_b^rhX07*qoM6N<$f+T Date: Thu, 24 Aug 2023 19:23:26 -0400 Subject: [PATCH 184/256] Allow Cycling Through Balls in the Last Ball Used Menu (#3039) --- .../last_used_ball_l_cycle.png | Bin 0 -> 335 bytes .../last_used_ball_r_cycle.png | Bin 0 -> 344 bytes include/battle.h | 2 + include/battle_interface.h | 2 + include/config/battle.h | 1 + src/battle_controller_player.c | 104 +++++++++++- src/battle_interface.c | 157 +++++++++++++++++- src/battle_main.c | 2 + src/battle_script_commands.c | 1 + src/battle_util.c | 2 +- sym_ewram.txt | 1 + 11 files changed, 266 insertions(+), 6 deletions(-) create mode 100644 graphics/battle_interface/last_used_ball_l_cycle.png create mode 100644 graphics/battle_interface/last_used_ball_r_cycle.png diff --git a/graphics/battle_interface/last_used_ball_l_cycle.png b/graphics/battle_interface/last_used_ball_l_cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..58115f5a578d6a81bebaf6cc83b628db2b51bed0 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^3P9|@!VDxk7i7!@QtTz3zOL-gS!G38W$w-OumlQ; zm$*ih1m~xflqVLYGPwJ=0F6;7OD$3`)-x$=UGfm9grlUu&mAaZ3}iESHE7BMDVB6c zUq=Rpjs4tz5?O(Kg8-ipSH_Le)y2(0UQw2Yj+z{fK*sa;Uw{7npIuz+46icq@FhB2)hQ>C^SuxkBzXbG+HjExhCRERn|0)e~6r9CIRB#dqxH;<={8l8_M6 zP{m~ajH%Li0*jR+lX3Mzrrq}rg*Yfn&yZQbFiXZjh{tV`lp6y>zf6c>c9>xZ(0T?> LS3j3^P6!(j&9~BoDSIV!n;k{l!LZxWHgLm023=yoG7}~f(8lwfG!w#~( zTgTMAm4i`2LUh5r1HC&P?(wKJ`b{`+CT_)nb=wU@FPvagW7lX= 0; j--) + { + ballPrev = gBagPockets[BALLS_POCKET].itemSlots[j].itemId; + if (ballPrev != ITEM_NONE) + return ballPrev; + } + } + i--; + return gBagPockets[BALLS_POCKET].itemSlots[i].itemId; + } + } +} + +static u16 GetNextBall(u16 ballId) +{ + u16 ballNext; + u32 i; + CompactItemsInBagPocket(&gBagPockets[BALLS_POCKET]); + for (i = 0; i < gBagPockets[BALLS_POCKET].capacity; i++) + { + if (ballId == gBagPockets[BALLS_POCKET].itemSlots[i].itemId) + { + i++; + ballNext = gBagPockets[BALLS_POCKET].itemSlots[i].itemId; + if (ballNext == ITEM_NONE) + return gBagPockets[BALLS_POCKET].itemSlots[0].itemId; // Zeroth slot + else + return ballNext; + } + } +} + static void HandleInputChooseAction(void) { u16 itemId = gBattleResources->bufferA[gActiveBattler][2] | (gBattleResources->bufferA[gActiveBattler][3] << 8); @@ -243,6 +289,62 @@ static void HandleInputChooseAction(void) else gPlayerDpadHoldFrames = 0; +#if B_LAST_USED_BALL == TRUE && B_LAST_USED_BALL_CYCLE == TRUE + if (!gLastUsedBallMenuPresent) + { + sAckBallUseBtn = FALSE; + } + else if (JOY_NEW(B_LAST_USED_BALL_BUTTON)) + { + sAckBallUseBtn = TRUE; + sBallSwapped = FALSE; + ArrowsChangeColorLastBallCycle(TRUE); + } + if (sAckBallUseBtn) + { + if (JOY_HELD(B_LAST_USED_BALL_BUTTON) && (JOY_NEW(DPAD_DOWN) || JOY_NEW(DPAD_RIGHT))) + { + bool8 sameBall = FALSE; + u16 nextBall = GetNextBall(gBallToDisplay); + sBallSwapped = TRUE; + if (gBallToDisplay == nextBall) + sameBall = TRUE; + else + gBallToDisplay = nextBall; + SwapBallToDisplay(sameBall); + PlaySE(SE_SELECT); + } + else if (JOY_HELD(B_LAST_USED_BALL_BUTTON) && (JOY_NEW(DPAD_UP) || JOY_NEW(DPAD_LEFT))) + { + bool8 sameBall = FALSE; + u16 prevBall = GetPrevBall(gBallToDisplay); + sBallSwapped = TRUE; + if (gBallToDisplay == prevBall) + sameBall = TRUE; + else + gBallToDisplay = prevBall; + SwapBallToDisplay(sameBall); + PlaySE(SE_SELECT); + } + else if (!JOY_HELD(B_LAST_USED_BALL_BUTTON) && sBallSwapped) + { + sAckBallUseBtn = FALSE; + sBallSwapped = FALSE; + ArrowsChangeColorLastBallCycle(FALSE); + } + else if (!JOY_HELD(B_LAST_USED_BALL_BUTTON) && CanThrowLastUsedBall()) + { + sAckBallUseBtn = FALSE; + PlaySE(SE_SELECT); + ArrowsChangeColorLastBallCycle(FALSE); + TryHideLastUsedBall(); + BtlController_EmitTwoReturnValues(1, B_ACTION_THROW_BALL, 0); + PlayerBufferExecCompleted(); + } + return; + } +#endif + if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); @@ -333,7 +435,7 @@ static void HandleInputChooseAction(void) PlayerBufferExecCompleted(); } #endif -#if B_LAST_USED_BALL == TRUE +#if B_LAST_USED_BALL == TRUE && B_LAST_USED_BALL_CYCLE == FALSE else if (JOY_NEW(B_LAST_USED_BALL_BUTTON) && CanThrowLastUsedBall()) { PlaySE(SE_SELECT); diff --git a/src/battle_interface.c b/src/battle_interface.c index a087c715b7..09b1200d2b 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -3213,10 +3213,18 @@ static const struct OamData sOamData_LastUsedBall = .objMode = 0, .mosaic = 0, .bpp = 0, +#if B_LAST_USED_BALL_CYCLE == TRUE + .shape = SPRITE_SHAPE(32x64), +#else .shape = SPRITE_SHAPE(32x32), +#endif .x = 0, .matrixNum = 0, +#if B_LAST_USED_BALL_CYCLE == TRUE + .size = SPRITE_SIZE(32x64), +#else .size = SPRITE_SIZE(32x32), +#endif .tileNum = 0, .priority = 1, .paletteNum = 0, @@ -3234,7 +3242,11 @@ static const struct SpriteTemplate sSpriteTemplate_LastUsedBallWindow = .callback = SpriteCB_LastUsedBallWin }; -#if B_LAST_USED_BALL_BUTTON == R_BUTTON +#if B_LAST_USED_BALL_BUTTON == R_BUTTON && B_LAST_USED_BALL_CYCLE == TRUE + static const u8 ALIGNED(4) sLastUsedBallWindowGfx[] = INCBIN_U8("graphics/battle_interface/last_used_ball_r_cycle.4bpp"); +#elif B_LAST_USED_BALL_CYCLE == TRUE + static const u8 ALIGNED(4) sLastUsedBallWindowGfx[] = INCBIN_U8("graphics/battle_interface/last_used_ball_l_cycle.4bpp"); +#elif B_LAST_USED_BALL_BUTTON == R_BUTTON static const u8 ALIGNED(4) sLastUsedBallWindowGfx[] = INCBIN_U8("graphics/battle_interface/last_used_ball_r.4bpp"); #else static const u8 ALIGNED(4) sLastUsedBallWindowGfx[] = INCBIN_U8("graphics/battle_interface/last_used_ball_l.4bpp"); @@ -3247,12 +3259,19 @@ static const struct SpriteSheet sSpriteSheet_LastUsedBallWindow = #define LAST_USED_BALL_X_F 15 #define LAST_USED_BALL_X_0 -15 #define LAST_USED_BALL_Y ((IsDoubleBattle()) ? 78 : 68) +#define LAST_USED_BALL_Y_BNC ((IsDoubleBattle()) ? 76 : 66) #define LAST_BALL_WIN_X_F (LAST_USED_BALL_X_F - 1) #define LAST_BALL_WIN_X_0 (LAST_USED_BALL_X_0 - 1) #define LAST_USED_WIN_Y (LAST_USED_BALL_Y - 8) #define sHide data[0] +#define sTimer data[1] +#define sMoving data[2] +#define sBounce data[3] // 0 = Bounce down; 1 = Bounce up + +#define sState data[0] +#define sSameBall data[1] bool32 CanThrowLastUsedBall(void) { @@ -3263,7 +3282,7 @@ bool32 CanThrowLastUsedBall(void) return FALSE; if (gBattleTypeFlags & (BATTLE_TYPE_TRAINER | BATTLE_TYPE_FRONTIER)) return FALSE; - if (!CheckBagHasItem(gLastThrownBall, 1)) + if (!CheckBagHasItem(gBallToDisplay, 1)) return FALSE; return TRUE; @@ -3279,7 +3298,7 @@ void TryAddLastUsedBallItemSprites(void) // we're out of the last used ball, so just set it to the first ball in the bag // we have to compact the bag first bc it is typically only compacted when you open it CompactItemsInBagPocket(&gBagPockets[BALLS_POCKET]); - gLastThrownBall = gBagPockets[BALLS_POCKET].itemSlots[0].itemId; + gBallToDisplay = gBagPockets[BALLS_POCKET].itemSlots[0].itemId; } if (!CanThrowLastUsedBall()) @@ -3288,10 +3307,11 @@ void TryAddLastUsedBallItemSprites(void) // ball if (gBattleStruct->ballSpriteIds[0] == MAX_SPRITES) { - gBattleStruct->ballSpriteIds[0] = AddItemIconSprite(102, 102, gLastThrownBall); + gBattleStruct->ballSpriteIds[0] = AddItemIconSprite(102, 102, gBallToDisplay); gSprites[gBattleStruct->ballSpriteIds[0]].x = LAST_USED_BALL_X_0; gSprites[gBattleStruct->ballSpriteIds[0]].y = LAST_USED_BALL_Y; gSprites[gBattleStruct->ballSpriteIds[0]].sHide = FALSE; // restore + gLastUsedBallMenuPresent = TRUE; gSprites[gBattleStruct->ballSpriteIds[0]].callback = SpriteCB_LastUsedBall; } @@ -3306,7 +3326,11 @@ void TryAddLastUsedBallItemSprites(void) LAST_BALL_WIN_X_0, LAST_USED_WIN_Y, 5); gSprites[gBattleStruct->ballSpriteIds[1]].sHide = FALSE; // restore + gLastUsedBallMenuPresent = TRUE; } +#if B_LAST_USED_BALL_CYCLE == TRUE + ArrowsChangeColorLastBallCycle(0); //Default the arrows to be invisible +#endif #endif } @@ -3347,6 +3371,9 @@ static void SpriteCB_LastUsedBall(struct Sprite *sprite) { if (sprite->sHide) { + if (sprite->y < LAST_USED_BALL_Y) // Used to recover from an incomplete bounce before hiding the window + sprite->y++; + if (sprite->x != LAST_USED_BALL_X_0) sprite->x--; @@ -3373,14 +3400,19 @@ static void TryHideOrRestoreLastUsedBall(u8 caseId) gSprites[gBattleStruct->ballSpriteIds[0]].sHide = TRUE; // hide if (gBattleStruct->ballSpriteIds[1] != MAX_SPRITES) gSprites[gBattleStruct->ballSpriteIds[1]].sHide = TRUE; // hide + gLastUsedBallMenuPresent = FALSE; break; case 1: // restore if (gBattleStruct->ballSpriteIds[0] != MAX_SPRITES) gSprites[gBattleStruct->ballSpriteIds[0]].sHide = FALSE; // restore if (gBattleStruct->ballSpriteIds[1] != MAX_SPRITES) gSprites[gBattleStruct->ballSpriteIds[1]].sHide = FALSE; // restore + gLastUsedBallMenuPresent = TRUE; break; } +#if B_LAST_USED_BALL_CYCLE == TRUE + ArrowsChangeColorLastBallCycle(0); //Default the arrows to be invisible +#endif #endif } @@ -3400,3 +3432,120 @@ void TryRestoreLastUsedBall(void) TryAddLastUsedBallItemSprites(); #endif } + +static void SpriteCB_LastUsedBallBounce(struct Sprite *sprite) +{ + if ((sprite->sTimer++ % 4) != 0) // Change the image every 4 frame + return; + if (sprite->sBounce) + { + if (sprite->y > LAST_USED_BALL_Y_BNC) + sprite->y--; + else + sprite->sMoving = FALSE; + } + else + { + if (sprite->y < LAST_USED_BALL_Y) + sprite->y++; + else + sprite->sMoving = FALSE; + } +} + +static void Task_BounceBall(u8 taskId) +{ + struct Sprite *sprite = &gSprites[gBattleStruct->ballSpriteIds[0]]; + struct Task *task = &gTasks[taskId]; + switch(task->sState) + { + case 0: // Bounce up + sprite->sBounce = TRUE; + sprite->sMoving = TRUE; + sprite->callback = SpriteCB_LastUsedBallBounce; + if (task->sSameBall) + task->sState = 3; + else + task->sState = 1; + break; + case 1: // Destroy Icon + if (!sprite->sMoving) + { + DestroyLastUsedBallGfx(sprite); + task->sState++; + } // Passthrough + case 2: //Create New Icon + if (!sprite->inUse) + { + gBattleStruct->ballSpriteIds[0] = AddItemIconSprite(102, 102, gBallToDisplay); + gSprites[gBattleStruct->ballSpriteIds[0]].x = LAST_USED_BALL_X_F; + gSprites[gBattleStruct->ballSpriteIds[0]].y = LAST_USED_BALL_Y_BNC; + task->sState++; + } // Fallthrough + case 3: // Bounce Down + if (!sprite->sMoving) + { + sprite->sBounce = FALSE; + sprite->sMoving = TRUE; + sprite->callback = SpriteCB_LastUsedBallBounce; //Show and bounce down + task->sState++; + } + break; + case 4: // Destroy Task + if(!sprite->sMoving) + { + sprite->callback = SpriteCB_LastUsedBall; + DestroyTask(taskId); + } + } + if (!gLastUsedBallMenuPresent) + { + // Used to check if the R button was released before the animation was complete + sprite->callback = SpriteCB_LastUsedBall; + DestroyTask(taskId); + } +} + +void SwapBallToDisplay(bool32 sameBall) +{ + u8 taskId; + taskId = CreateTask(Task_BounceBall, 10); + gTasks[taskId].sSameBall = sameBall; +} + +void ArrowsChangeColorLastBallCycle(bool32 showArrows) +{ +#if B_LAST_USED_BALL == TRUE && B_LAST_USED_BALL_CYCLE == TRUE + u16 paletteNum = 16 + gSprites[gBattleStruct->ballSpriteIds[1]].oam.paletteNum; + struct PlttData *defaultPlttArrow; + struct PlttData *defaultPlttOutline; + struct PlttData *pltArrow; + struct PlttData *pltOutline; + if (gBattleStruct->ballSpriteIds[1] == MAX_SPRITES) + return; + paletteNum *= 16; + pltArrow = (struct PlttData *)&gPlttBufferFaded[paletteNum + 9]; // Arrow color is in idx 9 + pltOutline = (struct PlttData *)&gPlttBufferFaded[paletteNum + 8]; // Arrow outline is in idx 8 + if (!showArrows) //Make invisible + { + defaultPlttArrow = (struct PlttData *)&gPlttBufferFaded[paletteNum + 13]; // Background color is idx 13 + pltArrow->r = defaultPlttArrow->r; + pltArrow->g = defaultPlttArrow->g; + pltArrow->b = defaultPlttArrow->b; + pltOutline->r = defaultPlttArrow->r; + pltOutline->g = defaultPlttArrow->g; + pltOutline->b = defaultPlttArrow->b; + } + else // Make gray + { + defaultPlttArrow = (struct PlttData *)&gPlttBufferFaded[paletteNum + 11]; // Grey color is idx 11 + defaultPlttOutline = (struct PlttData *)&gPlttBufferFaded[paletteNum + 10]; //Light grey color for outline is idx 10 + pltArrow->r = defaultPlttArrow->r; + pltArrow->g = defaultPlttArrow->g; + pltArrow->b = defaultPlttArrow->b; + pltOutline->r = defaultPlttOutline->r; + pltOutline->g = defaultPlttOutline->g; + pltOutline->b = defaultPlttOutline->b; + } +#endif +} diff --git a/src/battle_main.c b/src/battle_main.c index e6ed4269d1..e6640fda79 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -242,6 +242,8 @@ EWRAM_DATA struct TotemBoost gTotemBoosts[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA bool8 gHasFetchedBall = FALSE; EWRAM_DATA u8 gLastUsedBall = 0; EWRAM_DATA u16 gLastThrownBall = 0; +EWRAM_DATA u16 gBallToDisplay = 0; +EWRAM_DATA bool8 gLastUsedBallMenuPresent = FALSE; EWRAM_DATA u8 gPartyCriticalHits[PARTY_SIZE] = {0}; EWRAM_DATA static u8 sTriedEvolving = 0; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 646e287677..2ab173a491 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -15155,6 +15155,7 @@ static void Cmd_handleballthrow(void) u8 catchRate; gLastThrownBall = gLastUsedItem; + gBallToDisplay = gLastThrownBall; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) catchRate = gBattleStruct->safariCatchFactor * 1275 / 100; else diff --git a/src/battle_util.c b/src/battle_util.c index ea8ee4cde0..2f2a65923f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -723,7 +723,7 @@ void HandleAction_ThrowBall(void) gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; - gLastUsedItem = gLastThrownBall; + gLastUsedItem = gBallToDisplay; RemoveBagItem(gLastUsedItem, 1); gBattlescriptCurrInstr = BattleScript_BallThrow; gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; diff --git a/sym_ewram.txt b/sym_ewram.txt index 914501a088..2d7a6e26ed 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -149,3 +149,4 @@ .include "src/trainer_hill.o" .include "src/rayquaza_scene.o" .include "src/debug.o" + .include "src/battle_controller_player.o" From 76075ffe57857043569fabb707af7ba0a02ad4f2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Fri, 25 Aug 2023 16:33:15 -0400 Subject: [PATCH 185/256] Revert unneeded sprite changes from 3051 (#3205) --- graphics/pokemon/abomasnow/anim_front.png | Bin 1724 -> 1698 bytes graphics/pokemon/abomasnow/back.png | Bin 819 -> 834 bytes graphics/pokemon/abomasnow/icon.png | Bin 423 -> 393 bytes graphics/pokemon/abomasnow/mega/back.png | Bin 1063 -> 1073 bytes graphics/pokemon/abomasnow/mega/front.png | Bin 1336 -> 1349 bytes graphics/pokemon/abomasnow/mega/icon.png | Bin 455 -> 417 bytes graphics/pokemon/abra/icon.png | Bin 407 -> 368 bytes graphics/pokemon/absol/back.png | Bin 637 -> 647 bytes graphics/pokemon/absol/mega/back.png | Bin 919 -> 931 bytes graphics/pokemon/absol/mega/front.png | Bin 1019 -> 1028 bytes graphics/pokemon/absol/mega/icon.png | Bin 466 -> 435 bytes graphics/pokemon/accelgor/anim_front.png | Bin 981 -> 950 bytes graphics/pokemon/accelgor/back.png | Bin 779 -> 788 bytes graphics/pokemon/aegislash/anim_front.png | Bin 1410 -> 1405 bytes graphics/pokemon/aegislash/back.png | Bin 569 -> 582 bytes .../pokemon/aegislash/blade/anim_front.png | Bin 1561 -> 1561 bytes graphics/pokemon/aegislash/blade/back.png | Bin 549 -> 560 bytes graphics/pokemon/aegislash/blade/icon.png | Bin 452 -> 518 bytes graphics/pokemon/aegislash/icon.png | Bin 484 -> 451 bytes graphics/pokemon/aerodactyl/back.png | Bin 565 -> 580 bytes graphics/pokemon/aerodactyl/mega/back.png | Bin 700 -> 715 bytes graphics/pokemon/aerodactyl/mega/front.png | Bin 1126 -> 1135 bytes graphics/pokemon/aerodactyl/mega/icon.png | Bin 488 -> 449 bytes graphics/pokemon/aggron/anim_front.png | Bin 1653 -> 1639 bytes graphics/pokemon/aggron/back.png | Bin 765 -> 779 bytes graphics/pokemon/aggron/mega/back.png | Bin 767 -> 779 bytes graphics/pokemon/aggron/mega/front.png | Bin 1248 -> 1259 bytes graphics/pokemon/aggron/mega/icon.png | Bin 511 -> 479 bytes graphics/pokemon/aipom/back.png | Bin 741 -> 754 bytes graphics/pokemon/alakazam/mega/back.png | Bin 915 -> 934 bytes graphics/pokemon/alakazam/mega/front.png | Bin 1211 -> 1226 bytes graphics/pokemon/alakazam/mega/icon.png | Bin 535 -> 497 bytes graphics/pokemon/alcremie/back.png | Bin 677 -> 689 bytes .../pokemon/alcremie/caramel_swirl/back.png | Bin 677 -> 688 bytes graphics/pokemon/alcremie/front.png | Bin 737 -> 745 bytes graphics/pokemon/alcremie/icon.png | Bin 381 -> 369 bytes .../pokemon/alcremie/lemon_cream/back.png | Bin 677 -> 688 bytes graphics/pokemon/alcremie/mint_cream/back.png | Bin 677 -> 688 bytes .../pokemon/alcremie/rainbow_swirl/front.png | Bin 760 -> 769 bytes graphics/pokemon/alcremie/ruby_cream/back.png | Bin 682 -> 693 bytes graphics/pokemon/alcremie/ruby_swirl/back.png | Bin 679 -> 691 bytes .../pokemon/alcremie/ruby_swirl/front.png | Bin 744 -> 753 bytes .../pokemon/alcremie/salted_cream/back.png | Bin 676 -> 688 bytes graphics/pokemon/alomomola/anim_front.png | Bin 858 -> 842 bytes graphics/pokemon/alomomola/back.png | Bin 635 -> 646 bytes graphics/pokemon/alomomola/icon.png | Bin 328 -> 288 bytes graphics/pokemon/altaria/anim_front.png | Bin 1294 -> 1272 bytes graphics/pokemon/altaria/mega/back.png | Bin 738 -> 752 bytes graphics/pokemon/altaria/mega/front.png | Bin 1133 -> 1144 bytes graphics/pokemon/altaria/mega/icon.png | Bin 534 -> 502 bytes graphics/pokemon/amaura/anim_front.png | Bin 771 -> 773 bytes graphics/pokemon/amaura/back.png | Bin 512 -> 498 bytes graphics/pokemon/amaura/icon.png | Bin 414 -> 377 bytes graphics/pokemon/ambipom/icon.png | Bin 489 -> 451 bytes graphics/pokemon/amoonguss/anim_front.png | Bin 1070 -> 1044 bytes graphics/pokemon/amoonguss/back.png | Bin 597 -> 611 bytes graphics/pokemon/ampharos/icon.png | Bin 394 -> 364 bytes graphics/pokemon/ampharos/mega/back.png | Bin 863 -> 878 bytes graphics/pokemon/ampharos/mega/front.png | Bin 1064 -> 1078 bytes graphics/pokemon/ampharos/mega/icon.png | Bin 490 -> 455 bytes graphics/pokemon/anorith/anim_front.png | Bin 1151 -> 1129 bytes graphics/pokemon/anorith/back.png | Bin 587 -> 596 bytes graphics/pokemon/anorith/icon.png | Bin 426 -> 392 bytes graphics/pokemon/appletun/back.png | Bin 737 -> 750 bytes graphics/pokemon/appletun/icon.png | Bin 427 -> 409 bytes graphics/pokemon/applin/back.png | Bin 465 -> 476 bytes graphics/pokemon/applin/icon.png | Bin 343 -> 331 bytes graphics/pokemon/araquanid/back.png | Bin 667 -> 679 bytes graphics/pokemon/araquanid/icon.png | Bin 449 -> 411 bytes graphics/pokemon/arbok/icon.png | Bin 445 -> 406 bytes graphics/pokemon/arcanine/hisuian/icon.png | Bin 447 -> 427 bytes graphics/pokemon/arcanine/icon.png | Bin 507 -> 475 bytes graphics/pokemon/arceus/anim_front.png | Bin 1920 -> 1911 bytes graphics/pokemon/arceus/back.png | Bin 781 -> 744 bytes graphics/pokemon/archen/anim_front.png | Bin 1022 -> 995 bytes graphics/pokemon/archen/back.png | Bin 564 -> 574 bytes graphics/pokemon/archen/icon.png | Bin 410 -> 372 bytes graphics/pokemon/archeops/anim_front.png | Bin 1793 -> 1764 bytes graphics/pokemon/archeops/back.png | Bin 612 -> 621 bytes graphics/pokemon/archeops/icon.png | Bin 517 -> 482 bytes graphics/pokemon/arctovish/back.png | Bin 558 -> 566 bytes graphics/pokemon/arctovish/front.png | Bin 882 -> 897 bytes graphics/pokemon/arctovish/icon.png | Bin 479 -> 448 bytes graphics/pokemon/arctozolt/back.png | Bin 615 -> 583 bytes graphics/pokemon/arctozolt/front.png | Bin 802 -> 813 bytes graphics/pokemon/arctozolt/icon.png | Bin 468 -> 439 bytes graphics/pokemon/ariados/back.png | Bin 653 -> 662 bytes graphics/pokemon/armaldo/anim_front.png | Bin 1831 -> 1801 bytes graphics/pokemon/armaldo/back.png | Bin 965 -> 978 bytes graphics/pokemon/aromatisse/anim_front.png | Bin 1227 -> 1219 bytes graphics/pokemon/aromatisse/back.png | Bin 707 -> 722 bytes graphics/pokemon/aromatisse/icon.png | Bin 394 -> 357 bytes graphics/pokemon/aron/anim_front.png | Bin 722 -> 713 bytes graphics/pokemon/aron/back.png | Bin 525 -> 535 bytes graphics/pokemon/aron/icon.png | Bin 288 -> 251 bytes graphics/pokemon/arrokuda/back.png | Bin 567 -> 577 bytes graphics/pokemon/arrokuda/front.png | Bin 496 -> 506 bytes graphics/pokemon/arrokuda/icon.png | Bin 351 -> 319 bytes graphics/pokemon/articuno/back.png | Bin 629 -> 643 bytes graphics/pokemon/articuno/galarian/back.png | Bin 635 -> 645 bytes graphics/pokemon/articuno/galarian/front.png | Bin 856 -> 865 bytes graphics/pokemon/articuno/galarian/icon.png | Bin 430 -> 413 bytes graphics/pokemon/audino/anim_front.png | Bin 986 -> 981 bytes graphics/pokemon/audino/back.png | Bin 671 -> 683 bytes graphics/pokemon/audino/icon.png | Bin 431 -> 398 bytes graphics/pokemon/audino/mega/back.png | Bin 700 -> 711 bytes graphics/pokemon/audino/mega/front.png | Bin 814 -> 824 bytes graphics/pokemon/audino/mega/icon.png | Bin 443 -> 407 bytes graphics/pokemon/aurorus/anim_front.png | Bin 1566 -> 1534 bytes graphics/pokemon/aurorus/back.png | Bin 617 -> 585 bytes graphics/pokemon/aurorus/icon.png | Bin 454 -> 416 bytes graphics/pokemon/avalugg/anim_front.png | Bin 1069 -> 1034 bytes graphics/pokemon/avalugg/back.png | Bin 628 -> 608 bytes graphics/pokemon/avalugg/hisuian/icon.png | Bin 459 -> 442 bytes graphics/pokemon/avalugg/icon.png | Bin 457 -> 419 bytes graphics/pokemon/axew/anim_front.png | Bin 745 -> 734 bytes graphics/pokemon/axew/back.png | Bin 605 -> 616 bytes graphics/pokemon/axew/icon.png | Bin 326 -> 294 bytes graphics/pokemon/azelf/anim_front.png | Bin 1162 -> 1138 bytes graphics/pokemon/azelf/back.png | Bin 618 -> 631 bytes graphics/pokemon/azumarill/anim_front.png | Bin 1161 -> 1151 bytes graphics/pokemon/azumarill/back.png | Bin 579 -> 592 bytes graphics/pokemon/azurill/anim_front.png | Bin 936 -> 911 bytes graphics/pokemon/azurill/back.png | Bin 562 -> 573 bytes graphics/pokemon/azurill/icon.png | Bin 313 -> 276 bytes graphics/pokemon/bagon/anim_front.png | Bin 786 -> 758 bytes graphics/pokemon/bagon/icon.png | Bin 316 -> 277 bytes graphics/pokemon/baltoy/anim_front.png | Bin 753 -> 719 bytes graphics/pokemon/baltoy/back.png | Bin 556 -> 573 bytes graphics/pokemon/baltoy/icon.png | Bin 317 -> 278 bytes graphics/pokemon/banette/anim_front.png | Bin 1042 -> 1020 bytes graphics/pokemon/banette/back.png | Bin 671 -> 684 bytes graphics/pokemon/banette/icon.png | Bin 383 -> 353 bytes graphics/pokemon/banette/mega/back.png | Bin 678 -> 692 bytes graphics/pokemon/banette/mega/front.png | Bin 1048 -> 1057 bytes graphics/pokemon/banette/mega/icon.png | Bin 451 -> 413 bytes graphics/pokemon/barbaracle/anim_front.png | Bin 1675 -> 1649 bytes graphics/pokemon/barbaracle/back.png | Bin 863 -> 874 bytes graphics/pokemon/barbaracle/icon.png | Bin 616 -> 582 bytes graphics/pokemon/barboach/anim_front.png | Bin 726 -> 690 bytes graphics/pokemon/barboach/back.png | Bin 577 -> 589 bytes graphics/pokemon/barboach/icon.png | Bin 343 -> 312 bytes graphics/pokemon/barraskewda/back.png | Bin 593 -> 605 bytes graphics/pokemon/barraskewda/front.png | Bin 723 -> 732 bytes graphics/pokemon/barraskewda/icon.png | Bin 410 -> 379 bytes graphics/pokemon/basculegion/female/icon.png | Bin 488 -> 474 bytes graphics/pokemon/basculegion/icon.png | Bin 523 -> 509 bytes graphics/pokemon/basculin/anim_front.png | Bin 1001 -> 969 bytes graphics/pokemon/basculin/back.png | Bin 707 -> 715 bytes .../pokemon/basculin/blue_striped/front.png | Bin 565 -> 522 bytes graphics/pokemon/basculin/icon.png | Bin 392 -> 355 bytes .../pokemon/basculin/white_striped/back.png | Bin 686 -> 645 bytes .../pokemon/basculin/white_striped/front.png | Bin 586 -> 546 bytes .../pokemon/basculin/white_striped/icon.png | Bin 393 -> 376 bytes graphics/pokemon/bastiodon/anim_front.png | Bin 1587 -> 1584 bytes graphics/pokemon/bastiodon/back.png | Bin 689 -> 701 bytes graphics/pokemon/bastiodon/icon.png | Bin 420 -> 419 bytes graphics/pokemon/bayleef/back.png | Bin 749 -> 760 bytes graphics/pokemon/bayleef/icon.png | Bin 419 -> 383 bytes graphics/pokemon/beartic/anim_front.png | Bin 1251 -> 1259 bytes graphics/pokemon/beautifly/icon.png | Bin 460 -> 425 bytes graphics/pokemon/beedrill/icon.png | Bin 457 -> 421 bytes graphics/pokemon/beedrill/mega/back.png | Bin 906 -> 917 bytes graphics/pokemon/beedrill/mega/front.png | Bin 1017 -> 1031 bytes graphics/pokemon/beedrill/mega/icon.png | Bin 469 -> 453 bytes graphics/pokemon/beheeyem/anim_front.png | Bin 1165 -> 1143 bytes graphics/pokemon/beheeyem/back.png | Bin 670 -> 685 bytes graphics/pokemon/beheeyem/icon.png | Bin 399 -> 362 bytes graphics/pokemon/beldum/anim_front.png | Bin 817 -> 805 bytes graphics/pokemon/beldum/back.png | Bin 652 -> 664 bytes graphics/pokemon/bellossom/anim_front.png | Bin 835 -> 802 bytes graphics/pokemon/bellossom/back.png | Bin 572 -> 581 bytes graphics/pokemon/bellossom/icon.png | Bin 386 -> 347 bytes graphics/pokemon/bergmite/anim_front.png | Bin 772 -> 766 bytes graphics/pokemon/bergmite/back.png | Bin 471 -> 452 bytes graphics/pokemon/bergmite/icon.png | Bin 331 -> 294 bytes graphics/pokemon/bewear/back.png | Bin 576 -> 586 bytes graphics/pokemon/bewear/icon.png | Bin 381 -> 341 bytes graphics/pokemon/bibarel/back.png | Bin 626 -> 643 bytes graphics/pokemon/bibarel/icon.png | Bin 458 -> 424 bytes graphics/pokemon/bidoof/anim_front.png | Bin 783 -> 753 bytes graphics/pokemon/bidoof/back.png | Bin 528 -> 540 bytes graphics/pokemon/bidoof/icon.png | Bin 319 -> 284 bytes graphics/pokemon/binacle/anim_front.png | Bin 992 -> 993 bytes graphics/pokemon/binacle/back.png | Bin 788 -> 801 bytes graphics/pokemon/binacle/icon.png | Bin 418 -> 384 bytes graphics/pokemon/bisharp/anim_front.png | Bin 1426 -> 1434 bytes graphics/pokemon/bisharp/back.png | Bin 915 -> 926 bytes graphics/pokemon/bisharp/icon.png | Bin 421 -> 385 bytes graphics/pokemon/blacephalon/back.png | Bin 763 -> 770 bytes graphics/pokemon/blacephalon/front.png | Bin 813 -> 825 bytes graphics/pokemon/blacephalon/icon.png | Bin 415 -> 378 bytes graphics/pokemon/blastoise/icon.png | Bin 475 -> 443 bytes graphics/pokemon/blastoise/mega/back.png | Bin 792 -> 804 bytes graphics/pokemon/blastoise/mega/front.png | Bin 1159 -> 1169 bytes graphics/pokemon/blastoise/mega/icon.png | Bin 572 -> 529 bytes graphics/pokemon/blaziken/anim_front.png | Bin 1257 -> 1259 bytes graphics/pokemon/blaziken/back.png | Bin 712 -> 723 bytes graphics/pokemon/blaziken/icon.png | Bin 461 -> 426 bytes graphics/pokemon/blaziken/mega/back.png | Bin 730 -> 739 bytes graphics/pokemon/blaziken/mega/front.png | Bin 1022 -> 1037 bytes graphics/pokemon/blaziken/mega/icon.png | Bin 506 -> 466 bytes graphics/pokemon/blipbug/back.png | Bin 555 -> 571 bytes graphics/pokemon/blipbug/front.png | Bin 509 -> 516 bytes graphics/pokemon/blipbug/icon.png | Bin 403 -> 361 bytes graphics/pokemon/blissey/anim_front.png | Bin 1122 -> 1110 bytes graphics/pokemon/blissey/back.png | Bin 483 -> 496 bytes graphics/pokemon/blissey/icon.png | Bin 419 -> 380 bytes graphics/pokemon/blitzle/anim_front.png | Bin 947 -> 916 bytes graphics/pokemon/blitzle/back.png | Bin 600 -> 611 bytes graphics/pokemon/blitzle/icon.png | Bin 327 -> 287 bytes graphics/pokemon/boldore/anim_front.png | Bin 1189 -> 1154 bytes graphics/pokemon/boldore/back.png | Bin 606 -> 617 bytes graphics/pokemon/boldore/icon.png | Bin 382 -> 341 bytes graphics/pokemon/boltund/back.png | Bin 611 -> 623 bytes graphics/pokemon/boltund/front.png | Bin 750 -> 757 bytes graphics/pokemon/boltund/icon.png | Bin 410 -> 393 bytes graphics/pokemon/bonsly/anim_front.png | Bin 809 -> 784 bytes graphics/pokemon/bonsly/back.png | Bin 582 -> 603 bytes graphics/pokemon/bonsly/icon.png | Bin 310 -> 271 bytes graphics/pokemon/bouffalant/back.png | Bin 681 -> 694 bytes graphics/pokemon/bouffalant/icon.png | Bin 464 -> 425 bytes graphics/pokemon/bounsweet/back.png | Bin 459 -> 467 bytes graphics/pokemon/bounsweet/front.png | Bin 443 -> 451 bytes graphics/pokemon/bounsweet/icon.png | Bin 371 -> 330 bytes graphics/pokemon/braixen/anim_front.png | Bin 1336 -> 1318 bytes graphics/pokemon/braixen/back.png | Bin 774 -> 757 bytes graphics/pokemon/braixen/icon.png | Bin 398 -> 372 bytes graphics/pokemon/braviary/anim_front.png | Bin 1566 -> 1524 bytes graphics/pokemon/braviary/back.png | Bin 703 -> 715 bytes graphics/pokemon/braviary/hisuian/back.png | Bin 774 -> 11612 bytes graphics/pokemon/braviary/hisuian/front.png | Bin 1009 -> 15390 bytes graphics/pokemon/braviary/hisuian/icon.png | Bin 497 -> 484 bytes graphics/pokemon/braviary/icon.png | Bin 452 -> 417 bytes graphics/pokemon/breloom/anim_front.png | Bin 1414 -> 1401 bytes graphics/pokemon/breloom/icon.png | Bin 423 -> 385 bytes graphics/pokemon/brionne/back.png | Bin 625 -> 633 bytes graphics/pokemon/brionne/front.png | Bin 674 -> 685 bytes graphics/pokemon/brionne/icon.png | Bin 423 -> 385 bytes graphics/pokemon/bronzong/anim_front.png | Bin 1493 -> 1462 bytes graphics/pokemon/bronzong/back.png | Bin 815 -> 829 bytes graphics/pokemon/bronzong/icon.png | Bin 389 -> 354 bytes graphics/pokemon/bronzor/anim_front.png | Bin 700 -> 678 bytes graphics/pokemon/bronzor/back.png | Bin 552 -> 565 bytes graphics/pokemon/bronzor/icon.png | Bin 277 -> 239 bytes graphics/pokemon/bruxish/back.png | Bin 697 -> 708 bytes graphics/pokemon/bruxish/front.png | Bin 656 -> 666 bytes graphics/pokemon/bruxish/icon.png | Bin 469 -> 432 bytes graphics/pokemon/budew/anim_front.png | Bin 731 -> 701 bytes graphics/pokemon/budew/icon.png | Bin 327 -> 290 bytes graphics/pokemon/buizel/anim_front.png | Bin 1011 -> 999 bytes graphics/pokemon/buizel/back.png | Bin 642 -> 655 bytes graphics/pokemon/buizel/icon.png | Bin 372 -> 333 bytes graphics/pokemon/bulbasaur/icon.png | Bin 341 -> 301 bytes graphics/pokemon/buneary/anim_front.png | Bin 872 -> 877 bytes graphics/pokemon/buneary/back.png | Bin 647 -> 665 bytes graphics/pokemon/buneary/icon.png | Bin 407 -> 370 bytes graphics/pokemon/bunnelby/anim_front.png | Bin 972 -> 968 bytes graphics/pokemon/bunnelby/back.png | Bin 624 -> 634 bytes graphics/pokemon/bunnelby/icon.png | Bin 331 -> 295 bytes graphics/pokemon/burmy/back.png | Bin 573 -> 589 bytes graphics/pokemon/burmy/icon.png | Bin 317 -> 278 bytes graphics/pokemon/burmy/sandy_cloak/back.png | Bin 520 -> 539 bytes graphics/pokemon/burmy/sandy_cloak/icon.png | Bin 311 -> 275 bytes .../pokemon/burmy/trash_cloak/anim_front.png | Bin 826 -> 828 bytes graphics/pokemon/burmy/trash_cloak/back.png | Bin 535 -> 550 bytes graphics/pokemon/burmy/trash_cloak/icon.png | Bin 313 -> 275 bytes graphics/pokemon/buzzwole/back.png | Bin 893 -> 905 bytes graphics/pokemon/buzzwole/front.png | Bin 1293 -> 1302 bytes graphics/pokemon/buzzwole/icon.png | Bin 473 -> 438 bytes graphics/pokemon/cacnea/anim_front.png | Bin 1120 -> 1082 bytes graphics/pokemon/cacnea/back.png | Bin 733 -> 742 bytes graphics/pokemon/cacnea/icon.png | Bin 366 -> 330 bytes graphics/pokemon/cacturne/back.png | Bin 788 -> 798 bytes graphics/pokemon/calyrex/back.png | Bin 686 -> 694 bytes graphics/pokemon/calyrex/front.png | Bin 763 -> 770 bytes graphics/pokemon/calyrex/ice_rider/back.png | Bin 921 -> 935 bytes graphics/pokemon/calyrex/ice_rider/front.png | Bin 1161 -> 1173 bytes graphics/pokemon/calyrex/ice_rider/icon.png | Bin 616 -> 600 bytes graphics/pokemon/calyrex/icon.png | Bin 351 -> 338 bytes .../pokemon/calyrex/shadow_rider/back.png | Bin 949 -> 962 bytes .../pokemon/calyrex/shadow_rider/front.png | Bin 1127 -> 1135 bytes .../pokemon/calyrex/shadow_rider/icon.png | Bin 554 -> 534 bytes graphics/pokemon/camerupt/icon.png | Bin 423 -> 385 bytes graphics/pokemon/camerupt/mega/back.png | Bin 856 -> 867 bytes graphics/pokemon/camerupt/mega/front.png | Bin 1033 -> 1046 bytes graphics/pokemon/camerupt/mega/icon.png | Bin 543 -> 505 bytes graphics/pokemon/carbink/anim_front.png | Bin 748 -> 743 bytes graphics/pokemon/carbink/back.png | Bin 660 -> 668 bytes graphics/pokemon/carbink/icon.png | Bin 297 -> 259 bytes graphics/pokemon/carkol/back.png | Bin 659 -> 668 bytes graphics/pokemon/carkol/icon.png | Bin 501 -> 485 bytes graphics/pokemon/carnivine/anim_front.png | Bin 1317 -> 1309 bytes graphics/pokemon/carnivine/back.png | Bin 781 -> 791 bytes graphics/pokemon/carnivine/icon.png | Bin 424 -> 384 bytes graphics/pokemon/carracosta/anim_front.png | Bin 1669 -> 1643 bytes graphics/pokemon/carracosta/back.png | Bin 615 -> 628 bytes graphics/pokemon/carracosta/icon.png | Bin 438 -> 403 bytes graphics/pokemon/carvanha/anim_front.png | Bin 1133 -> 1115 bytes graphics/pokemon/carvanha/icon.png | Bin 416 -> 379 bytes graphics/pokemon/cascoon/anim_front.png | Bin 771 -> 760 bytes graphics/pokemon/cascoon/back.png | Bin 502 -> 513 bytes graphics/pokemon/cascoon/icon.png | Bin 343 -> 304 bytes graphics/pokemon/caterpie/icon.png | Bin 309 -> 278 bytes graphics/pokemon/celebi/anim_front.png | Bin 829 -> 804 bytes graphics/pokemon/celebi/icon.png | Bin 327 -> 299 bytes graphics/pokemon/celesteela/back.png | Bin 793 -> 806 bytes graphics/pokemon/celesteela/front.png | Bin 1190 -> 1202 bytes graphics/pokemon/celesteela/icon.png | Bin 588 -> 552 bytes graphics/pokemon/centiskorch/back.png | Bin 720 -> 734 bytes graphics/pokemon/centiskorch/icon.png | Bin 509 -> 499 bytes graphics/pokemon/chandelure/anim_front.png | Bin 958 -> 933 bytes graphics/pokemon/chandelure/back.png | Bin 559 -> 571 bytes graphics/pokemon/chandelure/icon.png | Bin 413 -> 374 bytes graphics/pokemon/chansey/back.png | Bin 578 -> 591 bytes graphics/pokemon/chansey/icon.png | Bin 373 -> 335 bytes graphics/pokemon/charizard/icon.png | Bin 521 -> 485 bytes graphics/pokemon/charizard/mega_x/back.png | Bin 924 -> 936 bytes graphics/pokemon/charizard/mega_x/front.png | Bin 1142 -> 1151 bytes graphics/pokemon/charizard/mega_x/icon.png | Bin 527 -> 487 bytes graphics/pokemon/charizard/mega_y/back.png | Bin 841 -> 853 bytes graphics/pokemon/charizard/mega_y/front.png | Bin 1129 -> 1143 bytes graphics/pokemon/charizard/mega_y/icon.png | Bin 566 -> 528 bytes graphics/pokemon/charjabug/back.png | Bin 492 -> 503 bytes graphics/pokemon/charjabug/icon.png | Bin 407 -> 367 bytes graphics/pokemon/charmander/icon.png | Bin 331 -> 296 bytes graphics/pokemon/charmeleon/icon.png | Bin 435 -> 398 bytes graphics/pokemon/chatot/anim_front.png | Bin 899 -> 896 bytes graphics/pokemon/chatot/back.png | Bin 623 -> 632 bytes .../pokemon/cherrim/normal/anim_front.png | Bin 843 -> 852 bytes graphics/pokemon/cherrim/normal/back.png | Bin 589 -> 600 bytes graphics/pokemon/cherrim/sunshine/back.png | Bin 644 -> 656 bytes graphics/pokemon/cherubi/back.png | Bin 527 -> 533 bytes graphics/pokemon/cherubi/icon.png | Bin 342 -> 305 bytes graphics/pokemon/chesnaught/anim_front.png | Bin 1570 -> 1540 bytes graphics/pokemon/chesnaught/back.png | Bin 582 -> 597 bytes graphics/pokemon/chesnaught/icon.png | Bin 602 -> 564 bytes graphics/pokemon/chespin/back.png | Bin 579 -> 543 bytes graphics/pokemon/chespin/icon.png | Bin 436 -> 401 bytes graphics/pokemon/chewtle/back.png | Bin 515 -> 527 bytes graphics/pokemon/chewtle/icon.png | Bin 343 -> 324 bytes graphics/pokemon/chikorita/back.png | Bin 666 -> 677 bytes graphics/pokemon/chimchar/anim_front.png | Bin 1077 -> 1070 bytes graphics/pokemon/chimchar/back.png | Bin 709 -> 723 bytes graphics/pokemon/chimchar/icon.png | Bin 395 -> 357 bytes graphics/pokemon/chimecho/anim_front.png | Bin 642 -> 620 bytes graphics/pokemon/chimecho/back.png | Bin 578 -> 585 bytes graphics/pokemon/chinchou/back.png | Bin 729 -> 739 bytes graphics/pokemon/chinchou/icon.png | Bin 399 -> 364 bytes graphics/pokemon/chingling/back.png | Bin 575 -> 585 bytes graphics/pokemon/chingling/icon.png | Bin 397 -> 358 bytes graphics/pokemon/cinccino/anim_front.png | Bin 1284 -> 1260 bytes graphics/pokemon/cinccino/icon.png | Bin 447 -> 415 bytes graphics/pokemon/cinderace/icon.png | Bin 487 -> 470 bytes graphics/pokemon/clamperl/anim_front.png | Bin 859 -> 824 bytes graphics/pokemon/clamperl/back.png | Bin 500 -> 512 bytes graphics/pokemon/clamperl/icon.png | Bin 391 -> 352 bytes graphics/pokemon/clauncher/anim_front.png | Bin 923 -> 913 bytes graphics/pokemon/clauncher/back.png | Bin 606 -> 618 bytes graphics/pokemon/clauncher/icon.png | Bin 371 -> 334 bytes graphics/pokemon/clawitzer/anim_front.png | Bin 1544 -> 1533 bytes graphics/pokemon/clawitzer/back.png | Bin 772 -> 782 bytes graphics/pokemon/clawitzer/icon.png | Bin 411 -> 377 bytes graphics/pokemon/claydol/anim_front.png | Bin 1193 -> 1161 bytes graphics/pokemon/claydol/back.png | Bin 860 -> 873 bytes graphics/pokemon/claydol/icon.png | Bin 403 -> 363 bytes graphics/pokemon/clefable/icon.png | Bin 383 -> 347 bytes graphics/pokemon/clefairy/icon.png | Bin 342 -> 301 bytes graphics/pokemon/cleffa/back.png | Bin 440 -> 451 bytes graphics/pokemon/cleffa/icon.png | Bin 304 -> 268 bytes graphics/pokemon/clobbopus/back.png | Bin 464 -> 476 bytes graphics/pokemon/clobbopus/front.png | Bin 537 -> 546 bytes graphics/pokemon/clobbopus/icon.png | Bin 367 -> 353 bytes graphics/pokemon/cloyster/anim_front.png | Bin 1481 -> 1429 bytes graphics/pokemon/cloyster/back.png | Bin 735 -> 752 bytes graphics/pokemon/coalossal/back.png | Bin 816 -> 827 bytes graphics/pokemon/coalossal/icon.png | Bin 445 -> 432 bytes graphics/pokemon/cobalion/anim_front.png | Bin 1556 -> 1531 bytes graphics/pokemon/cobalion/back.png | Bin 654 -> 669 bytes graphics/pokemon/cofagrigus/anim_front.png | Bin 1409 -> 1359 bytes graphics/pokemon/cofagrigus/back.png | Bin 692 -> 704 bytes graphics/pokemon/combee/anim_front.png | Bin 705 -> 661 bytes graphics/pokemon/combee/back.png | Bin 574 -> 554 bytes graphics/pokemon/combee/icon.png | Bin 364 -> 340 bytes graphics/pokemon/combusken/anim_front.png | Bin 1144 -> 1109 bytes graphics/pokemon/combusken/back.png | Bin 630 -> 640 bytes graphics/pokemon/comfey/back.png | Bin 797 -> 806 bytes graphics/pokemon/comfey/front.png | Bin 784 -> 790 bytes graphics/pokemon/comfey/icon.png | Bin 658 -> 621 bytes graphics/pokemon/conkeldurr/anim_front.png | Bin 1272 -> 1257 bytes graphics/pokemon/conkeldurr/back.png | Bin 730 -> 741 bytes graphics/pokemon/conkeldurr/icon.png | Bin 519 -> 483 bytes graphics/pokemon/copperajah/back.png | Bin 623 -> 635 bytes graphics/pokemon/copperajah/front.png | Bin 989 -> 999 bytes graphics/pokemon/copperajah/icon.png | Bin 447 -> 430 bytes graphics/pokemon/corphish/anim_front.png | Bin 1261 -> 1230 bytes graphics/pokemon/corphish/back.png | Bin 618 -> 634 bytes graphics/pokemon/corphish/icon.png | Bin 361 -> 322 bytes graphics/pokemon/corsola/anim_front.png | Bin 998 -> 970 bytes graphics/pokemon/corsola/back.png | Bin 524 -> 539 bytes graphics/pokemon/corsola/galarian/back.png | Bin 569 -> 584 bytes graphics/pokemon/corsola/galarian/icon.png | Bin 359 -> 343 bytes graphics/pokemon/corviknight/back.png | Bin 776 -> 791 bytes graphics/pokemon/corviknight/icon.png | Bin 439 -> 427 bytes graphics/pokemon/corvisquire/back.png | Bin 733 -> 745 bytes graphics/pokemon/corvisquire/icon.png | Bin 436 -> 425 bytes graphics/pokemon/cosmoem/back.png | Bin 674 -> 685 bytes graphics/pokemon/cosmoem/front.png | Bin 760 -> 772 bytes graphics/pokemon/cosmoem/icon.png | Bin 347 -> 308 bytes graphics/pokemon/cosmog/back.png | Bin 657 -> 668 bytes graphics/pokemon/cosmog/front.png | Bin 608 -> 616 bytes graphics/pokemon/cosmog/icon.png | Bin 378 -> 340 bytes graphics/pokemon/cottonee/back.png | Bin 555 -> 564 bytes graphics/pokemon/cottonee/icon.png | Bin 340 -> 306 bytes graphics/pokemon/crabominable/back.png | Bin 850 -> 864 bytes graphics/pokemon/crabominable/front.png | Bin 1216 -> 1225 bytes graphics/pokemon/crabominable/icon.png | Bin 499 -> 458 bytes graphics/pokemon/crabrawler/back.png | Bin 618 -> 631 bytes graphics/pokemon/crabrawler/front.png | Bin 757 -> 768 bytes graphics/pokemon/crabrawler/icon.png | Bin 380 -> 341 bytes graphics/pokemon/cradily/anim_front.png | Bin 1288 -> 1258 bytes graphics/pokemon/cradily/back.png | Bin 951 -> 965 bytes graphics/pokemon/cradily/icon.png | Bin 503 -> 468 bytes graphics/pokemon/cramorant/back.png | Bin 550 -> 563 bytes graphics/pokemon/cramorant/front.png | Bin 763 -> 774 bytes graphics/pokemon/cramorant/gorging/back.png | Bin 772 -> 778 bytes graphics/pokemon/cramorant/gorging/front.png | Bin 883 -> 891 bytes graphics/pokemon/cramorant/gorging/icon.png | Bin 566 -> 552 bytes graphics/pokemon/cramorant/gulping/back.png | Bin 673 -> 679 bytes graphics/pokemon/cramorant/gulping/front.png | Bin 819 -> 831 bytes graphics/pokemon/cramorant/gulping/icon.png | Bin 570 -> 552 bytes graphics/pokemon/cramorant/icon.png | Bin 520 -> 502 bytes graphics/pokemon/cranidos/anim_front.png | Bin 1069 -> 1052 bytes graphics/pokemon/cranidos/icon.png | Bin 352 -> 313 bytes graphics/pokemon/crawdaunt/anim_front.png | Bin 1344 -> 1319 bytes graphics/pokemon/crawdaunt/back.png | Bin 772 -> 783 bytes graphics/pokemon/crawdaunt/icon.png | Bin 447 -> 407 bytes graphics/pokemon/cresselia/anim_front.png | Bin 1440 -> 1408 bytes graphics/pokemon/cresselia/back.png | Bin 519 -> 534 bytes graphics/pokemon/croagunk/anim_front.png | Bin 830 -> 805 bytes graphics/pokemon/croagunk/back.png | Bin 534 -> 546 bytes graphics/pokemon/croagunk/icon.png | Bin 318 -> 283 bytes graphics/pokemon/crobat/back.png | Bin 486 -> 505 bytes graphics/pokemon/croconaw/back.png | Bin 684 -> 702 bytes graphics/pokemon/croconaw/icon.png | Bin 404 -> 364 bytes graphics/pokemon/crustle/anim_front.png | Bin 1185 -> 1156 bytes graphics/pokemon/crustle/back.png | Bin 534 -> 549 bytes graphics/pokemon/cryogonal/anim_front.png | Bin 1341 -> 1308 bytes graphics/pokemon/cryogonal/back.png | Bin 732 -> 743 bytes graphics/pokemon/cryogonal/icon.png | Bin 361 -> 321 bytes graphics/pokemon/cubchoo/anim_front.png | Bin 699 -> 685 bytes graphics/pokemon/cubchoo/back.png | Bin 522 -> 534 bytes graphics/pokemon/cubchoo/icon.png | Bin 323 -> 282 bytes graphics/pokemon/cubone/back.png | Bin 682 -> 693 bytes graphics/pokemon/cubone/icon.png | Bin 367 -> 327 bytes graphics/pokemon/cufant/back.png | Bin 577 -> 589 bytes graphics/pokemon/cufant/front.png | Bin 667 -> 678 bytes graphics/pokemon/cufant/icon.png | Bin 419 -> 401 bytes graphics/pokemon/cursola/back.png | Bin 718 -> 727 bytes graphics/pokemon/cursola/icon.png | Bin 535 -> 519 bytes graphics/pokemon/cutiefly/back.png | Bin 542 -> 552 bytes graphics/pokemon/cutiefly/front.png | Bin 461 -> 467 bytes graphics/pokemon/cutiefly/icon.png | Bin 350 -> 312 bytes graphics/pokemon/cyndaquil/back.png | Bin 818 -> 829 bytes graphics/pokemon/cyndaquil/icon.png | Bin 393 -> 363 bytes graphics/pokemon/darkrai/anim_front.png | Bin 1380 -> 1372 bytes graphics/pokemon/darkrai/back.png | Bin 733 -> 746 bytes graphics/pokemon/darmanitan/anim_front.png | Bin 1295 -> 1266 bytes graphics/pokemon/darmanitan/back.png | Bin 618 -> 625 bytes graphics/pokemon/darmanitan/galarian/back.png | Bin 509 -> 522 bytes .../pokemon/darmanitan/galarian/front.png | Bin 850 -> 867 bytes graphics/pokemon/darmanitan/galarian/icon.png | Bin 379 -> 361 bytes graphics/pokemon/darmanitan/icon.png | Bin 407 -> 369 bytes .../darmanitan/zen_mode/galarian/back.png | Bin 624 -> 634 bytes .../darmanitan/zen_mode/galarian/front.png | Bin 826 -> 834 bytes .../darmanitan/zen_mode/galarian/icon.png | Bin 408 -> 388 bytes graphics/pokemon/darmanitan/zen_mode/icon.png | Bin 351 -> 323 bytes graphics/pokemon/dartrix/back.png | Bin 684 -> 694 bytes graphics/pokemon/dartrix/front.png | Bin 686 -> 692 bytes graphics/pokemon/dartrix/icon.png | Bin 382 -> 344 bytes graphics/pokemon/darumaka/anim_front.png | Bin 813 -> 780 bytes graphics/pokemon/darumaka/back.png | Bin 561 -> 568 bytes graphics/pokemon/darumaka/galarian/back.png | Bin 548 -> 558 bytes graphics/pokemon/darumaka/galarian/front.png | Bin 564 -> 571 bytes graphics/pokemon/darumaka/galarian/icon.png | Bin 371 -> 353 bytes graphics/pokemon/darumaka/icon.png | Bin 350 -> 312 bytes graphics/pokemon/decidueye/back.png | Bin 730 -> 742 bytes graphics/pokemon/decidueye/front.png | Bin 915 -> 925 bytes graphics/pokemon/decidueye/hisuian/back.png | Bin 887 -> 850 bytes graphics/pokemon/decidueye/hisuian/front.png | Bin 1002 -> 966 bytes graphics/pokemon/decidueye/hisuian/icon.png | Bin 425 -> 410 bytes graphics/pokemon/decidueye/icon.png | Bin 414 -> 377 bytes graphics/pokemon/dedenne/anim_front.png | Bin 923 -> 911 bytes graphics/pokemon/dedenne/back.png | Bin 516 -> 528 bytes graphics/pokemon/dedenne/icon.png | Bin 392 -> 356 bytes graphics/pokemon/deerling/anim_front.png | Bin 727 -> 702 bytes graphics/pokemon/deerling/back.png | Bin 654 -> 671 bytes graphics/pokemon/deerling/icon.png | Bin 446 -> 407 bytes graphics/pokemon/deino/anim_front.png | Bin 723 -> 715 bytes graphics/pokemon/deino/back.png | Bin 476 -> 487 bytes graphics/pokemon/delcatty/anim_front.png | Bin 1082 -> 1051 bytes graphics/pokemon/delcatty/back.png | Bin 747 -> 756 bytes graphics/pokemon/delibird/anim_front.png | Bin 1279 -> 1250 bytes graphics/pokemon/delibird/back.png | Bin 682 -> 699 bytes graphics/pokemon/delibird/icon.png | Bin 375 -> 340 bytes graphics/pokemon/delphox/anim_front.png | Bin 1656 -> 1648 bytes graphics/pokemon/delphox/back.png | Bin 819 -> 830 bytes graphics/pokemon/delphox/icon.png | Bin 424 -> 390 bytes graphics/pokemon/deoxys/anim_front.png | Bin 1488 -> 1484 bytes graphics/pokemon/deoxys/attack/anim_front.png | Bin 1705 -> 1705 bytes graphics/pokemon/deoxys/attack/back.png | Bin 760 -> 774 bytes graphics/pokemon/deoxys/attack/icon.png | Bin 493 -> 456 bytes graphics/pokemon/deoxys/back.png | Bin 711 -> 729 bytes .../pokemon/deoxys/defense/anim_front.png | Bin 1288 -> 1280 bytes graphics/pokemon/deoxys/defense/back.png | Bin 667 -> 678 bytes graphics/pokemon/deoxys/defense/icon.png | Bin 460 -> 414 bytes graphics/pokemon/deoxys/icon.png | Bin 403 -> 362 bytes graphics/pokemon/deoxys/icon_speed_wide.png | Bin 438 -> 401 bytes graphics/pokemon/deoxys/speed/anim_front.png | Bin 1591 -> 1599 bytes graphics/pokemon/deoxys/speed/back.png | Bin 734 -> 746 bytes graphics/pokemon/deoxys/speed/icon.png | Bin 416 -> 376 bytes graphics/pokemon/dewgong/icon.png | Bin 460 -> 421 bytes graphics/pokemon/dewott/back.png | Bin 620 -> 629 bytes graphics/pokemon/dewott/icon.png | Bin 456 -> 416 bytes graphics/pokemon/dewpider/back.png | Bin 607 -> 613 bytes graphics/pokemon/dewpider/icon.png | Bin 323 -> 284 bytes graphics/pokemon/dhelmise/back.png | Bin 909 -> 923 bytes graphics/pokemon/dhelmise/front.png | Bin 894 -> 903 bytes graphics/pokemon/dhelmise/icon.png | Bin 424 -> 394 bytes graphics/pokemon/dialga/anim_front.png | Bin 2074 -> 2045 bytes graphics/pokemon/dialga/back.png | Bin 744 -> 761 bytes graphics/pokemon/dialga/origin/back.png | Bin 657 -> 623 bytes graphics/pokemon/dialga/origin/front.png | Bin 1109 -> 1072 bytes graphics/pokemon/dialga/origin/icon.png | Bin 492 -> 475 bytes graphics/pokemon/diancie/anim_front.png | Bin 1152 -> 1139 bytes graphics/pokemon/diancie/back.png | Bin 814 -> 803 bytes graphics/pokemon/diancie/icon.png | Bin 392 -> 355 bytes graphics/pokemon/diancie/mega/back.png | Bin 921 -> 934 bytes graphics/pokemon/diancie/mega/front.png | Bin 1164 -> 1171 bytes graphics/pokemon/diancie/mega/icon.png | Bin 495 -> 456 bytes graphics/pokemon/diggersby/anim_front.png | Bin 1449 -> 1436 bytes graphics/pokemon/diggersby/back.png | Bin 820 -> 830 bytes graphics/pokemon/diggersby/icon.png | Bin 404 -> 365 bytes graphics/pokemon/diglett/alolan/back.png | Bin 388 -> 398 bytes graphics/pokemon/diglett/alolan/front.png | Bin 442 -> 451 bytes graphics/pokemon/diglett/alolan/icon.png | Bin 293 -> 358 bytes graphics/pokemon/diglett/icon.png | Bin 273 -> 235 bytes graphics/pokemon/ditto/anim_front.png | Bin 584 -> 557 bytes graphics/pokemon/ditto/icon.png | Bin 301 -> 266 bytes graphics/pokemon/doduo/anim_front.png | Bin 944 -> 912 bytes graphics/pokemon/doduo/icon.png | Bin 367 -> 330 bytes graphics/pokemon/donphan/anim_front.png | Bin 1561 -> 1556 bytes graphics/pokemon/donphan/back.png | Bin 623 -> 637 bytes graphics/pokemon/dottler/back.png | Bin 496 -> 505 bytes graphics/pokemon/dottler/front.png | Bin 596 -> 602 bytes graphics/pokemon/dottler/icon.png | Bin 439 -> 422 bytes graphics/pokemon/doublade/anim_front.png | Bin 1513 -> 1499 bytes graphics/pokemon/doublade/back.png | Bin 722 -> 732 bytes graphics/pokemon/doublade/icon.png | Bin 534 -> 494 bytes graphics/pokemon/dracovish/back.png | Bin 716 -> 730 bytes graphics/pokemon/dracovish/front.png | Bin 842 -> 848 bytes graphics/pokemon/dracovish/icon.png | Bin 527 -> 487 bytes graphics/pokemon/dracozolt/back.png | Bin 669 -> 683 bytes graphics/pokemon/dracozolt/front.png | Bin 984 -> 995 bytes graphics/pokemon/dracozolt/icon.png | Bin 518 -> 486 bytes graphics/pokemon/dragalge/anim_front.png | Bin 1526 -> 1516 bytes graphics/pokemon/dragalge/back.png | Bin 864 -> 878 bytes graphics/pokemon/dragalge/icon.png | Bin 435 -> 395 bytes graphics/pokemon/dragapult/back.png | Bin 771 -> 776 bytes graphics/pokemon/dragapult/front.png | Bin 1061 -> 1065 bytes graphics/pokemon/dragapult/icon.png | Bin 613 -> 595 bytes graphics/pokemon/dragonair/anim_front.png | Bin 1180 -> 1182 bytes graphics/pokemon/dragonair/back.png | Bin 557 -> 568 bytes graphics/pokemon/dragonair/icon.png | Bin 432 -> 392 bytes graphics/pokemon/dragonite/back.png | Bin 744 -> 750 bytes graphics/pokemon/drakloak/back.png | Bin 659 -> 668 bytes graphics/pokemon/drakloak/front.png | Bin 776 -> 781 bytes graphics/pokemon/drakloak/icon.png | Bin 494 -> 476 bytes graphics/pokemon/drampa/back.png | Bin 679 -> 691 bytes graphics/pokemon/drampa/front.png | Bin 1056 -> 1067 bytes graphics/pokemon/drampa/icon.png | Bin 466 -> 426 bytes graphics/pokemon/drapion/back.png | Bin 852 -> 862 bytes graphics/pokemon/drapion/icon.png | Bin 482 -> 446 bytes graphics/pokemon/dratini/anim_front.png | Bin 834 -> 813 bytes graphics/pokemon/dratini/back.png | Bin 500 -> 509 bytes graphics/pokemon/dratini/icon.png | Bin 394 -> 355 bytes graphics/pokemon/drednaw/back.png | Bin 698 -> 710 bytes graphics/pokemon/drednaw/icon.png | Bin 441 -> 423 bytes graphics/pokemon/dreepy/back.png | Bin 590 -> 603 bytes graphics/pokemon/dreepy/front.png | Bin 550 -> 559 bytes graphics/pokemon/dreepy/icon.png | Bin 440 -> 422 bytes graphics/pokemon/drifblim/anim_front.png | Bin 1307 -> 1272 bytes graphics/pokemon/drifblim/back.png | Bin 649 -> 661 bytes graphics/pokemon/drifloon/anim_front.png | Bin 775 -> 750 bytes graphics/pokemon/drifloon/back.png | Bin 535 -> 545 bytes graphics/pokemon/drifloon/icon.png | Bin 326 -> 288 bytes graphics/pokemon/drilbur/anim_front.png | Bin 1124 -> 1087 bytes graphics/pokemon/drilbur/back.png | Bin 683 -> 696 bytes graphics/pokemon/drilbur/icon.png | Bin 382 -> 345 bytes graphics/pokemon/drizzile/back.png | Bin 588 -> 598 bytes graphics/pokemon/drizzile/front.png | Bin 634 -> 648 bytes graphics/pokemon/drizzile/icon.png | Bin 468 -> 455 bytes graphics/pokemon/drowzee/anim_front.png | Bin 1056 -> 1028 bytes graphics/pokemon/drowzee/back.png | Bin 580 -> 593 bytes graphics/pokemon/drowzee/icon.png | Bin 395 -> 358 bytes graphics/pokemon/druddigon/anim_front.png | Bin 1736 -> 1714 bytes graphics/pokemon/druddigon/back.png | Bin 749 -> 762 bytes graphics/pokemon/druddigon/icon.png | Bin 503 -> 475 bytes graphics/pokemon/dubwool/back.png | Bin 715 -> 725 bytes graphics/pokemon/dubwool/front.png | Bin 843 -> 852 bytes graphics/pokemon/dubwool/icon.png | Bin 375 -> 358 bytes graphics/pokemon/ducklett/anim_front.png | Bin 656 -> 665 bytes graphics/pokemon/ducklett/back.png | Bin 530 -> 546 bytes graphics/pokemon/ducklett/icon.png | Bin 375 -> 336 bytes graphics/pokemon/dugtrio/alolan/back.png | Bin 509 -> 519 bytes graphics/pokemon/dugtrio/alolan/front.png | Bin 769 -> 776 bytes graphics/pokemon/dugtrio/alolan/icon.png | Bin 413 -> 476 bytes graphics/pokemon/dugtrio/icon.png | Bin 380 -> 342 bytes graphics/pokemon/dunsparce/anim_front.png | Bin 1021 -> 988 bytes graphics/pokemon/dunsparce/icon.png | Bin 355 -> 319 bytes graphics/pokemon/duosion/back.png | Bin 502 -> 513 bytes graphics/pokemon/duraludon/back.png | Bin 652 -> 663 bytes graphics/pokemon/duraludon/front.png | Bin 899 -> 910 bytes graphics/pokemon/duraludon/icon.png | Bin 430 -> 413 bytes graphics/pokemon/durant/anim_front.png | Bin 850 -> 816 bytes graphics/pokemon/durant/back.png | Bin 611 -> 619 bytes graphics/pokemon/durant/icon.png | Bin 409 -> 368 bytes graphics/pokemon/dusclops/anim_front.png | Bin 1287 -> 1258 bytes graphics/pokemon/dusclops/back.png | Bin 673 -> 687 bytes graphics/pokemon/dusclops/icon.png | Bin 384 -> 349 bytes graphics/pokemon/dusknoir/anim_front.png | Bin 1557 -> 1546 bytes graphics/pokemon/dusknoir/back.png | Bin 718 -> 730 bytes graphics/pokemon/dusknoir/icon.png | Bin 439 -> 404 bytes graphics/pokemon/duskull/icon.png | Bin 323 -> 287 bytes graphics/pokemon/dustox/anim_front.png | Bin 1171 -> 1158 bytes graphics/pokemon/dustox/back.png | Bin 862 -> 825 bytes graphics/pokemon/dustox/icon.png | Bin 452 -> 416 bytes graphics/pokemon/dwebble/anim_front.png | Bin 883 -> 848 bytes graphics/pokemon/dwebble/back.png | Bin 516 -> 526 bytes graphics/pokemon/eelektrik/anim_front.png | Bin 1150 -> 1139 bytes graphics/pokemon/eelektrik/back.png | Bin 622 -> 633 bytes graphics/pokemon/eelektrik/icon.png | Bin 441 -> 402 bytes graphics/pokemon/eelektross/anim_front.png | Bin 1551 -> 1526 bytes graphics/pokemon/eelektross/back.png | Bin 793 -> 807 bytes graphics/pokemon/eelektross/icon.png | Bin 567 -> 530 bytes graphics/pokemon/eevee/frontf.png | Bin 576 -> 538 bytes graphics/pokemon/eevee/icon.png | Bin 339 -> 315 bytes graphics/pokemon/egg/anim_front.png | Bin 405 -> 358 bytes graphics/pokemon/egg/hatch.png | Bin 505 -> 469 bytes graphics/pokemon/egg/icon.png | Bin 332 -> 298 bytes graphics/pokemon/egg/shard.png | Bin 229 -> 189 bytes graphics/pokemon/eiscue/back.png | Bin 496 -> 505 bytes graphics/pokemon/eiscue/front.png | Bin 656 -> 668 bytes graphics/pokemon/eiscue/icon.png | Bin 369 -> 352 bytes graphics/pokemon/eiscue/noice_face/back.png | Bin 440 -> 450 bytes graphics/pokemon/eiscue/noice_face/front.png | Bin 567 -> 578 bytes graphics/pokemon/eiscue/noice_face/icon.png | Bin 347 -> 329 bytes graphics/pokemon/ekans/icon.png | Bin 363 -> 323 bytes graphics/pokemon/eldegoss/back.png | Bin 439 -> 449 bytes graphics/pokemon/eldegoss/front.png | Bin 767 -> 776 bytes graphics/pokemon/eldegoss/icon.png | Bin 378 -> 359 bytes graphics/pokemon/electabuzz/anim_front.png | Bin 1469 -> 1446 bytes graphics/pokemon/electabuzz/back.png | Bin 739 -> 751 bytes graphics/pokemon/electabuzz/icon.png | Bin 385 -> 347 bytes graphics/pokemon/electivire/back.png | Bin 677 -> 690 bytes graphics/pokemon/electivire/icon.png | Bin 468 -> 435 bytes graphics/pokemon/electrike/anim_front.png | Bin 783 -> 751 bytes graphics/pokemon/electrike/back.png | Bin 602 -> 612 bytes graphics/pokemon/electrike/icon.png | Bin 361 -> 323 bytes graphics/pokemon/electrode/back.png | Bin 508 -> 523 bytes graphics/pokemon/electrode/hisuian/back.png | Bin 556 -> 516 bytes graphics/pokemon/electrode/hisuian/front.png | Bin 696 -> 653 bytes graphics/pokemon/electrode/hisuian/icon.png | Bin 296 -> 277 bytes graphics/pokemon/electrode/icon.png | Bin 295 -> 257 bytes graphics/pokemon/elekid/anim_front.png | Bin 1049 -> 1022 bytes graphics/pokemon/elekid/icon.png | Bin 377 -> 345 bytes graphics/pokemon/elgyem/back.png | Bin 507 -> 518 bytes graphics/pokemon/elgyem/icon.png | Bin 312 -> 276 bytes graphics/pokemon/emboar/anim_front.png | Bin 1956 -> 1921 bytes graphics/pokemon/emboar/back.png | Bin 999 -> 1013 bytes graphics/pokemon/emolga/anim_front.png | Bin 953 -> 935 bytes graphics/pokemon/emolga/back.png | Bin 456 -> 469 bytes graphics/pokemon/emolga/icon.png | Bin 413 -> 380 bytes graphics/pokemon/empoleon/anim_front.png | Bin 1410 -> 1406 bytes graphics/pokemon/empoleon/back.png | Bin 740 -> 749 bytes graphics/pokemon/enamorus/back.png | Bin 771 -> 841 bytes graphics/pokemon/enamorus/icon.png | Bin 496 -> 480 bytes graphics/pokemon/enamorus/therian/back.png | Bin 747 -> 710 bytes graphics/pokemon/enamorus/therian/front.png | Bin 838 -> 821 bytes graphics/pokemon/enamorus/therian/icon.png | Bin 501 -> 488 bytes graphics/pokemon/entei/anim_front.png | Bin 1715 -> 1686 bytes graphics/pokemon/entei/back.png | Bin 697 -> 707 bytes graphics/pokemon/escavalier/anim_front.png | Bin 1467 -> 1433 bytes graphics/pokemon/escavalier/back.png | Bin 715 -> 726 bytes graphics/pokemon/espeon/anim_front.png | Bin 1062 -> 1037 bytes graphics/pokemon/espurr/anim_front.png | Bin 699 -> 692 bytes graphics/pokemon/espurr/back.png | Bin 614 -> 596 bytes graphics/pokemon/espurr/icon.png | Bin 303 -> 267 bytes graphics/pokemon/eternatus/back.png | Bin 1013 -> 1023 bytes graphics/pokemon/eternatus/eternamax/back.png | Bin 878 -> 838 bytes .../pokemon/eternatus/eternamax/front.png | Bin 1123 -> 1079 bytes graphics/pokemon/eternatus/eternamax/icon.png | Bin 484 -> 444 bytes graphics/pokemon/eternatus/front.png | Bin 1120 -> 1133 bytes graphics/pokemon/eternatus/icon.png | Bin 556 -> 541 bytes graphics/pokemon/excadrill/anim_front.png | Bin 1553 -> 1527 bytes graphics/pokemon/excadrill/back.png | Bin 689 -> 702 bytes graphics/pokemon/excadrill/icon.png | Bin 452 -> 414 bytes graphics/pokemon/exeggcute/back.png | Bin 498 -> 513 bytes graphics/pokemon/exeggcute/icon.png | Bin 451 -> 411 bytes graphics/pokemon/exeggutor/alolan/icon.png | Bin 472 -> 536 bytes graphics/pokemon/exeggutor/back.png | Bin 760 -> 770 bytes graphics/pokemon/exploud/anim_front.png | Bin 1947 -> 1904 bytes graphics/pokemon/exploud/back.png | Bin 808 -> 819 bytes graphics/pokemon/falinks/back.png | Bin 528 -> 541 bytes graphics/pokemon/falinks/front.png | Bin 851 -> 860 bytes graphics/pokemon/falinks/icon.png | Bin 559 -> 539 bytes graphics/pokemon/farfetchd/back.png | Bin 678 -> 688 bytes graphics/pokemon/farfetchd/galarian/back.png | Bin 626 -> 642 bytes graphics/pokemon/farfetchd/galarian/front.png | Bin 781 -> 788 bytes graphics/pokemon/farfetchd/galarian/icon.png | Bin 467 -> 450 bytes graphics/pokemon/farfetchd/icon.png | Bin 420 -> 381 bytes graphics/pokemon/fearow/icon.png | Bin 478 -> 441 bytes graphics/pokemon/feebas/anim_front.png | Bin 958 -> 965 bytes graphics/pokemon/feebas/back.png | Bin 743 -> 750 bytes graphics/pokemon/feebas/icon.png | Bin 355 -> 322 bytes graphics/pokemon/fennekin/anim_front.png | Bin 952 -> 952 bytes graphics/pokemon/fennekin/back.png | Bin 662 -> 670 bytes graphics/pokemon/fennekin/icon.png | Bin 346 -> 310 bytes graphics/pokemon/feraligatr/back.png | Bin 782 -> 798 bytes graphics/pokemon/ferroseed/anim_front.png | Bin 755 -> 728 bytes graphics/pokemon/ferroseed/back.png | Bin 560 -> 572 bytes graphics/pokemon/ferroseed/icon.png | Bin 343 -> 306 bytes graphics/pokemon/ferrothorn/anim_front.png | Bin 1036 -> 1022 bytes graphics/pokemon/ferrothorn/back.png | Bin 710 -> 723 bytes graphics/pokemon/ferrothorn/icon.png | Bin 452 -> 414 bytes graphics/pokemon/finneon/anim_front.png | Bin 710 -> 709 bytes graphics/pokemon/finneon/back.png | Bin 679 -> 689 bytes graphics/pokemon/finneon/icon.png | Bin 372 -> 336 bytes graphics/pokemon/flaaffy/back.png | Bin 616 -> 624 bytes graphics/pokemon/flaaffy/icon.png | Bin 419 -> 385 bytes graphics/pokemon/flabebe/anim_front.png | Bin 1112 -> 1115 bytes graphics/pokemon/flabebe/icon.png | Bin 312 -> 274 bytes graphics/pokemon/flapple/back.png | Bin 623 -> 633 bytes graphics/pokemon/flapple/icon.png | Bin 516 -> 499 bytes graphics/pokemon/flareon/back.png | Bin 783 -> 798 bytes graphics/pokemon/fletchinder/anim_front.png | Bin 1074 -> 1042 bytes graphics/pokemon/fletchinder/back.png | Bin 620 -> 580 bytes graphics/pokemon/fletchinder/icon.png | Bin 397 -> 358 bytes graphics/pokemon/fletchling/anim_front.png | Bin 731 -> 704 bytes graphics/pokemon/fletchling/back.png | Bin 606 -> 613 bytes graphics/pokemon/fletchling/icon.png | Bin 350 -> 313 bytes graphics/pokemon/floatzel/back.png | Bin 711 -> 723 bytes graphics/pokemon/floatzel/icon.png | Bin 401 -> 361 bytes graphics/pokemon/floette/anim_front.png | Bin 1052 -> 1043 bytes graphics/pokemon/floette/back.png | Bin 787 -> 749 bytes graphics/pokemon/floette/icon.png | Bin 371 -> 332 bytes graphics/pokemon/florges/anim_front.png | Bin 1690 -> 1676 bytes graphics/pokemon/florges/icon.png | Bin 591 -> 554 bytes graphics/pokemon/flygon/anim_front.png | Bin 1498 -> 1462 bytes graphics/pokemon/flygon/back.png | Bin 859 -> 868 bytes graphics/pokemon/fomantis/back.png | Bin 589 -> 596 bytes graphics/pokemon/fomantis/front.png | Bin 551 -> 564 bytes graphics/pokemon/fomantis/icon.png | Bin 348 -> 311 bytes graphics/pokemon/foongus/anim_front.png | Bin 566 -> 533 bytes graphics/pokemon/foongus/back.png | Bin 468 -> 475 bytes graphics/pokemon/forretress/anim_front.png | Bin 1043 -> 1030 bytes graphics/pokemon/forretress/back.png | Bin 559 -> 570 bytes graphics/pokemon/forretress/icon.png | Bin 385 -> 354 bytes graphics/pokemon/fraxure/anim_front.png | Bin 1314 -> 1284 bytes graphics/pokemon/fraxure/back.png | Bin 594 -> 605 bytes graphics/pokemon/fraxure/icon.png | Bin 366 -> 329 bytes graphics/pokemon/frillish/anim_front.png | Bin 1128 -> 1100 bytes graphics/pokemon/frillish/anim_frontf.png | Bin 1124 -> 1115 bytes graphics/pokemon/frillish/back.png | Bin 545 -> 530 bytes graphics/pokemon/frillish/backf.png | Bin 505 -> 493 bytes graphics/pokemon/frillish/frontf.png | Bin 669 -> 652 bytes graphics/pokemon/frillish/icon.png | Bin 361 -> 324 bytes graphics/pokemon/frillish/iconf.png | Bin 366 -> 429 bytes graphics/pokemon/froakie/anim_front.png | Bin 870 -> 856 bytes graphics/pokemon/froakie/back.png | Bin 571 -> 583 bytes graphics/pokemon/froakie/icon.png | Bin 405 -> 364 bytes graphics/pokemon/frogadier/anim_front.png | Bin 1095 -> 1094 bytes graphics/pokemon/frogadier/back.png | Bin 661 -> 676 bytes graphics/pokemon/frogadier/icon.png | Bin 460 -> 423 bytes graphics/pokemon/froslass/anim_front.png | Bin 1128 -> 1107 bytes graphics/pokemon/froslass/back.png | Bin 837 -> 847 bytes graphics/pokemon/frosmoth/back.png | Bin 748 -> 760 bytes graphics/pokemon/frosmoth/front.png | Bin 859 -> 870 bytes graphics/pokemon/frosmoth/icon.png | Bin 418 -> 407 bytes graphics/pokemon/furfrou/anim_front.png | Bin 1200 -> 1202 bytes graphics/pokemon/furfrou/back.png | Bin 717 -> 728 bytes .../pokemon/furfrou/dandy_trim/anim_front.png | Bin 1220 -> 1208 bytes graphics/pokemon/furfrou/dandy_trim/back.png | Bin 646 -> 710 bytes .../furfrou/debutante_trim/anim_front.png | Bin 1275 -> 1269 bytes .../pokemon/furfrou/debutante_trim/back.png | Bin 652 -> 710 bytes .../furfrou/diamond_trim/anim_front.png | Bin 1255 -> 1246 bytes .../pokemon/furfrou/diamond_trim/back.png | Bin 591 -> 657 bytes .../pokemon/furfrou/heart_trim/anim_front.png | Bin 1338 -> 1340 bytes graphics/pokemon/furfrou/heart_trim/back.png | Bin 547 -> 610 bytes graphics/pokemon/furfrou/icon.png | Bin 485 -> 447 bytes .../furfrou/kabuki_trim/anim_front.png | Bin 1322 -> 1315 bytes graphics/pokemon/furfrou/kabuki_trim/back.png | Bin 570 -> 635 bytes .../furfrou/la_reine_trim/anim_front.png | Bin 1186 -> 1181 bytes .../pokemon/furfrou/la_reine_trim/back.png | Bin 570 -> 630 bytes .../furfrou/matron_trim/anim_front.png | Bin 1193 -> 1187 bytes graphics/pokemon/furfrou/matron_trim/back.png | Bin 672 -> 732 bytes .../furfrou/pharaoh_trim/anim_front.png | Bin 1248 -> 1249 bytes .../pokemon/furfrou/pharaoh_trim/back.png | Bin 653 -> 724 bytes .../pokemon/furfrou/star_trim/anim_front.png | Bin 1199 -> 1188 bytes graphics/pokemon/furfrou/star_trim/back.png | Bin 611 -> 683 bytes graphics/pokemon/furret/back.png | Bin 621 -> 609 bytes graphics/pokemon/furret/icon.png | Bin 407 -> 370 bytes graphics/pokemon/gabite/anim_front.png | Bin 1510 -> 1488 bytes graphics/pokemon/gabite/back.png | Bin 731 -> 747 bytes graphics/pokemon/gabite/icon.png | Bin 373 -> 333 bytes graphics/pokemon/gallade/anim_front.png | Bin 1208 -> 1189 bytes graphics/pokemon/gallade/back.png | Bin 695 -> 712 bytes graphics/pokemon/gallade/mega/back.png | Bin 774 -> 786 bytes graphics/pokemon/gallade/mega/front.png | Bin 1042 -> 1054 bytes graphics/pokemon/gallade/mega/icon.png | Bin 475 -> 439 bytes graphics/pokemon/galvantula/anim_front.png | Bin 1358 -> 1325 bytes graphics/pokemon/galvantula/icon.png | Bin 513 -> 479 bytes graphics/pokemon/garbodor/anim_front.png | Bin 1846 -> 1816 bytes graphics/pokemon/garbodor/back.png | Bin 720 -> 734 bytes graphics/pokemon/garbodor/icon.png | Bin 560 -> 525 bytes graphics/pokemon/garchomp/anim_front.png | Bin 1640 -> 1610 bytes graphics/pokemon/garchomp/back.png | Bin 653 -> 665 bytes graphics/pokemon/garchomp/icon.png | Bin 479 -> 441 bytes graphics/pokemon/garchomp/mega/back.png | Bin 679 -> 692 bytes graphics/pokemon/garchomp/mega/front.png | Bin 1119 -> 1129 bytes graphics/pokemon/garchomp/mega/icon.png | Bin 505 -> 485 bytes graphics/pokemon/gardevoir/anim_front.png | Bin 1063 -> 1033 bytes graphics/pokemon/gardevoir/back.png | Bin 663 -> 672 bytes graphics/pokemon/gardevoir/icon.png | Bin 487 -> 450 bytes graphics/pokemon/gardevoir/mega/back.png | Bin 690 -> 698 bytes graphics/pokemon/gardevoir/mega/front.png | Bin 772 -> 869 bytes graphics/pokemon/gardevoir/mega/icon.png | Bin 414 -> 375 bytes graphics/pokemon/gastly/back.png | Bin 691 -> 705 bytes graphics/pokemon/gastrodon/anim_front.png | Bin 954 -> 935 bytes graphics/pokemon/gastrodon/back.png | Bin 603 -> 590 bytes .../pokemon/gastrodon/east_sea/anim_front.png | Bin 1045 -> 1018 bytes graphics/pokemon/gastrodon/east_sea/back.png | Bin 630 -> 601 bytes graphics/pokemon/gastrodon/icon.png | Bin 466 -> 430 bytes graphics/pokemon/genesect/anim_front.png | Bin 1400 -> 1374 bytes graphics/pokemon/genesect/back.png | Bin 593 -> 606 bytes graphics/pokemon/gengar/back.png | Bin 718 -> 729 bytes graphics/pokemon/gengar/icon.png | Bin 399 -> 362 bytes graphics/pokemon/gengar/mega/back.png | Bin 825 -> 835 bytes graphics/pokemon/gengar/mega/front.png | Bin 909 -> 918 bytes graphics/pokemon/gengar/mega/icon.png | Bin 459 -> 421 bytes graphics/pokemon/geodude/alolan/back.png | Bin 610 -> 621 bytes graphics/pokemon/geodude/alolan/front.png | Bin 543 -> 551 bytes graphics/pokemon/geodude/alolan/icon.png | Bin 345 -> 410 bytes graphics/pokemon/geodude/icon.png | Bin 343 -> 306 bytes graphics/pokemon/gible/back.png | Bin 629 -> 641 bytes graphics/pokemon/gible/icon.png | Bin 326 -> 287 bytes graphics/pokemon/gigalith/anim_front.png | Bin 1515 -> 1478 bytes graphics/pokemon/gigalith/back.png | Bin 672 -> 685 bytes graphics/pokemon/gigalith/icon.png | Bin 511 -> 471 bytes graphics/pokemon/girafarig/anim_front.png | Bin 1400 -> 1422 bytes graphics/pokemon/girafarig/icon.png | Bin 400 -> 360 bytes graphics/pokemon/giratina/anim_front.png | Bin 2136 -> 2101 bytes graphics/pokemon/giratina/back.png | Bin 871 -> 887 bytes .../pokemon/giratina/origin/anim_front.png | Bin 2337 -> 2306 bytes graphics/pokemon/giratina/origin/back.png | Bin 802 -> 814 bytes graphics/pokemon/giratina/origin/icon.png | Bin 518 -> 582 bytes graphics/pokemon/glaceon/anim_front.png | Bin 997 -> 966 bytes graphics/pokemon/glaceon/icon.png | Bin 462 -> 425 bytes graphics/pokemon/glalie/anim_front.png | Bin 1098 -> 1087 bytes graphics/pokemon/glalie/back.png | Bin 613 -> 624 bytes graphics/pokemon/glalie/icon.png | Bin 325 -> 286 bytes graphics/pokemon/glalie/mega/back.png | Bin 655 -> 665 bytes graphics/pokemon/glalie/mega/front.png | Bin 1086 -> 1096 bytes graphics/pokemon/glalie/mega/icon.png | Bin 424 -> 406 bytes graphics/pokemon/glameow/anim_front.png | Bin 1233 -> 1232 bytes graphics/pokemon/glameow/back.png | Bin 830 -> 844 bytes graphics/pokemon/glameow/icon.png | Bin 432 -> 408 bytes graphics/pokemon/glastrier/back.png | Bin 727 -> 736 bytes graphics/pokemon/glastrier/front.png | Bin 835 -> 845 bytes graphics/pokemon/glastrier/icon.png | Bin 404 -> 366 bytes graphics/pokemon/gligar/back.png | Bin 748 -> 763 bytes graphics/pokemon/gligar/icon.png | Bin 454 -> 423 bytes graphics/pokemon/gliscor/anim_front.png | Bin 1690 -> 1661 bytes graphics/pokemon/gliscor/back.png | Bin 669 -> 680 bytes graphics/pokemon/gloom/icon.png | Bin 355 -> 314 bytes graphics/pokemon/gogoat/anim_front.png | Bin 1771 -> 1752 bytes graphics/pokemon/gogoat/back.png | Bin 817 -> 827 bytes graphics/pokemon/gogoat/icon.png | Bin 499 -> 461 bytes graphics/pokemon/golbat/icon.png | Bin 408 -> 369 bytes graphics/pokemon/goldeen/anim_front.png | Bin 1020 -> 988 bytes graphics/pokemon/goldeen/back.png | Bin 701 -> 711 bytes graphics/pokemon/goldeen/icon.png | Bin 400 -> 363 bytes graphics/pokemon/golduck/icon.png | Bin 412 -> 374 bytes graphics/pokemon/golem/alolan/back.png | Bin 684 -> 696 bytes graphics/pokemon/golem/alolan/front.png | Bin 886 -> 893 bytes graphics/pokemon/golem/alolan/icon.png | Bin 400 -> 465 bytes graphics/pokemon/golem/icon.png | Bin 415 -> 375 bytes graphics/pokemon/golett/anim_front.png | Bin 1170 -> 1142 bytes graphics/pokemon/golisopod/back.png | Bin 712 -> 726 bytes graphics/pokemon/golisopod/icon.png | Bin 455 -> 417 bytes graphics/pokemon/golurk/anim_front.png | Bin 1747 -> 1738 bytes graphics/pokemon/golurk/back.png | Bin 791 -> 803 bytes graphics/pokemon/golurk/icon.png | Bin 543 -> 512 bytes graphics/pokemon/goodra/anim_front.png | Bin 1448 -> 1445 bytes graphics/pokemon/goodra/back.png | Bin 721 -> 730 bytes graphics/pokemon/goodra/hisuian/icon.png | Bin 522 -> 509 bytes graphics/pokemon/goodra/icon.png | Bin 487 -> 451 bytes graphics/pokemon/goomy/anim_front.png | Bin 724 -> 718 bytes graphics/pokemon/goomy/back.png | Bin 573 -> 556 bytes graphics/pokemon/goomy/icon.png | Bin 317 -> 2734 bytes graphics/pokemon/gorebyss/anim_front.png | Bin 1096 -> 1064 bytes graphics/pokemon/gorebyss/back.png | Bin 557 -> 564 bytes graphics/pokemon/gorebyss/icon.png | Bin 388 -> 350 bytes graphics/pokemon/gossifleur/back.png | Bin 542 -> 551 bytes graphics/pokemon/gossifleur/front.png | Bin 696 -> 705 bytes graphics/pokemon/gossifleur/icon.png | Bin 363 -> 354 bytes graphics/pokemon/gothita/anim_front.png | Bin 789 -> 758 bytes graphics/pokemon/gothita/back.png | Bin 588 -> 596 bytes graphics/pokemon/gothitelle/anim_front.png | Bin 1364 -> 1338 bytes graphics/pokemon/gothitelle/back.png | Bin 815 -> 825 bytes graphics/pokemon/gothitelle/icon.png | Bin 391 -> 352 bytes graphics/pokemon/gothorita/anim_front.png | Bin 974 -> 943 bytes graphics/pokemon/gothorita/back.png | Bin 724 -> 736 bytes graphics/pokemon/gourgeist/anim_front.png | Bin 1232 -> 1219 bytes graphics/pokemon/gourgeist/icon.png | Bin 380 -> 342 bytes .../pokemon/gourgeist/large/anim_front.png | Bin 1281 -> 1271 bytes .../pokemon/gourgeist/small/anim_front.png | Bin 1185 -> 1177 bytes .../pokemon/gourgeist/super/anim_front.png | Bin 1572 -> 1570 bytes graphics/pokemon/granbull/anim_front.png | Bin 1318 -> 1286 bytes graphics/pokemon/granbull/back.png | Bin 537 -> 547 bytes graphics/pokemon/granbull/icon.png | Bin 372 -> 331 bytes graphics/pokemon/grapploct/back.png | Bin 539 -> 550 bytes graphics/pokemon/grapploct/front.png | Bin 738 -> 751 bytes graphics/pokemon/grapploct/icon.png | Bin 454 -> 438 bytes graphics/pokemon/graveler/alolan/back.png | Bin 734 -> 751 bytes graphics/pokemon/graveler/alolan/front.png | Bin 877 -> 889 bytes graphics/pokemon/graveler/alolan/icon.png | Bin 455 -> 519 bytes graphics/pokemon/graveler/icon.png | Bin 414 -> 377 bytes graphics/pokemon/greedent/back.png | Bin 696 -> 711 bytes graphics/pokemon/greedent/front.png | Bin 911 -> 921 bytes graphics/pokemon/greedent/icon.png | Bin 386 -> 346 bytes graphics/pokemon/greninja/anim_front.png | Bin 1365 -> 1353 bytes graphics/pokemon/greninja/ash/anim_front.png | Bin 1457 -> 1438 bytes graphics/pokemon/greninja/ash/back.png | Bin 747 -> 706 bytes graphics/pokemon/greninja/back.png | Bin 617 -> 625 bytes graphics/pokemon/greninja/icon.png | Bin 524 -> 482 bytes graphics/pokemon/grimer/alolan/back.png | Bin 633 -> 647 bytes graphics/pokemon/grimer/alolan/front.png | Bin 676 -> 686 bytes graphics/pokemon/grimer/alolan/icon.png | Bin 419 -> 486 bytes graphics/pokemon/grimer/back.png | Bin 603 -> 617 bytes graphics/pokemon/grimer/icon.png | Bin 384 -> 346 bytes graphics/pokemon/grimmsnarl/back.png | Bin 664 -> 677 bytes graphics/pokemon/grimmsnarl/front.png | Bin 1055 -> 1063 bytes graphics/pokemon/grimmsnarl/icon.png | Bin 472 -> 453 bytes graphics/pokemon/grookey/back.png | Bin 576 -> 591 bytes graphics/pokemon/grookey/front.png | Bin 622 -> 632 bytes graphics/pokemon/grookey/icon.png | Bin 436 -> 418 bytes graphics/pokemon/grotle/anim_front.png | Bin 1383 -> 1350 bytes graphics/pokemon/grotle/back.png | Bin 779 -> 790 bytes graphics/pokemon/grotle/icon.png | Bin 414 -> 377 bytes graphics/pokemon/groudon/anim_front.png | Bin 1987 -> 1954 bytes graphics/pokemon/groudon/back.png | Bin 773 -> 790 bytes graphics/pokemon/groudon/primal/back.png | Bin 782 -> 791 bytes graphics/pokemon/groudon/primal/front.png | Bin 1237 -> 1249 bytes graphics/pokemon/groudon/primal/icon.png | Bin 473 -> 436 bytes graphics/pokemon/grovyle/anim_front.png | Bin 1438 -> 1436 bytes graphics/pokemon/grovyle/back.png | Bin 663 -> 673 bytes graphics/pokemon/grovyle/icon.png | Bin 427 -> 390 bytes graphics/pokemon/growlithe/hisuian/icon.png | Bin 347 -> 327 bytes graphics/pokemon/growlithe/icon.png | Bin 388 -> 356 bytes graphics/pokemon/grubbin/back.png | Bin 495 -> 505 bytes graphics/pokemon/grubbin/icon.png | Bin 350 -> 311 bytes graphics/pokemon/grumpig/anim_front.png | Bin 1266 -> 1258 bytes graphics/pokemon/grumpig/back.png | Bin 760 -> 770 bytes graphics/pokemon/grumpig/icon.png | Bin 374 -> 338 bytes graphics/pokemon/gulpin/anim_front.png | Bin 665 -> 627 bytes graphics/pokemon/gulpin/back.png | Bin 490 -> 500 bytes graphics/pokemon/gulpin/icon.png | Bin 317 -> 280 bytes graphics/pokemon/gumshoos/back.png | Bin 569 -> 582 bytes graphics/pokemon/gumshoos/front.png | Bin 635 -> 646 bytes graphics/pokemon/gumshoos/icon.png | Bin 354 -> 321 bytes graphics/pokemon/gurdurr/anim_front.png | Bin 1327 -> 1301 bytes graphics/pokemon/guzzlord/back.png | Bin 834 -> 845 bytes graphics/pokemon/guzzlord/front.png | Bin 1247 -> 1256 bytes graphics/pokemon/guzzlord/icon.png | Bin 524 -> 483 bytes graphics/pokemon/gyarados/back.png | Bin 943 -> 956 bytes graphics/pokemon/gyarados/icon.png | Bin 642 -> 563 bytes graphics/pokemon/gyarados/mega/back.png | Bin 775 -> 788 bytes graphics/pokemon/gyarados/mega/front.png | Bin 1329 -> 1338 bytes graphics/pokemon/gyarados/mega/icon.png | Bin 563 -> 527 bytes graphics/pokemon/hakamo_o/back.png | Bin 625 -> 638 bytes graphics/pokemon/hakamo_o/icon.png | Bin 443 -> 418 bytes graphics/pokemon/happiny/anim_front.png | Bin 750 -> 724 bytes graphics/pokemon/happiny/back.png | Bin 544 -> 554 bytes graphics/pokemon/happiny/icon.png | Bin 295 -> 255 bytes graphics/pokemon/hariyama/back.png | Bin 750 -> 762 bytes graphics/pokemon/hariyama/icon.png | Bin 449 -> 412 bytes graphics/pokemon/hatenna/back.png | Bin 424 -> 436 bytes graphics/pokemon/hatenna/front.png | Bin 469 -> 480 bytes graphics/pokemon/hatenna/icon.png | Bin 326 -> 308 bytes graphics/pokemon/hatterene/back.png | Bin 607 -> 623 bytes graphics/pokemon/hatterene/front.png | Bin 806 -> 818 bytes graphics/pokemon/hatterene/icon.png | Bin 443 -> 427 bytes graphics/pokemon/hattrem/back.png | Bin 542 -> 549 bytes graphics/pokemon/hattrem/front.png | Bin 770 -> 780 bytes graphics/pokemon/hattrem/icon.png | Bin 387 -> 372 bytes graphics/pokemon/haunter/anim_front.png | Bin 1030 -> 999 bytes graphics/pokemon/haunter/back.png | Bin 745 -> 755 bytes graphics/pokemon/hawlucha/anim_front.png | Bin 1299 -> 1292 bytes graphics/pokemon/hawlucha/back.png | Bin 625 -> 637 bytes graphics/pokemon/hawlucha/icon.png | Bin 436 -> 400 bytes graphics/pokemon/haxorus/anim_front.png | Bin 1460 -> 1428 bytes graphics/pokemon/haxorus/back.png | Bin 668 -> 682 bytes graphics/pokemon/haxorus/icon.png | Bin 420 -> 387 bytes graphics/pokemon/heatmor/anim_front.png | Bin 1619 -> 1595 bytes graphics/pokemon/heatmor/back.png | Bin 454 -> 464 bytes graphics/pokemon/heatmor/icon.png | Bin 480 -> 442 bytes graphics/pokemon/heatran/anim_front.png | Bin 1214 -> 1194 bytes graphics/pokemon/heatran/back.png | Bin 641 -> 653 bytes graphics/pokemon/heatran/icon.png | Bin 422 -> 385 bytes graphics/pokemon/heliolisk/anim_front.png | Bin 1112 -> 1107 bytes graphics/pokemon/heliolisk/back.png | Bin 623 -> 586 bytes graphics/pokemon/heliolisk/icon.png | Bin 353 -> 322 bytes graphics/pokemon/helioptile/anim_front.png | Bin 850 -> 831 bytes graphics/pokemon/helioptile/back.png | Bin 540 -> 554 bytes graphics/pokemon/helioptile/icon.png | Bin 339 -> 303 bytes graphics/pokemon/heracross/anim_front.png | Bin 1278 -> 1250 bytes graphics/pokemon/heracross/back.png | Bin 586 -> 597 bytes graphics/pokemon/heracross/icon.png | Bin 373 -> 333 bytes graphics/pokemon/heracross/mega/back.png | Bin 512 -> 528 bytes graphics/pokemon/heracross/mega/front.png | Bin 861 -> 871 bytes graphics/pokemon/heracross/mega/icon.png | Bin 446 -> 410 bytes graphics/pokemon/herdier/anim_front.png | Bin 950 -> 923 bytes graphics/pokemon/herdier/back.png | Bin 597 -> 579 bytes graphics/pokemon/herdier/icon.png | Bin 450 -> 412 bytes graphics/pokemon/hippopotas/anim_front.png | Bin 1103 -> 1064 bytes graphics/pokemon/hippopotas/back.png | Bin 522 -> 483 bytes graphics/pokemon/hippopotas/icon.png | Bin 363 -> 332 bytes graphics/pokemon/hippopotas/iconf.png | Bin 362 -> 330 bytes graphics/pokemon/hippowdon/anim_front.png | Bin 1252 -> 1267 bytes graphics/pokemon/hippowdon/icon.png | Bin 378 -> 338 bytes graphics/pokemon/hippowdon/iconf.png | Bin 355 -> 315 bytes graphics/pokemon/hitmonchan/icon.png | Bin 367 -> 328 bytes graphics/pokemon/hitmonlee/back.png | Bin 709 -> 723 bytes graphics/pokemon/hitmonlee/icon.png | Bin 383 -> 345 bytes graphics/pokemon/hitmontop/anim_front.png | Bin 1242 -> 1213 bytes graphics/pokemon/hitmontop/back.png | Bin 784 -> 795 bytes graphics/pokemon/ho_oh/anim_front.png | Bin 2228 -> 2197 bytes graphics/pokemon/ho_oh/back.png | Bin 788 -> 800 bytes graphics/pokemon/honchkrow/anim_front.png | Bin 1377 -> 1345 bytes graphics/pokemon/honchkrow/back.png | Bin 663 -> 673 bytes graphics/pokemon/honchkrow/icon.png | Bin 474 -> 435 bytes graphics/pokemon/honedge/anim_front.png | Bin 1102 -> 1102 bytes graphics/pokemon/honedge/back.png | Bin 537 -> 548 bytes graphics/pokemon/honedge/icon.png | Bin 387 -> 347 bytes graphics/pokemon/hoopa/anim_front.png | Bin 1319 -> 1304 bytes graphics/pokemon/hoopa/icon.png | Bin 481 -> 444 bytes graphics/pokemon/hoopa/unbound/anim_front.png | Bin 1949 -> 1950 bytes graphics/pokemon/hoopa/unbound/back.png | Bin 813 -> 831 bytes graphics/pokemon/hoopa/unbound/icon.png | Bin 544 -> 521 bytes graphics/pokemon/hoothoot/back.png | Bin 594 -> 581 bytes graphics/pokemon/hoothoot/icon.png | Bin 353 -> 318 bytes graphics/pokemon/hoppip/back.png | Bin 690 -> 698 bytes graphics/pokemon/horsea/back.png | Bin 540 -> 552 bytes graphics/pokemon/horsea/icon.png | Bin 343 -> 307 bytes graphics/pokemon/houndoom/back.png | Bin 635 -> 647 bytes graphics/pokemon/houndoom/icon.png | Bin 422 -> 384 bytes graphics/pokemon/houndoom/mega/back.png | Bin 798 -> 813 bytes graphics/pokemon/houndoom/mega/front.png | Bin 966 -> 976 bytes graphics/pokemon/houndoom/mega/icon.png | Bin 468 -> 430 bytes graphics/pokemon/houndour/anim_front.png | Bin 937 -> 910 bytes graphics/pokemon/houndour/back.png | Bin 472 -> 436 bytes graphics/pokemon/houndour/icon.png | Bin 393 -> 354 bytes graphics/pokemon/huntail/anim_front.png | Bin 1301 -> 1300 bytes graphics/pokemon/huntail/back.png | Bin 684 -> 694 bytes graphics/pokemon/hydreigon/anim_front.png | Bin 1586 -> 1552 bytes graphics/pokemon/hydreigon/back.png | Bin 661 -> 673 bytes graphics/pokemon/hypno/anim_front.png | Bin 1332 -> 1304 bytes graphics/pokemon/hypno/back.png | Bin 777 -> 793 bytes graphics/pokemon/igglybuff/back.png | Bin 383 -> 396 bytes graphics/pokemon/igglybuff/icon.png | Bin 324 -> 284 bytes graphics/pokemon/illumise/anim_front.png | Bin 953 -> 930 bytes graphics/pokemon/illumise/back.png | Bin 702 -> 710 bytes graphics/pokemon/illumise/icon.png | Bin 356 -> 321 bytes graphics/pokemon/impidimp/back.png | Bin 544 -> 553 bytes graphics/pokemon/impidimp/front.png | Bin 618 -> 625 bytes graphics/pokemon/impidimp/icon.png | Bin 351 -> 334 bytes graphics/pokemon/incineroar/back.png | Bin 910 -> 922 bytes graphics/pokemon/incineroar/front.png | Bin 1069 -> 1080 bytes graphics/pokemon/incineroar/icon.png | Bin 430 -> 394 bytes graphics/pokemon/indeedee/back.png | Bin 589 -> 599 bytes graphics/pokemon/indeedee/female/back.png | Bin 543 -> 549 bytes graphics/pokemon/indeedee/female/front.png | Bin 634 -> 640 bytes graphics/pokemon/indeedee/female/icon.png | Bin 383 -> 370 bytes graphics/pokemon/indeedee/front.png | Bin 632 -> 638 bytes graphics/pokemon/indeedee/icon.png | Bin 383 -> 369 bytes graphics/pokemon/infernape/anim_front.png | Bin 1789 -> 1769 bytes graphics/pokemon/infernape/back.png | Bin 1023 -> 1033 bytes graphics/pokemon/inkay/anim_front.png | Bin 785 -> 780 bytes graphics/pokemon/inkay/back.png | Bin 682 -> 693 bytes graphics/pokemon/inkay/icon.png | Bin 361 -> 322 bytes graphics/pokemon/inteleon/back.png | Bin 729 -> 703 bytes graphics/pokemon/inteleon/front.png | Bin 758 -> 718 bytes graphics/pokemon/inteleon/icon.png | Bin 443 -> 428 bytes graphics/pokemon/ivysaur/icon.png | Bin 375 -> 336 bytes graphics/pokemon/jangmo_o/back.png | Bin 601 -> 612 bytes graphics/pokemon/jangmo_o/icon.png | Bin 373 -> 336 bytes graphics/pokemon/jellicent/anim_front.png | Bin 1236 -> 1230 bytes graphics/pokemon/jellicent/anim_frontf.png | Bin 1062 -> 1030 bytes graphics/pokemon/jellicent/back.png | Bin 535 -> 552 bytes graphics/pokemon/jellicent/frontf.png | Bin 816 -> 777 bytes graphics/pokemon/jigglypuff/icon.png | Bin 346 -> 309 bytes graphics/pokemon/jirachi/anim_front.png | Bin 931 -> 12027 bytes graphics/pokemon/jirachi/back.png | Bin 703 -> 717 bytes graphics/pokemon/jirachi/icon.png | Bin 371 -> 333 bytes graphics/pokemon/jolteon/back.png | Bin 749 -> 763 bytes graphics/pokemon/jolteon/icon.png | Bin 413 -> 375 bytes graphics/pokemon/joltik/anim_front.png | Bin 574 -> 534 bytes graphics/pokemon/joltik/back.png | Bin 397 -> 410 bytes graphics/pokemon/joltik/icon.png | Bin 353 -> 316 bytes graphics/pokemon/jumpluff/anim_front.png | Bin 1227 -> 1206 bytes graphics/pokemon/jumpluff/back.png | Bin 605 -> 617 bytes graphics/pokemon/jumpluff/icon.png | Bin 427 -> 391 bytes graphics/pokemon/jynx/back.png | Bin 796 -> 807 bytes graphics/pokemon/jynx/icon.png | Bin 456 -> 417 bytes graphics/pokemon/kabuto/anim_front.png | Bin 705 -> 670 bytes graphics/pokemon/kabuto/back.png | Bin 494 -> 504 bytes graphics/pokemon/kabuto/icon.png | Bin 308 -> 274 bytes graphics/pokemon/kabutops/anim_front.png | Bin 1490 -> 1487 bytes graphics/pokemon/kabutops/back.png | Bin 860 -> 874 bytes graphics/pokemon/kabutops/icon.png | Bin 363 -> 332 bytes graphics/pokemon/kadabra/icon.png | Bin 483 -> 446 bytes graphics/pokemon/kakuna/icon.png | Bin 276 -> 234 bytes graphics/pokemon/kangaskhan/back.png | Bin 741 -> 760 bytes graphics/pokemon/kangaskhan/icon.png | Bin 401 -> 361 bytes graphics/pokemon/kangaskhan/mega/back.png | Bin 834 -> 850 bytes graphics/pokemon/kangaskhan/mega/front.png | Bin 1161 -> 1171 bytes graphics/pokemon/kangaskhan/mega/icon.png | Bin 467 -> 429 bytes graphics/pokemon/karrablast/anim_front.png | Bin 669 -> 641 bytes graphics/pokemon/karrablast/back.png | Bin 390 -> 398 bytes graphics/pokemon/kartana/back.png | Bin 604 -> 613 bytes graphics/pokemon/kartana/front.png | Bin 806 -> 824 bytes graphics/pokemon/kartana/icon.png | Bin 450 -> 412 bytes graphics/pokemon/kecleon/anim_front.png | Bin 1246 -> 1218 bytes graphics/pokemon/kecleon/back.png | Bin 757 -> 765 bytes graphics/pokemon/kecleon/icon.png | Bin 413 -> 375 bytes graphics/pokemon/keldeo/anim_front.png | Bin 1354 -> 1328 bytes graphics/pokemon/keldeo/back.png | Bin 729 -> 734 bytes graphics/pokemon/keldeo/resolute/front.png | Bin 869 -> 836 bytes graphics/pokemon/kingdra/anim_front.png | Bin 1347 -> 1355 bytes graphics/pokemon/kingdra/back.png | Bin 819 -> 831 bytes graphics/pokemon/kingler/back.png | Bin 715 -> 729 bytes graphics/pokemon/kirlia/anim_front.png | Bin 912 -> 884 bytes graphics/pokemon/kirlia/back.png | Bin 685 -> 690 bytes graphics/pokemon/kirlia/icon.png | Bin 395 -> 356 bytes graphics/pokemon/klang/anim_front.png | Bin 1292 -> 1272 bytes graphics/pokemon/klang/back.png | Bin 797 -> 811 bytes graphics/pokemon/klang/icon.png | Bin 417 -> 377 bytes graphics/pokemon/kleavor/back.png | Bin 801 -> 763 bytes graphics/pokemon/kleavor/front.png | Bin 1006 -> 967 bytes graphics/pokemon/kleavor/icon.png | Bin 574 -> 563 bytes graphics/pokemon/klefki/anim_front.png | Bin 1190 -> 1182 bytes graphics/pokemon/klefki/back.png | Bin 543 -> 554 bytes graphics/pokemon/klefki/icon.png | Bin 427 -> 396 bytes graphics/pokemon/klink/anim_front.png | Bin 873 -> 857 bytes graphics/pokemon/klink/back.png | Bin 520 -> 550 bytes graphics/pokemon/klink/icon.png | Bin 340 -> 300 bytes graphics/pokemon/klinklang/anim_front.png | Bin 1704 -> 1668 bytes graphics/pokemon/klinklang/back.png | Bin 862 -> 875 bytes graphics/pokemon/klinklang/icon.png | Bin 552 -> 515 bytes graphics/pokemon/koffing/back.png | Bin 750 -> 765 bytes graphics/pokemon/komala/back.png | Bin 684 -> 695 bytes graphics/pokemon/komala/front.png | Bin 608 -> 616 bytes graphics/pokemon/komala/icon.png | Bin 382 -> 342 bytes graphics/pokemon/kommo_o/back.png | Bin 989 -> 1005 bytes graphics/pokemon/kommo_o/icon.png | Bin 489 -> 449 bytes graphics/pokemon/krabby/back.png | Bin 589 -> 600 bytes graphics/pokemon/kricketot/back.png | Bin 566 -> 576 bytes graphics/pokemon/kricketot/icon.png | Bin 337 -> 299 bytes graphics/pokemon/kricketune/back.png | Bin 762 -> 773 bytes graphics/pokemon/kricketune/icon.png | Bin 382 -> 343 bytes graphics/pokemon/krokorok/back.png | Bin 677 -> 691 bytes graphics/pokemon/krokorok/icon.png | Bin 381 -> 348 bytes graphics/pokemon/krookodile/anim_front.png | Bin 1635 -> 1618 bytes graphics/pokemon/krookodile/back.png | Bin 743 -> 755 bytes graphics/pokemon/krookodile/icon.png | Bin 472 -> 433 bytes graphics/pokemon/kubfu/back.png | Bin 590 -> 601 bytes graphics/pokemon/kubfu/front.png | Bin 689 -> 696 bytes graphics/pokemon/kubfu/icon.png | Bin 347 -> 309 bytes graphics/pokemon/kyogre/anim_front.png | Bin 1684 -> 1656 bytes graphics/pokemon/kyogre/back.png | Bin 463 -> 486 bytes graphics/pokemon/kyogre/icon.png | Bin 446 -> 410 bytes graphics/pokemon/kyogre/primal/back.png | Bin 510 -> 521 bytes graphics/pokemon/kyogre/primal/front.png | Bin 1105 -> 1114 bytes graphics/pokemon/kyogre/primal/icon.png | Bin 509 -> 475 bytes graphics/pokemon/kyurem/anim_front.png | Bin 1544 -> 1515 bytes graphics/pokemon/kyurem/back.png | Bin 709 -> 720 bytes graphics/pokemon/kyurem/black/anim_front.png | Bin 1986 -> 1982 bytes graphics/pokemon/kyurem/black/back.png | Bin 624 -> 588 bytes graphics/pokemon/kyurem/black/icon.png | Bin 549 -> 591 bytes graphics/pokemon/kyurem/white/anim_front.png | Bin 2048 -> 2050 bytes graphics/pokemon/kyurem/white/back.png | Bin 868 -> 828 bytes graphics/pokemon/kyurem/white/icon.png | Bin 566 -> 644 bytes graphics/pokemon/lairon/anim_front.png | Bin 1363 -> 1365 bytes graphics/pokemon/lairon/back.png | Bin 611 -> 626 bytes graphics/pokemon/lampent/anim_front.png | Bin 760 -> 740 bytes graphics/pokemon/lampent/back.png | Bin 442 -> 454 bytes graphics/pokemon/lampent/icon.png | Bin 319 -> 283 bytes graphics/pokemon/landorus/anim_front.png | Bin 1521 -> 1501 bytes graphics/pokemon/landorus/back.png | Bin 965 -> 948 bytes .../pokemon/landorus/therian/anim_front.png | Bin 1798 -> 1773 bytes graphics/pokemon/landorus/therian/back.png | Bin 662 -> 679 bytes graphics/pokemon/landorus/therian/icon.png | Bin 538 -> 613 bytes graphics/pokemon/lanturn/back.png | Bin 628 -> 641 bytes graphics/pokemon/lanturn/icon.png | Bin 485 -> 447 bytes graphics/pokemon/lapras/icon.png | Bin 491 -> 454 bytes graphics/pokemon/larvesta/anim_front.png | Bin 939 -> 905 bytes graphics/pokemon/larvesta/back.png | Bin 619 -> 629 bytes graphics/pokemon/larvitar/anim_front.png | Bin 737 -> 713 bytes graphics/pokemon/larvitar/icon.png | Bin 309 -> 271 bytes graphics/pokemon/latias/anim_front.png | Bin 1112 -> 1106 bytes graphics/pokemon/latias/back.png | Bin 626 -> 645 bytes graphics/pokemon/latias/mega/back.png | Bin 729 -> 740 bytes graphics/pokemon/latias/mega/front.png | Bin 963 -> 975 bytes graphics/pokemon/latias/mega/icon.png | Bin 412 -> 373 bytes graphics/pokemon/latios/anim_front.png | Bin 1444 -> 1433 bytes graphics/pokemon/latios/back.png | Bin 635 -> 650 bytes graphics/pokemon/latios/mega/back.png | Bin 729 -> 740 bytes graphics/pokemon/latios/mega/front.png | Bin 963 -> 975 bytes graphics/pokemon/latios/mega/icon.png | Bin 410 -> 372 bytes graphics/pokemon/leafeon/anim_front.png | Bin 1265 -> 1232 bytes graphics/pokemon/leafeon/back.png | Bin 747 -> 757 bytes graphics/pokemon/leavanny/anim_front.png | Bin 1080 -> 1066 bytes graphics/pokemon/leavanny/back.png | Bin 701 -> 713 bytes graphics/pokemon/leavanny/icon.png | Bin 343 -> 318 bytes graphics/pokemon/ledian/back.png | Bin 791 -> 806 bytes graphics/pokemon/ledian/icon.png | Bin 396 -> 363 bytes graphics/pokemon/ledyba/back.png | Bin 632 -> 644 bytes graphics/pokemon/ledyba/icon.png | Bin 352 -> 313 bytes graphics/pokemon/lickilicky/anim_front.png | Bin 1182 -> 1155 bytes graphics/pokemon/lickilicky/back.png | Bin 618 -> 633 bytes graphics/pokemon/lickilicky/icon.png | Bin 419 -> 381 bytes graphics/pokemon/lickitung/anim_front.png | Bin 1351 -> 1313 bytes graphics/pokemon/lickitung/back.png | Bin 607 -> 624 bytes graphics/pokemon/lickitung/icon.png | Bin 406 -> 371 bytes graphics/pokemon/liepard/anim_front.png | Bin 1259 -> 1230 bytes graphics/pokemon/liepard/back.png | Bin 531 -> 541 bytes graphics/pokemon/liepard/icon.png | Bin 517 -> 479 bytes graphics/pokemon/lileep/anim_front.png | Bin 1041 -> 1018 bytes graphics/pokemon/lileep/back.png | Bin 712 -> 724 bytes graphics/pokemon/lilligant/anim_front.png | Bin 1161 -> 1139 bytes graphics/pokemon/lilligant/back.png | Bin 774 -> 783 bytes graphics/pokemon/lilligant/hisuian/back.png | Bin 840 -> 814 bytes graphics/pokemon/lilligant/hisuian/front.png | Bin 740 -> 705 bytes graphics/pokemon/lilligant/hisuian/icon.png | Bin 428 -> 414 bytes graphics/pokemon/lilligant/icon.png | Bin 418 -> 378 bytes graphics/pokemon/lillipup/anim_front.png | Bin 670 -> 648 bytes graphics/pokemon/lillipup/back.png | Bin 584 -> 592 bytes graphics/pokemon/lillipup/icon.png | Bin 358 -> 322 bytes graphics/pokemon/linoone/anim_front.png | Bin 1016 -> 1001 bytes graphics/pokemon/linoone/back.png | Bin 496 -> 507 bytes graphics/pokemon/linoone/galarian/back.png | Bin 532 -> 543 bytes graphics/pokemon/linoone/galarian/front.png | Bin 646 -> 655 bytes graphics/pokemon/linoone/galarian/icon.png | Bin 387 -> 370 bytes graphics/pokemon/linoone/icon.png | Bin 396 -> 356 bytes graphics/pokemon/litleo/anim_front.png | Bin 940 -> 928 bytes graphics/pokemon/litleo/back.png | Bin 551 -> 560 bytes graphics/pokemon/litleo/icon.png | Bin 378 -> 347 bytes graphics/pokemon/litten/back.png | Bin 611 -> 622 bytes graphics/pokemon/litten/front.png | Bin 653 -> 665 bytes graphics/pokemon/litten/icon.png | Bin 378 -> 340 bytes graphics/pokemon/litwick/anim_front.png | Bin 626 -> 597 bytes graphics/pokemon/litwick/back.png | Bin 469 -> 479 bytes graphics/pokemon/litwick/icon.png | Bin 338 -> 299 bytes graphics/pokemon/lombre/back.png | Bin 617 -> 628 bytes graphics/pokemon/lombre/icon.png | Bin 359 -> 321 bytes graphics/pokemon/lopunny/anim_front.png | Bin 1028 -> 1020 bytes graphics/pokemon/lopunny/back.png | Bin 670 -> 682 bytes graphics/pokemon/lopunny/icon.png | Bin 458 -> 419 bytes graphics/pokemon/lopunny/mega/back.png | Bin 814 -> 830 bytes graphics/pokemon/lopunny/mega/front.png | Bin 903 -> 914 bytes graphics/pokemon/lopunny/mega/icon.png | Bin 469 -> 431 bytes graphics/pokemon/lotad/anim_front.png | Bin 794 -> 760 bytes graphics/pokemon/lotad/back.png | Bin 609 -> 617 bytes graphics/pokemon/lotad/icon.png | Bin 320 -> 289 bytes graphics/pokemon/loudred/anim_front.png | Bin 1635 -> 1609 bytes graphics/pokemon/loudred/back.png | Bin 694 -> 705 bytes graphics/pokemon/loudred/icon.png | Bin 420 -> 382 bytes graphics/pokemon/lucario/anim_front.png | Bin 1224 -> 1200 bytes graphics/pokemon/lucario/icon.png | Bin 360 -> 325 bytes graphics/pokemon/lucario/mega/back.png | Bin 896 -> 909 bytes graphics/pokemon/lucario/mega/front.png | Bin 895 -> 907 bytes graphics/pokemon/lucario/mega/icon.png | Bin 433 -> 400 bytes graphics/pokemon/ludicolo/anim_front.png | Bin 1829 -> 1804 bytes graphics/pokemon/ludicolo/back.png | Bin 819 -> 832 bytes graphics/pokemon/ludicolo/icon.png | Bin 435 -> 395 bytes graphics/pokemon/lugia/anim_front.png | Bin 1656 -> 1636 bytes graphics/pokemon/lugia/back.png | Bin 632 -> 644 bytes graphics/pokemon/lumineon/anim_front.png | Bin 1163 -> 1137 bytes graphics/pokemon/lumineon/back.png | Bin 735 -> 747 bytes graphics/pokemon/lumineon/icon.png | Bin 434 -> 398 bytes graphics/pokemon/lunala/back.png | Bin 738 -> 751 bytes graphics/pokemon/lunala/front.png | Bin 1227 -> 1234 bytes graphics/pokemon/lunala/icon.png | Bin 500 -> 464 bytes graphics/pokemon/lunatone/anim_front.png | Bin 1004 -> 966 bytes graphics/pokemon/lunatone/back.png | Bin 572 -> 587 bytes graphics/pokemon/lunatone/icon.png | Bin 293 -> 253 bytes graphics/pokemon/lurantis/back.png | Bin 886 -> 898 bytes graphics/pokemon/lurantis/front.png | Bin 785 -> 790 bytes graphics/pokemon/lurantis/icon.png | Bin 469 -> 431 bytes graphics/pokemon/luvdisc/anim_front.png | Bin 403 -> 368 bytes graphics/pokemon/luvdisc/back.png | Bin 404 -> 411 bytes graphics/pokemon/luvdisc/icon.png | Bin 275 -> 237 bytes graphics/pokemon/luxio/icon.png | Bin 437 -> 402 bytes graphics/pokemon/lycanroc/back.png | Bin 686 -> 700 bytes graphics/pokemon/lycanroc/dusk/back.png | Bin 713 -> 775 bytes graphics/pokemon/lycanroc/dusk/icon.png | Bin 529 -> 596 bytes graphics/pokemon/lycanroc/front.png | Bin 906 -> 913 bytes graphics/pokemon/lycanroc/icon.png | Bin 525 -> 488 bytes graphics/pokemon/lycanroc/midnight/back.png | Bin 822 -> 885 bytes graphics/pokemon/lycanroc/midnight/icon.png | Bin 417 -> 482 bytes graphics/pokemon/machamp/icon.png | Bin 411 -> 372 bytes graphics/pokemon/machoke/icon.png | Bin 459 -> 421 bytes graphics/pokemon/machop/icon.png | Bin 350 -> 312 bytes graphics/pokemon/magby/anim_front.png | Bin 812 -> 779 bytes graphics/pokemon/magby/back.png | Bin 523 -> 533 bytes graphics/pokemon/magby/icon.png | Bin 395 -> 355 bytes graphics/pokemon/magcargo/anim_front.png | Bin 1666 -> 1646 bytes graphics/pokemon/magcargo/back.png | Bin 832 -> 844 bytes graphics/pokemon/magcargo/icon.png | Bin 488 -> 449 bytes graphics/pokemon/magearna/icon.png | Bin 429 -> 394 bytes graphics/pokemon/magikarp/back.png | Bin 781 -> 794 bytes graphics/pokemon/magikarp/icon.png | Bin 430 -> 404 bytes graphics/pokemon/magmar/back.png | Bin 819 -> 834 bytes graphics/pokemon/magmar/icon.png | Bin 451 -> 413 bytes graphics/pokemon/magmortar/anim_front.png | Bin 2001 -> 1973 bytes graphics/pokemon/magmortar/back.png | Bin 796 -> 806 bytes graphics/pokemon/magmortar/icon.png | Bin 476 -> 441 bytes graphics/pokemon/magnemite/back.png | Bin 503 -> 477 bytes graphics/pokemon/magneton/back.png | Bin 733 -> 747 bytes graphics/pokemon/magnezone/anim_front.png | Bin 1445 -> 1436 bytes graphics/pokemon/magnezone/back.png | Bin 482 -> 493 bytes graphics/pokemon/magnezone/icon.png | Bin 448 -> 415 bytes graphics/pokemon/makuhita/anim_front.png | Bin 898 -> 868 bytes graphics/pokemon/makuhita/back.png | Bin 564 -> 576 bytes graphics/pokemon/makuhita/icon.png | Bin 355 -> 317 bytes graphics/pokemon/malamar/anim_front.png | Bin 1439 -> 1446 bytes graphics/pokemon/malamar/back.png | Bin 863 -> 874 bytes graphics/pokemon/malamar/icon.png | Bin 470 -> 431 bytes graphics/pokemon/mamoswine/anim_front.png | Bin 1819 -> 1806 bytes graphics/pokemon/mamoswine/back.png | Bin 511 -> 523 bytes graphics/pokemon/mamoswine/icon.png | Bin 514 -> 473 bytes graphics/pokemon/manaphy/anim_front.png | Bin 958 -> 933 bytes graphics/pokemon/manaphy/back.png | Bin 657 -> 668 bytes graphics/pokemon/mandibuzz/anim_front.png | Bin 1511 -> 1492 bytes graphics/pokemon/mandibuzz/back.png | Bin 647 -> 655 bytes graphics/pokemon/mandibuzz/icon.png | Bin 431 -> 407 bytes graphics/pokemon/manectric/anim_front.png | Bin 1302 -> 1275 bytes graphics/pokemon/manectric/back.png | Bin 699 -> 714 bytes graphics/pokemon/manectric/mega/back.png | Bin 595 -> 614 bytes graphics/pokemon/manectric/mega/front.png | Bin 966 -> 979 bytes graphics/pokemon/manectric/mega/icon.png | Bin 407 -> 367 bytes graphics/pokemon/mankey/icon.png | Bin 446 -> 406 bytes graphics/pokemon/mantine/anim_front.png | Bin 1075 -> 1053 bytes graphics/pokemon/mantine/back.png | Bin 511 -> 523 bytes graphics/pokemon/mantine/icon.png | Bin 395 -> 362 bytes graphics/pokemon/mantyke/anim_front.png | Bin 931 -> 923 bytes graphics/pokemon/mantyke/back.png | Bin 619 -> 633 bytes graphics/pokemon/mantyke/icon.png | Bin 329 -> 295 bytes graphics/pokemon/maractus/anim_front.png | Bin 1514 -> 1487 bytes graphics/pokemon/maractus/back.png | Bin 869 -> 880 bytes graphics/pokemon/maractus/icon.png | Bin 470 -> 436 bytes graphics/pokemon/mareanie/back.png | Bin 611 -> 620 bytes graphics/pokemon/mareanie/front.png | Bin 611 -> 623 bytes graphics/pokemon/mareanie/icon.png | Bin 389 -> 352 bytes graphics/pokemon/mareep/icon.png | Bin 424 -> 392 bytes graphics/pokemon/marill/anim_front.png | Bin 885 -> 849 bytes graphics/pokemon/marill/back.png | Bin 477 -> 488 bytes graphics/pokemon/marill/icon.png | Bin 383 -> 347 bytes graphics/pokemon/marowak/alolan/back.png | Bin 766 -> 777 bytes graphics/pokemon/marowak/alolan/front.png | Bin 836 -> 846 bytes graphics/pokemon/marowak/alolan/icon.png | Bin 429 -> 495 bytes graphics/pokemon/marowak/back.png | Bin 677 -> 691 bytes graphics/pokemon/marshadow/anim_front.png | Bin 1038 -> 1026 bytes graphics/pokemon/marshadow/back.png | Bin 533 -> 523 bytes graphics/pokemon/marshadow/icon.png | Bin 349 -> 311 bytes graphics/pokemon/marshtomp/anim_front.png | Bin 1066 -> 1030 bytes graphics/pokemon/marshtomp/icon.png | Bin 363 -> 328 bytes graphics/pokemon/masquerain/back.png | Bin 853 -> 869 bytes graphics/pokemon/masquerain/icon.png | Bin 385 -> 344 bytes graphics/pokemon/mawile/anim_front.png | Bin 1306 -> 1313 bytes graphics/pokemon/mawile/back.png | Bin 700 -> 708 bytes graphics/pokemon/mawile/mega/back.png | Bin 815 -> 828 bytes graphics/pokemon/mawile/mega/front.png | Bin 948 -> 961 bytes graphics/pokemon/mawile/mega/icon.png | Bin 583 -> 565 bytes graphics/pokemon/medicham/back.png | Bin 738 -> 753 bytes graphics/pokemon/medicham/mega/back.png | Bin 782 -> 792 bytes graphics/pokemon/medicham/mega/front.png | Bin 989 -> 1002 bytes graphics/pokemon/medicham/mega/icon.png | Bin 477 -> 441 bytes graphics/pokemon/meditite/icon.png | Bin 348 -> 308 bytes graphics/pokemon/meganium/back.png | Bin 705 -> 712 bytes graphics/pokemon/melmetal/back.png | Bin 486 -> 496 bytes graphics/pokemon/melmetal/front.png | Bin 1060 -> 1068 bytes graphics/pokemon/melmetal/icon.png | Bin 565 -> 538 bytes graphics/pokemon/meloetta/anim_front.png | Bin 953 -> 931 bytes graphics/pokemon/meloetta/back.png | Bin 701 -> 711 bytes graphics/pokemon/meloetta/pirouette/back.png | Bin 787 -> 801 bytes graphics/pokemon/meloetta/pirouette/front.png | Bin 726 -> 693 bytes graphics/pokemon/meloetta/pirouette/icon.png | Bin 353 -> 414 bytes graphics/pokemon/meltan/back.png | Bin 540 -> 549 bytes graphics/pokemon/meltan/front.png | Bin 543 -> 551 bytes graphics/pokemon/meltan/icon.png | Bin 327 -> 300 bytes graphics/pokemon/meowstic/anim_front.png | Bin 1289 -> 1264 bytes graphics/pokemon/meowstic/back.png | Bin 601 -> 613 bytes .../pokemon/meowstic/female/anim_front.png | Bin 1137 -> 1134 bytes graphics/pokemon/meowstic/female/back.png | Bin 515 -> 525 bytes graphics/pokemon/meowstic/female/icon.png | Bin 459 -> 422 bytes graphics/pokemon/meowstic/icon.png | Bin 482 -> 443 bytes graphics/pokemon/meowth/alolan/back.png | Bin 650 -> 661 bytes graphics/pokemon/meowth/alolan/front.png | Bin 649 -> 660 bytes graphics/pokemon/meowth/alolan/icon.png | Bin 358 -> 426 bytes graphics/pokemon/meowth/galarian/back.png | Bin 682 -> 694 bytes graphics/pokemon/meowth/galarian/front.png | Bin 649 -> 655 bytes graphics/pokemon/meowth/galarian/icon.png | Bin 371 -> 356 bytes graphics/pokemon/mesprit/anim_front.png | Bin 1207 -> 1185 bytes graphics/pokemon/mesprit/back.png | Bin 661 -> 669 bytes graphics/pokemon/metagross/anim_front.png | Bin 1372 -> 1363 bytes graphics/pokemon/metagross/back.png | Bin 802 -> 820 bytes graphics/pokemon/metagross/icon.png | Bin 456 -> 420 bytes graphics/pokemon/metagross/mega/icon.png | Bin 598 -> 561 bytes graphics/pokemon/metang/anim_front.png | Bin 1224 -> 1206 bytes graphics/pokemon/metang/back.png | Bin 691 -> 702 bytes graphics/pokemon/metapod/icon.png | Bin 261 -> 222 bytes graphics/pokemon/mew/back.png | Bin 651 -> 661 bytes graphics/pokemon/mewtwo/back.png | Bin 774 -> 792 bytes graphics/pokemon/mewtwo/mega_x/back.png | Bin 717 -> 728 bytes graphics/pokemon/mewtwo/mega_x/front.png | Bin 873 -> 886 bytes graphics/pokemon/mewtwo/mega_x/icon.png | Bin 399 -> 367 bytes graphics/pokemon/mewtwo/mega_y/back.png | Bin 767 -> 781 bytes graphics/pokemon/mewtwo/mega_y/front.png | Bin 755 -> 762 bytes graphics/pokemon/mewtwo/mega_y/icon.png | Bin 417 -> 380 bytes graphics/pokemon/mienfoo/anim_front.png | Bin 876 -> 873 bytes graphics/pokemon/mienfoo/back.png | Bin 556 -> 565 bytes graphics/pokemon/mienshao/anim_front.png | Bin 1268 -> 1280 bytes graphics/pokemon/mienshao/back.png | Bin 652 -> 663 bytes graphics/pokemon/mightyena/anim_front.png | Bin 1355 -> 1343 bytes graphics/pokemon/mightyena/back.png | Bin 681 -> 693 bytes graphics/pokemon/mightyena/icon.png | Bin 420 -> 385 bytes graphics/pokemon/milcery/back.png | Bin 452 -> 464 bytes graphics/pokemon/milcery/front.png | Bin 418 -> 432 bytes graphics/pokemon/milcery/icon.png | Bin 323 -> 309 bytes graphics/pokemon/miltank/anim_front.png | Bin 1256 -> 1253 bytes graphics/pokemon/miltank/back.png | Bin 693 -> 706 bytes graphics/pokemon/miltank/icon.png | Bin 384 -> 344 bytes graphics/pokemon/mime_jr/anim_front.png | Bin 979 -> 952 bytes graphics/pokemon/mime_jr/back.png | Bin 725 -> 740 bytes graphics/pokemon/mime_jr/icon.png | Bin 324 -> 290 bytes graphics/pokemon/mimikyu/back.png | Bin 479 -> 497 bytes graphics/pokemon/mimikyu/front.png | Bin 534 -> 547 bytes graphics/pokemon/mimikyu/icon.png | Bin 384 -> 350 bytes graphics/pokemon/minccino/anim_front.png | Bin 1094 -> 1068 bytes graphics/pokemon/minior/back.png | Bin 578 -> 590 bytes graphics/pokemon/minior/core/red/icon.png | Bin 379 -> 459 bytes graphics/pokemon/minior/front.png | Bin 541 -> 550 bytes graphics/pokemon/minior/icon.png | Bin 369 -> 330 bytes graphics/pokemon/minun/anim_front.png | Bin 762 -> 740 bytes graphics/pokemon/minun/icon.png | Bin 325 -> 287 bytes graphics/pokemon/misdreavus/anim_front.png | Bin 1013 -> 974 bytes graphics/pokemon/misdreavus/back.png | Bin 648 -> 658 bytes graphics/pokemon/misdreavus/icon.png | Bin 368 -> 339 bytes graphics/pokemon/mismagius/anim_front.png | Bin 1223 -> 1205 bytes graphics/pokemon/mismagius/back.png | Bin 744 -> 762 bytes graphics/pokemon/moltres/back.png | Bin 687 -> 704 bytes graphics/pokemon/moltres/galarian/back.png | Bin 652 -> 662 bytes graphics/pokemon/moltres/galarian/front.png | Bin 939 -> 944 bytes graphics/pokemon/moltres/galarian/icon.png | Bin 468 -> 453 bytes graphics/pokemon/monferno/anim_front.png | Bin 1260 -> 1238 bytes graphics/pokemon/monferno/back.png | Bin 762 -> 777 bytes graphics/pokemon/morelull/back.png | Bin 575 -> 584 bytes graphics/pokemon/morelull/front.png | Bin 496 -> 506 bytes graphics/pokemon/morelull/icon.png | Bin 363 -> 327 bytes graphics/pokemon/morgrem/back.png | Bin 602 -> 612 bytes graphics/pokemon/morgrem/front.png | Bin 773 -> 784 bytes graphics/pokemon/morgrem/icon.png | Bin 471 -> 455 bytes graphics/pokemon/morpeko/back.png | Bin 496 -> 506 bytes graphics/pokemon/morpeko/front.png | Bin 489 -> 499 bytes graphics/pokemon/morpeko/hangry/back.png | Bin 450 -> 459 bytes graphics/pokemon/morpeko/hangry/front.png | Bin 468 -> 479 bytes graphics/pokemon/morpeko/hangry/icon.png | Bin 356 -> 337 bytes graphics/pokemon/morpeko/icon.png | Bin 362 -> 344 bytes graphics/pokemon/mothim/back.png | Bin 614 -> 632 bytes graphics/pokemon/mr_mime/galarian/back.png | Bin 863 -> 871 bytes graphics/pokemon/mr_mime/galarian/front.png | Bin 817 -> 830 bytes graphics/pokemon/mr_mime/galarian/icon.png | Bin 352 -> 333 bytes graphics/pokemon/mr_mime/icon.png | Bin 348 -> 310 bytes graphics/pokemon/mr_rime/back.png | Bin 718 -> 727 bytes graphics/pokemon/mr_rime/front.png | Bin 944 -> 954 bytes graphics/pokemon/mr_rime/icon.png | Bin 425 -> 408 bytes graphics/pokemon/mudbray/back.png | Bin 669 -> 683 bytes graphics/pokemon/mudbray/front.png | Bin 692 -> 701 bytes graphics/pokemon/mudbray/icon.png | Bin 394 -> 353 bytes graphics/pokemon/mudkip/anim_front.png | Bin 891 -> 884 bytes graphics/pokemon/mudkip/back.png | Bin 556 -> 566 bytes graphics/pokemon/mudkip/icon.png | Bin 382 -> 344 bytes graphics/pokemon/mudsdale/back.png | Bin 732 -> 744 bytes graphics/pokemon/mudsdale/front.png | Bin 994 -> 1004 bytes graphics/pokemon/mudsdale/icon.png | Bin 440 -> 402 bytes graphics/pokemon/muk/alolan/back.png | Bin 868 -> 883 bytes graphics/pokemon/muk/alolan/front.png | Bin 905 -> 917 bytes graphics/pokemon/muk/alolan/icon.png | Bin 555 -> 626 bytes graphics/pokemon/muk/back.png | Bin 713 -> 727 bytes graphics/pokemon/munchlax/anim_front.png | Bin 829 -> 798 bytes graphics/pokemon/munchlax/back.png | Bin 521 -> 597 bytes graphics/pokemon/munchlax/icon.png | Bin 341 -> 3369 bytes graphics/pokemon/munna/anim_front.png | Bin 565 -> 528 bytes graphics/pokemon/munna/back.png | Bin 462 -> 473 bytes graphics/pokemon/murkrow/anim_front.png | Bin 969 -> 947 bytes graphics/pokemon/murkrow/back.png | Bin 523 -> 532 bytes graphics/pokemon/murkrow/icon.png | Bin 400 -> 364 bytes graphics/pokemon/musharna/anim_front.png | Bin 1107 -> 1084 bytes graphics/pokemon/musharna/back.png | Bin 653 -> 665 bytes graphics/pokemon/naganadel/back.png | Bin 799 -> 809 bytes graphics/pokemon/naganadel/front.png | Bin 1018 -> 1033 bytes graphics/pokemon/naganadel/icon.png | Bin 591 -> 551 bytes graphics/pokemon/natu/back.png | Bin 467 -> 477 bytes graphics/pokemon/natu/icon.png | Bin 311 -> 280 bytes graphics/pokemon/necrozma/back.png | Bin 777 -> 790 bytes graphics/pokemon/necrozma/front.png | Bin 976 -> 989 bytes graphics/pokemon/necrozma/icon.png | Bin 504 -> 473 bytes graphics/pokemon/nickit/back.png | Bin 597 -> 612 bytes graphics/pokemon/nickit/front.png | Bin 639 -> 647 bytes graphics/pokemon/nickit/icon.png | Bin 433 -> 415 bytes graphics/pokemon/nidoqueen/icon.png | Bin 420 -> 384 bytes graphics/pokemon/nidoran_f/icon.png | Bin 323 -> 282 bytes graphics/pokemon/nidoran_m/icon.png | Bin 361 -> 322 bytes graphics/pokemon/nidorina/icon.png | Bin 356 -> 317 bytes graphics/pokemon/nidorino/icon.png | Bin 380 -> 346 bytes graphics/pokemon/nihilego/back.png | Bin 714 -> 724 bytes graphics/pokemon/nihilego/front.png | Bin 712 -> 721 bytes graphics/pokemon/nihilego/icon.png | Bin 414 -> 374 bytes graphics/pokemon/nincada/anim_front.png | Bin 896 -> 882 bytes graphics/pokemon/nincada/back.png | Bin 552 -> 564 bytes graphics/pokemon/nincada/icon.png | Bin 363 -> 328 bytes graphics/pokemon/ninetales/alolan/back.png | Bin 796 -> 806 bytes graphics/pokemon/ninetales/alolan/front.png | Bin 1007 -> 1012 bytes graphics/pokemon/ninetales/alolan/icon.png | Bin 529 -> 601 bytes graphics/pokemon/ninetales/icon.png | Bin 475 -> 445 bytes graphics/pokemon/ninjask/anim_front.png | Bin 1141 -> 1095 bytes graphics/pokemon/ninjask/back.png | Bin 725 -> 737 bytes graphics/pokemon/ninjask/icon.png | Bin 369 -> 336 bytes graphics/pokemon/noctowl/back.png | Bin 600 -> 555 bytes graphics/pokemon/noctowl/icon.png | Bin 371 -> 334 bytes graphics/pokemon/noibat/anim_front.png | Bin 1050 -> 1038 bytes graphics/pokemon/noibat/back.png | Bin 550 -> 562 bytes graphics/pokemon/noibat/icon.png | Bin 397 -> 360 bytes graphics/pokemon/noivern/anim_front.png | Bin 1758 -> 1737 bytes graphics/pokemon/noivern/back.png | Bin 663 -> 679 bytes graphics/pokemon/noivern/icon.png | Bin 486 -> 447 bytes graphics/pokemon/nosepass/back.png | Bin 596 -> 607 bytes graphics/pokemon/nosepass/icon.png | Bin 326 -> 287 bytes graphics/pokemon/numel/icon.png | Bin 329 -> 295 bytes graphics/pokemon/nuzleaf/back.png | Bin 649 -> 655 bytes graphics/pokemon/nuzleaf/icon.png | Bin 371 -> 334 bytes graphics/pokemon/obstagoon/back.png | Bin 692 -> 709 bytes graphics/pokemon/obstagoon/front.png | Bin 863 -> 877 bytes graphics/pokemon/obstagoon/icon.png | Bin 485 -> 466 bytes graphics/pokemon/octillery/anim_front.png | Bin 1097 -> 1087 bytes graphics/pokemon/octillery/back.png | Bin 657 -> 671 bytes graphics/pokemon/octillery/icon.png | Bin 416 -> 382 bytes graphics/pokemon/omanyte/back.png | Bin 568 -> 581 bytes graphics/pokemon/omanyte/icon.png | Bin 338 -> 298 bytes graphics/pokemon/omastar/anim_front.png | Bin 1347 -> 1317 bytes graphics/pokemon/omastar/back.png | Bin 674 -> 689 bytes graphics/pokemon/omastar/icon.png | Bin 401 -> 366 bytes graphics/pokemon/onix/back.png | Bin 867 -> 880 bytes graphics/pokemon/oranguru/back.png | Bin 704 -> 716 bytes graphics/pokemon/oranguru/front.png | Bin 971 -> 977 bytes graphics/pokemon/oranguru/icon.png | Bin 440 -> 400 bytes graphics/pokemon/orbeetle/back.png | Bin 628 -> 641 bytes graphics/pokemon/orbeetle/front.png | Bin 765 -> 768 bytes graphics/pokemon/orbeetle/icon.png | Bin 460 -> 445 bytes graphics/pokemon/oricorio/back.png | Bin 835 -> 850 bytes graphics/pokemon/oricorio/front.png | Bin 778 -> 789 bytes graphics/pokemon/oricorio/icon.png | Bin 368 -> 328 bytes graphics/pokemon/oshawott/back.png | Bin 473 -> 479 bytes graphics/pokemon/oshawott/icon.png | Bin 380 -> 341 bytes graphics/pokemon/overqwil/back.png | Bin 638 -> 605 bytes graphics/pokemon/overqwil/front.png | Bin 773 -> 742 bytes graphics/pokemon/overqwil/icon.png | Bin 531 -> 514 bytes graphics/pokemon/pachirisu/anim_front.png | Bin 856 -> 823 bytes graphics/pokemon/pachirisu/back.png | Bin 665 -> 682 bytes graphics/pokemon/pachirisu/icon.png | Bin 447 -> 426 bytes graphics/pokemon/palkia/anim_front.png | Bin 2297 -> 2282 bytes graphics/pokemon/palkia/back.png | Bin 771 -> 788 bytes graphics/pokemon/palkia/origin/back.png | Bin 775 -> 739 bytes graphics/pokemon/palkia/origin/front.png | Bin 1204 -> 1162 bytes graphics/pokemon/palkia/origin/icon.png | Bin 480 -> 462 bytes graphics/pokemon/palossand/back.png | Bin 641 -> 657 bytes graphics/pokemon/palossand/front.png | Bin 867 -> 884 bytes graphics/pokemon/palossand/icon.png | Bin 358 -> 320 bytes graphics/pokemon/palpitoad/anim_front.png | Bin 1039 -> 1010 bytes graphics/pokemon/palpitoad/back.png | Bin 570 -> 579 bytes graphics/pokemon/palpitoad/icon.png | Bin 399 -> 362 bytes graphics/pokemon/pancham/anim_front.png | Bin 703 -> 695 bytes graphics/pokemon/pancham/back.png | Bin 494 -> 478 bytes graphics/pokemon/pancham/icon.png | Bin 385 -> 350 bytes graphics/pokemon/pangoro/anim_front.png | Bin 1588 -> 1582 bytes graphics/pokemon/pangoro/back.png | Bin 644 -> 628 bytes graphics/pokemon/pangoro/icon.png | Bin 436 -> 398 bytes graphics/pokemon/panpour/anim_front.png | Bin 965 -> 933 bytes graphics/pokemon/panpour/back.png | Bin 624 -> 633 bytes graphics/pokemon/panpour/icon.png | Bin 435 -> 396 bytes graphics/pokemon/pansage/anim_front.png | Bin 976 -> 961 bytes graphics/pokemon/pansage/back.png | Bin 623 -> 637 bytes graphics/pokemon/pansage/icon.png | Bin 435 -> 397 bytes graphics/pokemon/pansear/anim_front.png | Bin 985 -> 1032 bytes graphics/pokemon/pansear/back.png | Bin 562 -> 571 bytes graphics/pokemon/pansear/icon.png | Bin 406 -> 368 bytes graphics/pokemon/passimian/back.png | Bin 643 -> 654 bytes graphics/pokemon/passimian/front.png | Bin 909 -> 920 bytes graphics/pokemon/passimian/icon.png | Bin 457 -> 423 bytes graphics/pokemon/patrat/anim_front.png | Bin 849 -> 817 bytes graphics/pokemon/patrat/back.png | Bin 523 -> 535 bytes graphics/pokemon/patrat/icon.png | Bin 416 -> 378 bytes graphics/pokemon/pawniard/anim_front.png | Bin 801 -> 770 bytes graphics/pokemon/pawniard/back.png | Bin 635 -> 645 bytes graphics/pokemon/pawniard/icon.png | Bin 350 -> 311 bytes graphics/pokemon/pelipper/anim_front.png | Bin 1208 -> 1176 bytes graphics/pokemon/pelipper/back.png | Bin 725 -> 736 bytes graphics/pokemon/perrserker/back.png | Bin 836 -> 849 bytes graphics/pokemon/perrserker/front.png | Bin 921 -> 928 bytes graphics/pokemon/perrserker/icon.png | Bin 482 -> 469 bytes graphics/pokemon/persian/alolan/back.png | Bin 668 -> 679 bytes graphics/pokemon/persian/alolan/front.png | Bin 703 -> 715 bytes graphics/pokemon/persian/alolan/icon.png | Bin 390 -> 456 bytes graphics/pokemon/persian/icon.png | Bin 374 -> 338 bytes graphics/pokemon/petilil/anim_front.png | Bin 734 -> 717 bytes graphics/pokemon/petilil/back.png | Bin 557 -> 570 bytes graphics/pokemon/petilil/icon.png | Bin 291 -> 254 bytes graphics/pokemon/phanpy/anim_front.png | Bin 796 -> 771 bytes graphics/pokemon/phanpy/icon.png | Bin 375 -> 336 bytes graphics/pokemon/phantump/anim_front.png | Bin 769 -> 758 bytes graphics/pokemon/phantump/back.png | Bin 716 -> 725 bytes graphics/pokemon/phantump/icon.png | Bin 448 -> 410 bytes graphics/pokemon/pheromosa/back.png | Bin 652 -> 667 bytes graphics/pokemon/pheromosa/front.png | Bin 945 -> 957 bytes graphics/pokemon/pheromosa/icon.png | Bin 559 -> 520 bytes graphics/pokemon/phione/anim_front.png | Bin 799 -> 761 bytes graphics/pokemon/phione/back.png | Bin 564 -> 576 bytes graphics/pokemon/pichu/back.png | Bin 449 -> 461 bytes graphics/pokemon/pidgeot/icon.png | Bin 539 -> 501 bytes graphics/pokemon/pidgeot/mega/back.png | Bin 775 -> 785 bytes graphics/pokemon/pidgeot/mega/front.png | Bin 1108 -> 1115 bytes graphics/pokemon/pidgeot/mega/icon.png | Bin 601 -> 579 bytes graphics/pokemon/pidgeotto/icon.png | Bin 417 -> 379 bytes graphics/pokemon/pidgey/icon.png | Bin 396 -> 356 bytes graphics/pokemon/pidove/anim_front.png | Bin 695 -> 659 bytes graphics/pokemon/pidove/back.png | Bin 539 -> 549 bytes graphics/pokemon/pidove/icon.png | Bin 302 -> 266 bytes graphics/pokemon/pignite/anim_front.png | Bin 1215 -> 1179 bytes graphics/pokemon/pignite/back.png | Bin 666 -> 675 bytes graphics/pokemon/pikachu/icon.png | Bin 377 -> 337 bytes graphics/pokemon/pikachu/partner_cap/back.png | Bin 699 -> 759 bytes .../pokemon/pikachu/partner_cap/front.png | Bin 673 -> 735 bytes graphics/pokemon/pikachu/world_cap/back.png | Bin 687 -> 695 bytes graphics/pokemon/pikachu/world_cap/front.png | Bin 657 -> 668 bytes graphics/pokemon/pikipek/back.png | Bin 500 -> 509 bytes graphics/pokemon/pikipek/front.png | Bin 456 -> 466 bytes graphics/pokemon/pikipek/icon.png | Bin 371 -> 335 bytes graphics/pokemon/piloswine/anim_front.png | Bin 1110 -> 1080 bytes graphics/pokemon/piloswine/back.png | Bin 440 -> 457 bytes graphics/pokemon/piloswine/icon.png | Bin 351 -> 316 bytes graphics/pokemon/pincurchin/icon.png | Bin 300 -> 270 bytes graphics/pokemon/pineco/anim_front.png | Bin 847 -> 822 bytes graphics/pokemon/pineco/back.png | Bin 643 -> 652 bytes graphics/pokemon/pineco/icon.png | Bin 303 -> 265 bytes graphics/pokemon/pinsir/back.png | Bin 748 -> 761 bytes graphics/pokemon/pinsir/icon.png | Bin 378 -> 341 bytes graphics/pokemon/pinsir/mega/back.png | Bin 855 -> 866 bytes graphics/pokemon/pinsir/mega/front.png | Bin 1191 -> 1199 bytes graphics/pokemon/pinsir/mega/icon.png | Bin 606 -> 592 bytes graphics/pokemon/piplup/anim_front.png | Bin 776 -> 759 bytes graphics/pokemon/piplup/back.png | Bin 520 -> 528 bytes graphics/pokemon/piplup/icon.png | Bin 329 -> 291 bytes graphics/pokemon/plusle/anim_front.png | Bin 653 -> 623 bytes graphics/pokemon/plusle/back.png | Bin 571 -> 592 bytes graphics/pokemon/plusle/icon.png | Bin 325 -> 287 bytes graphics/pokemon/poipole/back.png | Bin 610 -> 617 bytes graphics/pokemon/poipole/front.png | Bin 629 -> 638 bytes graphics/pokemon/poipole/icon.png | Bin 416 -> 373 bytes graphics/pokemon/politoed/back.png | Bin 576 -> 589 bytes graphics/pokemon/politoed/icon.png | Bin 437 -> 398 bytes graphics/pokemon/poliwag/icon.png | Bin 392 -> 358 bytes graphics/pokemon/poliwhirl/icon.png | Bin 376 -> 339 bytes graphics/pokemon/poliwrath/icon.png | Bin 452 -> 413 bytes graphics/pokemon/polteageist/back.png | Bin 636 -> 646 bytes graphics/pokemon/polteageist/front.png | Bin 694 -> 703 bytes graphics/pokemon/polteageist/icon.png | Bin 377 -> 358 bytes graphics/pokemon/ponyta/galarian/back.png | Bin 704 -> 721 bytes graphics/pokemon/ponyta/galarian/front.png | Bin 871 -> 883 bytes graphics/pokemon/ponyta/galarian/icon.png | Bin 461 -> 448 bytes graphics/pokemon/ponyta/icon.png | Bin 487 -> 454 bytes graphics/pokemon/poochyena/anim_front.png | Bin 913 -> 904 bytes graphics/pokemon/poochyena/back.png | Bin 593 -> 602 bytes graphics/pokemon/poochyena/icon.png | Bin 396 -> 357 bytes graphics/pokemon/popplio/back.png | Bin 535 -> 500 bytes graphics/pokemon/popplio/front.png | Bin 581 -> 543 bytes graphics/pokemon/popplio/icon.png | Bin 329 -> 287 bytes graphics/pokemon/porygon/anim_front.png | Bin 813 -> 783 bytes graphics/pokemon/porygon/back.png | Bin 587 -> 598 bytes graphics/pokemon/porygon/icon.png | Bin 445 -> 404 bytes graphics/pokemon/porygon2/anim_front.png | Bin 751 -> 742 bytes graphics/pokemon/porygon2/back.png | Bin 537 -> 552 bytes graphics/pokemon/porygon2/icon.png | Bin 415 -> 371 bytes graphics/pokemon/porygon_z/anim_front.png | Bin 942 -> 932 bytes graphics/pokemon/porygon_z/back.png | Bin 654 -> 668 bytes graphics/pokemon/porygon_z/icon.png | Bin 407 -> 368 bytes graphics/pokemon/primarina/back.png | Bin 875 -> 884 bytes graphics/pokemon/primarina/front.png | Bin 1062 -> 1072 bytes graphics/pokemon/primarina/icon.png | Bin 533 -> 498 bytes graphics/pokemon/primeape/icon.png | Bin 481 -> 441 bytes graphics/pokemon/prinplup/anim_front.png | Bin 1195 -> 1163 bytes graphics/pokemon/prinplup/back.png | Bin 524 -> 534 bytes graphics/pokemon/prinplup/icon.png | Bin 374 -> 337 bytes graphics/pokemon/probopass/anim_front.png | Bin 939 -> 927 bytes graphics/pokemon/probopass/back.png | Bin 629 -> 643 bytes graphics/pokemon/psyduck/icon.png | Bin 416 -> 379 bytes graphics/pokemon/pumpkaboo/anim_front.png | Bin 680 -> 668 bytes graphics/pokemon/pumpkaboo/icon.png | Bin 326 -> 290 bytes .../pokemon/pumpkaboo/large/anim_front.png | Bin 653 -> 640 bytes .../pokemon/pumpkaboo/small/anim_front.png | Bin 631 -> 622 bytes .../pokemon/pumpkaboo/super/anim_front.png | Bin 699 -> 686 bytes graphics/pokemon/pupitar/anim_front.png | Bin 652 -> 621 bytes graphics/pokemon/pupitar/back.png | Bin 611 -> 625 bytes graphics/pokemon/pupitar/icon.png | Bin 305 -> 265 bytes graphics/pokemon/purrloin/anim_front.png | Bin 895 -> 873 bytes graphics/pokemon/purrloin/back.png | Bin 533 -> 541 bytes graphics/pokemon/purrloin/icon.png | Bin 425 -> 388 bytes graphics/pokemon/purugly/anim_front.png | Bin 1605 -> 1567 bytes graphics/pokemon/purugly/back.png | Bin 763 -> 773 bytes graphics/pokemon/purugly/icon.png | Bin 372 -> 332 bytes graphics/pokemon/pyroar/anim_front.png | Bin 1699 -> 1669 bytes graphics/pokemon/pyroar/anim_frontf.png | Bin 1596 -> 1562 bytes graphics/pokemon/pyroar/back.png | Bin 583 -> 571 bytes graphics/pokemon/pyroar/backf.png | Bin 596 -> 579 bytes graphics/pokemon/pyroar/frontf.png | Bin 953 -> 910 bytes graphics/pokemon/pyroar/iconf.png | Bin 452 -> 521 bytes graphics/pokemon/pyukumuku/back.png | Bin 479 -> 490 bytes graphics/pokemon/pyukumuku/icon.png | Bin 330 -> 289 bytes graphics/pokemon/quagsire/icon.png | Bin 367 -> 330 bytes .../question_mark/double/anim_front.png | Bin 358 -> 317 bytes .../pokemon/question_mark/double/back.png | Bin 345 -> 308 bytes graphics/pokemon/quilava/icon.png | Bin 435 -> 406 bytes graphics/pokemon/quilladin/anim_front.png | Bin 1196 -> 1184 bytes graphics/pokemon/quilladin/back.png | Bin 579 -> 591 bytes graphics/pokemon/quilladin/icon.png | Bin 476 -> 439 bytes graphics/pokemon/qwilfish/anim_front.png | Bin 851 -> 821 bytes graphics/pokemon/qwilfish/back.png | Bin 607 -> 616 bytes graphics/pokemon/qwilfish/hisuian/icon.png | Bin 381 -> 365 bytes graphics/pokemon/qwilfish/icon.png | Bin 369 -> 333 bytes graphics/pokemon/raboot/back.png | Bin 642 -> 654 bytes graphics/pokemon/raboot/front.png | Bin 641 -> 649 bytes graphics/pokemon/raboot/icon.png | Bin 396 -> 378 bytes graphics/pokemon/raichu/alolan/back.png | Bin 655 -> 674 bytes graphics/pokemon/raichu/alolan/front.png | Bin 876 -> 890 bytes graphics/pokemon/raichu/alolan/icon.png | Bin 511 -> 577 bytes graphics/pokemon/raichu/icon.png | Bin 443 -> 412 bytes graphics/pokemon/raikou/anim_front.png | Bin 1694 -> 1661 bytes graphics/pokemon/raikou/back.png | Bin 735 -> 746 bytes graphics/pokemon/ralts/anim_front.png | Bin 551 -> 511 bytes graphics/pokemon/ralts/back.png | Bin 457 -> 462 bytes graphics/pokemon/ralts/icon.png | Bin 298 -> 258 bytes graphics/pokemon/rampardos/anim_front.png | Bin 1767 -> 1754 bytes graphics/pokemon/rampardos/back.png | Bin 814 -> 823 bytes graphics/pokemon/rampardos/icon.png | Bin 479 -> 439 bytes graphics/pokemon/rapidash/galarian/back.png | Bin 727 -> 738 bytes graphics/pokemon/rapidash/galarian/front.png | Bin 1160 -> 1172 bytes graphics/pokemon/rapidash/galarian/icon.png | Bin 447 -> 428 bytes graphics/pokemon/raticate/alolan/back.png | Bin 674 -> 685 bytes graphics/pokemon/raticate/alolan/front.png | Bin 815 -> 821 bytes graphics/pokemon/raticate/alolan/icon.png | Bin 437 -> 506 bytes graphics/pokemon/raticate/icon.png | Bin 446 -> 412 bytes graphics/pokemon/rattata/alolan/back.png | Bin 654 -> 667 bytes graphics/pokemon/rattata/alolan/front.png | Bin 565 -> 575 bytes graphics/pokemon/rattata/alolan/icon.png | Bin 380 -> 448 bytes graphics/pokemon/rattata/icon.png | Bin 351 -> 313 bytes graphics/pokemon/rayquaza/anim_front.png | Bin 1756 -> 1742 bytes graphics/pokemon/rayquaza/back.png | Bin 721 -> 740 bytes graphics/pokemon/rayquaza/icon.png | Bin 609 -> 571 bytes graphics/pokemon/rayquaza/mega/back.png | Bin 1050 -> 1064 bytes graphics/pokemon/rayquaza/mega/front.png | Bin 1374 -> 1386 bytes graphics/pokemon/rayquaza/mega/icon.png | Bin 553 -> 521 bytes graphics/pokemon/regice/anim_front.png | Bin 1488 -> 1460 bytes graphics/pokemon/regice/back.png | Bin 621 -> 630 bytes graphics/pokemon/regice/icon.png | Bin 433 -> 398 bytes graphics/pokemon/regidrago/back.png | Bin 723 -> 738 bytes graphics/pokemon/regidrago/front.png | Bin 919 -> 929 bytes graphics/pokemon/regidrago/icon.png | Bin 493 -> 478 bytes graphics/pokemon/regieleki/back.png | Bin 658 -> 618 bytes graphics/pokemon/regieleki/front.png | Bin 812 -> 772 bytes graphics/pokemon/regieleki/icon.png | Bin 493 -> 478 bytes graphics/pokemon/regigigas/anim_front.png | Bin 2134 -> 2134 bytes graphics/pokemon/regigigas/back.png | Bin 617 -> 626 bytes graphics/pokemon/regigigas/icon.png | Bin 477 -> 438 bytes graphics/pokemon/regirock/anim_front.png | Bin 1780 -> 1746 bytes graphics/pokemon/regirock/back.png | Bin 882 -> 893 bytes graphics/pokemon/regirock/icon.png | Bin 487 -> 454 bytes graphics/pokemon/registeel/anim_front.png | Bin 1492 -> 1458 bytes graphics/pokemon/registeel/back.png | Bin 640 -> 650 bytes graphics/pokemon/registeel/icon.png | Bin 384 -> 347 bytes graphics/pokemon/relicanth/icon.png | Bin 435 -> 397 bytes graphics/pokemon/remoraid/anim_front.png | Bin 918 -> 913 bytes graphics/pokemon/remoraid/back.png | Bin 597 -> 604 bytes graphics/pokemon/remoraid/icon.png | Bin 335 -> 295 bytes graphics/pokemon/reshiram/anim_front.png | Bin 1803 -> 1776 bytes graphics/pokemon/reuniclus/back.png | Bin 519 -> 531 bytes graphics/pokemon/reuniclus/icon.png | Bin 470 -> 434 bytes graphics/pokemon/rhydon/back.png | Bin 821 -> 836 bytes graphics/pokemon/rhydon/icon.png | Bin 447 -> 415 bytes graphics/pokemon/rhyhorn/back.png | Bin 721 -> 732 bytes graphics/pokemon/rhyhorn/icon.png | Bin 425 -> 385 bytes graphics/pokemon/rhyperior/anim_front.png | Bin 1869 -> 1855 bytes graphics/pokemon/rhyperior/back.png | Bin 936 -> 947 bytes graphics/pokemon/rhyperior/icon.png | Bin 512 -> 475 bytes graphics/pokemon/ribombee/back.png | Bin 721 -> 733 bytes graphics/pokemon/ribombee/front.png | Bin 707 -> 715 bytes graphics/pokemon/ribombee/icon.png | Bin 416 -> 384 bytes graphics/pokemon/rillaboom/back.png | Bin 941 -> 901 bytes graphics/pokemon/rillaboom/front.png | Bin 1183 -> 1144 bytes graphics/pokemon/rillaboom/icon.png | Bin 545 -> 529 bytes graphics/pokemon/riolu/anim_front.png | Bin 824 -> 819 bytes graphics/pokemon/riolu/icon.png | Bin 335 -> 302 bytes graphics/pokemon/rockruff/back.png | Bin 696 -> 708 bytes graphics/pokemon/rockruff/front.png | Bin 647 -> 655 bytes graphics/pokemon/rockruff/icon.png | Bin 402 -> 366 bytes graphics/pokemon/roggenrola/anim_front.png | Bin 629 -> 597 bytes graphics/pokemon/roggenrola/back.png | Bin 423 -> 434 bytes graphics/pokemon/roggenrola/icon.png | Bin 298 -> 259 bytes graphics/pokemon/rolycoly/back.png | Bin 525 -> 538 bytes graphics/pokemon/rolycoly/icon.png | Bin 309 -> 293 bytes graphics/pokemon/rookidee/back.png | Bin 526 -> 532 bytes graphics/pokemon/rookidee/icon.png | Bin 380 -> 362 bytes graphics/pokemon/roselia/back.png | Bin 775 -> 785 bytes graphics/pokemon/roselia/icon.png | Bin 445 -> 407 bytes graphics/pokemon/roserade/back.png | Bin 832 -> 840 bytes graphics/pokemon/roserade/icon.png | Bin 428 -> 391 bytes graphics/pokemon/rotom/anim_front.png | Bin 703 -> 663 bytes graphics/pokemon/rotom/back.png | Bin 544 -> 557 bytes graphics/pokemon/rotom/fan/anim_front.png | Bin 1064 -> 1036 bytes graphics/pokemon/rotom/fan/back.png | Bin 675 -> 686 bytes graphics/pokemon/rotom/fan/icon.png | Bin 385 -> 351 bytes graphics/pokemon/rotom/frost/anim_front.png | Bin 1420 -> 1383 bytes graphics/pokemon/rotom/frost/back.png | Bin 462 -> 477 bytes graphics/pokemon/rotom/frost/icon.png | Bin 423 -> 390 bytes graphics/pokemon/rotom/heat/anim_front.png | Bin 1075 -> 1042 bytes graphics/pokemon/rotom/heat/back.png | Bin 598 -> 611 bytes graphics/pokemon/rotom/heat/icon.png | Bin 417 -> 383 bytes graphics/pokemon/rotom/mow/anim_front.png | Bin 1190 -> 1167 bytes graphics/pokemon/rotom/mow/back.png | Bin 554 -> 566 bytes graphics/pokemon/rotom/mow/icon.png | Bin 396 -> 356 bytes graphics/pokemon/rotom/wash/anim_front.png | Bin 1090 -> 1056 bytes graphics/pokemon/rotom/wash/back.png | Bin 536 -> 548 bytes graphics/pokemon/rotom/wash/icon.png | Bin 383 -> 344 bytes graphics/pokemon/rowlet/back.png | Bin 420 -> 431 bytes graphics/pokemon/rowlet/front.png | Bin 532 -> 539 bytes graphics/pokemon/rowlet/icon.png | Bin 338 -> 302 bytes graphics/pokemon/rufflet/anim_front.png | Bin 975 -> 953 bytes graphics/pokemon/rufflet/back.png | Bin 566 -> 575 bytes graphics/pokemon/runerigus/back.png | Bin 496 -> 504 bytes graphics/pokemon/runerigus/front.png | Bin 927 -> 938 bytes graphics/pokemon/runerigus/icon.png | Bin 558 -> 546 bytes graphics/pokemon/sableye/anim_front.png | Bin 811 -> 788 bytes graphics/pokemon/sableye/back.png | Bin 570 -> 581 bytes graphics/pokemon/sableye/icon.png | Bin 362 -> 325 bytes graphics/pokemon/sableye/mega/back.png | Bin 798 -> 809 bytes graphics/pokemon/sableye/mega/front.png | Bin 833 -> 838 bytes graphics/pokemon/sableye/mega/icon.png | Bin 459 -> 421 bytes graphics/pokemon/salamence/anim_front.png | Bin 1527 -> 1519 bytes graphics/pokemon/salamence/back.png | Bin 651 -> 667 bytes graphics/pokemon/salamence/mega/back.png | Bin 683 -> 695 bytes graphics/pokemon/salamence/mega/front.png | Bin 1092 -> 1102 bytes graphics/pokemon/salamence/mega/icon.png | Bin 479 -> 438 bytes graphics/pokemon/salandit/icon.png | Bin 340 -> 304 bytes graphics/pokemon/salazzle/back.png | Bin 560 -> 575 bytes graphics/pokemon/salazzle/icon.png | Bin 371 -> 337 bytes graphics/pokemon/samurott/anim_front.png | Bin 1464 -> 1437 bytes graphics/pokemon/samurott/back.png | Bin 666 -> 680 bytes graphics/pokemon/samurott/hisuian/front.png | Bin 1074 -> 1140 bytes graphics/pokemon/samurott/hisuian/icon.png | Bin 521 -> 503 bytes graphics/pokemon/samurott/icon.png | Bin 490 -> 451 bytes graphics/pokemon/sandaconda/back.png | Bin 657 -> 669 bytes graphics/pokemon/sandaconda/front.png | Bin 767 -> 778 bytes graphics/pokemon/sandaconda/icon.png | Bin 374 -> 357 bytes graphics/pokemon/sandile/back.png | Bin 418 -> 429 bytes graphics/pokemon/sandile/icon.png | Bin 340 -> 308 bytes graphics/pokemon/sandshrew/alolan/back.png | Bin 640 -> 649 bytes graphics/pokemon/sandshrew/alolan/front.png | Bin 591 -> 599 bytes graphics/pokemon/sandshrew/alolan/icon.png | Bin 359 -> 425 bytes graphics/pokemon/sandshrew/icon.png | Bin 373 -> 340 bytes graphics/pokemon/sandslash/alolan/back.png | Bin 927 -> 940 bytes graphics/pokemon/sandslash/alolan/front.png | Bin 964 -> 974 bytes graphics/pokemon/sandslash/alolan/icon.png | Bin 461 -> 524 bytes graphics/pokemon/sandygast/back.png | Bin 465 -> 475 bytes graphics/pokemon/sandygast/front.png | Bin 521 -> 529 bytes graphics/pokemon/sandygast/icon.png | Bin 354 -> 318 bytes graphics/pokemon/sawk/anim_front.png | Bin 1405 -> 1400 bytes graphics/pokemon/sawk/back.png | Bin 669 -> 682 bytes graphics/pokemon/sawk/icon.png | Bin 432 -> 407 bytes graphics/pokemon/sawsbuck/anim_front.png | Bin 991 -> 962 bytes graphics/pokemon/sawsbuck/autumn/front.png | Bin 953 -> 914 bytes graphics/pokemon/sawsbuck/back.png | Bin 608 -> 619 bytes graphics/pokemon/sawsbuck/icon.png | Bin 398 -> 355 bytes graphics/pokemon/sawsbuck/summer/front.png | Bin 876 -> 842 bytes graphics/pokemon/sawsbuck/winter/back.png | Bin 683 -> 651 bytes graphics/pokemon/sawsbuck/winter/front.png | Bin 802 -> 766 bytes graphics/pokemon/scatterbug/anim_front.png | Bin 656 -> 641 bytes graphics/pokemon/scatterbug/back.png | Bin 427 -> 439 bytes graphics/pokemon/scatterbug/icon.png | Bin 307 -> 273 bytes graphics/pokemon/sceptile/anim_front.png | Bin 1629 -> 1604 bytes graphics/pokemon/sceptile/back.png | Bin 729 -> 741 bytes graphics/pokemon/sceptile/icon.png | Bin 472 -> 438 bytes graphics/pokemon/sceptile/mega/back.png | Bin 789 -> 804 bytes graphics/pokemon/sceptile/mega/front.png | Bin 1113 -> 1125 bytes graphics/pokemon/sceptile/mega/icon.png | Bin 508 -> 469 bytes graphics/pokemon/scizor/anim_front.png | Bin 1490 -> 1461 bytes graphics/pokemon/scizor/back.png | Bin 759 -> 773 bytes graphics/pokemon/scizor/icon.png | Bin 507 -> 469 bytes graphics/pokemon/scizor/mega/back.png | Bin 779 -> 790 bytes graphics/pokemon/scizor/mega/front.png | Bin 1080 -> 1092 bytes graphics/pokemon/scizor/mega/icon.png | Bin 500 -> 484 bytes graphics/pokemon/scolipede/anim_front.png | Bin 1691 -> 1660 bytes graphics/pokemon/scolipede/back.png | Bin 892 -> 905 bytes graphics/pokemon/scolipede/icon.png | Bin 445 -> 408 bytes graphics/pokemon/scorbunny/back.png | Bin 568 -> 581 bytes graphics/pokemon/scorbunny/front.png | Bin 595 -> 609 bytes graphics/pokemon/scorbunny/icon.png | Bin 364 -> 347 bytes graphics/pokemon/scrafty/anim_front.png | Bin 1181 -> 1179 bytes graphics/pokemon/scrafty/back.png | Bin 615 -> 625 bytes graphics/pokemon/scrafty/icon.png | Bin 454 -> 418 bytes graphics/pokemon/scraggy/anim_front.png | Bin 732 -> 702 bytes graphics/pokemon/scraggy/back.png | Bin 556 -> 564 bytes graphics/pokemon/scyther/back.png | Bin 850 -> 861 bytes graphics/pokemon/scyther/icon.png | Bin 382 -> 350 bytes graphics/pokemon/seadra/back.png | Bin 803 -> 814 bytes graphics/pokemon/seadra/icon.png | Bin 393 -> 354 bytes graphics/pokemon/seaking/back.png | Bin 910 -> 928 bytes graphics/pokemon/seaking/icon.png | Bin 435 -> 399 bytes graphics/pokemon/sealeo/anim_front.png | Bin 1111 -> 1075 bytes graphics/pokemon/sealeo/icon.png | Bin 438 -> 398 bytes graphics/pokemon/seedot/back.png | Bin 556 -> 565 bytes graphics/pokemon/seedot/icon.png | Bin 303 -> 267 bytes graphics/pokemon/seel/back.png | Bin 544 -> 558 bytes graphics/pokemon/seel/icon.png | Bin 387 -> 349 bytes graphics/pokemon/seismitoad/anim_front.png | Bin 1447 -> 1408 bytes graphics/pokemon/seismitoad/back.png | Bin 606 -> 617 bytes graphics/pokemon/seismitoad/icon.png | Bin 507 -> 469 bytes graphics/pokemon/sentret/back.png | Bin 587 -> 598 bytes graphics/pokemon/serperior/anim_front.png | Bin 1619 -> 1599 bytes graphics/pokemon/serperior/back.png | Bin 733 -> 746 bytes graphics/pokemon/serperior/icon.png | Bin 535 -> 496 bytes graphics/pokemon/servine/anim_front.png | Bin 849 -> 825 bytes graphics/pokemon/servine/back.png | Bin 578 -> 587 bytes graphics/pokemon/servine/icon.png | Bin 444 -> 408 bytes graphics/pokemon/seviper/anim_front.png | Bin 1463 -> 1436 bytes graphics/pokemon/seviper/back.png | Bin 762 -> 772 bytes graphics/pokemon/sewaddle/anim_front.png | Bin 796 -> 771 bytes graphics/pokemon/sewaddle/back.png | Bin 459 -> 471 bytes graphics/pokemon/sharpedo/anim_front.png | Bin 1137 -> 1112 bytes graphics/pokemon/sharpedo/back.png | Bin 656 -> 669 bytes graphics/pokemon/sharpedo/mega/back.png | Bin 708 -> 722 bytes graphics/pokemon/sharpedo/mega/front.png | Bin 821 -> 835 bytes graphics/pokemon/sharpedo/mega/icon.png | Bin 419 -> 387 bytes graphics/pokemon/shaymin/anim_front.png | Bin 719 -> 728 bytes graphics/pokemon/shaymin/back.png | Bin 640 -> 648 bytes graphics/pokemon/shaymin/icon.png | Bin 345 -> 305 bytes graphics/pokemon/shaymin/sky/anim_front.png | Bin 979 -> 975 bytes graphics/pokemon/shaymin/sky/back.png | Bin 807 -> 821 bytes graphics/pokemon/shaymin/sky/icon.png | Bin 412 -> 473 bytes graphics/pokemon/shedinja/anim_front.png | Bin 1095 -> 1058 bytes graphics/pokemon/shedinja/back.png | Bin 789 -> 796 bytes graphics/pokemon/shedinja/icon.png | Bin 346 -> 307 bytes graphics/pokemon/shelgon/anim_front.png | Bin 1052 -> 1039 bytes graphics/pokemon/shelgon/back.png | Bin 526 -> 541 bytes graphics/pokemon/shelgon/icon.png | Bin 362 -> 321 bytes graphics/pokemon/shellder/anim_front.png | Bin 837 -> 804 bytes graphics/pokemon/shellder/back.png | Bin 418 -> 427 bytes graphics/pokemon/shellos/anim_front.png | Bin 745 -> 721 bytes graphics/pokemon/shellos/back.png | Bin 598 -> 605 bytes .../pokemon/shellos/east_sea/anim_front.png | Bin 873 -> 842 bytes graphics/pokemon/shellos/icon.png | Bin 427 -> 386 bytes graphics/pokemon/shelmet/anim_front.png | Bin 756 -> 734 bytes graphics/pokemon/shelmet/back.png | Bin 505 -> 515 bytes graphics/pokemon/shelmet/icon.png | Bin 321 -> 284 bytes graphics/pokemon/shieldon/anim_front.png | Bin 764 -> 735 bytes graphics/pokemon/shieldon/back.png | Bin 548 -> 560 bytes graphics/pokemon/shieldon/icon.png | Bin 353 -> 319 bytes graphics/pokemon/shiftry/anim_front.png | Bin 1485 -> 1483 bytes graphics/pokemon/shiftry/back.png | Bin 751 -> 765 bytes graphics/pokemon/shiinotic/back.png | Bin 638 -> 647 bytes graphics/pokemon/shiinotic/front.png | Bin 785 -> 793 bytes graphics/pokemon/shiinotic/icon.png | Bin 387 -> 351 bytes graphics/pokemon/shinx/icon.png | Bin 409 -> 376 bytes graphics/pokemon/shroomish/anim_front.png | Bin 643 -> 612 bytes graphics/pokemon/shroomish/back.png | Bin 529 -> 515 bytes graphics/pokemon/shroomish/icon.png | Bin 341 -> 303 bytes graphics/pokemon/shuckle/anim_front.png | Bin 814 -> 788 bytes graphics/pokemon/shuckle/back.png | Bin 490 -> 478 bytes graphics/pokemon/shuckle/icon.png | Bin 346 -> 309 bytes graphics/pokemon/shuppet/icon.png | Bin 300 -> 265 bytes graphics/pokemon/sigilyph/anim_front.png | Bin 1652 -> 1626 bytes graphics/pokemon/sigilyph/back.png | Bin 911 -> 871 bytes graphics/pokemon/silcoon/anim_front.png | Bin 743 -> 735 bytes graphics/pokemon/silcoon/back.png | Bin 489 -> 497 bytes graphics/pokemon/silcoon/icon.png | Bin 340 -> 303 bytes graphics/pokemon/silicobra/back.png | Bin 565 -> 571 bytes graphics/pokemon/silicobra/front.png | Bin 571 -> 581 bytes graphics/pokemon/silicobra/icon.png | Bin 343 -> 325 bytes graphics/pokemon/silvally/icon.png | Bin 423 -> 382 bytes graphics/pokemon/simipour/anim_front.png | Bin 1414 -> 1382 bytes graphics/pokemon/simipour/back.png | Bin 792 -> 804 bytes graphics/pokemon/simipour/icon.png | Bin 398 -> 364 bytes graphics/pokemon/simisage/anim_front.png | Bin 1404 -> 1406 bytes graphics/pokemon/simisage/back.png | Bin 675 -> 691 bytes graphics/pokemon/simisage/icon.png | Bin 444 -> 411 bytes graphics/pokemon/simisear/anim_front.png | Bin 1276 -> 1244 bytes graphics/pokemon/simisear/back.png | Bin 579 -> 594 bytes graphics/pokemon/simisear/icon.png | Bin 444 -> 406 bytes graphics/pokemon/sinistea/back.png | Bin 518 -> 527 bytes graphics/pokemon/sinistea/front.png | Bin 546 -> 553 bytes graphics/pokemon/sinistea/icon.png | Bin 339 -> 322 bytes graphics/pokemon/sirfetchd/back.png | Bin 802 -> 810 bytes graphics/pokemon/sirfetchd/icon.png | Bin 647 -> 630 bytes graphics/pokemon/sizzlipede/back.png | Bin 370 -> 380 bytes graphics/pokemon/sizzlipede/icon.png | Bin 310 -> 295 bytes graphics/pokemon/skarmory/anim_front.png | Bin 1531 -> 1501 bytes graphics/pokemon/skarmory/back.png | Bin 517 -> 528 bytes graphics/pokemon/skarmory/icon.png | Bin 432 -> 394 bytes graphics/pokemon/skiddo/anim_front.png | Bin 1076 -> 1038 bytes graphics/pokemon/skiddo/back.png | Bin 708 -> 689 bytes graphics/pokemon/skiddo/icon.png | Bin 396 -> 356 bytes graphics/pokemon/skiploom/anim_front.png | Bin 685 -> 657 bytes graphics/pokemon/skiploom/back.png | Bin 720 -> 726 bytes graphics/pokemon/skiploom/icon.png | Bin 404 -> 367 bytes graphics/pokemon/skitty/anim_front.png | Bin 898 -> 871 bytes graphics/pokemon/skitty/back.png | Bin 662 -> 675 bytes graphics/pokemon/skitty/icon.png | Bin 366 -> 334 bytes graphics/pokemon/skorupi/anim_front.png | Bin 1093 -> 1090 bytes graphics/pokemon/skorupi/back.png | Bin 733 -> 746 bytes graphics/pokemon/skorupi/icon.png | Bin 406 -> 371 bytes graphics/pokemon/skrelp/anim_front.png | Bin 751 -> 746 bytes graphics/pokemon/skrelp/back.png | Bin 608 -> 619 bytes graphics/pokemon/skrelp/icon.png | Bin 404 -> 366 bytes graphics/pokemon/skuntank/anim_front.png | Bin 1379 -> 1356 bytes graphics/pokemon/skuntank/back.png | Bin 813 -> 831 bytes graphics/pokemon/skuntank/icon.png | Bin 415 -> 375 bytes graphics/pokemon/skwovet/back.png | Bin 647 -> 659 bytes graphics/pokemon/skwovet/front.png | Bin 622 -> 624 bytes graphics/pokemon/skwovet/icon.png | Bin 381 -> 342 bytes graphics/pokemon/slaking/anim_front.png | Bin 1427 -> 1393 bytes graphics/pokemon/slaking/back.png | Bin 818 -> 779 bytes graphics/pokemon/slaking/icon.png | Bin 477 -> 438 bytes graphics/pokemon/slakoth/anim_front.png | Bin 908 -> 879 bytes graphics/pokemon/slakoth/back.png | Bin 595 -> 608 bytes graphics/pokemon/sliggoo/anim_front.png | Bin 929 -> 919 bytes graphics/pokemon/sliggoo/back.png | Bin 551 -> 546 bytes graphics/pokemon/sliggoo/hisuian/icon.png | Bin 408 -> 392 bytes graphics/pokemon/sliggoo/icon.png | Bin 365 -> 330 bytes graphics/pokemon/slowbro/galarian/back.png | Bin 506 -> 519 bytes graphics/pokemon/slowbro/galarian/front.png | Bin 920 -> 931 bytes graphics/pokemon/slowbro/galarian/icon.png | Bin 479 -> 466 bytes graphics/pokemon/slowbro/icon.png | Bin 496 -> 459 bytes graphics/pokemon/slowbro/mega/back.png | Bin 745 -> 758 bytes graphics/pokemon/slowbro/mega/front.png | Bin 850 -> 859 bytes graphics/pokemon/slowbro/mega/icon.png | Bin 449 -> 434 bytes graphics/pokemon/slowking/anim_front.png | Bin 1358 -> 1339 bytes graphics/pokemon/slowking/back.png | Bin 763 -> 776 bytes graphics/pokemon/slowking/galarian/back.png | Bin 693 -> 706 bytes graphics/pokemon/slowking/galarian/front.png | Bin 840 -> 853 bytes graphics/pokemon/slowking/galarian/icon.png | Bin 435 -> 396 bytes graphics/pokemon/slowpoke/galarian/back.png | Bin 548 -> 560 bytes graphics/pokemon/slowpoke/galarian/front.png | Bin 599 -> 607 bytes graphics/pokemon/slowpoke/galarian/icon.png | Bin 352 -> 321 bytes graphics/pokemon/slowpoke/icon.png | Bin 405 -> 371 bytes graphics/pokemon/slugma/anim_front.png | Bin 837 -> 806 bytes graphics/pokemon/slugma/back.png | Bin 573 -> 587 bytes graphics/pokemon/slugma/icon.png | Bin 380 -> 340 bytes graphics/pokemon/slurpuff/anim_front.png | Bin 915 -> 887 bytes graphics/pokemon/slurpuff/back.png | Bin 658 -> 672 bytes graphics/pokemon/slurpuff/icon.png | Bin 367 -> 331 bytes graphics/pokemon/smeargle/anim_front.png | Bin 1184 -> 1189 bytes graphics/pokemon/smeargle/back.png | Bin 681 -> 691 bytes graphics/pokemon/smeargle/icon.png | Bin 422 -> 386 bytes graphics/pokemon/smoochum/anim_front.png | Bin 787 -> 758 bytes graphics/pokemon/smoochum/back.png | Bin 508 -> 519 bytes graphics/pokemon/smoochum/icon.png | Bin 333 -> 298 bytes graphics/pokemon/sneasel/anim_front.png | Bin 1153 -> 1125 bytes graphics/pokemon/sneasel/back.png | Bin 677 -> 693 bytes graphics/pokemon/sneasel/hisuian/icon.png | Bin 349 -> 332 bytes graphics/pokemon/sneasel/icon.png | Bin 380 -> 344 bytes graphics/pokemon/sneasler/back.png | Bin 758 -> 821 bytes graphics/pokemon/sneasler/front.png | Bin 854 -> 913 bytes graphics/pokemon/sneasler/icon.png | Bin 495 -> 478 bytes graphics/pokemon/snivy/anim_front.png | Bin 805 -> 774 bytes graphics/pokemon/snivy/back.png | Bin 656 -> 663 bytes graphics/pokemon/snivy/icon.png | Bin 414 -> 374 bytes graphics/pokemon/snom/back.png | Bin 482 -> 491 bytes graphics/pokemon/snom/front.png | Bin 421 -> 430 bytes graphics/pokemon/snom/icon.png | Bin 319 -> 305 bytes graphics/pokemon/snorlax/back.png | Bin 456 -> 468 bytes graphics/pokemon/snorunt/anim_front.png | Bin 672 -> 634 bytes graphics/pokemon/snorunt/back.png | Bin 573 -> 582 bytes graphics/pokemon/snorunt/icon.png | Bin 299 -> 261 bytes graphics/pokemon/snover/anim_front.png | Bin 1033 -> 1000 bytes graphics/pokemon/snover/back.png | Bin 647 -> 659 bytes graphics/pokemon/snover/icon.png | Bin 355 -> 319 bytes graphics/pokemon/snubbull/anim_front.png | Bin 919 -> 885 bytes graphics/pokemon/snubbull/icon.png | Bin 355 -> 316 bytes graphics/pokemon/sobble/back.png | Bin 451 -> 467 bytes graphics/pokemon/sobble/front.png | Bin 583 -> 595 bytes graphics/pokemon/sobble/icon.png | Bin 462 -> 443 bytes graphics/pokemon/solgaleo/back.png | Bin 968 -> 978 bytes graphics/pokemon/solgaleo/front.png | Bin 1123 -> 1138 bytes graphics/pokemon/solgaleo/icon.png | Bin 510 -> 477 bytes graphics/pokemon/solosis/anim_front.png | Bin 639 -> 602 bytes graphics/pokemon/solosis/back.png | Bin 407 -> 417 bytes graphics/pokemon/solosis/icon.png | Bin 333 -> 308 bytes graphics/pokemon/solrock/anim_front.png | Bin 1484 -> 1461 bytes graphics/pokemon/solrock/back.png | Bin 847 -> 860 bytes graphics/pokemon/spearow/icon.png | Bin 388 -> 349 bytes graphics/pokemon/spectrier/back.png | Bin 643 -> 659 bytes graphics/pokemon/spectrier/front.png | Bin 853 -> 859 bytes graphics/pokemon/spectrier/icon.png | Bin 371 -> 333 bytes graphics/pokemon/spewpa/anim_front.png | Bin 798 -> 788 bytes graphics/pokemon/spewpa/back.png | Bin 531 -> 539 bytes graphics/pokemon/spewpa/icon.png | Bin 304 -> 264 bytes graphics/pokemon/spheal/icon.png | Bin 342 -> 303 bytes graphics/pokemon/spinarak/back.png | Bin 480 -> 490 bytes graphics/pokemon/spinarak/icon.png | Bin 372 -> 340 bytes graphics/pokemon/spinda/icon.png | Bin 424 -> 387 bytes graphics/pokemon/spiritomb/anim_front.png | Bin 1381 -> 1346 bytes graphics/pokemon/spiritomb/back.png | Bin 781 -> 790 bytes graphics/pokemon/spiritomb/icon.png | Bin 428 -> 390 bytes graphics/pokemon/spoink/anim_front.png | Bin 585 -> 567 bytes graphics/pokemon/spoink/back.png | Bin 568 -> 575 bytes graphics/pokemon/spoink/icon.png | Bin 298 -> 260 bytes graphics/pokemon/spritzee/anim_front.png | Bin 819 -> 813 bytes graphics/pokemon/spritzee/back.png | Bin 525 -> 537 bytes graphics/pokemon/spritzee/icon.png | Bin 343 -> 303 bytes graphics/pokemon/squirtle/icon.png | Bin 366 -> 331 bytes graphics/pokemon/stakataka/back.png | Bin 641 -> 652 bytes graphics/pokemon/stakataka/front.png | Bin 1059 -> 1068 bytes graphics/pokemon/stakataka/icon.png | Bin 445 -> 404 bytes graphics/pokemon/stantler/anim_front.png | Bin 1352 -> 1334 bytes graphics/pokemon/stantler/back.png | Bin 636 -> 647 bytes graphics/pokemon/stantler/icon.png | Bin 465 -> 425 bytes graphics/pokemon/staraptor/anim_front.png | Bin 1324 -> 1296 bytes graphics/pokemon/staraptor/back.png | Bin 759 -> 775 bytes graphics/pokemon/staravia/anim_front.png | Bin 1018 -> 995 bytes graphics/pokemon/starly/icon.png | Bin 386 -> 349 bytes graphics/pokemon/starmie/back.png | Bin 806 -> 817 bytes graphics/pokemon/starmie/icon.png | Bin 427 -> 387 bytes graphics/pokemon/staryu/back.png | Bin 627 -> 637 bytes graphics/pokemon/staryu/icon.png | Bin 335 -> 294 bytes graphics/pokemon/steelix/anim_front.png | Bin 1712 -> 1686 bytes graphics/pokemon/steelix/back.png | Bin 779 -> 800 bytes graphics/pokemon/steelix/mega/back.png | Bin 997 -> 1012 bytes graphics/pokemon/steelix/mega/front.png | Bin 1341 -> 1357 bytes graphics/pokemon/steelix/mega/icon.png | Bin 507 -> 469 bytes graphics/pokemon/steenee/back.png | Bin 725 -> 740 bytes graphics/pokemon/steenee/front.png | Bin 642 -> 651 bytes graphics/pokemon/steenee/icon.png | Bin 395 -> 361 bytes graphics/pokemon/stonjourner/back.png | Bin 709 -> 719 bytes graphics/pokemon/stonjourner/front.png | Bin 877 -> 889 bytes graphics/pokemon/stonjourner/icon.png | Bin 544 -> 529 bytes graphics/pokemon/stoutland/anim_front.png | Bin 1643 -> 1612 bytes graphics/pokemon/stoutland/back.png | Bin 733 -> 742 bytes graphics/pokemon/stoutland/icon.png | Bin 487 -> 454 bytes graphics/pokemon/stufful/back.png | Bin 577 -> 592 bytes graphics/pokemon/stufful/icon.png | Bin 329 -> 290 bytes graphics/pokemon/stunfisk/anim_front.png | Bin 908 -> 893 bytes graphics/pokemon/stunfisk/back.png | Bin 444 -> 452 bytes graphics/pokemon/stunfisk/galarian/back.png | Bin 506 -> 517 bytes graphics/pokemon/stunfisk/galarian/front.png | Bin 558 -> 568 bytes graphics/pokemon/stunfisk/galarian/icon.png | Bin 388 -> 371 bytes graphics/pokemon/stunfisk/icon.png | Bin 371 -> 331 bytes graphics/pokemon/stunky/anim_front.png | Bin 968 -> 961 bytes graphics/pokemon/stunky/back.png | Bin 737 -> 750 bytes graphics/pokemon/stunky/icon.png | Bin 371 -> 336 bytes graphics/pokemon/sudowoodo/anim_front.png | Bin 1091 -> 1070 bytes graphics/pokemon/sudowoodo/back.png | Bin 665 -> 673 bytes graphics/pokemon/sudowoodo/icon.png | Bin 421 -> 382 bytes graphics/pokemon/suicune/anim_front.png | Bin 1778 -> 1754 bytes graphics/pokemon/suicune/back.png | Bin 854 -> 866 bytes graphics/pokemon/sunflora/anim_front.png | Bin 1001 -> 974 bytes graphics/pokemon/sunflora/back.png | Bin 705 -> 717 bytes graphics/pokemon/sunflora/icon.png | Bin 467 -> 431 bytes graphics/pokemon/sunkern/anim_front.png | Bin 669 -> 628 bytes graphics/pokemon/sunkern/back.png | Bin 553 -> 561 bytes graphics/pokemon/sunkern/icon.png | Bin 344 -> 305 bytes graphics/pokemon/surskit/anim_front.png | Bin 551 -> 547 bytes graphics/pokemon/surskit/back.png | Bin 502 -> 515 bytes graphics/pokemon/surskit/icon.png | Bin 344 -> 308 bytes graphics/pokemon/swablu/anim_front.png | Bin 911 -> 876 bytes graphics/pokemon/swadloon/anim_front.png | Bin 941 -> 907 bytes graphics/pokemon/swadloon/back.png | Bin 510 -> 520 bytes graphics/pokemon/swadloon/icon.png | Bin 325 -> 290 bytes graphics/pokemon/swalot/anim_front.png | Bin 1164 -> 1125 bytes graphics/pokemon/swampert/anim_front.png | Bin 1482 -> 1452 bytes graphics/pokemon/swampert/back.png | Bin 724 -> 736 bytes graphics/pokemon/swampert/icon.png | Bin 488 -> 449 bytes graphics/pokemon/swampert/mega/back.png | Bin 852 -> 863 bytes graphics/pokemon/swampert/mega/front.png | Bin 1114 -> 1128 bytes graphics/pokemon/swampert/mega/icon.png | Bin 489 -> 451 bytes graphics/pokemon/swanna/back.png | Bin 719 -> 730 bytes graphics/pokemon/swanna/icon.png | Bin 468 -> 428 bytes graphics/pokemon/swellow/back.png | Bin 589 -> 598 bytes graphics/pokemon/swellow/icon.png | Bin 418 -> 383 bytes graphics/pokemon/swinub/back.png | Bin 444 -> 456 bytes graphics/pokemon/swinub/icon.png | Bin 329 -> 292 bytes graphics/pokemon/swirlix/anim_front.png | Bin 803 -> 796 bytes graphics/pokemon/swirlix/back.png | Bin 470 -> 485 bytes graphics/pokemon/swirlix/icon.png | Bin 313 -> 281 bytes graphics/pokemon/swoobat/anim_front.png | Bin 1452 -> 1440 bytes graphics/pokemon/swoobat/back.png | Bin 728 -> 741 bytes graphics/pokemon/swoobat/icon.png | Bin 443 -> 410 bytes graphics/pokemon/sylveon/anim_front.png | Bin 1211 -> 1204 bytes graphics/pokemon/sylveon/back.png | Bin 788 -> 773 bytes graphics/pokemon/sylveon/icon.png | Bin 483 -> 444 bytes graphics/pokemon/taillow/back.png | Bin 511 -> 523 bytes graphics/pokemon/taillow/icon.png | Bin 352 -> 315 bytes graphics/pokemon/talonflame/anim_front.png | Bin 1740 -> 1728 bytes graphics/pokemon/talonflame/back.png | Bin 651 -> 615 bytes graphics/pokemon/talonflame/icon.png | Bin 492 -> 454 bytes graphics/pokemon/tangela/back.png | Bin 711 -> 720 bytes graphics/pokemon/tangela/icon.png | Bin 416 -> 377 bytes graphics/pokemon/tangrowth/anim_front.png | Bin 1467 -> 1445 bytes graphics/pokemon/tangrowth/back.png | Bin 733 -> 745 bytes graphics/pokemon/tangrowth/icon.png | Bin 428 -> 391 bytes graphics/pokemon/tapu_bulu/anim_front.png | Bin 1313 -> 1325 bytes graphics/pokemon/tapu_bulu/back.png | Bin 782 -> 794 bytes graphics/pokemon/tapu_bulu/icon.png | Bin 447 -> 415 bytes graphics/pokemon/tapu_fini/anim_front.png | Bin 1262 -> 1274 bytes graphics/pokemon/tapu_fini/back.png | Bin 753 -> 763 bytes graphics/pokemon/tapu_fini/icon.png | Bin 405 -> 368 bytes graphics/pokemon/tapu_koko/anim_front.png | Bin 1431 -> 1445 bytes graphics/pokemon/tapu_koko/back.png | Bin 907 -> 918 bytes graphics/pokemon/tapu_koko/icon.png | Bin 508 -> 474 bytes graphics/pokemon/tapu_lele/anim_front.png | Bin 1231 -> 1245 bytes graphics/pokemon/tapu_lele/back.png | Bin 770 -> 781 bytes graphics/pokemon/tapu_lele/icon.png | Bin 430 -> 396 bytes graphics/pokemon/tauros/back.png | Bin 574 -> 589 bytes graphics/pokemon/teddiursa/back.png | Bin 497 -> 512 bytes graphics/pokemon/teddiursa/icon.png | Bin 331 -> 294 bytes graphics/pokemon/tepig/anim_front.png | Bin 787 -> 783 bytes graphics/pokemon/tepig/back.png | Bin 588 -> 603 bytes graphics/pokemon/tepig/icon.png | Bin 372 -> 334 bytes graphics/pokemon/terrakion/anim_front.png | Bin 1536 -> 1494 bytes graphics/pokemon/terrakion/back.png | Bin 744 -> 753 bytes graphics/pokemon/terrakion/icon.png | Bin 463 -> 424 bytes graphics/pokemon/thievul/back.png | Bin 665 -> 669 bytes graphics/pokemon/thievul/front.png | Bin 813 -> 828 bytes graphics/pokemon/thievul/icon.png | Bin 439 -> 427 bytes graphics/pokemon/throh/anim_front.png | Bin 1233 -> 1198 bytes graphics/pokemon/throh/back.png | Bin 532 -> 545 bytes graphics/pokemon/throh/icon.png | Bin 467 -> 429 bytes graphics/pokemon/thundurus/anim_front.png | Bin 1537 -> 1515 bytes graphics/pokemon/thundurus/back.png | Bin 1135 -> 1147 bytes .../pokemon/thundurus/therian/anim_front.png | Bin 1833 -> 1804 bytes graphics/pokemon/thundurus/therian/back.png | Bin 826 -> 836 bytes graphics/pokemon/thundurus/therian/icon.png | Bin 563 -> 618 bytes graphics/pokemon/thwackey/back.png | Bin 710 -> 723 bytes graphics/pokemon/thwackey/front.png | Bin 753 -> 764 bytes graphics/pokemon/thwackey/icon.png | Bin 520 -> 504 bytes graphics/pokemon/timburr/anim_front.png | Bin 968 -> 943 bytes graphics/pokemon/timburr/back.png | Bin 621 -> 638 bytes graphics/pokemon/timburr/icon.png | Bin 379 -> 343 bytes graphics/pokemon/tirtouga/anim_front.png | Bin 895 -> 860 bytes graphics/pokemon/tirtouga/back.png | Bin 495 -> 508 bytes graphics/pokemon/togedemaru/back.png | Bin 579 -> 591 bytes graphics/pokemon/togedemaru/front.png | Bin 525 -> 534 bytes graphics/pokemon/togedemaru/icon.png | Bin 359 -> 320 bytes graphics/pokemon/togekiss/anim_front.png | Bin 1085 -> 1055 bytes graphics/pokemon/togekiss/back.png | Bin 546 -> 560 bytes graphics/pokemon/togekiss/icon.png | Bin 399 -> 362 bytes graphics/pokemon/togepi/back.png | Bin 593 -> 603 bytes graphics/pokemon/togepi/icon.png | Bin 374 -> 337 bytes graphics/pokemon/togetic/icon.png | Bin 327 -> 294 bytes graphics/pokemon/torchic/anim_front.png | Bin 704 -> 694 bytes graphics/pokemon/torchic/icon.png | Bin 348 -> 311 bytes graphics/pokemon/torkoal/anim_front.png | Bin 1711 -> 1684 bytes graphics/pokemon/torkoal/back.png | Bin 589 -> 600 bytes graphics/pokemon/torkoal/icon.png | Bin 329 -> 289 bytes graphics/pokemon/tornadus/anim_front.png | Bin 1471 -> 1453 bytes graphics/pokemon/tornadus/back.png | Bin 980 -> 993 bytes .../pokemon/tornadus/therian/anim_front.png | Bin 1745 -> 1715 bytes graphics/pokemon/tornadus/therian/back.png | Bin 730 -> 739 bytes graphics/pokemon/tornadus/therian/icon.png | Bin 505 -> 479 bytes graphics/pokemon/torracat/back.png | Bin 713 -> 725 bytes graphics/pokemon/torracat/front.png | Bin 832 -> 844 bytes graphics/pokemon/torracat/icon.png | Bin 404 -> 370 bytes graphics/pokemon/torterra/anim_front.png | Bin 2031 -> 1994 bytes graphics/pokemon/torterra/back.png | Bin 879 -> 890 bytes graphics/pokemon/torterra/icon.png | Bin 446 -> 415 bytes graphics/pokemon/totodile/back.png | Bin 687 -> 698 bytes graphics/pokemon/totodile/icon.png | Bin 351 -> 316 bytes graphics/pokemon/toucannon/back.png | Bin 617 -> 629 bytes graphics/pokemon/toucannon/front.png | Bin 736 -> 747 bytes graphics/pokemon/toucannon/icon.png | Bin 449 -> 412 bytes graphics/pokemon/toxapex/back.png | Bin 781 -> 790 bytes graphics/pokemon/toxapex/front.png | Bin 1010 -> 1020 bytes graphics/pokemon/toxapex/icon.png | Bin 484 -> 446 bytes graphics/pokemon/toxel/back.png | Bin 568 -> 576 bytes graphics/pokemon/toxel/front.png | Bin 618 -> 631 bytes graphics/pokemon/toxel/icon.png | Bin 410 -> 378 bytes graphics/pokemon/toxicroak/anim_front.png | Bin 1317 -> 1303 bytes graphics/pokemon/toxicroak/back.png | Bin 663 -> 676 bytes graphics/pokemon/toxicroak/icon.png | Bin 356 -> 317 bytes graphics/pokemon/toxtricity/back.png | Bin 863 -> 876 bytes graphics/pokemon/toxtricity/front.png | Bin 833 -> 850 bytes graphics/pokemon/toxtricity/icon.png | Bin 443 -> 426 bytes graphics/pokemon/toxtricity/low_key/back.png | Bin 853 -> 866 bytes graphics/pokemon/toxtricity/low_key/front.png | Bin 825 -> 836 bytes graphics/pokemon/toxtricity/low_key/icon.png | Bin 430 -> 415 bytes graphics/pokemon/tranquill/anim_front.png | Bin 966 -> 938 bytes graphics/pokemon/tranquill/back.png | Bin 501 -> 511 bytes graphics/pokemon/tranquill/icon.png | Bin 351 -> 312 bytes graphics/pokemon/trapinch/anim_front.png | Bin 601 -> 573 bytes graphics/pokemon/trapinch/back.png | Bin 505 -> 513 bytes graphics/pokemon/trapinch/icon.png | Bin 344 -> 308 bytes graphics/pokemon/treecko/anim_front.png | Bin 931 -> 925 bytes graphics/pokemon/treecko/back.png | Bin 610 -> 622 bytes graphics/pokemon/treecko/icon.png | Bin 396 -> 360 bytes graphics/pokemon/trevenant/anim_front.png | Bin 1310 -> 1282 bytes graphics/pokemon/trevenant/back.png | Bin 872 -> 880 bytes graphics/pokemon/trevenant/icon.png | Bin 449 -> 410 bytes graphics/pokemon/tropius/anim_front.png | Bin 1641 -> 1609 bytes graphics/pokemon/tropius/back.png | Bin 601 -> 615 bytes graphics/pokemon/trubbish/anim_front.png | Bin 882 -> 849 bytes graphics/pokemon/trubbish/back.png | Bin 467 -> 477 bytes graphics/pokemon/trumbeak/back.png | Bin 609 -> 620 bytes graphics/pokemon/trumbeak/front.png | Bin 602 -> 613 bytes graphics/pokemon/trumbeak/icon.png | Bin 339 -> 304 bytes graphics/pokemon/tsareena/back.png | Bin 765 -> 722 bytes graphics/pokemon/tsareena/front.png | Bin 891 -> 849 bytes graphics/pokemon/tsareena/icon.png | Bin 416 -> 379 bytes graphics/pokemon/turtonator/back.png | Bin 830 -> 842 bytes graphics/pokemon/turtonator/icon.png | Bin 533 -> 493 bytes graphics/pokemon/turtwig/anim_front.png | Bin 905 -> 892 bytes graphics/pokemon/turtwig/back.png | Bin 628 -> 638 bytes graphics/pokemon/turtwig/icon.png | Bin 339 -> 299 bytes graphics/pokemon/tympole/anim_front.png | Bin 560 -> 530 bytes graphics/pokemon/tympole/back.png | Bin 427 -> 435 bytes graphics/pokemon/tympole/icon.png | Bin 279 -> 244 bytes graphics/pokemon/tynamo/back.png | Bin 445 -> 454 bytes graphics/pokemon/tynamo/icon.png | Bin 299 -> 275 bytes graphics/pokemon/type_null/back.png | Bin 752 -> 764 bytes graphics/pokemon/type_null/front.png | Bin 990 -> 1001 bytes graphics/pokemon/type_null/icon.png | Bin 496 -> 459 bytes graphics/pokemon/typhlosion/hisuian/back.png | Bin 820 -> 888 bytes graphics/pokemon/typhlosion/hisuian/icon.png | Bin 447 -> 438 bytes graphics/pokemon/tyranitar/anim_front.png | Bin 1583 -> 1563 bytes graphics/pokemon/tyranitar/back.png | Bin 726 -> 739 bytes graphics/pokemon/tyranitar/mega/back.png | Bin 821 -> 834 bytes graphics/pokemon/tyranitar/mega/front.png | Bin 1031 -> 1042 bytes graphics/pokemon/tyranitar/mega/icon.png | Bin 543 -> 505 bytes graphics/pokemon/tyrantrum/anim_front.png | Bin 1829 -> 1823 bytes graphics/pokemon/tyrantrum/back.png | Bin 640 -> 625 bytes graphics/pokemon/tyrantrum/icon.png | Bin 568 -> 532 bytes graphics/pokemon/tyrogue/anim_front.png | Bin 875 -> 871 bytes graphics/pokemon/tyrogue/back.png | Bin 585 -> 597 bytes graphics/pokemon/tyrogue/icon.png | Bin 345 -> 307 bytes graphics/pokemon/tyrunt/anim_front.png | Bin 1012 -> 998 bytes graphics/pokemon/tyrunt/back.png | Bin 628 -> 647 bytes graphics/pokemon/tyrunt/icon.png | Bin 388 -> 351 bytes graphics/pokemon/umbreon/anim_front.png | Bin 868 -> 854 bytes graphics/pokemon/umbreon/back.png | Bin 640 -> 651 bytes graphics/pokemon/umbreon/icon.png | Bin 374 -> 345 bytes graphics/pokemon/unfezant/anim_front.png | Bin 1418 -> 1398 bytes graphics/pokemon/unfezant/anim_frontf.png | Bin 1196 -> 1179 bytes graphics/pokemon/unfezant/back.png | Bin 995 -> 1062 bytes graphics/pokemon/unfezant/frontf.png | Bin 728 -> 689 bytes graphics/pokemon/unfezant/iconf.png | Bin 390 -> 457 bytes graphics/pokemon/unown/anim_front.png | Bin 394 -> 345 bytes graphics/pokemon/unown/b/anim_front.png | Bin 405 -> 362 bytes graphics/pokemon/unown/b/back.png | Bin 430 -> 394 bytes graphics/pokemon/unown/b/icon.png | Bin 294 -> 256 bytes graphics/pokemon/unown/back.png | Bin 425 -> 376 bytes graphics/pokemon/unown/c/anim_front.png | Bin 459 -> 403 bytes graphics/pokemon/unown/c/back.png | Bin 526 -> 505 bytes graphics/pokemon/unown/c/icon.png | Bin 327 -> 276 bytes graphics/pokemon/unown/d/anim_front.png | Bin 404 -> 359 bytes graphics/pokemon/unown/d/back.png | Bin 474 -> 451 bytes graphics/pokemon/unown/d/icon.png | Bin 294 -> 257 bytes graphics/pokemon/unown/e/anim_front.png | Bin 381 -> 332 bytes graphics/pokemon/unown/e/back.png | Bin 424 -> 400 bytes graphics/pokemon/unown/e/icon.png | Bin 287 -> 249 bytes .../unown/exclamation_mark/anim_front.png | Bin 351 -> 301 bytes .../pokemon/unown/exclamation_mark/back.png | Bin 355 -> 312 bytes .../pokemon/unown/exclamation_mark/icon.png | Bin 268 -> 220 bytes graphics/pokemon/unown/f/anim_front.png | Bin 417 -> 372 bytes graphics/pokemon/unown/f/back.png | Bin 455 -> 417 bytes graphics/pokemon/unown/f/icon.png | Bin 305 -> 269 bytes graphics/pokemon/unown/g/anim_front.png | Bin 412 -> 369 bytes graphics/pokemon/unown/g/back.png | Bin 456 -> 431 bytes graphics/pokemon/unown/g/icon.png | Bin 277 -> 241 bytes graphics/pokemon/unown/h/anim_front.png | Bin 480 -> 433 bytes graphics/pokemon/unown/h/back.png | Bin 563 -> 534 bytes graphics/pokemon/unown/h/icon.png | Bin 312 -> 270 bytes graphics/pokemon/unown/i/anim_front.png | Bin 356 -> 311 bytes graphics/pokemon/unown/i/back.png | Bin 360 -> 328 bytes graphics/pokemon/unown/i/icon.png | Bin 269 -> 223 bytes graphics/pokemon/unown/icon.png | Bin 293 -> 245 bytes graphics/pokemon/unown/j/anim_front.png | Bin 387 -> 342 bytes graphics/pokemon/unown/j/back.png | Bin 414 -> 370 bytes graphics/pokemon/unown/j/icon.png | Bin 283 -> 244 bytes graphics/pokemon/unown/k/anim_front.png | Bin 385 -> 354 bytes graphics/pokemon/unown/k/back.png | Bin 420 -> 388 bytes graphics/pokemon/unown/k/icon.png | Bin 292 -> 244 bytes graphics/pokemon/unown/l/anim_front.png | Bin 363 -> 321 bytes graphics/pokemon/unown/l/back.png | Bin 399 -> 356 bytes graphics/pokemon/unown/l/icon.png | Bin 280 -> 243 bytes graphics/pokemon/unown/m/anim_front.png | Bin 463 -> 423 bytes graphics/pokemon/unown/m/back.png | Bin 533 -> 499 bytes graphics/pokemon/unown/m/icon.png | Bin 318 -> 268 bytes graphics/pokemon/unown/n/anim_front.png | Bin 428 -> 385 bytes graphics/pokemon/unown/n/back.png | Bin 511 -> 474 bytes graphics/pokemon/unown/n/icon.png | Bin 303 -> 259 bytes graphics/pokemon/unown/o/anim_front.png | Bin 473 -> 426 bytes graphics/pokemon/unown/o/back.png | Bin 539 -> 517 bytes graphics/pokemon/unown/o/icon.png | Bin 305 -> 260 bytes graphics/pokemon/unown/p/anim_front.png | Bin 368 -> 318 bytes graphics/pokemon/unown/p/back.png | Bin 375 -> 333 bytes graphics/pokemon/unown/p/icon.png | Bin 266 -> 227 bytes graphics/pokemon/unown/q/anim_front.png | Bin 371 -> 327 bytes graphics/pokemon/unown/q/back.png | Bin 368 -> 335 bytes graphics/pokemon/unown/q/icon.png | Bin 277 -> 238 bytes .../unown/question_mark/anim_front.png | Bin 388 -> 339 bytes graphics/pokemon/unown/question_mark/back.png | Bin 411 -> 382 bytes graphics/pokemon/unown/question_mark/icon.png | Bin 286 -> 245 bytes graphics/pokemon/unown/r/anim_front.png | Bin 364 -> 319 bytes graphics/pokemon/unown/r/back.png | Bin 373 -> 337 bytes graphics/pokemon/unown/r/icon.png | Bin 273 -> 232 bytes graphics/pokemon/unown/s/anim_front.png | Bin 410 -> 373 bytes graphics/pokemon/unown/s/back.png | Bin 473 -> 439 bytes graphics/pokemon/unown/s/icon.png | Bin 302 -> 259 bytes graphics/pokemon/unown/t/anim_front.png | Bin 368 -> 323 bytes graphics/pokemon/unown/t/back.png | Bin 360 -> 324 bytes graphics/pokemon/unown/t/icon.png | Bin 282 -> 241 bytes graphics/pokemon/unown/u/anim_front.png | Bin 450 -> 397 bytes graphics/pokemon/unown/u/back.png | Bin 503 -> 454 bytes graphics/pokemon/unown/u/icon.png | Bin 295 -> 250 bytes graphics/pokemon/unown/v/anim_front.png | Bin 406 -> 358 bytes graphics/pokemon/unown/v/back.png | Bin 447 -> 416 bytes graphics/pokemon/unown/v/icon.png | Bin 295 -> 255 bytes graphics/pokemon/unown/w/anim_front.png | Bin 405 -> 363 bytes graphics/pokemon/unown/w/back.png | Bin 422 -> 378 bytes graphics/pokemon/unown/w/icon.png | Bin 303 -> 261 bytes graphics/pokemon/unown/x/anim_front.png | Bin 395 -> 344 bytes graphics/pokemon/unown/x/back.png | Bin 421 -> 376 bytes graphics/pokemon/unown/x/icon.png | Bin 300 -> 255 bytes graphics/pokemon/unown/y/anim_front.png | Bin 406 -> 355 bytes graphics/pokemon/unown/y/back.png | Bin 438 -> 404 bytes graphics/pokemon/unown/y/icon.png | Bin 293 -> 251 bytes graphics/pokemon/unown/z/anim_front.png | Bin 367 -> 332 bytes graphics/pokemon/unown/z/back.png | Bin 368 -> 348 bytes graphics/pokemon/unown/z/icon.png | Bin 279 -> 244 bytes graphics/pokemon/ursaluna/back.png | Bin 603 -> 564 bytes graphics/pokemon/ursaluna/front.png | Bin 1032 -> 996 bytes graphics/pokemon/ursaluna/icon.png | Bin 439 -> 420 bytes graphics/pokemon/ursaring/anim_front.png | Bin 1572 -> 1547 bytes graphics/pokemon/ursaring/back.png | Bin 600 -> 609 bytes graphics/pokemon/ursaring/icon.png | Bin 404 -> 367 bytes graphics/pokemon/urshifu/back.png | Bin 925 -> 938 bytes graphics/pokemon/urshifu/front.png | Bin 1025 -> 1035 bytes graphics/pokemon/urshifu/icon.png | Bin 437 -> 401 bytes .../urshifu/rapid_strike_style/back.png | Bin 876 -> 887 bytes .../urshifu/rapid_strike_style/front.png | Bin 977 -> 983 bytes graphics/pokemon/uxie/anim_front.png | Bin 1058 -> 1034 bytes graphics/pokemon/uxie/back.png | Bin 500 -> 459 bytes graphics/pokemon/uxie/icon.png | Bin 477 -> 446 bytes graphics/pokemon/vanillish/anim_front.png | Bin 933 -> 941 bytes graphics/pokemon/vanillish/back.png | Bin 664 -> 674 bytes graphics/pokemon/vanillish/icon.png | Bin 310 -> 270 bytes graphics/pokemon/vanillite/anim_front.png | Bin 774 -> 746 bytes graphics/pokemon/vanillite/back.png | Bin 527 -> 538 bytes graphics/pokemon/vanillite/icon.png | Bin 284 -> 246 bytes graphics/pokemon/vanilluxe/anim_front.png | Bin 1197 -> 1174 bytes graphics/pokemon/vanilluxe/back.png | Bin 905 -> 921 bytes graphics/pokemon/vaporeon/back.png | Bin 693 -> 705 bytes graphics/pokemon/vaporeon/icon.png | Bin 480 -> 440 bytes graphics/pokemon/venipede/anim_front.png | Bin 806 -> 786 bytes graphics/pokemon/venipede/back.png | Bin 572 -> 582 bytes graphics/pokemon/venipede/icon.png | Bin 326 -> 291 bytes graphics/pokemon/venomoth/icon.png | Bin 456 -> 422 bytes graphics/pokemon/venonat/icon.png | Bin 378 -> 339 bytes graphics/pokemon/venusaur/mega/back.png | Bin 1151 -> 1164 bytes graphics/pokemon/venusaur/mega/front.png | Bin 1428 -> 1438 bytes graphics/pokemon/vespiquen/anim_front.png | Bin 1341 -> 1309 bytes graphics/pokemon/vespiquen/back.png | Bin 946 -> 952 bytes graphics/pokemon/vespiquen/icon.png | Bin 414 -> 374 bytes graphics/pokemon/vibrava/back.png | Bin 617 -> 628 bytes graphics/pokemon/vibrava/icon.png | Bin 349 -> 309 bytes graphics/pokemon/victini/anim_front.png | Bin 939 -> 914 bytes graphics/pokemon/victini/back.png | Bin 645 -> 658 bytes graphics/pokemon/victreebel/icon.png | Bin 451 -> 414 bytes graphics/pokemon/vigoroth/anim_front.png | Bin 1099 -> 1084 bytes graphics/pokemon/vigoroth/back.png | Bin 761 -> 782 bytes graphics/pokemon/vigoroth/icon.png | Bin 419 -> 387 bytes graphics/pokemon/vikavolt/back.png | Bin 810 -> 822 bytes graphics/pokemon/vikavolt/icon.png | Bin 461 -> 424 bytes graphics/pokemon/virizion/back.png | Bin 627 -> 635 bytes graphics/pokemon/vivillon/anim_front.png | Bin 1583 -> 1543 bytes .../vivillon/archipelago/anim_front.png | Bin 1670 -> 1639 bytes .../pokemon/vivillon/archipelago/back.png | Bin 855 -> 820 bytes .../pokemon/vivillon/archipelago/icon.png | Bin 491 -> 555 bytes graphics/pokemon/vivillon/back.png | Bin 801 -> 765 bytes .../vivillon/continental/anim_front.png | Bin 1630 -> 1588 bytes .../pokemon/vivillon/continental/back.png | Bin 842 -> 804 bytes .../pokemon/vivillon/elegant/anim_front.png | Bin 1679 -> 1639 bytes graphics/pokemon/vivillon/elegant/back.png | Bin 854 -> 819 bytes .../pokemon/vivillon/fancy/anim_front.png | Bin 1757 -> 1722 bytes graphics/pokemon/vivillon/fancy/back.png | Bin 950 -> 917 bytes .../pokemon/vivillon/garden/anim_front.png | Bin 1645 -> 1605 bytes graphics/pokemon/vivillon/garden/back.png | Bin 841 -> 801 bytes .../vivillon/high_plains/anim_front.png | Bin 1603 -> 1564 bytes .../pokemon/vivillon/high_plains/back.png | Bin 788 -> 751 bytes .../pokemon/vivillon/high_plains/icon.png | Bin 475 -> 539 bytes graphics/pokemon/vivillon/icon.png | Bin 467 -> 532 bytes .../pokemon/vivillon/jungle/anim_front.png | Bin 1521 -> 1486 bytes graphics/pokemon/vivillon/jungle/back.png | Bin 791 -> 750 bytes .../pokemon/vivillon/marine/anim_front.png | Bin 1595 -> 1569 bytes graphics/pokemon/vivillon/marine/back.png | Bin 839 -> 802 bytes .../pokemon/vivillon/meadow/anim_front.png | Bin 1639 -> 1612 bytes graphics/pokemon/vivillon/meadow/back.png | Bin 893 -> 858 bytes graphics/pokemon/vivillon/meadow/icon.png | Bin 484 -> 445 bytes .../pokemon/vivillon/modern/anim_front.png | Bin 1699 -> 1672 bytes graphics/pokemon/vivillon/modern/back.png | Bin 874 -> 835 bytes .../pokemon/vivillon/monsoon/anim_front.png | Bin 1488 -> 1454 bytes graphics/pokemon/vivillon/monsoon/back.png | Bin 734 -> 699 bytes .../pokemon/vivillon/ocean/anim_front.png | Bin 1691 -> 1667 bytes graphics/pokemon/vivillon/ocean/back.png | Bin 910 -> 873 bytes .../pokemon/vivillon/poke_ball/anim_front.png | Bin 1666 -> 1632 bytes graphics/pokemon/vivillon/poke_ball/back.png | Bin 879 -> 847 bytes .../pokemon/vivillon/polar/anim_front.png | Bin 1611 -> 1571 bytes graphics/pokemon/vivillon/polar/back.png | Bin 830 -> 793 bytes .../pokemon/vivillon/river/anim_front.png | Bin 1541 -> 1507 bytes graphics/pokemon/vivillon/river/back.png | Bin 754 -> 718 bytes .../pokemon/vivillon/sandstorm/anim_front.png | Bin 1575 -> 1540 bytes graphics/pokemon/vivillon/sandstorm/back.png | Bin 766 -> 728 bytes .../pokemon/vivillon/savanna/anim_front.png | Bin 1667 -> 1630 bytes graphics/pokemon/vivillon/savanna/back.png | Bin 863 -> 826 bytes graphics/pokemon/vivillon/sun/anim_front.png | Bin 1671 -> 1631 bytes graphics/pokemon/vivillon/sun/back.png | Bin 884 -> 846 bytes .../pokemon/vivillon/tundra/anim_front.png | Bin 1558 -> 1519 bytes graphics/pokemon/vivillon/tundra/back.png | Bin 782 -> 746 bytes graphics/pokemon/volbeat/anim_front.png | Bin 1288 -> 1255 bytes graphics/pokemon/volbeat/back.png | Bin 747 -> 758 bytes graphics/pokemon/volbeat/icon.png | Bin 352 -> 318 bytes graphics/pokemon/volcanion/anim_front.png | Bin 1797 -> 1800 bytes graphics/pokemon/volcanion/back.png | Bin 804 -> 767 bytes graphics/pokemon/volcanion/icon.png | Bin 496 -> 456 bytes graphics/pokemon/volcarona/anim_front.png | Bin 1547 -> 1528 bytes graphics/pokemon/volcarona/back.png | Bin 914 -> 926 bytes graphics/pokemon/voltorb/back.png | Bin 445 -> 454 bytes graphics/pokemon/voltorb/hisuian/back.png | Bin 484 -> 443 bytes graphics/pokemon/voltorb/hisuian/front.png | Bin 472 -> 436 bytes graphics/pokemon/voltorb/hisuian/icon.png | Bin 269 -> 254 bytes graphics/pokemon/vullaby/anim_front.png | Bin 1123 -> 1099 bytes graphics/pokemon/vullaby/back.png | Bin 482 -> 497 bytes graphics/pokemon/vullaby/icon.png | Bin 378 -> 340 bytes graphics/pokemon/vulpix/alolan/back.png | Bin 629 -> 646 bytes graphics/pokemon/vulpix/alolan/front.png | Bin 664 -> 673 bytes graphics/pokemon/vulpix/alolan/icon.png | Bin 416 -> 487 bytes graphics/pokemon/vulpix/icon.png | Bin 384 -> 349 bytes graphics/pokemon/wailmer/back.png | Bin 466 -> 477 bytes graphics/pokemon/wailmer/icon.png | Bin 386 -> 347 bytes graphics/pokemon/wailord/anim_front.png | Bin 1124 -> 1121 bytes graphics/pokemon/wailord/back.png | Bin 332 -> 342 bytes graphics/pokemon/walrein/anim_front.png | Bin 1677 -> 1641 bytes graphics/pokemon/walrein/back.png | Bin 817 -> 828 bytes graphics/pokemon/walrein/icon.png | Bin 529 -> 490 bytes graphics/pokemon/wartortle/icon.png | Bin 417 -> 379 bytes graphics/pokemon/watchog/anim_front.png | Bin 1044 -> 1030 bytes graphics/pokemon/watchog/back.png | Bin 727 -> 739 bytes graphics/pokemon/weavile/anim_front.png | Bin 1371 -> 1349 bytes graphics/pokemon/weavile/back.png | Bin 830 -> 843 bytes graphics/pokemon/weavile/icon.png | Bin 401 -> 364 bytes graphics/pokemon/weedle/icon.png | Bin 311 -> 279 bytes graphics/pokemon/weepinbell/icon.png | Bin 398 -> 366 bytes graphics/pokemon/weezing/back.png | Bin 730 -> 741 bytes graphics/pokemon/weezing/galarian/back.png | Bin 855 -> 865 bytes graphics/pokemon/weezing/galarian/front.png | Bin 1266 -> 1275 bytes graphics/pokemon/weezing/galarian/icon.png | Bin 542 -> 529 bytes graphics/pokemon/whimsicott/back.png | Bin 519 -> 535 bytes graphics/pokemon/whimsicott/icon.png | Bin 442 -> 405 bytes graphics/pokemon/whirlipede/anim_front.png | Bin 1204 -> 1174 bytes graphics/pokemon/whirlipede/back.png | Bin 713 -> 723 bytes graphics/pokemon/whirlipede/icon.png | Bin 421 -> 381 bytes graphics/pokemon/whiscash/anim_front.png | Bin 1275 -> 1240 bytes graphics/pokemon/whiscash/icon.png | Bin 399 -> 363 bytes graphics/pokemon/whismur/anim_front.png | Bin 769 -> 743 bytes graphics/pokemon/whismur/back.png | Bin 482 -> 499 bytes graphics/pokemon/whismur/icon.png | Bin 345 -> 305 bytes graphics/pokemon/wigglytuff/icon.png | Bin 376 -> 338 bytes graphics/pokemon/wimpod/back.png | Bin 560 -> 570 bytes graphics/pokemon/wimpod/icon.png | Bin 392 -> 354 bytes graphics/pokemon/wingull/anim_front.png | Bin 755 -> 724 bytes graphics/pokemon/wingull/icon.png | Bin 373 -> 341 bytes graphics/pokemon/wishiwashi/back.png | Bin 549 -> 558 bytes graphics/pokemon/wishiwashi/front.png | Bin 428 -> 437 bytes graphics/pokemon/wishiwashi/icon.png | Bin 356 -> 320 bytes graphics/pokemon/wishiwashi/school/back.png | Bin 952 -> 966 bytes graphics/pokemon/wishiwashi/school/front.png | Bin 1026 -> 1043 bytes graphics/pokemon/wishiwashi/school/icon.png | Bin 445 -> 580 bytes graphics/pokemon/wobbuffet/anim_front.png | Bin 1105 -> 1080 bytes graphics/pokemon/wobbuffet/back.png | Bin 445 -> 457 bytes graphics/pokemon/wobbuffet/icon.png | Bin 362 -> 322 bytes graphics/pokemon/woobat/anim_front.png | Bin 817 -> 780 bytes graphics/pokemon/woobat/back.png | Bin 535 -> 545 bytes graphics/pokemon/wooloo/back.png | Bin 462 -> 473 bytes graphics/pokemon/wooloo/front.png | Bin 598 -> 611 bytes graphics/pokemon/wooloo/icon.png | Bin 338 -> 321 bytes graphics/pokemon/wooper/anim_front.png | Bin 823 -> 790 bytes graphics/pokemon/wooper/back.png | Bin 574 -> 533 bytes graphics/pokemon/wooper/icon.png | Bin 310 -> 275 bytes graphics/pokemon/wormadam/back.png | Bin 635 -> 647 bytes .../pokemon/wormadam/sandy_cloak/back.png | Bin 647 -> 660 bytes .../pokemon/wormadam/trash_cloak/back.png | Bin 604 -> 620 bytes graphics/pokemon/wurmple/anim_front.png | Bin 918 -> 921 bytes graphics/pokemon/wurmple/back.png | Bin 627 -> 641 bytes graphics/pokemon/wurmple/icon.png | Bin 366 -> 337 bytes graphics/pokemon/wynaut/anim_front.png | Bin 858 -> 834 bytes graphics/pokemon/wynaut/back.png | Bin 460 -> 475 bytes graphics/pokemon/wyrdeer/back.png | Bin 785 -> 854 bytes graphics/pokemon/wyrdeer/front.png | Bin 1030 -> 1094 bytes graphics/pokemon/wyrdeer/icon.png | Bin 413 -> 395 bytes graphics/pokemon/xatu/back.png | Bin 672 -> 683 bytes graphics/pokemon/xatu/icon.png | Bin 370 -> 335 bytes .../pokemon/xerneas/active/anim_front.png | Bin 1673 -> 1665 bytes graphics/pokemon/xerneas/active/back.png | Bin 900 -> 857 bytes graphics/pokemon/xerneas/active/icon.png | Bin 590 -> 551 bytes graphics/pokemon/xurkitree/back.png | Bin 690 -> 703 bytes graphics/pokemon/xurkitree/front.png | Bin 1131 -> 1139 bytes graphics/pokemon/xurkitree/icon.png | Bin 422 -> 386 bytes graphics/pokemon/yamask/anim_front.png | Bin 617 -> 584 bytes graphics/pokemon/yamask/back.png | Bin 376 -> 388 bytes graphics/pokemon/yamask/galarian/back.png | Bin 372 -> 388 bytes graphics/pokemon/yamask/galarian/front.png | Bin 478 -> 487 bytes graphics/pokemon/yamask/galarian/icon.png | Bin 324 -> 306 bytes graphics/pokemon/yamask/icon.png | Bin 327 -> 289 bytes graphics/pokemon/yamper/back.png | Bin 509 -> 518 bytes graphics/pokemon/yamper/front.png | Bin 625 -> 636 bytes graphics/pokemon/yamper/icon.png | Bin 404 -> 392 bytes graphics/pokemon/yanma/anim_front.png | Bin 950 -> 917 bytes graphics/pokemon/yanma/back.png | Bin 874 -> 881 bytes graphics/pokemon/yanma/icon.png | Bin 429 -> 391 bytes graphics/pokemon/yanmega/back.png | Bin 693 -> 704 bytes graphics/pokemon/yanmega/icon.png | Bin 514 -> 478 bytes graphics/pokemon/yungoos/back.png | Bin 437 -> 446 bytes graphics/pokemon/yungoos/front.png | Bin 560 -> 572 bytes graphics/pokemon/yungoos/icon.png | Bin 344 -> 308 bytes graphics/pokemon/yveltal/anim_front.png | Bin 1893 -> 1894 bytes graphics/pokemon/yveltal/back.png | Bin 646 -> 660 bytes graphics/pokemon/yveltal/icon.png | Bin 500 -> 461 bytes graphics/pokemon/zacian/back.png | Bin 674 -> 686 bytes .../pokemon/zacian/crowned_sword/back.png | Bin 863 -> 876 bytes .../pokemon/zacian/crowned_sword/front.png | Bin 1258 -> 1268 bytes .../pokemon/zacian/crowned_sword/icon.png | Bin 528 -> 510 bytes graphics/pokemon/zacian/front.png | Bin 966 -> 977 bytes graphics/pokemon/zacian/icon.png | Bin 437 -> 423 bytes graphics/pokemon/zamazenta/back.png | Bin 787 -> 797 bytes .../pokemon/zamazenta/crowned_shield/back.png | Bin 894 -> 906 bytes .../zamazenta/crowned_shield/front.png | Bin 1215 -> 1225 bytes .../pokemon/zamazenta/crowned_shield/icon.png | Bin 527 -> 511 bytes graphics/pokemon/zamazenta/front.png | Bin 1012 -> 1020 bytes graphics/pokemon/zamazenta/icon.png | Bin 420 -> 401 bytes graphics/pokemon/zangoose/back.png | Bin 677 -> 693 bytes graphics/pokemon/zapdos/galarian/back.png | Bin 579 -> 589 bytes graphics/pokemon/zapdos/galarian/front.png | Bin 933 -> 943 bytes graphics/pokemon/zapdos/galarian/icon.png | Bin 454 -> 442 bytes graphics/pokemon/zapdos/icon.png | Bin 430 -> 391 bytes graphics/pokemon/zarude/back.png | Bin 780 -> 797 bytes graphics/pokemon/zarude/dada/back.png | Bin 863 -> 879 bytes graphics/pokemon/zarude/dada/front.png | Bin 1061 -> 1071 bytes graphics/pokemon/zarude/dada/icon.png | Bin 542 -> 508 bytes graphics/pokemon/zarude/front.png | Bin 1009 -> 1019 bytes graphics/pokemon/zarude/icon.png | Bin 536 -> 502 bytes graphics/pokemon/zebstrika/anim_front.png | Bin 1511 -> 1477 bytes graphics/pokemon/zebstrika/back.png | Bin 757 -> 771 bytes graphics/pokemon/zebstrika/icon.png | Bin 412 -> 378 bytes graphics/pokemon/zekrom/anim_front.png | Bin 1915 -> 1886 bytes graphics/pokemon/zekrom/back.png | Bin 681 -> 753 bytes graphics/pokemon/zeraora/back.png | Bin 745 -> 758 bytes graphics/pokemon/zeraora/front.png | Bin 1008 -> 1016 bytes graphics/pokemon/zeraora/icon.png | Bin 426 -> 389 bytes graphics/pokemon/zigzagoon/back.png | Bin 667 -> 679 bytes graphics/pokemon/zigzagoon/galarian/back.png | Bin 673 -> 687 bytes graphics/pokemon/zigzagoon/galarian/front.png | Bin 690 -> 697 bytes graphics/pokemon/zigzagoon/galarian/icon.png | Bin 398 -> 380 bytes graphics/pokemon/zigzagoon/icon.png | Bin 402 -> 367 bytes graphics/pokemon/zoroark/anim_front.png | Bin 1446 -> 1414 bytes graphics/pokemon/zoroark/back.png | Bin 712 -> 725 bytes graphics/pokemon/zoroark/hisuian/back.png | Bin 1225 -> 1185 bytes graphics/pokemon/zoroark/hisuian/front.png | Bin 1136 -> 1099 bytes graphics/pokemon/zoroark/hisuian/icon.png | Bin 654 -> 634 bytes graphics/pokemon/zorua/anim_front.png | Bin 775 -> 753 bytes graphics/pokemon/zorua/back.png | Bin 588 -> 596 bytes graphics/pokemon/zorua/hisuian/back.png | Bin 808 -> 772 bytes graphics/pokemon/zorua/hisuian/front.png | Bin 781 -> 750 bytes graphics/pokemon/zorua/hisuian/icon.png | Bin 447 -> 431 bytes graphics/pokemon/zorua/icon.png | Bin 371 -> 336 bytes graphics/pokemon/zubat/icon.png | Bin 357 -> 318 bytes graphics/pokemon/zweilous/anim_front.png | Bin 1129 -> 1115 bytes graphics/pokemon/zweilous/back.png | Bin 680 -> 691 bytes .../pokemon/zygarde/10_percent/anim_front.png | Bin 1281 -> 1270 bytes graphics/pokemon/zygarde/10_percent/back.png | Bin 620 -> 631 bytes graphics/pokemon/zygarde/anim_front.png | Bin 1644 -> 1630 bytes graphics/pokemon/zygarde/back.png | Bin 776 -> 788 bytes .../pokemon/zygarde/complete/anim_front.png | Bin 2027 -> 2019 bytes graphics/pokemon/zygarde/complete/back.png | Bin 691 -> 698 bytes graphics/pokemon/zygarde/icon.png | Bin 556 -> 518 bytes 2721 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/abomasnow/anim_front.png b/graphics/pokemon/abomasnow/anim_front.png index e998b9a61d68981dd6a9c58f90c32231e23a0fa7..3ba7033b87f82aa8694e3ced1a0c67a817887a68 100644 GIT binary patch delta 1622 zcmV-c2C4bH4WbQ@Uw;NINklHt_6u>DE+Cxc0SF=LBQaaN#kV)pD&KQ6= z(sKkpDjrRf&m99-vV!gbn#^^9c+61P{^$DM-H{?4HJOSoz1YC{?sp%&ulI}NQ1YB_ zr@@bVOJB6vkss^>4w}+|KMh0&8JhOom|pxk_V>f15g>GVj(!$N@pQYa|r`rheuVSob-)WARz3{wCI z2pEl|nZ)RnfPfl85+qO_g9b+aD3)dtbH4##35BjNl7N84M8+17G=$htO_~F|{Xhf* z@<;;%-}eb{sek$-%NH6Z6?x1J@o@E0>HQYbu>E|y` zcLfIS4j5U$MYw21#c&zM~2b$^oKa&Up zTigSN6@p1fW9Z^D3rr1QYH2wN4O|j%#XZ0AUWpjduwf24DEi%Ch617%IQ|(qRnf9eAOy@ZtY}X&yh00r z0jOP63&gC#inb%?LVX_Gq5-O?x}o7JRP-ek+74)qO;S-ARcq>|QZ?vCl|9vo&_JQi zH4vWPVt=omkqFBaaJxR=Dn<2BD6Eq1b#sN_CBEKLLcQWj^zNan=)A1V=hS+|i?DZJ zLjq_Onb7;OdIq>EsaLdyOsBLh3Za{0R^cAXs8rIrMhE;;yR@5R-W>!IAfPZ3**Q)GwKw})|w0L?F*RiXUaKl7m0Qnpr*4hk-}W>=YWRj z+xdw=QfUp7Edyzvh; zAb+IT0qFa7jJl>hw?j?H#1l&+l3wxZIuz<5B#YKLR~dpa0@6O2=~>Pcj}wU0gifDfs;K z$agdtOhuzX#-r#3xcKr&{_v83LQuc4Z#2kwR6qhjY5*xKKvA++NZ*WMJc^?~QXRa1 z`cUX_I6s&e7c(Bk(Ldv0v-*fAN`DO;O!YHpJ<1ujb|5%l4t#FNldv8|(O-v(6+fjk z1_PcojHyKc;<5jbT_IZh;}@ zSmH7*>Q%wvV%`9w7EqYrd4v_k{p@%-H>wr49_6YV`aT9oBr+&kz-p2kWq%bR=ZeP3 zstmB~10q78(5|)&C|XhrT*cO-$PY~LU#mp19}sXz6&PEOLOiBItq0l$3LIR9FkVTMYWhEI(@4qdrK0rZxr4aibMeCVcJ0K6#ejv19w5c21 z$;CMOvtaBDLSv0yX?vR4mSFi)DevtJK7p>4k& zc%thMvH^B_Aa;Sr>H$Dc59BWNxwl{IL2nL54-TLCLuU^A{h_-T|NDa}{7?PiZxt$0 Ua;&hNn*aa+07*qoM6N<$f}q$1(*OVf delta 1648 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 VTlb9R$u$4~002ovPDHLkV1o9;L!AHs diff --git a/graphics/pokemon/abomasnow/icon.png b/graphics/pokemon/abomasnow/icon.png index dcd764be9c575bb3f79166b21a1cc6d0090a1c22..8a3f86f2cfeac1b9064e90a8ae09f25c6cf044a0 100644 GIT binary patch delta 307 zcmV-30nGlV1BnBWUw;7Apgl5zot2+&PP;Lb)7WcC?4 z^#EDA^{W08(2Z3cTapcQZp%#%A1Q)(Me&!a-MqmC0vQF;(hg+?ShE{!ihxywOj+d9 zDrR;Wpr;#C)*j*U0ivSe9vb6~esNR%PE`R>whXbRK@En1vBev`~ zf?6xq2NySkx;K`nyj+?YwEfv=H2&HwQ@hF-b4~y%lzxBmFEJrf0AiiMlzJ$e)oEpH zH>ZZ}>HkOlrZAEZ4Z?_#&&c&BOI~Yq; zole~X{BSfinsDycseNONIVJ!N%CJ3zmuQG6Kx`AZSr1ir_q8(l;;X@{|G0iL7%74g zBfbbG_!JC%1xh1XFq{Vi&qXj(3}#U#S%cYsD+0G*FznCkHT@FIW2_F1*&eD0<~~H` jK7tf|fGYY>KkMTYcA$ZTRM=KE00000NkvXXu0mjf76^@c diff --git a/graphics/pokemon/abomasnow/mega/back.png b/graphics/pokemon/abomasnow/mega/back.png index 62d6ba6add8372297a80c2cfcd552912900adbe5..67481bce50d850fa497c6b15b927014804b80983 100644 GIT binary patch delta 972 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 M07*qoM6N<$g3t&{&Hw-a delta 1239 zcmV;|1StE(3b+c8B#}W-e*gz`Nliru=LQD>8Uy|0jnx1E1e-}jK~zY`b(FDh+%^=( z<h6PE{wR+Uil{;Ekz@$~PPd2r*11iT zSKw0=Y0d#`agwA_L7P_AX0>FD^(hu@p3rtu5CERg?M0eff5e_=f!i9uMR zcIV96_VCF75FJ&lZHXa@3OIlUSI<##xiKJyY{q7y~>au zo)U`83nM9Oq^l2Un_E@&p`l=3sSEku0bGm|v3;ka}7f^_3lK&QO`GNXySICsUFk5jb< zgc$%Q-+h!T2IeI4OoodJS}Q z4KQ17HtThgD&3bVzDyz5%t`O7Tp>vbk!x{yW~*rYeD|3I^zFUB{XtL_Uc{S^rvqTb zKBL#~iN5*g4`(`(!idRNQ}e?hL`-%Ne1ihN!pFHT5?y!qad!Q(pZF>}eT_UQkV1Da zr{d+qe{&#$qw)8_Lp;-5n#q~yUS1qELj5`E4+o?KNnUW#)5r*yBXist907|)H+_}4v#}D98M^{iU?ykIU7W^F1bVK@9FXYB)u2M22@DjW zyT-j4xXFm?6kRTJOqXGY27qk(tH`-#l<2xj>kJIagB`fqX`~pQw$g2r=^6t`lA`On ze=|5&Gr`|!n5IgzNiL+Om@-2>|!-{ZL(cGTX+B+;k<2y`NA%i ztGNSmyIKN14f54ue%^D!rL`}XPyLF#O+E3yVj=8BTML)Z+P&pd;XEf|0Ag?H_PBVf zdrJ|AZqARBQ-RN3aKG*I=Xt+X(5ykS z`T`-@m2sf;{m&H;S^)lLlR-lulml&*Y7>-?skqn{QmNz|sd}*KFvwD(Zjn;k(j{1; zHY2Po7?OyqliZ@(XSSujMjTPeIwcFl6_M{o<~H$2VsOL@Ze1uy#JA&VH~!&{UPcVZ zI)~HUOp`kSCugSN^?8w={cr|QJRRQmorn>&yZoU60*a;7i%}1GzI+X+o)62{>1hSX zBkxb^UkL+ugo)R}h;N0VJHlkQ!hHEr-wHGNF$pvKF$*(I{HK0=0P*_P={oXvSO5S3 M07*qoM6N<$f*4nRS^xk5 delta 300 zcmV+{0n`4W1IGi9UpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!cV}KZT z0003hNklG%x&V4#Ndb*+`3SZh;PT!Zd~DxUPcVZI)~HUOp_A+>Q#`{4|rcsjiAI}sylclkpD1QbiD7f(Ip`SLfQdOj?Fr>7MlkGwyve yBfb@e?g*3J3iIVheJjl5$0W?`$1KcG{rCX!`qt@II!sLf0000F1DK=}geck)HPcBwz1D=cPft;PIWM>B=H z-1*Q_RcSyb%vlm`ddQN%&zL6*?sC{T-Gey>ZmS?7ZlMJz@o7K-N&cM-X(JY}_y**N zY#RWRTdhwpYQ=szc{cE+752TJloCJ-GK?c z&y1@M0X%aE&MBZJ0k+o#*`bcm*ir{#4+itH@i<}3@$5HYK#Phn3gE2>b5#5b(->q$ zn7uKGCBzS!Y92$r`ceNT*m((8KdLZt5nR|4>h5f4C1Q8%4k+h|8X-7kapvv?hTfMU fbin-dpvE6!R}#DbO7e@@00000NkvXXu0mjfQoMuE delta 320 zcmV-G0l)t60+$1jV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U8KuHdI{z z008<)L_t(I%iWSOa>O7EMLB_Wojs8!Y2qWKg~oJ=Y0TA9nrbzZ84qgmqs+YCY3f zGxpDmhoQHcVXwf*ay(3c-(U7|a{j0|YsC@I*&a8(Y;t+Fn=ic+BzT_@Rz5qwB1Y$` zAq!Jz$0hBdJW;iAXQbX3%)iy|0b{rWhGGXyHR$O8=FIp3rXk2GFndD~RLX};B~CHl z_$a?gc3$F*k2wO24iXl42{=cURRk_Jo$EPE0|YoLGj|&pdR~UuFY)8icE15)SG)g! S8KJxY0000Wrk<~ diff --git a/graphics/pokemon/absol/back.png b/graphics/pokemon/absol/back.png index 1f2d997e8838f7750eb778fcf59bb80becf1869b..029980de2a74185279be9267eb2291207ae9f454 100644 GIT binary patch delta 542 zcmV+(0^$Ar1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z&6L4P!$1&*_Y%m_t>)mZsfggM_C?yl(B=u$s~}s7ha%Kwj|xjOd4bwj5qu|SlWdJ< zcJ(CAvH#b9{(m=#_?I)F>HFm<9nlO21D_56(^MXhM!kRwKq}>E7$5{pr92K2ktMFg zPeeaRP>!I5_>IL$*kVF|UHd=nIP!^co{K2ZG{08rW=%bYy#A!@ENlpNN380Z_=;{C zAoT#w;69ZJ@CN%*sU=QiGG!BN_h{!u_GWi1u&i`U<@r`|5oXRnPEJ`M!v;tO5(5BL zxJ;iJAgXohATQpzt7rpn+}jbOTOoT7SN;gLg*@XfQ?~%_iEw5_?KNyr{H{zENod8XU!-_2jWN26D23T|r3Y&55Rxki$8rO6ox0YZ4vY`L#qF%CN z06GXXnAZT4GAikLcVjf2GTSrO_N_CNqdu+{kkdCy#G7SV3EC7@%$);ZzEdjCH)`43 zVusqLaA$41m(@3=ey&Rh1Ib5uKHwAl>;M1&07*qoM6N<$f{NVnH2?qr delta 535 zcmV+y0_gpR1^on&B#}W-e*gz`Nliru=LQD>8VZCsHE{p{0pLkQK~zY`&6Uqi!axwl zduh_6i}v7+Vu*=1=!+DR4fF|=tBG0CcpxT7_o&H+PG10d6%*gd*|rOn&Muyeb7X#< z@B8*2p7$SXfYrCR{V2v74F4e>w?Y6Jzfj(RUK) z!#TqH&4?@ahzVxxpVPRoHG@3&d`Hs!UWkV^<`~iaSD|aEO^_OasB2;ix@myO0+<0$ z5eqpzU|$N6!GwiV(!q8Qy53oD_DBL*)rW`;w}P@TGXvP%EfeB69)XvTue$fXt-;~L)rSH~v9gEI6Xb4r5~ASz!0h)ce6dbLc=N-6 zvRqM*(@~*gpfPcf*it|WT0%C!vOA#A9@j>K0C*~4jT^Gie*^*G2>f0awaAVDa3MfJ zUITJMUg#t(`k)*xHrRk%I3RoCm4n%QE diff --git a/graphics/pokemon/absol/mega/back.png b/graphics/pokemon/absol/mega/back.png index 5a3cf00f685ade5250352c5535d5c5e99052f92c..bc4313f9351a17a5b3c14168f37bb5c4bbae29e9 100644 GIT binary patch delta 829 zcmV-D1H$~52crj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{lrtK~zY` zm6Xj+8!-^acYE3+mMaHwLTwJc8cPX^dZ;3U;EKcpn3ZNNZV)NGZUVI|?%ad8M0t-s zLf?n+*RB_6QRk2^|1$HR|BSczYpjcZM|F{X*}VhY=K$TjO(6ddnEAIhuOJ@}UjvmM z04F&hHXi{lMFnjpL7rTHd;pwhKq*{}3br{QFS{B$1TaN)%?H5aMIz{K;Zh*b=D_)7 zAa+=R39)ONI6KS66~K6QKm`$~?)w^^Sk_YnzyyGQkiAgE0VN>+)C;=uW00=-#AUX|I zM=Tg9ro7O~aS5{3Z^69ijpky9g-3=+b|_l5-=DJ{84XC^(G( zhfzv!ChH@Y-=Bwne>IG9?LQd=*5lJFr@){h?<4}8-grQa1!;;4RZbq|#8nbi_}Jgis`G`yP>K5022=!|9gZp2|$E8jE*w@4@pY4$o<6n*jX z<1J%woq%ePHHAU7Dgy96fP3BM72W_QNigpM?uNM-1V!-zMiSFZbf~>i00000NkvXX Hu0mjfhqG$1 delta 819 zcmV-31I+xR2bTwsB#}W-e*gz`Nliru=LQD>8Vqe)kVF6g0{TfrK~zY`mDEp9+b|RW z@MNbPu`;=c6WV&%)mTbVwZl}I39gm+04CCl#SJQT*R(Lp;?5n!rONl%N7(n-^S{KQ zY-m0}A-}%&{QR6O``g-P|6av1`J;OS+^3*?+7BT956s=KHq9U&e~({-LXEi#7| zz=kNGO-c}F%Xh#<0&;G16tGKyxa@Ou2rxu(%|_sH8AaKxYzPEx3N9|a=r9B2yleG~ z18oGDWa-&kp~U8ROO-QlL$1#@B2aX`{5A-1>Q7rw+MWB_0@>3{;n1lKLpbdHbpjxE>@IFam!5C}=q~ zn`~b^?0k{9(L*icCS5D(2x$9{o8f(7OxTHfcF?$Q$mFe-)6k#i(=g(Vgo9Vl0p|(s z0)X{R0{nB3oD2Xj;s9u<-4vrkot!BwY z;ybG)_XDSXp1La;N2rn35o2&A2bii_BBN{RYIUn33ZoMnb2GH48Ou;b z{!jR?c<=03J{OpHOB~sjPZW~!e!iT0Z+oyF2G^H z_+U?WfgZSk8lV9#U~tlZ0R#v@4YwBP0KEYTAW{jio(IQa7!F$*2#CQ0h-v`haR&gj z6Oh2PB5 z3P8gkrTi3CF_DK4TJ?w=VS3=jAkpfMA+XF0U@GHlJWtpjSo#%z5RXsE1GgoeN2&q* z0K71a;q^Ftj#U)4tZXyVb22_d;A0q`0&LDQYC{bq7#tB+4a_kQ0>I-$MEpx#9|Zi& z3;h=uMV`f!qpJmO0xS-8(YiqZ{5faHXCSml0-`V?s%s5u;w0LO^MrZ z`Kl;*Z{9j< zDRc;qVj9@(4h^7}NZ}O-tR2h3EYxmSnt&`KU4^xy2q^R5el#=zX=`BZutJt)>HOTa z6>OQvL<2m3WgO4T`?3S1Mf9-4@ElA@5m6c=b1hYoJUI5nXRe3+pe&ynz*H*KSQo3A zQ`M!TfHhD!X8bF-Y7b1>0(j@ilqv2sm*ascfXk9FYt#V!!=G&hx|VR4tO-{uaEW;N zHa~1O&&uCmr!h|}Rn&Hxg_mj@G@J3o$0>cNZzP;~eVfv>?$Ty6d?{DxA>9MoM{94M zgg-{|O4cv3$4k*ao8P`lYJvWWZpn!W1e@h#FWCPM(^u!AF^^Vi1t<8 delta 920 zcmV;J184k%2>S<+B#}W-e*gz`Nliru=LQD>8Vwp;pwa*U171l)K~zY`t(CuT+eQ?} zPeKNcx)NXsPpTRPf;ajZl#o%S0lLj(m_Rhr1fB_RhETWTNo3fY+qj5EXD|f*C;hMT z-jO17blMK>TO{#5{J!5OA^y7!MnX)!@~ktLeq4-uKp=$tC%_Gae+-U*SIJc$kT4Q* zbfEjd00JNlFo1MnbkPG`aDg;}R-gwAMl3)`BOnGLoF_>#KFYv_3_^gk1t6RD03ch# zz1IK|&Jqi7Lk3{}ZJVcS1R7vCHV+K&0BMuvzz8H-YbB;*cDbh40r1`pj{r^YEK~!K zQILqgq)klh;k{8ke`80K9)uYnS=%uJR)q!3F?*o%TpWN^)BxG^iakgV`8?Gf5XBHC zNd|AH$#+ym*TcrP6Ei2%YXW{wk}H7ib-`_Dft-S4!fAme<-q`il8ID)XzN2jRD?~^Ny)t#SXvCzU%))t&UHo&~X^i~&eZ?B2Jfy?dg6OU2lp+}!V ze^;Tr+{JW|f1|HGo~V%xNGNhmLlx#oZMdZ`s<(=ZVvad`NV$l&aMuGIRY2&nhqUQ* z9}vO-bK`+66)yqmL0Gi{_#{N%$=je!(sK>q~^m$L=`IM4oqP9ln0d``+!Z(hU1aU4LT%bJV1sY_3R zYM^P%j1RXgH;wl9EdOdzhO4kar90000D5z=x diff --git a/graphics/pokemon/absol/mega/icon.png b/graphics/pokemon/absol/mega/icon.png index 48318a667ac5bc9473a2149c24335e41ad1ec7dd..d6f9ce87bb6e8821edb5b52a914f71770843abd1 100644 GIT binary patch delta 349 zcmV-j0iyoW1G58=Uw;8UNklox%U>=+^-Uk4q@XFZw zH0I-ELdMu5&gY7Cr-Sg$!wKgR5DyeQKln)_tpcjxv7CKKmVfNd^NgeGo zuR^Eewa^YDQiFJPu|T_cp(986wP2C`hvkt>S{*KETo!D@#Qij;9M#lppwYPx4`0d~ z*vBH+b`|o8Zv`z9jM?H-Rg4D8CC+!J&t=J>)7x$9!M*He0j~P@^><((?FpF3O9sZU zy8#9WFGey17*^=979j$|*vaS;Fn*Msv~dHBm=<8Jv5p8#jg*84%#@yxfytxIz!W|L vFoh2R#%=frz})a5z-;)idp0@mX2m#F00000NkvXXu0mjf!7!og delta 380 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 delta 655 zcmV;A0&xA528#xeB#}W-VgLtpNliru=LQD>8W9d%{G9**0&Yn}K~zY`t<|w^+b|FY zU=`3JWQmj)h-d>w#+Ybl#V}CFoQeW@1a~bwRIg#QT3D`KEG-?lQ1^1ZBPE%V=yVAY zBuMVVe|MCOMA18u-x`1C9=slpK@nH3Ui~;8kKY3zbD*lKul(b;5ZIiszNspllYd%9 zd|(z-l*2jy5&{(kkjhZpFFIIY1M<}a=g)Jn!|KTeY5tP2y73bamFbS(ES0^gD2=ge(wR$3L^ydSogrJ zuUDAh?^uj%XN7;?1cAbPjuwEl0Ke@VfXMG595R&dz+F3ukPFaxASyxQ-$+qSThRC* zE(z2$sseXR^LO&T?WvAA%JiU{f+$usWnhqvka98tojt`0;ehNKIRgo;u*V5%9K%4< zG-?KDdW9WIWsJlLn#&X@Y9K`mr7>>C%OaozIDnS+&PacpX8{)H=!LDNfd@PPIM8qBi*MzG({0wM>7hpA;f3y2csZ>dWU zKx+pQw8RMFV!Go3MDq?ksBi3OKm3Ls6}=VsxaGBe*R}4>VujaGDyi^G7RwH}CtZUC pg#rG@YUm%(18}cH@s9uQ{{i??>-?6P8AbpA002ovPDHLkV1m;tDg6Kd diff --git a/graphics/pokemon/aegislash/anim_front.png b/graphics/pokemon/aegislash/anim_front.png index a2b46d1d67fc23106669e754d602cab7a6302db4..0e1377186928e0e14ce65280af1312feb4178644 100644 GIT binary patch delta 1306 zcmV+#1?BpJ3;ha^bbkc%Nkll*O6vt`Ypf#ie8ZfK?zSdGlS{86o&d}eAn_8PdrQXgV{@KML0q+9w#7J)$DDJ{2<2b|XHO=EO#I@--+t^72#Pb-aV_i* zI6jC*2YDuYH5R58-Z~&~rrIWU81NX2!U&`wJa=AC{LEv%bY5cRZ4JNH!X~ZktZ6qI)acsqYTX=W+Upw${vWwyFZ~Q z;m2s3%~&yJ?4m6aju1fK6abfl)KjUj56>VxqYc~V9ZDNaG+XSovlSqig)Sy0N_fUx zj&)k?))Gh>SZ1tb6gw{ODW)bYFcF@L#v4VQ=Ro%yO)t4;%j7;p-;==ks-p-!KYwAV zpG2R(`F`eltDYnPF3Kc;ge872Z{5Pvz-GczBXm{#=qa8=a8nlZIq%qz+A;S1d1(U&Mm@2;eY%|+#>KCnBjN0N89AFy!PF^@oFS9QzT+|$VyxD z9APP}t92_6VT5nGWxgq#*ZEWo9A!YU#*rxiw-6wM3>Xw?JOCeyf!D_pI4+(aj-^7$ z{2(-n6*9mblmVE;$3bxln8aXf@UC=z7z_sQO4cP%ZfXbR0Yr%ZK0o{mWfNj?P|SYc Q@&Et;07*qoM6N<$f<;$g!TpMq3W5uebbkN`bV*G`2j>O{0U8tFQ=PE@00iYpL_t(o!?l(%Z`(!`$7yiT z8qxs`7*+sZYN;dbXN!^{7I2~tUEQKXH%SPIZVu`CfP&1zg`SN9(r9?|w=g_#p$3Bk z7vB(M$i~mmcVr!lCy_*9go{AkPw)Tk-Rb?GBni(ess7n``+rj4bt6FZdO&Rea76a%fx`x1#+vQ+E+y`x@C@ z7=i#lUipro1Z4+=kTwdI1o{C;Lk)q2UjPYDKz_a!{V;@~G9lBHB@;r%?F18mez**T zLk+6{copbaLjVB3D*>iz$1%l9E_zlwnTO#rAj2Ru6+Ed3&mz8G1B6##w*AOsJ|0)9 z<-i=CD}Ny)z0W9C!HY7QJ|J)fFbhh6nR*4_Q(sADTp?I0L{+}J2;}d}XBpx?fN7egwUJBavvLXu1cQJ*SZYTb zqewCfurj6N!op*zER|?ho8<~u<$o|QHZTQ&v46r65H?vP0h0NsC`y~P^*o>mfF$3T zcoK}|*9Su3&xw1IZ#R)xz^(pt%ftq-eLclJZeLe+QnW&MA(DO^By_`CHw?!vzrLUj9pZhqX`1&n;c;IAoW}-?85;>7o=nQtVc+P@@9*@ zHdwZ-AhIzrUcw7%Gpy5cx6XmIgJs4_#))OKfnaLf0#oj(XuNUUTLt=;XnN@*U4NvH z5&B*ZTrN8b*Yi`F`Dy&=tM3=Cx9mwAV7yEmNNMU1%GS+24NS^CHAYv(kAdJxGH%MC zK4U$Tu@uXR*4-}wGhV9vLh`%hC;7WxGCkafnc9|Z)!X~zbLg<^N z;UG_f*Ajs)mXUFVOAyWz0W+ltV1KUs974esF=t(75qJJH(PdZ#0(^%@v`v=e*S;SJ zH?A;KBocVOWh>7ymcqD^>V4C$^G)u&*5B2@aRF3o9BUk~D*<^_03*E~IIjj?pX9(v z_55&>E7Z&nT%%f{0PIm6fJvN>PU_}|(bnjF?fftrjowQQK)tCQ)(7Ar{uuxK@GoUz VaZqJGvw8pk002ovPDHLkV1nczZPEY$ diff --git a/graphics/pokemon/aegislash/back.png b/graphics/pokemon/aegislash/back.png index 489fc31829b7115c29d7a3eb95f050efc10c1162..5a2859418cd7ed363a866ed5f279db748984d0aa 100644 GIT binary patch delta 477 zcmV<30V4jn1jYoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iQ`kK~zY` z?b6LogFp}fU04q`9J79NoP5`<~y1qTlh9oKCqhwxQ3?o030HJp9ec1XzFi3WPo4<;43I{0yXx)DZ~2-P|_lwgu2go3RF3Q zN`WvvOo0;Eb%pm05Kn^wQxs_yXOrMzpXyjnet6LU@S`XvfiS^D!@q1R;y6PON=Pn5 zw1T3nOfa#63xRnkDsH3UFcy?gIA7P)pgFzp;6j*+w-(^5k)R)c^c;NNGza^f_=xS=VJtus6Rb!dQC0~nQ9^$pB1j;-wS z;rOEp$(si9>>NKDW`yqD0GT_R=u3oB78aa!Uj4OS$ejg1B~(7Kvy#LD79dr5)0;}* zy&&i|wE|%B&Rw85*h&d&19ZMWKb3%FD?0_ATbt+oessO922E@7{d)exA3^X5hq9=u Tyaq#<00000NkvXXu0mjf=>yd& delta 466 zcmV;@0WJQ<1i1u|B#}W-e*gz`Nliru=LQD>8Wesv2oeAQ0h~!hK~zY`?b5w&gD?;P zU=ZpaW7R{e4xth=$f84{yhAGldlK10`cxHahwSZppv-=kp8vokE>=`^>rI6Fa(6xx zMOVgiAb+#`bC3o>z6gNqmmtpaAlL^04}e_=@DL!J7ju9#A+QYrf7S*7C-YMh-h{w* z7Qh-<8vrmwF%PyOz}g=`VgM%+pi58{6130*ri>pwpq7h#;p#q9A7}~yjRJAD_kkLb z+Xn6%q0|p5NXf|ZH1~q1U8ZB{{qT|zz(-Mg0XIQ7qZivsD9kW`8sRgMl&Gp36NH!O zOh6u04Yk22nhKf6f0V9T*?=A2Xmln_#d{0j)kMf2@;UjE;BZ{nm)JCbN2)%DcL&I_ z`n76cw&?;nm?~@=K&)M$Dr2Vs#GRb-&^fciU&jW3H9(UR<_@xfIl=4 zC+GOdI3wym4G@L1iJ?R+L}kHA=ha__g*;e*WC@kWc2+5&NPq=ERo?V2^}PV-*R2A` zPx# diff --git a/graphics/pokemon/aegislash/blade/anim_front.png b/graphics/pokemon/aegislash/blade/anim_front.png index 4d4c5754b775b02525d3db6842b58dfceaabd837..90b898ad285e0e753e35042e1f2d53e944843719 100644 GIT binary patch delta 1463 zcmV;o1xWgt44Dj&bbkepNklHt_6u>EP@M=;Gy~qJ{t>lihFE(9;(GWC4 zSF1^jY_yOQy45C{mjq;%0FAtL=!Y`~8UmzKQJ_PI0)z%Gr$NY|MK=T<1MqL?JCY*x zL7D-=#e(j~_uf5<_j^{9wQGC*i?yrv`KJP(RRYAk9?&ZQ^?z;^aIXT;Pfq%u1{{*s z^}wwPp!V%a`$2h?nxc{zsFgf1eOqm{*dtTXOM>W4l~Q_W*2;RJ*Kge=q(=|RfCK#t z1lXg4b}7)p6s&*RF9y^j$2xBVrEOXaSZ*J_91g%`mRqz=!KFW4eDfO|QVVE70&q?B z5CQk0samj^B!B+y_7ATH?g(kiT_YGY1Gr zlQehp5ZR_A;LmUi=Q<&dc(-1H1S~NF;Q<2r?%XT@?0?;vKNC|TlV}A%Urc8cjPZC6 zSYwd`Yg_{K9Zcd`zJSRl(2>9%M(}Lht6u;Z_FN|o4goepfS*=rEdh71i4D%j{v2c} zMF1iFMqtfm;D_KB1Eg=k1i%Yjo;+i?yhxwbTf>&Xo?Hd)Hd5f}aQKJ0=+pF+Fc9Ez z&TXCoPk&xMdAR`kb4}Zs;E$ofceEUU3o~g0>kEVJV2{rC;JmHXl{5tm6To2oiNSoi z1AG{)F^+++@bP8vB3<7CmEFE%LQPtIDbS4U>i(Z1W+%JFNVWk@Iw>>jvWH! z2Ck<8)Zy`q;pK}AxOo*&&ap{pfCM;}z<=*!-~+A)xV|_eGC-jca3ZQuJK*E&49S5w z$IS>M<9V6Cx(RTR0!|dI9~}uG_bH3G8GYC|edq#EXrx6~Mduey0X2%EtIc(JYf_X1 zu77u0wkbw-TrrFlwX%xK#<9To2S*tuiHkB%q#&+EPqfb&o>K-v^M9ELd9<9}thr!^ozK(2b>zSL6g_7pHkdw_1mI>tN(GPkGO z3^YwngJ(QAYotKx_C+6<fIVdcY}EXm5F?gz?)C&22}1(>oG>Q_ zGPfsoAB-kJ9S4+P9~BtuKXZFx_rY76H*D^W85)i!z;GF0&uGA{knb}m)qj8H_Ei7R zMmERZ2F%go0GZpBRR4pK%E7e*C!KLJx2F>b7Gc_Tn+FY^=s!1eQUc~MRh*#Yy152) zWBaq`S9qErkRA{lz#vv5zW?bH&fTuujwg&k^tZBnoVr~WF^JYmSdGfT*w`{=3a#Rf%O1EObP}Ge8{{#N|>t4oP R_|X6W002ovPDHLkV1hGxslfmM delta 1463 zcmV;o1xWgt44Dj&bbkN`bV*G`2j>O{0U8#NIcYus00n$WL_t(o!=;wLZ`(!`fGKeB zYElio$N_YzeO+ z3P62S1w5_*^y6dqcECPq-3;8X0BYYHw@=Ee)D)E@K&|A7>6>b+#h#gpUJ^uas+7`w zvsTs%y?*}@Azivx2JGpdBfy^RwM&5(reN-=TMVcNj@54irEOXaSe^@C40_-(%PU%^ z;L#s1zWxpNsec8uAOU!$x{rYO)Ko24Pm=uh;QKc{Z-}(znQIAT)Xwwv+5Rw%x0XPD zbpFz`4&J)~u#zN8s=j^l1Of1ch?bJfBO=iK*8~v?A!e`?U=A>MxFN(u)5bz5c#Gg5KM6keVq_Te1BLiK?0VTg75(WeS2mW0QUAY zn2HIJNwfmM6_e>0V?5sh)|ltO8m|HR7AEnnK)`q%=ty7(BltG%H7EcKd!~~HhY*_~ zAjqn;t^p6Ri4D$2!3<<6MF1ggBebSd2qFlI0peOP2Jj<~r_UHJFS2L#-moRGBUgcY zjSTo{Fn{>NocC#RN*D<6Ip;Rdfb-Yqujha})3mKI{uvs4OIrYNVWw?ht}xgZ_Nc!D z{kB$DvJ@~#0fV_?g9UO2_%K*wlmK7iZBzohnOJ+-ZI8q9*%g#4;;oCIWS0pjs%$97=QWx$Y6%U(+tYtLGpy$UJk*rY5#3LHw{zmEy<3D-khpPvyq zpil`oF;%D?@=<<3RadPF(9K%{wMUge#eh*G6~O&U;P_^s z)@rrQTLJ1ZIWa3{oST6=kIA$00RyLoy;cH13D8vbj!#%u*|=BM#ZCO{(XOJG02@vE z6(KkPlyy^W5(L_;OA5yWeA}8heb57T(0``h+JHdO_#UeR>3MX|#Z%3rbXlzOrvs}$ z_!;29l{hTf8v(q5THpQp=3B38CU4Txh>%SbR04_p6<7{2cl$qYeuvcl^0=n!Zhv>$ zt3NfBjbOHoN{W711OC*sI%Ys&p_s%%-nlnBcb;^I3hG~kL=FI(EAp4XgQ0@5@_%)r z6Kx(Mmp=k09dkp-Ei|#~+nMzi6Ad259TS}!OrtXtMpKNIOGp433J`&i`X`xkmVt+2 z+m|s;;kh$TbF2W9CMJOqh$#+3=90Q4@B-E9O8}>ws0i@JIKc48-@;~~yhlrBP5^A8 zbb%!zS;~h3Kqu{8UJn8QoQH}5(toDl<1oa*9$j~PRs#YAN8#U__VkB~2xIG1i z!jJ&(6Xqm9?)KE~z2P{l2B=Wb8!-g|HJhRyvEL&NdWb+>2we}6$kZbf{T zIhp=*w`cl)F|;}MHe`;L1jyY!*MD!Qa`5cX$!46~?b!r^MVNNo=3#@U`d^qiEdg_w zDo#*x-CO~V68p24S9qErkR1?fKrc}vzW-}(R~{r2Mlb%m#O;cDWF#5PGPfr=dh7Dd z-JSq1i|m}aT^7-cS4vopbujetWlYT*?O!n;9K{v$fm$_SC`T0ohN7+o_#giI>t1UW R>xcjV002ovPDHLkV1h~|s(1hZ diff --git a/graphics/pokemon/aegislash/blade/back.png b/graphics/pokemon/aegislash/blade/back.png index be5c10b960d6a22bb6cf550e4374af05ef678669..631d11348db941779eaebb63a323d50c8f9905ed 100644 GIT binary patch delta 455 zcmV;&0XY7p1h52WfiOR2;RvZ&OgAJGcIom+zE6WQdeqpT7kkDjvxmy5J3uA zUbG=~3Il<8$O_d(rQlppUMRIFsX?`SQ{F(d6>mF$TW5k^XdUc-32b+>Zd0@kaH(kF zfAj#AZMJQL_B8u|2D63R20p-S*$1|=I5vQ}G3th<+`ji`@19_csZD(WBsNcAKLnT~ z=41T>2vdKafxrTKruaR;lR11{0D=l2Fqs212Z9C0;4~#BCjb=!ky0PCEFGXJAuL!p xfv}fdA*czwj=L!B#}W-e*gz`Nliru=LQD>8W-n2S*QR20fP}%y} zHfXll1vHo~+%yOPrpqp{mD#ZY%#0B?H0AcKJA3;CV@zeL3m~<50{cF|9I*iFAAp(a z;|zor&@;pT13a3;=LNv100NUcK)nzwFa)P5F*yRL5U`B;G?-=S0Cfpw!NLicz3c)( oMc`!sW?3zac_5$$;6J_-U!Cx-_=#9={r~^~07*qoM6N<$f;tPoUjP6A diff --git a/graphics/pokemon/aegislash/blade/icon.png b/graphics/pokemon/aegislash/blade/icon.png index 0f7dbbf81f64335038463956b37e8086f325b4f1..c96502c04858dcca194881be19401a7bbe4a5eea 100644 GIT binary patch delta 479 zcmX@Y+{Q9NqMn7Bfq|iOLB?Dl#a`m+>&pIwk&%N@jqygrQ=pJ|iEBhjaDG}zd16s2 zgS(GQfSyn2+B^)IMe(pdSV<4Nst3gv9NU@|l`Z_W&Z0zU$lgJ9> z8wB`-xF*eMuCA`$yLZd~|No1N&n{W>ZAJk)G}$t53#SRZ1tFqY`(Xu%DD01<3}sc&0eiwR52wxaYJE&&8>a%EK7m3oY7 z_NV@FmNi(xTo=x+Ukk?Vk-xU_eP0$oO{0U8*0fkZg~009?CL_t(Y z$L*8bZi6roL=jpm^2*Z8|9@@9x7L6GrDLGDR&O{>38hXxv^sJGav7eHRzCv1Vs-C88h{p{Ue$4lpe9dyK>PFK70}uP zDD$8tgcP`I0ouKy01QbzByOjCc+^t^_CO!gV;z%BYHG9G7Aybu@k4RpcMA>Je(L_k z?dyoMODV#P7uQ;ZUEX?SknfrKum8RNyw;zu>OZx6)PHXGp#Q1eUH^~Toq^BUJp%98 nU4fb1gZ@9Zdj#g{{#pH>6LcmEA$xe100000NkvXXu0mjfbt0(7 diff --git a/graphics/pokemon/aegislash/icon.png b/graphics/pokemon/aegislash/icon.png index de98a823ad1bdd6e08ad34f4ae6b50bd8d67b583..81b1541f285edccec50332dca4a52e44b62c171e 100644 GIT binary patch delta 365 zcmV-z0h0dY1H%K5Uw;8kNkl15QX;!bCaY{<;E_uwRMIxTgvBf6JY{I z+t`Olx!{~dAcRF=cZr3u323sC_D9;vO(4_F8f?MluK6OkNE6`maemMC)t+}V%Q3j z)1pw6oz$!cawJTlqDIeIX*)djm|l`)PzE?mgEo}1?gD~#>5mP z(U_1>(5q}qmaV0o3VEA;{`bq){}J-%(a{+Wv5-f?Ep}XArhg%zffq9&2PriK30@n{ z)omi2xNP=e3Ggc4kIezSfC$wSZE}O&K!}m2T!Yc0qh^^sfby0LYuJX24ubWz;rGKgRUU47}hY26p zva_Bcot;UIK`1O6KhKcCPUgB4X{YybcN00>D%PDHLkV1mGLuzdgk diff --git a/graphics/pokemon/aerodactyl/back.png b/graphics/pokemon/aerodactyl/back.png index a7b00d4911e8745c68b87e000fff3531b51b18d9..eb5e2be1956c8d6347afa92c2cacf88fded10e9e 100644 GIT binary patch delta 475 zcmV<10VMvl1jGc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i8)iK~zY` z?UX%ogD?<<8BGexM4?EDWfgMEsz@1&Eu32shC;r9XL11_A-P>v0s)pKyGiL+FvGmh zZ+|RNJd~EW<1<~~0l?e=TF6H*XARI~fo(&Cyb&RR2!_x+=j%6hi2yv4!6bkYLkpmV z@JzfEN%2TcIB9z4aXTe{k}Bs?R$cH{_=q9~tOx;(M+qILsCeY^1xJ1UZiVmVYSIbV z{qz7dkM5#5stGXPt#-xY8YM=Gfv*^7-{UDRWaJefSN2}n9=j~C7nT$Q8$-F?=gL{i z#)~4CJKx4m01k+*iaB&?fTTVJly1B{*o4ybADXbhvRi^+9 ztq%V9|FMw}3jpD)OsQ;q4;N=ZFqgn|JXe68fcdhy2wu#2Ev#Gc5fXWLk;_S2eW6Ox z%?n(B|}Y0G*<_fJ}Tx%k^DQiL)pcn`G;o0T=5{2KX|?L;tU$_yaLZs1eAG R`b_`;002ovPDHLkV1luU&w>B| delta 462 zcmV;<0Wto>1hoW^B#}W-e*gz`Nliru=LQD>8XNA26@vf(0hmcdK~zY`?UXxm!ypib zJxmJ9gs4afUgbu-!bfD$V?hWQJSu1fS;Z~$7aZgBcPEEht~#B7{Z9u#{g^iD zqnH5uT^pY)&cQK?82E~T`aSMq6;@pVDv%G_b=YQsgLD)zu(jkn=t6r*yLeEf3a>kt zzE9pD`Yg6-GZ(H$e*l}@QaQwKs6pqpj_ikNS(gP!+tTNpB-lJ5M0w5`j5DSxnw$ZR zq9DSap4#Y9vB}`AALgl#ZLsk4Wc8#A=c^=(eY<4YV%2qXelp`@tNOIuVr^!9ygxP) z@&drTE0Zf5&*id7VAsI3o&jJcpbXbfY!<&7!V(4xg`5 zkiZn6!-tUgkMi&>=)^9{)njtyO@q~VlLoi;^%4JzKQT+F5y|4GTmS$707*qoM6N<$ Eg4NB|1ONa4 diff --git a/graphics/pokemon/aerodactyl/mega/back.png b/graphics/pokemon/aerodactyl/mega/back.png index ebc1e7d14f0eb42132fbfe34133bccc75bde37c3..c2da059385b2a1422f356b877078c34a0d8a6122 100644 GIT binary patch delta 595 zcmV-Z0<8VK1GC^iEmVv9ZWV2n+Rf7Awv1PsH4PpV*Vt3(arNhudZgc4u` z6eoF~DLZp2H=zX9Qc9`qMCniY@0AdpOg=c0^;&}w@f1{lGsn$0DC~;Rd13<04KVJ33UJR3;hrl%f zRyTfxM&nn~Pmy_mRO7m08el_f5R3-^9vsf@fi>LnKjg3(0PGNXz_5p51RJdCPAI|o zL`^e9QvkGMk0Usb{s^gxNg(gP6H^TSGSGwj1YPB2^dW>8^a1o{8XlhF;S2x(0v}04K~zY`?UX-n+b|Ht z1q)E-LPfnAG{me<2vd=-6@TgTxXMv4huEHswi(@5yB@zJRNrf7&(ncPzckwFe%4D>Cpq!{q0P@dJ1h_CqUa_$Vz(PovQVYT>S;-5E0m7 T?QxR;0000`v zwnmz-CbNxXYt-ZQl(Mh302l=+i+eaNDZ6Lvt_Ri1^Y2K;*by$fRdnRt1TZ7WbH*s8 zYCW5ur@O@9Es%18e?L5_F7$dNlcmP?w8oN?z;O7<4o#Ur|qmo#AvT)>ZO#>#D(`V*D~q_HygC#&ZBjrIadgNh8tCcx8ZfIM$vN3;fDYRR90VrobK+^>*-fBZ zy&8k>MDaBcZvb!0atx43flg`QM8{hn7Jp@#`5EL07%4)X(+z+ueoDt_lK1P4kX{3{ z-Ns{v2dxJ1zThq|7K_EYm0psjVeY62Hl+7#fwIcQ+jgIjq~E`jB0w*Jcj6x~T)xS& z7U+2Cx0mv4R|CCM48P1;0pyMdVgFYI5@Wv)BlZyg&e!4u@8I$NkFG?ak=R!W-hZrz ziP^(T%F|8HjWzLcRuLstWm6OD9! z`SAWS<|Z&NVN%#QFj!E0Rjg_4#9(xe^dTq-qR@b##Ec{r8bAvr&c-RmrGKkZxOlvX zA_`q22RO)xc?Ji%^2oNGp!U#~^~08?Xp1Sw&;ZSGH0{C-S^#?jvcT32=(Ru8wZGOA zJnp-ytJ#DO^1=>QU7+C#;KY(*2hF!eYXDlNe+&hXY~<*|wsY%9=sQV5rv~U3fq|>k zhqMT80s0k8XxK9(V74N1IbB5K~zY`wUv>ZF#)8J z%@}{8WTl;Y)7`xv-@W_4dyj0|8zlAt3sunK!JmG*-)O{y@H1K~>1I6++_l;Qzo)oSQUsezwYKzoW? z-8xEQ9mv9w{YD6+9pM(NPK>1N(|#ia^bpEDs67C{e2Q-&&vTO~sy!6{Ed9km7&N-T2W{pC-BSJX*6@kP! z?81OO#Ls!N60rtP4}Wwe1{#S&<>1XmotqsjVuqED&ps-S+0!jMu{tbdvCMxm4}2-u zxO}nIDXik`G9G8N2aww=ep>SFUNR`y`1z933m>C7FJInjHu%b)e_W2jajtpR;|yJ{O*V4G9RG>7C+PgDsK2I7a6(x>C;CUJW=-*P7Pooty|kS z*Vlguk~8!X3*Cr(llI8E8XtdM|NXnLPGWX?KbC<4D3&W-0rqd7KfiOVqxjTAfCj{* zQjKm6w66Yqzl^w*FfY9?W$4h*)qvzgBduRPyuXUM3Cv5F6gCbt78JXRHLjHC4K9&B z1{H!RG$1H3BT0n@P(q2bVTyL?Di`}*Zv$$}3@i=s{0qQM k9dPU4ft@2G|Ks=veGL*~r2BYpO8@`>07*qoM6N<$f*j7gQvd(} diff --git a/graphics/pokemon/aerodactyl/mega/icon.png b/graphics/pokemon/aerodactyl/mega/icon.png index f09109f5785138f87c4960999afec63ae898bb8e..08922ac5110065a29aab01c313d23c59683c7f02 100644 GIT binary patch delta 363 zcmV-x0hIpe1Hl83Uw;8iNklpEb59X#sb>sjN_1K&9O z1d}*?15-KN!DOIvSis1}VF5EY4htCFI4oeM$^oi_LFJHqG%$^W)g4UZkbImgkj!Ck zEVRBX91ce^1Rc;`le;fK5aQnb#DT-0SAZ&qJ}=Gwo5R1l{{=~#4D(d+!#n^0002ov JPDHLkV1gUas6zk% delta 403 zcmV;E0c`%k1Ly;gUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!&UxWOo z0003?Nkl#U9pB1qZn16N%Y=Ve>tVuhz6eKLG=+|Xk2O@}nGH5+(9PVH$hp%8VhXt6*;SL6s z!wg0>4l|fr<1m9Ujl&FPs2rdtFsK}|j|Qf3aApG2IAkB^3Z!t@TL)tGEyF~# x*Ocx{Fr>V9KXV{hEV^GfVA<@SIsB^opGlhx^JMHPVhjKP002ovPDHLkV1nF=uHFCu diff --git a/graphics/pokemon/aggron/anim_front.png b/graphics/pokemon/aggron/anim_front.png index e8564de69b0074e370ff252f190579c25abb58ee..08a5913a765a4095188d3361a65b999575540440 100644 GIT binary patch delta 1541 zcmV+g2KxE+4Cf4xbbkfiNkl@L@6o9c+y2%E+zgg^bHv>Et!YWOS_KHh| z7txE7}AmDKwfW(CH zDOkX-b{)9@fpb3Xa=73D^D9V?F%R2oB(4Ia;smGje=02!2{ujMFqpQmpZAmGW)hVn zB`}GSF9^nE zj|i0JIK?aqKy|;rdkPY|%H%K=Qf`MhHdzK#zk7au3V$%hP!7_086YMLiPk?q|BEp~ zD6`M$JcCeGcY^k3&)=g2^h#zTT~Mudwu-20_?=^nTEe}!(^~JQHw{>n%(PaJNs+Cx z>XGY*1~ofKH4NsNlv&oRT%nV1BMcLO0;H+TS28zwSQ_H-Q~THlITUF+Ur5|a_yu~= ztORJK*?$NDYzRP@gUqH|;AHVZ$*(N5fRLHOAf)Ukn>kMICOA8z$^sefg)u923Gj}7M3V51>Q60q(U> zjDN-YmSW@zhC_d1uB+D60R&T_XMiss&0&aTcVb@UG2H-o*)V50)sL7{LhHaj+xVRp zI|Wh%o`*jatpJ)EfUNF2(D9l@zv8x^$4ajOyl@ztN7uk)>;as`YIFa<02-RK0I*+( zPE5C#0}Ox!IKXS+g0p5hX#kT5*G=&ZG=GenGP@T$*AFiP<}U6Xesn^a<3m7p-KD-K#-jYWWub39Q%H&K5jIOvG?j2Ya<)g69K0A*kh);#eAeOJOI{}!U~)U4&}#Xnc<&2_qiFy7lJTTYFl-}Q-C*@k;AO$kX8q=Q zkx(xfX8oog{ow_{u&f{e3O^H-drw zU`l*NFpPm1!C3o)4ozt+`vV$?6%6MOy4FCfU^su!)rhN<1P{;&l? zdC(us95498wz?no2W++ePzFe?Kj;du?+>bU|45xblmr8}qQ)P}f>HPbt@uNw);fOx r{Ud*H#36sMf&qv8!3xIz%pd*(9rg*Q_TtV)00000NkvXXu0mjfjLp)9 delta 1556 zcmV+v2J89f4D}3O{0U9E)jh%}C00r1dL_t(o!`+rKbK5o)fMs*^ z5=QpkqvCA6lk`L>BC^B+J2aC_L3^#5f4~Dz&D5>CbC-iOV#pa>az%1I3uD%7o&8_> z08kPsQSx3cJ{zC$9)JhDuhD3n_%9mn3j%1=d>(!0`*xgCT7OHxgvN-N@tD;U42S&l zt5-B&tbK@}@0#6f2wBpoCnl6l!2&^b=)@%mjIn8#!6gf6P(gZ>`uM#>;yOesNikgT zQ)!V%&}sUb!nB3ste>X0lenCz2a`BWU(p!c1m@dG6d=99Y0Up8eKQVwONFij0A8mz z09Orf7kPy{HGgiwMc9RIdP{@B-OgIiaf0TbjD@q;7-BM-iz;x6v20OqBCJ4X%b-|M9Od~OS+yTzxYq(%+41mB2`ZK=Bzm&#(%AjjD;m7wW z(J~T4zL4!o0JvtIHB|;gzkPc8 z5n_&!9Axt{;F&7)wEp?&U(69ADL!R$0g}Fwcagn64E%GX{|s=E>@y?nb<26G{$5WUJ3I{P-lGyw=emdSi2b5n<< zDIPzzPk#fDL!M>xg~Y9dU!WJyN`O|Hju5~P0f=&tV!8#+7Vnk(N+Sz!DHJ9lWk21- zIJ=)nn_+J^9WjzE8=IN(QAjAt%L8CZ;Pjp+>d zGRtxzM&#F3PE=``iV@OHXWkrvC6Q4WM>!!xZ-1%^j|MO&FGJvil7iytgBtRs-kf;b zoVu4Svg{88KrztDEUJ3JNH+f`o8vCX@QUcj0L7WRna&1-HK1?;X{J!cKG$^bldI2(qhpa0-u%!0KO1pxFiMez%fX(OYXRw&kcZ+<9Q5orCp2&7v!B& z@_%`_%swqJ`j7_zI?@~9L32fEqVEW1u3$I}Cg!?oO&s81DfA5R`GYwOzU)rSt2`zf z052QXEF=06Yl>?f+GiVoC&f;I^Mu5UITdHFgc&B zfyvkhxJcCI{(%8BG)V#AIOm;&Y%d2G0DlQ^fZxIei)OiK0E-CMP4EmfjGIzC@SW?2 zmjP=R_YQw_BAMeuR(SzDfwKd&U5v;Seg*KzO5#Y{J~kL?4+wkjwF9vD06Yl_NTqAg z>$vo2cnXU~mx12s8%s)00wz%fpdBWq-#wGU-=k_%sYJ|2c^pk@o2&!A#t^r{(SJdp z(Zkob?ZIIHhqiso_1+_2k3K_q6KW;oGzePtd81*B{THX$8|kQ?2(iq^J~iDnsU@jW9LNw-cgJZdG#3WhU~9l>aTxg=IFoPqRr1Oth%5R9M@h#kQ&CFBGH z3Io{_jIBQu2C^?0rv0xCgdtWddMfx{al%;io z;m%8|TkQTR92N|1)^DB{3H5?u)^Enq9}WnHeZ8DN>z{m~& diff --git a/graphics/pokemon/aggron/back.png b/graphics/pokemon/aggron/back.png index 97b7d632fd772d909cce5a30a94bc1c3af98b5d4..bc9564a8990813264cc64240d3c1ca2729f0d9da 100644 GIT binary patch delta 675 zcmV;U0$lz51&aodBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%S=C}9||@8kXd{iG!RufJM1Qp!Ko<-9B(yp-TDn7_jY_4%3w4zQ= z!+NCM+LfzPk98x_SjE_TqVx>_P$nxIYwm zOI}(?QtHk?!b+Fhh2&iYOVkBoS0miC{tIq{YVXZhJNf+KN+8U*aRzmnjVfpz$Bx)8 z#}yEW0Vt7jItpwMNRw|!te2w}us+e%ckHnXEo=|K1_@62`RxsVHJ%*t@%7Xxuzsqm zqyW7woyg)4fC>NwG#^@3;N7BI5gpHaA!d|4j+KO0fthF zDJ8PNTcK%QyoWvgNg1I6TX6N`j}}-QNt9D$fbJ{Rt(RD|Q?vlq8aQL!c!gIN16`$w za&;044G<`#OdVhhZgtCu&LdvqN;-vm>sJ@#-UUsBGRHxF0}pKC8O3zAL%;>SiEj~5 zLj?@d4>{`ty=NEv^Kh$7s2kJk;8TcuK+l6H1^|FP_e`cfXB@)S@e@wUKb1XzzwWy! zBA+vz6ivaCsH{JP%bD(@Y8xD0t~^Rs0ICvjZknqX&_BI|_zek=kl-v8Fv9=<002ov JPDHLkV1ffoGE4vf delta 664 zcmV;J0%!e;2K@z)B#}W-e*gz`Nliru=LQD>8Y9MvtsMXW0$@o*K~zY`?Uk{P+CUJ7 ztyoHvYL6Fyb+A(UJc-e1JMdN4U3dX(*cZ6MI??5t^eHHK38a-0p?$f`%G?VyYj<|# zs?=i{3f&U)LlT9aGStbBxI?*1Ng@QWviv#a!G^l3hpu0OyAy_vB>>NlMun zNLVQwxX8B(mZ%HFhA#U03r>S-w|cCdeEyh?yQnv=KwV~|3R(-{i0$%*i$Vwha-^J& z0viO<Fo_Qo*nVw_0%b_eyXda0KF}p$l}lf z6#xoo9$Ho4ZqZi6$MZglX5>BOT!Hrre&R$?B)0Z&iYqrs>JgLWI^mh^SVY-hr=l$p z2&nR}*ybr#Yw}ZByKjL+8Ok)TQ~g96@^Qt02|Y}}T41{RfAYls02kqb&E$T9UmWqd z9Toy!A-NZr!SQv{*{nQ(aiLJqVik23!2qaWh9+2pLSXM1B;^tKWGMMUny>b#KL#s0gN?p#<&Rzug(TqrHOKJ5^575P)M0N zz!<#hj)}S&e{qc~=@cGpIGvGuXEYJY9Ip}tU?XN^)7f4Fu7{1dLqJ_Cppl`;Ss&;< zyAYm-J7wCqF})1I1o5&on9Of;&-J yzX|6v?W6Ju4ljcmB`W|$2{<=R_D}r}{sswaY4)*r|0000gaWC50IbdkxG13wW31TQI;%`{ARtN{YKFwRFPq;06#`6KzBX|L z0;0#>1BJHLaTiALfS14-J+U{|11O^za9<0CL^N+TIkmWnP;U$Vq*GLSoRBsjZ!VXL!`uzlds}x&k4r zH8Y?#)DUZHt!D<^*mB;3xC^Mx`uZS3nXo8$KJEfez?2a6+A{#$${E<;o#_xo)B%+p z0faShXCC*gg3NFU01SaZ#ilAeVrF3MA!>}J2pW~)&;Xc@vt=m|i2x4KRZjqj>`llL z0`MBeGa^I`0u2FwdwA-f&M|AC1P;r*HzR9r3q6nISp;PU)_%Saxhz}H0J#rIL5$IB}Z zNGAX|T>Tb&|4828YZ^jS&{$%0%A!-K~zY`?UX%^+b|G? z4MP_oS1z`b7zqorTc~m;ap}V8%!tLF#DH%R{}gJ41p@GtnHiE25KXgK#2g;mTydKfq~ zd2B-q9vG({J+U{|11EEAgw?QT9_Orr z&2R|-G=V_LCgmP6GcfjWYK)}_1{Gn^0GN)mr4*P%0GsH_e+K|e_9omC0`MC7BO*jR z1Zo22@K8UUsvX+`RIDbOM0G)lb3K zkMtd45;I1aHv&B*+{L>OP+`;vNZ7boWp@DyN*u6$RB`K)0Bkb5)Q|uG*2Q!cTKZW4 zaQn7vcKsIpMY8V+fF7^@1$&WR3;@%|=M(5B4+4_A5GH~zVgLXD07*qoM6N<$g0XKL AZvX%Q diff --git a/graphics/pokemon/aggron/mega/front.png b/graphics/pokemon/aggron/mega/front.png index 9e86f7e224c35a5c7b9803bd089a579fa2dd4328..a019899a8fde9ebf3c0f2b0883da56a50c0ee161 100644 GIT binary patch delta 1159 zcmV;21bF-43F`@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1Vl+hK~zY` zb(TGE<3VC|!Y})-i z9`@jGT40bNV$?d^>jwaT(z+J|G!~c705A5fACuaCdwu=#0T6BdSTnP9_vSH>N163U zxirA*9+ zfE~ojBsd}>mvS`y2w*MDD_P4@)KimWzfc{3AT3bU)00O)WZaW~&ti~?9A8qkPHyHs z;FC0=4Nm?_RuM1@;K@xd1;_b0@o@6){oWlSDTvGJG4M;6;=6zUDVtSn0C8EK*iB6D zH4wkNeSfH%O)LWd0bP!L;179ww-H~U#|j|J=NJ!w3MS75QxnJ7o{} zJNOWeMF2|aWAe{`EfBVKw3YZR{D2MD+E>8|0oPZ1G=&gS!fUOHrDsq2Id6|mECg#ekx+h1t=0=p!2p176{sk5MMX(q0qu{uffXb} zGj1pZN67{UxlGoD(V)Su(5HU2Ktl>BM~Ct@8w3{c>KO}*tEGaODHI(Q4`Xja-HJJd z&@egAS@_-6m1480(yCJ z=f^dFJ!g}F>HDxu)N8RyehfOZL|AC~M9Lnv@Zp3J!{-1OoZZmbJnOeMG=C8s Z=Ra{g+}HVTA9DZz002ovPDHLkV1iyt7B>I@ delta 1150 zcmV-^1cCeO3E&BkB#}W-e*gz`Nliru=LQD>8YjW$X#@ZO1Vc$gK~zY`b(TGE<3SbNT2%?_X{$+q#W9J-i9LQ*_qjycL%a8TAx}UEPMEJ6!kx5e_1x|e;zvn_?r$G zWr!Gc2K(j_fVA($2=$7qXMh*`#*Rs2zP-A+dIUsUJ2p&j-MxJZ>3tzz2ZEG6ME7tfO=b?A{ImyEXuNNMR!HL%?Dw-jVmP#yE?`M}Qr~S|{ic zkqhBXKLVH)=Cx=&jt1K`Q+)v(<^CoWFjzT3M;qzJ`j{S^2mO!4i%|5WWN)(`6`e~?O&-K4Nn4S>Ic_u;q* zKuUE?_PGJVu8yV>zlHCy_$H30!10e>TGdVSwvkT|)Z^_$duZ)uULnz5&VwX`m}qN)O+cDM_+G0(d!}mqE#p z*Ok#kDxAy@WJGNwAqc@sT8l-Er!Y=5kc&)&3j&PlgeZIsNPUl6ZYn8qL?1Bk0WP%* zW?p7G#!f?O=g{kx1fifT!8Jh9B|)FL`Z@2eO}7RKVNDF(QBjmX@&LjWf8>s3YvnQBm;o@u<}0OEXARvSTlbtz zMuPWAXkpIo_8ZD-l6%`(df4WL`#+G>lS8qc>}JqaFq>^-knF}OPO@x2ZXaeH32ny5 zoeR;73)Y=y3)nzShCp6u7qLi+ma+yn7QDAJRjx?}%1ci#Vv!Ysdod^pTY%kT5K@=v zbdz`4WS4?FcBOZWJHQsJaD_hEsVYFt1$z3WG#?BQ;5`aog45*#I_YXzDVliO99N7%H3%W3^UJ4@mZoi}eEWQvf z%3M!C9O)c6U4s&0M2tD;{Z1KCPRw96?*X2qhM&kl>u4#2V}HbzwCQUv$`u;l>9hu& zsTD~pPOlRW+T^WSWpT1lMxCTaEt?=l@(3Z#nQQ+Un9zeI8-0-?YH+If3}Lc3+Zr5Y z2oE$!V3L!ByCfe3vV@rXHc!$701?YM_pOt482aNNFLFrRG%9HBtpt9bE(h+IHD1S; z7jLmX-X6YH@_+teFYmzL|H!{u{{@T$PhgfOFv>lHNfpfH4veZ`E=9nY4NL+@Zxu|S zxq_*JK17g!iQaC4k_e(fe9S?>h@fP=fQciT28PAQS||2ZQ0rBN4NN)jV8jRaPNO;O o(^Vh5WbGb3h>u4wKl%6sr8*O9hnN%)00000NkvXXt^-0~g8DhL1poj5 delta 426 zcmV;b0agCr1OEe%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT!=QCM`9 z0004ENkli1K3eB1g z8~+1Yf?wDD&Zmw+PA%p12#l;Ny5~UF)_(=doGK#vZa<^|EPuWbCS~qBAdYm6obN#m zF(Sqi^nRv}C_84bn)d)NQo~PVVC^VX!ZG4P+Vrg#Urb)KvV0DmIZYw6ccmSO16gWSj|Z_}utxwjJdeYz63W7c>dUv7Mj^*Mcejm7)J zdnNAv^!qPhBshRc2QbPV!Q=+!_5?;XFt;jT%myZdqqhbo(A>Z@K_4PWz(j91L0JUR zAU@_GU_?+hUckf=%?gIa$I>SDO;Fl=Y+&kj2O~bXcOx3ji61^V747`dNBWVEPo+8& UYZKrVw*UYD07*qoM6N<$f|hB$-v9sr diff --git a/graphics/pokemon/aipom/back.png b/graphics/pokemon/aipom/back.png index 4f79de9e17f376b749f52056dd74ff3b576acf92..5eed97359580bd88d9e9c2f5c7b91de70963c275 100644 GIT binary patch delta 650 zcmV;50(Jf61@Z-uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!v9mK~zY` zy_B(Xqc9MLb(&G<;#M|&q?iYA$O~|`dtgSB6nPB~DcnPmhe~r}iagZq3Q0&{`-+>~ z78vRO*!_1AX8$c#U!V8&p+DaRhQ4j@rWm@my_aHz3EI=Y0Bk_u_brhcd_kaM*IO0+ z2VN+_itd*2+P!}=K?SgXl`0bQ2M5pu-pJz6#sEKL0jR_aRk$R;x`c5h+RFzuVNgHW ztega10Js|Ft?y|L=(B#Zz!5J$5XgKV!w6hzDCi+xVv5HIcgR20b4%S{4Wx!WCB>=Dr zWN`*p!;HYjN>W7tGZ)jI4aYqRKI*AWBET5i{|tEWfUrYFKm|ZU71;FYQ&Pd-EC?jSU|wv*HlI$zQ!(edRU?` k&9&2%BIYl^Hw0sU0OfeW8aCkzDgXcg07*qoM6N<$f`qIbD*ylh delta 639 zcmV-_0)YMU1?2^hB#}W-e*gz`Nliru=LQD>8Y{?AB`*K~0!T?jK~zY`y_CI@+aM6f z6=vvMWU=WDXFY&Vc>%?CFKLFkEABNsT;bj-?xC)^k%~N2b`e5g$xe|;C?sHi?EZK8 z$g=;{R=++U+xzzN5a?TLAG+wT);@BvLI?KzH$c`S@O95f3BDjue`U+5^7aEie+^$+0_qmX@(2)109TN-8IaW}pl3jn0@V!QiCsjM^xag1oSuNtuNNakKpZ2FuKJYm zB$M6;Hs(<~K+}{bgrULi=*88--S}r5az_|i%68=@6bL(Pzuwa_(}1CQzAM9-(hk6D zK?LFwhq;P`b#hl#O&7-y2qHIR*HxNlLz5=dB5y(|2N9z}Z#LWLQPg9pjB&mN9rNV9 zoeIm78xh5j-Xn7X=1+D=N#AT#vfkAr~}ky>6S~nbco82?4@yb2XRSFGoVOuU}H%ox(A%Ci@}$*@_=E@ zf?2&d{wJ#L`5XGqKK}p{-(bwW&wan|-n%o(jlBvg9^a13h4FXwqa0Am&g|hlAU8LF zGj$t~@YgKRD(8XY3~*e3&E+LEGJw>~IUu=FPd%jbTpS52FAAF<{)$d=k2z03&1aGY?pX&VlK`GA6wo0LgQJYVdC6b^yy#z%s@=GPDL9 z&{?%q){XM!7Gl7EWc7Ri+eR((CAy?^MB^;sF@`jW)JR2GD`}DhNU&BBsi`Q@opyvl z3QXDKAzXIR!bb|I2(GWqQeqSXaOqo^eS3r#*Pf;TeIkw>S$C8cy9Pqwx+IO;UDsWy zTp~PlLJ+(>o5bPEm++SZa8$|>5O_b_HJMZTs~fPf+PGhT3;JaZH97kuIJ4Zw@%gZO0{g~Tw~gQb%LX3;kK(a&{aod7feZi|3@ zs*0>FPLkUOAoj$^2q5viA4|1a3;I2Aiuz_2Nb1l&41vD6&!mLg1c)kWJMF&!d8ZxXpjqd;e0`^HnK~zY`eUv?K+CUh` zjT$>r)WOtd=@utlIz$DNy)@45ATFsX1Bw&}HkMSPd*Il*7<^eP4;a=gnAMBpFHv>R zXXxGe`~r4-gE9B~?*F`=Ic|R)RJro??NltaziXW2fJ%1fK*K-P-^ zzEu_iG02fbY-t&X2C^X>@0`&ZN^K9A zjk0+u$}v%pHRb~Qe}L1(T$Qw{tm$+Znz)t1m;!JVo7FndH0nWaD90ks5)mIvf|zv< z09w2Xma124h!Io*fNZuM?XshuBSuUMY6x^501BWaih@GYWtl}1WZg5sHs6piVgTNw zd=RFY0Ao1)nFnlWGGIQm;k2J01qc~{4E%28GQh`Dz=o58e+ca%158paopeLoO(6y> zQqM>1R;_2gMArz7Q5+?HOmLV$Qd1EgrHce(lU4z#scF%jcKKln%*o@C9=mEOCmL4a zy}($c#5e}c+XAgZL}w*O+_e>(=S6AV}hK!b3u9p&E_j=M2u z57dK@0dTm^jpZw^B6qaJQ?wvWF;W2g2yT#drJU8@uQp^pNV>+;IwRrVqsLFm+3VWd zE+aq~&U+aN{~Aq{4@!Us1Opbm6r*km_`pH%w*C191J8)Igh&0f5Tph}yM4970~S6n t0KJ$CC6`Zw2!lU{eftrg$FocA{{dA=I-u{8*gF6K002ovPDHLkV1n7SaQy%P diff --git a/graphics/pokemon/alakazam/mega/front.png b/graphics/pokemon/alakazam/mega/front.png index 911e2ea974e4234f54ab2e48ded9be5806175ccc..5bca4027674bcc7fa3d1af98920ba96b5e8717d5 100644 GIT binary patch delta 1126 zcmV-s1eyE03CanOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1S3gAK~zY` zeU(9P8b=g>2dP6OpUgy7RkcE5$o7a-<6b$~{sEh{27y75doWp|$cG*r`v({gxwBy` zRr1A=48G(*4va5RgjAXN13mNr$UV+)=zFv4fHCcp*`1yD&3kX=&3h(KBt!mRQhfbC z6v;f>`gJwHa>;wwTWuhJzZ07Xc48p46ie#GwjTq<7+^2_C1BG}g7hCPn8y$+$ajf{ z-OVK+wY|Owu$^Uq1o1YW#~dp@+00(DG!7xZv21{(V&J(`FhQOOjRCO$F9Gg|8w+NZ z>|*V4p<=-r$_0m)RXE1&<3D)iBpd)(HLmAmA}^0BbZ5_EvS2! z^hEvvz`5%5`ucW%MA8XB-O*7!ygHVD18}N3S|bo1glB2oPs=^E9{e8uC0h-pY5*7? z0Y8iZutdjta8#D9;AizA0V>C;EPe1$0g{lK4qN}oqobxm7q`Y=tE%H}2MtskCjitx zE7g@{sX%JOn-S@M{-6|k=z`ZbmxPW)rhBfU?}0nJemh!!(*v;O&PTpe7ehi#)`sWm zXu2VUP;dRd9yXQB1+A*n3w=pm+EUn#texEJp^Dx>pjV>rCj{W+w~4KszM9#It=&~% zM(Z0B18YEP{gD-C)y`~Mu&i!q8-bxQ0|fdvclgD!vwJX5vdkO#`(y1)Ah3385Z5d_ zwbqspfYUL5ICX2Zj{q9b`s=G0m2+zSdY{tIjr9Xg~{p9tEIi?aXe#TFh46WM_q0k$Yf&AEZnKJWBvfgc-S`&cFxiSPb+C zILU(#n{kaQm4WdLG+vO$XH@US07#rG93kMNbMBqi&6V?E?R|XVMb@GR$bA4i{6X~` zke}K~Qa34E0027y0BpZ!?i#q$DYr?(&+;sI@Ud@r9CB^0)gf+#aqAjPisuUOx!-Fv zJ01^z>Sok!N4Sw3D@@~07*qoM6N<$f^Uxv82|tP delta 1113 zcmV-f1g87S3A+i9B#}W-e*gz`Nliru=LQD>8Z+BHy?Fot1RhC5K~zY`eU(pd8b=hs z7pX%epI{@as#+m2WP3!aajzU~e}K(egTO|SdoWp|$cG*r`~eI@?`#-Lm3(m}1D71g zf#DKGNRd5Xpobm+xyShoeQ#z77}Gq#{+aii_vX!;_ttUNCGC7$e-bqHKZ+_AQWDTT9}_o^OGI1>6_@8nENXi}W8&Sgye;obO@}2Rmy(VlTA{ zxclpX6WB1GTh1*!3Fa`KYL}4P_MZf5f#*iyvZp&iEWlRaHNb3fZN<#GyoCQVe)84K z(s_EBzXp#sr0L+7e+BW3^X8+eb^~_zvhYN}xZu2fvediwY!JGANYf5!o`44fBu~xJ zatm?lnNJQ2DZ-ntIY{Ir!%H+z>F&YT!$X)uI2Q&;hP(rj(rva#V9a!R!vG;~`(}#y zuSl795vX$mY>=|iqjWYO+sXoH1JJw1p~sep1=?-lZ}sE^e@2p*E9%}gY4AS*Xo*g* zFUJ!n83V*@9g(A(bN&wi7osC20^vz`nZ$US<|^gz_waAttO;=pfbtRWLkoZH2k!Fr?PN<1!Is${{!Uzt9HKHhY>BhkHe*b@_4{&E z7bX{^A}+4vwewOJ!*-7PCa8iAczKz-uowIL7~!0kguXI%vHMM?we z1$lV>5rH9i19urc14TYRqdPR`QV;;9_X|LM(sP(u$kADj(rf^Fuuz;TAmCtC5h!ZV zfEIope*vJN^;~bmT+CKgW#;*LfqGycq~tKT76F(tH8ESAh8NVi7U((PBnLip+BB*} z8lLB%@q!#)qiW9rAU0R{gn*CEsdrITH^zt75B9*bj7ATT`v4;RLG%oeo9Ss>Hwm2w z06PHy?om(O)iBZ-)p5hm&P@3!GvR94S?TBEA}8M5)Dh4p2B80Mu%= zs$x(d$C51p!r%nmf8jSGg3>)@4r8Z~Va8~7r8nF`3$29_E15=G<@ZqDjI9D)F5dC5 zPu*yPn;PeT*gP$zdMnuLZp7+Xo3Mzhb%209QsJ#gL{NHlF;JU29Z(f4XnbIsJ7G(( fZ+`m8(~189btV;d(X?ds00000NkvXXu0mjf1qBW6 diff --git a/graphics/pokemon/alakazam/mega/icon.png b/graphics/pokemon/alakazam/mega/icon.png index d463996452b870c05d4f24e373c50e9321202e9b..2d018ed0dc1224366df6ffa561be42fdc7104e50 100644 GIT binary patch delta 378 zcmV-=0fqjT1n~oqUkCwwNklv zAXUS_g^<<13BZ|<)q!FT_#m2U(YFg|HzmJlV7EYi(Mv=J>>hxsLJR3Va3&q zHeDquE&+m0hfsx_N9s|ft10t1Pnun1Itfbe<{f!hC(xYT%n0#tV;KIfkS2~bH&pX&1ykAt8KCW<=Sa(?pl1QO^*5zF(nphVrCeRHF9>G+kOCF*Qx5O+CUJ7p`f>w1u3FB+N+{9G&FHMUMac;l=T%!WwhDnNRh(1K2m)BNr}5aTA(nk8TaH%+hDj01(%I9s>Z<1uzdF0fbgc0jvl0DFZAa0FuqlbHcf}7@T9+0g=u< z5t>ROtpi^K3t%((ScC+}q27*Vq;Uje83kIzfj1*WpfE%p_yKarbzBr*Zh^!)AOQJ&T1*HX$B#}W-e*gz`Nliru=LQD>8aAs}N%jB$0tiV&K~zY`?UXT(+CUJ6 zxq{v(3sOXNv{yxIXlUYiyi#-x=+;*xmC5)5QLsMQFG#o1^*R#6^{v)BTc2(Q>tmrUe{mP6kEAB;?tTU8 z)&OPZA%hlxqzM=RP+b5E01`lGr4+z&c!Ug4LI9+zP2hy1xEP${qz7VM1R}IbW38i5 z1Pfp@#kB}2jzhh@mXXF0UCSuYB8h?-AqIsZiYN?_L!pzh{Co+d)&U8asp{wVOCauj zX8L_qZO(zz1=RBZf6&)~Y5n@y1z0-*7kKl-8?_q&op8NY)ALF85%5=nUPU2*qDb5u z|B6w%Og{ode7fXu9jSq^$S*#qGvD z-r_nC1ltXzW~PYp)SdR778u6AM(Hcra$1I5UV=$h4TOa N002ovPDHLkV1m^S75V@G diff --git a/graphics/pokemon/alcremie/caramel_swirl/back.png b/graphics/pokemon/alcremie/caramel_swirl/back.png index ce0b27151b21aaab7e904cac9f57e5362fa3cea2..d5a073b54b918a1f73ac28114ef8ecbd4de5db82 100644 GIT binary patch delta 584 zcmV-O0=NC81+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>w1x0j6d0n)If+~*3tLQ3F)+Z&M(Prxuk(_&gD82_cB`yPTvrn0s zH8yMT`T?Shgpv3^{rk^&mdQU@(~v6g>fv!kbr+25NDS+Htq)e8?*{dm(3ZIO=o6`_ z4)?!3x;4NuOP@glKwNu&3;;+Mz&wBi5Lzh(upZQ>46uX%NH#mq3FqQsaE@UIL^}6G zXex=c4tx&Gn+bv_IIzASgwK;i=Gc>w5iU|PR^b^+Fmzy;p?bTdrd2$RC*PqK@E-xBmD z@BtJ>;@I-J!y|VJz(*fbpU=+@ha*8Q=P~bpa>sCehu(- z+XX&TOc*kEkdKOkYyf(O$wn`FEAfawr;N7%vRd?3SJL?zKWB^?aIJcqX#vQhCSyw1 zOZT?_)5-inA=_JjVBXvgtuDacn3KWj#2FO<5nc65A2R|>ySb@t_ON>A080ew_WG?U z>%(z%w{y=pZR>Vl$iZyQapeGLv8{{q%Sss-Tkb5gC9lf@imwTWSUzkm(EGQ-^i`Ra z->J<#MZN~`n5XJn^@6%gjo|};e5$JICCenF*c873X7I5iD#(Er3N3g)cAu WiV4pYsO)|K0000J&S1*HX$B#}W-e*gz`Nliru=LQD>8aLcfd0+ql0tiV&K~zY`?Ub>O+CUJ7 zxq{v(3ySED^15gZ1yvl6SJ73VTc4D4Mw_iuL~`x{qWB)*l(-DU%|2yj*4XTVm-JD7 z36Pji|Nb+c^=S0(>1INTg7wLMLAs5u*O3^mZ?)dp`gAi`9}8`Xf4e|^BsFPw_bX7h z1}HNR8MFW-O~3$v>H=5*kN`p}r2v-0BV>RQ0w7&&0w)~B#o!z#JrL_65TR8XYaN9m zSOA+Tu0=?39O~`0j5LnuT1J5uNfgWoF(?dCL}7p&3Z0bY=Sv{94oJXERX@L90&(v% z)9YSf4&Y(>(|dNz}gYGz?&c5sND$YgzL4Mo=>umfWH#-DhdG?u^zxrCSJuJaHCV%0Tkgu6z2e6c3t3ih6yLk z9pt0pAX|XGC+SMhyp?#wzca==09h@()s=L9&W{-r23#v|e={urdE92q=z3{y`#&Dc zZ!F|n3rySFp_TJ?GUi}#I!R6SIiR={7gB&F&WO9AJ(>(_OzMWxd}oZa3~3 zhjr8K3ptpz*)JRbE!ItWd{`L+W97~=pYx_Fq5P6^NaX$60^ZvS)7MpAeWNzF6!{#$ zW1i}-^$XTzHD(MS0OV6$*DrZ4A;YHl1u%vWbx97iP-wyZkpJ~J{Q<9v3D1Eeb0+`* N002ovPDHLkV1knl1S0?d diff --git a/graphics/pokemon/alcremie/front.png b/graphics/pokemon/alcremie/front.png index 7093ac250158c5009f0011f65c24732fd14c89a6..e1daa350c5823898cdea0c52942b282358591211 100644 GIT binary patch delta 641 zcmV-{0)GAB1?dHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zyedK~zY` z?UcKY8Zi`xX9}d07zS@a6^}$S6*w8KL}lR_C0!EXks>PA=Af-tf~3nT(gym3EIh$N z2OBECT#l#9Tu2|~wEw67Ty5`vl*1<&mw*<-Ak7O7?Ew zW6-AF!k2(RTnqSgi2!haS(hW2gA0AVs!~_?B$r`I*1Iod{l)h2LFB;Ir|sds0@&{! z?!(0lG@Tq?p2` zi7WO&V=#$pVwM7rWf=%YuVj|DIp$ne%(4-TlFUGAAPJ=Gl)LbMXG)HVp;IanrKBj= zpt&KG7%?S=%M^+hzN?JB1w*k7j+K;vMGP|gxdHf27aDh790a`sBeNeHxc!_VuqXko z9s**Az(;JBFWI>O5Z05UL;~FIGYy7C$HF99Ec!JP8Eim~HQZR+{S)vRvzCh)1=CSF zW-m!}E&!3WL#q3KM9JC6y{`h$K!fLDJC+j5m~aGa0kD?vV|%{Di|Kdx0Qo{2lQR%1 z+&%C>5Mr$@bkR^KCIRXKlfc9(uNVqUKqQx)F#@WrBk?{3K@`kXrR;ij72uw9-P5Ft zTnGKS2Dr-ij4m~RKhG}(ftoMI??G;$c~lKFSm=P8aA0d(fK%xHNyeiZfOOrGSU9xD z%J0@^$2P9Oa!b0bSy=)*cI`7CTFa`dR43*f?1`OgM*SgD?v#|O8+Ai@3U%*dsK4m{ bW_aFjU(nIx-Q$_M00000NkvXXu0mjfZs{gX delta 635 zcmV->0)+kP1>psdB#}W-e*gz`Nliru=LQD>8akrk1>FDu0z^qfK~zY`?UlQZ+CUVB zaekxca=$9xTA|@N`d6*TMF9 zc@1+wov!3wFm&a!W5708}>kbvS8rtdbY3eZgqI>r=vn!vIT8i0=S zCej#qAgX{neIt^hf6W=^!ZORYJB<I7 zH)cZBh)9u6^ZQi-+Gy}H=>5#9LMp9tu~E!`ds1~*ldcLK)Y}^1 zs@OBS)Bw)1aX2Xm)I2fH5DEjueLK)*UJl%PV^ag1z5JbI+^+%1AYT&mCgx;)ZXI^& z;R*~lWWYMs64+^AUiicqX0KA7S?*xY>{2u8kG{;0l9Y9$Zp)TLz4^_0`UTnb${ncL_t(IjqQ>#j>0eyMRS7@+7d;31~gS<1ZUbaa0IF-r$8={ zHI^w-S^{wZMB!@1Dp@II5GEAZLkcJ;pkO*b`G5P5ev-U&yzhYqdjur@--1$3xdR-r zWB}3z$GC_Z*nJ6!>34i$P#~(oJ_1`1>2w=3tx}5qM#EL`Fn#kPcUc}lTP?-N9Oxzl|x>+WKil$Umzo=~haB^sz2%a5Lc`>P2T8avhIHA?^h0N_bPK~y-)?UFGH!Y~wubAv~5 zl;Ro6n=3~xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>w1x0j6d0n)If+~*3tLQ3F)+Z&M(Prxuk(_&gD82_cB`yPTvrn0s zH8yMT`T?Shgpv3^{rk^&mdQU@(~v6g>fv!kbr+25NDS+Htq)e8?*{dm(3ZIO=o6`_ z4)?!3x;4NuOP@glKwNu&3;;+Mz&wBi5Lzh(upZQ>46uX%NH#mq3FqQsaE@UIL^}6G zXex=c4tx&Gn+bv_IIzASgwK;i=Gc>w5iU|PR^b^+Fmzy;p?bTdrd2$RC*PqK@E-xBmD z@BtJ>;@I-J!y|VJz(*fbpU=+@ha*8Q=P~bpa>sCehu(- z+XX&TOc*kEkdKOkYyf(O$wn`FEAfawr;N7%vRd?3SJL?zKWB^?aIJcqX#vQhCSyw1 zOZT?_)5-inA=_JjVBXvgtuDacn3KWj#2FO<5nc65A2R|>ySb@t_ON>A080ew_WG?U z>%(z%w{y=pZR>Vl$iZyQapeGLv8{{q%Sss-Tkb5gC9lf@imwTWSUzkm(EGQ-^i`Ra z->J<#MZN~`n5XJn^@6%gjo|};e5$JICCenF*c873X7I5iD#(Er3N3g)cAu WiV4pYsO)|K0000J&S1*HX$B#}W-e*gz`Nliru=LQD>8vzRO-M9b%0tiV&K~zY`?Ub>O+CUJ7 zxq{v(3ySED^15gZ1yvl6SJ73VTc4D4Mw_iuL~`x{qWB)*l(-DU%|2yj*4XTVm-JD7 z36Pji|Nb+c^=S0(>1INTg7wLMLAs5u*O3^mZ?)dp`gAi`9}8`Xf4e|^BsFPw_bX7h z1}HNR8MFW-O~3$v>H=5*kN`p}r2v-0BV>RQ0w7&&0w)~B#o!z#JrL_65TR8XYaN9m zSOA+Tu0=?39O~`0j5LnuT1J5uNfgWoF(?dCL}7p&3Z0bY=Sv{94oJXERX@L90&(v% z)9YSf4&Y(>(|dNz}gYGz?&c5sND$YgzL4Mo=>umfWH#-DhdG?u^zxrCSJuJaHCV%0Tkgu6z2e6c3t3ih6yLk z9pt0pAX|XGC+SMhyp?#wzca==09h@()s=L9&W{-r23#v|e={urdE92q=z3{y`#&Dc zZ!F|n3rySFp_TJ?GUi}#I!R6SIiR={7gB&F&WO9AJ(>(_OzMWxd}oZa3~3 zhjr8K3ptpz*)JRbE!ItWd{`L+W97~=pYx_Fq5P6^NaX$60^ZvS)7MpAeWNzF6!{#$ zW1i}-^$XTzHD(MS0OV6$*DrZ4A;YHl1u%vWbx97iP-wyZkpJ~J{Q<9v3D1Eeb0+`* N002ovPDHLkV1h~L1bF}e diff --git a/graphics/pokemon/alcremie/mint_cream/back.png b/graphics/pokemon/alcremie/mint_cream/back.png index 18449134d5371b32eb12330526b0a11aa9be6c20..481ce9c78cff8ecc5e29aa50f6b6a90d712c5c06 100644 GIT binary patch delta 584 zcmV-O0=NC81+WE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>w1x0j6d0n)If+~*3tLQ3F)+Z&M(Prxuk(_&gD82_cB`yPTvrn0s zH8yMT`T?Shgpv3^{rk^&mdQU@(~v6g>fv!kbr+25NDS+Htq)e8?*{dm(3ZIO=o6`_ z4)?!3x;4NuOP@glKwNu&3;;+Mz&wBi5Lzh(upZQ>46uX%NH#mq3FqQsaE@UIL^}6G zXex=c4tx&Gn+bv_IIzASgwK;i=Gc>w5iU|PR^b^+Fmzy;p?bTdrd2$RC*PqK@E-xBmD z@BtJ>;@I-J!y|VJz(*fbpU=+@ha*8Q=P~bpa>sCehu(- z+XX&TOc*kEkdKOkYyf(O$wn`FEAfawr;N7%vRd?3SJL?zKWB^?aIJcqX#vQhCSyw1 zOZT?_)5-inA=_JjVBXvgtuDacn3KWj#2FO<5nc65A2R|>ySb@t_ON>A080ew_WG?U z>%(z%w{y=pZR>Vl$iZyQapeGLv8{{q%Sss-Tkb5gC9lf@imwTWSUzkm(EGQ-^i`Ra z->J<#MZN~`n5XJn^@6%gjo|};e5$JICCenF*c873X7I5iD#(Er3N3g)cAu WiV4pYsO)|K0000J&S1*HX$B#}W-e*gz`Nliru=LQD>8wCxV8KD3G0tiV&K~zY`?Ub>O+CUJ7 zxq{v(3ySED^15gZ1yvl6SJ73VTc4D4Mw_iuL~`x{qWB)*l(-DU%|2yj*4XTVm-JD7 z36Pji|Nb+c^=S0(>1INTg7wLMLAs5u*O3^mZ?)dp`gAi`9}8`Xf4e|^BsFPw_bX7h z1}HNR8MFW-O~3$v>H=5*kN`p}r2v-0BV>RQ0w7&&0w)~B#o!z#JrL_65TR8XYaN9m zSOA+Tu0=?39O~`0j5LnuT1J5uNfgWoF(?dCL}7p&3Z0bY=Sv{94oJXERX@L90&(v% z)9YSf4&Y(>(|dNz}gYGz?&c5sND$YgzL4Mo=>umfWH#-DhdG?u^zxrCSJuJaHCV%0Tkgu6z2e6c3t3ih6yLk z9pt0pAX|XGC+SMhyp?#wzca==09h@()s=L9&W{-r23#v|e={urdE92q=z3{y`#&Dc zZ!F|n3rySFp_TJ?GUi}#I!R6SIiR={7gB&F&WO9AJ(>(_OzMWxd}oZa3~3 zhjr8K3ptpz*)JRbE!ItWd{`L+W97~=pYx_Fq5P6^NaX$60^ZvS)7MpAeWNzF6!{#$ zW1i}-^$XTzHD(MS0OV6$*DrZ4A;YHl1u%vWbx97iP-wyZkpJ~J{Q<9v3D1Eeb0+`* N002ovPDHLkV1mne15f|} diff --git a/graphics/pokemon/alcremie/rainbow_swirl/front.png b/graphics/pokemon/alcremie/rainbow_swirl/front.png index 291fcb5c4da9ceb2ad9a5602b02f4365ee6cf11d..4337e257a4640cf5818e938062662e1213148271 100644 GIT binary patch delta 649 zcmV;40(SlQ1%U>TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0$NE#K~zY` z?UcQ1+dvq`t-;XI7t5C+#gU*Cf3FFpQ^0PwhC*uZsT=z*h_!XeA}^u!cAKG_45oCn z{)WENR(-g8>9amRp7-md(tl-T5Y#SUuYn?!9SPMVB_gUnFul356JY<{f7HLs0p_!t z3yQw7#`D=#B`0Ben*dEVp8C0f|B1QSA(h9z|Iy0={w=dykc>j>*+^yqI%=cG4c!wz3qqZXix3fJ+ zrU)g-s1YY5=Y#1z40157R%i#d$b60{27Wb)590ZH+E!%|&@Q#ExT0i^~FoHm9W_uJ= zO-L*FN*2o$u+aLH$|e!qYn=o^kOImW@a?o}agJ?t83H;5XieCCf3-iv7t^e<6Xa84 zbeBM=9lr-=+JtDWQ&W@$nvRLSjYXiVMJX)-$|RieS_c7<^^thl2Ac@*M6Mmr8h3zq zl0}~;9V9-;Ck4QMa%W5_0E~X}QV=Nk#TY*z36N}^50t}I47^=EjS7J6DvZU}1pukD z*k7GRo7~^65pJpxM~X$H9#(Q&2sicUCp(LxFuzN&4daAp8~!R-_3O339@at>t-35q j0{zlXiNE;&rb?yX0`L9iaeRQf00000NkvXXu0mjfpnWGo delta 659 zcmV;E0&M+(2KWV#B#}W-e*gz`Nliru=LQD>8wms|Rf+%r0$WK$K~zY`?Ug-i+dvq{ zt-;XI7t5C+C4&RqoohuPX+Zd7+N}kjpx_SXPLBztQ^0PwhC*uZtsDCj#M-)Kk(bbV zyUox|22(m(pP`SmRc~LQeb)bv|MPY)mCFCfgh4RMfW0OLsg*d?e~*!{Uz89>$IVCJ zlqF$JuvCe~-jM}T6gXgN_gY#*1>81BgSOjPum-6-i|1lga!;R(~+NxwaEv z|J}^L$^jPhn@ftivL=i9buGtXcAEe#HktXkfd7fPSRs`szW>q70{$(tT#$@H``K7# z0Xpu0>R^gEjg_+xe`zR`881S1Dkr^%<2dBDmK+4T2yARMFu3S>56s%jhu#bPCX#u>1O8 zgeRueV5i8Z+UTu-P&+;k%(My7TBo|G3KSg^bsLjFPm9d91Spem#v5G(gvhx$;$;VH zBES>5ajHZ`V(w z0${fe<6xTtfE=<|U!O tHv((e2vIcZs;CIm%fAdE{>`uQ4+8J~<~Zl!0{{R32>?k&PDHLkV1hD0FZKWc diff --git a/graphics/pokemon/alcremie/ruby_cream/back.png b/graphics/pokemon/alcremie/ruby_cream/back.png index fd9b9ed17fb073fec80833cb452eb4197901e66a..45fc28a0e6f7541c3f9be93c715d8d38f53aafe6 100644 GIT binary patch delta 589 zcmV-T0=|CLF|MBae@hFpju%;nZ;MK#!is~*H*O3_3_gbHfKHm-MvrHS} z-lI>1raImK^616@OD=qW1}y+_?J)o#Jp<+e1VE;hQUL2geaZkU%K(z?&U3=Kcs4l4 zum>XDcp|iwL|O;F2nN7rnz0B8jzhg2%Shu0#xiDT5eMFk5P`xFP2dN}q0w){eji-u$qCGfeFW=!EOFonKF~ zkAU9-^fvGT6h+|PxUY;|GV(z{T!5$rAaz1EJz!4SqmKhD|F9mwPnx}o9AK&w(E$|U zL)KgaeBE_{&lD4e%pT;U;viapo?)`pOJ^k>@#mEB4nS6C&gu#}Kj-I+F$1oZvzZ2f zJZdwhbiK5*{hyA1@;3_k-T?FVc4&10_EH`tPAAT(2#DyaU;3C4AiK>?O|z%fI}2DK zP!W_dkrV}00000NkvXXu0mjf^qmf_ delta 580 zcmV-K0=xaS1*!#*B#}W-e*gz`Nliru=LQD>8w#Bx1TX*q0u4z-K~zY`?Ucca+b|G@ zvxnSmsz4#+u(|H3$T@{TU5}x#2ohF4l(O&8L&4n#DD^(T()ux)G$%cUgL>4vbViOH zDY4Rf=?_UD^YQDS@yMgmzo(m+6b0+?c22sDuGf(mu5XMv*!pBWe^?(2V~M*!eIyO( zaQ8D%w+1LR4H>imr2BvY0M!Ms03ZQ`(OLs6hDXQ%B?LgWS_e)zii^QH#yyajCJ>=j zmKYO-B3J;MX|6@ca2)#WwTv{5=vqdB7HJgB2nlEm(L`Z@92%3B<)=#^vkpkWOjkd? zT>?q(Gc)h2YJCo5e=eY(2Y|i~%$V2DF2LFmxWJq5-l*LO=!EOFnw(FvkAS}t%qj{2 z6h-3R_>YX8GV(z{o`9qUAooHxJz!7TppOU4ezP9HPcB|19&lqa*#Q*cK{V$8UvypI zca8~T<__{vbC4}S-*L7wGjAmx@$a1R4nWojZ*?V|U+`nbf0O|?+S^PEK#{Z=bGlx} z+y0L`^$QEd#sZV}b{Orvos`-soK9Mh2uSFvpZXXRpt{Y?ZL^2@I|rB|uS&_baF_e1{I-}DExA3K#} S2;c$$0000O+CUJ7p`f>w1t}8EQC}0Sp`wW6@k)`d0A+nel*VYY&yga9bA6=v`jZmBMIi3> zp)#|^W({6HK$MX%691=v{~6CR`3GwnQUzW;Jg%tjf^i**VSTUl!Rqtfpgt4Y689c` zA~n_F{75g0YMOE#knN5h73+A`kokIpjJniZ8c7VjYlx zg(`pjxCNrlXQAJh(|dNz?u=bz?+|LhN&BW0iAHYHuLLAb`kJf zg5Cr^fTBp;oBk_fmyCQ6kQX3o07!cw^A4~l?a`+PEIzXiz)vb(MLl4u6WIb3;e*Jp z0lsd#z-NjHL*@?hQE`wBK+iDQ=tXZO9`Wat@fJW*-u8bwnLj9hWP1zDo7#RDG*nP?xDOd;pM7RaL!YnS>OZ;y1u13_ex`InY9(1@DLaU*k2I Z`~?W=6*qNYj>!N3002ovPDHLkV1oY*2_ygj delta 577 zcmV-H0>1sT1*Zj&B#}W-e*gz`Nliru=LQD>8w~?Tk&^%b0t!h)K~zY`?Ub>O+CUJ7 zxq{v(3sNMSqrN6uLq!qCrYDj7J<0ihsw+vn_cjd zKFTiv67%Wbf5x*Ojs88|Oh{3%KG`owx6$=F62tYa);n9DZU*aPf1xdL7pRY z?tNzZeN}DFfz$=mfAav)*MVvM`q>3oI|3JY^TQjp8v&hgy;jrnN%j%&SAt$eA%LPt z+#COqu~SAq2*?ubSgW5B0PxV9N^2Y3;fP7 z;e@$^d{i7{3()r@UFn&(5|8+I#&`!HtA)3^lFrZhF=N7je{1D!rUf96+l(1qFYRsr z$AkHeg?wv)X?r`ga^6nH91Kn;$w>snbk$FNj0rH^=4Q6p-Qt}C%n@k1>$jw=_xr`| z#y#V(Zn}LT2eUT&g#)0)x+#wjD`Q}++*#&x-c%)&Us4W)aI5V zp96TzQ~kAmH^I8hjNt=-e5&jECC?>f*c872#_*vo$$=IMEw~@@zy78_2c!mYH6dfbZnuU)YVWNR`!9&K z6@!=4Vp31OKdP^^RbSmppY{3iyk93-|5cPtP<6n`If^uE5?Yr?c<*Y6i_7zu5Y!c6 z=isWEh?5H!q^gdvIUwMFRsuGiApne5)o><|N?y&&-1!~JY#5Wp`b*J&v3k7sGT`*n zD!wZLHtWY*ioS9eoArIOBw_WG0bRCO#ic;}jfL1Dl~-~6H7Ww}6LUk5jDr7WE{g!2 z4?qpDL|Vozxd(MY1?dpc0GP{*faAa7VK(NFFkIlfVW2A0}jh(`j7*N-f=(R0N0yPg3`%8w}~^I{PMjJmcWM+Zj9;t3D{a2 z!@P)sY76P=pCmbdMPOuvm6rhJ5YBjeh=3^iNW33_M+8Ko)J|tj zJHR{1s!x+nGauyZ3g9%mGp1Ak_9S~L2vq!H>>XqQk|pJ2Ktpd+;AY!16~J+;Q?aB1 zAf5C`dfPYq(%-GE_bohuVTN>cv$O@h@0e%SH%6CtDULc#Fh_l;SoOz5q)$nRs#Q0H jCD6BOCH~_7o3gCmELHY;isX6400000NkvXXu0mjf9U(X% delta 642 zcmV-|0)74Q1?UBkB#}W-e*gz`Nliru=LQD>8xERIz$pL#0!v9mK~zY`?Ug-m+CUh` z@qpBk3+6I}iAdeawN@lpET64*YbDN7RTgyT2SphpLAy1ol)~Q9z$XaaDkPTkf>I{# zL-nz@`t1v}&-(xA|GeExqwzlqVG)cv;H-y1S~U*sD z@s6UdoaJ`&&?<3QKV?9lE!S}=5PxGKR!HS_9Dj|9K>Wm<5G14Ey;;a2KoAO1BMPb` zq@#b4}9oo}5o|t}z4Uo^ZF+KvJ zZh9V=?Gj>)$#u~bDEc<)E+&Do5ru6DP&VO=cSZ;ZQF3#{`v6=bAQGi=wo%N0dy-XG zlg=_7NwxG&?B>R6H@(9x?;Tl5(J_cPVhY8<+~6jX*3ySIuD~!uy1G?bfBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?Ub>O+CUJ7p`f>wMG-mKWLhZ&upZQ>46w2cAldFbC!C9CgL4dfAkvK| zLR(3sb>NF&0Boiii;&%{_V}=%S;LQjTC=AgAet;Yr9T&ytTOctGNWfB+ zKfm7sQSYoxL(`&^(6ZU_$@$h z10O(91n!Od%Gf0%9|Xh&h*|(rCuGwD=A=FPIKc7`>jC_v*{jF_raBQFKoLG<%{9Q+ zT^IOFF=5E;K|U%Dq6O#~CR@F9R^kzVP8sh2WOe4OuAuXCe$E&(;95DGX#mKhHe*WH zOFP^D=_r4rknatDFmG>%Ru^C||@eO2b= zH)?ZFk*@(f=BfHxy`U~qDfs{(o~o*P$#VfIHpOp%8GNiG3UZ)@LJRJO{9ofWnfwJs Wg&fOu(HnmN0000S;T1*8R#B#}W-e*gz`Nliru=LQD>8xUYY{Yn4;0tZP%K~zY`?Ub>O+CUJ7 zxq{wS7Ddn<-IdXr0;)J3E4r;fx0aHtQbf+ZK;nCWOWX!Rv8BK?%W6Z(UC+orbSQty(e+B9zX-J2=pMknH zK&ffSpame^2MhqHE`S992_THt8elOzLIx-y0J7COaKces49+p`fy6X{2(7Zjm?#v% z0@zG*EkcIl&~LA0q;W*oG77XvqhLlzKx2p|3IpWOn6xZET>_bPKmumE`tj`&NP3@{ zd0$oQb0Bj8{X78le|2ESync28){ejh-hB5)?M6T+T(8ySe3E?x{FPul^#Fcy@hb6v875IS2Tn>jJ-XOc*nF zkdK;!YytX?vz3{7EAfbb=Ztp%vPO8TE9v}#A2X&5xY6Ebe_8;Fq|KPq^)lY}f842G zSSU6Yn6$UUXy@&u)K1}a(t<=lLRbCN$Cv=sZEkLxJR_-i|Dc@Hml%F#Wsk~oWz@~ diff --git a/graphics/pokemon/alomomola/anim_front.png b/graphics/pokemon/alomomola/anim_front.png index 2c467dfe449b78201facd0e658cee423793fd1e0..641299c3f239ecedc94b75e28660e24a1c21069b 100644 GIT binary patch delta 759 zcmV-Qy(?j?Uwlf@??&N*jC$kxl}E zO|V26aiq3<&b|V)R8Zc@H10^769p}ZH=v^C9hh1B5Yp|e3lI%AQku+9Gvhz=?Pnn_ zgm>lQf4@b~1K$cr7{k<70AL&ptp)xNxCRh_1?YtxfP`e7Z+|2U;3Z^gpaz}5lmil2 zXSvE153E&I*nnrMR7y>bxxC0Upjg0F-9SbFJA$i}wLmw3_46p=J0Osc0q(JRkx?FC z&I39R@R-T>f+i2)9W!v_T?^b!%>~}RrflHhGdGs#y?UboCE>jh*dt&EFv($97)QVk z`(Jk3iIQeu4}S}s?asCV1N3Ns&);@5M8yI7Umt#gAcq5!0JsGFc(jG!m}x_M&9he zwtGc{VF7UeBkOu2FzHed)QF6d;sFAM8oXeE_?99q=8pqMt9c&UfKUxq zV}8mQ!gUUIfKD|YaNwyO5OXXNfCZo(>;S~vdh$}t>;*34--Nqd^6xz5ac|0{J&(Z? zO=R3`1P+ zm*wWV5g`9S033ldsa0EroB{ezEyylNbw@edy$41KGA z@I0@7=^y@%fAGBy{~&$4e>hp0ANMc+Z~_eA)NqYGkoZoRd(1{;4xaOX8+mmdhbxdQ z5P4n2n*YS4rQMB1oW&Z(Gi pQ>{WJueR=TV$EYLJJkArjh_hLD|`9FokRct002ovPDHLkV1j~&V=Djv delta 776 zcmV+j1NZ#O2HFOYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT%s`ADqr z0008LNklEk63j?QD7f@^RLN}F>MB1HlPn_!7D;z(`zoP7mo zsi3@*Y21-ECkk2+Z$L%OJ21NrH0+EEkSMrm=hN)i>-p!mWqwnK`TJMhXgiRE^|o(8<`ax@Klyk%F!A5 z5Sa!f33O#UkSSoy0BnJF0PE*bM4x~_J_NW=-*u+)05clUd4MH#RbG>a;I0|C`St+Z zNzDb`yi!@u!GAk9mgu~EtpO?Eoe?-vz#d?fgI^e1z!Q!??{_09%)k*AxZGdvJOb#b z20ne=t0pQ6IR5hRBX~JXOajnV!1qTx@XlxeK77OHjN!zh01t1&6Y$ss*oXJ5dPq%2 z*cXrl3cweYhNcpWDo8XSpfUn>(j3tT@I$5v^-)wI+kYk0m02klKlAm30O|{!uB#LC zCui4(s3%8&?V+t z#Rf|fcz{452hT|$zAcp&)9b+2YMuui5XixLNOu`Su*rc3)K(iaXFTBnYlcNUcJ<;6 zwgA?Q-G96)reo_W{(W>;t0kMqxhYqC9%IGrW*tig&<3L9wm;_}G*GG{6i{ZmL`Eq@ z<8c(wr+{KE;S@2#i=ls*uW@>5UtU-`KTHSR{{81`zfU}9q*`+mV z8>m069;-nk60p)n#qyFA%2caRxn!hx#O5(pEo%M0#t#VJD|?a|=Y{|P002ovPDHLk GU;%<*G*pQI diff --git a/graphics/pokemon/alomomola/back.png b/graphics/pokemon/alomomola/back.png index 3757537687b0f8f1814e06844af21e2213182a93..4cada4d91bbf0aaf45593a30552a2b6e0e7e72da 100644 GIT binary patch delta 541 zcmV+&0^6}Kv*C`;DuvB8Bs28BULN8GD z4tm<)fEs!Gl$NN4*i1qJ9NWFZYGLMw(*C?fomI%@Z(Jv8=4gh%9%?WaZX9i+K z!#F|#kJ6SA&KL_3Fs}esi-&}ewi(z2er(2nm=WB=hne`74{#7L zxetG`0d`IYhDVetfq)qRH&Mci(E+_AIg1uLK!9W|M-&Fggmk5%jwGBxI;2xLqXrTN z&m%tzM&}A*5f0CyXERvw$X(|$oS6oioE3o0bRgQSuY42Osw)Jz8L%k;rh`KcjPl^L zJNWryGI9nW-;bwwB9JY&O#zOl8x&_OIa2@t0p3YOK~zY`jnutv!Y~jA z@F0;rE}}@;Frq`JfCnTxQmIoVK1$hHI@2ilbs7*$SSqnm)EA(Ag}y-5cj);em4nZr z7D$o&FIqQr%>ga%DY z>+T^gIbZO3yFzeq#Tx?fbBn}L9t0U=>6X}Cd^z+p4SoZta|%*0dP!@-oPeR#-v z*qlBTk15px0TTdWrbRPB3v{w97j?9N0NF~FunMRSa!C;&9daOxw5%BokTG~4MMW^k zBZx&fyo+AkAmwqmI_cq03{d0D0##-Lk!E!rxxhwWAs{S(f3*de3HB#oa0-sweRMh| zBRK&1aX8vQrQFm6I2;eJCb%_HO0fO>-nmka6u95nDRqb%fb~xim?5%>sPz6-9K#Gj z1iX3cN3Ia5t`ylJI&PqQs0^Y~nq`4~;-LZhWdJIz!_>1{=-wlFK~m?xQXN;SI{X3; X26Y1gV!Yh|3jhEBNkvXXu0mjf)v4#Y diff --git a/graphics/pokemon/alomomola/icon.png b/graphics/pokemon/alomomola/icon.png index d811d0a9c2ceaa0e590b68224e17b198a05b3a50..91e26aa9e2c6797d17327708eab2ffb0a2b9d739 100644 GIT binary patch delta 183 zcmV;o07(DH0-yqrU!)A_8E&LMo) z$m)PCP5=gCxbQ+P45}6~6)opGgWQuuN)O$eNKT+L-3BEf2k1y13B$NoY`6_za7qLW z$E4(eD`pDQFhx%Hh=uNkXD;BpFb1JX3x6{{im0p5Tl&fhnO#9TxCWUkOt7CSB@Cx) lF^>E~w)me~n}5Sk^8!}c8V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0UH*HB3OR_ z0065=L_t(I%iWW)4#F@DMDqppo_+>nK9r#Y%9==^iV2_8eozL2x{)EQJ+m+Z9-l5} zU37NtyGE)3Z8ZWgkcJCCD2YMQM5dzYd}k0xl1Lh%dlQKPv}tD8pakRq&Eyd<<-KCV zZ32T+Akc6ON*=gkp)eh@=X4LBXs>(51kQ`bz;)^FZ^lLuH5GbGUsxfFDaZiRpk@l= q+D{dR({=CjYEI1FRPFV{-+uv9iiOQY*d1B`0000-Q`lcWDb_G z?{Q|hyPWqt&mDff0?6^!c0#xVC!HNQ-JXEZC~w69`x@?Qg@1%O?uCw40M2pJDJSrc z0N$fCE9EE<)&cIuF+GA(u6HG^J%BO#)KS3mE?V8==&*};3wyAfM0~vdB*Dy@&g3|uS_5np)IdH?ji+3%8!bW z0`0G9z=NVhEai|FCj4e{T3hdF0jT=}&ri>+0NP`i~7{nX6iEYWJ z@GlUIJ~BcB?rNJejs$5E#1a;N#?yxUP;7w&y-~4(b$|RIdK0E%VH4y`C4dqcAu$QC zGjjO`3A7_J2CQ&BfrQkrIe$%0mK#Ejcz>S2AATj}N)Z-Xg<_}u{*Sl-CFXMF>Yz3_!G)Ddz1rX!q0y&8mO|TvMpO_U z2x3NyFcrN6sPPx#q#1t$KO*HCj$IrJyvFjw)r&JEq)lQD(po3rs>(rh*@K^3dO^tZ zeT~t|t{r^6FY54fM?p16NFEt=FvZ6(f{*u(9DmZ|^N7+TgMpuSI_PkIL-y;y@Q`7o z2spnU;DCv0q&}eM-XSdyw99N|zaHT%iprX?ez_X#%?|PPYNdxiclcy`3E!!S8ot9| z_%2n~su%vi6`AHJUi0y%e>i(veNO&Q|Ni$qduNx{;%@eEGQX+D)lqDBk_U7*Vf*JY z*hSdU0)K@q1lJXCz~uv2#8i}YeI1j9Y=6W`{5cwkQl0=$Dvmp9h6YZ5kl;0Gt8qGo zd2FQ!rkV00frADn(((@=IqJee3BfoF{)IJcLEY6w?4ZPsKt;!?F|J`qX4+2MDE}ZX z^3>qS+FNV2!p(|00000NkvXX Hu0mjfPU}fL delta 1215 zcmV;w1VH=v362VoUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT%w{v~MX z000DWNkl__my76J19Xb596BcF;LtxH@P23k zTJ_>fE(l#thZ`K9rxqOwbjksRr1CE)aQzGV&-6XYwj@$NhJOy_5C?i+y+=~y`+O~{ zeAsQPcG&G+y})gV6Tcx&dkt}~ZmM=JUN#lt?&6kPG8G7W*;LI0_A!L_C{0V16mZ)R z9s~hBhEio~CA~ce;}}uDY^|5Q!HIV?z_?cyCq%vH;V9c7I++CBnjPGGKABtx7d3(a zG6ZKe-&jq*Mt|@r#s}3koHoRVKLnMZ`u>Kv!SJhU!RN17*g3nZ7TEWUy}u7@PSYj( zk+blZ>Q#Kge|8rS)d?Ja=~7yAo`w8CLBJ~$NG0gYxy8#wj*#*XC5S;fH{x6fCLf`K zlyb3>vGG1*37fe}5HHy})~moCE!nJt6=cjEU-AX~3xdKtQb7mK zYM(QX0$CJ@2p)cqUmNm6u{8?v6BP+O#|tsMXKJiIjs|c$5?*2etC|9xJ!zSw14G0Tva*ru7>b)OD_p|agbB=(qjj= z_hlP??kG@$xMW|u{cw9-4=(Q=Iie>Q9;L_o`t^>-KIb>&pbZKO6LH)`fk2{0^RsYFtj!fLytRC1cIjo<(u#jf1Lf=trl3_ zFF*dp*}LlRWPkVfKVP%=H6QwJ`FOgzsek>@F0FTxhqPHxe_h5+f`%#Z*Ej`dUTH7n zBUr>(#8oC~EjxjNKSu*GFTp=@(N{gxDfI^-9+SRmrwi!ES_)^8k{1OW7#K>;KLB#n zfrAo)acKN&t=R(I)j{+Tu~VSvEH1QbXp$-0X&>8hmy7s}GT@V9F;^H d|C9c^@h@4hCqpW}^`ig)002ovPDHLkV1f}zKNSD~ diff --git a/graphics/pokemon/altaria/mega/back.png b/graphics/pokemon/altaria/mega/back.png index b86aa129e1ac877fbba21e662a93ad279593182d..b78923ce5b6b3ca35e3104d9123fdf811b526bac 100644 GIT binary patch delta 648 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 F0fKD}={EoX diff --git a/graphics/pokemon/altaria/mega/icon.png b/graphics/pokemon/altaria/mega/icon.png index 349cc160f9946f527c464353bce59770305d6143..2464e11c3f5ab88c5af9ef93a31765b68af2e3b2 100644 GIT binary patch delta 417 zcmV;S0bc%=1oi`vUw;9CNkl^DlR2$KPjJ|7zLU#eUy!CVONo z$kT8kmARDHF^nprJG#y2E(tkq7rIu@f!y~$^4)l`p)R{)m2ClOpp?cox6egE<6+1p-a^)7J#r><`+%%JW3dNDk(1l z52j$zEA~f0Bhm2|BJZ#cQ?=!jP~{^{#Ye#TNCEV!_X)<4-a}cT&pB-8!h^61^xV;A z87}LuddQM2v485xcQF2b{a%N`yMk%kV(^#tlV*n~}Etm&X(bKcTAXu5?C z{`h6(f}ziH`f>Z7-%?Fqo^-IEeW#6qfm^V92el5aH2qQsI|a#1K~0A)6`JG%^1$ez zMCXjZ)B&JiS?K`P?-n{hMf;=!Jb7pQMu#x1`C)X(ni?cMe delta 449 zcmV;y0Y3ir1C|7kUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT%&@c!W2 z0004bNklh;}r@gf1O~ z-@)?IkRa4#NpZ0&)plZgYPV>+Uw0?*|6iwbRmaL(^>Nfxj(^CQ$}d`uONJ9N*K6ORUd&T)36?vbtY&e`tDj3 z6P?pS?)f~B#eYiE@#S+ql>o!DKmIJzHB=q?ozs3LTnN;~!)&?>gRt)EDOb5__}sb5 z^M4%1&n+BQNfU=bL>f3`+d0&6un1ekSi?bw&3RYjpwlgJ@Mdot2Tb~`NI&j9@_VY& zPkwQ*UOl^qz6rO??i1wJztQPeI9Mqp%rw++7*L^;Tsng~;~+)<5`TpQK-j_oR0{_P r8#us=8#ZtV(i$HIhrH?Z-*NZ>2b$VVo+E$b00000NkvXXu0mjfaQ?}7 diff --git a/graphics/pokemon/amaura/anim_front.png b/graphics/pokemon/amaura/anim_front.png index 71820c1868892ac7e5688d876bcea4fdb6f1cdb7..63c7d94cbdb22c41ba3d76fa97960ef2121341e3 100644 GIT binary patch delta 669 zcmV;O0%HAx289NYbbkVSNkl0ZjQ8g1I-_N-f;jDz z3T2GkBI?ahMAm`|-9s>FG;~N6kDl62-D>hj^_^scoZdT`bZDV|gHG^%dheZ1==&J^ z&*JjldOzCXY-fE45S5u!14PwA&QO*}!-$x&9rD3BGkHk$Fn>Ac=PcucPy;0I@Dfrl zBI8GpA#h3T0s*%K`qVbEBj|7)U?R{LFZd^_#m!U5L@wSO6M42=z{mCS+8I*7cmd<} z@&}N>sSo4ZFD?zd@_!N_iqWnl7Mr;66JQ|@;u=Q^b+;^*Z|*syeI*` zDscB1TMcR8aj^o+(*SVmgVR;z*~oGw&;{rz3oygFs%m)Z4$Sa!EaCJf69QmCjwS5r zoT|V^(;Uw$4``q_ML-yydJ_nEB8DzACIld#jPa8R=6^I$esm{uVgx3JEqMxtAo3-n zOCI77Wwd9z>u-@pyXymhO0Q|}kcR1uY0L*^WC^qwl(45~97|;Vi0bhkC4GhlBBcOy z1<#XA3O~^TA9kfR7*OWJ57LZhlEC1OOV$QF=#H6#H;%3Z8e)gT6;mtBEB z;Rfk%1X_CldhKrn_Hhq;O{p;$3{O>{ZZOp1_)i%O+CNkVO{0UIGPpZ#zE00L%7L_t(o!|j%_Yuiu|#@`?u z)9uVdn0Asd-kVp~871>7h|^A~aK^|Dk9rdn;kBSb_Ye#k4INs?qo=l0x0?J>y(cwL zr@oU(hZgD^^aT3p?xcIt_X+Wz#q`d4HxA--W4#YBDz9V=Fn_8RvWGH77LTSBp!#Q` zsbZ=|Qz>;Oa@CI+z`VvoOudL)9YT)4G$jGA1bWnCrWmHya+*m83GM70HpSK0K=2?rVJqg7Z|`X zAVa!>C3FNVV1N6N{I`+(DbT2Ip$16m0V#}OD@X%iIKZ{@ILGq~0%%#lJr_n2J=%B# zT>~8OHN=D5KJPNY%?B(M(7?mR3R*q`z;y_2XX|4QTAl?u0Nw2`)M;H-Ieec0`~p+B z-SLQZz6+AV$6@H=w-t1Xx(5K8tQ~mS~F`1z2NY$Zwac}O#5zd%8 z#dI{ZMjZ_f)Q{bh9VZ!1QCphcU;_8~{v5`B9Jacg=OzyUbGbwiusYP^_h4MFHk*bX zE=R#D{E>NpD_!RmH$Va`jr-vMJOf1nSE8|~Rvv(FXA0GZ1b^K2(?L@kAVF$!%TfUK zX`lsS%G4NRBLLWE`0xO=USWwh8br7xsQrVrYZ@?(I{+a2Xla0A0H8d8Y3z=pfTsnw z_Pv97>I1wU-kobV0&ywKoBjf->-@lt*8yFDYYeQ8W>M}upYs-zEi9fV@s0+VELv3v zAz~jW#IzJHUVrHh^O-orlm_LP7n3a|^rLjqmmvX56Jgx0uDd;!@ygSmSF4fFs2002ovPDHLkU;%=u+N~b| delta 406 zcmV;H0crm71AqjObbkN`bV*G`2j>O{0UIKymaNJE00Co3L_t(Y$Hml3YlA=#0N_1H zx7Q6N_ek&$Oi1^b8ZEiYVvdO^OOHY;+oNEh{_Kw0JPtG6K9J5q0`oa9Awv8(T={ig zn%oCW`8OacUyt8|(|VQJ*35b+WQjjA26UyXyp#rNrZ?_~1AoX2GWZ`N4ig$4mG3Ho^N+=d1s!5sjQ zy)`sIF#ymE5D9k2QGjV7oqKIzk#ay*!@G;58-chK=1qSA-L^dF#%qDDAQKF%j%H~O z%;&ttWCP3nB!4>40Fyf)L1u$ZaOn9{(W@@ldpZ~YK<(U&2Ch{GWe z%&GiM5uU{z1%mJ#UNG~4&sBaD-e+#E{BR9nZK{$)K3YQ9{^MS0_I{& zV0|F?7NDGy5$eh!zn7yap5eSulfvodFYodoyNR45k6`WSj`3_ p5kU-gKX`aeejM_lul?uw_yX@xszFMGO4C=KiP0Yoc&)UW!#yQ=Efic$f-hJwwzT!+$(jklUA!!D=!eo7S`t z-`sO^u)s~cF%qg}Vz!dn^ZM%63|;)?DkK0;t6+Vc2|ItP+w066Ht6cR8H``dlJh8Wp1V0FDF zq0v|F?{#W&0i^bCfIAM7E9#d+Ca@GzqFV;f2jg<7&t#Dlwtw3eP#vq+ikQ-UvoQcF z7eu5;in#0AJRvTg;<4#LPy-*;+fh!~xARE`uGW6+fWi_Nm35-$ZV#gRfVng12LvK* zr}H-r1*~ptevE}FI=C=J2N$O3;KH~LMVO+43sZD(VYJu5g%Ry^aAANt z9bA~8y$(efdx~-5hv}efJ`5WWWVY^yiJM2x8KaFgGCel1{=$zho_{XtxSDec00000 LNkvXXu0mjf;NGSP delta 404 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 delta 494 zcmV8!b2~v0DHD0k}y-K~zY`?UhYx!!Qtq zO++aKdWYbU?h3&okWDv1(YiPpC(F{>xR z0SFK{njRd$&CB~cT*U&E8-u>JWIh3XnB$-_I79#s{Ct_1h(kLDF3P4q^fU8wQ#_Nh zGbaJ9ZwW28KwjCeIrY1`AtKFbaByhWx0lh`Byq^DW1A3Gt&^Z)<= diff --git a/graphics/pokemon/ampharos/icon.png b/graphics/pokemon/ampharos/icon.png index a4c787bee1065b5009e48828bc228b6a488dbf6d..20cdae53286f88d73dbe56134a0b45a03ccaa1f7 100644 GIT binary patch delta 277 zcmV+w0qXvW1MC8jV1M^XL_t(Ijm?s~a>6hWMfC?;QRfe6WQHErt+&A2LIo`yDf!qq zEoeX{oi+;A%kIOV@{IQSYJHS?*#R>F?qdRMBjY=6xu+3$eD2%Po&LbvS&;(^_TXB8 zo*BDh1bEYlQuO~=Lfd$>>ZCBLyfv%zP8i6OPhidvSM7`g6 ze_;ZR!YEjVxgd;!(*OVmVbX{lgfTfoydO1_g7|O{0UI;ICX6@$ z008YtL_t(I%gvH862c%5MY+LN*51H|IQB}~Y+<(5N?SWEJ*=@cj3L^wG8$pY0URmc zu%8b+rGB=+j)0$zfU7v);}<*3z~i*5vpxNuHWQHpa|)mppnoSajTix1_l9LJ+B%e( zP*UxzEX>SR$n4Isskz-kv*+PEVo;lq3h`w2x+rU_Tny=SfwWcr3t*+SVGAaLWdIxW zsjb)gN{va^ahEs1bX~m9>PFNLfxg208G%Mm55@Q|SpDDne_=QmM!~{n!YDY}!H?>2K~zY` zm6gA4+b|HuC1}kcTBsqQUPvKEhYqm`3q_CueFg{g)TJt{=ZKJnFf{fBf-ZsTN9f?9 zOHp*`1N2>Tcl;wtvWMOf$@qRce!M#}(f>t!hkp|(F9Df6fxc0Sh$}V$m~2lG=xTcd zzkbSe0=zpM6VTPJ_;MD1h;!Xx0;N9v`*4-5hCm{tSnEg9)$aY@+lCDQ@FrLKabtlZ zyX}T1QMqTYlnue|o|^$6<+TceGp3u7#gNzmuowf;dhdaXH;heonRucSxo)Na>~sl; zTnhn!){E#20U?9|8a+^M$c1phw9dahgjK@+BwiOeY_n|x9jb(XkIDn!q4^kA5zKAK ze?czZBJk#969g696>GHxf&mfx0(&3~=~vD!d#gfM$|QeWV0n zsji)cOTG&%Dc}N+y=lJHbxa()^$~QfK2=$0IHn08kYm0rGC;OaYVUy9$<}@ z1(RS_5oNtM+XP^LpbKG$vXXL1x?n?H7^~O^yILCP<`aq;kYiv?uHB$`)C1HC5Ad0L zi3Y>aj}jXLiQN^feT^^N5IhYW*g4yn3UQVp7OY_8LMm4x2H{tT#X$FNdVtZIURUEy zB7z_6F9T5wTjz5(Qt& z_+G-eVtqtk=_e1Aa9l}85yHMcI}=HbgXm6uSwoN`e@`cv!082^9%^kaS-(P7yICk) zyLkT9xhw^nS5rWDPj-!xM*x_P833m**N4slX*3tG9ub)*^&AIIwK@Z>c{CS+22E()yZ{;MWZ8;mW77Zt002ovPDHLk FV1jzfQ=0$) delta 762 zcmV8#OCMDGdMs0>Vi|K~zY`m6fq>+b|G@ zWoXTyvr$7pvyeiJ4jmE`7K$JR`V0=}sY_K@&k-RD5oqiS1YH6(kI=zIm!Rm<2k5)> z?np|cWDmW;lJS2&{=7TVN%CJYyP?lisZ+p09Z=tB&BPf@08s5Ae?eVuFY((?l}&(m z56>y;dRKfo3e0lTQ39<${rzyZxQc;PB{O60S=YPwf36#d0Q9D=%>Bjz#p1e)O_Fj8 zue1vZH&0CjD0QKO5CEnbSqzCC0_S5OS?_zG5)Hs)muXK_GB?c>z@4rTQEMp?Fy=ft zLSRT~fyPA2CA*M5f54dh+g(^C>QCD1GRJMUZJ=Y7=u!0mdT2g|RYY?e_Fu4zw*Y(8^))Udpyhrlf7@vX?7atEqlI7+>?*RX z_ja2IM7orgC@ZB_tV@V>X{}Np+-g~%+n;dEksJeScI^kHM|&XEAt2`dB|1`i7$q13 zsoNE+vQDp&#r|1IY}x zE|z|z@O=!he-9Y?JOTKii22^>wp0P2%9<-UkBWUY^pbSyv?FXK#Q-SMaa^fBa;WrU z50rRZStk+0y*_ypX-$LZPkmWqu%rH-PAP%c3pzdA+FZe~!lL%GQ22I<{Hu3aN?2A? zz;uspjZ!2C*p69X%NNi?=YcF)N?ebLg)cT9yB}b$a2M2;!u1p~9IBce(B;v!?gC1d znH!7@$7@Fgql0a_u8jaU!4&}C43wgCDQ3ZiTMN@i*F8@!>kq++dj_=NOHLmhIg# ztCs-P8}HtVj@#vz0F2*%`TkybZAnw)*E4|f?KgD*vn&y?vw(uAd*GYAY%F1z!C90zSN3tx zg$e>SdgLqs%VZx0!6)!ta57ezn@HI^3xdC-j~-enCbtsMC@CLksp&{?el`Or6wQl3 z0qzE$6M(mx0<7|24x~cGm}@zlfC~A5zNUfgvLv8Gq43vrAd>SGwzUEgeoe|HZ6rnam0V0u~#X)uHM`Z1A6O_qLNED@%Lv3$!YfTrSok;P? z(Pjj6jDllngI$S>bviv1Lds7BP$fIsNzv56^ei0NLX72r^k<@ZTX=>xhv6@b@1~SN zvH{>b9psR@C|U0Po}giP3HnXtXhZ6DDY%*75GBk3bj`c}s|m zjj#AG$N5T*azKpB@(`0d_P`cT8XqD#4Q%#Re(y#TG(}?u6f_|FG~Y2kxbhh9x1Q~M zjewg9c#hF7W0B#5N92_4?Xd*_V=1S6g#_MeU_A|-s2QDm1PExyKwSeEsv+H4!m}w% zwYVP@BVhA?P&q&$YT~!$gRuxa#V8nR6GRIyKE%Le4unRu=DKM3l^JlLT92Sc(Pvk2 zf-O;hxv}p?P8MZf*Bb%H2Fjtni*fd27o>E7>WzTWNnNzCxLk~Lyh;RgS<+UFeq++( zr}BDd-uwrY z3JjILoQ^HVsR2Op?3v0zS1U>N%faVnvN@pl8d#Rc>epF3+RXcMpeMv&pRn{Wt3w{m z5RS7f&hMN`W%_flR=(tbkF^~BUps0o2r%{!GFH1<^SsYs00000NkvXXu0mjfC``oC delta 944 zcmV;h15f<62&f28#l#ENFe|K1B*#SK~zY`eU-m&(?Ar* zF9|{*b@0g$RcVLf;;=9zk+B$m080^LgoL7NCJ<5-cPK)jD$O6odv|v1)GnvQiTyr) z_wL>Iy*oOVE3aOPp4;c=0F2-G@>+OZNmCSSIY8z5 ziza|skqFp%KuI(`@J(JZndRjJcBk=dSm&N4{Ja>7)!v=&gDJl%1Xy{0z$K>$|1_Ki zfCKH03mZ8hgp&aQ;5)43EW0>W_G!?EDgq697BZ|FP~pQK&?$7M`KaVfX{{yDepqZUFd>hpU+@IlUL;0g3&@0qt3rt!O>o!8CnMb(W)gcL z0xmTgNb<;5gFw01#atuMeH0Z)(t@J?L%jR?mR|Z)E`_1|}BOHCzv8 zpWlEAG<^nd7J_5O8F;N%TZr@lIoX(&&}F$?Q397 z9;shv`Din5%aIZH_2Zl~%dC%iG($MeJHHD`%Jk>!X62j%K51qDwWF^y4*mf$R=Zl> S_?bTd0000=|^PC zyl_Z@naZu8o4&>H@USUr!MMJlHcA`=oZ19j8OWD1=flCBtvG+_B;zdNe4>HU^C%~O zxfa!NqL~SkU0otb<=PD#KE9oIqm>e|hEWji>*>n~Z6j9Ttl5uF7%wHwc77XX5Q$9F z!L@zHxsIW$|s(Q{5WZERw=474eebaix{k<&e`n(*Mh6M)m;I) zPxW8%Jz!c}0}S&v4-9!?T4224YhV^hKL&>Sz_1=L)CWe=1sD(x7)eFAt=9twOeqa+ wQ;&n?Bcf{bn)dh@Cp|uRpO4Ew_RD;H0wkX1g}S0qp8x;=07*qoM6N<$f+kF;DgXcg delta 405 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 diff --git a/graphics/pokemon/anorith/back.png b/graphics/pokemon/anorith/back.png index 896cf9eae5ce12a2eb8b79a0802fd4d513a5f0f4..4f7ad4536626707242c0e554d9b17bcfa2b80a25 100644 GIT binary patch delta 491 zcmVkx`9C}-qF2TRRx{6S473y%{QoEEmITf14 zLOT@lM|qe2NUG?lOTS~jpZCrCz9W0>^^eLj_}w>80sQI@CcOkU4nr%&Z12?^AZ*R^I6Pv4`EA|4k&Go`P*{>b50_d(IOcRB*VW)Tsk zkb$-f9_cP97y=B52ebehz*?}8wBvMWzd{M%i~E0H zBR3q!@dofBCYe$l>&_TR&)opyUhi%j0kDuZ!S8^tl*|v4PVV)?7Vs8O4T6B%1YdOy zE10HJt#z^G0R$mBIif?ObefEHDS&KzL|@4)N}R?IMSvHC?g9?rN;PtSSULl#hRwj` z(>$V)+vUgfR=yoZr)yyMtx09==Y%hlJn14X{b9Qza$HEn=q*hry?(r1aTBoWx$0og hpkuPvUVkh?J^`YCkXYLACwl+@002ovPDHLkV1k`4;lTg^ delta 484 zcmV8~`%6d+7iG0j^0zK~zY`?UcVu12GiG zb98m^H9aXMi+7tYrcWGhD`pY81kKi^%i&*OT}3Eag*pUWYL{|OPKDlLp&bhMN10rI z+*Q$0mwv~5Kku9OULb_*wb%bC%iwq4JO%KpKcE;K{^%c=c?%INe~^7-*-rp>zIibw z`}hVd2W^U+5N3>-Uzz7`#8R}uX>er*b0N&jSD+?Z6fe57TI~{12-uki@r=~054U|^ z@@DdS4m| zFJh7@)v@l3f%M!CFz)s4wh;geX%qYo_)5uqG3n%9KWqVS0o5P~xJ~d?=dgllI@MYi zT^>LXqLU*!G)kw*SeF9G#z*v(%%a3;{7?jVLFhK%0IpOcTK9*gHIQo93|v0VBO19~ zeoSxW+j6=FcHf#*)_zX-GRc!J;?fP<7LnsZB1Ug%I_dS}ZHt?L)tsvt>>6~u|4a7z adwl|;e~?&OdqC3w0000|p4IKiJB^5jbDdv*0Bfv_6N~lDSAg^Kq32;> zRakGY&}@T$S4%+K0}PZQI~S%h*?Q2+n{07*qoM6N<$ Eg7gB4oB#j- delta 340 zcmV-a0jvIq1F8d%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT)c+_@UX z0003ENkl1pw6b9gTgNH8=fe#=-0vVILc<|WVD~r$4wP2ap&>;|6cELkH z{#!SZA_Y2hEY+qT@k@UGi2m3D5!=U>QCb=-LNFDrq5&eDH-EWQIGudJWnmPY&O*tQ z=g36ehk%XBkhxL$WL^W=;LNtV2Oj_iq4V?ceq?l4KpohD%YB06-t}yL3bPD zpXy#Owdr=DlV%OG+K-`=Tu+18kAM%j;o6Qe`h5EpFyi^}#ij$}=6Qsc{`-mr(K6py z5SQ3@g1W6u1*dcQb z+3F9KyL(Tv>?j^PlpfeT-u?9d-@UuhzZ;jA?@y)Q{0hVCQ~3|!NkH-gfKuvA4v*n5 z@Dv0y#RB0gz&4;zt-x!4!0gNc-(J@C_MC}Z=P&?xDwq-TC%l8NVR$vr-bWRvAb9s3 z;OFo&cuED^+2aoY2=9l0@r_a!TMJx04CM1A69U}(v3UXHjmh*@edZdp$&+Kk6b2Es z{uJIt8Zl4skT8oFIY>oMPyp=LF-Eii8Z$=+#65s6VUE2J;Gr*nAb@c(x4>Q^LtH>? zjQhNb&5D69t;9Hze9s|XZRoFDw}1vP2PG_4OyQ(+@cW;$NiIO?Jf?V*KLW;ZnKl>TZ5R4G@z2a1%NAW_)~8fDe^h}}xqVPgbI z2c*j*fDM-uupVO)nEIO@P_uY7t^Gs*4`GRQ(kr4)1;7$y?L0{7ob~`)0{wi51fYe& zd z2G|}a39d5NCRHzoMYLrJ511(FcIsX#({ftC&F+akeBc5~-R51afPmet03gV58lv59 gcQN`Oek delta 635 zcmV->0)+kU1>psdB#}W-e*gz`Nliru=LQD>90WDmzwiJ60z^qfK~zY`?UJ!>+dvG4 z4QMgY4mluOGZYEXIqd|x0sQLgxK}k~p4LWJnAknJ_+ZsD$u7PaTLxsFM z%V$UN*r6x^2?z2!^5>D0$vr?R$(MdqZM*tzjf0;f!M&rO!7|sPJ zh+YAW4CZEw$+xV05V08fN-V*W&T@HL9AM%w!*LJ@}Vz61Ome+Ey8 za65ne0RYkc7%;sN;$mxntA~+zv1CF6_kN;Y07a*AxfP#TgH%O&OsGmBqLiPayI3L? zDIOAPksupoku%f)f4VxRhz3BVO0+=Y0OW)c9n-*rn?M7~T4{iNiX3qPiBk4@lc*H~ zUv?>`v5q?xlGTQO^?C)~F=|pc$%% zr5o0E2ylWXQ&qP!$U5?@ORSBAlH*mkUQ1(iq-SWVq%;5ze+MdnMA}xBtQaWLb^w|L z+-bDk#&nVolPcJ=2l$;b`n48lGFH6@s*IbUq!%v<5SG}cj)*qX0M?+_&V!83nFAOJ^!X5LAZOy zZ+17{ataTasL31Hm&&C+E#Rhq;u=1%fLaEJo4W!6`dbZvMvlV}_kDjc`EP&Ao&iGK V6}AFi|Fi%A002ovPDHLkV1l$66^j4> diff --git a/graphics/pokemon/appletun/icon.png b/graphics/pokemon/appletun/icon.png index 5056210df16417e00e461fb7256e3decdeff1d71..3b474c0f08440f37e48cdb3796e860aab15fbfe4 100644 GIT binary patch delta 167 zcmV;Y09gO41DOMmbV&gZNklk;DCukHkPvElDLI~7&ph5~tjYOQk0~1IL+;*RTcb4pt&?7X0@jgOukz|tbO%Ftp zB1?yvI!Rf~QO4a&ouW(ym)L=im`g5r)+dO_O{0UQUc)9y+D009n3L_t(I%k7fCYQr!Phy4b6 zoGuydt+9>htCJRN50B;`z?WZg`iqD*5Uu>&7WND+&yPmnlg$^9D3 nuD8XSXDpKx0c#nWZ++n>nCcE_A$cEx00000NkvXXu0mjfF`7-) diff --git a/graphics/pokemon/applin/back.png b/graphics/pokemon/applin/back.png index e43bc8141f1a8731f3e3062288ad999c93e3707c..ed4f461cdaea12b6a205facc39ec118336a7448d 100644 GIT binary patch delta 370 zcmV-&0ge9A1Kb0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X0cPK~zY` z?UX@IgfJ9_OF~>b!UZfBfO#HZOedq^6f6wm32bIoE^)8O+fO9vDeWr|v9xtL3+La^ z_`=q!p>c^F7|HY_|~lmItQG=Vk%u)e0n4P?0wFu#fsv=sxu?L5f^P>DDM zkmCjPE{r35fN}Ca0LaXLq{8Ws+n6>J1blZQXoSClz9ecXyc32KNCN@p7Scd~iAZ3* z@wj!v8aj&9U Qi~s-t07*qoM6N<$f}OjakN^Mx delta 361 zcmV-v0ha#U1JMJJB#}W-e*gz`Nliru=LQD>90^Nn!%YAH0W?WOK~zY`?UYS!gD?<< zK|)jm7}!c6f7#z6VyspUDAC*nSE3wpRyi1s1!WzGK=PIu=GCO{8(}j zTy+VBi`);yX=V=$7{-tqCmg^j0IQ8JsEtfctThe+!@{A|F5w3+O3~ zBRIe~`5yperc&YFq#a`z#tU$FBB%u4g1#i`Qm_^51`?(JF5#lQzTStcju)`J+D`$l>(P`j) z>fdao`pH0S=PfAJUyp!p1}H7-?|XDKQ4(Myl%j~03orzIcKGQA2K9392ef9uX;FHC zbqq!610K^19(;gEQz*v3bPxJ*0T|Wzn!g?J3pib$^na;u8x6bEC{eC300000NkvXX Hu0mjfWDk`R diff --git a/graphics/pokemon/applin/icon.png b/graphics/pokemon/applin/icon.png index 5253b975400855a188ffa86faf87f364969f1878..ce9fee4a9a87f608c35b7576988065d7279b56c4 100644 GIT binary patch delta 222 zcmV<403rX^0?PuBb$`K0L_t(IjpdRt4#F@DMRNlmhZ8U%!D3GgIYfs{h;u}o1fg;f z6j++IbfBsjAhdMocjivu%}=r8#Lt+Y3u-dZT9c5GND_-+8>0psS8=0yFh|w*!K%WT zxA0w!QPj1=lCD@dw+HZY!R>AcLLb*=DteX!fP1J6mryOI6IXON9eqmBBzceNK(hS5 zB7ZzdV<;(LsTJ5%uR|>gaIDUZyKGt3YW=+qqWqXm2LPiE;K!%~`tj8P{1|mme=w^K YA6GDVv4;82GXMYp07*qoM6N<$g2Mq~sQ>@~ delta 234 zcmV91Tnc2UGw60J=#;K~y-)<&r%P!Y~X*eFGnd z6EGpcVowY?M2Ad>b3~j3p>h!vSei9tpsEC8HmJw(jh-Szv z>@--XWC5i`TA2=_WO{F85&%!8tNBKiv)7TXnt8uf;Nhd+Tw^qd?>Uztbgw@^?ZG;p zVly9J;O?*wBC13}5PQD}{PB#BM=pS3fWwxH(IK+|l$s+IqXRG9NCz&H=%7HagYu)- kLHqI5LHW_^Ad~6v0#`72v4a`6A^-pY07*qoM6N<$g4Z%+G5`Po diff --git a/graphics/pokemon/araquanid/back.png b/graphics/pokemon/araquanid/back.png index 37a01a6812701561f967d435f6eb4caf2a591d55..c1bb29ef104cd955a558c2ff1c0eaf4f65c50af7 100644 GIT binary patch delta 575 zcmV-F0>J&71*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?Ub=<<3JFGZ4UMJ8NYy1nXBYMMM$eAO^8|C+!cDKTwKTjxk`~uAP{hoSdcyvcQ28~ z9PCvt6bCjtv%AttHffV0f3@&`{%3Y}}+wXS!;FAu5;dGDRANy7SFg$Jh z1K)Q62wOzpw*Uwmopi^4I{*w_;Jd#IfK#Mfd86daKQKVJCt#F{^%+1rq7F!f5bFx) z?{<)$C?bJY4W|QT|CfBmnl*I5oj;mi2_auN=a+`iqxeQM_>qq|zY>yjDdl#_oEjd5 zU*vQ3Q|-&upS1(fE2UZSz)`md+zas=fq(!8W7VAj$d{?TY)=D!0EhpIBIi0^13Ch) z(H*Emx>bOzls-o_;Nf9$ofpMp4Mb6N+yt@)a2|>0CNM`JU#$#N+9zoO1u+&7%mKpd zBF_pfLeh5t>ZLS5&jOi~u*4#XSTi$8PtD;7lPO*)raqGevu~jenek9dbJY#hz!7$D z6+3|5{0YFX)lPtaWYtEgE<+knBcQ|{4KRR1Tox|f0Lkj5orH7#ghWyY5MbBd`^gEo zl^0b&iGclZJjrjKXqh$@5G$bi^i=HYU%gCI%7H;Z*sodiI^mG=4 zsroFaKHb>P2!Yu65KOG^#d<=Ira9x+|8v;F*7hLdvh9Bw>2s*lc>_UTEeHV4f4l$y N002ovPDHLkV1nPi23`OF delta 565 zcmV-50?PfT1)BwsB#}W-e*gz`Nliru=LQD>91o%hW_SPq0scuuK~zY`?Ub=j<3JFG ziIDq*C@)~D=qhLA0@1p;=0vng1BKrSE`@{SR1_>oNGGK@Vu>DG+)L0zNK2K%ccRVWX4IXbXUW3mo{{060ZDl{ZYz{X+wUI|7EOSe*m3BkF)u2(hYw-gXD+FGVEK zs^N5?>{rRBtXV?`{PBmgYa!$t=lseLdKCLKgCF^j^J^hFmr`yP%&Fl~_+>s*Kh?fm zKCK*pUMbCrdycw8f8ehW7YGCdFc_)s3_!k2?Pa?f062Onik$0w4d@8GMyIb1=|%yv zQu-X#fQN_qO8R~Ox0&W_36fT zMhL{lhhS`dD=*d)dN9oyzy6=Y7B;pA8JBJUTVF-*L0>Hhb*&o%00000NkvXXu0mjf D&3F51 diff --git a/graphics/pokemon/araquanid/icon.png b/graphics/pokemon/araquanid/icon.png index d8dc00c53a03e0efcfe16ffcbccd5e0f6a639136..fa13eba833293eab7fd05ba87bd21b188ccef2eb 100644 GIT binary patch delta 325 zcmV-L0lNOd1DgYoUw;86Nkl_$ap$yL>hvo7XhB@sgLp9tW`EWb55SuVcrLGBK+sJa zvfBk{w_>1bQC5XItt^t zP>C?_&XZAzFl5`i2bm4B*4|=A68-QfWoL=a=!eG^DIYe9s6(TdtI|sJ1E_BFiaKvc zKOn1{s-*zY58!4|OX`Qm3`Knd<8>f&kbxesH)u}KOkkkfD8vk1 zT1?Imx~qc|(_Lz;I-6LT1C&-fKd|*BKOz295j~vI9Ee0jSQrQ!&ZapKq`SRk&e2i+>~I6^+9nGl3%%OchWSBj)xIjDwX^gvLAwyAISX>$&d0^{rCYU)9s=d ScBTLT0000 z0003XNklm%QhWHGoyUN%S-MK=l z(uFn30ZOZ#A6WC}>oNAHPK*!Vs0+do5i9}z4wR)pYXC*TCx65*ZSxgx?`m0l0xAgR zN+vTX=pY?H0*X%fDiR?L7~7FJKLa0fom=+=Em9RuPh_H~??X2hx5 z!*fv!yiKColf`fqW-u2;3(>;>MFC*ISQ=~rSc_JnsO+bA%l_lx54pL=aj$w)UvHca)(#b3guheE~aA!GJKtjn!Ox4$hHBKa|9KUhqDAoYVKKk8rg;~OT^?V^R@kY)e?002ovPDHLk FV1fyBpSb`4 diff --git a/graphics/pokemon/arcanine/hisuian/icon.png b/graphics/pokemon/arcanine/hisuian/icon.png index d34fe9f8057948268d669e2dc4ab4718f1150720..9fe90079293688d5d5bee71af6163306350da936 100644 GIT binary patch delta 320 zcmV-G0l)sg1FHj&bbkRMNklODTCSS zXN5}k2F8`@4T`}eQnyN#vh)^?kDn8F{0RM3;C-1huqj(!GFT$OtlTA-(YR=tfs9%U z#Kir)1Z_B57$hZSj8Td(urdKsvMt2`5Q}(qC>Wv0NgxmaZhw@xaWJzbIs){i+fHgR z43;E-)uf1c4M>tyw3_6{+j$bgMgeja@XtbdMr$y zv7?@8gZm->K{<0pRu9PEKOtnRxbIS|?GJ!GdP4jg=2?b$_#+$U5u0It;g4^cD*e}D Se;2?20000O{0URRd*E$UV00AONL_t(I%k7e}Zo?oDhIs>Y zUb2B;NH#ijkDtY1!#RMa{kHhxcY(1w3Ahoq#Ob4n2g&VLdhjBhChfLO%qL%|6} zs{#T6;9AR@06RHiB0wLeX_b+E???hzkDAEmfD}nZ%Tc|(oJT2L6ri;P@!lFCUtJWS zbtsqa5^kBRPdyc$)m#bLnIcJCc&R2s(^`@G$7gdc>@d_CQgh*n`ao7;*j}S8ZUqDH z(p0u-RNd)l(M<|IPqeB|M~|h=GhV6Z#^SEeJE*V7nI8GCC4_8|)Avm+%@2S*dO-Xe m=23>Z`y(6X9-Co);g3(6D*e~EW=DGf0000)7aPKAm?s+3pZKXX;ErX0qo#y|R%WFId`rpI!^O%Nyj6qD}w77rdb2 zvQsI;x2Uv6oIeZ{8cDdS8C*w2BRe~vDUWH5>)~9_6~+Fk>gvT1B%17MB-8T>fXn`E zt?!m`Ja#uG8T<+}m!C~FQ5X-BQ(;jU8R*djkc9C@ZK6R@7$!0iBw;`qEQ1Y67$?IB zU@1%)rMnBGbpUr^hH&jdm}K@{nArK>2;-74H$Rdv3qOJ|OFynbn1}TfKfVFxux&Hp S&*lFB0000MKt+l+I5@@xiVry+y=@vHZ8#MKXiI}_5ZMP%l6l?L zJXzKd+ool3&UKu^Xkgb7A%l0iurCNc?RVL%x?MjNs) zUWO6DQkY|s?pqkG-Mui*t%PxFVTwN##%E!^{K&#A{2z$IEd97eVSen#C+4tiGx2s8 QTL1t607*qoM6N<$g0(HX!~g&Q diff --git a/graphics/pokemon/arceus/anim_front.png b/graphics/pokemon/arceus/anim_front.png index 3f483ff97bb05c38896f4fd25e4bba1129080c80..867c4730ca9ed7e9c57455960557302f906333ca 100644 GIT binary patch delta 1816 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 P00000NkvXXu0mjfl(BD% diff --git a/graphics/pokemon/arceus/back.png b/graphics/pokemon/arceus/back.png index 04f46bcf05eb8b8d7bf9bfa880be47875b9cdb8e..5ab63eb079f66d156d47ce3eda5bd0f6552de574 100644 GIT binary patch delta 661 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 U5jI2Y1ONa407*qoM6N<$g72ERO8@`> diff --git a/graphics/pokemon/archen/icon.png b/graphics/pokemon/archen/icon.png index 8a81f10a4771cce710cad69e1cd36a154e59cb6c..a172713debbf136190abb3a97114f14fda34040e 100644 GIT binary patch delta 285 zcmV+&0pk9e1M~urV1NHfL_t(IjqQ@XYQr!P$L|g9ZGxwIsS8~)S&%79>cd&2hbRK3o%%$q{i7o^rLE=)+r~Yi`iTkCTM>{{Zd<$i_|A(d`G_xV`qkYCW!TqEiFW zt2PGf&_I-DM`hVxY14Emb;Q55Ns j(GSk^`S-y5)fSLnS0;EtEV%$c00000NkvXXu0mjf)enj0 delta 323 zcmV-J0lfb70-6JmV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0UR-7X?xQE z008|-L_t(I%k7e}j>0euhVuq~o2nCCC=v@(BQdc+t+FH!andO)WIKt8hXX36Vo?-z zBDAGV(+%lXG9>XYC${x}jC~gaOU?1#o48WCiB&HcrRqDhYJZ!6_@js*a|wu1c$3EV zUz)rYgpjU=!P9!Tncaq>6TD)v*pgFhfoXEN4gxdjg(pkxb;?(q&yRy}Pm^=9^q$y9 zA4FGgG_R$v=l@#PcHH!_YEglzvkEfRvQqT~8O%b>h#BnwT9KSJBA<_%pu?DtIMyTj0~7`CAxO|+ghtj#W5z~%?6vHt*g{=i1M zZBkLBiWDuEi!fQGaOJV0(}~JBQVNk-j8 zSHSlv3I@hPRDr4U7`OL|fwtEYJTN(-Xk$! z{MCf`BN}G}x_@HmqI^A{PMjz{s9q0;zJnmHMUN5d+Q57Ha$++E-giBB=v9HjjGhQK zb7hPcM0(Rc_i*DERh>TV}lK98={APhfY^z8#$ z0h@yucjAYeu z@puuu*ncd;l5KO2KQ5aT(K2w0bwq9X`tfH0AeL*1*d=#7fDCjFhRFz^gg+Jm9h>!y zJQ}i<>L7S8nnssa$=|#VW@sKvfurwvzVGx!1DnMrI#b#E!moZqkNym%XfYeuT{u9GQ@#WhI zA1`R7^0~kbY@ZDkH&6md*7MOjM4L5gHa}U!qs11$(}&ESq39aSwW{I2S|zH|j8%rgM4DoMmy*Qy)WA3ImK z!G9tHC?SUs8`k!Q=CbG65;%(h;B-! z9Rue`058e{oTYrJ( z96;=ch##V7tB%nA#q&O}}5~h;02S_Onc!Q@@ z)b?L6syL-caUh9JwO?9?-97*#HiwYee=uKqNE{%F_<|LNs_zo zitK1R9p)sLJinXNLncYogYyLo{L#hqd&vgpD(dP${u!*hy|wNvMWxs4 z>3z^6U2kjN4>PH{Gyin7P=5vP)sJ$;#&#gV=|LB|GN zj4eeGcX3+-`^_YYKdF557d^so@ezgsKqqy`Ar!IL0l~bR#fPAHA_mw~6Dj~e2NZ{2 zfV*K7oT9{lB8Ku+z0Fa|_Y|-@h*7|~fi<;VP}yngXnIG@$@VBmYkvTaCPWLYhwg$` z?AFv_kS1xU@nP+KFpu3$A>}cOU9JECXv3pLFv-~tDLMR>yN%oF?9iT!yYsyJcSGz1 z$IYz$Ne`tnQSkxwhT!C$!Ah5ku~FW3NzQ2DV|;JtNe^^PIr5IsX%bXEKtTZle^B4l j2OJ7lcnEOc!u$gR>=Mg3C;GNc00000NkvXXu0mjf(k?AZ delta 1718 zcmV;n21)tk4S^1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT*2jb|GF z000JLNklq@9K;1r-vSEQ{hW zqHtwfXthe^7>ObcNFHtB0xcxPYMK>AQdlfngpz_kuo4Z$On>iYmh*?YavSbl1f`kuI=ww51Dq`fC@5+fx#=L%$(qF@ptq!m~O zPl&!%6#l7%V1@#%4yj7kCIHF;B}D?IX|W1OOVwcwD1Qn<6E7ANLeAMNiKS{6z!lS+ zQup%YV*(|;Nq@33L`&;ko}5T_R#b5FqXZ!mvodfrL@g|zjyqlk7=AVK!U2sl0z)wk zQNAAEjNCNdt6cZ{p$iz-(#J>)trxs_F>)9KANqmc4=PAurB8%dhUO1{vL!i9A%{3* ztijTidRn7l$ewM>?p2xt<3p^$!dbTILKna=G|%&FCx3kmJ)csrNo3Pd8X{77UN22i zq47Z$r2MM1}y?ao(WA#`yAS_ruVpDO!-;0Tck>c~@&d2w3B)1pt?7Hir#> zE71gNNCD>4*%aJ0LssLm(Rd6`=QAn$>aQkQI!~`uF^oS+`t1W+0h@!Eb>fGM>FjcW zS<-0~!++oju8#tSN$R@7GR!-V#?R-onZOBM1h5h;m6$|jkFq+QT|AmZ&ll6A=s27k z4oenAG)>ZE9Z{XWdh}U@i0NGNoT5MMVFo$}(_#cz!XJ}}j>Y^|9`xBtwE*9XhS{c7 z^0%*|7{<{Ja&&_r4Bf7166>e|XDWMN_}Opp@PE(f1}1UO84g3YhZ8i3aID-l(&Yx8 ze|r`I2k`*!4~Sv5xg!vGxEqzSC&9lx9dTS22E#CXY+8_Az8mq`f|kpl3tZ0$*-%Lx zmVo7YK70$bS<_|t`hp8bcH31a{#U)NuE2eRu+CZbg%BBNe)m1*Yg})+gqB; z8RtvjY!3maF-&JkIE1tN{3JN|{f+nR>@=!QZx!Ww@-kn-yK!w{-(OrtqiKou{L37{ zgPSN`*neMqGKs1S+Ov9&pxn8f)ZUb#bAL98r;FwOvk8EUNt`&c3}^9l`dTp{Ut$L% z3)}{3Ni~7jq_HCk0>{@DiR?K^GQ*B1?Oh4rlSM6&9T{e%Ws*G-zza3_Rg-KFTe=~V zeJaurMWbGHJr!>U*aJ`vL)Ez}TUPgq5bmm$sN<_pED8-_FTf9@|LNcX4z2-Toz8ECL-84E&H==>;_MElI27`46ijibB;9gU zarR|E#YrWJD$YItDo!Rzp0l?EsyIxNKptG}mXIk9l_XT0fXjQsOmR?>MpSVE72n(K zcPCYx7$u1+&SP_>xEmy>I6|s8K7UFQp^~({fvpt>y}=VIYTGXuRh(j~IGDtt+HW*A zHxQ~gw!;)BNZmt=g6g@goTWe;7A&QCTMImoicR2$F6Ln3Ue5!l;&fRR)E?wFn!e|` zs5tJ^${S`d^ah-75%}oDsN#Hm`^(CrY(jcNG;>}mN&dEz%Ls-vno82rCVy>MEym!~ zp2{|rq|}b;n_*7!y=V8MTEZlWdXO$MY`iLH0KL0$6emoQmS!(CgV~A?Jtj#KN)qJk zB4g+yU@1vEhLic+AXrJ#u4SbqeB(OcK`Kdk(@VX!e|_DRK}!~p$eXr#`6%UJ5{>0A zG_fY4jraRo#+zA>!Ntw@l7EBFRW#I|{4-j2XJy@4igKsZF}kQnhM{Z053y8Pn}4Q6 zP{wBargWSevC1VwP52 zvd^H9V?qe|cY^`PlrLl75qgsZN~C@eAn*tEO?{6;;R^2q>{^(A00ZpHIOzM`egFUf M07*qoM6N<$g4&=K@Bjb+ diff --git a/graphics/pokemon/archeops/back.png b/graphics/pokemon/archeops/back.png index c7ffc707161c591a675ef843854773113863f975..e8422e58424e4529a1adcdcb5002c244cfb30d26 100644 GIT binary patch delta 516 zcmV+f0{i{s1nmTnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mey0K~zY` z?UFHT!ax{?lPQys8;VLB`kOk~sZcs(Dg~XAAP$*wp;M zp&h!^!G3o+L*hl}7JMNt@AJLi`yFa${bO|)=!DN$L1}&*0XqkRQg+mbd3u!Sh+!&z zi#DS4%ZP%m6kn%Oh4^xR1+ex2qv9AP0-^m5LS|2D1Z-GeaeG73bT)WUTIhu!V0@mY z+2F=HjIj9LHTVEzOZ)cXFv5and4351$>!HX0ckIHJJI8H?+(k3>_hqx#EA+pq9!1J#EA+>h9$5eb>b)e z6t*J(gix&`mwk`Qd2i??fi_|cHG%I(Qv!h(2gVC*ut)=#$_D+|jjbI{I*nI0UaU7i+DtcpWT)Xx@d@n0*u-gz^nv(+*Sc1LM(+G)i-)wT$7_9 zUF^H~1Y)=tO4Jl4u`_Hm2$}&2$T#aZ_>BdU(9Zg6(zIW-iN9-f95rMFzsdjr0mn&1K~zY`?UXTVgFqOD zeuuHsIqUzb%Rnc5#tKUF;|SO}5R|f`KAfjVe~GR*OvSTkBcv}Q z3c6B!jg~6JFINC_4=^g0Q6do9&md&>q(;Dm^%b`_Bu!_-2c?Bp2m+4J(=;32n1>N2 zpSuPhfNW{qUK~c4&@9g{0U+5t-C5S%!EFJ+iekePU`CpeMRSJ6ghW7=3N7-L0`LGx zAd)ClU`tBL2o)&pf8}l`dc5vkTXtk0r4K=zr~o}`0z#aqfW(%-hSZ6l^i$Z501!g8 zj$GC~lIK0!OM=dbG1LUUAB_?Syg1NbV1h{+z_e^Ih}{@F5qoEAz5znlausA$6V)aP_7oF5F;t5qxF8X}m{zHrz$P@CZ zK`JVn-|$7NrO}$#SNMe=fE4|nKgE{y{mL@=)6icYU(fj~4VuuUp(S)_XpXW9lZLvG z7Oa7lriMgX$A4)d!7S<+rLV+$d^fjqHxVhK`=HvbU=oKsMQ;~t;4qBGHVx3ZZTUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT*6iVEK5 z0004KNklxfT@X*`$$`taS_?20WS0838Snhn^QbVSvQk0IZhe~2Lic|bn4N<-!8H+*J#IrUn$ zSNO#|04au7^M9$jR2`E4Q(I^EP>TFhD?(ExRPKO zwNLVQFL?g6w@W`0Iimlh%vLZ-zHG;Bo*DbPWxFgjH`Q*&`2P1cg;q2T=TmJ;ZwkhikycUMpWwX^f$}VwfVNgo_ a7lt21Y0X;ZeLHdh0000_?Is7{q7$_c0*S;xrkzNm7PZ5JS}fz(9Yw(s$0%wJdSDzlxB znX!%Y(4XmvG3G7!>|Fyy>^$dtrw>eULCk~*blLIfVaRsU2a?zY%mXp&9`bHwJ_S@Lzy+S;^;?-2-xs%Canf_osn8)w)57{>Bz~ zzG>YN-xI)HYeVGyjvCk)Uth9}kASYAjwtGUNgZ($koF^TUVSd(7RdC)`01sJKvTZ8 zz)kl$Zgdb%FD2=(Bw&+XO~Z9xT^FaPgt!5;Zvv7Ez!Eee delta 455 zcmV;&0XY7)1g->-B#}W-e*gz`Nliru=LQD>964>W^Wgvh0g*{WK~zY`?UhYx!!Q(t zlRzoiMZ~^jPP)(ngUcD16E3V1XDfHrfBLAB-#|8W&lB3HZ#E41>94P zB&?Jg8!-!T2Uw0Lf0*a;hk$SZ{tK|GY6aY}Eg;vZEX(p>9LQ6xTcofzcEEF~^_}=0 z0d86wBDXslU~PPT$ud3wN(<1<3e1<(ac%=rJ0j=x=knYEnZ6i5z0?tC%C`-1_GuDklWI6WntTR;aUAgKW?K@%e007+qhJ^YmpiX}7x7$@Mi-x*+E xHNY1g0YpMTQ5hhqiU!E&(PX59$3M^i=?B}`F=W?XUEBZw002ovPDHLkV1oG5$bJ9- diff --git a/graphics/pokemon/arctovish/front.png b/graphics/pokemon/arctovish/front.png index 0eb85a1c1b850404885b2a2ed111ce04ab2c1428..3da6fa90debc3dced7841f000a42f39f3e67c03b 100644 GIT binary patch delta 794 zcmV+#1Lgek27w2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@_JLK~zY` zwbZ>&+dvcm@Uy!yHEC>$)WH~>2*OfWx;i>rsGTnIwKJA`EoGuZQJGUIBhBVc3|(Si zi6REPWloolRrz1~-krY^OuNuGK$Q2p_i>3s9xxh>#^b-HH}+cYy+UhH>OI*F?h{&z zQp)x=DRuA9d(Dkq_+MLp0`m|(6m=yupQ`BXJ*T{;L@UYw-Dns!K=To}um^2W*I;)6 zp7l%tlRz!T>PKV;c1WoSmAF;6p9E7G$1d8DK@E#*WoNrX};!=7YB_2 z^{|=IzXODdfm*e{3^egjAo>@0Ux2eE5Dfc z!#e;YD1kVu11j(J8GtZLCiv&YA~4uV0g_1te93^rSKo;f`H`-qRWQgwu==s1z(smq z0ojb)3EZubJ(2}ds{&{as2f9ASm36z29AJ57^id%zzD&l0x;!J6o}Jk*4YS3hwc=$it)4Ic5=U&S!Rl;N}YVXz?QN@y;;} z@oYYy-~LLHRaCrel4>r6k@Hul?N?Qx`^4+=_|7Q^L Y2SVAC9j!$??*IS*07*qoM6N<$f(5E(^8f$< delta 782 zcmV+p1M&QU2l57xB#}W-e*gz`Nliru=LQD>96N)&lFa}B0@X=GK~zY`z16*M(?Ape zaK~(!aEM(hF}T+{QJXHb3#+5ERl#(T59V6tpmZt&6`g~Wv1Bt-29~(#5=9;2Epu2H z5&d6y@BEq6g{9(#B+C2U`*3o$qCDKvH0|+U!`p{V`(9DgD0QA3e|YzaT9Z=B4tFTE z?~gl;?E`qPOo4G&T@+O*YA#L1;d9C>QZ$1U&}~hx05unZ4RcV9+B&-naIa$s=mc^x zR^1{yCO)MGWa4JkjBk$pEuY%Ztz)eNLx;E!hS;Gt*0R>SG+uLvi({=%9W18z?f{Xj zellur9n{1_f#6@@e|-)v*FZ4nBRI;z=T%WV8lV7{flntZ;?ZD$;;00~$sK^pD}cDH z0!iHIF#vuVjPT{fD$v<^4x(uZd`W@DH{OYJ`IFY;GU#W(+xXZ{z*RgdfwV_%dG_v* z3}u4YECHGUYKO2)OfWBvfh}MX#wpzdFhnpd0Sr1GObNi2e*h|!Kr({^KsNvkp~fmm zTV%X<2LJud{oT;KisN`x$2p$naX32dGZxUsazP>l^J|==$@93w+h@?kv*mJm`zwl~ z>z}2=Er;aovEfk$;Kwbj-)4UH(geNpvGJDMOI#3N6o*qD3NAqqBmkCK0&tles31YG zA5Ad6Sh>S^e-P*Gix9zHJO{DJj;SSq&2u2SFySPRD=N3KzK$(i423J)E?$F?QUHd# zB^XQK$0&;br6mEAJtm+7fJOzt-IxMe_$q-4z`e;uBLNI5gsngTP&zSkMpA<} zF2ZjTn2H*^kmThWXph553KSCGoX$j=!tj$Cdm&l2f7}Epo!KdMKV&D|LeL{bAqcv1 z_|8m-9QarR_tmE&1&Z2&kE8S^;%;TYhi}tstP+to;rbSr_a60COOX5mk?bP?mB@W+ zJS7#63?s-6yz+f!Ry|V+&~mGQnl_GIiYlPAx`nL-YVj>m{`dL=LfMlY4m&q`00000 MNkvXX1g=70f`0mFk^lez diff --git a/graphics/pokemon/arctovish/icon.png b/graphics/pokemon/arctovish/icon.png index 24275aa64398acc3571613460e9fcc4de378668c..2160612295605409d2f746b89436120bde845fe7 100644 GIT binary patch delta 362 zcmV-w0hRvW1Hc22Uw;8hNkliZ4p=C(`dfuYJktqUa;Qa+9c7Nj_L8f;L%%JRr4C8qtv$~?&D&WNjzt=uAF*oBj}1|M?x#&)6pqxwT(!s`)aVa6iq zkcH`rC4nr=NMlBA!swHthqEx&ZGMn2E^nKKk*Q%5M!U2d3F8KRZ)t>t>AAVLUAiR* z(^vLU(f>`t^i?&kX(S3Wd63VI!c4FaqzgIjGK{mIx&NfT0j4${IDPX8r2qf`07*qo IM6N<$f|HY{V*mgE delta 394 zcmV;50d@Ys1K$IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT-cT&sFM z0003(Nkl`IxzQDDmUGM3D5*ivj8WP6|W(2rnr}40th6HX9qQ z=^ht$Vdv&^W|)~gLVhhm2=CvBCMOh5jB|H@2LPH3P&^@ObAQgj?K+~K4j?ZB!;_9R z^jS9pE9Vy06u$u&Sc@7Rl?hyc4IK*X>BqB&uK^%}k^Ad2W8oK&sEiQXFbl6`jcU|} zr&$)x`PxG5(|XQpi~xmA;L+9{;%HIGR6=hZDzq?K*|@Yzj7AqsERaBh4XV$gC~3M9 zRk0$_2=;Xs#D5UaR=DFJ{kl?_9eMpn9r=&(hr+DgNiK{dn-04$J@FgZg>l}!38T(( zBDpZezWhkS*nQev7_lY1gi&^zEeT^sb#GlJ%)s=$?a3j`P?@Pp@12Ahs>%hI2{T9V oCd>@^LHhNM?wc^-$8YuprZyfp&TGNq00000NkvXXt^-0~f()swNdN!< diff --git a/graphics/pokemon/arctozolt/back.png b/graphics/pokemon/arctozolt/back.png index e61731138bf0b6ded80488c63cb27f3f87ffaf32..941f900e1db33280a92e1f44a077f9ffea799ad5 100644 GIT binary patch delta 498 zcmV9D1m_HcE0rV{>D*erSZ#ppcuO3C0fY`eP1o#+&V(=Ib1_5;m z2$%x{83MqIdjK)Uhcf`gQ^6Pq2q?xL4`L8NcO?9N01v|y3x7Z#Kp7A?0{~gT2q1-} z9cU~trx&O#07A%m0J4~B9j@}8U8|8FJOC(T2ZX?(PZ_BVaK=r11E}u2J_-p4F@`Yj zUZa`gjC^Er&UBvL+XxngvwQ_%YM%44 zZLY9B3dHr>Q-3Bz_ofdupvCO*HNuz9vhbz~e^-z_zHoeL7sW4Sn&f%r&$L0nWENmF z!E=ylv*gi4wb$*#VvYcJEAPvri|Lzkptz0&9G?KIpU33r2wOj==4@Xw)Fz z1ekojEq?)C7Dv@VSQdTUYG1H86Pe)7=Eob{oCC!N5hrrDMO)_t@65^Mgm5hY659iC oX9J3l^3bx~aZkKk{>#6sA2k=ygmbHSM*si-07*qoM6N<$f-rN|ga7~l delta 531 zcmV+u0_^?A1m^^hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT-evZWgm z0005XNkl%)y}h1nKuD!uV38_}$@DhFBP2P%0(*dLBkU=H zY-8w@JCx#Bj!5|ec?BV8KF%9HP!MC^@+iLs6yY@>rezK)5Pvcr&jRuq5VHklJOmIH z9zd*US%Mli;K*xI=5A!Y&UPDJDfXfrl60DOS;K)jd%Yzr)b8hbX=f_%I{-vUU` z_=CnqspMchS<7V*---%CtdN-LF@`#2M03ie1K`!c zh7k28@!Amt&wn+IKx0;0rHnJFvW)EZq-d0B?%iKavNZ=JwSG1$XHGOe3F61^r$&hB zNgsMZiS6UBoE}2QNhQ6PXdYiUJ?y79Zc`c4L|df^(2WCFu4x|{rT08vOF41aWdztr z*NU+^3@0%#uBib~YO3Y8u8VISP$~-qE}*s!CHDfHB7ZK+9RU>dO**P{z1}Kim9a|G zrG3ZSsT_2}T}Zp`15o=hz~Awyzn$7K3yAOx6lezx$Uh5clO59!fT!(Qy%7ydeS+>Z zV0$6kgfh#{C-`{@w6B&JDLA%YbxH7cs@E|Qv`*sq3EZ_#BF%g=o`^r+f5wsi16V1$ V8`bO`DGUGr002ovPDHLkV1oC(;Y9!d diff --git a/graphics/pokemon/arctozolt/front.png b/graphics/pokemon/arctozolt/front.png index 05f52b1751d00c33590e90c238ac789425f74bd7..65e2ab74c9b44aa38822e76168df3b56c49518b6 100644 GIT binary patch delta 710 zcmV;%0y+Jn2CW8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)|OMK~zY` zy_G+2+CUh_Z85lF!hlt^TikRvI-*2X7r>}p5xx&lwJK{Qq8^0?wMwNpRl8M!Q-xG1 z1Bq7#6rJ)7$kYKvmAhnM!k?k9jrrrl=c*n03?TXW-TS=v-WjC-Dfv%8){x{(G9UvZ z4v=*tt0w^2f?m*fk^-`SdRBjw2$XlrhN`MUVAraaR9##o|Jbs0@P%z^Rcx7Mv9HQF zk1eq;W3^I!{X#rQ2&k)#S35#N!`Q<2aal<0eavgBnM1-^-s`7cn#eSANC+s6QqdHj z)mi^dBU8k+1mM|`Ap?+hK;Ppcjw&#WnsZ4(J+e)_Pr-%5_yJvih{VM>+8UsTF+SDs zbFge1KKi{FpMG8VK5=%+`{}T>y->f;XIw^n5H~Z$=6oJV`@#JU-{zWV*}P8v8TjN3 z+x~Y`0QhG$B(^=|nv{L>!$shO2x)VGb^(hu%USC@S^z(UXWA1nP;V~*vLqrIdvyiY z;5syTx(SfO6_6o+&bd{0hAq3j1_)c0Db^|yX_m|!Z1*%EhOiBVjh7Jxs{*qq<}3DO zax;ZChTS_!>afugDCVJ7>jXWW0N}cWbiF$$z*d(c<-btMWFgn}Kn4_G(P?o26yN~q z-2%9Ae}%v}>PxN9zHfga0L*5PFyeqzc$ZigfO!lc9fZJt*z>ycX=fWiA;7vb&vmDr zEnq(&pf+TD5(G6aa>N!kcXlN}&VB z$PzFRw9$+V@-3xP54f+QfF6q#p*S#2E)ysh1eq%`h s{0a<43IBc}%5B(-PzWLEFCE93cK`qY07*qoM6N<$f{dt1OaK4? delta 701 zcmV;u0z&<*2BHR#B#}W-e*gz`Nliru=LQD>9R*v)z9#?x0)lge%LO@e)z1rat3dRP$kE>i_?_*Js^#bC~@}8A>sUux0ATA)aDrKF&SEtsSR<4X2 zDZsNMO#~q8fWB{we>keaFdEJU1r5n2@je3w4&w(j6xkNzC@X*-ZtKmljhaB(6}%;)s$_gISb|HFG+>o8USyB(KzMn jC*4H7aD@>1yHEOW&2^%Yl?LkQ00000NkvXXu0mjfBBMeD diff --git a/graphics/pokemon/arctozolt/icon.png b/graphics/pokemon/arctozolt/icon.png index 913ca5413cb8e438ad08b6149e17285d9174582a..73dbd1e67e95a755abb7392ac3b6a8a10e2e6b3e 100644 GIT binary patch delta 353 zcmV-n0iOQU1GfW^Uw;8YNkl2j}hc{+~s(_#9HP~8fe35`Tz zArl)xg`f)JkR<9r#3DcX9j$^L`9 zTV=VIZOI+g<_(}phb1&nByVY&=u-DZRqlbGq{v6%2;d%O zj4%7<_^gzBm^Y_hU`}IF(#%kWO|oKfl5#n`Tk?fGPUUhmtT@WtCu>G@P^9*JtsCB+ zzyIBz%>O2c0$Ot=$TsN+dbPk@32K4C(E(>}fWcWWbOae-%Gpq~CCC6%PV^vj1kHCojG##2@D@g;FTJ@z0%fNIyb;T2$Wz?K04mYkxoy^(l`z4!qWjd^FK{ zJmMapfWO~+5t^Y=NyP!rB>f>o9ni(<@D$GziBe4M(GjWIXXyvJw=FBXOwbwa`O!W{ zd}^WmL8N!P@C9|KPbg+AgGu`N6QCZo_$#P&*a8k-Tx|9XO=I|_~b=>sD z5Kz*aDPd|{g?FyXdRqt)jQ2KdD^6<>Obt5*qH@qP0}$Z(&DXU4cYpUM^}hvSFjqnT zQqb!R<|^m{29O|Tz<^7TAOogx2@+($G^?ecO+EVPz<_bY?1R#^lyxx!GGNO30*1_B c`dCIA2c diff --git a/graphics/pokemon/ariados/back.png b/graphics/pokemon/ariados/back.png index 1882af2a970ce95676e11b87ca52bf6974c3be31..38df60102e91d1f06807b54d14a288c2e1353af5 100644 GIT binary patch delta 558 zcmV+}0@3}A1(pSnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q;pfK~zY` z?UcPv!!QuX9cAd6rd=2bl~`RRs4WX>bBG5(QC_1`YI$T}0TzZXO;)DlS^6jl33Y;{ zob4vH>+m(Oaf{D)KmYHXb4&j1&#l|y>E;|auJ5%0{&er|Sxq3&fS^UfA85erxJ5t* z2DStQpaC$Wb_ES^K-<)R6=o&?)M^1d1MsX02S98C)BrLg-$~4>5v1H`qLVU1bHup` zoM9mQ4dAxyjT7GjqQ+N>RueXWkp=ytX#^P1Pb&(GjE^1JfU5&;|B_n|B+>zEb}HB$ za@qit@U(`g4GdwbqT6kxTvwyGEIbX-?y4uOuwE0ww3{%5`*Em$tPgPU@{GZxk?06_ zmkz}zskVneM#6DXRplcRLj)>H9F|-+6_RX=X|!^+5h@SGk~pVHT1)Ws=0WB2JikR? zoG*#L2VBPAo4g|KbLw9u>FyqGdZXp@m6Ui5VpflA#K)WSswxTvD2Zr5S^X+T8Fp5c zB`PfOtdtlAF=4xZUyI8#j3|AnE+is2!P~P~0U}(~05&Kja9(Z-@mvh=68Dp`tbwsy zfI2-6FhZaYxX+8Gzfdl5*FRZEz=3#!vdWeU5DWf=;8@P)0>Df!437k{k-$oHIqgPp wRRf_P1igtO-efPsu7^*HXDRu&pBNz@6&mXyqrhA=0000907*qoM6N<$g2v_b=>Px# delta 551 zcmV+?0@(eQ1&sxeB#}W-e*gz`Nliru=LQD>9SkBG27>?q0q{vgK~zY`?Uk`k!!Qtr z9cAd6rd=2tDzUmsPzwucb5$PzMR|=%spXM@1y~rmG+CLFXW>y066yp?IonNZ*P+0` z#x1t*zWjIgISC>E_Se>KnCa&9c2nPL0{roQ+G`RBG$3e@@cSAtf9W*{=s@3=fB-ZA zCe+TL0S;)3I>W>SfLbMhX8@j+;Q)wjfEqw%#9N7(HG-5IMYK|8Xbw3yfpc_ZzX9Ba zweiHafXH!7(JI0Q(6gXNibj9|{W7CED*a$08*p{N?M}IMK_VTndZ(OJYn~0Dgr^lm zZD0Un<=t!|HFY(Lf6E->5bdsd!VJ&PgfML<4B>7ZD(eDVy}qC`q5BJj(``5uM^bGL zfsBNsqN>VABnAjnlsGK8-epL#4TjOm)mo@L6iecqC21|e)0+ns&-45iflFRQ936rd!ce?DdPtr%ulSyh&(u*7Gj z#2|&(NdvrMi%a;1qYyVg(3yQ3F_@kidSqDa3QpyeY0P%CZJVascXdIKU8r zF5o&ZcJ+mFh}-_@LIMuNYm`;CRDc-p6M}6yp9=sZoiIER#99I?QRTQD!K?;CKL|P( pig=f`4B8%E9W9=v|39rC+9wqn>mdV-OJe{4002ovPDHLkV1gJz^Nj!i diff --git a/graphics/pokemon/armaldo/anim_front.png b/graphics/pokemon/armaldo/anim_front.png index cbf305ed461e1e7b6bb3d2dfbaf3d001cd0a1157..372cd2cfec28f1a9b4862c5444cc0ab848fe9997 100644 GIT binary patch delta 1726 zcmV;v20{6!4v7wsUw;OaNklp3nnKYg4xZbHSI$ka>z1d2G1Ts4inh+T=p;v>plrx zmY_bE&e8e}c~w%k+aC2CHw01#TljshdQ~dD_Zi0bKP=0w{D15GiP9=yog%^DL!(A5 zQ3d#f{%G%02He>{?NtHfY@L7n1R#jcPNS;K%+oI}U$M=r;Ne3*t^^)`aruUg5m;ZV zS^<-Ye*R{2{B>YiP#HH&^3j_|SI}Wg;)d~{{t5tOY%c>GyARNj9s=+Gy$YyN&yzAv zZTG#)t4d;>Vt>4m+V;oeam7YP204(>$inu<*_U5e#K*6G$RNwIaPQ*9?<*#FH2$<7 zVw`8m$pwtw&cVF=_Q^ENcqdDL2WR8AvV0%l;@Nb_r3_QJ`19LYUXD-Tlj*iZAY&J2 zU+UvDkupnQbNub|?(}I-as*EPS{%1|gs0<{&zs*|bbr&Iu5vld+64aaTa|;^cMS)Q z$|N@~x;vD%5J=&q$kObyTL1|K&=vyri_eQJ>)ds`5`g-V252Wt?31%geU^33oH{EH z^5l8gKAYN7xRsOS;Px4PXM5{QFsVneY;O$^lU8f^&y zAna!M25cd=VYOVtDF8I_Oq%&Mej9=ifE(8^aROU& z7>^Q2!pY&}hWn8ugu%o$1JSb-U}9WA0%4ZYZl3u92E_K7KrC65D-+{0U~7^kf)2>4 z*SxmW&^cl}G83>feBb;=1D4m&K#^lhfQ!ISyr=lKIQI_}z;1!{7BIt1yf9V3_7DL8 z&VO=Ju7Jgl<8N>d(_IDd#E&s2HX-E%#$I2&QcE0WZ3I^Tk{n@DJx>8{3An1hio0tT$bfwWEFmbFT}<38)$E9onk7N`RS_|RmW6LJsesKjUMbpR~;Zb^Rc zH)7D4=Y{DEZg;82uTO&?ug(Eq2zjrj>MxlyzDuh z;}u(b{IFUe{D=OdHzT~d8_NXZ7qH0zulC0C{mM<4ju)x894r$EaIkmdfaLI9^m0U&8h?iQa&$Q!zvjyg!yApqSJ^uZLjkYfWf&{}8omB+ z8%Dn{jC5`oi=)yo?xdg$W9Ob>+$A=i<)vY?XNGa-7+lj+0PXRF%nf7l7;MZ@3C7kC z+v?0P7REpbFLfwA+}X!EJu{5kA+Y(z9C!J2+s8ir!Mze@`~bVRh^Cmsc7M1|DfR*l zxO36c-5}1VbSs?tYBJrrm1sS1HR`MG4c(k$^TzJpliDzpXg$y#Rf~kM!FfEH=2H;Z z7$k)1A3YQ;?NJUzIRFwhr+FfpwJDh;uz!b*7JG97p2`6l$u8ZFCpyc{9!E4)A7{F~23S$f=HG<_Z(EB2}RZ<()7aww)UtTgyCqtCHgSXRy zNjJt08)b#CQw}3+yI6G&@36y0Sxef(*r9_uz4Xw*;*-#241f6$ykqn??0b^zIH}y@ z#$fMKllSX;pFVy1zF(>I&o5oK3jaF!MQIVRNReRhZmCRlQ3N=IzPWLi0XH}I+eH95 zSmd|w0J#3azF!oXw*TYt6SjQfUcc@Hg}}`pk6*9>0*eb);lnxp`!ALU&s|-I;-}Zh ztrs^=pvhoXet)i3o&bOhj9GwbbO4&tM&R|Ii-0n6EWQIAXMMR4@p%TXQ=_TaP8sze}WM}G&8({yS`X*sYw`29g^bgwNr z0((DX>DG2IJ68UC`M0B1^v*n&y|_W(%THAdTE{Axu#*S5bktg-w2nXods&oPhn)jR zD1g=xFdlxJMOopNY3Be`c2a;gz0lY@I8Jj};moYCJdt}3yv7!-^EwB8>EV9*m|BM) z=D>}?Z+}O84WE+shG&gyMwSMx(>UD7e=hIcPdMJt8*&~Rah|72qt~&wq5|ZD5&5z^1U~Wh23gDp= zU`%XC@&ig69ra3eu^l%MnEyW9!Jyi<0<0XcRDTuQQEx$Z+g?;*n3-x!@&ig6ctcs> z>+qU~l*;&z6bNEsjO&VJ*%sa(Sd_iE8GobzjQ3N(P}ky~`ZlEk+QDSMWaBTpLxk*k z5$ACv!NG1P&%bZ=0atd}f|NFP5In_&-Ht6UHUNzi7h9Mc;{m!`+1+K$OC16h0#_Ou za9y7#_HKtYFSYbJ3=3330p8UZ=Y(7Wnkw+|eN6z}xY&}fd?LEdNn99C*SHwN$AA0o zTk{jZ5kg+-=~xio+!+r7jU8fPztl`&GAOjK-QXu;&7Q2ldrMRV)yTv}?`1H#mW-GX!Fh)Ia?7s}r_x^LnvBIMiEv+yA_)ArTA?9LJhFn@7&9_W5fIWKJ??393 znTDY~>K_jV&-iS^u=|6-N&E`KP{6ZS8OGe7{b&ESVRSOXh$e2Y#0~PU}?4jXq$&*Vi?nDFfc|X7%M#-t7F5MT3sRR$fR_8ZGRK{^w==Y zm%!m0aD2*ps}9cTYnNJB={20*!XIG_tKK4|I15tXT(r_@5F{hI;*A`2SUS3uXkE3e zyzhxNv=WZP8>f3)riP(J>uTyzWnTyb%$vheG6I2vL4v3Lqm81KdXz~~4uJTzQ4$Iq z>8~-tg7LV|Ba$!f+E1zyq8uDpOO^a$o}o zEzaf;Y!w4k!*#kE4AUr^8+gOqF6U}Cho~J%fwkK909trlK@c3(D#bfl%qe3Kpf?)hjzSt3Vh1f*cPVE#9GtbJ~ zC;G!$Dj0DX;7Hm*i8*W=Q|%RjW-1u5t7^vfPW6TE1W^949rIK$Vs;P92jWnlYTB7U zWP%X|>g5FrIKM&p!&SLpsPYMbOn3dvAI5?qls}N^12TUY3x?|}e?Z5vF8jk+Fj9XY y7fV0$hiWPqxj$G1{*VaCH&#UuzKCO3g;esUP)XBtsmOww7NoAM1X&rfFgxiK*+MPc&~VCHA; zxiQ-R;3lAqsajyieV3C>AT-8hSg$t%L717@Fs>(W>%@4}#zeL)?p$>0h+E=8)a&P4 zyBX4p=w;@AXWM|8D^3+aKih!FH=zU=nOJWFe369&h?{L5+b%!~X|tNVXMq3_A2oZ+ z<#G`Ez<;AtE+Q)kXjVVI*Y$w7uj}jOo#GkM3P9rS*P2$}3#{v>>$}t~EkW+uD~dn# z3gLczY0)i}DiGF^!oy@};n7;<1(Z$*__kd3yS==BuP>K&p}m0CQheSclRs}eeMafEtB2xz2(6^^;9=KQ2-tYW7$UCIUZMtIvURl!YV> zs^SVaim;2)R89aSAne{yYj4+aE+R3NGnqgF0>qvjR6%`yv{^f9aSR|5w8JX6&(@^v zR`P0pvdR#TJr67;&} zDlp+T2&ptmNjW-+=#Qyfm4$M^N+AP%j^k&4Q~E{C+W2$+wazXj()fV5~#n zY$FdG5ujn}JW6gOj8_2_OxZ^4GHTqFFm)DqE9vWb!UUa?c?XbSHw>)8*9USw1}Fo1 z&ynyJ{2J5qP}0BICLn%wz>2&n>d6iReiErKpqn9pWMg{hEHKbyMT`fX1Op-66b!sL zV7!u`VGU3jL6~X~9-tx`6x3hra=2TNZwl|RZ~|;(ZDIhp7B}dgi!KM(NdSBd{sK?O V$)up*@74eS002ovPDHLkV1fkVg`ofd delta 832 zcmV-G1Hb&z2gL`FB#}W-I{*iCNliru=LQD>9TM0TJKz8S11L#EK~zY`?UcW6+b|Hu z1w&hx9-+m90r9|~Q2x9_Ovr-@B!B~Jk+~#)%c=7QB@7$Z{dD(z$0LK_|Ju1yTF38& zD3E@kbrA$*qW*Y)-CPVtOr1t4+%YfWp@3#{v>>$}t~EkW+vD~dn#I&@fHT69aL z3WT+k;UVrzc(hje1WJzy__kbbc6)h$UtccmLi+?-OY!-DME<<(@>97-dpF5k8!=T< zluqQsMnGL(F7_fn3aC+dk?R_GSU=e`_v0cZqGpYCZzAxMwfY>mMp;P8K`yRv%Yb_cwf1%$XA@&nIgw)+g8*@0doJ$TMAnX46ak1a+P(|!vo&eEmAu-2c)XrO zGHE7>2hag*6MM627uD1QqV#~h+M0VztEq6~mI&bOw)Q63I-1#}aE&Yr2MCR7I6vzH znQ=ZU=m0eH-r)(e)&W5(r;SRbjUiid;4^pIkX43_yAl#7fwz*ro?|BHl*~JT5_ZGDS@`-uuEzjX;5ia^UV>jEdOnc! zZ?X-DUmdXGTa$XS$AF(i>I>+m47P1!616+$6bk9XsgMAVJAA`S7$H}D8uUypt0000< KMNUMnLSTZmGk@U# diff --git a/graphics/pokemon/aromatisse/anim_front.png b/graphics/pokemon/aromatisse/anim_front.png index 1371d970cc97b7cb5296420b5a60d5367ec75b07..c6d3c9b95dd5206a3193aa9a8a5f26091abfe511 100644 GIT binary patch delta 1118 zcmV-k1fl!O3Bw7HbbkanNklvBUglH`7eLz5eh<>O1Kr{Qy|X>BZaEaeTm-WI@_b zqOcB;)U%BFQIHmWz^&Jj1&s5w$gQj3A$~B+QUnWfVt>O3el+2yilv3%ffWId&8N7W zMCD3pAYIxegk@RYotEXQ_^4~>1BhR4#_E7ag_S~t4>eF8;3E5g%cEw#%)bWE%i*{C@bXi3JX!Jt;_I= z+oIIW=YLPwHx+Q-NuiIdz$|NE*~#G*o3Sb+mU3ADxo@Yyq2&gV_?|+%-k!rDRRh?S z0F>%2ma59Y)oH-qFI64u8c_D8)_HUtIdTNKqo{8X5GXA-06ipXO%eb^0aX=D;ao{P z`VEjI=I<8)wZXmw)U`e_|Np25Bl>cCkn+$Tq<5Wu$;fbUC}Qvj?b(Vm2_>;u>X0sO2_9eUCawLREH zqA;%f!->`lQVzuTXJ|-b)0T)wOY9?r5ftdft|V&E2BZBWoYVHOF_>74vhzq%kB-ni zkAIKON7;NPt+uN}h%gi(1Y@o)Wg=~0G8yU9vv=2*3pCH9|AcycG17vf1*GcjKlA{# z$h5*3zW{(9-pk@${&@4gG8FhljN8>OV^$do{9>^S<+HYgcAS?6SV(O{0UZ|Kc>nnT00b^cL_t(o!|j$aZ`(!`fEf_n zb9C7un~tVu`L3=u4MOXgr{qCV9C|Q{`~kzD&@~7eWY^$&HWFm_lKg~@0mrk3z@wNU z@F=72j*?9Bp5%^2(X(Ysyie~v@{W9;=lz=odtCqE&OhRv`hSP6ONiP*5fdr=hXFil zm@d90Qw(CyN5)S)f0qJ&9wap&aWm|mBsRB5s`muIQw!j~y+J2+O4uFnB;)`gm*MV! zxd1=pyd&`yGj_-*fS>S?o56l$1mN@a=-_-rU22ZM_>vtefEVB#0+P##U_0Oj7$))Q zDVMp-bD^jRFn@lUn^_!hrV$ar8;?Gk*>@k##?y$}QR6?a-skz`^3(WSMV=di1s5+z zf8@Xabu^wb25t;-aPbmy3xJ}ogGerpMhJX9!W7h5`21)E03*)g5euJOjdFN<`RR=^ zS29SQrRd1f+1uAr?lY!Xl(mxpu0x{CEMs93Wjdu+(|;@zix}sbF5Jb8@dsyFhQXqO z*f4_khx`~=rUj3j2zc9kmE|xg=U{+r=9UnbWqEU4mUI2Z)Q~zE`sH%W_j#h76e7M` z0p&iPWE=2#vYs!C9}sBe2-178vn zxLyN-1b+fuR>-$GE`(kj?9snt$b|BHMfZsX<@KXig^U~)OfYy>4Pr^s` zKH38TyfR!D zM1O4PyLL#?%TE&pg?V1oGjzx@uF@bZHDi;_Id*nmOqIE!&Vr)jprM?hfS^HyoPpb#jeo*Ce=V6+2*}*#{^aT)e`@9x0O1!b#Ki{t z?ZRm{OPjQN0Tqd8Y1O_rvKf^CG=K^t;u|!O>#B2WSEKr(U*06^-d;EXN{N%UMbkk4 zzByAl{5nAS!*?q|+XQ1+3qcD;O_NB$cosb%7&pgl!Dtpi2u3pmB^V9gBLrj7$X{_U z7^(smdIrtLK5Gg_)+`ba6-~h?n(e(N7*-DoXTwy2vG#|8GK|2Uo%IKu20$qYU>zB3 s^#`mC^#C^dgBAL%{$Nf`{TKb=Z@6y}!q$%DTmS$707*qoM6N<$f_D=Yg#Z8m diff --git a/graphics/pokemon/aromatisse/back.png b/graphics/pokemon/aromatisse/back.png index fd0183219fcfa29cdaf1f012aaedc34aa9d9224d..8feaf5c8fc13b968c32ff3b309487f776468cf17 100644 GIT binary patch delta 602 zcmV-g0;T=K1=0nOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xL;GK~zY` z&6BaN;xG_JBO%w(V5MFW^m>Ao674ULji#W8_$mrM%%zhrh#%4uWtJT~4lpMBkha

      K#AVKy7#AErB2LTj+Dk#K&RGSH?)s_JECMZIluQwy0wmCo)f`BCvMM>B7 zas_jM(^x5`k|Ok90n(tKTEYyVV3cq*0W73=0`dUxF^kc{SIEG3s{|-=21x#@MJ*?R z(L-XwYf(?;OOj9}iulC*n#T8G*LZjV;8Em;r>I{7Frthy2o6C05jlu|j04M$=pI3CL0CsxpW>8+Mdx+H9&k7XjOJk1y;h(tcR8~zE##)V)L}-lZj__l^ zoiRo~4(-rd+v~c=fz~^JL^BqBtwF&7u3EziF@z8uDY)u;b9?l)=|TuW8G=IB524*T zKfRwUTHAVs-*%EXnk)U+qeo-J&!1;Yi9B#}W-e*gz`Nliru=LQD>9T+&k(*6Jd0wzgBK~zY`)swNV;xG_J zk&x?Xuu`uGdOg8PiS`%BMpIBkd=&*BmeR==*bnK6GRuw~hcG7lkha?qLW$?(-aE0g zSo~`(w{L*_@J0Y4V5#_hnZ9}A1z40!LclAKazMsYl*~gx95Mn*1%N2^GM|$H0V97h zD8ztN+YzYLjsW&1C_@qO40 z9$x^MirnxV^$P$-6j27j0mwcg2a$hrVD%Awy)girT_mA+U+&fnNUkOC=WMT%YmYfs z$k|@?4aP%ANFSSZU)1``JIKcjYY8$79*MoyUxR?E9uhd6sKkEW(4_*{H{qy2aVsAo z5^Fz8P^2%lKKX}#;=WU9Ia+9I8!RP4t#x;TA3g51*3EQi`_@|1R0exm?+}0WQ1rD1 z1qZllH7mprLUaKzM&GA?qq`77Xgex&rVs7T`89{pqP4A8_-#jtlfKb^HF(t87~>Q= zg8JteO-R{NS)qxjCNa0hcm4Ue0*A%u6fylt;WAzXJp!5`*6YuHFLu-$MQe^#|x*|Lw$dcwPVi N002ovPDHLkV1lH#1u6gl diff --git a/graphics/pokemon/aromatisse/icon.png b/graphics/pokemon/aromatisse/icon.png index 870ace9df7de0766194cb4c7a505a66bbc9eab1c..4dfa1df75eb5a82759135f5f0b839b5fabdf0d77 100644 GIT binary patch delta 270 zcmV+p0rCEd1LXpcV1MvQL_t(IjpdTD3c@fDhVuq_2zQr&^hJcabaD3)>>$E*v1_rQ zyB(bEfj&$rq!d(ei4+=}CD%sW6*K;Pcb7Xp#=hwByA!C`i8v_D?_3k%OR2O1i>V+2 zDc3O(5+GXp6!6u`10Q;U5WO{0UaBm$%8}y z008YtL_t(I%jJ@>3c@fDhVuq_2zQr&^hJcaxVZZWI*4#x>{=9bw?k)ppbt|DDFqvF zi3A$kCD(S*QSru~?{c~0W9*BHt3jZ{LBv5@uDB(_mr`2|4u8}00HoZ8L`Z;O>r=ot z8xMTw1VRWeh-gy%5F&$$fM6lkD@h%!9*OnRqp8ef<4Fc5YPsx+X70feM$YgE1>Rhc zmzYC|L|hT?bHv2Gfr!@Q@(K4;xUH(U_ zaYGFZYK7?%tt>D-gIZy#u0gFZFdYap{U2eh)mDAz#|xia&B<#PWa$6^002ovPDHLk FV1k58gckq+ diff --git a/graphics/pokemon/aron/anim_front.png b/graphics/pokemon/aron/anim_front.png index 09740c03ac50cd66cbb22ff378c821510c863269..06cd54cf82c61766b5b3eaef9572ebd2966e9483 100644 GIT binary patch delta 608 zcmV-m0-ycT1<3`FbbkUrNklF?agkKmx7L;5 zHH(juhd|*0?v(VA3m)N~?q&^Ani3@r~`D~0n`-H+SN4x>~bDZ_6SgkkUGNwMRT$M#%?*FJipmvj6h5P zI|Q0v=Tjx5`bKS{T5D*2cYu^6FaZSKJ77U=DnLNF8ETo;Ed@XbljgLCgMDsWVo0wF z0Uqp8T|WM_DStJD2|?l>4=DmG3J7Lk=b%31%O#bPI>Ut7T+~J`T1x}j9H35(R2$Eb zz-kLNv&L;HAOT;w{h02?k$1|MOE;_LZvE}EU|O=kH9PuJe(i%CpMMd5`33Ow z{a$rE@}7WiF&M`)1U6iK7!`>g-2oD;>ouznXeiy|U4O;gAL-Bu##Gmg9e6`$D8gvY z4!qEvV6Eotz>Ay%DWf?%xB^9zb9OM$#Z54n$A6%stD%5UHspZ9?h%k%>PhPW^=d0{ zdcXnAJ3j78%8UR41j_S|Hw$KApDAD(<>K5RVC%~vBLLI~asG+G;pNg2fYXQA%^)ra ztcWw5!&yAM+M`IF9#BIdFtPi%mT7A!4MM+&(GLXr!zLg-$%Mi{Tz6j^T2USi*qc8P uGdOc_7r`*b>RNO{0UaGkswQy&00K2hL_t(o!|j%_j^Z#7K!b=< zvpHpZCX0J8ag9Vsv0IUxqboxkOpcO|K+6Z*X}4dc;1llaZk*k62CCCFnRZ_6$!Kgp z&l_Th{}`i(+xdr3PCPGV^K&ir*7Nm>$&WFw^~BGg7$7MyuYXHF7aWji4Z7R_14vvT zw@JQdfYA(r((dyb6b)$Hp}-XcuEPTOA0V)jiU6V>(0LC~RYY5t*8s53c|h3{KrKRQ z4+j+O*#a25&H>)5 zJ3vqkx7-jz4DpY`U)=#V-)|bm#M{8?hM>fA1lUV#9Dfywp4h50XGN+*vCBxMRms?s=*(IxD$T?c3ZeX?A)+C00000NkvXXu0mjf D<{udF diff --git a/graphics/pokemon/aron/back.png b/graphics/pokemon/aron/back.png index d4499a5dded3060e3c3e2949ba8042d22569725f..3cce41266efbfcebbc8aeec746296b19f56c17d0 100644 GIT binary patch delta 394 zcmV;50d@Y31eXMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tW0dPq~K~zY` z?bEStgD?;PP)9nYzz6U5pDkfWamDdyiUW!@F=2G5LKspAAS`L6x zjBCska0l>Fji`dGkiTk704NX#FrKCb8I5ol#g`AbZN9mJ@7e>fgPTai=YIs~qHi_f zA0d!6eV2cL4ZOQxWdTQO6R-!V10rRCKs^9=@80aP5`>xHT+TcbEo z8q)*kcP^A#uP@OG|;?)yn~mJ<3~iK1|#R owu1~!OKp~>M*mJc;y(mqKSm0NiBn^gKL7v#07*qoM6N<$g2z~-dH?_b delta 369 zcmV-%0gnEc1dRlcB#}W-EdU2}Nliru=LQD>9UrEoM_m8_0dPq~K~zY`?bEStgD?;P zP)CX~We7B4_Z5+=Cx2s)ctkj&C|cb+->M4uOZa@Q6ab`k5FDuj2@w+Wt(204zyMf0 z$xd(#q|ma97%-5c>A{9-)b{|TNW^3dukxA#z)LZU*h0!%3P{EvR;vL}igAsZ0`34l zsxhx1E#$8n695Xt0gR_N*8&+IU`)l2nyTt2}G3?V9+87POYk{$1Z;$bGHf9gJk@55BPn^z(cru0n zeW~7f`y>oSo)c(kDbTxmIiRsed27yxi95k|kfLd+&C=B9--$>3kN5#b6AFikY+gyz P00000NkvXXu0mjfA)%&k diff --git a/graphics/pokemon/aron/icon.png b/graphics/pokemon/aron/icon.png index e288beefa1c54feddec6b6625fbef8b248e24891..a1522f972ab1fd42012af9734fa05bb70ba94cdf 100644 GIT binary patch delta 163 zcmV;U09^l|0{a1wV1I^5L_t(IjqQ>#4#O}E1N8%;3A!2x(OrQ1fc~KQLHO{0UaS{#ai|N z004tYL_t(I%k7de4umia1pNc+K(vuq(OU`+xF6j8fd5y7I6a2y;!snaaOc&owX%lj z86vZG=N=nxPACyl-p(*%m0p|>k)WuV9LElts-<9fLCp)_6n*B;fyvrc# diff --git a/graphics/pokemon/arrokuda/back.png b/graphics/pokemon/arrokuda/back.png index e7054b295b501a1742dad6a1eb6dc15e0da8147a..13c4240315a91ab77922d5f6983e1b812d576140 100644 GIT binary patch delta 472 zcmV;}0Vn>q1i=K5BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0h&ofK~zY` z?US)i0znXlFT}(^r4-f#Nlxr^6B@0~SrbUGkiCLf5tFSAA;EhBprg4Q(;0#>;TfnP zR#IVoG}ibG&Mjxb-d=nFnc|xNn}6n?%~|`}m#TxKKlIx)U&;g*nW*0JVG$0+Su=!@}*t|hBpb6oIW~3Sb!a7{D zbOVl}9&W;wuHrDql|dB+S*%_(J=^bfA_GnU5w*mCz#H{CDnb)~i8xQp9}&?}5fEK) z^Z{0OfB`B%?Q!;`1BU~|KxK>o2YbWB3R{4qPed6WYh{(6~QT3Wir%GWh=msfVZ|~2iVrOEEP-JXMmdBCPPoZ zbqV4OzSE`VVo|>{)Z`Zs0Wbc+1h)i`B#}W-e*gz`Nliru=LQD>9V3a$JK6vM0h&ofK~zY`?Ub=j0znXl zFT}(^r4-f#Nlxta5*n?}S(78dLiP$`MNGCfgaq#ifR5&JOlOG3glDjVSV@KT(OBa% zIJ=w$dwcN#WQuG4Z~vKpHhY$}t6j<3JNQGt&H|w#ndG9e$g=H-#t~^tzNeU(Du0v<)2!jAX{H-WGG=I0k?Q;K2FU#YatC zo*N8gK7gA~$2k(mMgvX@fX2!>6Gfu|>EOZo+i?!f6UYWFh}YC3(*O`w@yf|IV8|Qs zI$r83jtWc}c*x0OfBB^8`9Z%c4HyAL)Kd+jVBGJj2rVSyG}V7hL{~*X^ug5|SotAF zr~oy`$%78;4-q4kQ35XZN2w7u0K<@oDvl!!2#DAKRJS(b05u>P!IKdtIr=`1Gyn;Z zOYmt2xd4M`dlNY|f~O+5C96t?+Nx{?gc5k|SayURZOTfyMzXmEsM{Sf4D?-BAjuHA zJvv-2r=G(vz$ZQ9dx8YukUp$ZC;%`tT=W(|A$R}H|6M=eFSWljep;*m0000vLCyL8lv|!A+v;i@YX>6Szs zF9(qvideg$hPXUM8PfSW-o?iEBMd{%XO1=;k;*x*l`9VYpq&s6{b0aHmtK~zY`?Ub)i!$1_r z*P14Cg{1m8vmuv`Du!sTNj2*e1Vt`;3PEPpT1;0u5Lrfsk&Duh!YR~4?RvzMP;XGBfGJAt82!4gpF~6qD1iv~@EX2V zz)y;u9{Ruds({B6lw8XRFQKI5e0R!*Cs7k!#Gz)uK3u;~1)~V1LR9e>v z_*RlZ=n#(0s?Mp2?MO{0UanF8RAj^ z006>CL_t(I%k9#!3c@fD2H?EG5!_qQ2PjmqTYMHNWK1bSv+1+AIQUkQLC6q~2HMT) z(4_Wuhl1Je_>bJd$Jip@Kq_ePtA-qV6&o-N?IwF1Vxv=1Ie%BDF(7yLDy4o-0WWUl zs^%C1l`*#DeKO8;<|vHiDQFx6g)rihU|7rxX9}IRS^UFq3+)i5#XoDk);K>4@;yBi z+5i234|EsbCS{TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o+MMK~zY` z&6TlE<3JFGonl>QWNfG9p5Rs!whydCOO&%48mz@D9w5O_0CGjoJ;gOV1`>U^;&jbb zJj0Fctm7!VYl(_g6eXEY|9mq_Ho=!Up&kROWa=lD>jiiL2J1^A!Yg+Ktk08xZ9EY~ zXqMi1BA}{DSlFu?fFhuO+Q8aA&9bTzibywba_TThDIQ=0>9?uN05X7>RPFmY-`@k-Gqf9q=#){QTtr zbO-R~t=AE8_WtGv`0rOgfY;lxgqIOuYyWER_C#}L_5fxS@amI)fHrk8^*iF-)Zc;6 z{)_;bNDu8;O`GU&i_lpGFsIhhXtYC&)LK^N#d6zy}_ zC=Ks!ny~|tT}Bdhp_GgM4}cj3p)kVcK_;3^^k4~Xz!?fEnG|}Nb!{@Ec!tVobcE=L z{hH~H5)lpvUN*$4A5pBZ#QmW#UXa3S|4}ZCr6I)4;0Hq%N;RV9&{(Js0P<{_L_^Ww c>z^R_4~A;FL|vpmCIA2c07*qoM6N<$f&eV_hX4Qo delta 527 zcmV+q0`UEV1@#1wB#}W-e*gz`Nliru=LQD>9V{7iCQASS0oX}IK~zY`)s?Z1+CUJ7 zO<`(A#y0Kc39=g4p0H9{5ZKK%XYF~F2LSv8iCod&Jw=*4Mx^xQiqkcz?in(+S!2ZR zTDt0PWFgFc`sdpLFP`^aYN+~vA{x1g)pia}z=!QuB8E$Q1Z=-Vf1bZ{L=d6;_|6dl zMUlhYys7{w0*W1M&AV9@MMM$t4#qbYgP7t0b`XCW*$f~72uamE4?nAkFoR-m)r2rf zR}fnOKP4hXp4k9zn9w?64twjUa;$1)2i7$ZhSuMNtO1@{zbt_=nTZO}`Nn#Kz&H$R`IBk{#HYxv^Eajp}ki0Ykz7VG=g=Ja(xCS;toE#D(Kmi)S z)CAlM-J&M04uFAZ0VZ*(uI4cAbYLk82A8uOOgjLzpj&p)e+AkOS^b(+slD&f*&Ms`Ty?!|L)^r{MV0bFMl}F>2$x{s%r?^hSCtBPV`f2 z^gWVhL!aO_Z9UM(wmxBku`F#hQAd8<4T2yBf+XQh0=#-_7_QI9 zPIYz02zV3l0y{T%2!_(qd5X>$w{SlbQ<#JdTt-%tA%q5wSj>qVdc;!+0TiztF%#sI zq{@9-8#Ad1v6!ZT=z>?0Bf2NzYrY1^470LY*B0-B_!}8!dc$-k79wr20YIPPLx@x# euJH%TFunm|M2Tn3#_`br00009WQ`=ckuuK0p3YOK~zY`?Ug@E!$26u zYbK>r3ku!RLrSs5#mTKotRJ9c=vu<*2N1eyC~`CoJu$<5gL0FKLomg`si5?8IF$Pg zzLzwAw3h?j1Ybzt^8E5V@4Z||sq|kzt*uIJqSNWN-8<9})P~X!f00frj1}k`zTIaP zzu2P27^}n~Y6H-z5BiCHFex&S*PY|{CPfA;0+@eT07wINi!Dag36TK+*g8@JkwFz< zj2$IFr3u<`K<{=`El`l_@OlHEU8n$xP~89>Tlj3a-h_b=+${+Vuru@vrrkIv*BI~O zQ`Rp42-LOHz{*KLe>F)|PmQ`BAP=mn2d=28)XTvN@Q~WTAW50O1j0lgb@V-wZbzTs zbsar0!j3-S31ekOkhY)(%E2@PEEOZ9FBlWR0I44?Qk8`a97_0#IQ3*Wr zB!b9K=Xh-kJOf++OqD@02C#6dyIjZ zfE(C(VK|nS?tQ$+q=lP>n8PGw;3~3}4k0pd#qxuAkw-F>2tdi&6$?S$NUps5FJmTc zA(rzz5FhYnxYf1Q(jgb_C68j41R6bS;_=5khP5aH}VA zvWv-3g!%`9K^i<7Yta-)n%~fOlAWZA<^F)&U<=--d+*-e2|d{%Z*2@$w#`ifzuS4) zGF#;W_msWoN7jj23heiPO4B}SmV*z<$=9acZI$NOZEe@=?%D~SeG|Wx{XQjR?Ypj@ zC#iXK{RA9GhrfA$5h$%bbZ0LE+!t}z z$pW&Rp9`fb+9J99Zj1!LyB4!rqUXxCU;xHT<1V0+Sb@q1)+q!leE|aM&D|>qdwev$ zRPjDzKde(Q>OB}o9*0SyQF2KjPKff>GzV=c25OM#`6!t#e!8wZokzOE`jCC+jcIlO zAjl(8dh;im&Zq8wbTKB>>5IYvyfI(rYlRt{n^ie7gncNqOn0p0%1Z)*Y&(zhz~5bN{|87AO@kTPKoY+I7<0JKBg z{bvSP&}zw5Sgrd=v$bC7CkkPHVFS1*1*q=-f(<3*0N4FPyNfmqOtk-ip4Ke?j^;qq s$fhX{bWL+M=D;;)Qwl){dSU~izsuz})VA(%l>h($07*qoM6N<$f-1dQTmS$7 delta 755 zcmV9Wi=xN|FEo0=r2>K~zY`<<&oH+dvcm zaQUW!me{GF-Y!>1C{C@RB15+{1Q(jgb_C68j41R2bS;_=5khP5aH}VAvWv-3g!%=7 zK^i<7Yta-)n$OU8mYt-ErG9{D(eQq{_wL;vNz!wD%3FouQpG3|f9P=gb<1ew3)E9~ zUmlyMI2Ty&m8Nyv%m*Ko)2~gd+se(c)2h_0?#2OLd|OUpuTKft_^somNop?LJOBqE zPb9U+^8la7!BA2^^Wo+U0O}A^KRyMFeP4o0hYyi;5@Z20&9g1Yz`Z31+zeob3F4Ii zln>P}Jd>hi8db*3e@_6o&xcm<1azu|?6N=rFBtyjS)jD~(4E~S;GT#(cDirM>Ap~^ zqAjw+@1KzXXvbt`OY~f+NGTYvjI)4FA_XcRm}d|y^#$;$J9n-j?DEn03Zp&7ewb%q z@B zSj3As3}+fox0E6#(O$LFzW^|c!?@8<>o8XUWzhx`uS@XtByPlDh}Gp{&y|;5Snpn$ zMmixegb5{Gf5&xqAU-hJI>8cPo#=#OjS|hV%jGI0Xy0#M|5_)K9z_Yoh*F!{j6s|{ zY;ONThxLh~8)qVE0uVN6KRP`!y%yk3zu^-J`B=jeA&<|7e4gArfD^o*Jvjb(lE6zx zH{x{FFgnVDH;MQLp}Sxskg1-e=XNuYeR~C@XdjBmX#$zrSYK7869DQF>i#nVOlUo2 zgzKK9T51pH-*WuY0&tmsQP#a*u%M*iCarr%R=4OXMnwG&=&8;8do%^AN{WWq*HqOm l%zz diff --git a/graphics/pokemon/articuno/galarian/icon.png b/graphics/pokemon/articuno/galarian/icon.png index a563c83a1d00d5e56e90e1f10ecfcb82d91f964a..556bd42b4596ffb854c036aee2a7ed269fef1a59 100644 GIT binary patch delta 306 zcmV-20nPrd1DykqbbkR8NklUAs|FBTNp6G$s2Bqxap1@AngNd3u51SbO%ZbZCB{&+7> zv*{v(eVX-d2oj|#fbUjdvh`@<0vHa#=AuNTB>RtSjHPUX$A69LYKXGsKa6qBDB^=G+8;M0-i_@%07*qoM6N<$ Ef<;k_VgLXD delta 323 zcmV-J0lfa51Fi#*bbkN`bV*G`2j>O{0Ua}xd@H^H009w6L_t(I%hi%iY6Kw=g}p%? zW|jk;nuvrSt?d^Z0$I!5C|l-^HJ8TpHGNC796H0@TMmrI>nQa z@iu2-k9ea>HRf7%!Z5d_F>k#VTc@y0Mx9&B!5e2f&lb~U{lsIa8&I_ zGRAT;p71DBjE6o4A^i5&na*XswlrD_D!0j#>HgLRP2?^50Zh<_-sviTY;BgFI)g^#KO zSceXrbijpWks7nc2_nLWi+rF!fb;fNt#iRQ(R9%{yfgvc-y@$Q8 zmo@Mz?Fycy^Rv5=@Azt=OTXu#`jN`-xn~8HrU`~Cvf%EA=oUVYOjoK~?Q#lmIn=t=rSQxldZI_}M z(1|FAK$`&UIwBLhpnxx~*%0N?z^|arnG6D(0KR|%`r$&%d5r-(0y3jsb=eHMDSV8S0N znF6E-*D5VTfB1o@KmSS($R9eT$R8wro2LPLI)9U`6>vSc9&69PJ)>A8v7gV~`q7yK- z85ICT8psSi=J8iiqX{bm!)h*2Ap=9d%^7X9L{&YE4jqOn-$dYrg5l)?u^v=C7;Xfh znrC<4uLOg7EOPJKS}?@?nFH2>QCuwY0VNpEi{A{86pY0S2P6dJg?pTng24j`!Qg>} zU~ny@1S1bv2?h_W1%quN@`p$;_yP%kn6vqpF delta 883 zcmV-(1C0FD2igaabbkN`bV*G`2j>O{0UbC4uJSej00TWqL_t(o!|j$oYui8+z%Rsu zsF&DKI{OK?9#eZrh76`8!ep!QGs2x}tgA?;&>^d;L`IP8`2;q>lPDwvOg=&U5$f;K zce4CPr#qPrg${mrFuWh{opeukKgM?P*HJpyl7~tzu?GN^Mt|c_TdGb#1Hf#s2AGH0 z{66JPfCU9+HeZKj#F$*7@JXxy)*%CDU2tGoq^{_3hKTU-QV$deu;1N_K9}l6oH}S9 zU6lbo+?P$L0(6=Z5uktcqmTV>S9S2K?J9QC`N_jgUQ-s*1 ze>Qq4VALB~E`MSVM}ip=(2^c=%&iusCQb}ET~At~HNN1@qzBs8O?WB;7h{*5uK>?N z=_w0i?lI$Sod4_? zQ;n8PgrR3Ff$K6jn0-uky#&m#j1SE$;4j~U8Bsl^1L!f$SLN4jKnauga1tqj#a?1* z8$dNqls%Gh5x|`q;0b^wHNb`m!TDXJ0k|X5TA;xBsYr8I-9gM54?~N9NDB<&MlRC< z)&gkhj(^hOz@>#)+{*)u0Uu}qgEpCfoBShP@kQ)n7yl^swg|>vIbSe@K;#O>{z@=P zD#4fvf!GiXnJD6~v|yOUNCLWP!GOmv=@O6FZEyMmNOw0Yj?(^6&79`JrawR%WneN) z`2*U|Owt1zH~gWRDL{H~E7Cmnho6Y@^)K{*{C}ZaTKEIU?^9V1CcL!*Zr$6Vbp2Zs zIs$_Pu$xaj=nc}ZfxDjY2fomoBEP|hbdP6`t^I+qCq8ktH%6O);!tr~?jMIS5MR57 z;;;*=JzAn2Dr_^EC`8(j3Hpl5e=(AzU*cEO0#!0F4BDXSu@5zIG1@c?HO(pQ$AaN& zfowz%YCd?m0MvBn{Yo%sjYZYHwiXOFeTi6}U=-)`C|59E=D(wS!I;mYe8HH#ZV?PM zupt;~U_&rw(H6nb0V}~!18c#Uy=whoAsFfc8~!le`NMx1e*j1-cJjOYjrafn002ov JPDHLkV1fkaopAsF diff --git a/graphics/pokemon/audino/back.png b/graphics/pokemon/audino/back.png index 736ade441ada45b7183b424111a0416ff6da2228..050a7069a96dd8207a4698d180eb4b7484f34aa1 100644 GIT binary patch delta 579 zcmV-J0=)g71*-*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t87!K~zY` z?bNZ3n?Mi%P$VdjT#ZSPTO6e~*(N1Y5_EDI1<7)EIy|!Y3ZIM+O8gNia_DqbQlIk$ zw|qhDf5|Mw>@4`44@jm$n#auSvWxZ4g%GpL`RVl4B_Uu+qItB15QDr8V*-In*>C7+ zAVMG!2vS1j2f_vwq^3cC2tgxeL*O+E#$(m(&pfOHfM@{(!2om}+7i(3;WR1l1fW?F z2k|uH+}YXCPztTNW4+^`wp1?_!>Rm#V-IPla|5BQDe?a&0Y-Pwi%7fj&JvwQ1V0Cbj| zGP(dfYY@T!LH|F0FftZFN3vhy=XVZ5=wIE@@z)OnjC)ttJsQGO7sn{EKN@19dKe{k z1ddNy+^Q1%7qhDg9G-Lux}CVxJMBuTfYc?n;4j&kCqSZ>y2RV9pUm~g96d@Y4+jQj zZh`Dn@8zSc>ssm_p5?MjVeO>cs|p+#L7=HT1)l|wB#}W-e*gz`Nliru=LQD>9XjoxlNta30s=`yK~zY`?bNY~+dvQo zV1ZQ#T#c0ow{l2tWt)_OB;s%xA~5cblLw=x@L?fD;)h6)6US9aea;iy>Iu$%m&{7B zc2-hM`eZ7>e*R~)+O=iXHyJBT+w&gb=;;5ljg9e`;y;hMsyN0200+ zCDeLPj6fBsnIC{(i+LZowSvh+b^ARJ>i{4c0KVS?ZHFcTx;^ZA$vp$8--v_gnvKu` z*5f^T*Ls8jU?ZX)K_zvDup=eTV5&g;vC{+brUlgQWlZ9A*aC+lZq5TtBkL6zk6!q4se0l zddWYQos+t>790@R6y#89e68t<_VCfq>gyI^Wug6nBzwh$0GxCCr5Uw5Asn~ zRV8%~*K*jUFR=Df9#jGcMiFQ#=ihq};4t{20SZ)uQZS@7qG|yEWAXHVx@>h9z>ja zSxGLDV#04pO0#6aJERMUSxDh76Y?BZc4lWWU?b=&Ki;32A72#x=_2WX50)Zm;0snQ zLZxD6<$=+q1y6ntEv_x-u^X!Pa~@lC+cYd+p&v$er~!}^^MBEeo-{KOnP=#Jf>pCb z6oCFNZ8}I>klro#?rvEES|y3QOFe-32=_Fa0Qan9=$34NwWNnD{~NnwEQ3o2PPT;~ zw;oipW1eSQ9|;xo9?!xYO%{asP0s(denA-N2t#p481p8fFlI%eFjV|p827eX7_Js> zZ)uQZS@7qIXE7G5Gpu~Nh$4AtO78)vEVW6 zq2-kY1NKAhZow0aZd}9a75aW`ha7<9Sd6dr)Xhj@o}h;r3b#ZQfZ;ZG9i%PDZ&y2i zw`l;avdrJ50l<8Ke;Q4JJ63Yxm#l#o$@iDxH+IKFM&}+JZ3{na0%+%lswy`j5~}Gv zoyR$vvi>3G|594NAdK{cp|mHAd6QTeQ&21n)u#(nN5XKsEMj5Qx`>5g*?%w0mmghW r+7#9EtOH1n+jKVShD4?mIn9qx-15_bkN%1;00000NkvXXu0mjf7yXt( diff --git a/graphics/pokemon/audino/mega/back.png b/graphics/pokemon/audino/mega/back.png index 394b57fe95a54934d30ad9ef5e2468f411b30652..7bf36501f5af4c98b3ff007867d7718d46329d14 100644 GIT binary patch delta 573 zcmV-D0>b^g1;+)DBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80w9rzCVvPN zO(mgwpq)Auky`|IoerYT|B$uB>C~m<(Bc>*!uvf{rTz;GaodCGxyY2EkW#l8y#8h# zT`Pex$-#nbL0b(1x{runrH@tYGY=?gF_%78F=Y`@)CAg@1dN;hCV-GEj(-)PcC!N{ zv)+#s;&unfq^kf12YeXF>-B(eJ-RYz5U$2mAXD@Zz?0Y2162eI*?fa?@D0EgXgjJs(d7F1@I^4-sFA>(6jf9 zF&FUr&JfN^8SJnA-H9^>B7bPCa>31*E<`X}<${|rjRFBoDOf!|unAHWk|_@o3YL%D zhzJFO4f#_6NE{byhVdWP_Y!k}hpoH100000 LNkvXXu0mjf^92FJ delta 564 zcmV-40?Yl!1-u22B#}W-6#xfxNliru=LQD>9s`+(NYMZQ0w0l+CVvSOO(mgwpq)Au zky`|IoerYz|ByAr>C~m<(Bc{-!uEFR03Nt6xhVloN}vXCdR_%Cw_oZXWI$`2UY&EG zUE23OIJ>&s4{AWcr+;n4yK8`v)B>D+{uu6nqXa1`BI-93oG8E-f{KWGbS+QeQ9;N$ z;v$*@^yG7(U>%_Zc?8)+Ttq|x`~r~upaK0Hq+u06!=VS>SK0(esbLmoVjtrw&Hj{^n2W9}pmOMpIm&lqz7zwX56 zr3?;N|L(*d1Ah@TR=MDMOcx@Ut#ZNjm_~sBrWCB69$5z|3dxiQ2?fh1u0@1`*&o&d z#yP-`tVM*vdjU|9;9bObS_8f3rhK4cxnv;AYlQ6mGQ$rzNfOLz(1E_X>_29T@hneZ zAPb1wvPT?PFLn}f;2xU;4InYNtjQk=K;n3_`ybZ#a}j_G^zXU=00000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+C5XK~zY` z)sr!A+E5V39}+0CSb~{4as(xa30|s%c1bWFAc|xKWyeXkC{@AgRu$@VSS%7LSjk#N z$`mP!Bl`oi!XK*lfHbYolnz~b1JdJu{Qv*=?hya33M={y6vW*HZ08&Z; zREFWauarJ;fIK=cz##`jp?q{V0|p&5**l3$0h%8#)bH;GuT3a_CohrF!EYYlQ_71A z+kmp46wv9b$??}+*nM+KLG0y&u~~lL^#m{?u0G!`78dMlkd?>}dcc zps~Z2$0UrRYjf`1_P5+Gev7S`7mSN3MSxP*6PJ32!j4F_=X03>b1EKXNd1F`8m9 zq^%gR5Lyt1IO*5aRj=_g@SXG#pBx$mIk?wQy5cE(A00J+N{Zn6{2KI*i02Cc(;s>T zK>wP)+J{XAxT$~xe+59FOf2q^vrZQPX;`U%^72a#IQ^f7!8H!@lVB#}W-e*gz`Nliru=LQD>9tCjg?c@Le0+C5XK~zY`)s-=C+E5V3 zUnEduu>_bpas&~?6ke)?b|IJ#fRHRucARvJQWdOjRiQq^Vv$H-g|&*5DN+_k_6KN% zKUB{^n$~AZhc3Or()0cN|KEFe))V5NMS4qq2lloBN58ETwJ1<2e>8tx*Y~3mnZo(y z%SwYNu#+k1=Ra4;Zp4uUas~b3Sz@=>g=h^KfHs=zMNjWSgY5ze&%iErTRA3?g%0A% z!@wZ`1L{ja)0!lJ*n(0dpCE@mYKTK^1=t)g(ZDcB35QVuk*E}K4Ukd{5Y{kU|d2`<$NN$i%*TkeW0mzr`Cx%*O0*BOpN{8XV!HtZTpk^9SQvh;6ZHEJ!NvK&_ zw+VoBg&u~TV8D@7?UjcIV5Rreh(|&;$o3SV?2V!Lsj{!Ke=x)hT`ke?F5A;*&|OAO~v-xf@=EHm)(5^@?6y$)>t00000NkvXXu0mjf$&y7I diff --git a/graphics/pokemon/audino/mega/icon.png b/graphics/pokemon/audino/mega/icon.png index c2f26aa78fa2a3d211d71fb63bbe65c43c29e050..8747ca0ca0bd5f2fc22b1bf62997c34d938de910 100644 GIT binary patch delta 321 zcmV-H0lxmb1D6AkUw;82Nklqm%gXYLlhZx+|f!?m^3qlLFdjxb|>A^D2GsQ(HK5?}^C zd|>*N0JGb4J~}WwMgk174`2@8{1q_JtV$mk6PE;-ye7ar{ScUek4v)YZ~1rwfn&|E T_7;#w00000NkvXXu0mjfG|-j= delta 357 zcmV-r0h<1o1G@u|Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT=k4qA~} z0003VNklq_O697KAg4UdEHUN|K6Y!l;NdQ7U_KC=7=H~#OTt_&NgD(oGGFbHBrI^&^VHM(zaW1V_Q<{vkAl>!v~+V@6C*4S(>DR#A4oW z-h19wt|i$Hkhx9sw1t1~MDR&ZwiEJK+C)(Ot=^E2EI5^ylW{J)mv^@I@rZ089ISi$_; zq1)rjHC)`&HBG=Q<_ciUb^hXlOKfZc7oHKLGM>{9}EU=c@F*?~B=G_Z?g zyluDoLQMXs;VKwDqv(C1gn5L>LLipTq8fk+z}zAQSYa8cvk8vM1FBe2gW=G%{R0hnC4WHR ztssGE$_Esoi)y9-IG`ko?N8U^fsD{~iz)CplPFU@AE>?B>i;}qb$J=>rTnJ?wxv5C zK_r`&lX4i8r)Pj_&Ff@fki$IYkwXA>MSf-g>Ub07KX!|+<{#XFV|Mc(g>`(2(I+1tt;pNx&DbOea=hKN`{afRpSnbNU z$?>hrX|F|F=tN(uqEjpaR7Fi0zqM#E(rnPI=+2%p7r-| z6+#qbK+(k+K&Sy+Q%fo90b|^FIPpkv8aQms+gXlld!)oyiI_XX-UOsCAti_*7+iY zG>lR}AVB0YVe9^Z6XkMNX^~eZDr=9 zz!Ez4V;QO(uujmygb@F1<_Q{D!tC+HYw^Wm5sQrz0n`8k=(fHr z)RQAhbAJOQ;V_KO=df7F?U@m!a}~j<>?h0d67=(9O|;KJ0}j?9S!!eaBB`Mq-d?~I zXa)#voIP<#wA*crIC$Y2_#1&x8wXS6DVEd}gpS}`s0dsc(LwyIvKhRDCW6XR4&pjb z6=uNELzFH`b$`X-dTt2iX@>t|nojt0bwA{)2!BIvJfVkplvV7aTHTSr)zx^Y@{>p` z=z8I+)oQqy!_{9&(uO%e4?qZ(TNHE=USr)5+`(LciA}r1s#P3hfCa=Kb~o)#pH+7Z zfU)H7roD^~CGa5yb~o)#UxvhDUr1mF<`H$a9f&i>0J}&=TRXEY#ORL_&Vu37ryp}A z%zq+K2Z2aAqa^?vfVoi(IN>%>W+VKnHmGJ{v;`c=2y>Yl6KE@BS;nCz1=6Wrz( z%8XHYs*6BH@a$uyFN(n3-SHZD_&O>8+IR6?U9{_q!L!~GZe!h}PprVH8Rz=10O~Vd zFW7fa?CL;%_K6p~1-N)iN`+v}(#Owr1b;~2VaKuMfbu}zvnq(i2LhgQ&?JF14HO^B zZn8KjmZ8Z=4k#*=quwFw2b#cWMc~VHH2HpeO44~0cEZcg$wWj7X!@2IcR#;B2+$2h z#wfVBoZx1Xy*&lCU0e!O54{wy%;P{F`-dpdF)YA4c_#@CG<;Ibq22?$hK+}&=YI!9 z4b#I*G!0=}3-5^aVV#3zHAySszXDcS9W0x!PL2)WZvkSY1qc}@yelI#QO)Fl3TTPq zlJRQLRS}wAJ_R175@pP1UAyooX(A{NDs_kV~1RuB=ptTzCMM`9Nk8d$;Lxl?lw@zNJJ+ld-r z+VKv>wGtRNHUM~(2(2#`&o}wyFge5=#KH&+$PrwX8fPJ$WC8=?oAr89BOem3jRPex z3{l}mq8MPX78ptk2@Y#u1seiGc4i@8sF4roAcj<644zFs_>yUu)waM;j(^e?aj`E$ zT&ELJo(4apBbq6YgmbI|W|w+G1;W>j2RrVb1mbusjKCO3isl7|1fsDLR7zk#UZO}B zTnY>`VF|?M*kmra(hvK|p8Va#GK}b^1ldakhOA$eiOs%+5<~)@Ghj=B$ex`E3?w7Q z3T;t{OknVWJW#+8Qi1V05K3uzP_YA{0Y-A86?=DI==RV0uK_wj`TpJxl<#!}-PdhE rU+{Hi!m1x0IL-9K#Ht^dT|fK}KLlBu{9)Zt00000NkvXXu0mjfj~<{F diff --git a/graphics/pokemon/aurorus/back.png b/graphics/pokemon/aurorus/back.png index a7df0004751b818758fe685bc911269bd1070c81..f8318b73b380d1a01b7c7d5f05ea97ad79d72318 100644 GIT binary patch delta 500 zcmVcyCDo$~Er@d}Uhy_5GQ7cg51Gy;au7A4%G3rLz0j~f>ZC$k> zPn-gjQsMx*bP_OCgUF1yS#TZ%lqewnB@UqNNM%pL=g|NVO+a~hHUx+QRsj!)Y>3A} zEL*S=nuEgAfJpciM3aEqC)}uLr>m=YKFg<%Fw`jAAbPTz&rR(wd(O5~mr7Avj*uf9AP_FMr{@>lm1rr#~t z`7>DKMY}`M?d=m%Tg(BnCJxq5Y&npl;$? z0qn@og0co_7;H%C08Nn%$ipDrz5!nj4esB8r_XxQxO|uaPmX#FxZLKzlcNE>@9_uI Xz&IftD;WV4RV;)Lgh)m`a3O@aHKX_d9q^o3$DOxZK zKEvv+#$~Pl@8D&09m;#al?Bk;Jd-qI87x3WO7?r%9stZUS(rWa0RU)OFt)G5wm7G6 zYF{$9eE3L|x&rtKh$!db49%SKoa!-9v?MnJc7dXY)d=9`ik>|1#*|%b9RNnE+54L& z@{Zu%^L%k$VM83S!T|fi0Fo~Z=v3|fu)-J_d|^Om6JgqPA`J3G7?=vf#}%gc!xIKK c>ZE@B0gf{A=}A_(egFUf07*qoM6N<$f*y{TcK`qY delta 368 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 KMNUMnLSTYTv%@(6 diff --git a/graphics/pokemon/avalugg/back.png b/graphics/pokemon/avalugg/back.png index 6f1f55f7380434e158b250d9ab5893521c53085c..787bc2d60570bc5d56da2601d16ddb4157de80c4 100644 GIT binary patch delta 502 zcmVFT7eS-{qaQyU_iL&Qh#F`U;rkFQ{C2s8bY5C zZ(Yk8yzjshAVw{F%JdMUDQRp3ycpoz;oZL$Abb97d=uU6E=&_(2tbTy6wQC%xCX!s zfg4C>IGg_&GytAt9TNP3Kj+sPj{%AU5WFH4-CoB{KzweDiSZfLY$|zGN2`tvD*1Pi zZWKxB>VPr)5`XZC-5_0{l!F?;2mZ$X1}TxL-HfD0|St(w55|0@;BIJw#3F7@#VEI~%ziSga2K1@8uk zAx>6y@pu4K0iswQ1NRS4cDV;Cy)@tqy?eBFnN&cfi*Fz|$eP&loJ+s__R9^hfyfPT zlw~kb{yn_myFmeP6Kb0QwEzi40_Im(9RV^Z6F6g{Ueh`t0+4$kG;4nkBtc=o8D#=z sY}dWC0#2v0X24zg>z-c$U-fC~4QEWi&w{p_A^-pY07*qoM6N<$g2DIWxBvhE delta 523 zcmV+m0`&dh1oQ-ubbkN`bV*G`2j>O{0Ui_@Tg?^#00GxYL_t(Y$L*CpZreZ*g$0;^ zD;BeHtAZ=HETmb0)fVO~6r|889N1MV3zjdD+Rzmi(gkFzQs<-)vMd71x=V(CvP_Yz z9l+DRkMGS7DfN1v^`Df#@7BFUck4vDTkqqfQ@}k<_T% zF<`R(L4>IED79?CL;Cw|O$Rp40lNv`&rs?@hJ^IGvUWl501rw7=|UuJx!f_39jMSl z)TB-UssgyPk;{R_`Up_)W`G#tWMvmGM?e)Iisdoz^nd)zE)PJZmj;}n_b=8ilM1MG z5#$D06FZ)B>6hPrxdAp1xdD!{3>ikSdZzQP3_;5-R^s*~R56ioag$zD@o^>y%9N@=@V}#fT7Od0)Jpy8)M*^cla^^r>ApWOoUn=AQm>$ikirjUe* zb56oUKaw!fk4T*`E)ypDk%XB_IJpyM@?#?m%)$(ACrs`~5XLuZ0e%)ns`cN3Fu5OW h5+?T}2=fC!z5&l~O{0UjHQuxe{(7HBS_%v-2F`)e99qg~kb zH5++#84I8N1zG0D;vcWy0<%sbfl+%f(MJLkeeA%v3{3Qqz>JHJ9hlk20~lDq3~mP| y_YuJOMh%;f8H`lhw*@e{4>p6zeFQK+@bL}LZ{%6$!v($o00001sx5Cu@*KzGOil42SM_H1d=%z#-HE+T=! zhe@-60pDTMBuy~uB3dv}#6YzR}p5w11sH@$XWwm7Cd3fiiE_ zT7JPA?&rW6?a-i%GN&Qy7=Z^x$E47u;Us?vqWJ5j zx_uSA+g5|CcnQ>4F`84_Ge|`hW4#IZM9+XJQ1l2;)^JEcUlPCp4ZE21P)a3TonCvG zMiOnOSHim#Y~^J3W1!5NwU%G7hWjb-Mtd|h0D%ePjw=o>7?S614-kKd*wTE6 zI!hplMT%owQ2IO4zKw$hM#l5iw<%CE(&uYHy?h(nrw6!;Eyv&s@pv;d&2pzIXni|0 z)#j4BE~v_7e<5_me_6i;CSA!2M(1Fnj}=Vxk%93WFww^fW@_PcFzO=%Q(R^+t diff --git a/graphics/pokemon/axew/anim_front.png b/graphics/pokemon/axew/anim_front.png index 8c2e76040eba346fca8b849afefb7520446ccd13..43d4825ee8dff330cd9dc90db7affe130397711e 100644 GIT binary patch delta 629 zcmV-*0*d|V1>OaabbkU=NklBjE6vuTC(=mOOqIAfY2=W&YoZZDX6<87- zT4C@#jmA*vMz8glwVS_1)E#d>p&RK^l~jIOVM0(z+G z!}V9Pg9gOgFIT=GCOiSK-k=S@2t;yW-o?o{(F9I-wKW2hI>q@A=k@K#3^2IIcUXL^ z>zm=DIRs=_e1CeV@29vRVxGq763(I_qPfLxS$!XUn?*$}m;0&c{0T~7%+7$b7=@bfkvnhoTnZsuhU5PPbT=_n@k4dUk?{<(TzMmu0If%syZ zmpY31uvjBr48(l-_x8onKm>97pEgGWA@$(s4|zfO#fv{=#CqosUA5LPR8j*ZBh@|b P00000NkvXXu0mjfxHTT; delta 640 zcmV-`0)PG91?dHlbbkN`bV*G`2j>O{0UjVb?>VCY00K-&L_t(o!|j$aYui8+$8`|V zF@3cncgU9r@)r=C-NiN*SP~stVembT#!%@-ug#dXTfRlsLQNN~8I>s+8@$*a-BX)p zy7yd4OBX%xbU)tv-&xZA9H*`SSFet&i{69>Ivx**K=%0t7k@k;f+IjD@Hjv~(BlBn zxiAsrgkBE0R^~d>g~;^E(fUBAFq7nFaTU$BL`pvDml0B;$)OG1de63wgTfi z#rXi|_1$nyJbx+=_y&u2b$vV7*h4^u#rwzlVTubP=4qTR;Vc>;+FNXw)tBMtS%egj zBv4iBLN(`M9e`LwRiY6WsH`nAt+&um%VLL^*+XQm)J5DJSb8A#k!r0=#5~pZoV$eq z%mhsWsCA*y{8q$>T<;6hq&QGdeyUdolY@Ns+%i8n?tgwozTNI3-#9ODMSrB?_y=|5 zGuKdUwbj;NEdfV>4jj{qf9)T?B`9*jN8o|RU^qZ{Jr)oh2qmvDJ&?S@NFV5J3Zpn7 zqDKOrQ5<6^GfrVbmEvr|D2yLLiVP4ML-9zUQ5a(=9;+~op(yIMNq!khwV{E=P%=U= z8UT$d-g#37^3!2(RNoJ`3=r3KJtgd5gecYHx4U>?H;|KhH!pL5*fWhLRtvgC{P5N9 zn*Ymc2Li?rpRe<>iDEx2u~W|mV!!;|eeq-cNvgQrQUfF~o8o8y0000!@ zjwCQ(H_!L3D(3Eb437Gevb?YF-Ft2E{$Q{zdB3~61$4H6xYPbMaQE=Tj=KbbqZ23S zx_c zpZCokL7n%g0D;!^tp!YboIwd5Z|=-70;qE;06^f$2Br=80@qJ}6Z4b>)`qf2Ykp+` z>$5ClstHbUX#yYfS@vAcac==Cj{+d2K@6~yJxeJMvaAUy=lwksFe!wPj7q#OUbz9- zp`eg-igb~`82?9XpnzD>An&;;{4y^lw2aw#p6A*who4})qHUqjKCz%kR6a>&d?e-4 z*FQm@UPZirJjUBvN1hp@@;N05{R%9hg90{@i1C{af+Cg02H-F{m=%x~KR~LVaroV! zAh3=q^HgZUwIi%?%^QJ>&<~(C_?=&R|DlEFeE=Dv?U3G~NlO3#002ovPDHLkV1i(0 B<=OxM delta 502 zcmV9wOD@SdRbz0l-N_K~zY`?bN?Y!$24S z@H%8p4_k{O_zb1GD@peha&-}l%VjJbl5Y$SLcz&F&~(()>@^&}XHP-kfB4i2JbMiVx>kTS z{J;*5{k|1=zVCAzP=^P0;PtxAEuc;~A;m+QrA83w<8{Vr)71ONnPCNOEk7nsh*dY1*}hO)-~!;Jx~FS3lOA~?mh z4jhbU*}RZ0WAg~T<s5YQB_#Iz1{*QJ(02!j~kep2S7ytkO07*qoM6N<$f`8`ZZvX%Q diff --git a/graphics/pokemon/axew/icon.png b/graphics/pokemon/axew/icon.png index 342562045b94d751af11caf149df957f21f5cf0f..263c9cddf25db539ca995baa991e501159df46f8 100644 GIT binary patch delta 206 zcmV;<05Si@0;U3xV1KbmL_t(IjpdRt4gw(%MY#c)gxbmz=m8ALZVSy)x^}i6))N@P z64xxWj>H(5p|#pL9WS4mKk$WET*($ZrbeI}kbnc!7Y3wWaYX_(P#^)Evkdg04&yzx{}x}>gs5Z3^K z;*V@~07*qo IM6N<$f=K;eoB#j- delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Ujkwh0QDg z005~;L_t(I%jJ@>4#FT1hIs>W3A2+=pbuc0v@5s3XuG-kus(qi91&Ak#csX3*`@I| zzTCkNd`fMuv;^-g8ae?AaL~GY<^wz4QNTC~G=TTWzyM|<>t|}t2OwaM9&doOV*%!p z*KOL%KbVry3`kG({KL!F?JnjaGsU$S%`LFCWAUpql!l+O{xS3R5!^<}=dY oZ7F$6qbz>J@Zx?X%)j#E3rE>wOQ!=^=>Px#07*qoM6N<$g3_;I-2eap diff --git a/graphics/pokemon/azelf/anim_front.png b/graphics/pokemon/azelf/anim_front.png index de1f8ba730c018aeab60113808b31d4c7f8fe841..36dc5a99242087ee0aa5d564b814e2c0c6e2a927 100644 GIT binary patch delta 1058 zcmV+-1l{|J3GxV#Uw;GrNkl*N-Vhpxrh{m1XhYIaZa-IHmgM;)je6)P`E%Sg{wVT_b*&=)ts#1 z&8`m&e(x+KB$~YDPWwLle$33y_XWWV`=6}VXf)=!TgI4Ja(}<{@q+QT90~r7d!{l0 z_-yNor1XaZu(9=dvgd&&57aikyy1Z`yv_$$*t~bUOmRg3KHU5|NtPR86SdbL-AI;S zOB+%X>S>agH;*13HqA{Q_>O|_9zDdO#fNxxmm2tC4ZQOp?GO8=#e}G3 zp>Hw8eu}M-sehsd3#Mtz`v@+5y2#|Xx_|vKML_5U@jeF>&BoowK)2@8`VgA))5n}6F;47r0`$N*zao0SI+g{6XV z5Yd7M!E_*`n7ycl5O$VZ&B;*#LW*Fv1Z(Ve`4ANmVT0^;h%2gnN3v z%1it&?7y%}=7K=2l3FazLGE}#O7j<+XVdh)z(J>&D5xyx0#+Io+GCl6>+Tls(iRA`m}5c}rVy1Dif11vTnw}`)( z&2@8?2YQjF5N6Z#n!w~JCjtv8n*BRhmY%bXmg4R2M=f8(s<`CyCOMpQjR!%OR5x=@ zjDO-tbPE!96rwl)hXWcQ4p}|Y7W*Sj)5oNPY>p}7aTKf}sTE&?8hV8wpdSU!aaEM> zbr9j0is=h=>JH6GZE#NNL}wH4rjDk(b}JjHc2uJLeBf{Tvq4Yuz+Z9s0ph#_On+v8 z_Ibc>?8(XBftUZ3LhYvQZ0!E2Tnf(GcYij=c9vfhu6C*Fnhs8P&;dqVRh!O~m-c8n zumx;iRJL+xrISltsy68_qtBhuB&HGvWjKI~UqGEEy;DfXWkr?&=<~_5syYP|PNB6w z+ffCKW9E2S8V!o5>YCdRP0h_dFvS4{WtjT`7F2pP$6tq@6-T5pZ5+)9$n3lf-Wx6( c5&o_H0qi{rs+Om)1^@s607*qoM6N<$f;lh(djJ3c delta 1082 zcmV-A1jYOE2#N`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT=@rHiZp z000B+NklziS*<5Xbl6xd|Mbvr;7fQRvPgSR{q^*@Ybi*48#Taa@8DDQQzE zsRPb|x)>D(hd?4+Y#I4LFzaQFbJY!En-o`sphDFi;{Js#u7BD?yv*B^jS|hQaOK9Y zIk@@k{CYpW<2Y~E8(OtSqfu#YX{`gveCf*tZP&6d*f$>N`4WI{w!RBXyC(n}Ti=Ge z7HIN7ZR7i!7Vx|qyn}_!2Y1R4mj&SS%^$;Xxgi!&`{2pVaQXeHAr+xsgrUARdVJ8- zw|L+ea=tTqjDJ~+ck$j174Rzo<2}u0d3}Wn`1nyY91nGiaZ!ssTVjO62wNVLMGY2o zQ|nI=O!Q)riE(A`##8cu(07784#=8~`%lRpQ}`fYa!`%H2{MQ$Q(-F|dyG^7023oJ z?g?aZgotU*+Y3l$XvT=+0cST6#`y_-9*hTE3>WbraDNm9@D-m!C#5_s&=*oHzf)rz z#@$@JIBwCVLW@Ks3Ycaw9D_&{Nihi^F^~umAa`lA631XJ0gg`%cbr)&gveiYB^Ppd zS#w2Hz!pfBM}vTp<}`Jvg*L0Wo_& zyRdBwtS5CgLg~98z|F}S3uMrD=Pjxi0^mE-(~j`K^a8~S-ir2{p9>tdN@}rKf!wo# z6z(>@mH_J@48tcsNyL4v?-20&4_jXdK+6m5+JBG$)hvPCkG8&&fCUTa+r9O7g)-)| zf!A9X?)7T;+tp`8e5mMIee8vFE(@Ow|Lw$Q)U;l#v7MqY1h=1zMb$x{g`o2pp^rr4Nfr(L01O-H> z_kZqPUOE(?X|V63D?h|4yWo109GWV7msB@4M)YDxbTblnG?ITXn9=}o!0M4(;Bey7 z^fB!q8)Jreyj3%v763SBd6$GQ2xaw#}1 z-xLY9wM$iZ>ELwJ4lv@X+H|I@wEMHP$e?##*~+1nPA*lc+N8gXK6fV5fKp6L zcL0ZsbSC);M0uG}!2oo9l6an-f+?rau07lS9LNLacoj4nWd6C%o^jBFmlsUstTQ?T zR9?W0Qm-1b>d-IxmAVo5)qpL-zW}&sM0nlxFYG-Es=CQsp8x;=07*qoM6N<$f*0uj Ab^rhX diff --git a/graphics/pokemon/azelf/back.png b/graphics/pokemon/azelf/back.png index e52f6cd81bdfe480b7436f0418844849585d0cc0..bc9c23cf73dceb6e749fc596773f23637192de41 100644 GIT binary patch delta 526 zcmV+p0`dLo1os4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nkZAK~zY` z-IB3x!Y~kqJ$R=@ow~&^b*ZZG02cC;2;~{6GF^nSbc%<*M5juquRsw~D&*eTNpT$~ z?A&6J|Kq#!CF~~a{%$(w>B}@xEUpl1F-`EJKw>pcaDkPk591>cut-xmK7v!Mrhy5C z111z5Fs|qTF$T~YI>j=74v4-+hPVKW7kLFpuK*&xZXbvafwwfq-DI(f3ZBmZJ7b9m zz}F%JDo4mjzN{Kc9HT%Xk_T;bsAB*>CXadJ3|5hZg5(kM3Oq&dWv-t9Hoc*q4|}Zf zdD$D_TO?u`0X{E)m=6K5$<70Sv&;uW z^qxIV00bmMU}jEGD=ai@2f&vxE#0#|Fs3#H{F`CFr`~ykdLnqS6-!TG&UUs^Ybcz9 zDruM$6|+$t^pKAP!e1HYHY$5YI4DuP21gMArb9}QcNS;OW8z{zp0XNA=Loops QssI2007*qoM6N<$f*3L7c>n+a delta 515 zcmV+e0{s2=1nLBkB#}W-e*gz`Nliru=LQD>9xB^9(7gZv0nJH7K~zY`-IB3xgD?<= z8N8>BGG)Wb)TOH60j$UqDB>AYF&&CnI^m%&(J4~YS4g8wRFQjUL+ctt_S}Nt|McDY za1`BRJw8n5EP0tGiq#Eb!>0*$=18RD1mjpqvKSwMfK`%+@e!;df1L&<6c(6JbilZx z1Nay~Yv>f~@ikaQdIMO!h#Nq11K{CxyFfZ}O0DflR%uZ1dr~;drFpd4qZ)Sh3@4N1(4}wo)l5tb<7@oYv-OTIWhN zWeXJ%Zqd+MpCYLc5E&@t5lq4!ACx1&Dty%b=}%p*-tmQ=d0rEFikQh&iNeZ)Ugail z-Uuf``&Y6uKn3KM#jptjBWN07$Nu)4;D5#(&)cm>s>)T&F8x*NfhfN?o1W3CTD$Gv zo?d>b@fx{6LWegHSgNJFWVZ(RTY002ovPDHLk FV1n|x?GFF| diff --git a/graphics/pokemon/azumarill/anim_front.png b/graphics/pokemon/azumarill/anim_front.png index 5df131afd6f4a6b56f23c3736daa1c3abc57eba1..eaeaf0c8e72597d9d6a4f8c47a797de0a4131278 100644 GIT binary patch delta 1050 zcmV+#1m*jQ3I7O?bbkZ&NklTLiUi=IE69nIznLF=hXZA`FeAONAv+uo~ znVs)9N&ZHVbPbS+!5TpJ160bg9}wvppnN8)P=c{RA3zwi9)DP%$-4l_B*d2aDVl7n z1DL$DrL*RF7f2y1bXwr=Is_0l)VgWn0ETKBjy=>t1RxvDJ^*y{=y?$VUKn6w`nn1N zNjkxdI-KrD0J3=iwbk^9_X3ZnN8u4n560-7>6<8k3qItNSO>Quf=3Iu4cUqoC{C8P zEL7k+07V`Jh<_Xca4&PmA_RVrFu)j- zdHYV5U$P*8)nyJ9i(Pqnj*nxD<5A~= z&=r+!YwAOA-X#(P;NwzmbDo!sbpU8#<~SE44!h=GRDV>;`D<`)R^0DWJ7D|{M!?td zSF3g{jydO*&V}wwdDUKw+jGGYNOUKk(Aibn{+#{bzkaxdB;JcWoz3IB&1aHD06Shf z_6DVk0=9qJS&MlIZ6+kJTF0x~O6LWrPH08>-BbS~)FxkHR##dp?g5Mgp?3!fg(g6l z1^E+%aeqG08n@cCNR$U;_M|D;YB!SNE6b^5fjs4lLrqtg8|Jc;cK6YXz&`ztl_2bP zKak1MI$(`2$jUr&L%N_MBKr%V42kw~>^A%TCF*OfOON*#0Q{0wtv{>556JbAI{o7j*j*bihDHx-ooXJ}j@bhNM%k%M>7#VQ0Z-)N-zZ|~-O{0Uj@_P$V({00ZnvL_t(o!|j(biySu;$7etv zU^O!-Vrru2RvNAslsQNt!T!atdAl1*W8##1IY8OD+>kq76DmCfm9a={E#KzC=n9 z1yqp@RGH$$y^lo{;MwPE{rJ;wVSsb4%le(3{hkK_impqHpfB{IzSjFP2>AM*U?9~6 z7)~mh#pMntx;2272m13BEvFP`)7}FC71MR?;^PpaPk$s1pygWc3sKHE?*W*?)p4b! z0&lJRP%*9BZ3y8`yqjg&0E>560&S~%TFWNInGm9aQbDiE+xmJ@UnxOA0?^;a=C-c? z+I$gzf06BzuuB|n+Huo<1Uv%x^0GyzP<9sp+E=M_7HtS{6{dJvXEF(dxB&(UtC;xy zqWckon}4rp7AgQEIsg|)z`-P8m;?!TAlnb25EB5pYL_B09U%9eX7H+;l8o3nPNOC9 zOx!g!+dXcqt7$(~4NF$wp8g*l-TH1!^`~RNh%d-z<$S~!ywKIKF9?bD_BgOd!y%U6 z*pVDR#Z54o3&vh&YgDzhJdu z;KOa)T$PNOhiHISFJd8_+cN_p+=X3|VueGb>KQHuXAoS2^nls>CWQmia?%5ysiw-a z%71-@yldCA2p zT+1CbK?6eB@1J}3fYPnZwwk1kd${oSf|Ru&_1p!>pg4zt=70mLg88R4(10lIodb!# zTMBXuKn0k(2&CR5{?wgdU`GMmYP1+m{C{O%O}sfEKsVK~o_oOflwx1}_$L9-1Ke_Q zv`Ujw7%Q`0000&tmu(C98%{b3STvXeIo~xBIj* z+260?J+0@WN&}@3yJtZE4ERX5AVm91Am0U`A)Cm{HUO%pn`_-e2I9cJL)4)n6YA^wi1P1saz+VCKA`KLOr6>{rlV)^%6p&{- z+Bks2@0Kum@g_IGI_+UPi&#T|$dmYlS~b-@qFB+spXH z11F8rN#CycJ&~w~48zex;`0Jnce&^o@q&@Kb^w+@z3w;1jDYRIt!X_d_s<;XkODpG z`xY3Wb|KM6>wYsrYfP^7j2>412CxBRdBv?S6$~MJrgZ|y@XSUljGCx`4(9WurM}CN dHu%StWuM~k%`o?m7=i!*002ovPDHLkV1jJ<-4*}< delta 476 zcmV<20VDp<1j7W7B#}W-e*gz`Nliru=LQD>9x+j08BqWL0j5brK~zY`wUn`vgCG!w zb%qCs@rsn^hQcPriG?L&XniSSo0rR^u;E>9K`>5SNbcs2!p!i0{<}X*%(6dU#b;X2 zMU@6hA$G3-`3m?-w;)9OOCa9`pdp*c%QgU7(#^HLM*)(qJ$j%ae}PhT+yeld0=oIV z5)CLI$M-w{G|>26bRvOL2cU@n5K3qgU=X$~NyK!3+dsSlSPI~AAnV@(tYCqP03J>B z^e6%V5CMD>AjCcbIE%e-K&2uUm9WNO03?APehBb)fV@ZpMJb8|z?2=Gi~{QHMjHok_}vmF zFFw=;Sf@RVXVH?x9G2B~P~2`@C%1pqd~Lu+cbCwjHb&z^n;SSoe|s6fc;IAEI+@!Q zzb6XykfA@?NPJoV=dKnVBVI5PH#2}GP_O0Ym=SP2%xm2KQZt7sq(G1Qz6E-y=aA@Q zjNHr`lN&Rkhtr<`)?+NM%2X~m;yq8m^lD5p9U@@kVHfTIRD7~4eWpfc7N9hobNyLl^w|T*J9lV z@VzLD1r4y^)4YTQ>=F{#Kw~pvlgwEHE&vIqfM>YE)dm780vjP9HV_M!H&#(g@O2Z&Gw? zsBAdp$|BFqK$@%lP2Wq6L0-j~CSXsY3x8*CVyweZ>w1TREcf>f;;p*iE_yZ|Xm6tF%39Hc0vMB_@u zc;5p&5q|(Le*&$XS8D`Bk0@PDzW<5W5R;eh^3`s)oS^Jbm*;Y^zxfUGf_xxsAbWd& zZ?`>wG!k%p1Xx1MGgD@Bo-W6dIjkyMmW4mvB~Bq$i!B+keolcQinlZ$2wS(kA0 zh|3RGvS%Y!B0@<)KNHo@-7TS4r+(7^J$pr=JJ?3uvPMeen2xcu4yT&^FvI-K&Hu00000NkvXX Hu0mjf0aJ%D delta 854 zcmV-c1F8Iv2dD>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT>8xIDaM z0009ENklJ&)5s5QaA=SweE-k3>RLWE0aTV@`>v&M`=Ij>AaDxdf8_DDDRY zB#SmB9TL)sDiXNbKgX=sxfAh@Q-aXV=_r`zcD?V+&bvZ9#D9MoJ)izL^PjT$5IiA* zc*p@Ez(n)_rXCMmXdsT59pL=E^j5G27Fb^saK8B{GdqxOu5sA~$PJd;IS+{7!>oik ztYa2fK^@bG6KVmp0K}35p3n+cD+st9#DD-?!2}s4d!I?l0sSTn;C#~`2xSAPHgG#v zJDC00Cc2!eYJUS;NI?Vo6iQ(mFe;S#m{^E5;5RxYQX*xsUCcLiK9*8Odm*ZQ3&_XR zQhliby<^d8s7Q{}aH0V%rK{A@8bL&<8fa>v)SsF=GM6%l0~sCuACHQXN4Xrz{4QS| zAH-P>5G5{6DO_wTG13x9X)cb_F8Wy+C-QIzAzH^2kAKT;nlv)FdyCctK$;qWWOCYC zms)DGN98J~rFC*B1pz4B>i8>rw)sL#n65tYgkOi1;w=|Bdkd6L|oy)3ZQ(4!Ksq0`JIkM8HnU@SG;Sr-vESRQ*>s z)G#z_;eRFL2hXr9LA%zJ@tomewgqiU9I)I0?6fH*8SfZxJAg+B@ccXQ&Uv*Y06R?S zYV`HjWC;`Y@?E}IuNNb-9q#g6&NnwdVYX!-2rEcm@8HXA2cUxmdY%Dh+o`lxGn^Pl z(VmmpA0PwmD4`y7R-hM?VWgu;$_|;F3?mv{)PGaRx`dNQQvXO}dp07&h%ANj0{85o z%j-XP6+7sf)p_C&YTuoAPXSnPx7W8@;vr9G^y`Vs=WC);%wx@jr+wS@jeTRAwX>?i zVyv@IX#-T&see|Mu_3&wu$8la4>(qpLb}?9$efIM4AQkr>W1Qh+F7H0VSUry1InhP zu}@~Gx5z3RkR*%7{h6K}Ql+k514$sG@XFjJ;h=~AYKPMutOn);H2Tqj=|?6*hK%qqa_n=*lC&s{aGXtFaZL5oS0AKfNM~{v9lnd0tq&%hIJ4W1M*?N0PZjO98Wo38GY4OmLv~LrzJ5)WVre)OWAgTLv4$7+^K|bZCa-RI*3*-5 z^gWnD|KNaKWq`?~t|V_HIUS#f7jGl=%xN-O5dD-gx?hY?`gja{s`&LGw9+s3kC8Dz zYT(Bm0b0pW(>h=;{JsJMD2r9*?6hHdOY#@5PF$k{1G2voS@sQ}6rD{1yN?wB0000< KMNUMnLSTa0l+o+} delta 459 zcmV;+0W|)-1hNE>B#}W-e*gz`Nliru=LQD>9ywoxkz)V=0hLKaK~zY`?UcW6gD?=r zoxu}J5{U=kFjJ=X(xprdojSQxH}xe6Q72xm{sX~h43)Z7>J4CYKl{G>Y%Iio{4#cj zAM!WcCXS%6+X8w3e6fRJNOC&>Xlk2BtW$(EfI9C*W;m=@0D#U`e*#3k4U{Rh4j6{P zz7#&CfkTP4Td1iLBHH2z@ah3b0=7Dw)&Z|_1L!^AU#v|UOZd4Og{vvSt+|#ejO)FM#YA0Pq}$FbXKr$N)+LZ~DGIk$0+PK&hwc zu0;b8%Y)MMbU%P7e{^7>TcS+?lZOeS&>|){P|ZyWw$}?ltN{7!Gdpjwgb-j$U$l0rcKy^_C^V3&TrzQ_Y0C*;AE*EEb?w+T61vz?k!?Wq0tfTKi7ewQJ z?n(=cCbb34Mv~X@iFlc9q>edFRtsWq7^3^d3Z;+7@I3MBK|>m)U+l!F7$DvA?T!GW zq_1cluzp{G0VHCTS?WZF!GF9;uiZbeenI`!_y(X9olRKlOa=e|002ovPDHLkV1m^* B%)9^q diff --git a/graphics/pokemon/azurill/icon.png b/graphics/pokemon/azurill/icon.png index d0ba71ee8f1d94386ad5f2aaee38515d4e2511a0..d015c2868b65c4ef73d64cf4bf1ef5c53117a3ef 100644 GIT binary patch delta 150 zcmV;H0BQfZ0+a%fU>BcBL_t(Ijop&L2?9Y3Mbkm*5iCeMnUS9s8xJ1V-1101{NxjD ztgP#K5DrWaqD4G7+ADj&kK5H;yQB67Q}7DY%`G z2QNXasXGz(C);rS(f7$}3%_O6J`U;IID9~e!>{x41|GqmkUHnytpET307*qoM6N<$ Ef??!9hyVZp delta 225 zcmV<703QF80=WW^V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0UrPvnkXs& z005jxL_t(I%iWT}2?9Y3MW=(*BUq4jl7$5uumlSkV%&>uC@QOb?<(JUH4bdqC%W58w%0PhMlj4q@YV(OL)q?5hK9Tu7yLMn^nQ zZ3Q%!0wFJA)sk18SQj^rC^Cz8*8mP~C*(oGJ(Rl>k)_SlhQ6Pyw(wh0?c>1T#^D3x bm-%=D9>JfGq59}y00000NkvXXu0mjfM@7-~|c8f#T z#*0Pg2Lwvp^d<8-FVlO(#g@4~?b^nN}qUtw&HbCa3 z4zL+xf~cbEclxZ0c@jA6vcU_?3u=#BT{abB+HO%m%RZWlh7*#2(GbsjUFVfe0X0j6 z57@)yiUJ~OMZLqvuUAyF7a*k!oizp20CFVc>9H0_WY)e-02{SM$CYV|SYm?tnF9Oi#`}Mt{;4yqw_tP8^RSnb_34p2cU}P-mrp$|tTil5%uF06369HDgBSod7~C zmdtx8Y&~3qs=R};3!Ay^;k0uM}H=q^C+W$TIgW?=6FudB7y{S z=DbG$JeaA+aZJvl!gp(rWkSE}R7@^G4~#ArdcYhKe~f+X}F^n!u@pcjn7A2fpT-5ejxy+8b;@eT2+RN6K+0T2KH002ov JPDHLkV1iU#K4Jg> delta 703 zcmV;w0zm!t1(F7kUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@f_moKn z0007YNklL5tHs6o9*d&~sb2XPdT(q#$T2-n-*^%@&8QjTei~4=9wn=}i!_ zvh1NCORs?tncf1+Lf%dAwm-x@?b(yQw0g^X9z;>-K$64zn16ZmX2|<0mEHIQW3PUf zjT>!mz!GiG>kpW?)$lwad^&*#MZ9K_Ktp+bQS%O|EcU#HCkDv8<^Wp=p?nHx_eBTe zByi9XgI5?=)Eaj>VxrWf)ue!?eK=8dXG#J_UA^pfoHsTFR4p}qBp#nGDInBV*gbgq zc1aa`0b1*+vwxz1DnO2eJ~?86Sf{Oh0$3MIv|XJvi7CbykDoo!F;xgt>*Vbkv z%Lys(MbR+Su}z)Vi|9-m#a=0(@>v!OX+5OxwhJ11}ip54>P( l{ecmTAO2wO{NX46QlUXA~=IJs5z%)78&qol`;+0MkexGynhq delta 115 zcmbQrw1;Uzf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?C0u_Tgu*JWy!9r;B5V z#p#LZC6>Peou9a~XGt*5{mp1ABI(8>;l=rkHLB@nIh*dmKbDns0ZaKAT63z;{9S6> Q3DnBq>FVdQ&MBb@0HS^*+yDRo diff --git a/graphics/pokemon/baltoy/anim_front.png b/graphics/pokemon/baltoy/anim_front.png index dcd532457e49c179433f6bf4dd22eea4bb4869ff..0227496d03ddcd54da8a6cb4e7dcf04aaa062e0f 100644 GIT binary patch delta 635 zcmV->0)+kX1`|W%0P~{2fpxW= z@2f+BuHoPO+*kZ&=OMLl;NzjU zyDK(QE?|02IDg6qw}kmN4knP?J)8o*@+nalqJ*jX9NwJ*O!=)NP*C+HJY9sry{gm} zpxkZRgh6t90+5+5-y6LLRcO*MMO~g=S;jJ}CrlgbO>`BsLtxf?ARQ^)np`3$Mmp}% z=psi>#P5*=J92E~%M`X(&_x$r^lxPQZ94C4z-`|Q41eBR))=JbgyDb%$W?Ri7<`#3 zz{7Kn>IsuH!s9_}SbVAT1DY_Ns@-RuAF!ZvRaJ+z5qRcR;TzU)eBcGs08$GtgmhQ~ zZZkk10j^mpVvfA9J(ta{yCUZj1H{A*j0{HFjI0H)%@3eM8Ui-_7oW(0J6 zScVTcp~D(W3;+o<(8qxm<!H=3i6viD6-K$V>dxTlQ?y*btE<2K5S9r$b!s_&_X{CE?QzKqC zX(In^XRu8ZYmelu_Q-oX1holE?$!PmHINE{J?irTU|tkBu&%cAeRU|%8vgB%eZ_Bg z9-@T-9}X3V>0pfl)9U4Z2+=BU2ADnFe@%w)unG{lU91k=L~pIN^Jqk-KNWINbXKmoN4*q z=rbsxS;H2!JpHnaWma#PHtNl^3Od7J*4z+FO1CDLNPowessN7@1z?g!xIO3$iqExw zKpn<&wfm&~17>uts_L*NffrsCK2gK)ffu$05G}kA(m@Tl&4Bp?aBZg|=Ew)zbM4u6 zPvl%;fPWaf7FQD*8~=t7nUue$Qsem6t5u*ggB{mr_?9Nj02XL~dcjR@ z(m*fH?1cIPu((SD$_=#uO0B0BfVvOIp7YBv_!m3z6T%Lld|`H$8vpMV@ zj7|RIn=zXL=Bpn9blpqbxVG0O+4)X*+#DYTJpPBvNpVUE1w?v>{m*N>Few;{kI_x_)>G zTDZRX6o+Gi4;M)I#`Y$0X%a$hlHKS7?90?3wwAW}o=1Rdl;Fe-V08`j(SV~Nx+4#Ub-k1_sD(1qeGlp6!AZQIkpXA$7f1|eT{`kC^e$`g?Q0000< KMNUMnLSTXrcGJrM delta 453 zcmV;$0XqJ@1gr#*B#}W-e*gz`Nliru=LQD>9}A91@uC0#0gp*UK~zY`?UX@ogD?<9 zaZZ2{Nwydf&e5PTT?b{_E(@~Aww0>7H)xJs+t|S+PLSFx^A{}Q=kM{KaiZw1ziBZC zEVF+CWYf$5FasoWKnnb75u}&_S^%D3A<6^*nx~6IiKzzg60tz+e-uz6Ubx8yp%wrF z5Q7#AuC~{rS6}Rcz#g3VbFf4h_3{<~3Lp5M0loqN5gs7lLyf*I5C=PbQq4j@GFI8O zp`cc|BRauC0EKP{vn#5=33=Y8Q0GdefNgxf%yCa$nH4>&Pb~v%6Sp2uUlR_UX2yfj z{`cIf^+rE<04GcC9lZdx8CTl6>ha)QQv4OT$q!e%%Ju)9KWmCOd zL3M73#sh}dtaZ`{MeU5~$sz$8>{|c)sLDW^`W6IiXB;4pvB|?(kizEXjyN1+)i}?> z1v?a}K201EeaL?D0EcS|;5*ZMrPm2ygW}8$U^Sf>DL=uSJ7D9f!eh(q?bYm_4PBy# vAsbsX{hJ`Gj#1xk3edjqTfawHbeGi+b^4j|MQ|y000000NkvXXu0mjf{T9eT diff --git a/graphics/pokemon/baltoy/icon.png b/graphics/pokemon/baltoy/icon.png index 95d879f806d080293c0a7768d812a8f6faa829f5..2c0747b630dba65f4f730b1dfa3373ce19b576e7 100644 GIT binary patch delta 190 zcmV;v073t~0+s@hV1J=WL_t(IjqQ@L3c^4PhVKosS@7+;oN$BPE~C%V#e)oer!Ec- zwJtg6VA{n+a07*qoM6N<$fO{0Ur+jA_Xk~ z005v#L_t(I%k7e}3IZ_)cy2ZiatV;?vn7hrSf;b8q zy5!?;@)Lf5Z?Dqycx-?qFTqOc`;hilGE)j|lFKx03{ce2_0|VQ)oOiUUbm8!NaX6k<8)Bx9mgBEAt0pzxV{2EQ~$uc56oR( f^HJLyeHxerxiNyPk6lW<00000NkvXXu0mjf`gCGI diff --git a/graphics/pokemon/banette/anim_front.png b/graphics/pokemon/banette/anim_front.png index ae19dcc64794380f9071a13a8923760d74761fd7..8a7618396c5814af8cc4c18b99498eaa98fcbfb6 100644 GIT binary patch delta 939 zcmV;c162Hy2>b_-Uw;FKNklin)5XaA&xhgXmPPVF0$ciwY>&?YOdPQBge!CCn4Kk*R)jWVz=xNMQ_jYpUP zDlO%BJkIRf?Z~QupL2D!YRB{RZl2s;B-f*W#0c=NLL8rF0AwJ9N z04NJ~r)2laDU?9viplxnDg-<8-McHN&;&J0KzcWuieiKafp`g=rRfX?TL@v8mTUz8 z2=@FYO@HS^F&YTj3IM_kk5aHH(JaJ86HHh~$)y$|2c(%hr<3o=SO+L`GJsBQCfB+j zr{UmAm}D@SoL2yHMGU+e2IIjRz=nDIHW7qYUbqxjB;Isg)`dg7GaHmJgEDRx3iBeV= z@bFuKlqil}1)zTLO;SGH$N&rF0|1c|lmILNV}X3Yw>?@3h_K0Wg(sJ72jl~$h?WtA1i}Sy z`XhV%3om4|8D#oF0++ge5H!g2L!UvgBuQsKzYxu^RLcroEBQ6MsPF>-;w!X5F`i5& zRe;nF5XBy>2Q1Qre?C3`S_w$~5OM$lQY3vDQaR2|w=oW8(?xoJ?GM5Fj)JvqY{LKm N002ovPDHLkV1ffos4D;f delta 961 zcmV;y13vux2a*VoUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@t1T8pD z000AZNklzjD(+5XR4%xhgXmPPVF0*orli7R#iUbLvk*SK&;GfFFR07CPu@ zcmZap;(|&;@&FOT129h9q)I|6N?YunWLtluf{x@$-Ou0N?tiUsKSKV))#^3??FOJ_ zj~WDqZiB#(i+=)kZO&cU064a+%|x>S;0N||ziO8~A$khD2+XSUIc%T++d3ZcZUtbs zhc;w!z$UL;UapsR@N8nMwU2;PlF<167?DYBh#iV@(Xg&0r6WPQJ#8ZFr8 zJl|Taqh)-zoZVi`uBUBxKo{x_?~^37^1-FpBEfynHU5lB@_)D<*MqYtqRFCE8<2-;QH&;wQt}T) zi&C-&C5vJ-S(HMIvPCHa1&h*gn=FcZzeRy-6ZIB_Fq|!}Uu#iPgTc*Oi;@gDC!5JQ z&RP^g1KiI5H2#ybDDbBHxmsva<}FImVZh)wgt91Rw+cZ2;OLg@S(|>u5hgMMFfmhu z(SO}c{MGnIV_*;yv0zg{zsKZS4K6529s#rubNp&$XRb&L1^@=y2LOCi6aYK|YJq*g z+3s%)gx6!K!&A++1@-|$_-h5J0B;4H{!E5{W!TOGZ&6O{B00000NkvXXu0mjf5S*&^ diff --git a/graphics/pokemon/banette/back.png b/graphics/pokemon/banette/back.png index 9f79b832c6e89213a71dca9f9b910bf5646a671c..966f01fa587e2fb02e2bb40b40484754014173d2 100644 GIT binary patch delta 580 zcmV-K0=xa61*`>-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tHD#K~zY` z&6G=Sq%aVMEhJXGDho7Qus}ISBWI71>LS_AiDsLuAvpnkf{0en1^NuB;$a(bf_fKA z{SfuJ{=ce>#e*wS2Y}HBgh>tv16pT4#A5@Au6`h507_BuUlqiVfJCzm6;?7ZrqG$v z=kEbZfm%Zdh?E*rR9c^ZK?cGFZRAx1fruVYakc?_z>7n24g;`S8<){GehgGw;QT0% zWE+q0FtFAr76m!~=0|`ms<6j=k$B100BnK3DhS9!z*h0+$=8S$3(D2`FAEi66(Eb( z#Bn}L5p*9 z>l%uNJ~T?Mq3dZ4*Y?eCt37Nqq?Y2B&$rd!=7l4DBI5EN>gEQk_wtu7A-(`3OsnkD S4(^@+0000=HU1)l|wB#}W-e*gz`Nliru=LQD>9}}GK}D|)O%HB zyBT|KW%2|t>Vz=)31L8~@{2e(kgN6!f&);B)_#>q3<=1UwIS0=e+K3hs+8*TZ-7#u zQcxz_BZQWp@3a7_=|RVRUres*zd1CBrxhy0QTV6%2Evwi#=X!pS7Ss*WW9^q+V zt5L5CV)?Aj08zJTkJT#iquc_p2Y$*VAWi{a#kcRVMz&gzq0V1rstB(DmC!M8umG}Q zDIh2e8=yK`81Avhe?u2Q47UUjEC@^kYrH|01Q6ZRNEP-U`!h!o&Cw7wA8#p-Kr!C{ zHqJY>xk?s*LR4pg_9n4sG+Z3jqOh1j_drO&y+Y_i7jN6nD^$J>(YD1UBWPc4gM8KC zi0e~@2L!SJgy|H%VfCx4!)owgD_BskuJYN0@qi8h<@P{le|to1t2O`xB0CJdbGOfdhmyK?N18zrWujAXlZ8uIQSfMj^H6{gXCO7J6b` zRy2=dX_WpL$LSFPxn>3h8UjpVD|i{l>+SK_08PP+wjSy2r60!YG);e^t|9B_MWeJe z3?r@S*1yGVFZG*^hSXF1`uVmQT=XxbNrHgiVQ$c{|7raNBTTF8n^epT00000NkvXX Hu0mjfnvMe9 diff --git a/graphics/pokemon/banette/icon.png b/graphics/pokemon/banette/icon.png index 8df7dd2604ca61d2ea0c777960bce13cfa25da2e..62a0cee04f6f2388656c0bf2b9c5d99c7286b83c 100644 GIT binary patch delta 266 zcmV+l0rmd>0^tIXV1MjML_t(IjpdR}Y6CG0g?$4dC|Qm#ldNZxY?B+bx9fcdvX*3+ zWD~HeAsX44UArrh!JudTJj|EUKMUQYkX5=Is0>r?6qu%gF?Yg%SV|{Uv|yB&bGHJ_ zcGv~Wz6#q-vJTxnJ{hdXOW-_x+oLvr^O-KDcY8mMRxyWvsDG-I<#q`lM8v53qlBPT zuwJ93R#C*-z5pOW4p**)sqUAy!W+e3fr%;yMgs>2rs3egG#nh59NQh3w#I=;O<91E z1Y;-*Fj?RfJ{Dk5=fk-AAU0qsjSU#71`Njt0|pG3#={dB-U9QI|0;d}1=yqp)xZ>} Q00000NkvXXt^-0~g0)t43jhEB delta 296 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 diff --git a/graphics/pokemon/banette/mega/icon.png b/graphics/pokemon/banette/mega/icon.png index f4e086723956f61f35035f3b07d1c7b17d06db6b..9f2c4f3b174c8980a7d196a380eb809812f6a12c 100644 GIT binary patch delta 327 zcmV-N0l5Cd1DykqUw;88Nkl6{)42JUtmcfyM^jQv+40I|;K|zXIFw$ol z*g(miDbh*~IElsr;^pqvT^wmDnl!^tzn#SSl=`)RTX47oAO;EIstFhwU_g<8K18e| zu=Pe)0HAlcsX)$Kr>O=X4qZJocTS5_qQz263v>>(0B45-)qnR$PJh0L8Hf*9zaGlS z_0qwtxLYqBK;@3i#J30-@=QeNzqgz&mWZ=u#F@bGYQ4&aBF-Ct=iw|3E6t54Z`l62kawqYx%!h-8e!Bd Z%op|8*DgB-VzK}L002ovPDHLkV1fu&lj{Hg delta 365 zcmV-z0h0cm1H%K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@)dYnY_ z0003dNkl z0r7IVX%|PDiY6`aFFPO3PpMxQa2p&S1Q5Io!m244WB~(;3V&GpfOQG24ptGn&aJ4v6eUE7M=Zn|_@d@kKL*8<;bTBLKHcJOk zz9TcS|Ct0iCL(m-Q;s)7#K|z?oWS^MoJs=)oF@R6@!3OnHbLL#;5~X3y7MXA_tz45 z$nV|XPVO+e2Z^vyFpH)_1M=gQWCg200000 LNkvXXu0mjfYwMfi diff --git a/graphics/pokemon/barbaracle/anim_front.png b/graphics/pokemon/barbaracle/anim_front.png index d8b85a13087af7141706a15026c1769aad09225c..b4febab31b510435ed6ffeb4e0b4ffd3a5c1b857 100644 GIT binary patch delta 1573 zcmV+=2HN?H4e<<+Uw;MsNklXE%V!U(7yx7<(~la1?*H;u|0T!)?O6GEgIh*45E66E#IuYcd-`XHn9X{Rf1Z`CHbduM%0 z&vE_g;(n7lkszuO(rur$zUjc4j$eHbOB(@Vq|+^&*;h6pMQ`xinO(n-fd&2Uc3NwW zalJJ32ES8hcOZ3f$6MTb-Y;Kx^F0sB!U13;0=FJ7m)@VAckK?Z7mI-e+=1!=0JCfO zc;(*0)qmhJBLl43o6P`leV~|;hj88T`{C>ofSbwC^9C2v6qGA(HW|Jj&)8fp*+--U zHikDX4rjq+Jz1Wlt}SVZ8?@Zg4s{qn>q9{>bLQ;Reu+;b8I^qt9Z-qy>YF{JQM5LG@ONA zIigJ#s@kr%n2fBO8}UFrWBXYUKU#5QIo5p6 zuKGg+Yd5KVr2satR?=hmA75yL+41lntUd}+H^1qaHlJDl=6<9Vn@J9ee#Kl0ve ze18E`Sd1?jpzJ(NbHHr;7yzX)+jaQ3p0jD@5d&1iynFb@pW^Pc#P(q}w_N^A$Vemr z*e*AMMb#FrRa(r8?qtD%Qv-6PY93_k!I~aDcVQhTuDfu4W!G7_8Ir;>ndy|?_&~wm zYs)+Uz*y$0BTCs$0MhqgJS_+L6{W&-sejv)zU07&Qh%dZ0#?nigDP&(t~CLmKq=34 z3MwlSV8bhKxv&Po?m|X~kF9V7Sb7#B7TfA}lfT{4DbWk|hL;+~b|k9V?%GQLy0hz1 zfRa_1>dj36?X1#HkC12%(x81+2TQdE5XV`K@u0H?sCgnxq9D?KJBpK4^3({4W`9!1 z^LHiSG?5np)j;We5jaJuazgIl0D$m()d*B1$^u~dW%)>_Mj9p8j$`qLZ37)dcS9-~ z^!K;GKPev)5atm6*Jc5Mf`a-@0sJ1dFt1w?cho*d)lpoc&}M2F!D za-0vN(iafXVIm6R3yA125e4xDM0A*lf&>B*I?N#lBn7Fm<3dfK``|FXfj|$mCpb(E zvX5pY8i$Sh9d018Hj&<}SRW>zGs%mi%BS2wVl-kHIxN+L_R2tNUquy#8GlIce*^h< z4CJ}gt~qN4LZvaZPSilCyju@w)Ii!zDHZ2iUD-flJuCtmw%Mdb1IgRs7+Me?f`Q~) z9U-lp`|p!zAbCnxD*++OVq7wimlCdoiF zIB1W<4shL{qi7%!U>Ep%D1RHsPCPuGv(4joZ!>EKl6_PT0Cca;hmZ{f4jnTDjP1O& zW*{PvO7j0{vVmA%8)mRw$lTx0a3c^51lM!Mb^xgSUtKR^Aa>3=2oiKW&HkK9g24>L zN{5LS@tnLa7)A(y&Sf?TMs9gVs75@qK`?UW@(Qt^YCa+utAm;!e;yHkcn0);$RGX! Xsr?VF)oJV%00000NkvXXu0mjfm`U24 delta 1599 zcmV-F2Eh6842unrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@-BJ>F2 z000HS#OeRl{M5F^tlM=^>#O( z)|;=J)z{dCl^YO3q&<+L#5FVI)i1B!V0UOM1KRD$%Ug3u;ok9p(i7~SpWbg#FR_X0 zg!DSc?QgpLYDbnqgj-7Ldka95m{n&9&Wne+Szn<1x7ueky1;an6w>6Zy zxDza{gMZ-HFN67Z0A=9;FcyL9fS0r2uOPVeN0*DmPy+5i^$>vBC0t(m*KjvHvt@u) z2eTOfeh8Fpc?jRXcsH7z0dO@L1;OxC3PCv!W|Psoiy4dMj9n5PurY#Zc{GcH4FWVt zOw@KTT}*=6D3~JFKAm`pwdh@zCyM}L-0`<#ob?V_lA?9i^u`qOrNzvR8}c>@d*?&})H&eLfBXyq~T(0tDB1}(nT*=LAhH-+sx zy?>I2yz5{JL<)z%V`#63`%Bw8FL_X|{n3;^nJz-TvFTL%;VW;?E>0nY#l;x|l+7pW z9I%={MZnGlTXncx&RLj6g8`~(-Q9m3hPXA|Ve2rPBcH#MVP-M_Y*d=jq-qNv?JVYH zf3o1fkqNm{wf6FEG^Yp8e3-|H?=QUH*nfQ<9)_f_OlCTzS0PXe*BV)S0GP{MbwDXw z2|xznho==FzZ$tXUFr^{FE}u!G+Zc_fK{uq%n@zcLlXc>l=57s7!^eV9Qfps4|5Q$ zE@X7Lti>b1)Uz#u*iv^|{OguZiGH*;VKTtjNggt=y3P`S?i@D>P_o*ldh0fTc7IoC zr%y;S2Wim0s)MPz0T9nyjq#v+15k@Z2%;p?VY`tgtK_K>lFX!#=kH3uQKl#Ys%fn6 ziolVPt7PO3_5eW3h@m1=5dajHqZtS?=NV>H1_Nd0E!0veGvF3<$VIe9O6R) z!rt9}zko1>QKQ$mRY0IRr{?TTLVrNSlFb>pd_@)zIRMMZ#y}(>qQij1SY~Vxv4DsU zqtpxr*rI?)4x`i#H&+r93W(@1JUON-Q4f)Thz`RQAfbSW z4wF!jNI+tT*$=;7Q9)|#xKK03eQ=o2K%fWOw?zS=JSx?QQZ!*0I!x7r&dNaQUndoX8A$(s1NnChfq-cr+N%(`VIGy1DgQ2NdwW~pgoK`z-}0$Xdn{cl=ycj8^~rlKA!Wf z!?$nj8wQepScw4Rp38@j4FnDyD+bJsBD!H9B9P1S|7o&;pl?jejg#)~uFZ`=Fc9n( z%ndir>+D}$KVcwF0qsQzI=#;RoJxYh3g=$YKO_WWbx`x;FX0bQf&LHq!{4d>53N2n!#Mx|002ovPDHLkV1my*=~4gy diff --git a/graphics/pokemon/barbaracle/back.png b/graphics/pokemon/barbaracle/back.png index 08a4148049da2c4ba2d0d85583b88f1398019280..e29e04a89636181b4ffbea1ecca5efd263f78bc2 100644 GIT binary patch delta 771 zcmV+e1N{8o2I>ZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>eo}K~zY` zjnqwQ+dvcm;1OZgZCqU-kOK&&A!uO+A$e~|C6NPEK7de!&!L*4RTkX|lFMWlFy3d8 zjdq1}`hG@=Y>(4Ej4jQ4etLSNk-#_)ggZQ*@h(mPZ|2hs{CG}sei3tmNce#}L9EdE zv3D6b6C__^cC*9*AanA6HO2}~ftgPL62+G;Fq`?2A48&xB)W_pC1C30TzFBGES$hc z5D0G(E%I*;ApI)_S(?|?%`wPsRyPWOT-6Yz0~9c>0+H1e$9KUKMoa-7ZSQ!fvH0ruel+}VkIXq2q0 z6e6$ieDmIiv6C{*3WzGTAh(y6V~uwOMGc}%KJS5bi#6gTMM^-n?ND3WBFMOGCJbm? z+`?}ohHG+sO`;84Ts;sX%gCP}h?mth^qS`A@A&X*>zZZ}H3VssGd8bN$(I}I&dxAz7nUtV5t{$cy1 zHb3IP_J=xk{|Ep5_(=1{ymbmT%&-Ii49&lCf^KKbbJz7yOvvDqQA&3lIQ;wJc{mFZ zz>qP<-heUM^ds+n;VTSA0GNKe-9mBz^X(4vFi`|>0>P7i1$fk36r2K-6|V{a2H%01 z073}nAA&Om<|9Bw%%?Tz{|5ox=k^}}is;Ro6ZAq%Zes*HGX-3PwqSC<_6lQ_b}c3V zmW^J1)XN@H>-`LU*wPzXHe3V)jUD3!4%>FaPaLf{A0xZ{Sy%u70>Vi|K~zY`jnqwQ<1iEe zV40%zOf$YfAqOz1rFap9v9k|kY|{hOIY4kt&*2G!R$a`_&|apyLdd?0ZnPWdXx@90 zT_;gG^9YG8eR+QRGh-0v5%Wi2dxDD-Aee;I13!V6oL{6iLBhhwf1e-~=)yFZM&1P3 zx74~x<^hm7yG*fyQ(zJjfJEuk2PTs+2~$XPktNgAQv#;W&RLKo+1v|41Q847$-MmT z0X)32pvcRnULJ#DxmpSUeAPg#J)nYi5wW77I39)VSRVkM^L$~iDi6pZZ&BUy9Kq@s z@G7qm6xG5H;P0y%e=>vd0$$ZkgP*FZy`aS2l0MDi5a2u9 zxXh9xz(@U!H~>G_2Ots&Hdw%wn}#u9!Zr|SjzGO|?We%He~sAL)fm9Vco6xf72*67 z5Z`23wwK{P;*IFTfwJH19H)9C#2ZEjA+8amH>y7k<-K|^(E0lMiv5q?^i?2e-qhui~@2(%gjaJ<))*aEz|a;F_bz-N}Jh)Mg=V(Gm-r(G#Q=XTzagGY8rj4-0N? s4JU_P<3UG|(`>3fTH1;@$9R1I0(N_U!7Xuez5oCK07*qoM6N<$f)cM}jsO4v diff --git a/graphics/pokemon/barbaracle/icon.png b/graphics/pokemon/barbaracle/icon.png index 7b894334752be0ccaad6649f0110a4982ea087ce..761e9ec5fcf1d04ff01aa1a961460a1987c48977 100644 GIT binary patch delta 479 zcmV<50U-Y91jYoAUkL%xNkluUO7CnU5s&^TozeL`S1lnd9G>3DjGOl6C0w@?`JaCm z-tZrn;rbnIzAuO@HiMoC9&yUaag9t={gutS9Q3X$Y-8H^3e(2q5M7NTj9mgA5>mpU zs;heAH;9!z>`N_cU4)9%cGTEAp=GYu&JMc4c%qSn$ViT#fZPTp5HFVXS^>>` zw`kAVc3G5=ip^1)0uwXTi9x(gW{H35%p3C!diNZk9sj|@hr=U;1E$9#pyPq*@jxx_ zGXWS)h*{-a4ZuJvWsk=hFoHXRPQY~c7ecZVFfhG~FE1z_fPrrk7o45}vx_EQi6m?g zxV;)r<+L~nK14k*^7`1FE-PG(Fuo4`ker!%T#uK2%U+OJq37lE6ZfigcF#+Ymg~j# zwG0(=75E^|1Cy8|AFsIzCIvoP@;Er>_-Mob6OvidJ!I#08)LkKXGOEO?}1Ri{s&%Y VDNH?giZlQK002ovPDHLkV1nuX;C%o9 delta 532 zcmV+v0_*+81n2~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT@@%a^U! z0005YNklB*66vy=m?vcS$;66(G88YaGDW^uoRmezEYo9HB}^agYRlWB?0~E7%7v zpE3G54FV=ZGk{X3Uz*X6gE9%ra#Mo}W@?@Je z3-^0#R0O^{k$(^=0EDmxwt5!hSSuSacJ3m$5wHOj5B6KG1GBq`^RY7#LL^=SDR?3& zbijmLBNE?;EWSv6L88JnZNM;^sOAUe4_LhTAJhTr1E_Vqg7@)L@e*1KWp1S7>8wXkTtQS_$)@Dw3B+$<`>eYxJ9U0eUN2mJ;ixQF+BPnLX-rgiD^Mt{>gl~;Y(2n^Jc<%!GL zY0bJmR##Wny1Q)zQ~_i5!K(t6?4W;@w}vyR0nR0G?x_yWgIfhYAAy6G3OZo zM6d+9c;TZY|6{?(xsKtI!wO`4*sfU~m|VwaF+adOF30-gmN z$AxWLfWRKh;ydOqn5_65GcFr9DlJ#@ETuW{5V7mH?M0LCmLog z01{6Cfz}4tuY6`L^L6RcrAsFmy*j_h3x;v4wF*Y>uFfxVf*}s~I^ZZ6#;ndSa)M#h z`bADKj9R}q3WflrU+CpI4uU}pL0mMAi>IW!(O&_59 cqj|IW2m2=6e$ggn82|tP07*qoM6N<$f}j~5&j0`b diff --git a/graphics/pokemon/barboach/back.png b/graphics/pokemon/barboach/back.png index 4adbf753dabb8a50dcab763fe35ea4971fb797ae..e10a270d31073e21be37e5dc94b0b9ada79766a0 100644 GIT binary patch delta 484 zcmVhXkd&28*zgrDngHnsP`0i#U8!aBmZnJ|?+g4Z z-wYiY;*2$}xr?UBJ-zq6X;XGmjU2xQaC>zT_x^tYRc`H2hJ6T?ZSAN9RJI*x`@aLq zu>(P`25{g01UT&)zy%9`;LS;gqP?8fH$C5`BqCZG;B=1Mlh<-$M%0ANZH%@rl5&!Hxicd~_=V3KP&31Vkbr<`r8S30NFs7A{=gf3m`w$;*uKyxumElpkV~Wk`yt<0AN%1gFeY9 a#=ZcFNBjNOJKwbc0000A1k#c(P{ty0i;PpK~zY`?UK)G!axwl zmk`Lg#a`M={6~wo>I+0&5t35_UVMrk0xEd`8vujc}G;4}y z=MVzlZ@+J5cNn|W=`!pZ!0gvqjO}xQB3zqM2>K=pZ*4{`P%)7?j_C>z7{aA}S(U3Se|+{(-Q<=upqhRe;Y1|VSHdqM&e@G?|(jct@dV&C77z8{AuGPzPfx3hzIxR{9UxSwVzCc~VoeDHR z2X-l=0H)F(gV9w-eJf5~yo&}g*B!Ixl%9~gWKaMBC$Uootd}O{fRz8#>P;S<3irw_ zS)m-k!?aqr;vC2vb_xhF(5&ey?@$wP1USG^4KvwVTCy2zgub z3=u9NB8fXQRef8Yo_}P0QR>$Pq*xf9z=?oSL1c~q^i&z_RG6t$z&vqqxd@)?JT*50 zduBYlwrN`S-5IfVy-$eRR>+r delta 255 zcmVO{0Us{KOeN(2 z006p4L_t(I%k7de4udcZMSTOyCy2z^w{8`M+*BA->0E3E_lk##zcg&C`!a?Lz-r~ z_98CqkJO`}dpf^=<6FFwR2|hp5XWlzL+L*!4#*yS_2XNhj9G!?O#p5KSz(%NWf8__ zudKp+q{@Zq1UJovnMIB=Z(&9^cTqE8cog@r{h>JRSTE}Hc}Ms38YBP!002ovPDHLk FV1fp3YzzPZ diff --git a/graphics/pokemon/barraskewda/back.png b/graphics/pokemon/barraskewda/back.png index f052c6435796760f6c13791e4898ebd90cbe5422..439a7c803a4f212c6d80018765c68f2735ed3fed 100644 GIT binary patch delta 500 zcmVDh=5dbyu~Vblw_ZO0nU3rm-5OW6S*-~W+h+@2wTbu(E5$1WakTTRq8-U%*Rz(SEkh}HT`HXzGon&NixV3`a;bu+qHuNRRDp$vZ0#p_B zu6v_pJWd9OgaUA{w{2S>W{UL4AO$SF-gaHb6&T1PgVdOe`#Bzeu0XhC{px$g1YjI= zM->pIB>&?ILXg2Y=&r!Sl=Ij?)qB8x1BHkT)cYRb3SrDqPb#Px*fg)9!ii36D(C7= z(=^V>Uvx@90-Ogzg;h@%i_nl00$}DnJpuF$8?G?q-}|~q6(x|tYvZrUSX>n+2_9%1 z1IFkljbP%}vp@n*xByjf=1I?%dJ3aKv?OBPZ~@jI^zxLT3Uo`nA|>dNo@qMwQ^@0v qHAOJ+pn)yu+)d%^BfiX^j}Tu?)%ZqGjZI4c0000A2CQoC=dVu0kla(K~zY`?UX%k!axv( z?ZQ24DWXc@k4 zoDy=tqrP6RbHr4Ve;yblfQ8f7P1A4%2C~2)(K_XRmWL}4E?9p!uNVXLy>6)jq7dYN zSs{wZpzn2?<7tXCwbDbV-t)DU`|U`fQP<^rrw)vQfWg)Q&s&QbN$NYV8=ge>e>Q3L~11#Cgr g%Md#EpWPqNH%-;}Ms0QNga7~l07*qoM6N<$f>Y++k^lez diff --git a/graphics/pokemon/barraskewda/front.png b/graphics/pokemon/barraskewda/front.png index 88c58b84efc44f1124b56065424f935555c058f1..1269d220b46d671a44ea4ed0eb0f42f6f049f19c 100644 GIT binary patch delta 628 zcmV-)0*n3A1>6OYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yRlQK~zY` z?Ub==+dvq_r9qx^3dTdd=(B~Obr#F%-sqxPHM)qV6zU?Yc(kw)6f$%%gzf?1siV(R zhJcBtdhSy1{$Ki?o#)dheYCR-W}=r5-&67*7DlX9pt)bGqIkKsS25 zgB@zucFaQ!zTI-p_H@*Lq9My0fVSzr5h0~?h}YF5hIW@!&rzchb!VOySRiCni3lS` zH=p3kvc5#(wnF%BNZo7QO2#H%#=yTd?rfuuR*1b}lnLPOsjeND#eG5W7~B_fIj z7o*wdaWfwYFD0NBg;akx3rTY=?0e3ojv93ba1mm7=cmX=Ey^Q*qVSF7qyMAMmzZA# z6irXwLWk&PemkG@R032;`UXZ!i~RdV1+WN-0jx{m@|345>5b{d@eo+d`65l{Ss73} z1u#Vu0;W7gW!GtTCk5<)%jF8wg`@`Ij`8z8%T}rI@2V4xSbV)eVqOWz zfnW=Uo)ajhQ~>jTYP*RI{1y3WoDnrTj(=yT_=5 z8B84KbyV`jD}aqSW&=#G(RO;a9X&#b*nYBs69i2Up9r-b+dlp4YvS+()c{~V0x`8Q z;?YdD8vrJADPGrGr2s+n3!6<`S1ABi0u+s*JSCWf=i<;$ZMo O0000A2X&(Njv}m0yarRK~zY`?Uk`_+CUh^ z?E&VTBg9Y^e_&Z^$%3JKsP+QOFQ2Mg*e9oD%@fWs3^x&g5$}-A++|#S0ceFuIy7K2IBI zNq8v%)xf9PyM<30e_J6xa4uz3sWXBrAI;mpgg?$IUn20|m>%jsYkZCVML?-&(OYN} z%}8(OOCC#r3eiAEi+Se%uqps1At8WyEmR)!cq4sdTDCj{R!hE$<7JWu)OH5UQAGRr zTXH8EY%_y7k8zUQIJuV$9)aui2HnL-2|}IX>wS`JVxiv`e=F*tczc1wvS5$`!#(I) zO5iZ102nv>U8v)y@R#&6QGwii*o9Hrf=T}BZ;@`2y{J)REcht-*F$*RMh%SN%(h<# z`5%+ecVd}!Fx+~}?pjvx1Rq5vBcf+y4d3 zC`*BXZMo$M{VclD?3DuE_;0iG@?-E&+;dMHwUy`pD|!9^t`5lOP@wW`00000NkvXX Hu0mjf1(zMA diff --git a/graphics/pokemon/barraskewda/icon.png b/graphics/pokemon/barraskewda/icon.png index bb9cf14fce513ae209be41b0b94ed8c5f1526f2b..c0aed5b3dcc51125b151d9fe26f23e37bfac981d 100644 GIT binary patch delta 293 zcmV+=0owkW1N#DyUw;7xNklR&=%$)3sT0lXTJ@((xF(X}I-XFfhp$P@5qpK#Us2Yn3FB zzwBzUBnFPEDDY#h0hHM7%j^N1nG^gi+dn=2sER5MsEhaKO@Dqe;lkHhqWm1cb3ql` zEl1wCT!j|H5vQ)bHCDHm3$o*SdZ=U8UU~x8631pb1SowC42V56wO@yKfYUA1W%5^M z4YO6U_rrm9Ju$OR+*kY;n2LBTU}hc*7~&DZ5RV8(EiD2V;t|0Rj|hf%1TePor^Lg9 rv1P&`fJwd@z#d#BJeWUbcFXt$;;pimi2@??00000NkvXXu0mjfx=)9} delta 324 zcmV-K0lWVD0-6JmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT^8)*!vJ z0002}Nklz2q)qi848?C(%yX1Luc8ajGv7a~VNEk>(~UZHa1yP1T!LS{APZ z;!0)Hs3BUvY66u4>%7?nNZTB!5O0uY?cDYOMi!8zgS!%~h~}fmfnxk(iv0EX6d3M! z^k6z3Js8KsgFSIPJeaaCVZk^a9*pDR!8jfkjLx~|(Sp(GfP)3|_WLauH3swJ|9Jx9 Wt+JPLJk@>x0000OgBk=+i^;#*f$6%Fbs#rW+ zZFOS_Qs}~PO-!?fhSYYf+7b*5aNB*lIJw_nisBE;vb1OQU^5`51f17mWpB|S)?`e< zA{@F-NwlLue-!J0D}_C6YCkXml%xo^&koqR2dP_*%3Pmdrhk={+%-Ut=muB|QUNvx zQvOH=<^Bb#6L6^<_<*uGKqrClsqo;@Y`8+Mwl;zXq8(Ry<-ljT6P-d0UGG2q((qDg zeCzK+0_;SsZ1EfeU>Y^A3=<+uTyS5(ot-1_n=zz@&wX*J!|K#equXgob?!!!1U$1e zVaNWbSdrd-F=$M6Iv|D=e6K?Uiw?^XL5JfeJQj68ce}SbT;G-G;DFcR)#>2Ebvp3( zOb5z!(76sW(*fyMIxMRO9oTV+Xbd{Ue`+*AhnT0yb+A{KRqn@+^#zi<3+NyY*kJ$w N002ovPDHLkV1idgt4II< delta 381 zcmV-@0fPS81Ly;gbbkN`bV*G`2j>O{0U!l2F7}xK00B!$L_t(I%f*wiPQx$|hW!TC zZ5bjX@d6d~S}CvB!79%bv3R)J>c$eJ(1qcem}U(%spEvk6EJ|c`*gN)|9xTX50B%^ zniri*fb{7(hsr7xBX?99=sCv5ycwj!+3TOXxI9qO?b-q|O$gcRN4lLDSdLrs@-1tNX4BNfc zp-6QozI1pAI=EQ}@s{X7sSYO9K_xmM{Yr;v)TjeLP7(D{hxwoCZPa1T)22GOD@%_5 b$qqjOlDiA&jVO$J00000NkvXXu0mjf!& diff --git a/graphics/pokemon/basculegion/icon.png b/graphics/pokemon/basculegion/icon.png index f7cf0fea061c36803df5f7f7d1ba84c47b474e42..579a83d550f34d76e10a945350ee77e18ccd5fb3 100644 GIT binary patch delta 403 zcmV;E0c`$@1pNb$bbkSJNklmdAUfQTtsPQro=Qt*%BP*kK#x$f;WG!uT>T+!Xq!r z{>7VAJfPO6ay=vfm&;jmyiNhYQz|%bA&!TNCQUgP)I(T8c4vMlsheuL*po2nO=%8q!gU&-8^85W#hia)qHQLbYP`Zr9h-#;USX+3X xfNblld*JkwfppByHtuqRF{$Y+{rL5K15kGQO{0U!(3mfM~H00C}EL_t(I%f*wiPQx$|hW!So zJU|)x0+kvuqAZp=;Voh+PZ8-@T#p_5a*;f_h|Bk_5R=+Y?3TA*LZyC z1vi)^iQJtTa?wwKcyo1;Q?2ke0j^dBZVS!*N^lD}-AKwLzX_ko0?VxvG`9XP1b#2?uErik4){s`r?Q;RNHcAD^KOG=p`lPX0*pN2a4{;zd z4&#aehmXCDaKJv@0Efd22ifCrh;c9z4w4rE4o_T`0S*!|!a?!~2UUhRl$%|QLlfiB zj5K&0YUj~tQR{GEO9StdAZ&Ye7fz21gwxC{apxO|I2soFn+(4JPl&H6vxk~ES-4xq=?c1Y^Rl)2_Ij;=A}~8 z4DEpTRtj{@QXGke309&?)!9ptSWG5{48$EHA+=ws?@U@SF=pw~iYH}yKi|C^hyOnq zJJi2hr9J&ZgR%M^KruN$vt;D~i}KjcoWcseSFawd|4j-kdY+9 zFvW{^f7%7Z5Px{;bt~a=m;l#?5O#MB=t5Zd+Vd;HdH*c|V=hGbWp52=Tp*r8Ps-_i zB%?7$`a~LVyD=d#)yccs(SYq_G0zT@c9IIsIEFahyKO2Y(<60~typ>}@~`<9M};lyN)< zaWZFVAXc?dYfyh$gX$K*AYRoC_36W8+M^4zBJR}lh?(CVsHz3#piaupy!aY`Ivows z7I|+0%`$B>_cg(F`|*gWCCZ|f*H<@i55V+&fVQW9s6!pv70|SDfOgvyIr>mkeqdM>+u8b1^b&pefTcpFKB(ur zKKTPc!7aPnfT8rDI~w&8e{ftg1r%ybr*Q9%21k@Qkgj#{Y6N@c5PCu>YJIth2?plDu3sf{fJUeS_0C^%(ND^JD2jip8(?| zn;WUf;CRs;$m#NaK>$y}J=HgWfGZiCpHZ+vlK!w6-4yQF21;j2)?kdN!abGkjQma4 z0g`Cu3J^vbpgkPm94Y~=z#Z}fagqj@RtaIoqX{AH${0XwU%V($lBjE6vrjgES>zUgW$S@Eh#NDQ*{0UQeFy8Go*vGw-BpqmRbQX zp6u17P)=GJ$f9KOkik*MK%o6neJ7__Qk3&hD75%Nru*sc<$rX#|IeDXseiYcYsMRU zn$}wbNJatlo3;vQJ>gAD1sFDWxZ8NVQ;YL{-?NnfM;jjnwtSQK5#7he{a`ToU?TQ3 zvwnP#7huzLHM3j${BSy*e1aDC%!hq!oeT!ibTXtrhOL@Df`G>1EKY{e7!k`W$OZjD zIDyfdScoKI*ncapU^rb`A%eTfPq7f<>li(ArwHiW**O`EzuayA5UC)-wD^nT)f+TT zjt4>5PVOc-@Y&?t30Hu@xs9)bs2v}T-V!iloVQ*MSAfnq;sFeWxVTM4I%7z0WDl+j zEign7^JgN-gg9ro&t*ZgNE}jY;!-w9@DkvKgJa_>34e$gb#R`qKob;ZXdt$8AdU%n z$7BbP9T#`fTms@Ij>Ywy{;l0CEAQn!kS4K61QAXZ(331%t|CO1&4KUE%kNUpWG&pM@SLnl*^aInT*sj-ytsvKj_tVtefjL07V8eYq*0;bf1a5^34 z{@{96321aRgTg(Wj<+ds$R9k*soH_DLw<3(eSa&nJ&ELHtwYHUtRM)-&!f>IpyPbVqYwXU{Q{H(UlE<+Ei2Ig0000BR^9?OHy!FrybY96S8NLi ze&Xu4_GwR~tHI_DN~@=$Bnd+!I@_Sx zQrAg11^`Xs!PbtZtf?d{={ckjC8PBtxGqs1UdP~a10Y&E!sdD`+lR>*T%pAjV3CYg z;}_jB&1Fj;023kV0FQ7}{j%E8Q&-e+oAa>&KEMplKgI8}14dLXmn|VUC!miY5DhaB zQ-A$-xkldtuTy7w#d%WwoB>mx_sS8Jq7()MbEdK z>Ehx+Pzge0rf~yq#H_jk@GT01%EecF7P6f}dIve6+aGo>KO&-=0UhS#0EWRO;_ZAv zLdr9EH93OR%wN)ciVwpJ#GrrQrGHJHO>)wSe*ZlOFzg%f&LhyCq-h3hvjOqJfZrZ% zkZcCD+3c{<%n>!X{pp!2u%pL3SmsFsqAP`*h5^?|l0wzgBK~zY`?bMN*L4SAy zmi&IY_xRhgW$o+#)xpWGF0(9eC(vE5u@guF2hP8{Tm#=04a+M4Wo~(*CPb-Oum+dh z6%8Q@x3Hyj1yvz$rxOr#S~zXj8^Rz-7@uM zOCJCeA?g5+a8v!Vn$c5NlyRH$u>n5749-8r@3R9&6fT!7AvhevVsm6J`Cf&%geK9zgPFbE-`cI2C(`hItNcR`3l{%(vty_(D<58b~29HSs+vXl#JiqS_5nH=X&>O+v+avN_bMqp)WtG(g z_jEj1(vs+Fh(@lv21P0B7K5RC_DVD%76kxaw2D^Y*SWTPm+pvSFaxO;mDd9C-gZy= z6a(NrRo0(XLw~%3sAez&Y{&httC|QDoJZizL`?KTzfs+%n$LXP-QvW3{r^ZSnLK3Ir(gXp`lATL4Hdy~od2@GLb zX{hw*y8dMB@iI6j4LA<_@EnAmKSJze?O-s5;dek3`sVgQbjzx#1pj0*T+xc?YlKFr zzcF7an-&8j|9|v_Xi7{}0J!K^TAinJOl(7!YE2oh@xmN09oeSSEWTtE7gPjH&Ool0|p+~9eZwWXd-91z4YJoA!NyXP4oAXQeA_!kU)T`02>F0fAsF_?~badT|HiG?4)6Ok0Cxv}wDb{I2p7DfQkTVI{#oU4T?rMmq=egJd`c#XJr SOr8J$002ovP6b4+LSTX?xPaLJ delta 305 zcmV-10nYy80*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U#JsD4IY3 z008SrL_t(I%k7e}YQ!)MhW!RY(ADW96zbhxoH-oSWBtzME~5vNW>p+~9eZk)Ch~2! zmj0VQglvgVslS&}+8UgL0s^pcwXCA65}6k*zzva{0DxQacz=KuQ77C1a7KLzm+KBJ z;(0y|AV%u*XIzevHZNnGoOm?$b2Q=?UxDIeoCLuyj>T$MKNN13<)Z%cPyp^gt#>!A zhMf{!U}<`l20_MdV%_+G-I|IND2;j-hBw1f|NaqvLEQwh;pzD>C}Xlc9pcv9eFqYL z0L>vtfz*v`G%B*g+L@{_0z!Bjn$^7btuV~|!0mnjbO?BjJR64q00000NkvXXu0mjf DD(HgB diff --git a/graphics/pokemon/basculin/white_striped/back.png b/graphics/pokemon/basculin/white_striped/back.png index b6fb2e3d63f1c79a3d9b4f4218143e16bbbc2ba9..d8faa1575d9e1ee56aac500aa8c41a420543c332 100644 GIT binary patch delta 561 zcmV-10?z%e1%(BWUw;A+NklFoTN%M8Oh3V>@lM*$*%v%$Yz1VG2cj$t(bBV<^(h4IjC7=Hs1jEWqzL|33Lz_UPY0gDyg-T>vZ2 z*Ngar_FpXnHoS0Qj}lQpG%o-MZopdVOMo)E#X6dNDF8^tGsm6^3wKnN9RQ00_ys%D zF}=(`CW**B*KeFiPnq#BrXIaqXaL)709H7glmL(B9)FEQQNr%Zq#k$$;2|ByVp{;D zEzef>g9Gq9r{BbeAQbT1S0fPjdc_ZbfDS@D39W delta 602 zcmV-g0;Tl&H6bEo;sFyA|Ibz^jptDd{)RSkHGZ``%8Lon6=t7)+0Kl%g zR<)&$l~o;CDnwK{Svmwoa38Ag&S&GeHCs2HWFh?j>E7ML*ncoi_2263{8-8i!#WBe zwYoJexcZvXXOx!iB1~5W~gtIGz# zZIq~rgITSIEPp4sg(!@2(fZ{xkN}m3wq_3V46+gc3OZt@jMp*wi=N3G*uImOPD(egaW^PwFTl_ zulNB7=u;rXlMtJqR=!7vJ?bAV2dXx3v|{ZzI316#mcu^a<^Gynhq07*qoM6N<$f_^g!C;$Ke diff --git a/graphics/pokemon/basculin/white_striped/front.png b/graphics/pokemon/basculin/white_striped/front.png index 76233ed905dd17ff8672313f2056623d1f75c4e5..f16202e1493807f722b352d7288ea877b6795924 100644 GIT binary patch delta 461 zcmV;;0W$u|1fm3xUw;9uNkl#KvkZgxIzq_sMUe#F1cM8 zS~Z*^UwBM5@A5FOzHpWbNZ(1AJ3-KX>uFxHC-?{qxt1NF7D&7$$Z~0 z?JxyVGM#mCf%iAecMfU`{_P%hvm7xV3Fo7jC>71J-B~w9G!;Fu)A&=|UrCsO!=OSR!WHoRRYA4Whe;0szD%jTSgEkC+B3&IM=z)8GW1+stO0!GGx3MemdvV|)=J=FfdG00000NkvXXu0mjf Ds3_1} delta 501 zcmVA-GPcSpC0S$ZTYsfs)7^Hy<`I4 z=5D=F2HL#N{}@v9eSg4tliR?fZ)#mB<&_rPo-k;*%o$4mTiC$i4QF^s4MuF#Z6Ihp zjN&-Hy%J*Ist7t#pC64!qfz`A?AzBe7+%u)%>m9{qF{@8o>!Qm3&MCbZs81H9++os z)D+zBowm{pF@NfF>rxD*49Dr-xRoI4iZT;7j;{5pIxSngfoaWJ&5Dk=Ui9955A1 zy{Uy-3L#GDpqIa$BtDD+(K)sObASpc3pk&{o0?h=4S;C@5JEq~(EH_&;eZYc2$ZD~ rIL#`+8x`-6K^1VS0PC;b#Q!p%>|)=JY^oLW00000NkvXXu0mjfK=0xc diff --git a/graphics/pokemon/basculin/white_striped/icon.png b/graphics/pokemon/basculin/white_striped/icon.png index ed1ab8a1e2444833f491e636fefa2cd1032bdee3..a69c4e51a816ef2090fecd15f874078afe61f7e3 100644 GIT binary patch delta 268 zcmV+n0rUQe1NZ`vb${+jL_t(IjqQ>#Zo@DPMSTN;&>Z&&MM5BxBi*QXEW9c{fn7t; zS~D^PbaPa7h(&wJ9`tW~AP7==RrPuaVOxVS5I}%LCWcvbMP_w`$yA~XH2ae@2prZvsf{04&*d}!1fru_g-O{k>f57zfS3i+_V88= za@gpei@4F%reWa++^5z`fvTU6>lew6^O>h8jK~6AN05dr!>|AR!Gc5=a050PIObK~y-)?UFHW!!Qg*eFK8f zT=xh?N+6RX-Kcjgyed9{T|>}XGcp8pOIUZPMPpxJFtlK`96bcX@B}=h=x`Ae=H`FcBlkghl$dCAI%O`!7( jsS;?ag#nQVZWi|qX^4B5q@JVm00000NkvXXu0mjfX%BlG diff --git a/graphics/pokemon/bastiodon/anim_front.png b/graphics/pokemon/bastiodon/anim_front.png index 404f3f83f99f1fd658e28d64db0de00640536f42..3a36e62a3c9aa97e66914ca60f83f8690d7ec14b 100644 GIT binary patch delta 1486 zcmV;<1u^=w46qE4bbke=NklY}F5QZgS<#Q$?SFUmrH_D->N~`#glW1`x zBe|6FQZ0On9BZ4lCjmy*@y&oyF})Q?kQ}R^E(+fYq^JD3&Tx0-)kow0fY5;D6`!3M zlEZn&mCBb<9&pQiHRyjHxEp*^VHNe?#_o!q$Cc@O{q4r8LVxrkGcobhCw5y10LE}L zHZgQXxM>3FII9UUQxKazJaaRq2I?C=BC|3y+Xhe&OJdyzy3l37Yy-|_oZf}40QvxX z!JQ-e9d9gi2{h(pA~suq2D#9?mVo{C7Qh9W0kALbY~3kMYr!35Lg+i|0EW+Xu}{fy zyR{BLc3QLukbmGS0V_5hUF){tY=$0Wf`(2yYe2S7xEmP4OVHdz zWglE;TbKc9I@L47ZcHQzE7Z90~Y!&+fbgzu|#b58vAHd>(>q~QBFElUme-M5Y3#0c%$9@n$ z!2vf51b=4Q9A)!6_0B!<2qydD>+26MT6cgy^_Y6Q=;Uka(5q_$RJ&>4uahl@7 z7de0dN)B)mcAzQt80LiG!*l%hI^XIjOGU#lW5bE0gXe!-mu}e3v~+QSa2;2!N|)I4 zZwO$&8F%|u09f8_fUm9{KvxBlA|oVB9D@l1Pk%g~0hne*C8^>~03R72fxe5G)jMH* zQUJA{WVp)51mJf*UB3Ymy&{JCVQ(OzkD*8es(UR1&%8lrnQ;h&hdq3fK4O)s5eh%N ziZQa=_W*{`gOr7?P~e%uzVHDG0U`)#2yiCF)MdtE=mXBa@3g)bqDWKYg2Y(BHFbt^W(;KBJkenZoDLRvJlKTL0x5Pcs3{CH9kMf0i6lTbEn;+ zmrHj9({Z-go#dE+F{!c$;sZO+v>kjb>I9fWkpbB6#)`c_ZFdCKb_8k$-=kHIpJPo& z!SHkOx3U@g_&&82VUN~uB3ZfshJU(0e;Xrk+Ked%tjstfr&q5Inv3S*#YF?9*`B6X z#Y(I8%?#(2+?|WPdvf^pI|SzP&GMGX@9iUezuQA)e(`mhAvjX=v>q}+|-JlI5G;8nJd@iyBuw} zj{+!)OMWrvw^S}c@{N+bG|zzJ4N=*@3_0Kx1Z_84K#OL)5`Y~BHU|kFWrFR&(I@~1 ztTqt1%t}J?-#;7$Ej;Fp21i1Y{4-D09*RKV#6|<5m@Dd)T3ZAG{f!O8GOt|&Q9P;c oeK)hMfykfwm5uR5?{6Fb0u)OlQDj)1EdT%j07*qoM6N<$f-vN})&Kwi delta 1489 zcmV;?1upuq46_W7bbkN`bV*G`2j>O{0U#uON9M->00ovwL_t(o!|j)`ZyPrhhb7?T z*)Jkbt}=-iW$0At6c3q1i5D5k63R!V@DwT5HBBc0M$YkOz^IsR1rj7<71TxHtw1{E zpX(#3lTXsc9=e7Ge3tm#<0JXr`#qOR-$s7GE%W7|doyq+_uwW=>X`l-NKWS zW-oZ6gfY3h34fsbRA%RtOqz{N0NibvO#la9Fj%wUN$Wnf#|3;0AVRqg>}h)pr!!oE zCur!nwE?(u!qY$(UW246%CAACJ3zf`1WrptVCHsf4?D55f?A9HOE7 z2@tK{H~+!BY4^u)L) zplXqq`eTF(>Bs6X2lN>95gvM?IvD-y2fcB-5KKuK_*?m|XPd4LSR9ko1Lm2ni_gA0T*Z@(iQw*S^KOBIz z!iT{7Ec{Ys`@k{y;xxsLFO~p0$SJ^a*n&FSCm0io4$kn~t97Q4* z4BMIJ5*G|EE+&l&MyQS)c4f#e9S{XC1RVPi>xT*Miy(SYkYJ(@l zH-ClwzeC+JU%5@8he463?%o0n@jH}kfj<>iq`Jc(E=8lRdZfAtwBiCF!~!)k84c|Q z-BLVbmKdq9x=mFP(2_>7r&imyHPLIgjNC0}iva2LY&CXoR{m{a&jU8WH-Yj>(Vc3N z;OUm8Iyo}Bi^4@%v$Bp*mDLx}+5l|0E`QyTg!wgKbh*veOq69!qw-^21$;_)G-?jeykN%|jbj=BHXDzLA8-DbnwQ*GTKFofN_ES*)CV+P- zO_emjPqap5l0QocbZXbvrg-|O6tjFcX1%lkZU-x*0p7r@n+LQ{U5jIYpVL__O@Gr| z8KO1)tIB#H(;a+BwNA;kiD*y1US2ou6M>IbcjFbY<6Kaq1a*~&!Rg!pZ}Ic%goYdpQRc0KK)vGrL^+kR0^1O!9 ztWVO*Y^P=YZie%M@6Fl%T|RjK41qa+x5_g9qkf3*w>zlJ_kZC78moAoa*+WZgBW{v zpWUlpF_a?%JWEedf|pBpj1#u-F`l3NgXe?*#wP-oD`5Bp8w^6Q)_l1Wbbqitz+Dd( zcrVK~YTEDo8xSDjS!gzqzmhvOFkGbMpi!W{7bAGAscvBg}D=1vJczmjkfFz~&&qt4y#x zI2s0Ef%OIgw^>Sz{C5wBK}rL!d8>ioM*fK>Di2t|aAK>05X2VsQl-g)!2FF3M0c%$ r=&l;rdv>O%fmnVjkezROf7|#E6iXvfKPJ71-%83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v1U`K~zY` z?UYMy+b|G@SwP6z1Cu-eIQtB1JYX5 z06p-JazJj%nFK%t5A*=A2?Ps(bikqA0>A@+))q}$ZUVs&E1Cf(Sej~K3S_W0eGibc zI`nH`5aJIi*~&YBz6Yo|u+Ed_z&Z^ctiJ<%o)^%U-vLgg4$vll;L^~cT9KgL3W%9R zPIYqtlOsl20a=epp41NxPvNgQf8r0?=^h&m^xi!1GTYD2UE5Z9~!>zXrgSQzCcZ;HuD2 jM;icW&c77@gbDErRNt>A5%|1Y00000NkvXXu0mjf$nFWw delta 587 zcmV-R0<`_T1+fK?B#}W-e*gz`Nliru=LQD>ASdKbw|xKr0u)I^K~zY`?Uli9q%aJI zv(l(%tR{JYbb6Z;;Q^o+_PR(l=OQuF7Z{c2>q>j;L#>lQA;9iv&s!@RDflD)?bwVE zUlv<&!+&^47CYEEz`QSLqc%X9o|3y4!RsQ#eQJKJBiyH__o@|De|twSqO|7M8nD)w zf_k7rwY*6`l9dDojzG_#x&WM3F-i}p79;@i#x6Cx2>dLqK@~Ib7z5H;)Bqjuk8(h2 z@<;+8f(JSP*ad;d2bKx?zA$#;QZhy_JJ4Qo>kEP(@TP2U1!REKU0^g{ea zC0l+2(6;~;1KT_)e+IT`aAW-&;PbqIzWfPrDs_N%0hfjj)fx#(Ho%z4$f-64aB_^1 zHo&37&s*9B1X{%Lj8IlO6V1bc-1wQTmjLLGpO5q8aU0q)TZ#Z_j7jFf;+19HLWFDo zESYATy}U38mEF|3$vnDz1Qv3@rHHBNzPUNz(F6EC4Bl7Ae@#`I2NvLR#9_EDM5yO{ z{Q8*8h8pz4TQQ3uYDa~}PBrR-3Li*K0LRZhdlIkRB%&eGp~gI^N=-NAk8mQCQccYw z(4eiTX&OGCUwj=L;YIMHr(7ITV~~gx4}SlKnlp8&hLG9;{4J>%An>o(?02ck@irV_ zkIqlpHQf+wL29o)02SZ-ndCJBJpbf@jOg4{B;DiJ0Jw5W002ovPDHLkV1lQf5oG`X diff --git a/graphics/pokemon/bastiodon/icon.png b/graphics/pokemon/bastiodon/icon.png index 2e00c890332969963d091aaa9ad0734b0a0e7a1a..f44b735872a3f1a8c25f1414348e7b17a5ec9069 100644 GIT binary patch delta 313 zcmV-90mlBM1ET|wBn<>-K}|sb0I`n?{9y%=Aya<=2}wjjR5;7k(mQU1Fc1b{ZeaNW zV`b9^DfHQcM%tVqwTnFq(A!L?5Yqhdf;~KxKFM?p|M;b^`cq|w)AtyU4QZ~2l(Ail zeahHWOR6*+r%u=E4A1vR#%>LXHievyFkn-Np-Xrsz~Lp&0MQ0m7f`Q(%M)z$9D~g> zxG;Z3@O1mUn>7NavBvc7Juj<_6I0W?!fT@!0zWr1K4@u3A8DG?zV5c(&ro#NbS~#4 zUs$ZX^{tSr>wHvDo5n({^?DGBT^O)?RSaL<`K5RN|55!a7=5w~Mtu}8l6`DovJVBL zJ_;E1QNZ{!81+%Wp!nFp$N|jGM+UR`SivD2d_2G$eIzhH`>3jKe}npU%|K0J00000 LNkvXXu0mjfEeVoY delta 316 zcmV-C0mJ^I1Ed3xB#|^we*gz`Nliru=LQD>AS#;w%fJ8t0S8G$K~y-))zUF;gfI{V zP;OxP0%K*<$5QCC2aU8jLuwa$7NED8P$8uG@q%qIQtBkrG5TXX)@z!-RBAkZPoZu| zd#zGR_Z^NYrDLtB+%OzFeOG39xj!;`Z%EKFWXcEwI))hK2*(5%f4rm_AZQP5JnR;@ zJV6J?!Rs`G3sV5kx6ixUB4C;<=6C0KJ!P7i+V&N$GzKB?bGzV!)`kp$<|Y2u+_wD` z1#^w}GDgzEqUCMqgp9T6s-P~8`C!X>5DL8?ad=gXU;X)|(fr5yRWLY#DLyh7Nj`Qk z$wvWGd}J`iM+W20GGL023|>*47805)a)8_;m8zV< zhe`KfU=U+@oAg4W^uB)GZzvG^2TRoT?iJachMuZmYSgEs`2h6gPKNsE3I$Lei;v!o ziNJO>0VbowNLh3ld&W}{YZCx00PuYug2{MOmQSlx%(V$A1gN6}f~1%G z>Oo9;E7(w1#85w-q^utF33dYn@fh3pdx?Y&%$7=Cx-l6j2PyA=2Y|r6xhzYm>Pw{^ z<7|fQLO6_#WmCsvXORkOC!H0IUTsf0faTKd=z!ht@>36R)zZA3u=}%lYIjTI0^bp6&XPOruvV8petv#zf%eq99r2*bQo9>3 zb=&FNlL_c{l+}8F^Oao!q&y4_*j5Lsq0V*v7+(gCD|Qj6?$~9(sI$8+fl=2|uHFI$ z39L5&9um>r?CKmCh4ea6A#&r68F(LRAPKL{K)6uA0lbANM1l`q%+Q^zOd)FERvzqE zfDE5K2U8yKHDm_BwIWQJ;Zq(NQnD$%Ths~`0sRn`HKCVl7z8*0zpU#sU_`wd0L2-= zVL5|51+dkQ3Rv|4{58sig-V8(!FdQyX8@6E&1@AyCVA3}2$oaiq-24uR>(rn>3|%_ qUFHR)44guKOYwi{#$o?UG4>aj@L)}q=R`>W0000fpB#}W-e*gz`Nliru=LQD>ATVd0GP(c&0#HdrK~zY`)s;Pxn?MkS zN5Pa*Mhn4aW{eJ?1s?#>PK!3TCkys zn4o?>3sFDn73>xWf0HSu9}WTu9q^V)Ub=}iP!2+@MgYgYsi-QU;!~|1qvv5d=MEuL z(Z=c2TV!0OOP!RhUhmF2fZ@u=(F6OR)rSG#s-|gIVgGCU-1V5Xy4J$}hX!yyPn+9P z2cA|PFfYgm_`R)qpw;QF1HK~Ao+Wj0o|$he?8(sRaG+jS>N~i?rZ}3 z9!0&`ekRudA&z4MveSWjtW#Y-CD(z|np_3y2XY-S>g1uHz`TO`Dc7$7qY2n60FBt- zVb_A(q)U@9t>+6+}Ay}C{t|IWmM1eP+q-%oya^ojhfrJ9sRt>whj)^c*H zGyl0uP*2o4W5->?gBDV27ftV(F>-p4@mBX5_oiC z;zJHVrP4U+$v4nt3^dR0*4TG}x&Qdu6j;S$_n&KEUeXye07DK21kV~i z+YF`^L||G$3?>NT89x-n_X>hM7`=1_L6z!r vcd{4c!H|zLm?Aj31;ai9n8e35e$~ejzi`V=g}ct{00000NkvXXu0mjfAa#wv delta 333 zcmV-T0kZ!80;2b;z6b9gT1J4x|SLg+*ZXG(Y;5i538eJ-?UZO*XAB7nuN(N3) zshz0663u{!^e_aH-=0{Iz)}YPetLGEK9TEMs=?N%wVasBT7ORV`^10l6jVdC&e%a) zF#MjWtCF@r{*y6EVc@5WEXH@an{LKe7c1mD*8Fx`fWU zK-2VjflV8jm!H37hO%qB`CR~$oO*l!xaZ(5Ltap@e#j;(eWVJl{c$kX^^=om%yO$M z0wWQa{XR%E0!Cx}F@tFY5tv30gER3>r`d*SC4~Bdk!E{$QVA#h2 fOyHxBi~86Bzi`V=f-=sY00000NkvXXu0mjfA;*u& diff --git a/graphics/pokemon/beartic/anim_front.png b/graphics/pokemon/beartic/anim_front.png index d7a3efa96eeba442fe17fb7159ff8b7025a8ed69..136ca5ec0277b5291be8b12230674d9f1b095631 100644 GIT binary patch delta 1158 zcmV;11bO@83F`@vbbkb4Nkl(jF*<~t6ZO*tN|Kk2xW=QJ85+%cci<@R;>e0+__%W}8;B^+R zUU(np%K(F7(M6a5RM7&!B|r|@~ic7Qs%N0sV>1&~0% z#b8>4`7#8#*Yt4Fd~TYDK8C7OUQ&RshfG=Ev1!f-?A)}40s`W_t}`0A`*3?kC)Z{a zEy?s3T)9vsYJX>vygR|U`SjN{fU>#ov2sobGt>rtat*4dd*h>zdC%? zVns^@DFT2T6ncL|U$Rj8Cbc75DkKPeBrBe% z5}3p0W^G3>g-7~ve-;}h34kJ#c0|JY(LIpmSI3mnb$@S7Y?`BeA|Mt9U@d`%VtWm} ziy{`bW{!yH=hU&rlqYP7GO10LhA0em|<#Ci0< zIKBmVyae#J!gC=wL}d?@KA?`4fDobtmI0X$COR!d2!jlK)4;FQO8~SX#0=0*qVRbL zVU)wTQhx|QJp{({#Jvq=oRa@^2FP(I3Xux2_5*27<*5Z4O(vZHcmxWOtYaZ+T2wx% zwfQz##aX;dQVx9W18^{|67-gXm;lTIs`EB31OeGF++_>xxzFvoD5XeYgzEHFYrvS7jNi)jSXc)qgJN;(dP>E{Ov&xhyc~+FhtmKurWn zkIo4br%S?exE*_vP$=Oy(BO=3UxofuXv~Wv?@LhWW3$Rs@j1&^=INON+>xEcNgIt|>4Hj81_tr4Ko! zhJWW;X>AgVqUiFzyBgv>N+RmKaHX|vy`SIzcG;!|99&Cb4r1AZ~=Y4lR)1oqw>mlK?UOFvPIfd96OOjRZ^N1PEG07ggSB z%dR1|0;IF{bhW+cof9D4ZCW{iDcjAB0P$b>OzkLw0Yt&Q*Krj6XaxwQYxOKZXVM7} z+x@5SSt~%O*wf}uz_tf`COZK#BYX#)*$ccVFy2;y_<&~$WCj>05U;=(Dv-(tynn3% z@d=D)3S^qZs}#tbz-SeSS6~bkh__M`1v1qSZ>>P40%N2=CIVxqK-8?jXcdT8U0 YKm2`|?F^{QzyJUM07*qoM6N<$f?v@a)&Kwi delta 1150 zcmV-^1cCeO3F8TnbbkN`bV*G`2j>O{0U$Px{+Evc00c%!L_t(o!_AjFZ{#)*$5(+0 zmy#$TFpy>`VgtC7M#u(9BZ-48a%})#?GspR7Z|}}>w|H2nQEgpXIznQao;S%haPJ^ zHpX3muvuCBX=XU&aQb9 z%@H&Z?NlZ7i+_i=_eU~vYu?g`h5AT4=V6Sc3G(3p$L9U-w*Y8k-%;j@m7i5&Z;VnB zx6S>Q0JGyU)YX~=D|Sr7A#o4d7rLm`~>kNY#*pnuc=WJ20E5{@VLphtSMPjt9$ z*7(+Iv`-p{xB>i@prY8`LT@6AxXqa(Lj7~-SToQi9m#6g`=b3s?Fg|yY_wZ`KTrFK zh{d>S2EbI^y#|;%*&eN<2Z~96MN0r{Gd$;lL74YIJ_S_a65v4?!!jUKwv-4D@?jpv z%b>6E5`O@#3qAw1i^!%dc<>^IU<^P73+tq_4SAGk`^gND(n;hz;e0&}B&kkM#cAlp zBqM-IAmi~m;=IzE%0{_1-^M{CqB2exu=Nx`FQXzRYbo#%;9CGYYrzB{hVFt1A7TKH z0MEMU0rApB$wd^LM|?h_s_@$_jHY~`-@6l(u79zKfxAKozrv*!T$C%nSp8pz7hV8l zc0r>^STD{~f#(xC$BUgV@$%tu>`6vd6||Rf+8$_+rF~UB+d7aSSqh^2%xyl`?^aVR-%6T@BHWB$4jCaHEuMy&vBEeBG&o6(heNwF#MT)ScdftJ9m$ zx-YsQGU_PF_LV0$~?SM6dCOWl8{K++jm{)GVhQs7L1%m4!g5?oRs#dm+N zK+;PJWE{k+6bQedKr*qA3h2e4fZwylNt-{FmMQAN+lo?U_;7 QMF0Q*07*qoM6N<$f~a{TlK=n! diff --git a/graphics/pokemon/beautifly/icon.png b/graphics/pokemon/beautifly/icon.png index b7161f04d016e8b3b65c49460f77350c1a904532..84b1f7b8ccee70b484bed7d7643b006df370889c 100644 GIT binary patch delta 339 zcmV-Z0j&Pa1E~X$Uw;8KNkl@I5DM|txW8#dDsehCYEWcSIcNIq|H}?m` zV0_BiT$HOk!S0k=&W>WI3dMcro=SUJx2=(hx_puSBfui-NE zMp~qkjZc6RP@RhH(jRIsX_qih7(Jo^&Cgzyk%2R@3+KZ416{|VQG|p2jBsE(ig94* zaOmZ57^uYodQ4y(4qyT>Ee>E*0H(#kD9c9&OpC+&fDeyDn6ATNktjc^4hL0q&Ho&S lFzoMe&^(%?HR;!e{RJ^lrKu9n&AtEt002ovPDHLkV1m?OoJRlv delta 374 zcmV-+0g3*p1Iz=EUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}m#yh6; z0003mNkl=RG6p4C)sn3wXVysxYXJ9QWkHFMtYlgx` z&Z&^f(yJ54CMjyAN*y?P$o=uzzWYCbD+@ut2~AP~pM}pgjDKj<6YSdku6i~0naPz2 z4w^lnbotRdhBGj2@*IudBBrPbT#kts-ltkWi2P=W(pQ|c-rOG%qwt|;b5*YL1iM>m zJv*trDU1v+AKz`WRgvW38Cb>k6o$FMlTYA7SS%f!r8j6;!&$PqOS1+K z$?hem%96pwLY8QT`~_od@CjNNtoP~XA)Y_R{@NnFsYba}U<4!p(4>jP3fyKXm^w^= z5QzpzXfjp23CaWW5dmEOMG%Ck z>gdNTOnr|n5J-ec{0PFVeu$SB1|?zuL6}p#(>=fmGvJsB0}Ms315UXPT$WjYyUuCC h4~StqR7P7ctzQs<(D|m*%U%Eg002ovPDHLkV1f>*mJt8| delta 371 zcmV-(0gV2o1IYuBUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LT}vMd%|l z0003jNklZq}6b4}5;E5A(2;`*$S$c!UYkZb&bZOR@A=z1Ssw^3Zk%i=T z=wBOSuxSs_ngP9Ek7r>%82f9B^rjl+Qh^bW1b`+@B-X%PEPoBA2~$9bi3Uh$GF99O z$_M5p26Q=pKoVcZe5$j$9LA-A8Ku;zulOTwa#yN5z1O{%JI1?epRUbq{~Q7m2i11h zrr*yqM~Sz#vnVh>;qJCU1Dm`*!49P@S(czk17>y>>5)+-24oFFBJ1!KWl1;|_D>hK zf`r}(S_8+$3v6-b z04#1z5iAk_abmV{vWgT!2MDkeV4u8ez+1C3pr-&PAVdg1UP>#k>$(}R9gwoBTp>uh zVHmpUX+jTSj<}LBg0BOP4uHF2KC?NLELTZNzxTt?_rpW&XVqz!U>$j!BY%j$^=AC_ zve*HFIhqXsndH%{1%Dp692-3_x1w2=n^J}{>c^2C0Tc!~GM+~g3XKkS{)uxrrtmh9 zgNA$)$+9YywxR*B8kZ5QAOy=Ig`jBl8_fUCIFB8G5S-APWto>%TCP(^UTq$;!!H8j-z2uu+OY9EeE!Pi?`Z}G(SqzD9yx`kCL=mddH i-9LMJc3%JY@VtNKP-sM5`8a(50000Arsu;a)|%{0_~BLLVx_;v!5N$`|R+O z4?y|>@W}-bFiwAEmmnpCijM$s!l&;5_wV;XI0AMR5ayOhuK?eIaLmzypuPZhA|=%P z*7_oeGf13Bcsm6u}|^ z5GQ6ECsm}dbbtUm0rtte2D~*p19}Qz0+tBj$4hDDbzL_DwgXaDl`8~EHw;5JJx%B# zj1gBdM(}mO(E)H*%x5-+lI1E%>GysZ`hIw*{j56e64a5$Ie&uqTW`i+FN+-@7^B$$ zkVziBTJYzA%dyb|b1RxqQGeCF$f$bUnI#$n!c$M_lEn8zUa8mqSvwF44;6UX*j&IQNNvcN+ynh)Gc(o~^Dwpwg1|rTdi8V0` zuq||y0XqkT&2nuQAgy$uwjj!EmH;TDY;gn!2gW4UCIGpCjxzuvSb*n&Nvxq=0I0OI zRUFz{yDCf)c=Z7^DaC!*9rmKw9RViM-~+`L2HYJEx^A}t9JFowJ Z`~&7tXhehp`)U9H002ovPDHLkV1lzhNkaet diff --git a/graphics/pokemon/beedrill/mega/front.png b/graphics/pokemon/beedrill/mega/front.png index 1f310bd958339bfb0899786f19a211c6e48757b5..963c10fd9503d30f071eb30aefac9e62b52cae35 100644 GIT binary patch delta 929 zcmV;S177_32ZsodBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um17Jx+K~zY` zt<=wJ+g2O^@D~v3DJ&{4p*syfSGV<2RqoYRo*qk~luCNO1*D-qTfUTC64<2#%n&&T z4Fy7OS*+Z4OFMelHDv@+AM+oSo`&fLLHj=0PApr=F4e`Bz8`&myeA2L{bOnRN7Gg+ z!TrhQr8=pt+y(B}38@Buwc@8mZUa^U6ii(5uqv+58d4wu)s1Sf#A=B83SKvyYCr>m zF#t{oX;xLh0ckO)K&k+3B89yq*hei3;m-I9RXb!s)|E9kt9yM5fjDy5t{-pV}Sys;MdakQ;}(pMhmdUFvNEbg!E zr(5im&H4P8Hh`!7Zol{Jv?Cw^hoQ;jfg?BpytlG=Gx z2CKy8@88DR;E%IpuK?vP6^D5I_qSR0?)$TFW4H)xqI>515826|pHIht=;!4GoZF30 z*~wp@68hZa+@scic{u@hZ6ksbry)H6U~}($E`d8V#C|pqV&lNz9@qK#>y+uVj7~TL2p2Z>#faU(r@ve}-n9iwO$JO+2G3p%0yCbnb z*mI}An&bxnLyBLI<1B|2-*e6JLMZy=e)-PlBlWi(?dWi{uch_`{CFKlE&Rfdjx=p8 z{Ws9QwGF3#cp!v-v!j@ykZBrCdjY1Q%S%s;Eav$D9_)mS2AC__*})trzq5y4gQH<_GYhLPN9k>WJ}ta{u&Qk_luz1hDMti(f)@UE3J= zu*0{3ZyxN>1R83~lc7@q;#iiy6a0dvV7VG35_n_aRRKA!J-&5V1!M(e`?rBFMTIF? zt^!3!8J{h0E`p*0QYWXEiy%RFA7A|c0VDL44}|^$jip0fbr-#u00000NkvXXu0mjf D@ua+I delta 918 zcmV;H18Mw+2>Az)B#}W-e*gz`Nliru=LQD>Ar`EQh6Vrt16)Z&K~zY`t<}G4+e#b& z@Cyia3XRGow9~`qYHOFOa#ve99ZjK>N;+==sip33 zkrsmrqzcd`lGt;CUDPrlUYohva!`vscNp|&s-!-Xz$Cm$*`mUlGBzwrpXt$5xr00F ztqf4JPL1Yt1(mmPf47f2Sf-Ry%UPHPoHv%jJ`UDp`qJTCZO#IXh5ebp#~fFjN`9xkusS{?_1qw3dUZF+9xq=Yudz4v(Y#Ok4NMV3C;ogXRoCx@T@IT{0^f1Z>RaBeofC5K5on#=y%C5#8uJV(~5mZ>m(}%BuM6_SW=Ncp+ z6JQQDird<0BOP^+=%nYGo`L2>f-K(9Segn!g*ek5>fE{lc>=8=#H+m&;@mqs&B1CZ zLBmBT*h@!Ze^KD4yI(a}sMW~?SzL|*ptgcpd~O49CK6LuC4O|NHAhM zizA;tOGh`>*QkgG!z*AEaR4lJ{|dK62DD;M=`t?I|B6xPAlw>>ox!$U0HcT_8HN;p zAB0H?E52>(CW`e`?`pZm_Q?OYwi6a>vxH{Du(j z)sA9@e5NQg?s=H{HZR>VSuw{2aC^gN)Wb}&^~})r> z(1H&jLeRu&xdJ3Wfd`;RgE&HxJq7AnyUYvmcCsHR8F)|vMk61!yXDg-5j2U=@ImR} zTh8b0e|3`|J?47wM}>xZ>CqA6<^J=JC=tlG3t-+>Xa5Q1Wo2dH!VX^tZrPko>wTqd=D%45QhB*r)U~Y9>NM33Mn^;Oj|fMI5=G7 zVi%YUEg*ZQDg`mQ*ova6q+S%qZdS03Osa|HPpAKM=Z}#8JC1<)_RhdA0VKwzY`k3n z86-zWpfBe#>mXe*VsknJ2R1z#cr1$$az3Ck_JIZfAE>0Ulz*EDq?Dg3Mi6+Ca$oBP zyKBY1sx{J3GHCf;p>F7$3cQt7je-U+@by--TS0SP_yWGd!=>$L=`#k-T)P_w9DFEn zXF%-ED!a^G#+jkjs8PkXWLS@Hp~^f0Cs7F9#Njreg+S~hFsB#ch63U~;Q7swo-M%Z z*s3=qZvNza`%}d~-O2f@FfM+j7sk=e47@Oq_ya s@<V!H?$FkN#Ibt|0gkH~*6#Uk(8aj7%p2A^-pY07*qoM6N<$g536=QUCw| delta 362 zcmV-w0hRv61JwhNbbkN`bV*G`2j>O{0U;SYG@F+I00B5jL_t(I%gvIZZo@DThW!So zXc|o)!U`A)DL05rTR1j2I9%jn7laHgAbqAP1u?nUima-nUX;YHTe6Z#HL?8Z^q=nh z5%Pb>5zsg91(+B>qD{(%+j+2nZuSM=d&Ic^Dd7&P_ z50+9J%5?xz%6%Ck2)s$Tt5t*DwPIJ*3aKx#N`68J08GZifNw6bjsF5ZiOPxXfLKnW0svuncX9T@7zh7FhsJq7bSH!>vIH zf!GJ2PaneB9Am;h;Qh;yo<-nuXw_>HHh*$c`{i_@%07*qo IM6N<$g6P_$1ONa4 diff --git a/graphics/pokemon/beheeyem/anim_front.png b/graphics/pokemon/beheeyem/anim_front.png index 4d67e46e007b433edc8e6ffc8573a07f02fdc7bc..f61201cbbd8462dcb128bcf3b93af0ba36c7d91d 100644 GIT binary patch delta 1063 zcmV+?1laqH3HJz)Uw;GwNkl7P;^{GaR3*0#=U?UkbPk2dclQ~PD%=!rQt%>E4X!;%E)_Uc1fh5cGm8KAkz{1 zadu{RX8*Y$_|I7!A~F9-9qK0kMQY-$vaV~+))sn=pYEQ{C|3KeX0vJy7$a{lrX|Odd5vH zX#BCa{>>*?0TlDiJGj9B&HxVffd?&z5>XF?IpL^UqjFL2$FJSOc&<;4ib@zvB~bN}AuR+psj3+`r|R$JnOf?hOH(OXED0 z;Jguxk$>5v>Wc3^xd09WZrdhoofpQP|Nj?@B9C;Nb!-S9A&j~|rq@lik37;G3{5+bs)#l)_2|*= z4*MG5P|-p3QUq!b5T_hiMN2aR6{OXIP9v5zG=F?S&j&GYk_J2zM*JdeY6DP>6*sJ@ zpvj1*0Z$r5lQSG47y)EBK*$+SfSNEkjwnV~3u?lUsH|JzCHD9d(8DPxO&TT%aSwVk zjDgj5f^a4(s~I%uZp3i7=%qM17{I)9!g1PI(KTeuZcw_!GZQ=YN99oi#}-|6^iqhE zpMT3KK7`I!bg*uhC+qg25JUHUFV?Rv*6n$_RCD)HcaPc@i3>sMYWTxaovfCQ`Q;ze z0_SeuJNcv5`uMeTsbe3GHtLE(6Ki#brS|yXPpa5%qKK{%!**HOf(*GQVe?;CFjxg`JoiqqDBaHUx zCU%{mMhoizMuHlM>2rW!MY=57@2ZB#z4_QF?Fb$0vX7F z|3Fkodl8tsk-^Dkw?nEi$l&;2$eOWJkpH9aC{OaeOVFtWdVia6AHDna-ur&(dH=c5 z8w}j@A%KhUIlx%$(*VxHNEP$~5`k3ZG+-hul$ujO_$|N~0df-?6o0ab76u95;A-B0qd^H7e9WoH|rtq z$|h*759UWg#NF%9a1X5R97Jrlax-X>JBu;5JvLeg1DHN1 z3V&-x*O0Pqfzl?Pskl>rR30_7Ea9u87ebu;T28SMTD$0Q-7Zho?RhRn_V-?_U!Jeq zvv#Qp`&Ii#ZHvUYAaynPX{k^Jym`w$AsQ*#Q;n$z$9vX@rSDVc-?1#Ep3k3TaF zG=S3o426G8z86}U_q=l&|e;g*?8RxVN^tvd=kjtagjlS1FY5AYLod_QxIstC>Tf!Y|$3GP6Zi?pGFMuRxlTO0;d zh)@Ct{$6VjrdkU)3c@b=SdPkT>@lD zQn1q3G09p4oezd2J(K{|@Qaf~k%736o|8ZUG!{aIhse%LXT^(Mwj#g%o&DynTanjj zR_ELmHX={a5^&2#iUaW8 T`Qf5400000NkvXXu0mjf`}PZL delta 568 zcmV-80>}NW1)c?vB#}W-e*gz`Nliru=LQD>As^LOKB52s0s%=xK~zY`oz<~U!!Qs4 z(4aIsCUj!LWJPLw&d?G2vN0r0J@8#s2Y&}Yz)!I8G1wQkja?fA9uU&KoX=q26~#Z+ z0ug_TqvV{!Dj(;xR8B0WIAWI(lH!dmqfI9`1CidOoOY0?5c_x!));O@3v>^b-e^@&Pd+Y*GS-|Qbi3(0hAWEWwzY@SYP7(lHB|wxU1f%`hCmEBV za=|G{4JlyvaEp?75dnXWnvy^Q6dI--E+V=wm1avl%tieAEB$7Ua}n=RjK-KF%tV}` zw7?8A5reG*M|KjmE>ge@UbN%YTeM0Jy2pDpb&V6aVJw&;jd;jomkp=ZEBv}+I2Vx=z<){RtUVr64Bo}6_z_gKSj!Fy| za0S*uYXHF%k^c2#B0rSS1$!wulu+z#Wg6OO{0U;udKXS7G z008nyL_t(I%iWSOYQ#VcMSTO2W_1)F#t;a><8IBcFrPH*+oVnBCXk#a-f|5A4s zP(l~%rR1@MVli(k^UyA2hp!e#vV#n5B8em|qccOEyr}DMa(@Gn7k7#6Ttt8X0000< KMNUMnLSTa39Dzar diff --git a/graphics/pokemon/beldum/anim_front.png b/graphics/pokemon/beldum/anim_front.png index 44a88a0c49e130232865f315b776dc7b3fc7df93..e8437e4403f82e6bf10e9bcc14b698f312f3c700 100644 GIT binary patch delta 701 zcmV;u0z&<<2Bij&bbkVyNkl}8>u0Dsd%Kn7Gdf&q|?07*-hh*>^%E?^${5^XL0Kt2-?^XA(`BIS@aL`_>; zD(Un`Y-vxa9SN5cpGLQ8MM8)mXEaeD9VE!XbQceWY{|(zw3jI#%<(+e1?0A~eob_y zD1$+8w^=vmF_J6k<@YNoPaI{CllzSu$?vzN; z1+1#$UHT4BUaEjxp{m4OHNfO7{wx3Y8h~P+V!c5HJb&E!Syz-YB0E@7X%$!F^RAP+bTRP&q?lNSqNVlv<7% z&DFY~Mt>zSS8;DfRY1ITD1AaQ7jtLu>V&lO1xuLHfz7LK*@M$36f;=%*))Cp1)!L9 znSRUCLm^R31;p7$z-q>9#QJ@i*E%5KL2^o6Yrry$fTdQ8l$&-0nzaJ7vyHq6a$buU z>7qX$b`c3#54Rvmtw4JIV7f2;y^KV|T0b$j!!~<~C#?HAyGhK??|MHO!q4e6<^3~5 jejoP57qh2-s7KasVxX=<*{ix)00000NkvXXu0mjfTI5T* delta 713 zcmV;)0yh1n2C)W^bbkN`bV*G`2j>O{0U;$5Tjvk}00NXrL_t(o!|j%_j?^#^hC_sV zCg*Iu@!8vhd4Y|_)N7Mj7T7Ct+RZc2UUAatdI}!kBt(CYKn3lU_XzL|Oah|WOjbgo z+mTZF)7ayg`2Vx)6sP#N0Ar?>pMYP2nak^Eo&hMtB)slx!+(fGocrgsF$Mru0-((h zBA|GYs3!yh(xmvY^tCj8e#I1D7FPA3$(^? zNGSK_CTfepP*;u-iau?wiW-C4Ep~y45rD49+OX~}0mE(txT9-odZ4W|u5op6hR>V3 zKR}_);sD6p=6_4%Ehu)}Q4D%Dau1*lQsjmf3>+Q;3cxxr27q=1$QrbWM10wrK|OL4 zP0i~GW5J-&;r{TpDdhn%G_}PFx8KH^_7t0ea2jbl+EvRbm`Hp^H45Z?3UqMTi@$S2 z79H2I691s+XrbiU3Hdy-p8IFh z0L$Mr5dD!9>Fh`fRUJv8%w&q(xMaMaPvv*!{N;S21n*f~B|vFn{pI&w0t|~MOK%c^ zNFT1_tSzfTC}H{b<4x?k(g=WJV8a<8iNHJBB=#{0<`Qsy8;uoDnOnNOBU8(DHjb!Q zUlB-HmwyZ-Bb*^q$jWFiRg#Yx#MQbaS|t`&R&O$;JPy={yhFBNaVLo44tX0(VlyQJ z`&aF{11IlL&S2dYdL;u;&e}q*vWif$RTBYL_5rYxFe{e+Sm{~@*gUXLscQ*Xrvb3o zNS1Qn3_#ckKr`F(M4*e3y~vl{W#0=eSApzW0YYW}LHIl5c^Qa6^6T>0&&zhgTwFY4 v>igG;2dXze+xw{(jKBBC?29_d)&GfKVxX=<{m?5z00000NkvXXu0mjf;Pg`Y diff --git a/graphics/pokemon/beldum/back.png b/graphics/pokemon/beldum/back.png index 8ec87862e7fdd9db8484cc7b29e8f3aee9e693a2..d605b0b24a75e5fab8fda0b8a4bfc6b736e97ef7 100644 GIT binary patch delta 560 zcmV-00?+-71(*epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r5#hK~zY` z?UX%^+b|G?1p_KmkZbpAN<6@d$N@x*$^~qPECP6smBN6pvmI5sFtCTo{48zBrUN8R znjOHBrTO^g&4^O<75_aJ=K0U*#&r*gI>yFfbdN-WQp?`C7kDJH?UhmhcyL{@f?BE^ ztA7Hv>Y9&50o8xzZ7IKh*k(Y-V!m+#EFu2rig~9rcR7T{-HpM}1Yg#)9&Fp(jbTRv zW&i*J_*)>-?3^<_2@G%t)Y6+_2X+TwZcNC4bWaX!^u{Z_o&v_uTHWFg|5@;8rJ2+) zR2_5BYs_f$NT+U^S5MBgXpMx70O|rPFi$-gFmzv2m;DrIoV4J73>$54frZNt_&XY; z{2(Q47Ess&i$CE24e*@ka+60u_oVy^pcTMhfm#Cx8wdo9@rx(<}J0OtKl%R^OYA1bj%*#PIz@bq<50=v^YjgU-sm;^DltcLrNp~ehCC@ z@cq1Q+4J!ofn!R4i4BH{wg?<9oN#UAJOguqsvhGeKn@0~Ie>z31{B`eS|Nhs*yq;5V#!>(a00000@?kT1&jrdB#}W-e*gz`Nliru=LQD>At@T|t2+Py0q;pfK~zY`?Uhe%>M#(- z5mJ_2*oA#@;sZ2R4-jjztOPuJ@g#bzE|9oRcg~UpQV-MlQ$qsgExLJ|jzl1tpTGHL z;)L1kH~x3b&C|crwQKJZRgAU6Xzz&xr52rY&u~v<(HHtLd( zMFG`)=WQuJ-(*0?V!n0)EFk`Ai+QIsciD&9-HgG|1fN&59&A(JjA2UyW&i*J_-i22 z?3^9IDe*x4Pm}8!LFktAqrY^fNP&;YC88+Hn19O*e@CzEGd@m(z7Ess& zi$CH34e*@kbe%^)*QERspb@}dfJy@g8wdo9@rx( z<}J0QvwlCY^Q9LHbj%*#j(B$3rw@|wv^YjgpZDa$=^fy8f1lC-zFPnRYkWR0TlRGL zK;V#4VuN9%EdmEz3a2yzru+RbX9ze3z=>I`FabUp*rfsc1Wz4ID^#Mr8zObaz_bDa zM_d~@&%jh*Rt<3-AO{22ZzOyoCP3kttz@#_Cf5akYV^xnr2qf` diff --git a/graphics/pokemon/bellossom/anim_front.png b/graphics/pokemon/bellossom/anim_front.png index c2e9b6cee4c4885ebf23b64031612c8dc6bb1762..e46c11c0d20a4349671613ef83eedef9593b1beb 100644 GIT binary patch delta 719 zcmV;=0xjTQjJtc-P+c3Rty0l*ZykiZKMSc93c5Xc}rj9&vtf zHOJ%_0CF?V9nNpaAuu7wIrlkVdO&1suPa+<{z!N@I$-R)ehlRG(u4~G z@yBH~5h4}w=Xb97bx|!CUjB+N4FvFq5IGXrLKq02D;-4uLSg1|%v?F6Ry+!3i*aQp zB_^+!k&^l#1w(ksSg{CHDogh$l1iXf5R`r@fJjS1@;DHlp)w5L4Y2PK;^Sa?Syceo z#l9UP#PMC*R~{%f#N~Pp*~s3~dy^j(>6u_5E#D+`w$OVlwtR~m4%mD{s*Mi}!sQ9S7>fFLG{{GDfvT`CBFxs+x70R@}b#nlbFn9>wffIQ(myI5m#3IO>P=O*Vj=zY63_~ zfn;g!F6*QufK)}cqBV2sE^Sh^Tyu)0pRtEs^N<`n0swY{W|=9HpDwj2v|1QxhlYWb zhYT`y2lXy?u~U@4SCr5#ilQ)(--@CzkgcM`6b7Y6H3ZW=v^r2pWin*pQAtwm<{Xv>cl-Htrfqe;Cm&l%7mP zzCZp96$ntuycmI(&7kL%P~1p(GR-n}(E#*8YgFc37>F~go&o}LB5rmf=Vj6l>yfBaaMZ i>?uwGygNnz+4u!RoI;OPDP61p0000!Y~kq9c5tzI%I|ptU)HEWq^UMOyIsi`vTzMR>r~;kgP0?r9KT?CCb2z`v#=8 z10mQ(s6&TJ{EIF9pYQ&=1l{yM<&?9tQoaCG8_Mw-)aF)%GpPx}tHanwk?ohwuq0l@XZ45>tM5A zNq>{BajS0-?Waw;=b}q5-S1aq^r8c;ewuQ=Wy_R*a~_aq{acL&q5$We9+wIT(E-wv zKL6}0U`xnQ2Qp_j$1eZ@`6>dtfDF%j1jEDA>@Y)I16*0B#}W-e*gz`Nliru=LQD>Au^DNV%Gow0iQ`kK~zY`?bSVQ!Y~vE z@I+Y{fex9W18a~8vr+SHKjeZTYIz;|r=cl{xGdKqwM~1PD`G1|SQ~qZp-+3XqKft)nQSnNX&5 zxF8~rD3uu0%iy9P^E{?>Wdv3m9@lG;OMsB4c5n%eMNH)$M9+cHyu=VhKSjR)D}4qB zehGTl0Md@>LhlT?f7(?O`=JE9o(de#xjP+`SPs%ZDs%#&@tbvu9kgrCYLNqTT$$y^ z@T|9)0nC>LK+)3BAfk(WgmpyqDJn57)w^L#)Gy_xTfjkj5g%Kg>kXXO@$R@0`7YU_ z&PWs8r(JSne3xNzJZ|vhMFpKvk}$TXtAu?s=HqAex0;N3O9RIGLng|{SOs_}a`rip zV2^R2f;2g>3&6);WpMCuaK48hWUr=+KEyTP;0$yJ1wgm|g+HzzCtF$T<72u$00000 LNkvXXu0mjf(*4u? diff --git a/graphics/pokemon/bellossom/icon.png b/graphics/pokemon/bellossom/icon.png index 138ff9c1e59800adfe14c31646be946cb6cc14b9..15704ab54a7cf606ed4ff000be9e9dc5a0535ae5 100644 GIT binary patch delta 259 zcmV+e0sQ`g1KR?SV1MRGL_t(Ijop$l4uU`sMY+M;#v9N=<5Dh#aZ4zv)N`1Scpehe z3%J-oL4tv1F($Ah#sp?b?A7V!=kMR2$+N7l9>Ce&ZyH1Bb|HdD(vWr)$SeIugaT<5P-1IT(>~U82YjJwk2dYlX~USj=?d=Z z^h_dbZZE4zfDE~}iCL;$}-hI^9QfTf!G8LfYv-vtI*v^uE`dU1Q`GT002ov JPDHLkV1ml(bbO{0ULD z?{qUBrvis`^H`klH$35hs}RLkRy7?#YgOl}4RO;Rye`SmPG2!!7Y7vKGB;?9K=!n* zXtOmA2%0mkkwBszC~Q!wB#x5PGdlk|zY7d`0E3GG*AUjmLJDAAV&UL2Up2+c(m(mg xr722BK0Jhj@+1qO>}H68kqs3Q`SFVH=MFGUuF2BQoLK+>002ovPDHLkV1iwId+z`M diff --git a/graphics/pokemon/bergmite/anim_front.png b/graphics/pokemon/bergmite/anim_front.png index 2a9f28ad1ee82d62caf75c0e635c330bee3aa0ab..503e7ea256ed4b978cd7f20465a37de6f1f93347 100644 GIT binary patch delta 662 zcmV;H0%`q(2L1(*bbkVLNklt{W*-0%0dT2~{Rd)Z#+q_b}V3;VJDJ{*#oljE%YTw5B;oCr5*9myffv)-la;g5^4j*LlXpm z@t_zo4u1_`z5wV7A7Q*l0PqO{0U`#P5yhbZ00L)8L_t(o!|j%_Zrd;rhBXkV zRR2V-G>!;7+^Vr zN>&aKYM|$6m4p@K9LF4J09GYH?$)6wzyOphfD9K(E{wtCd&U8_U+}c4eQ4PILSXXy z8@_0*h*N^wPk$Q@x1S$CNcr>}+6r#&zjAZ?_y8c~(~Y%NzP-z8m^|*lwNM1`a^r^F z{h$F>WLO-=q9hWN7kH(>;%QiF$Rvf=7Y(=Fs$6#ic`t3(UEuR(-E|8~tzv24cKdpF zy&!?PT{>j8xSo^ucDYDCURpb!_bClr^+}4_?`M5tLw}#=v#yW)gf5SN@?#zApDPoK zC;Ti1#L`71JRl%cBz_c8K=xrkL;y5Z8w@aL1k(uMhA@2qz!pXZ0gcA(1DX@#G}Pb) z3?QMU@&L?mmtiQ!J9u+5I$j|?S&Zp+?}?-_kH%TM5ylpzM)RVUl?iAxe9+awcc~Vv z0;Qom41YlY7!S&Q#-Rbs7XU-)B8=1U050R?Xzbn3 zk)(8fn10}ZL2>T8aaTRV+m^0pfsf1f$Ncbr*A*W$d$1|rl$fFb0000;}XI-YIZ?=QceS0bAK@R{S50V=b&Ez-2B5E zz^>p*zR!7v2$~KzLAQeH?)&t$cZuJC!H<9(Km=!G%0bKscm@W{0Y;(2Rq{(bKxH=G zv@$4Xz()=k#0<&-Fhy|LxI_XfQwgBloKXM-Ex;X}djil%Fc5eWHv9m!6<`bv#00>% z0B@nwJpo7oK~m3Q#RA*}@Xe4Q1@ef&wO{0U`+suGlaD00BBlL_t(Y$L-ZUbAvDp2H*@H zy5e-mYKeh05(8r)9`duez|fyvnXkwJOs`w-;=4?GPI`sIaXP)vpN{!D0QCVdS$WVP z`%E{uW|*8|thGr{I|s=SjRnY)696C;;s)U)Ks|s&h-Lu$A%6@FUeQotFR z)?mp9cm@Vs16)KFR#`9c1kP?eX=72(fXf;%s2Q{dz_frXZEdN5vrYly$BYUfWC}dc z`xgL(1|5NraAm_!kk<>|h=Fd=NofGAp0>WN zp1B+WEj^2HVSt h|K&|<|ESy5GB6y{D7`4}qMgn5FNr>sqypNnIV zTB%cS;K%pn?tDRiAN?zNe2WlqW;+C7fykZvaY|xAs2iY|#)8VQE!Djr>rayUQi^`< zq>Krhz33jElyZ1J=uOyvy55~Jw$$H|Cx>~5K%ayVurVSYrBs+}c3A_g^#2)2sR^H$ zmW(~tfvG6+yb--s1E4u)4@F*!8`FV9zz4JnVG00%`D-mt{b!vApc{Aqj5y~@u&L<) zfJ}om*mWnZ11dC_LICnq&fy3MJy~FR3HWl<7y%7n0h#eNxCBmrVF3+b3oKz?1K0!0 z6y&A3Cs?&Cgv>((5OicS=5W=q1)>1VV1qCUuK>8GfAC`fH*JGV?JvKJA`j!ueFXpj0i#JoK~zY`?bT0f!Y~v7 z@QB2-acIvAj9!Il@58Wj8LQgchT3}yk1(ANIYbDEpAMQ2!m+Ai;$)O0yKIp<+=N;^9Xc32Z2!(MJset(*XjB1{-{n zaT#!_!4w0O=P<`3e-QFyfmIuDVN@A`3~&KRq7B*vjd1}Da0?1JuL15sAx3#H`$R_# znSeB;hd~FbF~>)}ut4CU8EoJO{uNO9$^3(#0({aoNYtVIF2d9K*b4Ti^XGf%3snVg zN~!Zl0m3?0@U|Tca30|b!Y;IPpm@|NP7g=z_JePQ?NB1 z!WLkLp!+%y7Ql?4?AuJi(N9OP!Lpb#tOY?1Xgw&lahcHuS&!}S|IEJtuf*Z4Qr22+ P00000NkvXXu0mjf*2vXB diff --git a/graphics/pokemon/bewear/icon.png b/graphics/pokemon/bewear/icon.png index 1130bf6765e8851980609f5aef84f7bfbc0758f6..5ceb073fbcfb55ed2f80f6666e1d1406403db4a7 100644 GIT binary patch delta 253 zcmVmR&;Ha3bUz3oupE17-O2ttPdBy8x(!ED8Q#mC}xjHA_L7S@_-3|aP+Ds}a zX@eK6Fn70=BI9;;VG9`)=bI1!bRk9&1hohPiWe5)X#tpPPIe!G(XI#Yn%tFnf`DS3 zL4%-SRvdM?!h&a89RWk@ssu)p`N#MRJ#?f89Y%T(ccmU=+m{~0B$uhpdU&;I0Bq&J zcKCi$?!&$Xse1t1WML)^ZrA&PZ}jwoOVE_R|7|}WG{T-Sr@c{<00000NkvXXu0mjf D9)WUy delta 294 zcmV+>0onf50{sGzV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U{QMrq#s& z007`gL_t(I%gvIp3c@fDhVur;&4Ctl6co*_59{V8Zr+e*DUN|O>Sm#5tx*3I9F^Xd zFL%c!_Zjogpp+fekXO83COvorGnI3~l$&$n9kjX0$?XBqqJQbg4oaHf1uM+MZ6(XN zUtHKi2F3X%1ORP_Q3OFHf`Hv})%j~`xsa1QEx`@i<%2{giTBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o+MMK~zY` z?bOX`<1i2h@D#zGdWdRw@1E)b;@B({a*;eQP>ORdED_{+$`%ZHn1zLffF7#jTCzrR z!ouDPor81u|1ui+L#wa)zxrnF_+#zM6>#W#DdqRR-(M7zJU0NKC5e@kiyW$_JNPIP z64W{aTL7Pfx_=rwrMWY09_7DiHJ%eQb-q-fg98q3eSQa@OJ5sWR4?#A{=LPJlg;O0o6%FK~zY`?Um1J<1i4$ zQv^NrVAbBZk-0xT`SNI&Kno_z$3&`7%yf%_3wQ!O9sR*XdU08D*1y3;c8^SIwm! zZk%(!=-piaZk)CDf9U9ArU9sj0XW&S+ALzxVL3#zUTp@jcF6c(mx<{-2H>q*>XDsn zAY#9gbHK(WDm9c~&MudbihJNf38`ui#6;Z41_}>M#D{*0fDVR@+7jWsuXVIW33UJt z`qjRZuV13m1h5|0_+yBmk+9!KfZPPYkm%=!gE3tk;(l1ee;iFv45$HUO|0LOuS$Pt zS#V#S3jo}YN9t$fF9PiBeHe4>J03$Q0>*psaQ05dr9j<`gOGVI0cemB;7e?SKZPKm z<)sJM9H2P|>o9`aMWA5QVZ1E>R#Uw;8JNklBnHd}7PZ01m)(qs<>YESV^ zdZ_?P&_Ob4K*~f`4lJAT)~)5H2Yx{6DfOpg*t~VK0k?(~OOR?{E6c`XZOov!Wa(F9 z+nTlabC#~n`@X5j`!Itqf7nO3*#&riK0)x;(+t!%1pxHEE`MM=#0qi?+m|ti3OHw! zDJtGNhACwMscpeg8KN{Lb47;>AcO`mk0}-809^zu2}(PMQ`2={Ch`&GMKpEc;X-+x zpdN#_cmA)Tw;*jc(=87=vsDMu;9%+x5;_ncBV<38owFa5n~Lve kVu~n_GWqd%q~G}Q112!*SXZ`8RR91007*qoM6N<$g1lgw3;+NC delta 348 zcmV-i0i*t?1Ih!CUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU1<{(5a; z0003kNklb>!3`LP|9DfpGK*~f`31XS`*r}*CJ&^nm^_2S4C$8?gTY+oG ziY3S`u$67ozBMK)o~!h$v3<+h`$v^-&HJ`%$oudBUw*euaJ3b9e>_0&=feZ23k3l5 zzMa9eOAV9}cAR5&4REQLQ&hSR47ZXBa^HiaIYep7=8O(2AcPLE#LOM!0DoNq40RpO z;ce*hUMBJhRa4kXJ9$Jx5*GqJwdmMDwc#FQ|u{27S9_Tw8SFzZ-I*vLx&0000Fy_;_&*^!b^2FH zdAc4X&_7j=2LSPjdISkT);>f^Yyg9{A-y@kIDs+1#9yDmL4O>WzYzlK^H~efgG>Yf z=a97k_+lUJ&B!3&L6$CnAHSH-sY*a*lzWUGoTK~U3dRJ0W5V~9`M^7tJJl4 zQQTSkSZphs9)AGtMizBXw~P~9Kxi1*@87I_DE}A~1A-*8HliK_7-BtkfeN*%f3uM|N4aXQu4RiF#uZ_gRPCm?tkHC<9ZO{N~wNCN2Kv4zjTcsI7N8$2xWD^dE_Gv3_t-F4hl^C>QI8M^!G;qb=8;bFm+ImxDSN zafR>^buLO@=rwW?eRzI{j&c$A3&~nEb1`GL;pAe%4(sM3z$Y{rbkPefvX6 zEEW{;yPfgv4+qHZ7Do8?hbLizmv&AixabnR(-+_C4~0|eVW+pt6aWAK07*qoM6N<$ Ef>1C+X#fBK delta 700 zcmV;t0z>`r1&;=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU1@(G?Nq z0007VNklv5wO~5Qf)M+!N{P_<>eGps7eIoJ zE3DI&w7dlcT^`^H9)_8i#AnaONYGIDZ&u3uo|zpd`9_Fdy?_2yQg+9^7=o^NGz5q` z;vvKUsqCna31E1t$Y235iD3dTb;sv$5H~Dd3xV;){Dffusqg^KAU$Eg2Lo(xP7MNH zWZ5?0$IliEijpBUDqtnfu=~*pCS(B34F2!tCd>VivRPt-H^n;&RX#STusAP@?d%Sw zL$~2oUZA!&RezJ9vR3?J_L&SH9st6 zl-60D+j{lt^&g42SRW3kA{Xn!A>v|vI8<^@k&BPiFN$%JmD1#}#2>tTft~Fiz!`_i)g!r;FuKnRi@G>*PwLjDZ i7k?tS=n3BI@AV6XQ|e(W1x$qi0000O!uEt=WRqL!+v=3)DP)9DkRps<%e z&cXkBYX->o!L6$%=Llha0~W~ZG+S$@$%PQo>$!;`cw7KHUdj;QPof1`MYbbvKkUkrR70BX~oA}7{()&Bqh0dq-2K~zY`?UO-{!ypVr z$%1_$%IpDgfMWF?4V4cto8JEjV*`eyMKjx3)KVe^9=88CQR)+)P|95X*a!FPsRbb2 zC#SBmxCHRq8?Zv!)MAWL%6jkP>%I=&J6r)AUh)*+#RpLMZ3-;3f0%usecGhwy$6ek ze#D!K1?lua+$*3nmnR_&!1Fd@X^#mzOF-%z6DcKdHN&Y#y>e~>LI~2sN#)MsW6dyW z648?N-mQrHQKrn!z^zqXlgk6Z^;&_406UvJfDF|uZ6Vebl98P4fNf^djAB`h77|b6 z)otzDYRz*5wm#*3e+szjwzh4r6cQPwC{!!5oa2|MC`Ur6p||0VL8(wP-HOejyBiKh zlvDq(uA{hUi;{*>ao%#ip*ZPvQfHhH$snl8Vehx%Q*fQ5@^bV znQimRa_LHb^L!eARA_ycE5)DgNny_b%Dv~$F9yC30F~)iA99}oaq{PV;@`&)v44JN Tm}@=(00000NkvXXu0mjfFOJDO diff --git a/graphics/pokemon/bidoof/icon.png b/graphics/pokemon/bidoof/icon.png index 042015c6c12dda56dbce5fc2f663f35f618904b5..bff68b5347f697e7256f56e944f97904bf565c51 100644 GIT binary patch delta 196 zcmV;#06YJ`0-OSnV1K7cL_t(IjqQ>>4#F@DMstH4f`jxn-xzN#6O3>gjukq&5kp`~ zaH#S_wn_{L;mLZ6ozK!!>L)99y+$RekI}#t;1K~f1$ZD4OZmZh4+9S_;69xopo~1` z={OQV8HCGx7}J`(GcaFeNd-Evl^sL{4D98XP;>1h#L^^JH$6`>(cGrBi(%=G*G~Ow yV|}eKwil-HV-=1)~V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0U|5k&Y9Ez z005#%L_t(I%k7fA4FWL?MzcYNU=X(X%DB6uf)b`-tZfnRqG>E(bV7a0QR~32~$lDbf5dejYYB872 zFEeu}6d;LH`Yik)utaMz6j{S}Wp6+GTj0(fJ zZVxt-0Tj!&Y=6go0^i&ZJ+iYv(DwFMBR?9ieix0f0`QJFj>EDtDnd0_+?h zo2>xA`(F120i+o9E5x6R#i)op}Kx~^;(Tnmy^ zX>WWOCvG{8!QZq>+jWm<;wEzTx$~qqcbvF|kO)v38h=fk^3Ktg2yn)UQ=WG&dTx?{ zCj_n!uOv;=q)pE|6P%Y6&%17XzX>#iW&>~f_~sizyO%Qn2LSv7AtZeG6@;8{5aK(8 zwuL|$Ss})K+y~&RD8X+OVjtrHzO&w9L5kNSSPww|rXLRQFCJJO;L#t9NfC%!0T7IW z(I|w~;eSsY3IRU|!*ECrp$Jd_@cp6h`(fyZf+iEdPzXq?Lw`6Q2q+MQz8Fw^QiB45 z9wD?T5QqV|TcCd!BDkITD%WT%c-23~gNU(q&jA*Bg0Xhb0di9yEd(ag43XiACAFJm z;EE-+8-CUJZW7up24d|_F9D!)O~l$wb^#D;H-8kP05fZ>-TE_~0L&x_?T(5S7>knB zZoLl03apb#Xt$nMbE>AZK&;(rUQK6;>>ROnD{9krT6-!7OtiafcfiD0D;zMHu6ECi#%F>2Pqe$TbLQ-S5dahIuAq;|GPw$| zG;^m=7i}N&4rB_zH9hGe5paEYIc?^MZ-FQ;1r);&wLpNY=u66RY}PA|0cSk|4lG9~ zD4^Zz)IS^u)tvy5e*l9a@;DI?`3G;71EB!;hh3qCN&1J2NB{8XA0Bx81zK)IH9XY% QIsgCw07*qoM6N<$g73GHApigX delta 889 zcmV-<1BU$J2jB;gbbkN`bV*G`2j>O{0U|E1q-|RO00TowL_t(o!|m2RPuoBk2XI>! zJ4y2e;y~wXoTOV`N6Mv(D<)CC1Oa|I2os6sU(La1}q?V7O@_JYKe zxI@*gQu>@P3BkTgq;{&Bvz0gfe9v9v z){(69LAuI7m4U=w$hDs0AeJ8+mWpjftLJN6TJj zRE`b+`0Tm!DhZ%+8x}{w_CB`b6#%^Jv|msl)te`H9VfwAv341OvfDmA;((3P<_EXM zs=016anF^vFgDqBMZ-ueL6S<%_2c2h4aYH(H?7ii-G3uCaUDB*oLjOCmD$7%jCnw* zX>8&J?*eb~fHRzU!SgQA4B&CW&B3*#X_~a*dFQ;}qvCltwXe55|(o81GyO zfCGSh!x(da{0hcS*bB)$##>xa#8ya1mvjMq=1uSuhr}nONA9h+gfqqK0bCEDd)p0r zfDhnqf%U^Cf;-_~xyA;P=3_pF+5Hzy!!Wz2fb1Bg zxL_2`Fw!WwKr{(biDHx44eu(+)l6hJA3S7tYJU-cj*?)M-Sp&uhwO%845UQatv}N# zi0xz|yQ5+#)}l;iw_b%}DBej;WVfDEv#O?7h1sp<)KogJBT;rMYTb4kyDAc8chPP^ z6JsqSQFfP2n%xZ(iLx8QAC6YM!Fb5-a(mr{GXcigU2dNnwU3K{B&2f_gK4?Eth{^4@oKg|1w|9t!gT5d!&;$`Gn P00000NkvXXu0mjf4D_=c diff --git a/graphics/pokemon/binacle/back.png b/graphics/pokemon/binacle/back.png index 63477f9ed22f9fb8f556105295c2b05929fcd726..51fa2d761ae281abcdce1edb318933529e6d1e79 100644 GIT binary patch delta 698 zcmV;r0!96l2B8L!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(wbAK~zY` z&DB3^+dvcma2-Z#sm|^P(5c?#9K{rxK$U!el5)PPL$@YFr()FGx)tm>2%^u>u|o%q zS%p1#mI-*Z-N9?9dVeJA^v6!=)CV?L@27k3-pRJ{_tC|V3=pa&(eo*r7j zLIPOGJzRkU%X5xYKn}Qn(E9+ETL(Q)Rp`n*ggSr{APK;^yv5e~=>i)eWP7Rt5bwZ) zB>?9V43GjnM=enH1H6F%C#r%3;6evIB!CTbAZFh4UtF(ZLbA`yE4Wsf-Dt2tF^1x(n_0WRv8(?|pKBfS(A9Fdm?TLYu3t3U$rQcs{6 zX}~1(%QaC)v){-&9ZV*pYeJx0z-R}2YV6rteG>k(1pe)0@{RGapP=%qX6hiiorIKx zY>dYxxXpnp01x7Shy3hHpss2_n1E=2ZxrW8QGn17^~c`7;Wde?0kvLv;zP#6txru0 z`VYWu2W1mYptkk0wSqxE#qkf-uiv(S@&0=O%&}af{+p)(K9NR&Dqu`~$BqEj{4IMN z#A2J<`-5P_uYTPovwOpgi;3tVZriStB$>Hp9RF+u+eF5H>_uF3Qw4cGneSQwE%M1c z8@7QDGP!-=C9>VH37)KF`Q=)GY}ed{%qN@ll>`~CgS-KZd5Pbd5Y>F=At~dR0K4iW zJ8Fd$<`w2E+!URq$lsl%D_$l|afb2Pq5@=(r)j!e-=+K=Zx+jqTkm1TQ|an7m9a=S ghyLCE!!V2$KV!qGFXIA~L(BF%$p*0(VJ7K~zY`)zm#}+dvoq zU>!zlsm|^X(5c?#9K{rxK$ZM}l5)PPL$@YFr()FGx)tm>2%_K6u|o%qS%p1#mI-*Z z-N9?9dLNQ?`mj^F^@SMX_wl_SC)+UoI=c9gJamrc!E1CJ^q>URf73$;SV#a1xrZxo zV0q4w3djK$dLO`Y>!9bU3SF6pPzO)~Bmp>=AF;K5y1+&V*`BHZ#4GS%3Bb7o1EfID zQ3sU$0B<0`iK-w0xX?il31Gtyz!HE^ zM%kMjK(DALql5Z{e=r)5;6?#ntP1)xU_2fA5{QAtRN5kkj8H%HqbLWk09~veGZOeD z60rwR_K5RY&8bQ&V8VV5a8bvcMjD_W>7}UPh`hYm8W>$&1rmrq^#q!c224V~ToZLQ z`$696U@{q969VM{MmykJW6$2|oA9S4@NXxRZ;Y?~1eISke^Uq1?IffmWMe!o!EFv) z0eBEUk zHP*}43I_cY$3IlRe%k@Y`|kxX$MTH&Z=MGDMj8dGfHCzQI|5kqx9o8ci!rzN2f>KH z`*oYl?hP|8e>S3r_}F%xB+1M*}@MJB^FV_NOyXF)!pKQ`s5@fgz@&+*GC4Of@RP&vOq>Ntz?5dmWs1sJ0SD3GG zQ*@Rhe|MIyc$qZC8OCRe3XnaXrs;Bhm-1JI{N?s diff --git a/graphics/pokemon/binacle/icon.png b/graphics/pokemon/binacle/icon.png index e702978781a439d205f2274ccf064fba9230dc84..c534783cc136e406cd3b90c16184cc7c1086ce4a 100644 GIT binary patch delta 298 zcmV+_0oDGZ1AqgNUw;7$Nkle(U8G1_(m=@( zLIn~?uyWztfwMp&QaBNyu%W=%G@hZ{f)&&G%QLp@$JqM{D!MkXq`}opfds$v_)3~! z9?xi?#z}>n>fk4?8now>1u5i}PtIW$Hu+-eTULGD359~8J}8Yw03VHt9ooSzgM;nD0q5U( zj{-0@`eL|%^VgR*>=WvbU~u#VgE=@b26J#=2nPq|h&fm=l!FCR5)KXw;o!g!4h{_A w;J{E0_NOTa`yXG5`Po delta 332 zcmV-S0ki&q1EK?vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU2ACBdY( z00036Nkl2)`+45?7L@c`!;%JfJpmFt=JB1BV1FJ@X&^_l5|?hlE-ovy z=bQ!!WTi_kVH#H1V&W>Rj;gY;3!dv+Bxfi0cd!W}F1Bt4q`YWwnYd$Ks%WdcK<5fS zxP+0b0gL!Gn!Mrr(V0^5E eU-QxWsgF0h#J@IzbYL0)0000r%fGhMFKB^QlldPNLybGkN@fqIG{+j3!AIK$A7D+Hwr++ zI?A}HWk1zu$*c%TH0n1Fv##2*n?;vasjyv>cDG)fE6&^9HIGnL6M*Xnc6V#w-M625 z1QDo72mu?B864fQ*W5bKSOD zZ6X6`svKyBP6#x@=dwnvI7Z+gN1Nt2d|l-YJ0O)BN@36xotgiy3x3N^naJMbb&)DD+zLd$h9oZKBkR`?Yn z)@dbI*xCQpW+r*pmi1oq0uXl`TWuD>-U~P&iGPvjDZur>9=j4C*MTDmE|!SxNC2#& zf&=!5`5ozoAq@T=d&t_F+avZBB-<1&B`lo&v{OPg~T7M-eS%S`o;b-5xWNK!}-G%d&_e*S~CT}fjfGwcw~1^ zUVAY8wj~icdXnyU$o z8aj<{t4M$Z@FEA~$FJ(~mjr-#%OU~N&v5}#iS8MgQdP~MX8;o*M5k54lxEy>`7$PP zj7Wf}O4aKJ7w;H@lgyljU;-pTi+}yxCOx0+7i|{{5HwTN=!PrlgEIkw*)E9ga{&Tn z_CrsqQMdp>ztb-u6{{+h4UX!6&N}8zc9o&fx!pF t{{kbnw-y)>VZ6W?(hqX+{U6p3{{SigmwWFba-0AF002ovPDHLkV1iSBTr~gy delta 1327 zcmV+~1O{0U|hCaM%g}00i|(L_t(o!|j(rXd6cqh9?Vy z4GAW}^ezP2*7Q=a3?WHdjASSwl#R`-BCqU%jAjwIB?Pp>H&HMM333o<-G%m2Vi02= zYY^TZ3ihUl?xu(0Q+GuuC_U89t%pLPeX~+xIXk;Pw3kBXFn>tAPxIcJc{A@9LX+dh z_3?)^5|7!%F`=f!z?JOM7^p;z^$^G_;TO3a1&oIX;cR}9M}Q5gM1hU>&`NImK6jAm z2mpCw@qTud^%NdK#}oni{1RjA06bLqMn{l3-+lb!@5 zKF!$Qc;1nHVA~;pFB}7}@>7iiw>7&T-2e_?cevvF!A-j#Jq5`G;MxGK`@T;O6u}-- zD6qBfi1mz=wwg!`5N~KuK6Z!*pqYxV8ag3R2%m~7p{i~^UDiw9*;9Rsihwe#osuiw zux`>5B!9>P3ZRUnj6l|nbfDZS-_WckL_$Y=U!1KVT zJpoYY!j%LQ4}{qQ04qqdVLae=TXH}xmDdMrTaL806vu>kb;w`M_LY$pKuJY3B^B>~{_VEEw=B4fF!C)Y-U?vchK;SX@BEmFYteNxC^zK5_PVHAo%2~mmDZkQP~wM z!O>q1y4v8dE^42}FY|Yl>BAnH66gyw-9&Eo9sxUfuIgsgM~gM_(ZbOx+jbq5*3AfD z!yCO`I%d7omo9X_9f5{nPd+H+*zPIe4Vc!tZ)U2ooa^7+Yj5`vhCWJ-%tZl$et)y? z`TlJ?6c|NlJ@i~jg#u*8;lTVzpuul%A3IJ@2Qs9Twd(06I-g2oUT&$7i1B zXrsO=snpPEc~XG*u#rRZ{TJh&hY0}H)Pw*T6hZ+~9lbNqrE01{QxgJ&=(I+-(mZ)} zbeN2Nj0A`x*W7`BzQ-7hBt0oWB!5~O6t?K=-kyF_fS`0qrJIftFF-Iqg#-ZtX$}Hc zs8K=zf_|l+K`2&DC?7z8%;=ziisxxw0Js2|k!!Z+h)QWJK+xw@JAgEGtr5LbT!3Jf zS%q|KTD19NOD!mf_jO29BrvcA0%STtVBjsQgAxTs(Mq92fl=W9C6WY2*eD?W7a0GR lzyJ@)0%JlyDE~G6@HZ*|mwVC~Sx5i?002ovPDHLkV1jExT!jDt diff --git a/graphics/pokemon/bisharp/back.png b/graphics/pokemon/bisharp/back.png index 80628c5fae3666e5fbc9e94749f4bc4e9f5b9f22..ece475973cb36d5ddb01746775285f21e7639d58 100644 GIT binary patch delta 824 zcmV-81IPT62c8FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{2NoK~zY` z&D6bX+dvcm@T=iShGJUcp^(KG?2xUgNykEo=HkX&QpHLJLoRqJT@vt?p#@WK2HV_H z=uimC(hP-=gV3QWAzZWtIz*7gP>AZkq3@k-=_I>!D)dc~@5lQ%---M$G50r6dXsp4 z_#m~O=_SC+avCgi6VP&hE)8tHXS`KcEDiE;1!01FoUtKTPCmzlQHO)i_x+y6J(Y}ZwyB3uKP9tsDK_cpss=d zaFhg1(I0K4qXGzZi78CbANO$oD$sFrnFIwPga$MSCgR9?$}1Cpu#5mVLIsgXfT9f< z5Nt;vxG=#+9mj}U!1%GoccXpU=!^gjW`hhzP)9IeY+UBrs6ZP41cITblt28X0XIP( z=IFvx=;22CC_JNu7-W^B#T9}m0Vy>E%-Pjjt%34`;QKy_hY%50bzr| zP6#Qk8JPz2E%}*$Fkdm{Gjkn42f&Bh+L?PS>5dAAw*+*nWq_s-j$f0~&8>#Mx+S#r z9!||+1R#NM6o8MG17OH%@+<-1RErS7i3JtZw?zrb4A9LqMK>FIQs!Rx04yoBhyhs= z6_Sm>a}DHa)MSNZaI8U1=AHrY#^8$qM)686tQsKxH=_rCd9tcP-zz5*7*W$eRTt&? z-KlOdp9HkF;EX`%|HL2W>ZufzIliyFm9_)hISUZ#;GES*e*{c}L4jU<)qtm);IH9e zGg}n5Z}7d826G1-qtVT0*JlEJEn8xh?ln>^)M9{NK3k-EoNptzkZ@~` z@h)wSZ?stfz#Re?K}V!oXiWgrSl1xE(f=k0`3)HpY!mf-zTpS}0000B0Iu)iLd|w0`^HnK~zY`&DAk$+dvcm z;HyC-LoqG!P{?8oPRQ2Oq+_8(b5Uc?sbVFAAs4)qE(v(c(1NKqgKcgpbSMO6X@)|` zLFiDG5H8vR9U{nLC`9#d=zAwyI>|2GO5Y@-kN4i4-kk~gPh#$Ge_-iN>gU4;nfJMV z3cRdj!3xuXQ7L4B&Gxik)m2l0Vp4(Y;9eyHrACsI_cc(h6wJqjJYfka>3~vNFxN?C zT?3n(AB?*+sO!4aG%KbK?9yZz#+HlGHccJmR(O95qW7-*HU$h0Jt$zf5(2jsnsTg75pu1l4#94A0v^e-Q?o)=WU?aJUmfifc-y z!F*eMCe)Wy`c!`ppbOx`ZT-wW7RHVYN4ErYyRCs1=Z;?&!Y!*6d0V5)hD;KYOq^4p?-WE$w@TD+GJJs}D&d;q2pN+f_RbBp9-@LU0L z8aHW?94>2Ee;0*k0K75yqJb!0iG?){BwsUr5GQLg^u0JrATO*UgppNfLZ?)sVcFqFCaB!W~M}GuVfnmwG`l?=`*jjt`^iJ1aqA1cry7TYT#f3UK5vJ*m+ehC0;SWDBOgutU+ zxO*AfU{e5AF&e@mcoD(UG_choc#jtCK5O)`Om?dg(5*wb_}DII+5wGXUf?1+?hyb! z3v|S}ly@+W?*Q~#eOAs?5CD9f*G~Yr-EU@Es3!n#KAUHHobMpG5O8Xa@hokQPqbbE tz#Re?B|(>GT4+xI)YwqK`bU4;zX2I+6ZP?yN-qEa002ovPDHLkV1l+QZ=nDH diff --git a/graphics/pokemon/bisharp/icon.png b/graphics/pokemon/bisharp/icon.png index 2690e0eb17995a8041670c3c45bfa3c77980ff45..8110a7291d37ab7d95341f8cff47fc08bc430e7e 100644 GIT binary patch delta 299 zcmV+`0o4Ab1AzmOUw;7%Nkl^k*mGa{N%s*?DRL+2vg^gv3Vq(}6B#YADfh9Q)^2JeA>P6`}DH7HP)on-~8v;ADP z$VX-Epg?EqM9p+{qd?n>0=MSvkgWH()yKZC=Jde!(kI_b5`S^*ugS&M6L1CNYvY$7 zvSaKw>DKeuA|@Ww?irbxo&$C47*J&648vaAgAF?~2XTY9mSqOW8C^y)her%4DTCG} z!fG8aKrc`)D+~uM3{0klL29%x$TNBhGl7CBJcJp>zmlj!6ehrpzX^H>)3M}p6xT#y x*rgLd?tS#*z9icS0^#n*q7*&-P=@^J$1i&4w|rsvd(r>^002ovPDHLkV1l!%jI96w delta 335 zcmV-V0kHmo1Em9yUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU4k^I!mP z00039Nklb>!3`Kc^4+EVOAU=Q*yK^-42Jz}{S_-&lcAa{(84=AWRY`5d z?9{D@Ha$?(2l%p=D&3~JHUzNy9W9_8CVB1W+ z8QM;PeiQ{R-P0jk_qepjacok0V0#*~&wCPa?9bWBwhM3-<74CRL1f3+Z}P3@xkOC- zrr$FPvy206te8+0%fMjI{lSKvNkQD?tz}67C1WT^Qh3CWk~7rgMOd!_pa(b)D+~uM z3{0VgL2k4#C`b$X5oQ4uQ@9B;&AXDQLlh>!&D#Xsgc(@M6vcH>7CkM#fm diff --git a/graphics/pokemon/blacephalon/back.png b/graphics/pokemon/blacephalon/back.png index 21417542a0f8a32ae2ac5516ff2d2b56f434fee7..679b13cfc037fcd9d968c885012847423d30fa01 100644 GIT binary patch delta 666 zcmV;L0%iUC1%d{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$WK$K~zY` z?UK)H6G0TmU!|ZU6*?xX1;sHee93J`^@+Ioi_uw^`CXGwXnUkMk(#2 z_tzepY{#K*QrBmSPnem1XEY7SFsvPiv092i&0#ad*P7hT_y<~OhyWwH4&2?P;y5l~@hV<2+alE9SoG0TDspje zUga5Pb2mrnwuMi2m(p%r;T@+{ic2?pwEj9LdwB74$@p6wwGHl8=(emiD`cqP37`9- zb1Icn1(l+aRE<}0U?{{P3D5|>MrN+0yb_Nogb2n#5Oi0(`dOd5U6B295(vat1e5N- z^VUJmjUoa@CsK&PH_!84oWYGEBQYK#@M8~wx(0yvBXLZ1#59x$cwHTU`KA|PD9=-X zp_K433@^WbIQRB6eIjs`0)R{=I)UH>BH$MS5_ArS01qw{00W%>>73#xyqr!D*iUmH zQ_sT*ko^<~n9Me~^5snL0E4Ru4A$Yc{;dH104~PqkY;?BUH||907*qoM6N<$f`bw? AMgRZ+ delta 662 zcmV;H0%`q%2Kxn&B#}W-e*gz`Nliru=LQD>BL;&C^xyyh0$xc(K~zY`?Ulc4+dve@ zFD1~bq>!tv7LSo>>mjtHhw*9=CE(GK4%4wF2m%?3QzMftUi^|t0@wITDH(1310A}U zQUV1JT{}2yDJA+F`c6)Yl$;FhoQHl4?{nYpyLS(XklXmbxYt>je_mRnl=iaoYYz>! zW79X8>vQEN%qTLN1>_jUj?GvjL!e=^IpQfz?&iD$CK;pHsHy<(0JF%TLglRrcq|PX zcDc=1rB}@=5tAO?&lJG&JkQE)&#ROaWnKY{wMreMa}&5@W0zzTSj8wAT?J5lX~;Gr z)-`_rB$*0`b)J9zf3%=TR9Fbe8k81V`)Zplqh*v7fH!Yr#p^<=qylt22yA1y4M$yo zl)JeqUx7V8h;p5FkCMQWncIi~Jst<{>{2*R3Yff(LuQ#8)j0-z^prv&>CNjr$1Ls? zDBU*k%I{L@Cl%gtTBo>lGoa1a1rgxj7t-Z#an#niQ={9$f24)rngH%Xh%NNtj%7)u zd?1KrU7HxK&*KVt3=+DbJ7n2fO{<9hCBQAYA8V85(<8A<$F+|#Mrz(N)gv7uv1cd7IF+3#X!MOy;Kqa8{PVo_4%%%wJXE|sy*ToKK w`xy>oI^W>RmxQF2?DQ#q*Dx3;+NC07*qoM6N<$f`nQ$O8@`> diff --git a/graphics/pokemon/blacephalon/front.png b/graphics/pokemon/blacephalon/front.png index 346d48196f569e5d103e2daff101d7be8c434eae..95bbf1c458cf300cd13960301bd0ac1472cbe8d8 100644 GIT binary patch delta 722 zcmV;@0xkWm2Dt{1BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+LBYK~zY` zos_|A(@-48UnQ566s)nruIVfkQCNS8y>{f~P!S+3zH84gGg3z-la~`+KT>b`Mk`4>)uj*dN%Ok(f`~H4;zuzz9KSx4Irx)2TWfdqa zF95D&0SebkxPynlhqkdRu2KC>0!XTO6XzDMS(YkEWdKkE)Kkfzqp8F zsNz9xy3uE@p@8^^19h!NP#`+VLVm7MpnQ74bD`Xx??C`sBGgc9>JXtM%qC1wD=Mw1 zBdSqBw{&L)&{Y!*6DVY4J!7uS0v*G?YG-71#WeMdJqHjOW8I8@sb);Rov-Hx8bXZi zzQ+$LtL(Je?gnNj(*2vk_+@b&RgkI=?w$4A777eMb*!Jg_6`ozKr4&w2I?WlDt4K$ z=GLq&>NhD*x(=7`&5@9Ka-?C6eC~5Vj3m;Rrv*4L8s=7|^=2MMZ|E zU$;;94klY>Qzj`l{N__1Z!Af<<)660FBIq>EB?N_{@lZVfoc%6T6jVA&%Ok~cma?K zYV6gI1%SAJ?1{k`|G|*MV~_L$cL6ZqGKVKPkQ#*32OJQ-h4UR8*p2dIpg_`%l79C9 z1GbABp~Ntc0&WOMg&gKXY;|~PN(u@PrmNhxSu10N0IN$}sAD+@phH-Q2~d|XAZ{NW zJj_GfJ{TY^@CJ$&s}&E4!0}=sbv__6Z}Md1p9dko0ogR((zJh|3;+NC07*qoM6N<$ Ef}^oX=l}o! delta 712 zcmV;(0yq7+2CW8=B#}W-e*gz`Nliru=LQD>BMB3=>2Ux60+2~WK~zY`otDpQ(_k3K z-%2hiDOh8KUDH`8qR_sHy>{fyp&~+Pa>!M*F6SZ{6}&d9Ai>hv_h6ZVZtl2?)W8@$ z2tv=I%z5l8bNL&5lXR@mK9%`~yo5ZT_xrqge!K*s%Z-$r%`UTFf62+Xw7LYimczJo zvjRJKjM-3EmjLBP`Kbj1HyRNjw|ofrP>VdQyCCqclw()^#s35E@jqN7d#J;k+;Zd3 zTn7RE2?H9c1IB@mBUvgeG;)MZuUIbRyNf+=m{btaWsBH|t8nuPXzj z?QVjB5+2?TC$GyJpn_0;^x&-LdLS_T(lLMc+Pg5|V71D(o1lk0tyxt>Tif%txZi{V z>e@`cw?IN<$q|MQ`r2mzA4_Df&I&MKG|c-bx+95gl)}ZCe~gNvIg;}fW%lD@;aknO zSv;E$LKN9y;ZFxiHBnDgF}VN;wp1Evr-K1W2oWooToe;F)i^lmX9Fwo%rOakz6lN6 zx}E^;XVIL#G`m=t0+jlCHwH4T=CL_dwd~oVpnPmUo-~7>37~fE1-Ur=zH_>NI9)QI zGC{r-w4MiWe`5*qo#4a`|A0V$EC&bf#!DXt>S5@4a6$FYzJ=jr36KdL`sUXXfIk@f zd^mv*7<4rDQ9pE-00Sm-bOHmJK{S1W0q#dM--Cg@I6pcFq}@2__YWapr@R?S3=1IO zMu1StLq2$~!%9<-K>$%rVYV%&3K1M$TVX;S(*^(yK1YR^!paH+B<-VNAM%j24+LbZ6G$nFT>dV%OCH3+cQe>U z(%VT$<$-Wp-yJ@I>usf+j^PsB$<~58-TeGJ{4@J0^>f88>QPP z2!S+!x{)KaUQC1nD7r@>*kVz4TQSoDceM>u$!Lw+5X5<`VSg;X9CY!NV{P+q2W6Y2 z&oOsQqw;>*B>8;yZ2b6$*u5sR{c)JmYk5ko6$^8gDmKD!mUK?B$iBQ;UdaQgm-Moc zJ!S6gT3(E}&#R{8%Sebn=C9QM1cp=u%#I^qcIQU}FysagtxgWWeE98X;sKa@gRo%F q2klKD=)ed05FKscgT%hS&c`Q+dYugnGIvh^0000F%8P+c@?Ge z*{kuxBVzX+&330_N~fhU)mD6%lUT74hKs0iibeP3-STEK!ngRknv5`UAGdO1#9iND z4?aJzm}5Er6G9kL0Wez*fZ1N2^uUnoJ+wO81M}tE!Nff{ebU00000NkvXXu0mjf_PLPD diff --git a/graphics/pokemon/blastoise/icon.png b/graphics/pokemon/blastoise/icon.png index 14de7f145f23e143db537bc2249a929be5a42361..5b1c1eb9b5e1894c84abff6aca3a2f3266e7c632 100644 GIT binary patch delta 357 zcmV-r0h<2X1G@u|Uw;8cNklK`HHQG z1u}&N;VomtmjCD`p_A1|3Y{<^@0zg#-0|r6K8`=b_`8C&CTv_y*pl_JZ$n%I)NVHP zFcWo%X1m_9KZHpl1_6++WMNwU6F^*GaYk01V~>bTJY0mW0DmRoo(VflTSFPJ`zcBi zc8)S1r6=s?M!3rTJ1%2J?Y4=6cP@E`l%%R{`z3jdekQV@of~i- zU9(I$-6CG`7>k=Z?PDn^=Q79h{#sC#1xG?9ee!%Bj8m)v^R#4PqGzv+e^>fSU}{SP zagU8)Hoy$mHD16h)$si_FxDV6z>tXs3~~AwCj$eX227~~vvoCKU|j5hvUVdhO00000NkvXXu0mjf D7ObG6 delta 389 zcmV;00eb$s1KR_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU4&>AKVs z0003#NklCCCZe2EMBCv-WmY3 zZgCq+Pgu_lxJs9IT*i!AZ4(9WT=E1d*{HVdm*g=n6Os7szdq;DHA{ru4dP{wvA9{$ z{wyWsT&8&5Z+;7^j^GH?=#!@_e{yG4c-m!QuHRl6|E~0rz|@8Y;!J~JHo^?sHNtF_ zI~8U&fJPWH*MuSV>4X7K6QMJjAH_G6Y_ jI%7W~`P&aKKan5bl>5hvs7cGr00000NkvXXu0mjfLR+do diff --git a/graphics/pokemon/blastoise/mega/back.png b/graphics/pokemon/blastoise/mega/back.png index 94bfea384fb57621329cd941c10d30117a9e5820..0aa5d66e7335b7b15d9f621b5639163ec52ed081 100644 GIT binary patch delta 701 zcmV;u0z&R+dve+U8pkqh%`9;7L}($pohG%GftU>qnT8Q_9zW5}L$9)9Gk?0Y`1{n4WVlg}-5d4Us z6L5k~;M5Alv_1aH3A%uPQxCLv5x5eCxM&5^BN>hgl2A-~1tEqeJ%WJCQ1G4}C0?Nj zy9JCzQVQNFNG36lWXL-O)FYRP2-^fFTI-KAqezOdMWAPSo-c`r5)rk;b8{^x@tCLV zP_WD`kj8?iyfdC_HEsh=Ts+eXM-U#Igqe*mu#r?m2S=qQK!7KI2gkK8&?*Y|fuJtX zDj|T?fe&?o){=I4w(b&Woh1Z3uDS$TVW)z@#W>|QERuTblML1w5Kqf`t&KBV^WL|&}0p*Xf4lHT{+9(3= zp6Wndpm7jqaDQ%pfS>}J0_p!DRvMEr47f_y8fSHqO2(W}H0DLt?YE_F{0dA83 zcqSlIvs`5j0d0E2>85#TohLjy?V^1Cjn1c2}JPuB*( zpiOT+Z^8;Fld1&z-R(lT8jDggcEOkf{3PuZMr-`P9aqnP=2P2AVFq#e&Ac&~1$N6M jlrpSo8}#NF9t{2itY+~yz6lgJ00000NkvXXu0mjfsq8mX delta 669 zcmV;O0%HB72ABqrB#}W-J^%-FNliru=LQD>BN~?rsILG30((hBK~zY`g_S>R+dve+ zU5GOKh%`9;7L}($pohV9O_6Isqr>1kS8LOxxpcoS+LhtAO?{JXfL+m#sj2 zB*Rfb#Wfn0LlAt;TJ@sf#CC;RyVLlQ6gO z1vV0k;NYm#1PJix;JDTWS_S?-;ME0MMFg-qFslo+mbA{fyP0c!^4FEyjhEYx`2mws~xax3Y6eE z6c;66=A;?|EMW=&Urmu()#6rw+av&92uRdCQ%OTW+nz!J@b?!1I+003K+6^*cm#iV z+8Cg^-+rU>B(C9e4)9z8x>-S70^5H8_f4Q`L5Se`al6g;fl@%gG%x;ax34+&>Foel z3j$XFKM}aY=gX50P*#Aa3CBo4dS}L90VOS<$|)7EsRa^c?^hKtA|OpuO`FgLAiu4F zQI7z>5f~akDwp4NNhJV$Pe0ul0E1CBz4^TLOQ49#66klg3*~Ce3(43eV-DCoQRNgy zYy7_*m(PDvrM8p84C3mWd1EjO?3PI=WmwZT$~X6atY+~y86~!A00000NkvXXu0mjf D1#c>j diff --git a/graphics/pokemon/blastoise/mega/front.png b/graphics/pokemon/blastoise/mega/front.png index 0f3514e9544f4c84ccc911597fcfe4c0ca393f46..30fe7b0735155ffe8987e22f1904194546ec0179 100644 GIT binary patch delta 1069 zcmV+|1k(G536TkqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1L{dcK~zY` zeU`s(+eQ?}#R4kep+FdkE{sg2+5$x<=_CVkCqZO@bkeU!Q__%0lsaaR&s!$R1PT;z zYz`*@-8Aq#6=(+X@*mVw{)eve6l9D0j-*&hit;x5efWJp?@l>1RaKwlzF?}Z>t*$@ zUuiaq6}@y=L@5IlN?#CvDVhMil97ryXropJC};p}-7uP!NaSluFWvd*Gk`?O>XR|0 z)ODTKUWmx5T3c0JG;6ezz2arqyA%hT7AS%dzW@TeU)sn=pC90kFOd0*TMp9>CH?x`duj+F(zT81LH zITNc8%OI!D#I@&tTYLA-Fc5Fv|13gr9rfaLr@Te0TgRQ?>58V22fhCH z)7~-0pIVf5o^{POF+mP1nWv&JpOzNS*OzdPP+RTcQT^4F-){!qS$4p0fNeWhs8EW5 z2?EK=C_gNJA@myq{_+t|WS3xwstJw-X|GE|5pt9J_WI%R@dLai#tR#pHY1y*>(oPj zJK+B66A~YcXXwP8bi1UM>{K55%xLq)>W?*AZ^&=$7$CLH%H*TFrT;%P00{S`k znpq%^pPbXVyg9DuP+;ZUhgwG92>;>H*rw6`2_K-9jlemx6Cl~)KJ)%31{jxlF)>U5 z=A{6pCI7ZCO=l>t61Ln1JkD245{}~zgLn7$A_!O65P9yiz9hhQ2LYaS5e`<_B=gc4 zN#2V-%6Uc4=C!1Oudl-cy(P*&6P1%SZw!uD7 z#DTxKCRMF<0O-l*rkl)HsdL5_+%IQ#m-`QDxiXmh+$mWA00008NkvXXu0mjfRN(s3 delta 1061 zcmV+=1ls$N35N-gB#}W-e*gz`Nliru=LQD>BOZ`uY_;qBv;AWGBfVVn8cHpD1P1F)|WSne_xfF|DnDv#>G}<(jHi5@MhXG_56pY!(Xi zu$d$Rw6X;3xs{c`e=t~ygvuJJO2C@z0Fr4Tq!B`jL;=~XY>cQ{k{A|+fUyS@Q^1;l zA%U$J2bbi8^O!iathuoZtb*l@5R9=a2{_Jt4-hL6GGsiAVLLIAO=1<^gi9erc>^rw zJ3t_$--Q%d7+b(W5WN3aFmD8yr34&%vIP`;aVvZ-IAFQQf0D2*BMW@93Po^rBD@gG zAjg*Nn2W8w`)(YFHy?fxp}35CalF&YgH;$Z`0y(NE=k)p$+jW24S*tF0RkZaNL^7d z)kYE{k0ZE({ulnzOJd31t|b+O*4Lvx(Gn2 zcR`ElPxO2-e@KC%rVq4Lz}D+KJTnGWit2Pq7oaC)Ab^W}^cMY}D4p4_F@JhyO$^uo zZ5`P4i`ai=T)+^MKBLZbhKWQ;)_Y9>t?7O2pPl@THGFS5HlD6%8U;|B|2!QWV*Hsw zY42HI?-Cv4u#$P^)z#C=^2PcbP7&%V13ap~>GJ!{f53aI9{4RVP3r;`DluRqkgQDp z#}$NrYs6pOV$?$gfA-_dX-> zQG13?+)1ZT8p%!-V92yCUwVJ7(FS9FZN>m;Y*wZa-7Ujc68I08rkjpEzs8+Ncd9E1 zW`35$e;sxnudR`f+u8VX%RqPNyY?Rle42qIIQQEb3A8159oY$rlLYj0?zXc)0Y5pV z3wd)~(6PYExetx(*}{LgG`3l^f5HdoWFv6S%mhewc*xu@#0cXuHzvj@z}ytTwB+9g zrfH4kRl-)=fXlhZBw<<3ICy`1D}vC=hA42Ke+?x8rZWogtc!5uWs@vOXCzsGk-V@% zKJvEiLHYSGmMqAUFyubq4m(NH_JO=|BvWr?0G^#hzNEF-@~Wyu58G%TDB-|gUXpsb z^8hfA&rLs>Z@$SHTXMgez2Y*YrGmq2tCs{wSy2hS$Jz3 zHF@bIiwT>Ji(&ION^9fvL|#ibPOydY*fie8mwR`|-Ph^-DHyeYLY=TdI?xCklMTd( z8W}d6=CdfNfIk8&{kQa%TVx-v#=f`83KB3_cH-)vki+!iMPtuWLQh6!Dm;%J&MEH?X2Qy7Jd3r!d` zIz~+xMyF>xVIC>n2}1_`2s6jmthZlbDNLY5^lH>DXEkCy#aYl0CR7SVa9F@fyvL)v m&&Da}=_WOGKXSSJn;+kaQw|IY1Z0B%00000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU4?CICT; z0004>Nklq_ZV!)t%wCe9YI*yk76D$EX7|nuLwAk$*whlw2T2)QWK7s+cFL z1{y7Z)czdQA(R1tgwMWek_xbgQocr~x-vynH8~QOg&cXI&tMNR^ta?_;BVUi-vU*7@h!;~F3u<=c zt)FJYwH-9yr668yV08jLBJm_c)m}bn&vVTC=&93jdAAyubFsb0dDIdn)*3~0TEJR-q?3nD+mDyK%r^Zf dz5t0+4h+L1d-?zX002ovPDHLkV1gZh;}ie@ diff --git a/graphics/pokemon/blaziken/anim_front.png b/graphics/pokemon/blaziken/anim_front.png index 046a0b5a49ee411ce84737e7432ad9fd9ed0f41e..7e2077423039f004de27f6e5f9b64fbbdcbfa22d 100644 GIT binary patch delta 1158 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 FV1nl42_*mk delta 610 zcmV-o0-gQS1;_=EB#}W-e*gz`Nliru=LQD>BPd_o`7Zzf0xL;GK~zY`<&-gR;xH7) zEsG)DYSc*FX5f(M&?Sx(&rKxeRPxZzk-;6I?vN!C9Xjx}ZsLY~mwWFy1j@xhH=hNH z;QjpjKR-ek`=8g{K3KV@%a;rRyu1OhmAnPKU{D+exPTfrBfvvZe-wPgP;9KN3K0Z~ z%)+X6Az(svYjp_N__}=y0F$n6tL?bJ+HI(VN@XKJt}3NG@ir(>enAVB9v1kO*(}o| z0syKil_LNknUdiIzvP%;82Bzw&o=}rxgq!qxEB07Kndvua5X6}*i^xDdVy8rz{Y-r z0H09TK|?nLyttuJe|Bd~@zn##egH__1t10zYNd4#yj}`&5-hYz&VbpU0UDuRsM;;l zya!&-3Eh`EcgwzsbXDGeOMvyE*QaxWb9Kt_3GlAP7RclbbQz8WIh<=c!3%vLpi{U` zFc;GZhrOhj903}4L=T4;a9+(^R;(@#q;Dc$GYse^&f0@T-N(tHvAb}yUgBVSK z5FRLKha`ZPGa;M@o&`DC(qTZtJYWO@FwO#-BH$;@NpccG=dqaKe)w5FJrJQVVSFcM zk{e^n@(RG|CzA1F-AE9aI2P^%%m~m}XHnB0AAfwJ0h>S|s+$Eqz2$-iwyvAQ7e)wZ zLPMVkZ`)rNSU2X=?}Nc5JfK{{oA&(z@Y_*<2h9;U)@Q>VZ5J^LP~i}Oi2mP!{T~jd wTo51}0&LwjJ-{EKY|5#xix~itJ=LxJ12g9RBqfBVW&i*H07*qoM6N<$g72seumAu6 diff --git a/graphics/pokemon/blaziken/icon.png b/graphics/pokemon/blaziken/icon.png index e731b5745ed04dcbdbcca95271539876a1475745..c3eba0ef66dd1fc88c26a543b9a5e9cee7ef5986 100644 GIT binary patch delta 340 zcmV-a0jvJa1F8d%Uw;8LNklEaTSj?=~d$+esz z1P&`fd`2D8n*qr8iXhtsiDW|r`?F-u-Oi@d#lT+p(sjzIZi`L6F0HAf4WdMdl(7kf zQCTDctr5WMM|FxfmHNG}$0vxNeWHPiG@hqAp#KEVTN%&atUO<@3GAEF00dz^uxqdX zDh$ko!PXQ8s7-Zi2qUcn8p0s6i6IPN)mzjHlh|?^HlBq+=T7LIk4AkK>uPA z0)+kA1>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` zg_JRl+b|GCMaV!}lVXr;saYPth7Bn0mekxJMGmkRSilGz*D2zyUD&*BW+-aqh!dL? zfqDA#=aW<=EVZoeFY^Fcga?3f4*(+o_5q;W4WXdb1pqf6sn9-`3eZj+OxqVg3$VNk zfPwa9*e`-<{jvZ^!cVY&SmD3OLJf>1U|1d>QYlu2zpmpx^{k(jnA05ntva4%Z|Ea+tcc%UTcP`Bi!EtArS zX$(LDq@-#@>z2r0-w>OnU2017~o@X)8a|N5sAC2R)zUjk64D4qu( zp57!0j@$kps5uCi%x>cKcO^*B>v24W{}Qiz0jT*j*kyl-d!YsWXaL+`;Vjl`dVy(( zU0g|ZI**}_-49WJU`U%iets3}`Mk)&&)2&G*dM-2b!CUL#r`OHRGXm=-gZYJrA597 zNKaI2UH)rro{+92uXzt|AdCuhx53W<9dgEl3+LA}eHNYS*sSLcw6>!HY3V2op(Qj|;_1Cs=&_psY+@<#>39S5$5Nt> zmyg5d8+U!5UCKi|+X?6+t^LeG27IMyk# V%IaaSY@h%D002ovPDHLkV1h$69fbe@ delta 628 zcmV-)0*n3Q1=BQL?YY>WT^0zFAYK~zY`g_TW?8Zi)s zY4u3iVz;AYmR;imfM|)Z8@uZUS>yn70VEU=)>(vEvjE>VRc<$suFBw5OZD;U)$#-a6Q}e-}UtF#iw$3+?Ne zf^EZG03;D^uw6`n2ySdr(We4LZ;MYGTW}JvF#05q3V>8D5*aW8fKh@xwlb*-<0z4b z5J6NfOGJ{$L&&7Mz~w+$a3r>E1b~*x0RFWjz=4?yAOIyno7$0^RwiW-^B8~xXi3$G z$YVh0B3S@j$T31>e+i!fF90%uY?1&P*ed{;AQuGylmMHcCTuc-M_kX89^52!=t)2U zxCdHKQ$+syw$*wtLJB&Ndyow?fC`W$0`$2azW$l160QLKF9oP`6fXmij$2KF<97cC zY7W9@v#WIZt-Kr^-5$?lgfHo`Q-GRxgI)ILwA*Tr4=W57e@<$>rW=@t*rbK}dYK_+ z+NvL_z>qe3{QRcY%YKoCpKl)uV88#aKCo^mJM0gd$7(gyA-MHHN$IH^1f(l!jFE4x zD-+U@H47yo9Uyi3Kuv(|(XfmwR@m=)T+yHEnl=yVG1NwuMsMGnn*?i(I z?~_BhPbYT+`b29tu~2|eY|>i)(;@Bf24KU)d3`UCiiN;JVNquy8~qEl8p`V8{5lB$ O0000j$k~)BY`AWNF_MZ9hzpOJ zgF_drDH1T|8j(6*U_U~NTnc52Ymy>vwz?uwUX6Tf$%^&{46@&!pZ9tHjL`Pr8oK)E z8=(F_0BM!PaZdr5mI7vfQ|Zv-D*;UVEc4?a^W0E?ZuT;OmId@)GZE;STRmM7-aHSj+fV=lvujM{FST5@f4ad0*D&LKJzy22N^Nw+FR)?IqCMmh;iIifFSFiXP zxiuc-1yaE8I^yy2u*1o%%PFZ$X-B4B*S|Y&9o9R9uSS>dwm@}uyx-^akdr!D4mPss zLZl_>+-&r9+G=utZWs)9!BW+#HYpf(p?L?U)#%@O9YZ zxr@_1S_cz1Cp-{BWN$}evMPOTkN)%qJp9RcHwVDz2FUS$*l@48c)w?wjT)+Oo}C4l zz&Ctte7`OK{zupQh1&}aH^S@MsM2zSm(Mz8@p=y}Vho|}%niI5=LLXhkHWvkNi8mv zI78fKxi}69xvpk|s;&^8?aDkrNEmK<7K4K4N@VS=8-|PygS1*TueOa$R zLHy_`D|u;uQSsYPV}_UT)jll(iGG{{Ra?$azXep{IKIGP?1(_HZvlw>5MRV`vQo2M z;NJuw;Zc0?e!UKa=kI!O)=#1*#_A|OkJcZBkOh~2&dV3kivu3VpFh8q$*~K-;_ZTi z%k%RnN|4u6BQm1C0961017S%-K~zY`g_OUG(_k3K z6G|vf_Dw5d5TtJd#qI6AC(`5Ouva|9r6Q^4=+J`ONhwJN5$w=6iy%>&cTgzBB{=&J z+@Em6c|*LxMF+dw3+lX{mQm-B&^G|#8s=jZ!M(y7T6>0(n?e?av=0BRKYUUf z3^0sds>tqtiAiMyic{e*pL!+;j^7C|Dg&Ro!0SmMf@|D?x#L<>q7cp6zaHbAJ(KkOOue zHa_!pvN4}miPRsaB1G}7K78=ZTc<5;W4{V9Q%#EG#=D%esl50^_tC9kFD(!QZrftd z=bJ5xZk;FcVSw!?%j9(qCbRL^$ouLd4(UYXZASO?%f_e_h=5ki@kS z^%!Hx(;<>9e{)w^!*>oKhqr{bQvi&vCs_{ZuhnN?*L1yBkxGwtF=9o550|@#4s%If6I5v0F5i}oZi|8p_dd_#Jf1MGKw0(rCvH!>G<#*m5W$vc= zK5h9#_=N>WG<$i$mdhHEF30|0L~?*6U5C%**ndECZG!j|{`F_M{0aW8m!#m*{uB9c zzYK{yho9zN9uWFr43tei-8&B`g<*Ii`=P}=M$Q8ybR#?oL$OkmEbvPJ$lnT2zAl#@ zbKGnWf7bFv@IqT`g~!422V*>!rS;)`@P31a;qTvvT$q^yW`{EhSsot;fk3h`EQcR) zQW6S5U~`^pIRG36y#<8|Kj#+!Hm9^u0b-npQ$e%-vd7}YXwH=ZiVXG{fEg+Bm&HB< xP$*HlJ!Li@@j?a3nlQ=z?DGTon?d^^GmhFWp!xJ#F$@55_5?tL ziz5dpn_x!lLA-npFyX}jQNDtxOq-mITcBJA%xCNbaV4sdLx0BHPhx?qATH#9ML`2N z6v-fz2*|4ga}MPP`*r|7W94T0KK@!9Obup&CJ~pRv4oSI0VeIscU{K7|BhRPiCjoTBTS_OQM4AO z5(r~#y!1LKp#xMZL#eV|;Q*IqPz{P|jA`ha~ zV?Y5<2+a5lX0jA>F>Zl!69^x%SIniDLJx&-KZz9WLb%Wa5e5yAP{f0&CcvH@SV$<} z#HR!F85uY8*YU^lh&7li9*0s-(K5;Q2G~y7bE-FD68y*F!+oMpN&J3y-AQ+_ z>|jSnF0*0o&ld>U7|EyrnG3PNWi9- zcA2jwmS=1M%b{3qvD=(@-2>ZguU&}nzvDN;gueNz5vJ0C8D0xh2}G}2myP3H_Cj_LT&`Wp#K?u0_02Mb=Hx&xf9--bq+O;6e zT})=i4mdw4;?6omlb#432KpLa@=2D=iHy87tSG@U@GGc0OOs*4|SG9u_y)HubQ6dTH%y!!S^&)VKw9)=u6R z1S{bN!_ZvsDm!^C!9W3C@NHFnuFDP9LUV?di~H4_99a07*qo IM6N<$f*+;Ja{vGU delta 452 zcmV;#0XzP?1giv)B#}W-e*gz`Nliru=LQD>BRMr}+1&sD0gg#TK~zY`<&`~Z!!Q)b zEzkihB}<_l^yH=8Y+b-Mf|AlgF3|%N3WDxEKuQ;wfP&-@dI13G z9YYQvyhEa6K;SRITGj<%4!`DtH-1O2%r>Dc!4#f|asZ{0kWAuqAOhAlX(On3l1zt( zCA0Sg4Ur@wMMk7pJ;$1`9MS}p32OlmmOzTkWZnS~X+6wgg~AU2r09(G(T|ltK+_(G zkQ#NsdO*w_TKGF~fB$db*#Q)dIf2Wfvlkqg6-QglM}Suppgph(Mt~HT>@mmE0c^Y( z?CPTHV!=V2;Q{K^b+d4(frg}hDxD&(5Fl=MTYDYn8${CWZlfR=h_78ayoYZ2Wgq7K z;%Aj2ueN>m)R+farPyYP4!~1+hqakco3Gc#thW>cG8tYpk)1gIg1kOzcHSimR@I6x%G8h}7NV*xln;op04!aDRc zB3-2zf{u5H4!uBX}YRr`-u))J8BE5~b=O)!x7$b{jxA$nJ1*i&|58 z4zhcbWlB#YqTT6yVY0agz!E^dm}I%aF#rwB3uQ>)rdXsNh*=;nqEm8QgJPTJOXoOX zRV-Zzr0U&kQE@=E+tt4jsEPLjTUJ4~Xt&%f{MuS?mE+#6X`vzdqYG zDczlge81k0eU4!iclSa*^_$IuU#(;WgrvRP)S5Z3>Y^%}Hx4LW*)-aafLyz)W*^7Q z{n_vOgWd>lv9fM9W(=fTJIfxp?XM1eA=J(v_16OU0qycy)M!fUsQ>@~07*qoM6N<$ Ef;2(83IG5A delta 406 zcmV;H0crk(1pNb$B#}W-e*gz`Nliru=LQD>Bmq({_k;id0bof)K~zY`?Ub=j!!Qtr z?W$QkB{2`s#!)54`1$}SSVBUuh8c!*M+{lJMV+&_EDV*Zq`UxhV?^mdXZkKU%(?3b zLvQt`|L*>~Gh?UtpAjAdi+gj5(P0K7{+ zViH`SU2x5{(yD6%QITVp!4ZBi?JoerE`x>uX;t}|asnElUw{Q({s5DEPztNl%O7=~ zOEnDRk{1$U%!m${l~SX?T{+Jj5RpJphUe(GymFHj3u`H0SuSja zPrKQ^mo){{+imlke*v5L@Oksr3Gf6NxG*k3>N|k?{>-8I z!Z*T6ER9WLLO|G+HROSt;qu5Ag6;e%{yu&H?ebdGs$zO43;+NC07*qoM6N<$f=q_C A3IG5A diff --git a/graphics/pokemon/blipbug/icon.png b/graphics/pokemon/blipbug/icon.png index fc7e5d4b1a7e22d80f8db2a41ec1dd6eab397d92..b3cf1cf79296e5bf970ef0dd8e51bde853c04ed9 100644 GIT binary patch delta 274 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 delta 379 zcmV->0fheW1LFgbB#}W-e*gz`Nliru=LQD>Bn&K`i#Y%Q0Y*tgK~zY`?UKE2gD@0@ zNyWqzN3wS!wJ(6O(~2@QSuAnAb#MgtxjK`)fiq@`c&Pd(gcxw1fMa_)AHL^UMA4!} zueBoNrB5ipD0I}U}(|15E$meEnvJANO5vy^obrjPq+W~Vvf7ZTFffwI)cn@Ii z`vA2*_@vJ#fEtVXKGOAYfwdYjn1p!%^*=S@3@IM~G4>na2z-c$QvlcikjVtXG|==J z-co_Y^QB%O9}lqt;rqzUmi16lf|vpFC}|xa=m^-@IYn|-cFGFJ?;!O#((0@n5T%Vs zncqThfPD`TJbuVgaZiEA?{R#rDE!xH-r&_eg Z=^s{v7?7LHdHDbU002ovPDHLkV1hl9siXh^ diff --git a/graphics/pokemon/blissey/icon.png b/graphics/pokemon/blissey/icon.png index 4c92f8082b4512802d305a5c0633ce5614900cc6..69e19ff5b2bec8f7c34388d6535d15a4d52671d3 100644 GIT binary patch delta 262 zcmV+h0r~!;1N;JzUkL#RNklW`1) zn#YZXsu59gH=(m^g!`mN&vE*6=jzj}tB{OK&lLyb7XwPm9N4##e%QB{c;eHSU^yD5 zs8{25)G_px(uRAYBR8jVzh;o5XSQ0_(1`-ox)mIjo9P@(ON6*vZeXglBcdH%*N}2T zsHAf_q&GLBLvg^=66h9jz%Q-IDDTZxZN}?ui3;+X|L;5uOsr=M4D5daM!5_aHFX&< z(9M~6=L4)}bD;##Comlormr(FCT3>9Ob-DAIWS5j114JEfccS+59x%|ZjPEwCIA2c M07*qoM6N<$g8DmsQ~&?~ delta 301 zcmV+|0n+~b0;2UP27b&%H9hLFNd$aMcR^9MdpsXsoFYaUk`szyY~-Gt7v z5$=;7J;&+O-BcfLx(dlS^;~f4*JzizhyP36`T_ih40FdmTgHDQ!$I zwCCnfZkG(2=#{OOCDc)%TDOA3eB+M6v_y!T`379ACnDP5c?oeTgi1P=Lwa)|+7&xY zErD(k2YhHvM)_>c>k_?Qm#9G0f0?I&iS?|3f$cBAs3`+Rxh?|+x?3jR`2efgoG1bG z1x&|;<0CL8W@f;+r+|SR7$uSc6RmH+{K&@@>4em7xweSv00000NkvXXu0mjfztw}r diff --git a/graphics/pokemon/blitzle/anim_front.png b/graphics/pokemon/blitzle/anim_front.png index 58fc91d190123eafa32bc946b965b184da20343a..73f4dcc8b3a666842f841d5968205ba01c8e875b 100644 GIT binary patch delta 834 zcmV-I1HJsS2b2epUw;E1Nklezw6o7p~^+}!bt~7|dEN4U)x)eth0=6=+ zwkQ>X#c9+V(hl8nYlTGo6Bv6884OD^bO}p@lmX>O@!kb!rPwb>2!s%pGDQCJ{QPX^ zeM0<2qp@N>%Kr=yF+f5B%5sV)F)27yMj1vCzVg+SoWIR~tD;r4TY zW@uil0c`vlfP1)$Ie-bwOAU*$0HURW_VmsTAX+{&0ydz6Y>U1n%XbTbbO)DF1mMXm z0kW4CMTM7YOMl3sIPz3n7NQT3scCUC&YSPO1w92wwlPnoVC3B@Mxc2D{PmJmz0piP z2-J&!F)oAmF7*O5pW|nI38^=U1jhJw0G|*zKR{O-0E0L`a8%C&q|SZt0wSQ>N2?EUC3^DvDRssJc;8m|#Y43h? ze@|!rt_O8X^_XW*KfVS~yF9?cAHD(0{(y>7`+ozB4fRKlj}PJ-YENHFq+K=_+` zJzs?dqd!)coM1?oU9y7FcU2RCS3$w(J9mgc5fluW9+IVm1w*E;_J^=w^eZD-!N6JG zA3JJ**MpYf{Xx!w_Xjzj@&16lpZ5oRKDv2GJV5J2yQvX)YLF2smCH@65kqzP+929vfw}-hMyKp%Lap@!V{{|}ZSz=5fNt+10348NZ3sv? z0QAERv$@a32-8q^0br8_>R}6L?6ZYH;NF=8taah;OMnJj>otIlUjuLt_b~^^n0aNO z8Wj*O6|`rzZ+`*d@}Uv10V7CS)#2AYK)j7%bgMdT^Wf}Q|GTbQTTF!pX0SD<+U{Pj|!a-)fU#MFy`35LOY7kdGkPw_XogxH%z z1QUEafKLdVAE2uZfQvXka9GX*#Lj*60>_j-jN-9#3x6-roznkt`F`{3n7K0q}g zD}Zi8(LpCy0SjO)L|}dccrQc~fo2v?GXZEWvhbM*%mcL(1b3c$f!>!A$gyTSejp2a z^Xq5i8-IC5j6CvH!2eNO1r(>h8>rcz0i;B0!{Ag5Qw(cEF-$QmY+;8IV29RH93Ci) zwSytM32WaOV+#>znNyYNs`u<45qd9k9*&J(K`j zh`lZps33eT_W)j;tpM6*eD@FV19%JY^wl1=w14v--QUxhul1m8sUGv}nWr}ZYFEJd z!*^iWA5c+Be}G9w{n6uNISxmCIU|2ax#o_&we*JzKQO}xTY^7O_t!JoAEKG)4^<_2 ze^@8|NCkgbr{zKL2bCry2q_7IA0WX6=crSO8GVpsYDFBtt%rbNNOS=k>-K-Pn1Ci{b0fb0)yF_--Td%x@t r_|T1HDnvA1cTA7yaQIXtpHrFyP{400000NkvXXu0mjf&P#l| diff --git a/graphics/pokemon/blitzle/back.png b/graphics/pokemon/blitzle/back.png index 23812b3272f24ed4bb27ac9c75f873de502318d1..285a068152478dc2cc531ba34a684d2909bacc8f 100644 GIT binary patch delta 506 zcmVK~zY` z-P6BH!$24S@Ek(tT#FgPIphQ<9ptb>>Eau>v_o+SN;8x!zJo)31-DWta-%7r`5{-0!}BcX9sxB2A#}{y8Ar3P=-Bu?Y`;3rH3;04R2t6)?c^ z=t+>dSO?>lHqHRBh<3n#GCRN`+S~$M=N7@GU=~19r;p%S^s{R-0GBC%UsD?d(k1{1 z*5VWZkP9Igq>vp0nu7uL#2sKR17H+jHPe8YKngIDaxVNwNO79S016-}^}uzAYXU1N z3lSSHf|OuJ&uw5->`!0J0CN=JklmOzx?X>Vi*Dp7%W?^0vXVu7G6lH!lnilQhi0c>Ox$$2-d z!UoYK;oL*?y~F(!Way{^I&Ox|p}3)xUZ6;&tTh+`Tw&H7=K%^o!B<@ed0q^$%sBt_ zQ6^YJ4dkum1Kj0R)fKM=7PaBE7_4P+vKm1hjAI34{!baf5Y!c64t*2#r!XGG3M5-y wg!B)E#{d8T07*qoM6N<$f_M1X0{{R3 delta 497 zcmVBp0UpLe&5O0lP^=K~zY`<>EeIj(hkL;D9uo^_&+$*f5EL3iagpsB7t@&uY;@9|HYTw zB{cPtf{UOxWVz41_q`u+oWDNYW1z`?9k`O!$FBjpwkw050yhbce*ny8L?sYN@pvsr z808SMVjCxj6rvf3q#96&rmO(Wxh8O~LW5>SgSgK z2y>+b#+ZBuJOw@OsT-tT79cp{YHEOM12N(NV5abjFMAmK0QXH}O$+LuZ!6Di+)k_*aE z0u2pdm!`{J3(m{OFK`Xn%HjyhU=(Qp=|5!!ebiS(JNJwx=lrjJ+8K5ID0yA~Qws*+S zy(VyI>~KaxhCQ80evSd*`K8)FSpB`16s_r+^JJwFp`3y z0z9CFJZxzq?nax8-@rQAvD0p5V2>J|tvhJKA{GTu_oz8IdO$SMGBCSxm#1F|12Bh5 zAqMfb7?OM%6{J*yenkJml)`ZEDvapIvoN3Q#{-0pZ#b}*Y-0cb002ovPDHLkV1mjo BSdRbz delta 239 zcmV=W7V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VEr*O%DD5 z0062;CTvvmi}Sj1id)B|b`&K^y)3@onP<==0F0hmLj5QB&002ovPDHLkV1g>TVm|-? diff --git a/graphics/pokemon/boldore/anim_front.png b/graphics/pokemon/boldore/anim_front.png index 51fba613b5d41c2b48002b70ae240bc23f3c3b45..c0d5ec5e2759a021e46d05b861f5fe72df99f0c0 100644 GIT binary patch delta 1074 zcmV-21kL-U34#fbUw;G*NklR7>B(U&emf)k*>36&EnfsX8Z?Wdy?o< zaR>)$6h6um0!+OUcdi=1#g|M`(rpK7Qw8f#;`bFXKNN z=9T)51Vhfg~3mEFoo3>J7pcC3<}|2Hu?BFW0n<&k)tegg^dw701&V@ zDxf7SAio@J@_%rEcL967RO&5wj{Qt+LchUW1g5K%Ip-{3;add$@Z?5$ul{(*O&Y~t zZTs!_h$jplsJ5{15tk7AhiCrn5dvlG(F6$fpbsI@U2&Yp`VC$M2oTdH0NAbsx;4P` zNQwxt0ki9XT(%d#7DEY8Vv?jbhYNe8JpLdi#Eyt5sDDXhi=YGur<}(=0G-d|UQ8)$ z1nM*{0TWIt?ucbP%UxfL0007-9?z)&=w=Y_cis~~Vy^^rVtWAS*&zP3_U@<4Snil} zrvwNBTF0U7r58_^cvw|HbIlcA>G+E2$m`*u@haeFTK=&$8+*WA7+{Q3o`t)HS`bs`F!{PO6U1H9)^I!^?OX|IWB^t^lO_eElYP#_a{b zdKZgE3f{5c=XHJo7>T|FZWkBap6{nEW`(`2Sbv`-!0odk$UEGMt#h`;IG=)f??Q6M z{+Ld*S33)VC;KaMA45DatdL0n)U3)~#)CU3C#=wwDtBWc;{gJwAHo`PFXBOHCFBdt z5H#gp#DkAfWPb&9gQXjCm+{~M093bSHRW!Aq{2Vl$ovM22$(8&`0WMzcE14daFE*w zxqk{^_9^U-8x14UYXDY=_J08TbH>33^*RWMMri*Z2ar1l!PWs-LHJ~UhzAji^n2gm{ovu!QTGV^A`htKYx+=qU$+T0P4K6_S*9Sk0&x;c)SW=fZ&~_ zPDhl}0jfQ&12zJ5skNZaJ(-xA9b(OqsgCmophaex79j56ze53Be{}>fKTsJ!s_upW zalDrK!Bqi6WUHr!$NccF4(v-)%lrV_nh%}xK#?B+Sk(Y=Qn}0z(fj$j3TR{Hdn=-E s6#I`I1(+#7BR{mSb%707*qoM6N<$g3LYrPXGV_ delta 1109 zcmV-b1giUj38e{;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU7>s36Mc z000CCNkly^q>R7>6ATXX~+@NY~l3X7Oz*GxG;vdy*)rID`W=3LoVO0j6Gw z#dVbCu0&~)^2*CUm-ij-8qXMxD$x~dtyY+M=A945etw4WbbtM%%f8V5%<=vkaGc&H zfS+%)`bH~aUE}$mXMoYJ1U9=f1@`y-G-Bea*!NEZ#b%nOoV_jf%@SE(0z;N|S-jXx znw@t*jQ`*Wu;}Fppvd|rVW|XI1lxI~F69G`<=A0mi(m?OI)7Hk+^#ND=66_v$cK zo_&PxV;=o>4Sz#8-D0QBW0XS!|KgJOpBZzUs2FKKnzh2h2pj;2*h?KSQWlYS2bbI) z;8Vn2EVcF)^kctMm(Xu87J=cEW+4QN7=MMpUx8ex=&9YguxXrpb=_D0#3E(Tpbu0DoLx0$l~L1Ck*^T)0No6d`(5w=kR+%8lehr@WO*!ou7M_ zioOJ{7X5SbpSGC8d)s2&KO_Iy5ai9b#rE`C$NMRm_nMOv_Q!N$Jl{D8JlJ28`xxSZ zi;S0e`SR#Df^r95(%B0jfPw0T%(fG+NLu z0-2ba6%xafsZNLnV8nKn79j56&!GW+xOxOIKTsJ!>h6XB@pv!ugRcWtk*_>8KTf<> zf&0qTGC#nw=0oo^Q04~!R-QV9r{stD&3vt#n6dVpm>bRhW9>mRXByDR5A93&!F(zEN8x0zkz+rgb01s`~)AMRY>T_RjfJ6KG zgOp(bp4!*u*S3e6^3=lIB>_#h1;i<*+tOxB4}Xulq&t_vBXiMz%wxyEjhyl+-)B@n z@qxDnto0(T;C2KmeiL8vsq&2Fp7P*UfjnB^T!@$l58Hfid zWl%v?GeGF_4^+cjNd_<|>dxPbq>$9FS$6?BZ$d$U1|*BqH!ghV}pe0l`T`K~zY`?UKuG+%OD9 z6=P;!O6op-q+Kgi_La?cJq<8+e;`KI1zOJ!81ZM9l%Hsg$-2OBC6Gs#yb_hV#s3+H z@D32%m+Jxs?NtB_`l~=?5U=(KD8Tu&TRfiB9WY>zL%$2u{psKsfAG!gaK8t99{OiC z5nR)ByTGT*TV{g6k6qpF0uPr|TW<06tKA2ZXVmNx@#_x24pfr6SV#Z+U*HEDON_%Y zz6o$VZv|e5lR6+wfG4lc_10_F@!J?QxC9Nu+Xi@OyPmICD^g$jdIKEWm+!2M3-Hvw zG(Wd9)LiEg<|!Fyf4VK8&N*kxEL~>!`?*WbxfCCTi)J1>0q$VlG|8vjK+8e42D8ko zLxmrvMUp%5rkpA-Snj!wZWYL*1*wIIc_c|kiP#j!pO9N+?QHbgWOlSE>P1(sK==I?;aOhB-uSph%&C}~Q^Z5~Mq?BC5mJODt@L02=7 z;`$HV!+`)4G*9R6RZ>8XqqVU)N!^Bm0fWRqDdf5>9wGn*Pf-vEkg<;v+eM&X4m zl1Y|`MWY!>;ugRME;JKWaSNlrF3gg;DsEwN_Gng!r+CC4+;-XCY)3A>2dvxLsTjiu z)KbarJO%OQdoNHAjo=)>I4Q#hx`Rs}+$(SMf1-R{1kk7=C!*5{7 zqpR delta 295 zcmV+?0oeZ40{#M!V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VF2(B|`52 z007}hL_t(I%iYqklENSm24LP`AI(;uAY)}0J5#z_r45Zdoq9GvquFcNO9nCmb{5Wf z+wm_f1M?~MbtTmr$d~;pfIX8b`Ulp=XZ@gAkKHq9wmq8T?tgjY@zayZhKNO@8A;L< zz+YTxCTh|Y#&BDiH4ROg!sP7PY!EN$NI1Exz1x9YdJkB)w{tPZEzn9MhwB`qn;%}F z9Xr7#fN7_UI~Yzbf3R1a8I4pYGAGXyfQ()-Ekr6AO6L6r`PYNGEA z=_nmwyqW{^g?}JvpbtY1N_>YEZw&xSu>{|Rq_r-IlKL_zG=<6KwF49e0OZO6;=;5b zPcDF&2~;l7F@ckb4Wx8G1Yio80~D+=z&z!TuXcjrpJu#zuvfl)x?c6h6(V&U>E}M zqLjdUX`hqp^HDbxlSL-+yX!6x1WXaQ&ous7&!yui`!#rK5R z_yDN?YpDyd24@PrdenU13ixsWL~20mLQpFM>D?xQv#l=HiQS-HZgqgHkHn)h=Br5)s4#WTe0mey0K~zY`)s?YM!!Qtr zOQh_at%!jE?5b0Ss<99Q3qzS$lA=tgTh)=f8Gkf!W1GyqCBy&e|9$7H+vyx>1(z*C zkobU72${zsD24DL@d3%H2B^m(#0=^0ih&yd%zEl8JQ*R#N)_PA&_L9oJ+Z>>j7$L| zb|uzX;sr)n0yBzz83;4R#JgE2h}*(i1mE8H0X82s6_HKidFeCQ#Tw z*96X{O@NZB2|xs53&>b)fH>t(Z?26hi^jZ|Sc5jYjNfe_AW;pRb6zyhAQPx@2F|Aw zdyW+mb7he>*X6)KTFe_3qXtmSy>}%OhJTV+dT%?v*TkK7PzvC~Vd?|WGMB(d-kg*H zbn-`@`}YZ{Ml|g^&1WxuF-xp%*0-*d|OI?T! zSY7C+NA>rkfNu*3a0zH#2-3(1^xGzZi=8euQS*TMaVrC4eMSzQL4U6w9%8SfUmQ`_ dCOxXZ;XhJ`xlN37X9@rS002ovPDHLkV1gfa*d+h} diff --git a/graphics/pokemon/boltund/front.png b/graphics/pokemon/boltund/front.png index 777a134fc1de3164a6d629311cfaf955c5898c12..4254bb91ddc76045de5237753c19ef31b767af74 100644 GIT binary patch delta 653 zcmV;80&@NC1@#4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!~RpK~zY` z)zmR-+dvcm;H%KhK{go!icG)+I@pJkDN~K0Xpx&;)|p1cFStYdniqNDuO3h46?7DYa0wq25w zq8lx6*el?eiD*$QA_N`%ZPyPB!FiP9E;I|@ErZ{AO z0N!SkLjI}g>;DNev$}3=F+w(M#J=JI5m=wL~d0QHk8cYlzZ+e>;8Q1{%DNDWr zRDsMlfsDT^AeAe#bR9U-pd5%RdAtUcWJAm-0;IYX3k_-> zw$NY(!1o};zk$Brf^>%H03}0#QjsK~zY`)zvX;+dvcm zU{(0$Ae)QGTyc9gT^amsuRPQPrC5s^-G|O7_2Re2U zw9q4Kp`m-Bg}yt{Hr46eIR}<7@AG?ir{|MpJ+Sep`JZ^JhZko}f1J7{GK|6CN#L~+ znc@JiJW7qA0YK$2Rv5xXctyR|jtRVlmy5U;E(24A4BottdkbL%U*YqQm`(~)g~kxR z-Nm&3%p8X=cUM47oBfmnOmmnSS9$Ud)G%(-3mKher$#`Y4`rqikn>m zTTevtJoORu)wf;Of71kGeuk@1z)QTPB|d0504`Jwdy#Z51rPM+Ek)C^y-pGf9_bB{ zVcc=Bsd~GDYYD6&w$$u^JF;sq9_bx}Eki$X-lBAi*Cep_&TtV3c&m#SA*v7F-p2$7 z7&_uIuGg?Boc;wE4>a(4b`M;ST@CC}HHAolBD}25vb}#Fe?*f zLb@VZ)`24hiV43K$2Fj^Hh4r35Sd1+VJCA5EQSzOz?K@g!G68LAhrVg=vvjCl0k{c zW85PW&TEdbesfi394fF`3*_fe{+2j>6DUJA?bjTH3T!)=+-~at{}u`~9h^d&Y5>nc z2z~>*+ojb>`jAZnJj>1*E}t}2o_{N(`3e=5DGvjtwL`iJ8rd1FjIRrZGw}UNLKup`HKd=MO`R>#m zS_f2;9C!i%Q6IY*;0A%jJmF#4Pz@qkz?#P`*JWA?Q;vadFMpERZ`lJ}5z%{e2MTRZ zXP?k9Ra8lzxV{v!dX$qHUuPMaDJW{&)gGuPus3V(0G14yfLEU|!h-P8R3^d#7XPHa zeTn7}L2+pVpwj(r0Pc;N!*S6A=L5u>eE81}G??WyHK=|_KKjHcj8!TPg)yIVVa%@x jqt=};p&!IQ=oZHfyv>`iOL5}900000NkvXXu0mjf!e4@V delta 302 zcmV+}0nz@61DXSnb$Br$aM$0z^*0R2fsK~y-)-IAeh!!Qs){Rby& za8e^RY+wb4l7al=hSo@l3VWadLk;P-bZjKMILHC@oW^bJ3~#D>$oF)*v(Hb6n+h|_ zp`0Pzm?|iUX&s#p?7&ODIShy10hJ_s_5dL2dguYJ5lGAv9)E|8(IJurtobtKv`i~u zs?wW_WVUOb06r1XF1iARHmBoMp<`;OkyFL#wUEt1dOg05GBQ3WTAQ^KP%E%E>#qQo z44Hs;_BLoixHOf`x60y9;@3+whX{)AJ^(7+ZrFFN+t-h0;Cz7iEg%2cfey2re1qDD zpF diff --git a/graphics/pokemon/bonsly/anim_front.png b/graphics/pokemon/bonsly/anim_front.png index 87901044954859c3394ea5d213e8fa0eefee7f42..0744736800e49f1c9ee0bb7203182599a533d8a8 100644 GIT binary patch delta 701 zcmV;u0z&<%29O4jUw;CdNklsQm_M%eJ*D>XPmv_@`P=kF zB%-r4&EC8QIP}1g1Z3%n2wY?w7>JSupU)u>9i-tx;Ka;00oZ1g zG4S4)JOSH`vNPU6T*qixQJ6prK$yTx7jT;ko?tnQ7jT;l9CwcJvf{&p%0%D{8gIY$*d-G+lQc-EANc)B5`Ag{T_As^TTN8)Hn5096n< z$79+C01XqgT-qAVsq1bzj$_?GptW6NOp8BuX??&7+=M5Z76P5ENDd^({^ce$DqGFQ=ZQt2wbilr% z&Aqno9`(T6hSmgahd|y>i&-|`xr<=qjt5%#Np`m2Yxizy4BL>MKyWC-gdZutrMwqj zNe`4H0Ds=0Xi?jvcP#%K@g>$?^`w`W{euh)?vbQ6y}^*|fj1ZrY!6m2g?@VW_Fx6O z=-3G748;r`p zJ+yV#v4224{`L>Hf`&0}15jW`8B!Q)aT85Z88%g5K--efV(fAh_AlE6*rjb_Akh*l j^@Ub)iFj`vUJ<_lla>9(DO!e{00000NkvXXu0mjf|42y% delta 726 zcmV;{0xA8F2B`*+Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU8CbDIM( z0007vNklJ#O1T5QWKt*j9|314M}6I-qg@%XGgHv}7*8rP8_Kj{vtKM>&A4 zwQB>BdjatY(&SK?WdgX-n*cG8N&|NDVRz?ovF`=Jss5?rSby%nNoFDuUM5L8dJS;q zfvE(f$xH;6DHjI9c)|TS1j2E0^*&7}5I9Scj}tB}05db;1%R4i%D_8gbPUuC(@WMM zDkCITI82}fV3@%4OQ`08Cs?h!B~+7v^TrVtD_TrUu%^mybzF zec6!?4D1JubAMC_*FkL=*a$%D?j7~Q0{8A|N8L3B9`_6o98tB0=l$0m2G;F^+dY1x z9BOb!M2GKGgF`5~Z5n#mK_H^-?adFOq61PzD{^>c%rHy(AXm9eu@63vVXRSOa_N!py0)u3||K`Y@U_! zOBz|amVuRYDF-pcYyEPRQ=RI+R2Yxs{y4c13GbX2e*>iU}uJ-vb9b>VIYiy$mqe_^>Lj!SJc{j`|(l7J~q^5@OB93wqH!r z`B5!~7=L%Zrj4Hj{D|4Sb$w+xhCmso>mEN+UM1ZMucQZZ5&)l2l<4i@Tekn5_!2Ac zdcB+hi4xTHt-Y;X9NB=D8(orFu3|oqZC!%{A{Uj zEdt1ujmbGbKw$ejKNuL3_yC*_iX2YS`hZaws82&(HVx+otL6M)3m6!qdH}LQjv&Tb ze26M5Opswf*_?Y3PB}p>`?kUnjHYKN8Xo{(0Nvi9ak1wnjCgCBEZ7IIl?Skux9u(zYQpS#X)m1v zAv<5@Xa9d-zg?a;boYf=xrpA{7b0)~W8Ys2F}wl5y?>;d2jU~cJp9*baqp#eqrM@!-LqU;40bYMMSdo=8)yF1Sp0YPkhe>DpRr(OvQ1}Y`fKvI3~gwbUHJqjj&wvEUTcV?7zV>E#F zbz*Fw`}lkd*f{{Bfa%sf0Mn1q4PbF}Dj@DJp&Lj`%Xf18uJU*TC`wu*Z-Bi8h#Md+ zl^ej~O!fOMu-_+CKmD2TaV8RbEVHW#T_*;w<$F5;^R5O@%X2$o7kAf&V{zFwfIs~CAD}w)5JwhZS%Y~wCkn0WN~Rk2qU(5U9t=CYeEre@ua;aCK&+?GT9I+BmbTl oRfU)*6;`!SO3E5y|En1L0x(j?k!1`;YXATM07*qoM6N<$f`!c4r2qf` delta 479 zcmV<50U-X{1jYoAB#}W-e*gz`Nliru=LQD>BsqF5PZ|IK0jWtuK~zY`-IKv?f3-$qQ%sg++*z^tnPx=XeV0G6r`z;%EPe{KCG;5Pk*7O-{z zF946)7_0zR3XpW)T{CACkDqv<$J9vqMP1hMzL&C;KojzMiV;r4#J2JjCj z+2k>lu-(Sw!v~+KJYdObj|5@>jHx%D1XhR`w`M-lCKh_2Hc=giD0DzjAJ2PWP6oB$ zA@ZFrP~k3wjmQISf1pBG3W%G}o$D4t0ZIzyx{b&YlUho$32i`G1X6h z6fS2XvF9qkQ5ZTgd9OZu1uTX$?6f-f5=l5*8ym}O)BzGHRUoatTA~ot;@P<(t}-f$ z)=*B`R9?Fwgb@+mmLRgcB_xrS9ru5UaZUh}Ty%uY$=eg6Y>@gH>lR81(L&aLt8Xw; V$C2I%4x0b~002ovPDHLkV1ny|(j))? diff --git a/graphics/pokemon/bonsly/icon.png b/graphics/pokemon/bonsly/icon.png index 82b8ee194c9128771b4e85e0f93b30b5b2f7be58..c68beb1401ddb41b941d597a29d9351f9a937c70 100644 GIT binary patch delta 71 zcmdnS)Xy{_fqj;zi(`mI@5KIM(?u&7y3V-pZ~D)p%+aGJA>!P~$!7ZN|NrVvF{eKw aOZXX_;|pcH1;ZN|fWXt$&t;ucLK6U~vKY4j delta 110 zcmeBY+Qu{?L7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKV`o%l^fozm6eu*))5S5w z;`GGyVv}?3yc7N#Uu=G3f0%=5F(;et!3A#r|JUnZbn2Mj^o5bZIlfS)`=HlSpe_ba LS3j3^P6$Q@?0Eu%=wlSJ(aUw_ z&VN*+b?99f?$}`rgma9M z1s+EL*D-zlzjITgX1|2*Dl(-2`{qf+JbXQEsdjGSh zowwqO3zvj^l1R)x_rEDw`oLvgmfLSKf<4_2LrSb3@u$FbK?tvZWPNDw|Df16C}Fl0 zWOQAdIzWV#fgps%f^;oHc8SOs@DUa%j#I=51I&#>^9H9IP z07^X|cYs;~?hZlZ0^h}Jmxu&=l@~^(v?=EDJVFKtAFR%2g%b&w9p2}zPE%!|f%CgA zcXdjXt|LPBOWlBf0xBt|X2}l^o`D8p(=wC^TjP+vDiHwCG>x{903^)5h>r%&8wUx* z&>;sv==QvJfEBI;kUI-HJt3jtz|3h#=|B?vO;eqjIr0t`t+K~zY`<&({7+dveB zCFEw^u>$Q@k?nn-T_dXx4CxEl3DS%#20Z&uFehQe#V8G4z*AM{xbw>|le;}Mg2rTe>1TY=K zkAbjZK>L;fgbCm_tio%6t{vx_S@g$U=WP*sI$U4%$J^y; z0MUIvJTFfsERK|tVYoR7TruE4p2t_9Clfn(1|V@09{c0LU(&6Zp!NQ)C!JSu#e@rl zE+rDvZ~b3_mOgNie^=G^hm4?)_rs7Pt4Hi9Fr5?JD_I}f`+p$z4Jt9)T4Z!xn>s)Q zl>sNX#R7FL0JcPA4A^js6vioFgaPKppsGswMj!^*3}g*t2CLx#D+j2)3jm}ZkUKyl z0k=aCxxi2U+9f=}Ugfz_3Bl!Do(I4H;e*xLtY9Jm)8SL@f9fPv1{yf~)#a{EkkWNT zNdKrCP(Ur^)Rg@E;2CHjHd}@=VQU=HS4#u}z!+-_35bN*hJRpj-Z)4g7CYnu;JQ7p z9Ylq%85T`d7qY-*kSYJhB#4WUmyqES zdFdq6Ybbz}Ikr33YPBa)4>BvN!Y=0k`Z;9<0-*o^ diff --git a/graphics/pokemon/bouffalant/icon.png b/graphics/pokemon/bouffalant/icon.png index 20273fcd3ab6b705a359ce546aa2735892185a6b..d68affca95265b3039f753704046704cadff1c9c 100644 GIT binary patch delta 339 zcmV-Z0j&Pe1E~X$Uw;8KNklo4842JUtIu8{&*Px=k(@<+?D7s+$GR7~^KBXTb$Q zb6Y0|sxUJS0mi3hW{}i_PobknFgcU(5W++O&7eqt8;>LT5q}3I$CTvpD4Q1L>zClc z`?6_Ha>~Kk&3;t%eaZ^v>**1(n8V+T%G-12lCXW3VU@Hm`0Gu{Y*7w}UAGi4gJLDb zrk?_4|FodP^{y^wb_onJ9uAX$iHBmw9#(vCwjjt6FL7oZLPs6kDgp+uxe!6dDgp+| z<`PYK>B-pd;_MJxNW*OL)Nt|OWI|+vwO9VlVyJ_5ODPd<~S}SaI9lS*;(+6F|LPt7Jpn2I&SLZKoM%jBEb0U zm>wkM;8S$bBbb~?cnG1RfO=3Qz>UX}{D^~+W0&OdD4Q1L&o9A)_hr+ZF@FJ Y4W^g4ZKOQ5y8r+H07*qoM6N<$g1UaLyZ`_I diff --git a/graphics/pokemon/bounsweet/back.png b/graphics/pokemon/bounsweet/back.png index a806daf1beb7a51d04fc4b789fa9ddb23e688b23..cd2a5401b59b2c622b1205bb532799b2b9c60b0f 100644 GIT binary patch delta 361 zcmV-v0ha#D1JeVLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W3*GK~zY` z?US)?gD?<=jfBJsDe8{P3&ef_peH(IBwaf+$C^r2^P*jOm)_Y$#da`Lhe-L?@8iz* zONe`JIZ2Vn`GYFsT>XOfSvYz^1)|4A2Ja4Nh4_jIlx)d^NAMa%N5J8{A)K}ZZ2nys z10i#I7!TnOxNP!r_zt*u`NJ?xSA^8=xGB@iKm<~INU0WL{IK~zY`?UcW6gD?<> zjfBJsDe8{P3t+zh&=Z|9lCB+^V@;*1dC{!AOYZEVf*s7%p;d1EKHvF%{1M__f4HJ7 z4f6+;hq>0}1`i6vl?;rC4X;CjDj>i`t1}4h*z)`+qgoYeyNF&%e~SdmwXV_?;hU4; zLY~{oMoxlqw#l?k>3Se1LzXVr73WAs0aUwXpb?)j<7JZr?+MGmm{qnjbi)S;%fMqs z&sOLVhfn9cxq&i*Dv|2de+EPh=LU%Vn-`FjMyhl3{Xg}hQMmRbxVs22k z6oBQogaVRxXb>miS>Ol-hz@7fJ9|JQ#8*h5O6J_V1dmw=*q=6pk7o&lIQVLQfL4G002ovPDHLkV1gXV BqN%?j#4CW%l4^{T*(GD~Hdh?u<&Kt?A+)!B0Bv5|RG|Wkkanp6HPPP` zSzs*!M~7n|AHGDuY=4PGh|0Bl-)_A3;XZ1>)$WB@`y~ev`900*=7s}aOfEYnV5yurB1t%a%kv5k|OM?Vm8l?Cx%$m^6*au*L zV`=~Me2+C=rF#8a>GQN-)RU_;V9YoNTxQN-rs)iIlLN{s0Tfzye}I;HEk`KL+$%=4 z_rgWF#R;%atUqYqI=9P^fE}3+RL1fd4j10L#}t68y^9edF!%A40?;7-b&&;@EO2(Z z2DJXbPuu#JnEN1%N!`bKWv%tkK>}{K8`3s}gEY~{Z}N{~0i|YNA%xEW@}sx|nA!Kl lv!T7E%{(my{a>5c=0N(+RP2P3C=F=2)td~r?Y3C4CLyB66_fo+r*B@Q(cy4|}tDGdpvz_y7O^07*qoM6N<$f@9ikCIA2c delta 284 zcmV+%0ptG40`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VNnOUv32e z007oWL_t(I%iWT(4Z=VSMQ;P|zyfT*2wW4l$r$cJ84HO$QZWxTB7({}0g(_zOsKH0 zfr19EyC?hK`TK|P^GCBgV9G(2l?)ze8e-OPO=?sIEDnm*i+{k_VTTxPPg$dV=q^VR zTXE-gL%q>pnZU|OF!LL5VkYX%SI1LBV&{d0$lOmin`ee-3V(Ax*uDdhGB8w7I0F$i zf~wvAGENCFn-eS%(FNq#xr(h&Ek*-cZtW(+ZL@2Mk^}4kvj^id4YdIvOtnozxQOii ixaV2s5a>7Ue-!|Gvw1Td6sXex0000Uw;I#NklqG<)FGX%?!Z$vqY!KYS&6hKPbrK5l(#?`-24sQym|>VyNl*_)at%F(vB=X#!IL6 z22s%c_`P?JynCMr`S(WU$-`?Au(B&_l>z)o#+3o2(=!51&wnXQRfB!_Z0i^m4+Uhj zPlA`s(GmQ;AiHUi2xLUU=m!9pwHHdztA^1cuo=oAkUv3s>}e>Y0Okk#ivT^9k<5T+ zGK%9Mlm`#9*gPGC@@Lzrc+aFfJe6`VTmoV}n(c-apB%FcSCmjNQ; zcqka>27s{?L4Om%sc_EK`@jIjViEl`_;Z!`2jVam*!=jyv(JRua0o@`NxJRXB2lC9 zI}@@9)X%-v+mTZ09a(Yc6#~5FYw;y05VCT$g8<~cr+!iD%+bI#vW)7BHPAoP!B?&^ zfvQv^H8IJpU;^+~C?Qg%7f}M#1=;@nLYW+}c~ZX=pMR7}NEuKcE0ZKB{DDVMX{yv% zl>)?tGNw92y9A(HmuKk&<~rXs@FYKMPlP)mf(d;4)j#xwzn-kZdxI-nFx&UmRR;jO zm;@XP4X#JpvET~=SlK*Je`77qi%C>GF9#Cd$ACNl=j%xivapIkld~LX=`@QcmB=Mp ziO`o~mVdNkLv|eirZ^y`ZM)m<@qSWL2q3yQ)2?t$rLbDl8#CM#0K1O^pm8%j_hDeq z8vus_u~7z)?$l5kz#?P->3$7xOrWX1_u}Adz|8NR#QP{P)1SMuwtpC(1PHL31N8fn zLu%LjNN0p@qK6dy+qt{ohZLPH3L*2mj{x1j9)AIZaPm}UIB*~8&*>w8z|YzL)+n_P zccauk!2UM^=$^{&)#6PH-x3DUhX!lIDj*uVujG7aK}OK~rCbDRwW{7G)eu~cwhtN@JOGYpv|kOvXs7{b-OKI(02zf6fIea0=*})5 zHh=$`B%5$kG{^xV;^BiFYe(>!oytKx^i~0Yo5j)^B+(`YOohi;Bi<;k@c4-6?Ko_6 zzNQ+*QrB+hx{ktO+*Z)r#|2=13lh*3Kl0}j7mz{-nE}a1-gjM<`HLk$r%A>g?!HR3 zzgP}&e5=zW>4E+08!SR?J~s;Wmuu=ZB7Xptlm-Zx>D|RL)aFv^5aDZR%oAkiLLGk8 z64h6Ua2iu1#<4tPg}-d6q1M>V;_?3%Tz5tDMLh8+JB5j+C?D>@F1?Y;2}ef zDzhksk?y#V8ni2wPFzd@fDx&mjlp0zDJDUaD>Y6>^$RFN9Zf=9gS=A_0{lHHL4S6{ z_JlCsw@BsNq=B3fI}UYp^R{RQJP6YJDQPr}fmqcZ1nJyhFtX-vF$NX`J4NmcM!(fc z@ZR2Lxds4O3_9gDAT8b#(EpKjh$%NwRy(@?BkLgD_6=*X-i9XtDDe-h`*{@%3YeG@ z|L|G+2eaN1AoC9}kGKB?|4?o)a!~(J0^Ior-|u1bU;IOfz`cI}2Z954{sA1w2@d4` zp$QHoKs?I5e}F$hr~~=p9|Y<^7X1V2K>pwU;U8-VuoNz|dQt!Y002ovPDHLkV1m`& BNX7sF delta 1257 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 Ef;odRoB#j- diff --git a/graphics/pokemon/braixen/icon.png b/graphics/pokemon/braixen/icon.png index 03bc6853540f3aeb119318bd3033efff8a202e58..0b2f087f29f083477f698b01758bccc7ac8cb42c 100644 GIT binary patch delta 285 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 diff --git a/graphics/pokemon/braviary/back.png b/graphics/pokemon/braviary/back.png index 02de0b608587f5b7cf3f22ced020daa4895ffb86..bbca1379600e4b994f1856fc62caecc05e004976 100644 GIT binary patch delta 611 zcmV-p0-XK71+rwg{TRW96w(FjSwQC4Enlb^7BdL)Sd(^V9FSJBKKbX+?D(0s{A_n{e2)TcR?? zx+Oy-rbiDbx@Uxfo!?7;*mTA^3H5-#%LsPQIVkXXHo~Uc>L-+A#0Vj;S_+j?k7vP= zJ%hY#0a(plj2QWB82XDQalrWpvF;v60V)i#MUmf;O-9=lcmyXWzKp^hR9w}*x5X7^ z8v?F(4E;~5mjsLU`}$o)VHa2AGYE1bcKUaJZ!53BH-Q|P1mo|2tKW%KAmNn=4n@H* zPE$z$rBcF=;}}9XOfk3er6n+T12zfA@6)veaKkJ6k9Y?E<|0jheM{GJ!s83spTkMA z5)2njKWU3zh7$1Web3Uci!DQdWDqrh-tL~R(N7lsDFfIUP+xfV)-dd| zks+dk^*na!N9eu50xYA5hQMV@P>DW@oU4|g5~4*<>w;1~o(l+pTCetN3)mB_MyP|v x_Zd+^_NxnIlL}&4_|KqGXMy@r9`k=ulz-=GevI002ovPDHLkV1h&P5W4^X delta 601 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 diff --git a/graphics/pokemon/braviary/hisuian/front.png b/graphics/pokemon/braviary/hisuian/front.png index 70c8eb1669aa150e21636b629e49458c512e8ff3..61a5457a57276ee2fd2ee768777c009f6b022cba 100755 GIT binary patch literal 15390 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 X`JJ`ZF@00000NkvXXu0mjf6UC@2 delta 390 zcmV;10eSx91MvfpbbkN`bV*G`2j>O{0VOyTF;2|@00C4=EQBxfP`okHAEph=H!<85jdoGE^{D>N5~`VTw&6h6)Me4jxzn?j;D(wyi9Vxd}45c-77^9yR*8&n2Hh&_-m>Mz=30rcAZ5NVX z?gdB|Nd=t?O^fFuE7>9n`lK(#P5PQF0HOese&u&*c2FDubbG(}e!9(F(n>(Q#>(z9 z1tnWG00NV2n`6QPLqVW$dVCP@^RXd~z*0|JQ(L;xgbq0@p@hDhQ9x^*8{-YC_62)( ztM)sfp{G#kDSuSTa4vAAy}591e8G>I5#%Q42vSH;JH(y60!PrYCCIJ^g5DfKv93Y7 zAi8e}IyoU*ii7p^@Lsg~g zmTbALY^)u4K_ZaZ9HS`7)+0Z*Nit>a4VL`*?DL&IAuc+A*^KrTVlpIEa#ol(2M)3+ z6e64QO_l3Nc8Kt4R>4E%O%YSIOKsshUSgEz#X>}la zvt@7hcqMg4bm+@e?{Tn-0==NLPl3mM7G}X+ojR~BKB6EnkW$`(^5tnMf4?{2-YB0< z!LZ3iZ2`Or5b$Y4o!DNCT|Dq}FcZLY#(QbOldiZ@BLWyB4krO;Y=jx#nF7%m!~=tb zm~BwbV}o=fh(r-XgD6#PHE)p4>8RQiYfu{$cfcB?nYlB@8RR>32Kj$FgZ_at$X{^= d`7nN&6@OnKxX3tz7wiB4002ovPDHLkV1kebm1h6| delta 366 zcmV-!0g?Wp1H=Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUDk7apaM z0003eNklyoU*ii7p^@LscbrOSatBZmb=6K_ZaZ zoI_EPtw(5L*U8ki{02+@{O5euC&Wbum}xMtwN67)rw5~pc7MS^rqXE5RP7xBW$ZVm z@?qc22~?zFM7>%bx4?a=u2qg%WNtd3KIbZ)PBd=w4$RD4t*qG~?)tK~Ykj3`j=1T{ z)NhHL#nMhN>$bq-I*)RB*JKVX%lBAHf((lzs9v6?>gQ_#?vCo2N`^%tnjXNb00AE) znzZkQ`oRPL4`(z2EdF75)D_oeKtLy2hd%)a-3l{2GX|nHhy#O!INP9thX&bJ5E>YS znMp%~Y=K)tCxiZi2?YjOX5NJc`3{{y{+-UC6L1FkBhDZn^21sA1z#Yz$fsU2-v9sr M07*qoM6N<$f}$IrRsaA1 diff --git a/graphics/pokemon/breloom/anim_front.png b/graphics/pokemon/breloom/anim_front.png index b00c2d4eefd3aeda88be6cd3e9e0cc65525eb1ff..7dd5f4869116b6a70b07240ba7123eff5fb5abc3 100644 GIT binary patch delta 1323 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 diff --git a/graphics/pokemon/brionne/back.png b/graphics/pokemon/brionne/back.png index 72c2ec4f7264f9a574cd819770b591f657bf0e1a..df7eb9d33cbd9d4485cffd62b6a9a3fe7effd17c 100644 GIT binary patch delta 528 zcmV+r0`L9t1o;GzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n$lCK~zY` z?UX-D12GuJbJHP$cv}3khAwV`w4z&Upg7BQ7K-WG+F~j$Zq41KizXdhT-r?Tg?OIe|Z=QP(g8r<6Am1xsyl&=c&#PimZDsR}=iwqD%Lb74 zRtTt;1v1|60Z%`eCDWdNUm&Dn09mh1$hrX}-qHM_6fkN62)yuk4%Dd)_>`V(=K^I) z_r%BVn>uZ5n*i!iy00P>Nh$B^v}xrqqQRAtu~H*draLx(Sda4vay5$YcUuks0Wg4k zIOLqS(9(Ef0_Qw}T*Wa=x4Vuq3>5rZPw30V$LZV5YBA7%)3t<>ayEOiUPSS^ zpzPi3#RL{U0nXLP2E;H0@V*W73}Eb7L`w3tl@G8Bln*$zodIB(mSm=*og@E8fa`-V zh;M*&OV!q*#4BKMY2P++63cD%q^fx4w9TU;Wi>-WC3kb4#R|C zKy27&_^T&jSf^#UTo@}HI^Lrb0?_OvQ@X^liV^^gZmkq1MGv`qS^xS<2)zSst`|V` SsZz`U0000CJkw?*)0G70n|xEK~zY`?Ub=g!$1_q zlPQQGMvJZM(Zx-WMs#aED9)13Lh*G?ZSg8DZoOpEMejPexU@I93;q!;$e1L7@NfpSzyv&iqs>Af0N7!lzpq-* z-ZZw=1K1U@6LZdQThKAr=>=^n1W$yRhyb=M9|0Lq8cSbHlH2Xb_L)dvB>nN2QW`l+ z_YXR7N@MAZB$1sif1HQsmpeTL8wvSu)nUjNA79?5Mv9T@uEYfA)9I7(B7)8&!`@6^ zbztEOpj1pufQ>T%9h$&E1MV$@$cVp1#Q-^Tih;-}2IMde@mxmBw!9w!wuLXSZ-8vd zq4j3Tq~un>W5p*p?mEA$6rA9$AcU%HZUbNWI3;3h0HpkSf7;{P3N(~YB(-6W;HxX( zq$4rJl5;blUu_by2GCb65_6TuRlEgCU5rpYp$5>$d#Mi{c^hFiF@P=(!Z0O>Br4_^ z-s({pwjhv~3n8U_%X{=f33PgCmp-{&pS z@|Yo}o#H&3Q(BUlItmPz^i!Ds_(227Um`Ax@>ka1b%*6DMma44$G1;K5I*g*&2Gqkb zswmpAZDg+C2I3?*XfZ}#h>~XkahkU7fL{u?F6cQ>1kw(~uK|2>jT7$?f#+$uJ3xht zZSX3&MuT{p?)I*K>xqQMZszhRd8)zwAPTftbj>9sXFzo#8U@XKWOmp9oJIkis~DLD zaJ=7orjKJ1a50{ld9RHJccG<$iiH?+GY@Uqr;itbMYJP?c|pAqsQ?>QZ TQ8~lJ00000NkvXXu0mjfc_0wG delta 572 zcmV-C0>k~S1)>FzB#}W-e*gz`Nliru=LQD>CJ}wEg<=2z0tHD#K~zY`<<&8d5x)afaKtgh@)CyaR8ClGBC{_R_U0^%B|kx~ zwb0ye@Qp_}v%7DNt!@D%@5_5LZ{{sR{BKXiYLtT}w8|3zK%*?xeQT)p0yQ#2R`>1C{;Pm!c|0?49TVI$Ar<=1um%y3> zpEl^yIJUy;Hd$JL(ef{8D*Cc`~qpuqgGJQ$Jq*7fHTjbb5-MP0-PLno|)sA zI#NyM*|^okqr1>CAoZ1+$ZQZo;5h0Dia7v`cR`WsCm3f772+we`+JZL3=V0000< KMNUMnLSTaWrwgY5 diff --git a/graphics/pokemon/brionne/icon.png b/graphics/pokemon/brionne/icon.png index 83a250b08d00fcedbd2fa892a1cd760b7e060bb2..da33e8ee07154d4d51814d3e5fed1d2b30e0ef8b 100644 GIT binary patch delta 299 zcmV+`0o4Ad1AzmOUw;7%NklV4e5Ji21IYXdH5rKqT3+@Ju3*bgmKX8+%!|a~<`BSSUZevY#l(Su7Q_2!fS7OV84mrv!K!7)?spo4VK_j!z}|2i xlEHxD2$>g8d?X)2|HMc4g%A59AG5#a;|e{az9Nu{O(g&T002ovPDHLkV1l(6hY|n) delta 337 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 W`afI>fd~Kq002ovPDHLkU;%>B6P6zU diff --git a/graphics/pokemon/bronzong/back.png b/graphics/pokemon/bronzong/back.png index bc4dc9874f9fe9ccfbf57299a6f74ddb73b903ae..29a199463d508fd68c66b5de7121618ac3a4c3ee 100644 GIT binary patch delta 726 zcmV;{0xA8k2E7K5BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+vZcK~zY` z-IT#<+dvS8g<SS>N#K$u~SOv z7^Tbrj{DG<^iB)_L1>A8LAJ9YR8mn9iVd@eP=N*&#+Vb41028@BeeH`))_E+id`=S zA3BAIb{0?rs(Zkb*JPgW0B&~)Z08&V9Fn9+^qUVZ7CY7f);dY3`{OO3p?rO(y%lAy z*AF)eLV5qShkYjk;N_<4x^nojpX~5n@@)(^eA!>v;b-=ns~FvX@Vwv4XokGyW_{&g zc>X4zb+K}ee`UmRE|aoxF2RGcqcw>XcE7jBW-3_`xL`vj{7o(lXr`)T2NKZo23X6E zfRF9uLAu^22vGEY)OalnsG~K%Q>sg<$y}(Zh{+O?48YqJZ^H=?R8!iB!zL4f4${73 z3V;;eP7tA0I8YOTHcxG5mok;9V8yo%4#Y&1UV4WbF%L|YS#EJStb*rvWz9NA00nx0IUe4vjaZ0L2R4dc225MYQUqOu+0hJIk5=Q zH0tERZ(lAk0L4O?9m~QP>+$IVSRDDCr6Fa2CSERpf8VO=52-=!cA+@{lmGw#07*qo IM6N<$f}Frk?*IS* delta 714 zcmV;*0yX`;2CoK?B#}W-e*gz`Nliru=LQD>CLMGb$w>eJ0+LBYK~zY`-IT#<8!-@u zjY0Ql*}Yo>qTsi1uzOw&C~0*wR znb9m3pUq@-`G0LozgvjN!r_0`f^Wrp-zDGnvq17En+LMK1I-+;e+<~kITw1#Gl1hh zVvKsj2Y^m!kxq8AE>vPx5eD1M9zq2%sL;n;5UGOzj6S;l7SKBbW>2vnB;!S=2%?__ z)PTh;;K6G&34-5p}=62DHoH-)Jvcnd{BnRRmpr z`*VQ(Bm&^+s_ROAfBkis?DZ|DYaed>b~v-w-^p(;e3bF=aFA+-yrgz>AuvAvko6J1 zN0Bcio-ZWII1Y03P3^aeq^Hffz&IA}SE3=2+W!)Y{ULZZQ_M#r;KFZD60Q*N9U2bb zVr|dPZBO}j5rDFzHHu_*zqg<5RI)6PU_(ZHCJ6)Dsp{B4e+X!K1FU5$;6pztNEv)Y z0E(Wf*TR4%So1q&bWt^$gjy6KT0)`$SY7iroB%;Jr4Kl4v>?zyIuxb=NapPX(e(-e zwII;uu`hNhW1b3@eeWP37DOIoaHtXUz*L!~9*4toXO$|w`)l4Ukb1*c3wvZT%Q$=l z)+@S}P=T>8e?wN>Yh|FUnS>RC7aJr5GG~ME>LWgedK3c4_TB&tKASFl7mp3bS;Geo9qT%tSA@e&AfUF+Cm>$-7(*!z@iQU`3i zzX0&?K4n?P9N3SJFSP*H!?a!n_^T~^+w8V;=Bf}mK&+by+nxZPlUWEBqfQEb_jCqm wqCivAIQhDNI0KePzGrEO37`cpXTWE$f2l$4b}7keqyPW_07*qoM6N<$f)7VbfdBvi diff --git a/graphics/pokemon/bronzong/icon.png b/graphics/pokemon/bronzong/icon.png index 67787ff7fef804573f2be43246bedb6287ddba20..92fafe5f059c30ad761d1ffe2a50e7ced65025ef 100644 GIT binary patch delta 267 zcmV+m0rdWb1L6XZV1MmNL_t(Ijop$l4#F@DMRS8l9DxI{u&{8Qp2ZAphDrz~u4M+( zwF^)&RADHewrSFYjScZPKgmv5L2N z7$CntW*UOb)2G||s!UQx9K%a%ECZW5V(SPsK19;G##(mak&>)N@F-|EsVUT;Jyf7UHrJOK&R%#Lk0eE4;BYh>z8xQ5>%!Yg$ R`~Uy|07*qoLO{0VW|^ceTy{ z008JoL_t(I%iYp34uUWg#_`^uiAV4NE-o%!$Fn>K=s;q0@>-AK!OEgE4g?4ML`tD` zbRxcuf6_wBPpM@OzMi$%xakC+HcuxdI1ZFZ87|?PqR_Ez<9|I0RAE4Jr)pjTaJr}T z=7T2TG~2E>f;r%LmVybeEvvPT{em6PHR) zSMbbMhx{6R`im|?COj=FGB&73@|zdqf{G#=|6J>3AaL!04IO2nJK|VDJ-|HxK3I%=nLSI{*Lx07*qoM6N<$g6ZLa Ag8%>k diff --git a/graphics/pokemon/bronzor/anim_front.png b/graphics/pokemon/bronzor/anim_front.png index 821857369d5b0198e7eccbc653756d79bfd83798..e9d219a3896e12001fe2f8b663a7ac250a1b46cb 100644 GIT binary patch delta 594 zcmV-Y05XP;BeXpd1K4-=`fc#nXdF>pa*!2Oz z!u9|QdxjpnBmZdw9cc@NmKF~(0jRkg=I8`hTB4dH!J;5x*zfH4&_@W5Ee z!d}n7z^B~$;YwsDqW)7x(9#mMo~N<2MQ^oQ9XleR5y6>)vVTF%LDpwQ)8Xed#KXu* z03vZi5daae;zUCu6hY-N;0lB*=%V`lFmV#dL-nLNVLA>eg&^;MQbl#R6ZD#(B|JY_ zD?cL8ayZh*+wCiVxPAF80Tl&!z5%|FgA^c1CMz|gg+XWx)mQX_muV9Ra^(n4MSnR%zu-@sq>cW_Gu4;lZy7 zO8ju>@S6DHHOCJ#CP|Vr1*wzQ-Eov=bt5pik(kDlf{SirIaYa+1b0^&)OiwcwDM%5 z@nq#?u1nLrPF|g_<}_?w`O>WyT5QVJ<*_)JwtUV(ifO;ajj^qOfQh5NQKze`xIYW=#p?-=i zhID|e(rN&C!v}KsJe>IshdsV*7?WQw2*<3zcJO%tBV;oufqyBJg}I)Ak*n1D!CH<5CldJO6A zAmuz|pSQT+v(LXkX8$=t*xU3Td;GWfQ02BLB0jjZqJLMzz4r%{(fsIxjj{Ug$ud7qU8H;fJ$2FT{dznK;b_`ato#&8$hiM;QN3 zy-PTz2J1FAT~?3)jK~kKksn?Yv%9^A2OksU_~D_$TjYng6hF+EBuUN`q)uM@j-xcI z8-c-%#9=g^6kN0$%dyInB)GfMpw5$krIjZeR&i10I?d};s`Is|#;t0f6A$o_R)Fv! z@pi@)Aciy^NdC634tapc&i4{`8pM5osCIz(m*Wr6P;fVD-qm1q`Av|gX9A9y2} z)nh%?^eo-%^&^$K;{{TGkWq<23c>~HRhLZkWyO0G0Q!`a@cQe{g9HE~mXT;3fWbk; zBcmS+z~KM>7a)A51S~v=!vh~q?0t~kObRfoFY-gtbTk^Xq8@M%`6A8kgvcWUaIB@M z1CDLv47|8w4Pa|$Yh4@2Y2<1*fTV@Msld6+A~4>Mg0mK+4m=BgyNE0Sc)r(7!duo3 z2~i4#p_qpbKJRNUs-Sr`NBwA`D9*mU={q-RyJBxG|FtZGsx;dnsW&W_b8S@1RMrxMZNC~6>0000CMi{{J^TOw0gFjQK~zY`?Ul=F!$1s0 zlZE#g3qzM3xr=UPVdy$v5PKNt?=+;~&+gTv?IQCCWE~lXkb7)BE$?jaGf8ql^80PHQjwL-w zS9|}8xlXb|8g(*a(2Sr_d($-$eO~b%1%N(BBfR~(ZPExp)d>MTa}PIv$=Mw8!iR2}Wv`c>p|*00000NkvXXu0mjf`-aKJ diff --git a/graphics/pokemon/bronzor/icon.png b/graphics/pokemon/bronzor/icon.png index 055842d3f8ae99d2e9da70b1c6982fa78418b3c5..8eaa3f83c59c1d010fc1a4ef332689ee30dd40ef 100644 GIT binary patch delta 52 zcmbQr^qz4-0(+IGi(`mI@5KHzrA40%_t`@T diff --git a/graphics/pokemon/bruxish/back.png b/graphics/pokemon/bruxish/back.png index 590d2d7394b9455009b3b0c7bc5e79765b8ae8b7..32aeed0b52920041c7d460e0d7a51e7cda87cbac 100644 GIT binary patch delta 604 zcmV-i0;B!81;hoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v$<2K~zY` z?UTQ5(@+$~UCBa>br7&rLcSrD7~}f_PMV=~Vd2J7moi}c1xRj*Ds^DM&4L7K;aV{C zj~sm8qDxy#S7Ku9TeMWFBAIh;;vkgTomfymdHa6)&bj9t8+ZCgTCl8Yz@oI8SfRAO zSXH4#sne_gO#3!~JgBaJaVuc7p$4r2S{P9Um^DI!D!}N}mienP^L`XTk%#5Lj))_p z8+iS)fLMq)@OpkJAW{)5CI!0Po~{TdDJ}e}EMVgl&d;OL|g#tU#IA_4sQ5@Xo38 z$m50N2qJy}0F!rrb(5$DEBpae*;ZE?=wp+n_ymN{3L?cmIR}907Vr`eDPgFM{7M71 z^|+_9IPAHTEl7E=Jn{4Vl1XXTX>&teC#)M3Q%}t-~xO{0||RM-6SM5iW2z+OoiA_uBDVW9oP7)ONfB4ML qAPMo=v`++VtRSUp-06RkVf+UE>No74CNW09rK$h`0vt(1K~zY`?UgZa(?Ar* zjbtIlItW-QAzw%(#`wN~(`G1LSh!eXDFe2@0Lhi8QU?ayEJ&ah&Vqp!IrzQ>3)Ip{ zOpN^&EtRTB=Dkat3Z=eIEU15Fdq4gE@7{Y>EbChTMmHSC3^xDv2dA%mKL4qBK1yFqAV0<3Ohg+Hq+-bxY(xl<49iZro$Q81`8NQFqF zpdZ!(A{P-y)nq&pX^)$M{Q#;7=Yu*RhWeIxJ^68|MR#`}?YHtbO8vg9K9ccJjycai zd~?*Ig*}oP&qX@sf1~sjUH-lRtfPT|K|m9Sw7qDt@ipTJh%sMJskeNzm=IUMQFry> zc9C3MdIJIIpaRs}*30(_)^an_hfF;Ofp`u~iet8?U~#b?DSQd=t=JjPAlJaQ`t*yb zLcrW!;1v?M^ra~y hVuF`Yg+&S002ovPDHLkV1gL;7-Rqd diff --git a/graphics/pokemon/bruxish/front.png b/graphics/pokemon/bruxish/front.png index 61c437bf20dbef5103ad3495c23c81d6285e02f6..4447621e55a42e4201e2e36cd01dc4c0621aafea 100644 GIT binary patch delta 562 zcmV-20?qx91)2qrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rN>jK~zY` z?UTQ6(?Ar*&r%d+#DtNhmrNaf8BnJP-O^+vZk4ft+A0!ANL-$pFtE@c5(`pMa#ps2 zf}NF+;W80bE%MDp9on6t{{zpVauXCgGpOIm()Z){zR!M--09zyd2fkdD5d&_#jJ7~ zkS{C;3Tc4Bm}M;iSTU`CgYkqFQzN({-AACDJ2*)8v+&y4kzNv!BQCfg-ud$FV&HHO zL|dPAMIzurd&17TQ131V_B?pQ*kKo-zBt8>?2i%Hhv2iEj$)YeBS_hwut##gB|Ra% zGBNUWZZ}-tgUOoz<PHArnfH*QO797og0Pi*Gq;q)#fG99u z&Hyj_j_{TT|KXF8CUTA=z-`0B6oGFm~=|EG;p4LBl7zNPRVRJS3 z6a!dM)UiZ}Z{jdxdSV`L( zoKhMCFR!l7Z3jbtz;5S0?qx|0pAk;u^~~58*Vm5yd@vrhI+bI#QdJE!d0Zf~X`^bv zKq(v6y<=A0qVv1S0qj~OP)ZH$+PY^wUg2b3obyT$0jRH>7ytIBeJX=Lfci!k?|z2g z0FA`s;?>CCqRH2n!7P+MNWU)5)BQXB$0Fo6Tb|?z=P1z)l>h($07*qoM6N<$f_M)O A`v3p{ delta 554 zcmV+_0@eMR1&{@hB#}W-e*gz`Nliru=LQD>CN)8=VY2`L0rN>jK~zY`?UcQ1+dvq` zWe~<=RcGvyv!{$Y4<(Z*x5OT6C3uY6NTkp}pz=%X4qciL=u$|rPk2jR+L(tQN1+~HxepM^KhHusZ=oaTZH-ur;RiwBPO!E34Wj+Y3y z&>GY84%9mFz`hS}DLv`{)Z$ZY^WF%70}x;M-BvQj{1!Oxjp*f6O$o&i26)M@+r9ssXE13m-fIFEo& z*WDpz0Mv_B&L;=sX!waEV&h5yh+a#nVPj^2>`w<8oOhMF=wcK=Uxkeo@p*bkIJ1UJ zg!m?IW`qynIuT+z!r6jo#u<{qN5gn>DhG8!roii8ms`<{e{c_AH&1Cv+3SoDG68mO zZZ2&HL%?49G4`?~2QM{7CiT?qtJ_=0e$^iho9*%mU9QMFnryOwzG0)PqA#TlYyJtX zY?AqIG61_;7E;QAU0w6dXUpubqh^eiMFgO}F;-+TbHq)$ diff --git a/graphics/pokemon/bruxish/icon.png b/graphics/pokemon/bruxish/icon.png index c31b54860f7d076c1bee1de9bfac468c171a3faa..00d049a5c6f8dedd3e16ce5a88d44677a589a2f8 100644 GIT binary patch delta 346 zcmV-g0j2)c1F!>-Uw;8RNkl!AiqG5X~PfOF*zfa`5KO3Lf$|QOKbL{E zfszmpi=E0!uf0eSio`&^!CSYA%_)#&ajln~&3=J6w|&feJM-pw-rp|LIzWGL8uG#c zvSP?1U%5W=u#Lces@uLnfCIcXbEHVVT5DKfhgt?fGg%l7Qh%3Xr{cm;NL32W0!so) z{Q?4~RcjjE^4yZBsUPu~p>*4{9zltcFkuOWXB_hefKh5WBFEP$)%Nmmr|q}rY1hDi zUfOw++%cdRE|C2KR$#uxp&bN9@`px~4C5g8@Hp+~)~POV07*qoM6N<$g6w~xm;e9( delta 383 zcmV-_0f7Fn1JwhNUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUEJ(Gq+j z0003vNklsn8HUt}Y5Y0vhlEXHwM^G9|n6QMxvl;USfKh5CBFEP$MSFR;Lmb3`o%gREx&_Le0D9p9SvM@q zw`jXTVI+TOka%RK4ss8V(|&H9>f`K5f?<$q_5OK)Onay*$Y-D%9E2+3 z=2LtteHIBlK1q{$a|Js+zGRTZN0r`KUI4_SrPX}@9AX-pRS%c+WE0v2x*sP^Hz*Ku d8iV*-+&?P|r%$>sX5jz;002ovPDHLkV1i;Op+5is diff --git a/graphics/pokemon/budew/anim_front.png b/graphics/pokemon/budew/anim_front.png index f9573204f947724623177e90c92b09e9a2d0ae7b..1c8e447f576251cf02dc9c61eecc4acb76104ed3 100644 GIT binary patch delta 617 zcmV-v0+#*T1-%83Uw;BfNkl z$rcL;Dcv61AZ)r#4sfJ!B-0|0GL#_$gf&OXHZvoL?3%*?Lw|s%9$G8_qo_{l4>(}8{z3u6kJtOzY8~H2;`t>y=_%gL zfMf9x$GfD+2!Fs!Peqa(izf;gG}7-yQ9R{|)q55&L?bVXEYA+aTWHsJX`W|EA_fG| zohJDB%PFyfcD3G#q`x== z)S8T4lnu~%*^jp_!_eh`wo|h>KyNo?lS>%5f^=n%27dxHe^+wWjppwLjInmm{4E&K zKw;O*hNhPG zc;KCj2V%zS;#kImJR{8A5DCVEQ=XIV?}-%S0lGhRBM`uNfc8xRm@v}pAOtl*)82^& z)*D|*z_<;B7(6nUvb*v9`Hlg~Xwcoz^*_)>|Ehign+v%tu4kPQ00000NkvXXu0mjf D8?hp% delta 648 zcmV;30(bqr1=|IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUGn;0yKr z0006$NklKaSc^5XNm`rOxx8L{7&u2e7e7NEaK}Y-_MI2dK3#36%T;!li06ms6o)LGW!Zj50sHzs%hJ3q2_PsA zb)N6*M+)e>#m~B~AFJGcep3zMR&`xg<&O9Y?dq&QNUVY%$DTI-T2{7Sa0Xt^YA_N8~){)y~HK{zJIpAJOh}mkS~DB%l>&S8OI(6 zw40{Q0eZV7Tb#qd5v0eu0~CKxa?*|B??sHTc2N9n81mXaU;*Kb05}&E*aKet4a^U@ zO&;@H0UMwfFl*3{dBF_nz(jEl1hx4j-K4ndC-q;@i$L{PrxH{TXZ*(=jHnK;PxfF# z4Pn3!w0{T7=>`bdGvGm`N_9z~j6Dd>*@MQLdVjPBRcTS@l%qX3 zR28ZIfhf=(p!)kXfc608+b2)fEy|q`7I_cvg^PLj8-4Y+kr4d{<|w=CFr1|faI^;9 i^_f@d;vfFy_zjy2xh$BaIv@Z5002ovPDHLkU;%;?PA&Za diff --git a/graphics/pokemon/budew/icon.png b/graphics/pokemon/budew/icon.png index 523aa383f08843ab683d982bfd4eba8c1d9b1e31..a6ffcc1606f1503c3803f3696b42f1bb8bf0ad8e 100644 GIT binary patch delta 105 zcmV-v0G9v90-^$tU!} delta 142 zcmZ3)bew5If<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?GkDJ|U5@2q?75)5S5w z;`GGyln}cGZO7+-exdlKF;PUJ@qfm{ga51SqXgd7wNH~timP6%@l&c?Dzw2~rJBF% t!2WcNjr?8)Kjqodn|}VE|7QaW!};vQEByU3^MIx@c)I$ztaD0e0svPzG*|!t diff --git a/graphics/pokemon/buizel/anim_front.png b/graphics/pokemon/buizel/anim_front.png index 60f0d0c60eb559c34dad94f29f5efcb5e945cdd4..3cdc6e3272a2755993fea6ab0e1cd410e78381e2 100644 GIT binary patch delta 896 zcmV-`1AqMU2j>TnbbkX~Nkl)ar)p=#g9fkaIll5 zRH&7BMO>RwS-JAay#-|LSKyA2%B`OPj&Lf+Mgl$npMlwR8X9}oJs>V9b4U;K^UT>jM1Q&kKz2WM?`P5E{4zjCLPXm|53>99EQ%(RZ*%qe4iZx!o~W1y2t^`r z)v(^40xC1^2wwrA=SqUN1`kSvfC7N!L(Vy4<5#5`p;`e8R`D%a60p{|)TIYrNB)jP zHgt)_pj9eCVT9@iOP7>h?&Ft z*o7Hx2a9n|D3&o5NSRZNY6JpRx*waa7s{uF?ASm|IXm)`T7vsm03@!Q?L{oY6#uns ztNt~zU4H;IvaO;{wpG;1w(6jl?ModB*){?fvTXz|WZMYPscctteHJF!o>e&0$@XR7 zypU}jfJ(M+kZlhxV6V-44;(I=Qum(2 zmUsgzgE>HutdYa_rDjg3;!APCHNw+SDwrPO>BD%8?1{5GxZ!1 zup7zzCqTgZskGE`nJa=IF1=?{-m+f#OEtv4)q_|{s`P9ebXQDI>N$$C z^m#y9fWk(HphH;|dDZ?X;MNa^7Un`;5th)upN&Qf7F#3$CCuz?B%*>lrb#aUM`}hqV W=KJ%m4Z#!u0000O{0VfNY*G*Xf00UM@L_t(o!|j&6ZWBQe$2Ypg zO3B`>0~ONEIUh8U&v&s>Q26X6L@1H?vS{NFo!kO(p8z`TE6^jP(B&CO2~|?Y67T># z1G9T}i0^hU4RoI3n*H6(?C$LRhmg7bS6jG!1KlXpi)-Dnzy3p9Xd(6*@z*g=ec#$^rjY zN+Rv#LE4|?r++Qxl>nL^*5B1YDaUOY@cb~jB1FCaq(Df>0a!W^LNGQuEL~JX zU+4<%l668>9~Gi>!EdVXP^JS;90v7*3#w{>0s?ZMYk$57xQvq!>rF~k42TxXGGQ!s zVNC%|#g_mq2CjijuOvZGtV_WX4ZH*Oa%s=wrDu^amBW5skyMll7lXJk#G(gtO)CHi zuss{J5D8WVBy2)(3lK9;^e_subO(nCK`6T6)(GC@z-&OMUH4*Jd!b_D$c-y|9Cf3h zQ%Q*627iFWVlGB=o6GhzeuZpLHei?SNk6yCc78-vvaKVSW&2u$T(+&iRJN_aRJN@E zoyhi?br&|-zVdKxlI`ojWiHz$0F`XdBHPMpQW+t;M%kXO%OgU^M%gCAEQjzU)OtyY zYIzRX5jJ5|ZQ&VrFvJL|OE0AZBTyS=QmJi-K!0c~s7yto;9)AQ0W@Pb^L;(V_~!9I-u?g`=KJ$`LL-m>0000*?w z8GwuM{E;>;tt&D2ZIOTS|K&YV4f0Dozu0KHl$Twww8&i^iC{YVHCuniMK`;#n6~pxa8&Ii>(3wFf+c43V0sh;? z`YRH1#s1{!XWcm>jRL%`Wazh4Gzp+{VrRr{3;2_c{W6fSL6ok5XkW27S4I8jX&d7fukX3a5P1t5wm5Q8`V7v$MA zEczE|*cTi=ujKzRc4mYIk$@WZ6zJqLHD;#!)ETJDLBzKlCW+6?bJF6&G|>Vv9I3f> z&PhoWz>B!xu>y#Ho){tf_*@J@?nQwnr3M@TXf3AD<2;R^OZ2?}0sPQ%SMrJ;><-su z#6W{tX%`rlp8{wK096SZLD$+<1WiOfJPLXQFGT^*-qnEfBtZ2M{UTg~z;9as531Y` puy}wTH6W{i3<4L}mAgFe7r++lCV_XzA^-pY07*qoM6N;tV1g9i@+$xU delta 540 zcmV+%0^|LU1%d^TB#}W-e*gz`Nliru=LQD>Cl8*wi9i4V0p&?VK~zY`?bE?d!axuJ zP?GHjxU}J7G;#63i4>MJJ*c5V2nY2aNXf?d7g|I1Z2Sb`56I1<9?J=j^dSC-v%78S z0$mc%%&pm%o!OabrE-Y>1#*Oqk0pXCfC-OEpDCl-;I1(TCbXoZofOy~*SoI>(kqT< zFTcAx*~-9seb+8!MFQwG^&Eaz1NN+^ZwBHz@WKt?O|%sD!;liK2tU&LV6$m-{;Fko z*1`CV)BZM~GGq-?f5yhe3_KL)aUz1!7OpWJ48?3vJWo_CD4eryA%ic#MV#aTqF92( zMH_AkVBYC#YrrSninUyyFXK;r5E87wPsj5@uKz#oQ#@CBCvXe+3auWM6w%xFEjrRbZU? z5+Kq{g{b2@Z-SVM1Z_f6Z~~x{cVWO-=s}fel>-MJw4Rl?VgR$V8Y0C=fkj~!77RZG z(B=SY0<@gIHY*Q`@N8HLat50s!NyNBVk~e_V?ur~6Tq>%`cFTqG25~D6V#{x-UN8$ en7|?S#UH>H66+>pn_$n1<~Hj&&sO{0VflRyVVZ> z007rXL_t(I%jJ=1D1VOW_Mbdsq-jbLGJ=cd4BBYAYJdFBq6R%#@E0QB`0lcz6LPYsvE5E4^Ij^ z88&xU7h_xB8x+Dw3VR)R*+c^%LfVatH2a_RH82|o2gY-7V3QC5Ef9W<#t;Ai002ov JPDHLkV1gqnOj`f| diff --git a/graphics/pokemon/bulbasaur/icon.png b/graphics/pokemon/bulbasaur/icon.png index 9c8677a66add6be4ea547e51a789be7d5963ad8c..7738836b9ca7d398aafe37127bf0bc3d5e5d9f38 100644 GIT binary patch delta 34 ocmcc0w3cZ?0{ae67sn8b-iiI&1lEQ=e8m6+p00i_>zopr0On>4!Tbd_mBf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gj&V4A%}5-7C8)5S5w Z;`GGyZ31@$W2=B744$rjF6*2UngGdC6aN4J diff --git a/graphics/pokemon/buneary/anim_front.png b/graphics/pokemon/buneary/anim_front.png index 20887cb4bc40330f5b88b5b873ff54351e014bec..5d6bb799d94f40ff4ddef9b31b1ae479654f9a2d 100644 GIT binary patch delta 773 zcmV+g1N!{v2JHrrbbkWlNkl8nu5P)UCV3rJ#lyn!>ddMabNY@Pd89F)8 zg{$qiCPRZ45ah9-#RK?+^I`w&N=eRgU z5UAfE(81jAUZ})WzXdo!ASZwwumBeWq}1}(gFk|{xc@S^d;L4>Pg&11NdS!pS_g^D zf-QE3s~hMZFMr)f8J>f1*SC5wu6M2p<*|qR>RjsvM?DSEwwQN=IS%Ke$PATpj!a`T zrX|`x2X?4fz-nhXqVl7JYC-35mNfvino|pPT+C{HN&(Pi_^1s~EvB}^d@c=n#%7tT zvMgsLFuv+?Np-*w(#IUfC91;a<6LE1OojK1iN6duO&CpuGm)h96&PS5QI~i?61Tx~#ME{19LqS7>@3%y zxfetvv<3E#7oTo{dQUz9cUyq|`z9>whI857!WQEp>LZjIf4`9#fB&5d?PN2_P-Q8^Q?!Xc<9G-vJbz3yWt+!do+n zj)nmoAsID{7BV=OgnwRZFFM`hXbHhDx%Q&d88@_qCG0lnG1@x-am9-PJq9Ji4T~@^ zdJGnDIYC`*ePy@Fiv##W1*xM`b}CQj~>KE2YR1m`l~!VNQzB@(}-R z%?|I$3IcOdp5K#ah|ceqGMO=oA&gjY`H`XP|F!W0lbPT0_MO{0VgCf25A86YtcbMTa5; zJn;jMKK@L8o=pDb*oj7f*vw=kF?lhQDr6=rQn3P!RIKm|fPYvb$&Ar6aSyr>fgP=N zDmGH5`lZ;Y=pZ^cmVh$=kb$caKz+Hft3L!DPy{CL{sM3*XHGqSD$Cy2Dv?l##G4{T@$n_K|a zdA>SLq!P~2XYxFr$8V{M`~YVr9WfQzGj{xAAZfzZR3sCL3%^1tX$0w#3~1&x`1v){ z5nvs~I+8`iN*BaL*#X2iUVXTQrK}kvK=<`l7M1St9>)M#GkyT&F>e{Z!dqC*BtQWq zdBg$aF@KGhh%CH@qGzccww96e9#d^CBM9umcYw7FZwMy@kYyBMO(D^_7-$c1I5k_* zvCsoDl2O6dLVCnF{PQ~VqSHQYEg_sYFFLKmzF{n3uO^SN-T{~=UiIWLBpKLqneZM% z3m}^b)s*GE_ZSYCy6Z>Mq`KouG%b0Iqjp@f3VC5Wq!YCqU;zdks1;m^x@o~;ExnxG zVqeaEl$cVIv6!+}>`S*GU1Cm93`b!+DstZ5i`0000eE8lnnwZU0M27A)KB0-6a_?p zM3w*r2hPt(JzdE)xXQ?XA<{P~cO3xp-vrP~iP{4|0I8HEHY32B(Gm4JW?>o_9o-N! zxauBG&L+owR!;XrT=)jN*_WHF`D$3_Peq&b+_y3i{0)vN;mZ1Q(~04tcQgYV9C z5ckgEsBe`z>eC!R+@TH|Y*nzCb;DXp{SNf>shP$+t7Z9ma8RLt&ZaZCc8@oYzJdBL zzcsW@|0ZeOEYWs)>Gb^||DALA;RD(e-_P}Nd)&10VF0iegOb07fEm6y1-v(@36CCt z1fT*3(_#oDec)*bR3U&*#FXs`AUOr}quLUH4go~~X$Vk1*fj8HC?FhSPw9cjmTX|- z_PSz`Qr4wWQQfV7+Kk97-N!QUy3b0#M)ht}`Aiel;gzW6^EiNYNw!EUAppg#eZT3X zmg+AzhepK~NiIrl@61&!sXr^(m{Y|$JkWr`5|`#bp!iDb$+?+->5eDeA;~J-M9;Ua zg~IPn&m%yx(Drx(L}p;@agjr2fOGcQim`u$1|wvFn3e?$00000NkvXXu0mjf3_J(* delta 545 zcmV++0^a?Z1&0NYB#}W-e*gz`Nliru=LQD>Cn!6xJSzYI0qRLaK~zY`&6Pb*!!Qtr z+a+BxkWiJm7ep5pY>6%mRN`Ytm@EuXRA)t1(_8Z6P$inhKMLD*TZf)giHRHYKDv+B z_NCMLbDUwT+)Xk*QY}ErGk(KAgL*IHCPqO(T7a=o3i$+#^DKh^e-McrAY;JT38}|3 zF$Wt7*+l#;#A*Y;=#2nsAy7F02p|?B$EpSR);gk^hf3%KT1VT&5H6hYC*9pVGpoBM z1}?#BczTsM3reeFrMwQ}6try{(+YG^%{>5&^W!Ff1&rjj?n-CiH@3n~UrM>tdno`P zqw*6hr8k+WhNTc{e-AYDp3zYg`Pa6Bl#SangiHH*apw}qU;fRZw)(xGbv;DA(Q~V> z5By)*3Xjg9HE}+dyXkRJi(BG~pcmr#5YWw6$AEp3lBm%DkN~7tL8mwbq9*Wi2oyem zFGQF15gu!=lqJe(r7yrc%ga#vICMkC(00000NkvXXu0mjfR)_AS diff --git a/graphics/pokemon/buneary/icon.png b/graphics/pokemon/buneary/icon.png index 1abbb8ebce77ec8fbd502779e8c4b22682c152e9..e628ddb4afb8b96f6b0714c802bb42d661fe5d91 100644 GIT binary patch delta 283 zcmV+$0p$Ld1M&ipV1NBdL_t(Ijn$JeZo@DPMSTMvr(1Jl+&)a#Wi; zfi2z#8hBo=cgon#^O)W-0|GEkuHi#Z17!#O5s_SXWb hO{0Vgax-S{#9 z008<)L_t(I%hi%SPQ)+}g?)oL4kfplWSdQaUXJ*u^A&~F`&bJ@WqBQ{q#H-d5c3w3)qe_cC#}vrOK+XO7blTk z4odhCc@9olvWQH4z6r`TDWNI~=snB4RKo26P zRufesdV3fZVma?mX&O|O)C|Z2HO$yp0ZQQd#K(YqIEMr+{!$^ee&ZwmnvYMtAB?Y4 SXzY0a0000niTmdPg)nFO6#L%!%uYwDHgJ?534!2JCxvVg03vj;UcfXk@{@>W3geL0sg6XX1IOAk84WxfWctpMX7^I6OW zmw9UsjM-c+uYU_RSkBu6XkuP4XE`g{+ZC}a(sU__0Ge39NRk1tI3>Wu1P~kX>wq&T zVX`2WK?7g!;r2lofV%-KPK^ME!UUu%1kPz7h4Z}saRupH0_X!I#(CN$jIeoau7Dd7uw}vJLf+6BiOVE8k@WFS!Xs=O(Dy^+<0WqSM|6bbH71mv>4RV@eYK># z|K%?(?th+HgfQ2eMaT=9BIIs`w0cd?v4Vrg-&WMEdk$LC*3I)iih4EA@g5xqi)dPk z7x+PU6T*R}2)Q`ywZdosH74}84=7raGLY(8!1F(hVE6>kmb6I&>(uuoCumCwtDD7v zrsgP1+Bl2?nik`$4#rcRmCbUrfNN zoSd(A0H-D(y)yz%3LiefcR?D6jh|89IM1Yn)My~MOlNATXu;s{@C^gdn^hSI+5QI& z#9ARmsWK2j#!!Nh$&8$*7K{u9gNmR8qwEVH7s6hoS+dg~MsTr9Fe389uLR@J;14?l r1N+c|5mW8x54f4X?+@O;=np>tH=;;aRS*%g00000NkvXXu0mjf%p;Hh delta 869 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 diff --git a/graphics/pokemon/cofagrigus/back.png b/graphics/pokemon/cofagrigus/back.png index 9f4d31b86e2a500d259aed2bb48ac00e4bc3ccdc..1ddf5f020b1e81c934f982ab0582437c5e1daf35 100644 GIT binary patch delta 600 zcmV-e0;m171;7Q6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vSm}K~zY` z?bOYR+b|FSVEYXspZ2<{O}*C`@&JiMz1OVf;A;+ffIZaoY62Y{7h>wXZD%CMmbZ$b z$3g`m5Pg{+Y3$_x`r9RFt!$?vlk!=t?92R6Z66CE0S?uQ$N<1pEH>+)+CHc>(Qjh)5Js0LZT`uXibbBT>= zP20jQ%pr;rF9d3&KsDx;jswomL5WA?Ee{NK_=`j}7m?1u0yNlv4GhlP859$^xG*K> z_)oY)`UnB&cvM)t@(1I8FOqatZX2FG2OL3OBe) zy@dddr7Mx!s2#9RN{0X@@QNcqb69|jf;oW$0P|%PKqqxoV}<;H{&+%q3rrJ5&%Uc{ z2JJ`tEP|PYqx-#IfMi;!RD1WkAGip})V}nHW4>$mooqW0vAa{K~zY`?bN}F+b|FS z(D)A`pZ2<{O|{n;@&SoNz1OVf;A;-~fIZaoY62Y{7h>xCZD%AWmbZ$b$3g`rV7-iH zMv_;n|Kl%*ps_HWiCoHOu`n--eYJTkgap`E3nB*qTd`O#gKG02f79HM*hwj`*AF2Q zQA7zKzqUNyrA$Q0N|0?BU#comZ&pb3qiu_~YJ2=cWI3W6Sp0l9`-Bh*UEhQtC6z;B zo@q|=U;`+)-qTThTA_y<=)gd=J2ZM=pk z6`l#yNP%iB9JK>Zf6q~h2jr;$EOz*dL^UOmO~3&(*bNL$n+cS6aQ0youkrmj0|U=B zTqgTYs;Xvb+cV&Dut)rz?-0ZpM^iTTEE2r4$7y< zWz-(HCv9Q?ckqfMK)auTvxaE_4*;gkDuFt6(PM^uL4Q0UeFdVAgTLE)0_{ipETS_B z2mijGf#_mMM7{Ix!+}eHT<=r>HVIaFp_hS>as)6WK_-M8x2sNq@Qqpos~cz@0u_LL c1pe*u8~kK->D;}c(EtDd07*qoM6N<$g14&#p#T5? diff --git a/graphics/pokemon/combee/anim_front.png b/graphics/pokemon/combee/anim_front.png index 8f49eeee99663004c9eb475d29e1ba307da0e4e5..cc85ef4c9b7df4342d007d7d30656e846ffcabf6 100644 GIT binary patch delta 577 zcmV-H0>1sh1(gMmUw;B1NklcDY)dFWl@d3IsA%BDhq(p*mA68Y{6+5oZ zgb?yuY5-Y&s&}woZHuM@uGY|D`$AwtIzSdr&>~Tv4gkCcNE7i{Iv~k4&;n*v>-T*H zO`4guyiXi(1qNs>a8Ryq0cL<}=n&`tuJ_fC-Npg-w0QtLZthIKv;fNyc!rbS;`FSy z*g9aivKImm*?*Wr9$ItAORtZ?uLt)GTiold}l0bJqD$48Ln>oqrN8oC0W)F zD}1R2N8KN%Zkna4f4=;|MIwEDj9)Lf&ALBcP4*KvZM;&q-zNb#Z4La60A`r~1vC-B zOgnxCH*Ex_cNnIJKi9YTNb6Z!)Ms6SAE`ojd^`@>tn;}`O) zF9LtqSp6FMGVq6uEXAlVsXtt50~r?4LiLsS12c+Z7qK<*2j(ouxttaz;t%=AlX6@5 z{=h~6S~`;U9pVr9KNHh8NfP)28;O=T%(FkB&XwLg1Am}T+1VfFyqo+5SHMFUQ$sDu P00000NkvXXu0mjf&t(X{ delta 621 zcmV-z0+Rie1;GW7Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU!6KHA$D z0006cNklJyPQ^6o4(bfR(`x<&KIFx*arofSm~kV2utC7jjE7%-Ya7O&-M- zsfgPxIVDd&acs#VP~$h5M3eW8BtOa07e!-y$Dm%LAB4IM7k`M|h6{KNC(eG@1`ACx zc78j-f9eFoP;;czVaRQ!2qyCi7)jGBs9S<_1qguzTdrq$Ri`T^TY__OA8SBlH^mAz zvt?S=z~mfiOrLX12n&ex2`VIt{T6@~0CB{B2@6Dt0xH0m73zDFLm5+@7I%>arl5h! z09$GE1|S-^gnt@=8sKu1|6MICU}l?mz~kap=Q9J41c4XWt0DF;YKWx;4l8@kagwE; z7~@Gf#u#IKIZpaPdp*!$fK1%RR|TW} zp9Kvh=nuz3()Wi>Fy{M1|Dg8#!8__5e;B^ej{Xq1(OQ3q0~c2752t{~-_EJeJ%3mj z{W|1@=VlKJk?~Gmxc+dV4CK&>5~@FrKM<`brW4b4{DD{tvM#5D$?=Dz<4K8W^!>{}#c!09066#?qYc2&kNFCmkaPZ80m6>B zyAD8rcYsY%a({D|;p@-eGzM!54sz0CgmAUI8iJ0_LW+1{$}Y0cHs>=_YA;K}GMe`+>l!zh{bf+NV>vyOC}ssyS39z-`wOC&rmhKp q>SmdY$n{h_MPgaj9XaTrf2R+OXc@^Sw4mJp0000O{0X8Cty!Isk00E&%L_t(Y$L*BAPJ>Vs#xHj0 z+Di<0gF`VUu4?)KHpTb=$^)<*7KgHcq%2Ni!ot)x=}V9%?Z8wQG`SDux%5J9gMSj^ zV)`u{zWY1hIpih~ve%!BcA8v;*3}7Z0#vi}W58?%>d6Xi1b^seweOZBO7q8cehaj^ zb$QtcC{0;H?Ldf-3sM$CLJqoHjj9==#;vZR9%1n`++IO30D_V*eQ+PJcpj=d=KxV0 zbLwMJ5}2`b4)>8b_o&Qx+$<^bg8(~o06Iwu9UMW7>swhsFp0S?Qk)6SDKzl#8K)Hh zF1{vc12FUxzJCHY;+((KfUslktpgC?8n7u!&QQvoxJV9OQP}Gt;Dt5d@Fc-D?gNum z>a*0(Y9Qie8&Av0LWRbH1uzM;kEOkGX0qZMGja&O01O1ED}l2b$oL0fZs}{_;N~;H zssJY4G^>_;6C--opaf3)OKE${DyuM9kZ0EQU=3t5*-e(~)vysuNAsR-U*QC+zYI%v zY~&KftZ?e-hqirpP87>Bbm33EJeLuLk%_BFZQH)x{|5K^e|iUuXc@^?Y`HD~0000< KMNUMnLSTaA4%OQL diff --git a/graphics/pokemon/combee/icon.png b/graphics/pokemon/combee/icon.png index c5adc4fdafd7b69ec4cd9341486e6d2153b94de4..26ae9967dc7e4d52c09bc96d6c3812f703f5a13a 100644 GIT binary patch delta 253 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 Z=pP1=$Zfk delta 505 zcmVHZ*)_Lv#QD0oh4JK~zY`&DAk(+b|Rc zU_r0}uTO{pj|x%I3W5%XmW(x;15`pN&n2pnyc&P(7!F$a>3@$D2}RKx88aOKlOiA{ zP#gjP?#9I$U=afFAq1}6dJbe04$K}?8rT|-t8}!989+MP#1WE_oq#J7Fbd#E1FhFE zFM(=7>!Nsqc|(CoVaDn>mrxQ3_XYsWF>9z6?mw;|DLI#kAVka{ksQmVqC~{5Yeb=x z`b2+;*Z@SOb`+T6-inrt*t9J=L4kVj64-{S!QK0qcL8vH(*!^k0A(f#koDkeQc)Y# zgNA=Ti~__(8UQQ`0P5gR>j3cUltB=U0~rG3BL2Gswju@VG zc2dAk+cwXH4S1b@jqt(-m;`wqp;8|p80MPyJBf9*^kC})D*OT#Fk}*06Z?gvK7ivI z7M;2LJkK$g(GYQK!PIuZ-T`O}I<0x0MkZpnQPu6UZ}DLb+D!4>JiFX9&(!us{dq0^ v`K_-Y+`P8$+tJy=+u!eh{rLV8{%!vS9$xlUlQ2Zo00000NkvXXu0mjf0%YJH diff --git a/graphics/pokemon/comfey/back.png b/graphics/pokemon/comfey/back.png index 9d201e71894061ddf7281689d8624fe561e27a7a..143a34e72cd400002e4e8696cef1c924c02cfde2 100644 GIT binary patch delta 683 zcmV;c0#yB-2Brp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t#0)I(FK~zY` z?UJ#J8bK7sCoqyqh|x9{d&wW5tJtnMds!hx0z2LYOst%<4N340TRo<+^EiZq`;ovG zf0hH*e6tR*466tR)`;_MYqpvf5r|CsE33n!d{f>p<*f=<6-| zqeQaM{7hf4I^EJiFSLdgMp>QR?@=nW2F(h{9d>`0$F0G~JYx;cS*59;SnclR2G(stTCjkula43Wz{>}pnEmJlrwPghS-FG+_;>tipDf>RDaxXAI$P}XA z?}LSnuM7IiO#=snP0<(Mz+!}yMJ`87dT?xwX<&h?{&@*tATlLAMaGk|)m;GM zJOqG9B=wAesSku9UI|sIB`IZ!e`q?MG<#h#T>@1(g(3)w^X{bG>rS|_0N`H8a=(`U zCVKK=1ane@tmx|i4)1Im5F=#YhyZ2?$iJy`IAC_U=u0Hi5DgNdnlR@X;}% zV-jL69Dr`FjcMAj9!H%D0(GKe!U9L8+JFSkj@B%E0FxksO0)@}|MeFOp+Enyc=@zV Rj|2b!002ovPDHLkV1j2xKI{Mh delta 696 zcmV;p0!RI(2Au|wB#}W-e*gz`Nliru=LQD>Hv`?y*E#?I0)R?J=ySFv4j_Oe2X1a`a)m{>Vy8k$fPJ)zm}4f8LYbKu+Du?j*`N zRn>M$um;3lmcHJSf0RrWTc7C*)}UJ|XvOxZ$|!5F`yJ(Cd)TT%y36jb^0+lIwry@DTI1FoGPe^CG=?p(HDb4yP+&TSO%V(w?TWkUr360=aEEF|z70E1g)QbLJj z=Jq<2D0Fe*UH~xWb|+8Dnx;PcnS1Uy&W#?-@b)Vpt{`w)^Fq!1Qda2o?2_%!MN+_l8d;mj!G!jA(Z|8wRf6Z15N-g=4zI%pqA+B^( z^3$FtUFin`gbX1Dg8?Wkg#8-%l9o2C{wy#cY>0vQ28uC~ihQ0J^x)W>&_ID}-gzIu zKxE5WnoOn@v$q7qc?bZJOlesiQx6E6cqL@WlBAq1q1j~G>i5WO1=Rd0BtcMu_okhG zZ_4#00QW*xfBQAPH_`VWMldJU$y$CBz~P;30~A8`^$1{ufd4nO4~NW(ymV|!z!xj5 z2>_24A+`s|i`r-GaM%oNONBHnfiHXmFeTvkXtL&k*N+tyteV8Ud)z;Y1Fhv0X7|&X z83!t62wQ92c9Fip64g)7BNw$Sn-i|AmbB z-9YPfln(HjKa9cqX|3CqLk9W--~SnzuEQx?DzWYl@_zq%HdX+!{=y#&r$d}QFa1jl zZt@pS{`WM4Z8zIp-xQ!;P2sXAhrpJgI`{;pB(2w$^D=N~z`R6WTtbGuFK!N;_GhkY_?N_5)P-NCF zFOX{`<@0g|k4CpzksYS1gs6{^vaQkRTQ1GShgo>H0MKyoJLlatPC%4I$lcv z+#(BY0A6yZoAx|*h`|!zveRbFHwir(J|qAD0&_`3K~zY`?UgZa8Zi{d z59y*zk#g5`p%aELK+Rgo1YdzFQmY6TDp97y%Ge>OLRm?45i1d~t_xDT+}0rl>kwVY z5P{UH4I^xwB5uk~4+59e28PbDPCA|6&+q;H{QOQ)9)~yr+U9Dze-1*MEA64xgl7+V z&vFMqe;(E&V5y63po1`oOo9X!L2KJ!GK^gi()5UICuDD8$8>+!d&Sm22zHfH8V6v@ zdmRH1My09Nfz!yOjf!L|P_0p9wye>)uciO-#v|0RYug|=1r zGuL36O|vX`;QYe%fm61sx1I2j?*;8ZW=u0 RS=9gl002ovPDHLkV1fbxIcfj^ diff --git a/graphics/pokemon/comfey/icon.png b/graphics/pokemon/comfey/icon.png index 1a444890d405159380469765c20ccac416c317b1..916ac5c188d1bad0d4f8a54d8381d3daa7cfe36c 100644 GIT binary patch delta 537 zcmV+!0_Oda1?>coUw;AkNkl~tsHN|t7Sk7w=w|ICnjQbg!T)P}2zal^$qH&)8Iim@XRe=I+!_ZFPZB3WOM{ZhvTK0nqeu8ZmOiLP$(M zSBSeoF*O->yCxzZWKWCZ6H7!iaWd$`tPq|hnp?^F2=0#p%Y@w859>h$PsI#qiLL$o zNbFq?J@jUl{TMMQk3ERFkm_FQz8yQjocHEjm082lLU(*^=0z!B$Zw{qcz=7n}84s2O9dSKU#R-q!*ctv(9anm0V(z$~^C3${ br2hhsViG-q|ICfb00000NkvXXu0mjf<^}## delta 574 zcmV-E0>S<51d;`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU$^)Oec_ z0005?NklF_OPr55^B}=oP$7^eTp9#qqNPkjaQA^bJz}+TPfovJ! zq0$2_?it$(h~z~h+TIoYvZF3AG?0j)>V`%R08Jlff=D;aKy3Ock<<;cQ{z#uXCl&J z^0YiZu|h->r^5lvGw{sO+;K|BaDN6QVSHylY=#1!vNNE~cJ}k5B=7m5$Nt>19|ZyZ z+9O*quI`=Ow|{d7n2Y{`sxoOfIp|HU&9u+}LwYk)#rxZ9{^=s|6#yg5-|B>bs*K!x zKJd%grywyp`8ZDB*JA=A@(S>69g4%9QRD#5nuWLCwoFO}_m`gWqcZbji^+22=K(B< ztR@LkkpHp%T_E@(5Q)AB1f7~dAR|!~2x2s4MIaI*M}L$AbhM!MDcRp-z7UvBCg|go z4l-ZJhp!Csk#=S7%iooce6^ueYF`42+xAa7&=Qh}S@wf1Pp-~(!P+}p7J3k1tZ#*- z9wZLB?0T$bdl^4-2PEvmstE-1_Od1r1WeSGk(H!B0gqxmf-VIvY5)KL M07*qoM6N<$g2-9~1poj5 diff --git a/graphics/pokemon/conkeldurr/anim_front.png b/graphics/pokemon/conkeldurr/anim_front.png index baf2ae909ad5db6d300c37707b7727e13da884a4..1e15ffd29622ddf3496bedd0f7f736f0069f90be 100644 GIT binary patch delta 1156 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 Y1%$0Jv0HHyh5PPiz1H0zHwFK!36SYEPc`FV{`{ z&iRCo`wyZ%m~ejAdk}Hf^PDGP?*ZfdLmx1fb;cL~B>e=IaUOR-(92vPfuqJQBIsre z&~HJ&{V8HyjziO+^DIS+ac6>f(SW%dg1z;-;jUap>cFHuMeIj6R}|d223!0BMw7qg zP8pBmw!wY%%#$P`F@NtY!Y&42CZEwE%(9Hl-3WYE6q_bN?Y8LfMW1x`+AfOm*^`vt zHwHYFXy9J}^zp^+DWG$RCSgmrskOdXfChn(rZy9PFEB#FZnZwO0Bagma+ha9e&sXJ z61TlZgOjceh#3>rE|>CKHsPPpXZJ_|Bb*zMjtW)nE1W!FL=9OA3EvzD^f$}O?8$j2c6~z_cuW1bjdW%8vcm>e+bi`E< zSf*FN)B$8P;NiCf+VsI()-o3ax{I1#45%+y1`LXoTK0hd`LzLc1M-!*3%APY`P2no zx+LJH^ylXjWgLzc#G#^Zrk&Eyyt6joV8I}4rff3e%mbi|T3hhH{*w9ygsm~L6MWvr P00000NkvXXu0mjffcp2d diff --git a/graphics/pokemon/conkeldurr/icon.png b/graphics/pokemon/conkeldurr/icon.png index 55fb119ccc83e568edf48dab051714f8baa3be89..7e5892cc34b54c05dcf27f33f449e00d1e34e53d 100644 GIT binary patch delta 398 zcmV;90df9^1mgpcUw;8^NklxJ4} z_h_CcGqn=DCNx>|ul`c54~g4!@dX!Z&86_(EV-zUgGiN>;(x^(7((-Cd3@eYBN4}P z3xu+0bxe16+1~SWxiug>RcX%o-pi$LKoE|pK5!AgO1a`^Lc?%CNX4>P`Mw2gGKO{0 z%u_1ghz69|EUBWAIX`@K40nBh-~}6+)6Ko>8K6px$EW+2L2`0?Hr7KoP)KGa^C|1SNnAiSNnAiH~TJ!{>{G2p=ICZfbE+cuzf-y2W+2|E{B_an**|M sz#Q8*eaM!5*GEe>^wF_Tf6x98--;twL)`&300000Ne4wvM6N<$f?;yPivR!s delta 434 zcmV;j0Zsnn1BV2VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LU%B2(Fgi z0004MNkl4q17=ZH+UT}wXP?XubVso#*$&%cbxk-r5!O(0L^$JgyR;c1F%MSv!Y<7WG?+XrEe zYYpO4y~!Ed2RVisMDY;hf${Vmalr}#aoi)Mrn^*xp#gL>RQr-iAVj|6EvR;rtWE~{ z{_3YgHS6aSD}QNU-yTK=AigMIE*5nZP&b{Hkp)x%BGrSmJHCHUX6mY>&t^Iac5EnV zr|_P&jBdfG?}K_g@BtL^zBz#ObI|tP9E^P@2V?)y$-&s4xj88NtjR&P_S+o7i~S~t zi~S~tt9_e8_iEqf;Mq4hxb}4pu6+V32iHESYz|lZCMyTWz6Mj*zU~7(`?e2Hw(8@? cKK!5kKi`TYSM)~x3;+NC07*qoM6N<$g0?%!rT_o{ diff --git a/graphics/pokemon/copperajah/back.png b/graphics/pokemon/copperajah/back.png index 02729b4b6594ec34ee7e2b8e36aee2e49d10ea0a..fbe4cc0eb6df0b75cbf709b8218e0f9d40e625fc 100644 GIT binary patch delta 530 zcmV+t0`2|p1p5S#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n|xEK~zY` z?b5$a8$l2T@I|tO(nP=sPL!<0xjqlFQ^qmalrBI*bU5;gbR3Hq(jlRkeE>Ihktz*W zD$?{)n;whe->vSmbY2gc0QT~M08(Gm8w|H zcWW;oYI?v{*UEzLH6m<(${aIu{isyex|R~rH+=3w@J^|&scDJ2b?hK$6>QBrXRoK5Aj<{iZs=EwcMMxyx!fBTujl+LosqE%JMj7){|5$C-X3dvU@5qz} Ul#6n#9smFU07*qoM6N<$f_&uh2LJ#7 delta 520 zcmV+j0{8v<1n&fpB#}W-e*gz`Nliru=LQD>Hzt^qAm@HAfSeEN5GZ8-=wwW;;R>4)uYHjSMR`dfR()D`UVdJq!bf7g>Bs5!%TYY!l5 z=YXAQR0ZD~M7V@GV&>*yrEg3lA)-@!?n3ZRrEjS1i26;eAZQhAVYf~c(J|7oj>@3h zX2t}G0*q)5T?zDc9}|SSKz>pNHSDGUQ4T@{`xT(iKnuWha8&`0+%fw_!tP+mYlbL5 zIyT0Y0M1AjAeA95e}1=mMyOMI5PlV0)*P(>?GyPSLwV8XhzG&v{~nxod>=RAG)e^k zPZ~=w`{x5LsVHl2Me-MoN1w94KA^h+9DW0p<)33gHWH5AAQZ-;=%eiJ~amv4!WV7|^HMiBz0 zy#c_P%xesQpU%GLmk9XN6a6Bj5c-rq=YcobbP|s+!i5yY1sH#Oop$5fr=a#w0_nA1 z|Nb)JmK_BBW$>axBXJi_`uxiZehW)&c?bHG5kCx%Hvfv7TCO+9lm?Wxxv}X00000< KMNUMnLSTXc>F+fF diff --git a/graphics/pokemon/copperajah/front.png b/graphics/pokemon/copperajah/front.png index 41702ef91133be3964d574a1c53af3ce76710637..9bdbdf1758be1a0c8f1e892f04163051647c6b25 100644 GIT binary patch delta 897 zcmV-{1AhG72j>TnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um13*bcK~zY` z)zrUF8(9zs@U>*Blh7?(&WSEpWI@PPq-A_Iy2{Z#VQhZr63G_ros;oaNERywg(Ono zc)PkHWfYoil1RaYl`aMGU%;k7qD!{o1i^*>hMTuP90N9ern3A#?>qDScCCGfrRzVA zUQFpJ-7xNq6sbv=Ft~DmBi6@i>n0e+6y!#9saXXR0dPGB<}fjaP%!go0fT}$9Ds>C z0EH1iTdjjBK>%YuAO+Ru0M%7#)dA)Z@9X*{af2sZMXcv7 zj*)7d>Yo?DO^GgsV0RsWV_@#lg%;act=7I5_EuoCfe9F|;ort|YtQTT&KcxFP@=|$6N6MZqS#aAsYi;D zAV(4w;cqRiloGQ>Sfk^>qEm@u*ovJY(`RwxD=ZetVOJ}_psjhRyCh=_h7vLQ!= z{5c*{-4oY8i$Ng7J^r3ViNdnAK~Q86e5S#&`yIHZilt6}5FCsK(^{HAa4q2V;KNlA zkC1!+!$IdduynZOA9jWf8G~hi$@dShNm%@{_=Ume3>1jA4ruGcW$lX5jmuf@Sr}<3S=Ax3!CKh!QIzWL`~w!GzCg7gZT}|8UQLU^E3tvE{D%c3nMVz zrf01)C7uSQVhFx+_&mSEPB>+{P1Nm!n+#Sw1}kfL+K2#eFMA<4rl#DPE8Oy2Dwex1 z+E#SVZky}~EKn2c(y={PXytCZjS(pG%TQK5gzGe1*DP%CH!OA^>SF)^13*bcK~zY`)z!aG8(9zs z@U`SrC!s7{&WY}>$Pyt}k(P06bd^te!r1&!63G_r#mRUpB#RY;LJ}zu-mb1lc?!)o zmy<3otm{&6{tMU?NOZ|oL=ar~Z^*p;K^Cy-nac8h-goBh+qE_Af9jR4Umtxjqi1x( zxII#2CScs)DvY>(t+8r?VN60{M3;tDG7$h*3t$ct*APl(5iMX)GKT{&aSNa{0%*%k zFeNCU=U`Zmi6%TOGJtzqrhcPdzqm`NzXGT)OREVmgZNO_&xsp6;WA>gXmN~G!qZ_Jjh(6v*%?NM8098w!A_ zp97B=Of`S2{Tl)mrNqyv8_6JVy?Z8$+i0mR0NhW525#~U=t{IqZU8a(rJMvs~=u(ty1Elj{z10NfAIy>HAaKfMvf(o_PoET)n5yg%wPd!qM1UZr@0ftn& z6jcVtlq2p@ksQ!Uz_^iTkbhzeu|zRgb6e}^o&sZP)0nFC_KE06A{z=s$e-gO)j4s! zo(}>ce&_E=e^e+eTT6p7gWwaT%RcSEHCe9of?#(vxT9qm1eXH79(=e6;t>k}{jl4+ z3@q#|_;V&<=e6e`BzyUb%w06rNXjn*C|Rm^LOU z_uLN-gaSE-!Q47Ir{M12lSFOe$utEjE`!-M$4UW}mwOR|IhVs{rG*g~>(a~4u@WzW zN;w2yIeeDiVJDn2+a>Csf}0GMJO)cEc+`pjFRywbIH0!Nnkn7#Tq;-lZ@N~r&wiKe z2+UC%Z=2GwJy&Seez%JesPfBDRXv33v{x)_@#D|IweC9+J=NJA@7O*jTbz7#YJVOb z#lcyT{5WW0$NM5gxq9+e)cSuV!RZnq&T?|?d*|WBojc#7hYBIC;D7NqUI4@V<`|)V P00000NkvXXu0mjfY?hkh diff --git a/graphics/pokemon/copperajah/icon.png b/graphics/pokemon/copperajah/icon.png index 8d3507c18ec3db76a396de326cdf44989a1f4eaf..917f6173b3a07a700106edc056af52b959ecf3c9 100644 GIT binary patch delta 323 zcmV-J0lfad1Fi#*bbkRPNkl38GJ)Z9;ZW< zH?Z*N>4@YEW}qjl9h@OCMRCBSPtf)z{!hmtPG6S&s&a$NT#^|c(c!Rw(R`rRE)uqp zC2CV1!!1_G>P>t4P{%9wK8BE6T#YA4~B68 zq=XNjW}eaUoYYF}Gj{*}#5>#Y)jsa)Ldp))YS|#W)GoHqBn^M9{*5r~r!ed;OzUmqveY~%;p!&Y=e+cI{08SI VClhJ@SDXL<002ovPDHLkV1nMon6Cf; delta 340 zcmV-a0jvJ51HS{1bbkN`bV*G`2j>O{0XH&?5Z3?z00AONL_t(I%iWT_Zo)7Sfc*x3 zhb(Mfy6|R>RD})<+(6Cabf|cP$Qd)8k-`uU<`lI941jATu@iWLwm11c-H&|w82eS> zJJ0+q=XgMm-2~3|gvR(p_(~OMY;lNPJXf0!1+tK_=1!2)Mt|<%EtW{48b56UXOw6P zG6~$UFl}J@ZtU2j`YvYRR@XA5pkUa-U$G_<&Ay;Yx6{t z#<~%hc&;&s?Nwyf3>C$V@ld(A!J1ULIX50R6ban8jhjsVsJxXqEF;7HF2Rm-seA|H^#sCv~;H0z6V1Cin1jq-O)#9Ba8i0a=~yI0)dU z5d)0vrD`1MF(4GcdW~+9$l(p7=P01oKgO}B*9A|^*M#7EMJNVPXgc^qP4pVVeFE&d z5CJ!#7JvZ=&=wJ;f<4}gDe+zJL5pXYXK9UK5C_sMS z4#55A&Uaj?fH3(#T}D#Mg6Ot_cMss4NGvf;0$K^@Wq(_A#y&37n@foqpB)Pl1N=h% zhE>jE{8<7`qxe(N9pDArNkswc=ZaRO`6G5R3&5jTgKF#X9aX>(Q*cHp^){SL^Waj> z5ddbfs^O&pa&Uc*%>}?P1+&vB$bs68FyM?C9)tAbkpK$JR7Y0qJL$ zba4N08GkrGo>@++hw9$$<#dS4uoe^gCr!=g>eb5i1h*(GFGgUnG|+H|1Jy*kU#7Oh zQZ4KUPPwFj9pSyVU1J@{;d4UhU@AwwMu)z2Q#JAd)d-{Gdny|4%wRMH;Jy&1)AFR) zaCH1;YyvE;Kq=Dt}q#>=M`-Tav%TOZ>mF^{A?dMK`zQ zNX9^xG&42lYyo!m9)aAOW8c9O>{75VMMj<{_6v;;$lIFy7-d9RwfBt(I3CZWx8)ounVfj3aC8-!E2NofRhn; zX4wR2i|(?*&j|EwCpeiZ-R)FbGQ2cBDt}f$9eq}RM)_w{MYIR#4hGSO(iPgfCD0IF zr9Tf9Fvk?=C6tG`f-mZv6KCbhi46Jmbf{|lvI3Tyo)>4a3o;@ln?)!s0lwPv;+e8d z2ux)H2%p54v<6AQQcXrODbC~~1}+g8hUidY7xc`zi;C<6vssap1O#N{3GWM79$&X?bJBuUF?&WF3~}9(%_cZGItFH zV|em#hyza<4vx^NMY9B1Jhb*9YqJ#nqxz^MjuKhUR@@K*7Jn?ikKTKvDSp42_By`K zp}!C>{GhJZ3&0(4TD2Gt$IQTPpa13A-~BE^_v+f`zP%mC z@hr9EmH5}-#`F~M+m-JE9X6r52?y)`@2e0L@n2mrHK!|>K@{C5{O z*jxw{*6;`-qJE2ppC}2x?pKRB7 z4ixY`A#^yC<9_>)esD82iXqhqqmvsd+V0$7G=Br&x)7$*>a^T;bo^$l11zmXDZw*9 zGco|tlVg(LH%I`Ie`cC0*{0*vbY3`biTqxk0^A0=Vi5I}y7qfQT{+0X5=aMcuWbae}PX0P~00dFpoCW^sR zr^WELc-;vx!=-8>@H;~6J`zj-aO)PYAF%}21Ava`w{}<6JLq80!iYxK{nrQHz{!FT zE%A`TRwfBtF_?V9X}TXwuuH1O3TWN|;eT6{8-Rl`cxKfE=!)Kbg&z?Z*iLvbQ@VRt z3uJU=dQ_}{7W%BgoboTIif9ke9Sq~om24iD;F5XaTp zfsFXYY@}-Zv;y=8uXmidAR|_?S%%6zz*lQtK328~ftgGJ(WCg1V3-Ch)nqKw;(ts| z6W|PiQG^a9aY0X948>SfQg&+*^{gtb$mp56qpi`&MJ#V*)T>RF>UPbZ{4zlgBhfu9 zr)*8UQD3MoPnKiMP|Er!^bg)pbvdTfJpUlk9-J(@gK4gR7+0tB$wvQR(aF5u_VWFM wj_Qy8f#my#lCGhD&^Gu7U3>KpUl;B84{%wFQkFD}mjD0&07*qoM6N<$f{6$)HUIzs diff --git a/graphics/pokemon/corphish/back.png b/graphics/pokemon/corphish/back.png index 71bc7e593970cf34c5b00ada42ecad0f84f3278d..0afcedc71878eae047455f2f6ca3c2c4370d3ce1 100644 GIT binary patch delta 529 zcmV+s0`C3l1o{M!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n1K4zKlN8B!v zLyZGS#ES(Q2f1G&1wDWbn#N{|G6KyBT;Pv{C;`|$BUQr;+gL2`6Ez}n@wdy01JgyWb3A~W%T*|ak=d$2j)!;(|*2(C-iTBZtZzT0ss%1E&!_d zyn+W0rsnz<+LL3*gYdxQ*W23O4phPd^DA3HwF5U{!S8H-&qu)Aax<6UK^}wF*tqfy z5Gx>C5SX{=FVIZ(M_}U1QHnut1aO;w<>4sBpm^oHw`m?uitBR)6$fnB^iss8NQe*8 z5s>i*z!hPEqBsO>HrWVpxmq27gxlVP^2@vH4x~90>sBiV(kvF$W+yuWdRGST>e2=s z*XBh*lj>coY3+`(6TMMw9{*<&p8KOtt~XQh;=d!y{O)0?pr+SZm@WqYdL+pofRpho T#rQ@I00000NkvXXu0mjf-hTA^ delta 499 zcmVI07wE`(pqA0nJH7K~zY`?bNYuq%aTw zP$=Bv$cXlYa{C{k!9{e%B4N|7V0wzkTIDNJMyb=J+dquQ7=t;IlxZ^3Y7z4=GlL;X ze&Zn2cR-(i95DGU7{Bgi25daar5UAwa=JPMl?83x&Wx+^9t@fn40Tz zXittI55fbJUvF!BJ5UJ=%uBX{Y6ot@g4b+*&Xd3a6@SO{A801~BQWu0E5)EU0=UgT z@vxO*P&{$o+caO_h!|8HuwBzj5t||*-bhD4#vg#x14VHNY_bvHae2>n*XB_{lj>coY3;VM6TMMw9=|gQ&;3>>*PE$$ p^xu&%?I63Qf|?#@VY(Rn#s`3t@hrJ3Dh>bu002ovPDHLkV1m-k+Xest diff --git a/graphics/pokemon/corphish/icon.png b/graphics/pokemon/corphish/icon.png index c3abeb8743e9794a0052d45ce2a48a4b0fb24f09..af63d81cd26120c5d99597baa03c5848e830a5ab 100644 GIT binary patch delta 234 zcmVT22V1La?L_t(IjpdRt4#F@DMY)0R&;zs*8M>9bfJ8^6R;st=u5|F$ zMyZ5H6RF^&nHfNM^H=_N;=IG**UDu**nKZSkW}D@P0xTpi=3n|N_(X!0HPf*bqoU| z)($k*pPBmAGQM5D8k^o&R2x*Cp_-E%nF>O_;7McerU`=4$zwbfC5}d?Kqux%BziZn z;EQskMFkh0Be?8$0+jDaa^auq8-S4<7|DV0FJM|FXanXZF=PWqKNGqQ7!&yjz|8X+ k5pw~UYR^Xi=7W4Z0rV)8!f}+VS^xk507*qoM6N<$f(Y1Ym;e9( delta 274 zcmV+t0qy?60_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0XPWFgc5xK z007KML_t(I%jJ?W4#F@DMSBC^p$BLsGIT3<0f~-CtyFK#UFqPhje>+n6RF^&nHfNM z^H=_N;=H2xwQ^YxcHc`7Bo+8!(=#B@Atxz}(p@MDfM`cd9e?AZh{^(Us`ZW-S$ zUr+5|EUFFa-cZ9yj?5(?pYf=%H`4~e=wzPD3MZpepciu>61^K(@MSg8s)7s85nT5> z0m^qIuK3^j24ExyMsi^M3z$v`+JL!A4B3Fu&xC#h#zZ~>Fw1g}h`9hvz2_qU^FcnI Y^eB|VYjOrJ01E&B07*qoM6N<$g1pdh-v9sr diff --git a/graphics/pokemon/corsola/anim_front.png b/graphics/pokemon/corsola/anim_front.png index ccc79af26460b46a898f79d9c8ba5c97574aee0e..b3b460e69246ede670ff4964281e89c5856de4df 100644 GIT binary patch delta 888 zcmV-;1Bd+P2g(PKUw;EtNkll&H6vur!MO|@Xm#($Q&`wSas#KA|@C+@T z9Q=rs4HcMEDTt+GKS9+`P@zUTv3KYgbwSRQtxCU3-<=Hv-vMhQ@gyYV`|;kpcZdIf z%i70(9;~$Gkxie&ml{xQ=3h9JtOL&gfWHC~PcI>#=VYs}?(Oq4#J5 z*jbetCQ(-d99jlc07t|tLyrJq_B#m}S_p77%pSXldIgFgf6gMrvI(H(M!xC>ajch6 zwITK`M!jB`YLu@CfWBXqKurf&C7ig4oCQR9#eHj1%un02oru<9C^z{GildN&$U*^3 z1NahX#j$0LM}OtbDf$Gsy+ON>AzA_vmOo(+n(F|AWJ%Cr;GkI;R`rVqUzTkm#>Ey+ zPd%@?0%Er~?ZdC0_ifQc+idyYV3Gl6;kbpttg#%gyF@4=KoD~~D{2V%z zL4f#Sx-iailMOM`{}nk9!B9*)VrIB6ES5k5C=d_EU9_<1g7=`A;2>iS4!5@32YtpUyLz{(+*gO!|cE8v87 ztCXYW0)JB0)K07BOuW{EL>UVO7}9XJrv#63k&8LkT?~nLtlkbZkb`qCHWbMvn?sy< z$A(UMZY+3f0LNN_BcFiGVz4NQG!Mcc^cgCt;nm3CK}eay8p7~|)=60nCWht|x}>RH zX&}(Fg-nlZM=9@-4m=X~2xF6~ojj86uAv783xC}sVGazyi$-OYK+|1{kDm8#(Sqsn z@>ibMT-1@gCgAQ;&a}m@}wfNTe(P O0000ziZn-6vriw(A7$$x@!+-XeTAIDHLar{baZ9q)5+!Y^Jtn7h=40 z%wJIY7ZlULp}j*#)5Tn-Y$g3)`cCqXMmoi72|h4{yN}*`_kZqk->+fp$A3P|$|F-2 z{SIFifO>oN2ZM@nz%>B4TOj7e6l#8j4h~v@s{#BpyJ0j!8!n19S^!p-rGaq}6#$!- z0aJh>;zUy;fS-M*08I%Vjz`(FgBaT zP6&X3TUS7%2!EJ0f9Axh7ZBitxyG!}NLsW5T8EL^1uCIfNOa9Rztx3AuWQKzwT(x%6}X}_#Ao^L4f$KyD;`ycaAfzmWFgtiT7dL=clp@gq5H*Fk8C`%7 zLf&gqcrIIt8~nT!iCi%4rEdNaVkXsa^{-A--Zj&8ujE-`(q-P+Qr?w5Tjrd4GEi*pH_)tR3qNcKu60Wf#!ik)z(;VLEL8QNZ@CPNmGBtQE&fcUsp+VvRn; zsj)}_O&I3%Q^BKHcl(rRt-5g=b=u#R|W#Ym>*Ykz{-MjhHzX6aO4t@Sqw9X zgMtS!!FNqerH0i5jRzrR_8SPJ6Iv%_)tDISlYj4!rbfy@pl%D99$9v(yhkOiUTb%# zQ?-+Sq&w2oV1m6BW={jWXw|j>49$c5k@I)!5_FfBz2dyR&Y|{@cR?iXwfD*-Dbp7g zT##wmKGoRG3JuW8yC8dP!;hKW1%FkhPfEdI#=%AAa z41Y#_oKX=-0!}q3AaZk!RHKXJm3k7r6UWLou diff --git a/graphics/pokemon/corsola/back.png b/graphics/pokemon/corsola/back.png index 8de7373aba978145e35437fbf67c973e1a4ea8fc..f8fa9fd4b52096dd20f6ae6b1884f973e7bfd498 100644 GIT binary patch delta 434 zcmV;j0Zsml1e*kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dz@3K~zY` z?UX@ogD?<9jaYcwNa+Ql9v~7ytfLOFj^LLIgnbfW`TDg(z+;=h0oqxC=Q01!*hc)v zTFBc5Fx2aWq`uhzunr{E1~8OcK<@$fj}X{{11X(@yz$6^yp4bgI5GefXe1?&Wiz7D z27qY-%88_~8oK}h2XGdDJ1(>DJwPhZopAA*FcKMa*$%v~!~(f9X?{%!hz-74m1E@0AS$=v5$hHH#%c zn$>Q4&SN06U$xUxT7-b#2-A*uB8@bzO&lKJMa4v}1{sCJ#Cw ze(1)4Mrh(yZ1dOpD77xC5ztgN0RYmE!FT698swl5Av0lMD_(Cp7c!1vUuwcQRv3CW6ztDmL0~QsKHLGK?gg1#l c9YXv9TQ$&s#6Y7B(f|Me07*qoM6N<$f+tPF&Hw-a delta 421 zcmV;W0b2f>1dIfbB#}W-e*gz`Nliru=LQD>I2751PBH)h0dGk}K~zY`?Uliff-n$< zYdG|(iTeU(AHbv%&SnQV8~E23(7SGE`uf{~&}obC0?r9KU;F>lPCq}I$I@J-kAsi>#<>Zk!fy8 z$U1l(Ou$=`CQpC@UO{$*1aKxspy=~4p#2JYpXX=g!UARy$o-nd93buJb$rfKK)G4% zIFuDJko8kMfO!Bvf1`==4N$*cPi5-Cods@>=}sh7^h8^~F2U%*M8q#W7|;kq$LKt7 z^-&sAR0CkBY$5<;{tn-Iu-s61!EM*!`XoBkc*Q9^QCsTei>SgBI^BzwrK2vLHYJ~gkG)$U`U=e`Fkn^zs#)A78%LZvreo? zvdYZ?c9@bb1C|Kv+0np)a0&@rfX5hhyQ{4+SFVPlS!190pT zo`xF7+-1i1u|B#}W-e*gz`Nliru=LQD>I2t}ZV>JK(0h~!hK~zY`?UhSzgD?<= zjeG$tu)404>`4G+op?~!;cS*V!FCBsjrVB)NRTu3 zCIIa-9-3zYm<%!xi3P?LX%nb1ShElT%mKp+m$twR5Fne03BB2Hj8M5Lz;@%I^8gZI zdv-LiARJQy7vQnYfAX=h6lhnV7#>@E2FQjsq$9Ei`ia?B4!~`faO!L9bGOZo=m*md zLkD<1CAR0`rRhWpSx~1=Rlv-!@7j4(Lda50E<7vZrfI^uu0KF!)hq5*SRnp2``>jN zkmSS++v(p|(`cPzQkh*JOBUy07*qo IM6N<$fE5V#4}v>Z3Lo1)3tNYZ$6l9I zN_fl}I@IIQwZYaIhF>nxgT!5cq;G*#U1P`z;iIo39IdIq>|juUhz`(zJpd$dfhJ>ufM+rVXh6z!Wh*W kgw`O}3PYwBhEEmd17%TYZ?$k$umAu607*qoM6N<$g5%?8xc~qF delta 250 zcmVI3bTViV*++0Ln>3K~y-)?UK6=!ypVr^9M-j zo~U>S!5u4wkL{m@twY6QubWm10p<)H>hb8>VCxLSFPG>+<}N@ov_R^vF>VPFQm7-G zoUMTJusDE79x#9_01~)B9z(JP$Y9nb@&RPV@|{T7%8YxDcyl0s$h?0odb(R8d5lOm zjD%_-;Vq<86`1m}>T9(!i{}*Dqr|ztVi^8)rcy~VbI7eh+I0pkw1mbW4|26Z3XZuk zXp5}n_1D)RsM?@S7^_=@&>G}hVaWEv@TtPQ0cBBWZ>Hr07*qoM6N<$g4y13 AMF0Q* diff --git a/graphics/pokemon/corviknight/back.png b/graphics/pokemon/corviknight/back.png index 5d223f9f31ce2543e584adbf3a54a3d9ea12e4c9..aeb636b0b36bed41345fcdba269769c115fe91eb 100644 GIT binary patch delta 688 zcmV;h0#E&j2A2kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&q!0K~zY` zwUx1M+b|G@Z3xJm6N>}VjWo>JEE^8pTC@+~wDeqx&AmsbK0v0--HN^3a-5ts<^`+T<@u?Dz6;)h%S0#Ovv1UsLB z-B}?z!P~uF1RT+g!{&O)Az%V*Ef)d)+}KAq1pvBMXW;qq@nHggRQ@Cd^^1Xr!=zKy z{^Z>VwDx5qojw-8&zXS13}pyy`$9p`P^ViDZTou~0V5T_)4TS0+JP}Zto`xn+1g71 z8U>;OfBe;6);BN;gc@Lf|GNEsNw`q}H2`}|i0Uk$bO5vW0iMc~)hJN&trt+=?LCyo z?O+sOzyL_^@5_gO>jbEf!vt|Efqeo_$w3brwk5FjS)u0Xfy0@7m_*=u zYGdb+Ao%$863{7Qcjq(owg9RoZ!#5JFHi#8;W_lrE`2e7y!tc%S2do2bgD5iasPf0 zK<&(eHlYEm|c)%4t)UC1Hj|S@xMuO35m`Z3c34| zy4lCp$bF8GhGe9CnA>hR3u~}Tf+4*M;xWhI4y>N#yS810&7V`K~zY`y_GSJ+b|GC z*ATF^M+^vTI?^y}Gt9C`mmoQSy`k$+jOQMya)7N|rwe=wcMBaVLs66^t)x^5VFL#E z@c;00IKI347pqwR4e-lE!B8v`MZiid*%W9|GO-|GEmj-3AfbWde?~4yaP+*g^AamW zB5WmK0YCvL#H<6YY7bm22t)#BfKtjt5O9wZF-cmgMZP~xMD)lsSJJy zlR<+vx&Z)T<}#5*5zhE-@)(A41R{L+F`c$W(g5p`{S-5RM+_`zZ>DP?cTxzJ(Q((a zfJJ<;yjssWcpd>$e~MXvJ`d(>#{fVRbpo#E^YaKO+)*%W7Xi<^QBuYB=xhhn=5>%( z?R&tli2}XO+u-Z^l>)=OkB<)O`ej@K57+}PAL{Ekfv$j1y8Y#9%qZhdAZT#=-?bT~ z)Cu?!V0(I7zYGc632+5K9wVZ-2}tEZZ=HwBb<~S#mDKeNf6Bww!Ftfmod5wEKsa}L z8q5`y1ti@jkjc^Y0aI03ApY_!7CHb_Qs7cGzsN*GKkIkS9a@K~=_z2q`Y}AZh9C!} z(&N-%`=>k+;8X;pPsMn49CT9zj?qEo1Digua!H}2>A~}zeHxWO`!UAGAwux^+YnH( z#-`^J^u7lae^okU+_0@cA6Vt*&_28P<^Ii=4BVIe2Exys3oy_$rXbAT>mu?s-Kc9*p(D&>;bK8F&9>{Q+oED2-Pq?|T3M002ov JPDHLkV1gjQH2nYo diff --git a/graphics/pokemon/corviknight/icon.png b/graphics/pokemon/corviknight/icon.png index d6701b228dfd9a040553b87e724633d7ddb47d71..dc865a0443e09e36cce0ca02e4a7bbeb0db5f090 100644 GIT binary patch delta 320 zcmV-G0l)sY1FHj&bbkRMNklAqGs$&#>r|Zlu|GJBg@a|=~LHwplf)BHPKK& zjE?I3E7+kLwP}4rA=lJ{)O9?gH(N6GeA$NNP23V)o zY`}oaS`T0pBRRUnUIC0%dtfp_1u&T)dwV+oGgR{)7?7U;GarCi_?YPz`S=F3kqYxI Srt^^i0000O{0XR9FS`tS900A0FL_t(I%hi(4YQ!KA#`6Y4 z9P6>|pUmg4Y5s7JYkd zumMH8BnktgcEJaGaaj{}aERW7F24#iwX@QL?SsoRMUbxZXS8}B3Fa_Z)4P3W7&~QD zz%Li>)~Q#0Dh#o~ov)=$%TePFiM9hmi3 zkH7%a0hor3i$x_cz$$&s4h)#A^$ASFh$dFRPz6jTr~oDtM7Ng;n5kWkz<~S&n56<{ e=W!Lazy6y|NkDG*;|d4+k838DPY$S&T0yHDBRZp2boLqPBG=-_{ctS?i3GG zgvK(GNsPN`Ad*sM=#2t@b9XuaPW>duVl^Hyzx|d-*GC^$69##DCw1;?WXo|0{CY$)GZrdNPF_cL$;6z2a1BU*@ktWg*20DOG_ zjraZjO_R(47=I&`G?io;YcMr%h!SD@KsInNK-h^F&K8nKR>5wr1ua=;_hz=>rMy%E z>d{at>;hg;Ui*8S_8MX#lP`=#FMZgjiRyU}uwlUkpx;xO?V%6Iw2c7pC}S<4dyXiT zspPE#=U7r#Tth@DfV>dY@d5*=PReLQk5Y;T*wTd%bbgXPK!P%ftb=EO%%o5)Ky7+X zH&FuwSZgEFp27ge68Ob|ic*LUploQn7{E6`EOtOzvWnFbf-2x=xSpnZ% z>@mPhfdq_3)p^~`U~O$#;A3t+)%^rOyIq3}ZroeFUbERVhoAs@SYERR00000NkvXX Hu0mjfk%$+w delta 631 zcmV--0*L+T1>FUZB#}W-e*gz`Nliru=LQD>IRisY`m_K50zgSbK~zY`?Ulifn=lZD zvx-(+15#P3?Io_3Ua5@3y)h3EnGt889eT_r8*}Lk^iBEh44B*dzoHRO)?4 zks~sn|Nr*@%53&pW92qq&SDDKHH5RA0v-zY-++V6C3&Zq@^E})e;+t^iiaseV;RXL z#@#d!Nhve*Mu8i5ar2e>Nsh&GJYs(LC6TU=J}xH=^7LNn+}Fq!;}ZD!o)Y95iz$Gy z1T|SqdH9S4=pv#&?x8&cR0O!+#?N7aoPf7K#(}~BRQcau!f zTKpC`J|9m5KoQ|xe*vnl1P>ihp>YTHr$I{r+vF zC`Fwaec*eDtAT)!LM8yT6Au6ivH@@_l{A%P8f!2$aEKCNfBQf-a4@sVlA_q7*=$3F>%(0aPbtw5CfbMFVW;fe>_(K0typ ziL8TXfXt*&Z7o1;x=z>J}gg&kFeF!5#z56iC2mRGr%`uKf)Qe9XIH|O0D6pM RuMGeI002ovPDHLkV1m++9)17- diff --git a/graphics/pokemon/corvisquire/icon.png b/graphics/pokemon/corvisquire/icon.png index 89583145be7c7597130a30f244b0054f271fef04..408a46a85fa6a8175ba024465a98d2f41040e7b7 100644 GIT binary patch delta 318 zcmV-E0m1&X1E~X$bbkRKNkl(Uq>%#x{!zlKGlo=b$jFoy(4 z07DkOMqq3Sz}_?z5)c3ot!)AVFM?DwI09vS-ocrghcrg_k$8~(=!&LVVA5U~x{GNGrCt0l^s(at8q})|*GAODHI?#R+!~hO}=6Kb)qorlsy&vM&8~KeNKQ6|&N1DqP QWdHyG07*qoM6N<$f{Rm=1^@s6 delta 329 zcmV-P0k;0B1GEE>bbkN`bV*G`2j>O{0XYv!`?j9|009?CL_t(I%jJ?gPQ*YAK<5S{ zcZk9{MEX4vci7Hp645118YE5=!U=YfMKil%JhL4Injt}%{AwD6J3qVd=PC8a!*5fq zo!4s?g1DPsHHJ%xFeJK4fCSJh|2Y9|N&t4cC7*x*fP}^*Ab;>INJWbi2#ik$xKNv= zG5YtMr4&x!tLp_!Lyt3%j~-239MfDnidaK*w@iP75mc+~Gq&_W?Updk^MI=W7HP^>Nz=%r(83aYdD(=zHn$5{{!I09PU8>~GU@>@T| b{hlA+F2=Y=95uym00000NkvXXu0mjf94L-b diff --git a/graphics/pokemon/cosmoem/back.png b/graphics/pokemon/cosmoem/back.png index 5e7b00e7b51782e45318c79d34f9eda56d282c58..f1a8c6e3ec2aea5b1f088bef364a39e2ce7c1061 100644 GIT binary patch delta 512 zcmV+b0{{J@1+4{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0tQJ$K~zY` z?URv_NPk*67yY+FcHW)_CEGs5Hb8h& zAOr9c%`v&w8xvss^aRWV0*FV=^KZe{1Q>su;6+{rk=C5)YfVi%|McN$FAKClQf)Ud z_@@ZkOYUXS7cGjS_%4P2)B}CQETdM+1HY)Ns`{Z4{k4xs=luk8R+(S_+_&XRU27dr zW`Eq7z4%%sWqVXgwG_j8Ky-jP`dU}d$7Rzrsx9=Sglhs)y)DYp_)T;FTn&KTm1|GB zpa61rO><};H{*-;KwY<807cZ3mabyVqlEXz-fz@P6*H1jw&fkYgox>CKL9s}-;9Bk zP!!M|Sy2uX8pdG|J$?7%gMChHKLBiSgH2#f|GJBx*XsxR5AK&c>mRK3Zf#^*y4{UZ zwO`)!9fv#ii&&VIDpl0Kf?ZE6UIF1;bkRS^asB|7SN3ts6s>Il0000FzB#}W-9RLS(Nliru=LQD>ITg2=Pvrmr0tHD#K~zY`?Ua$5NPk}0 zaW48_h3vdP3+3%uU@KLJ9J6w4(| zKup10W&&UcBqSiV0mk;mfEPj}QGalmtC#}J05MrjBXLXaQY4AD2zjsJ76P60QkI^|mNW<2TLyb2R{VSFSzjf&$3hHO--Y z+>9^U19jbY0TfYBTDpocj}qP=d%saHRm@0A*_LWJNhl zXc&h<^z_}25B52+{Q$7R4NQVHed{iMUaueMJGfu&tbef9yS0&N>2^0t)qZ)?cO356 tFJfU4eKlh@4(;t>s_Hono2a^B*002ovPDHLkV1mGJO1;CdM{(>#kY8`s%L0`%xW$MjUKnFMvhTzIoME;I%selib8zCT3Ai#j2 zf7CfLP`-;1P(Y9$jwKpkL4QGjfvuu46$#XBgL~#~62lJM05=S<7<(pc- zj@&p|4|$T@0Oc6eyXR6S>uI{1Y(7Z84!DqK$uv#VUGnv9EwGaDGX0Lk%k7T>I2?zL zT{fiLtUseao$NE#7DD(X02M4I<0%0je;H#%6|Dm>3(X!pz!W~EuMGHOhw0Q&FyM>W zNmG&Txc|(29ENjI0$7WWSLT!H7s_GBIi(=HLkMjghC(jlbq-9n8Rwj_PH7|@{6MZY z>+}}^@3T&bR-PG3;zGu8-l(nlG!IeUpd4V>2x@h5eI-dOeip#de^jDG zv%iqZes7q-I~4&<<22FH!^_Ke*dabgzdF`5lTkPOmQg3i;&tT~FyNd;U71~9(J_dY z>c^St2nP3MKKJo>S{kq+xvT*0)(!cr)@ z?obMqIky4&=?G|CyR-i>P5TYLbKacj SHufC=0000O delta 622 zcmV-!0+IcM2KWV#B#}W-Gyn&5Nliru=LQD>IU7(RV&VV*0$WK$K~zY`?UlWb(?Af% z9mx;C#)+Y!h=VvJDl_rXI+3y{e;X9X_T>=uZDA{!U;gv4GZRI*J58s>Zn3w)J_)qp zG|=h;1pfrE8$!_lECQI(zt_UZ&rXc)9&i0Eg>PvC5j1oAqb3 zr;~lgx!23)O z@sxXpg1C@zoEK_qJk4E{CnyIP7J^EhTwjSQKt8-jFW z@(hup0O{0XZR-ExS+v z006#8L_t(I%iWPZ4#OY}g>wTg1#7bKqzo0Ay7m@bIc1DGL=HnDb%N5xg)ANWQ6si;h>g?&mG>H%27)Ch*q$5n&`2a6SAv%$lW5qv>uV(<(nf+coLph-MO zK9w0QZ}u@P#H?jGWjr%`t!0;d58*;q1U2`*n8FV7Z@PIlcx{%IBQRGHDAU90I)QE2 zntPuS<=Fj6eT2S$Pv0Hr^O1g73jUgYD*d&gAHun%UnYK^{sYmmru)LE0Y?A;002ov JPDHLkV1n|%ZNLBk diff --git a/graphics/pokemon/cosmog/back.png b/graphics/pokemon/cosmog/back.png index 29a131038a2a2ccb07944e7ec9f9de4815ce0ea9..f1a1c218dff5093eb3fb474cd449216b77d6a74e 100644 GIT binary patch delta 564 zcmV-40?Yl81)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UGMQ!$1_q+eL%R&S2?!Ch-7*C#VItBBa4WAugP*y67T#-DD|kPoQ%E5#kNR8@M+h zC{f*;+zd3iMQyll{JZA z5<37dIQJqXDE%zZb1c#sV@ZT7U_xY{mkg&z2o5 zpbE5Y;o)!7M4^;6+VF7UItkIw$_zua07VGXe3oTpSr%E=2;nV~Jk0Z#qBLrzoPXu0 zm+T-QlKk~8pIN^Y%{CU(_m5}imu-jfuivZF`3A}%<4a)=+xO7`0000IVXQk9%TRk0rW{kK~zY`?Um0;!$1(m z+k?Slcd_)moA>~NPf!b9i;xBdVLiA#_0U5yz2qoupFsBkq!8agd;{+WguIKh|4Q1V zJ$dlpKuX*1w=>^NCZyB(kG~&X(mSG(UYBxqMCXih&JU*Oq8J_nfAr}HFLne7M^}e| z6W+`~>OC1C+yMyZ=i^<#M6c$W_q`rG(8vL-=9)2|VoI2mhdV$-9S{JahKNSK2GKu9 z!@dXR+YA;kI*%BU9-!R2=y``2lz=cmGN*W>_JEL6Mj$gOBoKx=^<7XmH|l|4O3tiq zE$DAJd4?Hc*XNw-e-uOJfyidKPK5)oQ4{^`5R8XG=0};#3EE(8`jopi4X|3_M*>I? zGOpbS^uz$$Tq*SwpFjez2ZXu_5T{D17f4cx1Wf7+c6q@Dkcu_xOD#J6i0 z0NJTNZ_i38YDpFKDH6uW(kBxt>S9iL0YKmhDTg9cL0=m+xVlJ& zAcpBj&`-yyK4B;7Y7jOt$h?9+VXquO;d%}NTcp?35xOG=1@Ah4x^%(LZcj?6pU1H6 zb)qZ8x*fuL8oGi&>~vMVw)Ybh8k`C6uyctz!4CkodijFdi>?8HP*=dCo*R2>Z;*=D zj#WI<5qiRJ;P5_vxbLB9M)T}NgIC`O#tC@yhIqaaw8l@m!?S-r91b>uemse%aZjpj zENS~kkF)pKHv`#PR}+#04!{K5IT#p#bfxQ?0kq^Y24J`3=tdelYB3pgovb!W2xazu0|1mxxT4)S9Mu+5(Y;0xw;zkd-~X<+~W002ovPDHLkV1kaF B@yh@J delta 505 zcmVIWKXQmRA4(0mDf|K~zY`?Uk`k!ax|u zuLBoH?*^Ffzz3o70EDDAk~Hab#DT#?`jHqCH+9g_wC)Tx@db=8V01-{;TR1IJcD-y zgchz$CJz3mOYV2y_rL!&UlID(pO&?6k^Q`V$|z?!0OeZd5*9D>e@Z@}wzG8RG}bHJ;zXUI&Qk`2(~lt!NL$l$sahp~0CzE_5$J%isJ4uu8t5&VpkAkWg2EX5We3Oa^OmJF${$Dxo{<0*>$F zhxMozDs451z2@WWGxp4Y z9HAoc=5@b+G~e_x00000NkvXXu0mjfjos$w diff --git a/graphics/pokemon/cosmog/icon.png b/graphics/pokemon/cosmog/icon.png index 4a9ea59688bff413136e56a6b92e22f503362d5b..6057034a9a87dca366db88bd78904caa68220e23 100644 GIT binary patch delta 225 zcmV<703QGP0@MPKU=`mGwEHr}sFF^)nov b%fjIc<&dIK3T&wn00000NkvXXu0mjfF;{CE delta 263 zcmV+i0r>vZ0{Q}wU_A+NNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Xa8f`3?a9 z007-dL_t(I%jJ@>4Z<)GMZLjIlMODBbsv8m+o>rcah<pV7tGKW9I zm_C_oz`>-DbLwkL$}%6(`HtzlWnofsIPElP-<$mPA3_?@-!UD0|z z_wU)6r+J2b5qKh6=frt`1Q(2nR#$;JQ9i?UPV7fD6pE;r0nUk?Y+e*8l>sdQ@Nr;2 zAci#PP@1F(DZRcA&LNOcNE;F33d4j*aYozuTu8}FgC7lWH`=&928c15p6=W7d+{aZ zJRO?`Az=Vb4fu!{=)GPpy?3rWGeAwh1@HsD_)*s!d0wc$Ng2R@(yu4rqm=ARo&Y1= zn`j$lEo%yK3J#))s@FLUai=Fl`982QZ5m(&t_ux`VMx2#egXrro)KpNC)kcoP%0|6 zLd6$#Glv z{bS(#x1C%M;0UiKQMllYtqYRHdU?^WROxnE)*nMFp$tR)f(!rv002ovPDHLkV1h(J B&~N|% delta 452 zcmV;#0XzP*1giv)B#}W-e*gz`Nliru=LQD>ItmfI5z_zw0gg#TK~zY`?UcW6!Y~lV zsZ^wPJc0+t7&@?(@&W}S6?F=tt^#w#Ba|nIbYyCgBE^|OBKMR%J0#`*P^lYVhFJc7 z{_bL1sZ_4I>hJ1yyO(UolTv!;eP~Ie!MTtd*|$JTo*}xjkoSDXe{V0X@5<)mv46|X zG%GTklfVPfvLKElxWR;IaS@mj6*XLOVBhP3)I?G!&H5gQT_B~1Rx-f_Mk$fzjFxzxDaA{}F9UFIv~mLs5fik1x-aw3*@sfo%(opx zgdsEx5Flb`_If_|e_nar!~#__3lN0-@X)k5^t{M?leR#`OphQyrFfvY0t`*xMC&;3 zvZ@isAP{X-t;T7H8&e@J_JNIY!vYI%U8pOJBHB#06&OfNjU)#+!4W1w>$uzsoftsJ zh~L2Kh=6<0vH!bSI_|&(APx-R0H|QIR{rjBRKcn-%HN>WI%NMiw?L`-(S_>m1IO2P ubUA<{yn5+^@K4=)Rjyb5^)GeRf9VH9E1?Yh=}H0s0000-V1K>4uU`wgt@_sasZR1m#|asl337s3A3e~SuvJm z4TSay684A2SXk+FGnvf3WWOZ&K@r=?bB8ia2%}1GEg_STu0nNJ04aQ68V!vscR{6_ z_9Cx4H_{&z(CQoWQh6vSiOSSVrAs$T-;EEbz_!u#$-g6zK~q?Es|kx-1a?Yn?EiYF z4{?}+2#4|KRygn)2Xl^bAT#4|bQArIgK@Xef`gmo35PIv;jkb4$czJp$A1}zC!#4> U;yX}sU;qFB07*qoM6N<$g3#7t(f|Me delta 252 zcmVO{0XiZi3Arf% z006g1L_t(I%k9#?4uUWc25{csqC9{}*(LOwTM`FWUcz*=&#V|nQiE|lK|=qq>!P>a zm&>(He_8f}MeLHE2h?#w7^@DgBNP(SkB}WIAV&yHr=d}lK6Pkx*PrEO=a)PV3h4Ef zc^SDYD2c|{Wn{=VO5aQfsKU0>_886)C?Fh1R~Mz=^f8XJe|?a{6eJwRpIdR@H3xG_ zIgpt-w86*B!T7t-!ojcQi9;N`IqaY9iUYatad-iuDOlpntpk_<0000b}y8IB#Na+N}Lg44P%-X{peRhk&QmBFOa zs&eU3wWYM+SMUpjoH;vM?MP-_BsoGmNdGtgxkBrHV784WayZO;O|O*2wy9q5x^1Og=S*o?xnj^W6a|u%kVI>O(a|xQnHybFCv+l z2_X)R)n`RvpLc$7xxiyeJ_uOEBSKnnr_587;Sm{i7n;g|h{qLh?+RHO%*kz z4+&8GcmtRc09s5fFgQJ1%aD`FF8~nYAl2&BtD;>LQd>YG@G(uXhV=S}2jl=F2OOsq zxAh#;Lh>P6%)!REBw(E0NiMSDBoYry(WdS~t;0V!DgK-UL zki1QgFXRERc-)nRo7t`KzDt>(?Lqm@zc7)N{2lLEdITc zd)?i#u#2Tb1g!t=sT;UFGTvwQ`>g~Ijc++*(C!IS zIG_z%*8D?~BnUvnBt$W1jQ6?Av71~`hQ#JzDnbBF7*`H|XbtRD_=><6J0-pi3IVXK zlg=~&s3(^;2SnC~0rpNs;8f}WlpBqE70{MGps8ozJ>1~%JrSbr5HmL}9^neRuE?tj zsB|Q@9e_n%R9&oe(0e7&f&t~GImDO)EX6=$!_g6ypzVOlNiq7P#jlO3UE$>1(fB(Xrd-kJq8UBDU`mQ@1M r10?mTHLC#d09}68=urayIfCF1Fty|2Nqb3w00000NkvXXu0mjf_MKWI delta 749 zcmVIy*pO5$ON`0<}p*K~zY`wUfPS+fWq8 zWlSd%@CTP>E4snElgovWV8|m>x}2oxl&OQ~mUPV!q9-UcQcr$are^MnYH$Dnk0C$^G&3)w5%j^YhOeXJ6B2_TGHoP zM%TMqdx|#6J_ry}Av(O`tvpYbM}q0 z{dZ4Y&*jm>Y;#s@7ZtpZV0e{Nd{4b7A6p&Lt$j^dHBWwZP+IB4^b2$ z0KU-R2T};xf0r)DZgj;NBFZ5`9|1HGGIT&|Ku6�$*rKatA^LfLdo=7zR*}E-452 zndQlXOKPI;P5>Ystg3ejZ6Bt!mcawssIWdi5&-Ekrzc5 zYaPs94zysvxp@u&<^ZAu7;M--;t~uED4(PN#cJrIV-Dfl&s?P8HS#W$LKQtii7N#- zXF$8gc$;jF*N{dPT%8{=0Hx;vk1M+S_&JFPXqQ_f!0-XAL10-qpeumpUX2k202RRG fzYTiiz<-ZFFty|2BT;m=00000NkvXXu0mjfL&Z;2 diff --git a/graphics/pokemon/crabominable/front.png b/graphics/pokemon/crabominable/front.png index 261534bda10732883656e00a2ff0144b32483375..3d28832e07385206cba121c591d19cd564dcbb3e 100644 GIT binary patch delta 1125 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 IM6N<$f^fXO+W-In diff --git a/graphics/pokemon/crabrawler/back.png b/graphics/pokemon/crabrawler/back.png index 34190cd07dee1dcbd0b8e40d844e0e49aced5675..951e5a4a2e8e6f0473bf4b62f89ae72f80016348 100644 GIT binary patch delta 526 zcmV+p0`dLo1os4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nkZAK~zY` z?bN?Z!$1@V@D`zvL9h`72Zv^`Yat@tJ)!QpS6k|J$dJY0oDyzvk)mE9tKdQZox&B~ z|KhtJY0@8F!NtY5em{Bd-SuegzkXduNAA4dYW+Fz<9)z)gL<$JwD$nN6`Z?4>;|}k z8~ANMcycy~gP^~sLA&pNYJe3xz$t$X+Kv^xrGWRO`7@XaA*7vf5QgDa1I)#IWbz9_ zNVubc5T=333F&M%u%MxHaO$kdWGoV)hZ}|yWQeP#zyWIqT-b{>(T)>nN%2ExO z1-TFr0&@Ob(PG7zu$w|6C2V-#dSXqTUc( zs(Bww-z3){$yZ>Zz_J8tKkNV%5T;y%Q~^(YDl0iinsp$0Yz55e*Fh552?*3rT?O)9f$_*bma&~)g2hOe>u=(}HmX+p1~BBPL>iDT QLI3~&07*qoM6N<$f;cDVP5=M^ delta 515 zcmV+e0{s2=1nLBkB#}W-e*gz`Nliru=LQD?00`J!5Z?d*0nJH7K~zY`?bSa^!$24Y z@D`!aL9h`72Zv^`Yat@;o=|t)Q!Dj4Wa!f1oDyzvkz&06aQox&B~@8WxZ(!{hT z=;G2_pI@GP?|RT$ZNL7yj*iOndb|Daz!_HorySJXD$uC_PTM`Nf0(fx;0Wcw={WAB zv|#MIenmmYFDt+`E&-?f)$Npw&|C|chpnH%LI@%44hNp+Z53cHmP3o#8qRfC^yt(5Kz$NunvirLtXfDJk%>~Q|p)AsXS&#@3ATZ|u zsezi3S)VR(WU zwgKk!-$5AI9T1EPK=u_F4eetY+1)d+8tUcm|JQ!Az5p=fs6@;|X!? diff --git a/graphics/pokemon/crabrawler/front.png b/graphics/pokemon/crabrawler/front.png index de27ebb235dfdb00ebaec31d2e3793e69bf3ecf8..0eb32cca5ab8aed96b3e070639dca71d35560b2d 100644 GIT binary patch delta 664 zcmV;J0%!g81%L*SBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$E8!K~zY` z?UcW3+dve@F9Z&}RbEWo$v4z%K^a6>A4YUeprZ)pEDJQ)gN26 z=s;_SHh)38i>Pq_OW&P;#Ii1R>Ds=*obP?^``+DqPw2n>l^q=dtV2ZI+N_Rk+Z3VI z+W1c?wSNbI|BSw_0(J6#VkJP8b*d?pfvUt7==~v3iE%L^t1Nr`0N|fb%|LsjK;LNz zZx1+XlT{Ku>KXxj5EzZxW4%}b?mmF}!)T}^@boz#iXy$~Yk*e(41kW|b0`;|?fX%! z5e=K_*n&Hpn}842%ZJafNSsRmDiILwy#4YmgZ<>*u{lFkp!*enfP9W>;@)Oe0fat& z|M9Ra(s@k?DNR5igoq1~&XY{$20y}?D56A&6q^OmB28`;AS}jA{#rViXuu+oQ6Nd- zDJMeQ5i&;40oF+z*GbzmM~Gt!6z-tv6#!h;2}HjoiD*RQpma%?)L4ic(rUs5A;-oz z$aVo+O)9tuX{q0TK(H{}eI{GC-y4zkNxLa>62dd@0_!>KhywScq0FOD$`Szj8juCT zjLDq5k}{W1z%hIXw1sgT!{G};7z+#dQ;q<@jSvgQNE|Pf1XQ&YfzmRYDRFm{N5J8zB4m6==KCQj?lkk2>k++NhAnZh12r@0000=s;_RHh)38 zi>Pq_OW&P;#ELF;>Ds=*obP?^``+DqPYC_Dzp)pG0P7G@x3;Szf7>=iXtlQf4yE?* z0PvsCH&vicUakeGvTiknGEkM+0sTJ&DlyI`WSwQ79{`4@b2HH1D$w^@!h3qnHd!ap zr>+se2Z70?J=Kdf;64S=U>uH>1fD+!gkh*RhZ^7&00W?73^|mGN0nmK8sWI9jxD*v zxe54ay}JJbi^Mqxf1nZp;qJS;ZyD?-w~ozOwPSGaD**Wd)x@pMJVVoc`u^j7RiulW z5K@`|UkDKwB3&ez%uQ{LGf{+z5Gghbpk@FsZQ+e^;c{gbPBBjj5mQ1Gbt} za1qi{zrJ8Wu>VZ9Zoju89gucY<&ucgf8 zBX9&C0&PJY$8h+J5XOQ6{*)sCa3#c&F%risB>`0}MWA$)evq<|aNl$pKoa8fq6F|! zwvu^}L!gOXX(>b8pyNHyNcDr__y*;~`Z+#yR*A!2Jy{cTYgWQ-C(6n@s_mjp4b=)r{bB q`Mn*0hfZW{(A^1a9HD>9egTt7BnTSQbj|<(002ov22Mn-LSTZy!Yx1m diff --git a/graphics/pokemon/crabrawler/icon.png b/graphics/pokemon/crabrawler/icon.png index c09015a97b99bc18b609327826093acf54efc1e3..d28b81b6b6b546435bd4f5df012805496a5443f4 100644 GIT binary patch delta 253 zcmV@NBe3WY#@ znHCCx7}S6+jcLJfR|g%7+4AQ;68L4=tdE=A;qW!sO?qJa5gaDTV|U@fbE|j>$lI9( zyLUzbYU*PE6PS+(hWi-6{OaQcZkL!mjSx<{00000NkvXXu0mjf D1kH7M delta 293 zcmV+=0owl60{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0suE|J3Zn6 z007@fL_t(I%iYpF3WG2d2XJqY!xYy}nbXC$>UHXp-KAcl1tFl9Q4j(#v!X7^DZd6q&_nW%pbU~{G5EnN=Y9!ckAKDsW_1v_gg~mU14^b? zffQ)&1YMj8G-ZSiQrQ?cg3}flXKpoNO3_}mZMKa#)n{3Yi*bQAJ@00rU5kAg&B)Dr zn$fl}{HEwX&pyBy?SmnZ-H#Z|6em((FcTz_V=yDoeg(7nAe2=r7`JJbl?CJZ5Ecyf rVHPko_OXC5o*oYi#`m#+`PIi8ZkL!mCAUOZ00000NkvXXu0mjfjj(x6 diff --git a/graphics/pokemon/cradily/anim_front.png b/graphics/pokemon/cradily/anim_front.png index e44e4c21b563657f0d2c5fde136599c8a5fe9498..b12899e3eabbfdf237ee6c73655c00d749488018 100644 GIT binary patch delta 1179 zcmV;M1Z4Y&3hD`vUw;I3Nkl~iSA!ON<>vQ}4>da$rY>e))X&KC&kZAG=n+&GjCe1^U;VH@z+*Gg4J zhy(A(dvD&ne~Pj@8C6L?N2Tvl<)}hV(}6r8=_)9BRH0HS(SIOszsR4LYEmOFarC=d zDUzxT$Q(yNrc8(&P|olPd>>PWIX_GK6(C3 zcg#-P;&I?d06b=R+&$}b>fAYq<UBjKIV6_) zsBcj?+JD$NRk9GQc;+^33y#ei)!d46GbUFMixQ?ws_O-hy;T$pagA<+ROi9Uk;o&W zTSMf{CR`;HFI1kAqYuG4v3lXGr;G3|MXr3F2I~X^(aC+>1dB8P{cUejEo5z*FVlca zdwiI$`wE7(u1mwX10a|at|bGIHM*{|L;_7F6MqIDJ;?}ye>3>7BtM(%%SljyCXawA zbwk_98FyXDi~cLuxhqMkEQ1DQctSqnTmpzbYxq78cF&Xms6Xya<{mU5*0-4%e-R{9 zhfw0)1Z=sI!WeR{g@$L`PlT6}K(wIAzWHO$!chW%xLZRsybozh4k(dXs80p85+7ry zEPrY2{eMmd)(=%JB;GTVuaxUWQhAm{9F+)uQ6d#JVXMj%iS-lASrrgD;9893iCQG2 zEM1zcA&kc#Xdc!SECaH$+h}?=2&v<@65!`ZZjYgzc8_JisJ{hRq1k)VmRMi{m`=yg zCD=O|00|B9=_k=9-bq5GO<4bC`s;hB9)H*ZBrY_EqWJt^0Od7uww(1HvW0kFn& zVu9EKo-rGE-6Fy9eFAd_@jyrz_K45eIqVQ_-&-3VVD~?I5^B;}laWneRJ9gt_G=1F(M< zTJiL2KJc6vySmfKQ=n?9%i46SU*_o_bPxl&N1V3=NcE-+KsSOPj+U z)F=+SS4T7~>_J!z>{+ym`UPtC7F-gPTMnDl{tWxZY0KIg&3|=a>0o^D`}w_@H}l^6 z8^*U)G7bHDSbw0klP25N0~N;fE`WV^VSjYyS?)LIqEH&%sq2Cz>0q3FZoA&|#1z=`+P<6zF<7%0BP-d>( z0=g|9qXWU6uup%Y?CHwQ5r#X6~@kj=*3P?e15hlDm!adkNqsqY;4b zw<^^&;AD#CvuVs7AJ5@?u>QJ^&Jma<33oiNXZxe|Tz`~f1kOIi$;=78e$N+q;AaG4 z?#3e8?e|+ET+8L-nL7*;p1L1|fJggJx~o8`@?w^7p17%dDTGy}^zmwphxHdcy$3#z z(DagStpYFW>?B6uaF%*Dnh4$QTB|j)b28)nDt143Ab~owt<}4*0B`azNuwK(+iTZy z@7nIltACD8E^GwKZJH~LjwjImTM9CV19^;tHru&MZ$ov9LAyoRt3`HOP`p@q z#s=J_bI^3E`Sd!w(6zEJ({yfW>>D2!>9r0Ze}4xHZG>_Vh#MVn9E?S%b8r+mj?nC( zjLDn`yBNS%<2Vj4B*HAo4k{Ftf&3Ln)g4BOH%!pn@`ms(|wB zd^tVajJ4=%1@PLTtwwzoe5i+)AD+b#sz+Q3#z7SPZGOEev!GB(Q z0e~&W4;26z4m`+U3D}?rfunJN0!W51tF))=qyZv67k@mfH&w!u$OeVYPE?v|;C{Mt zCz5$kKYWn=It0}5MYTil5bbRW;1%~5ndWX(450q3c7<+o5s)oWQ{anRp>?pxuC)#p z**v=qiyds-CD+-FCcu}!=34v4`7-olrt7nJi@Q`i{`Z34wGL1}I6w5m5B>0;>W6;- X9Q&3I<^v;600000NkvXXu0mjfO(jlI diff --git a/graphics/pokemon/cradily/back.png b/graphics/pokemon/cradily/back.png index ea5e29d4b56aee353c17a9d72888f8cb1296f03f..448077f270a1014e1f7adb7743c7e11e24c17416 100644 GIT binary patch delta 837 zcmV-L1G@aT2gL`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tf10G34K~zY` zos_X^<3JFG^Y8+br^)DfaLFoAnU_d5&*5gS(qMu)Q5|V z2ycHd2^!VF*u(fJBOuiJDa*VlI{Pwi0ipAdJyMDq59-k**aMC-je&+s(nqGC(;eU; z@Sq9sNoQ=-2E4I}O#nuqKzX8v_JjSMmPn5&_VU zD@;Ke115Z4>n>v#=+4#s3RAEKDZJj^HGqE<@5yB%7+?3T{-X`}?g~GGxZw9z*UzuF zzZyUcbKwJ=q#!9ls^&Ip0_i%3HQv*Q8TFH@S-fV|HC(&`=hT7?Kvix1ysZIe&IDvP z^i_huVxpH)y7*HAAX1zGW043E!cuP}U+ba<++ZN~H z@XmF<0~Yr8l%>E7K+E%juk(6QxRtJz1g z_zI7lu}=iRPtUwk8v%!{)D^7Q5D@UpBQ0O4O9oa~RH&indDOD{nH#|B66UNv(YPGC zh0V_xU`K19(haatct6qsl9ko{dT4(Q0I5+0$1o>G-pwp^H=kd?JjJm|l{7}pB|?A{ zsl+~EuQ*mpHTzHkBOd{th*gNWsJyj>XqaX=mIz3JPlHQnZz&fY5O4{YQ=!0dx&eG$ zR7o7VHsaz8<}9SybsSrT$ZrO5F-ruT8SN?8R5EBT4||PS5GS;U98;#Cu^f3y0HP^A zAa?Ay*ztXUURsU-KAI4NB-H5^K-akb8dDO%6a|Qy>!r*x1M^7j=7PO@QWBXYfko}~ z8%aD}nSb`Y8%aD}nXCZfkASRG*~{|dgTU>}Vc>cDawx`mQ50`ofaClHt1q9L{@)k? P00000NkvXXu0mjf8pwlN delta 851 zcmV-Z1FZbT2e${1B#}W-e*gz`Nliru=LQD?0V`u6Q0xEz0~$$0K~zY`m6g3}<3JF{ ziSA-mddyH^}@w?p2 zt|UuF@o`%iv;UuGX6MU}^Z%#k{X_4cdWUs(dUkvO=m!%v`Fy}Ye-PmrejM6>^r*u{ zZ(tnvjP7?B7({Gb85qYM2Jn7LA+n&`K+hWPF~))}17w=+31D#71+c(+U@V+pcMzzc z2StFN=S1{8Zx4ta^&R!$JSV~%OoB!>(DyJt$_WUye#&z%iq5`_TR`YM@{9L?GU!aoi^$u^#BHWCEIL zBmnTIA*_r61Yno({^$|`(2q+DK^g;0_`KF##xBr0SNBT{!5YZm_4cj-WcW@l6T$eZ zZ}lH-z;~B;3F3m^TU|fD-u`L;F{Hu=ILSa#fRxQm-UPB$e*r6erw=o#CuMW{npe+o z@d=z$3Dy8rw)OL-2Aq@$$ZzOYg1}^=Ev5AKPYr;`um_BZM2HX;dM)`%Z)?C!<`s|% z0qX_%QhL2BCZK*(0@*?@w1Ri8iybhxzo#e#MgUr#Z~3aI7lm8tT1nt)Ew%ji`(1g1 zY7OvOM*#2xe}T6bY&%vq-Q4QJw}QMxk*fyxWIo{@!-VXu^rJ-z;yfc-e~pa6XFjCq6;CN_1}~_m4(;_ z>)9p}v<_HMo5BTu&AF5ctqXs}k<`)T`fh1)q)22o&-{J6b$^exyLeMZfCLeJu0!um;($Yf@@a^nS$h`qP+FopK=RP9 zy3_JM9=dpg>UaMdNCl@3c#i6*;pnukiig*ty|sWDY3=(5&VUNYozrg27OH@87pq+l zn5=@%bXo%we6Y{}a}{3zLxv9q#_++ww9Nes3^|E8^%)pKGJMp)bon>~)8*p?OrMWa cS-;@p8y}Sb6AM=4jQ{`u07*qoM6N<$g195O#{d8T delta 418 zcmV;T0bTyo1NQ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lb{J>T7ac z00046Nkl9%q;zGajT9kwk*Me_!3mHovd2gf zAvcNXk}dEHEB@IKd;Jg{1x)8(Gb4NaG4_YWbuUO~-Djk(X@7xjI8g2d z%)3mhp7?4z-hU2FAP46j9*=Pu`8SdVc8DRLL=>TY=RA_4dwIx1@AlB_{}=j#9Nqga zCp_K2*3mgCesr5IC=~<;G%G`RbL_^p1qO__SnWDsGJ{TZz=ZEMsK8vr zJus+!STMB@3#KvmGZ?suZi4}#_HhQ&_VEp-?c)Td>l@>AtY7%}0w0wC6Pyte)c^nh M07*qoM6N<$g7G=H>;M1& diff --git a/graphics/pokemon/cramorant/back.png b/graphics/pokemon/cramorant/back.png index 329f6cce92acefba946106ac8256e0fc86b37a6a..f8ee0569fc583c26f9fe4099365ffc7ad9bf7af3 100644 GIT binary patch delta 458 zcmV;*0X6=n1hWK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gOpRK~zY` z?b5MM!!QsAU>9XTo$8baXwC?AO@r85Wq`oYB}#XsNNg;XJ9Y`mBfwTwo!mS@=-4Uo zLve9HLaprzF~W`Ur~CgnA^-CShxY8}PT&vh0GNMf104#iZ`(2PTnKD6CV(@tcEIs% zB`5+mIFZ46zsi`L0*>2%WO!ykuMxQB9i0)30s1Z&MF=6K5LjxAUGS)9c~f=UuK8SD z1PjcUNn7CC6Cf~tbCm!reVkgsO`66A&`}^wUlMDDG`&lvcJP)w+rZV+Yckh^u>yIX zaK6+6^%i*?bI#{l(flt%bX()jpR%S8Pml)2%@HWqp%nT)eGPNSlv_%^*44cVj z8DHp2wBPz1&Cv?+4KyY`0Nr}kWCT6&`5-$2vH|R({918vE+n3~!0yZLN>h(Kl*RiB zOI#M^w$y^Us1=agogPRj1x7@2C$$j{g6#$XVMVl{kg{%pc0rr5#tO1B0L-WqFhmd% z$$hm(urX~2#lEN|9;(Q+z>z{ka#K`-{B#KU0A{9*t{nF0djJ3c07*qoM6N<$f~JJc A8UO$Q delta 447 zcmV;w0YLt<1f~R#B#}W-e*gz`Nliru=LQD?0wCYs+NS^j0f|XOK~zY`?Uk`k!!Q&@ zQVY?u}e@s0k){>pLB7dmTlPaA@orfxzql zq4v(D1CZ=-W(01sEYTGufh>DTjS;f!E}fZyxAfTrTs^&}3r*1yD2kNQmHre(l2A$) zE8Tk;$vvgZl_mrNe~Dz4Gj)j3Jc@3M0+G2UL@p(YTp3gVqex6X&*@Sf;&9jJ$ec*9 zZ-8KuBcR`w!XtFp=ZE|R-~u2Q^_Rrao^jlGKbpjjq0qKt})o002ovPDHLkV1hSn#w`E< diff --git a/graphics/pokemon/cramorant/front.png b/graphics/pokemon/cramorant/front.png index 0fcd30452d5440ea3821708a493cfe2445dcd09a..296ab53640ced4cf2bab3e24ce621a7d135e6c14 100644 GIT binary patch delta 670 zcmV;P0%8681%?KYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$)i)K~zY` z&6Tlk+b|G@Nkc){-a0={jWj(p>uz1lLrGSLmS|Eb^zAP_ZImr z0D&dJAn;_MLc0TEwaAEn41`6;uC!+W-I@VQ?n&R0;YDzFYu%=oAHUz(_6dLb{J{#G zO=mxDZNPjwO_Hy&w~J(I;)aJd{YLcyMo*IK>u3+)@v%MwSt-7^;QDR-43>XW>YVcf zAloVCv!t9UZz@RHPBH%?PJwocS9}i$G)y}HS^~oq=HY!>S!maPz?HXQ4!}a^X$5$v zz)A*}xz55GIMe`u!4$8gjCJ<2w$L&`S?S(^Wv_J})WX>K*~Y z5JFw}nmm#sC!}nD!Sfpv3JA`ZzuxFfXW5EZJ-YtkOoW2-cUnJch-~Fm0EW?Qb{IvM zx{8dLJ1*TZGNTE{xvznOPT;(`?#WxXXaIrSF~-L_8rBt7@ZnBXQ=|fx54`7UI8_gE z)C(Aw*#k7pLrl7!;}{H@0`TEzd4NuUWl@*{06?0K6i!@uBtF#;0Q6TTtB zbAEecY}1Pm-)>EPLLWc9Hv-S*i|;okU^$=1@fR^zMLgGbO#_qvS`Gq#+8@VPS78mH z=~Mp#+)~n7g5&>Pz&!pc;<^AJ41g=6IztzKpe~(Si0f@cTC1d#(5fV)P)T%Nj#qh5N@!FfN^~ROR&ZD% z+Ex;H1GrT8_#Ez?z`o4$#CZZRO)z=xD}0ah4CA5%&u>IXAShk`e63QIrW;z;==kkS z1dP(RO5H24bmNr(g4HxT2*V3iT8i}@7tYkut1;WYtAL!$VBQ>m=j5$hH2|}mDMBZ6 zJ+3lr;NVc-;M*mz-qL}qVV5;T;UJ(@rdueO1_<{(#}NqB3E<#JF+eB4I?r_i03b|H z2s_F%odD*KL9_Zo%iL3$223`rfB8DIInI>F0{1U=k5o-Ep zA!ePqt^t_LtjX^@;Rw6k{$TC*yWNogxIZ2ykNd~tLq8xdkG}$2ULFRkw2S&CohttT Xs-)82`XgM000000NkvXXu0mjfA8jGV diff --git a/graphics/pokemon/cramorant/gorging/back.png b/graphics/pokemon/cramorant/gorging/back.png index aa84bc4be95914c143cce4c7a5c12c688426349a..823b4fd8b6dcae21aa59c0c1ab7232832ac682e6 100644 GIT binary patch delta 674 zcmV;T0$u%t28srdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%J);K~zY` zrIN93+b|G@DIx{}Po~7Bnj~UU z8D%aly6RnelpLd$C>2F+v7!ItfBzkc-dBv+eewl~!#)7yun#c88RtQd0p?KG?*>L% z>0_}?h^dB%Isq4+B5qzK=7jK5NLw9fL?B^*a10qCSAAgT4zQyz zcmt|(|CTT3rU%5a18UXfZ7R%q&x|tLXuY&W`aSW1Q0pZov6>z@70H*xGSwKMhf&ku zN{ECc7WK;VH*rGN>@ZjW@G-Hxa=HBFQtmVjumB*ri{0h2bSQUQGt2?_mfW$pEPv{B zwY9Xh&I`q$X)(g*271|)2ID#qeG_q z{Kp1TuJZj(>oGm#hYh4$$=!<{kWyvk delta 671 zcmV;Q0$}}$280HXB#}W-e*gz`Nliru=LQD?0~QH?et!S}0%u7?K~zY`rIs;n+b|S{ zDWV1fPo~7Bn*Qx-@+fBIPNKG%UqIvC%7F}2)XJ9_O=4dC=6bK`sn_a zFXpBP#L1z3MJ|@9FzY!p%50-`(-!HE#0Nr+mzczA*1)Mqz9yEb+5kO_nguR}NJwH) zuPlEPCuB{B!2*C!iRG26)i0NFr}YE~0Fs;7U9C!oa<|pPe;k1C$qkFk@H%M@7YY#RgWf@iwf_&m9@jvJ!$R2Vw8VWUu!dPGK<|JC0suVk27I9^<3$fp z-B9Rs(*tDie<3!v`ZgiL@VFg7h-(15012Jm-{OO=gpG!oJg8ATd_D}fI%Imte{Lb= zIzQ~SHKxb>xP_E!xqs3FQpyZ~iF}e;3k<-1Cj@|nzSCUFV-0Ne!%`kQh#-p&06dBc z=&(R&BA<&L0FPZ2-0V3orp2VI0G3%ck&k(i{l_1G6+f|t{Y5;>;hg{g002ovPDHLk FV1hJNF-HIZ diff --git a/graphics/pokemon/cramorant/gorging/front.png b/graphics/pokemon/cramorant/gorging/front.png index 36be31061ab730465d11312f6ab6f0e6fd6b78a2..2a4f9ddaf0ab71bfa87556821f58bfb01a6c479e 100644 GIT binary patch delta 788 zcmV+v1MB?r2Kxq(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@O)FK~zY` zeUv?G+dvq{F9IzFL*xj$$`_X?K^ffh7qESSj>h!hM7y>hz>B+NIS`z?8?4QAbh37m zCW9A8L+Rql-=)v#Wcfv>oCXO!zx)56=eZYjGFs^UarLP#a9zA9HUl@^JnXro=b7Rz z$pN=LBxGPRfd9&)MG4V==%oQsKnt~6@X@3y#dmTHiNJB~~5 z+AaJest_Fo&;h3OZsL5F@w_6T)&Rn|Jpdq%;}J5A4h7^x+YRG?s)W{2MBj0Fyr_|| zI#28irCinl$l_8mCZ!0?9+0Tahv0Pp@^b+5Q5|6Agy%=7mQW7pqXO)68CJZx0xSu^ z^Gt2&l>mJC3OFnF1Q5yz{+u_I%TWOyNc((E^h6CbmbE}*3Gc>B4#1k7c-T?{TL4zc zcBz3`71+d!hi#I7dIfOw06_I7*u-&=q`!+4PLkkJp1lRrz9w6*02aq2coYF(GXNqS z92`yo89^iLg__1OS}k=7$1Hii1c)o&1zTmFPNB@wmRvQ$4#5^wf_0HXx%ccyszth= z#VlrXoMp@K0uYK2_8fDKRCY|r-}5FMzQxjFsR6AkFc^4FZ=;O&p=IA|hNDhTSPJm$g@vBGd&G zy#qAIsQI&AVZYx^&~CTi*Ttv1>7@C*d!GI^1Nd?J&$IC3q_#>cudi8FiO_!y)?jl= S%&si}0000gZC=cld@>`3I8dpkoLX$h2$w2V_Z?TMP!Jdm!FI$K0)*>?x2X=b?1T zl>enqmh;on$%9SaN8k5DPcN2rT(0&0y82`?Tvu<3^}tQ1H2WUufBHJRM@qnJ4G8J$ z9Ki3=hf4`j=%oW90oQU}_~>416y(OMf#13%L}_UxI#;Cc+;+fO&(ceH9qJC88`7mz zFLBdv1w;hk(wOsrosS#}n z&_1U0ZtQ#(>8vIpf6oBSxYY+BP1B+F(ApG`4=pcB>k>*w5D(Y;x1ZP-O1Urr zmd%A=Oo%v|8JY`=a>d*PSV0M3J~RP#N%%oxY;9Y5us%uvoy)N5%_U$9FrG(>gnt0w zE0DlhvL`?+J;5*M1?6H`fqN32pNZP2fX2cIG#2n~yp#Z(f7yu-Bowd#V3}VJ&%d^A&{tdx-}!q*asVao0L_ur z{ApI$?Y3iUyWQNz>!g2j`(ZkyOd=KYwU$&rvGtU!hh-;9sHUc7G*s#TN(vLx8(Fu@JhH^R zwxv`1E=}tfn@Dm4Ow;6%4j6)Qzz;Ld^Hm4C7LpR#a!U#;sW=#lzxdOw3RidAS oiZ(RzA;KN`{|kJ?_+dUi0SwnBSNsk&q5uE@07*qoM6N<$f~|Vgwg3PC delta 460 zcmV;-0WO{0t5)WG1c1u00EgvL_t(I%f*wiPQx$|hW!Tj z4rK?aeE=4B%@j*zpn09kK(g9P^I9x`)Dp=IBpw))P`-R2q4sde6J7@-`W%~o%rbP$FG7gh)0fuuOUUTSyF{JG% z^uXk7)_@S03otxbA=*JGXhl6ABJ7d>U*JRh5g*?S*CtmzqGz-K0000J&D1*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?b0!C+CUfv;Nu2{h=D7h4qc2>i0Z&V9e#l6RZJO-b$ccTXSL+T`4P$HE%gwompxML z1!X}(_7X+%;`=Z8&J2~vouews)>|0fNALID8T9{r$T7Qb<6`ZX|ra}o9&qP^-!zQQrFo59et2_c#Z5|F{XPk(f^fKZ2>{hS-> z32a8fkP>@tD&nIxVT{o8kbW|i`DMn5*QazzM|6Q&ua@w$Ke5&O90p6rWGm7;Tmol2 zzKMJNGFUElK!>UvS$81#;5&VGl=)wv$_I(&^Tc`s7~?(AOz^oOzZSpOf&|`D0`&yc z<^b?o4=gU5vEKlH>VGKQG;IJm{P6Tv2{5eCDK~9c;sT%!2)OC}Esj(b2I}M@l27q) z5_L8zGL4FG16w9Vv{iOY%c9)CmWkM2seuq82QU#=LOB8h*zPz7SRo}SgednwS+Jk6 zgB3)j0WhPgfo23k6Y*5-06gj%%>1dSrqx7OfJL59#A8t!<>+4zLNDea?`o;Hm!SXv N002ovPDHLkV1l3r3_kz> delta 571 zcmV-B0>u5N1)&9yB#}W-e*gz`Nliru=LQD?1Rp=*P#gdN0t87!K~zY`?bR`B+dvct z@be8GiU(h9)1iy3)DBhb!BzYLFK$NRr`IuJttpMUX~-8brXGr(-t++gH2e>Z3iW{5NbHp7?Q z=7hfkm`UL1$H2@**mH<>)sZ}fGh#P`p=T39Gzk)r!MsnucC~;|hh2V~8|nl$BSAok zJvSBQcWc5Jp;rNYZz}8CloPK{>5`7<0<}(t*rdNAtM?)BmyXF+q<1_7PI>e_>h(*1 zxj-hdSH}%5IFASbf9hWusAapy3GEGl&r$E(_o>kuu;IxOZ~)P*H}zi@P(R&b4d7>V z>r$T%RdrKh81CJi8m7f6C zG%SJ)ri_blr|dB;i!y^LW3jtY10h5XU?OgWG6DnG?KuZnsW&ZzC=Vc0AC}D6!w90% z0LZ9npou_eF(RI;J%A@&2Qz;zs%bURHNYazC*rB7@;~^`y#nST?`le&v`YX0002ov JPDHLkV1mr+1KI!p diff --git a/graphics/pokemon/cramorant/gulping/front.png b/graphics/pokemon/cramorant/gulping/front.png index 1df32a67bfbb8b7b159fb71987872ef1fb4a73b7..b6b64f03759454485b7b4dcde925619483b19818 100644 GIT binary patch delta 728 zcmV;}0w?{m2EPW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+>leK~zY` zt(3iP+b|S`84a2YqipM4U>y%m6u=Gg07cvf2pSn34G%0pp_@@odVoGcJ8IxSb=F`l zMwcx1;=x%Ypy&hGfX5DTFGWTE6V;{Epy7VJ=N$f_|2NKF`~!H?tFPmBJ#cp0zOB`; z?%&n}2*31j9bxs~<5#_Z8p86tR_bd{FR-1r=;j*!K^R*) zI~N6T5T*bSq-3I_D)!-;v%(kvgy<=UYtCd?{u@&x(3rx%@i5gE_BFtL4x|9gcskWU zbP6n!$z{p|rvP>u0H|p0GD%z>{46Z&nP5VyoEA*`#8amLCOZ>M2movffFSO(!ak61 zfIU&u7(uhCwy<-5$yn}^DcuR3WsbH`y0j%z3t{^p3tikrVPR4NLP87YB1&jNW0GZ4 z{|E>b5t56T(?^=6l;#nlxHLh4kaGUzGY@zWETzuq$GbD(gi`+C{E@>5mXQW*_{zn0 zy4_2zM?eLIx<5qfD~Dx06hOvCaNd0XyAVmJqwvX$7s8J{^VdGA#N<;(mg)9!} z37|8$T_d1e1`7x*9h+9&E*A_c0oXVut1hTJ&oVc^eIc}|Xkoco8tNAygvF|AkuCHK zAX!*kl%p0|@rKAzH>^xTo&i~1-#tUbP)BH_2tiC`IGrJ3HBXQ_eW)Wu4bU8+<{xv1 z)oQ&#>-B0gWvXx2+fDOn{j~j64UnttZ^t568)Hf<&(|zdBJ>xc?TBV(sOP-^0000< KMNUMnLSTX!BuRGw delta 718 zcmV;<0x|u+2D1i`B#}W-e*gz`Nliru=LQD?1U7w8$Z!Av0+vZcK~zY`t(38D+b|G@ z84a8aqipM4U>y%i6u=Gg07cvfC|VgE4G%0pp_@@odVoGcJ8IxSb=F`lLYFM|;=x%g zpy&hGfX5DTPoiSkv8XPk1`Ygp_y5P^A@twY*|UEDulmjVq}vRff8BO(8*^A6UN-}X zJoiWwVGZ7r7ySmp^1M#Jk)X8mzJJ{(jXDS9`i3zx(H#hK{qdWDAOwU?1iAV8y`DG+ zm)*%^&{0t`s#S3Ay(2Ftq7x-aY%&VSO&w3gh$9QN}||M3Xd_*8>+|zpq^5a zaiwBI4rDp1STY)!e~PJrP?~R~0LE%$B#I2_{mBPPumud-zIY4~@tN@saRjPsL6j&zH%asW1 z5~y+jkXv(?N#cs&XDQ)81eYrJX~D5iVr7@Wv=YIk1OPJtek9Zj8imA zwS-C~=Y>k1=bf@yW@`z1m00n-5ZH&b5XD`T5~h1VDhOd;L57X;=B;NrNdd!X(-%iQAig%GADgym+dP)~pmid7dPTj&X(cvwD^Cn2(O zhN!U<);gh&fU4iG#t^klBV?Qtk{U-0hQ8trBPj1aMAVbA0cej=`;R%odcE1A&1Ste z?e8|bZTn&Ku={10lUKXnwneYDMweFMuYKV1FQV;;X7kk diff --git a/graphics/pokemon/cramorant/gulping/icon.png b/graphics/pokemon/cramorant/gulping/icon.png index 06b0d61ebec7c0573000e19aa8962d84ba21deba..0d22d7f1d53cd2630c4cc276e87ea20ba5dbc3c7 100644 GIT binary patch delta 446 zcmV;v0YUz{1gHd%bbkS!Nklr~E)Gg}q4a2e4#ji_``9oy$P7 z#!K@Y2qNy z0eb?oI=Lgnv_b50O|(!+l5G(&?-D{~$^93{x~~XHJsxhJQGaN+={&Gx-51yteqmm3 zlL1&3U#r8q95qKDah&=+x)cz+MxZrCrs#Ys5E8M{4f-6|V3u704j*dwYQJALn4ZCE zwNjX-zQ%C8lpGfxT&$K06irdMnzo7}i8)B=0Y$unXv@|C2uv%)Mrarg2yaZd(V=@& z15L(3WQ-mIPJgNE3E+xp#{aLr0RSJvZqD})O{3jmU^f3uh;1p+JEhDaS-(G_GYG2a z$fJIF@?$y8s>Op!wleJvVhiWyXoX4LaUs;8Cc^OEMooo*IJUx!Zk0%gl14g+w&?sA zre8|TE&+$>x0`~6X?Xm(tLTK0tiu4TFdP@|G@DKsK{ti;pc5wNVf6}uu)=U-Wzh7X oq=-5{0(X!6%Q-)W^~ZjE1F_;O0yut-j{pDw07*qoM6N<$f~P6begFUf delta 464 zcmV;>0Wbcj1iA!}bbkN`bV*G`2j>O{0tFDZMtsZw00EszL_t(I%f*wiPQyS9hVKom zzCa^|y-4i?uw-V7)CG7QXCPT~OY=gAxl2J!RdGn=a+N?z2G01BOPY3MfLkK}u^s#V zFGBp{09^=nV%)Kq|!2 z)Y#|13e)rkaQINO)4Scg#^fX{77L9@($`py=ZfRJ7p@lb8Ol1(eN9t_p~4K5>IDk9 zgKUb%3m|MG<$p>V7#4(gR(Q~1dRqaV*+FEjId`Y3stfe~2a zU>bbI#IzLHGo|f5UVg0669i>=V5?u(y)DOSIeXIaMkO6VOkrRT4w%HR3ljtS3>fZh z^*JyQMGlzJtrAID&+5&%}MrWzM=(2F%E;^fZ;gz+pJn( zB;~3XT3|9Zt3wE+1BM4HMBNDmh1BvP{5|q7=lKwS#K#Y@;wu6O_L>m@0000b>!3`KQ<@(%8v0QLd8c<&^jOVO=Y=oRQ8 z@hUC$$+9FF)Wz126xL9&v~0`r-lBiw2fsjyPl(@>wSv-`>KZUQWC5`n5bache7he` zh*-}JcPZuJn`^rysFbfK)HZptlP@t4bn7IxsR89RO^hvNzkg`}-R#mqombs?577c` z5YKj4CKb@&@%RMmsP58TF8P4fY7|A$VO1>|&vkCNR*Ugi)(#w-S9 z{DOAmW&?zGS~uE4+!#LD;X&hqz6aWVI(ffc-}n7yf5C}u$A1WHvc;(TGXs+l1X2=z z@JbL6^KnWD;(yBqU=kqU#=xuuu^t$hga@E61|}g0%8&P}N(rJ{S@t%;p#@?-Rvesm zD)14n-x@sb0ps;uqZpWh&p)+*4!{`3AsQnvT&pPqO#nudGK&#_srgtFLZC-rDow2z qCZnZ{0v}9D5dYrHN7P^Q@dL061%&*NkU;O{0tF`y``N<)00C=BL_t(I%f-{NZo?oD24J3` z_YUr!Nbv)7@!kokOVzEf&{sGQ2`eo2lVwRV(8Xp*Dl?Sp1=|?!Rm*n2I19MXLj2xx zPEcNxQh+HT2Z;56=*Al4+iibDL^W-=Nh$Z=T)Vl0D*1Xu6 zCGWUzsruChFwG`Es1Le3Z6QTqEaJ%x^GO9XcsM-4a#Vlr&gb2L^%9h2*@q{PMfg6mU$0v{nOGT3Fn_YwI0Bcw&Q>*Xd|8u;Ze$U7Jh{Bje&+4fzi zFG3{4APidN6ay&%mANwLY;+93ntXkXaRIU;5oncbNQ?^sAf?<*>_5v3bs!$87{+pp z#q1AdfJKms7!&NtWdE)SU_w}HGC=_LRc?r*EEmHm_J2wNgVaqC=zD5tDxm>BOoZ6B z9CHdw=4_A%{NgH_{LlG^(7iW-$$VA#b?5I*VbVb@Y(js8j-J~KH9Q5Zb^xRpZI>+CkqW; z55e~(er^*0oT~NMJRFuh16DFKkc`mbqG-5(Oaa=?Z~k}#fS7O>(g<$;eFKy-Ta25& z`~t5A-Q%)<|5ySHFPO5Z`DI zjelu0AjLr#3Sn;KNCOGz`3tH5O+1;Fp?sYC0s!`~8JKtLLXqGFp4;x2_gjoHJ_M-sEmT-EzLJfpPML1e8F+t$1iWO*nYl$vf^%gr_{p9yAd} zeZeaRgGYVc3O!j|TMM7i0M5-e<7AHoutbMn^mHFX?l3Pq+9rTr9OtaxQ#l2QX0vVm t+;~GDGH|lFSbQ+$kRkZAQ^>i>`WF{l);Q+{c_sh=002ovPDHLkV1i;s(hvXu delta 988 zcmV<210(#L2(1W^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lc8G_uCKs z000A!Nkl&ubG=5XWDkD>-;*qy7OV9{debb14cvtSK!$tUq4eE(>1FmgqI^ zBE6J^;ARO3VoTrRNxLN(_T;4pZ|X`~-pPN#yEnmGotG+z`+sJ0^VET41M|tuym>p{ z_ZT~||7%k-$In?3IRE!U2UO3R<^n6%NZ>*}2pV>k1{MRfrHBNkl|N|3T?!Znzz_+M zV0Q7taR|7p!dd?UpkA@CK_ zaRf6Dcpd_8zd|yuwvjKQu7KO$AZw!E_wq%&Hq8~N%tI&wKk)1M5IrFPEp>$7TyJWC zHSy*U{TxJ7AW+Ze5a{O|KnSrNn_uz^wILeF2!>*a$$!kxd4PqG@CXC!h>`EjODYYZu^LZCkhh^Q|9*|K3;2+Up* zaZ!e;N`G01Lg3sSEp*3=Qzcscu!nJ3Sh566&QuMU)Ti-2mwOY3wMCHY_a{m6 z@*CtTVt9e~wq1GMl;S z!6pH8q9|kCj?5^4*J@VjR`nfy$-v1r`276|mke%9x`mur-hKfWTh=&+M3;^L0000< KMNUMnLSTZ&yUcw6 diff --git a/graphics/pokemon/cranidos/icon.png b/graphics/pokemon/cranidos/icon.png index 0eb1721c63bcb7d8c088537007983d2ff66d8226..49b6fcc4b4c6cdd9c697d1429dc737b2cdc8697a 100644 GIT binary patch delta 225 zcmV<703QF~0=WW^V1L9(L_t(IjpdR(3c^4TMstHD+GokwJBSDHFkWT_QAlUwWo#6N zc!sQfTuoyk8CQwfpUPG;u+3v;=VN$D^4BFy4A4II0WdcUAJiJI=z*5X8oYl55uLQ{ z_%d-IDj;KV?!d!#lsI2FposQ3F;D7dgi;%@n<)Snsn$o+&stQtlq;qBHT7sblf`c9 zqUULPgTjTqr;@WNO{0tOl6x0kB` z006^DL_t(I%jJ@>3c@fDhVurYx;OOPJ;Vp_VSJegqR`F7mvK=z>N7O%HQL2NdPb>D z(#chNkmchp_j7zg{B=p&2k0J$0GR7V2r2_t3_wFg1;Ia(h<{GTb$ppT5ap1vJh$NC zItrXGJkUgYoY*I|Gg9jfxXl!Si_+_(?Pf|`s+HE=nrbwjseHHf(X%AELGHue6UFHi zvM#OU1`V1rjBjh(sOTsxq6>VG6@#on2;==|g(-W&M1H)5>G{Dw`|$!l{F>I2XGpaG P00008qTjc_by>|*ScMMRf@&` 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 O002ovPDHK)LSTYRIW#>0 delta 671 zcmV;Q0$}}*280HXB#}W-e*gz`Nliru=LQD?2MmyLLID5(0%u7?K~zY`<&;5d+b|Tz zO)$MLH1|X#`y3`b!2}6d@2CI!zrUOW!9TS+$AD4)2rzzq3~&;}rxX$^e?g{^7wGi^LZ-vO z3k%k1Uh7NHYU9;As&GdYL5x7p$7o0S^&HjVf>tPLQefbK`JFD zT|W>@TyF-Ew}+|AY|w8NK#9{<0hH(-0hT@!)By^j77H0rHEZj@0MxP#fTWmQwphqO zClgN(Ye9h4?Ep)Pf4MrZc1}1yKd_KmfCH7zCC`;w&YCe%&aw*NN-3Eyn}Fc)Vs6Gb z!TP0?dDIMA%EcGsa#8^@Y6dOkx7B@q4-XwB7UWN5GkT<`?DK0Ir(4DYz0Ye<#Ju&Hb$dG6@xcp+MCU zt-mYper)TZMfG;2N>-+f_hq^HwcX8BbwEdP#yK~Aas+-~H-H!e;n>n{=P%3q8lVoK zct_^hY;*axysH5LpIr#T%x%6H#EbR%nr1c#fEU{;M%d-T>Ei1q2pN3@(0Z(lrosZT zkrMzb+aqNAf9O-0=o@Tm91BRa1!A^~Uf@K@O=#xA4zIKY4lLlNIf$o|B9&Oz@9hxr z9zY4a1IZE{3#{u0(?Q4s08a{RqjiCwD|;6Rn4q~0i)oyc!B2A<>s3y1Rm;qGq6-M4 zz!F#WUnZ@G;4({!I5VZq}6b4}5z=uKV(4kDZK{C_H0|Q(m_o&3+ z!E7v+U~joaDh49OmeN=ij(D}exVEQmQN8)`Ka3wALJwUK?Qs_EZ&BfEx0hk!a0nxK zA0=*|S?xcEnPv1hf)y#~coGQP+DynqS(>8BwyB(4-&pbj)PJ@qrLM{I=~8Y54EmnD zv!Tu_`x4;a{gKuR%GWi)yZf=HN&{>Osr!$H=uW$DQBBhnf_H8@f)H|Pw+@8!x)_8W zb62R~+)l+{f{uUL!c6${j4u6L*g7;D4_L)`wbC`I> zej`{D%7&9fc&$x@jEtu#8rL?Rlj|E#UVyD_TI*}_e7Y1{0fV_G@4T<_a(xMi@9xMd z4aMt{5bgcgF>L_0gfiVnO-yUtx9GaAsT8f7jwFO!nymxjyrR7{L+%PCoSTsjW#KMo zPu6^7{*3_&{9=>_Gf@Z>`j6`YV62D$j2-d<#uK!F@dV9alrJa%V+Ac>JV7%U*aTrA zW-v~W{f#jgn8APpV|@@JCkdVp+J`>yxruz({>TTYKl}Irk3r;-<;pF&00000NkvXX Hu0mjf^--Qn diff --git a/graphics/pokemon/cresselia/anim_front.png b/graphics/pokemon/cresselia/anim_front.png index 992481ce573137798108222132143fe06406b04d..23e1a2ab93f041c7fd27018592b6dc270c711764 100644 GIT binary patch delta 1330 zcmV-21OJ7{^CjET{=5M=lZw$YZ@&hc6-7_ybs8 zl`d>Ngae0jM3|LKnyAodUAnM0SDEE3Wyu9n*>_v!BZxEyD;MTc9C(GeB3<+eQskML zm9#I?Dv&CfYFE$C|L2*Roq7I7=%0;DZUvxdxku?lQLCjBrGLGhwe%c&gcMSNBSLDc zfOLucDqy`%$l<>Rj#6@D^m=*`jUq_})b2S~SiTZl7AujoDl3=ifWnx$n+B{gc6}HF zR7&aeIaf1UPwi-t^wf1-L1c1yeZwI?+2Lub)D`0dopae@N~>owSGe^c9;)@aDMWyu_z*wFPkphBFn?i@h)5z6iE zY10g+)+J+tcpd;^DKrfS0x}*06o`-HV-w0B%A{n-74dh@&hA z+z6oifdG#$0M_+~F$b85B+!ja0s!KTMTV<6@G1$Ymw!?KitJkM>rgyHo_PbF;c5y% z30D!|*t>%afq=*m77&0}K*mg<8x?>O{_>!R)>MGS1bB^}H&9!1ft!dxhH$_u%O4dk zP>l#=iVg?v@GRbl#F5gv5QO)>urQ9wKQx;!Jt@NT<5(PRIhJ)U0H@zQ$Ax%YVK08P zF1I=GrhkFAN87^7aN z9RfNi>(CY)a{s>1Ff0N5X0Vxr!c3<}TkyW2`!-|try^|#=)iSmi`U#IK86bsb`s9+ zEQivg_H=VUm`tjSpY47KKsdVhxX| z?SIR3LV?RXJqxtngH)gdtv6MI1E~_+q^tx|b0|mkbQhDUtp~k1)RQ9$Mo|DNg?2|z zl0eh?o&#!Abj*t+(X`r7Ww{yj)Qd!huGNMjwyf!hODNsTZzaG)M@&e-^?D6WeoHo0 zmIU%fiyRPA362#@7RFfv>pbjej``WNL&w{Z%6s={#;10?gJ9K9+zBIU+@5 z^4y61rhO5_K_Uv2j$n#kZ)!ELEtJX}5kSFU7Quu(cKI%FixdO+1%-1Omd**O3xEu6 zuHiqY`+Vx&#sTQsdH;{u%VJ=E90pF}0GoOcks}E-&+_|sX@GIIe(a6sK;nxrZhs;G zOV;=c0E1bP$r{hTkrqR~Ettd^Hz{B-mX)A(1TbD!0sxP{7&f-2dETZ18X}(_Rqg|0PIZR4d?(b+!=7 od`WPg=Sb_hYy2;lhyTapZ#FfxO$|a2MF0Q*07*qoM6N<$g07`y>Hq)$ delta 1362 zcmV-Y1+Dsk3!n>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LcEL88X)V z000F8NklKs}qI1|T?m)(|D%^wg)KIV|%p)91VYs$z9 zz0?O!oMR4&nv)S5yP{j@DcR`QKf&~}AmDxH(0 z_wjpge!O{KBlOS4N_GjLXxY_tqM%jMiLJezwe%Q!gyd6!8X=WsK)Q?EGGM(*$l<>R zYAG>R^lEw%jRHvp)RQyr;qjH&w%8U)%d&Kl4k(OucGG}0#;y+M0F_c2K4&Y2`P_~t zNsnFErSi1p^nVS9{A5R`sZv*rIy`^4Q-kndbq=)|pdP!gE$h;CuX%z*=My-}YCGXl ztH)rrIKcsg^$P5@zp3qnIU3S#SuzGEHgtUks9-9d!FfrxO6 z<^V5`jBX@CH&$8XFAtJ1LkDcm0ngF%2C6x8aNUhZ;DA@`hNs-REXQlJ;Bep$PwkDl z$}rCb;eWl)FSMiL56$K)Pdef8aiTaK%Q_Q)(?2=G`DE?A{L#92%7Hfx{B$%<00swI z!bR^pZ#bIF0U27YSga#}H|8tf_a||rS0sn+Hj`=g8UXm-Boe1b%Y+mSLjnV8ztwf$ zyPFaj<|td_&}f+g7#67w686%!p&^6!fD3vpvrr4o4Zoh%A+G;LwJ?@0XbEgM%^ZwObLOjWP~3p~(IFKEtpC z@XcWP*(!IO9yQ^8L-%dQ>`ngMON&TR3T{lv#`A;L~V?M`DTJ!*%W`@v*VX1uoh z5q|*T_}=3_ljG5wT`4aCzzIiMscjTvoJaq`u}ol~&Cj#TM9P=hB??2UrAL9*dyuYT zp!KdU0}hsnl%+sw45e00S1~J<^`JLLdUE^@DF{HN(C%nG2{f(mIiNO0$2_ku09ue` zu^IH#^F)Lbs|87HTj8iDfQxS>z(hw(xPO4_^$ME&wrr{_3FHiu91v0p%8Dgo--Er@8&RG{87rKk~*iAaP=h>lnb2IsO8`V47qy$J1}5#E@?b zCUMF|ikE*h1+^`J@nb0f@EHg0-anE8LiH`FF+d+cg!Te;Kad*38|4+Zv!L{zZigCU z@Z`3>=z>27jll&1G`OE9lS!iVN`ICk1j0Ltq4W9rYO=B%gSCVQK=j>t4;j{aSz?9| zDLszNT{cR;-Kv(1wh4I--+>d_iC!}q=z|mlLJ^A6bR6F=_YBHr*9@3V8~+X$3>Jk8 zjN=#v>jYvA+N@)vXK$glJUlILK01ND<23Tf_NxR0z&(xttw28X8a(A^x=Rj#@8e=< z7oS1kQ2C&MveCKzxyRVx=3u71z|Q|ANMMxbjdi*Z%4|t+j>kyrxoiBF=>ItW1~xUd UO_Yu0bpQYW07*qoM6N<$f)fXXK>z>% diff --git a/graphics/pokemon/cresselia/back.png b/graphics/pokemon/cresselia/back.png index 582fc4868bc2fb2721d06ae27a9f425bac6178f9..2d086a65fe5229af7818ce83105ab6d031878ddc 100644 GIT binary patch delta 429 zcmV;e0aE^l1eOGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dGk}K~zY` z)zm#|!!Q&FaN7q6PSF93aM}*dP<(<4d2GOL)vlpS<^)>z1R+=I-fRj1<1xNLJa(_X zD3my~%dMgZQg3S8X z?nKTRGzVdQ?=mjHIb#b-??^(v00008NkvXXu0mjf>X)^{ delta 416 zcmV;R0bl->1cwBWB#}W-e*gz`Nliru=LQD?2qMcrQvm<~0cuG^K~zY`)zm#s!!Q&8 z;3fyCQse_zRtgMsKsf=HGg2u5!&R1AX>G>O`b0 z$*1?{yo^Tw^O_* zAV~iR&KHpy4Y*t_!ZjLDuU8RJ8nC8u(7ZoIfxKvz!7*4ceSV{%E^U?5hb9E(u8rm~ z1a2MpkS`ewhTK*8Dys|xGY|A#g@DZ=r4Si(7PHoZN}mdc4r|`GZW6iRP#=W%z0Yw5 z_L(?P20t1DT06`;e-3Yl20lblfnw-?LKN4~ziLq1zRSHRCdcHU)VAa9v(VybL&i#9 z9Z#7(cVHA2eCo%{1Ys1)pwzv2o-)RO8ZC${md&t>?5+iy2pBMMKtQ@T;48BH3TfgB z0pmRaTn1Gm8Nze&0m5Al9~3_@bsHXF7b{W< znk5b`iFOTKL4gGK20THa$OA;W@CI~;DEBBL%FUHjT%LikHzz@MoIXA$n0#noS`+SWOaSbL(>D^L?BaUY7A!%1HErk7LJvm0R&Una-L3612~wG zmuZ)QHwGPhXnzxgPGX2Z);e_TSFB@g^zOT(%V0`vymA;Q@+xoSfFpkCP zSZQq|R8O!JG|$!41ZXtYXbmBn-lMYIU4{P@MUi9f?`w&D*XdD59rcfn0Ah3?0OHl_ zYCnKHxqrFd0to&vhYg_sfH?SK3m~548o#OGf^GOBja>|5`GT>*)Me1VaR5NzbU*^_ zH-J&&hyr{;=x>OxD~t|^4pT4~z^E}g=x8;9ybWNi5IQIUAE5OHFi<*}f6k$90~l>O z=qO7EWD6K=I_OxufIrdzMw<@6U?0LQU?6lL=1T?#Xukmrj1KHW*fob!h|oy~#vn`~ z*Si_^?KZ-IJMe&dY2aJ><+x$X50o*!pC5!c^21^3FPwoRP8sV&A^-pY07*qoM6N<$ Ef`b=GC;$Ke delta 747 zcmVv5wO~5I}t^krHVaLq%b4Y@bfL&fx=WR*_QBm~3cCWDjr!1rppJ z@CAV)9}p?w59kh2`Y0kw=SnIr-@xo{XyRS>kupUTX`Xh*o_}5M^So0WW1LaXqdaf} zj|P+qkvj>Jrm4WlT|gg!fg)T>Jbsy`&&uK0wZwyS1csmAmLdxrz&I7d57(uu#;cE5 zet4|_dyR9cfH$AY(cE4mDg8_c0I^uvYed4t=-co z1`)JrZdjyxuzxoZij1lnqqzeh|JxL$<4uqdlNpYjWi!XXL#o2h!38h_K;qlSL8b}j zp8!OTc_om5iuXSpU4}EF^R)vYl#x4t`=}%=X3Q>=DvH|5E#Y-~dx*wjQ&Ndm;gJhQQQ%bc#aGRD#44u-4$* z^d47L(SP~DjN^FL2@u}(IX%TGPH_^D;}j6T+1A|x^7Qs*FCg}dIWmTV0^;zCy@2?F z0XX!58^6dBm&0hkpmaEM0T3tx1;TCzUI>8^jK;1g=ocROgZXW3vjY#J3;`t=jm-{v zAji0_5sZz+4l2|KY~2Wk)eaV43ao1cqiqL0sbuZI+Y3h94tiQI@Ij1VwCw-^eG%>j z!(s<~p>%)@j9}R8KwpG?bvQYXoOYl9t_r#C&1j&-GoE dPyTS6@eiDVBToAa_sjqQ002ovPDHLkV1kn?RFD7w diff --git a/graphics/pokemon/croagunk/back.png b/graphics/pokemon/croagunk/back.png index 42f1f1998da2c0b37f3363c5e28a8dd4a4993049..c37d569849de01b666174d7db8a59fb7761a1916 100644 GIT binary patch delta 441 zcmV;q0Y?6o1fm3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eeYAK~zY` z?bESN!!QsA;K(n4&Wb8^L5>C4stUO;KzocV71;oZ40!+~9)^w`JF>D>V)M+@RAT4@ zz`z>pq-pKMapp?=Lo?i`^PQUn|2fqZMNvNZxT7A5E6RB>6BF*L6M#@4016={%mE^( zqlBXc`91)ciK+91LqaisZ=W$X0ARvABe;P%f;uDNz7aH-dq)7cd1k&56nN&8V_?^Mm2yo%zA40eB0nm~ROMmVN*WdkfMA+`lCZSr4E+BS7Qtj(QsWv>Mp; zGdjq0p1MF>)sKWyyTNaq9pVBci}NydlMov_rujafRS&cQ0h(KXf_gxCOp3_uOBxwK zH;J>f0d|SbV=Y?XvZ`#8hw_;!U=9%-N7yF%cOBb%5_85~o=e6Nr(Gc5Ny&%}0&9u< zeyxFZ#^_7m|9Ms4e5?ZvQuCtfXd~r3AQy-O<^YOpq*S*U;Wbd>9*zlb)r|Y^jJW{f jMgyXS{Z5>4g5VDn8RX|-<@RLq00000NkvXXu0mjfy(Pt( delta 431 zcmV;g0Z{&;1eOGlB#}W-e*gz`Nliru=LQD?2{lpo=Z63Q0eMM8K~zY`?bWeP!!QsA z;K(n4&Wb8^say-PRTXkyfc6+!DzX6*8S(%~JPaK>c4TF%#O9f)uEfv>fPppG32o!V zz0M$RNQV1#{?AI)DEhBoT18QmFF8EWkJUMsvY4om4D}g6tPlW|e^Mh60Dah&6@d}# zV+UZO#=#SI6{~6cjA0D`rh;W5>+=)LS(JeZYVlPjCX1$7G1ozobD8xFJcNHNYly zb+;8Qa8`BJ>23MWEU1U*?<1^J_gp6ao~)j6V~iFOaeN4vjn;zsAo7+lH%kY+GY0SO z{(Dt_^}384$U>i+Gg?n0c8b^$!SAuR(%Rl)A1{ChKezbGC1(8jorw@YTsgp;;D6^& Z=o=a2=V4u(W4HhS002ovPDHLkV1kkHzF7bO diff --git a/graphics/pokemon/croagunk/icon.png b/graphics/pokemon/croagunk/icon.png index ff938f9b8c8ce06a1baa49bfe098aaab14aa7442..448ba7e42706002f619171b4729c2725b9ea2095 100644 GIT binary patch delta 167 zcmV;Y09gON0-FMmUO{0tyjE*-(`L z005y$L_t(I%aLawf5d-eBhJOgo#{Ym;y-cD)vvrm9@&g{Z_0Xvk(9hSbFSmzBP5Id zz36Cs^VlAtLR{{Vp3I|ugh1i{j)#J8keu?L|HZ??H~lEy`&jq`)rb85-@QlkvYb4D zKp6$YB*DA@CK#mj@t@)U!@?J+9{N~_mOl9Zlbt>QwL*U25RJ}9g8%>k07*qoM6N<$ Ef*0UkrvLx| diff --git a/graphics/pokemon/crobat/back.png b/graphics/pokemon/crobat/back.png index 6e2438b754eddaf08b154513ff45391e0d86b40d..94bed55fd3d4f23663bd119ec5b5980ec2f3750e 100644 GIT binary patch delta 399 zcmV;A0dW521Nj4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a8gsK~zY` zy_8{!#2^fXD|moL3jI5Vg4dWzFVwQ&^*8EjTXoDpVTD4c`6llrBn}S`jQzNBBNIQm zap7?90yCPffu=K~jIH~Ary2oVCVLDDVhRx!6 zpf&LFjO+F|TXiDKPXmw_VBSYY<9IWGX#j9315M+0y4KlT?EeKO#bub*8z8pTKRFD3 to&nMl4sxa6D=ue(&1Z9Z8ooKh@C$34S)^aVM1TMQ002ovPDHLkV1m9tv627) delta 382 zcmV-^0fGMc1LgyeB#}W-e*gz`Nliru=LQD?3kW-@$rJzp0ZBnsE-EVRtSyzhKiP4n!4s>iicOnj@xg~PQ9bU0QO z1Y%u5V_ks~pkflRfZ-Gd4gk)=^aR)yjC$fx{{p~MkB^EFUEQPTe>Mg{1~_V{0n#92 z(jrr)`~rwGsW?pJtrlU;q3lwwiAL^HhO73)#2v^oz}R1>ncoW=F5_V`cNqcSsZ7J- z)+fM}&FJIOHwxPuAOhgqu&8_jBL=|C#SyJ%5$z=|AOa4&$3Z0x^j%*_!tDf^N$pv; z!4cn6(92ccTO^SPbnvCoBPmQ-hn)MwNyX$nCVLLg<8)!!EXD(+g_kjI%Ij=(M21&s z(Jw%^Dn?_Q7+@>_a47>vXsUGQ&mk^lez diff --git a/graphics/pokemon/croconaw/back.png b/graphics/pokemon/croconaw/back.png index 04010d15cf42eaf74c6cba6cd19e081f71444ff8..a4ade532d741b665570d3cb46b458b352c84f226 100644 GIT binary patch delta 598 zcmV-c0;&D11-=E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vAa{K~zY` z&DFna+dvct@Drk*E#kKSM#?!>V~9&Y`U8Y~yCEQ@Luo;vrw*PB3H=95)HPdZr~V23 z2LherMc^%$p?ljqoqpWubaK1(4O+e*KRw=^ZS=pDifah3)U`qVw90W$N zTsowzpnpo+_eoVIK>h}V7@Gh(Vfm2@5DkDM;B{dHVVT3nRc}5@$V(olINSDvjcAZy zoI%zDF0Wky=C?Sz0Uf*+13+^6<(vB{|DboMK#K3ayKtp}(RBrX0Drz^Pi;`U0SV^M zjn)C04$Q=mbb;G|dF;+(c;8*;E2jZpi@O-!bbvGQ>K=GUi#YnN0L$@wQiC0(6hEn8 z>anA)0p<0p1N;`OOYl^vOV9xQsm{nQOAssIUIpws6@oOR2HNWcu;BS)Cuc1hknmi) zmQD?#=mFEmGcEUj1V|(H@nhVVmmuN;?j!A1+kBA>yyN5TFY|3FMy)IN6pEb2ke9-C zSIVA9C~^j}Jil6@QyK8zo);qDvr(AXMl%`k77GE2dL3_P@|1}N(i;W9NeyUqW^f^2 zTNi#bpgQ$*qkuKVRo)Jf$Zy!uw(6@VotM3qa$3y9-B#}W-e*gz`Nliru=LQD?3>J>(Vz2-J0uM<m&Lcf5Cx@HUQ)Q`|F5a=8)0&lqt z*^}Jq^zU>!IYWoOLCgE;-Q(V~Y#9Gp46HrCbgX^A8TB9G;M4vRe`CDtFEPcu#HbGt z*BG4k9YM(G4W8(`WWZf&0KX+O2V|tZC6lli6Hn8CV-0%2l;A@STrF5GEs}@Z-KB{! zDMAOxYk-H44j4x)e_#UyJ>UR%oN0lV=i!^*nIA^v9Z$z7*>r=oC=el(K+*xuFKq$l z*C@FH6?_m4Ky>``f4BWT{i;?dK#Xqw*l?kM;bj2;{kUdNrBSm25#rCaQUR(8%!ClN zfn9-lXwO6V(!S33Rt0`#Hz9m%0c-4(HPDu3VemYWSK7g(1Y1fedXT}?VWTbq-rnv!-Q;5E%lG7oJPjeug=zcpug(*B29h+r@Qvdp z;NPCNBEMs;FtG_{O~6Ym1jx$k_%v&F87UyXk^mf)fEF`@vq;+5zZEE^9^qNvE% zO+?KTwzQ6NJoOs$GFOc}&1Pb`4IQ8v;?bN%xTSJrtzn(eJz&uWxBI~4AO2mx0Cmm1 U`?)6YTmS$707*qoM6N<$g7^v&i~s-t diff --git a/graphics/pokemon/croconaw/icon.png b/graphics/pokemon/croconaw/icon.png index 29e71d9ec8b188eb2d57d171ef60fdd642c10413..29cd1f4503e0ba7cc9a3bc8372bae77cd204a4c4 100644 GIT binary patch delta 277 zcmV+w0qXvg1MC8jV1M^XL_t(Ijn$H|Zo)7ShW!TjFkQ<8Y!y?yp)N>FmHJ+NfQ)4d z)7e=%`s%5jNI-&2jdRc;`0Sx#s#9>B}=~L=AALQWckj{q;z^2?M1YXO}6qM_A z2AoO36QUOc0@k>Fj^KEQt6u&&-q))gasXh*<3zY*=wT^D4SY4d1pbL|P$vU+IR*c0@!LK6cjeCPskFSdI>Eu59>GH}~w zcMf$rE6xIcpfbb2;Vgz??CK~fmcL-VsR;YMM^N#G((>c?O{0t_$F;_A2n z008$%L_t(I%hi&xPQx$|hW!TjFsv}O-B71^t5_;^Lh5_<0W!iArn9p!`tSr(lSXPY z5$7mF>az#b3Bhgtbk?uC`;_|4f*gEy>ATASJeP-rz*G5=f`4+e$$&E{ctrGqK)@Pb zwhLK7QQc-IBuK}`2{S~@GoW#G2W_8jW$5ZtN1SpQiV zCxsc%>}FD!UN+Aci7>wZHb@HNd2D_bCR{0uSP7hkN&Og4%ghhptNr)_*67{+ZU0(3 P00000NkvXXu0mjf6ONG& diff --git a/graphics/pokemon/crustle/anim_front.png b/graphics/pokemon/crustle/anim_front.png index d75ef5f666b697b378d447c985d5ae16ee402721..8ff103bcf8e01f0a6299fe855bc60922ca557460 100644 GIT binary patch delta 1076 zcmV-41k3xO34{rdUw;G-Nklb(vi_e203U7k?f~>WZ?uWnf!+vTNPKd4?0=po*W>&CIst$#e0%Dv zLx3>PQ|ToGBXEMo?~OcTk>~Y#fA2iT7uwE*xHAoq346rhtp z?T>0e`BjqLW}O6}*8noau9?)aMJ*xln-IG)VXuxXD;a1)0?;uPCeVa0a`=t6S0}Q% zKCkF7noiLI~o%6}FrzN;ZFlaWhC$>&` zMzTe*C`uf;biM|>XW=`3P8ZVQ(0PJiWT}9%s!GTaSp13QkhQ$w$&k2QN2oBSlN0h= zjt^J5IE42+nemJ>9RX+3@H{4jP_$I67kPx$JU*O`4q6xRQkU+`vd;1{bPfz0@*5%tpeF9kbj{- zihtQxO(!_(3Ir9wk4+y8Q9mfa2#kC5)eD-Pf)*KPQa?0>MtMLlDHYm6ij42^_GcXh zvbPfVJ!%UWqR1G&rbZqZ1+oJ7fYNW?GMKy>XJ@Z!Kr0Y&aURh5gz#)aP8h8!s&W{C zQQ=+e%=zRA&!0azxx!J^1xlz&ln1lJ1%GFU{7O9i&Ag>RLpaxSTcmK>$vQ+CU17Gbte4wtgs`Q~;y>Ht_6u=o6L?#0{vXmwcX8Z?)WeIr6kd$(Oq61m#N}yo|x3;D% z0U}T>yc#_i>YnT!nq*D7v|Djdhch5TFyJBlU;6HgM@n+W7Jmiw3|S!GkMHq5?E6{P z|1%Im_ioSLLC6V$gL}88odfs*;=%UXP9UC#&;18m(vX5rAisJ9;t>S0y`_a^?M#`e2$Iudo*bOOuhanTdL_rnWCF>-qz9;n zc_;vF0EvoI045Wpr$N5uVPfL+(L@sx_#)}Y>6Zfz=zn+Y17egvpn(y z1aYE)wf!cRj{|3NQ})K$0%$8Bw)K5A&)b3TIdCF?!6a3{+H&a%NCQ^X-wA3zM&X(M z@;A8m?(59^>U}0I=AuO07T|F)D(Q6eEhd+*;HnQi zT){0m`jak3zfXT@ZupfOg{}sg(7hq^V*LD^jh{cOkq-n#W)S;)=!6xxSX7IuhAW@U zH-L{c{=m-3LL^)=&)^F$B~Uj_jYq$oPLgJKcU}K|cxH8nXST!?t#@GmxEu>Va=p9z2H8pw=X62jd=NXCzF`qQ3)?63HF4{m{mAQ{8AMC*Yz zkQMTe2>I?kMdNp)V)mv5l!5Sr^N7sHn12;xd`3yr5ZOZuMgwQDJ7?pktbFVYG*OF!5_F_5FrpT!^R)r9L-`&`U9?{1xm%V z;}3j4q?Yyv@k(A?bo@aU!FuIuAJ-rdU4Q5Y*u%b?uKPn5fQ)y$KZtflNIoGE|7!dL Xqh30ey!&j@00000NkvXXu0mjfmKFX^ diff --git a/graphics/pokemon/crustle/back.png b/graphics/pokemon/crustle/back.png index 0b5eba586b01a2273be988dd58ce896b3c336c7d..ae0f231846e2376eee86a15482311a8d9d143bf7 100644 GIT binary patch delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?Uc<@K?9C_Ahp9w>5uI z2V$)|eg`Zh+VunRu@1wh_44na_p_U=K;mb@0^Buz2~IIe&}8ibISf0J8M7ZAEE6_H zAzRi}00S`DCG2jhKp`c6hvgrKIM~Itz`Ug#Ai(F6cTfN?^@dGwjuTeD20~Ge0su-S zmt+yhd<+5aQ!&^ArBNAxCIW#&)l32x3`@X2yp6wS+z1$aqI!r$16ad+Ft=U0%irsCpW%)70^1HSSNl5 mJiQgb4T0x(^RJ&5$e1tHpvI`vQ=SO`00001eOGlB#}W-e*gz`Nliru=LQD?4J9ZnGUosQ0eMM8K~zY`?Uc<V0CM1|MGVnx0$BDXFFm$ZNxpW zA<;=*|6As|6iK{q86|tjp3uGC}^8j-ke;ynYE~=0#^D2M> z9Ni+TJ650!G>79KOYGdz0rQ%2fC8TjK?ek_R~ErJ4p`$BkfJ;Z0MG+Di$c@K5C|a^ zgDp@tDg)3c5O_43sg1D;Bq^|NtB$imYJ*Siyuu7n_W3d~YAF!!O%-Hp+M9SO6MNvg zSq)I#Xlf?8@FW0?e}H7?X>T7pfah)lcnhd0!a4w`0`mw!t*!z17Bbo?tQrmiSfnX4 zgbauoAoe@?3s8g@xRh`UD1!WDJz7_2ZN0w%gx4XUZ^PUGn4VV|f~hM4FZuYOwigMw zY&1)OLl4YmE2WBk514(t0`#r@6@VjPHh><9|F(s)4%=9 Zz5vyr#;BudvIhVF002ovPDHLkV1lIPwnP8` diff --git a/graphics/pokemon/cryogonal/anim_front.png b/graphics/pokemon/cryogonal/anim_front.png index 17a69e3a46a2a10d8a926bd4b21552e6cca2f2dc..52361173111d1f5306a39d42b932f222318479a8 100644 GIT binary patch delta 1229 zcmV;;1Ty=*3Y-d%Uw;IrNklP@T+>BF%9B@bt1CL7c ztZq7|4O$+!|JmRq0rfJp}j!pM+)p%kbE)&psSHVC_Nr>2XT~pY5 z_j0@Q$$uBXGsJ5G#Qp5Yc2(K=guw_D;`)5M2fS;_>J^4UP=vqC?KcGAb*(9biI_2i zIb_S5g`F#;B-WZa;FT1pK0u3CP~O}qnC85F-~m(&l|}mXW=p&KM+6)gr?voA2zUl+ zMD78c)0aGwt1k~WY};06J%Gw7_c~@ucRWD-1Am@)ekchbq4is8%Fs{h3$IHs>m1Ch zx@8qW;k7-{Q)&+|_}qd+?eKDgUZT1p12?-pm*}??@C7HO&DrJ~{Qj~`J*Rkn9vie2 z@JGnOYjn@+vhB9QL87gD6d>VEY#0Mvv}h!YS3|E+2#5xdsM`_8M1_f|pGb-v zD5)?Yb-zt-TaE#O?;c!2#M$^#}y z6eNivj@3Jf@>L`X-X>Ab@Mek9?qqJ3DDBQI5@q>pAW_&DARtkqtuK`*bOwec%C~gt z4JFFR87OJu-1JG55t9h;OB6PuVn!&aU!pJ;6e*rK@Jo~s(3KZ{i83AtNEDGn_hsnX r16XKF_auS1P7o+VV1f;nxWWDfyN1K>M1HZ&00000NkvXXu0mjfjORiN delta 1262 zcmVy-yoS6u`%^L<%>VHCmy&YM;>(sO){%6x^Z1UM!TF)g@H^(#Tw( zLAtYiU4nI4QC@VQO?M#zv6Xd5G`Ks7#+xcqntT+8l#c)5-hZrZylWdHh0|3`v6!9T zzJ0UvX6DD(K#M$J@;eiFEeJb&ojbCCw)eo0u*S9cJvfHX}) zqLQK>?)-Wz3FOshpdt2vHPAA4N-b)RTX%^Nz^jcwVWqP$S+Y}#zTqC%9Z3M63Ig-M z^V_>cMSpZ$`;mymiNPmrr4Ja~T-bJ>DZ06DSx5EXzw`c1sW!(eAZ3~hHTO?tv--2O z?(8Q#&wo3~*(c|x`i-uY(xb0C1<5HAUk z_m@7kD(co}3`d|4m#3Ru;C(~UFK{3PMfgi>z9j%Js|^JNVn&2>SSoGgw=R&9SZ!p1 zms6kzi&872vay~QV%FL70h$b*MSAni7PfZ}2!GhKjvWas6Yw1Lh|&c(r!RS+R9@|^ zJC37I`v6U+(yf>Y)Aa%U4|wADLs0?=qgPTBmU&d0dsBpIcW+iVZ95MtukOg2(z}4g zXXacghga(~h|018Ty$zK(JLw7b8gC*al~8v{=7srr~3UoepOPyA0Y?PYU84JN`+mO zfPdCo8ELsOOwyXcj}*asSERC*wHxnEN7TpjTtzG+3OrR;?Ht|tq5q{Nzq%YhL#EB)VsdoZ85OBJ>Osf+f1os%wzj;IXDLSQohDDG-JPbTMz_Xu(s?OVT zu4y0ZeT5!iP=cpX1GE||rhi+~=}RV(t#&lDXG`EWh8qs$s4MiS1cEh3 z_>|6~nJn!OpsIq!nk-b4Q3a-+Hrezcbav~)&{iHblvbO~l{!0%*kQ4=K_b&?-|GaB zM6%^I2ZO|#_b5QZ-?3o?aMq+PSq=^TLLnd)LSkN99usAM*H0v64wTd&5bb=M?tiiz z0ffgMeud28mMwNugm6k<1H^8fAmy&I<}OCQK1G9wh_va2Xd zpH8KK3@M6q6nP()E-NaXEklZeUwpNp_JtG$hZP0?5nC5NaE+oMDT+K+?-b>KQ53vM zQBH8YqO{tX@ru%F-=HXqCs&HX*k=uj5^LU8QRoaDRFrS&)axtC&>0vt zAgCy8$YLmHP*E5QONuWCK}8t=I(iXQl+i#)QDhFC!O*n}FdV4_@_LP+^ntO?Fy0*g Y1-pjB?-e*?Gynhq07*qoM6N<$f`Icv;{X5v diff --git a/graphics/pokemon/cryogonal/back.png b/graphics/pokemon/cryogonal/back.png index 4e3f5fc151a8e39d4326dacaa2951ae2710c942f..8797e491a127b034b01ef4f8aca843c73118a753 100644 GIT binary patch delta 639 zcmV-_0)YM81?L5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zgSbK~zY` z&C@}Tnm`o5@#!}4T!zyJ% zX#=JR?iB$Bc5MXXN-$u5!1Qo^9xH)G5rnaF28v*wRD-v;jw6JL;vhT$=7|an1PGO& z#sLddf~gpS2dZYQ*)u)_3oJWTz(c@>h{EOVBZ8p3y}c*IqHQa=O;da<21Vh~?|X8y zq3uvh)AW&$H#!Z9;1|qpQt$l|9++tII~o-Lz^uC+^c!&C39Sf!mz#vO)!AQMlt3_5IwEHDC@z!}2=u%QdX zaovy!uL#%(_QB2qy?!SWT>;`#5VHVnxgzn*XDonD!~&-4io}l3m}JKh=)z_Jt>ub@ z#sR>`BZx6Tb(z3_5v;EO*$H3)otiR%0L9_QD`;VW%EXSpA=Db@d$4nIFhFHuC;&Bs zEC&lmxA=EF;rFGWlN=2?Xm67n%esat2Z^&%@#%|m3O?mCkSk!M z0xbca$d$r~TrQLX=LKI4D1x6s?=o0B{uQt(CC)(V_*cLt7+nTwzX-G=F!Fzs{2vz~ Ze*t8gNQ0DAr#Aoq002ovPDHLkV1geF8r%Q? delta 630 zcmV-+0*U?S1>6OYB#}W-e*gz`Nliru=LQD?4mO9sAo>6R0zXMaK~zY`&C@Y&+CUV* z@oOS6*A}uACVWLUcmgVUZd!|>p8{-TtW2asOga@a)O2f*BAG3X1?YXs-aDUzZG5nF zs0Rk_$N!$qnUH^fHQMqeil4J@QsB0jXoO)~8qk4~Ss32S0t|o=f3oYnBtU5kW(e*j z0S0y^f=MkHGN8M-{t!ulK@kLzbOwsxA+874xQ-(Pahph|G%+9p!wdvc(BOatYQZcU zf(PnmY*=$X1Pd&?b-+cyh6sb@%@YE@y1lh0#Gs}T-y{hhi=kh+!|!`?wV`I9BuVl_ z$UBw#W$+8;SBd*!e+iFFwD}#4O8{Wr+YSdUIPip02FwHOAK|qH0BcO(Q*|rg&lbLX zWq>CbFro_RZBuUwS>m_KK;eP9)WjV|o-Y#5vvf)7M;R0+_L_sZ=DI#uRd42+&>GssOs~FaWDT2`u_=fF%&D zH(V$JtjGySY`74|((BiN1n=c|Zfn5Iv-R^}-1tb&fl2YjDT2@W4CDeB%Rnas&*Va3 zOwJc7fzyH~2Nc0izkeRAZSMluR1zm3vAqjmJ{1V1LX>L_t(Ijop&53WG2ZhVuq_m|HC5?OYTB4lV`+AI2qt10SMG z2eBD598INzciK(bq0M$5e=e8fQ|iY~j=NGvYIcaC?oa@oGPywp>K*}O=8kI(W+J{s zP*i{&N7AMDr3rS6=-HbJ!mxpK8^M+QaHh)w*fOBG7#Dl>++w00OK{7bCrf0V2TrK0 zgKZ5C;yY9XbXI@|Hd#!nw0BV@xqzG+B?2#`{^h*uFzrx^y7zJ$bkrf7*1>;Nhj3bl j>Yzg}b-+~z`koF?98JI9j=u>J00000NkvXXu0mjfYA0qT delta 274 zcmV+t0qy?50_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0uK|_pvC+E z007KML_t(I%iWSO3d1lAMSTMwMoR*|U6uq48M4G+$YHYBAjl!QbO@h?yWGlbLcuXAv-Pnz;9%7Jo{Q2&xuvOqN(%*C?+K zi(H**!B2+}?=zSteauvEfI|{!t>#VNTpH2M4VdkbHjAWla61J2D zRlpxmK_xaM)Q6Z_KFJHhLn6J2J^u^OcFJ_;j0oiKdLQ52^AGuB zSzWrY*>YNny^*zb14cZs3j-GbZn1z1RUJG_jOht*1abghvL|S zJ!(RKE}k0TFmZvolV|Q7DdmZH;Lvre?;gzMhi8s6pjNEn9_0Bq0}PqE0lws4O`Vxw zp2giL7h?E?Yk$y#ds&!ekDUt^*jI^Cm(C+@1@Kg$RO+?>7$BxUZZcc0fnte11FSrp zEK$dp&}-gb{Yn$9eZ(Z?I>aahngnEv-fF)p;+4V)2?QfdO+8b{0A|5iq0NrS9K$bA zms1^UJsXpNJ=NuSC!8%lmt@_ti_%nLJ?=A*Xt)qgZ(fc37rq*wSeiFv2Hbm{U} z)A_;w;s;W0@Pm9V+x_58zQGT+^L9V5tmn}u;|F}*+EL$)9}IXP&MH4>1u8$-yO{0uL+wqJ3fj00JIKL_t(o!|j&8Z__{&fZfQA zx;kWGqj6Db5CeWKVl?eZ*isf$0e?URmDrF_4>6_4gAExy_{kXykvwRW?4<$@Qx}MpJa_jw=cnwcqt9D?cf87AugTgI_JcIGh_^e78$U=<+eILn z*T3}hF%#Q2njttKq(}U;NTM&XJ!)_F*r0SqXQ(4;?OrRxR@|V zysv3kv)$QEIu21o}o;EgS|C+{U#(dLAQx_&id2W3xf$<$W?> zwY56=Lx|_mngt6IXgKw;==h6q;aCMm^i@Ql8_2P?RzU+CTtk2uNqJ9!b5VT-M+*5i zl5+(6{{dZML{-Ld5v(Y%&75%s7=EyAeL2S`{q?a2g2}^dEAUOQ+Hy%f>pcG%#=ZfM X&yLiyltFg@00008NkvXXu0mjfg|@#X delta 419 zcmV;U0bKr;1d0TZB#}W-e*gz`Nliru=LQD?5D1c=0*(Lx0c}Y{K~zY`?bNYO!cY_j z;7iki(MuafL$3@DgoGX+pcE2FaPSF?GqZ_|7#y0E(E$=iap)TuTuc}w-dDiH?(z(t zma2t&XjcdRp&kA&x3}$S89U^Vec_z%?S#M{065bG)oTV+3J~RVe*~1U0Bj@b&sun> z5P$=Z7icx`Y%6_{bK@jlpn)5uK?y4ZZ0zwgB!CrFypabsA%JD_bR6|A@_=Zjd-FXgKw;=z7aZ;aCO5=&Oi8&zBQzt%4@lxP|~Rmhzqg=c4uswiNPhEEfoN{{yCOYY6E0t-~3BfX=F6MhYn5H@VxjWM%wF-95Nb>F__8Kh;C;>#y|Y&0``D$HcnQ2+n{07*qoM6N<$f(l?%U;qFB delta 235 zcmVc83V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0uUk4Et=v0 z005>*L_t(I%jJ?W4#F@DMRNn+fdizfyhh61I%SC9S{*EN1sawN2#~ULs7SM6XJrEZ z`1ND`d_7}+P4MiD;-RX5PnK4Tl0tzki z5=;?PhgV>|8Ylq&706`d7>bZ5fD~3|2Ld+XKKcuQ1bhqIDJ$S22V&FqmK}hf1J~x) zF2K#7a&v9jp49~m^A^nZTF==l0FeV(%-k7ky|8=^bLca~Kqk?DtUc`#7%krr&6vrzOGOWGIdvHc7=7l`CZJywgm8v`gm2K=Y0ZlJ zd4*7b9SMgnwU#)zmr{mY%HS8MHlfb@qfp+TR6tJrVH&=&83enpl?bXw7ntlX+94ICE1k7vGw9ANccXb%+MAoxTi)z$rwHfchCitqgnPN8rL$K0#haukE79`x$#KjwgoIW^^Z)Pq be`(qaJ<8*qpvZZz00000NkvXXu0mjf>;M}v delta 580 zcmV-K0=xaS1*!#*B#}W-e*gz`Nliru=LQD?5f*Wa4y*tG0u4z-K~zY`?Ulc8n@|wP zU7<)FjhjxMc$CSDtM`H&c>*6*Bri6`Uc6L6ys&3*$4IFV`4gN!phLE%Fx@|w;pYVw>r7e_jFhI{<;Ge_o=P z=j(n)b@b&2L?RSG?us z+OmDC3m6t9nC%J<-)450u!5)NIq zC(gmUkTT>_u784R6KXt>GL;lD4`xmEV|vdEP2STn>G5%|f3brSc?iz$iU%K<(E)^a z)pSOu-PUR%k&oZY2ZQW+c|uGoAeN86%6mU^Pgg~qB0K<7fZRON)3mnmuzxBo&`zBn z19t7;=5qf;CeF4=W7V1Lp{L_t(IjpdTD4uUWkg!=?Ead5ZpH0hr(!rQ>+z+g9dRfPmM zB_)x~6H)44M<M68%tq3M(!5kEg#r9sH41Cz3)#sFD5-2U7ieTI-B4;V8$B7c$6c}Y z5rV+gwz)T^U!i%u>#-N@#oy{1fEnjPU|fa?7!98{6EH*N3ruzg#^WFjP$RMMD-aPz pJ}jRN_?V73A5W{%BGl)6+yFf!f{K_%V>ti-002ovPDHLkV1j?OZ2JHJ delta 280 zcmV+z0q6e50`CHlV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0ueByhKo@E z007cSL_t(I%jJ?W4}vfdh5HL2ad5ZpG-(q?`fp%!V6dD0t6CD>l$1m^pNLwnj7}PF ze7SqC*ZUazu}a&S-~|wg-l@!MI--UWv_r|Yq$8c;XC4b#>3`bDV%gP#HmIgMP(k{v zUR_8?vEYK5rktY(eV0RJOdA$UuTZ%)_HCeju~CJA4VezSAA+27VT05inJz<7-j7=h`wBQU)U22wwO2{@z@aL5hX>9z?5J`9bG_!yfgA1|p9 evoHCak2^gif)R=qd==gR0000uHDj^8&an&MCEv1fjH0=r#cFvC0J%5ar(Fwa_7{{;Cj= z3apAIIE27gBL~bmXcAI?>1TsuM3{qF2oQS);WM&wvNGAf4;(6;Hc1&{OvM%y>=GphdfN@x}ly*~bJiU~fA>JVNn*l^-H;O#z##xdD_W z4FJyKi(YO3MgtC9nS&Dp3?wK8Y&0-HsRS(KF<$t_qn482$2l(7KrEyJF99flXc#D< z8f^iK{|+lMc0BZVL0BCoDXID>8>oQzyhFK3!9t}ZFnEK|wH?G(8ca684=MEcD>c;| zKjlqX5r*KT{+w<8mMua&Sg#fXy6EPzjun5fd0!=KUpFaVc1ppo;$eu6+h=HC4NAU9k z%9FVS6}5hMUQh0KF-Ff5Yt%GDX;A8Rx}8QOkoq3y-fU~`39VClF5U>f(`%pevAcDB z&XuV4ETE_S^_h!If6|~$dyVLg0bKHr38K&6c0lw9qg#Fmqhs>4Z4oVWRklT0>D;~9#`h8r-=MY6!Q-m Q`v3p{07*qoM6N<$g3)r;fdBvi diff --git a/graphics/pokemon/cufant/front.png b/graphics/pokemon/cufant/front.png index 23baf21143cec96cc7e2d3713f3949d2ee582983..d7b267f520c8d32dfdba88030d7d9fa34ce63382 100644 GIT binary patch delta 550 zcmV+>0@?kW1*Qd%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0sl!vK~zY` z?bMNx8-GP-C1pZZOjQ;J!1I~)!aD@sU{`4`RCNF9pn8@Jc#cv`C`8Ujh zf`4fOe(kn@C4huQlmUe$r&i(C%7+(Cx{NRlR{0)q0YTAqewZGza5@IZbH%`>>+sTG zHJ$?RMYru|d0-6uoB`<;^hunYTt0YxK0De+_TMJb6?8ADkPozt+6>4VQIZ}s!z`Fx z9tQR{F&S)U_oQFVR89c1@{Jl-|AHsJ&2y`KYYT&v*IH}z{dyqpQV!62eX1i_BtfVI zy{LA4^*Hvtwt}PV+pM_QGyTW)#!A*$1}AiZb=Qw@pMlftWZv= o3t`051)nGx;+Fhf{G-scKe!iZZ1e%F=pgV`b~#z&)oeas3>|E9K76Nax$``Qu!?0oiK z*HP7~(R<5aX9dj>=73iK<_cmP5r36^G?t;}aI%9KSgKbvYR>5a0TVnXWsTDV>}-CQ z;48U`ts9&Pf1XQVk!!+UrUXf-mt%PH{{mL@Cq4 zNmagH0<;d@>=4k!_6SE9)EQ(8aD@sU{qixOCNC-rOl0us@(&S({0!5eV1Jr`-@5JJ z2_Rt+r9ffHsa3eO^3i3Jt|FWVt9%c*fS~9mKb#-3a5e_VbH%`>oABnrYCHwri*DO5 z^1vAQa|+D2pikoD(PqF698d*QYv?MG}Nc(2Kg*m%vj3 z1A5U(rNiLE_)rB}(`xh*I+oB{6D9a~QH{>V`#e)?;+E8)98dS0onee1CaxebbkQ{NklOo=Kix3)5O2)XV5;J7>KW9-Ju7(Y|8)E?-Qjq*spkzCEY z4zdb4^n@-v1bA8fwvo(%9O3p40G$N(YTSXH>+&^50S747r+=^FCX4Jvh sIfF3iwJ@J^KOdR^E93cb{6{~20Ats;vwA`lQvd(}07*qoM6N<$f-ByMF8}}l delta 312 zcmV-80muH41ET|wbbkN`bV*G`2j>O{0uuu+V2H&4009O`L_t(I%iWT{YQr!PhxG=B z7JDkD56~&l&F#`xFr5l@2aPda@|$Wuqle&0h)_y4qu4l^5>;4kZF%kxa@&1y+`o^p zD-UD*oRT-~fj-$PkMvu~)x7E;tB^xa=)yyQm(_0>$sEWL?tlIO&`Dsg#u?bTE}vr* zaDZZc`YfIvQREJEvEszgn;nt}AI~`oyLp znAW+x2qDrLI5dG+xAzlh(<3sPtxJYvwz%0UT3%JNTa7Ca#=g=Qrc=xlhE~#e!q9`P zJz?lBl5oP{eK7!BpGqgpsDrV624T{rFduV2ngDC#`EmS5KYjpX*SE7$7kGgH0000< KMNUMnLSTZ;7>$bn diff --git a/graphics/pokemon/cursola/back.png b/graphics/pokemon/cursola/back.png index cbc2eb5172d1a3deb74affdc57a6c63cb1042ed0..28d3cdf08834701a515c42e4db6c01e89c664eb6 100644 GIT binary patch delta 623 zcmV-#0+9XA1=j_TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x(HLK~zY` z)s)SS;~)&jL8$l8EDtbgbBD4#z(kw-P-4x4j7Gfv+CV-?vfb;hrG^Usu+1L>`@c;7 zWkL*1J;8fj1Jhd#T*eyUs;_}3)BtnCM-|{6b~TA-^QwdexRm0rqn4+@wWC3@E10g{ zmrDS@0}i6|S9t8UkpS_31E@9ug95O126)PbIY5A?5q7(f;IB7wpto;>Iskc%0hGs0 zKfP6ZozR6-fs++ zSpYf^n+4?y5HP;a0Q7oZiLnP+0MZ}>cw#s+rao{m(czGkumWj+=czbc3D|TrkfE+K zfVxqyCC}8_0wl@VWg;LKk(Zi~{UOQ9_?Q6IeIyCdd{8hOy7CvhH7V56alrzF8)LaS zs0iGk&>|6^F~)CfmZ{UG9Jzt1rx?N)KN11VU`qz7FYVMV{usZ&KW=l+%s`7F;{qhb z3!q3MW`2!k3ji#CJ%K9++1|%B!w$gmr-A%y2`&T8(hJ4r0N;=`d7lAw3Rt+$7v3HK zOI_*KR|g5a2@4Qy#Pibfxjrh^G9=<^fx5STmRwL9z$;YA)xbsvtiloSzVX`~K=(*& zu7y={vyBM*yJvEr{TV3j{<%@=0C=@F%<+K{*4k~$9e`3w$HqQ1V^jJ4iFuxlP_-jppBH?n%NJFz zN?^K{z-26fO7Pd* z;L*Q}0Q4%aMBjr*e?ZV60(fHhW_(5+rf@hxN>~BPoPxuZfJGOkFi_VFpl*EvU}{YQ zNOE?W0uY0UOSO-7PqMOVBtUjgk`RaU67oP(d}6hdLTxxMSO9-xEEY!y0u$tl6Y)9E z^EVdD)G3{gT*K5;A}-mH@Sq2ib_nrNrgpK<^B1_sE!Rv2e_C`oF90c?02w4=`p>Ah z0KifcxN;EfeO!0g0T})?1p69-jX=HBLK@k@H$+W7G9XU@1NYqU<^Y&bm3F;#kibq@ zfZ5D=UP`>yOT`$5#Jmn4s<*tBtd|?WNmR*Rcg?rxfKk{0d~EDy2ZTQ2o3=1gY|@xv z-+MaN*}s8QUhbb8r4E3TYrz~Z7;cQ&mfQizcgQ+U0A7@}Isz3MTX+ND9&6+HvyTo3 z3vYo+S~_)V)B23CKHK5Zi~4L2XLElKUHxM|$bSL)Efuwk(2cbK00004_1cwBWbbkSTNkl{6l zS|UMBS+7L^vZGdueKn0~FWFMpi3TgR_OR>W*zQHs8%)OY?wN$B{XB&2a-8eN0gPK5 zisFncBUp?|dv1!fe8?kwKU;fz$up(%xyd4A4+Rm=Ti^}VE*Dq`*Xc%xMS=bKxf^-& z@;^e3(OiUt(SIiFV!HDU4tNQ9W|0`F)aD$%ga}A_TIQYe1!+^2DUh+;StMfWnK_TZz*t>U1&TPsG3U1nFDLw3>pP?Wz!t{`%S^)Tm0MVA00000NkvXX Hu0mjfW|YK6 delta 429 zcmV;e0aE^l1eXMmbbkN`bV*G`2j>O{0uwdi+8tZ~00DYQL_t(I%hi&xZi6rohW!LR z8LueFmlYM6+fbA~EKh>7RTex$VT}@pt`;r{rgc$=E*lUE{Xn*#UqBP5msc}vS5)Ed- z(6m}{QXGS+e=|}L7lhXOrG?8YB0*(VESCV%nkpp@dEbS((u(R@l$gtbr5Bv zF&K}#BMDKsvGwcYI9H_w=+-zS%{`)wVA3+oxhkpQZ5-kI#hBqG&Xg{fGK!ErB}6=u~fCn3gYOnks-6?SvF<2M}e>f_92Vp1trXa5jpK*DO7 zv(_b~be=7Mz&Yz0Me2~G%UYZ<=lx6rPXdN8rTWebeWnbZKGmd%qz@e0+bdDcN%v#1 z;!szWB5ZQIZt_TVLpka!_{w2Ws+>~9P&0Bq0|Q-t4JJ2G%sni#Zhi1{#>ZIjpZNFy X%S^)TM5Wll00000NkvXXu0mjf*2>3u diff --git a/graphics/pokemon/cutiefly/back.png b/graphics/pokemon/cutiefly/back.png index a40fe3a561b412a8fe3935a73c10bd2c2579182a..c1635aa6eb4168961928b1a8cec020ae44aa28cc 100644 GIT binary patch delta 447 zcmV;w0YLtq1gHd%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f9+GK~zY` z?bEStgD?;PP-k%FI8u|LU1CI+GR3fU!` z4;q4286ihyTcfCjlYZmxsV^z(SAZ-U5z&a(MgAHJR9Sufnxba;b%*y2n(B!Fau55l12$Sb=AFNxTJ9wP)s0W(P zG}6O{0Pw;F?8y{}8COZ{TfpN0=5@GG>z8RCgj~-O##DL>e18OB$S_`-tCaidV}e8n z;4YX4a-ZiVzUhJ*fG|L6ke3r{BRsBOGklbCr9ko41yF)<0W)ZSknfJRDls3NMWXgN zi*!CO(qkb^5kFb8XypP3Cs5@*fqY(+s2_=n=e&)g%#a=UrK%cGm0O3l+jyL^MGp6ndARg2RjshtA6`yJZM+`*^Ze1M?rygrKj8yNrEHOy>W`}JOG<(bj2+4i zQN%s_F3ttdyT%{J0AI+D$>>6!%+3LoKMMxr0vMkF7>^DcH~_B6f6P4Gof`~l^=pXR z3O0asN1bM1ci-24G%C3$=ck9fOGJUZR9Ze}V3M0Gf=FrMXJEuRbOo?*P;V^HA=E zDA7$9)Bv~vQUg&=f2@P>nSRXZQOcD9#akD^7L;-5K?AYt9aU;xIE{JjGaBo>D6+ob zW|JUY(|F|q9!g=C_Z0G?D6PRvRXmF}iZXW$J$k9C22|zNA@q@jK&oB7&8&QCrt{l? zjh9P;LUiGFV$n_?f~LJwcz@4^I!3)T5!aWEw|v-RpBtb1Wz|kFnom% h4C85j{WJfM@dGVKlm8f`sww~g002ovPDHLkV1jwa#%urp diff --git a/graphics/pokemon/cutiefly/front.png b/graphics/pokemon/cutiefly/front.png index 72ad572fb6f6152757ce40de8f3981332319fade..9e575652220355902d5ab1e81814bbfb4a57de8a 100644 GIT binary patch delta 361 zcmV-v0ha#F1JeVLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W3*GK~zY` z?U1of!!Q&@pNCk=R)bQ(m=_!|NBM%rVopoanIJWg4?tmNA!8W(3*Fd|`g1&oF@9b; zA?13pbdT=6HZ1zLQY*hNF!lpih^vc%_%c9Xo_RY&Vv5pU6!TtjR~Q0>Vymi6UV@-0 zh@}&F+~_u#d?!#sP^9U9E-@JadhQ1rf`{E9F{a>vzTd~&+!!0-0`A|3{_VQJoB^76 z7>3U(OPB;1;|&qo{B4-OLVjUNz(+L&)bj?};`1v3x~6=We>!1j0Zi-K`HfQH%arg0 zZpp1$pMNMpGXON|OhQaKKwAG>Ay)y=T3@M%1*jy7)V^hX869p!*A3r5UnRRvc02$f zoe_?HAS7bs0SX9@lAkfsfz~r(v>`r)-iahRLI;Z$F#`AnH1tZKNwCoR00000NkvXX Hu0mjfH4mFr delta 357 zcmV-r0h<2P1I+`FB#}W-e*gz`Nliru=LQD?6f0Dew)g-50We8KK~zY`?Ub=@gD?<= z?Ey<{aU-I3|v{+JsCxFk!Jf9tGZ99sb>oWRRk zHNogRfr16O*4xCS2&kzaC>A_#4~a231$5mm-ektu2p915(Rc6595Mo^2>a00000NkvXXu0mjf D$3mkU diff --git a/graphics/pokemon/cutiefly/icon.png b/graphics/pokemon/cutiefly/icon.png index 1914da3ebc545c0aa76e739ee7883f7f9ddc0ff4..5e25a942da95822c503505c25ae3a635c24c1554 100644 GIT binary patch delta 224 zcmV<603ZL}0=NQ@V1L6&L_t(Ijop$x4gw(%h35uyligwpVk39a#AF*A3d%ji7KZat z*(ia;#Ku{)VPO3!HBQHuna3M=06$gOf*4xR=PnlD(gP+EZE+J4krtwRR#pIH?=6`! zl2*hZ=;8-hw-V z58%Ixx!xDM`jsJiH8#MQYUZX$Nr2rF7^#8G-pX5Yf=2oKj|8OxzLp?hYyzO{0u>3E@5WsK z006;BL_t(I%iWSY4#F@DhJ6Fygbp4e7IGJmkh-vB=-5MaKsjF~7O)x#i3Jl_YNtF# z5Z?01{^Q3F@Kb>`7`X;b$r1(54PYjfHm*4nc_q3N*C~LKQh!HbD#^IoCvZg+#w$8h0H5cOye9&18yp+h!z2W#v1vC$@Fm&` zg(yRYLc#d}1qXkZzIT#NlI>(Eh1?Kgy`SEnJDv0L7W-%5xi23u;XXgfe!$AKOz=Hr z7(Rq&0p>Lind2caW$Md+<1S@E^#ou7@F{aM;Ozs#^*G}m7xdpQpwgZIVE~|UcH0z~ z+{6uFdw?L5|8=(q1;}E>+5wo}1|w6&-P1xK1hI(I5BHUn^%Oz`5sl(!;PsbYPqyk! z`ikZVBEVFlA!V=EZPin#hy!m<2yls_-Rs&ZTuKor0X&$1;)1__MS!A6frsT07yt}o zP=K`v$adGZz-cE`44@POY!tz}RQ9VaP>S~m4iQk7oix2|w<=R`@G%8}*no#LP1_gM z6yPZ}QL2f+7mdy}f**MehKCUhIKG~(C@|pXSpg`4uQ&u1uu9U0I}30Ot|Dj_Kq1g~ z>FssDJZ`V42A&0fyrcD>G=1ooGhhl84~s4cBx!mU<{9WivIPpDA1xpe#8Ad#1N7tB zuhUXg-p6y51atuy)u@UImn#CR#gTd497Q$5$3_P9BFtM9C)K$6FfD*Q&F;jo7QZ|W zr>0A-JIa}$`If^4Y27YdTdHgeiP=6aa2Pm$Jjqq$A zm!B}fTrcq{ir@A;{gc7ab}*Z3O?z}O%D0l0TM<(O8=ZmL#Sz)}5@G|%X07#oC63=* zHtbN*efYlFtjD&!G6x59U1YdHaJ2<+KjF<(mf&W!1pu7!G86M;lW2XuRRY&o8!^KP z)@waF-2n$NS}$iaiYLj|lon)%Ol!A*sc|!+;P@%1<^TWy delta 717 zcmV;;0y6!*2C@c_B#}W-e*gz`Nliru=LQD?768f~Ejj=I0+mTbK~zY`&DB3^+dvcm za0v=t^@Is-x4S{;W4Lf8h_*tDC$_!4b}LX;sxp*_2P#8&%kwFKCrp-d?&|&f9+HNJ2H)p7vWie zdG$rxauMih_DW|CWkK}>usPsW+sS}?3~S*&*B^@!RMNVjD9$;gxF2NxgSz1UIt!&>2^hPw@6P?AASg! zir0ncc00}86f$JMe;QK)OrU6WJEjYVQuvYs^QRygXKxXpXqKDh66gaAB9MS{5fH6T z`Iyj3$Ou461Xw77cZuj#OQ00*5u6~PD%(kN*J@U}VBld20+9xrBuQGA)fC`LIhC@3 zz~lAy4T2x}95!x--)DGxHbP&6pOXSm0#7pVD_|Wbn|lMWe+?!>XcRyqQ1{8*O|RT; zw;}tk0j#ampCsAz${sL%+X@FOVWkp}8<@@rU%%Kf;n zf`BT3O>?%+ADMCw_evT z6u-@WdguLtsbDr&iq@z$%9qkEmm;D9Qk8+7gTu4uCBOpWbgR@u_4Gpi1{g>>58u;t zJ2vH&IT+~UB7zjbau48o!ka5mg4^{T0I7i^0`D>vy00000NkvXXu0mjfsLoKM diff --git a/graphics/pokemon/cyndaquil/icon.png b/graphics/pokemon/cyndaquil/icon.png index 37c1b2361c10882c09dbc8990a52cc7ac076f302..27ed10be5c5ab89b23b4c08388f6c18aca6a3c68 100644 GIT binary patch delta 276 zcmV+v0qg#W1M32iV1M>WL_t(IjqQ@X3c@fDfb#}MU=qe7*Vyg{Ep-^c|slBvyb`dXAzU1!m^C9#LA=S`<1*VwlMTu#y1}s}vNiKwl z24t2oo7-(*^6k~O9SIpD?q5Ads0Lv&^}M5i61?z@)5-xb;eUK*8s4!<$-;6GMdl@i zqT(5^lZ}L~3Kj7_YRwTUgQNrSz;zGZtIPYc_Zp8w4`6}*q2uE@lrC+ggmH4AjjDx_ z+NeqxLI{PwtAx2RC6#D0Dq$F7ePPahVN$5s2m?E6VM=K77G~T&cqL2+41;9Xx!#xk acmacPq3tGt-3{dc0000O{0u~tAaCp@(}ukkag<7fGMWBC^0SSRAtYr$bX3tXh7~cqp{xxF5jGe zKai@U#~0^_5vsvT45Mfd>IhygoWm?oV8D6oI?=vq$ye1RN!(MW4uyL<7i$TvhnML# zf%ah4QWyYt!f#_!HS@URS_JjMrilQGgmY3qm zFBjr+Hoi!b53|5ka(y#jAen6e3nbTbz!d^>Jy3#Vu7$;g1b=4%-Mu<92^e*G{T7J( z6j$3}3K9Mq+m+aEUv4@eZc_^vQY^LzthxkwSK9>OJp!w~UY>RtLXA5F`gkm#+5`dM z3PV75fbJ6X0JyvdEQAExRcI`B&UKR$#yNcdCjua3%cX+8ny^%b=CFMTi;^kV$2mm+ zZudSQ+z>EakAHzp#fu_L-vQHv^DJN1dmDi^?i8>(`VE2SuMc}`WjY2Tp#L=jfBgNm zcy*bSZqx#ol<9t(eEEJ~l?DN2AsP)KW!hY=KL7P=Q5lJV9>*hm^P&E9o0`XCVR9_d z0&&AYhAQb8L#jXwbCMwrd}-BxU(lH+55Vd*QfS=21O~7T-arQO_Vhk9b-8y2 zCyhWvt$*>!g8&GyO?@zqCk?cCfB5)Gsf<*3e8p6 z_W9=DF;5sA?}T5a(UFL;9bOVYPLBi9Qt_H7hm19E;(*CfxUKJU*=&M8#bh0`G% zXHe3CnM@%ZWl+*8D~z20Z~-$0@c9-~8F1kdcz?=MZKlFeWchgMER7~V@7s_VP0vMX z2wX^wKV0MTL@&Ctv7|RP5W|1tDS%Uq+3_;p`eb(eGmJ~m4QI?!OxjC0$dAEI; z^A`&i%{hPsYtF&2Xs(u%0N?lTS(ZOeRfzdLYGD(-o0>wb+7>p`)g_5M19}=@pTVlD zVSf_IZ3}Eh7l&=>n64zA#AZLZdr(NbmqGcTH?O93E!cXOfsMcw$?{9F@8z)bC*I!iKofcp&Z!NO@n|Jbm0%B!B#xlwkk}jaqbnM3vbcD@z(_ay9ZNbiv+N zyTkfe?+JJ#D0sih^tGwi$Lf$VVBrm5%cd#OTF`Y)dO8veL6!zZx2!7cm*Xb`ZJR5a zy7Jb-Nf0MDCN0&vs?Z;?Xv!Qf+|kh?8AqTjN$yxy&@7Ar)cT@29B_7MBha>_Vt>>n z?>Cgef(l&B6kwFV>#!ls)|Rvph84Wo^sOSo;tGQdtye+ir5cJ990nPnHNS@UAj{E@ zkiTdxoM<;jc;U}7m05tk1U0}w=BT3alMxXB00000xC6 delta 1280 zcmV+b1^@co3gilqbbkN`bV*G`2j>O{0v0j?$$Yv100hTLL_t(o!|j(nZ{#)*hUJ7p z+FKXtEq|mv97VWgPD6NeaA6!tAhmC^zaW5BY`F`mxH3(C%Jl(Og??0KhLp70)oPn0 zRb=4oTRxr-lA8B*lKeZ*;?jEd?!vm9UBAk*_p`utc5^$QAb*=J0TX05?`9KZvo%nF z?Dj&2*(S~b`ce}xs`BO(NQV&D>%$NtemAa9v0lI4_CVT&7Cwf!S|f1R2e5r^6M-KQ zxEu1>ypIrbJRmTvr}Cu>5CP6`2F)&LJXjzYPn*9|DH+F|ew6Q-m2RV4865@^!g&325Vw0jHCn z5%~P&Y3rQK$3Oz~e~rLze|{<7d?BSDmB1-wzFlXZzCG5JK|nbeUkM>)-d^AR^2bkQ zZ6pHv=+5AWPtC{s+&u3~V=+Ysr18M;!{@JXFZ1W7#(#8ug{f69u@3^QbjxPz`53w# zmkO7G_WG&anjH2u16qe71r`k0Bmnqdo4#=)U-ERK=Qn4+f5x#lkzfwHQ?j;4G{=n01PbzKsdpa*W=|R zpsr{O41Zu5e1Htt?)E;lO||s~n?@j^()i{<1O&LY*%{AG18p84K!+k^s2lsKuszyG zM}*NjzI_GPZ7p|<)ngXwRk-f`=6_Re7(Aau*rm~xNUO-MDqXh4;q-o1p~6k7Re=lu$VU>H)l=G)q>W~ zTa*Qd&u-5JSUjv>=lsPLi{>0af;H!0STyezlfX+S{IB}MREG3@r`xOK`>7UE)s?WC z&VMd#)XcR$`@Tih)i8-z*8!{1;BdXJ(MaMZR@;NwgF@Q>7?uC?>dm|irS}oo2wama zzn0rU4tswRERI;OKYjbK>;P1N{9t;~;C{$RmLuR%>hv)F91f))KHuf$tqMSTxE{^J z<|E2-Q|>&KNx;aSV8XJvm(Zf3(NcOK?tctO`Pev{KW}Oheoe}700@m*^teZr+3aga z8fmN=`4bwjkM(A^+&5bSP6P$#tIXfpX1T9-1p^LF09Unbh1P<`Iq4}J*%#$dbgR0? zdU^eLe4@sbZBqwp;U$QpiAh_vtZVc~ESl2dz#Uy3l5qs8isX)E1z9-G2_d zLmPp%B^NLjBit6Kq6HPWnK{5Hfb0C60qsZ|0Zz0SFS2&2!c@o1%}xlk}7R15Ysrn?ph7bRvY&^uiZ8kbjvPRgjP;Omh+Y qni`h~u)8>C5z@KEqdzMD)8}sk9>T2$qsngp0000 z-c0le1ZLee>fvbsK-^Pil>v)@l#O~CPannRo|Jbs0VuYUNQ|e4(+79s0qIj?JqB&> ztUUnnbG-fX>Bet_$52n3%`|u8_ur2M*v1lIGGL_{hv6}vfeD>7836C&@D`_a1YpH? zJp%S_9Pmb=Ih}!jdY=GDqHv3jM~;*1&?uWEenEx%DWIh^2{0NfWYHzsh28RV2Cy2b zO90|91;V2#+?(W5p9gGeg#T@591ddw6yba9PiqdSLQhTfb`F3Se-?&9dYYeH zYVR6l6e~JV)@ef9J*}Ptwcn(veet4~9+jU8*G!)Q^2-7B1OCE<_A|<+OVqwlXhXxv c0|8a_58$vlxOPrnA^-pY07*qoM6N<$f;SH&xBvhE delta 631 zcmV--0*L+U1>FUZB#}W-e*gz`Nliru=LQD?7Y{?a0qOt%0zgSbK~zY`os>;(+b|G? zZGb|zp;KgCvw*q{!fMf-8k2372Fy8t6oc!+o8|xoBow_x4%1Bz)fxVXlq1POxiDzz z<9lz0lvb;YW6k-8WkT7OUoA>}vv#`#u!dW^D1i#L*(^y|8e2Y}f8?w6qnXv48D{e>{Z)NI0w)d5G=@-w6Ajyy7xFm*8iscYpp03~}_?Ow5P`x$Y|U z^wJ?99=)?l01zN$rC$2eC$W9>$~zbU65B~4`qR_tqrG*2bkux zbOMU~0HBGYEjk`KEwV$UV37EQ74FA?meLG>(NrOeDJd@QmY)+q)kvKKI1XbV{54s6 zGo;kh01S3#3cweC7Kon$rgY|!K$R~0B%t!|Oa4Ur zxyipZ?rfukZFbEtxxlJ03fF@K&J9LC`}(*BdI`fqeWT&3@?EX<*x#qrE;Y$0mUSSn z(}cD=TAc%h+oXN_;ziFhDz_A_nVtaB%YpSH{wjoaD=J;0`jtW*8tyYh;2+?yIk*eA RNP++W002ovPDHLkV1g%OD02V+ diff --git a/graphics/pokemon/darmanitan/anim_front.png b/graphics/pokemon/darmanitan/anim_front.png index 6602e1914d861df8e7029859ca2c149655936e90..7fa8675a37cd63134cc6146a959179257a3d2eb2 100644 GIT binary patch delta 1187 zcmV;U1YG-%3i1h%Uw;IBNklHt_7>7v|HpEGm-24HS{SP>h(783W2Q39> z=vwLnS*<&w9yIBg#0b1Z)JY0GRgT#JT#EwH=t=^CtN{vWmSC938bUyNcO)gAb#%}c z$dm&Ne%yoiy*o+%J(BcAhy1^R{La4ta-RX@JrS^eDGS@J0DoD|iwekv_-#I45EYOM z(QA3HkOJ(7uk(e1s6zsHC@dh!`v;HMwJ0tiZS5bF*!8He`$$M=2W58op;#8qOFyY( zLjOfQP{jqLEw#L@gA-LPiRUR$1wd1ej?EN8(~eJ$HT63HQV6Yhtd-OwKt@Xlyi_Y{ zSuIn*5X~#USAU>dRDZ6fm3U!^92Bex1$*u@5!t|{+b*>s@B1CR)BUenxsP#$dHOp0etTJCIS>dK^PaM8MLU zdY%{YR=A)GCvbuYP=Ys}_sIzXCEAkWIzbRGqJI~-(;x=AfPHWhb^;vlQ|Y;m8#P>x z4TK>5KI7FqA#iZ@iQQ#AuZL>T+W67n=uJRYJMjh+(T_g_-jM~zTNaJ1>kz_mQY%Qf zM-Irn2aw2)0vD&xOUi}w@xFPw=X>gZ9baaAUV?T+w~4W{@)}uWI0-7@$A+{xHoSG_^zo zqxkLa<5ns_Vxy>*02C9%K)^|b2nhLyE(VGk6^wFP_)`N}35K}DOZ9Oq7-4a}H*jcZwrn{ff*AF!23hEW($}je{RwaMt_s@ zhbX*Bpv8h=aQ+a7w^IEJME+oK{;&$~&h+#$0ysTbg}357xjbdj%LD81?lqi-wF#`l zThX0*xS*szB*Ht38+8`FhMDk(M0jUi97k`$AClpX-6(o-!XLQsj-xl}4^lF`MF#nFqC{=khmdXxUZk2rd9S{%H7jo$w@{sEUz_;v>g{yP8w002ovPDHLkV1lMA BGV1^U delta 1216 zcmV;x1V8)o36BbpUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lc!dz5bKX2Pc7>7v|HpEGm+Lf*;D#vU9u0eokbR~g6)&K=GOE64i4Iv;s9*+{wI)5rCTC__JFhm|7yzlWy z`u9lEe>&uU3}pBI4v_f_Am>EDdQuj)TLH416%~;4(QG!G-xC6CTF&JYfP-*4o6qN@ zt-v?J0+M`i_>le<#08|CgTo^IJrA|nKhdw)$*ogOlQ36arZCGPD7LZdmr z9x?`VAZoG;(8zn@dGmpXD&h482ULLdeB{xA!rK7)1y=xAaQ4=_^X}#l02lx@z5sym zZZsp~J-KR-zXk`8sx|P876>{R4bmYFq)5dl06z0P6M+CgKUaH7{*YrujlAbs7|t>C2EY_Io0v07vsE5T{nd1+FhDSfQ2 z_Th5UfvDgA5FBIYI($ru{S-S4=(^+n#C6}%6MxKru5a7+2L>$Nsq4Cox55Qo+P>{G zK=EI>?kC$}?{)|%j_v!=BD%ga^&_AI=!286?c>!K(RFNxHC&DjgkbPKV;uWtuz&rD z9;IEki>lDt_-HVj@yTi@Zhvx-6gvJpvf${JMI-Ilgs|s61gMa!CRtF zxqq}j;;rGR;0x)?_@Bq;C1_7{7#n*luaPs-RzQ|BVm*k&CX*9akRwAm$cc?BlRsht zA}%0hvLUda6E8t}aC97a!&g7-XT<)nLjnE4cSlM7ps7V77=^F*A2kyJ5*r1z2w*eG zK)`942nhLyE(Qu(AQ+{j@DB`RB^WTlKz|-Zf{|n(R4{Imdb}7g!9d~?sX;Fk3>yD} zJ4J&L5By$KfI;G&L@P4p4IpTO05o0$ zOzfgJM`3t!{y>rq{^FSfk4Q$4?iRY|4?&>A+fXoqn6xUqKhW@oZ*OPb%zIDM{ePZ6 z(9K29|GXn(9_j(u3~vjLNP!s@48Z$CxMmBOBX4d79gGI&4=lV%phbdVaQ+a5w^I27 zFn=&Oe^`ZgdwO=o08S59;jP$@ug+-n^1wR0yLG#6Z364?R&=`-E-3B~vG7jgdW}Y} zVaEI+7T#$GN6{Pehj@5nhea=r`8fj@-cj_%{ecVbD0<`mz=d}dy*Tai7$nQ22J^= z1rafEFknqw7fkM)%m6!6O82agGB^wwErSi_ganUT{Y>j%CI_j1PU+F$AlK>MAV5(Z zHGz*50eej#&-3K{mL)Y2DZpo5MPim1rZg>q%q#&sQy8QTalJod83*KWOL~B|xpvU2 zGDF6j$fad~44ipQ83F-f%>|L&8e#_*42V4>f=g;(s{l%X1fVaW0Zw7mRo_7fQAeFS zKwJS|rut3*tf-G;;En)n!wT4#>n)%YP{wx+s03&LfYKkp3F=La;u2S`#|>b`wW6#J zTLXYX0GslK{}{^QNqAJ>?Ffv701l{2g}8{OqV6U(`XBoDu&iI?caN7u9i!R+0000< KMNUMnLSTZ|=->VT delta 515 zcmV+e0{s2)1nLBkB#}W-e*gz`Nliru=LQD?7$4b{4M6|^0nJH7K~zY`y^}p|!axv( zabXF%;2U6^J|b`dyhtfg!Wjm00TxoZK(It9sGQ^kmMl(U`A}K^@9Yj(N|CATna}UN z{c*4Nk7acN4^&raTBDAyESHcNsy)X9u&QHvI30lHV!#NYb!5s1e@y@ZmJ~$9(7`}& z=(>1S4vrul-O&gcXh7b1Y+qkVV7x?twk&7jdJSMtuww!EDlj({Y&P*`^~=h4$NJXV zZ0;@U=c(^bjlEy_Ex;z@xpBNJ=J{2KH#VOxjMKFlW6OqR&v$_Qi7m|=wqk7701M)d z+Al(gu!ukd;>0=Me~ChhaOewOmawOc`A^3D#Oo52gEHs*Kscy#z9R%Us)Hf$ksx4a z2xM6nzhBe1CPEGP%&LlMiGIS95=dzYke$LHX^6}1HI}tU4%fH?Xv4J&y=ZGlWr$4K z3{ZiSoN0?dK)%fdkzN~O3uo;dk|M{o4zq>L&4Vf(6rg{id4OXO-kWbBfbh;-IzUtb zUz`+>fGFkzxFG(DDHsq28%M1PH0VjvAmB)rzV*YzP2V z4y?-q{~^Y~G54tM?Epw32lgnXMx66d;r$S6^AG(?{Q~57kC!#{sB!=R002ovPDHLk FV1nE)>vI4A diff --git a/graphics/pokemon/darmanitan/galarian/back.png b/graphics/pokemon/darmanitan/galarian/back.png index 4ca043a05d2169631f96256e48dc1dc0432d8dd9..c89df78551fd4c124687e4e6e50bf7456b22b9f4 100644 GIT binary patch delta 416 zcmV;R0bl<81BwKYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0b@x-K~zY` z?UhY#gD?<YqC9fLQ>RfTTu$0kIAn6&?qwOocoEw{HP;4(K7%#6R%hQU4yuUYI;kWGZN& zmdn~0zl=AhXPsNTv;rZl^Hw*lK=z%t+zbggdOjB{4Vb5ZIK=_yVHo*5%$9hG0|ukf z648*C>3Uy@360q4_nR)DFhjhC6?m#(jLVn-&O=I^;u$8@#OMxtLsUTvvmNu3Xna5& z^L4RjN3`WF0Q7*P=4>;;<2OU&ft6qRjk+-gC@`PvJ85pM`$~iX z0KEYyI)VoP#eJwO5EBAoz`-BwxlZL)Y@-ptqx6vg8O07C5B z2g0<(+nztLO&lklo|#qGU;trG72+Q~zXv2@v>hzn;v5HDrb)78S}gGr2TVrN648*?`S!69 zGa7Nw?>AjQVTO3!e|>*h1!G)g2DnTqagJx0RTI)32Cst_7CYt_(beHG-&T8ZL|@&* zdr$*P&Dmyx>pZ11a35%qQ|K!9s>OU&fmYx7oqA#nP%=C~0ZsIk2m=5{0}yls4*-Ju zP+K4-IK+Vc7HtyiTDi@5-*AI)Vg8M+&Y$!N58%ubkTlh23;+NC07*qoM6N<$f}?k> AI{*Lx diff --git a/graphics/pokemon/darmanitan/galarian/front.png b/graphics/pokemon/darmanitan/galarian/front.png index 522d5a2c737ad8fd7e5416b6e88ce90571a5d2c3..a317c8ccfd86f538d87019a6badec8b7629059e0 100644 GIT binary patch delta 764 zcmVhxW^Fb4L0i~Bw4kui z4A@Hmwq6bZaQu$|(C!$20KWw68h|w@1C9|GJ`;{9!`|g+36NTjb%67M4DmsUtgHM2 zd)I@(2=>02BdlMK_Q#XS2+qHcRD@L#SiJmsatrWvECHL;RGt9re-ys`Ta}>>;6s25 z=~Ed@K)KSy0HC+e{sRHjYaJh!{U%^jyN?Jl1DI@z7`q4BZ|DVoCS@}KC@uq?{{e7` za7@5y;95J>mHs2wBr^E%FiUR)A-~43UHEDz%l-u0z0HQPrZ;^7(9`}e^HAbfG+kuB zgYCW^|ETtnA-rCAi<_$l&`nv*k%+u5yrEsc0dUp7q31)So3?rfIK{xUll-B22eiVN zSTagGD0Z|e(~d%anuMZ^6nxY6wIGs_!+=6qq^hX2A&PPlmTdr9Qk!e5f%ioUe|7n6 zC0;e!lPP3TDiXvSVItRsc%XrHW$5JPV&QzV1RTks2&w^~gYCiPMGg>)kgaL}QTq7( zSgg3r5D}*`*S;=W?2M^MrGU5$tmS3HgbqKEqyUzmDf*XxH}~CSJgfux^{7rK!&m`v z8Nj;ss&#jiIPwsCxTK+L%i5|V=afpIi#B4nr~|&IegyPPJ#(JuHuZi^d-EKaWsiND zW$LH{v^zLujHNk{X40M%fOV%kn5Qhw0d&T)Y{A*Qq}W0|o~F}6M9MM|Q2`rW*$O{G zxR*|s^FSF_XI#g-&u9`!0AX617s}b04lv84;>X(JQmTJ9W?U(rqbB2AD1KtoMgUXs u{fsvQ2n)IFuG0(%!6|*o|14M1Uq+ delta 749 zcmV2GRzQB#}W-e*gz`Nliru=LQD?85X%xgroof0<}p*K~zY`ot3|9+dve@ z<-n1}%Sq8#up~5uw1f2`dk#r<%j%^Kj;Df6x)noH`Uj-YJ&-_W2RycTC?|uL4CTlY z$Q0{;>HUywMLMO>x7f$~_`UDFd+*sWO4h*Gb&Yz%7H~6LwSG_*f7B2S$Su$V)*67; z%K-q6{}BM%Jq_R$fPD?H1x3Kt0^oRmMCu;y#a%=;fk3@(MQe;)-7wBA%Mic0K z(?{68o^+?P*#yqNPh^C$2*iK$%@vum4I3aGMnJ#p-m!^OG-N8;xTa%k12gvF0m%b^{E0V0z-~R4UwSQQ- zWB{*M?&{|10o0?EbHqHa18+#*s{tG})~*Mkeh1ij!?a`Ve-3B_5jI7Xwx7@FbD35c zkT~FFB;e_$uK}Tm9QXtR?FO(Q3^Ng?r2!g3n`6m__jn4gJbacEFCW?!DMV51(sBu6 zF)r8z1+Hv%wx9L2r^*)D zQ^He8ASwb|e_7cOCgV>y&VltcT`zy!ceClZ3S{e1o=(P*1fn830ZA(C zNdhQSj95aG3^2}UnywgK78IMtfF;R17m?7EN0dObV=tb<3k@_#=IeeSlu@SQ-KQiD z1z;dj=oiB1nF_E-h2qD`;1Z%fn+qltFKhpK8RLqd=)4v{gx{aCdcZ(jF1_o$@b^ww fLSFK31S|Usl_?RDYi10?00000NkvXXu0mjfoy}dQ diff --git a/graphics/pokemon/darmanitan/galarian/icon.png b/graphics/pokemon/darmanitan/galarian/icon.png index 2a7b753ea35b7c0936055fba081161cda3896e9c..f09c2ea4dc53d333b0dbf9f271c283ccf725e9ab 100644 GIT binary patch delta 252 zcmVUMR6~W8I^6nL5#k^tvBG-hfKz9xz@J`qqIvJJ3)TW5z+AmkfZ)TZa?= zQ$LEoFeHreV=j!)!dQN2VJttiFqR)$7F#*YIcn0000D%PDHLkV1hz_ZkqrA diff --git a/graphics/pokemon/darmanitan/icon.png b/graphics/pokemon/darmanitan/icon.png index 5cc61af46cd82819308ab31096925a7b2fea94f9..a1de7deff5390ce5bb9290f5970a91021fc7ab3d 100644 GIT binary patch delta 282 zcmV+#0p>wf`reRsmrZU`YAdENwV zw~YjFeFkw^sSe*&9AH>C`!^`A#8Y_;67Pz*In)~GQn3}PAt;J+0EidXJ9ZQQY}qzY zX@iZ5= delta 320 zcmV-G0l)t70+$1jV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0vZh%8Xk)P z008<)L_t(I%hi%Q4uU`shPlDqL2e)kjfq~uM@J#?Z%Ck03KF@M79?^Pi?tIQq1c3V zlNI(6OADRy%lxyG+0XNSxyS|G<0BxAyV4Vaj6T{6KvE4>41c@4F~Bm~t&Y%<_8BcV z47!CcDj7mHCJY)C#VHOA&|bqhj2YMnm>>9amJUM*>0~;cqaU7;0DizA?up9q zQ_TT}tUJF!(GXAN8YJEk@$jfO_EK#LY8wz8GjNyk8#_)sq-SLCI>cKn~I-#>F0=fHZ834GD2-3=>^Y51yrTq zZT95_%6dtK|H})M^)tYK1ruDEAy<*C!s#I5H=0Z+vuf&-89o7HUwUI z$%GljrqJLmt7bCjv&~w8UM5J2d`QjqToCn7K9%3n6Ora9wYXX+Xv1)9O~IB5jMiHuEuLI z^OF)EToaP5U6jCE=6HR=>>cEx#R*^R=7t?Oq3$r3Lnv%pp2uFZ-;>;Kha-4iJL9Eu z=5lbu5fBL5&S%uFx00000NkvXXu0mjfRut|d delta 521 zcmV+k0`~p-1n>lqB#}W-e*gz`Nliru=LQD?8yy_BKdt}(0noh4GD2-3=>^YPA^0T)bgsRvv}q6(E^$gfqAP{skjP?4y^P%Gx409=+uBjACKZ`3~41cHts zeH{aFjmB$;5)#Zp80+Ztb%k0oQJ`+_jR-M|i;T>hnRcDb~3L zuLo|q(pM^ho)%*|z`;aeiJ?JrE!>v6Tv!C3^*?U-OdmRf~Zmnz4v9R5^#QR2Y zwD*SRtWvx&W6mAqzMT<1*^?V|$OsLSxf}w)Z#xcq&3?^Ne`h-w!ErhVUOHng2P+r> zf#7#Pk`7BNb$t*6gvHxo3@;_X5IzV?W=@Z01P_Fj0;Pm~0xuN8bR)s-9#|&*gEJ98AIS5&ERl-F0YzI?>!eE0ttCO@Aod3=gK_d95FNg{FOO>V){+W1fEUKOr^|gOr>VcYfR3jOc5h<(@C5*B_weQ;{{Vh z5-0J(C?UBoabgMMbcRyu=3>NSjPWv66(>|g573xZKHfyQ+Wu(a9ma1B5u@Md;V3Bk z5eJ;@xvw}~Sb86~hO@m$e=QgAd<=L(3ooEmSXzt)QTd8(R1^AkKB?l<1%_)q%bcyVScg4{cT%+dq%`0+RML;N)}A z49@l=P`m^D%83kr0&#Q^s3oYI7~VzL_9xCR4um+A2jW!ynD)=XzQszd3Bk{sq6*5< z0o$%`z}g#UJPNo45~2N)x@#~<8{#yhCgvOS`M@q3e%OI;iy(3tx(Oc}44xSTkU%Mq zW>SGRWBxF(9a@vT2Vj#$##pJ-2Y`Y30H>8$M{#BCHwjtc$WWZ~3VP5&=s!~8saeb{d~W~% N002ovPDHLkV1m4MQ7!-g delta 725 zcmV;`0xJE&2D%22B#}W-e*gz`Nliru=LQD?8#=kXip2l`0-Z@jK~zY`t(Ct|+dve@ zU8K?>D5`0PN@Zvv|3HC%fao&N2_!1fp<_)%RJ9Yagixm97Y9|cM5Uf8Wh+8q@f1i8 z%7&1L$Cd$Z$QVWPNCt-MyEu>^oR5VkOSb$z_kGXL-?I(lVZyu*e;B`ycr+}5RVBV%OE3;kP;mLVyb++m2i~#(c(Ko-fAR9zt7_+fc}UB?CrU) zBvV{^A6LWPUW8xEe?>AM13ZD^3rrQ47Gr@ZJc(`kN+1h2p#l;p?B=`FjtbZXSaY*3 zp1`$Kz^YtoJDt1=FsiG#*s;Ogv8 zS1`s-Wp=B63hufR2qdr-@JrR4k}YFQW-!nBF1UC6(4_v@f8k}6=cu%&0M0%K_2A+# z0!nuP&p#7Ez)!9MSpuBoU>9N2o4B|-;`~?~@pJhw&7T7^q~*p0XP0$eMaotIrg^Y| zwKpzUBrpUdL-Qp#YiOhmex8+%`9?j~*G0_>TX?sGL_Q0fcv+*krXN5B02X;t0!>Q2 zLBO<0|S(6Yw@n_%Ep z(33S<4qL;X&LP2WY)@(bpt`2dF?PE#SYsF%*f(hFO9b=p0H63R;43%QU-Ch>^H8FG zq7gues>T0B9maf$6GtQ?iS^iDLgKJ)Su0HUTVag(#skNHQsSvu;TX8{00000NkvXX Hu0mjfv-(R$ diff --git a/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png b/graphics/pokemon/darmanitan/zen_mode/galarian/icon.png index bc5912064d4106ea8856e429ac933125af7f5f09..f09b978ea369a3c93737e16a41b55bec2d6b125c 100644 GIT binary patch delta 280 zcmV+z0q6dh1B3&Rb$|LvL_t(IjqQ>#io-AvMSTO^VGJo_@CTLJW^)Al0IOu0Kyte@ zh8#wMGz(f2FK!m1C=h29S6c+O*#Q;vm_PgxzbIZ)F+CNdfHC%J0E8&sryl5Kg!eb_ zmW}WL&cMiu@qS*lL?va{zVkx@gI!16t@YfA}N)qWGPP z>8Kb5jImb(AVl#l-GN?Ocy|M@Sql%~42-;Kbz?=NB0qv+(0?{ba&Vi8T7U{Lo+`0+ zq2MS3kwIjMCW+cxtC?5In-+!`)wCbcReY z=6xEXT8eV0000JdY z9Z}$6nW%JBTjOeVel^CDbtT+7L9Dndz)>?QM}j2aiy>9diA^LEB-5F6YnX`>$lz__5RJBn@m6Z9CpbcW7_%G tK-A;=;Q$4H`!hTj{%jCq`4=c4FMUn?-P&?9U7+(BJYD@<);T3K0RTrYZb1M5 delta 280 zcmV+z0q6e10^b6VBnUH5OjJbx005CGFn^$v%BBDS00DGTPE!Ct=GbNc000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j>O{0vsE+yv4kFjeD4#Jx?|xVrVEEx# e5co$yyZ}^~8PcvB$*2GT002ovP6b4+LSTaTbZyE2 diff --git a/graphics/pokemon/dartrix/back.png b/graphics/pokemon/dartrix/back.png index 7f7cea95b12739e6ea5f6f0e9cb2d87697d9ec6d..0be588c43a413d9801c543177d060f344598ffa5 100644 GIT binary patch delta 590 zcmV-U0_$0kF>x4VjT^3k(Zq0Mup-OBQ_tpwclR9T+YT-T>YJxHaGx1b6$KO)U_MqgnGs z2ttSkDGyX?fhq(V028%=vmUV0AeZ0eHo%k$qs8hj_XMnoNOv`dYtPAjVt4lVs`&KWJS) zeRTjfvl7PZ0b2^7wm`+R685vT8bAejV?Q(~OZ?ZSK884i1TTXSz>E@{gMgJ19N{1y zkQb4?NB}22x)Gv@jQA+PnbNbDF-B#}W-e*gz`Nliru=LQD?95(+;P$>Wa0uM<H$UyjnwQw78j_pVZ{h0qPalY3$(5TQkQMF9=z~L*vy^c{S7u2P7SXk;MDrv`#vuUpB)QUme{QcX%EMHy{3c4& zy7BAjT_M*p{XN&hYmpXqvFSX}!qvs0co>rlz-)afgeVvxvdIeNJ76G|Q$j`^aOVQZ zx;St$Bi9HFi%tVrn=uSo^fiE$jtObOaCz_=2oB)ZfnN~3TNiAKK&-Zg`l}Fx5DQWf zSSbQk2yg%sGeNK(f3UJ3*YD*R$dm@8wm}C#%9#OGWvbi*E@L0C8P)q-TmUf^307>`(Xx+#5iLO^EJ;2Z?3)Zhpk@qj*v>_r3E z>9HFjn&^m+JPMpCJ$o7Bg=(->H?cp$i#K5-LH2X&?$QG>SwO(egtlPyFMY%Q1_khM)Cs>T8QJM4xADA zI2g~;WD#JV`nr2@8h~Rh&?g|1Is?Pw+ z^Ew1>u@1Zq2;k}k&)}COz4t4h$H7QjUZkT^fO8T>;kba|NL2U*TL$ zuL=eX)t~TyK7xKw_30rHGr&B7{!e6pn5IK>MD=T92AHg?AWUO(WQ@5s^OVjztAHrQ zArOFhn9}G~PEzcD;WQ4xKpbL0Jmg9cYV4=Mxyz11r-yc;Ah5mUA5_pffMK~zY`?bR`B+dvcm z;41||@DizYU9#!OKQLXgISB6=&Ja&(aGqpm^5Q2YndQ?~DA?XZU2>DR4z}kSqO4hh z|4X0bkRf_9bk9SegZFVyclS66@gDyhwtcuiFQxmb*=*W2pZ_2!e_BeBcq#Nikb9j?X;C}JqT@SuS>j;g=~fv^4XERH7O zP#*a#Xr%opn#^$MnliA85^;o6tN^DuxY^wPAy7B-@<;SebMTlExK>>TSf1A+@PJj| zV~+r?_kd2%Yv7tHf8Z}3s15{pgF7%OgP%(M-tF|YQs*%Xx@e=_pb6AD{&<@|7^%FQ zs27fCFy+CS^c+vR1&BF7*$e5(I#po6_?vPhbm-6sM4J+@{$45oMQepiHNDLkFi@|- z1NsPBpz6{?V8j6P0=oCe05OdR=7jQh#`H1TltB=W%!x7Pf6mNf+V7+U!WaiY0OmnV ztykJfae&iN00u?@#+YiRDK)h#LVlcy=70#3@$R@I0;%ADE<~ggJxds1=}_;2fX`ha zVW`sy^s9lDXx;nV4t0_y{51tS@p>NUF!d`gy7g1rYKss+R03c4qPFEHs4WQ;g9@;E zTxQQp8Z5WZKI{aP&$8`8)abR~7I~FD0e~-74{H_(3wEVfzO`EHyVS{n|NifL8~*^U WGyfDV^teL+0000A||`GirrD8 zQ3_fFcnlKSPCFoB*&{$~CnVIOa-CZZAQS>837Zq3tqGjprFs1X9xOR{fF@}!O{0v#|9GsIm0 z007}hL_t(I%iWT(4uUWchWiGMJb)%V04CmKLUh5wg~_h)Oe8K{;CWc^9jFW>rj*1E zE>>}%M^_z)H-5SQlKb-!GN+-+0XlUS*hv|@q?3bTDIz+)Hh+?JC{arZ4FX930-9D? zAYj!aKupU8RJ^d6TLr)+0=a-~4(MtGEc0qW z&(MYE2OIqFQ~JRg7s89$pR{Jwqi{;AE>5jRk^h+Qg`vz5MkkIiIv#|nk};#ZL71Hd tln%m_?Hq(zP9TLD{Fn&y@k9O0j~AZ`mdrjOK@9)^002ovPDHLkV1k9`c^3cx diff --git a/graphics/pokemon/darumaka/anim_front.png b/graphics/pokemon/darumaka/anim_front.png index 8b675ef2b48e4d9e8520fe2329987afd4a35e03c..7d0b10c8c2062128fe6522d4aff88e2cf0d80b49 100644 GIT binary patch delta 697 zcmV;q0!IC<28;%fUw;CZNklQ;sC0K@zEy?f`u zA3~0Krg`y_lyZS`v%pSs0aj*h^>1u*o&Y6d8;dnrf%l87ZGY%t^%$#w$5@-a&J^wG z86lJvu7%fQZ{wppd3v=X_9t4C>qVI{c9sD`u_A%HuS+?9U+mEA{JID({k?l9*Y1|m zOXPqbVCY3VDR1_h?O=+mP=U#0bH9}H$o*je0DSkS*hbNI;E`#VnK4$x$NlcR8&$!x zZf-I_pn&myH-G5U0r=K>o*AP7;2h$FLT0XF0MLWSe4an8+W@1^AHd5rP(ZIcy144b z^>OyDZ93>^B<{kIyQVM%VBHbZ&->ZBwbom(iz^NA>;PgdX&A4eMvM`_4r^a!C0St1 z5x|mSxvD(W``HPE3PE{N#sNYp=MGPToKc-(#{INDLw^Bc(X`HyTS%LzhgE%uH_!=Z z{k#UcM@YGEZlDh$gqY?6Rasl*0qUhykym|~zm$(T=9uT2lhfStD^hOd)h$+tKl>$9 z8%v3W0!~=VFi8nWvFY%4jFp=>q0FKUpnl7UU?eS?6|p#HEyPd~fYPND9%?9Yg3Yaz zYx)K=6n`Dti+(AEi70gpK%;RdWh085iD80!t0c&E-EV-OA@~y2l?2^y92~G=La(Km zMB4y798eL9F?9e30yxl%e*z921_NS;c~BGspadmV6zuD6Yq#j7ih|ukyk(A}q<~RT z6ri?9)<6|SWd@H5gBl2#C7x$g6m1Ww!r&7$z%uh3M$brtPdI2{G>kB*=Y0P|HO0^M f1DhW8;eXC=!ooCcV)ue;00000NkvXXu0mjf4vtTK delta 730 zcmV<00ww*72CW8=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lc`r<$sDb z0007zNkly^h*I5P+R?<1z_6zy;+2oGfR4WFi5BcmbqqPeNKK(wXycN`qtx zJ4#7Gmi8LF?MW$4bTpA-s;i>#Fj@axa*B7iNEd}EpqS4)JAVtF{S4z2|7kpXZq&3u zy<35EEdX`si*MyJ7dcQXG?(5aCUh;%<_KutSvGbq)4_3m7F!f zDIyGKkUk$sjyg`efXnL?ptc0qkSJ?Il<*~h6}3L|Mt|ObPbGlK*=E~#%#S6%6=96f zJS_(dLMU};9<~gymNY2xOI!Y@CqXV6nr5&}}~I`j=d zy?d^(Ab;p1iqASI#`&n*VCxI$Nerc!_hiGFCpDD(_TJrb9+OuC#jLcv1+2B!86o3$vLQ%$YAafXyD^Ag+MpID=K&dDK5MAVL_zHnoBI*=H0J-NW z6(zNYLSf_;Qh@3lCaqD#SZyfU1%#pGdCmPFi7J8C4=i%hhkrSK0>Z*HY;aS+wg3PC M07*qoM6N<$g21&y8UO$Q diff --git a/graphics/pokemon/darumaka/back.png b/graphics/pokemon/darumaka/back.png index 0b9cc445bfb0dad7f14799070c7fe4c1fc99344f..2e4f6461c50ebee391cd771bc1d365962bf5723e 100644 GIT binary patch delta 463 zcmV;=0Wkit1h@o{BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0g*{WK~zY` z?UK80!Y~wu15r^{TDsGU?vX4Ji4nOEK+5T5j(TDq0L+Mr+9qAAqK1{F@RYU5%}zoX z+kt=d_u0qxImRh}m`3-A&>7bAv+)t3L1|5m=5@DIEA;4aTqiUsrB~zI!$J!Y07eIe zmd`mp!>AHA&byLxK7Vz8D{#BrqwbyyN+Nex|p2x0-V{m8Tm){i-n zH z4@-g{F0*frNLlbX%Vx?X2B{EcAIfK$6#@@!tryIXJDuc>Bhj1np3Xud6x!8i`Lx7> zrw@e5wEf7u;zT(ra#r&!3tSAX##xCc6O$caobumd7{7Bh2OWV~`SAb%002ovPDHLk FV1n(s)MEeu delta 458 zcmV;*0X6=(1hE8=B#}W-e*gz`Nliru=LQD?9w;|*56A!j0hCEZK~zY`?UlW5!Y~wt z15r^{TDsGU?vX4Ji4nOEK$_d1IqHph0AfZ|)Hdl_6*a6Zg{N#x{_G@#u^l+0&v$)o z-xEdCPWn5w`bU7?xY<8*jsPu68+x>_`@KeBK*vrK(594LIk$&_e-0u5Ob!Aak8^y6 zN&Vr^`@-jZ{%Y6Q-R^+edp{;#YRbWO=siz07fXS$kbq0DDR>#cW6Ri#ObNIF8y<6C zY@u)0GN8wovkJgpXhsxmJPBZ$5k^}X(8xvMb3|gzLt-iykvky9kXyQ`C2vpz z=qUT>`Dm7b{UK-Ye}Jh-6!l-Y=BGxM!PKoQ7`#1K%@>4lf48m)NR zW&X?&sRABnd8Txtks84NFy&cQ0UnylESQ%}I@KFTq7LglK+8f3l*Tn=MOqTTRRf_j zr5>4EPLw6GT4-sOKTk{XS;bEilW%bPUHn7+0&_J79X|>*DgXcg07*qoM6N<$g6w+7 AUjP6A diff --git a/graphics/pokemon/darumaka/galarian/back.png b/graphics/pokemon/darumaka/galarian/back.png index ecb309478799612fbfa8db008ea7b00100d757aa..94115f536adc13cf784b4068ddda0a3f869c423b 100644 GIT binary patch delta 453 zcmV;$0XqJq1g->-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f$LMK~zY` z?UONY!Y~kpQ%gvZSc-QTPILGb<1!Jx7R`}6;rx)X$>1w@q~~7rTKHU zLkM=_rc#G?=^On%-#h0n-oO4(?D88w4qE-|c-U+6FXD)eTY+2F4s;YSYU}cfDFr_V zx_SN;&|%s?aGvj+O^)t=BUbpF&vuRiy(o@{tnd}FX#zKlMe!XkHPc6_|6~K~R6t3U z@K*yfi75Y}@^uNaUetl`3_NZ;Ux<~RG3EwqL10~p9P3Vq-36+n#yfu?r^{Ka`#&jR-iAQuMkmOul5Y+gkO z+5{9*?G&LNbpY^Td@SMuvcQ@JPO3?3sjjI#tb?%&1z?Y>kJh#*Ah8#MpmiTGsc%$R v?rN!R;|~rkADe$5c;9;A*8A5l%kw?~d4w8$(!|hQ00000NkvXXu0mjfAS%QB delta 445 zcmV;u0Yd(+1f&FzB#}W-e*gz`Nliru=LQD?9|rQjGe!Ua0f$LMK~zY`?UgZW!!Qtq zT|>Z-rJ-~;g2s^5^cTcir-W+i=HW8jUK6sEOzzsHRkCGjG=)GCT>rUBj^pTT)rAi2 z(l_dTx_9Ev*m3^#cjA}d_>tf0Uq{1Un|~37eB27$@^+x3fKgkQe^*?||2fdj^RIvo z*Zv_%@}0HG(S67ZKS^dgOMzY(MMGZrir6%P8_vV%E-5wBN2&Kj0e&i=q)K?Jftlng z|Dp1A33t7y1Hl=1+&G>PE1EG*3;>;OCe|jv7&8EXe2*EU&ovW3E3UmXFbh}!7ivEE zbzq{+sdxoD&<9OSf2EYdnxFxIWFaep0_hO|Df2P_NrLz8;!>SvVtMKS$Vfdo*B%P7 zw*qM@UqqpE0YC#7$TbRm-|!W{j0AzEcLcn}d05W^_YEKy2JjX`1AuH^MF`de6jJS! z%N%9_;KMg(Wl`pnS>U9aw3h0c(P15oT_^xLu0E1&Q9w)=Gr~o3A26;@Yx9T}v`Yv707Kn{c)MXZ23%}nUknSI%p@irZcK2K=>Sof z7+fribN>bZ2TNNQ@2ETRElv9Uy!Y;M@Ly|M8#_D2pyX9A3&D}gQc&Ao1!~>}=hvH_ zyFwUj?}8{`%sW@bR>uN=XD3ky08)#{M?34+yyobEh}E(MT=y1z?9zTUJ!GH(Tiwc& zwEeSsnrna|MSo}$VwyM94S+%*&)W3>5IH~QSy?(@j(M2pV=Vv!^PGpUqRgZ@$y?Sc z0Ml`!XuxvD6nSVZ6#y`V5S>C$mX#qCicuL00sImF*E$!#H@s=7Dy?j&3;+NC07*qo IM6N<$f~n2e(*OVf delta 461 zcmV;;0W$u(1hfQ@B#}W-e*gz`Nliru=LQD?A0bz@hAjX90hdWcK~zY`?UcPvgHRO5 zuOucWEPlq79HX?#!r%j#(%l;GZaQ3sx=11?rVE>$o0xd(#sqgV3^iJ(4ldHgnOE=~ zq=1X}!UL#hxe5Q@`O4uOLjLV{+RDa8GqC4$P8)%Jn-)NCy$=QvI0u1A8Al*7-7%WUy( zrAO##VJHDlIpDL!f13v`&JsQjeiBOnk-5c#&qC^?QYsscf9iVv^_uQ}1ARjUTsd~7 z`-#-1p4WzZ)GRBJ0}#Lgq6cQ_ub5_hi%5HA0;Zb91V*^sDT?$Jz}l#NFHGsLrL9c>A7>R4~*K~n@#&o z0hTdlz!IZre>Ki|&D+2$Q_AlEPylJT_!<{bJ00000NkvXXu0mjf D=S|sR diff --git a/graphics/pokemon/darumaka/galarian/icon.png b/graphics/pokemon/darumaka/galarian/icon.png index 7901d09842784a90f40ef9eac176383a8d857a55..88db35713d211132cc8933881e33d534331d5a09 100644 GIT binary patch delta 244 zcmV-ChlcTF2D*xbZm>xj^G}gyR>+L_IbK=2=yVlIEaR1aS&o%?8R9G!GF7tgxnopg!r)p3YOPo zJTxOj{jeYP3~t_-^MKb8Dx7b62835=%z*ihLtFT9KLY|3>VMOffxK%syJ~*M1K5HA zmv4NX;qdS6samF zQ@M0ar6T}StBQfAbj^W-)IcL+jkt7DDgwz$W;W6%$o2advY*@41NAdt5N_c5C;$Ke M07*qoM6N<$f(zqx{Qv*} diff --git a/graphics/pokemon/darumaka/icon.png b/graphics/pokemon/darumaka/icon.png index 908670af41b062e175b0c2fa340953148cbbdede..2ea12745abfd80125cef5c7d7ee4e56c1123d9dc 100644 GIT binary patch delta 224 zcmV<603ZL}0=NQ@V1L6&L_t(IjqTDs5`r)g1>oFZ4?{sm2PYudVIg^Rp@MXBSZAP9 zW{_A$urM21O5HBsY$iYZg!sX7&{O)mVwxRnD>5b8b&0hi>;p#a8?0cAy@`ShvFvM>(L?(!nYnSC4% a#N!Qb;$rx7mwBQ90000O{0w5Z`U_~_m z006;BL_t(I%k9!J5`!QR1yF9Vhq17;(-Vm4OcD8ZSP5M`Y-Y4eoH3G;I4Qznn{>%` zyjcboz7RiHp8U+$Bpo^?L}jJNF2KXdgR1dvA?p@fG7wHDR)5wAdmLbwQ3oIZ38q^B zwTW(raLipPXapeBG+Ph5nFnHcNf%G&?YtjY{Og0F*~c%q9)U>K9M|Zdlr)khh=wlh za}M^B_HyJ2LOWzJ;FO&?RKR2yP*GKy|2~T_+j)JF#rGn M07*qoM6N<$g232o>i_@% diff --git a/graphics/pokemon/decidueye/back.png b/graphics/pokemon/decidueye/back.png index b6bc74f9add27edcb561c1b8fa28b7bdd8c440fb..4562c6a52ddc564b65b022cf0b85e562b1419a28 100644 GIT binary patch delta 638 zcmV-^0)hS71?B~iBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zXMaK~zY` zt(38D+b|G@6=)GM*@GV-2C^C{1Ou{ws?SgZTKy~mv`_-#rHiOl3w4jvqN7@%LVzqe z7xkX@NZE>cV(bnfEZWfj@&E5ATHbq(>2z{dze>~3XNhG>#3kTt$cOZTg+JBAT5SOnwjsmUkrfit$3f=0Q5}&+;IZzjGF0x!56SB6gSA#D?klp zT=$AsKnePAJpg5OAvqBPYeL@feSpGhA{%9dN5CAIQ4>~*aO$UJxK11coag@k0p~)}z^Cxz&IV!?A^~dK6&gTnf7(D8 zCP?n}7GvcEJTJjLm4GN}G(gLW@MhS7UfgAfj~fEmJK0YO$n;u**0%(t47jC;M?EX*!jK4|Kj~9tmO2jqbqRG4TibOawf5h~P$3-BVUrRHZ zTOhuFortBB!MgMjp`^Q$Tqz}!#z%yzyti?s5@<>fKzI9il>jJLVgev-Tmb>#kw{?O z3xFh`aV4bA`#99#l?bz@A$=NkL6i1)R2B5YBms_xTsM7~n&kszSsd4|mH8PJO{IsOf--g`@~Su*#N?61&WXzVR#UAJ0lO}We^{q0yGb=of+R}ht(;W# z06fN^9UzCy0FqVoYkMx6+s&jB+yV5QFi)~XMP zlqPPruK@!0zn7FgU8iK9+HT~~ZI<|802C+S>lj#U@h4pafbDmCs{R5qXk+9?Ocuca O0000&>DI+22QPcD zlarFmCKm-g2<>h4w0mmVV_HfO_R_5XK!P)^g>5_OJ5Bh0=KJ2f_rlFZHp?xIEC7XN z`lY+l>QY^O0hj5S=JRHMbD3^A9>&cjIwm@HQcWy84i6us7~pB70G2nok1@Lu8Hc23 z**G0=iFf&SdIsCYu>74G95&yw00^Pl{sD{WMU>m>1GW8=cH%Qj=PT{n&Q9A(Eh1B` zRE$oQROzrY*z%~NUjLIP!(i6PLHF9pFAZ#`j|aY9pKIS2g9Vpa(rfv_o}(88WVtNVcjwe^WJ!) zY@gAI3~rd4<{Rvc0e`XEcFTEXssx~WA=SvbpS~^AOo=80#7NxD1rb( z4Xk^68&vNu07785LZq!b`x_$)Y%BuSVI-q%=K#fBDL7?+0iH4>d+&-dY1Cp7LQr&+ zP(+Up|<%s({lD1{I(~NH48`HIyen^02!f|2zA{Ac&=Q56L|M_3t`3_VyzF3;lakAli-I16 z_BK6jr3Fu?T%g-Tx1CfI(;kOs@242p(?|hKZ}Prvvm3GOkQ6P;P6u4# zUAmo~!E$XVeWwNo&9^K70MzymD5MurYO4>__D|Z0&n%rUx2xORZ8Noqr_aU z4m*P-kIL%xKRGfCe`bvwxYv$NW%=QKs089(>R;^~-8*h~5H(3kU zFgA=gwlfC&`EFY+=ar!nfbNyg=mcN*r0&$7d3J;Lnl&zSf1?Jf@!D>HXS*x_cB&$% zFTGX-poFYG0Bm9?0F3%k)MEjsu88p!R}V8(g7KvwHA6x0Y(u77;0$E+g+!6 zcMcE&s}*8xf6dujA5ma^9xx9g8E-lJIPOZp2@CL)A=!IZj7g*Bix7f>ql6-Uye}sw zDS)Sh7=!Chu5t0AabGD?Kmq>_8yG~PB4a%&_+Lk?PQ<+^iYO5JekBDs8zM=efWpcV zhtV0C1pzF-LFE1gKnRj(h$xUR`i&6C~k^+p3f5iB$A^)n9uUF~ z${~cGd?OD_nxqkn-uWDS={G7P9e}>HgjR8m0G0Da@Q2XR|66tt0D_>$&)hT5b*9f9 to#W&qC7AoT`00U?{Lz9RFh6me#y|9fz^3j%oVEY}002ovPDHLkV1metZ!`b^ diff --git a/graphics/pokemon/decidueye/hisuian/back.png b/graphics/pokemon/decidueye/hisuian/back.png index b3a7e55079151672c2b25b75ee4561a14af20e14..e977f88e25db16a1308fc0cc61256a8d2b00613e 100755 GIT binary patch delta 767 zcmV(z#+|?v~PqJf6vfZUe5(U5C zz4z|vOvry;JO2W^n`CQsRM{lEMWwg~6p3Ec*MZVD-{-4=vVUFK=bUe@sQ~-S>p)p8 zb5+$=_n?I*_=F1mu+s-C{Pay^V zg@-BJmX=P?#(yXiq9KIGkU1HEpLwvG3b7Z1ppgQmc%1AG0fcceFAY2sQ)AHUgh{eg z4O25Qwb$t|{Ecx6P-0SuvAqubAP8Be2BAvmVG7#mKn*WcvVbTdjtKT6*wF~f0Vpei z4+vDIYebcML_?34kcP&1Jwhlj|1Ws_Yo!G0Xry zb1h8gG+V(s;K%nq*8^ex6gWPmw6zMDFw19B%5kp728(-SBEYzmxtBd|BY;a~-(h?> z$|m^H#(yrGOnizHMBU$MFnNL(Ss2VuDnwBhPy>Mfku{6~R*0h8bcL?0!gtG)%rN@Z zWk3$9W8oW;N~3=igLI9FtW#kou8?Y0Wc5(c9=e0S2C6^yf(S xOAF1)s9ql@K#?QZSV2&ob{Tj2?*3jQ8ce{o z3N4g0sH>nA@~B1VMy=l3j>7&QY>(z#+%+V9Px6;OtS&ul%YXR&?!CLG6PBd^Jof$t z_P3>-%~5$<+Aqna98i+fl9~s~yX=T<2J&w8h%vUEQvv2z@<2tYFhwbDUV~au6lEt5 zFi7z^r%Uq9vm1jnUu=puUlPM0uNoJxuQKE9M&p8z%iAxF=T??ze`^@GhH+_Jezolk zQLydr#(Tqf!+%{HhLr*xo9i5a&SBWLca=)OSHtCY*GwjWUm*p4!bRtHC*H3@7o(K( z7UvE{W+edr=D=*i`C$mWRt)I;Ae!w1@WWzG95_0r#-P*lqhzrfdQr#JPOnGt9pV@u zl1?B-4}0)J;L}76iO9Z#DM+seH5^|~0!j9YH5Lnj?$5}dDxC()%GFH20?TqtiMWD@CN3EGsipX{ZOjh$$-7J_X;Dvyj zO!p4Bsb_$82q0=x&+<~+khvKFh{D~>009#ZRg4-CZZ(iY84-7-00000NkvXXu0mjfYR_=; diff --git a/graphics/pokemon/decidueye/hisuian/front.png b/graphics/pokemon/decidueye/hisuian/front.png index bae823c91bc6e60d2e8817eda9d65395b9dd5dbf..f3c4d93af1fb2cf6727504961a4dc89d3626f676 100755 GIT binary patch delta 884 zcmV-)1B?9X2gV1GUw;EpNkl(*zQ0S&1zE4{XN3gbrLI-aRw9BKRnGOyw$H6To6c3rg z={~v5Rq>PkN5=2z`@R47J-tu1rWJJMigs07ph~M%Y14&(Z-02+BEY@xnq*Oq&EU== zgKt9Aqxtc0GeAA~@$sB^)Csylw-Y?`-0KWx67jpGV009Fy*8o(D zOVG;$pRX9=5f&c%aLU>SkssYRUjOESd6H~2X~zyezV(0--4 z1o4V*L97E+0DmH=Ic|!TzuATrYZg(PBGMYSM#sN0_r(F#bfv~z`o?JV$M+pRB&G34 zqrZ%f`SXCU6T2jXCLS-DO>;f^jtiP9HKMGZh`e;^cSyRuvi7!PS{lC;@X23}=+DF@LvaFa&T)v(@BtWH$bV;@q>-I_GQieoZlEXnc~AmWszw25m#+7}+^>}aT5XN_-gzx$MNoqo z(`|**GxrpNeq^mz(;6BrX0()zRz}CwYr|@OTd%vO`uA##nxoc`bT zDSb_*W^}o!0PXrJx=tI-I3{|tHJgG|{@=QRl&%1XoDcL1Gwna^*LS11F74|80000< KMNUMnLSTZNQ@2L| delta 921 zcmV;K17`fj2kHlqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld7!^@^Vp z0009`NklSL7Ne_iWS{3hYS%|s| zfuy;J38jZ!429lwi1+DMLkZTcq0obG3AC4?p*az8~&Yn0zU+3zZCm}4Ik~% z z0=mJ1+-Y$Xh<^|uka1B@3M?V8G?s{xt|UU#e~X_31Wd4U0Lm}d7a>~qOo&tCma?-h<}R!$m)d_C5a@0@{_r{7eE~H zIO!6Jz>lXPZ1@4HgggJ9{+%Z-{(-&LbN_ef#m`Q~QNH&tIBc}r?MEnaDukeCvk}Bi z{@eQX76SX>)7#?c{w#3B_gaQadbc+?%$i3X1iEA>j)&si#64i23&Oz~1N+bwn?jt6ccTd)4K}Tq)Ew#& z(u+he6kEYo`hP)GJKa2tM3rV{Md%g3rlSb}C4X*g*}(|i8gQpp}01jtb!XBxqUSSoNRcSLd7IJ-$?+Q^2<{ECd!U!w4 zOjX8QE2%QJT6CMD&%&Z2R{$8;5y|e$@*Kcblbr-Py)XyG(yc)Z?ND-h>sw=9Z zs(+rN%LOvv@`nT{m9+_=DP8aVH(!wgN@bOL?zdcINf3={b0(9BK`! zHF6s*4Nl6}`sHj|tvW{j?^PSr2mSuRWzCug&78o>$Cb~7ywS&EWT~D5n$;Cl9XFbG vqO0}BYzV#ded`)hY9qhR@1p9|Ncjrw*AjQ55bzct00000NkvXXu0mjf*tf6r diff --git a/graphics/pokemon/decidueye/hisuian/icon.png b/graphics/pokemon/decidueye/hisuian/icon.png index 02b4a3c673ff93c388a31feeab084255d69addb1..997071396f393ebfb463eeb9ac891cc1a02c3915 100755 GIT binary patch delta 282 zcmV+#0p&O$az2wwy0V-}iKNA%*Teu^qpz?Q zD(iJog^|V<1y*!Mp)MLn&KjjP(c-o{z8OW%-qzVj?O(&h`$=g$JckxnuD1J^0l9xt zN<0kA`P;b4<3gDvbX?Vw9wotmp?i4D>N*WeMQgHpNP@s6-PJT|n>1}ov;ZeA%<$GY z=Z0|6*ZoP+C+=h9Q4H8jqLyw`G3{{6lHLUd?g1lg1dOmTFwg@-jUE{K3;z}v&j$y_ g^TC1nWj?+DtXQ}t>3@ue00000Nks-uM6N<$f?*Ve0RR91 delta 297 zcmV+^0oMMS1E~X$bQ}N&bV*G`2j>O{0wOIm>w>rd009h1L_t(I%hi#68Gmc1HX9uv z+~)k&@a4^z1mV%OGT^fpKq^CTyI1dh==PU1xl5-&jCK0Rl3o%*J%QCZz5 zi@-5m*L2k;(M=j0-LhjEy>6IC&$OC7KIn>5*#A7K9)v7*I zC>^vU&lJdNgB@=05ZP(S;Gt3N4)rfV$3mgE-SOXlC*2oCzZtIabD9K&Q&4cHxu5Ht zQ9-F@^#X;nVx=BIaFwbqh8}uKpRLkh@*#>5dQiOGvZpu}*MGTUkX%F}HMr8E5bTX{ z*~3m@4;?bg46c+Na%pQ=-OgAWcyB9i?w6GrrmW)9CVK-@M0s0QuNzo3Y2Kv)3AyM} zn+hZm-Obyz_s_2BWPdUKF)(!i3~d5n=*>z-KH4}gyTbJQ)^zOokY+lV^n8pfGvLtk pQM79yrssnUfE@XChVT+U#3w7hxQj8%Pn7@w002ovPDHLkV1oM)iFN=0 delta 328 zcmV-O0k{770-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdAt|NS-u z00032Nkl23LB{1v_Kf^yO1w5A9RS46c;! zGifVW-9E84@ZLr|&fZHiOj(76jlK*_5yiMD*9oi|)kkSSLTzxVOqt-PO%~0zcJI>3 z{$l)NU@8w7NlY^ diff --git a/graphics/pokemon/dedenne/anim_front.png b/graphics/pokemon/dedenne/anim_front.png index 76283721e2a94580dd8371c90a6adf7db25999a0..b31e4382ba22300dc80df6e6efbb8d61cb1d9ac8 100644 GIT binary patch delta 808 zcmV+@1K0eU2agAkbbkW{NklaLEviB()`hYPnfnS?k_N?{z4 zYE7Jnx=!K>OOM^A&Ouzdz}EZ+sQ&=s$^}j8AH{Q;u1Wl|azntL)GG4(F^f=meJ2EM2e){{_VB`h9>+0r}d^3iMdAg91ElO{0P%(JOu*ij%Lfhc0zmepY&8diqa7*39ALsN z0DiCkC{ilfS@l2y!CM8u-ad@xUsc@d?+1B{Thu^EH=57qN{xeH^@``0fUS>nsGwBb zy=%5hK%{g5h=21^^EyVmketo{XpxSQwaC`^I{=S0)pc2wXz)gJ+=iT!0h}8Z7;BE7 z#!4{&VxM&lfO7V8cQR7b=+olL;fPFXE#l*Er%Ek;IG*pC0AUNIMj&9pZ#`R>C7jN? zY!Y;Zg!l%~=#b$O__R242--&uK%8}K1ZXOC(O&|whkpZ6PaY_kYL(UipJB7XIIrW> zGev6PQp!Vk|0GQVhArsuiu|be$?*TZCp+JHbAbTNb2nVkK2(Ub{!z=*6 z^Q3v412uVa9N%c*W;CnWlXjqEFq(a+0rEHs?$1BOUmMo_D{E1F_pSks90SF0%4e|| ztbCdyfPcUas}it5!=@exb2p4~LkGVBY)}9aHUWQ5!pdk=Boqw@DxqjVC?cV3KoALr z0WpE90jX-N8jz|+!+;pmR5c*RG*u0Vu~HQSf~-{8fFLV%XFxn;nslrU2x*uSEDhvw z-mpYf0{DxqMBluV=kVt zx;7wf58bZ?1Cn5XwKgE_)I+9;YJbr?&>F@7pm)2vkbOOpvvwE#riPb2DGvY`P80N# z8OCt=A4V!ZxvBva*aKJ)@DB<4)i!m7H< mZXqA){ln5eJotxyI(`8`055=d&UXR;0000O{0wX0OD?7^o00RC=L_t(o!|j$qYuhjs$K@E( ztF5%GVV6kWWjDnxj2#Qk)*S~CW#^7GgrR8+3h;V5Fa){?e1BKOv9tpNH!Z7k<^SR&6e4E{9(gpnse#LCQJx0-sk1>siRN z6c!6ZCW!6x@+ejq?q@A@8=eFKf;nYCzV)&MJ(&T-F6*#*vfs)8Df<~fe9nal*xPdX zpaE6@$exs~=3sENBW0KalzRoh@AaQVN+mn15lFyUs{q*Bhtd4Iid+5tAaC)C8VKn| z^Z8tBT znt<$updlQ*0U$s(j2&hH0NziU$2m~bPmbdo4cv@oHG9$ybPPtbPh#x>bQFlkQ}|(q zwZ5{JLw`2_jIRgW@>z_WDdp1~0XP#I0KN%WKLVlNhFNYH;4gp;3P8dp;NMAD8I6jB zq5(lA6b*=jNGKZ+M1o;JOrUB&sv4^Xq^i*{AjUFP4T!N!RRdyFs$xKpN|g-=QmH!w zB5EpiZ$L=HlwfHfkMoAbs}jIpY$f{UoxFrUpMN@r1n?Isfj-@@SjRCWI1Fy)IKR0a z2idOENR diff --git a/graphics/pokemon/dedenne/back.png b/graphics/pokemon/dedenne/back.png index 7ea69819ba6ba15c94e31e319769158079dfaec4..7d86019f55296bf014a54002b1901f0ae796564a 100644 GIT binary patch delta 423 zcmV;Y0a*To1ds%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0clA@K~zY` z?UYS!!ypiaO}K!^T%gbkFd8Xp&QqzU$N}g&3mYl7@x?me*d7yOb=7Y27FNXjm>*!$ zy!7W%z&i3f$1(>#WSP2ehzJ4vKEQr*G*&_=Yo?ugKLm8k@)|-dEh$->PCubdSzSAC zcUHtj@XA@<=F&IU$L-sH70^Ju(sEf~=MJ3{wR4URI?H`Q=hp}_hp_+|cq}q*W%met zTwMzbpsnaK=fKp~3Se;q6Y#!X3^Dx-7;$q*=nnzi=wqPJZ-6h>XB9v=4Gb{Tbpz*!Yp;Yv$o9fqs++4;1cU^TB#}W-e*gz`Nliru=LQD?Bm^J>y;1-G0cS}>K~zY`?UhY#gD?<< zA-({EFHqA9cr;SfoTpMxkpsAE7GNp2;bI+|fCqz7S5+5z3l#Z%oHRwTAL!s9NGXx;JL`Sk=-NkxY`C*KpD|x z%z>e;1YmXoGw_}chM3+1TAUmb+EYMP>Kw@Q8{mueSp*QSqjPS+BA|osTnXT_h`#F! z0K&%%eA6L7umDWZf1&@(;N0j3p3mDRKl^J2mbdjq&M-U+ARn9X<2ZWXU&LJt;n}}= zpNeH;E@{9pC%r{#`h#|Ge52z7$!L&8$P!Z5MR^|cuaN!aGhJ=J}vKW&Ts(e zY71md+^6-r;#|TGSgz|*V-DC_odOS=cbNf$ef@v@C;b4F6MMrfq&(oq00000NkvXX Hu0mjf>EpK_ diff --git a/graphics/pokemon/dedenne/icon.png b/graphics/pokemon/dedenne/icon.png index 3a661824519c371ee2172d488311a083aacd3c02..a768d71318b7b6fb9123fb16cb663bc5719bb86e 100644 GIT binary patch delta 269 zcmV+o0rLKc1LOjbV1MsPL_t(IjqQ>>ZUQk7g?)p$4Y>emp{`@?epQqHz2g3MH)9Vwc<_Z{r6;882lt|<4`yx;h zk!M#uK%YBwZvy6W=-+W~nQaUyMYubjI2~xHhT_r0y|pSQb$@0DDJ1=AJ@0B!qz34; z^k;2zt>mhU)@6ghbaNhejMn}#lK&`z@C0tN?{Q^2G(Vfq!lpteu1a=L^x$e~YGwynB?iU8Y>n17{lR9kH!&7=Xf@YBX$Q}r4@Cxl?T;@`M29d5 T=G6fJ0000O{0wf;YVMHhZ z008SrL_t(I%k5Gz4#F@D%n$q<_yDYQX~hN;$<_==vBbi2kXZUC5ZNF@n@SyOT%c*n z!p4Belw8gy+jm0z{2@1f!|e73WQiae0c$!h96&%StLLeMKz{;@ChLHgwri&hBz$@O zQ&S^q?}CJD3{H%6(02p=r2JlMF^C$qBW@(r)E0LIGr|CHUfPS)L$6@6tCaD8M6>)d zo|tO=VI}_)yH9UGxp=H=h(q;sejrvEwVbLD2LUTnMsX0LMcgpZO8}f0NZD)G+g2bN zVk@a<9Mo1xsVYMa<&(YgK8iyvu^@`$VDZ>7zL$?XPDF<=@ml@d00000NkvXXu0mjf Dgz$hm diff --git a/graphics/pokemon/deerling/anim_front.png b/graphics/pokemon/deerling/anim_front.png index ab6e3ec9d46ab6f3d1836244e43440ad1bf12d22..2bf2f1b297baf1f878c9063cbb335adce5389a41 100644 GIT binary patch delta 618 zcmV-w0+s#O1-=E4Uw;BgNklBjE6vt0?$sj0Haf&*0P_Kp7;FJ=RDsv)r zZ{n*L4=L2%Es?%C>T(XsVh_z&oW%xD{Rjqw2Th%_^ds~;^n8xf4)>R!&_Y4~MVR-y z_uk1*{2ybb{y^IWaci##XnMKvdqEK(g40}}7q;Hz0^OG2jDI-~P`ug|E#W!TcL3mj z?1}IRai7esR*C%XTjGH@1{Em&6g`iE@YtMyjp768(@t;*;%sst>(>->6lW8ed`(?~ zm%M)?6FxWxH&A+cBQNXed8B{5G61_vnNF_OK(%iGDsrXIx`H2>YK-ND9IO+N5n$t) z9POF>BjE6o8+kl0gut;uLl0pk52D!70HeRpvzM-o#fg9#W{iTOxgP z)a4wM#U7e5IExIP`V$NW51Kk<=}+i?==qe=4tggjv_sKbgnzm3?%f^l{5^m={vdWL z#*KCr(DAh64}vOy2WMJf7#4#urE~@aj%n zHPeeo{n#%7_J7tQ&8`c;8kGR1*u-a*!H>#v%*3S_7Ykr10JDXdwhMqb3S&jVxG{B< zh5~jPoi+)`Pr9&)MS&< ze^cb--xjH(j(-_OMM*-V5~yepg5wGx?7q>CZ++n5nL*nfws^?iyEvi<>$TLs8?ka_ zZCr-K!F&-u54i^#{YL?(-se>5e>WiC@2%2*Ouz3!|9ZP`^slqKUjNeWzw{5~cK@mW zeX0ey*MDhupq9ATzeVk1wiqiZlK`-1s$TpNXzdSf1Xb;USJ57{p`tzT>h|D&X%FiD dp^m>AKLE@W3K}TPpQ-==002ovPDHLkV1hVjD+2%k diff --git a/graphics/pokemon/deerling/back.png b/graphics/pokemon/deerling/back.png index c41ce592d18ce56c2d5fc2fdee0d9de2b5506bd8..3792e79f2836023433fd829e7156edce81411400 100644 GIT binary patch delta 567 zcmV-70?7T21)l|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r*KoK~zY` z?Ub=@6G0G$&s$K(cUWsG1K!9wE#DG}6%W#$z&XlbY@C@6uq z01@ekmL`2(foEXmj3M&P**#*fuyphJpMU0NHu^`;)`qysHvxKsgepoo(1FncIBJnl zFoXKnoRpD~fJ7q`H%=#ic=NF&G0<2O!wL4DNI(jRIATDT&twxMF(bfim&QDlOe`dx z6JV|6VgSGr$|TUUQj#tZLBQz*dPky(gb2vDhZD$OjO021#u{%Cz-|QzB5otTEPx6U zB|2G5rM^1hL?Xb=pmtI@J6~FW0n{hY?wqX!#@W5~K>T(;d{_g2g) zBA{wuXU|`{H&^XI|C9US{LftpsJ}=5%+a~pZFSjq?+CbT2kx_g%i3K&aLzj~3Phdc zH}LW6YT$Z~%DKBMjZzw}<$#ONtBq945m^)(Hw>s`Ib{PePVce&1LV?vry94G9>zkP zhwU#QC@5C$Cag4n1CRh71Dticv|JXXTPUpo`-s-lY6*z>eqaFT!Dfz5GOn)}P5(y; zs5?v%PJq@5z@aH2dg0z~S`VT03>Gn?(#m2&OQV zr+6jp#6e)<*trmBT7<1S_#WOfQ}MWZdF}q6_7g?F0PnIAtho*zE++s0002ovPDHLk FV1kPc0a5?} delta 552 zcmV+@0@wYY1&#%fB#}W-e*gz`Nliru=LQD?B^SM>&CLJ+0r5#hK~zY`?UcVx<3JF` zgA3}!zK9eQi4)!NSBf)8rl275ii(a~u1SFex~ol;n^#y)OG8C*MaqM>01?TcrJ?5) zcm`%2;1HfoM2nadmNGwoGqXFNOQnw)^KgE7p z5*!f3Xo=Z_E`IsWNi<{3iB=b@yByE}L~L6iPWSjGNTN@Gm`jD&e{cXz$Ri3Dk0t`0aCI`^pDdf<1Rx6aa>fIVF|eRRb>o=A#{7c5 zQ^)sipmwHim42u@@1u64DDLadE^F$PfIBy^ZUt26?s7vZt#qCDPw)i%yL_8?T_aO! zY53N&@Osdj^I^f%Pb)GW)UOv0;CaiMY@Ytd^aY4Ge>Y+*e?RxoaV*<^fKl+QawV`z zeSk85g5-uuh0G-(`B3?10UKn6R4=%CR7 z^X=`zaqL`FO9zN;B@_{{`G|t_$IkBzlvt0K8F0DEVrGQ_nNKp#dZQGq^2yU+6gQz- zzD!+VbTdP|^M!fvgek5IqQfA}Mr#|#5BZyZd;!0`s2fs`r%?a^002ovPDHLkV1fZc Bj7I0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdHB_M#bz z0003YNkl|YePp#MV))*+CO z?LlzVXo2bOeqm-gb}fp91;nlpiilW!244JQ=Q#rrEg?Vy>$?me1CCo-^%MbaRetZMJy{H>Q{djW#0000V| zL=3qO*A;{f%7i;`J!r@>fGSi6);zSoNr63@qXE1JsbIDYMt|h99DpD17DS<=2hX}1Fc$%oq<{JG2B>|Gqc7wX2JFCoRGZN$sOK& zMDlcCDLj03+sXUjTSN#!&nzL49m ze3*??u=^h9%!K=?a^2W+UMrH4T9?cwl93nCwZTz!}*tKk42feeSohXNU` weFQQ*?T`s1^Ad=%7$Fe+ZwTbV5C6J;0!5s%h9PJITmS$707*qoM6N<$f?(7kRsaA1 delta 618 zcmV-w0+s#C1=9tPbbkN`bV*G`2j>O{0wxmX;c9^Z00K5iL_t(o!|j%_Zrd;rhAjx$ zEm?g49o;F5%u}Uyv~^iB6)|kjfe{KF147^f6ln4Y^;&ex*0FuLo@|di5@?q;@Il-C z`j6zD#BVaW#2-a6jR^88VgM0AuEO~g!h%$XD{ww2$TEO3lz#_~MQD9v1lFjJ0+`AM z^HtCypXUJlh}+0Zemh{1K+Ss$2vX3e3Std?2P!{$_yx)GPBnQslh;7&#$c;q-U)&m z!{PM2mbN+L{C+`5VmrCQ`_D+7+$=nNbwq)A*gk)G90lUwr_H|3s7ngbB&|{+RZx|Q zk{LlsUAC$wYk%)qWW)`*{mzHEvEC9y+^*{%pf+yftx{77b8gqHcdqh|^-BpW_zBSL ztbc5Ojq~sVXokxFVe!k?-#BjuVeH_z#>VvSqjzq*)3>4e!7sqJ2CYG%+xZ2Po$ajE z%5nGwt!tgL?QW0-7FqIc?LQ~pr?V__RVoV1IoVo&w|}q9LzNm%HV?wknGL(_$I+4I zmR+_(Z1HUewyC6M9<%^ocP zLy(t1ieoJ^Qg5MKB62ZdP))IkipL=8i$wUH44MqqAUk!m=_~Cz#-$k6VhW!I+zyJUM07*qoM6N<$ Ef*^<_`~Uy| diff --git a/graphics/pokemon/deino/back.png b/graphics/pokemon/deino/back.png index 2585fe29abf0d01ed902343a7bccd318a2a00f39..d203356cd0e84fe4c46a6adfdc064956c2540460 100644 GIT binary patch delta 381 zcmV-@0fPSA1Lp&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0YFJaK~zY` z?Ub=j!!Qtr9r*=nnvsRQL(Q48WT=%JGq8Zz5$OXUHIXYld_C=w8h zK~J9Rl7LPTK(QoXBME@xnR?vD0X1eM0PTrJBme~e)C6$qLQ7oVCEKiF*FJ;*oOQ8l zO{7mfPGjA+uPjnT4XAxW`@&)w0^s=hbl9>;25R&Cb^Q2yf#lp+hc2~we+*x)#IOzp zYB1(4>`_@UpJ#1MFeM>)Wq}pb4DQ1VTv<^%3)2XIsDO{(I#zx~s=Z=8dHeqZY6`gM bKZvm(msg;&#JAck00000NkvXXu0mjfP9mk$ delta 372 zcmV-)0gL|U1Kb0UB#}W-e*gz`Nliru=LQD?CM+j_cPan?0Y6DZK~zY`?Uk`^gD?<= zjr;;}VeHa91N7WvVZh=>hAyePS0xWnRepdfQeL5tL-FW`stF}T;cV|!ehC&n{dfNz z2F7l>RP1#Vj6U7UfUGqF8s4Ce}7=!S8J!X~J5F0bP)ge|8|MKny!b2rt6z zsIH0tUV@wEk3bKgCJR&fCN*gl>H*PN&@qQ6=+szxZ4xKZHF$OgBngPwpeOe_S3oNX zAek#*QxE{h3-y@$0ePws0F)yd5daX}RTIEDg(@(83dXEq(>^Z&xJa>SwI`=KO(SjF zcjjrL22`#>`^J1VY6QUX@UqXDZ;K SpzTcn0000kiI`0wo0vln0g5G66Nogy|Rt|$P%BDjg{(da|WXt?M z2tA@v+naU~>UE6&feXB7qE=%3j}jCl77#aM8wh$9faAUi1b>Y51`ZJ0Kr7CjBI5YD zu>zY6%D}@E-H0(}t$>=4$ItY&pv#yG$Py$$WE`oSopwxuq!WdNS&!Wfy9hkgL_E;x zxJ~RL5I!)0aodRjXzD3c9v+r*0MsICf{;`KgiY>p(pJ~3eV~*Kb$yU$3J7v+14QTN zgrstXpvH#gN`GlM3uRsaph}1$c3=XyJ-hA_QWV9NE+IN#4fA2)r*A%gD2h*`^;H%s zfU!o~EaKh!uOIlAuP6LmZ_)+o*DG?(SKlbV(U$`@ZkRQ^(gD&&d$~y)4@b!X z@MQ2*h_?rEKdAz0ox?aj65t-t#L1opInIVaJaKUM*(Lh5alh1ir4TP zXZoXD-zC#t^c;I@rhJ64mF0vq=;{b}GNGT!<}M{v=Lb3*pS> za)Rcu*nf(Ro1@n0kd0sU;9$SVA$I4N+rWhI6=Uro0Hs)N1JNm*2|_ot5`aPBu&jj~ zK48mlC9(AZSiFKGbs@Y7H9P|$%A3%D0N^C4`v62GKoh(dSV6e-0^2D+gOK_F zyyaYm^*z8!9yI*h0Gjax-U-5<2Zhjr>sx&jpnt{6m)sTMz4ib2$HpJ9ARG8Q78GI! za4aaZI(LNyrDo@@w4liB+?5t&H{P-Z4Q;@+pv>+4t_1~A32-b3dbQ`(5|>VsptrJ@_f0WJ*gWfhh zKwnABsi*>QlI|oXqMrVbcM>!1`T#94gM2`%f#xul5;G=@RvJWY5Hd1dv0MP>{r~^~ delta 1001 zcmVNkl&uZH+7{C=H@HvUIUfaa(t%uC@U3QgZ6m&>py}$@A3luU4$q3}O zLn-Vw_5>keI`^@Bbx;5rG)FH(V>O2NdVYVfuV); z#fFXa5lP%W$$!NKkW7+1z{Z6DrsIb=wvua^_W(ZbrTK|?kN`#qvj9%xR~Y+p2BSuM z>P)`9uw^_FK$3#v(3T27YjM-YIEtcqnu61!b#<}e(Yr6VQS`aLodoaj4l^`mIwKTW*W0KaanW551XN*Vyi-Vx{TTW%K> z0kz{3*FEL@ho}nFPFE&Y?{5w}uKVhme;36acu6Ig6BTg6rU*rE#nBDYk7AMiG?4tb zPCK&fNPqIC%ZauMJrV0Bg?+|nz+6W9G8rN^lHXUz`5v!-V*MXwi<%AP0~%+1&tp9f znxh^aUUo!bUxXr@uX`ti7_$wfR!;y0KRSp2nTndgBqoJ`+&xh&TP{Z#uxIy@*p~s2 zUy72t=A;~mS8OZRfOAv=Z~+XESq1ir*vLYI zzYTx|Lt;+=jLTZnilw)rQeg8;>w^fqjF<6;EC~Ds7G%R}3kouwyTF2cwR0C*kfV0) zLJP_^-n<3%vVd+uf!_Od3o@J>pjnXU?N+q~1zOL@TM*F!&4TpKoU*`kQ?s1iZR5WklL5V<^Re%%-Qr6wcLO6^FmI83ab}_2(2Xo5MGyZ`8Q-Amc XP?yG&G$Rgy00000NkvXXu0mjfPutRw diff --git a/graphics/pokemon/delcatty/back.png b/graphics/pokemon/delcatty/back.png index 95f9c1099585f06da807c067349dd715ed9e33b9..09cd0999223bce73a206d9264668225608c4e2db 100644 GIT binary patch delta 652 zcmV;70(1TA1@r}wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!>LoK~zY` z-IU9&+At7?t;iBC!0NAyo@#GYaI-0PD7WwHGgkYqZ>KLf=FnU7Ii zCV*@mfX3YBV>DND`}lK=<4He^`85I-UShRs^i}KEe$!`3_s%PSoHW>HP~Lj>uAM~D zBz~C3gVk6(Ko&;{{qa00!R@j~VWkxQbaC#Rn!lsO?Gs;hCQ~36?g4FnaIjRsR$u$w zRXDsm{tftyC+%?nwZmPr9A>xL$rRwFAO15eb3(ozQy>#3xHbGhGFHOIyb|48;9P*f z5vsI6u4w240+O55RE<+;-#m@2)ZjAsi85&^$C^PdBTnrT&K^8wj|6HhbZ_E==GHOH%0F+7IjB$i3 zJT#)k`GrJV1Rg$#_=YonvrPb&IT-`(6X-iuZ^yvR`Z0%R1{BH&z#`z=#6WUSw-&gY zR|0wf0j delta 645 zcmV;00($-Q1?vTnB#}W-e*gz`Nliru=LQD?C%opu_@*l`8RnB_MztD5Dq> zfT*1i^$UP(9f5`wi~))pxBfl)Uo>LNP(AnhOMtT2{s~C(I>(oR;)6`*C{C}YXc>UU zT&8n0XLI@Zdyf4fLKIEnhk4xD z7_&Qs#Zf}PN`{5oWsiZCQux!wwXbUajv+3e_^LCR0=aMxX!DDMr2*{jYu{ak!@J=> zfX{d$PvOTIC#q&S%x<-jDZooV{6|>kgnZwpKqd}wYxsd=f2@SY$hb#Eb}S&k9(HMg zTv3%YQBqc@s^-1ZiWPFO4M~*D=J_|P6|A?(6}NK-HLIBgY)6u*rb@bti&?cbHZ_+) z2trX=Uc#*r049SF7JzMLK7-4lf)HeOgZRfnEqh}gfRd3A?G3k5kT+u-;Wi$GXmNg_ z&=!HaFCxC-dyH?k3BWujW1xKieaGtc7`RwJ*3dwNGCmGB`)y(%xu;tTT+OqDzDxWL zpgNSO2S?iiFwpnAld02#W7}ep(1r8a3Ek+y^)ds1>R=;)nodT*Ne=8^-mc@zmciZx0RDTsiRGKJX=a1#xM3vwumX(DteQucqzd$R_! zyR%A_D!jr!_WSXBZ)V5)zJ&bW;-h~9%wqJ8Z{?~Ea7YfW8-ETlUQjKtNKCl?fn!+I z)s~<&{GmlHs!NcYH>qh81gJJaj+&7GfWw%!0;O{wiVjtws{xnmUEWrDLEj{;bM9s8 z#GurU66keI;i?3>4)2>N;2O6x0ERA`z6bbWzZ9Aoq5lByQXetjoj#!Fl=CNJMJEFw2p7&ejsDOKbRq-i4%hGA1A zYLsAg?+}2~fWYWF4j6O-@VYkyJ?zZJ0o=jQ)k=9Afx8YFCllNQV`wql>%=>Z0JT|f zXd?{8U4H^txIjP%xF5H)A;exX!@30GQmA0+b(91!#G|Ojft&)ar+Vl6IFMJs&q$0J z8;j0LFG18mKk>g4;tId9760Hg4iLsxgMoh)9m8Y)AP5pE2%ueTt{}??X2ejS{|0K7Z>bnnAxR5~~Ow=7^QyPMo6k1pqeL z)B-TJ9UL(R3~&9=#7TiO2p**Nd^N3?N>&7bJFqpA*@&k8bMbX9!vf7K;A6hs&KmuS za5*}ZjLEKuIyW=D1F5ML9>0$^YC`Vi@OgPySpR8;CbHXhw>~;*%O@0+v7g~`1N32E_?!8 z+KMkj4NP7DdvXY~=gdpllUXzmuW969UVqAGEovto%XtLU4X?=Iu(fHYHmZ*9!cjTS zYpt!6Zj_-2GouvGT1nl2(eHNe9n8hqR#I0d;j#;WA}UFLqx4tu9RRqJi%K(ILj5Ne zB?5KjP}s(82EbGs5>|Be7*Lb{6#^570zk;}Q(#>}UjSV4oueIeC|jKW^-I6{2!EJ( zNZvo{AAv)u^SAxpU<%}>KyLu)p_9A*fj+W#`6*QV1M`^w8K!1v=nMb=002ovPDHLkV1jygDq8>m delta 1200 zcmV;h1W)_o3I7R@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldl55&Gd| z000DHNklziT5$6vs!45;rcatS(oWfTPt_SMAQa2uiW?jwSz)A&I5xnjDBR zhPxslGz6?p#mb~Oh;VErWeRya*=oYLP@$X&k(*%71hW52-ha&6K5KTClvl*BkkG!5 z-kV=L-!DS{xA^400COe&7GFhA2RJAL&kY9|&#)F)MJ7D|$T2MJYFps4_@jj_tSgYo znb@?E0I;?|2AgpL0EZB52aK0KW-Tm3*8?6`+O#S2dHo=9g;GB?j|`0MxIjK_DX}XH zkd(X_L|)8sFMkEF@NGE7lnU0@z~tBTlN9mHT*F12x6<;4>y+`D<(m4ff)=i8_k7>= z9g+sv$6?^RCQoazx*3M2R{nV!fUH3n^zv(bEb$f1O1j5kk8@5YDC=2H63FuL=Fb3( zYshzT5?J_do5wMp_!e%cJr>&H$UypxSK-t&606anIe$TvINyFMj+Lvd2BY*Pmixtv z)pf`#b6t2xX|pUhvoz|g?lk$%(s{l!Y|$t(S+}iD5|OeDwOyYlxYeeilQ1*dK6%GZv_CSK>(A> zdBDK80DrCcW5`FX#d$!i;Fofyv?+j_7MiIA?tmE#G3vAuZzTY7v0mY76tNoxSUwj3 zW3V6BxXM^Zt+363xL`7f{G6zO2=*Y9z0649@_oMbMm?<}ei6iskQr-j^c12D`IF!W z#-`#I*$56#m8~FTGaLrf_!u4shhg|eJ@kVx9DjCiJ8p%iCkcQ6aX0qt)~V*r+zR{e zN3FX62tkkW7#|{ZnrIZn$DOokRr{M2WWn`sEFmk!oj5DjR{+>(*G-XaM@WnT;_apg zKb9H<7pa}oh+d&!#Q?YiTcgZItol#cx0w_Rl#{@xbg!8v{gQC0a40FtE{O^?Q@sN! z%YPC+w$rwtE$oe;mh}0;y@P=<%=8YZDE^;wJhT{TjT-oqGIrcLLRUJ#!nW@h@yU|NI?TkhmU(frPn*kU z(e;k+sIq%7K?Lse0qyfql&~j4m-l9W0)Oz^;Wl6X43@MpKMg6EG!OQq585;G6ZT|L zn1`1*b}-NRlLoexYdI?bx#1-~9yfOF#6nesyKrQUvvQ-J$QwmyLd>|tlZKag@nDbJ zcMj%!R9ExzBwVxskVL7b^SUqiTL8pN&Pz2f`A)2I0aTKQ~LL>15Z(Y@Q`$HG&ll>QlYO0y`iTlzXW|`kD=b2Y^(50qg^?v&TA=eLtK75GmgQz1Us=&{I_z;*Vj_1%nX- zU7dCZ!B6Z!R+#T_KiVLuvKAp#04ciK7kr~jh$pOpNA#CS)_WAH^!OL^nEx5I5dhZ! O0000qWPz)7JWKz0vR0QxzUC8H2789Nl6GGyr^B%5Sz*C9iJ z4E00xNJ@?@UNUtl(1Tz?)~EaLj=w1W$6pVb)6cTMnJpPWe-yK#zfp50h0*iu;!R*z zppFk_$O5QwHxK$b14saWL_DM7W}Q$RfR2D}<@3KsEb}r|px7-u&>`lS05T8-{cjW@ zE-ex~;oBfUae$yIfA05BQLGePqwY&xU;pyYT?zmQ`CL=ndSJo4j!@Z~`pVkhyaElv zhJY<%%PDNO5il;}dZ5y)@P6oa!6`(*;Nq1gA=c0!X6>2-q=`j;lEOK>V>3hzN&ydG;q?3C9jg(;!Rb9rJ2hxt z2>9_WnFPQn1%CRP_G!8?a4*t6)wqgu)^e>5Dag~?r#Dlm_U39oMZmqZq40#vHw7v~ zA78vWzxDNT3RziyQ_()r5Dd0qXO9b&MVH+Lnf})h4b#Ztd zG8~E=RvMRH4Zu3s>=>Y7Xx$g;?bs>wM03z0;A{Za!2_@^f$(JyDK@#*{V8C^ZXAvg h|BbRo-9H#Y`~eMmes#0-px*!h002ovPDHLkV1mTv5M=-W delta 580 zcmV-K0=xaY1*!#*B#}W-e*gz`Nliru=LQD?FC%9C(eeNQ0u4z-K~zY`?Uk`^+b|G@ z1%nUZwgwVFi>qWPz)7JWKz0vh0QxzUC8H2789Nl6JY?x3B%5Sz*C9iJ4E00xNJ^0` zT{3kFau7^N`h5TK?w6D#@A1DwWc0IaPi9L7P@j`o-k!)glftNZe|qsMu+LG&8#819 zRJfl9{fq$w03x1IakD0o9Dt61X65sLL@csmsz9+{c%VVdZ~}-x@5jF&D5o=Ci zvyFgpDYpkIU5EdNf88!Pg$Nj2ys$}#HB^Xcz2*R6Vv(e94j=eF>NW)^VDF>zL`4l* zt#(X}k*J_fA-}xev9m-M7EqTD_pAn4>U={*emed6uwyl1I5@q7V$w;|6Y%RtF`dOA z1%CO?45JwWcg!s0u!?D~#ace6AWv@}UrizFo2$bZ0oQLsf8q(5ZwzQd4_`bQKl<`G zh0xY$niDm_U>zoVT&N(o(Wr@`1Jm?m3_x^?uAFy-NohGQA(+Kh+G=kqQ#%VBVC_>d z71TJImS}<7R>_!AFGZW6YLyHn$d)exv=;Q@yciDK4kaiG@m1yh8!pAJ$Zn-}sZ|H8 zgUyZsYKBrpI&a5Dq9>|nEdtIuU>!UF8wgK!mtvDCH900009P<#-)Z($;n))N?cvpdAZ zXtIwffr$qZWw_eA%%O!6=Ms~E#in8=5c+c^3=_II(!7fx*L5l^i3PVhCO(y5THosa zlFM5tmxW~u*Y#;$M>2aIqt~|Bn;BduVy(m&O-a*Wl2G@p7VMRtJpNbeAAy090E|aq zl%%;y0GNRfw-AUH_&9WAMp>I{guD!V$oR1z`FH|13Ym34*vI4m0000O{0xu-^nM6?l z007!aL_t(I%jJ?G4gxU{MSFt^4nWuy$cB#JIo7I$o8ZB4m=&l(LIpvvG*pm~EJHEy zi$X#e*PqFs|C^`OH%$onTQk22lmx9oiAjhtz(yq@5*S6h-hYnC+v z$lzHRj>8rp=he=N^1U14Cs2*2X=(m zQNty%=O5%F?D>q#oe0X_}yAe*pF|<%03M ze|K5VGAyt)e=f)VJg%)RAJ=-g@h*Cp$GHJq5J3eB0DR@(i=-9}3^MZz zh`=WTSlyd=b^_R!7<2TFfJdK<`}j&hU>XD51q3MV_OUsr5nxTTfQwmC)(DsZpp8>G zFe-$N&lNf{HQMnZ%K+rUwF&5%<|qG1D5)IjgUG{O(>x7;+_4w}e^s`9J zrPX5AUIb)faKq@eT5Wk!pU1#32N-=i%`fMB^8j$3Wn$EjAmHpq+)Ne$NSvJEv$s`0E3!Fw8n2kNa zA_kQV%t;qxOhjmNCnVD4jAs+Ta?>YDDFBv}-O-c_Owgatl#21~6o3bKn41rX$sE^V zxg!nSt*t!3xaUuM7T!O2LtW?ZLM-QaYR#0X<$nrS*F_fqf1oKEL=OcIyyT;-m3)-< zvGSkO%Zy_uy5o=41;By2ve7~b!Jm`?*qYYG4#@j8ZG9ndAk_A8t*e(MLpp=&LafP$ z1QfF%Kvkx5cm zRls*rzLt;50P*}49<(LX#GB-}WD!i5B>K2HcrE2&$!4LLA=UT&;M{z$(J2L_r*SP>lQG@_@@!p$efvxN9IRTG8Q*&>W0I)p`^aJ&7KAxvEOynT|g658Z zmjRS1e|RA+{7S=}nVERD42uwVuA|V8Z$~c=O0`AIVt#ZR*Vhf1uVvqtpCb!xjNfLH+dVh{f^fHF=4qhNlR-mr{*7y%{#x%)cQ58h;k`T?bU zGqI7!`hmm^hwGw%sE@n`>4#vVL_lQpLz#g1fBNBHUyBkrk8<-a00000NkvXXu0mjf D*5J^C delta 1509 zcmVO{0xu3omr_zr?krACmLS z5m4b8(@HI_ukI%S5d-_Y%3DXeXz*l!c67O9?Dy};pM)@YQ2<>5Ex9Th=?o&cSl4x< z+Lec*q3bJ&`8N?@7!?KV2(hCFkEAXC*bY-L!=MPOf`*|7X_ljZ0Gb8~pkai-t9x-e zz4A*Bfdd8bAcGkLx?w1wK>!3xY(I}v;3}nT9^wL`d2LykaSjH*%Ff%v16pEK#$B_W zSVZgi_MftXPZ?KX_i3DB>D!+CS(<-<5K*DTj*$R%rIgRl%@u$|AuI3V4^OHIf<-{84 zhA_fi(>(Qmfy}WO0#&wkw8 z-rNVAXQ>=jBnUXW5jT@X01_u>`0@&Y{dA5GguL8;6Jjq&q27}5Zq;V}4g!;#y#R3E zKjXmcM1ekRL%-(TOeO)~Sm4x?z-;UR7SXSyKb&MS#zX{T?gT`#oY8CyST1CDDFs-L zo!jSN-~!cr`p~fL1b_#4XlD-<5tBJShvkkqxLaGfQ^!0t?OFK#!8g=31B;!C%Tgmi9B$iuWU3?A=r~509(_# z*a3OJ%GVbH2SRThS35@0V#qU?A;g+|NPu1l=z2xy^0<#Cv7ZOTJsmr$4;V%Puq*tr zrht4=(L@qJK~cpUvI2C6HQ6qzz(!M9lZ8=*fG{CWwnY~LR!!qp;x`~ftu;awiMHAg*A{s7?CoXjutlHZz4OTIs( z1tSP>$*EcUdH}BNWdXKX_psNJ9$@#cqpx^&_Sa8F5dh4^_ue!OY+Y~933&9GntQzf zfbFU857fKac%E>WFoF;G%^d+R1(c_M;03^-N;R90v%pt+uon7*seoD@n0QV}LI4cQ zgq+ z|5mp}2)yS7f^lYp2vZmtKpBQLSAwAyX$-T1fn)3|it6qoJ0lqA4;}2Bar;k|3IzlG zA#A=u?+3;c8#Pk?kOG{Pfh7FFFEs*nyVxH>z;YJ=O7`$C1(e50VC2sa`67Q90WJW5 z7x{xXnV~3 zVXL~jlW2NnE?b9jlKT4pyZ&xvUnxN!i~IL|_s^h*e|b8m$8JEMommA;3E0u&vJJ$- z09L{Qg9Z=_(c_vVx@l&A){D3ThB4HX>tl**yL$kHfK?U15s3R*r#Q$G0Ab#&D`10< zGp&zX0y?Ju7E}X=8v^tWwz<^$#Q>@XxY`hK3~E5F8<~YlsWk!%7((k1`wan*2noR8^u-j@#oZ&Q*-d&&Z zvD-i)nbxGY1>V5I+NZayHIw`Nz_D0Cq(?>}PSy^7a4rOUCwJgiP>rnp5 z4pt)Y3Y0Q>#~dbJj}rjyYf<_naG50F=Z8lE9Zq~fgwJDQWF?uL+8$3vwY$iwO++nolAP2?|qm_RSa;Pm@9@YV7cpp8;>i-mDe*qyft8p&vK!pGR002ov JPDHLkV1o6|O1J<3 delta 718 zcmV;<0x|u*2D1i`B#}W-e*gz`Nliru=LQD?FD4e3C4B$@0+vZcK~zY`wUp0_;y@6_ zW5{I=3%25MA=6_vFrc7e?lOp;qx1`i#Cr%f`zT)K;AJ5&kFysc7uj>3VXL~j^T+gt zxojVdv3^}&*H>jb&KDM=$NKU2k@+$n;-{Oe=+*P-IapS}f`B8ve{Q-!#1x=Y7+~B0 zBF2WUq!eC~s{JggfJp>v;mUJ@d%Y6?jKQu7a1n?`QYKi)1^}jh*;T+EUzbvz4+IQU z{LQZl4)z4dBOG%h<%v1@o12qAU|tf2@g1B^EkK#G6>c_2XGhITs` z0ml^r&j|R9PJt;Ae*uZ_ouo`59<#brgE1Dh+p1G)Af80bbP7#_3~{JVsR49%Xd0nh z5kdh64Jh}iLIOk^P~M`*2uz~=LQEAfB|xQ!hAyv*8o*NCl;JKHw;YHte>(#pYoIoq^E~Gw+{z?5 zSpmn*f#7Jiq$140tGRsz;u>lo{$3PqfQeZFL{7l0xaFTMg#n;91oB@}s%OsQW&$Wf z@FH)l;`a{Y_0;h|yf%TW5YHlRO(o~W&4fP-oKfySTnCL5SLjAOe7rB*nK?kg`9uiT zxoN%`;tGeFf3*J?n!r-7T#0keyMW_?*?!-3=E*Mrt3CkRnfAoj*sAxQxSE!1)gPDV zqUQE*&ibytHF z9Mgr2KgA{6sj)qo%8s4WpUj4827a=mMadh;OIsgCw07*qoM6N<$g3?h% AHUIzs diff --git a/graphics/pokemon/delphox/icon.png b/graphics/pokemon/delphox/icon.png index 53ccf86a617207bc5332da07bef0e3e83d16f1c4..fdb83b6dd428deeb428eac3a1006d79d1dcb6b95 100644 GIT binary patch delta 304 zcmV-00nh%Z1BL^TUw;7+NklUq1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdlAVUQK; z0003CNklaytV63psEo8gBb*4j)IZ!X6BqZ7Jq~nqf$rX=c%l;nLAz= z97_{s>VV`J8b+t}4iV)7FzAb~Ll%%G0o-SKd1(^yn`Iw6*)Gq8>kmg46Bw`RXLnqTzg%M%Q-POHPJStE(!Ar9LH!moReG&%5Rv73-66P)H(N8}&2{Y-i2r~ge7@#Q3+z7(>?}spU k@gwh|A8h4^@_*>Z9W{pBQX7Z!SpWb407*qoM6N<$f`?s_D*ylh diff --git a/graphics/pokemon/deoxys/anim_front.png b/graphics/pokemon/deoxys/anim_front.png index 26511c8ec189d84b90de32426619ba5a47c12bb3..d2f3e993818961667895514e9aca7a3d3685cef7 100644 GIT binary patch delta 1385 zcmV-v1(y2I3(O0UbbkdxNklr`&8N#)`$Z?xK5jaJ&5 z=1zJ)z4vC`oA=&YmbvH$*4{-A*_vDR@05BJYtn`I}PO2Uw%0=RbbW=&0xetkt=aH0l*2@H*?) zuNV0_+oNBv=d)2X+#`=z>cO6~wm%870C=y8NFD+W1KOt|fdhjGx zJ1Kz*98p+uq$nFEVp6tM5Gb560+^;R#Jpiy?luf1j*bg{i5Z9SooB^dZh?njU={06MyiB&KQBw<>jl=r}Q93cbch% zJ~}71&%Eo)%ThZ!p4bLZ>P;ZPuC7O*0WrZXH}+9_2oUh#>;DG+4bX5xB9L35=VHix z&M3>~=!6NRa}xRz0Y)hwrkz0G<58E)o$;a*So+{`T5|s(>jqYsj-D#{gG@iQ06I+b zV+ed2$$#*{co(o~k>+Orc)ld8HSi{Ybh^ZhXCsSjG)NO*DY^jq)eT_WAMT|ktW%&i zVaCFe2RYmTl?F4KmR$jr(R!P_87p)`1M4b`2ZccPxalLVi`=cNpY6^(%gG+MN>Q3` zs-La@L7->>bJ+q67x0A%5Il$$@L1NBr2=FVaDOIvmon+m^~Tn~K{mMol6abmoFlOI zi?@LbA;fq=M_ZuK(bYDl>qAt``#-JZAMOqa&b0A>6T(i%SvF1#M+`6%9=~5^+n_Mv0%hMdfkd3HHra89 z9tnYs4VvwFnZ+clGcbhYi8!X;LbH^URi>tS4T$7i#FDy39mbRwr?rcGc`p9cU1JM4 z(@8oPdHup({TlxxIcvlw5%V+`^UW9J>3@mtO3h7VxK`Pseuo3X%*+L%5SV8rt9Q0~ z{Zp&)I;R>~fgd3fMe3JUs#wWb8%eV>jkq84FK1??G5=AXYY2$P`!Jn z&Y~zvRj%T;9J_a+-oGab;C_tp%iBPR9=^Z2TKKDMjxnAt+cppwU0q#=FsOie*0vE+ zM!&iK7yD~Ek9CaOHV|-w>ktE~lz%u)b5iU$>EYE4t81~0cf=Lo>i(>O9rbz~2p9)Cxi@`uxc62K0P@w+iQj*6rM^ z#(dBTkWKsNe)mrV4OBPWh9|Qwpxn#{w%ZLz*bJfJ-A*qh-ITT-FXc^XvSOjr%WaRb z>Ct|`;+==x1dK}B0obW-MlpC$Bx!)4^5yu r?V2`j1@`_jy=6YAmb?uh!|Kof%q9NuLr?G*00000NkvXXu0mjf66mQT delta 1389 zcmV-z1(N#A3(yOYbbkN`bV*G`2j>O{0xu}>F9>=700lEiL_t(o!-bc>i`+&O$8{hO zOqGd-oKY7aq@Roqo2_;tW;@KQKtqF1MawyH5Uq z{0*_|RBo!#Y3KKtg)d*6BQtzqa3e_#wQe1Aj+-<$Ut9S;GY9Wgp& z;^6Z~jN&hPZD3o7$CNO)hcMZLi4gQ7o4Gx}ari`tGmM$jvxVYQ3BX{!pxa5<6@l*5)T}>N4JI!Y_^(_FUX& z!e_r9F<3b0dwqMIbR5M`BtwO(2$A697OA#IQt&nkKxF5uE_H zR!fJ8k{D5DN<&JS8}d?25gX|)DaMB(xZ~(PS|=tY&h6DzsT`e5O${j3ApjsZw*gatn8J~3=O`Tj5Odhq z|BdJls5wypkQtt1L&_;9n4}3fp#yP(JX!!iFy`a96L2Ynx+M0T=bgZkGKb@m(?_Hm zSb-cJS%30}sruFc@HoyMGnZn&@E%UufQj=sJ7)~yi@c2mUI&1Vm!NnO7-(yu&;b&I z3rs!Q0owiHPF%9J1U6gfxiE^ujO~ERf}Tyotbl6M%`rLFG=~(huEG!~0Mb*eSCY%j z-c&!+o;!w>o;FHRoNcS0sXhSEC`EBnGyq-pR)4Ak2m;XnPK!-tseqymSW~!5Y2o1Y z!PdZGI^6+LIEzKb0a*LRo4}`U8)gH5Tkd|U15nk{;pt1|Xw#3>Dl2Sb_ zG{6$cEEdzc=(a#n0YwyKX4DPnKqHrH1^fFi z@P7-PkWIQ6=sXpGhFViqhh=YTI>5sd#KDK{0l}K-6GE%wENc;i5rg4|+GfjipA;f& zhRJtzAQES*tvU|yu@KPMSiLCx5c;V-jZ~+5Q4OJ5gP!euxy-DqW0s1HxR_ z0+IkEX-WL;jPX;W@mgmJSTX7Y;`{RFhE$AbqBe=sbA{L+^DpOmra}MkK2s1Bp-=C7 zU!C(nzt^(zaeEw!nVKO+PJh3m z+34-Nay0G-?9p$(mPOtVVE64i9`uVEQY{yba$%-vxej1lj8y=awenHVos_uDRhCz2 z8-P(zzJD*zecz8|Cd1Y!L`g2MuaRWzK?wQFTB8tncztuTpsO^29M6{1HW1w0+-M6yUFC$EWiypxn*}rriw`Y&(Q{_d2~S@V2z|cxGAbN|VVt zz1;U06CV!)2ETU~pjFZiz`P4kCb|H>HvDxsQE#?)0-bvl`heL5)C&`D>r$T|J6f|j vZWOEGzm57x+YLCw0J;mP#+YFfYp4GQ%q9NuELoSw00000NkvXXu0mjfOyZDW diff --git a/graphics/pokemon/deoxys/attack/anim_front.png b/graphics/pokemon/deoxys/attack/anim_front.png index 6f4e960f3d8fcd3b94cbfdae468fc460d1055037..0b43a9fe11e147604f6fb112102d703d15d38de5 100644 GIT binary patch delta 1608 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 Ef+DLmKmY&$ delta 659 zcmV;E0&M+;2KWV#B#}W-e*gz`Nliru=LQD?FDf4)X;uIL0$WK$K~zY`m6WlL+b|4< z9Y7BdosFBiM9Bk0rV-p2M?~Nu9eO~3uE8ZjA0tB$^s#z4kLuR3ewR{`o%mweMm2ch z=bt}Cic$1`hfhZUH6I~VIvWGTutW}GSc1Wb1cMO?7K0d;P?Tdfe+-OB4s0rur* zPhYFpDf|ip8}a4c7HF!!Cb-`=GxOnq-&Mr}aS><6-NDXOe}wGD1!Nz<9bi=F?M=j- z#Ff;s%~67QT$fLCr@qo}wv6}AqGEGD&>o<>e%y8Texz&we{ipG`7i_$?T`94*Pn9O z4&=v7LF;_l*%Zn2F>A)nuYi^b`)s$TOH%mfo6%@?k&PDHLkV1k{wEIj}K diff --git a/graphics/pokemon/deoxys/attack/icon.png b/graphics/pokemon/deoxys/attack/icon.png index b75df8ce8fff088d7a76927908b3e972e821040f..ae34130ee00e4ee1309d95b33964fd2c547dccdc 100644 GIT binary patch delta 397 zcmV;80doHB1IPoA7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCYBa#P7hw(=rZ-Q(Os%XVE_$iyurAXOql0^B$x z*U+g$ht@(U{uNus{|94#Jpj`T8Q3BfMzm@#WJ={jDs;!QNCoJQr6_J~VSu}`yeJj! zz+Aype&BywY&%y2n@SWiUU+f`e7s<63YE(Zx+e+^L($5$r4p{4vY?XVauS(j?41Nq za%rZM7!SiH*kY-%U$M86KT{Kn#;8nWyea0ID%?kOFLG>kr#j!l_2Oy(p}Bp~ei!a_ z9k|e}7a47fCgi%kclAbpZJB&_KoJIE r0S7psyj}4)jOiaiIPCWNa~wVaMq&Y@9nQD<00000NkvXXu0mjfy#cN} delta 435 zcmV;k0ZjhL1MLHl7!(Kt0000?P=%ZT001*kOjJbx005CGFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0xv6QCRxA$00BTrL_t(Y z$L*8bio-ArMDtLP2}q;=|JrKg^(9W7hh?9Znqq=ys+)a|oBsql&E#Hy zt5+EaG55v501OQV2Sy5@JDl^0S=z}OP)7kpi;=R0@1(&wirK&m3ORE3ALl&>U~0ro zunfTgfWN`YbAbFDcC%x>a4()J!kSAR4h4dIabad~6$pU|zwMvHJ= zQNd?nIKJHefBci~2mF)1C;YW`u*1LOyTQNd3;xs7Y#FZj5Au?3;<(^HJ1X7_{x|v= zd%_>hz`8T_(bzW+2w_d{U3L7EejRW(bO-)q+wX|Y_^rpG<*vv zG5rCko&bEZsxmo1+X)bVT$xOsuC{s>$)$l6L?Blx(_->kjFyoAIe%Z{s0JnGo(?ew9O1%)>@a& zNxddP9FEr7cLGG*7a0WxKTUxD_%{P00yX+i5LUs?Tg$6?;TV1HjbRBOsF3dy(W655 zQ@xo)0drAv5JrUU{$Qc?dGMd)!-X>-Zxy5Gue<$Sd{ch?`#ZttkEjh;ZjKnvqbv00000 LNkvXXu0mjf+V&pt delta 609 zcmV-n0-pWZ1;+)DB#}W-e*gz`Nliru=LQD?FD&*#%wqrm0xC&FK~zY`)s(%8<1i4% zbC62a4Hj(hTLf*jRYX)AZja;Oo+90ubb&J~@)Q;b9Hz*FZL!aAGxCRIM{&PXq{#d{ zU;i0xHeb}f8NKS?7HWT31CC0m*R=o&U==t5K%t)J5WuzqxE^?tf5Vsx)_^UQ-vh-H z07feclLNFJ0SU@v>U2A+ry#j9sDlXPS`}K3UQ5|BA+Vgj-`Pv96Ay`H0mM*6_^C1} zs6q52(B_4bNX<|!h!1ldgeWOa#=Y5U)hk(4Iv0MU)!q$4AYevm9mlA!%_vP?Giv$v z=s)g*hHM7i10arrf5;HR$Ylya)diu)G>e4_{s2hRmrj|uAS1y3Glo^LHtzMbaDqSg#)t%v+{pKl=qN(-Q@xoa0@b3XB!UUs z{Gmp7m)?IaXBRGzk*mFo`ClxrReBf#u^RxMRBf*`ocSXmf9k(C1|(0kwzj3^o!{22 zyA9{SDeRRNcoE|4CZOaHq|o9#BTylS@Jms#KS~PF@@!62=lp)f*k#2v+jk0?0_Gs( zaCdDOZ*%gHtc6$dfMk9EMBV%riReNXN@7oxp5LdA02cwz^4;$rMCei}!y^AWMS!;s z3IaY6oe!`5R{{u2_89;!l&i0sv!0#^E)6RN?qT(SF6U-_ykYtif!!2B4?stIE+bHC vKn6bgc@iM5IyT{e!j+)}6M^h2^)>B3h;ZjK0Y+~u00000NkvXXu0mjfD5w*y diff --git a/graphics/pokemon/deoxys/defense/anim_front.png b/graphics/pokemon/deoxys/defense/anim_front.png index f326190e0a1d86819d79cb9a99b4d94e0cea8110..2ee6e0c527eddef7c6f11f0f0e651cb6cbbf429d 100644 GIT binary patch delta 1180 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 M07*qoM6N<$f>9X_hyVZp delta 565 zcmV-50?PfS1)BwsB#}W-e*gz`Nliru=LQD?FE4LPo!I~Y0scuuK~zY`?bI=^n=lXn z;AE?q0&jQ~Q+*6U-iVi~KZwrn4ZVmduZt1CB6tb%uk85@wn4l|o!eVb;*azBYB;c1P)c1s7snT+o{3|nd^Dc`qn6lDkwF0aDGc~2F7!O@e)J3rff56}z}xuAG3w*V}^AI~ zF)pWxZE`UtAS)#8#3=l*2XZK?@PTDe_7>!shQ!+p>VAX-Slt!URUmK%kLv*89>`$Q zXyhw_GtP^c(9gkObf5#10;ziwfDscq0B)g68y;6Kg3q>*e{_C6iqZZ5zO-TTMKl52 zj7-}gENy5NfX3@>ln@&&?wJR?3yONsVMs$O3YoprqFxR|7MEQlq`o zj)-}j56TP#_X(|%_xSk>2PO|11|40nrCr|V84ekyfNnljE*1FiHbWc1=&rsWG{gaR zqzm7z({C36D>I)tzYWyVsyWR-1t1r|EmtCf|H1JG^oa5Af~xzI00000NkvXXu0mjf DVhjLG diff --git a/graphics/pokemon/deoxys/defense/icon.png b/graphics/pokemon/deoxys/defense/icon.png index 9e5448959600e770239e29fd7155755fdc0edebf..8c423d14b93ce94b4da7558e1e6a9741dc1b0886 100644 GIT binary patch delta 355 zcmV-p0i6EK1D*qr7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCTnM=bX!M1=Pl002ovPDHLkV1j`3 BoxcD8 delta 401 zcmV;C0dD@D1Iz=E7!(Kt0000?P=%ZT001*kOjJbx005CGFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0xvM)Ly#;000AFKL_t(Y z$L*BCj)O1^L^)Klh2(ht|7&;bz&0cyYI`P!w!*K@81mS*XZ^AOtjnspK%yKAw{_bs z0KrXvBVeW?K7ZQ=imY1^*HSP83IV*BH2U-egyDAn6Rre?q);~YLW18qNy-U5!=3eR zTGrWIn4;bbPIMs{zz~D(2}F0d2@p?0Vxzd`ydQW2BAh%DaMkOKbOlJTY5Z`{En47c zVM%yqNVErva!zDO*cBjAG9Y4NBiq$ufb0{W@u*|~{&K0@?&x-NZt6~}lea#&&wBL# zK>rQj>puXc)!+K}L+ah=?=}M({k>~Z-E8#tqMe%6|3m*;7i?1^^!L%-3Y_}e=q{pu v=s%Iao~2X&JNe)GujD`95BUAye!czx-F_a7*PF3=00000NkvXXu0mjf%o?m5iq#P`N1Js&+%9`a;#+wzVE~ug{{J__6M_HNdPRuX>6dsK`D>U__RE(b2oa zH5LGKcbTU^D^{fIp(%L&abd|3y}R@;#UnfPdFF>}`9rU zL2C_U$&!LEN%qLUn_lHvCl2t1lTHCH7dHw|O{0xvO@M4-9= z008z$L_t(I%k7b9D1T%iQiuFn_K*KF=Eo24+kGfgK?rpTc&gCq|G2M@R+Ws0AW*p| z;Hq{-r20bDUDmZ8bghq~oA|NrwKc%3Bd>aj9jM4&MqosiZPC%Q#5EQGb9b7jKr2?H z>!B%lez>sYh~Az0hvJbP`aJW)xqZyE;bS3|%`KJ$17OXtV;3kFb3tnjWXY0(FG=>u opPT;U@HGzbhLa@$E*CWlcjQ&rVp3G>N&o-=07*qoM6N<$f1sx5Jl$%9=1uTd*njiF6yEx_Bm4cNXwFD zJ7J~SG`4IA*cgN-(qTg(YKHge08twb>Y1-!u$ZS7UU0 znQ_3_z3LV(K#T1ztHuiuKihuEC_uc~?<@dqwyz~)3&dTmeSgj&1d(mOwlINDetO^K z*usD_?c!%KXoWCyb5P! N002ovPDHLkV1o3qn_U0^ delta 352 zcmV-m0iXVn1GWQ@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdlL3{CL> z0003QNklF^=+nLs%UnRk8a yy}T;w58JTZI4kn8{cAN&Dc;>8xrQ#cC%0000FG%t##!NqOpbTL6B z01;7iaTf=dT^d0Y1M>DXnnqF9IZLpN;(G*gy|x?@w`bl z0K_s}WS;r%R;HMw=1LQVbhzWaVKR|^L=k9NB?FGnOi0u63m-_)40`Y6IA0W3v ze6`x?eWMR;pnnwdK&*BI`eP5<=zy{`m&_jT^}Ulr#@Nt1mQ_(Q`|;lJq<^5)Z^rMY z73YaPK2py(K_F%)EG=G`61~CX2EPN`9y?3r7vD((7>pA2xDf1?aGqA5{hTMpI6m)$ zg83xysmzNnzHjfM=PLb>VZ>ideJ;6NwWk=U*XFFE7=H+78FQXN?Fo7(>VU$Ggb~K8e_5G8BS7d<5m&O}w?T&hA$JHwD_G-Q zbZH8Z(1#C-tqcIN=EBk)9TE;u^@-Whh+E8(^rjmUFGXsCbqZg>a>ui*pqL zWKhpghj3|Ic0?a3b<(nox@3cjf6ZZs`cDW z<|1$pc~xveg*emt+}A~w&KRLH7%$TglFb_HO@9!Q!i~Uqr;PKp^b&g$bQ=jw^6K?* z1L#dWN{iP`sBoFL0R6=)={3PfA#{%kHQq#(Ki>jyfAS_t=_z=gkI$N5gzNLL1u))d zoaAgVYk(Nt4tRDC}|Ags~ud0ob?O z^?$dZyBi!xfX#QVgP^OVfdlbWq6@AeV|J*3198XR<0aI7NUAz*nNzsBEfI*l4g(QH z%7QGFJ$Uk7*XmU|M*r}!_hcK@twzBdD1ZNO{f+l+7XWW%E|$}U`0(@L9sotMg}7p~ zmwNyZ2{1{yzw8@V_CN%?1_Num&dlgA#7EW)P`sfX>&y!FKv?#mH}pn~-Hbg&&>edK z#r-fLLBIxzfNNw;FmMmy9L0)-H(tV6XlBz0nc7IY- z#avnf2TXH#)hlxiSo*@O?xN3S$$ogz2C(!wv0wkA5=_ji7k2S&5;`WEHJ>wP z3N-nesC@lg11zd8A#P7 z4L}0|%SvL+fNKnEVwFQ#@vRv!;eXS)0%9m7QckxLy<_~ulA-KFyjUR+ZFjB9x2h>D zf+a4r!Fbw8=ryX!3B?`EoM!|0OCL1YgRBO`(^C^rmGe$yYcLoS1xz}DtLhJNKau$! zV4gu~p5GsFhSlFV1`WKafe90BKrKcC&esUIc=66h%mj3}JX<561SVBt0Dn3kt?%^=P_QDk>E>Qk`s00000NkvXXu0mjf DV#LQg delta 1493 zcmV;`1uFW#47UuBbbkN`bV*G`2j>O{0xvUrO2L)@00o*!L_t(o!_AhzZ{$Q2$0x`d znk%wdDK+brOhG6TL!wAQvU0Pr1i1pSj$3Dw%mO!-PFe3xaiQQ}pa6-E25L?;CmOUt zQ+X?pEBk-p&DiVpjJ=VrW13_=AHVtG_ulu5&^wNuUhipOZ-3|#Lgasz*A3YA@Y8@0 z4~?SkC2SaO5RA#_*0;JC5^z9x5RC3Za)COD5RebY!8iz#&Q-`f2=5gTo^)@N&I8!Q zS4l8)y8%RD3*%XG?Ya)yM$G+L@^$}o8vq0Vzy7ivK)3#kJM^RN0Op*Z+kbwr{i94d zPtM=G+74hJh<`t#C%)?~=dTy7r|UcAR80U;&Gfc7uY#c7vv|%4`jZ27ljVg0T7-m z;!+gsmUIL_=uQH`0`_B!wj(<}jYM`$IpwUGIaK8c)H!4>smns_u4*BK3oF6d>lruYJASJK zW!JKoBXIZhD+R>B~d!H5AI#rN0u7B=*l@;-XB0PclJpL?N@3A@rLNQc? z%y&!~TM0KZ4}mwCKm{uv4{M-2#IrbitW$-Fv;mZVSRvdx88M{pA;Q|1DAJn^0QHmB zO{!dirRngjPDUu7C)b0I|NuZipP@& zPk-%3y@{OZ4FFzQ9&G0EDogbq18b&@rUF-P1i-90k6Hl`O`C7v!fax2$mWx{)dsN< zpw%X^9w2MCcWuwKqt8?HzZ+z$10iyF))gVIx*dqC8XdWUj!8Nlh&^;q=Aix1RJqsf zKw!)z5V}d1zfcxruI$0-CtbT&?O6JUFMr)ryGvOym;>b>uD*AF=$2mSKlAa7fBtQM z3m}6eGk!@YZ?=jzC9+A`zdvaYIB6RUsqMS9!{A>;E%AnN*jw8JzA(kv9Z-5bbQOVH z_5j3vKSG4iJw-qnMdo+fhkN7;>R-DNrMYN*rk8y*l3_{r04@o>Ql@txrAs9M z0|+TAk+Fi@qhAq=6lBFSR*(%JPk$8FofihiQtR$cUI7OrZWj|WQIe+*I490%I zx`1cWp*Rtu_JC$Zr3s}=DFF;mRmD)sidr=2S~;bVtP=t9RvHjvfR9`QSgf)$6Tqwd zX6-K^Z*zConAhwBtntsG4#c@|k43{?JPr)qOP6lbKBPvY1^;0mH2sGGfU-_(@mC|j zQtyJ`=k1L>ki};NkoJK#>P|alj%gnn{sjDoFzf-m(r8<_?JsC^9{h(H0PFT)m7D&; vv=4&5qyIom50JGof$9FEEk!u$_8EIgC+l00000NkvXXu0mjfuU)s2 diff --git a/graphics/pokemon/deoxys/speed/back.png b/graphics/pokemon/deoxys/speed/back.png index e587ac46c9cd436ea1d856b118e596a070f4941a..80ccd4f9985f1003638faf76d4b25d153a2151f0 100644 GIT binary patch delta 642 zcmV-|0)7471?mNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z*keK~zY` z?Ub=@+b|G@Rlwj}yFllHPMal5>H=L|fVN)1lvddgs6_=5L(;uok%1Glc8cGn|BfYie&%r-5AgjA@`_y~~q;fkp(E6d*|DtkaPaZQ^x*6=qSzf%7O+08*OV z>s?&W%+}RmR&m+1&RK5|tzewvFTZaRI%JCyCaPP0-Mt!NOw`}CRwBXcDbb%ewJ-7k z7N@tUuC~^VfQ!g8r3>q<P19kK`7w@D2_8id!kJVc(O zdwHA!AadxP$qr|KK&~eDA-3CVMcXP9+yY#zk*kRXZw>@zBcwqa4*(X+?^iXL!0~Fo z^@aywtNpZw2T0?9wwCk(gD|*tmtQVGpN|#-TkZ>F#KXh#5@M#q8Ptja(yil7?d2uJ zrVQt+-?bJ8sV^)8;u2z}@i+BA;jBe9?GK7roPkX_0s|IZ;dmy6e|{KK!l3gd2E%LM zIJ(LvDf5y{6Lc8ZhRzmy8GsE96+aD!*@m<}L;z+bReb#-0BOaaB#}W-e*gz`Nliru=LQD?FEr&YR5btq0zpYcK~zY`?Ub=@+b|SG zRlv|(yFliGPTM7m;{sh>fHr@?lvdd=s6_=5L(==bA_FI8?G*n@?;~ZyZb*GW1$*H= zy1ef_idpvmdG~ynejEorEf>>K;7-h!qbB(b#CJJD>;#A(@+occf0GH_u9C#znF-n^ ziCj&E5X){LCJ_tr#Ne@BMJzlaXe(tDfJGpb)@>dGU_mng_np>#M_JV38N@wlU3A-6 zA$1@WC4kHj2nOgtQGhKF6hKYoQ_6y-_}53hN?One5G;s#b^HVvm9qyZ&;#x&5ff8MGjV4xAfB?aUp73*}QM45P9hF(_3{Ju%(kS(?_QQh+E?$zYRMEzZ31rofT67}V$=0!Zf;`A2P<;J=J za1nVTbzz+qobu1<_j|q5B{c}az^|J1wH< zw8?NOWIUf&LzOb8nIm5eDO@6H@Pq<;{m{I{&=$o6F6SY*UoSwY_+@I z!vmyoKpRVXk46~Wy7SK$pi_fIjwyEqGGcK*zl50Ra0azxfOO+3e=T1^tjln|x@}`| zkh;P$kY7SfZZtkq4;0Q??50h)`p>|+9Dp8!aNLu^ukVMHFlhZ2z2Px%99?BsDOE|P z4mu2MO=pXp2*8^9idVy7wjr$#5r9ca6<@yyz>^Gji@&=rK<_(=0MK3iFYp&`UQsK9 SIuVKh0000b>k6o%gkc*@d|d-OuiR<<(LK1T;1DT=ye zL#9i*7>rcOmL=p@NC=RwU7BCA44;2J8~FoxydYH@A|QV(&rnKQ-b4n=BBkg~t^m`& zimnu3R{d!ar2zP>hPf&LuIl>^z^aCZTwUoKVe28DXx+|TCVzOa)B8sIE`uX%WF5&{ z#XD?wob-IFjGDE(NecFofYIZV{c0_o^%Yn!oMyu_0Ql6vMh+~4xMCl9TWa@Vzrn-g zzvxi;fK$|=5&6r!iaOXvCW418>fneH@!=MA2q)ObIXHytqC+6@T^Q(9hj_{~HtA53 obf|#6=ui@Wyc^-VfWP_i1EzY#7JT2{vH$=807*qoM6N<$fasU7T delta 330 zcmV-Q0k!`40-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdlOk||`P z00034NklyD=z4)VSOFvvPXo2HZ*H)#=vIE=R<68dY}pAnBm1Qm>EEQ&S7S(+ahs%}kb6v+>* z;N)uoS~VZ$FE?;gGcceTcA7;1a8*DW1|)(oB4_pVhSz666ufEt7abBGXd86Mcs!Yt zK?jowTx}SG4nr1kAy{MvfPFNgWswl= za>hUik*;5qA`CVdGfI8ifP4cH!yMpIUuOKFzl6lV8E8)ckDxw&UwRJ2hYmn~?>Pw( z4;dDMBXKLpFukTAJktg_-syI?|qQ{rz-@JE#W#}@m0DpAE3L8+#$m$8en3WJ$ zi?|3#n{%{pxc2)dGDOC1e7mF8LD?}uLf1;q98_+y9-~1F$m&ZEGlOI5Y0i1>@fQua zRR&SdAo^JlejPi7fW>tH7Djou3=qr9l07#m!YD|l0}-Z>uAK;@h7L`b$&V^b_oE9l z{19RC@T0qdH%MWM4izL8hEQ}6Kj8Vp!c-mPSbk{NbZCC0<3m*k3ayu71KEooMHn*g h(LzXfKj42q{s2}R!v%9id~5&!002ovPDHLkV1myskJwP8Cu~H<&TA%q0iFA8WhvpwU z0q3XGw=LjX5HVZ}JnHF6e(0x?7^DO32;dRa$L~w;f%wn?$bav>Cn4eiMB^dSE^lC_ z_8yS?`x0{H2!6}1q_Xrxk1s2KdG7({rSo+SKu4@$3sf@Y?g+q`l@M2pxRfAm&e6W% z+RvNF5E;A4>5jS&VkZd_y0&$eqI{C|I0qyFSv}2=B{(iKW#*v1bir+B5cSQ6zXFl3 zV=pCOan&;zrAUpZUV931B5kk8Afd75`0ahEs U1q*`PUjP6A07*qoM6N<$f+VY=zyJUM diff --git a/graphics/pokemon/dewott/back.png b/graphics/pokemon/dewott/back.png index de7039aceda80ccb184120ceba1ea7a13b62dc77..8130cb25e7efcbd843bdbea470fa0a9204170060 100644 GIT binary patch delta 524 zcmV+n0`vXs1oZ@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nSN8K~zY` z)zq)8AP;tMK< z&Mg}=wUZ#6fu$Vhuj*5 z+BsTs(T98&LX$j=W`H{tO1R49eW%HFv>pvm@}3 z0yY3Jc_&S?06+v9G+Oom`P8a{LtB-o#o#>;YBurGN(8Ks3-q1HL!O3~!SpKPUer2>As>@!u7A53@c1 O0000+1ndNmB#}W-e*gz`Nliru=LQD?FFSRSNu&S(0nbT9K~zY`)zm*v!ax)N z@S_QX1Br!x0CK=k9ZYjw94WWR1T~L@iNr)ckCHIlX4ov7qx}koPhc3F)y*02`X{}% zuVs+MTi-A5y?ghEkP|QSNW9_v6?9Gj>bq==oMAm+#{oaD1C|8cf7%|Idkk>yna2RD z5@+IZ_O}>!Igr0GVg=HUl04V3t+joR&ayd8Y&BkS0v>8GKg*BL`;7JRpV+xU;+mQVR+N z6wu=wxte)^-ORoYf3QLI>njlW(SSE8Cph?42CjaJn|)e!YK4s6wcRecNwbPdYf>M;+%@39nkNCF!Gn7osw zSpgsdZ5j=Gj2yMf;LvU(DlvXR{tg>_IUj4Ra$LS(zYD0md+m!LpnMxXVW*&4k?|nt z<3Oz_9&Ez!RbpCxeMS&31?T`^UKDnmA=ri?Rr@Y}BCYR_G=+)_A?Eq7?)`0-q}W7Z zA=bGXt=;!q0tRus@XZ+euYIzOG+qFoyQGKbc@kfdf3to8MDgDhT^gsR00000NkvXX Hu0mjfi)!SH diff --git a/graphics/pokemon/dewott/icon.png b/graphics/pokemon/dewott/icon.png index 23a0aef1980100216eb1ef9f5075e301075d2595..2925b254c9ffc73a36cae617d4ecae1ec13f6a10 100644 GIT binary patch delta 330 zcmV-Q0k!_f1E2$tUw;8BNklSS zA$7S&IvIXeXHaK@&;t=rV9{iiLOUx+pKLcD^UuD%Aoyde-_%_BHEAF4*TDl60f`(! z4N$VEXV?|G7J67fEi%SNGA%NbfyQ;`BD>d@3TH8+pK>IwVSholTQ`cKWJ(kyz!2GO zSSIe7ZqT#q`OH*a$6>s7JSla_YXOu}kNei$X6O#dWnZ|l-1C&EPM$0vjyBIs9Q@No z+uCfdW*QF=za2d=G$;!R7C%za!uFf+5j!w0Knp+`xS|s}q(CG67^im_AyB}SH09Yl z$b34nG>CD$_Cr$Kumvg^nH5@i_FG}B4DL67glTD51sU#EnCBr}0rMhE9g2;3N+b4! cApXsdZw$P=Cc2&U%>V!Z07*qoM6N<$f-mBZfB*mh delta 370 zcmV-&0ge8k1IPoAUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldnv3Bax% z0003iNkl=ZtF26r>i zXg3ltAXeHe>}nzVq;~bGUtLxGg5ZyZ-sRN#xoCWWzK)(CB7Y#|O@sm}V)+6ap(_y& ztI#peY%O`iJkyK@b>b|^>r0CZ>!GItY2poXyA302D&`8MV1kM4GsGSDyiw5PYCdyW zba5DO6;D!Li;f9W%Ev?RwlTvoy&g)}mNZSN9Q+$nv^%q);Gc%r=ksp0S!sXMx05Fr zg{tJj%16dZ$ZLKRK4K?~tI))pNub8SaL53~`532n%nYD_M5?NbH^_266DNppsx=2U z?17eB7Kt7n{T3JtgZs@NV0vLTK+N3&^K8ORAXfu~@&sujd@sUsj z>-M1-7e5Q8R~-nf%39p8{NS5svnpu|Msa%}5TSliCD})$l_=@@P7y2&Kytr=j_L;3 zLB)FjJgzdb%{2l<6g==_ykns*09w$}<1wZCXvg&)$wN9Af0#j%a^x+;?Dkm|}a3%$d#YEwz y7v%-6G7LZ1rqnR~D3tFdK!TSjJ8JyZF^o^^P~|umDS<@*0000F1HwR)TCW|U0jsJ5bO^z=)}+vuS-c645hPT7nSmc}IwxD=i^(^TS2VZB-b`2Az)N zA`U02Fc2%tTCGGSfAE@Mgp;i#Re*>CRR~_hVdB8=)`Wnc2t29XgMm+k%v;wlig9sX zFr4B@U`0}2mg#y2o=l5KS$FnuBoLv#Q90R1#D&P|`cV-~3_xEq{owAd#m!4RE30L=}6ZRjAV QHvj+t07*qoM6N<$f-Zb7Z2$lO delta 149 zcmbQkbeL&Ef<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?EBG!nZby9VoQS)5S5w z;`GGy$mqHDtK$E}%wM$P$0s`@JvrA0htL1i@cJS7!@lNkgP2kmmc9tk(jw);=# z+GqW$c>YVowDwPbkF&SD{qw~~?F>2FUVLF>ILq6RyJBZyDbR2RPgg&ebxsLQ0Q5&V AV*mgE diff --git a/graphics/pokemon/dhelmise/back.png b/graphics/pokemon/dhelmise/back.png index 0c9c112c4b028e02ba5e5721a5ff99e52d681721..fa076e9df2ac5711f246099f18518f24226b0909 100644 GIT binary patch delta 821 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 diff --git a/graphics/pokemon/dhelmise/icon.png b/graphics/pokemon/dhelmise/icon.png index aa9a2fe7560f2815ecb5f00fc8ac0e184b140493..07b0c4d1803b17aecddc1172223120c374eecacb 100644 GIT binary patch delta 308 zcmV-40n7fV1BwHXUw;7=Nkl?Q~MT`N>$uJcPJmK%J8CwgSQWr6O=1#*Py(!`rwp;G{N2 zSyq7BsG)%H{-_3{DHDjZ>OWtf&gG2i@nd2Y!lAs#(&K95Y=1`il0mdEUpmSFo~`g? zp@5TJF9*}!1g3`s;Hq<1ujsDxrvlu3RO*Ob?$M#TSBPaU8?l$@az#RjxBv$dQ%Als zLS1iJII8pZUH(l_J6LFhNuU-+P%R8mBTV>H7!fyN7&vUgFz_Qx$-jjOxnvh6JGKk6 zpSg)J!ns-)K`n<(7(V(cOa)e9_@0w?{DY;iuG#u8!h8W~+08d2B9yfN0000Uu1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldn%2OB0V z0003CNklAHk!N`LShXnk%H)c;dW@s{xhA7>O7ituFo%KOP6XrnCnwVE6WXqPp%g_JvZ- zn=4^fPznQ53QHqW2{ZpH3@n>48Q5*YWZ)(YRKm<$3p3Qh$UTJt?@M7ocAGF<2~&Wp kFnQ0bc2ik0d;YU9UuoIRH@tLvF8}}l07*qoM6N<$f-ua9NB{r; diff --git a/graphics/pokemon/dialga/anim_front.png b/graphics/pokemon/dialga/anim_front.png index 0668bf9344447ea90a017c5eed58061242edb876..c4234913be7e69af9649ffc54fd101904b184b99 100644 GIT binary patch delta 1972 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 delta 642 zcmV-|0)74Y1?UBkB#}W-e*gz`Nliru=LQD?Fbkd%ca{JE0!v9mK~zY`rIoRc;xG_~ zBj*Kf0un6_C@XEVNqjn_>i|oc$Z->f0BST7SUKWC zm$F3b6v2Bcq5zkO1kmW2!pdHPNC15l0NXEa097cA1|C3QT40}@L<8%Zf<5uXlt34w z)T2?>*cyL{34qsTe~C6B)pKMoaiIu=vxQ}{?^h7+ zEmL`qJzW==G38cL`nc3Gru(f;kv1ojYM zIFHoq3PBgP7b*jk3M~TtYs3nW9-3OjwxD9FfwC2GXiYNDf3(862tsSGva5m^2U*k) zIt>`^5d(ZwV7ywUM1`^wy#C2&-qL;CQ3Rf*;E>5qval+Eex z80lhhIwA2>0cwJ~iIS-XPNEhvA?R(0;wu*tcs&aFgZWq>Aiw$IhXjtIxC%TLAisEW cGC;S$KLi;47$Z?K5&!@I07*qoM6N<$f?!1*Z2$lO diff --git a/graphics/pokemon/dialga/origin/back.png b/graphics/pokemon/dialga/origin/back.png index 6331247df21bf8a3f29a6dcdc8f82161dec16719..a9867f0bd801bb6b82247271ca2836093153adb3 100644 GIT binary patch delta 539 zcmV+$0_6RX1@8oqUw;AmNklyKLhC<8xI>up&=YBGL?101M)di(+Mz=;#*hipQ0Wvr@fdkqISd0;nf8v;G zB(x2Y57Ap>U~=_{3&10_c8b7YE#LKX9OgmOWbN}xqX)XTwax=`3jugtM;(A01EH1z zPvC#X0Kl68jT@l1FK`i1aI=l}#2i7_{Sy)Z-c8uT0)OcKB|!N07`Qc>7h#s~#seH7 zew-ZxJc3lfa74Zlm!&wSD471Pkl|mf$f7FiHyb_81d#=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldn+cX86A z0005>Nkla;{s~U{b1q7FFq)R3DSw;%Yc&&4Hu+*eS4|89 z+CbUl%L_47Onj6$R{@qNmMZ`TiY96WG!{)FP&Ro1Vp0ns5{;<>EOGs=0U~j$g%F8s z#W#Q@@;UvVB^Uq!OeH38Idxx?IG^;jeKWyCLR)avVga zTK;yeWmIj6`{E00000 LNkvXXu0mjfUn26U diff --git a/graphics/pokemon/dialga/origin/front.png b/graphics/pokemon/dialga/origin/front.png index ae474ad614652756d6113a88fa179d4a81b870cd..7e7c7aabb788c38f2805ee57746e796a531a3d01 100644 GIT binary patch delta 991 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 delta 710 zcmV;%0y+Jo2CfE>bbkN`bV*G`2j>O{0x%Pee(%5l00NOoL_t(Y$KBMwZlf?50C1$z zfzeb9H}W|QjJ4AtBg7fJB{Y%RH|cG+m26c)RJcmr+gG?J>XJt|-S^pU5))1xPdX35 z!au%0#vus)!HDKxfo$mR>MKwkMFT@QHgFKz^kxtop4;$j7=L6|L?us#N(U5nCVffLSF6zg(v3L3D2LUFdpF#3XJ{URV` z_rf?9uU0HR2f)73?{y+slE!elrKU<84!}(%W0(c~Dgknvsj99d@F8G|9kEp^1&lmE zD_nj84A2KuC4W~_15~=e3^3N`Kv_^M0NYhQD1na=U^gRGR)%{ZXlPwEssy~;3Uc~~ zA3_;m#*#`<`oRw|I)X|GET{)4gw|#~7v|D_5BedR$qX0DoEz}m1A3zixmhX&9c5GS zy!O^Z&`r!InW}OsWme^nPaY^_RshIN1&z{b3D7=xAb-3P8N=avj>h(;{y0)&p02ir%n+1WkUMn%K>vb3OGJrNauFJpXTx~?0MCOr^x zJRncIlHLG|9etuc)0fILOZu?16LnFj=B03AfQ&zPZZ6r}O} zSq3~nJAV@Z+rXor^m;TPT2cV&6IeX=17Ha_+qD*y7-H`A=s?u94!}u{f}1l+;OF~W zhr@tFj*FBsd;%J8Y6>T1noV$jlNSTtvCoqb1wVr5mjzP-uFTM7aKMa4ny-NU#FVrN zu7n`yUI=WZID`n9&0s;a|DY}`upvY&;Rs&$WmM${R02TnmHyA;51|qjaOpzT^Z)<=07*qoM6N<$f)Y42_5c6? diff --git a/graphics/pokemon/diancie/icon.png b/graphics/pokemon/diancie/icon.png index 25121ae4e9173c126eba0d21ada2eb0185f44f99..39d8f90cbf6c1f47ea0eb116c63df9bba738eb9a 100644 GIT binary patch delta 268 zcmV+n0rUQd1LFdaV1MpOL_t(Ijm?s=4uUWchIxYq7M&z?wO zOX(XR16wWW028$_(H`ARxb43Dz1}5X5KO#?*DI|?i0s5g8w^U$%S<7_q2NaZS`8bK zV$gx$Ii8X8i$Q^4co-d_U&uCE?i1}IT0H4J&US7s$*R~C@PCcyoX&68RsV~0Wh+hz zxCk*IG8(SX@Os;x-|nZ1A!67&^nJ*da+c2BeKgFD&u;>DE7VsC^w8 zUxx!f%drl!j$SD6(V=#cL0TOo(qT(kwTK$0gOFASU`U6`>JTnG9q7b$cmqFrm8HFm S(dPgF002ovP6b4+LSTZvM0xQ5 delta 305 zcmV-10nYy80*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x%R48hT>@ z008SrL_t(I%hi&x4uUWchIxYq7M&z?wOOX(XR16wWW027r( zdUQ9@+xq3t_3rX{-j5e?-b$+(BB{7&gF(r8nJEM~6#R%ltAAl9VhlPEJjXq9elaNE z4G*IO^b1LX^*+)zqQ#Tm!z{I9NmhlXfKNo{ba}gO`YF4?+ z>Wc{w39M1XPC|Uy;AO{U=pvt8Y>50hAZ@6eBP;Ju>Ki)Lt`3c>!-1dWTnAYPFIR`! zMg}?RAdwCUWh&JwXsixGjyeECI#i<${>ssT{)N88l_L3!b`o&)D}) zvaLV)06DPr=YD#g=Y8)a>)i~y)4qqQ_w1-eAW;KElh~7AYJg+hyrM##CRI-cC9^=$Hl#+2Ir5x2PeaYD9a44?`oXAL)z#iHGf^kP-jd_fHpJglu#!jRDV|yz!B{HN(9}BDTNLY1HefM99LFzN_7i72cr-G$|6X@ z`jyp;Jq`5W=XABl6n=xp3P3{F*qfB_G{hByhsuuWX<`RNAV^OhtOgMpARts=ILec+ z)jeh7Ziq`jI3OUMo8u~A^>NoMCJCvdJeXIH4M5=%z@hRcSl!edz<)#OU{d!hRJgB{ zstZ^aMktVCLIQ-99=I`YAvbma2wZWc3EUKbB_&}jB6#We5WnGI*#tQNz<%X?*nb1q z_mB^OX~kO#`}0cxSOmp7z5Gr!inI>q{Q8eiSfnuinCH(eAmN$3HZ2bcBgltSS@LE$SB79%Gm|Y)$ z!|7|$%W*ZrdWmEG@zEBmb&_XWpm2Cztn327c)eJ`if1+8`hIzQraxceC{0&q%Xw~y t+14SyJ+spdkp9ARZixD(d9TB={sU?7hB)PL#aI9U002ovPDHLkV1k4GaxVY? delta 821 zcmV-51IqlS2bl+uB#}W-e*gz`Nliru=LQD?FcoASO7#E$0{lrtK~zY`)s#PL+dvq` z6-^m3_~al8>0qBgZYT*z7jBoicz57}hb*?P_W`n8vzdTN2GJo)K1VtQ1f>)V88l_L z3!b`o&)D})vaLV)0PTToN%zz9JnwsVwyb|;*sbO>RDNbh4FZV@e<13_p8Qe)B#X9F zh`^Uy2LwYPtEUbbCzdPac?F=7owxQFr`DmAj3X)Kuwv;;#)gLjc}d_xMzR3*&<+rc zyMnPZ1_KPF80sW>G8+K^9>W0To>8ZSItih=iU5AW&M!sKotRMQ05Jeu6hNo6niHy9 z;5itD08kb|64ooNX6$L83m>PgJtpw!Kb8Ozy2jq5gtsBCf9OAyc1%|jJ0JoahkWTmU#!-WaQ!>)P>C zI+)b`3Ki}tr8>34h7k&+7?S{Dr3Y@DMmKf<2wZWg30xO|B_&}jA~fZuVjY=RsB zV83!c=)D8%e|yLWz_j8$h5gwD04#!Hoo;rgYDHQHGk*2UCoEDJf6TI%29R*hGaojB zN-{m}Y7YA_&oAT|0ACI8QWKc%fLvleZ3^()*Z}t$;8{~(WXA%kz}f@ungUa(l11qg zPUhyeDUbu{lesN>6at^24H`&4nEO#p;OZxqGzXsNf4t&xFwY&nLzNJ+n?5I1pl~RF z#S$MSRgYN#_^|VDZd)qh{& zC{0(VE6Z7Ci0RfLyFInj4Uqo8Gj52f^?!`NY4C=zuz_x;TG`_=g&x(S6K zx~E_adr1@(icQ&mn)9T8l5R!=k5z4lb35mhqVgub&umuZt#Z!8SbrZ_WymvDE7KCT zoe1zLbdZ43rd`n@K>T6V0pNH59z+che`xbIt9h2!d_W_=hRL}DBT}AC(TEOctE06z z=VfZUK{^`}W*WyDc`Hxk4Pzq^B7_toxK zzia}(eVzOnz~di=k)U1pcw6-TxSOl_8$iCdEd)6=YQ7)U<3*K-V{vkPYE+&?0rl^i zUJ$23oEq&X5k1s?+tIh43vo=0RzwfA@3*pK|-56%qEKKFfb zEAPLq0ni**g34!q{`AEsq8$w23-WdVP^l63%Kkb4KCs46-OO^s5}gNsC57Z@sr|);NL+} zSN89o2p#pW0aS|Rd&<>82+kYhj2k;5kQvsO0LAnfV+6qEZX+1KMFcIuVO^8Vpr@R$iizH5TdVuaC>L>5o=rln6kzs$a;IXLHmHP zagnhG3E=pDmQ~(c0WiuPR&Elb2}z5Pzr6e9R(Tz?8E+0pE+J>u`5WJ`Y|ExdWedQ% z@k-UYHyl|hp7M$SXbVatRzbDK@4XB(k6X~D4?S$lN*pdhJq{!IFM|<0ABrKMWtU$A zRe~BViC`L}oiE{MeB)<5%eA)I60jFuDZ^*eU}QsofnX{OYPqDa1ogu@$)-5{2)-qx zgW20=mbzhYG(Q=tP_Ra+Hk}5+=kjm>8UDo&=b{(_XEs3xMG2rU;s5DKzflMkShpfOT@!Tl#%~wDQ~4Vl^ZNC zZDg29`4*N9E8mWosn0R=wAKL*=Ll~Iq$TE4tOYE}Il_=KEVCMNaZ%-eV_szwTU0?e p%_0t;AB;CNz?%;#L>{ z@E3)hoQls#m@-h}(}`}o!o;@?J(R-KnETH9#ET0t`nH9oZ1+&N(1TcJ=MA`*Qs~UF z&>pt8nI45XbfI|2MWL{l2s_K1ivA7#5}l0B#y&8{e7}6(XI}Dxe^4|eg6N)vG3=#L z+>k8F_A{KPrA#XxxU6Q`oLhOj92Yn6eP*#5Z&&gz#@hS9tU#QxdWDv;WygR|p+W#C zZCO<{1|%QWYyh?k;6Ypy$%hv2u)1rytp_yrZy220&?4nIg~n7sTV1uyIj>No(ETnJ z2-ONf`b0cKu>fZ*f3t0+vqC(Ly^_zje^vf8$g8Y4>cxU&@posq>%7|i>X%L6x3AMb z19<$yC>C^zA8(8PA9wS0Zv!aww}l|5dfoHlYP_fsaV$=bPxb1PI3WLB*NWm)h*Q1u zB&LQu=-ArUb0Ln2-j1mu54;Z7qyp}el+FQ+-iyC(b8RPUf8*hq&e`XlCvL^P*L47@ z?F69unYS(=?)_M`v~SPtowGuMcbvhRki%b@*47TGk>Q8kyuBYBx@mL}>Wub1QE8cw zlV|M|65dUt@?tm9?I*^xH9>_i0dhe{>Cc2(Dpv|C0;2?H>&<;o%iWUC2BNYsd`%Me&p5gy7#{Nt5>Po(K&M zt^s696#CNDK?u&9ldO|CA`lrhB7hRwoG}96a<}PE-Xek`aM%bE%^`k0eBZy+7NH0v zSaStTeSZ>$STD*zuGkg(2cqzq`GjaIAl%;BeZ-nqe*k8zIrVey-fhr1AZ$`%tVw)0 zzin3bRsghehgDicZ$Z!`lGzflUb0#Nj(L`p#6TnT2%_GB1JLK*>F%8j8y4{2dK} z5&*$^5pa=;iO#9&1^^RS?d68N1PJbKilAtYe`4LGRKbb{(=GSp#;r9#=LP_r#n6G2 z3R5qaw_s}FNP-(V14DjT>m>&!>-yn@4uT^H<;ujxX_O7#X^Oj&n+6*k+}cPt(!p1l zHq3l`Bn)kVp{BVGaM(xqKp-`>=wfZa!Jv=D8#1*_v-a9dMOprLEV683%Pi=oSj_2* kAd~Ti0(kSuYiMQs2l{rCX!C1*RR91007*qoM6N<$g8udo5&!@I diff --git a/graphics/pokemon/diancie/mega/icon.png b/graphics/pokemon/diancie/mega/icon.png index 09e8e4efce9e1b3d1e7ca0b06ccdd14f194a3f8c..a38f39de6a79566710634d0a7dc10ddafa9de6e1 100644 GIT binary patch delta 345 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 diff --git a/graphics/pokemon/diggersby/back.png b/graphics/pokemon/diggersby/back.png index c7bd8abacd66e9d65468b10f13643544ffb70f8a..36a4373816244f47b4aff340d91a6009b4dfd1a0 100644 GIT binary patch delta 727 zcmV;|0x12o2EGQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+&fdK~zY` zy_CO-+dvS;<)Aj;v+e<+kx+_&!ImGuCl)tH^bE!rby0QL@0H>j*=-u@Qe5lkIE2tu zx6hE7{VU6Yz!jOoEIYsXzHe8OosZPbKl-D1{4s#(g*ObiptrsGAaJ9BQ9KMJ7Vu{S z1Op9tb3eW&ZbJxW+5v)pc-Bui0f=SzQ4D~@xF3K3G3F5fJqZ`Y6pfL?wFC-;1o+CK zFF^vK^6=&oxR9U(kVp>=bS3Br1kgD~f$Bpr|8fzLJYepRQbBVd4l037Roc_daqJ+iw?4+D65 z*O*EV4fuL)>`uBK2G;=0%#83bfDLOxz%UT4%^tm{1HjIo3;H0JGCJ&WvYlq?S;I3wFgBY;~R)LOdFMqrRynv$_iLuh`f$CM@mlJ1Pk`* z)p#t(qUKagg^1&SIdj}v8#?Y(v^ldE5yPF6s>3yS3Q#3PmsHNTQVqFhbSOz}r>Aw=4A*gWFXf;4Nco#{$Q5&qC#w z5zZarWdLw87+v$JXVC@jzhk59-lTd61~}fEjK|Hz9sh@NoWEznIDyh8jC}wA002ov JPDHLkV1lXPPHX@G delta 719 zcmV;=0xn?Ml8 zA)<}sv+n`IfJhO^65t2$p_Q9ccm~U|=t6a}-z&v6*likfDXw)moe<)x+h@oO`wwHJ zNLOSEwBGs6eBbPXE$ahu^N+k8Pd)}PwU~_q4yf%}Gz#1(z>dd(f5ZT8I6^Q`z$|j( zYvR@iFH{QP#o^H56d)Gn?HB-w$rU$~ z3MNg&al|aAR)Ur@=OS+oB8EFFmBTeSMHfxNz=XS$E%F9E3cxpM`Vt+!33v;RGqQ8kV-Aa|hu1_M4yX=KWm%r8 z@>lkCzk`$ue`Ny5WcyCp;(*U`j}fG8t^o&^`Jb{ZisE!Ci^K0df7_>0fBq2q zuoxZlX&})D?!RNA?4P8(1PvVTwa4S;;*9@G`~_#iIDuX4@Vfv2002ovPDHLkV1oP~ BOd|jQ diff --git a/graphics/pokemon/diggersby/icon.png b/graphics/pokemon/diggersby/icon.png index 90c4ee5044ccb0e2e3159ad1c78605f682e852b6..317bd4071c355b650184971a803ad29c1fdb18e3 100644 GIT binary patch delta 52 zcmbQj{FZ4#0{ah77sn8b-iiHBltdCY$(JXJ*>7wA+bBQ3bn~;H$-HtU3_#%N>gTe~ HDWM4fGu{+x delta 91 zcmaFMG=+IWf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?E9QBYW^uAW-PLr;B5V s#p#LZPZW==l`l^ev)|VKw^4q6>E>rYUFVn02P$FkboFyt=akR{0OepFsQ>@~ diff --git a/graphics/pokemon/diglett/alolan/back.png b/graphics/pokemon/diglett/alolan/back.png index e1bdc439b518a1888fd84a43cb17a621dffeabe4..26e060dc346577c083b40b883dcd09b47f5f0661 100644 GIT binary patch delta 290 zcmV+-0p0$D1C9fbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xn=Sf6CR7l6| z&`k=$Fc1ack$3>7E$)-_0O=2|V?2S293Y4}i|#zKZD|EdXM&0g!MB}{%$vYJZ)KkX zZu2P+Isw))1(X3;AtP!7A}fg@Zu*uY)0O~E8gM!*Em@$J#%Xn+3$(R%vNTM^RykEL z^X>qpEC--ck_T(-!mX%%Vi#J7Z9n(NoSjGSkHn?BVII%kFFzq-oJ2It14CF45aWs2 z5c;p+KtIQv-Y`6XXh?t*7=LL34OL;>uux(SZgWsQZNU7(cf{iQDj1IlG>9{BdlTRT oKms(0Z$P_zW%wre=l26}2WAFkPU(gP*8l(j07*qoM6N<$f-z8cZvX%Q delta 283 zcmV+$0p$LU1B3&RB#}W;e+P6)O+^Ri1_uH#9`nzWeErZg+XTodZfl(yT0{AnL&<;~jz~DoQ zCyWmOXcPbpm{yvB3ac>(2iDGz`UVy=+IM8%XcM?{Bs4~9Mgf>+=bvQUZ9X_k(~UNR<^ zg)x<|_%qcxPYg);EKk2r_d6XM`OgFg9zmRV224HkgDIyv!XqIPvg1@FXJp4DIc78$ zGdkyjJ_An|8MR}OrVF@#C4~4U1ps11oWmU@gpk`ubcA-kM_4`sC7j>C6psMeY*;9Y z2U38irANr+B>*RcF9wB4{GD^@&Z9SOjf`_XcN)=p!+)3?m$7c^U*XD>jy1F{SBEPb zE2*39X1@U|t#rMuO00H`b_h*xmCk-_cShIy6{^Q;ZLrgb#wjo~g|dIgu0-tG57(_C rWgV=g#$LU$0hEo@a6B^d*D&@85G{OAhSM8600000NkvXXu0mjfR~L|U delta 338 zcmV-Y0j>VS1G)o{B#}W-e*gz`Nliru=LQD?Fdu}-qw4?w0Ub$1K~zY`?T|fA!$1&) zZ8@b2W(!v|I2-^WL>-|O6%my~ZD9@K9uzqNf-7(ZH$MJ2+Wqhi43PrB+)9M&4g6?c*@$&p{{mN4VHrc~Vs*GOwvxKpZuT3f z)JoUevY>L;XbaHvNCxT5r*>EAdcQ*Tbge7uG*M**JVmm9r>-FC+7H{ULS-1LrKVoJ k4jo$=OAXtjM*Y1$0T3;GP%!nZqyPW_07*qoM6N<$f+6XX1poj5 diff --git a/graphics/pokemon/diglett/alolan/icon.png b/graphics/pokemon/diglett/alolan/icon.png index 34c40ea8b38ae0e7fc9a1af7931e7f2d7a5c6108..1b575078a3487ad1a735ad181c4242add98a764e 100644 GIT binary patch delta 271 zcmZ3=^o(hON;rFor>`sfV{U#?Gj&&=<$eqd4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJHSdd4JgcNc~Z zR#^|AY?r5tV@SoEr;`l%nhkhdi%zX|{jyP7DB#wUJubv5~vj(!P#;R)S7> Sz2YyB<2_ydT-G@yGywp4i(;$* delta 208 zcmV;>05AXM0;K|wB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD?Fd;>$ zzCZu~0EkIMK~y-)?UFGLgD?z5a|6p4fZKT_8yS0!E-)Z*uPlsivrx4|T$sYo4I<&q zPhYldJ?C00dRKj(kIpQF?Ux3!q_Pc_;Co+oF9J&nqVvsE*o_K0000< KMNUMnLSTZ;K~1&* diff --git a/graphics/pokemon/diglett/icon.png b/graphics/pokemon/diglett/icon.png index e5db3ce02fa20deaa8bf27da5cae85d59eda7127..3c7bf8e1fb893b9546ff9462c61e6d7ac3691d56 100644 GIT binary patch delta 60 zcmbQp^qO%(0(+UKi(`mI@5KHnt&4xmxK=P^Oh~x5SXIKVHlRr|>m@V8R8M!yw7SgI P3_#%N>gTe~DWM4fuy7TJ delta 98 zcmaFOIFV^Wf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?EA*>U5+k5-3#S>Eak- yae88Ul*WJKo+iZ!3HKJOO4!u~G)ZQ?WM-J^>2BHHVs#s+lEKr}&t;ucLK6U2a~-e% diff --git a/graphics/pokemon/ditto/anim_front.png b/graphics/pokemon/ditto/anim_front.png index dd4d48c7fd80414c75ead9d23edf0cf5d8b2193a..f93a8adc4f00ee440fce43aee51f445794cda810 100644 GIT binary patch delta 472 zcmV;}0Vn>*1g!*+Uw;9(NklIbc=duG)t4EUkFTvoIjJ4iVgs z+{QDVN40-#0D1`aWVb7Z9zvEXo7pLHs)?*js%^}iP3Qze_JLNU%-&l#t`>@DM8 z<^TmB#7Y}S_jtY7`+P$kQv+FZx#T?bLNMj?W*-EKc`JSbc==9%euM143MA(kAo<2I zl)Ispyenpbg7<$)l5$sGe7EKm1ts@hoVrJ+W2T{ALI_Lw=yysr--VhFuT###KpdaLLqCT}D%mYGgZv6(=BJ=Nu@Y`dFe-R(e>}=3?AE9Ib O0000OKyWO5I|i^$=(i0wwa;80m=oq0f_|d5=9F8u;~?Y?D_-wG&81E ztF}^^m8E(14Bt0GOfkhT#)B3TL%<@(xY+P{85Js0OCA7aLw~dTQTZt8JevJ02hdH( zC%@e=bQ6%9?9z9UP(`3{skU-`R@@bwGuk-9M}=F^xPq7Ht&^R}ISVN*=;x4daHk@Y6yH1TMR8t2BF z8zCzSh;xlm;Zy*W8ReoF{!5yDeTNcQ|R{Q|){G9+jgKWPF%#LFKsP!@6Zfvmw)n!2-Q~i?yQtrl!uim^m zqvYO;)7I#$+)Kg8+qv7wy=3f<$6oF!2Y}L~+b?n->|cJ?{y#Jx?62}Q=YE$wP`COr pK$y*KBlrO#JU{TW#}xk}-T=+)Y|tv0GYkL#002ovPDHLkV1lY*=I8(b diff --git a/graphics/pokemon/ditto/icon.png b/graphics/pokemon/ditto/icon.png index 130379cdcfac1b92dac6a0f6903057c8e29bd72b..da48a53fb10f5f09f0ac7391c42537b760acad2f 100644 GIT binary patch delta 178 zcmV;j08Rg`0*V5VV1JcKL_t(IjqQ>_4#F@D1p9;i5I=WR9#D%sBq&AVn5xErM4Y|! z#s&74k)t@8ou(fQZUpWb7SE>IPGJa_tg1PH=Wztpk@h=Hwbp9{Dfz&1{(xOXmn0p) ziKl}XDQnyoWwvp98#e#vFh};m_P0#-H@4r{KG;6q_Cp=mek&8QzcWDbHi)eKUGp}S gIsV7n@YO;*0DZfKpSKB=asU7T07*qoM6N<$f&=JOi2wiq delta 213 zcmV;`04o2A0<8j&V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x&5{ayD`R z0059lL_t(I%k7du3d1lA1pR~kP=79yJRnQ`5Em!VqeE1cLL=*3dTIBjK?1>SNc2&ubo^d5 z{qsrti1zmq?C;TjkMW}>>m-JS{p=G=ib^-r)_M*R}1j~eY=I9rx7j` P00000NkvXXu0mjfu$fvG diff --git a/graphics/pokemon/doduo/anim_front.png b/graphics/pokemon/doduo/anim_front.png index 5d9387b43266621e3d8e31d55db0ba9d2ed4d043..bda88f3de1ac654b381591aee06f5689dc2b1e05 100644 GIT binary patch delta 830 zcmV-E1Ht^T2apGlUw;D|Nkl5Qf)C8;2Xj;!vrFV8;)DxAX0- zu*gmIr<-xk3)fXwaQcDNrkiuV250~sZ(22$mjL%MR!~;xOtE=!4e*ElDqK)jxD!Av z9!+tP1~7RAESiQ??cviz$Xi|Yl2Wd88dnZu15b$8xpmp1py~=#svGzac1HLh2FrsA zz>LjjE-Vi-@qZwXM^)!eT6p040LKFY!y~9VCY(o7Jit=SgQ21m=8H&*XTcYbv0!*! z!RBSMt<-l0Ujkg@TxmPUd@lg?L6ZK$oYxeYPcbsVT7eu}`+J zh4p^@tsU6>T!rMJ%z3$L1zqLt~GLoJ(KUc=u3T#@4jq*!p0ikt+qd%j33&4w+7h5zTJ0aI4A(XxbodL z;48`#u^^Pb+Xet*p8<^meV2f0i=>)6#@_=!MBgP1-z0MGh{h4_Zc!lJ0P48|#{yj6 zqN=mL%^h-k-e9Q!Ii_X*00&|3o(hP00{f4E9Dj}x+B^H$@`1tr#aCf@koF!mPmJiF zRD*y3nolEn`8EoGHS8Tj^iOp5F7K>vaiGQCPomY{&w&#X1*t^j$*1dtz zyGinV!Mn|X9Vh6``U%5MvMeUL38S0E=^ikz1M)pjGuZ$w+Va~#0bsKPKmRC_he4-$BvAO0$S18=||4^Mv&@&Et;07*qo IM6N<$g7l!9a{vGU delta 862 zcmV-k1EKto2e1c_Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdoJq7jov z0009MNkl&yLzK5XK!OH_MGb;!vrFC21ajxby{fAHWS7Ev&fofV6wt3yP9c zFQrd_Xt+laet|wgZah@S4$E#5+ep0@9}r?b#-7iU{DzS0GJh`TLfjkn?QzDKRq^>A z6}?M>sX5+}aW*lha4-x$<3_=U8Dpy%3ycE#0Bk-8%^7y7nDs-CH@zEFU%HtPBKN%J z4#R$^yy@y!$uvXo{P(1b1hFLsL$h zHGH{~_Ex|8Nq?bss+l)rY~)MxI=3EM|a7a)D%r*2d0y&x^#xiYNcwSNq2Uhh|xz}S!jR-Mr^b>zSc z{Sf1UNkBcdLgRBqBN_L7bI+?3q2-~Vfy@9eW&v92!D4H9`02+Hp*8`*ztfD{Qebpp z6S$WI2_7J^2;vNDOigvhah&Zq_J~2y73uDfZHZeL5^R1Qk}YgueOUj{3pT%3oIDnL zQLMBA*niAdL= zHwAK@!1^N~UAJ?d!${B;nJg7$4Br+1?iuom7W1@fwGw0I|{ z0ZHB&Xz*U^SqO3-{O}L!FK@sf4^>;U5dZ)H07*qoM6N<$g4nT;F8}}l diff --git a/graphics/pokemon/doduo/icon.png b/graphics/pokemon/doduo/icon.png index 295d560f6c9d53ff282439ed4e5ae3834e8c9909..a226588bfe13d727de4dcba9c645696aff826a61 100644 GIT binary patch delta 242 zcmV8zPM+&IClHkjSWO{0x&Yc7yq6B z007cSL_t(I%jJ?W4#F@DMRNlmhppVk-N=Ack3K6)yFsK%w#0x*D$+W+077K**Owjp zzYu=>rLG3<6rDJLH;goyI1><&j%-dCcqG(afyH7maTQ(zMt{1_O0~_(V#X4y15OFx zB&hgtlx8bWHdn!l>B)%E{p74N%foL6cZS7p1Y|**6)gdGM^NpKV35M!KIm&{j*%dz z-wG5Lm-NjM#6JCvppyR1M<%GGPmZ9N)4wfv5M(+1%g#q3C>b7nY~#T3 ev5o&WA8&mBkrA;GaNJn{0000~9Dmx4W*y;QAlPR_Zh>ZFawr5smz+Yt5+Y3s zg+i=jATdQ}-$VQbm&8ms0rfx z4z+-ZM}2hW%``v)fB~Dst{+>_@AqF|8PW)xa7lo8H(c{m;sxcI0ICEW9)J3&1>ez@ zVG7uY+yl3F(7T->1U$|*n?lezau0U>oV`|F3KTg7h}(Ym+p{TP`;>t{5@5&gZiat- zNCCyb#;>P^D`&sOjdpi-zX`+Nw?-?uuT-0|4^Phi2}{)JD!A?Dt1$Wyy-RCUidL~P z{3QzK<4$9K3Q)~AG%G&Gn#sD?S za5y3tqv-1|e0&zYjZU-eq!hMDz9ei?rFHs=e#p)P9e)B~Gk)Pp*lUNUy!^2{ZU#WI zwI7e8-qA^6+9afl#*fkQ2RsK9Dp^D=+B@%_u!-bf?7y`+_=JDntbD@12(vbjzDz^Z zF83GBr4?w*h(I5WA%8A7VmSZ|F~eWvOMZSvh8Vc{DPUHOG-M3OYJ~GWWk4VOkM)C? z5*RTs$}rLoCg{@uiGd=bgVK(`w4ea_#w1G*vd0)y@wfbt6R&`Tzx+p5??&wt7w*s~n zK^hjSO``%6;(s9##`q9uDmH(&bHFo=i2hFtrsHIvi`L#lBxOLeJsx`Z9`%V>=ChjI zu4nEo%Ioj?XQQEakH-H4%dV$`Gh`rGqq%uB8hTu4ykp7W4BvP`P+4E2nU+q)Z1~56 zlYs~Q{dES`G9a1l@!(|O>;AsG8Ak8NKzpF2KOW?u7roQe%lyD17zO-I)w0 zTjupcQ-7)FPhSd+i1kDssFrmtrynT&v$unKfrybj=#X+7>jy2OntB7)JlkHWHYisG zpRloh(86QN{wi5eA`j|+_wxDykz$YHVY9a<>r?t6F9xne&ySDJ>4*Hjo44Dj&bQ=H%bV*G`2j>O{0x&cvbXuzb00n$WL_t(o!;yR(f4dvaI>Ns| zu+NCx0?o$cPzZ!BIfZ~FM4A)|g;>WxVv5ebi53bu`%@ zao#MhX`*WYfCG-Tcy64=f06^ph&Yo1rKA!TpoSo24ZuA`Ab&l#KojUvDTUz9PZ3(0 zzYc(&3hoo3FV7d^vX%h14A4Pf5ClrqU?EQ-rFA<2>a>Q6W$8@#0Am1M`mG7v0;(P@ z8v0El5Nb)>;a{kBbf`XBBBHfSy=FqB@j7A{HcfL8!4Z@QkULUaf4Sc=Y}y_R-7p;d z$h%M{0+Jz@c}vtY+L0!5n(#4~$WzewC=ITMlC-D_%-bld{H;Kx!bga}DQh6IbHE?W zbDX*qJPgAS(V(API|If|5Z`yH1x!2{pgU`dQV{?H)&>d@??qmzH4 z3U#^;UZ?dYia*64vKp15RjiGEiKE%1)7a|x2XUMMDh0H)e^LCAfhF*i>TVG5j>EmT z6mRpP(>CIWj*BUTPsI8`93?e$RadEMBWVJnMu*H1p5Imedc=o1=qR5O)briqPKq7X zAtH(2lO0#8c77g8RXVq#k6f28ZwB|OjUBLV`1xirP=}V>WWZ_!RZDQ^)n9-tTfgE(a{62PAF4<_iR0Wt$+L>IBSOi!+B6b(k1fn^uxOj9Q{Lz3_2 zQnfyrMdMXe7gKR3XOQ>@F?qfi5TIMl7LGK8?MpF5%p81>^!Sj+}gK%{IhxFgnRa>v524kjTxolYq1IbL($Y5AW zib?}DDKUwNwGqF`x}+teaw-hWH0(sV`DfAEA9-5=-U%PGrSg$avSw%6Uc+u@XMc-c z@&~Nlb0$6$Q?DS2h3b%0U`jkD!k8QaO(i4Pf9~$FrV%mtY0h-r{JLnJ9Yk^lr0t35 zJ$N!8Vv)~k`nsNYcWB;VJ2)AO-UE{VN0wt}!Wl6Tu8?jXj75(NO?E65&gh*VhPBld z(zHw!bMa4vlYvKr-Bkuwav;_AL^v7vda&!QNAbrA&>63Qgfl|V9SnATKT1_`EX{V_ ze+$u zfz{WIE!wF`yr()UTPIiWd?-u>bBC{R1N99_PbWe@EJ<{6o#*ucpylePHg#Y{TFWqaB#nq5A761SM07*qoM6N<$f@=7$u>b%7 diff --git a/graphics/pokemon/donphan/back.png b/graphics/pokemon/donphan/back.png index 6977063a77016718c14b888b2863c50c9cce3b24..6146f18a315dbdab6b5ecbf15812c5172b8eac14 100644 GIT binary patch delta 532 zcmV+v0_*+n1pNe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oF-GK~zY` z?UXxC!$1&*7fY_uIN6>x_yDls08vcu5sXDc8Q%mchf7LIi!0EiOTo-OVkgl$1uY}l ziZtKO9oyu(3;S9)(Sin9JQ$`4cVhm)?A`-9s$Ovab&a9l8i;uX4uFRPkG7IGH zXJwZ%9#(j|!~>AqOWs-}I=^frFAezP4mg=H=0UshoKBV6j{qNket$1C7dRYinA(TT zAWtEerPSdkY8di$y$rn!(3*j-u;cs))P5V@q+6@oZ2)k{vlo$@7-$991>lVjN_c<| zcVu+OGX@}^i$$H%j%+(7pl$Zs-tU>iX$a7vro*mpBA}fLI0Dx2(f8jG(9Qr*kU0We zqVL0ud5})j#Urq92I|8t$2Zbk0<5w2c`m^g@c@oiV3`8IC3q^Yq;nGm ztF{p!hy;249U?l$9+4PY2-yz6MwDS&j7OlMK-ax*K1sZda3ORAHXEAw#Q$R)O8o*f WMy@Z*jm)?J00001n&fpB#}W-e*gz`Nliru=LQD?Fg0IuYCQk|0n$lCK~zY`?UXxi!axv) z9ZS^F7;m3-;sYd04q!ogkCL&{q{KIg#NnW%v~qinRO^2x-2Z$G@{A z$xZ(f08Gb?F;fH-MPUp@<9B@CU|!WRU@pKbfQka#;___*Kq3M)e*w%m10kq-3SdR! z*MU-cfGip>RuuroTTC7~&O=0jbOBd@XJX1ezy}``Ie-thq*cp3dSI4U ze#YFAP0Iu{^dw^4P-9EfS4B6!l zJ+KDq{6El44fXkF=75%Oq`m~$W98zUf>*==I2wU%@&KpcuKY8xL-ih*=@WuIslsuO+4|NPW1;gMy@Z>M?`f10000< KMNUMnLSTYjs^p#k diff --git a/graphics/pokemon/dottler/back.png b/graphics/pokemon/dottler/back.png index 72b66eb1b64640328cab8933c6002b58c113b185..5420f771fd1d871319d1d4844e24816db1c738c4 100644 GIT binary patch delta 325 zcmV-L0lNP11Nj4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0a8gsK~zY` z?UIp^FMlD{{7ansKmR#9m(7~>53N?e+Di){%FDhjjk!@zmyl)iX3R6ZDnhnX{XypsPKZ;~p9ITD$y37R?;GDQ8=OgiwlN3I{Akz00ufBNP7!6FEkQ8dAh z5ZTvo=r-`#fX-$1#T}&6^?Mk+_~Ba=tti0JMfSxR()A)->K^lG#oGGMJj?7EvTTB7cWdi1nRy7ZwlF3w{UYF@&P58Iqlx=;5Baj6?0#rs&NDxOqXy97WL7tsJJ nYlWX+ms;mrUW)wdFN%gJh}1K#}q;IBtTP z#OYp%fAMgi@BedlY+3)>TG?c0V;v}-URIZD&=o@5R}yf~)Y1m{P z_-;b`I)CCelJW903g3e0BaRmY;P5Jc;uOhp7R^ zg90EQlA?T%SE7i@0uBoeq&rT5R}XO)K<39F9k-LU@YSrKV^h3Q3Xs08f63Q&=cIIL zEjhB}v#-=4Pwj`1>F0EaJ_#>bOm#v?ozyMMBVMwU_v0y%NyVY93IJsiL;)y`5&n!l jGTQu(Ir9H4-%|YoFmLSDG>OZ(00000NkvXXu0mjf_;TQu diff --git a/graphics/pokemon/dottler/icon.png b/graphics/pokemon/dottler/icon.png index 525d0af8251559670eae7969efebad5fd8484529..1274c130f3114db3e0fcf10171bd99b02e4e69d5 100644 GIT binary patch delta 315 zcmV-B0mS~d1EvFzbbkRHNklZq}6o!2RpC&i35LueZ3jUi{ZwE1W=I+n*pBkPzputyx|Ms^u>awkT0jRyjZIX=8O?l1Sl1O4}L_tjeLUWhYb z-WP=9*Fx@XV3XPc2yX+MPNCKdfC-GGo&U-ZZGf~SFbV{f)|447o`FD+A73^%LML9J zVso)=Kz^Ve@-!Tk!NQNesUv9*R3UF^QO8M39gaEolsC8XWAz}v&o_u}n>Mjjq}%`i N002ovPDHLkV1k(8idX;u delta 332 zcmV-S0ki(51GfW^bbkN`bV*G`2j>O{0x&zc%SSo@00A0FL_t(I%jJ@>Zi6rohIs=& zP2RvlWGRyu2Brux!AqdXFfc{PH+6`RDuz52L9~OzK#*AC-jcJ!P<3v--6#KNo$vF! zzjv6~)H8n}Y%QU5$*KTUGuaD@1DyQa0^m{>4p5jbbkd=Nklk)9Il}w7Tsi_hK3Hs*8IUoOm8Qmwk0&M&H8Z*Sm>GN;>KM(-W(yRUA3V#6s!hp)5KUv39I?8_M>lX)) zm@_a80f*<4jn8&Lq%81ujyAk5>kkY7IILY)y6v{10zKH``()ub-Rl<~=X^5-FwQ|^ zr(HuhNc7qV9H}UYe7JO@2lS%juuC( z`Mw|gm48Uor?xxl4UNSK3GmMoHx?M~XbXgsQV4<@KTL@F)E!L?v5=?-sBjsE@pI7$ zHtU;s)+B_qcy&9OMUS>yp9U!4in#;=!ALl&=YFQr7$9go5~xDtpY7+G9~2!G6EgmGgQ%!F{qwlj?ZIz|{D1aB#v zH9|nA1fYF#2}#0s8ew%Bh5!kG$2bS5O+s9tK_i^~7B=WJ)aL-bH3khy;6J_bc1E9r zAUQ(7=BOwlCbJ{4E6f}y2WOZ-1y1 z46X9bb4q}-Ujh%gw*+h*PM%pivKR&Jy;M=DI4S<5B@&sa}|gm;Og>@h>MfH^0wKV z=z)d)U3hhYwdnO(GTh}xVkSgpvHj1 z{dRJPmBsf7P{u#J3FCD~4j1k~IBGwDxIdr?5*I=&15rBw*!HPdO%bRsHw=6g4ErWt zRp3t{3y2q$HwXakb(F-b=3i*EpIZ``uWO4slC}P8{o)^J&X+*e?|@4H0000O{0xA&sE&)GqyQGH0f=m?@J-E$q0nZ189-Ulh21AEH zr^*Q&+)@&*cq&}bf#>AZ-|tDb^&HEdI+PP6Sa~0Rzu)&H@_+kk+JAiIK3u(?G3%>= z{2Cx*TC0J4^*V_aIfkG7(^AHI2yI=0hC;vzqE40c+1(E|Ia!>K*~6T}_Kn zrA>TnTFWIcLJTaIkP!%A_Hqe~Kp7>lR3aZ`j65QV#?lB0iRR;F5fT#3R&>vl2nmTP zAeH73<`PXFd4Du@CBj@H1~#~^Mwm+EWyFM`r^&xWK|BTKYDtOV zZ$}ydqCg%9fH6n_>@)w5o>p`L+$Wq5f5nX6Q(Xae{eOLp8Dije_;>!F2mmOLxAF1{ z0Rh5*!l6If#9g||dh?r?2alQCH4FiV=cBF9>mU*qcsfU0{TAzV4FEVST^Cx7hM@v& z*x~zR;kvEsmwnFpb^>6WgT_u@0mn-?0AEA&zSF!0RMdE#sb3|?0|3+3PEt= zhclu)_6B1^%q7YJDqMzPe4llL?eaG6brwQeyuKYxqFcu+j{_9d)-;3o9_Si(6O zjK{)tJZA=6phtLl^;$|~#mTTT7DdN9n|ge3Lw^>pZ!e`p)*BAOGI$b*Bp6v-h6qe# zgkfb8OoZ@;jysM4+C~^}1WzfPR6;I;q3;|{UZsQ!FGz#$o4JzT} z_pm~rp*#iXsWGTX0)O<%y9s>`f_R_tAu~yk4}O9qFndgrnBZT_?}iY*3&!`}7W|%k zNq<;zIE3SQx^p$zLk~lV+fv-kmJ7 zW~N1mQ`XWQqLk*Qt*<&u3{hKg*fNB^vVQ_br=6-mkHbn=$XMi&UPQZjyGkJl$aatK zt!ID0UV$OPRseHZb zf^O&w06hq+)}fQwgCEXRja;*!%xQjo-PYF#{Ni69^wbA=@ND-L zZ#-rlj_syVDvkElmuBO%zhB_ExPQ;-DxHt^Re>h&!>L>=(61x^RbNfO+dYklHUI%s zgA}0Irh6ppQ_2B3$b)}Q zI$Q;&WBBUwj);qsj`FnG+qg`G{#|%=fwkz(*=)E+V|gNp3Idn6C~))U%zsrzFSY_q zfwTDv8xdK&ITJ|*^q|Io!~J%2hn2ZulJgUGS!!lsr?g9t^f;51Y{0oiNQ%eH#^+X-{KlF=#0cg&b UKz|V}{r~^~07*qoM6N<$f`J^2<^TWy diff --git a/graphics/pokemon/doublade/back.png b/graphics/pokemon/doublade/back.png index cf93c30cb05e7ecfed237e8633534779da6f0226..dd991d0d0f6aeb49bf0b1f7025c671b5d861fcd5 100644 GIT binary patch delta 628 zcmV-)0*n391>6OYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yRlQK~zY` z-O|B|8bJ^S;C5iyYs^gUZedWTAt0LUJ#@h=X%xqKhZuY&27gxMv~>x*F$hdX-l1A%E6 z#P-MMAev=?HK-w*4HyKbq=qcH05~9fE5d*S zXaojlr*r|-5C#_|(vV1%Fzu zx(z3A{NE#Jjd&ik8yc`)@Y|}}a9U$|1YZ`NhAuFRZa@ug)(-rCBG3u&z-L3i8<7sU zDVMIDf%_%28gjU!HQt%^PB^fO{f4MOOTWDd-O#5;^?f(@10qBmKG3~cz~GkjuAh0J zKtMHmMt(0^rT2G#;l47A5QjE2fmCEam&9-W-c#IfNOR1FWu)p<2TG2fbAOTqe z9EiUK7OHR^;FX__tdRdCR{3jr+#LoTfLKw7`fzX;a5%i4OZsn*5Ptya^c*-Z9aq!< O0000DLH4l?@Pga}KJ^=V;AV9SXo0&%3!>=QZ~_Z{wOsWZj^OaS z2hbVuJm@x@zOZPXGq0G=Pb&@46s;p#VTEZ4Yfh8`sdONNc4kTEGY!fk1ae z?`k*!3J?Z`w4wsZ_e?+U;tr@#@;x$B&Z0$J0Q{~%e(<`JvH=%_1Pn)@-8X$|p6R}8 z2ME(hVN;Y!VxF3sV&ODoFjYb{vS>T1O%wP3-A{#((sr2NsuJe!F9bjWq6HYA`O3gj zmbL?&^5Z2M5dr6ovf;SEv%18Y{{JRLzk0p#v;cQI@im z2V+3p^Rsm+5lXv8iJeF=1bTao4FoHDYsp}JKDMrpj~V;3255nLD=dIo0)|5lj$p{3 z&O0#X7@>@7Eumj^;L+QNL*9a)uVdgZ1ZyM;pAM(_Dx^6jp??pIo%1B)G)VcT5kWlW*4Z9zXmxD zPEA)VIfVtgAb%0ql`)R63k+FPM!SVDfl=U4yat^0fq{qV^M}58oe6oI-M@=IFifK3 zx%>*?*`EfnRyVf~FORcP3qZ#Ku?Hp&ahv+OkAnfJXW{^>jjq%WRUBLanFc8~aqva8 z)F4Sx6$fkqyQJonE4@eelB)fFXf9NH+im-K-fX|lMiLW&CV-X@gY&_KWjieP;IaW$Vk9)$bY~=K?16*1w%<8si-m% z{*`+fz6>N}4fy&v%=|fuTB7lBf1EA@p3@Tkz|c93QpuBCK;5OIT*t!>AWa{pAsYEc zuggDgMi$f^JfEm&0I$j2z{LWMoIhIN1t2VV->|^RU0zY9y0R+HeN-&r;X;FR%*R(U z4+JbMh;?o3n|}omYk%~pOzS;FV=1gw>uWEm4+Nq3->qMuG5!){baiUJVkJ2&)CP&c zwuopzZD81%BHYf=21bK@{ydYS3k=+iAK%Qyn@p&~;hkh?>+_T^uY(JR1jCu1%$WpyS{oq&fy9RL8-`a$!ImCpr$)0C7(2 rDVJuC_9d0O-L<(;?(moA`D6PA&PEe~EJ|q$00000NkvXXu0mjfAxFhJ diff --git a/graphics/pokemon/dracovish/back.png b/graphics/pokemon/dracovish/back.png index 85528cb6f49bb8d4bffe2b157e1d74a0ef933b29..8a71558f5f93c7ff9343a23394125a01f64310b1 100644 GIT binary patch delta 626 zcmV-&0*(F51=q_ z05bip^5uqsxM_mLUgZJsiNqNCbUJ6A{7lobEO0A$38ul~B>w$>xhjhd0vf^Lb#(#J zLRnUMj0(&YsOL3UocGva#;m}3IpYY$TP;s@3li*1Ks}=c1Vx_f9(?19E^L4ryYwQ# z&IHlG*hU1aZJw(pd=>?5u$dcxX)u#u$%Ykx>)toENdY!LY$_000R4V=Mldx19|8eP z_PBizc{t}0HF`vUa2pe6?MxxWIgd@iU)C~=^<*BqtpWbJm;J;g*%}|lUf2es#LbRl zd^id#z_$TGa-SXZG2u0wFdW6klz5`D-7$Y9-`?S2&kEpWDeyB16W0VM1;z+|HNjb) z2LN*cMu{D~k_yD630CC}3Uq-z2L%*xashM;62KU6^VS?q9Qd!X?N|Y?e*r59K&Imc zIN{A$D_{fyb+?@SDoD$1Cy<|*Ic%04V3$uHmo9KppSepDd?g6^2Va9h7{TU=b^rhX M07*qoM6N<$f&-Nh!2kdN delta 614 zcmV-s0-62V1VBHJB>U z%xf?|?L>z;bprfy5+js<8hN5ykYH;9;u|dpP!@&mAuz7!+y#iSOD_^^O%V5uZ4_X+ zDGJp@K;y6t)-wZ84W<$-=%5C0-FwD1DL`lYbq!(%AV2oce*#Plz=jY2CVSjG@I0LJ zm>4|@aGM~!!V?I7&Jz=`m$irzJ(*8$8-Ts;MKASGz7h`;KWc+v>g9)#csPt|Fs(s) zpC5`5Vl{9S4HIKZaia3=p?F2tf7yr83E*WZ@GFf{&jd#WMgsh{!AYJ605cATsT;ha z8YIXD%W4Y+T)M!Hff5Sff&<-x1TY5NycGj`_G@f=4Okbj0taX^vcOT?jFkciSwP(_ zTwDZMwdn-%6ElO&as$!j)5p0B9Mxy;Y=f`Ge_w+^7)5J$g#Z8m07*qoM6N<$g0XH4 AcmMzZ diff --git a/graphics/pokemon/dracovish/front.png b/graphics/pokemon/dracovish/front.png index c0dc771aefee844dcc743a32d1ebcbdce3dab370..1d07a436aa42b721d73a33b4d4b20f8014b6827c 100644 GIT binary patch delta 745 zcmV{@zW`vtbK zD9sTs4?OQM1~~%zdKKV*4Famjq3M*?tDQsGm7tjg)fR#d0;&eu2YFvFLn{XD96+g+ z{AK|$5|CW1t{Swcl>jFTG&#IN^*Mu56baSq43g=B5zonEguo3G66A#c|{rou)zSI|~r$9a_Ul%0N&b zkF$XGpMm9;vne&&PBz#EJ@Cr=nGl-gv19BXdzNE+JtgQ8#=4s8*{-Vq)s`3Eh(QM= z`1UWb?F87K?KRkcBnNB|zv_D4X%uCEX1fUdt_1F>d>Coqc1R4qx?TqXqyaHva4kX4 zUjUeCpvee#b3Zch47X+gX&`H35&048!M=!7{PvR zBtj7?!43G)d_2GnOMb5aWEA>ysL3eW2 b{g05}icw%oJ@!Ik00000NkvXXu0mjf`4?A* delta 741 zcmV-~7|f5=Fh_J6BXD!*CV2H15>e^vVxZ}UP(AzmL~ ze3$}-;C-_O@Qwo{$)TGFHEP{M*cG5v1hqB?T@H{O=%2)OvjXiDbQAy~C;Kb{&B{Rb z<@DsBjhqa4MWBn}Rb>9#Fp_`B z`+Z6aBdialw6+Gke-HKI2&<8S(pxg9Oo2jvgyCd;Q>@sV020a>1Abc(3nh$01cjj z<5!9)b=1i=xE4CVmHk2p-NEFT_m8pTxwtO{J&ll_?qk>YeY3Epu0W?K~DhxRNRa_@Vi@Imjb$9fq!0TdLZku{0Fi)wmjb@x3Z`{BX6(Et0}~GR>thzNND8hY zh!>L~->{y&&og1|iFf_3w9sy!`za Xicw%oQ_bZB00000NkvXXu0mjfy7F13 diff --git a/graphics/pokemon/dracovish/icon.png b/graphics/pokemon/dracovish/icon.png index a9da17759e251b5b4f758ab2f0da0783d689bcbf..f998dea501bb62dcde5ad6339d87ed7f1ec5d79f 100644 GIT binary patch delta 376 zcmV-;0f+vN1m^>gUl0LuNkl<>ICaF@ zLN96;9n(e~v0{oW0<|l!$L$=T*r7+;v3ZSvkN!m7k&GX+p41oU?ZF;xmRZk}jg`Bj zxy?bkx_{BrNi-7o&l%`zF?8x<9){OLQaM*zZA60{K)^0wamzEna7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldq(X$L3! z0004UNkl*5JKI87+RY|er8HWyAS{NklqGH^rBUVh7 zr9kZpY`>iYWE%{`+BdH$5Mnrzcbxp^tcHgSgDu$JYM#}+*jRbko9i6##ebd7M~TNC zUo+6xQs~ru8pqc|xa^Bp8_6IC5Ro&O-O~&ZxrpdEql0YK%i&RFyJ} zt`+tRVZf=gCn-oSj1*+KlU;(aTo|&$3n+wZmz-4 zAlnt<7Gv!3Nw5Tf9SCQC0f5b-0#7^#Kn+UaJYW=wE80vkTt&foLdG0O#d&RazNMz_4d0_Jol%mqQUy8c#>fC0)Z1Axz(j*+@Ez3@)ranv|()a R4W9r2002ovPDHLkV1i_&0mc9T delta 567 zcmV-70?7TV1)T+uB#}W-e*gz`Nliru=LQD?F$;$YM%MrU0su)wK~zY`<&?2*q%aVM z4N_9C7mi#>OhgYx^v7D3(xpL36KP?Q>%D@5HpMFY0GA>U$0~V~n=#xaIve%@;sPY* z^Y;&f1tDK`IpH}VJqK`5xQhTNyl@G~!!rP6L<^0$5l?lDt;V)+e_a3^UPHFW`8CGa ztk0+ZfB=ZXBWH$$B1uQSy&JUU^wez#WUcY2( z9&?_@qOgw|iYZ1UR)Fnv{0K<1OQzdPb}0kW7Y5*t{U1Ea0CDJAZ>Jdmf66|m$P)qxdHcJt&GIsW_J!D_?B!L|%uInf0U+y0zR(+C4h!Bi zhvzcN)axCpLi5B`jSw}L>h{i;qA`JV4f{Z#L`a#8!~YX<>OwM}D!C<2;TmIDkpKiR zs-T$rQQRPq1ge-jP?(UcEWky%*Ppx*6%7E8#@6HE9&Ukxe^n7j31iS#-Lc%e>Mvl7 zfH+;(AAV_Ig#cqyVa(Qwt{Vvil=v|{|E{w~#Yj|RFROp*qn2EhsOZ~L0}iF1y6X>n z(mouYP|-h>@3!vB{<-U}bjacKX1pNmgL?Nj)haj)xI(E@-9 zzxY6$b^=h*Ee-=J+_>>SKG?UZj*1e26S-EEW!ztP{Q(3cv|$vG&=&vz002ovPDHLk FV1h14{k#AG diff --git a/graphics/pokemon/dracozolt/front.png b/graphics/pokemon/dracozolt/front.png index 6355badf05a4d11df47874683493bbdc020fb1fd..c82163727944f2d60ce5773904a64674b1859c9f 100644 GIT binary patch delta 893 zcmV-@1A_e62jd5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um13XDYK~zY` z)zvX?+CUTlVA~Qymxv<-BZV~Oj7TfGz(p(-s_dSSxAgsuZbVnAiB z)TR9amD;T!W${pDV!1@h)FmeE)Fnxk9}v-J8;pf1UApuTVD5dsdv|`=!vE8ve~C+Z zc&|Vb07+Q^l=ZxzkkvqcB7Xr2*>%C*(iDhMASB;{!$^0Tl8VM|(NKNhsUT>SNyCs2 zF%}}dWkASKN(oj-UWoJ|6TKS&6^P>u#nd3qI;Nl+74-R{B$`zl&&@JXA+`*}>r};W z-x-As2kgNpT^4nRngL2R`aVJF&K`j75|GJKS~D9|b3vuz06hSIL{Zf036rMfN(BIe zcXcBO1mWJJY#k$3sY0;F^f#?T+-CtGefm(3nKH%QEIxZ zexd1SK49*dA_xyqRM&EdIv`gXJG*q`6~eX)G8z()xj95rz@Z&YOJ!>epJ|wH4Lvy~ z2td{Yqv^#K$J4F4Iw@KPiIM!Ul!6pEpH;(s?<>+iA=WV=vAj`|nIjhd>JipnZ-Qtd zvhRZS0;n>7wqAsS0b|Rsh+x6ZzyWCjFvw-f$#D@}aR49;Qke^Mn@* zrq}DY#%TJZ)zM!r01+iyXx67!yZvr>5%W{zf^G9aWW zr39-aCq#NM6QdIW6^P?B#ndG3IwqhJ6^!|!B%0Cc&#e;CAhrz1HLBsa@67y$3-+Lw z4vTtSO#!7keIKWEe`gOsX9-AWD6Lv`s(YYZc7YK9qA2RMxJ6S+xeS28yRs1kf^hFq zriKwKS0LDB#+&9L?y&%nK7FXgECpi*pr=$AR`VeefRJ3BYjXm%Jll%^28*`Ai zs)A@$Z4gEeF8AWiN_l?TshA+i)jqcEhliNBaXw^>mFLGze;#CIEkm<*UxoPNVT*Id z8Jiuu3Ls6>RBzaDVoA;c48b&~Ad{EuKCRdFLf?x!ZO8crX4Zw8$9+sesC}ZeP948o z40&@phjdBSVT_Eb5~b~oZmuuKW4Du`--V>pDy{3fW&udHohyDehH~dP{LD`%xh_*g zv4&xb_MH)HfAL?p2)SYc;wf5^Q&fhe$`_rVjJ0lHqtW)AbMf8FC@odezR=XO8DQR( zA_yN)RMWGFx*%H|xw~}aC&IP|(mE25wK+f&z@Z#XQe|rdpD7q`4Lvy~2tdXM!^vTb zqsdlXofK@7#7J&XOu`g6pJu~-|0~iuA@(sLv7A{{f0!#4{^}9dT5o`8AhPd))&i(7 zwqAgQ0plpJh+x7^!2xLiFv(@oo#P_7;s8LHq%ckfS1|{i#fe*<`rt$e0e&!W!K>w9 z&28KqkizlU2j>ew^crE3U&qL+hwgYV#;JpB`xXh}#WIlOZYClW_3HdI1Vk@Q{pKye z;hXB#Y8;5OTBwWj6+l2U;P!SN2I5U{j1Y*RBrId}=Sdhw`Py-Q%qP5aU?AZu< zwmIZj3bLmdIGNZS3U*qS<)0comck+)@+H6gV*FUvor5jrfXt^>Pk_0mr~EP3^cl`D zH7b%Y$N8R(MF8OhhnPS>b=D!2Buxuj_OAN>pco~Xe3e(qpns~_2aX@PrF(Y7-hiPl zeu?8bd-hr% z?Ke6dD$Ez?^MhMm1a;`yL(rwg38grH(iI>GYTh~bS4L39sb|~66?CkvVsd$g(-i_n zC>SclXvIfehJPmV`}n*4G_H}4tGk^C>~%K}EVlf8|1cgUXab`JjbKJW91Nf$QG%EN z)5<^#5@4XNk%9!6vz#kI3XCYxf+U!=43r=VM((KunP8+K6O0sOf{}un35*sr2g5s0 vV0ch+K?azPF)qje1FRMjx&T8T3g!>h$wBB+wQAJ>015yANkvXXu0mjfDS)+X delta 433 zcmV;i0Z#tr1BL{UUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldq;_hYhH z0004LNkl4C9Qbx`~T3GCX9cTClI91*#xd1d8K!7Rc$P27r#XAs`1K31-gKy zL0p$_e&f1C*Np2$Q+!k`avW6@XW1^ziz3W-v%W7}7T??2XKQCZTzpqCL5>r7pFgHOG3T7Qux7gic=682qF9z9T8g5-9`C889s0)A#$n_Z(+?esWHq zvrGIE_&Eh|2Nu?T-@{eNd%O$K>vJbizw}Q5Ty@jy_Rtq@cz@GtGY|xIh@tBB+j0n1 z0LBccB_7br{DxrPOUNgn_G2MM@10 zeY}tGtt+I6dz`^hA`CG^SE_e~Z%6l{B~kG{y1Txk`(yvL4RIIsuHk7Y^tct_M$y|y zM3FG29dJ#~Gk+mWa=!bg*1GvKK&_;~5jz8(#^)O0hC?MxZdRBl?o|*kHi>BPDBr;3 z4@Rc=9FME}L>S)8-zPDU`9BW{ld0AzlH$0>?Ji|cW*?qciNh!mJ@(IIv%6%P{C)XQ zn1l)fzp0MR-dr$)&v{Win9TlH2#N6aYk=Zpg`ltILVq|6j>JK+MEwmIH$rm49GoUx zN!~b5rry3ifs4yhLCKjGd$E_`0-6CI})ZF?vDU1dp|TIof0$9_*pnN>2dnZ1EFi!hLe$Z6l9_W}|aEU=mJ* zw+HK9FrZ(4S^zk>I;9{8;D&>40pPsp^H9C%RuE_X%K-P?2G07R-~J^JKDI~z8^I;< zH-8UQ5FXKY9U>$KybO={*R2#o?-~YhKRV)nS6Nl@77`?A=YPn8(d{2d@psU7)Y1}C zDWgBbn?4DMwg4Gj{6zvlsr&PmJe>kd{1MFgFx} z;R5T~I|>sD0n6vhhX>Le*bzs0LLoSDMhb!B38PX+KEUcE5gsgS)0)wk1s zj`eQE$V!U&6&`emA;YQ_GTV%fOp) zV?t*Crsea7TWpgGcyrU3fRnF9L4Ow53qaXu1DHl0>jiYsmW!P@H5bouZNisJ0CLny zCObf!6zjMKEYinvO_gI?P3nP$M6pR|f3lp*S+U85-OF15i0q=6JzYF;Kj;3enA*A8 zMXA9eiFhnG<&*C(^yYDD3oBE;TNE1e4nR2(7n@BvwF4o|goeC+X{2m~xPO?JfXyei zyF_xyb_VOJU+8jP>V@9`nl3d*Ccd7R(|jQ+AKNDF03u)NJg+8*hCg{>fNF#B5~3M8 zaj@^Kpr^1qc8Iri*g^lV0^(Ny-Y)5OYQ@|&L((22Je(lR7a{y#fcL`yC+0s2=t%NE YrkE`fD%IrQ00000NkvXXt^-0~f*5G0?*IS* delta 1428 zcmV;F1#9~33-$|;bbkN`bV*G`2j>O{0x=K`Y>ztt00mh|L_t(o!=+ZSZrex@r56HN z=M-GMH;Ciq#g%1T?aPVoEqK-2II$MgEG4L7!y#~$8i`4&G=dlYgsa@>V(_DGc1cmP z#HEVRfFWrfXJ%(+=RMD>pI^N8=j@990sXZBIs*%9ws*-C@_#OO0lGcz_2qB9Hb6(- zb=?tq&qeo~sD4a(R zw-3gC9KZ4b4}VejmLd&7jT;f2D0&}36aiv0;MN4s05G}O{iu|xt4*~MNDu5B_=>() zh)y_^fH|&cp15B^{1_A1;;DQC%%4!C^gSMz_5_e`=kGHNME>tn!bGZ6N{8ZPC+qIW zzQ{hkt`d)#MASIAh;e6R%EbHnNn>IPLUB_SJ4&^Ah^LCHmk}=m}s1dg=?~XoUK(N&<#-fS;x3=-W^}-SN%Qbj5`6( zdiDxl-~`NH*Z=4M+&QGPIHed)z!WhN>cyEPqmuvrJ)Lk*HQPmun9fAHor%Loq__aF z{4Nv${C{Hz(1cMRQoTThV?VWp8}CgpmNO#e3&5o}B>**Myk|~?ZDOEk)-vNm)kAFu zoJQVy2!3$W){I`a<5v#2y%E*{%U|q)uzKvAn-57f6zto?dyAkUKs!g}6R5%>85jtd zgP9vtFKCwM%VJXcB5Qg6HyeXNK#10*&tUm-f`1p_8$W>v+yGyl0@&)d06fzl<{UXs zjeV-A8=x?a>5d1@0H(^OVxBveY1wlExC#lTIh3VxreK<*Fw0vGX=W>J0od8%EoCBm z(sH-y9Eq6?<_5s2HkUB>f+70l?E=6fQ=5V?fKE7Y3jpt3kB9P|TS1)luKHwmJ2>kR z{eSkZc>ktB0@w_$41e>!?1uwKiX<^8%J7JPJEdai-jV~dkB<1iBdw}N_{ zM)!Zx5&t0ijv88GRLbbD@UCYBL{oyy82&Z_K+4C9hCR!M(P;Rd6hss~3QQYZoXg?I zUmtEC4JX35aaQ0qdiX5Lwbd*!M)I+|I)BZAvJ;L5B3mK4^k#o3MfPQtB@R0k0`Myd z0J}gM&e&kxXV30(F5Zksie$RyPvi$+EUt z(@O1Wq-wc;p^d%Dsx@sZqV^bx2_rv(iZslsFoMIfMO|yV>jm!JUL$7?wMcC8tAFo5 z6Cy3I>yDgf#aQiDj3}j8P?9z6X@6Ph^&Yo_XIwzF7->((bFH;ym@V_N)MLx-Vx$c; z(|T!S6yKJc070HrJ)YufuAgF@5aeRp5AFpktXP?0w$v+BQ&R$7(>q&P+AJ%c{yI{@TMmFMLInc+|P z+Y83ccmZsO4i5I674#-;#}4u9fDZaU35ZVs{N16Osg>q#J0#$Wz*>nl#-yEbPXhd( i26!?5S%Bk^{{yC&EfO6WRSoC>0000?>2K~zY` zg_J>R8!;G#Wnq}Di*tZMfdN4`#yNl~;~pSbK7gsU4%v)cvhrr+tu_;#pb*kcw%ui8 zYSeW%^hf>@|uAH?R5kQAw zDIx%S3lM`JI=vF`#RJ3nT8NbghCm1bd`YfvTA-XS;nzHv4-r_xfs)=VsyGlBIg8% zlr2y!;pM1+hYYo27{=Kt`??v!nu#Don<|pw1it zlY+Jxy~sU0b?5uE!w!l53SFDO#8V9 ze3K9Eu+jBt4%Z>1=HS5nt@!MI+vcqRnES{8Y(veI?d{2bfm&!5BWK{gHL)Yc&Kk^H zpi$d?hZG+$!^j&bA<;26BmkLiv`z|S2-KOIyJ@rVF6Iaws(#Y@*l)6nHc|qm0kb<002ovPDHLk FV1l&UZj1l` delta 763 zcmVeo}K~zY`g_JRBBQX?) zC&DnT7v}&%fq{W-jB^09jQ0S+@&Qb&+N2pdq;fNIt7f7TEQD;6cDpoYjkexqeV2Vt z(!}E#1q&NIdY}IH>zBq!^2xYLE{xGIK0laV0_M{T01w1y+_&Y{f6Vy&Gk}b}1V@Rh zNd%Y-Przsr@o+O9e)NcR0EwINmjGM^fuiUTFh9c{p+mv%0#{5MjR0VWLBRt6b8`@b z51CwZcyPdAw&Hy0(*c5W;EUwuwgHOS0)EmaKNt&GP>|b&Sn=s-2vaQ}nKcBv6)@(L zp_}202KWxk+>*O%e*{F)1&DBj;39Lts&IAw?IQvv1iBN=xc8QpNt*zXq5-l6JT3%H z&IxGl>nw0>Ajw2;EYDA(576_|WZgPDt1=4THnTjdC%Mtg7{geGCH!{uNpAcAncQT( z{y;ESuQx^;qq_~f4FsTSKr9pY(>PIjNQ>2c8db=H3KQWCf9li`(9UlrIxa}#(TP03 zu6rFAOtR47iRs9j!zj@%3IN_&^zF}eF!J>NMq?7DNvpPR(WJDqTFYH+okY6+D3-2H z9Uv9-u)oSAl_x-!kRioWHMK&Q_C=ObwE(p<%pJRtTWn(wKa^?#sd9A(xFnzKVWX<{ zbztG*)ZhSbf5lh(+tjTK#k^$zwmxRU_GW!L2uKz!r_g=dX-q)k>Pjkzs}G<9G$<7aJVXF=AR)62MEm&4q>gO? zj)hc8RWGl0zm0F9%26N+PzR_I1YQr;?sv4`0edLyaq#n>wH=qldrGD2@bc$)>;QQ% zoj-dEJ%!xgO=6(K!2_&kfmCZ!2af>ctZRWh!x1=-M+X?zwSXC5jMg5He|Nbt^gIQ) tl3)?;DULl{YTbz`{D*l!YNJmA{{h4=nHZdNklyQIv(lz42 zgQUeAj3Td;8vg>_8xDf>L_UecS5^NgD4otzs<0QPONAc0tf_(A>s27CM+x<1y`Rz8 zxrv+5H(eb@Sxe^bt!qZb>!3`KPVp3X}LXX8{@_hJis>yQI<(lz42gQUeAj3U33T06FZ z?u`aP`Xs+Z;yL$^7Uk1@&JKHFzBmlnWz8+*)@%Y%Gf8YNTYr2(Yxg!igrV)5ILTJB z^e=ro$?$lzm)j(=dt`ZwBC!ad`km#<*T~*-y_OyF;oq4vW$HM=DKkr8wJ439CDO=W z;nS1)Y%y;bmy3g zv^HRVA%pobNLJw0=6V<`+*7V+2gZ&^V2ptiFgO8YQ1Op-Wd)`rt=8P3080rtG00000NkvXXu0mjfcWjyZ diff --git a/graphics/pokemon/dragapult/back.png b/graphics/pokemon/dragapult/back.png index fa0053da653134c7a9904f912bc7298821a4f649..507a8fa1a9df193122e816f54efb8fce2c990c16 100644 GIT binary patch delta 672 zcmV;R0$=@u28afbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%1u+K~zY` z&6G`U+CUV?$C?ZH8E_+I(|K6V0!83)TdC^Gjg>7zRahsf7GOy2xhEM0?8+gL*$)j+eJl+j-D!mf z0V-o1PKzhdJ!=57fGB7noP4S6dp6^z!VszsaI@bn>_8oG5gkyp4huMkqIen{77(f3 ze@+`BKC@J7q=SZt1TdbawZHEidOm9y=g=E80nXvH5wH$>nEf~4958AMxqWr)*RI(? zV0PT$TsC;@fZv$Gu?XiYiMj9_BVcdEiTLav0qCj@RPnIi?;GOJBfUfJ!@Zxezu9co zn)#)->Q(q~IG^X6^%{GR#!ysC%xLEG;Sh0UN(=T{hOxiO*2Y?CZGEW#0000bu0%l1>K~zY`&6U4y+b|Hu zW$*=b@}CCiQl156FaldtTcGHqM#yRyMLZ`dOmuZRxSNs9nfnBOg9I6cJcQA)Z(;ZW zdOXsOC0Q=eDK{D958wA4DV{y=l~n`&0f-R1hHu%!gvvmqOnmUmf9kv-Fl&Z}5bZJ` z(swM;%9J5QXH>D5R-$!|M8p-q3o;f}*ismtLo}}B3saT=>>_p{x~!x`CjqDufM`+z zfZVMFf{Y=ECRat^y&uSJ3IGF?QmT~VajT6P5g6%_2gNpn6=>2I-dh%~kF>x4aGtAes)e-3#8u3)-52|+R5vxqY?09{w%LJhHPcn1_JF+qYopz_^{k6J6JL1KE` z;Y`(d?10~x!m$WvD}|Z#Ya?K9C5ZUq9|7p94z$w1e!tJep9gwFZgB5s>~A)kwPBup z9*PxUIGoS3&3cW!2R4-DCT3Lg`EZE1;-=**`n&!M6w21dTJ<=gaR2}S07*qoM6N<$ Ef}2z|-~a#s diff --git a/graphics/pokemon/dragapult/front.png b/graphics/pokemon/dragapult/front.png index f8718211a9d5c5d6ab2756b640b14947144cb885..efef89bbab259770eb9f15518741900108e34b42 100644 GIT binary patch delta 964 zcmV;#13Ubs2&o8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1A<9JK~zY` zos+SP+g2RMpU{vc;Cr&{&}$bxyB*ra_PfL(IXKSuXel=YBP_aPu&-zdfgT>-4F=Pp zRFqEX&{WO{_@@8or=>XgqRFe zYS+8%BOFV*YWIJ{$Bu!C#TWtLh<5FAgGhbeQE5N%Mi^T}0<6k^N{vd%rqb|>juSO^ z+Z+GXFo;owaCP6gb9~n>w;|l=MrEVzUmg^}z^JysVZUq~cW?(3-!6;rPJ1I_5e7i( zpxw2wEyG*sM!kEz=g$DBvQg{cJA-(3HVmq3z0(nFvN{?)WA{hisJ;)4x) z@BFfEi$OmK!oOn+AR@q~aBRMtUE0F;_k!R8rNkQr$gADK`D-dfu)AE=(q1V56%`=f z2~ZGlo_2eGx`W+2B0Qy@=*9Z zR6wQ=(5WBfS?82Pk(?_aH9)r(a|IxZ_Lf7R4`rEuerB$3O-0faov*+FdgW7;0pL1W z(+~haRvRw{Sbj*>A&;~H$nD3=g7{g*`{)WFq8TiNxxiAy#3~eTb25OhB3ANA=K}gb ztd*Am=_l)Wt^pMBYXa~*19(g)|7`#rjx63r6;On(TS&sYF%A|dUL4Mi%W;a;&yNGq mjKVb^bdz)nx;gxjLg-)0anlD8w4qx700005F$#abaJ+E zQ@n+gTik<#8x+Wk#SQJ||KKnw33w5>k6uZZeAbl?d2GwC{CxC%e}24=EQJ2QDLDSV z$*)$Ug=XaXu}X{tP_hW#ltjKcmHiA*(Sg9a?IZ%qcdLNX)i-gsVmpa|;v6bJ zXJb^ldbwlSPALk86x*rWSwL~Hg{kc{h>k-m+m*U~n9aX(w{*K|cL*UG11q=coz@|a zEmT$RKgCD3iiyq`e*xf-cC1Q+g!WZihW)}FVyu%8U^P~5RLd3(1;1|FQFFK4(X)n1 z)Ec;Jd-m<4yH=$I?sg|i8*TmipacSHtqBTy74@i%+hFnKVG{01cSv-?0BG*FIy$yO z_hwqCd$0TY1pqZRZ0`T064%PQ!Rku)WC%sphQk-^{?HxPe>d0m@|)KH{P6pz$x0)4 zR9)X~sGG5uBesVhp12Rl`bZRH7npwMt+VC6B6$)3H1YWDJ*VR~Se}Fmmyb&iPsd|g z!z@RlfX8pB^6lyAHoJ-l%|g^L&n{aQ^)7tBXe3$AqC%9G1;^d9%ep1{ zJ>L&L#uAeRuqYhO_tQ&Dc;2q>U!asYmq2*7(?9!@e+uF6%;!ehD+!>I1jKs*=KGwd z-JZyb z@VO44U>=0&Nx+9UH&(a2=<|LM0^!x7@9`eGHWQQ&Owkt+0J*FI$mAvugvSF3WcmP| z`bAC)f2SOh{^259 z^7lTaU250-K7Z4t7a-Fbu`6{M46o>=rj_Yz9BG@8k}b2B$wQlQKJi^6S|8>=nWUV|E0x68$_1e`f(vn# zr^Nt7W5nX;yP{IN;dS^Lhd1(CjYC0p`h0UAsr#{v6=H+M`{;u-_C;VAhE-%He9%z; z0n<}A1%^F8&4FR()f^ajc$xzPj*lrY@aPbl07HBn>=YP>&|wM;@o@nRXg&vqp}qiy fVS5P-{0Er7G|V(^neryA00000NkvXXu0mjfc7W`o delta 507 zcmVO{0x=nMus5Fo00GEJL_t(I%f*thZrd;rhWQ2u zddLvK6e^$@GGxhGz|YVES~9rM5DgxbXUgJ%gZvPggFt&}g9WNVfMhCxH3XI}M^SPl z51k5>1cw<+nu)bdo!ma5pzKey+fp3Pr?@=uEAUqk?CcIcCV%G^rih#CM z%e+usNb_ua-+vaW+!md1{AD8>^0zLfnJe4;HdTcaAXN&nEmYz4uc*1Am8x_YX_JzY z&ePN6p-DL(`L+?IcGI76!~O3IVOj==%Fc*(@7Kb9KxL}F{Wjv(YQ5YEbsWn*nQgN2 z5Ich6gp+w8bb)?NFAL#pKphtYrP(Oj`s2c;r-d?7_u;XG13_QI|fdR|M7#MiA2#tUtK6Yjd xj74ZS28Q@J0|peI0>e<90mHC42L}EE%m*~gG;S$iSs?%b002ovPDHLkV1j+V>s9~& diff --git a/graphics/pokemon/dragonair/anim_front.png b/graphics/pokemon/dragonair/anim_front.png index 864c0097488f20d093929de790548fcb64145cdb..0868dd485a6463d2f0b7dd129091bdbed872850f 100644 GIT binary patch delta 1081 zcmV-91jhTE37!d%bbkaCNkl~d~auION`+HLb)OhHUHdUr7Mi$MXw-zt1Bj zjDlH4VE{RSVfvRaFnJUhmLetCRvX*k0_*8@N%3VfA^xw}>f(9h(eQU%x2OjDkE z_3vkClr>H?laRK#nmYV;E(66r_(_MZh{J^hq>LhbO@Bh(QM%0XY9Xb_8g%3V-Q_Ce zeei$|oSS6`eZKOijrEIwBAhrvo-)ACfh3@86uX4%Win$Ka2paZ?UTJV(;NZtr$0ZD z0XVa3Fy0LS%N)o6V2{nC1Yk`I1FIr-0svkCUI_ge0F-YVTgB$Gw28~VjNV)VC=9r8 z0Q4pS0DrEYW3D8?Wz!vWstO#LJ29I#| zGP?!La)XdTp>=e)&SkaM$!+e_-hWPl)~P<6O$Q)`lv+nWm`!^|U9EKh zpj{(Z-BtnV%9M8VxTN}6>1<)YGr3<^-k-98_aEEyTS}Rbu5LN^-n))kM>IRV-4BB# zB|_=R*h$hd>=jBL#hB7odjz7$pE`Mu!UpVDiRo+h`F{BD^}*mqp{Y;}*eQ zbbn@MBVF2x$zVFdPo7ku1xEpsz384BUgSsy-D?U@%KXvqMgqW#e~L4it7YCb`XehE z;0SM;J7pFg{3I-PboUsuv+nyNK+DA@>;J5!^ts9imcaJO%tn&@f>A(pCECcVH0-%EsaDTe(0b++hKnD*kFChp7H@n43KpRRxl#mFp z5)hV(lmKXAtz(M=I09UHboukym!W&YQP%UAg5U~60LXdv-*1b_+*$#&Z;vG@HhKN^ z+hQpE9JuW(gg0Ui9iE?k@%+3u`@q3+^3$r*^5*RUM?MfRmgA0)An^~B=>JnDAu=+t zfFvPeGYGMgtPngRK_MVe8QVz;f_)oB{y6&|u3W^uWEjut00000NkvXXu0mjf25bF8 delta 1079 zcmV-71jzfI37iR#bbkN`bV*G`2j>O{0x=t!zE-mU00aL?L_t(o!|j$$ZxTTm$Cr>b zdodBD#w#lcHXgK;gB~eEMNh=KSUDK0VcKvOhH~1N0wd9SsUe&#YrCJokKoxv(^I|n zA|~E_d1hZ=c9$7E^ypmL&iwj3&(6#9|0~M*j@YF|z%}pZEq@V^4uVl&?Uo0KawXk` zSV0sb<>p8xiz2}N&s0)Sr58GuMj`+eU7%190*0Z)lc|EJhJ2NfdM<-frT|b!Bl2EH zXjQb=j{ta<$rrAQfYm!g@*rJAq6{ngIw23!#mj>AxSm;W9gWd#QV;E z@NH2~`J!SO+f)pLpL+B2gn!=pkz!z6H)d1&f6jOy+kb|2+#oYzf5HJVJqxFa@drYt zS>8-e_za}y0Zr}zBR~W0%`}8M<{!rLA|MMl4&xmL_&GEV$m!W8##@O*p9ky;2MpVI zYsoNr0KD+$2Rs0Gb_xF83;@#{nhwAgo7W`3k`e}HMQj8BGy}X4>PrBK>Aq1yO0zp> zJ13)7r+Cv@dx4nwFU%i z@utp-a0i#cBdo2&W(KhwZh%toYVRSGFf@eLpiDLnP$m5CDKx)5MnD<6C=|dS0Qh5m zFV&{&RL~sgf^{HR7D}aEiguO%y-upMO;>pZ*WALyjd_OrIZ9k*q+d`WV&#zk#KH8Sp zM^qcF%}*Vf6CvcNZ^^t2>q0Uo@)#ObQ|6Xlfg5_#lK|R?bSDD9aD{{?zf|Fac0wf_m=3V)Y=BBSRv2Iz9Dn6>0n!Np$7K&_`UX09X`K>+Kyb5btORXM z2)HFkfwH4|T#+0AB33&zU0I9(7oJ``IsM+XkEY7X9E9UATtKs4{=PXGjLjK9+O*GE zvBBG4e;IH zN3a=f36-8!-%^QV+^QzthwlGiCAX3#kXshXz2VK~zY`&D4>bJb$5Y zku2up{V@z7Cl`0X&BY z1+MAgdc}bDCU_G{dIls2xPn;k!GF{kAt_w>Xn{vZ1$JY!))K-_4+Czdg&cRnOMN$N zSAmTXBIQvS>suOE0cC)A06)$OSXNb-i82MKtf)-jiV~P@sNE6=LdNOEj$l376e>Nh z-lY=9xK~Z!se0G5Z;(9CtIp5FPh|6&A#CW$ufVay)Rrjl9@Fxd;2dBl%0+M2^raT;Kl)gPa!pzM{zmG->!AVQ4|O@^g5yB_KbSRu ruiLU12MqukK=x-Kwq6t9J5QgUjnSvWQ%~r9rZc-ra-BL{v#Yf;m z7JCGWZK%N5%_>?LJc#(!A)2_G&;G}+58$o__aJxx>_POoL?3hlQ?57vp&9oX#FxYz z8-2@sK0zGZvw8Rh_~rp0=VhEq0`NR7W-1BT+|`b^7Wgi}*?)Xmbg74%Z8_F?_Q0X6 zfJl}v<4Pr?h?e6@lrO{TU^EexHXMzmO9dbr`g*NFFay!4JV@%R=%ni>W2Ll*hHzWo z>-e({2~;|uOw>ByEcsdo`Rqmq`RqoAA3tgxB-7|1nMMcLbvnQ{gXmDe>KJw-mk1t- zMTbJdK#S;*w=2PLNIKMhAoqS??+5NXKOppe;6MEM25DckCYy3~z5oCK07*qoM6N<$ Ef~moec>n+a delta 346 zcmV-g0j2(k1F!>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldr3>eQk< z0003KNklV7P5Jl$%o+3BE%~nQQ8W)lFZmy=V%n@=Sls!U@BseQ;2s1IfIW!5Owk9Oz*Od&f76Wn0)OIDVvdczW!@hk4(`$1 zeFJ>)fcNtUMYJ4O zqVgD42cwBd%5XH6E){@i=;OHt!3;zvX-KN8=%kybDy4nfX7=zO#*cMKpwa>JLahVN zIbZ9LKfBQ(e^Yj&!CvuYXATM diff --git a/graphics/pokemon/dragonite/back.png b/graphics/pokemon/dragonite/back.png index 97e783fac5c34a8b80bb0b86f00b3c21dddb7e0f..a2133d2092999c60377ed965ad6f788884346e2a 100644 GIT binary patch delta 646 zcmV;10(t%D1?~lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!K+iK~zY` zjnvJqnm`l)U`U#fu;Q=R)}5p;Ku(0j9Sy7Q?!vk@q~jJtuH5YWgIrSMVT=1gC1MMY|C#Fcx=I{?5OGU-^gNAW7ULiiV;TWoZ#906! zcbm<500A6z&MZ#|*zo`YBw~&NkPvKJF#>!E64FMgK%{PAeT-A-j$>7U0$8Oj^WvMl z8hDy<2WkqUqj;{M1vv%KW)y{%6cp;uuMH?bLP4T_?lH){_D4Sk&;#&WAcC%jAesW* g>WWwy_m^S(1Ll?+^U*lgsQ>@~07*qoM6N<$f-J}*Y5)KL delta 642 zcmV-|0)74N1?UBkB#}W-e*gz`Nliru=LQD?F(Spg-n#$*0!v9mK~zY`jn>VMn=lXn zV2~;yaWX&Mw7JFV3!qUz%8iOsZ+l2{j!>N|5o&1j06p{tdL>G_sptz-eY)BPn;|%% zNLi8fr`QB z7lf~8=`hn}(PO&s=%UGL%OMLn2%JEJ+t6Lnmh!_w+UeE<#hmH9O5(u&O@-A0*9iVpt~R_te=~^ zAmX0^*z;YMxDVVE?(3~O5ho_N(-A}gTrKxwUTd(yec}oBe^Ft%3{-?_2zUZG^2RWj z>D&4|03|d$_zQzom!Sk!RH(*Aj@(PG0RSVY)3L10dCDQt1H*Qx4Xgz$=X+HHGX#YK z?KZ@~upIS?$>K}KUx}Ir#xU54UmpZW6o^@ZfM~J91c+ptMnF_~kU$o3mH^Ofv$+T$ z0a547@&tjMcnBatBKs%-3c2z>BpeIj(liZAcL-kAesWG-Cd5= c~0Opn(^ZLW+5dZ)H07*qoM6N<$f`r5{iU0rr diff --git a/graphics/pokemon/drakloak/back.png b/graphics/pokemon/drakloak/back.png index ac34f32f4848cd391ff012e7049b364a80b21bb5..c37b6303ce8898bdacebddb52729dd06dd52a4ae 100644 GIT binary patch delta 564 zcmV-40?YlA1)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UON&n=lxLjkuvBUkqfROR{!3WRNQ5hM-#NjB-d_kxt3X0zaUtl>L_Lzqrs2mA(!= zb&P*hZDSC`NjgC>X5i%3JX$WEQ!h0@Y5`9Bu3gYP z=m57U==#Kf#n>)3h35c&FcwI_p8|}yF)krjn*lz3DK@^SMd?jr(zSXEnn@`TbqOl8UJ~`t0s7`|vI=&}F%w2fU#0AhA_mn6;I0Q= z;%**h=Bmt&0T91`yM<&pYNnAPLI`a^$M?zjP_no1Z>Qf3%jnyQMPhwcYy|l5fmn*g zD1+LcHn|%C;?|zKqXcn0^Cx%BOmRm_E?1DhNY5CMK0)3&oSXLv;@nWlxl&IH{s#1? zaQt}z=sV)!dIfh<_`xv zwo`7ir?Hs(-E%I?fIaV3FQ&jX%QNLlqFrA z7_bDp`ML~z0LDTIOveE8NP-I}R5QTmujP8`OhMub+-{Za zI0E92SxEmKJB=J8gwPgrbTavI$lhXlJ3cckr*B6VsdKE@0GPrD_Z3XUAcML`+q)Y8 z;?}K`L4r7(dC7^bDegeM%Ol8Nq-PAgK0)p|oU8WK~zY` z<&?c|(?A%9U+Xe57d=KRs%1Uq5xJ7l=$x!>!vFE8BK!t40GHN38_ph{M$ z(?pU9w<$ZhWDXrQ9|*;Nd~+*BD64=Pxtf|RWDK>KMY(znLz0l$${25odAYy*B2jo; z=-{`NZWkB#RcQ1;*OvnJ%N>0Cr2D?RQ+WmLp58YXQ`-0dW4zfNysNyX6!*;j-a(ur zT$UVv+I>LsO~!D+?6dwtL_^{N+uZ$pzr+|b3VVIVdI905VMH5$;|?>(u*L#`NrCwh z?vL?x6D*e~!-j7Z{2%rd;MUprG-|R@`oIEM3LxuID!+|8{x*M%=D=Sc9F;;Gd^zRJ zj=hRwx%t`PMB+y@x(~|p@3Euak?45vu{Xy6C6BWqBFK7Zn!i^H%Hgj= ze!Wf-1mt<<#Tvo8ih3w~Sx~aRFe5xX2l+=J7UVsTSe$VAAHsb8v~$7E`hvi|(clS! zH5z#{UbVQ!!&(-2OY>$nb*+dmA3|}dHl4Xz%SjQCt!iI?r7%qC06+nqd-N*8+)fxY zhzBn!EC&*bOr>C_1^{U1-UTPF&l3Zn#ivpboX2k7q97S3BOyd`01_fkWs8w;k^_(= zK#9D(DYFz+{nms3M+U0pTJ|4Tq{;|kypVpA69UwH|qtE*f zu-c*&741Ilry`mHe;4WY{+Ih@N~u{q=u>J%gq_6^9fZ2n#KSs`1S$j?M)*I+iy}x& z5sJ*vD26}uDFC<5$7k~*Tjh^5g5?NOix6=({`mXyFD8 zgHwSYk@<#8z9T2tdY@Hctr2f2##eY8tzo@P7jSn!0;i z#x8To?BHT|0qh8YzAAOKzjX<>#u7I#EeOW&h;uFvfSjvDlo)YO9smUa1dGd? z(Mw@1EUh?hR002ov JPDHLkV1i6ODv|&I diff --git a/graphics/pokemon/drakloak/icon.png b/graphics/pokemon/drakloak/icon.png index 0a5ed8ba4753bb52065cc73effb7c460d57b0452..4e06a768b6103b4766e608a28c063e6fc61aae9f 100644 GIT binary patch delta 369 zcmV-%0gnFe1Kb0UbbkR-Nkl{jtTqKT(kW0|aMmL#E{D9lXqPnW+E<#>508cXm)(`}iVGO;JS`vj>t* zcdkh8wR%h;6>9F>Bso{@R|>}5AH|*HV$n5-D%I3OE@-=>my&btdDM891^2^`ai0YO zJ`b23_u|oLP#CBp+%p` P00000NkvXXu0mjfaw4zS delta 387 zcmV-}0et@41MUNmbbkN`bV*G`2j>O{0x>C4X$La^00B`+L_t(I%gvI_io!4yh4Tg> zT?&mfFx&bpU34>`KAQt>!Z5zapcWVIyeTPkBQ-{$o1)EB?N8blaI!p{oO`(UL+EV} zNT8 zN3*i`{W!mC)_lflUeYNje$^d7bh>v%^1$jvgH*70ljK~~SGiE??i6#5i$y~aQL4g2 zE{JZfCK+R%N7~u>h56yvxa)!gHV>#>_v#Ve0|ply_SKzm>$-!gfI(%{TFNIdYpw^t h6wv^fHst-l`~fKO-&LHqQJ??-002ovPDHLkV1gL8u>Al4 diff --git a/graphics/pokemon/drampa/back.png b/graphics/pokemon/drampa/back.png index 8bebbcccdcbf0dfc2011e0eb92f1d67e74ad29a3..b3460057efb2dcdce3003190150c42a1704011c6 100644 GIT binary patch delta 587 zcmV-R0<`_71+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z&DFhX<3JDx@QrZFK%^kjnngi{ad9Z>eTT4WIqVx4rC)@%2zjV8xZ1b4Rxfk&v65HL z%1#+UAkqFjn*V5U#E-h}<2X*Qou@@nl@)o~-QOV3!0M01ws%yTl$# zJcwq%lLt<-Ah`j!``(@cgP@cQ!a2v3*FgDA@Nf&@AmUqKx2VLT+FStTf$e)$x7}tQ zwC%oaeF30!fF_k6+SVM}t{On}hU>@xbLIxGL%SVnM6|8R2$J7_&!z*h-%r5K0cfIl zeb!K8f7pBlxH2j&UXvP1g}O_SEH)xD`jbm!RAd5nwHA@gKaV7|ln&gb1HjlgDi;0G0hjU& zdV9n^Rsd+VN6_RIltM3p#yOHG^B({xrfs2+PzAzN62Z;-yWIUHz9o{Fg^i3C|!XU4|FsCZ+`YA Z#DB|nOEeZh^Nauh002ovPDHLkV1lB;54`{Y delta 577 zcmV-H0>1sT1*Zj&B#}W-e*gz`Nliru=LQD?F)O@hW*-0m0t!h)K~zY`)zraivp^6B z@QtL$LbXV*vRFKX9E$ax??d9*lzoF>?~7y)r4Q9WPWu+U`ZC>_S#?d4ns^El7*BEEcX#N8aA^E`i=IbYzZ5F$_f;NG4Ke-X|XD1?b2c3vQ` zK(yAOsPE>UP}E7#=~(!hxOo8(F}BhtFTfVyWTij6T_UIrxYgR*CG=RpK`;aE9dMcj z(G@`5clzWR1g0e5&pD*L1d1Pm+iL&@5ncnkWyzN1<_ri2Y+uW&X*ctrY4%OyiUmBu z_6C#64o#yDO19;*1D>O0%b)Qp@KqU?s20;Qq=>gjg#EF3PfNG`bBJke@xRkH! z36L(pwN_GVr7nUF=KMAf6upTz0&U^|7=!^S0!4sggkp$ce}JqIl=Oq(aRO`!Nmb6l z()>Bc5~fgl4x;6TrAoe2i4==Wz^;-k;Mw~Th2-3VMcf034WlB_9WAgaN6_gb^szDk zS9<_;R$`8|P8jFa+5pL1ATr7!Io!_Vr%qXXK6{mJVK%XUjNFxgY7 P00000NkvXXu0mjfdqfY+ diff --git a/graphics/pokemon/drampa/front.png b/graphics/pokemon/drampa/front.png index 039303e2a80b3c2cf7c71859aff952b96ee438f7..6aecba694918af604105278c7ace267db12428a5 100644 GIT binary patch delta 966 zcmV;%13CPl2&)K?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1B6LLK~zY` zeU-m&(?Ar*FIEP|x>g4kWULYo6+?QBgjA%K=H$#Y3XGM4`^?gzR_YrWkWkBikczPb zD}_!TGBANq#l}!Y`3Jf{B^WGpym#j~&X00xtR(M~_rCXjmECr1d)Z~TpNh>nuP-91 zf(gMY4yUubz#c>bKs2>~oj2xP1keLKVNT4ss6vEhnLucO&a8{$078642{aeRxYIv_ zxBd5ke!{wKJG?Oy@XPDt*LW9y0#sH2)d1kYX|!+n z*5l8EG$55-Hd5&rz;9rLA(T=#o9YTb1{%n6ph~JnKW(K_L^RNv0s;+WN@Z%G)bQ#P zRs&)L)WsYyQbV~$fGhzz0vrs<{csq?1azf43qXLx5L4hH5XByw1AG{geaBrpml&V~ zXbI@GMNc7J%hN!AWp4(6FbH?h<}#}Q&RH4gQhv$wKY)4U)JHc90H}5I)LVE5=F9`J zU+%#LfQ;>>39y2Bb7ugX*C!3um;<6iY?!4okd>-UfWvnm6o7-kFS6!9=NTO0pjhs# z#@e=t(dN$&`T9g+g(L921iau4rwlj7$aZ0W-Vi$peMNvv{ip3mg`Lx6Cgg)gK=&V>p7t>KNWgjvA_|LJLeeEHB;uBo zoi8K%S^Lp%`AF!Sk?FquAUJ-^QK~UC%4sf?-p{9+~kO;jXj% oE}K3fSTS_uVcpCxY1J|I4{3cbW%=2AD*ylh07*qoM6N<$f)M7w#Q*>R delta 957 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 M07*qoM6N<$g2*0MTmS$7 delta 751 zcmVI z0007|NklL2nX46o8imIrJpp!7C3Mh~5}To1Vx(gYjficOjlOCQc1!*d?4< z`r@x>N^8m1Ur_&n@kjY)R*WsY84~p*@3`|Z@9krDzUO)S_Z6rOrP>l>(B01QV3=P2~eATU-haSa0LLTDb6MEK=l+6-kj_vvfN^L8zh`=)R5tUPlq zZO@5h<(UgKFqMLp*ecl}b={6`sqgvBz~|BXlT=UD;WR#gJ|>qfhyTq=?R2p>}a!N zWs&I{@gmw%qB(Cy-$NX9xbI3#jNp%$Z*%!`i?cERX$q0}XYBn!v$2UD|98*~AzIc6 hfChxiy*B?z`~W|}`BI?1Q>*|0002ovPDHLkV1jTsSG52D diff --git a/graphics/pokemon/dratini/back.png b/graphics/pokemon/dratini/back.png index 1981025f536b1c5a5a0bbcb3cb0eb0c094a3557f..f67fe05106d1b54eeea70630951b7e8cac596b0f 100644 GIT binary patch delta 403 zcmV;E0c`&C1N{S#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ai&wK~zY` z?b5+&gFp}lU<+vup0v#iboB+?DLL#(V%kDZg?1Hk5|Xu$YmzSXX+k9ie9CUzB~_T! zL+LGZnS-A@|L8i`!fM`WNX_DQ!$8<>7$BZ*wj*vxq=9b%BN}RFn=yjGYnpY&ee*;C z&jJ!P^{pUy7IFuF)DmJ2F#V8HwaAhYKuEbG696=&3;vX6^6O3se2o$WS5;Cn zd2;Y0j%V;5&B)6u2GoReEg?!+j)8<}K%qY6=oZ3&fXOvBK}X;vfzv)jCur~;uq=H* z7IkZ(Gs1EIiT_XoYR*?UD4G%KIbYEO2FBb}3e4#R92Phb=76_u1vSD0x5hBgAEIXs4SLqV!MLt^!A9`3&O4y9 xXVoO%!4kgSDVlXRh9Bb6BNE4y))qA=?oN^hCV9DMA| z?2eXo3nG@iM8rJlCJF@IL;-J%Nq5AZ7b0*qU=#)DbTvlckK3fJfAQFUkzlL=3t8j7 z*g@oKf&aqA5h6_!OMuyj5Hf|D9s#%zM{fc^cIkjSW10ARkb)kg0?uSqkvDm^=p)Wo zunyl+1Rg==geT*Ns!WsD$#=8}_Ba0UEW?5GOZ0;@c@oC2}}f^R?0(kEh2r{UNm zoKK(hgDTK4wxvPQf0mHn*)}REU^5jd#MU5Su%ZE12fVLJdLs~In?|>k2o9z8=d=GG zU=xSL1Y!forg~7AK-*;or3oZ|1Vdw(0baz^bW;Ok(7BV@@(*+bB5 zF-qw=Y_Ld{L9^ Sf^Yx;002ovP6b4+LSTY7Fn#I( delta 307 zcmV-30nGm60*V8WV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x>$)*GBCC z008YtL_t(I%k7gpZo@DPhIIp?CkU!6*#v}(w%n}~5eU#xdWb9;2>TB1(k+Cwco4!m zi$xomvIVH1MIZR)FX!I;=;jUKDKKVZP;qcFprqav;|Ij7D1QdWyuow^`3mlE#l(;WOQLb|2!73^y?GWuA<9GMDYiUM2CLW~rvZOswR^aO* z2c=ms%GBhbdo0S+eDg{lUt+7D^|AgEqYvwrLFMIf{sCHkd{O6N0n7jZ002ovPDHLk FV1kvmhBN>G diff --git a/graphics/pokemon/drednaw/back.png b/graphics/pokemon/drednaw/back.png index 0cf21324c603b248ad786fe648667e2ab1250e74..e7939c5c76ea57487a30aaddfc6a869eced028d0 100644 GIT binary patch delta 606 zcmV-k0-^o71;z!CBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v}04K~zY` z?UKK4(@+$~Ln3AF&7CYHl*FaPERB8Yp({xrASCwzlHuYvFmncDsY8UBt}agy7-+i? z1s)(&eFDUe)QzbV=A3)&CQTTbP(I1F1TMY<%Wk7ESr~+dyhyxq&mkQN@ zF^m|{_e==bZ2WX2& zD?4CH5lJegOEn1iu9jE+ff>;bh*yLUMu7L$Q8!;#I@p{bvdjbl-{S*y(_ZPOU4jK< zDls8SxDP=V_MI<(KUTWfl8KNK^Chi{gOi0LM=w-_dJ0p%L)eQMTt`RjOgr}O-$ZJ|7gj{RZ0rMjHud48Tb=XbUR1ft@o+8i26Ef)lk sngw8MOeOgq&c8Tb1AFcD4^^rB0bi{zb0B#}W-e*gz`Nliru=LQD?G5|aF%$xuK0v$<2K~zY`?UKK4(@+$~ zOCn|N&7CYHls`~nmc~By(3OM-2+4hbWVrYZ%JVY3tIHDv2HGw}fd>dxp8&BV zbz|y;Ip_WB=GhsulY{TKCUEt6HK1lfhlUaJ&n&yD;f*0;&}r@OBe|K^ZXE0cyZl7sR0r_)CSF&lpCG=zAsv z?6!b_ji__-fo+)$X@mqu^sNtGYh#BIDV5VEfbfJE!#$!FSwBsaDThEX69DSnsEjyz z8bz;DQqsi;!O%W^f4}$;@Di9sX`wb);`G~MaRn2w2UwH65|~kVAYAl6YG9M+YY)M@r;47t{1N^zN^)xcW6em1L76pgAw4qb=39Owf46s2rV;1z;pRXe_eOhx@DJ;7WE}2gbDY+ z&w`=z<;PkVTQU(+V!otRad5I=;^>ts02>if2WC|q+$<0dj;THo(6QDXF!emg063@t zj;MUuqbcF548%jFZ!FL=BPL<7D_kYh8HYzp{d-A3&E`wPpzyq1owb|uGo9ajCZJrS zy~k#a7r&0@O1C=Cf7%wxljzwW#$Bn4d7kHId46kKKp-rRs>7kF)M`lpsZ{{BMl8v9 iasK7;2H0z_f2u!UtuJ-@)R$WT0000QN(l}JaOV!537^ukDsg-(@{qA%=pPr`uvS_aED4I?x#aG`cNsv2LXj~Ew zp%}p#B7q>N;*p?b02db2I2j0X!8dGL<4rs~&AU6vy!&-^8h?Ocr^E`^xT^XRLh2xX>cO{0x|?Vn+Syf00A6HL_t(I%k7e}Zi6roK>Y_6 zB4go8U?VFL5~pskk&SNkmVfJRs8H9EvF(rXC5{r9e)V+ATS-)kWDf?E&4mn z{o8eY9DwO$)Q;Aqt}i7xaOl1O#*;L?0P#xm9yGvtdV>{!t9|!qa{>`(r@jV@AaiMT z;A9zISC_HhY5r0@mz{#Q<== zqjuYw8hmh&I7g!rO~5^(?xAmo$N$P!gV~a0i~ef-3o{9Wg#dqH6;DPn2&4Q^!p!`b g3FAtogZ!xsJNv)8!^$!0dUMC*fLcq5J8=hly!i6XuC58&A=Ghm5d6&JuC^xee5Yf zh$j-br5xa|Pz72|>?&fudPeD10tT)83XfoRWB6t~34lj1wouWX-_lA1@%JCV^zL-2eap07*qoM6N<$f>hPzT>t<8 delta 487 zcmVX{i7J0kKI$K~zY`?UTQ1!cY{( zZ$h9;huo5;YrI4x#fQ*v8YhQ}c>qBobc;yu((VzQGF9l%y>C#L;*u6J*D3GP`$wBJ zH|-1P!9ni#<9y#axfh{R9YLV*}Bm zLusDz7T2nr=kG3e@KzbM{LPC3c*$z(GhqI-%Hm+7w$Qy~Nq7P;d5(kE1`pj^ryQ7n zCYgQr))cb46+>*he;q4|OhrHcSf>M~=gXANA(|)v(;cAnVVSaFTM#HM2yu|kB9IRE zX@S{zj|TKmq^4+c`Nl!_>mS1|fd%`KUOAlfvMK-}ZgqMwk2aM6@J-d$)8{R;{RJ2_ z0AgUI>0@&{T+j5V1n#QMg`y=U6uso9(xK9;Hd2jH2=>T#DI?;mddw0FPkoprVVHa)HpI_yLAxQhoo}d<3jPAst{R dlbq_f>KiX0q$c1U@O=OP002ovPDHLkV1lf!;&T81 diff --git a/graphics/pokemon/dreepy/front.png b/graphics/pokemon/dreepy/front.png index bcd47f6ed64497fed6a59c85a90fe258ead56e27..23b231d1abcd5116155f2066cb3c1bd450a644f0 100644 GIT binary patch delta 454 zcmV;%0XhDr1g`{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fOMSH@P^WPC6KyI5Wru6M@ay z$uwcQ@8VtA@Q%(J{zI4d%e(h3J=o>{h3##xd+ifm0)*he7z3y`mV=>?W4CsV|y`D;->vaC^E zPVsiR9Gm*#$kL%YTLX!__4WyNFqvtZh z!6RjWIOq!pP)g4LwYpTI1HuX@0$-q9(Lkh@7KzGZk>n_eig7mLcaBw(-zn9Vyh)b7 zJRWGEVzufFkQ;PE`K)wKd|D5zvdH~JOBUy07*qoM6N<$f{sPX-~a#s delta 447 zcmV;w0YLt*1f~R#B#}W-e*gz`Nliru=LQD?G6*#-M6Lh;0f|XOK~zY`?bJU{!ax)N z@JG{$$uk7j^U?%KbkN3~G?&(;i{GG#Pvh7S-sIwhI_Y3+;>;iuOawM(C)0%KzKeHd z!)w_IZ|L%VdH3G^DZoB|Ez;c0Y(aGMd6>6w^7$?LXVa*$W zUrB3FdR$Enk`|=^e}`IgD_|{(G-z;W+O|?KB1t;a2&@1=2#*Y?1+_jexi+K>kVk!4 z0+dS4-DoCCc0pPJ1>j0dRy2^Qr9`aqNX9uPL`6Fr;dW0|oIfZPCZbK2TOJKGP?1`N zfu7p3KtyS-#foIflo5$sd761;AO%nT>h2sU1+E6=Z_rK6HJ}x5)YYTMidQ`0i0d^f pLAnJLO;iC0wgFRx@Bha;9DlIlhre_{)d&Cp002ovPDHLkV1iHg%clSU diff --git a/graphics/pokemon/dreepy/icon.png b/graphics/pokemon/dreepy/icon.png index 26ac52a6530f8a8c8eac46ae55f2ac3174a5b911..27261fd31bf317ae6e08aa5a352a968d06eadca6 100644 GIT binary patch delta 315 zcmV-B0mS~e1EvFzbbkRHNklZt~5ab6|3OdX^C9k;Vq)R#q3i75jS0E+4 zA&Qi0fR@8H1D$L^s`zW@o*taS;4>(5hy+AzBhoh~#nXp+$*l zZmvX+;SS4uR&?@l$4fnTaJj`;b>=Ezh$uhO*Gt)XDF;D&?6iaf4Y zh`h`TXR(*t7fcJMU_9)fF`GL&4EIv$jT>gCz(h%2TXX+IO#zD4L8-e|{|1I=$VHM# zS-X6U@U9vu!8GNA5xjvo`vFn_y7KaFn?@La9XqP!7h&uetgt@GjBoY^uZF$96Q}?H N002ovPDHLkV1ghtjF|uc delta 333 zcmV-T0kZz41Goc_bbkN`bV*G`2j>O{0x}BQBPD_W00A3GL_t(I%k7h~Zi6rohIs?4 z0~?S>=~HBhly+laAkWk#15(Q~RFyhijl8g35KAXxn}G%4Tq`BP1}QI4^)~kQDC3Dp#r>VL)hycFRE>5EP9-6rNiX$*?Fhrnb)wZ5po4Vqr6x zbp*kG-7U6GYb+TpwDD-MAx|3=Vq6#HJYp}lub7p_@evL$n7fW1!@W>?Ghb$Zfr-+h zwdT=W0ZPl*O6vr>{IRZSDO7j7vet{JT6g5+w2c?!9*hk^etJpI_Y5zFM9ymP;$^OMqgjTz`IC{x+vLyvuQXqXbsU znx;wMfqIT7mNJjMJr34giE`QG`x80K!Bom+G4KNY4Rmv#vcfw1=dl&QtHu zGE8bv!)U4U_dRdh^Sox4QgcTIG`+4T0FP3ODyCR%LJp!E1Bw!>vVhlx7RnxucbEbc zJ)CA!0+3e?QGc+uw`0JPK&D6G`LE4W@5Ke=j6A?*&H-~Q%Qsb1I?v4kyJqZq3S@?G zc1)W=hzd`Y05xA+GB*0nqC~k*0O$d9pz$uKX)URc3k=w~7*d{tu?Q5XHQlBFZ2Cjy z9AMSY)V`22*p?EYvN}ZD$N=#+62NL_MnK4=j+~$FMt?sVJPQ=KOg+~5`9OABP)2 zW%4d>;YLFMFo2sSUPZixRs~RlEffGFbAxuG=mUJzcq81KmI%&LNC8ej{Q8c&V|>d$ zK*v7=#(%D6z~F84QG8A&lTXkMV7vu?(6gijX6&u#F!B2nU*C$`0dYAiQH4Jnz}Ua@ z`#!-eVnh&E$q@J=xEzWvxI1uPI=<^g>kAb0`53qN%< z-{DJqt^qb+smr)mEP?*!5wH{#9$tAa$j|NzpW2mG6T19@e#WO?#knDfgxP9~wJPwD~94H1?YYRFp&7T>zUI>67tU^pv+i99UqzI#93h@wsSegd+w zim{Uukq`7mpaS+lM}@yYcL$>&I9tp=^Zm&ktU4Z^h9200000NkvXX Hu0mjfP&hCk delta 1228 zcmV;-1T*{i37ZO#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldt-GC+X0 z000DjNkll*O6vr9(Tmha+CHVkSzCaUy0S36nkYyni5V8(XZQ@Y~0z-pD z8K{{~7C2>6VQ^9hql2YUr~y;m3>c6OndES2FH?YYF{dn^)PHw8QI^D`IubxqSXf{+pEK@RyIqBPphU44jK@;GsiP2C_m(e=74{*~+Q zyRKVn6Jk_lK!43`yBu%{F^Qy$%^JjDv?D;0VpAk=+fYJU!*-7s07(tIRucfkWldzv z{rw0q1(2wbdHHj#=f1jtn4Sh$)IOrNX?ljNOZ%nKr&p9-&45G`cGa*b44&bc6d=Z{ zA*JJAO@c`ZK#rgSiDp3zb4`X+pij?vlVTn8RUkvm*?%-SV38L}5+FYk>q7KknNom= z>@b@8i{#CMX~clp)RTA9A-3qB9E9KNED2;RRBJFJc>6%IfHPLg;N zvbwU#fqxQAAp;m*YP1!GAK|OSDnVnG!XGRk8CU^+^euBH=!SiSihuZ&Ue1C3yYLhL zo=&Hqp&Gzw4<67#oB~n$j#rp^-KnSTMdg4P&QlcOVFMU>w_ex7h=vq%;xcXmUHHQh z|ABA21t1{#nDcnPdG&mM5cOK z21PwDP7zL=76(iF<#0^Lcxj=R0cG!UZ?t?Tipvkk9!4twS~=7dtb7^&hXFQVt;@KV z&4K==5pXFeJbcnz$djC~5V;f=qHJVi5Ai4^#rDiZqyjCy%q>Q06D?u_kj;Y2kTyYx z>wlJ2Zc<0ION)lp&~ny{Nj;@(ODj3aIz zK%u#RkOHqMJtyk`Du8Ml@B`nX`6O`ELw`cNo7NcI!EbW~PXNdQS8yILgK0_uA?^Z5 ztR&Ly1;7S>fCRIp%{JANEzAiK4nsq`VguhA^|c5s1$Tf24y4!{%mi&%jI;rDLq)9Q+Q{bNx;ItoVPci@RbQF`hz=t@qc~% z>~|JmC-N8IAQ*$f%Azu0c-dR@kkZnM4k7^4g&BIxB>C4t+_HnJzu;^ zaPf`9tpgnP`y=h{-vY5%$a()^vJ-~8@cRsUzf3Im^ga7dc|+;h8ISvk`%wUUpedO@ zL3jIO-yf{TpL^c)7OpxSo$+`g0Y!HQp2yEd(@G`)chK>?4o7$WcwQ?#bPC;$V6jwL q3(pIkwUUbw?)=kU|3$O^z414M$fJmfj3svf00007F!x&|tCohBW-c5_mSU}z{~?E{*m+AeMU44M7I zW4z|d=myEQc0Ojt_DUXnL(FD(*Yku-?uN78{E$FQrleOq7%(Cv=_&94ITFJmJjn2V zI)>ypCgevD+>_BLHYLV?K`SKaU2KTo^%qUE~i`TEK)B@Hkp8{^sy18vtT4hqs2nUOqbT zDs;TS$P08MH-fvo)QUj#~m`!1se>C0H8_JAp|lEG8O_a9xU+)++U=0a~1Fwpj|-e zF7-n!SjK%L{~%2QU$wu7QeOr%9JxyE!REFf^30_5n>&ZI?EFhRpuqFde?Mlk+sk=ECbz>`Z+=K1CR5TY9t;=}lJpdKfET1$aS#kg<2cs!;d&h!B8p8A&8FA=z{DRx9EW<$f9xRoLA2OQDa2xKK=(~V zOQ}QfXCo$^{I5p?N-m5b_h6e1-y>dhrimt$p(N}%;Bpcu#=Atya^qzF!BOD z$d%wOFS!By>?wZ=eabw&7=f6^Xs+WzMtrCl&sqQ9kh zl_0>BdcOpoln&kxek&(1IGu;+m?{?tY!OhI2S*K?*Pm^$L2UdtkeOr zE1gJfUN6wG2e5J=b9t4rs>xRd=oY$_jY9bX(OOlis=q3Q0o?tGT-RS8tE#R)&w%f+ luIu_G>VShv83zARd;=sf)YQf6rknr(002ovPDHLkV1g`4?KJ=Z diff --git a/graphics/pokemon/drifloon/anim_front.png b/graphics/pokemon/drifloon/anim_front.png index c175e21ac1dc7025899f11565da82c1d86dd8f9c..feb7b51fa4f6b4c2055bce870a85eb1426359f8a 100644 GIT binary patch delta 667 zcmV;M0%ZM%2JQurUw;C5Nkl3Y1U3oX|qU5e<+6yStDmm*MHkx&5TRrWqq)@uY(!Z+qpMvTNCd4B$8%(FjWaq=#PxToOsUuNau^(tkTJS{L zfB*|i0#zsoC4aAOBLZMyIF)EA${5IW7!rBTFVh=Jfb%cWgaiyi<(WBB9G^TB!S+Q0 zFRK8j3Lv|*^{FoTj-mjn31>&4Xjjz;jsmC}&4&tLlNTCi^9LlL7X|QI=K$c^?zfBV z5tS(Sv0A2?U_tJle zR)8y*@UXk6m3i@M3;@UVj790R;Ou4{<4(leb2z)1(>3{G@WF{P>z zqQ3Poutxn(snJqRV&o5s;l0XLm?D3`)o8uRRg@wHK3->we5q876vCCZ9t10VFfJxn zNgNyo*nia6oa{a!41|3D<5z`&xIe}~ToMK$lyWweA(mj_U@GMmWf0ilHkwh>mro}} z0o+AF>ljA7=|zMWvH@nN&kS&A8?eavn4J;L0u3&SKZ^QO4f9NjRAFJ zNDSF21If^#WJof0vhPQ6wj%+8_q(Vtp?s3Fe2?Dm?tISsGJkfc->V@UfCxn62_+B& zLE9&QcH0s`hy|)X1yuc@(?f{Y4nz?69T6dkzDSi2;so`Tww1m-M*XI)>Jkn}-o3Ag z7y>sna0&WH`t@r3r6j{}-vv)qRS;mZCL(;RrB)Z$ zF##|sX9~TFx`rwnNutmBd3MD};A1=`0gI4dxBaAeNCDCAA%SNuz;glI1+b9Zrel>A zKrO;!u0@2d8PQ$B{dx&UP;L*W4 z5A_ccMnhQtr}9NRu=(IA^Fo{sd<*otAT@Vm!&LRq2{k@>^N>7r5h#q$XaD87v- z-466_*0t$GygG&6&AguNm&OMjW!^ijt@8r_KJBa(Euy*0FmOimM(goPPZN|6O7mV9 zT4pF8aDP4CYzrM{NP$l_`LbAPogf9dHdO|}3U6(SDRi2kv!2yhnINv?Ipw~5HjPPF3g^{7KBrBKl8AnGP~@zX^YLFT zmI9)`20RzQ9|`;z?F6F70(@V<^*T47Loz9~Of8PD%%-Gr1A&&gFE1|!wsrcz7yJKA aAKw9&8_T9h%QH{_0000Lu diff --git a/graphics/pokemon/drifloon/back.png b/graphics/pokemon/drifloon/back.png index 677a7c03a6d7e2569b3276d0e32a030c10bb93a3..08b46ccce5bb1f1485e000787e61c0824895bca2 100644 GIT binary patch delta 440 zcmV;p0Z0Cq1fc|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eVS9K~zY` z&66=t!!QtqBgIQbH~j;4Ixx~EVh+?Ue;`NIy|u~?idY$#J2aK}w_MVYBIhnqg^+ks zruX^XJ1Y+Uozir~U+6R(V8VsgYLW0nrctq;-SPuaiPkwk;H)JbA+(f@KS>gLf|3oP zR5Bxh2lVAcs|kv1aW7kcDMbTwc@YVSxbtIj4RMK>(p$8rnF(Rqn$x+=wge&S)7f0c zD`Qq}OGFqMXLp%dI@JDyipY%n*8YZwI61ci)Kg8o6A>o|t>_t1=QkPq-i&D10d+)w zkJH6J*YIal*8o5O(N7;Ez&#HEHM9M50Dcb~$AH0$q5$jpn=zn&@ccjwckBcGU(OC! z@FRK^{0QptiID(&Td)DBm!7~uc_0eVS9K~zY`&6Gb+!!QuV zD>X|-H~j*3Ixx~CVh+?UU%*GzJ+;aXs#qDAJ2aK}wp{*@LUQK_Atc`VetGXMu``+c zH>K%_pQv=|VWx>vGKqO2Q>aKSuK5B~tW?eyG+NOSffAzjXK_q7e@IaiQpO7sxIimdYBe+D&=`Gr)nTBcFn)9W|3W5l#r?aJq)>^M!K}2W~ zWjC2#In@4*ipaG4)c%TyI6Jok)I&wQ5)o$yt>})h^XrWLpd;LMKov3E<9zX(G5Q_l zPXHi*@T-pz;2wQIf5jAk4#4k$(-`1=Q50Z${&ozogA?bUaR>~Lobiv)kFdnWF#d+` z5th8Y8nyr>GeJXOi>-W3`=N0)aAN$)dwq9|&bdFa*=Ync|1UT82{f}nb0jt|_E193 z1Lkml03N_CH_y06zye2OOW1mWJcL~HK#m(4oZ!eNR9_4MCT_~GOJaav3>Zx~_LBxn a(7*?TO3a8`qO~mm0000%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x}lQB6-aK z005~;L_t(I%iWSO3d1lAMRfxmB1iDpAxrk2FJ$OBiUwb%b0UbBVyNnbQ1nHiYg=u8 z{BN1>PxR%(8qRBvWbIOqAa$VNN16c?ndR(3J&9!RkZqiYb7urHO#rA~rDoXD6tIP> zWW$$P8O#GM!=io-*-Z%mwJX?J?7%O@s0emNOp)%F4>|wr{BdD;FN`BfTVdFPtuU@J oEe!*3e7uIdET%ZdKG@r|pFwbfytS;pmjD0&07*qoM6N<$f^$=3d;kCd diff --git a/graphics/pokemon/drilbur/anim_front.png b/graphics/pokemon/drilbur/anim_front.png index e718a1cb21d8492a17fe62c8cf1b19f120673e59..f6073ae883517605c537219633eade13b034599d 100644 GIT binary patch delta 1006 zcmV2)_uBUw;G2Nklwg@)p2`Qxi?6aRC$ZcEGcPCQ3(#X;tEZnfAiBf zv%AF3XIY2X#?#%O9P^8P{=*L71tu^}c7cfrBxzg1j;{=fzJKSnCG0ph0QcByOSo}- zVFF2-{5!zrG0(O&+@rKr!|ebjU<&Z7u?bwJNeT-h7<-1V4gw;ZZI?OqlJwL@#GN#TH=F2;)9Z*GBn^sVjWqH>YAc6q-LaC}dk4vc)l-iTG zaPb2aPz<{BPf-6}?{d+ZM?mZ2F7E*b)Syy>$H!zus0A1`+TBAqEbIJ>Y7c<>v!YEd z%Wl9aHGhHmZvi@X&!G-L0T_M*umHEvIo-F>))Tg*r^JC!Uje%jefpvwqcB>2>IA~# zi$103^XKlpcA&n5oTAv%#HQEpxi=`1#Co@&7$9#X%Zqhd~CT z0pg$dFBg_O?cpjeY1C?a5cBJzsenLsfo{~s7M{|ug{(Fh1UREPPv+yRnPrcUP(n{* zpMMB67?N&mL^GZXv`TK0cr}3j;RM8#fU`|KT0v5aONht=tSiui&=*n2 zR^%VZocKzQShf}*LjEX2Rs&1LDzZ50Z)YF2*FMPi6@+X5P_F15n>Cyg0NRSRf53Ki zvByIm02=?ms*;S9l(IEgHvZvMPw2sp3E21tI4$+jv?r6{AE4~WoBjbC>X>W?|4_%l cKm6b0E6f$-O=he4-2eap07*qoM6N<$g3bKiz5oCK delta 1044 zcmV+v1nc|12;>NmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldt}D4JBt z000BWNklKX2Pc6u`;w3q%1apj-SH2avK5e6wHy*nQ7{VeM+*5k$Q zM~?ZAeg1q0@B$NA=QS0fX+Op_GnOaQ#(Z6rWs)AceZUXs3@&oKZg3;JSrHp;eu)O-73 zJ{n6JU|9npwts+xfSV6-oD)!3ju5%n0P>?W@o#>OiMSof;IszTPs0(%9{8D<5pfm& zR0FvPOyClLCKd#I|6`$EQwjOR1jYoM2quOx0rw0<#?u;1p}(X#cy#5NQXm8t#?B7% zuq^8o-D?JvkJ1DpLBP^K5jj5O8n~CzH&5v8v|la(@qdSp50hd+@t$0mhtiP+lmOA- zus{v>*Z-f!?X-vad~eI##xdAOD#hqnO>{|E_?uk#+9aTxl+ z)-lG4fdzm%Qxq@ncHR`MBAT05P?cqQ7wo=`$bfvKRMj4*rPLXe+7q{E@jXhQ0Ndlw zDF40Q<$uE31L*v;%X@$x7pPQk^D!AC)CqtKZLcBhmv#J2wFjX6S@I^AWjo-MnxObo zfF5^yE<>aQ*na}Bkhah{-M7)!Gg$B`aWK?ZK+CiG{8b;LFj{*m zbbn|Sm)vT#9t`8_Vl@K+*#+6CO(neGW{X)Z7z{XrS)9y9S5wO#9Z?G1jeRCaFeKmD zgl2IrNR`|q@oIql;RMBmfwM}Rk~X1k-bp-QeSoN-91J+B1~LY0kso)s&k(?6a@Rwp zO=%@#T`@VPhDO~ey3IsFn~jSa&?Qj8nSU4~=nRreTwufw(9FOGp(~;gmh2BKC%)1x z7McW1$nRtbHLy@nvErz|d|Y4qD1WaoZ2X~I@^32EFeOCNipC$PTs_%llSjmrKR{Ko zNJ%M!J^pa2J9KYH0v`PVPfPu1g8lx0WlP-j2P&wgvmN~5;1BK~zY` z?b9)H(=ZeOU=dGjHEn#?Eq#XG*;$NLde>}#6809d2XeY&<|pt6K$*m7Z^}j|(4XVI zC)sg&zGLmsH{=w(&+kdHES}=A#f$&s(|4oOue-rBHD2NBBo5BTL9*R+1>W9{HddRi zz&N;4%ada;0hkRss0b#1+trl8u&e)twTsE-U% z1hk9fCjpD|43cdJF13_XELvE~+nrMCJ5FD#9!T%sAh@v{CQ~Z}r&wUA6fQ|f3;up4 zCN_el)|E&yO<+Z!wzfo&bl~$EK@Ff0;7B9|PP$4!2kzEie~<=$eYWa=Evs$`*4(bY z@E>!T=^mK82R6%cZZ~f-y+Ke@ZIiR(c$HO*=dC^f3$n{w6UN57Yn?HmX9vKVn;x9v zE*Amh2e9McIfBg{0Y^QCAPnb!T{|Tporl5s7 z{+Ma;Xr|3u`%)nGyc1i%gYB?N)5tl$P7OaM*a zfxF-xgpdc2)S=1c@HS0uD(;K~zY`?bN+)+b|FS zVAh(tMM*3mn{#RdNLo}e4Pb9=Xm?Lq?`{nOo%;xVftH@wQQGLOnNq%7k4IAeserC6 zkQ)q|_u-DDC^7aF|5%*oPHGt&%|(r>yt1z9|p;K6$`w%e;aHpR~#f{b+;4!b2A1iBaWJaJk1X@jdaE7~_d64hGhJGsq zt9u6w905P9ewl9U05=v2wGUzk(|vFUnV7A$umf#54Fyade}D^ULLRmcQ~>iPr)!eT zNQ850t@WVn0ow;^8vqdSHq>M5Jrc~@N0%p1hx_eHbV_Oc zqw)ar)FA>_qHz^Um$ya8o4kKT_{=n*d;GA(%V$ETp#FE9uW@&n*0{)hMtM-5=b Tr$;mK00000NkvXXu0mjfzXtuX diff --git a/graphics/pokemon/drilbur/icon.png b/graphics/pokemon/drilbur/icon.png index 2c27e2ab913b5a78c0f96c56972a1fb3006b7751..1bc4c7a15476853c4d2b4fa229954bb86b33ec3c 100644 GIT binary patch delta 257 zcmV+c0sj8}0@(tPV1MLEL_t(IjqQ>>4#OY}M!5m9x@4k5rcRYW>YDrX7TM^M93l7U zZIUTn2oX!BxR75HsbiO_-^P<|1b&SDemEY^J;Y=L082sdK}S1M56%=QDM64Pr<9{Z z_)|#*qS^@F)7!O9@@=d`#G%yiSW398?5N8;DOQkK-fGi}CVE?dWxOrS*vM?ZM_^k@ z0vNK5t%Tzw3}~@!e-dWMlWGR;5`@tM=;b1Z zUI$%tV3uwBS;3Far2G1VAKDQx`GHiJ;D_xa;EQ-H%%{8oZ+LdpiZYki00000NkvXX Hu0mjfdiiO{0x}#g_mI;7 z007}hL_t(I%k7e}4uc>NhIs>W>Ec8Or%p{E>FWFRE!^m$kKlXsZR}(h#IQJd1&eq( zb?VUcHon~b1ny((_lx81JiwMr0AMK?Jm~2}?!l1)B_#+l`w=n-_k2;_CpRSza^+h+wodXul~ t4}NGz!0ZQ7VIYDZb|`j!aQo3$y#Q}`cGNL>QKbL?002ovPDHLkV1gfBg{J@j diff --git a/graphics/pokemon/drizzile/back.png b/graphics/pokemon/drizzile/back.png index 13c899e8351e7471c3bdc9985572378df021a65d..e9a94afb568558b57a2da23305654793c999af65 100644 GIT binary patch delta 493 zcmVg5`B^O z8G3dggv3~=GdDzv@2Bs+`$I1A&$x1Xc7QU^wG(T`>;%0&gYfJ==o|CwHi&Dj0T}-6 z={%odybOER{Oox&I6*jnIzM0f!y7XYEftV*f5eOu4yY1yfN`)Mm;vB21qIw0ryY6ykkRMQd#BUX+jFQ=+;1@I#~qBrX$g~*6pV{k=M4w;o!Gl`2X=k j3@)0$?>D)``9a7ZnQZM6=b00000NkvXXu0mjfq2u01 delta 485 zcmVr4FC_A zd@c^a#BWvrrw>_se~cO+A_?wX;3goav~L1H1I)_i{_F{mu1@p9Jmrlq?@{z7y(z3QOuYYAZiCzkqYTYuC)Ok5*Fi~X%%n` zJlv%6QgO(Y&a06{l2`$di>U_S)+S)0>Vc(GO%o*qVh7}+TSFkgVOIe-2}RI(XHg=q z1aPGV>$D-AR91PopIU`TbuUC&Sr!3n(~)Snb^9hQ^3;|%7=HVX&##}Bri&)<^>O~N b{VBcynQZMi_4g`&d#H%%w?CFrzkiT$75gCL*LX@n<{sU4T{sol+K^X+j1v~_r zq3x6bJAE>@fZ27>Ga*eMjwN7|z^;N*0JvBfW{m&#@xH?<@LUIc27UpwE4TI_ zCv@g}0KVKf3k(n9>N)8wa2T^B7#V?I1B7y3f@Jh@%3{T3H59IYYm;Q?SSp}7EWvIJ zZOT|;DH1pqzhwc(3t%w?$gG%*dce4cMd}swY=v{9WAJT#qX2p?A{;KC@C;OBe`^(T zA&Nbh=>)%-Tx|YS6Nne^EP>e6z-qn)3xMgW`H-W3Ei#fzSEQ|^ybe9fmSMRwSAkq)VYCJMjq0T-7wd9*xfW~H5nkSxig+H8 hw%}!R-{Zf7kbk3;*3Fu081(=E002ovPDHLkV1n9g_)h=; delta 532 zcmV+v0_**V1^NV#B#}W-e*gz`Nliru=LQD?G9Un$>{I{%0o_SNK~zY`?bN?Y!$24S z@Q9em_t5hMM zS{bwy2*dk>6ySla6~Qq8oK7XhXJ1=vy>bzlh7J}6D*@uAQQDA0G_*_rD;+qrB@_JO zJkikBF;-L1lWeO5e*{EG4uamkgMH3oMJ5bG69QRRc|g>0z)nNf5XOPZNuaCb7Tbg^ zfED9_NcDwY3otQRk#dDbG-t8i0a#jN$pMX+dhBuj!sdWz^jWG9Q<{u94+red#B}*l zOhCWEYYOPH1m@!mOaYvE&VRN$4+$w?HJl{}pfq5}Vfetnf0)jBJ1rQXK2IkK5Y_c~ z{UQJ!Jx$o5`-Gdo1dEW-BfDDM?j!+84!s7PrOyB?m4Em3ERF(P0mS@-P=Ni46nPv~ zftgo)`F$axnVXM{c_5~d>t&#E!`o>@=pql#7IeXz!uS3n>W{tJA0o*QcisNbz5t_? W*3G`@8kqn93IG5}MNUMnLSTXh4)53i diff --git a/graphics/pokemon/drizzile/icon.png b/graphics/pokemon/drizzile/icon.png index 373b453d7646e1e6b761ae8d186e819fe6f717a8..f02ce10e286ed3d49a56fbc3d14cbc7e10876c70 100644 GIT binary patch delta 348 zcmV-i0i*uZ1IGi9bbkRoNkl%87L08FH3N2)nIZ$CP zGd5&p3+h0iVArYbB$Lu*OSOFHgQUmUUqv_rcP38KBLHs0Bk~&iBY~T|U~>Q;H;vft zDe$KB(<>5#u!G?_0*90Jp2=94_*eyG-ZHe*4D%i(eIHOUuH5=yO6AX2yKhEKCrleGmq^^6V_k4w5jz zZ+gIW6-J;e-&Kdf+n}WHvL34rwE8ib0xYe5xG8#)O5$UqAFdhfwoLRxDB4$!e$?0< u*NuLZ%~IQFf>(!&tR_I2vBl|%KgTC-?BO@Rd#R@Y0000O{0x}}*mW_A-00B2iL_t(I%gvHaYQ!)MMtuVv zCOLw=brusrSIJolQ^+cFpu${cY{)7W)PX?3uG9D@nN>F}_3|Ofe9~j=ubzJf_L*2o zX8_#zGjbaHBZ0fTU~>SUca7MV5_nho(gY=4u}bS5Khi(#|}BftZsGXcarw@y2Ye$&DrgL-44y zm%|iW2<)S(JHC!7kL9KkXdrJ6X7VY>J|#56eAvi$?K(Yg*0X>AepQ%U7KH)PpM_a4 zt~Cnd#oV5RfnqKlI|@_4E{u0s54df@2$bpiFgW9tbY0YA(}6ZWrkS!1n;&)xoB-5=H)g z_wGA8;eD3%Tt*e#m-udb-a-IE&$E39Eo+4)+!BDlzSFP@pMPjQj=SOd?n%S09vsqo z9K-JENx2$-CV+y}yKs6MmS4nG0w{sh;q7Tyx8t}>90345Mrbp%H@YDO1hBFOdkFdf zbpybQK{y(f76KmjfBoewKppx7U`qj97d=27C}0id70Q=s!Brw|1QmScj#+S(N2md; zz!b>cC_8p7Z+{Ky<62MZ0o&66tJ-zt$<8nPDZuuk9N<+vdGyNpPi143G1ksEIEbOr z8Pq;}R}CTrI@&$(pg!mf2JM<8Ou(w4D|vO0-Us|x&I49YuB$MZ1IE{(0#RF@4yJn; zfa61Zrjr2L@Sh$A1z27NhzyfhMaWdtA%Lr?_)gqWUw9L5qVuSmH?0P%`j1%>$idgn%B7o;#voW8j$ENhe`Grw+R8Xk|#BxfQMF+ zEgf(YjUa&J;Ycbi8o)iUI8Ty^(kHr}wm7tkoU1+$1~8nrb>t=us=;jEB4uIFX7jeg z?Mch<(0}i<&TQ3iXNMUc9M0!m9oVW<|Er%W13%Yu{d2jlyIjX?;FT9A6n6sw%qYG& zGF8dp4@iJaC{&fELscdeN|&QM01P=Yp-_OF{XsDLR+0&Y0{lRwgVC8xD2qDCbWoy_ zfwB-N0s<--Og)A;8}}7P{4j0Y;&{y6G(%7TUVlCwkGYBm`EW4@LT7w@nNB{!rOkN9 z`Ej`zu(-vYj~5rP5Wwoc>3gbZpx`19hH{TK*F_iQRW=9*%vUBN{hY7x4o9qmf8bN+ zbgTO+67W82lP>+RD|cocNl}0usrbd}ocB^fe_R!rJt}H#t;b9gHn21Ss^Y%!xE#64 z%YWtz<9XIN-&zV_HD}uW%>n=uinx&>L|nn989<6C-V1SaFX-8yNe2snuUY^xOgxSL zTN2O%iV7WP7rm11w~C$P9ev58HX4-$Kg+90P>4wEnvQ@fVy6 Vc3?uI@3sH{002ovPDHLkV1haDvwr{p delta 975 zcmV;=12FuA2%rd%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LduA2lXgT z000AnNklzfaph6vvH~%4>WxfY9@7A41DorwO+R;BW2Mt+g+-9><+gk7H2>Jju1HdnXa6B&N0v`5%`|Tn? z9eM;{D*;>=J%2zAC}0zo6{?qM!PO!z1Z8}c(x<3BLKR>g=0NI3*|BSRn^2onkCh&< zRtB&t9art_^13$zSSv~aUfEMyFJJ!AHZ~Yz&2)pK7|QK__0uoiAVQ#>xd$H9`t5$d zSyhAySXFeTzU|NM1AfdN=CQi2%wP!^k3$)vrrI6M*MBeo$A{)ZCjqqKKOF`ISY85% znEAw61xQrXCV-o{_(48U50q7q06R*P5r%MAVw!jY0vuvwzSnx>kX6-DhM`9cFDEwMd<6uvoW1S?D*}vh84R*f2cwdaS*;YOuf03=a=6 zthoq;p<1KKjYk3H4b~6)%-1HO>^|S%9gbKV|G=mA=~fPPB;Y;PBwhMpN3G1-ilP8J z(tq)b)i^(%5!vG^x90f_)7mjJP1wL@2~ZdJjpK6ERbDb*80T5#e0L?FM)N{@oaO+S zP~=pF5P1VTcSJy$!lRVaM@i5AL^{X;zRPD4%0VVybe{<*MuaKIgH!{V9eRWFG;nVK zVwkjO&UOUE`BEj)0Z#4{u_}P5(SEWrp-AuyF(h=AKXf(Be4)d`Xz_c|5u|H`hr~q# xu{Yc^!b4)5oVo}dSC!ZQ>~7cI^@O$kF!B0W%d#aoD*GH2+U7&Vz> zQo8pCCy@X1fA5VmIybdMX|Fx>H-hv6un|ZMCRVBdA%s5{V&Y-7j&d$W(0hbli7y0r zZ6E;37y{8;Yyq;48a~s1T5F%njwbTbk7t;l(vARkdIDgxg*@$O@~!k4pm-22z4j3C z*@uw7v&aMjNRrBjAT1a(B8C8QT=@VL61Fr0YN7z_E;0ieN*6E98i4_P>>^g*is7v3 z^UqzBta>WIpmII;I7Bqngo(+)t<4SJtQR?!pwD*|F#-TQWKzC2**t(BAbOv*xpHsDnw!%P--o!;@0#3t#Wm z_hpjnadOc`Va_u{KB^?1J0_q?UmZ_C{SW2>?8}GL8yh+uz*$H%{1%|3R9P>8`V%<* e3%KcTInFQnbaZ=@SsxVu0000EZiXg delta 477 zcmV<30V4j<1jGc8B#}W-e*gz`Nliru=LQD?GA8N!Nnrp00jEhsK~zY`?UPSx!ax+p zqX^mR6kR7%V%BCza{>?G$TJj57cI^@O_8A|ksheK;w{8YnKSfFj5Zl((su6$CXn~@ zdw=GQ=Urur(#~){TnW+%z)B#|8#$>B2qD6W5TgLISpevrVOfmhG0v2ErUWT}tD*#kf+!v)EmCE&vOXpwg` znHMDx>MTJM=n%L7seiuY?i!^|?@M=$g)G|J*jA*gCv@nXBagivyX1QP_d58(FKTZR@_Z7$Q`$c$r9SZUPJNy``B^7l zRYIRfeAQ08^h`iiadoIq!?OUp>LsJ*vNeH|kcho5KuM{JP5|{QaQGK+)nD`t`E+!9 TL9js-00000NkvXXu0mjfKLFZ~ diff --git a/graphics/pokemon/drowzee/icon.png b/graphics/pokemon/drowzee/icon.png index a35ddb567b218dfafd60a708ba612046f0e7f9fc..c5fa46316c6f2b64d340bdd9b2fb5324ef4b442d 100644 GIT binary patch delta 271 zcmV+q0r38d1LgvdV1MyRL_t(Ijn$Gdj>13;Mdt)qX;PAF(Ct~$j6}s5(jccHO0ya_ znX6GDQjuv;rZSV&62~-DAaLie|2Q0!F5>99>ETGe zSXR9dc`KRF#@by);3D67wjzYW+F)%dkt~$!+{)3hDnb^rwK#YHhLEdoGp6@?H>;!h z{&@i~(+vd-um;A&XTX5-55Pp8fT{~`DTrb##`U?vD%PDHLkV1m8-fAatU delta 308 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 delta 647 zcmV;20(kxU1?>fpB#}W-e*gz`Nliru=LQD?GAs!$pnm`W0#HdrK~zY`?UcWgn=lZ@ zvB&N$2XK29%=J0(0s>uso(b5k3f42}QUK48GDY4uyZUFz+)UaO*@i*;WB1!nLRt3D z#`!P#?blD%UZR&uu7T=c9^Amq8rXIgsOl`+RcZ~?!md?Koz=}6f7o`y>Z-bi3#AUv z`C5oKTHJN26U_>syb!dw#jhz+fSbHPb9TI00i5&B<|R8XpQ8fEN6=z)pWX*4o?Y`RduOGp7x`Lj|a^|0V^SY1~#F9 zm0*B2Ivz$u^8omhe*`PSl(ibqp8-~w)hJiM#y0Ra8Gt8%o8H+Z-4K@t;6|@f;QFxw zRBH<1rYV-~=U_#yyaWr-yFBdYKHGmJKqHS$0N@JRckuwrd9d;{AuuihXk(f5ewt<& zhX61ZJB5H;2EdrX0F3!I0XUanV$70BoRvAs0SELc&^SQ4fAlm?iCGS)1F&3EfQB&h z|=nTMpnC1$p#H2 z-0qPP60aZAz|46qOWnhLd7OTB$ST`_fYVY8TI(1vmSb2E%Zy&?!tYjmusH48c>yxJ z9Of8c-+TileO@&V0oS33fcbmcMVVUF(r+kwj9p3t?*pd2HK8~T>cp{BnEFN8O=B{6|A h9#C}Yyk!3)ia$DB3Zy657r6ic002ovPDHLkV1h=^Eyw@> diff --git a/graphics/pokemon/druddigon/icon.png b/graphics/pokemon/druddigon/icon.png index 528d55247e027db80f0a6be5ab23f34109738ba6..77011932efee55fe8c0d9365774ba2a8d2732eac 100644 GIT binary patch delta 389 zcmV;00eb%T1KR_TUw;8+NklD9MtOS|KL`hyOJpDGvbN{ORYj@BC%iUs?>8KrRr8ehzve}0S{G})>;`sE&vfIt$&mv>p-kYZmYDl6{M#O z?dJB)a4ilR!;w#QbFHb^LbEjnLyZshd=E7os>dgcMY_`(nqoILM9Atw7w?T6yCIOo z-@B!?n=T)ABajtVaO>}roZ;W^v*e+N(N!7eIwc~ zyu=G*sCuXmukAot5@ucPoF7FYW0CH3SMQu3=Z*-kzF@;07>B?tC)m?86kC{?A8Z9U j_v3iPxgW%Sn{-^?wQL3}+GCtC00000NkvXXu0mjfP{FV~ delta 418 zcmV;T0bTyv1NQ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LduLkSFoQ z00046NklE}~^=PybA(g8XL`V6tEm!MWkFRw%}hJPR?2r}RfG!znwJo>B$ zuBnyIBw_@>rZNFwjxtUGYprpLLjXHqtTBdt0NqRupT>HhWB)5nwYhzB(yD`{c;(C7 zTw4}fEVs^4obh3v@3Fu`{`f@QkmKhXOR*aZF+m}$crW$XhEcP8KThp%LxB5fC8xH8 zf0+QMX#y*m&VP1Hp<~Kto95&{o{PV(X^EiL7ka1*gQ)dn2(*bX#1m6542LHHzzk^; zhT7+jpcjT(AM{KZ-3GFmFdUT1XcDFl&PkdHlkZDa9bpj0asE&oUaN)&Vb=LB_#uQI zgt;qr!H=O4)73X_WB}t5z)QwGPfPK_E&PBL($bI9i5r%FF#PVv54CItE7&SgssI20 M07*qoM6N<$f(Z_{&j0`b diff --git a/graphics/pokemon/dubwool/back.png b/graphics/pokemon/dubwool/back.png index 14d69aab7bcee05a5228c5c74ece84fb948273eb..5981dee2ff3d2f28c798f6cb3080e6d618f39322 100644 GIT binary patch delta 621 zcmV-z0+Rj91=R(RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xn5JK~zY` z?UK)G+dvS;w*p^!%Em7cIaHxaFUBvB7+-obrlP6nrNJ!tS}<#JDHMW>$jKPPTn(b` zB=;8Vlc0a%?$hK6I!4LKO0Zvo)A**2E0aHio*tDJEB%? zNY8K7A0iH!@Wn$Kd)|J3<1Z3Vk%DYUy6#u&_wzHY^&l0(r|UI&UxM=#uUe;mtL4f1 zwu{Otulq1=0knL7yTua{4KJDL!5X+`V17$~y~qOxAV$%d18klo z#?W;@h*9C;!T}S269=SPmwU)-0E|}oPIzQfL)*iRSrHa!TL*DEK)f+JA%eaL_)Wlb z2Ko#wb3642CbJ7;%k6UbC=^x=+8PO)qvisAwo-0>#TI0raS zOS^o#%%%VU0xn5JK~zY`?Uc`I+dvS; zw*p^!%Em7cIYgmKFUBvB7+-obrXs26rNJ!tS}<#JDHMW>$jKPPTn(b>B=;8Vlc9g& z?$hK6I?{)EDgM=XCU=C8ay#HP>Qd}Ce;C^mwQ56pexv>v zvCo7r9@E(Ib{l_@c#afgL(*}-T7Q_o)>;ozA$&SslMf|0Pw~2S;tX28W4=mJcd)l!WF)6W^8-@xP*z*trb01kEE<@J>@KLFsQ&_`vcb>i}a zo7rrB2k=hjE)Qwne_7DUjABkTcGoq$BH%XxFBs@EaDdZ< zw|^#RBa;XSIRDBLF`gjx9vTMysB_^FA8!a0fbP?e|38X9jSmxN6qmIS00000NkvXXu0mjfaakI> diff --git a/graphics/pokemon/dubwool/front.png b/graphics/pokemon/dubwool/front.png index da4955c5bafec02cf16bf787cb29b2eb46441d9e..781d23721ee72a5d3c711d4bad61873b970f3a0d 100644 GIT binary patch delta 693 zcmV;m0!sbM2Gj^Q|@K;j9giWvk3N1gaw-BIvvtY{jDP@_Xghn#Q_2Vdwgm> z_QB44K6K||t}+fvx`wsJq!G#rGGLA?Zac&$xWT8`!(#4L-iFw-5yqM)uqP@3B@2y3|VPDc*B?J9Fr{htCWDwmfAIi~jVU|aj| bM$`TP?5%pN=b#*600000NkvXXu0mjf|Jgs8 delta 686 zcmV;f0#W_c2FnJJB#}W-BLD|^yxhGpunl|ZjoJwwy%g2T4mqx4NRuuUxA zBuA9ecfC~v`OVsq4*;oCdQMMQ2xI_Y7$)g|cc`q>RRyEwSj}2LV0#jneO*y7uw!&O zLCnUK4tQDyx(-gA4vQHJ0HA}}ZIRFkK1*+ytU$)3!}PWU)W2jvtN=PInY8Iynnp`t zSW2O{>E-)OqAfFw=&az;t<&`LOQpb=vY^A;Vg!1JpE6*q0D7GV;2XI6{&Z6S@*k#u z{^}k7H=tGx~eKZ{!l#d zX>n8NtjlUlO7KGgbzc@h+X-v$#7aO2Pl&L*YV<4udcZhI0ce93ZG>=td>7!;N6;+H-X2-EgFi zPUrwz=nKN5?cPfD_{o;-U!M?PUEo%rb4vyX0j-@8s6{L<95^hkCBUd4cYHRS=Z1G~t~iOz~; zz2y9>^%v%iFmpd1!p!`52s8KNF3idg_t}pty!*91$42A>00000NkvXXu0mjfZxMT7 delta 267 zcmV+m0rdXn0`~%tb$X1iT%0r1LR=zR6hWM28_yZG}c_8#@G;`I#dwM$g<%U}U(1b3!yTUES}ICixI@ZL5@z9-u4$x4 zvJ>zs1{~`t4~QMuMP^P6_EXNkT7O|)2s8KNCd|x_n=o@fuEMPRaPR#%1HAjSJ>tBy Rm;e9(07*qoLuG9iaK|wbm>%vlP>%Ml>Jz|vEHAm?Lbu#f9{Gzo)n#Q-_!R!+b{9!^*X#w z1a#!Blf5YQ5-3Cye}{~H^=pXW*iYDmoel2@07yn20@DO2{C^FOGS5QE6yW=G57+te zGr;YXPb}QDm0kB&^g*eNmB_FmQ@oDfOt-(sXd2 zDAf!N0T8<_L8VkTO3L^Ido_0Dt~4k{2!V=F7N-&!&_Iml!c*3^>@9xd<+W-yJAe3z zx45s%d0jr#sD{2c?u+|+?*GbE;y+)Z4jnqYLYE(28h^a+{P00q2A&@nT-x6zKR6J< ze#00d0fXwR(o7jxi7afjq2`pN3`~9y0(M%yBEgltvvq!e0A$|sO$5!I{`?GDruc_o zJ(0YgL7Tr#ez3EyTDwJ~U=zIg!MN#fegM|qZ@th1lOJRw$MODzVUr&UBO*lthRF{q y)^+#Y`YD_r9%F&ry)XGe=L0vP%MTsi1pWX90Mqe48%8q#0000O{0x~y)OKFn;00Hw!L_t(o!|hf*Ps1<}tu0l6 z#8AgY2z6Wf z)Ui-92Dl#|<2<(x0q({E2kc+vaCa+kmIsqEKNkYstL>+w5K+K03AUy`L9;Y7p9s(fT z08;&Ak-bA4B!3xHnz2ihChBGpR|vcANTPa+q{?$^h23|hJTI*fR=`p%)sYHK-Y(pw zQg2EvOa=QysYd9K0Fhl1lrhy)j768&(eRniOnBHdsSKER!6MfImi?J@DXPd@^JhH0 zQ%ok;ua9_%molG~`D=-CXvQ4WByqYL}0jg5* z-yU@J+4zU*jn{UIhKzyJKNvNA`v*$}v(OXcAJ~eH<@^M}%0GC9L^8ttgNk%sy8Odi pB$2!K%OF2!f6(}c#y@Oud;qB#zwFm`e<%O|002ovPDHLkV1haG{5Svr diff --git a/graphics/pokemon/ducklett/back.png b/graphics/pokemon/ducklett/back.png index 382a122d0f1cecc2354c329d33091cb84832aa2c..77ff044b9993072628b9ef15047fd16301c0c817 100644 GIT binary patch delta 441 zcmV;q0Y?6k1fm3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eeYAK~zY` z?UTPw!!QuWO{DB?l1hxkby=7aM`Fc|fv|-tK|;)A>4b#Tl?5pA3G-YzLSd zVD&rBK&b;3DqIT!iKE0PKbOTr`qzPZc+PQjv6WIeO5l|t4iJAf^ zL1?jR#bHwfbZALQRTK_D-Y7%hG+_|H4S>Z116m?iDl-Vs#L@%EDtV%S$Og;=i1GqV zB2agRrRH4Qz}-fEPuScL*0diUWeqaj3=0UiV@s|&Oq{?tcKB>;m^t?A{Z9+q@wDs4 jb`ps8=n(%K2z>(-GH-VOwa(Sp00000NkvXXu0mjf&QHeT delta 427 zcmV;c0aX5?1d;@hB#}W-e*gz`Nliru=LQD?GC5@PM3evk0d+}4K~zY`?Ulby!!QuW zOQh~?<4TN;>#{H`BQG z|8)1=cV}fZI>uiDF5>6oGKZH@02i1>fwaJRv__MsaRB0Fen4ePf8qcu@#FwNqHRFN z7>PKMsdI)&ut)+75Vj)G=SpUqu!|-DoPZv<**u>L@#-po%mS;IuIoNM zCJn%q0={b(&=shD?W&LN-LG-l%eWQd&EKV!S$&DxJ1J&$R)PnNqCGHw2+qQci}LWa zbr&-ppZC0uER3G#e+p{GQigU+=Y1~-Getpf>jELj0@fr2$L08%Vr4Q(xMWZ zAOS$%C`-T$P;Yw{fa>uBeTu?lnRpE{#4-ZtDg`jW%mu6i$Y}96k(fI}GrQL=aKF*t z0i9aHar^N}*FeL~aDeeva&+B76a=Jf;kj(6UHkR^w}h=cA!}R7hXk|z@wfHw@dGk% VcK`9jme>FQ002ovPDHLkV1j>k#xno_ diff --git a/graphics/pokemon/ducklett/icon.png b/graphics/pokemon/ducklett/icon.png index 6255a6b587cf1594166a0bd5bf47a16dd56b0e3b..7689062fe3dbca71fb2f12d4dad3c57804520175 100644 GIT binary patch delta 248 zcmVVs`oD&kM;biXU6cBKI_oS%5q^&9W1Lqd3q(b_h`59U3lAaPmv< zo?v9sx>o(n#-_b*o#o^-v@Q5p>YENX7KF*oI5TcAlTG3x)^Qjkg1xVJnXK)>4I*RBqZ0;AzLExo+z(1$`0)nasfJEjlfg~^0000Y delta 288 zcmV+*0pI@60`~%tV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0x~;_{Ux{n z007!aL_t(I%jJ?m3WG2ZMZLjXNa&(=>&o0oLG0E*Ne|PFg->%01xW=J3 z&Mu$%^ODKWvLCBuk!P|t5s(VES$YC+6%8$NQsVeVgHZ~Tn z84V}LzG=Y6QdhTlGQm&dj636cJ((yjVzkymC|r3LuZz1%R}{1VEuusSAz4pABKVh0 z5`{su9Dwu$JY<4=d&(^%)1^A)VB}q?^WfN6+RD+?j(rvRy4M19jI|(>F&%h<*$^`i|9~l(C$j1lWsfJEbOdG=h00006B1BV2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?U1o}tA`(D6)-i(}6RlByNi7;Q7HAOxW7r)}Xky4x-y%F(0B?Y}w;(&I{jw<>Nhio@ zMnOL`)H08~(cS`=dq8zFqs{_9en#^RqcXW9_ImlGiH?Ytz}tl<>aPEE9?%2ue!ba0 z6%Va4599-|Wq|!u{OKMSKyj^HH_{R)57@OHP`?3ARgPZ{7+;lm2?|0N1l-v}jX5I$ z;&~0SEqr|}fuxbXr@*}hCaEc4*YsN%eshq(c?sZF)C~ji3^1ZaVb9QFA_3`wm)Ot= z66~4&2-_*p02)02XuFqFV6W+-1Xv=G01Yh9!Kzh%P!Rk8KhTiq(&G!C00000NkvXX Hu0mjf2<);~ delta 406 zcmV;H0crk+1pNb$B#}W-e*gz`Nliru=LQD?GXl)xobdnv0bof)K~zY`?bNYugD?;P z&@guhMnWAJ5GOSYgMX#X)GAwttjXH;6Z#>^>PU#;2EGZTc444*2J8d6WalK1v7gU( z9@uQwSmXX^l~So4ZQV#lT>*gR`5@(ynym-CPV?bro7xe~atyQZf8<7bB7$KO@uhhm zMJPZtu44u}7Ohc9EfO>qw1|Ka?2aci5oD=P5gaYR8zAm2A znMc0Rz64(Gf$C<3x)ONvE1F*zBa=;HA8+4uq7&f~d|dcM-Sw}|13iGx>&<>td}x(< zkPjec!1Yx8>Yf*%f4EjI8^sco2kcr8)PKN5mE(^CSBCc-Bsebt#$w$th-Scu6otKp7840%72L#@t{}nQ^p_A% zK?7*?0MKSHr(mz?MhRGvNI(ac=k>p~#(nVzKhTiq^?*7)3;+NC07*qoM6N<$f(??j A{{R30 diff --git a/graphics/pokemon/dugtrio/alolan/front.png b/graphics/pokemon/dugtrio/alolan/front.png index 01c69c581253b2dcb73951b6b79a59b16fdaea63..313605dc3869841607e5529a6854b1d2cd04bafb 100644 GIT binary patch delta 672 zcmV;R0$=@s28afbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%1u+K~zY` z?UONY+CUV??V-xTkaOxXkPe&_7LU#su=-h20+(O&d#B82SsDWznuj~Vt5IwiJk z6M9$%7ZDw01g(bSBv>AZgy&oUZVrf8VrEN!C$~M&lHfGRV{?kbb=+i zoOv$JymN2yZ9os9HTyO)tS%>>3y5%D1a1(h@i8}HdhJ3Nf#LQwL%32~Qb23=6^ejP zLvV3R&9KTnRSOt@&#g;fELKmz+f^(?ybAKb zVwp%m;$NhCoJhG`q;r-7DsrBMeNkOVnX&-CJU#=WV419Yg-Q@aNxJx*tB^*?n&A)e zlrdYRK{_u0EQy&2Fb!kOPvnvndJw)$gRBuhVm=;1E6A7YM5gE@X@o#r^tFRzEhWBU zd`I~48KC)Mu3Uk)6k><3B*a3BBo$h@DxxCx`7io^(zHL_hA8$bgN6410000|i%0VhSbfMD6KW==K*dZI&_#{CAtlW}P|<&&KQ@pohFj?5rR1m|ecZ#I5J0CF zdqpssuJdE`4eF@Y)qWA1&eP8a1(;WRL{jEHup!vgT46sRd8_OTi2}PpXKFwx0 zv#bv`O#xMIx1G^StMd1qT3>nieb8*+m=#m&j-d~K0mHafKt`)_0R6`YOwr=Zbx`x> z#N^w67Qp4`YhO28oVX4k!g(HeLZHm=xdD$u2U-a9wwD>ef1T=*0xm~iAP;CX00+BN z4@%rsxq$IZyEHRUO@h`G0r>PC-#V59a9#mpa_@q3hnEIp+ftW#Ujg+o8N5zofsyUz ztLY$}{z!~NK!M;aZp>%EKF?%0DfB|Ju@c$%!&NUs6eF>E2HvhBA)=L^1s2O#3KIPy zrSn+I02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL0096=L_t(|oXwIkZp0uEMY#du0`XCD8&;_(U8Z#^+NE+4X$vYsLqkhtb^-HL^?NWbKXFRe`6V*3*i0~y12!g<sWe5FXxL9_oi(e;^F=K^W(joiM8o;g=2>Y&w*$%sM1t1Z5qPFjASUBtsIW k@p{#v_T%UG;gS5f1AmkHG+YomFaQ7m07*qoM6N<$g74y=<^TWy delta 329 zcmV-P0k;0!1DykqB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD?GX~3! zSm*!%0RTxvK~y-))sj1I#2^rcxdGw=@lkRcR;egmrgbXXoytX|E!^yxwjtf%XeHaY zm{~^#jGaCYIzIiwW9Ad$cNh1EJ+!;MJTvSfVXQ+Lk+vRR_uw>|f9C>B_fDJQ5ZTO~ z3&lN>nRS3BMNCJwrM1D7kci4Jpu+qRBpmdo$~6m7Nc6N1nnwA3AApy)I z1y&kd1_?`rSOiHQl@+#@E&|=344Q+~;}CO{0y7OS>8VxKy03sQCnP-lC{)=y+VonnU9n)b|Jq_t+r{hzVBef(KAS ztl~j|L6xbwn}-6F0>5?wc_|XOSQ+~VvoBOPXK|kb500000NkvXXu0mjfM+Sf2 diff --git a/graphics/pokemon/dunsparce/anim_front.png b/graphics/pokemon/dunsparce/anim_front.png index 45cb297fe37f16f2518dccf6e94e063616da3492..b2216c6e2fbee2e2a00800902ac0ea9e1c8f23f7 100644 GIT binary patch delta 907 zcmV;619bfT2iymcUw;Ej3~Q4w!9V29SsYyRGY|C4krroq(i)ngsB#G)Xh1K6t~L}B%Ui0Wt4t{`=}@EW~|v`9R2h=F2H#5p`f2hoM=FN z{&p9g)qnN*-^!e@6K*dA?5FF3lzuGss#pJIWfr;s%bVSRwQj&hmmYrrEOh~_mGuAT zinW>!WGrj9Pir)iRi290yT&%7t7gRtXu$aGS=KRnr;3p67V-=@SeT!`E-~uhiP=~=e{xZc*%Mu!Z8UXa5 zDZ9?&Wl67d9g~ii*Fv%>5>4KjKO;$xhTrTyqpVS93Ga|z>1Ca_)ze~6w|}JnCnUQ| h==D;wSAVH~0p&@9#Boe=5&!@I07*qoLvQpqo z000AENklzi-n}5XTd#&VnMs*sX%5d%Z14Fh4YS}df}N|ma* zEn=l^{s0Qyn@Ap5g1Wr83kZg|6IB?}SE&NA(4{|4Cp;z0gwm-mG1LX5kQOsI2oiU!2U><<=I3c3(~{jOQcGb*VsN3$Rv+Vj)&ed zwOc8VJf<}Z2!8>{hlhi}-V?^yu|v#6jBnE@T9#!ZQ4ruk6tG7rRybtVM~DEDJbx7n zu$sk=KWnR@9{3D?KYY$&%sTwKu5Seao;Wd)tKmeXXyqLfypXs{(DggZS0g|gX zFkf2e2h#OwPXYxDH86*>9w0n=v%Rwh0ifstQ?!bJVSgB_0JFd6M{d8UI(bT~0_clQsmpOohcngq zy~ynk*sPo~bf01Tf00@l0Icr}0=5PLrIkMh)&>B^M*Qz{!`O@mQif3(k=yM{E+y!S z#=G_zdRF^1>R#r!;&s-nS-4X*Epdq}UNae*vwx=Rffr8tmNkL4X<QPWe&@V zqGMN99DfU%-{L-_tleS}cSz4R71b`Q#wFRFYW|4-O>m|%bj@M>6Y&e>NrS{qF9NXu O00001)~V1LRgTDI^0Lpkr48$P{ZoKPJbaBu=3K=!< zwJn@4fIE^YZ7Aps76Yo*7pNnmG!>s(z#^h(vJm80TH*LARAA&6)V1@64vjuvbuIm^ zG-#tVMbCuO&c=hinuzA36I=ZHl>O{0y7fPRE(7X z0072GL_t(I%iYqw3c@fD2k?<_8h;cEQph02p_q?b1a)e*{JBeV z-vtKZkOg->PAJAaxIG)0HSo15x4WPCF}$L4642=z%SM{mOw+4)7HRO)@#`DF;P4 vbcDlDZA%W0ZwQCvW9E?gm^l>x|8EX2eD{Dwfqokm00000NkvXXu0mjfea2s| diff --git a/graphics/pokemon/duosion/back.png b/graphics/pokemon/duosion/back.png index 7527c440ad897e603e9e83fa377aab1a6144af32..1512b039209041670025bc0b9646f40da891e045 100644 GIT binary patch delta 407 zcmV;I0cigA1AzpPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a{5!K~zY` z?UXxigFq05iR1&|C>LNs+MX4rMO*<*H~?bZV*$Op+`!y6vo9X|ph}U#e?c?f{xkD0 z5WVH<<9dxx>z{-q@p=7}sEJe(s$Ym!d~Oi75CF@=7NP@#CJ$O5kODvxw7?Eik3=2@ zDCgQDtNg%C5FH5+*y6!|QF0F-fdEBEgg*hgo2hqxfKLXv z6BiJtnE^@{Ak%IL)xiQDyB?(vkV7boZaOBZ0l9*Fl-{US53aTyd;nbuZD0c%VJ)$J zHFQ20d^vy~)Z|!iul4!^o41=vYU2A%y!CGtMZXf&$@?Wmw%Gsx002ovPDHLkV1m_1 BsI&k8 delta 399 zcmV;A0dW3-1oi`vB#}W-e*gz`Nliru=LQD?GZxl4NQ?jg0a-~zK~zY`?Ug%@gD?<= z6DbEEtGxgQ$vqaKMO*<*H~_-wiGV)c-XPp|$1fg!P;IkP{(@#c|1Ktss~rw_CA0vgf_5&m9Umr-x@mY48Gmh tN)2jqtV;I-Hmx@mSET&>eEyey0TR{8`!Ie%_5c6?07*qo1w^hwV1kHqs=ELH diff --git a/graphics/pokemon/duraludon/back.png b/graphics/pokemon/duraludon/back.png index 437ead5107728576cd9a19b38e34c8e8c2dfc1bb..051482fb11bdb67586f53cbf2aaa0ff33191c9ec 100644 GIT binary patch delta 559 zcmV+~0?_@81(yYoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q{vgK~zY` zwbe0h+b|S>VHeH;nj_Rl2qJ^s2uM#IvXy*-fNl->GI$M;3&e(ijNNjM)=MteM@p0^ zi=w9p+VtV^Cn3w5Pq@C^UIBNz+iPI=HTQhm*xk20Ae$Y*fPUsc!Qgim5RttGNM;i7 z3Me^&OtmU*9v!G_y#{K3w+Uk`rblcmDEt7#^oZ>%7H+^j1DOU2-GDvlx=H~7iW8tb zn%e%5Nx+Rpt7BuaeqK#rfQaRjTmb-rpSO?u=Trht;Lmb|Z!{Wv@V=MJ6;u-vTKoMz zmCz6j090ayzHtCL(WnbD=o=Zx#0tELp%GiNNr19xU>$HmiFRmzOam<%jj#rI1ud+} z0uW;Ywg;I==r9X7Ph$XhmdgYOh6HR90K^eS@OJs@;sicpPFM%Lx=%<0pU_2(r?Xik zD4)=!fq(#x12~vv!YfXonFE(FYvi~4?;@dtsj7l+fQJ xz~b#p^i)j={VhhIe*GhQdCB}W4cBJ#A5;EPeTH&e&Hw-k002ovPDHLkV1fff?|%RQ delta 550 zcmV+>0@?kS1&jrdB#}W-e*gz`Nliru=LQD?GaIOgG%)}G0q;pfK~zY`t<^DZ+b|S> z;RNmhnj_RlC?bR12uM#EvXy*GI$M;3&e(ijM;LI)=MszM@p0^i;_Fk(B==1 zKM9$>y88d0>zfPU`}XD%*nVC6eq-GB+d3e(I)VZHTmuDz->ZO#f7~TNawP#TfRYo) zR*T}xg9ml3mq6_|VXedbh)o4W7=V}`v3bG554dF@^FW~=umfFJIUqoB0+a_^yE~Z$ z+-S8r7>D)KVgdt1EFa|p01*6r^RRo$CEy6&<|9I*)!2deot&?rOiXCpkK0^=A?N|9 z%nDs&4|Jwc7i2Lse=?An6?hYUBQ`d73Z*fy3^<`g*Ei;Y7Dgj10bW51XIBA;Apx7c z%p|n93OG+=1bCA31P}TIG#LQm00VeE|8;Q!pD`ya171BOr? zLNTCwIZudJQ6VYQe oCUlP&fco{99O(I3{=Hs?OS_x$eVl>B=2Mk!zKHg{hD@5{mK4{uLi0QF`$ z*u-{84psYPYPU_o1lDedvl`Wq^CW@e_?=pmssu8ab`vA{=1fj6pG=B6M+qC4l?7<|0C2 z5gRqu$FKyby;>jLG7toP#IWQu{tLM16oLZ@LIOoa$bsM?Vqvp?DMG;AmjLB3t>;CU zrm2`2aGQAkbh1^Grs?23$N;)wm=~(74jXm`Lhd#>?mgSbRt8+;w2v*#Tt%tO4GEln z3PL>EKcyq3-&X(9c&^C^2TRcOyi?l}X!chj;)Mh*UczUQ5Mv4j}}4}=U_XEE@yF)$nj|90hezCy`B46k|azXtCKGx1q~8OGH2XN|abB0G3tk{FT$` zukQT~>W$nMZ23uN!vXpO%kHi9nhdKxeDhgEzz<*@DC=#VjwP^Rw+O_^fO>DUqU(^w mbB4f}Qn)s%%5qy#{sFd!hP;0rjXeMW002ovPDHK)LSTY{;CE*L delta 799 zcmV+)1K|9Q2ZINYB#}W-e*gz`Nliru=LQD?GaW(ekput$0_I6XK~zY`jny$v+fWby z;Iw$n(4{-7x<`Gsl?sHYupbOnm*-0((T(I{$zmfoW2MBY7pDG-?#MzSOku;#(xp-o zFUbb@H}swzOboKAH|Kr6JKwuJS1P&d)tgHB^=@?3+F;22_M5F0ce}Pg5O4C@f;5&ITBi z0Ht3api>5Xe}EX2f4s(j0SE0ua3DcIpr{Br5IjIEY&J#kx$_dB9ESP42*WTcMhcu3 zoX<7TUQGSXehm{F+7<&1-pCURZK}5 zc;Sg72}C}CC&HU3WLm>Nq>a+yNeJEs*bZl5IA(AtWY6<}G63{Lx^6BRV=Exm0p0uC zVR$)@;#iJHI}f;g!td|g&*L~|a$D_u5eaCLh~ouIe~#olP?Gzm@Anz2rDt|02dX@I zU^M_4@UkMN*9mB*fJzt=Xu{(kY_^m|%MdGI6R^O30M#%y696o&*#0Z0)635N4eE_t z7HsuOXQLr{L(}T7^_mQ;J-qW-NWk-ka};iqT`T73x>d0@%M3~ dR>_wC6#=$~hP>0^ie3N!002ovPDHLkV1nxOajpOW diff --git a/graphics/pokemon/duraludon/icon.png b/graphics/pokemon/duraludon/icon.png index 5c3059bcf7f77e9d60a276ba81e49e86a13c925c..6025a5c254e75f17a744a122e0379e440a2dc3b6 100644 GIT binary patch delta 306 zcmV-20nPrd1DykqbbkR8Nkl1t*S^=OkZ3Z+^0vt4K+VxFiemR>bB^7NiGO*z@mVZT3bL56H;4Gx!LnMBq zwUUZL7Y_!=s4!W8NNb}wF8g@`1XWhyIv+GEfPJ|PO@-UPFm_LOaf*9gH{(C5kHDXZ|09eT2_xLMFw)v~*rFFk+H%-U-1Ndo)-;qX zdtvDDJWAIKLo4^IhcLx-!oc2!7Z7zX3~b^@7eDsn3;)luKbr^I+5i9m07*qoM6N<$ Eg6(gKn*aa+ delta 323 zcmV-J0lfa51Fi#*bbkN`bV*G`2j>O{0y7{PgWVMX009w6L_t(I%jJ?kN(3#N4%e7;CZYTBM< zV8bUY%cSPW4Q0R?$dLp<0ej zg*&`3_K&x5irYOkhW6{2(Ws!ER}La$Rp=02Y(JdOO-}TP4Iv$Pq^$Z z^^H&@(D-S?O%%pVCbPxc1`r6h0>1cRA`<~;@A5E7nu>podyEacOv_W zAA57!Zws=Y0r(kS04h&bK~Y~EHsT3{CglOz2fwf5Mt>rnF-g(`1I}{H}=XKZZKs>0Nmt5jN zJgA(P;D!&x1Mj@vnoTqm53N1E<=Wx4rSetF~s_8xOo{Yqr37 zPdsq))_*J&S`l-mI`M!^BzkKG9}g5$+fFKZDi(F(0bR=)xN`Y{t$X5uJ(R7CcO}q{2gL3wV2!Rq zB(80%0F{SbwOXsu0nZI@_kcRoL#*?E9}il9eO5REq+c z0008DNklL35ih5QXI#E4@|*rRT~fnI7?)_G*ljOmD*8b()*g8u#3pH2zE*Tq(9O0v#z=>A5G>kn+DKe07qE($+Z5bU%WU%ELSaDL!ODoHR?Ml2Hnf+mqxE3BWu9R8o*}Uu}CD z>tGQq;Llp+@_#l=g21#4_$^rd$Ufaul+&%ubD>)$@P2bO`Fg+EZVA!+Tu;)bf!~Z! zsaY0psW52vzg24pe#66XmM!F=zyeKVKDI_6S})VofaP~mID;-)1qunvF^wT%cjye) z*dC!+LA+!cL=5Qx%@gWfa}MS^KVF>K(XStOwfzTgj_+f^_EP{q z!n1+vqb@kvi^Ezyg0ie!K-~Fxy-budwk-!`O?YrUV~3wcii;hL7BYnxaq-zDtXx@_25C3yo}be2M>Jm z`e@F>K7Tw&t7uMo@xV=zyEvH(>cIo2I+`~p@xZH&W;}@pUUf7hNO=MeoP0EEL#QGt zOa~9xNRy9d@OWT^*>vzA0Og}uL!|CPp=AdT0x&vFwT2{e*?if-gE7RGjme$oWQ^E% z@PJR_Wo7(~WJK7(1HRI=;mYxYSe?KFJXF7Xw0JEIZ9HJOtqd!26+(55tpZ#hwpF)i z$r+v+*tRb^>F&bXUlk_PzfJi-4};!Te*wuor!C}YpauW{002ovPDHLkV1oT-Yw!R7 diff --git a/graphics/pokemon/durant/back.png b/graphics/pokemon/durant/back.png index 55c9c081ee6d607e601542a5499ab43a301e87f3..46cee4f0c87600d024a5665e21f0133586753c91 100644 GIT binary patch delta 514 zcmV+d0{#8t1nUHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mMl}K~zY` z?UT)pn=lZ7T`Al=a{Mouu)C_SX=}av2@{kpT1Zj zvA7-pf~jIgRE&TvxPQ}sP81~e72!|<8#^f8v(#B6I_cxwR4kB1rC;?unt!Jv;+Vh z78n7G8op)*ZH^RLP#)^D3Ko+xT_k97>E22v;=aY~czg{0Os+D2#l)BnK;!FiMv)v6 z{TQ}~38Y4%1^D>;%LsUoI0V3<>w&xk_;mkg1lj;VCH_TbvswTjfY0}1g#kFqVTxmm zHGfMDec6w_QmwOslet=4ShrVrR!6aBpBK6RlN0yO2AKwhW zRw#9;OZ~?pfLHq(5%nwmH<b$M^Ma85*oHUT~ITLpiwP>p7ycq_wnd zRL1$!#S8Fczod95$39dz;+PO)m0tZV`SO=>3ygq8 z4c{_@Hb)98C=d17e*}w3nJyAExomHx6LG&{c04`=ekeh9aR z1X3f_0$l(4IszV~4gqlJdLSYG#rxXqOddz`SyaGv@uimSBD|H_>J}i9v#>FhrCe0#I)|=FetO?1nyV%p y$a^ZifybQYGV=rwt7uEizGl#uch#l-x&8w9Fm*$$YfjGq0000@fTTiKHThO-1D2M{%X%IlMk4^@OI7MyVcR|uEYL5>K-0Y%V z)VZIte=~6oWfLTy4Pq!^{t=+c1@V$kCDHaMAli>S<=UHa)PGkkIYV!HcQ(wBv+5S6 zyQNAk4fU_1G&>CWM6E$!908Gf+Vv-To6Z4;HXSg_!3Mmf0}fEra=@YbUpN?ZUPc@W zdbB$ZkiHOKZ3(goRT%Me+Hnw$_`>s)HwS=soK6D{;0Ul)l{yZjz_$WuPswhDWe|YY f`-i~);o}>fGZLA}O`0Qk00000NkvXXu0mjfWO#a^ delta 303 zcmV+~0nq;N0+|DlU|0!oNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0y8Iv=Sa2y z008_+L_t(I%jJ?WZUi9=MY(~sTcn&3MoI|^2Oww3ULa?Nl~RJoE2YHCC_{$XbZL>0 z7JpAp28lQ)ZQgf5@-=CXzZSUKpk30XpR<26X^zV#NI4tCxWxHKfGQWnOF1o>wnqWc zew3-y-jtL6)KUucrZ;Ef45g@UVY*qW)Y4G@I!d#{kWbVa1jZ2%si$3kqPOWBaA?y3 z6Am`ukPkRO&EbGU^$$20a}Fa83wpFW4or~05nt^RWfQ6};@7m}Ae``p=c#NC0Pi@T z1{}ZLF$*(D{M#6L0+1S#T$ zpo05xW_D+}-_J1qi_tqVZ-3T4_Yr(*+VExT{Mk8W0E6}bUw>2TG4iBCFs5uY?I`bz zu@UK*H?Tmry+Rzp*n^HW8pai+-6_t_JrG@jM_<8r(X>ObOp;p}bp%LoWU@WPN(s_< z(;6Vd6v@lHHOHgmrIf|%EN;uOOs;=bAzF)AruTom!6IZ^5&89RZ+}NY(Ncu@>i*fg z@y|&tTXKAo+<*V|?(Hu{Dx0h9eUX$AQdu-L%!GV>?fv-;t|I;cF6;Bo=SiIYMBm^} z<`F!vC2<(;VuAY*7rBh=i^W{4t+Fq=u?pk8-SP>T42!u5PV~nNf{S> z$f+}t(|-W~1PoLT%fne5GyUD5z~f#xHSi(+l)x6Q3g~JtfxUY6e;7jl$o-Vx>J{lBCA#sm@2&$e55M>TE_;4YMb*i=q2N~<ST>uM6j=P8f=uiZ(sNXYUE`L?CWOVMYZp60!aXsESu zRX(jL7F!t$tU*Sv)h$vNZ13>EW3T06oum!-(Br!mcH;XDc6@c4HGIF;ZB`We_F3q~ z)G`?J+w!@!#X{m-)I;Dls7ut^DrM6hVF~?~73&&W??TL#sV(ogPH`0&qT@og!sZeV zihmKErtp6mCjrB4pDO{Qoe#`YfZ?114CfSJnC}A^9SKUn=vd=>0ET%IFnVzL0Wkh; zz%Wk$hUttR0!Hl$GaYsS7;JLXREHe_24mtd!1LY#V4yKSRG59gPiK3;co8aN){4?k zOhJ80=R3dv7+@1ZiFQZrytV+Gw_#oZ#zw{CzP5AiylBN> z+bGxpMqn#FRsljgFRnE}Z-;QL0Rz2R3#R%$uAEm_M5G3cxCn6Ct~|SPUP}uS4SyJl zfH3!A$1QwXzZU<((kW@rAu5C3%h4HRXmdGQsPwD$l2002ovPDHLkV1gC!9z_5E delta 1208 zcmV;p1V{Vo35N=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LdxGU|(gi z000DPNkly^h;P5XZ$FzyPi+LR5fM;rMO?q;iTpfQ2O+0|6{(Rix4}yrHBA z;GXyZHtFk+x~qZ|qQ%aDi#WM5T~a!29>LF$*`*|$#1929f`2r(5LE2`IWxPnJM-&w z{*Tc;vTi+TUi%EbGAwx7xPEfV1wg;qz;~Rxf<0~#jJOz1TEaUKV#wO!rvRO&Z32Jf z!jm?^1?TN9PEK9GHo@oL!jDngE-sVgMn)|L5*nFoHnC8GG+s3t$jC+VDvz2yyppnb zlf{$95U+kyCVv`(xJ>WNM%u%Faz@CmHXFo+C}^`oLATFuah`^$KTUQ<`KN8II#ttVnOE+7rBhA zv+=>rHN+1p4@FVX|E=`TME}shnpT#H9+V9bVsan|7k^2%5u{o$-uEEJpy^Y@79@l-G2ESn;d}jH5T@6Np_CZXe*~nMbj;FC&+`Kp*d^tOz7-DlWbTt< z+_6hHy?#&qfGe>f4#GWsDSqjNYg!QWdOk z>B3X4<$Rf>HFfCG?SeA#(~2^_xXEhXuX&Rdg|0qxy_xFcoZXc3=9&VDbF7-6V^BrZ zTz@NNU5zkNe`UrxhE;Ppon`9CTgoZzf=sj&WHYP}VJ{fO&ciqk7|t=kXyyas7+~1P z0K+~87{2N*9y)tI%S?0+W)a*y-b7BDavqc%akyX?Gu&t=q^H-Pby z2RxvDNQ!aUc};YYS}5B9#x?gx!2nfr7iH%)xdoO3Yzr9Y418~(n{nBB`>ta-4!{mD zz+#Lu-5qu3wGe3Cg4qTzR?1%B>2|I=FSTN@ED~%1!?%>4q5#yLm-gyYZ-;QH0e^#f zvldKrJ>GO)9TAfnFyg|eWoy&3H=WnifOB#{tMI})b7mKTnt*YfO$Wu>Byfi{XpQU?G#=Vp)^D~~0AQ@Smn%v&|Q(Y3yC z!1B$+9I^ac_H(cffYpGIojA&88pbwQ0iPzT0;@&1!jrgv#>WoOt&qd-4a%W{yKQ@C zOGv8MMNdJQ<~nJTOW@Tuo1PaIDVX!1)N2Zp)r**md3I7T9Y@-C_d9VXezgB%X}V2h z0LkWoQZ%c8N!VE zdI4TvDBW$hiN^-u^&7zkfOCYkY~C0Ke&F;%$!mc9+8K2s-6f9zEu5V1)&9yB#}W-e*gz`Nliru=LQD?Gb@f!1f2i?0t87!K~zY`t(DDc<1i3_ z3k$l2-K7t(BckgXn=bU!XJ~@xfVLu57OeC0!u2Yr^}`fkR40Tk8Mf0REIz^ zpJ%=qDe}$D=dCZv6=2V=5PRTRFi6i%fL4(BNC@BnGD|}BvlM>re~Fm;iAhTNcZW1g zQ0##|p(Xr94u>5j`T&^9B-SawSJ=e?_#TKJIF>?CynXy@DwQe)$>WVJpPsLgvb-qDr5aKP%_#2m4D zt%f;R55Q(bs9qe^3k_ovtbotcWrre<6J)JlUlv_FDg#{LZejGGGz@HfiRF1HMEQdo>|Ts6eHhL4*5CNQx3D`q$z58UD~Ay*Vho z0F(9eXPI;rl9#UkADDggPhimaa19vl`DnnP=c560Zr1p~+kAWhtpvKW5B&{%00000 LNkvXXu0mjfjLCuc delta 297 zcmV+^0oMNA0)PXMV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0y8fDJMal diff --git a/graphics/pokemon/dusknoir/anim_front.png b/graphics/pokemon/dusknoir/anim_front.png index 2ef9ae11f833e3ed1e9b261e850a4781c036a018..abbef6aac90a156e323d686b489a01cebc36da52 100644 GIT binary patch delta 1448 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 N002ovPDHLkV1m?GtAPLj diff --git a/graphics/pokemon/dusknoir/back.png b/graphics/pokemon/dusknoir/back.png index f07961c896655fcf27bd91160893d4bfe7e47724..e06c863fb692d76402603ff81e608ca02b5700e1 100644 GIT binary patch delta 626 zcmV-&0*(F71=?;{mwt=i&RV$8T{hVKMI14>AIz_}UF1N*d8w z@q-1V=mI_}r3~Ts00!v*m{KLtk-@0K4@0y72KGC`HLX%3Eg&j96B=S>Dk^ns0Z+v* zlCaDeqy&IggxnM-Uso^&L09nmI-;y7R%Hb#!<6gG=6OD~3aX%g4FYc^zbhI=B)3ze z$kxUXru4C$p96C1$;~N36QBjUsN+CcgaKVg*-Lp)Mxb{Ja8nf_f@dqvxe*wT&j4|A z@@qm!N|J;K`$n)3k@IFPkr1>!#PGQh1R-kQ-AldHNC4*^A$F_gsN>|eSu6{<9*vkH z(#})R>{dDS-b-nJbM&F$v;+d)j7IG3L4jokTk`YKgaEm1fP2ncgwSQapD?{7(1a;V z!0Mua&z9wCEWnaBkR%T!U{3Y^kAx&is3U|H7|hxNKGVb;5mWRoB^V%q3OG;jAgD4d zK>&kh8@*T^gIe)OM7pA1T1=m`#xYob=^Z;e_XrnWiK&wsU}xF zCLavZX99C_@wt*vipIQlupcMq(N`6-~5|K=&Mj~4qg>Xri zbao2J)RUWIgvLM%=%9`RWe^6mjDA~Jt(mBU@<=}O$d-_1Ke}oB7_d}BMPL*My+3heVyt)~>Jg#N$roBIQ|rgF7K6;f&d00001fM4UBmn&lO-Fl``-h5_QNRu9tXjKqT}=^O6hRF!1NQAYXE!7j%=_ zJvk*yNO0Pnl@f}BEN_x_E*ci5yOh+R*~)+%-l*J(3@?Z$8;GXzZUYY60VQd(^?!E5 zTo1@Fn5DmSqqaqVG#z$azsq4FkSHj%qooRY5Bd}PZ0)__uD{4m?XSkyDh>*q75v< n%#l%U0J1RIzRG|f`0)jSBFSG33=Ugq00000NkvXXu0mjf=NWSZfT_Jma! zoa+&>tilY{4=}4Ra-{q3m42!)n7!wnFj;sXT455=2JXUy#3(laMVMk=W55sm_y&O@ W$zM9Ch1dW900{s|MNUMnLSTYgV}}g@ diff --git a/graphics/pokemon/duskull/icon.png b/graphics/pokemon/duskull/icon.png index 01248bc664dd0e31e3304674384a2f8714be4212..7296b0ddea7f1484e7c2cfa74d93491fb7122762 100644 GIT binary patch delta 199 zcmV;&0671{0-pkqV1KGfL_t(Ijn$Gd4#O}AMRNnh2~g9$9=z8_>aBXOs=HmtZW^mn zu*sSsW#j4l1J<9Wa}|7C&kiuT7mT9i^?Qb!<0#&c83V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yF^{t6Pi! z005>*L_t(I%iWSO4#O}AMSTOr2~g9$9=z8_>aBXOD!XmSZkni4Y_nv^5S5Lm&j+OM z+_egd>Dd4#Gr>420LeJusHn)OJ>e9QVn-kZ#yK~#gy0crH)Mt-rWN#uiKe8(cdCP8`>(h7X^Q)oQkxe#0(=B6 l6BxCD(USsGOkhsT#~1bDhyVm&k3IkZ002ovPDHLkV1k!DVzdAN diff --git a/graphics/pokemon/dustox/anim_front.png b/graphics/pokemon/dustox/anim_front.png index c964005cf54a95db696543d461eb26cfdb4142c6..3a47c01e7de6154bad49670b87b106fac8a4f092 100644 GIT binary patch delta 1057 zcmV++1m63T35E%fbbkZAly(~q?0vB7IGD_9qo}fGse4k zXN{6Hk-|e5nfKZEeQ#!G_lwYT{Qa1jeFDfW{!3uSG{2q>RDYMI1D`GA-b`=7H2)!x z&8ok7bLoXHZB*k1XR#VtXIwIEc%?}Yc)NvnOia!&^Pb*Yc)#?82OyJ z@a56oem1+I1<+>R%pdHFZqwAscWW0SHyRBhNdict44>%yI!VVgP8oTJ#RLA>HJB41gG= z3h)k0vvT;ONMD6vIL~<-fD86}5WqMB$S zfaq`y<1IqSyBn9mcTnilURM%Of}Iw^RvjM_;@%8h#-NA!J`*#@5<8SZwBT}5-~F`V zUb540z<*f#0f4RS`KRG`8;~#W-VIBgOK|}JF|EzhLECrKO_!g=T1yP0MG^g{u3?|_uh78N0`#{=(eUXNN4wsVQga}Du4jSu`>X; zk6VtK#C2o?^wAl?6pLAX+a;yC$~VxXz!##AOMlz3cQB(p$WIbS21GVQVO zF>g0?KqCU!R3H;@rqRfZ|CwoW*48xPD_~|;0vZipoy6QC0DtO$1y`zDh_u@(%#8xx{wH z{KL2X0qZ1yxPR!wgS?kmr)6l$NU4kOan&#VTYvx%0D<$0OcQ2 zfXF{+Z);>k{=rEulmH_C;9O{d$Uiu`qXqjB`3LP20>%7;9xx*Rkn++o#{NN{N5O{0yG3_!LI`V00Z_(L_t(o!|j&8Pa8=TfHzY1 zBugn`$B}YESYmgC6*AWK4F?feU&Md)D4Yql8M_XlJn7ZfghV+}*V>mLHytoom~=AP=}re!H2m(6NtFspNlfEn~DmaA6vvGD`W z*J^rTH8*F?7%$#$*J`#FF!MQU=E>gHb~d}B?{774_@I z#L*0;A6e@<$$wI-*?l9zr(qaQbKV8unEe?9(2fA|^UD?N!Ifta z4~LvnY8&gc$$1cbZ~%Bdzx=BN!Vq5L0Oy}(A;bK#wSS1~Zy~`2Ome{o0x&5RDM!{b z0iZ=(ek&^wlgK6jIN*iwY4sVTuoM8FMFLr)0XhEQg=xOJKuEDxE7x&}-wcXu2{d_O zc(AlUytQHx*PYUVjJA#tQol0ffTW`(gw`;|@6J62pCQA5_75ciQ?UI)*r}skjJ@-b z#~9QwJ%3=L2RX$CWiUE$Ij(PhTk%fVemG>Tdjr5y_M7|R&nplwZ(fc{y%TW(0MS}g z$_k^aQL$LYrFW&0+e1wNXuOnA#s27Ot2*&qS$_b%wMP&|qSvP5;Zj}2{o7ju9g8|n z9M{=EjP@b^_f2MsTW{TGokKur-=ExsP=^og(8EXYhIE@0%HEK*q3dPTZR3>K{rJy~ zOzRGyNe}M=T6Y0dcQeITH3m8$(~S~0c-PkfehjcwAQNz=$&rb^%(OY{+Pd0pwfYYJ2%C^V>{_wJW8cu0}FShiDm+dnECYK`<3~c2O?X!!ibx_{h5+_T4 oNIR+>+p$xh-X{FrkN@%b3wW}8Zs?e@L;wH)07*qoM6N<$f*=k6vnC0EV^q57s!+YG=Q=1vCJUVHke73Bwrx&0eop1t5z3MM&#&quFhB+C2*>%+f3i%mUWs9`^*z7B(wO z4e*#NeDL@g{DuXPWY4DO7gk}=X^Zxt)iDyxHz68{-+!bK2+=k_su`Q2gfWRNa792~ zb<{|V#GWJqb}2mJc_aYUpKS6(EYM(=o*2qT5u|=toBb!UkkqwC3DEHduMeR_pxRI0 zjJ?)Ki~}tX03?rugoI=mQ~_z50R}N%qe#;lt9k1x_zOo=8`s+5% zy07*qoM6N<$f?&&7p#T5? delta 780 zcmV+n1M~d32HpmcUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldz(gwM_| z0008PNklWvi6vwHM7u_|43uMXx2%zi@lfBhsEFl@G8@rsKVAZ<@_`tW!^-;0thL8+-Gl1)~&iAAHHR8J@&o^I6kE&-n7`oyNZts^>Cjl@UjN@ zxH=vW=51iJ_NWRdm1y zldzq{q+xN!%YU`Cwn{}wLK+r7D+89}X&@%xlAo7>x!3~`{UwcCeqE{d984t2Xw(4< z1mZ|*SV9P=0w~l_31|p+Hk;jjtN=Pr&=Bq?0A`=-0E}bq22(H)6ipaF0q__E!PmPW zm;%u3_xnWvym-0_Xnkokd#z5p|5B_(Gs*x{-|8`&*?+uidJD%|3I7YGEL(rm8v*GRa&5;XvsM?yeA zBJiD3SASD6Kp@2X!Sib;2exPibD(t~@eDAr^4TyO)WwW4tgx6sv6Q3b8KG&56qL1x=p&(_ps7pdySNy}rwr{~Z8xR3X4K`%?bO z)pY(AiYDYwto$DBuLxbXX(3tQLE0CxX; zzmefG0UwhT0X}uU%>T<+bx8RY9gt-ZbwJ1<>QGusNYufuV9~*X6uHQ6PaP}=k&760 z5FBzu)Io}}M$`egC?M%jB52YfH$Nn^=&%7U>QI`WbeIarIuskS4%==&b$GotL5Cj- b`-|}fz!UN|Ql*1c00000NkvXXu0mjfS8`=R delta 261 zcmV+g0s8)+1H=Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldz+6mZkN z0003eNklaw+P#$u!)^Ra&P?MMIGs0LdJ{*4|^4l}%x!#6-*z z^Rbh9n_UXaJdc5yc@Xl42E}*KnD9ii0jDrOn)Q$RgtXZJb_4(Zypg&x0bh~rK5`oJ z567xQ%CG2v%)ID;kU`X;w3d*lgI&R*g9Ryakw2a~SPmi=G3p>V2G9nOUw;DINklhDU3 z;Nn<6xO^+4KEe$G;Y(Bx;f}c%Ffp_OlTb(`FyY%G+^~&r%YOoRv&rxNMEa2dyuS~n zT691pLt_YU^|**v_uRhb2qVFJcwCHD_X5EA6##iS1b`%dcv=V{&+$?w;G~qtNWleg z84O_nODY>h0K)bj;t+6SDyS;U{YA$n;Aa&BiZ2PkxTY(&L`6j#)dH~re3?>7Kz4X6 zTrxg9Vep(+pML=Cs7M)@9tLb*zhQ=A{Y<3qA{mWLfOK8g%h#`nh=TDUFhF{(_JA6S z@$3NbFkbyZZRnL47zzte*Efx(HfcCEfugDP%a3&hK&L}t%;+>_oxLQxo0ttjJaDTkq@wAgsk!dlq1Tf&t@Tbw) zXEC<~aJM}u$mZ(8*56MubG-g8A9S>Ps#Bfn|E{y)aXC0U$3_eK`|g`7tedbm<4m+0 zEi@N*SHVOE_+c^HBj634f7o_EpD()uAQuN{9-ajA*h&Td- zmp%Y<2!Bt=P@p7_8d;|FROrW8%k89*Fah;Z$rL~7w}3f=g5;#Dr$u{7nHYe}deSKh z+riv?1vKF>q?EKSe>_tPhgrfv*bdC)4?|hD4g&+Ziz3Tjbp4nrR+ODeqp`94`BTab zwFa`WEq~PHT}fLipJ4~Wwwj&kc1hof1w$uRz;@fhVRGsR29#&DW&_c;w&l(alB+Gx zsjV}1lG3nhY3ugyBt^O<#nYbV+0i3ed!u*tbV5T60JJF{HkQ5Kk v7zFkMS_jEU^)&YYLXH*eqc8nb|3>`;MoA-~f^&!D`z;5QaAbU3^VNNw^YCJ9J-mD?;vvEb zL+%Nz0m2FNTBwOB3CtocFhLU@72!lC-V_12>FoFVOn9*cyuXixTpoZ}L{<~->T#K@ z?)CDuj<6EkhsUMAy5|U-Um+kaY#>V>o|c@8bG#`VU^!F?rr-haFxZ3z6wve%5Qxk< z_%YxlP(#}^uYU&(Y``m94M=@R1gv8^Vhd2Wu#pBxEa1x=8bD-+mxYH+j(3&mh_usIGdi@Nb?qU)9HUO&Yx?=woBjPYP1}2!^$yY#5d5|7oG`81$kQ>;8 z2Bw?O%Rq0`)uw2NI zce_ZLJNjvGPhZDVo$5cXv+1}ToSoxD3y0U8H&-}rqQQ(aZYEk356Q<&g!tfKq$AK9 z4*o&Set$Ff4jZ6gM5KVs_#b_s_W0!=*Mc1F81U*JCKM{Rdz}nh`J5P*$hz0t?pBiJsu>b*Q%v_8qks=d%TN` zoc=~q7NvHaEJ*3WUds@jvQvC9F!}3Lq73f%kRG6+@aDTV}F3|0_2cbxfJk3E3^T1`05DfVLK_)F2_%w> z!UBvBVz4_4paY8N#5SLu2ec7}YYfe#S_iw?Nq~z;Tm+Vb?fNu;B3_3{3mH^$O$Y9u zd4~g7txq-xU?%kdu{;O91cQGDaq}CfZ-As|L_pWEy(gC#n`yof0T)5J32p)NaRlBy zP~5?R1F~TJBJSY~%rbMKQg$S~ge-5JEcN{~$nM^o<1a`T#(sY3gpmEm!n^K>_;d=Wi1P YKem&K^Pc=+N&o-=07*qoM6N<$g1ZNy^Z)<= delta 369 zcmV-%0gnET1cU^TB#}W-5da5tNliru=LQD?G!BXsMjerlFMo^PlE;-x%oTEjoGLTk zH5vY+)E*&G?58(x7lNRle*QaJKVClvi1ekyFw;5)0COQEw2?8CKq5ISEWr3z40b00 zbU+cE*ygj-fHuN#jiH&8>tHuK3UCpLi@;*AT^|Qf#Op9=A%jw`>A?Ln?{EOi_0a|a z%%mP57N@|MV1LjcR<}TX1tgnB1auwSdvb}fndS=-a26C*a1EG`1Mu#F;tmchP`>os zgUpvCFcGgn32uj?gqMgm5qLNRss&aV0PVmV7Paia5g82tRnSy+ip8cD9VjAWWEsSK zPptCI9^6^w&cQ}8@TUb|GQvNF;tG6^CtOIdvK@%qno6-$)>@#UDbYY3gpmEm!n^K>_;d=dbevwv&qUn_}k0 P00000NkvXXu0mjf5)z)W diff --git a/graphics/pokemon/eelektrik/anim_front.png b/graphics/pokemon/eelektrik/anim_front.png index 52b4759c1371d6640f781da09ad60a1acf332c08..567a58c2b2b0f7a7d4dedb7ec4fb087e109f7b8c 100644 GIT binary patch delta 1059 zcmV+;1l;@n2=fS#Uw;GsNklm8G6o7Sx19hbod$ETo?)?CTL1sC}^sYbz z^ng$(ZZlx9Xu5O=U>oRC;C!L3YY!H?H-mjkmKz!`0W`F=y7dS3k+zYGNYN-dwdfl> zgrDDg6ivM^j`KGHc?Z_@Cm4HHz{l9PrGNxGfDnKqTZNqfhJPk(Ko0=__@4pLgbirm zBh=dk1d#=BdML01&j2{1l-2?lDEO2?&@asElqGB(sga=UAxy*``#4e^Aju;_+l`yO z1LE=*wF;jXRbVW{JH{4wH?aQAoesDn7b0Pc)y?8Y0x7N3a3?~hSeAE?{@&ir%;#5yr_ZzQS;?3L5#Kkk4N#J5DWn9f)Ror z>;xhkARWdI1l~@-w*igN^Y$(4PE!JKEo$rm=6`?R^FEU^uSP-kl5{)zjl|x^dSD_R z>x14$^GyC7wdLoaZFm`v1vt!Lc`JeLt^PKKHzVjnr(7Y#2Iaj0m`Hu-{QkbPYD++y z80xi{bQkjyfMuJZDxd`8`{lfpUC1h}N)06#Kb1v!EBBFhbs#SO$nxcKb*}`Zd#_0j zDSyf=@2sHw0Hx`mr2%ma8D1`-MU3T}P8*Ei50gCU+=75$&jef*<>xt^$AA!oOn^)N z1U*m#D?s#ROCPQ7m~%EHhjRSV?!9655B z5cI-htAKu9=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ldz{cXq#L z000BwNklWFA;M`E{+JnXJ&0yb><%Y&f01a)eZvBJ$$Ry~+{9zQ`+JAEJ5Pl#Z`Skd{c;4R_ zDA;q(e}r-11X>uk_S_3>0U`hnTsv$9Fa+TO`T(>J{}}*5xPS&eK>ck%7`tw=k3u)_ z9Dox_sTCNa@Dm1uo|)$h$(Liq}7F z?2(^VFNIjb3Ti%GXh2dCA-;cCs|B)bK{o+XC58BIxqiZB>%1bjl0U&ZVkLTup! z$fyP+TD+$M8ACu1BQ9*oo(T%qJ7`0+HGPzTuKj zj1S$BDu1eJAqpWbOh8ALr7wy(l)>Ee7&8WiJuL;d0`iE{xsZjV@6m!7hcfdDDEWnc z$Rin|51-bTVp51$zvv^GCVxiLFD63#pno%vY1o25IzQ*)GByH~$a&7+5YtT#0;;Nt z5Ms_p6RDzdB#Qt+oX;^K#QT5zCjrf&&w9S=FDFkdF}|2vMUy`~iBP8diwttG3=+{hV_)Ci}Ae(%zk+_YyuE zABW+d74R-e+z9&zUKqd@majYPgS)%@A%E;ghfV>BFggs8TR;X*0g-;;5)kDVZJLf< zet}KS{IsNz~h{q0{mlu zX9JD~{1iZZ4Qz+ub7lvB4rlZbVAj(l{t>`3LtO};HN@V!7y>-EEefm;QM#~o?NAAFg2DmHV0H%F6I2|k&rZm93=%`@ z3F-a#``M0dS${Fy^8h126!f5E5J?x zR-l0CFak!+z-E*j0@Qe#R&WF`%+TaKpeUlY$$$4VTkAn8XPnbb`!);ZQdr_B~FDfR9G`Wnz<3WWY5h zWEP40AlA6m>3I$?L8?U(0!ceLfC&l^d|cu_)oEq`evG)ePmCo3K{(3*u6odboyB0j z=w^ZX;3@N6hk1K2PeGq+LGgWTI9?Pno_}O6EZ2j!)bCzjeP56HtXl@^PTEeZjcE^W z{p^(=L_qzghrsIN$bGU19=|wAKxtr?LTF$+2+G&rP62TUsQ?2tg@fRV;B#K_faoso zu+XEF>E)K2K+ujs#T%t};@$-G9IdY9)_`aZ=fbiP5a0S=;}@-z9{H~`Dp~*l002ov JPDHLkV1mvA>U97B diff --git a/graphics/pokemon/eelektrik/icon.png b/graphics/pokemon/eelektrik/icon.png index 54a6f8b2a2f1eeb9a3941ccc861f8e5db91949db..f4eb658a6b8b4455c751dd0721f20afb9971b9ab 100644 GIT binary patch delta 316 zcmV-C0mJ^e1Cj%fUw;7|Nklm79 z6I430WWYl9)CD47;WzjWV4#~tlSn~G2bG%ooDQ(|ZTIxv^ZD+C*msZ%Yly}nQST5k z>sivXFod)zI72TMv0#QLT*FJ6{t{u_D&pMUt=B4ip^k_$hCw8=R` z&lWLfhDThZl~kwm4&tySRxkIfgeyK?A5OfCsyjgyrGlsly);Tk4zjFqQLW#M11vT% zAp6&|T3xZPj||#@W8;_BO7HU^B?UVpaTxfwd`J=(5Iq;(#}+a3Ep?21VeqXCuU335 z*4NN>3*+p3h+I=foE@c|h%1h}w-L{PabZwToq%SfYJyh&I;!I7PeQgI=K}C%Q-3Mn zW2*7awZsxpX=1Z1t<`KPWm-zf?nQtD3fH(hegJjKiBY|2U{wGB002ovPDHLkV1oS^ BmuUb1 diff --git a/graphics/pokemon/eelektross/anim_front.png b/graphics/pokemon/eelektross/anim_front.png index 55d2fe8a7a987a52b257930565a8671f039c2587..938f781a5618bb55aa33ce2b838d14e6a7daba4c 100644 GIT binary patch delta 1449 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 delta 482 zcmV<80UiF51h)i`Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld!AxXdd4 z0004+Nklvrs^GfzpF2fc0004VQb$4nuFf3kks&^R0hmcdK~z|U?UuoI zgfIw21wovd|Nq}UAU00BkZ2dvb7be@US2|sPSag?eR$DDo@c(s(`A8NGB80P*8=>x zfQH7Rya??CL^KpgNtUGxK%)i)y8yu7o=bwh0-OloV>}F*zDzPMN>sm{)7buZ>Tc=m6Ed?9ci#Ug| zI$sQ+kDVdcAADJWeNQ$#E{Ob5C4(#}(1)}HF0iseXUScRBrd@9WcGU11!x`uBq8Ee zARq`{p27--JcY0bg~0g`7=ly=iS`_)a1I`^!vNUpSYRf9jwjy*TOA7Qxf%;KoMZev zAOH^on5dkca5wOw!1-rXjNUgsT!|m@erg+^hL{}pIu__Jfyf9CgKj)%iy1USX$2V~ z@Qkmt35csVn_7E$+1e41;H7*sYTG*kuT3Cz+zsN#C)gAW(NlgKjob1|FThXUTZ`tU zdX}H!UJ@-a@BLn&t$%!%PyFcsLIA&5uKXrp6la>>b=Uu_FMq%dHpcYSb^rhX07*qo IM6N<$f`Aatn*aa+ delta 504 zcmVGX@GXAaf(gWJ^dNYy~jj9k9^@SIt^ro*8{`gWZd+8DqEyIkh1D z3F>CowoPqn%@_*STV|+R42>XXHhLib2FDJh{jFYMzR}u<5#|#I2%g#oCn#hH0!m%i z@)1ut-{1mrmPqHV#{-~Zj3AZnTU+UaA_%1K+AFzM1h>hTj|r(tP{j9H1Xw--D5&?9 uQ3?xiDZMXHB$t9`r{BR?E-t^De~V9N=5p@exV9hw0000-K}|sb0I`n?{9y%=AwPe%Nkl42FG!JWK~i zALhVrbr72E@~SuKW`#oB^o9eq*^X|&ux@QSV>d*0x`pv@$OC|3dm_65mPIcV22iKh z`lw73fapVpIUpw|@)rRVWc9D_g;7En7=s^ScrjODtj|K2H49;!6eiymrV3$R^S>eb eaE;f}9Y5YJS%zuZM1U~>0000jeo$Spq1mw*wv=BSmO14sM zdLW^Xo>IS7Enj;;0ZPmYn(DNK28EhE0Vm>(9vxJ~m}oiyM8qw!bfXg(#Fc_OmqNiA z>)eJjR!iiDTNrnb+yPj22eR)#YojT2ppM0uy$%545;BYdIeC%42%sRVe|;~E62d?q z{0PI^UWIW>7Q#$f2;-$N`L-}s2=g5O{TAjLKi%=;1ua>IY5xKi?EnA(07*qoM6N<$ Eg7-gU^Z)<= diff --git a/graphics/pokemon/egg/anim_front.png b/graphics/pokemon/egg/anim_front.png index 705ea4af1b8aa322aa8c4d36f0ddb025bde63b8d..5451b34a2217d94d481580897b051179993f3027 100644 GIT binary patch delta 299 zcmV+`0o4AL1Lgvd7!d>m0000ST5Jl}w5F!wDh!+TEfrKMH#lZr|8=zZ1Hi*v0wNZ3WqWVwY zMso3uQIy}NX@nf$ewz2bgM!a5;JpX9vV!Y3;l&q3p##3c?Lt_%3I`DLPY8@~fsH5( z`7`VxER28Pb^!tmV^%2P0P{ixiy%xPU15QN6DY)r_#q=$qL2hcWPWodLYxqZ5lo!~ z#F_FZq)V(xAXc!rK`Z+pDx6aXR}d?zbc>OHQO4HmX&#NDIL#GBQ51>hCge~G`{60= xhgRGV4`DyFZ(%>UuGIaY`{6KjKPZ2|7cCrh@K_JwGZp{<002ovPDHLkV1iQ)c%c9Q delta 346 zcmV-g0j2)t0+j=h7!(Kt0001tU!Pb2001*kOjJc>005CGFn{n77?uD400DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yHwEdpeo`008JoL_t(& z-tCw{4#F@D1glN$D8@fqxNN z7~nKqQ!Lyln46sOwQCWWd0_ckM!&}LJ0XYFCZilFs@Px# diff --git a/graphics/pokemon/egg/hatch.png b/graphics/pokemon/egg/hatch.png index 792c0c029164a56f25f6e272b52e6a2d578634d5..abea3122f4282dbefa003e67b7c5783ea1bf9382 100644 GIT binary patch delta 383 zcmV-_0f7Gb1JwhNUw;8$Nkl_o%^T~A8)9HNPS4}Lq;Fw;o~blir}M|d|aZB z=DrWjeYBGgo%q-(?t|d9-Npw!2BQz5ybqc9(B6khd`R!ZBt8uHVd%Ws_%JA$55av% d?nC~jj}IM|;P@c+jm!W5002ovPDHLkV1oU3y#W9K delta 420 zcmV;V0bBmn1Nj4xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld!SOcj$~Vsr$A1( zav}_cemYYwVVHxS0$Aux2o)@YQ;;yQaIyXo1N2L9mbTCj=TJIleL%$dwO8j5FNkgq z#m)!Bt26VbOE>!9Vkj|;8{>sYy!t&RUQj9hQ%t(CqTG$EH5DN?#h)DY$bD4I$ASAe zzVY$Id>lLGLw`5b-N*m*p}y>c!gqZf=s@P9gBD=BO+K_w=Uenae|Hq44^eR+Ef1G1 z_i?Z-Ye_t6C(I`gqt+y}wy z`jroQ4JIE#c^@+Kp}h~2`H=(L** z*cd=4LGl#XfY?d^%!n$-o^h?RXO3Bam(Bdw$9h|sG`dL{noHWLe$2imlKr@EiM-f> zq13^zUOP}`I<^Kd3velgK>O{0yH<(5zZ9= z006H^L_t(I%k7de4#F@DMRS83rejt!AXRiInc!w1afrfze#UHA%2DXh4v0!28+P_C z2ycF}qwnY$^Lu5-sz2Q|nR<6o1DoEd5$gv830?q#+<61HV{NLyz5*Z#7LULch^+*c znMmb0GwoFN%rWchayI{3S(s&TNek0B<;Ub3K>9Hs0H5TOMF+qA?%2}f+E##BfJYIA u1SrCUNS)M@Inq-GTbMhQ-R3;5_;nvQ3S$ZOvF}&_0000^%%f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?EA7wR*v(6+j^mPZ!4! Zj_VWC-2}XHT$+F)44$rjF6*2UngHWw6fpn* diff --git a/graphics/pokemon/eiscue/back.png b/graphics/pokemon/eiscue/back.png index 4996747934a5380ffcfc0793440393150fee8aea..6f8c1beae8fb531e47d828232724dd7f6601e569 100644 GIT binary patch delta 399 zcmV;A0dW5C1Nj4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a8gsK~zY` z?UXTdgCHEmWk}}It2t&)K7siJR`pSh6Hrb)sn2!fW#hJy{t z)Tog!{xR1^K_?}9W&uxsW}*d9np-W8)B(^>0C6W!tO4u}{C9wd0ah>(0t6SF3c)>q z5OAnq7{?`W)Gte{#Ho(4PDVUFmsn_(I94&%w#PZcldUwyFzY5jIM&8XRlQ9yII@NC z$W#(ksRYMG0*q9`i^&$E0sk#zfRh&>8tA_bmt0foI-ac4S|uyz5)vVb4Ehi#|<+eoe2q3R8m$p6P(`10Yftl+Ry zcRP8o3x0gU?}%?+$B{$%;wVlCq5R1er^#cK#_=VwkufGw#0V5Le_E3xgBU82t0Ig1 znyMfpQ$-hQfCqh|0SHNrDfh$z$R`Mx6=ZvW{)4{`m>Q+e%^&ND4YN*(0>`|3GNv$I&W%wemZL~H1-xZEW9mFbv1+b-2%j$ zj(f+9TdhF{z%nCfumLPHP&O*iE@O1K7+k0bIr~6r1NX-zL#j mqHSvr5Y;esbl&$tzl{&!@?=X3egnEI^Q#==@Y@Mul>j#Kb z=BS?_@ps{!4;m|eFA?N_^5Xwb|M%|BPiFrpXD{I%9N``sa8M7tqqmqJK4~c84?X`` zD9vh>3}xEuxgxdqcrwRt(eV|hT1(G-u#tRe$ z1j1OcN(Bx?N~QpSJ^DZ3(_TRC1@<+W3^QSNN^cY1t0nZq}J93TLHJK0P{p!hj5VP03n z1P)%8rPeo$)R(VPgFaLKV4Q@8AS3cuFql_##9;CgfJjfNh`b2@07QfZ!mFIY z^#RcH+Uky(FSPG7rvu>ftM3M&e=2@`=j{Z}!1Hzh$B!%U{KW(5H_bg`Z<;j$Jgyci z11uUm;<#C^%uJrG*Y|jWXAj3&E`PC|ayqlk*l%8m=`gqtDSSQv0000jK~zY`#g(yc+b|G@ zq3Rt2+yAhWvyV{~!K4k~+|F{!P73f;~Hey=V`-q4$^{JZT`Je~&HyRUpl(6%S<6 z>SagD5SCRGiL<|fp^U@$Hy{P~5dhW(5Ud3RPZbQn+d!iN3dB(=jOQx~@P)A=l?WUN zl}rEtd-#9A=T1O&0$okUgH)KE(%XdpRp`?P1y`NGZ%6`g&Wfk0jTmB0N_m!Y{(2h_ z9jH(BeLz+VQ1wN*f69JQ2(Tj?N;p4m%>&=~k&gh*!DcFa#gCB*bDJV2u>UsCwZ5XK z@9U-1pf8l)AIE_q$cWJ!7|e4zqCeROAk=vVAsa~Fe^1P5v+C4jyH!2^LbgY9s=~3aPAm zv8SK`;PQ%Z2B04mue@`&0!QGvTY$aC6?op_f%L2D-f`YlYXW#&Emj6tRCvT*wOpB* sJX){s@dVc%AWm<&{L%4r{xRD>0bYseFpJo~Hvj+t07*qoM6N<$g2Yn$asU7T diff --git a/graphics/pokemon/eiscue/icon.png b/graphics/pokemon/eiscue/icon.png index 8345bafaf7500178a06e3a62e1b1be77c66363af..800e244f5a52f294c5e074b0c32d49009a3211ce 100644 GIT binary patch delta 243 zcmV#4#F@DMRSAPAqQZn*H#>X%dm5}u5P$M!_cmk z8@0?aVWD<9fP}<^H$Qz@iT#ZEqT)MXi*)Q~(cC=oG*kcAhl6u+sJWjK=|r^Wi_yiq)BU9W!fbEnLKsVP7DnEhvksmlS)Rhk t>t>}IW(BICSGE`CK!q@@{jl+KKOR!V@QIHG=*<8C002ovPDHLkV1i5}ax(w` delta 260 zcmV+f0sH>o0`UTnb$Sx8B~Ok*DXr*%nEc-uk2Nr12w|1_QR&n{dfXW#PEsDsplF10000< KMNUMnLSTZ%GjFT_ diff --git a/graphics/pokemon/eiscue/noice_face/back.png b/graphics/pokemon/eiscue/noice_face/back.png index 5aa8c54d2a8d2ebfb5d77d22ab67a4120fc829f2..30c10eea3f9c3c907b78120aae6f35385e906604 100644 GIT binary patch delta 344 zcmV-e0jK`B1HuE4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0UJp~K~zY` z?UJ!h!!Q&@W2TNtQKfn#iTD8els_mtZRGzcV>*$|&s(=7U&(_yZbYA7Bq{*|cfCjV z*p`$3{Mo2EAe|dXf8Fpi#Lf4Z1B$#TUZftL05*@&eh-kBuzijZcQt%u3-G`LC7e^$ z8)*Q*mCM1FK7w?JIlvp@j#u9g9p5k39&iIcanvYIEV?ED z{Tl<|$=5dGICdUr31A#*&=Y`hWc>)(1_#EWZ8)PQ;L4$BdCZzKfGfuopldky)uAyw q6SfWZeJ23eIEVHi06P4uBzXt@O2rX|ZU;sH0000*Hf delta 336 zcmV-W0k8hT1Goc_B#}W-e*gz`Nliru=LQD?H3Ws)5mLR8L_7dJ|ee8fqi7_oNk1oUSHz;|z( zK*z~>pd*0kNCq_nMwpJQ9|6twb=Jg i0I;ugK~zY` z?US)i!ay9x@0c3H&SR>1{j!iOz&4 zD18_IM@=wt|8rn*@SB=^zkJ_!cPaVTUlsk8uy>BIcMaHmgX_8{MxS%uFc5CDYa~jZ z;7WZI;5FV*5g1T$J>GJEYn)?ety}>hJQL7&Pfb9nRTt;ih7FY0#Vw4yBbY2;&0iPLYFbfQdH3N~7i);1WiE$Vdn9d+_ggPz4~- zG(I5T1J)Hi-j-E(^$4pFgSKRPz28jF97eg#gPmY@R7#p6esZ`66RbakN^^^a-rE9J*M15ThvD9D|TgXEdwn5cGJ4 P00000NkvXXu0mjfv|7=F delta 464 zcmV;>0Wbc-1h)i`B#}W-e*gz`Nliru=LQD?H4J?L7H|Ln0h&ofK~zY`?bI<(!ax)U z@Rq4D40owXMPp(LegJt85=Ob;ELA^%N|;$_(n&|Vb+c@ZiNbAs01}-EpP=-+_)1MA z;odPg=-``3-Y@_6?hY`F|N5h4?iB3D5$yMOa9#IA+XsNUM!1cRe^!({0eSUE09B~x z5frdp51MWjfI6#vg+O>Z&~s09pwz61^J~oxCe*|&E_q4bgWd9R#X9{SCbr>B_g*IF z{6O~>RvgFAI`D)*K4=0Cu`eeyczgkgMMhXjL*#;t2yG!mn~t!i`v^L6Ohtr|_yR;k z0Yp0_wkRebm=arre{lgi6XGD>V62R=rcq-JK;jZIQUSQf{v8Ar1c_oobdv{ky&%CE zQ>FmLh<=d7V;QT!dPEmmvVyN3Q6ogZCAk`~*Svo*@FmM5*w#fG&Il)rMt;Cd1u&W6 z_*jDh0)uY@tUbS|A%5mu^`+kc>T-g&9MHcU#~*SnIKm#+Mu74%#hx>NC;M48GmPVG zMSx{GPjfKO)Dh)uk#Zbyv|7#73B0%*bFui?@qf-YkMRj-G^^=^hCKNI0000b1mdWkLj8S~$w-C)`RBPKM*4w9LfI}LDTekg>}GqTsgJ+}RzgWgtW zO_=P$@Pf9<_c%yNBM!!G0wO!tYJ`G2bs8zbxuz(Dva7v_epO?wg-&;-vcB@CJeP50uj0g%tDXqfjTg$2gCix?bzV512BLYF~@%rDwRB0oOpdU2-?#BYd WxswdHf+RKo0000ps37sI)e3{gD1wg3PC07*qoM6N<$g8$)Wn*aa+ diff --git a/graphics/pokemon/ekans/icon.png b/graphics/pokemon/ekans/icon.png index d34448d84dc3c888392da8f3b72b346186822185..ed27e0c3d1860d34509dcd7c0fb574126a46ac9a 100644 GIT binary patch delta 196 zcmV;#06YKd0>c83Ux z;IgxA1b%UF908r^>{tS=W_BEB(81HP7eI|#O{Eskn2rIJlWQA;o?Af{z}EZ}31CyO zeMg7~bX^noP|*xsZ|gW@E_yfA;xn{e4|0_!3I<(JvO-Avzp9T5L%A@MUrZv*GN{R= y!kltp%8&`O`tc}r;zxtZCVs5K&FYfJ;S`4aI6;q0000 delta 236 zcmVO{0yP)+WZ#?s z007QOL_t(I%aLa*e|#Kwxt~v|U#sA=H*N_b05=I{1BRCk%sV5&fXmLd5%|TyaRhXt zvttRgn%QxjK?hIEUH~;}HI-U?V>$*@POfbXdTs?-09*4@bO4)z?Yo6|K-V>K4;9VO z^|p>f=Aw5)Esmk>8pu^f6b!nMW*CC{+xoaLlnXQY#U#RvGMZc}%qbV944E*iACFQe mel)0T;>RjX?#KPRe!Kv`J;S`RiK5E@0000tc^A2!gjLlzlpBe6Sg-S@<3+^>&DEjN~vwI;z&F5CR1l$u-`@P0r&U`Sa``<(t zd?z`MQUl_)X&Y^Pm}P>0Lc0OZ1i1N9BHDQy;R9|W5Q~_Dnl1v1bq!m4>E zNGN)Uj8r#jU_T!R>D2yE#@ich$t7Y&2n*W?|<9f^fc^d%WqoxBjYT_q+mp z5JKc<+b4!O-JucEQ_g}$4OM^nT)Gz`w0vfjOTaxb_tz!K z4KU`GF(B0(OaV+tbBPEbXL(P0UqYeD{zz&-BE-Yw330{{&OENM0%(N|t-!4bEF~1s z6F}k#fNjkufQ59+MT3OrfMO*&w)8-{r_De(?f@tNSp|w|Pyp!{mpdx~UAuuU0eZ0O ha7}vnGv4|)`T?W8k7d~C%FX})002ovPDHLkV1g8&l!pKS diff --git a/graphics/pokemon/eldegoss/front.png b/graphics/pokemon/eldegoss/front.png index 52cdb6d30de43cfa2b1f07f212c162174b383135..b47d8f4a7cd0015135e6b15a17b8ca5300ca32d4 100644 GIT binary patch delta 583 zcmV-N0=WJE1&9WaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0%1u+K~zY` z&6K~6+CUJ-k(WPzSQdZ2-^_e7m{p!(RMo4pX4IO-E4gm8OpLA})lqCSL_*Y10@INa zTHX8?R<&9NTINOc1qJZy+Ea!vSmwJ=E|f6K26GZc4MP92gSfF`&*@ zU`s;4!vY@bV3kT0;)@K0voB(joR2u;@M9IsjDcBs) z0A_DN$nAoE*>J$-ek=`UguJ6ekA6mSghN8J;6a5!2HesRtxkbkBr^f;z4^-p#oHU< z68L8lO$^+5htj&f7_kBk4p23K*<7bo*B7o2R;O9|b2bLihHjRWM&I12;n@61qiVD5 zZnNAhqh#hAZA);>y!MkFU2c;HAHcE8I!^j2*=&;{WDRx$gy&QgeNWTJ-4yyDK7-=) zkj81cpGx$b^bq5PgyfTU0wQM|tF;vPkrTd9e}M`zD|{JW1HN7ZRsr7F=8F`#!}LG~ zpvhwe(|@1Bm88e&r-JFnyVL0?1S-d|QaOc3#rMT?R#@RclKn&l{{fVWuROO4a delta 576 zcmV-G0>Ax;2LA<+B#}W-BLD|mYb1bzU!Y!Q`njxN6C z_RxwJoD$H=nLWZJmxzI`gMi2M9B?>*HKB(Z-ekfoSjA3hmX!lTLOcf4`3$T{2zZ#l z%MPVk1XQQzy5=wgMyBgd`p_Brd^L>szUQW|}8r-ozmlSb8M+udflSw_js zH`5NbU&5o zH|Zh93kk`Se*z+ByjE)|@FORDq5c9DWLEexz6N}~2CM?Sahoqv;10tB8Gt5_6%7A< z3RjXnRzDRCKi-{AM>0CpC^;FX%ppogQj zfS3&*84FJI3sseX5|D%pZJVew@MbXn1JgVKv=ASml_aUG~$&3 z_>p#DeCTTPj(d7eX;>M6#%p=vw41jZ=>FF7*?@4t+oHDCAF@2l?SO{1$e(s#IXI#` zS^*U-G8IxNv=A0(oBG$`7j>{5Qc)%Cf+!@#>i@r}!yB&f!>s*500RI3002ovPDHLk FV1gl4VGRHP delta 222 zcmV<403rY90{Q}wbs7hBNliru=LQD?H6QuESFQj60NqJMK~y-)k$f|M|Mq{pguIuB z(6&Y?B^EmX>@0%8D>a!x4@WHlF$+FpBskHV(>Mmanmd4(IL&mX_X+r#l@l0!;xl61 zDp|~80Y~^RL4%>R>CRqDtBYQAmo_|9?@3 YH?Hu*teXguM_D&^<*_oUp)AB! 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 diff --git a/graphics/pokemon/electabuzz/back.png b/graphics/pokemon/electabuzz/back.png index 39a26b92b9f9145caffcaba022f82ffadf000ab0..1b742d4d7bd2f50917a556a483aa4ebafa8383f4 100644 GIT binary patch delta 647 zcmV;20(kx71@8rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!T?jK~zY` z#gxsCn=lZ^sU;p@kXs6K8IV$cib)CCEreA|j+cg`%wSAHHcR(AIx#KSt_TL}g$Y5n%c}-} z4<>|!Wj(AauUAC?a-!`zo3#CXeJ6c~Plv=d-MXONj&+du^wZ#jWCesJ@fYBuj;#YxT(vaS0Fj9$P|kFYVqNEGk&^{~pkn|oxZehdi1V;Z z0PrJ@pK7=XRh^x#*EQ;x)aBeWhJOsRM9T63TqN%77zLm=H zqKzlIxDLuY2s$VVr#nOup6MuOogIhK0E%=^*>cX!u0=!Ou hU?MAR^50jI`~}zqtW(f3!Z!c_002ovPDHLkV1h-7A{hVx delta 637 zcmV-@0)qYT1>*&fB#}W-e*gz`Nliru=LQD?H6=f@jvN300!B$hK~zY`&6LfKn=lZ^ zDH0Db$S#*0uvNsp`vj!Jp0O3*dRncx2W{%-TPb_XLv;p|1Vfg+RrLW`o*y&+`LL7Z zUoXd>tos}|u;z%#ZF3N_hD z18zE?ED+l@kh&W{e=%^?(o6wFE|x$wv$KkIoufrTy5*q6>x}ztfQUE`w*&w`Vhv^q zh(!zyU@Hf5(8q~*k7J~|Vkf@VH)2uDQHA$|*7_kZ+MOq&hEO!wty(EPFWQWRjq4!C z0KpED!U<7_?tcyj=l>zP7Dmxa%7e+~%P&ofY?cQbPUqG!N` zD3F1D24FowHOE8y2HmstB|E`j&LbMkbCJO& z%>;x0;NHcEY~9+j@t*`I-ADAR4nGGabyrYXb;3TCOBa|LfVgFw^HNfAs>II{atm@1 zZ)SJ2uwcRv+Y>BrC^EMWD&ZQ+WK_u{H+yOU!wv$YK8e|Uy?l?YAUfdnBZeaw(*{Iq z(MDl+^{ZbVO`wcnF`I2oX9r`l904KG7U~3gYq!sYZjUbu{gd-Y!04gj`5J%{R}TiOqN+yS)|)=Dtj0bBq8002ov JPDHLkV1l_2aOVI3 delta 298 zcmV+_0oDH70)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yQW>0`j2% z0087kL_t(I%iYqgcElhM1z?__qZ`q_LH(M(WEF^TA{h~$ixmmmRgB=4RD@wwWm_Eg z3_mmHGv-$rsAts&mMmVCgq36IL4OercJ=2GVl0?azk>J` z!mC%`inl0>RV54G-E$8JZem#VNGkU8ZSDoh1269>p23_ekeowrh5Rk-VasRt1=D7$ z>xV8L))tO^LfO>VI?z+Qe`E}EeA>)ES$_l!J%TBF1H&Cm<1m7u8Q)+;aX7$SHHQO? w=3sDuQ5@)UfFpt80H8)Qa%eurA^zOQ7qt}DN@FIbR{#J207*qoM6N<$g3nlbl>h($ diff --git a/graphics/pokemon/electivire/back.png b/graphics/pokemon/electivire/back.png index 5373532bdd3bcd77a2475058665cb0a3f8ede403..08208af4b81ce43e546ca1913a3c22d952e1fef0 100644 GIT binary patch delta 569 zcmV-90>=HN1+oQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0t-n*K~zY` z?Ua#`6@SE$KISl$=~DBJqO5Y4iSLV9WF3N-!e zvVfE!al`9j6D8oTzNj2=E+PYU1zsPPcw2GB(^m~v3XFv*#u6cRO0rZrjWs?Iy)GjU=%Rvi*v`v9y zr+-aP&)TtYamIdW$|nR=injxho;hOAn6en9K)O`Zae?EsUk(&HvJ$O2#&A@JlTG_H z(|XO(9dPt&2SV8jIZB0n?o&}2t;Ikno0<0nbd0|F2#`?_?PaJyfRUUo4*=UL%`*VV zK)%dCA7d+UZcE$=C<*W$Pzw~aHPr8VT7N#;D!vQh{&$=Gp6pMF`*{vd#_soo+F%3G zGj9PgLvGA|=XUilV;lDscxSLQZg(cbrGvZ!)3x}fGCQf)F*&IS=3HP_w%Lx}LkD+G zMSO>&t{I}F*IMSzZY*kmg7j-n6TsGhvEzzfBH#LpHk&VH`sF`c(E!o_0000J&U1*HX$B#}W-e*gz`Nliru=LQD?H7zk{1}*>q0tiV&K~zY`?Um1pqd*YG zgD}Cz2sva2pJo|oS3E9^D}BsiD$}PBNNoBA!d?aKrk--EOVhRr*}d&$zWhPEepY=| zvCU@lrT?JnFYz1HPvhz59nQ~ygn->MpaFo>bh=$R$_Qwug3Vnoe*p_P0p|1f(ou?t z)6zEr7LF2$eOO8X?r>bxFz7Uivm|6_1*BU0W#^H^&MdQD$`2Ui&TLsNJe0L&NhS=U zn|D#@APZfAu78~u&^jircsXnq2_)B76%(goVW6%c=))6lv+%ZRAQsKz7(3MSFcY`$ zkv~{V>)1oF29&aBm=5 zj%y)uu!27UT|E9AC~ed1(lKQ0Hi00*b8AiMk$akwRBwIIPI5%@sSd} zIw5dWhYy?nZl?8GA|FT$YIozkN)>X{2KzjuqB7R1fiOO^f9wh91ikYSAfuq#^H6~R zrzKq;0lrn5X9SRee4c?`&R3Aqm$(s75)eF~Rj6odn4k4y`Q29uT`2zEZT5S^U9kFT z4lL*Qdt!Y1`54bbFhl9we#g6dn6ZzC3bJ!pI^LbhaOt4nz;!LYnaoe>6$4R3b1pC| z+iXYAp#z^&HIdNas7r>Z>9Lma*;OnWpdfvk;{yb>!3`KPV9>GJV9x?~9h6o+QK{`yg0;y4C zvV&4;GXzo*v9c{El7XOWwDE)dCO@8qc%H`$uB>58zorrnJZR=}M8q9psfd7x+KHRS zG6^RG+w9GhY8(t7>};yEGyzR;aTa{g$1b^OOIc88-x2pT(0}X^6{eXtBAnL)>cg3K zUnJ2_9T0nEH{*w-&n?yk-UO5^XAf`?h(q8Omm7Vcy;Z4RQutA%DXnJI62ME8lxDnM zS{QuG%FE`S93UFdO%al9vx#E7$H+0h3Y=H8A2KFgNxx zFyhkXIs@abT~=P>A7G$g0TXEj3{zVJBO*f$3=61%nfR!I8TqhdolPy9EPzRTi0>lYiI3`Ee8|TijR`lQ<+F`Y00000NkvXXu0mjfU67N( delta 382 zcmV-^0fGLr1JnbMUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld%PQf_MZ z0003uNklH`f#D$CrR{E2gF|4&3KXY zxy8D`n}Cw#>;Vn}aR}Vv@^7?LT<<^}|J>o(QjCcsloxKc z%X))5mvc^dZ36XPL+DrNnysbZpxe#;E`74eoh8{hu0x07|6=3!*VD6X`2PqQHR_+} z*(3GIyzl85fKaNro%R^c;4=T9bwLLV>M}QV4aP8uwq8BYbAN5>ob(!0yIcb>#t6w= zLwKwUrS&y^x7;~~_f5S3m1%t&CBidgd6BovvB5kPy55GgYY1jp0pcoJU_GLem%ua2 zFo|}cu>Scrina>SAj+;`GL7c!+cYw&UPjNe8nS{~^=f!8{EV`r{M7Vcib476X&b;t9L}-JQ!{u#T&;E{=5T`v|B*ZXLx%6W}e3@ z9F|GX5NsqTGLD7Wh?5k6+Xk`(8rCW2ri)mXDgBR|t?g_*X_qKc_kkAizVi8DBxZ4EM6Ye&FNH5$S0*T#l_XuR| zgu6>1FMr%{cL?O%3wMV=R$jQ<1QPqRN zh{8_hhCo=^5J<}pZu&D5{PGk(G;q-*{{TNQV=&Y(#1EL3n3sk?2KfOMn$Cm#fLaSA z5Os`p1&;=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld%S%V#@H z0007VNklKabNe7{*-nEd)WAtA-a*Oej6=+d*Y(n@3} zQpHzb?FQl-u-(je!FJTU*!gopNKAQ_M1CK?cAT`&51~nu{(p;}K2o18`$nGta4FsG zeA!pN%0FmbkO70d%57bPHO%n7Q_u5U+d4zN2H8y40F+XMRA`9LbuP7jPu{K%f#IF2 z7a*0^w>ae;gUXA%nQj^^W3KCcOxlKMp$g#FcxCFC2v!19o?(U$AWi-AEyjBZ#=y(A zVK&E0`fZM_s(%;wnW{k*#H&~P(+_J{RrIjYWzF?XtHA}X^vBEZ)u&ZeQ2?`1vGomR zZ@L6noa=gb)U5pshof^W_NKnkjXZ;ZBQ?)S6KERf^GiMJl4id$0am7g&^xn;e@@Zq z)$ha^+=;VI^VVA;uOAFIkeQpn5dXXbo;FKB+Gluk0)J}9la1Ld6&*vg6AXzY;dUX0 zG5{8QQfnY_oiS#+aEe}j4Gj@RTQiNJriId9x}S9oAPI_02NLTt?119325zoqf7G0< zAfaKc+|FYq>|Fb42TBCkLAe9c|8tFKYA@-a;oe85|Gr6+rf?tA{9g?{;r^Ef)o-{b zkZ!p91b-6qK0}K@dcxf&ke+b&2}E?lJs^-I4EGL!Y=dwQ3FLVg?g4>ZbizF#kWDAt zeF90k;qDVilm1?~djw(^FbVGM(IXId8oKbd&?XSe55NmQnH_=9(h*3*4`KRK8~kF7 z9~@k`}dbbmE6eBl-i!CN~Vdkhr)20000QFXPI;MAP82Ou$F;b(C09BEVg>Wf~}yv_ym@MZ(*mEFXGH* zcN6bUZ7uGrl6=4UyPIgEjeb>4`qkE?y8OW&SerCY*N30!OC%|+n{`Cp+N^uslxzGu z3{tvUso%3Lk;dE3+OiLS)8JJA^rEh>4jmx&IYDQWdjk^Blf$Hc)$Q;$pHc2d<&Qt;&VUYRzlS#^~Cqd zzzzA}0dYks#&NcAz$pQ{i0~KylZ;9c4>J>dBdI{z0T-ir1o3cxY!J5Cm-R!&*l|<$W>$d$635R zc|huh0o1bRPq7L&Lg0+8mhh^S xS_W)rJ8c@#uc2TKkP0^-rBlmeZ1n#XMPJ>w$vsg+>{b8(002ovPDHLkV1fb1_z(a9 delta 499 zcmVp0O*IhzB+V(*yjYDP3{dyJWmprLhyqFikdSSbNngKP2wBf;S`en zx<>1p+vn%K1^QW!IEA24YqM`|U*Q1*kR=BMfb%V2UWm{Agj)$!o75BECj&R+g9pSF zr5MNA!U3lQ>>|Qre*jD}Dn&fZOz@4Q0%-?ajOG!ANv3R002ovPDHLkV1m$2c83V1Ld@L_t(IjqQ>x62dSLg>!>k1_XX<5RK_GodNEJZcR*1gG3Pw zqGX2FRCGxN%?8Qf;JNqBPJTb7ekA%Gj6oFUkO2k`x(TxHJEjHb*spM&Utj<{;7TI~ zTGTxyKy_O?N^A7Z<>-2!z-S*JG7Hcas6278fOdB>6NP10#boDI7>p8OR$AWdpAVA> zqvNwmKXm->Ai&(ayAWpX@%uAj3e=Mk12>?d1ggTq_QJ7kxv?yS(blai;fESqL}8L2 lYDAU$5zqbR#|*#d#}g^Kb*sOZQy>5U002ovPDHLkV1j45Yq9_U delta 274 zcmV+t0qy?70_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yQ{Xwc^D9 z007KML_t(I%k7dO62dSLMRS8(1_XX<5RK_KodNEJZcR*1gG5mb0y0BtBD$o4W?Nkc z>;9Xa%x3o~^&_R1AbJs){R}X0(v6q-_+*-ZPWcYk@fY+!2Y^0bQwhZ29cS7wm{Vp7ZYd?7c-FOJlA#Od!uGQQQE72tt*U9Yn6WJbZ;-fn4d2p z%$U>pXTlVy2O}CDKtmZ+g@p~mv3wcihg_m YDY|v5QhNib01E&B07*qoM6N<$f+NdvF8}}l diff --git a/graphics/pokemon/electrode/back.png b/graphics/pokemon/electrode/back.png index 01d4bc1df3da98aa787d0b0358d1008f9a05755e..86d20c029e3805dcbc20e8777e90a40c4fc1d289 100644 GIT binary patch delta 375 zcmV--0f_$m1B(QZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0c1%;K~zY` z?UTQ5gD?=rk(Vxi-@tI+@9sWZ#=7c{%0)S5+asu@0kK`u>)zG*J{jnC!YAo`40r<< zC?Ts+4jbzifD_S51^j_eVkA;$GyoI;s5-*uMXCTm9-Ywu37`)&U8)1d07No{7$7sm z(2dCC9mE5m^8wOCZfGm251W36eJ6{GE2{%Gg^;rxsfW*lJE zS+%k2P|^oJs|Q%|miMPw2%A+UC0hw_HJxhFkmIjbAaJwqiJ^A*m&7OQs{bR)`Ua$L VFxWoeRG$C<002ovPDHLkV1k+UqHO>G delta 362 zcmV-w0hRuX1pEV#B#}W-BLD| zk)bYszwy4$cV`4x)-``KF2*rqk6@Mt#db-bdsoMOGRW-&C+U1FcmoQQkkx1p8|xQ= z8_`M?`~fF18mTjC0Ez%qZQ=7GRRkc9&ZvPDkONJZYJ;%=k=(*=Ysv&{k;!Ke4}^{b zq=}r+R#Xm~eujM~i%Kp6(b3F>DCt+w@O1!x-lh{?brUk~_}vVxFh{8sY+tuRfMY`O zBxb}UKpa1csbtvhB)eEdS zc+30SECgm%Ny%0UJWZEc9LVugD^R%EGfj5*mBgp(kN;og8>DYA*wG13BLDyZ07*qo IM6N<$g6v$J00000 diff --git a/graphics/pokemon/electrode/hisuian/back.png b/graphics/pokemon/electrode/hisuian/back.png index 803bf47920761771cc4e77ecbfd9fed45801e414..51e6686d299685094d32604880edeb46d64ee938 100644 GIT binary patch delta 431 zcmV;g0Z{&|1cU^TUw;9QNkl2naE8{TTYe1fi@167__a6kDr97oWe~RCCD*`T3N-WB~ zaq>3}0Wkvd^yAtzB{$7iWC3|tZS85M+LpVfId%Z*VkmSr@88W){f#`XWmubLy^H>f Z{s1h^JNQUqy7&M9002ovPDHLkV1lb*#S8!d delta 471 zcmV;|0Vw{21gr#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld()FYx^r z0004xNklV+45QXU~Qde~l>Ka$xup?GPuaQI}u0a)5AUFVq6SUh(6^IM4 zhSLH3D#P6Fo<5^@dxap?96C*ubw^K>Vu74nROgc?jpFflxv0r>C zmobobOyHRki-E9EfR89*JZAKmn%c5eh6l{$z^e}d=RB~Sq;r4$azqjK^$4FL%P>hKZT zRHZh}*T4a4zg)Z9OpL9zO>_1D>ST4a-`~wy|3>ats$ZLCwf#5$_a7)mHB{jgZpZ)t N002ovPDHLkV1fz9#=-yq diff --git a/graphics/pokemon/electrode/hisuian/front.png b/graphics/pokemon/electrode/hisuian/front.png index 457deed2ac83ff3ced5257d6e5806e064ade2d98..1e568d37643b8d9326b8f17f5a1c8138a7878583 100644 GIT binary patch delta 569 zcmV-90>=Hg1&sxeUw;A^Nklin)6onO<%(y}phFZ$Vy?vz&l#W-SHqu4( zA*x|AOad?9wJFocspv2QUI4!VcAkb8;NF#Ful^{gb7ow4&!=;Lb`9e}{~?prZ9j6n z5Wt^2?(&C;2dq&$L4NXq<6o%zA%upc|l3I8~4@dGOC1&N+L^@G=$Eua_WK8k`T1c5j zxJqZD#4ljpAmDe(*_8yVTME}cGZgIq=|7iUtu*a9o)Ef-c7OTB(DneFX|GKmg*J#7 z_uBOE6Uh$1yw{?KS2GDTdW8(smk}7$fUAq}3=UDradJi_evl4ORg@L8z{Lw`52Aq!w&IE)$%N*VeBkTV4HZAm4g9Kpkg#e3rltHcG8V2}T?0`EbV1GzXtO`sJx) zv}6;L;V|EA!=*qI-|fn}y!Mtq21>&%h&|Ah^`P z&=$H7L5x{Bngh6~zTNwnzsDH!e~K~lz>Y)))0RvipizILQ~>%aU;s4~OagL(mx38C z2rC$82m(J>Fa+1IRILu}@o}}?YJY0!IaAk z0=)JMZ3CcQfdSM|m<8knjlu#Kg%zd+g2>elV|1S7-s+(pUNo+@*)7-Z_OL<04CU6_ p{OLt$!*Q8sNT1jLvHXAk%&b=}nZs%+THOEu002ovPDHLkV1jeARo4Ij diff --git a/graphics/pokemon/electrode/icon.png b/graphics/pokemon/electrode/icon.png index b85873593c85d4234fcfcd5e6cb37cb67fca6916..6f14a09ddf386aa100c87eb4eaeee3c8b25caa11 100644 GIT binary patch delta 63 zcmZ3^)W|d;fxXAm#WBR9cVd5lq%(&>P2Kl*ky1|V7hbx#m1VA&XIRztF4kn?H${P7 S1!)%sAnp}kvxiWxjz{an^LB{Ts5 D56~nb diff --git a/graphics/pokemon/elekid/anim_front.png b/graphics/pokemon/elekid/anim_front.png index 8cf48c7eb3e34e93a4567d2cfdb9fe6859ab5489..3b38ebfa2a81583604526ac3f99ddcce3122aba8 100644 GIT binary patch delta 941 zcmV;e15*5%2>u6DZ@!o<&I)HgpGzUi!;Ox?VSm)`H2uYUrSs7%ehalB9}_LZ zPYB;@@!PP)5y-X<d*H_FpxoPiU1CBa&dXxp8-8r$ff`q2s8w627?(uBH0uG0n01seoRNqis&u^~${1== zu!XxQTii(1ArXVDZO4*SBxV?-lo``RnVCp4X2}<7zK(r`9ZNHoOY8>7oV8gcAaOuS)j4P*(S>UK zK?wj{;Z9oal>#WqB7yhj<#J%81a!EHI3^W9qW<6rmUjo(EG_r1?8(|69I`zi-+=6vxjfMygnFfCVPvEbT^~qbRh?;X@T+F$t%rVM&*!S*s$H zzo2WSC}O5KL);FaBtvs!*LLV1kpHFc&it^!N5}pUPdbErpMUdvcYgQ2kC3(fon~0! z(3;IW99jJf9OlW9IC-joyeCJ}e7dWEwkJmt@V1*>3B1{F4`wbBf=pik^iNfg8x9MX z#DU)Be$SIY)@3w&@-eo*S1vRZVC59>x^O{bKn|+D1n9N`(ii?o5PgLaKp+7>&vLAs zl`g9{-3X9*2!Dd6N6Nlk%~4h+1YP!{fGI3-@1-h3fMQMhC;~LDqCiO?umNb*A#R1_ z@J~GoP%);&-T`GH5JUlzXSD*c_iUWrvVBUv;;!zaKxbSU5%=XgfM>m-Ly5R!r5KPY z3C{rk7@XdFK)@0hR1`27EnCw6-mxozJO&m2sI5Gs0Dn0PHwt**CB_yLi?`|k18^~Z zpRv-I6_&m^m#gJj;p(RgA%tnq%$FF&Q2pn$QAmJU^Bc|J(<@UkFbNnE599;QGsL@(#|g0JvvzZgQ;)>t0QD zTAKN-K!3=~lIm!-nR3CGfYBU(N(Nv88~`M~!o)s5BXGRcwUD>gg0Qwf zZck>nOH&)pCi0SU>Qm@E4s@sDT}MdC)mb$6&u@5R2IO#%bozsL8j;N*^pz8vB7lRO zU0&T>L}b&IvMGT&0(A+zhyENOp=`<+4^f*BJ%9CNe;z~z?`t&#rs92sPd?9qU?Nee zu*1j_6PE;YfS_znfvl2V^8iI_6sgidpfn8i%$fi}z@osoB)9@LsRBB80TVGL5E4k) zlu@U)iN!=NSrArKY#VAYaPl>jFkCT;SLs?=mNC>Me;apEED6ga3qHuk&P0;3Bp>+o z1%I_cnVCv6Mk$tRzKMN>J&|TCm)H#~rc8^KBhp;-mn)$~XVT0Hej%w2Q2__jXP<&*BT(FiUj7(?rLDD1x&aO qxm|seBY#g|b$5Wx(psASQTqiPvOyVm+hPC!0000nw25Y3K=D93m*bB%tY33fhx7st8zM#t;R{ zJpl9mW;hh6!d$N_=m=1wTUi0u05-!7duR?nnM}v%?~D)`EqZrX<@zv~4hPxaJ;JUe zSxTnzy(wgCI(L(60qoS{znJOb#S>3Q=RER zTh4S~k?SD*cO7IA2FsECAf_@jz{@SQEEsoW00000NkvXX Hu0mjfR7`Q7 delta 290 zcmV+-0p0%D0{H@vV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0yY#yK;7j4 z007)cL_t(I%hi%i3c@fDg>!>BPet&MU8M`N?nBI8rF-4v9F@`rx@v`tx=GW)KXBFA z<>QeV9-mSR8}b6&tO!(g9(sZ?4G|1iGq7*W99)m?U=lC@H-B_VATI#8>CG6Cp^STj zEnyQtdwbO-aE@TrT~NSs{G@jcqpcY+;sfnS9r+;)HslzCB=yyT~TC>oBmDE9n*E;AdF4mqy or~2GaeyCs`2OA1MzO?#w?xicdgbK5R+yDRo07*qoM6N<$g4FVQ>;M1& diff --git a/graphics/pokemon/elgyem/back.png b/graphics/pokemon/elgyem/back.png index 43a9661b0a23a233f7117ff9252402c9c2fd4876..06e67465f13e257fb4d4c76370849bdb2bfc31c8 100644 GIT binary patch delta 412 zcmV;N0b~CA1BL{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bfZ(K~zY` z?UYSw!$1s$#{};^DA_y71v-BA0ow5aV$7VjM`#aKX^fpQ^J56z6sm4VZlJUM1>{h96$k(>T$vWP=x@R zdasa_x1GC=zzu%rM(2f$QkodGz@#?{FbBnfU>4uH%>7BEKu&U-*%8^YxQF602%cS{j8 zTLu_4OJ($|*Iw#ja?L^Zz_=NQ2;h$fMs1oE896nYxe6JG$j}aYslvcU0Kck&+Q{Ol zhXg^7TWmLn?;LF(e*@IGY)%`$4|52EK5=1Yu`bCY=UXY_(nqgDAP8i974tWp5Jd1p z>Hs=jXqIr&kk8G_29OKtJg!`#WGI{S>VIBHE>D9je4*vnefI0EU_Wpt7>oNr;i7JV yU{}_X-{EEm@Ua7o%w6R}KlzFG;@^JNz5ok@h$ot|c6a~)3IG5}MNUMnLSTZkS+%bK diff --git a/graphics/pokemon/elgyem/icon.png b/graphics/pokemon/elgyem/icon.png index 897e0706cc4975dd03eeccbda5253c29af4de3ca..cee271077b89bdbc4dd12db22570380fe1f29f43 100644 GIT binary patch delta 188 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 UMnJNvsL|FV zmJU@UoCidWg6gv1*W5yX@Bsiz?$rgp*8{ew#$?Nsi4?@eTWj4RYE*$O^j@$;{DvCb zUj+j6A_l}aYH)uQz&evig+rScE5Q1Bjpz!!L(8oL2mpkm5>VR$kb9)QaM~kWZ-UB{ zzlegh7inxIv2el(1SY{|<=6n!BZNT6cg~ckO`GMzzMzok(qq7X1JNd4(`I=H>@`w> zl=u=GJOl;hlr+Xzi9pIkynO0}tLIQ7!y$x-F-j}Q=cpbOa)q`RYptW!h}zTB>fN;L zNeGvxTFO1WF`>{*f{H++HfoPTdM>$~2_I9XUkhr~He_dg*&R)2N_G`+Xl%YWvv#wK z_H^Ze3Qj{~&ZO*rZ+E&3kIg8kPB}KlG}S&UV8FI9)6?pd5HQa=atWB}%JY(2@C>*O zV`I0>>I20dxj;zfOnqrpGtd;kSyOg_jzR!(x3TJwN!Uc=Y1=$gQhq1_E$o@I)^}Lg z@ET{pZrLK!?`8+J!BPzLSmJOAH1l(otsL0TJnHcR$YzoaH*&Y`&H+S7MH2V;BLMU}O8vPh0f>+YKhh#jMBGEhfl`0X z?Fa}+;$U*FEIGeTz=Uj~VjWFdSzn`K05-uDWL;q@FC&bY2!KVL>s0o)f7 znZRszpA>7)b2AS;n*+F7vxJWg{zq)_zG0o*79J( l@Nl(N&t+}fxBi2&tbbK-yzC|wlVAV<002ovPDHLkV1iX0t6~5E delta 899 zcmV-}1AP4T2j>TnB#}W-e*gz`Nliru=LQD?HX@4pNPGYQ14>CmK~zY`-IKj*+dvq` zA8z>2_WFoskpMN6ULCSg2O+@Ph<7L2oc$SGqx*ykyvLWysR37Ufc3ge~XpnpS3 zmMk6%fr7mT3U=RDAGYKS-uwCk-@QLQ&-0!oMR`#(Wk>1vyMWdXf1*NKJ1lillF(-_ zCG7GtkZKudLGKtPymzFE{cXU8o{Iqe zPO8}724I~?gj6Suhb>_LzCy?hdY6i!0$>B+Lnl#UGmf7OK$5b}c_6VfD&;$c4!hmc1T0TYNO!8K_Vhk(6mNFgPB(IXs! z*u|7&3_w63WkBB?=+5>zREWe7lzK2q-A?By9~9(rG}9A8xb=uM|sc2INTn+?d z=i+Ee967a10@X^?j2!ZsVd+ymrc%FRS4dM5E$OpvG$k?7f69PP#`3n7v};{x$6Gg) zedkCyVXW8gbP*oQ$SzMgmQvPu9~EH0rj+qrc}ftFhaI*7WW061q!u^>{0(EN)#dgL zg&wJZL*#^itCus77=THQbpeeW0N7b|+aZzA2pPvsdB_?2Q~>I*Cnxn=u+YG3oB(G< zi$uSh9Mlm?e<9$b#N`I4rRU7*DbPZ@V7iufSpr;RUDk~yK!YZP3U+y4h#&<7^l=;K z$bRC!d04ET5<(;xUIr33!CH8+S|voc}6H#>0>L-70I zo^uZ*?*lNa$EgH+8k;aIOpO;c{{}#;Y z+l0j2lppm?Crv&*Foz%ScFP?NNS3%YeV1F1vS*avPkUglO_b<%5HK6^-=Uam4It4g zAt81UNO=D)a(|vrni^2WA>=zbCvrXa0M5Bt%1?o#Mt?Mt>Q(kD9t8B|a?3YEQ;xok zuZC+4DJKUuBr|w|z7$qJAC1RX+grFzM-3p!kjPF)fQIFq{2YJZeU5i&sWZFCkf>@) z$#s_H$&dC0cBr?MA^-_(1pMG~dzaxo`*o$%J^^fc2Y*OfNC;8;gf9*P1N!|iZBKBs zg44CzxQbN*&TNY@0XncLq*tc|s9GS0wBt;cJfcZJMfh__IgYdG0X=FFh^dDUi1=mJ z9jEo%1&*-Cei*m{bz=Z`RNMQT)vRVUt5D4x=07;huPBGnDjjkdO&+L14x`J13j`d-vct(?2ta``bPJWBrrH~{R3rBW<$CAZST29h!uG#LOFKG z^;TVAZ$s3=Ilx5JJ;~`g&bk!=ph#_aW1031^ zqd6tDU!reD0Vp|8Glgk2)m>zcmFj;%ySO{0yZdWFQH-p00SIJL_t(o!|j&8PuoBgfX|Kh z^imIzI&sdx7-APiVyKf`Pyz!&aFsGK6kNo@LI*|?D;$jwOCq?bqC?f44*et2wPI=i zga}oMR3`e)rsU!uY!!=7ilXFwx%d3;#r_aV*Z)}>ex4YUA%87L%%pfmh9F)lCIBTe zSJa95Y9krI#VT2R&z$(Up2OJ4neMwp00ThG-Qzw=1}db?4<7-HDk&egoTSUFSS7+q z;syv=gmB(2ByNCm^Yff@GTQ}f`cdN$xA-Tu(;16QH_XG&JDqY{0Wu|GPe0`sIrq%+ zhiMLoD-~&-Hh%zCgFkEvaU}uLyb=&}7XU5zdV!Ea#!`SP6v0pU9L;;d=@Vj=3R9rl z=naQlyfMDPM*iUvd!~jaAATQQ57rx;j}IM`$-xe4Q*ixaI2v8=Y(qDh=%Wk^5P+CC@&06oznX83*`fLT_?j@x~ zFd&RcA<}gH-eEjj0yun`k^qPK0(p8=0=dYs>hpoaKqg5Tk$B(+T)rJuuo2!sgFx5! z50E`>MB@Hw@B3TORenUHbEP-(-kJ~WZ_--a+>L2HkQ|S(4Lfe+7~2fW1RqKO`u{{L z7E3@Aac@Cqu^J^6Ml3%HWN*c|43^}+2H#AO98|NYWjDoLqT=+vg56%-CEw#@2X&g> c>z`)*1t1eu1oJ>qA^-pY07*qoM6N<$f>?!qdH?_b diff --git a/graphics/pokemon/emolga/back.png b/graphics/pokemon/emolga/back.png index 46df6bf2ad8228154997b5b3cda97eacfd475f65..7a8ae68c08658e3df25867e757b00027a2ffa784 100644 GIT binary patch delta 363 zcmV-x0hIp81JwhNBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0WL{IK~zY` z?UON11ThRnBW*4aB?lSHktk?p6yE?+Z~&&+nxjx~kws_@2X{yTpg>|>j56_y zf9%-iYJb}-joNnIwUZ0lF$hN@IR{Dz-VQ?{5i;t4i)Dd1-^FtUWWbNIxXC$_0ss>z zi{+^g1X1V#MPo4Oc6n8Qfdmp_>;fFxOCA;rprr}GBEjNeuLFc05dz_1etfw<_scEW zV!(Oc>p)rw0iM;@JOOVyK)BkxJZK741K%-{=}U;I{c_Br7`X9bfbRiSqfz(`0Dc1O z=mNl9zk_L;icK4Ur^}E1G$SR~0yde`TNS@Fa8s?x(@-?{B>T%ohugCO_%CsY;=#{Q z&Gbz&5oA|Sm5NPo)ys z8H(EWx@!jOwPWBHB3TPc3f}g;kO&!dzy?`h&QIai0U28JyQ4iP-zX?%X$Ypuqj;Bg#}I*?|f z0I%xTyZ|3MKsalh4tsq}<`npefx5OukvcC+6(X?lZi1fy)uVFw3jlrt?C1`_Q@?{D zs(oAlzFjW1%M6rkRt=a`eJhEV0j|0=IO@fNPjXxyJf0Q6Z;4Y#1kb6e+c%UOL1vDu yR^jSWSz0FQEV^#Nw>qU4dXH9zxc!Sa-RKJi^mAf4&DgU500000oneY1N;JzUw;7yNkldyc4`haJvLbgQW{5^KdE?E7mW{ zCmj2rZIQ128`)>6?H;wSgsgBxbdbW}%q46?wv%3vIsx@dNPpC6mgSw)S$j*GcR5y1 zQ?HFoquefsiAa9U3aX-RRH;Xhd=RzjTI{km^jszc^sX9qN7BOX4iZG-pTuwCkOhoG z4#vU%aZ$!N2uQCRaS-9Pqaxzqo7Y@8D3j04W>7$Odkkb)uN;4mYlHXL5_esBsn s48`zn!=cz>%07*qoM6N<$f;F6pm;e9( delta 327 zcmV-N0l5DB0-XbpUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld)OgG>Zh z00031NklR);tU@UJ`KAcoi0 z0S@l+R7W_l13(nxfDJp!5eM){K{?`JaY9Nxa5zr$!EV5z48q$74&gKd4%aGL(%Tw8 Zt~=%i9Bo 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 delta 690 zcmV;j0!{tN27?BWB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD?HaeM> z&?*1`0%l1>K~zY`eU-s#+dvS8*X`1?CF>AD57kN!kaTm*K~l$H;XU|Z-+k-@6mmAC z;6pEhg|P3TKtMjUpg_UL@lHy(9OA+x1IbRiJw$2%Fp8(^!gbiZg z11h5htaw&L9sy$vBv62qkw?Io8p0@Xz5KMLfvYkUSs>-z_br{_sw_pA&g9(#X+f_a zL;{HrsU#}lv6-*6e+WYag#1kaI|T6c5Pu@|0O~)mU6CnNBZf%kE7GLuMj$$RfIp*v zB>>kbI034?CV(K&Dip5D&+6$TQO15}^w0)nS0oU-<4jNk0U`xk#O^o>5oY#_t@7s8C}$k3Se$e}=9C94mxq0Od89Ug6#c zV4dLgfF7~V*gzi?0WNIj$ zp9eQ{R$1Hms_22G?E^UyP!@)bVPf|7r#~n(6JF{ z^W}j8jwgi{e_9f-4dVl_e10K49Pq-xU$P$prP+g z&etQ*(f0=CBhYl5To7{@Qh-uw?lIv25Rqyc8u$Rbb(;(d;`8ZTiVS)no5^H)!BnQi zzo2w$3RixT-dtQ9El!b27jN6evsXY*d_4n1pW_trDEuov3B`Gi+cz$qLGwz&c^F;( Y1Nxvq0(}HVng9R*07*qoM6N<$f-LMavj6}9 diff --git a/graphics/pokemon/enamorus/icon.png b/graphics/pokemon/enamorus/icon.png index 5f2705f018e6b306b1c9b95600cb268e83e8c529..c127c07345928e0594282d69f6d67b78f0610585 100644 GIT binary patch delta 373 zcmV-*0gC?c1KNklp+WjNkJ!V6P)rcTWgGQv{w z5Ij-ap)Ak@hDen#V1`WKa`S~stva+S6aIB>wsCgy$agX##?VW zZB`YWTZMiG#}3sC(DMs+^nxx+3+x%HlYSTa#74K3*byX21b=m7rc24qdl>AthqBB> z(1s83<(N@XVO+yFc6(068Aj`dfp@-p69ve`u3x2skgwL>#<~ zh>O{0yhLf?EJt000C1;L_t(I%f-^MZi6ro24JM_ zvHAebaNeA@c8hq3(yqLBA#-y zzts8WI5k}$S)a4=g-7}Z8JzezWz9Ah=vsvEoJASimn$Gu7tr=gm(QCeuV_D_f>L0~ zBcqgd6F|6q3Vv9A-3t@65e@J#B1!uM@}Ut46mVMrN;d}J0}vQzsw9!%{7EE`^8RQ2 z0;wMg8sF0k8o>;LMlih~Wr67hjbH{r7MM|EJyi+SYbMJQ00000NkvXXu0mjfeYLF% diff --git a/graphics/pokemon/enamorus/therian/back.png b/graphics/pokemon/enamorus/therian/back.png index 8351a2d3cceca85b25da24fe36ee8056889d6c30..a563156e4d1f0bfbd1794b70c0f5efd6268142ba 100644 GIT binary patch delta 626 zcmV-&0*(Fa1;z!CUw;BoNklljA6vwYR83a;MOe?V=_0;YO7uR!==M`DW zoli&%UG8~d07dp~{Vbgr5#IuVI&=YMCN_Ttp3iaO*r5wz>tB(5_WRxcy?1_L>_HFu zZwkZv;}an^M4%bdx*z9rA;icpGfV@-H-~_;di50XDzh1W-hT(Cq6GrfS6LdoyBPpl z`y3xF)0VNf-+BNDl`O}!x=fiV$Y=m03Um$pNZ&t79}fVo5`YEsDFU0NEcn`MLjpi; zz>Y0T1IA3+KZ)r=`umeFK4k9t0B;N!`&rOg>UBR(z^qvuy9~7(4*+VUIcoOZVZIv1 z3D{Wh67jOKxNDA#%e~`^J`g#7Ywgr*dk`EJ^m+|4Zc6bs^iSW76M!@X5ZC511?&S5*8oJm z1b>-!feD;QqX<~UPCELnc}#q#2nl0OTVQq~Azm{%W_*0w0sc*Y0LQW(V+I-rl5vZyWY;SsifeY>g zbTuXKGGn?Vp#hLeP!9N!y?u~98~}k#0hY|C2u+@`@Jp`^0RT>b9UGQ~jOnaDiFhge z^U-G?(%%N7YJUV6`&rT~)rJj$tHwFDIVw9H-bM_~sM&Xm#hQ%)TZy1Td^Z9Fz#H9< zzp%4rHz0r%(gl~WI*X!u6p$d# zBg*rX^XCol>#zbLqG-XDTN^o)I08jiMJod<&d=8{kbj6%NfoYJz0Y6Upsu3xsQGugL&XDMU0eEsvPD=k><*Kx+?k5a{g%z`lUcmLwoA6fALF zVc`JNZ85A+Q5QL`FVSEFV0Yg%{Z^>(z_Md0D&1-*rfW= zxVW|2qJKlGR;?&oz&2KD3Ka!;u2X}y+}(mLw~VbSCskls=Jaycr z>mRM0yy`65l3s5>Buyz^hW_dMbpjBY0OHzQx`aaj5(mKCm*BtRE--@=p(O#!#0pEF yO^^`ZDMG+Bpd)Z~A|Tl?F=fH@v;+K`{Q<|a9uZ^GirjGk0000DOh+`6=L|6|~I9T!f}ld*cA_xCsOVRgt+A;ur`T#Tp{(KB5HVjpG&AF7rDtHXW7?JEoL4`XGE_(v-XrBI< z4dfQs5mV?-od+WQ{M(qhb>)!USs+>U03*_01T0Xgq*JiByU6yy2V=I7nx_pSN?5@z zMFPv_AYe@U)fh-WwOB834(g6-fKq1%fv2`I0O@0kSbyNd0xM9Uuf+Py;S?zL2IRi2&($ow9O@MN(BtPD##vCaWZcn5{WX`njd3+PYCU+FJ7hXw2Ux1?AN(bwf9$?#uy!E_GFw*xJClc22su-;v)69AG~d;*y3e@+JHY;E@IB*8#9yI9mXb^c@f#j-MCD!^0}fXf62gxg>_q zAum1y__N#D5fJy+KHXD)O{ZB5fUyz4PXkm`{{eDj;w&J=WPS>eOh*2xf5v}o&->#dfGsgF}KfE${ zvwWoF)G8kntVgeeEF8xEfra4>zYwb>zbAy)#tXm$0nsg>cz;~Z5WxcAr`G_b=#%$= z5>cThfI`dztow_-DvE4eB>Bqvj-XxwAe3wZ9KhsmT0u$TrDElaD-)(&C@Hkk zEN}q727C*?zH@*#Zvp{9UFI$Yp96trEDu;2_X4vF%-0>(#>@*>QqBQ(RMf}nY&WXN zL};mrgi%eonB@70*u?CM5NlEoQ=-OzmxlOb9Z;+g zN^HYW%5fE80_5UZHwsF09NZ5CU@f*k#RdusbVLNhsq=uRpMMLnx2^)RCkte!;TZDt z7Xb%UD(e;O?H=;M97m9f?FJDgoS;jQ!BG$9xFuOgKYz8@9B>cniE4n#Sshzjdi2Z#+rTu3>NRRlJc6Cx?yx> zdUHTvDt}W~6}C38X`GW5Uw0(<-bJ)d*_qDtWy5%O39=q@ngH}PNLQ96&JvD^eGCG3jo<`>daGoswZ2=FL0V-;EfXs~F l1SDVWmjKCR?8ofC*&m_${EFT%*1rG%002ovPDHLkV1mdOPyqk{ diff --git a/graphics/pokemon/enamorus/therian/icon.png b/graphics/pokemon/enamorus/therian/icon.png index 0e0ca29ad86a6b598054112eeb197b683dab61d3..dfca5087fe847808c20a23a2694944c41e6af5c8 100644 GIT binary patch delta 381 zcmV-@0fPSZ1Ly;gbbkR}Nkl7xV5Prm}`O)I!7zEU_g@M%j zZ~z_IISR7}4FUrOgUH#04F*9k$Y9Xf2=X5c((43O-wjG#gN!iW3^H#k9D{Dc+zm44 bVPU=igl!uMe{5kr00000NkvXXu0mjf!{Dl- delta 395 zcmV;60d)T81N8%tbbkN`bV*G`2j>O{0yhmfFhpbk00CG@L_t(I%hi&xZo)7ShW!H7 z$qxWX&Ynp2-aZx;Ly*c4FM$>HtulorR3QVX5|;o=7UITnLU8EN4jt+tia*_dC!Ie+ zzCTLYcc8Sez==ka0Z43cjc96RphByODu7O)Cm_5N=2c$*8h;4SICfl$ihyTI&S`{h zg!`gu!38s(Zd1%z8$p4H#|YWZfKs|Np>(?wCh-)?w{%1i9r4nD&1SY1%IiIrt4Ix3p)e_fkXrFb6r=3t9n(^yq^mBqLdxMgp pK}MK6gYJdt4eEsH4f>@pUxaNN3CA{pfB*mh07*qoLSJ}vttB)@Xcu_)z zo&+%v_SQ{ybehy8Wrf|`dJMxB#l0*(umd74C50Y)==LT^7iJ3u2~P2a79lj685Bh5 zseW(%W%5_?ARc@Kc9QQm-}~O1H}Cy6k@)voa_ujG%vuUyReyq9M&UNrpuPv)#tDLXoJ8~Dq#ek46@0a&< zLj!1hz6iKb%Xju3JiK`VvURqIxc%v+8^3(~@bvTqMC)t;pnoPhKlcuMoM>8$Qj9I@ z%rJ~z?^L%!z<-U!(-!`2B4OZP%T7=p@5e`ReoeQ|pBr8MHOo35j4_GJj;8>Ux__myuF0VK#_(m9#0h1-AVxH z`nnf)^(mmZRVnXrpd^7(^Haotqm`tY>~EJj zK>TQ-1g!y&x_ns(x<(+gv$Iq50G_9yav)9JVBsYRT;F-|@(8=)00Eqj4Q8gJb%mWY zUQl`jk`w_7Ryi_*LIq7)r}iydQLsdb)I7juZhy401yZ}k7(15v_&`obSfs)qM+hXL z!8lOE9u(ahHxRz=!lkWYkIsPA5*(1dnFBJ60r-gfjbW>bsX!6&G3x*|1l+L3p8zzW zDtG~;5g1O*N?& zaPGYn*@9YlgI|b5lAvMUVjR0oYQEOZQ4BZzl}Mo`{RvGWFp#2My54B zi$`V~&)i-S=gC&x|DR~94u5=p2`H_KCpSS|0i+U{O;ugtAO%w1ROMwScOtP?xR`rW z1bKP?q@0sL+*}Ie#d1y*bDMf{@#!yY?dS6NIp|8tVjxq=?Uy@yb#3x4Ot;;A^nVMv z-UTlKoj=`AGM&z=mT_N`Yhr@VE5rrkamT&);O6Ol+-hFI<9${kg!;4B2ff?9JE!++ zYhNNTrx0oU?F+*=?A^JSSO|>2Yg%W|Q6IVu-haZ z-dzL^H8dE@dNe+_X9T19{k6MXK!0#s+4#|NT8zyIM*8u?&sd!UYLN}tykH1VIyabM zd<{etnZxDOmJuswz^` z@dTqWRYa9Bh?J^kDu3JF=}#65 z21NdV8?7%G!}wkzs>R43lzG7rMDYBPx# delta 1639 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 diff --git a/graphics/pokemon/escavalier/anim_front.png b/graphics/pokemon/escavalier/anim_front.png index 126e47beaeffabea196c9c61836a2db2e0fa9e4a..78d215a428eb2160484a936b6a32e4fb60c8d039 100644 GIT binary patch delta 1355 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 delta 585 zcmV-P0=E6u1Rj}W`bWxgfQ$utfMG%3kKY}SM>)>F7mVWaoO;2SPq93Muq(fh zC7WAL3fDRAeE)>Fz~#4$c>x7yCj{x71w&vuyAIO5zzBY|v<#*?5to+1R7ZlF2FnvY z2)r+&!R?HW#9(m8=k$R0Re1ia0e^1xV}rrM3(gqy79Rki&Jdi-(B-fII!)6rvNLdY z0{{=qE@A{Y$rQ{iV$3k;24MlC4&aSdj)0-V!&v1|!dDX*EDYcV<}8@AngF>Cgag3w zZPNm|k;4Y^_II=ZVFHZ?8Vhg(-IY+pZH}YHDzO>?>O&YgwE|GYphp$qRe#jLwd1aE z;zK&M8sLe546;aH=I%IGm_q}uqQwdhkan}$0s?dB6;6zc5on<5h80Uk#l?+kV39yA zuvP`p0O*+$-M>mJ+=&o9K%;d{53UHpL1$fLdl-afhLdw6sK>Y9k{y3K$M z5bcwq*M}HHQ4k@w-Hj8S-hTp+psop7M3e8+6X_cP1QbXYZNr4$0y@2 X9R4HOdoTp%00000NkvXXu0mjfs!9!o diff --git a/graphics/pokemon/espeon/anim_front.png b/graphics/pokemon/espeon/anim_front.png index a86a7d1129d42fb481e08afef42a816ba39d88ba..1010130c1bc05c39a1a6ed4eb315f4e54568cf1b 100644 GIT binary patch delta 956 zcmV;t14I0#2#pAkUw;FbNklQfHp9sGnun{1G9^i1tvfQjE!wdtYx%NnlM}`B7gI0#E1Am1@5-orU&;k(geDm*C zI^eMu;L(ZDLbwOvR0F8gLnK+~H-HoGU^6A~Ml1Kvyp6sP-z^$_+?O8QJ+gfQ(*|&r z0;{%=G4A=TM$`E@69SjUxDX;&RWz!czd?uRjD-48O-vg_ytH4S2hcr~=jvrWM-sE~ zyK4b6A&#UxRez77&Ao61WS`$(13)3={K{_ubmZnAhL8fFe_jUA0gT~%69qWg{>9qg z1OgIz@bn90fvjKAw-Yzq%f5aBsP~K{%`f$FI0IzGGM5arUY~S8HG%}ut z#oe_+jem^_%>COW?(sj^ziNL)-g`~Sdv6AmcZ>AYq2!&oV7{tKpeS#oUI6bKr#pp` z_q4}vkoTscy!QdbZ_E3JF?NXB+?4k_Lvcp&ZppjmS2t1D9EJX4sa|f%dtIIoyYj4b zY4Xl0rDB#l+m*7)uH~?~7&2mu7>=d9tYT~0Yk#Y`z#a;r)ceS41LWvLyt+=a@v)rO z7m*Igi_0e>`#3(8muq!z$ou~Mtq{+?yRK9FiGCXB;}C}%6wTS-7SQ`J8si9qHmmi& z)yeT*ssX&Y7xCUt6lK)^DspRp*viDO8^}Di23qoNgZ=sjim@M{gALmAK@jA4&e>GG z$A2L+>7GwHOH!`!*k0)W*01+k*4iLd=*)>2YAouBNH8KM-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld-Dli_(i z000AtNklJ&)ry5Qa(U(u)#>d;nL3YaLP@XiM5u22Lw#ft0c|+XmUa9TALYaY!Ehkql!L&*Pmu_x?Q$Y~%# zfQA#m)de9*GZA5h4(ir=Wcj1BkZ`clh-{!ERJG&@K-$~-^8D|MI^?D0;FDWnxk%pR zl?4RacA=VF4uISA&3Q=RgHm3;P0#8=Wzr4mc&Sr(d=yCv)d2WV13MfcV?33kLI>-2 zObFZ><3fnmWPdTpa{V0|(s(Y+k11k3NaE}0E3^QbXZoFa*^Z$~w)o*ez)FZ~t?$gE z;`}TU0nM*JJ^(#DtVQ?+X9-37T41XHN>;!=_jl>0Ep>a@+dVQ`+ zzKEj>4qZsOa(r4$sj6r*^we;N0}P@RmTJFLDc!))4z2sU3_F-lO^x$pj3<`t5;edqFXT{E@q5I zqJ$f*@8wu~BQqC7Ga-z6UpvH^Uf+su9_nUsqu2dKWCQyB{b!>2d2y%jkLo^<_sjM7 zLVWROlEil>d9g|ve468MgQB?#Pk>#A`2t56T&rIHN0nT>t}TEM&!T+&H;OXqzjO}} zFMk^G&qrudb_7Q99zpc&N9YzZLjw!P^Ffxi*ypS=?{R2cx+eq9RLzau$S3jXKQngV zp&K~qf9r1M(*WTC9tQ-E{GR~Tc|6Py?s1s$%m?LufT(is0HH7jFPFJ*fXG#h14Opl z`UVICv@+Q3=58QRo5J+ja*JmfI_HOt5l;1Bw?$vhESI~aG8}%}o%^u1-5~-A+`wMF zO#}qo*GGPgKnl;Ww!gTH#23Cw%E|fR40s+O{`>VWhQ;Xz@-(lD00000NkvXXu0mjf DZnE9! diff --git a/graphics/pokemon/espurr/anim_front.png b/graphics/pokemon/espurr/anim_front.png index 2cd7290035021faf7546b71b1b2179bac1beed86..5aa7b028c7f7745dc8e89299096aab244a7a7dac 100644 GIT binary patch delta 587 zcmV-R0<`_R1+)c_bbkUWNkl|9I zy#9?I#_l_n9(UVq?ARYQ*-p2?B=y1A7^5QO5Pe9pEam&E>SRCF^qK6h;RwJqvi}SL zig)|IG2mV2JH`(K7-+ylOCl6NgAo86z>2Id0W7`{6NnHset*wSkN{Z2h;JK+9GKxR zhL`~?Mh39BF7cZfNWdbxse*Z=0Q0yp6JWT#+Yo?F4~H{o3UJ=l5VCs=LHmz@N}G!{ zp7CORk2O-gc5wB05BS;z@)UR%R}TsBuwx=r{h#fV1-pG7nES3_pNibm398&|up?eX zpzbOa;m3T;;D4z@W=jb4bMAzgg+cOHYM6zkv^yFLY?%^s2BX6Wd=3re!ZqWsBMz;_ zp^RJ+9#i1v@NFo~1inVCa|tcCo7G_^*%)=+ECVf@!!HrAVl!Z;!|1HgNCbqQ8-`*t z1Tf=NY`IF0V3#-P5lnUIIoZj6mwl}~P=1mJ%>FB9i+?=e*guhbmIn;`C+^PjKw^JU z9+-FXKw$qY4>eQHHMLt1MG17nyd4jbI?l13_T;EDwas_zrn+(hon{ ZUI5C{pfv$x4GjPQ002ovPDHLkV1m+29nSy& delta 594 zcmV-Y0O{0yilHGoZBq00JIKL_t(o!|j%_Zrd;rhGp;t zLe_w1od_5RI!HVNoh2PmAa4_N5R%vM5OmLEc+8e9=;(*)k+RzicjqiEGKe6w+z;|d z-s%6UY8jt(_!~REf-8bh+wmI~I6aJA9RO2{trCYG0@Q%eh<^$PQ1c1^31AfS%Yw)s z)=(=Q5au9Q0?uLJZ=_M&;X5y}2G|aYV0%BWUr!_owo^K1u$d&mX4;3dpnv+g7XoC|X=oZ^bLuuW4uXj^_j$CB?Es z@HBwFhllyWz1Ei#7j5LCoU|m6x8Tk};~ZrRJxA|L3XRsA)ukrYHCCmw0yO$P>{u|O zo`jI)P+FaQG!9vF}D gKk#7Thfh6z1Ip5%HB-LS^8f$<07*qoM6N<$g1>qh(EtDd diff --git a/graphics/pokemon/espurr/back.png b/graphics/pokemon/espurr/back.png index f6ee5fae6344ba3326f6546177130bdd5bcdfd0e..d291dc0e605114b5390df21fdb5bbcdddb9c5c1b 100644 GIT binary patch delta 490 zcmVF;C<$5QP)DNx9C3f--~YS!^NEVP^nsyHb7t z(&?nDPhu&NC=ewLOa3jkHzXe0usuwX6z|KM@#MKEeq)vV5U^Ps0Q&ZT#SwgE!TF-# zdw`wgbbxkc?Q3WY)@6EwtrPoo4Z2VnpdJAW>XKv9qeSBfDSt~4x(1#B9AW1$fX*yg zSA&S)3$=g6#0)^|pW-S741`4&TKz$6PWyf{1Jt5=MSb1(pM*Cf8?WB5?tS@>eLEz; zz+ndLJjm$~)o`~5Hm(Os#I=clb8y7w)H!rq;qkp8L%f^^Cp5Uko8A4_fSpq5-If4P zbW5UB|F(ZafPYZ{ggo9o5TKy|bQi<>ESHNi(xGLSA<)(dP%s$)v22H+;a6Z{Vo`>% zV^dt_9yQ6OOaKrxxT{FDyCQl)k6{xLT@6mBG$>_cAc8Rk3V~7XnNnk{ox3qEQxUPk zu$GAN1!gMHyEB>IU)D^zySp;h-Le8bQyf>`gJ;}*?PEJ=*`fRnu+_vT96RV4$Pv|l zk; gWB}VSzpS5IAFouMGrH@=tN;K207*qoM6N<$g8J;{#sB~S delta 508 zcmVO{0yixKUSzBQ00GHKL_t(Y$K{p3Zrd;r#wBpk zXv*r4QCE7mL!v;olKPq;s{uVgfuca>0I|mc9SVga7l%C^jZt{=cRNW=Z~-KWzX zRTQ@vCBFu&XIFr}y(006E=h1cEBFCm%UqtQU0L~>+JbeN+J9u@vwgZIU8oFD9{~&M zk|U{6!Zl6Ex!XbkA_#xDZYj#u$D1q}HSHnjQyG>g7ppMg-K z`V0N7?@z=i7IeJ&hq@nQe0VH}02nx(0qX}mG*J!T55U^hfCQdR1l*G&)(fZ5afQ1# z6PVcDdv9nk$A9Dg?J{6pD!tzX!0)h2qEj!MpFY4sfP}o;Zv&tS0qVXC@7~9rl~JBr z_TU3;od5-s(LhEf!r@nBVq#YMW5=d(IoGIzxs*tYgoC?^vbI;5z3_UCXf=4~(m={c zKzKFBe$0V*ftm91-BPCe%XOM5?{-(FCxG>&RK*l3VFOu0S-Iih+6p8ygm@n>jobm3Z>61(B(fj3%N;^|l1CMo5qmzKb0 yo7zxQv*+r0NCAd!`V{QJUz-eID=u&BPx=9`RGl;4J^Pyg00004J}h#=;)ORnFPrrEgbTJ0{@OTQAebS#ssW(JuL`tv$>U~*^T hkkDwm2l=3%>kTxzP5RG9V#fdg002ovPDHLkV1h@VRE7Wm delta 215 zcmV;|04V>90O{0yi*VSO|3h z005FnL_t(I%VS^|Zh-#-{|6L--}^tI2=MO~5|Zctk0PM7>9-O>(PzVrN{UKK`f!2& zLP{V3dxRDnC7_5gLV)3~lJX%Xd4w7Kn>Oj+Mlynd;ggcmCQwCrWQTlGQrv{*G{OI< zZr{Bh&3D?$sJ{DzY$;d^ilrbepZ8+~5yL1LAqnQcHd=D{tt9+`Q2HP~@BlQrP5QGB RaUK8w002ovPDHLkV1mg5SqK0C diff --git a/graphics/pokemon/eternatus/back.png b/graphics/pokemon/eternatus/back.png index e1b9bc38a3535c35b8798fb7b034fc435e8e482a..c7acc2311df42446c7e9f8005d3c5cc919467fd9 100644 GIT binary patch delta 921 zcmV;K17`g72mc36{YtmRM_ErJ-Yu=cjYnf;Bd4twoh?t?~O_S0i5S2?R>iaK_cb>aB)AKntiA z!UniYR{A~d5o`Sk2?LY>ca^Rdy%b}Ujv4?ZRG{yFFO|~=pjz$$l-O!b zRNtdC>2xDO1APXxAEM-NA87pvC1ju1)6&r=em@nuAhV=+@ME)7sB@8-4vK1egbe6{b9F@ z(c|%OU);xlig|kpz|h1q9@TG$yW&w{`a!_Qae2Y$H-BS@_;{PPuNeE*+j~TWD@HfQ z<8VGA>5{P(0+$f|jud0hcP~Bski<)NE#vsgy~s@x7Cxg#2YjW%nk3(4GQRo@6pO-l zpVjghV#HW~_~flX=J{uQBm5joS8N*`Lio64GBLm{puc}>hzSj<9~%KMEqwV1l$_|mc>Tv;n_}r$nS8)Pqk*NuKa9@J!gEK-T?0$VY z@sjHz1I{n-_fm2!4v$>XeSmnK(!=AZ*-7)qJUilaya{P+7fJWA?SYd;@Ele%wQY&0 z4;TSRJYXNJR~OchW^g@$$Ql5Ok8!-pBp*1p><>I5afYAm5Me@)MAef)2^?eNWkVUU vIviqCWYM6288aQuXo?27hCze>wJhr&7<@U?nvz>o00000NkvXXu0mjfKaaKZ delta 914 zcmV;D18w~O2lWS#B#}W-e*gz`Nliru=LQD?H#7NBS`}xH?Oq?@`?1FLy6( z$$!)ex#ct%7WmWiJbXloz21Mj`t}QeC0`;0eMw?Tn!n`dgrgdhe>1zwq#m$3+$^|! zLBg5U?rztN1haqQLH2mRiE-p{M)!BO$@XS^2v}meyIqVEYDz!$umo+YSrlbLaL}6B z$Hb&27MhnyVD|=-<9S$uZEY4>i!xdD25(wj^?A7=5GYW?9+cB|1zQ3EEufqZ?kDZ8 z7CgooZh^aauHVoWf3eUPNEo01xGQxzZKW8PbkqPSp?rORsq8iY#7b+T+8%{T zr?(Q+*C#;RAqo!nzSb8gA$|RrezRM^z0Wz-1=X4hsvjSI2vJa9DBl1DAfVG#8&H%G z!Wr5KiNM3^aFGu(T}V<@PeKuLS1AACrkowDo`HEyudAvWe}SS*65*FOx&|zK3E8G& zg#rqIGB$Fk{$0oQA~>67_4I?MoC7G2F-rAf7s8s5xOllPFqNcC+aSCdX$% zDV}nWp2xC9sr4UC6I@Y;k3jMePyxx4EV@F`$*u{kj!DOjA_pLxiNCXG{T*|cbiXZ? z_sc4Z3?apEe|+_My*3ilJ%E#|h#>^z9vvIt20fY(mItp#zzp#Tz)|$WdL5z1fx~z5vCdaP6~7?nCq$ z3!dCL$SnJUE5ggLbj4QwE`*1-OvVPd1@!lB4KbvC`Ee@%riHKXfs&ISf zyKM-Ie@$St9H+t4d3I}>Ks_$N3!dwg);x+K$x}5%5AI2DJh1zS1kKl%6F0ujQ{em@ zzn79@e{neEh-L%g>y$1IhxOrMe(cSshi^j~+iBcvwheG}5gdp4SgmRzYy(CBVi(wH z$B71ElEU>6!mcAPe;-BjRPxUA>Xe5hN^#qE9%&eY#Ht#0O5ik>ZrYU*tHVhw^EB)f oFw;!BGn%3SuHm%z|6Kn97<@U?w2Um`000002uVdwM6N<$f`*8yc>n+a diff --git a/graphics/pokemon/eternatus/eternamax/back.png b/graphics/pokemon/eternatus/eternamax/back.png index a7c291e0a0c6197266d176f6ab6cc089630dabcc..7d6f7f48425c5b5a6fc35e11cd73f14fd5c7a94c 100644 GIT binary patch delta 755 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 Uj$Yo)x&QzG07*qoM6N<$f;!pIZkA<{=GPJo>v zWT6Gj6vr)`C13-hi-0Pv(rU~!1bCIw1PEjxQ5V2`hRhvB>3h=)Z1NX!qwFA;zBC6!*FpqG_akSkP$BK*q3UO5fD~T? z#OKcGDu_FF7LtIq-ejU0MCr-QG7yE6$c^O>ond$#!1EI4@&rMKtRx+CtVb`5iEBn^ zH-Q8owZ4*Rg8{4W|9-kopvok5QwC(yDTvFvb?7~Q|9|-!2uhKSi2`;Ix>kyp=EKMD zVo$t>^&N^s2sZ}lg{Xo?9FhVc55;_4fGTz2eumh$n#1^^M??)RKP%>Izz4$AJ(f%g zlmWXNO#zbl`?E!SWm1%<_792B5;_4kM;!x5++AJ)o^o$oMqkaw&h? zSnW^9BTpbaJe#YB#SseuIWnEW28d8rQgB(EVX>TB_JLk3%(~W`Hjb-a6uVfIYtF9Q z!kGCQNCJ#1Ac>!KcR9qe=(2?6Vlmj*1dUg+0)L)&$Hm*}yE7~$EQ(DIls8^iKyMiZ zMKpa^aJ!Qk+_Xy?z2Zjlu~#I)+leg}W;8UTaCqHJBKk>6Pt0(X$n&NxMyB{>WWrj% zr7ufhZ_+uHe}Y^r&FIJsY^@(f1<2#zf-d0^-(Zdo=QSV{mZV6yCBIr-%8NnA7}Jm9 z`hUYEE+I6Do~$mPTy)1cTJ%*7@Ff7eX<~o*VYOPFpE!pdo!0>%XrhMp^NZE$K8;4J9rqjuVekGzpK7d diff --git a/graphics/pokemon/eternatus/eternamax/icon.png b/graphics/pokemon/eternatus/eternamax/icon.png index 7e1cf81026f76273f0ce404ba9865a3dc8d46373..32f5548b7072252d1ae1ca5b021628c112883359 100644 GIT binary patch delta 358 zcmV-s0h#{f1H1!}Uw;8dNklDCr>zM$SfyfQd|~ z7lqJh5#OSuo8}fFD@m&`Hb&F2Bp0&k1){~E`R4JD9*o7s9d~3#kE6HVl1adO6PLx{ zBW=-83UL>FYb`@S$3qb(4Ak&61UU}CGC=GlZBt9jl{X*}A%Dtx(=KWh-q=$V;iyzu z?7Zn^5MixSY9~qHB+W1xFSF0w-pbcn_{)&e&LzrL9n@9${fhJ}Y*o9NF7tQO=>bqn zRhN)2*OzX{U^j(Xg$?BT8Z)NIuv?3!)6IELDnLFpDrQ*D3f z?b~Eq=^n$NTwkIP)ns-w=X9Y$EES@@iUb&B88t%4zvAh6{uEBl7ncO)bxa&f_#p;h z{hcB-KiC?Qx=VrNho>;>wBkv_@#Wm`go1vS*XjUJG9-tiWJ_kT7lM}tpnlI0ZU_24__ z1R>Qh90JD31&@6Ys0U6UQK#69B^_vQQ4wK~^|o1*B)xUVAOfUyp6$Ht)F2`nt@Tc^ zz){)0Gsu(o)LrxEQu=eB(##d9Mj!M=`u&Ra3u<(;nJ&{;+nOG5NnPfcF4yO_&k$El zNkJ8+<`OcdB!8$~%c?ciY0oOiJ{QVn##Cy>fSbb_-!_k#>8`F0kEgaTlWk!-8X5&f zQWlfhhdspym2#D%PDHLkV1kw3v%dfU diff --git a/graphics/pokemon/eternatus/front.png b/graphics/pokemon/eternatus/front.png index 8ab775192fc37cf515f5fb5a9734436926a8b065..df533f59384d12c67fe58d85962b6a190a768795 100644 GIT binary patch delta 974 zcmV;<12O#I2<-@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(th1I9^2K~zY` zg_XZ=<2Dq>NvQQKKKa6U6j`5e8zm;tt%_wh2$8HVe>ku7 zOyYGHL&2v<3a@GhFboMeft>*O1Y8Vu095#N=AC}d)LAe);gn4m!dPqNG0Cdju_g}==#}GbjB7=^`*5Sezw+5HUya4 zz_I10;_!rt?pHLrVUdX%2oAGZH^5o|DEK1i9NXybG zblzp%{M&4Ja@&7Za#Jn^BCU-g^fNf1)4e~*f6qRt*yx2#FgQct<#nD7b9i@u+m96S zf^059gOX^DlfCQve*W;{A-_Fkgm?#ht^gA8Lv+--y3g~6JU{vJ%H10uG`mFw&SK}N zbyLUh?#{{>13ELRv52ucMawc2xV!nHb>VU_y|9Rr*rl+YcK+3VIHzS{eBx8g~{d( zf;JIvc|*ZX;d^>=H2>#mx4{$|3HYI8f0VhnDK-Iu7GelNPYVzXM>o7hgZivEfP63=-3S0 zrfvfJ`PK0sLW+Yo15>p7Q84G976ex6S;RQfA`14yfN6P47&b@7HXi~s-t07*qoM6N<$g5kW>9{>OV delta 979 zcmV;^11$XQ2;c~iB#}W-H~ zNvQQKKIOuA6j`5e8zm;tt%_whFp;({e-(l#%=_^Bz9JtV30XeOC%Yf&6DIM!i=p7t zV})1d;%^8I{+$tI`nq~jE3YQI!Ca(eZKrY8$k`ot-zjwUn}wcoQ%Mw zq0a?cPy`5!K8C15f@eVYLKHHxBRk2q0&o#W)hxC4qd3^=W51FJNNa=GBJkZ$e^27U z%WC$%nssb7duyH1r%TZuW26#qZCecOXmtH-DcWNTr~1-b5IkE(=HypP+*=(47x*Xh`oJHvx0%=(~h4#CwlYg5H z2e-XfB{$_#Akx|>LO+88+MWABe}48!#YQh|g2532FR$}#n8UmK+g_xI7i4n@8k9tH z9PD4;_wt7q5BcpWBg8x8a|MuyAEBex)qS2npYj4CYmaqu4oW-PG~ByR$OJ zfX<9+EMlxq(XtGIyPGds7cK|W3yV02T?*UY%fH$W=d>)0Pdv?P1(xC~f4)@pN`)>? zc-nW9z1k(^?(aGU8H03jCa2xP6=hnVkjVXR^0h#Xe_;$4)*OdRpthRUDXUzfR-Y79Y-2usUg%ccM_}5bTuAcopiNGi0h%{}Q1ze|;!oJ~e7B1H_CZ z2PgkLK2D@a`y4IuH{HV}z$BKhhY|=Jz+MqVvErBg=^_Iwq&rWrKmPIWu&N}}k*4vU znIBWiOe~w0-x^I0f=b3(D330WF&Mq-JFJpidL$|9!djfMwH{4@8CcVOEp(L#7f3)Qapi)u63j_)P)%+jU0nA0E#@h+&r(jKHNY&DUBcXIZ_zm0y zm;o3JJPl7ZSY9&yMC|Y7&FHTJwFD$qMbMle|iYq!_D6iaT@U_kQJTC49 z1l0QV^6YB!)aL!O`*PgKu=5GX{{a7WKW~5j1vDh+bsi=M4L1M)002ovPDHLkV1k8x B%$fiI diff --git a/graphics/pokemon/eternatus/icon.png b/graphics/pokemon/eternatus/icon.png index 84cce895cdda8388f289078c39c0ae4fec5fec8b..60797c604f79e72776c789b68a8dd0161682feac 100644 GIT binary patch delta 435 zcmV;k0Zjg^1f2wsbbkSpNklb{m3;VIkKfo!;NmK88fTFKcD zc14j^-lmtUlmm&?0P-pzn^&o3E*3b@p@88k_15ysyLBCBcq!Wj-Ymffb-b1!-#LP& zN0`Q5ST0M%C-B=6)MNoMACH_{)zX_-i+4z%P5-_jx+P{%7z6pwTaOkj*8nwNjQEm% zroBC+8m{JNwSVN6amGaHaoKyg#iNUWPVY+s(&i{|ur~tDID!^nx1sK?i)j)m- d%6s_B_y&L~>002ovPDHLkV1ki+#rpsN delta 450 zcmV;z0X_bm1gr#*bbkN`bV*G`2j>O{0yqa>eX+Fw00EClL_t(I%f-??ZiO%m0ASz1 zLY>}%4^gT2c}vD}jxK%Mld>d7=$YP9i3OY`A{}rYLLrZ~QnzM-7-Q$>1Nd#=aUS?E zC)y*(n1VEWAaL{qLSKcjLmNaufP-inBBd+6dwsjKLDNEbKYw-6=1)#=)IjT8vZC|J zg9fl|UEg;ooKBj>fPL?*8RC^Ef~E7^KRg+86_`Adc0toT8arsQq=7R5UZ0GcTYY)q zaMp}yOgrK;3%<%(dx6Ar5NtZa{?-9&SrOeqoX2E)MxwGk31PBh=W{Jxp`i2K%S;r; zoFVC!B)(lbVt-_@ zK`WR_PzIBmehFH@RDueaTF?Tf7PNxd1Z`llAXGs+m^*yG8yGHv{00V!Ag;g^K^2%H sr~mE?)Con)bS zM%%3hb5xM6Ab7S~6bKN6NwxrK6l*rZh@+7XjlM>-7

      H>_g1Ub`*nsc z;Q082_{#Fr2FTYnh-Z4ntpwwvCPCT-a5)&o-H$6vWc7NGPo?M##SV22y0jT3p;Pe3w0+e_w<*2SP8Mbp?NPqe497m{{!{*HzV7H0ihS0NDc#JIt zuqp-ApzRL(3KxLT4S;FJX&?A|4#VHHR6Z{lrBI^<2=okAL`yt>D+21;+--ry5(6PV z5+JMdCrLnue0_ei*DA)s26!nLEauJuuU|F@V*pK;03;*`x;FqUTc#@#Ar8+&q@51% zbbrd2*Jeu&LjixWH9(T^DeGiQLiN}BCj)AC>m5vcr_^Q(pFI9TfF#NFfWdC)!~g9+ z-F9z?f4Kx{05;FI3Lrt+g0>*UjYV_gUFk{a7{`q#Z8(mh90Tw7s~tycRJ3-SjTE3! zR0CTyDL~I^HA!ry2%L^4iDj{oB5?gylYjC>bs;t_sL`aD9aR@l=CoIXw3@_1nKAs5 zz9+3MXw~{fubVXxhik{_chgirJbrk&Tm#({Y80(;erNB`b%`Dj*-^~oFQXrquhu|k zPQjzVgT^O&?|;V(`R4$7lxLhAgXOTVYXeEU_Dm?mZ~crG#M4{@r$rZV;0R5#)qm=e zu{=F1)!m+jqU|N|b~RwBJ52*{KRxPn0`9b5KfbFCL<2JH0CX2UDpUrtY=Eo_So>%9 zJ~3q=Wdn4a)1;$farZ+~8%U!`UBE1sEKC{$X*}vh3k+%T67JK+KterZ*@X^UMgTyF zfKHJu>nRO%ijg0fZUI-JHjqjlRex`4K=%UP55SYA#VN{1B^L@1=u!10h@Ld?!5?bD zxB#6K96V~`tO0A#5saf$S<+}SRL7D{9e2RKk*#2qOx{Pp=1!#gKz(=Mf2#!}MZuVk zwIy-oasUKF%SV4m8aoJi4cOStzzHH|DSzk!cw9J^qrBW4FiZPG(-5$+gnt5jYWbe> zhuT0wfg2Sx#~C5uGS~Ax?GNY<2#hokb8u4PkfDe7y7mVY47mFN@Nv5#5EC_EJ%2!e zp=Y6zdItX9^9OP=;XFJ+AZk}l&mRcv=f{2@=(iE&%&_^y-v$s$54`IDn1I;Z;S+Bw zFrtnEw*E5?s{~iVHI{)AW+PvB3*qpQYp*GG6Hr6{05|TX4Qv>jivR!s07*qoM6N<$ Eg5q49@Bjb+ delta 1453 zcmV;e1ycI=3y}a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld<>Al*O6o8R$8h?FMkgX7SwptW05QIs#0BIC!Ho}Obkq))~Mz%D6 zp#P@t-H{Y&S@zI&D9{@S$nWEO$KxH}XT$ghNAHgKmU9PS-US3PT!aumY^p$G2umrm z@rDYnk6|3oZnzyP@Bu$eHL;$<^oYxC&f}pb&ekUA2QKe%AT)5YHo+j^n16xu;f(-s zeV6MI-&n(RV;a!|d|6^J+1@&Kz-u7L(b7%c~mb)Cg=IF^|Y64|W!Z)eCDs=vE)%hGC1y zF28$I1FaN<##nJ@xm;eYGJmuI$HyzgmzJN_K(?wuJkvAoB^V#n3DP!z+rh{mep*^$ zQtb!%T#9jfshvIf=#LMuB{L|IA;H2fuqz*Z4n?&Y)OE7gszA;BmxmvP1_}+x$^NT) zInBPCmq{oR{QJDfs)zS;__o zG!R%0-G#U~+n4ic7uZ&S8PIRB04b(LSuUWsUdm+TL_lnf9MkRXiNqt2zbuOi5XUj^ z54Q1DIW)3*Pd$U2A}|ADKb0cl5vRTa0@w0;@W}ZTfoUO64`!J-c>Ly?BG4v4sFurGOf=IbmPm1`v7xFrIMQ1%LjW!SdH5l`nHfDb#2H z0yBdh(GV}+i-5W|cN<{7z(9zX1jzFISrX7bUwyyXTNPtr4ZIc%HgoF(uWvR8V*rg8 z03;*`+8qG4Ez=c=5c}sL(oPF_K4#2ovL*YWfM09{kR*K0TG^6N{bH>OjJ50SjlJ9Z zPx$QV-vmgK+<(#Im}mSy{<~xQUzZ>az~Q+?g0ux~K!_WQy5o&+wxpOJ3c0~?v}0g@ zzu9rLMnx;fSxW&LMK!QNlLGXtMw7&Pioj`Ul33(xDFWATG%1^x7h>IlYE6pSL3sgX zPC7M6qe(236NXRH^`w;rEgQe+OtS*waOF7NX_^X%hks8l7b~EhLam}T%pUCgzADiH zB0Gwi{Auw0;>`*ecRUI_Xn3@9^($t`t^?>%o^f;tmczcR3?yyaGocW__aj;mPcsdi zE-x9&($hlq_DLwtRvxvj0Za8X4M2Z7YfS=r+RvXpR0g5}8MXkrjUE*$ z16kC-q<;-qyQhynGi4w}4YZuoq=S6^@MBULNUcd;N3<3!OlkwEJ?d2h^lAPY`e|(- zVOoin4qHY5K!|`&FC7U{Kk9{Q@!6=wKM!@Dyq~<_< zx95MY1tUel7!S22apiIV1bxd#e@JRO2zdqAo;sL8#4P0xZ2&(Pj^!vXH+#&|{!kAD zY%HMwpIW}B{Gl?CP~brY&2a_@xXkr@Px}M90|EmL#2lQIIHd2f#vf2Hp!Wmd<8ebE zCTh-_KOn%+vrtJr!@KSefsc!WT7vp*0x&rkg>&>aKHnPKyhzX>3e?s>NX@B(6Q zi;ujGz<@dm*!a&l>=N7ww^#;Bn0;Fp!sR2kwkdWOP(gnIH}0hkyxGfj00000NkvXX Hu0mjf0*IB3 diff --git a/graphics/pokemon/excadrill/back.png b/graphics/pokemon/excadrill/back.png index aa979e17818dca6b647c77539850b6a748817c15..e63f5d7614d950db20fda4e98194fdb0ef71894a 100644 GIT binary patch delta 598 zcmV-c0;&D61-=E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vAa{K~zY` z?Ub>K+dvS8bwzNuc#Wzn3|dm>9V7(l0x2fy)ScXgE24;NR9&Gos?X_M1w`H;A&-z} zu#Ocz64+HA~*~9 zLWr{pc}YP4DcV^e7Fr>H=W^QEDCArYvjCeLmBl85MKcQK6Y$Dot0{nUzUJHx@hoFe z6s3x>IA4kVGhk8V8CEHghywlw7c$Ctq1#v+A_N|KI|7FOkzlc#aqJ@zYhvv?z#?<& zgCV$+@o@xb1v!FgL6*@JwDHw)Qjp!Gz9E9;q+oMbD@*W6!QHlh&eyFb>=5t9g6+0` z4Q~}8k;MOBV1EU$zs!|C2Duz8T zauT}cd83ptTynvKmxPj&fbo9Bo z9jhdusy-pGbAh3MIt|>D;p^UvaB%xcXCgwSn(tFUs^8+UMdaI04Jb+-s?dNW#rpRT zGlIU!O#qOXfbP8o@{EQ6L13wYA%i9$7|$-bC4k`%O2MEgtwf*gMiLO%lPEhe3eL@IgB_;~L;jjp~NF!wtNt>m=~baaUu2F}7jM4Dq64k!86IaWS^y zhZkUxr3tQFpa?wn9uK6~@kVXqx*@^wrq?~t?Vp4j+8w8T6rmEEwFMT5y*_Edtd6@L zP!W{jjRzzNO+hEVe_D#Boe3& zcNnmfehSeA5e2d#cohCuh#UurPoNnzJeI<*GPre!DA1cBE((d@ch;TrBDDd;rEEla zxv%!!Zw$cNhg5%>jSe|q5wR434Y7F+s+oIp{0 zMzFU*w;BZ=DB;^dk8rg2qefTwQdU34K&;+Ezee)?mjW`kL8gG9h|Qm$dW3k`03fgd zvkwNOg9ZR8t$#!VP5&Cm(Z+>2#|C;+(perO3OA1!x68E&RXm+Q+Mj^FNqm4HSSrwU z&;*3>-bJ?rL0tSnN$4VS6LPKp!UQ~XC-R1hQ+-h8-V+clfK19`+oJbBhQXOf;p_Sb Z>o0h6ccy|L*HZuh002ovPDHLkV1i243XT8( diff --git a/graphics/pokemon/excadrill/icon.png b/graphics/pokemon/excadrill/icon.png index d7a003e5183eb6ae69c5fb09d69621471913e981..072719d7261f4ad3f6ba0ded0ab595258f31a351 100644 GIT binary patch delta 328 zcmV-O0k{6d1D*qrUw;89NklE6cRTwT*+x5ap}F+7TG?xv5S;EY-x)W{4tn# zS56MF3KGqyVVK9q*drf)1dIO#IPMv55k!3>oVQX7QQscSihn4GY7bcgQM-otJ%elv zy$0cSU|NMK4z7eOrUst+my5e>1c**9Z5^tg`ev~hbBaQcN6sPi+309RHK9u&kp4il z*Ktx(=cF3A+WzaENF~5K&tm)>TwKdb)$(**Z-)`oyp?}~vo=1TFq_gLJXYWspS!(f zAdQIQZc5{Ej%V=fKb(gbh8=`K*$P)h7+3Zd>P;9Sb=o}RG7DozVRde5H7E(=hKg3p zvOzuzbDoH#-wX;#7);bCw;2RvVP-OWhgleo-Ki9m{6OOme*7WHH|NdQ-Qi7S|0$xE=l=F0c2E3r+tvJxs17wVi^l1o8urB#}W-e*gz`Nliru=LQD?I2S_7q0s;U0aZyvK~zY`?UcQ0!!Q(u zjmZP_iaP|fL?U$YRJsJbL_%co+VlxpzlayVjvH_H<*F-L{)tJZcJo<;IUh&&T!FJ} z)24rv)-TWfeIpJ}{CwY*^o%G@B@v0o0g?!S=wU?8z9;%efT9ipe{o)y3r7_K03_b~ z^d1JQVgNwDy86aMUL@eIX+e?L5ooOfu^gfzCf?3F(x*lQLT5+2YTrA3YTHsUfSD04 z0lT3+S?@PQ9D&vW97iC`CaJi!yy@P5IIodVLwlq_CIHH&S<`xWRt_SBqjR+ZJ4Be+ z9=kY;q#uFq`_t#xe;8580B9+PMRyk6^~1MOAZ7`sOM4_EE?47i1>sRl+^&KoiEybI z@H&hD!X%-vb};UI4S>I+HX~p`I0bqEX#M&X!+4Y004g&FEWb<)W*{zq=@ST(fN0^= p0%r#UgX5+NW+!fcqfLLTUsdIJ!6;)J6#xJL07*qoM6N<$0fJ#~s+#}+ diff --git a/graphics/pokemon/exeggcute/icon.png b/graphics/pokemon/exeggcute/icon.png index 098f0f93a7df314f09d9a5cd0fefe36fcf3a5570..7feb51f5800a5686a7811e7699f0730fd239995f 100644 GIT binary patch delta 325 zcmV-L0lNOf1DgYoUw;86Nklx(Y^Fu`rqbben;`kvOgH`yJ^U{95#R@G(v9{POrT)GFw~l z{6^N)o|YEZj)>8bOu(zk2v(x7an9*BJyllG%Q1G&WJyZ2hc@(Da z_QD*<3JoiQQ_x|QlU>0f=rAfWX$4r#I-HG2z*#-(;6Br@%LVya2j|-asNkRjd%>~7 z=Ay6fcq8$h06wAy)H#`SmQ@#Y7$z#pMVPw>+%6IZS?-G^Zfp-3Rk!y6$_HUm^Y{D! X*SojP#qrnH00000NkvXXu0mjf9o?Fm delta 365 zcmV-z0h0ck1H%K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld=6JbT@2 z0003dNklZ|{qWFWwe7150)$Rt6U>#RC4R6n*)qkScQta^sjcz@zDQYbu zfklykmyPBmd1d0d#LN897>Q5&m^q?B)hIC|L=Xma*sIAvoXk40KaXJb2gOYp01$*3 z+`9xu@Sspv>scvez3*O6YP)D?Wi5cqE?kdo28s#9{R_F`zkU>E9CBfHXt-kTTbQ83 zBxbXLUC?2YsAf|OBf02s)I0%e)S`oZPhVGZ^otJG_X%J{K?m}jVubWboeyw9{+R%P zVxUUYX)MVh=-_6o>Q$Jl2h^_;23f9+HK<$%IpjXD`c9aX{Jp*a*SojPIn>;j00000 LNkvXXu0mjf#cZF2 diff --git a/graphics/pokemon/exeggutor/alolan/icon.png b/graphics/pokemon/exeggutor/alolan/icon.png index 1e28846027a6e1019c7f77f9ed8b3e9c4e16f6cc..723d0a4ead441c58f1148dc6385a797ab5b54dfe 100644 GIT binary patch delta 450 zcmV;z0X_cM1DFJmBv%J?Nliru;|mWJIteu|<&6LU02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00BHnL_t(|oW;^jYJ@Np0N~u*T zs{ZxT-`D=nSXYO>K9M;-AD+9@6W#8yC?qL5?cPbc{ybaoK6ifK1okq(IMSvm*)`_A z?oBBJBK8@BY8)F9vW?7JSCBxiS}kq528K>{@(jMqrD#<{M+Y~`Jlq8icVU1zV8?!W zU~@IrYy@HELP6sMCKNP*2?QZxAjqZ@AoAxMj2H9+#`(to2WHPlz+uh^ILtl*4zmx+ sVetXQ#>YT7EIvxYVe#=nn*OnmFSIiSKifZ5bpQYW07*qoM6N<$g5?*wCjbBd delta 388 zcmV-~0ek+K1lR+RB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD?I3)cV zz{dap0Xs=VK~y-)#nMe`g)k5R;M`!&^PsewxQ#2fdWbGc=}AIG57EU#>;;5iuh7M8 zM92%gh9Zcm+F~Z+u7zfoVKP7AW9;aF0mhsmf!G>|GJl^qW;VTSeuL@A=s{tY;e0(r8P9a`kbAEC=uDa>vtFNj0mur7l`!`cv zo%;Gr=J>pS>dudJyN9BXCH(-`NxJ?rTe$(8*3-z<0S8t!n7#;3k=eyTIu-3^3=|FAwYmS+f&_nF|F? zGni1&3?>kSh=CxR&Vb09Z!lia4;beg{~wqm9|4CYBjB+32skW0D2LSt6gwXS;jsEB i35V6kJ8AmIKE437GX+1lU)65_0000Lu2pya{Y6?DX(4j&zpTwgzCEMIb9MDaN};AX0dPF`SUK+9$}b6Ck02`>j16}q6-m1^b$`Lp8ZLIk@aia9)g ztRQM!?1yq2LZ{n}>=i&8{KGbcPM=0?jgqzLcq3Qir!9&fGBE3zF)6-8u}-N9qHz_X zSTaOyRCW8~NvyE63}DibVzB@4^Vg=7hJOYCd1z%s;S)dN_tVDD<6;d~4sByi1*`-& zi$51Xhv1GhJW$R+QmRi6=y=$HAtxjxKjOYz@+YpG3~Jo=$=y-+xReMT_i~_prKsyB zfSW<(Tx1>(#yWtC5cxd-2BYp&LY@}E?A;MM$!;9SH;9>+lR}+Fb{zj;`sLHB5Lg^S zX4NH(Z@$G|+%fQc_}(UfEh+(GkJXmL&EWu1!z>CGUM7Gwo{!%Sbt`{Bw%9p^V7kHss?{sP8Y!`{Tkr#t`v002ovPDHLkV1i$SGLHZN delta 659 zcmV;E0&M+)2KWV#B#}W-e*gz`Nliru=LQD?I4T;V?Z5y40$WK$K~zY`?Uk`|+b|4< zB|U*CI=cu($<>UR0bq3YSV`eUt#yWF;T&KvCdSN1Ei_h zPGNbyBC713CMmEQCHtY?x{&F1$7=)7d-t$)A=8v7wGuowe--ceYMfFd+o1rp?irQ* zvlnfIXdoW0TvSVhD3xe#zdglTFC_z*H8>e$KYahONu>%S06(-*tnh&z@$+e8r*_c_ z8-u#jssU1hn^VErPA;e-9W|6ukd)ff11vQ=5M-EyWJlcBOZ z7p7m@y)r>AxK~ZW=;m9j#T^09hp&AC=tLxd&ttZEb8|RA)KH6phL;&2jpyT+L)-HQ tNGCdnaD2(Y=V`iq{@<9!Z^l}~-d2YbIsgCw2>?k&PDHLkV1n`2Hl6?g diff --git a/graphics/pokemon/exploud/anim_front.png b/graphics/pokemon/exploud/anim_front.png index f6c8cbed7631e212fea0a7751ac498704da9f34b..c467275429a6fe6b407d26c56fa01b1b7fb07d9b 100644 GIT binary patch delta 1830 zcmV+>2if?W5AY6D?{@iZi~MLup`GJRqgABIG-iCQ5;ArHN9&UaAwtne9+e8eek~X>$1+ z^1d_c^_rYrrOF6Sf_a#acW37JU>JE@DjSR2vQ=ByZ(3GkA%9S}s#j~}%A8S_%H<1I z)mvG!Ds$$qHZ05Y>Xvo(#37a}>jDDH@MAtu^{!g*<3ylzzJ+~3v{^lQC#B|U)ABxj z&}6qy0G4Wo!`2zUe{G8~dBO~*8ivE0Ov->U4uH8bTk|DYSHPQG#vK5Ju~POtO_bly zcHlKwhe`MiGk*xWY}Gxrl~dMPMVQMU#}Ug~JNU*r+wi=K+IseJF2w6mb3$xwS``gI z(Xy(U>rvF?FaZUixmg9^YPn{tb_d}frW0@OBP`vI@us`pcMWn<0b%<>ce3k z5|XA@UVmTw@t$Q}wKG7vG4=I^*U~d6(I7)}Zr@cCXDMmfd1H@08|5` z^k52fIL${W@sNvP001t+r8Y7S&OtIDfD7pivPC!<09VA%HW9=j0C%24tq_O_elCZ_ z0h<7LrOi7@Kiz?4{?t|o+_7e*fq3k;83@b4ZbYZ3INLehUWpet-NsUOr!jvFqCfz!a24@KCX@e&=}iTvvpI z7T;XgQMb3#4kdwO>D!_3Nul2eeONZZ^B%)fZ2LYbPGA^+zkZ{RGqI(>83`V{!VK?? zZ;p=-)n5_)a;kG#0HWi=@dlkvs!#4`Q-Z8+L`Q{1xp5fNndC5Qq&VgAAK%^ldVhRm z%xkcwZ>H>^Se)?=XF67uUg)@l@*uck#koAtOfR6Q z&{JMh3Sxe^p8E%jETtC;P=3(RdI16ha)JcrIRcr1VBtz|sb$1yS0(s;ui@O*z*+`? zUhs(d$-dgA6!6A^fK>Dhs34#h?dJ9`S`Ogx!W_r}G>jo?#qO)*SG7$W!+(f_p_J$Z zK)n!OCW({D0fErHTdraH;}>oyz2GrLMN-d?5)fgi^jAPpFBAZe96UCd{va3tPZ9xkW*;~Ty1rd6#dAk&prOs_-9 zOJnj7fQ!BEy{by?9Dwjv?|&4r+$SkXpY$%AC5^%qG338~(hwM?!+v)L;CXlh@DQSZ zH0qwKYamk)9!&fpez=D~ub%A!AKec0PeQBSKmbCuOK9F)7EDsD#0ekFWdB4EvQ&d` zhiKQ?Ul_uHGuBc7gnOR-C?KaNK!;@jW6m}LARt}PjtPMKQ~-o~ynmeuNVlB>exAJ; z?%M;X6aw5|DQkdC0SI?Ccs@J;PudCm&&#K^#W*C7dKrmHn40izf zX%0Z870}KB+ZpUV$$>K}cVP`qRw++n)k{0U+Cb?H4I60{Ifm@t-?rf( z4&l!{x^4^y*+%)nBkiK0%=*JCqE0*d2mC`548=atAIxlBU>_)p{edVS`9Jx?KmSxi UUU%$OUjP6A07*qoM6N<$f`Myk_y7O^ delta 1873 zcmV-X2d?<=4x0~>`4e zaC5~`yqOcyNTU@;0$dS+!8;+1kwPSq#z-OUr8>AcYCFL~8h>7MfYRjrH{^Y1c9%=% z$SPF^(gD&unvZv9=J&|5%C=Fr*0)WkwYJ}OoX%RH?KE$<>WvknY}D&FoMy1K<1|*x z-|RR}5VRfV`jta$IL-|OHsQx=pc&kD;K!9f?V}#{h4Fs#>YdcO+g&I4?UOFQe+977 zvOK=a#pBNoIDc1H%y6w^d7{ge3ON@5*jvjr-+*<6qAOG~06^&l`r{TKNTf({>W z1;1ei$u^yKpto|(xvmL&^Vdnt^VSdl=v?mvK|^mn|2Q|2-MCv22m4OL08q5NYW8j% zcLhwq0O;;F0k~anSvw_Ai(@XHbo;;eIBp{dG=MX}>VFWJ!1&OA>%_x;r5fJ-x&fLw z0Q=wN$G1`dpr8DbKdd*b_ZGku0QK}Ax6%*?AXEwUuwiYgNAP(y@H4ESo2K9443aSd z!?dgqluB}-hTBt&=}NndF<(*3@&UVJfRLBX091Z%)tCnKHevfAu3q6l08m0KYq#sG zgc%^>eSaazy9?s+{U)q|DM`q#K){r`7Af^fb{XFsa;Mp04F0H+E&z;~!(pEjl4YO1 zz4`4U$GPq1fbtVY&4F;|{uF>W<8d2yZUDsLwI81Vr}n41GuJ0Ly+v(aco zu#$}WJmK7>#jPR2d-f`uW&jMCZWIr2uK?gH%LnOnn!NzRH30M{v;dd^X4%;S7zkF5 zP!o}m;RFC&gwI@LJe-5%KnNGoo8*h|asaLf%{LJy5daTfL9Gx-2!1Y)Cm}BYywdiA zbbp*3!7~5a*B`@!Z5Dus=Lmq4qYT<90B~~gij;t$L;~j^E4m{Bktloi==n-!VK_zC@G#vN`F`d@IO62977pLKW3-G04kxZ3cP)HG#-!t zHox$M%Ww`Q%dd@qjCa3+0scJy0WTj_QQ}j#0@#xA7#=GA#Sa4Sp6|wmu@ z=H=AqvI4}H=kq>Vdq>mLoYhjspe z_OQ-BKEwc9?H{#|w4V%OCs+a81%LAhK0D}&$5-v70S^G!Ll7Qld-(4K1TF6g+5;w* z2FS8sYzCe133Nr;9zZY1wP302pjd*7f#4=qwO*LGgz_M`SvWT*4Hqv5{OY-k|Ym0rT`K*?)!@)UrZ zqv4~bPVN$b@Ye4Xas1~Q$)1mHTqm8%6baNL_*fv0} zAR;XMA$fX&z^I+?0w3K0^cSJk?jQi6IwY)YJ`amjs|g||OW9utLVuoW5bhA|Ci^Qx zcyPvgMYxyQj{@?30StJr2zT!g0T7TOXh#9yK8tWq4s!t+_Dg`4*^A+RIDtwbAm~=z z0Av9`xbw-Y=^1#^QAmGRf8SV)R{{|3-XuNKcHn6MOi~L3r$x8}FwRN+N^JSl;}nS3={IVtp$tIXMGD!%WPh4| zFLEGRN=ExI2To2G0IdMzaBTb{V^yGBf<6D&5t`s%{+)Sh%jknz2KK%Jdl+Ay6E4{T zSiFhb_hR&qFXka$F6|e}bt_5hh6kVzygv`|ejA|bI8aRecS@Y$e=p1&k}f^EegX&C zMft%a?W3VA`@l=6*e00000 LNkvXXu0mjf{2P5P diff --git a/graphics/pokemon/exploud/back.png b/graphics/pokemon/exploud/back.png index 98d7d5b60d58f4a388f1b0b01687230ceb984abb..68aacbe37c451cf3377431f57b320a8d8f9bbd56 100644 GIT binary patch delta 716 zcmV;-0yF)n2D1i`BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*pySK~zY` z)s??)+b|Hu9T44<#zWUID6&R9(-u&)K&&g`F@Qo;yJ4YACpVGC0<^3f`bOzcAY;1q zIrgUMqhFM7EEZyG`$W z092n(a6ymcPl+~!CZesk2JaKu5Dd_l?>-_VvO5u43x5bAvq3Tpl>QpzM7L7kb_+I7 zYGAwElg~~^Jz(GBL|*8Sibkh$IUrt3nTEBfvz+L0kdrqdt96inGP9et+iI|A%*|ZN ztDMTgK*XB{IE#Y$Rjw)3yEU2sGyxbR72&Yc(Ch-w;c9=IDu7S_f`0sdKj>4mA$ed7 zJbn1(Hz30!VByBaEsX@7NXh|h8EBjN_oYsCZD6^#OF9cD0d z1HA140BK@cK)E@8ZLrgeyJ^}DJk0VW833c{*FTMZ5@}uVQNdmbJ^J{!H5fC%4kb1d z=RLXR7q2xyQkpA#!@Rb4K)3D}3~&$FL}1$VfLEIZx$heTQVjGAs)NoGY$KZcMGp|w zn6TdhVASa%RK;rs9qV7sqCTf z5>t0^M41)5%jhAt?tUjq^Pu`b9PR?F>lmN|isty16=19`Wk(dc!PAw!EQL-$^79>Z zfR2^>Z>6i-WZvN!&M(3a&@M-zS2cj=d|BmX4d@2YTkeyA4In_!0(EMaa&>Lrgbn}D y*!%7t*n*cQRyr0{v88)7`aqJfg9Tioa`_L$nBEgz4Qdbo0000hp0Q@X$iXtM70;F2q^7)pedS_+S=`qcw7UA?WjDP zPI|yt;ssks4~wRbf8};Sykac%>Y~hY#HVD~Xw2$5FqY|NogUQ<8*$|`c9UZ{2*i2a z0JFgLZ*qyL9QCnUD}cGc!W*8{Q>VbQmyFv~0W|#~e*gV$Icjumk^&>(`2MF|02M__ ze~!oJevr`CH32j=zkVFLJ$M%3cy-5cK1I2Wh#EldI0bN8e^eZ>RoKAB1bEj20Mb~s z05>`9MOQEG*J&5Hm*sIh04D1%f7)3Iq%3GuL~jc@`S7rDzhTo-FCbYXt;y zNjrQMc`a{%Zastq&>2KyfoRnOUhYFQ-!}rt3Frw_gH8#y7S%(j`me870lg!D2)a7Y zc3PufrCEo0ZP{y>xe=&c$(J>PBz$cUT&5?S3Q z^;XP;zwkOh8XtvBYCv4kWo6e*)(s#JbWQ^HAOPGJIjCJ5m&sDU348jX(f8dvumvs2 pW#m+wZOx<62jZ9%G~iVa-9N;b-V?(y_uBvf002ovPDHLkV1idbNJanv diff --git a/graphics/pokemon/falinks/back.png b/graphics/pokemon/falinks/back.png index 07fa248b148aa323996ff560d8e92212564aec68..925cb34975115050e216aff5d0ea403775ef0d98 100644 GIT binary patch delta 436 zcmV;l0Zaan1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?Ub=@!Y~kq)AR-6#vRzGOa``^YxX#tkdRm?@*7l4eHkh*L|u?FJYp5s!Je_;v7Oimc*MIKn5Wo&J)%L$aR1dItRFjfx)|b zlwwuSe+8)nP8~oHv1#hL2bh4@z-@o6V^uYE(bLV#H36C#r~#JCrV;(|-2TipKvb%# z&r@cnd{WoIw7{xsan5fBfag-DDdKi_VgTL)gz5rltx3w^tq0(LsOSLu;PQ|%+6SoW zfcCsPq#hvb6miU)vmj(Q=>z4;0BpkA24b||6Aut8bb!5`D#ZO0dQ%?tXPQ!B9ZF@c zI}ey1O$f8n?)K6q=y}j%p#hHe&?){JpM}}cN~Km7+bw>1YkVhN2&L7xAKnmR5&ntX e>u*&Q{Q!|TqHLoN?yqYA0000%`yN00dq-2K~zY`?UYS!!Y~kp zse6IAaTn}TnJn1VOtX)}2nmS|Am5;3)yq(ML(~mYR=EW?tL>N&^AipLvxpSGFY{(z zq6`MldWfQTbfKbN{UuXLFYvC`Nxy-Dq~BnD3wWjU(-_H`9~R+)$}Y# z6L9PSiimYxO_TG0mmpk!qhndtRettzZGd(LW`X&lz=Iuf0|<17UJ2Lu$?c9#DvUDQZ16W&<1cDMD4f3e9}b3)v*`J!eW>~ekvO7k T`xY%c00000NkvXXu0mjf(_y~= diff --git a/graphics/pokemon/falinks/front.png b/graphics/pokemon/falinks/front.png index b0c99a957b2403465f6429ada0ab29b4ff7b3e9a..5aad0360ba56a45714323fa626ac58fae390d533 100644 GIT binary patch delta 757 zcmV-~IpJot?AZ>y@&bZ|LqDfcpkuyR7+Yh{suL z&4W}7Bxma({+4l5=U$C}Fj@tUR%7R29CtYLwkkkm+;+!br6gof1x$9UB)S{u!2C2JM0oW9wW(m+}>a%|68Vm7V#zy!nEc}5#W4r8sgD|(-&(PusU5YXD zhjPG_HrKgZ03$*$!=ACe0x`VOH3MjA%)sZhrbQ3{&^?g+KL7wOTj(`}D=j=}zAszz z;`t4LfKN=pjTX6AHvp#q)D>DlpcP)VxQHjl8?0&R4xy|JRS7cKizl<^b=sF&637T4 z0q8()=bpGmV6{Q9n|G3EWo;)^QmaVd0 z0Z6GZL45y>z~O@lED#_{E|&`hp7@49F!94x!p;H`>}|eWE>9qn`v`awf3O1TOO;%L zUVbJAivswQ-+L2xOLI+~U()M&B^NE4h-({v;7_dI00000NkvXXu0mjf7focG delta 750 zcmVXYnhE{kTR+^j)E zkBw4is|K){hJq5Hf6>fi!_YA%;yH|s^;JlCBX7=j**jq_x0h*&W35v3nRfsqCY3qQ z-2xaBqCKoR8%h)h*Q#j%9i=_=`)1G}8bDM71pW_zh*ur0b%57OxM1#=rFilF7E#~_ zCh=B@+-(_vT>$c0OQ5f$zAJGVPmLXHDsT?4Y?+P%g1;9}f9HSaX5esUUjp-eZBYWoiEY?yM~3&M1>2WU0%`5*?k;3_F;GukHaZ2ti#V+T z))Kk9UghiL-EN&@tnl!j{-jou_~WG60^t*58gKTqma$)3c#-6`Wj z=&?3kuVEB`(_Rs$8_F9kgOv8@hSF!#GKD5hHUVj($I~?32z)xzp>Q+Mphb55v-IUE gZBzR8FZ_S|4SQ+q;)C%k`2YX_07*qoM6N<$f^L{&nE(I) diff --git a/graphics/pokemon/falinks/icon.png b/graphics/pokemon/falinks/icon.png index 13ddf7733b04003cf9f32d49be791fb2759427e7..e8b750bd5b109a85b25d5e0f75527d4e2a1bbec2 100644 GIT binary patch delta 433 zcmV;i0Z#s}1e*kqbbkSnNklR5@#q8g4a9akj9< zTNvofOV$aQelifU;T}#%%Gj;F<#eBXme2PE!QTmSmpIzmmp*l1D_qdJWb68)#f})q$a8IM`Qc6-}WAl}508 zKFWm$6&T2wwvqH>Du7$$Ln?9f4D@;eW~DuIeH%&1$IcXFs}1MNGc*&7G~J@$@{Vx_bqS*KiBV^ b`;8ypZvhig@w|LE00000NkvXXu0mjfM3K-e delta 453 zcmV;$0XqJh1g`{;bbkN`bV*G`2j>O{0yzdTVX$HV00ELoL_t(I%hi&xQiDJchIxZ~ z3rj7cV=A3-j+V?wwmlnjbl7nn6tT`rdJw8V6d`muHwS^l&Q7=4*>7$ccJ~W{zZ2pr zadeF@ed<9WT+q3saKlq$I^&WYTK8{6X0}tkVl%&YU<}3RM#0vF&gwVz|&Qksp z2J2635YFtYws-uE7VAwtNBEe_Tek)L?R6wR#h_?YGX}PR;_vD2UTj-QnkFzkXQrgBdZWx4V)e<2+ zjKc6GLn*^an1jMv!qOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?UO%l+b|TyRf69AC@tA6QF983I)Fq;@KOXGMCc+BxcC$~N}EpJ3Itv>bvF!jkDDWu zr2aUP==1`46QS?N_kHhyaz1NWDEN;~+2%vQhaM2Ag9{6gfop(OTcxGk-3IDbRHba} z01lj$Y@15R$GIGAkODG)#mN1O1;7wu1FUhqKUSh%0-gfazKXGxM^VrDV+=tqe~b;R|IhOp2I}<1Q)d+YS|UYhg*!8L+tTJ1dtaeFJI-ylzp*jVQC} zkat61M(jF)$UIycc~;%?AvPUyJD~LLS4Rv2i(cr}rCkIg$QE*77UfM|{%3tqj`I)3 W6q&66ttr6(0000AyR1*Qd%B#}W-e*gz`Nliru=LQD?ISr<>Y3cv~0trb(K~zY`?UlW5+b|S` zRf5@lNiEqVN^=5RMtar6&=76h!g|BQZQUU4QVw$w-%01PB^%Mqw8fDb;&AkjzB)a?v#$_!M6`nYVKXInVP=s*^F zhLp=`4k$M|&`8g)e*l9HgsT>~k?jOP{s2I(XDnsg&Vn2&@%tI_dJT30g4{7PCO|go z(7!| z0kV1Azw2ZR&Y87?|MYfHE^@BQv#bg3@wh*{Bdzn?5)|Zne^rMfqMSz;EzVItX(HqR zoKqfKOg#L_-$EX#ml3NTmydc}mpZz%w*c8pW+o_i`}q&};ra{46q&8=Ey7#? O0000Xg~O0_MyN097S_=3unJ0BnH32v}&*Q+=3#9y*}-7{?JX=+p@rVxPQ2#{%Fm zqn_^oAkGaY3mrt*4)DFq!7%{d9(Zu94OqEjduSu;X|g|E+z2 zjFiUj)9#x$V~3D)Rf-Qg04M4om>sprJ;I0Zf6WB*G zFiAYB@nL1Fv94|sZ>n*(VPWiVK3+8d#Mejsyv$HyDyCz%6#Dj&L$t%5%xtf5upHD$6ChNznv z*=ja6@KPcM4>!T=KOyw9X;b5#J9N&I5XkT6_rC8q^rF0Qt-!D^ci+{vB=)ytSxDO1Mj;%7h@=38ne`j0O<8yohgVg>Zn)%ob+Ay zhAIeIj5%e&5HbJ*l|qNksPH6C0AN&+n#^fp(HcpFuF_hQRft&;M)ci5m8qsfEJp~) z*RHEkMrtN=gdOQ3nqD!friuai1C)Gr$~CtDkcQXp;P%bK?En{l0A8c-s{UBRg@AW* zGxvi)c+`oGz57J~niK)=Jn$!QOohOG5RkWFcvvt4lI{W$h8Rb<3^zt_Y2>@gkPyy) zV7N9&S42Y`MV#~KD`QO2sUX5T>Hxr(08pI@BFq&Z0iXlGs-g&K6?J|CECuY=-a^t+ zPa>LZM<~dSNe zCu?#uAt)xqw$F3Gak6GKG;yMf4FK!hqTYx{o;S3>Cr`0`6|V_GB$Hx!so+l`+ieVM zHf(6h)>wz&mm43q;DcH=sFf{|XM|`oBwuW|Pw|E%{$400008NkvXXu0mjfZr(Eb delta 680 zcmV;Z0$2T%28{-gB#}W-e*gz`Nliru=LQD?ITXU!!72a%0&q!0K~zY`?Ug@o+CUh_ zuQp?b9*7}TBiTkCGDNa@K~a?`iGgg}0Ne%?Pm8A6`5BU;HZoQutO`AU)df2|LjALf;5N&G^q z)lMQ_yfhil0Xm-&fGPY+G5!SJw%Q)0Sb!V6s+S}{yW^Q$Bfy!fQwea~@w^+R5mM#c zElQeD5$Ng+YnYr#H*t&rXPQ#yZk@`;NFq#~RqDJ1c1ar1@w#QM+b&dHDWG0^p20X& zZ0<^Hq=Oh{$!3Nwe+SfeSmdKytav$q(!2J$x39k3c4-da*E*ga3=EnJ_{TSsAPl9e zPITzsPear&4|wCFKg2cV0{3AEucK%`rw5|kg%CxQE@%-?jO5U$ccmVH5Z@^t8)9m* zCJq)th{b2lxn?p+gn!UPK+F(eCX+O@R@1>NBntV$^oTeAeuXhjJRgH5D#*f&LK};(?|Fp8i5(2Ovkun8Hp7 zMgbh>YzH_@#$5Dln&^Cmz;gFc^u@yWdsXz|F?KHFB@hCcl&YT!9}2A3F^*Ytuu`^6 zbszm=?fn{ke^kRkHMSne7{C}4^?bd4j8~BOTLIDOn2_XyMBJ!34q%Pn_Ffc5KLI4t zyVEY8G!27MWNiSVrulKa%2YTFMuV}XM$zUPU_LH;mFW;BUoA2jO~+3cpccm$nIb0^ z*$aYjU}bJP%R~_DXfg^0lVNsp*j_ilw;{k^U+5>+9zWjr>hqu8|LO;ig90^KHx5_; O0000iw~5QX^%*0p;qoIOZk>Jk>_=Er4XV(3(s z{3fK#*rr*?;MYr9e3qq7m8vq~$G!8j@1rRG@=-1mptAy<35D0u^Kd&aB};#IcuE8~ zMPgCi$pa&ijY8dw!ISI@QzL+zI8pZgC47vM6{fnq?I;P4+kY_hY1H|42KP`RRP)nL z!%OS&t6p7N;J9{m%K(61 zWTSI_@A>+_KFHR}XUTmcJc<=XkLviFVjctsz84RQlU%xnN2JBFoa(R%M4M=tw+$@m zWRCN;vfMO{0y!AVZjAu|00A~hL_t(I%hi*yZi6rohIs?) z+C3J|9;9UI5*Ft2aG97GI+Z2Qgv5+(nuQGhdubb=YpGMEO7#Rkcjy1^K8oTmk8+s+ zodxJjD7<#xvYnTZwZCO}N(4AXlA^kk2Sy?rg+o0CPjWBJ0e=Bp#EG)^PvLD8uQ1j1 zWk-p5T!*1gtuEIyxP}s;S{`;9UffruG3?b!k&;ZHjdgJ>iz)SNFZL1}@I<&g&sN3( zexI7g-5csvuciiQ?^WG80N@9?=$y~p760QP2gqm6eIk4WD~dU)<8O+25FB_e9uzmZ zb~Ud^OUimWgken}+QgJ)Tf>r0_PA^-%SB}SYN;N3drWXpz_1@vp&EwQ)H@5{8YwU^ zKLLXbn7HdNV8Sf$-hc^B)5ey2hGA+Ek^1DrrT^kD_;?2tD#rMK?<3Oy0000c3p*Q{Fh&` zL?Y4voU<%P+!IyW3}nCQi4St8zB{+(DB&B?(1vu#i)2~*1Kv3K-UY)Dvp*i-{ZQH9 zhv0!hz?j)K4+G|SG@o(a2ga}2f|30UKd)d!kZ!vNBZ3r&2d3(Pcwk7^{{o|=USI}N t3TEGm3c=Ll{vdlWp$`Ew@xlB?A5Yq0&b6?%tYZKG002ovPDHLkV1kHMi9G-S delta 334 zcmV-U0kQu50;B_wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld@8QfJ(| z00038NklJJaegyB(rTw0%VT-$7X*Lmuy+Tny##bqz@T+fAW6J8O@CtAI8QZEGQf_N?502y zSlm&qJ=pRG4ahxj0}$3wL`w-!UUdb+2=HrJ*$e*gdg07*qoM6N<$f~!l7LI3~& diff --git a/graphics/pokemon/fearow/icon.png b/graphics/pokemon/fearow/icon.png index 37e32c7848defd25f51467c164ffdd7e4e6113ce..a6f077bd3ac3893adc983fc90687f719dd347dfc 100644 GIT binary patch delta 355 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 delta 641 zcmV-{0)GAO1?L5jB#}W-e*gz`Nliru=LQD?IV|ehd9(lk0!m3lK~zY`)s!)A+b|S{ zWk6m!S&Rw?*+>iM9IFSARJzXKp@VDr0%d}12HZ&S(5Z@Eb%Kr_>e%JdI|LbXj2L0RX8Gm(}-RH=MQ*@I(HDRNjbX^|KXnoIyoZXk!nb=89ql$b(U8-VL&Wqwpi*kAzJ;7bKy#19N0 zg)y%IwC4@wHp5ya1@28g8K0c1B-jaB<0;lq{xA70us-ek8UdfqY)!i zrqz6b6(e*}gEM-NAb(6z1smP1&X zQdbh)@_Y}pu+Jzx-loJsjPC}80Wh`?QRqQ@_s*UKic%rt)8e6eOckP>WeOR5hHrn3 zLvRd1x*AAQ$X8Ry|2!D8cCKl)0F8=+2)6 bUU~foTCxyN2l~H;00000NkvXXu0mjfm-Hw# diff --git a/graphics/pokemon/feebas/icon.png b/graphics/pokemon/feebas/icon.png index 40a1b4e575347d1dee1e3f7c3592a38c43119a39..e7087c8dc46af983ae3b6c46791b4df28b0d720f 100644 GIT binary patch delta 234 zcmVT22V1La?L_t(Ijn$Gd4#F@DMSBC^grOH{9l&+RFOYXIVuw%Qcxt|o&qSk1PDKcF&H!wu&x17 zX%_$}tu(sO0urspT>yhLi&pJR_Jqk>WtI$77prRa23Eb5HDjBiP2SYk03K&!8)3z# z=XpHX^-6>t!R92lA`I~xls9tG0;tO%S-`*4d^!NXk2O{0y!}L+a>z| z0072GL_t(I%hi%S4#F@DMsow-grOJdLe_SuNETEUh__q^iK8HHfoQi738F5DP$`JG zo)JG^wkO$<{5>IlDsg<1gjh2mIj9)8asZWQK#so<27|!}WPfTv)FxyA+Gv9zkAOmF zaGk-R?5x+Dnyj!zuWd;{b9A~TJFvMp)skO~ExPuU!R=sOC!KuF+;>~In9F=4SnkzI zmh^(^9K+-Q(F^e6FY`GaKrkIh*-st(S9BolCml%pNe9w?(xGNLM9*}1V;+5Lku6_8 SxOo5o002ovP6b4+LSTZr8gCx} diff --git a/graphics/pokemon/fennekin/anim_front.png b/graphics/pokemon/fennekin/anim_front.png index 290fd4609cdf250d7d3e5bc8e398077594827c22..55e82886844ad47d45333e5685efa40a30ef8265 100644 GIT binary patch delta 849 zcmV-X1FrnI2e=22bbkXbNklw% z_~*ekbq`dkJ7vv4GFlV9>MDi4(*#fB^vwrf+Pq_Ux0LPps z*7UG0w||XoY~%04-5@YdJKR9DR}{y!pUD6gmgF*=;1+<-^Q(_}BRS3TvIPG1r6n<*nxGx%5@;Z(DE3=@pc2%BsEGx3QBiVhb{{BX zLHeoJvtOM)sZ3rE#pWChWa8$4r+(qKYtcLn;`}(O3sCu{h2a(+k*0uIl#y) zkrI+4#-%PuxucV z5n{b$An$R$5|@0%K;SsFORN|OerJ|y%?u=nxgnH&8l{269M?Fej~n%*iN6p7T($_n zpGpdbUV_Rm1cUaZCBdk1l(}Hk0;OOC_AhI`3lt0y1+^Ar1f%5(DeI=ZTl#~jwScWZ b{LlCU83PXcO{0y#5h(sV%p00SFIL_t(o!|j$aZ__{&fMY|2 z*m6CqNS&;U(^O${&g#Ns=Sf|oBBv5!X^}5;BVtQkS=zF})R9hL_yGw10q~=EcTS7( zJtqtu7;;0F_vPLB`TXA3>1@`$FSaJ`%I-QKTn+SU0Hcxx{C{o_CP!8{?F8{Hz$5|e zr3h4eI5J|14a^3wxd9&Xhyej)YE~V>lME<8O_c#083KU6HE93?mE{KD(mN~)KldBJ zmdex#o)Qy0$yJuBCg4u9sRp=Yxmrxs%mNlFJ(IwAs1znsSrfoRsFSe_B?8%0sUzz# z201t0tRzUAj9QhQ$DnFy`_axAHihrRmI{vjM<*QSo4#V=Jj$hp9 zYK*8#?O&DURe96XKtg_f;_amn0fbxv4RnH}8$iqhfR4{&iSW{~>cgM` zeY~;U28iiq;*2#AjR3Y=noMA>T>wc-H*#YRz(XPYwl)-S4|<~&eJYSbB%a?6I3oxA zRltLhD}S711;8=piWO%Nn}M`hn{}_tStBr=UfBJ2gTZ`^XdQnn$zeFbEdbl&l5k8X zvxYnHTZQp(crqI}jH^xX{~`05&3r4J9TsqU4;I*`F&D zw=JlcnF2;;i;R#QF|YK283Rd)b}W{Dkt=HU*9_!vkk27J4@RPB#5~o)TG5gVvc(p(B(!w>Eah+ zfJ#%U9Ntne^cMa~!Js{pQQ)0d0)N1j0rIK_wT1`-Sc?9x8!^7yLD~UF ztk8l`f&I>xBGACDR)7@|fCQdcp#iZ4paqK#giHa4?FC51{m&O-1z46LGr$}~1e#6S zfS54@uv&m-&{V9jX+S{wAsXPdn}J8P7yutHOM1Xe;IKMU0qYLb+T)Iw9{^`LS1TwG zXn)}1P-fZ)FtY*>ROM~jgDWe5T(GJtvs3}xhEVV0ed5C@U63PeF0DR-1B$H=ZPC!` zJGgO&vM5&)xDX5hD{qQz)Pe{o`DKBc?US3W+w?a+(9??!qJrJWEW=L{+ux6zpPnB~ zKv{-ANUo2^N6z`5^Z7gg5N8^NRpDjR5aQgjb z?gMnyCGg+_@J7Y~eQNtZt*s`JdP+~Y5AUJf?*Z|_orPpj-5P<5uR}mas*Ru%4__Ec dKFcmb{sK`L{1RHUSrz~Q002ovPDHLkV1ljc?&<&l delta 533 zcmV+w0_y#q1(pSnB#}W-9RLS(Nliru=LQD?IX7Uxuvh>90r^QpK~zY`?bVT+9)HAr z02KT7PIj_&O4Kb=2o|F8CD(5YzBOE*c znlqNOK!LklfjR<5Si_9Tr2)I`0e>6;;K~3wt3daVVE{{6-?bygcRNU1;K&XQ2sPO6 zd?kV&*i{<8FB;6K}Mk2q&0{+Hvq3B zs0U4DhfNIv(hX4quh|SdqQwCCcv;c`ZUTo_kq%h5pz3|y@$v)UEa$p|27f^hTpY@* zHv-J800gYOO*?R91&|BQSed07;5LNDJsBflr3-3=&81aGa6qy3p;JDz)p)AUk z0xkqYz{{Ir8#N#TN`6_O;``)g>(=#+5A^iX2T{TAW1itp63gF@LY$r-Oh9>tFG#MB z$44Q=pY!=V01#&w{za(z*=iUw`c`B>5x`fW#H$JF%RvJnUY{*MO>p}CX6^&Dt4$EW z2jGp21Nzj|e_C5jBK<8r;Xb^FcD)0{2X__@AJuJ-z{T4k7<-sE5p?3=4MRWw+eX%3 XQ5gIZOXGHq00000NkvXXu0mjfs`u>9 diff --git a/graphics/pokemon/fennekin/icon.png b/graphics/pokemon/fennekin/icon.png index 8d2ded26debf68f2b44a69a83471763edb0678d0..65bd1ee7d833ed1fcdedd81ae295f0800deecdf5 100644 GIT binary patch delta 197 zcmV;$06PEL0=5E>UWJzg50i^QHjP z43KP_lxGMDaNBwg=8}MGeK7Vx!1V?8Ml(8Xobx0Ez_>f6kP!gR9Z3x^faoD!k3WyQ z!(I^}gsnOabv%Ni8kDX{UmT={?8&2Q0tH<59O{0y#P!4$S2M z006y7L_t(I%aLatf7TmH*VD$P96Uf1<86F_|KRw9_^rZXEt>*NGa$BYGAIZVkiJC; z?vg-gF*^TX;Q9i8;~AZGAs`C@aN$lVWCVb7$5JB00000NkvXXu0mjfA#q;0 diff --git a/graphics/pokemon/feraligatr/back.png b/graphics/pokemon/feraligatr/back.png index d2d9c46e4185138f4d8542c8df69229646644310..a4f0255185769bfe7ea111c42c41218bffe24d17 100644 GIT binary patch delta 695 zcmV;o0!aOi2A&3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(VJ7K~zY` zrIWF4+b|G@WeDEoT0v&Zc>uSvOgJbCm}Yhrf-Q6`1k(>7NVoJYJO%LDN9b;#TL&*) zlPPPhXULHhB}%AdAUQx@?lb@YejcqilyjwTPu>l9&U*oRMZ;!Sfh!sVMtgvPW6fEg z2@GM*`b^-A2%v`32}~q^Fqn1$cOC+4@}V1`69KR;z;c=AGPddl#0-q}3?dweqO)FL zJ?{tBi`~2f7=Fk8Xu)}60(b$s771fFQO-GU0Ln6^Yv&2Off#tS2o1oN_bV_Pk~L%i z5d7SkfSg(Y0RX`^q|2jugxaBjH?w5-e}GsKm(~E>AAco=hD-5(2$wo`tbz3LH=k`b zbvoVzfvF7@;QRS*%fkww-k32HH~{3F?CN~IDc)dE0rv<%zDsIA>X(8(9jqHY7i(*rlQ}70pB!g5YS`#V$!4qWG;a!D3JsY zn*hw?>I9WU(gJihLN7!lku^=$l@cIgcOyfCK!d<>_xKw&axjaaTtN-fF7O$3()`o002ovPDHLkV1n*HGfe;h delta 681 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 JPDHLkV1m}h+1UU9 delta 457 zcmV;)0XF`;1h520<1`(IG&5j(25R*cB9GE|BAniLd z#8oW7k&6a^(m;#4UK3R|#6%JD8Bp8+xFi!;a=_$0VM<-|fpqeHxDk^|F&^GPKNABO z;)6dr%{XiYu#y;Je+d2wI0}$jCZhNmV07A)!_(Fx{9C7ErWfb>X>wY6?0+e+SjtupT=FGysYHBh_%dH zBk3;X#e#p;m<(c?^B24BMc)#EYnWu75_w!y8rTt;_p+;hKP0)1m9(k>V@9u%4rwH( zOC?Q0vi_i=4TIW%G~s#RGyp%P;_~*g{g?F(+69}zV$sm*00000NkvXXu0mjfRYupH diff --git a/graphics/pokemon/ferroseed/icon.png b/graphics/pokemon/ferroseed/icon.png index 700920c5d839689ca41f6b081659cd2b4355aba7..7baa4a45cc575851794e5d20769ad0f126eb80f1 100644 GIT binary patch delta 218 zcmV<0044v|0-V1K>8BeyKU3Y?`2U{Ib%--0b~@zi z$}S2}br82()nR#^z)0Mnm}MsvjWI}d&}Ca4qUzw<_IhKm0LuFf9O&Hn6NPW)0T3oY U!eB8uUjP6A07*qoM6N<$f_=O{0y-4w^^)lT z006p4L_t(I%jJ@<4#GeThwlxVmS7MpEqKDhdn_YhFgzOqy=R)hj@@Om9Cd3E7=nSi ze)p$oeqRW`SMb`8+4pHDjzBGZwjiz$sW%{P4`STPj6sx zY_41wz;xQ%Cm}MTof3v5f)-@xa^<%h`uu+Vf3MGVNHZjMI+W|$1_h`(h|5-WSl%Wu z61ONO?2Mvi3{o95Y^y_39o*QcHwFu!dfdT*-kpD6hbIswK*HD2z0&{y002ovPDHLk FV1f&WY4iX9 diff --git a/graphics/pokemon/ferrothorn/anim_front.png b/graphics/pokemon/ferrothorn/anim_front.png index 89bfa3a5789adcc3b8eeefba84bd29b8c7fa8a73..ccec2bda8f9fdc47186d51482d6bcc5e90e024cd 100644 GIT binary patch delta 941 zcmV;e15*5q2>u6L-6&&>|2w&z}GeGvI(l^sX1!iADTTE>HJbmQd_M>)vs;mo;h|lbds+}w!vo8XKB!YFY zTNLhw459iSPXaJfTu$82dy0o!-`!~^yRNK0@w6WTS_f2vd5#1ajo3e{uO)zb2#{<) zY(~ssKTANX0$Ot(5)VC)TmX_Z?SOcA>vT_pN%4?qdVgTBd4f=zOr^Dv_|oXZxvQO8 z5xiV-{sWh1;9hGMWIw!0r-%8rk#jM0hE<$%Pm0m*Jn!IDW!A)d8sU7v&td+ zS^`_qf$Wk@L5pZ+rdyQ}8|0{7nKZu+E_xa)4@nCp&qR zmw5)Ohvxn)+--P%;3hQ?xo+<4AL6RH8}Wtcz1vW|JC?0EX+|%Zp*1JTzgsgtzu3AC z2x~T2JJOe|IU75(V$D~aSGMMH{%*}8?k3jU$K9G`;O5l#8sEs@<92)n^KG+|3!t2^ P00000NkvXXu0mjfn~K!q delta 955 zcmV;s14R7(2aE`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld`6;6vWR z000ATNklL64g_6vqh&%{d{8)SJaHVWho;nBlw-$~i@4;0h$K*9vV4=aEpX z-A~YK=eV~$RqB_kZDas>O6haPhL>q!sjpd zp8$3YmhfOrI>z121^X#u7qU*ewHMq^H$gMdL-TUK@J$0e=C;8t& z`jBb-QZ6yX$G)|Q`=8GKp=$fmilli$R zqL5Zt0(g);<1UDS0i>O(RsfLw_l&VK#TYLjFMs7$EOW@de0_&8_roq<34X_*E2saE zM`*tNLC>rZKm;_GF1sfQK=UsJcCdi8xP(PR>>g->&EH>J$id%9fa>GLhAsmi$ng>A z$y>_Xm~Sv<0Hi7H$YO^jV6q7fT7^7frJBPmGG)aGO-4klB>*`#S8^T9l^OcDH^+B3 z=YI`%oG_$OsLeOV%sdCynoEgrPCxGGZ;qFXx{b9Nz5*y}=+AB)q&cqxbS^#KwATQ| z3Y5!cp`QS%@@v@j{&2lNj9w3h_Xkn^RW7XT{;+*f|9U9y_gvkE_Xj3Y_0Pne)R)Cw zk55Fe-MXyZu_(<+V_uTxB)Kfjw14p>X*AYJdlp}i=ImUVC21Z}UQwErt2AGw`6|u7 dp)~&=?K|^rvyzCDiWC3<002ovPDHLkV1gug&^7=7 diff --git a/graphics/pokemon/ferrothorn/back.png b/graphics/pokemon/ferrothorn/back.png index 5c17099d29b8971c309163e3fc675c44b84e5565..f48d4e31b979a9cce11c63e393145ade6a9287b9 100644 GIT binary patch delta 619 zcmV-x0+jv61=9tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xU^HK~zY` z?bOYWqA(Ny@LEImDh54Er@$W9k#HB@aCTg}^(wO6J4sW|lQlDc_Pzp+;DqdTH<@?P z#QyTWD3Z_kw_^G?z`xD zg9&DzxDfhQ1V&f@Yb7u5pd^!J<%Sy`+Te1;?Sf#lLgTHl)8+Q!;AV{I zy(y6<+6eCkA{_|R1A(TP6UBB8>dAtD$UdNEAK9X|3LFqHTec76jz-wFc*gNxy1r`C zi|9fcf%9K84?%FoW!uqfb{+mO0Q77K4G=_i2fn=R$$bq*Opn)Vbp^ve40_%LV$T9L z2FTaCxi*A#zaL)jfb${-MTb2$U6}sM>zEJVGyeA=002ovPDHLk FV1mI%9dZBw delta 608 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 diff --git a/graphics/pokemon/finneon/back.png b/graphics/pokemon/finneon/back.png index f81cff2610868d2be19f030115a485b22e081913..15213fa11ee9a95c50ab57c4a79117cff545a312 100644 GIT binary patch delta 585 zcmV-P0=E691+fK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t!h)K~zY` z?UcQ0<3JRJC!`**SePY+3f)3@i-2Ij%i8E&Rw_npp=JvYhINxJZHjfKaFtFb5ZEf- zm(UL=1a{sfcl5)KCh-FVa=?Q}_nUK%FB+2%y-QW>bj|Y!p=mffRXUC0;tA23(=~wTc09s=GsnoWfZ5oCE)NkocK`rL%<|oAR>fb^Ebm+(#1>r$%8$iE zv$}IKKo0ZUK4rs?_YFVTJ!+W$Ucj}w3VML^h8I)dTGgP`O`oy@?39$vm8$V`8%Bdg z!u*2;2h*ye3p8!_~QU9R1$$iZgzu-HHd|jvQDJ| zL~@~&M&#?>0@_TNN$2=2 zM<#Xu3Mk9g2#8OZw(PEAG6ir_ewD4okPB~n=>SxhI4pl8+}2@4UQ6rfKTkgN-bBa? XTrUV8bY#oj00000NkvXXu0mjf6SWS0 delta 577 zcmV-H0>1sR1*Zj&B#}W-e*gz`Nliru=LQD?Iwm0^!)X8j0t!h)K~zY`?UXTV<1iG* zT{;V54qQ5T@Ec5SC>R7en&9tJdyu)o%MB5MX6e?o!=)NBb#o{bIyLtt92;B;r|)u4 zvfYzJ^8pHd5E1+R^nd@n=*jcG;xon}IG*!;&m(y}IhH@kA@B%5e{>8WIm8oOz>r8S zqEovY0H&X4f_wIfBLS1K2AS^?@6-VRAXCegdRSC{ymtQJ0x_1*CJ5bEPwnEt@c<=E z?|YXm-9NT;XVz$7`g;bq;wI_=N?Tglz^!ONh`ZjU227VEm?qbX@ zb~eCWU|v0a1pF%3V~y(31+Wi%$@dVsO;b>r8T1S|DcHb%MDM|g}7326apn9OsF*%AwtLx~K}ab_L-fHP$z z^?RU+Agis}FRQt@S8oH}3tz!b7oS_4~Bf?j0g)Y*zR_YH{+xMI&YMpZ~hlKVkd>TrUV8G{2#G P00000NkvXXu0mjf_pJle diff --git a/graphics/pokemon/finneon/icon.png b/graphics/pokemon/finneon/icon.png index d6bd133792e832c65ed6c2e4bc9439b0b0bd9f5a..3aa99089367dac6f176bc6b6d56f506c16ecae9a 100644 GIT binary patch delta 248 zcmVmPRP0_{x)mGjGf1}* zV%#K%*H|#8cIi|o^u~`|LhgPce!pM~y#v}ncUyJrvw;C7D717ljE*2Jv~D9%GQnZ) z0ox?bn@TaDP5J;Xf^1OgYtEN8h!3OVvw(;;H+%q4N>vYvJ8|UQml;$MI^~UZg8$}~ zt@ZL}U@o+C3lKzNJ&S+67YJGnP4t^72G9&{3XD0&ct9(FQlsm*{T8|aRmpJ}F@VY$ yI@$I{9pj~AV?$t0yv@O{0y-)vl#fCH z007rXL_t(I%k7e}3c@fDhVur;?UKH(xcDBi=q_E{q=xnxikpP=x|LFTrb2UV7jY2; zZ~Vxg@aI0Iet%#MS^{2yrd%Yp`@Wp#VSBWiCNL1g?r3ct0e>eWI7}JvRYIN1jR5pX z8vsS1E7bOu%B2N(RJ(0Nr@jm2y>Qg j4*n$!eJTupQx=#f;>e~Xgz#h^00000NkvXXu0mjfnPhs! diff --git a/graphics/pokemon/flaaffy/back.png b/graphics/pokemon/flaaffy/back.png index f93622ed3b5123a22976e847e7e61ad31d4ad528..2ab4b4d77965fe27d1837f72453625abe94acd58 100644 GIT binary patch delta 519 zcmV+i0{H#t1n>lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m(^3K~zY` z-PAEl!$1@V@PMR?gItbt?-N}$9{M>F%PUq9EMkfupzYunC^$-oqu)Rm7m?!U=omLg z7s0_n4`cm(o4y|`;GS8C%Y%CKRK(7PbD56@-vB%P%@;pO%3jqpg#Yh$R6nZT3qb zq%-ucbyNdnyEi!7W56eQXhFh&e;kr2lm+K5=v=o11(%6igMTrmMXF@TKx^2i=YYxZ z-d&;X0I8Duh=W0_=@dtIY!kiVIbB2DT(V=phu8t;*5g9BV8Vfa?*KGo4m@Xxc-k)k zTBH;TdEOA(t)dLv0lcNU3z=0n155K~zY`-ITve!$1_r z1EnqwayibuPjuCI=--hTUa%IyAWiWPs2%(V3XY}2(f>df7m?!M(J^k0E`ozYjhEKe zcb7DE_K_S3-%sAJdl$#~pC;u&h2}Wig`HJ|1dufs0CraD04MnZe}0)>1K{2fx(x=f zTLv6zoqG%!V<1X_hQ~au=6Ay{i@+GyTE0j(x+nsSSR|7I5pV*8QXLlnk9z0~q+bE> zsB?XJWC3-edm2bApx*L`3!#Cw2{Z>GqrgpK=1{*H(j-OFvw*PIrG3Dp_h?3l41kN| z(YJx?KvEZH4^|PKe_or$5O+6L8}KPG0CjJ-8kq@l;j(Srh@&z#ggC0^Gf7AT9!&ZYSF=#Hbs32@qO2#1>!|p_5n#Fu$_OKLDbl4f+%c z%fTG*mNha&zho=oB_R6!+h?;+dK`GXjDOniD`m{>co=B6cRxFgO_dv+x=p2qsMKt# z#9UU!)McOgU0<5Og+3x_VmfK6R{jy1p=5Zo7JvF-uJR+l0|w@o_z#!bEw$S+dJ zU=;xsI*^}`Hzew8I4c&IAcHnWvhLPy)7abXFnc?vlQa0bN!F>=5yR~J_P73BGHzr$oZHHwKI3@VV=A~%G)fl*2 zTwQUWUG`q(-PcVAM%vN`X6}t!^?^C<9Z9MWjIQzdOlmZRq^E$dXW*ftukWWdIJ>d5 xd1;w9?%5$9=_Jmr8S;^NX+u6P{r^Wk{s35nsQ(0hC$|6q002ovPDHLkV1fr9h%NvC delta 333 zcmV-T0kZyq1ET|wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld`ZrJRDd z00037Nkl1p=5Jl$%8KOOavDKxB&`y(1w{erJ1agZMGFU}Gg%;!^l7x_&FAmV-`NLnQ^g$gq}hocsUeyPp?{6lJ!Qhs%u`Z&I)j!{ zO_8|dq$tXcLg>>d=?gjKY^t3V4m9uQP71uLy8|baA@A}xr4qo=^p$Z$ltBCHqsKAL z9ejU`hc3w$`wjR9VrBQXcI=~IX-Z>?^_1A^U#`MkL!aBn4fyZI+LpCt-nrj=l*A6vt`ElLw=65ooqMc-4WijarvOic0OR zflcGqgJa=V#{+@8yv39RqGrv_SYNjK}s8R z7GW4tqn`{o0Dmvdeq!-K{}ohVz7q7c&qBAxja67z6VBA+2FVoW&A==$)(CN@Ep!QEjnwhf(Y$S8A0jA!6}%u^f7_ zCq$wK5MbU7q!8d&fkp%-;v4?_G8O{Hr5ugx^%{N`@PBuBUJ{Ah^@l?O{OgZGtOlGf z5~v2I9}WVn3m}2m@4>E1oW!_3W$~P9KKk3 zvdfqKMR$)K&Y=Ko!iPko=*mgVIsYdr+WSG0>jFS=68$Zt!Z>WfJ0QaHA~TRY>H`&M z>?sW7)FvLu0JoBhDGthw2Oi9!lqTzsv2JYQ%1M6L2NeS0`UeVwSii1S^>Ro+?vwj! z0ntqFs|5tfH|E~l1OY+v3IWmFKA?ce%-uQPrdhuEx;2KdP(T1>F48*5Dn$$szh&vC j>Ro0=iL(R#pZeh&#eE!}0f!>Z00000NkvXXu0mjfEt%f% delta 1010 zcmVO{0y;UYD$bk$00X;8L_t(o!|j&8Z`wcIG17Q&H8lT_ZTuwF0cJguzm~_aBHLgsDVesm<$K2h&Ro*M^jkl_3eqQnE@+ zKshZZdVgTGx+y1Fa-}`}c9Y&@S@IinDazODG|N_-wRVl8B*|9SYyBG5QG!dDuEGKY zjQuWig@r&>J8x#pwN`O!H3O2IE2nZTGL>ZJA~Cx z0?-_d?p_d<^51Ioy947JqS2)&8HGLl`=i@K0dS@&TfHwL7+MHONh;O+n;U|Q_1(`O z0Do`?%uabC3BZ(q9UBE<=9VH*)fq8ZoN=H%2Nn^fAb1M|PCdZGGnHYWVmK%WJT3!V zAm+?-!s*NtU4A#7clX!{Lo9$d;YjY8*x2JR3_nGAdq0!9E)#MRePqHgwp;KW5b^RN zJ+Qd<0~shiFbvMgO*|3_E(8|?KLGi`Y-zi!`}1 gUu6pJqd&;w55;{Pp306B1^@s607*qoM6N<$f`@t<8 diff --git a/graphics/pokemon/flabebe/icon.png b/graphics/pokemon/flabebe/icon.png index 26184efbc5017eaed016166bbe3a1241d530ac04..68c10aab174bcc47baac3c323a1d2f616ee0122d 100644 GIT binary patch delta 74 zcmdnNG>K_K0{dJ~7sn8b-iiIi78*5d|MKM}F1TD^ZR3~F*?9iIe-71el6D4XJ~{jI eB$MBjN`G5O})!xvX)5S5w z;`GGyVzUg!4{w>PCe$QItV`H%#E$vD@{}9tKMok2=C`%n!F%`#14C791@F!Uzg&R& O7(8A5T-G@yGywot9wk-) diff --git a/graphics/pokemon/flapple/back.png b/graphics/pokemon/flapple/back.png index 5d177a9cafc0e7603dabf58d034d793e78f206c1..9f8eca0faffd9efaac2e592283086e99d6711503 100644 GIT binary patch delta 528 zcmV+r0`L9r1o;GzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n$lCK~zY` z<&eArj0rh92`CuEMK3g7tSI!9GW{j!ed&rDt zY|&7G{oSI?7PmE}#j9LH5Yi4iQ-S#^hR80;H-EG|dsIM|h#|UVS;lOk0nQ4Xl4<$I z=J!<~gX^BYpAW_=u!$`JDNmZ$DnNet1$@tWQr3XP2m(xd-rh`~=R*<_<34I`0!uE@ z25{HYJZX&OMM4Q{C&tQiX~8oVizaaZHG2IGVPecnG0DPp?* zs`m>C3SOEQ3D<$>05gQ}QNss=91`Yh9jF8ud{I1u?A+6i00N5>s(bq9VHh82z$l&= S(yM*|0000GSL2`zXvAR{j^emkH)^>CKq29pjN+z&unr(n zqsO`)7)s#bzNrNan_Qbm9C&$ju&zxM`o8bkBuVa_9KUMz>{C!?C&^2jQFW3iph8)a zByBc!HDi`K=D>-of8NQb(wn5cu#9qmdb9D{U>86=w&<361UV^VU8CG&N>es(YR>Ju z#1Wg{)|C=VIR-zVZFa5#wWTnTUKT5Fyf}YSfDRERIz>@LY_0+9HE>3z#frT>lmRKM zd-{Gcn5ck7ED4a}^l+#G$P2yz&$XY`NeT-BnD*SgnLf@% zWD7b9?huJ4k};))#Mn(z*fP!*peV?jWgm_`c7Z5p*vkGi&wu~*ygxc120&&%0|AK2 ze5j_t9I$%VRaE3k!Aw?|3J;>y#KnA8h`LC<@BC0UF&i=N znqqpt^XhFLDq9t9?uxG+#KARh+TLPuR;oD2nP@Uzi^p^Ep);Dfaaru5>BWJc7GayI zP*18|8IG58Jr+>_WJ~(k$G8x9T}TDy)o>WI6T0gRk ni0A;>RzE(#q4LW6{rLvx*7Y5~7O9&60000O{0y`0agjXj300C!7L_t(I%hi)VPQx%1#&d(G zjzOw=2(ADl>C}}Tf`JM33?04H0~-T(sKin!gfT+mB}+Rb3aJNBRTTGOJ8AOL0SSo( zPtK?J_wz5F_eTfRiJ;S;1qFy?FVqy60+#Ql3WaqknCKD{<$poA9Mv(OC88-(E&aKR zflYv=Gy%R411AJm$-`Pzkr)VBH^ts6aHq)$07*qoM6N<$ Eg4ukxrT_o{ diff --git a/graphics/pokemon/flareon/back.png b/graphics/pokemon/flareon/back.png index dd95d31b4634434ea332d2b45f896f66d56e82d3..a047bcc4e68f94d828a5cdb555b6c11b299780c8 100644 GIT binary patch delta 695 zcmV;o0!aOj2A&3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(VJ7K~zY` z?UT)~nm`oAA+e-OLBX|&RyHRiRHiToq>_B=j*=d zBnov#P82PUeEmpbGg_}fnPnaH0e6NP6ZmS0Nqdh^|`)G1a4f3>LCrb zoBH=ufFHa26?I)mHqB*!BG3aaNeW1sfy7P-+#|RIPFhja&E=>3;)A)q9uTM$Kmbsz ztedOUNK*Rk+T41;0?6>P=Z!Sc)6iKo0#HTT08e;XARxN1+^vQH?=#xKBD@&9Zg3-* zC>aAfKzavunkf<;gu_|(q?-tMzOZORU?Rv~`;0m@5ui)FEm7isstW*Kg+rHd724o= zEr1fwVh)Ev1S>>^H2kb-F-HjrWPOCTCXZ3Tlod)me~IHy*{~)9f5CtX;ss5r?@iN` zbss^~av|yoVuipS=eIr1D^-&z0Y)iJ=o5O>^^N~Ppysc&dM5U`d) zfJu{p1y01F~#t6JEEz7Euh}xtp6d(ZR${6$% zSuL>ZTM+UD371mWivr8v@V;n63IGf6g$l%tD4~)#4r>A+L=pke7w`ffOW%zE##$!| zUW9w1d3kU8)GC0=l1B1Us^g+}DZ9l83v*Fi)&Yhy27my6k*0S5iqTxoGJ%wF2RL&e z7eIFGfNTaNAc6Zc@x~e`==MV(8x=VY5zBYu_z>VyB9}n%2H@~Y0PqmNnlYN)hREk0 z2_Be!qxrmtjJH60Y|XiYgMj#tkHaH3j=)7q)%C2YL;>1^rZV0F>d7&tMA-tFI<)`S d-y002ovPDHLkV1jpTKg<9C delta 682 zcmV;b0#*H<29E}iB#}W-e*gz`Nliru=LQD?I~k5&-xUA=0&+=2K~zY`?UTKan?MxA zLAs!n1{+)(wAaH5YM+GUxC@}SN{KH4a=pch&Rvoo$>G1v+Xc*r@hNSjJjn)of1a5g zFN*T-&n0|+{bPL|KIp5b{T%o;04tqt!g?;y@E%az#NC{$%S_P2i;DdDUEg$}c|XoBD`A*#iUs#fqw_rACy{ zZ*_AW00V&G<-i+hq9(re)Ciz2(gb+M%M${k3&Y+i2=F1J32}fIjaLnB1QSJ5Km|x{ zz+TZsqN8v)%brvne*wo87HtSj1nh0ds8SsPy29H6C2Caw@FpC(jBDQn$7unScoFMx z97QmER7m{KiV|{^kN_JZv^6;~1x#6@#LJg3{KUpJY50p6s32a^r2O7AO;HUI6eSa) zjv&?u9B}=5!1c1PNtZxODUIkedQ{bw|3Dz`mKDxe}b)5UD19dV5~BkK@eW- zSpje7ocCu%Hw8c>K^&t4&WC;vUtO8N2ODE}&W;vESxBVcq%9P{gV>fa=qWH-U_Z1V z(I#F-}+!M`; zThk{Pk3*6`e_o3IxTx9$h)L{cqBzz8nl%N00FkCQ0CJcQV*)9{4zTWlOaLtH0CopN zAc5O6u`nYA)qDuBNs-eKp?ufUhX9unnFR6$z~ZF<;30rDV>Gi3k==VlcwmN&W^5rs z3$({pUy8uF_>a@^k()-~B4yvTxfDSH%7dmDZ-M^FAkne~2LxEE{GY#{KZYWF6KT4$ Q+W-In07*qoM6N<$f_@<|cK`qY diff --git a/graphics/pokemon/fletchinder/anim_front.png b/graphics/pokemon/fletchinder/anim_front.png index 800ee609713d58a30142d63b64ae7a41f0847374..cb7d9c7b51d9a00eae5c6c1df3495da5f2a0f755 100644 GIT binary patch delta 961 zcmV;y13vt+2$BepUw;FgNkldlZ)`UfbcODUKh&QTIma6*@C z35O?%w1XWw6@-1JkS>AL?b<0`JGAi_y2(=wSuDt4OeYyb(5Ng~3++37SodM6Lx&E{ z%OdCf{NB5Za`!WgyZA@3wzgKBHqDKqyb1Yge*PZh&7Fb*>wg?5=nxe!EBP&UO|t<+ zKCo_9%nB_49=zbz9c+@|H4(EejU+IDz*S)B??hE$* zur&C1es=arUVkM?fNzAImIiD%9LgOwnKNZVT?%tV#o8Xi^r}z8jT2J zug}f~pQQrio$qhCke^IEUPA4FnD6`B6L;i6T(%h_49f+M0l;1ySI~pVc?1pSQ}iBY)OWfQ|(-aA123ldb?Lwfs4M zaK->(!a6^sAqb^324FZu7-@EzQxT{GV8<1lssVu2X`0DyH90nnQeLUq8R3;u** z0|~b1%*p|xkzr;^6<|h#C18Y*4|HHId<--Ie(dy98NP4NBp{?AoeO|Hv#GQXWqL#H z<=zI=rhnJ8ssTd7x(Xn=5Jxzu9Uy50_|l@j1Oi&sf!YG40HPStDpLL}kzu62LD;A% zU)KT`9JY7ymx2BS2(R?&sI3Ib+0$$xe9G!B|Egv9x6-?mXClChs6h7KgaGJoQ6K@~ z3Lty20`axa`ig)}bwH>Iz)X8l#il_M0CgiIfPdL^QIl)H2-$gFW0c;+8?khlGR4^m zKmZ7BLvonV3T1$=Q*@ZX_OqS{fSD~h46^4E(4nv`qQfBD7Y-o+n$(dTrW1+)3;}@X zFbIIE1i%d;It+1q3E+2-BRC9Vb$=?IGMHgUa2Q@-T9>w#u+7Y2cmY3@j#9X1GKWFD zfPX(#&#}~DHsH#t>v>MZ4zmIC`tll5B5@du`7JtSs^b_ab{O-C4{OA@uR0C~xS}*F z*vHRw$5{fS2F63(aX1h=jQ8E_u5cV4iNkoiZQXHVAaNLPM|YekQit&_HOGk~br`Ne zisK|xCJy7>V!SGEWDc`38#Rd?CO4ltOgaG&J4`;1I86SXl{icR5Ial}5IIc2G9rf| jPCgKoQSaru_F>BjE6o6F@>dlZ+`U7Osr4&RD=O~FOIH60nn8TBgw1XWw6@+}I zkS>AL?b^v+JGAi_y2(=wS!~E4L?;Ac_ntge#G zf$xN$6$X4b9I6?%xjC`*1KXaAIq#f*<(w-3;wQ76izl`{8jT3&Z~Fbg7bO6B?|C~m z%ugm$5h9%danJL1C-!IxP}=ln(eE(^2orAoREi*! z(ini^5aFa@H5?hJ0>I)3rlA4Qv>J682mol_L;&O_gwQO|q<(xbAt7#3x48z0N`{&# zO#vzg8(oT06K*1FvRo}K=dF}au~#` zo`0jYG6lhe0BM=cMnkg~ODfWmU8Df`}ca1oe9A z8d45}vFM@>Pdko=Vu#V6day=}duhiJfKZfL8GHD7)^V1=sD|+{>o@|49cKDN@2qef zG3E|4-EU_dCkEyYGu_KNPBaz{GrjDr%vzu=97bqR%5mmZ&K+iYi!ok#6D=KPeJhC_ zX8mP0cbFU?c9@(CHFlWwJ!|eTIY8_%c|hbaIm?I~hL{_!estGZ|J(5gS}^XX7naEo P00000NkvXXu0mjfk6yT} diff --git a/graphics/pokemon/fletchinder/back.png b/graphics/pokemon/fletchinder/back.png index 0726953db02e74f619a63103be465c8f6cb1496f..7eeb59bd06466e4b8c0a863af817ecc6a6cda3d5 100644 GIT binary patch delta 495 zcmVfgv3a46z*|3s*Fxl0v#m(8u;nD@#1zWFYRRR%Qd*#N5Nxo!q(InW%KTLw!2`{oLjoB%XgxM7$( zIL6nawsf#;GEfftT?-&8NQVaYsd){$!aicx3wDIZ8ZO;$5D zpm*)5QOj|uaI1~|%Z zCmN1lF%qxO7U!a>46n+B5n@|Ds2e{_5Tw(Vh+rt|-AmvTN3AchZG!Ji|5;Bt0mcbo lvg7CzTdlVF>s!yi%nt?i>e4x1Bs>5B002ovPDHLkV1kg$;CKK4 delta 536 zcmV+z0_Xk21ndNmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld}Grd?-? z0005cNklN@~cfgGARY@0TdR`i|xp$pEd#WcH9a0kelTLwiQC z$N(G`#vsU2JKz_3rXvV>Wi7A%0|rqZ(v&|(37lDA3E(#4Er7@P&0ab`vXqn`|D z2>MNYYP~3NH@8>;hC@U+{B3}E-3pcuX80=1KkI>HAS7dgI!@lP)9Kp3zW@1? a`342`>Jiea_a2u30000V)ar;B5V k#p#LZi&*Wahu43b%+Kg9us2`Y2`IFVdQ&MBb@0M98H9smFU diff --git a/graphics/pokemon/fletchling/anim_front.png b/graphics/pokemon/fletchling/anim_front.png index 0f591058a23d5c2945e19967f3475fc73c7b6bd0..87f110df95f86ba5fbd39b600880d898cd837c17 100644 GIT binary patch delta 620 zcmV-y0+apQ1;7Q6Uw;BiNkl12ZSXk~(`~jSB3rkf)qC@RK;_W(} z1YHr<`8py+q!lYt8!_I-%z(to*fN!Y!JTpw#Q%lQ&WWqA<4g!7@(xv`_v!c9j$^+F z_3HKS>ek`mf!9AG*+#~q5RT;-HtTRIyK_=EPu7sSna;QaspWUJGEA-1<)mSN>yW3wQLGJR$3Kp-86=1w~<+Iua6K% zcm6PdIdZecH%7e&~A*5xSa0I=iY-OC?| z6WGfiNuDg+>3}>n9aec#T0j#oqJsulES&({%?2pvrGI^5Lx(UwF#!e7%B6kY-lHU3 zom^)6)|r*|-HnrC7%oi(%*E0MVj+fMF(i;b01#sE`;l$ZgANcGMHB#Pl{jL}JU3GN z+&K%ahbBEh1#1?!Z-A}K*8zlG11NluR~Kek)5mW@$i5Hjx07 zrTs2JcV&N=00O_|%8p@X5KTf^LyMLTIWh@FQRfh~a18}?0%`H#bI>kt3owR&{K30! ze}8`H1UT}>159B6zS}>J!H<0{;Irrch=TBoj)2kYFX|^bdD>p}N(L1G0000F>BjE6vwYzm8DA(`UQGYvt$vzRw5-HD%}=Ofy8Ubk&DNIsBF3h z?4x70&K(L}GuoNlp~HDnrbhZMy*m|Z(9>xsg$()+M(}=q&wuy)bnlN)uU=1A&-V6q zo$-A_UbzSz*MuVhu?o9@)I58k7lIY8PKj@x$KenWgwE!l?rmBizRkRER9#%#LZ5_T zL39ARLgWIlpdLI5TMWkiHQ1|HFNY|??z=8SaR-2b#eciyKVlHr@*i;)&tP{z-rEX` zES4c`FM{0~n9V^z?`8|gschcZx`Lk_S%ZQna^AdeUsB>Pj&4)4btba8yK$Tk{JG75 zxtKSBNQi--4~X_38W19+kb5u&BBh9GfHqR>v-+GXW#Sw>h0&pP4?08R6wm(xYbb6E z2>S!H_L0VyRkPcI&=0nwjwk%5DDS38uY zE)lkw9P23wW&N}NoXy$p}+KCeg;Rb#ClQ;MM+2%joS|J zuG*_lvMk#tLqJ}&cX!qVq=AS}frVN&udQI4Z9!2>oG2&BJU=jh0BLv6?GJj;L`0~y zt_rP>IRkN1B3$uPq$-Vye_B72Pt-v!;-x)AJYr%65&7B-`bfaCYoTihm>v;Ju0ks1 z$!}zc^bQg8IsgZNA>x97sn*CU7vfazIF5K7kH*J*2smNL>rdF|c2GgZ**(4}^?jH9 zWWPEL0BXlCe94Sg9=KF_3S4doC|)-P_`_#?8XRFv#uO(O2r(Q0m(kN2;zIjGn2B)~dN7E%Zv5cJL`XvxsEG#0p~amA_{VkX0?LH`N;_G0)>s`&ih38$~?-gspC^Z3;5U@9{;-@4Ngb`}M&B zs2#uXCD(f3Qq?JNxgnr@-Duzsul31V!kCOHP7DxXWC54d(HN_B1Ju*{ul+%$YpQ`M tcfPC%4c~mSX%x{x&{f}~^FQnZ>Oa54_IkO!yh{K8002ovPDHLkV1jDr?6v>^ diff --git a/graphics/pokemon/fletchling/icon.png b/graphics/pokemon/fletchling/icon.png index 08fd25b8e946ba6c39b54c4079f0a5151af8def7..fa79db78487229a7c0297959d9aebb1b892cf859 100644 GIT binary patch delta 225 zcmV<703QF|0=WW^V1L9(L_t(IjqQ>#4#F@DMRNlWh=qkibZ-w)Wnt*ikh(fjnKE_Y zEC?|WB&QNv2b;1qPS%d#EiYfO6+dHsv|uU#OHP0&0gwrxR)8@A-L{)Wq2u$>sV0B}x^({qh`!TP%;;>}D8MJ@E1dvuN6F?E&RWk4G5^|Ll3X>26000000NkvXXu0mjf?gwG1 delta 262 zcmV+h0r~#90^S0UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0y{Cg>UZw| z006;BL_t(I%k7de4#F@H1pR|65Dg8FNS{0+azl})A<>?tP`OIMTM(kaNVX-q6nCUb zHg2JVEmte;+Be4hs3;eP=-Qze7lSkt)nEuGl3TL`_{0*^9Dg7QoAB&nniCrLk9!9t z#67!&jm+#jTrsk)B)Q3X z>C`u#e*V8F`6d6jcJ{V_jK1s!yneL>jJ8B%KnIW(ly zx*`x%#BbISz(G~Ywt(jafjt9`2JAVI8UXbGpMMq{dX1oOo)-34-$ne@KG*-C?SV4rF@F{+KqbfkFk}&^MK?wAiMRZB2hc_M0-BVm9$%`KjK?hX|+}c~Zb+rNLz$EN$ l1032{;ugHWOa7Nil0P);RfcsmaT)*s002ovPDHLkV1geu5HA1# delta 609 zcmV-n0-pWT1;+)DB#}W-e*gz`Nliru=LQD?J2|y6|J?up0xC&FK~zY`-PAE_8!;3I z@Cyh6of_;fP}N-n_Pb>0kmz#H7hEV_tPG`eajcC(mAk`I#U zO4dyI0F`voNpkADrBmN%{rJBp`EgP7Z)@+M10?iiJ4mZn9bnWEe~|zkv;qPZW$j?p z9zg(Tdqmn5k-|xPgznK6fgmG(vzCAqWW}rl>=pzLG&mWsT_Dx~ssZl0X0I0X&EJJN zR(Ijgx?CgT9yIkZ3y=4&OIe5wc>6tw*#A=M+BAY+1mLE$WyOcv*uUSZ48#!N=excK z&P%W4YsLvor>WOte^M5z>YQH^AWZwITXAwzm{Mew!Vr_wr=DAJQWT!pj#Q$VyJ7vl3%w9YQwjJaMV zbYT5e{>~hzSIvrLCYZku4uF}X3AZ!kj|RjwxC%iuIirU`e?-0okWv}~5iZ=B1F@Mh z07RZ2hC_r?dL3+!OyD;M#xmfwJUgCyz?*__N-K4){z20Nh1X-uWq?c&9$?4

      pne z0)5qE>0g3yuCE|!pd<1Sd;%Y+G4tS(LJhAw%g1L*>gV1M*UL_t(Ijos2K62dSL2H@UcFO@Qb${<1q6<1v2x(+T;f#Y<5 zgn=ZuE-865twSInF8}Pdo1L#He(liw-ri>SW)cwA=RAN4cPcM172-9oFj(SAW*vwt zY=kQTU-m?Nv_k;e2mPhI(-3GLT1p{m_YGj==halM6{7;U5P$C;ZD^t0?A8ch0Y-8z z&;{|=Ah|Rfu5ceG(XQ*zSxnPvBiXXE<9omgVqA^S0ab5_^5+rtI9*u*^QHdN`5u_S zA%Te;5}3##f=L`An8YE1NgN`W#36v8#36v8k%I@rG7bSu#=$x;$806e2hn6jANhCz Y{{_2k(Fb%7 delta 314 zcmV-A0mc650+9odV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0{{V_L&8h| z008t!L_t(I%iYo~k^(Uh1>oGEFO{JRm0A%fRNUZ*qa9oVf#Y=SO12=$Iv#=iOa`|C z0daZNJ=2}~gm|}u=llBi>Ao5T;QqS}XwDnk7Wg^ysjcwb@qf`Y9n4?6(y@e6*&p*| zeGkZ`;QG^@aSxozEuGeV{02#+c^$f$l@O$~e)KqxiHoxbuTuqiqmoz{6Hr@JuhLqS6-JFG*tUjprVz?H{OCJ5ql&+EWs4i!w{P{9-q1x)2o zz*G(eOyy9(R5K143@V2V1_Or#Mm8KWn1(}$U=GcbL?6KDiT>r|2LA=SZEKBNb2QXZx3AHu2He}7> zK$kA1hSDk2U_nO@5_IfRYtVVxr1MhE!RaOB4wb88!C=K1&Z8R|hVFaIf;4%dSCalQk5dtnO zZF0%oxcxc<;F_w(2`p9s_0q=xu(*=|-&|M_@ANL#Q+byF%w0I|yd;1bNa5B2l7s|s z#9Ros1~5v}^G>`ea~CSYl4F2cefr`JEH?>Uy}rZ^=7066M6CoNELd8z<#dWDf=dz* za-`~bOPyBH#i!(0-;*th{UvH$0kciO>%(=Dj`MNEre4L3)6ohbwm<;l>3F^MhJ>JE z$>G&_v$EEx-nk+7!v6u_X&_?js8IoY0}Y7q0RV2P0p{O2TLOU(tO^a329X&EhhfMq zngf?CV1KFBc#@{0!fUV%5ONzJq~R?8;Z?AW{;urtfG?uK7fcZWi+jclfxv+R*co{O zFlGo1a9?{-c;+}|ogwH5f$r=aYRh@@iUYC$zym4)C|5i>+aZS(FR<9trgcvCu>5kX ziT-cfdkmlhfR8dBNpeIU05C!{=+piMv>G(v2Y=mF#-LkZLO3=B1O(m&dB>ObCHA zg%BYzAb2`KFhCKXmQ@xQXdwGNC=K|Pdv~J)M8jr)+9-@ZXBmW=P>KNUf5IyaFX8LZ zRr!De-1HWK2?NB}3W(6INFa`3kpnnm^Lwi8AM=3*+M9K4|BLTf4Y_r_BMPf|jR#qQGY<|c!^7$bLLQ{%SC(Xx$Rf{d= kUfLQDo^AuI|1v-P1Xz6Y$8$HW=l}o!07*qoM6N<$f@`U^SpWb4 delta 971 zcmV;+12p`T2%HFzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lk{E&?z>< z000AjNkli15xrGF4jhWqLM$g-b@u|K;^ zQ$N0AS$eT&SyrtKJkzbO1!8>xI(AP9ECdIg!}G2Zv~j%So_Bjn(80^??b37X;q7$+ zm;#7FF-6-nIK2rRJQ;Lw7S+?lDUQQ|n1mLUK^;NZ7aJv?w-H{L2z+@G8U$j7upxv^ zg0S!E06X^ju79Un<2VS!41Qg?i6A)fk3zq#0=S0fyS&jc6?r|0R2 zn8IcTp8zylv)AunwJq@ItrebN(VB7GDeQ^jIw;PS&lfVXFF*=E&y=~1dz@q52xPRLTDR2xt=KhMk~H}=Mwwx zfhR$%{(m3$YyoUNV9`GSJf#F&cL)TR%3VlM9maYPB~cXX!Icsiw)}Y~x<`fAunaI> z1{k;5W4LzA8Y`&)``UuBqpJuwSlcTB`vUB1fK}EZByg4BrDfG+hv=%(**cJs^ZZO5 z-+CY#fJnu|?k>4VGPF+5=;W+-T+DydtbZwhEC2y+<04Uw^I*G0pt&WO1&0L zH~nB8Fk6viV27FLaur|7Yg-EOnC@Nw`-_>%ogMU_8qH@Do^k^T&|Pf7$>5002ovPDHLkV1jmnv7Z0{ diff --git a/graphics/pokemon/floette/back.png b/graphics/pokemon/floette/back.png index 2623bacad762e70c23f6722a6644f7805d03ff0d..4f76af315b7c36da18b8e2af4c26c39308e96104 100644 GIT binary patch delta 666 zcmV;L0%iS^2JHoqUw;C4NklB0kjO82qFxQ<^kO7 zHUT%mY68nHDeTs$@RVs&r^_~hkV;mia%U@-wkneOXy(Sz7(?b&UDa(d*eX|@!MA5$r}u59IoWkXDjb`0}u$A z1m>v)Kz>LGlYfBAEWi=@m>qxxvwHERfdpJ;0glLn0b`G~fCbbYvIa0qaA1Y8Fi;LA z&{O#qpf~nufQhPc!4`T6a3uX3B-RB?a0Y-KsTY{d!C{q}0>>4)i_`{A1P}rb*Klx# zr#Ao|Cg5vV3?8oT;21{~vT&t4&{%uMEH$P?jJ<^EBY$d*uLyO&*|%_v?)NVOu+Oal zp0g|qF96T$ZMh5EJ-T_mEz5%4w*4kvmHF-!B+^+6k(a#81(3|zfGq&v@h16@W#=3K zfY`86GAnmBa#hLzkLow)B{zxn0VqQ@+D9CMX!%aAfP#%CxF)oT+zVhQUT;`BL0Eh$ zOn}R%r+;lqbdpah&+BPp8`vqJsDU;Ad3r3Jhd;alq=#1Huc}%ffiM++09uzBpEf`c zvPho+y5a!rj{r`~jWIiFNNcd4#^rk zL}S;^-Fi!*baFg-Jl&Kr(G)rr{2BUe#c?FXDSgw)?|1+Idw)+41)(ZBcj$85$CG~m z1-X>In~e4v(7V?1o%kcBCxFvqV;y+dBSf3C&kO(;kj0HYV@$7TO2Giv-<sncgG?|1_c2)F{~i3LD@$S7BU z%Pqhu^ASG)3vTt|D+2|%+yb034+fk+Rst4Kb;ujQEWv>*j7o#r!327Bz6I!weMT^? zYh3UJF)C#Jo9eoNA!h)%qxu8pb8uKCroizE-9=&pCw~G6fro22IK$H&01p%JwJin@ zS9frXB?@@3(j8c&oiR@mbKmuIkUX}(BwrEge&g+X-TnTh1dkwTmAjzb zqnl-0DRX|?_9kA*Z1)Nh$*hIQq>xz&#IrVF3jlb$i9e+2IR^kBHhdJ%5hK@uxa3 zs%c{z*wsK@0c-K|bXhtNe?$W)53R;uMX^2tK~nwzXkDga+5jZrAvLBb0N5V^oXCwa zMHpM5##eR^z$-BXa@cQt5CFiKVt6>yP~AXC^*JHJf4=-UJn3Qn4gjOY^knLxcp*3s mbJHPh#6*sBabfxYGyVdlty;8kSTU#o0000)ip5y diff --git a/graphics/pokemon/floette/icon.png b/graphics/pokemon/floette/icon.png index b68fe21080a2aa1d00cae87540ec996a02edee33..7325584618a31f7c510b2ec779946056a15357fb 100644 GIT binary patch delta 244 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 diff --git a/graphics/pokemon/flygon/anim_front.png b/graphics/pokemon/flygon/anim_front.png index 3b652d364d6f529b0263f052e607015a7574c92a..dcc03a1c5b37abecb2d82fc7bebd2a4e9fef0ded 100644 GIT binary patch delta 1384 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 diff --git a/graphics/pokemon/fomantis/back.png b/graphics/pokemon/fomantis/back.png index 8d76216f1bdb194ea790075f371fd873bb63d298..fe31f43c4f5088455fc1faf3f67ba2d945f29e45 100644 GIT binary patch delta 491 zcmV6a`_E6(Xt(O?y29K?B=mu&4sO!)@W7Z=Neh=-5Iycblh)0lG;Kwy=Z- z^D>x*j?l40D7}$_(wCg6`*sFG0GL4;jFh^)mL7sjtiuYH%mAJbfMP}if30-I6F%rn zOHDTQyh$MitM!8c(yX%QdS0Fbib19p6+`Gca#da_nb*TH5P*4q+1paa@eZ3XehOcU zPzEt(Yb<5b<`fgBIT|a4Z9c|%_FDqH7C^Km{>vgby_xl9{4Ef@P#}tO&?mqt!tApy ze+2|Za5S4_L7afB%Y#{GRp7z(Lt$p!0)37Qgy!u3JQ-~i>lspG>^2FV^o05pJQ htO4E?F~=VbWACkAS)0-i8@d1h002ovPDHLkV1m5~-yQ$} delta 486 zcmV7ae-uMDZry#AfZf$T&0d1E=L2+X1q4ovd5MZDMh3_ z$xytH+2_&DU>N`Ufm+>8vp*P^okpKo%xWO|41op$3owR{*-$_Of2^iN+d2U^4JRZa zm^mbYhcm!vpqB$z^$|2+IR-520M=s`cP=+?wH106=l0{~by@+;B!k8KTmy?TFbiz1 z)#rh5#}Z0!av`6(84v)#9Lm60%KKa4B5;j9tYKwT0M`RRVon2ID7E8q542{bkZpZ# zVx+)2e69eg*4cNse<+^;MIk1aH6^r2VTj75@H7z!U!k^@ zRwglLD3$6^=@iC%QMq&o#zdrTTrslAMTXOPCr}aRu chyDn^0IgnGn@Ta)r~m)}07*qoM6N<$f>Y|!r~m)} diff --git a/graphics/pokemon/fomantis/front.png b/graphics/pokemon/fomantis/front.png index 4ee5652e8357dd291eae66d316223034bb3a3d8a..116850706ecbeff9828acef3c0b2fc7b59f06e90 100644 GIT binary patch delta 459 zcmV;+0W|)n1hfQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gXvSK~zY` z?bN+a!!Qs4;2-ng;2hp8`O?l>%KNg#nZR)mBgrGzfNpKm&}RiVLzp7tX6J zBCTlv!+MGS=(lT!H9VnG{8#xND(@ov^8tiX>ek0Js!*^JL?g{#MuprW8UPnT!D{ zSqt%I4B0Qi3n=eyy;`k$bjJnx!mB}-1NbnxcWyobxS;?R@L~kB3EV8GMV2qc*17jd zo|B*q-!3b_e+=v<*Lad|`ORUSJeOj0g6dPK~zY`?bR<&!$1@O z@RGCwc{6CP;|nyIUzW?76wzei$`@d7nxyQ$0cxKBgIUcj1cTbKU@8#Bp=ic8z@bQ% z^4bn}Z^)TFaiZ_n`}?kSoI~s>82cyB{hfjZoCku=ANibfpZ7`7e`!IN%DX&}633vr z@Gf`{K=R;B+CefNB>*t$C1CF&ficto)lN`1cHsR3JP9y`Ca$a<4B@iLB9hV$VA2k8 zV_yb>#Cn_a?h&PPAD`l-0 z?-hh|zge%>p}pd~B6nIaqyRpQAB*GSO%wU$=HYQoW6lr5VvZBbzz1C#| q=)=Hzjk03LXAV0W}-?JU1*?PYDeM$fHz<4#IY{RzAj>#uY$zioig4O ztfX-T?hNli^k&an&``w(d3u^#4%+g36#(q%QgYCcEs2c^Q&>$N-B<#%s`9vCAUr0A ze96BH$Mz-{5+GgKf5p!T6MJFUv!Hrmm>;#$L}-hEqxA*ai!H--lAV4P!8dwTG Z#0$xZg+5`$7lr@;002ovPDHLkV1mT_WFr6o delta 260 zcmV+f0sH>90^9O{0|5cKSn~}4 z006&9L_t(I%jJ?G62dSLMSFuC4uM8g;HcsTq%w#OE5i*yQbVqXLNQ6*lIcu`8XAb| zZWR_-w?Dhd&!3lNUsrM3uY>5pZMNb(Dj|R)rT7kLblUN22YqF{DcMNpO57Q~gXqnk zub`oZ8+m$K)?DcA`6>jcPZ!IDj%rKHD$F%`bmIstn#SXb3E?q2tc} z>t}$82^jV)s00k-qg9#+&1k-jZ$7ZPvn&!Hd60Yz#Wb_1eFAkUw;9hNkl0 zrAN-XN0x`0B8hSVu7J2)#v3pcGmBCp`L*xuoBgrmF9$cF z1GV91gjpM~9}6y!wgnVmW`xidSj%o=n6|z(uS_6>^yu5faL3R9W$paJ%o)E)nEY@3 zTzD?6jgyw1Gl;a4WCy{B1}tU!av)qbNALuqm9--)?l6F?`u_9;BHXSYcjHQK(74|3 z5Z~lIB5uaGU4O}&9J>$Bb5AZ%%X?^MAbM|7lkX{L67oZK>eQ*z6)28lpWTae%43W;%Y9|b{nz#!r0N&K+c qdnric&;HBL4{Q2)cl^-l+Vu+*5bK5p!QX)Z0000Jx;?w5QU8_Q{!*~RylyBRg_3{5U5d6o9xu zt`OyNObl2Qvtv<4+Skt8H~VMr7X)5jPF=ByZhFgXPsN1eynH9U08cg{;e&skWtxYHGI?f={ zo!mEON)6W1m46#DgzNJX1Vgm7c50n73?Oel-ULI0hu!^g*0>Wi?oLO<7xx?y_cJ_f z-IJVk7fuft+9Z&AAc{Mwsh)_Rzt)NW2YPvVU9jRfmKjGWbt}|IW5Nf4VTe&`tQHc( zoDl#X+ziuDLJQz#80;7Z3OB>haHuOYz%cC)!=Nc-hFWPi#Sr9hJ^n%t%P{|hoH+|Q zbq_f#1qGAyK3jo;!bw_Mk%B^EoKm77$bT@%@puwH>`x*EY5Y9B%lxpT$J_IR*QM(V X6cFo%-XH4!00000NkvXXu0mjfsv**V diff --git a/graphics/pokemon/foongus/back.png b/graphics/pokemon/foongus/back.png index 9bf9e611b932d79cd6117e2cce6c717a1403d0da..ff0eab1f98e62ff90afc75772e4c1c68b10d85b5 100644 GIT binary patch delta 369 zcmV-%0gnFE1KR_TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W?WOK~zY` z?US);!!Q&@1uh;s2Sey)(mf#T&M|7|Hm%~UA@NK1AY|wqBFNIUAJCZs8Cpvpk%3azamb5)AW`q4hw+NQ&FIh(nO&2D=vtq*Tgq7fNig$C|UzxB*e^9 zv6&#Ah%O1Pu!VSD{7^v^?iumZDHj4NN2ul&$1@xud$5H&cSI&_fks$DE=R&0VO@(T z2iw3mv9?BVu#E&3wh%c+0>D|%Se=Xn?tU&ZIt3r^b24)H&YJs7E*;~%lxuCBt(r+?~k7$p(&`%@r@1nhhgjs+Yz20$0UaB P00000NkvXXu0mjf6rH5Q delta 364 zcmV-y0h9jQ1JnbMB#}W-e*gz`Nliru=LQD@0SYdPDun<50XIoRK~zY`?UX-D!$26u z1Cb2QB~aW#-3v$J+;BQ;^_s5I=B;}wA{<7f3Kk9xIrkj^$0Zz zOA@50lyWPQEX!`GV!r^WJQXDh8BGL=TX8`=yC%M#0c@O#vg{0i5$7{c#d?Bx!uzDS z!W5Eu`Aa!f*w09wjydO0TS7fII6lJ?@&{A6vq$8@6ljDY6k^2f5yr8I3os4*CRWA> z2Bwk1!W3f5NC8;nVi?ayBZ1jJ7a6^RA9pz!1^i^ie1|S#tmljc4t~tKOhY##Rumb& zT7MTvkLFQ8&6w;jyDaW z65}P}+>~g-#G4M?13~T;i1>|`f2Qvj@N(IXP-2cOn3JHef~c4_g3ZRPB3+UrCINp( zsB_%U-Q9-%HK-A{?=d;?X^XMeu`YI!_2T1)F|^?6=YKEum?cMuOVoN{R(ZiK(r=AxTvj#2TmzNNtF#r+v_MZB zzANasUw?fe`gGj606G~g-gaAs82YJ5TuB+M;N@P?VR^c!H=8C&^Z^7AGg3Lz2_8y;#E-Y_qJ)6H(>uG;iyV_s1E28{2h_a{< zWnnHL%EDMgq1WRDL?HsPh{6PN4pI2cOYg!t6UYgoI9MS{Lm-EUve~Tc>Y6~N5H$o+ zA%DmbfuJRjU6~d^7%;Y53mDt2B@hCTyi!;M$??e6djQ!XNQ@;#uz*1km_YUbQXvSI zf@_!(V3ZAk>;%poA^`>$$bf-%KPm#LQaDis7-kO`D*_DUyyaspV8EE03NQ=7_Gy)0!EYL3KcT>5+bZt>0000O{0|62}=CacO00VYOL_t(o!|j&6Zrd;r#}(8= z*0baX2xIM$Xz%_w%PKla3ZEbXtv!ZWbP7pj`D{r%gI<2@M(}? z{&^qdk@`8#)!Gc;{qY+i9-Izd7{$>|SNNGT5$y^T{h3ly4u6CYqn7aw{XbMnWfO5P z`z->Ql6%=xnGjU>5>Lw67V}ho#VdmZa4I=L5;Y5jeltnKW{PCI@ZNbvR=IXGKMC6 z{{4r?@#mLUjLS$%E9UV#I9-duvbZJOX37^cM8GjeUnj3(GR)K>&2<)e^1V;s#^@2FMcvrK=d-paU zx5uyLig^7dUhRq~S48<2h_a{ z9Dl43h_czN?Cb-9Od&cFNQEE`0zpe4yEH9=Fko!A7BIG3OCSUwd8M!jl4HZx zdjQ!XNQ@V3bD!*$JFmL;?&>kO2ejdQ=2bg>a$@Fw7n> zRs%|E{zv-@v+BY^DthTF P00000NkvXXu0mjfivOu! diff --git a/graphics/pokemon/forretress/back.png b/graphics/pokemon/forretress/back.png index 851a6c24bdde42bae0515e2b7de927670a23a836..2eaf8358b5f508717bf24eb8c1d7308350372351 100644 GIT binary patch delta 465 zcmV;?0WSWp1iA!}BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0h38YK~zY` z?U6lh!!Qhm4I~FBA?Y3#9frKfo!*?#zuB#PPuf&Vg6~)Fit2GjhU+WI&)4oB6c} zq%lC67G5FRb~PTEzkm@efWpwOHb~<$Ae8b2@EESIgc$|~(0DJ{i0+`I&CgO3kZ))& zKq;Dm9Mcwn!x;#60TQG_9)XTBfKpS0wiWQmbDYV#0w{+ykk^@i0Hrd(l>oa1g!j8Z z+9m@qz@RD+`X!+P0cg7(NbE3Q#;$-9ZQqI1f+0OP2A6fvX`6iJatmdp6sSO30P>eT zAMm26d?gq-jfhHt6l5X_pt4NwkpRUGf+sJ4FAlv)0AA9U;mM3v98es3mw+WOm!f%G zx`yn&91m%?013S;G3h;S({tJbNH-n--lpm4nxl?ds%d@!3UslS=xou-00000NkvXX Hu0mjf9>&a4 delta 456 zcmV;(0XP1-1g`{;B#}W-e*gz`Nliru=LQD@0T)e-MqB^@0g_2XK~zY`?UX@|!Y~X) zk>CJhCB8?al-(>EHD$#nYP@6JIRfWHXm&Z&*hvZnbvQx20rFq|w;hSyZmX^SDQj)> zQBNt|zCP>9TKTr>bGW2r0ia{@zDAr=y0Z>SobD?Id~8^?t?0H}e>X5hbk0e74KSMZ zSd+Tf`6c0I1_r(*=?&PY)E?yGk!ZY#f%l*m0AEsV`W+=`Fr)j$S?N4#5W&HsPbg`Caj3~GO0000d+`o3!O@bQhD;nlD_0u6h9t<3ZlIbfS}zeqAvlUowCpXG>2x~geU=I zE027qFo1=Fg*8WL151gap=lLvOP3UA))XH`7t$N;*@ll*J%3Q}Ttqpi6!|L~5kOeg z4m*>bD-$*9j-N!E8l;nRdZ~h%$2{KL1C%xoSBTk?eOkz}q4)dyyZ9U!@d^wwFkA)w z3Jmh^Gcb|MGBC`GP!C{e$45-S;Au0G_^4`)mop2A42@89O*4ukEbZk*9j Rz5oCK07*qoLO{0|6UEItq6H z0087kL_t(I%k7de3d1lAMSTNPvIaWj0KsSt_*jK5Jx;+xeTIe8q- znMq^N_?D`m~)KhF?{O!iK1r{y)0Ujzwsav2)lm4lP!~Ln+%#0rzDpf zm=~#Ez);0U w%D~_`RD5*3!6WNM6h4U1zL{e_D142N2ZQaUZZ{dFi2wiq07*qoM6N<$f=h{er~m)} diff --git a/graphics/pokemon/fraxure/anim_front.png b/graphics/pokemon/fraxure/anim_front.png index 306c364af4339a9500c3f647a745b432cd688cd9..de1d6b8dafe663beb25432189798eb46b0620cfd 100644 GIT binary patch delta 1205 zcmV;m1WNm&3WN%fUw;ITNklg4~3i}eCS;Sd^Wk~W#HIG7e(| zteZy0Wone%VloiN*8&+8<%}I3CD%|1xNuoL1>mB5%<4RGJFx=i;-q)XSRolW;zGRq ztygwg;he@(1IT^p2~q9$!aTq@z|lW9GKf%!=Usq@)9FMJfsrF@f@s3eQyOn40aT3) z)?jxAUrgiiCx5I=^8WSiZ1&d;MXvx>mvR5*>UuVt!3~8O+cW>88<*4f?{{bKZULY{ zTefG!$A4U1!!Pe{Z^IUM32+^2c_+rf2!1&H`u6sNc;T=uOu*QA(EA9S!uBiPDF6B) zY+(V6)*0)Lw0+2qc;T=tnwzeQ*4=|(GFk?9UYANd4}T>*56szOjt%2eZLN0E&U1I4 zt0UC_T;)!m5^H53I&^i;IsS2$HnXemSOkFqYt_Xz}}|wxr~8q zaG?Vs*4PxD#6f}FkAb#Q1ioP)guuAySk^EUU+KU-@dSL&M?#3!a7gG15cp4?2{l6c zCiN-!K7Rp$zW_WPxF>uspf3fqDBjkmC{%SRya>wZ`psiPsYCuK(5MisW$72928-RWZJ4QSLq6sL0 zzxL(FW!nir_Pgz~^F`8%xk-3-M!{&ZIH70qM1P*>!1;EsR((BB*OT3|uF*g6#@p3- zx=A(YkNeizaf)r~qM8Cw!V7z~$>>CS_|y3J<3I3&MmkWqLm-qNqybJLT_BtzmMRbq zOBV>|pZdW%fLi%J7f0&^f)eaMYKr4^0+B&Ic;t203q;60(fW29gu9mvl(D%syWQGa zpnpQmvD(87`0%g#1-2C*$^vTmHczKx@(Tm`%mdl3J&x?)?buY1jmhI_6FXBm_6IZ! zO+hxsms8D@4*g<^gNFbu?W!k|UK!J#^ zuxSTY&RqyZ(Mqs`7*GOHOtJ$jL|Tx&iKWN=qPhPD6S-+fH(Jpfo=zs zpd(d05*#tm?I1^jg<^meT5$%W0_`8lL+5wdiB_s7up)10SL9In1J?RJ0f3?nk!XZ1 zV+~{nkv@RBKw(D*lpQSeAwe*d9WE>`k}X&KL9+vz(274S+d;BFXazs{L&EqQ{j&Sk T?*|`Y00000NkvXXu0mjfj*UJw delta 1235 zcmV;^1T6c63Ze>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lk~gLs!mj z000DqNkl&ube;6oA(YjSz;A)ry|i&yr=~xL}RJ=d~w)fJJ9PG(A+X0Lvz%<>uyCu?P`B-ZoZjB3I4Md6Fca z3#`Z}C1n4gm7jnzo3si5%Ib%tMKg~RD^SXg`iF#6vw;K3*vsGhb(>UA#d@j%ROLPN`7jJD_S%`91eL28rt zueRs&zpq8~5+MB;_pdLn=JPpRi!dQO`hRrwV)pUl_WZ*Q0J!4FcC`59&&w>%V=9I#>XsEkb%@JYo_5^&-M}o1=`ME$-KWgqEP-|g_^*BW`LWFmp!Cz` z$>}obhJHwRcgEp(y1bz${D>c^!0Bec*?7B1*XO;Hp4LC`jW-*MbkjySm<;lJ`Z2bt zVPjA@IACZ(@n`|#%lhy8fqR!96bpp(gCfAH77K)RKnexIBE{aZiC14Jv|rR*S2 zAb&)H-A8S9m?sb`s0WX{UcNv?)MK3=H-XtZ*+3neYrEHL<^mg{IX3#30SABDFR-on zP-oD@**u#~gkNaLS03*S zCgH_9CVOc2;p`o51J+f8!0ri6x-VK~7k|KB7k;qwpmci^n{V7Im2LQiOC&({l&Oi+ z-=(5R6a63-h`nJ$o&GKg0yKq`CIT^>-pXJ$YWuW`V_nRDArKYV8mN8Bgqn?UaVsql zl4DMus&-(Q=no>ki>e`#A3K^IB$rMIgqvvx3jhV8l4%D<*FD}UPUHX`W#I=-DuD=i3qKeIDSZgIjK_k*MrT?DPw0cF&`C0A6~y_W zJOqF6Ab!#_?bVce(B0tY(jTza^Gpl?91~*Eh&tLc2s?=N0ptr51u7uzV5tuof+6i- x`68J-7MKdCcYy3K0Jr zR6oQiHhy1$zyP;rM_>TzJrhBbJ39hls)J30mn6)Na7v&es7R97?u8HQCuIZ`_c)KO z8Vay7!V?pGl~*@JRVYEA!L^JlHEQ7fHDNVi77_ZMnBw9&uL9kFV+~m3386sTwbp2A zgkb>SWxU95>p({^24FgV6G;PLB;;W@5<*BR^9G<1qe4t}yWNLu2AoG4Y`0r^0PvBR ztc+M51QNt#)T){NN=8ALx0000|MJMl`C+Os#4C-=MN|e zCX7`jJR$j)|BIjPU|Hw!H^W9J=C5(L6uTLS>xnI|1b z18N2xjQbrXfw_iz0(5!+TnQK^1~C8-Yyl?q$uynXgzkezk>_moBmnkzpuP~hT>Gv7 zfdWpi8G!(Z=Trnq9-0vrA~IM-cu7K=5w->*g774Xo4tSv3IqZ?qC9TY5P<3kkB`w! zUf&Q=L4!bo+aj*je>ec2?+HBs>Lo(o;}cZA=5^ri0F6A(1&F(icT_dPFaYp2n&`M)a=KXHJN;nME|<5xj1 hRCGHy{}=q<@dLeF!8G0*$zA{e002ovPDHLkV1hWA)r|lE diff --git a/graphics/pokemon/fraxure/icon.png b/graphics/pokemon/fraxure/icon.png index a84ac1882db6219833b40d4173579f9287f1d1b8..f236df74e63d9b2d33b7d08d6b8cae578d681712 100644 GIT binary patch delta 217 zcmV;~04D$L0?7i9U&W$M`WHvW8f;oxKJyK73$P^Cec zAW!i)0&{RcY$=M{9*|OqJ|Ymjl$VSGR}WI6?PCv^L6+K%G#0Exch8%S!I}ZbI>&Kh zZiCFjbCpfdYytSbP}j>1@R&gO{k)z_CIvk%7475!M%qg0%M`Ufs zk|eM{tzQ!+CYvzvXEtFXvkK#=DJ;Se(FTQD^PL~~_5*33#gF60vmeQueC)>y0CSzk Td;A2m00000NkvXXu0mjfcZ_3j delta 279 zcmV+y0qFk80`3BkV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|6&%Rd(NhIxYviEFQkZ_*II>vphb>~FR{Y$ z6+w#A5HY9D$CXgqC0iq6e|mmRn2>m3!q0eN0<#I@ViCQCi9|~ZwdOlN@Z|@Z#E&WU d!+hw+6999a#}L953%CFP002ovPDHLkV1ir`cU1rY diff --git a/graphics/pokemon/frillish/anim_front.png b/graphics/pokemon/frillish/anim_front.png index c0b2f7b6540f36f750582c51d7dc30400e7ab1dc..161c4bfb1b121c218cd61842278786c01532a650 100644 GIT binary patch delta 1019 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 diff --git a/graphics/pokemon/frillish/backf.png b/graphics/pokemon/frillish/backf.png index 17dd67954793bcad1ce8ba894e84c83fd9d15598..fcfd88dceed204376f3992f4c758d2693505fb0b 100644 GIT binary patch delta 386 zcmV-|0e$}Y1MLHlbbkS3Nkl$*P;Ge_ELA5nvWrlYeM7SzlW6YcLr?lyHC~!?%MVu=Yc!n{p^5R&DBKZ9{$((y!quTK~+=mHB|0!F_R1AJb-La*@S%A>Xp)3tK1)?)K?vl4zW5>$SXj^3p+&l18B_xg_H@17&j!H#x{C!vvOM%iB)B@TPb9#RAo_S{*;1_ giB8gDmiWW^23Az6YmS}3PXGV_07*qoM6N<$f-xAcO8@`> delta 399 zcmV;A0dW591Nj4xbbkN`bV*G`2j>O{0|7YZU3&!p00CS{L_t(Y$L*9&Zo)7Sg&j_S z`RO`XRcO(t>}``2%%VuH;}zEsNeul1XjV{ck8Urb?{qI8GoW$!XA(0Mw-Qy^5_Sw@#22#ULwloliyaIuEr62PLkdg!#=Lv`yy{XwIdU08~RYhXa t=D%PDHLkV1l6ruQvby diff --git a/graphics/pokemon/frillish/frontf.png b/graphics/pokemon/frillish/frontf.png index dd4c7bf78a8939c421b5dd365527bf2ddcb595d9..88713ea3aed584da6e70f69010e8022a68562ee3 100644 GIT binary patch delta 547 zcmV+;0^I$b1&jrdbbkT@Nkl&Udzv>P-I9`}yBp=@*RshvFM0Lv@klWfn9jvvRu$5&L}&DhL3S zp?XvUB%yi-q`(>-0ubY!GQtr63ut^m??yN~#K8-^IP4wC(|?1z7q`dVN@{x4Oag z8S%oHjOnPG(|}L^O55b(5**C z(pXi3hQ1-)8o{fIc1f_E=7;Sguqz5{bB^t~04VH3bcH3Ia~5M_i>j*Z{fuS;GDSdZ zXXPsfJNl91cCKeDz#wN3wy>DTxc{k;)o`5?ClZ*HN&?4Umzq1gET^EZR^9Xzv l-v}*C0328>Ly!EQ(;q+`i`zDf`{)1w002ovPDHLkV1ir;1f2i? delta 564 zcmV-40?Yl31)T+ubbkN`bV*G`2j>O{0|Eh(b)e1w00IC>L_t(Y$K92^lAACP$0g0U zw`}7{DJ0`b3&Ia@u=IwoOj_Rz+o!s;_XxQvkDCSOzHFpE*^>RSpMOb0{D&sjM#uar zEvh^kpvtSwI!5ev4VWkZP{sVK1|W_3dti&S(IWse!75ic0)Jo$Z3q}>gcBiNg1{5u zKx}~=lAh>lAz)1Y0)ZUz@=P>CA>jM3fhH&jeEGq^?+DPnFz}OsF3@I{5x=tg?GdWB zY_7**Vd9#vj{*;Xv@99TWz{J$>*0HM$AN4FjE@tyl=K<&P3Kvp-(|PIK!zak diff --git a/graphics/pokemon/frillish/icon.png b/graphics/pokemon/frillish/icon.png index 8e5f55c2585c76883cb4400ab085d30f2015530c..bc39a2ecd6394107922661b3bb86c1a65eaa3e70 100644 GIT binary patch delta 236 zcmVlE4V1Lg^L_t(Ijop$#3c@fDMRS8Wgh$9q2=qeUqFb>S5IjsaT@1}3 zx)mE75QX5FcGI7@aVI*vJZ6UZ;TiL5MfLlt71%ZSP`vRG zfrP|6?f`H&^8ic9%5WJcAS$i*DZsHbwg+;4?a3pP5gXSfd}Z$=ts~?*VoXON5?c%t z=Qu^W+?6Wu_KE*oUl7KaN*Ic@FhNUUgvVJJ7_o~mXi$@dL4(9)VH6CKUiaL9K}n6W mRWN9|zBn~Qt-zwuNA&^^>Wu7biSlm%0000O{0|Ezo76tnN z007KML_t(I%iWSe3IZ_W1%w#?bQ-6RE*Pb#mJMp|O!Fys@M<5J<_BtR2^!6BD&fzAJ%x^;c=lX&$ z&NadSx5ALt!U#@_FqJ`zFxH^12xASBP=rxqkR;t>XAH{f6uoK{My~%}pi&zee;Doy Y59*BU#Zq|M01E&B07*qoM6N<$f`gfEr2qf` diff --git a/graphics/pokemon/frillish/iconf.png b/graphics/pokemon/frillish/iconf.png index 2f98eb7012b7637340510033f038651e51c26d3b..a0e102316b219ff951eafca223ed1322ede37b69 100644 GIT binary patch delta 342 zcmV-c0jd7(0<8m(Bv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL007ZRL_t(|oaK@s4#O}EMSTMI5IewtNl<#T4g}OFz2OweB*?8) zu#&Co$l?TzP1DT$^lit^2l%yEntbo~8m#BO29MKRLaBzBAlSL-SsqWVVY z8vse+f8q;<0cZ?^sWnXOGDp)?caEFK;9;A}Izrx!y$f%RcrO&z o^8c99;g9A5BEHH2F~Mi?1S9NsVoY-C{G-XoL z6i|cq0~eylnB|t#eq?r?k3|D{T-=HUNIZssny&bg*fAnht*dZ|YL6f^z_Ggjd0z;O zb4_4?+rXqQQ(A0-hM>aLX)`9ar`1U{*pT^1!#0(51cM)YAKw}YK`^f6{=j_Xqj5ka g)CK_Xhvq&3BkXr#5D)vQZvX%Q07*qoM6N<$g3ObAvj6}9 diff --git a/graphics/pokemon/froakie/anim_front.png b/graphics/pokemon/froakie/anim_front.png index a367939521b7ff9b471281c6c4553b07c87c2d51..a47a62f1a75ff77f25fbb53ab467fe6a89e2c915 100644 GIT binary patch delta 752 zcmV2G|CWbbkWQNklBjE6vyR7OO{B;DJ4@bN+_KIH7#V5@^T%r z6`k8rN#wJtENv*M@duC(ZG|qL3${2fg@!cPU#{i|+~0zd*F3V)!f&!}r`eUVrNj&-tuv!%7f%%@r}sJi3KhuY+ur2#(6GmXd$j>!{X ze7>lw*=@EjEiWa@c9og|-v>?uhj7*aafb$c4sc)HLU7SZX+T2fY=KY00=RXWopi7s zT|B4ivac?m0TR(peM#KH)dMxbpTU(#X2e_TPSj9IiGTm7N=-7Ng{-79XLGATrAq3Q z691adyv$4Tnm>0-U8=z*n{4tQXQduX5250-JzN78S`-Bhg>4%{X*fGzh8hi+c@~)! z7`;b3Hh|B<#0DgB$Q?gC6=6yP-48fOf|oelZ9tiDr=70{&?{=Nz7i@pu6q^?Oo?#`9Q@z33ActZd#_-XeF{Q;mDxtanZ)&LRYr3DDD&`>;? z@pLt&f64h_y10|6laV)YjOFmpBHK!zid{mbY i&B!hC$;LeXX?_4c=LK<50YU`;0000O{0|F5E#eh5j00PNLL_t(o!|j$aYui8+faOI? zmdMB{B~vbnDV+i}Eo8I&avic2o!e1K1bKpV~~Anb6<3;>VCJ@^-$ zmg$8J{AhH2b7;vW+At`=FpBbIAe?OPGGv}-DBu|_7)CEVV;Gsm50-n0F%X$OSOjB7 z&rm?F^aJ3jB$1z$fGoIVtCb?(htU^(?_Wt>l6QdIUn-65pS#8QmH=F6J}UGFfNbJw z3h1&5=t7!XfZz%Z#ghq-H*NZlIB&RZ@iIHtH{zxnLiaHr$}eDdHmP-1wQ8maoiZ1e*gdg07*qoM6N<$f)_Afa{vGU diff --git a/graphics/pokemon/froakie/back.png b/graphics/pokemon/froakie/back.png index daf4e1c4d15355848e95e44fbf07fabfe6fc243a..2bde92b01bf15ddcc83eb556ec08204b74195f48 100644 GIT binary patch delta 478 zcmV<40U`do1jhuBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ia1lK~zY` z?Uc`I!axwlBNlpS4zA_}-1-2v>811(JI6kZw-J+j!uAP#0zUW79;OT3z>k0fm|XMo~C*;pD@h?q5biD@fC{1dcB?U?u^U#^T9+@3_(mL@bf# zIwzid9f;z*QLYEALjgROV~kq>wl)kpQ!< zRcWJbf{VG-8Rc;~sNGG@HwqwM0;hg?Z3Xc69D_Y+TuvqEmJq(P37G#%|D-JI6M;TY UW%TH!761SM07*qoM6N<$fx?*ER*wusbm(Nz@#&C`2Ud?#I&KF*SeMpNe?;oG0)^EL$lR1( z(Fw>zoxpek0PVmv1(?#I@L}2x24T ztiE^q1f_HU<2agmaP(o+^v`3V6=Ydf0f*-XFqZ(!67dwie^?m_VwTFdE{KP~1mdJ9 zROrsAPy&zD7;Xo^f7UI7&XpdH0Ju7kGMOTJX#o~-tz|$;U{?bd$Ad+GNR;ECF7rWdw*ChLl6u{@&46@HJ$(X!K2K$V%6tw00000< KMNUMnLSTYXK+yXD diff --git a/graphics/pokemon/froakie/icon.png b/graphics/pokemon/froakie/icon.png index dcd77b2539a1635da2dd9fe5b7788f1b94a2dd1e..620a022631bdb8dfbaa4d0e8738b53ca2e1b5caa 100644 GIT binary patch delta 277 zcmV+w0qXvh1MC8jV1M^XL_t(IjpdTDYQr!PhW!RN^Z`oT-KEwV*H0nnpyJoblDt&# zc2b8D=#W?-lg(BF#+zcrS*){Ppp@RGk6*ge@kPO27UbL66CQv}${x&ZBiozdKg`p(!Zj znSYVYFoIsOX~`hV%>zt+z&_iSoPelH849d}Fat6~NrVB5s4Nx6S!<{;qaP+&_|av* b>&G3s44LEVxDIkf00000NkvXXu0mjf11E-u delta 318 zcmV-E0m1(40+j=hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|FTK9taKq z008(&L_t(I%k7deYQr!ThJAxK^Z=#q?ow-w>r)6isQ5Zvno9+5Ps&gV9TE#bKg{boY z*zb;unoSX4&#Mv@0nKKGSiOcv#s<-vN3v$LHi=&dP;uNE@)6gXq&bGOf3n|MtHP2r z*`M}nr9&e3;Hx)H?p#-=-Mo|jAz!xEMgMbaY*7XL=s5!}z0edC^1!zwGhV=;*is4y2lOtSE!&+hBT8M+La<5p4p QO8@`>07*qoM6N<$f>Gj$rT_o{ diff --git a/graphics/pokemon/frogadier/anim_front.png b/graphics/pokemon/frogadier/anim_front.png index 0c16f43f306b3c17069002d75a35f534caf16232..bf0d8a9a5ac831e82c65b3b2701321de419a7e5d 100644 GIT binary patch delta 992 zcmV<610Vdy2*wDIbbkZ9NklIsH+2vyzG^Q~;+I2&oWpg#gC@jRZ@oG9W+&XMdGI#FJ16!B|CxAQDN0 z0IvdYHj9M35tStfLB)G1qiW!?n*&$1VFkdskWx-~OMmbKkp*r)A#m>{qFztP+s{j$ zXnpSksOX98_lqS%z?6) zFVjiKm`AP45`X0GmpdyV)YO>G`0LyO{>Xt;PCFZb*RM<*)QXj!+Y~bin4qa!JkUKKB6&H0v3DyrHj(K+poP(=7myBc;pR(l)sHh5*VzQ%09Xg6R1Z?%|`s`pE8S z3qo9$B<5p01p|PeVYl1%M6bA30wW8YU)ew2?Y4NlP=5eIRRH3!$4p!VKP#U~31ndFoJo&FIB4527S~jGl)e%cuwNHxRsh*yT?A8BVK3ul z{I5nud;NQie2wj&0(0|yU^w46Kp5K}l;#3@^W;pjCI>xC{;eHp;{fPkLV7eH2sjxc z_8KivZeeOe?baCb*YNnKM89u=Gu4w##5Os1-b`YqPq*|anjq5OTk*&w}#x~qzemR5ys81 z_c&kRfiv5`-Gka&l-0!^c=Elft;bod9(aP?ee1^e7Up^-=!x+HM+=jxj=zF~g_#Y| zf`53fO0c&uskJDZEqGtrL4*5qP-??+0E|t*^DhDwbqvcX3{>tA%JDGwf&gu>7Q@s3&jn8a z2)5s*6_90soO5g4a*qLk4x(QY=rHzUkXZwZ*fwuxE8gBE_8yY9jiZBb7D^uXW}6%o z$^zJ&55BFPEzm&tb}GLG1hPsX9}QuP@c4)4Qou%B|KMPbe|Q=HI{pIu>Ssammzc@` O0000O{0|Fg}bo_w;00XK?L_t(o!|j(bYvV{1fTby1 z?ogAc4f!gSYx>2szh@L(#0^Cbmj_UaAhB6`VE8uRqN`sotIQD%@Gzx&AD)M z{!#Zvwr@|;D6rjfWL(5yKE3xeGt&F)I4|SJ8?K-Kq4ZS^aDQq5mvZjc1c-2gdYpw$ zJwSQHY5^|_UCudUejUI=4}qu-z^j?Z#VxNbfpf}#6~e0ruDUsJ-5AvXQN)E1)2O9} zcEB^h-6sSdtc2I=adG!~8HGwc*Z|6VJpJQx$q=w6IgL2KXwScjI+21mHUN0SnaYIexvRZ;F7^0x*{w03b(7hqtB7WcD`# z7!CsAT@?wUk}a;`lg9eUZo2`_uSy}33GRXh!0)izZGU>a=a|O zZpZ@QyFI4;A^=JyYncZo;1H%JCBX0Kbs&$K#}B%k!Y2?&`TGIrtc&wbbB2+Hkn&_t zkn(;t`@}5aK%PzQFMwvhou==EoJwgWT!HiHLdr9VL@khlsdFwYA>2XROk;6@#I3ZI zuz>x2k$<2DNDuc#FooqM(S#I^zzJANxWW<+*9CHBd9b4JUx0vwQV!b14;%wuaNyU4 z`G)!lKmNC)Hb;FwpPhOhsmGX zvC>5{6 z$Q>tM7yygV)eL*b`2vp-GyOXo+8t+gxd*mT<2b9;V-#X{-&iHdNYIMY6Kw^K3KPqY zy?=s(!psM#AeN(YP?*>#O11&(OPjnyDS`K<0C{1RR_waqOc2>d02rHs2G8zoPB z*(Qew)un=ix3$v+3WRN?V85qnEpQM6Q-sAI{&OmPn?F=A2mF^_@}1)!{OV^xviD#| P00000NkvXXu0mjfxM$or diff --git a/graphics/pokemon/frogadier/back.png b/graphics/pokemon/frogadier/back.png index 76ed262f0d7b66de990dd8b03e65bbac3fff82a4..a3bbaf380e4b8c00380be4a27bf8d9a935fbef9e 100644 GIT binary patch delta 572 zcmV-C0>k~41*8R#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sTotK~zY` z?Ulbu13?hRFIS{WkxRgURlF0@q}gmxEJGH1pFs$MHpXJ`4Gu1q7U@&?3@K8`6-U5* zC};N1-LBavmV#5H?y<3i~i%c(Mr1C12JbF5+Cpx_mFsYD8UIy>{f&%C=3#d zu!KT1Fz+4#5>*KTEbNhgU?mC=JSf5F(G3GiqVE9gXqlMlg#g>>4*(uk(v2r#9stOL zO$Bz?3j-)Yd5j4|V0Z|`CNE}8a1ZFn54E1_JemkTxpDIQypW_YwE&-cz&^)#kD@b^ z7u3$E0Xme=S6JlrVll0OM_&LX;)}byAY!h@mYTGbTMg{udwdpuw_1RoZgd+m&yB)r zp_WSLEkOQ-1`N2m)xgQy(D7HX^#HbM8t{S240SRL1G_3s4S~R2lgJBQi>#zXg7q7~ ztpm@TB4dNTnwA3eLDLM+gtmK0dfnN zNwm#g))O&1JE`b@p(gg8MSb5Ii4U*H<~B7FTSveF+AdL7?A&Ol%qAQGYwCLS$^!?Su~8p~fs%8Tk)xMmz|~T%@OTWk1T-nrHH?ErW_%4iO*1}#Ua-xK1H95j zJcFey-G6@DmH_ZX7qzv1PW@L0NtEOO&z#;GBlzLd@y8+;iar6WirtF(FSG~%0000< KMNUMnLSTXe%>h6F delta 559 zcmV+~0?_@W1(gMmB#}W-e*gz`Nliru=LQD@0wJjzfCc~n0r*KoK~zY`?Ug-C!$26v zV}?#0k`ydB)kNsh<#I)FlpgMWhC(UWMIDZQgFrIr(A~k$(4m852nFv$`8@ZM+}W$* zDn3I(^ZfY#pOrWs0EpishDs#Bs8@pECGrDOVqgK}Xqk{ne1Pfn2LOf@M`6xp9soValtG7y9{>r= zL*xX2k!Pnm&u$2#4$v1L@_wQ6V8UpAXXW=rDNtc*06KGkeF5u$^%S^f6yl zP~`1mF>QedR{$i!f6HZ2A~BO|OLba^tpax8JzUGV5};?Vstr*TTA^CVTch#@K>tz! z8m#6DIDH#g{xY@>Kwi5BT%gfQ%}0J<*QBW?09ba3qExkrMhGCtpabkWVCEPZ84l#O zB%lUirXhiP$m1l?KqW`D(`v3l@h}1w(6foQV(Ua(Wp-f+7>gCI0HgV;urkjbpgwSb9c%T8 zAE+svs1ZIN1Fj#{mL84)R~$_0bi*g!A~U+-G)*%)N_zA0u-HKf=NofE8002ovPDHLkV1kAN`eFb8 diff --git a/graphics/pokemon/frogadier/icon.png b/graphics/pokemon/frogadier/icon.png index e9d47cb9555b0b226ce6a126816425c73780948f..8c11e46256c8031f067f67b16ed74c5b00e46442 100644 GIT binary patch delta 337 zcmV-X0j~bc1E&L!Uw;8INklT42!`+&Mv&026q%Y4^2YsJ^`7zWnUx)BJ2 zUT}bHkFhE{V7GhzHwU(X3oFZ>MOcq9NMI_=z|4rMVg!uCP7Xl8INiPLa{_Y_*kAQ? z0^?5ja@7P3NJ>iZl&7%a~5}}kFh^>+~yl927v~?2Vc=(LNDfEseb~E?>b%s{C*dpkje!% zEkO`M))f!DzZV>}XiDTf{c*(SQatjfrJdo7U#30qwG|kow8f6J2G$mP+CDt&i^fvGS9Ga;&q5ilN&?16ys+I;9s0&^AE-SkTW<6rUZrU@93C`v`a z1SwUUfthSuv{Y0xgCQJ-J_8eZIH+y%G4o&{f^qcW!6Y9uk2vtgM+B4a>=$5u00#@o U>ugZ2X#fBK07*qoM6N<$f@H#+c>n+a diff --git a/graphics/pokemon/froslass/anim_front.png b/graphics/pokemon/froslass/anim_front.png index 27d7fe9eae5dea8b4ccd40611709d803e820d00c..b6ef59fd4acad7d77b10b227590dabae83525b35 100644 GIT binary patch delta 1026 zcmV+d1pWKy2-66VUw;GMNklb#j?=c908rCsFoXc#Mjbp(0HIR*XW$j}4p+c~69BzO!&N#&kwXBi1@PG^ z0%yG;1^Cg)*@MU#lYsXuI_jVJ(ViY?K)>+p#6SM}djc@Re)--QU{Ij|7xpT@0vuL4 zdH`!YsT?8jNqmXLS1nV;+#4z2>ft379(N}OW?(LJWi^a z`-E=v()8n0RGZW?jet$ISu*VS1kemjQAGeiU&Dad6fsLg!&wK=m+e42h4{|J!2x({ zfa5iAi)IMS|2h!P+JVS`GsQi=zJhP$D|aB)0YAV5!GHDZ+20DtYcizW5(Jlv#ak(p zL0;Uv!^Q}@dJE6yE_=El}h;SCRN2Tm&ecwM0t+^t~`qKG+Nl@w1@>OYrv% z(xOV?x}!}x66uEgxAFgr_s<8PZw9h_8{fmWP3i4gkxx4xK3u=NOZ9#xwCng1s99Pd z1HJ=x4gufNc6USF?H{dO{I1ggq-w&b>*t5%bbs*fEu{6}{HHhcfEo{0zmM8_U}<95 zK;W1dLC{3+)5!6orv!it=zlvt0y0Amf$#2}Lf?t?CTtgh%J0w%^g65A;6JJSf~|)D zOv{1jw_~bpB49Ur{Rrm+!UAKHrXPY32b7Kr4bBfwhg1cORxlo?ZF<1K-F^|2uM6Km-0C$TwcmoumVbYU?yKKfe9~#TELXgOPE}~w7v*+ zt6(h6s_ODjYyV3P;z<#pw&@Fkr$re??%7@tBTeWR{ z0@K=3L|crA3g*_nl^4xsPY`F$+_$XlWOqt8?}?QrqeRevnVJFz1ef^tpu$$;LyMjt wa9kZCvf*BsNedCm!pg?R3M$gu2|^qH0;2qp#l*b`EdT%j07*qoM6N<$f+wc(vH$=8 delta 1048 zcmV+z1n2wH2v5VtI6vh?gG=hW3X3u0hk69CZF65Pw!&VD6(q*gc!6lH=5>JjG zg|X4Fh7>uLJ#Er1yQft0Wn*!IY?UHK%KQO=z!nR3bEyt)u73|)oG0IJb) z0(*{Ud~*$7i5Jd@ZvtL`8w58m7k}kIRkA}iXh3kaTD=w`9aZ_eZ&;nefUSYQmm=j7 z00zJYP4OxRW>wzZ1Xu%DQ;3z=6F1dS``rsw2kh=$*8EzCm%&e(KB^d-oumAKrLb6B zgQ4kdDSuF7^YzCZB&0TB)ZGT+~l)$sWtRUd&b$P4C^@F~L-@7yb zS?(})<^Eyq4&HVlX$|(j@s3N{gEzmAdc;J^qvH+&CxivTBK(gd+lw9(0RDmDH}Nr$ zJ5&((_TCu`ZQ_ZW4g#&;zz>M4YMbCaYW<9(hw2`>4biVB)YwG8wESU&{($T+8Eb@6Kod_JxVd<)e}5LrFFY&f*~K6F;pYjVD6Ajm!Iu67p_hkc zbRs!GNa{zu3WJ90&$g%xdNsuP-feGFqTb4h9-k5!w5>zE$}P+1gyytEUEfak=JfEM z=~+5WISpu;#?c@+V_MZ_ZXdeS0(*e=VZsaEg_d>^Neb;jVTSdU-Z}{B`Uj%?krBo0 SQBtY^0000(-a?K4bnlxEFQs zNU85LwL1Lqwhn&AqdwcM5v`|)IIAprYXEUo^lK^n(7mpJQ4J6`m{n7Z>tGJEqrl++ zyj_aJCrYlO2%ys|!owP{<{va%0B~o21yKl?0-TN}?HZT`kxYSv_l$rzKFpPXuxAD? zI6J}EXR8L9K@-yl61Y7!r~xaplmVIn8E=q<%002ovPDHLkV1oU5 Ba>g^3J|}Iuf@pJ+FHtgWp0BxTbGjs5qsA_h&}Xy7gte&zOG>?nNCuQtJCmtqy;@ zt%INOsLyt5MC&Oc&MJ%E8bDkX{aOk?bgwI5R0G5fX4MqqI+(-kC~!CcZo#y9Q=KBvT;aJtH8F4|63T?3sZJ&Q37)x%OL= sX3)g+fdp=k4eHM`vz!5%0T-{=ZvhUs=E1e7P5=M^07*qoM6N<$g7i6V761SM diff --git a/graphics/pokemon/frosmoth/back.png b/graphics/pokemon/frosmoth/back.png index 9c474c54916a751a84cef46a507b871f48753683..5fed28bc8506bc151c6c43768bea845da3061f7d 100644 GIT binary patch delta 656 zcmV;B0&o571^5M!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#QjsK~zY` zwbadyn=lXuaIX?+uaHFTnX!{I@pw_MWl$d=6?d|!a_(*W2CLqB?BjO)1=!Hs7AZmr zKRn~V9g7dR%JT8^CxGH1*mZ675F9|sdRexN!#=eDZC;}U09npJmABP(9mu`=vSnZHEg3Kq__s z{r3psCDFA0PA7XWa)1Hw-2ycTF-yw6h}tH}chm6qlgNObFWEWs(x3VJkO4b@2OJi? zjsuKMxWH6Mjlr-4x-1WCVC$2Vn*Tv66f>_=1sAq`uYwu4GI)!EJlOFAXal&F;`u!T zcEfftHj>4!KO&ibXk|OW5kU3(X9jEn(tyhnNXsviaIbL$TJwK`=fof0-k<-zCqvx0 z6JAer02$QJZwtVeT`s$xILq2?8XbZ5JA?EbY$srR?&g3^3NQiE=yDMA8i-d9LJ~&H zQ=2P(lS1Nbcm`w1vqfNflj zA0udT;D%`2(X4E2MGoM;$Me;dpfigkYrkvm_nQxj@O(=vgl$DWN!!AwVFf6hK>j=d q^glp82DO-D1YbQ^9pHm5A^ri{^U;Tt8-9KO0000TBHaOet5=zgN69_ zM_E3;{{&Dx1iP-S9)bfXSue|$aoDF8pv`NP03gd5sPeYDt^>Jue-~TEy2{()KUowb znC4OYw!n!h0vemx)S;^Vw{y?64%BOaTyGx4Ca?~JI-p<(K(7NZCn1ajGE|Tv0qR@` zgBFBoDHgk z$)1ZGPyl?kKn+67lClpH+9dg`8@@h?4A}V^J7-?{GhYuGumgC&VVT!)fUyY|mzfKig*!H;!X5h-;Eehkoj&DF4f55F2&+i$qFKicMGqU*c zOC%Gm(0vmTK=t!`25bUSgUb>O%1@JUk8uQu{7vwj_{XpJ$KUVC5I63G*OMF|2KDpX z0`Os%%dRKQvUV>GMu7g!FgOR>322|YK2VbaN`TZ@4)cA8-`uMQAqkB#+3a{dsst#6 zbT2b>N`c07d{1VupEsdMLskQlE)7w-p{{^zLp5;90DZ~9egcXXU>jHC+X$K*xFH(1 zH7grikpsBz>3nr1%$dcI?)o;M`~BvFGIYK*VhP;zLkk~<6`*JW`TYc#zX9W8P>VT6 g@Y#da0sh4Q_K~zY` z)s(%C(?Ar3uSJw?;|Yln-JG#QL$MieOdFi|1-zMll`O7TX&jy)**92GE(K^M8cOJ> zmlxn^xHHa=6K1L5DpKs+Z_YV$XB7IUD+t4|4zyf0jU}Pfc1g!OW02jg5%o)dKWRP8d)c_cX>J8Kp89<>- z%z$+O8WCy%Yaxx9ba;0b=o}){0=!QQdqtE6&LL!>9WdJtj~kMKZJ#(oJ)@m~^_FHf zwEe#2BfFkoqTTr0{L*tk=>#*lgTQ!yfOA01*rBv{FaQHQqJw~w5RpLN-9f=qh%GQ~ z+!2AE#K4A-Auf!6X>MWb5r!xi2@@K*I|S1Zs3?$H3@}){SxTXDwkVnjXm!(;5E2-y zmI6cGKwKOpI9sC(b+?92KET1J}vR80@BleA#nY?$IFLbKiq{$QgiIU z6}-O3!1I(f0x{svmi9mCOZC|Cn zjMR>>k1#Yo;9>_Pi_{0uBHQ*;?FZTuUC&^FYcD|8iL1WGRqh4a3vLffjRCd10F`Cf z=bM6*DF1U>P*#FNa8kwp5-l%4rM>YgwU40=`K^K~zY`)s($%+b|S` zDO6Bai>{5L8xJLS=@3(~y1KIT0*bi@R;oGhBKHaGyg|@09a;qF(y`q-r!UZ_=_TbK z*=0JngaJ#wAI~|wmoQ`h^76tk?AdR3J>&oc5q+Ez&uksY^E?v-f8?h`V(U?^5zn(8 z>+4g308d4kE)nawVE&}c(d#-$#<gt?%m;stTTEDfxWww_{6wVos z%x()z8B-H&tlI4f%1cU6fPgYS0GH~@)+ajF1jvcqO(KyEMMUet>E}{f2Ln({3uviz zG%`(viAF$S4`6_)e+4knk+1^B`rLz!VAk9k$9kfXU9|uRh}r|R5eYykbxeS906Gy` z0b?Pwp7rQ-2Iw6kv;uTaj0a_ude$K%p&c;aHjfH|fNh;ogtkXJ0pl(7d~E7N!$)R6 zy+phA2lO(qKy3vx*g;^rAK(Jub8@K79rQo|wdf#VC3wU!f3$ayQx{?bOgndkV<0dx zAw-A^t-D9qdW0eBDj`ClutU%tfrfcP@exMVo2B5gAd9k_fURx<0WN^iYRNIC1H|P~ zg0poXp-8`3<3f$>NV@{;Y;{BXdGmhLERpernbeWM-Db_lqS??|FCzltV_@KwF|{_tsuR}GM!Hi6d9d%S%3^}}A6B-O_bW}L6@@$lub zttams05~4oy0pNl12-dRmmIqyaGHRbpK+)L4qyQlw{;|aM+CNz*w$t0%E*EU`v_z0 z0xotyQl&0{RoS+lDmM_!RNI3J*G_<4Cw2`Lt_mj*Y*bVp*9s%%I{{YL;gD_$QpSou z8)YOY1SOU9FX1}@R+}3yQ}b9j0aib!7}w^>cZRS*>vn7523SyUwSBior%*fruwuF+ or+)_y4^IL9Qz7@ONrMYou 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 R;*|gZ002ovPDHLkV1l@#{*M3v diff --git a/graphics/pokemon/furfrou/back.png b/graphics/pokemon/furfrou/back.png index 11a41d92b35219cb58be4f72ead4b0ca530f017e..8ee8e13cd4411a44358c81b6857a0431a228f8f8 100644 GIT binary patch delta 624 zcmV-$0+0R81=t0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x?NMK~zY` zot3eUqc9MLLF55qvvg?~a$O3D&(Udh#fIJOt^v*+U8H@HGE5g)U4$eG(k>N>-%n|@sp3JA27r|}`;7oCedtfsI z0E3?qpaypV_JZpmhU7DUOgz7F0e*b)d=0$8KJ~%rb(O=GX#h=L(+$|I99aXfV>#pq z#A|K=EA|We=pf%BDH;m+PYsN*#ZO`Zo33jJ5L*&&9fk>%drM-|6T805P6Mx&NnZn9 zTaP-4-6qq3QuVDBjP#Y}RS&3AYxIu4C$0hl3Uhbl}vz{c~#dfwnIEBHz@F4w^p7}3&+kb5b>+Gs3H0G#Q;|C4$x2ypE*EDA8SeT zMbwm^Wd3Zpb%oL0PN4@eE1+hk=<1^kX$a8!-+^_=ruBd zvv6)9DGlH}am^V3h^cGv22}cdP2~eM0_A@Kw?WMVm3jbE?+p0>YDks=H4U(@0BHd6 z`U}8mL!|dHs7g)&vJ$^+|)e-#mY{YD@;7UaRGjK^n4Ax!7lZ|>GdIp4buRcyrgTeTRE@>V9RpI5r|jZ0v_0J z=%a&tgQRFE;6FBSiw%Af3s`quLx9+lcz>&5Wwsi4wM_aN=-T?Glh|!C z4JcKQtze|DG_QIS5D6d($PmMH1nlXN+nq(Go-K$N@r&C|TLQ)#Q zY2ukP01#8p;0RRueof^Abpy)(1ja$l1C_c1Q~w$A4%Cn=18N#z-vQD9;?*~R(}qZ| zV^Ecx0%RrrU5qzWd$E8(tb(DmUN7Cv2vnF#H5}Wj%9JxoeB>%oacKL4Sx9%*_*0SL z>-nQU4prpLI*5v_f9kOYTGW6wsW2P=QHCxJ;2&?!JMd>|2xI^N002ovPDHLkV1jNt BAQ}Jw diff --git a/graphics/pokemon/furfrou/dandy_trim/anim_front.png b/graphics/pokemon/furfrou/dandy_trim/anim_front.png index b8be74ead53da0697c1e6b83de9dac13466858fd..a8395c44385118d17ac501c4e9e9e6f65c5caa07 100644 GIT binary patch delta 1107 zcmV-Z1g!hS3AhQ6bbkacNklP}kU{HUmE~%@# zz99HFuOvyXj&}ecdHWLp(kp}pAiV;p<^c&`hz_Rsq@*`QXMczfj}z7SfMJ>>F+ivu z#<^>pg)!$m=|R|VHxTpwlJl?!qkA{N`SSBU5$V>QL(!L#W(ncO4X}RmG`T4_A7*YK zxKni{ZZL%VEilBY+V2F0h$BykRrP+iy9V5~fBgL?0^AL-ylOxE)glnOf%jiqy2^3v z0hp*X077`)0)G)9_5d%#-Gu>kIIqrum0FlU^y?*{KAOPe9N_e&yGp682{iRJAm-6} z_zJ9iz%dC5pmG!Fy#QT100Mmth|>f{04%zh1~R(8c(MWz02-h)myb_g0Lr|R+{#B| zhJda63S!z`Wj=&d%9RPot=gnGJ}5K9ZlyGUU|OrqyMHwws4^=FsEzS}&D93*_2!U$ z!&L3EV6_5xw~#et``0giF~u)9_fpEz0|;4apf005oYln{p@F*WMc>>&zLjfTAd1?A%|BM-y6a9(nc`t`{x?6h8qn{44P1NFqJ~VdMmGYbgSP zBI1HMvVZIhlzd!6gu9eSG@T7d0t!y$WE(r&k?CpJ3Mr4S#t30kU0iF-FN;e3I95kuN|BJjSv{dQw1m@du?g!=mz1DMHc27)K~ zjK2zoZ6F4q4a5XK!KHy*oYr`{N9%(>oF=#oK)?nr4CL~-e+5utlEgL;w&ttNK`=yz z?7%b-Ce=*AK`^kdrnaKcNe>6X5ClkbRe#wMfrDUFJxs(}btY$Oxj703 z0d`#oS}83Ug&V+gUITS8rW~9btN`Gm9CJ;&fC+6)NF(kM490H=$gs1!1p}8upkQQP zf6)CLyFd2<@eAM<46P3u2r-1PlOTPlyXX(-7bF-~2+{`vl%S^_{y_SG0Qv(BI!ye5 z^r6=NfP=ZiA4nf+tp`&AY=0mjH~^>*x$O^HA9C#vs1FW*(E1Q)f56Vq9R5K1@L%O{0|OA@-m!fE00bvVL_t(o!{wH}isMKSfQ5s0 zw$Q@JI2#Ewj32|I&~k4f4Wh?dZLpj8hl^$zG(Dlgc-1ekfiK!b!HL@!xb(t%gN1p9 zt7>~@Y<0Jt9S0`|2KA@vlDfL<^SpoailXT3cn<)gs|x_cSAQ1(h|d73en7$%qK7Fy zDd`N+8{@;%NYyT297jC{{9mI zZU-GkO%AW8?bT#ha@O~O1r?|73iA*5EyDeyiCvufJIkmAffw< zCnEp>paDvA`S|1nAWwVIjeP9P;IZ{kK}g#xPsb2Txqs>ca;r8mj*s#Lu^TD7t2(RH z=KY$FRG#DnRK{}8)dukO=8$~HRL!zrl>&IbkQF4&+ZR8X;uoBIDP`^egv>QiAEv+{X9QzB`3zq@1 z3qXQ@8GrsPNrW$eA6Nn0T8aQK3%FpGEPEp*AJ-7zF69ADX9AJ{tR#G#jg$c_YXYVO zj8ri)3j!AsE0LbW(OGQ*b0KA+_sa|cX#!{CMiX%is;r)qvZ~#5P2zY)>YOr_3EFv`sk+`=5x12A~FG7fGM+82UH=Kxxz0??A z$}b4;aqOtYY$dmmAVqQdMJ>cFDT-4cwkRMJf;&R==O`fG+`#j5`}^*7!od)7eW-g}`CC>V*mUa)t!$AaN4x_-g$PJq7p`l$oV7Dom` z{rzhPDC9W%Bj`8pyWOZGsJ)7|7{y{|2DM zM3HGAY|U4jyr*N zkYH!G3kEKSK*30y{-FCgc7N^y!dJj97+N1R;A043CPDg8_0b>DFGw(q5Tp+TC|E&H zTl|6a0Ri*}8npNW=|iRc0S8lyKaf6DS`TIfnEpUQum?~dQqv!_KBU?oP#-M*p!LDi l{(zmIS^R3E diff --git a/graphics/pokemon/furfrou/dandy_trim/back.png b/graphics/pokemon/furfrou/dandy_trim/back.png index 9b6f592a4dcc5cfbc8d1602d47e6d288dcd47621..7feb3479dcc6678c4872c8aa5f7f3203582dfc38 100644 GIT binary patch delta 626 zcmV-&0*(EK1;z!CBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00HVrL_t(|oZXc%Zo)7WK!G8~}AeA@(3rA@W({IPYj`IUcr~ZZEJ^TM}|Cn0sUq;ivxs2O%P>t(=DIL!$ zm-ncMVU-}4Lrf|JKf`oPaA9!fxX`#ee{)>uYmN$zs!wp@V}c9#fn?!f0x<#;YLOu{ zyH^CfN`rUMKJ^wI{^CQ}g0DG$7cJX{qdDgbVc3Zx&H1Yk>~3X_Sn^~9H$S!o$kBO| zobM$27lqdxIVg^>RoM*a;{Nf8%^P zaL?WVMs7qkZ#{jKHlRa;ulAO(pgJa`#g_cDkfYHzwkH82%jLcx$eEQ`EQf1bf31qb z?Ubsq4g@FckQUo`RMQZ!%?Si|%TicoIF2w{4Dd+^?d{KI=B!gQ34=Jv0AcEXpN{K8 zTF3$evB?D*!tdHD0|d_$j?6yof9Nc@ARKKh1zAW$VBkv2rNCe&6D9?OLkV(blM6yN zlYb;2&k!`h<2V)q+--;o&+_9G2ZamS3(%<+)Egp&QTK{~v=Mn~Xdn~X=X{<&lepmI zTnH{A%%|!pC(WKH!WObGW2~zzJ#xn10aQ6H9mM?n-Ki>(lfvT{Nw(;55Wx@#O8@`> M07*qoM6N<$f@D7pQ~&?~ delta 564 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 IM6N<$f^qu~nE(I) diff --git a/graphics/pokemon/furfrou/diamond_trim/anim_front.png b/graphics/pokemon/furfrou/diamond_trim/anim_front.png index 87e277ac43243129ca680d9f776dd1a0355f9db3..5db380075511f141fb6463e648e1bee7003c7f4e 100644 GIT binary patch delta 1145 zcmV-<1cv+P3El~ibbka?Nkl*Nl5QV7)yqp?JN%n%I*^3Bs0L>ggHUkam zN~K(riliLCrZ1ooF2DsUYj3p32{H%BQ6>wYA+G`IhhRh54kT6C>W|$mq8t5~B$sQD zCRbMab}*Dzh=CjrrIc@@0IV5+af}!&V3pGklX1+!gn)${rhmMPfpiWKLe5zGcSk_V z$&w2&y$%TJGLYj8e<&8n9DtuXR^Kxb1ni%roWVX)IhW*Z_U_36Go`o?Nuf4RnauI# z0ik}X>q4mluL!VlK(1kDlLYWwkX6l3Nj`LP*w(w|Ktyo_Zk{?WR;Ic?915jRAvPT# zx!Ku2|NckoQ-6{-b$uB_=*s@`#a5O87h}@}?q4jeGXMwmW8lHs<_vrc07A6B12B&Q zjml+Z8}+kGvIMZ}0W(BVTDyPuwdvk+^6mitwJ@gZfB}L%s~VLOkhb5Kfdc^tV*s{j z?{vBB0n-WHi=vI8L!il~(gS`st6mBy_zOTZNdVlT>VG}pVpLawoAug;g{i4;W*%5! ztJet!NR1n%&;i(p(1VbkfCF?uZz~gb0?|@YV1)jj$O%>cw(jjU*5F6!&8>%id*O_k zI$%Tg&wT(#!2Aq6_d=lklo}E8Lj*`%^P;!%Z3GahQdOf>P8A&%+%X1~b%}~LOp-2! z19ryrDu2=~B#_%i3!_c1rhSY?W4BO_X0_!3+Xw>0cE`sMs1m9qVIn})0;Mr4V}56V z#(mIKrZk`XE?j&MxE~s(DXJDIBLGTz=>c7qTK5292@u*Y;YwRu_JFEtmfj5xBeZ!h zNsV^(Zal5~KhqiXiDs8(ulu%EWU%`Md6LG}Lw`c;ozifQJCJ^UM@5X+2Okz$B*?&x z_o*C@c^9caU=}0*xLp{?#SxH_oBntI4|stwf|i`!hbI7a9{ynt0CqW9)#wa7To9}Mb9Mhh37kW8 zB!37FmF94GQTauZ9SQR0^{YJ`a7L+95?u-M?_buwer?=DYJsirfM*_PzbJ!=K&SYS2J5l^%it&lFb{z483lzh zbii$Uo#;BiA(|~RH@n*;L?DuEfs!WRq**Axi)A}?0^h`_kT`Go>2&0?n6J|VMa6h!OI8d2a})E4^9w#qx#`LH{C6(Zsmzp00000 LNkvXXu0mjfE$9fO delta 1154 zcmV-|1bzG73FirrbbkN`bV*G`2j>O{0|O&o4$x}=00c@&L_t(o!_AjZa@#f(hv@~p z%!pFky&x%j5oHgc0a8%25!&Xnz7=8X~S%7?tz)vuP;6 zjDVFK$D=?7HUOrO3wHd610dxr<0hD2286U3$Z3K<6bmF4z*n8BADI~h#y?59!1zR^ zT#`4*+Xo9Ql;Wm{a>S%ZaQD*E zbpjBey7wZqZF2%XcmN?<-vU?$fkvgWY#a5fO|k$`4}b+`QCi!7pDWY9*j5`9BC*ZMWwx3cHLVgMWk=?x5Tj?$U zh*+tz(SItXiZ&d8@Kn|XD%w2p$BYANV+IxJ)&sTBHd+{M3^xUeL}Rs3j%K~%fwmC@ zh+WOkAy6e$Nx}qxvI7cZ*2et70F8ZNQ<=g%4MW)Z9bmtxpQb1~pa=jc>C6GTD6}2` zq9s7+HbW@gw#5J_%O-PSa2R2m50cc_t}cwDHGkJOFrbe#dubhg_g6f+FbF+~!}ege zcTCOsf}yzn9h4a72k%$OC=?*EdN7^xA!2vHtVjSd_VcR)ASKuRZ@&#V!I;3MW*m@r zhCj-p; zkEyX9_J83Wr2v*5Q2T~5w!lsIInfV*Lw__`CAN2WNr>7P5R^0lN6X1PfC~E@@C*b3 z(&<6ND@q^OY(8qwFsy(afK63B{Mj&uVjZPHfn%lbeM@q{f`oF*c7OK+L@u-n0ZBqX zf~-G0SKdlG16f%=Iq1PX`zz_)NkEw1jg2`u0gN8xR diff --git a/graphics/pokemon/furfrou/diamond_trim/back.png b/graphics/pokemon/furfrou/diamond_trim/back.png index 5e07030887a622b1cef4bed5a1f4224983e30ff8..f3f8ae713e433d824987a29797136c89118ea18d 100644 GIT binary patch delta 572 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 AZ~y=R diff --git a/graphics/pokemon/furfrou/heart_trim/back.png b/graphics/pokemon/furfrou/heart_trim/back.png index 90a822eee67dd42a8b80cd418c74ccb3999e5240..de6a039026a64c98ad36f8e30078f181e3a34302 100644 GIT binary patch delta 525 zcmV+o0`mQ%1mXmcBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00D+cL_t(|oW0duYQjJe2k-=BpPP~#z}5BuO8RU?4-jSZY@iw1 zghEf{g9q4`JwoZ7x`~OM$$rrn2L$o|V|Hf(F^cY7agrq7JmdVyBW60+B6Wh4_qBX* z9l(bw?ERC+5iB>hJmuRFaLXAw=Z72Ef0>h{9M_h=PMX9d?|RKC*m0w1i*A4g1*8RA z>0fdR$gJ$BbFp%tQH!pQW3+I9vBe_qznn}U)?Ki^_L^Hd{FN5Zkq_u1+pa7CUm;>< zUXV?)%oOxtSS~>yhUF5gO`yX8&uO`&IEH|D2`oyKA&`W?$qNd)N&>PgD8F2Le=57Y zF5WSqV}d9E;Ddk+gBCzF7Xtb-_BWuEg3B4_5v%mIF!%%w7@Cy98wEe@i8Z84O@RDX zvLVOJ_7vz(bH>X=lMX-v&P^amYybt59Pg?J(|kIG1ymuxvdj-6s40WbdI1fv9yB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@12Qze z@R$hNaYYV*p&TG6T~h=H2*_DG60zDul{gg(4&aTC zQ1woAel&wUcDw0FND=ci9*-j@ivBq!lu~a#X6)G`rY3L190haMf5vKtEx`K7-1X_x z09IR9e$I9SU^8c)9q(XIvHtqlvDX>WUl*p<0)joW0+whtu!I1VAc^@Wg#hf8oJ^i4 z_!=c|;xwd|2pCE%)Am8wfNz?_rmMAZRQL%a){zgG0MjlUK!7>e`3y{w#I}Hk;b;OL zhNFpO8>nzx`#MfW-BKWQlj$Z(MlYpCCT&c6Yri)xnJ9Sf!a0000b^l5JkDcD0086#r-1tS83odIZ~=Lx!c-3 zU`C3R#$>FuF?JnAq2uZEXNLJo{nnv)0vz*E&<1zV6Po%BIR-+kA3OlKiiiNvMs3Df z1a`PbsZ|8sIEaGdlTas$b`XU#Phjx+j-Uwk2~^@QhbW+5O@HQq3`Yri_4xETz%mB2 z)t!B4;Bnb{qif<37|Ve4lA00s;wfOl!;US=I9Xa44fp$esTDnGvx7UFssQPmlt{jS zqzxlxUp(d^3ZVVxNy>D`)sT1Uc=CC7e{u5ZPVN+;WVr@ead&8(v+On>9yF4ViqMjm zUKbadMc{QP#bOu1#cEw8NECxagEpVU_<&vVk=8gE_r}r)+btiS-LeJr>t4Qnm>HqP zu$of#ev)mY^gm@|rTaY})Ac5|Dj(Cev5l|tK{3Jqw|x8nOg+p?^WImM00000NkvXX Hu0mjfvIMbL delta 400 zcmV;B0dM}l1LXsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ll5)MAQTp z0003vQForsc z;*QaHcFnw|`K?3oByh|}Ll^A9PiX5qWElvtzVHBGD@6=|(tphsoW)?=J<6gHjP=+st zi&3f~NE}Ykpe-jcK42C;(u#w&Z!C+j+4%5mmliOry?pyHGeQR!w-UUcq-~V_r>u=^ uzwgOQ%H?ND!%gZl67oSKerImSyoW(w1n;wB`raZt3 z%QXV-cqZBd1Y(^5Jft*CQ7Ru0h^%@0@MDU*y}lg-{`&Rj6iuljAmFYakF)0MUz)To zbj0`PRS$Uku7BYxd)&8itb)9o0Wt@?>^UyzVRP)wL;z$5#J&5+V1?M5Mz~ke^$AEB z*!KXfRD@W&#GwZeih$h@?a0CdYzTP$@<$68L$BU+XKCIjWgZdRr{Gs>x+zRDThiC{ z`~+0H4iN5XuhG}vyWL{wwN}_!2?u5oMUX zdXk@jG8h8%nRE57DQ>$@DbyROGAWyxPRMp6p~j8meOB+Euca1{`CUa41gL36in!KYegHl@Qe}W-^Mq#3`A~Mx%B~d z8yntd>+QyFH@*x-Tv!4`QRamwMM1Y2-bljcYwH2%uF|-zy0YtSJ{W_hP;6_<<+8Rb zf(K6tcDvnSO^;zM4KWxaYu46n_ZZd|U;v1wIe*v`fPk!lhUh+!Wd}=vlrjJ?-5&y= z4Zx8eO!Al}KGDNkNiaxJ z*g($52r>D*V6;F_Fgif9k!OO@>g##G5-K?p48h^L(+3?ebAmy2BX%5*yFfIVwSqCF zHbJet8z;Yr)R|!1^yA#hRg`=bjOn1y@{yQ)5{zN>5s;h<#<0Tm5jYBl2Z)k$!G9P6 z5DR${jHUMnLLinW!I=1gKri{;nN$RL{ekurg{CUf()SDE1k5ANi|VUSeXB_@=33?2 z>kp(45ztE@eJH*D!1@rdKaf5MpFglZ1ndu@u;B9t)`x)of%GBv`2*`i;Oc2*OOHRW zK9r&Jhc(S|=nt$9cE$cc`cQiOfjIS{aQ;C0P!9dU=|kcCf%L)S4^AIS=MQx7`}~3J dA^wm0!#~3$$ze4X)O`Q|002ovPDHLkV1nWbQ#=3w delta 1222 zcmV;%1UdVo3aSc_bbkN`bV*G`2j>O{0|PrvVn{sz00fOmL_t(o!`+ubYvV=~fR)Sm zRuW7?{)QPWpY}%tGul%@i_o)IMI{hwiGdy~4~AZs=FqDp9^@zV)MHO2#M_#x|6unw z^u3XtwWN`crBuWR`+a&d8oinK#q<8n>*DI_>hfHCETx=WoqvhXA|m7;OEmOaUGf8YVB43-Cl*zkmEG!Ob?l8v_3N z?Uw{~p#mV_zJD7J)B2lV>!ix#fbY-B4)Fd%%~$%gZQ@vZSvv!y7T9k&F6d!1?94;} zq&vi|{i3l%>`Y^{Rl&^>NEq05fLN&jv9gIr4nQaZHa|8a3kR?w;O+j82GE*by>8D^ zzf(#-AvRCJuU5BH=x92ppDX_el$&k)A*j~q=O1jfXn%UGCAL<=0^cJ(Hvo;WY0q-> zk@nT~{%P(v>%doQk|LlC<2TRp3s87{fIdF&-X+CN*jcA{Ql(Np`;v}{TVo7#7V?Fb z8lK3%y z%yONr98<{GmErBOGz)@zPYGtd-e5(KVGIq?8-F9Mm&TTR2ulOd14Lc#OaeeaT0>2A z7f92cp+G_z0GRF$0nh~CKo_3#I8DPN9Xfj(fcJmD=-{|I8@Kjwc_wZJV=_cs$b(=^ zyfgkVtPiXQ8W+R*KnX}NG!Ca2%h{^JVlkA0r&wZ{U^WP7thlvX!ci*GjN8LOA6!7J zF@M8X0|{I}wZdZx*Wm%W0)&KG9X*Qkbb(@5e7mE0lqPlp9_-*TEhqt~Yd1gw@?nQ1 z8H_FcQ8)g%{`2wY9j*&ycg9G!d%t-6RR8_C-tG7CA&&Q13xQAU7rPqapa*#0>C9gN z1ILy>qBY01#*7fs-(LlT97T5;D+$PnV1IbJ55%W}vFZalJ`oJogAJCgS?cYznzscb z?*LNCqhOGtuz{S8F~aD)U^GBSFj_#pk|%=E=qt3kO>`m{g2Pqeb%CiB4B9th!||}w z+sD&JFeY?N&{1A=1mq=9CxUU?jq_2ig6LH+CcSf(TVnJ@Fea{^8J!A7e}~5h;C~<( z4j_n51>@4;7eXEdWA6M1!4vbNV2s^>7ti_LsZ<0w{efzVLK79la(V{vgP0f9wLjy# zm;}R*RTew_f%G8&dI_Wth0`BcA3XL4(g)%42i6CV{XyggT>ilN;ITiDK7=lRV14lH zep;Bq;Sa12#mM@@l4jZW2i6C(U_XB#eJC9M!1|C|e;|D*`u0@?k#1p5S#Bv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00Ey#L_t(|obA+2PJ=)c2XNT1771NjJwZFQx;2yo5PYmlbf#^L zE2G|^Z8!i)FW{nAF>br#E)K)jF!KP7TOYgrf4t$nPz>Y0eqW|-pY`QqhmeVV-ko2O zyr%X=Z_aCs3bW2TghQknBMnHa^kJMff0zt3&|BmU79eVYwcrhAK2){PTR3C}Qr)X9 z%yursRNlp|VhCx^o@S20%Zs zJ3+bXCXj$-lAwQ2VQei3)Wy7Kvi?Sg^Q;k)q~o?ZsuG}t#frqU28Esybl$KyfSG!&MOf&Yg zL?OHgaPak#IP0w0q}nJ0hmY_4xZbOP)ZjDE^L3Ue05!moD!JusDv&a8OtkxVCBQa4 zP(7Ex>uqYttz`wa5xz432i{BY7GZ1z@d+%U2ap1wPQY&6U6~F@4WJvKR#2`wF2HzT z07L-aGzJMh0Zem>A%Hy^iBH5P$_02KW|+B_QWw8&f#Itwk76aqqCm z1v=MPnBF4I6KkH`pMPg?05#7qfOU?V^ZdK7 z0K7;&00BTe`5r^^jUOOVc&7+RCM(v*6Z=k8jIE>wm>oDUmK~o`nzGf@3XqCDA7w;i zmRaNQ9P-cKe|@5rV+K;T>Zjin0CW5O&z}`uE$i$nfPH8+pgPA25Rq+n^Rn~&eh7q_ zDCXCF%sJnV0Dtl60!-lT@!|7?ta<$S!c_n1hcR#$*Zku<_2L9#RrBbal9(TSX8_Cu zgb6eVBzhyrBg6}1jTz^6j4Ayw5pWs6myB=UDE0cFfeir0Q|{G|@4vz1#{U|KOJkoz z9#H_k?`9hK!H5GOBHD_*D(GxBdt)pBf!Bi4Mk!I~E`Kow$R1ziBj0I&&PRDgHiZUw z4@}KCtP3Lz=Y4%G#sEQJ*?a|{bw7g@DDmC~eANAeG6BUVEW!PSve}0K>Y#` zGnv{e_ykmvL8;p+l(0DhlDPo}<-LSfkuheQ1Ar0%qKEJR{ScNpLJhzU5C;&mbV5m+0fENM`at(m@d?uU0jr`JrF{^zsu8sYWFw>; z0Ys@z)KWrGw@NCYO`vT%0fCyAQc9%FDWvQJ*cOl;E%G#slqcHWP^DRM|Gx_wgD)JS zKzN9-_X9U^_6LVPTm-~vAhFjDg8V-60)%hhdw&fCn)^0S{Q%!pzEwi9o*JYBAoW&w z0nBvo6hS2=JFU`w`a|inx$dEf1Be;>xl3r0FvshXARz65F08FZ4 zkK-=@tQ-PzY}H?XtM299!9GCH`$eaeD_>v@2zZP&WKi0-z$DKNpwWVH1|}c~_d_5P z{C_GKS|A>7fx8$E_p4xNMHv7wv=;3TP5|}b3ShhAg#kQX1w#Y7TL2n)eIpnFoUpq= zn+v}HkPii82<%mt(}7?Nn>F~wx3m|G=}BRReK6G9s0CvIeMF25Bz#4!z6i$HK*%0! z^ePyOQJ*DR%rAmrIs6-K?iazBjsT*8i+^BPfa2*^Ff2ex=vgpQN0Ug;f)P1Vvr6&a zgtEx-4FFDb{4&R~iY6XlnN?^9whF9P6$r+%atQ{si0l9W{O)9-10l8{P#>_R zm#8W>0QI2<)|=Ai52z1;_J>9k7Joo}5C`oK09gD1^+6o4o**L&i$9<~^!@-%wJ{j` ygVu-MA3z^0{-E`t(Eb1izs(=e9?JiyKl}qUZe@V5?mNu@0000O{0|W`m^pAP~00ad|L_t(o!_}9&j@w2Qh6xr6 z%v%_ufLMha4Pij7cp!j<-(g_~v}zX`sYsI|J1hhcTEgV4!Soi8M@W@2ow3Ez$m9|7 z3^`}0%aWWKH!0#N_M-X7;pLovJ_W&lIl{^0g>QZmaX$AD6Ms&_O@zD~3l|Wb0A4sw zkZ|8AZnEePk(3xX7=MBK5H5cw2p#d zsxg3WofXHFYJb{iFFVU_2Njdbe0F_~nGl;1Ab-99H~98M|9(QK?>;<&?mm4#23}1o z@!^erbOKXdiRfICR3BnH0AL8nAy5+#n+L(}a6TVgV=BZe0Bt^I62}1el8Vhst)F%V zSR*jF%f0^i?guJv`me@$HF!=ki#P&5wG#vUqK3UGWq-sQxz{H>RPe7>vTRpV`GXfO20l@ZNU{s_4wlxqa2w>(E z9-upgWq*y(0Qdx$1DL`p?|{|1gw=SB>1vI@>w+q-#J@+0FR6Q9zuys1OG`~D1hA}k z)D`up?1P}uwX6)FYN^x+U|P4bQVN^8(Mlsd1e&ImI8lj0DMfTK3d(MRVu9$~nq*C* z)QK(}c^iE11B1cuA6T&-BJBLYO+uNC&{Gjr0Ok>E0!RQYkoHrG59u)`ywN(AWV?0e)>`9>?H#T?z%HIq*3+`~h3{ z;rO}b3zvW>roSG4LtyC;kYl6&{ztcuZw@YlF@Di%UAX;%0FSYTfUW%;xXH4iJ{Z9` z1AjLt2)Bd1TZ*e-7=hUJ{Q@`lt6&&K+4cRR6~-T&0O`RMptuwH0Jysfh5@#DKgg?R zf)U^jyY0nX_yvKiFBpAbuiK3G1fw6;=ofE!Cm1hI3e(TQ&^$&X7<0@KIWmy&iM0A6 z7-Iurd$iH3V9ZB3%Z!*`1jDlV*T&p0f`2hK5N3djU|4|s{<&aSfP(R}U?h%^NX~*0 zIZCrk=-8M;%iQ7*q!037`~d-rKaf7i1N9SDWNz^X(l&?A zA23w&u|F7n===fo!Qu}_A9CXlxbfTkf$X99pZdeUG;U>pgf}V#00000NkvXXu0mjf D#<%qI diff --git a/graphics/pokemon/furfrou/la_reine_trim/back.png b/graphics/pokemon/furfrou/la_reine_trim/back.png index e7b274f331a1d28c5e6d11ad68fe3457e1b58fbc..66c97034601ad3d5b9f5ddbbe0ce20e3f56e3c9e 100644 GIT binary patch delta 545 zcmV++0^a?)1oi}wBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00EjwL_t(|oZZzsZo)7a2k_KGrEC>kAeb;P7Sn+>d>L44*qP`N z=m}c7MN#^2P!9lCsd@m0+@%iS_=%&cTfJoX|M(tO6oTNtoer)~?^1k)yQDt1_{I%- zM4V3KtS{m*(2=7C>Pi5#V}m|X04%H~f2hgHoCCNw!9W5y9-{;rH~HNOBs#!zs&%kH zA5y)5(E|WE#OIRQ8is z1YteCGVz?2aC=LT@({5Jm#lGqDEn1KY?191I4ns@+zTmaY) z#1bbkioAfj)(~3)e>(RpX7Yt_KLh2BNu8iCzSFp#(gG+y|CyZEFs~BjwE5QaDXDo8 jVNR95lX^v(qi9Z|0 z1He@r4?vN-xB)i%%SOk}*Q9tK?f%Vc4-q%?Rc$8Zd zP9R4(1F{zIx@ZB{e?be#egi^BK8aeuR6P%2Yy+&FC~Jr~$uy9gpt#o0q%{O%#{a_X zQSLH-3AWoBC6p=nO6i7i5UN#>6ujMJ^ZAj5rB+1>4k-Sr_NCDVvA6+bTvb)MH3khB zR>7W``JgCHAmw0hrTMA?ObD@mZU9G~zs)~`B=&+3rXT_KT>xC)M`I7*k23)Kfmq@Q zhLIOg*BW9=;7{kC#Z(>$H&9MY>I8jpPvd$@3!wb;F*&V)tvqe+dOjsJUqqNw<#SR` dIsWO__8X9qER~uxJw5;c002ovPDHLkV1lC6&-efU diff --git a/graphics/pokemon/furfrou/matron_trim/anim_front.png b/graphics/pokemon/furfrou/matron_trim/anim_front.png index 43f66360b5ce70088ba8287d43b7a4885ce27678..8c3fb414983119b70ca2cc3e8542dc93a807ce7a 100644 GIT binary patch delta 1086 zcmV-E1i|~M38M*+bbkaHNkls)Alr-ussg|@ z<~K>o0hPWhbU|6H<)#Td?-$u1$Py401{nP=2>?o|ZB;0}mdR0O%n}ZSx^<g)&d+-Ud4IMSfG9OR0OmEm0`={{zUT8;nRQ5|ege>RVZh)!7N7>_kAKIXY~Q}UqU4gj z7~>rPMIn-eJ(hdDgFqk)=)qOs`NA) zW&+K{s_ppG0N{!j5W3ul=N>O94b`=Pfc!jAgJT1r5s$wBxN==UK%V>Yx4%Y22%aeK z7k|Ss>C5dO5)3kw zOM-zEz6w0P0zxeX!*5~|42M&!7XIK3WfBax@^&x-#5Gbl3kC{rv$zd}Z}gL3I1kKQ zwJl-hlVJ2XfwpW|zzar?H5k8ehvF<4J%6X20Iq+S1fwHhSy(RWj+0#m z9F3D91MviIb~>UAfDi^BBdtvr5R9jkfNrt_4(N=7U^oPFtUr)G;5+5WrDpws^dTaD zfIc*wKaf5&O{0|XN{mUaLD00az4L_t(o!|j*BisMEQhJ``U zkFm%B&)I#j?rCdu48-yp=C*ix_B_teI*PH@DprBK#xi+;H4z~XkYldzQO(mSk_D>*>#0>rBsMM7lBnG=J%NCIf40e`KPYYB5G? zt-WI)-|0FMz-}4P`-KQp1%PX;&$F2XRQ9&81!pnU^Ct3pzsVdyLO@k`z}RHC@*`BV49pI`pQ&m#d; z(+|J?GdvPGIe);%PXj-QK=KBPdJpJ4S}%%_=l%ka%v=vZH*ui8IqD0*#MR5qD}X6q zfU1%J`<_c~EDyU0bF6WgBam`=Gy(AN6+mg&5IA^%lV}+z&r^5?CsOtj&-g}=T4nj2Ng?|m;mUGkjUILQ#P}tkG-EMUL z8DHakhZ9gBd7a}>^PqIGg|P>FYs}sQLUXmw9JbV&eJuhBDTl!PSAUkvLb)A($i<@G zN9v~Y#KLv878@8L+&!8Tz-}S-m&zE(Yv(#A1Fn7q&~$OY;hge>J6IeN>7DfeK(YXW zE=>#5On)6d(c#XtMX7@0N{yknwoZRig=tOM2EfXg78TLrw*bs4I8Oiu02W#Xq#X=b z4HjfTVbWCxF6VKJWfM#>WX9vT#F-PB^S4yPa4hLPVT*piKx)r(RDFMJlwaUs1Uek0 z{$BuUC9=;wFQ8JkUIfcvOgZHsq$ zKGTvVDJGW37URuDhD&Rf!*53bSF(Wc<$iqX@sVb+x>gX7-;X@t0 z^?$=({|<-{?I`aT$6eeXyn@L0z>7ZMMK0;V%zYRx0l0bFYV!(kQ84`Fen~K9&$oX} zFlNuUe@rmgP%a4uQg{`3cmb3N1;f9@C>Vq;Hi18QLm35wCf*Lt0CkNNPJ)5Ln+Lan z@`HX94D!JFsBTM``6w7YIvVIO79Ow_6OF7()&YeBt7u@Pu#9Q0x!T2f-gkA@Kg7sFD1E_2FCfhyMWaaySA!1%kx@0000< KMNUMnLSTY${|9#f diff --git a/graphics/pokemon/furfrou/matron_trim/back.png b/graphics/pokemon/furfrou/matron_trim/back.png index b942acd6c548e7fe90a02e0fc2905b720995b300..c4d7eb1175ea96485652277959403cd6f90bc3e4 100644 GIT binary patch delta 632 zcmV-;0*C#e1>6OYBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? z76D>QM??UK1szBL00IC>L_t(|ob8j5krRJ7*)mXo$0D$bJU~NqDqtnW(VPFo7HfBE zhrB}2ClKIANynnk(L0hxB}#IEqEnF@B!S3LI zBby`jEYN>(i8>TE$3RRyfIlwC02VY#K7jkI4iuNLAYGXt3BdiZ4&e6O0_2l0_G*~b zQs8zK5@3SFoS$iVn|Z*DfB{|Z5R0Ug6^{d4RxvIoI~#>SB}Wi~f=KHb*_eLDEBUS( zbRH@&DPxE}nWt4csse@9g;|gE%sziCg{Y>)MFy@c@F0fOY2w++1Jc^GF=d`OfP%t! zxvbAp&tdKWbC%LQuYxeQM6PM3(UT8g3`69)oQKfY2n5r*g~nd7w&hss&)+xGVC}mU zn=KV~@s&Mq%k{SgpmqSi!29}Xx)&(5uLl4d3rr9wec1vSa#H~QB8}}9&?9^yZVb?( z;|o)$i*z3#sQwYaS~F%2m~ej43OqOf{ucN+GQc$fXU8po%_xTWHrv_==u3A%YoEc5 z_yaIZjcCmKOMh2l2EVre-i&|^ciE}KK+Pu ze##EJ^aIi{`j;KR33m~9Bw)-T=T}_|oI2vR4TwldyHj{~qzq2F0QQ>mN0@T!|DBfe_nUtFLLx%Dv+Sq&y`Pre=!nrex~JZQUhiL4Crx(SRkb=={o%;%m%MgN(X0(dOWgyo&H}ip>*}+nXvP+y~;KBkAVpQ%XuB~c7T!_cYduu`MQA zfBLq`ymdWGzS&Y>6<^r%wpf2{0BQ&DA->m7*`eM2+|jFm^y3QJqa-`9sR@zshI;-W$BnmM}o0m5G!);+o26G-73e_dA!v cKmEu21TR=Ia#lN-rvLx|07*qoM6N<$f|-#G8~^|S diff --git a/graphics/pokemon/furfrou/pharaoh_trim/anim_front.png b/graphics/pokemon/furfrou/pharaoh_trim/anim_front.png index ede23cf38c2e8ebfd66f5b8bafca803709ab8fc7..a929542a834425c93de68603bb24a4eb04aa0595 100644 GIT binary patch delta 1148 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 N002ovPDHLkV1iue4vPQ) diff --git a/graphics/pokemon/furfrou/pharaoh_trim/back.png b/graphics/pokemon/furfrou/pharaoh_trim/back.png index 2df3bc621f4300acec8a0506373fe903bbfbd1a7..f0bfdcce39fbc58c5ef316f91c8e12bb46e7fe63 100644 GIT binary patch delta 640 zcmV-`0)PFD1=IzQBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00H<(L_t(|oYj@TZrd;r#-*j;SSNv@jAm@WYXmPDZPAIw4jHN~ zOO+2s<(k=|@n; z0Yd9A{=7HAnbOaa-rfYGSOOz7__7Z`e<+qZk~Kc%H=YW8RL3B=B@Z58^bW)kDag!M zp^nM05`_yKBSeHC5=aIa7Y-2iuQ(Qh=lCAQrz;O|kuPHyRPkX<7@X#p$?ZVd%o6+(!L_yOs$$b||ue`*(fkiV5XcA-A`L$Uu%rcnn37$u3QMQ13Y>=Fvl$beg0!0 z@!r?~eEDc_^MCg`OgBwyLOda$-RI#^y+kLGm_9=1A!+Jta{ a{qY+li7^r1CxjCK0000u5)1&sxeB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@1R`cg zb~*q60q{vgK~zY`)s??)+b|Hu?WN!tCxM}iW@^A|1uq?KT@sHSGE`faD&<~;)g}Ri zLp$hJQ@%F{`YJ(pFMgL&e-c|HB^B+|TknVaKHibXUhjX4{y;}tfBux}Xd#L`^-mfL zT;}=9VANP(>T6&M;}1;$fUonQHQq#@913rtigE9b-#dWm3*dV^=7~$8iuokN*apr3 zI3m|TFb)+awuKwT5LLv!f`74f0PmwsArMB{d?an)jNMiit`vKhNXx?T_SGbW%(h72 zIIg+?_-FxxIrIm^T=DRV`h20$Es7IDiFhj zP@AJhs_2IS^oN^zC)HgYAfL@sgkRcEX*SydEdCi7b^#Byr$f#yg)C{EHpo>SNX-I2 zpW4U$C^bNmMvcYe^Y?_TkE@VlVkQT__PcdmhNOpdN+rUxLPXaQtGt zWv#JP|3~GYF(R&!^Jr`4^AD@6F<^RCeXFl?QsyZwOrQ-k$8RKwF%j1m1N;C0002ov JPDHLkV1g7K{#*b6 diff --git a/graphics/pokemon/furfrou/star_trim/anim_front.png b/graphics/pokemon/furfrou/star_trim/anim_front.png index 2dea3113e3b4085ea08faa56b34ff9f05e8a9503..117946c45de769ff52acdc750fcc617047b832bf 100644 GIT binary patch delta 1087 zcmV-F1i<^R38V>-bbkaINklO-ZJBFX_~uCCn?nl}O8MqUH}>MF4V?5$^Pj`r(2~cRmkGWP?qNH>6EHeDOI!yX72}p zu7CgIue1Pg-+xW8?*oGD?x#O3<*B-#w>9dj54?T0JaT)xP_9O;pDHuRkR#sYHpMzn z`&QLqP^BQEH3LMhCSI69m7-CF%x%-XqFcGc7`U?EfF}UQ{(>RVtb=P$8;bOLeE2rrPo0;o^@wLCH8lBx(jQ!4d0&FOqu! zd1u@La$`)|_Kx>v<^bZ(7{{Y*fsK3R5)@uQ+}>kz;{(*GABe;cI35&XUjzUg0TO!( zgS*pu_J5W@Y=M6&Z~Q=nJ%f%_ML_{T5T~cKXaYq5nyyTQ z18Of&R>!hNlv`(4%Gg3%2Y3^s?0f{`x%MKGRm%=H9g z1nBy7dUn8BFa`$l`fs~Cop8#juYxf&kbi!&_T@89x3gf34dnF;pWpz_f-yFbD0=za z0e|i8n;J;|vzy}V4-*5y-L2Mr!5A9|1MwvT;bWcwn+6O7z@`UG4FrY~_kf9k;1J)w z+x87a&hS>=}rlh(>o($pUgV5aP3Vc&iC# zC}#uVORq_MKxZKQ;m2Kf_i<<-lUp(SxPRTA4a9rkq6C4Ajtv_db7MeMs0JSRaJPA6Op}_6PnV9)D|P{@du|5$=M%-#~)Z9qW`Hsd;#6`S%1j#yz>A6002ovPDHLk FV1k(51M2_) delta 1098 zcmV-Q1hxC539ku|bbkN`bV*G`2j>O{0|Y3Bou4EC00a_AL_t(o!|j$&ZreB%hgA^p zvZxLB0A`%56+a-r4-yF&8 zYS#j}*0C4ZIv@)HlcK5$49}JTeBUvt@FdxCu5*3sCAL-dfz}w#_1Zhh_F+$lYpp5K zh~kM*mgeo@kbmezYn`_NChvPdQUCS#zex_@_Bg?|3kb5C-~O?r5`8;ub1bSZ@b=O2 zqwMuuyBv$+p)$P)3geBk3D$wyuc~(a?I5BR14J$-UYK5%qS3ijw#hpyw;KW%_8ag3 zVBcLZL|-#-T*cCuYEMxRm>4{DFGo;o-*b zH-h3}fJoE~V1hl?2Rov?fV?qo0l6?nWqZTDnL2>DGDbz4&e6CRE!tdU{J>Y>pqT8b1)BXHc;^&nW;1;_#H@O(2O#Bmf%x zsSwZ**@kQwunm4uzM(9OyBI($kchS9Ifl$V0jMKUd{#vodjL~XahJxaDQi=Xfuc0! zO|@gdq=T+_ZYC6684Cy0UZAY@WsOlTop`j6#(&&%%>t;62T(TU8Bmp!*4&!)aFuLh zwnPBjI;0~&sixjo`vwuP;-H69;NP(eLoH3--B7AM!vOnlKceUdKfeUymtb@RgU#Wr zU?lVJ2*x9hxsG5AfTBJe9vyHJjGlqK{LgL<2b^;HSupwr^8Y7mpT6L9I|;_nKwdua z34adYBp5>jiK3@3N1*M#v4N=H-4rK(7#RreZoTRX#?U|*n4L2aKIR#)Nx(n=tUJKi zKwv1d4lpth9OBu#tZN{G20$X;$*zHjzJU~Wg?b7b$i%Q7bPZ%65EE0&j)4e@XmBT$ zEFdQXAwG-yx0-NVY#5&LQLvxUaAa zWJCT?+%;TTG2Zw31M33=HT2=V&mUMHV)h5t2jTGt)`yt=fp^5?4{ax~KalbILqiKV ze=uHuV0}3HgYo(U>%-9>UOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00GZQL_t(|oYmF6PQx$|0ANQJJErLaU|_GY1telgeBEgUI}#E| zJV5gZbnnE7viT7Z567hm@n3#sPRi2z;yeG;A>@C>3B!1pNH00YW;v4I9Mc$A!(y}L zd`cvJ9!h?78Us~!X^fIz#DEIm{1VzIfB9;lhD@Q4a$pET7Rm~~Vgq9^3qbIw(UY@F z2b{%V*-oL2^){MG!tE>oinz~f4?F>cAmwfeobrX=L;|JTBLeLM3T~_)5v(Fm^b1ko z!*mD=yVea*YyWI1NWChcps$fMM=>oR1W*0T%~>c|1hgF;PXIsn^Vm@jSl^hte+*y& zodZPu{W=Ds8kl7+=+>FJK)Il+;S8aWfU_C?Ry9MY!UIHw0*QWh_e%Ja1f3mjU4Z`^ z_hry|_Ic+4+%dZjQszc}9{jw!*|{<1ULv5jPp``(_{mo^JB)+++tis;hD89M>|jgK z0Z_}awQND{pL-PmBZFIpg&@3zbZ9yQ$YKrME#*kf~*wnE>$o0n=A0M>q!8gcWndwHuWe+YX0 k_fZ4A-&ebR6%8>Kzwyd4tHP__O#lD@07*qoM6N<$f~!&d5&!@I delta 529 zcmV+s0`C2*1>*#eB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@1TFUW zYpVbN0mey0K~zY`)z!Oh!Y~v7&_oe?4ao=8!0up+Hc^+vm%X5}M?z|)egOG|vS(tf zviTFLeq0TC`H{!mD`nvxe6JsI9Or+<49R#MNe5WQJ{ZXF?`aw9e}1t)U_2(=HV-LY zKiGh!by`M>mp1T1z<32!q?q*7pgy#bF8kVCuufotdd5HbEh zux8@oZWaKE-RDLFM*tJ}SS=x^ywsa;Ays>nfa|~mHFj?j5DO%z>k$BP6C^&UfbI0N z#lY9900Yvku?#-}e-j+FvydPQ@NRT@0`Q}rmmReLwT-FE03GnAfWw+!hk#W>W|0c& zbw(;+DyVBHLoi8z3~kkI2$pETVPF%U>F9(?VNm{vGE&MQ3&8B|f*Q9B zGJ$yudHw`&7E{0pr+^!3ptNr>8cu+?41+P?2@%2sU<$CioCLA>_9sBu9LfQ(2*&~S z)A}mCgZIqZE!1mOgbbbkTYNkl<#uxyBUpAPRw9~85~HPxI*~z`>`=m^pB4C`x>a%#CA<&l3+Op z(26($=`^^MvCI1eBsC!sbD^0H5f&$sv`?e+5jqh7$x&-+7=JYY@@sv54hSiwrVc<| zzdQwEyqUG6%{-|3^Z8pqWYEt8s`}+qsFRH31++$lKmyQ5$dRc!kmCq;$buE`7XjNg z?{=XKcC-z$b`Hh>h{$jOjNe2x%twg@#iR)bHn0l-uf~MmrdyZ82SW)z zd9e&)!EY>Rf?XzGROyPCG!Zk`r3iyev*|WmftaNI({POdGY{MlQ4iudFhy4CvHP9* z8|eYl=DiS_{tQeGg^%`Lc_}K?<6&UwE}q#)>JqmGVCjHO{0|YkplCYhb#{f?*Ay5n>HwQ}(J5+x-MI)f^E^Wq*Y)!4n^(X^}>oHM9f+ zBx`G_7E}Z1yK3{w5L#D-=7H-HbmxGkdb{S5Oi6En#t|Hl z0CW{H6sCIMy6BhAMSeO6h*^Cy=M?;EY81_Upa3EY8~`#0U_PWU2DIl`4_iP?M=TTr z!1pYyx?O-d4}X+?cPY=|5YRz^XtI~Zd1Rya|E{=iK?)u`x$cywaM9~3Dg;Lgy zG5MiKudqQhM$Qmb$^$K-)Ss>^dm;J^(LYxs@A{e?d)&?&qJJ}Ch%)G}2lBlTJurbe z0|Xuud7jRCjS$#b_$%{aAXf6s12vm6xiv*^VlPB2`h1j%2c}l+x8VSYN&7$DCxFuc zI3uDCh>rnhvNVtF?<{O&0JxY}N?H0Ea2f_5{aghSCE8#tihl51BdHZ`9DqeHlHvVo z_qzSPro6Lu^0TlRnpX^YohCu)T002ovPDHLkV1f}*c=rGR delta 320 zcmV-G0l)t80+$1jV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|Yw)Bi{M| z008<)L_t(I%iWSO3PLdqhTjb`dJqRkH}4@rvb`>nZ1x5o#bfEF4}=z6YHD9KuZWu< zW@zE(Z_*@R*Zp+B&+00&4`3;iX`ycJNxIDm!G>0O^i@qd&J*SW94CaMGG3n`X( z+7hdPGCJTOOioi%O&kRU2R*9*BElCWewL1^91-Q|=vC+?|7DCsJ5RZi>BbSV`F+G7 zuN0bOuVu*gnI2NnHOh~BPjrl?{u@_u_Fa! zC;~6J5L5txojI&B34kDCG`&fqZt2HpchEim{A7}#U@CLeeBc%SUO ST7z}~0000i6H2c++UO8Br!1zpJ>()R>JS16Yi#$Bi$DlNdokL+ z8EaSG-H}SK?SNp>`^=kPZ|3_YY? z7*o`t$$cMyec1fU2-t9Y4gr@nn-4U=a#IB0OFj-!2k;a?m$QI{eE~-RoWkv@>X6Go z0xB>Jt_?b5Ln{YZqND)MfijiAEzZ=!xbp*}PD>?NF2spdgXM33d@5TyL4FDfu)$v3 z2p#;a>2V6J27m5+_yU14r8GZB)i}(D+s_c-2o&dt9bLH{?$%lgSTw{55mp%f+-Ttl z!WhT)oyt(2FoJ4N!nfe4DL4~=PohYGM8LF4HBA~t_L9$pFie6{QsxM}vhh%Mt>9?#jz?JwN9P_{n*xVG7}x0 z#|U4PehO4N@#u7BqF$$~3P%?dPfo1Y9gKEn=J31|VAa9W*J{zNB*DvI^gVMFpT42% zu;lx#G0=P23Uq>F^1-dsD3Z%-zVAP*rod^H1nRSLK-vP=iTfl!_Wehk;*M4?7)uY; zec#4-^nVJsjNxWIqBL8(y_jksa&b>NZW{-;l?Bc&0Lm!aXOuH0Nfxj_)4($hjRO_G zQoS61zd3+A(Fy`#4Hkx+Gk!mtU}z)I#P}}2!k{6pc$oyGGQ_*P*IWq|;0_v|mjkSQ z+<@!Py)e9wdp%&DmmNV}JzW2D?@JBP-|D#p#DCJ&T*u7bx(|2H>V>*oR9DifYhd** zH`J}9tV%5Dd0#B8HjH;i>VNTsq-}a2u!MN>H#c3KilCg1zRRZTd7=&}0eBIx`X}Ru zWsS1J{oOii?`?xxO&Wt z&3e1Hvs;sVqPP>ZATPk76FiI>BMkQh1d|;GzZOQ|KOBqMrKajt(2r2DmarIz;G^bpJlmP;VqNYkO3w(<5@8XMKA<&QiTph`O3RTb&xcbFtM}Pfp zY>)gyIlV<=`EMU}I%lf%mM;Ti|3KQeIxndLQ2j|cInrK7Cdb?E4{rtz#(gvp+({Bh zODCuhvOByPy;)b{@3S!=h^0S!$1{gFmHNAmauDKj)#w@Yh8tSDaU;<>%=tWbrj_pC zss>)Eic;G~v!1QejqhmSca)|ZN`L+Bti8qzu&01`%!V5$XdpOTuHB04+R%QjfL(Co zQv}3fHo*xXuoAsP|KP?pj-QkF{vQC>UN_%`2*83}FZhE^JW&>+`aehD9<3MrL7>)u z-Safy&NuQ2P%E*mDSLq84&8>A*Z;D1!)qGw;a67l2Z46n@*C|i^82is6?^C#RTjdc z#s>n4q+2k-{MaazR+z=6L{;~*_<{4me1@|1A-~0hyP9c8>DdOX@!La Q&j0`b07*qoM6N<$f{DVkssI20 delta 1433 zcmV;K1!nrt3+4-uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlBJtzN>0 z000F^NklCPKh9+rPy^+pr$PF zCjgV@B)}LDDt`kw=`S^L-u{^q+m`_r)B7+hu=v9-uZ6DyPz_*#HNPI(_*hZvq(%jt zQn-geo)F?|PoorWy+ME>pvz|75nJI-#h1Xm_Q1FqhQHN(T!Cj5#g8&VK4S$rUWKP% z%TKT~fX||cgFt}l=kp|rtObv9uK5T;j66f&#KJ=*)_-hj+5?Py7Xe~%tgVT{Bv>ns zEd&A)=dyAnkRPqx>EcOZcGsimJdS1I$bGT|=){(qH)f*qn;7AK=_f#;84pfpCTcfZ zvT#&EvEhleTirosW{z)~0ahI>d@DEY4+9(qgXfv^`05>5g9Xp?M?m|~4^)5)O=s;RMlL?$nKg4Pp_+~x}29SX;u}m@|0=nRuEb?OyRm;Ev(eEy(83r z@q~osXgdRwGknsuPJt6fk`~e|aVZaJ2(UC@b}mO3%POI%{@px^Z85qwDG{kXh*5dS z(tj>pOpzD7G|980X@EnTc6(ZgpAK&RHT|i8IGU<)=7AxmtDrDG(2>Z0))>lvmOn`3 zKg%Bs78HS3b&4x zx@So5tL@(#ua&w}eN)YB@13GQVDd84x6|qV_D)5xOmR2Rg6x4!GCYi2BMkRB1lbOQ z-3ue|UW~--b{4Q+Ir#(?YXPf*IH~F4iqx`(l(ZTzdMo20az*JXga{Bg<`r3bC zDE|)L2qprZ_@9-5{3lQWErFwMj7HRH#n!+-fTkriL5A@HZtzn3a$8w0{%j2dLY%`8n@RN z0rn+uMlE=7i3Wnf?bv}1r&OB^fLe)TRoVj-cWBjIo_}(*vL#m) z;K3g>?GFOwxW#wMVKCkAgFtmuo^z9EF9;;)D45p%)8W6h_Q1GeG`a0{4x@k`FnNz_ zfX&|M=0VTIQa_~Hoo-?fOz9|7gczwU?h~A;;*FQ4bu-N#tdY{e=2VAqGuQIPRKVW2 nn5vQ+vr`QShVcJ4Mg9+@a1!Tfj9dGX00000NkvXXu0mjfNpZN_ diff --git a/graphics/pokemon/gabite/back.png b/graphics/pokemon/gabite/back.png index 6e2acce52e0b55eaf5ea16b2a08e32b493c0fe22..9ee042e87c19b39fe9f137173ac557715143a1aa 100644 GIT binary patch delta 643 zcmV-}0(|}31?vTnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z^qfK~zY` z&6GWk+b|G?1!DoVJLCc`w((Gf3KfAgNK$(t-@raVZeXcl5g=`jkaoN6w^_i1bBzEC zP=@&DExz|Hl3w&YG0N%n4pafe6V8@%l7G%B!3_yL%Z$gfG{h{ycyns%5E%Bj$ zl33?sxZBcN>O!c8?D~$I7);gQa}v8lMdUW}`Nx;c9_T3uaH>98iItcE19g5KbmDaH zUYZDAsaSNf#nM9>CM)g+A%5*tNROS>e0m)z{fkNnAzRUsJM37h!F!6Z4 z80pfT0D%KqV9h0epc}Umopk_h(VWstVF@w=g48l>ekJSfLK$FXW|FBCkkP{eLL@*b z+!=Pp!Aw09sR0Au1b5ehB^HAN_(nTefRbA^x+Hjq{@zgXeezL37cSlc@J;ZF++_3A zBQ#-!LME9ez;ZT}O}+^he^LMiT-GK{BHW1JkwzuMz*`Squ>^|v4K={4(5Wr}IYdCc zq8p#fHXakJ3k7Mdl4iljCOqQ5Q_0zOGZK~zY`&6PcF+dvS7 z4Z#3g&8`6zZZyk+1&e?jB&lUkH;@jH8;ESS2#_{MNbAnM8v|M>*9c%BXUG+@|0I_y zl|i-;An&I)GjC?rcX$8oxd*s;-|Y_s>+AP$JRT3!TqS_$V~x(;BI1$y8O+yDx&#{lef6WD>wr+@*dPWd9_pzj~Lu9DYW-bj4to+MUz8}4_s zk@_H1efECOjSc2h-*XcCV@c!+`TXNcrUrTn0-VZER$?WlHd5>FK|4-s_aiZNspK5O z5nJcXNb~^M1ceV@f6xA}kyvRL(OYqwI``}Di+*pYNuLd$L|D89;FI7bxyj~fjF5yC3Z7(=0LxiZ zw)rGj{73;5YcN0C)QPYWAx3JI3-eifxm2>CO(> z|d77PO{0|gFEiz}D_ z007uYL_t(I%iWSe3c@fDMRSAPMie|x&N2%z3s(VYcSVZeHCz;W2tisGHV~8qir*I7 zChfw7J3C~P&!1ub@EH56;+Xtx1RV-?TaXM)Topw1*?V|IB!9C^`!-8tHyNlGcw?}X zE6Kd@sK}|HLslhJDA>D-UCbDUnY19pta+aqS0TiKfU*-9p5m4|KNh?Em8O!U)7|E# z;z@d1lI*i{jiWFt8dhygb!Gq`xL(IK)IP`y&7G>oXEPW5{jRgAnFEtdfNA&`0fUy0 k5SW&a5il(u_!pgzH^jQ-fLRdeqyPW_07*qoM6N<$f-_up(*OVf diff --git a/graphics/pokemon/gallade/anim_front.png b/graphics/pokemon/gallade/anim_front.png index f0cc12f754d5fae17f33a6e7a782bf4c5059d945..b2da036ff1c7aaa90e6a1aa4a2fd1da8dabce64c 100644 GIT binary patch delta 1109 zcmV-b1giVE38e{;Uw;HJNkl3om5Cs6c&9&Y%4gxVgdt2 z(4lbd3*@eI(S8EOgO(0gPxfhZ7tuGhS(v@Pily9i!@FrIPnnx*~0sv=A#&V73h0ALnhobf2M18&5-3p{O#R_yZFm={KR+GRw?g8g| zZ3&=j)Ijj(^?y3CRH=Z*(-#pR9{;*Lx6KmfMxUJU;5T0i+caI?Cgf=H{ZL9Vvj8v& zAn4J_!*p%Upa4aD^4(x*O91i2#E)U`rGjX#aXi$fGE<0s{O(C}2FY0aR#%Cps>Ej>h3Q_BAlC0QoHES;`oT zvzQPsw0{6|`C6^g%)gBF&1(X4xj&RtUY`?E0h&_ghjJ*5&vr>jcEXqKdEs8k?3j>JD0Dlz#ltQX13vWOPN%{ISs-&q%%JYUQ zQ&y}&nAaQZz2ZoHU;jV$-bnQdfslHIpn*Dtpsh|JfNs28A$ax%Omc%$vZ{6OrTktELZO`EbqgyWuT?Bx22m(*-D{P^N z#~tMlyBOeil>a5>Z?c(=kG{WoAA#i~By8oLkuV8cm z{$z#&@f_-m@ z!55d+5D@nO&`S5$0py_(0#I3Qr67txB}7SL*noinq(%-1Q0&frmc``|s(lxlwN4+K zfFTf|`^RMoA}T;dqa>oRk^0d6Z;CmTMk#JpC1NTXrL>n>KP&x1#TJPuw-MNzr5cRq b54QgR8_cTQBKy4Z00000NkvXXu0mjfZO9BX delta 1128 zcmV-u1eg1z3AhQ6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlBYE{#V) z000CVNkll*O6vvNj2MrlSDXEa6D9DqGNM>Mwyaob_AcLX!3&ieRw4Z?1 zz@>w$NisKO;mK3m#XN7C=n@Em&W(o5?GTRzqR-H~lc?~>dw-XAiQ4@9zDD z(7(1eLN;~{K!DJvrzZwt)JE3n7$!d90D3SUpFn^$i6k)o4g#Wc2|ParfLy&0_?LFF}FYu@Dv`LjRZhk zAV=$o1SX_2n}2Bl;#%7Xli76nix%igVB%zyxw<;;0OuytIFLC?AbfL^rLG>Zp1g?3 z;n8o43*9dH-t4bWNchTU)YSqVgbv0(95P0yuC5G(6ZXN$!#vYQ5P%>)`+m4^_5DV0 zpLDR@1{&X*U}X2X6YN2ND~=5zqo@PCOZgakB>wUD*MA5(x-tlRd`F(W|I=xA9RN7m z^q+3tlE5MD8W3(j?af27x%2p*13hqW{Wn>=h-X`KQ35=PmtXQ|P7Sc)5g%xf$8jKmSpz6{IV*CEaZ)4*d65Q~v6ZOO)W1sP&07a%YK4tT`@kHMNJd{_mRENi$JE-TOcWwxrV+uI73--;r? z_y|zcVhkxwD_{M*sKprGikDaga#xK|1BxVHD1SgoZ>taNA}OXygp|%zATQ?C7{hrD zNL0Y498g?}EEh@&se1j@vb1xWs{7_y=2)py{d(iQSAAlh>;J_*>dCAS5Hc$S378au zG?PLo0Z<{7Nq`EW1R#a517L-)HG@KsW>N^U(k6uS0hinHdzk_2v)%kY zWcnDb4-zBQ2Pg%A&9vv=q(OF1_X@$MS4|h(?;fxl(|@a678QNaD7R1$3xj}AC1HjR z7}kJ%)o@Uq&VErOstYl`E5q7P>Of5(@adnZ5`;E@hDJ$grI7}F`ro=WjZ$q@Az~UD uMd@WcD3m``c%D*R7ZB>$$M}Egg?|7W%&OeJCbqo*0000tE0e7j)s7!SSJKWKvL#hgZ;{=~!`< z|6n9II$q?xcXkrn@ej~}9g6%udGC8aoPWPg79I5uAKUAnuG+!kDryBMQPd7@5L~v@ zS=0dr9l$nd17{Yz@0bvOU3W})4j4Qa)txAR0k+(SKp+YH09gPp z<3mc1I^5oIkcA0D)ysb1SqjQ<`*Q=l1~7de32cxg-!`R;Lv@h>&IcjYlVnw#fMA!> z;UVYe2)N$>*qH~vvFY><%2Kk& zM~CjQ?>7PShZ6vQ_ZY+!f~}3&SW$_|UMpq0PK+^Idb2_AXd4!c5f}mPR0S7R(9c3x zARnfcM}4Z)XA5Y?2qs1-<&{EAi{RJ9aG~PjRv17)A($kfCmTG^Y-0ytABd3a9FSNZ zg0lP(3pqAh1h(6-7!*OD8cDX^>I~5FxkVre_|Eu2>-;%8;E?^La0>(iHqzQZ{L3$; u6x2m)eZT*<7Zxxm0efpTkK=z_j`J7r+vH5_ppo7H0000S5YfCjiPpNe*@sMrB0#_Fz5iL zK^r(X;6ulR=(=OVOTgfzAfFIjE<3N0|%YJJF%n0i5VSbUO&nV&s5c2P7 znqX4l*MOTS6fom?f6eLv+*Bwyf^`MB7QhzkdsYHuRfGV*5&RI`0w?hyrH38v?y2C` zgrV#ecgZlr-OsI{HGrsxh(UuS`L-=(9Lj0FPdW&(o+N8~0)Tx=hlZ410HA&YAm^U= z4fXQ<3}tLR8xef1)B)^|fghtirwtHxyo6UWKL*y%N_Uw5e<-t*czz~EZP?Ig(XLhgyFb{kYXv+00w}Jl=2V%@=GZhc2P<_6u%Y103u4j fY^~;T{GZ=n@Z01}nCbfS00000NkvXXu0mjfA$Aeg diff --git a/graphics/pokemon/gallade/mega/back.png b/graphics/pokemon/gallade/mega/back.png index 5c19fd4a6010bedbbb8cd48180466750dc83a4ca..3e7e58a93d41534ccd86ff88b49500ae1c510b04 100644 GIT binary patch delta 683 zcmV;c0#yBm29gGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&7V`K~zY` z&CEu+NX{;`?tn zuT3!E^U#1Y_8O8jDr9UVX1ziKfF8s)8xw;U?Pr+D<_o$7Wps^FnPe(QZN);1<*s8 zA&P#JY7v`10Ps+(*EdhEDs9rH&AS$W8`n7cS)G*H16c!16w%Rtt1qNlq`|RG@TItU zc?Y1lNtwcDVR+3itAHGG&Jch=@%U>Yuy@-;k^zLKhu^vdurRVQWE^~TQUV8ycCrYk zfeC~JAHpk^gHMZ*{9yQhfXi@MzBSRWl^nFdOQv9q9sZC#SReJv92}gb08gWbz!$Uk zdSOa>2IJfB41q6y@aRejfRXL$tqhBx&?0$Q0EERLD7>G5lk6AMMB6OIW8f7k29F4- z11umFVC7>FY6){2Oc!~VdzR(S%o<>M;EI`10#t%gngA@&gqUrC3%sgn0v8a>$L%t} zG2ApkTUO}6xU&tscsCZP;64$pCX9`(IY9yn?+}cF>EslDyptkWCZG+Tl>l}MBcm|q zQpDTQ=6EMv$DAreiZZ|jQz2qtBaot#gU=~A?}8sV_C!8qd80T6?naS-3DHaeQNc3` zKqy2L=UNPs>p0^A0mAceK5CbR4&=Q$wWkBSB%GR?S|MC#>2S&ylLSLa; R#{d8T07*p#PDHLkV1mGGIRXFx delta 673 zcmV;S0$%-+28ITZB#}W-e*gz`Nliru=LQD@1tI2I7Qp}j0%=J^K~zY`&CmWI=>`%~$i`4-aAzAS509CMl*#E3-G9K`B}6PBkXXV{ z6}CD<_xNw%o$dNFbq0il$Gl(O*F8!4AHU)7b!~jm@7IE1pPkmle-GX;R-0hJ>cIiV zPwEmh_W;870Fi(_t4SbQtm`qVPzRcS3*rjz!33Z8*YDXb-@65d^^|47ZgO6a`ZNv_NDC!{1W1h{YZN zxF|N8+o#u+Hc883e?1exiE14GtWHX-fv5onitzZ=m+Bf?O@?iPC&cZ`9f05_MGB7w z!413GvB@LGC<5Rp9)HaR8h1^^8Gx%=@U52vOFbP!#KBW01#r0R#EY<-n1BoLA-JX) z__Q2FyTtbZhvKq4bE4hI8EAtW_dqE<`XPESKWbMQIGiOwf1Jz-0*}w%Yq=@O494k` zA@DeUnp^;&r@MM9!rafbC_T&piAKPer4l&H?n31qqY#gPo2%$QD!o7nP+zJ5GaEx9 zCO67py3D$4n5Hu~YJlm2!{>VOP6QYw3BUxE^LYte;;AMH96+!bcZy(k2O7{36}m9) zmVq1X#smeNekPUH|f~M zRF;G&0$ecRJOUO1A-Wm(oPdiSc)o2-qBqGJ#W8R-SFz>YJtc`Di|;29vI^)$!77ybSKM#dXL{x$bT00000NkvXX Hu0mjfPt7r+ diff --git a/graphics/pokemon/gallade/mega/front.png b/graphics/pokemon/gallade/mega/front.png index 9ec7aef414fad34b7500cb611f29d02c7719e60d..23b3bfc07718a2753169bbf26ee4c060a4f8c1d8 100644 GIT binary patch delta 953 zcmV;q14jIk2%ZR#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um19wS8K~zY` zjg`M^+dve@?_3lD_MnqXf=CAcD3(Pg`{b$ZP^^pr)7V>w#)Csfd&nU=*+UU{l7_fP zr*w&NmzJhryp;s9ltMzrBvZ%6e?#9%axBR)?E|0T-pAkfefP^K6qpbhEsF$vo>XaN zDY24)p-z_*D;*f5DiBM5fYuD4OC&Tc;{(;wqxn^h$sS-Bj{`ks$$`S7HC8_{E8}(H znaC{wlM}{eBvJa}Cjg0dJf9qC%tfhlbLVb)MrCaQm_P*wor(PPhAM0k0FO?}Fd;v^ z|KT+htuX9?g_N-~6~Gni#0C084S-)haGPUJyvK>Hc^2+|Lyaqcjb-8vJRnsy@4&>( z1zRXF8TZ~18}`_zj3n9-$%+ZxwYzZuzKF^>%LxgU z7yBU5Xw(9r=Wh=t`hb1?;sLfSHB586764YTe;{HX=W@ct_g&Krh@|}hs16?=bDq)Ovx7lB=Wx}hAUDTNZQJq`hy55Tpc z>xFMHs(etieV{f6q+J2%Bu{CHGXYfULO=j;s}P2KnP?rB&C}9=b^3;dU19}( z4{3-j2mt{44XO43sGwYCURY@Xcpe)5N&KIbAwD z^nlt7z+3=-(4Ghf;q+Q(%bWwc<5d6&vC7=dAS{4NeLL80UG^%_a-o$aL}@kOBCI_F z2fjzN8USVOkmPG9K@OUGND&o+gO}8auu#@mn^IAAoi*WXJT+g<&YVt!1&y(^4`3#q z5InzuSOwrU69OIp60t`JfQm2R10X@dc{qb&72B16#_TCqnI%VnJggCOD$)$V2i9H` zD8T}yYtrl{;8rUJh+{}=^O-o16 zr_0?1AgqY>7@))eRp+`Jk!%$rCKS%~$P12J%{WkqzKzgEHZ+4dkL;fJKOdPPvHbrB bLVp1i@@Hu{wXu8F00000NkvXXu0mjf8JVH@ delta 943 zcmV;g15o^)2$BepB#}W-e*gz`Nliru=LQD@1txetgJJ*x19eG6K~zY`oz=Z-+dvox z;5!$Ef<4^HAweXAKZ<3M$v%5(I}|Hpz%fNx`GW zmW!1ZJd_HEC7>|{Y)OQ!r+iQ;Jlg+M=fnf0(&M1RZ4x9rI>ysa+)jD3@QTPRfbj_z z1SyQY_z57^jP}QeI(Jdx+}ydFoH3#=fH92FLuayoa>G=<2%yGZqGUq<ve|Mk*_~nD!4DUtfICgZeguCA`#+A-f(F#0}sF-(9#LWd?7-Br? zyt6YBR3?8e_WL{%5g$68u|@z~@7!;k?2G8Rihp*xLye&G()G*B=6gHswj(1*KoMGH zwcEA!zD-3woG>0Z-GNFFW~ECG3r37^M0_}Mwg#F@5M^(Ue{?~S<~s8c@nZmOAwX=F zDfFY5$j?W_$;i>Q9u+Pno0!V$A;J*|Ko16h5K7bXh2c8wD1cv76M|=CgeLM`h_I|` z06PBmU~2UF*DoG$h+>)Mb~ONYuzwKZ9A`4Ji0`|m8Hl*^0JNSM9Se~$U>?kz3JLt8 z6*nV3w5cJ$f3#W27a_1UGCsCh0jhPK=ckKcmu;v=NycCZ*BQ+L-3M?j*m~|8JT=kJ zJ3gq+fU+xrL9>h%1ec&(lK~RItwI?3i&Ss%be0wRywxq4mQo7<%o3~c_s|V34M6}P z-%_d%K!fBW_nMuQz^lRXR}uhrApnwP6OW5}wrH&Kw5TVT!JtkpvRY3T#GMz0jE9eqUpvO^0J0sSjLCfoYzi#cl%S~@%gE9P zKUjIns8}K=*0lF}1?sYCAGw^n`AA)s?Rf@+44`h>IYEyO(0^A8Oj^h_c+jb>&>oC0 z>h|2{wt#o8#mJz<3=A20=OauRgZ9SH)x`n4QOO8^yubL!1W7gs1RWBDszen<28Uy~ zF-1%Jgo%+a zVPphRm@Z5ng<8=btb_?*FAPB^jEqJRn!_v%(EjL$rEg9cHuTr{6(@|Ts;3Z1yf8c@ zqAth delta 389 zcmV;00eb$o1KR_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlBw29N*W z0003#Nklm#W*3?7V>lV!QHDDi6JNmg)PxCY zX-f(iN28s{m-8RaIr#|rwP(x$AU_bwxjdG@uE2s_37Up;Mt@=-{N%-%(K<%XyzTDw z1~f(6Jqo#W^O2?~y2}Da89>u^OM;dT&^HTAn#(PC(5bD^9!xLl_A+F)K=iJ~#Gyb2 zhD@UO5w46uyYX{%bpUTvG6A3%u0AqD!p0gwhXkQ2QF+ebRECXd!t_bhkeYQH^8rHG zraYDLrg&#~mVT{3fgMWD@zm6Q>6-3OzqwDSlH||dzY~TWg^}bSOdlp+h0z{tgbCm% z3_&N1T#X_$gGCsiL+OX5?@ky#4zKH9oG_-Uo_>g#m*CFbZSM jpt_#-r~W3)Pkwv><)+0f(OFKB00000NkvXXu0mjf9@MPs diff --git a/graphics/pokemon/galvantula/anim_front.png b/graphics/pokemon/galvantula/anim_front.png index 7369ad8556e06b5c6e44d358bb386017038e7a51..20b458676602eca06427fbb7595ef72b42821149 100644 GIT binary patch delta 1246 zcmV<41R?v*3atu|Uw;I+NklV*1mcQ|7lot^LfS*Fo;nA=!EF+hTzMHXgu_< zo%R7vImjw+7zLd=>SBfvK|mGjK?W%jj=~@aFhCIgpeW_MTe?~EF2mE)upflsRF-oA zoM=4xb#xhCTz`f^s7`fRZe|0(fV|P+G9328@aO7|V&y_e;QF$2MlQgg?oX?}BFiKb zVFa*8a0>+Jz`y+zEIC)>2wd(5=rIb-0H|Eal@QdgAvSLWbQ4>djbMXsIOn_f*a8aR zuLCr*CA#3XswbN@0LC0_bQSze0FgnY{>|qoGq#Pt4}T%ZM6j7B{bApq@4md>`laE5 zF9Gw?85pC|8@qP$v8Hd|)*XyLWGq@H;9uj(&Y$c?v38Vw8{2_PH_)B%BGVaI5z&lV2jzoc$s0!DBceS&1o*Zi%BTokiMuCC~BPSqG z9{9vLa~ve^-=@>5D(C1QnS%H;{lEtMw|{4-v?`emaLS71L%_VZelrMi5(Jr~G6#59 zBY0T_OU;%DCk-6{1qPBA_7U|%CIhlHHOTpHjeNK6y+aOdW(7us`XN%ClT9CfZ*A+J za{#0=v^~zTr7eKJV4&=1#DTy`DG-sfq$xYTcl3MA%sEVQhZv40Ia zce*KZ#kEu*9DrXaVtfvm;)%pE-S*X@ggIbxjoQSUa!qW!) z5PNd~kATcBl9ry(CX&4C2JLwYyUjdCMJE;=Gr-VAg>jq|L7q|19$;ORCcJ7h*JU0} zS|OVR|3{fe5?-CvMUz(G`4;&YO;=&Tt0*ys>?%1@BA-^k@gxNxEHw?j5T(8)tXkem z0|?9DMPk3w8tE0u%h9@MYMHw$Qc=iR?nxcw{TT`KWd95M2W*tdMeO!Mng9R*07*qo IM6N<$f_lDGjQ{`u delta 1279 zcmV0HsxchZuT3pqdy8)f{u7WDv9V7@%s9Y7CHtuN(j|2#F2N#zr+a1wuY- zw*{a|{sGW-A!r{+P4uK&IWf=<5d83^N(d!6fOd%X;}Com5w&Ie+F2LiOn~ae4U$u- zqhpK^A_$mPUw?|AMAA_h1OYk-!tXV$xM)^x*1W6m>@4gCVK`CM1qV(v8vio53NNq1 zAk-(Osy4C?phw@Da257DVfa&dN2@QmP{8$7=bT=GKiQv@eN9zq#=`($kKz$1u%3VW z3Dnhv90%YEJ3xmsXavC2(n1PB^%~;k4S;Q8DYG7I@PCPOv3rjtU;zF)KqH%?3tqE) zx>*6>+`&SZ!Ou95IYjzjqK_))+qk_CLB@m4J>_@%{$lsl{npPl7kmY{myW#(^ zc{2|nLVt|MbRyQ>frRG(u`5aeJelfYcHMe4yKI(AAeq3 z^AtpN{7O-BI;FU5I9T@Fg~*tSF{F|VooU%z_oUBwYu0hQ#c+?uq!|Ex2Kf2fP8v#| zqdVqV0sv7Gl+~ZlJFeoXEo+)xG(A?|qp9m%SARTjHa4P1a*NxPr5^}cW^6VVTsV?F zQ#BP+&tboxTn3u|O7?7P#XCx^C%SrC|LOW* z6}cBGs{qxN9-ciAc`ksI5<~9Y(F>&7eC%==Iw3}Ke{%sKmlitmO)bN*m>aR981h?jvHnI0X2nEvu*xs(DF#d?=XjxQ&2~ya;Pwbp`i# z1+l7m5srko5CXziwfYi3iPnN2X9^^!Ys-gJZVu17u6x`SGG>weB{`Bthk$$U{6-KgNDyR_(hT4Y2k@#4bv>IRoYqVL6c|We zSVzXnBHT3tIqxLVr)& zF{lH9lTskEU`b0-KK*>xfzJAEQ8xv3dnq157R5x1MiI-fb7xwzP+SiRL;&y$MT{>1 z6P!p)(`^msDa-)lYt$y*q#g68P+V_PDF`+k>9!lZY{&m%1+g~+2oK2YGHsd(Z6e9L zZqQ0JPK$e-$xbXfrhvYS3gcurS9k}^vwN5qV+pU?+;zFfl2WJ^#r-JrXu_-0yjW5S zoNrmQ(URu8iV~yGhsj9EqFaH$(-eSmE2H*!l$HyawYrrCP@cid)P8N$G85x1(7J3H pnY$}9dBv03TUH}aLg4?l{swH6$wkdtBy9iy002ovPDHLkV1oScOAY`4 diff --git a/graphics/pokemon/galvantula/icon.png b/graphics/pokemon/galvantula/icon.png index dabf742e99a806c599e69d53a231b837d08052e5..81e82230ab66df493fa8460f9d88e011644cfa35 100644 GIT binary patch delta 365 zcmV-z0h0cK1m6RYUkCweNklDWh(J`>(;4snS<$cQtDj%IIjs8H?r8B~Oj+{;zX5o4+bk=M8e z>N==3c@#vKb)3ng_ivL~`eEgNe0~WGc|%~RvC{!CCf^T$A(8DnV9Ks|FEgKkk(&R> zVwrWo#CqWzB+&!2)$PxaLG;l9qgrklhX%$nFu4+FiJ>_{XBx%Y37oNr5@W}{mN`V5 zF|hXtV_zUQB@2v$HE@vd20adKL%&jsgV*TGB8~y{W!u=6NRY}x|00000 LNkvXXu0mjfgD0sC delta 399 zcmV;A0dW4`1AzpPUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlB){D8u| z0004GNkl5{PG1!L`Qt9{ z(+i<}(0yTB>xfP_(p0fjx2GQC%qtdePvc|Ze6+~0;`Kowk<_b&m-0ie5hGFMRVIqg zLANsnp(>t>;2_JB7l7BRmyhyyTOZMvVF7acH5HS-SQI0Ca) zG5`em*#RSN0#ptL)&*cn!LTQWrbxYMuvA_M83&nJH;ff8!F0gE-6LJb45h902?uB4 tA(@`zuy1f@I7CM2J`TIf%}8I}`WwRi5k-$m``rKl002ovPDHLkV1ibEr=I`- diff --git a/graphics/pokemon/garbodor/anim_front.png b/graphics/pokemon/garbodor/anim_front.png index 81f91a5c1f30dcc0dea15dc7cb01fd2890baf758..b211c33cb8ffa43de7b97672c59e86b90c8fb02f 100644 GIT binary patch delta 1741 zcmV;;1~U1!4ww#*Uw;OpNkl8pp(6ucfM5LpTA z>Ip@-J*1U<>!AnxZVRo|0<0Z?n&*8$L$QLdV`?JZcDCrTKDou#KWsBQnU0AOIyI3U0% z0kq8Od;<~7n0GevxS&W<{Z}d< zbSMTAIGK*${WTKa)o73cCZ{Es1oTPy?D6~4t4r}_dYJ-@%I^>Z(<9EgIC*@T?!#CE zsEoCnhlV(LKajxm&ot0dz_NEFywPuGlTQL;6^AsXvVYvbg@qs1zNIIYocXzVx5MTDH99&iZy4K98wFrVS>#(fo;TqFU3IS_#OEqDP1Bh- zs{zEoWPhwP_7E#w(IWsb+TO+hPlgli6`f_4@tqg|;C_a(0#e&H&vNb%Bw&KMfjwX= zxB&5{D`hm7-qA}38ZmG$oGTsMaw!BA15H@3fz4Hei6Tm{f*}CCi-y?)*W)Xb$tlg| zDn!6Bgu}$)x}Kxy!AHDkj28A#9)j-<)*x&GyMJm3M=M>}I1pnCZu!{}R%i#nnz@Zy~zT2eDgKdeo*aZOvI-n15&UHwDh6H4k z*}#&3T`=%9wyV0JVcOsh9qrLMO{URgtVm5_-K}OAg9(kE!|#pda$+cK%@xpTt6?_6 zDSzeQ6vMS5V2B$t4dC92E?!*iLb1`?l|Tld;||-7Nedrc-G!WXpTTZdby4rS!@ag$ z3D#KZ7P`+^y`y^AMF2PP>BLIkGT%@j446s4vzMKnN4S-?E#5=^J}qb!EOgF@DfsuzRMA5y!v5`55e#`(F{_b{_l zTJuK-X#p`XzdIxV<#(4t$n4kWGk;>pOO)To+WPcLwUA1yRBrqPQUHuMU#>6&Owc1S zGYOP?tHBt7>7_Wr7Ea#J132+$5M@*k@9dKhXVcMO9)NRSE8{Rv&Jg-C3+U8EyCEk* zR6c(mc@*o-!vv`P{IULA<#yqD>q6jYy-_NPi^=Je=aD}MH42dm6SH^lq<w#%g-i!o8?i!=1fKU%gi9dYD zO=;0vP)O@R2ypU;KUOuBd4JP-5DJFJ9|e<-bdNmPZqDdIBp3jNQ`<&>(to4}X~6&o zGdkrp0zy52Rx1$ z1p~+r!llY8J*dqH1_H_tw0x$B?Y=}kxYY^;1A!qpJoE!Sr(5oDH-FLt8H3&Ep+Lm< zl<~CjvOD7sCJ9DzH5*S^y({&=F2OUkY7VG*Ql0!r85>gmfWY@-JHAB-Ks!kM0TrZ5 zf)MXYj!wl)TloV4U{@wqS|B)!iV_UQE>5#EmjsXeK?(-WU2s10{~!YsKG{WH2?hby z!?a*vMb^q%EGe9=A4Vtj(jSoEp`|cpF>BpVNlNSwR)&+Q^DH;|uY7+$6@>B!V-;&D j9vlMtMJkN{us{3_xL>t1qym$z00000NkvXXu0mjfaf(O> delta 1771 zcmV=EUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlB z6l}I?I}*?Vstx-p06H?tRkPY|LGdzCz!+?U?$)5%{%Hxoz@WZIfL;J-nicH|z&f(!z*xmTEvdY&O+Qj8ygP_-Sv4-H=P{mf|k*(S|q+f?99O za7XyCUw`4?s`l5_hT0G}gJ8nC%n*J2#!0=@on?h5)#qp`?Jsw#~API|2!qU~b?D*b9Duc+(ZqnoG~< zp#$|8xX+_A=MaF=_rnlGzmDBif~g`3P{a^`o_|Ht?1Ss^;&ggUtGNmha0uZvak{SO zXsO^MCK|noBa}wqyTdgIyTGC9!qEz6HcmuuVOA-PHe`s+Mg+k4Z3gFz=TC3rn(Mr(bU+{Cnx|k6)FmLJGy+Qkc238~*smIb zrhjRJJ94zgr?i-QgRwkyiEXzVVGJhJ`wqW9k)IPoVQa2{ZbwbC9xf>dCm((*0!Fwo zlK}3mDDmRg&gJXEdMsrxs79Io%4I)A;Llw{Q)a zG1yHKoMTg#Mg8Ev*8Rf-k(JK~QjEd4@B4>?ILpenI1zcGxW#j?{6qW`5jpuD*ErX* zTn=Zf40cxrgLx3tL)ck5hrgv%&3SxN)bc!|{eQ1CFaCo+fDx<06$?e%DXPaN*nd~N zPiNbStMF16*XZDN<#XLaAiG@r+pSu!labY*db@Q609`sudKS-l3o1*3K{3!-K>^uB zf4B_L90u|*VOpy;%_YG=pgwv*=h;$6EVDGt0cHl@M}Xb!Lw9TLT2#JqDnaWWeZF9UGuYbBiK(FsCd7J(EE(W%Qt5arLG#~#IcV}A}*e}DW~d#-A` z@Vs>)aJJq!5yjc``04Y=AB38PNQ8;iJ9yd)#Ud{LNl_{X)}7uj;*vki&j{sAwk7po zkno5380d%DNDt=zFc%D!1eg5bbu+Q0FmIJ&J*X()LAwzHsY3c*s0U&3M!~4I8}S$g za3Vb*fe8Jf8T$hj?^q8^n}6zNBp7nn=nVygdQh1A!#CWN7TtneQV&9alRx~vs;SDG z)PqnkJpMSCexy9|u-#bDgGev{a>urf0G0np50Zib4pwxkYXpRP0L|uHFt7)kNuX(` zvq}%D(k&ywfDBeT$_B`-#d^@13kGCT^_RT`e=tcf=BZhK#%evO z2X+B|R$t8lwN7e~@2O%#!XFU$c4Eg_gaEXIxj&$SR7eo!DFmI0nYQu=0>Ca$t)xJ3 z7F|j(7&|*Q7Lo*y{A5822CiLjy72!X9Sc6$MOFz00oJ44g`>j^%dpt|;%xm;(-!;z z2_9MsV-~a4{e+~%{$Qm!nL0PPK6vH(yG#C{uVO33gHu4i*!@rV!(X^xwKF83E{^~J N002ovPDHLkV1nkmNy`8L diff --git a/graphics/pokemon/garbodor/back.png b/graphics/pokemon/garbodor/back.png index c7ef6703fb72be1bac44087fab74beced79464a2..d98c0f4c5af873b2ce76561e0c2c130320bb6651 100644 GIT binary patch delta 630 zcmV-+0*U?51>OaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yjxSK~zY` z&6KfnoG=iEiK#MfvcQZdljgv74^bMd3R{g^&*VW|-FujdqolH~@eCE{<+3XYA#uJ- zm6>e8opwL|{}LVoe<3hAQK1(PvU103J3uJA~D^V?U-nGA%JtpY`200 z^#b6oF@WyI__Yxt2Oofcq{z`jJX#>jAc*t}?ti~vS3Fq&8q|ASfl31?>;U)-$g=E7 zugDIJoC9=*CM!vyAT=vz%c=qpP$e3$av_jJD*#Qo0#}~_-~l{09JQh6kShU*A}=gAT1YwGB758u|BR3c&$}MjndzA zI@A1}J)5a8524kT`h9?1zX&;2lCn68jHy; zr|sN^sJk=3Xnz#3dw_iiv^HhV&xDu^aRujqUfDm+S-^x`flbJHG8wAWrQYmf*aDkP zC^;Blao7r|`CUugy2d8s$PKXk-tfVMK=u7lhHo?U7y*7!41s`RK}tLUp3?vr!4EOv zx$#V=4)<;M1&07*qoM6N<$g5ARzI{*Lx delta 618 zcmV-w0+s#V1<(bMB#}W-e*gz`Nliru=LQD@1_Kxu1m*w$0y9ZOK~zY`&6KfnoG=iE ziK#MfvcQZdljaWFJ!I3IRbi`f>zO==t9uVqagy z|Gxw%ivHR70`To(`%cR00+2}pq$lw+4+W$I0GZfoj2o2ICIqMtf0?V6kdR&g+*KAZ z)tLTPQf|QqAj!AnAs-!(We`OA1^2&Ss4AZv02S#y&Om7Z5}p7!2V`0HWM*s!R&D}J zhAJyqA!juw=Y~@SV4zG4;N(IeiDm$*Vg|0x0pI}~3ihu68xtts-n@?Z7!u%yfx^k{ z_ZI-xv%uu>wKl+bf6oNqu4$s^x^J2~r+E%(F#?w=s=;h6w$P5gPlmB*C7yV26{C)9Ms1GAoru~ zE9w(}S}JIz9!!%H&?E!|7f(kPw}ZFj6EFQkZ;49HejEb{C_K%M!062XO$H%JXX;tA9SXT7Nohev;-eQ_UQD@WhQ0 zusvY5)_qjMHp*I?C7~^R8EDmlfuNX^O0Ws#yM5aUlY;=!#O174l0rg7Go=)_21wLNv#=J1RC z|1RpgALBFmL4VLk(j>?MQ?PQB)u3&AJqS`Uvh2%1n|wz|dQsz$PPtLOfZ4wzB@ ziiQy%@!%Di!RS)>vpF1yuG3*RPJKzC+cfMtUR3p9U@fVA;H8=ZQlnt}=EaXK-Z7Y= zaJ;l%55Pbv=Q9k@h_kE$1~fmSqf8s}n@i1-WXzn_z%e*F9_~WP+0hrfVOgGan!izL i^7XoDobwfa1>_5WFWGnL=Pq>s0000GB0-iI(>PU&cmRZ_+^_%cr2oD|(Vu?K?v)m%YPW_A?tgg40xkn)=ln-2tkNo4 z&Iw%|Y@k&HLqRzgt>6l>>-U})CL00L$%S1X4QZgmD#u)5{z_{^+bJcD3=PPP!``_> zU-}_cE7WsFfkgTtX?yBKQY^h7Qx#fn#M3=t&RW67<8*v?FC>|TdT*N=p4|veWLkzj zwPD6f%?b6xVt-!plK8qg&eH3cX zpVh29WgTd%EQ7cdW5>Y;+SoNA>8B2df~s?WTRjVh^uUY<;ia7dQlnt}<|T}+-&8Q3qVT-*o;SciBWF{L(TIbp z1qL+VqNhw73Y#0vl4Q`h* Rj&cA1002ovPDHLkV1gcc*1-S( diff --git a/graphics/pokemon/garchomp/anim_front.png b/graphics/pokemon/garchomp/anim_front.png index 3edb7cfda2a061edc0daa5b77fc74091737ce998..de7f101ea5aea45bf8dfc3b3ea1b0bdea7bbd37b 100644 GIT binary patch delta 1533 zcmV9nIzLLe@7FFj}&7}+_S z`~iVY&zotUgfXpzX*P#KYXb2`?ZMECd?^h9H+K6M^v5AR__V~=`~|&K$mEhgHin!99?`d9#m94G1}UzH5`_M}5)g>rUN; z($F%TfA#_Ay+*%T2SP4HgS*vZjdOxzN(t6)K2V(3BlIQ^X!KGf$^gh*mB3#{Km7c) z0q=lIs2|zz*MFCz69-{=W6mN2@3L=D9e_SK36L5mh*GIy1 zv&T#O9MDCMCIC$c=w{iXiC`0fNlqr#`>6o41RR90{ePkuR z(81pma4(K6WYSVkSO&8DkFZ6=cL+cq4hUSs3V&P(QFe&W0(Zf}lU)$_Et-+7IS}Gu z19xqT56FkHxKjaKs8T{=Avq==2+*G;AOUH~6F!G&g|m~87-Q(}bAnE+bp249R!|45 zGvodfre)wt6~Oe^lpHAsaHDbgqX;OKnA7%-i$^GQ1BfN(8-`AkO$y!HUile&Ny zofgF_-KIjxIxLSRHDI%vWmup~i3$j>HD9@xER-`Hi1 zau9A$1q7;t2Rop|vuptv8V`)$oNPVK?pxFk&wLQ2!q|R6KrtSnNFhKRJ7BIb@>8cU z_;nO1hUWQA2h0^lk){sdzXKRbmwy*yrNa0W1;pnL!0VOF1VKe%Q2Iv>z*&=&`JO8b z`k0^(P7*}VfvUm?3BZZMbSTS;sVa;h`EBJxG~Z$sV6HF@aFVX#C6{zLOcj_ajA0+% zMR{iHU7VNqVt*ijrb!JL z(CmgaFk4q?>^s1>Jm34*QD7t(Zeo(FPk;dQW9NXI?g^T}iTvIZ^brzN14uy_@?=px zpgs_Dz?OF#V+tt|#OJqgkW9x%=fErozw07!YXcj(r;yRU@BImhMz=3Jx{J6f06 zGOe)I&qh`%42npRTGha9qIMGj(5V0+wLp5OiwO#&6nsHIg#M%N4zwvmsX+V`_tU@8 z_X-1FT9-Z7DU7KiX*h|2qh9OzFeimk>IX*pfkF=We43|q{Xn8KskZHZrXR}AeSv-m jO5h^>P#(m8TR;2-?o8jcn-W@>00000NkvXXu0mjfW4GGa delta 1564 zcmV+%2IKk44CoAyUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlET|F0?G z000HcNklziS*v6vyYX;A0!($s}_o7=sn0G%0o%n3G%!{{e<|>h;8L42^N*-kW(d?|m7ojs|DvjdwoO0b}oNo=dETYeF;m>5WUv=NsV~KqNGPT@J|bCg2bN zvRj|!!jr3H0zh*J>gHin!5xsmd8>y^4e&U6zHOt{Cq2>Z>A3DfX$TDGUwp)Qx7lm4 zB_@PuayPoHxql=`rj%g4);+~}uzZmo0?lrM#4G?ZS0?aH|HogxF;F<*66#wv{O!f* zu>(9!TT)L`&v+-FD z5W8tn-*9$ube8AOgiZ?kdQd0w{B?$>f(RkjAJvGf1b-ak`g%y1PWou^Q~>10ir(abz+CWx}V>nvh1I5Kr5rn^A z0iK^Bu|)vCe(2`Y6!*j*3=g(5a&R&pWw7-m;vB34hUvpi&HM*L*v`ge;w2wpq9RO} z-Ecr(n}1F1rv^^`O71&A7{CKQNvEGa@q`532N*HdEC3IIX}a&_XIL z)r3VLz55VLM0kq;^x=TUrJ{aN2!48iYk}Kf;qfjAe2QjdFb6!`Y~Zd;@jm%57H3L; z3sp*pEJR1-0|EN807M`ydBSy=z?<%b#27typCfc)rK^Y91dTdiof-F^FoA(fWdPG- z6Mu4~9Kemn5lrf2Oey2-9T$&K=n9mP1}62!0iMgUhs(et7fB*FVqUQh)AcTU!x(P#H{J+*>+dz+ z2rzcu^#20lUl9;r=4An~NCa5w^E{sl2v_14_w*EjR|P=*q%I&%PxAbwZqp?zs(;Lq z-km!EK{a5B0mep1i1t)qhhyYr&8pQ9iUc+GXYw_Jb}0QL5kv+r%xlRA|LWJ2k5 zzjkImnAZ6-A1netvyWRTz1a zIDr2FU?^RM7@H}K&rv|!cK}|mXetOw3d1_VM*#MkXqNA}!l0iK`rsr%^c*NF437Zp zC`@~Dc4Ep3qY?eS@-dnZSP7UbjD75+t9Z#JT@F(QCJJNNgZEJ$TH{$c+){8}7TrJ6+G23Q zTptvGab{>J1Y`vu<g-Z)nn6pB}Ay?!7BzBUB>ofEYD6c4`$Gj^8$3Y1(+@frP4O26o>u&*A}686uCi#7nW!N z#s;NDE7yl9>?Hx-h>b867?4603|P<&Fk=A$$_i@wk^^*GP>acblm6_f@H3ly=~dDV zJdb0udJY#`Ga^6$l^U4(v|53S`t#A=^|q z(K!lm@We>J^;obT)+ms93qbVxqsM|tf&;_C0vJLsQDE~&m@eP(9()SZB@U2sUvDvB z0HRvg8w5~Uwa+wvZVytqm&XV4dMWd=)d89G=@y84bON*igxlwtNfFgAjo8+GyA?2K z=#Vx5+R%L@RRUD6?j^4cs8*o_2CcI?^T7PUwa^4cI(I}ezjHQt8(6OFk5|vLq+Wq2 zkLvaE!)_m2Jk}F1Ra#iT7yCIy@6Mk`5c~qWNyAV$OOj*^00000NkvXXu0mjfB3AHh delta 551 zcmV+?0@(eT1&sxeB#}W-e*gz`Nliru=LQD@1`+G7b*=ya0q{vgK~zY`&6TlE!!Qtr zgE}yuEbOtO5)%uSrDkB@L6`!PvpPh=rAV;Cg4hrfE9!vy7AzId08>XsgjB`Yj+?Z} zB{Mfw{lDD(cR4#z^lxJaTpV@koQ|bDmkH_8ohqe;aAH?hfJCcYe_8=J00AjeJV62_ z02Bd4?DPOY+>{3b*cd8+sAl@iYB`io6C{Dtf#oH@A#Nq`0|cfsUqK&7C_u(C)k4Ht z9?UVo>N0gd#`5eG^I!*^crQTrT7d0>P%2%6T5}kU<}E_=B=LiaFB~y%4;m;fTe&{W zU|&UeBQD}hU_b_Se=uNCH^8g~1gI+L>01HNZ9&f_FXpSK!ted$+bmT#P&^dIAbMrN zd>gaG_E8AIJz&rRQEpWsN&wSK3q&~J2R$;xS0H?dJ8(PgE0AGFg?wG%#1tsNArM3J z-ebXeSfM~3EC4a9&mIdl2@dR*7Qhl_fdcCnVY~dmdk86Pf0sBws(ro1fB}elU2hOT z=k-3*v^_}eZ=Mjy?WOI_wh2hpr#m3+(FxE75N|)vY>H&_(1>k4v|9s%h7MT+pbb5Q zsuQ4keJ*(dSOr$Uf@YXJ0MC!Ug{D3Zt~5Cu?fFy}~-`78idoJxil z04;Q?$o;)iFtPcN7vKrCp*jQws$qhrk<%w_-->aFbELo%n17T?gQYAla7vSrklZde zoSY^OT}0o?GfsXCmJ&KD|B-+*ho!N7?8#U7DU)6*Y-c1tEBhhMI!Byt-e37pyDkiN zjcQvyp^N`V+Ubb})%G$n1dQ88meyC<2PBzf|Ns0Zm{63!Bp(5c#GOVk$wvSqn~wzy zf(?<1X+%=x(>``36M+4j_h*;cWl_002ovPDHLkV1i#g Brsx0w delta 394 zcmV;50d@Yl1K$IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlEcb;{rk z0003(Nkl}vx_ zm!I|}ctRu8#6pSsG{Mry`A9c(Djq3EOFV$dm>jHCb%ZyTL}TTAJY(lAalA$CxjJAM zVlcPR)`UX}E6{$Sjjwo8tB+rB>Yrty6Y_O0nU-l0$bBkS$N ziu(F85&}kE4S&+T>$*T%Xz~BoZ-R+U8BF#O!DyOk0+W42FnaYdgMohYF@t&0?1TIT zOsFIuuD^ic5wiH8&8JdTfg4_Y&^Ej=_^^+5@j+@d_<+0P=!47Vbi2(H00000NkvXXt^-0~g2c$TRsaA1 diff --git a/graphics/pokemon/garchomp/mega/back.png b/graphics/pokemon/garchomp/mega/back.png index b79822363caaf02d96200cca0cb21877dede8718..e17e411a6c84412716cdc77ed08113e8de6c068b 100644 GIT binary patch delta 588 zcmV-S0<-<61+)c_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0u4z-K~zY` z&6Kff95E1vH?Xixii|B*F49;8Qk!6KX&GVp0g?we0(GdH*&BcoS;w)_LAE$6q1>gFZ990wV*#b;v@lPRNkMPBLn-qNHXdgLTRINfPtYnz+wXUN-8>kB+>n5IsmVKnVdlf zSbV&Es&WP!;M?8hs=&oGu>AhK$X5s0)r4NOO6~>>ojAaOT}}hQ)DEC>2}~YX`{!v# z0wZ8~mo)&N02kKUbx!vuLBz{@n{A|3zDZic@;(PtWbT##%-*h3pj2%LAQOALTE}ZB zC70oz5Mh5N{-p$e0s=x^{z&qrn?=@nT%*pN6K)3yMy~+UC4)?j9CznZL zGaCRJ-1sU1*Zj&B#}W-e*gz`Nliru=LQD@1{(`|oUi}@0t!h)K~zY`&6K}t95E2a zFR-vpii|B*F49;8T$>O`85v>u0g?w;0(IPJAD8^hjO8SpTG#PHncaSb>RPI2?M7y-FZNQjtuCtI&J1?`V1&v zM1WF_i#aN#vHAEu1bE|P?&>^knm1nq0=-_F{<5n2Lv)fCJ>VKdl(7H$I6B7Oz_p-1 zIpS>u)D*oxH^&C{e|dD$7gYs5v{5O*z!V&y%>ds>MTaCVdjRn2w@DccfW?Q)$1-KG z2EN~3E@#;0fyIyKnTZ|%yUeXbr{r$H(2WBe*hL-yrgi|O%fRG;wSOLWWMBj=ZgV|Q z1~{|Uu2On`6GXhcv&lv})i+5sEbdZ3N#?EuVD@Ge1BL2*e*!YGH_KI6Lm|2Jb3%mu z75Ntu2=EAX`7?fY+%B@g<17Y>ep%UiUO%S*2D%%^^-BW4Zkp$69u1Skrk(&=-!@)b z*aSjiTZjG$$m<*`0ydXIZ~xDo#pYV6Z5?pn#uft|OaN4Yz6RRS0Fr^@5!Ji(B9b_z zz-e(+1YBveH~F^6$l(4O&D6t~f#HC1e9|~Iu{Pj1X1IR1FHQ1&`bY5>Z~e33CK0)) P00000NkvXXu0mjfW?BZ4 diff --git a/graphics/pokemon/garchomp/mega/front.png b/graphics/pokemon/garchomp/mega/front.png index a5309211482517e0b05acd6c6227c66b36f2909c..de618bc23ed4cf79c7e9a62211ff5a0661271040 100644 GIT binary patch delta 1003 zcmV&G6Qi)$$3pubB$qve#igsOS;Nl37x&aS zh2XH4v~Nb*U9GjrTt=h!;r*JK?~s{cT_GPHS3iF*@zGa8Ah7seVkuk&*SBsjM)U19 z+5sXFK-8>SF|{BJZy*5yu=RPV`N5KL0WqKF;(zMm7r~u1U=gJO#HS{(f# zDfL<~CkAH_T&Lb@i_(@yy*V{du}sZKyr!H}2I16gd2)|__HbfFy3{k9yR~NRx4mTS z-lABNUk-wcXD>Q~B0-j%9U<;UM|M-sswX<&GQOe?qojAW|gB|RWwo~d> zD}Qm6+BxEKi{}LkQ3VD^i3_n1+TN#r#YMlLBo6~j4?BKMy{yK-J|;@%4=wtw8dmLJ zZY0U>$wdLE?j^gu2ym2Sj}chM5XTi42;A%Js6P)O;u_eT0{wi#^x8`O`T$r=X$CNf z;S^tXa4*f&Fuh>F-7=6BUqLMQ+iI|X5r0GMBQS}P9h)y3pgHO&Okx=iCQJcG!DiQ_ zAW2;+wcYaeE(0*s4&r@6Fo}~x?>va(_9O`nY%HCrzxJpMK#XCV zZwbK=gBJCF3Q9nBY}yYu^>IzJZ-(i={{1(Ew9CM@1o;kudgqtb;bF^tKxTpOn|}l= zK){kq;n$LJzY6H_A7P(_;c5itJk}mff$hBD5rt2~FudMi`bJy^>aWS@DWHe&M&k*@ zW5A*lV87Nliy#cwg2t)7R0gnEr2Ali^hcB+xD!Hfm*xQWm%)`WKt^X8fHerB1%@#+ zU_nGCz%4CecqO9%7M>J4&zf?hU;;J1gQ0Gwm&q%-Jg$4MV9ZkaZ$?&qcGU%!o?Vn`ku=-w`*4A-r?OVxwBxLUNP$F=xm|% z7S-YG?(DN6)5G+%1e_lLht)Tk`>vC#ep?PU*Pap~%6*06K%#XU7nAvo+M?VFKy zS8HuN7fJg*yk9f#J4;A)88^uF>*j}VCEoc&2n3ejO04+nV7tb>#VXY+b)sZJ8H7_ic9MPi!IP;K=}ON`Za1RFFZ=1ly+N@gw;BXL ze*U97EEA**?c!>jzkdIx089ak?C<_|D0eq?JW5$uvlHvre7K8UQg%x1dVeLBl)J|~ z+2KXOLezobacV;-gt8B)TXQiOr0Ek6)5DJ6lF#cgu#c%!`9n-Um!rD<aJvfR<(n5K2W>e#xPJ^GbP<@w$WQc}2@s9D5|dcPg9$UhlCa&=DI}zsNZE;< z{i^_sl!Neq5KQ9q$hq*susuye0oy&(gSEd&v%4oxUpp^%z->IO0uW-@=rti2Vi;5R zTdxA-C%XM`R~^?Z|7?`~>ppr#NV^Jj5=h=4(CmJ{K01o+$7CM(Dt{ta0Rl#{;(wYj z?$!ad{v+%?-(L?vpU1}28PF*T9#eSV_x;-~rY7Pl(0ob8KLL91@3fvlH~|bg1r8dm z^8kE*!)u+Xq0)fC0@Vi%WZ$3!!F?aR2ebgNzYK0n05U#T0BnF4EHR9s00ROt1-?)s zh9enxu=K11lmpCC1AnIKW`Hgj0%r=?>s0`2Fwp&GEC7_TTYcQEy`BkLG_{9Z_O%LP z5cIM&0=GRPC19OkC#_*$NrpNoA%iX17wwV2CZYNPh{U5)V9Il-rz_l4;3K zA(rYh)`Z}cbKwQFaFKV&)J3Bpw8CJgOBWL$Q3nO(gC<-H3@ytby+ZtGk#v$ILg_6?Xn{0MI405c{{yDx{{j82umf|I Rj>P}~002ovPDHLkV1l0m(j5Q* diff --git a/graphics/pokemon/garchomp/mega/icon.png b/graphics/pokemon/garchomp/mega/icon.png index 6bd5b44edff9d3c592400d9843c5d41cf7fcbab2..4e37e08138b2b1a954d0285843a56055f20a8746 100644 GIT binary patch delta 378 zcmV-=0fqkg1LXsdbbkR`Nklb>!3`KQ<@(#H`*GxG@1Eg~R!d~iA6kwKc z3!=q3T+twzETAx9En%rxZs1&?;beZ0^cVS@`?t{eko#^Xfp5>mQ6m%?+V2e!drrR8 z^>0LUrr<+qSzEsMlv*tX>kaXhj%ljsH?;4s*3p#_(9^j)X@Bz5Oa}w4kiFNtlhvuA z6dc4+Qzs}(jt-bDaqyu5r82W{BxMt@^@>~Fu}ieK!BQXe6>C4RyM{bO>c;7M8>*n~ z?Z<*q+s}8YhIE+(sV`o31CQRJaZm?Et~mY)iw>}y4V%>y5~a~`GP Y7tNn9(~*Zs(*OVf07*qoM6N<$f?SuhF8}}l delta 399 zcmV;A0dW511Nj4xbbkN`bV*G`2j>O{0|q6^8i5-C00CS{L_t(I%gvH8Zo@DPMRkJm z4!JnC12|LH$=Q(@S(I+njbu-R!Tv&MSr^CDNPmq77zVRJGwFg zdc1UJNq(AXV8D$f@8z+{=Ik&9198;Eu;n#H14Nn__>f?^)@9*@LMqtSi`~hdOu~Z> z=H@7`w($d*TgXGWaYm|LsDrfkAG3|pe!g=(r0XPbbM?F*Xxtr~fhLHhn&O|Z>cG01 z%Ay?ARTUm@$$uYUf4=5kpGD^0^Wqi;%=5+515@~bn1NZV$Au5>5@$Y83Lkn{1!hOX zDc<=2>z#=55is8Q0DFv?4?X|LhaS~rK7yr@k1S+9qz;7-yD%PDHLkV1jR}z0Lpt diff --git a/graphics/pokemon/gardevoir/anim_front.png b/graphics/pokemon/gardevoir/anim_front.png index c7593e9bbc67249dbd33e2e20f164e5dae499769..2b539caeea82325cef991c95b3124a4772ec0a98 100644 GIT binary patch delta 952 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 diff --git a/graphics/pokemon/gardevoir/icon.png b/graphics/pokemon/gardevoir/icon.png index 102b95035e3d54c8f2aedb52fcb37771a5f112b6..4b8a20d4c72545e7169413923637767f2bacba3a 100644 GIT binary patch delta 364 zcmV-y0h9jc1HuE4Uw;8jNkl`;+=SbNr1$dCCO8%$E#?tiyz^o;Fs=lSHJ8+R!( zLZUxdABml!H6%p3B56R`90BZw3=S07uT>%E1hs_*N~|t5(vX4~fU~R(z`_upWw66W z@Q|JC#6Jk4dQ3vsaw5H}^q6$O%AoAgaXpGrQ_5}GauSF#2LTB@(;NklA?<29DRv#mFtwGTlh4%!n?gt`Jk5--W% z{?LvQd&KPW{KkIqe6FfLteUy}PQew*5RgJE41`4Fg%BuP;(t|0;b^(`Bn%X}5HR*e z2sPrTMkxfp*G6nwr4E+pWzx6liwIWpu->jk^hAEYL76RRG7f&bVio<#oL}IeO0> wG&3;w?f2v}M42Hk-yH+%9~WKm?-Tg~=N+b~zUBHw01E&B07*qoM6N<$g0PdYbN~PV diff --git a/graphics/pokemon/gardevoir/mega/back.png b/graphics/pokemon/gardevoir/mega/back.png index a0d4895db36af5f3c4339dfde13bc66d84ac11a7..be02d9f088c3f10d04e98b66d596689ec672f5cc 100644 GIT binary patch delta 594 zcmV-Y00BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0uxC@K~zY` z-P6Bo+dvct@N>azxlmnW-x;}inKBxl zTh@Ud9OeUDZ{)tz2OJN7{apAb`iMqvLX_~ySRZlN8xjyhGIx8g0{t025OOjj^U+aX zGoyh$_cbB&2^o7wc%TD)PesH4JVy&aydhBI{;{KZnvMhS0Ye0tV%)_C1`q;RIsgJK zc;UwiY_-4!Fi|Uz_`72Qg92={pw)#H=qv{|?ixUTiZ9y>-Ggd>*#(Ff>>G1BRe;Xk zt0h)524x2(K+o94bGD+IK5BK;3~W0cs=L38P-XZcA%f<8^H+~rDq;`@HG)zavKpWa zV^fqQX5cfnO4jQirhb#n;&&hUr4dZnl8_`Z&S;VaiwR#FXEYa##iv)C8v&b!?DUSC zmav-3PaF0Xz*ZlBkcO-FhNbs4AZYV2m7E(^NVB)-Dw2{@eczH9LhX%|yPyW3pHfB! zk;)xh;f>O3t+1q|$hwwL^jx>ajeH2K8zGd)qN=dOZ5Baa+~(q;G9(p(s(uk6&$G$| zA)>rrM#x})f)Jk{fl35`U*a*?-vTDkCqSmVeNav)mfW8$p(gxYp-gzXrUJzw#qTm9 gqxHYgKU4_)0pnR!NkeXNIRF3v07*qoM6N<$f?a3|M*si- delta 588 zcmV-S0<-`Kd-JY+iYwUX?f4?YGMkDa6YQx~D z7~lsZ|0Nu7G7Jk5p2880-UMqA;xQa?)Ei{VA22?h;rZye56ozwz<-VL ze1gZpF&aRiALxigfxrWS5^u1oasR{v-lpfNdq64zPZ8>(wgE&6EIkDX2wsGV23rug z3QY70IQj0Gz@P*he-PMRwE~?Lz(rjHC{FQZdkMWL+buz|VBeV60q)}by0f9#rbBVf~ro&DyfC7kB+ z(}sOjU<(Ii(WKg(aHOP`b0byJ3uud5c~6{MA+*TjL*aiSBU$AA(;?V_sa-*ksnMDA};z> zge3bDg!udbLL5XW@Jl=d`&+09^bwHRZXZ+=$|d(_=n4N9Z0000% diff --git a/graphics/pokemon/gardevoir/mega/front.png b/graphics/pokemon/gardevoir/mega/front.png index 76579f496cf6741d674b3c18f898bec56dcba0f6..c4edbffb77db72fe60cd849f0933936670fad790 100644 GIT binary patch delta 786 zcmV+t1MU2T2IU5jBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00N0gL_t(|oPCtNj@m#F$2Y}k8;}A=bV)kkl+=eW4*&vP9|eaO zz);> zsHjw)f}*H2t&1Y!Nz1aj?E>PoX<3)ue_p>xpnuu3M+E|JoOiZ^3V^0PoEiaEp=H@) zXLNpT1e#XQar$o!0Iy&@bDXLBS`XBkE$iamc18^Y@Zq#&y;|6gYXoYY?%CqoxNig+ zo$kx~sksDfx4SRK&Ud$C=mORo)#uaUP1OVdw_2@_-dE1A40!~evqEZ$FUY*y{Ae+TLY4qpB4&Qz!MII5vn!e@d~jRMPdM0G87__&IAtzP=KZe6!IJSE(W4hYXYYn;9HJ7JwUe#z}gy^@?D@**3n2ve_+BtHr&LK zL=Ff%UgJ delta 691 zcmV;k0!;no280HXB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@2LbN_ zREq!r0%u7?K~zY`eU#0P(=Zf;&7$(A3)(3fVApm8>uH7uXw_=ABZS?&fUmRcL^QSp zTPJ>kS?~Zws=8(tY*>MccqnWquKHug>TmAnbB?c_Amm4{_Y$>@f8IE`Z6jVxl4L$@ zA+E+rayMU)HUVfjre|a3-#{^K`6YHNsMC%9((W%-F+`sOxREc=K`)$Abt@Wx6 z*lw7tq9+dR_gl)brVmkIx1~!Y3l<}~yRG_;uml#all0GD10ZY;RiH`;=+#$c*H9SZ z+=YM{6$a%RW_~j>U5HM>my@Cn@nVszvRM^2LbU}15L}48= z*9sK@Op!Yg77Br#d}RRB^fUs-PEWgP<8`9g3Fq&|dQ$U_K_ z-UG-f;Q{C2B+d!hC=>??OB~&vZUI&5zQ8$ILX*S&gB_ryswEDDRt=)BSgr{T0P89tej;3B5LR;)X_RGixY2Z3dlFP&S>Z zjm=_^`)b#wjyBHlE42V8Df$fVhjuM#H=EHuJb&}hMKG;~jU%;h0Rn!E z1lYUXudR2;a0JKO)9d5YnJb23jD!Qcy*RN|IDr^)0kNbFUN<=;j-|3}0)U)&RoR?C zE=dxKYXa`*3*6+p9!DTEfLIc*XU`hQ)AHp5gyJup|0m3ueHR9kFySIh@&kkm(GQyY n5x-g~oBX)wU>cJjKd!?k`5n0_$(nMb00000NkvXXu0mjfd;y0M delta 328 zcmV-O0k{750-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlHNac03N z00032NklvxbCr%+nt5XUgEWW45o^AWMM+6rcyU(on&ke z6Vfw23~kbl>WtDH}uuWPq%t2Cvv zwQbA2nL13I(XRCZoD0<@aMzn{LHpSZvw4)+k{j9l0sL^7;7y0000B1JMcFfxrE^XZ?bSpB!RZ(9BHCVNs!Yn?qS74JrzD3j2_>v#u_Y@tB%i53AX z8roRO6v!CTA`g!ij!dq9K-OA#!5C4{$RSgxjB%p^JjQ?260uNl&d68Zue`sKgj8OI zan_Pr``IkzZI~1w9*uGVC_rKaHq4BR$&08eGIo81@Z5A=%R7IGGV?x6`rM5MA}do> zO4DlcBLawaX90vXr2X_x;*Wk1P1pKG0o|Vi;5`x$Yq}ljxB&)#b68IT-3)NoUd9lZ zgIiAm-5diFk2UEzh%#;jHi`fGM|WK60ANCibA45z}O1g0EA3Pl|^ n_}iSyfmGt=%cAfGtg8M3+;81vCUScv00000NkvXXu0mjf91#g< delta 589 zcmV-T0q(X+V&X-q?c#X;io{u$5~cWf8!I?&6=~LnLzp zBh%q-f1gMvpq++PnhFI{ zilmc=M>>vFsX$t5c)=*AAdy3%&?seQ1$dPGB3;Bv!5HPfvUX+dxl2ftRVbr1iM0); zsceH+fOs-01)u z{Z<1I*&yhHi$D88e{@4{7X@@b1i*VF;H(?AB+~{c%wg>Xh5+!;pQR9(gIRllA;f^h zeM>R~5z3e(5d4>ahQm?^02NCN5q6K=gPT`qk}(>4=fE7@f;st;{hIk!+ zBZ;UWu`SkaP(5=3#_K}@upMaQrtkXbKLR*CEP!xr;N)h0fBEQvWmL%VmNVej_&8nP zEzNeF&Vl32I89wk*|b*$@U5Mu>Cj^RW1$uBwFAHaVj6CnbAXSZr|HH4v6rg~;7dp# zhp@Ur*&5)d=_UO@#J*ilh!~bSz+W<&|(5?9|B bg?C|Z+;81v#j4$M00000NkvXXu0mjfBKQ*t diff --git a/graphics/pokemon/gastrodon/anim_front.png b/graphics/pokemon/gastrodon/anim_front.png index da180d70df147940a9a30361dce5cd9f4d78f09f..c47a0e86b3cb08ca982489ad14b884ec8881a33a 100644 GIT binary patch delta 853 zcmV-b1FHPG2d4*+Uw;EKNkl@e1g;`FNlC! z*)QNHuni|cRD>8L2TVXIBtz;HDO2PDgqpyfi!{M-s>!O|j(%$Ft2?yXhG~`oynp??+cmcdwUyHtoIgA1 z9{1i6rUTx5_|ol-F4%z@Ahqey_v6v9W!pMnc=Yx4=*-pvw9z`*XF*sfQiT5#UaRmI%_$ZbMk5@~Wt-v{ z2_PB4i~qCfAPvlmM-6}>kBE7(hXmv);^^l~OaS8h;D5UEr2=3&Jm(#^KXF}moCl}? z@Mk-iI{o~Exu;^51K5M`Jb^^t5<)P1%ayPmgzx)eCR1T#OHgqmE2P4^%anK!x$poo zz`_^5;~anxO+3@jbO(8aW^yge>I~pM4J`0)coGl94O;{kGnQ!){)&Zw5hT(VXYU5c z*=hFTEPqk<;oQU~{$UvPH9%Fjt>OZ!b*6r7R|Z1WTdSHFh#FWK2x%yHXU0I(K*~Ur z=lLHDgpl3Kvt*dbTO9erX zDH_If5bbWk)rK)0thT?HJB5284P*s~VucVmkBQ>FkU-)n7@ct*7(nbO9amb!sS3Cq z1@du?7SS(EY2iv13{&n4G2U^lygyLf+~^NTjHNp;d}Rn~Nq<0rU@S3&^!AtjAQdES z5Kb9^cmkPRm`@7?KCt3Gwh$>0jAaF)2|lZ%2nq0S7(h`VXz+QU&A=bzyG9_WcPBx{ fv;wiw2VMLH^Mx2VpDM+400000NkvXXu0mjfwr`Jo delta 872 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 diff --git a/graphics/pokemon/genesect/back.png b/graphics/pokemon/genesect/back.png index c1284527e25a1613d61191f79c0fb82b4725b65b..f92294faffb6492cfc52f6c22b3ee9122a5d4f7a 100644 GIT binary patch delta 501 zcmVXff|FJjQly0A10b{G17t#BXT(8T8;?%_)R{bR_Qp*XQl;}W4E!J8 zzq?>P=ii5JCgT^Hd`#wVNs?^-$R`vkA6L}*C{X7~WX|0>|1{?_k7(e>4A=l<=7-@|jh z6nJ%*ttxzfC_qG!hQtG)WY};)yviJj9lAhFf-8hB!CRS9ao$4#A|bDc_x$9Fb&!Fe zp7Nwt+9NJGVo}Qcj$dl4U1EU+-m@&10!%d!E*oH;aY2@4QqTZ@LD&LSaprl6ITze? z4t5K$sw$XhC^~}BgZjMZz5v)h$F3lN28jK=0P;#m(x!n+w1852W&)^+Rv>^t3#b?k zq@4!XHUd5_WxS{rw15)Ol`J}S8^Gxa=gh20kla(K~zY`?UK84fbtW&~8m0BLIhHjO~U zqg)JGfd#aHF4fSny#Vf=K*a}pNdWb)AXXr9x1a&D@E}kNU@UrEus!qZGnxhGen2m{ z@^fx=BaCfw;vM}km^VH8RDfA54I zUChD`8I*0!5+xQR9-YvC8oEGmAd~`&j22H9OpI(n_?QR{poB8$q{Y*^)%(_H43LM3 zfD#g&5J6c@pOZlJh&NMyjVwphE6_e*BCsCwyOjYUJt5#DfGY@~N7SL%T_u6!k;=eG z1g%BHlSl6|hZrH?*#Z(AM#1s;WT8dSx8*#Ng(ltkKLYD#VUQDlp%LR8A$vrLIl>UD zbZ%Zk9=o&+&h?2PbFos%+@(#t!9Jb+eQFP;|)FF+^fTUDkb!)jw5(A>1 zz^iU9FOMobf(Bb1Cb_N3y?hM>L{leg3I5Hl2&PG-ye%d8yuZ>@-2Bm_8JzMPS=dg7ryvqYp)HU#zlYbd4NE6z?B?b%bYYwq9NL^RZ)XY0cFH{^RipTV2#9O-=Yr{y-MX2}gpAe?L9bFuD8Z zS@GoZi58AiPosxKh)M%h*$gz6fF~*0M`BodI3+xp;hU217L2jKxZtOMj8(X}00000 LNkvXXu0mjfyP6;* delta 616 zcmV-u0+;>S1~&Xy()3V0)flO(2^wFf4?_eO*UjyOjnm9KqugfGr51Ce)$WT}6TDk;=e`1f_Vuqetg5 z2cN*>*#Z(QM!|7-f3naa=-P4~(Lx*Ve2vfyvoMH6X!$fp$R1H*jxdHQt(}(;$3AX@ zwL>I`T&$2HcWD#uu)4TRt^+{>gRTFZ7u`5Yd5ELZASg9d-CC}q#E7UPu&SHO%cJy< zpv6}ENp7ohFP}XD(b&maf_*b9g1O39n^J<^nsw8aFqT~&KCRn(Qn-e?{a|Pbq(z4l7!saMzjUcB#{uC!)r0{e0QfUPcS6S^jRzaxv~gabi@zaJiHn9RO-RxG-FpoL>B zy_I-iL20Ba+mXf+)+Krw%GW!>>3rST=Ed{=*W)j^;HQ7hOXA@G0000?5W)3nXxreL7Mef-H?laH~lEzmI#F+lfDf%C+mwwjLj)E?PW1J^!tRTAMqMuZR^b7z1002ovPDHLkV1n}{e*ORe delta 312 zcmV-80muI80*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|*gyEm$A` z008nyL_t(I%jJ@>3c@fDhVuqT=Yk#F3+)T|zKVz)Jv9%|Kp&u!I<}OEn+cv*Y?GSN zMZrLa`}mu?9G?(hJD@`#LxA*30S&~Uwwj@>9FU4Cu%&jORe!d!3P%8~QmRv>yBxSy zSh|2PT$hM0K=r<_@j7&cWX08?#wdA#YqH^bi89h7K-}He{L7F4Y7m$8)<+;^a^!D( zinyg+cZu=n`kHy3XVUn=pvbcrC3(;xG_~Ba{bVf^*wLVuG|c*MKs)28^!&v2Z1Nyzc|9L@1)v z16+x4Ao9cpp!6i9yC4yNa3yFZwWk;ZTw7oVQNY*(Fi8Id_%RT`GZ8%&EdZ_wb7q;S znIGe{BsWGd@4GRY>c~N&W?d7Y3oPTY0sI)ixS-P_Y4o~4#dFo`2I!bzQ1ZU&wfw|{ zj0IP{mY04NoIaNeaJ+jBq&r=iRY zycisZ1K2KmxG6-n?f@o6h|g68-mri`y4%`pX~hWR^<@AhE&%AzmjL5ZeM(XQ&ZPn( zp1Q!SEzv^7U}9_`7~|=Yh=MX-sNC!ZP6e4Y}s!sJPbMf?32Cjw9%);MDFwd6wD8FS*zeJp8l|>zI;|?(BLROm zRAsYtS9#@RyWJKYrbd;;e#`&uuo=8)`%w5D`T8RXIIxpM>PdXtMRc39lf=~C#_~Qh zv;e6zz|c{^rlgEom6`(cspDaV)kPqbDQF2UT7j5KyLwZ9K#*Z90-~YSNFlbcddYzP z;Cc{^R1VhFMqmPL|B}tsYctX(7p(%_wy9*V`F>9O?a7uPKuEU#ayt)tBdb4)$_8LH zxW$i5VTCrqB)t>pQsiW@XcZ#Ut%3k_`TB-H%8F(=x~bpw6B{%Dea1LD@Vchu@5hgt z1_C28abK@DD9f;@?{9GV9TpGA2B{?h4<848>5o~nekhL3&?b)aAove&l;!NVHdD<2 O0000NJcLKyy_9+XXqWN zKNRKITw)!6{O-FuN^zXQ8gb|Hav`_|Y_9=Da1BVW0KNz;+hZH(e@nQ+3oW28;Z8&n zm;e-(gzN_-0(}XJgytjWfW9p-lPDmy08BFO06PZ)c*dijc?&?_L~~{ps3$u|7n0jX zFd6rA)ZLMjKs^mjfNrq#(+03}0ONvAi=fsU0wqt>tZQIkfl73I&{Zsn_lt;6k^QnTeHy)oJZMHCSxc=rcfD#t~bZARJ<5GP}LIBRC0z4k}fqC1a zrOLrXY9N^7=~2BbRQXE9RwW_>03|~3w7s(I`c)+2>8Gk8f5%-7FyC}Jo6a@hVj*?v z)y4##=f8BFQ;|_A#F^#p{=|>8Eks6%@31WVWsd!KoYJ5&?Tck)X?i5!@0PmUgzieK zoov6~p~J9IWxhS~e|sDT&)YfV_C&t^2pkTqlL#$|Z+nk!bJR&><~FwXnV|&;Wdlrm z3OJOI(Wt_vf5ANKd01n25pZP)T7rwRy9=0X{iXmX!dwJ+Q)7@q>|p&80sVs;ffuV9 zjH`{n4A|i%TBz41)+d*(0^PPuve)FWp#An_OAsI=JAAoaIHTB@&$2WDSWj;8Ba<7c zn`DyS33MqEvY59DUNfzn0Cf5KhCs;jI_%w4@AXh7N;N>AG0u*>swn*Z^ik15ASM&{ z)tahw^XmQv!|$+sIMqlc33&K8>Pvr$>i97~)k~W=p}>D{l;!M3nW!`X0000`}9z`i(ni*QmuJNQH?zK5UXLI<&@r>W*92hG?O@Q-MhV1RR^Z@vxO7U~ z_i2z#-VK``kz#az+)W~NrwrttFJeE>)Ih+FOa3#amFE0JB za`U>&8*XB;lHpU&1O4Vnugjgpql^M{X=5~cUu@afJLz3X8%J68aMso{z_)K;+S@nR z+&RKYFm;y)oW>P@4!L_J_m6DpFf{=S%9g;c6zLS5{TPA4#7BV?pukpamJq^<|KhAp zcZo?&EB&8SX%QN>8*>5mFpqy9^rZ|;+Oz~)0+q0RJCAqbdHghNs}Y=c1c1dh@hCKG z(J(w!EFQ*B4{=!yCNR}0m4{U(%1gl0eUOiLo~i>K!J7+z1OT@d0+p~;3D2q40)P)f zYaLA!pso4}$63Ai)cv_p17bMD{se*M6oG+H1gR=dDgPJ%EwHae1~io(jY-9Z-Hc`yP}k9062q`rs-FC@r_s_JJ?;VX|4 zi)ec^To~VspJY%KlON4g-V~AEiR4^<>deaxBT31K-69W>qQp=lUD!|Wc}zh uzzFaV&%p|a^kn|407-(s(f`kikbkk%o`jLeOep{h0000=hw(%UjU zlwJ)K_9$fEOVVoE=*8nc=+Msl&Hw-2%d{orMQoC{qvF07VDAMge?pjr&-878vgWEo z0ieQbl>(KGJTK150cPfT&sZ-(bRc8q@7Dxi)9YZNm5mCBd9=jA>oDO~n8{GUAnQPM z1};okqD&wK;AIIf6(|Kjz_W1$0i$Hl9s&&4G64ioJ6%fzh$ch>^Xb|s0oY3b95`PG zmf=zAuW8tj_?`pce?Zr&1mNT4w+uL=ht$w`;rfsxAucX|E&z-AR#8KT{fo~jzyzh# zuvUuDZ3KQm-W3SY)gp8kEfCmaV1XLN8uTq&G%t^Z;9Uk?Kpd{ru=R_H;H%iY?y`oL zTCCLYspo@!^Q6~hZt7v6fVQ;J8@(^KXzZQzu7r)FG<=-3fAtKo?Hic(_RTeOk8l!H z-W372afL(fUWxr9TewtCz(S)-U{~;Litc`bz+e)fKn7^QIyOxSZY6(lR;Rnf)J!Y; z&2d^pi`tDjhj^GLzYqFCgr?TCI9&ox)V`f3JIOqG8n)#K`W*pa(M@bci&|O~ol2Sv zlc$Hokb?OjTtt%ZOSwVdc&Q;Gxdfh(orX$rJu zU*b5c_rAP8*K0rwhnSxr(3~PL2nZ)t=}Q?L1E4tO70-dDRHHF*%$lr9*}m_nMc8#L z!k0~@YBS>Wm3ma;Khl59^Ap>R?E{d#Q*ms90crz6f9g2_26fP!sk>J{J}{xz0X@CMz;-=ke}Ix!kjYMI1c^E%1AR&(D3qbW#+vNZflW{Y znNiIEwt%alO{oWPbL~n zWtWWims|^@5Gve9a*fA?Qz1V0xxG-3Z)?dFyD?hk^rNU>FAJGejT?iQb^EYdT`8$- zHx`}UYKnKey^gjvVLJ2neb;NyQZK6tIh*JiKN9H~sn# z&c86Tgh};On5Oq*B+R!T)aD~$`XlXHPZ;NiCyZFk5@x0!U!+}RO*0+W!~g&Q07*qo IM6N<$f`({}pa1{> delta 348 zcmV-i0i*t<1Iq)DUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlKoB=cAr z0003lNkl$USwq+nOJIvj;xfjl#vu_TS%?rL-tLpm|M~n0@$2IzHK_?W zOo0t29WdidEL__|?i*<71X~$`{g?Bk48U1Uvm)AgnR0000^Lnj6B%}VN1^fd#82S|{w9qAUp zzz1oB%mr4tf~r5z9#NlS_+mvKfO(l${c%6G!S|siz_#EaNTgJM+n>%uN{uGKirgN% zNb-^vEqg`z1eMWXy>9!@j#kB3WE zT<;{mq;?oi_Pi3p4r|?!MwV#I++e~s=TY~hk0ZUxV>-==YL9?hfULl(zDP6;_sAwd zu?;C*Zr+9lD+!rjaZmeirlBLo`29UV<865V4Y9ff{5QcR*ccT8XtLP&fZw9xU-(!+ zq^PFk3@GpAH{=bnj&xZ<+^_%!^fEveHRGa%fdBXv5k)_F3Yi$%UJ9N70000qUxO>YsP zy9Y=BurCh)S>;up+PWnKvcwh?GLZGL1v>+E77!Mhz#Q3nW!s2im`c8nJ~+!Vf<;OeDv!ssTP(OFGTiG0-G{1o`I4w*UrylSimx zU|VZ2+M5tlQd*r^76Rzow3WAi+(LNU32wUz$`pOF%HWJNb>|OWF)v zE6OX>&O)g5F#hr6-5-eHEi_*TI&SDz;il;TupBtoB>#p&e+SIBS>wX!96+7LJ_S+%!oM-{)6VM~J zLyJ~WNla8>h1@xahITa$od+rgWB^o-$U^FYwc$*cxs0+4Ac(Ys7}rL1$bBp{#5pzq zvNC=%i3rkW29x%n-i$Tz%M_wtT~l+o#QFMu%x;`YO+&GyS%l~(|y=#S&m zpn5czGLfQP01X%C=KP1S@MFFP1UY|=jw-cde%S%Q@lz`)r70U8WH{%b4EvzGamR#P o0Pr^13;ZC*g1hb+`m+GO0b3$a_2|&TM*si-07*qoM6N<$f_Tf#i~s-t delta 440 zcmV;p0Z0C)1fK+uB#}W-e*gz`Nliru=LQD@2r9%Tu>=4B0fI?HK~zY`?UX@ogD?<9 z2MP8V=%P!;%DN7eDwb?}=xIhKDKvWLUUZCoQJ5D0Spr~DRRf+EfSiG6}9@_w{ zTJ=vA#J>PZJ|~1&%q14*m&0|AnEUy8t{rfQ2I%-1B9aeO$N?ole>Aw^08NPT98kgm z4?G;8G>6=XDnY8yMBN};*&4Q>IK$PIQ=JmkWTMv=anlrRAtRar>H>6#P2ZpisURjw zKSO3M1bwp^`qlv@1HuDJOJpE%z*cjlO>Ii)4G4*pg$TD=w#ao1)Wk8y1C#>b>a5M! zY6GDl@&I@e3c|O+e*yh?a`sb2rQd6XaX5{fy&I1wVjz*i_<-cbK2Kv+jK`^BmjTKG z=0F~YcB;$iWRZ*C1M+Ogi?uKBm*^AVIespBm+(#)OFk z%?zkHITzrZ6WU-S)IB2e{z+t$PY0000TEtfX diff --git a/graphics/pokemon/geodude/alolan/icon.png b/graphics/pokemon/geodude/alolan/icon.png index f52d114bac36ec458f8a2d68a94d4b91fe7e4513..1a5f9699716f979d3485d22db4898ce59047d23a 100644 GIT binary patch delta 323 zcmV-J0lfa%0-6JmBv%J?Nliru;|mWJJ2sk9`SAb%02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL006#8L_t(|oaK_i4Z|P|MZE!X2fz{ozy|I9V?ghS(7W9vm0z4#)^&h}*m7LBdmB#x;^#ROU-nWZ&6M&gzTNRWYWCg&H3|n7n*2fHz*yMt7 zPC-PjPF8SHVC}VrTqTkAWqYffZA_s9VTzO=9&PDgEepyW1v}UpA<{IHL@F?qoX-DT zAEghPv2MB!Z_?kul>V;6n7-=pN?&yt(%*Ghj`UTBBYkN)4Cyx=hMAfU)4<=>;R$55 VgazOpLC^pI002ovPDHLkV1lJkf=d7Z delta 260 zcmV+f0sH=%1K9$QB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@2rxNB zNPYkS0K7>=K~y-)?UKO_!ypVry#aCu0Eq!$gLeNhpm*fZyWJ$1gyayZx2mcyz()dG z?*aT)$?0q|wY*={5W&n9Lc5qZ5tvz)RRdasq5*JnhHao)^f7}@dTjR5c&|Z1u3qNg zrh&Eh8cUVz^k24*%EhJ}d*G5QuYi_%t2CiJQIPiT5z!rHlH}+#F~Pq+q2C#A^qUSB z^q1g3f7M~6uR3h>RfmE8s>8I?R~>fx(sUT;HywtVnhx+yI=lg7wS)zq8mwgi0000< KMNUMnLSTaELvr%~ diff --git a/graphics/pokemon/geodude/icon.png b/graphics/pokemon/geodude/icon.png index ea8728d699410e2f39744ede981410b659212d99..2e762a1183568e86c6bd8598019be994a528de2c 100644 GIT binary patch delta 218 zcmV<0044v|0-V1K>L)MJXgx z5q;Ds*J%ewv}h?`uv1=S3`{#wf}*CN-T9y6 z1Nw)a-_h^?PV`qD)JVVUFwyTiZ1hEkfqvJa4)j@vjXtps1AW$E*ok$R7W}pj4>0#^ U#>1$@fdBvi07*qoM6N<$f>PCHV*mgE delta 255 zcmVO{0|+~=mXY=V z006p4L_t(I%k7fE4Z<)C0JDLW3=mTfkcbJ`e~hMoaKj%{VyjL2fhR)b4QKRELhf>d@_^I=FAr;R!JJY{sPRw1fZv002ovPDHLk FV1hVQb4>sM diff --git a/graphics/pokemon/gible/back.png b/graphics/pokemon/gible/back.png index 26e709660cd619b2356764cc6ffff4bd9a7d67fc..6f17dd4ebc5ee3bfa447ca995ec96963139a0bf3 100644 GIT binary patch delta 536 zcmV+z0_Xkp1c3#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oqAKK~zY` z?UX-D!$26uQ_#H$ap+>XHy3bi(+?o=G6WZm9<_^OpdUbV6S_Ex&<5^X_`L*iareDH zv6nYhaB=FhT;YCs-amPoV6T6dK%M?_A7-f8&&*+-WSL{E9R&nv8A==oJSlMvPDwV2 z0I?}4cAd8b#C44X41WTD*s`u`KBa(b0yS!yx?bkI2RI9+mME1oI;eDQj#SeqrPe(l z7=-$s$3khXhxGnX%2-zbFvL2hKxHfFPD%t`veVr_q{|>6lNl|s1<+zMm((Jb+Jl1y zkb+VV_|_5P9EsHFhB}_OplrBZs;a8P+^O> zPG%+^6JQWy3;J;Fw zc8%@izbf0oX}IK~zY`?Ulc30znYQ z6_VaNE`?2G=k_42o(~|GwK&ow7Z+ob^1ufONf)q583YyfE%IK1*rdyRTK!6TIi3@=ze3b-OL+N)JrPBZQSPJ*c^hRPUiRJtyZ zgwnBSc~(go=?nmdSVR;kYzAFPj=($})B~YTgMf_tG{pfxiRD;QiAZV<4i=E(8IfoT zF$_(O8e6`|8FVQie};P?d>zl&aifti5*A3{=8ZlJ10=w7n~AQ5I;nvIOGG=F>9|9U zj<5v%cWJr-_US*0g2N$__nNt_+{3sAfC`a(`#@0@c-l%I5aJ;4vGp_H80-ihbZT}> zkI7zxc>~p$D1n2rt26F;#6$qk)ndP2bY9HvaVwz>OVemje`AxCU`FCLsj|iGkiD(LI+qYWDt-Nf}V3(Wk?8ElhuC2SBeAX z`ncYF9qp}tCpiyu+rp+QQB>|BH*>+C*QZ8hXpg)5YKkgxsluCIWXE56&dtA6KYE0sCzL=1=u{xYPzbR-*0-pg0;J z2y2x*LW0}f9>OZ870~E3#O+??iiRgZz4x1R+8a1({SFfIsX$bnw<)gqmzNrgxTH=N zHtv)CbInSa?8i$O{w9p|V-&{v(T~E|FseWJF#x^PzE4GC9jX8T002ovPDHLkV1oa^ BTpIuY delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0|^e{K4g>t z005~;L_t(I%jJ?W4#F@DMRS9k05}P78&>X>g^Lt1u=Xn(Lq#AFv-^oEN^KSfrV4NW zTXw#q=iK~@{LqL-dsu@4WZho^&`V0H`WTH7uT8Wo(PU!~Cud~{;)XJfc)|UlgA~en z4YVAGN_U{#(3a8geF)nc?QJ;Ug*_xuMZfIox$51rVlwA?I$31wKEh5!Hn diff --git a/graphics/pokemon/gigalith/anim_front.png b/graphics/pokemon/gigalith/anim_front.png index f336271a4f0331c052a63ac0854e016a30294cec..67f9a51f2fea7d3bc9e2c019a29ad831b3b89946 100644 GIT binary patch delta 1400 zcmV-;1&8|U3&snOUw;KrNklqmA2?Y>!c(dwyMU=u zaxwt;VH!oVVz~owgD91W6axSbvw)?=vwRTnehgUQ{4fZZ-g7)J__N1i?4iERHjkg; z`RCuyo?w^m^?x0xiSOZg{#}as0D$b7&14<}P!im?h8^0RPG^t2#Q-o86cf6z0pPq3 zAYMEsp~_vQoPJD+`+&VWcon;=MFp_xK{qzn)_{Ldssa{J zS;>&`a37Io9zz_#r+FxXu~Z$P={QxB+qiycPgY)GMAjd~{N;F^fsSy%&7l zIhctPdP z?|(I`$}<1*_ct1#Ns?GLY{iiVR%w1YD`cU8%j8Tc%DfP3mp&t5H>;5%a=-BG{6|%EPwmv7SMB86aaNg=BKAN0KV9VKGus* z>zkkmy{u1+jJyg607&8LX+rDz$Mum)g0WozS?K~$z?zgoy#|zgEJoO~0N@AqL0Y7* zUQ|_7uK<(6i-5sq8xi-SgHpbNZK>lkBelzvKNRgbxEZD+w72-}eBFJNkh99l)X3Eg=&Ez%GT@ z4eTKk@?AIj0N@`Pk?zAC0MU|Sh-e_*#ea!b4Bh8LKn6f&={H`={`OZ82)8nfjz6q}_53o9;UM+(>9p++n_zuFrQ@okfOMX= z{b3WV`3%e=sq(+$58GgE^gznXjz4UJRj0om=Usnj1#9gO^8DSKwm-Cj6>-+69OrGv zA6mf*K&>Dhe`p13JgXFhKIr(vHdv>LCcqEOjz4UJ6&8srKj``c+5{^Qb<}nJ0d0e| z-yg1zEB-J5Z2jT-xatoBK+7MljcfjJZHlY@aGm&X{o!vqE|*ve33@RA0000977>7q_Ne{j3c4tywk zMP&5=a{x{)B1YZ7K%|inSxJI$4-hIf2|}+MI9)};Q>rBUfT>b)(gXNm8bz~Wxd(8A zD3ys6Jpc}~fPbaM)4Uh(ehgUQ{Ll-S-ZMNe_|wN??4hp7Hc!6B^UuDYJ;5#=bSF)+1wY4 zHDDP6kMRaTn22D+$DH{mYaj=}YXESfUh>T0qtkkfSxf@%J?ER9gPAy0PG)m{TbGMu zdX51|et+Ho1}E7vSFlEzuBUS9V%7#Q02wTSt5!)W^P~pOcfee&@&sPOU8YiM;F9yv z4nR0lGJjRXUZU$4f1WDl0DfQ}q(%Djc~wRA2+%291PmtI zh<~^j9hCAVOiNv_Iw)02ghwsCQhb7$x|g&8$6XS*+R+v$;iES<1=KI2QORonjm815 z0ILOrW6r}(j&RQ{6S_Tx@YzK80pIRPhgl}2joZl8Kec}5KfN`i7$ba7h9EtrBG9du$Q;7Y*0GW{QdZPz@24O^c zAMOE&mJ~xoJ@GD1wPNUf-Unm=WR||+`UT-sm6+h3{Lf?*xvFFWckf4kx{AP2lpXRO zfUbNmQ>#fIfM*$*%Pbasfb-2)U>MJy2-oQb>`%|;U>K8Lz?^-n4TEUF=mbt|ZGRXn za&yZcc5USGV=#<@j~69s0d=rK525|>EPuqo4~*8HtAe!xZI2{2_f%;x)&yAHh2h0> z5?(?smG~L}!K(jTxi>jb7=jCP)|x^HRv?a#4yf%eDL97HmY6D75xVQMvYdhdR6x@o zs$jLyT_VO(r}q*RWYqA7b+GD}4S(wF1_f#Q!#Y?I>?1m3GS?s$i8Avb**Jl@?8ZSO=@T|C>|$0T@8jA2z|7 zzxfpe!mSLW9{H>Af2a8f7k|VJ_EBzs(<`%`NJ+) z*Loo3Rm&fC!K%|=w~MwvG=jDE2YK=Kb<-aj!3twkj`ODF4~<|2pjMEUKQw|ho>dA$ zAGG{o7p&7n6W|AC%O7^Z3WLOzAGG~p7py?gUAk}mp%JXz{&2Hh^M@W_=MNqC#5I5D s0UG{rquua_8(m!YhmPp~PZ#~+Z#piQSmFG=mjD0&07*qoM6N<$f)$vZ)Bpeg diff --git a/graphics/pokemon/gigalith/back.png b/graphics/pokemon/gigalith/back.png index 9d02388fd55656937a93ffc6ca95726f1977e0d2..286840851a4a7476efcaa348945ec04f2cf62260 100644 GIT binary patch delta 581 zcmV-L0=oU61+4{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0tQJ$K~zY` zwbZ?iqc9K$a1g~6*N}^OfIIE=L^cp96=L!LR+uMPDO;pOT1TQxaY%WYlPFT~ayK?y zFdqp;v`8t?{4!(kA3I-h@rAmF{)@m}0uiRKf_wo4IXqp2hl>D~LHZJKmq3&QK=`$Q z>X1DF0hReYaP|A)^bm=E+Bu#-t$C7u7X+@<`LDjQt{*@B7Hls_b)~Lj@Fq>xyz}Lt z>#C{;x$=I!(Y*%MH8J4)J^_+|OscDDL4HOq zx03IOOh7l|K(C?X@u{h2fS!@>^aASm_|C?u5~jsIGfS+GM>fu-&@J-3-Rv?xiaC(( zyADM?1$q&{bRIQmVlmFG0qGs^2{1FLMH{GQBf_U(x0#-%-HZ;@;XHt~>VWeAw2!Gy zGvK?hKuN$|*=6p3d@~^F^3sHEV1F4NhPPq>HnepXh%hstn?N8!yq|_Ni$b0#ac`hL z3CR0VCRPMkMk)H=fSxmwtOwu=nPQ@N(u10T1=2Nx;GjN~1*`*^UQwp=lq`UKW`WZf zP*hmnFM%>;oyU3?glS=cMpy?nRX0``W%BU1)v3xB#}W-e*gz`Nliru=LQD@2^baX(Zv7&0s~1zK~zY`wbVV1qc9W) za1g~7)4;|#z^-O`A{&U5%Hrh!7Wf1sWr~zY<4BY#7Acomi6RA;n`grW^N~vmjpp>m2;Yi&zA(4ER&PT>?=Ke*odn0vw0*(MIAh zod>SoABu}e)Xwqz>6j<*ca}hvI{nu#*7N(1--7K~;2X!ngIsxk zU-4ao>XI06dY=G+KqS>gwIGsW0CI_cmtuPlym2Xom&3LyTcC!(VX&5R1-z=R_kb<| zsSUCr&?Sfk*bsOCe*{bPpa_C7z#cNL{xz*A09MYlM|P$(Hl!FIIWs+EQeI2CLoxwf zj|{h=r17z-XMpaJ@AL%f`0!4~sbZ$YJ~dOU4+k>NCDSGHyglqPKCn5!_g#geo&r4y zAUcm4G%*|J)&PD3bOKBdEYSw4*|6{-*lnh_Y1g9zbvO@Tf2BI$+yU(})o}*AFbk9j z++cXa|1u!y^3sIv+Ws;;8D5J4*x=Fm_Vt?@&~-o%NqM^s0}Vu?*sXy2L?CWg84D1Q z6jStF0M{7_(gX0B;4)D(=|N4v0(?baov9CH0qa7>ElPEsk_E6&EpQwIj0(y7DPX3o z`&gd>GbJq0Ffcxd!o~{2ET~Nw`VyZF^KFpghhiPY7(DlU0j1_K(QJ@50RR9107*qo IM6N<$f(&5+ivR!s diff --git a/graphics/pokemon/gigalith/icon.png b/graphics/pokemon/gigalith/icon.png index ebaf96ac474d9b386afb64771e87518cdbc4b7bf..f7f0efb6ca8afc8f77ebddf009ff677c17a91b46 100644 GIT binary patch delta 158 zcmV;P0Ac_C1J?tPUkCwWNkldwd@_&7Kea0(>7?CL1}6eIM?;IXPMDrH@{oODCmX`gqvN ziVJz|V<6ij7eOC`A+!$r@CErky15Ul^Zhya>;n%9bkqliU-a<}zQ7hLqRF|501E&B07*qoM6N<$g5lOs A6951J diff --git a/graphics/pokemon/girafarig/anim_front.png b/graphics/pokemon/girafarig/anim_front.png index 6f3bf1c69d15f9ff7163e86ec71cf95dc91bb254..d39510467b133757d769431baa034e4dc108ab22 100644 GIT binary patch delta 1323 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 KMNUMnLSTZ})4RU_ delta 2064 zcmV+r2=Di`5ZDlqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlN+xmGBJ z000NONklvc)N@dGQo_eCw~`{Z3NLJGi1X!^xv@W zRkzeF+sPl0#zv*8Z@>5I)sOd)Bu(9sB#B7kQN$lU&>8bv(ww$Ih%bn5N>XMe=*7N2 zV{=;5v_O!B!Hh1N3(%RIdJs!OyQFE`z96Gis~HPhgg|FI@n;{vNbUt zSWCuft_hzqhitAyCpj{q7IM!@rGK!lO6#lSx(kvWSe;TyhVh}%j|xWZbY<|K=gq4R zUBevpMSn9*$eFR@d6XK4K}b|FHMcFA%fxwG%hwIV89SIo!PJ~41k2?$UevVNbbnax zlO)=`qoDwjyp7+pu$^9Od7CxsbYE;$NH0b?_0~3i%U{AB}uTOv9he z{GgCSL1(Ez>$sZIRQ_-NEc{U86>2^6yy6lqG=JRQI6uKO@gqB=cQx$}Y&X{o4y80+ zO>r)bGM#&X+tEDrhi9szGc7*KO;A0eA zGS=q&gzr{m&iUg=lr^rE;Njvq@s3C*WwV1x0X{g~=3lmXig#qjB0*k`1va;T;+()= zRB-zZZa7W*kn@_|B>YHD9T67saNFb0Kz~uXgvb~nwO!uaZOezzG#rSvxU`R0bCHu2 zw->n_386-+-wHwdfT8;uhcLeg1v7kCX1K@R*mg6;`7X!*V<{r&ED8Z@Gkm+l@!y^w z3*e=WjHjQm1DX4RrcK?k4~65j(FH>foTWIUvZ9X!f1;phq6vru)KZ#_Yt4wDODpdA=h?LPoYJqkeb{1$Eq!$~o@jptKFxz_Re5zbbYTjI*)ie7RV^Fn=5$8`V|M51oXVcY?Jp zP*CYPVImtkHAY#9|Lap%HScGg$k9~|wLbo?S|Bi-=(w~VSoh7*j9WK*(r-VG>hAyE zIE3l^{pp#{xg3*aC!rfbnR;gsMV0=u(SbtOAe#S`@X3 znJEAsIUhePQEZA@J~|#R!@HXbwGclP6ljwMzAMmu#E*4>A6PYu69y7nTXcUTz>kKD zRdHc^a{Y9*QOuadf6_YKvw!_aRUS>#Dbw_Px<8<9*6c;<`Zx{bl>Yal*ZBr@*L$MW zCaK}0F-w;ZwU&o6M$m4oFeM zNSpn)kw4DaJ(I+)WD?<7t;^qN0zk@Ctj3j%AE$opZu2EtH*YwN@gICajldmxv!EaV zgwVZ*#*Ih&J`Df_c7NQBf^22r1Bh$BytwhsI5Xe}LCJ;6Jt7cMXvXhJO%_3 z3TnsWY5JV?iy)Aduu>g|(^Q@X1hVD!1H&`5P*5pQ1uL&Y_lCw|C+UwLgpdN9MFCO% zBDnqA%iSt+6jb4HkTJvf8B254*hw?nBQMGzoJ2pDn%f^J{d1cBs15CX;oXVnCO zd@KOt$OnuF9w1?XIL zK51pw1Hr(`1%H4c3&4Qi5UHoseQ_L2BMx_HE&>=Wb?@P4-K=SkNvtwdxXng@!Ex{I z@Z<9k)e^$0=>rDS8CR5f#?C{20D)Q`nhXJ>57%+qW~YpuPVhrFYn%#xNLPkCfGcO$ u_@T9K2!4Q@B9#+@-{Oaa^T*?d{{!hch=u*x!3+QZ00{s|MNUMnLSTaLBjlj~ diff --git a/graphics/pokemon/giratina/back.png b/graphics/pokemon/giratina/back.png index 19d95ae65504a3c0b03019a05201f912f84dd0a0..32a960d1604d24d935c9a4c31570b07e930cb287 100644 GIT binary patch delta 754 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 JPDHLkV1g`$Oyd9m delta 2266 zcmV<02qpJ|5}^{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlQQ#K^y8 z000PtNklC5Kqd8DOHbKLH)~r`TG}P? znB?tP*j^->Xh}kYFWNyghg^cwQ*G!}`=Eyu+8$&mHd*`Np?|)W5C}L+=t2(y`LJ0` z==Aq{Pb0~W9jH#y{66#h^WN{h?@yYBp8z4+@lT-lh!BI);{-e-K1t>kqmM+2|yGgo&-d}Z8lY;M8`*cF$_w(ZnJ5Xt#K+aO*&qqM*+-} zr6C8kPI^BOkbmzI8c!ytrP;vWeK7(mJra{Z0L&%;fkfH28=Z^?lgYG$G`Dtw+nSU-hwU3(3zuBL!+9pJ(b^s&> zGzF|Q0jP7kt^nQW-{Aao$@*P$V`IC{8_pw)-~)+--Ua@?>srDQj;;}ifOWuDRH}06 z27eRYgzzehu>i94<~b~J1l!dM9UH9$(RspV6T=RcsiV?7geb$D+e(|>GQ9W9pQ4>^?hWK;nJ^TeLc&Z^GK zUK2~JwdK|;7XYV9x(6fIY0a$VEUhlTBBSnJLpbH$+4c7`Z#fIg-w^i$UkK5m zsm__tTQxJ%BIE)9_0k+3BWZ_wC0;~e;72u6+^P`b-bDcHc-Duf#ynbJYCG#C2Y^Bd zB7X>n$WN$1Jg?1|TnWvJaGqkhKfiEF63_yi&t66#r2y`5GtWMG@h4aZ2irX`qibWH z=lwX@@!)W>18?59gfRUh+z$jDVj|!+>^k>PFxb6=wE7WT;kT*)+`%m8P5?B{ZzUNk zF4=+$rx(HV{CEM!%(C3e=MMi~C>Q7HF@Jzm7`w(7q4^c?I!F5ft#qb}%j-h(OQ1#L z>~as_+&uF!0^3$yIRD%~-|{>f&s4p(ssXx%Qb>{&p-i#(jK&ysfw)|~BLT>L-J8fV zmV5Zz7LGfd@f6{CcR9ujmc)AdZ6(HX1Xg;{HF6UNvCM>f;Jp#5=wNBR-L7DhaDS*{ zlQOzT0oVZ#orMpUqV1m`@YZ$R%{cg{j1c}syDLLM(oW`}vio4C(Y7(MHT8Dy(B`~% zecyv583G0!Yd(FjHRig9!nWsnz%T-zxmz^4+id=WkGd|L!#<@uXT+h-OB)8g0l*J7 zU)<}ph6J8sl9yZ>|GB#hfL-I!qklSBM)A9}6=$D9C5H|B;mhYo0c|Kli=P!3n{nMe z*fQwC<5CR9Ul-Uc9ost;%dOU{cg4EEa$u*wZM7(y+}E@d$KOk_q?XR-)_+8dkLc>Kko&QfUTW7F+%6M3eIUC)Q(lHcYl=}yjbr5 zL`B93s4r2crpvU)KHRoAIz z#O0N3nSy)>z)IhYp#YE-h!C_mX+9mP*}e;-3k)Qa0F*2f)Op0|o&*FEGI~CloNNW9 zyf;gZkovDm3|A@&NEvk8`G0D+xhuujl;a`H5G3q-xJoGu2)p+;r1%1W@?4DuKzMNh z29g;B?9ab~3kt+nC(;fAejBDd1aKHEi4n_z2mlaT?Et??CNogeK$_ClznzGU?g0t$ zL>ZibGUXNU?JS+tg0;|d;at4}clp|U8HX@k4`h?6DZDW=bYBbFLw_#>8H9WILop+l z>P*`J02|^pn?+!)?vx1x`Mvm~-f7eOI_Dm`;C>-S~vvi9DzENJtjw0Ol7)7 zCmXd$7#u8&0Gvq$Vo~Z@^l1<4uY9I}}ZHBm6F3!Ld(gpmvTmg`S2}zPs zC__yU6oDDp;?n?dE~_A;PzE>s-O6>R`RNEJdB}lXTY@qjEd+ZvRwI;$w7hvifWH zq`JFqNBud-uXE&|@VUQWlFiMI`rG`A=uvGxH;BN-7VW72!+-H($}@<2u|W%`s(&Dr zn~i_N*i)2JfBug8!wF)!ze24_{ptQm>dy)=u1})+!_{|!w1W#+O;rEPiQ|D9>A`-= o_|P2>C_7#M@x(w5|IcXfKh(M1#s>0T6aWAK07*qoM6N<$g6nNUVE_OC diff --git a/graphics/pokemon/giratina/origin/back.png b/graphics/pokemon/giratina/origin/back.png index 5871665df96a5f70af7dd1d7e29a8f2320fcf2f3..528ef6fbe80612558395ff837ff85bcb681005d1 100644 GIT binary patch delta 711 zcmV;&0yzDm2CfE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*6UNK~zY` z&6K~2+dvS;B^R!}O9*D&+)i`koRc#i5-pDbmQ5 z3m+k>k8AucnOP}BTJ7O7QR6@J(>LGDep2+mU!ybi_~8sN%+3I+2gLKv&$JJ8{)utj z6CJlDh5VbHGx13)51)t{*5ePF$$Wv zrF!{;fjnd)wG#)VF90#_N_QQZ2$)d#wg##roA4#zBF0GrR4nm-r7JN2h{SjJ3v73u zfQBdrIjw=8XwmZkV|f93-2lhlVGLlrh6dO(P$ZrJC?i1^@(*Bo7F7X4+jRpJ-eCdB zf7Kw+T(boN)_w=rfdrZ683Ttm9zY%70ff|)nPgubF0XLs16QDF21SurRF^jjlb!_! zP!w__ZkD*{)MEmFXhvO3O3Lf@^jdjq)+_*0a~z1ce@?w6(A|=I*zCI8i_|`6JpoC8 z&@^OHRSV3!z<}=M9e|`EO(ItGG50%gSx6qz7$Gq409<5|@q~ul=4O+4nRf$#AfObK zwC(1U+BOhN_DIy2PEzwzcgl9XEi#}?QkDl2x$k)7bJA>o5>#%IPt~J9+XG|`*xY1` zS4-91L*2mvWYCy3O=&&A4GHeO!Xk0!?a_2#0C-3eSz!B-AfV|$uO1$f40O`OOAxg{ zSr2K=V$@kPh1~&D&N~f>dAos&igdt)i+^I1569+=hpCE{JTgRB8PmRyBv`Cx4UoM6lq8|b51=s$ z^prL0nSx2RN3>A@jd_G$RYewTK8u<#*A%bFf;Ewa7-XfHQ2ZNNz;YNhaZT~+2LnaS zL}teh$X);v+*a<{e=`v=q3~@3)O$7&O2Aoy<0DYB#1~(p56~0e;ThO$0|5=a1mvUv zexk*|1B~Pu=+zO}cZSi2(F%^hj)5`_1V9-Hx|Dwa)3K;Z5ZbPeKp6}RNdBt^f##Ae z5U>g}z!oIPtjHO-e-i+d0q#IZO*@nB>ihEx+=jpfXsSWce@e{j^DBjE$ASZB6$&G+ z7C86ENC4HS%W*~fx;ea7L7O!TfYiJWMBF}QK@;e0$vJF(S?xq-pYo1?BtU2?GOg=5 z7Cz9Ycew{3sYsKGC4J1o3>+4ci!??EEIfdNEHWBXk(YhYyJ&!ym%_cz=CjC@D2(%qQHh?WmK7X}Pejl0) z4j_ZZtf)#G0Io=I_X>+7-tEzU27rqskvX=HME`FFx_Y=sGT?0!H$gN4Ra2xj^P$&f zT6PCac;Bf=EQa17T?Pimyv|G7#RU6MD}8n_3m0l00000NkvXXu0mjf6;U)U diff --git a/graphics/pokemon/giratina/origin/icon.png b/graphics/pokemon/giratina/origin/icon.png index 721fbd0a09bf3665f0fc6131fc7c8feb9e23dc14..e6f4c03f34f77d03de849b5675108e245f268e26 100644 GIT binary patch delta 544 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 Hu0mjf{;ucU delta 996 zcmVO{0}35Zt#*k300XT_L_t(o!|j$oZ__{+#_gd4 zTiyewPFT1jG#yx)L~0iX(tH41$w^j_a&E^W#pjG^<>u|!f&SY%@@MHvzX7lzgc$fP zyl02TXIz2=2n0PTQlv`S3y4-n2;P-LfF&vA0BY;&JOkLG)@h5f zo)@8%!M13%8naCh(74;_@G$T|+@k`DiOxEQl?>3N9*b0&iEdJW3PPrXW!(~@RhHvv zfo;7cxM=`wA%Dt&$1XcGcyiM=zAtr!Kn4-8hie8f z(ch*c3NQLb$_b&A$A16~;D%mgZyPEaP)fx#zgx=h zLIEQ+bb$yl4@{)o+y}uOU0`@}Ou*RCp%==*HX{iM7#=*^C%`<5z6uk7Q->3%;4#Lg z*3OBF_7gyjUYtR{kDhs);Gcv&I;F)xoxXex%eVuO-KXt2)uW-Jo3BRIiwj_pmjlL5 z^?9#5bbkVMc>CfFuu&e^cdO@H>hlLRg4^#1*jj;`V?&2Sb`D2M^-j-Uy*ndd7uHNb z^0(Dv(ulvJ0%NPntuN`_Ix^y0}wcUF9@S zB1Il6<$#R}j#nQ%P%fP#NsWFEupB^6z{d*49NY-K{Iln9gylo)jNUH#)E8cf~7#MF{Z3DK0 z=zm}NdD;cQx*pf=|D*1ooiA|zOgylQ+&>c!>{~_d53_i{3f#ZV!)!b#bpLET$h&`A zbjn6N$hkk6yBQDK{2O!UdqzAccK>MyiU(J^|JQi%OWeOS&;5<-Qsn;4zrg+Rr`_KK z3fzA@*Zr+|?q8bc{wvn+c7GEnaQ|j59$lpF-{==F3t6V(L?yuv)rTgdO zfp&j#q{RJ2VLTxB$0Q$+`xnN8O+A^IKmN&hpxytw@j$!(cjJN9;5r`s*W(MEhZM1n Swn3%<0000Q09&R diff --git a/graphics/pokemon/glalie/back.png b/graphics/pokemon/glalie/back.png index 253d76ec848a47fb539fb953e2118433345a8302..51fe324882cc82c08ab93c123529c947106d92ec 100644 GIT binary patch delta 519 zcmV+i0{H#q1n>lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m(^3K~zY` z?UFlB!$1&(eRS!vX9=6~90_O>OXPQ?K)9tjprlCFDIF<_=|aK7|CYIj4+jyuKy=x{ zmhL{!%P6PaO%kZf&o=mPA*pw$aE&s260N zj29k@gjYI97zYSAiDgmyFnZl?+Bj4OaLcG`ZxjI40oItRm#EuGL`e%sx6RrvrL4jv z*foLVc31SdwF1;)1#B16Iv5W>?Jls~Sb=BTj0sVFZ$lIfOp8tCe<&9Mua%#aNMGM@ zVs~Nh>3V0-t1!y+h2DJU4oCs46MhJ@uE{T|1DI-oQ~kA~=nHdp%N&}7f&>5n002ov JPDHLkV1n4f;^zPW delta 510 zcmVrod{NnT|l-Y2}H%$waNh)y+g;J; z)(X%Vuw6*&U_9Kk$3U^M0#CLX6Qcg!hR8dZ=9|PlP<;selx|WYetp9oy9;|x7taPg z_oIwo=*@NB12KSg#P@#I4Y@^)08{P%SLxU43v+hM9B_6lcmMzZ07*qoM6N<$f>(p< AcK`qY diff --git a/graphics/pokemon/glalie/icon.png b/graphics/pokemon/glalie/icon.png index e45f0ffee82de52dca00f039e7e141e108ee7fbf..9d2426c9225448ad8bb62675030dd3092b427e65 100644 GIT binary patch delta 198 zcmV;%06G7~0-gepV1KDeL_t(IjqQ>#4#F@DMRS7)b#EoJCo10C!?7@NE;i0kx;w;K zQB0P)Z7zT+@i#wxf7zCeIh5?X23-x>%3?|O#D=C5F;*79sizqwYE;C5aHNy=CF~o_ z6Kz0Irl6TP%!scX7KcqVA%bTG*Om}KKtUenQi9hEcfQDtK|kj*4F36GA66j#b7!Y5 z#`Y{FW3yl!0cbT8i?9p(3y9QbJgENf@auQ@0!hf4Gcv<1YybcN07*qoM6N<$f&$-H ABme*a delta 237 zcmVuK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}3b@9!=lb#EoJ#|qxt!?7@NE;i0kx;w4AqPSh^{#*coc$+`j zPkxr2`zrbV2&y9}4=tW`PkbsWRp)g9GDhx52eTTeW@`9kb7mvOf^y3nFe`I1PpUhj zS58ZZAGsw06a&|i2|&R>uDiJeG>>q;=uN=(asv2#2&NS%zV8xn%@Rdtk4?a#0btz5 nRS9W-0oC69g#PdF>35g_NywTrkx+Kc00000NkvXXu0mjfOr~Hx diff --git a/graphics/pokemon/glalie/mega/back.png b/graphics/pokemon/glalie/mega/back.png index f074b39f7ca9beb70bbc55dcca65a7f73507654a..9b86813975c5f8af84cc6d0496422a8af28f7d0e 100644 GIT binary patch delta 561 zcmV-10?z%91(^kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rE*iK~zY` z?UcQ4+b|S`C1>-LE7JL!>L7jqLPOG#2K@jI%m?U_pKh6mb_)W;lsCaZ5N*lQA3bFc zDN>CQTk6s+cN6*PoOACLlzi0xE$X>XX}=o~eZZ&(NM}93V8Oam@_7$1ndj6UL3RTJ zOX)H0Trbe& zR-pbyWXwpq{qscmS-muei^Yyf#51&6JuFC40t}bPV7g09WIs2@|cM?nZEY`+8m74n=TQ0y zTfdE}+H5ot4RGdvffdH;HHvi}fujacQx?`)xviA#XO&vtM5e|UUI6VtqF@^Uy5L^G z1N8aX-eV_kfyXt`MR0(`6CC~mUw^~%cAd8ZP6A70(Szs*2)_$_4Z;B|2axZ_b%6-; zeWg4PB7g$G+&j&pRyfT?1VqpO^rQZ{lH?Dt{_O-d!n~0T00000NkvXXu0mjfEc*UT delta 553 zcmV+^0@nSR1&;-gB#}W-e*gz`Nliru=LQD@3N2`KMkN3M0rE*iK~zY`?UlW5+b|S` zC3o}WE7JL!>L7jqLPOJ$2K@jI%m?U_Cfza-?G_Y>DQ|*-Alj0pKYGd>Qlt{MwzRZc z?k4inIp^Lh*h%tM|Fx*+KBZANAo_rD50K7#fWeY=r{s$sV7kbue>;Ng1_qkCfYXF` z0)vb9(Y45YxZ+xN0BK!Mk#YaFYI8H+57duCW4K;T$PVKr_-cb8Y&!1qXSNZ{_e zq+i=a43R2<2*thc^;NA*DJgERjVIq8}jqF7P!72e2GKK8ouC5$5|uc^*Un r1%SDCnnkT~ADW8@h|$}>(m$(bu>S1?Y2eT+00000NkvXXu0mjfY2W?4 diff --git a/graphics/pokemon/glalie/mega/front.png b/graphics/pokemon/glalie/mega/front.png index d9572f11a1f13dfbd242daf826929e9730f87fc9..9e7e9a73ceb27211f5638a6228a4af8100d57a42 100644 GIT binary patch delta 995 zcmV<9104Lm2*?PKBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1EEPoK~zY` zeU-6p<3j2*Ph&&VvfGZ(H0vFRMuK_k* z_!DgDJT8Su=h(YBgQ^9~e*cT_^JN+UUXp-h=#M!BHNeB3-zH^-VIe?*P^(~BZxDMe zk$o4S3O+*9049j7G+<8^&Un2AZ3OcByRrfS7ZU^%un}Dm1EMH@TR;x=9t&Wgfy)v= z5`c!`eCG{b#lZUC0eAr*r!ojj0E#e5EFItP6&1u%LU;?%HGpFoc>dU*Txy?Ek=}tb zG@3l#d~|waf7)%5!ZMW-&WD-N!=J(#_0GL6kb;o%&hcDT@A7ylZoSdD$8?({5ICR= zz@{Oecq0N@I=|X~QQic$f+V~%BtXhVkvD;8DH3Od1wi?Z+Ne$aoOUdi3DXu+g&e^B zrs9p^Wiyv|8LcG$d;&hHEPp^=2iWlMuTn-| zhCRPq0=WU)!qoXj9`POtz@Pvgu&Ut-xEOV$l-zkoyKXRpqkqR<25<71~#C)1|BLaZIyLmrP_Ty&~pT}onPl9Q3KS@ zRqK8famojO2UpH>4b+-ctfR6h3?)ta^sq009jheVjAx1ykb=q%hy9igkwe|79nW0e zPm)g^d3rb;K=+8X5|+&~ShLTc!JSk7&?bP^r^;K5X9w5=obI*2UUo6VO|zdm#NBo3r>i;Hm)gGRT7FY(^Je!vyHxeO;#Mh_l(f`1lOiF!JUxpcxBg z`anTG<9PyXXqiA^1$_`uUo?z^etiyT88W!I%dH;;G=TBO>!0-(lz$wS^&j0os&j@L Rg^U0I002ovPDHLkV1oAu#rgmM delta 987 zcmV<110?*&2)+oAB#}W-e*gz`Nliru=LQD@3NqzwE#g{kp++8J*$dhwLS_(^4@|QZ&(NL#z*9#SO8oJAriQlPI(Qm@xq^AOXo2Y zBAsLJ<_r!kSoXVLeV=D(0C-6PlA%B55YzwEbVUq^qG|y-)O##}fd(!s07(EEhVz{_ zcohTde*@qJfSk%9tNEKpImC6Qjy+)Gc=k!UVm_U zV}IIhl0ueB3FpJy=;1HnjC$u@7f3-!dFObps&{#uiCb@Uf9^5eCJ6)%C za}>^-sr>uIe;Wf^s^Ge)HDPbI&hTF;61n{8#3$gR%8Li&b$|{3`66ZXdD!#26;K$! zEli!SED_{f4YvAEvrLFQ#tW>+te+PPwpf>aCf+T8y+PZ4hk0MU_ zVDHL#p@CYHigi>Tg`uQLpYC@huw@4cH|M$H1f-zy{eHKhLljVVYRhw%_mkvfN1pEY zd(b^%t%POs99HbpCvfMK-?s^%^{HO~Jm13(;B==2cCteP$PHli`~E3*fgTmBS#1GV zrw5=Nf0PyKfQ{|}*hN(Z17I#51S-HNp}Tx+f=6>*fg7hFz~v?JAM~U0klegv03ocF zA<;fRAh_m>W5c$cBqB_bq!a)p%v;LN3y4ZUf?kDtA@XNHr+|fw7IV;pp3y~dYXW); zbq}OpU~?8f2V50kQ3YAhoXzOMYnTB2yRWM>Q5|tMyB8mx0c%FyJO(slp-dkrXgp7V z4J{KWt)K@1^+m%t=%0=6UsGB`DDUzgKiCamyz%<8{(|yr@ju-^s&lun13mx%002ov JPDHLkV1lCb!aD!} diff --git a/graphics/pokemon/glalie/mega/icon.png b/graphics/pokemon/glalie/mega/icon.png index df4e3a7f488390c0c965e3502307b2df3c016a78..d563426c4fd890b28e2889a575dcc36d989dc39b 100644 GIT binary patch delta 299 zcmV+`0o4Ae1C|4jbbkR1Nkl>43BH@x8kcLkT4c**dexzh$fol^+O#lNsa-{b8-6FYb* xy&b&zogK`eek5;)LH*7SyRrJec391+{u3-X;>%F$FMa?3002ovPDHLkV1gD)icSCk delta 317 zcmV-D0mA;41E>R#bbkN`bV*G`2j>O{0}3~l7QbHr009e0L_t(I%k7e}Zi6rohW!Qz zWsN`_d#vQ9F7QHqiEbVup(IN@^;x=QsM=?stks3OOOPV2uD~{7?2@Hy{>&Nk|DOhjq8WB)4m|YzJ`Cc7Geo&zE#O;`*u&h+lE+ zK(~EMzyj5}dmQToH^uT@x~~@0AOaf)xS>tS0O0OsKCrx08E`!w5&>KvtBh-MKpH+V zbaZzA@+~DB3*3n4a|0mve#9nZ*j)BuM3`q?sm#A%fj%l#kPIO{Xni1@fF{pZHpdVm z6P<69=IQpo4mN++p`GbKGaY=DUI*X)po0nRk2-|*2OW0P_J4I)-Lw54EI8uJs=#&< P00000NkvXXu0mjf?;MR} diff --git a/graphics/pokemon/glameow/anim_front.png b/graphics/pokemon/glameow/anim_front.png index b912978b2bdaf4d86549dd4742616827e461c28c..d03df57381323fd408efb7a10554b0b9d6452881 100644 GIT binary patch delta 1131 zcmV-x1eE*H3D60Ubbka!NklTK@!#V0w!jOh&ge56iKO>!0X|p zu1^7`7sny`0)M)Vys6>I9AMJ4Cjp@egc{+XY0l^K8B8UC#*phaz&p*?ig3}MgfRwE zBameJ?R<_;>?0u_SE1u+sY*Ug(1gRY>f%bo0{!qbH{$&S0500 z9JMcC|0I{MQ{4?KZ+{wo{^Lt1qbO4Oj5RC2{FCz!e}8!y#VQGyPd%OSH&}*WzE7FZc<`BOMG(R0; zMXF+nta}D}(aQ_1n=)chXcwq9bVU~(+QX>|Rw0swWq!7@DXdC>`jCzdO_Pj^#e0UP z!2~Q2Q-4=k0OL#sMX#n?1OUc-@C*bWx>NlVp)3uA>V~nJASMzl%uirH6>j7~)rDgf zp|%*qYzM0e7EHhiStRt?@S1?NPFbKg)y+u&>m_uFk>HmZu~Lf)@Zp>DpE&=b0KoO@tP=ooy{{7h3V&ZC0Puc!u~`7fF-fEVcwi6!Y5-B( zoUuUwNCJ+T!Zc@yH)gmF3ge{0y$*omT;JZetrS8|e^ZA_hIG@|!la9YX_|I8a~EU# z_PJ3hGEy|@PqJ4kMMctuQYYA>-R=U3kE>X>!RD_B5{IZ~PxGo^P=`|{?*$iMy@DG080C_>L7SyV_ zgIev64Ga%v5+Fl0$J zTX?$C2oyO8GqZre$>9U0Bs1LLDFNbv5QZ5pMNE-l-&=TFd2<{78c+j6+AAz&3v x5I5=vviXVnl}1yOl;hp#HLf9(uy}Li`5SKOO2d$(8-4%)002ovPDHLkV1iAW4od(4 delta 1132 zcmV-y1e5#F3DF6VbbkN`bV*G`2j>O{0}BB|w;P8500cBiL_t(o!|hkUZ{$Q2o^gS; z^!TJPP(-$Kv1>9}ZIBQWIstWV&!=ncVm35Lb|k+|4x|&OB)j}*kWk_%J;b_xi|wFD zMS*B2;3PW!4BmM6f_A)bsS)QQDZVc=@5eXqePQfB{RvlWgnuLTLEokE=)pTmr2+NV z!r4NLb$z>ZPX6L>lY7}w2Nz<2_oML4SK%lUi; zQ$ye}#{<>q#7r{UzyPk)2YetZdK6h&=6V=Kxp{#5Gy zUtUIW+XU>V-Ol(Ml;P*O)_G>|t{{5%kCYlz8gmfX?~M7GB}H$j?mhM}f>QwNw9nAf%j)nB&f8)YI$1>K zXKNpYQ-5h_|B#P}N0W?-#eKx1!3Hc4>Qy-aqs$aVyCeZX2p^j`>nz=FO4-&5g55~^i6))6L-5ZLX2N^=ZuC?c&%0&1O$K;}fH6F|L$9wP~UnK4HM z{3BvUJ9{xA5p$>^zrD*B`A5VJPQYG&|4Rda>wnkXWB|;1-(&z5j{C@%ev>BNwPnw&{gUsU6@^eWb@J7VJ<8C|J&J_|Lj`-S{%TB`C@W%u}6o|Fph?M_Q#`>D0=pA z3W(we(r3YjArLc!V|b^NH8s zI{@D2d{7q@$D3!6$0$#Rb%KLvvI#gpIOi;AT8ciLuImR9fo4B;8C}0$FXBqdQ`YL1 z8{dTXdIFi)YMc%5`etFTC%9MJ$IY}|aq~Ghfu2m&GK!8{;FAe|5GnQfXt!MhFTPIK zfTdoKc(km6%kO3pMBY^^=QFCh%n&f!aHaYn6eGL0t;2Uhz{k)t0D%C_1O}ZgY44{3 zvfKnbinDyKpjuMtbh)ytphq~M*31CXo-9*_P84;c}4BLug%Y30HLeO1DCEm90#! zS9R+cV>nY1h#)PDLDhYV=9hCV<_ob6=)!U2mXl_0#5REaGoq$J2`mbcZt7|p3Epg+ zmFtW@_cCHO|uoq))3jH##Y%TD0G4$Jxr Xdp`Q_7o0=h00000NkvXXu0mjfhW=fU delta 729 zcmV;~0w(>;2EGQ6B#}W-e*gz`Nliru=LQD@3kKcOjwAp80-;GnK~zY`<&@2C)G!do z<2_V+jF*xeRzisn$+@Ka0!8B9ZryX^b|;G}gt8Jb(q2Gw!rJF3xB!5f1O@_+D0&dK6n`bu- zF#YZ}LDa2%az3Y8Wr2VzBUJi@P>kZv_xkUogpX${H6y4oy7yvH*Gz*0FH{Ky<(_2S5)JbSc2^NejIC?Kl<7nfaJo z$i|<6GYkt*lvsAeOXn8$B!Q@D9k8H9LTTRXXsAUQgRShN?8fz|DGyGkr@OqLwsw-NA3lpcq7*V)X#{X1|@J&Pf4-%7sP4gc(QR;ejqm#(0c^t zYCwdCqS^rT0&_J0Vx(r9e%54O>+>cE-chj;kR^^$MEbl4@BfRxdp`Q_$omz300000 LNkvXXu0mjf?u1+# diff --git a/graphics/pokemon/glameow/icon.png b/graphics/pokemon/glameow/icon.png index 628dfdbaae3db543fa9431a3df087a6891d0af46..ba3844f56db6b21711f4850f12fe9b917f9f9681 100644 GIT binary patch delta 322 zcmV-I0logP1DFGlUw;83NklRUY_{{8~mfw}cHh{ITF`OAC<3qQax!(N5){EDT^VC<`N&HEa^bc(`oSN7P{}MDjyvUjcOWxPIfuH~n>x UgE?WOq5uE@07*qoM6N<$f@FZ2Q2+n{ delta 346 zcmV-g0j2(!1F!>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlTWqhj)z z0003KNklz5pxuR{v^EszsF*BS}eLu8Vt)Sd_+~P2h^bJ?J4y2ws>mR2PFR2;WprDYCxZL z*s||_Y{KjcWm92b){QU_s1#;x3$_#nq+V<(OjNG(r7#XrQ6UUV=eZOnx*Ju(0NPp@ su}~?DA-GcIhYq^-LuqRKpkMp(1^so9gFd9W6951J07*qoM6N<$f-Mf1$N&HU diff --git a/graphics/pokemon/glastrier/back.png b/graphics/pokemon/glastrier/back.png index a68b81d74c3d7e63f5dd80eb066ec43c09155b9f..2b1055d00e5fde52cc5ca9a3f038df86bcb41ad5 100644 GIT binary patch delta 632 zcmV-;0*C$A1>gmcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y#-UK~zY` z&67`W+CUJ+t(9=jc%jOXt~J0l-ueU3CUj3#83!f9tL{AmjMfy3<1?Z4}k+c1Wty4%I|8_ zdn(}GMzh7J>RoBhQjHFOsP1|jLFoWlCZMza0DKZPR@$1W?F}Nhvp}OQ;wSWag1pkv?nQ=WV zVdsLU1t15sX2RH#y0#Np$6$+Q5$y$d9fGHnC z#ujk9f+Z1sj}BWH7t$yO?mdu2Knhs%6jIs8MzKy4h%@5GEkdg0nLMzH0O0_Oja+!0 zey!GhJ>d3X*#gafI9^0;=iKA5d3^(9lu{{Pq*aFA0QwdJsXt<{K<~8*0HJE98#+1z zKSvYXYA~N_WWCi|AioCE8t3(Hf{X5fWKYji*9HfI#MRK#-1_rda z==79y>Oj}E?dU0e4BUhU-4^>$Kgaqm)Y~bq>Lt=+hx9cDo<5qef6D*5lH@Pqgdrb* S*0Lf100004_K{?V$298kl7-rMh>mi6wXF2nxz3%AuWO89uPesD@toZs0>;HTc=koGQopZ znQ?#)5;%ip%q@J$f3Xdig*}RV1}H$ZHNphe;n)D`y!vKk*#%;Ll3%H|H4I^A!IK=2 z4H`XRY)ReiOsX6l@S8!RKi%D{MQ*1AO>Tk1L$JQG4S)o&<}QRZPmN@qCJ=hWwH<_z%M&?Zf7RJ11`IZ0;dJ`7D*I}{ z-Q%(ansGRY+RVAeQ}ccXMBq|N9;A_)&H#P)fy5m#7@&_>c|a^{t7|&g1g?+9+iK9a zHL~7nEs$LUNsaS*UF$acoBcTWH!GQQeI}g6?UuhFxOzK2$;Hu4nKlvUfS-PbSG#C! zocQ6d zIyN0Wq0fOEKS8&|&eu<&zV-FC%d2<`^e{v69s)0)b=cqKe;$7U;)Ed|J~}DL00000 LNkvXXu0mjfb-@(s diff --git a/graphics/pokemon/glastrier/front.png b/graphics/pokemon/glastrier/front.png index 7466704aafae7c20d1b847107fdbd573ce52a894..0822a4940c63c209fe8a65586e35b0d35a99f6ec 100644 GIT binary patch delta 742 zcmVKh5YP&p=(7Y_OS1u zNIqWPgD0?yh6CrL{lB0w{0@ZQfH^%2NIZ|sfH*+zLjhAGU%m$T02wBK;JiMCmE!qU3C8*; zP172MfO9@6(loT~1;AwqV4Yj*lN27c0j_*oAOFb##bFAvL_qlP zUjJD2W3b*2LGO*mK(-nXrvzRfy5{8f1l{Ho2Wn{e2P1Y!)~m zNT?q_-lK)QDK0N*1thcJ9%gghD_By-~-7bl}>Kh5YPIXsw{c9ySL>^6~PXya2%0 zIJ4mN=>0D^oBRa)AHWiy1SnbtdVnlIcRqtq3y1{MutRjf2rLxDe`KhQV7!vyOH7z` zhBe}eOgA75p;*tKpT=qN<K%$M1P~5MYOC zf#u=T@*AGoBw7-30X6NM4#K=HH(`{7hQNogW`t7rqmwcsM{Q_c+`l4F4Ix&XeprIBi| zq6NH302}u~HCWZ*#laGz!3yA_0+19&aumYBCcvd@s^h-}NYM;|))F8(xl=#lQ3S?& z6Aa&Q1Zb-Of3hmzjG`t`!5v?IqE)z-bMfy6xU4|z%aiu%CA^Zyq`n54W91)J5!b~l zlNH6R20He{Rd=ti!em80Hf190s>1uxs=ZDXSjOJ7G)SL5(ranIf+M-tD9|KGIl+L4C Q(f|Me07*qoM6N<$f~PiPr~m)} diff --git a/graphics/pokemon/glastrier/icon.png b/graphics/pokemon/glastrier/icon.png index c0c826c35e8f5ef484b910f7f1d36927d3cf8a23..98bfdc8b45c8638a7d2c399507d373839f79b8c6 100644 GIT binary patch delta 279 zcmV+y0qFje1MUKlV1M~ZL_t(|oYm5?j>0eu2H?Db1zoE{M|V)pYXr}ZSfk_>u4JvC z#cL&Bt2!ZJVL2g@&A)8Rtv;pR_xh(A{HuVx;(Ut3l}#Rup$nUQVmP<1=oqkdEvvK# zDqOkXft#bOKvTON(+^`WfwgYiAQCMBn6tS|HSSMd0<>7dTe z6SrnJ$_~rxHDW*PA%2Uxud0n2v-81e4|ScLf1fVZx(pO^HgXE(Popng20&H5aZd6D zANBgD`X2?QE)kS`h#*KlL=Yt(BIw~G35q_Fpy(qBiatcp@jLnuLBGj|2;zs2MNr{m d7W7she=6O&Nf3;JSLFZz002ovPDHLkV1g7qfO!A_ delta 317 zcmV-D0mA<70+a)gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}C7=v3Fho z008$%L_t(I%hl4sYQr!L24KH|XmbrKTkb8MuBLtV(yOswVVSRCOR8%?O^K}9yX>^W zeAAC4Z1WlOyfgl&A^sLnG+a(``eIiGa~jgFoR}_ss5&O>Lx0ak_dtW2kRot*k`?IM zuxEN_93}8Rymg2~YXI)zK9?E~=O_XCu+(@Q)(&z$Bt(lxzjn~z?-SqMewH1cw_C(< zIzWDlxo(=BnTzW~uo2p}xc+syskL=rn2V8fsy~fhY#jhKZT<65F8EjH4+UwL2vQ#+ z2-JrNBK0AH9yUHyQ1+pMvJVxMeTbmbYxW_6KGcT@;)jn_Q03z;=&3$#D&4wCNtgwO P00000NkvXXu0mjf?=y^b diff --git a/graphics/pokemon/gligar/back.png b/graphics/pokemon/gligar/back.png index 49b0f06daa7e22580b4929bb92bd732bee7bac17..c9eba6622d73907e181458aa3befc69674fa0962 100644 GIT binary patch delta 659 zcmV;E0&M;41^We%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#r#vK~zY` zy_HRJBOwfh+eOVjGUfv9%pRiX0Ate!plIFyDkF*hb=yf*YHC>67=1h*Lg4P-v=hMB z@pIpQNu2w49^W2ES5?;!%orczInRXq&0HVnyDV)|{SX1K9ls@zIp16NlbLOS^EBgR zpJ~yh1(Erytjdy00eOl zP*nxn*XL*e^1Kb*h4n9^xgs_I_CS@s8x#;l5uy?n02z^M3n4~l;}m!ST)i+>bAz}3 ziZ-qexSc@fFq=T<%GmdPOR-t!DYcY2Sn@azJc=b$V@NB&ta);OZ96T)1i5nQ_5jaK zek2;0<|?6Lc5wk@2|X&BtISn1Nej?SR-B8+A&=&(BDSo>&h5%jfIrwJl=8k)Gm+ZH zW(ldkjCheOo$m8S>fXp!g z;hg$80Kcj}4nBD^jE8u4s>$-FzzL5QGiQtI9iyi670r41uR~`V*ber tskE95&w>W%(+w@vuYlHG0Y7hD_ZO7O{1H1WCx8F|002ovPDHLkV1h=*D8~Q* delta 646 zcmV;10(t%W1?&ZoB#}W-e*gz`Nliru=LQD@3n!7fo_YWP0#8XqK~zY`y_G?7;~)@4 z<)UUk1ako;vxod}fQiuoDAf1A%5*o9EG#+Mq=to!;PLsin$|GeB%paoqxZY%Li|RWIIO(`O0it|s-47zte+^!i6&L-Dn{L{G z#Yg)$>#%evKqg*y0F3W|6a>(L%O`JTswme7U}`JI*CS9p_pfhl;FE!5Ll2}X3VN=O zSpm>`3^|4Nud}*Jq=4;#%6&5lz=|xCir)YbK($Q)!RUDMv;n4G302+Tb9{x4L-%dL zH^?e5m@<#!*g~w!qg&1A)vUZ7chRiH&J45mv%2L57*;Pk$wW+JwOtrDDn8Mty3 z@=XDbI(7-ltL8j;i9*i&P;jLZdO)ToS)3gJ?sga9?q5Mgf1d)hDD445C+%B+!v6*Q zH$X~frwBWN1+doovtt^nIutFU#V%>q<_WS87G+2506=2x0;pJ6x9m{*k|mxZn{c+} zR7n(izy+3JAhb8aV~moS1r5-fj1FLJY8_eI zNTB4(q;v#~e075YPPX&)2t@Fv946*C-bWyDv1gA?EO2ph2Y}b80CPtC9DrX{ii3+z z4ddjaRHMdEfD7u$SIOO9p`kNisXjX8j~3Rfw0dJt0i7>a=iJE-v9z4@?#Y)kO6j&O g)X#v{-0<`5AC$@b5eR0kTmS$707*qoM6N<$f})@^H2?qr diff --git a/graphics/pokemon/gligar/icon.png b/graphics/pokemon/gligar/icon.png index 3e7a4b5d645cdadf2791af323c3cea4020916636..6b371184e38c032b18eccb69481e01ee2fe34899 100644 GIT binary patch delta 337 zcmV-X0j~bW1E&L!Uw;8INklgO5rmkaIz_Xc{cL~bA`fWr3dpi#hxuGj)# zbi51LgJ_0{DrW-4O@M)#CkI5A*u){dJd!AY?ztt~NL3|p3V*L(z7~9NF>(rr4=F|`R){aqqp67TqB=We9^6m=>cGeYhWJTdfC=84e7Jm zZ%YG&bq1y#S%Vuf|7B&uz;y9Um;v{hFo1};FrvbwM;nqbsskor7GtI+voH#bbc-^+U0000000NkvXXu0mjfNSK-_ delta 368 zcmV-$0gwKt1I7c8Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlT%253j} z0003gNkl4UU;2s#Ql&`O*mRH>I{<#r;)1zjwW`#2JDy6jkD z2*jD}q@zN(npwcH&;fS%2y}g6N4S5YKy#E4#lt~<_5q4o$gQ{__pTxlBntsRf|0~3d}or*L61k zWhr4`{XWoFl6&hSr|Gt zof2l7RTjogl@?|ytDP_}7_~5^%sUIizY+#W3j@^XKx%O?yF}cLLFzB3X#tM0;x<$O O0000l*O6vrtD0arg#>~*M-pc#KzJsH6bZU)C5 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 O0000WJ9R+A>I_AZ%O{)puI zr*bNf0Fuyr`{unN4-P)-LyD(w_aprF9&iM&wPq@A5s%`R0YZdWf394-GK3((ET;3- zPmIG}tQRE&D2r?i6mnDnAt+gun?Qn8JQ4tqzOKqpB2sY=Bn02fP$FVLjCBThfCGs+ ztG@==aybq%mjb#Y%Dn?v&mNL#v^}vDx&zkoe}{7|kmWOJE-#oDok^!f zX_Hpo`^+vcFaC~!CSrytEB*54((GT>x(_7UUvqCl4OGxBDam}2sz*c~=yn8h06a1P z+7Yq}?@1mGTM-4?l={^<*CLI`5U^|KI;0kf)ItjY?E$T7F#z;qaKoy6%nJOw^xxCV z09WcC_$mMvEzPPGm|sa;6A09RBflZhdIxa9gwOhK^$*u$M~UR>pP&E$002ovPDHLk FV1oWx`wRd8 diff --git a/graphics/pokemon/gloom/icon.png b/graphics/pokemon/gloom/icon.png index ceb8e1684cf00d89e56acaaf46bf3936a10a31e1..2602bf2d5e041c180d3bf52f394a0c400c63ab67 100644 GIT binary patch delta 226 zcmV<803HA10=fc_V1LC)L_t(Ijpb4?4#F@D%nQhGs*3L*xf>ZOB^zBcAo7v^fFGbp z{Q?pTTRJ%vLNS%7h}(sM3Gn9g`RtQUh;J)NH0vor(ewFbcMP188cI=TibOQ3HY)d_ zs&&*a03m<@EHWcC8vul?5e;sXA|<9nvI0j43aFU?O{0}K*~NX(u9 z0072GL_t(I%jJ?W4#F@DMSB8ro2ueEmE4UCm6DCF84$ThZ@>*uq+S7ug)N<&2%(q` z6>+;TFah5D^Ar0;zbL+~1ks|W1m(!jultkdmef%SDq94imVd35x%W-0f_e!E9yDN? z9jU7U5b_&AV=X1gVjd(Ku!JCix>=Am8Vd^bd`XNCXI;>2`+M(b&}{d3?%kj~V>xWy zu(J&IRvGk+#T=ta9G^%ezxuLh-wB&b@w4?$fuU7kgjoeLnWPW$@dW)TxbPBj SLm~hG002ovP6b4+LSTX*d2n+8 diff --git a/graphics/pokemon/gogoat/anim_front.png b/graphics/pokemon/gogoat/anim_front.png index 88a5a742bca232531cf7b25080be525ba6f74821..8ab08d5fdd04dfdd34092703233a87f3627cf50b 100644 GIT binary patch delta 1655 zcmV--28j9V4cHBkbbkg;NklVv`grD%m1q85LBLnjoM~z>A_%It);!FP17t1+q_>X!*5}aWxfH=;mBhz8#TDvY6{U@uLxmwO{#o@vAp-3y{yfdc%P`) zCKbYNb)THx$QD<;AMWm=M{~VIsa-bbpiy@lX?;Uqd4F~?4<1a@Dw{gLSuwFk?;O&+ z@nrsF{xNO>TIihrX0D6Y)n{Xw*S#NK&vR5TOK_x|FRlxbi2~0USm0pN5>1Y4QHc8y zz<7S-d4ETNjm5>Q=USsbc%J9`6g*fZ8UWD;pJfwJ_BZF?Ace@k|GmSXZY@OswJ-s7 z{}2F6h=1Fit&ZF2yo*XuiuHYg0suViz-mVUWrQ9c?o(k}mMGoEa_7v=!~j8|4i;=w z0R1z!9}qcs{+4C6sEhjU0Dzwa3+@+rsJRF@F%uOF9|P1|5^x592QBE2KvN1J(AJ|z zVay2&{)r0h0j?Vd-~#|l)}aG7szvH)*O@~Dfq%siaAJV#v_z{(rGEenV*qfepiMUf z+D1Np5C&eRP9CgFz^NIAGXTJg;e-l`k=G+8(`{_(7_fp3W|XvAj{^0!o6kGxwC*_I zqK!LL>-9*Fbj``*H*sFix7#3x8_=Twe81IDQB@CVJx>ihLv?dM3UmcGeVx|Q2#oH< zfPcmn5V{-nqQEF$mB84!Kidd^M{&UOAL9F`PakK){}bouQQ(nxc!&aTPT$OOSs43z z@gWB6hrsNScNhZ4(GK1|mli(2ubU4ga2h#>v2(gV+G7LYJUTl*f4-zW_T%hBrEiUW zy}Zcu*sq!Xx}tu$JkIpk%LL$R(j)`XZhv1chtAgk7(Rc$!AcRC0SFmdX9XY#%$8(8 zV;U>K4Amr;Ai!h^ei%yxh*lsPfoefZR=~?C4Kl=dN-HFFkXKV^L(!64rqDdJ!Tuys zfe}KOq{vK?%Txh(!PsP-^BFD4CEN}SspF(bbg98X7Rcl>0;wc`FpYc<(^<}%C8UxXbsmTP7g7>NPPjb|$-%;VKw2D!>GQh={y@15NBV7A)9$c79P z1t@*8cki{g+xX5jf06pR+|}%cl`Y`t#EfBDi)fawor3$!MIx@l_=#Bn3Ew~PiR>T%qjS-Sg6pSOs|QsnV2W+%vo>eP1eD6u zHW4N#9KfS9ZCkWvrm+e+CJqGiAIypEEl4@oF<`T*PmI1o2FXImWzI-NdXsv^)p zi$KJA8pN3KegId?4XPM(;y|?m(_K`ED~Wed?*oiKTB0O~oY6tbiN_om-=s24r^6xc z3<8i4t z+~WZx1a2r-!0Bl}aI)u*2f!@6UAu_p3%O2@Z)E}?lL%b9xcnk3r~iaN-;93y_VPG* zzX-Vg8Gh%Eyaj}Y!~+_P{oz2@%75jDYyW$G_!sj-8^=8;?{5GA002ovPDHLkV1nq6 B6QlqD delta 1675 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 y*%6SGHf~GP%&3a$3mStSf;6~ zMZM0$&dGBcS2ADF!V5fg(LdJ;B$cR@dJh83Dk0ToH7$aWWm2jf zd4KIu&khP<*9)yas8x5(kk}44>@G4SE`3Px`}08<^89ZP{beB`pzI121RQ`i9YbBT zGcUBvMzl1f&2Z-4(9#GkVpiWAz-WmCPEz}&z!(;03=F!LeepT~b6&dQ()Xj$7wf#FjegHwM V%6F7dM=t;X002ovPDHLkV1hYgsdfMW delta 414 zcmV;P0b%~l1M>rrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlWv*_Ox|ookKB| zhY+wOWBt~Fh#xY(^ zfpI-SH()#;;6CdMFvW0RsIS17@xB*eHaNL2>So8x?-%j$4MD5QcQc#z9{>OV07*qo IM6N<$f(lHxlK=n! diff --git a/graphics/pokemon/golbat/icon.png b/graphics/pokemon/golbat/icon.png index 9fdcf04acf7b7e5d209c13f8fe6aa730e568d8a9..531b5bf78ec87f8d44e87195c4824b1d4a557a9d 100644 GIT binary patch delta 282 zcmV+#0p~{ zY%Rd@ShKV(rE1nx&=(L z7}}1R7X>tQ@(Q?OzX%2*I-Bvp-73)bPeUtnMYRH`BjN3+pnpq~$Pg{+x!>k6BD&uS zR&YJ~cmMg;TA~ebFVK5lM(i^?n$})32c(}c1K@TxcPQ*mg=gP@xs>3aEGXk5t`NBC zl7kybRuqX|zXI569K!s4i2_l*cSeXdG)U88Pl%Lyfz)W}!2E!kq?JTOO&E76g+?ZH g3T12ZH{$RC$`e1MMK|E}ZU6uP07*qoM6N<$f}Br+QUCw| delta 321 zcmV-H0lxn60+<7kV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}M07A>6~{Y%Rd@7&EjjHkqU~JIM$P3sp-*!O*SWc@X#tk&;E*n*Zu*a_03F^?53OKAc9C9 zB!#?hXWqP-?tGfIh<`Zr;vB$$!t4P6%6|mZssK=&K1q(!V1N44$B@8^lUZl3rhpJk zFuhcY$-Iqg65uTWHw_pOec6aj`gT^c0E-?)ikfEo+q^?nq-)UcMg(}v@7Pns?H+GU zl%VO|eFCaw11#L^_4s2XKrbYLZe%yb0ttwZ`$#~pT22tl-F>fEEE3T^kU(vX8oH4L zy3bnMyl4jN|rRLxS@K=VlGl=)l#s&bUfDav5{oE-P4;U@a3iZ9|24ZflP;Eu@Chktimq_xN@+9L6doeBduH&8EY| zcl#_pjI=i81C6P?zVz$l@=TuQTfFxk#m{*nqG6j$`0~Yf3AkSP1Y8tHG|$+uizRHn z6jOjn>whx9rsWTxRohUn+gs;9QH22&AKV}b(Bf?juJY*7JWhHD0@kt6P5{1}0t`B; zSjb-ikwGP3Y6`ue18oVDd8SU zDJg$gSAtq42PH|7{fBB3&zGg!GJk};U@tp7@bG$q+m2aU0+GTc+Gakg5jvV zZhwsg<00qq{?1r1RK6691jFOIZ`@!)Fl_RNpFjza=FRlcG hx|d%V!hajT0b2>eZ!fb43;+NC07*qoLMQyTPUemSsV#@3mx27n7X=yoKEb0Ljo#!4NAD( z@AJn%Bueo6Qo@Ig&uNOby)%1HEUhHqUAV4E+H% zke*kwBV%v^_)D#{JM<6Gz&Zd%fcIS}aw04z0H~ol&Ua3lcd0ur=iM9ug9AjuTQzf5 z<^#(6Cq#5}_}usXgKgIp4V^CPr(z54xo_whtvv1$Fn>7W+=bba-Oy-$AKUzd{^Xqz z0jHxrHC)GLP{n7liH2WL0B}d->BYMi(p+Q}9g+CT&IAXygFMwii)RK^NZ@|ytWtE> zsDz?s|}I|>W( zskNV{<9~Cxn{V;{I}{&hi14Ou&f(sRZxXO<_X$`iwrGa2X%}^hpy_*& z&0eb+I~PAN2n`BNu$(YJlQ+*Cp!yqvp(F`LxEHa4p{vUUL$}oBg0X>Wf?!y-nj{$WopYUFs0o5GE%SQ8 z*ndhA3`h`+W*Cry(S6hj3q~D+>nki6uh{NfFibYN=w^cPkaPcVcP`EfyK2WmP!D(Oma#)X2nyY7+7FVilY8&Uw%Ryx!E0{x{e1s>XIsy8 zOxfoLK<8-CJ^<|RM*}zjI)}jLV}Wz?)RKd90XMBj`!Aq-^1Jf{@J8VB(p^5%wp$)T zkGV*y{h-}N#3?f;@Arqa!Sp$~I@_CoVERP@FMt2+0geFH1Cmjne?0^%6Hp|{TkP|< z2mO<;h^79%tlH=1Q(f0~1+Zr}ls;bm{LttVdEi=W_Aa*oU*DzM<)etg5wupBPGH$U zfmb^)9#f2PHa9ECk_ueF=2o^B5mAN{3FaNZU|0hWWrA$6+5i)QxB)U51f0D6cr!j6e%4Ioz!>5~FI zb8UzG9T?L>t{#)CA{4lg3I2j+r3NJv`7$AIYNura^_kDX$^LLvqoy=G9L2OdanN~%en`i3lc0j T`Ehk-r#!mfF~H!E4@nKi&V{J%cUl`5bZV^8=uBG-w|H_V=R!8~~j|;PbJ-xqWKL z!MT9j*53LH=$`!UJOR8BxV&_i`xemh5PHmcQto+!E+S5uIeEW3qz$Id$@SUJ1O!vh z6L|S&*8&8vZjg-n{Od7TnSeY=-eRA>J*uC4MJ)7x_cCgqn^$#R+ZDi`nNaF@`SU}g zPUL}Wt=YTW0(^a+ZikN|3P;dd&2$3G1PZ*W!FWtD!r9!6AVVr}0h?XfUPMGQoJcU& z0E6M?eNZ~c6srv|5r`Wgol(Gi?KKnr0n#E~2id6xRUIeW1q&#Nf*FNMM!?h>462N21&~h7o=Ob{V6HlsCtQ{k8K7pI@(&M(Gw5ciiO`_9k&HN32@>?h zZ3Dc~2@BGoEcix1l0;@52>_U7`xMC|Zoxakp}Na8R1-KP=?1U@nI8?SI_Mu}AX{Vw zN&ytl#-Xq80?>*2bX90jFp)1E zVv5xW3aE^QM3jYGQ_dafvj{(`8EZi0=2Rfd5KN0yB1pCPOT?*zBP}L+4b2u>#FjJH qB1kJx*UcEIl}UTZ(&zuR|2_|%3oJRE>~5d{0000WL_t(IjpdR(4#F@Dg>wTB+#r=;qiVC$Q*Z(#DlxEBYKKa2 z7sjrPJq8y*%D`5tlpm=BrX8H7USLIdvtvI!JD(6g7&Xfw;srHoL1C2dK14 zkjCNQ%S=@eovOjP!O)w8nYATAvO{0}TjlF$ARm z008qzL_t(I%jJ?i4#F@Dg>wTB+#r=;BWknLQ}hH#RAOMM)DD&4E{t6ndkijsl!2{8 zDL+yNOgkiPJ)o`#Z+7gbXXj(=2Sbw_LRyfc7Gy?>;WI~-jDKbfzs4c<{S3__R!*hX zpu}^ZOFQ%kYcD^fo5Z%#qgS=!p>@f&c>@Fq#765OToS zzjDA>6$^|Lu`&oyGadKN9b48jO@7LVFP6naD!R`iHI5Z{bn1|~Qz%t3LE8c{-1bWH25*RwZ>}RZh z73Kx9Feb%;L}5h#FU5rbgvNIvhLwL#B-9ZwmZ@k_L<{1(gC99wXjD-Ie z$N2~*4Dv1tia%ibR+69vOyIyt&0=gDgdBWG5>$}RIE0K~zY` z?U6xl+b|GC-N1`#S2{UBD)$01djK0CV6p3_=mCQC02M$vyTSrA^qPRl6WGuxJ2Rvt z+sd|!0-1$G%{>13Gn&1}zlys&f24POP9y&;JZbtfR;7qrU(_|n%ub{vfmKVQ2J z`VL|k;}C(<=HXkEx&e|v*HzmHwz0ziv^{XzruY6DIE+9Y4`=Rw&;#?=9xz*z)b>|E zUq2gV%%PVMLMX0ht_Rv`HxPRQcu|?Jk_T(FA%eS{iv(oe>@-c^1ydaj6P8Tpu~V}@5kaOGGxl~ed>{YIn?RR{{B zOm$O%RVV@*wt%*OY)~F=41mTWdQy(pgn*_xfU*f-LlD4{z`RA*Tn7hN0C;c&;NUtY zn)1l?dH_fQ0iP03T6W=lx&Xkyu1N_{IK45-!2n>7x%GI6p%u*+^awO)qJ%yH!Kr{N z85ERffVLJB!SVDu-EhbvpyGevgbNfpHnAGj&_fsi9TWpA_(Z}oy}ke%x=Z17pjIIQ e@A1FHZ1xu@IFG4ux8hC!0000-B#}W-e*gz`Nliru=LQD@4IY@~vGf1{0uM<*Z zx*c+Ne*>&;fY6kMScC{;ix1JDcv|?;N^M9D8&G@UDutEfnV4zd*DmfKX#!SA%4Dg9p(w5U*iyg z)8^q@w7LP3LDyB=e+ag5LJzbVIBnDK{u($8KphX~Fd+le*9_>bPHy`vAnRuhS|757 z5CVcevl(csT~F*82oE)LRmxzr(oBRY=OO_!r+13C@4T*#IuM3K{hO2OTY50qD>&K#Qx`Xv$;I>mFbW z0$gffX+jF?(gnl-?3&a-pzXB=i#H2?qr07*qoM6N<$f@SLdj{pDw diff --git a/graphics/pokemon/golem/alolan/front.png b/graphics/pokemon/golem/alolan/front.png index 8f351ae28acfee3796a6903d6d407796f56a796c..7d9b99749790e968b33c8b86756218751cb71b52 100644 GIT binary patch delta 790 zcmV+x1L^$s2K@$*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@g`HK~zY` zt<*tF+&~lu@a&R{^wPH*OQjUqiO`dWbiDLX*lh;ZQmt5MKY-vjSQzzM!GNcN5FA|Gz3QtwXYpI-Me_ z&`bwVIz==JKp&P3m|eGjvK6qLvH>493s5qm3Xe9`8Wji1M^s^UJp~w1iRL)40n!lZ zCZ>Qago|CwVU++Cf)E9qNl>MZ3PC7!(_J`a0HB7grL+&wECKKB9MB1XEtuU%Tkcc< z8+G;D&DJObw#tzMYXUf6r%A0LVD|zF)>c#B#U$7r0~BvV5dtiK?ls3#X5euK<^oR} zVZR7I?R`YxaW@D83O+y7*YNo^=bpF6dBE{!j`MA8jTz2;o))^D@TERA!kCnFKh~nv7fC_ z4xlFQ13d@2Qnqt{upjB5A*5 zg13Xq3$P#sUs&%pNk+EeciL>AKnpAtV%cMBzefR{ht6Ps&}~2i+8C4JecWBs0U1{uTgW?o^-T|HN-Vsl0As^1TCJ*!I2DIvU&h{Zm8d&%(VPVH$<4^c zCljEOBuNzKufEFduPD+pn2fcG^I^U@O_Fb8A<>NdooENLq*!uo++VC|{8JgmAD!W* Ue0-ii`~Uy|07*qoM6N<$f|*ijKmY&$ delta 786 zcmV+t1MU3%2KEM!B#}W-e*gz`Nliru=LQD@4J2OaXhr}40@+DKK~zY`t<^zG+&~lu zaCgZ?dg^1{ysa7nsA3*RMER1@sV8ByBh>@P8P|Uf9mUI!s zkj<@!g}#0n!ZVPO=dT-J#;`Nc|YI$Crl<&Q~!NbpsYgDe?N6vBC60#8c{>RA^=ds(qd8vXcmC?)(FrEfF+n&PfAWHfc3ii?WA)Q z0ZZi=0doS_U?oY-e<5J^0t)74Q(wg-*ck&9A43)bOzt+vQ>Nf?3TAy*Yhk_cKka@* z;Bv?JeF`2w(C6^@7U!)Vw@jl+g$XAu<4c=T`J?-&y7z_>AD}?$n9< z&VpJctVlLorUnf5bpN@;Ey-lW+GGS|KbvE2zuurGyO3m_n8OG%zR3XdS|+?5T%3am z3HZW#H*uU>e}>m-vw;FFFja^pm#zNJ1Kbat!JylK2DC9I!{@lOsslo7uvi)JaIf>(M0fhdL1JMJJBv%J?Nliru;|mWJI|(c_)XV??02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL008w#L_t(|oaK@+PQ)+}Mdt?ATmUOM04X>Chgm6flyRBE(8HN% zcDornNLh)(A8!_W!kz$xE6>yScx*kQU$k5#!X6}$;~jAx5zNs5-Y_uxMw|jeVn4J9 zJ^@YWTLh&R#nM2=t7Jv?21->D^&&T@e@Z#lHPA05vfOv9Edltx)1Ipn41^K4*N zbbbo8hdvd=K1`1lg#0n4cN`4hWzBp-9Tig+<-0K3q=M&kJWVy>L`T7K9PM>kK&#X- zO2p}9VEZAWOE^aQbL(FSGv5kxXy7W$`e0xaMsI~NKfZ-AKd!>;{n&)r`>_f08Pkup Z{{pv45D3*i)3*Qs002ovPDHLkV1iHzmoNYT delta 316 zcmV-C0mJ^$1CRrdB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@4Jja4 z6#D=G0P{&iK~y-)<&r^81R)SbxdEvQNV*Ro3lHF7CTVvrn`Ixyy`IU<%&rRBq$hE~ zml=hk=L8yAQ7<1TD$kf-v}`m6JxDN?I$|9nh@t|#!4tVgtN=cdfAcMZPe2mJ7D1_5 zur`qK%2|+|f>M=4eaLzdF2{xj#1fv2mV%Q~loCIHF_3r_$5 delta 75 zcmey)G@p4wya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c@EnYqjKAs44>kBa^3# cV~EA+h3Sj}mlWOh0TnTLy85}Sb4q9e0Ls=Ah5!Hn diff --git a/graphics/pokemon/golett/anim_front.png b/graphics/pokemon/golett/anim_front.png index fdefe4a81e68063fc130262a56106fc7d750f665..3f096e4a4941d6ad30436998083ff17ae1c01c6d 100644 GIT binary patch delta 1062 zcmV+>1ljwN3HAt(Uw;GvNklB`zF=v6+Rhk5?t272nRjvpwQXL_k|Ax%0 zd>74+bx68^U$eu$kJ&dnZ)ZQlxQ+i9ci+iKSXO$;!2?}3?|)f#u*pXSEs(F3aJ$oC zqYZzztpV!b*qs!xG1dTi7aS*wimVXKqNe~gzwGpjVb9p$c^qi~*NMWSVcID`l__ez z*PxUb0fx$FuuJ7BOz=HaBrPM@n^Zm@f1&~|AQnAFPN1p<%GZEDfyvlKat&sg11&Zh z01LO71>8C5`hN^~GW%X$#aA5Y-HBfUrF1_|<{F?yjCk&EzrZ+7&KB|%ri;RknIy;C z81E;^f=!VVyJCO>OwN**+t7H*@)t9sup=M?WaB7V%)bGM=gGy%)@A_;>wRGo(v6bk z&+J8&;`!8W7oiM0Vjbc0r)T%7zmMUAlZZwGsJS4PVSm0~`4Nub5=yumMxX*l9`03N zT|OF@Fz$bu0uM!?R(UjLkEm7}xcx0F!H1TR&q0YzP=zB7Oa=@<;-)bGj@TTp_8R#4 zZZA)_itOspT9nVm38`5e<~yomvj-$%EPQoP7ad6v;rYPe%;+byVaT zLX-uOYLWvt{st=0z?~Zug&+PwS5TCkvSmRe zC`w`HuKbi}T~SPUAlrdK))b}41w#hRHGf6va6OQL{F^*Azt$tSL%C6%bKT z4pjjW73I*aDFPxYipDQQMHy-UK~XdUA}R_O5P21XqO?>25fz14N(q9ZOuHkiXvpzK zQGO{tTZT^5k@MUiQbl3@Fg0mNWPtkvSCokRgGrQp>JNPe{CT54P&x_ke6oBQ$Ajqk~?R`;-tfdghKFe7j(u*x}Ds(N+DukX~cIKMb#sK_p*T1xau<@kMP1^Qqo0Lj`t| zb$HL7oZqSaIfhS8eeMsSZbGsQ_2cT#a12+lO}m~CSwJbmo!YCb2jgu@``<*s{nVaU zAB^!4wQ7^Lf4~xKa1!|fY~utqI2OQUfB;Eu8Uk>PbG+Jb(r1&S3Xl|_l&GlT*xb{* zmC2E5wSUsU;NS#T0p?GXRIVmg7I1@esNrTWPQNoh`*GMJ4J!$#i|_=X`b9X$3mFoN zq#8%Xy|B&wAP~e=#vAHDNq1m)?jp&z6^G%Vn=W(zJAI zKE2>vGY*lMO%-><-AwOJH3NI{aJIa_FTnHtG=EU&^AQ5SkIEv$SSC-1=X1XG$B^tw z&!`VA;%qX$#Ylrl&#{l9cgvXCA}vRfSMdypR-Oys8DNUUuw}zTDPUIK0gdc2g&($A ziMnu5x51JEVAfXvj`9F;e_+XhA>L-n8UVjOwi+OCf9?N3&2Ga@+{Ay5#^)Q_=DIv+ zdVi;#pGSds-llGTFV<~Cr*1wV1Y*R!ey-#QKj1esIyNq~Xy1F_s|`1JLT1W-+f zc7&o_!}VW>_&3M`P1;$bDB|#Uy9q@pWPi5I^%IIx+P$5AiXT@L74D_&Kw&XODGR|! z18PiBIzkW9KryB$C5c}s#h9YVftaF{vI3G+l%uSGBo*bztP=?kQxu6`Bo$>S0TPNL z5s;*!2mwj2BB3ZwRzQ-9!Zea~}`o(lh*yBJqbvQP3ZzDm(X> z%pZiJ_`)Al#-#qxN8rs`f8hM?o3;MH_}zc;2gYvv;r|q?h7)d#PGe*vigM=9uV{`C&1Xk859B?mx`>P*u* z0RILkYudr3x1iEtwDX03UUMkSVM=2q*tz?r2+Y-oD#)en55Dvx9nvF^Kri3Y{x8>6ksyo2h~mZ9UO587P3JXQy97JH9v2)A^>Vcm;^9Vv`IQu za}TCAMs9r3}%ycvhXKf$Zjm%{B=*#H0l07*qo IM6N<$g6vr*y#N3J delta 610 zcmV-o0-gQV1;_=EB#}W-e*gz`Nliru=LQD@4iHpu&oBT00xL;GK~zY`?bI=nt1t`z z(BKmQc99Yr7n#}0I0yLHI$0_vdx`&3Qf|xTz9eHqmZaTkJsC2=FOn=9PN(1TlcTD4 zKbjZwGJ~qAD_?(~7c$=yy?4^P1Be+|h+g{ZpLak6V}tjH90*cWf2*6;B5-ejFuJ|i z_!d;s4`#Z-F^2%YC2_`^NxdjS(XGn!Ft2hT01OaWXae6tVCAmz*A!yFgf4{;*-_LS zfPqiF7j6U2XW*$y$x}9iiW}@R;CMBsuFE=iASHDBJrXc%85lU)u??J5*a61?=j_%o z+aJNW2UWk7kQ#v>f7+sIJ4w%gif$3eywINh^9;OQOW_Dt7y+I-#ZDFgY3w_d+EIWp zM#CC}rv}LVN~g7*=LeCPJ7w3k6fm8q`@<*_3?P;oE9%tcHcrztqo7G#N~$#N8D7lg z24@s^gB3E+3DARTM~Yy9LXhAE+7SIfZLjHhs|6r{hJ}s@e+CF9a;IwQ!PtgCZD8@w zBCrsEvh@j&fFd3W227|>3~|6EDx9$iu(<2+fgQ2Xwl;KFBz4e&-o)c$`BHc*jHcr* zHO$p2aJ8SyqT}cTbg7TJL7?<1#^#LRD?0D4D-gOt5V8OU(nVKJoX{=9}%MT0297UX`8y1FL+<}e(3H-WDSe(FpQ28`K=mh0p(KMI) wUw-c7`WB!Jbb(d0l!4x^(j8yAzvJ!r55cR|ms>9=t^fc407*qoM6N<$f{=k27ytkO diff --git a/graphics/pokemon/golisopod/icon.png b/graphics/pokemon/golisopod/icon.png index 97affc58de2460f4049a91be3120b0ffcb61f1d7..37ee0804951174949819264373ffa17b1b6100c5 100644 GIT binary patch delta 331 zcmV-R0krV>>3`V(u6%N1%ww0W_&z354fL3z{vt{Ix zY$JtnApiSHt#^6(40iIA`dbD00;cx#S^#GSX$50~5M165=bPkPMdq#GV z^bTMo9fQTNf*}TsG3QK*jKj*V@eC)*D4GzQ+uChVTfJ%mtf*U z&BBoQkP5gZl|*M@Rv-E#P=pbsst>Yc5oS}W94x|Ew!06rFb(ZWiQX+S9RiFN zU|sOcyr5dbaSepk2(`fj$OPouvQagO=HUW-YTZRy7o1F>REx$}ir3}yJ=S&I(>{0} z%Z|CV4n?B@u78C_!PDrV-E&zcP^vhytcP!)TrJ)$uJ0TTd*`yC-5)yNM^`6CwSQ(* zwNrS>1!m^q90txPp8i`bp5c+T_MmspBtfr#s*OgYNx#npB{*;QY?fWr{yM(c9LLk> z@3J8Tz?fxc_po1W_neb&rcpHEQd zp`eQEcN(^I)%!*75Kiufaq_BKEaLk9_I-eClSBpBqeuN8M={O^E+7SFS+)6io#K(S zqn;JMGS>MC*dwAIN6~y2VHCZ$OzjAYXzP3dyyORyB$-}{@wG`3kCLXsXY$ioHhTDc zg3~6`3x6&c8{8-s9x9bE zNycw=OU&mYQw@_h?ZNPPj6T-h;pclcj^8S5ZXKeIUju$&H^y_UJ^tm_613tAQn!TJ zcsez9yMy*AJVAl_;&Bx}-@^-{&W^!zDdI9}2j8IwR@p(n&>}jHQUJ<7qviluETAnE1k?rmuc^>< z6qBZ8E_|G2mxr7P&ILTW8a9tpye+I8sx6%C@QVz5pKY6|phLuU zqM*SnTtn2ITE(x4&{B1gOO3$Cp9Z?son{)bv)EL9k&L+dBfb!N_H%*Hr_PeGk$OTw zldKkq&DZo!ATLnRf|-E&yj0fAn!EsY#eZ!OrR!)eSz&ZmQWPw3tE#jDl!;AXvGm|0 z0vG%n<7=TXjIhOnY@-Nml3Wut5>MC5g0UD6FNvCPL2^Uzkf&eB1>=N2UM>qBh655<97KoyNEZCYW=7@4bV5A-wh;qnm=`I!Ho>0sYg_mtfpr(W|N0fs2#w$N1sk|D}YN+5Z_Kmy4jiXafnS|Sh$QACH&s-TJl z0y#vvgBQZ=Ed9buK_EFq@ii~VXfMRdfdrCA6xONLcm@l_S`^3OgdIwV;(u?bc3@HA zWRzgx82_^;BgzJ;N6}xr7_W_^Bpk=FvVr5k(EdC`FLb*7GX%;Rn|;qF}N6J+PwWf{b50E+Rs={*VzxjbC@$U`?*b z>))Q2usOFbB}7pw5WvfU_kScN>dT*YEWu@YMA1RBPlqr(jxl9Q7J?iKa)^S_iR9cH z4&5=?tmqU4{LV5&QJ7=9v^^NOm)Iu32HxCB4p9{5>uvz&J@=Y4EDZ3pTV;r%HVz$X zHqES9ircqF|E+4Sb7o z&-Z6NI*%wQzzyIZPaW0X7A-c9D5e_dT?ZSi$gNu1f+a*Db;dN%7o{tW?L0rI4WBud zDGT!afQn#ysk=-3z&n6Ef0-X{+A=@fuuuHJ?Gr!TFqt3z1N*e!8DgY?LI3~&07*qo IM6N<$f`_;o`v3p{ delta 1672 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 Y0}QZ&rs0Fvu>b%707*qoM6N<$f)^z(761SM diff --git a/graphics/pokemon/golurk/icon.png b/graphics/pokemon/golurk/icon.png index 1ac0ca0c9d43a19c50978a362b355862ea26d7a1..58f72088d65c5efc8a7d34be136d9b2bc07473f6 100644 GIT binary patch delta 427 zcmV;c0aX5<1b_sPUw;9MNkleQ{(ra#i5JN-QGPnWKood;QY8?=>IZ*TS> zN?`KlPL0qP!s(E}^Ey6;i0wVCZ4l0+2%jX^bZ?I|46&l1LVqUxE#NGtlv{433C9-o3AS49?#%oejqUk>U z3`T0-`sn_{fJwy4zr5an;TUa(;0%U$#fE-!u2q2XbtERnM}a?XhuZllo$vp>k8e4c VB!k+Jlg|JE002ovPDHLkV1j3<#^eA1 delta 458 zcmV;*0X6=B1fK+uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Llc)dmpp6 z0004kNkl3-b6bJBpgNNW+`&on&I*1}DbnwdvJ;;zdzf=nua*=Kwyx4+5 zhIkjDgTt9rlk>bdc4@QaPx8on`62YD%j#f*DPTz)!KXK@)ZM1tz zU*|r6-9)9)2y;d2fa2a@+rybje2t0_t5TV4fcX-Zu8>(XRvscBfYm^XqTuml+&o@U zMkK|LO?yT%qJIdvwfEjDjimGz>~jsN!kQi-%g{$bKJR>#`gcBl06CZ>gF%A{NdN!<07*qoM6N<$g0WT4 AQ~&?~ diff --git a/graphics/pokemon/goodra/anim_front.png b/graphics/pokemon/goodra/anim_front.png index 253eb05973998cd34288a5758ddc59d45dbfa9fb..80a42871aa0fb6f2c4902ee545169872588e7625 100644 GIT binary patch delta 1346 zcmV-I1-<&H3#AK?bbkdKNkl>GT^EdRp8T}YZ zBZtn#_PmeYd-LnPuL&uJK`lZYhqMjDWG7JLeTZ<#H?KrA5WTEx`@Td)CC z0{SHOUhutN7Tli`Ll5k~;QP-Oe9{U$;(Y$&7cVEFMQi}@WE(kr`_rrE0^t3v#iX%J z&L_LCp7ZV;0e^$@x{K2&isIFhcSAZKO%1+N2kylJz&5uD*j+X(iS^a`-FXJkhnxGCc!S`z7C`62dXode?G*;V zP)u3N`lbXfbwEd4DUrjM8Q@j`QUYQcfFWak9at$q&;|sdn0DEdDsWzS;BzAO33B+Y zw3`Yrvwx(E3gGREhq0Uq7qEp6?7jk+JOe}}oD3ZYk8gZjI>>-OJJUHo<5yY-Z0IEF}Y%m{3r329|db z&5k{fF-m(`j9zqHwPV%68)#4}0II1$`4vUNZ&(H37wPB#vzRujx4p>0b*(!ALi4ok z7N8j0!%qMPt#1Ji$8iRCd}LzRp0yLE?E15Q8{lQNEo^g;*<0(hCvVxP*~kh90j01# zZGV6Vb_0nPU~9pt0j+EsVrT)A`)Cj6ZVM0w7TUwm9qCu$`9^pbu(gm5oPo=AheXVP zLVWs!Pu*s}7Qmzny_SHAo9eeRoP;15$N>A07V!KK%Azwv2il$TC^#@jQ2i!5S{EKj z4%qDl=lef@^-|+P0#j&v&%OtRq5&o_XMgqqIQ#*CW(-gE;yn;ShpT1Obm7TIunz@# zH@-MpHUL+?NE4RuT?`tg5yO-RU@mwVUqolkB#gQIIS8Rl{(9Z?kOQBgJ-uEwvNS?D zbMNfz_ayzd9Y76}uC>5C|20VyXq=5Cx{8ax?gkzw*m@iPKy>pE&Nyp}HN-#%P=7xh zlqj-q0-~x9BK8rUZwchxxAgKkbfIyq0JB;x-QmGO31GFZZAa(b*Xel%PN~LEBT^mf z^aJXLO{0}e458Q*RI00j$4L_t(o!UALm6nY6=4BjP&9=*C4 za%;7Ql3Q5?Urp_NhQ85grO{}#p>wk5{q)|0mFyyeXtXvjsXA$AOK*f1}LTubpkT5i8_We zp*{evX|wvT^B?j>x* z07N077&Sa-b1=uJGX_{gh}Yal9Irl}&QKJZ?Dm;WV71QDIW^e^b)>LsoosdUM&NJ0EYB@`2RUDzuwn=8r)SKZazaycr%D5v%M zZ7&JQJaIp-dd*} zet*k`%|=!_2oQqwv;hv-bw;!RI}?g@Xl1()!&FCbnLP^a79a{tW{)C!sNRL+>d`h} zXTlxe1Dhh{5&{JA(NpT%&3>H&UKe_;1}e^1r!w*)kPO-Z>qAPwaU&>;c+4CqGvy#~ zU<{%9d3#D14oD8j_Jq=-U%q~&aKQl|+JD~jA3&if01xJjJ^&{_0?>@%@LqffBIsl} zi<>SS{s@ksK<_6Pr?UoN^A~Br7QRnF!!%+T`~ZvzjgpIa-duzp7X3YfGWpxhtQGi@ z*|VEjW0iWuXYS4C@6znwc7SP^Y^4OkQp02^G|t8%x`KZ^70tE&?pgru~bXTX9cXaRH1UXZq7x_t)@~r0-#no ziwelI1b{CBh6v;u#i5Z16cS}g$A6^@rgB_aqAV%bDD3oVB4#5|N(oY={H-ieL=h7R zBBqomHH`uyW?I#A1t4gYQo|&IMj5Gqnnn>s3`i8FVJ-?0v(YG(h$$sX%(_CMQA81= z3qYw+L=jVJn3_frMU1s^A!wAENMRDi?Nu@0PpLy2n7Ginz=g#%O3mC!H$M6S3<#6K zL;1%+cFpuddRYnx_(UA{Kk>W&kptk2ebOACu1f*IKY{Td`~Z@9I&)C%00000NkvXX Hu0mjf#rbd4 diff --git a/graphics/pokemon/goodra/back.png b/graphics/pokemon/goodra/back.png index 128e1a088695c81c7e0c0ece2bfc6c8b3de8a42e..7d1069bfdb3121ea6e1015c56ca2ecbf21b3bd88 100644 GIT binary patch delta 626 zcmV-&0*(FA1=q^WYO|`C3hreX*d<)9P>RQVg z0CkuVRGuDyjM^f(H|?4%wY zswM-I^&yhM?2R4_l*+q;&`ghnO)t}GT%ra*mD@uE*v#q!kgI}RD5aZ;LDfwF5RkT5?hjd@h>hVX01*-DI!1pc^45lbMV}%!uy~8WO2LEh zSY~>Qk_`msfi}4W^Hr(}#^3?fz~&_u0S2yQgVl|mHpu_vT zX{Uo7`&~{BKsud&O6mxnctGaW{%v$LaL_K)VXzQ*_Ab8%K)sA5b}lTi2jCN#TLbXr z=IX;d;09xV`}xV;67aRZ>z4p^+xLsW>yH2|q)t~od5qSCYZwN3R2t|MkZ$q2|u7CYr28ti#e*@J`(=gy}UKm)n(`z@k9FT+o z*X!LmKt39%k~4sMJP<5{dLWqP%75glCIt8oOfZQNFabaefJ_Ma2U0}Q2N;T*VgLXD M07*qoM6N<$f`R!MJ^%m! delta 619 zcmV-x0+jvQ1v1B{Kk_nP?r03`bVFd`NvB)Ex@%fycO8(3NR8+gx7()1dq z(w(r>RLb|`@B5MGgt3RMol;pq;z}vDYm6z?^wz|figf&or}o#Vf2^HujGh2UH!1!A z3bWas8qnS~x&sh#8pC=6rz2rc05ab+rtko)@9Rq+p{hCy&G>N?PT6TQIF#EIO_p|? z0)REW0YKK|jHkvPQa~v+Ff3Ie0LA7I0dJ<&0mvX{7XW5EGANr7U_DT5I|Gum83FnT z@ZQ>|poORjPy}dKf2`~_IUrwID-#4Frr>%-{z7H73rjwEW^u`yfCb=%$(2sch9nmV z_akjHjpmC4av|`7)!@xbDgq6BCoxCdocNw#vI$6ToIzJb;l|DrR81mdg+R{h9*A6h za^(RnV@@eV+0cln>#-0*!4Cb%K*z}dj3&ZWqsTxkoBnZ+e*sR_q|Si%&-11p5B93N zE7<`^##6~XA>$6vS-F239St0|i*y_;0-n9g?g3b@5V4yJ2ka5}GV5Qi>MNZeQw7+-LX`O?NBuVFgoyTtaLr-%zuOPv8xTm1!(TKJT7HE z0MJzctj$WL2?)-|i-__=5J)FrZ)FV{vWo9R06wo+h^*lgklPxupf&#quQNRsh;-!5 zOdUGG1`p|NKexzch==Re%%CUm_P%tI@g~Rns!R(MP~AnMoMuw8;FZyfAF=LxgFw zwmhqT`0L~Y8HD7=N)R%r5RpL?NvjcfgUAnB?*bSMI$%-pbY;*6kvHE@2H~#ynp@Or xjm2fZ%-6~ugj>yO{0}l*YYN9>>00C`DL_t(I%gvI%YQr!Phy4aZ zWK6K}c`Xw0ts#2m(y>D+8DrXKu)GFGme=Cz`EO)Hp-Z7!j6P11?{{Am{m~M%0UbE% z@xndak%R}Bh&ZbZk@o;@0+mJ7Kmd9KRdpvcnu|u@5luwcWq*D;)1C?w`4&w*0>Kwv zoY&NWO$Tr}wUy&?1y&A6zOF^q1F+=?M3WZAGEh=ZKcb2k#UP%6zZDf&NK2WF1@QWT zxk_s}1HG>hbKc9(u{+mcj>uQu+?>!Ec6f|$$r6!I5sx2x_sERF)AJ)qA?pn9L9znK zf(v6NE^_PSy?@@$#zp^c{UA)(M=uO_NG=q{^?Iy@fsHVrXFmpETJ)_6h2auwY$y!z zM?n$@Lu6H&EW(K14>e9(G{wbq{j0MNY!I>^fgo&9t~Lg7NnB1~Fo^x&{lP5;9WgIu z92m4il=b_{AUu?BOGJ&em|qhY%)SFfZZ-QR*(48J9~tP^Q~L&d7S_9^#knQ`0000< KMNUMnLSTZ&*|r)0 diff --git a/graphics/pokemon/goodra/icon.png b/graphics/pokemon/goodra/icon.png index 1085a8d6bf818857f22f00b4bcf8daf80d3aed65..56271cfd88f5ba7a2ca998e45d3ec15f9afcabc6 100644 GIT binary patch delta 365 zcmV-z0h0db1H%K5Uw;8kNkl8$cDUEd@lJ;p?^Fo<_BrYm9L8Y<`8VQ zs~r3w*r@ir?@Oh0cuB|N1K{6o5Zu?iVxjb-v1=E=42ceNklkcQq1^qAC^-srI~mN(_Vo}B%`$pe zO3Tq@P<|1B429MK5;R9`J4^%i{b{&mJ3!R3PzBMrwef!0 z6HvGW*5{?yCsnw+_0HE*Rm7Z*FTa5J5IUYW5e~Ym+6agGImUsSeT)N>29F4EnA$ry wJ^~!rxWa*%NeFRBj6jIPjgL?EUwr%ks=u{!=PT8)01E&B07*qoM6N<$f~HNe!2kdN diff --git a/graphics/pokemon/goomy/anim_front.png b/graphics/pokemon/goomy/anim_front.png index 7228a81f9b9e7fd3ba587d1a4383bb2bc7facca6..eb1e29d6148b3705cbf5d5662e74ee72f9babcaa 100644 GIT binary patch delta 613 zcmV-r0-F8Q1J0851d0B#(qC=41A^5quK_U47CTp6H8c zYTv%`09fG6UCENJH9rYNJP^ARVm^WgQl>rd02@KZ0$XChMt?wHGR5nhiy)&}G8-bm zL*JA`$& zEkHh~?0yZUF@NT%$TbP{Or=c?{H1`tscX5?zgvMy)4=xF*Hnmp>HD^=x5SA4@#8E| zmGy{?qV7}O>Sl(bGFrq9P>Sm#q1w7#b=4JF@034pe*q5Q?eE>*V*dtU?eBpW`!@h* zR=+;55yZd&y#28o#zBkyF+i9O(f(Wn32BJ#m2pC!fPc?9oq+?mzp>C-8)Q16y=&J4 zYpf7=gb@QsXaAH_cMv+~o!bi?Qy%S4s$0}zw?#e);l%DXgeajx^c;W-z{N5lfy|kC zWYxTA0iXrQo9zJC0~%PPyEXjbfeOYCd;NsKFY+#OqaXJB8wX5j;O8CzlNBq{%)$LB z;MqLB?p|JSJy_}u2kdtLyn4y+``MTuyBn`w3b6KnRJH!85Y2v}Ibi!=UvG&sFhbe% z8K63>7#r%R@x`wXZU*zyQGP(nhM>Cr;gi=JMW+alwHg!{00000NkvXXu0mjfPO&3f delta 619 zcmV-x0+jvE1=IzQbbkN`bV*G`2j>O{0}mKOuy#WL00K8jL_t(o!|j%_ZsI@?hHWWF zkqXvNkg*h{hQ}GVf{3T-bbx^5fOPs*fQWB6AWWqI3ryxL00^WvFkwbSV+5|!82~e4 z04+d|2<-qo2fh;KMxQF4(_dwL0x}vHV$Yo?C6~B&z%9UXK?1$PO}~ZfvhV@G1Lb`K zWLQtTs0DPOm%uDbe&{CWE~ z^7q)kal6OJB33yeoTPZp6F&CrmmRw}4~-6uV0ZaY`-G za{vZ_>t#v;xij<7s(Il7zylO*I>2~918a1*hTl9;!|3s#pAq;)UPWQ_3yW|XBPK#sIh z;g*mOBTwQ=cdF}+1LRM5Buq;*H0Hrd!)c{a;0E(@2=>l`5PPQ*fvlBND2(K-$sx44! zAE@y448$u=;tu;1@Co%zTLAm|;(Uf0f#Smq>WTyoRXeE;TDL%9R>$GtruQe^*1kdA s2&j1IfXj}Epa@~ delta 467 zcmV;^0WAKk1ib{1bbkN`bV*G`2j>O{0}mZD+Jejg00E#$L_t(Y$L*3$Zi6rog^6S~ zU8PN%MVF=*Fk`aFDh*_hgra002~Lps1VL7>Q7MWzW&Hy*Hbbkb%XSvnV!nCr85{(E zw6f{feL^3<1L$g`W3?6Vf&*)-J$Z;=H3HCAvjT7wxTnDMXnzQROOVKpl5_+JQZu>@ ziZKtZ%|pn;F+h*P26DBsX%Oa!gfht>2{LU}B#6WYAW?wwSdlcrO?b*xQ)fv=auy~8 zFCfEnX1YQRIMAJu#<2ywe=(W$0lv_THK}&0j{)z{Tuh|_R9~K*&(J8KeA9!nMuB}@ ziM^C9Q0mojxVy^TQMR?Ss2f2k?mOVTMIy*Sc@c&{9{ksj>I0{M%3!%3vpE0&002ov JPDHLkV1lbB%3A;c diff --git a/graphics/pokemon/goomy/icon.png b/graphics/pokemon/goomy/icon.png index b10236973a60d6f1eb9da0e6f40b9f5b6207c730..ba91dea29a33f3e5f99a831c2671b7bec29dab69 100644 GIT binary patch delta 2469 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 delta 29 lcmZ1{x|eB!^5k|-+sPL>rMaH7u`}~4f7(4ieeyTX9RQvD3r+w4 diff --git a/graphics/pokemon/gorebyss/anim_front.png b/graphics/pokemon/gorebyss/anim_front.png index f0a928967a710b32ac0b68856f68f2f642572244..b5a4ffcfee13b7d6a31db86ccc9d11aae77f2d1e 100644 GIT binary patch delta 983 zcmV;|11S8+2&f2?FJND=oUch`Mx`} zbAWk9feyfyqhZ$_Wr4B7Gf;D!2Lb^M=+A>eHpA3mCD;_y4A;p3GhQQKUk(^w^9&;Q zK?Vo}P*nrw^c%|nP7!dHsxb$QLx*KZ_8HJKbF^X|E{+&rUdkmzRehD| zyR(qrXZq42eh3}L2_Q%1htLZE@10obnlv?#*>4Z$8D z*Hu2pdVi-&&Q-i$)o@K!r5<&Y+Kif_%=!!IqLH`IcTzXyEexmZ=VLs^WBf;PQ7)VQ z=ThAt({ZaH+&g~~UKh$0cQKiUs+PrNZ()Tcy0?fdDAq|+A+7Zd*U4C&Juxd$+<7t8 z5jwT37n#;VMil7Lvl`Vb7HJdjC38hc^kA#8C4Ui>#UM_Mkm&Iw8qc=m61r$L_Dy7X zz1?msExafr6QI>@cBK-CymW^yIsIGE>MlzdO1JNRqUS$eX^Y|2@uJhEd>F7vN;B33 zV0e;yaGmU@Ax6uC1;FhdH<-?r8{Y4UMFRADe8`ywv$HHfy8o#EjR8kj(iD^c9sA)| zpML>|<0~ft)~bAwr2B8>?aPCxF36@Jc*i(B>Yu@7XLd(0Q}3OF(MK>9Z%PFFJ67 zIgo0LYa?Mm28<2JO&~l&YykGdZwd_Lw}?0DI^Crq&EU!dg3kV+km0~aHMRm-_ql;y z?;xz{F<}p6Jv?Uy?|0}`1EZQN4H#tX=1_w>PRiCXt|de~xXTOTVPNscDIkOUT^`W1 z{gD7}q^VjC{5L=oz`PtVZ~g{c%9Fn;{Bnbs@XPgojz9Y}q+@BV$;ki!002ovPDHLk FV1h0q*4+RA delta 1015 zcmVR z000B4Nkl0bc+e`tzVOA7Ny(6f6oVnq$uaW1b`5UkVsp^9UmL!5rWVz{m#l(H*}F zb{^1AE4A3v-6o00My2$jMalo(BJ!unFt?oPq%Ehl6wo+wH1SPMkAo-fV>o}6+nt`q@}bWrDMecnfaXf>{&iGOO^lWYGl1J&ZZI0h z1%GdE$DOsk&4-+kKkm;1r2F^UcMLeXlBS>tXj)Hy+6*`xT*Vb%GWaG*_pjYD;CSf8 zJ&upyrEtEW%{^@2<8j>2c(boaKw`*gvpcEIns95 z1v>Im#2a;mR;f!PIP!p?vJVt899XE#c5oo;9yd@cO@tLSB&?3C2j|S-%O?F-!>H^? z0|ptp`QVPDv{j7D5fKjV8Sj{e#fOtm2KW1{7jUm9fE#J5mKS~w5T9JZq!`d|o&zrB l$v^WfD>euT??0Wo{{Z_mq+^Y2x>EoE002ovPDHLkV1m#0(}Dm1 diff --git a/graphics/pokemon/gorebyss/back.png b/graphics/pokemon/gorebyss/back.png index 98fc436fd0173ce44bcfccda82ab14d7e87ad5c9..c723ca667bd4cd364dafd71c98f161a815d8c2bf 100644 GIT binary patch delta 459 zcmV;+0W|)t1hfQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gXvSK~zY` z?b0zz!$1@V@XHb%lVal1sUU8ChYoeh639zCl~n8@RD=rMigY~87b$Trgxpl>i9U4s7eEAe@>A5Y2Q&N*j1bFU66vL~d=1^@}$*2SzU zNvOs|S0Kh2a)U(Q3l?M(V=Ok~L!Zr& zPOvN^XE_KUG6)rC$;56VCRRDo*HU$H9&_Jc?$SEwGI3gvb}kZrs=GL=H(;{Cc+&e= zB%I=g1`uD}yzz@xR}BEBPY?G1Au<5jU<{r2SI`C!E2tL+!(I=6v>kA8r~^D+8dh-O zJHrKJR=}eJ=csO&ae4#{GyV{SZ9pFZ1ufucmvI{iTR@CkKRRDiw>h{v<68OZl^>oo)UUww!J7?G8H#tmSUmuqB<0)$r2D>DcbC@M49 ze^F^kiRCYinbJ_}M1DMDmXC*BghWx8R=nJHi_Nd?0ACv$9002ovPDHLkV1m8F B#XJB2 delta 454 zcmV;%0XhD(1g!*+B#}W-e*gz`Nliru=LQD@4=?)-(@X#W0gy>VK~zY`?bR_$!$1@O z;Oi0{lVal1sUU9thYoeh639zCl~n8@RD=rMigY~8A1QGzgxpl(O=-;-SvVr zce&ssh;M1r_vPKYmmEdtKYk-T9@>wmr25u5XFL{e9hBriNRJHxe`2<)i+PzBgpllW z4>H1C4LEl+&vQz*pdxg2Awy<8?8Bhmr-L&EBAg<}kM+G^LADXbVly5L*aGPU%QWh& zhCYM_Q4M3o#BM?+RyonvQh70th3BpINgecW@rNL219}U{ZvjWUjM_lZ0wUZ30>^i4fKPE|1$;<$z~415u>szo zb8P{M00SEkmuG1+kk9GXZ3gmQy@?8p$@*~M8^Aa#Hs+JBJOH8P^V$r21@h7i4sTRa w(EMd%2c;d*jJ5*W0H(6Zc|nWyU;7{X0;H4nsL|Z;6aWAK07*qoM6N<$f)^OhLjV8( diff --git a/graphics/pokemon/gorebyss/icon.png b/graphics/pokemon/gorebyss/icon.png index e43f42c6d4eaacb0bb0b8278a8d274dca3bce040..5b4fd157e885b719085d17c818d62fa822ce4b5f 100644 GIT binary patch delta 262 zcmV+h0r~!f1Kt9VV1MaJL_t(Ijop(m4#F@DMRS83g&i&!7T6g$Kr6Ka3yO!{he%aa zmeNQyA&Jw}h=mE^rS+HnW2dh|{CG&q^3k&VxGr#t6+p)dI%erC21R1(&hpx)w;nbX! z(VJqK7L|dv7~YDx2DWj<1TnSi{Owl%D3Irj59EAYS%FNqM>u$3;*)U5zz_}@7{cKr zFbRhRn2ZDQF=U4z01^%a%z{G#robTrQ-1vjOu4ZKrec4D#IJF90t#)w{!L=Ig8%>k M07*qoM6N<$f?;HN8UO$Q delta 301 zcmV+|0n+~70)zvQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}nKDXd0jZ z008GnL_t(I%iWW)4#FT1hIs=X#a&+z7u_9vfHr9d7sCyGA4wWgms*mZ2ppxC7!xNW zOM8F*`#I=WA%1*G%j(gx`nWbY#SG9fL&qYW#h^$`9U38c=6{1t5q`Z=9{VUbFkbQR zqatBzf{+{tmwV`uO~~*GNtiJ1f(~}N_B{hlBX7{3dg!V=9!||!8NDeE)1ora7Q1g8X$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tR0f0$FK~zY` z?UJ!>!Y~kqUAYgCh>@Hbe-giK?TZsIHgxPzZg3>u=l}k@3%SMLMgB{kR@dLr@&fP@ z_1_YB6b4efrvQ8&1WJ}BC;&VqaPLDUXRCzVB><3B&+i{T0Gfz&1pu~s2mrZxx-=(n zEdgE)e4CX$uuOdk1ULe~mT{bVfUyTXz+=YZfJ+@Q0t+pYdgF?1f2zlL20;^5qoXd- zN3cetbhI_L5(R8x-V&KFkv}RM!bq$u&&15;J82}?x{94L`9h6=zMK-l&yqp$SwX`5b^_~Usq0f9+GK~zY`?UcW6!Y~lV zQ@IZii>Te*q%&zEwQR(kx+B3G^Z}?EDP?A`*^y$uZSBh+FgA4TP;PLf+|T!YcNZm! zZt-W4|B@%w^?Rhe0KCNAvjiT8ffU~p06q@_B})@506dN0-iJ!ge^yC!mjFOkJ->hW z02m@R3IJ^N5CC#}b!kuFrUZBzcsDCMV43M))`&_vaks7v$_)M&Jcw#HWCfKANzMCO;sA9WwXmRMJwiCLdl(w1QBiaIj+ zLXUvJc`-J1Og2Yge}BN9im-y#5;fd>L`DTmXn;u(T?Ukx6w~u2niD|p58PYV>=ZC2 zymdK%`UEzvi)`@RIzS72oHY@6Y6sW>U(K%odS})(m>|+>yt;r$j{77^Y|cFDR@G*o zL#J=j5H6s;OS{jWm`N$Vwl1*6@9t@sfRsDef)W;(^y4-SE%-nV)sV*yTNlu>DT)hI h9zL4p_CNoJ@dKme4BTqS)@J|!002ovPDHLkV1nl7#!LVJ diff --git a/graphics/pokemon/gossifleur/front.png b/graphics/pokemon/gossifleur/front.png index e0a58bcd5aa90c7bcd9ec8acb4fdc0ab7e3101bb..a9d84f1c9a17ccaca894cb2810b285028fab76c5 100644 GIT binary patch delta 601 zcmV-f0;c`A1;GW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vbs~K~zY` z?UXTZ6EPIW9VODOT!0U7CShVIb%$OHLvy}-fK&VdD3y__B4xW|?!aZfA@R^Ikw7vM zOSWY1)R~PBK#}e<@Sa^E?(8cg1H94ypZ@Rv{4A4yw8B3D{YMY$9U2+pahu+!H0p$5 z_^bsOQA$IAXbaFA3d)CnB5MV>5R;)0q7CTDRE&fH_WZypPgBq{I`9HLekRY1P7|*_ zJ{{9HAr8TPKrbEB(I6FB^n~+0pDre-L&AtNM}A43V)N9F;Ob;Qq+-IkXr1wZQm~(( zo<)66#O{cKy}hI;@&WurSRjK@ERffGU`V?sYKIIy)PN4UpHQrSfgc!RJZ|)4i6^r< z(5JYf0}hqMY6=EL6Ts#P5G+;*%!zXPFJ$hYgIx&(1U5y;#%t;TCeAJ(0o=m3Fc_A)%rW!^QH1;iTLJQjd%INv00000NkvXXu0mjfb!rtC delta 594 zcmV-Y0fFS_* z2tfdRCyr&*YiWA+qYD(-C~|sR?ca zI`IgGy;vl{3(f~NU5rV`gaKy_`K|MkE|1F=n!2;^gBWuzT6;VIK>IQ2Nzk=KbccZU zJQU#g2h?k7OivjcsK$BiB>=ww<2xvMS*swK(Q2#(9}@~ewmDc^ilM$c*!Lt}L%e?Q9~cb`I|=S~wS3VAP! zA}1oRkK9AxQ5Uk%E0yDYsC$#T#kJNywO-B2M$>84#G8@DM(YQB$z`(*Lp*A%Ffa9a zWAW1T+5pP5F>h{e>9E0&Q>*S_NR04ZADT9rYw0a78CtB^VWt+gPZNFB5dxG@rA?g% zsE)N>he#-uNKWcH9?w<2-LBn`9!k}l3>E5%A>bII5%THu7y&bT%eQ4t-R*X;`%lZr gVmHB@|Mhq37h3`Hh@>FzzyJUM07*qoM6N<$g3o&xxBvhE diff --git a/graphics/pokemon/gossifleur/icon.png b/graphics/pokemon/gossifleur/icon.png index 37e57fd693f1d9c3f749085c8e7e6ce02aafbd38..74446ed5df09ea8152bb10ec0f5958a4ef778d88 100644 GIT binary patch delta 245 zcmV0^$OYb${4NL_t(IjqQ@L3c@fDh6_GGUdmagu6>Q0sxKjk?ckhSIys1- zZ{X^5W-1+|HG?7)N-PZ~7dIynyz%G%|09<#ihg{AHaZa60*k@RiCl?ZAf$_Cw0A_aetphMM vxjhybVjn&L6Y$XkV~Ag%2WAu^@&PbUG6R>5Q&o$H00000NkvXXu0mjf%6@63 delta 254 zcmV6W_UsH>def~szgoFQl2QaL9M+Z!Ne|y>v zm}4JO)B)pa`321EG61F`D}f;%0AmKgFj)!Ah(8790Wt%ZjaAeg8~^|S07*qoM6N<$ Ef@<_?Y5)KL diff --git a/graphics/pokemon/gothita/anim_front.png b/graphics/pokemon/gothita/anim_front.png index 0e70c4e2e528caaec5736aa496a82ed7fa29802d..32e68ddf46278bc84bb89e54831d5f2c4caf60c2 100644 GIT binary patch delta 675 zcmV;U0$lx-2KEJzUw;CDNklACf9bQ4I^8o%hqmIozK`#hpYA@49rBN+ z;_LzH;;0<(_5<#IpxWmxqRd+yfwPf{ZPjX@DWBsS&PI_H2!9d|G4qb9;Sj(!M*uz~ z(sP|KvH~1H0eC_PC!~M?ppAfNz}N=hzyMwMLTICgwk?JbLDGG$>sn830PBP!h_%+K z)-&rtb;6og;8HnOXsMsk67^g-$m&D+-uyHkUfx z-puX5TCcVU=zptQVuZDs-Q6zq!|8-y;E&t<7g?h$S%AGng-r#4%uM zYa@-BORA2<3Zzj9IRdM60HnR)cJ;c-n}P%?b%7%!)_y9&#qkTABCs}n5$PQVv5@o{ z)$2qmpRO|%VPDb{FxGA+&3Aqo;54LDG6UmIi|+**C4Y5>Rr2oGrQ|;za>yZnasHH` zlw1*oe+=w;@f)D@qDUbqgkI#4Ee`>-2Vw}Gw7Ba$3yI5i&{yC~AzVj+%?_$CP!Q+- z;m)n^MHOP4yDsV{sqWYSjxPF>~556oAc%g)KJpI$IgCI#v;+Q(B1s0NB@b>)E_Jx}^*c-!g*hFvW=*HA$$#lHbkq}bTi*IUo+R}A^f}Hx{(sV_xjO)lAJ~C#H{kCE z>ZdFq(kx&IoDF4a%GOUE*<-kevteQcqKrZ6ga`F_0AN}pf*xcd^xZfy0t`R`gq(9X zrho|G7y;gdkqN-U03H8=D=i16BgT+G)_JKsr6wl8X~#oIl~TD<)4&W2WKUHw?HBSGYu!l3NhrVSkizLGMw%&4ldHc}FJLm#O8` zJ#J;K4?P>;Hic_h!C`K|b^=Y?_`oa+tOG{u=lnkQ@m~vyWkhWJqc2k{K{&5aSN3x2iIfobU^lY!pV3e!=3=R$)lL*eJ}#Pzb+hqr!A$O#1~xg_&Ni z&|&85bMs|1lzRPfjHmog2uKCoqhLG=!XFy5>CO6``uU`(>+a6VA4~lp7Nmg8=cU%q zzsQFP9R>}gkmS?qVm1+yZn=<`cEMnx`ng3gusZ}ANNN!b$@B&xKodVeJD3>;!W+=H?HT%q1P6wSjZd-^ z`}^tclH8eHaKARB;j&e|AjAsUM0#>5Gx{1h;C zfD(P4xPxh2%V127h_RA?Y*>)Tv(yK?2qk%Da<|W`88TxE6afTEW`;tHP0_EFU<$PW zfWeU1*zNoE2-+?QfDt{W#{inQwF~eK%uFps3o)|RzQY5IkgD+kk2_#Z0Eqys0?FL& z0J|JI01Z|FcDD!C)_&l(szAqO*y$r7lU7;S6Xqe4hiw0r20YG~UJ}*waDi{f=%pX;^TA+W(#SteDZr;T)T;pw82s h8;3ctt1cnNz5s$@xiHG(VwnH{002ovPDHLkV1i@T;P(Ik delta 485 zcmVlT%Q5L{%Jn|82k;80R4Xhx(Q>5kgiwk?Q;0`h4O%7WO3ne`VMuIZ z?+5J&$}9+g5nblT0P6RZ4X_2Kx|O1X7#m|g;2uUu)wqDC4X`4BL;yB{G&38(EQS_9 zjZJ{{et?xRGu)~Pf85v%8_iNOY2{6zvj>bVf>zf0S_goN$O#y?fY=;z1x}rbHLU5bOs8sUUD8= zUwMX0Nr(i!qSxotaQ(GXw?1DGz!l=H&wl`jBH;nZmmH#yTl3MIb9OnG{6|8$0RcRW zEZ{i^)v$QED}mwwxX)4=Z>>}8t1xozqa98f7968;?^7_XrZjSxq3;N~dG6V9$l&rr b`zL(^f?>HZl7MXz00000NkvXXu0mjfuCCpt diff --git a/graphics/pokemon/gothitelle/anim_front.png b/graphics/pokemon/gothitelle/anim_front.png index c227db1410f0ffef591e8350252e4a1696b74ae4..e4ae46937f46deae81f3e2396f38be223423ba42 100644 GIT binary patch delta 1259 zcmVy>0yk4{OOmKSY2H5fMXaN3L3&GWuhLufBo?MeAyF|0dBL-HWTpgu*Uu8FTQ{E z;pu?GA!D)G5mH7z#1LPUWqBbYtahyyxC<;0u}9^{@_#BIOf;$qh6}(-@BX|FpafX& zMj9YWtd0D=ADN(<4MUYk%pU{0bR1@*x}fqC-`1G%jc%~#Fh7r}I<`u>RV=hladK8n zM=qB&rWfDndGmlZ!SYnk!ySS`>*eEqyC6&RG*3kP9z2kN40&sm)OKy)-s2bqfe}oc zQFaQL4Szv`{wQ|s(a{Sky3hpDBk`zn>=N(*ihg#ax~zY?JlqnbOA*n9da_K$OcZ)c zAj?9MeSLDO<9>HfZwXlWqKH5+(>fMWsxNz6D}0qlB+aM!6cVxj^F-VL4TeGo1>>;ca*hpn}D4tbp(P*n;>1N zvm7U0%N{hfd4hAa2%hMrUS!xZZUMgsiJa{cU?Qj3Q!Ozhm`KdDJBv7OO-I74YRl9F z5-I)mOi^`XEkXKwCu*1|Jcj#jO^U@mJ-2tqxx>WVZTlcN1%cLup4unDb&f13mTCTD zyMKU-bPBmN{?HXAP-_Z9ZN`0T5ECt`$l)nS7Wh(7#w9^xCKepADK}` zTbjXQ4vw;bI7S$$FlVR%QuZ7pi~*y-vlb3>A1TKnfC?a^e2NgG^b9|ewR2%Bg2F&d zKcB%%%j<202qO9wVceZ!)f-PMgZolZ5P#equ}xYg%Bms44B?<#cjJBXd1eK@rXL@3 zG`_m+DLLrLjn1uF@$)OQK&7f(AKPo`C4T$qI6MTfAo!+&os4hnc(0X;nkY-MzbJ80MUnf0JSST>_kQ zI}pV(%nn4U7^WRjDu!|Gf!|69uNcO)1bjCkUNrCTZ|5s2aELx=xPMIiqbz-SSy0i%r{ZUN(ee)tFc@D~vk Vf@;amlsNzZ002ovPDHLkV1kK^P>lcp delta 1285 zcmV+g1^W8B3e*aaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Llix(eLop z000EHNkl6xjZQ{SSMOQW8rh6JWax*ni%^HuSzGAK!ZKGfTbTGz1{PfG3 zuQz9I;9?kC3L3&HMIs-(fBo?Ebk*b2K2Fo!Y6ti`jDKZ3Ti*`sv0wQs~f6y=+7f6k18eIDHd9%I6f(6V`4R?mfxsF_a?z= zq!!@~f`3A()nnf-$kIH`6KT5-VxOav>0 zv0sRQJcW=5A_nGSNXS!v`{-%er?Rq%wO@{=Fp)FtDN76qCK59(Y^zLkN5WZU%hVJSDLi|osJt{wklx<093~Q% zVSnCR(_(o~Evmg^oMEc>c6A{b1%Xn9npIbVX&qTmtkV2PyTIk?405Ucp(#q{LK;Oi zfTbhrJB~@^3ZTy+sgfh{2=muBG2Hf2@x(YH5ZFbMPn&h~Wsk#GIi5NZB(S zVGI}ruC;KOdq_D30aO4P2!?Z?X;&0Syhl<4`}*Tr)R5Eb z8#~X{mlbux%-rU*t|4{Jy?f0tEcyowqm)uY`bZ-mYn^o&g8n$7ILt8UVJX`E+#O=lhZEK%*~QoTj_`GfiW( z?;wsYXZtlx(@&iDU@4@2Lp|r9VlC6;1}9XIB$)Q4th(&R2<`g#x4A)Cp@Ko->LR@_KSW z7UOddkP~Y9x=dNLeSXGB>8=25x`nD}q*!Li%;$UTUtT_cbb*BD{sfOPPRAD__pk8a z!F)}pYGDYx#jQO*ZcBi}9GriQx79}gUx6jSh9k3!0Okmk<@!H>J1hdB{lLrHaXCk< z)B9`n0l+d$_aOxYzfZz6c^e~R%AunZWC@h{+j9|&@FNI+Hn1@tUm8rm8H_W%F@07*qoM6N<$ Ef)_(mGXMYp delta 714 zcmV;*0yX`)2CoK?B#}W-e*gz`Nliru=LQD@5GOc{Rp0;s0+LBYK~zY`g_KK<;~)@* zZP5oXW}JP9vNx$AvyC*-WNp)RfGCkq(2B1=RlH1R;tUd!O?}kkr=Y5eA^P&Kma=*p z!WBQV)%uwb*e}~PkLEjI@$(ezv|S_Ot~8%d_Ve;}N_ONi6fVy5f0z9;&r`7PF^oQE z`!Ub+Pnuuej#vPkZBt$5$HenW`7d@3A?R0c>&s)BcwWiDJ_B60;9o6gve6`52Pvb`dT38$?s50=2Y-gJH)&&Ox@Gw=1aU|o0Q)tn8tMO8AeGEe@ zn*@w|i^^Ns)98<@f41nR2uNC2i;(d!M909*a1mO&LP!>Zlx~z_fT-(1>qB8DfDcYe z1`fN;1X}BF_P&a;948p}04cdbs5YW7hOGslU{M+eOonlgQK;B|;FTQ4CA9M*7OhH% zlwf2!(;j|D(G;SiWz5{l}? z;$r~e8NEwF6+qYlTpnxD`9;}fz{Lz9-$z=b1{rJuQqV|U8e*rU)*> z^lwri0PTCgtO7OwoaMU|7;rCL2#W4saEs>FzXp^EKv|mU_sbMimtst}mq5I}bO(?3 w{zU|r`k!OG0w7;+it#UC(dH{iPj?3X0`x3j8r*4S8vpY|vmE{cgH{=V>5Bu5z+9|@f))fxH7_W9iH|#IKc>b>%HgR1 P0000TV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}w6PS-k!L z008PqL_t(I%iWT(Y6CG0hV=$QWGyl!dmz3wBtzG3UHhzo(6I-3fiCK;!S>~LE7wAN zvbSz+<;g$4g#7yh_|2sW=VOG?O^4A48fe&%8Ust9uwE=kOn*e5i!cV61$L!LNlvpO zboXEwPV~SWOHW?CQhyXKQ}FV<+l)=mzsV^giX?*#^)>+^KD$2-OVl*(L@k9i=)|A=l)r3jd=13^0JX0p_}|ftd+v zfSL3Q82h!~z$qX!z)YzH=4>4lv?55l$BM!q@o@uaKc>dSg6f$7000046t# zLe!Vs0hq)`M}Mfa*QyQR5QGP8xHWGz5?cE%z_r#w-kQTlT}VyQ0+`Tx{!kdb|9qWO zd#eWwE#{A3O#1k6l_Q+D6EL2$i`U-{H{ZXmaxS~=Oy-QIAMW4b9}`4(BGf)VeEM;B zv%>Otr$ib`pM|e}-QQDrvgil+i{E#)ys$lvG}fihqJQk?KBIT>e|KsS0;lWdJ=n=C zyBTbxFs}hFx}VAPc9ud4o1D#b@9RYs2Acp9orhH~z(f%wIMZZddh*u<7rF9aI>D!b@fxX*@fuiIjsvstak9X84YRR7VM7d0r>FQ=!Tpx3+Yx2a z(m4RM4g+4g4ia&6JM%D|V`i(~U|y>m|9P~C*N{0t1Q5-S_V*x2Vu;(v1Co1Wfe11U zXn)@YNbVWQoz4;!?w4*6`?K89-5Cj7EgS$Bet&S1dx8Q7l{A4`?zOvnU zcQ+*0Hs#(iua)sh?!3DdNz&O#?!3F1Ss9a8axEMS|b00000NkvXXu0mjfra+$y delta 892 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 Ef}B%vmjD0& delta 293 zcmV+=0owl70{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}&E;B%p!- z007@fL_t(I%hi%G4#F@D0R00$f!`ICq20*HFM?QjfQRN8yn`h}mzt$W8Di3+k~lLG zBAYLZ+a;`HY}z6NZ6KY}Phr+x7!?Cl+aR)xI00000NkvXXu0mjfJ@nG$?gn^t!}C0<1UzZC5}@N9csRaH0gWzgC%}Ps;&~4qKTcQZ()!gk@ELyl!6T)G z2Bjmil>}e|chg5=eNC%}>o@j^Y{0vhCMvX^yzX-^CKO<3_f{D;m%zRdUMj-+hWGj4 za23Fz#{P&9F@H)$lsSw6E>aC%ob0FPRzo1sBczA_d49eGpF(&~&if)aPl5sGM|?Hv znt3vY9$$Tn(?=qo4;8A=;#7?JP#kKe5%Bo&yP&T9wgjGf_owdyN_FL9;CMQHLyd$4 zenf!kiv$3O*)-_V)LB!2s&{`jdmmK0dZ0wVI`Dp&&41cd1lk(Vey<0>8$n8e2C%X6 zAG6u)0@E}A^=Xg%4#3Q?PJIrAKS!W#0$?*q;Mej^%{=VFAz1;>n|oWu0Auq!Vaq+{ z{0tTFBG(Xo1S)Wx7cO4qb1h(fxCQ{jh-NNA0_+QH!EI?GWDga$DSO<*h>;d>C4fb; z08|)SFn@9Ff;FHBV^KL5Fl;wk%mv^RMnnrW0ItSf#cjx`bBJiFfXzETw9r0l0dOaT z2q#k3%0A_%{6(vB)`IGHLWpppDBWfMly~?uclREgYN-&i@@?ZYvusI zGql{@r33_XCplnf1HdMKLX(2Aok=uN06PYnZGU;D+%OA}?vMy;F7M{>yK@eJx+QGb z43<-YrMwOgjSvBKB}pFwoyzXV#`RwsJK;ws2jHbro-dZ$m*I98eu@^ElO=~Wcg`+D z80TdGG}n*iIEy9DFLMVGkI6iGvAhhIw;}^jik#oXa(U}^lv&7RJd2`8h}-Z-pFph1 zVt)eh3qi_y06t#`fj7#M=}xCRd}SDKv;Wp8|4oNw#25fjMKX2gZoC9+(cOj^K9(M%15gjX3n&uWB8eW<4Q=4l|9|x{>H)T)se(Yaj(Sj+3zl865(Pcz?@K)x zOI6C$fv5jd@8~DggH=R^fTurw8S81MxBzvec5PdSI`KO+-cy*2EwM_@lHQ zNW!lr5jIc!A=U$X%zgMt0a-nO{Zr$$fdZ&{Fy>wE50Vy8QB^(Y!TwT#j2@H*WPiL~ zs+E9b^gse64P^8Ho+0B@1?Vxa2jf(QA<^i8*aQGz)&tv*TQKQC--k5=z^DhH7XVx} z>VeH`KAbAcs0Yx(01v{b2LM#zYBTEr03&!b7wAEE4Vd)6u8m;bi}aumC!$afYy=AR lK%SKU^&r*7e^L+r0+|{Gj!eckV+;TQ002ovPDHLkV1gJOAbS7+ delta 1181 zcmV;O1Y-O534scbbbkN`bV*G`2j>O{0}&XP@kyKj00d-7L_t(o!|j&Mi`zyRhoulI zd??s>Pu(b#fzOBQQOfQ9; zB3S5ggD)n%s8okQFJVD{L*E%ovOZ>1dTI}yWp{1QA|aDPClnTt@rAv5AkHUR|2IPesOdbx-ef#$GD>cWeY1FtgIlo6JqSnNNk z_BY^D2)B5@O{=TvJA@pOP3sBzl{wV->RZ-*L_I-&qXQ)_>72N9BHT}nj!BN+`90yc zIq=lHzkKH-MCHKoa`^^H2@d?o03;s72Y{}Y{uJd_t$zS?%=@d=d%rUk0}b@mq4~pV zHA2)EjsfLc765Ok((na<#zy{QwOU=UGy#BYWGTM`u#(KvjKIL3GhieGU^8*x*Vauz zKkPzR*#OT6`^|a)<8@O6z#h|oh7s6JE+A$MXv1}080;=z3jy`RH2^S+7&L_d{(_ZY z32A&h<}fCxQ`@>R}G$(TGd_AVm^ zoI^rb0>)(Qd=J1|2E@;%E5C@d}3=1IEN&n^RK=PdvP_m8UUVa)pD%0(n?v5sEEmqC0hk^qfJ|Bc4+ zt$*85X(F@sEQ%sZZ^IvPf}$?M1;mF`X^8>&JfxI8C>ydTo#^t5CxWN^yRG#%6}B+m zsr3)oOZ{dIz;+{U)&@Ko)dS!U!&(52fm(q1gIaeHd4CXJ#a0g_5nDZw&19+v^3A~Y zK%SB4fjlGC18GF62eLvlJ&+B;_28A?n}2hUk?FyAK4QeARu6iTGT7<=`k3hfE5i~4 z(;m}<9-pxCj5QGG!R&zR!JMm7X&gBHpPENMF+JEsln6Ne(aS^+XcAE%3VJ|aCPL=O z^gv6AiA)bt!pQ-)m)8SM*xf8bBbh%WdZ5jT4L=jP9>D(TlCDz#ih3|7Q(`-LJAWwY zfd%`k2$b}o;VAQTsx|^r(gO|@45g$8aE8otBS4K+J(%Z4a20_b&}{$!ay`)Oqy(8B z%xsu50Hk^VdI7*ysUB#gYr|5hQaykY9Ci^>JpiBscbi-f0Px^wuF->O3dr<8>v}Nn vb$T#!`N=HT1C0T-dcYUue?9oG>lVRZnHmL-ixVI#00000NkvXXu0mjfr41oZ diff --git a/graphics/pokemon/gourgeist/small/anim_front.png b/graphics/pokemon/gourgeist/small/anim_front.png index 01cd8a5aac7951190adcd1822aaa90e892f3a8dd..f7c997cca693bba54d4686bfcdf890f9b8f403b1 100644 GIT binary patch delta 1076 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

      9at<&|$ByfiL-4fZ&y27{OWj+UxSF ze`W+C$UeA*Q4p?-{T1K85W&o8MtAYZ=#PCErv(5M-#`s&gg770u5vPZBXJy#{cu~% z0e|ws_{hU>`>sgu^yTG+@!NXG{iu#t!l$_n4muNDFulpZexZoy@}Xr1~UxU3g$LxZ}Dfm=nlxlluQ z+S1zROMDTV|J;%9B2k|Yz5G$fDdDs;=iS9$hsqdl?!pY z1gk5y6#%Qqi$Y3FfG8bk7;*~e%Y{gy;k4Sxe4$k^UrfwDXG1=X0qM+e-J1wZ^Fy}{ zKlLP_o3F5il~_UosTLR{5CFrQ~2GXd5RkhTOs9+>)6027SKOo$KL=xmk9 z)A*(LcgU4$jj^?7YzOm0C3#odE!dF`R;c3C-t8A8ok{djIzi2!Q)ndTC%CPYM9P3P1=w%mQHT5`P#YZ~^f_ zBmvTx0Gs~;unF^5Map@l_aneQR^>^VZ_;2&E ztj5eU5Xb_tw~M~MHP*M#+*QU3-rhgk@n3%@^MxYT5~Co^--mpW2_SL65Hdf67eX08 z(ENj)&_6xz%>gh!Z1=^-F>4XGizxjGyV~U=Nt@zW#CGP>@HOImN%G^2EOY)$ zvvW6|0!)eQ5-JxsgDEk?zvz_%iPM@jYP7=3H*v60DnIpk6%81K%io)jIA6Zo9FQA zlYD*r(g8<6kJU8JHaV0M%GbwEPy?*RZcL$oZ3-xG52Y0P-VwkbC*bG11!H!TST;ED zDCrb9VF&@|4tYn zhj|Yaur#+rlo^;uToJL&VOV6=|3;qf4WWUg<03DId!n{L>CK(VpqH8uJn~cBlB)r@ zw+RqPNPjK-x}nw6olT(Uz-=WyAmp7{q6NZ%_al{!iz*UN#dMs14~V3oW0c2$6qYB1 z#(*4Oh6xbtL%&RXoFN2qT~GAefarl8jRABhNFi7hFekWU=AS4)EMP|THVnW96h zhl`g|KTjJh@7>0aC$@r!)Q=BAEI26Vf?D^>uYcqE2_NUxGr1SuEFfQ=0D`ZB;11E` z1uWPIhywCr3beBou73PeVB7)7+<7|jThUc+&+&%dZlo;#AI=Eu!Pkqx9(=tB>><#L zm_3X{#2&0(j0u9yZS}(Ok3cWJ>mOL7-}DbXhL#o83pAMCKQtQHgKVpk_x{1#%`9RM zynp0_f0Qh=2h@x5U_YeLxptk;jg3`wPqk*~g zj}C$MDyXPr-k^Wr`1o%FvsFg@?`Pu5F8(Msg=r{nSX85SFXuH^xF zflu5s8qBeSU4^g9($4_JQVa&up{o?$R)1^!KU6epF#1F;JYWyT;jDsSVS)02M=%a# z1f+fhb?|_>dV~ktFm7%iUSR+B0J>Kyvz2>&`+!OOX7Cf<1GfhA{=U`~9GoOJ2x$yP zsdgQ9O=6mfF&K5w4aKh+vewIMt$gi2Eg(J z!~`SV>Lu>hUlj}@dVN^yYh6dqvYYsY5eR=5UH^CuMBooN2kHaq1w)4ZKydRqs}+ox zKe*Ed{^0oq(aUtYkn0x+Y|$sCDKK2Wz$vyU7*oLW3tV$0x+&oK1wP+W*2#}D{sTh_ V$JJLmhur`G002ovPDHLkV1l1pN8bPd delta 1239 zcmV;|1StE43Z@E>Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lll-wne=u z000DuNkly^b3<5P(;3SftagC?qa-qy>DXLMc>be!sD%05?A4cn+KF}PhrL5Spf0L|) zV)FiD{oVi!hkp;0Dch?NqZ}g?E)c~C0BmbKMG4g=l5*obX9?7t5=060Ch*=Rq=HLH z@jO6f02n~_^V{R`^MgdP!Uf!nAOL?JPp5BRJ|mE`S zo-Gr|BxLVSwV(!Ai1j6e0=7&c#WQ45=yyi|f1H6IcYhPc>>)92aNt$aF7UF$Ziu^M>Xx zI~zc+fyZ)lh6=eeTeN^b@O`AR^CAx=o#>9?e*t-Lg?8`|Fo5Y9p&=l_%FqG4bLh&% zFDv*!qVtK~21Em_X$YWgLJGlxfVsgnGyenuVt)ZM#8rS@fVKBrHEv!?U7nVh-s@%L z13H6<)WwG&wh27d<$A0BAHSa0CH%6kUa9}!t0FgqHc7bX% z!`)v#3Y_l&WZWyA_*YTq{8pRP#~nuhkK4nu2UjmVdvNu_vj z$j<(eR?N4DxJ>7be`tdV+C%Ffx%Q6`P&fX;uK|Vi4-}M227$5lj~an$<7HGdF3~@5 zeEGYC(JZFit3Trs1E8UxpfHIy>x7_aC4chx^>jM@1Cymd*K&X)#S(W!gE`f(&at{o z-3X9QMQboMx=QLCwZQ*FMY9H@Z{*GawqP92DhMVPC>MAJ<3L70if2#<2Nh^)*8%+#a?43BQ_og9Rlx?$AQj`KB5JGduV#+Cc3EyVFT&= z!zSbpqN4{MfL%?98-k&`9`CH+0SP#Ov&H}}`q2FJfaw_s3C3Whx42$h6$~O8eOTyc zT?Fp3?)Zffh&*H{#vUx;`2((j`cOa`!H~W`5IlSywSp1yhyJpjKRA9t^fu$`eu2OW zePVdkFK~$!3dZodU*Mi|Q4g>C1(t6qi|?jQ{|iG3$JKl5&T;?%002ovPDHLkV1lMl BLYe>o diff --git a/graphics/pokemon/granbull/back.png b/graphics/pokemon/granbull/back.png index fd5ad606f61086433d20316d3eb0024dea6a267f..eecb45ba7a0f68c85e58d73e4c79f9a7d847f14d 100644 GIT binary patch delta 442 zcmV;r0Y(0q1fv9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eneBK~zY` z?UONX!!Qg*Vp=0}jAPN67 zNs*TL*SeHiw;znri@YLbNZRk5X#;ASt75LGwV)%I@s(t)njd=xdR!u2d zfQvCtdTRzzdhpiPBT!R+;AqS?K6*?xfUCIZ31CaR{P+enY<^$rx z2vCn)L14QMpun&O=sU*>?rkT-(0pDj}&vQBk7 z-}W@kQ4a0^bg16~;6x78CE#;_&$|Sgdw>LwQPU&}K;V1Vb^UpNL_(P%`rYY7$Z!Y- zbV(n5e{L5m$S$>T>WPScU@hP!-Wg*0z6E5y9DLFj;u!@K-mV?pF2CT*$7J1R6gY4o zd%9S>g<{Z-6)9I$7U9b-=EPr@@_ll!zHO=Qq~JXiDHeLj_uVW2fGcBQHF7|)8fA}q k_^*HN5&1d(wuJZ<2KK`C#V;U8Q2+n{07*qoM6N<$f@PP4>$&b~i5?)-0Xq-3YyGcc3igyWYTX-?sflJX5ee=9a$;Q($@K8w8^ z<*x^$6rTX@4=z&f!=smI12CnIj~FzbT;%!gMZGJfQUDS^0h;@nT=;-^m;eVAS%PjI zK!SD+5c|21Bfuw*ML=eNUOe4~LS=wxlULwiUYCGInZfG+BD7BEGR=O}-4FAM9}igy1H18GlYsyL002ovPDHLkV1jmQYr+5k delta 285 zcmV+&0pkA40`vlqV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0}(mfm|4OA z007rXL_t(I%hi%GZUi9=Mdt+JK#_9klt#<}_<}>E#A4BIiG_m{?Tm+Zn=IuMAI#@% z+y7Zk7a-6Tpj{FGvbGCI9=YiOrT-uzPx#!DGQMXHwLL-NM}L~Z1H?}TOG&rmR3E-r zf|^01N8itj)dRFQGl&xDupsMQhl%u{6~zF@H6YRX9_K+^OF01pf#aExfH-H_O@~SX zy0oN&Lc2B{^HR08?fusK2;){^Brn3qpD^Yp={AK?Zuabylv?wrdRnNy4(u6_D*%C}SQgY@_5k=O86;Ax8zLN0SO7yg^2xwd z76WLLRV8rIVuf=+#sFe}u|lsz6euG=mBoOg2XG%acp-K^pvq+cmDgkA1H~bda_{w^ zDWf5ZW30#VuY-~l#hYibjrH(%;SXvo*hA5}>mMJV8Hvdl?{%%O2Dp7?!8tBHpb?wf zclevQ>$*kVostFMiu&gi>`+fYI6`BAE*!xEja~#=B$sD6tRVw`5@0Z>&v(6}z$~I} z8|_`-*%JC0^mPtwEO5RjG%qt?%Pr83C*nq6FaVbkXl6hP62~FC;qBrsG8gYiYXZ_7 zV0)MwLo-wrlv4{y0BIbA1Grj!ZhN4D(ZbwX ncTe@>Yv2gr|8D;nX(h=onOrAz{Z|(+00000NkvXXu0mjf)sw?S delta 417 zcmV;S0bc&51e*kqB#}W-BLD|Klz@7oA z0uX3|C0_ky4}g!5ULqcKL-;L<5kQ}hbV^_%2?4aost~xCVuf=+h5(Xcg-(bdkOzPw z2?0k3;4W}*Ozd1h<;wsnr^dzwvO~b--l;)3Oo&a!c&BT9HNfpF@%C})0F7APPX0G>*L97$Jx2?`74`SoTcMl)zlCZ9 zTEB%6sPrOG)8*+etM@>+t4~licfF;+%%ZLwfVDNmR}WBFz{ZzB zKw@nS^-vU$PbDM)q{$#Gz}Cv9?tlV@6lQDfIhBvsz!5-1|0I3@nOrAzr9Mh3>lF42Qm=mM9QUz4Wv*6T{09iL?AX> zvINRd<)kbOVc-v7cO;4}y}yBXP7#>%B@+?@PqHof`?>eN_wI-BKmJabw!K!j9mduX zHj{BlpTE%AbuHj*04@@LFxS&1c(4JuvH>t}Yy|GFfItJ#96D=(ZC3Bq32|E*k5@Z4 zd))zh9%ulw+v`5$ym9)>t3_|CfWd%whx}2$UyH@8f-pJ7%h9mkkA)B)Du5B^!^1^y z^oDftQC(8=bCQFpHviR|P(OLWtQVw?h>6v|x*WGTQO9q{SXf3NJJKw z4HPcra6o}+PJ3al0tsG(=NC3X1t63<7<=>$pDH`w0%LznCJf_pNZ&hEN5k@nGE5iz z6qdTfB>`D!`CWHK7*0E(Zs`F^AOUQTHM-NrNUnwE0NajYi|6kVeGCGC3Z1d`dFbt( zq__;W0)?Pku#LxKgW3^Nia@z&9MS>2qG_)whvLI&gg>)d`zNRxby~lwS`dzvep{uQ h;91&k{%c_vKLBJ^E;O?^y;A@H002ovPDHLkV1hET9uNQk delta 636 zcmV-?0)zeU1>yyeB#}W-e*gz`Nliru=LQD@5(uGd3OfJ*0!2wgK~zY`?Ulc8(?Ar* zZF$RtO({cJYD|cjEFMEcD-X#{3?7j92Qm=mM9QUz4Wv*6T{5(0h>F;3$r30-m6NhC zgn>VR-H|A^^!^6kIYp}RIhh!cc#>@?-_O1Gy>~yNY5(J|gl?K^e|6Kc?RA7{%eYpZ zKiBQsm4LMYxJ+O>ZdHOO8-N=d0R7HJ;PDDzZsi<0Yk_UM-m4Shv@1N`?A+~j2li`L z0qEUc_bKO%lUHsnJW~OK0q+j^vwpu8iJ5}XImO%2u-}h_5T6vli1XpWqBnX^y7*jP zQvGX}zdKlT8gDQSf5T|E41D>{;TxxE0@av(DA%|J{KaBGjd~<&%oH^iLpP@foMwui~SY98CYI`8ZVF>QmFset=3|Bf^ujwY&!8geg)6>uV2ip{-c+q+Uu zv-88ORb2Eiq*LLTtsD?(7~`}6ghH66BVVf$=g;Hhs$Qetf2K@`d9Gq6Mu%7cqSZJt zkLf{-@y7%U6{2}W!$?a}M&cnt!D5sEpXACz38V?YA02RGfMx*ub0i{-iUx9*ayX#C zB%{4BF9R`NhU?`vp$tGEbRZT> zm6ku<%3H{fa;aO@040zB`r``S@-dWaQE`Ax%fX9}h#oQqpu9%?i@@DGPH@S#7$|N* zACJZwwIiSutaQ;>qyxBl(@rTz$%oYlerGkB$5=LMwc$$ZgK??fMxiFShWqdQ&HVyo WRW3AoUL8;X00008c;YJfj1hH=={-xhxqb7nj4>Se1AR8VGS3qp{fHKfll3( z&kREhpk?WRKIIVRp-%e{T&!fMW#IwWR3ElfDhD=8!2$mRY)So;HIpskq{3)Y7X8oqL&D6;A)^!KCBN!ZE$W1siT)WZs!o_t z^patjb;5uVeMIVs3eyT>)($jgpXdYIuS_pULyY2#Z)M^PvYThSU`FkRVQhuJg()X~ dDD#7Ud;xQn*(uMv!0Z43002ovPDHLkV1fO{0}>BE51*I-00AjUL_t(I%hi&xYQr!PhW!Rw zI&?}Or4+7%7k6nPTVJMwLP|=(1&f3{M?gVYyo3n(CA=63S`24|x`{Z&O z&$OR$d^yfw4HvG#R3V8$rS8f{h9Ch@qI5u=a)|OsrQHxztVE=b9kxVB2Q~}M zsN}`2-?hee&NTJ^KsI=9+Uy_@#3TbeAoYT(bQl1#xO&X$QHp43(6``&|5<-Xm`OPn z<~hGIF5Fg_2~_W%LEN;$M7)y>iL4a{H1DRK2-l4;dhI~1_e*u4`<3nlsj-%fvaMJ; tgY4$X&Z(BWei>`fmoVkX52=69k56-z*(to?jZ**s002ovPDHLkV1oQkpQr!; diff --git a/graphics/pokemon/graveler/alolan/back.png b/graphics/pokemon/graveler/alolan/back.png index dfff56265621db09bc113827512913bff847fa8b..038e7d37bc0b70ce598634bba0e583782e949cc1 100644 GIT binary patch delta 647 zcmV;20(kx21@8rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!T?jK~zY` z?US)?+b|G@Wgvo=4n0{M40I7~KY(;LyoL_7SBVG@=|co43JuZjp_7LW_TIsIffz^^ z!$Ujxp>iaxIF@Mx1v2IaN#uR}`QM53KH~qQ1)neHI~cr!45{9oW}@lUz~K!~a7`jtQLRz58|Pwb*(~>!Zj8_&;a6fdA6~Lg)ZI zH7&L{Ejf9JnRn%=(^naeN=!N!G5^Lrm^W#QPtV2Sz~ds6wd@d5mB&7pWufecI8Fp58)#w_0VcHnjheJdQT7 ztX8h|?Z??2mb=ZSTU9IN03O#0i*=!QsOHW_tIqg&rXqmlO1D7DX0KZ~QVOX>QVU4L zp(SJuaB~y^!d~B#si5J|l!QVmdRt(;QAPA}&54(1U0 zsRc+SH3XgSTER9`9h_$tsOCpNW>z0;ya9|!-=2jxr7jzQpw)|C;sA6PM`ilJvTpU; hStj#7;$6b?UH}Y&pf{7&YgzyR002ovPDHLkV1lt5E_wg} delta 632 zcmV-;0*C$Y1>OaaB#}W-e*gz`Nliru=LQD@5*5O2X5s(<0zpYcK~zY`?UTK3+b|Hv z6(E9_4n3J140I7~KY(;LyqXTVSBVG@=|dDK3JuZjp_7LW_TIsIffz`az(YIup>iax z#2>PO0v&UMzV65W-Tg@g!F&93T*1f7`8FnS31}k)yC7imn2yf^e|HYResi|U4&Z6y9$0D(0CfteN?oR)%m zNO*AFFlT5o9F~~2G3Mb-zsaJ}x8w`0Pl4sgj|VKa8yr32CmI7N#4!*)&C1Qt55a)J z=^SQVlz9K0^1unme;cMSrcFJ@u$W8TkPkj=X``pN(5Y5glMSsuB#*;qSXQg1^{t25 z9hTeY=T23vOat(+Hdw3+TcMga8g1I6rSvpA5}WKI7Cf8C-)*?et!2wl4iCbKyk zOi7-*jpI82x+#cp4in*k32Mlq*gkp*2@pp;r4EASL$-0>|L?C z3Hl}(Xm|}FXc*Dgfj5n6aFBJ678fG3SEKxoNH3hjL5QB?Ze#beUlX7X0q8rWzVFjE zksSeEk#uYmZlOE{UW552xH$(nH**rm&j8v2dRKuNBmL*aysqF5VW>SoD%ufrzTv=a z^VWIhfogud9Xaf^u?M&&Lw^?bMqM5Ol2$K%$~U01I2bboo^`5U=Y4pO{}C??f}l54 S3l+Wq0000-Jaw{dr9jn5j?QjVk)D7i-0N%hFLqIAVtLH~# zV_%f~G>zE9dO`#+5Y^6z`^rXYWAx%Yp@9r&_rj9{@u43m7GRx;CB$E*-+56ASAiOtKiAIDrjzsn2DW)tMnfHen z4G{*1$Fq~O$@gnLVIa8&2(4}34)T6+Gn>qBuAj}>3wjTKHn1@JHG6mS>m%EYd74v% z!F@m$P|}mDW(qOkE_e0-5K@s*s!T`J=agyKOW^sNu=lg)8 zQY3J5G9OB{Du}FyZkX2|`QD@51{8)Vrp8F6eAJ><0;fLT6#hlH*!PDa{mwUGeB&{)IbERcRFGZ)8VXly4enl-0IwlvIW*rE zI%@F!K_6J#f^MLI6u|%z!_F?GP5{gj8Is@mNc`Ts|=65?N9@Ic(8)x;Wk^k@}ee-TmdA;4Od!pMmH zXjO_h4ee-^$JlmL>fh_Qf*80+3jn!GKuIoG6!zQr4Jkx+vymk*(95-4x&@4ppK*`0 zI|*P?u%}zrBZ}rSc3q3I{^J7;#DJLWzhgNGQMT3?YLbyp#F=H3xHc-@Rk0UAtN|nG zSuEXafRqRkwT3D(e`7EMkr@eD_Bbpo+VXFJy~a=m;N->_JPQ4B_~L*}9Eg(tO#;@i z9uooNqS_v@uXGeX9=$w`DVHAYoH;TV9|vB@2{=*o>}{A5dwO+7qzaRP{qI7kv_v~` zg!H2A5gQ6=Yx9hHyra#}Qj6U6W5hrh_JGE%%`BxrZyFEme}ctgV8qEm)x;^Kh)eN2 zwZM8gVPKF_I_}YYHRnUuX%ZY2Ur!O8lqwoE(Txv5se2Hpwt|ux@VFaEt>+DyyZ{KLe@xf(vO#e*t!G!4&u6R!ojVg)==qwyzxw@&Wk%f12|~UI$O1}wdeL?v zBHUqTcK{((Id4*?8@&v)2pW*+ce;=&2GFxC!G=zeoTF{98mdm4oJ0Iy_pQH>D!Wix=pS1E0000#F*m=cwMypej-3n)4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+5ym8McNc~Z xR#^`Q21ad97srr_ITQP@vL8MC;PT!7$0uho`U-43TzM5_hNr8a%Q~loCIA?yF9QGo delta 88 zcmZo?InF#mWn!I;K4*bPWHAGSo-znCRxGtIV_;xlFY)wsWq;1b&Mc((_~xW=1_nkg qPZ!4!i_;U&U1gJhKP&Rj@5!qeeFc`yI`BtRTwco(9SkYtuCfU=|QdOrxSx&rDh3D8zm3q)9oDMSpxqBx3!nhaC5Ela*oZ z2_3gv+_u@JRzSI349j^?*%rI>K7arTtxm&P60KK*HhSzSJwqH09UCqN2c61N-HQP3 z9|&yvwiCYrQxq8WGGJUg5%74q;R4A`ao`Dz^Qqi%cmm_lamW*xiGu+%aG1ah9F&hy ph~Yq%({L#E5F9_k;q$j~_y#a6z9Ff+(`Enw002ovPDHLkV1lyPfbReR delta 328 zcmV-O0k{770-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Llo_5MbjU z00032Nkl_I6t(6UH9P4@pSk zGv@Cun_moJJS;2R1W*a>8`_2goLZJ$bFo;cWMoSqm>#mW_ajz+|Xcp}zk^bq}#Hdz^?J)v{k{JzgFwE~Le zA}sZ!v@c;!MA$)G$y2B)(0UcL(enu58Deni*l-aHbSg`}&l)iQU?JauvBWRHBn3vj z1~8^nI6Q8yyFox=Q5<*zV{Ax2I6Q$dXgI_P%*0^;({Y%6Zi2DRAU=1B-KUgN0|EfX>79L$7B z=TG>-(Jq3L#^QV};7}BQ^GlNAxo!c&S3pnCTL)wSD>n*&g}T2>Tw|`gm}KRKNi+?9 zSAc!KYI!yRtOID{tR`NEM^E#SgN)+5Jre>|`R#H-eS+GM~EphwW`akK7# z8UR+=?CGf+ZG#HHQX3}^k}i*GSiu8+2W*Ugfxq2b-4cm$-xVYVF~NjDLM#S%2&ZG%m#pzWmUEGIV4TKq<#rH2{7P?tc?h;&t?sL_bpg)*yU}6Dz6oS-y9ajqc-R|0uak3y{_9S83AB)d%G82 tPG(@V(*pdNnF2js?jry9^o5=i z(4?sQK0w{JaYVP&6Vx?{KOhLX{(_n{jePz4cgBvf^C+wtA&Bgw@r>h`Ec;VYU@&@E z?B}KzOkgy;$g;8?&*9*r5c@jbl*LbKz!$gd7e+(8vr1LfY;Ak5` zPGfPt6mZJ25 z+W?v-}#SP>MY5-nd!S18}!h0%$4# zJgOYrb(Ie`&`lD$VFKpX$W@v`_RfB}57e!(v*QSWE~8mM>)aT9!9Z8y(=6x+FyNRSW`dgg?%ltJoW>CwsR6 z$LCdqidc;MK%0;JPyvB|sbRI-Z2=onCwe)b^9L<(C<*D*_rQXRs4r+r)yV z0|H%*-m~Zv=bJCQ5pe>!0oXgy=IV5_`M3oN4Tu&w_VH%=%Zz5bqb z0n^DCfge9_ppl?~?pYv^J^uDf0b~%s9@&%Mr7A#mi>wD=3HjnimT=+HpaHrIXHOHU zBA?)iuMm*E!}M992;r(#z#a^NZU>*UQddwf^MEsI0=Te$bDRT2q9+I`rPAwmaH2V1 zqZ6y8uP?CM2XGzPu>x4+SHO|LHk` z0Z(kNu1$lPK1glD(&w(s3&SW<<(1Kt;%T|kGmpYAp(Y4Xr>TH^JOn_dW#Tp(d1rMC zAjY@DS)DY00H{HjXMSVxi+H~Uo-2Tuc^p$TJqn?Y)9M2O6jeSgL9NUH0C6U9<6_7r zjE?(&<$92*eJLS3N2>;aH4%EFaPeGvtAkSM$vVhT0n6G6h+gXg^Lqn%%cXNt#m-O% xtgx)TaTm)$z;3)Fi(p7XC&*v&|068x59iNH?|a{Sz8ehwSq%5}pRb}9a3cJ%e6Hfae^yTpb^$BkWh@mj zwYxx*kAkHFLQ}(hzs~a@;`YFz9e_r>0eBE1uvnQrngTrHl-W}nX9i&LZ3Gbu=}BP# z;?U)%54R$yvj78#V+4|m3ZR_kacXEd1O(tx=NZa8S%Wl;IDG2z0HKQDvXI*jBeAj~ zzQp(3S|-b7wkNplxDd-2s8NM(WQ@R% zpSMs;&_H`H5J(??`=tQV3t*4*$?rlHpt?oc0kDL8aVrbBbZA%u?SUJP*HT61;*QS| zke$s8Sgr`+f2dKw9t?qYhk&y}S5PnWkTYrmIIuph1H`)g_9>;(Yj?0BpD)mf`7F>M zu+s%_9NDP?SQM1NiS$efoGUL`^=&V^fRa5y4b`VRLm-pm_Q`QG)OPON1R>;QJ}E$rOb-BYDskdsNL@zl-Mhkr zRLx5P=>=NV11yNp6NQ84(6Hw^qModR^c5Hk_Clh^I>-D$?}bHuQpR3i2dprwym6+p pUSL>zAxEa6{rBsW*n|Ht{s8CCO5@FNy1f7Z002ovPDHLkV1h4}gmVA@ diff --git a/graphics/pokemon/greedent/icon.png b/graphics/pokemon/greedent/icon.png index b372d9120c0b3ec59fc332c95e4d44f2871cad74..8e37b0467775878a42fb69016476f80705b7cb78 100644 GIT binary patch delta 258 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 b{j1|2Hy||AXu0&J00000NkvXXu0mjffxS6Q diff --git a/graphics/pokemon/greninja/ash/anim_front.png b/graphics/pokemon/greninja/ash/anim_front.png index 8e166305c6eef7fe2f8a1da0d6b0ce0ce5f29acd..477f26c193ff7fac72356f6d08c90a744520be1b 100644 GIT binary patch delta 1360 zcmV-W1+V(C3!V#*Uw;KDNklVa-g1U1(g9hl*|?i7uFzb+7Ho!dHqINg39>NOY6Mp~fO=>I%+9o$2! zr8|W2ve9p&zJI&rjLs?_X@Ir@+FO11#aZPO4M1*=dCiHoYTzB7YJu^wsI`BrITzkh z`02qaP=;dxKfSLxp4Zd^N5{d=ufG8(;EfJA*`CfYj2Q+a4PYE@PhHoOfE|8zt^rjzTRb4z?grkdm3`> zKQbXW7c_n8=t8jc$SlF@fw8f+l!OXD`Q+}hIs(iv*9J>*I-3)2bW;}rz^c0oU%{UzcBK%Yg?rHES%9VD9+0RYG!B;?QUuCC`f410aP zNsyoAk0t_>$+hrfz?=iYq9jck1ERWAX99~)#I^!Dnc#+(fo0amGRnpDabpjw!Jh({ z1adMMd$&HNz;XqQ(zX0L@La$E*$c6s<)r`$fPYbvmxBoZ`Gmrv?XND%gfH(xeh!nV zyFzk-WEGra4m=@2@@tu7D9!4_ZkH}Hjiq#P~G*MCi< zYL#ZvyO9Xv+hDTn?b+YOZjK0zE@j;Evqb4p`VENh?jpKwVmI=GG(Z*L*TrNad<*|& z0CRwVJ!C94;%_lyI)xnqHhjBk%6$m2Pxrq}0cJR`FoMQx53$WzzW6xZ>+rvQ2@Da% zT4A$H7tCb!KmyW{Y&j_L41fbr5Pt}{b-b0QcxTKsK=9ZIJc}-+`ESS7IOG}inxL9V6086Tpme`Z=Dvlu6b3e+w z;Id8OFhZ85gY3OQ-&WSXFf`N79E5-z4wfFEnE{l@6Rt}*U%7`F4Qyw{5=l?x0J`%Z z0ggc7F0p49&jwh?LV%z^p=)#YPf?}N`FEzj(|qUWmYi(sB5&Z73e{wSNY=l*faAXc Sbe{JB0000!XRW(1+*I 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 KMNUMnLSTZ&9_C2^ delta 514 zcmV+d0{#8*1nC5jB#}W-e*gz`Nliru=LQD@6C)JN!a4u|0nAB6K~zY`?bR`E!Y~vD zV5+c{4o-$HEO9OXu@D0cbm$Gp*h5qdxfT-Ri=raNxKS6zo**b^=zDf-5+_uhI`Je1 z+n@etJBb*L?)BGV%$*r;I>VT|!rOL-+!bE3aeyPdWb5>BgqQRqe>ws|KcX!V3`Dd9 zfq{stAkdA_z>0C=M(7?^Je_YvaG{5<$-p)lfq15di{36VVo72i{Q^?v^Vpx=03K&) z`p)7oGT_^J#Br2j?RY?M$im$tMTE~75%7>PmJWeYJWqFi#8uERh;}}nGZGrSeYwEn zbX#%E#gf3b|MCiTf0g))mczh25ER3JI!xt}#G-!<8cfT&lD-1HLrkQUr=rHnjs#xZ z^|AsuKu)5PpGh+Bu0Q6NvPPfjI00BCfEJ3h#YC+` z239~Z8)%NZzk-9n zT3MksVj~J%RUcm@gw$QsM)LZiL4d2i`8tIW1S;JF7eo6x`HeWNsE4|W2i^i94+AA; z9sw}Gw*mN_(;2eaXk|9h2ACAGKmt8(>XF_5s{XBh0CZDlHC5^)_y7O^07*qoM6N<$ Ef~~gaQvd(} diff --git a/graphics/pokemon/greninja/icon.png b/graphics/pokemon/greninja/icon.png index 4b5ac7e332f930cf0f4f969e42f11e97c8e52ce8..20ede920723b8bb62104ae196b64e0f2d5c2a8dd 100644 GIT binary patch delta 366 zcmV-!0g?WU1mXjbUkCwhNkl_b7z)4GM`NprNv;z#tE~%BgJGeS*@n z7ytL`(A|Az>@S63#QJv#kRTasCPL|?v4h~9u2khIF(Jzhb0<93Q79-qm2dS}g7`L7 zn2NO-l~$=b(@|ic^{!d1izrk|ysY?CK=H81RlI7aE>C%`5(A-5Tk(8fN#~z%rhhx^ zb7cVQELd(=u2C|=PzKzGepZ_}fv@bmB%6#kgQW3Z$eQp;ei-CiZt%zAcIuu2Ggg#o z>}!_#7XiK>29pk*afaEc@Qwr{4&IDC9|I0;;fd-28U;?aR7Y_?(HDl6*8+D~7x!uQ zDs6>Gv=_*QRo=A9>;tD%hE;YN>s!|aw{n@S63 z#QJv(kRTcCWYw zN}2~wvGl9#G+kD&E8fV_?M~rk!%GaSEXA5TKEf#JjTerOaCIsQcS6pl)qMY{W`6?- zeO>VJxZs1aCRy-79<>nyz(g$ZAZ+B)VgmEq2EGATZ0FhAPgj%x0000MtxU}!OLW0jG?tsx(9*D1-br^d ze~y{i^+yut>eGo=`H=iRp4oYKoDco0I`Dn}(_eglB!oDI{eF@N(s;jbfIY;)Ns?R{ zK%5Q%k0-5PL<9bzX!Rw3jt5GF*7X67&a(mF%$^Sbf^XUVj_<*eG9Vv;yImjvz!U-Y z0t@JLGtk0=K5)4U%=$ono?UN`@%2xi2ol%=y!r<_wbqu*H+(m&G!m62Swi-K>9{qS z+y-1+5+c~DbVz^2Mu!m*jp|>RNg*9~)*jSdsk8$s9nS*vr()87#i)8jspVxR(eDGG z6q{6vfbVjSe%pg`CSs*fX{pz-bmn4m=1)#LfKAq|UgNX5mc*elcD1;DP`*;_5_L;OV8=k79v9)EqE{<(Mly zzv6zZI2a7n<2~kiAyWHWJxEH%UYXZigX-qY)@}$U+rsfiri3A=NLv1W#T~ajaGoAv zFXT-xs3`=H%gueadj3hTD=6X^V~BV^HdI7(M3u(o9%g)pJ>?;}_~EUKn@hCAS_pfr gZlv>}|4EMX4sygvm%pLTUjP6A07*qoM6N<$g12b`9{>OV delta 531 zcmV+u0_^>V1^EP!B#}W-e*gz`Nliru=LQD@6E7Wlju8L=0o+MMK~zY`?UcVu!$1_r zQ+|REsjFaKR}K+s|4I?LwO-fXI))9M+GJRbG~CAeX9l3{(8D^qzc~hE#e%YB z3?Heu?1_lgoKv$f#f$Db^G*q{167>}13bNy`;kr%2+9M-e=zN-O3$yjA9EE92I{Ci zR!nR@^9N4Jm@9M2YY_FE$-?$QXPa71SC`NP6^XOYSKM*a1LtWF=0d*Zgqnf}Grqj< zM$hl`a{*}>Vhn-52BZNUQN*FXhY>8T0|w-ii!ZfxVR?yWSOZ~?`8D7EtN%0o0CL1h VmmAa_Bme*a2>?k&PDHLkV1kWB?D_xz diff --git a/graphics/pokemon/grimer/alolan/front.png b/graphics/pokemon/grimer/alolan/front.png index 9e9a32183934c509dada253471408c133a9ac712..42e4660fa3daf824ccdd3ce6bf05e4c9818797ca 100644 GIT binary patch delta 582 zcmV-M0=fO91+E2CZ!Aap62vr)<%>-D0+q@+xa`l1M38zoJg){VLL zD)I{FCvbR|%yLd-xW!$HNdACb;QKARGqYIt`d45SEiCxR-yNWI)pGd_p`s2?YbeG|yuM7os*G5-czq ze|Wo?9^`TGRX{X^TXWdF_5#&7PX^Qc2){p0z>_T?8SR9h!kD?eG#-`_a=vZ@7D2?o zE;f2zexnXxCoYC3AxgFbQC$Ma4uFKjz?l%@>8!eF0KYW_A5!6e*^DOntoi~lnS<(N z%5pOF-w~^z!|@j200UR`x{}}>`wJ8BU`ciTO9L6G!8YJ} z%fq^^8IV4Jq24e50^nzh(`~@n*T8kDv!s-1$56Sty4H#8mg0}(`SNE~uI>O{mu0z> zjqe!&kA2#FU}OM)Yz60+H@`SpN0i*ShO#?sa7+8fbkWKXpr8-nymqCWp#|4x?m8S;R1*8R#B#}W-e*gz`Nliru=LQD@6E)x%cWVFu0tZP%K~zY`?Ul`Ln?Ml9 zEx`*+K*&8ZB&f%jO+VC=myVq(%?Sm$*F@0CrEjh z&XS}Gc%5riDFf^R|KGAZA1ivjNBd6=03Oy6agTekyFpLWh7cGSe+fHH6N=F%rd$&+ z8YSE55vo%R0EcbO5~6443GU>d#u<=wI-d|PPeQ?fKgshL!GWj^hy)AFMjzkJC;NHq ze-jV|aBmKa*Iu9+f3gE0Au(_!gm^KnE*ijVO~Hp$cs8YRKCQk2jAx*R-8g6Hy(dy1 zG$0jZU7+{Iho5w~S~1{)2ghrG4Gdh>t4e}E)MIuWT@kVgQg!QDvLwu(+NY$=Lu5M1<%J zfKO(G0RY%S3Z7ZmwKfhUCp=M3P?zV{-J?%lkPR?|rA6mzW@LL diff --git a/graphics/pokemon/grimer/alolan/icon.png b/graphics/pokemon/grimer/alolan/icon.png index c7996c398733c14a6351d0450da9e64d6485ffa8..09d83cb95e7b5510ced85c7a56194067873a41ec 100644 GIT binary patch delta 400 zcmV;B0dM}J1LgyeBv%J?Nliru;|mWJIxFB$q-g*E02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL009a~L_t(|ob8gaPQx$|hVup|i%cwi1D1BLDlU~+Tp{_^bRj$u z3k*e-Sel{l)Zz?ua4XeeU@=x8XFCHDBNG4S-~XL;zAwxEyx=rAx69OND_Ta^4#+D+ z+S@acRBS*+Q^K+48c-#Pi*xhL5hsbRe-=mZAb^BHV1vL^oUC?>rFG47<%B-gDiCP3Vw*(ETVZGAi8vZ=dyoA`WYDic?mE; zqZF8Tq7<067y@I5z(5a7SmhTmyllV@7~JLG5u10w6uf>bJTMzWWzSRx%xYdqE+z;) uFe`PZBVgQG=rRBR&U^Bh&OhMgH~Iw3yNl`JFQwlA0000 zT5JFS0R~A#K~y-)?b5MM!!QsA;Jm@fA`?sBfTirH;!=slRVCk=E`%pyfuX2UmuBcY zwKzjNm`ZgRSd0~si|q+Uq~4Z4caARpvh3d%oRa5u5hra$i{P~bfATf7wDU8OR2)D> zcZ6fjGoVTmSLf!9Tbv}izkLxiKExWLa+MDO9L)Q1Ehju9 hK9e8u{)v~r)Hlq#i|H5DqV)g(002ovPDHLkV1j&6lllMv diff --git a/graphics/pokemon/grimer/back.png b/graphics/pokemon/grimer/back.png index a5a552c4504e1503ec59bc19e54c149c88f22442..280c733fc5912ce15bc52c5c1d2e809b187ae7f7 100644 GIT binary patch delta 512 zcmV+b0{{Kn1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z?UT<+!$1(mBMa@-NsN2W*4k^+V&cJ*tqFRdCa~5Ap&*8ze*m35d4UbK>9xcNs@>Fz!xv0{`3a@IiUQ- zC=lZH0<<>Sh|j<^=TYu|`v|axM*Q=82<+Ox;cIw98-V-g0Wc}r5gvwjM5;xo^6=9K za%Bjm6n@3WZy(rmbhJ+b{?=;+3xNo3e2gWQy&S94g}wxvdD{&jDR*-glx}7hh)WC9 zg>(V7D9CI4D2KcatmZblmCTszBpC{Bsx(2osNV#(2~6_32M~LIePH5?)V4qq10Vuh zgzb|CSSyRYc|-deg^93QJJZ#DAlPaSg*cuw`yd{fqPl8Bd zws*9TH9=8$336q!OY@+~v~00001hW4LSglrq0|eq_RG;3Ue?AAaU@;0r_`CpZ z>wH9a!8877-unm;!@=0+_Yl~&f&JI;g*E{9&jVmmwj(?Y-$+!8P}TmY4;0D}N-6xx zkKaD9W2k7I4A@(*6>bDXFr#BE5%zMdy-WQFHuJU{KvM3;7nE*h7f34$G=+2lcTtjd z(31j+Hn5!A=+mESr4+as4%(g%i10Vrggzb|C+*TGl zGebL#(nMIs&NMZ;Y*(NSon0}TMrOYgFhH=`)BsNEiC3@Oqy3&lphpbQ0aA~Sj2L_p*8)DXu5-G z>(^Yth#_w4zJuWrym>fL1;ZlR&{3YUMi*7}*UWklrw4p|1McV2LzcWO1poj507*qo IM6N<$g5LvpX8-^I delta 297 zcmV+^0oMN70)PXMV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0~8VpQ&h(Q z0084jL_t(I%k7deZo@DPMSX(kCS8J@ydw?s0Q{&9(NTsRq$35hYFbm4rvjM*gquD; zDG>h+!_!x|9^NJPN&(`oZ2`5KrHBF~F4T4bos-W5iIC5)nSb4447^{E*_WsRADo&H zlBp?AKBH_#Bb?e@Tw@d%6_fe9NhuB^Ync-S?`A7E%re-=%5U|Rf|D==b+TikbGcm!`e voTviBBHEy%JR)U{%Z~o4Sr5eN0Y1I~?&s1&2IuRb00000NkvXXu0mjfr~rLx diff --git a/graphics/pokemon/grimmsnarl/back.png b/graphics/pokemon/grimmsnarl/back.png index 12b6a19e9dfaf0172d913bc4b72388c4867faf72..e483028a08854f571de7930f1f653fb7ee16115c 100644 GIT binary patch delta 573 zcmV-D0>b^61*HX$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0scuuK~zY` z?UKK4+%OEr9Y|Z2EBXZP6C5BI8oV5Gs5NAZE!@zl37~rbpUXinRlp52=;cCE{v!u5 zx^yWJ0*ABBpFZ-VSbWC+9P-QGfNzKCNgO{W9!jJX0qw^?gA&r>Y0>S}ct&8r)7l<) z0IXp!sfQiF5ilGD45uA`0GlvFtM`D$VG{;gfPVRQm;OW@CqM#dfYrqV&qlmj8-Gie z0LX!+obuNG_~YD9tU$4vXs{~U=4hNNg;E5Za%TrIP}*DPT&%2B8g99>=kjY3h#36P zs?*k5W%B?)kqz)NWa*1X9muajx|jTT9Fa+MSV@_k%qhh z3ey(%mVh1!Rfh%e)5hTX2?n62JMu9sKxzWluevZW1^V0odT6aT8NiQW0dRRLAGbiy zZwsJM(`3B^FJvHpfR;}7m>=H(=Sh$OvL6!QXX=*tG$@)57;bF=z^sFML?BSnl%87c z@OMpvLSO`7=RBb#(U}>LEI`KcCWcN1a9l#N0Cz=AOf~SRA)w?6I%Vboh6Fq!08a-5 zG@mk?8XXPr*Oh@W4K+gUw;}Dnwf3Pq4^)N{(gU_G4t<81LyD)k5Ff}2USOJu8cnnTXlsYpuVcW4h zR!565xXmZ3^w3>l@G%`E_ylkhyj^efb|D51aRzu}O4_a(MO{PbiH5uZ3f&bChJXPH z+4u!;X=8BxN(Nw{H*&!*Kx_inuf8&n0)1`(HFn174B(?*e*j#b+J!AJ@Ye!J)YMt; zzzgXKprsQ7=BGb^a}s2L?E46~nYu?l4vMA&np;}{(CeTsBtS)DIlqL%K*sVW#$I@^Ttct_cSTL48hBL`P;mtnGxGp_1TF}`w*vx-Z|O~qo(A~y z#=sPZ8X)&^DB>r$QH`^5e3hG+CGN!ve8fMB-$;{vlad;;4*&oF07*qoM6N<$g3fXJ AegFUf diff --git a/graphics/pokemon/grimmsnarl/front.png b/graphics/pokemon/grimmsnarl/front.png index 6e652396e10635c9f0299afe53319bd7e50ee9fc..6aa68d771b93eb7b596d9da517e07be309c67c19 100644 GIT binary patch delta 962 zcmV;z13mno2&V{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1As|HK~zY` z#g)%*+cp%(X^4M7Eo{iHRuVf{F9I0W0|FFGLRH1wQ|MP7a_zE$D- z3$GE{A@G5do4oD-z+*zc`61f*$-!4Q;vawmbG`HRoqe*WSRBB#9RXrO zp1u9z%OA53DgjU&ra{~SP;_wiJiCmn0*%?iv{eY|0d{_I6Fmlh;NTEoZ4n$8Q~K`L zZ@=>ZF4q>pFfQ;nKg-{49{_Oc5=eqg(EROlXMVxx6##~`G+>drc_BZ^70}Kz8GF~$ zySu{H0PBeKedLgbv)lpCQ8H-O0=&qn<|jLrL!xu$`+nF_sSbgo0zS3ixV9aY6UWBm zL|LuS0YGAPHw_JcIZPFtD@eUfW2ICFFu+szXz|Z#mpF&R*AiiMDz$!E{urwWO4uQPgxXB;?^m^yy*u&8~MUX>3&~GDIY4M zSAef$rMYK8U*)UPtpJY4q3TWV3g*K)|70H?-~o#XKRP4KhY0}U}m zq@`~YeL3Qq*WrR<1YRReGY^0>o=A2W=KJ7NPi=-FhN#{X6kD3BDg~6_Q)e7r zjzEw6xR^@1Uz&A zB`X4Kd|Cs(Y*LXF;M^H`RF?V1p*XILRCe*Q|MP7aE;``{m@B2Y92>zGr-oGq&e|j73%jNnm6dM7? z@Q!+Cd=2o+41fhuwh=3{p{f3mG}a%XD+v%-q;5_ip3#}n-L%mg2!*a{qCpi zvq}IIhjAD;02Cdbe>};~sa2pcTNpPAK|H`t&#vhA02~|wtSN#6V@ltAdilx&c)6ws zhH-(v`9=PIeFuPBl@KJ@1kK+*apogNuK+NOI^%-n<_GzkTma2Hlc9G#zPTxE4X~C- z-$xF4G|3(C93_Kh4Zw>WYkst4IV3t~zVG`jm1-Y2D&S)ae~xS0QaN&LI82n)3LO9> zR=3m8ki%HPse;toG*(Kr00TUQUoHMw?Gop3_!=UtPNmk5iafQ2GbEh?Y_AX@2W^UC z_UO-I=4MU=WE+6yOFP!d2wB{|`%4yulelyYFkSY8pA3BAq;!AGq?C7+(F?%WvC`bJ zpfB=8=@tOTf9+89rgH()ew}}^iw#)-dbb7+2QZ~IK&Ci+{}BA7_CO*GLACU4BF_d~ z^EzBu48Ut7Y32cN#uLdlC{`(B;dB>#>Z#2zL?6|Af?!K?Ri%IueCmwDvjOOV9~V0hPiTFd56`ozqqJJ zR>!3B>)T{xqPznKE0cJnHfY=yIZ=rM!J0&XuY=~6vI*_40*@)B zljUO+^|Jn%6f1`Z+Ue3omqvZr`0{4`sGluQGQY!}NH#S~+N0kr0U~5OYuP)xC%=09 eN+SNFgZyu*T0dnx9C<7N000076etZ~OG-7x zdApFQ&KcI)E$>nuNCGty_E61j?0q|=I*bXLeBVP=&u~wLR!gb7^}4HBLKU|LNIp`f0xfJQQtFs#$~yF1Q9u%+QsGXu!m(GO<` sS(cz+@*^0bU6@IQFTzYJz|Z;d33)R($`rzbTL1t607*qoM6N<$f(`eYMgRZ+ delta 365 zcmV-z0h0d31K0zQbbkN`bV*G`2j>O{0~95)?(xU~00BEmL_t(I%iWSOZo@DPMRfz- zq}{spG@XlFgI?q{8ba?KdYk|mECUTt&;i6~D(t~#ZOd_-%qi;QYgI@SEr(&L?U8EFo6bl z-kk)OCJkqGBZq-dDhiY-_yc8@(tBIYO&c6r8|HhN2qa3i=rvS#9(tcwsrEyHu2{uh zRujCY+*JuKJ7yr7-dA_OrP2KH_)o&5qf(`8X*|bRh@gp>dGr1kfQP$4Cq)HqTE~Y0z3i?-K*3Wg+R`^ zUDZPf zgyeI#M<0;j?h1^>V4|acNuL`aO;=80#8KAy-koETYTX44wz?ab89j?a9GDwePtfT6 z%LSA&KqA|7_z_egBx`HeyXla8Zk5^*00$++hXKB|QtC((Bm%<#_`Nz%pwvs?2LVky z#NrXqnmp@!sh1w6sArZuNZ;!OU`A$HNb_B7(R86L3x2M4Q0uUN(6$91yMl*^^zqaL zuqHH!@Y3`!vjC75;1l52YBTBsSi~E^+t~*ExCzh$3L6z7qMO^h2mKy5>>&j`z=6sh zTu7Q=st&8_I#Ca)ftgaPn~PD4K^!%n+|2}T{mbcW1A32th@{*oA>{c&-a_YVUabtS z&h>gB@2%JMP9+FI6k}2&+uWC~DE>}X4g5Kz)mBSb76oY~LSj>`eY`AMT15hjRFh~M c#WM$E|1;Lf&!(5fcmMzZ07*qoM6N<$f=ck%i2wiq delta 473 zcmV;~0Ve*>1i%E4B#}W-e*gz`Nliru=LQD@6f0F$+|K|20i#JoK~zY`?UXxi!axv) z*DmNHVX}SjVj)tZjZ$avC@oh&MzX>+DA3YUSl(N40geDg`p6ku#@PF?50Fgzf1bzA zKPKdl#$-SbR{gpM0{|TWyd?y7#SbdsnZnco01w8*<4%B3!NnLWe+XCg5CSgf(%qvE zNKkhLLLw-mXGouxK$>pcOQ0yL{NT#LVPeckj$~s<%bKXWPn)M zbNCGE;DXr3_3k>v?>i~?7Ow#3Zzb@lq?9K!LCi5q0Kb<<6R7kG_(DJ#Jw&_>C}pg5 zR_Rp_3)D0Hozq#9e*nrS(^^RLebZt&h0@Np_=1yiSU7r>g(A;PP^ zs4f6P1AGJc*2ZK*0AaKPyj%=7L|tHNxxID;X1%>fnBSwrS}Du}9LcQJg)kE=#v*k!>HQD~g}9Rs(+yY3*tO>!L75VMuIi+ehodGAa^Sq<#rT{-YbeGuFw^CB6OH P00000NkvXXu0mjfFdW%~ diff --git a/graphics/pokemon/grookey/front.png b/graphics/pokemon/grookey/front.png index 80e69ff695e56c1fdc72f1cce946bf285b19bea1..d2b7217454e058274dcdd290bdede7765afddb6d 100644 GIT binary patch delta 527 zcmV+q0`UFr1o#AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ntfBK~zY` z?UcVy+dve@&o^X4O6s7l&eceWAFaYmhm6>7&4RHk1x11-N`{Ws&2&JQv26YWx>WrW z+J%*^0x{Vqb>|`>R$|U!OU}0;G4O_4z8`(>-TOWrd9T+fr>T#YX92oe2O9uQC$s^? z?Y7~-)`T0nJuBe!AoQ$%K#0~BsynPVRPV3@P77L1o9+TYw`tdHgbQC^2(#Qci=!lh zI06`-n)JygPm?I-DfGp~cpcalA7h@xJmyhf2(dn{?H}o{gmZmpATt5y!#_#RPp*Ha z{mkS*&xboBb$9ez144W!CSb2n_eWP1FuOE7qchx-^Ci&BGE<~~Ed8sLy4_8VacVLk zG#M?Fyo>oU2IigE8a?Huo)%)w&QO%)6UN$r5aX~38{{{Ll|e&X7(G}eBh$eMacU;o zc&PPSz-eoPda3FIlnhzQ})d0A(Ah@F=r+dve? zPd9iA*p*9H`JzH-lNS5AgU3j3^%6x091Q6q?4hH$IUT}ztT+7uT}uCibm^L{v}BSF zy5|ffYpk4=%|2bHLWjKJmhZ=>r|&(T2zjc1P)=JP9nS*vwGK7_f7(uH1Bl!2!ob#q z8@fX);0z)3tU!p?7B`ATR;s%`NkfLy&hGn488)J>sK3UatZS@@3OBg0WIQ2Fr$V?e*|TsUALS zx&ow>rTSe}f119%ql%Sl@2&jN1W>l8N{=$jB|{l|`k(x_^#D!volOh_i)sJ>002ov JPDHLkV1mx(?(hHr diff --git a/graphics/pokemon/grookey/icon.png b/graphics/pokemon/grookey/icon.png index 774378ce172c0024fd614db257fb38a2b6cd6330..f25d1f115c829a044925b9d69d75bcf9b692b989 100644 GIT binary patch delta 311 zcmV-70m%Ne1EK?vbbkRDNkl0IGNo@i@ zMLUHvgxZtwkElHrTXiSj?WNG$^l?9u?lb1sVl<%6aDjPL04Gu)U~^L?p{8D!G)0n1 z5Q!cV0Bs>kV6v7-bPZq5p-c&-ciu{H^uBf1y(=8K)PT769c;#k@VoZc8st+=9R{Xh`BNdQh!D(QsAZaXD7i^>q~D%*U#?WE3hzs_){|MtL5(Q zPN`6LVZ?q6Vlde&_9(&T_U4DY{Q90XSGn&^!$!RyV)wUxd;{{Unw*?6L(%{M002ov JPDHLkV1ftZk=FnK delta 329 zcmV-P0k;041GEE>bbkN`bV*G`2j>O{0~9#X=$#P&009?CL_t(I%hi&xYQ!)MK>Y_I zv|FM1kb{E*c{<2(5U;tP^k&Fcw9}!$(Rd0;Y?@3ZanmW%UJBLbha}6^Q|i|uC=h43 zz#Ig?$p{e9-$Y4l%^*vBmE{~HV;&rU*@Bh8q_r`uYy7end4Ec*opqXnqjR0T?p@(X zwFE@X!SX?th8$-6UV6hKskD=|Ek*?_2TH`i!E8!>i#vc`x8l7(EBP_8YZ5dm$Zt>T zp9cIW!($3b>M&ij0PtK$f#6kFqbOO;gRe!wY$^d}BlJ)SOJNY??u?qHz)R=OmV>9x z)lRdnpZ$FhU_v4KaHnkCS4;ifo^qz{LWo0%Y}qRg$ie3J<_8~seJ}i#?|akGi}yq7 b|JILh@~fJhwHJhV3#C{C_fHJJyq#J8^7aBW+Cb zC^C%ncyE=6Zop+D8B?$^2EXy~-UJ*lbQD+9MhuSu8!Un$3YjsAr*)nQRuD+@-G;8C zn9*8#G8O0oaRB;6u_P7%RFS)gwDLoS&&Ksu3fu!2JU_avz*k%@k%Ao%ADR{Qc@m5= z!3+oznAXAsgnuw}W9Wed>KI1op;@A79qYUn&lfmnT1P{cMOPldUMR)eMS&D)gsc^s z&uu*7twILe1E|TNRf}4bO~fZqYXxtVie7EfJYzKbcmarH3{I>Bf!rpYV~kn(EJ>ot zI6));D4&;01!sqC<#WtlAd8Pn#8kAG67Zm0TH^r3i+{{6(Go3~)`|q=3bf=v2_83d zTcrX8=8XirdRK60JMQk~wg4y;BtR>^TXURZEB=+gM^^zTNe9)I9Ooy;W)QD>HP5#S zCAwOWZnjl+oWFKhp2q?3j;z8eot0X!m;+~EMIQIOUp;@%qUNrAh+-Myl+C{vz<%97 zGTlS~V1GQmDG~rs_5Bf7YT?0(&1{Izrvy;rz(GYyu$H%J5#kjm?^SDFt>*iFJtJ4J zbBvkUf4+3Kr=dda003VGqU%Sd`P=p1!%pJ|k0%%b;7|e-QipvP)dR+!dftAeUIE}h z2BK9seBH0G4Svp)TdDRmp+1Gy{nW5M%}+7uR)1XIcLTsPI9iIag^BJr5^A3-D*TC-s&dus(*N8mO%YeGEg@Z}p&$ zVWe*LppRiBhdO$YeX`y$3|SA754(D>*f9)Q57dAj%#t@>Q}R&{{trDksP+IsJ%6bE zULOTOK7H=DMhf*d=3Sd`>UR~aN=y3L+bw_^3A7(CJoOLT$OOT)iaDUi=WKj~8TKM+g zlV(x)1$PnW?r@JjKY4zgX?3%`6asV;YS!yxI?x|3z002ovPDHLkV1lxyNU8t; delta 1305 zcmV+!1?Kw33g-%tUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LlxX4*zxH z000EaNklzfa><9Kekg_tw6=pj-2!tte$N&L0rC$MwYh0HN4tklF!}7cm z?~mB#`;nyo>ot^&`W8uXDc$@Nr=m`22tK*sI95}+o;cR9meD486lq!}+g)Wy)!=I_ z6_>C!4xencI{^nY6(!`17RTejhKpc`LS~E-8I@;(D-2}#X-!p8Tx(uxDjn(qaRB;6 z@e~dKsFLlP5r3kP;ghV|Oo6)qjps-A75J49OQhih#E0jC`aB6nxo`#q33Ov|0zw$N z(bP}^c^o73P%qJpid9~V=L^l5QPHqr(A7t97E1AUQ7AAB&iNpkIUf~}~MlZK$fiaqYya+@p4iigZz}%wqjDInskS8fLnIMRSZ|A4wQqkFE z+Xa)^i)86>iRh9tD*zA5rF9NK++uc#mS|BoRt3N;(vkxucw9HPOGOIID*<@3XitGDs2zUmgr5RhS1VAM@;<`)(MvrPdzBC;Gdr1kVVg&&h z^NG912o#6-0rYR!mc1lYsQPs>rNcX#ZUf()PytY0SL<$&ajXS=wQ}-@0GJN^)LU)9 zhkyJ0;`Z!R?*Q`-Jg}QVw{N`z7tq+<`Bi5Mh3>$;3V`_^{NEXa7lP!3H%GZ%xjqTT z=FcWPIX(YpN#p!1IG~g%e>-}B`-C4EmryJM=oD+*UJL?aXN}7XM*6Rk*i7T@9T~K2 zV&rB@`f$BpSCnB4eLR$u+uuhS28MlyvwyAQ5rzSqom)dXK%)!;!#)JDKuIauFpw53 zeZEa24I^0Y7?yS-Cq){D%ujQD07Z#3jG>*Mnjo!+-)f&;xxV+AuOHwW$ZJk739fYUx2A!;sZ`J?LW?>3cosV;HI7wtpVv zpKP=ZL)3%R!;T&-wGBhm139DzbL7>Rlzh;G|3VKAt6e}?4{E>F#{dYuoUvzNJ>Y_| zC-v&VXKg*`0mhEF9+0VxmL814G7kfF0&!v%T6!SAc7NWS6}NxgC4}hqLI4~|3V$?2 z0EA?}pxaYzJy0yls4yq=Wm2j!x%VhG#6yh|yYy%&r< zDRzBz_pZ}}(pmX!f0(&?aV|Vh%aEW6aDUi^WHAyGTKM{((_3q^?IKR^a*sVfeSVW` zcC)h_0dx{7#y2N)pg&xK{aAzip>cb9Y7O!Sa(i}_AGk}%44Hi&cj&*8#}e*>T}Ck( P00000NkvXXu0mjfoN-^) diff --git a/graphics/pokemon/grotle/back.png b/graphics/pokemon/grotle/back.png index fc50b939cabcd2dd619dbbacb221eb8c9a0bbd8b..320f570aa98785add5010c8065c061b0366506d7 100644 GIT binary patch delta 628 zcmV-)0*n2N29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0&ht~K~zY` z?UIp^K7SH9};JZ(Igz&R}7 z1V|X1l_M}+Ah5J;MqoZI;|>BDOyNAH%QDSj%9itqlQNxS8lV{!051TF9G0fZ@@xqv z&KD8DtO=}Qf%y^$E>B!6JOMx(tH%NWi$Jgp%YWCVL`jpB=kuE6h?FD%oZvFA@f@Sc znzEW;KuxkyBmq2Qf?i3&%u9|G4;^gE#Y!obSpeZM`*bAey^?W-lDveh0KeD19~ch+ zK;5`87(u?kea~pDP?N?D3@^csxKq$3cdj zp?|;Gky$M9`dzq+FoZ$i7)U5VKlu`A*k}z9=741{KHNH>v?Vgp-ffgA;i4cHZ~Zs3 zuz9Yodd$n{k?s%8>17CMfjB6^uXj;HVS(Wi0dKP);+nq+019GMNux1nV063Jk6vWP z3FF)Y(mCK_yRV+U`0Gq5@70#y@s$A>p??KcYO{a%{`J;3X<8vy(m)%Do+!s!qIMuW6Z0z zw+|t^N;fCK+E{RamoTgJEOgL delta 619 zcmV-x0+juh28#xeB#}W-9RLS(Nliru=LQD@6$zOwtZD!N0&Yn}K~zY`?URw4K7X=! zKi+-ckxr7A_@7Ze2TaeN177_-KY_XFGnPrqUmGJ(CMBEzd3oA+GJ$hgzzL8rI4ehB zxpoa z;J#-xR;WqiB;=vM=I0h0*&`-WZ8WvguggIc@ix0Q{%Gwf{Xzw=4lyFgyi?{yHENq^us~+<* zdZhb9b9xv;S|AQe@atXFP*`BNM8MlDh`8o&0)T=TRnlk-8W`Q~^`jS=al$zFfOHPH z*zT*RFa9`F%6qltcYI|4Mt^8QmD=ndzJI;-O`2B7l{C;sq9@9+mgpWY4*PJiTd`8o zbXadBqgIRPe#{QL@ON#w^0Ah^&2Lp#ef!u%K&VJKGg9j6Aza&}I>x+ed;1Wwt8{Y$ ztc?W+cnPyg&q4<+_{LbUfRLtx>W-B@2H<$<+8YAp3Unm(QAdDtZ$M)0AM2Is^b>x3 z-t2QW+_%J`XstW#RHkmxnX|v~T)IC1pA%y~0x$7T;wR=+_!XF~Uef>o002ovPDHLk FV1g9G9FYJ3 diff --git a/graphics/pokemon/grotle/icon.png b/graphics/pokemon/grotle/icon.png index c6933d1a3b4cd96e74f07bec6f8ffb41e3988dc6..b91e96157391688dd835b04d66f9c9171af1c63c 100644 GIT binary patch delta 291 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 W)6z@v?V$h*00002y4(fw|_kNCNq zcBin7ecY(YPcl_6pRf6{dO#A|CH#zl-&BHcdzP-|j0V|j;o7LI}OcORhw*vD!a=u+gf zBm@9=UftL+E(0?^BGil;3{MzG@G3i?8IuM>Y-TAD7q`FId|xAQi4w@kN^f(*X-i*)1ibw=(jFo9Ildt-8N>Rm6;k<|_` zhVLDV!|GtseqaD*ikw<}de>6=nPtgJN{UAWHbO}UFz*bAMB+N=c!s(Hv_3z3(klD~cLavK$7<~}? z77DYOGPw#G#v25{zYUQJ%{B`_&0+Fdj2do>|JN9(2qqw4RGUKSSlR_k2>_TwVfsBF zNsd;G4N_%>LE%*^>`aGecB&S%8ITwa8-TH`{$UNi9~VcsS$Gfsj%EA<154A=L~f}R P00000NkvXXu0mjfgW4|b diff --git a/graphics/pokemon/groudon/primal/front.png b/graphics/pokemon/groudon/primal/front.png index 10d9c46cf6664e85e343bfe9e0d75b6f2ec267eb..ab7b36a64ef0285b186fe45cd0c80ca45f34a7f4 100644 GIT binary patch delta 1149 zcmV-@1cLk33E>HlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1UgAXK~zY` zjg>uX<473CtrQ3DG;7%)t!wc7z9)jH^Ti`bI_E4w%zlo&D_3C?P$CBu z5<{lTbw+Mf?17P*EmPRwGR5gL+%w9{TD$9TGldQFy7~q{(;96qK)T`vf$erz1JxRC z2(pDKY8{mhB(MkK_W`Zb#d96(p-#RR0v-PJzO?&Mnpkj1z7g5#c01ia-%IDykA?-t zP#3=iwp)J<-iG0=jerGT6I)FUT24ui!ER4L zEKUe2{z)XzlTUOI&&mV>MHI|{@tp-bejSDxkT{>J(ExyFDqWg<2OKB{{%kHoBf&K& zm)b~(1!78!Z!S@Pd~-wOB2+nWvX214G=yJEjPESQ8449a_7OOBf9t^ONY4Yu_=5^_ zp9AP1o{>CI`h5cmgqcXo3x35tac=<=qm-OP{+-s%Y|W0E$4sCJrtp zy9m@4_YZ)KKocg;5CO%elv; zm|*BJn!JL4$-6MbH0$Yo;&A{YOqUg-&x;+-9S7LEIE+wWRp)&q++!_O%LoK>_mo;A zc9cZe_?3(j34si7>lNsOOfU;-QQP~#8*y=8_oJqsU>Rz1S~iA5Sz*eRZF$~l)}@rB z_Z6zo5x5;MSF~>tq9|a{IGkpMTnQ!h{!OV9R` z=-7F-`(d)`yC3$1picjWU_>S?_!QOW|-w)Vf=uvQy--W;nz7N1kHW7!8x z+4r(SKLXew968TT7xh&{hX!SeAI?5J13&b4dVF3IyoFWCY6Bew=s9`@1neD?AEq|C zMqqM(5DXG`?HQ<8J5C@!0)KQ6U=?}&nUGpwjBW^#IWPnh0Xg?d2*%JDFdR|hCyK=w zrjZjU2$dl?jNgJHQRrww4_WR_EqW{Hj@aWpnppPl&YPUT_#%C!vM0c4S?tHdb)a~+ zyiXd zpca1@LDc!;5hR^+mLO*Tj=d{aVG~dy2NV)Rrpt9kZdB}nv6?MY*x=H|>2J6i%P-~(EP`42~ zyUiL3KwIAeXj-kw1xQ=mBCy+RYoJ>FEk=KKFhs4T(w+o%Py9Zhwc7Yy2fMG6@0mak ze|lfo|0sPKX5Rt4yJMegsGz zR6izYfLO}j!OxiSspnnX>?^_JXu-Z0PyL9y;DT|`>cpL?q1}D;W!z935GsHCvRZ%E(|fuYO;zw4xokcqGWV= zvcsw40DCtJBNSLxc^wJ&v66qNMFfJWdrqwZJBcGK{8C1Vm_Q1+)e>|;CKv^^sO^2= zg}7Q({iv?Tn1+g+6pemgR+w^QTb_5GRw*ILszmiE0{6qkl6EaZ6a@@A3&&|9mqJ1) z?VMpYym{g(qa(=-h+^7txGr{;G!B00*nS-S`~1 n{UOFSsfbna#a{yg-u3wpbaw_fPW1Nv00000NkvXXu0mjf?q3v@ diff --git a/graphics/pokemon/groudon/primal/icon.png b/graphics/pokemon/groudon/primal/icon.png index 50be41669592ace4783fb438cf232ce626a33e7d..9adccdaffcaf8345d96a944b6ac623d3ee5007ac 100644 GIT binary patch delta 350 zcmV-k0ipic1GEE>Uw;8VNklJ zl5Bm~6q;;tLL7VZ#c5MocVz%^$K!iH$)65Fzcmx)O$VYGV-7I)D1)?&8r-CUJA3ubU8uyYWOx5S2^adb{BJo`T z20%K?gxB<4mRI@B+A#FNeD>GpKM13u8(|>LZiLZiVYECH)D9P6D9pkLxjhRL9ffgz wY)--;wFpzgB8+yzBnk8U0PTeFiv58fU*v^4uJ2LNTL1t607*qoM6N<$g33^#$N&HU delta 387 zcmV-}0et?n1K9(RUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ll!>XJEcf z0003zNklzEWmlZ5B%YUIlJqopa}suG^Gxz(uby*f{);$Hx;ti_ zOM3=F2p@$1sDreOk0uqOBSY9CGFz3gSZ&kThqi5zjRo&(2HXV%!&ZY{M;t(peB*EI z5&7`?rV=Hm3w&gF?`Y)Kw__oUiBCU7h#B^pC&JX1MZpF!iz4;80*Xi=%hY1iH(9pa ztP8_sn4bOh^B=&N=o=VJvu|MF0tWP<;I97y!*K$m^!5TKI)U*%HfJ!z%wTGq!GH&o hBx2zM!GrlJA0Om}I002ovPDHLkV1j4lugw4e diff --git a/graphics/pokemon/grovyle/anim_front.png b/graphics/pokemon/grovyle/anim_front.png index 2b3af1097a2eeabe960276cf0444c3f67409aeb3..c488a0aff7181da45d3a9cd53276688403f7b706 100644 GIT binary patch delta 1337 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 Hu0mjf#N7G! delta 561 zcmV-10?z%R1(yYoB#}W-e*gz`Nliru=LQD@7ag&|8kGP50s2WqK~zY`?Ub=j3-`S$;R+cQhZcYRJ#`eFMA^}O9V$+L<6&Yp+0*k|i(f3m*}cSFY5dK7T+ z=V1zm3@R3l2?Rl~Orc}|P>o5rbm{E_q}YcX>=ZjR2to%$o!=KHBLZ|8Y2XevmH-WW zQb+)9Zi|gAK<65GzWse^2~eL%V3ot!_K9r^5*4g!z@4_3rJ@X%NS+(815Ns=^V5?Bq?dkzw4EFji^!-2@2 z1m!?}VFcS@W`JT8FcBtzxDQ054m#r$AR~+eaW5mhd;o}ZbgI+P!3G)e?E5*60uKx`VOe;y6gnN z0473NRZvQS8WKL*3dp;RNnP`=QQ#sWX(TfukeA)wwg^Td!4Y=#Aso=aU-S_IZb-~2 z3rH344?i7n0asq14d9cM$83$^7DQ!q;8X#t|4qSf<0$k4Z*G7qP{3>B@P7w4qc<#FwZyJue#eQ;Kv800000NkvXXu0mjf{cG`} diff --git a/graphics/pokemon/grovyle/icon.png b/graphics/pokemon/grovyle/icon.png index d48096e170dab34cbda414cb9328cb381dd2c713..e65557f333c6002ab3d1a77f2c70028af62818a6 100644 GIT binary patch delta 304 zcmV-00nh%c1BL^TUw;7+NklA(uDIfk8AlC&enRpY^OqLz<)82zA;fcpm=RN#F}cKOTOd28ue*G+9s~}@duJ(IAq1&I%awNtVL_%t1<1(Z5r6%cmR1HfYjj0R13M=u zvqu&M?2nj?#Yo7}cdOG0xa5vhss=@+iv`#G9@05*ZS;R#KLX}- zcVg=C*nnZ`B^xl%Nh&ZMK^2&upbAVQNP%f%xd3B0oq>@#QUyjw2a5-pwO`bf^0SOF zk`>o&$c7=&WGN#Txw8Tze0*+vVDqhfyn*>;KE44SP0lS=5{Lu<0000lp?R zU(!c<#{8uNe0nE5MhNj3A!fwXWDG7b+C7k+^OBa#mIm%30e?WtRt4SD$>&#@9KW7d zd1h?{4*RQZyK)FYe5hTymk=go+Ejpy9B$EntF_XxnWHOe4eXepj2>AOuwGK6FJ5dh z)0Rd9&fO^1v^(H@a~E2(s=@+iyZew02&vQl+fvSCOx*vLix nS%DEg?h7AiPkg+9`7j?p9!<_IOq@QX00000NkvXXu0mjfwlt4T diff --git a/graphics/pokemon/growlithe/hisuian/icon.png b/graphics/pokemon/growlithe/hisuian/icon.png index 91be10db5d3d9099a5afda21652aabaadc7f4e24..b2b03733f0ff1b2db1108ff6de6f59d3c61345c5 100644 GIT binary patch delta 218 zcmV<0044w10>=W7b$`7{L_t(IjqOq~4udcd;|I}Y=!)(h5I)ha-B>GiVFXo`%E(_c zz;+Oj7)i4bl58DY^|n~H})xhO4vo=?nw6om0eo_do#EvH=eeNE%)y z_t|Exu;=l}Dp+#e2iez(yR`{^x72MDbtaZ)QlUs1{H^;BCLK(?kBXChY@h7o4FSJ_ UV2&NV`Tzg`07*qoM6N<$g4X9^oB#j- delta 238 zcmV!#9nbe2a8?Ga!Dn3}FU6HI&>o1bxZ&zn z`*afnH?6{K-+=(S;R!q-P}IMs%x9a8#*T+0t7OGh7i3>cZr3{a-BLAmbThd;lM_lS oet707*qoM6N<$g795xbpQYW diff --git a/graphics/pokemon/growlithe/icon.png b/graphics/pokemon/growlithe/icon.png index 16c19d5873bd2b5eff1b58524cc298b0344e264e..d9ee550f8cc1dae55d21546fd67dc7ec2799c779 100644 GIT binary patch delta 269 zcmV+o0rLKY1LOjbV1MsPL_t(Ijn$H|Zp0uAK=TE)ZtT$ijTAMVQKa5CWJFdkAJHX? zVdzvvB{^kDgc9zgf`M$E+OqM$#x}1g{`P|Du(t{f(FDxkxm0Adjfpn;P$!KT5&@~1o-DQu27DtY@KuDE9e<_jS0S7SAf5OkE%-ul zKkUe?3;;!gTffF?cf_tVW9$cp#*}5!-%=U9>7<#trk8ApFuxyXnosb5uU{0#ahMkd zV`49i2uFiGu0GvO{0~!o&-$W_^ z008GnL_t(I%iWT_3c@fD$MXaRM+e`xP}DgT%rkThhxQ>{TrL@$L`)-HEFp~!ZS%1? zDc+WU?*8||kC5LEYO=S@1Y7$w0jeeu763^Jy@BAd@U(C=v46>9+c=4a&Klhm61B3y z$l*mU6~JUfQFgetQ1j5`fS$pgO*I1udF~nWqd9)8_j!3&xep65WC%y=bHyJPxj7MOE$$(jz6c};kBn5^~ zohD$yEF&9k2vvD(CR(cbD)xc&cSKYPOboU)1;3tM+yM?RK6c8fR;qeR`4viK@(IAaE_Q+ zqwHq^F@doKAOmBK1jJ3;1j!zw7s6dcws((C#P|eRwV_itfgjHKgbf#0g5EuK8d*Rp z(8do1mLX7y?%dPEHilp-<{G#P%qf+>VS}fer{WffHx>dP6kyeAOPom=L}&514{h=J z#<@3E2UK9gmOV^#_w!vND)JH!lDH002ovPDHLkV1fgeu(1FD delta 391 zcmV;20eJrT1MdTnB#}W-e*gz`Nliru=LQD@8Y9IHd2;{&0a8gsK~zY`?bJU{!ax`X za9m(U3^+It!k~!@youKtPi1hF&4Dsp8#YqH?Z)U!!pPu#few5C2Z@PcaJo;xr}3^W zExi_YlRitEyuUv8XK1NZq{u%`rK)mdK4|~|x%fFWuX>)d{bb2i8k zCtd=&gXd-j)RH-L+O(G`fc>=To&KEf8la1U@Lh>X*2Xauc4#;T~Ax)E&9EEUU z185V1CunKXt$*>B@>H#h5j+}e%Sw%a?HevlQaBHg>$tlFTMlDvMi*;uMOa7Z7`4Y^!WNg3>pLi6$0FVROQnD{^~4MnkOT8?W{Fv-g$6{xhyk37u}U>B)$m8 kvK~6>N8e6d$6s{$0O7||l3*ukV*mgE07*qoM6N<$g7%6}(EtDd delta 221 zcmV<303!dl0^S0UU@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0~;2Kri>8) z006;BL_t(I%aLa-f80H}%U$w5Q8d?33?1$7q9&vVBkFJf;3$L(2SA$;JV8s7ZvDnv z%2Ty2M(}8?Eh{wwwr{vJN#Q&|uH)_!d^w!48GWq1736hv%*}!RyAUV65QMOa9$!C* zL4!b`LVz2Ps$BZ?S7)ixJQ=}jXRS%|&VxhDWtm|R{grFJBM8s39y;nr-%eb|Uv&8Z X;m1>wtnmWC00000NkvXXu0mjf35Q#D diff --git a/graphics/pokemon/grumpig/anim_front.png b/graphics/pokemon/grumpig/anim_front.png index 7be50f8ac91dc823b1bda893e9e6d6c96633cbfa..4bc3a84cfcb7bc9d232b2f74daf61374307b38b5 100644 GIT binary patch delta 1157 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 A9RL6T delta 659 zcmV;E0&M+)2KWV#B#}W-e*gz`Nliru=LQD@90^G87b5@w0$WK$K~zY`t<}$J+b|da z@DvP%>=MOpGU%!9`T#=7W$a)tnoE;ivfu{@7{kU68!7BCavgN%5oVvZG0c){0y&7j zL63zULf&8xu}^a3NU@S$szVCaPv0MXf>tVzxzIzPZa)OhYlp#+f2#;&z*gNoEB0Me zw2mu3Blp}h0RPP<1SCTyU=jCOUhW0PX3!>{2tb-GQyW%?2v8s35j8dn08UyLq&f2T zf#G6D8XYs_+B<9QIje;s`=H^HlP;Fm^!_W~?(?FU07{zUh?pc-qdw>S*ml|iO~ zh?QR5pPdXP@b-(EftDVAHTkaY!-v_A9gu7RKVF@rn#dFofARd&$wZsSbPMwQKM{Ib z(=td9`G|{l7~+~1Ko%Jx1mY+R!$D08Fp(Jmw6O&stf>Kt5_|wCbU47K06DP30YWEz z3F1V#CIRx*H}q%(+BJ(JFvIpXg1M+zXOgb)n8kY!^!u@tEDcA5Kg|oUb7uR zeI>(q&0sA9e_haR0Dhb@w$RInKsb2-UVuaO5Ky&6Y2LyuyS9eN>9IgNT|C+2)za(o z`71d@g>ukOR*MS%;B0}oNLx-}%xHx|S59xyPy?LEw=!m)b-9G3J?5Li!h;@}&p|^O tl^ymas9dto?3x4AP-fZgKhl5v|9U=ON?k&PDHLkV1f)9EL#8o diff --git a/graphics/pokemon/grumpig/icon.png b/graphics/pokemon/grumpig/icon.png index c637668d64d058d3c647df3eaed6949c27eb7a67..013cec0b264264b3e03299f906a43fed0dee801c 100644 GIT binary patch delta 250 zcmVs!lWI4{yQ|iZyqBGbbBHj%^68gLxQ46s26{eyCj4^d0hi2y5 z$PrVT-wFX}Ivu;r5pM(5r-!V-Y5!{S)^(R{UF-Jz1amR0*K=6ZyH^X4qN+l?@7pk# zaAS1SP67B4Y1||rp6d{`T#bei-FpH{A7uh@YJXE-r9&XBL)b3pz$ECv!mtjWg;A^n z3!_*EAq-f%{=N`q^<(Kt2&3i_=xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0~{a2U!{W;I~_uIK?hHQ4qh0qgY&`!9lS6>2PO=+08egS4yui71kYCZq}002ovPDHLkV1j1;a3cT! diff --git a/graphics/pokemon/gulpin/anim_front.png b/graphics/pokemon/gulpin/anim_front.png index c15f30296184fd5812d6eda6c60e4e12b336e5f4..a85959ee7b46f08f53769780841b76b980b0717b 100644 GIT binary patch delta 543 zcmV+)0^t3b1@i=uUw;AqNklU_H? zz69#USyt6%nlR*3o2e;lI;H+G0YGzqB7Vv()S+oQ;6Vh+XW%FUK>Y~!B+XFtNPWa5 z)R9ctK_~%0wsCYk0n!pcWw#?a6iz|`X$k?rBYI*l0E#Su|4Zi^2ta(dBk(%_kwwfl zum2;i0Qh6F_kVP78nbbaO?^p*_n!>dXe#msEsygQt`rL zPZ(Y3G?mIdfsNx3yoBN}p?5nOHv(V?Ah^*3LQ^aM@>%~Q0Kq%GpMfJl zG0>jj6c7~!y~GKCzY2P3AYBFw8%V(ApaEurf8#+Nr6r&uZI15Qk+1n`{5%1){!yVZkETR&U@J2n4ijdnp8VB6N&8h zv7aEi`V{hVot33TRI{sI+Fta#&Zn7K$>!T6S@J*g{@qMHTYt~ghTr+WWss|*d}pc8~;$3+f8{Bsh1z~x-ntGpig5$ zQ!enF<}Lu}_UTOg;9H18+xEbT1*%uz$O9UO5$=VXA@CW8uuF&|nyQCj%}%hb!{Zq^ zu|U=Dhz^)HA%8R~i~*WP48)!R1X|Sol+HI`fb{1MwckM_T7Z1>`#I8DYkC;%6CRv` zeA;8vT%(~qaIXnqhNR8IJ$2aCdj$mCPG6N==ky>bqYN0ye(=;2MwLp+z%QmFAXxT< zl(F)XC5zktrrSRyi`)N&+mji$gDfL;^O(bZ9oD}&bbr#ScLBnyxif3?kOb9yRB9_|0D^$-9fp9UEb%Rl0sN=H zw+46Y9X@8%fCH{a4IpRyn~v(hEs^A-y5S6-LeB(4y T62&R!00000NkvXXu0mjf5WpFg diff --git a/graphics/pokemon/gulpin/back.png b/graphics/pokemon/gulpin/back.png index a920aca4bce8d28a39d7e864367a7107b1381c2d..46a38442352c207cf6e3b10ce8025a9db8d69918 100644 GIT binary patch delta 394 zcmV;50d@ZB1M~xsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ZmCnK~zY` z?US);!!Qtr1%@nL;x};-jwqc%)i<#ALcu05w7+WVny-KUp@rI7kdjtF)rmB~1)K!>j+ z`WXms$+a3v*5QtTBK<#q#k~)R20|u2g7-(w{5QgT#~nLC_%CE2vLr-s9tJuh&;8?7 zzSEfe!8-?Sb66%;1wb7jx;YFAyZ3qXOP3WReC>`-7V1p;uQD?A|ZVF3l{z!i+KJ0?Ka zFzF}-1&o<1gc)}%=RhH@$0bEQ0HmY3CwEU6GgIh>`v8tNqhPLzyxpK`iio@?DkwyI gMtq3Qf1%&!8x5-wXFJs}RR91007*qoM6N<$f_zz|d;kCd diff --git a/graphics/pokemon/gulpin/icon.png b/graphics/pokemon/gulpin/icon.png index 1ae6bbc37d43934e5c04ae8b49cdf7c1638bc6df..d68ae5b09a30d0939f9569c0aba75ff9a61500c3 100644 GIT binary patch delta 192 zcmV;x06+h|0+<4jV1J`YL_t(IjqQ>v62mYIL~{dON}&#ksB*KGhxAf5O#@>U1W_qe)5d%ei)ruJH>uYtt@z+Upbvgcmk265!ZvEGQ867Yj uEifsu1_m+lUXaQr#0>iGAbhyjf1)?a-(sWFtT|Hv0000O{105_H@bV=9 z005v#L_t(I%k7gb4#O}Eg>!>k%B2aZse7}Hm-JEz?E)GSFfS#m?MfS%G%)S4_vD{g z`r_OV$g}Zn(LtMwE|?e7a8U)mu362j*dC-*L3{>~_LlJo z!tM!*97=>Yu@)d;l22uTq_1aY_t$H2G5!r7XMoz(eFvD)07FRwlQT(R05V0fcI(8% fqW%io>p#&0%HLw65!^bW00000NkvXXu0mjfNuyvO diff --git a/graphics/pokemon/gumshoos/back.png b/graphics/pokemon/gumshoos/back.png index 049fd50a6eec836101d8884b7ce8381363e1627e..347b5498eee94c83ed27b59ac402608e92bb714d 100644 GIT binary patch delta 477 zcmV<30V4jn1jYoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iQ`kK~zY` z?UPMw!Y~}hBjV0Rp?5RpS&5e1jnHF7cQX*vPOAh5Q6suLx`3uWrD1?P z1&9W4cM@z2200000NkvXXu0mjflW)}Q delta 466 zcmV;@0WJQ<1i1u|B#}W-e*gz`Nliru=LQD@9tWLaSf&5~0h~!hK~zY`?UT)l!Y~wt zD>Ab-3f-Gwx>lkkdn0t&L0YmB+G1WL?T{CBJI^pp(l%)tEwhz5f}8Vs?oX~k@Gq|x z0D#pKAFLsSTkzP2T42V9F!a|Sd>DEASi^E4w%&lK{q$P-0+w5rOITV!lzJ+Z zZG{T8Dt*9OwNPQvszums3P8vr?Gu6~z?&>weh96a#9jbaqSuKzO#nH7uAr4WK+dH8 z05ndCMJWBk0O;uSr~*unf}}Hm@B$m-H|{aHLuA3zA$ZmVGiykFfSK~!U9?_9W&Fug zji-!n=^PL|2aaAKe>8jAWdYia_f#+zn<;kza^4~@Sh2VEgvfYN%Y4HsZUJ>N4!}7Y z0MveSdHKi+sJ|o-N&u+@c@SqSfLwS8M67;GNLR)xav&G!?ppv8l4#&!S4b4VWp{mm zeGf|^Xb0flADyfMxT=elj}tN4Bb9*YyO+Reye0#5n>suKNVQ1=pa z3UF%qjSy$&TKEsukE8>pfVfhT4Sy-m|L%IH&7B&50=&F_0WfM#y?tf74FCWD07*qo IM6N<$g6W#flK=n! diff --git a/graphics/pokemon/gumshoos/front.png b/graphics/pokemon/gumshoos/front.png index d8e11bc251884ab342a2e6ad1da5d07d28ec8cda..acfc23ef016d6a46f00bb051123f27c98ca3dbdc 100644 GIT binary patch delta 541 zcmV+&0^I`@Z4sibGWOEmjRopS-&eKqO>mpvKO#kd<} z5C>AJRY(B2?gZa9ngMBl>O}%~IovQHRSE&_bR38>O|S3)V8a24`19o%0CJc{!P(Q_ z{LgQI3>YAaj0ivj3(j`Cot-XtAih67-j`PAdcpu{%-Yy|0h%fHmJA2 zfzluFWM7h-B}C(&h#|t0{ffe{p$~+3I#g)}~m3V#J=FEo!})xgv~~utcrR#*M-3 zt0AjbR9awDlvYY2e?LcDOqZbp46`qCrXd^Dw(%x*K*<2Y1I9~9mh~k;0OqXo0|1x| z0M!rxe2McGsG`I#511klD(3)d0q4DLW9bJa7ru#22eca-jVAj*o1#z{W*v{;fyORE zjgUfh2`2LN%^Wy)7gT1!F`x|O;aNI29|jUDnd#qc2U7zVe=bhulW4Ver){D{ye$1q zsrHQRP74@_h$=#gwfj74I^gqKg!RPQz>Idlp5{#;8X{`qi+9F#mt*aK+BbL*7v#Kz zsQneuM0gNyD3}d>BE&;q-8?sTS1IZkym<~yBQdUZ>j;%zkOOw_*$ejnn*@HvKk6&N X8@Z_T@#E|O3jhEBNkvXXu0mjfy_o5> diff --git a/graphics/pokemon/gumshoos/icon.png b/graphics/pokemon/gumshoos/icon.png index 3e9d53af5f81b0aba63edb0672121bbcf56ebe0f..ac2bd83928db888c0291be66004f797888fcd12a 100644 GIT binary patch delta 233 zcmVJ{1V1LX>L_t(IjpdTD5`r)chWiG67Y2Q!axU#gHrTu}xdB;paPz@{ zO(rOdv3g2Vc2Dojmhb-ilcv8A-z=h4k2vsNBI1dI*@H;p8brl_EK98Nf`MIWCJw}? z&Re)LFkMo}4Ii5%8^wWewpB$0`W}EUB992bC4P74xXFwS=wd<85I~(7B70a&u~MqH z`?o@BYn9Srl_yBsU?E#)yXY|_Y0RP{3USjbAXj()k^09ta8QHcU-QU^CTADXD<5$j jd_IN<_O{10Fal2X&hO z006~FL_t(I%jJ?W4#F@DMRSAPg#m8liY3|Vt=&*Mv96m5X6vvs9pty>$jBOI#N*?0$S&I*V<@5{K zeYgV9rlMhTQW_eV+%>n&C4?%~Dc*`ET6X$uvwPC@wb+t&K`JsDKpuj$HIEzI}Asb=?k;w*UkBX~*fhZMjJlcs0L6h|_RuQi1N-en=ofxA{hr z4?So=NTQHK(+99c8Ur-K6Y#<5AA%fI^jpg~!bAs4_G5T4S2LpjHU>s9p>`3wf z31b7MNzIYu1b>0&BoiRa}MoaFNL6< z5%@M=@SDl>f_?qxad61_5IWpvJP>p01-?ttJvDmLL-pha2 zYZHTjM}H7o0qPK8aKX)2f32~o@G&naVbYET#w(~WTqJ^w2T-8d#TDnv-ukHz!ni|D zP%4@97Y^sg7Q0%-`D};S2Zi2s7I!+36eyL9QM80=VHbXSdxbt@SrBKe`nIe-lYQN8-IFk#QDA|4?f`9D;uN=N+%DR@EL_^q~-JFnYR^Mz(Nu;X^RCn|@&-f+83Vk=qz9RT3CO-*G% z_iCpk?7Ani)gL>wQ+f#Hf*_@XP~oxcIq7b6+VTP^pi#2^UF& zR@y-2(ASC@1kdZA*htnQ@SfK{sT!j*X@7$>Z&c_=vj54ZLCh!x1*(Ek_5@qNu*Egq zyW-_7U{v8vuumAB4Pb}@`v}tC0!FpM=+y z-T(%=nsYNRCWw?41GZ$8^90*k|PY{JAy!-0V5`m9HJnnEeJ#a2D=o1u}dH&ttAKq0K@wF_kaol zfz_Ga&3Y>)kaw3~)=yLb#slr;0K-cNgquJhF<|Tx2uTUV00J?45(23aI~FW~Knx}! z5Tw~LfmoCE6O$4Ms(urJELZ=RKtG~GAP`ziAn8t15y(q`fuolIWB$kY1Q-f__y)kZ kU@1VzM}_DnzB_*S4+jj1eTzu>&Hw-a07*qoM6N<$f@7{i)&Kwi delta 1248 zcmV<61RwjA3a<)~Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lm4z0K_Oc z000D%NkljCB$-{d4J&O;3#r6l-{gMLEZRLj9NZZiB zY|`YK?6Oo_op36e)p67BHFuHH=OXPF;4|cnZ5A75yiw95gMWk&@2~g%^X!@TQxw@k zO7T(~#R|33c&!x)^mgE$7AQ~~J6+e77dWH zAD{JHw~LX?K;^9K^xTfvr0RRsb{Au(;Z}u$if6Y23@dP(Zv^qcg8~>Q3W3K`8&}V| zI8_`9Nx7U{WT1o64w!_DMFuR2;6>sU?hXY5-9eO2tqBN5vpbWV=i_Cn zcj$=1((wtsj`js*i&iZfFM|tK`@68LiJuCnZqdcQAb+svq{V}S5%)1?(M?VewD{k2 zNT=|j6Uy%E%dEgTwz*)Mmgv*TZ5U+)CEv5wbZRGp(LjaonHgqZ(x3(cBaTl$jW59M zEZb^5IIgX4X|jp_r!j+HxlO3Yts^!Ei?GI@ACK6I3u+lb+hz-PJDFb6uYWuaj~E+4 zg=NMAwtv^x3rcSuzuP2b283VE@RX*XuZ*tq}Vl zP`gIsN_9a3MKQu?1>K^Qt>5wZ!Aq~AxAzP7fq&BZ4MEYec6e&a^{6)IJ%)v9!m9~h z)MSOS+xI>dNN?!55yuDe8@vq1URoek5HcB@%fjDA>Wt9o#e+=n>jQtP7mS@t1-#c6 zDdf(sbmWzJz8`unL{K|%w)YR56SjnNSX~@8X#2gv{Z8p{?Wnp zw12y1M*UPL%aB~}<;#&)JonK{U=U|}A&H`&7N>#9{JKb?^2uDp7Znc&jRL+*ArK4vlnw%k$CBry zv(f2@6JS4`jp9uJf28<y}e>?uMt%^$c-gf+B%?Qth z1=6@tCgE7*a9bc|l!62rXO!?T!4@!VeoPOJcxeY18r%ejgwcHl44&W+K?Xa((8`qD z?VsTC4lrzG#1Uk?Pau^oU?30xVTAhx(s>39^?J_Cyr2XG@(dVL^(XdmnHO}jfPZmr z(He?wvVsyvlxM(DI6u_iXZrL_*UAD$nY#_MjSSkHK%N1E6G)CQ)V9M3WD6KEf#eWH zbvm3tIAG8#4jB6cqUbG7AOINF*WZVP69|mX>};;IVgh-0^=0!!IAA=Gehx6agg}@H z1QG+rK7rtrKnx%dvo9c!Dz;<63RwumpaKF>bvq^yYqEKwLIP2>zeOOc^}i*M=m-de z6cb1~(_{ql5@4X{CBT^f@_z!1=|2XHOPT_NCIbvo+{^ziKl}v;42gYW9S^hs0000< KMNUMnLSTY)X+^34 diff --git a/graphics/pokemon/guzzlord/back.png b/graphics/pokemon/guzzlord/back.png index 3c536f7a39a3dde09a4048d1a53639031c980765..18f9763e2167b9d0df90cbf406fca59308d5fea6 100644 GIT binary patch delta 693 zcmV;m0!sbD2F(VLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80;Z9PHGi~I z+cMClTY4}oTlewq|BsZaj}-O#FF@O${aG|~K(!&K%J;)8|JnV>sk;I^&Pvqgo>QN; zA=kfqdS7Wzz=44U5_e72ynPR+*1G&^De;fh)1un0tIguYGrnwU?bu!|TMAjpZY6#V z;z1aT`>V&M)n9knqsc&R!do&!+1>VSGwAZJ3APnao=2;3SYT4`-VYvh`Tgw`1l1Xn4Ha)cX4WPf$G-I}E6 zz5o)JdTIyQu_PUAb?X`)A{sMbJ6xuzXMk7+E}iTLEX_bIX@s!JK`QDy9-OqAkI0xu z-1cNsbOZHJnb&(sZPp=pPIazG<3KJ_tC@&IY4oQ_v4LgKBUju(f=x8uM$!mCyzs$MxAI*O3c&LkC(F(ykbm8WDgxj~Dw4WU zW549A*a@=ODLE(hdAZ;RQlf*M6FZroO`$Lebz@TWoZlZ~&0ERInNH>KdK69~RdQD) zkQn&6irDEgsjCv;(E~&9R^0?RLI&vA;;M&LK6(Zq|CouF%VQD%WQ2m-0A3@h`XB!! bs_HitOarOndS2-O015yANkvXXu0mjfUx!A; delta 684 zcmV;d0#p6X2EqoAB#}W-6#xfxNliru=LQD@APGAhZrlI>0;Q3YHGhl~I}*^PTT2+0 zt^0WQ|EHs>>K|J5_76bYU;J4$b3nBrhsyWeEdJU3$f278+|N?f=9WXB_95rLd3f7t z&%lX+6#_R+)x3NU=hC|TYANxL&BLnNZ>!zv$uqugYVFuwEn5m%$zdaY4dPB1i~F1V zrqy2$*`vuoZNf`3Lw`I7{$J}|t<5t4p$$ri zdg_3BWFTikm5_R}WL>`#X7r-fCWQhxt%u@8jATj2)K4;M4P(d&8>7~~T4y3srzi#$ zodVER!l4XmKw%wYf=(Ye7mwIXk z*s&xXY<1fj9wG`eU^`rfK2W-tiEop?X$w4aeJ8qn`nnz^JEpB_VDY}7r zsLcDlq&Dji+^0Hcq;Vh@sntwGqBQ#RP>7TWx2BFIa@>$&G5%trqD7-n;59*6;Q|mI zIb2b2j#GFa?|(IVi6Rycl^wjU=eP03HFAgebFog%YF|>k^nx`}(e}3dU3FVhY#bZ# zS7DWbHm49z>>DC3E5KH_$I$Z3uFk-9g)SbOmVUzQi3(t^0ixqKL&t^zU$TCP6OIef z4jQSW#g#K2Ai*XYmyt9A5KlZfYAN0Yp#VH?BU_wFAb)!dRRq9CDw0~raa?m$90XZB zDLE&OdAr~PDN(`BiG$2%Qz&#oEp&<=^ZR40sQ`1G%Hj1WoJ7dJx8|aiL<66zh$lTR zbsIctpb6fpartrZWHN9r@u7xQK6(Zq|1}b?x5p#^$Or|?0A3@h`oI3t`VAFK1F5Ml S)Ib0L00{s|MNUMnLSTX^t2oa9 diff --git a/graphics/pokemon/guzzlord/front.png b/graphics/pokemon/guzzlord/front.png index 3b908ff8ffd571a3df285f7b99c1b594901fa032..f9698a43b7a16345d67383d9e9a7a4f3a36bfad1 100644 GIT binary patch delta 1156 zcmV-~1bh463FrxsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1VKqeK~zY` z%~UaO<2DqQ4FR{tQS9Khn2{m`H!1Wft4^k36rIe|3)`)UVrMo>9Xn^KGxpG;k#SQu z2bqFw&U9Ph{HQ)swv!Cktw5g*g5vw$_ueDld(QtwTHn+VyEdr5K4@&2Wn<8UJ$o9D zlGTZ40d#Bi+1<4O_k+lPR|KfSBQLV_#MzHlmRYN|31p+movnj%&o~l+4_o|K`4vS4^?>@!{N;zhzLL=FQ3ho2l0C`y@vNcPOnR#qY`BDX72?e?G&St z#t1-v8jp&Y3-zXde8I8RjcFW9QY5DZ@74ezL z%eMfA07gi968EFO-l2=-J?aJqKr-bcLrPMg5Jjke7iHg*#k<9WFvhr$fg%VXK63ax z#WG_(p7Mu>oS+Z0_$z>Qmtv)MB6TGDEJu@pSxA~Dj*Ci@h%}{4`;nr@40V3)3+!WT zJy)851|SPt?bM?Y8yMrv5NiX#l=2Mr$8}dA&gw8zg+Z7JhX5$W0WH>@QyZJR92h`Q z7sNh)E%sM{USOjF!OYZfT>EyCYV5v(8c?r(2!Kr6<}+KNjuk}z*C^m|j#9=2z5$khRTDN$-o=~ih*NAgU8xSr`8-A@Oo9;e| zJ?}DAOc_Tilt_y9AI>%dgiD;IDly(9W0*c)L!oCEoAIDSE~Oc!$bw;G@Y(3Rn5Z>? zr5ZAkn(cb*WE{BgpJ!0Y-1OC4%z_{!()qSDOPtlOXX$Hk854^A3&43fsQ*iGoPPjP W@u-n43&hU=0000FZ3}SUi+o9dCfxEOOHZ7=Xz7`?YM($hn%vpgFL#ZQAoMJ$bs6o|0N!u6yGK^q zqir52>5`f-A|CdiMMkvwmf!&d8G471g0hTOe6`(?M$>Wp_?mXjG-RZ8Z8~_FmYHgZu1lZopb=uHIU&YJ-5eXnrIBm zJ=r8?bVr;a0T;6L>fjxwwZemErvN2DhcL3+3LNel-!zat_5k-U61SMJB}#N-;@{W!TUfsRU$f61HO7l^b|j7AzG0R3@1 zDq=3woAL$6MmMH$EDB05-~+B=kgCkr=4SWsgsw(urUD>@X9Ab=f)>b8&=`&88x4TJ zNVQ;}Mn&w!`*hQbFL6yHq)5C~<}|VnZF}wR*)R&a5qR4t2;e#iq7~pMGk}9lz7rhm z1l`X=y3Io^f8oQDqOqkS{_E#yMetMI-&O=)CDf`EKP{8bIgSphYKq@!b$fGt`y1Xg zCz^rLz^f;X)19iSX0vKKo8C+&S7q0z|j6A)v~vS`*j@ZPv>aqo39cU)BTwf6o9Vh&e$u`|D}(^%Pp;0jVpazMP=7eMxaM`P6Z2Wd3&kAdE9kWS|HFh>sjTPch9{kEi_M zAt$I|CVvUAaw%qNCsK#9&vJAbn2Drm;<#uu2azU~X+Ki*h@s8TeSvk1rRPc$&;Vp% zvz>Z0Vguux8Deb!c%(doy>VR?h_g04slp&ke}_W=lwzM2tIDaJ&0P)*AgB{!j~07N zKrgUSfncUKEX~VD8<+{3$W6!%t6;nn? zbA=K~(f|GFx`A+sy;LPeO)`eZXE^BT`MN#mkV|QrDY9VL7<@K5D=yUvz)}sFNX>H9 zb}|lJ_|H8kWp4VaFJ?gy68VjP!e)uR`gJdTJzU0wV#zoEPXERHpN+o(Qt_yfo|zLo P00000NkvXXu0mjfg5V#< diff --git a/graphics/pokemon/guzzlord/icon.png b/graphics/pokemon/guzzlord/icon.png index 141a6749e8556445f4579c2166d335b4451dba7b..25e862d788a8c46aa54c90dc613db7ab1542366c 100644 GIT binary patch delta 398 zcmV;90df9}1mgpcUw;8^Nklv4ex1pD}9FP zkXvzLXs^~}r(Kg=Hp&En`1dbawm#>c3O{Xx{IN0gG&x-=iph7=GBbY`N?WaIU z&EsK~Yz3|&X9%nBr@CtbiR^?>Sj{F}&k@T)Vi{dAp+rz3Q-2uja{WF5gh&|8;S2lj z+;!n3NGMj-Q{G4Hj;O&^K`;(bsjR?ul`|HIT zOM=HhysEwc>wgJdUU@yBayw*^ww>vJ#;?HGXg9$4J1}kwjKAlufN4dRz|ltq7ytkO delta 439 zcmV;o0Z9Ji1B?WaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lm8Fgv<}h z0004RNklv4fknxD}9FPkXvzLXs^~}r+?C1 zHVP92;?JLC%lbL@Qut{lS3ox`<10yS7 zLX^5%025+E=mAV6=mCrxFrPC)Gce~0jEt&s1tvFOvM|*huY6DirVuF4g3|_!P5TCn hYrw>h7l3({j~`^sFLiO3n{WUC002ovPDHLkV1h8>xf}oh diff --git a/graphics/pokemon/gyarados/back.png b/graphics/pokemon/gyarados/back.png index bb4cc7e3e48c11994c9a4b4c6fcf2e39a90177b2..df7a63b612f786792fa8e30f7d388f2de74739c2 100644 GIT binary patch delta 830 zcmV-E1Ht^S2fPQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tl0~JX`K~zY` z)s(+$+dve@Pf4|P&{?Od;0#t!X`xGu2qvSRgth8fB9EP3YmI?LiGLId*Am% zX8Ihn7tZ^^OThJO0Z|WL30RZse*g}i1u(~(XVO@JfM|i~6GT{FGtv04&QA6L@ggv( zgRljn-@Ed`Kui{6s2%;EJ-yilJ_S91F-#1=+`Sy44gk*@PP09=_<8foOTfPhfImsAzp zN4b)6Mmg+x3$PvnX@*L{F^H7%>IR9!HNa!w<|+~RM=r6_Eb4$H28xY>OfU-)XUlUo zI&Dp+1@C|v_bAlm*{MArHoC3U8o&@#hrCSF4#=V;e}KRMd0z5NyOFuu0Ctq1$-vl` zRY|3ytdyHFi)>DZTm#yEo~y(+&GI70$_g3{=X^|nJED6k@klSeFQ=Fc0UHD0EI$a& zBXd=|{I-;+b4=l4fFy(<^thX?0VOX`r!AavBn1TECH!;)C^MDTztF;v$`a56zeE=# z8Iz<_e*kMpo&*SZCyNbWuF^#v)2N4(7{@uTWX?4(Gge@tm()&lQ4q#7%aNYxj9z_( z#loevFjeC^QJZ|-WlDl?U@U39b;crukJMj(L^=T_tzdO^!YrK-UFtO`=8>sT=^a%S z0;&Tr#09#?;cE*pS@@5v1$tv`ukf*c-6%K?f9pC}Js6K@BBp1ayK1EMpJH)L`|5|o{)@xdU%AexU`e!dkpKVy07*qo IM6N<$f)+u6H2?qr delta 819 zcmV-31I+xq2d@W^B#}W-JOBrDNliru=LQD@AusR>+F$?x0}@F@K~zY`)s(+$+dve@ zPf4|P&{=X-a0V-=w9q9&1d&nZ6+A|`>XEt|fB%X}3YmI?jPLuod*Am%VvN=?dttpF zz64yq7Vw(kD*|8ERcIyOQ ze~3WJ>^#pnpCkr2+yp!V?7Wsrsa(wTzBuoIum!j>t1?pJbbtq;2VZhkav$Yd$|=RL zXC1(L2;>5llH(;(%BveB4%Yxrft#a5;E!BjrXpSeSqgMF3NpheNSrOsS#sK$%uBuk zro2yAU7nrVv#8Z=rPcsmL3zl_JYNAKf6f933{Vsm7ut<1+!nCo3{3{czN{-s6=kK| zoLOXZ5^)V^`$eHL-xRAKJC-P^HJtMi0d7L)RMscG{JxlAFa&J80DJkt<2*J;waae{ zi8{v+F6vnbLD=W6SOZF4piWab;YfNAKtJQB8$cyg-uyxf5vAop5Bv&UkYr4fe@+)z z5qa{!gLksr0A?zmHz~C`qQKbBQ7sFufvK?qV?CsHrjvp&rCuhwr&HSc3iG*3V_~w! zaiTK$y2=y;cVHxGymiDfgpX8TKOvofibk-$I$@R$h%WUQl(X1msPv4g8UeKe@QMp` zkImN>U_AF9SqJn++Ft2n{<=_be;hVVuzWBc(L_qmqHtBB^`B^wkJHZ&#v}ER9(C=; zJZb@eV9wbJFstBktN}qLN1?L|s4|W*M5!vO101n^fUg0{Gj;X=ZbUnM*AlsW1A3`-!5p6!9h)Iym5d>`Xjf7PIiinLuebiP@ zn#6!2v~A?G#s+L7y+8o4W`y0m(FnZWf+skjP2(elFK#n`ypsd?p1nNW2s{;WNh6ly zWk+P!wC_2+lX~8s!c!u$&-Kq({|E?o;6p$(d$)j?YJ`B8+Q0d~1w^_6!T%NzauXQ+ zU*^Q%|Bx&@F!*0C3A0T79~0*0|795yX1V(RmM~ZUw;^J}T>bArNSK@d&5fgdNB%B-55q($oL|002ovPDHLkV1gO4>M;NS delta 571 zcmV-B0>u5Z1cC*S7zqRe0001qplF?uEGo0~h=Nfi!u9Gzy3_q+bi-2o#8=u)V;Z8ED+p=2LF~t=I z7Q6m*A=`p|E-H>FHE5f|R@8C$Q3V=^u6ZqlLQc9IesrB0k*$_Ds3e1nZaT<{6)IEZ zOs%^ys_@lnZO$==8^62o@-jsH`8a>@2)i3#yU&m^Gxb#2J)!8Z;E9{1{Hf79>AM{@OYk1kt?*d9HknzO?KM2i_FV=gH%x@X_Yvsm-jv>NnaM#uhx%p0Jn1=0@oW1 z(r-LZBy37Y;fMZ*snn)aWIHFeKL*fR9g^*z?3+T8|6a^^?f?(KJjn~a<0t?C002ov JPDHLkV1fld0S^EG diff --git a/graphics/pokemon/gyarados/mega/back.png b/graphics/pokemon/gyarados/mega/back.png index b03533f26c4d9644cd5bb905e1984e25e4c2931c..ed0dcf279d0b0299d8d04b12754196e83a9eedb5 100644 GIT binary patch delta 685 zcmV;e0#f~l29ySnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&Ph|K~zY` zrPRS{<1i2gU~jIzL=f*~FImy35I;pg^d5muJz0b~Y#+dorzv|#K}Ulwo0r>}kz^~W zLJu|6O|8$rMjEBfH?AM+FTiT}E|?;a+eaWME<(94zzXC8kwBv!iJ)Q;lY(j)tu+y} zre4MZtf@xKpb54bK`*X<6R1YC)~XDu5upT?h?c;RK_%jfPh*uhS0#c1N>E0KbsA60 z;E!d58rIkNkgHtD^m&e0DPipbl-u1$OwbiTLJ~^^wy^*qizOnM96=k=+AQV>Y)*^i#L70J6J0V2wQ=9{VlrpxH9%-#-!Rs(v z{Az;BL`_oaLv9oUhX+QgObpH^pAIo311!=IVbOE+6Ne}m;@0u;mGNNpyc$K*7$Bfr zv6CoX)9m{22}JRK8p{XJ9o@SUkVvKC5F9=O6e`SMU|^sGII;jx6(D+h3wF4CKD6-? zr(m%eRxxn#hj)@63LSix9su*pK6Xh(dZF0Y)5YeLBP~g6ENi zoA8zZE|5Un5$GvmytwQ0c;RpB6vyE$EznIL8TfYwCphVsqW}kz^~Wx`nNwX={D{ zHJWkhYW4rux6LPD-G3EK5y;&~ASfl#Bs6;db`V1-&SG*gm#JwsJ6i|XPLTu7{ItKq(MyP&s zjW@Z#7$^a*EC5smh|b=EJszK5+IWd`us95>7`XVw zo#Y$6z&VI5e%t|`g_J+Hng{|N0qwycO>?VZiwWNW&IJG}4o}~>NEY}c z1X}^S^bQhuf3fKR%6p%SNN@284k07*qo IM6N<$f@a++qW}N^ diff --git a/graphics/pokemon/gyarados/mega/front.png b/graphics/pokemon/gyarados/mega/front.png index 9d59a86c01999a606c0da20110841c0dde99f561..8ea667654dbe4d138529c0b731e6d879e948b08b 100644 GIT binary patch delta 1239 zcmV;|1StEl3c3oABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1d~ZbK~zY` zU6iqFBS#d*M=J;hH(s4QX{C{Nt=K-0Z*K#-?tH_h)-L04DFQoIp5QwB;1(PR#?^w( zjg1SX%NcAUl5nWW!Kz8Fh>7JUl_7SOBAxz*yxAGaQns-7&HVJe@4b1mWd12N$>LL4 z3=7-Q;zF_Xe?WK(3tk(4CF})Yp0JD24g$2Y0L&3|RYaJB)@Cc^=Lkeb@)6mJg^-JY zgFrjhrL1~wSj_=vR$C5C<3c2;Ew(BM%xY6WTM8W)zCkguqkx$&1z;$&1QnP=1Hvm! zfwqfb)HD)wb!R09+EOhQ_^O~)<+EfYXuJq)i*|rOn@a5h+VSUq8lW=LKsk`YrqWby z1H>pKl`{>rc_3|IjuixkoX@!71cU_@%<;=Jtc#HDCYno^#ELuGay;f0A|nt-v*!%qsNx-L_6?C&74Gl zPXTaW4FHQMwuBRf>J43Lpse--pqI(|g(Ss(=!;O9R6tsv0x%dP$^L;{@y^0f>~vXv zXlw=quaf;FNj%RxJ@Z3{b`Mm?C`(=FC?J5#Bw0(&TYay8@B5W1bT4v1rd1m|jR{`i z&-Y)q`X{n~CaT=dO`?g^?QmAt0*Tsp_g)I@%@=eI;4%OO3|jrZ3yC8_&XYYoTcy-h z23_p5Jvi_8Lj;)ED)Z!rVe;l5aV0~8&U zIp|x}NQZoXJI!1?DcQn(_A3H0ItaRsN0egd6LmDcE51HSMhEl_~gDNd;$ZGps3jy29DyrS@$2H1^SXY6rJMATJ7x_NC}PBReu z(Z^?lpBTfBodS#m@n^vC@Me85U`QZxqz+QJT%?PJ?1i&b2*v(>sJVW185wMZWn;JDv$NG1_&PLt#xI9q<8u^H|c{%6>nZy$A6yx7^e5SM`U!bRF6%B7RN{54_=-%?ygPp<^Z2fn<3|$bXen-zcb$mRbM+002ovPDHLkV1k}X BNF4wG delta 1232 zcmV;>1TXu#3b6{1B#}W-e*gz`Nliru=LQD@BLHdbg}VR%1e8fcK~zY`U6sLW<3<$5 zWf@8!m&mJ3ulCrI-6RXnYE|&wHanVD@dV)oCIE95^`{F-9SQ3 zTNYosAYa-&G&J_5r$C)k554(s=o^jf*!98IoB8>B-@JJ<(zK;df2pahe#)z1VJ}=A zD3<;YaA#$}@lnE90hS4)815rL$}7MUK{k1aIY@OeVm?P8%q1UbyAkJN6|fNSBej%G z$A`@fu$n8tJT8Qs7<{*kK)4L}f~&aj4T|x72`qd`07I@M2*(@>;7(}{_%?=NGnXKn z`x_bH3prF^o19dnf6r1bL84V)kNX}1J`u_V_|fMIAR<(N=?QKSk+0kUh)_sKXA1C{ zCk&ugZW9TtS|J1EkXbSq69lBqy!H`Y0AbTGg~=G$7;_`vpi-wi2e{ETp~f%=#y;c# ziA4tB;*B;ly$A_LIkjn1D=q=SspYrXbLN3SVvhnvORZ+Hf2dJxh5}d!5QYE)5cmrq z7u7m*-6x$xDT4qvGXRmA2R4WW5N{{|Gbn)V0T77LW6QO|eRv~#P9VVM0NAevfQu-$ zxD^KS30*3{l=B{t>v-!*XvKcu@<5uDKvJ6nFc`$~(XrTYE`osXcWAb0bOCs;;-ff@ z9mhGpa082Ue~x9v2u*BgOTdHcIIhQ+t-jND-EsvwR~aCZih-5J1h4S#N3UD`Gts}` z6=q~6(L`dm8LcUSSkBvrFFDrc3$g?-;eiAOt$yEz*x~_W@uBLiQesPkHdfjgT=x3` z0+jEXEdF8Gd;sVWfO=ak%pO3;pii-Ko;pRk1ZbDie-iVmIM3^EfS?1DfjU)Eu5#nA`qbiuVXnHRY0RV1j?Y==R8Q$I3lqbUy*OCq1GsWf&i5Q*l#X27m?ps1GxTrxHkOUM`SHNShFEXT94%fOdz(V?+ti zG^MHBf3zc-l}Yb5l5T4M##m$pSirJQ5lInH^BUd$fWYG^Frc;wP!&_8DSmC_XILOG z{AJq4y#P@`K;M>0QaZm5qu-O^unw}{MJ2l$FiDZp`Q25p|44^5LmmjRoqm|#!ubhK zBtdA+d-0SJpyTl*C)_ZUCw}d3e6B>Sec*Ro+yY?XBz zf3TE0Cwa9pkC}{aUC(C!x@C<5G)_i$E5KWsNB>#@8gA&Fev<>en+M>_+3X*VK<_X5 zetnYXP>Xn*ncn(t_WB$}?^6s$E5Q0V!PvU~`QsT5Wm$6*Y7v^2j&4r0pX`_3o+Pj^Gy+|7mev{o_u|Df0yKPs&U7k_0Ou~ ubY3BCJ-xr5c9&k`xD(i>%P;mc5B~#|Q{N~vCqkwG0000UE+@=#B_V(LgY~aB-4jzo-;K4W! z4VZ?*8O#xSV5H;FfN>mJU@Qj@rm!3gm~yMZI1U<2#WM=VR%kdl9~zA1V0!cQx}+6JJk{_&BjPik?KW4%@ov5xdG>Z zV??MZEUA-{%4NvIU(H9S4v0t@^4Ih8i~S?y!bhBa(^S3Zfq(2*9RotcLBItK0~`dB z^SEoV;X%&tyEWyJ%Y;MF1rpZ@PgG}d3IL*qP*AD+Qb9c#OOTpbiqV3(eRUq-#VXQ@d-kn?Q`5<7Qz8e_l?a zn)4z8TT#Ei0e{4N`k24iLBIJ-ub3}C*S4pRcX`9-1>~vund)P|&C89tlO?9audRgpP54eL7UCD{*{_ z!|Oyr{`mPIh?>8;S7v)99l4r zLl2DQ(19r|2LqW1%?s!0n2|%|$ z3+iYa1>pOS37}Sx1_+_gu5XLTuc`!43QZhP%3XB=*a@Hq9qCiKMj?v>`32AbOBVLX z98hZ&0EQIWWzQk^9GIIs7vgec%K$KVthgftivk~KG@v1a5zyxuc`Xw__nyWlsE=I` z5Q!H8VhUJoqQKB_W7QShIjf+a5?Xbc6p-G5$me1c~(k`Rn5~2V?&L X!BjjEeoRLM00000NkvXXu0mjfPOtAn delta 523 zcmV+m0`&d<1n~rrB#}W-e*gz`Nliru=LQD@CN)ASwcP*!0n|xEK~zY`)zrO;+dvQi z;0?>A4E6)K2&oV3ERx(f&tPJ9RS7~C%~pYc*`4%m-CpJf2$y?;mx?l19>?l1zMe=M=_6D4lo{3`)g zSK#mSi_CzbMHWUjQNYnj#sK$VT@xLnG`M|@ zxK|ck69WYpYY?$)5$!p$O0K|BUP=P^IW~rXnoiACn95kM-K5Yi<1kjC6%&CS!p-6-B0yMyq#d{P3Xtj!fv4kF~ zmr!aJ+jm2V%cWRGz}REO2O(Gzyr0nq)hr40c}BgK8Q|a2fA)zVO}K&7*?k!hQ((18 zf^o{tVm1NZJ^%g9?Rc+ zgHGAt<-pfN{zRu~c*)e*vPh4vJ5bWn7s4~e_#+h%lx#<2+5Z)P0l`!}5iC)tx zw2BQNl{65%(cOd8Ic6;UhM$GqkFoz-V2gi$%fUKy`4->3WdNjz`pOoEEg=h33G;u#=i+u zMG^-3a8hDKVMSmyASbObk#t}|%m}vWgA*-Y%WK1yQPk2tCTgzf;&J;zJ>*>kUyk2@ em7oyjnAI;G^SdF*=JT5X0000f&g5P*4u9ZYqNj-=N%j~E+mB?T7g(%ds)6&qNoq=CaCAS7*$ z84JJJzuEl=`M(EP{M#i5$2{aAc6iGGaL#iuyyrDw=2Ph7Q-74@(jaU)0w=0IR7!bf z?Q}?t0NDCMk=R(nF!mY1kwC{@127Rl+tP+WmD(DrMuav2sBfa*X#$7lYZtP9o*&V5 zn~VU24vn~s8CD@k_MPSw3iq0B%QeH%Jw=>*01w+#ES}#B@bL>2w<4ZA|2(oR?1$00000NkvXXu0mjf DKen9` diff --git a/graphics/pokemon/happiny/anim_front.png b/graphics/pokemon/happiny/anim_front.png index 6b0455cc9f70b81f8583aaf12868db9cc03178a9..7ae898ab16603f32ffbbb1070f2c596073d12ab3 100644 GIT binary patch delta 640 zcmV-`0)PGP1=IzQUw;B$Nkl605XB`U-7Bkc(_6K&DLrb(HaRAdYUfz& zC<(n4(N*vM*q##_Ha!=NuLVQ!U)foi(96yk3MDQ09dvm=?Tkh%z4g3USm_V0r}+8=)LJ`Q z!2PUG(7n@3trsrej#_KIRCTS1js0FVS}xrcaEX!ibxnU6!B}B~dO<9JKv`aEU0#zb zjOuw&6pHH6c8To;SD(oeUQyT!?H_c|zpB0I9{=rhkAL^2JBD{6m@a*h^6Bo2J?UOf zL~+LWftnYT7f$dpQq(WZ^KQ(WD7vaiAbd2N45D61Jz{9S|D0xNMrL=o-EOCCCc7IT zW@7U*_n?Ec{b@XqYj zP<@iQba?_n1As~)m(Jw%?eS%19}=RqGn$(j*)gH-jON>P2b>u)ngyyj{_|-5vNxJ{ z#JysoxzY1Rvp2TUykHKsV~x=~ravvudI2$o9f0kHbhg`lX}@0f&uiN-6oBI*-{*MEy4x%#j2-QlgdWq{NqQVf-Im>knY?>`Xy=v{ zb>~6wbr2}|EBEA4cF}u*!6=lxgD>y1^!z0GQ>%4|=L;`*#ee5x=(9iwkdC+k06=oU z5kSBKAtX`6mC%Mnc3D71>mU4Ov2oxL|J6G$T$Ah5|H+?Y5-pmxk5ZgCZkjoCt)ymbK=x7fvjG2a36 z8y8@Z7(AL?aZ=Z=O><$)LvI!ZAB?FtF2FZW@vzY!U0?C-38=JoHfo|zF?*-iTCb>9 zYpvI+sx+~&$Eu0-S`*7HCN{4t`ecZy!UFY*+_a)7u79;Iu9x(=T;_SMGzp9qmM5;h z(8o8=?PGLM#UWmv-NXNF_i&%xQQnbcs`O;c+uf6U>|V@de#W|anUmt5*`J8gR+n{jsogp4--0@PxE+HHAv`^6mYXm^Xz zq&$a=c7J!)?UW11R0Ft%$kHLaUkp{5qq~2)0DLofGgP0`EOi2+0YJr&rB3sD_WH80 z9|=M2RCCiK+a}C!D0ka9Go+d&Mt<_|YW})c&3}k{#i+T7=T&oSYSp}AF11sQYMyFl z1gmDv0a%`|nTxd;+0(n^f0ARhNA4m&nB?WgZxq@$*?AdwdN2S0002ovPDHLkV1jVd BLUjND diff --git a/graphics/pokemon/happiny/back.png b/graphics/pokemon/happiny/back.png index 0517b476855027e6913ba95b4c5b1e9ae5d31627..af69ce4e0abbd34d70dc8c08177b5726a194fdb6 100644 GIT binary patch delta 449 zcmV;y0Y3hq1gZp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fR|IK~zY` z?bFXsgD?~aa1K=dkJk}A)9E}CLxaZ!)}S{NGq@V&X#4{fySrxLzqPRF=v&MF0DVWk zpS(W$!~1JhRnOBoW4BY{is`zU07Vbj@)B^jAdJO=GL}q$D9R}lPC(-Za){?n0MNia zP;iYIGyuR$0Ot@nK(q{h1aMailEcdLOVO^KQ>2MUq?DC&5nY)E?Ij=+`8o|aT?iN1 z>Rf;fS!BHXzjK{x_P3W5O2h8yG^*I82v{`&No>4-mP>Y9u?HGVapFU0SxI3-T z7rik7QK~Qi%vTtE6sHyXN75Nnk~^ioHlqeLAKvx=ne9fM4krYJU(zz3aF; zAW&)0jY}d>*J^L%7__aF;}`)_)^-2!H#yU%k#bg+iK4(ry(5J00000NkvXXu0mjff#J)Q delta 441 zcmV;q0Y?6+1fT?vB#}W-e*gz`Nliru=LQD@C?0SYVG{rV0fR|IK~zY`?bE$(gD?;W za0cAG$2o}3IB7bf3M(BEiAA$jssd|85>9=9sLtLh;%#f7O|XNBI=BCk`{{i6!*Tvt zvg~=d&e+|MxM3>O0kEh6i?0ED3&L0+C}ZIO@co1`VFffOAc0_Fe+2*qJOBmTn4d;C*pkp?)NlHYK^2@^jN^5LE_vky0K-+E#ZFuMFU3s)alpMUyvGu8s!C6sWpE z1LV0pXmt~mC1SU10Fvf;{qa;q+!~LnL?Z^^cm=o@z&LIg*t9eEj4m;aAn?O639^^C|^E38DnMl_0xb3{}2I5Wro8wxH#qzAs(MvIoWY`S>R;~-%_tG@+CO{11L5{qsi$2 z004?fL_t(I%jMEB3V<*S1yFBLJb{PErblw{UhPm&=+F=LKtd4;9dxK}CN546V#Y_( zwB=XT=Sr0u?DHxcfIBP_HY=gHUL2}?k08LE!bcLE7cB)HI7ldi&0xG{)C_MhF<4>% zh=HX&P|Mb&x=CdD79!FEzgVWIG4-9?MG03EdMo$v%La4JZ}OEfPIPi5n!RyEYXr?wULc zMP49MlpeFQJGkJ+QE8O%w9@U>H|&Ll{L^m z5diCY06^0Vqi0RC`5FSH2RP}?`ksY=n{N4y^ropp04y*SSuN#%`^EyGGxVJvf(K8^ zrjgRfkfo{>rS_{tKZQh_^UR!<)fah}c);p_K#jU?6$h52`eXIrT7U^gU~xN)Rg&H! zCg%2%$t>ZaE-O$L$lVwdUSR;~z?J%p0QfmiInKZtER|9QbXUM`J+RUbrqoCL8uv@6 zfyyMTws;9;TJV5>nJhOzdqIzGTJ?L5d(r9$fJYgW2e65472J}l-*+a!JY+404I-AS z>SRz@ZTQDc6>UNQK%g^4t8!uy5b3Q=c+y3mk?JYgT89>u9~5^9dST^22$LRYHbWN7 zCuoa$z~Th(894y29AKvqX27WHx+B<)U_1b926U#5mzDr+FH=T-?1TH5Lk0O|HH^*vM@mHGw{64I9Lm2gpu>PH|MX(V!!u*>tr+Te8yq?Q)k$OB6k_% sKBI&2e&+$opc&XYG?%;RpH~$90v1IKiNXKSr~m)}07*qoM6N<$g7!=>_W%F@ delta 648 zcmV;30(brT1?~lqB#}W-e*gz`Nliru=LQD@DJws|lyLw60#QjsK~zY`-Ic$J+dvS; zEmEe@#Ow-la3bQ;M+mn$!aad(?*nYJPH>gxHjqA-GHL?r?pjw-ao6}+QuqZ7#(k8X z{ipRsaTf@g!U*QK-#0Tmi$|mXIjZXQ*?dwIH)o0QqPUu$0|?WRfBsD%VP^pB&j9rw z^0S)&B-Nn!RqBBkuYM=SjLlM4W5O0iU&nU)-IremfGyto{PU%3QwPjpY5)>f`Y7&X z3%)!SfV2n1JNXHmgaK;(Sv#OAH6X-Nx&|=jQ&SGcvugHIn2;ablzpUr@D6}=GXS9I zg~?Bp+I)?HIsnw=f7SXvi2*;|`kTuu)x-c;V9F+q5bu=*Kzrz(9-<2;wNgTuG)ywt zvRdnL)=z&R;u;{XPJ`l1<(Pk3;@bdsv66^d5Qd(Lui71;BZ@ i8Q3_e%iX{55Bm!iMGT3H?2&f>00004U{McvV03nU6lxx@SbqULq7OY$Ej?e&Ok7P( zD1ow}=cm>Yk$~fc+PBh!rDd$zvMjGe%Q&N{F6Xmh-Y>U|=Eax?b6SDr{ku`-w2tR& z@26GUM&==y*=A7yC2P(&`={}vFq{Yjln4Wq2s2SE4EPU=gz;b!VdR)i7}+YY2*b;o zAqc|_bpnDg)IZcx5`@v-j{roN&gY>;gsB`Ye;I@^S5Abv^CJ~zRv{L~`w5dr5C?GH;9km7)CC@+V>WK9S6DJ-h?iunbOU~=s%brdrB+Sxs!FT>;*&kbMlNx1IGU9P7feXZvx4`LxuYZM&0v1~UMjxce@9S3` zHFuG}mb;+;%s&u22!}wU?D5Fx^m-|j++(>0@Q8lNk(zMk%S?%D$jn=yGW7h^IwA_e z=}PTe<%8wOP`6c8-H4WU2321#7sXsGe;L$^QV;692AYd^CDhq&?ONZh*d{VH!OS|I zDv(X*p8eDHBV-s(zyKv+fD$kx#bCfcSOmrgV*tY`m@rk~0EU+_!wiNEbrBdcP1rJn zk>1A~1TdYiyFHlN(ejov7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0S!q+K~zY` z?bADM!!Qg6U=@OQyKsh%A$);0TD-+F5744sdVsjd4V)9i*^C5M!`ntNS}&2vp+h@_ zt3L3jUg}=|ud+42{s1`-5DLD<3lu2}44?q;w?Jd1c#sP~nI{1x3jyd+0we+V%7erW zJos=29+V=Weh@&{@-t9>$7Uou`eHNmp4=yQ61pd9Hxk$mJaFw>mgVsoJlFt0Icvj+z5^J3^Jc3aU%@YbH)iRMDOfg ce^yFe011C~qsg7_uK)l507*qoM6N<$g6u$zO8@`> delta 320 zcmV-G0l)sV1E>R#B#}W-e*gz`Nliru=LQD@Dk1bnF023m0Sie)K~zY`?bESt!Y~j9 z;8YfSg2KSaDKAj)lC5^`0a`UnAAnT6L3jef78S+x-nJ%!EZBELhj!p!{mK8?mXqX> zf0yiqUw?v}2M7hf#Ttr~1sYHQ_*@cB!Jb~Jvv1z=5>I&^V1j=zp ze~t=a6#&mAUGpBkHVHj}LEC^(`Q`@b0`7#uY66+>xDy(yspEteqHp%dALa)Me|Do$ SM+4^o0000 diff --git a/graphics/pokemon/hatenna/front.png b/graphics/pokemon/hatenna/front.png index 4a47b28cc0f120a7aea5d59ae2e22cd1d9f337d8..a137baef06cc876f275eeefbeca58acbdaee3fcc 100644 GIT binary patch delta 374 zcmV-+0g3+A1Khbz@kr) z7oN}aJb4yZ{hd^%Ucf31RB*o#sA0(50oycCW*P{Q8A8azQec|{o@uiTkf$8*PA_SP zS9(hVTgm`WM5k03l8BCf37}Bwj>h;Hssd<~ouYN{QZb-_Z{0=!?%#XBL;(%%LtMoi zwCkZ2ni$|s4Acpr;YFLUM*+G<(WP9(T93AqD!C^yNUoTur Uq@l(?w7Q zcpy5b!l;PolmH4TZ)l8{Asc{B+9|pYUUG`I>zA&h-3Yx0OcYSyKEyiapxhZsqKN_C z#6X(>Iv$h>dlaBrG<^agj)BJ316^SK3Xr3wLyMB1E8x*6 z+|xYLL4F`dRxg86V?#9``4BtZ^)A#!kT?iE^DU-Li9Xa{kA(c&?=@??6WSBsT}r;Y z7WdXN*x=_VEpYb{T1-7yjQO=V!~MgK#eFI-Bb?x5%Q00000 LNkvXXu0mjfVLzOi diff --git a/graphics/pokemon/hatenna/icon.png b/graphics/pokemon/hatenna/icon.png index e80b544b4cc3be7db2dbe7f2141b146988c9fbdb..6dde7e200ac2934c25c45f083223b975fd082134 100644 GIT binary patch delta 182 zcmV;n07?JG0<;2O>bPC)k delta 217 zcmV;~04D#m0>%Q6b$= z2A4rqIt6YaG##d}m4Fec69BMeKgg|0CNIEF6g{yMzU0iHStkRLiUeh^V={J8c9|3N?QDBrHa T(k8qk00000NkvXXu0mjfW-(f3 diff --git a/graphics/pokemon/hatterene/back.png b/graphics/pokemon/hatterene/back.png index c4a232dc4b772b19891ce8911396e7d11ac38a3a..ac914d1237e6a0e26c1fb3c8953fc1065f4b12e8 100644 GIT binary patch delta 518 zcmV+h0{Q*l1n&fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mw;2K~zY` zy_CUfgFq05S9}4j@d30xfWZi%Cu2wGRdnB{&>oh6?-1xk@;beQK;EURt7d21Y)|c6 zOqeh8|MQQ8{cpLxX9sdP6t=z-0z_5?-a=^;+46Q%+D7EOZXxz83cTSEM>b%~p-hU$ z3Owg+`B+0*2)RYW4W)&D5%B%ufrUT zF~n4Jr7c+7`>1#`s-8WB!F+rqs(?2$|Ws8R$pm1be=XV^jm73$X+St0fLvm?bjPC|D9~i8#)C++5tV3Mey<^aNOUW?W#H&-An(8Y zb-Js#o|FMVIl$_ccEIQL3P?!|^4|efLV$+3s9!#_70@E!mFC14Hh~nJkOvH#cuPqP zaw+#y>whqslYHzKLL5^Q;Pyhbg+Q;H3UYXU^+Hv4!hk;k>}4d5XK`gDhFSspX@a=C zQ$T%~CA!;*0F5$XI}Z>ytP%bK$RH`uT}ccR&@aF@0Ro1%=nSVAb67MeFnwP%@U7;g zwGsGMOVV@J;(SIxzLw~EGjQMHaxwv0k|@dr*lPee*WVRmKR9U_>ZC}OlmGw#07*qo IM6N<$f`Sv~(*OVf delta 504 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 diff --git a/graphics/pokemon/hattrem/front.png b/graphics/pokemon/hattrem/front.png index 73d1444b39233b9ae486cc41c413c5953624b141..71b063891ac8c179d9d98098ab39cc17fadb3964 100644 GIT binary patch delta 676 zcmV;V0$crp28;%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%b`=K~zY` z?UTQ6(?Ar*?aAquA65fWJ8)$vsXC+{I=ea)mMr}n&}DU+NQX;{!qT2C7}6!aj4ZJa zrfy_oYJ|KXMGA`t{uACgk*R!+`2*ldiE{aV?)%=|d#C-6tx>D~MMuv{b^Qb#lv>mg zLS=vs`bk+16Q84c37`{yg3s$EMeGtnUN;V^dUdM-gl)AO?d=AH^sKg34CoBvhV%xO zWfkS%fq)2E&#RfkbrM`Sprjm_K|0$BZVqB2g=N=w4&| zZrJf;J$b+YARc1VTrE2bc@7a$A z-(BMFas@A#NzYlfKlDP`9%^8mBp3h~8ded101iO%Wo3$Z7vfTyke3X*XQvII`P5TWmfL6T%M^Re<0000< KMNUMnLSTXckz;EDCkv=4X{d+!d((dXoqyM=&_3>wo|rx>lCBV zQow+_Xy}{tC_754uf9MIuwd%{hGFEz5S|3{ zc^?@@GYf19+?KI%ZFoG)#Mt_T@my{QWT6ZI`oUWM+y)=oAf;EK#Pc8qFqU$h$-upZ z0B!>KSwKmy^c@xAe+xcHyQszo1jL`hms^aBfFE%f$Y;L*_*w*h?s}Jmyc=~Ll}{Q# z0E8o=>#JpVp-Le#z}yS(h`A)>A{T&Thz}tngs^ZSAVLPPf91_i7!K+z3>^WwNF7r{ z)0w#wem5=vxOpnFfM$!4S+5(%;o?TOMJ58c5EDIW7>BH`ck>)*8WWSj2|kQS7aXv> zOU1t*<#x?&fq%PKaK~@r-R;-^p-2Q z!Cd*ACHsBHe^>2ch>$2E0Km}js(b*XFBD)Q=mhCm+7q>M1Lfv^9-VcA2T>HYHdjFK z#08ql%>*Fm#bmSgrqX(7)IA`^4m{%}L`?v6t}bN&Q|MUsI00sV_2G?r0~>71w$?eM z8_w3{MVbO^rKiiuHfy9ls@+!E?=@n~di-1b$Nm5>6M$B|3!Y*d00000NkvXXu0mjf D)VDWp diff --git a/graphics/pokemon/hattrem/icon.png b/graphics/pokemon/hattrem/icon.png index c50887319fea0189827d2e374371f8110be8dd33..e498c4d77e81738d20652e71eb385ae23111a37b 100644 GIT binary patch delta 264 zcmV+j0r&oc1M~urb${wfL_t(Ijos3*4uUWc24LTy@1PGrBCGNFZXo47U~u;m8CV=H z@DMBwlG?6OV%<862O+q9Q&wfc71Wgi<8^tg>8)(gb_nkDRz;fY;hi6|>r zo?NAVa2wklkzs?5sHA#65m%%r-uVH^s)Ev=5oZZf0lTDEx_=o|!Uh@()Zhm~UhpJ= zJ*1bd24G(q+9p@>I{#mQ-snTy)%83`b2LLj$va{#9!(Fx7SPu&$2T^HZLrh7DzOk` z@1dX(Od!aC;esYGOwjLxnIkVS*86yZ;XWJ~?n6vqxDN*=@F70O@&I_|;jw@Dol*b* O002ovPDHLkU;%;@ih8gB delta 279 zcmV+y0qFkp0)qpPb$U}}Ww>C~;Ix82Vr5t^J_4AP d5Aivc7kK93u@JjOY%%}<002ovPDHLkV1g2he0Bf; diff --git a/graphics/pokemon/haunter/anim_front.png b/graphics/pokemon/haunter/anim_front.png index d702cd687e73a7c021d12bb24450d7d76382f7f7..03156dfa4c42f847b8094be4cb72922c79d7b0ad 100644 GIT binary patch delta 918 zcmV;H18Mw*2(0!5QTBU0V0DBV0pZ^B5-*LWqHb366gb@ zoMN9dj2C2`S&VNx-Oay@ai(UMin2)T_wm$1f_`zF@A0qW;f_9A{x2|>cjov6u$nGG z%IP8y7|h}7_!`K%Phy^0z@wCF(0aok#9XFGDx+0|5pR!*?JA0zCXa_)tP4P%n2sopsUOVgk$|t#-~RI!Vep3hEFi zjiqZgbVuriHb4-2)+r~GZW0e~MKT1?sefkiPtO9r$M^U`!@r}?rkgW$t~&;I+WTkv zzuZg#^M5-48LX!OGJpwy4KN?v1RiD8TKyY{E8FhQZ_1kn&8T0dL!gt{?lvH~KMz~4 zll9{PwO^~hyQdnE)#cPuu7I9Al0c|;le|*bZJB|(HLt?1Ukrw>0KMhTYpxw4>fOs; zYqmWi>fPI-1MFo)*t=H+w&s&RPEhY&@562J7Jsw>VsNXlcdvPif@3m1hnG@o7Uo!< zM|J8cUhV~DSp&AtBleC6l*ug}OWoDL4c*bZI}W;RfU&rTGx%jwq#deT;QjIkfg4BP zRl9c#5DB&TaRaey5{A8(RVH&&gE}V+>k+LpnVTn=Qq%~rphptFOE7|H(FTk*>&*bN z2!C=+3VZ`hQUT~&Cq|w67*Y`M5-tyaAs`~ma;93n2+)J-cB|Ncac47w2!Hs033as~ sA$Jb3{dEt>-F!Oygibi2e!1}%184=RB@gIyf&c&j07*qoM6N<$f}P!|D*ylh delta 949 zcmV;m14{ho2ZjicUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lmn?#+fgR z000ANNkl(0!5QU-O0Fl85usq(Q2wYyGvOMK13G@L{PO;A!#tX8}EXKE; zZt?$TW-7axD2v2?AFUP=ycf&*8h<+;7Ib^_SzyH#1==p0$w^^sc{>A7GK>8ZI z7NBLIo?ogZP~&R=*#as5_Wd=_-wYtVz!H!Gh@b-8BXCGVDVbkR;X8O+PLS4suI5I%ibm1O#1X}6y)m$H2Q5t0czF!_l>LR;lg?}!JALe?z0tiq9Fi3DFM;A}G zr`s>=(G#=?9qA}h0qJzuEz7$;-EfFz8=^SMRBTbV5&$RF{?Dh|N4X6IXhgKR10fLL z;`jcCU=o39ab~+Dh!X%!dZgKn&b-bpNzkXH+&L}iB#FUM5T{txB^@2m9jO*t1Agod zPB|56Cx3DAR;a-tc69g5;-7B(Wg}nXpB>&(0N5@CfCa!_u=hXle;(W~a37!oyI`RJ z1PcW)AIt)eytGzt261@f?&eK7Tc94*%d`(bCqUq*d4L;#?pv>wcH;rr@4(-kO9k-q za+8WDN-K5v2HG9vWu zZI0G_@ums#?%grm=Wl)!AbPh7y?bZ2$Um#;IoyP-ndx(Joz%%w+|2chq5}LWkBQwg z0)?8>vDHHb%;=UpEL4z14NS#7oWU#VCS^PWyx)EyFmv=Bad^i7p~&K=3$R0-Fot_s zW`8m#(Wsk*F?d9)Oy*FE&HEov-Y;2C3;33y_dHanzq6)eZd=l`g|Yw^Ztqs8f|rojP=g zbYHHo!3OiExuHueoeu0D@ALS1G2ROtuU2OOzdi#5+tq&q>oY)o7GTe71i+^I@WmJi zry9NziE{_xOruoIP(%Wg2LT;_TrX*~1QWsw_!58`9ih@f1B)8aI%RM4RWu7TXr~ot z9RQ527BoPy7^nf(3mTD90Hg)NSqao2N(0@9mP(WuxCI~vmW%;GGZ&~K+)Om6>Hr}O zGcA#83qoYf)(J;8{i4)B$ry|4j&L>nB2#6AkLGA!MS2;9hJELs zm<;O;ZUNar4D&B!lU= z1h&C1&pTsN&46$CxoBkcPvDX_g2kycKwi%P`Icb^_Qpdw1FC#U%UJgDU=*?`kX~>+ zLk%?r(y4_s+3UX^D8~RP67LqX$fL^cVWd#xICqP$T_r2;B@EB|3m=S}?2uqeBLDyZ M07*qoM6N<$g17!1VE_OC delta 611 zcmV-p0-XKx1?dHlB#}W-e*gz`Nliru=LQD@E-nC-_Bj9m0!&FnK~zY`&6T}w+b|S` zRY*fdUy&Np&2+Vkr35scLP!Dxbdps*K?)CjiUQ8yz)OKH2|5+&)Tu*<0Die%Qj|pf zG#ZbkE`8k3H|@wO6Y%fM1^hg6-8^?zqmcvFEs!ZvY2 zP*#|B^Q1fOmghm_~pg@aO=61&HXp zzTSQQ=^nTi5LvtADZu+*Kln^SC>s-QU4owh5K03CV>B_5Q(G_@#v5*wZP4`e$Gk9% ztA94Z+y+fgCy70@zaMHFai7xDQ5KwBJ6oELQ##xg*RpVO1ToI>>F(h-jz4_0M9Rxi zkWd}IA3g6vT=m2Rpob5~;(pIISN%0L25{BoJszL9`OJp<%hhAXhQ9?BU|3x0pp9Roxs$3Pp~6x47*pS-p_|>c1b1ob1zDg+c%T002ovPDHLkV1n}24?F+> diff --git a/graphics/pokemon/hawlucha/anim_front.png b/graphics/pokemon/hawlucha/anim_front.png index 828ebf6337f296cf8d792ef98ad9dd99273e830e..bd5e0696cf0115d45c53d6b614e2c6e8d83de665 100644 GIT binary patch delta 1192 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 N07*qoM6N<$0fN>Z{lowO diff --git a/graphics/pokemon/hawlucha/icon.png b/graphics/pokemon/hawlucha/icon.png index a637cdb964a4258ffd4d9e5d5e5986e855131e87..245a44e545141606e654fbb5739115eaf3727269 100644 GIT binary patch delta 314 zcmV-A0mc5b1CRrdUw;7`NklZ84#W>oXdt5>!=nQYQKr~a ztx3)^YKfR>woP=R1LUcEI$|v=)hQV z&8)<9!S*eJFt9FN9Iq1q>0EZNpPM!e(E?+-=V`M2uZU9rN{~EmQC#+Z8VIe*yAO`X zS){1>$wxU`(ig}%sF~uBbEu`0^i3n`N;ohyE$~d--LuI6&Y37u7ntEx>kGT>EWo1M zvi9p{17nb}_cK~q;U$+2WVB$ndWdTLptd#OjjG0;fA@axi1`uYJlxIBd5&!@I M07*qoM6N<$f=w=$c>n+a delta 332 zcmV-S0ki&)1GEE>Ur7K7a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lmu2YXqq9 z0003ONklXI4#W>os3D^t!=nw6fE9nEcG6iMyOnCYk6$O9 z^bzvsmo=+;y7*wyg&!F!?g7eqxokitE&vlWwOWAKE*hjSz_r3e7DDr(ZwQL;+zk4P zcblIW)PfD}AgV?iGgcgp19W68xn(Y5`e6SS!X|KC`Y75Z01~_8ub*+Z*;ogR>7VD> zdh_L!uHK0J-$i)sy7p}#w5}dLIGq+sQS;+Rwb(M0mUB>x#IfMeNQ?|^E1Fs$7~2kb zCLZ{0GJs1a$`pke&yBvad+vZO`#tNv?oJqE8GG*}+CcilVb=k8!bFLb%HXs%-YVry eY%^ni>Blz^W|ow8+Z0p)0000Yk7I|T{{ zHkxWzK)R`HK$mQ18}2BuzyaQbfatp{?G=#A%MutK)byY0yQBD1Qc`s4kOM3kypO-{ z@qFZcEX#~L_|vs^kG*I5gX{*Ld<5A0#(W;{1dhCq0nZF@vVW__-ZTfMgAcZVz~Ri^ zUO@wP*hS!UwiQS$D~uqR9xe}e0Csqu!D8y9S7(^D*<%vH6(GRUtBaYnQD*O@10a5e zKc`N13d+8yfLrLJar?7}>fNy~PLj>T;01-e0X&JzC;P?XG{&fW!NCDCc z@aN`h|K%yrOMkK8CoD<@EC6Ojz#8yRA^7~okRPjPDFB=z!sny}esbsh7k4Q%P)3x1 z7enCk62J(luiLx?nEK3=_WyUJ04QcG+@w*XKA){t2J z5dvcQifTYK0BhgsYJgCtq~}otQY;Zgf|LM`o@)bB*sI4F#Moq*mO#hUA$Huy00b74 zg~Wzb6@Y=103rDF;pM-vMo;Qp)wl^gLVXorm5fJtM~;v!z!uS518?|{ zicH^B3y9#g114gaWcbAtYXCO9_H*FPDuFFP1b;ry0T}YH@N=PPD}eKP6Oauc^En@9 zYamI(NVF>a$a(UDX+j`?Pk7h@-r^GCon=|3B-b^XEm-l2dlRLYQbHi`9z<&u8157V zq{6Wr@=K*!K-V(>!H8u%OuYAPz@kXJmsXdlSnvJGi#DK%YrNK_n2x_su3Pgs<9T!a zSAUdJLi^shIo+Yd%fv5U2)ZZUEV2KPuW&Ix{SO=qb z-A6kCjO!e|v${J0(-ry9?7smzADRC&wttQP=vn#MuSexs4Y}|Op!BTY8gg-~-1&uP zeRkFW{Bq+Lp2g0(+F@pGp!6)~JV1xB&x#5qkbBnmQ+5%YgE~#yz}mA=f*?JI#YM{= zO3y-#%Fs~IVP+dZ;aQo8Du;Ph0J&!gBVr;l4r6Ab5~w`O0BZrUp#&<=T04w+!+)V2 ztbxk2*cw;{(g5p~t~`t74ih_o&!(Ni`gLFPEUhS6p!EQO@?fnzD^%KHj9|>LL|OxK z&kC@@G8c?N9Vk7EF-PTsv5aRSlqE{f3ZyW=UFxJHu6igu%SnyHc=Y5Rs6kc%rDsW| zv|xl3n8dp*fYP&^;Fi>a5qt|vS%1?5<5@lQER-H27>~XXl4yVwfHgdLjGiUef9e^4P*Hjquoeuj=iz2Bl6}o&W#<07*qo IM6N<$f?p(u6aWAK delta 1382 zcmV-s1)2Jk3$zQ6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LmuR$GB0j z000FSNkly>Ht_6u>Fk;Lt2i3X+;I~fWGHkv9|K)R`HK$mQ1 z8_p=OzyaQbfatp{?G=#A%MutK)byY0J5u78Bpd0}AqR*OPJchW_wIBbKf}n{9==Rt zd)qnI53(J2dIzxcUG^Mp1)jNg0mm6|vMtBXI0wevTT4LTXku;7paCl|5jdS}1Y*Mo zLh#2&^P??*6`ZFq8{5g%8OB<#F%IDh5MasG#l%=kv-8RZ5O3hGv7MfRvMx$sHy_>z z5V%NtV>>*BS$|joybRbsLIAEZAOr{@DFW~u7+t{ozpp?82|!W;-ZXpLe{~Ad$M=UpS%4BFvN`8IYHNz(C0q0y;$a(|-zhI#6E6MIb^zGD!S7(0Y39 zaq7P4Gb+VAQfUedQ&{lZ3h0~hlyqJ=rm~f<)EvvuB>)tF(IZBukARrJrWz16z}PoT z4G_wdbX|%-f+@mKkOIKgb}V2DYjqie2#XAo0%&D?p$?327Kw3>bMCs2K}20#TeB)a9S0NMyIkhu=^j((Uy8u)drzkpnCxp@t}_*vVVna0G0@+8hFQhRHS-P4IqTKHe?}s zaf)wDu^M2(TQ3LREn?UJgy8WUfFAz_pEE@p0XU!50a*i5kMlvg1mYwJMI*z{oX0Pj zCIkYw!-EF!9;XmTmZqtaT<55lU_=Y<4wYg`34y>z5RF-2xKa?13fsKLFO_Nlrkeo- zLx0SpUhIBs0tQ9mqclvWBE9y9FPnfSuCdRg7#%+kubZc(iM><(D@rM$9d}UwxE8E~K435m)YR)3ylCz->z^yC4kZdw9`XGx~CU<4GH#8Iw*!n16D zS8BoVzlXW3=t1ULZS*XZo=h+veyIq`@?3z oSn~(3E*P8qVer`>KFJ^c1-<+p25;w=SO5S307*qoM6N<$f>Lv9DF6Tf diff --git a/graphics/pokemon/haxorus/back.png b/graphics/pokemon/haxorus/back.png index 4cd2f925609c2014907adc912386b8e340bdffc8..6351df0bbae0a866d988d1418341de48e7fb701d 100644 GIT binary patch delta 578 zcmV-I0=@m51*!#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s~1zK~zY` z?bN+)+b|FSU`m6BOwQ2E3ato;yfmesK-CLmNM=I=3+VxBAditj20aBg2+)l|9ZV3~JfTd|h|d59D~g7A3Z6y)7$6jX^ivfx!098YpGou# zaC8HjXqM?Y00B+(GN=Vu2GtDk_OxuFx(u2v0I!2UH~}a?qJf_&SaF{OU?FKTes2dr zedvHJ0CY@1e+>Zk6A-3JfshUdm1E{wz_~S5PYOu4BY;|K+k;)2raDY?*G=vNoj?{9 z0;-Ln41W6Qf3-k=PEq<)@FKtv2vivKABMC!ZaWE>8M7m>rDqJVZ4_XzF}p-5JzM~` z-vUho(A8oRneZB5%K^|K1$;657y(OP(f}+dzMVR-<^@auFzD_U0rV;12%uJ~zu*Ks z(x*5El~VmJ>+uqzDX7c6q!@tDV3>DKfZqWA_46^{n?p7o5C~BJM>CZA1ErsfDeTN= QssI2007*qoM6N<$f?$&TIsgCw delta 566 zcmV-60?GZV1)K$tB#}W-e*gz`Nliru=LQD@F%%2KAr$}s0sl!vK~zY`?bNYuqd*V< z(DfEBQaQz?CToHe+*}TS0ml!dNNS6M6MVo~%4ej&T368&NK6^!18-&)%wn*tYfraA z#?rpo+1(MN)W1De*TDTXu)es&!oBp6=N=^Ae`kRnzdxB3{@2^b zJc!C;X=&8^w{WrvJO-+zIcpJZe3*jr7~F7liHL2Cvw)Y!ngG5t@HVkzfDzAgG$NdV zGGG8aj~F?SjR2^de-`oah%!kdJ_8smDH`H2c=7-+K&a@asV0Dzk0gIC(G$SY4!CHR z**O3KE_xoc0tyDr1n}{U9HF@k+!28HK_DCf6d=*S&loJZP6Du!WpaLR20(S_fouRw zOu&2%0Cpn~W@&|x4Hs2nZacth8_J$mkZnAG#+c#+wpo^$e=s$DHMtIS19?;lXx0g> zptDc?)d9IhsZ+(9fP_Gx!r=5_NSWiVl7M-VYzb`W@d0*)0u0v4HdV?D4WKw3fu;ed zwIr$g(j6%30njA{+!%g%ps+qDK)O>8R=j}`0PuQ?0Q!{B18BSkC*YAjMISU?mtF7{ zqA_Ue-O$MeENBM9ytM+f1N^H?A8_Z80|Z{*|37H_0i~adDJz1P$N&HU07*qoM6N<$ Ef&}gU5C8xG diff --git a/graphics/pokemon/haxorus/icon.png b/graphics/pokemon/haxorus/icon.png index 5e85f3d1c9f4b4bba068ec1b2eb2258decfba2d7..0ed740e9b2464b3c08128e899fa3e3b2113030fa 100644 GIT binary patch delta 301 zcmV+|0n+}Y1A_yQUw;7(Nklpr$19)KPIOe=VU;5%Elc0vqo4-os@0Q{u$xC4`1i1;0( zk@DPb0iSTrvq1ykl;@OcO$46UyAbOTOP1`>4PBR?07iGrx>F91Cex@=nKr(a$tTkP2CxIiq2^f4Q z>+e42-WHG!Ko0<>6>J~`XY12{h@tHP;;D21U->fbz$8~9-hYBTQkm1HNyfR%1|5J` zo^x(F33%e*V`@t*MM^+FI9HwkMoOCLBF^|1gvab0m%EMfDw3eEEdCm)*3E?#J^I=R zyr6^$hnisLh_U2*OPH8W1J_z>@p-@m8hapi~#;rBvoB z41|xTQYclJg-2GUFyE>$s;g3wZdDin$XeLO?QRUfq;mF1%IHEJyp`AeGUTv(JcY_rsBsJ5KNwZg03h6ex6H0F94?Sa$$SMVG@;2 z{&Z;y=ps0cSVtTHYPbX10Tz!3LK1V<0bzvd5X%^xVqusg4r16Q^XChQLUj@#Fn?yg&4hjkFedCy&s7i@Lf`i5 zUEA>xsIKw|F*7`ex=LjdV3zg*pv$~aseVo}H|kk^z?>+-4>lPg;BXTuEmY10%_017#diCF;ACiOINA~z@|m;jdpL0B@*j&lct7HRx}5ijnpzUN2x+j zRs@#oW$Nh3k7#$ZIxL$TK^)w+yb=On8K;g&Xk_hyWvB@Bg(r#mBQQ4t&6LK}-0o6Q zm)Wx_>sJq6_~|1mm)j!F?rUd1Yi$G;!J0Lt8Gm}NS-PRMI>20iyk-_|uMOam!pX%R z@e5uUVy$adA|04kB$OiHqg$dmMuI@M#{Y#1jcAUeoe#fwbJfJ(H(e-Kh`m(4;`FtQVLxGJaoFe?n` zlz)J;LS0lnPD|S;)=h0X%W{^*br!1SLKK(!P3!HtUH@@?MS$csjsC=L6d+r(R3JUd zZW18Uo(=c!0O-%x1<2lxJ>)k&HqGnAUZXTPx0!i8$WG*-47x#IWb=QolQMl#2Jj_2 z4>6VPl$qBY_-}F#Bb+%lE4PN4_kIg_b${T~S3(qTI*$K)?`sU34)bv;@=su}RVfAX z*1^U`2sV2N7IGu2)#?yn*lrwbOV&f2de6jweHe)P$AcU@vROC?w5L+dVG_0@J{$n^ zSaz&POaBg#7)=JK5UzT8h562$p&U@#{V9y55KQN&53ZC@MOMk_^pwgwR2Mi~fq&a` zES(~e%vf*56!**Y6Z!Y!nUZeL4XJsiE2J)n z^mC);`T5trOlR9)w)#Ouk)oY^Hi)L>edd^NL+tf~h|#swGP_2U=FeOG@ISAA0mn8h U;Hzyu_5c6?07*qoM6N<$f=^-D?f?J) delta 1542 zcmV+h2Ko8B4ATsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lmz;GlJ@X z000HHNklCD*Zn z(TXZp@qc@7-gw^oq9}K(u+L&-%%qZr^V2#83S16t`* zC3V{6&;tSk1Sb(|i9J9K zw?H$%LUQN}A>cGuOCevd8Xvm2%>fAJ*y3f*Zn7y=EPr=_89?wRW*B3dOJc@aAdFD$ zV;O@JEDUqRUJTo0{%j6WsEz^zhRnB_&`)!v6n3lQDhTwUYx~uZ00XPBg^>8x0U}xQUb&DrbVG6^Ji}RXZjK)cW#^T1u?)>o%FvM&f#rIcIQsNww7Y2? zmi3Jw4sKgs2?4N-6Gu#GWbJ@us0j3hUlQ{NV1I4|nkkK`dAUnPU8c{ntY0;F?I%yE zTyBFn+ta>m0Zjzv!J5^j89J_6xS^FQz)XL(W)^O*3E-04my12(SG+L9T34*8bYNPM zC^Qit-4e|)rUOt6ujOts47ge zjDHu|Fp7;T+RIwSi%g1uO0@kSgcRFlJ=YYB^b5+hkrN)~13Cp@k*kZU$4Oxu`MRlf zXL6Ael|0zpxtx$fa2-kPc-x2@q*dhx-oz^btF{)s8*n zcRn=D>%>l@)Ht`9sog4aPzK$gFVgwH(|<{+zPK)On4N_f%XZ4l>muh}=3#&{$7aRW zQ1L!q0$vsP_^lA45W#=&vBI$FFdwHP{|p9O6;dGY9c*lbV6%r{E;q7Tt#UbHyK%5B zSx<24y%at6sVAzZdpWjbvv3e-j-{HzBy2}~+5={>>{yYO{2d@M81+ygT=nu2^M9Qg zLph)}yJHxPAsEk4A6zM+lB|-`>L{fTs4j4}0=H*aI&JHsWaI3Q*<4sP!0C@cP#~Bl z+X1nt_E0g*Ur^D<>EGr3H}XtOlJ$Fa&4++4=dP}fKx(y7&+k~xj*%sy)<(7J3^fTo zLO^a}+-~8#w;CA`^AWE)eyr25G=BmqVmLUHi^;N)9a((QUS_ zz{E_#vO9H^!$fJGD3PhljBEYw(DvrRxHn9e8>KAA|343v$Io%pN&7)(gnt9op9jZZ z)(KAh6u3A(2%cvp{R~g=R9X;xqhhm(r37)61K#W_JD`E~IlTHtT`_f6XQ{$y!YH$+ z0s`&u>MYd{+NFlskANTJ{ZYG`qyU{ZtQ0uj-cOVVwhv>weom!;pi@JW8s^Dw+xv-s z4eS<7Z2y~7Akc{oO*$Aq+<#r*CTjL+V*9Ri&@kP!c!zJVIzSbAM0;kWfWbT`E#Beq z@aq=vDUFC3>y4P=ewm)$@xzIdWb?k_nXZt!Akxo_isxsieUVJ|^@EBcMLYUp5KYVa s%pw1p*AF5_*HX)D8&PtnAO0WfU&l5q;F-H6>i_@%07*qoM6N<$g0t%5PXGV_ diff --git a/graphics/pokemon/heatmor/back.png b/graphics/pokemon/heatmor/back.png index 5df0f4c41998fb61065a78cc196eac6c705cf0c2..77117201309e71e92cde7d8c29f74a6feb01a688 100644 GIT binary patch delta 358 zcmV-s0h#{B1JDDIBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0VzpDK~zY` z?UKJzgFq06FLrcUh9Y+6Bx7hpUf^!Fp*6Gm02#(7xX`DHoibYRw(k8wxG25O@avfU z`0mFoV$PgD9z;fz!3{f!sddN>g0!GQM=J(}31~Bd+B^}BbP|+N5LsU*G zc#fK`i9vCL0igZwirhYbRTelzfF27xFjgqUw~;_?9B_<)>RX_S&dpz%L7_8L%OFtQ zXPDOmuv+^w7QBI$!raiK^?_Z>_BBW8Pw@TdscC8pxPJl|IJ*)pqW6=0Xovv_NiP?v z?}Yg9SHyFaC!%`Y1F${Y5=kBac56dqEKqb^%L>;racko6$LQKY0jXrMDBf*V8TRM| zc*{l24rI7sCb(r^!QKX!eKxzaUs1w`RbtMZ{}my=0E`xitg%1hd;kCd07*qoM6N<$ Ef=LvkkpKVy delta 350 zcmV-k0ipiT1I7c8B#}W-e*gz`Nliru=LQD@GA8IbBUS(a0VzpDK~zY`?UOxD!$1&) zH+1eYmW$Al#Sw8E=K{N$#x2pn0V0bNY}}^`9avEKw#@z*djsx4^6RYk?c3)WTZmb+ z{22|uDe{P7%$q4pQ(={h;O3+wQ;~P0;=x-RdmjOX@&@$p<0Fj)qMuP9)Q)_ z-?88gv=n?pk8V|VE!)=|rN6=Vqo<~+E#SThVBqXZw1_^ROYKu~(QNPQ>7haVC9 zC{IN7x(8r;wk480Q~;c<4Uw@x(RD3HxR!}q6N_I)*A7S}2aDp}R+V9oE&y-2sM&!G w17?C-_7&_jxa_mprTvN$zO0&m^jZH-UyK%steRPIga7~l07*qoM6N<$g2`5#egFUf diff --git a/graphics/pokemon/heatmor/icon.png b/graphics/pokemon/heatmor/icon.png index 8f370ced9620c0608fa9b2f32a2726c9dafab708..ce6baa5719296689f7fffd48d9047fcb98dd173b 100644 GIT binary patch delta 356 zcmV-q0h|8d1G)o{Uw;8bNklq&eKXpQM5@vtbb$&F>1j)QPE0lWT-7> zEvWpbeJT;PvZ4i0nP8G?#ZX3P;MImEk|U3<0Jbm=tiW(*MK_teBPPD&JKNuFv44M+ zde=V?$QTpw(Om+yF&ghffq2`D2PsieRm0dkfFDBsPwRJuxgJ3ZJ7EfH+sb(mU4+T~ z#I==&MD0_7h+WD`>i{&%W|B%Ca*RalgZo8r205cHz^e=IXi-STZ3m!$#mPPjjh%EY zqULSoBR^&RgC62|sq?!OAdX``2&Fdp&<`N`#*Z(kzx@1w5Zy`u0000=9FXgbdhqSQCRqfRO@(-+;%zOhouom$xdD2+c!bjneMEnt+v8Z%FA*X8v|hfWBsl$ z*CQy!PMDmi6~+%Q!en0TwiU-XJtPtlQ>&~4P%rCAqC_Atl#LJW7r`0ijJg0;^8-;0gV<6MwfU5kwXsl zYLLvbk+Cm-H!CTXR+39kJ;aYeApZaN=FQuY_LoRp$Nw2iAO4FWn_r|Xx^tcOfjOR!LkSEi7?DzNqcv?jd zz#3#@!%Q++MtK0}!Z?3HTk$Sg86ZThhr@8svxV+yd=h1y3a->qq;m|R7wLjw;G|md zQ6)dKJkW5u9oUx05G+zS-96b*(H=K{zNO)%G2m{MH!W!gCP|~A-7$$886M>z zG%S!72qo<>AS5#6L+M9`R3it2Adn(jb{H~Z(6G?SOMf_t>OlD(*tQ6*AY>uN&DHz- z&1qgL6?M614gBq4nfqu}^b$zKUfz>g8 zUsqv$j~~BLO?9b`Xjfhf9zkGHYnxzrdN~0!yB+va!Alc(uVZiNsUvo9T9ktc_}q z4M#N>eABSdu)G6>lZ+HoH{1f3LDSfOPU@s8JRy_ms0+f(JeZl`lK{!sWO`y*iY(q4 zMlAoAXin3zHkbteLP$n>$NGC*$1O}k(gY14X0&0LBnN1k?rbuW=6VeqU7$v7^tiZ6 zPu$@3Mb$?Ypn0W^N4vVfbzH}Pifh1l4*_GEAB-8mi1EWLV8r-g7BHsyp~K>TfDz+| zZfO=Urud<2*T;Y%hJX>o_`ztD>I3fcM&BO-#?u%-7*?tAjQ`eeob47P!1yH24=-1D zpR=uevGXj*kU9LoUaz#fQIrlwfHBPvr7u2usO2AiE!E9={LnxA_^|u^!>-c^@ReoE z@`KfI_*c$B%clNS* T%(?z900000NkvXXu0mjfkSqrB delta 1069 zcmV+|1k(Ge3BC!CbUgqEbV*G`2j>O{12Y^qF3Y6=00bdPL_t(o!|j$qYa2%t$L(TW zf(}*eHbt}njTQ_>mv{t`Lk{w4kj$`=o-cp5D=W2Dl5^;xhw3rx<^P{IZ{N<${+5;& z@n6RBhwm|D^YfHy^>citC@s#>>+t2$GU{}8imDI*snx;>ot+{fLPM$0>CQ3Ojecn8 z^t!XxNQi!;4j?;STw-&|kf_>?SHeXDmav&!KQG4Q8r15q>O*k+5~c2oyUwJ+7SMl! zzHk7J@I6uhwZ%lPq6uDsuOe{xm}z322MrR#r=dRImQHuyJhKMnNlzy5&7w7p4#63wLlG1P+7 z1Ccru>harK^%kYsJBQ6pl1Ulk1V>wF7>6Gj#04S5xJK z^3qV~9`h=02T^VadDx;EdMCZg+Q(zVIleU?h`uc<-+{$thG3Gy$kXl)RPe^3Q2g-{KiDnLlzOQ67tRP^-ph2OV zSKg=-wW0Q0uq+vHKVSjI&9(dD%}HKq9aXufwWq-MF*%OV5cv1RBl^zpwd?6XaSM}= z20jL&Ne!;GAAV@%IG)m6Vs?L=A7)_#R~)_3EqxI-du8ZiHQIWeVpdp!&x&}+gnQ() za#6Ea0_|y~w^M6!E!nMtF4?;LxQ^SL@( zV`DuDxV6DGiNd$oGgF-|Nnhq38xHFZc&5S8klcpCaYo6B9nQgF&@z9DE8(OXJRw)7 zqb>Jy6{p`KOlu>gz(VEhZfnB)gz z3NT{)FbxlNS*(8*^300000NkvXXu0mjfG6xKT diff --git a/graphics/pokemon/heatran/back.png b/graphics/pokemon/heatran/back.png index 401779397dec94b003ad84650100908019662305..54a1e36020ef67ee744eafbc0c1368ba0457b3c4 100644 GIT binary patch delta 548 zcmV+<0^9w81&sxeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0p>|WK~zY` z?UcW2Xl$c6;w%E(3R3KWw+Mx|C1%)>^IgMIyBn z-DN^qJ0bmb!0LT<9q4p_+q~DWvJ#?N0 z^bk;59|X&d$)6chKh}Ez0Wn~Fr{ar20Qk8AQgT@0rk#L-fx_2+KW_w3quaNF9Sxa~ zD~~edMLEFh*a$2~NXQQ-Avk_z6L8i$x#XXz$3svlrct0LS5{O0);x(49T1RZ%cz_P zK+4z+d<#Xhfk^KKV^OpZ|$Q3YS6i~~4Cz@)&(3YDr=E%o6gNvB=RALj;0pvRJ{7O!$O zyTl&M|CgLz8SK8Z9j(pmk}f#_5Wsn3owM#Nla!AVxd{?AbpQ+WF;LcZJ5(4Y@}K}f mbzvF8*TUId@);i`lH@NU8V0Vu4V1_L0000K+dvS8 zRjBk+thR8j)T&4zg-{j_79~}l!Bt9=1>@?ja-GKN1%hGk9S$roh<&L1vzBzL+}Ztw zn?^?S`JaDgN1G%c@t?-Zdw(;3-fVvP=j*_|wZAtTU0%zlJ0h~ye_kb0;^?juhG<0k z+W^^Jc^l|#Tffz>A&oFW0$wo_{f|d25K@B}-YR869s!YIEEWU$rSZ1swn+QatRa{Aq^565eYK9O93Daqzi4sQL%>+OS7O~X z>!T3n`*JTJpazWZf0Tb}5CDEGfRr5;IBBP#&_Lnt>6HL#bh}oGL&GNY!lMp(RSfWY zX#|!dB;<#aQWC$i5jfkep7TfUaUWFjaTMsu73G-!(mbjH9Wan(^QfE(Kq|y%_*RBz z1%aTTadKIfO9uE54^8t}@T}%hGm(oK0P#n~c~R@|-cNvle~UOTeIMR;80WNTFZKeU zQ-0oWgUL(ec~rrdsgMBn5ilyqONG)@rqXu*oTTF}t{<7r00`iHP0o=!>m-%cs1PJ7?f@3}GBD)2Eh^{{I9>qLg=Gl0g`@4q d&HawzFCrQS5w0G#iYx#C002ovPDHLkV1m|u`{Mur diff --git a/graphics/pokemon/heatran/icon.png b/graphics/pokemon/heatran/icon.png index 4d05c52ae01376c7757e1a50542413fe985851e7..a2c7126294eae592fd35e34cfc3ad6328a5e4f45 100644 GIT binary patch delta 299 zcmV+`0o4Ac1AzmOUw;7%NklM_agrnKbEgh#X?+q;aEk zzN=J_4kHSs^9J;=P|A!O)A7Ty!_HS#FTQ|7xn&;l#3^1=!1_&U$2_%bAbXT4v0b~B zNP&p@i|A2e%^bi_dl9D(mn!I%ljx%N?|+|;riLg#8}&F08XcMD zW>Ww|ZTdk=Z|NQ;lY*u;ch!4kI|eC31(pJ&Cdyq6pbk|u(NwI2*S!JXne?OlCmt1| z2vf`Z00um>D5o&iw4diIXS(8XOvvSh{K`LO|B~zZV1SQcl8+6{=7Se7yN?yj?qdN{ x`dGjeK4vhbk0cq)!AAyj^pU{)@d5lqAHOQ($aFL6y1oDa002ovPDHLkV1mTfj+_7h delta 336 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 diff --git a/graphics/pokemon/helioptile/back.png b/graphics/pokemon/helioptile/back.png index 6e8d1409618a4be44afdd9eb9ff3feef0a9e19f4..8931caa9f887c040574bbf349e4f2402e0e4cbb7 100644 GIT binary patch delta 449 zcmV;y0Y3hm1gZp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fR|IK~zY` z?bE$(!ypg`a8O1sAhEPnhBz+}g)SXBIJu>d=aFXW7`${%syu|%nRh81A2v8nr%D}i zlLNo}@31hr*Z-}Bl$%@oa$DDHIls>VU{}}j);^LMK>?z;K8JuL)-wS-)wKw_Z2!FU zIaea6*uM&BOz)daBPzRp`2|a3<{~cQ$@Gmevk@10F~$bOh*jCa^yXWpdWQX`1X8}J zR4o824k6XJENBX#@)Bi)m;(75$a+wCP~{L=j|t!t&`iO&hbTZxCm`>^@OrTfj3YQH zfcwdK+CO~y3ut?U&jbO9qU9uk?HYv#_SRuOBLi5}C`4>{a{c3fRJbN;cNh^5by6+K z0rf0^O5=cWEKIepXaHxek8A|onshFJO4}-deP|*$JJ1fG;b9u)0S4&Nl)MiQD+Cn= zbOYc9frOpv9Dl@sE*?X0;{k;?_5Q)R_SLC4r3qlMwXavF%7A~wix9St10c%`1ks%j r3D5}QH{-=A0UJ>qe17-(vm)dN?!qMOm|G*600000NkvXXu0mjfofO6c delta 437 zcmV;m0ZRU=1e^qrB#}W-e*gz`Nliru=LQD@HXS`)4|V_m0e?wEK~zY`?bSVQ!Y~vE za9fO7Y{^SoF%T|*aF-4p3|@M?j4o40oTV#N93txc?oxj{b_m_74!nh6|MGuMumwW* z`nR>r|r#Cj%xrn(kke}>J?OP_Nk0<--q zlL7|cWE#ZByqLvS@N z14IQ>S*(s=Q^0=%qWmEqRK19z#{|#`5K|zEy-Fpi+80`@DRY5wr( zH=yYej)?;(ijJZLf41vQ24>f}e1bAqv`(ApBLnXkT1<+`>z;uj= ze?=LbwLX#&uw&f102*zo2H1WCaJHb!K+v!n;(-g$qgB!&T&x^uTtJ@z1qZm?sowHO z7tqJYU=%#S@=d*eP^x|PDy|X&SZvMf)u{^LFWp86)5i?ZE3yDV^yfnYID&X)yf`Ib fBFO!p{0l5(6;^MY#dzscFSttzx5Av|=%v!&R+;$c@Qw zqY9a+s_PWT8z6ysM86-5A#aKyS1k@;e*mt8ZN8qHIZ)+(G6&kR-Xyyr&14IJt?dF2 z7Di^x?pb1iI6zdBRFnWxKHS3ulXdnLjJk~r8x5e)KRySB^H4yo#9TF;v~3rJremJW zE5#zy77R-1B*DWf-H-j<1bw;C#7zM*c+f#g(4qSgbm)F8{;%DSVZSf@cmmYfhNH$c RvW)-$002ovPDHLkV1j$#VZs0a delta 251 zcmVO{12#A2<;I`@ z006d0L_t(I%k7dY62mYIM12FDC!__rT0x8gS`ZQYa77`OU`)Jin53DqqE46Xj;-Ik zlzv}?;73F7t*HsHKLPWEWVv02n4t4x5)+JLyK^-~hH!BK$#mEmHdqOjS~YDGF}T{% zdgcywL9U0`S%tSn-L}2Ng(Y4@(_f#3a2_;K?^|;x9pwu5=~!m5ND=c~96>ox>^SUv z^0BMw@@8SMsRC3`z=74_aPr}BIQdvp;6uO0#|zZihNF;ddn*6{002ovPDHLkV1ins BZDard diff --git a/graphics/pokemon/heracross/anim_front.png b/graphics/pokemon/heracross/anim_front.png index 34437b819ebdcb693c69f20c4b73f7ae3570f4b9..42644365509850ec19cd3f2b78ddc2e531c111a1 100644 GIT binary patch delta 1171 zcmV;E1Z?~M3E~NmUw;H`NklwOb3xKLsZs`cxy(?~{*|;>B}LeHZT^-VayavSj-r2cz|v$A zMJh|?=i|F5di#E10nL*SH-Pv)UjWKY65~P$k=o?tGJp-@(tj4FL)XTAN zgp`Hzh;@z4454b*wpMF&a~T0gWrG^An|T(orVc-q=$xMh-Y~Fz{t1z0fG6$n}47~eZfayIfTKwku5#1b6wrID!j3Yl?#3lBFNZ(D(tGf|saWi$> zBj7xAlljoK_K;TSjVHqEd~mYsEXx`&L_kF8Rfwi&vJAOGc@}sTIKM4brK;h12KXMT zB7x2OQz9;TNnIX*oZsN)q~F*Q{VC82aB^74P~Jd!1b+nQ3mIxe@jT@NfF-8_e4NJ& zP``$%LGn|?%>ZZwoySDoa1x~(!;6*>fQtBWI~Rat%n})2L{;5%l8FFN&KEXx9ECt8 z5w5KGk4JznHR(gx|H_{fI&JL;_{gMK_c18gf35@|Q<1f{@|`?vMd*eYcQ1+JAAAy$ zQITw)D1Sgd054yKx+m}{^+6Z`_GZ27Px0Ds1^mZA0Dqg3)jl18RlibfxitU}`3&u9 z7rpLI6CQuSW5Fo$tIyHv*^^lBe>(yt7*50QXD?>|Gabu;FZZ%3s($lfXy>mU<=IH- zkKH1m;II9X{Dhcq0BU^$h}13Mza8-{;Ne#M0)H$WQZz@so$O;HkgJD9vx4SJL7Kpl4T$N6kx(A}oGA6fxTIVJSb^iE7zYiX9X580fVwZ{fM0q5iy)iVE`p0W zAV!N~O}L2lZnZlBu3g0XrEeG9s=VduzS`o$-|IgE;8?Tl&>)l5xDaqV{xTVu<@49rdxW6x+`bQei`7B8mg;O5JVF4prUJ)HHv+`E z!5W{QA6+mRx`soyvjM0$M1*bd5K>-Z1%L8G3@xO-23B@)0AK<@hjyu$Fr*){><+|Y zZ0?e9X(!#8B?uU}M>HNZZU*3J?G!{R$UE}s4NCNy4$?U=LEc3<4JRa5L0(Q%u7hx5 z>4N5@qD<{s0R(mL)w=)?={lc31*$d@FLGfruvd2mLTu{Na2)^%UcP(bQuq)!0)N${ z3GabEgefGrhqO z;7T?ld33%#0uxaxZ(#5bINe0p3PAwGXiQy%VaEX}?*W{r34jY+egqAN%QQq6{=r-u l&U6339_6x^{_p+6KgkS8;R@Z56bt|W002ovPDHLkV1iuOE-+%HQVN3WWDOl49U;vdEH3*1LG}fL z^eUZgE=Zb9s+2)qE<;N4Ux~gdSDc#Fnm?064rjj4QS`q)5Pup>qDW-P@_4+7qBrjX z6G$F>xC6x7JOGrtB*s7pk=W&B7{CTGw1n!=bae2tZ!R4ojn-P!*GLMP6 zaVJ7HiYG0>0~PV*HpT&kZSVhchu#@N3kg8%SN$UPOghSsl^|SPe79np*?#SOeJ zaV6G=KTbdiiqr7t#f>@qN^n*Jblnuiu=sR?jekvpJu{`h`XC_SpFXEZ|L`t}6?BYiHI=X|IEBej`0N3iA>FIP+o?ji zePdI53xI@sFCPx*CxE*q$l6-~#QpQnL%WLCJ>(O>w;&%C-g$(PItPZYgiB5OkBX~ecDo`ICX@Bc%OoKH(JwF<6GGqn_vQ11f3N!R80Ie$>K zk@F%~CIbg`XTZlMt_{}_aKXFpUbz(B1WrITYr+R$2*J*ZNIL;O6Su9UZnXzk-Roq= z!N<1k7-^LChHGuPE=iI+960hL^w{H!Iw z-3xb>fW82yHxc+;KRBRl?UM+!ltZ_#fOr68ygLwW_BV`GZ~#O|${qm#U;y%60vt?B z)TsOmK*KKqQNx@;cHzN))OXfJ+4Y_e~d0#2(O>0Jt;H673GaQGf)ncuiZI`iezNK7E_m zHcP)#m5p8E=V6ma!VO`vuw+1?8{iVl`?*!yhU;MG_hs2_A*$lvu7M{XmI2mBRIma3 irsF#x@%{SCQtAtO+p$o@)h8nW0000W zAa`MlCI`)HI|K%P=`!h;2xtk4=>Tl;9~D zUuxTHou(=9R(s>1e>ZeO;4A%fZiYY|WiyP<5dglaEC;BiO91Ga^)R(90&(VzX8`3s zx(on2Pm{|M=m;$W`P#4VY|F|tHsNWpDnGam6FQZ$Dr0{ z2{4{icpDP311>Y*w=e#1BKCl~IKZ7DOEfzGM*%#*>eZJvS=AMb=&k=UQ8r7xQ)7Aa21{#+K)>TCnCdHWYGN zM~#+{i**AePhu<9T_FcHE(21w(J;%BN|`-**BHtpcx@=vmBJqCp$YQh2jb6#p}jC} v95qj+FmFHX-j7X~=*K2Z^n=O~eD22+B0bPgBhh@*00000NkvXXu0mjfIzn;I delta 286 zcmV+(0pb450`&rrV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{12_!HZ2}4a z007uYL_t(I%jJ?w3c@fDhI50tjz{naUP$=6nQT)Kdn7MWA>Fj0MMyS{5!2?eawp@5fIrhj;Mg_djz05xT~?=_Ap zouIb2xMSK04Fk>(zI0peI^Q-Y#`cYC4MBmeiY?D!wP4L_Y$)WkjvA7%7wZNnopJW8TlY#;12!2N;Z$r4$3yk3>5&>ica3TXD z0X{E%-z|=@;TU4bE@Yy>g%8;`F@Z_~_9s%%Wdksvas R4gdfE07*qoM6N;tV1l;aui^jz delta 409 zcmV;K0cQS?1b_sPB#}W-e*gz`Nliru=LQD@I3^O-%iI6}0b@x-K~zY`rPR%lgdh+F zU@-z+@NQ8H31|X4s{u?`bpW#m^ABOgpP`|(IgH2g^Swr7s_O1ieI;MI0Mu9j`cZub z)Ch%u843ZjJfoga24tIO2@(*%*|04_|D*w9bME8` zlJl#Fxrq%|V0^~+d;&;b(36Y+{6C~aIs)w5Mu7^c5%lLzBm&3?5JU!40=B&Leb?B( z8}=c(Y(pFcA-v1Je+dUB30R*6EUpK(|<+!Z%3HS#9^1qRx59SB300000NkvXXu0mjf DV1lc2 diff --git a/graphics/pokemon/heracross/mega/front.png b/graphics/pokemon/heracross/mega/front.png index 8cfd5bcd2a207ee5b31f914c09bdb06613cd5558..70ab93ded303b1975374c831029111b337b6f961 100644 GIT binary patch delta 768 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 T!2Q0{00000NkvXXu0mjfTSSA4 delta 868 zcmV-q1DpJt2et>0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lm}dhQ;@2 z0009SNklF>jkd6o9deP{tglm8wkO{D5H0*5TY<5=9k5WuEG89S}_3EZ>wV zvXr$$rF4wcKhUkepno7pp7<|)cNk;t0IO1m4t@j1e&0PFPk)B{4C54k8RQsXpNr#Q z)RiB260k430aqS-fUzjh4cOi*id5Gn2Iuw|5OBLH3|tA=-GFC@Ffwf0qva3Q7qtaD z{21dEDj;hD!IkZWiupw_+Hh*TDi-IHyZ%>JQ>ppNSbpZKYjsx4ZPjICgbasGU?xU zPmdp-JvZ0^*-9DY>$~q4?5DSzWX3sd0;3R~E>Z*>`E|()1qeT-uz36Ivhw$3kvH>a z5GOclyDVTOOf7&@5aBain5Ni4qKsj)k-)qtZc;8onSV5d3#_p~U|Z&uNuJHaIED>u zqJme^C^5XcrZm2WhiISYt7eq{CEsGEGg*pmropHwRW%gdA3uP8r z6!C=fsE~na#*{9WIcG&70X#6Z0M7sAb{2`Ha=kcJddOd#nG@wAn`72tOaWLz2yrkc zvQh46kAJ6`_=Nb(!S%W0FdZqk`OeFl>XBRLO zK-=qZh<|AT%*fOTTADO`1Sa^ddrzoIoVEfs9TI#vO=g(>R0qtlM<>-wjJ5P=Oqt=2 zo&Gnv*}C!+r#MN_Ka!yIhy+>dBNCLYk4TUTsDBcqZSJZB>3||ZnWhJd1gQd|Nl?a9 z+9yG1C>iaOAnZ}m14V+c!m3|_wmk2bAZ)9&Z3r}di|ju>?J7LR(T--v_*op_j0jVf2aqw z1YK=;B^a}&9^g4kAg&BVD1^SbEmj9z~bz{wx})A$48?wN)MV92}x0000xnuCV+sVJH8~@)B*UKDW~@V-Ja;`F!uiSjYKeLDA`1++5Z(SKvT& zXH6ih6t3(8qBZFOF6#jo($;XLl$RKAtKWlOP^JC}xYU5bYkvpK=ouJnP#`C|0%aO( zG7PXI7-a~EDH9W20YG?*0$PJmrZ}M7fGa7}Wp|qdfE(yh%ImBT#5L$vfEqle7NpsB zi#4I!sK652C-JETOr#msgxQAyzQ7V#V8RzeECH$4>Af6c366j>IYQP?6{vty`vx$E z0`r!u3<3cmtbg;+Djq&hTaSl!e|ib-D!Y3^cfbSls>UjNOz;l%jZ+$_L+4djDSR_V zN_Ee|w#O3~lm?x{NX)Zl1aN2r5}zsnP;F2(nN%%k@PIZ+lK{X@*JuI#$2vx&#t0xM z5xviq+O>gK*zXO%RD-AmymdkS0Jag#hy!5XTwj%Cyi$m%zTgmu`j|JtI)5pXvhej) z7_cV|;C<#=l;uKS0G#=oGdl;XJhuX33ZVH(dASV>ObrJGHcR3B$1lVea}$&SO{13DH4IhpbR00Fp3L_t(Y$L-UM?bhbk8y#k%`F1>$IlYFsLm(q`LIlN!) z`|ghj{jnfm_ag55RnK8CVC`NVa65&=y8vr+I)FnvzzsJ!9DmMv9|Dg3J?I2>>Yso^ zH0W(wU`j4PZwmrGmKg|@V4FdJp1?2zKujnb%M1#H4A>K#M9uG^Vzb!Oss$t z$d>cFtP8{y*Z?~f%W-1BEZgm%B4imBETMH`pBO;dEQ5;B>(IbwSw|5zd^Uh4z|}Z; z;)BgK;88wA*MBk)rcUh&pcDjpm+cG;0HGT9LZiI!b<+4eH0zT?>MgRz7jOk$ptouy zvgZV@P`*4uB5`bOwVlG(Z6rkdEKGS`q8cGV>o5}it!@=KHUW;$859srV2ey_2@)*e zlS%>w_A=WX002ovPDHLkV1gLQ+Is*1 diff --git a/graphics/pokemon/herdier/icon.png b/graphics/pokemon/herdier/icon.png index df38c615130a670aba7ca7ecb3603669005cb9a6..2798cbdbe67c30ee3eedeb4642784edf84590cc6 100644 GIT binary patch delta 326 zcmV-M0lEId1DpepUw;87NklEN;m zI@?heyJO-YY>=C6Qbciq#MATh{CrCNp#!Dh-4g*w7s4#@Bj^8SM+IKzY#5ipd2(t! zqM#3h?X0>8yzn+VXwqYWS(_Nq)Ts>q@W#o8>B=j;5b3tD`G48|i@LRKvV*xdv^F@^ zsgA(CAYzq@bujV+al+iA_rc&)rO+toji%b?o`D>Y6*z|=`;6c^rf4drDC(b_vN6!l z1YZtg(@~I96ce11iz{qwcgzw&L9>b5KYDYqIxP7R_j`PN Y1C5KdDb~vfxBvhE07*qoM6N<$g5(vRVgLXD delta 364 zcmV-y0h9im1HuE4Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ln1V)HECq z0003cNklb^l5JkBGMf&6xdxEL$#vC9G+Zk=+>FmoQZwEwKL&t-M#{!}<$ztep8+h}^QG|TuRlZ26#9+&_)2AFaF_a3#$;fR0-RC|6P6Pm5Zr1Sy z9{?K4jNS(Wy0dkB6{YUIs^dE@E%6!x?HO_RBcnD&V*li{gK_mt@NF1TC4s6)COAf? zsu0ocm}P>3LS>V-Ux5kN8JC@p)3OsljEZo@x6yLaaBTl$eZNS#iSBV!&|O`m6(SdW zGdHeEK$md{lqgJmfX${XgeCD)t|S*V>kbT^R!<|ee31J+KE42ri?u1PM27wV0000< KMNUMnLSTZTJe=GB diff --git a/graphics/pokemon/hippopotas/anim_front.png b/graphics/pokemon/hippopotas/anim_front.png index 2470244f663cfb6f443e669338c428b88399d535..74eba5613fb1599dfed55e3ff0a6ee5538e639a7 100644 GIT binary patch delta 983 zcmV;|11S8@2&f2GA>wlP8E=qzoKBLuPhKnG`o{f;*(p z6r#lW`0wm$Is04II@a-D#VwohN)fQ#twN^=C?C|lPJsk_LuX#5aR0;~ZF z=CNJxwxLtrr}=J~fLkp<08pU}UE2iI0iayMFL>=5G}l);X~82AXB0%yBvpf6R>CGh=`e+t8@f0WDX*!6vX2;lGDtjI<> zFAovGYM-P8UVq4JtOAT@^C&-j3esN=!P|FK!nW1r6rZMfD53AAO_^oas&mu z?ecc_jt2hl{WMU6Ljv}AO_9Oy@rZztAFnm5cSyO6{{VD!nZYiOG4erI!Q2+z+$NwU z6XF;r`*@&<+OG;I@v5rfP!YcL-v}|*5^54BExzs2H-ATI)M5BUyqsx3J#*r^YOFIy z(9bapAptD?jP15aU?2n$v-WF9hOqiV6OJy8RsWz?a;gNbVj$}uC?>tX5tv>O zFoG5TKmwlkK8n7m|3bTiw13dRzfm;tdQEv|@DB*Q>m@)CYoz@HzI^9%T*Y(R)&n7O z{sDn|VYFC$nK#Kjh`fKWngPd2d`7z{2vErR2YkQ(#B=!tx`V-h8~j7^exIq+J>?&E zmJ6+hrT0_)GWZ84b{8?9_YaH=#-PX@kbS5WF>l*A6vtH#88StVhjxo;JBoX~!#Of=v*TAJw?~tgPR?~T4&dcF zB`{ECj2blNY9Nb~>tLWu-F|^Uy-!eQ=vXBB41JH399v?&9DfeT;5S&Z_|u<{6#4jf zoMkNI|B6R0;~R^B^;QX*i-6*OC1@^?V9$eUu)h$fR;&LBC;;XF3&yctX*Hl(+@bNV zS*M{62mmS+q2=0u3IG%fc!SrLMPu_%Y=C3O;TR1B`1}|+Kj;ITs11Ii6!0~N9nZG& zno{AW!sto_&VPWjty!R>bkHS~vM-h^0A{;4Bk)qq zM;2gwz8&Rzzk`y~E_maKZg5?FIm5SUB>j5;G~fehB1`~vJncaPZ(6+3dSZaTq?`rH za7e&5FKaUF?e+=i%Ve%urAf*~`~uK4X@*1}+n|~URtGGKqT$tNnvv?h?c`q_A`$)jmCF1MFXjEi<@ky;1_+dj zVDS$ZZ3M2zBYjXHkn<0#?SBvmK421Ma52a~%&83HTLgv(oVw&6FpHI=IgMXp%;5&J zJbyL*!CmK|TYfSWkh3VHvKq(JSIfGWV5P08CfiTgS^>+`r`7Xyei+lLXLy@igr;Dkn<0?zu)4y{1V+kx63X5A>H5S`gEW151Z48*4@(n)c-90!Aso5 s)Cpw$10#dcUE~hPK5Q%xt%n`o0TCi=1BIkPEC2ui07*qoM6N<$f?&wzQvd(} diff --git a/graphics/pokemon/hippopotas/back.png b/graphics/pokemon/hippopotas/back.png index a1589aeccfa58c8dd3840974364eb2c105438825..b34d3d7209e18ea27e9a296559eb5120696a3d9b 100644 GIT binary patch delta 398 zcmV;90df9{1mgpcUw;8^Nkl6)wFjggh?htz4@C8p)sp*+0>_@ynTft--MTSbg@0KDDCQZq$4K)$&qUBS znn;faDEpHK`VE5$U9{d{W1T{EtlvTl-LG{D@Tm$a4*A6V<69toj_kNxR`3`83Dlo=JO$^=1(^TMK)V8x2B6S{ sUI6_9&{~6b0N?w1`+fkQ_(SmnP~5~k(d;P|00000Ne4wvM6N<$f-Q!t<^TWy delta 437 zcmV;m0ZRVk1BwKYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ln4PsYHd2 z0004PNkl`h}D47=D3py?Qaq(CTkZ9u>e58l|FjXjWKr2v+zg|HVbMIuFhdH zw!VcYfWgB99iR_0(uuhfxFW749H0Y$R#XWao&MMdjA#>PIlcj)@ezoT05eK_ZqmVs z!DOI&zf6OC2Q}yO&l?TMgk%ndTs8(jWQ`_(24*EI?(nE zy0C^uNs;kRM?f@Ur?DexcVex&R_l}4x0n0V`l>J_^huceb1D)S#KPw3n{Yb)y ul`zSVAWY_m7iRV&?dgPB_~C^4=*I)2B-mM7op|2>0000O{1ONw2Z*lwp z007QOL_t(I%k9!J3d0~2fMIXoIl82CmtHc{!;+pOyr6SQAm@+-EA3QLv<5X*p>v`1 zZTWeE#E+2QAFK0k3PmwTdCtPk)VplORQrQYPf=A@S9qVYMt_2A)U3mfMdTBo5XRB( zqZ`hL78)N6TMNz?#&ite+B_h}&?-QLQ$P6dU|dNTIvE1RHFP}(5w5YIV#o)v#6TBB zv7n&a-Kn+uUYEbblK*@M3@yPtbpgh|b^^xcV4{x=j4Z%xJ_4A;hX><)kQ7YjV+Hfk a#|xt**jdplKMe{10000%n0cGc@0ZniPjE%dL7p;jHT5=&m}0lr=@e0QalzM=H4^hf+sVEgCHVzm*6By2%>i}?Kg8&GiR0x2_R%h($N+splFeN`CZ`zXv~nM#Cl-%f;a&x*nXKcX;l sB~0|g3zPWagh~8ZgvtDvh56{m6Dm;DnQd5T2mk;807*qoM6N<$f^T+hWB>pF delta 275 zcmV+u0qp+D0_p;gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1OOqPV)Ow3 z007NNL_t(I%k9$93c?^1fZ@G?4-%{g2zt-MhCalu`=dCbDqcAIR)*4v#9 z8DM0+J8@3my7HH}>ObEBLrO3YU4Zegoq%yUnCN2#BMUIAj{qj|;lU(6USKjG3z&~S Zo+?n(ne#8soD2W}002ovPDHLkV1nEBbo~GT diff --git a/graphics/pokemon/hippowdon/anim_front.png b/graphics/pokemon/hippowdon/anim_front.png index ae4b104a73008e6291196f380d48b377d28588f4..4dba701951e177e02fdb7476e29e2af99ff82d8d 100644 GIT binary patch delta 1167 zcmV;A1aSN03G)e%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1WZXpK~z}7 z?UzAl+(s0JXA!wNnNiqFF=a;3OQE$i8^_tM3B>}Z&_hbl_E6%o5uQu&B@OuEn*$NO zx~JYkDHPFL4?g%*(qIa@n8kY&IG9`|!`@eYZ$@itcgMY!Qa`iE?ECcIKcm^1U*!K2 ztvk(&CC|7cb0+jlcICGtxBzYM=O7;Qx>Vv~TP+!gwYsri7^TY+*< zF(NO40Rlx4)WE?C=>d>sn;O7iBKWi{rW$@aaIy^Y*>N8Q7{C)n@y-BF`g4cg{Yz%_ zZeR5cFc2OCV111!01vENgTSaMrTWiT)maV1x$8XiWJU@jJF;qF(DvISAc=ctLy-D`> z`aA1+jxx9VYLs6B{jc{l@G4Sqo)5Lg^%0aRiuVsI1WvO*VHS2HrG@}d+Ez#cP!XqPrTU8YTB_T`Y7=`cTxr8q(y_Hb>44^0{>oDot@OsV-mros-yh*^vh{w~adnSRlKNS0b2Y38S84LG@I{xFwjOO#mQ zjLgNHfD5t^OaGX?iJQ2Ie=nj4Khd@MTew}qcK7(2Jgv_f^^7k12ZEl^Y^Tqp;uima zp3vMM2spYI{lirOII#yd|1bq&PF;O4&-;fKuRG8q20a%2!zJ+h(eu?EX7La08aM*L z<{w&r^(4gN&{G!w(4rK58UmsQn*M>dv?q1(Gz;`_X8i*dXpEqv@K#k!&Dq}Y4=rv0 zaHc-D`3D%Ut`NYX!|or@ h3RE}#;XfXP{0-i#w*;G4Ngn_J002ovPDHLkV1hfiAr$}s delta 1154 zcmV-|1bzGS3FHZoB#}W-e*gz`Nliru=LQD^06Sv<4SN6p1V>3kK~z}7?UzAl+(s0J zwTN7u%qZ-om@*^irO;ZMjpJSq?2eV^X@XEZzWf6KD|H_^G%ycqJ7 z*+Q&XlwCtmE_}{iK{+!Q;DW1wi?IZCIj;%V1Q4n#Knp=kfXzJ(fRGgvP$}RJDm4NQ ztu;^+V0(fK0RmiK_{`A5rc4AuAUp;w*b@UloB(43itvvj6L3G?4T9bHM;J`k09f8y z9N!N%;`o5_?zU*Ff3W*;+zY-);+KR-=^LJy-QNcd2cowj0Wi&l-Fp-R5`T{XAs(^p zg-&)HzYHG5`v83P!J*HICl-jc_(kw}>;Ul1XNN9#T_K!>u|f+HtV;Ra5dfSC;mwyA z90RcjK=ko*m{B08cc=OAZ3VnRmCU0YA0I5F#)$3o1rP{~f4Zw9&R~6V?l(s~0ALdV zDR(3g1d6!L1%x6t(^U;fY(WV39D~XlVEmouIt>k1z(mRu5b(+Dys>_?$V*^^K%V;* zaIj(x07%nK1z=F_e_G_VhMx}XG=+S6JVXH+aCx4;(}11)+#`4Y5-GVmltT@SxJv<8 zU#WmUlGhIse=m7GjGkWhaAx^=Rsp{blHdACKS_pBRt$gsjZWxRUTEOfTD+I0YsvocTX`?bPN75uRZh0@e7OQ%eVL|j;{Cnh&U%)i%pca$3T2dKW2JF@0;Tf&{lgN0)AUc6h22ofe=z`rbS07i6#2so0H!j8NqP%; z?0~;efe)N2GhZ_7tw*rm;F!_g0H3<&0h4$_g?7zz@py?l|&v+%0`%JlqdH+DQ1SkRS zc%SJ4bN->@Dh;mZf-MGMyX7BzwEge`g6{`xBHRAKSN5L?d_Pz=`G+aLisekS{X+?N zVi)+pQZx96qJ(pM>f;N>y4gRdQ-6vz%>E%SH6gC`56TtPVfGJb1( U1T{i_zW@LL07*qoM6N<$f>zET)&Kwi diff --git a/graphics/pokemon/hippowdon/icon.png b/graphics/pokemon/hippowdon/icon.png index 7a6821e80d8458f30ac07907838fb58ddada14ef..d81336905c364ff06f06a2f07aac2fd87af959a7 100644 GIT binary patch delta 250 zcmV+?eR-xG&7U@0I3U|;wl&;U|AL8g?!{D?-r5VwV9P8H0(P}?#z zm%1P#cDx&Bt(jR*a)lVD)GZ(qIT2|bOwF>8o%C`R806{z4s(coMKEoEmHNw)l2RiD zxtm0~MpJ!s0ki1cX#I$Jgd0+V>iUleA`}k}t<8 delta 291 zcmV+;0o?x50{Q}wV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1OXdCbsX{l z007-dL_t(I%iWSeio-ArMSTM!x*qxB13AxtXm2pV%qkG%h^z`Bf0VdsNxJK<)$*Zl ztj`PKy(bO_U@0I3;J)xnpaG;R|L}rSgAiRDJeBlkh@8wYc$nI7ch%n zjnHLz4NpCO>U^Rwb`WOsqY9HX pZGNo67`sk)KOFqO{1OYXjqY*s- z0072GL_t(I%iWT(4udcZMDqve)Va?8|5TCH-Ns_i)exX6-MW=XSzde>`E;fH_Zg-W zh+0?*c?>*2OoZ_b6jdp*Ne2}c8UOTur+MzLwrJEH49W+CI7N!zM2RWzquOEe;f?kNC&+bujLiVlYn3D8YC!jWq=G z79+sC#DE0j#lS^?@nV)!0>=4>!MKB(#0T>SeLMkhtc@KPumX($0000O{1OhO|3`j6u3|s^l pFJ?IE=Z diff --git a/graphics/pokemon/hitmonlee/back.png b/graphics/pokemon/hitmonlee/back.png index 95f7a21df702a6ca6a7d4e0e4c925a8a4073c1e3..303f139f590f54bef1f9b162bc4c1e3797304306 100644 GIT binary patch delta 601 zcmV-f0;c`N1=9tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0xU^HK~zY` z?Ua#`7JrnuhMddd_b{qqAby$N3|5W>gSAhP_@O!@Ire5_@3EJ54#sGH(){N`3jW)_ zXrF}m(4T#N%EkS%f2UNQ=RXz+p~#+=i96*j&o}eHccl`D9J5_G0N5BP=YR+AcZ8gc zka#~w*%WgT20tH>%*4369N>#dy4t0N21xF~h+pmPCYa z{c|Eb5HE}HK)NjA8ki9g`Utxb!0ikmoqx?Sb}vIaR?V-eQ1PfV%az*ma&zo!-&*Y? zL<&+uGYXLa1!?-zYu7oTbX%#@T9f}VQwT+{I`+NkY%z#PdFM9?u~J`N_8TZx$CK%s z&VS+n=$#TuYWPW$O%gDm{oQM8YJY@|Ir~OKt$2K+qzKUTC)?t|11Jf2J~s`IzeGwp zQ_uEH60GrnCg6DLjiv|)B}f7*Th*2IiIVz=fV0t2@>QmwCFN}F!FE;4Ku7=p9oV+6 zsHx=2NQ=fct)h|Mm~sC&oVX=bxVncE9f53sDrsk5z&RvZr<8PB<%yf88?hU5ErC%cLs@ zfH4D9OTdHkTY@h}NJfC7?8>DG0RD(%A;w+e0XibS1+ob+DsD@W!3;=01SrPijRcqj zH^mG`A6pX8<~;MTu2G4?NGJ2vgFsZg<3nioPG z%yN4g8rNEBB}4);e?oH#kpKm0hx2RSTcEOAsnb%D|1lQ`Ww1F7gX(oTipb2)ZyaJF zzPucEP;O3VHMG6P5s-Vq1efrWCYvN+K>PdGPBrcb8Jp}|35_u08zp6cYB=i-j}Aai z!1JYT&G>Vqq;v7CFC;-L2S@@==Rrw|fKUM^u-0``YnLdge~$>bC>bSRc?ObG&PpG3 zUv~xwrKtoR*mbt388`pAMy1=%Wx>sYY7o&9wyM0-z3P0Lv~r*yQix;O3D9GqjBE)g z?XuD6o{mauEU&%b&hI*AA4#Ipoo`ktr^&WLpw_zcl?F&dm>bt*^|e+K)Ic&`8e002ovPDHLkV1izy6(Ils diff --git a/graphics/pokemon/hitmonlee/icon.png b/graphics/pokemon/hitmonlee/icon.png index d71628875279195a8f47e02b5fb89b49b0f6c9ae..6d105a435f9f1ba8c75f7920bc55e56e91ea6225 100644 GIT binary patch delta 257 zcmV+c0sj8~0@(tPV1MLEL_t(IjpdR(4#F@Dg?$4biLdc3PV($BFcjGr>9Xk-c#fDIrOI1Z34s zyX|7>ItxPPc1v#@F@`_HaT3%}dx48GT3ka-6CB(`0b9C=H+mdtX$?!Z;O-}RH6k|H z4D|Ulc&0@Ay%*{l}?*1|u>w}J8NT>AO|L#C<4Qr1TzCe{Wx3jaN5tn zu!{nW^*#VYJ*ik_s68NZuP{M}p+2@3z#^Y!@U>P1eUgtSDL$TLXtsJ900000NkvXX Hu0mjf!_aa9 delta 296 zcmV+@0oVT70{;S#V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1Oy1Uys2pb z0081iL_t(I%jJ?g4#F@DhJ6DciLu7C*#$bs=Eioh@@K?h)HoP!0A^&tSmHVQCz2M-L5RK{PX u&H*Bi787(Rfg!6aV3kiZxxdV}_;>*+KAvP9dk;JS0000j>z-`u zkm}SHpknzPuV~*Z#<#$BRk`g!m&jg;1=y%os-+&F)G!Y~a$lfG^)8*IEXSg_^re>o z83@9X|Hqk~SxPg6yic}vhkozz9l$5oKq*`PsQzpxSrm4%^?#?f{e80PSed}nV`l#- z7sV!ZvmDri;G!j0ZM$`p0o0EHF6{4cHEPm1Q0%-|iXZ`bXGG^f@n`$shZ0{zXdcJD z-8y+lh;EH=52ey;+ism1hPwc4c44Jk~Uk1KFxTm7(zrAKElW&?l)01zyv`TOkcbn_e0=UDRr`1|0C z6~N!-NtzNEGd>BIfWZv>B-NklbP$9t9?-YT06>JB#8R6LA!L$&JXivB2wcq(Omlcc zL}QG9e}BteA~?r`6k-Cv`9y?W!kj2wBq5wAo&n}6M5x6k zE!8!olhx!kpq;iI?ejCz6nsHvc)M} zn19&mYOSNT3NU5Eeoc?QQpCU>&+O;e{x=jrU5**gt$hdw=|rCfz^F)^;nL8$GH#%XOoM|6zTqJj?qv zm*@^~B~ZqV6^~=+=e;kNl*Q8=K>NE#SuYpx-0nG~= zxd72a(+SlP(D=(nnBzcW{i{Yr4PfI7BL1-&NV;SMcx*QEc7-j^H zB8bQEX)kcZ%6PH>WQ2TxV+4@{Oox*wAK;Tdgg9L&03CSf1vvome4a#5c1AsxqmD>V zNVkm7^_=EBNpz(HIhp4LxOS1>n?H;P@3s90Ewh9Bk8D1L00000NkvXXu0mjf_YoK# delta 1163 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 f7~`S*=f7N| zf2oWQ$k^Wxgd6tXX#?&g!ZqDaDU@!D0|H7JLfmy6FhWXgD0O)iz(kc32sPhK5V-ru zMbK{-Tm?$wYqjF=skhSzP==|0m{nbb@lTrp<&6-Ck^!ngxW}O=MQT!bD4c;}0TzV_{fV%8syNz>Pqhu~+4*(a& zskf43ATh;Xv1b~02{{0K2hTL7>;UlXv)e!n$N+(#KirSEND|4wZ}&z9lK~lElHeKV zz2wvX8_)w!gcBf#9zaC08*z+u=mEM>)W#6X3(%oiPChzgf85{Jfbszk?9i6VfD;h! zYoMo7aRe$ygs9!eQP;~*E#4S(7`VY@IqrLytu7-ybXXq)ZX;h0_jbRyG++QF&`%WM z-QHSTHH$ap2siW>Y=&I9v3Av1h}p>?2%cW-I4}hQnLQ^lo!v(5E(4*pFN-iQ3Jj4p zyVRj6aD)Tif2mMMVD+Wh)?3sW2vJxl)Qe41rATI^GjPD*tQXs}-kR3iD)EXyWtYFz zg9$$`HSk;%uO;ahuaDvAXn+73Y&pa9Lccrd2%tf%*Q^87Z4{%y;Hb;KSQq#v&GQ|~ zSWKP3d_F$|DmU~|1BkJf)sDi5$Ho9(96CmQ2W3v3CFVwhyg2l^B3)A&rx5>o{s1r0 Vg7WZx*v0?=002ovPDHLkV1mBxJCpzb diff --git a/graphics/pokemon/honchkrow/anim_front.png b/graphics/pokemon/honchkrow/anim_front.png index 7ad94d9cac2506c8933dc0e31eb32f084db82bff..b7cff5cf2e99908350aed25bb408ac053904c2cc 100644 GIT binary patch delta 1266 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 delta 388 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 KMNUMnLSTY%b-2a= delta 434 zcmV;j0Zsm-1epYoB#}W-e*gz`Nliru=LQD^2?PYBn-2g00eneBK~zY`&D1?^gD?~T zU?Y&SroKT*hm2H~TB%twkendS1wzaLXv^NoSvzIyPEUYy0+d7b*$^7Qehe8}4=nHF z{TV^XzdPRD6pz#Jeu~FgI70x1C`Eu5h7mj>BmoW}!Aw7ANCF+Bf1@CLbXG9s=|j9k zLA>G{R|O3wZyW~!--^UlLH8I4fdjG@B63w21yKWHM}->XLhMiw*a5u;$#MkPx@?Ca zlXn|1Ej0JM9tSZT1jMn}bKWEL7X+&h?S@h=SwSS;;_&C#s-4seJzq+j|Qwo zEAm$hs1q>e1SSD1e-smGo<|O_E0j{K3odKW719O7OT`!?c91CzPG8nVLWNu>P{nx! zd{@K)(yTNU9Ke4{GX+DG=W2M_<}&@~?4`s2@gpBn^h;a;AVo1~vIEFMgYK9^P}~H3 zGsf+p8iLC|*nkrPbeE%`w<#|?$^#1KQp%4G=q|!L0ywllD0kTdQUXC1;lb;3`Pl)z cul7&R4^C;}Vr_oHNB{r;07*qoM6N<$f}2RN9RL6T diff --git a/graphics/pokemon/honedge/icon.png b/graphics/pokemon/honedge/icon.png index cfdc2674de4c30286688882e708ac50ead61c066..af720879c8eb52dbed7667ae89255bdd8f6d52ef 100644 GIT binary patch delta 259 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 DC9jYX delta 342 zcmV-c0jd7H1K|UZUpW8?a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LuWkOpl}$ z0003*NklQ88pL8{fNF`t zs^S(jTFRs{Z7DkEVIU(yIteZOnq?W+^r!=+NK=5IR2?9nB2VEZ@fS@8mg1DXo+Li@ z;9yk4ah^D6-qkhCSXEq@!M{9&xrcU;yW3I7eU|iB=#6&y)O!TmgDkHubyl}O_oIn_ zdfH!FOa4pgy{}Sv-|Asr;wG|kLROM<18B1i0E);42=!V@Ya3C86K68s=BfuSrV#R| z{pdt$Tr&n)a=qviG=67n7L<6{gV9?$d!CeN`W6Bn&L)M|n0FOGJ{OL%?qdz;H5==` ocEhPRaDNwvf&05S{GR*Y#8bnGIXd?ZSO5S307*qoM6N<$g3&vag8%>k diff --git a/graphics/pokemon/hoopa/unbound/anim_front.png b/graphics/pokemon/hoopa/unbound/anim_front.png index 6242d27347a988b8aaadb36d5ed98610008bc5a1..e0593d53a8ef9e0db0b3dd312cb9bf683a35bade 100644 GIT binary patch delta 1855 zcmV-F2f+B951tQ@bbkjFNkl?i)FTPMA z&6{6t(W7*uvIOXdq<{T-h<0G?<_V^xTb1NEH$V5#{+)ivIurdGcw7UL)UMvAo7DRb ztc~uFTobBR{d8nzX?wGPh9QkoXiP}!_yYkjI3wGF@a9421vKJY(^J+O-lWm6Dr6he z@@Rk`%DDlDtbe-zsO+#~VxpKKUM^2TWgFeIg`ryPz)TEfGeUb9&b$DhBtII9E)L2g zLs7XP0x!bbt!Z^}f~|w{_$dN>jv=B{UBqmMZk78PJ=i5j)?8a@?7 zG+VNKa8VloViP3zXQ>2G)L~$_-wt}5r=M||i-&K%aDR8h_5`4sMb}mc``u5Ja*R_F z?-%qHFIYIcxD1AtnF^Kaqg#NcH?8Q0zi6*>;Bo2T7EpS&_3Kwd`sJH)mUC6FZXGMv zCEZtw+WM1U|2_Ga-mCu;9jt!?2iby~+fVz-13fwR{`~tCei`^{n}Ka8r3%|VI2jx( zDk0mW*MAj~oO!|f_kIMhNkd2#ZH+kxrwG(^LXsgNt-sE3m9d_WXvjg#q{W_C14F4n zg|u=YtM|@M$oWhFy^RdOigmg}eWUv~8{h8`;`z83Vw{OKW&&7K+2D+^7y*|sLeTEI z&&AZATk#mbp%hO6Sp4_Eb-Mi%;zAv(PK>+eanR_qt<9P8sGJf}|i2NP4h!h7RaV2Ke*60RW75LVxCGA&RcM2&ml503vEG8)p&g zdyxRMkpay*4m5X4qvwlBSPjf!LUw%D%~Ej19=fp?X&6u6jx5*1s`4>}8_j%CfHy!& zFn@%zDRw6&S-fbr7ws64n+{HO6W27w8S;psE)Uk`Ksuz^uxEa|jXVNNb=^OPM!(-r z&cWts7GZgw9=;vA>DQyt7$OlM2Nqi4gG%e%rU3w_DfcnLCIWiW%eT3%^ec=c_0W6i zdx2$RZiQ0C(6Q8T!{Z*S=+jd|V*b+G^M5w&%h)&6Qf0gEbXudHaIcZh?@ovlf6v^b z5MEuf80-z|(gstzB_@K6aAiQQpi=(JGjj>U@Af#)ovvo?ECG(qgr+;C^ zc^6al4RKeT6Q?^iSxhgSTA2{1aoyyqEW5KYq=oe#U9_qdjpXk0VuP!%K5i9&Kc-(B zrgN)F=2wDgDQZ6%8Y-+>#e!KP*xO-G)&#``TmS%8EVut}%0&sOub3S8fHmN z{HP1@z-6_P0VqH4llPZ9fHnf|eLxTjad78Ecyp0s;N3Y9x&H8@JAoo913I5`E~{yA z%Bm6S3m(Z2f6+>mtWEQDO*V?`Kvz>h;9Xf3zmPrM>W?`u$pO7DimBa)s(&s8l-d-q zSRyb!T@?=5_3#bdqx zJI1L(GXn_te3t17cX_zQAVxVmKp{1A^O-FA)Ll>@9(~!Ej?Rv7#eZ@wSG=V_yvS?< zn6cQN?H8im@g)UP_?)MNq1dyrD60A+)DN(vKuTqvnhqf_=I*SzW(aw(q(Ij2oSLA( zKmox;lR^QaEGrO98b+gY*yI3Wqu&xBVj|`gz@A6;4F4Q#-c~3A@Z9hSt0u-i2@zRc z4SRMJ?gRm2^%SCuRewPJo*ljP+7@G%z+JK$!6SslE{R!Z{uNHg>cNNl!ZAz)$ZnH$ zoRtX0eE}34W|G}~i>>xKp)c@c&j4yk`XK5H5!Yhz$?jZw_S>j=4Dsjc%)F3x2o*I) z)(VqhU*1Btl5w1WpWo5NMyDB|f?R%}md|yA$}Z&|a{VC$hB*9GL;Z320g!DAp+BzV t(kuRt|44}6t`9@tBN?!m%^z;={||MWuJpN~2MquK002ovPDHLkV1hszj@keK delta 1854 zcmV-E2f_HB51kK?bbkN`bV*G`2j>O{1PU|>Q21Z~00#g`L_t(o!-bc@i{nNX#?>PX za|w*>h6$6)jO?Vt<|6yamSZJ{w5wYUdzry4O+crtS`}FB#Vt2wm`i8ep)FsVfZex@ z6Yv-oc2;fop>BbYg}DTBTiE|)UrC*5yDfW!!LsV7datU!dVlpw+d%WDf zr54qtN2R8=_%r7eI{NP73nkLL{blDIN_R?2fO<^&?_T$@9T>ZPf+?v+DLPG?pE}t7 zje5*F6ZIYNumU8i+`La~)cFRCo$iplBV?ug;Yd%?c4i*+eHz5jn2>|hKM8=r1=$sZ zGxvPQqXDl^&wts$@HUNxQ6jsTmP0-KP|h_tX59rqX2%^J6U7YivUv#!A%a-s)l(J$`8%~- zlq8d5A9F5RWPqh5YE+5^d@6`wre$bAt_%RN2@?FHIDbne^3c=luLnKOhKB3S7Kg|m;#peaeyR;m2pu2j{g5&Zpo9ztvv#U)aI+SI|xtT;F}%m+q<2sq>F7 zV)%977Jq7P9>R;-O1{aKl2-t)Xg6+2bR80M)5srnV^WhYLg?~SLw$<&Q5gV$gIx+GdOa&l6(Qx{q zVNz7#XvoMOr9m}aheR>*&AmepyJLvX8RqIkh9D4#dQiW>4(KckaOZ~u02uH2?#xX> zbGYv%{TI^b@fLr%4%Q zq&Z>i5Tk4n_V9=tGllF3t+R#zl!t&oSUo~OCT#nNgzd_9TlAWU7DrLC8e=VYMSn486q0tI ziVbeQ`nXj9{u+O->DHYhnO+g5CCUA0sL7CdT;4ZCu-C($CS_m11pr`#+3o+Eav>r4 z1oc*45$9qpZ-3(v>+L$92 z4Z3lZ&SoH&qs|5Z?MGFZ2M%ipVL$Mb)|WLv3juo*;Q7KFtepsFE^_poc+(gub%V7) z4xIs=&pFT1v^Ztu0R06IvJd}4DmHP&g{)B|2f7>s0&j|0@wbwv_5PUie1A5e_Jx>Q zeJHD$fK-_RiX{N;Lp6IM@4upl^k_bDKb@?Z>6f2uljFC;zp1^<=B)?v8&doQfhXA= z$WO4i)_?hR+Cp!jJjejlXL;q3?S9?k@GL7$`D3aO8|B1-<}=4pr7oUgF#x5l%rsn~ z1u*brc4IRW@KZl6{6nVZyAd}9fIv|R3&2?d}{#pA=)HLpJl9gmHG!mfJnyDbVC=#wkNH0SLH!miP*LdAK<*L_0e`BQ>+rnasJ=e!95to_{x{ql*(o$MbOY_-k_e}N}^0#GBP4x+yhaSaxp?awpMeiJ>9CjMMq=vSE) zLPpP#l)`A(&n_YLXdI^Bmusrn=sZlt32SP3FZB&FyVf@N4>w^jvQIViAJ=~Z@f!be sW0zj=fBwF~e~4J4-!~fo`11Dt|8<+L^fjH$KmY&$07*qoM6N<$f=M8IhX4Qo diff --git a/graphics/pokemon/hoopa/unbound/back.png b/graphics/pokemon/hoopa/unbound/back.png index fb923c1b8ee93723e0b5d6a8b2fbb50e1afc85d3..da608c63ca239c011521990dec734a616fb2c3c7 100644 GIT binary patch delta 728 zcmV;}0w?{g2EPW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+>leK~zY` zot3|8<3JF`SEx34tV4klDXhGJ%)*`VRw06`?jej}n~)+n;3}0HHF}6}jS;9=1a9^v z;)^*Of!^h2SF1m^9Qn9u1Uo-{-*{)nBCUWS=?%-BUjeqfU&4}neg(K9!Q>SQ1o|Zq z=$FtypM(OoJrcJ37og97Ljj^sLMwRN&m~GgUIF^b)PO4DGYJEr$Gq1<1JYBQs0FOM6Ajvb5jX`ZBx@=dodLwA7_+n%@SSr2W=WF7wZJ&&08SJ|f6TwO<--M_ zC<+{WMOdTpxdR~+M^CLvIdv z0NjD&t|jm#)MbNH<^_N!j&V!i=H*^}llY>X2A6Z;-L4ydfg%KeAs%Z$a2299DBf?= zeHexlUIM~Zd52YFStMzg$Kj8qI#)I7Jf~EYdA+>2S2V!HBdZJ$V1WVNzQ*D4gIIWq zlWhdJLnkGWzm4wFm*czoY~p4}@Je7#X*pQ=$RAG+3Q)83ES^;-P)iB}?EEoI4@+Wz zo6c;H#(+RGV1O0KR_G$=1c&H@RKRlwuz%61-aVqkzk8?9!Mb2e=dPQyMzMTBqXqH zk?4qj0optyz}qC0g0sCZp#kv#XiHN8GKqTV;Pk2u$d*w-O9!Lxf&@M`r-h0q z&bO%}oC+Wyfz`+6;8BqfkqC<*2PM!YFbP+S$-0vuAV?y(d>O9-LW1g(fa1e6!4#Ac zuNC?n1jOrRn3xjRwMc3$=mu*&4jAH2-chJGi73C0>Neznf7j4$QapX(U^Nq^fH}O- zAU6V+K!GGx2L0jnXcIh>xD;@$YXBxu6osY0z`FsgAPD~CUv1Nc1|Z8a9DGTb{eg8; zjgh6MRxU>O_W&9Is>e3-I_Vz3ySJh58!|$`^6u?lx)y){sVW9n0PetfUlaJ^tF*z= zaSq_{b6692e_FoCe-fMNX|NgN&hxqw$b10k;k5!dlZTfE+3q>U-SS6F1KgHzixy*< zMX{fT{*Q&cmpQ69BZSwM7x#*I7Y0l@e6R0J44(#0lK8#NbBL|*tX1hNC1iTzrfv6po u1R3EF9gG5)-vFIoWUO}2kmBE+Yv3=Nk?8GI-%a!Y0000VwV00DSOL_t(YiPe=^Zo@DPL@ih>1exI6|F#{nN^LFnN716K3_A4vnsRf#UW=8f=gC^D@9@1;y!<}$HyzF z>#8Lj&{PvuciB}>2m_6pG)d&ME`w4<@~^cDU!~Kd#4U8}3OD4%C?o6JjvcO6LA!X4 z7sgr(lqDMLpaUwW!&?Wh^Rij0Za`6$E`(RA)k?8SM;3Obmk0*ib#FR9mBQYy0en6_ zA)$lyawb~3R>Q&e>0k)>$h3bm@RmiT(n9Gli}(d3QiMaMS-~wLp2}=qn8;G&L3FXu zQ!#Hq-Lcwg8Vbk92B(!i9q_Hz+E3tGW;3Q6!^@Y`qu%ZFKR$mGAb18y@Z$j>jURFc zkdq&G0BQVq07%U3O8~hNWCf6pAS;0M1Q`KR2ZBrh83{51q)r4G05UTZWCVyz1X%!N tTB;uhNbuniARm7Vj)yydynNrxhj+jID@b3H20Z`(002ovPDHLkV1iCF&L;o> delta 474 zcmV<00VV#41fT?vBnUH5OjJc>005CGFn@@Q|KR`t00DGTPE!Ct=GbNc000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j>O{1Pc@^CF$t^00DDJL_t(Y$K93dYQr!Lg@cJT zj3RX2|7mxmWovwC2K&*CIZ&FOW8La}*|uL<;JVfIICQjp-DATMOSN~vaqi}|(0|i` zG*CJKoif0^MscV$g5Z)hzDhHA_1upd@$s27bhDNYSkXc?Tz=IH(m=zz(?5v_yUx!JvF7|_h5 z3lWu?dTXw9RAFa!iQw?v_EYCwYk%zh8X)Eq6B0UDFK1${Yc(BgpALpVjLbR%cX?JS zXDAzHk^g{Xigd^{D}+TPQn}9uCbMW>$SxLoX&wz&I98{chQ{%+L49)S=|G%n(|!We z*+(hu{=umQ-#vQUKUjYgAh-ue^5X^|CqLvFKpy;f29T25bDo2 zX-ya$p}sc)d|LnJ3Xxl{fqViXj%E2HY#nGo|13(7uysZ?(0}-LLIc4LT*l)|Zk_Ge z_*$8*NMP*qg@Y^+4g|!tZ;NoDz@{m1B$g59AlG4%}6#>bb`=~M*%e*6l)T2bnmsMB*g;HjdM z5_ra55A?pd-T%ZSpr5j;qPI!g5K_u{psJ*t`7^j~q|tTC|CO==V!F#W=^r!9=^Cp$ R7jpmr002ovPDHLkV1lW_+++X% delta 488 zcmVO{1Pl(D28L7s00Fg0L_t(Y$IX>Ja)U4sg`uEF zHWV(M8)T5FXc!AuDezcw<<5kAxFe;D6gm#$ai>E?ESMi5q)C-*srTvaYPAT*`IA5v z-L(M-*$lQe0~@f~S~4ITutL9gK+_uh8L&d_n#WkKZG-y;1b;i1A%t zV4lNmD(v^mP_M&{%aRZS5D+D-K&k*#1(Yg1*fg?X$~oO;&-$IQF_J4l7^P7(5V0Jc z32=4Qv=OzGa+iuBYW2HozN9ee^dn3WX1?K>t}1jlKIEKpGf-8W8-5124R7MMqE%bCugDdeB^QmVm;vw1``$&|vf|K{$Aspb$>An)r4)ZeP{3)Fr)=VSi=?P~CS< z6IyNYZ;MvI&Q8hD1yGSO07V)!3*(^z(ew3_Fl2;rqY;MK3WN8;)C$bPNQ0ijsF$sT g8M>su%vXLq0CK;J)W!)ChyVZp07*qoM6N<$g892@u>b%7 delta 266 zcmV+l0rmdA0^tIXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1Pm&r1!9E& z006{EL_t(I%jJ?W4#F@DMRNmhtX!lLXX%m&DP!2Wp`N8nE`r1@7@MFYEtk45IG=VOrqa7F@a#K<%tp;vVUU%1PpiqvZX0QU^D2> zrEoxgUPjofv+t0t#*PmuS0D>lCN$F10w#wbrR?N3e~sJZRb$tanBDOv%&J4Hno zK$XV;)F_3qNKzPg`6LV}VN6!Skki88y)bQ3!f=D0!ib-(gqg;O@A+{Da=(kzEm~&$ Q00000NkvXXt^-0~f(jFE&j0`b diff --git a/graphics/pokemon/hoppip/back.png b/graphics/pokemon/hoppip/back.png index 26689b8f63e1a10358ffb89924064446296deb79..8fd2fd9d614fae92a7d2c57c68ed6bcbb19d2aa0 100644 GIT binary patch delta 594 zcmV-Y00BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0uxC@K~zY` z?UBK5qc9ML-4#eVt}S=~JM9BBbnlqjcSxX09v~Jx0X_DTl)dkw_1o?YgaBrR_5nIl z6zuutpMS>WEB-q?rPMmG-9~}RSAbmv@wBEOgxLL9=^+Fa+Z6?pAievXJA z#S?%Fu^nwFOda^+a8$W}5Q(7i9e8~KfgNM_8()Y=&eIX#itIV3!Eg~mlY~xeGg?5N z-bE$MA*s^cS$!vadW)OH17q+_DeIcN25~k3Hwmx%mIEL{3B2kqdtVO)mIO4!!?y^V zD_|(^Z#s1F~m02Y)&+8pxY}J;@VYy-&+;2Cnl4KCug+H&xM1}d#|3bj<2UUE|0fwylUu%z_9lW_jbSoHvyjMj{i?6#3Zlah>VQ_?`5+(iY< zA&69NEx$%2z5=~vZB5LSBcm?iyOdm0lajZgRiFsOEQw<;>!w~OJE2a zcAQ278^SH)SIlEIe>8p!7S#ygI(Z%P3KW{rm2%f(E2X;D7vj+XCua!Ie6!*>588{z z4Wc#0IoQjFl1yCvtMS#TW(xqVHjE5;S_Ll_oZh$HT=3&RG43T>$JS`GdKf{1$o&=zokk?qIa1ka$2~A@w^P z0t;s3qSc;-LZrDE+#P9nGuqwMgFgE}Kh3xPRax6Mlaug($TaU0569za_MG5qPoJN_ aApQcfKhqW$B639l0000RwMv~`Pc>6y1sJJK2Ny0(!PTu6+jww)uD4XDEFw-S**oU~ zd0sp4B0w>K?C4@E4uVZO3KS;_{!27*9*C@ut=gPq6M-mi=_WZqEKSqjrGZ0V#?c*I@TO@JrsdA-H2qMf#i pJg<%T+gt%};?~_7;4002ovPDHLkV1mv#!#Dr{ delta 437 zcmV;m0ZRU;1e^qrB#}W-e*gz`Nliru=LQD^4+^zL5sm-=0e?wEK~zY`?NlLh!!QuE zfqA6Nv{R__7&JlkjX`04V7nDaUJzW+ca#Jq`hkoE*g*NdOCgF1e-V2C+$AXx>k0tM z6vY~AP!d4$0MP-4>k`zbVlx62+8_YbvEpATV?U}KJ656#02SU*t7Ffbm>A;m_}wM} zptOXC43xU--0D#4#F@DMRNjjoeqpFomk-vT!bMiD=cseF2K@C zU(F>lbf`*)f*35B0#b-Qv9KWi<}c^VcAhc6C)=xO{1P>;Mo_%cq z006p4L_t(I%k7de4#F@DMSB8roeqpFomk-vT!bMCD=cseF2IsXU(F>lbf`)OKn#`) zWhjm(HY9{Me>v9o&nt@GE0a`DAy)|4$RT5ant~8;vhZ>Ot9TMS9(yL-N&rc0I8IR? z#s>|a(%!z8QsA{~`ae&Ya4#>W6m?zOLi!l6}y@6^5IbpZTnbPpNvht$n9W>EkD002ovPDHLk FV1krMWl{hD diff --git a/graphics/pokemon/houndoom/back.png b/graphics/pokemon/houndoom/back.png index 122ad9ead60176767caa71b8f72e205015697b22..5615673c38fc02e946d99311c365b2665726454f 100644 GIT binary patch delta 542 zcmV+(0^$Ap1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z-PN&f+b|FSP0dX?zQ_DEhSofis~UU2!d3_+<> zhCp*&mP#cleyD=ZnF5%9gF>k>d?jHbP-0##)p(`z6$_SXEu>25@hR6ss+8Kimz3mz zp*H5txd-D2T)Y#aKvjOUz%8Ok>FdG>fNgVk6r^JG*fdSa0pkJXJ5U|2!GjUy7qs#FAqXt$+CsIRb9w5psk?Y!fuzT~u+ur;q3*$dH4o+k_`Ko3bTfc2 z92h;;LwsVvW~fl#!z&f+GxNihbr3rSK#-s9e#M{)IymHq)$07*qoM6N<$g3FuumH+?% delta 533 zcmV+w0_y#T1^Wb$B#}W-e*gz`Nliru=LQD^5Fyl{=1>3t0p3YOK~zY`-PN&9<3JDq zP+ze*N+iSwWG&Oq^yXu6r*cvD4g6`IY8WE>FB}(ESpxE?Ch~MHznDNGz6HiPH zBPGqe%&f=u#Phyk6h+~k6vh8z`HipCYU!)1;z(Xf6~z*jnsfP+e-J?;Wr#p=T^3UM z0e+~0ikJeJgILM|+>+2OkYHXcf2E-1+ZO>Oj#GY1AO z&_DIO7*%pxfzi4KHyr3qvpTL> zu&yg)|KO7f=9zhLMb?Nd1E7%~Z(rLWZFI2q4Z6UCwc8in0mdt9yMYC34}nOVN3i2I z*gKfZST6m`t2LLeY*BYqA z9uR;R5I|nN*tmcECJ+f-p}fH5wi~kwL%p}7T_{uCs6_dVJu5<&$0=6Au>S^MIX(a) XXaf)Gg6e+&3jhEBNkvXXu0mjf9Zm3% diff --git a/graphics/pokemon/houndoom/icon.png b/graphics/pokemon/houndoom/icon.png index 344a05c9b453e1861be4d35b4126c0a46d35a2b2..e1c34afec4d43852f3c9ebf5e0b33b475a98681d 100644 GIT binary patch delta 298 zcmV+_0oDGd1AqgNUw;7$NklWfmh<^uC$~c?NIe2s8W;<|8}_^FsWXg`s|&#^3eh0Rh5_5qafiE&u=k07*qoM6N<$f_|`rF#rGn delta 336 zcmV-W0k8gm1EvFzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LurT_SN^< z0003ANklDwci+x@~vU`)3CVG-ukkZn< zYqE2KZ+^;j@)7dE0uzBQHwy$gYjPQa?3(Y2@WY;FCM7V3pnt-aNCM!1s@8PquBHfx zi^lQUfnQNA05PW;TQG7ppK6dE^m^O+K`h{$``L8Tum$L7RwoI1pwJc#02~p&$`JgV zv6PS01J>KNF8p5#u$NJO4%LE| diff --git a/graphics/pokemon/houndoom/mega/back.png b/graphics/pokemon/houndoom/mega/back.png index 27ba164c402b78979b2789b612900dec21de0f12..a8b45314b04cc7f1fb3bb6de43bc33d81a855733 100644 GIT binary patch delta 680 zcmV;Z0$2T>2CW8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tW0)|OMK~zY` zwbik1+b|FSP+5yNBT_A73tW+*A%9h1SgXGwJn|%wjs#EDU<eg=#hAO@N^aA^P^08>75;F}h*7A*T)5MoBXta?G6K?6vh zQ~)3_;n_<+pxz=O`ns%J(B1We5u5>&0T4G$DhYk#^a)@Bm<<3)3Hqnn)PEREU_il+ z!@vj0p7VIHg6AcVdHx3Mt$U1XkXS#~UAZyFAHFJZ^Q9MT5Uh(DWNriLfQPaySn|BK zKxkL^k(79CY!EdyeD(O#663|K4boX#p)3yud~iV1#Ae-sk6R1C6|KM9Z3{j*fSMRT zs?g!?62)f+P>u0+TRw5Fhkx;nbszw$ff*W5{OOjx`uoi|{1SmM6R~pugcb-eKHvRz zfLPO!ym0wEkkUk#l=0iMPP08VS@1OfsMa)lsukB68l05-7D zAic1`QR3rx@?`?#HD%tpZ#`e~JH}X~CkrP9AhVlLF?N&ZTlOAeVg5JBx|f>IRQV;t zbD@ZPfFJ7--mAk64~~ogZ-I%cA?)>bi77#w!Ou)wrPiXL3<6(^p7#nKp;tJUrg&2T O0000@|;j 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 diff --git a/graphics/pokemon/houndour/anim_front.png b/graphics/pokemon/houndour/anim_front.png index b3d13912a2d08ec7468859a5453e1e45721a58ab..2cf035d0383ae52791f4ec1344ef8a7d4c4a702f 100644 GIT binary patch delta 828 zcmV-C1H=5O2aX4jUw;D`NklZ=i3!MGFT{1sT7dJ#UBQ^SkF%e5WqHb2*92JQkKJX#r!wV(Fy2I< zuLmri4&QG=3x8D#CusnbrzeNu1F)q5NXAdn!9D_gJ<#FDDbH%4&;tVu;%}?a-IF$i zinAKXb=LxbSLL#R9V^U0S;DSY_!^)Cxo7!q3D2dI>+V`O(-n+mFqO{K0C*UHOrE6y zC?p_L=HNkMX|4s-cj*PxQ|>0A@aHP<+1~c(rimr+zz)>QMLAYw84hQFWTpak znypAX0kSbuk5yC0ygJk=GBx|UtjoF(1`g5|?{IJszvac)aVrODk(Am&gz*VoIfxMe z#Xtu!zJFU$G0;Jb2|zJIbdbg>_6VFWzPCCEDh4`;5dg(_gMwfLh z6_7ML2nzCO7&-tI|fPaFl41*Ot4Z!#S1md(-5MSdU{{#XQ zgf)R$ApBWSDTrnmtQH6-trVmQKmxZC2mp3+5CpXisIT75IHMUFg!*8l_{{+ZfdKsV znW7N%f{$Q3xlQI`56%@rQ3yJbA7Hx?C0FvJhc=)n1dYZ3kR#@-097Hv2v-c~jc(_yZvgg;@K;bCm=<0)nboCLrD{yv_M#@kbM_!w9QAbP?`mrTQMfDar zUwbEK?O+wDzotW{{FlBj#8CwIUZ-~QNd|Q9bKeK|*f7@VAAcqGH^A;z7|q!|;ddDK zXkZ{mA?Jbw94X_Fdp-$-@`#UkKmz7i^6inwXh6n13O$!>;X+m6mZepeZzAo+y#^^rIe%zPkIb&UN5asvXa;X6fFWt?N1#2GDen*BO$2&sz~t%h?IyHPRpGW* z%i`(T@!%2IQUFHA&(i)O0zEa*;ioCjYM@X9eGKAnt5EGp8$!iJ4djj*cvUV7xUqr; z$`Wo)5jd(Ya6Zd-OL#BcT(xVVq$e25U@F}y0r(hzntyy#0a#FhF=Z}3B&K35Airx} zLcYblWFUfh6ZmLv`_|;jH}-^>52Cx9CUAN!eQP7~jh9l+&1iDi0wU=f0ra5;4o_O! zAsYDxj>430y2jMz&0d-zWLa#Qm;xW{&~1$Zv$70_(?>FE0(P3MNILRD2O%o} z#TcN2oM;r|o7O>4G0;I0jbiMhASCqpfAD*@)B)Ddhg&W1`QcZYYa~T{%J<8Fb`UU( zMJY&0LBj|I#t8rnnjyxWf-h*6aeFW5Qy_yK>}AN5TGE;B?Kavg_VLRhQVrqaMMab+5lAGRRRIP zP7Z?LwkDESXEV-dh6d4mF;e``0S18pE*)zqgmuYBaGl&GbFl|yg=i>*HIeV&x)CMU z@=(2xHqcNAD;fh}oG^CXemU) hAD;Wd+8_Q?`UA@P*q*LxteyY>002ovPDHLkV1nPlbrk>r diff --git a/graphics/pokemon/houndour/back.png b/graphics/pokemon/houndour/back.png index 0be3a77230e7b50ba5af98710d42f3c3d840e047..daf5f91b481cc1a8918172226c84474146a3fcd8 100644 GIT binary patch delta 350 zcmV-k0ipib1GEE>Uw;8VNklfjP^H5VDKQ4;8G9- zPKvg#;{+7|$!WvpR!)n6E?ee(C{P4MQd~_+fQN(-6BRBB<$nWE*P?&D1R58cM9|j2 z8}3mBL!LGp*dqg71w7ua5by^;cM!NEc=|jI)NY4L`~qyhwiWQQt^xR8XW$j(bMRaP za1A+tQ}S#N-w+%(O>hXV{BT_OpY$`WeQJXmG-MZA>!m9JX00*3D1i(6u4A|Yn46T3 zB@kHb3&autFjuR?l-{KhU=7TuxBwqZfIYA-WcodM4ET+;_C5*~dZ^JyI2#Ilm?*mC w_$&D=8$p3F_>fPF9G{ju0PRj3=Q;imKXh1&M1^$cVgLXD07*qoM6N<$f(((EmjD0& delta 386 zcmV-|0e$|o1K0zQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LuxqM=%ha z0003yNklX%|4^ zmZZr#O{&vKApYi`R`shBJ5`0a#J>iW^3ZUPB_3}K@ZbrOP=6Yb1ztnd*YSWEfO;2?;B_U5LV+wm)NnJ)0TmJeGZQXG@W9+c|9TDx9~X(BDuH)?jUpKGxY<+%&=$b+ zJv#_G0er}hGR5nD8kobO`5WlIx&qj~lmJa{vfGIQcq@T@39wzNvpIY>lV^pw6K=aGJEVE}c|PoPe|G>J}_n$^(?r+w}4Ci@X0XioZ4BGB7>?ak6G$PFqZX(j~3IUD?vQmGyM0 z*g6T;(6ui}wXp$EH!)Rx9Xz{p%V^h{v$8%gnRCSMh{Pe33Mc~y>y=&t&okQUWkpq>U0SyXV| zX)<2(62qf=J7TY^kpB4j-k?32kkg}mozrIub%5!T^#eTT{b=%j?0>r-UzmG}i>e$E R$^ZZW07*qoLO{1QRlQGxSXW z008VsL_t(I%jJ@>YQr!PhW!S|QRsNVF?217hHmn+lt4yzv&TN`SI5QL z$^(?r+w^h#;{N}ys=qbh3otzZ@v>%M_8ZKA(lxEYS=rk9m4EcSZ`gW?(lGQ-NUgCE z&@eMKV;ePxL(gbPM-4f4jD(y%5{uVK0J`PL=pr~hGqR-w!j|#t!?p>yfKHTK`EkP6 z1!wp9+$ON4M^gQpDNlvX0}#lTf~u!%>8!?ENRkRPk^_3A^`T>E07*qoM6N<$ Ef~|s)s{jB1 diff --git a/graphics/pokemon/huntail/anim_front.png b/graphics/pokemon/huntail/anim_front.png index efb051779ce84243db0a4de34cffed474b439452..e3aa0efab118b783031acb0ae17df41e433c10d5 100644 GIT binary patch delta 1200 zcmV;h1W)^w3X}?vbbkbjNklHt_6u?QyoU()xEf1Z17A&CXAe&U;qCx>u zCv}w?k?QJ*JgKWvk@jprk&$c#>ImIBW-GdM4YIU|(GGNSfokAc$iw~j=hLG->ra_rcYsLG$pzhNy+-N}~ z-QpOu@N~Asyi%cM9ROg=F5>HESqIAQ!ssXWStSkZ^cFNJuqyVTxvtAE5;wi93R9tt zqbPa=8A`^Z1b;BPLOx`SMU$3NC5J}a-2zz;V~=4ho&d0Kjl%)InypDK3^))>TUA2p zQ558cK4y$J5wIsJA^UXzG`9@!*a83`!j?B32!Mw-a{&8j&h2^|1|$Gl48RwG^Q(sK z$$;YWKHxKfN}XR3s9LMT-PXgv(&iSPpG0e|y~x;G~cYVS=SNq`nG&y4R; zk6}4eI~qz&>`*%`T*U%_?hVClLmhbjqhx(mXwMzhM*=`U{0;!Z*EsAN#TrLJ&&Za; z4tdD|+|6#Z7{KH(=4LBP`JBAOeDf1AK>pPNddL_ zl)#64d4J;Xh8)1DGssyAoV}RChkSA3+d7|ikDVG0IZS{G2YlLF`8LrJ8S41hjY$H0 z_O#K5eM%XHdNg#{x_nIO`d46|V%YdcvY=^gpP3LJd~b3rPDVImX&rw2Wc`D=zBu9l zWmuB+RYTaiAJ;BT^U{og{^~K5Wc>}zhM?T5y?-$~C!JRun5~u$Ie)Pf0rjKTZ#VBY z?~N^hKfZW4RIfW542#x`80a&pfetjVdB52lcMTka&%5eo4b(1PZ*FdW`sJO20G12F z%<}5Nw{LH5e*gLTZ)7*F7=^M3%S}DF{1kx8ud9vrkSE0~0_4d2^^aGkLuh-LPjbK^ zHh&zOPn*xJr3x?%xU#5jMnFz+i zaF9>MkqSn^9JURlg7FXl*DU~oV1zA=O@9mh2!f$c@@9Y`2!^%GN&rDHEW4gp2aHTG z;Kfu>hnR>3;~3sE1$Bsr!3D!Ya{zT16%V6WFieU7-5V9Bdn*_gKXL0LnxD=@Fiwg^3 zokIx_1Y;kFp&_^fh9DSFsI5I5h=3#*+Yo`GU^F8ckOZU8?O-m|S`v)e67*v2OMoaC z{nhGmbG`DVQr|mzW11%^;NuY`PnLy)$N)H^a?=ej*3R|yR#EVQa}97s*>FWMXdnF| zx8wvxiQnOQKM)lKj!84WAVo##mMI)gqN3EwPB%$WO7gOzlmh<+Mfnp@1P@iv0PYR| O0000O{1QZev96~|>00ekRL_t(o!|j$mZ`(!~fJw-l zvX~+*51o7#ETHHh`>4c4g#si`>MAuN)zuMsQdgxS?b(1LBiRbn5xRBER&?naWN8tn zOV+4B_tw9m?;R!bNS@-M=+KV?Ed#vgKKQ=(@hHmQSoFJqYJc+%Ks~q%sPF#8F?7e> zUa5JC>Y#0t@Op|*n8>G9K6I%uhsjd?!3?StX(RzKT zb}=>y4Tw>0?}xR3xX{poPTXC|49_NWR&GS6|5`TH=YgI^vHjLx=A=D5w9Bcs773w2OX*_BwRdi&wyfu)GF!U)av&R4& zSi`7SSd&^5av&Txs|eNNI4lL9@-9O9SVicd27uDRBOL3J?0?G_ZA^cAuV^4m#QZ6%GWX zvj}XYGo-Jx&#sR)z-LeDUD&6D5{O4#hpo%!l&*gT_9-hi`-ieZ(%3%5P(Jt`b1bQh zS;o>h{P@Z82fVyI<^Z8AB+Ki%uysE+t}wpB34hRCJc5uczaiNalzYZ&+&*o;<`D3q+^hrR z^4040_NQOoIt*apf`YSp_3+y_x3|Cl{OmWhmqd&}Sj1ER@aj_luD-6;TYX-M3)ccV z#(%&5@e(_TwED$L4mik$V-sR;dn5V1K-R^jazN7!%;Id^-vYqhz&;kk7M9;Z_mg%l zpN4XvlDw|8eEj}Ptb&z)Qu$vD{{3PA0DYerFmsTKfz%visSwS?TQ7?cmAL@+R60NEdu)4di9i=Vi)0V$?)BN$9A z2pP_bYcdlIFug%1qJwT;U^2k~wU~9_^3L3$AQ%w!5dO~cKqeU6A0Q;=xd;e?p?}vn zpgTu7KoE=rAo`}@4h6x0K&|cJPy}*pS% z0Q5*%Sp2n!23Wi3U%=CUVyOU&!3od?g)O63lBx`f$o38_CAI9=Spv$VSH};#tex5vQQp`N}4#K)N{0)D&F*|`2y&E_uJIvu4qr=vtTSXbYH@D*8m@f3NUL$ zckxpLV6(*!<{1Wi0ybwr;0PAKe%@Ue=#QPMtT4yx>vMbi^txD|fwaO9_b<@Ey1?mwI$TF7V2IJ+>Jn&1m;#2FhhcUGJTqfPOQuq8*Q^7aA_TN#s0VKh zXmPa>0(GF8@XQ!>+D4db0IE1PmQd1mPyjh@r2%+thtb(l?u_4xj&K7Y$L=Ceng|N; zl8Zekieyb!Nk<@}6Vb=N2$~E94K2IPUr9Yi_`2qnt;1F+d;OBj`T%napueV}2ExAm c`i{leUw=vvXAZnLJpcdz07*qoM6N<$f^jqlt^fc4 delta 582 zcmV-M0=fOR1*`>-B#}W-e*gz`Nliru=LQD^6fakF4pRUC0uM<1j(@Cpcg>(+dr+H-sSaad=`xH=1wcv?ksRO&_J_Rw2NOYfWsCq zENBSq3D}$giC3`r{p2Qpl8A?V7cKlZB8%hGqyWK*3d82=#$- zEK=SKE^A?K04O<+o55u#Xn+*ADsH9cdBX6lsCMo2JWVhFDYk=rYAt9Wm|oRMOzz#+)rBCw&Y&LJhj@hNR0qsxNkJ+P0NmT8s0|x9g zCNONgPvp}hrT1Bu95zDM=D35uioZG-ZxXoX7m^>%O#=HqNq>Ji8$>ovErc;HWaAwp zvDPWXaV3pc{Akn@;IW(`ouX2c;a<8%YiJ?&Niu~U#YsJ#(HUCS7lUMqqP)CeWMq46 zTu1>M;vM<*4%Ve|tL(f|8aDMBwu;|@O8GswMJi_);rlEGic$J9?04WxnNj$VKtlnx zE3d;cPfzA)pML>SX6IMzsT(C><67N95bk>FK28~XTxR1dHc$YRq>fafbScYhRA%1+ z0Q&)ii>nCxX(-^tFGLbq>wfZ zb|46IoLsSnRczua#J#l6Hl;6KBVIbYd&PzTxDU=DZhxV4vrBZkT=O}lj177+#ZllP zxw|oAKU**OikE=c_Xz}AERb1XxD^!b&UC$=S0r#D&p>eA8d9PGzaxPeU;pwgU($ zE_R?W@JEhs_liC?9t$}MoU~$30_A4s!}~pgtABAUK&s%dO8}r^`8oRI-P}zcGl%xS z@4&8A;EXi({iAtnIG*2I;%brtp#(0(eiv6-5};?3qc;td#CL+Rh;Glvh1Nxf^D=uL z9vbOg(t9FoD!_T^0Wcg3VcY>am6dm+w}JB#_Guo_JrSmWeGe*M)H^?t0HtjqUM0Yo z&wn2l)l+I&*Au=FrT&ZdIt38tz5?T3770M22Y z@-FAEEaz7mgwrD<31iF_5(xU?bhRD0d4CI&9l#R1&URq;Eqpwp6Trw;zy`qS2b22N zs2qjp1c^@rmP}!?%8Of%`jap(zB3H+SJ+{nSz)LDGIs@QXT)#>=6~KJ4VknO zjE@y1Y3^Mu7#=7}TcnDTH21C+4CE7N&8ea!&E1a$quCRJq>2(Zci1MR1mhGzI8~Im zxy$EB3&t3tsiK(8Jr<0HXDA9Z_nFYmJr)e_(Ci2h7rMD`6$~H<(an9UU??U&TU!Lf z9NPsW11P~DS;5Ev+XN#WN<1)LgFj>h!vuKj4>^Jn`9rQ?NPox^4DAm&f|2VFh5!8_ d9{;^R{0-=*UdtPHQ=$L>002ovPDHLkV1hORvr7N~ delta 1509 zcmVNdo%| z000G*Nklzi-<{6oAPPg^f-;Qc_?~)k#6%PLj@6Y`Kdh0$$?;X9e91L8mpc zW7F0Yz$jt~=pbatX{t(~m2N9Kx=XeK$)C_artf(Cag1bnD1VABr42#C`*`>G?s)Gr z40)Ld8Ozrr{7wAT!g!g$WzSB2)RqbCc_jU1EfLu`H4w(w&c>TsV)bK)<6;^wdf`<` zfah|AbckYEhTG{J^`3#87s(K27$+4i$DUz))lG)T$=j=1MyAUKb_$pfZ`xs{qEa~} zc2>;yYSA2~ihn^0#_fl>I7Kve;zBk#j9Pgmw?o&Zr` zXP4}y6DDEea>YOpZn^3?jv0GiV1rB6RRENvf>fcRQWjXhz+M9Y>j8v=O9*>uDSg9a zea221bI4QQHmexJKV;Y>BrIj#hZLD)(9vbr&Q)>Ak$(%56w;*r1_WV@qf1sbay49n zxSQ75r1a_?;`x)um#hbX^Yjej21*w@Pe-!_pHRwJw=Glb`!15J8#Css#gxx^9*A9! zK%mZinFWSNLE-9*7K=$y0_SoM_-FMVB@y5?B{1fTU%uxvdcG^G%la3$x4T3E?J(D` z`QpjWbbm&wa-F?8z2(!Jmdv6YJo`dCZaLb5+$>BIpeYsVS zE=HUqF@wo1RY{nEPY>?^I5~q6_Fe&AoH^QC1u0DK?#AvO>&m?-fo}t^+)lUTh#!9b zGca5tpTgTa;5=y5JPojj_1BL9)G%D(_W9!d;eYS5a^^*|8lqz2ToVcdf8_9PJLlnw z{;FC8c3Q42fkLhM`O`MRr8wpzRd84(08p-QivIXGagx`}qMbKQShXVTk?O8@Fsb(j zldTypB`FX};707VaIr1{dNMqCUqwlL!ykz7@jPtT&zqbV*lDn@rFTKML{L+Jb?pMs z8-EC)JpnqFm3P9^z`BNYn)q~E1lpUu1(nZ5E8mv@r41q8CcuDCc5>=1HH@1fpNf3v zs5c!v5K24J#CRAQ6ohigV0KvY+ z`A;cv_-VUl$3V~!^S$9s2KesdJUZ_-xqp~j`#;c5z(*Qj?Z+u^a{kt^ex-geI+z-( zuJKd?ekT~sR|B^nV6Z)yV$)g;Y<_@`XLJY{SqYc`SRH>@G48wUa0iL|0Yj!RoUe-; z&pN|kU3{bGub*LqJut&Y=Q>yq^m*kU0>?Y+0i)I`Jph!O_FBMl)ZuvlWg_EWxPK6` zAIKaRAIKc9A~c7Q$Nv(cJ52r9$@ql~XB?&e0%sMaC=XR_W7m5y!i#i>&_HyDv3e$Y z(oKd?2BJHR#a*i zh!l(uv0$_#MFG7?90q`CLqviRD~fG8vBQ91a2NWF5{y()Oeb;}NZ~znl7C1rbVaGP zRC6Ekh6pN=VCafs5!Kw!3B*mL1Y=oIpt-k6RVJ+j<4Z+JntLk}3>OroAyP$2ntLk} z4CE1L&8ea!&E1Oyqt+IJq>2(ZcUUH*1mhS%I8~Imxy$z`5{v;vQ$^96dn_1LS5p*d z?qd-(_gFC8eZ3<Za+A2NcW13dPJHG&cP!&=H71)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z?UX%o<1h?`rO^cpip_2((CPW(DxGLvBsa;-Ha@~8)ovMIXD_q>NKtfTJ5`Fz1mm$~ z;^PBIKC1iL0rq~rPd9;4zV-3u)Z+&Nd8)nxSP{5gL8j_EK(tJK(1N}K^t%-xfo%o7 zD=i#Fz-)V40TS3&&}lAzfa%~0K$GSITCNZ;0FbKF0`&X$J?b4-U4gXr2q1$qjYR^S z0I&j}jMR@*0cjO}M}Sea1yINjLrOZu4Dc4!9syC52q1xp0j_oAe>Ugkw;QPIh}@%} zAp@r5b1NSA5s{7N69JKdljO4i0TdHI`~93aqB%>xti|!On4F7$2@qtg2y{-7fLM9J zl2?)+%WgSP6BHmzM9G^XFaU>LsxcsW4BZt#tpej~3yfuJQx!1b<$MYB0C^1=@DHcA zKP><{Ex{#>dU$$yUI7cK2?8Gf;*Zw`a4B69kLT&_chke+5}3`I;`ufZN6PWMIO2UkR{72q6y)+{q!*C9{LACT%V^pb^J-)49cC3Y!;< zXMjAZ%urw7?g~IcZgDY7*akql#PmU^01=y)*mrz#blrax{0y5x&Aat{00000NkvXX Hu0mjf2`~BS delta 559 zcmV+~0?_@T1(gMmB#}W-e*gz`Nliru=LQD^77JNHhyVZp0r*KoK~zY`?UYY$>mU%u zv3!9HX4CEr>7GAXb!W^)dXq|TlOw!#_1?0%PA}A%0b|l6?ygd$j-te2eth!*gN69f z0d_mzrJKOO-)g=&b^byiPgNU$Wr2CyoZ0}QCF%I%^9RsaPqe=De6u`siMx%9RI zC~#RprKtc$z!d-|O=8&~tPsxt;Hu*Sbox(3+JHK!K3}sx{L;oAdlDdUPE%dGr%xz?6Kp;`Kgi zO^xOg0+E0t=d%C;e;6Y@`~5`aQZy&dm$f*0<|e0N3ViY;8yN+$xF@;Ww#v2 z5ekqcBIivJ=z+p6)p*SuL0kdkDlojZz)-d}RRI%TPUk=ekk^m_|8RW!*8-r@5>&#- zho_h46|j(+K;ZGezI$x|m(n@$cpBgSHXaV=z+_Gs&$od%e_;Mkv&-5s$e!t-|;M$O9f1GBE0TUlFi<2q6#j002ovPDHLkV1hrt{*(X! diff --git a/graphics/pokemon/hypno/anim_front.png b/graphics/pokemon/hypno/anim_front.png index 7a59e4ea2fbf26e9896bb527d65a1f48073433f6..d96bd7613db4222d5c676fda1039d54d7e59e732 100644 GIT binary patch delta 1225 zcmV;)1UCD$3YZFzUw;InNklOjoq3$NfK)SsvlPF3`!AoSb z-TIK!ej(6{i)^h9J=JV=UXnGh>9M)kun<_M>^hr6XzD{npog9u-+D^Y{4bq(Pm<+G zc448Vg-#AOnxDQIkDlK9qA35#$SqFFX!1i}nUJ4>IUxWkfPb+q0hr4|AOv!Aaem%k z-4cNFhy+4FH^P!LW^>+uzC~Xit}bd?q@aT?HSQVTHhup&0h;pyz>rO%(xxGRCEaN1 zYd-$A1??fM`C*9!;5eWIAh7h6ru%*q>Y{=No2IByadg*>03cvR0^Bi$M80G)kbnjV z$Pzj5T1eCc;eSQ|eylYCOae@ApFep}5MAVL*MVgTh``G#tlReE5Kt746X1mTWxA}d zH(0f*B!JnY%@Fvq)>9O_^nenH@i3IRI z((Xw>rJr$v*FF!h5u-Xh!bbsp<^EOsC<3gHPWoUmW`6;!B0#r%`s=IC+fD@V10hdS zH?af(wflBq_AmrEKM4X|0>;k3cEv#79(`~a{Z8Hsf-?m6kth!slR)Px1fFm#5d<14 zAyGai0EaN!Zil1D+a8t(0+(}M7YY@6B1+eeN0EOT2*P!T_HcO2c2jG6Hjr`g$8gxI z+IB4koPXR<{^sI#IOrDcW(9E_+ypnb2z0a32)sTa;QIF6ARADe(_V0K+Pi*tGzr*% z-f54&Imqllkt^!p4NhVbfXl|>d>X*RXuT(p<8joo0bDgxB@l>-xh#OzlQpdf0n>`) z=)DEI#C9i0``;cInz^)16vVYn@qMFL9eAkn$6?YIw3#e3hpT4k6 z0SQnGd6p?4pF|-7K1>r{Je>w}nYW(_$g4%hy;cf{d&C+I1n!nl9f$#ZQSDR<4rrFf z(}hQX2_{%m0JVgGnG#Nhol*Gz_?siQI4Se~4n(=fn38fJ$^5q8WGM%dh^1$S@3S!n zl7Ac9Vk+~`)_i{}=|ExwBbqZ{-T?ob8AEd-2ND|?0hlHjc%-93WH3hlMD%DHCiw#d zbOKiI0*dW4Dx_fO(t*?x21Z6n0uVZoTEf6Y8YMRbD9ogR2}9+3%W4FCJZ4}b05-Z| zezkwczz6_f;~aC32>7`$ZeS9?_v9~D*niXC&?&4W1?afae*`!e9^yfH_!EGuj046B zT9lWpvIoG*m#?MWN&*W9Bu_JkM)^`r0Tw!tGXbo3j=#Q60n&lssIAAZ+MVHbRZj!x zK+bfFe|ObupB}UAI{-P5%OL1`{GbE&$bpO@qYXms> nHw94Y1f(k`BA-?HABsN#sRl_X%&+*d00000NkvXXu0mjfyNEZT delta 1253 zcmV_gG&f2pA%lM2Zfkt`1!cJ@h2&)|2h}f9acj35rB|g4ruEdk8mvAfdF#sF@|{U zOAiO4R;S1KDqt+#z3d(bfd1KV3_2k?zy<>BmdC%p?!D^;06pa4*{o}rf&ulrrjbAL z0ZNCSrwBl;O-!3l=)2=jj)Lc;1J64}pp8U%LWlr*mp<^6VhYcbF%lBx69(WUkF4#yC))X6)9IjUn)L`Uyk`B^ z=Qq?efC z_=ii0kod`3WxI~uhXjcQ_BG&_b4?_wk^UUrcf`<&H3Wr)J zFaqFHBlcB_*=Z7+IPF+KTrCpnblQny#2ifo7E|Obm;ty^O(VKqWnHH2cNV!ioy+cT1{l1qLz`7-2aYs94f5LLeA(KjCB4RE_xo0ty2*76Hk$niUp7RfK`m zLjogONdVv*NIfJlL5z~^1FUIbftl^ygMam00DOK+U;+TP`+on%ctK$N^1pqCeGeJ% zt8rUkLcovAFAC(@A7}~%W1(CrKLea`hqzas{sLexoDXUN73CGF8~~8=#T%hpVPN%; zg=cdP&GJPq0_bQUrySVooqT&00fd3zRO?S(cYD*TsuBgzKu#5%{%|?yj!wwl0)M~^ z6ecWt^(v38TH5d}ITF<$qFnAMO8hF*;Ki@85AgV{4vfE=kcYcyUkd;{6< zP$vbDN(eL}{WhOOBPiq1>W@eC%T=0O-g98#Ck2oi3}~d4vTR)Df2sWqsRl_XfGkWN P00000NkvXXu0mjfps_jk diff --git a/graphics/pokemon/hypno/back.png b/graphics/pokemon/hypno/back.png index 7b72be8c8debb5424dbfb249b498d35871c0db7b..8a7987d1ea5aae2be0e7163fc83378e76221c761 100644 GIT binary patch delta 690 zcmV;j0!{si2AKwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&+=2K~zY` z)s($%;y@6`k>$!yfee256R^f*CbM;6u4lCAK>uOU2~G@ zXmGOcax;r;uRlV4H_Z?M`ZpiX!_%Cmb86c4Bp+*JS{vm406r%Rv;>#Z1nK{Y~$u2XFcbwEAn ze-6yhgL~ySHJus&Yv_B`FHr|P*S!f~eYXL(3Ro=yRX_-QDn!%{Sg+PT5s^regP2E! zg;fCi%RWhxXFQXi`@@yMIct^*lq%vtZopj)*j+Qn93c&kZGJ5Tj_*fI%N!vWzAme@ zggnYbO8HJF6@mnRU%F+L6HF9AGKUNXAr@f?l^^SQlu1x660`&ClV@tPti}6LN|9kF ztY4|5LcO?-U~I9M@$WRv+9VW!4wKYNPxO0{biC;K?2Kj_r`rcAoG*boWo21 zEFX5CL14rD_|Jc5chR)(6ZVZe89ht6(TUdv?$w)q8@MBuBG3W2f25M=kyRJaw@LxR zI)Fu4!zB-0Kv>r3k$wlDPl_6PNLI|#o2}3pff}}LOABle5~~gvY(l6zo6RU%V2^~+ zCcx~F5FlVY2vnmgTw)%GpKP&`K$Gx$m?saEVLXCLcwYko$gWrs0bXi8^#yt>!-a!| zR&BD>JOWO@EVT{&f4-8Zb4G))uK-3EsseNgqYl(o3|KuP7q4Sw3{5~jaIOOrs6qW| zP7SvKuqAW+`b;zd-}7z);O{oz)d90Zpbl^jPdSgf0rSJ$rab0py5rNhEMbzd_sSx6f zCmI2Q&b`XzNGO3ayPVxcV8Y}wKUDJ|lY&~z@e8m`->}W15$C-SJcmx0e=>na{Y125 z4ZTeMW?9}PApxi`%KYqrzbApmyPD6B@aFSj{ds^I{xDCD$!Q}J@m^JfH$M;D%+ThO zlMe+SAEzfie-udtm|4!V7c?=9r!WD*G-oW~LKedkW_I}cw}wAXu?nEYNjyqUXaYO* zoMo?GW6e+5_(z@#IeyL9ysm$Btob+@T@*A!ZVkJ=q$?i})qJF^SiQBYShT9` zsycw*s3@|oZ->Q2M*>GJyMg5cihfZgX@1sJQ}o0(#kzFJbUZOu`I%dPyPVITrw|CC89S zbo8+$fJ%@dFgY;lh}e|?Jr@8nC}EE7-|s}8OtUCh-G^7 mV+rQhhk7R7l6|l(7zjAP|P_ zz^*a!9_FHZ2X}~powVHhKSIH_M({Xh6aU45FWh&W&@^{08etT_zJg;34KObpum-@D zmmdZKfP*O(@Bu*ILxB*lDQ@5ZMq0Fksh<&}hbkD(5;p*S0l*j;e?Bx|zktIMpm7iF zAmo4D7Xbewo;`iscCP@?QXAj_7lE4V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1Q{N)1aKq( z005^+L_t(I%VS^|@__$88vnD!2NZ$Nk1bG@e6FxFMp5$4*x2F$vJvLS#^%T>J{KDs z8~39a0Ti)E(qU^36hN|=|F5y_W#bMcfy>61|5_jk{HQ3t|7EwM9ZAKH-rgG(^~mn1 z?P%{qap}MEy7wr4`TqYos&DxjUVK0cAwGstFbon5KRCglq##g&K~6#c%RAaT>d_L+ mI~1qC|Nk7#{|xWQ4@&_2nP#a%EsCE20000C<>*JDM$q`$^H$Yc<4ddOMBS8 zoZW-A#}B^lIDhL!0Km@L5|^>!tbqVytGvyRIIl~<1%NW=TRiRptC!tNug?-iW(|fg z#h#aUkpf_1tx8~{Tx2D5Q2|7arx}sI=9*1HNat*J!gcGFY&t!aB`Y+HqI(Lkhd$rV z#o?EOAnYsa6o9!X(s?5W0$-iMCbqukvU$VsEs<9Wh<_5q`j*Q~83o^_1jr-eKR-&1do5$K zXwd{9Fn`c91>qBMT7c6aB8+^~51w7TuwV4 zP0*nol=d)D3k-oUSQ6)=t%_K1Vh66PP7z`HD?1>6(GF}|2Mp|>LUcf42PD$?1sd1^ z5lN$HCW)mT2-(yDNZJ8D2MBxA7cJN5MGVL;Q;j_!X&4e%&;gUOIEKG*abW$sNoWTj a1^NM0nJ>xBH}m2E0000L2DC16o9v7BUGWdZN-|CNd(Vv3%%AlyJ&+`gq;|o2Zi0G_TVK4 z&q7+(TZN)*3Pqt5G6kvNCE33r6c0Tpdub1|mz;N<-E33szJEzUP%7k|Lgr&;^4`n5 zPm)IQ$1$eB-;du+Ka}PKKv~KW+qTE%ML^?P&2bzu-B=JD-I#R;WO?# zRsxVZ-GzZSPk-xtz4NM0cR)aY@wm-_)AtzkkSquLoV*gaK#ouHsh}l0v=QTI>qzoV?VZ!i{w3jm-m z^5v2m1I*9fU`sZC6bmI)^-aDGG{gilzZdgUYT36jf*J<-FOL-ZQOPsi1e=~QeBAQd zvoNxavk*#wKmbT`(24;Xi2!Li+2PX=;Hc$w=yr&NKzPJEBG7B50Kiem ztI)HYb$@sZxyg$dMLt2g2w@9>pjwWQ-T2z8%D4eg*>6tGUDuxIn;$al2fL?Z9y! z2?XN0Ivd-;J8ODgg&)dNVh5h0Hs*#6|IbBLg@6D3wPvah1tb{$Yl|^ZRFL-9?BL0N zX9veLFz>6u~9s#16P@iU29G19=D#^svuU9*Th^ x%b1CQun!0=VKUiVM#AS>X6G4(KbmR6_z6^*FUbYNm;3+#002ovPDHLkV1k^Dgy;YO diff --git a/graphics/pokemon/illumise/back.png b/graphics/pokemon/illumise/back.png index 4e44d84c44baf2624aa53e434731b413dc8a727a..d4d429e0d9456b673c8158032ff25c51d8e880e3 100644 GIT binary patch delta 606 zcmV-k0-^oB1;z!CBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v}04K~zY` z?bJVu8c`4c@ONN@SRA=EwctzYK$0(D!YG%r$w2 zpCxx}iZo-BS~G8-ySIPdk~)xSd@w&}=FP5(e=jcn2I?_B*)r$>-YJE(d=5cH4-FAiErC*paF7S1$?$GTAnG(TBl?K?)fT^f|&Eo<}sawPjW_nC( zVs{b?2BZ(YG-!$CdUu03fKQxPKQ(aEpi--;^>-X}=@;i$79f^Nt=%q>?(l6`0HVbu z)IAw60}ZlIytU*KD+YRmF0trkfgXaVkHD%M0^lIG$QD;ncM+IT8(ql1QXs-3q7L$f^DWK~$XhVcMplO$*dN*{z{lf{Y=I-?z&=~zoVzEW z6Lrg#0Dw5pw{WA6>>i-<1crJ_%HQ+}5DZP4RGhqK)6ob+rEas~ZO(Lgx z0+#=W(W4}i(oAqHg6jC8ajF1(OG}3_(PO*?99uf@@|=b_Sv2N;cTuz%$cA}T2$vSn sBf3cT9C`%+@%s|$*NHmff22c*Kh)=yL9dx>$^ZZW07*qoM6N<$g7lvj#sB~S delta 600 zcmV-e0;m1P1-=E4B#}W-e*gz`Nliru=LQD^8XM?C*JuC$0wGC6K~zY`?Ub>O+CUJ7 zeG)+m#VH4=k=Ue;l;j1RXs|AgD-Ytj6kwstYXEXd!4(kcM3II?x-JDE-LvFQPLXD4 zQbT6F*vHyyrH+(oywZIB|9{83cAS5%F8&5IUK|%^C1~SqevzyCe=99<_P%8YK8hpo z?zJ8GAoQCJQ36!N8*L?CmH>6_Q5SB>KEp6n5k$)lRKqBWIumxXN2m@WRpZ&TB*GvX zAz~DTYr8`==`%6^1$Z{ffbMu{i=x6=y8n3<2 zrNGs8v&8UnT*#OTe|+7@I}Ey!A@O`RNr9`4Q~-7jVB*wfseqL77STh)V^VXrM`F$Z zsYT}$aGk|!dxO}6Pu!P36%ZH)rB;)x@7VL{7x$MIz*$JS3Vb5v@U33}9G4~JJ!xPH z3NXL8yI_eW11f?~Oms{@h2ZoFu=Ha9?BxdOvVy!zfGM>xe}Md%s?1Y>1qu;Wfd=Lh zhyj2C5W`&F62(B|A#XTualS{Mg040)wa)>&eftF9<>7}ZaG)HpGbPU1Jp;VNEhhm0 zX`goyBoA{AP_PIdUuJSqV1(&8{AdQ7K)LyH3suin&y#@xM2s?C6C>Q9AmX#qM!7ulTS muz2Fq^AfA$M4t1%%=!b==aoU>kTX&M0000J{1U@nK$3$ZO6-G@1B!p?oE!k{0Gyh@L1jGv0000haI`Pj$bXm%Kz9t3=kxhs;$)4lX=8mNgFEeBXFhoOJvM g6iJXc@PvWkEyJ8y=leWN#{hY$lz~(Y5<^E^Wniv)3mi3(EcG&pSaJaFQ#(XJ zY?HY|-UjdEJ^#N9dg>nvM~{7y3;=PWKiSA;4uY&RCp^A`$ydM3iohp`ynKiYU#$j! z=p#o`#xd1TL1O?E;HA!gCDQ_pn}7f)>XP;H6>zZ{7QBA%1KM;2u(W`J*PZrL2${10Et2ab*C*KW`S}KgN$Vp4eU0f zZ%lzaUU4o)-`s-&wtP47%?9LEvM8s(VS5i0J8`^g;NJ#N-UG*fPh-rY5zA@77gzw9 z`ofx`M1+nzp!S79*E=)62CZp_?+8Fhj=&x{HIzuVe=Uhszs%8mLc5X&Ud;zUtNy8? zdUS-gQ2>r`Z29=QDH=A&%abf&jk5tHoE58l8|WJvp)MOv)~7h00SH7`glB3++&0}{ q>MJy4v%oDWyv(f|^Qr$Tg#G|YXLCv7wW1UN0000@V}cQEBcI1fORig0%`+Dlp1I{E%`7DRC^f8Xg1NnZZqn}E|AA+ z#>A+beNe!b?IyaJe}KGNmemwEY;S>bCyqA>?9%|MTj2O^Y_sHIIW_nI3m{WnSi7hY zp<@rIePH@CGv9{mFCRU)YjorY?A_Bhgvhz^R9dX^Wr5}$+Lb)8dfot9HB)7MZwW0| z0FH2MUm(Aoq9I3Kkz`5E-F=X7R;MJzN jXMw9zc#)5b|KHUQNoR9Om?fdj00000NkvXXu0mjfBD=%X diff --git a/graphics/pokemon/impidimp/front.png b/graphics/pokemon/impidimp/front.png index ef0d090d88b8c51841cb17dbabf896ee2d066276..bf3c1bd9b391c9429b5369c409518633f307a103 100644 GIT binary patch delta 520 zcmV+j0{8vu1n~rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m?~4K~zY` z?UJ!hBQX$$9ZMAM&e=tZ3#5%@af0$LFJNZ`NkMT4wg(X-U3U_qPeie07Th=`#YwmH zDe@rcc$b@Hp$Kb-_D(Akj&_y)6}d2>=NgG?7x09g54A zC_qM2K*{_R*8w2S)NlZQa1HyHkhU$9zLRi-2KL5W!ZZMkrUq^Sj_oxlC}7?Kdd1gc zdjm(-g3g^%JR45SXndHLzM<=^_A>#jH{})~nxFqhdO4U6S=?f7JPURlNXr zq7CrbJ9zyj027d~1ie%DS)5jP+tw-X_^)MajeaNdm~lIQjex(;L(s8T6G z?wsR0nFrHGr1}nMO;e3|y-yL@Y{WogXbI^H?+l^CflfCQ!MaMTjCAxI*^HWGVEUWS zbs*fBBy~=laburj!n?@e|KJRg`V<>FK|Fsq5r*D#)|`4cK+cCglr^VZe4Nc7Srnjs zu@#_7i`NT>0S7N(!(c@$$|lT=LnM{#HA|lJZK0_NPd@eUiIBhBfrSMVcb(q=0000< KMNUMnLSTXgf$Hf1 delta 515 zcmV+e0{s2)1nLBkB#}W-e*gz`Nliru=LQD^8#c6ux?BJN0nJH7K~zY`?Ub=@+b|G@ zX#yFzm6i&aLjjo}TEt`O7a)B|>>)#fM0<^x2D$|>y4%R0QA)YcV}=4%b`O3KZ+VxT zqI7UXxoZpLCPMe|7kU2=67pXEb9MM%zSCil=tL)fmI^)ufCvnVe@H3G5yfSrC_qAE zz>?`Dt^+`vsL>E$4xgtGHzkz5lW>Xxc44Nl3;^S$fgb>8b`A2{B<+VmXpRIS#R}QUGKK#3vefz0AD?f z&v)e-0iE%@Im)8@f6)8%gbJJ6KKB7HSfK!(?Dp{+_daMhyT>{1?4Stg*F@!&DGSjW zC5gasS>&z28q>hnzCDcoqn#BZKM>c{&V)SBm#MwryxWRMp4uzuI*>`AOQi&PbdC39 z9!wLF>MNi$jWy==K1O8!M+`KEmXN;i&Ja2p>Ucj9tgEz2c}Pd+$R^Z8L(|{Ct^?sF zB&u@ajGOov-b4oHgC0cHE;e$4c>cx_hT1u+cl|s@&W8rd>Rqng&e}-U3edhd2vDWP z>w&|7gO{*juv#RFI?RkiODfrGmOSVA;b+eK_ox1!tY_PSg$2Hn+Cl&T002ovPDHLk FV1l1-^H2Z) diff --git a/graphics/pokemon/impidimp/icon.png b/graphics/pokemon/impidimp/icon.png index 86eee28b920c9a280e2d2dae3878f7b0ae124818..e889a80d44c65291723f0d8e4a917f54545184b0 100644 GIT binary patch delta 203 zcmV;+05t#K0?q=EbqB;rL_t(IjggNUf6#7)@&ya!7EQ4NYBjVuGcaf^z_Qi5jXC8V zv(v}DVOI$4<$#z!rXEFSN1lb;&DA2^biKn15K7BIid(v#gDN<1pkisoNFtC|ITG>e zU+U+Ck$xm$gbq`beuNlY#eE24@`Fo8KB5u^z5Mu8kSCMqxj&wWrk?-+002ovPDHLk FV1lzjU4#Gt delta 220 zcmV<203-j-0^b6Vbs7hBNliru=LQD^92d8*JjDP20K!Q`K~y-)k$f6|kZy(YL;EmJ zHIQZ!nnGiy=90-(J-8ts+$Debg!rymA=Qwnz z#`_nbi$FC04BVvSJPJL;Bf3WLa4@}_j4%>yTCLU*5EGD{$Ec8@7z!Nd2vBm=YhTGr z4Vv8`#lUL|aDG=Ma&#pniZ}jX+*Jq~X_?>%fl_U8aVhY5)tg8H-4ZB&={q~61cRZ9 zy8!|}@Ga;k(%-4M5Rw3#;%F-Mr79EMVFJEdgclO40GMJt_GJ*4>%FB%lt%#t0As~1 zt(KAg`aV92VVL-R27b8?+%q@84p61ws+fca(**&j&*0(?Zg>C-PRjw#35*@5pe_tf zbzE0Lb@;C$0%4PZ$KWh~&vg=1dRqe+IK^PA@_YUC*=n`QzhMHX=0lxkA)3X&&6lft z9nVmF`ldnKfN)TRXG@Iad9LFm=3`v?NS9H7D8e=NX6Bh($07*qoM6N<$ Eg6vIRMgRZ+ delta 764 zcmV*}+2Vf(?bo^E4)ibjYJPkHx(Gz; z-@r}IokyXEctqC>9uB5=lMzOuO}pJb0%8L4{4pwID24(DIs%j&^*UGbQiE1ENHOr% z0-WDfi5y)?iQ=6<7cO8U-DDZyZ<;%=p0l-*sORHt1zrK%; zVi+cVpMhVl1NY1gume;nxGE;$!E`|Y>NB{wgBu>ef|GK9GXi7BDX0sBQyte;P#yl8 zh(Oq4;4wIV&2yaumEO?+22L^9s{CF*eY#q$@*kK0s`*f-S%_9KaP#HrUdJ;OUw&xN zF(4ci;pq}1d7kSyiTN0pKGJ0rAc}B}y_xxFQH=MUVbnNtHkbr>*UMGC-4^4<5F*U7 zXd{5N>8^wa9e~Xcfj9%O1JnSPOiSq>BLf`2u{S zUGD*}Bt(Zb5Sa8;475u0iQwq4HVZ& z;E8j8#9f(HDG;DC=uGW({DyXLMtR<9kR&BYu{X>3)XXw$JVFpypq?@tXTcyzVhf(L z?8X8pfm)1PPJ<7!jq7g<@U%Yg-Jw3MX=r|$e(g-00N)1B8E27k+nUQr11-{Z4SY3m z1Pybem^x-9SQy}$3xnpksX(6xfVO_?N$hJwAlvZ(_}&+MZN>X_4Q!zfrm6FknKj@! u4gl;4*mWe})j{;&JZIHPV=F9p1?>+^EzwAJrC1aI0000=^Pt2z}`X3<9qQwufOd^Osa}Iv1`^6B!~- z9>l-DC?FTY3*@Dp2Or|kO3KTbNkY9_?Tf4M3A_yklzxbR{08gc{N5!0um5dHYN3+O$>TM*+$A^&!B zv6(f%`{NpV3o#WpZTAAtJq>%?pTz|$dL$QF2L{AJ0rA%^*Oo4QS> z{JPN~QIks=K$hjs*PKd&Xg15wC)|ViQj=3k`hHiIrH?v)L<~g(q^Q4{sU><3-%Deq z0k$p+QJ`+q2=e7h=|DP2sMpUASBG-_PyJCTQ%dU&AmCGt^fAB^lQHvbpnmqeuD`GA zd!&Fx;#miDfDJ&zJwXZxk1Qa9^{2!7P>YZGlq!etu1yYgFrCOs3-M+w$ zk&7B3M6EL27XT1Z>!&(13^I=YHoyd$-wM#99YvtB{-ern1=weaSb#ZjJwOO6v9KSMFr{*PFZA;!cMqV6 zqI|u?8nLP9j3_1kK zVrcIlko9dr;cWUFdX(&1;&UDi8#M2uFYkEAljB%}nxCHQoE>N+f82G3PIMk1(sevO z>8YML3y_hd)MK-;ioOBFSu}qb^CS}SHDixCy-_R#k324f0Z3Pb2u6~5#P7y)1EA5f zc8LV@BauY6(t8NdI-1V#g-|FFzYtTLd9G&zM5N#+;)hp7AyU_)d}asI2N>Op|9n-5 zoG~xplWV8gho_SBf63GY!STGP1q4~&6Tk6+Z+zsOXPFJiv3Hl#!CSO%`HTh@KuHFQ zUTk*%h>`YYA>`H;0nO-mu-koNBGz7pp(s0(GJ^=^ONKy*j#vj_fImJnTIzDNogv9j zK#wIuW)2t6+zS*R1T`9k>mEfSz z#0|i;-ujASe`)~CVfp!pdSbRvXyhEf_qEnOs1P7zHIRb(X(|`sJ^0AY&<5DJBm@Sk z2_wiCOQ{0RCDxP?_}kyP4(T^3C8I#*a+$g0FNx!^5!e!n;d)BvIMkZ}rGGYb}b+yu9{f3!>fK&nNxMEj*){d&H`tX9=h zKi4a$6s2eE-&d=b`^&vv{abyJ(xlSr0SJ7p06zv;Kr$qr4OA~)R@E<6bq5uoNIdI; z_MirkxWiBZ#G{GbL{?w-t9`}3 zR98Rf=7Isjuh($07*qoM6N<$g4y@Q;s5{u diff --git a/graphics/pokemon/incineroar/icon.png b/graphics/pokemon/incineroar/icon.png index 8de1c2403ddd306d9830e5e66a313683d9e2df6c..020c549ecb14df720ef261c20913a5996a81e27a 100644 GIT binary patch delta 308 zcmV-40n7fb1BwHXUw;7=NklHdAbAHaXcczBBeL@IRtd!OXprIAq(zJU)y z&+}hz;>tBOHG6&-IK2jiE%!+m(o_Fn_hIr92Z2V;F0@3%}FW zbZT{ZI%x_mU?T1{vT24j!ztb8oaH+76i&N5%W}kEM|i<~#>hK=Uw5W*+hbn-ar;mv zngOQ~3rn%YR-RhnA@&$y8Xyf<9RzW_#EZsj0%H%rOf9Ft%s8aL%s8aL%s8yTL>v}i zFy3kbri|BIfGsg($&We$5WgUAD8_}Cu`{?f}75XOyqlz&eUVxaMD*YX^O7{Ho( zrk-K|ENUXw#9NN=_{yKxGgf3`ij=o25jFAFx|Q-wG@E#>9WVS$kD_i+_35N2mH&PspO(mv8M3Kmqk$`#&$#yJQa+*>+k)}R6pLaJpS$W(&^L;c!gM5N-4Gp zG>EVpp#e7^=27gM zvGYE^d3GH1r)oh6$(V5ytFv$yBmjCFyA1&NngjR3~bj=&6CKp222a&5e9bw_>6V2D11KtyWvv@%% z;7jXIDFcLVj~gIKbR!-CAW0n;;(0Fw%~Aj@#8y5CdY>}rlEU0kBC#K~zY`<&?orgfI|> zyXgy1ml&?14*&s84<5GA7cd*l-Zxes!h@!P^s&~M_*_m)SxTY1G4W!Y%eMR<|4h5X zAoQ1FMF@%X0)FEqy-L&6041+dvY7!FH=NgIg*gycKCuFwXZ^b5e>_c@2gIPWs9zIp zkw$ai+O8poPBPIk0F?^>;acF5`2Z)x0ZRQO<{M`RFN_xbE7eeW$%)=ORS*l@Ly4nU}x3=434s0JJO&?pkuRMUYy{;r5A{%cJf?9nJ^flJ1 zHF6N3YKZqmfF(yjf0Y9eIY2$?Dz`dwPeB|&+OlgGplW8pGPheMfYe#p`uJz%(-QPS zh?Buo=>d}e48SwMTt()#ES&@6A#{~Ku;r|9yE^xQrYNT0#SHL1EaU_2IY4E<4q#80 z{(!;B835&{Gx!#AVayfK1SXaZbdpP9;)AGSagt&&#AjgET;31BApi^(uc2v;zl{ET z2+s4n(*_9LiYEX_P{)aQ>4czB2%w4BsYgK{LIzTGaEW5y1T3gjt!}n`yKI4#ZJLg% c2>rYG2E*Ax{`_(a#sB~S07*qoM6N<$g3|EZmjD0& diff --git a/graphics/pokemon/indeedee/female/back.png b/graphics/pokemon/indeedee/female/back.png index 7da4da8a0a8034913a640d102c87a489de5bea65..425cfe3689801a20988485cd08a4affeadadf48f 100644 GIT binary patch delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?UF%i!!QssO15$8}K@L4xx=eK$L(LPS#(IT0HGDE*WKKoMMN04>j>QHOl2l@0`~ zQ#vjntBqO^+G3Zk?w6x~spC`%vd9+==#$>o5gXG*k=_|d98DQ<0z=Fetv0}$EC9Rx z{6r`-AE?p=Akhcl)dG5Ud;wr<0cinxLkNIlu*XHl3@lqf9K;jAWt351x^L14?6kKt z(64|)vz(Or)oY;Mb_%KT+aNt4)u)iVgfaqDM{D3Yj0S)xfGI715dm!&pe=d`kc9<= zOjh+lZ@L|&0=CB_^8pni-55A))(QHm`B^$kvU`ic-0a-aOGS1#aMH~n>D)?o&nX#b5t^XZ?_Xpp1m zU%y$5@5gzXZW4^0^!JcKu|-sAnrPwx0J)!q07!yKb)e*VRC1B^f2Gt}1M4ge<8UmE zYT(KuqpSUSZ{j%QTw5fw0@O-t1A23kY{R%MvC4E}J#Za!kOy1jLR%0bGte2n@?2eZY1*o`7}*oU3`K zwJ2mOH zl@f?A4ZVF}NEP9fnr6HiTF2GyJU@(XHC<7L)1Nv+yz7U|#nKm7oo5o0|Mqd5Bj0000_W9w|N?bKlT_j~w40 zbBd>{2Rt720eY7NE;XQkN54}Yz&ErAXkA-}sUA508UWnV<;Vu6F&}nYI6b<Z*ZL#FlDj}d^%)*SHNsn-p>Uc=_9!HeymJaES#l_61d1o&N~TM)L&RN)m0>9nX4!U&@}Yrgw1+o05z^W7KL@a@buseHxn zaa)PzR~NV`Zs2%>HBPEjtu-xNDWw=7OCf77-pw%kqX$t7umE+GHn4%YX(FN@Ex5OUio^q$fm5}iCt)1Qckq2~ z1Z?>(D)ZF3r?-fJWh$4aH(P_Y#VN7_by`@#-8#bu+l!H|lYL=*b7Z>T+CWR}_0MR- Z*k6ZAvY`j0z7GHZ002ovPDHLkV1j2Y@+1HN delta 532 zcmV+v0_**N1^NV#B#}W-e*gz`Nliru=LQD^9}kc2_fP-;0o_SNK~zY`?bWer<3JDq zP^nOtLXsV1M4GI*53of(z%Y)3tG&PyVdRf6L?;p41Z*@8{s4iiK+GNbgX_{9QK2Tq zmHw9-1=7Sj8@M{7MtGjaJK9;>vc5tew)aWO7am9azDr8hivb z23>&8Ie~Kx=+Nhs2k@8@K0VjwVXO!CdjWuJx*eFnI1>Hi5_X5a;gT)_D)Pm*<0T9S z`470v3m9AK7P*Q{GM`we%5Od(lO=Ea9sBy{e=&6!HUbqDTfi0=pL2;`FEs zrL1^YP6!ka(ox#Ye~34TxGAxc%x=bry#<*E4mdg9*NDZQofwtV^F=E8aZ@i@^T&|4 zoQ#42P19~j&@2}WsBz(1VNlmIR}W5bHFCqVI-fC3yfg@-@GQqv4^FZg0Uo!A>q<7y zn)N5Rg8g@_aa1MQQrDqUO7@VZE{ub$Va^`nJwO$&vy=e^e`0s~m}A1ci(W=+4EH(C z84&!U&060~F#W3sVGFQ;Y_CjU1ygP!!k;a;HGqo59q_=e+MqYV4&@tonzF!}zln;U zTIcW@5-?2V{P1cj(3UuaW{@3bMsTxC@y>KGl4ZOtj3-AW+qE?Q*gHyo{p0;l`~!zd WvZ3)G?0f(K3IG5}MNUMnLSTYNB>SlV diff --git a/graphics/pokemon/indeedee/female/icon.png b/graphics/pokemon/indeedee/female/icon.png index 83c5a5e481fbe1498368957b39ba01612b093fa8..ca9aeda0762ad059feedfe1e10f8e056e59413da 100644 GIT binary patch delta 261 zcmV+g0s8*`0`dZob${qdL_t(IjpdTTio+ljMg0Tm480Hekxp{E9! zsCENG?xED_S3)Q4u9vLXfNnT04A8^hkniRQc9a;mH8geLTz-za-S=|Ie^@x|&ghx( zPR7Fj>>U#i=c~jT)7P)Hz7izwWGu*RSLY!Virx$O0+4uP!j?nG!VD@vfv0axCXy#Y zKD7Q-U}6poEd)KB49nxrY@Gm#JkWGw#*~2}%UPfTIUjW%UdhKDoyp#{`=jAa00000 LNkvXXu0mjf??`*9 delta 275 zcmV+u0qp+r0{;S#b$@4_Xa5>kEMk@%(9QSQrsXZtMvnrfa`jV=?f%e`WfvSlXfvK>^j>@x-xKo)J2 zMZI+_*FeiN7)Wws&=dVu|;NS)`ym?Gnpo@5axkN-3a8hiJXqgMa zNu~5Zjsq4D;YX6cTjIh=NDPqYG}O9DGV;v85=XA^L!7^9GqH_V1J~~%ULS(-YJKDg zg94Z=d@w9@J6R&Y?E`I74sdFyKcr(`bnY=HCleqXrBvW+>@A68w}OB%bxh0wHLbJW z9Am{BXsyDT;*OJW3`mPZdTc-mS%JHl1Iik-24GvN1nw+AtpZ}U=bW!Hh31>`XjN9h zH=VN@`Fg?|kVW!&pVxoG0p3M4(8S%B`8j@x!I!YLiM_2#H>KC=M@VvqmJC?UQ9 XY`UX8yW;UK00000NkvXXu0mjfE|KdN delta 530 zcmV+t0`2|&1o#AyB#}W-e*gz`Nliru=LQD^APqS_yg&c|0ozGLK~zY`?Ulhw!$1&* zQ{u6Qq}VpsZun4C(q6|QJB8sQY8l`TLhp`^m`W65v*lNW; z!=`Qc0=6k1ZUUq2QE~#1q%aP{P_q#`;RsVWM!NOg@Ng5b!zLn35HF!0ZdRa>trh{P zn?}Br+IBV{+AwK9e_tt|F--IE>Ez|n0PJ34iq{Vb3k(o1R*1*~c7p9GEi+?XD--%2 zXFl)iU>WCchP-9R6bz8(g{=m0JazTJ3a5_c1-N)sdZLb(W5*jJUhRSQXf1PuaRHoW z9%vR?k5>qAb5Glp0~~4QA5fdK{vGC|qysElO6hwFhbto4f2|;3MvjR%pr%whTwo-5 z0i|Rxms~qZfFj$Y%LJ5=5x9*wpqztJ0Ia1-;MM@tDj;G#XMdC>6mQD?bvX;(boP4c zsng70%KiBLF3pUtJ#XX8Z0jM;4Zz@x+HE=*!5OvNcyeU0nES@RiY{0`UTnb${ncL_t(Ijop$xio-Avg>{1=O&Wu9hGoE|_b>~4Ki7s$kya>& zaB1^oNV&!nO-PiH+dx=$KmvU{&5!h)dtZ>GO$_+$XGdve!FW)5dXm3a4Q3xV6MBO9k~72Wk6qOF?}H4aMaZMhNJ29#LYKH zGs^;IKN~=P@{#QP0-P^KLhu38r_JFJ7o)he0YwhdS!@+26KorrrD#LJxjZ}C2>xpP zf5Q}ZP{S<74w4KLCX*wmKg@d&hfw~$tXqGq2=)cF%+?OC_~Q!rIML{3p+cVk0000< KMNUMnLSTYj;dzb# delta 275 zcmV+u0qp+q0{;S#b$--w9Pm)nSta zeL{r}#Zp+g-Vxrn!z|N`)8oN3yX%a7>+WBfg6S6URh*0bnL}v zNe8%m%wtwY6x#J7y!wgwe_%2kA~2)Cfdeph5IJn*L(D^ywfXjWTJtf%az0eE#^Dn_ Zp7=P?=uw*JTMPgI002ovPDHLkV1hdBfPnx2 diff --git a/graphics/pokemon/infernape/anim_front.png b/graphics/pokemon/infernape/anim_front.png index 5232461d1d4f5f8c65aafcbcabe34799e447fdb8..b808e3ab3784584af2cbab5d0725a2202506dac3 100644 GIT binary patch delta 1694 zcmV;P24VUA4e1S#Uw;O4NklLDyq0yW(=ic|3cdi)bzlv!88-L-Rqfb6lGaXn;PK`zR$uLw(zMS%7XbLqbOdS>EVl$M3DPU)j36(btQn9 zC=3Ck0*r7@q2VR4BMi$CQZW)_awcP6F6SC5J4r^EFkpFXCg~C|BYd$+2^oy9=NFU! zoC+%j0fR;+lYen%U=%y@6o;6*>=RHxnktwhQ5Y{FmtV+Ge8H5Pb>aPnG>|~$vcY%b zp^8!50+6l-E<6zOwE8r@S{n%>aM6pDP;TIu8caAa_znKx#`*0T^-v%oba?&i8{12| z9=o>(VR7*LrM9l?wZ&=>4n=;vrR%$|pVi}Cgg!!?A%AgKbp5Zn>=r+KY{S88s#>vs zgkP*bhZ$ZeR$AS7-O<~B?p8+GRsQ&-lYu^uoQn5fSCn0>>cS@t=c`{<{jnL{JCtqv2NGM5!Zx79=%fQceJL^A-E?b5>p}P?Ib?4ZDk;y8I9HI zDu*yG*?$D@jD}*dC>fK|*S3!b6Brf|B&Sl>woeC@U<6u~(y6mgrj0VWfJKe0N;sXA z8?9DAjYj+=r|{TmO>1m~f-*on7ETIHt<@jm0tJ|sHc)M88me#v1>q4*J zTubAow8k%LG`N5$A&={$jVR1{(7V$MIH{_LtAD8KvJil$-X~-LskJB&Quw%!FqV?Z z0K?WQ465D4>5`vNl20&9lD>E7%W}E2;U)A+^7IIkdY8@*TPl|tUIHsh8e&r?jcW;? z(R?$RoYtC2e9g=!o@x7XuuW}Ew5n&5dVAH2ADz;U;PMydug!H`JKAy)5)<y-f!&j4d`k&jE=gvf)>v+s>% z_20%sXk;J>Sv=?_Jp2~SerI!4lz+rDBnc66vx^Xd7DKJ8^|z6>CQE`;=?~S(a#syp zh^y3N>fi-97X(>8MJnLLVuv7b&~9>MP`R)sXb%N+iVz@lOrci-uOJBa*)36?eu$V+ zLR2rI3b&Q&lqgDY>NAJ~Tj^vFB|@7C79}-Vl&;cSED$;ZP?WJSy(LYSM1OOQChvCE zDg^?T)btw0CcxG^0_l?Nvyo{{5X}>o?Kod=8K1J{j03dgIi*u&Y@e_ZAn4$|9zv;P zmC$OoHC^9sxD|Silx~0qhPsTw9$Bap zdL3uL;QoU3GQP8n)39Bkk>Q9lT*KV084gv!{f)mgmZTYA?zYVhNPk$^p!>)5e)kIC zbJik^iPJvIGwi?7ur^Cl_ca(0;FXr4Q*RHjEY>mGNYmdx06x{(DL`m=_Z7t*-6rJl zRKcR5!^kn?<|Yu_3W-D_o^S{e*n16k6$s$CQ+Y)5yFWt6A+RW*eW17PtG(KTPCKlvr*l;f<4$W`B`ZatU44$P;KGCBekK z^Ofe4bW;j_T1c96bnbn>d#)(zzZy*BweUb%I@V*%_aO!IEg|sI9AiC``{2Swx3LaSBpz>0Imzm1_6OaE|+sh zpk#X#bsWaRMW28S(z=2<6WJG`P+ZFC_>w6%@4_R7G>|~$qQQ6Lp_-B05|AzjZaff* zdiGg#xsePau*`X#P*qV>2`0QX`VIQv+S#2suWnJnijqN3c~W}_bXjZ z(;CZlDmclHw>53=<&$Qtk1&j}GbQ$trv0^$-%gAjdEnp;MX5Op`E2tktnhld*6GKa zj^4gAH*)fx{KqG~2>S0iC*yrrWqA+DyJOCi5a4|i`t`J&KT?&uan&I->irXL-;!S} zp2>IBO@BK_7P}TCeE)^gyhYl4kKkUAa8!YqH`D0UjuioWRy5jZDlCUk#U^-HG!%_8 zctXrx**O|aplA+rQYLd{=VVX{#^73FHgo#XtdS-gu&Lpeh_Y!(?Q{ZiG{#R-22GqK zM12rqgLnNQf1GcVP9($z3Q!#~QtuGL)mY30;eTO5*g6ELPY2@^+ac@>QGZdG-~k7x#6lIMMz%%b-Ji;jr1_&8+)JK@eNO**z8#Rh+Tu0f8pHPvG zQB+#LciflNYUP11gec7>sm#0j`p}hXMfL5aAQFzw95+6T=oIm-WO|mg)98vBPdL@} z#ebmNWJ9pBr_)-u<;4%rkVB~Yh52o3QzM5vE<$Q*kwcO_|1c2REzf~VwyG#=6NuJr z`?5#@!OA_XYF*OtW>FHV6?<}>O+wn9nbL{<{Bi4ZyiH*E2#G}8{1{uD0lekQp&U=z z22_g0*5m$rVQbP;rE(&%_!^_7Qzb|46@P={lGOitm~Q2>O&ytc{L|;lmT}Gx$)@2I z3I*AV581{F=AP4=ga85Cc^7ojd;lQ_$U+Vk0({qqkSl_37K(ZcLiq)TWYam9(87Z3 zhYf;`S5e`k$shtl$zP#rwz~Ovsc|PrfPM4Ac5&tLO83#+?K^Uy^YIkE}lX`boD!Cb<*t0EduaGAP5=N1n z0!Gqp-m?4@mWag4MinY05+(P!U(Ula=b!Daf5tI-3Ni1+V4ur!{`uA2AL=3xg_auw z30JiYJ(`sN{Qbk1>mvf11IF}nB7Y{jO8wo>^Y2aMwcjQLXk;J=Uf%B}-1`>Hes`-S zh(Z>EgfPC|M+iZSp){4|+Z@@DL|&{#LQTBZmjfGOYt5)KdJgIWFG(kG4V+l$5qK8b zO%{*J=Qen9kLONc3#S5Rd75$$x^a^dbl% z)|&~MOA|>DFB>HU2t5Hv%Gj8}3Xw#?+@tB$-d<%uz>=EXK*$8>W=|knv3)i?OL)Po zuyoJ)2CL|VEoT(aj;Bgzs>rUeVIXMWy&giPVx`b&cZsI$sBVRULzQc0gfJXh7~S!{ zzbnHLYM_*{b7X)3R?@;X#((M8R;fgJ(K=g9?aAofn?EWHhq1*NR#u_3FUDR4SHo2w^yTsyhn~;8?P+arC)A z$8ipU<^tLW{c-RAX)ADh&`T&$(qFIh{!}^fPwfHy@3jYi0|~14TiZMgVgLXD07*qo IM6N<$g0EjP9RL6T diff --git a/graphics/pokemon/infernape/back.png b/graphics/pokemon/infernape/back.png index 13d9d75da88d029a3ea1fbc5f2465fdb2077120a..7ab444c0bbe22376858fb3ec424be1f9f51543cd 100644 GIT binary patch delta 886 zcmV-+1Bv|q2Z;!fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tq17b-;K~zY` zos+R^+dve?l?t*2EVRX2I(D&9+{UsZ3ULOHMbVHY7)llT55$qRF@Ja8_wJq~{okl3 z=JQVSU-&Hb$eAVPoiq>=k>aFr$4O6}`jly8!F8C6o0RF{j1k9~t}9N72}#N<)NwM1 zWNHGarvgI2adwYx1?qhE6rsb}GAB>K03ig^ZFH0@A})O!bgm(8RG$Te9*(1A$gDh0 zN?34aw~+#N(ucL(*nbfohp-RyQbBz*b($dVaJ{|?fZHw)E?3hHnHM`mb;-PZed&_! zU}RoQS#V-UlFXqy(n*)G!Dy;uJOn%!*g30wAm%I(zP@sg1(oA_CL6JfdSA*IMvns> z#@I!Fl%dNSrIq8o7Gr-#>`N9vDb?QraNYRL3YifcSZcAG+kXJC@bMBhZnmEdvvg@e z0C%sQ`~L=pkF7>_g2AhNYYd;fdhjD_eV@j_tb?ra^*qBE{e0xi0CLIdfqYt}8fAL^ zS3;T-*OF}p0i`um^=VIUe@Xy)jvLq(>-DG)@5LJJUA4)ZGynl63xdE$%^EV!u5dmE zWSo;^y``>iL4Ond&2qEmo~e3kQa}y>S;x4H4gff<)ld@|*vm}-Pj0E8dl0_G0$O$v zs<|yC-U0>{hS#j3CIBT=Mol-D*rSlKqHcY!Arp>i(}j$}6rd=Q$ygP+0N7{^)e^uW z*WnJp5H?6@X%mXDQUKr40_=d54>p9wfi(*ZI54y==zm7Zwyk1(N?!k~x+?X#&On0< zf7!NhE(X}>JkW$5&{NwosIO{z49sDuPWXcXyoDNGtvo(0F2>tq~qn(k9;*k!i=KOqY)kOoKlGZ z9o8?tkAHy3K_=ZWLsltOa4XbLCKejWldb@sYbSUDP(_Q1sB{S7w7jqAxFx=qZ}3~h z#avhf!NOu?Z(qkk_YI!|xHFC>d=xnF0(-(;_dXi{v`JUgQRG0E1Cas7x@VjKK)k9b z0)S3ITHyv~02IZ03s)e@52KKRbO(CnLxVN7h##XtI!$hoCxobf0i>&btZnh$L;wH) M07*qoM6N<$g4hq1i~s-t delta 858 zcmV-g1Eu_l2>%C=B#}W-5da5tNliru=LQD^Au5G0IBJoP7#Jm6I(D&9+{UsZ3ULOH zMbVHY2ucC_b9WC9|HN8>0RGA)mi(%plr0Px`a|<#!h#dql4K6Np-wuC^@kH3<00TV$Ie;x z12Lz8==jQA7FLh%nQX`|oL=6MH@X~XGsZ4@!yH}KD6JmvH5vOeWMA?CN~!)1fa{&# zte6|YfyE}fxql4+ivTZT<7VsGAoshR6TsbT_x`_u!DDMDKf&NtzBL9VkY)qZ(!U!mpGxBd%rJ3`0ums20$!-ujdR^a3}qE!OSQ z0M5lK?OwIWn=AkUCJVzbK#e*w&aUu60?4=^$$C>=+kb>61{;+|-8)nD=D2_Y0J4s8 z1swozTCbx9GO%A51HRl;LH8kilZCY6AyoI8O0onDDh$6-Lk$4RsDc_^A+<&!V@2Kk zUPmTu(}o8b#R))BB$Kfk@&K^WDypY|d9K49fB`I!(((orVPycmqB&Rrs~oHgivw#K z=yPCTTYu1vvTa+XWS9KjS9L||ah-t%8Nrfm;X(qi;d!VDJ*20$Wzay?^aPl}P@V7x z1IV{m*VZ*WiXAly`z#vJYr13u0uNj51mG62PPH|AwFvDaAEOKz7GctnKi4Hq<9nnN z5(5~+=SWAd(;)WM2#GRELXSth!81xV26WKp-+#wI>>!g)lp(8>D!3WxCu0kZERc=> zo@*y~3{XXji>S5<;k3N3=(s7qmv8W!$E8A41i`{$d2e6GLJy391GqhkCVUh*@B;h7 zUH3m50JKO))KTID75mDSq%^>3;XT$19!g zLFlNbk)j;{G%}GJ3~f4+0p^s_*D?dj0hxtKeP3pwP@hmuVt--2A-satX`xV$1~W>H zE(_(E9RwxORl++DN@ChEt_p*a=qRx@;Q9owa%(V;IxW2O`L`g5<3)#sYA@ob0=_~P zUKGU9VkUrj3<2+=SsaGp=O|pvW1xoeBHSzL0=^_kg|urZGz^nl#*$SN z$@2sTl)-mvynnp5tP_?j!A4ve#`x}+WsFZ*K7m?!WoYB@+R_97Jx}$eK6!QbTc42A z6a>6MO4dJaQ)00+clxbypA1;RxQev^nii^0raiV(kz@LJkE$M_ee}Q{7`taIEmp{( zS{*T|cn`A*$chod^o-O9zUBC;aFH>#S*O{C-*PA+wSSdr;y*4nh4^K;xNv~|q z+jwvSjDK@L9uLq3j|Vp&y5oUr)#3pR)Z#%0u#X2oz(8Jq9}h+_;O^rA0H}7qSH%N2 zN3Dp0(B<%NJm3Is0jh`~ZZ3el3?R)KyuvOXTvyB&56Wp;YypgS@c`3d z1E?(B(e^>(vj%Wk0l0b*+CX#FP6JRH;|LF%cO9BK@IgK53G@f1A7(;KSLf*f0000< KMNUMnLSTXd-9Lu_ delta 681 zcmV;a0#^Nu29XAkbbkN`bV*G`2j>O{1R^Lv3<`w+00MMLL_t(o!|j$oYui8=hff@u zyy#zt;>jlug;G!~O#ux~uIa8sQ0UY}cE`|SwR@@b31SqobnF#@p<6&h$IjYp^j&(V z$h9n;PSB;H=*5F=J^H=JNq6@EFx0;(N$mktWQzkPQ*4OMm-?Vxr>NZ7-{0%N@^LV7X{f|BTJ;avnJG4Hr8vw)JYL;lAgZV5?}HGdxf#;Zi15Te;n6Fwk~znZi4wP~J^WX+w3H@ZH%`)TU4Qj7f@&6 zwW%_I_dMn2n*HMLmu92WlnZ#{6m7rVrpP2|?kKJ6J{psP&?>eJXhz6Bnvcl7iX7tO zH7a`uE8w2o6Y`yqwAcU#tLo8$Vees90a;-Ih|iFEw14F2s9=#1vfHNFj{fCfglZ#I z*>_m%3iioz_QT<30bD?=2jG(G!OgpFJ&?_s9`J#h9&`W)J>Uoi@RWldSbV@e z=m7_ir^=|(12+dwdk|NXKYBm`*aBpxAa2fpyc7_n-C?f>IXm84Jv;^g*JbxxrJ*Q1 z0K&Z zE<(<)F8T%hYRNf>K0(NT17KkQ(4%0ucr+E1F-}Tfo_G13C!|ipJKv;xmhi8 zygYSwCwZ3#KI?Kjoc0!jnMC z_zq_69+yER&qSWL6r;sifOXf7>GH?|aI;NC9kFcERL~As9~(P=b%TfkaihmIOeugV zUfaL~Zs~lgNQlw05#c6XCw7Qdgqt)?>=4&*Uxh1M#VPi%0QO$VYT}e3UE3j8s%|TF z;fhxnf&wM6!j)!T;h+g9RhY3yY`!#rwJOU1_k^jXx33KiskaUY=~&IyhVDb0Y+YdY^R50R4vPpqeD2TVE3JgtlOTWGD{<@7+| z^Zt`zA*1!tjD9puH4|^L?L$`Ap1xbyVY7d{Sp1I bo^qVO#;%YcvnV>y00000NkvXXu0mjf0BROL delta 580 zcmV-K0=xaS1*!#*B#}W-e*gz`Nliru=LQD^BMOXndLRG*0u4z-K~zY`?Uc=m+b|S` z<3+a3bkJ;Cim~vE$lQs$OA|70P~_Pb%qY9rHGY=BK)Y?pi!>%l1RsHJ2@ez4>Bl~aOCHYcY>{L0)ag(N z0L+&7YXg(W3QVO;;a8`GcPSXe5-aVI$T6KPD#e~?FJ!{PX$i;=d8bEo5|A>vhgsX> zDvafs$n%!OcySiMf4XnS^myz5xY(vd9kDcNN>B%^_l=c$VN8Lf;c){~3Sf$tUb}I$j+Q*R<7N9`ydF1r8P(c?|p-cp4q-DhlyJ=71lit`E`w>a9PT22V1La?L_t(Ijop$l4#F@DMRNm75mdGNuk<-^MBs0NRG+(SEo7RtJc5P!Q>$d?IyFzW>sJDOI;R kkX*O1(uSuF@ex0-2bt@ElG~_OzW@LL07*qoM6N<$f;4?&^#A|> delta 274 zcmV+t0qy?60_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1S2QOs3uha z007KML_t(I%iWSO4#F@DMRNm7nu-^MBs0NR4Q`j7LsIzUec1w9>9NTm)cBySyVWh8fYLC&RU>-gLLs4!1ivy$sWMbGxYALKcpmjEPC)_-p}8CcRbUw z{!zHDZ66)V2Z7x?w~hHu5Coy$8yX1@0U$0+RS-Bu;`{&r5`UpTHb@Wv5@FvUfhI}f zQ_mpb77`y!5`~MXCP9Ed zfxHlJ!;rUEcqb^_)9_Qw?wmm+?$sjrGnl z075tf>}!oyz#yH$(TnEMqq~S5O4E_%k+$}Y1G$ubyjlV9G}Y!51pSdy94(-M#l8aM zKc^oJiUanTS)1pT(gEIP6kV1liyg}r+ocBhDsZ>E%YW9}ZSi%Ez=;ZU_gR+hOW+#< z-!&k^C~Y#Y4ln{<%0AL|;JF&aybf#-P$tDBkXCKz0tlQ$Bj;vT9Bgy}2}DkkI8_%9 zN*;#|gBneeuSYrXkg5V`@_j@Sa^sJ$mX;QCPQc}DLQl-Ar1sFTAP1PBN9Z`2HUW-+ zl_Fs$H)MJqEO6Y1D4G({5P*&IXi{THz|M>7+G7Y)r~q~g|L{fy1+dsmOd9}~8#AWs zVreZ86}a5F@n@?oasUP~YzL$T0$Sg45Ga9R-QIr@e*r-9D`~Z|*`)vg002ovPDHLk FV1m}G6JY=V delta 645 zcmV;00($+w1=$6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvPuT0gyA z0006!Nkl8nu5CC8$8vzf}U@P8SxkzV80fLTg`2rqXprZ#1$f$|Vm@ZK^ zxds{tg|ilD-ymJI2C%&waIyz*^b9?oeo2!WgAiUqemUNeCx05oD-Fl7EVFIh_pR>8 z(ykx-zE9omSSyAcfcR>*fHN*eEdWALcWSl(2tj)zeUcdBOV`wvnTPnK3sGi4bs>)H z5N2zo=Zslxm7Yg1LOsBBjX*HVfiut~>A@mn(Rb<%)WDs=I%DrC_0&6jU^tvJ`dJO^ z9Q3^*9jJiE3V-nLucHKR0WN?2xgV&KECEaIe_yHYGY293ENg~0(n*E;tN@$^L$FST zO^PHfUJM?0=P?!YEK&#)AUuinlLYKC%W%&49_yW<0gTxQ_EMoW=qGcSdP$|Ogu4iB zT*fION9@{nHmoK1&#M)Hr&#Ly-o!4amQcWQA4^|OFMsHl6XY>7HqR^Zw!I*@sAiTs zk}bEX0Nf_H+uddB?Y8`L!NF-0boN=6?JMwugP#J(_^8q(Lm3bRFI63h8a&qrv5>)r zgT_gb93*uaVgL?KgNc1JFDEu)fE)yN6xnqZ57KSJK}}}SwON3Nq#1xG`7yu{dB>kz zrefPKJbnZhw-G)uN0Ic<5WfI~;Ujbs#fQM-z(}~Tq8sVMS^$842!a^JK>+BuA)eF} z7NFBjE6bJCTZUPM!!nV9Mb%xH77el62WG}5v z4P83aMpMz^vqyRHWm6GEJ_!B*%@^oc=+c5tTLK12kih{%tZo_W-Z|-{cQU=f7Q7$t z{q;B-q5nO`^8@wHtI9fl>o}Dy>hBJLj#D`T_nZUZP=v!71%EiH1ielr!2O|NSAqJ3 z&drJpNAG7ZXa#t7MvtABz8V~#&79YZ3UEYcS62&P9THRW^&71KO+u+pO&gjK%MZ(< zb88-gi{RfS5Oq4W?XC)7qs546cLNBdk5f<-f_0>)db)qO2%(4~WFGGUZkS*L#FP82 ztQbSD27_fG0e|*~)B}OWijDZP{QiW3E%bc3k-M(<*~AB1FzsgzS?BeB_yul((84!p zAVAlGTOe&RImbN#u&M>4!5)Z7FhC5|KlS4ufuRBjH6A`>w<3zFjz2%}xF}=;Y#0#O z?cyvcKvux#w zJJ}$C0fHiZ0#g(j%~lz>m)Z3b(1=%BhhDg+*>z;vfdGh=*QFN&oA1FsWclcK0^CGq zyQ=`nU1*=)G$k09-#~)30NER_eIio=XDK^m1F!v^)$O@am}ZoNdqW<9!=-SE@xNjc-he|kHBL^o+(C;b%9*hi21?p2eHx)G;eVo0b3h?5L z9^0>dIXFI>*>5it;E2wyt}c9ek(iS2Kd1sU38g+YEhtAUF0B@wx8@<(h~$?5e4l!j z)sq2iv>7q2UVi|A>@f?9LU14HnVwZY&O^8jaS>MlH%u@9O45g&*fBOg^}!HK`%^=$MST!{gF_&6;TtsIpx1&!AZYk9eU}U<~NaP1sou@-!8ozT1f?}B7v#7=ioLnJ3R?V??dbKwkg2G z1Hp!a{C}O>IT2L?Ybhe+L$~u-B`{M0?1rSx0Rf9x4tp$hNR3H>6QJ}naS@)tK)d5- z-9!_kIriYe-UPfE5t)n#4A40boHD|fWGt6_h|+)y26j4*3r7IN82lHIx{sUP*`$aR$(~$rG002ov JPDHLkV1m(3Cx8F| diff --git a/graphics/pokemon/inteleon/icon.png b/graphics/pokemon/inteleon/icon.png index ff330fffd2cc6c16d5db3c47634a9753ef464f03..37fbd4b5971fd20289352ead7c5063cd96829822 100644 GIT binary patch delta 321 zcmV-H0lxmb1FQp(bbkRNNkl1fs_j1RzdO)J$giI_tC~G!HJsQn1C}wf zYB*#Odt&=6V(aq`M_}Nh&%jGtNj&4L+CO6ehnAi1Q3hVya({~faqqjW#B1E!M)!Ee zosb_m0mAEA;yXOCd|nF)UTZyNtb!QYJm~%ijc{fGTr%4@9Ya^n#pj?vL|}_S_Y+WY z=-8FKd{iVh_;Q>;vuuT~^u?v1=~PO)!i)(J<0-{=&S>?MfAs#lFnF!M`GIO{1SJSGBfN?L00ACJL_t(I%jJ@>YQr!PhV=%A zw+zL4h%B8lCD6eT3K4V&*vi~&GuOhXLibfWz5_)9I}W#vt1Uk^<|4AFmTal;D4p9B%bkE?Vd4!L(47? zCFnRh@thP?oZGNXBNOE zvyIa+bmLrn3<^X9wit9j0TqXiUCGNQMPh?5#|bpcR_ID!Tnm~`rL-%|m;f=JQhaAX zhWy3*@51aeVM)IIKs~b`Ihg#wEwdk20_nTK4{co1A^1@lrxqQ8AGMMZ(AkecD7EM? i`_Uu^VD`iR%#Sb4pwRxV`(zma0000b$MRzO%l?l}G^P!s`VL=SaW0u&(bD3qT8PWg~w9HQC*AXgY(P^c?K&TS0EVyT@V z;tktLJ0w)TG{ZhIdu;~v72&*V_P}U9Mqo4_3Yd2SBQR5MC4KNgKk)Gc6ROa{Y^o6r P00000NkvXXu0mjf_FP+I delta 252 zcmVO{1STa~(X%`N z007!aL_t(I%iWSO4uU`sMUihOf7o5Y##qX9`}faG{^VKK-xamfH@hCEf;^;COP{0- zjVEmTeX=ng#u_g9t}*{Z=Ss=Dz&M7yb2-&jU<43EzE|rW2H82L&i5+S!wLus$Q{R5 z0!0x(M)c5oB|rh;ns?fq!O9>4C00000H*EGP&4UCPbz4+x8uDYB#|EHXKQPi(4dkH$zw(wK7oQG8 z9nSK`yuSkS1|SXg_yNX$%Mf5P%orOh1N8l?m=%Z_GF>Bo^Z>E(F~veH>C^!jGd+xt z>r$awPL&OeQ4?+Bqv8rmHAlMyDK&8_u!R&jfGV6G86c~D5C#CXb`kk;g~f>2C<3N9^B7Gz|pW7;4*Rne(eh>Tp+Rl2Dc|By9P42J(X=M!)=F%Y@60# zG;S_nm5}}!aw)O!`VlG4erO1tHcN*6`jd&IY0Qz+0y@KHpmPiYa-l;!9QOgB&5;3< z?C=%vOXNyof$ZH@>$eKzxHbSzye(pUMgu7Q^Z|On#JK4TTs!Di$ir26(IiQa_~o%Vu1gukjN`Ua?F;jcWvZzcc$002ovPDHLkV1kHTK~zY`<(08+!Y~kq zAyPI5C_=0uRl-1*#Ns^)$d1HTOTNqnncErr0DXokY#ln3J^@cvo0NhbI}gy_;N|~v z_uD>SI-UO+gS)6*CnWO{!KB|MDsrDbB-u~{r0)hMN~(d(m*6*?e<^~iP9k50OE_)b z-vC()ka%nS0MnHZ&>rTLPNfD$?p@3a#1yH@kv+Q3LF<@cAy*`~07`WYt>dPYC|9{O zfhj5?)H+Hgp_B_WQv{_V&Ixvq00WSPRU-wYwGLbZAUBpn0HFaTQ3gC=rDZ~;fU?%r z!jCaS>#Qi$!8OFIe`8XbCiHi8#L5BxtoDUrBKXw-mI;V;_3~=EOu&d)wYPxKBt-T0 zVQnKYiS+^O>k7b%s2yOUaog-x=Ylu-!2l>UJ0`saQfPK%Xn5d`mfN-M;oMg335*oN zJwvW3mYxYxTy)-ClKxNXb@=MD6tcA$6i0%EC5Xgr(_9w1~$feL#3^5`Wp zDX>8L?$o;lGTdkYXU-Bsd`1mOwMOm%GsNwP<3>GEH?UBXC*_D^MCY8OoMbUPjkgo` oAXTq7j@2nlNIvlX5dLm_1E^);uVYp<%K!iX07*qoM6N<$f()GDWB>pF diff --git a/graphics/pokemon/jangmo_o/icon.png b/graphics/pokemon/jangmo_o/icon.png index 3c2802c4ee8a8a27419bdf59a854812fbb184bae..0a8a2c2d03dee5f814c71ec36f5d9039e324496e 100644 GIT binary patch delta 248 zcmV?+AAMpzf)kq&cIL(xuJm^t9%KvM2^5uf=tR>u41x)SE6EKszHx&A$Fi-M0J9+yu_pW2 zfLE2Kx0jKq1l_ocxJn5C71UOd9?*E^g@9he5)QP*;2zKK%H{=z{bRjT80&w&69)E2 y7jeRX-1$@P!aNdQn8}Z?2?L`rb3bbHK|ijjWtr2pJw*Tj0000O{1Ske(HSfRx z007uYL_t(I%hi&x4uUWchWiE=aFma*lI!^_xiMX@{jdSVT=xif&GyL!T{fqK$v^N3gi6v knlLa46Z+BU4;T7z1*m12)76?FUH||907*qoM6N<$g2-uoMgRZ+ diff --git a/graphics/pokemon/jellicent/anim_front.png b/graphics/pokemon/jellicent/anim_front.png index ab98dec988a2dd43762d222c414441447fbb84d1..4e08f51dd7db1c487149d87710c384ea78aaa057 100644 GIT binary patch delta 1129 zcmV-v1eW{M3C;%~PA-!qkI`EAaDH%ChT-#SS z5>2>0NwQbyQKF>@`U1_h3LJpP9*RCe->);fq{yXK^d-o_14j%vKh7+r-T6Mt`oUpa zR=pBvw(Oo;k#`3Epj`#nSH2fiwrKnO6@b42IGk54!KzI-_kSvga2jyl4!ooJM}EUG zZjKNkY#%W#9{JKp)IR?S2;9I{EWxyn=*t(_@|z`4#D)SO0hI^1IQY$KfGt3zd5Evd zL*l56esvtxWcu113d581l1w^u=J|Z*$Ns@&4?*;StzesgRcKcss zkfaf9>GLIm?SmP3`CVSVg_Jh|-;!dm95_#J?T!G>d18oNfBzN^dlfL1U^!q76tOFE zJLVPvA{b-Ed=YS17I}kW2U&umnGyIr)3&~|2MD3GUVp%{Ji6DL?OU;a`RpLk>xkBo zyxl;e(Geme%Fnm?J1QcG!1eai89~p8rUuRxQwfn(Q+y^=S{?$um^8W{TqjXuKwdPaiIP?{bx0( zzb5XXLH&!;Tst?Yzb@`3_0M~tcAM0{03=5BPu#qNQT=n^ePUGqBom!ncy;wR0J{1c z0DoQm_u8CG_s$ID{-Gq^hyLLxV73PZgTV~yU$h4#%w_f0)qP-6f0I4X)c=S**sFiZ z9t_Ir&q}9@h@$$J^EBKw^*5f*1NA>7boD=ony&uEXvkalsQwG7{^h*QuR<)aP1XMp zX!CmrYtf7|XpPVwNIRkdW8BEdplA<9WPcCPVT5;?g~98oIt#-!z@P`uypMJS|CEIx z52GB&2B*u4p)zw&2XU%|yO}wV2?29~$_%l*@ks$RedT0wmutXpy9;aZWQkCXWfEx* z&BY=(86$8uL;v8Znp63eI?@C{j1J=z@EvAL2%I3w0n6ikav;(`Ty)OrUFbQ=_G0+y z13tE^r#iDxv+XU3lcI~?5r7P!q2cz0( vU%tb~-l+zZ!}C(-QxVGfR1&Y`zgzqd4c7PU_@@4*00000NkvXXu0mjf0v|Y< delta 1135 zcmV-#1d#jA3DgOYbbkN`bV*G`2j>O{1Sll4Rjwoe00cKlL_t(o!`+unZ|X)AhHY77 z%~wIUJBBn@**PAQ=q`gN$u=!GR@xPi4C)dbI92~Z?>1Z|l9ydn{RRDhJ!i(o9}KX& zi;NOGn)CRaahN&pi)DT1VOv)HAkb{tJ@-J|@qDj+2(Yhx9)BDx(e}j=KpX)aAr39U zs*Qx;2Z(SS2+1_NLxQC9oUZUz)Z(k0*^`ZEw6B%yn#$MR7Zv; zAW4!Cf8Q{Ue?_`Nve|wjUXqSzP1m;w){kc3?RRy14=HW}-jm{BIdGm%ZT0}pd14rw ze!kh+QNWaf<$&dBVpHTc%q;>$Fvg1UBH*xWmlIeP zr@7u_TZ;9oX9tO1N4ECF?FJH!j+7ZueZDPzpd^wATyH<^5%iq8+2RK7iQtz~&Un^B z?6#=uTl*%0)x8zU<_MW*sdsA)8`d@LXzU4UlZERUqaxFXXG&L#RvJL=Cf(_6b~cle z_2tEz*TIFa@WB-D1ijG{0u2IQVqE$aJ)iY}k&gmU?zs|HvfaM1Rif6suq278z zfIaQNi*>rYs&^K>pH1xRa(DIEx2)|`>bPX*e$wT#fO#Aa$M`9j}KuFKAieD zj;a5!aZLR;^<(N^68F%c{zYl7og37@Ebb=te=TaaN&R1o+HF$*#LX)h)jtP5nbkk( z?|%qyS^W(_S^W*byIGra>E7%SZ!a+pgMZiynC(HqU@(LF7wrKFb5;Gz>h77;-((L; z>c7VxY}LPF54@`SGhXd2W%Xw}r_U*?zwvbLsQ)feR{!1OSyunzXsD?NRR5V$|DEn9 zu0u?)PSt-GXp093Ytck7XkDT`PM|5&X<7y?Jg{V zs}!Mb%Ouhq&BZJ@86t2tLI1#Y&as<*ds7Ys9mXl(J51&fI6;&H78iYTAj&{obZE}% zUFbR5_V{V%=dQ1v!U@E1Sx~O$N z0eDFW`+71*1<90v#{pmx@N$^U;7J73xCE1sV~$#l#pCmOjeh{FMu^y)F)G%uGAVm< zT+CQtbr!~4u$BiRHpZ;sr=fMmT87(U=7IsSvVd7W90-%7ML0lr zKnBWmtI5y<_zB?90ir449;o_pS3(D52wdY^0$+wF%Ajw%$TWVAZ*kOD6dwRpDdnoo z4;jXLo6sm(V?b`2{8+%T6TpMg;8wM90tEDW8-W|KcYm+_1U84JEVSwtNQXeHk+=-^ z0Og3B#P#$fgO#vbp`Y5PA;2?T=)0AA14600_&}hml!~GFy?~TKQz^yvS`UT@_Gw9k zO;YTZO8L$2ZgC`JzyuO%Cq%%7bl+QPE-hjF_`;OhP`h|LA)9Z@6bBo)_m^}d{7T>i z2zc9orGKmmfDqq@DKmZq*b~NYi88^z7boIi5M_Q+S-EwEiK)Zflpvy3_%3nRQV9Aw zuVSN`|EJYJ0jNOb_+&qEsIfJgQD#Rp!+c5?*sm2-foE&GjXDJi6C^3agD3#!Z803| z3KLKn63;RRS6dGE6IXF8C^{10isQqH%u@#xuzy#huD~L^+DZrGo)8@)9Yn!c7$pLx zgGul75SWa6>^L3AM)@1?x$FP9J$SkQ%l&D++`l=fm-`PYeeV8UrO(~JU7h=n&HL8< zcOwAvm8z&+cK&l<;|mEJoB-i-K$_S`(N#f5Q3$ XQ^c$ga_|FY00000NkvXXu0mjfY7WQ| delta 981 zcmV;`11kK62&M>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lvev<|mIk z000AtNkl&5oNe5XZUL_a6EJk@g9q?h}|*azopgj~i+dvphhsa;-w-2Pi~y z?4j@385;-?VAV@2Rcoy_AM?w9278!4p7(bbvwsWmEKH*?U4H=TqSpBW;3Xj(>%|-u zBufGw2Y^Mu%V9BtClOHd5==slIchZ*k1yLT07#%#TlisUU9gt=LEwr3v9W-8dDsvp&E>E&?GpJ2UYfmS1N8HNDmh@8ajJdwdl z*h`_G+J9q!XS&dXHNLU9QiFIgar0(PETZ^OK+2%0lwwD%M?(brv?RhNDGo16`OWXT zI1(~o0)Gj05F+40y6>$tmzFSod}T`Qs9n5+kj=Mcih~W@`)j%rekE`M1iWp)Qq}}O zi0{Lc89xH-3FEg!nc(fkiFh-JGC!%T+_u8R)M0K)5K$|9m$GS? z6{sBl*-sp5Y>j4=*%8e!pV9^PYXw!{+1k2Mr++|Uf+S_Q5e4A9EyjagVFD^c;$G(9 zYRh3baTUjcq7wnGI6j`pJas?;M>XpTEW*=PI+*u_=oIN73Km=|U^-yS=Bk5t-1qdJ zKTGeQuK(ll;KTht-2cPtAFat1Osfya=;7e2UpRM~p=3vxtC7xw&-M=<+Dvs`*749_OMucrxiM@)~ znUVV+n+Kfx1f&F2ZFd=a=BBJ<&=Zg{sq-40nSe9YU+ix>0V&t(aG$5-+z4as1sNFXHI;EGNyTiSwAbaUq3hIezpKE~>Q&$7f-`o6zJ+LU~Z1p4o=%n)B#WR zjSxZ-%E9O6w8U$}B%GoYgaw1UO}A+R1>T>;vEMgi5xyk75>18iJE zO)mlB8a!e!J@&2vV7LK%Lse};;NTnDb_jsnGf2hc01NmAsc4;L%ALxo4@_eWc9|Io z06T_$)W9JG#@x8vIm<0065o>~X&h2b& pyWqyV-+AL(aI?)C9{JB?*$<6+=qpO@Puc(g002ovPDHLkV1k!q$r%6u delta 432 zcmV;h0Z;y@1eXMmB#}W-e*gz`Nliru=LQD^DI}^+pJf050eVS9K~zY`?UlcFgCG=# z?eVym{Bh?-hinNZ-D`b-9!_y?htRo0<9oRAwgn*skTA3z^E=t@m+xLcG0X1xMINSK zBCBP#dQ8;w1KD@S6tE$impU~9kPUfF&9DG~zX3Twovb%Nf!$U#e+1ZxLCxOdOK51# zIOnV%PJOKYBuiXn7>0ACP025j!0;WG8R8x=_=I{yq61+5~0qo7c! z4rq!6&UP~jx&K}Hfz&wwAXMrhu05y%5Q0lE(uyzU0Os!|YYhOi9k8u$g%FZZ4!+PQ zuK=$u#0YD(nuR|4f5MdulM(d_m=rVy2!W@u)hj^TD4-hY$LpFj=rI7#{kGZgH%`t7{E73Me8h6?o>{Fz>YDRWo9G*%ozIU6>x-^ z!ggJn7xreR>u5H_HF%drdw|y=p)i8m3S{pMnij~LBSzr8CVRKcyWl3coqP*!cK0vW aKj#OHdgv?4jwv4i0000?%8u4=?FiTZnw_$-QM`Dnamnhj5=2y@>N9&R2l0>TJ0J1X+yd zZZ)IDY|S8$h`0&_C9Wm}ngFwGAvBhh(U~PZtq%tRaKAvLP=AxE4!DP0e6w5v9I&qy zz@2J&BT@i3;1}?ysh0V41l&nbdk4VoZ9#;F`gDZnP~{8|86|{Uk~BLJ@X*y5$dG`K zKLE`pJuyHT@kp200$e_R0(|~po0@@fl?4O4U*z)nd+UnbWs@Qt06I){vx!d(ggCa4 z_QtCKAKOi;-G3w$8Q>#-12!9Xte1dhv-Jz<67VrhG^rc_+8>k$>;M#KU>JSE2#`0# z%K)gpgelODbzi~&6a+ldS3s!a8z1`Le$HUTf0F#HuUHB{HVfKQ3r_Ra|1TIV*q11k8=TG zg0v?fe18&6Mt?8K#03ZyVb(gkLrcND!+e)uqBC@s`QK70zFoE{nEwCiJjeiBG$nnx zD~TO#jlPw+7A+{x*oyXRi)|FR+Fq^BprL>)7qk!+QopU{jonZHm!WAbOZ2ssIPJJb zQbEa;0biV)cVwA+pu)3Rd@G2Aer;o;<#$4IO)qSeL`yPRM8Za^@6LdLRXq^bb)7cK czku2J3y)plPSJJFzW@LL07*qoM6N<$f&m#t<^TWy delta 733 zcmV<30wVp12CxQ@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvhyBLuzF z0007$Nkl<`&rBdBIPC~N_MCf^Vp#gG2sBg%C-ej9iSnqJ+QM*wc$5GgbiRXf~5E?x|m00(Rv1#qEU@@D~n9ex3~ zhH~kj1TGX%TL-}AX+VUArr5)+scHs@j2yx>g)}P>aMkr>mXLstKLG72Ef^q=crpha z!13cJz~>K^X@3|PXIV0^`9&(9zt=9=O*Tow0ieTFx2w2dAjGkRv}Ya#_*kz}?K+`I z0I&HIuv)om^A2cNYd?_A0k4maCba`V`-}2`tw%{3c(lP`1jsYu@d2nIg(=XD<35E4 zP!e!W?*^fc&+K6Dy(ld`r}sGN8;;L_uGM;b^T(3nqkm3VlI$s<_k%wraC!*PKw0#y z+j{{9Mr)gZJ8|&Wv4Qij?82?T0r?!bX=L7E3b04wC9dZe4o<>#g+FzFb3m51wv#sB zSkjnDyneBH%ORF3>BSv*+a!6iN?o+nfp;`uj`1S7E290z~q*09)NNfHB?2xqvW1S`!f7h&H3` zC7Cz^p(4yWC%5a!m{*vu5=``l?lM1@O7ZKeOTi5L(`k?Zc4#X4b59a`S{g$sb0u1k zpRqNq*ABZVaJk(}ok2qeSuSWGYNUEw&kMUD16EE$(^yvMbE|M#agC&ek`n_yIXSP$ zGWS4@2lMt+5DCq;vC;c8Avq;BN}`2RD-t#m%ZICtzBzqQ-<{9;AJ6l@k6qzTq6|w9 P00000NkvXXu0mjfPP$2X diff --git a/graphics/pokemon/jigglypuff/icon.png b/graphics/pokemon/jigglypuff/icon.png index f78bc4a78f5844759fc8ec2c770d92354e330f73..4dec4fa021b42cb69c85e51294e02e2b3fbc827f 100644 GIT binary patch delta 221 zcmV<303!d|0<{8=V1K|#L_t(IjpdRt4#F@DMRNjtm@bIkh=EJ6_8bgGYKAT-M(x1T zfs>?CKnZhJ1?dg=Hr*wdNDB~&OyW&I1}zP|!y%blY3RHT zkBRbd{5_w0Tqv~yH-|MmI5MH8xAbCmQCca z7!2|#DQRE+`P%Dbezih*A*G!9oBAbT4!fr?1%Ta3VX_}t7;aGV!8joZq^RWqKJnuL Xw!*K=2h?1D00000NkvXXu0mjfn#E!f delta 258 zcmV+d0sa290@?zQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1S<4Z<)GMLhu?CJiDRrC8`H$+ z)HJ{^pUx-$(-Y#mBEtsQCd@f_LS?`MI`AP0O(S|fVF-Fk1ADDi4u*lDcR-VNEGNWt zE0D_o)TLJG7bULyJFP(44!4>C;V-6r6qJ@qA}S6XjMR+mMJ!8B6R#42vQvH$Z}R?P zNAu=rM*K~FNtpBTEsSD*RJkzGk0=Z`C|IY>lpn;a`D1>(0Jg%f%VXKYqyPW_07*qo IM6N<$g3)hjI{*Lx diff --git a/graphics/pokemon/jirachi/anim_front.png b/graphics/pokemon/jirachi/anim_front.png index cdce48df42b039c87dcf1a9f205005f13ca84b61..bd070398dacbf55a001d7568317b9e6645f947f0 100644 GIT binary patch literal 12027 zcmeHsWmKD6({^xoDNYDboZyn;F2yNOtUyR0IKicmBE<>?N`Ydf6n7~u1xj&;B1MW7 z*W#t}rak95&w1AO{(08=-hU@+CHK8&&s;Ne&FsCh*N)NGRVN{2AOrvaB$^s3hUljP z`isKGLjP)3A@2hKOtFE+X5NOjen1bTI~?Hx19}H|z<@A+1RMbH|5%ZMNM@2uj{Lb! z?S;Kh%7j-ozi5*n|4I4wypGlq+)z^6zMxcu9q?dz4d3s_QE1f->yPQp_M!LY2latJ zHgbZP+8lqJI<$p`j~#uw2H7Jg}O5@xZjF>>8{B)x%a(Y|ED$g`!R6$CFXjaz=NQ=(B*EKmq#~!x*xZy zrsSKyx9rP*drQ%7)ub1DlAkE^vv*pKNaHJ`CBrw+vAfn$eDJK^?#*SN2|@qM_d8oJ zM`I7K3)h~yf92#mcwoQR$9Eajfc)0M`JHy->*>wQAB&M+7QmBZH$4w_iyl6B|0#q; z`DgidbNalsgw-OT%Ky`bVT+F!e?{QB`zqx{2joF~sdY;C#gJZy z$u?VZB_ndqHiB{VrlZ>~Mw;bT{4HTYkz&>c`+K!rp46_VK#-;{I_H zO2EW;Y?4$Kql9O~5r%8+C)ZXZSD*)Gun4jhH*P$Fl@sifLCZ1@5&! z?UKbaWeE;Eek=^nLTuh&ET4jBK1@)(E^iww9Wt?a7|-nYaiy zEO!phLRhwtt2l&NR$_ z8Le+FZkUSslR9%T4c+q^WDFb4Jk^h7jf86E2v6;#~t{- zzAr$&O!?=g@K#6EO^%4`4k;mdfcxsOh}OWs^M*R0)X}ovO3|Hyx=QfgCfwl$IXgcc zPP2_<(o=WagO2R^G3SfaZVFqvM#>%zeeECT)S2BJo=;fPecw1FsLU6{A@2ug{@$a= zbE(*V|5e^x8MA2v?HH-~XIz|>Lb+{f!Z@14L~ZWZRRy=2HSE7#`%&26|Gc5!+VIJU zGnz}h>9v&|qn;ku=0U}<$<=3Dn$}rL0lijH3P4#$tA|ct&vr4AA&s$@^8E$x+W}FX$;2Z}--D4;pCnO`slB+J1?%=AU328Bf2^7`^%>`70 zKNn_wn9rE-k3*7)Qt6jQt~7RqxJj3e-C3ApE6~xjU^Yj_FT|Ig6(PImutH0gtNQ?| z#c@2<@FAAeWsE8!=xGZ@sIW}pYWsNaW|e%h+YeT zVaRN^lajpq3Osw)$fme8X|_NCQ8{I|M0nq=h>f54#Ft1?+1e6N%CJ*u*~#!za+K*? z`@`E7s0Qs;BY{>h!00=%R~WJ6*nEjkMwC{%4JpjLtHU2Qi{zg)N?t}S^Q5>@JB^%}{q7^gM2oDbL>4-|DSi0&D^YKyeoTAGe`9jk*oeu zJ({RF{#O2^4~x-H6evjapZmQQyghl9m)e50G(eTjE~GlG;Hfy5Icl*XLypr#BKFRY zC7~>&z*>K#-~PEJPVtIEioEt{Vvy9kOCx;2b6Q$|h3mVYKKP;r2J$pALY5$Qs*&yt z^P6touPP20=F4YJ_bCKyl2Tw0FaM;L?d=P~5VlT;sI_GO!VzD}jI;RpjFg2_^W3yvzPxTWW4YYVua*$E| z9o3P7AysX79lo0M*5QJR??_Kvo*e2xO*!(DsR^@|c#khTE%FFoJc=&J^@>S!v;FB< z6722^RNZFB;KvVtoER;Ya#oyuTP?yM=p1{Hc63_`Mn~Bz@@86VQZANxZP1|OjcsmV z$%ZoB0H}32;_lZqc#7L*Z%`$Qzggpq#O7VQ1p%J>W>AbA=xTgQ<$`fE+MJ2~%x@|#;Z)Fi*oNVF*i_*S*He#Dv+slvaJt4)u|}b%rKPuM`IC7ctq`&*5N>e!zfoY* zxNTGpY?kD`uqW#~O?&C3xfm{10g;+mMd`?ox3+{@bAtJg<%<{p#S*Epa#dzG(#;1JGop}`@EK(S$jY5S~fzdtrRs)>7 zeiK>!d`G^!o@}NPPGs3wF+3C%1h(KVGjCp8K=Zoh^fr(qzdv4(PASWv_Ra}K8dR}G zCR8bP-3AeX6VZNoO*tmsc~|9pPYXZR<#b|=%~>c;$R*QJV}pLOjSU5Ki4{{mPgJj( zbf$49&ZsRSaxl0FE@kVnpz~Q(Kjz^8D8vC6%{k)^jx!ditwO$i-5#8fb@las{{sd5 z_T*bI_Km?~DvCj*P(OeQJH|i($;N-&rvWNW?(w|y(DSW6x6Xy`K06^rmuIh1BR?q4 zs$;iaO*Rnk^J9#aI^k81Me^tx37^~F6dT$4JwZ0^e8@@cK)1sH(N_#o)-;&ykL|m$ zs&&I~z^Wc>a3>6#EdM=D#wV|;(odfNr5|LbFp3Dh>Yrc0&2N1jh}14SJ{)Q|7F)I3 zYNTc*2#?VRIW?hch$8!P1rV@lLw z@-yUXj5@3a_B!F{@tJ1p8Qjlc`N*evZU#&E=5+L8*dSU3l?Z)3O4jmR*}5=$V|fti zoXkUQmaMomm2MMiFr-L&M5dIjeFGl9*rra{%CK@^U-h0G%ch1>&DLlAE9 zH1&Ne;vVVlxfBjd+!ST9h*}nZE1jKfC9V9|t(U6)8V5;CZ>W^yC*^>2X5JjSrTX`= z>b2<=sCmr!FbY>(dt-s|hQQW4+ccd~{NV|?hrNE}R5*&mwC2{^!>cBOX=TQz{-R|!Ol@oWb?P;VlS+raLORKokVS)MSuea`N%*G`-<_->4en0ht*vB5Q0a7%*ia`4yOaNN0}p$N zQC}CoSi-*ve}7vwV!M)Jb=_b(;^g+~$5?-r0s=ycb+xxlPPOj^6nmnMRhenm9V2wQfHn*vCnmp z5NfuY%<&1g5rw>VG`4Yqeg*U1SAWUtsN51^UX(k|iBEe>CLX3^oTP2K23&>iekSlV z8puml@8(rD)ZWC7xBfWJ%#BM^0if<$e8xys^vDV0Wh33orvQ?Ba{dz^%@KOV8{OyL zzN%dY@s5b7D9NX|J%YbTEy(UaFWLdvdi8DfzHzj8KDX0AaR6xf4DMcwoB z{jmK{)=m2x^~Z%4YvP&=f;A6M#JVZ z>17Ba`8}59FOE{D?Cc+_zedbY9Q5lf>yv@lCPEFcD$^75@yO);3lQ`-iu}4lrY9+2 z0ZCU&a_VTCX3`q|AmTG)%gx&^-IDqt+bUYv)EqIKKf5zyIiy^NlGyHd3a`~~SS=p#gt196G&GN=$ zmWo*UQeFNO$DbvD%k}r6U%$T%dX;ecUStI4g+Vn#+`A%j?0l6w>vJ_F)ml^0vYf`c zDjb+~U;J}%Trw@W0CPN3Ql&EMVI=g7i#sA>5ttYRM1C3MJyV_AhRc*K)5g<_aCMg- zj5j?<4hf88K_n*bDyw};p#o9*mkc-J5}&6DgQ@ox(oF!xjTi9LcRTB5RwV62hHW%D zB0W_=mK2Onuj5*5QjpW+eQ_?XSga(r7=)N8N2ysJdJ3!YT&?w{B^&jx8T!`*iJZr> zHFjd02eab)J+n&Y(-Z|Gu6O)$4lBoau;pqxfp2oeD90P{-+q^gr2BbDtrY!PjGzMd zT|Q?@H0+gt>_FG0axv9q&*y5TfFc(f`7{S?#kw~p+vII8b#&qu0`Rb@C3&eh-8B;8 z1=20nb_J`=)=9DJNN=N5Rbu*Bw^y*DNSMl=H^i+mW4#bOjB)hAh`*vB(Fl<>`-qjl zJSxBkyw3>}CsQMV&Wt%vWR3*Tej;S;eKpgnp=|nCQLuqQJk$~k6>V2sOqCn)Lyjhj zXQuZpg9*5Pwe#*-?PGZ}{QCyH;$1Yxcx@slgVfq5s}0*-1PV$|B1;KP*3ApMGy&7h zEMKQllw!l)O1myeiXlKy;c5a&p)TZGhGKXU{wrmaJ~gqw5VcPCM;hMO2U2r+xAg(L zk1-`{XL?*JMo9z>9kwQ5kJt4hyVj|FC3cf^res#@`%zzV*nmL{BjaUHA=RDkZKSId z5Na;VyQ4mYj}n(3dloGX$kBVb_y^ipuO~W-1VgY#@EL%n_n^rK#~b6sH1`PG88bIJ zjs+?}V1=;7$&zSwyjuCT^ud+V9~czm(zGOGmrg;-wEb=~*b`HXk6q@SmOW$M>NrsN zNsuUrd$vqkZbOv4?HKK4RJh2=ML=RYA<=6A${r&wC&oXr^;Ut`=ZUZ4s!deSc?314 z!*S`Z_KA=y$7AevfbWIpc+ourKoGALVKZBBix!QK1fNxn6YiZf-JE>$XKNr77RUib z;Q9Vq0I!LAPs)s9apjga6qv6b(r(?EbrP(4&IQBK8e6|?nIp)!(8;ey-U#kb;x{ZJx4g%895B06&vl^8=r zD>mxhXQBklyhdRTt6;Kf>3ZhAkAjXpINlP9JfYK!W_;Nu-N(%799|h=YyR%tXw^o3<46kgdFqYNx#;eXHA?f9n-H&ud3)k(- z^;ZXjQS)~NQN--t9qU^i4Wy#eKZeX_+c0FU^x;NM*ikN)gb(wJ*d=I8iKAAohg%4X zB$gj-RW`F%ye7cuB^+i1Coz~CqZsk#2_fS!eGg~QlXeATrx{h*pyDQSqbA9>;dCLM z3Ghf%>L^m@g0j9my|#oZtMESL0kIIguW+RT&S~E?kZZbL%k)AS)RVT1UN`1lu}d^$b|RndJ;yi|YW&MQnn#V(LU4q5KO zm(ZDu7*?8+=UA)=coYU^e;qA;&~;s-5{OTO=U&a z&nYb9fPtU6friXAu2#>E>N~IR2H=eN@(M27ewomgAYsaS z5i2Hd_ojr&65w$c6G?#ASZ`I+&936r3xXSURSTdT^rV0Sqk#BS1y?ZxopdZ|)#}yF zSQbA2`3utB4m`SP9-aCxpeF7R5;eIfTB$q1n6+H)OKUneiRL9&V7p>gOIl0dhSF_0 zj1_l#EfIEQo(&IjU5}Ht7|J)%o;`G&)c17Hv;lQ<*PLpQ-P{8hIEg)F`~$UzLJ;}F zhhvgiqKF}+3Nw?fyV&8g*A*_R>b_+wh;w$&!d_FwEf?|F4wO_nE*noSZlGh(hCCCz z%VAZOr1gt*d_3-qse?L~^W29@e$c&=*9Ii+)oEk>P~LKO!loe&sx-e%|BO~hqGazC?zFYhaHe*4=`4z6cN||PhgK;8l9Kpv z_JpyA-*?ObR*k6$XK;E%p@9D=nfUhi?aYS$!eokBF9|3{AGzK*mPzMX459va8SB#o z&$2dpk-0r$%xuf2(!*4{*8{$?52*6^DFd*AH@HMIgg?t^YR;a}U{?;T1?#=rR_VDq zT0zy27v)klGs}4G-YHWF^m5?P+)N&iA%)!jxV7!!Te4)3$Zc!sIpavg8fqEDMP7`_ zJWp&_!CR)owfd!ddNVfLY5bJ=4RYeu3texqmKkMb=^eK8#p=As{3#-8^XHOkBcFq( zmmw@MXOu{=DSur~bd1?ln|M`&p2Ee}cDr;P z>>9(PBEzATC|ZCwz-WL%QT8Ei^lht*;hw8#vbL>YDws;z4o75cm>4F0iD*P|k>a-* z3hb{$(cY^pcgdV+>RimM&MKL`2ZczQqiH6kw&%e?dZ5m^GfpRyNsQGzEH9O=M+hHp z7IEYDT3w9Ubn&+{6U4pF#WXxgY(I}moG~qBR73QQxZmBroL(L0+9lNcUnoP9_Zf%tW8fpPgE8+&O!vn;1yJgT=NIA#AEWTq*>Ba zVyw^NNoKO`wS~Td1f&_fb7UCzCy^~SAx97<_eN8vA?%5;eiAM1KPFvBqLST7dQV(K zDLXPYVf*b34hhvc$NTXUZ-vL&Dujy?*|jfA9s$5RWZBC-s1@e%pzWm+_V%*zs4>l? zCam|bp50hvq!M zv3hd;OlZ4S+`Vw#r|JTJADdMIE3Y#=H=^42MRk53FXqMPY!v*=Pf7rJ!oGP}E^gZi{T5prADKMox zYQ2BzRc@a0EjTC5bK+XNOT-H;%=27>hcwChXDmm}XK&JS=!fNVg80~0j2MOq;C1pX zDZ1wtFbq00zuNsL+UnDDh; zudul5CTTYNn}tmKyJ9n$*DH)kAv)c>G&=Xh>WP@J@(~c_U8qY-l03#BitgNr8to*NAN%UQ0*25%Ojdu!6?;jWy znV*!5(pGN@Uv6INAC=mZU?E7sR^UxA~@i?H5+z> zu6?tzGQsUcr{x!0KbYFJX6#Yw968VyTMBpbF&A^l*26Ubp9bNH^huNAEsl_lmi;e` zTW#+!$B5}ldSpCNX2Xrui{0fm#XVC!imD&DA853edn~V&r}CD2>itj(HL=h{W^dx> znJE!_Mkg95QgE8#Pn9OwffR3&B!1ZTv2vx|tpw3Y)9ODa95@O8*>&VLvN)Zex$zW` z4Q}{Off?MY(C)PGsjtCG9;0on^ZCqKnsetq*UpDRS{cl*jgR8?3U41_q}}Npej>$1D8n2P8i7cdQJ}6dG|(9;Z4Z){Bb4!npaEQA-nKx0R~I)gh`%i8 zH!cMI{!0u70e`D_JIjL1bo7DB?noF=Oi)ZvNI=ye;VS}?BLvDI?coqZ6}3Mh&?8xp zqqnyQ1Pu1`^Aq$F6?8{BfQ6-{rNKfXU=a}kw1$9JfSb3izkr(;`!9$;FjQb(P$a^` z8{zH-{Do<2=kDVz3j(3%f&Yrn)k8<;FL*bvKUqNY0rt1`01FEWfn8m}f4A`RR`o@L z{29>yYT;#!zHJ8^!o1vlkWiSaFU-xG{qGR=(7)_Ge2^}`)3JwwVJd+wr)_^FDNv)AOeje3Y8ENm9&=<5Q0kE3W!OGLj|N^a1jA1X=xF0VS5P) zsHo)MAoP$3bXVHC{5`5)Q1)mjDG{h0R1_wTjz&aWKul6vQb1Z#7$zVsZYO0cDk%XK zlC=K~WetQQPkIz1&Ig>{ad2%V(Se@8=%(!!p+{@ z&+Fe)#t2uKk+y2QZ ze~kWE1TKi*Q$XPF#)a5I|8U}E>kIpX1+?8CQ&2}+HwPGch5y-7|B@sAmvTvn2-`^t zOG}}dm5@YN++G@8aXTRasJOJfosgZKun_bQ;{HPSa)*2S*&<zfB2C3t?;)^ z0B!e&486Ia_bTvTo7JCup?&{fe*Ub(|D_8c@E<4t6~F(`^$%VD6$Ag3@;}}64_*Hi z1OJusKi&2JjV{7}A9rAG=zl)+8i!c}Js|MVxbFo3 z5K;a5VgNF-=+HtuZ%rLlyw5}|0yX}(r66&slZs(c=Y`R-suE$0#!X94tm)gu$K z409EuZiTObgeqCj$IK}7ySUzjFkoahU*i^7v19V{J#`#x^V}t+gSM|T+4V)rMDSp+ zN6`fy;0pn49w%k@_fMGs$aml_{yDuSfFY)u)$DgmaBwLbXqw-K-sJQeut{pz*>7Os z3f+qpUbNS_SiYn8wkI-nw=V=G{MOEw^tho46xi0thxt;HUw{ahms=^GO;l4Pc~_*Z zY50Qjg+!Ljd6Baj?dYSCv9vb^^{$XG_^tIvN3oX(2aS6oqDLH|TAM_!icmbl{)Gj9MVUcG$^#b9Jnj zeSQ(x9Tm2a(hqY9MQyg%*Oz#H(5{N~B$H?IP|Mhst3 zSrP=$SvO=eKbUCd4R|qxkQAf0`uW*im(7{StPk=-J!qwEhK1=IJioW!RV~lmh)1Ch zC$mhWna8?>Hp|X=jJ6hBC^-3*$kJ(^gX{2Cz*+|wizvzqQ~?92I4?oa%13%XK%Mn` zcv2C3@eySs9=$@W>LQChDn)kAb96F%`R-hJcFNmML$h~L&t>T#F^mfLc`6z%r|*?yszu#A)jr3&cF)wb zdOo@E!l_>4`#{x6d=d+uNc8t5rKGQ+qTa0D8IHb&#EKbZ+UK+T5_KP*7(H?`P1}7s y?b|hb&VQ)&h`{hibdYCTbdYWN`-jX`@t^V;?d65NTu9N21fZ#^t5T_C6ZSvusmgT# delta 53 zcmewzyO@1~^5i^iTUE{ikH}&M25w;xW@MN(M}mQYfxX1j*OmP_8#{}(=ChNHQJe2- H%P|80fRPSs diff --git a/graphics/pokemon/jirachi/back.png b/graphics/pokemon/jirachi/back.png index 3c97a00f98269313825e8d7ede4bcaa3e74c5ffa..9fbca55710f893e7646df1fef32c19dd50145a3b 100644 GIT binary patch delta 613 zcmV-r0-F851fDb_Yj~1zK^kuP_1(rD;AejkZa>Vrvurzzb_+uu3LBzu}pv{&5gqaLE z1BaOm4k(hz3|u2wGMT}DIDIMyWe5PO#RRYoz;5)wb*PbaV@3$IESn6JYe*=g^V~-` znh`=7Q&cVP^u-+W;@xAIq);w%6`bmZm#{Ho~@h8PU#kXTVkdB%?cN z0g2?;<5!ET=4D8YBUY?iK%`?jtg9;IkRR!YE}#P{NQXMPJAjFQejzbsr_KZLB%!>uF_As~g+z5umTRAO-_;7l*V5zs~o6FTGUFPB975h8z>IOxwg6EQtCx{tev&=E8+Uj1&L zX>`QyuIXDQ912ar4ed7*@j!SOfHKSoKg}ZTKDqVU@s=JyUAHcR?izZFy#XmxcKCpi zf9NTNhZS}bvl)(ciqZwf9f!*YRD_VW&MY*Z?mo4|QJx+dB-8s5^r$!nS`I;ZFBwz*YVtqdVyUf#fLh+2UjS zGK9hjt2P}Fq*FRD({?#6I)-2Pph$-CY-20KpSy+O}2tE(K1Oq04ef0`c5Cf|H4qK5JtPG(qsv zJiPsO#hYRKeQlcNHq{)>^|Usp^^NV%1kl{Bsxs=skp4Fxf6JsB1}e%z5k^2xI;$s) zb7PwE4ERS2Psl(8xw(u>c%dz%1Q>-8#qe9F+DZ9k9!chAwvV>-R<_3Mn`P#ntqFf zL!qv?q1|RePaX&l15o%G;ig%r?9XyI-qM5Z*2wF&p|`^UDN=U0fT4TnDTRoKPe@AX nk5h7^kO%h<7X$#`=&$xaVhZjmJg@{p00000NkvXXu0mjfV)_dq diff --git a/graphics/pokemon/jirachi/icon.png b/graphics/pokemon/jirachi/icon.png index d1c557a599a86194390486e4a971298c449b4564..258272d1c9dcad267a55bdad6e53b922d599a6bd 100644 GIT binary patch delta 245 zcmVK#Lgj( z!PX7KL{QS0B1N(tj}I(6kFj4XJ|tkOl7MNpVAg7LhDwcVK;XdYk~=`%sTj$$1$5O6 z0dOc(f#Hx#RPrJb>sKUeZ7I%DslE+uJwz@QMZkD21hF+3#cs)xiECSp;s_Lgh3g|1 zHw=UW@x$yo3C+4K;#edjn3`m2Z&Uo=`i3xlmk495sbTz<&O3!}FGVHA}LY*#%2+ChsDy%~y#00000NkvXXu0mjfwNYz+ delta 284 zcmV+%0ptG70`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1S~13h!>pz z007oWL_t(I%iWSO5`!QRMLB`oAqPkbtWA-%)rM{L#+-qf#Lgj%V(W%+5>T3$B1N(t zkA?ZW^BDWJ;x++Ooivzs3uYxZZ>UnZ1_U0gKDh%los2D+a({rnS{nd|QkEDV`Hnij z08-g*;?OOpUW3%OdwKrTVrJlfQ0LH#t<%q!em3jgDCt>Ug@I!!=B~~8zKq7uz zwIX0(?3;R7E~rr?!s%7g5>KhxQV0j|g#}>6IVb@x5J77KLXaYzai13}7p9Rr{>^(W>*udy{-6g|+h1dV=u^Ps={*&{~YIaSQltO8ZBO4rmG`VA27!aKcu7J5uyucFwxo=0832cp$N}z txO4!Fps9ZWSYiNZO9IVI;e8tOynou_C=oV4KfpB#}W-e*gz`Nliru=LQD^Eh(^*Cfoo30#HdrK~zY`<&?3G+b|4< zt&Eu>!$pAe5*q?Cw>Y3{6W6;k-H1@9^KOE4)9Vdi^qsry2kfVrDQu!A~#tJ zl!JmupU7V{$sqVAExiXs_lOA6d%zuH1QE<`0StJQ-S&|1)#9cIf61q>xAGt)=gN1% zd78Ri0U77h#r0{pQc697(*T@*dcA(TJy+@l+@FN=D}aRnOGhjNU_c_iU!`Ki!P-~# zvY1n%NQ9TGq$M6RwI&xHz=Q)}nWmrw_&@}$2?#-oY?^v$2;F(+erQqNCmnH$k|iJ- zKT7$ZH0|6pa%X=lf0xEq&tC?=^$A$6e+&WQ6aqdERxj&`EP9>{5cHI?B_cHh&@*(= z$(Rkt(8iuxKOV6Au;ro;P(W@#NbmZu?T5$;MSbE6$$T425* zf@SI{&{dX5fV?R4`pgBW&5Q=qe9bU{Fl$PRbkv=T(Ta$X5Q>MA`qou#ZbiO7bcMQ7 z>lsZ538^hKeFxZ#{_e*bKw|eJyQD5eOiwizwQgHVT0lBLBF2Za(b?{cbAX=`;ri_a zv=-xA+yabGX#Pmi0nI}R7<`-FC=t|;<3<1g002ovPDHLkV1n+mE$09L diff --git a/graphics/pokemon/jolteon/icon.png b/graphics/pokemon/jolteon/icon.png index 897026d175a2d1183bd030ea420f5490d0236d28..42df87278703ef9fd0bbdbe1602901b90f83b464 100644 GIT binary patch delta 289 zcmV++0p9+d1NQ=uUw;7tNklb>!3`Knd4%q_)IYFB#i*h}CiC2FVpw8jr z)LkqTu#9*KQNXO0(6U>gQ-Pw~^!4;1lD{bac8!}e`Hdhy34}<=h0KZAi;~JBgsSlZ ziK9IM#7jUXc>lqbSxeao-*!4FFV;yAZG!=HPQ*K7iB!P#1)+=&LctddSw1MR@Ge+Bipfb>!3`Knd4%q_)IYE;ti*h|{iB}N;sB`!@br%Z-EFoS(6fmoa zlHCHG3KZqWucr@*{7v(>D{Xr48-afk03&1VWI)_-|Mj!CZ|vgd%6;Qa?# zwVpGv^rHgJf-dwFPzlC2rV(#yVKCxg+D;$#$ft+VIwj7BX?NT+Dk8(_JY1pr(Hu>e z>LEz?>{g#^CtS}=zDx*G^M4Dr0;g>rz89q2pd_oLaS)$GNRh>%74-GCb0<`+v%t~^ z1>lm2cft~>fIzo9hBoS+kghmY`G7!7yP)}KW@Fv(5=%bdv41tkdck7mDD~5yi~MRn ZJ^}3PuM}w1clZDR002ovPDHLkV1oW}i&Fpq diff --git a/graphics/pokemon/joltik/anim_front.png b/graphics/pokemon/joltik/anim_front.png index 922e41fb186b09baa71e408d47d959b85ff6f7d9..f591acb210b83f4a0d939c85200d4b40d2d49adb 100644 GIT binary patch delta 449 zcmV;y0Y3h|1eOGlUw;9iNkl=UphB8tn02p_yMXXFyc7UakDw0AN<$vx&g{lm<;KDDD4m3Jg zgS0sL#PJ7~6$NXMV)C}d%>otHZ6E}%0mIjv@hO~gSMAnM!Rq7Z{L7DaA;VA)^BacjmLVxA zDJdzYL?A+3ClF5cbpqiuAP^yZgS4tAkjCHLoa}%=0^6V4x+f47!ULmv0udA-j1C6` zBBY-JhXjJkdyb5>?Fj?}Bvp~^353WW#H+0?1X48A`Z`^#X7dYyI2yV4w|nNY{t<|C r@51ZziPuU5XLRs?$%jDSD%#3vFt!Q+PYG@nUscfErdKlpP&S?mjwE@ zRgwk=d`h5OLEoxR_fNL;OOmLle=dWhwpc2nVF*>*XK%o-t)C=kNYReI_lBLH zBr!Q|d~y3O-+yLktYjj9pHJ%zkBAjwIc&6UsRDo83Jjoe%u%W)@u#VqyZ}SYAa3h2 z5gK%sOmZT{7(Tm1OyH2aY}U-EtHV5x=FR%b-*MkvF{E9*LZYIgq9TF(kwB!pOdx`) z%LF3mj6kI1@IdzjQV-v5LGFw|nAcypswWW5;epjXfnrEv2&2U_0+DK%0?!Eq_24*C zGOi~OWJszc*AocQa1bx9JP}Ao0+L_lAG|PXv;rLBKeD f^3!+$MEy-aJ40b#qA16+00000NkvXXu0mjf{HEC5 diff --git a/graphics/pokemon/joltik/back.png b/graphics/pokemon/joltik/back.png index 385f5fcf9154983c49df222255787fdbcd266f70..108950c24ded23a589bc4a5f2b7ae9c691cf768b 100644 GIT binary patch delta 303 zcmV+~0nq-91DXSnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xn^GQTOR7l6| zlQ9m1FbqXOxd1Mi*kUntqJj$~c;b{r?UYm2p+HDz=v1i#UxFa{@%_fLdmcgp}FUamGPcEF8Dk^`7P9Mu8f2&Hx& zB@H7ZEC7yEgAVI?KNX#SBuNIOjx(-+c3t=idkA_iz%Zjxh|UA^+J_EnhqYH9jk!8# zcrPt935z8wHqjih%r`(sa|RmrW5ht&MmyC7uS+s@8vxMx_|sPKH{Dv~)fUjw{aUz9 z3AXh+X|Q)w*5v0Dm3{aS?0%ab(#Pb~sb49}Ubu2&A^V$yLjV8@002ovPDHLkV1h7> BeQ*E( delta 292 zcmV+<0o(qX1C0ZaB#}W;e+P6)O+^Ri1_uN$49TI882|tP@JU2LR7l6|lsyiEFbsu3 zxd3iGb&JK+sVH0^!4sz}YNwpCPX7X?(6JqOQV3E$UY;G4qS&B4Ytc9*M3*}ms7qDW qoa;1)c*!Bey}7@@8g^A|`hjk^a$_MeeoMUo0000^6|C7%C1}0crqE4a~7fHCF9`J8+4>2-oz4HjPS^;aw8Na_FMTh|Z2ib?mVg zY!vD>n~*8^C(qY}5s^e;cmhEfglEYFVR#*YEW9w+SkhZBOxnIBFATClUcxlTZ2e9c eZL4=b@M)eW0&~cVa}%%t0000O{1TQS|&#=(| z006{EL_t(I%k7e}3c@fDhWiFL`7n-xSsM!ZK|$ivI5>6C!L2Xjt8{RwCp1tOW29}G zWYJN?+wz4!xm><1`@yp5dK)7W%AsJt1w;r;4M1@aC@^c_0e{_aF0>8+u-ia2a!MSq z0`vsx3YcTzGgj|`J8&6+k?ztH8s93FMkwUV=@up`uG3se zs7MSq2SZ3{AO(GPf4D#32uu2qnkxg*r7Y=4AsjzJk8nQ`*1B0vhy z%s7o2f~5v&2rM=eCT#}GIYLct*=F$s?mXGvlqxM3Vq#yDd$%VUIGg{=an;4$Y3_iY5{yG8iJA{<)^Kn!kP{CpkQ zamRUeeY3bUR)5!joe1&k%}W!(_dWPi{{k@dZz#tL4!RQ3=`#*uP zJ|Il756-K1HDPs_00~dtKHRGkhbc}~r#-v<3<-pZp!AY%N;pILJU7%h1N^6QBUejV zergFj_leD#%Z)7mc_T&r5oA2>o-CwM^!*n8|L+F{%YSlBLTHSjJw-wzdI7*~uJDyu zpD7W0HNoYKvJ2Toc1M-M+Qykc7hP;RLivl*7;T%IK%c!{bqR8%(zL7Lj2i;Jr!2Cm z&cK>6;5w7>6DKu8i)DU5-g>l}zHKxA0~;f_;ODNLH( z_RIhgm48qKygCqhPap_g69Q&ATfp->`#HM&{4qMa)u)85u6Y3 z`{f%U)0B*6YpbYiB53~EtCZ7|TIn9o5v zf_ZUH=4}b{F|@&e(ZRTRwYCO>n*D*x6O}<30OK(x2}K-V!+a4F7(DY-;pT4$_!JBV zvpWnJJX2L5Nh}5;D%i2g*NCnx?3aod+4nN&unU;BJ1Dpg{PZ$On1R+Jp5N)-HTO=U-tU zhE>tn1GT$BK*_#Bua>nvfbFj>INcZE;AK_YgY8=1Ox%~pP&0}OQus6Odrm)wwST~- s^o{--{6hxzKs#%j{h($ delta 1147 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 diff --git a/graphics/pokemon/jumpluff/icon.png b/graphics/pokemon/jumpluff/icon.png index 1ecdfaf8c875f1ddf087ad52b687e93093e3f2f4..ad747795092101b7cd7fa7155cec06dda8225d91 100644 GIT binary patch delta 305 zcmV-10nYxb1BU~UUw;7-Nkl6{)42JUtVWWEpOAS1dl7SX9Ati+e4_Ino zUUv9;Qc^`4nCDE&;&d7qn`Y+!exLvIeMx(W_jP?8PNp|)$Ezwu>YvniVBpul;3F{1 zhX95M2c-D<2uwmKK?0M&!~vMZ_D^7lTB@)xFqYaP9YO`hak{0gt-!bfeNzR-CDXsB z0y8)&F!mO%Jt{2oVpkIXn}Jz7xz$3H2cc?@!2DDnQ0AEMc0dhV00000NkvXXu0mjf Dx9y7a delta 341 zcmV-b0jmCo1FHj&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lv$>gz5f# z0003FNklBY}pbqEl!> z8MdZ%O>y&h?7V&Xrs+=|#bKNy&4ZEwz)K+(VU{n-3@%840DrU;%1pwcI0I?%(MWl9 ztCtVvy!s$_IKI1Ix}d>ZPA6{h73qZbg!wCMzD7j606a7czu_}pNQ8aGb9MBv>5O(E z5mr4KW3ti$0!n88tjF*kSZVGA#2 nXC8prm$5=l%dyt*!~Q=2Q0AEMnV7x?00000NkvXXu0mjf#+;P@ diff --git a/graphics/pokemon/jynx/back.png b/graphics/pokemon/jynx/back.png index 195ba2a3b2cdb9a7e7647238a6de74a0ca2137fc..871d3dc8d1afd402a11dc06321041c2068591892 100644 GIT binary patch delta 704 zcmV;x0zdtn2B!v)BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)RWX zq)=nnkmedg$^!=i&a7-5xa|BE0ve?mnJBK|Vy)`0K2VRG(;(=I8b$bw0HEvu5na&8;e!cov??MONUPiZy$k}} zHWXMPKt2tC`dh$f4#0$Wdf8~=AcKVD)0OwJ3lIhvUHQdjCm?ozK+**;V9EGqTwu}; zfC81AUKh*p(i)@%$j{fst76$Ph7_0_T^B`N#F;zkl&T!v6kqEaemQ_d>T^p5`xIw0 z2MCcI?tT{^#vK46gXgm;8SGMQ?izrSZ@x^i?s79}0Qh<~dG!3ciLDI?#0kY=>wL#S zzTen@hqi;<8hv_yytgSFZ;Y%AZjS+^=?kbS1K>s_)tDaYT zU^|^qW7gqPvI3;Z!OR>UnP>-u*%q24GW%qt4#1=X_$1c=BLJidZGb7Wh-Tj*FhHp6 z4}h-@fHVLy=L@j|r~_u)Q%LL#UN05&d|E+L$yB0k&|9N_q)jh(z&BYsr@!|zpG#=~ zW`I(bXaoMr01%cm@qiX8)b2OzJ3a^rnO5fDL#DF%4~OvAN{LLHBS%1)triaPZp~Dv zHC0J{(jUEASUN7KhK%mhu&GLo#2)Jpxt^oZb(zv@le$D}4*vRno#*$uA~0Z7t=+}j m9P?b)VcwJ*o!}pb=luaa2S{SsYb`AR00009 z{yPhT^CwiqAmT5BZXFl^=W!PiZ~=WD4dP*Yl#_^a`tdl9FIs_T+}JRV`GB{%IH~k_ zNHXUaT@K>GkfQW?|GXuGs80Z?Bu6}HDIo%XaP?GY4S8JH2caag;$q^6AR^*aZj! zjIR9RvJ(({An5`auw;BaE-+~aK!Hk5C&g;KvKnat^7Ev4RjfMNkOGsVNm0~EoVlHU zPASXLb@8>%;gWMh^BNwzmyH$v0nSSXa57 zHUNA*pFVhgUBu1?1mcwJICZ|`LB8MGfQJsSGx{vCX7=&K$jZS@VjUfdDz7O6;8rEp zL>&QPfSc{C6%aK*2v`8Co>vE8H=9y_Vb*dfSpjlC(bR_rCfWgEriD6*%-)RD0hn|E zpX3@~1b|ebvs%gwqM3IH3=k^&0PxijkOn~JoDh3}DqzNY3W*)T>!pI8Pb)|&nM$-B z^foAI(#t*YO_t8~_kQLJDGk63P|6aW<6&(82utdCKm!$O_YC`v_d-IZm05gk$W*rY z;U0q!m}y+b|VsO<7W%^hd9k_Qz;RIb?L7noU`1B=)g>pX&u0U6(1n zHmOUr`rvQwHhF%hD*^*X+1gdS%`wk)ZRSnc0sguD0X+vuV$G?nSO5S307*qoM6N<$ Ef^w2FZ2$lO diff --git a/graphics/pokemon/jynx/icon.png b/graphics/pokemon/jynx/icon.png index a22105e3e64f64d0225de4a446f3aefea503de65..6fef2bef73a823c3394d32b68776ddbc718f28a8 100644 GIT binary patch delta 331 zcmV-R0krD%45C-79fqCfo$l#*&u?7l86J+Wuu?%yd z0RaV$5-=E$*Vw9Q%UZBp9O<@6o9&hkt!DmoXWdzUlKi*Be0B$QA_5>+V+6#i02viX zm>6^f+IBmNddOwg1`s1HN1Fw311(u|r2O~Q#Xj?HodsaqN`GE=g@AA66>=c|`QBcK7uVz}YAM zu#<;G4Aaa^`9u^_$D0yKUi(4BTtcM}Hy#)naHl_i4zs+v;ukJUIRJ| z9IfE?ax)78l5H&t;_}UIX0!7b#a}zj7k98{q5vw}3m~=&Fn^-Jz`)=HxUk=l=%HAK zkU{k{okE!*b~KgS6IDO2PT`q1^D+a6o#FX@k)W8^)Xdf-;DT^j+v8iF17S&gHB0c0 ze&yOGSB&U=z1`KKMf-Joz&tx^kFO{*u4`$-J_9S)-8NkUwPp9%b~9UjKcd>5i}y{JA%-XZ2t$HGb;HO^)sR!i z%N3HjPJ^g%1+_cgBw$1hQ*)PEGzoxa-*4r+f zv3Iw0*6Hy9yP@}No8Qkwqi%nez?Z0jFh2IV-Q(Qjj!OcT-GAqG4J=C6Z96&x5A2Bm zI@iF0Xn^x25XblkyJ`!aa|eL|06rJQj4lTc4_g3UVg>%;K1-z;Fsn z?-{dYpW=ac zLyyq?`HSDEJ9iS`al^l*-ifMsfZpwrK&N*x_l9`TuYbH9DJP_cyuU-hv0#YULN!Hn ze+yk*I?k{GctCS!(pVuz_b1}PJ)l-u^AO!%1!mJ%b4T~5;=#q-(RZ5xxdR;!OzUFq z33voxSZ8mCG+P4!Xd*cS+Y_B13_K{UyBrrgTvG)e^W)?KY$%{uPbYOczz{v5wk65QdH9?XzT$2QU&nw|B0wGDgS;k}a_mq`LU<8{`dAkUmA| zp|L5U!IVh@E|b#ll35#ZCwWX6DUqkJ5dY_yF|7RmhS5}0|9^J1IDdCb=k2cS^Ba2C zvgE@|)#}zK4SWu32=hZvT3sm}X%9$1SUp)*Uyu)AS>XkE9B@OAYC+~}ECXE-mT z)i)>rfPes6Vt=&yUIH-yug)+_0C(_`9k!@0;lWaO2k_DZD568WhO)e425xl+GdZ9* z$@Bd8F>@UPNV83$=fAd@=U0yeJDvgsC2)S)5dY@(2a5xtm&o?Xo&d%>hI{G{C-sp6 z%=2JgbcTUJ0w~Nc-?P-Gk1b0|fz=*-wtGU<2gI?k7NZA23}9aD!u^Q zGo2qyyk=2bcRtQ`xMmf2I-Vw1U_$}fdO9i70frFbr$oTjGra7i;&ks50Rnf!M;ZT| z8!9;vfR_zSj0d14Mc6xwr>`fC@_+U=Gmrs7H8G&6zfgYwUW(l{>YaBG00000NkvXX Hu0mjf#54{L diff --git a/graphics/pokemon/kabuto/back.png b/graphics/pokemon/kabuto/back.png index bda12ef6f6e1b94bc5de0b807575d16b287f21b0..8dc47b9460a2544addc7ca1fc8b66c6377483ca2 100644 GIT binary patch delta 398 zcmV;90dfBB1NZ}wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Z~arK~zY` z?UJ!lgfJ9EaRz!b0=*P|fN`l|3^ZEoDx}W<_Y3?xx3t`GXKZZ!2y53D*j*CXrPYF4 zWJvDe-Mlw(X3hFrG17#65#B~oq%P0-o_LA0Zq5+ibMX{S5Z)E%Tu0D)if|?GC9cOn zTJ`?j=f`qX00yuS_lqHakedLnIUkg8RRC^jP$FY2p90*~2(U9;HU<)_M*^hn$IFud zgy_Jkss{;e7Z8jU88sZo@eq(S2o(A~1Vu#!P}>PX2q0svd`aIUKp(NaiUH6i0OtaiGy+QJ^Qlc>>?gEiE^0Vq@z=Si9bVU74R z7K>T4{#1-KQN9Rn!!WEb&(&S=97^4sA>60pF`OXWE6%x$pyw&Vf2sH=acu)hGuD?M z?`z8d3a}D)D-+06fVZ3*7EbMhYcecS#(OWblY9518M>)c-#Hwcu2XIC<%3d`_2A)ypSbzk*WY%vDtkolcYh_ kr4j)Vi0Fd6NmWc1Q!~g&Q07*qoM6N<$f)L)QTL1t6 diff --git a/graphics/pokemon/kabuto/icon.png b/graphics/pokemon/kabuto/icon.png index 47c2793145b8e16b2bce1f95b658c35905c6fdc6..6bd273d8df53bc190cecc0740610fa32584bc889 100644 GIT binary patch delta 186 zcmV;r07d__0+IrdV1J!SL_t(IjqQ@H4#O}Eg!2T+TLuKwtY#e>+-OTy*5@k98sZHl zDybK={D6*3D%g(slXbe2PKY0r;%9kVJQXA$-XSBZMZ^{|01z{}!b{q#`qyV2F*66%S94H)l3&SA+s oWSj%_OBvRUT(+Tkx9peo0t&=v$d#g}q5uE@07*qoM6N<$f~#9nrvLx| delta 220 zcmV<203-jB0<;2O{1T+-{{PRNq z005UsL_t(I%k7dO4#O}EMRS7WmH`1ZtJ%f|H`J);HMHy$|2L z`@wtPL+C%VX7jmz#C_7lU{4dx7RDXo;Pz8~j7gu;{!>5`>wh}Mc&uCXKod8?jV;^g z)#rEFyu`Rii1I`aEfd@w8zFU23!LoS2%TNm_ki{MMb-OI3mE&^IrCSwKrwq~Y*im( zXAPfi*1_&Mssq@XF&1&8v3v)!Qw26`0|4^_6feDZkb9Nb0UnzyJs1y+zCvtx4{Yft zx1Q(O9Kg>GQ-5H~a0&t5!~9x0Hbp>VVU|Jyy?6@_P+eLZjeX`oIOTtN3Oc3I>ZF5{8yimi*!qN@8F&^ z(9Hr~Cmna|?wg#RG*`ojkc5uNaJJhPNWm=;Kz%y8p%j4lLp`8U+NE?H#S?qiVzlIM zX+XP|cpMdeWSBCb_VunsqL}O(lnQ{lqfv+FU_S*oJ?LT>kfM*S3`7HL;8S-N6(2}< zB>H2vfPZatwHU^CMG_;)AKvvXeaaSu)B%lUnBEb`I%gpXin(l;z^$LA4}oL3EKK4! zIQULA4}b(YV>D&yERLfpp?YDuwGnA^zzq(GNy`0MEEd`*2r7gITfs&pfKV`#4gocc zix;M8_NWCSfJjn2PJ>Bx2)uPGbT_nXfHEbOU4JA8gcb@-Bz=gggan{qUanVe4Izb$ ze<(Ih*6GXXs*?DO2!QhTuN6z>nVpCcUOfii%~Lrm%@vX${a26W9?1>9P~n&I*g+Nh z_~mO`07%uZ{Q1-6AJs;x-q*C)4q(Oe9DdYU4a&Su=MQs6Fb@D(acyI;#W}5}59DgBPodgqndIce%xT#J>NCP}@4;m%>T_HH;pzhc31a?ln-kYnQ>H0D7XjyUJJj7t9w(O^Wv|V+;8CL=y3Dq0>o&UO?vJ}+MQf9 z`#}_B0Kd8Nf}suX#1P$YY#MSIWngo6GbVFEktpA;u2-2{Q1tx-scBl?kX5388;g>K z_whRYD%_!8jbt|fZ(h?k?c!&r>PP6uF?riQXccT=qxu_ek(hi!{2TilEb;UI5}bmV P00000NkvXXu0mjf_m-B5 delta 1412 zcmV-~1$+9>3(^aaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lv=UNR{Iq z000FwNkl!al#q%8Y}b}Wa$(ff#eBp>1H)%o4k?l5i>qMaC_ZbP`~BBb{! zfs1Vzq3g%$5wKajsE5N!z}l_Ob+o7i_N#Zz7sGRVaT)Q|l5Kw{RRCXd&J%%L&L3cP z%D{@R0N@cr>3=+YfZS`pbMwbqJi860Aa*`zY+08 z`e+T1<)~e(ME0`{;IkHWk%ws@1LIW~MwS3(#v>&N5r6C`V_ZV^i=UrG2h%S^JRz7` zauUmV^v7+;ImyK|MDrXa37;>ge@2|#=4-Nj2e*}pu4eE$Y5Hq__sDB2Yt>H($!I|O zlWkcb4cC=A?$Y3iQUKCnHK0@4qI8g?BX?J@b@eRuXzLCSl6@RmwhHK7v*nN^CA$Y& z2|%qNXn%?v+*5$ph9UZl?8j)SK+?k&?)Z~rc<54&r+fxwbU*8-FZ(0{B_6+Y9dpcQ zgj4~S^EiJYo^!)v!uD$^E!1&_M%8t&d5dx4QZ-B-;pQLG0CiF1Q*DfLr z0r>2g808|qJt8h*tV9@43NAVT2(gKB3FvXUe}7?|Z+;p~8G>Yo0%xO&3uL^OhU>c( zz)(76x7iV4#L^>@za{QD0I}&|zqT78rLf`OQuzh_!+23jd_p8ZyZdFqb9H4$au1fn zewyZLR)#MnLAsW6sF9+<36=iSoMw62pTB*VYDFXExQ2hbYoEK?b%*rM0|TT7XO$Y} zM1Ro#?VMNn0Z_-as~-T^K1*!W?&>T+&l7b}yOLs-08l$1%3bWY9^}x%CB+o=^XX8& z4HIKkF@^a!0Bs>=n5r_MhkSRetY9N|*jCciBfh(BT8%;wRjK(3)}Xl3v_WxGdANR6 zHXloIw>DRyTL_}vIrbKd;pHkU0OVBx(SPD*V?K&5>aGM7_9kYa{|`Iuk${~+%0S-t zeonU!z?i=l_J+^HX#e=vLlWbqFeimOIrzQaVE^-G5$^5HOg`Td5c2t&7yhRLxC9`K zh}wY+7)vl;UpgCmBLUK_w}R{+|AtIw6INMfH>+^*7r2wz?If)2IBb*m)HtjDDc>-cQ99ZZOD1?quJ z8+WospF0f$+(!m+_3ZB4iRQS%T&z7fy6v(%5jv}3s4@m0bl6t!58+OV%VB^_B0dUB z9q4iLR$LC)wM5*;?@L$MG*1h$H0vT>x6`DO&~O{#?K*y+mTOa=3h~!$5q-DtJ9J#U zg#oeZc1^^Q@uG@mmnCcih%Z+m7)Jj^?xKbHI2Ja_!uIydm`q2q(%(NWHg-WXcMGKF z`QZy$Cng?{k^%Xcf0w?Yt>DNt;g3{W@8ZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>eo}K~zY` z)swM`+dvS87a=frPjSR|l{+i$MLeL$r8!sWMdHc?5hK+H7OAdSq8n8ygk?>c6#@8nIGY!azHJ04OoUHSUvSy-n8CVlxEx$+}W4hh=>w1_ma45<-r1%q&Fe zn;7xdAvuK&P!52K2CHSSb>BpeW}7+?&w&_)s5$@zXf{KDiJYkE;`~4C0bALTU`cJ; zUI2XADdlWdRroI;6YUc55-`dH5bZR(2pE@{5lA~=P=$&dz~9(^0fT!G6WTd&IjS=t zGk^rO1GWQzb8w)nDC+7i!)VLgRv$rYW z))JdV!4i|_8*jC=WrzXDG(R?U65sD$r)s>iW$<-x?ssG}f9uf*VaMF%DK^n+&+P zt>#D!RsyB1#pAIEQ=i1ZO?PNA+)vLY_`NQr{sMe%0mZ(Cy>b8m002ovPDHLkV1m2m BW+MOq delta 759 zcmVKleho?0>4Q_K~zY`-IFnk+dvS7 z7a=gYUvb2Dl{@R)i+DhhOLMN$i^P=)B0{PUEK*&uM7OF^2+Nu>$5sAwnb}>*+QZ4! z$zp@O^XcuI)jT2o)m81@0KR>B1Nd=Jf2~gv+`Buu`}f@z@zHtWfAHv9K&%~`{$cym z{JK)A7I{KI=Kz>!;z}KoWSb>h>{ROlhh$rej>^0~BLR*HADQ6Csiv1wI5sh%tz&X7 zYoKy~8lBaV*Jf;@P?=_l)3~=e{u#`JIyZw+GVZ<(jIWS5RnDw8(YA+2R0$C1A9jO3dl9UMQMS| zowA4vRgHNMs8GC;0Hq2n%gh3DC%o%10S`)2y)11TAjIs~82I?0R!0W*+GR>j&Q2qV z$rAycVuH^AzJyP~2uRCR;!{~4%QTJIfDqm(n4bljs*zY6fA`o%gz65w=i3p`76|k@ z%c5D84d}hu%ZKwBMUI#gfcs|k-QMABz7B@Vh^UqqJWkol=F)q<-%Q{4Y2|5CD+byW zO(eV**i7&GbW^1<0H(3Y{%n4;Sz4gd1pp1S{;}L~lWTvoo@M3rWZ=Initzp?Iv> pgr77lV?r zs<0MinA3=F1yQ`V3EYLB4=0m>cOaX_^!cI;EOn+YWW0hPMe)AHACO}2z`IB1P`ZO^ zTmPnhBrs41#&3an^r?Ywftl0KLAwT~PbrU;m4Ga7G5`Po07*qoM6N<$f)`_H*8l(j delta 276 zcmV+v0qg$E0_y^hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1T{4#iQ>ut z007QOL_t(I%iWT(4#FT1hIxZaeE^pZZf(Ng%EOqP8*H%IcP$B{xkv(=r*?pr#l%Uy z@yo$aem)_-dw?2{8vwQe33)>R84ZaF!64$qu7H#gExV~+;eRZe^SOfToJokZ0yYLT zt5kRLsJW)95KyPN9ErVR&X>M`n~L-9;46p(y6gN{A1Wa5;Kx-=G?28SO+TR3yN-_S z29x;H`4M5D6(%mi+{dyY7h&e|bI`wp8KmN(7{RsM%T!|M=?4!o@um*;+*IP*N)&zS a#{(&km6e@X-VNjc00000Uw;8fNklFtRBk=!B6_ zVj2DT5GG@((DJ$yCi+oV%(fGz@uL=yem{v-i68zK{dfoNY8W4}r+mBs00007W_a(KLEtS*!+!g7dkR_tFB9Lt8xrvhQETLN+-LG zbhVcrP8%h}EC?aQZGO75@6IpF{wkCtV0Y_=pdL3s^>jbB@qZk8u)AW({JICn(UOEr z2Nc;SA~LppOtB8HFH|7FnfOqKm|-G-QO{1UNf%pRs@d z004JML_t(I%k7e}4S+BV1hYX#Vw;GLHJk=IlyAa%RFNwLRY>X207wYF^U42`t#|JA zs}Z~)dyrT6>m!AEx*s=J6K*iOO>eva0000y(IGhv9TJXoT^w`^_*$eud0kpJNSlg9!f5AL zGW+3p*PFW@CMlBa<9BA>nN9XD1>(;q&!1P-J1`%fm1TJen0=_K4H4zbQy3f#~kopvZdUYt5jksOcC=fL)DdKDlwzV z2)Vv(5m{5NZl-`qO-O?#dR8W70>~2%(I3U?MVx@2ke|;{eY-Dzqar{DkDEB$?{DG) zC58&P_|Bq6Tk~TZ0E**P2;@`1R+_~Uicf%OhEcCDyvP%WbEVM~xEgL5VblJ~K*PT>_Gs7ZH0HY@g=|UD`n_x|9!waU& qexCtlwfZ);txqnMm;(PnWZ7T!yGt@tTEnFP0000kV@U=*R@;bL}kTw;Igpuc0GQ0lT_4=-d zNs2q~<9BA>nayhT4+Y}SC(oa!={qogJQG4J0qYNGdLTl)tg32}f7lR^#o~2k0;H4+ z5?S_Zzo+8|_;XIvJOB>aac|;!d;WS0EX;sADcb8$4B?O#yuL6lX)&cJoOVmm1LWxA0A~r{cx)vgoSW{($T;G<6tPs1K zIbc!~QlN>3iJ(jXe|5njno90o_zCz0`FM`{+r99LfYy24#QFYo;}@vVRlx0c<~3TH zhou8(j#n-a%>i5K%9qf526!U}dI29-SaYforXzBTl{nR~woN)28Y%Ngx-QeXcEshU z2Y-;}p<819c{Yf7gK;$9g;|F>SeBwAfIkBCDOyzzITkZ$e>*Z8mpJSKF+m)L-ugs2 z43G|b2~~#zW)`hUru|6)UG@>^>;lv>cbDnHhZLRP+WmQmkbv%aZvp^#6&9%aRRAjh zBw5EZ6LepMxm4!7w zv)No@J^9>cb>Q@o!^Qxr0tSiRzOID9Gv3xp$DL8!1weMmI4W9pBBG`oGSIiA>;*FG zUHiov7EKLmQzQp1dG`WX!{h`s2ADk2NEb4m+5~G->0U5x_Im`h)oM!LwkEh#at{0# Z@fY>GOEPaZxwZfR002ovPDHLkV1hvICTsuz diff --git a/graphics/pokemon/kangaskhan/icon.png b/graphics/pokemon/kangaskhan/icon.png index 538007a90d364d83192f61797f88dd0c5b68e7fb..7f4b8a2793483203dcaf735f1745b174abe36f9e 100644 GIT binary patch delta 34 ocmbQp{E}%x0{a(F7sn8b-iiI61TNlEsA2#DPgg&ebxsLQ0O?o^s{jB1 delta 74 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 diff --git a/graphics/pokemon/kangaskhan/mega/icon.png b/graphics/pokemon/kangaskhan/mega/icon.png index d612f2abb368b8092d22fbbca486a9c7f5560c4d..529b7348fa41c705f3f2b275322b2da8db53dccc 100644 GIT binary patch delta 343 zcmV-d0jU1d1FZv)Uw;8ONkls`SND|d9m$efct8mkNq(-YR`?ANtyk>lVvv3g9_Yak4ysXwa z_R7P^-|+NpvBDfU?(Q~uYg+5RT>^~pCRk>#!^q`j(In5#xD&ZB0w0dLN_E+1_x`Q} zC_0d>qC>@g)=+`lJrJD^f)yA;#7PHvebhlCCmqD7gZ3L8B>1jF=ZDl`--VzbQU|;~ p`XP0=?dLuD(F9hi`jP&NA79we;NSQx--7@E002ovPDHLkV1f)Ss_Xy& delta 361 zcmV-v0ha!)1JeVLUpfE@a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%8LsuecO z0003tNklKUBW?vRW5vRu;v>PoAlWocOn;t;ltHe$r1YR96;lMw;G3v{>*_neIPmxf^u~RixUU=`icX>Ck|rd zfPTY42H!b!J|u@dpZbs-)axrGACki@n)+x$JJWq+f8yf{*wEnL4HaD)00000NkvXX Hu0mjf2cV#A diff --git a/graphics/pokemon/karrablast/anim_front.png b/graphics/pokemon/karrablast/anim_front.png index 6e6877c846bcde6096bbd16f26519f1d090a72b4..218596a3c0fb7dec719f91afca08b87f7e789d41 100644 GIT binary patch delta 557 zcmV+|0@D4R1%U;SUw;A&Nkl1PCg^f&p&cN7+HgOa%NI+&e$18nCsYP z7Tkb&1Y<`B_c8Ve6Gb?vo2f>lPu>@s!(w9l(D%Vy;# zI))oK_)@N`9+=z-cn4*@&dW>vlmp7TCgvj8b>#%iHzUp#44}f*CNF9Z*snMFVi7Qp zxA&|ri(+wgvCBRG(}E6pRs4Fu~`(KZc8#MO63HJAow%A`=vVUfH`^R{Uw)(oZf0Vg_v3XbhAiqb(X$&91 z*s3y^?x9;LA=&?B6F>BjE6vt&1ku|Cl$f#892e6;bg$#z){Qz#v5kYB2foEavh&vUI zdu{0&`UMI_1}`0IBIw%EsAE4snk@!>hMY~Z-8(@;m!h}+e}CM&6YuUP&ui+hDvVm& zuDsQY9z1mcJI}oKbJr4&hx@%@F2_Qg( zDWd+3Sx4B$Hb4c;oKk8yz|1z+{0LUU5VNbq4w!jf6++C4FJ>EdVDPP2SJjuw3iyMf zTIaMFIQOCVyWnLgIS+FRLQY7uT1&)cv34 zW|PTZ)@Jp@9HLoFAj2uO8nFhN^i=gHfZCrW*S<_HXR}PwXEY z)!3hFV}BuO`zLsey8OPjKNEIfEI*XLjNh5G8Y4iEx-2DTdx(U)8NMzP4ST34xeLXO z{ri0EwnD#|3Ag>t%+%Pw6aLTk5AfFhl-rxWdCOv=~@4*f(VDQ+M8Z^*$y3m#3Z~OXwX9%$8_Ynx9 z-~iRYK{JFj1&H>N2GCT1txYRVrXgi*#Q-kWT$2FJfYE6{dH?~~4sJ}ZXaINx4^XDU zcT`^k+?eibWL}wD#A}s(#0y*p@d8(JW(6)?A3Yap0nETQ%s^B@%dyto#6Cf(a*8OV zdJD83C+-PKVGO802E=j$UHYfcx<<{GXmM6VE{#)4u9T00000NkvXXu0mjfe*$#c diff --git a/graphics/pokemon/kartana/back.png b/graphics/pokemon/kartana/back.png index 60ac4571bfc0621588fe49f7ab271f3046cb8056..8cd14376130e54a2879772673ba3f41df28ed162 100644 GIT binary patch delta 508 zcmV9B z?(4!|T0LV>>!BFKF8`Q+<*P3j`nWFOF>iPXm3@`8{xjH**&jBL!-|z+*xeU!#dkwx ztW>llf|a7RD(c8ltmG8wm`WHpooJg^B6m<$ZX;}0#GV6VbGd?pi=m**n@@u;0ldI zuGj+tY>E8XkAxm!0)Y=L4oE7l!kYsi_ftXxEUdzIKn5$!C?>?+^+*A*i2WFom?m3= zl>lIAmFM2>Qq*830&lTJXljCWi(?cvKlk9Bsv@v3V`|p!1DRrkn!Zv9i+E3Dk5+gO zru0$ofCWOwfu$T**exQL1K!gnf;0irLYm@Z5okhr;lmO9gasAyDm}j(-#P3PuaHMq y2B@P!IVYyik;1^^E==?UOP90000--J2?VTxF8rn4 zH-@zy4a4lQk6B)PxzMe;fW^FFAym5IwEjIjj5#oyic438!t5OinBuFcQpy!=iJ(w) zT?Q~kqc@sJhc%{@D;j+u(9lk?;J_+xLxDnUIN zt3y%4nFzeaQ%q7Dj9c8s%30BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+C5XK~zY` zwUsez+dve@r9t+R!9I~v$mDl&V;Xy~E;b!H*)A=mgR!en3!{UV4?G5*KK?fT+}cAR*|>fK*8(yCU`ha$mRF z%Yd3X9C!{MK<)af$8acn(Km$Lvqpd8iMH6rNf~8I12^IV zbAy&;Skz=UhhG%f8g_+*)oBtfRGeW`bKDk^lY>g->E#uZL`4#Ru25om#}uwF9;jvY zIGeD>D7yd%(%7+Rd-@X_?_ipxb|0|3xW_%qFwJTH>-h9B{IbSPx4HFeu7nil|hYt_{IcAHWR>sLpnVhf<4C>-EPC3-Ac23DR`36 zGp1!2uO}Z~Ir?XRz@bfw%nw{f*L7!fa_-RFDG9gHmGIU$mt&0n_ED``TBy*M08nbr z&n$zUJMn}_DHt0*>vZiemK3)`7UL#Ke7d4jHD4awBB9Ki#Je?f; z79v()JKcduAXqowZ|>Ft*W|_3y1b|YsJ%6LgaN}2pO6WEs46CxT`o`~81L2y@9c0p zy2+ZR6#2k*y#Y|=0dfU;brBT8JK@l7rdOAsN+88?AY12xq!5)49I?Nwxdy=R*+nA2 z0nls~ngAINkoB$-ADAgOq5;-`*~=zH7a@{h+T`eidj41=QUNLTIU7|3$_BSmB@zh9 zHX;B~2@Omv)JIRuhJLVPe-&7mxJKMpQHlfpbqT^Bt8t~0q?P)tZWco9N>K#j@N1`Cs| zln{b9x9QSk38Yj0n4W&rKXp=<-Xz}p==**5q<6=0|7&HF03nkAe;_FdP?IFYBnh#U z1jKkCFNJW1mEwdaJ`m;c(yvS?Gl8ZDAVmv+6lbggd^MBqA~^u?eZy|A0&3=P;5+yL zakO=h;ZXFWZ!o@RkN(C}Z6omGOM@e+>qYuh!I}vW%MSd~q9BzAUc>|D1})pPiA5g{ zzbddb>~bl))5Q8he{rTmtZ|!5PY$Zprx%x0QYhiY3VE7$E$-_4fm%^Np8k@}cQDNnrw_8YyvIG;w5)02+xX-${I0fWF#A zVp;A@0T-wM`3&m-ErXc*@SO^b94a8s9J1MP2=-iebh8b&e@-h)^X2&n0EA4-G+$3X zzH*H(ATMkZfww4Q7=}AKK66R_1TVJHlknF#pQnuR_EEi7UaAmcYMbQrS-!K< zf>7dNKCkO$N7vUj7)Zz!UEe5vIxlJwvrN+^ohCMl$B_U6ycvY2lY_gcVVc=aci=8| zB(Hy5-^K!0fB3~^{J8<3_G0pa3^MGn2@!*;%J`zo1nO9pck7sSc6c4#q)k&wY+ze! z0MuB3ScRU3K*6jNPS}-t8V@xL8HNMiI^%c+t8CziezIl^Aiwv1e+&#j2xp-QATfYk zFhOh}RBl8Av;pDI#zz-{aC!dGB7ym9jYtJS(dKMaHxWW^;YgMeF1khpfD|qM(nGoB nV}Bi3nz%;Nt;i<<|GxeJt8t~0`YPS500000NkvXXu0mjf>G?%L diff --git a/graphics/pokemon/kartana/icon.png b/graphics/pokemon/kartana/icon.png index d2fbb70b9c4dc361369174bd01326a3e39ff6f75..7d0b82499eff844938a10fa12fd6eb1ef98f353f 100644 GIT binary patch delta 326 zcmV-M0lEId1DpepUw;87NklQ5jJDhMcHtTjmZ&ptW>GD`PcuS_>YgV9|s-d|u&zV=q6UjkD z2MC*QkPn47fVFIRL5b~it;0uVb`;lBF2b8ZikPe8xs3~$al%0gM=P=`Y&d6^$=SR z@CPAY^w;LU0zcy|D_|S}YhWgVC@`L&0L-j7f@Wa)g&+b?UML4Oa- YH)|j9Pu8`_ga7~l07*qoM6N<$fQQ8sgmi?VSA z430q^D^==k{`LPS-`yv~j|E%7(jZbONFcipBl31hWGG-$VSg9_-RQev=mymR8}H~# zajV|m&tB*<>QBj`BEfS+k<~eBf^0T@mG&dwA$6*pGcS-vT7p^}pg7&3?6S!K%%Xcn zjrCJW?vn}k>hqK;_ZAQ%rsnlrFAanpgrhO4;Hjo2SQmw>EZiz)S==V8|0R1Jinf0$^kaOhAwWCM3uKb0_HUf%yh&AMsC0c8RV40000< KMNUMnLSTYIFr5Ve diff --git a/graphics/pokemon/kecleon/anim_front.png b/graphics/pokemon/kecleon/anim_front.png index 9df11e9e8eb6e74e3f043c7fa0a3826cb5f5cba0..43f9475309ce2bcf2656c3b1360ec932c1c8ae1b 100644 GIT binary patch delta 1138 zcmV-&1daRN3Bn1GUw;HmNklFOK1Xa z6{@zU;8mKl!j4Ly%dSK<5Xhm_b_Va&r}orP+%S7BEJc6Cl7mk=@5%lf_RVNnT6>=N zvbXJAe0ZN`Mw;jOewy~b9Qw+#s-ro2N7Et{avNSVT#3Slx_`WS*R?&1y$Totti@hN zEyma@WC?vhD77xP*y|`#10fYa%vkVHJ%vT-FX1KGV(c{nTuK0@Kz6A=N;kqBfUa3r z0}t{M0Aw>l*09$3C_EEDq+CPq42w|^3`rbym0v;+MV*D?IEuQ;6`qcQQOK_cWV5SW z!U}@o zKULPXrU|=zbIsT>0(>7GnI;?l7$GZYM*C$HnQH@*AOH}QMn|`k45?Sd%V#MzfgpTn zI`vnoMh)sTy^8~GN#n}49*1lG7k z={(`vw(W9GGFmpYTj!kH^KW3D!5rgw|DwFnpw9W++Za6{#$=}~%bOakbk48lrnu+3 zB=(^`Dfd3W-)DPa3a#evm*quCFZSTyL*nrqAoekxPUytBljX$DV-ha{e@-WvbJ)p9 zlBdK~0Dt*Ue19w05#bSqBT?7Qy#k`yTK5hM>Az-wdHd@%;Bp$ z&#OAp@O@QTGn$^dW&Z)J)n)$*7`wYmCx9u8<$v|B<3Ag<2Iw94zi!t~HLuyhfq|Xa zo*AxubA%9UF%^36|A3fRvjz#cm-RvvcqHtdGG=0%0Kj7T7Upgl5F~J@4iK94Am5Ps zM*@T%2zkqVfXH3QTjYb2KH@!Ae5&$6Q~4VD)3+e^fCF%%d=Ic9j4&KSfKb^V+#M93 zf`4Ie2!Lt=J$O!AdQRp>Us^TR#=OagL~i*grYwLzyAT0oF0jT6IHws5W>7=2S zyBMxZE+9W_E9EYR_kw`kZ#XLV31kDv58J5RMfU;I&M~={ResnZh}^6E0AGS2a%&g) zK`JvvbKS0W93r^9SRepe!BLJ1X ztNb8R4$ahdm-)fisQc=0p#7a699-bWzr};E`2ih&0oAD8<2O|K`Tzg`07*qoM6N<$ Ef*v2WW(6o)AhMWzC##UO@(0x=1bh9}AAN`Vm@P(mY2G8rlz&lGwL z45VmDga;V#5JZv>>Z&Q7Y6OaLT>}&W|BAwcCeEFtzoG9=OMfEWQ@1Y7EgJ6Ay*u*p zzMo0703aBPPVOcd+Vzrn{eL2@;W;Rdu3VPR-w{`xL#P|0r6-|V17~_e1OkqcWDWu zN)F5NvVUZk2k`aKc)a|?s?+I&P277~PMtia@iOrDbdtHp?TjXQN<9sb|3tgT?Z>PM zf7byX)QIPGG9?P_y)qhg|Bd`Y1cb-4*NRtqK+c$hxU*!wa zUUygfW`DoF8Zb@c>-cX*wGMj6{aU{|CgphCN8Y zy}TEqz!PcjlyeK)1OPVAcQALWfS`cm2r2O>-%|QV0z@T{@>cl(k-L<)%m-(E#CyE> zG=I+r4ec>1&wm5C2LgaI?K!}TFv4&Q0ivUKcTju^hP@#GbuI9$D2nh;!I2g0r{WKg zyNU;2W)!%;OZc&*yWgvLu-*CmdMIZwBxBjn!2U8GxS#+3TQ#qk6R6T#iU&ut+4Ppc z0LI!7eDE^*@&Y}A`8sIPAcwQ*UwnMlUw^n^%_&F>wCKRibu_bhbh>zfstb(-!f#kL za%54ew?EnZ-MVW<)_14aJx8vi7myz!)c#e=aoMVL0Ajrc`T8gUVwJj0@ci(AoGU*rSNt=lKDi1V!X7^Mg`mipU-EL!tnN$X(_KMYIsP%lx3U zyobnLD%PDHLkV1hJkHvIqq diff --git a/graphics/pokemon/kecleon/back.png b/graphics/pokemon/kecleon/back.png index 4c88008c5a4f531a046a04a7a7be0b69be00bf7c..9956c18679f5873a8a80c7fda2988701ffcf762a 100644 GIT binary patch delta 661 zcmV;G0&4yB1^oq(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#->xK~zY` z-IPI#+CUV?N2T`--GE1l;4D2whw5H>khYXe8zcE2>*9>&;HNPrmU$cklR|o!`*V+ znA8AG8g+;*CKpKIj<2ZqgC$biR`zVlk#oX+$0G=Qon;g(+ zW#u|ZBj8vE-3&CH>$w6@2Y+m|z_wc{cNt(9rLs833KbyZ8;uws@OHa>${I*H(GF>0 zi$0&fo(1^u(mi##j_d*e-{xT#8%+DwiOV&8m=(YVC+4c3z~%cRz%ay$7Xa!4^*7H~ z?8GIr`2oOkN%M1m0$uksD$DO8E1~pfxGE20#6#ia0CSWsM0;i_i38y08>{1(K<-8(gBj)L`1te@VjFG vlm$xPp}b6!Gr&IG!~PrqOXH;e@gn3815+&;I^OZS00000NkvXXu0mjfZE`S( delta 656 zcmV;B0&o5O1@#4xB#}W-e*gz`Nliru=LQD_1Qe}*pAi560$52zK~zY`-IPI#+CUV? zN2T`--GE0K!C88W4plEbNL}z)%FgOJQ=VbLgN99@H<#!RJ@*rA%R=)t_B(jXVXyrZ zeUn71$;5m6hy?uq=FR{ACJ7<`VO^ZjDE?|ALf%wCofZPo1-YpNe_ULxMzwJTP-kI_ z*ebe-ssP`zNK>gvH4sfK1e6h|Q%Zdmja4N8^UzmWMZ)Yb2Oc3BnH;ciX=OSnBS5Xa zZU*XfIMV>?;EjwH_-3QjHU$i$)D~x0fd*7`T_So2yx(jd(*{b7OPe&XMOVyj(*|4b z+jmoorVtt64%Dx5e~WOr5h6%;kT2@4Gi!Jj`7~+{B+=hKmr6V zXMoEAT&M6z@E$<_uTPg3pBa##nJOJU95*oN1XX#+Y0!Nwbn=)6o&7j;aCyN$sab@^ zG4G=Xs^gbde>cXcYloccJ)X+IgPu$;pEJa*BJftPlbyZAyAm*bfOJL}WQW&X>CNO# z%+<&5SbvegB3ZnaObi{;=x88Gc1et#kg*Ra qFOv8SuuFEZI|snRIH`ZW{s040EgD>MYmoo|002ov22Mn-LSTX*b}$0~ diff --git a/graphics/pokemon/kecleon/icon.png b/graphics/pokemon/kecleon/icon.png index 5b2fef8e8984f6193b901f417ce83acfdb1b0664..06fc1286e7f60e713fc41c031ba882583ba6b9eb 100644 GIT binary patch delta 289 zcmV++0p9+d1NQ=uUw;7tNkl1sx5CHXq{nQ?5gw$A-K>0~tB~=S?&55D(ZU>V67W9ae(mNPIFT7IA%BF|yHQ@|jJty}U(5T) zWv&;&%iC;L6u_VhDEH;7`)u|v>oh;;$5H=fU@Oyr-u8V1qM=?Y(3v1sx5CHvy{nQ?5gw#ltK>0~tB~=S?yh29&Lo+yGpNCD?IMqg3{ga1!5;h<{KTKrTgT?8)_m6bjj) z0TYv&IzBHxMveyNaF>9$5x1+I@8CdYyo3lYU-r|R>!gF!!1@xqj-u+8YOuz4e-t%Mm{(t zr6f4G#G2e03_y%i!7PGdR)aBTFfbV2(5+`MoV$Its|*G-t!*&6p37i<`)GoxeK5b; Z#|`+NpY9;%a>W1u002ovPDHLkV1kPjk6Qo$ diff --git a/graphics/pokemon/keldeo/anim_front.png b/graphics/pokemon/keldeo/anim_front.png index 74b3ee7f4dffc6cd3e4dc3359605f3c414d60e18..02b1af6ca03bc1a92b128bafb71ac22e8c6a20c7 100644 GIT binary patch delta 1249 zcmV<71Rnd!3a|>0Uw;I7z!lF6pQi6tE*h4=+Z-vd~3xu>Y zlDCay$+`4Y_JJJY_viP|jO6zL;QyzRx;*|sxd&KlEzMmjn}6j`iU37LCB-z&!V(H< z@^}jsWhj}OO;e~*kfLNN31Bw!WV>3>ePaNVr;>@o3ctqn&O3fy^=~H1BNpv{nt& zwVj6|LL-(2Z0+pG|9u#!8+CEx0b`jiSA5O>nRs#l zFm4%RQ#nfI*mvIiIY9j0Ro8ZSFq3;=|(Q_7Ln4bLmXIj|@> z^!7q;IF!7F6Pio&+M%~UgoVKV5L7&E31FRb#%lwupa%)7z>0z45?~;Jf*M`|sD*$f zfPM_L^8x-G%z@l4CEN!ejrz}2@Qddc0sN1s(0@J61t$1}1C9^iqyTUQz#9c9^B~Oi znX7`2M^AENv7mVAT(=mAAzo&=@~eN)f3MQ&J#nQ8%4P5%ACuZZG1pg3v%HqSec=!) z^9`=%0|P~Am|{OR@+|-yG|U88_-UB~$4zsy!Q-t04*`!`O0vNl1%UJ3AQUx;?*U3% z-+#Xc3S5YGX4bg@=$XAF+kJYFOO&;>o@jaNnqOM~Q!sIS`>~2EYhb_B*kEfZR;5^mR$j2tPrd*VYmsGBN{6jL!68{jZ zvcx~c(w6v#J3zjFxC0b-3B6+fkN~9EKg@w*|By(We}RAapym1-jes7i+B(;300000 LNkvXXu0mjf$ah+n delta 1275 zcmVPix~w7{z8XDn~Gk|k&9p@*^q zKG^S1@1L2Gp9g^d-^!uo@q6kWzc)0)`+O1(diI~#{7#P*Y@fxWKtc@Foh*}oK0tgZ{dLqG>4lP?Ar6nr5VDV12 zNyV&mtr7Lg^blhS=rLf0oYnW7GA(WF;N2bZgTfOjH1}-pv|RGh`tE%hVIhwLmUedJ z{WkE?W<{R3&v~ND6;HE%zj8YWR>f&4FK&347;%TuPg#&}>IkqGJWNcQ#{gc6r;07vitN*0xERK-Jk(s#4445S@Z)iX zlV|+-kbe+cW(YZ-CbpaL;WHkJY3+vmVkEl+j9qdj0ry;#g=;J@o;S4_05DEYsf1c5I4=(7z~WK@cRz3kgS?ydC!x8G zz-xrv?+#9#;!_8KkB7(Ef&t}A=Qzt1 z1&T7u7e?U2`fuF9+8uGV1_}jmFCEJ_fNE~6nPy=$#D`>jF9YLeUmjjek#w{p!l@OmjOUi=F@$Ed0woAU_QI!XfP9 zosu_U;X;XFe`t3w*xcPk*b8}F+arxBcJKsjRci{vJX~x7C{uqLOmbDkUcO%NAT!ku zn2=MoCj7y*RNmw^2q_&3NybQLoG$`RSJy9vIAa8TUlL*5#N=)FDd)Cy1<)7Ubbost z#!U<)ZN@_(-Z~csLjbRXxQT(}dmiXQya#w+TD6xq94CN%T=cmS&in&lZ#a`q=$|{? zCjF<}xS06|>D5A(FfpV>jDTIt{ev_ZI3ZcBUIa)*k_IDj7WqEu8O6>p@(+ptLOe+T z1jAyxIr9%tm7CA=R900mMH4>*WZrKikZX@y!Q1_GK zG5*?d0DR{k@So1Lf9;zxW*NgxF002ovPDHLkV1no8Pvigq diff --git a/graphics/pokemon/keldeo/back.png b/graphics/pokemon/keldeo/back.png index 8c7454eff452fde541350c87abee47e7ad743448..561b6766a718b3c2ce7bb71b8f1376530c21c88f 100644 GIT binary patch delta 630 zcmV-+0*U?E1>OaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yjxSK~zY` z&C|b+(=ZeVaK}T3o02wSfTeW?q}*h``~xLXXLQ?bRfVF`9U=aK>coVQ5Xy!as*}4_ zf`N2pf&5WC+xcZD*BfBqDa+mWbMHMnIr48ScqI3he+#0_zxell4|pS#@+fI%(2;2r z7D?NJCL=8(0ol^O1cESsGa^7RG9$=TDG~V;hQP~AEoUU+5iC6ygf+<0fPw=4cmq{a z0Wc385cNRDB3OV8XwnCnSO6!NK*l5S!2$~hWWjSAMBo7a_7U*nT^COB$z}%5jMZzB zH-N>P4FIHFn!j3Y_mjJIeE_*RFn|QBPV>9>Te;shAeINFJEXdQ$LfABrGD;PAXNw5 z1Hn#W?bOo%ia&h?Qz)28@j0|h?pmOV=^h8!0m5=TW>>LJrOdmVU=|QERz2jpcaivh z`$OaakOf#R^cEJNeelEp>t)gY5>H0}=`X>U+A_C6(8e4@c|x+bLAQheeqENQ*a7(8 zQiE#-2+HqHPCQ|M@@ZKz%u6-^X3god($q^A=p{I7@@fF|MX<8Te|~cEsRE+O&jaA; z1}&%tz}$4)HmGhtTT6K6i1T9)6oUpcV8>@AWaS2X5)KKIOpVG#PK=HVc2~3ue_-o90Z4hZYI*l@!*-hvh}oVp=rdI7kl;Y#Fbu zxH@7(o=*U17=jRyvb1)EmMJ9lkt2n@e>HVPpx1SMj0=0`(H6KS zz=8V5XlEr#pVu|vdQC=viaCE#t9m{DK8S#%)0+_>2SMsi|MkVv=K@GN{WJm`X`q2- z1gJ^J+Mv1pYJ_mq5`)74s73}pkVDsj1Me(=av-_V5vs}n7A=4dZ3hk*DHoXpD8gNY zs`_k%%((1>X@{;368K(KH^BtJ?}-O_`h9yt0_!74d5;d@?@KUxmV^V;RlrX&aa>?u zEJ6Xt$pZz;2yzwoXHF#Ha0$Qy5TiVu0T5|3HuvXGHZiAD^N9Yh`U6*gO}33Seop`Z N002ovPDHLkV1l#H4B-F( diff --git a/graphics/pokemon/keldeo/resolute/front.png b/graphics/pokemon/keldeo/resolute/front.png index 32e16ffede387ec0c87ee1887e745c88e3e1cf31..8e83b810a775de0424031b3f2000fc5c0af4347d 100644 GIT binary patch delta 753 zcmVMijSSM6%1RC* zjj7s5D^D2`F3Iih%~ob2V5;VifD)TS!gI+}Bvv95pZ%SYf>C0O)$`1Ck*Gw#baQRY zn?XGm5D&4%{aFPh6fj)O$sgO@-&?ioQXvTtDqoke_HBtPFpLzS6^;><1)hhUE{Q&kEq_3mI0V!SyoPnK1#zBm2a=~G zU-y{nS+srw03=+hMgm4%w;n41q&Ee(G-$_pSs-%`^DNkG6QaC_SRhOTsA2I!=#W8A z<~4*tEpRxW7hQ-V?UER%47L!$k|i9|$pFg${8048u`QGYNw{LU(XI0HEB#=y%=8wT`I`S4f)j%u`(0+uE4M}889%wMLaiHrE&(Zv;Z zApxG=4imU7fieR408W_d)8xF(;b>^|#gG`1NLjGYY+{-=Ci`7Ec$(htClas_Amwgm zMlv1^TEw_+BXFe$uH*-OEhNzCX@L&PUnoEfb!rOo$RN;@fbNobpnwx`fk0me)MRtT zlMeo0zn%bm!!gcp=m3ACinna}6mPj=RRc`>{#!zt<3ZLW{HLtW+*7qR8WdN3YQY4sKWXr;{Z z8Fid$tN@^=N9woZxJ+QBXYOyc2?=WtFhQUgh{^T9CWD@gD+rC6U~|4Gx)7~aia=$s zgb=1oVSgKT3RnT)N1`uI!Xnx<2^htnU<(9;&aEB*Vu&wcyb&Da7zLO1n>vgL84EC z^EQX$q1G2eqDdlAf^}{Y!>};e?@Hroa^BA*V1FV&3SH&P@np~<+D#jQYc+5!5A=$6vxLSw=3<0$*t{)E$#wafPva$#=3$o zVW!v?p*+9}$>P4iZb`RF%GF9yT+@YZ5FJTzr7g+3+%w~li|rYw*pWa&=g0Y)kMlP| z9~VI#iy`DC0TM1dRsq6EAV}&n2Ov_Muu%9HUzTDj~cU{?}-8sBJt zt!lg^IRk+4^Rez^ei~STk-ARCSpW`N5e7-3qyh9^d9sxw0R1m{tkjAAD{mJ}lVe%j zK^7)h<=+@o3w>;C|tBodV!;kbUd4|NE|AqgS0 z-8=~`V1Ec3Cg7)f$?74F7K?n?*Bi!I-LhG~zCQ6jSG?z3+O*=2FKrD?k zK!2ZZ(SbJ!O0KGpq;sSv7fyT-47p5Ih4YXedvX`7PGy194 z7QCLLM@Rzt#%P1d0?-d7~ZF!GG-j!SDC#<1QLhW(hekJ#h1@1_0a0K;7^j zq;OCc5BdIm1JG9?QW0lxY7WYPHvr5`Rm@!a6f?y4=dC_e3tni=@&mgvFwdv%11((u z=qzyI)0tI!Kr$ebph=wm7Fl)k8)u9r9%Z&}ixcjx;c&zf7ifg@1(q zU2A~%rlq}3n5qCsnCxP9XZwz+0BAQ%PHtM-1YqncA_<9LFbc~w!EcKf0y&TjWs&V$ z39r^~xgIsnNBU693q5rMH}ImzHgSCf{q*{@CX{zf<@I_QaXq$OS-|Lj4s{UMtiVUB zx91RoP{)f7=XbeWeKR7)RS5%i@L)~r3zrX#ut+EBsXl3^#H$A4E0Bhb6*01ZRKT|lQk!2MnNfbRmr9SQ_t?mn5-^0Td;{0>_GSlO_( RZma+R002ovPDHLkV1mtFMk)XR delta 1247 zcmV<51R(p%3d0JJbbkN`bV*G`2j>O{1qUI};Rx{n00gE%k?cjcAH z0Cc|QiBjkKzkhuHz%)H8t9!_ziJj};EZhNp_!SP?ezXHNk)CgdpufcL4*aq?Xt;d{ zk*E)#Kyv$_-cfp{&FbgLqyc27+_5)xgcRxu2yaNXGQ@9o3Bbv$dO&%}CZ7`=fSu*4 zB#DYdJsYDuuEw7oK(h*j^MVI4$yoh|uZ}D5^9d+*d4F-}6B5ArLtIo_z<(v<8UQq? zzHI>?Pee%A0<$r40kp1+0PYN%7!jRY0Huc7MRYx_j5)+`o8SVI>*=hT8;IT`08~JP zy8dPef)|fEMg$J(`K-E^(hLYWspr$#Jtu01z^?!(BCe+MY5gZBEK%FN-P`;F041?( z?Fc8^&41m~Aryxsq}29iB4Zw@Viz0-!O<@9F7mtJxZjaG>TEP*)ht@6|~!7r6$` z!%pd^p#eB6?_mkL2~ke{{pG?Nz;aQwyFs4$g$W3Lds{95*l%c@o_%H70oB0%WFSXr zpEc4?^=`2Hh%Cs!M5DR-PT+}4onMfe!T<0 zH8R+4cmOG!)YU_NJl+BHs}QT0Gw7O=I^;V5ZpDQ)FMWm?;>UB_+yFrTIT_o>r>+C7 z$JWuLz=cm|50-ZWmLw<=r@z~Pg;unfU)enL7J7RSyYm0^+Ky|Xa`=jY!lm;pzmIvHiUAADsMK+m}}V%?9%@n=^!?(z^AMAa|A)C zuuA`Ox%#_VVnVC*uYrI>L}=d*SXitR6^^Nkn;pa{T1+3tsb4rE#5vogaJ#^&jGTa$ ze^-oVL3f=4b{HBR0-XB+?i|_=_#q%Vuz?`V?Vb6ieBxuD{1;mPSlPV5VQK&X002ov JPDHLkV1kO%L^l8c diff --git a/graphics/pokemon/kingdra/back.png b/graphics/pokemon/kingdra/back.png index 11626702ed2728789b076d25e89438e94fe357af..bab48255eda88892ddd99e6b5479fc3a80259dd7 100644 GIT binary patch delta 728 zcmV;}0w?{m2EPW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+>leK~zY` z-IP0zn?Ml9(Taw0*3iS4(%Up+PmKaqC* z2rYuhPk$81E@_JmnZz){YR&{Me-9`w#5D3B*!hSATgBTYW2`|8k|d|9Ah$xr&nhJc za+t$>9Q$;Jg6Ul%qKToc}923>vk)WA5etdYj0s=|Bikf%U2Prhz`aTV@ zGA;zPh2Yh>HbU`#);U}YK`ZK%YDzJjs%%uYK;8wEZ&kaBM9A660FzD(JNBJjwL2to zR@VqFQn0)ubM8AO5jZ>RI-uLd3EdNdYG0MRH*v1d93pM1k>iaBq~#pnteMvJi6YSD zrM5uP2+g=#foaZ6pLO8!L1IEPnORX3sbw2L)cSCpM}ZfAdr_ch0g1h7vx{QOIiYE< z7)<<{?ELAF<{W3&9q2XLo$@6#|BGPYfx1lvC{JMnG}(J-b(d3?dwl})RbXJ@4*;z- zUsp5tpn5Kr*1(vOazHdw@RI)Wu5(`1oV=_W!TTvVH-;G@Y*xY(ZK80000< KMNUMnLSTY8$yzo5 delta 718 zcmV;<0x|u+2D1i`B#}W-e*gz`Nliru=LQD_2m~B`zv*3O`7@dNW0@n1{nC==5{36%*pw0uFP$UbNG$*!9n=W;#JW*!6#)m(W)KON* z@-n}j`OnANasJhn{>AR@R)6N)Q3beq)p5*wH(j~0zv7L%TXY;pe?+YHA^=daj#TV- z0Ief*CR?8fTmr}dR2x{rP9p;N3$iEVXWRxHve7w0{3W0g^xjpE6~a%XT{l9FAo5cU z0_iPnu_cq}M_A99z}4>o&4rjmYRb+BB)EFHUoplSL@!Blsxxvc^zun3-07)O1auuGIe_N2*e6R`|DjrOz4P!289}sjlkQ4zR7>porBV&o=2Vxk~$Ox<0 zawHhiz||om9UlkdK|sV{1pq>v3;}>40R7grpB*?H5@bD5gfVhQKR}PU>)!5-(r={baU!9pT<%J^9<)yYjRtZhH zTY+uP%v?<{f98Y4gmyC1EXxwdwSXwishLNCH+z<$r~!$cX>+q|&pDxOujozuhV1<5 zkoFvB*BrbtU_wy!M5w_2+r10#XwGNDF|eLS@E?EP zCrUGPgt1d0xWbY!vw62F*yrC+!#Fr*k|^> z;6~3aQ2nO$@p%Rjfy&TNQ)E4=%#Mu!HY0f~SS+#30pL?mH0)TNntMpeun9aNu0*c=!*L4Z0VD=qxabEX{mMl zy*BIOO)jvsAU9yipR6vZRN^f%{pH>%3j0Ny7%+TZquxaZvZBWCVyP)!J0;u0bmh` zC4IZtKL)SK2nhH7k^wFBRPbdG*8zyzpTD1o zqmi=gKO04HJH9b}b2Dyr-RJXhp{&;ZZXS@Cg&foh63mw=#<;dsKrG}qdNOJ$gVwfBC`!YJ;&y8^^#_BNB=U0cv! z0BF6d42prm<4>Q>e|j`C9m@c0M)Ft)F0q~iY{de)NuL-NpdyQQ4xmEi!uwl51EszR zSctne)lNK=-&}8nvWM3RzeOlL-cK*xrdnm+07%3pf1JZU_{!uXAQ<41zMaD#57#6E zir!x`fQ1$dz8uBf2ypw$_tP`h)2{HO4h2 zf!BX`ctAPHTYyAB;I3v8?=v~zPUX=ceuxnOnJq3=9)}0aFEF)(N8x06EwJW5$?h2T zQNAI-jR5{bMh_wE<7|st?&%oAlgq?q^pB3eIr**2zZ##D00000NkvXXu0mjfThJa6 diff --git a/graphics/pokemon/kirlia/anim_front.png b/graphics/pokemon/kirlia/anim_front.png index 445e684fc441fc59eab18404b81360ed83ee9faf..17813ae7fed5885580685c79c42bc958bfaa2eaa 100644 GIT binary patch delta 802 zcmV+-1Ks?P2lNJzUw;DsNklBjE6o4;+TRKI!C3LezZC}aM#(yA18QMuW zy~-C)>7Zm5D3`T{RJS%D%E?PGWU#YVgQGv!cXB)BJsApZ7e74deY|_`Z0miD?ShIu zpLo2_m=^?WuQS@mfYb1JKNx5obVgx>1L3@bLIU8UljN!$XbPN< zj{OsK3U)ehz?U}%8Z7`NzQPHYvja^7gXGc}lk1EC%)sRZ3G|JCd@wXRZ2c3o=neL)M9;dpe8USsg0bYG9Z%sZ#0im-rt;6N5(L=Neq0>01t<^0+rVrQm z0>;DuFW19V%71C(E(!y<1DJfM93ZhKrK?cawa7E#%aVOr%eoR&p7H6URQ6F$(E}jV z{GP9E$s+i<+7lfe6}oPQ7kQ$KU><;7FNpg4zCXb ztZl3;aQK`GsuwzQ7=8+e{$n{-7CI${fDNpa zNxT1s*aDbIunlPIz%>#7ZNM|_L;MSXi7i8H2l$r!E_U%Gd{i%(@4O@ky39X1#`1g= z`d)CM)80{tE`I>R!Npah4;0Y&g%cE9A5OzxenA4i1;u}k|2Ozs2V8c1N)Fh>onU&J z20lX`f`2rW$;{L~$&qWev&x%1Y zRK3FPipv$`wXzQuwl4<2^9p`Y%C2yLO>H&SV-NuQsL(FCj98pXIK)z>#8{lchw=jm z55DTSZNIzS-nx9<#%TjQvjuQ+&_I6*c&5AQlPr)&n<{N5v;mvN+zLcnfF>oV7l;$B g1{>Jz_x}_>0Y)fHxFJ)kUjP6A07*qoM6N<$f*c5NKmY&$ delta 830 zcmV-E1Ht_C29O7kUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%c%g_@tD z0008>NklF^|(Q6o7q^yf8H?=)~4Wv@yB~u7BWAI>2Q0FsU!oG30KJl=H1r zD)9p?cRIAdhZl#6 zy8-$UX1JUkDjXQ5ms;yW8+lro)akI zO!egk$Wh?g+kfh_EbP+=xS!tF-6 z0BQju?rRGOSCPVIXqtufabz*aG-uirbbG8G}(_k0C+n-1l z|82n2?Th#q0Ac)30lIIe`|+#8@3=o(FA0Jk@sCg3y+883;6i2n<7kWk(eUDGqYoIc z@e3;`Zhw6^jlTN@3j7ch|FQdS(3cjt?E07-kg1(P_Z1Gjhd2z>P^L2*pP_&^o!NMB zUAXOG3(THZ43PtPzGk}U`xVonTVYrZt@+6(3%HBe0OQw7hByw`K^z`^ePdXWId=kp zL3Xq@U#=~H_(hyG)dWl}%xmrv6g3b++`>l1d4KbBcb)>!OB(J0AfyAJAW=Qq)Bu12 zEL;vVfqt9RlS0Uq5jTjWh@=$e%#?}S5NHFQ6@y~PX64!|Dpn9z(%c*9zAga1*YJmu zX5|J*V(N*SfB={W>8z3pPU1|!Bu1b&H_qXQ`GGwWIO@2qzuVs4+I(%tX#+gH1F&+i zfj52^@N{omCz_z(+bnG}v;o`3+zRj=zCgxKzLm^#A|>07*qo IM6N<$f<3c<+5i9m diff --git a/graphics/pokemon/kirlia/back.png b/graphics/pokemon/kirlia/back.png index 02f4476b18ad7348c40030fcd9034df9772d587e..2bd79fbb127c1f50a101fbca2a28e7fa3b1d6096 100644 GIT binary patch delta 586 zcmV-Q0=50E1+oQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t-n*K~zY` z?UON!+dvS7C+1ARU2xJL0(%{<^!11?5a3nIBYaB<#0 zce9q7^Ny1?fed01dY|6BU5(&>{q1!XhtEDJzedru*QaB7uD`pzBf?}$69G)eF$2VR zO6X;_dX!h=m<8fVw#>ADw%b0z0RYoD9%|C{>O0+j2}AbdiPk?(0GWLXfseNnz0@9{ z4q*feF%}JA`!N>*;OjTN@&*J%Oay>VriWh7`;l350I5T5tu?7JDFxq#Wj{Nn3}M14bTb-zOmG(IInx>d_J+4AEH`6Ezme zML;Aci^N|65cv~aC(nWw52!FB0kZ3!2Qp!|(EzY;5*{{Y%>q8z;z&TAZ$qGaZ^WQ= zup7n!x=KlyJ9m%|)^5!JxSG3)2oJ2enS&b33is~bJ}SlO3X2}1+8=x~rn=6_3Q_i` zi@E^RNC4E%xsvmLP+rH{XLW9OPW0-!!lxHR*AUh29H5sYo8r^a)k@7@it4RJsVe+Q zL;snAPy@BV;w>=4s`y2~joZ6=e~{htljvcw7xY)8?pR?_mf;pERDPOL_fpIe8GtNL z6MI8pX9atbAkxSfg}5t9-~n?@vpCyb_!KnQG?R2)P#XXxlFPF1AwjJF0Cau}{G$c% Y3f9U6a!4Ro3;+NC07*qoM6N<$f=s^*ga7~l delta 583 zcmV-N0=WIM1+4{;B#}W-e*gz`Nliru=LQD_3l7(XdZYjV0uV_=K~zY`?Uli6+b|Ty zHPbN2ZDhL_L!yix(|@3edlwy=o8+$eY_OH<3Ym2tfMAet)m^8}#T7a#b1J5?*?0Ic9gzz`GO z0%j0V5g7aST_w%{f$*N1y&zX3rx$}zXB2?yNEu^vs&z^Md2Yt27upRXLy(Le(CQ>$ z_#1{b`pDbc` zctGf8FpFO}o*W?kj0lLHeHn_Fe2o@hODovpT4yBSk}Z!26vf5|dJmcpI|s8S99U0E z!4}r;#iKDBJtSA$!q!MQAftMYHBi;Cvk&G;N=lbd_5tK>fA5MBqi3zC0Yo3G$O}LN z2(ZRlTTvd;>Cm{W)^5*FA*uPrKB!!K<5uNVXi z$R(7ofjQLWZv<}a&NjQf=$+3*AIcraRgv0b4P{mNuTX<@-IUrxxd0#lv^;g}4ThbU zJz*o*V+g-?NvjXjBnxVZl!z+&;Y9hwWqvp0Ys`zL=+e*o6X V1#+67b^rhX002ovPDHLkV1f?Y4fy~7 diff --git a/graphics/pokemon/kirlia/icon.png b/graphics/pokemon/kirlia/icon.png index 7aa3bfc65991a9cd04e78130217bad660c063259..f02a4fe7c0ef363157c2276d9cea2d034921456f 100644 GIT binary patch delta 269 zcmV+o0rLKf1LOjbV1MsPL_t(Ijn$GdZo@DPMRfxL=?U8IE@17=q_tkeRX#)qPt7HB zfx@ZL&61I16)Pox{VkwdP&C~5KvE?1l=@F0MNVB1K}wxBR=Ti&on`(8pw5O}_W>20 zfrlBX!;Ku)fC0n=`oXlz%)z+*U}r%5X8ZTb&OKy}Jk`Qx9)EJ;FnIz%Q8pXT4J@Mj z$4X#z73+h>oF1NEM+C>Z(fS1l$=9*gTPRT{uRZoCGOI@tXjKuR1a}gDB8-&6#H%oi z4(=ih>X3!0PzRTVIfFtW3j-j< T{MFw80000O{1q&~m>}vV| z008buL_t(I%hi%Gj>0eyMSTNHa01vqNO2F9+fCzXokLKhf=hA%l-+2%*odUfV1q=y zEzzx3%XEJ7jAzDAi2oFvon_;hk;=wt!;PQ8(GdLr5ThpB9Dm>jMc|-D$gn;66cB(Z zfVR{1T(i^m)R}s&`DxmHVV*hCXkM30`dMTke{m9koOrQtR6!%ET@?(ii>drlc$UkL zZI9quR!VJvNdCT-YKKc3oN_+dqD~$Opw1WX#e2q|2*bHB(?gh92YVL=b%??gsDq8d zjG&N@!T<&IhigBlg#@o!pJHYrp|9igKD0000=`%G;IESeD~hny`QH2 zABRpX>%99{XNb>dK0Zyx*r)@HS3W*NeCmXds}ArCz#;NE)PFhWn+~7@LD0dq;A`jzbaNt{9idf6ksFxG}pY0+5cEdx6f>hM324I|9 zwu2QwLS~|9+-m}1QSNo|1MGPLV9aH?!JzoYEdl(-27i<94^KdJbD$?6#+o9KSW}B! zo?jHdB zLInVs1ua1AMO@13JkLKIG1QgO1K{6ZB5UtQ8Us{>OO!1K>2|N*c zcLJ=&Mtw*`=Oyh4aEkL9Fc@~;SD|+A;#R1e^Zx)AUwE&H6Wa~%+xW@`b&5UK?+@ax zm4@(?KU6@!Kh%Mz_N)#O24VXB{y?k?yjxbjfg-|t{9yoOjE!*@3rJoJ=S_dWt7|Qq z8h?~P%O70PdU1%>J(obsA8e3ak=}}SR~-MQKMcm;GvB0aXU^3H()0(-UVryJ`U49~ zK#rtb?qHSu{605X=rn+;{SV^nAM)I319q9wK^&kz$Qd?Pk3VRx@Q3R?+cAUMzSs2! z7nkXyC_(JIqN}EYV3j|}-j60F66Jz3k$?S$?JIv6%T(X(MXD8$ZnJD*R9}$9PV{wb z7D$lEb+)g70i>qrBZdpY5ez>yeGIwg4^-3fP2|RoY&aA*kCCyuKWIAk86T=KGqTLD z`Gcl^#Hqy_=?}snyzG|OyZ^@>j6`>r{s7AbcNlK~2g9Bxp!8rpoA(F?=cQmk*MC5Y zhBQ9;!{RC6TU{Pe*fggzH1@w8w=Q2z>L0uXg+kBsN^=_a00>00000NkvXX Hu0mjfp8-1t delta 1213 zcmV;u1Va1x35*JmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%ih`@(>_ z000DUNklF>l*O6o5%9KR_o^YDbF}G-MKeB#nBbc(l`z5}yztS!ha^Ij~To zzoA(=r3A7RDLi-$vSsU1Bl=N&??_P;NxOTR8)#Vkbb9yR-G9AL)BcY`XO?x^{?zH? z^O=uNQwT9=0mG$_&k&zFW9+;IJOgl;diHfGp-(Cn2#(h=*Y;YoFeTq;Ja23yGF)TKf zvNi=nP(h}$? zAkQx{_ZYCtj4I$o{s+4aVP)E!TgMY<8n-b`h9jH}=lssF<+%dJgZeT98_NvmljnC* z@<0*eTB6)_;7}fhi{M_aaVfNxu~9E4eqU@N0C6cph<}2VYE}a<&b8RU5+Gp{Dw_0; zfv_m|s`vx;v;Z*Xs@!03eB)LC{>BX^-|z2%=<=TLff#FwKw^z8HrvNw+~4237{klo zJ_Ag!=tWKJ{ZjcQ0)N`@`XT@4Gemw1(DD799Ku7EfA|Uu!Mrvg*DNdnV3VK$&|bu) zyw3Cd!+#D#T^bz#e*O}HT^(Q*@Vo#XZ~_7%L+xI9NTy|tQcT3V-EQ|cWo_y;06YlS z+n@xNQZ3V{GF<}MExh`&`|3h~d%~7-c6>f3YmtTU>JvsVmMQMcq;Y^xj2ls41mReaZerL`WVS|ihm2Fd@R%&8}|s^9MX;O)TBf;_k9T@ zJmK87%ahf(t46Xl`dVv>{b1_sX7Q9EQ*xjw0#AhAo&c+HQ~nS|=Owci zaB^A$di_T(d)avxH$uHR{SRRNR70T?JJY_8Z+vj4|Aar#U8@Y?F@HD!-TqJq9^11z zM1L5B>391Bv(E5tS^5TwNS8nKfDN%RZeoJE`~k176*V=efQCP~)OvAH>z;P`gAJ-H z@+)e0UH;G;f-iiNi;X#zUH+iis~>(ue-L2>9QgxIvCMvbpPM3dj(|h^@5L8C<+;-Y z>?)(ZI6!|;Gu&7m{-C+!4;Ndp5eBz?uYc_iE-uqYQG(casjH?$h=V_<-j60liE_ai zseU822Y(oXQj_|K;Q~2=;ismLA=mtY zYdXG(+}KeKhvVikGEw&jO~*dt!(mK}Ec0vrpy?lRYI>vmfegaSu8z9@#|;dqyMHTx zfW=%oqM-+dJx!q0gVki(AsA9tf&pyz-?Q2GM`9sWQqwa|k| zjAVyDU`O2xhUs_t1360J4>$!GNYfuuN}=)x+!trEtp`c17M*|`##UIAJ(}Y$wEf}y z%)_cLm`n%L@(4G(SvnfRK$c19@-_!)y9Dq@{eg0IX7H!{A>je{p7sY$z*GK^BJkZG bzS;3FBsN^=*$0w100000NkvXXu0mjfX`VWv diff --git a/graphics/pokemon/klang/back.png b/graphics/pokemon/klang/back.png index 4fb426c04029ae016dadc0e102724dda24800fec..306924acd6e7eea3567fca17c14b3643bdadd96f 100644 GIT binary patch delta 708 zcmV;#0z3Vk2CD{;BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)$CKK~zY` z-ITG4+dvS875NEP^0_b=EZI(x%6ogbFr+Zv1X3P%TV7!swlH}RbEHcpaAO-n*arzo zaOI@cyJTiot6fLpx-^+)#m=YypPd~k`WNwvEvB$^1T8IbqqWbT-gah&sY{*4fmOQNlG)Yu{0L$^=P7WMkPX|4E zPryxo(zUP-UOD?qsNvxc>eOR-%WmbD&=Th!V=^-#EN8u!`Dr;S_U{MZ3zzbN| zWXUf-FYt080QAg%05Aj40MBz7E<3;>#ib5ZPp*ct?I zbnzTu~=5BCtQd z3_!jCi~|7k4IuUa@Q6z#jMc1JI}8 zU%(-dK$wSr(b(;J0T{{Ql>lyYm&b=AORfb#LXbgWAJ4k_1l2!R{hrzMSlQ8S`5POL)Wzc0000T9QtC`RLjK{O?bpCw7Kq(lIEh49ODln_zV5k; zr+!(p_)_N}iIo$#A8Yoe%<3H2xrF;tQUnI&D4e8Km0DLUf21gfA>aipY_j;-&kJl0 z1c06y0H)!nt;AImIRGrLnJ&60az1~zIRL<)#EwIp0YI~GE{Z)6TY~_OE}kRGs67aL zD!}#-H==KjkRe8eS9ThZ`iVgC%NUc)4H^#s?STCgL{6=M&2awlBCtQd3_!dAi~|7U z4IuIW#Y2GZf4c^@<}(4oDd@f{AcgjL!1m!lR}tkoG>JUlTn6mq0jAU4CLCl#TXqnC zA^@@kFH5GkCr(LsJBl9w2;ZM*OD=DSUjco}>J2J7UAOAhX3BED6qdfHIKR)Bzda;sfl^BZat0#fUNaCY;630Dv4RKm5)jdH zopVh%`Me*@mMQ7!?R3e>=THIA*Yo3gnLOLNERYS;N<@ysUVmD|Go5L9As22tCqJF% z_l2Cj16k+K56^M~ASTVPO9Ka6%Np+II)*JFIlSisIN{b|fVWML-hhFOR%~lgq8E|z z*~a+aMiZvS*uAL!OE1jva}j!BWb%@?Cd{D}xn7u)D%A^PuBy}^Oj4z6CrnYwcESLu pQiCv(2uESmbsQOmk@(xfd;_Nnx!I3|YNh}H002ovPDHLkV1lvwh2#JL delta 331 zcmV-R0kr=40-*ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%lnbqi>7 z00035NklRAVmtMN;QMo9*4(f zfeS>6LV@I8zzpV7>TeGTd4f9E638kDj7O`1I0t-qJRr2-0e_u%L^RyiTqA0ij*^+W zBtE^JE-AX?TLAR+{J34TW7CcWGG1>)WZ55ei#Vn;tuJK#?aR^W^YXruHTOWa<@3X_ z+yW34m)EriCEMy5_UAf^4Ix>)*CnvReTM?x_x$TUP>|4w2}6@0Uqt4%iTcl@gK1?L zI-1{Q1XErvz(fc}w3D=VFohJ^5zHx*8o{V*CN+VHnUop8R8nRD1C&WkU?dXGV6t_Y d!ASURFyE&Nx!Fp)EZYD8002ovPDHLkV1oSajtc+) diff --git a/graphics/pokemon/kleavor/back.png b/graphics/pokemon/kleavor/back.png index 2d257c878ede5254ff95c73a6d3c4e9098a3fc83..4300b2afbc5e2b46fe85cb774f694c6b484397ef 100644 GIT binary patch delta 680 zcmV;Z0$2T^2Kxn&Uw;CINkll&H6bEp_iJgZ}sj|gKBj{#hI-q2T;kvh_ zj^wdaSjy@Q*SQNGTM(9R?#h~lW9Zt#hw3|Q;)6(Lta@Uwbw9uNfA(Qn|KTFdb09be z_+2&V4_}`HthxkNs4meTR`(#BvT6V=RvE$rdJX`q?9p>zSbquX$(a!Kug)1Doa#C2 zA_3}D0^z{v7q4HP0QVFmS0+ea0`aZ5sx|8~k%St+ao?f@ahe?=-h@coW{HkS3P2qV zve0VT$KX)Hd)LJfS^Ob50yw zr`bfO93wD_bn*Q@MiLX^CextLk3c=0iAO1A9v}xTduYVyrn7<6Yn}?d+8jY(oSR;n z=0J8+0q_dJkea|_2QcrZlsWbb0Bu<;mePQ+J_2q40)O@a%)1y+1KR|C3FN%b1BM}h zmuHtO3?P5t2yNgOv>dZWO|alRXiIwWscGz=03OKC@$|U>?wddYw#Ti+FyH6FrIgu22?oCIvD_;46zK#y11Tum16bghq3(@Zukzyq zwg)4NWDmt_kovKab-VlXs{lUek6n}?kp`Aa)FFCT0G~jhA2J5{r|U14WF7^1qA&3P O0000l&H6bEpF#m>X0RN3&62)fyr4k#I7eBIkpSMpdYEM;|u>)Zv8 zEeK0DcV*4OF?4O=L-ie)_yEZstDYD@_w#%IceXK%|8SYjDu3Wt0rpT12BVuQKp(0q z+*E+_9wsBS96*bfhH!yY0idNl`ZkP8K|QGmQU7XJ0B)DhS?385yA*I6&hL1=eFmJ1 zT}J9>#OPjWzP1+vg+S*PGw!hPGr5Lx`* zx6WoemWbx~U4O*W)1a7aU!oC);RlXA&VlNIgET(HaXgu+5b^lp{1V)sP!x!7Mb_6} zFxuY7jN%EWdyqup1auRMC2q5L(nX=hST20qsOcGLmq*$DYC2IV#|X3{Jv`s1NMJ(T zqzVk!38<$t{v?Dr1UP_}HPT}A(%Dd`HBY%(9frWyo`0KunjV1Yr5xZDf)UYyOOIgQ zO9{2D3jiIFFPajc(g6Zy>u;oW1oIvSRKU`KR{${|FrQ)wV8yd*E;Jy1;0PUHSELxT zMs%=X%F4+A^53Y@m0OpV`h*R2y({LnSet z-MgBF&@4tO0vdxm;66gxp~UJkbz*@_N@I}|8xh?5U>k5Vk#k&p~UIS7>AkMIAZ z2&oq%k1WUgQNSHOEVp>{unLQdpA8U4^rnPiHtbfA5i3+F1Ah$VT`S;p-kc}~5EJ`j zJJ8D{i-3E?KJSoD3lOTg03M=+^MN&J3*z-W0@0n#{yqoR4mcoKtW@s609xE|2Eac~ zLZy@gA@`ev1^myyCgQ15E(gbL0(NvVE428fU?8G4Kwc`9U5M}>;GFfEX}4sd)Excn zzYx$@ZySJvK!550!0^mveU)|_8lI^%xd0K5=MjdI#tk2sO!D8|;mZPp2(zXJLQiG@ z{MRqa;i6yU%_w{qL+H!Z z)zo~mGi+cHRjp@*LWHt(>GW#7`mZ{Kg>y}llXB<~n3m@@tE-|^5tzyXI&Wd65$I#` z?P;Qxw|`i5GDD&SaE`2w1wx3YXdy`xiHS&anxT>>TVP-mgczEg6-kbXN|qy)nkqVrjzH`faNr~zRX0#vD+&)TfjSDB?1z+=1>wt&p;fSa|}Y2_t`Sp#Ez zy8fD&V*IwwjSZ(VQ3DgbTwhNRSkPO&2ORH!Qzp9dqA$WhcfM%ZBhYz z55U6pectt9x?xJSysOrs{RZ59Jnwpo1F7 zcm{`e5FI*vcd=2;b#(8S;2ryWZzBl1_kYCn;N|!gdH5$uw?X_5snQEn=PP-A00000 LNkvXXu0mjf>Q$vm delta 925 zcmV;O17iHg2kr-uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%osSxf(^ z0009~NklF4+HNpq*+AOK&rD|N6dQ2RA(VKToi%jI z{Jz}cq4x+N|8IaevNt6RqhYs#j95aY4A7O|S^=l?`a&^)h}iGifnFA~5V%L|>kjF( z07A_raDg{m53E6(6R+kW$nI?R*EO(qzyZl3rE&)b&|-!&0RCK>S{*>_&}y=edr0;vN4 z!z-8dRoZQ6c&gIm24pmzhv-TgHM12b`7iG9MS)I;tf_&}ix~j_>5Fo>>=${{3*SXK zOo};3Q55glX}&1yau_&cbrtx%B+i`yJ1!ibb%)MyK7Yng--u|04!Q9W5cq5~AELO7 z)ROVBiFusZUDa6Nk@e74vGD4Z>F`*11q8;Mw8tRshl0Z;nDyB^McXa zPlS5J8{YtWV^!TaNnI)IEFf3}^!`(I=rzDVKC~;<2Drivp)XeJX_@>C3s{C#=~+Tb z5tk-iu75YHf2u>6IM)<;)pQ6<%X8b+x+qlyCbNLXTbOAC`WSqBnyBSHW}VDT{tbYA zWOXc%Qa-^Ok~E1i5NS>`RPw_P7#IZtU9+fQJ`^qNAR9F3b%) zG{)CnjDGcusU~TYyi~v={6c*L;N&59rV?mbi1h6@8u$;nq}&kL1!o`2ES43p{bsh+ zzJCHx#o20K#U-#?Xl7KZ*zSR|^RQF+?X)@OY_$hs z)dIvSdknbRE5pKU-tY*}|NRJ1FHc9*v#_Y!nW|SAKOMvZbWj5s&)|3l(V@flgNOsnQEn{3lDb00000NkvXXu0mjf(fzR) diff --git a/graphics/pokemon/kleavor/icon.png b/graphics/pokemon/kleavor/icon.png index b617fda00e1605c7e0ddb9e8f46b149ad0d849a2..4443cc1433f26af5b18dbe01e2496224c77ad72f 100644 GIT binary patch delta 457 zcmV;)0XF`=1hWK?bbkSQ0J>Lm)^Id?Z76EP?l#}n7uR1EwiN6=2k3@hHHYR$&3gg{}~^0K>1B;*x*BKaIfDs(nL||Ms zB^)9#hX{;Q?Gh5?`VknXDz}NJVMG-K7`Ce7)IFi|0z%B*XB;F6n+S~0ycA%Bv5W({ z$Oj7!X_2wj#K(i!>nxEEwyVAH!F=8N@A&uvSsp|qY-5I900000NkvXXu0mjfC4kg$ delta 468 zcmV;_0W1Eq1il22bbkN`bV*G`2j>O{1rGpJQIe+s00E&%L_t(I%dOI}Zo?oD08oEH zPk3lIBd2@)3H_EV=@zSt+3atnm747UM+)0r4~)~qQkSX>mhS||0k5il8Q?eZyh+UM zeFEA>5^ys?Ir*OXC(%T%VE0-=hRKxn2=dc` zzU-uA3VA!gfbN7TU2$+2+ z9Ha=F1SS+OD;P0WIG{^DSUBX1Os!@g4-)%ZA8fDj;)B`$(Z@Gg9z-K2$&O$E0000< KMNUMnLSTZ3=hM3Y diff --git a/graphics/pokemon/klefki/anim_front.png b/graphics/pokemon/klefki/anim_front.png index ff97a7cdc8a50e4e7ac02cc09d5d543a729e7886..ea34c16c36b94e0cfa15060840984bc785bfd233 100644 GIT binary patch delta 1081 zcmV-91jhTO37!d%bbkaCNkl1&v5Xbj|ZKNX5krYe8IbT#7koZv_sR`{P zr4wvHQW;Q3E%E?~;|B=hJiw(mHnI)EfSDqVx+7Atf(qb!m) zM?zf+4i=3XXhXcyTAR{B_+K44r}qyvkk z3qQN3PZb-tG!AA9KNSm4BRCFNjBgzr2=@plvvEMfKO@h4Td2EoH4#HIvCf%qDw&i# z5n3EbNnopvK!466lSs*til}UD=hdERpj-#>(43@90lX--4Qm0wz%YO<0vN!|*EsOx z$0R^gx$$3rQ!|>e3^3>CRjCnp@j?NqI55fk@h=G};Fzi)mord`r+_hvU_}Tt-w+WP z%hbB^*WQKSq#WSVj?OqR82WEa5*U3j^!+AWUihsl4S&2(nKz}4f$2BfH1N;+%tzzV z0Q`1~nrBYe+4sP?977u@54_*++8%FRkB9I*33SGx-QpgMVdc|D0;q*y*lpV$b1e3I zGJyH-S2)pM#2Y%W*b24L z-5yRN0DpsoB%A;TZQRA!njD;Y52FZ>At>XWb3ANK4}l>KT;cei2rwrB=;Mid=OF+z zQ0vLusve!-Es!*+LWIe4k-?JrFLqyB&{&me(PPCDYrlRp0amD^FM*Q@K;8`*A{#w% z|OLIhp7TYqVg661^nq{K)Ub0{(RcVq-9F*K29 z(5SYkI!cN0)uuRkz-;=ll`Vb!@VR)#Z1T004O`0{KQA7x+06z4NQt4j#|N$i5+nxO zIV}`Lp~3yPaX|IG()z)XC^ne=mX;U{${C?==Gp3NT4JzLHdBXmK3QUL(QqSOn;Jj3ThBe#1Ye6_FJ0k_W zB!Ms-mCRi^_T&d805oG7;Mi@TYpULT3rzKQ4z&?Btn)~eKYpozJBh);2}V5$M0xXx z2KgL;2cv#32*Mtu@{zodi>6ZeBkW%dA%6%0OUv(1PU_xe`7Q+>oWm=&8{ooyzo~}4 z9$Zg16^P1%KQ~Z{fWJ2ej4->EGSq)CddeYzs-+=;W|-pyfWOuaG=Q;10xkO$%YYPw zbla-7z1xq@HRYmur%X5n$hQ319OCYBZ|aM45eMw)+sLouF6Mxk3-D+1axUl6Tr$0R zH!~93$ErUE#EMz<*u4O$w`Og=t#kIp?q&Z0_MA{>TFBqT00000NkvXXu0mjfEJpll delta 1089 zcmV-H1it&838o2O{1rH!^KeBHC00aq1L_t(o!|j*9Z`(!`$B)G= z_E3lttTv>4P6W0R0IDwqRF#^Fnv$=xoNAU?O-3lJrsiA|3N;Ck<&S20p@5|%0a8R~ zOy{qHhsf4>rH|OjJwlm<2Czsb|C@XABw`mwhEHbmzZUXOVt5g-2;JP@XYL_i%q{{7 z|BO_7kgvJoX@6u7#o%?;ekf~c(GkibkQTsZjRQFgO(HF3%B;M(Wk&Ce1Em_U`^F?? z44?(J6@PCDKtR`lECUF@%%6+E<6mTe66Ho;{2r|+dJRXgI>?uFmLPY-RYgnt5of&bP(f#DZj-D|+*h2N~; zz~{7aQ(W&Gexrp0e}2}+`oli>ttNUdoQ|{Sfpa;67GM!*uh+3X+PoeO;3*2UN1@%M z9*kh+uQ38t!!Yc$Y>zk=c_jyU{<{|O|3>zxw!<)}@ccPI&JbXy9d_Hm0XiV)9yI6% z9V&ne9Dg8Aw`0);KcRh#tY9y?)8&gCfW9ONC*YGde~XbdX`J~8!x#`-;O%hEo2}t- zV1NTxeEtImh$8`dyyM<`8~_}sc13O#4^QwGkS#`Agb7MPfP5SO?N}nL@l_OGR`S}f z9ZrCiu>?4t0Iwu~l8vu8^k_tV!IA*iSegRYrGE%mIU7qXMrzv}EQZ2N0`*E0Bo^bl4R(Bw*!X2DBz^7R8T*OY=xr+mTge?gD;%Wk zM!kt!48=X#cLgA^7-ah-Utsw<_21zZgA~{H4_Tp3?02}uAW+hnx?z&lH@L+h#jI9? zjDIP&7?joB*w;!d2Hnug$C0O8GzjbBek9w>)iDnOU|j|0B1B0y5D!AT!N=Yxx`gON zux91E8id1=GmLQGvKT{O1OWG4N@PN5dz00000NkvXX Hu0mjfGZy@U diff --git a/graphics/pokemon/klefki/back.png b/graphics/pokemon/klefki/back.png index 5dc2ffbf2a76d9d7334060079b718f4f272aab96..0f869b9c47e96e3075e76c1374975fb6b32dbe4f 100644 GIT binary patch delta 449 zcmV;y0Y3hp1gZp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fR|IK~zY` z<&$4(gfI}s6UYJ9?&1LwFR+gIY)vS=MsdjrdW3~~?4A7A=$eNu^q~Wikoob=HQf2mjsdA}1pvC?5EucDYmDM$fLEsi0K;Dcj9*9rDBJ}TF9Sz|tS}IuX5C5C zN@HB0tIfI{IJM{c3fJC$ZoW>tc|8G`525U3VIDfA@V4QqltN6eCQ31{@Pxe!Fr!ow z`rBFnlxy?s?t)2JN>Dv@zLhuOT4XB;6tFlw+ZOE^78y1IXY1enTnylr051S0a0Xr? zPQ6Y7jtCN=Mh%TWvC%t;1klOtqz53cL8o>N^sYt%+$L0rKztj2AHhP)g|D%883E2c zkpa?=-vFE^AS8%%9$9MvBXSJzA|N8rdVq&D0B%r3iVO%QdJl}5f*FMM5FSFVfTmj8 zM0f|IPlPoNdw2#AW%G(W1&A_1wm=il*nCfW9^5a0&-rIaKtpzbc@Kyt*gVhQ$wHHv r*#N@^HNc&0h2wS{2`roY_d&=5{A7bN`lO|_00000NkvXXu0mjf-&no+ delta 440 zcmV;p0Z0C-1fK+uB#}W-e*gz`Nliru=LQD_5CooPSReoZ0fI?HK~zY`?UY|`gdh;c zA>jbp-RuFt3+Nc1sgkDG*l0LGkFZHOcKMH@D-YYGFP+3d;FoVch7p8*JL@bU(NvL(@@q~dLMcr^ld{cgwUAe+g_C*^a^=rU`i<_7?!O72zShj zy9+YGS^~?t_eXhSwJ*q8LJL?NU+fWme-C^oaIyZ~&qV;11b6{3p=%I+k(eO~I3h@d z95-nEijBcZBmmEDe>Qml@*H^Xw!q+WB*0BVh6u#o_y`s{%6yKk%Lq{Fi42&0`3*p6 z0>TEGoJZ1Gz=)g!vWbRM8#48Yw#SS$mAiNOP7reF$TJ%mQc6|||&9%6}a0pEcdN(hF$wNhz^D4=324v(ppJlOE`lhfzLJF|GqVHu4mH37 i?SutB}4N70000b>!3`KbZ-l3jb1JxG5=F+a2+_}f_nEUiN z9y@eMhHf%pCCC)9k|iaU+_6OnFZ%kXDE$X;-;!dD&s+#qA%H0z$_v7|BdEb3gMgSi zt}$8(nom{f1AoU3CrcNl8oG{xhA)~L zLb}Z`X?m;|f}q|Hd=pT!e7M2tg@7Bz@6?p7J5T`oUECi>O$<1llVDj4xvx*Zh#y4} zCr6x@;at8V?nb>!3;_89{-K^*1JxG5=F+a2+&RzinE&)S9y@eMhHf-rCCC&p zb|l4-ymV+0K?_d=MTrOS*ri#Fuabcx17PzEGXa$}!&9H2oqvMbGDc{rHtL?lhsVuO z?G3+he?31m&0F!k>T0e%aPQ4}ZNE&xdkGbej?TtZbZZ5zoS7;@ntK?Sp36I+$h%Hv zfGqksHdfvNTnYZfqTv2H6IXUw;DRNklj9G-M z7!_`ci*Qwd3^8^&>VU;5@=t0Gc!2r@V5)97K-FGr>kItg9)AE(OTjGK092qnBFYZ+ z5EIZAO9_b}12~Rp0fDp=pcfcK6fI zX8CdhYIozP+J6mg1PYKC>v2QtCFMFlyuP{ObLA=3RbFl9ZMTlE2{o-4?g3NfbVnWU zkOJyBo*!B=GP!0kHrW=jrhC4y4*! zv5E!haC~xr((NJqf$DU1s{#ua0{X4?6`(wc=y5B`6n}P@+TG5&`8x-yFQ&_l4m3fJ z&w37=Ug*6NAv>!UagKAG!qUADI?x8|RP?)M=_5(R7wlI?6izcZDmfA@`@PfhY zA@!@}w!fI}zFYI%4c$(|qRHQ^Uz`hjWfEFRu&j6_5tYoJP>uJOBUy delta 791 zcmV+y1L*wO2I&TnUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%xa9&|X{ z0008aNklZZfv_KkA2RQj5Uj(+oshRdqqlZ=XP_z2&P;I)9v>HDD&Se{rOJ>betwl@$Vp zt#k@do>(EcL2+{-}Y^!Oy_5dN;cblN#AydL}4xW=DFpv^K+$ll;@ z0SS^#@qvf@be~)I5EX*MD4NLm2Rn>H!GGBEufheu9)ETiu@)nsX-LauK1d#AgPnq? z%>@TK!(QoYC4c$(|qRHQEUi3wfc`>cT zSXOo<5fvLI(T*IM8*22lEeABk+!i(&26%_fJ%6=@p8H~VS$1EiUNYM$7(NS<`_?~1 zW*l~*4BR}g^%u$fT40)90iLF493+4|U+MgVGSd4A>oa*6Z1`7@igq9uWrb3=!f5Zw zMFC1LP-5#nSDgoZyxrkkcExTZ*jq=4_o27hd-BIjbGLlhy$)<&`=H9NGvlAcPu4fd VKoA~GpauW{002ovPDHLkV1nVHa7q9G diff --git a/graphics/pokemon/klink/back.png b/graphics/pokemon/klink/back.png index c0d2d6f9f40d4b465492951eb3aee1f46d015680..58cadab62b1a29e773a495ea003f9fc3bdc68528 100644 GIT binary patch delta 445 zcmV;u0Yd(W1f~R#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e?wEK~zY` z?UK84!Y~j;jlUpk!wlm}m{jhJl7iBXs#Fk?CV!KTJ`FBSaI;^Tm9Q-dR+&kv6x>F| z9$!6tqTdJ7L@)U=;pY=oNii-=rb>OS%#yD70;Qg%&`b5m0r81OEl`1~XY3aDYRG~I z3K~iIpn(kw#CooYdL{yYz>@}~ssry3n*yq+(>oS;rGj-MWr@2oVK#v&0ZsE+0&bah+>z${56BRYAg)emfW!W0faXDf{)8;&1b_jYrx-LjsR}?B z0OCu&aZcB3ax7YaITZjN-EON%i(rzWxVT=gNsX-muuCouH)w)?crNI`{oPiR0yRNb zz^yBc)kFj5_?)p%Wf3XhIXZU#tQDjeAWh`c{8gpm$A2lXofVlIM4}GWxs-nOXa_a!az33#@%HnwRQH0^%c$I-mkur{We5fA%*E87OFE%p(IE z5r}!tM4jpY@XUa*b>JOhS3nhYaxVgVDpngL70?9nR4~9s)TBTr=nA+^MNJquWxU5(6COd%4TBanp$XkD zWMGVj67y5hy@08DrEe@3800000 LNkvXXu0mjfaC@_j diff --git a/graphics/pokemon/klink/icon.png b/graphics/pokemon/klink/icon.png index 46643f2fdf853903a0043ae13161260d745724e1..8f5deee302de7c6ef207d152291e52f2c7803c5e 100644 GIT binary patch delta 34 ocmcb@w1#Oy0{eDP7sn8b-iiHN1#EX$^e_N{r>mdKI;Vst0NQN}?EnA( delta 74 zcmZ3(bcJa`f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?C6ld$p&D4JfqT)5S5w a;`GGytpX>S5>Eg{7(8A5T-G@yGywqK8x;Zo diff --git a/graphics/pokemon/klinklang/anim_front.png b/graphics/pokemon/klinklang/anim_front.png index ccf32358968182d67b7b324c88f4b7e47ce78e12..1f0a60ec3aa4d73ac4bea634c75295e84af5970e 100644 GIT binary patch delta 1568 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 Cb_kUK diff --git a/graphics/pokemon/klinklang/back.png b/graphics/pokemon/klinklang/back.png index f56d6f8f62012e9b31fc00f7d8d3c8c3faec0a9e..4e056a68a53f7295725981ed76a39d87d81465b8 100644 GIT binary patch delta 772 zcmV+f1N;2m2I~fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>nu~K~zY` z-IcM9+CUJ74ZOgu4HQV0&IVGX^0Ft2lPCzANGVUbEw2EiEl?f=ozkVUL<2}s(XSTyR~LM|1&!~Uc7%{EjCYJ=?GdHtf#t*a%m7y>PaTJJjl8P z6N2}YdRc&gQr+9y+Y)SlK2}eRL0s_~&_%!>D{G%v4G{5Aa6VR#QX=5jN|FY_H*c!FwzD%e3PBIh6GH}JMQNjW75FB!DjNw5pph+Ts2Uv^`cQSN<-5vDk z0|5&mXg4Tf0Tj?$jBLCxl%Q6SK!bsVm=x`40$7yy?^`p#i^IHkuB8Cug@EtQ!bt?e zT0a+visQa_@qW3in13m9ki^o7+lLjKnW)HtoeOwbN*{sH46Bp0%v0-}g%swt3X}pC z&LaO>&I`O;5deCBngNhhM{OzoY9a@K#Rbzr7e!8|A2tU7_>tIg@FM_d7EWop17edQ zfTN51Xh+l@1U{!=JBVjukR2d{j|y){n`-=pK>9n&vfw^L;}t+VVD}7>V`t!(5U&BF3V`t%&@KUrR{=Wj0@!3<2&n9W&N~PC(4G>1uzlFmQMBV2nna%OE(3OQ z57X&R6E?D@SGEv;CIGVJK?Z-3-W)k4-EJwq2Oz;q8GMc{K~zY`<(0jT+CUJ; z`FMd_8(bh+IvYrl%FCW8PNE=eBBea#w!8w6wm^9hbV`@X5)B|lksl;VA{yY@eV5G4 zdTmFxu1l4XV6B;-|1&!~EUnf*ur`|~uyh424c1q^MY%KxDD@;0e_S49U4jY0`%1km zKtQS9ZS8FdHXo}e#vrbE4d@}@jg_@etOkg9C^#RhM=25TY9&my)@wF?L?Os9td*cG zfN}X=@!BT378qfrOe#JvL!DvbfE9yMQzm=iMKa;E{TTE05YUk)KYkT*9$tXVvjln) zC$>hdxhK=9zLU(vf3fskach)tKs*G8oEu}fp9^S`$N?7P!<`HrV0Q;S`ar-!2y&o= z1p@Mmk&PFI64Z*eZZ?n*lcGIM0E_beeQO4IahUhcwG?2y5b)etI0;`^3vz*|IPQBF z56Wf5yi1XTB$iIxKCIZxL`4qloX^Wr0t7-ctWMH0Ppxwne^Qv+Do_eoIE%b%IWO>X zMF8k&20&6BwWav0i5vhH7fcsj6gi!K*c<@hkHn6H7Xd)Ca7xo15St7E99`T;C!+Qs z@HqwBK|B+K>;M@&RCr^j0jXaIq`$K)^Y1e>UIDZNcFzzwHUc)o>F2A!?({kU@ft9y z02r?Uof4pUe-)tfE`Uw;g@DQ~=)7|vfcBJt?Zcjqq7%o^B=UTB8L*Rkm`-<^u#q*r zvW56F0g%PrjPQx{=Ey1Oc1!U+00~~o5S+nRXG5;i5Qob)#F?5I)|m__YiUr?QHanW zz|47K-hz*p@jcMTk@RN>bk8$`z`i1ZFkD3N>qY?XZ;^}hmI5%6a2w)3M%$18y19$v z!-0W>ToCXs7Z#KyU#x_@Y4t-h$qItZ7IR=Y*8+fRcTgn9`@xkGCGFng+Uh@?TRdyB r1GEY@+E?tRJ7@ynFu1w4{tx>DhvF>Iy(H=F00000NkvXXu0mjfr>j@& diff --git a/graphics/pokemon/klinklang/icon.png b/graphics/pokemon/klinklang/icon.png index bdf8de08a04ca00967cd09172ecaf0641026be0f..56d83195b281ecaf8364c477922650af58f98534 100644 GIT binary patch delta 430 zcmV;f0a5;_1cL;SUw;9PNkllB_3~|VQgpf*b)ih!jb>{p3LKmQvbI&$p&?=M?j|_ksjL_kVK#{>Jd^C zZnfvAwYJne=d6vN#-iD3$@lMvFl9f*CIEgv-u1zFvMns2jen*`L`QL~SJ)GFczQw? z=Pze(y5q+Qon3^XKYo3B;#q(}=i~Ef5r7;+Ut_oulqY$RMU75#c^_j^Fb(Kf%Bzkb zXY_+4s>c!o`b7Bpg3+>_OtIw9-#olY=1F3=V!A;b9n00OI#?nMy#pp+^I*kNnjHzz zEN#u!NVz$Jgi!wd|yVK+WHX6hObIhdIb$Hf9cyeC+ylde`$Q|Th-a76?JbtN>z Y4?0sFL?^<{9 delta 467 zcmV;^0WAK51gHd%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%%|4fd|= z0004tNklfkq{%&!W4cgw0fKEXsJ@qpnNr0xPCx6I2aHl;-t+l1DITdaE zJk^+OlJf9z6XxRQ*aLt+PxoUmo@`GGXrmbs(NUb*750P!9-q<0<;%sJ;qZAxXV*X) z58q#&cnLt#pY&l#_%CkJkqDH5=zK=00m=ijd_L?Hd8GVvM^;C1fmsge@L+keM*sXR;W-pr6hF|b@6nt~-m8XYkCRtGDV*6c)xW*uv>M%v{$oaYXO zS*8xWI#KeKHK6|O+JNcD4H(s0+5uCY%diKAjpsRSz*MBr?SZ)wr1rq5lOS~gOcA8) z4w#0N-2nqANL>KK1}}jj7DpCfSc+ybIiGgS7wv002ov JPDHLkV1l4;#ZmwO diff --git a/graphics/pokemon/koffing/back.png b/graphics/pokemon/koffing/back.png index eb9e49d22aec2b14b9d3a98a57516d9ad3a207ea..53938fdeb289953afef869e204da4be03ad3f59e 100644 GIT binary patch delta 661 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 B-z)$C delta 505 zcmV?4+2X-e04QL{ z?Xtja_;;2Bn8KnAO2_{sADBc5{; zEyEBk?0g_tZKAI*B)|)r*hJCxG5jdHe)AxTyr}CmivT@9opz_wRzV4kZX>GcZJ1iU vg6o~Exa~sEF8dF)-Ev*iseSmH|JnEk#~G{CQqzxz00000NkvXXu0mjf^VsWB diff --git a/graphics/pokemon/komala/icon.png b/graphics/pokemon/komala/icon.png index e2bf43c126a7f9a99c800aeaff1c2b20bf090818..6935e996ce6d3775dc4fc9c2db8b8e10f4a825db 100644 GIT binary patch delta 254 zcmV#2;PaQ>+5i9m07*qoM6N<$ Ef`CGE0RR91 delta 295 zcmV+?0oeZ50{#M!V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1s4ZME}vZh z007}hL_t(I%jJ?W4#F@DMRS9Q3vda>4xGYWIxyAUGBz8RLY*Sf)1*r!(}iR}!W4-X zCvyiRtSou@ioT<#)Nc=GckQPPz$pdy`o@YyDx9HWnTj4@K7VV3p9KJv^%7w_cHp|E z{QzyPC%6=iofd$!^OY;l3qUkGe}{gp8wRr<`^UFN7)By@J${QLIY)<^07xB>Y(5wg zJ>OvNT^+^tHUobv5002ovPDHLkV1o8@c1i#M diff --git a/graphics/pokemon/kommo_o/back.png b/graphics/pokemon/kommo_o/back.png index 187ba5c73bea0e4085b57b20f80b6046e7dba723..2da65a2969001783ecbaf1ae7991647e7b2a8322 100644 GIT binary patch delta 903 zcmV;219<%12ki%tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um14cbNtc?GCH3-=bSUlWHm_D(#5+)%)Sla<& zc{?w~8-#Q26Mp!qK2Ab^&(lQc*TyXmFCbnh($I0Q&$&&)!y2Gf0Y1Y%?=}Iaj8hvr zCE;+h0=3F87;#*X!A1%Tx+jb{+_$`8QS7d#XlRKxg{KC74eMIu_B$wJd4r<(xqDXw z_y~BucQh>S-`~|}2nYf}*dGk|8erNXCLqWKP6&3{D}ZTnLO>#agAM~XwKxyPZFt{Y z05(j32ZZ9JT=j!8Mnn(ZkG?ESz!?O#gOhNT!;8Y-|9xdNMFp54Y78ifx+80Ib{&OFGX1id$3x z)BXSegBdG;cA*5Wy`ur|tZW<{nR01~mKnkkSplF+vjmu`ybg@@%fXY$s0PS-0$m37 z*(RkwoU)p4j0tAw7SweJl8qXIlp@p=ze78iRep(Ml=xJ# zr=G8Lb0ow_PQJmrTPYz|F6AYx^is$}JZ29V9wjrna;#DjyQ&*QRJz@GoB~@n d(SN-R<1gyZ&ag~|9TETl002ovPDHLkV1lLMi@5** delta 889 zcmV-<1BU$V2i*sdB#}W-e*gz`Nliru=LQD_7b%qZl9B)b13*bcK~zY`t(7rr+dve@ z6;Fmznma3#DOgvR5E~Ivse2_|)@)w=H3SWTj&VLgPu(=d7Ya!*7-IAxs>Opia7(&s zPrCHIlWfPf>?r~nbMNPO@Be@A&W7>I&mJMW0h0$iiJC{uokWcge;~}=05P5Y?Im)~ zJ;G1ERL4o+IGPB&Y6T8HKy2A$PsbgXbBhEg6+oi|Jcf17Hi32#rxsL7g8t?X)GWea z#92;yvrUsdLKtat&vg2Eez2ZmPfN5Yd}`oNzp6xTeSmFDrA#=ec+E_tvP35~u~J(WfYq+gal*&mWujlgU7QF9F>J zrZsp;7JyN?7lz?*6(}{RbOD54OTf_b35AjJYyiN?+@GEUe=*O%AY#!rXtkBf0&p_- z)i?>m>(WL}C^izLDgYYb7lAuB&zpL$*1~D%G$Re? z6UtPh&oEI)f41h$WXvi$X=$L10Bn{n#sOx%aDkKnjNCp;S}y^LQ&a*Yw+Dd1j1@q; zPylz%X^*$o?hRH9EzvRqI3gUar8n*&84Cg?r5*TY>e}ofN0T|XK3@>z%F0Z^PF+K$( zHQ|_TMBh#z9%k?+Q>$W!$uyio0))<|A!F-tI3swFRDwVfUSzkc@i*|}LwGYAPb5%k zjTl2|hq!FxKDMs(W&9FakWRsZ&QApxQ}}&ZX8ls!sO$#YDDhLtu6jAr^??urIs5@@ z4^l#|Z%oP?80m$OrzmDmLJSl2Ag%<20F!bkWNR@89r+}p>qv^|SU^n3Dd(%wGrlV> P00000NkvXXu0mjfjv0?D diff --git a/graphics/pokemon/kommo_o/icon.png b/graphics/pokemon/kommo_o/icon.png index b9354b7e602f4bc61973b0213e584dcb8d4c9c64..3acaf5329242dc3ec68827a874ec667bf32e0663 100644 GIT binary patch delta 345 zcmV-f0jB=x1Hl83UkCwANklQIn3;WR)Y9ZrK9E&>Y%(0mU4xJJUXt-@25Y!KDlr9ZS)VaZvN$Q)MrybS zEEtl;46~?EJ;0x1rX6Z}JhDK&6X0PBpG@YLI>DJ)(RksVjob7TcA4{0rGsnK-C_=ObzvLz_`jhfLaG7aH@e~ zvI~G7%;4#P#(2?BzfzHkqiu63(cOdyb(0pVUFQq4C37S~3_UdGNoidLA^E+i6RJJ5 z!zjNR^3765hM-+ae4%H1V0#Q|V;dn5Vfe%X!P`lJt0XB2_;G+5d{H;Ir|%)-n2i8l l5ny+^fw6qxs(+#&_yqxOW@ej5M`-{6002ovPDHLkV1o3s*Z%+j delta 486 zcmVm#hNGwUNjl^7Dcuc}B-A&s|Bd`#@-Mp^1Xo@4 zw^*^XA4PHD7qj$!AhI;&BOi~1xU(N=TKV_UPN2WVX6ZuQK6<_&e;=UBU`XS)QxfZa z=$_30h;V=~BEM9s1IijAVJo5px?L)JL4prR0+dse8f6f`T_BW{G5lzVRYC0hH(N@G zl4R&r2pwP>Su21jihV#SZh`J-1jzFN166wfGd0x10plw30BRkSz^Mj`$u0nTFoUND z8Us?2n*;|?^Z-21e-T(z1jrHaTBFYe0y)i4!WdXLcoGX-vwUtEYf1py>W$t>$g#D| zG^e1zVfd&?tMyJjCkO~``ocY6y4I~)F@ZpC286TW&HH%)gULp>E841r7ySe!eCj=v zJ+RlB{9FjyqnIkIZ?x7QeZushcbzZHmdud|G4#-!C#7{2T!iHJqE4vx&<>;gYRETB z9T|dl@r9o4f$cGSYKMS$Ju2FCJ% ctNx9C0Re7iW;h@uC;$Ke07*qoM6N<$f^@0f5&!@I diff --git a/graphics/pokemon/kricketot/back.png b/graphics/pokemon/kricketot/back.png index cdae389e54e91252263266da5948d2dc6ba89e10..9de86e0c9b578231917001802878e36b0fb1512b 100644 GIT binary patch delta 471 zcmV;|0Vw{q1i%E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hvieK~zY` z?bN+$!!QsBa2NalIU{ISi#~`Hl*DvO!F0&%c*s^LG;|JF*|T&kq#pE?)rWe6P`?vtq;nVZjyq0r$*H_&v<}bMb*|AJjI}IZvfRda}n$z z+o=e(-sEbsg$3Wjtd|HU_S*yq_l7{&Kt03Y3ciRD{T_oa2;#$koPhxk0N%_T4DDeI zOpAUNbQ)a8U^U8UfYdFTI0OP62D=Dsq;7#iM4(E+iX+hBUETs&H04p6GiHD^Alici zdN;f_-%I?)KS_3`-Y)Y3g1rHuE!VxyI107JU#YD2eHmg6WXi(U7fBXy_cUvS;a7NImE&s~-zly2hbv>77jc`RGW& zNtXT3@8^y$hAUW10!GT=KB=ZeP6(kkNncbGU|AIvc;ILf004H4ePp$hk1XsY~E2>CmjjK`GUXmfMmv z=TSiZB9t2w!q5(~^+Ea3AsFO4H5$=AryIysG@?ntQw(}>1E{{8t6&$|PE~01NvX$V1KqrL_t(IjpdS|4#OZ6Mfn4QohbjY59%k(&Nef(L*bujzo~Wx z$dax_^zJzx*qLQRki3(_3%R*Uee=<1K<83C?*)FyNkN@sI2c zNB~aAJgCYfh1*mC9S>8drjo5^cGORtzb}k$3IlLqstC9+O+WBKKi;hPqlouQnbiOQ N002ovPDHLkV1lObVxj;5 delta 249 zcmVO{1sn)FWm^XT z006W}L_t(I%jJ?G4g(<&MY#dNRxJ1Ef%XWswWMZkQTP$dnby_-X|ml#>@SW1Thp{7 zNO<{7$j=kvn@6GpX^3q=sRF>k63f9-ND+t9?9riZS~!qHP;!AU-d|U}I~H*3n7yr$ z?dd_ZPZgBwnYIe#1j;i5V!dR7sXJsC0mB061Zy2QFt}&W{*j#m`KBTDpr(@)ZgT@< zJXGvz)P2!W{KWjdFs>5@D8e)q6k$3)@PQw1toWmdS$N|R00000NkvXXu0mjfd_8Cx diff --git a/graphics/pokemon/kricketune/back.png b/graphics/pokemon/kricketune/back.png index fa2a83f4faac65b3b1652f5b792340c6824691ee..79729f83bb5250836b6e6715f50e968b8584e4f5 100644 GIT binary patch delta 669 zcmV;O0%HC81%(EXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$xc(K~zY` zwUoh*n=lZDZOQaZF#7q#PfdFbZo>LrB0;=a-KvbZz zoHi11x0(!!MweEp#61sx+~(I-TPRuX3os9G)MdIOa3oz}#WiY7cLZ9t06CUhfr7mY zNZ&jQ2#V?rkoootR9$O2@M#Tj z-+V4TfX8(iyqt=h7Njdc`um>+uxeK>WfNK;6F*{LvJe1c9s|>V3k!fQ0^|lTT~y~} z;a)}AH(?pGg*$*c2Ifb;G>UE`1ZE3?i980DN516vdU^m@iIN0vzqQ(WWUPNB7xX0i zw+QfCPG6-l8r6rc5$3i9vX2wsq~3-#kN}+eJ77lD&6$PUBo(9tNDm0}O;uy`2|rs-$6wSpg*-(U}DX zWg}-D0+KwEz*rkvQJ`ixD94&^=)?1hX^WBc^07xbad;xyNZP)^2 zA_km=hT~kuty%TS161xE2#ZKccM)!i^?ShoT#WqzD+|x`JP#w{00000NkvXXu0mjf D3+)^6 delta 661 zcmV;G0&4w*2Koh%B#}W-e*gz`Nliru=LQD_9WRG;-z@+D0$oW&K~zY`wUp0}n=lZ@ zZOQaZF#7=U(tBY{&rn;a$7pGyURNU4K0u$KYNb4O$A2I;knN?lq6jfRee=yQ9zy=@ zp@+W!g>b|ne-LLvR5som9}uh%q9a7P|GlGy4KWZx?#4@uiyVRGe|Z;RjgUo&4;wN*@0Sceg;za7Fe4I83;QFaoh)dYYxx|0EtQ~pzs0|+>tq3yDWV3RRBJ%0qUDixd-65 zE`!#g$Z$ly0=WPFf3pBI{mLcpVhd>EM+yWB5ipf05GE`FbOP`VV02PvuyC)U9=f=U z*}@$Fl>+mSFO9;l5d(a=1&fI?1(qRSa(q2K0IWof0=M5vZaoq*yrK&n$>A*l{3FF% zX^aB-L3hmDwm|VQ08Z*{TmzX9r{NBmN$NQ>a}QY~as;>sf0+3un<=@%PtY6(^9ljD zPEtH40B=WeHWQZVUiVrGF(o5WX8@m70GO&|x`-&WWP~%|Pv%4`QOPgKBH}n85PHzbp5bsJ*~O@fF(am_^ktZ00I$@EU{GPDSFEHXnOOlfzQT7F7^RJzRSa8+%KwLytyAR>E*suru-}4763(xeH$K1vM3jhEBNkvXXu0mjfBF`Vl diff --git a/graphics/pokemon/kricketune/icon.png b/graphics/pokemon/kricketune/icon.png index d875d454bd06f27008ed1a50078e01763c2881d6..f49964f02e59991b01707e3abee19fbc5df8364a 100644 GIT binary patch delta 255 zcmV&uI+G9}gNB%1 zGH?(}7pP4O1v19k`0yo>#0%k_M~5230qj6GAjN^T@Bk%Sg4lt^Al)OvQY;|6gHBW| zxLvUa4j?E|UVr|(gWTxWJgBM72C%(R?_Y6tjV^V5#K}$A6L>#s(ydh##igd?K#=bo zCn_7j^&>ubpO;rqC%*up++%Z~e-^~%mIxJI#BbH+0DK*e)p^fJgwa75lvl#YD2xum zU=#-Vl`w$^VJx!>qcVUfM?dr+%&#A9@M95QTif_wkslxn)y6c`M?wGq002ovPDHLk FV1j+fa((~+ delta 295 zcmV+?0oeZ60{#M!V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1s*geJVgQk z007}hL_t(I%hi%GZo@DPMRkJ@tsUgsW$YRtx9Q43I+IYKgNB%1GH?(p2Z&7*1u`bp z#)mITBwh%wJnCu?2e1Ks04WBng#{>iB!~@Y4AMO!EM)|QcYn}{$_Q>(MuP(gN|e`^ zA9s)&eK!kgYV!ctdeooKIGc|yb-u>QOxP3OYSQhiD2j7U$$%i2949Ipz}H8-@;)!G zpiXuHLb=CgKtC14W|jyQUc_#7%mEx1AO6RA6JgW|gYrxm@xrJR23{ECXTk(_!i>x+ tjEVzMj(+Gtm>|0!&H1s2^8U<82IxTxVw&&u#dZ|rvPO<@H?N4 zgEPApBF7Q|vfBi&@^icL&TTt9L))*{cxk2eKFE5Ida0}rpzpH}vcdJ&V1*HX$B#}W-e*gz`Nliru=LQD_A3E5dSwsK;0tiV&K~zY`&DF6^<3JDq z&_IJr#wJpvYaEAycD<3VxNA`M2Z(ND7xxo@tVuyZPO>uMQ}~9fsIQ?rU46w>e8bJ! zjqNLd8+4aoW8I3+xC^#Hk-Vjg85=L zH%9B!4-&0&Z5BERW?GApP`P(~UvERLUIPDK0uR@LBW&a0;x!=B4)~j;!{Ep)g-BZh zKz1ABMRsf!PT$u3Jv8`LYU22c_J5N9^P zg4_X-WJnTOhso`If1{=%G6%>Wpc?RJYJVV;AGaxM*v3r@AO>~;_aJ6wd->${_oG_( zDNgKl8T0kc{K# zJB{qS%@#B%6tZs*ESV}|c|^vD&tCx>w1rYcS1cua4x+jN5?@mp9`+S_2YjtYq6*QL z;mcj1&~io|2J%HA5Vb%)iB?PBA?msVHoT{lrE&{0|84BR(t8MMdJzP2X+bL<+x73i zQtuIDs7d;WHTcN`sLfrp)9~}oGYdV)?Yr>l`licprn|qL^gaKt{{wBp)YSNg_geq} N002ovPDHLkV1jLM48i~a diff --git a/graphics/pokemon/krokorok/icon.png b/graphics/pokemon/krokorok/icon.png index fab4ebe33cf76492758dad721c6f419ffa4ebf3e..ba79a178b096101766d43e78ed283895587ab0dc 100644 GIT binary patch delta 260 zcmV+f0sH>_0^9MUP=W-{R=$!`_V3OKnWP%CK{06B^|=yfe`vvb>-i_!6p z6I*>Yx(%R1WXfO!uI5-(E_Q_+E6S^}2Ta8FR19Me+tJh+27P8wKpIDZYue#%WEutu zcCU5G!&}^mcBq;VfUGPwOtm2Zy&#Uq*}~(vuAHs+N?pYY0onfC0{sGzV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1t1^GMW;Ui z007`gL_t(I%iWSO3WG2dhP}ZfVbYNqP*YB1m%quT%mM5YX` zz||b9%B`u8V?}x8GhiWhq+;?JcAzC0CT37Tx>kW}+G#d24Ml>@wJv$Mi@VVYRTBmv zD~khDZ5V)25XbB0!M<)N`{>g;5rI69fVIhgu5TA6iG&FTEy8$%!W6xPq15y?G<#t> sBj3hAcA+y<4Iihy9}Pu*(5L)(0xVIt>R)K-g#Z8m07*qoM6N<$f;6pqr~m)} diff --git a/graphics/pokemon/krookodile/anim_front.png b/graphics/pokemon/krookodile/anim_front.png index f216ae9bb4b95732385e832b20856b8e5f2a09ce..530488b9b250777d61cfbde3b94bb92fc7826b94 100644 GIT binary patch delta 1520 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 b@IS1-rSv0%l)5S!00000NkvXXu0mjfjjSZx diff --git a/graphics/pokemon/krookodile/icon.png b/graphics/pokemon/krookodile/icon.png index cbb075268837ec7f929c902068299776ad800174..7e6cdc4d6d92c3e900effa66e0e1fdc3eebdedf0 100644 GIT binary patch delta 347 zcmV-h0i^!e1F-{;Uw;8SNkl&m;>L*Q^q-aKX74HR@H@-Cer*$oxqrUljeJ#Su3<@M5}eYw?*A@eUBta|4DG z<)svB%n;woDrr~HSC%@P&I<_W%zv1>5Fy8ej|5mFQrYkX ziiC|ln!b>-8-XCsE2U7jX@$l=&0Zf$9b%J0JRNPV+W{!4o`Dc=$`PhgE_Z2NEl;=W za#?W%l^K101Yj*^*x7X^ETW;tkTAEs@8{~;_Q17$1OHDj^9GYf-E&{X-aal+6j3^3GwN5sAM!eCoZpDDEV!a%?H(KL1xM)u)B;^6AoQmz+Z toiJ#-YylB7XSHFyof|tpc60o>A76ON(|wZKCuRTu002ovPDHLkV1mRWqvHSo delta 386 zcmV-|0e$|l1K0zQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&Pvj@Q}fJmJ+zZL-b50kl_l>Gns&gE|C#< zaKKmDj^(&xm$usOLpn+SeNps>mPBGV;30f{t>Lp^mJML$`+o}<4qQ|U);2?Ysp_O% zL0_M8OsW6?x!&P=5A!+5^hIllu*aq|QKZ>cB3m0I4?`dS?>=jE}GVVWC#yanK# zg$smm{f@B#gP~FPc@jd=`*`ys$H80w zmv{vv_zD0^glWAAgaAX8FoCk(iOA#O1yFh>=lsAVWI^x&fLM4D7l7<=mJkPFjwBDD zuOUkXMKsz+zlK68O%LCH0SZupLNvs;0O~9+&jW!2vF<@ajzwa8MBz`7Q0rp!vG6K{ zdUPqRzfpnd0L&-ftH5+&DRI)O#7PTXEh3`oPHIm_bT|iyo_C|4swX{;1HfnC+t_XU zbP1;kW{9Wu3?T;KgY(!W+J4mMP=ofK+eRX7E3Ioa`AEmBoSGniyE#$zjUH~tkkcg5 zy;HOb`u0k;n0JwmO{&`XU);4t8M~__zY~jH^5rfGXcj&SXH|jrJ6r*B{;x*8A3$T| z@m~R&$R^<72hg!pW1G?AN&&?ZP->ncs&6`AG3Dw+Rn$SDTwr-7SzqhK^X#X~0M?n; zM67QZW`DD0+n;qy){Sx%?8+n*@t)7@q}d*j+8$vif@h`z!uE|CO1tewZr8ZvwgoOX mYtRi~*H9wtw)xh!g5VcrAh9xp(Vu$&0000aVV$Oc5VKetezP#EL8Cn3a~k8^)g(DOceTjCWE;VS?P z;m74B-~;qk{0Q=LCn62|8$j-uobw}-ka*q!05NkSE&$1~k`Q`+e~Kgrpr;{;1x3`_ zN4JJTDoq#P0Wwg6LNvs;0O~BwtDeA~Soa_y#Vi_pMBz>mQR`y#F>@;TdUPp`zfpnd z08A&}slaq$DRI)O#90e%Eh2*APHN64v^Wb0p7%k&MMrv^dVtTs&tNyr({XkC1386fO_GhuvX=1zr__G=XW*e+yELQ4gU+!L^1&n zH-L_%8ruvWR|?3MfKu}mL3z^wiz!zps-O-sWdqAI$+}V}T~_XvN1z>U6S4lnF!P($ z+y1OdH_FxiXKYBw!abjvNs~PwHa)^l1W(MX4clK-Uz%;#a=XSQH7#(tS%ba+W(_$) d^7(6fSAS(7u`)&M0e%1g002ovPDHLkV1nI#+m-+T diff --git a/graphics/pokemon/kubfu/front.png b/graphics/pokemon/kubfu/front.png index 67c2150761d2b1040dd0810fda1f1bd6b13bcf42..cdec6155404988f0e45e60c17ef7641d0ce47d24 100644 GIT binary patch delta 592 zcmV-W0K~zY` z?UJ!>(@+$Kuch2EQm)-9VqoxbBC#-BUs8ckC7@Q*F}1l!9Xe62yOY@6K_NT<5+3{l z2@~CtHz-R=)WHMq!m%^@IC%g#i--Tq|Nl4Vu>V7i*rQwS9>8{)=lz^XZ-e0M8g)+{5*;jmfT<5pzN3DqnXUsi zz*jZD{e%uKuB)EF&*AwhoBu=yTo*Nt56i`TQC85DZYdjfPbo9{y8x(c3k@CHB&-42}c!U93L~4KwgT7V+%AowGMir22 zS}(^z04}~Y>H_=O&>uDHAaw}P1YiMAGmb4906eMkd0``f=RT@Fsv#p%m13zT0F^R= zZ$I^E^L@a>ab=ExY?DC#XtM>5)g=jJMZN`IY;rO~XPK@mI^e}In%ExuWtKIss~oO( e?E7CG#{L4Zl#z7uWS30<0000^8fnLz!o?YVc0K^y;^F`E|L)!0dqVsVCagWW;qC!!S6Hn&17BKDe+z)+*Cw$&tThmJ zr|-75MKnS_L+7*~z6B{7y)h?S#_2HBeQ+DSBw_#u4)jQm0c0;3aVczgp~>Q%XC+C( zrRYOA(OQpAWRiq$7$ENGBF5Mb^?)JFvnk25VT=dlG+=k{YkdBsmd0no@sqO z9mXKrT2IOr=7(#of4_z&KnI=Zkt**>_k9?iU6JnLAyb0^F!kZtchV1)Py?n<@D1m8 zU&z6wag{Te=kRis&VP~vjf)G%hvj0v*p{H!S)&chU-yeDU6@Mx%ljV-lu9%i#9RyI zyk5-jB&|Z8m-pc!TMIK@t>}Nz%rgea|B#J?NGHfM7RcAafBJ|MY#I5(BU6KwKUl7w z4AHfpZvqCur@w7^boAK)8<5-C7=7>D^Zc$4UcmMt#()L}U4=nZ(W$5aG8I)`J%<3e zxUGI(s6HFIQMC?I^#P*F#{oPgOsb;l?gIqH1*-yR-J{}z6**!o6a%XOQi7uA$Tm_m z&3(Y*abZq?L2R->_GGgIj`5NO(mdM%uQnN*L#3%IYM_ndkD+$Uewn7XwGXO$KIY zg@qXQsuCW5z8!z-8S}$}tFWZga{`>Tl6`KQP75|hjH?nH_t9Z(0^tV>`YJGUPpuLL z=D<^J$srJvQ!_dWMW}w9@iPjd92Qu{7h=R}f%nrjomwQvI98QZ1A>*odUXPDB-HA- zMNmiCEfda0J8VIH4+AUEN!V&l<}P(#V8CC1**84_lQ%w4yaHz9!-`I~^FccQ|M~a= X9TtT-$q5Jt00000NkvXXu0mjfoOE5? delta 259 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 FV1nvJo?HL` diff --git a/graphics/pokemon/kyogre/icon.png b/graphics/pokemon/kyogre/icon.png index 0b6e9c46129ed6700d0b9939d047742a87d5bfb3..03beb854ef3e2320f4315387babc23807a6eb4c9 100644 GIT binary patch delta 324 zcmV-K0lWUb1DXSnUw;85NklOe0os~{EPu^LE$)nU?E8g_v8iCCM`ukcjc4JsLS=5Bxkf57X zsV|Rfo+et@h5`7qV-E4oX;VH6=}{Xh&Wd2)$`UYEcif$fJb%I{pAHg0eg%Ym2oG7d z?{SxYz=UTz;P!yRrVWiB5&%5z-!FU0w06J($f14_VlMyEI@c!^oHY}nHc6N@bd}CS zvb3yhWzVQOt$i8;D*S5`1I5|)j@$m<)Q`f%6@-Zm3c{=m8inE6phy@s7_6h=}r8HKTM$9XCULz3|E4Mg$kxH?MbeZD^0XTG@_4gEKw W=FH4+lga7;00000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&Y_!8K#- z0003YNklQIo?>gLM?=bzf5xCx? zv{|6>ArXN4-PzF3#`QJl3#!}$xM=FH4&yr`G}000015DNV#G~wGJ?sETxi%>~*HgKz@P`Vir3imhk z-sOHIO6}s9HykG4Pu_c8udA+ZTf?Hb4%UlBvAhcKy5OxQg33QW0#Hr-L?LCBFi!}m zCWVPt&r-_dMIBc31qo<>G2HCKt&~T~o#+cE#AZLHB+kel$C^8^ z(}EurI3W%76M?0jQ43kA&w+5F0p@|(oPb_qUY*pLnj8qq)zZ$WTU2y}CeBz;ZamN} zvPOf9O-0GS&OqcF#Fz@f$L%GcfN2m%8pQXlzX68SITU1 z>GB#JYG88Yxr(wnZ-Bv_y_)a02!(zLP55_+yWE#>5h|(93EXNalx{|Z!hMF`yIk&)NbTa7 zHyq~vzr6R%V9-}zH?47&T?gCMDqCL#cwO;U6G7!39|5Q)ZlaK~e~g$T1XPpE#G7X+ zW%QzsS_}mVXffU${JoSX%B>g*E5z2)|s@DO3rU90o*_?nLvMkT)j7<)B#b#a4s9KbC_$E%6SL__nEs{oqgv~|4 zzd9gr4MNO?;M4XJe^9_Q2m=km`_|t8Lu_*mP8QUCKWq*)x!6CLC8`EU@oDo494laQ zq^XLMDsO<%UHxg&Z$y#F2?&0qB_<9WLI(RG6)4^m80GdZ4S-89ad)hd&*|&ryanQ* z3!p$_LX3X^>w+A7(Oe<81X%pFf(9VaS6?@+Uy7}yy0rC74PXEO002ovPDHLkV1oVu Bw4ML} diff --git a/graphics/pokemon/kyogre/primal/front.png b/graphics/pokemon/kyogre/primal/front.png index f7b36a0438bc7051ab7631683165094fc40ded42..1cc3baf0028975ad85a888aaeaef45a33f82e66c 100644 GIT binary patch delta 1013 zcmVqA+eQ?}X^5K^QSBEHKYCiPAidxH-~Zm@9i?Gx6|_xZ zXvLCdlr!^NX5nTjXBIYp0HvGeXJ#q8PSLb6N?WB&z;=FcUHhv{K!5HWyYBJB8(Bd0 zMepqW`=e%*3Anx6?e@_wlrsVU_B;M$6Y!iJ@h4t)18^>c_j&{HLU6w8b)!tceZ`p5 z+z2$L3m{kn=mhLf6cC7C)&f3nFaiSME}hzGm#;X-ZRUl$+=@Ma+eu3Z@f(zVcWG3Y zhnH!IAaJAn>n<#Ssv|8sC4mw7E-V23nQPf{rHGCBZj1s8pnAvBU$TcZU~#4X#J{+|uqmJEY)&gA8e zwhi!mN57@jZ!PnGb(~ga!L!fLwA0J|&_!jMah)wu>w}90f)V>=eX({QX;8uO#50Ll$7DTC_i5$f3koN&+nG z3eC=+DIjK3)l6TFWERE|HJqmJhb`JejLqh#8}~7vOv1RV<+j!E2d6`44<*hy=FweW zCR1SF)7qSW8hE}LVjt&|h?xU^60`99?)Afx=N`0t5zc4H(Piv}qt%CH(Da&K;1NJo z5a40znC5xYyLZng32LBkVWe+@0p~ycbN6&UjSEZl(ps&NAMmCac(9DIq=Bp=NN{9O z{{l0KlvhF!Qce?GoDwh|k1;Q3?9mDl5YYsy21z1+1&-~{ej-jIZ6t*z@`({!(+mV=JgGppBJp5!W*{Fra!iSW+`A1Iu27z(Zhfv zasNhP9dPw#vg^I$kJ|0xnzsxcV%%r%?D13i)+`m)0#t^zpUS_?|9en1NQ6B;mY-W| zfQ7_RRnIwlTPhf9Oz8DRjYq|G7BqF6V0>ct&2<)35MdYvBNNbU`%6k18(+vKW(_Sn j4Ab2Fr$94kxu*RK5VCJBOKJ{e00000NkvXXu0mjfWk=nR delta 1006 zcmVqA+eQ?} zX^5K^QSBEXKLHa8nLM}!TL`G2DaXW!+#pDFu~NZXtinSU!2yE^*%ahLM@5FlK&B40 zP=efO2?6+`O+$fbC}I^bLfltq-<_mdLP@?wklye9?|<*{j#3mwf7vQ2d7&v~UD3?U z{FYI=t{03_4xnE*zB2UeI%UJg(6{tVz;=FiUHjWiKz-&Mx$e<}Ygs_`dH?kN`@>e0 z3Ap`RozCGdn3;fo>m7ZZ2RtK(^s(2=0nQlnUgZGK8Kt{kFUkbmmxMU2T%b8y0zq1% z1h6-iK)`-W1$^2he*y@YyK-u8x_n6~ZnMbT)mH5J&ZY!oe}L(`E2AnuxY(2k0yiqY z>cJAII^421Brqc1g(aXqbuF8(6|phji&0<+RBv1A3-UnOAbLUo2q6DRv}W|{jRm%49l)_5lwFIC(QcC#6jNi*UI!>!CEHp`zTCqI#?Sja)ctnQGo3|n5y3p@dcDhSYUc z^38PDdq*F3I^~qNj5x%&&;IG7C;Y9Umr?;yWQKH}@V|`zdyqAR2zhkGzqV30mZhz5lJogg=}C}%X{Y=M*g1y cMO!TY7Z9>D?ENo-rGeAV4pOL#4yM5(cyRi>yO>|y9Q8ql_s!kAOZYJM*NV&o zRQ4cK2Jfe75$MY~Q!R1*3taH+eCM@kM?vJ;yCt* zTn{|t1H{&Aeof$EEM7ktZwP4=8F*PP}{!`6*Mf+gMir zkHT)^u}Z->d45W(0VAJSz1I7GQ|ljQ!PEpGB8n$MdHBRhDVEHi~$4D#7{~N!~jQ)Ma_pw jlA!+6RzV#Q1J{28JfHonjVGA{00000NkvXXu0mjfvY)xo delta 424 zcmV;Z0ayOp1N{S#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&ez>Dkp2 z0004CNkluYU#FL$S=MP=vl6t3ogr z6QUdF1+;}UhY1C~DBjvp>>&(B^3Oq-EG%v<`l?_vWaV!XS?jeNI`*x&V!r<(iZ+ zmI;7DASQ?LzJFCXeoNGdhmZIU1n{LYkK+Wh`tT@Pw!v5tE!wqN=#PfBj6%=oKt8If zi!uJ->%WZEk2zo}1UXDFK~M>d4M$K3jD4hUI{`51%n~#yf$2SSH@yUg z`!)eE>es-K3NTp?h2nv^Ne`wf0ETA6SgODu3jNx&!Xby2GO3z2Pt=NyKK}wdpZ%;y ST7VS*0000Rh;cEqUbO zMOPOWP}+(j-ANBGj4o~r0yF^!at%Q`11*pO0;JorpuHd zuj$ZkwVpli)ES1>!;>0aYafTMgPpqfRcRlB3v|^4dxwAv1rh;Np2RfU zb|*JPXx4#1RDX`B4;yVe$_?Uu0uXjI-OL@$MtF#Z#^G=v4F+_3(9y|RQNjjO7>36< zB3>I^egZauNzsH5F>?cVK}@KnJYDp9z_gDHVgfmO%E!D1XQi&SLZS?ztZMK@+JnkA zm`5bETy2lQ*)loD3JX33x4OaK0C?Uu8hp-|NwOI8)ql@^X=oqrK-cq9oO^dcDNhpo z-^A*r(d@5m|}%n&ZZ-*u^S7+_&lHQ^bG;aZ)pi%(B%q3 z5{hl)X@73``p54e^sXb+@$DC2_2Eny;tvh8Nb0l~`Zoj~<2Drrc=J72F6=JHoYE5r z)64#;FwnyAdSH6Kxl9){h-a`pUU?oG_&nbyAfbQpNa#r%%*YO1Uif^;`6{mvhSrU> zFLcH(XXFc-UL2qy$v1)wEOtYpAZE-vpd;%bSbwbiTh!yM2Z8`aUocFShh-ZU7mMtn6b49@oY4~V>ZOvN|$l2KFxHi_fRV7qvZ z!8-WmSBf8p5mPqhb9{gYxj}dOCPbFc-ijk`VBx7$9>n>1YIMDp<4@H2isQ+a+QK+4 z4}VU&#RFphcVK4lVQGo zrSBzt-1!ES7m(;5bfhn1&G7? z0HF^*5g-KJYXgMBe@%eE1X2kQ_Zi$xx_`odbFc4tDnMX6v)s@O|N4<&uL=-Nla%Dl z@t+w`5CH=!2_(b6-Vz28AY{O(Op@V$Z+HwcAAA%rw1VzK4<~5m0i(Jc@Pye)2@FI$SP1;*0Ye|! zc!*qaF;55(N&hk8|2+F4YadIvqhTw31x(Oi;r~2;K!khfdDk7|mamwkKaT~x^B?QB zWVcWDQ$hdVB>gc1l_7e}ucFKN?nr;q}165q1-V ze=^JHFAPC$kZ>1zlF%7Z^sgEe+=b3qoYSAD1^vmu5pbuJu_@)uQuOEPGJniobdbUQ z=7925DCv(MR{^b_lffP7ACFhp1^sCj4{T4tUC@6U8{J6y-ll_GM0wqeEbT+u(?NPltPT+-i2lMQf}`9TenZlu4=56Zb-Z=%1-56ZcIw}Jj; seqitC|8Amxksl1URhtezuNS-PKk>k9?G1DJjQ{`u07*qoM6N<$f@?p!+5i9m delta 1467 zcmV;s1w{Jm3y2JmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&f9rLe_K z000GRNklPix~w7{(>Tf^xGgmr2r#WMxryPqkEVblW6`(rd~rvTvnq?{W?= zrk8YsKoMk78jL-G7E&ZGK2M>-EnYb+X>Hp4Ayl+f|gB5gM*%eWunL+~;4ZH67Zm*7Fy2YiRe4 z$0v1bXdj2Jjh#9VRcRlB;Wazvvsyz(QCbhSAP~AQl$Kd%c>L{&`OtT!_Cz|h85;~ z0&aDKzXb5SZ8Z3tFXDJULJ*Hj^`yf_wJlh9>@5hUJ{^ENG!MNeVGGCO2qb7E+Q>Ec2WIP2U^H9{Rf zehEew#=;QYH%v!Tr%vc!6L^Z-R2ty*H(|BSPRC{T) zEOzBhg5h$&my^<9Z?ArXkvEH|_{Cl@ifX{pD9R0%i{}`OgCBpQ_;qLzWfMNb1w1MY zs(;U1+K!5zZ0CD`G0C89!Ak_W`0)(J@ZGgz|UlSlO zfm8y-Lk4$~p5ec_*Y&(CKwvw)`7Zv|Bf;J*Ks0r-CTD^F+<<}z7*I(dIsVm_Fo*yl z14d<%9RGX$W03jaoq(~Xd*8zennl2YRPRmv5SBQVNfgNTs=7TI?WC^7u_t(Ed{C8jK5OSFh5)m+-$eWKc`YQte zw@5II2SX%pTm%fYZ(;#Yn2m%$PsD?{z<&`i)V_s>$Q5s9F##g!KScbWb9tn6C59_vMw@>yHLI0m6{V@ZrLkd9yc7Ugx z;%!bw|B6At9XmK7rwD(9yQDuFmhl?y29B^BBmCoOPJdwt?!jH?aZINqqkq+q!CmN# zMFstNQqrIFYyo#l8JkefjEw#~Srp53Mh7|EuMa3+hLZmHb(PR^>>Tb$|9@z>yejEW z^LSu+8QcZ^x3ST+r2oyD{;DP6et}p&u^6QTL4P`!mGoEaF2SRcX7on~(tkpOvy%Qw z!|rxGrsVWT$7F!|Iv${dp`HO3>CG4wXYwBXl{F%f>6s#Oz@~>o6wNaFM;qxc?wd*a zYe^hz(#3spm}DdUWq!zeRq2D-s=A@zw@`w zyJ!2Sq8H}?)kFK2C3FZ)Kx2)3zh$C@A*lw?Qdl9I9TP1?nl_05(IM^a`1V<2LNtBf zAR=@~yWEXOAOPKcZVaZ;A)D=ZL;ws>@+yYZh9$Zr3PdMjAYPW+ahxa%oQ!cyn0}y-a zTfaX@0M<6al!=sjbwu$Gkf_hhJ%o15hgi|1R)~erD2>^o8uRgY+@;Pj(NhvEyLP*# z$KBV517L{&Q<@vIcEDsj&$_jT&jW}F&5QtcPm_OnX0Gn*HF3N|q%&iNYZaoMgW*rL zgO&k^E^=eCH7ep;l~VlCT<aS}tD~321~)~{ z!SDb~j^36|XUn4CDX%br@HOBAasNjyfWo9AI*0Z-U2uQNlj(#v;)wkx2Iu_&8{|9$ z1NL?X3$ecs&>xT(WW@~w?s{6Hx(+^XD4nrEkxPW?6ToB|Rtl|<7iR?uS+r{hajgB? zB2Xv-yah9S@@+G2eicE=0{qL(lh=CL=>Px#07*qoM6N<$g6ioF0RR91 delta 573 zcmV-D0>b^!1;quBB#}W-IsgZBNliru=LQD_C=ui&05AXm0w_sDK~zY`?Ub==+fWe3 zEkg#=rKcCr(8YS9m~NGCP%_uxJ@7!0xFvre^X|uY-<|HM)q0EnI=t@RGVh-4LxnHS z0jfWpUzUghXaW(|$oE?&+8B^(0Bwa8ve_}wMx<$z@DUx-*^Y0YBaDfr?;Avj4(XJ; z@dyN41*#`COK*YLOjDMB+NfSrHSWS*I;`+7`lFBa*{m~^cIw0$uAX}@>U0MSKm zOtwZvyj2P5kLG$mX{$P0=4Ngp-bz9_nCR7Eb>$!{^3*t>iq+A};sQ5C&c^TnOpdod znJtTgyS%~}g4cit#Q7h&01D%Z=pNGNbiw&0cNWDw5l8H=7@QA=Tp;Hr7_fC4EW~~v zU@#;pkQFx!xb?I|wGJLnD4B7AA{PtQ6~K5JR0{2Y2WJHe8MI6LT1Q@8!dEB)JOz_J zc{Zt=x57_YfPcApYPDY`InEaIqDUpbIQ{M6;!>b6>FVth{V&HKw@LVTYV%-<00000 LNkvXXu0mjfY6Ji^ diff --git a/graphics/pokemon/kyurem/black/anim_front.png b/graphics/pokemon/kyurem/black/anim_front.png index e02f1f06ef1fa1cd6b4f0fbdc421f748009241a2..97c8fa214808dfc8caf3e64a9577c06badf29cb4 100644 GIT binary patch delta 1858 zcmV-I2fg^h555nObQ1?ONklVmjpauxHw2(!L})pL%imlLrxK{30$?w%AO%=5fLXk(0NtofyI2N@Zj=ER z^*GRdt7|aSe?@iFkTcQWxA+eNFgV~L3j_mb1_IQ%+>d~t& z1%Lst_#^=s4ZU@-Bp(9M;Io8ut~?QdX?mUlUj2;Be;&VIZlnj=B*Oh&^Yyj|2vgg*MXX^sL;u#jr>9H`S8tZj=-SROD(29(P?didul zEM1F8f5J7-02RGvqfwm@PTYZAUdjNjH>eF+B>)8UPQ*&VxjO4rr~%0078HSv8aK7gGJrKvWspXMFsj?;gK_|wDa^xZ1yN&&%)0wv^B+Lu zp*ju6XbZre+tA2Ox(p3r1XzUi9xRz_H^_S-f7zhrJfOxtptR|EE);YdlF(sJR7({B zx%VJK(`&jeY7QT4GJsgqB1G5(z=3~ZjJo$w?-GoOKeh5Tb#AvkC+<%|4?~)5-5C%l zvd?L_n*+6U*xJ}28$-_?p)H4Y0ibwFC7>Hu(qV6dPyzs2M^4%&-6^GAYUMyTedhH8 ze{#nI07c!j@29C#22uc8L43>Wjp5txP6+_JG@K5^^Hl)ay;dA-_c{b4a|^eEE<^~Y zR6aMlyA?~1iQfu{?~bBYi;PoN#r#m~I)+h$!NQo3BqnwPw%!l?T~@?w9rV<>%|EF= zR0N5ASO~Kfv;y3v;!xC6dYgTdlqkS$e+8YmyGuoia6IgTk+j- zlBCJwJO#)Wfa4@NiG8S;dJs%fAb0>+1wMiRk`uPl9k_7@og~#{3Vga94kUj-e*pMz zOz9w%pN079HNCULfCx_AB*7DPfM7b6d#dB(WP60n2xEMAqQ36}(6mpsBeqH~rO9NR z1CBFLfX+{8cDgu;YJfN_0Bww2(HT0AiU@Mg;qcPhNdg7OkL&dUpiV0Kl(+RL*@`%z zx4lRCm#0(MEEWS!nZ}4U3IMJ*f6Z?KOO4^M!>wX^J)89^)_YFj9Qyt=4}tj+5+U!p zZzHz>T}1zj^^@02t-gX9`1NTBpDzR2Cbo3E48WgwQ>%qbL9fMNy7&Mp2wxQIw-xq$tu+7K@h`DhgAO1zhJUO718N zSp0JpC4>V(I!g5dMNy7&c#)z=N2%@!MOizLrBEn}aFkq87PGu|xT3_uQ7ok>FdGp< zDGE1`P$r7_M=k*mJ|iyANGl#Wry_sY#;&WURhBZpa;QP<^Uj1Y~6V$Q;O1vP<;wr zc18h^=ZS92vqDkK2m~VV_b8noNDIP7mc5jUg5kS{&E?%clQ}L7BinoCVWB8CV(#e2 zYkT+Zi|5suVa%;|e-8^q@og>;owYr>5GT|81sI4{vHC($h%E%-yBDJSYt@W$1G&uo zfy4rc{k;3b2*N->AXs4rW5@yezn^!1Z9e0I!32UEh7UlU354wa+I*h_Tp&6OFhK}G zAY}K46!r^0*f|COQs{s{$nFooi;_U>oUq=?3_`Umn8cDmf1KFdAjX^WInPlX#6lp1 zLEyp<6u<={H;6(Ys(TJC1R{|JQ4)wM_=9RhdOJ6WLLim^t&ArSLDI#mJzQr)XM>{u&l0ZPe80>N@0fE5MAeIEe2~$2#CJ+P*gIE#> wonn5tae)A9Bwz-yED+dYcTym7gHT=bZz%LR8tVnV(f|Me07*qoM6N<$f<|6V>;M1& delta 1862 zcmV-M2f6sZ55fO{1t>B`Lvca?00$*WL_t(o!^M_CXxmm8fCWlp zk%u9F$P};c&PI;9L)H>-D|QS7CSMGJmf6Q$dm4jXvfB;Pb+ zAp>gKQ?175$X>5whbL*T9l!cg02ly+PZEI9(Af}6@*w~XK1)dF>JtIzy5mUT)z3(O z@A3OJK7yhQ0~;QXFkjUb1`I_$8PJ6AFoeTjtLVqSAjhJBs9$U1OSBzv2>|_$^bHCZ z#-F~;0d+$>7DH5!2@_@j_1hv94q%+^9rzB%&5IA6#?MU zy8+t@#uZXN4Z|L8>x`JN=csYzv(@5x8?Y(E9)K)v!zM6M)}6Lvh5d=|U`VsAS_1-`>~rexXFx3;wl+7(=Fl-mXvd;m04Sc)6i~IR@vyf^ zC;>Z?v&ClH8P+ZKXdwj9=YoPfP!w^cjMS90xElsPzV17tQ z6cV!mpWgM{eYT0&I;gRAhaagv>C7Yk9a!MNw2^dWW4!N+e)^x4cf+-KQc& zxS;^765_IbX+n9iTcPX0@6Y)x*@^(rCuGdN5Tt;55GZ;)rO%&;6ewGd4vF?!66lYk zu@y%GpbSu>XzyeU6GiaBTj9NN6vffwECt9GfRiXX4PDqVboxOKQL1yPD7m8)6=jhF(osr^!T_NtxucX6 zo1$ zQI^Y>mnsTVkR@CfDoW-kOIZ916~%{wkUC2B5=D`Ya&(!Zq>fTO5Q?%se@#(@qhyM* zoRt(M6pms@MS92?DGItq$gWTn_?b2L2eX)skt<3l z6-5AF%%+QZt|)dvQ54?&8E}*<3bK4RQxwtt*MC|_fGdhW&J;y-|NBQ0V2V;ND9S_L z{b%&L%%P-zDD~mDN#9L=v5L?6rsS>?E2RFnqjfw!Jm0HhULwcbgj zqBH_jpF)?NQ2_i*FcwL!D0%<_;kgHtF6OBPVJ%5sriy~$T*JrZ-9JflTxwc!@XWzN zQB1_#(GAxR?mtM2&`i@7M!ScFqPQj(h|c-}U5d(ow0HpqqEw8&P!wVcf%xu)=>AGI zq1-@Lxj&Fl0HK?8e;7d+2nYn*nBEw2fd21h-CtSExL`1W;D+G>P-g;>c7J7Y$N?@8 z9R}zigdh-U_lFb?b3fQS0RU3yfIy_(AAlDHf!I4`y_Fe+Y*{dgl0clA+#tqMdRdM} zK_G;GLEzjEB)|nCGl*Ouss|R$1tLlfq971e@CVt5)OKbNxj>WvrIQ&%E)a_YI+X$e zQ%wyb7l?&rWo^jWX=ese5Qrm+Es-M>M>8{sfQ^0fE4&L6ii-@?$F>As=7=}|KXvZVAbp8m04njj9;MQIbf`Ozo)B(f~!BK-(BvKOT3Fyr`{BNpL?G#m(%n9+v?9R0omgPVv$_{ zmatS$%;BJ+8iU$pgEd5DLPLjxLe>{Z59}3v22g~Z0EI|oJ%4aH7=$A0fumxJ6*8kv z2Lmc9=u=VjI zbpWN~B!R;1IHd>#3+pA7juV~(38?*I3CA&)K;(1?0|MZ1JSVpTAP&Gw;y@S(VPJJ6 zF-b`WfVo~nn}5T|tw1m%25|21^V|T~8E}=FfV^ByN0R52V#9~xay0-yt$;hu`Mao? zw+eE-o$~^AEg;YZVmsz=zhjwAAoExJhrwi*H3fCf7a)mwv!Kou5Pj4@tX^Pa0MW7r ze3h#LIYPE%lX`*~F$)C1GCYW?A|_@5f1@F$MGg3Iqi}%lcjET5VxoaWeStFGZoO+H z_WOOipfpTZ_|v#fje;8qtmGaf>O3}qscIcp6^Sk=6)Wu>f426kAvNInNn=0_Oe;Wh tMlQ}_+RCdp&{J;PfN2m@whe#3egVBfveMPIP+0%~002ovPDHLkV1mkg;k*C< delta 540 zcmV+%0^|M61n>lqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&k?6kL=< z0005gNklHHx`2caSe+1l%YWXO2bjxNqN1Y8{&$QWpr z{5@S$C}hna)9=n-=Z`a6mpX;KkMHw&`6Pz%->zwT2?(Dq5Pz%i0J2&PhN<0L-gvHsnz9LBNWM z0`whbk|+S{0at+v$mMD~{3NLr8$J`u)dI|*2JSiM@1i2@6eQK{oM*7_09I8XZpR!R z_ADF{$ov)GFj(xvfeB^KS0IVBUC`tu;OrW}D<5E^0DsPUr<`F-lmak7XrC=_|+oqzWCR0RyvZw*)hQQlotB^T!q_1**(z$v#~KsAUd e^FRML{S^hhL9){Pjvi$I0000OV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00Cx6L_t(|oYj&|Zp0uAg*ib`B6Wv?W)3j9LVJXf z+HLRZuC3$>6LpV6)(F=?erTocTPq9vVr=vDDfP!gbCoQTN0I|C<>w?vmsH#Y>vVKd z5jLUe-xV_{HdATgf1jQir$wV_OK1N^h*1SV%q1FLjhvd<9Ks#JvqMDtD1rgo6G}mu z655X!i~+$iryW%=Pj|G~8oqKQQ9QJANA9hC+D3Z#9_&g815tiV^vtm%1D80b#Wb;V z!~wd_uUUwWQ9kUtb;x6hnsESxnJE@~mgeC++VvJ6r-9JMfBAam;^^q`vl5hEnz5;c z{}bQvNRjb4ViDVxx_lB|as?m2WL^$}1Q^Y!=}u4qMpXnQV5IR*&<;#RPyq%`f(~G; zPQnR{pqGd3z<9@b;R6_UTyQABco>{b1$qMp+Y9eFM06xgyS11iIE=So(02UT-YL!7!(Kt0000?P=%ZT001*kOjJbx005DLFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1t}PWG-u4-3~91Ah}cEZl+yfLtBO@$JXFhPW>Px;v2b$V^gS4R|J= ztLK@j(Amqtbq^|L)Box~x-teb5#|?lnldIMB#)c8bYZH${{{=-h2f zo%mkwwq*i*qp|y&vEp-?o?G0_qbK6MurIqE*~V;|*=K$Ki4Ier+rJ0MYm7IOfOGct z(E=bZe7qAT0fMp$D`6@?#wJ|}GXXNLuY|b(WKWn1kR4&(0U~I407wFDWU&E=#3oNX zyaNQb;!L3egyvfD5G^VINk9OX^#?a{0)l*~Aa1#lygtgI6%WG=H+BGm4sZ590l`$- h10bIGKtTMK4?nbnC5x0qCvgA(002ovPDHLkV1fps&5i&7 diff --git a/graphics/pokemon/kyurem/white/anim_front.png b/graphics/pokemon/kyurem/white/anim_front.png index 431e67fb0e30d29378c76a1981c6b586ccf67228..0f2185688635738a9784a81ffbdd8f396bfa0808 100644 GIT binary patch delta 1956 zcmV;V2V3}n5P}epbbkkUNkl{J!LJktd&@Pr1 zM$(hy#%^grPa-7-fus?Q0zE|X1bnf)W-HQ54{l)w42A@knZ%T$#D&TSgS;ukBB$+w z4Q4N;$GvS~dr80d-bgEtogR8CeON}G?>FD~{>_`85fW|AM1MgWkI{8an*d{y0p>Uq z*5?+c@$`6101Dl&CFGZRBAQhT12=*SBN2ZX?!X*=dps`+OMrwE%-#6<1VR~JofojK z4B^Jtc@nhOSHl3j{d+oyhr2IY1i#G>MEEFk{9a(dYm;l^2=x-_^q5eDt|>2Cjts|t zqVKyMnvy>HsecyVzNUl0!YM0n|B>t`!YSsD=MC{?F1MZ1VtOJx#=1E&pj&fD%Wd`I zdLn-rI8lj3Ow~ZyMQtIc>xn{jx(4iL@M~1ObCVS70O%Mm!GKj(=mK5?}b#O%5nni^FvHIdF%^ zwOdF68TgnSz;P7W(hH2-(E!l2MKs-ed>)h-RM^rxtSaJI!;2p-$n zv1NTzBrsNwN2wIw5lZ}1gA7*SlAdTXtJa_A35=Cf4ycEGt_daiRk)bbZ&e1VnuxCs zhet5kZRlrKr`txOO!5FEiiE7n`T}@;bjW8C_kVLumOmNf5+qGJTWHKt4o#HP^uA)M>`|&&E~|u$U=hd1O;%2iNQMBAO(tQi zYL&ncO&UDJ1`B}nA?jtt@nfYJW0aLeoE8|%!}AQ~PEfDM_mj#j0N^@>+bM!BNX0d8rs6Ov(Byp7O0Yi?BP{J1!jD~@1CvdTlK zx{Tw@{C>0Ys`{z|z^D<#VMj7{-$;+LIL0~_>uj(M=x_Q|0y-AJsCbm=;U6*Bo`ve4 zH@bDG@RG+PIA(ExwqF_mR9Ugfs;@S>`G53jyC#8Kb_W2~ZU~@SsB|Gib!B`w6emJf zZ`qwL09LgGK*gpo2)4mihwVerg`95N>!mKMcDoWN7AmdkE4E_E1OT+`mJO|1Ej}%J4{@oXY@}>{f$Ps`R$)R!6O&BC9kjK?(Wz*y}c*mELEiR!3}* z+6lF0092X)o%N2qqPCB%qiH;nTo?5ssPS2_#0V+{r#I}%e$tlL73;Q%LJeMuef`%# z;w-&g3j-Qn#tC}@-wBBCI6i#b@ck13 zi8`XaUqCz&e{iLTQvo?R6GS+{cLMSW0pfpKK%`7WugvpQKm-x>udc*YK!2bMQO}Wt zx(4b#k;e;=w5UO!gFXMASC0tJiRa0^uYB@j|17o#6&>IFZVz& zL>Yvh`Ht_HPy`GF1cY+GAP=};d?@0`yX$(6>F)@^STKcO1cKr6Zblu?b#{DbCoqtR zaF~f;aKLq-lmkVwU<{j)t$zdnQ^AP(V(&l==%u28fm{-d5BWgl=7R)C(Q!N^7{2Go z&Bqh)_hwiy95+a?WAcgQ269<2U?wF{6f>O-3&xYZHzMrP{qY32Bp6R#3_jribzSKX zF>W9;g7E~t13}*apzaGGaY-6tp zCHH(lyapGs%|I~9@PES{=j({~A3 za!nM8gVGAYxSuDVFKZweKWKjW)wi&z3GtpmYqgMa5Wd4dSR;C}H}AsFBf z_s(|x74KZWHz$Gteo+#F0sgT2ZugrXUp$xoFcA#!i-|w{;t$_`_03P5sXv4T<5~B7 z_g&eU^@mG>fgTjs{270^Mlk%sntw3k4`IRJ{;>A9sXtsJ7$JY)f6hO{1u7x%%TgWy00(19L_t(o!{wJxXdBrXz#rb( zSylKlst-Ek;F)L>vB$hYyI5KnX`Uo+>@6+mNuy z!I0o(CNZTbaiQ|TAa4q>$Z2=M2D6vaC33=}(VF7@*Mi)r9yki+QuEVc=SjVaWUMhX*jD zygr=ei3Nbe0cNiKa0Fc$mYpTAE==Lt4<-)U%ZuFry#7Zz=+9iX1`*}8+2`E{nZqlA zKFf_S?MJAaNPnkCm>^_b-j8y4F!~F*>g&*?^uaIG_~s=83^q<$di~F2FA)wgdpN6$ zb;@m~)R>kC&#`6gJ)^%K{ z0iY?$TrQEP0?@Sg>CdZd<7+9b*RX-IF-3_>hD7NDoPR<<&!ZF@VG0i+2aJ*d>+mGc z0O(g@JQLga)O7|(iW-OI?lIsN>sN0CrIUeQg8@n$MK-iN#kW)dRCWGs?Xh)`Vvu1& zYtstvS5#&GeTp;z@Jh@n>%G{`kLd$g?VQSn{Hs(@dtxE8YEp?k=-8hqn^@O20C=xD zI~4$Bm4Bq7nKu4JNdl1UDe-ZD=P$)pDGAsIjJvTfFs?6ZylmJR2Ug9fFG+By%QFCPw5DOM3u{0klTm*A0>Xi%%#n`Hs? zrDF!j`)sW-!R9hN%xO2u{Zy6rFAoL>u-GjaXMa{Bn|i&3O#l)FjF&}z4!k_rXDg}n zat&%8^>YaW)d0lAK*v@KBDIdI42bn0`Ca@nN05cn@QxxRTXcDd)At7k%BfmUGGzK7 z)hLx@jEAs^qr(O*rH43!0mvqkFju*PVTuL`USgdFKzbi_v;6q6Qj}6cOT3@tDK+7J zhJSQNsM}@rBvT6jcuwH!1VJRKj0@qR%_br4gglA2te5;FbTRwmj|tVaRO9UZbTll*9zE>>@+j50#`{M^*t=zEm0vM1Ke= zDciQyE(#!S7Yz$$Wi@DPaC{&DM2Z0cD`__k*{ZWyEe#ID$+-wn(QeiWAyRkKZnotr zD$sJH9HbDhkG*QMRq1|NY_@rURF8-?1)$;>Xs@=#6S;M09lSl!ldC*m1l7MB-++)Q zIK81Ndr4b7m#mw{g*$5wHvD%%;D0Q+S-o)MD2qzM9s{{}DIB5;M`^wyQpnv{oQCd= z2pnGK#}&eX+ASqs#zyE$ifyu5=glO_90>!xow>c>let1!V7p6ITn!rx=L;Z2=K75xua^6Mq5WMAW~y z6B7Y}Aw)e#5RUT)zBeL8ARsss^<19^@y_0y>_m5>TWlTCSU_;bb9Z=2usz*#J;P%_ zc0Mr{5d51R5DcCMp(noMI|d{H0|5ac%rEdgCKw;_e&pSDJ;(63xM0i~+%E#baM>`U zj^{dCzOxk=NQ67gSTGpiI)9MLfh1WlhV{rs0)UBNM15X6kOM|3sbC=I1mhz%QBiyj zQxr{!hXlj-98r8M0J}HCg5kJ9fGuNeAm;@GR#E_kz(7KR@o482?{>-VXbhYaj7QJ< zpE7{BuJDH#Gmt64cm$t;Ag=(BcR7$aCm3A6PsreJuD5%Sc}}*cPk#x9B?N^GIPh$r zNzQeBN-%ULAh&(+hgYuWAG4b`mROt!hKzN7dGCThymC&NKfpRD@v&gYHMr2(Tgv>w z^GWiTlULc;WQ;HQ zbo))onf8Zsf`RT8R{SY{xI{4g{EELfm*`f z6p=`fwt)%~VoQX4o%>yY-<9B|NXYEp)CP#mk`zTTpREyOK?k@p34)a)LC^&+A1Y8R z*MF=)=8*fvXB0$f*B4&Q^!4&35V2(kVEn}EE6Niur| zU@LL5Jl+U!S|J}N*8sU4EF|FLF93lR$Z^M<^W+$8ld29Z9wQjqfea9iF+`pZk8L@4 z`Ad#@?tAw?hwtqfu*gq%qx$y`-Iv8>3dlNUrzzy@l?YKL}Yc-0@PO{sX_3aJOL2obqNT3^Crl1!>%E3K#%IG>yvWCZUngmpY>yUM-QP1K~ixBfsui+bV|8j_d!zJli;8M zd%HaH>Krv-COBi02A0w@KJClVmTMcz>tbbqw{%b7`1jjDH(7%6SD|xk1Ga&H zjandpKm+kQ!YU1Ljr$l>rw}_hN(7?;8!-7NmZ>MRepCA|4kgIoJY?aB9gRXBm6Oju b;(`7LEj=VfSX$vI00000NkvXXu0mjfZIN5M delta 786 zcmV+t1MU302IK~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&q$+-1w9 z0008VNklyBJ61mi#Ie}f^On0|iMX~u`OnAf6P#TdIrmibjBmR3NV8x7v;hR5`9L*%7s z0PXl*g$OF(5`)x5Xwaf=%P7OCh05Vj3hw4OH-NX^$Ycx9^*V{THHwHONDeo4Wm1B6 zOvu-nw+-;U0)O1+F`51w+W?VS;yll1(-nf$-#!~M34)~~fxiu2Kb0V#ul`tp%puqF z=ha_3aM*9dT0 z0UyS90NJ7`K*0I%3xL092*4uFdE5irq{Sq8)O(leRim#_|)>Ohg|Bb>wB254fRX>GlOs#rb6`0_s(eGEUc}ZunUgKn$8#Bbq z#8nL|5Py>8{TiU28c7BG?_>jjpH(Fw@XV7S_YJ#-tOhOGF=i-4F;yv469UW9A$EA^ zQBeYTD6gq#ghBN-obR1@`xn<~0n|knr3g|rMrTA4&M!-#Zp&!#)}tLgXJ=G_gjl5k z?rJ(xRM~Pt2WnCu!#5{3j)^BS4)rkZtTm>u`u+u@n!(#H;N8Hf=Ej=Vf9iSuU Q01E&B07*qoM6N<$g1oP1fB*mh diff --git a/graphics/pokemon/kyurem/white/icon.png b/graphics/pokemon/kyurem/white/icon.png index 3e78bfb63ab66e7ae00e13fa6fdeebef2faef6df..877f297c09b118f9b15d1a36fb31c3e5bf70327b 100644 GIT binary patch delta 606 zcmV-k0-^o31cU{U7=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00EmxL_t(|oYj&&Zrm^sg?R!IyM}=jf&?v7)39Do z9>E9@w>eDQ2J15gX|`BMSD?jqK`J8B31T?+CPn~ye>KMYZzSt$&UpU>99+EC9KQl?{hZ3P@C6TrUv!{;FL$5w!BG1t zD01=moHvU1Tx*ce!msLl#MlNQ6r;JlSeNh3&Ar--y)|5x-5URC%)q>h1sE2u>nC86MD1520mF$Hpx=zA zfLh>T%OPNto&5ZsOajI&l12R<7|uNbas`Hk5a`%|ImNn0Pmry^oC%Of>z|q#7@r90 zpbX=u(<=c}R8n&!g7`Rw1k5oF_hxHaZ}h(tFvlGx*$Fd`lp*w)TM`yN%F^6i+rRMf7w$#s#fBlmF8}}l07*qoM6N<$f+#QyUH||9 delta 508 zcmVO{1uF_gY?>bc00D_fL_t(Y z$L*BCj>8}fL?fF-;(*5g|Ft_941uK5o>qG(t=g2a&DcrbaeUYBm+@`=(&Fl_7ueOd zEv2NeM}S=yJbyX0Wt%S4hp3N3YQX8TD)4III;#xqrNel-q*fLz?s#T5o|7a!rI=#0 zZQz+WMrU*>r69q}GBr)T{w_(WXRyCgSX%k2dYAwT7d@tWVd~w|k4@8{KV=@6-}O{0 zg$pM79HeAz^8(aA`y6t~Owk(91_ptDMZ<-|6z)leaDOBQtpSSBHoG=ugmPO%6DI;% z!fkBTql$TZW}-C~w*YVmyi?{QVm7NCSPB%T0HUS_?;7h3MN4365yj_cljr&k`5eGP z2k`wD{||t?>k}aFi0J@10wFtM8bFT8mmM(;Ae|s@hzWo=K^DZAEdasBpCHH!Kvsf0 z0Wt~FDqU^>$w80_h!r4{AOQ&C;RX zqdxe`q>>bHYS{>o#i%H{n*o;zY0uZ{qPc^uS%3-7O_pqhNB1AZzoGA)z9>;jyA})s`;iL;_O9kEK9D zsY(TvkThn|q+~G$WH2$V5shH1=Mi57NV#4iV*r0!1QJ-j&esUwkD-><7lBE3P8@0R zK{69yEe?1b_CV^J_ht-+h>63Z!CIwGZ?xHz+v~D%@_r^ycj+WgV2HrkSeNt7sv(&ynfJo zJM4!cHO)zl)RuTwrDyNEjD}&~zoz|=S`4N@NdT{&9k-Ylh5-w3Sc^hu`ZyX{A`|_K z_x1&|0)NI>k20%moRBGCWXnM8{gdYxJ*x+RyGiLW(Yw<*QwZqKZ<}|mo&}7jcWVyO z4`#p?A-Ow@76Z@oFaaDp9cMbGB-QXmxx4>}fT1Y5=UHd_&Jpy^ra(%!o_>G-=j|1( zDC$l}F{RoOHamMY^R+!@XZ!<_{QHGzDO{1uHG!W-oLA00g#4L_t(o!|j$mZ`(!~fGGh2 zJX)3Hbm$OJVm&*g8y7_fNk_9ICGnL>B`M(4vJoJQQBia^11=NNp0DLaa|c_q01KR( zEZGW=?mvisL*F}D67^wc3{dz035MRs@5dcK9!YvwUu31SpML?0>Z&BkkME49Rbt}T zle-gW2oyDaX|Ny?5EH+a0x8v$N*W_Q0v=oSKbY^I}QlgfOL zoM;ka$THNGb$?x+86>UoxLkbNwqzdyuwS|zF9D>!;y?vns+tagANV1x@3_fBdddL> znksSafH{%F>PaB=U1J37sfO+Mdz7^p%_b|f8@z?eepU1ApfwyYdOobp0J+g7s)iec ztvGgQzgH_vf&9iTKs?uGv>!XH6%P_XPW_b+St5pKJAWJqIPmqfMov-rkac1d0-r_w z7@O!{w&(<~Kodg}Y>_f{%7MS&VlYWjzXgl~H)Me6FCBVz*&q0Gz+U&g%NPYXI~_cW zhp_`=Afsq}7swh1g5EHCH|WJNwe4|@%!W9t^79W}M&q~_UeI1l9R?GiEP&U~4_YjU z;~^X3uzwDP&g3{6c_I_zn-A_ObB2tuh%%>b9g+!PNWkrM&nZc=(cjP7L4 z3YP?p?P*7~rP@9=J3X!t7=Hqv1i&wFQ_B1n9Ysgu_{#UaA^q{@ zAH33ts%Zumf9w8k?0DlECqHcs>EQb6ocVZnkpj*Sre(l*D_4xh7K3-tV!jE`eB_A@ z%1rOi3^ZJjoQrecl+M^6&>a0^VoE7<%&`EI{qQ#YGc@mhP@Zh5;mOuLPg1Zour}{| z)_<<($?lc`=4^Kl>tX#b1S2iqFBnKYzE?0t)LjXLfh-47w}LUEwl%0Bt`N1m(?zY13R!mc8#QAWCfr!izk!*v*!n0dj-D7QctTUag_0%#hq51gc6z*J%yVi(E?Oa%jy{xA}) z!bk7bL@>a}Cj3DF+kd}zqp@H#JH+cI^`L??e)OD)U_3$~;SXh^;G5VhFy`1n;5+n< z=NYs9pja-0SBwGr!BG(U-mE{MsxI0AzqxnJW&VH*i)H|JJ#jfM_`}E;&KPS$d#OK+k_msHpYsRv!5_ZF Z`VV@cM~FtXEuH`X002ovPDHLkV1jLxLk9o= diff --git a/graphics/pokemon/lairon/back.png b/graphics/pokemon/lairon/back.png index c57726bce23589aab101cc9228bf0b44e8951c61..b549431e52a215daa0b125be4d4b7c47f84ce73f 100644 GIT binary patch delta 521 zcmV+k0`~pm1o8xsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n155K~zY` z?UKK4+dvG)8 z(|QRE5f~WwPMYu$pnA2DA8G>Nu7T7Z1aJV4v}iMUx7Lb4SpcGiUT^?%1&SZEu~OqX z=z75lP?mFz0kLz{cCL{^by)x>=T-q~A1GR+mE2!!pFgdZpuygM&44Z-w$IVYVT@@Y zBVBH)*Q4z_lvI@kfNuc+HMVR~AaZL*)lCaR6w<%U$AFDMW=x5Q)&lH)%gbw|I{sxq zO0a6M_kL`J*bbKs6nKc;mFT^nCdBrs>Rf%<0AbYov1ffcd$fC}E0Qt7fUG0uqkmzd z_sAnL(8~MM0Yz72`)DzCw5^l0mEFYwakgiRSFs@E9nOF`mfoMmJy`U9lqI9A$l)(K z$#~QBQveiT^uA-DwegV{6YQtC#`ztP6`V||%?FGA9k|8Ui6nUgfU^!^SncWp00000 LNkvXXu0mjf;2-mF delta 508 zcmV1mgsdB#}W-e*gz`Nliru=LQD_ED{+(l#T!Z0mey0K~zY`?UJ!>+dvG4 zdb?Vsp+$wwm0oMmG5WQ_k-pNj6q10PY${?Op%}@PlS!2JgmN5hx3Qdvn17SSye}(aK7X=QkIu0A*|L z(Id95+)O=ED9-`#f8n)NfSL!27HKK>7suyUt1YOvcN3ri#PPXWc^G4A$VkIY^?G!C zhjLV90pMEzK#eV15hLHkQS^O?7SZu zAvXOvfgJa7x&poT(D0v0000^;gUw;B`Nkla9U$mh0q&Lp z0a~C_C+7v4=mFBfeS>DL;l(f4J6g0z@hAdqQ53CjG2r|3pGcnWXHlHvrvfs0q2|8` zNLBsyfB*$k%Mem2Ri*bz$XaXNs1$L`WAucWkMr6^V~KJZ=6_4=g(N`x5;Kxt0)^GM z!X?+fL`~_1S+&NzBc`D}@g!!LzPvLCyfMbShf-f5;2muZm-ih4tpz@GpP&hWYP0Dc z%yxyq&6BzA9yd~`VA}!iA8ww%w5|F2&0IeM6rvfO3%nQr+6M$iJ9S~U?fO{4?o$lx z3<9`Lv$uebPJjNRS*<@K@cNc2Xa?A=S^^HYR-lPGab4;pu~4PhF877l4&hr z8-|_)ra)o;N98&FCfW*{67zVPd}HG7_ffI>QUTQ1ZWvr%NR*|vOnf;)0_XFqtBVaCkAle5zt8IyO`?h!g2q<8Ot6bAt?jzvn z7wGzi!(w5XMapnR%4apj${ifyl8d9U$mh0`8Uq0a~C_Cg%m3=mFBf zeS>DL;l(f4J4Ui8iGP45Ls0k@8@`{9;_>)>n$1q}PXUEIQ-A!0fKc+y0}K@8w!wr_ zNH6)JOqKyb7*oZqzwI1hYlZ$S?Mxn8&TcC$p_>d{`d4{O2HpzQ#6 z_g7CpowL7w+keXkfEm-HbAfk9fck*Is8eTl<5tg0_&!a6twjL$X?Gqllav2$m#ZHL ze7vR=Oa$029Rd4mUqDYL<81F6wcjNQV2M9?3?I4zO=Pr~9~k;4L>BP9KtOW(OpFx{ zCFb!oRo;14n@vY<)=2*6KXcZ!qyzXkW7=11;7&QIKb z7;`|s9=iX;O2+O#TtF*j7G&=B;QoWCP^0R_(EUd$w-#!#LBRFyKbjLjk$V61i0=oz z`%i>41b-l^)qaVU``o#IMD4e@%N0H4F5wsG{;uuaKMI8IA6o<6pBlB_B|Rx{|F~}+ z-9PTUNB2(>z58cI)`v+Ez55H38vf4xaeSL7ad3Ye;3jdgI`_v7^TZmm{}O+VIJiH) zXz{#=Rf!ToEzL_nK}#xC1PYQUN&qXl`Kth>XC9C*6#k;O{8#Z8T6m^aS~uxT00000 LNkvXXu0mjfPslrJ diff --git a/graphics/pokemon/lampent/back.png b/graphics/pokemon/lampent/back.png index 315f327bd328c348d42e98a0ccafd761170729bb..ae2a2291d7b230d8f0bf54d1587a61edf1ab2965 100644 GIT binary patch delta 348 zcmV-i0i*u91I7c8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Ut?3K~zY` z?UX%k10fJbfnsYze1K)h3E&FE4Xu$~d;9RmL1k9b-G

      ZOXgDVzzO8|e7@YO~oI1o3Ft`{(>T$$3dZ7a$?-A!rbypNj u3Y$_9;0recpOqJYK7Ru)O7h763n5=J2W+nGgr<%F0000VV1G)o{B#}W-e*gz`Nliru=LQD_E&$lhheQAX0Ub$1K~zY`?Ug-l10fJb zmo2vT5FcO}ass#laYJjQlqsS#K8GcrCqizxT!z@281q+bkre(aqcXE4L z<-l<8#(OdxBM{zlNZ=!QYn(gA4xt20Hh3R#DRf{q5SPXS+)~@qRornLGWJyWUL5`6YI54Dum5bHaA>>d6jUKWF5*@)7iOO z@kH~fZ}(*i{Cw!HO##7jGjvDwF!57=@r+!9-59~qs4fsEMm&$9095|-gZ^3@jl%+} xI54P=120!jaiDx%$RiGrya?7f=(fL&!yU)&eLd)ZWlI16002ovPDHLkV1kI%Sdst$ delta 231 zcmV1)~V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1uh~DuEwAM z005#%L_t(I%iWSO4#F@DMRNno7a*6S17hG{NSuNWs9eSpbLvX%nomO^P8eWAD&G8L z*>U`wTYbqsZ2Aa_Ty%j1VN}}!`20bC9V^vg29*v3SL;CYm6HxGUl;Pw h0piVuMF;(v4tK}yeLboKG_wEz002ovPDHLkV1gvdS^@w7 diff --git a/graphics/pokemon/landorus/anim_front.png b/graphics/pokemon/landorus/anim_front.png index 13b09deed618ca7ad9ffdcdd4e885d5d52b285fc..762c5cd2e7c13356732098ce5d992e10fba26d48 100644 GIT binary patch delta 1424 zcmV;B1#kNC3*8HlUw;K?Nkl>V?n6km4hn^OqHSB49sGLI&@gW}fkV7f8z0gDV7i>32`?7(ataJBNFtH0g={NMf zkz$QTa$GuxSmb?rGxH?oebTi25t=IkcX4_@5mKkoSQXp~!+(%chp}01n6WyA!9vz> zbK_Ku8eJ?{9`H#VuhRu%EN7X2pEM(61rQ#e9iC9?17PI=AwBjEU(%;tDt6IO0odH} z%MSO4!vdvlBa>l^9-ka{dYyis7if)H8DLKBvnD^{{XR^=8WwA)2`Kfx?S9d@_^eAA zTexbW5NP&(e1H7gj(yH>5M_o%ojyH({pRfswfh245{zNx&mJGx@KfrISf&c&0D`677=KL0 zP?;JbM1eFmlMm##v2k?|a`*XDDlboCFf+H+baGO%gH zqfDK8tqSMQ+@_|c&HjAtEPPR4UNc6zTHbyO_2f2W(2X+pS(gReG+syrm9#CefmIKW_(u0f7Q4jF#$$tPs z4_@!ss0WQ()wH1dgC4vg(ETGlu#`fdXNKP&(fmqj|mjP z$moG87`b{N35KKxTA~MuKS+9@HGl8)00d)MC|M6$OFj5L5e!KWHY7ce{2|eU2ZEv7zm)Z$#@tyN&@+1ADs7h#MGxE=G;SHO6g{vSl!kI| z*DYBO7=e%90!>Y#lSB_NMcvWUA4@_ZszMLIF4%2eQzIsL0l^=r!;1E5a>4iFeHKpQSv*aLlHEIJYdlqVxdTX3LmD?kJ>WOV2h zz>I)Q(NM}m2WzlS9Xu38B?aivd;&Kfr6mSB>E>oCAV@0EiGQD=?~#glJf5VXy}>4Y z5AV;*%l)2cnz}`%wzfrhJrQBo_g8i9L{WsXOUOjoO-KzxBN6dEWj~Hv70>5H1$?sT zui-f%M6t}j&*}-X0*Fp8j?XX-0kBj+ginLxm-tB=$Gh;&Tt7a2*`i^;U%=S&b0h5F z)3ei7r`7G!0)MU&D+kQ5b5W-!wA+O#h;I>J9suLu+xC~OtIyh)khv!piUak|kB@)b zb1n&QNSa|@!%r?>zj?cdoo)db~5P2K!0|DzZ=FMqajqLiqMG-Gc=Jj zfU$pG(kjHO+5NUn!^=LcOTc+xYIGQWa5YS?236uda&iNbbu!{SfAd&jbYQg$ckm2QJ`S zG_D&zd?-R4+C_83#!Em4VE;P~z)5I^Fi0^pw|~}B;o%rQWHI~@0;5TQ!T7dy z+C+NzR}5&Qar(9RDtWPo{G0yzCwy=|f&i2_uxoBXF(U1kfc9xy8;Jm)!!X`G3W5rr z^aH3jH8TJ|v~VP#7%%WsC}r2aiNr-N=77D{pS$+WKeXb^a0%UJPi@jl*sWD7aR1C4 zY=3I<9MH;lc-cfiA13{W?BEVN!-R4KLTB$kPBO-if>#Sd1XAMN{(10R2DB1mAD0nt zCbtT`%t|R?>?)RtuyZ5?L9mkFg=& z3}bikH3-+-j*v=v1pvkmD`VpXsAw}+B!5VW-IJKOPcBk2nPE4x3b>|7X%qwg+_Q*_ z9V`ri;2n6c%VXmv^}ta889m?%GR?i8>H#K}Y&j6_i5^^i&h>zw9#5$UulF3T2mVwxEl7XRgEt7$ zKhXnADiq8MdJw1oLJyEa4^Wc+1CsNDL=RA!{?Y&t|NP}e`g6cDb9xZrIQ<8S9!zq2 zFpkrIogT#L|5L0760pz%y)s3K9)BnRo>`0Z=L1NBk<$ZNFqC@mOsNN2st2h*2zsE^ zKk5MphEfk2OFj6$q0)mbK@S9fNcG@Bst0xoqneJL2L^q`jr#%euS2*zqXI1ZqmHUxya@!ih***ySU$#)n+au64+w(){1)&eyVq0?_z*Q$kEBQeJ*dQb0Cqv9 ys!&5Fcmd+SpbjhIT~GdA@f|jVyKZX#SNj)BgZ%CkpW%oA0000^jQVwvd*fJD9;v|6`MEWi?Cz2iEt_DQTJ zG-v}5i4yc`!?{b+L>U0!fB79@h5~TlsK$C%1q=?c*jId`0TXm>z=$0gr##!0fwBP; zou^v_R>usOT|YNcJa}9mZlNbjr3b|A8rHKtU@wF3iO*AaR~iIn&=(AgJp3qJ6*XMe zh%g{+rNdn&fL;OAMTREr0TI=srZ*7Z$-Y;=;wg@z<_X}@rM-F7pvBEjyQ&CtATr<$ q3g-C-$Hg)P&=kPq!RG=2k>W488lE<_GNkta0000O{1urRsXD(>~00SsVL_t(Y$FY1}0)N%HOIH9S z^3|Z#x_x2+mJsV5*MYT9Vl|;b8-PfZz>7O1NfTuNfdA!pgc%CJfukDhT@^4m#A09Z zjRs86wE-h`WSsJBR|d)kOmv=Z5m+5FV0Qi7Nb%rteYl05ER`M*w`*9>_JF+%z9&9U z-Cb!Am_c7KEb{Q9a8=Y;BU-|Mw3QBbnE-kPP!}1Rv%z?;&Hz=6r9~>9U5I|D^j|ZO%1VoCzxf-4}uq}Ho00000NkvXX Hu0mjfTD@sR diff --git a/graphics/pokemon/landorus/therian/anim_front.png b/graphics/pokemon/landorus/therian/anim_front.png index 456f43e4374a735c9f12b251ca6972e851440d55..2ea9efd8b50470c159e50f23a58933af985e6575 100644 GIT binary patch delta 1660 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 diff --git a/graphics/pokemon/landorus/therian/back.png b/graphics/pokemon/landorus/therian/back.png index 653dd9503c26fc0279ed4269920214fd6da0b1d5..4ce12e84d88acbe32fecde9bc7da2cbd9178d106 100644 GIT binary patch delta 575 zcmV-F0>J&21*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?US)?+b|G@1q~kb6aoV{LK{z<^)7)1Mso)%vj&-uQ6P(ux=XY95)g8 zlp(8o(H}4%@IKxD-%(Ef>u(a`dFfCHdP_WpR|*o}})^IGMmTu9k9zD3>aO+Qh~ zLxXDb3d>Tycwi&(#b!@`r-;a^mIOGDlnR}6q6Z*3*?hAdi7}UTV#GIl-_9WN(~Qf+K#*S;}|rrJV`R8mD~Y+Bg_F zlR1#tc!XdK1N3u%Mm+10V%P{V@B^GIq0z(uVGr5G18_FPG#vXX9`gx;&er6Md@jP2 z>29P1+PWB^?~*isM0nukXq)2zL`)~FUL8`q9~wYYjOi4wnej-IjWNOZ2zZEr(wYGL z3U%XvHyJif$|Hx;#y{)OVg~HYHGqrH-6Rl&*o7r&=P^JOBK;bzQ4?@dF%a$nHQErL z>JkA_8Q^2|z$pM`#3|fW3Byq-82lKi-7%+&GA1P`{ENjJbN=&6l0OPiVaiD@$h-gm N002ovPDHLkV1kSR3fKSu delta 560 zcmV-00?+-Y1(pSnB#}W-e*gz`Nliru=LQD_F&GB;5sUx;0r^QpK~zY`?US)?+b|G@ z4GkXj6aoXdLK{z-^)7)1R&xg{vj+Jdqd*oTb(duG$xFssn?`}}(j$+wPKK;JK>Gs* z1m4H{|0C(u>c2jb)=zVbTJu+=pxK4xwP)8Fs_MB&Y&ivJs?egWe|EN?E@5Ah>ZG7D z!1n;Gfi_kWp;t#E_fYxrM1SwrM)RsNcW?J*A1F(j9U4du;NEU&; z2g*ADjmbcI5BTDN&Ak?B=%D9`rl_91g`TbJdjDg!kb!n>Y6qx$A)!wE(?}QVwuf4- zizbQ`J~xxc=+>2bf9$%B5p{r@H>P}_;^8N;zQ97>f1Ux`7Q)ZJ>uUz zqA|mjARv*zYnB_6W%+>ZED*nBtQB{SB+%9~7q*u`UnVp!lX z1$e}>={bgrAc0@#Cwa^&6B=BM0e=eMK?1omL3|Sr(zO;R%}Rtr z?&6=#*kS@~P1qE!!f6b#9S_NPj}}FU=o?N60#2O-E&{;bh4|<$0+4ll?*nie0XyO_ y-c^q6vFor6CSyeIj5EF{Ym#F}e=#}dKcK$~P+`idG?<3~0000J&61my&f7=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00DeSL_t(|oXwK4Zo)7ShW!Mw)E7XdLq|kUYPPVr z9bxJd1SK1&Lgcpas!imH@uvbQ%AqE zPtMWiq{xhq0NLy)f4cRuQT~cdk_2FJl+Ib zT@^KJFKYKifmqL{hBQ|`$-3C*<#ay%)XJxq5XWzM`f)$YE6oL3fR`A~uFDUh1-pBo z$~we+dvWwTNEbQwc#zzRF}6Q++tOrc*>T2+>5H<8;&f8q?P4z;MMe9n?W5*6fZ zfiH-teXiQF|VUkBRB9^n3(h0w3D*arQ3)9|*~JKB}Md@db!8@!q!K5M2NO N002ovPDHLkV1ivT{HFi_ delta 480 zcmV<60U!S51eyep7!(Kt0000?P=%ZT001*kOjJc6A|;W7Fn=+Wzit2k00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1u+?M{~;Ox00C`DL_t(Y z$L*BOZiFxlgb@kYxAFTwZO1m`2Pi#M?PPKJ|+-Gyl5`3{Ts(`Cl8f zT8r7~aybju^na`p789X{upCn=;^&o%v)t7TMIn&E(t?~BR7Gh4Vm0I-x?V+D0#!Gx zg$`zrGo)4By@Q+JdVyucY{5ygQQql5DPd6GMB6sIDx1*2oTaSAM8P%sxkdPGr>z=d zhYT~GER}K`m1SI&*}!d5ltVZ7*l<_yzHaj7#(cR(?SEIr{jYBF-kuGW1GV;JQV~Bs z@1J_cX$>Tg7xaY@GU?o~RDsX)sAvPr;E2XCFE0wf{WZ*aczIC)yy~C&6FAtbeta<( zWb~)}`X_!|0b&<^Tmj;ii61wBoa=PM13)HzJOTtZLhc5Tkspr$*(Sz40i^Te8-NTi z_#Ghn20;+bdILz}LDBDrBLhHAKA?Tz!G{1yOl*AU02%q<=?^~Oi4PtHKkxzn&xbE2 W-5;d#`x)^70000Cg+#RnSKO_ui6!7-E5ij9^LWU|a>36^FuK@vOQLykSWNn2a*$l3>V(+55u_ z0;)9D0stF7$az#ANiF4!jtTIHuPg4KG9$2+Gg5G33Gx#`;p2BM-&&bd3wp7)sGvcUQS z_qiwXB5A7a3$c)bXSc2|oPz??3&T4D6t5bPb0&&?%;9PUgbKJ2eqDh@3A}x;u7Fp9 zv@%U)fwIB~Z+oD%pcF{Jp>%w4!g*VQ-k}1fvi>>Z2;eEH41J(9kO6zQQGvm$YXr`2 z!S^kKxf*ENBt~&K~8I=U}z`q5eTM@_&P>JyO a7a_m53>OTO`BUHk0000sn%JOh|)9M|9vCRT`$!45$O>{8Ef6sg+1moOgArGe0 zi3)}Sz`eIZ249LsM!3RwG^qm1iWv{qH0y4JZ=$6FOo9pYQRq`Ydw+Zp04sxa0KgU> zq%uMbEL9v6cKtrL}<&=zAuBi1ppuf zbP(ndvdnpG4MfG*e;Ls3U-vvEN-_}FfO%Ag&?9u;DW&c_yFQ2n*9|rwqE0=YH%U{i z&iPUbn%#AMiE~hZdSQ4MAjGQ%L-UF2}J23!S{^PsN5vIO2?P}jgKL0UOYWrMQA zSlsQAHiFV10SDvB)ee`k1cPG*%w+#d#4*5AQaSXYGC&6GfBjYk2Cc3!IQuPW2fNcy z88o~C)UTIcf*4dg|Bh3F<*`3q-dfpc}ydYmd`kw+t5y|Dka* Q00000NkvXX1g=70g7k&#m;e9( diff --git a/graphics/pokemon/lanturn/icon.png b/graphics/pokemon/lanturn/icon.png index 37ead9ed846b80864c61ee570e98dac94edcf44c..2c5f696e636d9ead4b107fd13e91122d56a235c0 100644 GIT binary patch delta 361 zcmV-v0ha#d1HS{1Uw;8gNkllc@@N6nS&Ub} z=Tw>R(p3SeeQlxxg9;=m5kP4H6q?b#7Se&93&@BlZ_ohXJb#foCu}e@AY#c_KxH}u zA|6wTPxg(DHFSLEBQO=gRh!X0+Y;tqp=<1h?jAG{Fm)OqlgGGv_T%Xv^IOc`PJY;) zw}?C1%-c`{V%p7ML|DLbXKI=L>$CO)qSbJUt%X@!0WHiJry`J4m{>b7)Mum01XLk_ zYP~|4+Y3AiAY!XBEsO;{yA}f(VJzqvQ)Gqlz!Yd<+#75ooiNUZ_LH12;nWy8VLX_G z@vU27URpn!6^33<6Y2TK0e21a0Mz#ZQ}uf#qcE$b{wd545VqCc7G+?>00000NkvXX Hu0mjf(T1YD delta 400 zcmV;B0dM}l1LXsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&?-DS2aR z0003y^j%Hvt=uINHsOoL-&3~hclRXZ6V+_|4{-l9Q7}F z=v0g=NCQq0TxD6dYeDx=E#jU}^4;kPap{Z0c&TSGWUCqAvw!Z6z!+2Ez8jwf#M{#C z9<(eBu@-RX0pym^w$#RhlhTk9QC6b^pj2#ZOju*&z)Hql0v(bG5UDjC@TtG!C~Mlk zs}8sfan+=BFPDVbSL6%3p}PkQGz^ul_wnPpcplrcKUTMxzExwhC)FTsXfaKLTg2qJ z_&p%T9Og4)Er0&a3jKgp&>YK9nAs7q!gTwP1cq|Ammaj`*{L!B&NWbJM`$wtDzSjH zNUbnEILT|>k`pHLk1v^eVMgE*tT6r#xiDTBZ$tA*UYKYojJz--7=#&1?}d430%7R2 unuPh-;ii_=)c*Gl6XrmeaL9iN^8*mJ)!wm5^ZWn+00{s|MNUMnLSTZaT(pJ& diff --git a/graphics/pokemon/lapras/icon.png b/graphics/pokemon/lapras/icon.png index 2fd05fee8614f0e8f6f43b0958a8d5902e3e1068..97ac284581f7f7e79e56d46c1b4fdf0b8bae3645 100644 GIT binary patch delta 368 zcmV-$0gwLc1I7c8Uw;8nNkl1BcPoUD>#&it1E&3RO;T|_}M?(cm5dr!^IV&0O*`h`5SbbV(EdQz;x#W zjw$YPAEfw{DK_#lc#vvzP%csopbp7YS%C1|iE+}|2)xvJBY(!R&CsdNBOxO9I=+Fv zi5d@7Y2P-n57woKwQKQMEs-?9bql>$D+!?C(g25jRc*75(`APSn!nXhxVICd^L!o5 z#GF&5!PpF;aIpWg=-UvlIM5JuPT3ay&N=R65sYGxSV$je#9Q;vH(sWE$l2Z0MX-}O zPZDxK&a!@zJZV~C%>vPWg`p1obMeC%P816BTYUl3TB?7M52CRE O0000IjJXH;41eRD4>-oSOMMXIQ=-|# z%fW-xlY@3CSr7UU&Gi5fo?9`E+93sA%Cr*GaLA!knFc}xt~$Pjt_ms-sJLsY&mj*cOm8z4L(et5N`GqfJLkBQ*=Q8K#7z3YAl}+N-*`FsL(1;vo-eITc@&WYa*=ei=y4E6 zE?(g*X7}37ds}vu5Uu;sX=R0JLa(?Y4;n$fAJ_>3M~+q)0vL3#eypt@bT!6UKZ+U} zec3Lz-Nkl{}#LxkXDMFD@68ClnB)$ORGlYnNwVgVqE`yQS!rj>|s_%j;RUjeq z4$1KR{M`BV@H~n#nLjgX8jwjduu=d6O{W2Ot_i5=4*3*=6o24G8jwS1;d(#@S-%C! z4>H*Z(1nHSOb37+eo56507K_GK#kFcDY$EB0ixMc^_=Wwmset-W*}rq04>%*M@afX z>|UfhR5v9C6mVk;=>f`=15My2>nJM+9B=>{O=zy)>TXL;X!fW@&7&4gdXYW(9i0OY z2>ox>MF*yL4}b2xieIIkyvCFdZpC~3!G_%kNdlVfdTij_;d2tenCbiA@K2CL1&ea8!u1Vg!sB6o7zh?NlQ&lYnRCOz;5Z4~(AnWz-t%>Y=7ZDV zI5@csWX!`VK*bA57FoIos3=?bPDp7~B&43r-VTmW5`UY}XPDM0k`4**;%V?TxhcAd z-Q6l7WUUySc}G~#=@g5NE~%fj!$Lch$kanS#H+Z_&TAvt^K1&=G_K+?x}vcs$EuT= z%zry-T0b!UMnA}354b{qNC9$aDMgnD))fGiucu7w!8pL2X6b)X55!qEqx6sJfuib3 zK(l7xqJJJJsxdDB=sf-R6kW|oJ{j(v*8>$v*JZm9rTZh=A0%C9%5~%Pe@b=97yFg| zG}h3JZo&&z5KX85P-TQrh%#L_RpVb5J(?^?z zx6`^W0Gdr`J)jf4NJ~hSIQ?n7NBv>*NFZ7b27k~1*O|jwKS|tu*sE}T1I+?F84L%> z^r!8m9H+nkOi~XF-VUHb)8Cx!vwDyScS}Fy^&oU}@_Jw_w0q!oMj?5NthrN)?0KVyW39kqEZ1D(70$S_%)vAwwj1=s>5h@S^whODc zt}uDDI~2zBgF;B7zeItOykJD_fcJ#W)M7{~3(6>A+=Wuj7@d;$CT0B$*22Z=@uG08|@9>)?$mB>pg zF=T*Zicln!*u9+ri7$Zo3?b^k+D;u)m%&JE;m%HrWM68D2!95YXGn+Vm*>uRaese7 znAP7YF$>6L4bU?H1ubL&cc%oz>m=4Gx{YIetD5u7NoH|gM^#Net zh_56CD00*Xs4-g6Qqv_=fVkSCoaa64z4b9rQxMWQfHdxdj1c!iEHCccw67Ulz!{I= zE+EX?(1d8n7JpLtfDJZ4qY2He+r2%`3QdoWsJV1RlWwHV-=lrx0-=9f_4EYR?;SmO zGk%nMavSqLI2HHpCkqZ@Bne2C91PBqz?{q$-+y&qZXvW1Tm)yqdE)1)9ajM= zZb($5%V|JFs`-PE(x^yCT~+S{XXlBNkQZ66TO?f);MI%ZTk1w7d~i@DglrarOZOD> zZoF7*^ho`(6Plfn``Sp-G2Xyt$B;&o-eB{)6m{{WS5IQ!#4}mUYF0^eX5|CrU*rR0 zTK!L(K!5UREzAC@@n?V-9Z#9YgGqq4!0dk=4>;=9V*AJOKoI5BKRA66uH%6qDl6%D zaAp6tAd5N9m0|BH9*Bs0T$Tf|-Jj6>z{x`Mjx)CZbK2+J*l+t&t)WGp+#~xlsph#^ zDz-n^uh}jN6B9~p|IqPl@b~!khuse!52I!F(|>#PSv+vRe72~(?bgGzN-RR-0j>B! zT3F!QpXxo%4?CwRqSask6}ZeMZ1$7H{l{J<>TjbZfM|jpF2WCjsU!p)M jydfR156PJM;Qy>&W#(xj&fcc_00000NkvXXu0mjfYYd#0 diff --git a/graphics/pokemon/larvesta/back.png b/graphics/pokemon/larvesta/back.png index 26e9b61e0c7048d136d51ef22bd88d5886e8db92..ed2206f84d690a9f8d8af97cdac0a0daa61b0bf2 100644 GIT binary patch delta 524 zcmV+n0`vXr1oZ@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nSN8K~zY` z?UOxA!$26vuM)vU$hBDLX0C#6~!$G85|uvduyT9Om?v9CI-E5->LWs#8m_d z4m#_-jr7EDY{%c^fT(7k&0lZ!Xlv~s*0fb9))Q|u+ zN&pL?b~UgGmOamNivWawZEs8nIq|*)>cV18>LNzp5q)8?N8)e`fQ|u<3jn9ZiY+97 z_Bq$UJpgF23k7gWWhd^E89Yn@LkTb@@*LHZ?KhwShTXt8zy?lMw~ZCChq^)Uj>}*K zVm#lRg^^mCT9c=LUBbD(f2(!abkhxX z#)Rtoq0v**?5ibcoe#BtGd;~dx?qITj6r50*3Km%jHgpHGYh%$MFLa8fzF^F#;MlN ze4dI>XSg1d^N)$ruQNL5fofrJ^Z6G0XJuj0g)OnocT?d?9^ih96Gpa@DO`n~pNCi) zSXtCVpU#2hxQHxg#YpmROyf&A6Zt6h6!m%J=W;M=#`yFs&e8Ki7PE=f*+UdXFY?oA zA|8rYJB=M4XCfq^nvE+7#Ha=uSdF6B+3Z1Fk5uZ|0y&UQz<>Oq0N@KO+BpuJ_CCA- O0000G_rur7L`l@f0KS_fcKw#SsxGy7YhA}qE8UBu`+q9ZJNGz@DE(9*!^8o;dc^%enu`v3}< z8wOtOLIS{8(214PgGVu77yz7$JSUZC`&FcYVcXRXs7j*M9S}+MaNFIvhafmbge*6g zC)g|-M!&n`I-Ud&e-cwCq`cg-Ao2`g4oa8hV$+H(8k>g{K%Ku+I;vUm23upw)Ok?@?xAT{lbA*cq+qe zOfNsKq&`dN0IqCdaQpcd`a>$bHmZwlzUvB$X#ku$P)_%wdMQjj+etG#4ir~)&tXfT z5EhZ7IE}uINq8t_5?o3(MfE&#QaL!&V|;oR&;IjD7QKnm;=%X*m*CZTBp!=fI|&^g z7a{^cHXByrict*|Q1boP#o|F6_hstP0-K0k{r`LZR(t_0+BptkqAgbd00002&fGYb6 zuos}nofxM?<}48H$!KZD3{~4LRpDd@YebPfsaG9es3KyadAVcsUO;1Ii2cvP}TK zeg2{4&im0jN0tI>ZC9gU-In=Hd8q>QYhrxA$R(}hw(LzfggsK7^{0G)r=&B=+ z{nZ1q1k7fmZ9?Y2wt%yTia$UH=HY7~Cv%zpPZ^-}z``c`Bx#9Jzo1B}>A~-3IE9)X ze0a_qt(a6>4_W}57Za0&KZw;IV6skFzJo(33+O?hg2CY_6noG^no+@szW9UGV+yEX zto|UgKW?Cc!BX)DZNMK;!C<`jgZAJLs9*q){b3pIm|zs(nD;>l#_A6XKnTX>54d3b z>ksJk-28zMjLjbi!AMtsP`F@l0Xdfafh$xn_(3JM_yZvrDY3ghyyo}=PTr7YG0)sC P00000NkvXXu0mjf5``w3 delta 654 zcmV;90&)Gx1>psdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L(1G__A(q z0006+NklJ&xQU6o74o0}SA7Z*Y+!4LlcH+VFCKNHbU1>;=Vr!Gn5ioMm|fm0)1ftZ@XyhF1vuW@Ap0*gQnb^=T=hIJa$Ah_!93Wna>}M(T5`n&nmQMrM1+1JD+Y8ZM0qRE2oxm7A7?&bo zu$rk=KsX({;D3#FL2}J#tvWqoP$ok3M*aze;r?B0q5_YdYM81GUr3M`wQpgyo)fi zTQ0yM5`ZF(>=B(cjMEI1zu=GXr_c1q2>Ba8q}rm?<$pUw9QKvV7^mBVbsPWLXm=Gr zZGGO~+1)k;Y0XxF@OGO(NL>V4x&uoow8bayO%JAm9$4eh_k{(#I~4qZGO%}FL-u7} zUjN4g*2bKJR6^sTKe=wH(ffbBKEdF4C{DBn= z0+K(hk2@zA3vf(zWCY{t4=a!nj5mMa1><*rz_LF;%^xy?fv^6cdBG5p=9=UWLbHM) o4jP-)A2Nc0*xdZ#Umm{zPTr7Yh$-Z(00000Ne4wvM6N<$f;$B!RsaA1 diff --git a/graphics/pokemon/larvitar/icon.png b/graphics/pokemon/larvitar/icon.png index 2247c85e5162aabdcff02e76ff5e46f286bff650..56cbe32aba9cce927e8de1a11b251515db62619e 100644 GIT binary patch delta 46 zcmdnW)Xy{_fqj;zi(`mI@5KHJ_OE*Tg=YOXoXo>0DIh;1$&~>JJYD@<);T3K0RVi_ B4>te+ delta 104 zcmeBY+R8K`L7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKV`nwzS}c9s2`Dtf)5S5w z;`GGy3O#OtrTi?13L=^(PD$7of%L`P`;OXk;vd$@? F2>=c&Af*5R diff --git a/graphics/pokemon/latias/anim_front.png b/graphics/pokemon/latias/anim_front.png index c7d591c6a180e6f3603eb4da32594be821e9cc03..658003aea26675d7a5f982446d2913a9b471457c 100644 GIT binary patch delta 1004 zcmVA3t8LRxox9W{tr^0xS0Dg;V09Y)W`Af|sve zJA$YdIz{w7Jpbj_Kb#t8Vv(IF!P)cGcc1;8U%cFv(1V2R!l2 zI|#6TU0Tjv1L?u0%@9Mk0%edT8Epi<`+$al$$#vv;3jV3KZ*Y}fCQ2Hm30D05b0NP z7l23rkcXWBVhE!PK-PrO0U&aJE5hgkke=D!9RPycaH$Ey4)QZ`rHF9V3TtC%ya4#b9MrPI6U&jNVDkfW0VCWf8h+SbNtVL! zgMXbsi8WxX`N7(}j8z*(@$f@b^JPwPg{58mKyi^R-_H+}3Ss!+BgTCEASK@@et2+I zGA}>S{Hf%J-MuTmeCXwe=uGm%?%pL|F1-8@{h;_^UsdDdhv-uALm$^>>gR{N;Rl-e z_yHrV6hA;b@bH6fMDqiH<_8VkTOs*D;APMiKNR96V{PcXek+>Dn7G32-!3FK_s9O{1vf1Q5ppR200X;8L_t(o!|j&8Z`(!`$7v8a zXe=Wk$f~mtI2-F@X%77X$2)NZtE5&NgbX^VNR{Zh!gs<9Rm=Ji6PSq3_}T zuszRCk9ri~uvO5bM}Ygju@RRKBE%^Q%nUp$pFh8zE#Ckb21J%iA4 z@8RP_CXF^J#j_p&r4Oj5EDQlEdI9eDDIK8jWNru?H`u2r7*RTeW24b3zPYvcoc4kC z4*?R%Oo4kpPoGooh<0&bhNgx4;D20ZoUx5hSO^((e~{Obg-NE`$}wtxG9gmQeE0eb6EmpCv%1k*% zp+Et)eID}ULWr}fkev^^tSH+3t1`%9mgJass=tWpOzux7GE)Y)5ann2)M&=H`-e>J zD{+3tre?ETKhy_25I(crh**DFS|p~neV4~o6Mx;QZ#4-0kW~Wfoy%NDXJ*?exs5G= z*Z{;K@r?lDkn&1y0}urO{!IX)38M`_R)o<4AZmUWgwX~d9X-EW00gJuq9hDEfZ(zQ z1UrCqCYT^@2aqB`Hr@abs9!l7<68qrO+j$f%D9Oa0AK5cT%B-SzuN++^8+^l!(A&X zet(FKvDx5=-@jUN~evc=8(z?hVpAMSE);|C>q zRPe*&tCU;$fknS7e%Rf+5{oBRejulcA9nXH#A0sc2l89N5Bo(mHhv%%1wV9gYzB6I zh$?*4*(@Ugll6%q4+^!(+hq`0-=t-N0PUbp#T5?07*qoM6N<$f;VW{B>(^b diff --git a/graphics/pokemon/latias/back.png b/graphics/pokemon/latias/back.png index 941f4909331f5c55f441a47f0988239cfbe8b496..4cd29d317b012bd3a5a1b68f4568a4a665bc879b 100644 GIT binary patch delta 540 zcmV+%0^|Mi1ce2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0p3YOK~zY` z#nruT+b|FZa2k98D^|x2rjn_PWD0_SPLeKxhYTs2?EMHD_XVnq1q4KVumTy9JVM?j zcND3r0Y88&uHlZIPxfY#e0Ns=`y z0mOy7z5*dm)&&C33{Dq+Z#Ou@7lKPHW&m(pdBD*zK$oIWcTRvK050iM^-dw_Vj!>| z`!7Cms@2&4at^_JY^aVi+$}hq>N@Pd-TZcf^lAcUAMV{V%G7{|>X!L$1mOJPlsp0?3xXeCoegNOr}eXQ)~6>{}U83Fl|HN6pI0~Pa+FvjDl8dV?g+Bqp-l2va}$3Be1Ww z@P)9im9QaRN0IbKRvPFTtL?vp&T4s3*A#+wV#P(V48yAux`R@81Zc)?BjplQLkg9` zb!|fIvYY<m-k0pz|SPjRSGuvl*J$+a4{gTs){QUvD8#mJPjWN zK#F;#F>v+tG`NT0&ZU<69tbj4!0u$l@xC2OCKyH~14hu~q#||Ll z{|SUHpl*X@in)NMPb_fs$pvI=>H-+I?~)l^MlBHh5ooVAGnr_w6>ClWwj%IG#v0HX zqv=lsXSLYMJ2Ziv7*Q7X&Coc4d@JQE0;sW=2+;@P(uY{8f4FN*EP{vPwpUH@OU zSR_U9ydN{M6p&+HX(%GaB~@?U(nN-}0s;UYCse&x-8fZW5hNN=8jxmz24n{aSw^*m z2AFdVbmKIUWn)1DhZ*B^+XE;9q5+f%AJ_#+dK#)+*;+tgqyBDt;2W~N(#C+D$1?x` O002ovPDHLk0$_qvK;!-Z diff --git a/graphics/pokemon/latias/mega/back.png b/graphics/pokemon/latias/mega/back.png index cc0bee56b4e702a2e9591e0ed0778d47e75c4cf5..33bf9a297e6234a095e971b27f33b906d5ce9126 100644 GIT binary patch delta 636 zcmV-?0)ze81>^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zrIfL2+dve?&jODDpCd{ZforR+mkjb50)-6Hy<#na6slHxi<4bxFJn{U`j!kG+pTN< znuKWW|I&9Soh?Uq5ws7?6TF|k@6*Y8WK(pfS!yz9HX9H%o25K9XfzwZqeioOsC#>K z-z7mQ!+Sl5nL{E3KEG3cjj3kK09=XFs#&V%L*)Vg;Q=V#b9+!9@C*=hd4xDZactb~ z;gvWV=*AAd+8+ZTB5$$r=+Z_UA`s_7wMf_qCH_VTiU5BmE>Eox&*We36vh)dvsx=4r}0Gu-X#g7Gyg^~ak#$)0P`MiX&W!`wqv3;)pZ?%hc zz6Bg}5_HUoc@;zQG|)bPx_V`YfXO)O0GtlyArjJ&(HX&H9Q|{~petk8k>m^fHwX8hB@b{s&PU2_wZAmT2Az8nra|IAd_c>DAIbDhSxIGt4jmy7=fw$UM$2{q7E?ysSi2UK=7ae`Dr08 zPV0>FTlE$t0tr7JXkdMG!Ky9i$r>0c02k%`9z{Sd*q2=(o@#(oT7m*V$`$D>LjD3K W_~;ic;Z!*Q0000ece}_8TqlYdDN*SK@ zAYl%P2>9%mN=zkN55Sc;t&=5sKGYuYA0B|>J+}w-0cU`i%Ok=Pieut-4{wd7flln` zqx~@eV)7CbkFRXRF#<^`REmX-P~tCypa}3s;%aX77%$#Vk%J?7{@&)1GRCH=7g(07 zxn)!oftd#Qk8){geU`{pM*7O4UJI*lFxw>5Bv z^Rfd`4J2#ef%=mYI{;W^_)8uN7z-r<4xSU_PmJhk)sE)B!jh%tNH4qeo{8rpM7g_ZW2be;9T2XdKcG0VmK4_P?nE z-*p*uEDJpU+YOY9YrM4eZ8_6GShVZ?g*;>o(#;q=A<7o;`r?}115*VQqP>Fpxf0j{ zo(Ul~E9hx1?=52hRtPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um11L#EK~zY` zg_XZ<+b|Hu6#?2)TiFe|R)uah6}aeTi%AM(NtH0t+MrRiwvBzB)zakybjntsQ(vWh zsNRv1Ecs8$!LWTlefRP1NIAHU=)>tb2UmYU)Z`hUH~0?_BhVkSL-8Zd35X|$fpM>* z4k}D6b;v>_22P)-1IrhGCsOvGN#V-}_{916P~4FK1nkKmC4G840{FNOkf4dU<^apD zoX_{fwZ1}N3Weso9!)$`ju*q~=~uJ^n7CHV@c{0g;_)_M;|ZoX0r>EP3k!HsUK!&y zo+*YUl(%T0&m#o96kvhIWoqJ@QG>CBSR~GU1XBEZQAi0Z6E97FGIz)?|MWS-et0m2 z$BU(v$5pv<+2voxgqS1n1q3YWcv<=N1$!xk1z;M%LU#ombmAIffWYGvAnOX)GzM@| zv;eh4w=TZPfxD!&E8sXy4q9fDVOQY@reovN?-s~g8%+^kOFTW;^LVTt2*~rI1&W3oAX5qH&rW^*lc@%Hh_BgoWkN; zV1NR<6+smT@ z77YL_$Z=PHVaOQUT+OMbvy!D|QtlWlblI6$54V+(EXAqM!PdZfcn%T-bk%2F7TuYr ziNV^T^`HWR4&c!U58O~8!)Ol50rqdu&43TMqj^Y|4xx~pMxZ}thvG+^6A(`he*@!QMIBU_Sn804 zNcc{lr~_*tPNeKVv&BF@z$ebf2eXs_1nk*CO8V>Z2;k#BK!PUXngcAqaz5V^*ZK;9 zDdd{(dNlD=IbIB_r(e+yVB%Ua#{;-~ipSf4jW2ME6MzptxUhgH<&`mRL?1u+ac)VCzd0dq% zmtFp4Oo%xGUqC=n$IGTy?4=MEfN2DU?g}{Q#5IJEz~dAk?F!g!4B#Ya0cr_b^yw z2|Ypp6xA6rt#ql@Ey74Jk}om;TQg4Bp8E#yNTO7vf6lV(9@7p>Z7+`sC>j7*kYQF~ z$QavP&55S7k|t(S?ikB;*_l`m(@IH};?(D0Yhb+b zfJYl4^e4mlL#Vb8Aaf0_Lg-^rHGNO4McW zT312PRXn+yM8eh~^ftnQmVOPW25|ERaKrk&knZDM03ER!Xl0bL-S1MUT0o$80k>>@ paRas31GIiHy+@++$!0qy{sCM5hf)Xf?}PvV002ovPDHLkV1oD~hlKzD diff --git a/graphics/pokemon/latias/mega/icon.png b/graphics/pokemon/latias/mega/icon.png index 5988e298b624efce152e8277a324bc03216f7199..0d022d80273d9ea474722d230fae73b9a9a645fb 100644 GIT binary patch delta 287 zcmV+)0pR|e1N8!sUw;7rNkl04m2xWFch? z4wPVIQ5Fz4s8eelJsBQR!ZSJh%r;oxYIg(j#e;NItQM5 zLTv;Za6o*HnyU%(bIf%fD;hh=c#&6+7+Mb2WPGuK^8=xS)tkkcbGKeP(oZ6I@LOkX zh~xIrIB9*mlRu*&>4NsVk;Q3L^T%(X^WMa$WU%#r4nH}Euk8=#@JF_<+HkUc`u_Ic Y0R?~b_|W0NNdN!<07*qoM6N<$f)uKg761SM diff --git a/graphics/pokemon/latios/anim_front.png b/graphics/pokemon/latios/anim_front.png index 63e34da2e2d81daca6bcfa672bb91a759d89945b..5e952f1569edf7a983af093060e415a6e0cd1728 100644 GIT binary patch delta 1334 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 D04jnd diff --git a/graphics/pokemon/latios/back.png b/graphics/pokemon/latios/back.png index 81ac5b3811f52e3af79dd58560644f0a84263407..7c88847585ccb3eb9d81dbb81ec3bb9230ae746e 100644 GIT binary patch delta 545 zcmV++0^a@m1d0WaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pm$TK~zY` zos%(3D?t#)k1O1i`Vef_EDB$87?% z!^RhTXC6m)oJ4B(PC39ypyoQTy8x7{>G;&|Sea{{{(0r-`oo|W==aU?y5|BQy*RU~sqmR#X7MKu_mMpN?FyVoMfL>X04lSV8WIl@-pqQdUI)^tV<|7br z4lwgyRBKKfdH~Z`>?iA2UAO@S0_2!vtG|r^C}%VPTuL)o0mLm#aYI1>O)zHVzn{1P jDfXu>r7`ONh#>d^Gb-?lMWbnU00000NkvXXu0mjfPxAU_ delta 533 zcmV+w0_y#W1^Wb$B#}W-e*gz`Nliru=LQD_J2AecVQK&X0p3YOK~zY`os+RjGeHo5 zk1PI7=`VuqdR&Y?MwY$gT8}I?78bG!T0}XCVq+n}Bb}fym)?Fp;=( zCr&ZVemC>Y+-?wjk5FQY0zSeFQ+tg)kHUczGS67xQpQqb;htmxf2G&Opp&pbsACo6 zD%s-zp>qYe-RM3ia()nut0WqC_2k;=dx zvOq*>7oHBeG1>?uy8sW2r7{^w06a>+W!vmKOFQ>&BUi=&dfVEruY~xIKwJSwJ|Jux zWAdtpJ@HyDfe#kc72w<6Hlxbe~es9=x+a?10y+q4&~ZIBa~jbK?Eq7)~O! zJI5U0BvA7wuvG!d<#c@PcU(j|ss+?2;)Zb188Mgk>wFm00)79z-dX^Xztojr&;a!L z=U>H;e|c4hCV=U%9HQUk*l7YrjKZ&n`16$Kiy?-8TeMgJf17^b=B|DXt&)KBj$OmQ z8GU@3v%rLav}A#*!-NM40(xc1IkbR|Ci7X$0L2s)(mA{^W8MP+rvNkmqFQt6&;yu0 z<9YIP)rBiiAV7{uw)$)YKsloV;HET#6+m3W6gw0IPz7UF-u=WCNb!8?rZh$^OMC(| XD)5T~VK?vq3jhEBNkvXXu0mjf3$yfW diff --git a/graphics/pokemon/latios/mega/back.png b/graphics/pokemon/latios/mega/back.png index 2f938d6ba543e8520182a33c16cc535bde58f241..ce13049a75d0239790f9b2ebb8567b163af167c3 100644 GIT binary patch delta 636 zcmV-?0)ze81>^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zrIfL2+dve?&jODDpCd{ZforR+mkjb50)-6Hy<#na6slHxi<4bxFJn{U`j!kG+pTN< znuKWW|I&9Soh?Uq5ws7?6TF|k@6*Y8WK(pfS!yz9HX9H%o25K9XfzwZqeioOsC#>K z-z7mQ!+Sl5nL{E3KEG3cjj3kK09=XFs#&V%L*)Vg;Q=V#b9+!9@C*=hd4xDZactb~ z;gvWV=*AAd+8+ZTB5$$r=+Z_UA`s_7wMf_qCH_VTiU5BmE>Eox&*We36vh)dvsx=4r}0Gu-X#g7Gyg^~ak#$)0P`MiX&W!`wqv3;)pZ?%hc zz6Bg}5_HUoc@;zQG|)bPx_V`YfXO)O0GtlyArjJ&(HX&H9Q|{~petk8k>m^fHwX8hB@b{s&PU2_wZAmT2Az8nra|IAd_c>DAIbDhSxIGt4jmy7=fw$UM$2{q7E?ysSi2UK=7ae`Dr08 zPV0>FTlE$t0tr7JXkdMG!Ky9i$r>0c02k%`9z{Sd*q2=(o@#(oT7m*V$`$D>LjD3K W_~;ic;Z!*Q00004N|O0z64XK~zY`rIaym(?Ar* zFP1V^%B2?SVktNVvUG4RQYEAg_B~`Tm4bx9J1Fh$!gZvmA-6Cv!p6#{p=wsX3-8Xp z#%bece}_8TqlYdDN*SK@ zAYl%P2>9%mN=zkN55Sc;t&=5sKGYuYA0B|>J+}w-0cU`i%Ok=Pieut-4{wd7flln` zqx~@eV)7CbkFRXRF#<^`REmX-P~tCypa}3s;%aX77%$#Vk%J?7{@&)1GRCH=7g(07 zxn)!oftd#Qk8){geU`{pM*7O4UJI*lFxw>5Bv z^Rfd`4J2#ef%=mYI{;W^_)8uN7z-r<4xSU_PmJhk)sE)B!jh%tNH4qeo{8rpM7g_ZW2be;9T2XdKcG0VmK4_P?nE z-*p*uEDJpU+YOY9YrM4eZ8_6GShVZ?g*;>o(#;q=A<7o;`r?}115*VQqP>Fpxf0j{ zo(Ul~E9hx1?=52hRtPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um11L#EK~zY` zg_XZ<+b|Hu6#?2)TiFe|R)uah6}aeTi%AM(NtH0t+MrRiwvBzB)zakybjntsQ(vWh zsNRv1Ecs8$!LWTlefRP1NIAHU=)>tb2UmYU)Z`hUH~0?_BhVkSL-8Zd35X|$fpM>* z4k}D6b;v>_22P)-1IrhGCsOvGN#V-}_{916P~4FK1nkKmC4G840{FNOkf4dU<^apD zoX_{fwZ1}N3Weso9!)$`ju*q~=~uJ^n7CHV@c{0g;_)_M;|ZoX0r>EP3k!HsUK!&y zo+*YUl(%T0&m#o96kvhIWoqJ@QG>CBSR~GU1XBEZQAi0Z6E97FGIz)?|MWS-et0m2 z$BU(v$5pv<+2voxgqS1n1q3YWcv<=N1$!xk1z;M%LU#ombmAIffWYGvAnOX)GzM@| zv;eh4w=TZPfxD!&E8sXy4q9fDVOQY@reovN?-s~g8%+^kOFTW;^LVTt2*~rI1&W3oAX5qH&rW^*lc@%Hh_BgoWkN; zV1NR<6+smT@ z77YL_$Z=PHVaOQUT+OMbvy!D|QtlWlblI6$54V+(EXAqM!PdZfcn%T-bk%2F7TuYr ziNV^T^`HWR4&c!U58O~8!)Ol50rqdu&43TMqj^Y|4xx~pMxZ}thvG+^6A(`he*@!QMIBU_Sn804 zNcc{lr~_*tPNeKVv&BF@z$ebf2eXs_1nk*CO8V>Z2;k#BK!PUXngcAqaz5V^*ZK;9 zDdd{(dNlD=IbIB_r(e+yVB%Ua#{;-~ipSf4jW2ME6MzptxUhgH<&`mRL?1u+ac)VCzd0dq% zmtFp4Oo%xGUqC=n$IGTy?4=MEfN2DU?g}{Q#5IJEz~dAk?F!g!4B#Ya0cr_b^yw z2|Ypp6xA6rt#ql@Ey74Jk}om;TQg4Bp8E#yNTO7vf6lV(9@7p>Z7+`sC>j7*kYQF~ z$QavP&55S7k|t(S?ikB;*_l`m(@IH};?(D0Yhb+b zfJYl4^e4mlL#Vb8Aaf0_Lg-^rHGNO4McW zT312PRXn+yM8eh~^ftnQmVOPW25|ERaKrk&knZDM03ER!Xl0bL-S1MUT0o$80k>>@ paRas31GIiHy+@++$!0qy{sCM5hf)Xf?}PvV002ovPDHLkV1gT*hmZgO diff --git a/graphics/pokemon/latios/mega/icon.png b/graphics/pokemon/latios/mega/icon.png index acc9e11ff4325097444514eb4d72fba657e687c3..8d594c2fa7365e4cf054d13057f2441e8ecc00df 100644 GIT binary patch delta 285 zcmV+&0pk9e1M~urV1NHfL_t(Ijn$H|Zo)7ShW!R7laYuD=K&(PkqCt37e;jRfDl`I zDg#eYbwo0zVGGJN4gqYYPObPS`_uXN{XPrve*zb8MHz!{SLW^kWFY{R<1Dg}G6qLV zFtR8MiY<_KS$G8KZTB@3!0ZHb1I}c|NzUbjR$Q%o1*_qBxPQQ9L3?xYVpeKkk=9bW zYik)|AycAlOQ7~Z5*Z?Y9aQrk;-}xs)K^rxm*6xlKBzl#(kj8xhK%h9oV46b`^LOl zZb;h+)4Sapt(|YTRb{xg^?~n!xDgx=LBxS~v-f9!mo`LD(!~;gsi*%Ax9NA^;Yp@1 jYQGMr50@0;7Z&;f!YKAS@KwUl00000NkvXXu0mjfdGduH delta 323 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 diff --git a/graphics/pokemon/leavanny/anim_front.png b/graphics/pokemon/leavanny/anim_front.png index b827be85f1c2b5aec2829186ae423540488c89d2..103cdd8608e09f1f748365d84f46a8b50f45408e 100644 GIT binary patch delta 985 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 FV1i0p2HF4s diff --git a/graphics/pokemon/leavanny/icon.png b/graphics/pokemon/leavanny/icon.png index 791cc235eaa7f02bb6ace57976d4d13f6dc24f8f..f8997ec19fd849251fc864afbf8e3b939825feb1 100644 GIT binary patch delta 231 zcmV-K}|sb0I`n?{9y%=AwPe)NklGhcr?<)Qs4f7*RcbvYwyq2k_U0fEvs+QwqES6HRZ` zvON2<1X#9xX(Tvx-Oeb{x^64kv9Z?fg$N$(T>+Twqr0jxwY@1(Se#eJxCzQSUML({ zfXGjn<Gn2$u>-uDpd~DJim~ z!{dq)W!ycj#^d!U_1B{LfJPoU1rET#!y87XXM2tT<#n6u7@V4Bc%#9zEbAhkSQ%rs zkqPb09e^6mqq)L0rMZErnyiChQhA6@7xsIJKoB|{K6`Y9DA_QzDF6Tf07*qo IM6N<$g3)YjP5=M^ diff --git a/graphics/pokemon/ledian/back.png b/graphics/pokemon/ledian/back.png index 290e6a1016ca098d69e36fb2e376687a1c4b6315..31c64920becf67d4cc7b0ec465f29c863bb93e49 100644 GIT binary patch delta 679 zcmV;Y0$BZ*2Brp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80)LT-8-FQy z1tSDWkB&N>b!Doc6lqgaW(!FAG*_kZOSq-rVx1zLT-;`67BJXwRFN{BJ>SkhJN&c8 z{}`sd1i%7jD$1FM`4VejV7|nfa=OlRfCgZ`34l)MRp6B-7=Rfd#sIJhn9{J~3?n8$ z3!UeaG;~Ckg&MfjNPGZ@gb*=za(@9>Ddu4%G%*1rUJr=PBoIO?A%s8Cq?J(~gbtVk zRxRL7C}e&oKpK~0xX#2d76I=PNS7*%0Po`x@aY0bM!@@TA4b_LWmuyY?!S)aaCMZn zIRduZ5pa~Uu%mgvlo-Wo0g!)&z`Oe);4*L+0>91ybn|AQ@piWz_UOiB=YKmm0Y7&? zh5)8%N}hvmj9cKrFqCTZR`(q}aBwYHVfWoodEOGqZCBah#bLlU%RK-5n+v2VISAbZ z3Fbu>A@G2m=XuURf=6j(K*{Tj;5+QWHr!_f_B18B9Xb9e4^DbZa*+t}36V`+R|H`1 z%sHoIW2_ExGSp@)2H&V(Yz>h8;yQ$^V zkcPVyyp%L(2Eyjiwt})?+wxNwYJW(+jOn|3+px4mdrihV;2(!!`~`xzI>JzI$SD8- N002ovPDHLkV1i6VEzke} delta 690 zcmV;j0!{s<2A2kqB#}W-e*gz`Nliru=LQD`1~WJX_Mrd(0(wbAK~zY`&6Kf@n?MkT zp`boS7N>~f{0wNtHCONoMhKGLI_h-Rm8pVKq`jIlTR_sMxhjoc!Yu_C>lEqa;x;q0 zYYa9vRisR3&&T|;v;VAR{fA+@Qvgh0wxXQ9JzruD44f}9r<|@ce;%L#xX>l+g)RaY znqUCV04WB5OTd_hljayH0b1xdpDklg`B)h@FmfqU7jG7_v zuJ|fz17Hi!Nz`l(Jp?#}w~7YMK-@mNPE?g_TYd^-DD4l)hp|I{<64fEFvnzU5B&4^ Y3xc>h!kD_ro&W#<07*qoM6N<$f*5W->i_@% diff --git a/graphics/pokemon/ledian/icon.png b/graphics/pokemon/ledian/icon.png index f77e954468d8958a7cabf7abb16f5be6bb0c3ede..6497773ae22635f6d87a2422e7e0655900297507 100644 GIT binary patch delta 276 zcmV+v0qg#Z1M32iV1M>WL_t(Ijop&5io!q;hW8ET9U|BsB$bsQ@k(vHYi&Z>EreTy z1M5^)zMsW~>#`xije^WvaB+7w zSz*%1{jC*d=0E!;430do!n9rwD~w@!0G5jwd6EWK6a~?!(vjxrdl@JX6{;a0`at5J a^#^nbkrI4ZAq^t{0000O{1_v7yt8W?r z008evL_t(I%iWT(3c@fDK=TLp4;5SmJ2@4kI_gqgU8HLU!5|3EPEP)xgW{Hi7E=Yu zDF&NdM;FC|TON1GarYSep@1f^&(vXoc3B4=TzbF&F?<4{Qhx+MC2&a|m7BBR0Vw5W zCph@7yIAxpZt}Y8D%M-W=V{$_6RYjiq*44X0WsSTWk0R~yG+J5E&~AeIO>`>@gEnb z0k%~z8`!MqXfnN2mJ^U`3Z5%4yt!D-{xZHPOwi?onWvfxlST;@rtgpa62`VXaKe;c z4=0RCLK{w_t}YEHDQt!j84ab16j_Pkm{Wx`VkMyttSGkl^~1cE2}&0AnT#i?u^wG1yiBOH?pM!P9!k-mb1{sI0-#|E~L`t;vBb zM*!{mIKUInmow%&OMP-6hXCx?)VC5!LlXJ|z^9!6z6cmi68R?PHV9xJ3MZik1!@A8 zPD14luv3KzI0GfN*@(hDS?x^%^j8i@KRW^H1%cT^>~jNtw$TZH_++!qYb3b;9UCUz z?*zMPn*U)=p%Ngyl97yn!}L#R z05V!tf<5+8Fer3(=*MNKlh`1z&H)_`1)<%EvO4xIOA}6uOTyryznkVg0sgNb`-KY* ztF~>^vGWQkbGIhm#wf7-LGJ5JR`7lNeQ=}vt=%6h76hNRd@9T;`E|A2mtR+ d?60z7><5fjy7`U)D`Efu002ovPDHLkV1jP=@6G@K delta 530 zcmV+t0`2{T1^5JzB#}W-e*gz`Nliru=LQD`2qjWdZhim&0ozGLK~zY`?UgZdgD?<9 zCHn$en<7bLCzVqwhRIAijpP$x9mZ{%kkV-q%CxzitCVC{62ihjF5sPEnDIXTe)eNv z>{>$wcyKWVAi?h^0RAA{F z6dwh6VeNiz0LDya7HfyVVz8|MmZ)Hif~WP6yRSo9Aqm|B@M=a=F z&OnK6G9q(V7JCx`fBlmJ($9{7dO=|J5HmF3XB!=XZ#LV!wFLLSW5cxPJHc+M>OIWK zR0O0~GLjK+SYH6jd%>IJU)9^^F#+gGlyD~mpgJ6m!J`LUilG#&n%lZw2cR{71~d%< zA0hyzFF*j?*3hnjB$7T2MHj3COs|rth5(rW*(HGP&Z2-Je_*z$A^~{-WNTFk_Si+i zAk(4WE<>Hf27z@7=W9KptLHQ&MF8a5sJ|p1&3bI?c;IOLeIzDz@A!hE@ z#OpQ+EdQW)fO}!bD14qRuyjcYx1O_QE@_4gnd((@@dn~_qdEuxZ%)_mV!!?Xj90q( URSf^7000002uVdwM6N<$g8vrnO8@`> diff --git a/graphics/pokemon/ledyba/icon.png b/graphics/pokemon/ledyba/icon.png index 497067f1daad2b0c7021a7eb2a221c2538e489c7..a4511c6eacb5a8e1c3ab62d8424995a74dcc0820 100644 GIT binary patch delta 225 zcmV<703QF~0=WW^V1L9(L_t(IjpdTB4#F@Hhx-P72oi!@GQlLOdS-{6K;YH{Q#moi zdy*m9vOL5f;6Zbju{FIScUoaU_=@U=zcUT0ba1ys2cI(?_8R(}v#~u@Xa_cA0_e#rWYEELAnrkjq2Z?~RVID_i67y- bkNNQe!9s(oRQ&C^00000NkvXXu0mjfH|uSl delta 265 zcmV+k0rvj60^kCWV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1_=#*{P)EG z006^DL_t(I%jJ@-4#F@LM*9YR2oi#8GQlLOdS=B|AaHAfshpVMJ;{)4S)oJqqpo+w zA|PDXll$8o#(q7Jz4@3SFpNuptOj;T_|eXWl2F>yI*=|X?SE?WCIM&d&V_4A@$iSO z6A5soz3D`%;l0vmLz=@kc&ND(WK1uWzX-ZXt#m`rnFd+Wl6XJh#QUfGNqmtG{+8(w z3Zlc_z?=)xwpTUUfi#%_^`sd*>JTVk_o&0r(AA`@GCzRKkGS5){CEMuLW8Pf+x%Go P0000RgkF zh*)u2A%@lpUXdu3moPyk(!Hq8UJ3j!u%UJfBU_o;IYa+}^6t*|-T7A$LINR9YE||7 z@q6#i_x!%4(r;d6v|Om)StFZIi-5Iei)4vzref02+D$ zpaDQuinc*>kgWou+`NUj2j>9G$PJ*g2>C~`@`|cD$ve%mL5nmG;3qpona8(tbJV)7 z>u@MLhdrHrnz>_IMHZm#__I&G?|&GZnGv)p*ZtG3lLahAx<91*OdXZbk7)_%ZBBik z>pnXQoCKEqXn#Qff^jOt(dP)TFsynyLj;_{Q326NW(Xqv`F#HM0*GA|_!b1QZa;s6 zapGRyJr5W`^>a983_zVaH(Uq^knNu!lVg zc0g$kbmrVJg@0_Ru)hyuh9SXTBPSa z4lkX$QQnoXI$o>mWC6n{wbvq>NY4T~S3E>3Le*P0CjCqJ=OqzK0ib32ixycd3II?S z#XukQD+O>}1pq?UiQ(dUOu+lvplV+rrh%oKRjv^lUoHY0Rotk@hvBdiB*4T2RBa#u z=wxFdSAU5CKzl3VePTwmgx)|1*`hx*jCHXA6Us9X63@f39$iy}6+v~pmjJW}H#Zos zLlsPh0QE!z4$uu-*G$KQYE=n9t61H86zfnyBiX?goUA><5%40_;k5CMiftn()|B3p zyi@jJu`tR0kY3F3h=Fj(^`hY>f)t zgLa#HnEs@DFn-xR__w)-*=_D24v^&@g#F;|!P-p)2ooH;p?%oR2>{cdu7tr5{v`yy zV62S1r8vMb)6YOx=I%7Az~7!wfSB|nwJZZs0I&}fAbK51fXJ{-4aWS8eeT^&37EwJ zV1ID{h~*S;!hp$HI5Gxt36aNo>v{WaZ<3m;5pY7<`!M|XQ@|0|XYUAswrRg6+~bIw z8v-Bsb3OLkQUJEeAa)om{7`C+r2vTFkO>dgF(VRlxRa?nEp4>aIaR?7Ops|eL(f(c-N5oGS=~6byP|&<{zNFsXgdM?<`3L txPQpC2a$iswFi-Z$h8NtfB5_C!4K21uNBu0GVTBX002ovPDHLkV1n1{2y6fV delta 1102 zcmV-U1hM;r37!d%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=f-QIm^8 z000C5Nklzfaph6vv%Pj#w&jX~I@jIqYQJdY34exsKYs7-`JUfbQU35M zq2)sT!7AC>DFRkEnxs>dU}J+2QV^mFI?@V&0X$zdy7>SCprI82DgdNbbPSqHtg64WO|I`K746rm9Brs#((MCXFNb%MMWr;#;{ns$Ivi11LL(HJzQ$oH5-+ z7NG8Vvvbe$K7Wpl%n0f<(7m&+odqmKx;LQb)bsUIx`p&Hr=Az+9xDY-0!v=BAOOKQ zmEq(|1eh3BJ)I!}&Y)C4G?E$oNZ+5&zg+<_l7a8OAM4isTZ|L;^5Lb=2&!K~nK2YX z3i0^u3m|-J*PYDG@O2_VFGFQd{4>jiHDP5iHPV#Txk_wgmw&a356~hyxngT!_2G0HA{!f1j8U zO|CZ(LKg226=RJbz<}-P2-U<&nCrI`VVj^jK1cxSle;^N*I*Y+h5+?M1NPA!TenQd z{Ys^l_`=|ogY{U49W;_1Y(izNA&!8TsSc-&uYZ><3&Ca$;XR2bWgiw3=X^-7=6J|J zEeBAoVR%2EyPd-6sy=m(is!Rs?I?fm`tKh8A@|T37P<%ZKKC&FMfafpwtMjIa}Tro z+{1a1d*JpXa1Z7v6(CG->V)=TloJ4^KV1of!Tn1Je8pHAc}sDCQ>I^lF3sI(v;%K< zLVp2b(2vxz2t)zEK2U&YbtC{h!!9)#^9%O5ceVsz76*V806;9KfKLpVT!bT|pYmAm zT=%f$PEvC<0zQ$}Aq@Y+6mSygv-gBR+qB+<9*5uD5cnKCx6S^W62K1W55%e583@g> zVE^cxGMD*Jz;YHfK!y6@SPs-Db-+f-$?Gj z#w#OkVMxM%5atdVqThq(+kAL4`(Uq#06hgyVjLhC&jQfCrn=xS=6pa=fd^c@^upzcN&mEdK!QP3=L~87WGhf5^25k$=dw2a$iswFj|(`1|a^Pt&ol U72bu;?f?J)07*qoM6N<$f*hC$Q2+n{ diff --git a/graphics/pokemon/lickilicky/back.png b/graphics/pokemon/lickilicky/back.png index 06a1bd6de654b8178f2d42d59120e082e7c87422..0bc7b3547b58f9ee7804fa34f5b4cc6de8d1079e 100644 GIT binary patch delta 528 zcmV+r0`L9m1o;GzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n$lCK~zY` zrISr=!Y~kp%_3P7MEC6|$qjk{+<|q3piov25ii)c-Lm8eaDYn07wLvW)pq_I$zxh| zR*~MPH_tCN`|Cu}9UU>cqx*?5*T|660~}4pegJWg_(TI^oW;l|bcTmzju0<%c(Q$>>^*@tJ7LPDz$q=d^R6%$F9a*ADEgpF6S0VM|MxMD63p^;I0djCy%w)Sm{Y}E6Ji8(^7Tpf3||8o&{un&eQ0Bms5(H4u^jY~;z4QO)|q z{6NNj2MF?<6(A6W4+!f3n delta 515 zcmV+e0{s2?1nLBkB#}W-e*gz`Nliru=LQD`3K%#HK(4Ji=y2Vnqljdq!+3E@as>`VG zZ2%Y(Fn?Qm0VHWQ*mKnV_uvD7=_?|`{Z|26m zM^G0_rvmO^FcxKj1LP8Pd7uTJ>*L7$zjyBz`aj z2&j6N5w&k^aeM~_Ph15424)Ws72|hc8L>6!CZHbia7??cr5^#=ZOG@>5!I^#H0Bvs z>)qXOjiKIGZZX)4hzuXip(SPC!*juc`v$c#e_0MjdbQeM1%ztGGuu;MU62HM|TdcdzcXIIo`J_=Df fz=jVef6vDgtvtE#t?`3@00000NkvXXu0mjfS!Rvj diff --git a/graphics/pokemon/lickitung/anim_front.png b/graphics/pokemon/lickitung/anim_front.png index adf4441a621aa6afb6458467d36ab792a761677c..1a6c1aa9cf6588f6b102ff69784d0ee1a15bbf25 100644 GIT binary patch delta 1234 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 Qq5uE@07*qoM6N<$g8TX|yZ`_I delta 1180 zcmV;N1Y`To3F`@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=rn=km+D z000C|Nkl|cDu*(-n_ zh+%+BIYD3ifIsD;CXHtViY90J?gY$nywBpl>~S) zGG?Gh=M@lnGf!%)U4!zUOJhvsREBasHGnD{0VAoOb!aR?1@H#={ME>jS3_{jK?Cy} zV}vFNmw-%W^M5q~PSTr(i{Edug2YHWLY;L? z+|~6j|9ld#xiokCyxsOMfByY5q~9R10=}GI|8>1hAK|?{!jJL>t^wdFH8 z6>dF0X^TZL?$rU9^BX8QDADZZXey=Wp0^35YO_-6SATrlv`ZNtC!8j1r!q7eg0XrlwNwZ|q}1U>h>tYS4&WdV$B{ZvseiO=23rxZJe0?c0MS{>_m?>N zRe4xMO1Db~a3``_e?0Rd74`LF01>N!*$-lB0VZB`=Eckr?-u45oNm3a4l#4Gcd7$S zFJv&QfC(mr&`-(3%24RArD@46`< zuz9Y4TV?~sPyt;1J`8-Lrg1-oF)T}9cgL*29#+*Uq}b!44{RRF(n*aewIx+lKy?m^ z9&1=;2tXF0O9$z>(uZLrMf4lDM1A=;lCa9ZKRK=(i~JuaVU>R#w0B%z{`I&m(8#}0fX7MH@*kc8 z8u|B50dz5e_6MzDc9ZTER*-ILLdf8Zi+>)FYkNSYOycWyuJhL}>93%qand2BHXU{()ao?n`wz9H6lI2R@-mYI|^avH1s5=6}2t zgcJV3MS~GN5BUebUR~GjA1I00kbgj68n!^+Kj8VPkAiFW4>Ft7>W@I*Kky=VXG8vB z4^P>kf7ruPJrDQ?l=fW>SpCBu?pna&AJ8@@HDL7*7=YC|*!%-3d(r?l|KMz~)AC`! uKcrN*!~Ovs!LWZY9f8e1u>Y`s_!SNcZK0qpI~7>~0000&BlmrTM@W7e~OMU{1)EOSYQ7U&~Lt^4BU}9zBDLQoRyWp$q zMxy5gnEOpp?w9Yr^PjMzhBO%intTkXiI-*nRRSpi++OEBz$sg~CmI@nJ<$LVDHCvn z3z8@W05u7Klu9{&8bD)zP??l~4=D|BSC^HmlPP@<=P(3hyE;tsNQj_mJpx?TksiMV z(%AzW?D0=vv-Z^zfj0usod)P#qF00w{c4xblmCjU3wmET7{M028c- z4h$xw5`+k_REqk(kMPQ9g$QC50YV2+4;fg1(+F^mcTQLXXAuLub<#Qu9y9QOFnqvZ z3tW(OZ;-`+q``Y#Rn?6lTPSUC#4O9)K0tafro!n_IHx)MKP5((ut;0|1R86@F7Hkp eJL->O>>F8DVT4}~@HkKa0000qg3v~hQ!2Mz{JYLQ*`LscfmKV8;M>!z}!1U zxu4HD{!1p4V@2v@3}}imKoBphVN?Ps0o>gb1HdR*z9$+QfIZOwe-J4Xu!IegNC^Of z1b}lXtv(H)FvyH^z=xCunCUKU%6TwT!u*SzMv3+%s21j*1aP`VfVCwv*Rzj%Lco-Lgtk)c z^6`nVkS>BUm03P?f7FEnPuS`r3)La9CVb`amU}?-|HJ$ WR$+uc@9lapM&f1Q70TLraHY5sJzVFmqFq_Qi%*|@=b!tO`g;RN0wJv(=ALKj>r0T} z0ALkn3eb3rOR(0KLYP<>iX2+3+psCIoV-WG&V;})a5(N(Hhvq&u8EU?d8+FsZ!nsZvfGa*HRjz$*73Vt+rhfs1IyPTF}s-s3~pnIN28>(DOV zS9@}par5`D(~p-YOmWTt?w*$(gFlUQi_-0=Pqk@8DMg!|4(tBB1=2h>r3Df{+_r4Y oDV7$~j*1xm@Z(a4-}>TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=uznrvKK z0004KNkllZ;M&f7S z7s}dtaHY5sJzVFmqFGtMi>+th*}i*G^!EmkEQB;>n0ub7uYayVj01qy&*Y(Y7`9-e z4EbejU`TRouxk9F*l_Rx5j*V{nt{b>*Bbu{4LYP~7WdtTB8LQ=6W?yC8KvcNxE>zY zU$>K{Oi}TB?4+CbB`#IM0Brs_D>LOXEuTB(PN~GHLVjtJT3G^jiOIK4`C7nMz=^VO z+8PNlb{`5NNq-BFXa)v~QF*Ny0gC?Dpz#Odiiy;TM2AWQLe_ynOlkl}G{H9=5&NMu zobA#qmv1%(m%K18fGOf?Gk_o{q>EK|*3R+u4j;Nsd*S3+$7c239>`+K%|E=(KVF_N z!6gH@dtN*A{?yVfN_LYzQMwkTBHHei-*=ZIkYt%I3@MQKVRuEX&5st-o^mtt<64K` a`tc1J{MFIMUXDKi0000J(*Uw;FINklB-wqK6Bf@ex7*<}d^p82US0wg43{v5^#z6O_Afi4wuv5t}bW({UO2@k7ET zE+HU@)_O49K{jdyrH8~HNubALt%rC&Au@iLM~&duPrr}fYAqrh!$T2n8}lIa>}>q@ zbh@Ij&=~rJk$?K>$FZJ$W@2TKOopUNe1RJE>1z=}nV=HK7=ozlK0ZiaK$+n2;vHcH zET8OXlw2A^ttjB@G#P~cW}0Y#(intv3JAVX!`nkk5NVTZ`v6 z={`!xdp41~^WyKX^0`eyby2!&*SL)J!+wgt6vQ!Z<@<0Ykz^ghx2WV>rmgoIh?wM& z9l-sK%gVI3?}3<0+>ka0;kZ%Uk~~Hc+&7kS1%Gc#&ZBMY6`KGGT*laAn-gvZJiIfI za+|bbV+-mwRe;loePSi0s>cZz3Q@)5i)t`G+U}@NeT6>{NInj$QUo00000 LNkvXXu0mjfS~$72 delta 960 zcmV;x13&!w2ayPnUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=xcw!+2W z000AYNklF>ljA6vyo$%Ifo7n>o*wGTUbc20 zvoauPKLAvv3j+ztu@a=p{RZ^A@SFxglRI|<3H7GP@8|da_kVJJ_jjDfb$_|U^z)D9 z$HZI3SzsVsA=>pj!ViS-Oh5$T@)tmC031Sm2#V)EKu8P{J;(LITP7fe0<3t;Eo!(> zH*O&UpbkZVf}y^{L<>*>|dOiy``@lpL5K3z2 z?w0=P!8#>x3_`jS=vg8sJ6-9M%bzEdL|Sfa%jcg_76W;1vl1 zm8HWd*v?V~5N^o8_)(sJA3`X*eZn_Rgb!P~AbJ3`QGefItu?@H*T;G~O4BZ$s}zCu zIv~8Uo=aTMp^m`D!KMftUglEj=MZf54JRgXj^+F+Kh!gbO#pVHGQGaa=ej4v$N*p` zD*F2B=JLG-DAxG;>iTjqV>`<7b&j7EfPT^JT7atldUN?z&TJJhh0Nz4weDIcKvl{^ zjQ8y`LVtCnEQ=#?_NFwBI^UMhq3T)x0YEY9{Lf*59++P%*zswgl3Dsrl zu3h7=Zm7r0^Divokn;Om5JAciw&M%7H%?lD zB`AUg#xyQxZNXT)i?tG?2>~V&tg*`oGXr&eGZbQ%v=Yw@#DXF)WNl*t$M<rEz=ehyKqG|MM@wU}I?$NB zf`8@!>QFasb1ypi;)BB1xiMZjh)yp2;KTYo0_yhrb?cF7gBK?|y7s|0G#DD;Sqtta=Q9uBVkO|S$SwA>Wy$FkO zVT~FeIJ}EWtVkiSXxYH|)or;iil_3|jcHT|gt*rQhz&~<+%$a zr2CG}?f_f>vVpIET%9c)0Pr(ZRjvauG|t2S0}uZMC?l8o_^YxthaPx=W5;xa+cK|X+dXKAGo(L!v;S7mtyP1r= zebgzVw^Swuss*^$U(7#;Z~i`7h?Q1!LD8PqPU~ygV(b}|041C`*!yVhXp)KOo(=$x&C?TL|BZAN~raLqr0fY ziWCBijvY9^x-IubfALiQx-o;AfDpI)_4@lyD2ha+tQ9C1SHIU$JkuKhm{fh&-U=>8 z-{N@=hDeUlTVAu#Ls|ZTiui~xLdwgUkzv2gfruC)9B|zTls_Q=R49?KH@NFT4IqKN z0cIK?bwvlT&!LitVIrt(lRVE0fFm%ifY1Ww^FtqIn-?Hde}5;O<+%+c)c34Dy92NR z$cCP>`)p|efS;l2?IsXI>pc8F@bFK7val$x0SV^J7qu{tfYzASbg0y#c3^k`NnG_c z=6zFTWdUcOr=K<^>n)uax;qrNWkRhqHb8I5LX~z!mp?peJh32JZFO9ZuL{ z5Sx@6LXPd-SXk*FOPVm#JA6$

      bi6hrhBn z8#44`;l$@Y7B}V&^t)8hto!)NvWPxjnnFk-vgNxE@rh3s>k`q&UbF)of3}~GE71Z` zMCc@`xJg({+ujherbp13pUslCJ_dv_Y{A~1Pf0YjS;8g=O~Y{7BZMSgD1D7_ivmO? z>$1l4aDN>vd1js)V}v?O;JU{cfAS#keg~k9%cKEb#U0OtfTomwL4Yf3dKLWCTbize zAd?38G(ejua4Ais0A4d;Fce`h${T$U4Dv=@fXEO{1``)Ev-D&D009q4L_t(I%aMGTfAdEUug9v9 z>yZT*zANj0_>UrRxgIr)|33eZ8VBp=&qo!Q`Ex#cw0vL~8~}fU0m`E#nE&VrCJrsZ z@P`aYf?+^UF#pjL%oj+4LG}wc!Td){Fkk%963jn@A^fgr35Nd*D8aZOI~|;0KF}|H a004;ov;Imgi>3eo002ov22Mn-LSTZD5k~p| diff --git a/graphics/pokemon/lilligant/icon.png b/graphics/pokemon/lilligant/icon.png index 9ba1d22242f5001a9f0bb783425b0231701f3e83..d4c1c8a8382d3b4a5195d5f43730d57d500e87c8 100644 GIT binary patch delta 292 zcmV+<0o(qf1Ns7xUw;7wNklCdXl>0s&Bs9o}_gE}}IX6u*c-;#VB=f5vgcp{2ZEGA8x zt9figa+2O}fT1UY`WgZa{$}3(2qA1qPtGB1g**fjhtwk7g?}whGOJcJvv1I}{M88g z*oNJA$({D?zmjgV^==F!2K+~BZf9hjk*|df#C)X$4~xN%>}SdFk>ZoEZ>MHUJ``sN zlx-G<@XRPKp6Q3J$6%a$Fy<+kQh2+F|#2TE>W3bEOzwkTBys`N8KHMO{)o{40000L8R0MMSfBF2Xsvx;Wev@*eIEEoi5> z9ONY&vb9T&P7N6h*>Y8v`z3=qbSU1IFS&n?+=sFMzHIG@D1R@p*s|kjKmnVGApkod?6+8?I@;T{?~V@bIuBsqg3|hwptPLG zoCN|2N7&R6>^V{@3WRuo6d)def`%#$Ek(pLPyi1Qi5GymvlCx2<4A}G*`&;J;2cm<&JRe-tJ!n0%tGi|o;lu0Q-2U_@bode8plz*;TSq6|wLyE1eWPouE zL{e_irzj3I>DA1Ri`kg#`i> zGdVu{4EH~r&VTbj$cPvLj^3TX!#5vc9{Yv>M3KFI^ffzs0dRLp9%SIEYywAkm+4ef z!1d;$<}+)^SG&5VIsU3Vp&#Y)>H3e=~}ep24jIk&8y?3|Mu;FOOidxy)t{N{K1 z@5F@T=VdsPKTXI0J8~AvRXD(3SA#&(GhmWHCNi`gfPb_I_-qU85#whA7D%F4>8DnR4Gvr-LTTYbWjs`Lo`XNvJq&re)eSeH~`5zPYw*W$I1N7Y^ zB7;`YO7^BsH_i(>_cOjM;nfk-Uo z132tgKmlq29;l!w1=a$qO67qQ2UR5uMl67X^T^ymiSD8Ye%)UV<{Isx=a<(hj#IP; zU!y^WIwR(x_Nui{ktH+v55Qz`+>ZNYB;92u}T3+Ofibr<;SCO^imTc6CfM|EtR! zAIjy&^)c1;CppGPDq1?{mi31{sqvT5I~whuEcZ((@PF6oBZr?WIpHt0B!E3Wk$e>j zh}Wx0!Y%a&&J&(5IBU}9Pp0HoCZ4ia0~`Jl z1#a)srBidK=1$G`YGzy1jJEJV&A8lKHNQsX{!q=h+*>tgxZGPcXSm#3H7B^-TQzfh ztXnlxaznpY^HkfgnrXRj)GV|Nt2w95d#7d_R&xMo)Etm|qvn9z8#M>y-l(~=bC<{G YABWw+gjo%?ng9R*07*qoM6N<$g1{>dOaK4? diff --git a/graphics/pokemon/lillipup/back.png b/graphics/pokemon/lillipup/back.png index 68d6cff3ba027f7f20f8e6fc64895701817169ce..61f08f1e7dbccd560a99cdf231c3c4c607525165 100644 GIT binary patch delta 487 zcmVLjL07!}(AUg&TN)5nU5-b6E4G`Mp`iNLH zP(l&%sZnzM+fMjgX>I_;t=-MH0sut5ay<`;fOBOMg#s|fBH*ciw1DZx(*k_T-hm|r zi2W(eSZ?|C8}d}YL7CMN%vg(bWp)5G0Y9wm3cF*W1B_Lp85Ur_MZ*FOh!|__0HZ`! z+cO|zr$X!4Zta7hJ8cG^@M<3f&p1)#C*i2V0EF$8M&dgZZQ}sIzVE+8KoByzwE@^e z*mH@BDa+yLs4v$-{Q!uNoR0Hh_u2QIipYTr=;?RYb)rS$0QyeqL$n?0{#?7C4*X`hAz3F-ts;m9{QzsmCQd_zn>Ie!Tyqkl=X_ z{jDIJn+p>n&$C+k7()|?u_VCrT>5xn0tuGHq~yTFcLF%(=VSRSe=l4BT6wdkJa|)l z2jFW(b1tjoE`U&;!%FwbTCQUx0aU>7paB3EH$Zj_W0)F%zr;ua@)$z6%k>e7YM=yT7*M0+ z`nR3%xzgMKid(yze{ThN00zqSeJBFXl}Qu|KnRI|r_utZ8(#|uD0{a*bOng}Q<|~d z^6NL~tA2wrtD`q#E!36S0l)-;sJ1KYj)e{|R*hy@fc+E=3pF5SthED-5?O7}0F0dq ztz)~jH-hf88GOR4y%9X)M3qmXQH24B+AEF4dnnq*0eJhqSN{?LVZ`Xx20#x$&m}6R zEC-{lzFhYMAVP9F&IjFR-*+k^_gp|vzq_szErT22V1La?L_t(IjqQ>#3d1lAMSTO&C2MYxTp;8gh2TJkc(XyM7vC!!mL=MYlb)$YP?wAv>aoc&SNW@P6Y8-^-doXfI%B? zN)dgTO+l;#AzJd2u=-c3FA5VczY7z0ZNjjR%Y!i2-6oip}yoHf| k1YyMg1GCBfpbz|b0=vV3b94Au&j0`b07*qoM6N<$fPx# delta 271 zcmV+q0r3990_FmcV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1{E(&>+5^~ z007BJL_t(I%k7de3d1lAMSTO&C2MYxULfQih2TJkc(XVkFM@xTiD~-hPvSx<9M3Uv?55rs&o2~0QA}fQ;O(*G6k_5pUCGc zVfC-C2opEI3KQR2gyCQ|!d#Lci!jY#Ho~-;X(NpE<1LKz<0Xvve_%GbAM}AA54*#G Vb4YgPm;e9(00>D%PDHLkV1oK+am@e# diff --git a/graphics/pokemon/linoone/anim_front.png b/graphics/pokemon/linoone/anim_front.png index 01be7de73681e151a7b4131707e797444024e4b7..f2882dd048416982d3e184a50bc1e0427c141635 100644 GIT binary patch delta 898 zcmV-|1AYAX2k8fpbbkY1Nkl&;g3lx$3;q+l|?~= ztqUo^A!6uGM&b;nVI~>;8^W*1Oc)9%NtOJl?B2;>$;R}Ix51O zDk%f}!G_q=E#fWS@I1u%id~Jn*jp*3zf`Mteg2Ie3LpI8 zl`7G1|LIHN8y=tGLsvyXX*eF+agGpwu6GW=SEyg{-+zxUWr5go>N3P&`)YV);mP6d zZISLy38n}Zi&VTlmevD6vPJ;QbTBstE{ksk_)L#Ia(~MlA$jmECIWMg{kqEwu=_x= zLTf5B*usdaq?$g_W3(Dj82u1$x%s!tM8Qokg!jYjCR{~3*`z^wSq6F*x}G8Mmey#mPZQ#Pczyo0`DD## zuI)?k1dZDhK}JGB=fK1KAlw0s(0}H&8yYj1X2S|Ex61ws9dAz_=0#-X2AaSy2zVwo;Ikk2roky?9DHBLT*dfKhd>|go4zXj z#CwO-~38|gOhZg$j#URoMq+z<=*Ke_Bm!xnq5z-+C8 zIAxgJ)xi7^N17lNNz8a@vKBFAn~bBO{1{N6JdmXR<00Ub|L_t(o!|hf*Q`S>>9?p*7Z+U$$UjAeFm<TBWigxNbi_mbgtB z$iLk%JnZs~VXMj|Ax?U&Y897jm6QSgc$*DWi+G2&JP&cY*hdgd!n)M5OxYvu(S&Jy zA>sMqA*gPsL4P)BBf<6yJdg@L_E0zuL2xvUYsN>$0ALb^4UHQWJYc2oxQUXNxFn#2 z-Nd874tBbDAdmU0#6e7kwKk@9>)Z_4Rko_>)JnGgQ-LR92$|Nc$k4v$Xop?@o)pfa7$%{WJhKQy}s;0x5Z z{MYkyUXpD7;4;Ku`eJ%v;L7R#by?n>3h;;5B@*%OoEvul$(962rh~pQa9)1Nz$a?# znfsIH2+5sq5EkflS53SUjI+{iS|6%CSshpzP`g~V)!3TZ0JC8o zAc${A`;M~S#~4-g)5r_7W7vU&x^v6H&yG9Tn7Kv{G>Rd!7d($6x`v(WW4 zfjUZ~lZi0#FuXkd+`hMFG}lh11$2&1HiLd!4}XHj?Xe&uA)tHUVSZrlSdP%4w4RkP zOl76GaG-KffQ*g`L8B74v_>SP-@38w=n=xY%s(5gs;OOw1TeQE=6j37YKC1Ig6jL8 zCd~f8?))5`d3l`Sq0fyWCLgY%)a(l8IEbZF3+i~?A)2)eJmZnJBOyE;8}QjT+-We8 z8Gi@&YwN2R->4AiqkYS_Dt}^30vxx=(;F7cJKsgQ^Hy08xtLNEw`gO=t=DY%8+JDtjyAii7*E%+T z;`@hoCx;hlnsl7rKWp0Cg5ggcC#oe@_5u%S`e<{Kz_u6A=k^Mr5KVx^bLV*!LI~zB z*8Nhs0Ybvzy$x7s&d1_32!NuqQ5dc~0sH{F0Q;E3vyjWY3$V{@=&u221F~K~(_nViOA5jhQa vu7F7ORybHIn10Ydf?8x4{r;!9+62Kbg-)gCj0rq>00000NkvXXu0mjfp{low delta 392 zcmV;30eAlU1MmZoB#}W-e*gz`Nliru=LQD`7XZ`@w5I?70aHmtK~zY`?Uc<C`O(y-i%1rlF5wd;}lCxAP7(VFspkSr=RqHs8lNm!A*> z(@b;Cxxbm2^I0C&krCqJtdJt*fOvBu0kbAfH$-PbYN-7|KZAJue}bySQUgjW;Wff) zC6;Rd+lqWfSS2f&*Dw)!U4D4E)&~}_J3_yXdBU7mz=C#Pjnr<$?TKr>FgNl2L))Xn z%OqL#oZdeh+S!8PPdz7UByxL!ha`ElIZ2=x1Pr;oLMTKVVDZd(AEgk2`HOYERBnKf zaQI*Y7TV`yaT*0ceo<$XhAU41zra4ge#~JfWHRdm@?hKmoC4B8K-*x1?8GBr9*i5z zl4ZsPZ$LU~XoW?|4ipDOg|7i@sk#mDuh6#e!GiKObYni*D8C>OS42+3ohu+xgBAAH m3Z@_QhoI&uis@JR59b$!PNnA^SpZ}J000036tMSZB|49p%c0y*YnFkAOH z;3S;oYk&(T3e9M&R|r(yfRWKcBN}a@PGTsdXz_}OnS?Ha^<<;aT4d7i)U_THfN22w zxm(w)<7OWw+V9jYP{2n9SAFTeuYKmYK zy5p<^s_i&ZsN5C?P#M_m013VaLFgKU0P?K!sJ8pJ(ly}KlMZ$g26hbtUX2|c)7xFk zfcC_v02-z5eYXwh0?!7%I0J(UD3Zc45W@Q^n+b?VgWMVjaVVVxWpBuSqk!5KCgvkioS26TGsKfDxHg2GICbYJgMdIVHGLI-Z@2(P{GZPYVPr5&8g1Fw+)rt^ZL%`~tjAxgZV^vlNiZ#Fm z6N!2>Rx1Q5H=sqlP>5RT*hvgU94}rGF&E$>SWh<+jYTd3r>@kP0L(&A&u(3@j+=dy zs=%ompoEVc^02GNtSf3Vp<_OMLS_R%`nCpGe+GzB+}H-BKN$Um)eJ#Pw8z;5)Z1|+ zQQ9pGpf)hu0aAPq!^k#>0K{46QEm5cm2JSQCmqZrH0)XiyqZ`#X1BYJ0qsdn0W`|M z|Lz*l1)dE8?+grTpiE24!1MgCs-1v%G$@RL=N&35L7E#fAH^K;j@J*nRsuIEN&=ST zSYfWo|EZb;10;eN)MPNN{{+8kC16Y@wE?t#l?LDxdQJ)Ul#XZTVszRAXjnEaI01mU o?rDL5B|;xS33}QAuJvE)7rainAV-b~K>z>%07*qoM6N<$g6DFk?*IS* diff --git a/graphics/pokemon/linoone/galarian/front.png b/graphics/pokemon/linoone/galarian/front.png index 1049e8cff0a1a509de9ec4460ff910c570a47ed3..6aba3303646a7a92907f26b8592606b2efb4cd42 100644 GIT binary patch delta 551 zcmV+?0@(eA1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?UJ#Q(=ZT*t(&W^vJQuVNpq1RH))91xrPQO3O#n#Ggp!zKLZayaZuj_P*6a5Y4dXI zuAH11W}t@2U&xmB+h4zACug1YUrD9?%f-#B_%z=8H&1{&0h@+KV;t@PO8-0H>P-R= zT3{{kXmaxeU=0QhF(}%9Na3Q!RL32#4TUoc?A6+N59oIhXoGbj2v8eD3uP+H=z1Vn za2Oo-0$@Wys|bW1sDS{|7NBrwi+~?ePKF_-bQW@q?R*MK+W1NU6yP%UZ>0DL@tvNUkJ=<9`RyFejvxANT)P`lfvkZRt41$JkZWyKT2z{nz$ zE1;{S)Qyxq&_^4Q!Bl{}o_~BOB&V_bv7(-n!IVy+0@{}^mbjKn=JsA$sEub}Ntsu$ zp_^#8_EaXo7%v(963e!H+ZmI0?=?&6RYrr{Q?^E}NBNZIIwjugOaPVn__4KK-Q9tv z<%)Ogd&ynt{&%^5`uw1EI(`&G^4HWW@KN9IX{rtasOxL$Q)D*)etcrT!)(HlCo+1; zf862z8~s3Pwx38M?i??t1B0tC2c4*Augz&q?GFP30%+Iq9_FVNHGUizB*|CqnGI9v pU+S@EuaiGY{iS}^KcFP}3G2#_{V+x07XSbN07*qoM6N;tV1iA|1DXH; delta 544 zcmV+*0^j|Q1%?HXB#}W-e*gz`Nliru=LQD`7z|n>I!9!Zp)q%y8k(RLZqh_>xVOY=#$_O5G@pmJVw_6!Ggo!xEBCx z3R*@WbU+0JkTw9hLz@TumT)o*F{QJRVQlABP}16$0-ykwv410F$k__O>r1|nRdA#0 z+958rDGI;h$daXof7^Li&t2073W?jLZx4Xl-qyKPvo^3ht0+poF$@eXLa_weN=jWz z*#o__AsI{r$g0`*r(ALx%P%YHJsC`B6)K?p_+f!7*<^0-l!nT91{Rcg32WMkW@C?K z0*vvJ(J!!Qio4dBto^E4QZG{)WS`O%YCX&*bgvWQy-o#Cf2ofzTkGY+1890&@{C}OFv`$9PVo3g)dIdh{?<3u+y#VU^n)(#k^?-jr*l#}_bL6p%Uh*Gic>F^j zkecqsl88G;i%HMm>epTm)Vt5-_)P8gJp%%0*3k}Trvo*5PWlJzH}_2YsdVz{5RP{G iKgU#`|Ek`A7G41B%8&iPTH2EU0000b2L=;VC51@p!juE&)riIT&Uh~ZS zFpbE$Y(z2=3kzi;9F4^FD`sTrkv5GI<7mJ-F)}CN)ElHr*?wjg?FWN&*DXffVfEv*LX{H8; z15C+p4joMOQ9Kxt&4DSWj~AHJM+ak${Q_gwXkgs+RWRNMgirMcMCq#Dg#Ubb00000 LNkvXXu0mjfxU_z4 delta 279 zcmV+y0qFkn0)qpPb$7$s8Rp`0OmU~b?$ zklm5uJ-yGnT002ovPDHLkV1fcmfA9bR diff --git a/graphics/pokemon/linoone/icon.png b/graphics/pokemon/linoone/icon.png index 2f97afd8457f6bde4e4a5b5d326e62ed969574d9..a1e1f96af4604706fb2bcea687e48afa67861420 100644 GIT binary patch delta 269 zcmV+o0rLKg1LOjbV1MsPL_t(Ijn&ez3c@fD2H?EG;Ujntpx{Be)pxOQI_Xe|n}YbH zc5$*|z;2DPP1+=@IP|vrdq=tO2{FMkChno6XB0HF6iKj7R*GZ=6rG30ell8-^dqna zLm7{O&h?48ATuHIY94t^u!J!vB4gNC=ZE97qBR^H#934hTAAWKxt8^oInNalP; ztXp>sRM+-0$HNo+UkxJ8>hKU_9vB}cbn+Ggl7Xq$-#L6MO{1{oPHSTvP+!VwowTqJt26StTHffu# z;-J~?PmYkwC&UjfYvUR!(oyiBrI-ZSq$QuUfTBZRxGifG$$xMJGO(2L5SW$OGv}oG zV8`{nptKAfDR0RTsSrH4a8)ih3*T~o)l7&!09m18UL&4;Kyt+w#HRI+f%?=Q=U8e8 zw^~G;H98v272}5qGns_|E&ghKox^*IBM$z9M}Zb##vB|N!#r^4z*HoMz=3f-dJY|! zJP8~;n55_6!7i+Efe{#NZox+fX7JI08T)vH(ed!EpZItJ#`u8>$|Y%)00000NkvXX Hu0mjfpF)Qq diff --git a/graphics/pokemon/litleo/anim_front.png b/graphics/pokemon/litleo/anim_front.png index 4175b5d0ecd1853b493b193e783b347eacd0a619..494800e1182e5ccc35c930cf0962cee692ec38b9 100644 GIT binary patch delta 825 zcmV-91IGNU2cQR#bbkXDNklYpg8D`Rn-Mty%L9jn~QA0wAEYwbF< za5l?eAa2H~P=B2t>Ht>AXE!C!)!u4AaBv$n_r<*xa9Z^3hxq=sBY|BLkkA&TAya^} zyRCO33~E4LTWJNbRY~akjB$Qx0mz79;0l8&Sp^e7L?QDf2QluM^4Lu-L+FurdtfQoY{6~{OF$sfSMac58*Tme4sM9pYTk_I<$XdBWU6qwgo zfEwh$-G6Oo{ci}or)?ga0GwqNMA1Y8chP zGk0&=^sa{Tj2eN0C3LGN z&oYDZ1U*K{!%4FkfIFfFQ+*sx5ExALafqc{{C)feVi|5*ogc>M00000NkvXXu0mjf DbPjQa delta 837 zcmV-L1G@a62doE>bbkN`bV*G`2j>O{1{whtrTTmT00R$6L_t(o!|j&MYTG~%fH%4+ zCxc!fRi#1>Ij92nE>^@oMnok)^wPA=1ElWA?lnPc=OPTo+5|&d2ul41Zs<$omP6j9 zvulOY?5+wumEt)F!F<}4W>-5OA*=XbW33_QZs5gf8S@s6H-AX00q`h|)`AcLOOB-u zfblE{17dkJG663_Cm=rFZ0Kg#hS&*@0zt-FAcr$23_~$MoT$KrGMFRK_9#0|bwJ8S za1yrRbdNC|V5h7?03c&I=z#-(lVdktBMcX}B^%1MRRHhsE^Ht02P0rb z^!2;=;cia=yE-7D5v6`A0c*FbR>JpcKs;L&no=dc>!vAVR|bHLQw*G8G$-qz0|=jp ze93@M`}(b2G7(}$8vwCn87uU_beT5-cD>-hOaQBQgnt>3!~ox9s0Z*9M~wg*@(TpG z8DPaa0^)NELm3KE3E(W%0$6DTXczwy6M%n&Cjj5q0^?+#NPuvze@TwddERF8NhqmR ztYQ`aQndagFo8K|xtMPPJem;42^tIst;2DI!MLu$aA$ZsIKL|`Zzf#MHV`r~={{(sx-zHVnq_qV7Qf1qz3{2Hi~=I(hE zRaNN4aDGMRsy_IU044&+`y5m|uu}KV-4ei5lvC4mCR?-F%tzbAdT9HuoowE7F#{L? z!V_2Ir@{{Ootu}ne=xH?QJjqhHJl(hW*^Vk7-GWI zEpI?V|HrfOGkMfM)_fw5)+Cw&i@QxCHXj2?lECwYJ>~0g&N&CMU~3ixG2~n<5u~9t zRtPpx&RCv4C&@Ahqmur0pfn%5JZV)jXtS~?~LhAt_6cJkO1_gJ zIC(jt=k}F`8^D(a%&xV~Ytje!!R!J@Z2Av!XkB979ztD`8vtvV`*yoSyT;5r<`6jH xAd28W*#A4Kk)P}$AHe7u6M#;EN8K$#{s3H|BPu^Vfy4j+002ovPDHLkV1i!3#LfT! delta 448 zcmV;x0YCn*1g8X$B#}W-e*gz`Nliru=LQD`8YZ)^PZt0H0g6dPK~zY`?bAJOgD?~a zaKq+IX(M$`Q95)?EpdPfUjX4D8H>~dba8rs2xntKg%glt_VJ9t5W7s>@&=^n|KmOU z5kl_uf3;r7gFOkBz~;{;0bBb(6h-iSVh{P=ohL~GV#D^#2|~ydf4)T!yJqYVq(RPD z9zRCW)(M1oW>9bNBi%YC7=So+eS#31t^s0Rx+Wm_K#<%5u0g!h;4lYWeuP|l0OoBT z%df-*UIgayQyRd<`83_`z}=CmCV7#zALou ze^Pe?cvFMbwJ~`!{a4la!m5QW*8OKWv@S94H=!xX4S*T?Hoo0{p_#F=w%G+Pcn~M& q8qE3%=~?7_lRYyQ09^w2TBu)Kp(83wL};r30000O{1{)5a0oJSl z007-dL_t(I%jJ@>3WG2ZhVKoIo7|c=XzA29a#Tt|H+>%meI_YX=nyZ90SB)RMiZxY zDU@crFPHG=@&WwT;;5&;tb-gLm0F9vHpx~w;LJ?{Lgw@7~BbimIGm6$~h1QtOHIMEI1GbjD*67 p+6lA$?IMhPEF6s4`O$yXj~C1yo)9HO+Ts8J002ovPDHLkV1jv8brS#p diff --git a/graphics/pokemon/litten/back.png b/graphics/pokemon/litten/back.png index 8b346daa1bcddcd6a43fa816502e6e237416a2dd..7250f7b809573298c1630aad474054f2e9a786ab 100644 GIT binary patch delta 517 zcmV+g0{Z>q1nvZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mn&1K~zY` z?bE$(gD?;P;KOqU9ONC0B9<(0@_PgIFxBa@ zril#|L4r1)3)r4b6NQq}t+Q?}!0nsHmJmWt`Bl4yNHpdnbOz;O9c+^WVbp#Cas-=4 zz?NMCOx*~%9ui#uIRnDA!Th!bC4CKZ4$=is5$IqE8V@o-?|?3U0A?^xKq5ML0djj9 z9)fIqWUs)@M)_%t70hvnBfkNwQ@q}KU@NRH-|RsPo6fEuz6uo*9)ruzwLeh|5^Q6@ z`6p%Ou(||?s{^)Q>W=H!VzoaE6QHWgp^zAYmiPVsI0-$3j!XALnNHV5)f+K=rhemp z7~LM{IczmJ_XD_KJq|0FmWT#lJa;uF;NNkasYOShARt-vhAxB9$sKbn4O!c_@^n8S+rIP4J(Pv{HvoxdANv(|sRzX8?G{ zU!npa`49U9b0ESjHUJsD17s+G$PW4zvOp2HF4=lHLJ^2(XR$0m$S4zW}A1hKE2gFWGOv zO`$@!W(7MAX_Pm>%PHOO1K<>1&L8Z7h3(+>5AT(Z5uO6)&&znC7$w-H0OxO%*!Ia9}LWOV}CU zYn;H>I99NhhymVt={2rMC=vNG5>t4ObqyP%aP(gYwr&#{UmKr-^t@uXeQd^4a|{w} yr9sAt@D%9v^)ffInE+CNI)E(znV$cq|BP?Wef85)V)36WFSZkL6 z+8u-H`vAOHgHwNupivY9&2j)xzYB!94AyRLfzX0MM{JgN4xt4z02T%*LJRiNKxc1e zcR=C;ug>)v%Gr-C+;+gv!M>a?q5QDD*sd$`FtGau)2rRZudfy7qY$`8?SI?rGdNcj$7f2K2vC0lkcmkr_F;hJ3%f}Xh}A$?Wmn{R`!@gzdRUNX z3Nl6j?;s9fBr_Eq-qStc)TBuipg54&)l*eO0MY+6n2eQ>m9eciif?_?zZW6D0bSx4b`P8a*KTr>?G=8n{e0 zuHfBsdH|fdIO+vB4J38-)MPz?YJVC+_mz<3+2jAh{;kh?3i=0P)RK2&9=M(W0000< KMNUMnLSTZ*W$gC= diff --git a/graphics/pokemon/litten/icon.png b/graphics/pokemon/litten/icon.png index 677f1d4c7b81689342f5f8eaa91c7fd3a1661cd4..5602732b434ba724b44a2ff70595a730900dc76c 100644 GIT binary patch delta 231 zcmV&)B(2ED#xW|HyXS3%YWB9_>}sk zGpz2Q6{O&xY!ZUKf9M31v;tYZ!B8`J24jsF0O%!Vo2GmL+|8}wUKvALIh;$tZSj}~ zV0-Rxt+FC7wafy;)SQZHkVHUJeb(;{ggDcLS0oV#cCB&|aJ1{ai547*(8Lv{RU`Cq z;6f%{ce?rXGlExtdp;-(z*5J;SZTzO{1|0=niKwCg z007-dL_t(I%iWT(4uUWchWiGWGbU^{K7mgIt6?y18Wy_AvtDAtcC-$#wN@!j%WgDw z>zDtockl`EOGmHnAO+;$AWRm5y?e+E)U*OcyFp*0T>xW?=zjsoC1#YWUjTP=Yq&Se zB!$Jf1nd@%r3YpR9j;ALm9>nsfS%N;YIIC^G__~>-XIdo%D*xsqha3(n*d9@!Ev(S zNQ9hLa8Kycz=b$pce=U!GlCO;dp;-(fX;<6u~87lVE8jZ7$B)LVIT+V4e5JlNysl$pK0Fx6SE&%bSrogPrGz8}W z$k3%R8t5Z90!nU>TrRUVAc`5gNGKxhZ~xmFvoiaCtJUbA>Mr4Dy#!E*#E3$~M`S|8 zM`U6U2MX~R-%$ve1mZgo7>oN!3>c0@x8#XT^anjDpA-)Wfqy``;$}=cqSr;hzSDj# zWe0s(*)=_4F1?iHfQ3T4MBlC)<+rU>N>%9F0|%V61`=4D{R-m1(lNm6830WKW*_#W z4dl->utyu+4^Yn(kV7q}ci+bixgr1>YJl8v1u%!u=)W1jGq^eBd%(d4nAZ??%sjwc zn6|@n#gMYkHqeeGVmI8`I z{AY>y|BHUmPxXW0@A?65NC6KBu+i=T>?krq6#ap~^q#XHx&q$=0u}cq&PRpl)bY=R zduu93wO?AMK(wd69+VXeENjB&Kb<)XyTpDF;+Fx=I(d-5r9UiJbgW$ftr=i{1{?!y z!+x|i-CfGPrav^grG5aykqQHq6r7C!0000G~^;nhr z0005iNklJx;?w5QXi+sfiU1kPRn@xB#%Gc9Ds%7r^74+KJ7@k$}_;-5kM0M?5>+nGDeSSaYr(#F9VnVuM{VK)Yt!q80%U?3Yo%t?>9^52*WJbzgn`dF3gfOxS;(u>YUP2a{AjIR9Qg zpb079i~tY;$|zbO%E?rbdoOB!Nfm&G`x6%zr5XnNXMfB+o9T<7SB?n~gIOC7s)hwt zfoT0d?m0`hqI}TVZ!OxtdyWF1`C+w288C(cc1OT7z+*R`WE0OY_!!nhv)%i-U}=D_ zZ)jO_C+}?mp8yP>Fvu6Td&azrE?`*R{%MA{0pMPkg`wdfc)RuU&fJ;&kQKGDVtzOT gp*}zK^%tA<0m6|A0}3~)wEzGB07*qoM6N<$f)Pva#Q*>R diff --git a/graphics/pokemon/litwick/back.png b/graphics/pokemon/litwick/back.png index a5f34ad256eb058f3c1b1757b59b42651079a957..258030f4f4b2bf45061a4ed98a961011f7db5688 100644 GIT binary patch delta 373 zcmV-*0gC?B1K$IXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0XRuSK~zY` z?a@I_!!Qs9(6DI4vWYkVF+D-m3(%UbgM=fqV}Vm&pbR;HgE>JtE@LMxmhC#*3UwAy zrFs1`lVsPr=(?E#<$NN5R1*P&+@}KwnWqDm$r%{1o(8EIC3)CPfCWtfoUlSrr2tI< z_KaY24&*JPk0qh&GvIcAx2KerWQCxJ0SPY_ESB*raGV?kNN_1i-8)@DWDv!%5IM_yR|4n_z<07Jx8h%Rb*i@I44%SO9$p^Z}gu@K->f zUEt5K;MEloptw84JG4c>xw}RkEGabqI|VxbRdK})IEf!0%&==v=8V^Nz5k|6Q(0g_ zI<36EP)8sK<$+w9W^bB&0Ih$7{kM=>jG&GJEtqWVk6_1UT=2N5zvH$3L1o!50T;A} T0R*~c00000NkvXXu0mjfQk$TF delta 365 zcmV-z0h0dT1JwhNB#}W-e*gz`Nliru=LQD`9ut9ZPA~uf0XRuSK~zY`?bJbT!Y~j8 zP`V)Ml0+P!aXA6v0tJ_KD%Fv@>!J?60G;Ll4(TQN=7Gq*u>Y_TWj=on z!4v^7D{_2<5&U=-G!72nh;1EA(AokJhHTl_dkDUJ0SpVE3xPg@Q=k3{2(%0Q85X>` zA_5e5hj@oJ2sn4wW2k~9h30>!KX$V1KqrL_t(IjqQ>_3c@fDMRS87J%G?0Kr*xGBH-bAtQNb-vOy1` z3$4ovW9n*tK(ZJAZXUzWkpGSOJ=qeh_X@D%R0HvX^Lo3A2G2B%QQ2A!De+N*O$Z2q zW9RswO{t?+-}-1e?=`U5Vh?w0ufWE_1eY2sIR91lLuz$c=S%{;0(!{lJV6R!9+JvB z=af>^L4ATNfGYqIlL8C7zSVuPJMJ5-gJTaH*%CaAO{1|B#q%(rj= z006Z~L_t(I%k7de4#F@DMRS7)^#DlC0Z{FwL!=(A$7)4~jE&$RFqASD$)rsFS;CC? zTb`^R%l{kmd$Kv$mIAQjR083O@9lmQ4W4lrgR-^kW8_YQU2_Nsfn(?Rq)n-%TJQR( z+NROKCW|BNvHt=SE0f^vBIYlxydP4k!!~E&<WzwWX$S!W@h`4}BV=phjp!)y>^gfw%l%YaJX7V0+g;c51@GjY130v3; z{hhg|VTSYhoYjx5-X%+;=Fe=8+Uo~)p~)mjCW;Cj0|3?^rIrsBJ`Su;elGyV?+qk1 zei~7D54}1eqVl^Om_!tR{s5VpNko+jXrr_Mq<~g$s7RYhM+|65PA z=Jjh100)$=2cUsFpyB{`2W;ngLmw~zP-noA0yd8UZZJUp?jg_uYzDxMfE@#H1CYD} zct#VA&HL~@mYv#83D%uNZKBAfEJM&ZoH3nRNCR|rH0L>wtL%)$7 zjxc`;;0S90uw~jw{0F}L$^jn0LJ!~wf9f14*{7d)p|Ium7_iU-8W*+BfF(KB#5+aj zhVO6}>@ehP38hs7K!>}!s7y19c#&=;XxjO3R$~?ER%&`lUqU?ru%l$31HMmvRhZIk z*@uNyl4ed(1D`!Vjs>z$`xTGUeiQwVKca6};UWU3Kp#PCLkL$X zVuprgJN&%ca*)eQ)zaJ|;gfRzaJ4I!MxjyoWTL%dlj^&h(R;3?35y}kzLRk1sBQC*qaM@A`TD|-G`w|Nvfz|hI?=YDk>V^h1E*26?>hY8Ghp#|L4Ce zS=!0uU#tXbcFi`Ztr)Qr;Y`F zA~Lgyfk8xKb`Yr;L}a0W+bF>RA)pj%S4hY~4IfZSt*Mi8-UEDq^R=&37EjMH02Gkw z7JvdSfQ$n41yIl83T;3KKpp{m7qA`&sDcFNZ$^O#fx;@EeLz7A2wc=E0v66u(w`~!-|!AsR&`BI z7m%t+2e_ZRJjF+Hst`}YsRZG6-X4dyH=Ii0F6o`knfp(GcrX<3%1s!V>Y99*D|QA= zwaCb?_!*`YjxXBDoCh8ZeU1f2rr_c{UepWg-@bWYE$xW~4%Q7prL46L7coUck!|0b zpAmp`Lg1SLmS?~oY}4e|fF%pG6|6n7H7)?lHt~n`3%d2-DeW&43;+NC07*qoM6N<$ Ef{Pg3=>Px# diff --git a/graphics/pokemon/lombre/icon.png b/graphics/pokemon/lombre/icon.png index 8747ca4557a33a6927deccd77cae13309403fa52..e0c7b4631a83a97725081c6cd54b74e38f08d381 100644 GIT binary patch delta 233 zcmVJ{1V1LX>L_t(IjpdR%4#F@HM16z33!7$p3OL=R%S8EI!fdW?N{0nt=xk60Q6=v-ldBF7EOU9)h58VToQ1b!Mcl6o87 z1lJ4FDK~IK6tzsDJ=a>J$a5&Jfs%^3Hn#Y3k$ZR8RjV$S^I~2WnuVqnV|fcw7*uY7 zn_<3LOmbkIz&F=6rx05u>g8C>AsfVK%S|TeWc9=tM69l@{@MC-U|*r9KlAYb&e^>KA_lK#00000NkvXXu0mjfvMXok delta 272 zcmV+r0q_370_OsdV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1|Tk&-5Fc} z007EKL_t(I%jJ?i4#F@Dg>wVn1+lZZ9g`&)Ap=r3#AVBfvb1ZOA??rI6=66l0*EVy}r7Uk17Nhg}tQxt#Z+yd|_9pUPX1!YH!^ZkqXa(Mf^Tfp4!} zo^ex&{!7}x?6`Opb_-bbkYKNkll*O6o5}4Cr_5;7+&?{2tp=Glvu^+U`r%n zAXy6Y=wx(wd@!;$OMna^WwZ|&+dtqsKw9KIZ(#5*A}a4%rtWTxBeha{- zCUB##jESfqPyAJ9SZm@&-yB>Nv=`Rt07`1q*dm>NrQ&LsoU+Q$1RPFIqd~lkRVEz2 zDo7g{s4VI8)DO@Ltkl%Y~jZlYEBo zxLAOdtAA1+ee~;ujUMJj4Fovlu?t1rM6dCf^ZF$Qs2DgBf2>!~DR_D1i(8=Li{@^1 zsHY#h0utTSK7BfD?uGD$&lz3hzn?xR{hMY7|Hl$Bl2z#~-*iT}e7MA^kHF13fNU z0gbe;KgM^7M?<*<9u4KuQ0k}*1-1hWTMUJ7+~cjb8cO9bdKPSkQaQ{XZ?(-(w8M;k ziI41t(kGxe&g_Pw9VS*dwHgXd&vy}H<#%_?hBEpbWSE~KUUV&na^>*1KaWv=m&}I3 zV}Fy#7-3~KlpspwZg~gzYA7Pe^yH8BZHD6LZ~G3=uFX(f4NRa=7DHjnV&Igf$96-> zA}M{Vp>TzzE7?G7hH}g!>*m@(EQWI2<+`O{1|b*T!=M!a00U=9L_t(o!|j&6Zrex@fY%@^ zSCZuzZZ)z6Ar&P`jLt}5OC(_+X##WUyE5T&U|gGP4!9zujJrX~%GgFHHer~e=ti*OSN zBcO8ms+(R=jDI*bWRUWOFfx&->sJv?(VqV;7CmzpG;ZjV1L(Ji79oW|Z zET^F-w)r9i*eGI0&xaimc-$A&czPGORQ(WoW?+jKseeBVAzpC5UDw3bW{v$44%8d& z*cuqE0lKh0mHPfS0Nyu&TYYCtL?4@iJDKaQrGEZA755q?@T9pclwF>3M4WfwxtJ(UpTJGi0D1UNeAx15ZRU zl>r`Y0)Nie8$D+xc@N=su>dPqrQG`H*8v+f%!?WbaLR2Lin@qi<2C2?M+{Iga4h~_ z&!9u_^vW0CfQm1gtF=Wv{n{0f=%V)N{n1)O_`>IiF7ofEH%kAuS;3F7M2uvWdfPYc z5iV~oaXPSXweBTm@y~5QfwWkZE!+7iF#s)qOMk0{ZJ+(RCY<)M_X+eZ7kqE5EyAHk8p#kYRp?c+s^O%9X=s ze}5jMK9|gf!flht7-3~KlpspwZg~gzZYUzibmx!uZHD6Lvwa6>*JdcL1}0D_i=nV( zF>prH6T6{gk(9pGP&mWVm24n3LpkA=b#rYX7DGAda^BiN%!YEh&w1Je!=(yn@q>^* zce`NBY5YG0LyUXvg29J>yI|-l?(v5QDHj-D0CULC!`ljLxc~qF07*qoM6N<$g38#c A?f?J) diff --git a/graphics/pokemon/lopunny/back.png b/graphics/pokemon/lopunny/back.png index c897039ca7eabe01f6126840601f0ea0f0778aa3..9f14452a2d207a17fbee0e9a440cc04b002604cb 100644 GIT binary patch delta 578 zcmV-I0=@m71*!#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s~1zK~zY` z&6G=yoG=iEk(vV}nHvTVfNtR=^c&NVq z9|jS9+We~W?djrIO)T5fxGmoO_fQW4#icUi`6QrcyB^M$17MPQk7MNZR^W4s< zWCz5G^daE{9Kc051v)pk5fC#Pck>vmK~tLusKx_ubMwBmKuy&s_5$oM%d3mP0ExW- zE3^t6&{m@lu)s7ia7|pswjv*J0<(g|3JkOIf!I}?ukdOG4nSvrE06{#Eud!fL*A?a zRlph90V|DO&DaUh71F{87(k7l11%1T6;Pykv$qcE6TlVl9B6TX1g!%D?;D_71o(OD z1;~d#{h0&I&VkC|SATHel4)yz+5%D>Bc#+i2Lt>Rdk1r9odcEldjpUUu!H9FM~#@4 z2rIxBwoC{Zj2aGqs8*ocI2fQ?fRC--0fW8aM)Ha%37|!EiFO$?4~Rr5#94`DWf#?ED*GJB)px5AJHXFaUZKfv@DeP+0PxR# z3C{p+0HBFBfEPid`8%bles04K$Y@G!-9U+g-@4C$vgq9%h4>%ftFI{f3qFs)=J`IM Q#{d8T07*qoM6N<$f)iK%X#fBK delta 568 zcmV-80>}NT1)c?vB#}W-e*gz`Nliru=LQD`A^>(hb`byo0s%=xK~zY`&6G=Sq%aVM zk(vX{Om0wQ!P4R-mQlkX_O$x~CcX!lMcr#=H`e};<#l}tMgGzQ@88X?8bI%wcGJ3Hu)&N^Tv{~iEze*tn(bpNOk;~HTD=)sf; z0i#xvqZAv^9~?B$ufWGvpMcSPp`&0Ypk9IA0{h&FfSnP*e4lTCvcO{XoY(OfVOvL_ z^#F=Rx9F5HcYughjQL8eE5C^@7y0KvA$}T-xc6kNGH8oCyaY=S0CbsuLLZbfBgqOkHF?F*ATD(0000f%nt^ diff --git a/graphics/pokemon/lopunny/icon.png b/graphics/pokemon/lopunny/icon.png index 8511142bbaec328d52a126a53f1dcfe49a9143f0..4dea6a47edd7637d9f0cc3c7eaa9fcdf11b3cc27 100644 GIT binary patch delta 333 zcmV-T0kZze1ET|wUw;8ENkl@Kypa<{W;Oy?p8 zBO%3xinX^ufsD;hX3{6>c=JgE;tBDG3k0|ZY|g6&ZHy|Y8q88z<7%J+nJNP0?TlTC z1dVn+KNqliNyehi9pmj~Mti0`0_!yNZ)oWN>o^U=<06T427gceX9eJWyyM5hRC*@x z$YLYnJ>tT|(rqOo))RS^z;Tsuy7=o_0q{y;IH zj4q&mNZ^PBKSszqCO@>>hc5C}x$5^hx&94u69-gKfh5e8TVVonD@ delta 372 zcmV-)0gL{l1Ih!CUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>V~JvpLQ z0003kNklC0pm*lAMoWh)6Ad@uLX`wK zse9}3({BseA42@$0s*c8!Fko7z^J0C!7P^8$ApsKW%D*bkd>NAiyR+Y-JEkNgzqx5lMbnBg+wzK!fbFFuH*LA%i^<{UC3c z{m^b3y2w}Ms_S!h{RbRP98p09vM^U}g^9?mFr9Hh7e65Rkp$q@kGqffs~_JxSnLc& S@H-;_0000TNk-v4#9oC<66v*GxtM4 zPIYpCANNpP8`$EL#-t2HP+b8JS++%BJqAqi|0lGtB?}1LjtGzi24({S##vxMUJFp& zSxB#dMxX_X5dm#IrcpH_5VHUR7afcf$dve zWrJ@4rRa|0dw_`$5CNGqx^2O0n1c)gUWx__v{7?M=_^_q0TC1-Z?3s3>`U@a2uJ{K zsot%kF~q=KvV zZ+ovmw;xYuF?2vu%Lz@qI3Ak6c?kD*ZC=d}dBcgYMA-Al>Y@Q;t@{Q<1cXFM{(uxJ1P002ov JPDHLkV1o7WKpFr5 delta 713 zcmV;)0yh1=2CfE>B#}W-e*gz`Nliru=LQD`BMyk3YF7XN0+C5XK~zY`)s(-En?Ml8 zL0D7QDi9!98ro?xxE)yygg9NgXCo8F)X>X?kRlTiFe8D9~Nwb zQl-c?wwNE^eDe+9dH?0{mwy9l_m55k&`aFR0an5%bAXkIW&kfLf0!3A><~`_i-Jp* za_W<5U{Uf%DLBu40(82LK+3s@CV_WYf2vS`S6}0L0#J2Xp#YcnQ$VHa$^rh|Lw#*v zi+4&{Y9NF53V7gri@oDh)Kf(GcdfT~*y_7C_*le}l9F6|+D>FFQ!nK`%m9yNebJTd(Na0!2N_AzXeib;*LYS=dgD z#*E0Sv~`bZ0R-gG!zYB4wjKyG&G((m9gq=nXC`E{5N4WBJ1N*DkOQ=-Fm4f$&O^{B zpkjb06=v9HDYt`3){vt31{$agfH(a9;(#DQo3R0m+X8`Ke?LcKs-x;{X@K+$2tWfQ zgqj(kDi!cR9ng?Q5sU?_v=*d%9)JiSQ!c2NL1{b4@fZm(fo*^WpaH>5@D5;1J)`&@ zU?K|0K$(=nwa{ybfQF%7iU0$+sC7pgFts!VWKgGibMBL1`(*|w0B%)%ScMz|cSQ_g ziav);q&<){e!QZ63`~F83POR0BAP? zLkD_bro;Qg$fGb?2>|=tbtheaIUVU4ptLacjRC^2J9Yz*yMGFJ+j}*-{dhWyVE~Gb z`fB3U@z7t^L)f=#^D2MP8=Z)jNJkzu`+~qxKc-E+KktEj07UniKAs2?5U*TkIskds vl|0ACRJ{i}zCI=!DGrfuD}V+p@Xya5tj}jWY~DaI00000NkvXXu0mjfLR~j8 diff --git a/graphics/pokemon/lopunny/mega/front.png b/graphics/pokemon/lopunny/mega/front.png index 09c8451aeae2ea7b3b07bd1fee67c569e3c10626..4de84f030491f6333c14d071f5afbefe8e88fe3d 100644 GIT binary patch delta 812 zcmV+{1JnG62a*SnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0_#acK~zY` zm6SbC+dvq{&$>)xi4DbbE|om69JwSGY6hglma0xDJ$I;>?A%f@I6=Ch>e!(lpnL@O zHWDoLfGoPyTM-NRyYxBR2@bJ?dW&D4-~FH0JM-f<1kFi2p6fCy>` zr%U$00}~>s7T`V!L0}|=sFZNHFf2j_bWkJVc)}*6y{~{Oi3ay{NMRmOEGi{b2&4lp zj#1`AYi)$!Lxx?_@ey`~7;p5{@qE_j6Vd^7?D}NZ*$9C;oO3pR5YP(Do>yGo<9_2S z=iWD=0ECT^S?-x;z4q8npYz}-2kdiUuK|RNc6YvW{`M%(5CDJO1tAu_@0r(PKXCB}-Agif^VE_-7qyx_F z&p&c$I0H)wUG=tmKosz4!3J3gVFC(YNDI%!A?-%jA?ka7QF=SbYGTjED?rMzoOd4{ z=FR@cG`)&*0A^}=o9R-@IgUaa-2w0`&i3I|=iyzNAw`Tf&;Gj6u zP9J;2B>qi{+B^XRKl>M@Nz9UDSOH{e%{295G)xZl)+V6p-b^2-6yclvCUwg5umqA= zohg#F+u@~uX2Fdxg2ymfs0zvgC`~m0>I)|cMcvSpt>+V0LM|_BEv+}Oab^s948X#NRFov$NT01foP;Z8=&g~ZfSab`ZYOqZJB-G%b q?Llm{LycYpwtGO^YE-ij`Uii-=c#Datakta002n`MNUMnLSTZyD{-Iz delta 803 zcmV+;1Kj+Q2ZslcB#}W-e*gz`Nliru=LQD`BQwzUCPn}N0_sUbK~zY`jg>u5+dvq{ zFS<-*i4DbbE|om69JwSGY6hglma0xDJ$I;>oZM0|I7Ygm>e!(lpnL@O773PmKo(u< zt%wEuUHY8ufK6=ETm1I(|9QRV5c>bsdI`{J4sO>0eS~J1w$!y6f9RnZx92*k0|sQs zUH*YI0I%Hld_@SY0W8w9mmp9Jv;eU6dJ71X-r@)ZhKDskTPF(x1jM3-um@xZEHEJ! z)dJijJ_t;O5S0=(7rIHvn2u{CY*$!>^mY|cCDG=t1|b9sibbV_a)I>0#34#;w7MHE zco5-$^gVCianL2I_XX0chQ}6P{e_rVO%ov{b2dTg)$yp>6#XaKt9yzPX!| zpG49uvS)x!Ox9V>_wI9`wW}2XppBJD0r(PL1^F}}k6j1N02WM1$DCWAe`M0I2i6jr zs_kHpDB#lte;d#94#;hxmVYYt=^(uF(Z~&xn{k>GYc+cWq@2lMaDN|kMjw;pGV=14 zvDVW}lTrpa^l5ktz^^F%4?k8O?xo>V#AxT_uMLenuTjqLLHVK|AS-!#w7 z6EODDcVQAoERH7?K&sYB5;sDVcwg&o0xIvFf4uxQi4XvszakWh_-nw@AqdoANd hpxFXy8Ol-Z`Uii-=c(RdVjTbg002ovPDHLkV1k9dbzA@d diff --git a/graphics/pokemon/lopunny/mega/icon.png b/graphics/pokemon/lopunny/mega/icon.png index 28f35c1473521263e0d8e73dbff5ec15cf8d6087..652bb97573136ea4f770a0a554f9b0b5b687bc1b 100644 GIT binary patch delta 345 zcmV-f0jB=d1Fr*+Uw;8QNklb^l5Ji21xlax>N*d_0H(1#XZkfjJQl!Y4 zQX$i4!FXC0Y%CBP?+{7rOe5Ed1@ilW(yIB>xz#vIGU__bChTEK6 zcv;NecuY?yAB1tA&zezt%6aHdf;zPvLjS+#H-X_zffX2ALW5}qhH|VBh6NZ)yy4I; zz^Dxeu>jMCJ5mk{Fz*m?NIemU3{10`;RFm<35R9-P)A_6PB^UFhsT!vl(t*Uas+Os r!@9%m2t)$ru-zX3!)HF=dp^DZQ;+<`(v!_O00000NkvXXu0mjfCZd}Y delta 383 zcmV-_0f7Fm1JwhNUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>b@G-i$1 z0003vNklb^l5Ji21xlax>N*d_0H(22Yx6s&KiWE6hDrA~96|qw=0Rvv! zQlvCd0uB0_8GZh|runl2XJK&-#k&&*K+Y)_K(O;NhN*R}?K#=U?^8A2PK%SaB6DC%Cq61`Y z6aeQAUf3&ljn88V+)T)$eARui;ssGF+#;)8AmCa#AVglwhTD={cwWukXi870AB1V2 zPtK@2mYL*70-cI4-@-D;L1aEm^yJKT;yBw!BP{Q)p^ d<^#Ux;|o)d{KZPi`yc=S002ovPDHLkV1lHbrj-By diff --git a/graphics/pokemon/lotad/anim_front.png b/graphics/pokemon/lotad/anim_front.png index 1c8dd71ebb87e60b7aaf35b269aa9255ef24297b..cadc74768ee0630912871d18eaaef9e544127ae5 100644 GIT binary patch delta 677 zcmV;W0$Tl=2KWV#Uw;CFNkl5c_nZwd;A2l z`jEm`q`SgfTvEgkxcZu47gwY?aNr=dpWqMk6-}_gw$fj8-vc}_q9 zptY-lSbgOlpsz_64*%r-i+=Y?*Kz{iR=4lJ*FLyjc~TO*ORxKBY&99s-C52-v3{Wb6T=I$(@dE~N_yG71oRJ>WeBD1fN^A%Zvn+S?=y z^_-tWYlnizGEdGkGjWo}KEVg-t}=i*O>hB!YLqpBj}Jgrxgtt9OxQ#7Gb!zeA`(g% zbV`+({(qwcpIX2$<>hn^8TocZp@gxZP53A?_N^T_VJv_E8vdLMtpatz;OQTkCTyQd z14;XEJ_>c7)k;>1MUQaXQ00000 LNkvXXu0mjf)C@K3 delta 685 zcmV;e0#g0>1)2tsUsM1Ia7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>etNfs1Y z0007gNklv5MP35QZfe2X|H0QbJ05B5c_eTvd;J8m`jEm`T<4LC9e?K| zNV86LP0$nq@qfEJn%&j>p4UVZ&l$c_0B%{S0JYW~=V(l{b_2d0?FRgShi6JD2Viv- zBI-83)*%0!hii?9thENU2|}HPT2BzIR0C*&EX=12^k(!5HDI7aonu(v#!7G47~(1u7n60I>_x2Xg~@umrfDt;`$ln+GvttS$B zUKFfDUpf)3Zl0zDWB|rUGkEK7oCEX?#az%&AHJIRZ%i2?@O^#v;YX>1lz+q7@BOdM z#_BWq*x&E>tJN0<9QOilcdHvpaUo`43I2qwfs48GZq6>Qw(mUXxNq;t<+gMD`k(w0 zfaV|BL=#OsoBvSlV+JI!EzOA>42a8NsDlA<06y!Kg9;r$P#TOerbwC1 zYZ$Sn?PHSHEs7VB!=Ne^w)>AF{h|g8V;)X*NJviv1A$9ggiD#QKJo;Iu>=CB`Li$V z$PRMOnze z?e5N43$k!{^ZWg7<1{ek6nk1M T-#v`900000NkvXXu0mjf3!^$v diff --git a/graphics/pokemon/lotad/back.png b/graphics/pokemon/lotad/back.png index eb1df98263c7c4481732bb156612132352fcd9e5..1d25c71ede680f354177d6a367c3ac7afe2c210e 100644 GIT binary patch delta 512 zcmV+b0{{Kt1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z?US)m!axv)1LI(8yf{OtSIDT9v*ZB|H#4@#T~DP2l@we-X~QdMfP?mhJXd!9}-kuV$$M(KxrdZFz@?j zXR#+$_96z4)A)NHL=Ogk?j}Z zod*RHJwrV0b9kKIS7CP95m%kA26i=E?Qqm*&e`kS~p&Q7*}BjPzRW4?Y(LN ztmb70WLNG{bA)eKP{xM;?Ktzr>KMnt|X#bGv6Z?;UWus)<{99=MA%?v3^}YufTDyFS>rK7&0yrmsEqq$_UL=@sE}LbK zShWd8^Qp2fB@j2Ib?ZJK0K=v%YO{R#2^{tB%Cc`IMAh(w&R0nQ00001CJ6Im5q()oU{C`ByjS;i3|#aBIGqOt5IKM!;4vX9fbGe*gzfdD90>DS%s#*=zzbCtbpi(ZhHd{og)k#8mX5bub$0d^0Zy;@ujG_s#A%)d-xr}hg|IJ1NPvof z3BDL1%U;_NfNzxw{^VW&i+wW!-A5jQrN6|Gi<*JpLUX$(aCh4dIA7F6ENKLnuKn$H z_nCn8x~}(rDPIficVfr~U+;T>p|#6DakHw|UI3TmFXd}9(0h?!!nv$odc>klFq%)5 wb=7-!!=|)u-PZ$P(3C~3UfzBJNBskR10_V&@RB-TEC2ui07*qoM6N<$g4iDAhyVZp diff --git a/graphics/pokemon/lotad/icon.png b/graphics/pokemon/lotad/icon.png index f87f5873eaa1d860cbeaa1ba7efc448928f71f4d..8be23d48d34208c0cdcfb958c85dde627c9160ce 100644 GIT binary patch delta 94 zcmX@Ww2)~+0{a?I7sn8b-iiHrK9(&^6XO5BbJ~Wxc ypkXOf-T%ZWps1qvQAk3O!$+ADyCoPMTp1WTlB*sbUt+A!00f?{elF{r5}E)SMI^=m delta 125 zcmZ3;bbx6>f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?GcD!qJ_c0Tf#7>Eak- zae88Up7YMX8g)Pa|Ng@s^8QnOf&{CxiKWf&hG{Z>^$xy#$L|?0P;0*~e__($`jYpT bjC2?~lB*u_Z*z|T8p7b|>gTe~DWM4f{uM0V diff --git a/graphics/pokemon/loudred/anim_front.png b/graphics/pokemon/loudred/anim_front.png index 0d54a2a0458becdd89d95e88eac9f33d9286ce6b..71912b382f1324f12ebd61e9fff640f0a26c000b 100644 GIT binary patch delta 1532 zcmV(>sN7QP&P;Kn!_URB<5&*aTm2(HcXBprWzTX2* zzc>&f1|C#k{ADWzSPw5PGXj({uGpz3c2R9$+ir|*`s^057&GQg4B}SY=l4eM`7t?1&r@=n#&V9ZJvrfzL zR0dIx7wZ>l86QCX5QF!%ZNm?66-Y4f^n_Xh6mV0_!& zE_egm1NeFg(R+gtz!rZyfHV^T>2m;fKpt~2PAokJ2JVOh8j$!Y@M4K67K5!j9*V$PHKoqAVe> zS@z|U8}mRs=oTWF3iabOzyQJ{DF9D}T6z(3o)L{iJZ9ZozC4jk1YO z?oU%wKvS8;N&LJ3_r2_K#VMv-O{MPD!Efbm#Z#Vxe^Zpd8~qIXnZ6vNnRY*x>AZlnE`vA8Zl#*x; zHMET+5K2i5aN9@&TuSyLWC1QEA)rurIJV668qU9K#elGlgn?9rl2adXJ*aI~`S}#p2}0xpOE)?)vx6Nr5@F>0s2Ti z*XtW63C$C#Hgo>0H{f>A;{e}=Qh%W3FhtcbapS%RXa}RwZD)ddAOO`6`;{pbM&jYM z%tLf0a{)-8(W(IIc~lrldDk9o+}9)b(VMv~00o#3DOnQ=qgby-?r3<{K1D+jt5XVj zp+Q`NaD-9tHzRoc4UGPXEfN>Bg@H7o?XoZm&*r4YipbLj#BuY(N++rUsx0@mA1z#lan{gKaLvW(iUv7uO zKpx}euL}!`GfT!D8T$Z1tHJ)eyy1q@eI}_ zfeVcAZn5GH1Id2L^7=1_V|6r;Z@qrt9C$S>Z@QXe|6|{qBEZsGE}7k50+F%HnE*2H zjt;#bQk4EOe@Ib!i=|MMPl5mqq?UdAfSUz~4*_?L%o@T23CHPNHPZe2{(xU1Ju^kp iA4o>U{`ZG}Dt`fUt9Hj&XiNO;kG_ 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 S)dk-G0000|AV0vSm}K~zY`?Ub=@+b|G@ zWf0zTvbbdtmF|&cPe}&Z(&mAT$}JCBpidAWoyx7~`{a(|k+dB90g4_B!}fi=|Gzt0 zMe&aYz}@YQ&_{-!6l{aB59%>`7ZoQ{{4gh38LDg6gz5>uS_DLT$t?C}hgGqhk z;lhOc>hS&e`VB?re=Z1E;bl^t2?j(nj7n+09#p_XtI}@;V48t}LVHatpbN280eJ2F z&G5j88bru&85P~Qt>4U!fw^@pVjjS6pMbs^{cvc5+j3Cq0p`_F2?Ahed5Ke9*AN2% zQ4wHxJX2Xh7I@>Ri5@JEZ-Vn+AQTXtSpdV+&kPW|v0VVwf6Jc?*bO5rqx(x98R#V) za?bS;*!;pS!o3kVeSnkm(MJGKK{8-C@7#MJ3{(uDL38gGz}~+n05c!pb!H8jT}@Pw zZ=9&y>>#wQ8A#ISk$|uB(SmgI96lC#9f5bALw}j~008%y2+NxU5BOY_%u4&a$btKy ze@X)9fO8iuMm+y0G7qQAKHvB{iVlHlx$X?W2j!k_oNpp)(%S4at$r=Ii47)heY~yXP>Q4hzDAdvcS)qVZrMj`X9wq>W%Kd z2r*b(E4<@IkBS=qjokBvsQoSp#)vrQJ%n#7d_sr?6yC6G$A3CDU@$AJFdiZmJsV?u z+*1M+?$cO|qY^n+Ppn4X#U1Jw3mjaE)2_CP2MO!#*4f#aCpGV`uoXW_S0ByF@>N7z zLNHwtNNOZ0KIGOnnhpa=!rugo3`{R51A{pjbpykKF2$h-lL!jy)5ieJABQyf u<&X&K;L2gif+5n%g=EsO z00038NklO$@HViSjiC%_ zq{K*OIYNtk##2Y|kVwDo?6dU=@jy#b7WheXU+}qw{zoyDdVi_=FG37Ht`**Kqen%J zKO^@X5Vce@7PYF=Cov|24C33DF zS&h7l+t;raI5-u@b!`<766ULwv+qAVsad$fR{SVk{cUEJuOiwKg6Wb#QX@(6A-BGl zxBTfF@qFu1!AFP;OfM({gE<&=1H*z&#l8oV2nzG#<_^pshcx)*kO=DF%HfLzwIu;% gKB&um$bb8|02-XV-9Whj-T(jq07*qoM6N<$g2}m&WdHyG diff --git a/graphics/pokemon/lucario/anim_front.png b/graphics/pokemon/lucario/anim_front.png index 2b8ec0748faaa6ed61726c507e55bd1e0eb89f92..3425fd37bde0e496cb4eab071de6c096c21dfcca 100644 GIT binary patch delta 1120 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 X)pm3x<&JFt015yANkvXXu0mjfg>`Ry diff --git a/graphics/pokemon/lucario/mega/back.png b/graphics/pokemon/lucario/mega/back.png index f99ad7777df0fe170fd62d7a795721b8c2495f22..2e3a5736f04f7242238ea35d04afb9c1deba60ae 100644 GIT binary patch delta 758 zcmVg z9jl1NVk_H;EUavdDDVL)vUFfzF#mUULeuy%;3%ia@0a)Po$qX|UKP(WURyNqo-tmj z-Nm@wFs7(904m$A8Mp*omzls$_lVMTduC9_z-jzX(Bx=ihx58;1n6)xaJ>pZZ3AF7 z=e%JC-6}xW-2mzU4I|hEV93xl0e=K*Y*PlBU_cqz1~9_c2prBIy&+IFfR_t!&od?9 zk^naVoA-ryN3(fi1ifCvuXQRo+6eKKm>?20s7&IW#9RkWz%_H!x>6BP6`lVIr}Hp;p@-YpXvNc z*KnkiLm4J00e}aB^Lco!WawUXmNJ&KOietEo@d$FwZi|E(%T0WV#*6K#4%fWa^Ac3I_xPRGZN+Dh>1Art`0NQgMr5-QiXaW^RdZtP9h~hR^pZIe3 zqKV-Gj3)Xv6=KV06;VVU=qjVhbKI}ytt=9V<8c9y=R+D)wzfGx`gc4WfhCm50j-2= zrRl|%>$RgHfQ=kj2Qkyr2)+bX zDRAPL4+u~nV2@B6>pc*7 z;px|8Yf=h2LVWiqK}!$ITn5^+ner$>FHJilc(M+Z0>Cb1Y1*EBD+QPOMUAb1pX)X3 oA^|D@C{_w60n5RI)rGLEzXtSL;(A2&RILayV`{lj6^E+GC+Ew!`~P-ni~uX#3|y}U(AWT&%{gzGLB9^r zcQ=40K+6br0T?p$O@9Ev2HTW@CKyl#wgF7=H3En82d@a!4dD3|xZ{};a7ln0fX#5$iB5=Ja&|-u0H=Dvs(A!T~1n}_w3zrd4FC^XDsv_BN6cX$Pw!) zoMrRwuRKL8C4dMJYXc0!6U)B!Gt1`7yoNKDa+(w%!gdZ%tizX|vp@6Yg|6X9DaSHQ zPyzrC1n2YcQZ0TgFVuNaVJc-TX`9-38UxR=vrC2lE2Z0KOi|f`>0QR)x8cy3NV?m z{FrghR?jNZ;6PWI%%0+YJzvUI0&zSo0P=iDgWA?M=STmJha<3sGC9y|?WF1ZE!TA$ z*N#s_Km>ZB1kydX#jeGXKm&ONW_VYw^%8)`L~tyVNPi}sbhg)Ai|4>%Oi<5=PUZXPTL|MLzr-_OCv640x#e~$v6K=8E;(8z&x5HmfE;7edt0w<37h`@|h z0d!D2;sZLEtW*J$L{<%az2fq@CSdKid3_^bZN6U({2ZW1Xc0444ZBEy3IK{#0!qMg daPQ_u`~?RCN%0b9%4Yxo002ovPDHLkV1mKERSf_D diff --git a/graphics/pokemon/lucario/mega/front.png b/graphics/pokemon/lucario/mega/front.png index b99181972776bf786ff90a73986b9b74bbcad600..6a97527d0d51d9fc805b57d15ee2adfa700a2666 100644 GIT binary patch delta 804 zcmV+<1Ka%n28#!fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^~_VK~zY` zt&}lu+CUV?54rW60Lh*UG(#7ci>(wAD!^gs(gKfElu8I=M?y+aTOmF}KR|}8rO9w& zsDzZ|1RYWqKt7bKQQSx~%GrRq@8BT7nwZ89`(^!xe$fA8MCL-!vGcjP@Q{{t*e z04%u!A?_ca3vhXFYEG4Zp}+!KOeN+3B?&DT=Kz9{xC6*88~)N90EKk$X13?Gv6Bj> zFmcU`!P;6i6->KI2y4|U0HifnVCP*GWXQOBh_yA?H~>{~^VqFbH#QD32}5!dsKKib z;11|Dm_&vcE>+3^s;VYIQCuVh!qX+ycdWU22!yPwzA$wM=+UBoKTPYI?f|gQyvj0s zQad?Hzz%E;E_juinag(-L*oFO5w}{y9wKttG#jUi2I+5B?=~sl;mh@*raq?s`#fF;ecOG zZ<_i`RX>hek?*vBJ{1thea3p8fRC7_p7ySkG>iSd=^%~-#sc1ip*5%>g>ZneFNZm} zQDgxThOwlC=@EKZ_daJ#sr;

      Z3wZtLPHQ(a_^2DId=aL@W?V&?u#Z@?j|BGOgQ= z8ws0@ZlfON1gn&(!@y*I(5A_WIy=!E1Y&v9%$prpr8L5Sns(qp5TKjyb^wPbfZZVu zIM@k)1qe($!ggS(hyws0v7SxvUhEE@Y!R#5r4+`H=G{607^_J&j&U%13yHTV+7)~G9=+J7P%~%j};{onlgNr7b69VhE iq?ALS-2zae_QzZZVVc0Lmh_T=D>TBXtLmTQ-7a4}gp4;LmP*m9divXApLc3*q`& zEfZEk4FFWl71()K0|~OO9zuN$HV#0M-8^>dwT+E~Y|0Sb1nThW1Gocv9VRD> z4VNq>07X&KAj>Wie>`U4vJyDf+&p-U*Ofq&xC7*9F&HHcO?Lq3XO?9JJ}KQi!7vYO zSr;rz&CC~ivY|16&WPLXVV}cN#Wb6zvIgomyMG(7hOs{PbQd>Gtg9Nl=~(SsKzul0 z9pc{~{yIIZ1vE*u&)NVlZh)BGVs8lWY-GxB)1nk_4_k!Xf21n>X~h^2l+;aAf2rul zaXa>%G^W}#9#Go%g#y?#b=AL8)@=HF+Cdocl!p8%Lu(R4jGz#uUk>vym1L2_6d_TL zk|XY6!~dL8x%#tltBxwpta6t?oN=S^h=79%cfL@{31r(hC^A1Ts;coORKxpC- zod=dmCA4iEW!}M;Dr1Xc@lr{GqEomi{J0u> z1B!;j_81BB6~IGo5!U@+0LlOW002ovPDHLkV1kE!aU=i$ diff --git a/graphics/pokemon/lucario/mega/icon.png b/graphics/pokemon/lucario/mega/icon.png index e09d4c9fffe5955a7fd80cc492dae76fff10f186..6023baa5d1cd7f7cfa9e2ae79d7828838aeff14a 100644 GIT binary patch delta 314 zcmV-A0mc5Y1CRrdUw;7`NklMDeGOAuwDWd257k`F~C1yR0A_3g7w5oXifo zd=q;3^VA388^&yw|w|gH1%>R7+0dTmkdMDV*ssI20 M07*qoM6N<$f<|DG@c;k- delta 347 zcmV-h0i^zr1F-{;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>w@$|5PV z0003LNkl$78qv`b%`=%2sa>47 zEkg%5C?WCrCL{)gH~+fxS@tKyU#_0*;f_U+Vi5=PmIW`Z5`P#4t^i4n0j+bS!K=(O zs~|M_B$KXtGh+={J4>v*c^U&R?MZfCO)c+m=CdktWafq^9hb17>E tCNTR3Q-yED^a>{Sp*Icl5rO%gj}LITu6m_@YgzyR002ovPDHLkV1nuJlxqM0 diff --git a/graphics/pokemon/ludicolo/anim_front.png b/graphics/pokemon/ludicolo/anim_front.png index fc060ee36c30e07e597fca30667a497542aa4ab9..2796df8df8494b3f93e1ffdaf8939935ad0de682 100644 GIT binary patch delta 1729 zcmV;y20r34HI#PAXD% z2q!@OetM5$Nxok+Ej@HiE6@4*CY)W)TD9ANTIJbBZE0~1eSf3++*S_rg$#t*_#wqn=H!~&w=y6$!d;y)|EE;x$pEjxGrGWYZ%0Km<9iU06S zcm%Js&Ng!QudXf)02=a!%Y^vOjD6THUtL`pSi;(Tm;eqw^Fa&*0RjeOpwgB+82cX2 zv-RE#*nf0cPg;Us2Byc0@18RQfXl~5|FvfXNuV?^BhJrkW|SvamtBLs4-bh1aG!HA zvg_=@WO5m7F;j$x$r?Jm1Q(HA3nr7ve?fzpdr0I*>P%BI(Jm$7Ew1q^_bw_H6H2=to_DE6pJNP5d_ zo%|MUvL@?yEz7DFd88!hh&-+0^X`siIo66-l;d!}jA(h2vA#>KDz(b(T^V=}Ks|yQ zE`OyCrCmyhoWO_kZbp>$>2y@7JOv%kJLh=_)hYb0rvb9hr$7!WQS(>pj@KFH0?X{!a%e)x_CKSu5DcbFw|nRat8f|6QdoO$6|D7p2fQKpX5A?#{v#pdOa>$W68N1dwB_TbQR7*OOqD^*C4zXe+-#2C}dM=zqzm zYXx5xB!FgrCkzc%5-m;b{P8&Wq=B9s2C*9Wt#pDgB-nUxPmVJDL^*nU2z_h%km3!J-25dGJCFyjcY1@!K!4oJO%#+Koe{~!EX9sxg2Ajgr!zN@fLNkhU@*tA zf5dvxl3Eg4jX5*U^# zj~5p|3a`N%4^tP2zGnS&$3AUk|sxU<$QRe&u$UbeSB*z5xUF1F?l-YdG+D&yfLCwSvnwp$Kb$U4SJ}xxEw8CV!1BP*pZ{kUEE1 zE?Eh2ZnyLXrI4bB5<<(oN{OT)Ue?cJgu$;;o|<#ow;!Rppud!IQ$XpiK8OWAw(5Z~ z&4ecz&kP0X3kZ%cL}?shT*?402FsPB4u6k=5UKGQK;Q+zLE!qJ^r4mpq7Dd7B-*?C zEox~g01|6@u|vM>k~)=^8ovhMnAh7LX{Rrc7{ITW%J?T+Djwgqv#$x6>nHmBueJXH XUo~nC8S1;B00000NkvXXu0mjfx^XU( delta 1754 zcmV<01||874y6u|Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>xU7W5>1 z000JvNkl2H1-_S(n}1sL2VomX_~?B}n&kUf zl4hGMNkwUKla*D)s4N32rOlnn%HkOEPI=4REG>z#YVxKm269!kWSX1vavZ?>!LPDL zTP2gs36Tj7CFxx#w+z~PRh{WQl#YY0^dRVJlo~XrJ{5t>Ob~oNd=~_&L47Sp#1J2& z;~)s~@OEjjFn{oi;us1M^aUIm_=RZT?~56t7~m}`L{Wsq0CE&vCH&I z8!i*@Ie$}nQZ3%y-Dy09u{*tIkH4^94ER0=G>CvxTk?45IV?-J+Y?}y&~|DGe(C8B z%YWFS8UVM?wa!~d^HUqTr-zJPnp7)}?`~Tf{TOsn3Sb^%(ZICmlkxc0-=lgIbf|8U=M^8AABQ=ZV*_Dvv zhyyp{F`@wIEZ_UHo7!&ZfOhKs2%%3mgut2bLT`{->}I3hp%jfqH*oGFzVgDsa{cYftsxMd)ek& zCu_k=yd|4XGgMz^^%&40nJR{8HWjH1OMl$!M+2VA76|zWj`9k2y&l|=><>OwVXYnh zcNxFdIl!lb=2a`WWeN#kqxto0r3m-%us0{e&+Xff;`Km_sw$snXcQM#%>-CdxFuMM zP?44rXleh-@~0)Kq%23&9i^lc7psR{F*i-Mxl z_OL^U<+?Mw4LSDNHRuOIggA50XVyZGzJD5xzUSV8H+E+(5P4VQ0&|02=6~KY28beF zUvE?h4}$V90YE6tu_Uclp2s1e>>;Rm{jNAj6D$e_2~yoAdgysGIkryB3PL934S@WW z0F-FktW$HF_am5m~sSL2C zhpXn^iAhfYAiOk(hpAHqF@IN0xPP`y?r}AoM{9?oswKZ{cmOD_upx_ZM)C77viFSu(etT(Z#IQOb5%C~92Qa^No@LVvVo!{co`4RBS< z5xNUWXbtQFECE|W9crT59;hl!9K>QU$`wPIRyDbXF@$Jy3Bg5H#wevBj^br`4~36H z7VC4$w-<7C;r>!k6F{i09*6~hY~2B4ng~y7Q}rXRFCaKx6cvUc?^gsDgXL1O%|3EL z2*v&hfM9~)AaH$P{8Ln#1wt1DCybg0M-6Pu{+xuslAL$Z*8{ZHFr@ha9CNGbpyuoa w5(7$XDf}nfoRS2$E&B1r%=Hs_{=cRF0bez04bN;=-T(jq07*qoM6N<$g7RM?s{jB1 diff --git a/graphics/pokemon/ludicolo/back.png b/graphics/pokemon/ludicolo/back.png index adf34db0a2d1346d5e4915e05e23d98b239d7daf..d2b6b4cca217ea0a951689092274c8ca9df23fa0 100644 GIT binary patch delta 729 zcmV;~0w(>l2EYc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+~rfK~zY` z-IKj?+CUVAfg)E4wBX?BHEER5;@xEN{ zz1o$89O61TGt$7EPv`zf+xaJT^MT);e8BYXI=#u?fT4fWo7(4}zv=t-Fg#zQH|ftG zhvDOSV17G&^a0@KLTH(Od<)|E2xl-(Pyd&bmKU_E{fts$}f4IF~%H!K7g@0pO&Wp$jQf; zz)K+6Hh~TJ&mPY*4eV`8Hh`!|Amo`dvbi^Sdt3dI(xxf|Y=9}ApEyIrb6mOKL*F)4 zK_E`3Oav}9dHo{a0NBci#*9g;B3U>B80QLY}G?o|W ze2U>5J_NZmM4;MmU^anv4K!W>{R~Wu2K0vOR)yZzs0984bvnNRSn7TQ?YTRa00000 LNkvXXu0mjfk+M=f delta 718 zcmV;<0x|u-2D1i`B#}W-e*gz`Nliru=LQD`EF{#uzfJ%E0+vZcK~zY`-IKj?+CUVA zfg)Z3-q;6j>&PL*0$jNDN%vsAcY#`|))d$kKf4so5F z8EIh7r*nU#ZMFVI-F)D;M;|bqyH;oPH=xgNI%D_z^EX}Y_M`JPe>$V?^syg3o(HD4 z<42AFoC~>)qHp791iaZsW+S2~nns-8HGD_86{LZ2G#)oAED_L<<9?2G#`Ls;^JA%Y z1TA+S5sfi=Go^M8U9UNyA2eF*DHPszOEoMYU=uX&LJ$~}x#0sGhj1xBEP zOw~g!(^#Um3M=G8f9*3>2ii%JT$g3}BITE&$QffE^l+@!r}-&>@`|BOfC@<0bzp`5 za{zg6fUWDu8W5K$hCBl!8-m{3+v1m$E>$65g-rSU1WY4==gaLD`*x{{29lJ@#OP9! z*Dvx7fwhcj%!ITk)0u}vh7mNAFXg5VV3`Dg3~xdCvwYd$e|FN?cBzG63|}z{{0(-r zO8iYy?aM^y6iD^WPZ3CyI5j}~03-~r8QbWVQ~lp;{1`#<(Oax2(Y}sTVrB+E0!`u| zs^Dbv7TjH(2bOC8#5rf_d!H&ea=Ysza6h^Fa{w;1%QYZGGo)(Kmuv0w??Q;l39_Jo zwh7>ZG-0+-f6UB)6j102My!(kY6&O`{vbp+5Jyc8E0P}i#r?eq0cwCaCV1!<4-e=Q zU~?>xtpWWUv=7>|IktwshU&N(AbbblS2hSOp#$Kw3I9SrcK}R|hTM#fxKBOl2%Td( z2{m-3lqTB300R*oI-!&a9{0Hggc+a$s)++B)&2+wL<<;9ga~XAxTq~JH2D+*fFFXK zYXEA%z+jrOK7 delta 76 zcmeBX-po89-hhF#z$3Dlfk96hgc&QA+LtjfFtC?+`ns||XJcp6Wzl+z5Uo}HbG9_bSgT>NgM-v*+7K%!{^5!ixt z8+!p=1WhC!Fm`$X5P}L&fR(w>ip~a7Lm-g3uqLG_eI$x5G)K5)jnqW~SWZyX;4P^U z<{Fl;jbfZ$=0X7)6Lv8OqAMayH8dv>C4lII9l&-=1Q{e64Hcs)>}uk@0?>BMss^}K z8mIC{4}hIlXMbk^Y*P3;K}Z)lAOcYZ^a5b+15kspGYJH6go28>hWiK=;P~LJvWwY# z<_S{)@Gf_Ocs|oJfb9TU>(TtX0)Q?`F@St)b_~Fm6|^C=H&lc-iXGM(|1ApzVg=mn}1pv8=+F}L(gy5$S zS*L6QVb=VV2VjZ<}>_t4uIZ;oq1VyT1@oCiwuZ~ZlQyG^N=f##t}GI zfIgHCQou#PdcN>Dk7pP{G<*yW3}7xLFoJD3!8{%?#z!+!13PTd7@UZu`Xrxx4S@JI z9>Rw(;eT%IIbff-8l^M`*o!L!9LV`-_*lN1W)55c@O%LPym((s(1B5#A)peWe-FSS zj+pxF!^bEvUx1yuIS@aLlF|~Qz@tT604|vGY1E6vWMC?$ZN$=^)|Daa_M)EWk5~P* zEVROJpFcb=0_@>M&s()t^d!-tBMc(VG{msz@qb`N+ROFJcM34#^UMLML5y5<45Dwu zSJ!V*gwj5(XJ@DuGH!OpF45nt-&|k6mVi;``57Ct>6gF!2@ia6jSCb2DAO2A9 zlQgCxWUD>c~NM@Sa>xAfHyOu6o}5)gLoJTW5d%L<&TO%0DsVp zSu`DQ`gEPf5f_5^7-GDLyw12aJ`r!Q0s%29ZsUUWA}?4D$apQV0%0#H^~rD8SwC2< z8szhzUqXSA-Kf-y^`D&8?bB6Sg5CY~4Sdi$G^0@uPf$}Y4s`tMW?CEiky`*{jD>B&L_GyS4)1#bn3tzYAp^|f zWUi^SDL@Y1j#--RZ51*qgmPrH96Pxk$ST%P&=H<% z000HsNkl@@j*8GW0Z8f`AzkR2rO>TF z0TmtPN`SU({tq%`4p78^rw$$5q3F^fOMz|%G<8ngY~PRH>+ZgX6{WOD zy`?B>OF6VuN@=UnrUwZJ0P1o7AmMOWt_ei_fQqI8glBTvYg7Un_nJsNqO^Yi;GA&K z04o)t=7o)f4vs)7qCG2E=^~LAp<3K7>PSSyK-=>2I#^5S@G~84Zt8oX5F+|VHmnkE2e@tvf-_E}y>gogGuoHx=J4?rfOwhRCO6WrvZcAw6`%$oQ#2GE3Aa!XVI z3_c5$MS#C90ML5inUhARMfs4wNP$Sv+9)7%9%AK?CD026S-@)psEQZ@;c8tj9M`skFe-LWa1fBDOw@WB^1xIhB{EdNqY*YEFsPl30qEC%r!>hJH?NDAN` zMt_;G!eg_?f1u6UJ?!7_hGbg;z>F=5?0&evxxKv|!c`!pqNRxsy03P-9Z1-KA5FWW z-ZZz*f!O`C;j22S0<`TK2&Q%CL?@L+jjePB${48+PuG=2jg3SE7$a9#)rC_dP2q6; zYHL>$tl1HMce@7wg^3NV$&};kq5c26)PIM7cH;p7H1AR^cmP;L`x-0+g80)zK+TpZ zsP;n@0BLfW0Lx(C1ORH0Ez{f{pdsKXi%?^esLBK_XhXt(ybRm)jKOBK2P_ddzYZaf zSd7)8pbD^lj1Yh#$|?Z-bb$aoY=g`Dkk|7RfKQ@mY{l7Q#xNK`5g1%VadU%uS;$yJ!GIYAr*7TIW z!3+e%B=5#09fXdz8Y$Ba#|(tEq);cnp=U#Hy>2L<|NIgXjHpJ1TCDwKt?!<#lN9up zyJZo>?X$bz^aQx!u3i+Oo{?vFzklK%WSV zt6R($>Z=`OxqC>1b*y`t01Phj>h=Sqs9Q*bx|_8nxh6$D#Wc6WGzjg1ZzpvZ3r!x`^0Wi1~es!y+ih84EK)D-C0DcV6l_NlRRRDyS zg`U=gdSvGSVPnos=&0uah~~W#fPQ%{HKc%%@61&hHVO3Qa8T&&O=+?ty8ng%%y>Ew zS+d2&Wz={9a1C2zH@QD&Qh!bc#1l$w5s3XxGE2z;1m+8mcVs7;?8k#rJfSe^#V-K& zub7w}T%jSoQLSYEsv`?pJk9lUi5hjy*(8odJP-DZ#RA&NWfBWlj5x_fO*@4YKo$9c zvs{ZlGPvRS6(ef`pbC#4m}%vJVRF-_hby5Y1RMdtP4k!rJPOmd8YRa7zkf^sc9@OU e(PEwZ_riZgc|sB{&DP=o0000+X_Yl`T4i*>O}%t!gv1!Bk@Er(>;w`&VAj4%Z7|ru2P{1a z3E_|X|2v=U{dY{JPs2cf7gNvQsaK!C0LJ$(#|k)t5)#16SwG-KIN9Qr%I>G2Mu>$d zaZY*x6bKpdH<7>|)>tclqAW-s5LSQ?#U|yj1{Rv&e87Z?4ev2A280Ia(GX)Mm;qpo zF#zQj0BNA50YDRMF;Yf^Er0?*U;z|zdBW?~#5(}Up))`P1FZ&+9tj8}jftNP8O%`h z0F4JB*xMkGi(=&hcSeEA#{~idTzi1F4cCGV1N7?(01u`}5B)NK0u<4f;CZwFs?-W| zAx|(XfGTT1`jh$y@~C?-S0;ea9&`j;fIc4#2BgN`Ne*khz0c0Vu3a+~ttEfYOlb)v%>}FF-)8tDWSWb=y#DsCE1* z&MHCPT~{ee1;kYXV3I;AKW}lITvP%VpmqPsSXyKNpaxh+mB4AFSwB|^x&RXfpuk=s d;e-Wv-XG=rU~1VpLS_H}002ovPDHLkV1kyJ>SX`` delta 530 zcmV+t0`2{T1^5JzB#}W-e*gz`Nliru=LQD`E*>C<1bzSj0ozGLK~zY`t(38D!Y~kq zQ)KY~t<<>!TCsv@#pot3_0pv%Qbwdk#|t2`hXnk9tbLc-NgOBfB`mdsgz(4x|DEs7 z^ZxmaCQrk_lrARTc&ERP84gf-|8gjR11g~ax}5a`UO=NQUFqoKe(rvR;5p zr8?m^Q$UPstTmBmtPk)DK+0@$1YCp4iU1feq0a_-Oxyx|3-oBnTPB1BaE)64NgDvB zL6#OkO^C&fGy>WHINDSe;F!x3UDqbwW3=fk5a2+q0l_0ffykKn*|5O~Sr1@5NGaY1 zfmCKI7r3(uTzwcee|!eG_5gJmu9+AH_}3Ky9&C~x`4tRFqE5l{c!p$IDa@ssV38qN zmVol7^a<WDTrv>~0<@;c2 US>>`Q000002uVdwM6N<$f>2E5;s5{u diff --git a/graphics/pokemon/lumineon/anim_front.png b/graphics/pokemon/lumineon/anim_front.png index c618191702735506f6c8f12e982bda80e4c71db7..29ef5dd7b6b88c2ad3a2debc813036e59fba6262 100644 GIT binary patch delta 1057 zcmV++1m63L3GoP!Uw;GqNklKb zD+-Nt$p$Oo+N+ZGid=uc^kyhhqDbk|9S|VI7WVSNe2~ML*Npw*Yjxv4iPhx(K6jtE zhMQ!2v3j>Z+;~9W$NOBteh*LXn|y4x@%{w>O#d|oxH1_OL4Rbjtww+{HRMlh77zvv zjN;}S6Zqi980Z7+{?&$nA|PjDpc#CSfeRGlv~~eN2D13*c1`bt4AfBwn8pAo>tP%M z<>>)3fG(mC_+x9T!2tS*0D1O6X8?VSgOr;HFwsHkwslb|4~(M35Pkym7F-VNEXosO z=z{0~td%H8et#YT8N^r71FFk0IcfHqf)Jtu>Yy3}6VF&j!ktnP?_(aDJ2;ujMa;Qea5|)KER| z+80@VG70eE0OX^>Y(=A03cNXx2`EjAORFm0XK(QM>wo5WZ;*J=gd z4-2~CfBx=(3ncx7E%1in&mSF-L1KXM0|MW%+ADk86TtBSqqG3pNdkevy6GP>GXTWQ5v!c>ByTg(BB z3vF9x{C}zjpw!3D*2H8CRJTWXPaoFP`z$MyCm8`6PwVr401H@6-omhM*?K0t-|PQb zlhPnqi?nHu7gqV?LkWP~%o5m~v3uoah7jW2e#@AFwMlyxZP)w#fl91K6G>0vRwC?e z4KA?(#wMuo(%7)AWJx}%WS_RXB2EF`bt<^EkAIada})V+bH~4dWf1|wO*a3p+FBSZ z5IeYf0LFlF2KrZ4=S>s%;BK%5KykeWfbt&vL&q!|9Gc#T(+5EaOSoQXtd0~&*pHV* zLqnt)13{LuXf4nM;T1?AgyiGe5)okfD5c&6fSLl@4yZ=Jr3bhJnn7Tg%-(hnY+RIB zqJP{=obV)_533)P&oP`kT%QRD^n)$7U~tJtGC=yF@&;h^oFtj(^n-F4f(V}qrzkr8 z;DP8RVWz_Aho-BQSU(7%oPIz8Z~ATgPUQKk(+?;x4BRIVNp8G;z~gA!Dh4oyUO%+0 z5WD!TqMq#a16Ei2A|em`{AJJ&NW3apY=7ZPs2^G#157@9{a{Zju|N~i=?4pB$zxb^)r^8Wt{ZP?CPV`n@I{i@9dNtL1rFQxO^~H8#pX<`=hr3B}fPmKz^$f7}`XT*s zVi#4AEVX`*k9|%);7>w{(|<855wZu82RVy>y$k?m0w_V2GahjCY!_2Ha9Fnp{TgIE b{j%#{!w9-LA4LU| z000B-Nkl`x`rS>+t*n0CM;>1PGTolwM>^H6wt_7K%EX1gJy!#)@c?Zg4^y}41|Ql$8-#$@xB=XFD1ywgAxdokT?8SJgObh7 z0Qv|3c6LB-0DpaqgJi1!kU=7aQZ`ENfFcOt6=1Mn@372+dtwZI5Iumk5(G)kBOr(H zDF%S|cZ@QfJ?J1P?Sa;-M$g1E))BQ?Dx)qSV)Y0o+1NYQaT~Gf^a%<3Qe+(g4_y0} z%G{y;`aSl60Ggm3o?B3AF}BL22_hT1?sJv~GD3wJoq04p98ihlXJevH z1FSm22mNI^u|M)EYRLc)n61zM0L);Ke1+TRO}4DFU!Q+dCA@Mzi-%@V1pxFFppcUU z4riQRg`6NLeZR#vuRYXD#jaBE=bvbN|t&j+!K z%>&Bo)dRTma5t=yWrs`C`LO!H3t(=+dD-bD(v1P{maJ3;=!0+y#1lg7 zuzxf}0LURqCRQH6Q-JD$W&~UYfLNfr2@IK=*B*eCjS@?gIEmwD()uv^fxA2Udxwa# z20Z;>ip^VG?4S*3{m?iAFlr~JP4xPKJDEi3XqN~Bpa}=iP&_DV^+VU!N~j+w=SnW-RcJv7!vkTBe9j!510<6ntu?$7zX{I6s4Q6S5Z$6`T?s;z0j~#&tGo( z0g3x6?DfMJUq2{OMGNoQ=?9ak`zo;!t$r{-Uc@@g>4&89*Cw2PXmlbMskLnNL(_`I zBB>s%en5SZ5-3DePCq;*#Q_3NKeQ9T+UbWjtx%{*h7cdH*{9?K{!7Sk`_CpNLNxxQ z;?&obF{f;X zV2)p>E^(0pD0>Y)fGUlFIe?WCf2Woaun9mEnsBOuJo)l22 z+8jE86d<&&%mSbT0Ok%_H|-U$37`Q0!!gK50MLV7RP`;u(YbyvKePZ~L=?tu5?wTx zW+0470lKr{{=he>K0Cnq^PB-0BaNo-WC{RHma(4TvkbZU>0iv7IKMM41f)5>c|s5% zJa9+>86yi(eA5_P=(Gl2F!au3}9X*K8ze%^Y_gQG;Dhypl#hL296!D z-x`B5VC^>CTM6Bc zq`O3ST;i`AdbNIOP(gyKf2`*~w|1DpK~?fy=mE}ue|G?W;9T;jRT`j-AkPJRSj8T4 z0B8>KqF(>S9xR9el=4;V!dap101)9oz5G_!y~-v1Q4F|00gw#_{U9$00KX46lZ^;1 zo+hB0{KsWIK)b7P)}X$|z&I!(_U8iBXgbB#}W-Bmf6=Nliru=LQD`Fd1s1t^xo60zyedK~zY`m6btm+b|GC zU6G{ zZDs%+0gx(a-F8>NW`Gs|3`Zj$0YDdaQ8%{$NBjD{`cMLZ5m6eu&UDe9+kr492k0Qf z{f4h|eFnh!{amMkpc-x8$rJ#ZEMq;v6Ay*?8ItKmoX?Dl0cj3zo)82G5A1Wmf{}!% ze-&+ftN`Zl-nW7ZScUd=44C(R7{Gj$@n#gznZIwoK+86J0=mu}$G{-~yNxke2CUu0 zxs?zyRtQ{2fQBJr5dyp^MoDm<;7ycE((r)njKw}kgqKl?0&P2gx7KHZNp~KdafwgY zbnAR*u!02D{8*(xh#h)xP*;2#Yk>3Le*wS`oGSjb%md^RnMoUs3iJ)Uf^^_whdAN}LZN00000NkvXXu0mjf04xct diff --git a/graphics/pokemon/lumineon/icon.png b/graphics/pokemon/lumineon/icon.png index 24ce090f03ec688ad8342ab1553c37977ff74a69..48da3c34085fa8928c49766a4d4b9fefeae4245d 100644 GIT binary patch delta 312 zcmV-80muHb1C9fbUw;7^Nkl^M@` zawmcYgN9dXnZQEh)p9K$^)r~Do(1T$@!%NPQWn4wdNmg?Lw{$6jFwWOCu`qMip&FEh;RlNphK&*iu`mgRL0Omy zJq-n{!cZKGK{1;!)u5L!Td%(nhQ<@^go*9L?}Z6b{^19ycjp__A-;>)i21_+0000< KMNUMnLSTX>0ggxj delta 348 zcmV-i0i*to1F{2?%j@xEA z0003MNklY9nASeqL2V1*iqD^XRtm=@OjGxQ~;Y=*|j~h`lm~`Am-8J^iPne1{$sS zMD`q1BfBKKkh^#a6&S9+Ey+B_WWE+v$2(xIlt;FOzl0^#O)3 zo$Bv+p8?PygyV}Sh4&19z)i-$-6#mW#AKUbbvT++amr`D!uT4jLChPB##D;(475oQ zIZ5(GG=O-phD5!DWz;4CrcVs$a1v;XGTH0!{ja)i;C_gkELBxDe>Vk0xE)_%53g96S+q*QF1^5+!$H3);M7rGsLW?7-t+rbfaNWr$m567e8G@EF&dWGz|{1kssEGS~dfPFTj!m znQmgd*sKvr;;0Am20X?XJ*=XiNrEV$t^j)uEc&>@=+lv6tk2*u1|C)^-P+{zl>rku zJ_m6FyyeB#}W-e*gz`Nliru=LQD`F(@KupLqZP0!2wgK~zY`wbij|+dvox z@DmyYnIbJM!b>hgizc-qh?t{v=o=UhoeMGn4JxJ*1>vESSEDT2B5AwVFz7JcTNtl; zhMcXtN;#br0_|Z0YnsYr~PwExW;LX!$e?3@507F=e^$)_Y z09X)0^$?>D9|5>38Msk`ILux45UdWBIgQ}($S0_0um%}#pp0qMhcmE7K^o-wH_-s% z!3>RtIm>8`0!$wmu;D1MW`}%d!;gP1bqC8KuFAqR+5YVq5aG6b!YF{e0miPB@ddy` zV95<80e%Hw6|m*He+=fOR389bcKOsmS{3;3z@MgTrJ zlM&<)!wFIdS8+7^Gb+{L@3(N3*F)EWHAs>q8nh6iaM@)Q1pPL~h3j)sHv&q$7n|!< zB810w8X=Klcy(|Q{K&<05YwYU)B}6|XR~|dK5apH-2>(pe|7?`TEOmMBW!`T?O%ut zXf_K8izg#&BfP)$O8ED!qWWifc})0$XVh*{J}(`f*Pzs5_ljwn@8Ylpx*H#M*r_^z ziy3W~*!7U%l7p14EiCGk2$0+2t4oRJ6vRu%!9H`U{Sr~nXP}M*m~)`hb%tl_B_es2 zN}y`NeTLE9aw7em=ZF%z5@5%HNADLHeL0fl8SGWyZc)&UPfp(%a8VF(khMTxr@xK` zY0#!wW+{o1HbmS3ipa4d$8^)2GWvskzRZXZ0{9$|raAdFdoFZ-69)SU$wm&r8`m=m WtHoSFwiZSJ0000;QVe}l!$ zr{BCcGg|ULA1j}KduVRNaw&aFJ1%EkWO-JB?dEcj=u^vo%IpUY88NorA z-`Ms&GoQnFFXwd1HxVu^l8rX0_fsULyqzOVC-K+6Lf=78EGCSwokQfu-gsB#snM z2eSZH;O(>oAw&>}?!y6%pi0-vnrvoZB!bB#5G?}+RJUFXcm@{L*6))^Qa7M5HsBWL zDg{g8i^=5bWcTTy1i-IQeJbD2g3nJTFJAxEq6l^jSiZfO0%&vhN={zAe@+TCW=rr%Vd0raC2@#5=A;+FasYn|Rb0MG>IO?8-_#gY`z zMXU6y=$~~?4PYBd4}niejYbJN;l~jJe=y1b?6eBPbtyt(FUOIu=ZWm{Sx}ej^5q#cQjX);XHK8U z(Ht0tp=4`>^x-brZ4r$i2J{;nsB_f8rj3SZ`E4sMiCC za6-`n*{pXD)zK7i6#&_-heUq%==$=X?*KIU_Nhyw3_uZ$U?}>#&kPuLIN$ETz9QIw z!-6&tiN@&L>&ut_YOn(UezLJXZu1NQ{GIgfzENs}bN*+n!8pIjQvmCzucWvOZIAdV zFYIej7_8uVAL$5~f04bmLeS%zV-3umQ;8w!S+6InO6_pLITQ%jtmOMEu!c~F=Ng3K z34nwr8NiqorQlw6HSjS&3BJSq6hv@FRdue8x~9@q0HYq~o1_-u`5_=S&YT-?poWdn zDd%h!km_$)tFY}48Y9lXWa*S%h**(dO~Hd8Zfve>y7QpGf3Oh9_th}|Suy*k0s#Gc zLuciW8J7Cv0V7oa2gLfJ5Y2+ydt?0QB7+hbvG(1_WScdX&5IcUsUmPa8tW!>1bm_7 zr=H7$Je-a=8%Goe z@LATdS7}qbs&Bix1f52j+D5_z(yUdK(nGMvpkfL_)+_=wB$37}e`A)JkG}KfhjvBC z|GTVw{_Uo@7R&Yhw?uxn1^azJmuA6Vj#$$cxS*dg-!s;OPA^AT**7iN2>lz|%rpHt zjQ4U*r+gFP`bDzQCY2oCehdvx0X{6bn?^tYC3Q+{9N7!8>G8mahzB>INEWuK$@)YC z2@y^QB68UX3vDx)f2YKw6zDNhK(Pd!<*97|j%Y!FlAAGf2^m;wjzZ!{@pLc?UfPt^4UJQ5!7S-18lSxuHpfEPz7UwDjOXADP z7WFFReZfG-_L?CP9`s2|JCvl>=>|odocwt&D|?Ge|hyfDflsUI*9?rn%6YI zMv(mR>IwmKI-=s^-WE4mQ-ucjADxI7-%Jv>)W2Bk^zH(HNpRj&hv{A{NddEHm3|fd zv(BjjbR+2@V1(5CD1oICtynSRA5fXbjj+pKzvdd>dU9QWQXE2d+9LJ10eIiG5U>Jsy zt`X9Q;|yyg+m4t|7z!bArmI-#nhdEU=4()OArRQ2@0NtXNr=uCo|Ozh1g@qnh5HK^ zvJU}#4nTrFuWKFm@(nJQsi6pqm)1}>5vvc~%j*zMe_a;QnTY^=B2TtfhVC%rpwl-l5&{~2pA&M)#5z&Pq_Del0uNBoo*_BALB zR&c+Me{=-&$X;6^=<&_52IkDE#1QqY*OOJHcDUdi3WQ@;Vr&J*5bE$;gHSvHknkh} z7_*`joXf5T3ZAhr?Y@m zf6Jx{%YMHx;`}R`cIknL6|rgx?gw#Wb7j+=e+LDMg+M-2!}w=K?Vkz&^!E*&l|QCf z>W>GMQ~?|i>xV)#3vTa?@zzBKB~W7RyOGH@V=S8oGXhdY;CgT{E}V zYBG*w!1QBUu=M3K1MF$Q%!PCPba0R4=L2S6hXD2(^CJDwF9Dm)*7qOq4cS)b+V_wE0000HT5dH>inXHI zCOI8XDWLiT46JCCA}=(^=lr8@_`2>Fi|h#mb1GOCdjcq+?7?c2dKV}Oqi=@V$zS2y>Hn=T YKfA9m^f|Y38~^|S07*qoM6N<$g22zKF#rGn delta 415 zcmV;Q0bu^n1M~xsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>`Y6#d-Z z00043NklP zXBuF*oRH~~N6?@JsNj~aM>+<;H8KJ^Xm5yHCcV9+1{>T4H2igb0<~y8eu8<+u|t@h z+l7lOc%L;~V1Muq1P;@*ub}jeGnmKJt)FJiw!hEgh@b#1c)#jsKSsI>GF^&jBWr$m{t3F*-eJnEgl`9?dSu74EIc)bfoS@(J}ra0OLS9mN|wx3+2_v z+{WiBkk5C)5^#XU#RBZvb4)~fXspf)AHhXwTPlQAX$Bo?Ru*UO6DDr0s!vT)l3VcidxEL(FGJ;2z5x_C+N_5C$?V=5_`p_a~cxc+|km0YT@ZWP<`~hU#TYA_M zgTS>)^X(=OxHRUCIA!l85-k$QBeA3}-8U1;6M}IdeT-xL_jt!26bS@;2L~ zo2QQe3xB-jc_JBavqg~?S3a=ygKZvtzeMW%K{>^^KKGX} zH2t@P%o?VOmKdR7NRS*5rTCeI0U8FtsOu;$P#_wCD+u3FcF*DrBcLE|`j-d3bXFi{ z?*UVsY>xpTRs#gY9nE%T`YVMkM}Kez;thAzFMn)9N18W~lRO_gJD9F`12Og70u%E> zg5d)={f(K|1_dLaD8o#t3*3IS`N0E8Npovpfh7k-3617#V1XOdnaw!c@x;4{CBPWZaZ<<>;T8&j)wl!qxAN=89p5#DN!`|};6HXuFK>P+<9x=E-fIBPz0000< KMNUMnLSTXeKa&su delta 923 zcmV;M17!Th2kZxsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L>}D@PriQ z0009|Nklv2NQi5I_Y%h}ND;*K0^S$egO$BUgrI#b&*B2$I!yV$;nJxX2&0 zUl8Ogdq>J~BOVcv!^1t16pz%sC_2VF0x%AwW0_;9(|=H2eavlqt^)b|C0HVE zlat9rYmOMSK!Kt4B|Ct|a3koc2aNMVyTJdevtDxg_gTht3e%$`v-g-bX$g$*#-hhA`4>&QDv%v#VTW_Usif0ap zDrsw=?l;d*>s#(Ms}bfiBXExOHM>#C2!w$Q7jv_Kl7HJtSuX%&pNb{8TEun{r7gGQ z0K3Y}otKgUs)jOnq6D6o&JvQ-D8Uo&W`I(7z$&Z8cyYCzfzoi^xfft>ccHIj3v};A zli3dl-kgdC@isce!Kn`Pc$snUaM!fgA;YJo@b@__{sJ;?m+p4NFmSEXd^ZUME{)j} zefC}=(SIU=JQ8dA(tR`Y@YkA-?EKi%j`4p5;*dWm5(xMZ%(wmh0uJZtBftXtJWnK( z{KX*h;xY>Q!K5IA@ckkBs&~OFNaFl~^neV+A0l=Bpqye{o%ur;>i#=IX3doA?Uop$ zVMvf15T*E;gdrLRz_{xuE>IvEfg=dtQTEN<8h=K0sQZ@(zI0X~7H}>Y|AXY;J z#4Yu9ru!>}B}ad72I4h$H7IOB$C@{glRTd|JD6>F12Of|0#oxyf&pCjH)dHI6pVnP zj54Lpar({E4<1NL>RUq#tT`Y`s5NIp3tY1sMT((J{qrFN#MJnqeth0`fl=%BeSAAO z-+w%jV7vlWr+bIV1PaJar#EA7#}n^5mH=Zs$4LPTky|?eiR&;6@mdeCw-1~hSh*0M zp+ZJsTRpIX-~(yic4e9#(^=3TP#p*e`$G$a{lNky x?++L48Zz|{{s3?IgV9v5xBS5zTiUzg4-{J-F}S2LSa1LU002ovPDHLkV1ngCtYrWI diff --git a/graphics/pokemon/lunatone/back.png b/graphics/pokemon/lunatone/back.png index 05c4f397b6f43a62bae553fc70f2f1aa4fa87411..71dbd1a46c4f7e43437efd265741b554cd857dfa 100644 GIT binary patch delta 482 zcmV<80UiFl1j_`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i;PpK~zY` z?UYSU!!QtqgA^%iyNihI&JmX39AEAgf#TB_yN^O`f7W7KxtP2q&ZYs5B>q z?pe47E?^99mvb;Gk#jkJsO#1NDuw?_Rt|a-LE~qbfF{(0jBUkW5NZNvk`D&E0KgC! zFA&IpHD*%_0>G?|ehJo~1eC!VM*skVHEu=&fU>y)tPwbdfMJw71lrIo_x&{i&L?Qy z$C6MROrzlK`~~VxF98BR9uZJVJ3vmOBBS&aCIA?Y3gT3kCN52ck~`yeYTkN zqWp2c%s2Po1FIR3dY_kMV|`sRnR*t1iS>0B#}W-e*gz`Nliru=LQD`Gz?=CkL>^e0iQ`kK~zY`?UYMS!!Qtr zixeqqyN)-j}nOv?idSz$`#O7e+B}@#2-lb0zO~` zZs%hVOp#LFdpE5IR6_sdME3q>1x*-X1e#bAafsE!j000opaXSbA$Yuf9XyDW=+=aac+E|r`u1tW-8Cw6cq}T@AD0sVk zfw)t10E3T54G5t;f1tooQUosg2%j*3B+LawIRjkvd414Uh9NBQ^aI9%5M33Y*Kf$t z8XsWhzQOzTY=BUK>})4>1mAD_FwO#ezYE|r)ie05UXOc+_W_nR8*fxN?w9H29z$R~ z0kYtENw?1HlJhK(NY~lmr#vS$&N6XyQi;oNH;d|%X(G9IOLINpZc_tr{OVe%+67wU z;T?cOsq5opTmj%MV0yB_v4}pI>3+cgFv4OhjuKs#O3pkYf7*Tlmbr&ysxt&p00000 LNkvXXu0mjfqt(uI diff --git a/graphics/pokemon/lunatone/icon.png b/graphics/pokemon/lunatone/icon.png index f89c896832c554bf78bc6f9d13957c49ef884833..b6f6c55264142a11cd07f7928c8732f58c98e9a8 100644 GIT binary patch delta 165 zcmV;W09ya00{sDyV1I~7L_t(Ijop$#3PT|bM7@Fhr6BaA{}5RQ3ZBKK5b!9!u8JT` z?Jmg)+MnG#;!KbU;ok-?r==SbMOxQjQEpAI#7XkJ%p1Oi2cZ{|O;NpMC>08b3)E)u84)Arr{p#=my$gZm TC7A_w00000NkvXXu0mjf#mr3C delta 205 zcmV;;05bpm0i^O{1~fC(b)wJ! z004+dL_t(I%iWSO3d1lAMRNnw(O}3)dkBq!LeApRAn;KVPsL#PbvH>v=GNNukp36q zZ`;2WF4s#nB#4x%!Jt%%9toY~b($ScQXRmd`<4k&i42kb*+vxz0NxsOW;f9&8;yBt zG%jDj#&%>TeQA3{wh}yT>_7Op?mxCv{Z1U<;{YEAtQUt5y$gZmwqkPj00000NkvXX Hu0mjfzfDtt diff --git a/graphics/pokemon/lurantis/back.png b/graphics/pokemon/lurantis/back.png index d1cc705b163921deb0b076fa01ba85c25300f11f..a080a77f099511c4d5bb9b31787a80276e082415 100644 GIT binary patch delta 795 zcmV+$1LXYn27(8WBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^3PMK~zY` zjg>KL+dve@<>}~_3&k$fOSEM18af9K2l@p%o0>Bvixq+{st_gP3(%1@e1KShQ+B2gJUj4#rpAmhrp?)G2QZD|F9EQBnj&o*{ zUHhF31Q2rw%;)ibAP^BZSxigzTseujyZS(PSl(W(zhWmm+yhV-m<@XXow@)&rEYMw zx}|KIy1<;#4k3B|6)rKAF2UH_)r|{q0Awo>i9G+_0pGw2fPCx#-T^PxxOapAt}@kf z&!sFH5jy!&Sl}LifME}KTm-}>_?Z?6fVr~qWF_U@G9aeLy-cNuHPGD0$9#2%cA^vH z0LTJ?vN>k@l>b1RtaSwg_!2CEDeg5O;&WNHHx3e>@-HwQNP-doD3&BGMb~QBXr>rR zeuZ19W2B2CpwvcBHxW(LR*2BMOX%b?4zUns=+&o*QrRYd+#ymutm^Xk5y&tayRLsW>pj;J$u?6bIqy_3dB9sycr0UOuQk6S{ zq6QejQ;nY2Wiz{Ng1W7N50UEvVOL}10zs;Q+C62HLIXF6M4%Ia5~B{FowS zMJqNuE%B1&*3da1F3^9V^U*^`$zq3K#kH4C>6lExxh#d!Qg`YS<0y-7s41sE zs_#j%EuW84fyv9$N8k6=kGy!^|BVqnXu>XX$Dw~@^P@I$2l4$Te}4hd9$@3Ejmf9} zY%`P~3P+#;2EeSlbiQ+B2|f4n&815J$uV@!vO#SUN&ioXQFmV4C)yon~}u$?n2cD-|50*EC{ zESJ%Kz!M=iD&|P`TsaB3JAyqgvj?n(K;%r1_W;xd7UKax=PtlcsXLivx0KBj7g#dd zAtcYg!X+lsB^Y~~-M9b;K(-c<$n)l+ zVS#%9#slDS&FthVdF3a}D!NODi1-b)?(EJWkydpx$FbDS<$u{yZpExjiUsfC+rn;GdnFd-D`oBdLwm>4w9l%U! zqMEAeHQfG#a$K6V+d}_LRgEt*b&txNl9aasYEc#8!%GIh7N6iGRCUci#9%^o+t3~X zxWfk}Xe#(BF649PlGqCH8`elGAjBR3{z`DZ!X0BP7yyMm5B#DY@bB>#ec+3eKg@p# Q000002uVdwM6N<$g1t3nfB*mh diff --git a/graphics/pokemon/lurantis/front.png b/graphics/pokemon/lurantis/front.png index 8e51a52868c8b33e89f20636f9a3bc760542d064..f73999e0d1470085c0540f2bafe3e8efff58d20a 100644 GIT binary patch delta 687 zcmV;g0#N;t29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&ht~K~zY` z#ndrt+dvcm;1eFSO2X7&chO<2p&lA+wM!SPhXr1PiC4QqS~SQs=)m?;TF9DCC8O2Q zkP{iwC4(ksum_+2Q{SoSP)X-3g}y;2^uBxVbR38NQ|OvB^ZSWSNnXKP{*(d(K<#zi z!Lk+x(U5&Y$gEMF?|DRjtBw1F4BTp9_n!cXWMH7!6Ua*nAp3Msw@)D-NkN_1U*vgI zn|$z~O#{h+-R}|NODib7{1=9m;OY{g`um9oU=ZXV3T$zEiR$DH?4n1+BCfI`V7E#K zriZvg1{&mxKxJ#=0R0b-CN$CYRuSlW-MRC~>`nkeMmGw-OP`ZH+)GA*w1^{cjQ*cP3gtaLZz+#>NPC%R3;#wI%ha9+EfMSW3 znF_$?05&OJ@qM90Q!L>RNXkHAaFA94bR2gsKz3gM>%`iB#oKV+p1De5@iO>s&?x4i z(Z)I0XW3spRQmA@p*Va35zPt!Za4sH=nGKOBSe=a5DBo&!C1W0!ohwk8u?qp18|09 z5pVGDIGAFmN6!F?{&gVq3t^k_ Va7EDjbm4^XP=-d}cIkq9!V+tQ!V0zQ#e-2Jp9CybD`icmDkE;xC}(9zmkgfB zfCrBM)OT(=)b^37DuWOCefQq^e7-~I|NL}K8u@+2ZAo0gT7H!Re*-}6b=}6Y5(d$b zbwbFzQ62BQM5|2(gbbZ(U=5xC31wiYSW}2g5+LhzShr3g9!f!-SYPCERGWTqp-cnG zfi>t8;z=_o{rnL|mEh_Uq5Au&3t;HyHwtWddx`4g4a}lT#2~KHB4D>l7rF{AVo*hzi{OM?wj<4y1A5r>=Qp9#u5M>qin&W zSyBm^F5$ud5bXsn7d5D0fiLiw)`qZKLKo?HnGXIGJpy>aJT@)6s>k50AB#u zCV0*Fg%nLOe}q3EE(3+ZLRt&ZwVj0k>3sogVl#_&!J;#Fl-T5D@ZF$c!~>&)bFfcS z?eEX#;~7Fx@B~7d769yU0Mx(}pr(h2u1X*jV3&i5_)iN9`>iPC?F<*dnRFkFws>?L z%&^^cYSMiYsk5%#36Gs-MrZCm1F&=SJTyk_qY03rA~%kosOltq2GD0@+qstO^z z5ZA^$4C5-5PTr;|mn_>u!yLd#0v z+Sj7yelIOxdJa!LTllN4ReeTRfFi?}O0ifMLi}5M8Z^aiw zf+hH67ZP!hVm260CkFQhJ8c25i@x+~JMZasy<=Cq z-lPnB+zbP2Qc?{Fl`vmb<_Fi>rPP<6JK=*K~Eg;|CPf@@(DupwHO^zb8zfa+w> r5;|chrXm)oGG~6cGZ6p6Kl||mE2qp*UOHSx00000NkvXXu0mjf$ibb+ delta 383 zcmV-_0f7Fm1JwhNUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L?7R9ZdZ( z0003vNkl0~h?J?8+H(0_;$_~xakx!-F9O3&kC zC)VNSoJ3z*2w~Oi{KCg7h|OHssVWeNYoi}h4My+to~lJEs%mSIQX@gtt#nyqLE2W; z17;a3qiQoGuo#Wh-P9N;3`Sb*W!y2qZ0hEe-d$!Vm25~ zCkGCW1@P!~;dqCqJ6$T)M1itZlD^kZw4F^hw9%K&Y^Oclu6N>U*SVB|$4%dh1!mG! z%6(Rt>tJ1OrIH6zXM2f$9E>!SWw=pEt1tl^qh(2tFt7-?O$IHYRgP0Cg20Wt@WWq# d_!s`#k8dld%us*453c|K002ovPDHLkV1hR%u6Y0e diff --git a/graphics/pokemon/luvdisc/anim_front.png b/graphics/pokemon/luvdisc/anim_front.png index dc03adef1fd199c34859e93dcfd61795d85b88ca..631ab8f094491447f68c090b141971bc62ae66a2 100644 GIT binary patch delta 281 zcmV+!0p|Xb1MmWnV1N5bL_t(oh3%Fx3c^4TMK>WA2wT}nz{+w>ZxQhVP8usA8AV&c zB9(U#RJ=!0tT*sd#$>UZ*&_U61qzm0Js%~04{+9bhmSCDk^gxP#LfZ9RV5Vw}i(Ri9~-ZDHuu$#upe^Fs_xSU^Kph(X6Fl fI7z_}{a$ZC*%HRRUPM_z00000NkvXXu0mjf>qKO{1~(VNTNT0p z008z$L_t(o!|j$a3c^4TMK>WA2&wEOU}d?cPqE?!oHSNKGK#i>MJn$gsCbX0Sa0B^ zjLEh$TLi7(n2^g&}V6+0w^Bs<^TWy_en%SR7l6|)jbP>P!tB> zD@1d&x;R*SU1}DQps}pxKJ+E9-_dVrt-durz=&B2jl>WqMyl#7QXvlo2#2B9fE>@8ga?2QJs)2|P2vKY@J{ xh(yC<5`nxbT|RmHD>MyMGmUX00000NkvXXu0mjf DPL4nL delta 187 zcmV;s07U=o0h0odV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1~@45r6e!_ z004GLL_t(I%jJ?Q4uCKaM0SL04rbipXc27!t%o4 zm}XAsFfbSas@W9mU|`b_7>s`FORzR=D5qHE5ozq&AaV~t_cTzD6j+d3+=2P#AODI+ pbjYHE)uMw-HS2I?hz|J$I-J)vX6`5zylnsg002ovPDHLkV1oL^NKpU) diff --git a/graphics/pokemon/luxio/icon.png b/graphics/pokemon/luxio/icon.png index 8ccb19b479a1f0e53573801c1f30ed7dd0a55d9b..bf3696a2a1621d297162a5485503ee42daa69b28 100644 GIT binary patch delta 316 zcmV-C0mJ^a1Cj%fUw;7|NklH8B5+Wmh03*dSe`EQX1tjPKLoL8REF{aoY3Cs>Zxz zD+X&DvvcPZ@b%G``;dW6jrWY3OHRUl94Jc!VAx*8_?zr+^87&&FS!C+1yF#3GUa O0000t$Lr|h}3KA*x^1!GB!Y63`>mE?2M;Q#H?EALM0oJ)}0@ccM@B&zw3ABgRPDiJq zH+3rEAMK5G6da>j=Nd9t>q(Q+D2J&tj9$r@+D(_|IX|3g?bB?;=v-@e{(B4fd>_m{ z&cLR@TgJ_0Pguf3YDnfw8n;(#g#UVeAdD=9p`|e0QW(AxMwY_#B2Wm^uWOhKgC+|! x6Q-|fD1?z%Ln+MH2gWQ+;fHfeKje4)I04ot=3Td<`vm|1002ovPDHLkV1h9}nG*m2 diff --git a/graphics/pokemon/lycanroc/back.png b/graphics/pokemon/lycanroc/back.png index 3222647048edecd16380179052cfd4cb8bfd08ce..afdf38c6a95a6be78eb0d124e030c17dc29a49fe 100644 GIT binary patch delta 596 zcmV-a0;~P51-u22BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0u@O_K~zY` z?UTQ1+&~b(hm+4AB$FY~x0Oz}?jeXs-+eF8dsJTr)41 z`LmK%isDqM>?u^}`|W(+j8^Kk{#T{-KY&k%=gD-}0=u7+K;i?C`e|U(0z3cfZVFg= zU%$zy!85=m0`4zBvfcZCFIO2kcsB$V*9^G5zeE5X#=x@D47eXxWyTI;z*>Dxz`GIw zoWYHNwY9d=Gxu$dKuY=uNWe03GcWJ66lK@cBY+8O=bx)=OThPD<9K->=F2|;il^2f z#LU_cq`R*@a7J$if{Ors#w0)Ej0@<9iXEaM)_}w#bVN0bfNLgyK>(c-af`rqGZ+!z zl+zP8o(tgoCJI3sr(E;0DvgMb2-Y~IKFc60hu^g)7I4&XVk77PY~kB&U+9~s0OT@< zqzD%jWouDvlOXWOt8&!hLTi-mQwva%v(+STj4?HS2rg)gjbOzMB;%3*m;@x_GCq$! zWOTe0;2YTSW1yd0)6Ee)209H| zV2fHjj$}H}XLM`vayR19Ex9wG1WgeDW#ny79B2G%C4~S%2QYcpfq$JkF-5H7`>sjB zfKua4f?3EorUw+C%3}(NJ8IE{I~@*1_3`~F=|(`pn1QS>P5JOvwIiruOpaQXK~zY`?UlW1+&~nC z6)aFIj8nPu6BuUKHmI@Dc(p;5A$kItX|_=ypxrtF&6a_{W}ai0ZSKqE{^)NM#i>#y zQ>f7S_MUU^T(Lp$|NNyBReu0J9Ns3QT?g#G&jO)qfym7RbqDO+e~-sGVC`J>E~Wx+ z0G9~Z-vHru?>^nch+vIVsKul#M~L zOM<{FkIGVs3q`WobO0qe8%1)hwXX0Y_&|5q2-aMn?pA4}e|vyrTzNVqWORHG;2@X1 z8R<%r2(jl9A$WRwm=Hk5IMI<9Jk*>Hz$FgB*u&FLw(0xGXLM>b!xEKv9Ldzv7qqpw z+>LnjL+%YIL6fyWpylmA92fj)g_!`ld#{te0)IMHsI#$-@B1Pd13@sIBOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00JvXL_t(|oZZvCZlgdD2XG`4U2#pQu8t-5kv1X)4QE4g5)F}p zaF4YOi|{@J6Gk4dv}NupK}?>n#z01J;iY2z7^$dMNJDY}ZdCs0=s^fAwI& zaq|&aFvw>MWN1P1@#syU(kCE*_JDT+sm&4KWIY{}%Kugmsln;2!7%2aEHoqJW=FUL zM(~=#1${IV4E)6$;MMl$7l#;LFOBl7Vl}N{#bE%6H)@>z z1bEGUwn7BTFU<=0m=C#i0*I4x1USm9P5+V>LF}0oJa0ZGuTT_4K%a}3b5ID1@tgTA Zo`2}fNW*Cm3a9`8002ovPDHLkV1lSvH9Y_T delta 631 zcmV--0*L*G2FV4GB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD{03rn~ z8{z-}0xU^HK~zY`-IXzKqd*XakxX>OHKw{cmfT0$h!ixO4arF~L<+(^);5%9g#UmQ z{tqjf`Exfjy9fBvcLd0nBUqFPij(?oL0HA@t zf(Frq&(lH#=p#--6BYrj*S~+^gw_G}c#s1rtjl`0Mco1X%4FBf4jg=0Qsa_A^;AsSvx?eCxkRZ@q}i#c^rYt0LP&oEO6Ss2NoFQ zlLcgGf#iMdO+ckLAb@(n8v*HhTmxXTo)#rD{Dx;mK-1(7Fz5~pRD)FHaK7Xd03$Ha zK5HQm=qy3N-~gN!ExM7&Mk2Fb1mKBY^hx5sd#z-a6s;!Ef8tf(j6MW@G8>1BQVe`u z3W3*f0?49zp`ss2k|MyK^#mYMbI(?9B4bajgD{^OIA1g{j5;U_nh3e+2-koixTbJ{ zKAI5>_=`Hgi=E*|i#qgdK_T{wI^K!W^sp9l9gCij;G$?j+Dz|p*G-B;XvS*KO_WRQ zDZxjn0ngXFZEy&|hm|KK1HRpr8uLQRXW=DD?&$a=)`V|v Rqd5Qo002ovPDHLkV1k3(8ejkb diff --git a/graphics/pokemon/lycanroc/dusk/icon.png b/graphics/pokemon/lycanroc/dusk/icon.png index a3b8ef3a8e76ab70854445c441d9b7588991391f..7ff67638d333738686a40f0992861b58e7c2dae0 100644 GIT binary patch delta 511 zcmVOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00DSOL_t(|oXwKWYJ@Nlfb#}J=smI#_NcG}yO&nqr3Jm|VWD&L z;o8?I1rxBhtVZxwQ(F~(u7%Rv=3{2a%zTXf-2=A=xFx_^tm_qMYOCXTRoJ**oUrcY zoYiw9&<|xW0pMI5w2w-9b4DqS8Y82^e=&9`RcR4%t`0vnkX-0OCgMhpU7@;M-&4{i znn0IP{C1`S(M}~T;>)?vc!RMi7>$@x5#$qKy_6|sO5WJ~F&9*%0+TP(^)gYsdRzwX zl*~#`E&%c%$!og;$|d2jmZgcUZOB$@1W~u^6%GT#-4-xtc7W|K^FN;3f3uCZf20PC zVHJZ10j|df&z0I=83d&$_35-2)C?jFN=1u7hN}$Gn8_gMs7OecT*&dZ-4k7@(4|mv z)S-W(hl+|wt5Fz8KCYjygFzTi206rgKQ$QLCWCr|cqUTSEDR`lq-P@+gPb*KAx)Lf z1~KT5*+C?7BaGqBZiR7MKfZ<89r|Iz?UsMz#}_6R%;yPr*zN!T002ovPDHLkV1hEA B+6Mpt delta 446 zcmV;v0YU!M1d#-gB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD{0S+$i zMnC`n0dz@3K~y-)&C<`Ju2+L?xodtX+dv#Sm@k*xb`(l!369r z8x_3O)K)?vc!RMi7>$@x5#&?AdMQ)Nl)SO|VJ@gh1twpn>t&*N^|%b&DVdd?Tms00 zB)82fP%a6FwJc2MWr)U1f}o=!AzgAI$A8;B(Ul5a3MEGl{S!S@R76^h zU?BOpe!dQZFrEZC#CtzA7~Lj8y+J$^scHrTN*?Li$VHHAG)!7ZQ{}TD2K_NRh(vC{ o819-a7`OHD4QA`334hPW7bX_W=Q)-|R{#J207*qoM6N<$g4J5ZCIA2c diff --git a/graphics/pokemon/lycanroc/front.png b/graphics/pokemon/lycanroc/front.png index 02ea3ad9184288533d3de013eb2e8c689556d2d7..a5058205ec34b92c2e54a9998e81f1449795a2ea 100644 GIT binary patch delta 811 zcmV+`1JwMA2ayMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0_sUbK~zY` z-IUF4+CUJ;7ugcmKt&WOCs64*k|Qqe!GsN=@`*HlfQo39$d^c|3NBYGEa4gj?-Ml2 ztzzX=nn&m>wC~cHH4r-?>A77AubKJHe`fZ>?4KH2e{q)TulULNI?&iMKOFm;f#WS! zZ4%&|ZUoBHKC2}cj9KD;1>kPZqU$-cTH>^_shje>yol~6tR+OH(Q)?3W;xls1ilTU z`@72&zBk^A(4%4yegxRpk&3SG#t=4|U7^V@gjnQqjFeKzbU04oL@ZF+5;Srtrpk=@ zSO7W(do2U#H4vfGFcTqCA{;ZXTP~|aC1(UAUreZgZir7)Z6*+Zsavs7&SM-!#QpoQ+wyo-MB!vY{zWjRubc%Nd97|jdLd~kszRzQR$41N)i z_$ekR4~Gc2X&$)R&w!ZXuP%^gXAI`{KA41fm(M)5&kN{NkzelbU_gTN__RE(>CC3`BF5s;JMbSX4E;ErOI zTFRM5!pY?zzz5u@8{V5iPfF0mDiOf6dZca`)!#D!F90Eh-~sk*ob3)ST*1%KK$;`z zkpxj5D*{^j28a!SkEcNAM~t>I0u}-GQ-E6_eFSC%VENAgG{-icubIX-^7;B1U@Uly zUIe@)kewud>qWqU*MatO1)c&{E4%LQVPzvwYGoJ2g7!(a#BLF&Rz7W`#d6`$#8;f+ zT9@ke>aJ#`ZM?kZe}A_K*wucMd#JO#k+m8Ug{9=Qxutruk^$|Yw#(VGfjV_<;_P;? p!H+uC{_4ZD(T{}3{=>o8A2Al0r|#B=@&Et;07*p#PDHLkV1lyDf_DG_ delta 806 zcmV+>1KIqM2Z{%fB#}W-e*gz`Nliru=LQD{0X3iHuVerK0_{meK~zY`-IdL5+CUJ; z7ugcmKt&WOC!*4GBu8A_g9#H# zwC~ax8;G5d^xUolYi54?pO4)&Li|f(>o3ky{RKZeUk3KJ(hrS;f6c)0mZ&xua85S@ z$&AF6&swXAH!j)1?wS0ez?0W&)wUkt+%I7<75|RswUaujGS7 zVEhFp4}kq{qO}|}$^8jB$2@Znl1g?Q4z%c-po$9}VSG1Ot z4D`Tf;G6(l?S&w+<}Rqh1L*fu1oKP*P439ln!LgHNB#be=DoS0l#9RzNjrQW9X56p z1Nz+0$4CJ>e<(PL4tq)|Dm3tmF=}lBPI06o>Xz#2c*a0Z0{BuGyr&(dER9k#Lxhuy z!GMpnQP^F=bI-$YN2EFEZ{AH z>?B#w0uH_mw3Z!s3|P(Vy1Pe}jX6jPv6O;Q#a{4yVZwHuXU*Q kRxc*l9Q@w`p7<}vA2Al0r~aEHVgLXD07*qoM6N<$f=uvq>i_@% diff --git a/graphics/pokemon/lycanroc/icon.png b/graphics/pokemon/lycanroc/icon.png index 85cbb86d4297de2db7e878bcff7076d63756e8ec..8ae43133740c618b989b88abc3d86c9e1f99d63e 100644 GIT binary patch delta 403 zcmV;E0c`$_1n2{hUw;8}Nkl4#3C6@o)gr?KGm|K@Vz~?={9oMP2PAZDk&Np1S?M1Ak&gD>AWXc-Iw*)#gc( zHgON?l#<6K<%m^(<%IaW%rzdNYYL`)q@+B|deFWhmy{}gyygKH7NkOxjp-ULlvlit zfosLnL%>G>Stv4FO@MMDV$Ebmm8~M?#u|KknvSpy3^#MYp!@-*4gS-*#DGZ+L0eAa zgJ(;Jb~Fffwtv*<++Yyw-_AZ_JQxImK2k(udV`=Q5~L5F&%1A1uW3WMKKP1vIy7s# zFDQ?->VyIDzWID<4Z@^1$RR%5NrUmRH>fd)OCnWVg#pDEv^9J*$W=z>+!WdHM?kYk xZ+*dM!Whq0b79=vkBcyKKdNXp#9#UG1r_7Nkr^fqt_%PG002ovPDHLkV1mtexm*AM delta 440 zcmV;p0Z0Dm1C0cbUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}Qnt`aEP z0004SNkl&jU8dNd`I{)76YiH-8%gSCS=1pN#<0fTyOM z0BL#X)RP&Nrhg0_JDH(p&So}M3wP#b&czLwHuz7=^wRXf{AN3i53VUJn$aNGn?j+r zgF$e3zj%nzU=VQnOc1s141$V?lRCN{Yrk!^p)FOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00NmwL_t(|oaNLpi`y_10ANG>1FrLR$D0fF!9)H<=E8AOy}a=>7^jc6wGJi{AB09=a{A_^mV{gA0x3Se@1zw*bpe3Rrkpv5vrIC!E-dJg6E9@6P8e^ z9ilMyoQD8Mov2|fqajdTg?i38PXSEW3<8TbO`nBII9K{C=;@|J?Z?rrem*Z^6nfOH z5h#*XdpElZiUa_BQ+C%tk#Kn|xs)q00=xSrd&EyJ zG6cy8nD%)`z#y2Vw92^aLy`9r)C4xZ1i|~a;jt@$J8L1^0D%eP;PYUbHPGdd6A)Vh zG2re|8d`9~>tW9=7}(N@nBz?we~Dj1jy10S>;Zns3L7Orcfi+(9dPdJsR7Uc5Fv2R zS?sZTfbNu0fQFF5n7hdIuuDJOi3T$h)a~4L}rm(CknOawFGM+=dXuv5-Ob|3S-ZC2yoOJ zJ&sj02D-1%EI8*WfDM~LVA-YVv(yRa+MESF-IQqBaZIOQ&Wo6YnRIIcie%m0&98zY z0f4qC`87}^T%Z8$f7ZhgAuzlyj}D2e5B(6MChOv%EX$*?by==^Fj@dFDGpC~5#1bd zkk4h=#i1-+bqR)i>8O+ou&?{)y_a6`DxZM!1l~!d)?xzkhbDW(j}#e#WCCpWyeD80 z%u`xr-1ni7!vr;fZCiri!`txGm%zPqkZmDvUM3E09&ED)f4Uqb0kISU#v}=%93Zm zObDE3Gy*pFe>$j-5`TDP)ZDBGmYo4^Bfh#xN-u^TfC#}Mia9k`>({IS0%SS>Ng#?i z!$I}y2Lh3>-VJ?_bpvn^6vb9O<9#ZOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL009O`L_t(|oaK_SYQr!PhW!Rd@$P~Q8D;F-t#`?g!Gruzfeb2W z%==UZ4<3}W1sSa-l*s44KnuM|`uI;e{ra=)H!H^d9KwMk1n@s8|DH>q?&_ zq0Vu#5^qT{U~8;%inX++v!Zfn_{RqahCZFd1fmh!ok7pimL)tcM>T@mK4g2WEW)#xe^)YbPzs2gp;uTAmNt6SOQJOGOzdDwdDs qF+xx*AJ65Ycp_p3&CcZ~`vzY_JIG+Q^<*so0000Pe}ycGO@Xshc+H9t zJL|mH%+lH3$?D;WMH9;2_zae!G`_b^X7Dtf>dRZGA7?COI=x@4&$lek&`KH1uAqp@ zTcdZdb>YR1xl<5u8{7VazxNjW90mr~={!%CI2ht=*#Kmsm|i&`K-&E7S+7tLs2u>s zn&2>cNa9b_KM%}yLl2B&BLHK(ax5R9&co(-KGZ%E1jSw6m&tLBMF f0$Td{6W`zyLp#V|D4g`500000NkvXXu0mjf$gq*_ diff --git a/graphics/pokemon/machamp/icon.png b/graphics/pokemon/machamp/icon.png index 7d4b471d5a5c29da4729947c28a89437eb4a7e52..d8ca5daa5a49fb9e9600cc2a31122ecb77299e2f 100644 GIT binary patch delta 285 zcmV+&0pk9f1M~urV1NHfL_t(Ijn$H|PQ)+_K=TI{1LJ)PE8}Hp)-oWzkl#qJV#o1v z+1fM`u+=q9FFD$i5QyopGDI(NoH$RZs|k^)=5Y>ij>Hc!t(?KWHba`kobus)rI(cj zFur@Q(?Qb-0M*7bQe=t+)DMp@NHffJ_x1hr?GC8`nDpCSwSVi8vE(osjjlTZ5D{ZE zBinXK8M}@}#wLMSfIV2-h;8%Li55U%$WjG*t@+I$z#+&NP-@bZ90R%n0K?NU z47nc*peh7fcM)akF|J7jyjg?Pr>5Nkkc%DvF|O61B+SO3`H#ObNU}k{6GkqC0r!(I jN|G>JKScUJ`xfyDOixY|8T=tG00000NkvXXu0mjf-<^Yw delta 324 zcmV-K0lWV60-FPnV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2L(0ziE3Z~ z0090;L_t(I%hi&xZo?oDK>34HhmQG_t{uZ-R(GiSh5Zd2D|?Sy!e(Qnw42Wt<3Ji$ zs#u&4E*ZU1p0Wj&~L$&FVvE(osjjlTb5D{ZEBinXK8M}@}#wLMS zfZbW!h;8%Li55U%$W~647nc*peh8q?jp+6 zW4tC2@Gh=<%{@)K1|U)W`?ytuk}xZS=0E<%Ajt;(P8j(j47i_!QIdpN`ytZ**^d)U WPfinW$}n{R0000Vw=1-YsFR814Z8>68^$ zL|LgtUxVtZ{)mYtswob=OPClK5ZP+EjvaqO{Ou!YNWbS@p9J2UrifGI;ZXERKphk& zMP}8ap(x;6?2Nud2(jK8{YYyM265T~Y;>sOUYtJxIM9>fgnzOedjNtHJ@8ess$5HN z9!!RJ94HO6wni`(>ri9)-(m%nWqG(|GIA+NH$MOBRt{3_X*bAA_wMz!=;C1CD9I|Kt$Bj7a!=qqX50Ib1OqvgcI=Fd~x6V4`6dOuX9pX|MX! h2hHO*AM(dOJ^-7f0?EgM(sTd-002ovPDHLkV1i_&n|lBN delta 373 zcmV-*0gC>m1Iq)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}f=$-fBV z0003lNklI@E~AkleY~G`T@?7L>nuFN^E~UKfPcsZMoA{oprRmP8*G)l zMhLOmD)~xl4GMAG0&JwuV?K;M0T_^@atDfH=l}>#^x~f4Woa7vw4f4va)ClYqbmfZ zvGO_Q`x;B2BuV`%qvCT)da&tIE$_M5)2`>&>do;nYs1eNs70s3&jC#a`mlqH%lo*C z%;@U2&&2-4`fepK6r>>s1}$Klbqro1_BC Tf#?i$00000NkvXXu0mjfgB_~W diff --git a/graphics/pokemon/machop/icon.png b/graphics/pokemon/machop/icon.png index 2ff89045dec7194c12d2e85809b2cba475d30a08..535e998b1a544019b253bd0e3561473a7a798e59 100644 GIT binary patch delta 224 zcmV<603ZL}0=NQ@V1L6&L_t(IjpdRt4udcZMRS9wJK`oi150NX?%K%|b&tscV}YUF zNKDd&Z|15}RgX{paV$S$eypsB2Cs2kR6|`~szXDiGS6{XZvdPQaO zg641P8^RcS5GGwR34=;yVGzVDjGMrqw=ixOCU6p_2N2n1VL&MnYVYdYkxCJq%cKnZ av>zMME2mj|JEZgg0000O{2MIJFI~Do> z006;BL_t(I%jJ?W4#OY}0Qmvx9`TdDAxq~h`D-Ur)E&bT#wHBy79gZcZ04#`RgWhd z+xUd|v5=*3@CqTagkiY!O+wFVo?%*Vv_?(~K%_kkoGHj2u79Il4v^y0+f<|P6fbwkAn!%TQfa0Kb@f0LqIFPZv65CG{e-qyjM#x5(ddVtG zWVbd9ljQ5XT+MQrF&lW@slr+ej##Ual}O#m;N0 zuz?`VEy+$%n|_6|rd>=onBtia$UVDk?{6d)gp^aZ`{nu0ckk}+DB9b9Y9op$8}e%= zo?t&2X3LbLGe$gNPp|?&!K}NVoelxs4#R-yy~Lb?7)*aaVSfRT_b0F-094!ukx~f& z%~p9pfh-cDwj5AtopT2Di^O13=W1e*#=)&262H_d{~Qcp%_L1l zrDVDa0y9?J-hZ>I?a~FGF`wkGTWQ&hTowde7PlQxKAVCxinjgXuZ0@`c6#9M#q_Oh z3Obm(pjQtPCK^(TI%48SS@4A7=>Y}+iSC2263aA00JYZJkKA@-~>o$?maIuJ-lF!g-uHQ5fQfTd&uY6ReYb z*R=No8byF!Ap8M72CN2@0!5QS~c&7{prN0C&P?wDbmO5Q+0b$3>rF&zw;I>GJ2b+da5rbnK+*%@8mwLI+oe8X%L{yZ^Ntd0#lr=ZsSXX`# zI=?ZSxYvzHc0{53uEIz)J0O3C?ka1VAMsg)9$;&F-kzd|rq1{j-?XmlddjD;oC(eA zx)jmE=Ub)o$DB%nJwiz>)3St`Ql zbX0GQ4`SK!+s;#*Y#&PL)IOZUG$U_*CSgc2Eq0TTeSw^2>>ep`j0^X z!0ozFrq3X(&z8|3+)t4~xH0do7=-&J0+jJKty05gWssfAd`|P#^nxxzrLGj3|?Y*-~#8nVzbCKotYq`$K1EEcFx3Ou2nS{|Dn2E>4hJb&}sK00000 LNkvXXu0mjf9U)b6 diff --git a/graphics/pokemon/magby/back.png b/graphics/pokemon/magby/back.png index 6c70c85787261b35e8c614b3e2733cef009c9604..59c8220e3cc6efd1c749bff831d03b1bd97541b4 100644 GIT binary patch delta 428 zcmV;d0aN~q1eFAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d7e|K~zY` z?UXT2!$1&4M`$lF_6kIYH*O-TWH^A=Uc?2$4Nwpr1rk@_04c~lazH#|J1O?Z6cjX> z#>IdB^LJ-#y43$vNX@)1E8kEEcW3k~5n&%h*4QVs2FQx#0sD6fELO}c4fJ1#sLEW{ z09Y6>=puCvM9~K2z?6A^4`=bU)=EfrQs*^dpRkllEqs=->jSRUf3N^Re}KXcfdQv4 zcLtOd1XSyWQ^sEa#=xYEkNh6AabbE|jbtaRLrBPu!pT zMBT@bBhfkFGg(o3ddI-1w|erVe{f=0K{=)bX*Zl{4@;zf>x&A z%jqh8^ym!HnpcL*Ota9v$^H*6oMu(%O=N(CQ^wm}0{}_Wq!@0)@L|sYm-<@~{QzxW WP~=@V3L^jj002n`MNUMnLSTaQ{=8TK delta 420 zcmV;V0bBl+1d9ZaB#}W-e*gz`Nliru=LQD{3k#%cT15Z=0d7e|K~zY`?UX%k!!Qhm zg+dpgEwt!XD_(+533~v`R?!QjHwY4R>rkLq=m9b`_s9V&(mxsW;tn0Ugo}sw`H>Py z8FP()2_KtzomZ|g-alN>Z;wS9i39wiZ5jW6(f59v&QCS0Ep+K)Q z*EtYa5|lkt<~gjEFR>Pavy)mUC8i2XuEfG+HFl}MwfOfI07wTY^bi=Z@^hy^SwTRw zu0Lh?1t1KJ%J9kWK@u0L7Zn1G`YKSP492vgMKOpKInXRE!o{Rh9XDtml7&x%m^^P0 zU}H-|?DlZv?5NZ2f7@vuxLba~u?-Wk{Dwdr_2PJhfDIFHz?&1p2%OA3@px%P?MGin zytKXcGisRl@{WN)Z`}?h@pURe3340sQgo~Xq5Y!Q2Hm8a+7&jl&2U>ZGHEWyt8~G^ zW@++Dk(q85GB?@#VEwsQh1^8Gn*Lnl{h$FWlcr=ef$8X4dke~lk)Ur^-k#=#~4 O0000&5_=l<3qb2fl$wp=ifH0e8nMO9Y-mmc7VB~-I= z!Gv@KfIc{>V4EtZ1J)q#>pHyS#m`&_Q1fiD9&r|1M4sW2eSgVe!oEE7{s;rp&If7G z_!RE|uM}%MevzxSjDX1fmt(^Y`slh|(T2Y4tcsELwpo74nim9JsFdT7NTXx7$DkPj zP3zO3!`Z)1W}w6Q(@PAX1MTM61a&ZL;Tr^UbPK#U+;-deK@S^0?nQplj~~}zm`Fag SIFkSX002ovP6b4+LSTaYHGWh8 delta 308 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 diff --git a/graphics/pokemon/magcargo/back.png b/graphics/pokemon/magcargo/back.png index 4a751836aceb1b30eca94c16a0b048e80c05f42b..3d40c97448ad5273ce6b7a60893907a29327e82c 100644 GIT binary patch delta 741 zcmVDd!FYVHYNNIWCEWbJaSGwa@~cxAN2eq&jgU80H;kA zKmcqqIv|H6qOLHseKM!$yVQgNdXoeHoeAvG4)D?UeG@o+32+S{(ZDD5-~hl8SuGN1 zz^O!nAT6^`&ww}3paDZ;Ey5o9?+qX^0kyB5J(*zi7dkXOXgoQ8R=|D~MV$i8pfo;~ z`RLot&H6|D8~`B|?5|f$MpGov0J@;UC98v9C}4zR)BslRZ4`-=h50Rr3xT{x35}fA z-+lD|c`d|uNhEYZ-VX5f1_GIwimUu~0}+YmIspZuEwEmz_H)L?ra%WLI7|XcS_zFn zjuTQuLO4bw8lb;_Y9>hKWy*M>#%MeA8HwL4MK?4X~Y*m@ItR5ldsJ+u)OU87y=P%fN%3V6R0{@ zBi1EKWJRl?1B4~k#RcqMh)xF<7IKQPEKA&ETq|qTGM62oolmd=c5#RRV6Lj2 zKa>Dl{vDX9b^hMs!!dxqS|S$`h?MDD7SB1I=_&5;^h$m#Gr2Z)SF$Wl^s)sD$HgM3M%Oo~zdt5N?*zC^DCs@@kzGP%fp_#=rf~hh_Z% XWax5i!CkS`00000NkvXXu0mjfM%Yi} delta 731 zcmV<10wn#+2EYc8B#}W-e*gz`Nliru=LQD{4Ge5mXkY*U0;5SpK~zY`<&!;b+dvS7 zr9u!(4I?3JN!tgAnF}b<0Yn1^(j?_-4G=0t21y|nBFBKCQn8K_xHnu7GT=U~!9v(0 zIGJ7k>{52%19(9a;LgXHH*c1m&Kp_X*MOn@3NxGxIxuK$oloWCf4nYnJRWr2R@^&T z(!-lp@AkxP0lhyDuG8~8@1#!Qe*zQu`rv_c=7H-j)%&39pL!-hF$n0kp#*>c8;lAR zqadv+!_fA@?80)PUJB?=j{FZM(1Qcuv+w&RaP|`58bG3fFKXk6fK%u+NT30y6iEbV znHD?)-n9TjV%` zT$^CA8Db_xO295#%&r8rVFDd#ATczgOpqme?BXPX0CQAL|Dgof`v1UO zjq~rG4vqm>YKR;q5Gm95EM9Op*InGv?v*?&b2&D4Q72dyCwkb(LV3){Nw!NXU`-jC z--`TAfd_K&++J#=rdr)<0zEa%_ODVqO3M N002ovPDHLkV1ni>Oe_EZ diff --git a/graphics/pokemon/magcargo/icon.png b/graphics/pokemon/magcargo/icon.png index d6fd85ba22af131d6bb42ff059a98079fa9e363b..85e78ec6872ccd833c4b339b5a66b6ae0e838239 100644 GIT binary patch delta 328 zcmV-O0k{6>1Hl83UkCwANklX-u$_i=aD-T!CV^94!4 z<(w3(Js{@{5y`rk!BC(U{IcH71$kcPT$ii4h0wOhwWe(DuoCF@+6iCqb%aejnPxu& zr6d63=6eY~bwAIT6fnz9dhdst*1{w@UqS3x*IJ9P3c1z&K{OFy7H$oOJuLv#)_;0J zTwW>n`KP*P+>!J{5R}U?8iH2ID7|;#GJmc}w9d#b0hb~LG^~GL?i>K2IB~t-c=d;$ zmTK`q{m>yV2P58Jd`AW4suu?@+<20&TV^^vSB%O@09Vl^pa~B8m4Hr4?!lX3z_bZs zBU9rfxc`eI$LYqq2oMBz>Z5Zw`86wKED-09hY_QKMM~ delta 367 zcmV-#0g(Q|1Ly;gUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}x_L|4%M z0003?NklKK6sef)RU-Tx=a^BuAV*KQ@)20*$55y>|5 zpwCbXe%&6tAWid>>wM!&2(7bJYs!3ul|c8mMg+mv8Fuw#s-p)=NdU&p_Y!>S*7ukc zFv~9b7@C^e!X%oYAa*EAt;IYF8O!!0st7O(V}GJjU=R5O^`QcEggyp_6*glx7UC{+J3W8 zh;9$KZ{f`e528XMyvU`BNFy%5Dgw<25haXM(}-6+5^ljz0)IVWDuj2zBzgPJakyfg ziQ&b|plWsg=6U9=I3?*G9_LrJ1a{q8gaF)WL3+!~y6IupiOMkXu=Cz2f$SYnTq2(% zn__ZPorcL+)xGm%_aL5%7 zgbIiC`XvsO&MitDj5*=p^PT^@%Z5CE; zy;wmaGh0!B#CHA~{rR5%ocrOUSP1i>7#P~CAM&+6O7VzJ~yBF?6 znIr^}TV=8IxB)8*R6RtL(2rFmLFHKR2!;~q6{8V81f%53cTU|MYfp5?Af1ZUgon3@ zFTrV%=J{nhsU;ZJt;Pi4Mhnso%&e2{HjSM01$UbeygBj{V4BF+$hL@F6;;uFS!Q&< z{&LC7zF3m#6;K7r`a1k1rCG)hqZl+11(n;2j|W> p1d9WNEe@F2;$Whmao~TB!zZJVs?s9Rf}j8Z002ovPDHLkV1lo7m_`5q diff --git a/graphics/pokemon/magikarp/back.png b/graphics/pokemon/magikarp/back.png index 63569d6477eccd67641aa75cb97adb1d6aca3ab9..b8af93ae6e85a7fcab9b1a3a3a9ecf0db1796df4 100644 GIT binary patch delta 664 zcmV;J0%!e=2AT$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tF0&_`3K~zY` z)sc`Mf4tDr7^y7nKp3)AIx3;8=@7OwN04h~jFkIQQO8Vu@6KQbY=%y`!2|c>|K9W2 zc3#^m9qt45ec*T>V2As_^FB~7?zF_PiE1IhCW^p2#-2-m3qX~zy1NG)7mkX6J^UAV zKv2yErHTQJ-RA(8Rf+-rzfufb#%ctjA9+nwe@y`UbDJlATQKX~L2eCPlQEx;cMF$l zM7$+=``5`%fny%cIBz%j*=Sf?2W|mC^ zD+`?Yk`nY5P#zG_-%JU|8Bl~yHh|6|yhhNi+0RKCBeZ_n90q}T(#IMpcr&yB$Md8? y(vPV`@{+zhmvkIo?URxog?W(7^YHqY9TBgi!~M#_DusAHzScV}z{Y=%zl4IX?y{_j1XvE%$>t8};z z)c1koeSjVA1JCIrqMhn!sTF=&-pn<+@%|k z%%oZ=XlKB44rVheCUze@Y*X>h+aBFKXgdd3kAw@Gg?%b$3v*}@SPBJN2M8XuiBOP5NCe&m47H|* z@z}Kyuw4VkP^Wm?0I?lmf7`qXB^clsupOb2L6uJx5@1B%Q(1ztV7w*}jITwvyNU3U zi^2*6{ek|d1JNCiRtUW0DVi81Ph+h=(x=rGLcG7CHsuxwVK~(5uk^hkAViRWO^FZ! z>aj*OE(vr8F{ESAY1tu4FLn$eRyxQ4P2th(j!VEDQ9^g!&%jM2W19%p7C4I)CFm`n zJRqRIm=caNqzE0SfX*VgM$oI-&q*00w0=qtgTNvlV2uR48d-qjdD0;1M^qwyN&Y;S nbR3`Uo01%bd6CTf@IS0S_Ao=A$sgB500000NkvXXu0mjfK~W)i diff --git a/graphics/pokemon/magikarp/icon.png b/graphics/pokemon/magikarp/icon.png index 4b03fad87369010002bcd3203835d97b0de295d5..6b5559823c4f1916e87b6d84cf34dadac0ae2f63 100644 GIT binary patch delta 318 zcmV-E0m1&R1C#@hUw;7~NklEr$%bov;(p~5`S4Ba&+Jz`8aR*)@I;m z&UuqPjIJ#B+)J?>-@f*(_$$l!CeZ1r1P)k;a=8KfkEPpDw^4|mln)f$>hKdTcm7ESprq45)8bAC9n#EE2Qp%GAS*LEP;k^CB#BOk z$^oN8er+=+9XGy4Juo_~`U!?uv^s>^emCrm4rnK8TzvRCFiZzJz`1q!1Eo>5pOx7M QlmGw#07*qoM6N<$f@M&Tk^lez delta 344 zcmV-e0jK_y1Fi#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L})*KZX4~ z0003INkl!xVJ1OJynahk4u5X%Ql9hC1IPo=5+Tfk z7SML<=CKEzHYN`M=*LUDZY}~)G}i7S^f!vgl;pv|>S@{O-EarqU$pLutI5d#p7++Q zrswx#Dt+2IIg4EO9RdfcOugE|@a5J~rA?Ci>A>=7^N?ULE^^t%1Jz<5b6uxwqACW!oSx6lu^*Zq0qs_O6q`82b4OX)FD<}hsJ}W4&^Cw9bPBMby$xbim2*!h~2Pm q*dKKu93Q@1a2*t7LI?P59lijiQMI1|Q$LUZ0000#ZK20C0>Fvnbkj04!TFuaKtc(^I(Fq?9rT?$ciu5UnM& zlqy%yLHZ1+$d>4TcKaGjq=8*O%q0-$a(>jmPGxFMavR8TgeA26%yIXRlAkkKHi#0L zza{6i`g^k6V@$+c;hg6NII@yan3dNp9>f_y&uibFkTxAG_ozS4iSP$A+d$}S(}aUH zfH5oqiD@y3>j6y8ifvj0ybL5+4Q-V;oRy~#6uUAv!0|(W8PGGCFIx`mlpY@5P9QL= zVrm>NN{<3R0u<{Q5by>rDke}Oi`$a~iJj|M+b?t70tQD^%Eev$C9If$0???oy1WU( ziis?~^Ajqj;Bs|in~<8SlLZ7oBBPhW0;GzKI&cC&Ds{75MOJ=Y9syEPNdQV0??%qE zYnZ&n2_Tm?C^Q-ufTZCXfad_Nezt?pc}m=_KlDlBkOWj-_X~yN`~_h`sReJX^#uR` N002ovPDHLkV1mD8PtE`U delta 718 zcmV;<0x|u<2D1i`B#}W-e*gz`Nliru=LQD{5&)>VD%Ai00+vZcK~zY`y_3Oi(?Af0 zO)lv%fkWYjlA@}|cH^FDy#nQ!ws``oZJSesqO7+kpJE$v01?GIFA!Qwyh&f7XLt-| zypFqeY&gM4*&OEEfBqTII?lg|Zs*VWXXC#B-BDAf*KxWe(5TRVf8N5&Eq8p;0JPW} zQtz{733rrnZl_U#?zY%rV}lvcXBXY35^Q|YX)!$C)&nn?J0A5I5~BtSm>Qqq>DKo_ z0CUg##MSrF^9VV_-}&n%69#b48s^|Jj~(@!0Ze%ej{#!`4Zz?s1H8#QsPE!Z2m(GF zr|T~@z<>#WZ^zz1fAC3qUrp~s&K|!30CCBL5NTSKh$p(W_X+`6VO~tOYQ(FxR$wAS zZYn?S!IB)?=()}Irh3J1x< z&tS`8WL%i|{BXDJFhZ;_sULM!0w8S5yh56$kB`B2lTykYf4ED3SU|Lq&{C>gLHp?w zpdwqM*E`TyBK7V1K`wznkMq-m+f=63BzJ%uM_5A3j~sXZH2FT2WrHY@`3pIx)!&zu zT_9qnaLzLWoLb2!$ja+B_u~wp=XGRHNShAAed>>MBD}+?Z6I)VXu|#mz!;Q(#I%^i z^#CTP#WrmKe_jTXtcJEqoJ`A8@QYoU8Q}eW8PHRiFIx`m-d9#30pF~Osc|wdJqr8? zP^_a*z)QHQm_Ugvmcs;z-P>5(FLToZ21iuN`8xg-RQIs}G^(wx7k*GNk;PX&q+$xL zR}0&O)Kr};AOI2>9SRGODmLoC2>_|oB3wmQep4O+L{d_T4@wvBM$WQpm|WrnkV_OA zjSE21a1Fq709QZT!KXYWmYWYfOdOJc!1+J%8(~7J1+Hhph5!Hn07*qoM6N<$f+b>!3`KPV9wtD>_6G41p`(Brr8jFzGUhfJ zymaeOA1AT9*@6*sF<@2(Dw|e^c5DeP`XE0k>M8Z70$e2YMzPdDJAZ`0+W8!rpc5?x z%8b^sgpdwLBYFW6qV>IIp|P0f4i+0q#}Bk{p1YK|*`lK?lz$B6`{Y6RCBQHg7wZ(* z;E)%uJQ@{-g%p{Zo8~YYZ24ZH-BtVG$?9Gi!e$u*@?G+fC(C2HXUo@HE1vJSH8!|j zBVZ(S*H*1FI9~jJ4UX;;Fj9lwzzUdN?|X>{;Gx%&AV8Zvy*Ob_7N?Cae2g_=-3kHl zu{nA^PBRW~=|E=UBLFj$EJ0rPu4 ZJ^_u*z}_QjkrMy_002ovPDHLkV1jqMlV$(_ delta 365 zcmV-z0h0cm1H%K5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L}==a{}W7 z0003dNkl!YSRE}D_1N%~WX#)SVCmMOJWc}Lz(U~` zB(6rP;c$m`tZI4sWdCG**b&U2L#H(PX+g)2k(K4lPo0T_njVx0mT67u4eN25ZskRnra z(;QlZE#E7&yJ{aYS=}o`*eq>8zDpkRWO+>YZ25X?#q<5N#s=481dKp;ZKJufQ~zUe zY?K#9GUyGggl6gWzL$Cc9(pYe0<_uFixbggahmAj$5<2AtpI?J&C&aDnss^-}~_ijm^N`&NY#u00000 LNkvXXu0mjf;U%K| diff --git a/graphics/pokemon/magmortar/anim_front.png b/graphics/pokemon/magmortar/anim_front.png index fc0d3718629e048c05f40df957adc0255bf73a4b..3f0531e117f2918fbf21119fe5865ef19125b005 100644 GIT binary patch delta 1899 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 O002ovPDHLkU;%;v?0Ibf diff --git a/graphics/pokemon/magmortar/back.png b/graphics/pokemon/magmortar/back.png index af616882cbb7b631c1494334fcb05f325089c567..486ba64af9fd951a2cbeab66c2a0e1429bef4dec 100644 GIT binary patch delta 650 zcmV;50(JeI2Brp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0)I(FK~zY` z?URv_IDb+EZo!td^X)(X%&epL^^aBze~By1ueKnY$BXMTdp#i(mRE{dl;DMk@j8LZ zSXB?N$?t$@KLh3|VhlhWeC%;8tVht#ODnpUH zHrq?lNFL~$x!`~$zK2SH--ctppNaeorTT<=0DmxxGm+3*@_`4k;TYx#6~lnq2Sa>R zkC_WDmsyR)p^zR9Kq9FKWRyOz$=P8RO9~HUQvknhc~i4HosB>&ZW(yqH0FVpNu~dx>k&>lMhV#Co94K-ILR(Ag zNq?P(nKdk-`<|XXBjrh51Q;-`rLVp}ySDG&5UWWE+^E7hO8)bWK=*pKwZSDSeqRYpp;sN%kPdA@PAQOCqQAv0BC&_VBy*Y18Y|IzzJjpAZnb2 zirhUp_Cj?UiLav(=R;kEbgS94COoFjol; z@Ku2O*R#ZLJ~IFwaO|IehnJQ8)b}FsK>%u909f7HzMlbY0JuZx0}xJ82%Dhm|tx{HjfwAXZCtRC@ilsW>JC{BF1Y0m2p-*d`*4_ zMEe;qmxwU{aZuUg++@s$6?ssS`H_IbZt75J55*!)9tqf7JZnG!R2hoowb@>ZM)E-K z5Nz%}aQGf70sb}|^ZiWZV<^=N>VE;iEY2i_)}jX<$cAH>CsYgrY99>oQ9UXbTrRU3 zi$ftj9Dqcm2xOFAu*unB7K?-jvMGSyw!Ep?oz6xe7PkyMZ}Q-5bV-i|{s{oI>|vqM z)HF@beb|Pk@o-}_u14U7G@Wenz5tL5&~d678zM!eOosEmqZ}x520~j)>wig|hnY2; zLiasAdq&EWx+Gx0xR&1f{_NVme?zP$C2*q(<4EJ@8-eciY-@vaAc}TRuG6GSKzFuw zOfcN$giN>-Z#1q&6oXR}9_R!htu>55J^-1_Duzzkr&=U29P?5#R}JLfA&t znt+aSFj$)%5ulV>hs*Dd6@Tzi&Q5^BiUH92D8RzC3kKGl-2*3(6@aL57AkW0?q0Risi-UD5jr)b;`z=8~ZY`}NPc%WpP#T1|j&(!hl<7KMH zBKjJ>pt?m06&<21zls*6f)&_~2<+2fgM&=(Wu^w0+ c|C@igUo3b9IktI`VgLXD07*qoM6N<$f+Yqa#sB~S diff --git a/graphics/pokemon/magmortar/icon.png b/graphics/pokemon/magmortar/icon.png index 9d884866f52062fcfe693f08643f3a568d3c004b..025e630d4076de306957416b89fca094e25461e6 100644 GIT binary patch delta 337 zcmV-X0j~bs1Gxi`UkL$3Nkl?CyV#;IPKI(#3jK(Cc>)%v5X@0%|yE25sJAh2dIn0$vI+Nu5h3&V`Ut$728uZ&1kA zA0NI_mxz-OFl-?#k)&+24FP;vy!n7Imh2Su>RqCZ0ULhKALQN;V@W}svIS8J#=UwH8oVRBZ~ z0SqJ#2~3`T1k+;jk-*poz{GoaFlIdl6LyRT<-qhFObCWz_Tj*!5}JKDFu4J5dr5C?F-!97B@K1t@FN-^2W#AT6x7JsSg)Ox~y`HXegoO14jmfrAl5! zq!8hfv76=#RNGMs70$8X&`pY+`W1@bz(J6@9XPoAlGqe_udWXEKOK3$SXzRZAK-G8;46ma!hn4SXL24V)* z7Or04K|KRiMfXGFPFw_3v8;}tdBIpTLFIJ*KX5EJew z1#0A&6C{a-z~_9dFc1960R3)R2NTX!mXWat1j3e+`~yl2_KhCU6~g~{AA6X90fNdB zD92nj3g0OJCx32(K{PIaIb|k_x*9|f5@H3U)?WMzxYwA4A=vp6bTlmr(7+;gxn7?G zRvlu9@nXlK@(mI1#KkUpgBkz;002ovPDHLkU;%>D2(DuQ delta 418 zcmV;T0bTyx1NQ@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~1fyuTY> z00046Nkl!Z zDx71%p_>#t^;30l_ocBZcrUIF_Dzr6FL{3w;yC-*$KQrh{D0*#2^yR@z*don#^+_D zX@hgbqyXzc)fvzoBi?O*TR(C&2Lim0^DJ^*V0sW;6=0td^8vt4Arca?vy!L5EkAym zs9L;|{@dBriW{@(bX0IGeKS40kk2-_egr2{3+WjHX6D%)ARe zNNF}P(+p5;rZcGRVbKMH2*40m%r56-`Xr51OVP zkA@CkW7@-3oC{sCt7V6p$VJ6Am%7v52=?O!0IHwS8XL0xf9yZT7xJyJZi$>`=l}o! M07*qoM6N<$g4brV&;S4c diff --git a/graphics/pokemon/magneton/back.png b/graphics/pokemon/magneton/back.png index d0ffef7d4a39bd06accee41d3c06eec36478f329..7a45ee78ddca83e9bc23ecc0b8ff22e3239b01ec 100644 GIT binary patch delta 664 zcmV;J0%!f*1?vTnUw;C2Nkl68YT5%_=81jXI{Q!X*m`>$yh7e_P^fN?=Fq>EcP9YovVR=gtVB<)o#%fv?GY|! z^rJR*%JdL=_vUYUrrfv)5Z$^!H=R^qTv1T>{V6ny={cMNcsj$lWI{UwfcgxtNYMJ3 zQHB9#cti+Ue$N7R%t3^+LeK-OC?K0bMuZ3t311mG@}s*|43_C-e4yKR9Bk4-V@1!$ zLFAik9d^7yWPgOUi4d~heM|xIDj^Qqhi8!cYs7*3;sCVvKmh>PJv?elW#~Y*=r`T` zq<|qo6?ss6JMVdMEqMs-1e6i-M3v{)-?;E+co;yL;}@&qvNxs~`V$j%Y|ZDF5H=+M zRP_2+G;4nX%Ba&6mlVu}a6sv@*JoA28ejs84G|)Q4u5#voA4?P$iy=N1}wysmsp$p zVEgomFyRTXfO7)pOL|}%^2yaLlg%n93b3Ky+0;aM5qD9yEb~kUpdvtIYb}1@2nR86 zE!vVo0>~hb-AoHOdY!c_t zXiGpP34cHuD>>K%i)k<*RQrTY-BKJvjf(;Si_f1Q?MaY;rUD}sVekDJ_krx{9+)R! zl?qgjDMFUZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~7lD~fvi z0006&NklCSf?7{)&s=+3!`Cx3qlY#h7};2yC3%d0ia zxp%z-U?FN;g24*$`(K9fhPngu05A6VCCtU+@BT_7&jm4w2mCni1r~5HOOic7Zhwu~ zhPMYw9Ymr50J8(lS+V{;(1ryEx?_xG--f`9N>I_E6#N1?2kg8V$WYNOlQB?ZynD`T zkoC9ml^;J#aDVOx%bed&f+|5GZYREEI>QNJ9--F*>Ts|GaC--Rev;=HKHPwH2iU+P z8UhZU6A@y~(5KFzH1Kgi)H4SMbuVK=q6T;v2dYcQuSIg8+k)sCKk6=cmu3hE&m$v| zFQHs%0FLU?3IRMkU#XW=q)Nm>grZ9VQc!iEQj{bHAAi?fT11F<3T#A*y=)O+s(u+l z1PUBU%1D~=3r9q5u8EP@Rd5wJ^XFn~Dte66F9V~A$+Ia?MaEiQxS~Z3K#at00Nadd z-BGoZDSUCm0HApbN4>W!lPSJH9Sta{29?}wE0*U?1(t60Vzau2!AAnqCIMUKda)T* z+h7sWo_{m3by(~pEG_f`wshpL^!D2xoUN}i@x^HR_iqt16F|BDv1;OF9kgAN!G k4OETOm9PE8_)p>wFfkefKML$100000NkvXXt^-0~g0SoyBLDyZ diff --git a/graphics/pokemon/magnezone/anim_front.png b/graphics/pokemon/magnezone/anim_front.png index 859947ae1e4885c772600bb5b0d74d72001beb14..c9230b36865377f92081b6ed70d7b7f44904b4e0 100644 GIT binary patch delta 1337 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 Ef->EV>i_@% diff --git a/graphics/pokemon/magnezone/back.png b/graphics/pokemon/magnezone/back.png index 67230e7204e1b6fde50ce4cf1dd7d6ea08ebe857..fc400281d2e3bff006dfd775f1acf5816557d753 100644 GIT binary patch delta 387 zcmV-}0et@A1MLHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Y*tgK~zY` z?T|4}!!Q_yjiT&W&$V=qqeR}WNY}BZL_-WWbk=J2hK9y<6kK|O|gn(Ge0f5WpB)DP4d2jdq6Fi57Ki&P$dWGL z5|CQ*MO$zQ0*|Ci19?-j(HpP3B?RS*)H6@9;s#3PLcHbp*;{Fz?D$BN(2+`}tqV?@t^-=@Y3ULGo hVeJP2qyC8)`vldF(>NE-(FXtk002ovPDHLkV1leXu`mDt delta 378 zcmV-=0fqkU1L6aaB#}W-e*gz`Nliru=LQD{8VqUH?DhZv0YynfK~zY`?T|4}gg_XD zF@)ZUa)CX;npvD!ZXA2axNfr@@yDJx|Mn)r1uRIsfVVK&%481ZKY)gHXNN)y3m$~# zeR=Qk2f?IC$Hh+l{)xQy1B;nVeSRos^2P^5QjP#jE@SV8j4|&9e~O4l?vSM;!0i~Y znEw(8&qqdv{yY5zkjbU*KSNHZR(yWc7C^uql-!x31V9IX3yG8_BfnsbgH@h7e8fk_ zSd0!LQr0FZcD6>XZQ6Z0^z+U~2Id5nlxA$vl|knuy2nvjR`h}2)@^iRqva(=A{LU;rsyL+?WpnCjA?I Y0@aSwILF;(vj6}907*qoM6N<$f(kaQx&QzG diff --git a/graphics/pokemon/magnezone/icon.png b/graphics/pokemon/magnezone/icon.png index 1db70af68d6231f3fdd18b3b68294f4d23b43eae..b80791d1ff5c57db618c73adec3299a82ff8d6b6 100644 GIT binary patch delta 329 zcmV-P0k;0Y1D^wsUw;8ANkl+JXeGy)4U}cEAX`cru$@Ol&T0`Q_)IF!Kp<(Ff#!k6X>b=iL&Fd7c=ghMQ&n z5DQ`eJc{lYV`!fxVHIjYwg=vmI+0SwAR7bv-LaN3Tt&2s4S(qB>udz!UitQuJ}Xlt zrOL3GJM(S2Q3_wzsh(%%{pR5ccgMnvZhf!Yz9l)*x-1P)9w8Mtq|_Mzm9IM_LPXmk z+D1T!SoXy{1@yE4Y6Ids8p}Bt{HkF9yee>j(;?hL{FlcK8vly<0d>p`g3w8v7v{V9 zB+MbQ$2|$tNQOd%$W-46``@#~H{JaO>+ bR~^0pvwh^!MIjyq00000NkvXXu0mjfC#04- delta 362 zcmV-w0hRur1Hc22Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~E8Hq&JO z0003aNkl+r%+^*;dd+GCdeiFIJuIx63&Mo30Co5TJMCnT}~?^lh~UZ~L@V9M|YKB}6&`*eN)FgE(qR?3Edvpdg8xW2)efPfUqt59K`rL~tHo zC^a>Jp}LE=_6aD;3dm}JpyF{}0mTt8@K!0k#vVyCaDPfbO4orE>cA8T*eQyie4%hy zm^J8k1prrIfF%t;F#t~y+5ymjdI_PFGy$dVj7~|}OLU;#2aW{OC4jPdX9V?U4%nVH zmvMbs7<1nGUPyY%>m)?qC@p!By7PrnS`|c);%qz#46U!Xd>TC>g(KUH5sQN*;I|B+ z1-jcY3V&Dezr@Pi=lPYn|8sMV0rQG-m80e{`xF=JUBhtQ*jH z0008zNklzfaph6vt!TTnQVuo&91$Di-5&D^;XJ>{mrqHzfZDsO$)d0j7$f z%&jWI+CQNKgS`cbfn#EY|E2Faf!x_=SN$>OhD7K-{=U1*`G0-r^;YB0hvUva*IEG} z!to$#0|dbKng?MAFwO%QWbKQHJqQNa0VLkQ+ry|G5HI%pu7IBNX3x($0-Wa=X302e zpU-z?4A5^QUgvoZJo+sw+{p9Y3TQb>I;Qskp_>BOH$v4X0Ee8=3IqTi1J<(=r!?aQ zJRjPD^E6~2gn!|g9TS*C zkktS|#pApJiUVNaol<&@9g1e)n1Gb711Hph84$2l6qkIVa8#Hz=gKm+O}gi_K3l)5!eO3GfM1NC#Lng^y!0A=&e2s)nyfc7RLU7sF|dEWY7Ncxr6 zDTuyN+JEkJ>MkCX(wZQG6zA~-lNv(jopE;V`DPEVeD1Qp|5D8uG7>zWwGH}-uy4*36nw)8g z6lcgCBXLta)gUP{pvxUIj@5yvXULrZErG<#OVH&`fYJbVi7@2OfTG8YJFUx|4q{~f z2T|?P0ECpiPN3Nv48U^bOu5_4`pnk<>|M3fN&w8odmmvcH0000_F|r z4ns%2Ark(6+}Zbs+^WJWevteZn5?hln7}v?tf3qQ?!gN%)_!Av$Q_z-jzjnpZ%~#KtkV||;q6k`7)$Y6JYZZ!ks!)5=rvMiMe?FtX`!s><0zg~xrm3pB7Ons) z1Olj?a0Y+{4;4_?d#eOy4jrM{J2L>Rru6VL1{81M{9pr_1uQmyg32-AWh3-EyukZ4 z0LKc4W9bF9IJoV}QVcrP0VScTFv9c9t<(p`22d-24-~R2yb5p?Qf?bgeNb znEnw`9<^^TVI*~yQqGSZY3&euJxQ(8*|!2PfK#WlZv}|jgT8MLq`uSx`mxK$#^lhG zw4T_my)EniSog9r9{?D!%FG4;4=o@Y0IR8)A&&<@k&IuVm*eI|$S-oy@A@N++~xoP N002ovPDHLkV1l4M(Om!l delta 461 zcmV;;0W$u;1hfQ@B#}W-e*gz`Nliru=LQD{91o_28p;3w0hdWcK~zY`?UTK3!Y~lW zgR*vrNz|=F3=iPoY%N2Q6H+Dm5{MV+#@tRkN5?Q!VoZ?AUf!h_JJ4KWo1r7U0SW(q zx$pD58@1qyK8pVejMrCUjKK|z)=)Tsd$0nGHNO!+Xm-swM`8p3f5NDbIa=WP0GSb( zH9C)3XiLGL@jM5{Q%eLSarvY(nA!k_19v?I`Z*`m?7? z$Rt(~E5fhJa`)BKwdIOf7}`UX+|SWW!Hw+qN$gZY61DFGH6;Y%0ryb-z%EAVy=z_r5VSXzNC zE^hO(6oW~%K;ikSF~U;jR_ce&1^6V!yYQ5Q!aPg>sVwmwON3GK% z45f}z$oa7)$qliWlhk%P>%;*AIJI`xiG#3t=JZeuV{2_tx?XK^j~;Lfc6l+;qWrBE zpO1#bbrp!?{_K4P%%}@6c6=T&NHP1+37zapT7>9?Cz&Sj9a1P1G fB#(*mmXCa_nX-|BY17*X00000NkvXXu0mjfP}^v3 delta 268 zcmV+n0rUR70^O{2OKyaIKRaJ z0072GL_t(I%jMEL4#F@D2H@Plf(umT0zDoo1DqorvZ8uOt^{o9kY;TbQ-VYs4@_MU z9)I}}MW0eXRv?2EMV4G#Gae*|RRDt?tANIVss==K^$J8j0)MB3#FtW!4zHKe&@L0& zo&|@+1b_6O8ECB6I+(faKof#~bnL7R+8o+4V+LGAMY z83D#lU%`+71DyZ^odmPbV9vL)BZFZaAcJ8XUOocn@bdk%BfH SHAnye002ovP6b4+LSTZIjb@7g diff --git a/graphics/pokemon/malamar/anim_front.png b/graphics/pokemon/malamar/anim_front.png index 234741d74e8e7663f0f100aa320ce30ea91f7e42..f688174419781e3f22d98deeeeb14931385c99c8 100644 GIT binary patch delta 1347 zcmV-J1-$y73#JQ@bbkdLNkl-n<#`%ukZUC^%0!_CAQB>O6C)fV@7%l7Z?bJb&;5Kuz@?X+1!0rkD z@*;RAC*|WnrGJ4Nxazc7+sVJG2)iZk);Q4E;0wjIS9m?P3Jfy<;)gK9lXeqhVE9gc z+iw4i3qpQhdsCb}ny=^$+}_u;gFT@Gc&EK7936c3>wH_|aUhAnL0em1I+$Bt)ZF+f zI)kPi>PvIKYv^PNp+#~omUyDQCp5FLwDH(M{A zi*xMvIZ%JwT%{v*AvgG-X?szCaA0AfPN@$6PRdx*<jDkTXfiLjeFJNnx6%N7q>* zx@4YheN7E01;F`x0e})$<^WN8(gz@W`P-oy1r$Q4bwcSyug`~?ABX@*BhvY+M{jzk zP7~%h27e4l2Pzm)gs050&;p;sw1$+&hyyGM7z9A}@)1B`Ol(0?I_zO!)Uhsx^uz@Q z>{iTY`yH!yYV?NAD$F=Q$*K?Nd=cUdbgV1h6eFE4LXG8BWim+ZkusgXbpgUZMq0>H zcFPCweK4FBqCnPg^8lRC-tZcUfS;GC)dQeh5Pue-n3lWkvTohL6y-Y+V3+sKhi4rV zTKw}H5iqTfw)6EFSp(p@Yv%-j*e;MEbaHx=x9vNqIt3J~YkMu1bgOq$vTZw;39UjI z+xH%xA!|3ZY{Pc|g0ooZ+CjOJKH>gn3)O_gm=R2i2g&q-=kJ0c&IXUvJ!KT7Z`@ z%YQZ>K>eiwFfG7KT$gRWZ5eiHdx=q~0RM%SoRP4-es9;|Jd`N8zo=D4?0YF5nP*2X zpsZQlaCctFd7=~KqHB|`SR$W?yjr&1BQ%31(f%Zv5Q5+)vhTb@79n8{scXf_?e zkQWkw>ShyeZbvZCTrkpXw!}BD6_{H^yMev8`FCOuS7ym1NhyeVe(It8t_JXoazufMig%Z=M~qYdFb{S)@SFN{06Y|_2E=~>9hkyCS1JvDY?hiwwcZL#=NyYUC>i9##c*TtRgBU|I z><=-4l7^SeY0LA6SPKf|oe!Qr#AcwZ@4WNj6`Lh|bXWuIZ3JM1ijDEo|x!5nvSDuv34CwvglxVIa{TB0%VS;16LS{5-b_{2>fP z3i|$#8i7Bg0=_?_M93eK!t;l}|419|`$InM&ifpH_zz!+ZX_>U({}&>002ovPDHLk FV1n?}fUW=l delta 1340 zcmV-C1;hHL3!e*+bbkN`bV*G`2j>O{2OTE;EVJhT00ja`L_t(o!`+raZ{kK2fDOuF z4_LyGYNbe3%_N6}Bp@=NR6QkNDZ9NT)&7twD{-yT9>{T5dx)dG#65K+!nq=mDsCYV zr5p+41GlASR^hm6JDssH*ke1Wt$OJkEZ}|f=8duEeUc=Olz)AVNs%M1+Sg-sE*9RQfS%t7HNuLQxV#kNoZ+EN5a9>fD%W4Qv zJ**aB6>2O;fq$iseG>$Bix3uh5_p)Dlps*3zzQtdWtI+=SB0clLx}^GUA|FRdIfg^ zyMSy3hPXpm;aN?CkTLvDep#!14^u+?RDY9RzE~|76<9mf^|KS90`{B!CUtT4)sL$+ zosTm~1kP&u=EhlOb6t1Fcm5T0{oL5d{H%kk4FJ~BjenTpnf@N(_}a$F+phsO$^hy5 zyFEW}j#McQPFIcXerCCxy%En$G; zN2n#q3QNEMNs@`K8~%M}ks+C_{m=1$rDDL%djVi6?#&Ls_^Qo-#NAKl!hazngsm%# zZ<}pC)qnhe#K*Re>c2JdL-X1$!W;#F4yv;Z1D1q`%#k5J4l**WF6N`p0TKpuW^nwiTtAokh_WfVWn=e5`XQ90Pg{niK#;9UzYI`1(Pi^pRzq z1G3ei(~`4>)qKcON|SNVF60rNsP2QEd%$_hzB6EU7RwDfOP4jq9AG!X9Ofr(35|*8 z-G9i9^Yjy&kQ>oIr}O&MQ*hQW^OR4(?$#JE@x5NXJmt47PVVS5&{zF$Xx5&|Zm(Ng zPk2MK&KtE&5S@gyo%qUy1IRh6K|{KZf(!&4G&gRDDHMgp)jV~M&^Q?T>yu&#A;3Bj zeViV$00?UU`g0UAZ7)KHljKX5U2=j*| z7Yt3a1tYc=CK!7f>)f_rfQ%OA56S1SVs~z!X(9d~RkZ3c7mO%>SYm?lnz=!wKP)l9 zD8lNK{&2tr<6rti<)8b*lH(7M`@@ScfB3=ihjr!;FJ3P2hnN2=fA9gk(HIgQdVl?) zF;QqZiaQ#6hUVlgoMhFp7AI$xsL%jYlVCOykbV;nuYu6u4;?V<{$Jsz+xHa_$ z))vtm7(4=y{YVXvB}1oiZkY_2uK+S^m)QyE_p$_V0BjKw5Rf=Xw9VEf>9LdSlK2vM z{Gq$WV|-X4=NR{g4sZw~B+mWe_J4W++H8FgcEH&F&>b{eAoQ4&9e=>KKZMMeO}{^g zqicHo!3f6h2=Mqrpahx4C67M@R=}j~^M}9*$J)O-^#{!T;X+)&ZIP}&{BbV;qsA1N z`-6Xl_OwlV{J{@2C=mU@|1Zuu?A#yxC4~8d7YOwS9}wmbUcdgfv<`0p8 y>km;aY3>hUW9kpT{}MIb^#>&xsRe)EAN~SgiEbnk%mlCi0000ZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(ti0>eo}K~zY` z?UJ!>+b|G@DIv&KAQVK+GNBl)fevk7AY!QO4nmQw8hXJoBXMnz_=5!uR&rn zG3hhF)et0+n9;Kmg_8&jNNg0t=j{q75g3pN28yi#oP;o?66>0cjgt^iL&R%<&^QS& zk@xjFpnm{~9UP`9*8;3-a;~U`IMDCc0NJoGGQ$~&_z}R{9VT(8vy|zlK)0RA=FvcF zH3F9a`2R(BCc7gT)7R8z7 z0@DYaMzsxH9eMzZ6gcC>0gp9r0o=Xcwu6t9<6%y~fVkCb1&P#NQw#8fv0-BR zF@L4psK>IZs_|=A0o16&ebk5ulcyEN`HAcCsO>KXSwFuda40Z)aOHd`Ywby^aZCoY zoR`p_k`fK5-h949&RvlX3BRc-lz==D_5_Jz*CbSz7D}H1S0iwD3&iCTfOuu=`|;_S z{s{>raJQcqH6Y-|{C+GY-n8}n-oACj`F~OXkMHa%COurMtFJ4-&Qmy?G);paX^87( z{bO0d+B?=zo`{r@#M}o`7FxW=(6OVxK$~Ez8Iv%qN f6A$cvKrr?jwN-++>+99500000NkvXXu0mjf_fA&S delta 762 zcmVVi|K~zY`?UJ!>+b|G@ zX(7l~AQVK+GNBl)fevk7AY!QO4ouIrk?1)BqeHT0iq=di8|ww^p>vZ0MaQ68JO+rL zp?62wW)i1eJM;z;;(h$@zoQuY7lZHp1rXWJpMlmOd@)5=xALRpeSUwHh*fSW!#B4)F81Po8%ebY6y~u&FEQ)+)18mJ93GEPF6 zLWxbyM#f19s3D>aKwz8%n80*8~juJI!YaJ{O2tSVSLXEo)CNEk^hd>~GnA;| z5N}ntYoJEpW(qN@@9?3qMl~Ve)>UA^mnp@J0JKs)tSn5RT6fySw@cQD)AffaEaChj%B%!Cg%bXykbVt-!)e7ne=;>vC~WGnuf zmb@N<%v2SXoUd)jp^VoD&WAJb-W00I-(1M{KD`ohc?__-+tbUJTIR@&TF9V5s$>c?bi>`p`Ux0b@CspQyonfb?Ba rX&{L7+|M>XPJr}2PJr}2eh1_m9ar04inGs000000NkvXXu0mjf+Bu&S delta 384 zcmV-`0e}9l1J(nOUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~Sj9T!xX z0003wNkls9Bn|0I1Uqg4N_g5NzOal(W3r0RhKzbh| eAia;j0r>$PSKD6F_n)T#0000pC5H;O z|2Mn(R@`eT9b=>2`OSN8SF`(m*0g`&IK>z{aa!k`$1lEj9)Hs&nECe*YJNs6F+Tsn zL?D@k|EnsXpVq%V(*s4||B}9-b z1lWo5qd@xMMt{A|3I!>DMGbahB*(N!A3Unp>t}HlX#j457l(k5`1!Zjv-Nu8Eb2gp zJw8%I{73WX=ud=b74CkB8wOywh}g9kuiqZc5;6PIc9CHi2$}PrG@EY;sMi)r>USbf);x}wI0L;DWWHIk~YQCEz>wn-+S?|ovH5a4roJOPJF+KoH z*-r_GdadKRWAB~Q>2$od?h`6Uh5~41(^Dhkc#TFoh!6mIb(PVDF5r1BJ^)M!%Ai@M zx6lRJp3Y4LM0!BT>n3n!PHgM9~ML6aqlo^XT!25nxJ`-~%{lsR-gpl&&%W zP(?Y_RUjT^uqycD zM}JVmq7a6~B2|%-l!2+FeIQQPz>F*LxRf+wi~=E@Q_8TEhe?$oqE_@@A|cvgtQbyW zl+;aCK>zuT;j7Yde0Xa+Std4O#SIqkKi-xOU@fBEyS2Sbo8DxV?By?#{S@K7ndEY^ zsG$fIj2ri|&vs=$LfEaXilj;zn~AapJAV&!@C}0dxhnhxVS$g^QX3t(pV|OW90P`e zIpYC_gPpYg|MAa*?BXQ7P|8>~ujY;`foBsri0l-%jtNv7;|9^RW<_l}+eLAtkmRkbfH_ z#zJJ$Dbkm!a2_Z(7!5Hc3h5LotX5S7cN|zbNGbi0l7Kxv+S)TWx2o_XxC6<9J=VFk zYC(#d2Ne)$6zaG3p%B%ybeu=^FA?PKjB)Z? zF1~q7Av&FQulWz;h+QB-dDH1+5ka2>%sz&oydeP@&`iMmeGBpgH+78cq7$_#dpXMI3P4h#jB6K$VC^XCdE ztL8okAO>rF1^|9x=Sm8Q`Fc>KB4eaHI_W{_v{236EOXU(Ga^rb#k-2q14@3&QWg|4 z4b}znXstT{Eb8_V0!SCFOMjO74pD@i&8Y~gyDETW&RV}tFCTuU>kqh9)EFaO3rdP* z)h5r-zaZ{UxiXJMN|d9hp8M73Sh%JL-ybp+ZlU}40Fm9Hn-c)=2fKn!FR4KneG9_b z9d{$J9F&kJ6{s-ZA2O&)h#hzfmXJR{Ae0f|K3JBj(na0w4#Y;5lz)Qc$Z?D-lz}2l z`xfMTl&n;wu=AE-T;63t3RsY<#7Dh|i)gPK^1I6{D|`MhO`aqqeg9Z+NCF}6Wu->S zVyI0yEp1z3W9z0F(Zb1WGFc2uExZ;t3?tap=-MF$gZ&f=vYox9+H&}ZVSmu>uPv`9 zHwJqAh(Boe?}*y+#wWmuQGWNd$tpET3 delta 1723 zcmV;s21NOe4x0{;bbkN`bV*G`2j>O{2OlY4rOfmI00w?ZL_t(o!|j(nXd7o3#}zaf zj9*dk_l_?Yq@}w^}$(uCE zppqd|(p4ZzW(SPt2&5%L1=s)c-sxM>(5aMONYLs1-T!&+bboixFM+_na67{oo4BlT z&SQ)3UB|KkW`1$P`ixj+eEx&6Kq5}-*g%Y3$FW#XZV93BF-4~6Sm7k|2U}u!T*Q=> z6qa)*mCqlHk4PsE9LGuJ4`hBztc*rHw`A%Y6v%Jc4-pYJhE8N!tUg*j!1|#OUc}-s zkgHVk*tTskwtq%dY*#AbA`;{(0apCtFpzq*S*x*pUdmt5gB2gDF)dPuk88Esd7MQG zfD`A10U#)T{_V|dtyVveK2Tww4>b|{(KtT-6A{h)y$^B001P$}z5epe+v8axW?xwj zDhvWaWB!vy<1GQT+QJ12-~&wrXKPQEP8+Wk;I{VT{eM6Pe?vwcz})M02J5b?);l#a zHvTDT?YX(eQskXouh(71`+zCy837Tuc`|q6zO&oyw%gJ?Le)r9K%iu}YD?R0z25Q@ zd?2UJGP2MCT(`;lfGI&00;b_EbbywtaYF&&E)X<0qxE+JKohG*x63I}@PG(K0BE@` zJswd441b9hJODdQl^~u*=q!BzU8Kbt^@vC<(j=g0{DlXHDL^v_uvL$UWz9$$0Iv#% z`G8I(sD`;g7nd2>EAb8Cm^#<|E<1qw`8WXvfEzkj5sL~~dxjfM#C^a%ixPI!0}2FW zMdn4-verAm5pGBu^?YCoz)eurJ~IpgM8yN#rVk)3Ycp;X8NTsq;Hh`AMV%t5Xn=O`v4}qe z;GxTAvs3{GXcYwr1%&Yp0U?~DMPDJp_*|%R^cj(+PE7=4HG5am@usGs2?XWjh|xJP{c0>GC9UYgKv3gU zG9=|uLRAQ>BYH29Al+fC5K3Sxs*9?C-t!y9Po-i1==M&cL~PiM=`7ZJyiE;>>|*C*O&z0 z9S{=uxFbhi=D41LKANNx}xiAblCq%Rd=KU8io95E&GsU$kAR8)d93alO`m3~M`z&;-y z?deW%h+h)PP@_T$=@2)Q?-++Yw0iPZKc1m)%V z{Jq&%7d)W9Mo6sYA-S@EO&YeWaFIuiaXQ9R_*TP+(r!bnT5bZmUZwZL_fPZ+})F?rp zS4}7dv8jia>-v7-GUx*jlP`E(k|sqt(|n-V{0RDBgjJD?9ZkYcWMN^U1)#)W2RYUQ zl;prrU^$W2IShZUfRY;S{Qxpp^D_YO3oBbxK-ANN0yP;W<`L> zZ8erdKMeXq;KBOJMl@oxZ^jS#L*T((QC->Wf9(uS@X#YswI|N>(0_R5{|)FoFoHmt R>jnS-002ovPDHLkV1kx2C^i59 diff --git a/graphics/pokemon/mamoswine/back.png b/graphics/pokemon/mamoswine/back.png index 8519a4ccc84a4c17821721a6755bd78b4d159fb4..5414fda62675a987c4f166836735f0d2a69e6f61 100644 GIT binary patch delta 417 zcmV;S0bc(91B(QZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0c1%;K~zY` z?T|4`13?gl57MQZ6Pt8*c2<$?f{dr2N$xnMfzN^Tq^|9UAW5{*3ME(I|=w# z1UorcXD^8)$878+uYDhH-kad0lTP|m%;}gLJ9&^60|;v%jwqsa1+_Lr&+DVYFpMMP z_W_~^GxA2iJwJ32apy390QMCDT(I~cVgZNhtQ5Q4^Vi9JqGMfxC)aCh?fRVrTnS!O9~j{Q zmP*~QJ|@^6u@dT6O>M258i6ts)jtY=DVX!W10MjjZ@a;NP!Rk8EuX%xFd!x800000 LNkvXXu0mjfBmT6K delta 408 zcmV;J0cZY;1pfn&B#}W-e*gz`Nliru=LQD{AQ#3O`(pqA0b)r+K~zY`?UXTV0znXk z1v|UBkjCyVT`FZe3D|5A&L0qa$%0#_u+J64wE@BIMBT`yOPQ4Ef{?!wNEZ$^v!@Aa zW=$V_?fZE1-WFS{9d*=Ee@S>9aucrrQWpSG1tc*?)Z0*LO>}}je<_NhB(`B6AdV@c z*z33DM?NBH?gqfNVt_M|>_kjqSIs4g^DV!z=fe^)dn^tFAfil9_z9Z;lyX{xF8Bb< zWbX%JXa|7jLC#ko zAXoanm#Pk1!9N25fA+?zRsa|gaBb~k15AGbeg6#B8YS3{9>~m4TQ&G#I|5u`mJY{C zb;}kHEC`rP#=?~^Tu0hDLTT=VbLHxt=~$JJ>BY)9w|Zp(Uqa5xH;M=V3&cy&r3BYu zR<57w)>SIF5hOdp?m+~1la?SUw;8)NklDx>Uebc2#Rwe@=5>yP=_jaNU5c;J zA<`u;IOxX_GW0vuPz47QFOZDaOXyt^p?m3V_wc(v`P~!C`r|`N*_{(ni$FCe$_&WI zHCUSfqHWu)h?vY!u_hw=a|Q6&fcvK)2o%t3;E`SqdEyhLHGhHPZNI#D75J|Ob+7EEj6>pjQr2P<1xyny04S+kh%uiddFn*|iC-)CsKLp~GI({JD h_#vDdKS2KK$2Y{m*G`9agR}qu002ovPDHLkV1oGayO00? delta 429 zcmV;e0aE_i1A+vQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~YqEV#RB z0004HNklDx>Uebc2#Rwe@=A7eT`Uz@Rm*OjQh;+#d4*GF~4E;_u zRKdZ-J4nXsUFcmBp?m3V_wc(v`P~!8`Qt-M*_|U|i-4XZ7Jn9qaShfsz?kd0tq7mY zm|{(Y_vZ?*V*~D=q9{_ptbs>-IfyJo%xePW+kSZoH2Bm2fX->MxacMICcLQ9GvRXs za-x(7LvuAgDv3_?t^&vU81VdL7t*dYz`1%-fy|E$0C|<{GMvV-y(&Bm87na#_y%}_ z1tk{JHX_x|?SF#mPJ`)f&4u$n2FUKGfGTv|BC@RYC>lR{U10N}RSqY5h?DjtCE3KPEV1Q|$P`*o`0DyYU0$uYP<3 X#KG52g;&+$00000NkvXXu0mjfaNfuf diff --git a/graphics/pokemon/manaphy/anim_front.png b/graphics/pokemon/manaphy/anim_front.png index a1d3676e9a21a6f7a517e931d4a70f320a078bb5..b9934eee73baec59eadc80afab340551566e67e7 100644 GIT binary patch delta 851 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 delta 1434 zcmV;L1!elw3+D@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~fGPf*#? z000F_Nkll*O6o7ds&`ARyO^HfGhu{Hi7Y{LF{{SNAA0XJ;qeaRP7*GeD zfeeOc1Nd8;i=0E*KkLZi8=zMCiA);op9bj z7+uDg=W-m+)LGz+of#IlIG;D{gUP_P`f$|{g3#`XPWa*hTutY?G6eyR@cDy>_c}1Gh2G zCwH{GhqQZ8XsjA8v^6hK$b%2MRi0i50jkWb@qY8MCO65#k4Oc~&)R+WhuY?nba8p=u2 z^oCWyMqq23qu~)7o_R-XPp<*aG7#p8jpdYiCV%Vd)eN?i+QRgN$!zl}uqUV05+@@3 zhD=-RF?)~crU$h}$^mahKFh;P)nqYL3^P^d@sY)~3@rq^hQ1|iOoRC7{wFGxwILy7=N8=7Y^hv6IBIJC@t-yq+5p17@sfnCql z+x-D(n`B5mFxm)$&wI5ZUK-T&q^CS?4spit%h`L{oWx`&XY{Aj7E@vvH!N zpPDu1`D^ZkjX;!3%4HY^Y6lUq+y`qs2-TlHI>?IqeD)C3m#2e3Y%Q$W!+#v5#RzOR z|5_J)A2mf+S&Zzf=peKHZ&)o9B_i+L(m@vBLhakTx0vMJ6`!AD`@e1i`o6T7#D8eC z7<3S{n9ZgQKuP)dzG6z`vteKkX))DRk}rmV7E{xl&S%9yeYjOw4E;($?sAK%0ET_9 zARm&Q#vDXS%h@@~-J?xK5a5fWGTtIEs`QBx12Cw}0Y7?kE)YcNSCi1IMxR zjf#rtb!4u2U#MS-K* z%_L|j0OkoWc8D5NcNooC;@&blI%1$w6q&@ZBlI|Qk0a0YMk+-B9X-SZ+w^{ax_7Fq zALOktb+YFz7=XG0^v0ObDgs|<|`Q1#%Q oKgfSu{h_V1wz$Rr@Q42ZP!kKxq4@y#<^TWy07*qoM6N<$g8kL4)c^nh diff --git a/graphics/pokemon/mandibuzz/back.png b/graphics/pokemon/mandibuzz/back.png index f5992b1972cbdf4ade897ed2b8e86f6660203de7..9d93a03cf8c27f98c91397aba5a2a355ddf308a8 100644 GIT binary patch delta 551 zcmV+?0@(eB1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?UXT3!ax+q+r^2Y&jbZILSWW`1U`ZN0!F*TQgCFkI+-q{o1@`lICr4Od<^W=gbzRi zGlRZ6+UrqTLgMOwXovqV|M%YYUA2FmuM$I@0xnyqQ;6OYIzhm>L~vo-z5F73;ugSp zv2*>I0HAY!?KoG*K4A=h2?`z4M8L^bDWQ*|mi1(s6(mNzJU<4YKgbY?&lq$qvkd^8 z07C-OXRK^l4`Z0X;MLhpH|Yctpk3?1gUJop&d#4IGhzr8kMd*N>%ZNMzwtJ&KkL zTjWjX5FGkU_))Z`@Ext0K5I2qg0E#g{6=6^5AnSwe91EbA$KD5@x9_(+zK)QTubo` zS7Oi82z?)rim!)%8UcBL8X+shT8JH0A_@Vc0NCG!w1!>?H02O^0LuV(nHD&38%ThJ z^CMuEbSZ9y1m?#8zn(B>VRG0C5F}GlMiw$a-sj}cCjbhf#v-JIrT|R<5>L7$xLPCy pnkqoh7wHn1B?s}Zze>}70Ui|ZN)?!Ay8r+H07*qoM6N;tV1hZR^1%QA delta 545 zcmV++0^a?P1&0NYB#}W-e*gz`Nliru=LQD{Bq43gtNs800qRLaK~zY`?Ub=@!Y~kq zn}vzNSBaK_5rUZxmEZ}Q7pU6oumn1?H0@MnLD@Q1JVxgX#LQ-3CzW^rBA6Lk`yh@9 z2}0`He{hET^qG96%y;X+by!-xIJ4XN_JC$81 zd+yEf=GCqHng!a(e+~mrs`vak@Z75Zl?E8O@|4_7)h9YYnHa2~%5MEhi zymfGyp)MH@-2$=z-9mNPYmOP!EOG&o1MJ>H(!Y1?)V;(Zf5`e`3-A}rpB3d*78ahBl j9o-c$jSu2q7k}3;9u)6N$63;<00000NkvXXu0mjfj&S$Q diff --git a/graphics/pokemon/mandibuzz/icon.png b/graphics/pokemon/mandibuzz/icon.png index 58b9da75cc3fca4dbbced1dfcd7e98e2e7abd607..345f6359cc22c4b6e60f7df7936369bf0ee6e1e9 100644 GIT binary patch delta 27 jcmZ3_Je_%h3NK5#qpu?a!^VE@KZ&dp740^*YcK);aN-C? delta 52 zcmbQvyq&pI|jh$VUe+A?8f{nRa Fi~vm?46XnG diff --git a/graphics/pokemon/manectric/anim_front.png b/graphics/pokemon/manectric/anim_front.png index 4a1288465c98ce2fbe6f4a11018847250631a13d..ce1293dad8c8085618074c28e1ec675e5f832120 100644 GIT binary patch delta 1175 zcmV;I1Zew~3i}C=Uljy~NklC>bM3z{P zfSzOtfCNs7H|BGT8JjJXQ&7_c_=JFEc$O1d>}m_AP#u^#y_TB@xHmcF>P!1oE`+c=#m%Sn77w6X=`eYjJlbQh=Sj8;hM; z1y00kp;mtZTzIuFfQn*0!UqX>jSpaU04xR6KOude0bnA5#y7Sp;#*J|{6+<8<_PY> z;=bSV4N_q%Ac=2z6!E~&>xc;nCP}9^S867^q)`O2sSxkRFKpwqzeD#oiqbk01xqxmbkoA~qAvmg?Q3 z?y^E3fa)&QyAzP&Ee%Ac{I7DL(;wg&v0ekAMSfnPr$iy|9l%J%8SgYP@|*MV*9ABz z?mtNN?*K6V^389k{yc2$0k?2@pMH<(zZZY^d>yQi)b8i!KT!RT_5hcDFd@2wulT(X zHGm#XNOCLiQIYCjSd_T}jz&jMVn|Z&Qtd*U6RM1-UUEXzh77#iUwCt3DPU8!N=QI) z3|>ek3YcxnTc%Sf{(MY~4uEJ<{6lLTcp;5)p!(V>^|yEsgx+biM5kiRs_(U%+k<~s zVQ^s~pt(l%LDwU;l=k3F99(e5#_j@L%(?`ep!%baasY1GHDeQI#1*5ItG{!G!n=#m zAiIkgRlE$)gSO||ZA;-Rc?^B8-Dv?hyatG)xVzF{plm=^ZqnSRz#bG}XK^`>J)}j3 zU4H+km9RY6=|kRw%FuFosh#BZU?+FoLEG)7xjnFBWiU)~+XR$7nBG`&DE73=9%wgL zNSH0EwpV}Wd?(Fg)@cuPJV0~@-S(gWTJ1prpt!dsINAdg_s32^7>NW#pMRK=0sml< p0skN!O0R!d5BUf3zkg_1{{UW^#?qs&D4_rV002ovPDHLkV1kK5Fq!}W delta 1223 zcmV;&1UUQq36=_wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~lNXS)LF z000DeNklzi#735XP4T#F{G+5}j*gk_S6TB`@^=B-htFvT;|+4aF;MB)3%I zf)|IHA`hT8eVR0ZfdF}cyg<^pNpVP(XUHr`S^Q4~*Jf4DPk%GByTkoHLjJ?j2jc2t z0I&xEx4(wUh5>I7nD@j-Hgo;HHdhGrwuu1m14c{6{Ju7afeQ)nZot049vSDIP1vgn z5H?R~#W2SUFso-$UB-ekkTz~o0-PVZ+}zawhv9OMfFf!&Mn&9t0Y20YnlWxUoR14Y z+uqeS!7jh})qmkWJ#=}ptJJXB5`KF6wgk+eybp`HXAiKu#}YZ9lG#3~%+k%n^B)2M zc@P#M6FrLISVQ6G7>=zoM{ZN~i4y3_7D_3`LWmHYOGhS9`CMVTBFas?zukO*=wo(H zN)BiOVEqDUQ5peA;FLIHJ~x=Y*+MymLMg!a2pGC!Sbx63uC{Or)eEE3Yq<%JJCjq+ zuE1K9O5_(VBdHl$=1SWI!sRr1{9qw(A_g*!xyMtjR3aH5uFN z^$tMjr{)@OCT;&+6Xz}H+3 z!dm&XYdeNWJo5AJT#pjv)u$)gh-<$*J-*q+j~rEpzG}wh-{|xo0o<2Y-}YK7lzjEq z-@j4XBTJb2=YDOa%8-74_8P2U4*)6~0Bq)c7BCtz2vXkrfDyC%9mER7nfL5-#J-m5 z?SJ)G=mSvQrFwhahq%fNM5p|(a-h>6;2E)A1EB_PUZJN%A@6$ECbPvmO^p2JT>Nzb z7K;0iQvEvsjK6;OJE}kTTYJDQTt37Tht*^PSURiB3hIRo`nnw+C;0 z@4`Spwe{+Qt_5r@Nx+E&z+y0C5y|Tlx!>4M@vP(nAXDAp^`bTvxR{E;1zf z{7=_)Nt^ES9gE4ZVwXa4%(($$?bs|W(I?jTheY1rZ lP5h)eunLIOuajKpH;Bcm-5x zSYy1V{+fl?(L56%;0C~d3{Z=Z0yJ6zg6kMRYL6@oELs4nfC***k_osRH`W4uEB`uT z=l~D_K$npb4?aMDCF7B%WKSMMw=5ta<<&J}0qrBn#Ba_olN0NfEdmg0Uiv(m60AVP zKVbl90M*6kid^8ZMBHsJ0Bh3JlI>B=E>Ds5BOYMCn|)paQ%3`T_E#3pO>7XaUlP~E z1{2T99Sz~@yCV{RWcqUiGIs)mABg5Bz&{}3ZQ??}^aQN^Kw9Z7fKJt25Gb_KCH&ZW zJ?J19AY1y6kr1Htrj&Z|0{N~WVDo|sl^^&(REf@G(M!aR;h%re*0Hb>G5zK}8_BjW z<*SvTX6#(`=vOy?AeWO4SUAA9j}}n(^3^C%bMCw*d1pbDQf@5}*Usv5+eJ(Xc&9%W zFj>GAkQSJ(aw&KEI!_p^d*FKq%&X!kWkMO9o~^zxz`RtvD)9K0?~+G$2F#2FP5=-~ zH~cd(;fXtu2$8NN=MJW1-k{1B#}W-e*gz`Nliru=LQD{CMLn2T;Biy0v<_3K~zY`rPRT0;xG^f z;3iV`oRElQZ!Iw^uHd|Y$&?4E(mT0yxweP8do)^AvroW2?v9;=7_ecbTH@qSp5M&G zcX$82k{kOGk8gnbtDvcuHvrrO{QhbL_$puk_39Q_Ub*OVLm>6ve+^0GF(vS>-z13VZ~@W+(^W2I zt3T(M!FmMW2T)eULCS=&E>G?8mOb^t_ jgmwVB=X8O64Reow64LG0(D-UQ00000NkvXXu0mjf&XpGa diff --git a/graphics/pokemon/manectric/mega/back.png b/graphics/pokemon/manectric/mega/back.png index a6466e6347a587fe1f89dc31c16eb51a58084cee..76f8e83ca93669b4103219913c3ad3e25dab2ab8 100644 GIT binary patch delta 509 zcmVr&k4JiW)sfEqJf}Ej$@<9c12JT;bD#SU;!3c~9Xg?HUM%fN)SlX;FdjlJKA}04L(Zl-ox@87;uh z8DLriFoQtM(4$#`Fb4rj;~>tD`wn1E;~BZNFTlvaK+d>2;29-9 zW8nV^U``ub09Pn2LYis8SPBHb1@pp7#EctzQhbeg9enKrpR;N~8S7y55!h7#l%X4N zFO_4!N+2x1cSAGhkpl%Ss9OANf>7B6swZ`1l}@0V6I%=w2;bonbaCVE9f9;su?zxm z00Piks9FqD1$MevS2C~}_yUF}W^^wCIspZ@0w!#+01pK|4?ldK_)`Hjg^c{9x(KF^ z{$=3v&~PpwWOUOTx+eoucxjG<*E>c9a6kM3Ad8@9D72Br00000NkvXXu0mjfuW!|7 delta 492 zcmV z;7X_`sML$RmL+TG9H}CEm0;=Jrc;+5qf^w&J&ZAd;3SWswa|xuOb&;=b=?D(ZV#A$ zgOxDdcH3dLb=zTTG<$$EF0GiMfHQO}wm9~@zXA@LGg7euoCqMce@?{)5HmEy3@oG; zmVpI1L-9ccat7|-Ix56D(!l_X2x#9IVn*1Xfsp|o#A2lDEWTE}90D;z$4f+DBoGb; zAZ6%y5VJg>k-G&58G6o8rUL$;hSZ_}mJYfEaH4#ebo&4(qXyWS0j5;|GYEtXJ(?x( za}c1k9EACCpZ;T7f1bguT>?f11~}u^L!Obc=Zq3qC^K*($TJl0b4ExTYXCQZEX~wl zOa%g0gL&a4LdHFNseFxi9sKM=K4;N_GShLfm(I`fGWYW!a1gnoP?mWAkZOT$$PPVkhyU}fO3l0KM^_mC^eG9Os*ZMr~Zmo|KhjbQh z8vqa>yz6j10xF+UV4&(oorhyR_DX%aA9VqkyExJTP%DO$0eVdU2be^<4K2yDsMPwp zv4(7Bp z2#Fp1p+6#59*GBkVRWX9{RRW##Vz=jKe`-}I6f)_i*17FPAi|GJQuoB77j0g zk~e>ZUBiL!){8tBvWJUX4_&^;Jnx$uy*JA8^DMhguhD}9B{*~Osg?n)H6mod<0UtJ z@k}y6JEm(mcHChy!%pRb2X`jZw1$)A>idXvM2VY7>o~)5wR%bbgqBaDg`FR(U)Oe2 z0$LtFWksSWxLg96bdR)`pG9hLfm(GwK$YNGL5`^-Cne}C2y_To@?I<-WbQ}k7YH~Qf(`lr9YqFnE*U}x6N5iM zsh2>P;z@Kc4qV^eN%Bbv$rKGXdjFr^|GlTXlcK!kRe4R{dqp?Qe;4ys3{(VE9(OX` z$*Cnp(cb~I@1%MG@Xi^a>VcW+1qTkOdX0y<{tU3E*8-Mzw-%t(A)AHQ1^@&I@48GE zK;>%&^i|!cvv8s(UYSq#i_QUa7YQ8zwPLtiK(BG&0AZm!(2_ihN-fZhJ>+_cjvTe> zN}Z@iaB2Y1PIYupe}!5y2UW)i04Mc_tIle5BpsbXw2|p;97wZbItS`ofc>Nn6>gjd zylhsW@1qoOQ0@{5RG}kR2HdTKT9sp7a>Kjn@dVXe(zXl;2hFO>gjaOnh{c|@cu=By z(sDTr+8@6$y(hFYgsxlw{B#hgeRTA_j$E7pXG3f%elHzFf2Z~1Pv65BCl28t9O6qK zCxb9LQ%e7V0rry?LOUE@3~-X5)ag^YCQv_4I{}~(HgML)=NWB{Zqn*c5e}QQNgLZX z?D1euq7*p9y|5WytnqeZXf}zgMzUC(8$1fbIE>{vSeB{b1hBgo@#1z(8`p)+on&xG zx4EW^4Q;Lqf53qNY|@#mDO|Ug&jJo1WU>MMkrvMnzF-}j0go(0Ts&U_VZZ>o0AN5AK4+n`rD@OU2u8Bt7Ug`Ouv1ZIx}b5>j;0K_3v*SdhOuwiV-O-@+K^)N zDenP*71DF%_akMeUE@eE3fZX)rdozGC7b6qKOho?ZvpWnl(VL*K2 z3(tk@;i1-Dm#s11|LKWyqb$GAvgh_1JxEZ3J(uii8PHlojQcEJ^0I?xyalvlvW9KP z9L6)`SXRziaA!QtYB*W0ehqPlm$dHf*l3lUr{ sflRx%w5Oj%>*U0I`D1EnZ}5fx50JK{3@n_^OaK4?07*qoM6N<$f_FcT{Qv*} diff --git a/graphics/pokemon/manectric/mega/icon.png b/graphics/pokemon/manectric/mega/icon.png index e5313ddaeda390f7cb274f73db571ce8d7ea29ac..fca8eeffebd9170f86fa1e90fcf02545254e9afe 100644 GIT binary patch delta 280 zcmV+z0q6dg1MdQmV1N2aL_t(IjpdR}YQr!PMty_1QCHG7+Vq32q#GocXrK#&ujPe^ zPLZxmt%WCeVKS9tOKD7(r4%|K&^)9W{k*FB^^i?YuFU2Ui3=Da5yt`X4tRh7QDOm% zGpwv@NcGx0YgnvBXs5NaNMTl>pnV8#>RJ1?$rN_ed5BWD=@VDb%3Da(b`Qpb-mO{2Pqn9X*`zz z008<)L_t(I%jJ?WZo@DPMSTO_sFSotOFz&_xnzF-bNCCK4XNpN0%jfPa;5gs41n_no|*a_H}t(abuCjR#t3wIhMR-R zd^!tWpi4&t3a&auht3V;M;t@94plwDC)=@;Pl!Jhy!!`9g0{eB3L2M|;HRA6!Y6jn z7XwQ!PxYIEqM*=ZDC>GCxj2Thxz$<^CEccY&h_F5c2>o{^M6q555#i`w*WwOjnysVIh0sQ1eJ=*IIw)!%^kqH zkrHO&D S65c%k00000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~%4ol}RW z0003YNkl5dr5P)X@bm@pd=BiFs zP_7RC5oPGsp{ghNba%cxe?t7B!<&DQBxnt6rl4_Q34X{4u77-H2YoWI84_CSeR@CknyO)cLq5#_0000 diff --git a/graphics/pokemon/mantine/anim_front.png b/graphics/pokemon/mantine/anim_front.png index 4b2d203f5e25dcba55277e5474bba16b78a3608c..603f1e029534af047fc05e69fb5ddec1d4b3c4e2 100644 GIT binary patch delta 972 zcmV;-12g=y2%QL!Uw;FrNkl!r>h5tn`)pDUl+HmXB>e@s94M~94tJLVkjkytebz^S*PSIjvej)0}nh zHLoz7Hr12hG5m7K^PWGPDt(H>$3g=0tItAfp62IJ34iRI^ZZ2y%u4x|!_K8V`xF%k zozNzeV=|9!u)bTAWkiy;e0yyC(*74;8FCV9?-!(QSAU{w!xag|CB`9BVo-dk&X|sHNUDLQ1DI^ zimln>L<#7`O-!wM1jJU6u;ZesHIJxLLg&k(%zv7}l(np0ryF1*eG$(lz1 zz(_s23&ZeF=C8=hta%6$tc}@i$m1#l-e%Sf0LGiM==ORUUf!g@ie$~(6nDGPZ1z*i zYkw;*b8EIJZsBPt6@xyGwrT*7+^)@oO&pd(0YxB zm@FNW&e@6x*;+cbYmxtfV3p3H_;2Vt{k+pD@?4S!f#CPucYoi#yVLis(Rkp2v09sN z+D@-7kL>*+siQFWUHYa5pg1n2qdEdYDK&(j+J-NFMM9acjLkd{cprtPEvVUcE1BGj}Y5(Oe4DG@Te z{`hkSIF(D(wm;&QdrZq!NGMdc7e`MwU6)E46Pc=JcZa}`0(|L=Tc*A5`r`~B?NqZf zu|K#h5(4==n~*z$zu^q>Q!F3j-LJ0uodH_2su>y$Yk$*y%^18{OI`#E@5>R(yS_J* z>J*2M6A9F>UPYsIR;-~CuzSJsmpLFT<=Ym$;PUiS6qYUpX;D6=^XLbkhs*3!JfnpK zG+%HClU?TXI5i%#Jd|O5u_y#2=PYIz4%3}L(HvxKEE56g9-jljm`;;2&gW6M46Y&H z&kiz7Gk?W6+owqG%8PrQ&vG&6lkyFgQk?HA5pr zp5157$6(DMg2Wy3#_~_4HD`d0yWpnMnnwVDmO8u(g5YoNugJ}<*#imsR(Kn*xXuA@ zbARgw0LI&4bbGT5u5x!>9Sn3! z*wTJs%^vCLJymMv4{~d6>P$pcx1U+FPI~yT3>a`d9wLX$^6O)V?`;r~_DgXN(#9eV zwjGD62H$oq-4iP07*qoM6N<$g6y@>n*aa+ diff --git a/graphics/pokemon/mantine/back.png b/graphics/pokemon/mantine/back.png index 2e8db428def164f70cee991337d130f1f65bf87f..ef33e760a50ea563f3d020d1a27a9fb7ab862ca8 100644 GIT binary patch delta 417 zcmV;S0bc(91B(QZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0c1%;K~zY` z?UYfLgCGn=rKbxpzyd~P0}2~Z*#DX)Of4iq>-2O!Cx0QAyaz<#)g;0kWe7EC=#Eg!h4-1L;j5 zN+5*(H4qaAf&fy}Au=F;C2pZpAzT2sLIC$CfSgIXk}X^UT;T^;888SyQNXqe4ImYm z33Z_G*aZN6*POX*8z-Nk69okFpayIXhYCu2zZ2<5;aSH?O9!_^>W>y60q_+7(5sYC zPzgLLXsKalFnfIli$@hM6-u z6~MpGQaqx`d{5aaRe*X=8w%j7vgx4pfNzDt-ZOvs^q#SYrem*CEcF;;DnaJ!Nd$}* z&^g)r(+0&v9`VE20p(8W8x#v?9UdkiT@dyhNckgq(V(h)5MB2TfitDpZgcM!00000 LNkvXXu0mjfl}@P$ delta 408 zcmV;J0cZY;1pfn&B#}W-e*gz`Nliru=LQD{EI7e_i8cTL0b)r+K~zY`?UYe=gdhw> zWlk4hfCW@#0~$7UnR934nN$Ih94Hh&?Pyaz^sxl}L>es(9|HC1WOW*jP(5Pvt*BC zGTl>h$`zp8(?$aHs$x2L-P2o9i1)OJ;-0C8=3}p7$n_9H%)#dCNqCAD&?!0k^9I?3 zjTdnM%3ahqC?kH+VK)KshOpN_OdrXM21Vtg_yK`4rP$>{4xZuw0000ogz5^(sF&~qX(FZCeGSYo@5?y%nBm8Un2!Y6E8(e+xBj9pOJe;p^=B276c8)XsnV5@ zFpzxRDtaI$Aau9pf`NSNSr$la1edQ0Lym^ifFYk&>Z%nIcz=3o7Ha$|?m+QH)=b{Mt7Zii?q?shOs-`PQv?(7h^<;)KIEW)#xVfKUY*Af2` ZKd~*dQDRO{2Q4R6ZMA{` z008buL_t(I%iWSaPQ)+}h35utwx)msMA{qxMS8V;X-Xu{faDUHC~=)fJmc(=DWL*4 z&b++&$>bCHnsdGGIRtL+EsQ1gI8T_$WtTp!LIy7nP?L@mK&j?{jw2Kzwy3G>b9}t)lICer zPJDga)DgAyUW;?!K3(E@9h~L=9(rN%U%L#BpKBNTUc%acH%nqGw{}B_=r|ls6o*6g zI0XCxhglpBNi94M6pw=?eZwKi8Hf8UhC}VZ+!sRrWbBjE6vuT?1X)DSsWfyjRKd+2H*3j~C7axw zx&?>gbK-7+okZ4?0);{czrhCo zfA`+qlXdU!IP>_MV2>ZrYcHySTDZDanP6o}R0Bf9l@)v;f`3Y2U5NGrz@!4>Kse=z{ zuYmxO!c74H2!8_VLHq*wsp;M;gM8`;8g%>mctBX1>O96|Szs2Dg84b81 zu7xiRAhL|i(uv_gbL&9r6yip2LU9{)qR=*ayq1~l#_MG58J(fNY&{AlnIT-`Z(f5# zQFeA0hyZ?Up+m95n{!dmRfxxCEgBG|V6dKWo_}krAMe}&Fq-u#&y6)E;vM5Iu*3jI zUw*7{Frm9@cs`V0Ccr5V?r+j>DVZF71amMnR9NP-Hf4>(E^wgpB zyGDPOe>*&GteVxOsW6^-dk`2QfEy^f=BuY#pWPY|eNh0ss~V)3dWTQrSsjQh(`UUY yP%TJ+k!3f(tX@9(z26rQRnEY>k#pzp|HdB{5RltO^O{2QC%1m$$(H00Ra|L_t(o!|j$aYui8+$0Z1Y zEF$Mr8af!N;AW4TwRp*rO-@eTj7{-5cDF!sSk7G9FAx!TN*3Yk)WxCXE3_Y=&_Xga zLks#0eRpTYQT$GU4yA+NV1fTXy?6H{-TPbCGX5s)wMX>Ii+^&U5^Oh06KrkJa)8pP zw1P*eUkdC{+I|F>Rj>)V-4z<@1onEc-#`JK!1kI!?FkC_TBm!#_C5-Vya&QhqAs5xYFXYB)lOft3V$5uDYK=Q{$M2$XC28 z01z_LR1jie&6>w2?A06J1I{sE^)bNeEA4D-Dv=XxAVOj|ix}L^EQb-oOrIZ93S-Nu zvy5f@)4-0Ff?lWB_)ME!VeYpuV7;!7JrCwSYGby7*39M9QI}!|8&U2I(38QgZ|6W% zW}x6=uzx|Iv`USZtxxx#Mjr*hwE`luiEAss=q;4wdU%`F^p}!b;sqsOS80`)Qozl& z*CMcu%y0tJs1m%C0L?NqOE-cCO|%24Vu%yI4(MG}kwP8i@tSh7ORtl)5gSD5ruHZ* z$pgZX{^k`p6s~9Y0^!4-P32JZ@Fs*-3l*ZNynk025YAz+o)c1Ns}~*20T|8Vf)vJ@ zO``+pE>wwFjlSYoBVa=Nd~`WtpJ%`Y@$WCvYjT#HegJbYN;FWMytcO)C(5FLK{?YE z3U9v~#v*qp!=BWi6~7LbNUNrGCM!%Id_4*nD?lw^(KX*Z6=HH{K*ZGo;NDaqMeZFw zPBoENF3ZGZkOTP3pJlhdv~HgK?(ZvzGH2l4vZZtQf8!4p5Rls*IH8XK0000B7wjhO%fcd;POu z2ntOy7503*H)D^t_;WEZKLA>$ggIOQM=9eblhgA&lTwy>Is(%as4{>!B#T7`fCLc3 z^CGwuFbn{|1)u@$2aY*^fFS_YBY^dI3}CTJ0;-#U$N}Wx049G43?h)L(G^kM4P+dO z!UI>Dz)6ij&cS*Rz&OC-CID9)JfPu(Y=;_7LzXNIThi0pKo=8ag)$ zMz)_Ffd&@>O!Ic#2Hl{`W0pSpsH3c$tzWdLwC zPM{P7U`H0d4?H0u;FTvpv#KHXVE`4%`A99hyAtxt3iu+7RnsF?JAjj;i!uR#0P+wR z9&jG^8Ws*9jVRD-mC4?h0CV72g9{lITopzsF$ZeXMkGV0NLWC)d=GHXRK4NviA`YM zOQoF>Fj7A1E=lcllXs%E&j$zUr#tSaXRq$^lciVizzcXn*m8nQ{(b(pD2i{X!Uk)b SX5a?^00001nUHlB#}W-e*gz`Nliru=LQD{F9TaxGtmG50nSN8K~zY`-ITv>!Y~lV zVd-e;hGbv}&rtPAJa}P%urT(WGSI<~f5W$72ACRU%N|1b7ZWkJ4?!FM(kMay3#B_1!?78%qydX~Ilu z1j_7SGXhuvu(%1p6$cL}xZ;z8Y_KT?ER09&N|%HWmqx{2MfV1Dz9? zbsxQx&_~LH`&@KuX;$G^qZQ^=(fDnewfj|a1x^3h6-;CRHUv}wFtc$2DIowmwD5hH z9pW5biv(y_4a7b)7=>y+l1q11TzpvpUxc=5Y9t#13Us8XdJ+H-Ko4%h1LR?kVL0GtU#7FnKSPc8b7A`e#4#F@DMRS9HByPi5vUSb?**OVF22PN6M<6;j z60IAx;Kq^IkPs4o^OyZ?CC`{27uv#z-WV!hUz z@oI_ol{j%rbnKHOMon~H5y=qx%Q|(?!ArO{2QMxjhi{|+ z0068>L_t(I%k7de4#F@DMSTMwiQ90NY?(7ac1{A4ffJ-*c1AHa_n=1SlQAeDe_?&1txC7?4S7}49*VX%9!b6#v;YHIQzpB>TGtHNudeP0w6 z8lvNZNQbaLEsKM8QA2JUqC*PTDYo>NR%W+IO07LjB*VYH3>Xv(jPMAIz6wJafpM=G rTs041bg?{v3ChP?U~&x%d6vqc)DJyg7V%5!cM~TGIfeKJ^Nzz>$ zD?Oztr!bV}C=(cu4^yv-k;lh1CEw z@s!vYFFeo$20%S3%n*c<0Kizl28Kx#@l0PVW1LkrIcL@>rCGd?Q~dsb*Z}B;r&>TG z1b}iu384LD0BB>n_4}5SvIlb-NP81Ng}j_9fX4t!x|D7ad#XTY{BOJEUb&lOszf@I z8;z}o%yng;%erwKm$G|(|V+B&RuEZ#exrF>PYvtG+4}lk{RieM~ zYs;pa<|-|tcE|eJ8f^yLA{p4;+K_)@C2A520F7Jrcz-VvMgUZKCr_#KBO!HXsmM1= z=BNn`@8Tw`-9C3p)UnBJ-6_&`zCu>cMnJ}BnvU!DHsM~_`gfJOO*#O;?u-C~707Z? zFbT*hHu5!olsC=myES$VG)MNdUg{r9-Yj{iL2H~JywTeIaO!T04!S-+ z9q%=y=6`~bw7Qdn7Xa6vsuAEmm@A{`!d+GCdociFEw{1PbAfQ$u|TTFo{N?&v!_i0 zH}L1W$QMF%3o<|b(}76lU=NrtIR6aG%+wwn<>emK_^HoZ#n}gUo(FkaJ8f16t(f-u zoghyeaMh|Yz&t;aPaJhOWFco3xDiKijT~q`sDCpHFcA*V!cJli7bbeJhYW>4c@}sp zL=PUfWY}tT7O-x_@a77+N`M^-FEvE@3rJtgoG&u8o_yPp+i?;LAUT@W=P+!?i3Lyy zT+mplgDf{v@TPn?f~@wUtfI5#3a?aJpv4*EB%FxEKaBm zNC@Z;TBQV}XMl(}gTSPp%m5K>l`h7zrv}mS2++*rGq5@2)dT^mWT0_D33duVxAOYCD6pH(fNim>QmfmYor`sD{m@7*MF9|2 zt5hXsGS}w)zs+Ov#=B3$kQu4Gba=3~T(5F|Oia=hXZL^>0=0p(4*(3UWz$~qqJMz# zI1u;1KJh{J%263s~InAat&H2=Uv)T$eOel8~KgA(~>48E)Q$e zrF0fS9%EOK=bsze3s?2zrWn`@Nh$K7y~rt7K#xZDLY1$F_Ci(QQT@(d#1%-Li6mU@ zs@@`8dp=)`IF9Ml*NTm3%)h!yv_U&Iw$P2Qnk58}jK zV?+4b@AGZ0Qh(`kG|}g3`{4Z#`w%)1MFAP$AH)~@0|STguzwhSjsD?361QV%-Tcig P00000NkvXXu0mjfBG;-A delta 1437 zcmV;O1!DTo3+fAyUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~`58wxPG z000F|Nkl$D?Oz|4y?xB*c+5;C$mTY!>>7h!D>D9OXQGK%*dx0I2V}Coy$nbu=d2e=Rz7L_< zp`-aDg^jskJ%#Z+AdB@ZzKe9_Jb8?>*w8UvRsiWden6gKH2_6CBsRwP<`jVe(C0Kc z8u}c-xQ7i4ohZg5eW{9ZURC6R*`$=_@x6lL_aBK3fNprI2{b|gsFsuf+Fb#Fwx&zJ zEjcY~FsFg6H-7=t$kXZGZvd8dDSb!msRX&3e>=W=?rxH)6xm#1+_rYK)pK3OyvZ3p zEIHRinTPyyVQLk>F>tQtEF;ZCg=UBI9-jnK1mm1lsV-g+dxfrtoR6}J7+~ze3P1Th zTIcnX$MRcqv3CQ!GCtHG)aXf!LYvDdIJQ;~%-cP*M1QRc{gq!>Hr+JWXccw3)=!pw zyG3%ayp19M#46Mz762Nz?3=Yn84*zD-6EyV4}>(GX9s@a}Z8~ny--NyJ?w>X4w&?%>yE_I9Rw659!6YEN*eEvme$g~9uIJb` z&;r@f`hS_fExB2WPK!1;-+#hT46u>rA^&x$T5_7MPY1n#AKmUl4=qG3X-%g9F90q+ z)nmZzV6Gfx7j{)6Ox(B3cUwDs7YL`52xR)~vG8S@9c>c0gg@6sfe@lslJV)E4n(>D zYrq1*`Dd7BCih^!DA%CDj{@$OXAkZokK(j()PJrI{DkttZWO02cxv?oV3F_36Gz<* znaG(1F2z1PBL|9)^2`EEjGAYoN)j#?Ci<|342^*5Ebvl@J{-67sMPu_U|ovgN{pY@f1;D_`*G^D%( z;eTPj?+W3~0ivM>v?#8g0bMc~S0@;D#ZdJ3l<~}fM^pT%CWc(}1Kw5F0C%9Lb+|Ic zBIj_THKtaR9-FWG+8+A74Mp0HXee4pKX`e;Wc z#)t!;%|>umT8r+BLrxY7`Bi^^cK;xnm z>isRDWJN z{P=dIS?BzKn4~9;W2a#RGzQW>05G&xOncRf1IGPG+#~xC2HdJx#EzfOZDXefvcA_M z@V?c7i>yXopa}rIv)$H-vr8S*Dt8VkeK~P{K>)2cJAu6EYnJ^Z>lEqZ=>u*()r4Q6 zbn}Y5p@aRxj4qpSD@5+WdfTD{9)BbWwCGwke5AIr-Dw~YUq zR^io7mNhvCEmeyy^%b%v?ZrlMqv-h3#3Y|6zbU1&4DzVB<}@%Mk-czLCpW{uUPx-5 zT=WXc8PJ`vy->xQBYUAraHn}~FOm{ujzt=tc3s+wc2WzOZg?i0MN^^u(tqPbA(gZP z5E+LJN>xuPGC{5ySmaQG+lroaqB{t|DEI`XAett674_5>Dtjq-k#90&Fp;-HwhnDb zz{~wFeJ6?5Cs`?U>vs^Rdmp_Y-#bJKs^~f?5r)VIcB(ZU2UF%huYiXC1KCrA85?oTKQkDA%Sl{GgD;L&De-fwk$~wN@ z)T>+GLJZfs@G{`xcR|$_Dq>D58)9C;4mM?fw5qny7sA^RND*DX&k{EZ03ZOkG#S%n z5C_&3;3p>VQoxmNwH2c>09Pvvgs#&)dxrc24JheI))7cAI;`rLNFCr7kyzc zW(YX5T1mWX*A@%N3FY>Ve}LQLB>=W4PUUw0W*_D$(A>`fege#imMqxGZEFEQlOfr6 zA@KqA#>;E2h=+XhECDz-!s*^%%4QQ4&_Eht@UhX^9bWQ_n0vVtf10N;7LN_v-VH-O z;t?szcjJ#;+ir&g&PV69BCs0sM>fj9xZiCri;wI?hJj{vUgrS~CrIL*)Tv?(NGo($ z89)LPdt{lGG(j}Bp#K&i{vsfKSe^U@xa8$E9DKhw9;(2K`3G=ig>dk-w1&JEataC9X=;=N_y_BK9`KoyS?MDX0WW%;H?`DNvo delta 768 zcmV+b1ONQ+2IU5jB#}W-e*gz`Nliru=LQD{F$;mhgggKM0?0{3K~zY`)s(+$+dve@ z&tx&p5_xGB4>>4gXuzOQInI*7X(*+e1t~O>K`L}9DEI`XAett674_5>DtjqtQEoD1 zFtN8nwhnDbz{~wFeJ6=lKhvd4-yqKSK7QYK-+K}v`KT!hsR&H1e-Wb4t+fi^Eu}~_ zC>7NJ-B`QEM+HzvfGUF0tshFHRtS(p^Gd%~8nRYtmy|xx^%oK>5vn!hJ_7nTx!BC5 z6%yqsz0!}aHBBT2m}**ujSEk2bO`jD&ES0x6;>_gUmd z0RRL5ml|V=OyYr+e+=*w3pg=gOSk$NqY?mDD+~kweb&!fEM$xTVt@e{SzsO0s)~

      <@ku=^pu=!6q(h)h2}OE=FVfOFNK?T%+`G0lxTNF!8!u9`cOOMWruPX2{( z>Wt0LRm0fveID?zHE_v4Irwz+x7jY^W2Tb={5v-_4EBFpL*j(j?iSf6X4A+`2O?HJ^xG2 zi#9-q%gJ~(=lh3N5x~g`y*3WUOOAlK?K_3B;jXRWb_c}t_`AnOrvwNRHx}F-nAT*P zSMWk~NisHfj}NRu3$7>KYReK{c-pfH1=vY!lmz$({r$9X<5ps&i$Dmx=ylSfRR<5h y26q7Rz(wG<0%I*wB7p_cKUw;8VNklq{4S!=K@>qPAfO;jMkeeS^_)pU)HY}BlpIPJ7bolPBzB$NzHg@Ovwo2p)n02 z4~mwRfBgIx%54$8s?kTcwkwX`uA94mRJg+yi_KZHphRqfhp|?7qzdl welR3SAf5$!3@`fhLj+2E`C%ZK+RuJ`07I_VMEx!bc>n+a07*qoM6N<$f;|SIfB*mh delta 384 zcmV-`0e}9q1J(nOUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L~}W*{aAb z0003wNklH3n3L8?GQ7ahIm$E=%a6DLq zcEF`oV>?V8I<&X>m+$WP?{BmDL*>@z{852?pPN{?4KHdDz<-O=ad!{~rsCcR)04cI z=@=SelxK0v+r4kHs!h&)yDRQD&e$@Z_q`Y1C?TeI#diys_mW7V_A|v$(n(%k?<40< zQP!5y`?n-<5kzb!aDKyjUrH9ijDN|8>5w+f@iWpN!+7>SsC7Ewq^t3r*-;3OqbRuV`55VC}Uz8A{i4iHU@&WGi&@ECOw62U#Y}+8C3=|?KHI^_J0?}_Vm^>qDq=p+4)LN-K2(In e7atCO#K#9iuGd6;g{S=h00001*9Vp-8yJ(A455!DwR1fM>OzF`@0AriVs0J9(g|?d_lm&J)UL2)W zQXZ>J$>ZSky0mey0K~zY`?Uc((!$1^< zD_z8;=o469pg1L^-DYU5K1RwZbybLD7~BdrblK9$&}9R{xD_0<-nUUTQH$f`PmuK4caV^{w^Yh4SdrS-v+$S6V; zkGhe%V%=HbLHd@Brb4V;KuHMW{=K-#7b_`yk8dKY?8CbkS%L>KzLU9>@>wy&^+)aa zHv3qt-XEj^G~*cfe?o|t*yO&?WEmgsiiLPpQZC(afEpQ!J1HxGx=$*EqpfxT9+`as zQkho(H<#;Q%K6j*rdBf#o^TZkU=BcymM2=b0OPz(w!5O-_!_AMm=934ahlk#7NCX0 z655*{3ym_;vA~=VRiiK<`o*Nt7}``{Sp+~yp?d&hLL%z`a=?rkz=-p*g9t_dAu-h> zFcb1+NVh;e?kLAG)s4)l=}+~bE}JPmI*(v%QyJ9&Bf8LbQ-rd}j>b1fWtEhtD$_Xd y^3Xn$O$m2T#hE7CF1>OM1whN^ diff --git a/graphics/pokemon/mareanie/front.png b/graphics/pokemon/mareanie/front.png index 7643da7b4b19d9a666effa36e9d75e74f4303b77..6bf9dd059ee83b1e2d2309bb8222668fa5298587 100644 GIT binary patch delta 518 zcmV+h0{Q*p1n&fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mw;2K~zY` z?UXTZ(?Ar*jWS$D#5X9guvM~Yg~WuPlC&cmGgaoOt$Mk5K?up`cmt&KlUJlz*AI|$ z-pIh$;$0%qq`sON)Mr^9{y+cU|H=0pJ=T9*PyeDnIT{@I$b;i&FOs;27^JTgIGObT zkOG|cMMwZfeLx%omwZ@%hh5DcOfdPf1@xzotaSmC1_92ro$COwu+8_%mUvd#)n*j{ z#G-B8ZArD;WOXn_p0!jE)l`wGLO@A>stf@`7BoXGKeX!(GSmgt%ZA92vn#UlehgvR z+1=I*&?cjm?c`iERFWoIQ=6AA>kcY2n)`sc4@s^&D674IsEDqAcnEh|Z-bf;aLM=Q zuUQyS{PyJstzW&*wmphj7ih1aU%v##;bLNQ?QZT$0>GPMUt z9asn~J%Cc)yg?r#yJz7$w5s?vnqG`i(avHY&n4(c6_g`+GnRL61c*rV{2dAZG`v4*&oF07*qo IM6N<$g3ti)ga7~l delta 508 zcmV zv~t8Kdyo?Z4gbgg{sTz`!CSrFdjEp{Zf|hZBM*)~97JIcF^G>Ne}0nm06gaWv@b%$ z`KS*FLrx{0*ZH=RXA?|*YyfrVla_dT- zU8j{dMV2<0BUV_VE`30O|Ell-LlP804SkgD4l-0ZR*M?ZqBTo2;%N+K$k{$r1mHTw zrRn6H*I1xJTw#+He>Uw7DpH)efSC)4wmT@Py#Ol_ztIr(wAuvKKH!?(@As)6khJ>x zi&BT5(@l>&=>pBo{uMv}D7S#_c39~+j-s(fH|q*^EhGUN&cZ)`rLG)+a>s%};Q$cg z_7k`e=@Sdrp^^E|(e!Ez61Ns@KoI~0#5@{<>p>PWYi%W0at&xLL2w~K0}&Eet<%lK zq6U#Lc_OA?ff%q7?9PraChod~qv@1~0h6W4OVd6x!{1J4?oveL%x0IFxUAb#Y_1!N yxqHZ&-PD2bTtP7sw`1{tg@*`O^7b2k#q|ifDg+?Z2}gPW000007Ec>w#-jDO^s|b}!Id48eL_ zU1C{NDiJD&x*)><0D+NJ0yY3e>IIrbML;F_)I!w?WYOfqD}Q}qPFpBRB>)x;NK(VF z0+c+o@uQ(YP$l(_KrNqx`0j=n06T!wxG(tr!ei&zwy`by;}FyQGG5n5Vfa06K^U$> z=J03@12bXVdtus%Ff9|N{UA&db0&;`2-AENCiw9X28NdCM-=9pe%t}}kHVJOj?@|e P0000O{2Q&d3V3}tC z008JoL_t(I%iWSO4#F@DMSFu>3O1Cf-m3I83@mKihP6|y^bph%NKwhcP=R7nQQ8Di zMkMg&Cns^fUY7k>3FfrFcGrXmv)R@$@b+lW@c?SA(M{lDF@IEa##aRv6^$c8EuhND zL;!%m$Z`ZW07Ys7&9Wq*f_OYaP^_vHi}lcLTm$oSAY6hahRltW>h%dwqR&wGiUOkL$jVVh9G%pZtGOP7n1vY+cOSL0}zp^Zvlm(?xTV?)}36 zO2BoSJi6T_;Kmt5%Nm0)&qV}-Fn-_;!t9>HNHk?XI>o|Nn?x8qFNE=a#PJ7V)C5Lh z6vk->VFa>4K`WSoeTc#^2*OMTWmJp8J2UTUs1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M0C@AdPd^ z0003CNklSzoSvb%pO+vNR@F zvIYXkx$UC(a~$09GxisQT)u|&O98gKC7CAh95X;@=L?VxpnpS@q9NAJRSB=C{pZF9 zfJ&p$=(BVH%9yJ`)SG!r-zi#E3bCI7JkjT>LV*-cy&c{z9SRk$4u}0ljA6oAjj%SjnHW01_|m$*{PX8(aWx**Dy zD5+pzs1#g&0BZRM?dYI%uxN)eI$Os|NLe#5bS=t%;obS%+U|2l7V?%Td7s|BdvWqT z#>kNUiAe00QT}+6TZ8zMwHd_j6;#-#b{0?4oZ0$_~_?1urCLO;DcyJ!HH zHwEzPR;XF?RU^;%=8sBmHVWvZ6ky^OC&;sAkLrvnz<;yHKv_a~Yqn+tz|PA8oiu$k z1{I5;&Mz2SH)o(D!>=b>c=JBPOAvVuzIp&+;Sxy$sK#Rb#F3Hd#_e{%gp^O`x3P_F z{NpfkZw({&cKaK-x7**yz199k?kKA^`yXhzKVkn5%Izq$Hv6-8TFri|{aI|x+-iTX zG;?z7QGa>nm1f>KBmwK*%soN=Q(F+s-WDqc{YNUJHfOL@6LVyV5j zPf4|^ZkM!b1?aQ&3gyhKx*&g7+@7W=cl@D9s&|C&R-N<$*8?Yt>c0?K6mZiu#}$Y( zh$5%~Ony>%+3#ey9B>=DA=IBOOJ<8~jy`7Pu@5!? w#^$(C)d5>yTb7;kxgcl$5Y#5LjsHCU0)7)T2mjt{n*aa+07*qoM6N<$f?U&dTmS$7 delta 803 zcmV+;1Kj-42K5GzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M0DY=7FkZ z0008mNklv2NQi5J2fd3jq(MsuoZ;ovi{%H|Yl=gD#qGHte7sIs|Z)en64* z50X(XoPlUOq@%KB3{b$UhYnd&_+NUYq{LE=nLFqf!?=eNd4Hn#j_y>(1VT9ov4jh9NCM6zogv`BK{}gK&v4R{bSkBU^yGL* z0!L@xUIL8Z==*760lt8a^z7`A+{UZpu>r!br!&)*CY2Ng09WbbUpMYI2*({@wm*h& zlUn*hc`c_5flCvaK|igCGGIPh5aNWe7l21I|YS z2))E?!~>rp459{1-EtGyE7-v$L*TO-09)~iaUnzv;1htid46T`Q>?9gKdWs*!ET-# zBJlQgi&Q<&IOKUr2-9WW=rn&_0Qq%L0IX4g{VahiVSi39R~HRnc~bztZ-wqPUo~Gh z-~83-%|-*=i~`EI#SU`CAD@`zHo()=0yqTv03^b*eEkUMg(c?1k)h1O9Xn8ll5}jOX8#z^?#_$0fLTcdu^T4*`e=b$c$gN`JZBAaP~9xUa~4KB(Ixt-1y5vGoe& z%sO>J{@HSSmZ9A7Ly@%GSKaIa#{)Nx>tBd03V7L?;|RnV#Bt-r%FjA4_qqy)1MWaC zg8JF&NVQONT%(>&I0xu8fJBc+mE8G4&xHiwRKO}}%!3Vpu{jP@b-*#(metDnT&Sn7 h6dbPFYqyO?`~!XyGzTEgslWgL002ovPDHLkV1kdhep3Jd diff --git a/graphics/pokemon/marill/back.png b/graphics/pokemon/marill/back.png index 61676c01b4184c0c9da2086607f0ada53e438cae..8eb2c5da1ccf9d947e028cb261b19f6735bb3bae 100644 GIT binary patch delta 382 zcmV-^0fGMA1Ly;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0YOPbK~zY` z?US)?gD?<=Z}5VY<&ZltatiNJ5E&SWvh=MC>T*&arfc3Rcer4ix^$}4A^#BB{y+ZX z&HJQbw{^HX)dv1FFq#>eQgz1QGYIM{fW@?E~WHms1yVeSX1{0wJBR(>}%h8n@ zn*xmh-H5iA_23E`Q4ZpN3N=>Hp(mwj7#f5Z+G zKzF(~bLqqIk_U>q*2hI{0vHcCXv@+s(f$A+W&!vLG#I2u!v++S_$~o_WFVMjH>JLf z0AT&u0afgOeg~`zH-1_Iq9)Ymo^D&hokO>)n2XoR%aN4HMKGhv2PJo@S_rdWjhdprOshYAqZm(hFqd5Y!&rqa-jE*Zj c_3s7n0G*m!!jPXessI2007*qoM6N<$f_JU2xBvhE delta 373 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 R5Apy2002ovPDHLkV1mO;O}hX9 diff --git a/graphics/pokemon/marowak/alolan/icon.png b/graphics/pokemon/marowak/alolan/icon.png index 7af392b2bc6ee93b1ebe94c12d80917c0ff8da34..3ea2a868c353724056482bf33fe1f3c7edb715f0 100644 GIT binary patch delta 409 zcmV;K0cQTK1MdTnBv%J?Nliru;|mWK0RVCb3`hU~02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL009$8L_t(|oYm65Z-gKe2kZh_?NTRtWKNiGuWPxab+p zK3SDw^y;TjrkE)|fy(m4*x3hL`7$y_fBk?QM^z0I(zZ_!&Yy>CMwfhc7uj-FDMFRp zgQP~8WEn97_7f8jbtc7v?<*Qa){3sOaAzd%{1cG{=UBUuSKfmjNr}hF2E1=Olw*nA zsgSm!LvoP#z64SMp!J5Q$G>;`1%lh!((oUvIrIihEa;DdsSjX`@)%452QVhEH((04 zqOo9>hYt&83w-QgLLWPr(8mo-?BfO|_R;O{pZoX*1Co`UG`fI}00000NkvXXu0mjf D!5yxz delta 345 zcmV-f0jB=%1FZv)B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD{IvJ6V zEWZE%0T4+YqfN#Xaackqm&oX>Q38egAn$g46qOe=!rBLb52u=rv5i zTrpc=0+!`7W9Ja8<*R0lh5@Oys)i97*Jlvnm*JYz8BczZ6|+has^k`AHOwW;i5+mi z*np@rDQ5J21czj)=pqY$NA@AUAej+H#*e&-4j4^Jq(>Ksu4y4g68T%fsp(rN2Z@S( z`yK#eRy6K!Z?^@aPijiLe!68-(6we0+9F+-V2e2>&9^&{ z28iiF{7`Gsnk1x!Z={S_jI=O7!6Ms5<^UuFp^cE#p<5ug1}87S62OH9^6(EZUWIS^ zFJcSCufE8U#oQ`IYCVFpWOO%Y{l^CnVio?x3Nqfl==VLElw0$EJY>B^Jl^Ka0)3Dn zMi%{HSPeo7ID`~o9CG7!Is&|+C-g?;B8Sx&@HkK5P!i4wz!%K|_^sAgoO=|2h`f8a zJ>}Hrx|SNiPu-34g$o0;-A|Y9R~C4DeD4BK6BXY5askU0YZQ1_xiUnvS8b&;egyPC zpsJK=O%oY=N4Ic)sg&vS17j-^XqEbG=E&DONdeEA9xx|P{tZQ=YH`p@s)C zEs=oB{dZBAlbpkD06Yowp0$B$v@X8g&xf~R!wP|1sk#ZcZlk*&-iC~o*Zj4rvEh1* zn~&Y_K5WWz2XKjau|nL}{9$-p3-ffjXj&7n*GU7Nqkb?Z92;Q*Y@H8uoWoy@0RH>( Zyx%&$*#xY^0)7Ah002ovPDHLkV1iOZ7IFXp delta 575 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 hp-tnt1>K002ovPDHLkV1j_lwN(HB delta 397 zcmV;80doF}1eFAkbQ}N&bV*G`2j>O{2mw2D0mWVb00DSOL_t(Y$K8>AA%AK3vE?w` zwbcL%-e>9ABT0xq7)>*;uiJLR3XAdNqQ!V&3Av(^D+1p6G+F8fJ5oghl?KoNDd$t?})hvJ-`qt zuOR{4<)%Yn!a#zDC;@jbrvm7+1h(+dKLW)qu*MU>!MsTcKLz4%1oCSho;+09QrS}% z{gBtlE8r+;HL#0mS*<;#I6`UP7Xz^ zY!HKkL9*u8lyuQ}`sm6E!r6#;18q_z0bGZNw_qVoV+H&*?|^ZmWeyx1zAKO!&H+qK r({nClx&aXqW3z{J1ss@8{HOQ=a#|BfV4cXO00000NkvXXu0mjf;Xboa diff --git a/graphics/pokemon/marshadow/icon.png b/graphics/pokemon/marshadow/icon.png index 5ac013d4a03281ec1f0c7816fd52d08552e9df1f..e7fb5674d396d844ebde7280ac6cd1770d24424e 100644 GIT binary patch delta 223 zcmV<503iR}0=EK?V1L3%L_t(IjpdTj4Z<)CM6-c)3)nL;0t<9z{K2o2EMVgz(K>u1 zgoM?fM(5L=^;-MlQ0!lsiEtZ50I*d>KAC4DR!^8L7SQVI7gnw@ z{A%e@b8URrV$n#kEf3AH@u-TdwsfVLT?WM=@}BjZ+mU2?k60ddD&{mZ?|HO%m4hG# z9ZO^`u%3&rrJ((PIjZ)to;_;NU!MO1rtO{2m&ibn}+!S z006*AL_t(I%jJ^64FfR<1li_>nKR8-Q?;atC=wk)j}fjF#1crnN5? z`TkNZxamv+fHfBjU5P%ioK|_X0`2&`0gCTTq^9PDJIclLp zjUG5{rxL4yWRBP1T0$jFw*-Xq3qrdFj69U!l$y9(h7QeNXx2_m?_`I_@q14hOViuz z`*iQ5_oVL>nJ4O3P^U4Joj!;qC&$^)<3tpaqP1hWJ?(>Me$0n<8Mf?WaUT02JEoZJz+v;RE5Dwm&Vw2kQR86!5rf zX#UnR0{cYpfrCv1ww4Ll;Q^y#T4HmVt;MIjCdU227r(yl@3UTV$N?6ULGs0?CZ8n9 zm|J1o|62Eb=708*q<_NeVKM&J1vk1l>nF+JGq=lc7ZhjxxR(rgfSTqnM)4><;UDdX zDexmc6rKD@iSHwBi)mCTzh?l80sx|jw?Gx(*%WZtJfa02z|&6%xB#@}ZgDn` zPtkK<933H0O@YYH=A%08Lx&xG9G^qc3Q{6_y}$1Get%PCFM9nU6csgKZje0{+D3>4 zb~Ltz`v90gqS?(fp@sf>y`fYH=nrj0e}Kfyo>w-)mRYPY+Uudauwr73=FCF~{f2Hh z1jIuq)gIwrv$t7!j&H5Q&XSmbrTO<)E$K!X*eH$2&uZ2rQ8Wa&zUevc@swd2tt6Y%{-uB z<8UBZqu|hZV2Q_r)zs|`VTIN9_QdUiCJJQ#bbmY$JgSh?oC3TLh_<8D(f%#AFPI;~ z4YGfWy;`1*2e*vVX|Z?5D0cRe?2mxPsyo>QUVG3SoHEB_`)j@A^sy2^CA(1QRl(Uk zO*>5OuX#4unGzL%E;NVq9gR}^2l%_($gI#M7k>Cju}k(Jy3m1}yVY7Q5lu{A{@zXP z4}UIXyr_EkJ1uc_^=o2(fEjOEQ~*m{UR~{x{oz)A;$Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M7Zi4PLi` z000AxNklF>BjU5XTkaK|_X0`2x0VgTZ8Q^971HIclLpjUG5@rxL4yWKP!L zT0$jFHwT3C2|~LDj64)$hnhHBh7R>tXx2`3?_`I{$$L_uOMhweHv4|QcYb&8{r{5m zA1+nb6XQ!2O-&@0*3_JuO(OD@TuKVuBbSsyUei=fOG>el24E3dVwv(ifLziZN;8)T zC@y2RCO)f7wZU*1!jo9vcOs%D05bdgdkz7t$p^eQ`_4QCAE-LVbHL{Ap*Xu`1lmOK zf#V$ncFP1D@PB~O8EvssW*fnfSH!s6J9nyEPMdYY6ArK(_QG?AihLS|V{V3V_e<4r znAHixZl71fa&XxK%b#3y!?5?6Tjk}1)**m3M2JbYy*r~iXuP@>H~U5 z{eMXPUHn|A#dc_s7Jm3n>yXrcU_ldp|68SD5mCqR_0Pjd{lS8mF3L83j#5mgKW6F= zu%MedCBPKd)9DeZKirDXbQx2Wd=%$V|8D#yNsY8y=f>wrRwq}!ARgHRbEf{5XkrR8 z^%usmL#X~&;Mtzw~#g zf9YQ8?}c8V1Ls|L_t(Ijop$l4udcZMSBB_3s8x@H{d+5zzR#HUeGLESV*dL z>4E}GT}a$Y0phTAYn#nq_RqKV4u|i4L}3kaJnn^K*fOah?3k1aW{lE-0H{%NVNMZ| znLs~diZ?Gj&jrp+?Ps9Gu4pr6ViRoI{K8D`NusNfwjLv|T4@dtt?}P6l9Om`y!}ij zFC|Ll7c_MxdSvP0k@Zrun}DQFM*M07V%%MESN_xcEnqwiD=O{2m}i#uK~9J z007QOL_t(I%iWSO4udcZMRS9w7a&sh-hlJK0xK+)dO@>vVIi*4r3(sS>OztZw8UZT z)Ye>vBU_5S99&r=ppFN+woxOH?fJbJ z(U43yh5-*WwZN6#r5M=X)^7n5X?O!8cEE&ay8`0{OM#iA#|s#;+6oL2R$$V^l((Pq a@dR2!s#u!H{S9sa0000`kw7OxC=doyb138{C|JHXWJ_Y;+03G`&b}&EKs431p?Y_?EvWO z@(PraS~(DsW(hz*fHX^gBpT-cl+|bqLja(Lf3!94bAIN4@IS!toRFXozi29ud@p}U}yaV9G0tAIC=GI<0XC0_-d}w*V+O;8g}d9%mJrMjF7>=(rj_ zq_F~HT?6z0FcPVWJ;n`hmdwV z_qZJNpcU{M5DTnGd*tN;21+^PUkU^0A0o;FUVYFT5(Kn=H6h;a72dDHAZK}CQCKR)M0)r@q`*~v`CLFGqiPa; zy0<_pzuZK;`o)-<$Opi+%?o`4XI;fw7A@>YR$u`F7ie?!U=I;`P>YydDAViv;vi%a zi8$(@kb-evpf5*>q5 wl5Zs57JH%r1u2NU5%iS-Kh3r$wutBb1A=m>t_bOGX8-^I07*qoM6N<$g07QQD*ylh delta 752 zcmV8q~@sJRw55K%fLM4DZN{K@$n5bId z8UM2b)b9ak8o)gW%qexrI|Sk!GDrZoG;$dM%N-y;pa0kbHb;ps4gyurN@M_+Hpgto z0s>G)AA#QZ^dR8Ie*m+*;sKnKpy0A38di2;b?tX$nl4d@&lnZ13dt= zL}a1>akSVp!(=@+o@$AL3>H=a52OVcny`RU8aT(O13CKmfA7^uo6tFK)EYlMH{0#0 zub~NMfR0i=2tn9Iz+5btCbnw&)c`=`0T{p>8ZCPX*$5;UD`N_!xDOVvM<2`a6&Ya? z_9<6{xRU%_8+Z}F4mIX!8(vuhN`l8`zrB4u@=yjKp4(Uk2>d0a-A+6%)gH70UISu) z4QWr(_YgE7fBu?lK>g%?>ZVpky)i*R858_{A@zP$UP9X{OA9D@*514Al}aTS1L|yY z=t(G93$VyhpmhZJcMMpk0kKE|tJGG(XF@*^5pb2PU!(=~)Z4 z5xy@F2y~snRpLCA@C*qNb|ep^)Weo?J=rZ2Y8PVCF&)^1DgdQ0*+{%C=0pPuQm~Rn i&{qun(q+%0B>w?|a;UCA`3EZi0000KSceHXO(2CJQ~GdjMSO@{ zz#y<71W&YhRTWYhqGBX{hNtC!A&xWpY!A(M0<4150b)aeh;z6IE~@h6Cn!UqC{S_p zRfUE`lR>auSS5k*mJlzDcwsg6;K5KMrBfvJ)-#8C>HsMlEO|R9&N2yt&G^I_!3=}p^1++G1onN|-vX+= zAl6fkGX6adoW%jEEDkosVe5X3!`A&6hn@Q|4w?J#v-=+-zq#KQCFN-V0000O{2nH44mR?o> z0087kL_t(I%k7dq3d1lAg?$4ZMi4^@@nH(-QpjMa#vCrIX%5i~1Pn2h64gKXtEbW_ zLp{jxLwt_)o)E`bLw1JtI{`Mq=>V~zK*Tv*1s7F$@*9+)P=6GtXna+nA<<+IY#+Xo zK-eV26C++&jRSZv)JW+TNrUywv7S3X$`;EWinC0DVEIBcPNP=yzjBADh)6H*_T8Pb z5_x&e`SAqb0(u4a1Rf?$TxaCzt5EP;JrHd{cIjdHu?ABSVafwMS3 wmBqoPIPBezaU8=15XZT=${m+$;V7L>fR<)#xXNk~z=s4^ zD8iKi92V&VLs#npWW`c$xI_@Zh6|EK3gfyI!3B8&_H6P30gN=M{0x~{l9EVD$_Ef2 zg|{)l`Du1$c6a7)%X(V>Vo_=zG84+BI6#o&8TX~!PaMx?Q-2;vvDd*27Wdd*7sn+a z_PQv6K(G>!^5ganZ{`3}lJiTu1@{p z+7{(qz!#5jpQx+h$8<8bI)Eo$zlWcZTX-U^>s^N64Sz=rff$@f+1R24f+58dPPMB8 zxKrI2F$v2$TIv;TnBk6BG3EgPiAq)btg0Q(X#nA?P^mDx>E^)2Pd#aquha^!MwoRR zcw*EOWWxD#W!B9)3^JWgO^6Tzus&LsnOdwXbv!#cfe1w5Nc44ycBQgKT`73?;K7q4 z>Wc~N(0^a5FiezU_S(S=TMHdM1XS|L_$XY4I!;s_0^zeMbe?fB_#JZa96JreWvb)F zR*q2D!F_>mk=WF7(@JiJzyUIFz=QS2)=?640QSvC(r$EQ+<&mQ?lS@te%ZVq?e!N;{%Jj}|7`so zfpOsWRsv%`Q3;H_`r)4njAv5raIg^=a>D&)G|p^(wGkNf6VrDZJAgcx)dB;$5v8mV zFFBbb;8*$qn+ahZ;HnfDwH|Bq3GxvDUzY*{nrdlbTYz&40_2_150cAQmBQHC!imgq z4}X~KgMPTUYm5s6s2XtfoxF&yMOcrj14@WKBa2WxSFyWy@eV7mfP1&`+A4` z0f9`fbkn|;5BVcZ(@bgIdOglMgx8-l3MGveyBq}P!(zl7s2I%UY+FD$wR{*BRKTIo z#0ZErQKPy-cN42cW}?0sx0o3wMZAn18Tw zPx1SmZwT9{Hhc+_A$wor#a*#Xz-ha{10oo7rafcqZTZ|vJV_t{M b|Nr$TV56tsA0Ogk00000NkvXXu0mjfz*aa4 delta 1206 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 Hu0mjfmMuyK delta 714 zcmV;*0yX`-2CoK?B#}W-e*gz`Nliru=LQD|2@jfVyW;==0+LBYK~zY`)s??)6G0Hh zvv~r~U}M=rkeOUu(ZJ;e?$}7Q7iq1O2+0qSf(M|9Xib9>s?a5GK|zP|4)iFG5HoYT zw||@{sac)Qce}s+=9}5Q^^O_sJl;(66i{tT>@suyj$0DEU)OIQe*w6zZBvM15ktpq z8Pst0zFXIa777z!n9`fXw^++95eOL|0=Cs4*6u}sm>>bx?(2917%dQ48wfMDzCmWo z(70uvh`~0D7g<0nrW>DdRq6Ovb>r@Dg`y@{TQ=Vo}pezmIE#NrhkQJgGML?`M=7Z@eM>_)81RyTl zM|RU`<`)ZKvT(<%?%N#l7}120o#3Q(-%q;)Fc!ck1+FJu7GsuT$QgAi!1B3+1km}{ zC?UYw^-VU`e-MMt*YThcV5-AQ2N9t8rQ{I^0caw?%5^CQq3o(~Ff#74d7N4^7K*pi-_2%WR2Z9UI15Zpq=zO)g w4L~GNzc6F9Q_8uy>j6kH)csTcs{cv*2dehiN5$4>uK)l507*qoM6N<$f-Vh8jQ{`u diff --git a/graphics/pokemon/mawile/mega/front.png b/graphics/pokemon/mawile/mega/front.png index ee50483e18d3a5e18a7db8993f4bbcb5cfc5a412..5ab49d5576d2a89c900e78fd5295594c8061dce8 100644 GIT binary patch delta 830 zcmV-E1Ht^X2f+uBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80~(QuA%9U2 zpi9%COD9bnqOk$AdTcih9g?|#26=EN5AH+tj{BoYnC7!yjMCI_*<(Eyr7CJg}%GSOl$VGM}KT#8VZ zLi^Duj7h=RS3p8D%qe1Htj*wHa(^8G$$QLy*3o6wy)aA;g?E%6&F&@pi596U1^^%? zWImJ;LF!yD0oRw-60sNn0iX(?cR|8+b=v`h1gFbI04_?4tEzg!S$MIq;Y>x!A@HHX zKmpW~ivxgDlcM$|m2;ln~V857& zHa?%J^BO$_`e?lgxS~F1sz6|{S!Y#DLu9Tkt%GukfTWke0+5f)#hez>YUgkgZ;%L$ zCnL04M)^#;0&C2r3<2CN#(#E!Bb=k)4Yo2|ji}FS4@_<}`ZEx)-UM__Rq>2~)G~kQ z(}Gi;tgGRNDwb3NEZ^Prz#=A-kSPSOUExbmDgfp*_LA}MO93@a5=;0v``H7&nbVrF zsji(O0W2Z^8UT1Qz>@;d%nrhX8V}6p~v7=Dk4hMmIcL7y?|K$jPc}BiM zgV}{RtMaNkBsea!KS=!`<6L)(V z@T6tDZQG_?tG2a+BY)!kNr{gz^VqnOt6x@%p;0>kpUhgfZJk^5`CJS3I&cIJlvt5w zCxON(yxbc2DFHUa0tyeX(=pqw-0ybf%5nry+tO`jt7Z(~t9Da50!GH*tA>Df<2K?n zP$B@cb~^_6?+SKv>tLivzpLqB9T6ahcbsPb4F4hiFM_eZaT9*?oxnM!-~a#s07*qo IM6N<$g25tw?f?J) delta 819 zcmV-31I+xv2eb!}B#}W-6#xfxNliru=LQD|2|CQ*f4~3$0~e8#A%Bq(pi9%COD9bn zqOk$AdTcih9n!gg26=EN5AH+tjyk;XqCcva% z(bX8iWg@s{++2nKLP#VUkTE8dKur$f@IwP=7MU~zG{{7YgM=|4B6BT5SsL2UM#GpC zjQtBpXoWeA*cfXw7=J9TBOrN;@sB#X&bk-+#i8(?^0V24x38*q{$8QVxN46%G_YJ-HY* zii#A)4<5)gzAyCb&zV=bU@qY)Tu^0G~=@kM(b^wKV z8e!8@bK!yeY#IVmlOYTNaIv3ZS{K;gJpc(A0xbhl-*^G5e-OYAIl!Tri8el-smmHY z1p1`k1l&-aGgTna+pM!Hh9NSyminNaA|N?RU;@ZT=4wujwAwjb#4991BKx&yk9>aoDoUE(i zn<`e60<7LFkH8`(laMI{uU+9&P$~fCH1~?}uPXsHEfQ0BKl{EMY@TV&*i_d}kpQNU ze+~dV8Q`*}DSr64fNX->>_cct#%oZnc%e)Mk9EGx^MA0CE3CM~8rS4TCha7L$=%SB z7%ym(YW!+7)_{wltuaiwYQZr+$(N@mnCf;o2;931sPczTCjiVd@)a7)F2qHZSJjZ< z*k*r_`bo;?$LfUO);o+-oT=vb1|Eh)ocWw3?I-@!v?UU*2`m$Ldl~SgWxQ?MrrfBu zwY?+a!+%MMe_`aQaV1wjtrVvxGF4~Rx?StshR^3(oIBIo4k$4refH3A8>jGb8{p>z z*bEaWJTP)?%yw({t6jUY90Am>blcgw83Xvb-Ik7kkvaIfA)wv5tvC;q2*9k}jRF2% x!D{XtjNXo-J6Ofo?Ff5LvwseM5&tLS4{?6;oe*)%*Bk%<002ovPDHLkV1kK$exCpU diff --git a/graphics/pokemon/mawile/mega/icon.png b/graphics/pokemon/mawile/mega/icon.png index e0f228ed181e2acb11cb944117ed3e0d54bd96b8..6fdec15ccffacd880abe564fc9851e9755c4c1d5 100644 GIT binary patch delta 459 zcmV;+0W|){1hoW^bbkS>NklE_b5Qg&xqlr{HmIoF%DlIv3IHy((DL7ED z;NGgLbRfX{O!hVb1+KHL4g{>vNxa!42M*Qn)BH2z`Ts2Y$``ia=r;h0wIFOjhbLZX zz~%hD=nEY=W%xomvdrw{Sp{hF2#h&{4x2kxY%t7;lNvP({Tw z6PxN@U7OdEeoQUVR5{(6P^tuok>51>lNx#i#JH7wI|wL?v12TVTV6ZyX+;<-1ar~f z#v!(O95w#P9%|G6z&yBYU{Lm$b64J^uPC) zlMO$Ia5*ddKLqX&fxCVojhpzZeA0xGFP>ZZVv#u(SE9p z2=;yKIOIcFeG|&5MTbY`@S@G9Q|T7K1=MkfRmm@4kwo>HVm=ZOq3M7?9$_ zpKjWik0c2mK$|~vKE|qNvC2o*#h=6Ks9WRa_ZLS_>pnj>=SKhl002ovPDHLkV1k8f B-<1FW delta 477 zcmV<30V4jj1jhuBbbkN`bV*G`2j>O{2ns6tMLcH!00F8=L_t(I%e_)DZrm^s)DIRE zkah`f>4Jn?H)&EUuwgYWQnd6o(nG<7jjs5oXN(K_h@BUQq3u(Lay znWFfYFI@u1cmaUf64C|GixX`)5K4Mk?S&qLc63I1^h6ZY8-ELgD;aPuE-Twx(&R*1 z74z4jWVBdy)PIM^5WL TV|A{600000NkvXXu0mjf8yef7 diff --git a/graphics/pokemon/medicham/back.png b/graphics/pokemon/medicham/back.png index 636fc0483504eec2e2683353f247c474b122d3b9..afe746eb69793bc41f89338226f5c833b5f101ad 100644 GIT binary patch delta 649 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 ag#H7)K}BAH5TAzt0000CmA=jFd_ggkCL#b}E+) z-9*o|OLKEu2NANwE(aYP9K`cpY1sC%sJt z!VJYbw@~mZEX<4k8ye_kihv-~o&^UUNlFiAIVAbm18#v^m#I>r)X1_5Hw^*{`OQ8B*|=@MEKH50S6XdgYi}D60+d2pZ?)N1 z7L~Fg-AWP|=>X8vAvz&xy<)!J$3Dt>s7_L41F#E_GO00~f65}iTRUq2@H+z_`GM>O zO~m8z31RI|?ZdBisTa5)tUNhBp}h6X-Uk--AV(}YLFnc@@H}H^Rw-lqsc$EC)ZAam zFH3RKWI0+jQ4fg1{CvHyQ?p#n6Jy{7|U6xTIUNb$CUj9V&nvOAj= z)3GHyiiH$5f6zZSfl@2esnl{QD;=aspetw>oEtzbcV?6_P@3Hd=42DI9Q0jy?`(PR zGP&+yvt$KxGVZ*8E{?n9N%CB`_0v162Qj&ECQhb9a+Pk&{RSj_2$JA+Hd@Un9mkf} z1?PLD>^M2ED@8AN?4y0poQ~8V*iO6MU9lr89J%h%f1x>LN9^I@)q(Z7-7eUU-3$dT zk9XB&>#*S1_CYAn*j3fb^SvqCcAR=>lT>y2nFL8Vk0*tvXTEvpE#&#mifQ(JFTs0Pd z8hf0KZ#P0eBWZt$F#yN&@U$>#k^|ZB!vZwuOrjo-05JHu4kRaR$VNt@)B&*Vuk}bk z+`I!II{=3f$K3~}nAaYq diff --git a/graphics/pokemon/medicham/mega/icon.png b/graphics/pokemon/medicham/mega/icon.png index d59b3a03706b891b652a88be78dec8cfd51c7f20..acb021da48938a8dde419d8c8ee2e92855722b7b 100644 GIT binary patch delta 355 zcmV-p0i6Eb1Gxi`Uw;8aNklIaAvA$EqY9T^zl zAz#5|$O&cyu)?XD17r4A)QiO^9)BF4(1fREe^L4cJ>$g>ufc-s- zWgPbtK)BO-8 z4}>wLEE$FI23cXeLC1t~U=+p~^nb#zsW8X=_y+6cn=8FlGoSzf002ovPDHLkV1kYn BqRs#S delta 392 zcmV;30eAkn1Kk6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M7-ZEaUZi z0003%NklAN)Y;GyvF z=A7lSdQ$6)jxr(kjq#tCv@f*=DX7Bqqhf;<=-crZ?o2LnHYp%EA-$bkuhESMnZ mH!wbMV7#E?fkF9aAK&Zcn=4#Pbmss7002ovPDHLkU;%<+)20Og diff --git a/graphics/pokemon/meditite/icon.png b/graphics/pokemon/meditite/icon.png index d685fd5b8c291a3992b7e8a1cdbf745dc7339784..5dfeab7d78285be9e78bdd143f240ef97b0334f4 100644 GIT binary patch delta 220 zcmV<203-k00<;2O=S@!9S`FYr>AgIr0ft;||foOuUL#MV_21M{mKsjO8-hC|h znE-ydYNeJCQ^U1Wo(FoaD@6pti`28_c^J=P)MY8qFv@OL*i|I1-R`eSa+F3+LER2~ z8$>_jVTjrP;$jh*lo9?l{--dpEKDNTW`!AhFG&}My=60^9O{2oVsKe=bh| z006&9L_t(I%jJ?W4#F@DMRS9wy+GA;frW^8r*~s&B}9Z+V9L&AI0sWBdx;Rju+@pg z0RV4#`rmTCzEWR5Iu-!?{LL;08al@k5OiR~7EKPoSs}n2=zX;{Z_6|TM^96bTI zs5ZiL2TOG&fJeA+JzE}!@ytqGmOKt4?`DNgY})PqDkMj4_~ezmovn-ym4EhkwRvb+hhFc@j!v%*AN771zol;sPVV|FRsX%hzk0000< KMNUMnLSTX*7HMe! diff --git a/graphics/pokemon/meganium/back.png b/graphics/pokemon/meganium/back.png index f05c199e5d6a80387b7d8b9c8585f9a1fa355b1e..0dd1d82188f4fcf78fab5f93157c62306abedcf0 100644 GIT binary patch delta 608 zcmV-m0-ycC1;_=EBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0wGC6K~zY` zwUR$;+dvq`4?#en$@v7bylAbCf-;4|33&`fChpSFpCCpVMJ$u6LZ>dBI*Str9y%Bc ze-Q*YVQb>pluiLr`5Ja6m-Yk3 z4j`ri*tpY6Q{>DrRDEB6$JVs|PP3qwsc4{eZ!N57F*7x%DlQh3Zu>2C9Bo`tEP@cU z{Llj&=plSx_~FWPUICg5J)nQ>hpW}c-i#IS7&cn1C6kI7BOON28=DY6ypiU!(F2ZV z0K}~i#99JeiXp*l6Yc~M+)4QxxT6`2px<`B_u@+#8w|3cAWeUN0KVTw(v;!~1xY%6 zzKZXqJ#1Rx+Y|8R9B33vfE&-pf$J@aUi*3=0q=f|1E0RVR{%uPkH8xT7Np-{OU^Y0 zc*IkzDQ!uX@jMy@2pK;o2#Ll37=fZOU`bWJ3?MWPL~jMWn?C?^^xuK|0ieB2e+XE% zzV(~C=EEyIj1k0$DSI(BV9xR*K#%gnk2aiFI1JD6vui0000C0whU9K~zY`wUs|>+dvq` z4?{qp$@v7bylAbCf;yGL33&`fChpSFpCCpVMJ$txLZ&R8I*Str9y%Bae-Q_{n`)K>(9L&E8sq8wBAT26+MO;w4gOMAzpAL^=F|w9L@oVS|5mw z1UM8!g3%`22*AIQfAY6*MssLEyY77Vrzd4>G01`iY3c*;?K+gY6h|mX(&_7m=vJD; zq7}Y70T1UuqeudrXfY0a+>x+%C432Z_iG&Z^88)_5J}&CcN|!feuW)5*BIauS23nE zC0Rv_a1U(q%wZKLJ@U)v#4IEjn(`E`)6FO(X>v!ciut79})a?WDTIvpMvhes@FHXs8$IoT}D;78PJ02GVyBp~iq pb%f3afwbvCC_7K6mAuBs{x@@pby{w{b?X2C002ovPDHLkV1ldK5taY| diff --git a/graphics/pokemon/melmetal/back.png b/graphics/pokemon/melmetal/back.png index dc6954175c4cbc5ef5c8843e91d1adf5fc5181ab..26889e2d1dec88e6954e31827184c5218b3b675d 100644 GIT binary patch delta 390 zcmV;10eSxB1MmZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ZBKTe2SniX%w9GBV$1($ z|93X1m;SL5`YC;`><^v6atXeD5%l!GPhEJd#0{0qrU- zqLl#$+G-cgsC)@l_cY3X83`W%Jx}Be2CQBtVn)IV{gNeSPziGa&%_J{^g6RrMnyHY zDxHS42#{)Q)cyRd zV!F}N`svc!LfCA&ZI*#)+q?s|H$8!W5(HKL_FVv^rIvw58&`+{OA)DCe(XSY*T!fB kVAm%dV9XKl(%+C$Kkq3Q5R1gZR@J!5LK&>+)Wz7N9%=E(DAsklg#PWC3zb+Mkj! zfTeGbZT%}AQymr02gEs(9(yk*`Uj$0rC*Q;xt$6ve*X|7BSywY5jER zZ6Rzn+cwLD7bo99#&Xp3)~rXi0-+b#zR6%^+}dP*b2vJ>hCV>Rk57`psJ4BI=z6Q2OK#4eW-L z{eO+{1+0jC?=%2o?^guuhyIu1H_|w$1E?yH2W$$t;v=8Z@1+p7b7R!IruIw+^ML!Y zc;{6CeEVF8`1q#Tuj^YI7_NE%l&+;h>;mwd76>stCUtrS9E$h8PZ_a6#Gmz@4eA%b zW<1e=vA#oEVb~}3Z3WmI+>a+?A-aq`41aCMhV!<_fk!EOtj`g^nwSU;8l+_t%d$zU znFX8xRlDq=MU;T*HM4*m?8VTJ->{c`n5KImT2_<=^WG7Vm2dyqTWg06l}?vOn!c=wu&&t%axRM zs_v2kZ{UcTzh%lG;tMbfFC?n6xZ+DSima}0(J2}u1u#RUe=zjw_LikcDW}^szUL%iyfM?@ez;uZu@#Y|lfPlk8 zQ7C@02?HJ~XWM7N?*R#WM5xiGmxdcjmAtG4gaiPC3DS&YX{H+owT&;GKz|H?7 zn4ANC%6n4EU{8Hm1u*y!OwAv;Db)zCdh{F+o7@0d&;6Bm)9oI;h+?Mpqg9(3eI4D%0_d zF*YcJq3L_@lF}d@&uIA$)DlBAz1hC`RCYfAMuo%gIe)ZjLikyr$T?sB_hlG=1KKcs UDP*LassI2007*qoM6N<$f>C(E!~g&Q delta 961 zcmV;y13vt$2&4#*B#}W-e*gz`Nliru=LQD|6gjH8LS_H}1BXdOK~zY`<<+ro+eQ=z zU{Ut>X4h{PRIJxptJjQpe93BlQCvnfEmpRTn|2U1+SUzJ z5?ut}0nkV5q!|qR3KYdYX)rQb^- z8uqQIe?zUA4(9>)WAWCl0{HevA>!lP=Af=GZD=^^22i?|e+sb+z_r^T#Ppcd=^1b+ z-gzEnqyZxSWMFSluK+gVi3W@fY|;*b0cm`$0GosR@nkGSkFkeA!*0NSTjao{ls(q_ z2w+W2ga%F0ZV=0AkajBzI00(xvWFH?0!F`;1>|5ahI;&(y&OO{-2>6K!Ym*M-^4J* zl)p({K|^*Rf8!(|2VYN95#!+kPF{67cgelL;(0(0=#D9|0y6ojL+(I;h>wv zk~5k7@p4Qb?^_{s@V>g=&LX`kXQPC6bD$$&9@kjV8*+s3l~l~45P+T|kAQ&Z z<6J;@i6n97Ad7&2!$VOR{A3XZ+*HoC&w@Wr7BL^s564CDPJ!hTDAk1sVUEXz`og3D z#u@Ooe@dWmwpvXB7yqwdasl``uSqHWJ$0}OV0a!(%^$caRSU1W^a2o@+=xu6I<$8N z>}3JaXccHYiOtZXyil*CYdS!kGg1vW3%z39s9cAo#pW~vQ#^YXmg)ey>Rpln0WTd? zt{c&H1`qmD1fVh<&lqFFG8mbj3oj`R((#OzH?KfVF;d-|t(#9}?;J2H9G>U=)~XKS j!*l;Sm5YA-Ka76>+Aw`7aFnAt00000NkvXXu0mjflY_!K diff --git a/graphics/pokemon/melmetal/icon.png b/graphics/pokemon/melmetal/icon.png index 10cc39db430ac928eb94f1f68adcef74442ae9ee..fa70c6b6b50788a61f19a2f3720cf7536ad3ec47 100644 GIT binary patch delta 21 ccmdnWGK*zG0vBVFx4R2N2dk{d#?}pt07ZxfWB>pF delta 48 zcmbQmvXx~*f+}Z$M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?B$CxlSzEd1KZFMgSv; B3_Jh; diff --git a/graphics/pokemon/meloetta/anim_front.png b/graphics/pokemon/meloetta/anim_front.png index 511566d9d0ec07851e2583b5b75710aacbb152e1..59587eedba70199bf9018a64a4a2c25499887f13 100644 GIT binary patch delta 849 zcmV-X1FrnJ2crj&Uw;EGNklljA6oAii-H9P~A}YpQGBMdnpi0yM$7blp zK0`n?0I>6p8z0rk%yJX;*i>ayA8kiNJ!$rO>VPNfmu?fcn%|kMGd6;5&jx>Xr-_c zcZ4KbqI7=`-XJ1#=ySjoTj_-mc$u>~z{I7HSP`?C`hUnd`ru6_m_8oMf=+Js#9YPZ79D4d&g3fWR2eC-- zfs*OLW-meK;!+Q+-V~eNH+ld-7XfbcU{j`Dtn-(80K*?W#ZnLSSVZq(p$FDJ7znn0 zqe=$}?pc{0KnDE3m+66iO|*ne4@e-J{;}xZ1zh5`nCXEfFDRYNfRwUDmgNw43r61h bI?(t7)k-TkiJ8zZ00000NkvXXu0mjf4L_4X delta 871 zcmV-t1DO1y2e}83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M87#I_puE z0009VNklKX21O6u{4N-HE|=A}YpQGBG)Spi0yM$7bl(f!G6M8y_f3t14%t zd;kNi07B24`Xyi4m;H195AVakoZpMUP%yLZ0#BV;`u44V)` zH*XXPaXk%SQg0<-H1$By2&1H>0SZPdO;a`DmaH^s#p#|3sDxW@g!mR8EA#aE;KPL& zGSyCv^4mdQh#^%dj zUM80&MF4{a06qOujyp##4VL$5mgF}xN8+Seu3~wV3GraIASZkVhrErYz`21%{aD+*-U(-6k^2J90O)>7e2#L0Kj>&3_KEIyyH??Q^q)Q zEzR#?Fv-(W0Gnj&64^rIMP1~>Fpww3_OX*b7bm$e^hgAIIK+~ypL!-N05^u=)!K!P z)#ecrw13_kA_I83j{>Lj-^&AFss>1|YVjTp?B1OX01W**Gl0Yl2LiGHIPdBnZJ7q! z(-9EkaNYdYW331ORS)1b)#!nk4~-tcEG!W*l^!$zsEbCV)PtQfATiJ+PQM#;qR2EWsN}rU#q71nr9pJ+OLHtasn*0RSBY zxM0_VO`dj+b$S5JAI)N+2eK`C8a=SuU?4=R2MO+3nI1p{{NKy;KvvV!>46f+x_`_% xtAK0V7K6pDy5h%rJ4o3|J6J6k>*n~+;}6wJD>x0ttj+)c002ovPDHLkV1fxge(C@K diff --git a/graphics/pokemon/meloetta/back.png b/graphics/pokemon/meloetta/back.png index 63dde56e2ea0fd4cfabbdbfbeae8ad3789bd5cf2..dababcd31eb3fc6fa45f351af18caddcf3d6223c 100644 GIT binary patch delta 607 zcmV-l0-*i91;+)DBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0w765K~zY` z< zow7zEga$XFNR1sz2Bk0Ng=9``+4?@ibOh5a_-wtbs123b(N8 z~WBzsqu;jDYiWc>T+tvV5xq6p;vjz7Ia2FrZ3=K#;wf z0tz!!Ji8v&A;3nUxVk=tKqC{3RwpeIADZJp^Etwupnv~SE0obS_5bcl~Wc1QDYjdbxz@n7NO5N zvKmS>MUAl}4*>{&8!PMZP7vb4+U5zaoybD~YqUA#lFS0@A2kpLKxhS^^0zlKSfddL z)^N_ugB73!Lgm6hiuF_lIHeGHqfj^G2FbN}!~$X_a+vA?T>gXRDL002ovPDHLkV1kl#6KMbd delta 599 zcmV-d0;v7R1-%83B#}W-e*gz`Nliru=LQD|7YaT{aI*ja0w765K~zY`<(09D+dvS8 zWft{Tv>0-o*195{bh{_RRhG0>syo8UxHMunPavyJ8AzAPK2ltf#z!6?kml-;hsumZ z2zW>M0Zy=Bn9uY7quCh+!K-|tOTe4?1>h#RkmyEW3YJU)N+kdDfA~*mRF#-}CMJMz z)5}UMtP&*|XRF?Q&|uC?_A4866ur#OyB0tf=i`o3#(3*g&Tn< zFFKnux8piSmrCCqK6yPzVi#$x3#(FIZx27u0WOw~15n#M;l=jw>paB_{)>Pvz=7Ky zzjzwF*kN4P8s6pUf9q%8WwDD#K#1h{?!~XNc+e6=6aqhvKER+r9ZQKo`gRJ?n4uEs z)p1P$d<3-6S0@T+6aqP%^7%V)SzMEkRlu15+5rHecnbJu;_i7(bi1%FA5D~#z)(jW zMU=t-G&vHgCKC*Rl|u@h&!+$fM6IHV8XRd10Bx=_#wj3de{5rn$r#*dNnPvE8IWl5 z8e?%rz9HE{;)9d<>{sk(YvA>OP7HI$g002ovPDHLkV1kuU4PO8N diff --git a/graphics/pokemon/meloetta/pirouette/back.png b/graphics/pokemon/meloetta/pirouette/back.png index d48d1aa74348540e0a6ede2ac90d4c63c87adafd..7cf58872b832ed4cad6d7e01bbc9362f52b5ce13 100644 GIT binary patch delta 698 zcmV;r0!96k2B8L!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(wbAK~zY` zy_L;s+dveB$A-FDTDC*Ln^==^+-2J-bS--xKp1AEWhiLyTAjeT3p73s~?9!%*lyL_5VSLn|x^;RgQOgWK0_Fb9b)Z^G zt@RQeAWCOUjGX?7QaULdAWH`z*s_e^dhb!p~M2>=361{Rpp?3dI)#n=VNIKDJF zZBm^E=E>aGX^cyu>>N_Q3!nrXEO055wE#J1M`hq+Vjqaa63iR909l#cz%pd`rL)&1 z;9!jTl1+$IlmVQ7G`^seqKgSJtpHwp5JtmWot@E91u(GnAkT9}s?-(*!0P~70K+xE zey9Z42FTa^Q`i7J=J}V~tR4vRpU2m48-d}k;nn;4kO+MBt}4f9KLIzN&zgYz?k0a( z39v2jtr{Rtz>jrhy+~=c;(HBXJq(anFLlu(cx(V{i(#IB-;+8~W`PG%PYgtG|C=<3 zdi1!dPW&Dr{|>agou5_?(C6FNsy7gxkE0^f+XF0tSNWU3^F7Zz|GNO=oSQ1=f>Li< zIPIRSHoo;ZE;6NEJUvB)?d33g(4)SEH?MiNfApxixzGgc1zvGBw*Wqmtyw*A2wgi@ g!(Z!v79oEX0I1;cbccQq2LJ#707*qoM6N<$f__pw6#xJL delta 686 zcmV;f0#W^;29pMmB#}W-e*gz`Nliru=LQD|7$%Dc0G|K=0(MD6K~zY`&6PoG+b|Tz zmBP9nRsUOYxW$-cl~-yz$v zm+eVzM(4()i@yMce*s>!C=`&8V+1;$ zDk-3b0h(m?wO%3s$uaMC>MDCQlX6i2ei$G1r*58}NQ_khAc68|<|s`QSU>{I1Lj!RmpaR&(o3)&qBwMbJuIJ@8WZC|GEui6 zjRh&^P^6HDg1Z1(f55!bdV)kQW_;k7G!n{aELKp=5jafTE^Jz+aJGV6h&rIO!aQJ{ ztqd?o+h*f9vBo(Q(=@5KvA!^Us0;uBr~^y%Y4%HMpknL-WW2aAKCM%o$7V8j z<79zLp==*gzKNj*94v7ul$8KEXNPs*eP#zDvjhu9wTWAsf8D?|6!@jHmo?yEjQ+BF z6S=4Z*y-Y&Qi>|Z#Iyl;_D+}>-ss|#jv9c_=Hs#~RpXi36BWRH0Ih)GhF@(P0d^0R z8~!0_0q)B3(@o(A;_}DQ)$3MZ_;Yyq)^8GlFTthqw`qXukEd-w`T4qh-UzS<;A=BL z{s7-M#J`kge=ELu0IOkua!dRr;=2~WmKc`ht@oOx%mQ2gMNC5x-~MX*GoS%IYRi+T zN65beo#4?=8xGLt57%lCiXg&Pk?HLKmcXa{RUAY?VCMfZz&Ph7%ekO5m{v;Dok5sk zPQ;XU@$^&~7Px!Rqfxcml^?cy^r(5ciV4^UeB@h*BnjX=c4mHH0A1Txm;68R8>ry% UbSU*^IRF3v07*qoM6N<$f>7Q@1ONa4 diff --git a/graphics/pokemon/meloetta/pirouette/front.png b/graphics/pokemon/meloetta/pirouette/front.png index a0034732495895afd6f4c9dfe4f6c785ebebdf4b..a3b532860bd632eae9ff136063f5d1f6c6594429 100644 GIT binary patch delta 609 zcmV-n0-pWW1+@i`Uw;BXNkl#$o=~JgBxfN( z$4P4g6-r@Wdy$fDsp#)cAT1IU5lt-d0D(t1@c?uYUGfIkv3BUZ>p;UumRI`!_CK>< z1Mq*t@mj<{e~h;PjDmx$0P=Rg!I;G@I=DD!1q6i1JR$No7JopBGZqOc<=lb@d4Yqz z5SmF%#DNqH2ShsvF*gxMLWVdPYlo~tj1FB)Du~yGJDLgs1 z0RBLId^AUuzqJ72bEV$Tbqrv)z6ztD=_?eqk(T$ z0NAIMQr{J~0`9QdsD)M67R&1g*LH)h2c-P+#6CYH34hSG9ujgtaawe^Lx50xSPg@~ z1h~3^P@kbbHZ=AU7d>#e6JUfkAg&u74H2n9cRUu8!zmErT1ps=dWoOt{39?KP^asY zL^q;{_Q=?fAcg>u=<-f6@;$e)VJ=d{TGkPBw{dISTE<_C`bWd&wF)aCD9d0+HhZSS z@Nuv$w_1M)ZYY!TPPy2YYr?dZX(IqSif>8|PT-q$fZMBE>#NvVEcXDg-RuE6n{_(? v8{V$pZFx4k6rcBG=MAK8k~Xr zsAm8uK^7PR@XUY(F^x?L+AuZ(423{l#_}@_z}YE{80WmwAdFwYc*K}wQWbH)8HF*H z3XD}M;x6MMjAv3IYY?Tv0Fp+bWGQE73WaQuB%@X#&3G5ERid@x?5c zCe!4lA_+8qFn^B%86qz-##7Zv9I_#dGG3(x&ra2V568_O(xP0bfTLG0BdJiPEL8*O zoCTccd6Bb1U5A#KGEG$k+S$wa&saD1)-{IU4(xB`*C)d1lO zA+9PJL)UiU^R+MD2&@M-+wb?qavNzITLMe*<9ewDCVyY9CGd5rzg-` zgIb#|=;rd_rCwm*B3yrds$U=C1QF8=2|YitOc(qPMwq~(cHRW)3E&~(Q;=l?wR_!eh6JE>ON%`_>H@9(T(>_GcH1g!96?>_LL_G^L0|P_nf{eL9ioL|s*OmPVBO?ccZol9L9iWhSiEBhjaDG}zd16s2 zgS(GQfSyn2+B^)IMe(pdSV<4Nst3gv9NU@|l`Z_W&Z0zU$lgJ9> z8wB`-xF*eMZf-8#yLa#Z|Nr+cas2j8^J>yW2bucFl@n5cY8aEe-CYk^R8do$or#u6Z3Q{cb205ft}wy_3#5=L<)I zdRkBN)g83FyYGyivyqdIx8>tCTih0{_$=x%Q$5_c{7YVu+<_ZiB&r$ z9TWL5H!Y^;-yS~J#oDs7t)AR`%?CQ@MC539l6<7O9D-}bbq|!o#2${x?Dce Q6X*j5Pgg&ebxsLQ09Q_rS^xk5 delta 294 zcmV+>0oneZ1K|RY7!(Kt0000?P=%ZT001*kOjJbx005DLFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2pJc{!ZG9k006W}L_t(Y z$L*9s3PdpoLq!GMnfsr1;-B4smJhRR+nph3(^rwZ{=UGy)|DHpKs5u423naJqoy4y zq9uV*@RTzri+^&T9iReBGu6QX(DZbAs1Ac5x*Rt2NCE5gm>nJkU39rB^R+HgwZ|dM zt8~q?7}u--inramp@9yAr^YslJzC3XGmqhv)iy|7I4}Me{~sv!IGXMqf5?OX;_<~F sa=?E<`-p#;x~=&4|8RJ^um6V+C~^$uxi{PI00000Ne4wvM6N<$f)cBFrT_o{ diff --git a/graphics/pokemon/meltan/back.png b/graphics/pokemon/meltan/back.png index df882107694ad853f6646dbf1dc1e37869466937..d2785c36daf35b0155f64a5fada8311bd7c8bc01 100644 GIT binary patch delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?US);!!QtrHQCUqXG5|kDmZf@$eVP^;y9q8lhdK0(7kzs)=y9{@z^QNTrlxmXq|WI z>10EQPnk3177Ok>eZLMYu641c6M1{4?PIk19Gtr z6M+oo#5o9qA%?}!;d#n0LL)c_F4)B(I(0N@1h zWdmeyv@+<4bHEay&jWszr54bq&wMn%)IKxnMle7WhEuzd5eN8xM}Wx~bHJFk<8c|u zv9Lhm1m=nylrioC)}dV)X%kw3(zNKF5S&A5ZT?PtM1Q|$0b5JhSNFS=bC}W(`DXh$ zt62bly*#h}u>bYJgjhY{@BwQ(+vO=26Q>UZ?8>#}Hpf&p%-YSRL& mp{RdfT1ELIu61!2CB#2@`lV+MiOV_w000010ERPo6X6 z77Ok>eZK_4j&rR`EftH~p0=yRO8TR|aWR&1W*^52rJV8-Hx^WZf0VqV>0=0s1A$N} z3c)&D>@Ptm9fEZrfPE0L&Ebj=d=U7xIAYvj?CXWafq)MqTJVlo8%E?}9XbLT^ony3 zFl&wzFb)?p-p!meZ9;S$I%5!d**3xD1owy-Kt@m5_C*8Wi^KxF835o6@I(V-uXJTF zaQc8Xz>o*LEK3Zaf6kA&(ZJjsGweptKo|sbb0ZTD@cschW5fYdx*eCxNRE{OVk@we zcHO1_`BKCmv#0mMmau4P|wIOgM)w^^orlAB&m=@ag4w z^^5(_cP2#oh{GqW!{V4HTuhuk5pXQN*nUCtSoMzEps0&|D+}xy;HIi}Ex;P~_0Myw fD88@%gG;PGdHSVi%Uf~f00000NkvXXu0mjfCH}=k diff --git a/graphics/pokemon/meltan/front.png b/graphics/pokemon/meltan/front.png index 528bb4794cb16604c69a98ef688ca87c407a01b2..97ebff0de7e4f6aef7168e5e3b56e5159223bb1a 100644 GIT binary patch delta 446 zcmV;v0YUzs1g8X$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f0$FK~zY` z?b0!8!ax)U@Wa7?Q%@nzNx;tW#9e4Vf>3a2QgA*HdTpt6wVy!Tx)r3I1+N*4L*gh7 z$w5DXAEEZ;>iAweb*ld*!~K%~-Mg@3{%tttKdx6q=bZBs8U#X!vwqJfKhO|mI=vy; z@SQflBpcje1cCt2;6}24;tAooL_-)its_7nTu;K&6Cv6GZ$_R}6264*(l$7gDabZ= zQP8b7Z!R7sbfJI+C74*?afyH{0JoD_30e^bMgW}I)E=jWfoga-MMK0s2AuMkcDEuv z#Wu;V+&WAW2G#X(FbX5zHn?a50JtnahRcduIH(Fy_hFrCm_HwXei)*mru!@~07*qoM6N<$g5TW4`Tzg` delta 440 zcmV;p0Z0C)1fK+uB#}W-e*gz`Nliru=LQD|8Z=6X6IB2J0fI?HK~zY`?bI=A!ax)U z@Zey;sizR35}l)y8anl+ z8C2K9!8iy#li;8Ue;Vk+@*;g$Q40rE&g-6DrxF$~#~+4BsL4J=1`r8$x*gQ%L diff --git a/graphics/pokemon/meltan/icon.png b/graphics/pokemon/meltan/icon.png index 5069fab47a127009a2fd0814122e96e8df30a548..17fb4f96bd70fcb9643529582e56e64d273f2d46 100644 GIT binary patch delta 20 bcmX@kw1#Oy0vBVFx4R2N2dk{d#MVOqK{^I? delta 47 zcmZ3(bew5If+}Z$M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?B$FYN^chY+}|S02-SN ADF6Tf diff --git a/graphics/pokemon/meowstic/anim_front.png b/graphics/pokemon/meowstic/anim_front.png index b44643574001caf27e1faa6f1ba94185f0ca6d5c..e4d9b1e43d1e4a86cf9c40005f0512bcd4a96281 100644 GIT binary patch delta 1185 zcmV;S1YY}z3h)V#Uw;I9Nkl^dlqoo{y2yXpeGK_-nKr*VrBw@#(&$7xn5X+uIW+2C#?;@ zEA-t~BF|ia&KrrIn)%cPj4?crNj}#4-m`%_qIZKNj*`6S1O`HiC?OZ%<2$+#A{J3O z7WNbvs7nAs$a1`hTmXI=ibx2Kut?1DW)c8^Bz35@1AxR_L;$KfbVL9k0L&3V-$KP6 zN5Z4I!dL}BI)4PP$IaN0*0+&zjpLM6IusQEm3rQEI(1BQ8Y*mPPN_H5$J#oUe*F>S z`sWXnV%wsHFps7G+b5*C{&q4Mk! zyEKkXPt+ITzRGmQi`DwgE92ONQ93{Pn#J|vC5Yp{4IognUZ1r~^}S%=M{AYqy)J1w z#RYNvoqrAF4RFufK=04vzbv3w0ZNrbv9^I#1TNe_jn01>SU_>N0=V=`oCdQx{Q3rS ztH&7wfsAcH;lLyMw5iN%XnY%sn`O|`wn2%{H*{-1-F2}%;h8CqcT|_ zaa{p<;%xxsydr*KK&GytEwFm&c!Jq8z?S;&AAjef+h1Ne@)ESOeeFp7Rn!K^YA``P zY6FwZl&B_cAecNDvj`5C?UV#(OGBcVJnZavxyT$x0$2hQ8_uQVcUA;Q zkbkbzzPv_r#}#0YLxSpyIEn#eTf4Ih(7OARQvfjl2sR)cfLE>!2)QFPz&;z0E&(qH z#VMvxcL@MEVt=8jtM-Cn6~bR=>Z*Taw6OsVhc7w?`0|PrC2Wz+o~1_ZbLGJk6#q?yxz;3yJWA{NnQK)h=0AF2)m60k?g z^x9uI3`kFMTPF1fUSJ<=1L6%%(e+gVk;Y$G2E^;(L`72GV3$aaV$*>1hga~MLL#5y zrLz4+PaLaxEJ99)$X)h9o!1xQl*dP^u@BbWsHiW7sG9VK*ZIcLvs9RHk(X@k^?&iT zBk8JIH-84KMSAP*-?#$+wu|z(?i+)#vJY0SHuhj+AM8048+QQvaJCpY?0vB@7*6}( z6)FF3LpcL3``}&9(EU;S1z&eg``|Ue%)j(H+yVFPC+!1(@uo1H_Mrv1?L!N2+Xu|@ z^%`*72Xy||Pq~K`@O1AFZk_=U{2H0@f93fHZo>en6`(w400000NkvXXu0mjfe*;P! delta 1210 zcmV;r1V#Js35g1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8P$P`jj! z000DRNkl6+B+C)d? zF0=tNTJFgxogqFrCa?u~+l#^=O0!m=C!`1>umLXp2G>G_A}D6U41s~FAV3IN%r=1y zphtZX2*DmUk$;&^@=E|AQRO3A05Y)@0Rd&@TRadT2w0K_yeBKRlJSG3qP3C$nOkd0 zuMH9J17)weZi&7q2~e@)EEWq(mRc?l$4OCMQ{c!_$@mtHX{3PH>+Y!KvE_Egwh<|KHKpHtufU+JD?--DA`&?pR|Iu=J z`DcJ<>fgVtFJ1rf&XO0ep6!(-^>;xX0As*-)wB-GlctGsUI)DSV$8-{aC2Xhnh9>= zn}6oc6*Uv7X<%%dD;r>Vp^|ukAIN6HUUBa4S$>yu+D4(gi3u!z;36fzeRx1 zX}?Rfhd8kc5GqBWkw`DmCP19>pdZQ>0phVnO7NgBECQq>c`SqaojyoDm;%JU1`VF(bXLlqTBxu#tLISrcvq}#tEy(uK+Q@m8BzUYXNT86^sbcoa@AJkQKEq}(m zK2=&i7-yq`uIN+O#A|-fH

      Tk-y_X*p?~4pLP(^DG@a&h zwsbH!fpw?(B%?taprABG2h0_>ETP60x$ip2Db)~BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+2~WK~zY` z)s(@C+CUh`X9?6jHr3Merh@bqowzCWWE}7TWXeh}J?x6;MbYiZdMT8o^8z0F29g{D z3eIEfxu+g_>O1tCMB_~2TK3ov1oi*R|NqTQzCq8am;ca9-Q#!8`PU*)gO7B%=6AmE{Q0L4#3oeqscXi9YQZaUa z&vJk(G{Sv+%mIdf27GXT{yGP2AKX9r2xF-xge|tU&vY5@;Fo=-%a#OYXPRgUd;(ai zfM~@rI@5$??B@a4)^{ovdV=Bit~J1ob%PtL_R_X-=i4&=bnlz>+&${#f{D9wlv z2t@pZK^U%oeR*$;?GwNqr2(vME$@Zk z1n>gPM{;Zi0Ni#b1>n7(7{FK!c|b@lPhied10gm5cvg}+%x zTmWG1wT-+6V2};|271sp+K>Uq$=~=G>+6&WQ=`;Vw%6AbFk%rUHtd z0!Ax45t%S6QuIVHnj#ykgF&PKMw5Oj&fWi82>k`49Qxp3t;|3G0000B#}W-e*gz`Nliru=LQE3Cm)DW-WdP@0+C5XK~zY`)s(T0+CUJ7 z_hczt83&@&I7ld+Vc{Hw3bPUqfHpdmCdGjeG$6PvI+{q4oqYj{ya6($C6L(1xH?se zRC$NY+F-nEAJLT=2?={X|1+~YGYCDyUjD;h=$`*`&c9}XD*U9%e>LZn(%THMs7z6z zjL^_)g1^7cNGvQ*wGfNk}pLZL=5yxxrhIH4*qf_WVteX_5xp=BTkmc|6M)>gl2WKfzA0md1BEC53f z#9^MZB(Ev`f9T1r!6#y$w?)A@-gpx5Mfik35NtfTHzsxtFrd_j+BR}8_&LA}5Fg92 z83J(Eoo0adUL*ixHR3)YRh__`#{xp^0B|jhz#|BJn%mJG09I8wLz&t5G`Il3+$#rp z1O8z$_&dl!J!nG)I8Xl0!&t3TMwkTW)iCHqui3f8Ka)TZ_rf6ho(Yx)QvMh)TFH$V vrxKD@lrNhi8LN}PHU$_>`YAhi|FiuCqa6C+8QdTA00000NkvXXu0mjf#_K)U diff --git a/graphics/pokemon/rampardos/icon.png b/graphics/pokemon/rampardos/icon.png index 2a58834a607f92c48eef920db6a546f98116a3f9..3e1c9e66353e8cf81a3cb461c0e7486c5f08ccde 100644 GIT binary patch delta 353 zcmV-n0iOQf1GfW^Uw;8YNklnhz;0ie46n?FzkSO0>O-!lZ6JF#2{a4CJZ)2w_@1$^K^lIoHT zjaP`~PD#u*>{=q&D4&H1diQQzSA+qrd&8~I!hq7|Bp-Yc#vNZir4&V&VA?HlEW$vT zB(uMTiMCh5&>vx-7AE?!7AE=uD`9@N|JRQ%kL=diGCtyq00000NkvXXu0mjffXAjI delta 394 zcmV;50d@Yj1K$IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#A7J~#6u z0003(NklPtA4FFP;T7R6WXWyMOSP%!ARgN6D zc93bHEH2X?@RF z%#ab5KQqS0NSq)ySYfYY4AHICPRIl*%WEk_mm(EdyBxP|UX`nfwC*#2@Px&%^)lg} zuUF}Y0su|bKYuGIfh)h@Gs0`llBuO>VhRQ2MbEhOG8x8?% zluyDe`tWL8lZ64TTf?nS!hq7|A|HGf#+`TXQi?3hV(L9{%)-DjNM^qa6KpSpp&!CP oDNOKVElltOR>FKu|E(V%kL=diyyeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y{}WK~zY` z)zm$Y(=ZqZ@F1lNQ**vs$kgNuT;g_tC8rdn&>LgNI zT%sz#dN5$$Ma?Ck8uVHbI#(#D0QUS#Yh;4gS=|9+-|PNf8~gYUv<|FC_+o1;!X^+` z9WJ2o{pBZP9}~!s>X5=>QM|l8%rsyF$KhE^CP64uiGQxmBL8jm6ZhSC0 zR2lg^%+KkMk@k1$kO~X{2u!Cgz1zLH(Icpg2^0YE)!j32e*CTR;)5g6F- zw5?V^MZmnm`=||n5*_^fd=fYUEVT-xU;y!RkQqY`_ABkMBLG2V#DW4A?njoma6-(Jwwe-=EpiUWjCP+$<{2R!N zg~IAVml22wL`r>r$bVFVq7A-}fAO~b`X2?uHBB@idg$OSI~8?#`{W3C`opsR0FM@K@6fiwr#q}kc0-}ci z&TU*@0;xc!5#j8bge9PUaMc>v;CWVcpfvE?KiAeiz5&!h^oX8ptwlHtlCr}kO}iHj4@{ z1G;)1h{ySOQDsP(0D6zqm~=SjHxCwYDe91EaEC!sY?6*3f5B=zYJf6=0Q()f<%NdFA<#UfGppqux_ z0xBh*@5?_GAa8=N!ymG(y#7Z)f6Y?_R1XYZic>L{x66)z|6%+Bl&5I}iPiH+00000 LNkvXXu0mjf&Ul4 zQPMFkKPFJc2;qDQwXP_C+7CKHNU!AsFBQctN&r>z<#*~DD^@oVad16f;%(y{s@_}& zjN}7K(|o6Io_>k~*2xFd{V!o>s65~z(Vc^nbr!MRyzuIK^|R%Lcja}KFR_|f zJ4u7>e<(j^`4X{r{yAX#FHj|7Bv--=aq zPZmG{24HRWe-(h3TaaS`tW*)M>Q)AD02*GsJwdQ2NnDYskSO7(R!)fcf zohlxVc*0Ycb3jFZTOJGB_^AXm8pkuBmX)a@moY}Le4x4H?6%4IZxK7M^)ineOs>5O z04{N<$y1NK>VRmmx}H^=UxyQPnUrxhz7oY`X`~n_wPX~%ee`48&x;h83YCV{sJH#0&q76 zY&ev3uLr?@`$5cQzpk!KA^2bhsI*u`y4`^kiI|w*`~HbyQ4_wXu>?5wSqg}W3V=$} zp)jT<)z>=OAan>R1~b5>Yc7o?ke0cvBbU$?Xtso?!_GQ!X{kn=+@#a5rRvyrC2%{G zz<2%$eGNTm-rBQPtFj|Ku$>%>3G9ne3b;)<6!jT@P@`v%-aZzvyVTJbfEp1Nq3%?| z*xEB&;>xB(z}`{$9i=6U2-l)hmyY3uczEYhN}Z1qxc^8?JFY`*@Gg&k<}lU~6HRUj zX*=fEwAY8Jg>Fc|qcF1_$gb^b1ljwP35W@hB#}W-e*gz`Nliru=LQE3CnzxNdlmoy1M5jdK~zY`ot4jP<3<$6 z6_9AzQ*CEia`cGwkefZqVW9_SB~^CqLz+ZUl=!%)OPtGshgs#+!xjuZEkuaPX=#3J z*YZ(yA>%_2ZdsD~qxwd+Vt1>g&;f(d`{?_=?`h_ZqWqt=Qu^xge|Q;HA0;X}#?{9J z>KGwhETJ|OMf+Yy2D|h>IJ=5^r1YQ2qKUWTY5S+SWUL zxP>HH=Iwwf5ZYP>+9~0t~;6H;h3j9 zb9oP_XwzrW4t^#9jV8$)F!C~0

      Bu9r1DYKn8gR0XJz6nnn_G1DwNxEDo&+W%349wI)7Q|0 z_QaXDe_E9t>4WXGE2eNR#u?zX<)&!N0fU}GdZ#PkbgAPT01P5*LcN)Uxw&g~#HB-t zfU~3WTS_Z75uQzFE?v`)@aWc~l)4`zaQA^$nx0D?@Gi$ca~azcQ%xQTX*=Opv_F7d z3*C@_PniU4McdZMp&Zxzz1<)D&vEfe}y-W_?2Qc2PU>WStq;~ z?ryRu8);t-;Ef~x5u8{UH&ko3VO)&;I2#U{+tB=o-@phh;iW6Z!afDO> g9R8nxYAwnC4ez%08C>0xAOHXW07*qoM6N<$f+QvWLjV8( diff --git a/graphics/pokemon/rapidash/galarian/icon.png b/graphics/pokemon/rapidash/galarian/icon.png index e9816e59eae8c142f101d7ea552818045faa7fc1..abd13ec131621c825d364bab43292f0a3938240d 100644 GIT binary patch delta 36 qcmdnbyoPx~2?wK+r;B5VMeoLb1xA6=Nz*nn0D-5gpUXO@geCyb-U~Yb delta 55 zcmZ3(yq|eOi8KRyiKnkC`*SvSK6R~okEE;^7#Nj2T^vI!PH(JHU=$F%|MCO_5O})! KxvXud9;IO*2yT_wTc z{(R2CwqPIi-zq*a{%@eXUr%lr@l)96X`_nrPW`jY_8m@lucelvQ8@Z^mf!bNuTr64 zBqS9MakL7w1jzD^vs{&bERs?$Kr+~Hx{=Dyw-RTmRq6?FfY#;Om!-u2i$wR+{uUZF zniZ%v;PdPO)l?3^-?Qzj(-wi{LW>GDD*8wgsJ+AB9k3)ZT2g`|An=x*h|Puse1v4A z2(i+>D*rtKLLX~!aDWf-H;}Yz1eOMUoh98bbePObhi<|Y$!ryWqM)zzw|sg~MhgfP z2&Cg+vNdBKI=qcTZxuSQK%@f+HI6x;L{AE$4nxdSmS?L)v4vaehn>&jnSj{!uv>2- zC}V6W0}0gBUA5jGv_O=>Ekmu-%N}?q07mc**eg^nR^UtK0bD45^Mco1T;>4W3ooz> zNI*+~>89V|PP-6)ErrDAjNN$)0GmGsz{_(0TDyilhQRY^fdiy~PQuOLC8tF^0w%W} zw;nxWjzE2IP&sWDhL{ITsf**O^oJS&m|N{u=^2pp0A_48KRPS`yMaOGJ$%Y^dH;ab zXv5W9UO;#v05}&f0rUWPvKwjz@Hx!mqF-gi`U(a@BHe%>xJ8o(e-+`Q7-N3`bzF$s TTA5~u00000NkvXXu0mjfTM7$2 delta 572 zcmV-C0>k~S1)>FzB#}W-e*gz`Nliru=LQE3Cob8K-Xj120tHD#K~zY`?Ub>Oqc9ML zfnw2ifk-}WM~K8-O3o6}zD*30>(w?udkxU7(wKSM8;^~{;;`LzJ4%AXeE#S6*boFi z@m&!eg5+zUyq*tc7$yflpQMc_$}8oMJX>cHx_d4qXN|zo(~TaveM6Z{OMG|KtCjo{*hq{a^Xr=Onbh{1Fh@OVde!z{IB)BfzCc=v)NU zKbi!ThGQT|oJo+-DGd>S8V5M;`^4OddQJW82_RY~Tb~9=mQgYWSm)E#@q#_kg!?&N z(Um1K#^`k4<(Lp$-K5m_XzCO=JMuqu0vL_qakpNDhi~&e*D(gMco7!UZ8(00oFZl@|13 zyGn1U5ko7ukf1@XBV6fe?(Ela1(Xl>CZq)%hF^4Z5kPUqW)BF(qG4}e>uFoG1+H$W2F-upq}_a=^sUXx;# zKx7k;n5$|4;yS-9;(EDCUZ}MJaN4AWdIy|;V;^&}q;nxvWD*Ezr5;-FNbrs=&3i7m z#90-&ZnQ23fUDzoj4fEUAiOCJ;J-v*Jp@R3k{MvZ7%sSf#uhN5d{m*Dofs3fyo_~( zei7?(*P<7CHS6_(7=MZd9v?54^nUiKu$q#C<9B9DEVJy-Z{z3Aq1pD{wl1DO z3Dwv~Z8t_K%wPsj`aR}VUgi8txGkactdSh&FTo!YQBhH`mjD0&07*qoM6N<$g4I}9 AGXMYp delta 714 zcmV;*0yX`$2CoK?B#}W-e*gz`Nliru=LQE3Com&`<3Ioa0+LBYK~zY`?Uk`^+b|G@ zWi47GD+$_8DwWz6Iw=gaw~)JaXkd1)+^QY}FQirt;c3+(aqXH12!eR-BXsM#^hir` zY#A9lug^l|{$fAj>EOOLuIBac#l z2zZe-@*+B>K0-qS%l;7QCo$eqH#q_Xi)gD;FG>;w4=gB4Lb< z_f?J#-s(1{u1n+W2LjrF^B$OS%Z{Op-`s8DRr#(31oVVm-e@4Zd;fa{6=Ppbqa0D* z^cJ=F3Hj|WE}#xHe_(2K8rkX&FA)%uL&-U3Y}xifKx<)x5Dh>Hh(Hl%^m4mOr_T{W zBe;;DK&}H^>3M4H=dcCjj}O|U0c?hwwS5wO5oJ?u9udH}MZN2js5=0ky?=lfpfqmx zA_u>#66?>mK&9Iq`|UD1ph1UwqbmcX);?h6jojSpB9%JVe+Di&076wiZgQn#LU$HB zz*g8ouJy|7dF=Z809v#$*&d2G-PYa%c8-A-B%`hdBHz?5cPFY2L!#CsTSgEV2P9@? z(F0+XUT0yoSVphPwFa=;q=9M&Oun;EDOu2&kY%792x+A1OK^yH#TNQK6I^1ivQ*Vd z=e7!y1lFPn6F@;NgxCI{npVNxuT%=|dBP>2)~i0ZcMJ)N!U1 zx#%3e9p=YVD`c)J(nhETfCRKq_`5kZsv1-2DfrJ^$!n)@if1ov+!p`kuj^R+1Hm5>QD+U~jQ{`u07*qoM6N<$g3Jp*y8r+H diff --git a/graphics/pokemon/raticate/alolan/icon.png b/graphics/pokemon/raticate/alolan/icon.png index f0154de8f48152fea5f989e7eab4535cf057c779..4acd9d0404dbb87aa4a89cfc6ee291dabfa6739b 100644 GIT binary patch delta 420 zcmV;V0bBmH1NsAyBv%J?Nliru;|mWJIUDV}#|8iZ02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00ACJL_t(|oYj)CZp0uAhVuppbw8fr#Bkg3ELA1OM%4}3%ER2F zRqAM5A;E_0Bo16MRqE2RApiU}*nGqArxzY#6_3IzBAXO;fsEnJNr*$$+8_;SwJ4{w zKIy1YEcBAj=HsNzpu!@Qn|(`n%Fn1Qf37KC?n>5;e6|Sb?Ciz5tWm1Yf+h0Q9md+5 zBWN{dhpWJXUmsGQtbJ!8mi1Z{rZPnbko~v{6au8FLY%hlkgrG;Dz*Oeryncyn6tcp zjOPxC#{JYvISf|qGyd=TDKPXPEWijJ9hgQ?14b+z7@1-RCOJvjfDxoRFjBPxLem@@ zFk6iVOqS1^fe8Q&hXoj>fq@Z$fr%Hk#L&i(BQa97kA?Xlpxt->hL3OB2h=RUttjaL O00004~M`?UOJ22xF&uwhHlV&BfTHxOH6w12_zaHs)$Uy~pCPg{t7T zhvWxi-l`DtcCGYto`WSyZrTKRPjN03=6yP@SHwaEeg5?6rb4(01kT;o%Y?vmpIXj` zU?s%=SU&{@;s8v;S7QLv3F^Q!%K)aOIDm;(+ym2)8o;!!1DNjEf!TX>U{d>e3oxFj z$ z6Y@_z=^7S@dJ-}VZaCr~T6OEvW`bwOah#WBe`~3)VDR1t>|@v~;Gzg0O$0_=v@Sw; zj48xgA9c?eNlJ*HpSAYNEMVO0>s9ZYOyRO;a`^gm#3mJ)9)DZx-f^v}9votQIS5dE zw#Z`*KGvA3dy8!|1W?`p?cOXlA>%MEeJEm!wHY8Uja+6#mjmRnjTx0p7a&g8Cs&3o z>wh?zPS9^>#+}&?%{jjXcis0<|Bv;9Ffy?ujOdYs5rdL2>P1pS7>XbX6Q6PwMv5e1 zl9wV(1gkKy#y?bb7Q0y(S{{#f!64TLVWJL-K5TvJXJMo<{9 delta 360 zcmV-u0hj)q1HJ>0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#AUz2tV| z0003YNkl zO-hrLR$^p;OwqGr+0M(dzjeeO42bA4hA;}rMd2?^09v$46@NZFh7@9@&Z_5(Vv3Jn zpOr$P7cd^x?WT@RCSZ9pS$KUqLz9Y3j~%#oSgVQ$3sASG2n1gZ@K{R>HKyv`K-UZ& zlwW`jZw4BlaT=FC1hIiy4>B)x9A*TYOPPl@W>hk@k~ob|w)9W<+k%)bvfu8Eo!&0Z zTHJy=m;KZ8gJCdnV@a5(M-nC)l!Os4xD$qOCrtRtRhU>L36s2x!UV7i6KYJAGvH=n zX!$%kc!O-`g$X(c`Y`pSpM{ByF>9`*jAk!>u#}9y<;N!*=Ha}(JP`B%0000pLQRaFnvTeS?Q-B+G!5HYFkc=l*C+8UrqMsD0G9W8m%k(g+4pX;qs5^PU3}KpfE_ z0_N+F9B?L$a0qd4dbJL9owqLRqnv12TN*Qb0;CnNMUkVi?3C1OXm)ulWg7{Nl`1tj zOQ++@O+b?9OCV@}d|cNg`lyu;%a=J3Lu@?*qfAd5G=4qLuTdlPQmTk@digm52bf>Y zS|06ladP-+5)$s_myab)KN|_?Xb>%YnlINX4|d8}0raKCiwWcR<@qV!Q)j|7W1-u!cB{0D2Pupr`6b#9^C(e+{^L0^N3q-flD4 zjtDg|cItW}zpvp;L?*;R!*7%DKzcY{h8Pz28{h(wVxU8Ik*6(yx`9UqeDv=Dz*CD6 z=xH$tsFCX)xX26L2O8(e>qe0i0LaOKry~a&Wr!c_3BEJO9hnhU#-cS za7d1U(ArW&@IMVlYl{rH)v5P6#{&Z|Uzb5poI&iIG6k?dB`^WlD!TyKPv0cqZIN&a z@zD;din^7fOZ!+WT8Xaa6nmij0k>*$HnZrfO`0;aK9+6)e@xNTItN$jb$+=EsIrX; zq#SRzTEviZNwIvG3vte)XJ8EKF)7FE)BL=&Z^~W7aC-SU0tc9%ZEcT^wfJ!OX$mAf z%s<|mIsspSp3Wf`exI+mMurGj0z!x|!CyBSLNnII3xi6^S41U62N%?0000JNXF! diff --git a/graphics/pokemon/rattata/alolan/front.png b/graphics/pokemon/rattata/alolan/front.png index 08a74455b17f0e1548915f94fd5d3c368ce4e890..865c09c2205276c82f535a9dac2d2c4d22c54581 100644 GIT binary patch delta 470 zcmV;{0V)2q1iu83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hmcdK~zY` z?US)i!!QtrV?}Hk8aD&#=8G3Lx5v_MxCYd{s51k+KnHjSCMZj?p-i@T3Dk+G55+l! z0mbf$g!&JOlK<1)`OhUe>YpnAbqk0qe`V!ifaOsj2XAo@u^wDQp68$;Rw7*%075Qd z5Cd)jKwsYIL3Bt0;Ob6)tBB8_1MUw3!bk#!iVeaY#I*(kikDo4fzt;q=#&gX05c#S zYxjbR0DaL1CIIruIa}_V1%cd=lm}!#EjC0BqaQ%?9>B}h8iaGre%wBQYPCjmcKi(l zj&ZWib{~Zq`p8NM1%ZVzMtcj#As`3&N`AKvtPkvV0B4p0hyba7bFd(w0xrp8y`Z*D zyP4LOkUh{_yRB+fR@>T&%J`^yz%JP)nX}H0+=d=`aP2Y*`mJq!2N~R|Apy;7M&4u| z@>%ICAazF*EWrH7d-P30hmcdK~zY`?Ub=j!!Qtr zV?}Hk8m9y5=8G3LH^K8R%IKzv7$EKsvfXQwn^r!vm>|mP6T6@kpRF`stN*{>6El;7K~i!S3v5H zMujs;Kl2#`qM1cfKXJCA+?tt+0JFNTKq5wR&!s^mAa*R0M4>^l983(TZ8zHaJOX6z zt+z0lbWVoO_OwwQ=RPA#q}}(dnW8#$)1@jsUiW`gU*}_LC<7|bi2wiq07*qoM6N<$ Ef+eER>i_@% diff --git a/graphics/pokemon/rattata/alolan/icon.png b/graphics/pokemon/rattata/alolan/icon.png index c75ce409dbda103204681bdf73a7ec041761b828..b13e1e9bb949831a00fdca3ca756bc14cd5b1f55 100644 GIT binary patch delta 362 zcmV-w0hRvz0>A^1Bv%J?Nliru;|mWJIWn&aUupmV02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL0087kL_t(|oZXT!jsqbKMY)0X)1(_8A-BpE=rV`dlToD$Sdl^p zVP*#mR9kEjg^s6hTbO6eN1rg=iD$5cEtM6xV8|1ch!5g|EUi}p<3ezum0&py0Kh4f zTm>(HeLp<{&)fkL@K4+(*P#yC+R~%-e@u*cV+DpD!X;HJ%9Q8j<)HzSDciFQPfpgx zbpZF(4_l&~9@E;=bpn*lm!3ZgLz?>)Mp(%%Ooo2UE{rU!C7Uok*o7h2z#)vZriU;M zRAJh0AHp<&sxS%;VLCsGFp)dci!jBHNtpXO3RC>>|L4aWOhlB8Y<|z-000002uVdw IM6N<$g7dzOd;kCd delta 296 zcmV+@0oVS(1N;JzB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3C;|1x z|Fr-B0N+VOK~y-)-O@c0!XOZaVQ#SV+1O=|;H|s@ojHsrqq39TaVB&i$t3($78Z_l zd51s(k1;Z=>d=Kl+$EFU++Pp?tGcv-BYcTXw&a-^^(B*YmJn96KDA}`izZ|U%a~B@7?@ozQ zd=AGJuS1|@{&ai@hGYPvEIpWndNCUqo!E3>+OUBkSHccPWdKvc0jAvc4yFJ)z|^pV uX?$cbfg9-=O!hH=9(l|?nC!!U&&L}~M3jxP14D@b0000zY?mBZq;5 jr7&h6fejVrhkkqj5U!_T`G@=K00000NkvXXu0mjfca2l8 delta 219 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 bE$|<=2+sH01%S-}015yANkvXXu0mjfzQa6h diff --git a/graphics/pokemon/rayquaza/back.png b/graphics/pokemon/rayquaza/back.png index 5e86178c3e2e387b932a9306872858ef8379257e..bae5c56e1f1ff4efe1d5aa7360adc5a52f98a382 100644 GIT binary patch delta 636 zcmV-?0)ze01>^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zjg(7n+b|G@1%U_X2vP&@EP+`S-Lw}F1r|Y2WMRX+LcKQ7CKt%U+Y|{9-6OjmrN~`6 zGo(dQ)T3M&7WwI)e;!m8ue`~YmoO`Y0JB{IV7~?|OCV4!12t63F;r?IZ^Fz}YC@PW zca@sJumRCQYJyY;0@Fx;OlaI22m%rlC@~NiFs%f}^@N%*L2nI&t|!{T5(Ckt?GOa-m~Ym#?L%2Kz(1|mfW*hYjw>8d4J&VNB2u$w!_ zZx8_sA5ctU6@dQ$%qlQ4DfLho2gGSM`%iz~+<$v3V<0!z`}e<2Lf8=UOBl8=@c9x$ z)ZB`%Ch8yVTpqfvZyG!|ehdYV|3yKeVT~SwLTBPn7c|%VAz0Y zAT?oCMUX~fLPJ1UATgl=0t2R%z_R$f9Il1`{97x0f|kl!J2MtRK^wt0f|}cf!|C4RzNBOK%Ye( z*L@0-qTFMQZRC*vypx*J__060CI*~5 zCxMYkseNHOAWl zoP~RU?d=s5VH(!xAxM$EEN*Lx@n3 zV$}rP?Y+eH%R$(}O&)2B7(-ZLx?Mf?@Yu+&LX}csO?Wt#sZTml}`b!>AcexjHAyw044RVb!O}osWKFm z4}B}3xk8F5o`_`N7+W0Y3o#+KQknTWNHS~$?F=jsmpTE&zgB9PYcz=aA5}3u+lb$q zYvJN%s>;_W9)G`?LckA`J+`YU#`QGZ1l0n^51_r$! z-DUcoY{rZ@@DuPqhF^9iC&SZQc`*3KIu*vkyRwo55RdQMS%>IHszda{COTaFNOg#Q c{GASe0C0X4Z4YKYF#rGn07*qoM6N<$g75O{GXMYp delta 525 zcmV+o0`mR41mOgbUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#C={BX0L z0005RNkl_kSdi88gMc)fG6}Y-j*t z+&mo6feHnWzng?yZyzK8NC*_y#xITByVEv-Pj5@)s@<;-A8%sG^x@7RV!7N;h_S@0 z@e31iRkBDp5cK++XzPHi?1MBI%i9k!U>AanKOmbRv5_B_gK&(s#h`%rNIL~MicVFx3@@x}+Zf}LF?PV(8q6GZn zQUYO_;;~z7|BOsXt}>E;rNedjG07(Y%m+exge?68ay_C!;B7WM2*Xj2!{z4k%*f6K za30JSd;4y0rvo&p>jCc;gv-|4pHleHx6d_VRkpUnn}3w;`iCG3mM=-7vR(~4ucQ$4 zY~s@1g!qGmUbJ7ubv>P$4H+2>dW-;$P189a&erFa0-Aveuo(R4&)W~=3TDKSe}V90 zgs^KlTBgj8F&u1iVH~_twd4lz^tzjMNPgrxBtKlH!`Y8qhvdiK>F^V9eidy;X2U!H P0000+i7rtX%bOGqQg)<)=O9|rAVhYh ziG?U)OOYF@xY>uGprY_IaL!zI#|f7y5_|v8|NQ67nI+XaCI4BX|1Z^x=*E{ZLuw=KNzsRh6wL_l7-Kt!J&l|a~n zf4;nQEZ|qZ1)?q*03auo4%qK0i zgFKt1`N%Iv&I0X!1`%m`e$8MFQ_d~0Vz%%aM5bvvW1O=bnjkWBFCuHux_1rwlpS+k za2AWq3^_FhZIaJWkFgG(3}mK@Sm|mY403ifn;vt$-j@K}TV)XX7;etzobmT8o(nVL zIDINfD`RT$40K?Gnys=;UbLb0`3?R}2T-M%UlWlgT8DpsaZwCY#)YoZjE^yZ-;WDi z!!+g-_aJBo^|959o0R2O?pb$D#KNq3I@LGC487OY`Y~$I1lVI1kJJQcgOyHcFo(O5 z^Wx-e>H?9l2B;(P_UzOJ=(xDi21*Cw?V0ZYJ_Sh|2x*9QKdy@S{3PZ@5o7$Y9R!UH zF7oEL9|2I`k^?A05uDhy-eEJ?W1;Bmpa}_csQ!Bi ztajLR_(=nT?KjmyI|ih-2~S1}fIGGiUt~7mqY6;H9gzph0D)M_%rSuXa}$C4_{vZK z*6sjawANvREd=^-j?bF0YK~(-Yi+g;W&ZGYGj@1?q5&rYeMEx&#{ewey=Dl=WdKLH zv9<}HeokV>`X|3YF5Dep(7ZJYZG8zlu>Ok$=yUFrfSu?f(BDni;T~Jaap4r9E|UWM zNemhH;)R5HD7WzRyR{M3NpA-tyxEfvIQ;~;xHsgX6UScfLF40;Roy1pj~e-+S-gJ0n!AGxVRuTK`flA8&sBfAHk-i-!K@V~p6| z6QET97zc>mG@b=4j9p~&_TwFn8^#Xkv4!RBY5)v80q{E$@bPZH06Z5yY<_E4z^`l# z_<=A0fKSZCF;{@)=~@{U9>#d2fJ#wJzK8-00u4C&A?$J6UI4BFN@WA!I#t*KX}~xz zuH&?zv}i;g1HwYae`$ek$7He;f&^s2MPY10@|YcWK~P}<$L@*DHBc*~WumPrqk&Ro zsj(oDx3Y2?upAQ*VW`S-1uO+2ESy)e79$OmmH^A)ljbsDm6vqJZ`#5F%J4V9DMOfh z&1V6}5n(1xu(0V!0mwCVL}4{)9&cYcxQhUU-ixA7DIEwve@1I<6?z%5`zw&sG)e|` z(Q+E7RS=7!t9t^g7g4H#6}5#`K|G40lu$|%C<2SsT=?3+eR&W1l$=nSQ4+FPH91xW zHI$@64@Dky)a9{EVkJm|M3t6iE)w4R1I(&p#){6*bGE3Dy$^d>p&cy0PA)S~9f$Ksa zYdw32NOEVMb)Z7b)S5+8IU%a)tw8E0LW3f}9%(o*=4z#07|dWc5}FM!rzYStZ6I_( zoL-)p03K%#(jeD?IK8wDz{Vg+1I87xZikB`zU+iFf6GDU%@*?t#7E$HxXW5$Wh!f_mRb+ Z`~kwRw+*DoG|K=0002ovPDHLkV1mYWrpN#Q diff --git a/graphics/pokemon/rayquaza/mega/front.png b/graphics/pokemon/rayquaza/mega/front.png index a16317e4fe3e26b7188ef45e88ad8ca97b88ce42..2cb0f614451f61597ca25731c814d3f89fd2c195 100644 GIT binary patch delta 1287 zcmV+i1^D{j3hD}wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1j9*0K~zY` zeUw3H8%Gp|$LfYPKA5ZzaT|P)N3}=e+!Gp8^$xI9(yd&6mk2BG7IQH$!M=?BzDDf8_g#|MEWKy; z0{%+NupcmHSV@S-r~_;Y|At0%_P}PW5fhKi{$VlG7Qn#9VF>^hI6yey_smWfG0@yt zX%Uznc<}J3tKaQ^7OKhtX^-WJVY7O02w`+Y7hv|i1mJ0Ya8^c7cf_P_ToiWR6nh4VUi+Oz#1-bx<%I;!zJP%2lGv zJ}e^1LTZ@<>$|JO4Qhtv4Po7Qc!fCb*NQ18K*?+}P;jY#<5~L97_l1)ap-qH=v`p5 zdBikhj)taXV#R7UrU^yzoXgiB!>^#IN<8uw3t;Nrg@hj6vK&eT6jByh-E8+=Ox1nAYD08)Z#IAeJQ-j*e7{ARL z`y@K%fN!FIH!EubSSitM!We@K=^T3D&r!qyLq}f_zEQIra6V&fdGxaU6RU;i$Ahu} zQj;!-jm>W4b!UsVApphz9E_NQRZ7bSxnn^VXl$z8@+yT}RW32=S8Cx|6#Yr`nVaNW zC-`v{z_m^sWS$)r7jqu!z&~bIr z_X(avyp=3z;U9&60_hRH)@-uI!7z%VW0_jy$1z@yRAxyl7j74SlOCz#4s#m^CK}{v z!r>OjT2=KYJKz5`iSjHnKE|jX!nBhfAfuL-=Kz7M32qMeyR6=15aPph-}Gq|pK5dsMx;DjR^K9|$sopRR%&5o z`t(@>*Z^p}%BkB#}W-e*gz`Nliru=LQE3C=uv!@6iAN1i?u}K~zY`eU?pV8%Gq! z$LfX+KA5ZzNgHyIN3Zij}E;E$CFcqU*dSMA( z8>pfSH;hVks`qsAe^vsl4iq|dLQI4T1v!tCuglRBt3wKekgJ8lR=F&Y6qxM;>XsP< zSBu+aLaN&Wxh*wjn>}E$V%mk`7LiunDi;!9ntz%21A{nW5O^fDd3Ku)1Hp2~a_(|& z*=dSLs0ZAW{&j98=lw?2p+F4?%0ZbyTLg~=a zwXGH6g$>L0f5)+D-9JrS?`w^!DNvzp4hkM~ecK$LBu+~sF8l5Wvk%;B?{mXiU=g(` z*6em`jxeMycw!DJyeejSt5mUA7^)V{j;P$db_lM9m@0AwV13?&eP9i0o0)9JY1-tO zh_ytuwm3)DuiPLZW0VCL<2GzoEDEe|zJK|CTF`HzgD_j7ZMXetq~o?@t?%JdWn1s3j#p5d+Fxt zr{U(9l=#l$YN*to68UW{iWVr(%-XqD|$|2bWooO0)l5`D_Jz6 zKT7|E%0qm<-R7;`GboM^RA!SOC&hYXa*IZ_bfx^8@=(va+-vPpG$zV~!!3`suA7fH zzyE6n6?rZ{$(b2J*wY~(r&kx*mA@&P*1nhY_X7m-M#?X>-W2GNp8|Hh1_e1snhjvCQwL zf56(5+WAVGi=U^B#aWp`2Itx9%(iMx3ywueCFXtYT9^W(08Dd!k0IA0L;|CpM@}z< zsf4;F0MW{9Xg?NX&ZY-amVcuMKoPUDNyyd$C-pH*q*>!D13*c7p_>56V>Sn=nO^&Y zD!Z~zsgQz&NM#!#d9Yoc8UV#0$px1qbAoVU!8>Dv7L7hm#iA(MApzNlB3oX(7fk{i z(N3gAwn>ixg#G?B^4ymJs3F|(x!rT2N&Mr0-4EW6B1Y>o=s1n1Q3Si7vX}mXGdYKl n9{(FJh>*SNUjQ3kAz}Xk?hPj)3JxOm00000NkvXXu0mjfH?&v5 diff --git a/graphics/pokemon/rayquaza/mega/icon.png b/graphics/pokemon/rayquaza/mega/icon.png index 20ed2ab870c19a031189a9c0fb513325c84d9e93..4d578a1d0dc962e016015d6166708a02e05f5c1c 100644 GIT binary patch delta 436 zcmV;l0Zaa=1c?NYUw;9VNkl;e=QpGI!IEl zPLkO5P#6`<)W(fK1H|-Yx_A;5u+njyfGElmhz1re0lh8RX@9_$>(lL-c`!OpH24@z zdp+p^V0)rltT${AC(b#!8fq|#-kCKF0-v;JHX(Aeo!>=g$9Ei?v|K`^cL<-S++W0j z0-VUxn7u}B@c5=6aa;w!3%v)QogogmuK=Rj2f@5Mxc7Zkg@mf-AwYO7oj{L)A|4?^ ziBYQ<3k4ABihs%psEs9o^`RJw0$n)lC0NB!Bn#*JK9x5`5j}P~eWBWyV^eR^x43F% zgiY{wtJO%KewV&o1F1c$>kyNM4&rAWcDhBSLpw|V7aj8SD;;$DrVf|%8#-`P2R~20 z(jiOV&_Snf>Y&p%b;y5{N{8xua~({ebr1&7I#?yibS+Tl%J8)g2uT@!rUR}LW7e1T eRgdNgLd7Q;hnbuZyLA9e-p8UME=^a*~ya*}G(+MmSR3HX7WZK#FI^jsq1`*?OLsl)W;XG=`Wc_n%f=G-__r++GpRj@74YA z#&sQ1uyl|=>#(+TXbykV;oN?ygK592!)N=J4t`Y!aZPT&)Zx^AMF-PWD4vI2|_Zb42u=zX%L17TK_f6{^GnY3j1qKCZ$nEU`4J$K?p6ozN9j`{&3HmQtcV_Gp<;iLj1ylH{G zu%#`5l-96j(%R1Y=r_1bN_WX0%$*sbZ;qRslandHVjjQuYBY22D?J%WT9Fuo=cf&UY+eY=RL?b5tTW3x@w`Q~a2?q(Pe%0OnK-0o;-{HOqPC0GFJ=d{6>( zfQ2o9CS%S?`+vb66hoLjfFJ%m07Jf@PI11o2l(;t1Yn=JO$!2z=bcM|sSsi4c^)+i z0{vmvc%?u6!6>7~!wRu+VJ#c6NsYJHpZ|KbUTvcdD{4B0d+0wesL^_BS#Q>xZFB(U z_k2_k_yqO_*sCo=P=E{Q>~lo_u?>q2%-&>@27Q%O_U{VFNFYvmP1?fM7 z1Xeo@ulToQ{^Uvs%r?LkK<^|l;|B>{3d}bvK1%>gguobyL?{HH2mIk)0b^^B zmk0wXV5~T(d3w!QPC}3SsPMIG@CUFJ5aPa)689lW{6YorL=6tB1UO|(#sJ?&Kx6#{ ze8sze0DqnUbfRL+4f)8uDIGjg8sUu}fS!`*Du9e>&!?xj3@KpY&d1|NTOtS2Sekg2 zMz{AvS~s1uW#BS30*{77n>qU3mke0&L2vDefd`9*4$;6N z`Z@))g)CnaJ9*$3e40NQgai_}HZk`wv;?3P=85hJ;KmdSrs{EJcsCgRMgd;UJc+v0 z9Divt&)Rts*@n37AYj#Apt9J$3&_f-yR1~cvKYPu_I!H`Q0o?5)TTPxhZkSG3Wxf6#GPZ^W*iT$w%pw(1}B zmb0FTMb`!pzxZbr{}8rZ9?FX`U9kA6?0+9Z9!C4F$Su64_9BkECI5h1ci*LMh{*;P zz*YQG^bb)e=3AKMlm^%cP$J6vhb8B-!pu&wP6|Ls+U=JK60DrI! z6rfR2+wBwx6JY6j$%7FR3nTRp*D3K|nHU$QkR46o!Lf{MA#{DW{H z`)Z}k{Dbl^<$03&2jzk)0wnVf(tk%)=1JxsgjcK1>zRKz0%ZO{n7L{SdgdRF0jYlw zma_)P`G;B{?;mP`f`6#Hje>uu1B%`MePI0#;8qn%{-JUgAIkor40NIFABsbpL(xB! zUqCdlJ{A0faa#t4J2U4Wj7pZ%p{Q@@pN?gzCxF=tSs3~?Piy^I0Ox*>%U?=Yv*$Dn zj!A?PsC#GBx3r06QTd0Od7|&AFMh}F&&)ai9mulgOeo{CS~-G4WKw3s1bZuSyK(R!gY zz6?!UJRJ|tD!})!dD?&BCPj(kA+G{&TjEDAd_z&<@@e~f8E6c*q#t#-kQe~``d$Gz z_ah0|ZJ5ytpj_}iM&KBOPQax1RbUe(fU}xWr@GF@<~I?6^Il+^l-2<2VKn6Yi3XI8 zF@j-~w`@J9_OQv105Yz>Mb zj2^%bf9`-GpA)+{-`N8E_;&)(TW*npK;!MnAwXpa#yrm>dO@H+?CKxnr#~p6M1Ni) zHY)68BQl8o`SJ5#ALfUpw_!;PyRe4-+nngF&zAXVet%ke2VnNd-Gaa+SZkmkRvdx= zoI_`uBl<6Gn6F{_87HZe=NZ71pA-ZD)&K^PK>Hk@J6Vwa8^pl!DF&LPDV~@7TQYxq zB?P8x;1VDYF)-yj2`v_wt(Sb70Hz3mF%k(T1fU1}`B4HRbC8!{K`fvzImmf(O=(U- zi~6YWwSTMgXRsu|@La_bj|?S#Ap&?MI)`NfoKPCa0N+ADrTsa4#nnFpPXIEOF=l%F z%Do90ybu!N!goMVN^~Wlj7ZNXC%6qMVB*Qg>qlB52c@wv@GiNy4H;mI7+pdFQ3TGZ zcjLQC$TOgcH)kM@xFt@ud8UkL89)h!3VQoaQGd={Wzs4G&X`fBOIqPwyxA)L(Kx6y`Z24v%Aonf2INQ^wtB# zTH{pdx9)2Mc4xBxs&qvgE&B%zPxV@y>VNT-(ev-C{y}TmtEt#@bpX-3e_HVmtmSZK z%L+56(QDa1FwVklSLDX7i8YU+ZplC3(cN~5!!X&v1h|Uci~b>GV!nl0PDp@_042h_ ze^_uHSD5Ju)=2>fiM)RZ`J=2+uDCDXA(rqn|9}GRw8|;o7l%+8nK;!5DsKpt(2L6kRGObk#_z;x*)d( z*!hRpN7Y=#)ISKXR(BOs|F8$h{DUxa)fBYMKkNfi{~#=94UqE>wLsoK)B*+nP`8YN zf2aeB-TyGKIsiCTg_3`$tm3HbAId-%%Ko9$jb>2v59J>qDwvlA|DfNOfqUVTk@F9F zCCkZB)Hn1``?Ay$!00i`m|yd@R<{B;^Lsq5bTwyA#o(9(i-Ee|jM|1Yu`EjeP}f?u zC*mjFpBiqx133uDrj8C{kHOf=|A!&p2e?VL``W*!901Z}4j7D`6ZyBsKlYFY@#JAS QSO5S307*qoM6N<$f>J`K8UO$Q diff --git a/graphics/pokemon/regice/back.png b/graphics/pokemon/regice/back.png index 23d478cac533e476a50db348a0dec33cc0f28530..85a4a94d46dc0e6591174ad2d9f6ee864572ef33 100644 GIT binary patch delta 525 zcmV+o0`mRs1oi}wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nbT9K~zY` z?bESt+b|FYV50%JAB8k)NCDz%>tOmh5<}T30rVUTFkinvkCdwvw!3v{I0@pX|BgI+ z^S%D-_2cy~`$qFaV0O*$NT``;|45t!+!reCh??QP$N>U|?VW%Oa*g45J0Mpm;ATV( zC^e2Z16JThgi57Ct?@g5f_b|Rh(W;HOC3tf!`m!k6cFc+(B%D8fx*j^g(8OvKhr#X zGLB1{W_GNiu(6}boj699F8>{j3^1avvU^SaBc z5Mal?Y5xR8XaeBTqNm8~V?1G4Ib$rK!{fxOE}t;ECX0YmqQ+?-{THCn-pjm=kp!I5 zen7_R7z(p!4rg3<241KA@v;DELTOyG2m$2w2LYp9x(p6qLkPe~u`w}srm+i=13kee9460F&lab{Zqp3&{(p|W^>T`u~1 z(-S~DMXKPvjsjJpfY`C=J^mUbH9m(DL2>dyfVbVq-qRJlZ@$;RS)0u-v{b{4_y05T P00000NkvXXu0mjfv0C%b delta 518 zcmV+h0{Q*+1nmTnB#}W-e*gz`Nliru=LQE3C>H?|O5^|l0nkZAK~zY`?bNYu<1h>c z;GzYzQ^vJxB?H!)n6UC3ZQ$;*0cCCsM6Z9pDBE=pNp8F4swuF({G`dW4-Y@*e?E_| zf4MiB?*g;0`g=l6MBP1c5^!6nv?r?i+ad=D=yx{)GRQUhZ1P!6xw^4b}^EGQ|fwTY+gfQ z7uDg6acAIl>W-HMNE1q9$RY%g>ka}2yL1^Gz6~J&E5*ggeB7AIEM_y` z-se@IN)!+qHm%2>21$+2zC=(QeGuSnGqCrxg7=?)>;LTh2DDVei~uE@bpQYW07*qo IM6N<$f?N6KVgLXD diff --git a/graphics/pokemon/regice/icon.png b/graphics/pokemon/regice/icon.png index 7aeec93ae876282317899e65fa8880204ce56a19..3f2c787a61c4af61ea7f58a7b4a8518c61f0e597 100644 GIT binary patch delta 312 zcmV-80muHa1C9fbUw;7^Nkl0K@2SilGk{qFKx=d&1?>8fP{1|(#0$T+a#lV*U7uF3Wz_t2R1@MZxor*Ca zM7uv1LoPeiLN417_l`fo3x8r`P^%1tVB``p2VDr7 zF$5y^_^uZt=OXmPV4>NFPzDdjNX(wXTOvG|)B}4-B)WO>`QY0;z2o4vX9j~OvhMM@ zFt9~fC>CTH9IK`N3Ru1Ne^bvO3?yM5eq>=1;oBrk(gChr7A7JfX%!~ufa;FGZHU4I z#H@eI`|B!9Krtv?4WckK=i4V?zFZ{?bCocx5X9bvsh0X@KYjo@81uQC-+sIR0000< KMNUMnLSTZdV2Kp~ delta 347 zcmV-h0i^zp1F-{;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#D1=Bj7o z0003LNkl2+$TAjLeh&%0wR7H6R)FaVgq|Sls-iRtgy2(HY2C0a0(1xHILV&Tyw;c{rV(5v1 zd?JaKu zVZ}eKR}co0FjP-JvM`D8brL4&0M|AP6A@6n2orRm=7GSikHQ4REU)GLbrB{YoVEs0 t7@qR(lQ2K?Mi?<~gb`3ay+iv~Kkhmh^SNOA-va;u002ovPDHLkV1muHk!=6~ diff --git a/graphics/pokemon/regidrago/back.png b/graphics/pokemon/regidrago/back.png index 9db3635c4cb7b0a172ab565feef5984e61cb19d7..9c96ee2fc16dc2e24a11a4919619fda39664c01e 100644 GIT binary patch delta 634 zcmV-=0)_q41>yyeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y{}WK~zY` z-IT9x<3JF`ov^@2CZ^Gh@S`f z0jj+n147?C90NM-&@L~31Je!|4Fc4}Y%~ZDTnj>aTnR!=kWx7ci1>IAV3TEVEeKE( z<3SLR1s8&FR0^avDF?u0ZmFCHSUo(Oa}om8*9XS{^+@J(Z>7HukUo?QfR#$h-e|tk z?=*!c5-3lT9m|&HbdwDPNa7OE69Bj~efp!oeT%pq0Bl?9P!}(Mzj|sus@vn^Me*Yt zkX;LW)BCz$;CBzuBjG#9dQrTXGaxwuPX!_q3}j~}bjWYCj=M(%pqne@T~p1+2C>~e zV=K3>{ILSvFSGeW0&Uwi&8~iG1aKk|Sp~lQ+`yqhBKG*)$k1-Zab@o|A(v)d7k~2u zHZ8Vso$usXZIW4kc4;6+B9KgAjECF^pg!ddFtDZpbL2W;B@)?|EwY3FB;jj^b&m7{ zTM!rAVg@YH0hl96temEmrAtXN?tmK#LpD58i7jvV^dzv?3-@s1!UN=88?;A&2nS&n z@u8cpaepHVG4AsYfK}we*NlPLdU2~J7K=DO0_0;3a_|jRWG-&J3;DtT59##47;tY` zbz@coU`hgSxM@AG@c^d~Z7nDeW3E74RXu=qQ<8Qrt~v{+DX7Ql-H!bgezFRJf73U6 U2Eqcm;Q#;t07*qoM6N<$f(gbIA^-pY delta 621 zcmV-z0+RjW1=9tPB#}W-e*gz`Nliru=LQE3C>sc*2G0Nh0yarRK~zY`<&&?D+dvS; z6SISnOiZKIRcE>`2utEoC6i+Z`T{x0;NZEapywuL=WLvh#5(1EfuN~Go(gU_2F1W=FutW!7 zjwG>inpT!BCCOglmcoz?k5ppI8y*}5_IlwSPF#3^ylaED2Z(SGW)UB{V2%4*S%`6; zcL1y+7rtf;W8AFgcWPojkK-O7A2X1HZySvzIs*a{c*9NW zfsF?^g=lL*ff#cI;;I?|w40K&b8*#KI8H%5R_}H(`A_N((>HqtONu9S00000NkvXX Hu0mjf4Av4h diff --git a/graphics/pokemon/regidrago/front.png b/graphics/pokemon/regidrago/front.png index dd73e21ecaa3403fb77ba7742fdc2caf45faaaa1..59f367fae290257ae1914957e0d126ba8d205af5 100644 GIT binary patch delta 827 zcmV-B1H}B72cZX$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{TfrK~zY` zt(Ct{8$l4pclQZyy$8rC&|%To1=3|VNG{iRij*b|$phfRmRumY+USUAp}hn}y3#4K z(kbEzcmgC|fDRWRQQR|R_77kmXGj!AmYezAeBaFO&7pq@8a^}wE`A+KN=;Ud4mQNFu-W6ruPcV0NXRb z=vV>38vtx{#ppyW0dmO!<+~@xu7XJFF2O;Z^YO_SrL?Ia8h|8!-_&)cn_s+0M;aCi31)zESh8zCouc5R?dQ* zb>F`uwh0*uxFWsG+Js3?c}$+b8Ccr-OYrY#U}Or3@Y7@XZYZ7H4E(^Rt!J#!k; z-=>uF_0e44+WP`XcEnsC4v38dIo#=;IRZp77PAKp(<2Rk<(zcR%G+D$G&|BI4VW!q z0BRiU(<(x}@(k*0UEY=DkXaYfjv?f7bN~P;A?~sa{)drw5g1@Uln0%iIUdTr0HT_&Ea{3NL3AcW!VFOB8sew1UAygr~@rPzEy2j z^G>H%zM08?mfsivpv}mAhDd&$UsqsdCTDVB0NPK#!__B#x00e=v^OKtn#s@tG3LeM z9wJ3iwDT5`vowTVhiHInTc!&{@r^**EJJrpON*@Ah7#Y`O)qxt{<0{TfrK~zY`t(Lz|8$l4p zclQZyy$8rC&~c)%3#7|lkSN!8ij*b|$phfRmRumY+USUAp*?~kUFj5AX%+DVJOL6f zK!*#EDEthW{bR6?ixCPd%gy|5=9{_QZx5kYEE=tjWBwA58X$fFf57km17HSVy%j+I z7649rE5`69084`vV=zD-tr$bTMLj@i&OV!U_=1xF!Ap z^bq52)l#rIfcd@yL@j{_a`wSzNNNcz@NqE6zVe0|kiY*=R~Ao!<|bj#LAA)e<8BHL9tlt)(iCXTDeiBivSDoxdEiSR$4Xye__yO1~|IXR_2)dz2O1; zC1_^`01Z~>Gax}U^&0-%c;I{y5coXx8nkKv)&ypm1D-T2iev(3F#DmBPJ*5Fo2yI0}`V^^mn=!j({QsOW0!#(<2SVl*AYM{vJ9lj+LeXvndQfje-L@ zi%?fzKz^n4gVud!RR}wVkc+_~07S!jC<^%RM_xr>fP+vR#ye9)MtZ(}M_vV_V9A{+ zKw?Dh9!ziqDSp8wu_}b=Vmh0`^9YgItl!nT3jjqFe_0h7IMU}Rh87^+nr+UeaopAK zCZgpX0|2xcxoe1&x8>~&q)fy_^bA1v@*lAEiT74gwX61KL|PLOS|Gu^TJ#}ORaLue z5i!X_@H#{TTyvQY5Y-uhurWjL3X4A0X+w%Lv>iIXHNdjnZgt8EF5hkF-UBr|CZy~{ xF!5g4DH8t3)%`pohKshNc=a7kUh_qO{sIhXV3~n3|GxkL002ovPDHLkV1feJWw-zU diff --git a/graphics/pokemon/regidrago/icon.png b/graphics/pokemon/regidrago/icon.png index e99b151da362461c25de27aa461de363678c9469..3b994684b44181a5581d21f9fabe786770c5d0f8 100644 GIT binary patch delta 371 zcmV-(0gV3b1KtCWbbkR% zfKD7XYnV&#$ate4=qdGgCr@`+egQmyGzC#oG?bBBc>>T`k_M2<00?6oGEgUG#hsB} zPHz}{V+yDD8zSBzl$`S<;0`IvY8+v>0H|_)`PHJ1EeA54?|-*jCm-ez(K8!I|LQ*SgRXL0;xrA0V%kR8+k1UhivvMR% zAf&&Kfmo84$4^6@InN9G?*lWSc_INYFp+^~9|nWuHVPt2l~Jk4vmkLYNQ41?1fUv01SuTC_kZh*T)z$V8NUPaUcaWh9BWi{#hoK6yeH7R=)i delta 386 zcmV-|0e$}71MLHlbbkN`bV*G`2j>O{4k#ZF$->qE00B@*L_t(I%f*sAa>O7EK)HcN z7l7MQxCr;iK|DJ&J`>HBAT=&rpop;c8j>~>I^O69ddB?Sq3I6p7a#*DQxF%!Lm9o* zI{-_XG=NeEz?k!pfwqVkxfok_L@#(X=5)lkAtGH z+;f2Vcs%0DXAy9$HNQck-W2yoTw0et9VZ*K=q46z2ly0i>jNh1`pZ6O_udB$DZOYg zb@!oCO}#4V?|jHJi%xRRDw(l>lIwi}ESl_YKMieWBJ;loX2A3lz`#@no_%nWW1}Fd zR2`MdG7FL?gL_mMkXt}GV&F>;ZK})Vw;tMbUE6A}5Gae^&|ZL`38QKzckZMKv%MW- zX~HOY?F}$BVYG`aucoL)SK)-^oI9uK7UPOh`1UfoI6(KjsFUO31j=gr`AnKbc%6^&sXI6@3J=K5J3Vbyl7Ckz+#z7qIkq6--VQ(r zk0lv*Jr)m|oB#^OARa8$gO1<`rsgd+m=!zx&HzpyEMsdFEZ}Y&guMpcjMWWZuR&+Z z8nidK*T8ggc1i+vb+nwFosvNPTjwm;A!v5JoD7G^_fpgc4KOoqK8Nf+YaXi#VS@B4 z%zo{g#|oKi*?;C0?=$)G`;TUqjt8y@Hit}#Z{BIyP8jXX2zn<)(0MJp5ArMuAU?D& z8SM@5LT3Qc{m+X)=uZG;dHC2qW!3{UHT%wtJmZ%uNui2&Cy3{1LTyiy;bzcS+h_ zoNBEfLJFZN1P+oMtsAm@eT$O{O@(=59D}~bL5>#D1pKYD3Upl=L_*hq`*Z85{;mE3 Y3*i8Qvk!xxRR91007*qoM6N<$g4a~=X#fBK delta 574 zcmV-E0>S<21d;`iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#D9&Zysg z0005?Nkld-A<@j*JgAQn)D z7%`zPg^dj{RVWL}m*XyNnmB1w#QZ!(^)KiDou$;Wp4NY@(SMD7dvXJeZvdO|!*Bt{ z21D2!*k-T*fV>)FZas530I*kAz{2%tA0)3*xP8E?eJnx3z3+h#PD?WGdMxf0IRg}o zLEIav2Q9%7jLlPQFjwsGnE{+GSj5&Kn8R!sgq;HIjMWL=?AjPkpgF<41;(R`T@tXX zt;OVGmjsUQI)4|z7C}Ah#i-vzzLVm(Q3EsM`g6!0vih>B5GF{!!sOSkzO0bBmTeyK zK9euM|EOo_c;K2~z0aih=ADP_gwfWFptn*4t=qD@AkU%z;(c?I(ar!bbOsPT{JaW; z{sd5#`;X04W*tCXvp)@3W?mO?KiM?kxi$tR(oiNVHGge@(*>SXSfXq|Iyb=wsT5QE zEbc^Rg2&%VB|eJN_ofg=N}=<@S4ye`2$W?h-{tKPBCi1VRYKpJLNfo2ZVx-ob+N)T zFh~UeAF#6)&?x~bF|7cWd!19vbr38Gr0ExYiAuc15Cy}tBuy_)wbqXzh0qiN8%Yk< z9a+A*$2U%eriFQ9Y=eHrMh+Iy1pJM&4D@kj5D9$*+@C)Ezy0I-3k%@@f^#_8!TA0U!Xaf@z( z)Vx5D*+2?79*q>JJPPPw^$j|=TVAerr2g5louNz78*JJ9>HF@EM+))Zg?tOp!@mS1 z1aASLgizz-4nTy0u{z?UXdO%pgdCDrDh3--d>8xssap2| zS-TE*fw%=C)|Y`g0vHCg*=xLpx(yW5fOG0)a6^jj_2iyD<_rWnYS)o7$}Dh8z*VIg z=!%rACGV+ICT5EtB?OCp0`^&>`5aq=tDkGQEc-2RK!Oi38^CB=2J4*)tcAXf(be#g z039rL0YzoI9)AI>HYLEjJ|MI*7uuFdc@VHR_+f$A-zYUNZJFl50st9F-E@Q!7v+6t z;X@kcME6|=WwQ~mT1ROJkf%FGyn1{t$z|5))HQr0^Aj9zNxC}8=^j+ zrd9&72H>h5i`8~hRMnRWO#*wciIa$PN(i#aiWRocLNE~KTuIhAgemzAwnb4D&-Op| zAdRdiz}=!0p53Y8gUAx>5fcqo?1?OzbBUZn3y>K<4W2gJ_TVP;R%)B+QRjJGia}L9 za*D3Dq<`r)1N<#-gpP`_*Nmfw^_I3kAip zNHnyqL4V?r0cx59+;+a;tT#vK05^VTe)JoCobB9D$UbR3pYqdW;=k*6e$QKGM}z02CN2qJRDz8-cr@E4VGyVVlSVpJEn(!M0SZy$prSZcYvAa-WTADQVlK}uS3N`NZl5bY2M zH$_!_8B!;(28-AbaZZLH8!kD*cI`L}1UYAtH3~sWdcAE?RK?o-#~KtP>jdCxk%hJ0 zHM|iy1b=J9M1u+TLK4lsM7GcZB*ss@m(8}_xCy)1olaP)a|JUL1Mn2Fk z>Qyu$qkkTO*tX_~fJmG>%rW#aItNU`dp|sPAB4nQy0yZ8^0IvcL2ZrOg3x8kd<58)P5wZ|6rc@`JEs5P^#k`lNpwXdjv@k>7&imjp;eVPT^`+k@o%<|jQ`Xlg%);wc9!~w&> z9S8K!U*ix4v~0p5j*w=u;9%mAX@nSYNH)-rBM!+ZvcUx$vX!#@4mc#Uy_Fjryby56 zz$6@a_C%O~!~J;_dK@+*@HlJ)dD!=B!AiPjUBfTfnN3Lpc5AkSUuOR=3_ojy-{fYk RHv|9x002ovPDHLkV1lOduucE~ delta 386 zcmV-|0e$}71MLHlbbkN`bV*G`2j>O{4k#tb#T#S*00B@*L_t(I%gvIpYQ!)MhW!Nf z!^D|0Bw3Ro_Uz~Be#VP^LVtIo9|PpJ&n$EuifjlG zhhn9!-y;s$Y_@WP0}By{0!+q17EhFmIDC#rA>*)F0pqX{^nN$41+VEd>l%5+!EH)9 g@bJZZ`I|6&0BeQcPiPz28Nf#lgX>xQ!T zE`_C+1&1u8-#4Q_BPG6;_FZi0`_1>hd4GRWl>d5*Xd3=8E`N$&N>QpQhHB>(?fs~6 z595^HuoGLK7sz{rVJD*)zka8hs1_(8`I)e`VB4Rq#{t-?CTt_tAS68#UrQ$JYkU_o z7|>#0&H@pte_E~na-C+sqBV$LTPI|u4?X+worIx%MK_|knjws9bPo6=M`}hQjzy+E zejqlZ*;ydMb$?R(6&65qx!5!3H~`W!fGKvd0%~&M@MvxhSl0=OJ5T}5Wf4fhXHB01 zm@%{M_~RJkN4FXjGD>$2Xx_pabNifg1b)*M&I}OaT&M9I83R{^U{e5Uf`FddB_`kT zMu2lPdCyBZ2zaM3{v^Y@-*pgp?%tAOu}B}m;!!Bp&ct-*8MOf%jTI1mxa zDb0#P#vfveQz3;oGA-e>ECgU4V49bmWq**-Hjp>dkiU>IN|Bc^jC^wfsyl+WIDq8og0{(ok0bNvx44O1dej32zTc2il`v7SCY z1fch>-SxL1rB`tvi=r(pK}b7qb>9uUZ7IE>OJRKgkj0lQigN&T0Mr9d2F<0g#Qo9{ zc!#g66Gu@GvvUBOXy0q}|d{4`D=hsCxl4lLc@7?<7St|N;if4Re3LEP(E z+^Sm>cTL1`u=bUfDi1A|jGOmXmcpTc>QUL7Xaw%Ws6(N{N&Rru!fP#3Cg+enQ1STqdyqIz!%YzFa_37^0xl2f2w3;Gy61AkXa z6@ck$EY@m%d|Vcs+Xsn zW@F2)ZW`gCoNM*PI#XEwV&MOv3884(2QK$;`Dm;?rBjtr%mDCIpHem zmr#PPCk#e2f?2!J1AjaP77ROz5(EzP;3g0dCzbusA+c!N(LjR!AROYiw0{RZO*2$~ zYoY|9qLi2)uM8ZoKLNH9pKbWp1Og2p(v}d8H>p9ZfjeOXPx$e?u?B}B#48g(&(@Mq zVH_=KWFVD3t9auYBaigjgWVJbCN%~=@`RZ9!=(nv415W~44@)D(4R^S$RSvgUn7a3 zNTl#3z3CvtbP{WpbQlJ(p?|@*uTMcROm8q9#;A@G^eVLheh>qhK?5Nl?S%laq#e(f z27)#CE@zS%AO>!u2LQA$p-N&Z;Vv?0M+l%$@kUOcQC0-NufT%#h}rt)U!W-F3=jeN z^W7!`{|x^5{i$y`p?woE(d7bHGh08jc}oY039Y6G+8_iPqZ(TB1%EM@l~BVXFtsiK zz#F(%Sf1GwaXlzb-^Fo&3)rd5Zki=50$&eSDmV&QnwZ;FdoUXyF)vcN5;zK6oMLXz zsIT;lJbNRfSqY9JyNA|X2DM+%D=0B*=qR#Z>CXYyVZR_iVxnmoC_+CJjKG0r30Oej zAa2=LjCU+_P)DNlihrVtzc^NVq$s^JSA?WG_K0S$r~}xJBVgzaZ=dt-Bt?{h*24<# ztAF)1r`J1^ozPVup*j3P;CcC<`x4U|f?@E}86f5ZPmXaGP*UFd!1!_p>5lR3a?f*c zt@#r3rt2Hg2-u}&r;mMG;wiW$0)sHH^a`}lK|h0?_OyjSzkl)oI~&!o1QU1_)UtP* zKW0MqU|T;~tbGAXVsy(MO8BMFb;_*7fspLJf_M8vu!+&F*mhy9bOlqf#FksH!*i;! zdSZ{S`onwyfA8cGXvrVzbxZ+ww_P1|!IX&qgGue-QuG2~3+=!j+d+F7RZY1q-%8o9 z)vybY14uEtnQ@n->rZV3;%u{ymU08`^=e`)3roG=uUeL@Ua!^eBai@pnApVl98n=& zuP0Z0g+YCozx>s@-{3L)&03w+hagq`{^otm_i1&@zQc^J4}R0000O{4k#xl%X&xv00+5AL_t(o!_}9~Ya2-xz$J&q z>zvZG%*tdgY1R^p_tKQajP@o}CiYE=Qe(BH%V?PnVJ}&MtqIwSmrm*w-omPi zfArhpcM_DUAziVuA@#$k{tV-kKC)tmU*^aMgl@$n7=QSr94qH2A=yA!U9qe$b~XSw zEXOQ8S|cPGh;PSZ)&t(e3_7&v*Fhjmwa?4t-|f)!H?#ur2RnoW`q0v!K8fk-H*`0W zspvv~K$n2eGJm9^$2PFY#HY{2UL+j^!dxSj-(vwZlZl?&T^~pW07Epf0%~w!^GIe1 z*wF~tu%QB)Nh6Se->NnTFk|Y-_Qo;F&-QB+GD>F&sPAKqnN!X=0)OlaI{-vE*XTxu zOo97CusHxVK|o71iNTNE31FYip7Txy0`4`8KS}ZaPk%iGE}ea8&qtc18b7r?;P~6W zb!sq>mr|aK?0hOxM?b!QM~ssc|Hu0tPh?0D;>EMsTxhArxBuc=N=so49I7r#VN02v z15g8uC)9vVOOvGRi{cE(`2i2W44Od*JGb}c_fx>|9?t{%zxFtmOYEYQjvrTgDmne< z&%GKHd4K%f-#h#b(MXaXwR`~fLOZXOAW%zbryRhB)HG7yN1}y*`q@jmVQU3QT}!}J z9J`ItrDh}-M@gNdUOxw?e2YOjbdf zkRW5IgwXpYgWSDH=CslJp)XWUGb#)NjAYob&wqrL*mdmU&3P}f%SYYw(c_($urv&b zKz^h3)@&xyj%~JHbpRM#wENx`r1U-xWL~tTDF|t2&Hlx>-$tjT85O6J#xrd|d0N~~U_+gqrj`M9tv`o$07NkG3V+yii83kLg}My9<$iO_d1H1*+6rU$au6i`6Z8wI$;-px5K$tIY*q<mkk-nLo zmY~PHq86%Dm_O^2n)O4gyr*y8etcF}t1QH_q5tP5L`YTD+vBjp#SW+Hz1skI(KQ%L z(DZFU2LM+v|Ml>(rZDr^9g4>^d4F4q$aV>UliPrmziczRWHLd?M<-+D@M(Kw3N|vy z$AMVvDR)hq4*)Pfh^p#p%sPc&fgk4xDZE~a!`t(>)>D4O;Pt>x;7F-|5T_5zPp|XB zzOD=J%vr3WdIu%wVN7QukP;0b5l+BUol zAzqpRTDlU43OCS_CI(U(vXVQkG5k`iJZ~l_Fo`Mfi7Uj+AMVshYUD`}W&joOfZ<$X zKn}r@yc$UqMIwO@>COiss(+Day`aG`fDMg)e18psVYs9DFh(?#pm&K~@PjDG3>pae z0zeq#&vTm;{4@IZ&)1&iEbN=GfiCB}n$h^R%^Mm>%))94qkj!Tpf;(YA>R;V zJ+POc2u!UB0PqAJi67wdJ zDS)HE!6}yZjPg!P$(wT-NlS1P+3%Q38I)m8E1|?}qoc@SX}AQKoncOZ#6*(PSA=2U zy9NLO3kV#cLe()2xL1lw@}jNS2mm-lBW zA{4Y9R`^iyHD@rmk-deZK1?(CLEyUCyPm`h#$XuyIsimH;B^;g0VUyJW*QDc3Z3*IRuZouP2+s9#Y$^+D1OKm5l&o5l`JKKQAs2YUyY@ALAZ^@Qp1WdMXh$@)IB3W@%A^x;3Z W#O-&0dQWix0000<2;MJ*U@cIGx28LC5~q zA5cH&xf3^?xUtV4jz#T%LIKBd+)1+=2tlS_1;aqqoP;y%2*ILP9U#=ynEOppXCRJ7 zL~14{d;vdbR0dFWyY~u2qO3}W0>1C7h{!8}-%%NK8_+-M_H=@G7@@#CeX`1_x6~e) z6?lYNB6QQx#D-7tCM$tWKrK}{+Fqn-vR`*eV$^^@4msqSBSW`Nl z2JO6%GB;q0SO~8VVLCA{-{70faIgDbj)-ePz&)I1O9>h7G-#s%{PIXA?0JQqSphkt z4>bZ~4X~(y4dRECq5;<2X>KF^RTXTxFQW!590Ta9_z?|AXdwbE-eH_5z-yxd^#jOS zKxdK)v~{1KX+Rca6R0`Y$AAvS;EFa%uwZZ_6S}&%`vUxTw-94|U&UZKFETImX?4WF z0L0a*579iQ_tg(zFEh1-mng7==vLpf1a!=-UcM74VhN}ED+TZg*l!BL*&Hc^00000 LNkvXXu0mjf2np&E delta 514 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 QBme*a07*qoM6N<$f-vP2)Bpeg delta 1705 zcmV;a23Gmf4fG9=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#DMUKhgb z000J8NklA*x7{+%gRxWq!7?UW)nFV??j{CD$>8%JPciBV?196ikvs~QZ zVm%-?G{D%^UV)rd+7y<%6pnS;KkD9hmX8G%pLE?FLgHh8^M8KL?mUlS{JR$+&tK0` z`aIz{l-g^nim3oqN)J|nl53|jIP`QiK-K--Ff8^SGf-Ns)$BE3-!Pi~z}^JVQrWhI z=nV|Rq?DFxD>;g=$Zi4%QK-C+y3_*z54ZOZqyD#@>I>J!MpGej^n-g` z|8aW;Db&uJ7w!qAjdTcyHj3q@>Wq}|)nMP90^R~Rs?}?)hf(KYbkVyZkbzd~O90@k z^J4_>_$dmDMVu6?FH$rbI3?W$0Dt0cmTR@fqR8Dw4S&XruZskzViPIAY}9`xKnwtX zhZ&Xti!`s3^#DwyqkBk|U^Fk9{xvR-e-=5P0jW_JWK;Op@zZ6|p+{17=@B%UzOhZV z2RqHLVJQNV?A98mG8LgU20)z0GoWh{Qjpz6jiOUn0&G)_C(=s+VgSJP3=8*Sq)pG>-Z7o zYRRCD6>tR1j`C&^uEvlX>yjJ`NC1O)h3TxNfPd;9;ZLi`amQN;VB;r&`g${{%2=d0Xoi zS-Nh8Efo}Ctw#uF89HUDAtBJWrTP+6t-Z`|H+L`xgK>2ugKm~q_GJL~c5A{I<5_^g zw4AoaP^Ii{)=aApz@7b!szMk4q|E=DS8hLZ5(^LEI0u=|gZ{R#7#SgQ4rOdgR)1+m zh|=+q=#j*NP$v_>r@@{Ar)$@XZUsc+#)cLsdJucv#h~)_L&G_EmjyW0xA)@fJp$F; z66oG)4yW|?Ong1_qissJPfpeVR&-k<(HZ&C4t?|D5G{zka^3xO4-UeQ24GPz!V(}a zY3caW88`_4+W;Jhdk9sga%>5hU4I4aLuUk!{q{B*h;^WTdoSSqq{31HEOKnI&kn6L zZ_mW-*+twBi|8;a3yUII%s*C}&;q;xaA*kwG-d#t_l$o$5;K1QKot!}eQHs*u7r#S zjq{noKp-&~>~wxT9tQreWIX^402T)03I!(~dP4rv{-Rh3KwXb&GawP1n16c$14;Bh zdFRR#FgkK?~Ud{+R245tUL zB_rrpN^b=)=7&0Xj|sZ0Ik5WZfPLU|fVac7u4S{fL>(n zx}|~W4*Fy>o3Wgs1`Y!x3&t`xDyslvaMpV)AZYm3G7ORk6A*bL>wmyUhXI3*UTXEv zc!BfCL*#HO)meZV6r?O{1W?uoQfm3nlq_u^h*tk)&7KRVHV{Nj4Mzr`4FqXz1f~We z-$Rkl>@zVCuO_U|H|Q!K!#1Ej;MuwgMi}lG8@4OV?80d0)fn6{C~ux^n6(GbTYi&& zFpO6!g1ca|e=y9#og(z?XZ(XyUPW>Z00000NkvXXu0mjfB-Z+Y diff --git a/graphics/pokemon/regirock/back.png b/graphics/pokemon/regirock/back.png index d9dd76c77ed256d6c8bc34c5a02aed039a230906..8b2eb502e5ab8689be232772fbaab9e29afee5d4 100644 GIT binary patch delta 705 zcmV;y0zUon2K@$*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0@g`HK~zY` z?UcQ4+b|S`k(VlextEgc6oHp69ZCbTOnyH1+#f0XSJvHZcKdvx%P+Tph1RQ=Tfj`~ z#Z6$o_!PLC4RPn+S6bhv`#0x)jFDG~xKpZm?tyLBb>~gm)>@ZW0LPeiw9X^&G6IV4 zr#l8ZmiYDwuzi1L1(sMK`>z+^8Nk%X_Y2C0cT8OD`>a`M40S;QiKFdECA_1m|kMn9RRGB17M7)o-Awh z0Lr;wi;b#(dqCxt0g)uOETGg9z*7Q@YYmx5E&|dl;XpMPz_+F{$fS>PcE}78jjIPB zBGC~DTgU-W&a8V6G3KVK2A3gVuYrQS0wjzKz&@~XoHJkXV4BTzq_CY~)( zohAXzK+g3DxcE>ba`d4-5fE$HN~%+eL9@T3*AZ3tM9(G_sHQpvA;4JAfT#1_i6pR# nD1zD?gN&0t105OnE6aWZsInuL7e*MH00000NkvXXu0mjf$0Rn3 delta 719 zcmV;=0xH%j=V=HL51Vkj+{iFy9m{{7}pv~B4rU!W{C_`a{+v7DuYV;7-xsdAknyb03r$Rs}HAMov<;3XJgkARnA$|lrnFK`i=K%6+V7kwLQ4}NnIwl|=fSBjxk{OyA_aA{tloE2z4b6=H zPoR|&$N2FP5Ol$CPJHwNDU3i!z?vm!q6!yVOFpi*oFY1sa}h|)@yOv%l9DWrp3Y&L zG*wNEBO9jPp>n|yf{>P*?~>U@(gW+GYpGe}6Ym2^-_{gJvIsFaA6hZ=*>DVh`hqBO zD5B$$51hYEKwAT`b&&u|)8;*$$0ULKRtRd&rU&rxft|DosJUq|KtZ~|vr#3dS)y_x z0d2-kN;0wvBTzq_CZ1CwpC$p#K+W|CxcE>ba`d4-5fE!h#5$%JH2XVx9g)K)dN#?R zntTdEfU%wdPv^T6NnjUI1hp9gO^K67105GP)^Dh?BbF0UIvD@}002ovPDHLkV1m18 BL1F*^ diff --git a/graphics/pokemon/regirock/icon.png b/graphics/pokemon/regirock/icon.png index 518461352dc40b1869dc80b54d2c112ad99601b6..10010ad632166ededb5a030516081875ab18dfbc 100644 GIT binary patch delta 368 zcmV-$0gwLY1I7c8Uw;8nNklZt~5JkDc$c>RGvS*{2?bdRWky2#OLK7qx z?3vO8iGno^NEA3@uouG#k|{ub%ozAQvg|LFJFTIzM=%%8F#@}TRx3U|;)Lmmq|Fu+ zTIRl~YX)->LDzhcRA8DgvzWH7H4a4t&=8mGsxE9Y_BjL5nSThDR_7$-3xI5?6h^8h z?BTvIbS;d$&7nbm+U2S%R6xpuDJKi!T_7J$ZkOKjlXVBAiZ_~T84dl z2eAPk7vLMwh;q-#O{9OYOoE$8I#g+_ymE(R-6`k)QgD9m`EqKg9{$~Su{L2K>Jf#3 zE*cbs;lT)^Flk+wc?lE2E=-u&h1me~FJU$?;87S@ggXc`<NkllWb88sc&8&+T9pwOF94#Yf@>k0(8GRRsLZvv&LKg4 zn59$|N+9XMl#v1c&e1(rFyh^vL==)uWHun(#-G?St<-fJ)$tsMT3Gcu8^IC>C8!( z2zFsY%`VIapnnOofdNxtVBt0qX3C!IC=4jNv!gJ8r3u1-`{aT5!wcgt+&3Aer+rIi w$X2jU%lq-fLZ1At<8 diff --git a/graphics/pokemon/registeel/anim_front.png b/graphics/pokemon/registeel/anim_front.png index 6864ebbdab5f52715e3097ffa5d56b4cc64d3739..acf975f9ffe7219682c80644d8a3472c4dc25002 100644 GIT binary patch delta 1380 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 JPDHLkV1n!)d0YSh delta 297 zcmV+^0oMN80)PXMV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4k$RP!*{&^ z0084jL_t(I%iYp3Zo@DP1yJ6A&;=@(2e5!1+&NP`cAzMZ9rSCtb|h!))I^&;ND3kz z(Z4#3r@K#fiCh4&e#e}vOX>}AMONu0?o-XOCY(v}q%L!n+<$|`Mf~%e!X|h2CJD7n3 vp@A7VaA;sg4k9H0Hgec~Tsbr!^hX~*YQ))#FcI%X00000NkvXXu0mjf!+w7l diff --git a/graphics/pokemon/relicanth/icon.png b/graphics/pokemon/relicanth/icon.png index ab1cdada81ed9bfe725f3bb37ed9e47acd5d437c..034689977e184a2cacb611ff496f9511ffb3ce4c 100644 GIT binary patch delta 311 zcmV-70m%Nd1C0ZaUw;7@Nkl*BNI zXf&ZCwjx2dWPmX^>9*XR&ToFO#t&ouVA$~u45vIBjAfslAKut92-bMOn@Ay6so((r z(NrVlpk>Ooqe5ydIL%D*a z!$m*4>TqAdqA&wTotbpFr?*TxY;Qg5@UsEcAp?sJ`Tz7g9iFdyuO%SwP1^tf002ov JPDHLkV1lBpih}?E delta 349 zcmV-j0iynm1G58=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#F$b=03u z0003NNklQlF?TY>UAv&5 zzDr4gi#{yM2m!}7M4f@NpfRl*v7PH$L`_fc0G~P871+K`vYfQrW-$LLYOHo vvks5^msyAPuO}V8SD-pDP6D^)Uq7dkbrR>rvO!`Q;j6kcDO`r$uMT^6mW#9D|*^F z4tMbFbZ)oP z?q08|s2|JW7Jq!8&YOI5(gLb#2^p|1PGJ*Xd3FP8t|o;ESv#NN^($<@zMXe>5FqYv z0A4nrnn3|#H39@`If?=#uFm*??z+n;K!}>-_qyf-rn!I;M?9W)w}@Gko>oxhNY{CS zyF4yGZyzZAxaYbP6;^c61ROXX)85|im@EM`WlhKL~m@rD7&xgKex z|6AB#9uP8^2NNKJc`yMocmE2&26G6&Kh*sS@?Z`F(qQh3Dp^A1!Q77nOlNN)gSj8) z#035U<9{Y77EC>CFb5_m_Hs>N*N=69m2ip;I^@Ob{Qwb(#Tewi7B$ zkiQF1Fd$|KpcXWN0pmUZGkz13c!JqrmvyQ?#DR3+fk4k88MsfIx9x2os3x}%U~_!l zSxg0S%synGI^VK0+(yx49s^>$`Hi)0Fn@xu4}S>2_qW^BO;&ox?F088W|)}N^?Xu) zP%gGywPG^FUs$@(V%_FIey_*vgIPom<(Ot!me_#D7Nbt>>XBHxWhd&* zS#2K^VIQ1Bqz9pRdzl3OBI50gmjpn#zlf?~`KuS@vo6&w+25}P5-h68OL@cG!;N7M oB_rVt0r;&L0+8M?V5E?K0f{pc8kc4UumAu607*qoM6N<$f^<-FApigX delta 815 zcmV+~1JL}D2bKqrbbkN`bV*G`2j>O{4k-kjw>on&N6-|vOIkr7`!hA};KicBU5rCtF&&bW)JoG19%}p$9TEyjL<(JO z5|Y6b1P$?&DH-xzdU`4}u}%`D9esnqx}WdeJ-v7Lm!z?c?SDU5f&||w*MFqu0{)4o z*8|Mug21zD?@}|BAiz`={;H^2YGt_GeCydou zlW0;Z!$+4$tQf`uPcuM>x~6CB!Dt5G&KLLlZ2(wa(eieGbOrg#<%j)E0kG!YHq_pkmTFbE+eXz3bwAS$5{mZ_-e}`-;gPHIHyW z+IsFi-RkG#J`QXgde5^W=V5DzElL(koL3?)W|A&P1Cm=jvLo;I87=oCfh48H==LzA zv=T?e0FoOAAm@5)V;c|VNJ9qm%>c+?z8PSq@^1h(m`8w4%nF(476*VG-W-UMlZYMO z;$Z&I<$vxVgZYmih$*~*fe1?YQx6-=z6eSSU`MNA0YC)#0f?e*p#X>=CIkqX#Q{$Q z!SHR8EYr{eJP{n1I~1Ni{@ z!yF~1b-j?%A683UN3EF@(HEBP*^|?*db>|ifnwbSpl~n*`CyjNLph;YmgN=T(&eyI zyKy2WchwHNIUBu!kPr58$jy;^tH1R{$nBKNViQ4MgsoxubGyW&ukTrze~-}@$1yF& tjVMzOx8f8^(k;fxi#R|Uj>pYk+AoPS6B;s8@>l=>002ovPDHLkV1j^dfkprT diff --git a/graphics/pokemon/remoraid/back.png b/graphics/pokemon/remoraid/back.png index 128726f52592bb43bec700a13714c3bbc1a6726f..906f92e20518e72b4f357d61911e5aa95a24839a 100644 GIT binary patch delta 499 zcmVY8fN1uRJifm#1D;0%HeVBI0%q+Jq4mqd~Ff)0sEU*@II6aBB-izz!~lUj_ig+kGD8oWor7 pL)-GoAg8&OT}>wFR##UD{Q|vl7PvlqP+|Z8002ovPDHLkV1jOH;*S6T delta 494 zcmV0iK2%SVomzH? z*9^JA2;X=A{U-_Aac*%%G4BEvxC216e;IHGVF$44kZ`juiK0uQf5>`aM~~OpMG1Gk z+Fb^MAQjEcu`2R)%FE>)#yW*8S21~#kx4%cY1lsljHG_sqjdO4LyR5tVgtkn6KFt9 z3@D#lwizMHL`r9J2YCt48NIJtCdveY%qcz&p$&|rw@?X=u?C851ArdtJ%;erB3T~# zHo$n9*8oqFpBms2f7L_lmje9l_{r;IK0^-!sHc?Tef#ZMV@@YZLX~qR;`6VSuy<-Y zG4pZVC6(N-138$Ord1wVC?oZ)tXx)kq1KUg;AF(AeE+}yb=0z4+f>b->?;%- z0b^5}AfT2m+jX7CuC3;+&m=UJRH26gc-*`NEC kv7F>ub~zs3eh$|df4y-QxaAPJwg3PC07*qoM6N<$g69I*umAu6 diff --git a/graphics/pokemon/remoraid/icon.png b/graphics/pokemon/remoraid/icon.png index 6ab7ab4f7f412f198a7b772b9d7391be8f104b37..d7d7d9793a2a928ddf9f73af69a4b4ea87966a70 100644 GIT binary patch delta 207 zcmV;=05Jd00;d9yV1KenL_t(IjqTDq4#F@DfZ^Q012^ae7+5RyHl4U-S4Rx24IR2N zRIS8hFmWpp+l<{1-tzaMSo%Wv#bI}biwo5FaCBeHlReYT2EsV#=kUUW>J=iqW745V zj6Ij~#5$Mp69BsdrlBgK?Us0&mU7p}xlSCQ`~#RPd#~^1|46f+LvS1dI}Ttuh!4X- zg5e-w42Knr;;?~H99A$_#X-QtMsW}@$t;_}%x0Ag20WNO^9JdJav4uF#-acK002ov JPDHLkV1jZ~U`PM} delta 247 zcmVO{4k-wg0d`OT z006Q{L_t(I%k9!J4#F@DKvCbo12^ae7+5RyHcZ^It0M;1h7PO@Q7bV8Ox#Mu_QC)Y zB3pjbs*WDOFD`a_Ji3rOAGYp|DcOBK+mI=Y`Z+!*k~)$zU2rMtFc5`-Yq?Wf%HnVa-x`2YHx12_)Ajssc_;=^!|U^oaE!(joVIILh4 xhXu?@aS$+}Qyc_LG{Y7!lNqIe!SuzeeFEu(av3cnRm=bY002ovPDHLkV1iIPVO0PC diff --git a/graphics/pokemon/reshiram/anim_front.png b/graphics/pokemon/reshiram/anim_front.png index 80ab6c459ca2108f5e039feacdec091bf153be66..f0bbac2064dc503b42c7b90e432aaf98ec449f88 100644 GIT binary patch delta 1701 zcmV;W23q-x4)6_-Uw;OBNkll=15y#2h>ylz0$qit@h4}cMn`?IYNJJ+~ zz>#lO%~eZs6sOEd@&`EJK7nz7uRItBm~K^_Dj$R^5-CM&q_Vn{hQG_rJTAFhOHPv@ z&4p02nm=cT^XAR`Jnw)0h?zH$QtsWgO!mCQ6Cx{8jfj;rAAbwf-lX<22xX4$Y0R!9 z0I5&CX)4V*ZWP&AA)wTl$|x}ay~4s)F+r*EWO;7L4)W2)1#A^sa$;*-ml>2$%JWWO zVA0t>1FV(-t`JRDDt6*rkcW+6vRa1r(qNGC^TQBMy#PsEO45?ap zewoLip|ULNAhJ|!fMZ_C-Zt5m9xxMav`bst5X*tN@NB_moGrqXZ;vlV_Vq3rB_ zB4ZL10g{i%2@F+!&j%1)5mFh*AQDu#dEx{$eFn80eXwvo0w;*(`22-8T~a^UO23wkf7PC6^xo4z0g3j`$*lx>Tq^rqB{e&?A>pkU_tF-ro`wg$2! z$8jTef`6IMF`|8gPhRF&ZyF$RL0k-y1aYjg>dE&n^QJrBiDscs&C~r3gi!m>zWcL5 z*kkiTBX!DzPqq^X`lbi%kM$aX^V8HVbcz8C0?wysU*seR7t{%yij)uuu@y`UljEA& z#x5o`9hby96I9gMAb>fY!kiVl#x67n(AJ_4_)Ote*&QyLZDviy3!jvkn`vPW<@cSeXi%a)^ylS zCy{w%Tbd_Z0nS$y6~N_*Rbo(ttuaFxD8>q#x_1B~X*2SW4P~I~N2WeY8XdM1ECzwc zvwv$4EX5bEvV&Kd7&S+DjF=Det30@Xg9|&ddqH+gf-Z$KYc4Os%L_3Z3ldn>bmd)+ z_W3hIL7*55;s{oQz#Lp&8X?9F>dU2aqlY3;7fj8^v)Ffbpgd1NS?}&6bOX{|UYeAP zyLO-ItAG{(O(}Vwz%xQ~j|$J+?}1BMs(*ql+5I_C-rBl1%_jt2CYJ8_r=#02&cT#2 zb^;1dTFQRxcqtTdX2W#azpmm!_Eyc@)9Iy?%B5bGeh z_dD1@0TJYOdN)R&%(8$oxwn$N!Wi@K?EioM(?`;T9{s$&e!Xj-l%5_5KEJ))Re$)Z zlqU-*dpX&6-lzRVvw3oU)+r|H;k(@cx+3B@rFGlvIXir{o592l&_}eC&&oZv7qi_6 zG&mBW@##5T&XR68?c^JF;r9ZCA_e=0r-kV7LU_Nsea(Bb7sTPW-w=)P3XC8oB5?vg z>L-*0v`Rr##LO#hu-&}l-QCZ)jDIp*i%0}g2qFc>1*(Xzh7m{mpC)*b^8aQ0uyGhB zlWa5tf1fpGzGS;OjKdxVN8SGp@h`Yw|8K&>q~AK$4vJsuLeMG|;$dRnM90I#?iIdW z(5|h&55ZCm9e5D7tr>X8#{Hq0VLTW;n}Z_^B7F1YUYihnhIEp&%4 zsS(muJJprK6kym%{uLn%2jmo_v>a0-;bLEm$<|>h|&ffU_5*y@+#uD zaYG;*M8O|Azz7dxkny}gOnL%wh(b_wd&Qq5i05Uzwt9>xO(}2wiiht$yru&pT#|8> z6M+nb(on3Mx9#EW6?dfIRzxNczF|FqnCq+d@%6tPaFQS(L|HjR>3<32r^C1H(cj;1 zh?S5Od2#0>0&#)`FLkD3nGk_AV*+{g_;0U{_znkxfi#}&5Xj@}gNxgPi>}VTAS4yL z1akQH^5W|9q8~&4Ongir`wSRIAKq^-*GB~60OR_4yqIN<%eGZbQVQtUmvoO00000NkvXXu0mjfFXJ^7 delta 1728 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 Hu0mjfB_Nvn diff --git a/graphics/pokemon/rhyhorn/back.png b/graphics/pokemon/rhyhorn/back.png index 65797134ff33ba5999c207e18b60d783d00111e0..dfa96100e056eea0ca1375ae692e021c75338fb9 100644 GIT binary patch delta 628 zcmV-)0*n381>6OYBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yRlQK~zY` z?UT=L+CUJ-Nrc3C+?DrQJCQjfOFpx7g;e`PP}5j>6TZ3g}V%VxeBD>Vvd`Z=;0#JT>$F3{(84~7pSYYZHK$` z4q)cC?U?9aBGuf*ib@TC;9pyB&3n5doNwJ*pl&v8o1&V@Z2-()n5Qeoae=60rUs}B z%UAXxs=IQ-X0u5loK-RH8;+X1R693aw}@1o0c&PUZe}iU#m5(YSoeq3vpW}fZh!qg z1LPj={@l*-$M+K;((E*R7!wSQ-uOO{Tbfny!CUR|WM_v?Tcd7&$Dnh1CZgHN(GxJk zv#tq%mrR64I27chRzOt1-h3&0ZUpq zv9A0d8foqRyIWg!d^!h9A0u%AdUfw ziZU)F7X;`LFoR79`=G-_CJn2_YeBsRM3UoxyH$DI30PH6ZZa&R_g;Y>5+Ej{Au7R^ zD%+|Qk^zt|T+aGk^rlUC_i1kWUGgq0&o7@pXbBQWbzlVSGzxIH-zKk@?D^=f7-Sk?$bMfncKEw zqQ8k$a~CTrHGqF>y)*CKnsB~!e*$&0ZQB&pOl}Kc@ya|~GmZ;HB{MZZU0A)b4^iEf z8@AhR3gN7ZS>JHfAGd4>I~R0TXHjVfh#_}>cgf#u3y}_z;pNG=NTXmaQEkS zj^DnX0Fh>|;lq?*e`xf^4}sjutbz~TYL6#7J9OF_bvFfF&5uO=pgaM>irCABB||WI11yA#g2WPg3*vZBp-kc} z#R5*4(8w60#ArlF1+izf&ks=S19?s=3q({0a%CD*k3P+qf0M(f%!Nq-(W|0>09B7N zXVyTXv8<*FCZQpu^+1vlLP$N1X*UG`?2kGY8i(RZfg5%3Qd;MZrEaP-5u3{YvSF#} zqbHTjEVBtizg{Xm3JXqd;~}8wzK-s3_w?azTI| z0W;Wyu#Y-SVPw*1Y^k!XN+B5l z>B8l#-$ie_^?t)C*m^1;CxG(v1AzmOUkCvVNklKdMM&@ zVTsAG2`T3<4k5lerSbU=TgGY{)gOrT<5u6!0!pv14YSkb+WoRt{|^t%o#4{tdv>8D zKJ-w|&qc1hdFE+p3Mm2zXGjx7gNV^8Fzd3@yQ8^KVbKhJ>*r$x`KLVdxF<9Vn1?0&`Bo~TH+r9~>+mVkrzv1H>Zqb&0HixO^ P00000NkvXXu0mjfT#bD% delta 305 zcmV-10nYw`1E~X$UoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GBPP)H_ z0003DNkl$KIjXXHw=F+(B+ipW4#yLvK)oPd~k6-m=32vlo?O&Bcq@7`e0~#;zh}W%pEr+TtZ`9)uAJUQ~>K&QRp#!V;5V6H?A!9723` zO5^h#wv5#@x<3%*$F07d1(aT28)m1=wfkkQ{~rd;o#4{ddv>8Do{vD~=OS0$JoB_P zg%kmVGo%TkLBwbkn049d-O*gAuxJLq^0FcWNm~be@?tWn?d(RbpUj@IZ{IY@8wUXb z>{G_}AAwKp7%cF(0`lY|iVMZ1ZQq2`?Z`*OZ}|8IZqb&07BA;i00000NkvXXu0mjf DBR+}N diff --git a/graphics/pokemon/rhyperior/anim_front.png b/graphics/pokemon/rhyperior/anim_front.png index 22b2d66353da36e1e7e3e4a4f2e5aea6082b8ff0..3d07661e3f540bb82966647deffbcdea09e9f64a 100644 GIT binary patch delta 1780 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 diff --git a/graphics/pokemon/rhyperior/back.png b/graphics/pokemon/rhyperior/back.png index e5978ce372e9d92d17ef5357b30b5ddbb16062b6..3c6bcf330d54ee500f76fd66de383bdac370fe57 100644 GIT binary patch delta 845 zcmV-T1G4<62eSu|BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0}M$-K~zY` zwUx0>8$l3;ky2cPi_J;6zXI22l&pmC6Qr}WsY6hpHC|vMYpHSJx1g|e@47r5+R)@98Sn zH>Q97wthz1n9f@I?N0Hcu+DT*40gx7g?w;ER2&XEyL1+vum)W44*ePW zIT2gZ)Oqc|de;6^!+j}=4;dIpuje;m@Wb^ zt&}O?v+b~75}kS{%?m5Hu`HV+M_h@hvj2&v01>E z_EM=M(O68XZ?3})y|gw~fQjV1y4ut;^hZAtr4+K$E7jfv77Nlz#~}#-!;J`TI-}bf zu&GxKz|Ug(O`zR>07&09Gca$2%)Ac{-KTmN6=rApX9Ya_S&SG7OFRs7Q4_6p4NzB- zSWcrgO~4XB9TA5`x~x|$(Nb-{-orDITa=9w%e?!fr9Y`p+WSCE@fUWwgsUd467lS? z$uOG0CITS2wS?A28!Z5|8POsFEmXJKDb})6i9tPeiL{hmTPdruK^nznByy=3V@s06@ZT5o3?RubPVBW1;p!Bcg?1hcvm31 zJgk)px~)eererh{1@IW!m9O<0$i&eFU*{h{tWJ(>=#-1$I5tVCO@PCth>>js9`e-% z01zCet0#1SIE76>PRmVJ|3?6PJ>k})gsaxEog7mFzN!OlhXK%wiCqKY&=p+TCo~P*F delta 836 zcmV-K1H1gQ2dD>-B#}W-e*gz`Nliru=LQE3DJMSAO9=n~0}Dw+K~zY`wUx1I8$l3; z4Jp)E#pb~3udr$}Bn!rRf^>pS9mm9OWv%TA$GWx(y@dF#9NuChoV_`jR~-`UyI&dz^aryuF&#|OHZyd(Gj8k4>Q^dI#!e?5CoSBbtdlhe2L z6Vk>E---$SAo*g_;dpzB7ln1A({#E$<~8KK6QXo~I^3qS=!7-pl(*>5&`*ijlBVHn z2j*kg6I~er__dtpd<>n<*pj8q0+6v-bTcF-y`k^saWP+-@elY@rK|(G9{Qu7h^iE_(+f3d1FIG3O2;7ye*nW)1XnESx(003s}A6o zF?|~tbO6%V-3-jFkUj5%!|18rMTyxd{xoyymoZ`_EO8d*q9*!-8laIRv0RN-QC~Cw zbwnH%>AYUCL|+YjvxjFQx5_&u9+T0Nmi|Z?7gaHB>+{R7@~(ZIA0%!3k9ma zAHE5^5X&_<;@5x;4$SctQ3k**?HWKw@Jrh`Iy#1MvZlz3MlyF9Fw3c9UF zBc^0D5(V%W+LbhV4fMp(1z+dyK&(%WZ0MAW;W#!)f2lUW;ZoSzSAe@@eE|RjhhqJN z4yVutEd;<2Rz!RY1>iUU z`HftwhZ%?}MdfBm{xb&d0U?~9``Jpi!cBZFe+o*uIe^~)@WFk`xoMGZ0DkZRxWO#P zD7d&RI>!PJ51=Q&gD>Z^*(_hkpnxox*TAQF0OaFmcvtCoE6V8MC;tF6?H(b^P3|KA O0000d49aPmIcVT z|B&ZubY9s6U^<{XN!1MrgdRlnN*llwLYY3zJy}X%HguNWpnvQmU~O7vHIToJ3jnPR z6}cywzr))|z>e19AkQOS1?=$bAH*wow>EsihK8m=@8jp;quJOaR|kPQv_vX%WU<=m~(s jdNkAh#g7*ue)HoCO~U!=y?S;q00000NkvXXu0mjftfjIw delta 427 zcmV;c0aX6m1AqjOUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GI*=S}C z0004FNklOraUu@@O5P}{L^eGb4gT47`u$4lj z?p1HXpL{=X_X+WrOS0rWIC`}wbM1SxIr9YA==flALRo&?Tz|(xV!D4QOEo#KOa^j3 zfIFe;#|&Z*0C+`OLJqM7ox)&^%^+xdMy~;f1ekQktVZi^(*h)sw#U+2%ply!$5aI8 zrxnbkeZ!Xd!H`<+#<$n*+B6o56e?t^deyfU@`s7wA{coCv||?v{RA^{(C-(n>gNcJ zFUZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yarRK~zY` z?b5$*+CUTsa3hddL%gx^EM;KfhocN6wW*q_N?GYY;DLdKp_Nd?pV0|rvfb%c4-q=4 zs+5cJ%4(>rvA@C7@pn3EH7#;(_;TqHFciPWtlxnq|?dp{CfDve@KkCpdCazx3 zIqxu*fs!Xq%fK>N&7Ks1z#>WmJ!`MD2( z-xf3AoG%s~0oZfU)Wrz6SZ6ri1E6VY+CTyuV*>s&aDv!QK!78E+yf?vkpf#N0M#Y{ zIw#ov@_V^l-a!#0gAxFs6;&QqtJPm<#rpx^#p*E(*CP~d7=^o#8Mc)31MP=4qG&^b zEG2b8F~hY*U^Kz3gaQ*p1q{n}NE7%|XhZEInmzE(K(?X(OF&s3A3L%})NO*XO@Osg zfKs;5Nm6v_Cj)(d1!$J7t;!jh9vCsm45#TM>t;YiF~OkYCe&s-1)U;@nCFYIW9DX{ zoMsRu=(!5;l+Q_qkX?w7JthGa@NytRq;rT&BDTB=JqMk_r2IAWZAaYZX%5O>b{9|j zoqul2F%*E-Q@2T1WPLj4fkVKxF8jrp$%BdAi@_~DIhvDDABLO!2(vDp9N<{r@Y@-^ zYGitN-`92o#f%%)J^wKf&)&6m_DOUoscVJ<{`J=^I0il3-G5(iyEN@TULthUtc$g! P00000NkvXXu0mjf&o(AE delta 619 zcmV-x0+jvT1;X$2vb?@K&OeACOVmy|1tH}=y7ztWPD0aO*FRiW>T`6xceKjze`R1O{$319wUcK+ z<+IZO?y(J)ht3K4X3c0E(hIClEFm9nnlH?1_&A79s63Ux7LlMRi68+L|z{Z3?@C2M9c6T7e5gq^`nX6hI>d=$>Nt!;j^1 zc?U&M$^bwot~{((t6$Jb4goaDX9yJ8Lce> zqX}ju6qq0?(6VfoG=ZOmHq<_%*@xg9WE=YL9VpA=6Ia%Ve|v3cZFj)hC_pJY=EdaeRI z=5vxEWEUc2pGiOk{2Yi7=^SE{h%K)|&w){xRIp}&?TXtx%R$-C?&49u3odLqh62#~ z>Ne?$taleYVRQ+2)|FF?xqC2)cR9GFCr5J%qG*#JVK&5*103rcemkRAjZBa39c@og z%%o}E^REN(>^*C5pM*h4Ju@2cPv2)@9rVa~{muEW>n~m+bkl|R>Nx-a002ovPDHLk FV1l3h4VVA` diff --git a/graphics/pokemon/ribombee/front.png b/graphics/pokemon/ribombee/front.png index 3cc7f795567c26dbb3bffabedb6ed5fb11cfa1a8..77a4dd1497f3ccb16c5051303a04c263ab0605c6 100644 GIT binary patch delta 611 zcmV-p0-XKB17)Ru^e!)5*B46HaW0a;IQ!rRRRbtG8Gw}k z2Ki47lnZ?N2%c^S{SF&cuWCxi2eusta2|qwRV!jFmvDkTBj8(q2wc5c4D(=01bo#u zOSb;`KRyjX`<3M?h8Cf#Z`$U?=Yqh+5K!eqxHv4xJ=GS5>V48hWDPgW#~^&k4}M zVDQRZi*rBg`X7mZC+&zfr*lu-PmIk$8u1*E=Lt^;^8t)c5`0PK0OnH61ogZLyf6%- zlFE-(^W`n&o>)vEtK|IIVm#z)u|t^NYPJ}SSxZPU%>bymnmtHhN+9mDS|B#N8~qq^ znXl?ufLimr(Z?QZEpIb(WbrBbe$5#dnYjdYKxfw+S*>h7;JY^XF9n{{dn)@eVvA0S^EG002ovPDHLkV1gYn6xaX& delta 605 zcmV-j0;2uP1;Yi9B#}W-e*gz`Nliru=LQE3DK1A0^Q`~?0wzgBK~zY`)zm+4+CUTl z@Uwc|GQ?I@(PrXs+sG5bNUbtimph38dq8J(r;^1Ns8HKI@?K@InA&6sU6D}5!VoDP zfGMMoi81&y^lTI2f0%(OZ?KTwkN2MMdKPujZA^m{wQ<{wgpma zC%~qI^xnw>9Y~aX?nl30_uOs{;Clb^((^(g^<4KN3-q%OUKC9LDsBP5wZBpRrwXJC zbovOMb_f2B3pB2pe^NIDj*|x9JO+b?T0uw*;YM>Nz_%E9TDubGqb>>XRoe_{{tN$n z8iT|-;m#ZHEz!Jz0HSyv&`woW-{G5q>ANVJA_H0-gs6>gCK2exLngn$ml&azjsJ|+ zel()%q-O-MAu2F*@(7&lUIMICRji#@d^1Bg3*c1)X}?ARe{Y2#TI}>W0c1EFzOvT* zJk0gNN9Lp*k@jp6@cXI0Sx7x|RACVCfOG2s=${1mqUX-Hwd8Y7f?x_>=(=9d<&Rd2 zO)kW&0KoQY{vd!Q0KYFP0qOj1{A0vKeq|H^ zVlVE-AN$l?Q{EQlq0MIS`!%DC7v=>p06e>9&^C)fc>PdD1h9;qcO^Bb0SMd!N&?!1 rfdfH#hy4I-FR9%n4h4zJ{JF({Vm9#(P8sT900000NkvXXu0mjfw7VEb diff --git a/graphics/pokemon/ribombee/icon.png b/graphics/pokemon/ribombee/icon.png index e21b70ea08edc09c3044bbf17c76a61c0bca70cb..10117f123441f15ea5586e2bd0dee87156d8ad26 100644 GIT binary patch delta 298 zcmV+_0oDGX1AqgNUw;7$Nklb>!3`KPV-XRz8z`^L0+ZdVBL4(Jxo!p^I zwb*xSfTmt#Ap)9qF-zNtD9J#VEU7j=&|eh&l)A42S>;adZ{RYZXm~Fs9yS^Qa~!*hjNgCY{~!pN1Ntgu8!kh&x!gw7r7GcU-z#>ff6f$RFFwujBIfgrUj9HlIH7j9=g&87Y w*pJ3^qXpa1{> delta 330 zcmV-Q0k!^s1E2$tUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#GPy#vn9 z00034Nklb>!3`KbZ-XRz8z`^L`+ZdVBL4(Jxo!lWywb*w{fTmt#A_AIb z2`k5mMcF{64y`sm5MLDa0RGm&S;a?w40r}W`dv2gsiW&$27l;_J2+cwd+&1k!x~BR^d7KR> c{AljA6vrLOA0QWZ$>?)G0KR95)#m?Z;46f4lN6D%M(Sf}y@2rCGYEDUWVB!4L0JD=@1q%*wX8tMJ~|G)n`yO#Ao zmfe4}#q=p%JbFhT6-3xTz~GpS?QtYV!26cZj{*X?V@U*h!hds*0lE8|KL&8_ zBH(c(pIE()4P$*91QI|P7wFR+RC1S54>W)p{=n-3KJ~z>0P^CZ1B}1{Q=%fgZd4om z7BEN`KmkS~cz6cscXCJo=_29K!GVIXLAwpcFoP7>#5kw{@pIt`w+4Dln`06mDeeam zT)qT;I&xciDt{ja9PlpqIEyaQ*bjSkQoD*6fG;quKp>m$(#vPNi;`q&a zZ2)To&3q6zz9YChjFU|Z*p+O6QKOMhd*H+PYO6M(<@DQ4lTWmi4sFs^D|NU2f+Y4?T>!X3!9suK_*J&v@(2S3Has?f~Jr8S)i~!VhpbW&NvTDAJ;%G zN|%&exPPkHMvl-9^%^8hDNYZO2Lr_3X@D1SQ+cu!R!pbGj?%({STYrZ6j<*xCF zqR5$;=Myy_)8iNE?4}(8w{8F&KzrS!Y5Hom2h=0P@s&n*2+TS_Ghv>SLrS#|JZ*q6 zep2eQ2GS2Lk<~ylQRwmMFQAzb4R8w!-QTrknx5mSWi=tVsX>002ovPDHLkV1oKBaF751 delta 859 zcmV-h1ElKy^>hRn93f1`maz1VP4DT|9I!7H%_U zYL^z|ilhApnyxLS@sc4i6!b^+z0>KJ>+HGVYB=8QbGXOn?t9pC1GSaL1Ae420(%0)Pwe2!Oi|e+=NF?@8-E81!bWZwrAbu%4;nu)_X>&~CBgOq7g7eqFk0)*`Ps@i9 z2fPbD&7!k3_QOG))UF~1;0sJE5Xk1c^!!D8>yZW`M^gw)v*l$Ez&T;v$e_h?xw@Xe z!so{AOktwiU~I(saTcvUUWeGd0c>gNAoV1Vv(xp5Uw{!* z?eF2h3xAuNphjj&)y;5+j~T_z-fJ&beG4z11@ASjbf`IjUn81$(7N|-^F4pnvGUR3v~74;o1D7p4nnhd@23$^jMf z6K|H?^&N1`>JkMIz%KJht;(JQ-cz*@Pz8M{7JWdqYq=(g^{(-VqR5$<^NCtc>G)Z? zxVr29ychr*&|X(*n!Z_dfVzb^zR>6nfkh8!I?Qu&NNII}=M6B$S4w@;K>DdAvKmNc z3RFG5{0B5Wq5)1}rR%#EusZ^E2n51?flZQEU*;tNWwa!ZaoaOzVz*-ek1LpeK lxZe{fmUZ0#;gk8N{s(CGmSVzLbhQ8g002ovPDHLkV1h~zh%*2H diff --git a/graphics/pokemon/rillaboom/front.png b/graphics/pokemon/rillaboom/front.png index d8f8b71e95aa5cb7ba3a7b7bbe2a6cb8833713a7..b3822a3b4fa12db04a68ac8dbb63542072313807 100644 GIT binary patch delta 1064 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 diff --git a/graphics/pokemon/riolu/anim_front.png b/graphics/pokemon/riolu/anim_front.png index c4dbe76d4f68f68f3551f3f6965e727b161d597a..091e0dd92aa5d2979610a109f47a178708db3fe3 100644 GIT binary patch delta 715 zcmV;+0yO=&2D1i`bbkV=Nkl-1@Z!Yh;Dge7X&B0T8Zcg zP{KSTR2@{s3=k?MtIZ6MtPof2%sW!F@&n-Fc;?Fxx@!u*#ec0Qp6Turw#E#=1KFUv zuZH5i0XB=gcffF)8?)mGngMzG?uPo}L40xNjRnE-L8x<`M9T*c@Z)D%6VP1# zy5}d5tG3n}h<|uwfw09g%5)^kMzTPO70?!RK|z(t0aeum#d=*wfoz&dl!k;5Eo{Zn zUpSk*AKj$F0yR554Wv;CV%sY27zn_vlmyfX2ZVNNMF&Ycp?Dy*aaC)G5-x{uBW+w2 zR0i1xF3Bi}X?#rk7>JGoNI;9vsaA!jn5-7P13E7uTz|D^Y|Zb1fqrvO&6D1^vBLB| zAn)x8L_Y(JCGD+SF;meeo%BEI^*aLr^UlCF{#j>W8~>~`*f)OX47@WuIRloU9R4~3 zo`3^qz%TW{84S~?l+Vtf=e$MOAc*u`MfbhXy_w$j@fI-_@o(!4$U01cq*__RIRn92 z3jr~8JAZj`XCFM*EI_I1X*+!}O>(Yd87%Mp1Rbf8mya`qrl#ui4kLgyD33L;T71N| ziA%;B?3G?4HTJOZ7Vh4Lak9?9c?YG~Pbb7J5e4F=T(fPra^69u7}>pGh-x$siT$oJ z&6EShTWcQ1ra3LSCwBqbJ~5qp?=EUF*s(B7-$dcu1w_L2UD2}!!<9+y#`3P)DIbnp xQ#n)6FSPI*hf$(G@(wYurvE^GXK~U$>koW0tDvs;^K}3K002ovPDHLkV1l3?R{;P3 delta 720 zcmV;>0x$iu2Dk>0bbkN`bV*G`2j>O{4k~3xW6oUAlHDkQeAfbjus$0n(*&`VxJD9%-iypd&qX z2w+YE?my~C{^Wg0avHC82zf+ML0ltrlho^oAk|vcR}n$JL4VwIk$&{6)nKTU_v}h(CpDc{VT|FoQ)HEPhY1FPyZPOxhT=(faS!3M zTs{hYZgRPN41WlI{9H98XfJ;~@Dr#_*BAq&c;fxmVI>PAMb#?a(O3g*L7%M2nVg`m z+ho1nHZoCdJBw0E3Uc8bN1rfrU5b8E;RFpkJtb0Bj@Wft@&eo`MS>>h1gV=^(?QZs zXkM^#aore@Iafn^rCeOE$p*y-u1J|=l%LT)CZZ4BJAYbyNnRBud^Z<^7xY1e@NO?y z&mRPnyJ7*)(|F@^g&jhIa&RjULqxE*bkMf~PMzX3PGs=9$Us1x3|!-nl7VadQ8G9* zeoqE5bns*Vfg1ji0k41;WWX==1sP29s8WB)VBpvyZ4t!kT}|)3FoT`H_Sp_G6WMP^ z280fCL4RIvoWhfV;Lt)qM%_+b+(({SfJ!%T7PVx4ZZefDAHoVcQmrnZA__xIHN*~k z0XComXy9AgN9@|HV$k5(l{ZL@JzdL)Z5@Vj!;yh!2d&wwlj4pPYs9N+YXa~Buux+CDB=gu&rph~daT#55i$0#5w!|HdDDGpnHF8TWVq0000#7Q!G5hI0cR7if>-(ynD`RymTht6ojlQu<)! zw|1aOXI*?|%l8Ng;UoIFm=C#eWHjiI)uF^AE0CGl%ZewTg8~hf0s*33?x7{rYf9s8 z-lB80WbK03c6%cOTofR44L(VbCf5&cTYy`0sA?ByU-f=`L+F=nQC+zIF(HNGVb zu&;R&##&peHereYZ(+u@q=HSD<#Z5+$E1XLfaPbVsb|R1R$;Us2>75MFInt(9e9*> QdjJ3c07*qoM6N<$f*O{4k`i1@SQgR z006Q{L_t(I%k7de62c%5MfV0fTp&4$P11%Y+scuwZS`u}2FO6mSDUz-S{ujhc*AEG zctk%}X}4xiY{7tPHWiu0fGQ$EC+>2L26R{(6v%G9#-6Yp({MU}2@ZqbBF`?!{qSzY zz{vpOa|}g;viNcGs!yAw20bgs8uTF4B4=|MPL%g=0{Yk2g#loNan20Zb xBg}f(2_thc!rUPGGs`jxk`>1Kfrt!ucpV)7@8tjh002ovPDHLkV1g9CXtV$T diff --git a/graphics/pokemon/rockruff/back.png b/graphics/pokemon/rockruff/back.png index 877e0ea6677e268538b2d836a8f1a821e098c780..fe6f24e8252fa6c638c942196844dd968218b17b 100644 GIT binary patch delta 604 zcmV-i0;B!71;hoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v$<2K~zY` z?UYT9oG=iD-I5nGyJ6r0#nDMR`=Su{C82W1l}mNE<{z-(Dye7ThWprCJ% zq`D;p_3>W0T$ucizc1SM=kCcNNpM~bd*GR|4$$_E(HoHHKc^w|T{L;%)8Q@%t-?*NcEuRv@A0P`Y2*E}yixpa$xL1N(O zyVRN$P#E9=P|GT;2L_5V^ch8u0oO@tHo$Pk!0Xc;pfHf9r3JQs9vgsffx(K6`yx;u zXZUS_yu^JREHZ3>%r`m^gLBycCku2yIF}EY2(tz3@R5rJY&dcUkH$PxbH0f6uNR>P;*c!9N3 zBjm}$x2bNYTm1td9X`#t3N4|gw@x=kzt`P#t;hJ`M32&)C9rdYg>JQsM?#da(~%?s zcC|P2&^9I6NtAFtamM6FFDe*~ZUKl48+l0G;US^P6{xH?01>{;E+38uAv#GAA?z~F qj4j6tAQ&LjipT=xfgt}%5b_5stmUHsrw=Ot000039&@eiIsI3;Fc)1Q=(nv-w&~|LVkmln* z!{Kn8B>(NNGbvv;Z+2;l{i@#rkCdhl@!?*nZnJbp_ly?t-8ZH5f9!{)uyVI&j6H>S zWKwF5kWt0}cx2Yfkimpf0MFqmO|83#z_92C0od_70u-158N#yQ2H@g> z`_?FL5Qr3vvS7!r9v~(HuosfC*>Z9NfW&D5Vi^FKW(l(R+2M@Cu-fZP{45WS1C0*)4FfpAeipd-v0u+5j8O)y7pfZ`Uwhf(AlfNBju9gc4}NtY!8 zIAdpl&%(B(Hy2A+Ro-e_PJRjsa|{OzM#8g5^9q6$b5AaSe`w4*=x~sI&N=rzcSb-} z>uYO98|fFf6*vH%J9Wp@5B9yo6Wnu?s;ZJa2b#|t1BNQe~? g2jmChANs5L11zlNqo;G)ZU6uP07*qoM6N<$f|sKWIRF3v diff --git a/graphics/pokemon/rockruff/front.png b/graphics/pokemon/rockruff/front.png index 1b5178d3e2358be18f33baa4405f04ed890080ce..1199fbb592f9be2158adddaea184f13f6f797514 100644 GIT binary patch delta 551 zcmV+?0@(eB1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?bI=g6G0RJ;I}wM(%oc5hf1>`X1lJ=kg9$9r#fW*2Vae~f_sU7gX0cI=8fz5-ErU{;3v z9&k(EVU*sL10NVCXB2UNoXFS*PM@Ix7xFE@Y&NU&3OH0DAua1Ows&__;}OCmaR~z<@OZ8!!F|H`wzsH?Xa#) z5i||>YCyDm4OZJTG`~$!3y|6tbG;3M=-qSqYGb#us|vl)+cP$Q9wZksvAdvJ>y<92 zTY%h4q?995;CP|SzOJ-@qgV@jW z21L$0kmDJ1O3r}J<5E*yhj5>*9U50EDYd& zFo?~)K~8)#ys_ZE0Rs=n|A2EhsHNu|f=6vm(xDUdvXnzjKHt zFpvfQ5H=M;ifvXT)F;Ku`}F*L&oM%`@gGJ&{;bYuL|bNsEnk5sf85h6g@VE=G{`MW9Wp-FuT?9=HzGx6_ z-+*$nhvwHwY5)+kf5lvt)+|1}6mQn%DBH473$@u}<56-Z5_1Zolqyv<-2nJOB7_*} z0*4D#^_8^+I>^OwGJ=S6%yr({0^!LdPe;++tVDI?0tlyRMv1y$zd&gZywCYQxjI)R zSvU(ItgbUvy{=?uN2#gn&h*F0`9dvur=_OM2|i}4>HJbpe}g;o^`(3zJFy0lGmr4$ zB|Yi@_X32wuzPc>Jb#{m(slzNq@m~P2Yc$120MiMfc}me@U9Qk!kBBo{9q94djkyn zdU$8RLk$KVkpBj!Zcs~4848}X8BT{z(92SWYT_B|rEi_!ARC%z;yLQ&o>`a~<{DuB jm$wdccKhJ}7pwRQrSYn(y~PAQ00000NkvXXu0mjfaO?G& diff --git a/graphics/pokemon/rockruff/icon.png b/graphics/pokemon/rockruff/icon.png index b421d36ebab306a863ec049f8f8504f79d44e5aa..5df839ab5d32af10d7df0c2a2a1b2ae3beb99ca2 100644 GIT binary patch delta 279 zcmV+y0qFjc1MUKlV1M~ZL_t(Ijn$H|Zo)7ShW!Soyg-I@2PwBZkHOv{Y(W)>+mdH( zEaA;DK``1SnD|V(GPItoPrCnn=TC?~cl;7un80)eC+!T*WWBv0&Hysq(SV564BYWM zZxLk`Giswr;c6WL5w)u9Be>F@$eSW|ak|^Ib}YC{e%Ne>k$)q;vd_BFZLARI?9?bt z48R$KG67;NKBRsDy^-B%#{imI+gl3idx0AgU>sRUGK7aTGQ4&Hey{jHA6QNYRkHPI zRIhkrlQ5q32*M~#40;NqVn`6C>=`_SS+O4vVH^t-gz*LY5rpB2r!dJ+zE7A}KlIWM d_f9{40LmYw5)gtwP455z002ovPDHLkV1mrKeO>?n delta 315 zcmV-B0mT090+IueV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4k`)BD-{I* z008w#L_t(I%hl4cZo)7SfZ@EsDKEefc96K;c?@=ju%$vpy)Ajx#uDC~BdCmap&>py zOBV+46#bIz1l0tPUw;AMNklg=byHA%{uEt2Zw-{pS#{}tNdA0c}Ew~FEbkYqz1ST1;rXgPo6 zfyLag8PP%ofGh}@Ai!TzEL8xwQ*43|5c9yG*t|Wl=gyUHjDJV5b8hFhw1M0B&uvJH z!mYuF&=!SD>w6EZY2Z*FJ+LA&WVx=ZlLtx?c&+!uoNKCwnvLdC3p)B8i6$M7TzB%Z6MX7MmwUP z?bs*)Fd0S2tbZF!X~@3-5BS-aW^_y40}AUcG)=;4=t|_z-KJ#PV9+%?)9t>RcmAWh zec&8u$E*hfx30QwcQo)?b?dU|tp!XJHGMKSu`hq6sMXs8 zV?Z3|D=|0000v2Noq42Er?*;`u=knp0$$(A}V;8YKA6+mYXP^NQ$#(RJ(;*Oc( zjG4}U%9FE`n(l^!snH*P%9N;|Q8dJV8*vf<(tIofuPa$1et%uAWni_mV;Rr^AP)jI z2&@CYsRO_d9ViqeGB7H4pFhR#MAfIDQ67j6wC4qA=NIi*iITS9lkgHHWzDk(wmfiZ z&K}q>IaIZ6>Wc>|7Win6^)tQmz`TL^FA2y_klk>`0-Hs5{Jx=M0q45w^@cd(DrH>T zT@4~|buc);1AmSK6uR#05c%UY1`LAZk6U?tbi9DlYlCjWU)!nG0AO>DP82Qji*4@#rca2JmiHeq4R((rXgcZi-0w!%Mh>% z1M(&x0uxH40y9peCLjYy70TafR|#$~>YZKic5lrGzkhgd9}$5eVLTYow(h;1c;KV% z$Afn+$Luh_G+#ai57d{;=h(2ozB$9Clz`I_zKyFm!0fxluo!QR{WzPq>x j88bW%?;7Y3e=+_5G6slcw~MIN00000NkvXXu0mjfQi}O? diff --git a/graphics/pokemon/roggenrola/back.png b/graphics/pokemon/roggenrola/back.png index ab336a5cf30c38bcbd7b1f2ed8bd7f9218bfaf9f..86937d8d1fd23c5dd7480aab37686c0d37d01873 100644 GIT binary patch delta 328 zcmV-O0k{6A1F{20bg3_|LWgW zui<91l=H@#g$P<>c2fSfGR7|Ch6*rdFCOtl3!VcTYLJ2btbnDJLF)+o2%vGU4)#h0 z_FDqO5jEgsKplstzz4K{?f}PP{+<$ncsZ8ybkkkLlJF@HUgMcx5ON+dBCh!bkn<}d zo(l~C^mPf)iPRBJLj&7EV7M|s3HUS~8L$G<3Hc*@@(-Z@lQ(Gwp#-Le5!?hYbX+*# zAAn~7biY6+4s7QYz4knSECRhi$AKQEApp#8YApk`&A|-T9GE&I@`C}*_$l;-hS&W2 aQR)uNL5z5UNA(f_0000al+`>#X{(&bq0)6H}VOCnG%yr#1}Am)C;gt(RmK<-}=@mxp%;L|0* zD{@9W4GCffgJH`EB@k#_GGYbL3FRdMg*(vyeI}YgEP*Lu1UCf?85aqJI}ii_-7hdC zf$cn^H$euFMdTmoH6+l(R1844rZGBbwz)BbwFIV&{1L!nJPLgw;aUHnegMotjCeki R+rR(-002ovPDHLkV1n9rh^+ts diff --git a/graphics/pokemon/roggenrola/icon.png b/graphics/pokemon/roggenrola/icon.png index 93fcd368bc5f8dcc9d26e6f9403b329a82a94e04..485e0d0f763f63622291997d2b0d695fbd37f61c 100644 GIT binary patch delta 85 zcmZ3*)XX#?fxXYu#WBR9cVd5}bKqPqA?cG0cfbF6`Ql>#M7ayB7n-O1m(1E?P~+PB py3vb|NB;kQ_fq#;?foUb@(i!HCd71oJk!Sj1fH&bF6*2UngB%}B?|xm delta 124 zcmZo>TE#RWL7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKW9QQnSnII&C{U=^)5S5w z;`GGyNT-X=PwWqSu)Wy#-2cCWhV26G1?-ytH-FDK$!NNcUCYv-=Ffk*tFoE$c9%?R a85mw~O^ESq-OCL$gTd3)&t;ucLK6U|dMfY$ diff --git a/graphics/pokemon/rolycoly/back.png b/graphics/pokemon/rolycoly/back.png index 3a395f3358413cef8ff6a1a0e943ef985f8e0dfd..38f090049096c535b4d4dc6ce80f23fe52d33bfd 100644 GIT binary patch delta 406 zcmV;H0crk?1eyepBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tQ0dq-2K~zY` z?UFHW!!Qg*jZ9uek((ZWEy;2MH|+t;!H~?yPx9Nv6jS^fZt(|D!((Em6+8q=N&r!E7U^R?Oob&nhR}h5SL@XxhrEpW>kEvMuE-TF`yMk z)s6#OjDRtBGjtua7C`cB$H(pdvOT-Fh78=8QDP|7DgfZnsi7BtrAyk-jR1i4@T(xY zG@S~7GW_f%X410*5*5^%eFkI(1hjS_Q=Q%@0DP@v1`sbYa5<5G9snu>7zD090A*~f zmH~h;!G-glq6vBkgs46b41C>~z`zC*piB=GEfd}LHZ|)2diDOgk3_I1m-EHYi;q(> z(N{teLDLL?qK$c3{^2%4tcb8V>}VIidYKet5k5b0duk3u6ak09J+VrF6^r{e1L8#7 z!&*5U-x>I(9^f_GIAU<*coJZjTTC&<|Dq^<006y#-zcL1`~Uy|07*qoM6N<$f`ALG A@&Et; delta 422 zcmV;X0a^Z<1dRlcB#}W-e*gz`Nliru=LQE3DibtG?0*0N0dPq~K~zY`?UFHW!!Qg* zjZ9u81ck?l2m)OrfrgA-GIYxl2E9OoZncm)zCeTOwk1u;asoH)0nEXW%*Rji+eI68G<(zBPCDHVZ4iCVMI0M7s#oEykgr#BRUt`*Oq z*^3NZP8gmCfXV=ff50^eP{zh;DS(yXFcn5Q3Z!^8>^n!^rv@vE0fffu3k6Sc?Y zfQS+BAnvhM46H~zv>9M0;vUZN;rLF#H}(Ln*~SrN;p2&c99?cP#T5UI9{|09->ix# Q0{{R307*qoM6N<$f^FHl4*&oF diff --git a/graphics/pokemon/rolycoly/icon.png b/graphics/pokemon/rolycoly/icon.png index cb245e6cbe34f8777b363288f2128980d3229a2d..fb4108eaab32b2b32036acf5f42928a62467cb1d 100644 GIT binary patch delta 184 zcmV;p07w6|0;K|wb$^>lL_t(IjqQ>#4#OY}MY#d`7cdgtlf!jj>{;mnOv%#CE=Ywy z<}9u9H$Q!BzVwaxbyay>rdpq6VcLuWkz0000)*e)@d#rSIIYkGIzdmN0wkc0<52?IIr%B%uS6 zC`{l+3g{WCCT{`=7zE-kP>DsVDs4~n7PW%i<9%O&6>T2zK|z^wZop}h!kW9YWPla! zqKS2$YZeu=A+Q$_8}e6yyXHUpqKCfJzaIK>ay>rdpq6We!sTfI0000*ErtxKL$>~?z-f6wf1`Vv)`OsHr_!-&enVx; z`Y;WYLPsBD(LH(Zxw9B+tpBLz-`>yD>p(O82~4g7hw%2gN)r|ySVW*qfUKTQq%4jD zfRc!8FBK70tMlE?zZv3xV*t9gEpC>B$PgDC_+ z*U{4Sz(&PBaE=m2k+Pc7qvUcjbpD0V;cdLjZ7pAFeH-O6O}riP67;MvD6&fvlU_RJpP+xJtPfo_fD zo)-9g6N#qumJx{kHbQseMn*sxFjeH;K3l}PtO z5>dIVA9n6c6CXX$rA=^?dCQa}`@Bt4i6-+EQYi_;JOL{65-CcOod%OH096G`-2)pL z@<1IVv?OUXg^u%xEkUwKCR@1v01L6HA_*#sB-enuy&bk_A_-ZRcWMn6b{JI+B*eDM zaeG-=Gy{oTbbvN>fAU^cMG~fjb^tq9ehLzxq6gR)03Q9e1!Q6UH0_QJ-TfnT@A$}v9@z{&I&HRiy?#AM9Uac&KWvOY$2a(!1`XMw R??V6p002ovPDHLkV1jw1v6%n> diff --git a/graphics/pokemon/rookidee/icon.png b/graphics/pokemon/rookidee/icon.png index 8af833b08cb0d5ece5bf2d1ccc13a6e6fc5c37a5..b065237866b65a99c82ea4afc4cb8a0151e68efc 100644 GIT binary patch delta 253 zcmV#uEH=3hI0eofeUm%Vx*^FeQ#jnB<_^8nL2Q^ zw=mgJQBhd@(+*A3Zio%NfBa-Smh(CH^`R{=U}7;B$c-&J@);!W1&*4z1Z*ZLrZxjF zBFVS81@@=PA>^T^k1G(ctWh2IiIF>8zq{AW92WoubF%=FA9m%YD^?#)@?74SN`_y+ zm7%`c9w55^ypip>ND*VnP1tKG3^ywi%d=AY@?(ai z^!IaJ3PZbUk5U+_47w5~4yTPUqaSNwCO_7~eB{Rqs9lr`vmAIn00000NkvXXu0mjf DGC_0& delta 272 zcmV+r0q_3m0{jAyb$5#1_p(m}@bJ&6JJiCA_iI}V6A#T1wJ@Rf6D#F2c^;*Epk?%%SS;5=27D;o+crF|O7w2eS5p)%`%#e$y?tbaUvG zt)`zMTMpk}>e)G3yBTgfP6U(ietPdovV#7#K@aF7_VH~1vy%frc)$Xa&SKPC2S=^N z(d4w(;*5me;wWN60Pz-o5u1&BfjJ>zKvBSEBz~z;N?l7rP8bbmgd{J431b0`0SG52 z@C;r7utdh3L_+r%_Z4J}bR+I9NTLo%UIREHL8k{v?;8IA`pyKO?Gu9DW954w>;>>1 zApI}K*&g`(x4`>;V15X|9dOlu0rtxf33{`{him|7ONh8%Z!-pe4O)wg59tUyVmz#S zf^s^10Y_2r{Tm5qL;nM#a25nmG-QGMDdlx19sh9pgppX}o`964)>5|m`mu6%g9Hm9 z+=~O(92Z&^<+De%u6K2XXw0b)o`^Y8w^B=0I*;SJs+#p9q>M5L@B20fY5Zv*S&@MN=ndB7+UF9?(()@U(7Vq|Ig|JTZmW z0Yic{g)SiCQ|0vSD&0)8g#%)7LC>v(5TlH~Myt98Vw>j+5qlt?UR^Agg)zn&qe}pu zoCSxei3h}7A}9uXaA%~I7QQz=Bi*%&5EKsR9JbnhzM}ub4TOFHMK3(jjscyL Q00000NkvWtM6N<$f=c2w?*IS* delta 674 zcmV;T0$u%)28RZaB#}W-e*gz`Nliru=LQE3DkO~bNpJuF0%}P_K~zY`?UXTV+dve@ zFBn0GEQjRwYgC+tXXDGRU=Ew$pdpYw2<28Uh12Z;UG~D|_D)^8WRuC{Eh3-7n~VDH zT*;-C?4euf!w8%AyZ`&&dwNFb9}99KKcF9v10J280D=<|9&RNDf1P%`u#q?$U35xZ z;=oCqg|rXAP9mg}VJ9%dIPeMb=>$iA^oS7a65}Z)!35*@cVI-RPa*(<(G;G3+;K%p zZ3+kWG3+u(DQ+X`G>F3%h`YLk{WkB%op<~N=$eUld8pubj+GsNVA?&a!!4$LqiEvh zZ-MtWeZxEscr9?>f4u;QYw#EyHSrU;0Q;{uID%KBHw5<_-uxn`I!(!YR% z(Es`c2a~@4fk80weJ~nO-~JS0)uztB+5Cv&h-Z#~Dhs8AX!7gV((VTK=bYOY2iDxn zmB@>|M!BwbRf$N%2E z&v^F9=t2S@fAa^#tUz7E`55hiY?fUaEdezU(<2YT81&#t3nL7CuU(B~*Ia@V7|<28+I~Kx82_=4A4M-b(FhsHjQ{`u07*qo IM6N<$f@)+#F#rGn diff --git a/graphics/pokemon/roselia/icon.png b/graphics/pokemon/roselia/icon.png index 00378e76679b9e02312d6bc8cf9759475b0dabf3..6fa3cb9c29c629b024f82d23e60701bf1c55d3f3 100644 GIT binary patch delta 300 zcmV+{0n`4y1D6AkUkCvrNkl?IluTkTH{0DhpYpp=l#y9avX60jW|Y zlWvKcxUt#Dv>o%W`|rQAKF0ohk@bMZSSSgOrr?%n3Jy*T0kAEiVk9`|Ij99HXX~~_ zn<%QM@yyc=uv*n3o=$Q-Ad2pU5OD$hvej#JD-ux_4L_Tz@MTvET7cXv&z2xmIe%i_ zNV)A(2tSm<&s54Gi012^d$@k|b@Cj&eUkZ^-nB+A5tKgZV~)7LCpNzBviLCe-4e_{ z{_pksz<>n|oJ?R?bz=g z0003XNklD%45QhB*_fich2Lfq@rpg zV;xvmIRU9sC6jKAnz(Vmz`(Q}^RN5w{wp$3_wZ@M`scsQXms@v#{p6d?Q}lLm>Zc}ag z1LvKG=t^sM#rd4|_|VE%7aSTs_DMS6YQi-eQ-?BTh%#hLyHp*+QZbgkbDY?*oy=7~>3o*I-+k|$eTIKc>&xwxesPIQ0A!+! z76XHIkc-L^Vvt`^ghu^;OglG{6%qhSu@5WjB-w6GMr%sIfGDY)fv|`i5N{MYwVm8# zab6BD`D7~tB_iZ$D=|sRR7E8p%mq4EWi$f{gCKxXYQ=&52q=aAbI1m0DafZZ(SkM& zpzAkDYdVC%C`7$^icSbau4%xhQenx%rUp@OQ(&4$sFHtaW_<7P?O2P&M#N8_Yib z1#3R)(D%D>!WrtOI4$<^19$@Xh@%@@|ES}+HEh?pe}E%@KUD0KoILPT?wYll^B4ne zqZ&V&yvq5G>()=K2)K!WAqH@_$yt39;BX3f5zypK&QEa&K(16QLuc5d0D5=$V2cpVK_V=H$5H%w zHEhAPTX(QLy7!fA1QFL^ggyDW#l>#*w7p)BkPY;`i&=>XFndCT1PK@Lp9tVDGIKs& TfNa&100000NkvXXu0mjfjtop^ delta 731 zcmV<10wn#&2EYc8B#}W-e*gz`Nliru=LQE3DlCF8!9oB40;5SpK~zY`-IOtJ+CUV? z4=M5x35j!2rY;z%8v`85R;j^u7?ROvR+C`U5}GVH_XXOB4^TyNSTZ3cU8|~zrw+}; zfEd_lm#QOKD#oVo493Pb%vGOsKFj~#{ogxycL@Dsk=ZP#hJ_6(e?~~e(qug_${?{I zZ6HRul*D5)OqA0TQNkV|6^1C4!O?QlB1k@gMp%mZjJSkFk9aGIvF)Vii*w@Qk&Bix zk^(~XO9_P_`B9K^-kc{ZStd&$Kk^I+Ax0QD3V`B5-$ls)DSG~dL`qP610v21Rx=1v zbwLpFY;F(%NRw6gfBHNrl9H#t97cgoMJkm_0L){xMs#d4s*pT5l;t%5rBp5vQm!Tf ziU(-$U9|yFV5~NdDSLoS%A8Wzd1Mnvpd6qwQ2|gGJ&pmUPQ4r|mCKasa%7i~V-A2Q zs{qjGCLo8p02G)_HIe}Ul>uOV@K^(o)V}KCSfAvb&hy!XE_!0+DBMiJw z074d~{5k3H1s10EA_)+DLjR^2Xak|OtygO<0KwwAWv#m)CKF`Q^)gCNAIDwASbqh5 zpH8iAci(%zx=8^3{IvF!?gdYA+q=7tSNOZ3L4_An18w(Q_a5~vBf3fGH)@{#LfbAx z%XRxtt$$LXZ#C1l9%typT}0?FIh(N#v-MiddI|yeL5?3y zR%LA8w(Dm`0Ne$@7z~)*WVF76P|F9L0BEu%V;vYA5PI&xrvoqu0D+z}#`vgX0|_@y zcJBoAtA)I!z;6Je4x{lLR<%Ct;5Uxr^n;GpR0=h6QDE=@ANDX-EFg?!JMxoPgA#1B z{eZR(zv8TCaqFL&`QhddvprA_2Lp_=pgWh#6ak1p=5Jl$(gL4F3z(m{U7OLI3hz-6*3<_ye z7}B|jA?{MFE}&vS5JMX9cNkGHkJY{vUQ{9>DomDelOJGZexm z{Gg7(j3=_@f z?aFqJonAgQWL)A~Co_x+c0I>>+L}6b79Mk+El50rp~)zHkki>`ahyp3O&#A!0odMn z5x^0b;9KAy)#-uZ9x$kTz*NbaB`}ygUKbJ=T&DN6dLwGzw{wtn;G+k`Uwr%kWU!?e!^aI=00000NkvXXu0mjf DJB)>v delta 342 zcmV-c0jd6n1FQp(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#JP8zzwW z0003GNklr&TX@cvp$X(Q5^(9-A7haV{C7zIeM0>GD%c(9`+xMAa0ux=2$%(=l)a$u z3-YGtEQcRqz$_ObWJ4}3-qf=U&DM25@nLq+n=_o&V1_cYtzoRl>~C%BIH~1JjmC9+ zs$>dLPHyH%O&U|B&O#%~^a9y4NYonBC!Wq($Fb%Dm@0no0wg>0S_BNK@G~aykLvos zPzM-L9bn32O-~#cNS^O<4h*bT8>-Q|MU~?vHc`H4cMIi|GOSQDEFs1k=lpl~cuYA$ oqA~U{^&)CskMk}c^gBMj0A#SG7!N6MEC2ui07*qoM6N<$f=AJmmjD0& diff --git a/graphics/pokemon/rotom/anim_front.png b/graphics/pokemon/rotom/anim_front.png index bb3147f3a1c6c9e609ec33e41eed9d27fc652a99..1579cd38651b81bb4070aaa3c757c2bde2f82ea0 100644 GIT binary patch delta 579 zcmV-J0=)gd1(yYoUw;B3Nkl?w8&VC(RvJB*#j1+){Z zaI}d?%=E7qK-BN~8?(_Dy5txkc?&!?*b$~qbA?kUL2 zr7K&&j*w~n4(NK3tY?$}`oxvV$hir#3&he?kUOdWiphP}Scx1=jU%Ex%L+xEsg};X zi6(v_{vG|RE`}+nyjlkRmzNU^_b}jYTyKm%78dd?FnM&L?Ql-&UY1VA9_LhU_}S zz@Wd49FR=>3~5RK3TVj#VP4Q5E3l{6Dd^8!24~($L4S5RC>_PeHS~YE^U=QrJBK%J z`s+1v`aHV@kkj9pU(nwpDCqAM__kos-?Itt7MAq)?V`>=Y6Vb}Z=#7mk1w}Ih$X{Q RTZ{kz002ovPDHLkV1hRWBJ=!EV|>5QdpP!OrvvJV^zWe2PKbAyMd=SVd9w=prZp;)`jh5yVM49R*Twa+jvp{uFTXa5w!mn0W=CzTT&|uWvK& z8T98ReOkR-`30**`nXzL`vtFW>G$8`p~GH6}T$_-BN(1Tt@mks$Qp!l({~ggjwG#j|G(XayHeIDAHv|uYf(N zmdze8`C^q%*avL!s57c>(yjur)D`4j79KJ6o;6mY8h<0|6m@QdTxY5%I&HMk(%*%9 z)nM3y%F(jue;7`%+{1#qHQpGn_ZIRlunhu8F1e8G;qF)r#GEnfgLVSfq_j87Og|~; zU$Qy1(38^msG)z^DD@u3clwvDR&7F?{w1?6I%v_~RiI8_)87Gxsyatu(ceW5C?;+r zI?%rYT4d@%nD_L@3hbG4cJya1gY$^~>~m0>B;RW2|MNLS{|CI??6=pmZmxas^a4K-*(xf!9yPMIgHW zvV|~bx(Dxe(7mVN%>k%zft4LZJdpKPaX?_+gFCd`XW}ZvUfDK(bO;fI%64jG-@`-z z%c&8l8xic$6L`LjAI7!BDA_r{a)*)!TO1bxGg_q4xBvqvO$kS)D$w5$ zQDTHWsKj**j0o)|z+cnldN^8v0Da$p)$vVPBgC5q1WzMi-GS$K#YG^x{jh~Fd%6d& zcF?`2;Kc!`aDkN_e?&Zx^-^&_VBUipw47(+D#Tvd7IX*^gvz#SWZ%O?0L!iss2dUN z(Gz(79z&QxI*%^zO#qmd>c=??sEatGxUMenRLZXj&R$)_{1~gtP?(;tW0;<0ecsnW zW7Rx4Ts09;H5~k+Xg^PworV&!I<-#`y9tWfK@9;8rPt3zFLkMh0`)l6&$gvl4Zu|E j`-%1jW>u;F%-`uJ%1CfR(4$WE00000NkvXXu0mjf*WJc~ diff --git a/graphics/pokemon/rotom/fan/anim_front.png b/graphics/pokemon/rotom/fan/anim_front.png index bff2116b41d68ff43dee41f1ce81fdbef65358c4..aea9383a631f6d46fd904db494281d3fb610b93f 100644 GIT binary patch delta 955 zcmV;s14R6&2#g4jUw;FaNklD{DOHbVu1Y+y&nbBxQ`t^E` zWiV!U&x8BouY&1n3jn50`PO3i;IO)YjOv(-iZMap>! zMghfmk>gf~ISJNAL7wk~m}hyLU_}cM`#irj3n)lj0{sT^ttP;&kR-@Rpy#0!e4reZ zf>ak^5c7SWDgmw%m_d+adzI|37^6XfKJY`@@EhC}#(y;hho!`N1>9|_C`(gVFqp{& zK)5Vx63g9gnh2$g^HP4iKPGA0!N^~Km-5v@vFG-8zEZO-*VYvM*!UMm+RL>)$pp5ZIc%TGkJn+33 zkAJwx_uKHm$0Q+Nv%)`-QDMS&<{XcXblfoKhW@@h6jq3H8jCF9`p>iR~-)w<6q#x`|#L}2jR=@19))t dga`le_zi%poVLpnEC>Jq002ovPDHLkV1h~M&F}yK delta 983 zcmV;|11S8A2&f2&5GMF5Xa*;u++YQ#&IC)TgVGEF)Z}sQfi0Ln;{O{a~(Agury~w zvN*?u7S>18r3XJiPkn>#yL3iQ*|jBkFFmy@2*lQ3Gvk?&^nV)+{+Gd++dmK93-?~E zsT}~Ai{`Dv@IkP)faAOAOsIMKkE3k_UovklPJg2)PS8l(g`icgau!J`vs69Z3x+d3 zoYO0g^Sj+=DdV<@XQ3E|6BiBmIKSJWjihCQPiLH#a9Hdv)1p{OxoMejyiicw-2Zf$ z!dNLfCREtuA%BLmvMh=&2QcoV=aXP9 z6VWZ0KtW#SMS(8h3Zrqm3h=XId9%)rH`g%gMA;}7o3rwZl*=590*djh#8N~{5^Rlv zvOGl5vM6nW4Shg#EX!-NfP%zNpx;Qo)dW}yNrHj|dVd}o!3WAgBgl0D2C+Prxf0-4 z0y7A*;;54S6=O6g&<8H0f?r`(7}pdW))M;_u-ep7j;3&6w2&)+c-{0Qw!7Ok5lfk- zr>=Gw2cd03+81(@G@F2dq2^J##|TB!hs+aN&8d>{XCZ+?{2f)b};hS-=%!DitK_Ymish{!73O>7ZL6aVLNpl z*yDVZTLoxh6-5_dKfJN6R%wp`s(6t@@9EDC4S(Nu!r0(xJPj)zJR}Sw9yFJpYsUj@ z3Bdk z{C_O3Zx`7isB6RR?+_jYHKux*7zIs?w}b~uV8(;MPw|LLg209c0VWCg!Y05Vs|pHi zhroshB%oY_4G(BBW&tWI9yIGQ)iylHp~g{-dhh^U)X<9uL9H;0s{05YF#T?C;Q<-w z#RJ-8ybljJkudb(K`6Kwih&gmaJMiXLQo$bgy4k}w+9b~A%LOi_jtgDp{Mi313XZy zJm|xNf#LRQj zKti9vOePIIL*9x@RLN)~00fdyps+All~M#dvD<_do+U4`@Cpgkz<)u86-u_P>j0z| zNLaNQK10eyd-XT0UHv;3C#1~eKn{WJ)%*J!rQUmHn{DGDuNGQl?i~a?B zjl;~t1L)C*r!N7ta)19XpwS8l$=^Q%t^siS3`l+N1OWKjtpM03*QGL+`* zE4iKn`kWIW9+yCcF&qHYSa}>=Ht7hIOONW3ExQ3gg^Ct$CssMj!sbf+DpwYCDzR)E z=llnLtSUr!*~l>$wvo#Vfn=2@?UY`B2+-02;VNIo7f8MmFj&CoKZx8d-=E(RMN#wz XM9)#p0aW`y00000NkvXXu0mjfi%07+ delta 524 zcmV+n0`vW@1)~L!B#}W-DF6p_Nliru=LQE3Dmr%ibQ1so0tQJ$K~zY`?Uccaqd*Xb z;~T_&1M88eG=FY3-|;_06mOSHaU2JK3?AbXU+z~kbEW}qFu>|;(W?f*d)*j07IHb98W*79MK$zDCIGZ4J7m#%w*Eg zGvuwfM3s!T0ze=R1qus;RVhWV6T3}V;aTz`3$Kts4SyVDSfOOwx(+~kfrM3?;WMOM zv{!$_+SR{vaYD*W4&)HnUcJA+QR=;CwpkJdd9~0YbMGMFAz=?V=b*8$P)NrAR^Wp< zClfYOEGTf33f`9hf;OR%DL?rIFq;H;Y&BCm{X&hy92h+M{zv;YaN)*3Y8+-B9zc&i zJbekEm4Ewx0gYBbNdEpAa1DUlXF%$ECjh|LZUw+Txh|El+`qg!S^+fxbXscUwZpk_ z7oLOkLV^CmwG7RU^A%8JG77!B>Dcj}=D@BT038W}g+0ygHHN-ubQHXfUCH$v(C3^0 z@wfykjNt&F#>(U1vPnmvTzXWOY}pL}Dpa(1J5|Y97B*MnSGlsFQ;B8UIOjj`V^v{; zmyH~AVH>%;5QtZK(oX61hX5@d5U%oNe1YUE0fPmM{)5Qf^8NW85`O?h&r!{dW@K&v O0000-tucU@?(qybhonG>SDf7(Y-(|a#-{gH^^m8@>y*h4 z%^2hzm_}EX62byIhJcbnA!dLm)KTx_IO*lF_8j3_n|e5b4S(e>@T7MZ%H07}JI5_) zLwI$!qLDESJiF5+6X;SLwZNh0Drf=dp_W~gIhefAn!ha#%z9VA#LY8cqB{eIk!o{b z(0u^IJu5JZsSOyE&tHH!xa3)ZL2Og*0t|{{2S#9CfKjV#z=-gDVBX{Km0tp7FE9WA O002ovPDHLkU;% delta 298 zcmV+_0oDHB0)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l4oP>#TMF z0087kL_t(I%iWT(4#FT1hFLDYi9UddeGQfi<8AF&6Vo#KwvHvyP`1{iP2o^?jZE<8 zzn?q!l=|I;S}8zG=eP%)eNw>S8D~3tol2~t&<;+E8geu_nSV05u?;@o15>cI$ssJT zWAvC)$j1!G3iUL&*iO1RG>#)|r&A3lu)%BscY0;PY!0BtS}sWw!lS=btrm^l`@^Xa z=v3{cz@f+5O9AL6hFz4|e|Xq`T@sk}EP#oV7r;b!0SqJ6mB65V0fuWzNdN!<07*qoM6N<$g7No%(*OVf diff --git a/graphics/pokemon/rotom/frost/anim_front.png b/graphics/pokemon/rotom/frost/anim_front.png index fc7d2d35983cbc9cc55f8793a73dd7dc24f4c362..019aa481e7452853b553fa98ebb484a80cb2abfd 100644 GIT binary patch delta 1305 zcmV+!1?KvU3+D=uUw;JhNklW~h6o8`}h=ea7+CcZELKm2BA`#L7Cej5Y z(*fE|?bJfM4F>3BE->f?8q9V!Il-*vP<=n7MB9qfRr-K9hWLqme|+!x>gugUh|BAV zQt3rNE{j)y>ms{+!gYTcSZ=nj0L}KImU7v2XIdsPU|PL91An3i@*03lMBake6V@t$ z$3mG-uN8<8{xz9;Ad&cdsdH< z7hTK%O@BT7PCDe2)W-nC+ijYr4Z!-epvG5c9w`4i(9Hv=Fd~Xc!pt3u}r>u=>MwT;eas#nfC?(o#{UvI^!lFbY3C2H9G)& zk?}wlQb#c01~&nqBzJ$9!hTdLDwE?5DSrbH!mdzpwI53K1GHX$f_V=^pi(yw?*)E{ zn_*wVSXlUhZ@IaJ_*u+>MJO=V!jV0X&~mluVFw)p3)X}yzO>MkE0-5BU_o5z<5g9z zghJh)?4YaCkBkW9+T@wAUTzj>DFF8r3IZ(nC1|J^g{(N>8M4f=KHDPNL7>}u7=O12 zSmp2?^F!d$WCZ{@UpGsD#S6p0&BE`n_Ktw>wsge^h^n^^tlaOsud6->wPV0JbVKL~ zvg&fz+1&(`+M(v55P2c~sV&JBEfqml^`-$3o4`Ctt? z4RLG5>Vv>74;YRv_etlZIjLzH7l6~=?C(}IN1XxY1V~>7=H@7{wY&^K>gjPk)UXpX z_FN}vKG5}9`$vEJ`2kL-&n6J^=XAe!b3Z$Uj0T9=pVvtg&$;#gP5uQTpAuMx#{JUz P00000NkvXXu0mjfcqDKR delta 1342 zcmV-E1;P5~3XBVoUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#L)u7Ozj z000EW~h6vv|*h=ea7%0Ty}A{Ur$A`#L7Cej5Y(*dTN%Bh8R8w}9N zTwu@(G??vda)MdSq53{ZiLn*CtHBV6V~9VI?>#=g_xIJ+_kSKjoS%=Biq8TvEiM4p zMRI;62DZg&@eW_Q*~nKs>tl~D-ftsYK*ICKJlLgP!_(LiO;PV3je?H}41^^p{_RWB8HlOzZJpPNo z1}rTcAc%se?;c@=?(w4s2HYO^7YI}^_ng;biP58x6QEi$34lP57nH!#1Kk89G6`-O0vdo)dmu~LhZ(TnzSf7|zF7xA9T4$L zz}ouY(toOE1`-zy0)M)^|9I$fI|IJ+3c;<}0^o{_0}`J)f&n|) z82}@>`-2MmS*aHa!>tfA07uvrDy;TniE)6|>vqWBf(TUV2F`nhAL3@*mmmuZC-~Cs zEu5dh99a1RV+?HBvxJuGZ4WEx5LmG#T=AuWrd-*q2mu4bmhQZ&%9c>5`=b?fRew6k zh(MC{I5m3# zK*rb25Mc1aFmSVSD{NdK;JYbpF#)3LjRi0FgNt?5XJB>+Sc_rsJwaAoW;-*?K&dTS z?kfRw#L^f&a0EG$I_pVldF@c58-H*{bWR4mFjYVIwFy{}YQsT^I{}c89VQTY$alZa zZ8^d0)eh+}LxSBz>Uki_@%07*qoM6N<$g3`%m A0RR91 diff --git a/graphics/pokemon/rotom/frost/back.png b/graphics/pokemon/rotom/frost/back.png index 5d6188dd37552eedfe2ce879ab24d94ef66d9c70..cda64c1b675fc54d311fb85d8dc34b945adbd065 100644 GIT binary patch delta 371 zcmV-(0gV361Kk6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X9iQK~zY` z<<(togD?ySaD0Q38(<;vju{7N5IsQ31=c2eA4s`=%~x6Za3)RK!{%52>c2xkjs9gp z2&mJKK_d47Lm)*t1G2LWRF=ybs=5Y1dli=eY>f<3ZN()ZqqiUsGgJ^%R5rN;TB1f+ zf=|idT>z;jvL-pq;2lYS*b-vwL3ywQ#0m$%TVlMO(YFzOSM`OM#GC2-bMJXaa?Vvb z;){TOy6l;d(*;BZY#6{T|x4|xi}>}#J$^B%TYgu;$Cz*(Em zABkEGprQxP@B=wb3A6`XZN?F>PM85r@8@vId*E)z3;~z`aK8XfZXs|#0D28pS3&hR zLGc9ZyO@BU!1y`rfJ=Q20RNdp5~wdSxRp)@e992`z-0fOTtMj0;jdH_Jpf8E(04b6 R(y;&l002ovPDHLkV1iA~pgRBn delta 358 zcmV-s0h#{Y1I`1GB#}W-e*gz`Nliru=LQE3D+f1-2}1w?0WnELK~zY`<<(togD?yS z@a6`P8^o%_J7yf9LG%DA7g!tbeIRlDI((EBs55EOUh3EUu>T1`91ibTDh71&XJ8@` zAO?;g&rsP(20F{-8M?YeKzk8GC}^Dwj@FAIRE8f>AkNTHP+{5Re-daB8zBVmlEJ5u zc8TbnNra3jq*N&cP`(JEQVj#(l#p(Fgk^xft3m;obkm(5?|aUOL{#MfPeO(6eTPF8 zw)76+X^aldaV{3rU=GV}6|Y-dswjyXZt@TcvY+dSmUH-K5gIz&0P;ScKN7uafJFf0 z_&}0r0`38--Pl5{Tqn!`r~5g)e0lKFi=*k_>p4G4KUu|4uF-d7D4!9ZE6KcWX+=`v3p{07*qoM6N<$ Ef&{3TKL7v# diff --git a/graphics/pokemon/rotom/frost/icon.png b/graphics/pokemon/rotom/frost/icon.png index ef4b450650530f2bca895a86fc44bd9c916ff8a8..b476f3ba17096457e4a587788451284798116fcb 100644 GIT binary patch delta 304 zcmV-00nh%Y1BL^TUw;7+Nkl7!G5WsQoJW7OB~h=-USGCkJz58dkqlR>+24=FfC~99Im-A zeS;NoLbpN*YMIbXh#~EfpvJgFlLHg#goe{y0;mgqj-1E9#D5mP@HCo*0+V9fV%_B& z1Cx6Dv_kuVF-V;PJnhw)Wd_i<^xBt2>p2CP&-V0)S3V2KGhhlmg$LA`(9d{3hZg8} z%_9J7bEOiX8#IICO#jjKD=_K#4$N=>L$B|_5UC>=(SwPCIxsQxVB{W5K0^glLIIOW zi3%o>+JPygDk+#ks(@*vDws^FfhkieVA|Av1m+tnP9KR!o_I9?0000yp8%thTNaOwqK0w`W6FxiK7SKL`v^h=GM3=(d zaGYfE4;qypV}CnDHwSzdFo@$~Ky|MH(|mc|F&EGx&Yhzr7k|(GF0b)nCJ^Atd=;fqd#nPUJc)+N?m&MAP@>#r5r4@yDmE#T8$ zotY;@ecQHuS+btTAoJOtp6JRaf%y$Uk&oel^-bbsyr04z;&sgUD^4GYRB%wi00000NkvXXu0mjfGa`=N diff --git a/graphics/pokemon/rotom/heat/anim_front.png b/graphics/pokemon/rotom/heat/anim_front.png index 84c343d1eb75afa0298b90e6b73940a2c60b2bc3..5d96fda88d7b9f3fb64c222b7131e6f44e4c9b81 100644 GIT binary patch delta 961 zcmV;y13vt-2$BepUw;FgNklc#16hQrNVE!BU+t%dC_6ZyVL69|+Tfmb5 zs~L<=wbcUModcxE1+sMS)OIrJWGIyrSUo|KGxSrkMNy<3bZk)~KxFahf0Cm3U!(EA z{Yewexsq{A zq`QQ*ve?p4cYkuZTD(c(s2H#{1pbBHNy0#qB+Gm%SRDh8NYErn_)oW`?y~@1dFm#~ z`&9wtt6>2R5XetoUF`r~4QC&tJbSeVqz3@HxIMjE?Ew;42fFXRo+iobGtRV-v&i`n z82EOdB-gh$9Do6GfZ*ddj_~u#4fls~Ezkir*BA2B`G5C`6t@X|`2rGg;20oO?cYOjVj`L~Ud^^#a=`rP8O2f!W#z z%+)hD2J|dFrv=99*AAHZfncr}VIbrb9sq*Lk`bluW>e)mkbvGyXUQ^-<#g>o(lA)h zHBh z_J8E#F+FHNPe$`&dH}SE0*c-~ZVu={12+*9K`amG0icc$M?vV<1K#Joh*+QE(60wb zDpi~y4yIl`08&|&DUJ|Ky?TJXEPK$76U{bWJ-{@3(0;;*Uk{KiD$|m)-TL)_C5Z>Y z3bWn%^+1n-MeA3VZvA?|vrwEr+h&LS0y-a_If6PAK)=j~=SOuo0O#nbHRm}jC|I1n jhYU!Upu8RI|Hs>Jk9(ao&fAfG00000NkvXXu0mjf1n0`W delta 994 zcmV<810DR52(t)~Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#L?pjyz& z000A)NklF>c#16hO@zi2nxuwl#T@eFDco5M&MI7Vsp%N(Q4-ZM8sm=Kv{k zfh^rSHJyYy8A{~@R!)%Q4E>aBQxs_h9gBttVq1Lrq$u+L*MDlgwZCcHYwl;*ZUz9+ zYYu>R2v)g;bpksCwDlDjjx2zpY68Y1YYbypHXIG=0L{C*kIFiuaS8A$Fx10BQ2t>1 zOB}E>)&PTUn-{mW^$dnV1;9?x1>yFZ0>T4C3V74iFB2;n~gcd>Btrk%f~G+ za|8Zd5`RKKNJBUP=1-P{NO?D#N>@T+cs`va%QzO()Sc46Pv`4NvY4mnPKxTh`tpue zksnH?oFn!{+LSU0kx(VBJ6O3O4;OS7O?WBt{xX0 zf?83?HfQ=f(_gTXCiwolp$DE>R!bn%k7ibGzAIc?Jz!?J*wr7c2iz<; zZ2K5m59*tUL+L;}Jz&<-6@b)4;Zc^ zAEOUX>jQewf^|fMABzKez(7TaBR_QO0qygCgrrY#=+*;3nMoQT_NPugU?}rEmlVOD zI`shhdH$drCz`FDdH`Aep!|dow;ljlR9mhjXR~qZ0Z9@~f)r-6aqEGa1BupSo^9}e zen?5<=bQYHU%K~zY` z?UO-ngD?<9@eOR>fFWhYisS?dCqQz^qT3{!b`uHAB3)K+E~IAH8-%-b#wK7>HQ82G zMoNS{Z~n}DaPWwK5lr04OW-#F2@u{AV}QYLh!Kzug~AbYJ4BoChnNQ}GJ9-*`4rd| zvZV#^(ex19&qvFlwTujZz}!KoD1|7U08X8_wnK@yQL5j69&PNGm z1vch@fHf&3<+KaUu*lK@Siu@NlgTy@-7Qv27=Q=|<_z{l>5M7xa8R^cF!)r>F%+X4 za&(Wz7XblvPL2$S48_!s2L{-FnDs)_Sx&wQ0we-Oqm;@m;Tp?-jF0h7skUs}5)pbc z4nSfO60EM9qDJJ16%riVNZ{!efo)r8jRelm#0Xe{-3fuB)fjC)(d-2whgkwbF=gYps zZ&Zk1fm46+Z<5?q`@l5)pecR8dSL$X_dW;C>KaA> w*O)8pMxZ2-Y6i&j^OdNq-9GS$zYsz24Roo;TYqoL2><{907*qoM6N<$g0Yn0f&c&j delta 495 zcmV5R$oa8R^cF!)l4FPqN8&Ns7kOB@C z&=x>TnKLC`+DPk?T3A5i5dO0OD!t?}s!jlSMjW&kZyiZEWk$q)zU(`^qn!T=9Q(8X zlEmHzUi!25lJGygS^N+ueIdD>!Fao&7Twyl?C5cos lK%Aa0L}l&vfk*s}_yKgO$6GGCs?h)d002ovPDHLkV1f|2(s%#> diff --git a/graphics/pokemon/rotom/heat/icon.png b/graphics/pokemon/rotom/heat/icon.png index a25696ec6ed4f5cf4c49f1589998689ed6be626f..3044cadeb14279b375cb9a829fd1b3b9f03f9224 100644 GIT binary patch delta 297 zcmV+^0oMMZ1OEb$Uw;7#Nkl0?+fG-6nh;5(oYvlAbC1+SfrFe zfHd1}u*aUn*_r||QljK3{+@B3bAP4?cVOgj{(uXh1AtSxhaLn+QG=*plnlCx#wFb( zJZFNMpC7iwX_hc5aG=PgX4DNG@I4j)DRG+mHGlF0qk!5C$>rraVG`G- zq8q61;B$Syye$yelA9maH80sSqW6B7K2T@L6(2KLVmI&xKR^zUXORp~#~Qcp zh-&}m_kUZeR3}XR<=ynER1-!^|8Nt=KrmrUDKuerrKkyGO5qTu0y1Gtsa=?+6v2dP vO7+6jemh}W^CBh;?u9Xf4q?oo-xlTvpLwqnyR$OJ00000NkvXXu0mjf^I3%T delta 331 zcmV-R0kr=A0-*ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#L|T2<|+ z00035Nkl3tEu2`e6ee9ooWWi>iNT%bGic z9N5?&*2yP+Nxx?uF?_<>IW?E$v-!TQ?)Gl}Z8U4v41?6vu&mZp&6RSEEJ^bgzO$!?d zzSrydYXL)+JoK=xamm)hYOROqhB8Ym`xb-6HUkIf0c@H>3>?G5vD$#+L85zq*~+A- zC)G@!NmVdAsYD89BPC#j6e^gF6jd-n3Okq*kbn_V8<3eo diff --git a/graphics/pokemon/rotom/mow/anim_front.png b/graphics/pokemon/rotom/mow/anim_front.png index 1939d1026c4df4162754d802fa95a53f8447fb2c..550ddfc73830614df4016e18e9ee4eef85769d4e 100644 GIT binary patch delta 1087 zcmV-F1i<^I36BYoUw;G|Nkl6WCWO8p&=5!2Z$1=ut0ZK#tAi+<%x?L0}LYER}?TRAD94 z@DbAHiJgX>Mb1F@Z zs=jsPJDdcd34d5jCg~TW3V?j)^5qyn;sK=IbQfT9F_rx^CIBXKq^_<2V(4r?HUuaT zZ}tJ_Y<6;K3_dEcE=Th3I>}_Qh|G8IjXC`Rr-L@8k{E302>8*M4**`fMFTL;%vV1f z|2YPbHvsWZzZmoVuLRiRyjr1bSj@9;UXYVFIxbwE-+Wk{#F$WwGT*Z<*)#7 zJGRAQW>r1A@iu#s%vhTqT6>XBYYByX=yLRj?Me?Dn*{e=&|{7DgDyyYbb~b*z<%%X zxTeyf=YNCEX>-%YYS~$$wN3joe*4&V3gZW5`7zuhX%ZZ~-LJRZeVh<9Krs++W!M14 z@Sw#2+85%$MQaNbydzp8i5RiA{r}frTa?gk0q0Z_y)eOLU#YYutzeRH)yHXOmY(W4NkDbwI%R*GA73)Iqbv05JE{ zUy+rDb|d0RwweC(D9!ZK>RU&)!^zB$1aa=obfj3xktS0Gj3iCbKl5?`0dYRo-K{#^hHWR{&k9+(f8ULWLj1yT_3 z?!7sEcj*O20}z?xhunWm;jC={^y$N;IeCCiDHge{Rj9BoI#GA<;W}1OAlgWWeqC#~80sa>Wb!j0ENCcqw-RQrU}*nwCVMAq1w+E*vrjXb?>K1) z?2F(3^tnMp_zUvwSIruN^}4LL>u$X!8UF8X_y4mR;tySgilLH(9%}#q002ovPDHLk FV1iAp2tNP- delta 1110 zcmV-c1gZOv38o2sJij?b-EU2_}4?v1u0!eoP zxQ8nf0b&$CfSpn@Kw0UHAgbJ@$h%}_bxzDbyG@cN$wF7?_J7CO+2!mv-%Td}#^D7x zT=R_M2wd|*L<{cQ0GvNufn0>P0DK9nGl1t-U={-ok=TJ$;7D@&5?qyu%I!%8jAxN+ zo4C&`30(&@Az<>40v;ym24>&{f?y`|(6s8r|nHw zXBh|pLdMP$fqxenJP{&BWGn~)F(g{ADGCM|0*9wqE|u0=q$!B*TgQ6GBoUAV)T>qc za^ZLDl?VLU5`n}3SbDkN*C(q3KT<^QtzuBxFAOqf#1leXDzu5@#4fT;T_ z*j$OCz1?h@?RHt!GAVlH@6DA`ReRUAcQ>M{#Sq|1@p*;7%~Dl$p+vvB@ok2j!YGv< zD0QCZ{(nIK`~dY~H`0SqkqC?m8f^6bpbCUd0fF7fX;xu=Jo(|hI@_xC|`IE0dquvvUaDu2DO0!#7_Qsh=3U6O%N_9ak4Bub4v z$p9PY!nMr_wO;2zc{7>2HQ+A;43l&NnG^5=v?$zniVy;!b)O!Z#VirriZJvCaRNfv z^p5SXo`b~ZD#W@?n45NiKN9e_PjoJUlXLZQJpgnskJ_MZ!o1R!A?NEdjd>vL%E z>jtYD`yLg4*mWR9c8vA_-d`AhQ1%^2MZnv4aPs!T7>p4hf}{J=e4x@wjR5lG{sNBg z(Wg{(sd_h*DIFb)Tg>4q7U)2v>Tbex|9`JGcX;p8+vY%*0|2{!QEWGtZPRY95(0WZ zB8&xjy1l$?F54Rfgz8^$MlF52y~Dp{qKgq=j=u^N0Vx_Wg$AQn4)``XdvFKmsqqKl zK)*td?JR~d7~!DiebNUr28X3JmMkD27}#K;~v5beJ^x*2oL}F c|LY#&cU^^wq2(kz1poj507*qoM6N<$g4??TLI3~& diff --git a/graphics/pokemon/rotom/mow/back.png b/graphics/pokemon/rotom/mow/back.png index cedfc25d9cb6cbf6b662ac9281dc9ae78d8616b4..f13609906fa8f2fa7a2d478e9b8b99042a362409 100644 GIT binary patch delta 461 zcmV;;0W$uo1hxc_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gp*UK~zY` z?UXxigFq05y*J424Lm~P00T;w0+yt61B1I%F$Vxgq@s4^OU4qe_6(U_KjMdWQR;Xa z3;iGSkLSVc5&tuUlrp4C1pom;f{Uks9%-$;fKZ@wqOzTP0M^sGA@TtNG*PpnC3pZ8 zr9{@jQ-grq>bUm(3l(91N{DaZaS$p;4&8#+VU3vdUF&P4fVl71F?yT8U9!Snp$8e=ZT&w6Z3$3W7oDyo-zqZj7a!xk`@9rF6Wu84B7 z4+(pm0KVOJF!nk$UohqAV7?I-XFx#oKJq)P*PMV7bo9%)2nB^14Szqh{R9yA!U4$% zunEl0-uFSj10;MXI+^d+{ZQHU)-W;QHGjlkVmA8$fOC)Z4eB9V00000NkvXXu0mjf D!M@j% delta 433 zcmV;i0Z#t51gZp(B#}W-F#rd2Nliru=LQE3D;iXeWtsp00gXvSK~zY`?UXxigFq05 zy*FU@28=9mfB~gT0qc>k6@T6M8EY4%j;FEE|1tk~9?WKs_?IE1lp$Rz00vY;+$vDSv47M+5hnm9JhFTe znDVG5fr%pYga>yboPq($pBcIX{a#k*zI zzHe_A&@BZ6w5S`*AvtWv+Z}gFJ6_%r7fqReZg*z9PQiLVBpo6xn)kX{9d^c;tMRj* z7}GJ3HtUM&)xqecxpH{e0tT~3UjLUhQ9<@0Wsm4`yX|1?b!fg|Dzd?RAui8=fce|V z@33BT0!q=*&*vf(EX-*5`=RY8fVdY9NKb%GVD|RDfAl**!iSUje%%k1U2hFj6JGO2 b{4Kr#fOC)Z!*Sw000000NkvXXu0mjfAt1p7 diff --git a/graphics/pokemon/rotom/mow/icon.png b/graphics/pokemon/rotom/mow/icon.png index b76d1d7efd212839c37e04a61392cbae5e3656f7..c3982e342dc4610b84d08857a1fe1ac5c8d054f5 100644 GIT binary patch delta 269 zcmV+o0rLKg1LOjbV1MsPL_t(IjqQ>#Y6CG4MRfq{6h1(TKzyKp)Oo=MO}SU|0c2R5 z!qu=vVBL*6x!Rd%(Rx=hq(~D8nPjp3-8x?^|TJ5ah-lrFKY$n zv#6-|sW$$J_(Uqh$!|{TujoH8KMIU~3XIN+C<0Slv;4UxDIezwq_}wXy}kflS0jEg T{IC)L0000O{4l5nX>hL)L z008evL_t(I%k7e}Y6CG0hVKF5r^o|zC^QdLu(uo}V2$@`_W&0#>5xg>P`GUJ=1eEm zhcB_6q0psJs0L#`eo2=6H_b1GLc|K7$m~kNXsmaYAV7<*5Pw){S#lY5+xu>UM;XLG zp`!^pToWYtn`I(1C%_~E5ll7#WV#vvCan_~=@Vjf1vp$5B0=9%ju&{13g50>*z67; z&_>|aw!s|FmaqQtu<=dncQzjLY}@S%@AJHBS%=V^r(a@}oPp^qGU|Oco8gHJkyL_y z*!0a`iGRcV$SyGI$uKG{qA*NxUHx&YN%Y6b)duQ^Z+_?tT~{N1cMCQU~X9o^R|92{${Wkb0bsB@*X zK2R|dK?Bfw_v4$^Z@%DvAFUh8C0Yl3h5`5|1JujKL3PdE%p@vQucH&}$M|Tynt->rw!joTEYK1O@ix8H3OgBr_7ZbQ zl?6B^u^KO3N5tuWEjDU@gaAMWNCaGgS8UEI;$9^278C*k%qunk9uID?2ELY~xzurd zluk{EyA1%G!5D7|Mst89ih?k`G{7uB1T*1puoNb)0Dm#Jh4Ru2Fi#?2>diQJ8B)IL zVTe419N@)gj1XBf?^@XEuQ8**dTvsjOjtZH{JSRwoJbgPF|N$Xt^k zLx4fljk5h@+5}+9H?Xr&5zYa6+XgELCP&%4S|nfLH48R)@jRN zv1{V*)QnxK^SmC(dUE!lsr4%M;Kig#JWKXKjO#$f9*8yph&`y!2VxKE6NcD>Iza3} zb;>o^gJMp9ZmL4<0RaS1dthgEar-#>sXegMegp6&ui1l*Uf2Xy*DSLKrw1E*P$-Vs z7h~5d@8RG3!X6ZwWfELXxU~o2{U5!t2Zie8%E_%gkgBi;g>L4`>DBB3D;%9s&Tv?> z2ZeT9<;;MxJ%CaXQ8|M?wFjkUFv@9xsy!&(Gb-nQOefSHlv~LNYeMWnxgSviBGo7M zpbRiBA{7&RK=jI&F|h~LhD0?|)E-m-BWTnfI3z?w?SVr=>{EN-&=Axf&?Trnpo>v^ zP!B=uK^-9Wp#BbO59&z}d(d!>sy%23QMCsRA)f8Q<6i#&YE-d}$~*BL00000NkvXX Iu0mh|g7fvOzW@LL delta 967 zcmV;&133Jk2*L=EUqS#0a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#MAB;=75 z000A}Nklv2NQi5Qfb+5V^EN7M?2vk$EkDL@M%BpeUjt2+U8XQ)~!{LciO4O8#fV_}WsY4kf5!3+f*Iz#? z_3|Ts{!yx?T&#Ua=NN##*MM6t3bLoyt{wp>K=+J(Q0m?Dxdz0{v)9|hlP{rAM;B5D zumF0?sgJ)OUw#@yCV-fgw?RAS9`SMI^75^IAAz99%j^5RMf@-^FPjvDs05JCq@w{` zNRq?=gGiKt{V7((0J?<8;CdCfVL1?Pme&}6Ck{10|9ryBfiO+e&9&L3=s{6z!dp4e zPnSsK0B75-VVvebx&hcr;~XG)Ul9-j|3x57zpsF&*ZC(rHs#qV4o|Vgu#(5=w<*An z`vO>>Q*+t+U6o)z#>boW6!_l805jlNpcNAAReGl+b}|B;73Ppi15iw2Jz04z7N>WA z*r zc)8F(V6Ke=5YUIZM5br*BhIM8SEw#XxuvTi@D(h`K{Vsdim==@@po#*F4cK@p6tQj zu?KanSFs1rro7o6unBLr2du*z?SVTVEPLQi7|R~GfMpM=Q?AAy6mxQ0726(vSO5dt z9++8OoIZ|z+a8!{zXj-uI`&|z7bb!A4aw}m+2Ph66pEwQ*~Bx-d-Us}um^=^=>*qP zYV1My@KbH=L7{rNa#CXtge>eqp_{pKa>pK!!qI8v3`dSVD74!sX9kq*0hEe}${7r7 zdr)cyt(*p^+JmwTC^1)wZ4b(Nt)zuDvFrh_3}=Ysz_JItGMrf?W6K^`dgY7QvIm~6 zM$)zij-c80z`m4`Z4c~gePG)I=U&_Pz?lrTJ#a^ZWe?mCmOXF*%O1Gju?7_eM{03@Nv5j25hjRb`002ovPDHLkV1n4}#Qp#P diff --git a/graphics/pokemon/rotom/wash/back.png b/graphics/pokemon/rotom/wash/back.png index 96959e52d5f059125476ba42b1a1c6a2924ff3d8..8efbf3767231e2987a0f061b50011d72c53bce62 100644 GIT binary patch delta 391 zcmV;20eJqH1f&FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80ez8)H-9Pp zg|x+g%>0=}Y#w@OR-V5Ch;XF4~UdV7G;+fO|oBgsftq`RCo22eSa}!({_hH~m+Sxq0z%()(0D^AyYkQhIMfwL0ctmjC=g$oR+qkn z%+0wQ#S;dfJ~~}G0IBLnu^GQR|Fh9;kAw~ud+UMs#_7ufiKKS&9@zK3OONMi|p5X|@i z#E2&d0D>9c0@)Ve{yses6%6dQ5ET&KA0ew4DEZ9qG~oi845BP!P3ks=Cpdrwuq-60 zd>VuOx{{?J!ufq>9=9W>q$%C0a@oKq9G~ya)EZZ(38Nd|wBWV8=M{xJS3BIiPZ@o&eec{BwG|Bf0g-EQ4(!d`lYh@ot$B9EabBF%0IbTLbG7uS z(2o@^`O{4l5<%=t!pk z0081iL_t(I%iWSe3c@fDMYGI(TzI3nYd|5hYlANQ3o+O79)fit5iGP>8AokvlLLr2 ztLE`DGi{#`zg02^uvx$%16{~&bYU8ih*V7pVo7Bc?5Cq4u77HX0F5Cfde1Ik_#8ATAEjNKqCNbFK7S@I<9RJa4K4Giyx*wfBlf8-T^A` z-dDnZ+dKi7Oakva1izRNpg&3g?x{FHDVMHzckL;$4Kliv*Bjy>@=4UAh%*lQ4`ta4 Xd#GU{x9xNIvPEE~uEu;9StLxYYMvO!0RMEXE{pT~;DxV%gqyUB&#1O5>XQy$;`NYd8QcLJ+uc6yM)kUc!+YbmKU; zgS$NG9l<39A}IQAs4Sq0M=)EgB1rTuct(O=`Fz|a0UiU4rcZ~HBmuvX9ifj}a0>`T zQ-4g8li+I2&9ZCH!F8n9(CO}&$wZZj)K#1SKZGUg~lfBx1eu_|#KupvZD7Eu7 zXfXn`phy70=75+?BM|k+#((HO%K>HtH7P4 zFtLE?5@6{9yto;eR~BWt1om34=$uvFXY)+6g$1}U&U7EJ0mk(1+&LRtf$5Vm_ar#i c9~EOi7mSPG*j5@1;Q#;t07*qoM6N<$f;Csh0RR91 delta 429 zcmV;e0aE^(1e64jB#}W-e*gz`Nliru=LQE3D=KnVRW<+s0e4A6K~zY`?bN+e!axuQ z@Jn@+hA{M83Ja@njuey}2@jxHI}=i8BxHwz&Qb6M5MKZ$rIyg!95s!+i+h32J!)rU zlS}je&E7{cVeDN0w_Mk~I1xLp5TfDQ^QtJzDvr4jmRTGrh49Uze?bFJsiuFel(e*P zFzetzMz?S<>YH43Xiy8GtKtJ7=cq-afr`UXZ04XrmZ>nhzqKsFQ3iCQD6@mREbbk_ zB?Usr`){Z$po&K@TdYEe%`QYrf?n}_+$I4YeT=40hm$0MxKSNxj#>%}@MY7y%rYmz z)moIp0)}Fv*H<|3f1ALY0Bx=H2FC{iDSrdr{@(5)*J@RZCei=tQpdo5OU&MNP-d1~0g0yvCQ(+6yTF|#{9BWL6E)L#l0$kX%B`cKvm X7mSPGb5}?k00000NkvXXu0mjf_!Ge} diff --git a/graphics/pokemon/rowlet/icon.png b/graphics/pokemon/rowlet/icon.png index 16876f03b7134278f97b971ce51a209539610e6f..433666f6e18652b97d9a2179d5c044a8974f4d90 100644 GIT binary patch delta 214 zcmV;{04e{{019r6T@ Q(*OVf07*qoM6N<$g4csu`~Uy| delta 250 zcmVO{4l6C}Gr*Mq z006Z~L_t(I%k7dq3Iib!M!kV7=_7c6z+$=JaZHyZ?43f&DRPnx7>g|yCdMsN1T=Pz zc1aTmna;=O=MRsupBtW1y?z2zWQ9DQ1aPAUI2RCHuN93%)pI*H)Zpgmo^>8IE#au0 z${htv%P9vyln%rNC07cO0jrK8=(*8l(j07*qoM6N<$f)DCw AK>z>% diff --git a/graphics/pokemon/rufflet/anim_front.png b/graphics/pokemon/rufflet/anim_front.png index 6de5d6b5c11479fa14821e1a678914fd5518dd1f..4e1e1edc87968711d11a9ecc411bfae71b473627 100644 GIT binary patch delta 871 zcmV-t1DO2J2e}83Uw;EcNklGLLad!Fl5=#Xb| z_VD%ygc<+pXbn z_(B#@CUvC_JA>WgIk*NrZY5rEc1J#r%wax!{2o@eeb3=^`8~M453W@sr;Rx{<2g7` zY}1au?YiK(&E8!F&!MUn|aI^6N5`F-U(lHCVWA@W0Ei2314u_ANk-<3REjF zg>w)eUyXHYHDd}Qz5ihXAV58Y$QP__j)S^ggx4zT+GdFB}+nO@j&v0ziZn-6vq`CPg;7$u|ZvA#kE0BA+;NsLNde%+LFbQuv1Dh*uqbc zEpa13ww4af(4|v6+JvN)y2Jzu=~k0Xg_7c_&HvJOcE@|_P=5*?e2a(g*LUy7>E1_@ z=IdXr1uaHQu1E`+dW_zxN*VJGZ7>Y)foZBS1`jf3y}Cl_wg+v~tOK=0(nZ4)v*>Ds zBMAVRzFF)+N37S-@VfsFz^$m%25{Uj@*m+ANe`9&2{(8RVUGN-`~(0;6^F3rwflLX zj=&Jw?C4}LHGc?8VW2^I#in{sWU%-4Ua&kHurq+JFo||9Mj7p>CW(&)MdI2}^ zgmp-Hx$@d+p^)XJ6xU&3N16PkLL?!j;4m6rYa3Z`h=$wUD2kr*B&y51p4+J`)ec0u ztSojNFdR!M`M#(S@?EyoDONS6d?E}XV_RvRv0&(1!WgbD7-M&t5)O$x6FN5pK`^4e zO}UJ!9$tmy*DY(f^f2a$xeD}P6!ShvyEpRvZ?tST*DKOeg^u9sntf}n-;yDW!Y|SH z<;nOb(SJ-y9hE26@MiL3NNu6&YGTyTEwWHj0!>m`RpX!H#C#gf*Z;NBf4H*Dj5jRA z4u9l}hvtS9%NLvusxf@A&*`8O!xx+m;6S7Kg42O(5CezvMW+80hkH*W$HDPzxPwaZ z#mwM#NxtaM_@YAbg*)R5YWO1`{0>1>3Jl>K*nfwYQ(ZKgF$9*~e?J2dXo&ejVQB_@ z@(R@W+Pv|>Aap!q=h>Ty4~O@f1k~ESM{l?B1kLYJ zz;@}Z@+x(zVmv^o=6&)yn(rToKN|zP;5k<49}16(Z{f diff --git a/graphics/pokemon/rufflet/back.png b/graphics/pokemon/rufflet/back.png index ddc7f2c9178afe41688d337fe38488d6e37dcee3..e8d7170bed83f33be3533a70e682c5f97cd65945 100644 GIT binary patch delta 470 zcmV;{0V)2r1iu83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hmcdK~zY` z?UONX!Y~wutwd3!vXG8U#R#z>6broc5D_Tk04UCmmAva9Mt7;yt!$lpiC%y+)F}zU z&rVUrR`n%Q-sk`S{p^rGT=)HJz~`+%@7TW?=<;B9%xAMMz>ob67YngsT|l-LrO2}~ zqeo{5ziJEpW^(ER=4(-Z7eI8}Io2;4AO|+xIStMLk8FSo(OLj~v=XGE6#xla3@n79 z0Q2|G3A1Q-rr0|EhZW&$M^=**DkCjn+o!aL8YENcl97(v+xKgxY|P*+>*Iah1o~U7%L7 zN)ipg$wcZ0{}dY`XdEQ3x}|?Q4t#3^Vj1@;ph&k9h|G+hUIJ2NhX=X>I!Tt+psV~6 z%3&DpsoE<=Ul1@cuA~8m;ow>P@MGQsIF7*RP6@FN<+58jU=<1^@s6 M07*qoM6N<$f>{j4zyJUM delta 463 zcmV;=0Wki*1hxc_B#}W-e*gz`Nliru=LQE3D>D{6{q_I=0hvieK~zY`?Ub=@!Y~kq zqeM}qvXG8U#i+`LP%QA$hloHS4}jwASn<6MVsw{E-OARvFVPp^8S0dT)MuxtVyk+| zl>7YO@AEmH_jluVcnSEp78o3dR|9=D=nW0%tPcp%V8i%=uV^1of2_IWWg!c4beah2 zG}mt-rY>N<=1l-3$DL#Sq6JEz)19-x8DNPGFwVOYK<+IEIqw8Oz!n1wZYaP!{Q=Mt zz$ygfX1)S2B|;8H1+W2*05LNGi3NH+l;uf)nw{{^eUh?~Fo6lkR-kkNKG9#k^0HMh zTNwgv)f0%v9ZNN0S#A%VBK1?uy&pW;V1k6lRKqahgBzWcs2CSjYm{GwR zTGM5fy;;C_7wqxf2E2!^hM+DW{N^H=Bo3fEQI>kdas6XxC92f<|M6+J3*3WMmT3S^ zMTCCvrPy#z(lC3`DShb}u&oX7Wjd&VD&NMC5H$1Jp5VpdMUJe1#M#nnbnRb&97oZf zsJ&9;88@+(1{g=9CshLq1AeY0at)|gr4C9(BkwyD>1es7~wbs(E z5P&B}Zrh1|p|V6Ko|F}TIb36^HaUHs!WtGp%)2P&xNt;=@g+o%he>qU zLyRB+4zUZi2<1_6%9tPxQc1;X9~g;ws9gt6iIIqd?oAEA6yYLi1lMfRb&w(WH0IFO zP`^+N{2+20Dqof_FEHl#<;e^z@a>`Nt_8Av7HH9~31t660Z*v}{5WcJ s_7_UGGLT!#5XE8pHHr}5dZW7TAFmt|H)-Tpc>n+a07*qoM6N<$f`-PhKL7v# delta 392 zcmV;30eAlR1MmZoB#}W-e*gz`Nliru=LQE3D>#AfBz^z@0aHmtK~zY`?Um7Wg&+)u zbpzrCVqM_kT|jdesAPdYbpH_=5Rf2p+CE>N^yE9AKM88rz1N=>05t3UpvNWw)Av`4 z=m*-H1kBVVSU^p}30lMUt11Q7nC%c)jJ=Y3;2wE_E0Z0sUD*8t5YJr{ecU*r#c<;z$YBy?dk7IEz#)?0 zh)|A-Q-%bwkwY>O?oxa}u@q;5!m_1#9G&eKI&}BL21VK?CYz12(YsNl%C2|saUiCIe<{CydhD4#$pDfhWd^U}SjcTF2Y0SW)oFehh&Da_ctSq6L`4)~Ia&UK-eMB3VQsG*hM$&Wdx zbtub{3h4{Ji@!o$dgf$w0RR$3;&jTW4#7*sk6~~@YpN>%=G0oks8BT$FHbHMfIu^# zbSm?}%mx=k8Gr;S3^{3$ZO@!s&{D%kGR;nD>DN!p%)teJ{;8xo)HeaC>s#8uOF1-i zSU8h(@&l^K0gZ(sJS`%?iTp&~<2>a?F4Y*qrgFEC18+w_;mR&&acGgfv}(JbH5KcV z^c}mLy|w!*i;(mY0&?w>wO0taW}k7Do9^XI*%6RGN*b=&%s{kzMPnjzFq({Maed1VIFJaC=ozr=<3My!CIEE0?RWyF@OOP|?Ox5VFA7z`#4)o>z4S*7{N3aJ&zy+Q!&%BFnPmj&!mt67vyaj2fL=8_x zx0RR6(0QkabAvf?)Y-WcGh@xQXEFA4E7`LBqU!+n%UqTqmES$x39!79jLNG)01$Gm?Nfu1-eLHCY}u4B99qGc4iB^v`uJBJNEKm{MmYQ807BY?8TwNHwL;VX~y^LfBU<92(YyPl%C2|ne1o*3IJg<_lCq7vlAdiJQ_Z1 zbuiI>QS@a%=I{|v{Q>=CWVr8I$LoAEr{L4w7y|p;x+S-0e*w;6ZRdVNKBT*3Y9g}R zudH>_inSHnr=bdC7uAy1u`w6%*+!z;m)A9GNPP?jZa zq%Zg`{t9*JnbT1M04$2c>6lR+f|rU{VUVB&)fE79Y%SraP&E=Sj}i(%pc9~UCg*`O z8zhKw04Y)!e{#}d+nzZ}P@k&`_oXnxc_R^~L?&PW1pQIny73{6u zT^WR=4=|8xpRK(@$TfSxRc^YsGiOIYv63`gvrNthe{eE+OiT`DnViknp%<7n5NKMo zbOO{kzU2o5BmyjY1|)qPm=4YafKIm^PrwxZp^uFmiry3vF#8K|{V(GfRMDh4NSECa zSWUoGjqduRY;&1`zTABPP$K3C=3of8z^BV|nnm}=$7cCkuK3Qx4_#l08lH-7Eiad$ z3s0RqF%?C}u??qAoEU4aJ&Umt-FjDVy}UPG=h=T-e*gfZ+|W)W4?h3^002ovPDHLk FV1f&ggd6|> diff --git a/graphics/pokemon/runerigus/icon.png b/graphics/pokemon/runerigus/icon.png index f3f20461bcfda79942b5ccbfb932c26459a315f1..9110ff9f9f893ed21ffff5e5fa6a600f1280ed6c 100644 GIT binary patch delta 440 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 delta 436 zcmV;l0ZabH1iA!}B#}W-D*y*{Nliru=LQE3EC+bWpM(Ga0i8)iK~zY`?Ug-l!axv( zEiD%qt?@ZLk*Oko4-U3>!9}V_OtBWs$Gn+0tn7KW_)CP=H>0TiiR2bQiXlKmLqKsI z@OafK!G+x=hsAZ^4ua?^Kmh!fo)Z97f~E50!6kq&A&Qi|1k@e_r3T?bMUp`eP-P_m zDxU=+w*X#53ZODSmfUOE2c(Y?(FL*$7*OZ~qp4UVsz5n^9s@@SK-l*Ye3-s~3Z6Rv z0_Wg@*}y1PB}~vPw*l=!1C)USkQ#9VnA5W~uxSEafYcZO$PnPM-%+XR$Fa^9FtMjN zjcUSSl#WS!w$q`&n9ih^fOLP*nJUo_OM&e7JKaMi&{=?de;rMefm{`J{HZ^82Wp5V zI`SSqAMxpX&8(C;J)j@7u4BDZolk8SAL<%G$*3!silhfHxUV+|p}wPxiDkvQ3N_Bx z??_cGZCM$2yuil|&bBKx|7jxu^~1KpY>RY_>PP35by}FO^b#AukGpQ0?v2H2AYWcY ec6*)tyZ8Zl-(LPW*hjqp0000uK5V1Lj_L_t(Ijos2q3IZ_<2H@TxhjFRkP4s{+JU~i&fCT0c;;O>T zKEuQ)Q~THmt_DLl{YlD9_?+8zP2C;h*C413K^YXKVRCZ`)O(J=C76ksWGGJ@9?a~k zV4sMIF^_7L=cy-I|tI-krePQQF+W?VP*$$=FcPV@Jc>v^)qtO zq27T6jM4AQUeoWCFljF6=Yyq nK_HzV1JenLs!Qhse)jPMeDudt=!2>500000NkvXXu0mjfj1g@0 delta 275 zcmV+u0qp+80_p;gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lD`=c;h($ z007NNL_t(I%iYpJ3IZ_<1<>9ghjFRkP4s{+JU~iwfCT0c;%bEHK4oH+shxHsxEd_o z^plh}JmyMCbD@`f!ia%??WOHfOH5E_R#%}_8P!Eld^0A2udih z72Hr2?!pkdXHp?TuzkA_g4dx3ZlfqATbn{m1K<+?V$?(i?xAXb2u#nlf)d31z=#BM zgj>C4H9kqW20$mCw`BJc7)Gmei6c<9B$(>VgT+=7)LR{+g~P|r>{AJZ+;?r}!M73W z7&r!OIgtAt_Gj?1UP;i!3DCWz6%=q?LAZOL2j!u+v1EbmY$h1l+B63=1_{M*9RyiX zQ2@F~mdcn1@;0Y`A>i(+2w>a^*xE+`^spijyypP)piu~V3~2NvpuYq(65lG9d5SColu&VP zUku_uw>J6x@cHraSpZl>r)>^eG0>;*XL0tA!Y&a2>>x}Ap`eOEd-|LT0sh8eqcm`1;Xuqs}`Rm z+ykH!&s(uO2@Ip%y}%JDTN2E4=D}iX2^#IL(Z=CpXAYHxo&p+u3Ft2Yjl^5!vY#T*Qeax#MYz>q z5pfz!t>id4D)vBB#Eig24w$&AO6=8>0TnJV#{JYu8qKNYS^O< zqvGQT#BcAbe|L3G0^(B{&jZTor^7=qQhtRLFyHrD2@w2nI9O_?+>zjo=}&q|kDOiu z04B>^-a>rj4M{KQ@%rKW;qaS^tEB>U!ZyAq#xWp2A3q+CzbHRy9Rqy^e?A_G`06-LGP4wr10)2~FBr_^Oup5!gPt@g2Ow+AE*;8A fx2FAH|I+#k+3Sn{W!J#Q00000NkvXXu0mjf)ha_x diff --git a/graphics/pokemon/sableye/mega/front.png b/graphics/pokemon/sableye/mega/front.png index 121ec46a02ce7fdfd642813f938c1f383e56488a..2bc7ca4f999687be1e5ff5d265639f26e3497410 100644 GIT binary patch delta 735 zcmV<50wDdt2F3=EBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0-s4lK~zY` z&C|Va+CUTl@M8#B8>cEoYKNX9Bu0GB&^10q>gFXfrHiGi=c-vEMff7pwJBl?Bm-+D zW9gU^OR%>~vvx}Vm%h6*#5Q2oK8fl5{66juB%^}1gt4~`kaAJMggh$+CLygdVE`x< z29eP!9YMz4Hn4HfCD=57hJkUpFid+P-fRHG#*WM%<;K|YGb2z;iA_xfcF%O8odq@} zlpg6tE($=MBc#FT(@Me4RobeqfJq%kgWbV8U}4)K3lQrLOCS>###EmszYuqBc7y_` z^)IF(0SqD0nSx6Zb0O{o z3l?A`0kz3!0nV>`B8h@9ZBc=Qg{ea=Jwz`i`-ihx#N7oL!j=bc(i+sn`E#e~N8a92=5gK5$|;lG~Jat%yOSwe$^^RJJ8P#$0t%TQ~)e*F9J(=P&S zLYJljuO5E0Tpp&BUt1Q@;00qLS_43sYR?+)@|6ne#lWbLKlC{BJ{7=FzbSPPpCcyb z;Ykk23s>R>o<3{$2Oinpbk7#f7A%IEG1sMMi^>;NBEFXITU z3Me59$m%RQVygf#wQHdMv+MFw3~?ilCun1^F=kia87dLj_sjB|djIc%&_Ap_7V5l_ Rhd}@U002ovPDHLkV1f|EM-c!3 delta 732 zcmV<20wev#2Ehi9B#}W-e*gz`Nliru=LQE3ED-w|8bbg80;EYqK~zY`)zv+3(?A#i z;Oo$Ir7ogGf`M}tDPw)^z=}_m*s@d(WjP6PMs%rE#aE@Qlqg$cI%Gw1EM4Z-QnJHB zSElk`c<(N5olD}(oRsOFydU>vgkWr-HN)9n2S~Npz=S-h1TG=_e^tT(P$?Xu#(rf9 zYHY6qD+_%9tIBZj8sWHpAzrQO(#L_Ce=}FcCM%UdF(p2AHP|{e6YVnaDWUX@Y2@4j zdL3aJj9IN2*u0#js%zlVATVI7zYKWT4@dzrli>jn4KOvUDbD3ht6YKwc6;YznS$8t z&jF0_o(9i*-KkWfe;UXXwMVF2BxInvoBdvQ0zkHoM>SRk(B=$W$V^CiBY9MSL;>oP zqyT4EU74p*TpWi)H9-UFnIgIw**Ta@Qqd~F0Kgusv;n*F>}gOxp5%fv3%o4=rR4pE z=!B&{ZLkxHJd9BZU?0=hrVW+iD(ncsN(5E320Y_DMoRz)SNFLqI$|M$J~2=#%pZh;haW94FlS0H#HW6sYfG@;AYH+*cc9H8DN~S+KH6*T7qbr9c_#ms!ekX zK!_{HWNE-$Ewr}_ZG&+2QbZkuB73(?632iT)x@;5QurR%A%w~Rf396*>5>;4LZ|>L zI#2nM2bb$!BYkK2(kGb@2e^@Cqt#y?KE(X;8?X3yam*O6{6KQ_e~y2wJr?TWe~Y95 O0000biWB?l}U$ArV{1geMZ7H1aeG!k=-7D z=7NL}m_?~sZ7H|_oK3epp45;>LNImHV&GL#X>=3BfWImP_W*GuPn6*9ur&=LDwj(^ zuLnJIa1Dn7c>PS}?f_u=hmBUAkp@oI5Yn(8Vr}o0D3eIoU1BQaYwR%!A;fYC9 ztJ(bL`Z1Wup$P(q22A8ogGn4}Fo{D`1%^57V3@-WhB@qDm_q|5a%jNBzu$o2;Fbf{ zU=jyze9d7j0dpAFh6AeIN8~`YkHn$&kvKFy;={@BllTO%j9x>^1~bP10000m1Iq)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#O~ViQaG z0003lNklLPThkz-{cKH}o!_ep#Lu#8?q TN#3@~00000NkvXXu0mjf%w(N9 diff --git a/graphics/pokemon/salamence/anim_front.png b/graphics/pokemon/salamence/anim_front.png index 1bf563abe70e635b9879717ce06d2f64daae56a1..977f43a6f845d547f789ea14ca31f6f35825664a 100644 GIT binary patch delta 1421 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 diff --git a/graphics/pokemon/salamence/back.png b/graphics/pokemon/salamence/back.png index 1444a66a93132a0819b1483d436850db3c0f6782..2564c88cf6e1c070fa6f948633a31566cce4d1d0 100644 GIT binary patch delta 563 zcmV-30?hr31)BwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rW{kK~zY` z#gsiy<3JFGmtvh3T@)nf?oOhINKi*Oy4FIsiCo2vjklyhGJPVaM6x%Yii*Y!72+4& z54a{R?BZP;yt7HkNR~h5@x1ShcTK)CylBs(6aiMBZ!#O8)u(5Jb+8*q1p+{);jK$z z13Zs91q2{rr;!2<7!5CfhZq57EihO^fB+PXiPQ-QqkscEZ!`uu2n>)e*O6AhnovM4 zUpzR3^q zI0XO>O9zmZXEL8aWqk{pBoPU3pgab+16W-jT5p3$W}rgIBR>Csi8zFtkG#CtEQS_9 z7~gQvargLgerOZIPtZ7=V|TK`^2MP$+Q=feCfb|M+p*{YoYdJ8> zAZ4tvP)zH38`?mBI|ctl0v=SzFRB41tghc;jsQl1vif;T5ffTrD(%!U30DpUpDDuu zVU|WS=fc;ko%VmETA`Sl?Z6_efUZbeo(7Er0uaCP zhye$*hm%5x0D~H6&A~$e3OYn=1%!6M0iJF=S}6z&kSXVZa>xk|r1HhR!_)>0AkFtW z2j?&=xast5%yo{&or)~@Y9Htf^$uH!1 z1ck8{G>QV^k0Cz-e|Q9#-R&E1gNO!DNysC-JV6q|cs(vJ7NfQS5XKiAlpdeoF857B z=yBlB?>8nu7&KaaB7m<)7xE|~tdUA6<{^ z1@~A24iv~QY6J9GS*}8k0NR1F@^wj(5Xzx18{^RP$UoE$O@L00000NkvXXu0mjfAsFXV diff --git a/graphics/pokemon/salamence/mega/back.png b/graphics/pokemon/salamence/mega/back.png index 5c2405eb1e768156299f8821cbd0fc33a5dccfb2..0f68e45135791496eea6aeea057b06af9f4f8acc 100644 GIT binary patch delta 591 zcmV-V0|B6VAwa>gT%dsCP=FvI;3Sm69?T%lPC^<2Bs)6^C@@N* z33{I+u&7XAvMgdiDQyCv4*EQ+=a7X4&=y%&rhNjy0R_O=zjK?;i^d$WsJZZohrf3N7G(g5|^Zi*BGg)PZDAU!S&x4uB|saBMc91K@NSw3jj` z**!EL;HT2S_1oZTXypz}>2-JBWK}0*QL-YG81c;b` zPW(cEYyzMZ;b~9>F7YD|fN@dmq?BFj1N{`>s6PiGj&P1Bn7y?0uLvXtg+~9jB)$9R zt+Rs_SedAt-1%>RLDlr@^~E|ffd6!>);g{@*8>X#sSv$Ft$|Gz0^=0;g$5XO!ITKI z34-%&q7c9)tf}Bv8;VHSgtgY;iTg5{CvaheQzC+le$F+ww>vFzG@)J(&x6RZ21Wrd zdbB_i0roIg2ui&I3^yB(0mJRgSLurl>ewdsuK>dywE_+*Fc^X4Ma4R@i7_Dt?5BiP dY>=@cD(?r=;QucobfN=V11-cI@5R zFj5jJ{xbhJvyO!rD$2yP+%KY|1LTPVbkko%l>?BYqpn1#gF#qx{ zCqN$pz1zpXz~gQ8;{MEd;cd7V=L27!IELJGjcjn`i5Or%fPyu}{{ z0e4sa5?Z}MQ*<5g?`{}Fd@|Ryd3%_9fPljEw)ODa&k)cK*RlC^>jMJLKnFjsxWhVE z37T8vnE0CcN6{B-wANkgpY}`b>9qsc<1wIMW@+Ug@FaSLe}+C=kv#r&pL#nhurN`X zcyynFMRU4dUoTSwxc}~=wT=s=Xknh91UM-jDzP zdw1_3tr!&qv7xPx%^E}%p|wE8#DoA-l5tB!594i8molrhKBaU88AF62q|AzlnuP4^ zraz6q)f55Diin0phOEp8IA~?Wc23-5Jw*_-5wTdVm}TPLfP;yQ=Z}~wrh;=K>m`a) z3G$4m)tWg`%}jEMD9)PA09=1hUoga2nf%0?S-*{3;;H%>3K65{$d4w?ofOc^65#|{ z$RYuUTHG>_N*ESFHR3bThfc~KSV>lXJgGk+37^PHHp;-Zl(YiNK@XXT*8vX`%lHb8&>_<~Zu*9v2? zPqIdJr`V^f_nNip1GW~>UJrh*nOl3p8w22M+yIP0uMU9C*8yR?Tdz7>wx>KC8}r)KMF4I^lh`iozvqd4Ft@eJ412ueNi_9Y}+@R==UZh(#; zKfjdkAH(Me&L$ZF;l0%KD-eLS_97KvEMm-Z@GpXmV4TK22)ixLhF3}e^chV0CPAKH z99}<&7xSgNcg%(h32><}Vn;Q^y(AIPDD6+Dmw!EWoOG1KNCC-7m9dz^WsqmR{B{|G zZ+kk;0Ukd34myF2@5?RjE@f>|cPXDdQh*7ia8C$Z9Rf%&77mx{8Kl4uj0sP?QGf;# zRQN(k@UaBmqGzD*y}{YYb-yiX9L7>YNI;B##{e|2ou71fI;E{ad$yc;0z5>#GyyoV z^MB(sD70`&)wdVQtNtsMv$Hzx*P>6SoeTJ90HOsc(bJ%XIL{mN12Lhra{)%}>1PSJ z01Q?@=j;m%JZzaVYKIEY4-XG>3;Op$sOizEj0|}9^=l63opV~4UQYqqi}R1GBK6XE z12BG2*e1GB#}W-5da5tNliru=LQE3EFr4I8hMeAU4QW2kN@}Hy>~cGD_8}A zZD{Llvj$d0Xf04NF(JT|WZV+b!+4w2rOaxrPbpnN#t>mJDYGJ?CLue!>8laAnj(N% z5z&xHlbIO-2d#|Q&WU@hM^a=XVzFE?%f!6_Z>GfaM@%JC!8wuD62&P%p7AtWGbgH9 zkX#~)vtly<*MHLw3^7*3PrRAc+sGxJs@G767(GXRG->XnfL@jeC&)q;2{`29mVs2l zun4LVpNT$HQjUR@WaY<``V*4yiOgi93~WnDE3h2&kcoI5@G!CLKLauLeSbfTp%(!o zV(5>*Mt;D!h;IV|29~;8`&o&`hOT#kBPG>RO19t)hrJi{E5}Ymg%@#8^Ku6%8U&`-~;dcbR zNk%|;FE#xN1YoVbNCg;+7_%Jwi(n%dr?C&hZi}Bc5 z_d7!^1oT{d*y3dV-{7z`L(sb3pH$)57$63eaAhe_SQ0m&O}_i9CxgU2{8n z;^6T7j_Xy^C!em)+`9<+A5ZsA1t4@+`~U1;stEQMR6<3K00000NkvXXu0mjf4%U>g diff --git a/graphics/pokemon/salamence/mega/icon.png b/graphics/pokemon/salamence/mega/icon.png index d6ac1be8309f028c70f5d61cc483c188594fb5b6..231749c97965517ba9f183a4328c2755620d72f7 100644 GIT binary patch delta 312 zcmV-80muH|1GWQ@UkCv~Nkl};OjQ#JT zHtzhims^U5^-*_=GMKmumVJ8#P;ULnRSgm2S<4*2!e8>L03egIUVz@xDJ$$MZyEOj z^cIlyE9$fjLh7AZmj*SYCt)w)4GRr$hyur_pL>fIK*t>W3}uCgPLw{T{$a{swtps3 zZ$j*w0?|;XeJq+|o0O`mkk%SO$Ie}+eHL79syG8~Z`?e&#^qe9(EA~&AeosJqEu;b z_?WI9XSY7WtO*k-68kwbDCr^2W;dZ^ni$O4?m6ZpU-@f-*z!}^pnBo*8@^u#!nuD` zYmC6${Rxa10CUg-U;-ZznD-tSdnLw)OG#bu!O3=dz(?ao$HyQ z0003(Nkl+Cy!jQ#JTCPsdU<(lGVx!2vS z3?{CErERVN%C+CQswQGQYnTI=`9oe60AzC33(#9SWrbbj4dY&b-U4#-iaKqAka{O> zN`o5GgV0KN!$Je>qQLR#=iZ_P(6L6Fp{x+miPGoPKTH|SmVYERtC0JqK-AP}pNo3m zCZ(z>q_sxSzH`@UUj^r@D$ao08#hg^aXytQ^u9|fNG4{1C{@}UKE{j3$*s>YtHVT! z#C}c;N_vR1*^Vd~CkAu2eU3HB-~2T~Y&iYRoRb$$zv263ARPNIYF#2QcV~eS17LP~ z08HQ`0`uMjV-|@w@<40Wd*|THnReY9%Tw@Bo!0Bd*BJkNtcorcovx0F7BbH{j!j{<}s! zP`-g)n9v0~A3_)psqpYV@)YI~niGUD@hj=nOBjW=^w>|B&W{jg@FRrT)sH*19H`q- SF=_<>0000O{4lFIBa#m6R z006g1L_t(I%k7de62d?TMY#b(YvG>Fqj`edBzH*f0NYrk0C5~yj44w&Qofnb0{Z}d zuW$=YzkmZKL|1cxHG#31DPG?InP*|eDHD8Sb{G+45t9Hd!F9|QkxR>_(SqBZ$}8H5 zxQ(d&9UcljB^*~#JWDitfLKiGPgfJdb z;Yo`y&(NwxnD~`+>LrXqpAHwM_z}Wv{0LzV_2U7x9H`qZzP^F%p*Fq<0D-Pi>S3ml<0yM zPXO;djzH&0Vo<BC~--M>s?&{L#q~)77M`s1i0#a?S;B_8KYC!N(&TV zjKoW~Zs=E~ZMdSS&3<;G(l*@q$}UK4mU|jpy70k_F-=ic$y&~T02yWrC^rGQ0R$7( zuK~9OAm0Kq!~`5y2|4Z2#}l28XX<#~0PcHQg2nUHzmdRvO!yiQns5la{++B5nvfpU zD+w??1F-vSHh`W2gbFuem=o%p0h}BMVL<}H<#@GeK!-j%NsnR%dRnPbf}FHiW0W8P zXJnL6l!dObISHXL>-k7^gG5DGFcC1s9A(-y<>a9&t*3ume-lOV1vaml&x%$^6#xJL M07*qoM6N<$g3Oi7ssI20 delta 457 zcmV;)0XF`>1h52HvQL&!BE2S^hf0zu~QTmYa;dmc zqEo<5ppQLCXuJkV6u2b#?Nk>)*Qx=j_yRCL0Vchx9GAB)LwJdeFhBuX3mm$&UB5DJ z!)95f_p=ijw_%6Le-22cmopt*+G+S&>pCmS=qzV|47~*un}FB=Mib?)0lNht+X52A z1U#-1Vw%zCIdM>f#AO3`YH5i)+^6=P1mHp9 zmIAmOUqrVj}8bAR#FWzBVZd zuB!P;`A(uFEa(7eVvpv^*2Uz(7skmy{a=3rHm{k_{!=D200000NkvXXu0mjfHdDNs diff --git a/graphics/pokemon/salazzle/icon.png b/graphics/pokemon/salazzle/icon.png index 62187a5426acadab796a7228edafacc0bbfa45ed..db4edf2fc30bee677568c47653b13690c3e1123b 100644 GIT binary patch delta 249 zcmV7sK$ zel2Owdtx+W6jJC+gTXOboNL9_Ph=Cew40l9y4-}OA1!liU~&kKN^D_ESbVqnHYB;9 zyX7`CmHpdSj|_lskNMyAG+~Z7O&F|oBFuhRsvjauWWc!^6vPKgwLpaNnHX{{*qmnz zShL{JkHlOmDB%#M8N}?nx1X->lkEEcfAHf2&KaQRX)Ne%00000NkvXXu0mjfA**#K delta 284 zcmV+%0ptGB0`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lFh)7oWZW z007oWL_t(I%iWSO4#OY}MY)0HwF8_rTa+Q^h*)x_Y*7a=9W(GtS`~1%ZdKWMSmt5A zF~7YCmwjSUAhC5CxQ7D7j}$}!wpLV2yY&@mv&d1kgi(N`bbrwvCf%Z(z8_3>358_- z*w8+K9c{JZ7*}>e&GwkqB;8G9$Hf7mfq9=ehbEi%=!e6jo0njSm!T>5S6_D-GsOJK z`nAB|5*UhIV9vwry1)b&+N1?$E%vpb1jZ+ZNwwgZJe;BGLi4yVkSoahJ1{LlfFJID i?cZ12_5Xj7j}<4*8KCDP`v|N60000QH3L!4`zOkMG{SI~_klJ|RomT6PJbJzo~$$+8gZ&sUesQGcxwb0PCZl~xx4scIEs zECOh8VE|~f`fLgDq*5-uz+iJ{VXXRjK23`A0%?rxSDD>d1VFQ!>>=P0{1;fgzz&_4 z1puj{j#-YcaF+gk}4+w&i(Gw)}hlmVr62^0*{>5-$IDj>$dZ~%UHJX0Pq(8 zV#7JUZ8Mf*$$uOiLx{HywpWama{#0pap3%T;2C`+u5qon5L;Po`aCeYTkqaF*ARe} z4^~OqQ2_fm7#Myqpt{GHSvPBGyRGDq{^q*z_>Uk6I<9G&r7tbpX{lL4O6gz_1dijn z77RO1vf%09eDlT`xA6>StQf~XdK;7R2H_Xbxl(;Gt$#&lz&)oUgIEpnSoDD?RI(w7 zK;tW&Q-_An10ed8!kVe*hBLHDN#~sUR!9JF>8>$)CL#dVkph5=u4Q442%NCI>kBbi zP^#AFz?-H8IcTEmuH{`m4j@|&w^aN>P1r1=d&A+7a=#y|h$aDV-K>Ye9fdh5nFadV zx&%1YXMe^cKwM~eC21a?9UlW&AugMzjIR(wLg!xzO$3|J{6aCXJt zOMo%`UKA?kwA3pHkXH9Lg{V3klx;mJxFYNY!` z;D4eVYheJQ3Kgi7b760|3=IQ#_?_ZG)%@SeyL}>m8)30CI$U3|o%4FT^0a84mBDV! zYFbU@a2TR1M`+YfsihuJD&91k;mEj08Gk1kcx0waZ5otx$xHD6ZXXq8417REAQNvJ5ymWq-zkajav6bl{Z0RuU8nvtSN zhmi)NMsV7ZqDY642BHEt0V>MGVGa_dI1hrSe{S)}VZcBLu@nFtX7KvkfJ%okOMd{Q zRRaNsX?h|E=;jZoDCjUMkhUyM{2FWpPRDiYCOS-GHVu*qZck37U7*9X664@7x9=v3 zGI5-k!=!I+zxKxCu!e-gkkfXJZ#d`Cc+z12$Z>C@WzTUKv>cEa&-fjP5KtWk0l05r z%ih?iSr0f&nuM=^FJrwVXdvJ)cYnIyk6&g++(6*C!RRakHBW55V7{!EO zcrgQ+D;W1zW5E#rMKH`5kPr+2WB#BDhV%!Gi>W_M1Vf{A$LO)7KTHHe`ba}w`h%YE z2NaB$KY$&m{(!E4{y;_K54!3P^887EFhuAN8dv;bT2{@E{DIE%2k(RX!@rQ{BM7IK RLOK8d002ovPDHLkV1j?lZvX%Q delta 1386 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 R#7_VK002ovPDHLkV1mX3*4F?4 diff --git a/graphics/pokemon/samurott/hisuian/icon.png b/graphics/pokemon/samurott/hisuian/icon.png index 399dc4605f55c2f3612305beb9a7f6be2ecc7d67..fdcbe6718f66d009844976cc6e128751233712f6 100644 GIT binary patch delta 397 zcmV;80doF{1os1wbbkSDNklgb9Q)UQ=iko9*k2jk_}N^A%CGtSBJncJ zYm%Y>2FbR>rT_YhRtSa#taK^3LBo(k$)~S+n1OHz)QM|2zkiIDuma=Wg)eHW!QE)6 z2T;Dj4jD(zrvQ)*GqJf>Ipflt7tn%0EtD#$hfV8+cto3Ox5W^0oMyA!%Ib(+5G$Jx zWuJt~xw8`8wg@#`DQu288mfrr6`daF^G=$j28x3=&l{H#f8Z0000O{4lM}rZL?GW00C@CL_t(I%hl4cZo)7S08szI z={mqt)k1s#QoMA_w`3`uKy;uRh|NPqzNuS>N_>Nb6gJ`zDR_u-y*O?Oom;8(;KZl% zlK`&h`>0+IN_Lg&_CynnNLgmN;!m%l6ssXrvUB;eX2H5-eFkfH_Q`%`idf z2)Pm%JU@+=xI*h*WxJ^<1~;Rj8DRc`I}$(uQ$$RLiQL@kRDiPQ1vV(jNUd|OQO4Cm z-cuPHw)1{JkoYb{S)nlq6MM_oSJU}Pnbwt^^3sjq^=Cz6s z;ec*GdEb?a+E9Kr_F`e;%}Xup)HQ71|!`^<7u9`M2Be z=l_rK!(e=%55^0+0^5tDA0Ivp5>*1b1-<|P002ov JPDHLkV1gfgz+M0V diff --git a/graphics/pokemon/samurott/icon.png b/graphics/pokemon/samurott/icon.png index 8de1512d69f12e36d1618e92d6763e5228665999..333c6cb876d704f0765b7087568fa579f3f916a8 100644 GIT binary patch delta 332 zcmV-S0ki(<1H%K5Ul9RLNklZ~Uh$qyfw3P4M);1pXCD}%~dkQgP+2Cty!FMr(9WXvf3yXnG zdG^nj7HWSW0B@#sj>L6M-8KpSx*oZPM(HHD{pxXJf!uAEmXVUix0Z~M7=^=*hjo%0 z(8VGMX+^2{bDktM$_>h^9+H2i%>DoA{1`CVQh><>&45X7RDj6@6<{WUA~0A8q5zC% zf?OsD7#PWLbacuDF)*|QVkBa$g#ZjJ*qQj?A4D)mTZ3J>GatK}?Mo

      {lZ6$VC delta 371 zcmV-(0gV2`1L^~iUpW8?a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#R@Xk_B< z0003^Nklg;nu-Yi#=K)$28ep5u!$Igr}GBy1um0s{+nCO-Is=;$vha4Uc2V^^_#35AdSYT%+og%2xz^YM#(d;x8B{8F4Z R8LI#Q002ovPDHLkV1k0_oi_jg diff --git a/graphics/pokemon/sandaconda/back.png b/graphics/pokemon/sandaconda/back.png index a14bc0b3bfcf5369847a75c55f0c730fb17c3ae9..9b3a9b32508e8c50489e978d6982eb10a884ecaa 100644 GIT binary patch delta 565 zcmV-50?Pf71)T+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rp8mK~zY` z?UTW7+CUJ7smud(u}|Ev@&GtvD%q!OcZpO^mGJTc34Wiby_lP2Uzn%t%)rBPr>qBi2bnL@pob5MFW=MjZ$$9FPuRy)i9C_KGkAGa zK|adV;`v1nfLbxIni$l7=2Bmfh|r^xmSqWm z$!`FfNF@~1Icq~kO6A57pjEQvdIhD)BqRSk)Xs;P>+r@w(KLO3<|Bwa5Gj>6)YR>v zA$5ET0k8ouP4jC@4GIRD%t!?3>4Esi3A@}GKtuv^@C`?xI8g-*l=Q$;QZl?2pb9K@b`7`o&&8Te~r|5oD0`x5&Y zHq<~dunBRv)(hZZiLyf(1Cc*?e~ic$K>LZB0VP1pgn{M7f-GUF>C@5z(9pDT^#3m7 z6iaOR8z?D+Z1GyoxrJ;v$sKk9@Soy(_No6xv)Lcuj2I9Q=J!t`00000NkvXXu0mjf DZJ7q- delta 555 zcmV+`0@VGT1(5}iB#}W-e*gz`Nliru=LQE3Ee;qC7GVGY0rW{kK~zY`?Ucc8qd*LX zTagFo1WvgH^#MXnR)SO5nN-@GRtl3BXv6zd+Y7lNxWrFc+cQ8yn?3JJ^#uig`Tg7D z;qLA`{?RZL#ly|?tcW=t%?)HWk9|CTN!P*um@y~XVm2w`hUVl!AM0VaU8hp~oX&xI_D2XuM`P)8~v zqt+VZJ(4Rsnt(z@e_PI%kn2P|^3OwMH+~cR8w*)ocZstg;ebG?w5FnV4>d*0Q}BTC zfUfI5TPlz-P$ya}NKFTXzfRbuRs$jukb)~X0@;Z&pdqIRp6X2Z7J7j5*n$A(^Erzq zfI$z)6Hob@zV?v2L=QCid8koxpR=6@@*cqVz75%`0FjSjf7b(Tj*XYl4(QU7)FU$j zsHM@p+slB)rs-v4Mj(K;Q=N#)vEdw4Ycopack+(6AUJND>wWU9Ca@YMM5V{@*6-Vu20cft*ap t7O!N^4J7>}A$Qn%z+J`F_m}@aiVxt77!VE^i?09x002ovPDHLkV1kl?`j`L! diff --git a/graphics/pokemon/sandaconda/front.png b/graphics/pokemon/sandaconda/front.png index 2ed17bcb4e5dad31bf95e6d464f4dcab6b4412fe..54c2af1077bcd487d5d6132dafb28d4fc5d84e42 100644 GIT binary patch delta 674 zcmV;T0$u(81&RicBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%J);K~zY` z?UONY+CUV?K|xAa;|$H%11W3ZZ$t3Za3NJ#gUJVQbm9hoX40k?L{ zm^B}&@6I-X6gp?fUjm)=e)r!0y}QeO=-nxAk^U36ij1+6^L1yOX>ni&kvDM$bg#Dq zMH4T>6=G|OLd5_j)P&f7nu4R5Sm=uFDLAUeA;fkd4>-o6tAQ;w@>NsAhL(HXe;Xfu z{>eC{_<}?iZ-`HFAbYIe(>07ZZa0B=ie6t_^#~~HVF1AfFhYdMukZJBW~}OQ1^x9L zqm$@F4wuqz>SpygTv4g75hF>O`o3r;<6NwLqft>f&3d)Z+2^W0j)Gj+7cqpBxyX+>o#d7)&;R#pFjd9W?>b7~*CPV4+%svAGcjs6-LE zm*d+N!0Sq>syPOKx*AJ)*obHmWk9ur(@@=|2h}XArSu+X6=!`^I4m1h@-&E=Ddj0# zO!!p>z_E-Hz>eEAIj9gfDNsNq0nGEW+T4lN49atZ)WjZTILH{wqH%aC#{73JNL>`p zaLQM}0e7JkbxgnI;jtlFWcf4$I9eW6pe)K;O55Bmm-sAwZli_v49=y}y(}MOtZQ_T zWuX0ZtKs-`elfKor@F|V&lBQ6-+40V_-Iptdd^dK#)Rwh>`hSS8GKr`W9SCcM*Wm% zX>Vk|Mc>D{H95ZD(Um#v0fo%phG>swa=W$n@1_sEGv#uB0r+R>y@NHa^Z)<=07*qo IM6N<$g26yR$N&HU delta 666 zcmV;L0%iS*2LA<+B#}W-e*gz`Nliru=LQE3EfJLl80aO^*DVn@~s8LZ5b2-99^N$VeVZ)SJ- z;i0vK-vlz`edfLIdox2W_oO#oKk#4 zqVre87denU*6-;WMjY3hKs-UOFD`ln?CD_u!3Hoygz=xBcTdb%)#D2K>p6zU(XqUp zOTVF;)#GqQxwb|Oev9fcRUOOD8UZsJfchZa4^U<@8Jh z8DMvV5!U8)_oUSDVR72dN<`H_qO)@GBUEbkuy|P{U9jTFC7@bc0*yl=2G1{lkshi9 z2&gYpG}s{llV=BpDAgrw0tVv^U^f0$Nk>gUG=jKV16ZhLe_?EHgaOJ?gl>Cuy##no zDOEAYKv!cf59$#uq70}MaT2PV^q?9gHJ9E!t>UbYGKXcuN}dK$Q>8qG^D)23063OW z0@!hjCI=PbD!cS3CxCf=R*O5annHPQkeVn^hW(7OEE&DNgtj*yk>k zqK@e^KR7Z(f0HbqWB^CgqY9Kod2?x-yX6v}#cedvn!;%--OK!5#=1slnSu7xt%l>% z`NhciS!lE74KuugXM?HO)0R_^|znlo7#e^0U`?K|Z yf$8%x1;*w>SCtLSkdNw;b%7cGU#BHLnU5#1O!7aVuutXy0000xsb$`FURy zm=cf908Pks&j8~x3Tm*HjCvp*c7iQ4Ls2VYA}cZ4NlaV@^M6w6v8FkN+aR$ZlFmgG z23XrcQQ1ox-(PGx5IR7if3Q80G|T&@N-46=3@g=1JUbPDRJ!h+cq?970L6pVwiOyk z^2cR}SW?f*$|2JugPv+wWuuSqlPb;9B Q00000NkvXXt^-0~f*??KcmMzZ diff --git a/graphics/pokemon/sandile/back.png b/graphics/pokemon/sandile/back.png index 533e2e59207a2f6b1a6afc9d14aaab08dd8dfafa..1680947040abe0eaf2819df4a504866f6fef2b50 100644 GIT binary patch delta 323 zcmV-J0lfaA1FZv)BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0R~A#K~zY` z?UBKb!ypVqS*d)0C6fM5kx0(16zCZ#^?fhp_iLN9p$$n-tG#5TD2I7?@St|>`d7Kr zwr_FVBo2r;(r%eG#?*5Dm(Ixdrgk&%o6OTr{qEPbYqpQfe2CYqpGKKM-(Vv>^aEOFkZX z!Y44~c<1^SBm3CB1JnITF}L;kA}^rL&l<)O@T4gNnt?L>rSYYm(l402BUtDNHggY} z>{Jr6?|fc|V|o(y>35}1&yxwBE{DA@?sw&t;{4!K~zY`?Uca^!Y~Ym zC)fuFbn|sAbUQ1o^<0>_d$F%?l1^7$H&5baKa?H*ulbtf$@E$kf!yykr&XUwfZ3k9BIsex~B|xu3c`&cmth!1OqL>dYXeGJLZJ+JKb0Q z5TAs3`fcvhdJ@6aFy*py+50Zsau@;5(C=$fGWJAJ22X1H!)*GU9>^PQhtp`r!T(^b diff --git a/graphics/pokemon/sandile/icon.png b/graphics/pokemon/sandile/icon.png index 7d78dbebd1a54de06f025ae415a56d19c935c781..c582ed4f9361ce29d3ece54d63e688c708cc6ca1 100644 GIT binary patch delta 220 zcmV<203-j@0<;2g@7{nPf7rs(vM?IE!7*JW>=Hh|o@mBt{0!86ZgIa_z}tP<_oH z+-wui5;_6l)mTR@l}%*f4?FeYs`3$stl%fb-fnuK}kFbfk3VOIF@dE5al W-;(t~3IEdo0000O{4lN!9xdsIQ z006g1L_t(I%k7d&3c@fHMZ1HLkqDvgqeEynZABaVV zdS^M0JaWUSs$U7Qv)D|N`-pM@BDGgU5~hHr0|-)u>F&W}P<4G>Ksx&-cM^64A}Uj7 zE0rC0#G?c`)T_OIfII-Oy*#L((Rd#OecN z2arH;KEC-Qt2g_v&AzK@YwfDPfmSWi&}q8{C>jXr*wXniz(l0Rp{HR5XrB%wG5Wzj z25Qx6)tGtl1w1q#Mq+;Ct10ydI=03|duKmQ5z0>~I>kkh!}{c8rKZ9zZ)3S$7g#>AfrpktPGEMXLXzbNRPetr3t6(XR3 z)Me>2u>1J@a#v_zLK0JO;SQMj`;V#sV+Py}@R-j9@Hkd=bit|{;IIH#Cf6XHWkGx> z#OyL);JR}He1NPDr0%kWTrYE~GZ6n0#bsb(!wiE0pm$TK~zY`?UYS!+b|G? zZ7sAe3DJwLDnb+rbZK9p&gcL`=xHsxkbvHz``#m2Wh%&c`=D z9D28VxBuDfhh1T<-Sn5xsv_!YZMOhL9YLKd8s7$(h*aM-)NKIOf5V9+M$`GXfr5@F z>Zxif& zGd+P z{{$KVUzvGV9ih@Abur^OTfg2G3O!#@D{6qm_*X>f1HYdV!3Tb0w!eF@~3+gdSG!;wmmlEgTKv z1GIE&SU<>+RgmXMwsE~yC@&_qCIr$3*QoZ}b%707*qoM6N<$f*1Mt7XSbN diff --git a/graphics/pokemon/sandshrew/alolan/front.png b/graphics/pokemon/sandshrew/alolan/front.png index 638a077b4bdf2c2003aa48f4be9495804fdf44c1..f3d4dc140e638dc65f0d5763689452859670b6b0 100644 GIT binary patch delta 494 zcmV=#j|X6z6r2GMClfyhH#Uzd)No5wLA%ciQ=3~2?s&I z>jII5Kq@3io(zi+=Afb~G$bkT;Bq;)*cS%EhswOR2^R)k0^h8p4u!^-k&J@7fsG3_|K^N zBS-nuChfBU(b5ST56slsgcc%I4f5Y@VgkkxTKPYsY(<31SN&o-=07*qoM6N<$f>5H_asU7T delta 488 zcmVW!hhkCPBeD+ zO1#Cx`*i2?JGs&L*H(%p$!32aU;`1v2Z##%Me^2Z2ZT~$!>d=CMRiiTg)@ zv!`h+CAv#I+#!9#NPmPHve-I%{ApKh=lrS))mLedgTL!QOLPTOKUYL0%Qfl8jzk7U}+H5 zQCRR=Vj*P4+Am|C6(}4t2f!E0vOonC^*lnsr>1(U2zZ9FULHrmnu`kHNPw=VMVq2a zV$6|g?OKRQ3(F}B$viukipmJlv$etZ-O9+J?FMGuRpoR(bnm@h`9bgJe&a_(z-aSV e=A7|gTcKYlbeq!V$0;vO#Bv%J?Nliru;|mWJI1poUFV6q~02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL007NNL_t(|oaK_g4uc>Nhj{~rzCqnxZgC*+a9tRTJ`{_?Mc+YJ zgQhMHrdJ0J(YZ;}^tbVa+#mRa`0dO@r?c!7(42x2o8kn(DN`q8v)0vBcYxLIX>k@Z z+*+Za64fM@05<4MIbusL0EuR)5Lz^`a0}@Eq20)JEVKxRV4Ew^uxTr%A2BQu^ kn8XkAna1JbhySi0Zyt!1sk7#e*#H0l07*qoM6N<$f_sUK6951J delta 275 zcmV+u0qp*%1Lp#eB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3Ehk#M zjtu|+0Ln>3K~y-)?UFGLgCG=!xdB6OPwL(P(#mtrf zHt3a^up=7)N43-l9jY`1i_@%2>?k&PDHLkV1lqQb{hZy diff --git a/graphics/pokemon/sandshrew/icon.png b/graphics/pokemon/sandshrew/icon.png index a56d109fff12ab21ed7e34451fd4a03f7e250220..1a6aca2c362a143355c63e107f1240cc7c271e15 100644 GIT binary patch delta 252 zcmV(X^%)wLcA;_W zO+1^pI01&GOeZuP7G`5&;y->#|GVZs#(q0|3A%>k3|QTPPq+e&rtyGLRRNkYVpbW* zA!v9(od!@ESz7`Y^j?aq9$vY$@^I7^az!0Hj(26K#A5<$Y<1J52mnWQ`P8*TftE0000O{4lOaRXggd0 z007uYL_t(I%k7e(4#F@LMf(LbL3Ij;L~NLuVfhjye8V!+n!VuqRKE={sI6qCQ;)Hv zqn(F@geylEeelBczGoChVl7Q5j2nc3K$tX9VlrqHCO0zJ kM%SWxfQ|g1uNV691UO`k6kUeY-2eap07*qoM6N<$f)k^APXGV_ diff --git a/graphics/pokemon/sandslash/alolan/back.png b/graphics/pokemon/sandslash/alolan/back.png index 3415e1437f06a4882f5462d2bc90cd9f24323937..c64d6953600ea700edd42ee0c6c29d251c21f8aa 100644 GIT binary patch delta 838 zcmV-M1G)U42doE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0|iM$K~zY` z-IKp>+CUV?9S@y3i#RA^2p5^4C`)k=S&2}lF2y-HV@aD+6|p21I*+xh#-}R(L=fuW z|H4aDMfXSby*r!YijqAifr0no{rG<0S#Rp>kXHcPe}%AvfPC6Yc!SGnV=EA_%h5K% z4hKNETL2af7`xcgsuxCobH;-I6C@PA*hbh)h@mES$mV7}AtHfMIfbWF}K#?xgaO(X zK!Mbswo0H4HRxY!cL;H>q(}ocB406{CSON!sr3ezI1P$-QERu3Q`N4i_AUA+TuhLLzA3XFsV=Zaoi zGx=5lhyGCL&R|(G_%!cM@m{E8wG86>P;ZfAmMQDHN}r-4C=gobjsb`&&+2MWp{vWJ zr#HH7!qZ1}P&&b=PLL1>38zYss8q*yLlFa!fF(h{C(~=L!{kvpsaXabp$lOUlJ#kq zyR$Mu@uJ&*)Iz%;1k@4C<-EsBf{q)d6=_E|iADo({lGczNR>9nW)2&Krm_+Nf(xKH zCCy?yDyM+zbPdQIc-zmH<0jV7Q{Z(q*P0{n1SvXsJ{}=prjW@V1us%eaGNh|AZWh) z&@7CO5ZQ~RLuv0`1H^J%o;dlqI4_k>kIWDf0llmt4n44rm!os*EgZ}G1A;ff@{jB; QD*ylh07*qoM6N<$g6=qd^Z)<= delta 827 zcmV-B1H}BS2cHL!B#}W-e*gz`Nliru=LQE3Ei~Q&&(i<^0|H4zK~zY`-IdEu+dveC zgBM+AtY9LPMKYB`gxEAD3frKFRX2?pnPpAOs6yF*6^)m*EAXh|C5WOf{1)Dz3e7|H zoEbaCRT}n;l(z!+;e_u7LMQ}kKKu8>&0P#V7 zDuHe(g2X97!`mQ>q+HDI*iQ}Q258WWG?3Z{7yZsyTblTCEdz05O^_I|#eNy@n(!{e zHjUBRuEpWY0_Y?ha598U2Uk7+ipBH^AS62sfNx&eaq7zTRkWEOckE zEE&98^h3NCDp@as_%YU7WSeEm`i|14s0a##*12Z@qRO+r8dT`&G8yQN?wD}+pt_|K zjOqjlv5~N=1c^#@d^Zp=5D8e~4+k>6zfSz3|ybdzW_0GIci^PW^`Yij1OKxir}5g@n(ic``mrjv3Cs7_x1 zxeZVI`D)t28hQ%6uI5^E1RfzpFVCkF1k4mN*`we^iV3dsr3D1dS07u2(Genhv9u{2 z+-iU{F>Hq?c0MgmOQq8TGlWDyFRM+vjlkDNV#>;dS@9#9>5?+3JVfXs3b`0a64N;&xO z-EaG!RRAjo$e+!9GcBcm9Mr}cK<&0!9urC>4602;T;K`p#rC{T;8(o+9i zfiE}!bTeCgD+?gwDCE)Hgn+25pC4yo3apz|SOO}rH&}u5`6>Kl02eDIX6=TD0Pb{^ zqX2%@PI5NqFvFL`iFgWdzt~Ql#5c<`2q4S>rh6K`^o#90AWles04$jT*zqt6XZ~xj zWR41eC+<7g4K^oM7K*N8G`0qux}I06?Kp`=oeWjCHK0YzXTIYf(z0ArHOT4&W95U9Ke;^c)(_bg0(b9XMv9 z$_A1)rF;-EQ^Vn_#`fkR))j_3pc2N<9I(d9!kZ5g=?W2lyX%Sq@*%#>B9kU|fjVs_i$UU7vjaF@&mL0Z?V%_az}pw1Pi^Df*B zd%`Bh^>z~{89=Rc{;Mi5z*WOF3*b@Ri43F_+LOdcHURZ9KnlPyWG~rVCp5t6Ye-l% zUjYV{J=w#5S*OsTxz09o0ic%wyO|i*K`_lhx*8Jk%gf8JbiR`Vvj{3eTmVotbOL*t z7E8pGQfM?@b#Acc>DGe|~q}0`fs-Y}_N=mbK`~_4tRaXw! yqzvq&45axkNUHAxtzKVid%*hvyK?_&XxeZ3+$#8j4*=Hy0000PI5Zs zFvI7>O?U=yzt~QLf223_QwSi;1!njad=V7exkucX0GKlcu4n>p!T{sv`^%T9q{|sS%X8%2SI$F41BcT-_(f|e|TU_G!p3aAm*S3OHt)fk;f&eXyxMHy zNCVW$=D(@}BV02*s{kI=JE1{Vp)+2Yt2ID94M+jFf2QoM)~^$~#@S~`SS?=x29-V8 z!@5)Gy1CSwIS0_wz-g|`t0)R{kgbM9`ttJfE1U1+z$${O5a$3?4V}mdSEdu?XVKK4 zawbv`(CAJSM&ZgB)4WP^xzxAFp)e?QA{b%RT++>#Q>7V2H0xJY0cunF?v}$s_d`XL z-IM0?R-ryKJKx=(0ng^MNUbbkTpD0XX{ZTRLsmuhs2m?JD?7mUfY);War_4Q+$#8cV{b#F*m=c1=EDnaqSEY4B{oO5hcO-X(i=}MX3z#J}v=%?h0k8 zMGD4xCWWm_9s-qcloa^617(bXYzD6eO?e>2lJ4m1$iT3%pZiZD>qJF+5ym8McNc~Z lR#^`Q21Wx<7srr_IUD=+7zK{7iNu36db;|#taD0e0sy2JC0+mk delta 78 zcmeBSImbP0l+XkKI1?4y diff --git a/graphics/pokemon/sandygast/back.png b/graphics/pokemon/sandygast/back.png index dd22fd6d7965b17b983d61cd95e202883ebf61c8..a6cb1c375dffe83d90348e414ade0de24b64fe62 100644 GIT binary patch delta 369 zcmV-%0gnFB1KR_TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W?WOK~zY` z?UFHW!Y~wuQla3E+9LUZwVVo{M#2 z|FGTc#ZMY22%y*{fydu}LL`A~vm*ep6(Y})5<(>JVZxpGI>z@?2H?KsUv$sGk2Pg1 zgM;)yrHqUSK$zO#hp;oCj7|iU{xN6-ljj653W=E7e(%qyk8#BoK+bRjz)Jw$LH2-- zD|9t3B!&v8#85$kQWpRlCjbgm&PFV~W7EI_4?wLk#}mj;8xlrLH9CO9DV$}-H9CNK zz~MdH*Om3a1h2t51(2&A&?BI10XQ_4?M-PUq4^948~zCNx4X^NCd>W-Vs`eX&r*Ho P00000NkvXXu0mjfrm?8v delta 361 zcmV-v0ha#T1JMJJB#}W-e*gz`Nliru=LQE3E)3l*B#r<80W?WOK~zY`?UgZ3!!Q(v zgD7IE)WQi07XW&J4h$H{Thkk)y#U24LziqFI`~=2?)XL?d>5R=jiU6~Z-S{$%98i# z_xC4}l4aNVi1hUPJ0K`^^JWEOlk$esl?!?D2zMnDx_bGp(dk%iADPtKNqz5Wx zWJCbM)CNCwI$5@EC4H(>+fOmeYIx` z`0TEaT`mp`*uDrk2MB}!LPxT&Cxqb{EaidSA;!GDfXoB7I|7dxtU(4kLX19S&KlB3 zap(wP%AIt8bmW0*-2$)z$0LXe4JVnHY_HDJ0}@{GXR)>q79UC6$+&YrNc_+ zzX3h~8Gyeq3{ZhhKyJ!W+<}_o9s*==*e)LlLfJYo&0wYB)BwP*`n;!ySI!TKQLnng zP$^EaJQOkzB5(fXn=Sk(S8A3dEkbi)=IiaMCuG}10c^VKCn>c~F8Y5Z$v1&d^Rzuz S2Ri@&002ovPDHK)LSTZccCOX{ delta 418 zcmV;T0bTx)1c?NYB#}W-e*gz`Nliru=LQE3E)PT`bu<6~0c=S`K~zY`?Uk`k!!Qtr zTd7E`x*&K0Bp!hW$l#@9F1!J}0HP}c61COQL(X}D+;!=YrA;4>JGY3C#`b^^OHXo! z+~@y(pD)T_aE`x<;bj82`ZaK!0ERaykGCn{E}ox1WYPS^)2m7We~(!lm@g8*a|&3z zL_Lg`A5maps8X>KnjC2xDL@hsmM{e12yIvZnr2H_gd_kP4i~Or%6+qE33v~j(UqdW zfDKtF*+9eu5IT~D0TYIMu#^Y(o0#zS3JMR{ehb`Yum&0EF)@CVK5NMCMWM%pS?{C* zWMdCBn-c)rK;hQie+qa6?1-;ZYr>AilyK+71F#1GQ=I~98HGwILaDIQN)$aG~@XGlnG3ukOFj9(LEDwnS zgebdTdA)`2D3!`jZlm66PUJqH_YO=g+olSj&ZFP2Qk(Pd80KH%6M;|jwDn8La{vGU M07*qoM6N<$f_^%;CIA2c diff --git a/graphics/pokemon/sandygast/icon.png b/graphics/pokemon/sandygast/icon.png index 8578e5f6945b4124fd0250b84c3dd62edd2daa83..46167f5ab661db2326084af91487bedddfb6f49c 100644 GIT binary patch delta 230 zcmVI^xXAPSlgR73AJ3%L=JF9-6`1cTFsnqoJ=y>qntdY^d>wH8Xj{NN_HWD- zVYvc}$1?y_Ky;oNd#eEwAUK{fpacR&o6jalorHjpTO!g>dS7zO0&J+%imdNptLq3^ z5vi}&uKs+!Buul-DvWOeOjZk1=^#oNL-H1;_^}oyVUB)4`{8KFrP&WxA}9RVQ00e7 g#thmI{ZmiR3qpLsZE_yIdH?_b07*qoM6N<$f(x5ykN^Mx delta 267 zcmV+m0rdX90^$OYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lWWWA{p%f z006~FL_t(I%hi%W3c@fDMSFwXs2dgMbqU1mN(nelElHDcp}0^S$RaPl zzYTrE@Z(8pZw@cPQGxlQ0<%iw^R*Aap?hzR1m6bSIN2V=5r6wLCS};zfW_k$0IDE6 zA0zfw0|+3vmIQtccP%=`S_ zj0fH~2>maIq#QgPSF!#e(Zkp@9*AFz@CajTZ~XHCHcgC|`+oryk1@u^`96TE7!o`> z+FRoSk6;S)`*|}!ihq)a%>rnyRJFDMKK9w;`HLn{EM4=iANiC;K^LGv0`7h3Fy_sI zdAwUgo|!h}&^Vp_#{9Q$mQfQh^y?*(Hk{hW(c5oNmeI4_8Zx$n2~@~vXhh$<37qg1 z+etA4z(R*SOMk*;G&%tw{&Q6arsKgt0BOQ(G6F)^(gJ4OSrSUAQQpgxz8wZD*Y;{N3X)vQ9lCzYr>cB`-#4P|ka?C=6 zzI&%tz-Q*sgumx0CwB>pu8tY(jJ!%~HTuLAz#6%nvVX@k5`f0j3eY&`nVSO%03j-X zs>WdkfW|E(0}wG!0KC3XDcx)~X%0XQF$LsiEA92Rh9pYx_ox7(97t9DwY5#*3IION zIn;QPFXC$jFDgKGdG-rbVE$ziy%d0|;9d;?B7+Ba4*7kb!hH$%bam(bk%^c};`@a8 zunPI9t$#jkyVa95-Jrk-!&3!d%COi@23Sg5Nlf6?kCbp^sxf zYyui(mw(yFVU`mP=q@RKEe zqeQU}_vOTO7qF@Ud>1J8;h_4k(z<~1o_x!HHg#nO=o3Y&vJzsdxW5BTRXpm~$`XY% zN=$W(+Z$Xb2zfC6Y5eQ)AG%wz^1r#eTiVP+`S(h9cd5BBW9jawBLOaf+}#~Dh-nFP zmVfScS__e5pqaoFVnqGY-OiIn51LN(E73{UrMn&4 z=s{DxClVYcrMu~ZJ*%gXg!T|p_=nQnbP>P$aTgdF!mJ+(ch4#Gv6|CBd*HLFnf|Jn=H*}?rspH#OwB!IDg@(%Qu_niE#JqSeSKFvz~Ak02%*^d*JS| z5Tl$bRSGzJfH%Q|AMfaCU>5+_vYPca8Hkmy$;Tul<6f>-yKYvOr>T}gV>=UW{(_Z2 zRRaK+g@p?B{=o7%@Y*C~m|#i@lmc)rZoR`=wIOcC!!j3TR5Wt8r>MqFwclCUS${Wy)4=tp5e)u&0Y5WbBoef$vRSxlk00000 LNkvXXu0mjfKS6d> delta 1306 zcmV+#1?Bqq3jGR@bbkN`bV*G`2j>O{4lWhBMvP7X00iJkL_t(o!|j$qZ=*&OfI+2q zgI&usy)gFXUhL%16WHTm+8mO~>}-zNxZEp&W_yg3)lw-JRHN<_z3uh~thB2N`C6%s zv_GnEfW#PZq#j!>C(L|)?+r7&ZzSn|dC6+$@o|k9j}l!%%zx1%E{&ap_2a2id z%d00Ik&?Mj-ktt^(6>zb}9^;Wq92E55i* zp&DXp9AgQo08Z#--{JPpkj2#+`^O_mPt!jV9{B!>aZ86R>r`qaSEJ6sCX4SFKk;WQ zkd!QixC#t)RXjpqNso9SN#DKGx4>uS;RN183iK}F;eX{3$CXjyw34GoT>-2m7Z`ua zLILQIZUG$tGB*bj1Oll5wmA+m1az<@1%Z$+1pw8F%IRjaNpk>mh!P|>i}lwJIb@Ln z-b)1#=0K_$ueV#%6#)L61Lk;^PvUEpEVh8+LiQ_W;NC?Nz7&9_l5Pb+BEyY4$M~Md z@VQL7hJUv6{U}tFl6W5F9?n8}ZfnmQ9~f2wunt}5S;}~H+^>H=iWmn60a!~XS9H7w z@RkBl`aW&+4k`e4fdFY-O^>`C_-Y*UFHs==(-6EJV7Mfb!@ze z8X;tS$5Eu>hQ&=EMP5(`bjC0Kwk3yKPB4gG7JqBH3xqg3iE@jc$)~tEYawJP0BI@y zd5Vj=tOMRf4wSDf@vOFWsO-^o8xU6juv*rkv;7h4Z9w@;?q&=AqO&tc)Se`%@S$`!TSTvZ+y#asVb%|YyXOr1SjB0m zJ@jHn&mddo?w)gNa9dR`R!>uPlcgEU-G7Z@l%Z;G87QPKY&Jh7!rikYVb)E>dcs)< zWbhR%(cNPqMkQ6ZA@J;h-b4?6ykjT6T>zkG73*y>6f3Oh$0VTRZmw3lYE~E0R8O(7 zoeDR9!AoG90|Bf;*iNYT2cFjel_C@@Fr@{`5I7T$-VuGfAZ`Xh8H;fy8oAq5wSUpg zcD=K*vx*#C^l97BjLA)9%UKT%6E_47Xojh_ohu7_BXBZO4_g4VH--?MerC=tTh6v~ zF8nU+t@xAKr1^D#*peO-GO_(tGlL7c--DP|>aK1JDD=)BL3f!wz;XyQyZd#mE zs#T%EB69gcq8@m!!FQreyAmDo*x>BO07@+{#VyOmlK^0TCS7P QzW@LL07*qoM6N<$g3BRd>i_@% diff --git a/graphics/pokemon/sawk/back.png b/graphics/pokemon/sawk/back.png index e6e65d0645fdc8f757f009ed711e45af53f57318..35e589d2853b31f6e660a87658349ce792fa4455 100644 GIT binary patch delta 578 zcmV-I0=@m61*!#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s~1zK~zY` z?Ub=@+dvG4?*KhOlz32Jc+ja2&{}x_**XJW3baV|C_&c>PyiP44F)pQX!;&9T5Vl| zP6a$%;OJdK@+8-T8#dmfuos9C@WJr1z2q;Auqh6 zflL5wi2zrDCkDcFdKkLIgvF1u0Dt~EKplVpr32D;v#8hX;8MMRIRKbgB2YTunM`<5 zsQk81iHUp(Z6i=RU>aSir0cP2b^)fH1p^y0F-MJ?wnx)cBkFPA0#Eh}0+EUw5Y!Fi znx^C|<_Q`xtK?Qrb^{AK%!7fz~7h#^SWEw@4s>rC}!sC~d0|K=W%YuD?G*aU)0@$jS^1 zUnqtTwyFHh4?JlhQMVw#1Jm9GwrrvCAL*0|p8#GDnj@PiJi5G`PdQ)YZwBZa&w3=5 zh5^Gs4XX#f6WV)rnTQ!Z$1Q-9|Hi<~x|Pcl;o*kCq(a~w^dHVS{-+S)6)xH;HQGJe QA^-pY07*qoM6N<$g7G&0IRF3v delta 567 zcmV-70?7TU1)T+uB#}W-e*gz`Nliru=LQE3E*Y@!z-0gc0su)wK~zY`?Ub>K+dvS8 zwV(&E?p)|FF0{%6B;I=f*;<2}K*B|j64FMXg9-8$hAU!nc@LRHU790Rz{MUuy-Q|h zCC7#2KHza7ujcdo|I7~dyh~hSFhnpqpTCmPS>jqs8NEJJKq)noe{Y5Xt@WK!a!^EP zS@vP6R5XzHGmfPi($LF}=-2Qy2NHMvfPM=Y1tK5&ft4iy%Dw*du6G7-V4#NktQVNT z4=#Xp?%#K|l9K{87*_zJ0~RM{LgN6^S#R0`Co>gLR;F?au-;NajQo>#=I~A*P)L16wk&K#kkBN7Gbe>haJ5Pxdncv5XxM)(zyErsOQ-@MVV@ ziv*waQ~7p+DJ&CiW@^X(CeTaUDXtjxjig<=F?n=06T z$CLI1>J|j}VA{LDmMt{FBb`z&Ab{6{=Ex=rpDr)wQ_dIpivjw^vmSdZ!+>F+hV?_z z?LE6pyg5B5EiHhP|H{DJx|Pcl&&LgeX@$V(@~`_J#a}MkDm5py|f002ovPDHLk FV1iH>2V4LE diff --git a/graphics/pokemon/sawk/icon.png b/graphics/pokemon/sawk/icon.png index a60a171bef7e2aef99f77df6de0602003c9e5f87..f9486e93fa0c2037da5998a337b988560295e221 100644 GIT binary patch delta 322 zcmV-I0logP1D6AkBn<>-K}|sb0I`n?{9y%=AwGWr5=lfsR5;7kl1*;JAPj}Mfi)N4 z96cgz$Tr<%&Ql4J3p5$g6(cc@r`<3Tf^PBysZ`Cf_3~lk=ckXczg>{279R3kyb=T1 z%Dn{|25sx+Qg{ee2m$F6uflFK!BP155;kvwBycb4D<+MeMmY#d%Wa zJWfRbIWrcwt*fe!!kakcnvX&M)A}8l%nrZ=Isg->1_sp3Dqui0tO5qanN`4m@KgZ< zsGkO=pKD;SRqM9|$@-J)+Rc9KIY;MSsRAlya?Q>MCaz7Qf)B{!l-B#|^be*g(^NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lW$P znl$PF009$8L_t(I%hl3LZo?oD24HS5$^|$_jtCpPbvDjpMh%-yTfbf)n0n{&psrwWRmTG;LU5hJadDX`^BTVc=Hf|y;00000NkvXXu0mjfELf52 diff --git a/graphics/pokemon/sawsbuck/anim_front.png b/graphics/pokemon/sawsbuck/anim_front.png index 2f2ebd936882487aab3d8c5866538151fcd8f903..fa28352ddc29e8ed7378288a3941842573c4e09a 100644 GIT binary patch delta 880 zcmV-$1CRXQ2f_!CUw;ElNklBjE6o4;B0yfEz4&9GSq{zq+$dWyUW(}r> zKsE)A8hfdiP_hZ)3Tr7EN>p|15SmVcD7Md&2ays_{TUs*b?dv6T_WX94y7#=a)TuM zeZ2SXB%MBl{?J%jUs}(us0P@0M&N`AZfH_$9(M(Bpau5#Wq*do3ef;~Lq-fk2cV@4 z=<4E#?#M*C7SM{bhtQMdr`i^%M^MGt>>39eplK1b(s;hxbaXAyF2e4{E2^u3mUjqt z8`>~JTgP48EQtr3AG?NjjxY|lb{hcbTQFYi?==bKS^&E)HR#|_-$h_^9-WnRVe_ja z-i)>J>MifzaDROZsOk?s_pdY$qy+fj>o=~ifFhn4Bfq2t?lCsQ>9gwz}05}idqL3mu<_BktIlcg{Uxz^P zVV+oJV%P#0oQR`coYI)F4s+yG`1L8wc;MyxO(8*S%YPa&N9=iSzD9?oEgtb-!wU0@ zlB6td`FDYQ0_66XNiSq*#6_jJxT+P$WJ3}6FF%Py_wNg>vz7q*W3C2pz`j6W$fwf@ zoZb6CSQkJ%%>Z%_K((MA31C8NHXo>fFc1KxVMw{B0B{&oMQS)BO9em*5{cA50))Ll z4V;TRP=AA<6)9^F>_P4ttU;|;0@NpPohX1R1kUFGQve?z05=g&Nf{8&0mYsw0S5p$ zR}?^H3je(WU;=>IRsam@N&ub}+EToRW}8$Y^R@_K)wXU103>AlJ6x;wUAbAC36U?b z9tep1p#-2dKF{LXZM*cF@GzicGyTis(J*E$JbxNSHvS94h!z+I?9pkdVbrW%xnY1n zlp6+4*-fco!1Lgj8wTv4M+=DLr7u6IGjXUE1!9dQZ3zemsRpnx`F>Ut`1)s}!%xBp z1f!q_B0krLH>cv;UeJS8@P{-r5RpUpLtYQoAVHgEO~@Q^!7socI_x|r82JfUJ6OfdZMtxhmZDHvnDV9fksI;FN+Fy{V1 z!!p5;{(yg9FziKwVf`DySl|!tB7cY%_=EN64-W$hv;PT9cqU}fT*?pt0000F>BjE6o4;B0v5@T4&9GSq{zq+$dWyUW(}f-KsE)A8hfdiP_hZ) z3Tr7EidA*&5SmVcD7Md&2ays_{TUs*b?ZCHE|qd8LntkU+<%}Gejo4N-C1`ZLVu{O zY_4qPZ&U$nJtNRzf^9{L?bEIRj+DURVV1#OBMJa-Wf5H`$})4HtDFbj%Mz(dKx@tc zLQhtoDodaqK{aQ)s~;(Vrb*D6{d~Xas7jz+gx#%IR5^>)J%U}EsCQ%Mw2PY+@nHL7 zSGOy+^LS_927f?Zg8t(0ph+lK0@!t_PKU?pDgul1=%S(ui(jAcW~_{Bcf5bg)g>U! zAAas%Q}qZMAAbGD)gz#YC;Hg0D1m#7jeUNk0_rAX?aPWHb%S+0pR0?&>D1(+Dd#~6 z<`)^EUJ8qOe8~AIQ~_z534rtPEea`uXR&d{nBxoJ=6`hv6dx6dbtal6fZ>^VTIDHC z80#=6n+m@ z_^;5GF`~5nt%Tn{#oum-JvA{2|Q^ zM1SNE{!r9|4M@JNz1`~fO*(vak0M}@In z23er&8qlHXZHFCp3@Iki)BXf^At)^j45P%m1;W_!2b8g$_IC{So}C}I>Sga>$$FoB z-w#O+A+Z&bp%Om@F|1N1%!+4rnF>NXhX24Sm6>ZD0cn>U$$uRaAhu;QSGq@*^h#28 zn0I1I*dDf|N0FaI}vnav3lvSWS7!l?fe*xXGZ)1i6GXU4{7fis6z+%8j1KC0u zW_8||wtTmVVWs_6@*DrO`no_Y}i1+Ydv4|xX?UFI@Jh_ z019-}6*V!v;Drt|dI|3gUc;u=^ATjhu@bMG0ji+b)F0pIUH}W!Xf|y2afcMY>6@=w z^KEB%3UJ{Z7su0|Hy=gvj>oE#3IWHJ6!rA?A05O19DhzJL`ndgGS`#Z{df&9nGwKv zMeQqfKi01RaH0KPWeW(_0ie}T>hdv3@(38u+SSQAa8qh^b>)wBoCJz6YquE=FTizM zE*csw&W(BUG!4X&IMt(=fLA6`RS>$FG?lNXTF)W^$0B>K6I)&?1hkGm5l0YsW=$)l z`eOucUw=k{j`S=`JX2^*1f~+7&2>pzyHn~)_2W|X?F*=Q>Sq&Kf#v zuGDg%=Xz_6D0_(~OBD>pX&@^=hS#bt9%I+N#z=wrojL5+)eQaPAHPt@C<08h)c}E; zJDm^EP<;o-Os`f87>7@RsEt6dN`Rd0Xoc-L0)Gq9YU*ho5QPW`5k*4#IRK5qB1*$Z z8hHRn@HtAq4+-_deBc3hpassxJU0fXK4`a~2d(QpKzjl6Ne)m1$HN9tIlvciz$Vfa z-vdD!@2+XI2ieyr953)5AWZ7d1t2zkSocTdZTCiHpZy;&s{aetnq-tF+boU%0000< KMNUMnLSTYSc63Sr delta 871 zcmV-t1DO1h2e}83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VHcKjLF z0009VNklH^R zWUNvq%!p=YnF>PPjQ_|em6>gv0BM#i$*n9vOv7Zhv`-A_l%#Z-bC#7bOSY8KF{P{k zAT62Aq6GU=R)KP0M3|@i1$0Ngjb#*A2Cy^!0^3taM_>_PC4qFI470lINmIVt#4wV6 zBmRwdUVYwM1AiPT}e?-fB(^b1iyRDRVukJ&e}?lPLj=SJa+T4`clb02|ux zRJMR%EDQvIhm$rE54V^=40;ic5->e?IYC*honKYHBr&`ZK0@s3*eOvYw0$PWkh$RSo)25YDy)goJFGF94dX^@h zDYPa6Q;FZ^x}>e$D|M}UQ7QWF1ynrs(upiVz;8w|A`Rd3hUpmBYB|tzy|qS|e#Dcd z@(1H2kQN}r8&wxik?TQYBtQExoPVH*K|6$3fP(F)pg1Qw#z)YCj53=j|^42AY`02&5Gl!lQs@&J(FbCiA`5b6c_ zz$2bO3!II4ZVXO6&~8BwS~mxP_5$XU9H0n}#|@xzfG^;HL!>Ky2=F&R?;k)902q&R zfMDYl?0p7c0YJT<11N|a0dQBuKM6-Rn~qvae4# xKHvjD5Z9jzKy3QB?vKbj?v2VJ`#+GW{x8;=WR%QE(NX{a002ovPDHLkV1jhygN*HHt5Ic&5l){2K)yl?*m^uZS86m;M z58$_OZW55l*_{yFlEm*jzvpwJQG7 zCLnqjejw_#%2mtU?EPdZ@tfGs-PJCXtd zh;|p_2|&^g685db3hEI6A2t9k!Ja;rBjDMU8WJ9{NCu2cEPzcaCdBRCz7zn|6c*JI zy)!c4mrK0PM?Qe@buO3}XfFX;B95G*)*8o+8AGjaDWGGFwt&umjUj^u#+a#)8Xs<8 z0$aF|nbRS1Q^3s}^};cVFh}(ffs{Eam|1_5I%gS{`nD6u7eH};=LfDIK3rRLD&QS_ z5zPJb`x8wBRfK1y)YdX!o;Wj>z)9lFXs#{r>H{87r&5MDrXCdi-LCE@YynJwnLZL-VClW=5IrIuw>>6s0aPiQ5LKEj!2!T_%w^uVAq{?a zi4IuT1$gX$apzTHf0Z3TnMa{jR7zpo=rK_0fdXn;D+8#R)}&EiYdzsY;lmCL;RrX< zbK1mAXE2_lo>`&@W~ja(kXVD9n*KVmW*MyYV=FLQ0ol`|8yG!*+P0|Wzz4W2=%>ZU zD^2*hg@u&zXcsV#9YYx4I<|V$BLlp-fM?Vxm%&&ULDBbqZ|xD!8Z0>#fb}e=IWX~@ zL0fOjF95}qsSPNG7*?IPMQ2HGhlQlSbX!Pd&uIaH{=kuAmQJJ`xH_bVvcF8Xk!hOi v2uNZNh00n_>!|;<85liZ!}`0$CNfu diff --git a/graphics/pokemon/sawsbuck/icon.png b/graphics/pokemon/sawsbuck/icon.png index 83ca879b436679e5d5cfd857365e3163bd6150b1..b73633ea625fa9be9d3d9c3e6cb64d01244cf528 100644 GIT binary patch delta 268 zcmV+n0rUQj1LFdaV1MpOL_t(Ijn$Gr3&JoE#q$jg$1Lq_KVUGja1M2>|iI;AJT$Xs>7Wac-RQ!TKaOMiN^)Cof;ALX{nfgxg> zM27`{ajdOplj2$K$+uJ^Dqxdnn-=K002ovP6b4+LSTa7Xni>V delta 311 zcmV-70m%O20*(WaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4lXNrCz0g< z008kxL_t(I%hi%UYr`-Q#q|x2j#})`n5kPjW(?Z;z}Q2VbjlnY0-kN^&)_K-0+s2K zKah(4S7iM&Q><7D-8t?hVVFkWw0~e>Pk@oR>VS_=zrpGNDfw2KFNdSxyeB6NH5E!42D=<&;aRF_Bwq>}tUY`H}002ov JPDHLkV1i8S%5XbknL2l4Fz6V&=Ir}a}BzqzRWe&fB zQGm|Hg*ruiQMyFr#-xed*rtpW0pS4>LC0&*(eW0{`s*Bj1V*~^?apui|JhmJGRD|Q zXG~`!R)=6*)B{}~k3eU}crq>~IO7X$3Mos*07nPVO~)G-i+@eA?U^6}N?-)w7ytz9 ztK}{S=`FwoaBB}JVq%PSCS4O;5- zXJNZ(+J6o8GQ~RD4osVpM+0c*8T*tU2gPOX)a`og`;p48?ti4cfVShmQNZa(><4(9 z0}j! zQYHN-X1vqs5=cU-eojd{>Gcp?9ijr}{Y7j5-f#<0B6$pWs=SYs(0>8lUbEz=1PIiI z0Q&G)DV_A3mfArM&^;zkdak-85lVSirFf46vtt4hvHP2TTRk@(Uy8iN`TIN!#3CQ` p0#emcT3%f{xdqqvI`@wa-4|vlB+Tvv%j(|DT<;mwz$F1}0-B8?ZVA)6ST0s#+gBg~R=@zjwEze>(91mz(w~9{;ME>b z#>g6)OnM4D5>NoOM@5Wu8OnPF-c%3Q8iSRBYnlF*+6UNI<%CyPS%vFQVI5VT@n==u z^w%)d6|imJEPp*+*lGYED}eh2F;-xWRRe%pLKe>B5Zpl3ZdRiajHXTNc?k0L3UEjM zfw?Y%_DSV=GwFqu`p7T(x<0Sb0f4Qx!rFoe(I5sSKB$>k@a!|< zBwh3Y^X2!m3yCQD09^k3g)zo`78!o9FXwTbE&2qaAh?|4yw76d1i|4Q;=Iqn9tUru zIbz(m34U|!ppK@3(Ilkc1%UM_a+Y1SdPx>ba>-Xik+lkT?g{`gzhb#$nG?5wC*Slo zDb8Q!M1RG2-0sEUeF-c<|2vUvDHys_Wt_i2Ttv|Z@NOkhXe^?3(~KMHWrlUM9hfmD zj|Q-LDxZquptvlYHoKk#L9Fxh`yW{+VC)8OG;sD2y8)gQK#aGy*YrHz1oH7$z4EpM zL z^blMhq6Q|>BLMFND3Lw{Jk{RETIj!k&0e$gcm)t>^a1qaiB>x8I4!+{0-$?Lo_1Vy zX)3hxo=))&2j(OMq+;*4{@^=qJU$aei;MTUA4tmmcLGw^A*u_Z=PH>A_Fy~?w08d& YmlG=>+?}vIYXATM07*qoM6N<$g6O|+DgXcg diff --git a/graphics/pokemon/sawsbuck/winter/back.png b/graphics/pokemon/sawsbuck/winter/back.png index 7bc1cc2923afff4654d86e0042e7dc89d1b3b493..607a9ee99c54fbf89d0be1945d9eb9d3ebdae4c5 100644 GIT binary patch delta 567 zcmV-70?7TV1&alcUw;A?NklLI5_qCIdjmK`LX!l`yG1%yPc z9V2mSBYP!oJO&To%aRKRE^)89l&In*D7W4a&%sRWwo!I$jxdMB$$b9*e|Faf_(yeg z@fRR?3)cTLdb|#cpzwgO+`C@Nz@vyxBOfRr&F+8X0uW%-1Amk+@f`qCYXD-txPWvi z0hmExI6wq~19^~ans9(fNe+B>P;!bqK?w-r1cHjkQCLb2Ar_G)hodEyaU8$+=m9wv znjB_WD2?wvc>qb*CgWi&qEfG=n5vFwy(*=Y)aA;HevqLG>qr-40O(Acu|DLPu10|~ zvs-Mr+O~zz)PEUF+V+bCESzgYgIT+FP7E44=e`1!DHre2YdYvd4Xw^G*)^;e<* zz+_F`&jf6S<_NFY-)#m2NTTb%83filV0HIn9Ju-Udq`r@1HT5&Ll?o_)lW}-;>omI zDUMJhy0b%IW~aw{06sg65mJ|qJl4u65^X@zv2U9+Gm5HAl?KDX9t zx>0Gv3+0{rnEG~30BT$`%JUDnZ`GX4OEl6du|mZbh&7%ci$vci2|O17i2MGoBne2= z$pautz{}0axJ2kwJqplHJh+G+yb<>r5-_>ujhc6W^a|(>LsJg|-6PRU2=9o_fgTDy zFvZn&*D&9HXNl4W+U=GJ`rOklW(^1_B}iiH3G002ovPDHLk FV1kGG1FZl6 delta 599 zcmV-d0;v6q1*-*+Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VXYfA~U z0006GNklR9v!oA!PB|DPvPh<|@n2N!<?R$12OR(<={{ppxWpf(j&l{Cwq0 zK%+~y8G{J$j(>{@O-l2s0U-36C#v5_sNyD-Y6uXrlzQ+eO-fl00%v+NY`(g#6R~be zk#yZx4wzco#Tv`5wU!MUTWh~*?C2{De22FrWEXsh)-K^@LH%W56iG|nF9fWDgS>YB zb`_juvhBYQ0__G^KKvX8Zts7GB&I#^3x*=thvwz6Pk+1^Z71a-G>G0i!yN!$ z?Z=3WxomfU^U{|9=tDZ-(>^ddu942OT}){gh?n~*UmIg2JqS{}L3!ssqrMpvfD)$* z@cbj!H!vpi3N<$+r%*c!#0F=FEYbH#0%zQqv%bG6PD12x^aQXH;?3%4SR%I23F}5;Nne56y_*&-;;? zmlwwVlU0tbr<-5G0ED)qmWMnvgs^R;SY0Df36;XTu44eKAb(ffCnkV3k8{A3fwA}D zCX-2jFe2$0vyCOxCk{IpSx`3+7Etzsu^Yh15JJ#xS^od$7)!Y<0-GAzczwt#{R#B|PooPGt}%}Lv@Xj))_S8n;|<`H0OqHy zxdQsaZ{t)4WT^s#$TERa1Mn=Zs?fBujt-y@&Rm6lkuok*J+M$G;FH){XmdDRQf&W* zzOt?X(tlnK9JQzrscGKkO^+?4V_n33W`EU;tY+L}oo|j6E5OzRmDjKVsK-kH2?_|+ zY64>VKWyFsr7E{T^E__ooI!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VbY$naB z0007oNkl{I)NAF@L$VXOT7$XSaQO5>34NfP;}$FMr3?545Mi%FD^`)s?VEDC0!FMSBD` z!*MWO?nwa^z;uc4Y(UroIQx|+Y3_)?hmKm}NU#bROUmP33vuK_1ptgS6Q>*(K0pl6 zsh9w=ZIa%hPi$;VAKY`;44Da*eJ&=ETj!%A!VEFP>whBQ{xkmwNTa#6uN$CBbswM6 zk|wHGi#Xua^cOi>lZ2GDm4RhU4f9q*4!AwofAVC9C&o&^T|7HCSkXE36p43e5 zpcXXnxRxB&B5Km@81*1IBmiDLKY8Q_E^OZ(PDpRir~$no`n=^q-`zQPYlD}ZfH;pG z^mor?F6dVK0#P2@a%^)kIF(}GEzSpGudc%s#$Ud~5^8Y>g#-Wq002ovPDHLkV1mA^ BPAdQa diff --git a/graphics/pokemon/scatterbug/anim_front.png b/graphics/pokemon/scatterbug/anim_front.png index b8a8ab0482216cc6835fa45b5bd44e215c96cf80..22ea9418e7bfb70b72184d11bdbeff70136fe9c9 100644 GIT binary patch delta 557 zcmV+|0@D4E1%U;SUw;A&Nkly8n!WQtf`N9OuUvvn#-{rAg8}%Ou`S*frsN6WpvYKjE2}L! zYKjXRsyc3gYkwK^QX`#6hl1BlchbxAbR)yFwe3>ir#{hR_QD)H3TN4OqtpO z0{o--+*Ec6O_D#(#3Z)@(C9`ddjZ(dZW;?Gb*fW6)A~Q+e-IesCO-aYEX22u|8XXK z-XZ?Q&;JqezrY6i8M02XJmB2Nzo1tu4#w&dKfm_bynn%YvFg(uM$*H2z%9Uv(R}g1 z_8u+}oUGQTy8)>-YWHkm+reBM=>W7zD+2sy|K~tg2cW}%xyju%Hc8rk`u-*W;J!>% zel0CqKnE53c!kM)Q2ho8mo^oK2er9T87oBk3&cXj~q v>w&mGgeLXiRsj5ZAnp%*>2%s3o^1UDWvjtGuvPWY00000NkvXXu0mjf0>>7M delta 572 zcmV-C0>k}*1&{@hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#VfWsre^ z0005=Nklv2NQi5QZrsDLmFz9zdlV78)a|OGhD7r^12coq*1JftVfx4^gyg zNUc}!QwOYWq@?c`VyX|TMW7$$Z2PN7(tp6^R{_AS5G{BhN^%aU zE|NTDfF!+Q`XVZmZv{JLvRqbz2g;P+$D#`C^mqOSwXHw6{iQZ*vt41LG55w8TA}`> z@xYeQ7@e^zxLee3_h-Eao;uP17`yGp?8brGx5w?I z%j50s@1sIMbo1+27R52w@S~7PzRb1M_~(--ol~Rnl(Xl)r4{#S#FVM*fdP8i%k01a zd$CVrIk{k}N&g?B{~$0=S^bN7!Rvos$bkOknfk8+`hO3^0}=BJTsr+T{dR4|*k0r7 zH_pvl?2Glu?odfD@xa~!M2!BQ19nd^Kv=Vqv%3OTn+*p$!fu3KoJkK1*}ww!Xa9a+ z>^v}HK;75oFCJ1zx+{Np0GyX<^-oQ91hi4HGk2pE$`3+ZpX|?sxf3DrOSka$$Nd-k z!_VT?{xxaH{^_~)=K%3Y0l>urHb3}y@DPXxY<{qZE~fnOY3n~D>%Sd-YYZ#^0000< KMNUMnLSTYZ2^2yA diff --git a/graphics/pokemon/scatterbug/back.png b/graphics/pokemon/scatterbug/back.png index c42b8f60fb3157b142eb8f6a9e49838c9e534588..d22122fb6a2fae0899088f424f5372ed306eea9d 100644 GIT binary patch delta 333 zcmV-T0kZz91GfW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0T4+LauK0(a&3o%lh0^?=Xs^A8XBZAD&y zqktKrTNLO{p@68CnS%@_Q9vZJ#A^h|5=3<|qh(bvoI{JrDgZvnxI`Vmdx$3*IVX)r zWY{_1!U%T3E<#9PXADq()e;ndFb9C@PUDXujKTrc0tX-t-W%v(4glx;1L-$c=iJPZ zzV|`6nmCQ#Z=&+%Hun7*z*G%DM~veGltwhSt$)ubjTmPfoR*Z}mvTnq6IjdLQ5d!58Sp@!pd031Y5ah>_wH7`AQI+0Li;-uwXkvLY|QQGgkuTNKcp zLII*$W-1;`;wdE(;xzzB2%@^+(Xt{ioPCSQA^?1lAw(H~cW+NLe=;WxBQk8xH!s01 z*dl}kcE$jzT7m)~Oa-92)A%ujQ8+-gzyT1IdjlOz1>l^2ApPcQtz9_Mcg_>GM4Tq) zcA{|eG4$Q$fw^daN=(xO$VoJ}y?^(}NlXh4oYv^z*1SjKBCu_FV7#qS;I6QIeh2y` z2G|vn5Y2U7V?LV&IjEiOQ~e1bS(N|A{s^S2?(4vK1jh7O&mq!(p!Vo7!+-s}`T~ao VpRh||t%3jm002ovPDHLkV1n@{k<$PG diff --git a/graphics/pokemon/scatterbug/icon.png b/graphics/pokemon/scatterbug/icon.png index 7921166d6f950c6876e83395ce185a9282290efd..eceb9886ee55351af6c193b0eec789bf2449dfd3 100644 GIT binary patch delta 185 zcmV;q07n0_0+9lcV1JxRL_t(IjpdR(4#F@Dg>wVT>eMA2x+4|#aK>JsIh#k8q)~QE zBo;q!YzRDldj5IV3*ozpP6vARU_uFP+uecH4e9EZs2kDB0-!}^E1_MOD}sq_53%GO zKpX&Wf2J9R1`@%w{ZeYMx6O{4lf2In@bdrw002ovPDHLkV1m#cVW$89 diff --git a/graphics/pokemon/sceptile/anim_front.png b/graphics/pokemon/sceptile/anim_front.png index 7cae6d5eb80f92436d69fd09342609c74b2699b1..c297cf7298bf3f04f8715b24f279aad6392bf1bc 100644 GIT binary patch delta 1527 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 DL8{=W diff --git a/graphics/pokemon/sceptile/back.png b/graphics/pokemon/sceptile/back.png index 9f621fdff55ef17c3c687e9a431504884644af9a..7b530a08627e63d8823efcd0bc7dbd986790b0e1 100644 GIT binary patch delta 575 zcmV-F0>J&*1?2^hBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tM0zOGZK~zY` z)s(%Cn?Ml9k(V)lV9hyeQ$|_Y>oxn^`S|ZJ&c7Mn?-@Y6v!BbdVF9?Yo=fm%$qPtw zD*y@RfsNERVy$zeiM<^VY(!7Ev_{zjdzzC=K)Vld*W!tz)fWygeR`9fJ%OnpNoG1ltg;`AD#l;%LSmLPxJHwP)VLuHzQDBE=|^= zW1Xp*vF}fAj%ivAF?5dGkw~%!`hpL0l%+rHs~;a5QmN*~fOw@J-iA2FOETBj2GG4w z$An>#9%Ysv8kVu|KDuN)#3DG#EbsL`13FTAC#W5o+B%Sb?R%vLAk|YqK)_(HqKplY zls*&W!IY;4t`%PdcQ;=L5|T*9#7_{Z0VwpUZoxQ3%31ACg2OF+AmPyrTyP}?CQtIhE%G#F(6*)hqobCqs;ZS0dz0aIbm3&qs;O{ z!!q{WN0*F;SOlZY@?P5+(3#RZLG94g)`5I}-zzl$sh$D?0tR~(Wo&??^qHUtraU!p zt@t9iyZJhikVG;reu791K&e-Kqx6jnAM`!wix^rg=fXd|3mHQURV7Ui)@hWEV_YzB z?67&sKDqJ+7dnDzUqcO5JbU6SFpLbWjpjcbe*i(z?cJemcF_O;002ovPDHLkV1iB1 B13dr$ diff --git a/graphics/pokemon/sceptile/icon.png b/graphics/pokemon/sceptile/icon.png index fcacf0a59bd76e983229520144c8fdd23e2cf1a0..3eec2474bdec0a9b4cb9e3d3859326b1ea1399cc 100644 GIT binary patch delta 330 zcmV-Q0k!_v1GWQ@UljpCNkl=Eo5JkDcUJARBoEm?~l98)ap3w36yL^@> z#M2f%?BNsyg`J?OY6~G5RW)@f$j=6KS)m%lq6fS+_H0U_X+F+n3$Uk`OVNUJb=~D! zln^WOrw}6NJm`CTih14`U{oAiYnQ?l14!eKG%3GWK#YjG zu3B$zcY#Mt6-9sRZbJOR*OYiatVvwg4cfZZAV5j!u$Ei6$qh8(JuDcW2FUVx^VztY z0Nakouvh5uyPm)PEinBa7$LsjcfgQ<9WYD~WMEj&HYR8!^mU-U@W)5r4BY;H9<~lLvMEcFB(b zdw#m=16SK#Zz1QTR(@qcWX_Y`@hJvUC%gr&oYO&RN!VA^ke%;>WC)CkLu2i-F~tDV z_<}~|ml6;IqOQuu+x0H+h^eG#-5SIXd`^ky{YK*2w%68e1p<_m4l8+w8(mKW?yz9^ zH$djko7M*X(0hxb2oK#N@z>+u3ez2h5#sapAPfmO2*U=!EDYyiHE1C8RiNm@YLEt_ zks9yj5;lm1v22j*7G5@pg_#V(MF)UM7-ECE4R02vWXD1#OiH7=^N*dBeWi8S{a|5a g_N`On;m3Y_1D|i~Ed4e-d;kCd07*qoM6N<$g0WSq82|tP diff --git a/graphics/pokemon/sceptile/mega/back.png b/graphics/pokemon/sceptile/mega/back.png index 8c396d3ca9d9b45e70a94ec176ffcfbf26c7d175..ab62da17fefc4fc83f650b982bf43657a5654ae3 100644 GIT binary patch delta 701 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 I&MBb@0Q`CqtpET3 delta 92 zcmcc0{D*l$ya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c@ECFT1YI)RuvPG2YX~ uF~s8Z#B_b;l1!nEGnE)6x7dIB$ZN}By#3h0bI*ag7(8A5T-G@yGywpQ;Txs^ diff --git a/graphics/pokemon/scizor/anim_front.png b/graphics/pokemon/scizor/anim_front.png index 2eb0806c7936df87c889e96bf6ffd950f1ab2a8b..c5e6b302b67b5a8ccebee0f778be98f1c71105f9 100644 GIT binary patch delta 1383 zcmV-t1(^EM3$+W7Uw;KaNklJ5voPg3>2PhYsb z$LIRh1MGIO2=RO|S3qJ}Au51|_i23&{ZZja`` zq}m83ga9Z2HHqn!22O+?K?n&Tttv3j&p2wn`ToFldpe}F@Lh^r?!tn_4{r(Xo)L^!#u2A~?HcJ}T=gy@f@0EUyB1^{r%BTSg=JCtB#CO|o- zw4$WMZhtP+4&(=82W+6$+SF04fYuK*WJ+<0zX>FB!;r9q0$Nx14(_+4K38 z>pjZc>J`B)r_Xs1coe{Or{{s&zwpsG)(#K6j&<~cs=>X1Gs;)L3DBRL7?Z&YVTp+W zaLyFq(776{F*&1I*T!%;-)=CAaWG3kE?GRR5P!DE*%qKA4Az@;x%B9KmxMY*UcTn& zY?f{YtAK8ZaT%g0U#bLLuhZEr{p5Z*(OvmcRyj^)>lvMMx`B+9&^Lm%6LCG;gkuGa zjs8H=OlhT)^pg6hkPILIT?Zn@O-L7L0|;m(fu3-z&%a-}e)Lik*q#O_KeKchB~`%3 z-G5OQIRLdCvq#%|B@fY80Mvl4zL@ga=oG;1_lmf4T zZ+~n=C`Y(Puqd5!1IJNxiV*25qP?J8JLA$75MR(ZcY}p z0ENI)3}FHlf&Yw2j|Xi)F7R&^;5AZN2>hQvD}iY7dWFFMC20y?V~9fF0R*ROqJIfg z1fEX6Xe6Q{@E(9`wE(5S2X0F$Ra;UblcCEPd4SfsRjM-GB{$I! zoV*=nzP1~%4{-R_Zg7FJ6`*Pnl7Ds@B(!IWG|iJ_Rslpia0Ri;wX5Onz$F!nN8d}{ zJ_VJjh1II z!q(kV79h~}z7w`>#?}Im7b4ZQTY%gGs8bawEp4ncw*Zb7T{~_7g#`$dD_|nPOhst{ z)JECR0BRP1fY>aFx&^T72EuAufX3-IEkMm5sAgJ#CSX_q8{E2QFfD)`P0#DAFfBlk p8Gva4j!dA@?hXOY-opJi?H^MTzPHwnfUE!j002ovPDHLkV1mWKjWqxO delta 1412 zcmV-~1$+9n3(^aaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#YF_U?Hs z000FwNklqLoO|pH2*+z&#l+?5c=2j&1$_rN9axa4oAfYhH0As`g8h8u@s&Tl5*&?iT>}?6Yk*gS^m=l?Dw&p;`w5( zfz+}h)Br8-<7o|eve3i>>^Z1`5PSB?Gej)cc>Hp4bwQPDSZ)42mw$6dK1&j z95@pB3PLCVWz~UsrcP;sk3#h<4>)b24mgWHvniuEdVgdFX^LaMSrXHr>{-k1L^+#mKAm48tt;ZxtEZ7qTi3)vHa~YG zP$8?IjwZ;1Bk9vR^HK5PQi5zwK;xVIndRvK)6qmQRi8iy|GU5P4cmgI!bdChO$T`Q z!F65QEq?=v*zFpF_Gn}AxfIH?h~$JrL3APm==$#UsYeOH7oBCj~JJef^4!&OKfVpL60 zrY~gzuGf><4SnT)P&-6$A61Uy*?LBGP8}#{_dhP^IuX~iO*GQLs5Krc+9{oMJh`AT zN`Isl5JH{@BF0Tb4YUJG! z@Fp|>_X1BU=6NSKk!GDy; zLlaO4{96rpoluqn|M#z2APiow6!?D>ZNcj-Q3^bO;M69%KuzGO`UP~?CfL0^H!_QNMPd19gfy_c^G4VYf4O>S$e?6HxzF3^A=NF!kcHb zk;Dv;_(=8j1a|@?^i2KxyUxiSYkv%XAmER9H*ib9Q*sj>!6{?y=XL{j0S@2V4K7d_ z0m>Gk=%zt|IZ~u)o+7gfAk4re#4gWW4L1W9lq?=SuejRP|3K0xAIe}?0|cSveYF#? zL^PgF)+?!Y1GwJIK&sx3KoKyWtU&sy`FRDQ_Madl<85gR5a#y27nv?&YkdL83z6#D z2B5G2x~ins(#}Z>3*h9UYsVd+v;d)YMFg}%QCR?eQ8sjdh6NxXZl^@k0@zIhVXy$5 z>TX+rhCeV_fG*Io05-Ty&(O92ww#_dPtmpjVb%hcohm!qqrbQN04MlAe8PWI627-} Si`#Di0000#-4_wy2G1F`s|kRI0A;zER%z6Kxk|*h``r}yIS%0U zG2hL#aRN8T+|E^LL@46L@w>}rsx(Oe&yT;RfU4BK4Pf)^!=E-D6$3E9qIrLxXVD~R zmX!c{IK?{^AE@C|X22;xM?e#(7Xi#%%bda5ngKur3{|PCHfqA?evku@xpS_Oqb?1OfuwNj_GJ*fT93gKid&25%0-_-4IoT_ z^S7w<!~VP9H@;PJxaA;F^b^uXY*;#A`tN z!TmJw(oCvIw3YeqI9MSAyCAHc#IF?$W7Z00vmB-#wH?G7~hHjR1N$#aopw zsNq#+z$ri{Koe+Z5ln2$lEKoN0YCx_Rk@^11FhmAn&e<}e}kHPbk42is7r%mASv9rT^)rEC+7qnQQTTYSI$vHF(BfReWk0+pM zFSIiPFqB~Df1kcb0KUd7Yb7lQ#7R=v|N7b=yAWpC5Recmrb*mle}5lE^J#xLX}_$E092hd`0Dc)>Jucy)ojBJ*+RJN=&Iv3 shdABDc)AA>6#t(0XlC%Q{3rhbIWy-_U>w-a000002uVdwM6N<$f>4hi5C8xG diff --git a/graphics/pokemon/scizor/icon.png b/graphics/pokemon/scizor/icon.png index bec0586d84cfe2c0955511a42e7eba17827b2e7d..5fc6d974091c1f68d7bd15a1753e4a0b0a4b2ffe 100644 GIT binary patch delta 383 zcmV-_0f7Gd1JwhNUw;8$NklZGHm8IZ%c?gz}fbL!x z(Ivu&&I!}aJ9sgBVY>B~i{V%sE6ljg{S!@Dw8H%4-Vf2&6& zn}wNYf@CWUs_@tBglV_?_%l`*;{7=QD-1~;ffa^Wg%&3a%RVaRgb8COVK@<{6p1j# d3G-h+egTH3-z=9b=Kufz002ovPDHLkV1oE4uWSGS delta 422 zcmV;X0a^al1N#GzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#YMXo~EQ z0004ANklEyLC+V+3Q{Ka>Nu|>RA+C6iERgABp(r`ghUwYh54-?--f5(EPFPf Q#Q*>R07*qoM6N<$f+Fa(3;+NC diff --git a/graphics/pokemon/scizor/mega/back.png b/graphics/pokemon/scizor/mega/back.png index aadea4456a6b428838dae07dfb43ff2702b17a46..8cbc7f76f35af7be094411b4f5677dd49c6a5037 100644 GIT binary patch delta 687 zcmV;g0#N;n29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&ht~K~zY` z)s(-E(?Af$ZEZyt=MLdCNVcw^T(ddJ+aN()xJNGXDk#MzYs6f~$%@4C3eZte(;?pC z3Ph7<;G50npVxP3VPvQ9{AT9cnaM`~k;S8Pz>AwRK)yVaVw|5TGG1lTqf#!3Q^eWB zBI-7K6c9C45?bYhz?5iz24Gl3g3kbqjIUmYp>V#;Mv)>S71y%>m}Zesc{UOy6LlMi zDD#n^GS4IfhT1?xxwvfB?X;1C}9B!>gRry?vE}Dh|h+0!W5{ zmH|aeE`c943N>6u&G7{DhoOS^!jZ8@B#OLS^ zU*XBzBC<5sO~X}x4)LkKmV~vXF-CVvpR_2={lz70ho#j`Gw+V(6jPq(*&ZO%SXj3Q z;#FQ%mA?%%v|n4UV0SHu$5$1bPXX<^(-w~h;>&7lZ$=(4R&xbkW9vsps>%WAlj&@d zpn?OOzjnj-0GiO<5lxUro%nGpL~d3^s&Nvi0C4Q*i;V$)C6XN=qZ7XaO6)>$;Q%B^ zyuM=q<1G@5LwSFFNWh~PW-0+B*j*prwxfQl@ml`L)IVPXK9|2~waoZzM-B<_MpI_`DzuEkW{sD`kzjv#E VeZ|I-*8l(t002ovPDHLkV1nOXIbi?* delta 678 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 RD2@OC002ovPDHLkV1j#{v(o?o diff --git a/graphics/pokemon/scizor/mega/icon.png b/graphics/pokemon/scizor/mega/icon.png index 6d96dd9508a81e29f1b256067fc2f9b383a28c5d..2ba3e8243933bf012e259cd9581ead7c0aed62e3 100644 GIT binary patch delta 377 zcmV-<0fzqc1LOmcbbkR_Nkl5dr5P~a9NL~Ffkr*VmNIzo)jm@oRBDGd9+3ESz8~KQ@Q+8Y{!y*Kbp^ClNXrYAR5vkr zXr)vz$6(`u#$qbv&Ry4PvtvO1dr6XQt<5F?Y?TH~wnpKJuYaJ=ronx@RCr1u0;wo1 zpL@FzoX}ePc1*}!`YaZ~zI~-_BhP&v`*2Rwnxu5ClYyWRS?-6c(6+Mnm#`>uU)S|R zZhf~Nyo=D;`Iu(53=!NZxTfg{ANOCwV0CH|4Mt4hXk|w*zY&(bJCw_J9yH1o09!8s z!U_boU+>C%TXG)U|J+L$oD)Z3jFO{4lgnVR|sSP00CD?L_t(I%e9g_Zo@DPKzV`^ zM)nv;4`8GQy6P|iJY+}?(XB)8ki~-r>r6qH!h_9NKn4wB^>H0r1=^vF1_OQ|MN)hK z|9B|*N0oqU0>~)jdBRbuMGWp+DHYseuyKH}oJ!eq*R`a#0e`UjUb1XmlU{j%ts=l| ztrea^3cA|}?8nOyPdP*&73bA+Z&o5)XpDI~WNa_}CKkcIedTo{&wUa5uvXN>Qrgx^ zPf&OP9hFM?d!hqI85T+P~0bM>Vgn@^WqcA)Q6UO$! o(2v4YQJCBO1OFz>pZxd)AV3id+Q$zL00000NkvXXt^-0~g1C{aFaQ7m diff --git a/graphics/pokemon/scolipede/anim_front.png b/graphics/pokemon/scolipede/anim_front.png index 3263324117010fde412411c95d4309788a842394..9ed55dab02cab625eab8a1c9b42565127cd09c56 100644 GIT binary patch delta 1584 zcmV-02G9AM4g3s{Uw;M%NklLJrQ?atu9b zmZ=~o*HW5m={$CflVVNh7EI~I0vVRR|zf7$o>rv_zu)&Hzwbwqq?B~aP&RG>2&~^i6wFn#8|zZqS$`Em*R*%MBYNfNDHIE>2}*q#acpYsosPlvcGsall>_nTWn3w5^Sr4p_|Ho_&y{v05x%P$=rW)VnM%yk!Q%GfR+ zHY)bj^vZFAJv@+}g#d~r z26KTT;ZzG@fYdR=(5YbrpDCa`Ew%PkXj==QA%KQbbyd?+^c|;}(cO|n7eES280Lml z^(|A;8+yyF8Ex^N%?AQF6!5R!se0?U+`sqxwSN>IGoZ|T)z{O$mG+XcKt%w4+O$*_ z1vD{#iGXFQC+3&tmCB;8to8|kKm{*Y%n1-oZbhKaSTVW|Z49VmK0*8M34_*ldlPaAEnb@Oa10!)iww8*x! zGk-Hlv)$mvPK*IJNO{4Uluk-y>q7)cxPlmIffoFo6inG9Eig1_)B;Zc3M1b7oY-3YUniTyhQUaZCe6EnZaV0tk&&N;9fw&vV zf8Ylzdp8cnTood*fvt5FKwx9FKw$6AuYVQ@;yk)VAe^uNjX_4S%%C zVt1Sj&iUXx)5t4T7Fz`2mjlW(8X86fSV&}UAU)G)poD-;{OvBfUXmCt9;B^#mr0;$ z$l()!WN9$co4PfPDq3a)kPh7-qc_X5YXW#?gyyqFcjSPxKLhH*4nmEUq?tQv^kDWZ z#(oh2jACw>>ai_(2XIbd;eV)S6(<0F;xE!Qh*3x%{st zu5x;Wb+O2h!C-5}3>l?0HB#AW_#Jxegtk4|$#LqjY1VGtY1i#^7{KSn-bbmTWP(jJ4 zhXE8dp0P24>M14s(VHIVA%N^-^UhFUl%Zghpj2_5^h)XiNDF{+v>#@<(EJ|mHusez zSu7%>j@$nbm~Xn^C{D>QXCrIO^9fKjeWSPccyC|b{oynOh;5nxyC(*#HJa9;b))-F z0kD|CEWU#}#Q01w)auwT@CXosL6SEGLn-(J6*N3c delta 1615 zcmV-V2C(`344Vy*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#Yan=_rq z000I4NklCtkajnDYj<4+egO5cF6@DACIb9J{s__o*wdcwJBdJ>>jGZg14srqP5^lBzw91V z4hx$rfa>|h`+;UZkduKfs28u^ccAiw4wHfE*{iS4>orxP$w_SZ!G%Av(-N!z^1=04 ze$*HPRFeVz;#APbO1EO0E7nQ4jI4x`4b~#bRQ!mLj(;+4+F*+Fky0EGN=mk=*>n!v znFQ<2vpAwkR)zu$bXmUbVTs%PNpH)i$(B4J_vrz%@)z8bqVS@dyym834&k%L}uH&O$hZQ(DcY6 zQce*3f-jpAk=w=-+#3RDR%8)?%ztW*%8><-#uP^R5s^L9khF%@a%y^q zowLZPWtRlr)jL^h9hZmqe!pHi);BgMPKh^2W0 zgnu`WA~2-16kmrj0ptmw^l={Ae~|!uEa4qj8EvW}(oReO zCrrEH2A2^ze&<6BNI8rcE1?qpEwZ=7v;R?mI)u&P^B-%c+7YOX#h4li#+mCJ$2>a`QBM|G8K!IrYZV`x~-CkocOd#yG@2`3(6M?Yy z?g!Ns1QUoX!0zi6{xA^;6-rQCr65coRIH3$%~}Dpg`!$w0#UvaR|*6$16c`lp?~W8 z+uGBXyApUFy!sjJ=5Ow*2zmd{pCtHJUIjeg_~ZQ>3rLkF?l|wC2mX1sQIM)sO#VGx z`XtCIXc#eIA(45Xd!~?3iU8Z}B`vz1$m7oq|h{kXa(SNBpho^&7984T4oI3 zj+`*7HOsRx20YUv_j4s@Y=eC`1Apqw4kC?}&roOF7{KgZO#C7S=%xH9-Rq>qgScJ75m9Rl@~yU0VF{Cp{4`P@8NFqP!jpYBC_(N{f~fph6A=_t6n)5 zTVo-(0jh?l4-Ot59LoDYoPWlT^%U4Y(P^#GG>^=s?mq>dSLUkhF@(2^sgMmS4?G4lst z0&xSlNx;X+qXdCI9ll8P2ll9fT+Wq~1S34c2s=uc?(k$uFjCVb97q%l* N002ovPDHLkV1lM8>b3v? diff --git a/graphics/pokemon/scolipede/back.png b/graphics/pokemon/scolipede/back.png index fe71c89aa4ab3808fc91025b4a73aee63b99d38f..2a8235682691dcaef58ee464567d7f5904278cc1 100644 GIT binary patch delta 802 zcmV+-1Ks@m28jodBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^&(TK~zY` z#gs8?+fWe4g%;DrpTSrTh(a>tY)6v_$y4!^A@(z!yqH4ALWX+EAidCo5DlH8&}8Tq z59#91(IHbQn2I<7d3m3q_uiA7#+Kcw^uUtv{kXe#|GQ`XQ?qM-@jK~ez=6$x4gTf; zTZfwgoA*?P`dXmDIRSNle|-hPKt1C!pE`aWn}c-+X&eyI=tQYy_q;OTksVkzW0+c7 z{HVlV6^zvk(BOmo&sRy3d@cZF?7$W5NEMoAuwReIW2bJk$p~O*fTjU#hX4m4tQmlE zAQIp}UZVrr5AaFWDFX`0!aAc8ay4uK;|K2q>N|+B^|-|wsol$e0djr?V>5tVmjIjd zc?JXY0eto0ss`|0tpF+oz`L+_LLa*+H9!L$19%=H zDuC-E06u77H^}=qiXv3j;;pU$Vh5VM2Ma()pwn~c8(>cXZx=vj0#NTF4j(lD8W23q zd!HNYw1$2L`YeKfcUA$>IqUj&ZUi{<TCg2PPeDi zsVhe$GXYn(h*FJ3RE%2%!|C)M@iY@G^2fL1OVplO0gMnS0M!uF&%gdgA+#s+ivWn* zuC9{Gjgw#VTccq${sU0%$fFRC$rpK(d!92Gi@Hr3i)~dL=;R;X-R6X;v8DUj;^Zp~NH|Xs?4cfU8>_XK{5E zAhE)G(`tx)%W71>58cY4x(?X>Y6jCNMp}3=<7qh{7`7?I+2Yn(1|}VZcAr+^Xbo`A z=oHjRmRf6Ti0Fb4B^PJ0SXAZEE7L+2BR6>i7~iY{ReZK^UIr|d7ekpOn{p_B8Bm1K g{-h+w|2E6|4PXPgDjb`V?*IS*07*qoM6N<$f(#&Wp#T5? delta 773 zcmV+g1N!`l2mA(*B#}W-Q2+;YNliru=LQE3FFFg1fK~ti0^dnQK~zY`&6F`~+fWe4 zg%;DrpTXD;h(a>tY)6v_@l)}XA@VbwyqH4ALWX+EV7<_T5DlH8&}8Tq5AKoA7JtwK zOTzc#?%w_Ho@M<@vnzk`*OKi(4YmU|c-sT)w6_B`@2U*djX<4q0;=BT3jDr$Mw^ab z#YTVALFz|D)H`8f*^lV5oS!5%Z$~+xtT_PKqxVQRfS=H#on#pd&;#() zhoc(6yOkU$32fdbwxfz$+`-h~`KY5+7Kc#`!#2RhAxmx4Zv;GK0qbj|~B;)H;6S3Y&1 zk!dYQlI(#1CIW99Um>Q_D$kcd>1=m4n>lhwG81rphbYxpg!#CYa5S6UBc7##h2HpX ze1+OG&w(K#1)v%t`gu3sD1U_Zq+T8Xao5pRQn^w5YjI~ZEJuF;${o5C;xYarZ!^zx z24f+34*HAu`{d;|Edd&+RQUb)=Qt?@ro0Ca3b-x?rkwL$6iF^`CNCGsbXqV!Xz}-n z^^`1D0GUN-1GIw3DkqDTeJvZ{f(7s{Q1#2zUCq=KK8>6x+IFL+lz+k>fan$grH4zc zg``2=DlqLJw0g7(#~XkPMyH@ovc%e0Lr52dD7ZND#iA+)Zjlx;AGzrp z!05K%=EY|lEsB8j*(NXJcv}wTF9Pxq+8^Iq|DpW`U<0`-fC-Rz00000NkvXXu0mjf DZ&zQ@ diff --git a/graphics/pokemon/scolipede/icon.png b/graphics/pokemon/scolipede/icon.png index e00cd4d91d074117255fe395f95924b40dcc3151..c5b66dc26fee9a169d03c03df416e8bbe466f35f 100644 GIT binary patch delta 322 zcmV-I0logc1DFGlUw;83Nkl^@6Xb%r5=GuS z)H{(Cd9{=nOP#ReE5?A`Os%?9WrAM^oK7EOe|8ze7}0WuvShS-TN03*cA6`b5^D>M zLQDbp;G>s_LY>`qFg}*bRvhJ2+?G?xjkcSkF5IqfrGJ*U&wqA$1Nf!z!9L4+7XTd^ zU%@)6sgf|f<6#bfbq~B4G{4Bu4ZK>RD-`j}pjGI4ITf+lKELUsIBAR(W7Y_Cmvjue zTnXe=y9($<@1M*VKe^Vq-jZQ)D3Fg=D_27V1Js=FCfk|2fY^UnzXLO`6&MJ25|~-g z3QQ1`z$8HlOgj*?fQf<@FhNiPgGo>X6TAC9nB=1lV3Lo=049xu9GI^@fPUcP6W`7b UneS2Wi~s-t07*qoM6N<$f&vASGXMYp delta 359 zcmV-t0hs=n1HA)~Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#a-?$kC` z0003XNkl>RrJEuZF}jbdnuk zWk-@-Z=p-6Ch6xS9mfaoXO}Sm%<~zG0(kc^C#VGPw8%_MtbfflNjU~M1z(*alG)j9 zdo#rvv#a4F>(42<9$m0mci8V4|Q1#tWLk z1VJ+xFDQbcC@6q24}*z5Di0?5c=ll8NZ5h-=>z!zAK%~34w;y6?5qF)002ovPDHLk FV1g9pm^lCd diff --git a/graphics/pokemon/scorbunny/back.png b/graphics/pokemon/scorbunny/back.png index 025949e0ddfe6ae479b52d0b29cffac7dc020205..1189ea61f0adb9d16d850d1d27a67df8f5dbfc17 100644 GIT binary patch delta 476 zcmV<20VDpn1jPi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iH=jK~zY` z&6K}x!ypjGiNxTs-a2?m<}MYLvRbMoJoGtm)+)%y=t!2$Yt>o(Pz8+B;Ba(ozx96H zpAR_lKb8L$e|bvAX>mvcA9EDgt%d14Pf=j{S`*Au8LK=W3ZDQ2Cf9rdn5X?x0R>!h zC_oAm*%QhbLjZI1$~p^wFbudd)^UI{dyU1(Zf5ML3;^f1C_u052x>F{!~yco0F;e` zj05>`1-dvuVO1FiGFyL40HpQ+(gLB<1a%6q$5o;Nu_hTvX$+uz8A9NMn*mysSeiZUdtZESyp+fT@u0#`f zPFoQIL$kRw-j1+Qe;?O9Jg5vu+$0#o1c6Bl(1$K;W&~Mn@2mDteg()@v{qugK~zY`&6K@v!ypjH ziR2+;vvu&2%v~xfWwlgGc<6IL)+)%yNF>YVwd$;Xr~)==a5y@)x89HY_}_7a{7c*Y z=6`w0`it_A2R^1GunCEaX&RHj_!R<7W0lH09m*vD28_P=3^0xRe>npR_~KB2l-9E+ z1*H@L?9(gN4xkutrBpM3Gkr}8xS1$DDht5*Ej@xOJ%So60BL}{Qvl`sAdx8_1E7&H zL$E3hY+e2#1CV9`B(_P?I!z96&s8P^aUxkr8FX9O+yuu7-vhKL5tL}T&J^K^la-~) zNC~ap_El1-V5S!pf1bgb;*uDh>|p_fH2gkBVeU(C*6=7v!3~T2ii=3|qUABri`CFr zJHX1id%x-6!K%2$Re&K55Q#JcoyKIIH^0^oI;#kHoK&OG0>eJBTmVPZw?-tgw>P53 zma_KUsv5tv<<45}6uU!(T-y2netKXxU_cKSo8q|@$j8`QO diff --git a/graphics/pokemon/scorbunny/front.png b/graphics/pokemon/scorbunny/front.png index 8cc2c3f36d498c9c7f3ecc8d7cdcc7215ce4fc11..03cac09525ff2553e500ba9ea3c287816ef6f3c3 100644 GIT binary patch delta 504 zcmV)MN z3YeFdEGZ*Ed97?xmO0gbZn~6v>)P_uiU63C&EUSvD@FqCg9h1bXkaV#RsxxUr68eg zw5Nft?OFgs0&Ij1pncc}!lvh0 zQjG3Af0n>p8d)`WoZ{7yrz5=KGc^$mcV7gy_KbqSLV1$VrT%gOJ ze7iGkB{8%XTJv}U5_b9<=@v$FbahCk)|HeK6=~MnC z^N|zjh7MFupBSgt*u`!QmIT6)*`zcOY=n(_JCH)K(g1li5kMmieX*)>9h`Pl23GI* zAl7Cihs9UiFdiRM#<;32ivk-J1H1|cOk^;#qwV-#MnQHshhf3bU#f10000ZPx;5x?Ll5 z=nsT&eWz9d{|IO<6u_G_(_V))eAqx}VC*NLCc_)6EVQS0o-oOJltf_y`dWzE19l<} zD=nNHBcMBQVAe~ifAG&E51f=>rCZN~l?rtCcwZlt03%GqU>sGxctA>`7L#h0pd?_e zm<^v)f}uuOi`1MGQu{=q@9Ac-sz>92>1AU-@ZfmA^sk{SAi2pdQx`aqcIZI%^og-* ziB+tYU`W6pnI@qDFC#Se_do((N(~J?cwR|O4^}xYz0#J7Vh~j;Ht?k$$!4(y(-8|d zV_Z}wco~n43<1u80_8|#t2h8{;p~v;c%0{R$tyU_iJLfn&a=IUUFF#m0nE~Elz^uh i^;~ei__F-lH+ut#shhez-sO@20000#3d1lAMSTO^pamPc8X`J%@F7Z05O7Y=WXz#F zddQWW7@AS_)JQILYPM?AM_=!Qq}1;!RXt3Vuzd()Qbf%0XcLWW3hsegAz;YYmXq>) z3*!rH}6a|&qGR%cL1UqoL_J<@KWRJa-6 zGcZhG8rr$wyWCjCEhk4-L|@Ko6%QMb{CP5_rt#N|N$)8Q~>%3e2*D^5`M4nZ5E#%y?Qs;G&c}mk@m6gplg6 zSVw7Ahq{4^5*wGAI+xDKk%Na**5{*1ib9c^MkhgCw~Gca z->?5UygvtW*!fu6thnjkB;T6o9p;*fa}Xdy_tne}K%aHi=;+7V94@ zl6?oR20gh9EGq|6xCndEf!l-JkuF@}O?@0BwU;YY7>r4!RpG+bjtDAJ$&(q$PQ3Cw zrAZM;Ub*wl)05`yyie2qZPDuf4Y0XwG$+`0jID;{4c&2!9)F%=^HTxrI{P><5_zR`%t=D#W+C#jT~LON7rMEp{KQ6 z9W7TDLxB!soQYUrfW@ld4S>ur^ltl-5RIXOjAw5P=8JaOFvTMdNZ63)$u=~4AF zLZ3_taqZlsg&H`~rcvbDJXd#RTl_qY&OA{^hyr08gMZDF!B^@U1rWtBOtb-2CGdf^ zA&!7*Iw%1e&|e{rJ=z(l|2rhGZzT|es{zXa9LDhse5>dzGeZSX62})lVMZ#us#gO#?8agwz96C_L|5cmZ?q1iWj7JA z&Te=K)PIUxvOgoUIpd^PyY4KO-90p=I55tCs{uM=Nk#Aq;I+<6tc)jw4DT|Y7lJ6# zVjZxnEu!oA@KWcwL2BPyPkGtzL&@p&)ha_y1jjk@zaXUCrQ1)ctA!vG`PT^2xcqeeLO{9?kBxQVC4A(m7F$}h5|lrDA0GLV5qLyvc?doG?YMni)z|OFMJ^2 z!Pnm*z!$H|+3tTIA;X=#E!Ss1o+H3s2^{DuqwmwWTFJx zU}dQk4A%uiml|FNd?GLM#3iO@q=wdVYDI)Wd0(3cJReXok#?T|qLU_s%*LGmPQ^sB zyX!Zuv;!#^637FV4dPXi_j{VzU{FLay}McOaTB1>-_EN-m5mSDcuAEBqmbQ=alG07*qoM6N<$f<^2FivR!s delta 1080 zcmV-81jqZE37rX$bbkN`bV*G`2j>O{4logFYIleL00aO@L_t(o!|j$qYvV=~fF*S4 zB@jopDD)6En;#%EwrK;l5Y`_EMk2eAgBkS5-zde47WTT(F1?jK#Cz(Ym-Za92OYA6 z9BmPD_L!oxGJPX$w!88?`BW&h@96pT^hWbM?=y^lTbQjKz<>y}20LOtJV9+)6)bl}L?*PVh3QN7f?luD*m~=_N=>>iS zFd=sVJn#X7%FqSqIk?`UQX~-ZK@8J`*r)X}Qu*OoGSk1qI*Hxlk|NunEpW>MyIS1LUNn^5SQaH45<%gg;h+J)VF5m zx8eEiWF*MbTCLAl>yaRVJt3sPSX01AR3RGxm0>7zY8#@E#RF>{5-H3M^Q2sc;i;zw z90-||eY+oV{X3kPbr=i1yw3|g&@wtn5_&S%ccqCxcYl&s5!T_5fRm=+$>m^QUn2rZ z3d5x_;JO4ca1+u5xM6`7;8Xqq(lp|G1O0!8O}#q>OtZez(N@VuPMoF-ILrr=>Q1Yl z_8nX#$pWUMdw1_f-D&l98NgYZ&LAEYd#jDB12{|5tC$HlQ(e`5QtzkxkznZ+!;ZkN z$c?uDC4Z2W-NbNR+{+TE6}b|hV&h36S=+8R+~(o2De=Ih{L`*CoLE+btN>Z-yya*k zmy8V`HZm`eD6-;9z^fj?u9L%SOXe=CeQzt1Wxo#aZt zF))bW>+cER+t=l6kAF;v;m+Qc>$6`j3E-pzF5>x|0`L{-;w*mijsU(}@FcqU0lxW_ zD1Xw7sv1tIZCarsngpXC;#gib2!=Hjw@c9^7^{!BbtM>E6G>gxp9{v;z%gu5Wf-<> zEnvcElPSRnLvSsn;aj7Zsf&CWvVP=du3-kXBAjV?U-wUCKHxZ!x?2EtlFis`g0qI> zMDki}%MO%aC?KDTO^zewx^4$bFs`^PZhyeu)JKxC149YMf)`m1;MK>5vIBfgf9l{;)0# z-PEZB;}!bD`dZ%(rC_{|xG0EzDFq`9N8+9k)>1H1B@o)4`%ExIuJ6ddBi9@4Co#d; y~nZJ7gyA z`AkR?+o3~;TEM`4`OoLr`SaxhwAXKP7h2colo;4-2$c5EO#0@IxE6O1iWl*=;$uL3>$Ca?>5ma_&0uG1LI zK=laIG)>Gm;+`Vk)@(UktUadn9>EE03Ic8e z3@gBM0+Tv$vl7T5?(m=HCP0ZCiZ7qZ+j83+<0#NDGx*QTalQc^IB;l>4)$^Y0000< KMNUMnLSTZ|BH(ra delta 512 zcmV+b0{{K-1m^^hB#}W-e*gz`Nliru=LQE3Fcca9g9iWr0m?~4K~zY`&D61O!Y~j9 zV5AJ4kf;iM4ysGK0gA{2REi7}BVk2CZPl(_c!a9z)~UP>Gh|?Qhs?x1p9wVaIdtey z3mEXne?I3#qw&|v1E}A>iK12=!2PHNHN@Az4;{PsO9LELyeK4af8{!ce*z&NKBBin#zGFd`fgNbCqt2pv%mFrs6?Y+->wP(()%SibN;KtN#n zy6o}*m##5gS-=xzfAHxBg1|=&7@Y$cF@0Or0gQOIK~NG;D|ef;#_#sHlz_0W+ABve z196O)Z1ACQ6IVoRWxxesgb@=dcVq7FuMk@)B{MFt0sRs&sGI|7Z==^521+TcQQdE< z15nBV_D7H^u11;}Fi?4qB5Y6u`XCBs!uX!Wu=&t*uy` zEm1`kZ^_#*bm>b$x}^z?9Vr7Q5+Xh$@c?k!{rdkqpY=J;A1e)w)x&-`*uqPdS(XpZ ztBe|4UR%OBKZ>Fv8C?h_sL&@{=ACF{@pR+SEihl)-C9C77k~bS^eSd7Kx64efQWH3 z-J{Ak^n$2S-vTtPtIFAC5*%2wOvosj=E}g&5{YIkXpHqktjSBX#4Fl6PKWj%jw$Eg z7BoMO8xDK>{2}F*1uC9$YH4{|Qvp_~5H&#v`s3CssE`ZB3L07F7uO}-^1ggNTUeg% zSG!9S0fj!Bp+!OH3m6P1L6tg)c4!C!J@S#Xp#f&(!|h8X1j+bOmAE!zLB58aq(nf6 e+9u+6K0W~{N{dSB4RIU*0000UHc-?EZ}@FGWXVgl zWFw}*ATiWsDV!tq0a|bO>A$n?^f}HSdj^zM!@fV*;H}K8$bT2-Wkv&YURmIrA4O4; z9#aS=DCm+cb5FEo`EuvdUtqC(xVJ#F5ME5`He$@jDbfia5hFG3)5;HY{ZO?(08~A1 z(F=ife17t8gBy}f>)aw`HQ zPdSa$Jgq2zb!jR@MHGVWxOEE(a=}W O0000K|#5swnoMKlM zO{T^X%=9cFzQFA;+*)9rAz?On;Ith9KYt(e3yr6s>yzW#MS`bD{tQm_B5rZuCjdNdDMwb=v;ZW_l~C?t&@~SN zru9f6K#!ZQnY0q?ossP;A*4!~D+k{-j*wD{)Ui`)dy`3{RHO%hkfyugZYigH>Nt3j zv=R^x!oviFh5?7WVF^Z}fE@ynObLyckm-=n!0{LY?te6w?IXIXO-;v`G+t4>uR3+= zgsU?c|CPb`v2X+B-e6RPlPIda!C1!5QpE|k2BTbRCy?lMVGKsS)b7doRO|I*QcRY5 zwQ(=e#=6MV3_Obad(DS5ZsBFup07ED$v8viven3QT(%kD%zf|z=D;lcEBp(94<%|3 zb%yTK0%K}~0%8Xs{sMr^0v8cdEEwF@Kcv$AIzl`B%@23BS8oq6;c^Esw*wQON(O&i z3BW%v&ZBTTq=CyF*uf9}ft#!QA=vIhsIwBCf4KMh3-Me}QIZ7RzyJUM07*qoM6N<$ Ef}S=mjQ{`u delta 649 zcmV;40(Skr1>6OYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#bC6x$0m z0006%Nkly^hmB5XX&_l_+Qc(Q`+g=JEm*UY|s@oV*)F#IEACpvJcn;svgU z!gn>G01pu%`5J5&Na^e=klZEv49vz!#m*ijAWyN0G{2qwnt$>9J#VnT*6uvG1$cPk zaE^TXeDc`gPnF8f+O2?+{>?e#wDY z&QRdhRlfY>1TORCrJ7w}z>8-9Tm`fIJqna%`Tb*(e?S0IX|0>`nxj`41E9AJdQl#^ z0e{;T_-pYNY=6xh`M|5TV9s=kTDRXjy9Ky+G%lR}>Ui9&Ts!!2f81_xKWUy!#)Za1 zkj?SY%__!2#6Kq|dKGmz@C^VSb%Y};Y&!trdMy+~w!nR#YCTm5Fyf|a=AFc9XWG}5 z5K<-77K85#M@T6}V%aI_Ym-W2iAa6}gf!I+v!z_{g?}aSLfM-DzaJ!)V+KBl*{}rl zLZ5n;2#H5RDrCYu;#-a(V5S*%N3`8GF%@INIE`>Nw2Hw78wAFGE-=0#eXl$SjH<8_ zMRgDub!5G&DCWJuC~M8^0%cPefzj03-Z>v>y_wI8d9Bx5`x0HGi&SNxQS9Gq&Pde3 zV>gbkIe&r9m~mIaP95p8ivT(I)(Mz|S-DsE698{Yq)+NJa|3FM0%8v+Yz>k2z6f#&`WaopGing>F3TecnzDZxK80$yt# z${~Pf0zFwfl_VTP0hz^r5d4;*Kpt@WU>$IGbw073DG1Vx;T9SU=7qQZHH{;!U_(z&9mA#;heG*8uoc zmKV$vX%kBx#nPUqqlWB9fLa_`@?{!QSwMCf$_9ueMp2Fx^+=L`xe>SsLXo_gIz)2> ztLpXI1VZ{JUTZvYZD3W^f>K)`5Om{}6CLOPi2g!)NGkRBwHCmHo`xsR>+yF`!nJ|I zp?A|3OD!NVCIP+>Ux(nr$%L2gD6CaXqP_qUn2|Z$0uz@5_`NifEir&W5x_*yH=ipC z_h4}b-hlxf(kXx@_STSH7Ntgft002ovPDHLkV1leX B$_D@d delta 453 zcmV;$0XqJ)1gr#*B#}W-e*gz`Nliru=LQE3FdvQ5T8{t#0gp*UK~zY`?bR_)!ax)N zU}EUTAS5~)jE*FPKfoYmtqBhk15V{gh$Hk3{*ub#;9~d%GO@^X448ClM>g$m@I6|w z$lWm*Cw=St`tDut`kKrA$8H=H_kr5s9&uXT2Wm$Et-5KAsu1X1e`tYKt{sa$qN@XK zQ9c(eY)t`?L?6Anra&5a_h<(F$+&Jf_#&2s9Vwvqb3Vu3RU{gZ@%> z&3O_FbDp;v*@_(#SeBF^-v9!@Ctf^LfhHn!=fWjYth}$307v|3xNupCc0r!T1__(Ln+7bD zfW?pndH~;>u)t1)yPi>0E1M*Jg)Ar|Qn&?1j)my8*O_F9J0bS607t;je2plYgV`Re vCiZxfb_O)Inrz{)g=zJ4P~z}U{V6{H03H`YU;_r}00000NkvXXu0mjfSUAiY diff --git a/graphics/pokemon/scyther/back.png b/graphics/pokemon/scyther/back.png index 863bf3366f37cdcc0752c55198ece15f61622939..e161746499468d77a19ec0445aaee1e88ec808ed 100644 GIT binary patch delta 726 zcmV;{0xA8{2HggbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tm0=7v+K~zY` zwUj-I+dve6N5}`T;vl99tc&2%VvIbb2!z3>B!6!t)?Ep^ai!xMKvdlV z+FOb=tcbd2Kd7K0+EJ+ZhoYs>=yO=XDKsj>iq1Ydh80Cap>%prX*ED9Wsf|Xt9BF-u#(s|FzCb{y z4v=aVom*b5IzaE&8&^bfLZF_UTQ2l!rS$>t!WEJ365guq^zPY@(LL6&qJdQ`QVO80 z>e-;gq65mJ+kD(60Fc*zb2xzR<9!Dt6o*tzPhO6tQ-3sSE-4O5smjYi04flO`32w< z2Le!$&RIr4tIYWncM7Ufm-jl|Isn>j?ki|z$4${}S(gI9e)Sd0Ze<8K0RrEC&4-FZ z2OJtDdjP)Y^Wi=}IzZvR14@w`u*vhH(88v_`J3|78y>p-kQ!1TcIeO~m6ePcP$ z?-F3bjela_fZ!RIkO=POU@R7-I2^bXU@bN)5+8`bl42z#WOgEuc;|njW8kD%pgx<- zS)3Wce87Umi7liw94rzSamFSs5dtKy-|noJ-POW(xBx8B&|%okhk)sbyrtfSG3UA>1O}w!9o1u;R!hkOhDU&)|d`#UTj-ZGV+PT0zQR0wR14drxx3k?D6m_66n> zSCFVG-Qu$yFl-Y~$eZ7-+F9yf8bLYi5MUAkj6sfnD;T~y=DoM5*gPc}PA6B+9gD@2 z@c|SVWl_+VFB9-{B$z%m?HLdkvzCTl*1-T`=}+qaU5xz!fk1Evq}%Q^00000NkvXX It^-0~f|x`{z5oCK delta 717 zcmV;;0y6#G2GRzQB#}W-Jpc!ENliru=LQE3Fe=+&o~!@>0<}p*K~zY`wUj-I+dve6 zCFBEm;vl99tc&1MVvIbb2!z<1N8#5)R=|4_6P8hs8cIE6-4Skc)>$FQPoD6|SIN=>0v6;za(6lGPlcP|4YO^Q)f zJ#5Ay02K)6$GZ@KiqWxJH`8&T2vV%7^}{2C08}8LUxjlt3fs^RFXtdYr(Y0grn6v< zhJOIvk0R#RfPPIt>P8W7PS-i~3W25v+SwH#7Su+gT#j^eipPGA#lA#9rw)*67N1*Q zE;~T)S8G=UJ0Y-{oLesSa;fzJ@6r{K?ig>?c6#^h$LJpGSkl1iC{_xftv9nliDd^= zWw-gHWdKlY{^oE1-N*Y5U=)W`O;28qg@02tDw7lkrBvVz!iUR?tNV6y> zpjGDl7IzA&Qdjpn-8ul;ZQ(0uWyf{dY@;p(fc@$#7TwAaZ~_Fr{mO=lLkAohC3^tA z7uj&1A040zk@q=%{&?OePFeRkq)h;fLk26KyLBMeAYgi6c%J9IV&7N}^t%Ki;eST4 zZ$R*zOJIU~Iie^Lq&OV76kshjE0_<&U`er*5^_5cNWAku(Ft%;%u%0DvM9-o@Q+7g z!Q#Z`QW_2x32}MCCM^*HB;UN<+3T-u#CNy=EYQ%)u*-&k>4>7G-i0*yGF)`X4e>&_ zMY?TyIXGa&v0;!0fEeGw2{(!Z3x5J_okLnf%3lIvd=7hOh2qHcyB_-j^NA~9s!q4~ zYzJiCkm1emR_!eHFO8rab_hfg0gOR`e=8z9I_AB%sKh+69H&z#=T5}@$@l;YjIt=` z%a;uN91PQ^rac4VV%E~oVI2%0k^ZFq=k*7HKyU|+6uJcf0000lWVk%aD>s}{t1of|+!`!g&C=isQ-9wlZfRq{Zdv(U0xDc} zInE0?LJX(0L6LRU$>-NNne`1k@0Kf%PmlckD>V7e)I>;tl~5B}801LnP;O{4lpj<3|h4S z007}hL_t(I%jJ?W3c@fHhI50rc#+ZrbTDQSnn9feUCJBn0Tnz#FCk8Xfh11CZ$+9k znF>zg8$bS+@IO8wetgKlB)~%@fcA=kJ~sgDxaF2y0RGB~jelQ8z}&B_PXnNa`5^W7 zEFx&E!m! diff --git a/graphics/pokemon/seadra/back.png b/graphics/pokemon/seadra/back.png index 2846658a2de37624d55b5db7d4a949e5759480c9..b4264953f378cab4227f61442ebafbd6a3a58c30 100644 GIT binary patch delta 711 zcmV;&0yzDn2CfE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*6UNK~zY` z)sw%9+dvS;MG!9BO(Z#-DqCC=cdrh|(+D)b{pOq5S>sK{JMRWC_HPhl>lPtbpQrx^z+e0;S6rwDSpHRsH6D(O zsbRu(iP4S@$MY!yg?}D@YOC*%JUD z0KPl)fIzGe+mYDnbO`XTar{gQjtszBTmwLb3rPS&2?TZ;07-!L(wBIxfnX)En^uiY z36wRS0tH_0zv_JJdyAMoweC=ln8|oR6|0Hw=O$t6LFpy zBLYw&piany)3gzt_F`#b31tGRXtst9AI+^ePyxFJmNkHfg;+)!&^0L7v;!O?^ne9y zSpn83uR^v&AaFo`pccSB{K{vf0s5IYd2sw{SO}y{nIwUEG1Hrcgf^No7OE=bOl`LE zD0L@hnWP|z%A;*CR5_O|lmQLkE)5f(02N>=cjBD?h@qOK%`h`&+JYiB0`v4R2*?>T z+M$SSgZbETKz62F63XUAqQbKR(oTBBgd)JbKl! z)dY$FOt^jt%{7#FrRLyak8Pk*5Jx>oH3S}hAG9D+EugOB%&HPJ%R8~|_8BUH zszd-=k#z@!3)=`lFcI0Y2av_aBMbY$Mhhs3c>s4A>s>~4toJ2<^Z zO(XFB_M2~JXKWa6G2VGsfE)h`absO0{8;y$>>CaI!5pP@T^N|a9w}fC`1_Znu)&#=iKg9? z6H1uVy*Rko1t%%MNzg+N*dZVkfY%cV&(Is2jH5&-grFP}VtjSk8=Hvp+?Wu65&>00 zCY-j6=(HCr6H_P?P)9p8boppz;y?-P23WP@gn(E@8qhf?f7q-C93%9A32a#d)+et< zG9nN-AkYY49e(XI(g6KfwCCXXb+ZsinKDTNi*l|f3khvBWh_)#$eEgK9R+VU1m&RuD(sNYw-$ejk+}QZ1mLA?@`+xyDL)5fjUJ1naBtK zahYfZAef5$H~`3E>yd>+V5 kMxZ!*cV3hafj1w20ls7(PKePgcmMzZ07*qoM6N<$f9v0pp9e+yM8NCNo^&rs)$FC6Pz)pK&f9ao@H zbB?NkT$LTOg?NoqgBBDUL4lS4igBxB0@kZ4FUCzWW$+xYYkv}Bnrh+M^H@qjGEH0w zA|b>svQ3C@;_@t`bn7O$v^UX_=VyVF2>hyYUxfa%>p9%eAqzLeh}a*UZvx|9V+c|$G%$`JG#VIT38G#D6G!v-6EK5E&;$(k41N}v2Y?9GfLxgX RumAu607*qoLO{4lp@i-`{co z008VsL_t(I%jJ^43c@fD#`6T`VO+(jox8NNPa~vI?CMb3*QxN)K84^QwS$ESfm545 zCe9*=x80Y^UB1hYv0n>5zNIP@B!PT|=je*w7pm@j7&$rNhJO>#t5=QcfI_twW*hMi zb&mlQ8$p4V0Lp2ja{|_@Ls3p?GFR{d&tno(mTBQJvudRvnI*0Tkq}}V*&)Q!xNT&V zZQM(a!&zL&^RqxL0>7%=m7)Lq)Px(_=i!DJ5&NU~CNS=b1;%vd7MQESL0MqTXG>UM z3_)su2F4MDUMmA5EI~ACVB%;Dfw_7F&A@Qa;Aerk1AqwCfTxE~>;M1&07*qoM6N<$ Eg55NSjQ{`u diff --git a/graphics/pokemon/seaking/back.png b/graphics/pokemon/seaking/back.png index 8fde25b3b3a5a976facef14888a10bbd98a92f25..b39711b7654113414c7850186a2b41b8ca0b3208 100644 GIT binary patch delta 826 zcmV-A1I7G~2cQR#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{KZqK~zY` z-ITv?(@+q{T_iRS4S^}0=m1hDa8oLk1!$)(QPU?^GNKci7&_E?iLz9xg44gCwJQFB zZZ7dqoso)AS)74?0Qd_S8Ikzj-7_>u345*luyUVw_qlt|@owr>tIf}j2f?HN#AgB@ zgW13W!i&Ll2fr@B%KByLQ|#K~cY6?|&*4qti^fHGIWSRp#BP%6;$A|xnW+$2n-Z$*J30sIn*RRYwo z_W0Eyazxzi6ZA#iSF|DA_G3v zxORjYXHG8`iFPx8*m`il0M-J)78I491GctTMIvv&j)A<=i}|bFG^Tl?5~zXobme9w zDQvv#0G~{$C&>*l=9fw0U}O7X`bBEoMUj_Oa)E(Cn@LwBmR}_Aen^cHEf|W#AhaAD z;2pnMO$G2FQPPzvhya2t8;8AbUp;LUp4xwr=L z>j29eV!I~n@9KW?VM3oFev_!o%Gw=!x{Ee_S-efFRsABe*w!5A$|DC zry6782ZruhF_-jqz)2LqZeqt5)KY;^(6C3;k||^cNyc2mxb%AUX~aNL3c&kqC$Cd} z(0#%fYr36(6ix!^X^e@SPCrL?BuYV962Q>ntI}KJHvE|)>%kzE}10xJ`Wzig)KL7v#07*qoM6N<$ Ef+oCwUjP6A delta 810 zcmV+_1J(SX2aX4jB#}W-e*gz`Nliru=LQE3F$5m0q9OnQ0`W;iK~zY`-Ic#?(@+$~ zT_mzeCNB@iRazYt5R8AUJrsNfB&g31wIAKfpsiz z1dBbWH3mK|1U_ROHen&4sD2HL0TckpAX_2;1Qau$P3Hx$4#g}`c}wqi?m2-SUJv<9 zY7A^XT@`@WXZ~McWv#}3*Ce{;4g+9eFfcBac7r$^jwGy~VGAEBNt&kS*jxD$)To1+ zBJkYv?g9Y-TI+6_e~vDWaa-DNXkk_Y53i-Jk4$$ox)=ntHd;_X`C|N2oWSS0)*%tY zvo={!&=ep-z~%yI!$g}bSOKbDgaU=D>x78(9b15i0cFu*DS$nUxi}v-N}$@@(b$0; zBz>`I%-OT^(-P1c0UVRH`(mOKyxblL@E!rkfi04@nCNUBe{K+kj-Vl82ce;2A7AnAcFKSPayStS zYygX7HV(Vrf4_M$DEgEkI0hUQff(V}RRQvX08_@0kPJCBEeBWui~|g9i0SCC*OL9D z!-R8&_!(C@D`Sq#Wedktyquy4IU{~26g|L?-_*hW12E(vgb%;yRQvM4zyrh1S>E(X zL;&1P-0^jBDL}|**ac{C3YkWcDfQ4!UalUD2`DTBf3)9b{<@?GT>-{ek?n+V9smdA z6f}J`kj;5uk8{FY{n9&{Yo!~`7C8^1t8 zzH2N2z)kp$i9G-$8V(?nV|?wA2_{bP9$kxq0-1uJ4!*rHu@4jtoAgvJb=WTfBqDy6 oMZ%T=>W>%Ao}mg8O8t}0D+UJ1erg3s zPIegEhGZB(0Ap-OD`emlk-4Jg40xu7s5U5}Uz;WqV1D&11Fk>(XgB?IocV{Q#f=;fhH#2Cp;0AD$*1$=bdvl~KL!o1sT*$vMbK+`_G?eN80 z%tsG5hm-dMTAdR@bJ~0Fk9`3!g1_TO+c$K*E&3zc8Av-t#JWk~7EJ?E|EIoPHs}iS z7*?dByj&8dUse&gNVPD!fG=VAszVmWNQMYA_hS-=*;T7ivp)<200000NkvXXu0mjfEnkr) diff --git a/graphics/pokemon/sealeo/anim_front.png b/graphics/pokemon/sealeo/anim_front.png index 8041b38bb4b00fe47ec5a924c2d949455b6f9de5..027ef6de190e342c196051029372435a40f69521 100644 GIT binary patch delta 994 zcmV<810DR=2(t)~Uw;F>Nkl8qaLymN?qhn(#pv71z`GG7UK>sL z^;|bxp2B%Ea0B_XdIgBlkOPP#&)dHonGUvi!f62&hWC2Wo`2xFAHt-<77N@DhcWQ% z!0mc|co$!LlYea_9*)AdQS>!(y52DC(~AhiubZ`da2WI=h;QL=^gf_X02&sQC}oS{ zIKc}9zJ&cS*rwD>fqDjrP9T1dfn6tnT?3*HJxX+be#DlrgM=M@*_{B;uVTV8{^sRI0lXsswkvN3`*IJ+kcqNQsRgxmPN`$p}Dj15`kF) z#L+GsjRZJmfpTjZz!H-LDChGVvpMiRA@cb-FpiGW9)+Wq0>|-tkSPGw0x(Vrj1j0r z0OUIerEyZ=7+YL`CQ=djk&Xbsq%z@r9#^vwCewJv!U)3IYvaW-smmh>s*&vF5iWwh zG=iy7xqpKBX|hPVk?&9kdX5QN}J8PRW&dZeUb@mH*K0G18g_zQne*^ zR8pBrS`Dr{9WDyy)9G|H8)}NS2C-#paBTI4!MuoQryqz7(GqMZB^k0-d{cpWK+|eE z=ObPOmRgrTjnnuW@xQD8Ip5z;)E~5)FU^ClkALcq8qSwy_#f2&9V)NKmFBtnd!r9r zY4$Sp=U2EN4!l7ArJ}eGLSBo*;c)-@iRq*G`@D}<=wz>d(CvC*pR?M|VGQ&@ z+&_jvGx?J>2q4XGzn=V#z$b+LZ5o%z8w3Z`|9KC^{XJ-Ra~Tj@srv8sA1bKrnS)qB zv48r5xJOZ<{$LPpG6n)-C)M^SQU3&}GeAN8TOu3{b73Hs)xS+-Q(+9mlKLCy512Fj zk^xe2hXdFu00n!H(?*Ux$mu(y{+T@>HoKG@dywDuf59H;Ywdw)YJ{~1QelJ=e%P!% zAbKq~f(S~Tvj;GNX_||}4blyF4{Hw)QCk-dpwoe?M<=O0Nc@3LC1XCP*wM7A-Oiqs zRorNu%8NNglyoum4}{cIyv=HQVI_pjKWKJp6NF-j^F(43II%Ku8vjK60f9S#7Y3|= Q2><{907*qoM6N<$g7k#d+W-In delta 1030 zcmV+h1o`{32-gUZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#d{juXGL z000BJNklzmL;M6vqRRtfd^=3Joc2uTrn$XzwII$jLx+?QQRbm09qfu0gUc zu4oVv0qL}-fZ-2_xb$9aT&+$*AbBIDC-)cR($LWDz2~vB<9{DXb5~I0NlB6UTiMb!yhu0iq16@_OLf4*+z! z)Ff6pP_-fd%}u}&0Q=7}oE|MxcC^)bqT8~(_3pVFUPjGwXAXhJ7A*9FAk)`KjCY z{O}<@_AXyYIGcoTqv%uQ^u2L7qc0AUdV|!R;)U32{MW(U3s98k-Q_L7p%dYP%SHKrWWY<@~G`dJ?o89_+j^#xpq-=ufZl`57bXT^+T z!no65P;jqKucz9OQ?ONteOrZVtF?9RK?FN_L4Rxrt71bcQI}L}?MTE_P0ijkl`+*; zo3^o4|No}`H+=tusXu6UxipXZKB_-zc)2vg@1XwgP^-t{qv8~Pa!2a&+fws{e7=MOJczYn`TBzcS&D#T_H8U*;pwt%o zoMufe|Bj~qLA4W`P%8Rtf!TyLqHk?A>AQ`80f9S#7w{?r4*&oF07*qoM6N<$f(cCP A&;S4c diff --git a/graphics/pokemon/sealeo/icon.png b/graphics/pokemon/sealeo/icon.png index 4ab29ca679d5687ba247b39681be6803a8f9cfb8..2e08d775d531fc94c215a0c8791f123499cb9f53 100644 GIT binary patch delta 36 qcmdnS+{Zj2o`X@+)5S5wqIYAzIHSOqOHOYYfWXt$&t;ucLK6Vcb_ouG)78&qol`;+0H2%@#Q*>R diff --git a/graphics/pokemon/seedot/back.png b/graphics/pokemon/seedot/back.png index 119c48f1fcd07b85bdecd35f1f06f10bd9d2b17a..30cd018c4ca489a195d43cedb360122611e4ab30 100644 GIT binary patch delta 460 zcmV;-0W8{>P0D!8reAu}p=ry6QdM}}VZ-=M};0{%v zU*fn7kO-hBgdnReq+hlOD39oO65hc}8a6HBQa^RELR=88x-A`*fNO8{UK7w)3HVj+ zPd%{$TO0;jZv|0bbt-ErpYZzE%1W+RkN!wf%EtPuY*Rf>XRLp6)7Ja&@%GiI9^r&?DrP$HQ4k&rrJM-#V}54L z-qcL0%%3nIC0j@4xto>&E%%cL9athj&XJ^v0m=3O=#M)3+yfXP>N5;r%MA4;35EeA zkzKrFg6RX^mZcph+nU+g^NUe4B4dli%sAu^V;Eo7(!mqXzBl&(0000s0gp*UK~zY`?Uk`l!ax+p zOPVk_cx~w3vtfo@N@H}dnY>8~SFA|44T;?gX;RJf zX8r0A0@F|QUg&G->Gio97%MX#4#O}AMSTP09DphuAjfh>Z}I4}ItL(ehIlKj zC*xG=&@t*43t#$x&@<+KlD+R?-TMAmlW5~Pq=YI21CN*c049G;|ruISu delta 215 zcmV;|04V>90O{4lx^(q_5Wi z005FnL_t(I%k7e}5yK!1McF`y2T;x$AY+k|&XmlG2at^m(?tmt!tPSW*3szQeIdAK z%>R|FeGl`}_uHIAgZGdUst^o3VtVKaPiCv8WG1qhT4qDG-%!&)CajSLAQO#?x)-8| z>|QS(Lvecf@{&md@Gdx=fJvM$Yxj8B!|?;e+;s(E;3Q0}!gPKdg{kOwKR($qcM1+q RS9JgY002ovPDHLkV1mUjS-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f$LMK~zY` z?UTK7!ypXDA$Q(`WAFKJx+l=?HsUVb;=Aw!z4LSQIWlx^^Il!^3`Kwer)fNNYA^pG z5$J~`giP-G51Nkn>1GUg907{WNRFA<-_9V%04~_=5;&;1VjiZ9vAH*@1Xyyuu-uAs zj>WTwu6v0osM+Q%AvykkbEx<1sp~q2x&*m7*=V}5et>et(J#RFlIDDC9Ezb|Fb2v- z5&+VL$o+EW&I3bBpar!BW)82V2jFl3FXc)!H$ob`AIbm#=E#_{i?FMriQUe;UD@9S z!&pIUyyO4?$YBuyWkSS+UPZFAy9TTi`}mGPQ?@CPo;ZGBktNB0+-9xY>H;{u5~58W zdzD6$tgY6|1b933V}-}Cv9#2>4Sje%pL>9srG0;0nBnM&T?8*O;)0Av~;AQ}A3H(3fJ_z^H+q?Ab` vV+!il6%5tP(-N*AX`f!=cfehLK!kh&i$}t1%A&Tf00000NkvXXu0mjfe=*l; delta 441 zcmV;q0Y?6=1fT?vB#}W-e*gz`Nliru=LQE3F(bRC7fApB0fR|IK~zY`?US)`gD?z0 z?cA})1ojX}_rz{@u((S%xWix2JHDgek)d;&|LU4=sD+Jf(liX6+KU!s=~8&fD3lJ1P--7F$+`1*xD*Z0BktVe+Dk+oMZ9qq3>UO z3aZV#B_zf#hq7T$ecv0@B#8CRO3{4q1Ee`ezX01y8uPt&)C~QCF{p<~0zjG&u|2NL zePE~w)SxsiGyYOq0J;vW)TTuJBBa6kA$0&?j))mOan{y#&WX7M@|5M z7%~skI)qPXB?&Bte`~-t(2ws3RB0Om;f>=57MYUB7)#X_7r^P25Y^bHREk7xvE2l~ z+i6^@&Nh~&O0}*J&*$?9P#gj(D$&a^5(f`NrfrL1qV>aFN5Cz0gz$*aba8u*h49_z>k0qFC(Q48tGF|b1p6hTdl(q ju1OO<;&;GZ{)Bu1i$}t1^_Ou(00000NkvXXu0mjf1xCiw diff --git a/graphics/pokemon/seel/icon.png b/graphics/pokemon/seel/icon.png index b72059c906be65ed43c46becf76b083911812e8f..1328be070cf4e3440136df314abc10d9877bf9b8 100644 GIT binary patch delta 261 zcmV+g0s8)f1Kk3UV1MXIL_t(Ijn$Gd4#F@DMRNlm=C4tEimvpC8~~|H)`$#T04eH3 zMJq)t5H+-gBn~H_9-qDw+j>I$ThaUjJg#K`stywe3Klhw1VDpFgacFwDp#}!S5ppz z^&80=+(eE8Qf7HlnjBE5EOY`S0h}|SpirwyMnL}IadCQxzUve0IGZEF0`~>)Z&b(r$D*(zJ}8mtAkSEK^)#oloqv_9P6`p%jL^*@Q`c zcx^UebOs+`vJO$0tiwkbo4%#5FjO{4lyUZ%hON* z008DmL_t(I%hi%S3IZ_@MstHX%-4p^DQw*%dH}&DZ7_uw5W-e28VEKT9M{$S3HI)k zk8hHh;R*3?MUO8Kacl$7ihT_<98?`)z@UzZ0O%HUp=l98QGW^W>l;}$1W%y`r0w*i zv?ZX?IhYJc0@xQotf6!#6QFpFI0Q2$5N#Kj;{<#L{jloIIRP?{VYTk}@{-5A?FKix zYOwoh7cP)G??&4V`DygB?CW;ZGXCrAEEZZz5~k9j6^5dng~@(IV`pJZ0dHZ74oR4z y!&?}azom~bMJ0zMjB148N{3mPMhEu4kN*S%lfmu{T95|-0000yRq3xErdUkC*YNkl~7=LWVsq0h~H@2N!#IY%cy`g&5Y8N3zrl2_7 zT#5RnH=pA91_kjY;D9*rU3fDd$K#398ypZLRaG*-%)B@M-p_IVz4nB%NBdhNK0t!8 zCu@Kmei{V(G&nf>x*2$LItYUEV9fce#{SJA_6JuI;Eh9UvOodBi1W*40ErIBmlqu^#D1< zxT0*xYIE$&atYl34C&|KUa5S0=6?XA&puI;K=M7$-7b!R!5Tws@cs$hVt@1=Kg%E~ zmLr)|02}WvAfc4=Gv5QC*zdx;+LVo8+~20Vn4Is^LmY`xTn!;AqT6?)Z6DhaWgmfV zBA+kAh;TqE+pf=;?w@+buHiC>uCLm2rZUDoCjg5QAVOrU0FDQ*h3xkyQ-93b1TMG& zM#lk6X;0joxCY>f?7J^y4*rP0404&l;s|b^r4`T{AfVb=@EZ3`2={g{ex}!|Eiz{? z(f}`j3bqLfKa%8 zi!tIIo(H!$%<@!S6#I=wMqrEZj1~airC0&wfq%dmgiNDD#(=>n zWa{1cM_H}kA?26^FMpsz8UP%4QhmZH>cDh16WOBr?BTN1BEZ*TVa6R zwANO4|50F@pN=K5&M;b>4}vi+&N{=`97#XeCuzb+V+!|3Wiu>_-X z7+w7nOE4;jaZ_FWYl4x%(qT{!Fa>#;O~J@=uXLEQxLbljMd>h0z!D6x&<=yGcyVmO zh#?{7$zKr+S4&RWRs_SdfEB^WXs1@T{&~T${9#2fR{Q}4qf-Ygf5`s#hkE-PT6~9Z U6>o&o01E&B07*qoM6N<$f=EAQUjP6A delta 1369 zcmV-f1*ZCd3#SW^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#eR!g{am z000FFNklPjBNy6u_P7p}B6=-lIuTV*^r^*(S8&)OD(g8{5t<;@A|!-cYk@ zwTqA<(_O{k=1Md#z4;W+HzH#GB$h_vyyJ0=Rx>pDcui9OpHN=Q@-y{e~5TLaT?DfBcs3-d+5MNQ7X@2_QJQ~S< z<^ue5z>h89$A8}+#r$EUfe~hF4H5kU01qGSjTnXWUM|O$1znl3J3%T{PXH^ zG^P@OU;lc96e3(v)@PMDcBZKW9)5<|m*8Hjd^?rR{^Bz=3B>Ps>b7wN4AvN8gLhBi z4*SCo_;~_xwjA-e1lVwQ0WqbVpZgvF#eNs&<)&-|!+-8J-Nod5pB~{zl;Ua#Q4;O0 z8*cm9jw$;DbQ9^k2qVM+scgGGW4eFh8M}tdAlkla&zQ;>_nZJMa)1btunaiqy%MtD zA5SoA6S(9G7@Pz!p&fC1>KcG2k{`a3IrszqB1mNhi(|MuoRvVQhk$D5!7JQ1A>6y( z@KCQ+Q-35*Z=eC50SWYigXiOH9V0Pudb|Jv2}E~zOU`AUjb3nwD^da&CB~otbxC&4 zf+3i|3kfXXJzk@iT^xW*VC-BM07fZ8K%hTTz_Z{2W(I&!3NeZ9<*C3J$Tkab@13>* z9N`QQV}D-)csOn(P^8I+N5TblD&Dr#t;4I(a(_0S7BMgcW>a}8)Kc$dw~;*cb^i$h zUYy87iU6T-^9EzYspLlBk;4tgt@Ch@g**>#c9`XsLU6fU9C?xv?YBrf5q7`_&9d8js!VOuDi9p(1Ik_dyLH z1b_8HlD$QeBdvz-X(H>#mLF-N2HN(wmMi8H;Ck861;#8sR3}{@;x9pMHQG#ry^OD|9iMBl?d>)SeS8# zRuWB^x%066tce*{0FusdLCaUZnRrPxOMlw(=Ef&YOx7awf))>N=%w+RDv9%vXdU1o zkS1#YIUj8~|GC!KYVWTFw)xpm5~~cO!Fewj;^M3_jLm`cgMG5nFh(Qk58c&E7#qA0jL9U@f>8n3H<@6>9bO1V1qd#bV4z== zf-y6LXm^!h@QPrVLxe6}77X)lViL=OVZH|>oeNtqz?1 zV&*V;^|uA1aG1RMTY^zKOkVvh!7v;~SAR<|42RLxzbY7p!w_BltAbHF3~_b!uL?%# zFuMAWEx{-qMpysX5{%Me+?lTa6~RcLa2V7BOhH~|Q!tX$%N-^!?v`Lsky1NM0a$_| z7TRHCLCbzyf)PPX%#*()7_OF_;w`oX!?S=T!ANMUQnvni!La;cNidfD0R>~dKP3PA bL$&=4T6~9ZF@NO!00000NkvXXu0mjfvUGiF diff --git a/graphics/pokemon/seismitoad/back.png b/graphics/pokemon/seismitoad/back.png index e86466f42668f80fd1731a95c8b62f1230c68622..9435bd8c05f650aca0738b8e48a91897c862a755 100644 GIT binary patch delta 446 zcmV;v0YU!W1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80m6}qMt|q} zzZC=*Cvzs{!_$e}pACeFPk1EtiQ^Vq+c-^n)7rJP65XfEYN+k}Wg zjiHf>MS2LPtCfZ-8H%^XAz0;kULavOD{9T5NZ_?xIavp8%jQ<>gU(Q9tg?AgSmA(c zDWwRFs47i0c7P9gCQ@C|`P87wOMeGY10h06OaqYPJs>RDytB}NyxdI?rXbmT$}9~H z_-+FqI4s3MAeIdP|Cjf4H6RPOg$02D86H*Gq5%>(Zz3?qUU0Lyu4lYV5R5c}dKeZw zZOVI`!6q`@1V2j6XsvpY?la2w!BnaH4A<&~p3DJ&29HuE02Xx&cj16?s(^Ff^V-UFe{yMlk27u7QCSfz&m>KvX zdjojGX&b=Bj;_3p#Em^@@kN4#%RR6TwwLo|f0y2n0L@s#=aXDIGj_l{{lWGKuFyJ< ofO$RZ?LuPR*5F)!q&)8z_7lgVZU5e@)Bpeg07*qoM6N<$f^Q|ujsO4v delta 437 zcmV;m0ZRVq1l|OYB#}W-6#xfxNliru=LQE3F)qayYxDpB0l|@zMt|P9{%r-p#mSsW z`S5fi_h$nk;uGLTDbD$m*X2Rb+CV8a=REdr=6AA9bSdW%G@46!(KaDsP-AGMVv!z# z>1w5+N`~TXaR^p>ZDB!RK!!&ZwrGF^&YK9#u@~HIuIm{u69glTpdN+=Pn+@{XRwJ( zH^GlmGg_-&r2CBWeK1w(KEt(o33XjAfCi6JCIA-OT$c_gr+?}WzLHiD&@ty0>?YV5 zNq8KTAd-=`;F*B0-6|Oy=^DhZvfl(wjX~h<`|IHH7yv>Gn}p49V`kuo>Zi zJG$~Z5;yjs#TN+{F89DX*j~<;{at!P0yJX{pHFh>%-8|*^atA`xI*hZ0_OFsw+o4N fTZ41`nfe9x#}cA#OZs6P00000NkvXXu0mjfhQGpD diff --git a/graphics/pokemon/seismitoad/icon.png b/graphics/pokemon/seismitoad/icon.png index b4e348fead1f3ea7a49f858e7118f4f2a873aad2..fc83558bf2bc9e95faa00370f4806f45823d51ce 100644 GIT binary patch delta 383 zcmV-_0f7Gd1JwhNUw;8$Nkl{$@cj3EGR^+8P>q=;}o-X-w)iT~^k%I;9@QO~Y)7 zwm34T`2s7BMO8lDM0ytTw4DmZP(}SE5G=j;kLSl&{a)}alYD5{9_RmwqHUh0B9n_m zVJea+IF#hZHF#w&dbND#EAFe#UJw>oU*2#Yg5)Lb5DNo!cbL5Rz9@iAJAlbvq{Sw0 z{|+X55iw~vVE~i8h@PlxCotKIw24>-6URwkZ1RDubG&WrY?FN8s>UENWgi?Kqy``5 d{84`I;}a1^9{Ka6rV+45CveLpuSMggXoG|pce_*yUMI`9TrZw01De6g|Ved$VkD{ zI6n~RrrXxLyvQTZ%qPSjJN)u3-@Tk?@>aO7!assGl4}b0NPl7^CUW|I1371r0>&~j z;Bv`UY?K`?wWVG!v04~)7=l}+0jxg&>I122-Wdaw8k~{<_;v?tYpt7o3TkNCSW718 za|&dwv@D5A1VopL1nos@Z3zuMRP`cVsZ3XGdaNvMaq4OqH#M^*+TzHV`U|W$W<`FV ziS#VwY3rV+rhlS-nXB~TKb{|LwR^#{O!A>(dz}9#ine-~icBsN1%LOFamdMyYf4`9 zYWc}m^s7!@5EfWpK5*VoUb-D(VW4`4ofqF`8L+7bFv*Lw*re_EV3HRRI}IlcV3HTn z5;gS%CV7#zBbLC#vC}u(`9RV+zBV?t>U`j;{N#g@4<8Qt*+)Jf%I|%A0})0Z`Jh%* QZvX%Q07*qoM6N<$g53POM*si- diff --git a/graphics/pokemon/sentret/back.png b/graphics/pokemon/sentret/back.png index ef30949f8739ff43224c9d063b96287f860b77bb..fcb1a333a2fc0afb8ed5b142bce8f9fd873bef76 100644 GIT binary patch delta 493 zcmVnx>kAkV+#W|7h=Mml!So62<8(0CYwaYut(uca_j~96 zdCu=ijO2dpo>%T1@Ar4#3s1 zhJ0#Ly-XRwO?diGCl{!1{UZjbTkRQJ0(=J4x@U8sQgb!B&w~JegpOB$rkc%xJAjgR z0a57!@ft8+k22ihKR~ruaj^u7xlibdzW}7;FG5Jyryu?iSiz{xdT}3McFe@!9iq$7 zs$T&4{JHL>?O?7dM*)+vgfgu{-jVRjAQH7N%|Jg1L0`h0o<-T{;feuK)!Ngug#9it z;Hi~ifE0xVD73&x0YZ~tfigIkL-pWk*$gTk( j0pEYnPk*w-uY!Rl_|L00000NkvXXu0mjfx#Hoh delta 484 zcmVpwq}$s`CK zj{VC@K0SK#nh^?_Lc$cKPX*g(7n z%+EvkEBps27AMY^K)$?mEBOT=b9-uq$DmR8bhls{N^@S!1q>52F?faW(l_u2Q0(4z z(o`6}B13_}rO+}B^gMxs7#jM8t_FZ%d*-56{T1B}T18{Fr_l2*G2pq8ejvzm z14O!nbnMWQkVHldZPV>IGr@p*f#{oMK0s6Xv4;0000xz%}C!bLT~P}wq6srTd1OeZrq1I7=M!r#I2g$ED=WXF~*EB zvI9A6jNR@ga5Q9cxfO^rf~uP-_7lt|gtSL>885H<$#C-O>%WHV(LHS(87IlZqp$uv zX^+}tUA$7?Pm<*5BpHs_W`AdG{J&= zh;-}DvlE!bqWc>z96R#r5N+`Yk=vCGYALV?`Vh%0rVp5 z(Jty`9SzW$PQTA^FO>OkImJcmB*}0Ps{b+#a4UI^-Qs$+T;t;1#K%Dq?|LO*zM8-& z_h7n^fGjW5f;{JWSLTVFY-$ECss#+|%c{2cc+fRD5M zdFH;$$^eRR-h<)dKKr&5=UG6JDG(F8jFo!ixC2iS4Ipz23D~04BHYhC*+wLQEG#wP zBIJuUsu@%Oz~n23$-tS2W!MwH1rT}j7^)UX3_x(sqYS7Vz|_Mqnw*F`{=kD-4q#LP zObMO><9{9@1!0UkX1Fl?PAIeWM}5}AG$u>J7)g$X=nC*foIu-RB2WF5!A98i`;0^b z&gUY9I5`^thC!T0y)>P10n7kc*?k^k*ef>f0g$HrF+9`xD!@tXj$x9MJt~0oi6wzq zaRNC3Kz`%utpkWJ>}H?M(7}uZf-oUYdJ;HxoPQ4~9n@^Q0f3RtNx)^-ge>|J*treU z$GB!UCT9T5NU?bOQ~I2? zzxP?UX79kUEZ5mj9wxuM`k6htdq=3dTYmzcCBq+&em!ZA@3p16ch|#}El~F)0S_>0 z>(sweZ*9^0O1ri002*uE`1?U}^qF4VtF~i1Td#ggz8keCT^(@8y6d#QIXr<;X~kWL zztb{4nZ97DE`bn#Q07~pyyRLVCIFD`y0d%DiB-VfE``q-)x8v;?e8X22)mSOwSOO7 ze2_e+O2Vj4`vm}>YEQkh8fixtAgoL6H_OTmfPW?3NCU(|nR7s={iYDsc@Ai_ADR2B z!m62-`47l}MtM=;4z5vNW9beIt@5I1IkQ**y;1_O4|zXY5BP;UP(TzK zn>}Etuu!=K;N4u$0rmlh)Z^+Q`hP6*qBTI+hs?trC=*B^!fSgV?Slz#vZtQXWieh$ z5KH?omwhUrw+=+oKFm8<8W2nX@WZtV9WbZn!drv_faAhQ+(V#)%OT9YEQ~x)mGj{_ zNw3F2`*RBd;=VA$Se=a+69owA&kcrBe?#pBNHc*Kmr!zLFxKpW((W){s6H0|WfYW#7A0S=;_HCGaO#y{} zK++%tQnc-+RDWR)&X@jyD+3@pXxiWp2zK{uO9EH^A-GKcmC7vSpY)II`gXYDABb=O zm#PG)|8b+X;|Kukfy~dj5Np#}Dw_oLhf0nmwOL3zSK;(5ge;;+Lt^Pnj&DV)LuCbO zLj8{|Wgp-rUhxmgEc}qG|13W_w76Yu$d&vr-+w9QS9?Ye{?{GIBs879M*j8R**A3k Y2T)CP|1B2E@&Et;07*qoM6N<$f`RYlT>t<8 delta 1542 zcmV+h2Ko8F4ATsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#g?LWaS2 z000HHNkl8@>$YS7brVgb&uCa^h~|OxKp*Ck6|xH9n(}J zhP^kLbm^IC+k~kB`}yP)pV@>U#AaK7$>}*v2h3|Lh*uo&Bjl2f=4WjM(40)Z%a9+6 zdT6Eq#z}^PQ2v!EfZNFn_0Zj7~$S?rn8&_=}!u-Oj zcj;6+oZ^5J2Fzn$04KKn0U^DLWz_)C(>V^9=o;fiR{)JWu=@yAtlH=tfGN%gOP_I| zQl~@M1hj9}cF#5KFlBN&V5tCV0MH>^II-$Y0i?Wsz%HS&DJ)Ru01WfQvN@ph>r70i zX@3s@i#Jz;l`0LBFTqRXgJ_rVOYneM=VU!i#pB9}b9mrJn%AHsb2m-JGnB-+e4v-< zOKMv6m(T>ixIA?PM*ed0X3SkEz<(90KKNw4C*>eZgpjS$<4cmB_J18WKFsyD#V7ia zrrkv7lTxLj)<2hb3y#a@FmI}?B;=(R8;723RB|uhHSgKYuaCyCRcG7eZ#VUiC#N*+Y>_{h`F}Q; z7jF$>8~}A!?Y%80Rs#Eb1U_d(^-_S_ZzU6$b_h|rUwid_@`6Z(5taKn0H11CzO$Js zK7d$P?l)W&;9aR(QvfkH^K85O4KCLCY^(b<<6vE^ioG)a1|2BOtL5oni+S}`I?$Eo z)uPp&#T@We@qy&ZQJ9y% zb@?nn%@|%>Oz>5}xE2qjyN7r`mI1@r1av8PTz!X|`iTq}Yx%*D?&fwUAls*JZ2-m` z3wP6s{Wd0q#{)QhSNQ?vbHKU-J71ANo*y(35CS1>t1j%%4M zDcsD}&g67@9zqqqNKIhrRBYdxt3w$DD%}1jri>5p60hY485X`@+JCw{IVAu2rvAw_ snXkG1@ITXmOdRR-HTqY7XW!8AFHlW%|9gyPiU0rr07*qoM6N<$g5r1SZvX%Q diff --git a/graphics/pokemon/serperior/back.png b/graphics/pokemon/serperior/back.png index 82cc793709bf81f7a80476dede548edd75ea9734..32e8fc79d67e4c72654451950c774b335054e135 100644 GIT binary patch delta 642 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 YU$Yta*SwF>egFUf07*qoM6N<$f-I6|KmY&$ delta 766 zcmVnf z0008CNklKWp1S6u@;5qs7DBmD{@Lz#pKhTJ`cBlip%5&(JFZU>Tsa_G7^Sr=_i~rZ%C0V)Fe8Gzs)q=F80rbWQ%6ry_qoIqN+Td;XdjP;H18uuos;8ax{9w zoWF&$G#%1FHh(_L(&{sL#mNxxJc=3MEPaL5u%I(!=>=Ex*(e?6+)HNJaLfbgxJ+1J z2rQto@zf-A_X;-xZIuvY=a|(rNvzfbqW8pyP|;RnU$iIb#V|cJHnCEMBrQ-3B|wo_ z%%h|*5@&%t05A%xlpPppoYIGV9Ip^4Z6XTiq{*?>4}X7@cN|9~}U2DVFE>gL5fv7cuY?B#Nu(DW2j_qvsSW zAYuRKB!AK0?HUL~M6X^5V`1=|XpH_02T+J-uO+qJXU5u3HYtdSy$rh<&@ggEKSVQK z6$8nv_jz~`@Upsd3)!t2H2Ov8PBtCoT?M>prm|4%NtW2XUTnfAa2IyS&95sn>LI-JxBc0pK{JS z0}?>Oxj|@v4O$ohV9mgP2!M+4p&Tlr1UE7xKvt}KyZ5!vBN8NPm*+C2L8z7p+R>H( ziBikw{Ou(g(?GrE`Pv9po6R~B4IOR?^aM7b1l19iU@j&G@P!ZZ!3-U%PqmnsfLh3= z^{QhbiREJi0!B}!JFGx$n-}9a?&*%kP1G|x9DeQ|kTq_ienJ#~2ifg*<9kL6UyIuw zE%qS$MzIGdG8iSk@ilY?6~Sh>6OYmqp+83;4H3nUDf$*LAJQGg=?O&N3``xz6C4aJ zAhZGOr~~gDc-M6>_09m2I^Zo<-9t$Rye2Z9Fwcb&;6>)O{sK4ccu56D`cA$Cdci4y zz?&{=dPDyVTqYDf5hpN8+ci+WVg<4qkf(M0oa3oX=l}@CSh_Xf$|?iTC!Ve+_Fsmv YUk1bCkQ6+!)4-kl(F+81$&dz&rktRAfFs^K_}i4AXRGlQoO&$ zV;ZQpqF5WjYO`6#qNT&FfF7X@C_!~Z6_|^O0es_!d@@7F>PsyqCZHB_!Wj7x3rS2L zBM=yV>|A$Pf!elDen51`X8=hPaPRaEr8)41$a%_q7b<`cneSa3L)P`vQ5rnyH`!~sS55^4zI1Wh z3WGCnnNUWYz*E*~fNF^~$QwYO=J7bkQ<>5M5Q(vL8^D!y2HsD+UC-?Qj6Vj$;*dgV R+Xw&v002ovPDHLkV1mVm(a-<@ diff --git a/graphics/pokemon/servine/icon.png b/graphics/pokemon/servine/icon.png index d4f23834ea290905f8847d52dc8eeae3e26fc74c..efe51adfe0d58c6c19e78a561c05e3cb024e28d3 100644 GIT binary patch delta 322 zcmV-I0logb1DFGlUw;83Nkl$N50}i6+V?G{0zZK!X%aTZe}a&sw0e6CUw>tu4nwn%zS(`c75j9GhD8 zTk^7@9-Kgz%sT+%cV!?PzDnsy`+WwO;MUv~80-TA@qrU0&S4s{aj14T^b0)#L+4V6ganw%Hr#OvLMRwv5lGcL#^8@ zOw4?-+hytfWqc0D=mp)khMBh!-JFt5Ao{<2rQ(3%f~<+L`cK7H`!KWSV*$kYAo;*{ ziS?eIu-YQsiC?-Q1uwP3!NIE$_|OPL{8$;wG1JxTAsT(hR6561R`DK9*W7^<_?lF} zxJ?ZB{Wq;0%@P=oBrw8F`NES88T2juW39Q1!DFSDWVsEfg zD3QP%*9f%aa2FdkWpW6l6S$DH@_AzW(xlJ{Qm8rNlQ3LqB-|N%hW!JCjrz3t3zGMp zosa#nlB<&p2+NvhXWkjj==W&af2f(Jm4C3jJ7rdD?xzj1w0}QasjYU~&0Vr&kWU;l z=hO#;+~2d+r|FS+_fGCf)fo>Pgph*Ok$^E3#Ql4Ib!YYp0YXB+#gxBu+n3H6owNSX z6x#E}YxYOF-Zjib&t&&ZZ9Zm*ap=wr1x5+@>aTr(S^?;y`|DhTDDC`DpII5MHbV z00;-t^Q=>*@fsO0!zw!(H7F$sz(8Om{)vARZwYKkz<(o~jo2czUOreS2ipGtYz`Ta zGGoA0lrS9NKIuhA-43Wr0c{45f(bh=hoNeU!{MMoY?3Wo&>nQ1)!?z-)+t|Ed)R{W zl&w`(09b=BuEYBCHecm?KAu^-TF-usK(@SM2m2s)M)w;b!0N78Yr)zDP`cVhpi*X2 zSUtv#5FLknl4)78E^E zA_Xc}&)6wkMMna<%?YZ(?i9-~He6=ak1NHyZBzb^YIig$AE9^l|KHxSrOc22T$;?- zpMP~e{GqihnX$iW(t86qc}t%+9S5?x;KqM!gZ9U_PpUhwSa1fvEV1_fcl&;IG94tc zS+sW{n|J2VqgNqh2N=DVJ3rG{`YStt=mp@nb|X52vI9teNcTGXr3{xK>;Ql_KJ7p9 zhp}`QcAy!XK0P-MA-undWR9={JjRoAF0 zZU+#oqx9`~a$b*TGq(c(UZ*dPW-k-r&Fug-b*`NqPY)8|&Fuhz)Y_F4q5>pUc`U9>| z+Ckt4EdGTaFhJS?6O18S1{DCF4Ydu%FaA}_Wx3mv{?JkS0M&pX>;{1J2Rn34PQWkR zxIfsTBkG0xK>35GfM+qm5E38(gY~bMBYLnNI^@AqRVNb$su=}*fuF8B^+!y|ABs*w z53*b^&>u2^1IV4;mL>KBe^@0^2OyO9cZ5ICxC2m}1qETLKN#|vf2TkE1v+SGZlux8 QHvj+t07*qoM6N<$f?F7gF#rGn delta 1385 zcmV-v1(y1p3%3i9Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#hEChcjr z000FVNklPix~w7>DHwTH#BpSnh^i3R2moheG0U6P36Jw-PMNUJMppa%%$W zv0V)I8gj5LXERN*z4YKU^pMNatW98#!6vsr63_=Q3BLE*Pk+$9?`TGU<6YQe+W`~f zc{KCRWJbS7lKw+YRdr)^ad%F&YwqU_vanyXYRlbrbDJy}03k8pe8RuE?F;9W&RBnJ3hDX$HTx_7`1^%( z^5=eP07>%Zw|^Y)eS6d%WB~cgIjds5?O$IwkFFc386?@5-!NeJ=moX>>la=MkVp=$ihRu;bdk6rw3_#}d4gy=}djXIv0fAd6 zB7ajnojA~6O#?F7oSp%2n;XxZx&<|)0b_HD+kM*kWPj$s5MHVT00;;2GtH?|au+bg zDmxNYC?y#{K|uV^74mMtW(as>qmf#K)H8y0a-jVdU}MODoSFhAqJ-f9_em~0(d~e` zBB0FxQc_{Z!(nJN#r|;6ASThOI<(cUvm89u+dSbbYY$s+p0t{^1i%XX<2tP0F!?G! z@bS!=c7I*_76GlgWCr^nc1HFaF+lGw=_|q71yH%%M!>4FDfFJM8*Gjk;2Hp^L6N#C z05hE7(%pd}`Y^!C3KYSC-75i9uA4YV9|lMO0}ib3_)Ql8C{ADLF#xw!@qZRT#UCJG z;u=d4@C66t9shd3meJ!t$v~iI@J0Mm@mozS(tk8{!z1{?YpR4N=*VxmxJ(2HcH)On zPh11#vgxu_vW9m&{KA2C*WDKVX7C9x0l2{gAs{9RH~Jat*9uV&V$thDW4BD!a?$q6dK z?thf4Fg9G~#648-Zkv>UqjyCD4IiOY`oFz<%c-CKP2SY6IUoPjBCCu0ZI#{|z{y+q zyy`fR%_TSevJKi_-#@XpUa{Z|-Ylv1;SamMJ)R6Q*(}=okj-1O=gF%OvjdFYi>+U2 zD*YonfanF_k9H$DLu3b#{*dl<_NI)NAb;!tfGeN&ANj*nx(hpylntMrDfv8^eG(M}Rvzglg0I&1s z2h*3C@aA>^n>v$D4<~z>@aA@aK<@N#RL>ZQ946LD?(xA(tLmizBh0+qja{#1(tlmp z0ZwwGS<9KjAnX9z^f;$_86XP(DHi(%U^*W!0s=e89}A$fDE#vi42RZYKpGt@WMgm_ zFo{&4&48Fc#O(k|_!^E}C+QC{J3v1`fct~`QQ8hrFu)JIAezl$EoBGb2Phb%ANs>` z(heYmnbPiYf3Q@RnDO&bxg-&wcYk#~X$KJhO@oDd=nrPx4j6#J*p2+bjN1Xs5Tw5u z`GXm^14$zOfGJ4i4+%SvWVgZ;#0>obR~Xts;0G-Jg&r^L$(Ym06ZJfHYmUO zmo1m&ZZGtQPNWY|4G6+^0EGTv#;(Z`_=TJH2Qzj=y_g?F{@_Kxvy@;631SEVh4rsh z6MC=~JLJJrwo`}$b|C`3!e7^%dLiZyWhbKt8W#-oheF^0Qo=CU(EY$4mPyh92<819 r;SV(J02F6IL0ISyO8Csb(;xl;I%sHaT~g~>00000NkvXXu0mjfcRY-7 diff --git a/graphics/pokemon/seviper/back.png b/graphics/pokemon/seviper/back.png index 3c5d85d92e856a5537ec6ea73dda2fe608fd1cdd..9dbf0921b48a76aebe2b1812324eebea6524e442 100644 GIT binary patch delta 668 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 diff --git a/graphics/pokemon/sewaddle/back.png b/graphics/pokemon/sewaddle/back.png index 38fdf9d124078e7fe7a4b502618f9c07858da29e..5068374f0cdb69957fb64761d9c17ad0b07f5ee0 100644 GIT binary patch delta 365 zcmV-z0h0d91J?tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0We8KK~zY` z?Uco$ zSzc|sEyC}fZN`9WL@YC_QrT;3@~y%Y|JL&zyST}T+$ z0uYwC10n@5CO~Y7^tGL5F=7%XA=&Fx0&)bn2H*}bVgW#UO&frS6_ef+%4)`nto)Qa zBlTP!w~(3%!C!qXfIQ;>I9J_c2cQHz988oGHsZ&`T4|7p1xCwA0P4D3UBv|eP7U2I zmU2@~HHQRzb$}@W&uw4;OxNb+y9tb9=e;&P_>=;7elGX=@8#STC$(9Mioi7g00000 LNkvXXu0mjf?+=?x delta 355 zcmV-p0i6EV1Iq)DB#}W-e*gz`Nliru=LQE3GAsZzSsMTV0WL{IK~zY`?UXT6#4rp+ zlW>7mk^>NFsh}W|Pk?-drKaM39D$py?JOZPw$wtgnn{!YB7Ogi+;#W*v+7}Vb(kZ& zdQ^#zPJh)9J%F+v-)!KllFMu{#N5D{F=)~48D|$5I*vEswF%4^e{L2mASoN5?ToUL z9tlR)eJFr-584JMEfY*&pin&O=Lc~ss0l?2aCxT`^-?(?4xyy*bRl6}D?nJ{4v191 zm;lL#NMGmwS&f*4Nl5lO)qorUZUMLhj93AXUeg93V#8#g6)I}Ms;v5{bVl-A9#0`H z6N10`S^;Io0cb2;Sw6=OKx?ZHCh7?r@nd2I<7QZ3%ozZftE;#Gz{y!G<&$%J%pn0^ z4lpI)*#-u{v^Fo_CNN6=->d1NPbsi-x!mjj*A*wVS&FRJ4OajF002ovPDHLkV1k-T BmvsOD diff --git a/graphics/pokemon/sharpedo/anim_front.png b/graphics/pokemon/sharpedo/anim_front.png index a27d1085b6f8176d1aa0bc01787881369a0e0ee8..cf261cd4aae7027d43f5de71570c070fbbbbc6f2 100644 GIT binary patch delta 1032 zcmV+j1o!*#2-paaUw;GRNkl%HH8vpiK0thd6uR@34iKl$6C|prE)ftQEYqaWyJTib=_rci2GHSd8w2})JF_z+ zHNQ2jy!1zVTf6J%mu6k(LIGHgB7*|J3`(H6iX%((6#)(eFn@#Jdrj5YMCIEH62?(1LNT9J#l%eqsN+A3>Aga~%3I(5)v043+ z)S^$t7p*N&>XvSE@zfC95;Y-o!MSzL`G#-+N+DV{KaM${Om3v^2?1I;#Cbf4;1n6_A{ME+km&(%%EjXTf6p`+EKS;U0H8(*l|lr6rz@za zF+h^o3W|kc574|@DKPFuo2s`r!r5wgI zmVXYzku$pjxQM6HqJ(ztKzjb}kKM&}H@@W@9SEF+mh?J1me0V`bOqPBgkEHc)2tr_ zfRjhT3_%neLGGnE|A+7>_4G!BS8v=9daNaNB>F|5d*ixq-y^_q@{7zrY~GAP)*RP; zM+SmPf@eeqm`jE9e-DM=s~_FxDV)0SbMmVPND;wj>C99zmxVs zZjW)WnKT5qWtc1YDh@B2mgnE_yM1Wp$t})bQ}Nx002ovPDHLkU;%U! delta 1057 zcmV++1m64D2=NGzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#hc6Ij7b z000BjNkll*O6vs~hwfiiodylrVMttPfK{iP{fmFcq@c|C1EH)tRE+Bq^ z3~Jpm0qXAg1c@eUiv<)2$1EN6UHa}wIWk4^0thL3iva$A_kZ5q;~n2$j1@=YfYpz~ zAM5po00UsVh71OPG8lmaLk8#@0_+J;hM;~4&@=6!eiIEFz%wkt007h$vgr_TQ3sG7 z)BzFBgs{(q*nbc%Vj)D!5l68QlgW+NeE?*|5NGiuj$@^Bzoc3%w@Y$-O-egUQ#e+Q zld00_#Bu<~-UZm1*6H2?Em-X4u;N)fQ@ik$UIxs>l(u1eT30FB!IM%@5uT|fNay$x z>EQOLsO~m#O7r4d8)SGaJE!34qHhxl=+3}%F&G_7(0`Sn;yn_UPCWt7`%R)JIoG-n zN5M9rj>@aw2^jGaZ|Nz*&I#*-E)D_jBMe8pLxhtNd6r*3DZPh)VT31~caZaz-f&)y z=6nh8Q?fvsOd1bTR6iUa-zxq+pC?JO#F2iSrhSHpTQB_z$B7;*RC4;TbEh5_YDN$Y zQ$2P77Jn@VACqYP&)W>y{Sr1`gp2X(_4?)gTOw8^x5A2|SL=1~=KdW8D7~K6>gV;B zH+SJUO|kT14e{mrOR}ic*^4l`AE447D!v{M7~vo33eyUJA=PQ2LR0~&xEEGh1L(b& z05({rwGD+0lcXN7OaL300BdOgSitrhoSEFifq%&yn1K4mtQxBUu=fQHjR5Qkm@UvZ zY@&DZ{r$y$z$Ja5LxVl2-KGMJ5&jc{;q^^`+pl*Z;8zfqFDv{*KKw0*(JyxY=c;jS zjiP^`-ot!HY~&DSzi2Rod!09Ja&xqki=x4>&u>L{GEuFqUE&{F&e3#67UEaZeJH7C z!+$wd4r6BPwq9ZnSo;U1YXjkA{-BVkTNLT!4x|@6{n(vfcjH?j z$bsOow6)iHV)-nZt(M@qm)MJJILYd<1qkI)C_@;9hnRaQA-)p6NcVbg!T)HZN<$#n4>4*eCWCkdRcWHmxcD3iN z1NK_$?{wR)=+u>Abv;l@{~|U{hnn_C0HtEhfei_I==DA9-pz%G5$G%c{a^>@jn-|8 zr;(-_0geFlHU%!=hFd$dZbd@_01m*WBH(mNt0OJz2>kHR3Z0{W_1(6iXl?@TCxFNj zhm5+IbQoX)3UYL%!y?86a1IkX!g`#?8L}(-M>C)D8t`lE;Wgmxu$;jxYM9wKlP7Qp*|w`T~c>IoqHW?Z2#6d{@9@fMSZ&)S;^1v3jkTzY~xh0hW|tr%yg zc*JkKC_Gs7CP3ZATk*wRw)s+az&aCwZwS~*1JK$(ow*cC6MA4gBoLiA&4JUa)s4A$ zgNO-bW+ynnjDXXDEfN&O=*Ix~VZ-T?`-uLdD2hKg8}QK(T+UPe00000NkvXXu0mjf Dc1Hi% delta 554 zcmV+_0@eMU1&{@hB#}W-e*gz`Nliru=LQE3GB_IUjb;D<0rN>jK~zY`&6P23+b|S{ zHJBHntPA*w4vKaNL=jyw2&RalfRUjYbbtin(u?!}1#$sz9l97D%6s%0Al{|@)3%#$-a6o@wf;i) z?S@X>HLR{jO6esB;0e*oYBd{hLSPHA|5>4P>d=Owxfytv0U}Eb8Fex1Fv1KJ z&2!&9DWRk}%CQl!=p61yXvjD`QC%7qm(Ew`2I6KE9{@|kUV9}cZ zbr-kdlUugsQ1-xj6M=gK>`epE+JAa;E!HOV$arWVdU0L?=U-Mg=IRY1CX`v6-~clL sP6xJXP!OZPAO^sP4d-k3uYRuo0yrD+(Jk~vK>z>%07*qoM6N<$f}^SZ{Qv*} diff --git a/graphics/pokemon/sharpedo/mega/back.png b/graphics/pokemon/sharpedo/mega/back.png index 847b52f1deb8c37a9950e0564e91ddd21f0ea5d9..893d63a2b47386afef91253cb5d6f953d18d4c15 100644 GIT binary patch delta 556 zcmV+{0@MA(1=0nOBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80xOY;LVryb zxdzK{KAn5#%nS}*TPcseh-wdj_dX!5J%G6O0BO0J2aqPS7CEr<0q<%Lkga^cwFjtn zK43PhP{I>tm?NIu4-U+3*doGw5^K_t%>cOpDi4rd&O{X&2Qd4ab3T!}Y60M_5IcTO zP*N1t1%&u0sLqImokEtRRR$276MudEh5&IxN=cup6raaSvO20YITXePrC6O!fb{Yc zLy zA@6_!wg+$s){z-K;`Cq`0k+2>P;qS9lAd%Okh*UnK4{9{IJg8(D-~ZJ+Tlie@>DH<4kDfe4ugXA>9vkk`?anlDY@7{pfuKCBNUX0Z_Jp+i@kC{Pv3lJs_@*2JXRRqL}Q? zeA5H%p`#uNx+5QQZVr!mvwt0x03`jLFgGP17yujDKs|N94|B_Q#}SuW|E3|pnjQ%4 zJuGYo(urU>)OG;;GeBhlqd#uQW2^fa!W(DNI0Lf^uJi!7)g+T5Ex_$MZ*||n0@?vi ur*#euf>8hY+5(R*Y^HsGqAyiJ@E`a*9AjhXx%mJ9002ovPDHLkU;%>lYVeEz delta 543 zcmV+)0^t491;hoAB#}W-6#xfxNliru=LQE3GX-0n@HPMd0wJk1Pq z#Iy6@!0f;l5#~FwCLLKlTLsnO0kX@PR)xj^%;n4ZMAuad0B?oZ@pFPYMXkDk5FZ7d zGh$)0kR@rA0mSA+Uw^+LK-`d0(yuDT=W$6^N3|x0!nmLmtFsJ{UVeh8K%yYGtD)Xl zfXc`Xkdh5D16&+SZlWWQAR~Y*_5gK_6DkVMo2UiQ0+pHVB97>kLPZhs4k%z_0Eb{5 znbadr4~7w7V;lk%$0jW4Nf!aB`xoMarv4iT*MZZMiZ2gtLVs*hH$?4bDDlksTlZ6* zI?JDf7Ec0)!6Jhrf&0*|#i#i(z>bO0)P3pv0V0O*1&PzrFY1w!z3 zKtBNeNp;DBE~f&hI@Vdp0S2lGEf9tQKrd4_sR^oXrp@)lBY0UC!mq$}d5dcl)u{Nb zBHWapTEui2JhI9Z^Z)X06Xq6U8&%H#5gsC>eH0_6bk375yj=i)OuI1QH4iy&I!d>9 z)%!viX0^#8&geqI>U^7pYh}^nr9%bS0IqWvctQI&72pA|WTEtl&;p#do6Lb-r4t}T z3aEyv1;(68qC2Fo-j2#@mK4xr&~-Q8q6^}EF%{JgEAuwzhYoaWn}hY8r>DhKn3hWb zb=iiBhkoa%FOnpGT(+@&14M0BQb6VN0FV08j#{Ks{_{M^Ij0sW=z%>cqy(+ z${$Lf%7yX4dHLhU^g;oMcjn7F74_3u<68p6#*(VlM|-oY@3qlX%H`wfsH*mnvsENoH5?kr_1`@NJ=u10lc{s=U+&d8Gvz8!sABTo02Qcb+fHlqmjMQ(3Vf+P&wfpI*dW-S^ O0000leK~zY`g_X~16G0Tm zcVQt{x2f&Hle0~Gk*yqmrRq^ADBc1am_NXOpdbkOUwpHPwVP&VA0&Z%KRfe%-zmWKz~vlvY^YU0IE)O7IJ{TYC;Qtgkb>C&CZ#cpz37W zTu(fLmvtfhGR(_cT%)K)#cvkjru@_*rpw@wwMjAmFYh*CZZoz~;rt)rAwt?mF=9&R zJn6#Q1HiNk6JGO>^M<2zdr!SDgke@1EaHqVB&^Q1S-4gfJzhFefDPa}cYznQe?tKt z08181pNORlwi?WTfjy-YAVdnNgon*w<-WO9*?XpeY z;{3>gPIarlzWem7mG5Z?c+iFLEEM$B4yW~0j@F_@t{BW)l)#+w$~DW*UVA7)Bx0Ne!^cNV6}_S zZ5g9|KZw-fsW=KFhzQu`hZktCx6!t3U!wZ35fc;dEGf_L6*1sh{ylgD0wc-Bs z`g?UamU8)ec>4Hr`e$%O`{VM-st=~q-|s+RxAkdK+aF3vCNh9G z6LIl{beRDdr&WB}Iv9qTK>z#$Kj`vSCQ#s<@~e$x<{wIOdX-RU|8Z!DasZ>22Uw#V dz*zVN`wNM+`|0Ldc@6*o002ovPDHLkV1kk2N+JLN diff --git a/graphics/pokemon/sharpedo/mega/icon.png b/graphics/pokemon/sharpedo/mega/icon.png index 9072ec87c1d38ac0bc302dfcef659b91223e4ce5..465d405bee005d948c008b21d8f6f0a5f184ccfe 100644 GIT binary patch delta 301 zcmV+|0n+}X1A_yQUw;7(Nklc&5^4i6au$!+>L-JMRK5O)l?Fien*o>E0_!*G0 z42TTR7y`No8yW3Lm61w!s2wmT{Et2b@>P9QxdU?_)L+h;^0CdwU0@ zluNx`2D`R1phWfiqozsQxx_gtjb>lTrgMo2ew_1j21LzVNf6AA@rxUSC_kh1W#fFWNPFkG053q!XHLv7Js7;K0WChYv^ zg!x+O1~_4^87AYx#A_zZh(X>y#tbUBL7gyvby3jN_4*=200000NkvXXu0mjfgn5X` delta 333 zcmV-T0kZys1ET|wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#j~B0)%! z00037NklG>#FG@St@s>5D= zCQauO2dFffWhKv@OHA;4n{87dI?t5^L2n&*-55mKdb-+OKQ@n7y$^4J!PnCI`=O2x zNaXyZK)faXp++$Ec6?#LkS`1vE= diff --git a/graphics/pokemon/shaymin/anim_front.png b/graphics/pokemon/shaymin/anim_front.png index e37ed4ecdb56e8b72c0b382b94bf02f0ac761ba1..82ae306265fb7b332661b6599a91083ed5ce32ea 100644 GIT binary patch delta 623 zcmV-#0+9XB1=t0UbbkU)Nklr~?{8$RbRNdAKe58XLc zUOG~Bsha8VkWQ6isZx<55jYw;Hx`Tx*;tDhIyGwlfJQ9z-Pr-dy(3bkPW5Mr<$eC% zXO{OPq*STD*TK_A44%JtOzR$V>wEGU^Wk}J8#^vz%HmoKHGk%NOv}Zadg|>g18@4I zrl!FO{M6AJkO0GzV;zD8Fm1?%MC1jJPE~|sH-x7;2-%T!JmRgahZ#|MM_IF}4Z$%( z{_jeXBq0xZBrhSUfg~i!*O2qxlwU7qtl=2*L6Y=8@E$zFbUbsP?Ha0`BpG~!2p*+r zI&r#Kh0YY-|9?CLL;Bt9FwiBZJ$|bUH%158@#!LL@fMHfU>F%42$A=q`GQAbB|?XVk2qzoh+IoI`^tq$lT2G0ryS_&|H z?5IBE>-%q|lpHX?U;&*CVEA}bn9|H(X}Ts5o1s7;K8i|30>L7-2?Y7nHGu@`_#-XH z9vU5B#c0KvKqkofuXbML1fm(nC<*lNGA9s)C^tq2vLO(KC?m}9Kp=o9E=5mtP9S3; zT%>|hdwG=+$eHEFYkv5Z-o;n}CCv|V{?j%m89&H9^HTr2{s7r(A0~qah^_zt002ov JPDHLkV1kF+AJPB- delta 614 zcmV-s0-62T1O{4l@x!M0j`)RQ6+_-N?doM2?=#u~)XsZsj_ z8nMvt3?;O_J4;=<__f4xk6(Yb&gOBPDpmeH&-O}yW@ud|L4T9_fu*0)5D(9^?D~`{ z#5Vv98a8PjUq5M6oxSeRPx`!}R-A{CAtEd1Dkl-0+quPRpFX}_#`h1 zO*0;{&U%hwMeQx2?RE}CM^y8?Ygv}XEM^H@V^ho10iR>WdQ*10n9-J7SRZ6r|C06a z7|QX?-~St^pMPiB;5}BbL`pevg>HoNDW3mvh=BZBoMDg;Iqk783b-rGfYEXNfb*1%?qLGBE*ve9!iAJ$enwpFmZ^1L^9!8dfgcDx zuv+%{Pywl7-@aM>C_4s%vxHuWfl$|CAlJ0jpu{s92rLLj*bHPr+yd}qAh)Ow zGjgCakYB5x2 Au>b%7 diff --git a/graphics/pokemon/shaymin/back.png b/graphics/pokemon/shaymin/back.png index 9950f398de1cd152fc5d06de79ba751322b8f3f9..e66df248f59b758a7ef2d7cc0cc763b5ee2209aa 100644 GIT binary patch delta 543 zcmV+)0^t3C1&9TZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pUqRK~zY` z?UFH1+dvqGPZ=}u*|1n@#MwKNb97;=ls`bLL{;S#51p9#1s4WZbW9f`By&pHy3}G! zhv-(8R7PS2!EfkycZA00l)WmiZu0y1{oc<$@}_@Poo#bo@skM8D*$DC3ETUd8;}lT z1!FRf(fM$+#erqtPa6%tOM`@k&K?e< z{2)JX&gcS7Q2+ygsU9Lwcom9}g(d-kEv-kn4-gtY&&LLt{yF-8IzDVBz>9iMD$DXO z;?xJI^Pe88T4|k^;;6AD1hDzR_`j;^dXedDHa=bX8y$)P0|a{LSJ&w4ITvzu%ZQo< z;Gr_gw4UkDya5!pz&jIAeb;(ApO(j~9h6(6SG@qoO@O!^+=L4~znOC`+kgxBaihQ8 z&$wFi9U^sw{?+1oqE@AMW4Ztno1xU*V_nx?0Rsed`K=MSEoBRc!2L@LEO;9zmOu|D z-1F9mKrTlZpyX#BKopt$0d7kn4t>HbVzq-6#zM#zK$P|4le(6d!n-fe1m236pVSM| hy%cBUP5+??`3<&u%{Q+e4eS5_002ovPDHLkV1g}X`gH&R delta 538 zcmV+#0_FXP1%L&RB#}W-e*gz`Nliru=LQE3GZjWE;8Fkp0pm$TK~zY`?Ub=@+b|G@ z1&^9~QnLuC5lVXjndy?PfL|ajY!rpoXy}x=Pe5nL8ZZ;BAb>)+*}7E7=ne+gEG`tF zYl`F3d% zZUr)tnFJ}Nx!h(X!_xyg$fyqANJ{8ArB>A;T>o)y)V-nA2Oc2J{@&061L@y@-Upi? zmC|>pg&c4J>>NsdfK&Oz&t9KxG-4lp(6jf_BfFn<4{qlYBQXl&)tC@Bxi^KOk0 zNR9z81emE20+nN-e~M|WGa#^|)VOqkfW)i%=%7&F$Dbxg-3;&;{RdeTtVM z_f0F6Dr^3^(*MJrDls+eZ1*G+BW*lBXHaW0^5VFaG@4Ae+$Nh57-3XZq%2%Ig?xN zA(2<8Uo9_MSvwOG0!&Q~DSzI#ZR;4&Kt$GejlgX!JRkx4mIhcdAE?$qA1mB3uS6u) zB{Wd8Gk2(EF#QAE)|?-Cb04mN*JxqFx$wVTY4r4@ZN(*b=4D0TRHW>rT?XMLKYRWi c|DW+2wtCGs5Z_jA$^ZZW07*qoM6N<$f{bMQCjbBd diff --git a/graphics/pokemon/shaymin/icon.png b/graphics/pokemon/shaymin/icon.png index 85143871a41f0b246bd15b83e714d7cc0555ed13..4471c5c2b77d506fd012c6f17d735e5bd05289e4 100644 GIT binary patch delta 217 zcmV;~04D$00#4udcZMRNn+feSFOw@bRh(!Vf-V|43E55qNj z5k#a+22og>A_kl=bm>s3>fgTgZQ0gS>i0#1j|+1SKLp;xno|`tz+#a^Xz>lWmkB8E zV6BI(129JGVoOXV9Cx~xnK16gEQu#veU%Z4+9JQy9ZMlQ9#Wj+R`z&giR;HS*mO)d zrSKN=Nod#e)L-x9DgGFpZ591&hV2jovuFoQvj+y>0w&;N1tw&j{Kz{#=o3C(#l(6p TTg5z`00000NkvXXu0mjf;n`u6 delta 257 zcmV+c0sj860@(tPV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l@}~oUC~O z006v6L_t(I%k7dq4#F@Dg>wVnp%>`T9hR`R3vcO=9)pdw9H!UcB2^=0a-%|5Ld4Mg z3@i*th_~5#ezL7kh~F1kmp0ZK&PKI^R);PcfQDDFkgo^u9C{MaUcpk@Z30kA%4T!i zTNs|?95SKIg*iALF#S112pXIE)K455)qZCTk718nRhW4xqfM8BONwtHSJ>=+C;oaT zN9o7tsJrB6EA)gE7_SVNAqNKE0w&_)1x(C3xrH-6=o3Dk#l(6palv8m00000NkvXX Hu0mjfj_hg} diff --git a/graphics/pokemon/shaymin/sky/anim_front.png b/graphics/pokemon/shaymin/sky/anim_front.png index 3bac8c84f5864ef9e28e4a400cefb71a13ab5642..541477651a92d4b606dccbb328be2d70ef3a3547 100644 GIT binary patch delta 872 zcmV-u1DE{M2hRtPbbkXyNklljA6vvM!$<%=)qA(_|C|#3-&J}VJkD0OvF$LaPvH6sGRsDq)t=*eR|$piXT*1MkjG+LF6QY)Iq{iKX|u z|9ifBw*Q1Ihw61U6%h)dm;j7vg$fdsCP3{voz@}r*?`9JG|n^dW;a>qf{g7_ z(Ze$~?ZKNV7=OG1WA4jBIY(_4#yz<0S&gjg+ML*?k08ec&^66l+nnKf_MAQh&+faS zUu}@vVY617)ppB#mv>fM@MoU1T$1TGI*-inM^IWN@8$rp85!KJ_ebz?m1Ly=LBRX* zg#+@)G(+%zeuV>vtPF<|Ae-!Q;H-?I=;VAJ5F1qY2Y);tMdQgF(ZPHbSWVe%|n3upOT@}e}4#nQ62h$GsF+?@LWQ?4PReI$Ae2@ z9>y}FZCpji{n1!uFOXnEv=7nviW4#k;tKl^sU=K<+XpUiu{UpmxI56~0vUg1;@SbzoudRNg&M}DBzKn!GW@+*)lWIJJEKved?4j>dW-ckWf z4`IPz1{)}WRvSE1=^rv18xEejqx27{eBMF-P(=SwlmqO{4l^A{@n~QG00TBjL_t(o!|j$aZ`wc<$6W+W z849RrM{v|MD_om7stoo>Q;a=S)g>)1>JX`|;aMFRA{(DnDPN=?pkE;aWXyykhALCS zXXrcIkTl$ZI#%K>SbD#E@7>+w-d|BR_Rsd{@fsjgEw2H{f`7=?g~SI^OI%sKCs?l{ zK*~8lLWic3)wF~Ael0`PJRwEJ0@DDGYC6F1oZ>T!5Yi0FCCnB8+7RJi!hE z&mpxwov*gQ)eyi0RYGb{<^a75ZvptMnZflXQnM1b*S=SP3BZ_Isv$v03N-HASq(yu z4M}1z6F&oYv42UO2W0G+#5KHP^BUYm1cPT_%z0a?7KqKlqz0$6$dPv(n-hoR85CFy z^iA`xW6p6udrh8#YX?r~)te9Q!Dj6aYaCbkDIaaO;h|q?J4!BScAuHwdr;X{J~c&m zZRYT}KKJ13wvrbD3Igs=mjhzUwL`WElM*^C8Zz_Hz=WBmh3iZE?yqbUJ= z@ZuH^WPdl#G!C#8fZqZze8wcZuvvg@RX3%;;pq_n>V3slCBU1?u3~-Z$G<|W6sYo| zw5?fwJ=4+`doAGp6=8PG{Dp?@I*xHtd}aFmRM`XkmC^^xb(5f0vw zXf%He-`_;%!<$$-N40!yRWHLh!|1~_rr9@u<3J@6FMi*W2g<8Y7AqTVHzBod@8>Rw8 zCS?z7AHulD+cJP@AsEbHLn+YifNM(iLvC-6;;mDue#jJy6!k+H^+Q=c{g1vC@ne-d zDAm^L2QEc~In-1?lo3@|>4)+<{h+SX54DYcShhbjIqrXuY&tan00004hOH0fmUweb<&P0>LLY!908VL- zJv9<1PL-d5S$iFS>>6?4FGY$nzs&r1W_HQH${EQoMhoDsBr(0v0|u9b+Xf_(aHF;w zJSW_B3t;n%Fp^Ds4M7-xoVNhP#5zXXQL8BAW0TA`kT2g9Sm zV9-qAmcZhqZ&}v74BDvCtOE4AmUTWa!+;8HcBs(lbh_uPh#Mk*oQYL{Q&twB)GG-0 z0I-@tgVL!0+#HG3c;eoHULXZQR{<5+~6br z*9Y+5AaOdcchW)N(|ZJZ03P&vj5S(qK*Y!q0yd_A8+Dvsg!{hebe=;5k#}>V0^&X( zAnb-Qyi^8GNeR4vyY>5XqSF#92;l2@}Pyy2PZoj`z3n2QE z%#<+dG4(?^mSkNu`FUUHA&Ux%R{^t#-~Y^~il4Y<;kqDFKO?**U|!d2L>@HyB#AWL z&*XMC+h8(rkjFd5F#Sv!wGd-?mMLvz{E#{{4Wvm2bfK#wxS=Pi~s-t07*qoM6N<$f}K=P Af&c&j delta 706 zcmV;z0zLh;2B!v)B#}W-e*gz`Nliru=LQE3Ga+Z56z2c{0*XmQK~zY`t(4Dh(?Af$ zR~7cLk{cTJNQ}e-#OggDhlE=NS=+~ihOH0fmSl5H726};ggyXI0G!euduk+3oGL#9 zv-UdvvunhGPqGwgewq1pXJ!fcM@QDFHNL&<_m&gYMvp z=ejTge%SyB1{XsKL;+tpO%GZAQ4TCQzf=HH0&diH1`*Et%(9+C1W|Bvf1(0n9}p0Bw=uj_8cs{M;2S6ln5OA3Lc-VCjcpYmP4D*m`?LU}FNvpwQIBc3m2F9u zRg<6hg&wk~pm-H9i}?M|ysP-dH4E1Tk%k!&Gy(IvULy*iaZi#+)4eCBQ`tNw4)S=% z7^e4>RtqtPe}{SC9AF&j-?8*Jd)kE%Bul>35$O&^R}4mr5!bw?#~A)W#n1dX@D&isVDBx=xxrrItvUd o2mlvU3&f^4o&ZdIM9BZsADB(2wme%B?f?J)07*qoM6N<$f*Q*+XaE2J diff --git a/graphics/pokemon/shaymin/sky/icon.png b/graphics/pokemon/shaymin/sky/icon.png index a97340a4c4578c02728da8803ae302553aef1a08..346e80da0dd406df4c815ebe78ed8777f7d20dce 100644 GIT binary patch delta 434 zcmbQke3N;CL_G^L0|P_nf{eL9ioL|s*OmP-kG#00!d~9O!$2YN64!{5;QX|b^2DN4 z26rEq06%wyveY64V?C3?)+G;tN;pai{M>;u#y~cMSA(WJkYY)9^mSxl*x1kgCy^D% zHwf?vaZQ@jTwGkdckkZ+|NmFd@tSkiYs$BY4l?zbmbKA9HH=B#?k)@+tg;>;PDzko zFoVOh8)-n!2TvErkcv5XFYV=PG7w<@u+LFA?!c3TwiAZ0n^xoBXuiLxrr{Op2W^eP3Ii>8Ev>q``jJm6CvPAaE)mg@$+8gHg&kPVb zf2_8?MpNwO!T#sY3t9wBla^=)P5fmjIX5J%t+!J2s*m<-HBTd6m5UN{1ot*{^{#X1 zS*&DkCU~ecd#+bp#jR+4whh0xsrm(NF7)oqIomK}(mDTC+xttK?Iq{4+)S`qAa_RM zfN+nP%Twl_D@_u%2TT^Q?mdv%b8MGy+MW2l asbAWPzn96)@oyK<_Y9t{elF{r5}E*CT&zt1 delta 353 zcmV-n0iOQZ1Dpep7!(Kt0000?P=%ZT001*kOjJbx005DLFn^E(Cz${M00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4l^SDmqlFw008evL_t(Y z$L*BO62l+}gdI`FlkEFHZNdCBZ9oq_b=u7>tShMVrS#WTz{)_FuNN{$m;*8aTyd;; zvs!|PR7M&>RDW>WgoL>=gMmUt?wg@*jw)I&P6TffDJp`OV9P6wsyhuV-g*sZWkJbO z!+NRuWl{sYJ#=(cCN-e91}|Z>PgZVzli2FL$893p6ul!&FKsfYo`W{3M~29teb|_x z!LFJye}KdA+4KGDO9&GKWDw>85cjb@0pbxxBTj(0ghJ7uCqOjMAw+5#XEAa;Pv_%HzSn|ycx(-IMuG&Sjk00000NkvXXu0mjf(p-i< diff --git a/graphics/pokemon/shedinja/anim_front.png b/graphics/pokemon/shedinja/anim_front.png index ac8cae6a4752000103fe0d890f2f2441f19214dc..897127dffd67726af1e807f289273dc8e3b4c548 100644 GIT binary patch delta 977 zcmV;?11|i>2%-p(Uw;FwNkl8n`5P+!w1PHj2qX%%5yg)*~fX{jWH7n{T zF13{5dO4eOqlV&!I+sTuAAmSvfwWN^+vNcPPALNz%IRHhmLy_v%~hJaPSfaTKF!Q7 z1!2%HOn3j%tCI?tkkd@w`(HymH->CdR32 z0G^$?MI8TP8nPfdh7s(p)oyh9K@dEH6_8>;ZkB(1|uv#1b0#y#%I~ zM=`VpI0Fl=6MqUmZ~_4W*np5~kMrx4`oPG{LtujG^pEZQK`(u$fWdWd40IBbG_8(t zQvfVYIRyxV6vwQLF`Av@(R?;fc>owx%Uj`$Vr$?+2q=N-DF(e9U~`|VJQw;!*%t`- z06mBR7~Y1K$NLXH`uR^63aCEo;-+AkH)j%u@bEr#z<-N!fW@JV5CG5!!Y7vieGxDG z;UWj1+9l%Y2q2d7eZm#MBbe&I?@K1793)&u5pXA}0**)%5lWe*6af)&%c%mEbMC)g zZN8J#=hB<%Srsz~N4NLis6Ukbr&%=x{I*)H9w@}wq84!A3V|=cvSB@7i8%tR=+jWv z3{cd#y??#^{N?JK8Mwm=U*A3$I^ZM!{?Fg{>m7h~AK(2Y7qO`W{s4Q|>N+m$AFRKK8MX$7mcLDSa{Lo4LN2{idY~nC-=CoEAXCASYJKEwrI=Z0PaQ zZ5Nf?dVN8?IV>yf1{$szI8piMuKPHoO)9`K8h=&`73v3I_qNyOt5UHZJCL5ww}2OA zzLYt;OK^iuw})sIj@D)(uRg~0Ufrvug8}md=JWlk9i**d2{&U1^So+M6_7z1Tu}ce z@%UKnOo8d@`nP?G3iI(AV1@+8G_AI=|5OTdfh#-8{X$jQKF5~A^vk?9W~nfjs4&IP zwSRM3gIr;N;rc~2z^v{UvqE9mXo6cEJVtbV7M3*&V z_6tMdB9@u*2O>1Uf%0byf`H2EtEa3RN596X2jYn(S)X!1ET|t#O+LyV-VzTXGX>Q8 zgEO8h$H@YtKg=fLY%K}w5Da|E1g|MJ3Q7iCZ8qzO6XWs~@rTW35lZv=cd!S^);s(l zjtM@C9qav|fA(N@oTAGxdwR=N;wSli{D1K;8Dqcv-iVX&00000NkvXXu0mjfvpC(Z delta 1014 zcmV&2HO95P&HI1PJ(KM-SjCeSwsI0mpg(T~?%|_^71}pO>?#FS7Jc50x#WHW#UD@8Tiq4&yFz8T?24%?v`=-+SFu8 z^bIZ81FP5V_xoqP=Dal=V3l6al(y_}s((cW&p$b!10%Xa%qb7TzWl z0^kHf1h4=h^%|GADGh*;rH8-_)9G)|^M}LqtpY~3!zs|&f~0A^jk^+HY04?UB22N( zS{sw)CEi-VRw)kwgKBwev7}fUxDWy=pneylVF9pJz<*Vq3;jXaR|o_ELx=zvJ`JJo zt{;8~ic50^)c3mD@O4p~No>Ny=b-~$Q~)eq$Or)djUaq>4d9D755{=`K)p)D(+NN< z<-3F{fJZRbfnV25N;yinj3VGpr2V2qnuvvzSxONQ5w{#|!=20E&1UzNqyd-ST+gal z!eVm&_plGcj)i9NE4AK8*GS z_OXwBe2>oYiP9Hy{;1Fwv)^=&PulFo>YSHA$A2IvR@W`Hp>t}e@zU*;E4i;tdUIT@ z)DCo9GjOKzFI@L~lQyXVr)XGRRH$!&J)G4gtc-6J$S~l~6|2fuGG`A6PSEE^)j_v( zv>p@1>Qfx=^|@L(7%)#@zL>Atjr3Hk;cg0xBCiV61!R zx?e0yg<+E!PId4Y(e+{C6^6ou#|r~Neb9t+RT_%Fj-`mM8`|_sL*XKpneqoBG{AxC zvYa5Gvij($){Uc|W7GrjFH5pM7J$fU5O2$K{*8gD{o3TX5PXS!03lZ8fqSkA=7 zRuX6t4BTack0~|^2Hfm++lUk6@D=g<-7a59^Z0kL2FbQ9eh|k5_o8LIANm(hX2&V3 kj5E=G;5lM{=>K2w4;f>>{4@bFi~s-t07*qoM6N<$f=u7%2LJ#7 diff --git a/graphics/pokemon/shedinja/back.png b/graphics/pokemon/shedinja/back.png index 5c21e6f551eb1db447b6bda58bb21e66e47d36b9..97fb734c18b0cae1a0e833357e88d63346731f2b 100644 GIT binary patch delta 693 zcmV;m0!sar2Al?vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(D75K~zY` z<&w>A+CUJ;w@8+(9HP?p0l?)28s`O)_yM@A`N-J=rf0H9T)05Cyf$IiO+xzn%ZgtjT{FRTFQ2BfqJJCO%c&`ui}v#`_--dFKK?hT)B| zxN{N}r3WhNRjgHW6u7Q`2KqRtqsy%WxCv|;V7FHe;Bcu@$978|jqs{=%pE}GE)0&< z9DurJ2^`4LB&h^Zq_0(+4k`jQW+iAuCvN3vL{W762c4*0*2rJP#rlxR{qOONkjtN| zeflgU3K?vOT<8O;b#VfS)!GLD3Zg3|@iIy-e+VILJr7f{k_bS5JiuIL$>(kcm^Dv; zC0++eQk5t1AOlDRwGLiK1E6Ze$|wfZA*GXj50na_4DdLiuZhXvsACPP0RR@m7K?0@ z+vIF1bEB(x&^jdNTl3UekB#{gW2RW5R%hp=O$&@U=Z^+RniulfuF4Y&O4N{ShX6+p z)Vneh`&FqaX%l;YV_XBOgw%@=LU;NF6Bula1LxnES&0JL8t^-6O(1(C4cI0y1h=F5 z9sR!uwE1C3-vyj)Dn3kUdMIsbrauNd#Y3;n;}X!Pb`MWjV9165{Zqh)X=XjNLu)we zpFftWiEpvP7S$ptn@$RkwbZXU;`Xg*K_{IQfX6+?8T4m=nkWGA61a?^HEKbBH`5JRB?398%SAyazRa*&2Inz0(eP8K~zY`<(18D+CUJ; zT_j6Z4pC|Q0O0Zhjq?IY`~beJ`N-J=rf0H9T)05C0Z+}yMQx9}}s@v=DgWwwPe?a7&e+~E;1UK5^&Pvo| z-Ivj1*a^0}7-X3+_d;dOu{ zm3a~mbAXf+ytRfpt!Ypy)&(+PW`REs5Yb!JWy8DPQ~d(=P@U5ID1e=3(Ri6e)kI|LYdV7(`D zzF(D`l0?`WWeSiILM?)G)#(>ZV7So^jD4eeB@*Z;!0XC2f#{DFV4A?-%#7-F)&FIn z!wy4wHsEYi@nK5cLuFHQ^YoB|%qa^s;K+N1g4{IR4a zzQqn(l#3*Ee>N>WR;FHa%*FQY5^8|fb6USCUOkbWwB+}I*y?Qirqi>OZp2{ W{AASH0000O{4l^%+COO~$ z006y7L_t(I%jJ?W3d1lAMSYQQ8h@sp0w!*UCayAfX{+&}FFs$Nu`eIUkO{a6IK=k_ z9@$+GATk$3!a0@L>waWV5TFe`q<#fchZmdlX$7e@S}7S8FVMBdNbk|SuE2oi_ykfe zphInHuheQkp>?)a=^`CHn?j_HhKqiW`Q|F!f9k+DFZWitPFe_9yyM$k?eHp9YdAz|MT-^InTeLXfH1VMSS zNk6nYBtDQ`)gg6qbS9GxkZp7b(p`Y_5(rBjoHFAy9QUxtBrkPvUOI=YKV#D}0qVj7 zq}H1CXr()|?0<H(Noqt6A zEY5Sq0_9)KID7f=WW9J0341H+0C9L~%-Mr;wLQCCVw-(!%+baBCV+rEF=qXhj>3&T zaDiMN8e-< zK7cb+gDQY_b1arNg4_n^d%%HVR^bB{*#O@?fUGVpA@A!M>X$w+U%mQ)#PC>a&RP%u zc)+oq{cJJ*_%B{OjMw+NAk02O9{pVv&oVbab$+e9;7+RR0J8G3JAl3h*i+u^xjp~s zX$Rf?I)8;^AHgW>@elZXu?w0lNI+@v2Nl)&2h>yRKp6gy)cJ>2yOUc3fpQL_CPX`o z3kRZ##rV_*LTUHA;+w_ku5RlM90=;d z0dg3leaJ^!9h3`*KDq-os&wa4kcmWlpkKsge0=LppIm;h4#SSRu&vCE(0e=A`ozp3 z&qHfky%g!u(JAWZLI@d!{>3El?BdkSm!D`}znsw?%umev{0pyk?{1AGPqBjK#l^G% zK!1@ zWiX@{VY%ZURNn{GRSP1$<$YjcJHzdqn72O3VrfN*4Pq4e&;!sve6vJ^uN?KuTK_O{4l^^9CuOey00VzXL_t(o!|j&8bJH*s#}h3q z40U9fV_8XmvDi=k11u{W1Ni~$83b20xNAx_dI#;y0&|9x)5yS524?P98T!}ordIFN`SiX0I9WRJ-XJNv+Rjo1oZ3c_)133Hr1X5rnU^QO~aiC z?D?l-tj2u#F<;mS@;X4@1MV4S6`r%m2KeRyWO-=` z`A|<$zx09G^3``F1_xSm);j#{0S9{eqs92+D{MTB*Y|con0}a+vc`+-=Tdh! z-jfI00DrQaZoX-W-U4hW?{3|#|8%v3&0X83kZd9tg$@1z-!ErDvjqt#Eib5Or$JAx z17UcNVL%$DhX-)OeYKXmW>!#`Pn Y0FTW(M^|Q#5dZ)H07*qoM6N<$f_@;d6aWAK diff --git a/graphics/pokemon/shelgon/back.png b/graphics/pokemon/shelgon/back.png index 44179f9021cdcad17935c35c49a02a1a9816411d..7d53c48c7c63b80d03dca6591e79ba1d45d50258 100644 GIT binary patch delta 436 zcmV;l0Zaal1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?UPM%gD?z*2`7k&*>-~KblI82?Ews8o0&|K3uM8;J6&^zO7b5h4(l$W6`+sz^n@v1 z^{S`U2(e!58)NnhM2UUq_D}ob9s2<0nS?lO%ojj^J>~l=bLgmlHs2x(Y)pgta6u0v zvI3y7ZwWFc<063p366Mw7_83$G?}2(A1eauKk#U5R+r<>1m+LTsz4%?MqXPpr zI7qky(np#YV1;wBBEX>fTBw=eKRDf_)x6)wo*#FuapL<^fqo1K8E4O zOcJQHJ67cnr9c3yNdlH=2aM_$D((+A=|@CIq8xA>l~NvHk1BYz4v@!jbPmIyVOnkR es{d0(@dx8CycK>AS-sf+00001dardB#}W-e*gz`Nliru=LQE3GdKhFye9wv0dYx0K~zY`?UX@s!Y~X) z!6(4MY&*m?U3Lc49>7FwnPCVQV3C7&y3QFY%Z{9YVci8JQ^DycNjn RLB0S0002ovPDHLkV1jZ#v|0cF diff --git a/graphics/pokemon/shelgon/icon.png b/graphics/pokemon/shelgon/icon.png index 8395a6bd603c5a5469cf9f2e0f2975e8c085cb24..48c814ff2374488ad18585808face36fa3d93120 100644 GIT binary patch delta 43 ycmaFGbdYI60{amdKI;Vst0PSQMMgRZ+ diff --git a/graphics/pokemon/shellder/anim_front.png b/graphics/pokemon/shellder/anim_front.png index 5cbfe44a9e7ab8433a1a5aa58879332fda4043ac..ec58b85d150a3d322c39e3cca2db33a184eb4198 100644 GIT binary patch delta 721 zcmV;?0xtc<2BZd%Uw;CxNkl4609Kj7y?+3VQL7uv4465JfZlt2 zo)2Paip15CfvAr$`9Kuep?3AeB4)ltCvm^E?t`7iJ`hFy>!jZrC^W^$H|PUo@bQ{m z5{UgFF0KGEM~H^pW{AGQRgMMGWH;x~KS8L9@{w4%VF&bqF^;}f501z*cPM-y4yG;e zeTfm8uHRzBz<-kHuByfwvz`aArc(x{Rkg$ta(~PqxN|M0%W9dMo-%&@j4IkWP(A_S zcIRE1)kIZAX+BAnH|SXc^!&W0y9eSEgx~>T0+;K}=7|WP_sLE5H-LJzZ5V*k0fK1O z{A#uUC1xN3!HR*GGDk8p@V;TaprPQ_dIxZN=YZdI&ws}e9@qo$LoDs}l>yQFpm5bZ z9jkK_x%WvYo%G-6&3JIAyLgZt0p5-Wo%2^fp%#EI+O=*2#2Wyw#11dTC;>G0QVT?M z2eek>T#5%AQBbw}odbvz4;avhE(54Jrjmtn3B)xqeJLIU9aq;k49o|nE4-9BVGP|N zEPOyCy??Z$-3V<0i6w&}yW>8A`1yg4c*rmbClCpE%`hkij6;UGa2ZAf_8CS)3kdf@ zy=EA`-I#mZKg76bGt2~aWHIx$e~1)POVC&k4fxxif}$-yK0cr_Bn*0{iR!1;!epaV zdB6g?v$cx{)N_H=e;#fx>&^3KO_V~JOZRHFYD(&6yQZ|4!9oI7&4zdLPw3?aA{k)S zWr^`P69KpVYkqEvQE24^QrC6B|0I8-qaom=laA;Q^$+5xeyaPl00000NkvXXu0mjf DuQgNP delta 754 zcmVv2NQi5QgPJ0n#ZK$_6sV&I_;?aaYZDmg}5jqf2F3>JtR%3mDMY z4jB|bf!(=7qL=GYPO|Xqp+KkV264F0KY1k0`-7m1F8)=(et+lzfSB)%&e|ceHkn93 zIMQxdtr);F2|$E^tDM=_MthE4EnbB7Pn4(tKmKiWh6aoFB@o71Vr79AaM+TxH z#^eK0WXIa&6N{L|f`I$2bstum#)81`DjBu{3Qdvv0z-fdK3uU%0yZi@N3TIXhCuk%CA1DCmITJE zjxP=b1wg%en1mgO1iX0|6b;6!hdFm1Mg(3wjD{8v&O*I;7(Q;yjla)v(R!E}>d0c| zb^j14q?Vwm9vkqxKLtgbzQ4aiWk@LWL=)8yt!sqI(uwkb74#QdXAfxL46A=1ZZ7KG z<8DhdfijoQYO!hR=6Oq#K?bW-bO$@`%|Bs~8;E3pqb^H~rVmSzhtOG8cydvhCXNp{JsFPFn8q$O#p`*usHI^@++w5cIZ`$-{R8`-3=|+3M(L~$;00004 delta 295 zcmV+?0oeYl1EK?vB#}W-e*gz`Nliru=LQE3Gzx@cdtd+n0R>4!K~zY`?UO-n!yphv z?M1x~87BuIIY8;h>=Dzf8(H-_7M1URgkrF(P82EYs{TT^(U228^lnnexCW$7qZ{Ns tjcLM((9vVRn#vQ6ozjtF(S3V1GqOKY7`nN9Au><#1Bvj z(RK}1ykzXaUKS&^u=v)GfrPNUWkX!5Dr=(-omvU`8G0_zPX2F(N*xgYdOx3Yd@Y~< z7viA()HCT?&tFuiV}0H~Cch$WK+X4$TDVKCA*#bBdk1izx zeFTh%-pC;y(wUD`98JhWfRIrXsj(MAKuD#cEbNP3=`A9%ES>dBH(dmXhW?g>vPTeb z^fC!U8A#CsK!2{&SxC*Gep3vT^L#!ds?rGnzUTSRDc`u)2U9TcYs|m}xK8e{1<)6B z7|3JOgKi5;Y=JQo;q6@^z%%4O;v}1eX(1pQU-Gp+Q!2?+@sulVBr~Oo0Y~p7K?g@a zyf()TeP7%`$ghrkT)B>Q6G_X8Iq0B0m2@4~a%|lBWq$>qv-$q3JG1k)t?t}@%AGHG zjj}t#WnJ>jo^73AfUUPmgn^wqgH8R{o!_|#_)qS9{t5$P)WMi8pU`z!w*U*1Ai(E1&vy~S zE6xu)Aewq0KZr)Y86vUe2Y!uZitbfXO delta 662 zcmV;H0%`rx1?dHlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#n8er!eq z0006^Nklzit{q5QjG>Q6eSa2e_<_70bku8FX?=lY0OpM3UBb;u@DJ=tFae z4w~ECV;~{WcJ2^M6uFJ%B2^-xeTK|p%A27`5y@fN``G`?_kR=OP|veoNT2=wssb(c z_u&bI70CfdVR+o6XE|zxVe5Uf#Q+dqBlD61stthSCIgfl0L>E`fEWRwflenzq;W$I z(C-6Qhur3;e*d#0NZ=y^R|9|sHNyZ0_>yq|4*!(_yh#985`l;Uh5+y6fL^3GAF3>! zKtS$7rfI51L4QJDw^Sx43w>%&j6}$N&t`6{+i;62T_{@evc5iB#skjcmk*!^ANC^n*(lr8WQ$Y zT!a0Y<$9JZ#>FT3&2G%OQn^;et6UpbQY%#qcxG3Un18`D_ix?jy164Bh5YWxhqdpq zok+?nWbs2N1UBC){p^2uJt^Rm^XQrFNQPj z(Ryd`3;K3|?GCw%C8U#8VurbRTFua3iu1z`NT&gjA4J`57m;)M0k^SQQ2C*Z`2iD# wS?$dan#>PtmmlsVogbud`9U1=!?UeF{N*Li84p>KQ~&?~07*qoM6N<$f@d@<+yDRo diff --git a/graphics/pokemon/shellos/back.png b/graphics/pokemon/shellos/back.png index 7da2fb83e4318b7fd65267d13f6583afa35b4583..f9d12dd631d48910ba7d7a8d367507eeb1c3f174 100644 GIT binary patch delta 500 zcmV)*QeX2%~ z)%B4dI{4_`p4j|h`+h9`=nA}^pdJX_edqyE?M1GuPNAcFAEB!%5_lB6v$0VW(XlbG z{xa}dQN%{{uW(=tYXyjZ5ch+@*chVgHcVVY#AaaP-p2Y-0mkDY)~+oj3-(dtQ~EuD zlm!i9KmbELr0g!JOIaT+03O&9&{6^Y1P&>{hyz-HXcB-Jz~q4N=_nTn1k&V*O|d}w zS%TPkW>Zji^g#%rbIYd)WqksWlrQW)On^WZfvi}wK>pl{Z2iW6fe_9sU*B+G-ht)K zI|C-OGssrI04PiDv@NHrv0XAi>%gvHL2^k@ZrBUGG?5h**QBscATO#=2NQ=1O%L(3L5yyEOGik49;AFQUz#_lUYEg zpa7}t&~!rBey}Z1YGEp8MgsmR_;MgD33C1^Orf2b84V8$z&TzNjaIxGaiASbke$XA q54!ir0qZB&^n<)oKZk$2g!l&Ez66}kb9q$&0000o0l7&;K~zY`?bN+)gFp-b zV1&d2kQZov3hKsyLg!X=E+T@J3WTL7L$*FZCL)$96DW_+CF+zYPt^#rx;{dZO7+pb z>M7fO*uL{Qit;yC;B{Dc;y~7yyAt0@EyKf%v!))BK$SA)MDNzvIB<3Kn-828^6D zm@a<-P!!y4oAx!wcER1l73?w=B$oiinr-N%h-p@C*k-g~mX&+9TWSlo`Cc-;W*b1Z zuNbEQE9v~JO@Oj5`+M*ju#*OujLj|(5U@KksNg3~Vt0WUW$cLng$&RcM@~SuAOWeU z(6B?;ey}B~VJc=u0RAcXVjxTbX8cnaLo+iD4G#;zJ~fI)D_-{5CNw})8kc=Zm(K5z l1Lk+I?gq1RrTniS>kHq$1e^}AvQ_{9002ovPDHLkV1i-e)F%J{ diff --git a/graphics/pokemon/shellos/east_sea/anim_front.png b/graphics/pokemon/shellos/east_sea/anim_front.png index c8f6582174d907c9db3773636aa3bdaade7cd940..0ba32780303c5b5a2523e405855f7a91a0762dc5 100644 GIT binary patch delta 759 zcmVZS@wsML^Y z{@fAbUe_-W#5P*rz+_KpvuqC+0dLa6RvHQxmok`H?u3t z-{&~%`e!TuOn>*_nfJYwKrZijI~Loa`|f_h0=Zp}2HZ1%!heAfFFXb)2LSb#;Cb90 zB>-qN;e-QRfR-!;ew~}(LM!k~P2A&cxG*Sh}d$}zUTXy*&70Fh^He_pSB^!+{jIppXR<6inuKioe#$QM}e2PpY` zdO%l~-DUsK>CGHZU7}uzMU7Y2XwAK!4w3`WpjW5cvLl zLdW_p2Y;NSKvY5dW&xDHKD5A=CV@@3fW8QE#5lfn2v2Gec5QYzF<-(RFvhSz=f0;Mx(>q51Bgxqs!f|L-`Pda;#%roUf& z=6QE5kjuO7p27C)eRfzdKyKf)1MD22P~`lTO8}Jspz#`9m)fHY0L>PhQUC++L^<#q z)C2}z;Fnvt#}V-kUJwLk%xQ@@g>wYX5O`1Yw^~8qf51K^@DT#vJkP0fHtOwbd{b%y z_MjiF2Rd)o0DsPn2W^f(m*}$)6*$V&ZV4a_<4E3sS55HOj#|aIlrkQ8qSC`&Du=5Y zJdWjfB)Yw1M@i^grf{Y16Crpn4X>?$!|M9i2npE+7}z(}Mgq*4wXH9+n>`E!z>NW{ z|Jm;>i@t*?Y2Cp94}&F;l+ceL;$;W zoh|fa94BgQ1?p36YEp~i*t%q0FXmcL^>neYf4Yp%_=%qJ1?Ti7!gy(OQEzHfFRpTX z>)ZLlI)LX%+h5jOAASD-FNd5x#jr~s8b^nx#e9MEet@!1rw4R((QO4#p!O)kWzYoQ z#0vtr41a=8IHlnd>0t}A!Dq8ak+|f}5CHV|gA(Q3xFFE|<%Ev$T{2yuKvYHhrsD^| z@W=o=$_i}51@w7{BgXNqV}Xv*D&u1XUG)vUJq=eT)g(H57>&BI=p{;iS@9cIl`>SR z5)~m5`L(lZtE{G!8pNY+MWh#2@83qCf1g}5`F}B3y`M=H)pd%t+qt$|JC{SPf1q=B zP$9A%7%!o1{xkn}pD?s1^G|L`;8B7|TPII|C+rgMvd0-h+|htkC?LiqYD88Il@eEW zb7wlsOge~(bl}YAdOF8+fQTKaYyA`;?4KUjGt3VYt~Dp40mJ;@tcwqu{P2I*U*K|a VIuQ4Fv%vrW002ovPDHLkV1jaCbkzU= diff --git a/graphics/pokemon/shellos/icon.png b/graphics/pokemon/shellos/icon.png index c32bd8e91907556232369efe9a0a53cae56331f1..031c9b509216d5b3cc8d16525b50536974cf497f 100644 GIT binary patch delta 281 zcmV+!0p|Xz1A+sPUkL#XNklh*A`4`XDD-priMi zI1+d(UTYTwnW{2aTtvz3`NjH1s;v8luJSu$);JUZOnyQuT2^DS@=1X4vdhy4IV*pU zd9QZ{tn>dIJg~|Edv)v0KzLPP2^f^6md>LBbLX7|;F>_nQH1JB$wc%>EyPh)`kd&z zws$gp7ZbIiz55QT>WFg}q7k_$_eefOVgAZ+dn$s}qwO#aK`$a;6|)veb6;YEQtU{H~oJC6!Xop%y|YXYf65vnUCBhfvz zu#K|N$4IB8y-t$xs~D*b?KO8$RY#nOaabbkU=Nkl9ATUUf}u zuiy&0lcltgBBe%(;#c5Eam7)biz_IpX$Y1O674kz-hc;Sb{$99JBcXK;a`zb%$I*= zN0H`dtkHk22e$oaZ`}dt9_<0Jj>H}V(AsU`6hPg=w)X>8=zrOj4gjMn(DuRJ0=8`c z>@*S39x!&oIdlLV0!RXHo~F-27+@8dUTugZxd8BFh~|TiV*<)T09s6uIPPGNDsY%7 z3*pUY>H)oOSO?zbS7>n&fRqS$&t)Ar%WtgHOAU@#YiEbjWuJi-v4cj98r>89v-#ogfgSmw3Q+msPk_u1r7S-LGCyo|;^WnJ z$o!z?;>qZ8-!b#U#=m%C=h(~-g@VlsdtDYVCDyJKGw*Yne4rcunAk^1!Or5@E_++6yJUTyEVLuI(2O2~~2TMS@fb_L8hzJ9` z%=4xCs0jsO;9~*$%Mia@L0xB2uE_Q2^RE6U;JMu2ogZ9|)h0hQx)1sd%)90IU8*aa P00000NkvXXu0mjf8w)Z# delta 652 zcmV;70(1S|1@r}wbbkN`bV*G`2j>O{4m2oH13H8N00LJ@L_t(o!|j%_j?+L8hK=Il zj_RD42goE=s8G0E`q=DVl_ndn;0n5vrL>VErACV4SKvr-#ZjCK3QB4kf~6A@?KKGA zfCpf9?L^o+v8X7(zapiWFaL~3N#?h#TK~BoIL=9By$R6iSAPIlN20<2wEEQsriJ5F z1Gey-LI;3R5or0~>;cCy0P8&B&>C3Q8Dr1}Xc9mac*{6`Dqw(BWV)pxqUaL9lLE~L z?WPGR3l3;8N8+@NJ&M3_qAa+#T&M@=c0?I?lU}36WdKql;60ONV4U9C=h4+oPxp{q z4h`U=WzUi%cz?c7qw=YgMZiwC*Va{%+^7+x3=t^q;o&CT-hN2XLe*tBECZWV35l<& zE<;%c#-9=dKEJ(q&2u0uEpl|MOx}h1!*XZRxdRnCk%WnKyNMZ&E?c}=DQWSK7HQR_XIqb m`G@m^%dlGKhg$!FegVw8<@k)H2=f2{002ovP6b4+LSTZ^u{!(! diff --git a/graphics/pokemon/shelmet/back.png b/graphics/pokemon/shelmet/back.png index 39e6b3cd8fba5831e9cfef2ef775b0d23cb9cf48..846c84b5dfa8c556a22fb358f76c3ac01b99aa79 100644 GIT binary patch delta 409 zcmV;K0cQUB1A_#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bEH$K~zY` z?UFrC!$1&)Es+K)me>biz(u+^mK!Q7S|mhgdq?3MND;X~Ql_9ul!AgL#z&x}i8Y5} zyz$Q(FdbBWo%Ozb^LEx&uU>y7A;fR?i4OqcyxX5Zq03I<=rhq30F}m_0mx$D>gRx1 z`-pKzgcl=LL=)jR>@C)Rs)2z7RZnPqj?m|%ynBS}3K$pwf@e!9SF0s73Bl2dgpQcF zE7mdwSG6l70Tx7b0Wf=-1GqSBS158E=E{xnSJo2?1EcYN{S9#JBKx5z zf$B6n7#(@Ohl$jEW(>@6xFuRQ9Rtn~(!6lEBMMC*Kvk`Dp)2fkD1Z3^l>SUtILqk6 zScA_%Jz>EW!VS^Z+!NO{9u3tdqkP|5WTH&qJ|ik`Q3eN*ZTQJeS_9={`e*|7D1FZ< z*Vi1BGaO|A(@~lo=(Y7j2?K~2c*~zdt5>i8m1TVbuu;96UdTX>00000NkvXXu0mjf DWM#4% delta 402 zcmV;D0d4++1o;DyB#}W-e*gz`Nliru=LQE3G%Qwb{+$2-0bEH$K~zY`?UX%E!$1&) zBasFwmN*Asz(u+^mK!Q7S|mib_Kw0ikRp78q)b7RCIUq7VV$>4h zMTjL)NBA{+i|(}UHK z=X)4S(`UxO90wbse^uQv;0z({1BY9p&;|n3y)xxW0A48f%}xGI7Ja0D97^Sn|%com+7MoIHUc0MwvNgznC%9 w7BC&{(*wOWJ}6-Uih;N6IqZHoo&H^)uu;96v@Qov000002uVdwM6N<$g2d;r(EtDd diff --git a/graphics/pokemon/shelmet/icon.png b/graphics/pokemon/shelmet/icon.png index a33100d298559f192295914b3d36f22873bb4732..2dc08fe42b0b45d5cc79a05bbbb4132ef9c96dfe 100644 GIT binary patch delta 196 zcmV;#06YJ|0-OSnV1K7cL_t(IjqQ>>4#F@DMty^*IY5!!9i#v=;v$@eJ4e~xTA6_W0000J{1V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4m2?}Xp%$# z005*(L_t(I%k7de4#F@DMSTOSK0uM(9i#v=;v$@A--P;BR?S z>~HA-{ASGZH#VWqzz}4UeYi4tU`>eZfYDagGeE1DMA8HXrecwBnzrDJh{ky>s<56` zu2ids{m}uqwcW1vHSS$v^UcSxXgbUw;B>Nkl20j9W_KZOIu?CDiJi;e+4}T-zp8y7JPOVdh)DC!Z zldl4Z0qFTBfV2Vd9Q44O`3azvgDeLjg~62`$Qgrao(*7_X^(1}*WzK2-w++Jk_6`| z1oV3SO#`%7OU}nZ2w&Fg^)0ACCoTbk2!gd##S|a{ct8D_{Rf0HD9iJ#8$LoJ>&0FL zh8fStzeuo?z<+MPRa$tIwsDWiZ>)==*sB2fOj0K9aRnhXBj6CvkO)>)Sl0s%V|VO6 zsj$2iVxs|^w`FT1kM{MPuwSb4`>rQ7I`DDJr zEH;)dy6B=al?$35_;KB*ME!vusWv2A`tZS?K4iGCr+*K>c4hMvev>}TJ>X!=mh^EF zm{@yw?biZe=z#&JnbHVQYTw2&K(BN}lP-DziDaLNUEMpLB<4&Jqx+ zGk;of4u6X-#5)7vre*oP``C<7R6=oPcMibE;pmS9M54~%L>-JMDcXJwJm?|}=RAok z1d46^W2OM!7_Y^)jQ6_&-ySZM7VdyPv$(utLhSpFr}F>jkd6vuI>I`?t*P^&{ZSIyD^e4v6nVa|g`$M6kYe+7rll^0N^ zid5#-Wa}4bI!66seTQ4A${pwI;Z2s_4|sP6{{JkiuNPYYZ-2~vN{MIa4_rwY0LP&~ zUC(d>N~vSG#neH-rISv;|Ih-R&#+xSZ=cZ#IA?(AkW=H7J~acjT;#I=w*#0sXMpqs z;6CVqSF1C?MGmq}dFw<_;B5#ZPB)@WXz*Z8Rr$FfC?yCkEZa17K z#D~wj-R>GxV1E>q03-milT|SV2mszL?z4Y@PzGgro{jxGh-JTMR3OZFp8RmhQ3A)N zRu7BPA+9n0iG5KNjpj5zxhWGjcn2XgBj6B^5DQjS*w+IVV+VEwwL}%(6$KmTT4mHtz3Wv47mlU)`TDi~9f3zWVCxNwfo) z`wn&48Tl}&1Ih)M?L*3i**=^$m6=IjWM&fMj53xD_Hh=N8=qkhp9_H3DLAJoI{`|~ z%lIFlT01z|#e}#4&DUNh5T+2K1FZHsiNa!83PFBFkJqYyOmK}%+J%^3V)X8xp4!EV zF_vcph<|9ayR21%!Aj5`L>vC1))@>RhZxQh5Na}i+;R@V33yOxAEO+grX8k zG7nY&Jn?70Bp_mS1}hk$qNEu6EpV$-7|wYdRR|Py^nIxSc7mTpT}I8Zz^lWx`rc3J zBa6xd6Qc1fTXSCayWi*!GxUeLEB3w31N-X_T_SJh$sauP|3vQ(FS`B!#*o7x27J-e P00000NkvXXu0mjf=WIDS diff --git a/graphics/pokemon/shieldon/back.png b/graphics/pokemon/shieldon/back.png index 91b5269a68524774272677f26efa57a31afc3971..bd55d112aa218379609561367bd9fd5bf1fa1da8 100644 GIT binary patch delta 455 zcmV;&0XY7o1h52FzAKM+g#D3NXhi7Y-o@QMWaa!nHP# zd(`cqq=iSc78^StO=6vYfS_Fg8t$e76fB{yfHPPXXjgznCCD$a2aNNs1t_rD6n>KC12z78x0f$LMK~zY`?a{Gr!Y~j9 zV5E%gfbp6ouriRk3rJ0MMBoq(WS0UF+>0u(HvuYfb$D$uR~jY?oHu?H?=gZ+$R;3fcql>_$|Wc^6+ zSp>e*9K;rvptl9!YYza=UhCC-NqWfPMRr(p4B#Gtz!t5!362xe8Fbt+mgp(4L~x%6 z12+RPf;;2CDPvZ^f4V_%vr=2q`~)@%f*^wMxFyXG7|nwRnMNhxdNB?slSy{Z?&%08 z7(a79ooZmH=OL`$Ip=zZt0$GNR}oK3#Rw>URNaB+@+bwv48T;61p?vw**iE1oK})R z{N`(y=;go~KZ_C#^i?!VH;6&>2Os(yWHaP5CNV4-(;wl2Gbw?GSt3qjxx*|}H-H!* n|Bu>|m@X?o+%v(s{-gc?!#fACq3Ysq00000NkvXXu0mjf-k`&Y diff --git a/graphics/pokemon/shieldon/icon.png b/graphics/pokemon/shieldon/icon.png index 1aed611069967717df2d052fbcf142299f6ec99e..4e0a46784faab06b60ab85170821036c6e868da9 100644 GIT binary patch delta 231 zcmV1)~V1LRu?O{4mARkqrwva z006{EL_t(I%jJ@>3c@fDhVur;>E2*gp`e?S@8~8D_Z;P(rrlg>8mCb3Y>Q2kxC$cP z_W#^}96z5@zcwP7MzpbpqD37WU5&L)77P|~2AX|pbj>C;9)F050mWo2pSW_+H+11S zXWF(gov&z)m~n)8z5+OE%~d$tDHfvEqPZvrD3FhChFo-$w-K3>37Z@^Fn%ryfh;$s44;3ID1qkKF8I)jC%Z`gLe Q00000NkvXXt^-0~f@j-rO#lD@ diff --git a/graphics/pokemon/shiftry/anim_front.png b/graphics/pokemon/shiftry/anim_front.png index 43f4020d3ac8d08bb2f1825a2803e438d610f6f5..f813d71d1aaba2c17785ab7637af5dc280247999 100644 GIT binary patch delta 1384 zcmV-u1(*8G3(E_TbbkdwNkl3(j*q>P zr@E zhv=NXM@S$NCdm;(+JqR!fe#EYr9cEgn)m>G+Ws6L$e>uJ5Wx^n6&op}X#!;EPoRhk z`jdnK35L*+jS$gW3I}cgpu0a8_*p9lH5i5lDSv{NQ+V*kvZA3x6^=7sQNC32c!V2rbijp9YTm@u{%=HWLp@EnK*;2pm3gmaaE zyk_&U$C~a>;eGIm!of@!I!@WLPh|08hza{F5LlHW(CjilN^P$hXe^KaKi5`DFhd zpm7h7r2h%1^FDJIV5#>3CrP?{au+ZJK#e^V4FZ4*8V5v!usVku0Kp)v&QWUro&yh~kyi>3@rt-~tE@qI>0b8W+3aHOfOY2*+|qSG%-- z5&;B*IOn%L9YoiW5DlUW?cy|+j~c|$Y5WzA8iZrTw@FHf1~GeO$McdT8Uz6A-CHz> zS?=Y!LWl-2hBm#X5Q0HK@2p0zdLE%cj7^hNHz-745X?j^0M-;@Wf0dUQg-x+LVujX zy%icns@6hndp=&Jlh}2K<euO!F9bVp+TWZTQ0T(gV40v zjv)Zt2J4sZ2nPnC=^F1&;UbdtGQDz#p+P|Rfp%~cE&|5rj7IyFh(U+|R6(s_5q{x+o4<|zCq;L%YW7?EMu3J-wvg$@f>=8lQ-uBagHQtM85%mW;|Dx zfM3LX1<-!EaWRBultxNB7Z}89js}IlM1x-!7zDwnprt{0-mq|CwlNS=<8!6m;oZLu9_`_Kdc70!SRDDW9c~b2XEq>ui3FAulxbxO{4mAdp&ISqq00l5fL_t(o!|j*PYa2%tfLCO# zbEHTpAotLrX7No$IvCQ!DxQ^MTbGDk_R@o)MxaeEQdS+JTd)EP%E<_Y@y(#hcyF%N zG_bk^>mblv3c2=w>6_J$oz>bhZI8{s3ZwZn^JaGDz0Z>LwSWDS7Q5rGP)k1Mp9OfT zkJq~5$3D=2k9< z08S@gRT}wR7?3ILTS>Ba>Ogyk%!Z?`4RJt~!}4p#Z|`=Bc4vJKxqj)E_ZGmnMLWN~ zj9SfVUn~K;Xn#9lB3`F-c#)d-J8x~xcEUuRo*|NXy#mUK>3b%IDIZXJe!+oH@N{i+ zo3Tka#**veCtasIb)5IiZd^0A9wx@pUYB(phcT8-0KnGwN|N^3cX^d zUiYIPzaLMpzroD&43FKY5kUUa%uZ8(RoKixI`i_;6MvH-FR#CR*=C;+X;o%kB!(D5 z4R)Pk>~{qzm04kbt$!5Ua~ed;p%7KgUPX zFO(>>dk1)b4ADpaMMl%eIaeBT{Jcw6g z#&SVF{4xdK12G4@gIAt#u42%y*?jDgru$QPAH9NbFk^;}6SnLVX*?fd%x(n&t8&qn zWPj+>(pq*w;I*rv`nNEN$b60wzB}b2r1-!{y*uT~u-9;=JbX_--%>-BF}^>o;{@KE z_sfR98IbRt{eRkO5A?@-4*>NCfH?h6K#kX#O@O671RTfd?(rsI0D!u|AOJX{>IQ?b z+6Q+4fS_=b#K@={nc27)#b09E?&ZXO~ zpX~-|)W0x-K{%E>yxgU|&|ZlKamuqj?T6P96AhvR<>F+mKWq?(C+k-@Y!HqWxu7x8 zAf|8a=o=Ib0)S}s77b#Wc^y><(I7@prY9Q=0%~XFR=wXKMy5$BcPPZtAef1o0DnXj zVr3B5CQ^3vkV2e5-U>aD)JgaT;aAQZAyu61_J2MMtwDe&hrHz+R`y0GC?~8N9 zK_hx~05s#JvH<)bW-Ea9O7*h=6r&_kTA8ImtmddwcoTJ=E-(m!QAP`c@VrG`_0Km4 zWCQ9u0Lo$tZ+w~)R;o&61X}=_u`~$Jo1PZLyjyPWV2wM*3Shy%0UW@@#$%#E@F=<~ z#hBM^!vv2LfbrA`A3P1}`p8($0Bv1eHCqOMSPgK4bCIGd9R>d2jh)k6wD7L{0oo_L s!5_Hs;0^w8Pj}!C_Z!4lfB2W}Z`Jt;6EwKbApigX07*qoM6N<$f&jFJx&QzG diff --git a/graphics/pokemon/shiftry/back.png b/graphics/pokemon/shiftry/back.png index 637b2b6124fa8e17c42a51df7537785f5f08bf9b..aba33b7de56571e63ab871d6fd0f61abbbbc86d4 100644 GIT binary patch delta 661 zcmV;G0&4y51^oq(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#->xK~zY` z?US*J+dvS81@;4EFE)nYCWh-Bq{4*@8IN!XxVy8^8U5zP5%J&i>cSY2sDLv6<#9Z(!a{R zp8ILvpL)>Tt$8?eO6f~~`RE7D-Q*f(Q>WTksv;nr75$Ir=YF7p?c^HY7RruY0nAF> zV!P%TmqBTJ0Xi7w=i_}=lfGC#$l-aSSo_KJe1&rsLjj_t0xVAAm0Phn9(&LpGQC# zHjP?+P{5nH2`o(@;tGI;F{5WpP+_Z};O1usSQF$n%Qdi*BJ6T9Yc!^>;AS@#=N?r) zdj~hW?~?633NX&wE0d4#HS2<;RI7;(-~MIjeCg!VnCOQ)s8gz24GfY)lYlHO))go#=SF%Dfh zM9FZoK}OESA*enWIS`O#hzW^^g=-yT#8A~h$|ZQNtYL`A7=jetMp-@t^+z1WV{yDp zTcn7PdZcl@7&sfy3=N1lN}UZ<3k{HrqsxmQp0M7$al)S3zF9%|I4gj6k^#g=%jRMnJ1J&p78Q@)A0K+dvS8 z1=a)HUTh4(O$^sNNQDa*G9KX&u<(_5I^Ld8M|xXnYP zPav}^oxSVZbJ7MfAcHlZXa0Y7)}Hr|MQ`#4z%M4Ae->y8?=m_^epw!~5alD?TLf)UY^8g6*ppLP;QNY`o z2`o$?<_dth(W5srfgM+ag4NF>V0DnYb*_QE6p^(FhZv6NBV6rA;<-mPpU%N*|4p*a zqW~k{9+`ZE@2}*LU9{V9tkINR1qr`qayfp(PF$!0JH|-Gf7c&UEH`7`w_Q>JTA6J+ zYNyWo5ZO~8V8}T~H3~V;A+paw9Xc%~rcCe59J-BN*mGh-Ow~$=QRJFKoDQ~IWaL~t z4ax_wfb|+NB@u~mt%Hmis_09(0M9jR7$7o+AjNT`EFXgEBMy?0I2@)eQp89#vLu=J zodu|e21F8Pf6fA`ga$~)!R5)qKt?iR#OUO|#ULmP=Kzwi&hgMf-^>#kNY@K<=e6l{ zt~mg_48(Ezx~@Ni>t3}0P`<7oAaZLInAIAnK1DA8@9P>r)Kyj8U%O1i8bAe9_fCzf j!xwx|Ky~f?kH3rGXQHg|1VjZb00000NkvXXu0mjf;yx+b diff --git a/graphics/pokemon/shiinotic/back.png b/graphics/pokemon/shiinotic/back.png index 6b54c55e9faa0fa2e40d68412787b41cfb7d1df5..de88b363b4786323d4d5afb3dac189a7e8281c9a 100644 GIT binary patch delta 542 zcmV+(0^$As1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z?UKJv>o63?&Eh+=Fjv(@Jb)|Z0dD&OK-4v;lDW#Qgw(2-5#8ZpW$9Z)(OJU8#LPmT z2O%%M=QvK2v`M-!@~L)gf4}pmmf5$ubaHw+=&PU8>G-18{;>+LroY1Zc+}%>La)nl zm(S0`S{(#m)b{o4kT_X?h@G$2lUcam>Wv7h7L-zAGMl$MeExgT)m}e;)eCp39~q0Y1pIaj z`I9qgL8ls01Ym12mB6QZ0Duh5%q{ST+y~wQSPOrR1)bnIXdJZ2bDKeK39!~0om)eD zi;>nCiosLdM;^$?!{H1!yb##dyF>XFjsS@@Ze#L80RJVEF(f&arH^mN!&~E?3`c~N z#@MC->1KjW4E{}dadaVFoH?wBX(lY?vU+of%81`cbe6?i3~7W%bj`bGU7|}Vmqk%X zN!PQ>-w?T|s2S7`bm>nCJof_J`R}YBcqQPiA1G@?Y&gYG0+%8h1o)8zUjV!m?}I&X gyzCeDtphRkAFELP*W!Hk)Bpeg07*qoM6N<$f{8B!L;wH) delta 536 zcmV+z0_XjQ1^xt(B#}W-e*gz`Nliru=LQE3H52(0;^6=Q0pUqRK~zY`?Uk`=>o63C z-9??d+&P4MxeuU#AE3z#G&NaW0=mTs6cSQ(ymV-Vm%N2BXYrjn-8oDBJf&z+&ynTC zPHc7Q*q=y|^nd5*LWjquFrKf8%c=r>kL?&wfP* zbr5WRu&*bl#MzwheYqY@qT^C;cvzPprR1Z@tX(PNT*}Q9?HT%V%}3Ey3z+ke0%a}E zC()plAhdCHhke*e@yCT#mK}$(k%Gx8ssWG=DTdv^CO+PwPG0N2wL=Xwv>K=;u;%hu zw}87Sw?miii#TAQe>{LeKxeXFcL7!Sr9}n&>jjwgU;7_9_Md>A=NVl1OQ=%pyf5j(pMc8rC-?&3rF`|)!0@nNzW)@v a^Z~0-{nuz?4pMvo0000h7pzuYSWv1;tj0-psOcA|PRZyJ^a?I4k!Tnzq!v5umEU~;E54~L zSsbrj5+)>;^!Ntw8F=S5X&h{Kg}-9?;{VV8d%Al*_CLxrEA0n6j`OTh?l*S1%{gy8 zDf3&r>9ja+z9l(EB?mDo`bLyO| z2kQC@`iLVu3q%}te9nCWRwLeqfsiu9 z5T(Q+o_)ll0rc;D-@^c9j0+KW1bDQZ!@yyD>k32~2_Zo<3&MzhMT~Lgg-BU6k~HNx zUMwPp^imMgg^?F|80rwsL<_(Z0XZ`AWUt+8(;cZ&s&@$(0?45YY!cn2gcyZfRvAR} z+_dimV1pbj1DMy-?xt;-TAOx;1Ka@y*!r>gcrqh>)g&?P)wKqCX2J11Rf(EfS%#h8 zP5@e#jrMy5%{d%@l5G`r-7Rp77Xd$iso!eOO0}W1Dgc(I*QvU!0N%|LHFGNfgBIe7 zRS9New-R8Jd;EKWjdWh^PiQkL{3M;K>tdoteUK#T$FaH|tK?FjRgZH1rnR-F)YzrP zc0tV(({Zd-fPCvY&<3XjFi5{UR(?B;*X_f7Js{vpcbEl#R=$QUw?;ty%Qs(5efr!AQ_8T6Ttv-f+jI-)^P*n{u%ecGNXJ7ggdP^Jc%435lp!ls{pNHi z2ZEbJ;`AOslmlMo%kq}+WTtY!$ozh+%J2RFE54~LSsbrj5+)>; zI@1jHllh@~9q_cIpd&utH21OuN%LCYh=LtxwDZQwJ`0|JUmK4nGmNj2M5ejD*A(BGfAnIWh*(U`)WgaiC#AS8 zmF9av>vMXJvYA(PD`17^0Y86<-(p_e7Zo8x0cc6GNW`rIcsGy5%uxV3Zp59kd+BWK zsM~+CN8bxnlDS%+;9)5AIGKt?K2gFth-2~NLM+B2zLj^?ql{iP4^D&_JGj{n74z7z zZF3ty-F!~*e}EGNG@5+3&FpdNubbzm>0t|}E| zMFgum@L)8AEA%k+j77=O4rTdcd*Lqyw7imgh}T2Jn4ISCcp2Lkcu>5P<>l>A4EW1S z;%X1TiUBv(d2va&JdI*NPxVk$vr<O}vG@Z4@<04G Shn8yq0000X} diff --git a/graphics/pokemon/shiinotic/icon.png b/graphics/pokemon/shiinotic/icon.png index 78230a0aeb1493f58a4c95c42daf782987a89ddc..510d61a97c21ff983ab9a6aaaca91ee8a17781b0 100644 GIT binary patch delta 264 zcmV+j0r&oc1K$FWV1MdKL_t(IjpdTD4uUWchIxa=#qt!oI^m-j2W8WA;n+;$;7#Qn zB{58uFhD0NRluupa56F8c3=M<2dBA`J$)O3m6&PwKe*Bb9# zE))Dn{gp74)@KUX?2R9qD8zQokBH1{-}=!~h3O{4mBJ1$ZFF7 z008DmL_t(I%jJ@>4uU`ohVKn7EFMpxs}nqmaS%4mE!K??2Rp$#N@AFfhCy!q$ui&bqMwxILQ zkU|$eb%K88suP6u?>(MQ^L_@Vp3>;!AXvoIN6dRcN?RgkIlW#cn=-42FC(XB=4@LR zLFgFPMNsgTv)Rv!ir=H$9kLa-*uyS6EtqgYOwRm>?afHKSGF|z2Pu9e{tB4dm?Jp= yz2U=z9H2WN0VSJxeapv{BlO^7LnA)uLq2ZT+O)ST70q4%0000M|aVW5y3%lu-Sxe{)d}`(A7cw z8ifW9@(mpXx3*{@L+M%DT$@&K6q=>UQy}7b6+&zQ91#_6HGj;wo+?0Hw>opc9HrEp zAz+73ysgTlt=Zs4UG=o<1Pn%$c}{CUgnJhlZ-SR;;($k$V;aR0FfHV&V^D??W zy{~bOZBhRSwCFbkasWgw2f~y-`@zBlG!TYwVPV?WXJI;Eh3Ry#!ep%uR+!iUwJ`0= ou`pfXjWFIXVH>Ct=D&Wt0UW!;GRP5w4*&oF07*qoM6N<$f~a(Zw*UYD delta 323 zcmV-J0lfbB0+|DlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#qW(GgmI z0002|NklM|aVW5y7G0pxK0O{)d}`(AA;%H3|j}@(m7xTT`@< zq4caa*TxLG3EqIXEu6pHylz(jvY%2Yn!DZ5>*r~-7 zsHq`p!Axz@o{S)Oimebai&Ho|09!(ij8bZ@5U|1<9^*Ri?rd?c z4tm&k0v1nHL|$t^gliwzXn^}+?tyDl<83PHG*iY0V9F$TFRQ;i=f4F7?a<`CA&>zO zr3{3r7wiWMlRQu$44=ZnbidES^uP(z>)?bbOd!nJ1j2Mb$HJIEnCO!*)CluiKOP*r V#4^G$KnMT;002ovPDHLkV1gcni_HK4 diff --git a/graphics/pokemon/shroomish/anim_front.png b/graphics/pokemon/shroomish/anim_front.png index 1a2b86f3aea9e38b5d3a970665fdee2a8923a5b4..d06679fdb8d292cc36e062b9c88ca7ee0d8e676d 100644 GIT binary patch delta 528 zcmV+r0`L8U1>^*fUw;AbNklt0rw3JOtdD)l>IAR1agP7x9w8oeKT1wEQ1P9fH8;BpEa2l)Q_! zld}}AV*oEX)}JH571oF`AVb7eY>TWBQ6Q}V1j=xKaSu`AqJRBL03a^>{p7N>J&4s4ENFq*$Q)GP)6#*;zQc^BFK>0vhsLi|= z>d`%@tSQw)143zuE93S_A{R#2D7Dt|#@E|L%+B^^7wD5rZ_Uma|Ajm3qBjfs1cAg3 z=MFe#%$WZoqy7JZ{kg4|JZyjJ1e-NM`-50Ah7E-6Pk-vSe*jLhzpUP{|NfcB>|cD` z@4w{-z?J)ZvVXDvkss|Jko%|aNBgtkwMfa!lp=qXyL99}u)iyJ7}(#HdroV-*uM+P z{b2u?+^ZAiezP@J?pqU-yV8dGr?9&fnO{EXFpw#_j4CGgOxh>hj~Vl3egd|5+x?pc SGyDJm00{s|MNUMnLSTYedTUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#qa)_k63 z0005zNklv2NQi5I|!?AJA6l5VS)<+S%0;5qMK03Lr9CJ|KG${XhVJK;VJ! zs!3Z14*|D!_0+u|)nnqIt;AyouRK^@?t$W+j(WPdNRi^4cz+ws&fd)7CI-k-V)H2i ze8C1W24sl1iQOV=RTP-l017pqzj}Zuan*e#01zvt3D=#^gSy*=fgDb8XM;=3S|uo+ zf#4D|C8!H1Bq$p!RRU6#4f;BQ+oT#L_}_KM0950`?{VARhuS%(CM-Y`&~;rHc=$}& z8y?ucwqZ*E3V*&$w8?v1P6z>i1>$-+nw$A*_y@qv2#`Zx`~lt*F`C^5%6ioUty8Q3 zis|HK+FTC39EQHUBuFDJCgV5^P!q86e@5#n0F;k(3$t4d%6tnAbZH)2P{wN9xX|O) zm9q_MYpuTJPK7)8ygRVR#_rw0IlE&IhPJ!PU;NSX#eeB4y(CklNcKZ+}w1{{T44{<{8;{f|Fn%>KoPxtY)_MgffM)se|J*PFE?ccLOb0 zQVx(dm5)f5aCVTcqu}!sAvpNuR-bzgrmV0?11g3RexRQz0Y@#73ln9g+l=$3zJ=lmtkXs4^GO1AnBuMH(N#0{o8u)cXU_ z+{q!~a`phuhsog5wr5uZo@OD$b4v=qbrxV_fOq8py_fyWO?P+JhWmS%V-SJY_W-e{_cir#X!*xU$6eyt(#(aAba_o0a(SqfkU^qpUHr2 z>pB{hw!k3*MptS8mfB|GGa&n}%()(bg3o}5{?HGVP7>Yc;T(0;00000NkvXXu0mjf DO{4mC5veZnaK00DGKL_t(Y$L*9$Zo)7WMWZO) z2ePr0aUQ1AD3}U$X!9gC(7?PB3!tU)Qo79AN&Lyj?VwZcAVRr^_gAv)p@;q>vdZ#R z+7=BSYbKL^4x9b1LQICpl_DG%iaG%l9I3)e!X_1hAw`rl4S(#=h$25GN)W&ez*M5j zf3K;?2 z?UHCy%Ittm0LA^jC^t)#t_I%>Q~@vvhCaf+l&YdWWy!{~uo=PU5aRXbU%Pdi7~yDM zK4$B|7|KUrRAd4s{w)o70n^ToGPe^j yJX7X*0wx&r2BwZnMqoOtxD*+INy?Kf$j1ZPzk9%J)+dnw0000O{4mCJcuN$EN z006j2L_t(I%k7de3c^4TMRS88eU7t@5cB{RUdm?3lAJ@d3D_)r+;iB32q_mvW6WmO z+CtFj_VZ`v5Bsw02TCM;)4}$sp>m0Zw#-gj!tn&tDB)H;1a_}Fb}lcVdZdI05XX{h z3!F>D&E#wgW84x&7}&3PNkZtjzCr~N6E5o{s?e}`JD2+GUtb0c$RUTKcMj!WM{o67z;ftRLoSO zcvMzTy)1SM9v23d9wSU)kFM<8E5-bcrr3i2r8Bb&u6AZDw58DcdJytH%zWP@GxJ*3 zQGY`KVD^0h_+VHF%fb=3MnJS;26!t6fc9?y^l$4CcypagH7iD<92Sg~g`h@g2u$VCVfi3oi;9D;4)oHEsmq&MYlRXKcPnB2NG< z;5+#V5XX@lyc8>tK#+Dv%}4;-R_s%LI-TJ$V`=81I!;0dyXeV>WApQi4|pBTK2mbRKGTdp6I;!)tL!S;FfIttlWrPXz3B`WMIQo#|xCm7v z(8nYTgU5XXAOZ@2YdXI~$}y~zP}{VWLiQoR`3c|`^TTI=b7Ou;qC@#1ZvMmhLCBaN zgpBz?0;c>Ri!|m33GCztEr7Ai522z;Ec3%7pgQW)p<)FjFls7%K7`BUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#s>R)FyQ z0007!NklL5tcz6vwlWtk*tcK0xCq$d0)u7z;ftC}t{g@u;kxdRgoiJT43@ zJw}+q9$neFSBm)>O|b>POJ}Anu5M;hXknrF_aNl`NaoGVdw=h57)L#a06-siT~yP= zPh8inqd*NbCE#m-s#`^ikqB6@j7;4E^ z)_YqBTz?-D+<$SB`Qk1u2Kt{!jxn7twn@>wtEAbAe4vz$?zg={;NtV`C82`2yGjcI zLROdG=3_b<=S6^(5t6M&lkuD-v-w?yAB~0>A-DeI zxGlVU)PFrI0QO-1I(_k&I5^I&qmKG*K>)Pl=A`P@JzdFEMTu)h8t)MtKp%7nLR$YIq*V0}643dFpQBUfA0)8nACv&b(mxbc z2bTWf7f_U^Ma2$CVB9LM3+W%kmtsZzN&i68{!o1>g@1T6JofWv(GT8>JnCyjWiS8$ N002ovPDHLkV1kUeN{avh diff --git a/graphics/pokemon/shuckle/back.png b/graphics/pokemon/shuckle/back.png index 5e4042ca0668389995f98f061cb3617c2fc6e38f..235287795558831700c4bf2fa823024ee1b18874 100644 GIT binary patch delta 371 zcmV-(0gV3Y1KtCWbbkRToQ5QV8^%GxSipgjSl2Z#mP2PxCasOwxI zn_Pp1v!_ygg>>6RA|I;$0VIgWtSWVp*}iW)Z=S|cbgzF}q*?`a`c&jqNPjL0N;jzf z@cN?lEJK0P^wX4~Pn1Tdw8jA9bUg$E@+H8@DZ>Ef0G0v*)PMa1G>8FMBl-ZW(HI<% z;z?KG0Z|kO9S%TXLPS^~#nELD*e(I_f`=$(;Vqnr9`K)TJqAUJl@B1JOMP9K%K>=9 z0B3>}h0kqbOt^b0bDxQW0k~}~eUT+k RxcC47002ovPDHLkV1h?2rEdTL delta 383 zcmV-_0f7GA1L^~ibbkN`bV*G`2j>O{4mJfQ>I8ED00B)&L_t(Y$L-ZIZi6rs24Gi$ zGFycUv?rkS0I`7GNO`S{I_C;mat#J&r&4@{bnTGHhpMq55{aMLst$SU`yBu8$tZ-} z>z`Ist%7~}ROD5t|6CN5aO`eOQ7hJtc9PgBNmK!<8D5P!M8xda3G5^(L5VSqWn zQb0g6-heJ*0yPPPnukG(Z@LO!Ku8=+IDxBuGWUhp4M5nVrEg`4USB}u1t(xM6Wut_ZHV1T z0({60+)i%5=6F-u>J)gv=J+!K_3iJ_6E#f##U?Ds4XhuPAdgMc5O5NKm>pT2lMN8lB*#s8168@jnZWN d{;%=J^$V|)d#%8!l-U3P002ovPDHLkV1h4?u>k-8 diff --git a/graphics/pokemon/shuckle/icon.png b/graphics/pokemon/shuckle/icon.png index 15755681cc5e5bee404825342695a6aa5453915c..ba967932f4e83685735bdbc9ae1b0eae0100297a 100644 GIT binary patch delta 221 zcmV<303!d|0<{8=V1K|#L_t(Ijn$ID4uUWYhW7@2{&|2iJ?O=o89agb088aez~FU6 zRxwVX!>b84yX?!l{{8bSwdn%BOW-h-4-hl)#AA;F^f7RVS^)5MBFBK1Q^uw>h@`pn zTrCM)^uu;bWk)u)Sb)Kvh|JsrC6P7PB76+&OG89Wt-Bz6Ush6+Q_DeKpRup<_Qq;z z8Bd*b(Rvu0=I|i5S^500wV}ZLE+64OU%u_ XGv2=PWglIq00000NkvXXu0mjfNeFFO delta 258 zcmV+d0sa290@?zQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mJrdTu4{| z006y7L_t(I%hi&x4#FT1hIxZ~ejM7lH|XMKXrI9P0Oai4w1%!U3Yv%%&KM_?N?7=E z2S1ljh*dA}Qw}Vac>!XTl{lO+12YE}QDy*KU*yk#ELjly4trQMTOPZVz)4=UNt5lp z(oF(x`aqzIP%m4rY diff --git a/graphics/pokemon/shuppet/icon.png b/graphics/pokemon/shuppet/icon.png index 71f391f7a4114e34862cfd4a44d32fa41aa1d908..44fd5bb191980f0468139164d6f8a7908f983ac9 100644 GIT binary patch delta 177 zcmV;i08am`0*L~UV1JZJL_t(IjpdRt4g)a=1n&oE`;+~a{J+Q>+($T;k`{v8+~Ve{ zlM;oF6|iVE+xBbqTzaWzg2D4ZK}*VLK%u)5J8njO{4mK1_S|ou0 z0056kL_t(I%k7de4uUZVg?j_S{->P9`wyO>yMZ>*wMhQO2aA)5CccfA!h_~(?bkF* zP4dpz?D;|Gk(@P{JItl1nGKA^>_FLhi>^V92(|u}xBsnwx^LTtlxGijb{p zxJOqsB87Ee3VG~0%emzP$Y=ZOI|-VVASncGF#IG4fjJ3Ez+{3x4$KomLT-}n`u#Ql O0000?*C9u%O;RC;1R`DGa}GsgoW?04FQ!Qs5Dm=L-$Rlqenj$jQc5XknAkwkU2*0U0#x!NFMYu#gdPPTu;B4wAdoc% z58QYf#3M&aKaQxR#=hh*yXYpyCTfk|-gut%114qznVOR=JL2 zZ6sdk9+XZ2G=GSp(Ieqg^TJj!P{XewUduvZN`&+c)(}xgHS{1j6XO0eJxa%M9T|pi zBu2_nWK&|xtBGmHeHM?>aaR_wrrbcl(Ezm|okch4Lfl7SLrHG{v+PFTi~k?(%JtWz4Xs8Rl3WUC`@v!?!jmC6*#o^^B zlwlNg4>Ev>>WW}?KZ>HBQYT;10CvIPQuU*Ar4A5)tgQ}TFO^dNoE$`7aOX5f3Blp( z@mF;coqx2>I|!)eNL)4Huy=TH+&=8#PbF^FDo(FN6I!a@>Z$&@YKqiIkyjk^Mk;xl zf{h|JpX*QrGYDK0HA3JkQC`9v?N6P!hv6dl27^6H-nUzvW%Xd|#Pl3B@C>FV3L6L2 zRjSo(ePbCD1vD|`@7>l>|H!7PADt+ha>CX3=zr?!>Vgi>Xp`}v#MR~1Wm^N;&xLr{ zwBh316whC9n0v>B88~D4y^yoiG!FpW&tX{OrZ{7{H+W{GXC~g@O%v#YZUQ`i+w$e; z*}SPBLj=P57@#D%^I%JT|1mDffs+j;u@ z*MHntV0q`KocnZVb=wR)&bjp+*95%hGmpXDHfMO>nC4JnaIImfC(mMFjABnP#>WEj zbGyP1ECSB1v-q?57)%sUaTeX*4Gw@6rYrg;e|96@w;vF(XpwklRY7T9(Tf82QJeh~ z0jO%Ll_b@I77O}0s0G%#Q(fiMCk_)eOn+|C>uc?1Kn`Pujv(qLs*ea{V+bHMpBKqQ zxKBBYrFj74$PXk(7*JuSIK;>88ra47pdH~l3;tH1f$NJYkhhPxDBeRMq%QNx-G&u7 z+Y__b>x60|>D534@+j3xqUzu5UNj*D2%&*}Qor@8>%@Jcfe@J0XV8o~u|1G#AAf;m zkql#VWxf=mU_<%SQmpSWouqLKH@fB7G*b zf1q_(!|5AR@2L`AZYTnjpoH$DxH!Cx3Y(4;8@5kE1hld+tnRoTkLt97FVQ|&UhpKf z(@7;E3TS@(paHU)br$RvxdZv?Z-3-xR)$BQ%h~PdbKt*q@Pu$$07JtTXePMcaKhr(zLP;8_A>A|VC7bu{^b!?P-Q0MLL@!{q1 z;WtPLH`wF|P?dYFRiRPByxt2W9v0;w>4R9;G?n`6b16n4`_;eRIWpF@8_ zK43(-f$Xxay}^?HlhS@t<}yXF5zLS^RS5OFgtX3R)R{i(=z9-M&JicunYAEy9-=w; zH~OZ%M3y+;Is1s_;EIGjs{mu|v%L5y%+`RlIcp0xXLc93XZ|>2FlWAZS?R^Q+ZSCr zMTmCV{5jr*tfCR`J;@UKD@(;#`XTJRpq$D60Jr1Y|00000Ne4wvM6N<$f=4F& A(EtDd delta 1576 zcmV+@2G{x84D<|;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#tFGV548 z000HoNkl`tC^o5P!uJg7y{>x)0yId-vn} zrD05Jg+gIccm5CCE>Gy6`g7g3nZ6&2+v_qwVMZIj;*=>saXB-OyuV>r*5m+SS1@BB zpL09@ACgFM!{m3GbB=PFlt9s`*~NqGBEVLFOo7`~C&>cu5wIn=dky3{a)0jP^&|jG!4B1?X+YGGvoJZs z@f8G0%!p@Uy6MeTKnmi!su1r9^@0FzZ=_0$Jlc21ZkkinOeFXA*hZS^|@ zh%nVJLOALj9iFt0dh{spX04J9k0G?gpw$zDz6fz_ro;%C(nM)O$65Ve#kjb_SSdxz@wbg z*mHEiTQ>g)oLzl{x6L^QWdoLVIpmEPn4s8GhQTHRabw?a5vaO$^+)|Nm@1IsRGnXE zbPi;$tZwqB<;-aT#-b&~J8Kk@=9*d*xPM35?2QpXsm&J$+D(tHi%q#sC*Fp$E|GKi1c6|hhJ zH@?NOSG*lx0aq83&u<@bEZ!v{lv(DJyNyO*#sMx|trMvUmw#Q0K%S&pa8mu7-G56a zL;{FmY+RL_7g>csYdi+2R9VKR;F+Hxr%!G^_;tFiiT$#kx7O02Gv zQQ|iMq|YYF&rb*Yya|Z|F&`f^5DO`zC|^V6ALKf0Q29pGd$vTE8;O7nP$KtHtd4G@ z!nVzE%krcUfm~S_Rd-sChYh)cFMr5Bn6CeLY^O_=gvgim@%$$6O4eDhTGAcxmwypI zUz8>0NF(7DxyE8>Tw7wgu&U7v1NbW)O+uf6+%afz8Fecn!Nk>4c+-tRZEtVgbet*DFv^%0L z+9clujCISG7FQGLW;9|dgcVvO+*13O$e&0bkWy}tcG*(iU{(E$X}?tFMcG4%P=ql1 zlVs49Nb6kAI@4zzf9sLSIcCy!W-Z8_2V@TZiM}c?ktNP|&OeYj81~1#L(Il+`j0>Lj+`}CtT|&{Wd?)e;e}HJM3yd{VM_kFhS`H!`Lm-CtFnOeZ~NcVyNAAr{tu&FE50v0000QmUw;DfNkl8S%6otLh;4qT#1ms<@;iZ;(d-(WFeV&%nKRykI-KqN2e?66=0Gch2!~ zJnvsz{4W!JxOE=j&p>Sh0s;cH4G1^_>{KbSan4RS7hbPF*?$7`hB*RZlALbd5a#(w z;ISl0CJx{`?FBhpfww;ff;RBZqHqrY;VV@GymJzta|Gr}oh8RG>2 z?%#9(-<tbZe53<+pG%)r994x=Gpj1!PK2!NF)-~=QIq?i_3IqnJ+KFz~C^X6b> z>;!r{Yk@)#5b{0zW2z1b=-LiHf+ zc4?Wj>JPvo7ZfHwz?%|e^#VeYXmv{SMlXHitj@Kwn&P}w+|pSE3EZGzp;X=C3d~}r zQ_KS96MuEk{5&5Sw7M=9{I_U*=1i=MNG^9a~8f z@W|^YI?X@_n%#`rS{c8`D15``DYjy&nx77ft^H8(g1*v7Q}5bQ1MsO*j|Cnia7oDK z+>_SY>dOHoAqOuX%<&Mg! zVlgU>T-^_1`{UcvE?TFMh+N%Cxmw*XV+#V-cH#iy)e5hwy0$mBOWTq7udiRC5H-Dh Tat^Tc00000NkvXXu0mjfIw*G< delta 829 zcmV-D1H%0029F1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#tKtdGr~ z0008=Nkl`EWCh{;j!uw?l2=p1-&9fN* zc`ERpoHT(F0DsGeN-6vjX}wLxjV%OPYs5GMFp*sjfh1`FC4e(V0!odL*3M~?WGw-$ zt$FSnVblb)b^;=Y0IbvjCm^gqN@Lq8)iLiNUXgIM%4pwSWlb03IeATCaQ{iVk4{se)8t2N;Bx7+4ZQ6 z5%GJ9BG7D>QY$91es%oVm=6^z>@AIy?Oii!0Dqq<`GnI(LYIVSd>@1{ruwpPlMww^ z57ucDm~nk>8y;Ds4*_#qUFiZVzD;@qU~aEmzo)6U88A^{-}4M z7zfO?B?JLKzw)+E0Hwa*p1)Af%*UJWiw!f-{_}S)?xxQHRB=x)wQ{~U6_`{fBpOdq7XH`;Qij^00000NkvXX Hu0mjf<*9cb diff --git a/graphics/pokemon/silcoon/anim_front.png b/graphics/pokemon/silcoon/anim_front.png index f809975c7eec15a15ddddcd32e2c6c6ff334ac8b..8fb93f1fcdf77bdf5170b0de9b4b5e292c8dbe5b 100644 GIT binary patch delta 630 zcmV-+0*U?S1>XgbbbkU>Nklcbu1WQ>UnCYXyrVN(oMqs-F zixdE{8fM}@nIMhN7w|`k$_bxynQ~3ccR&UFIt?Y%YB+CjAH`BGfK~(jw${H-(4B^e zsPAw({gJ2voxlUsUi$r(F_m8d(j8Zer8gU;Xn-rnA})?h&kuGDG6CLN#z|Hj)e0c? ztdN7+fbKZTJ(0Q(DfbZ>+!_o`SF#sl`^2q5Y}b5RBYzn>z2`$Y1kV2%Al^)k5kB{y z2SkD1?s1QA9BZ$C_)Y$2AXLf%!A$(4Kv*!QJDP_Mu@wvvx`8Hth}{+rXTbPFmb&-I zFkZc3e<0>^zU2?Ynm-U&^9MQe2c-u=f0*(~FH2X9!?Wt&=1YHgbO46k(jR<1FkN5#!7~gS)*r~X)`QJm556wm0r9QJCSI}D QZ2$lO07*qoM6N<$g2E;!i~s-t delta 638 zcmV-^0)hSC1?L5jbbkN`bV*G`2j>O{4mKzAiba|fFY9a zG0=O9;Q?SsdIk^b72;URd0X`XD(y4uYuDzd1v|!FX|>g^GROF1Jn`RrL2!%jiO>hI z{htCtAK=XNRbW>*r)Wpu-~lohu!ELHX%NI_3FLkTYD7#Qpno%gav;)d0I;@zK$LnM zDz1i`G_HCRAdss30LbC^Liqu$br3)qOo7;DwVeW^8K|&sEFeq}KBB5Iv*tJt!0W3X zSEbrO&H>XPP~Mo_^GF8G;k+n56gphLIpftL;;l= z&T8y}P|6k1XrMn-`uhl5YqQkvaJjrm)PPQ40qQJ0{Yn#+UjfoSuV;POD8&J|axKFA zoaptzw#I~mwU=R(=4Z77h<%bvp$?!qjF63?D<$eG3Ow2)oj`$ z>AJlims0FK0O=gJ_uzS>{sItmw{CNb|1Nyp-`$gc8`ygQXD0Slz%3Zl8_hb8VDN6+ zA40Q)Q?T-fG&bK6F+RO+e;~u-yyXwV=MMyY{va3rp!C4$50f6a{9&O7SN&mI59+lZ z*npu2mUlmxdSLs*v+n+%dVmGpTY6Be^@_e=&Dk#5F|%TsTS>3FlEJK%nh+h~qU^c_r$lDG0y8=T8R2y?9^y4pu^9KKkqmfH;(kWoAI$ zvlkM?k}@ItBDq_qWHyA<<^g!mX$=e4j)w$9V%-%@y=GluSuPpSno@56#H%m<7|>BN lZM=p85PQJVy!5ZsG{5gVadc(E@0$Ps002ovPDHLkV1gENu7Usn delta 385 zcmV-{0e=4R1L*^hB#}W-e*gz`Nliru=LQE3HY{XVoF4!H0Zd6mK~zY`?Uc)IgD?<9 z<4WCUj8V45G3uI*`vHc@K54@L|4PUBfswGX=&Dk#WE*r3^8#@=y!28{@C;~?Tke`gI7A`aNre1%?s z_uaQ50D~0X5jI9Rn&=PY_!7$IVCeu;0J?bWxT&4DGPP%f640r|*YNDxcP zgzSpsZkdwV5K@~J@Sf8eX09EN35dk9D;hh^y1_hOGoUr4-2RSNS9~#`qh#86^#vgI ffcf>u{crjO?>ljHLIjnX00000NkvXXu0mjf5EQfB diff --git a/graphics/pokemon/silcoon/icon.png b/graphics/pokemon/silcoon/icon.png index 48174fbbaf89735b8a6433cfb82a657ca0157600..8eddb4d0f83ca1ea29ccfd1933e42b44202d9fe3 100644 GIT binary patch delta 215 zcmV;|04V>|0Q{y!e!zw7A7Mh97Sa6qdLj!Xyh<2yP8F&*3w)4}{GrbCtQpuO{4mL1wS-?;L z006g1L_t(I%jJ?W4#F@DMRNiw+yhi`cB0w`$YI$zR7ZxA_5c_oC00`;76v5n6u%^n ze)OFCy~?}3i%pjmh-^U03owZ@wnkc0MWb^`zPHx&u0VP|_FB-bMC>Swa9j*wHILfS+it%~{ssD}LkQqHek zfN33GCtbQC6D;OJ)F5(yjxs<|mqbLSqvoO^MpZvUu91|POq!sIND*t1q6=8yspLXT zZD6(Ph~@jv25TR@^#fc!eonhVByf4x57PMIkn{l&?~XlyjvU|a?Ilz6B97igHNmTZ zK7gWV^day--UP7zxoq>sqQn8#i!zU~(}&Oo6ybf>fv}H==&k^NP@K{^!dsy_Xr#3; zKzJ*Fx$SeUH>sJCw*ZQ`&{|(Hm;kg!F!*S@rSAv^nr5^IP=o<9O6UOLnXYEI6DDP8 zjvWXF8}FJ+rPRuZg26U*KsY9#?#<&3gPAj-PzK}>(yzg7q>l`3FDYOIoK2_Miuxxb=cFAVnZU%y-cUx~!6-pM%kVE_OC07*qo IM6N<$f^`$rJ^%m! delta 462 zcmV;<0Wto&1hoW^B#}W-e*gz`Nliru=LQE3HZ=eZG>#!%B9K-^!vR?1f8hWr7uPNT-h?+v zm##gih@7pAKr|%*fas*X&=8_}JO!$Wl&MVGppM`Gjo{z{5^yTH6f+xGLrui$ zeP@Hh2XDgwR*#>veh>**-3JEAD4l-s zK<@NI@pIVbiA9M6f2;>(E@QXlLK|R&*Vlotw+N7XZC#$yDZ*Pqz0pW(QFl(<@#f%Z zpKHD0W{$iAV8n&i`iel-`SunDd~}`CcLV{Ab7VdL5QPDAOy~jOnXcz>XUM85sSk_5 z#yjRpDYZ7DB(UWU2&V|ty}7(0Fn4Asl>s>m@{m@!-8X?%^pUI^^}KT5w}Ux~!6-tdRgkpKVy07*qoM6N<$ Eg39vICIA2c diff --git a/graphics/pokemon/silicobra/front.png b/graphics/pokemon/silicobra/front.png index 81a79e9fac9872e01d9f05e57d1452aef7e83218..b6ed6ea56d3eb7d8d9140a5e0aec5c512de8772d 100644 GIT binary patch delta 476 zcmV<20VDpq1jPi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iH=jK~zY` z?UJ!h0znXl*R{KDFNA_va4P~*nXFO}n-;<)$%#@HN2h`I0r zhKiV2kbNlUj!-#gZNcCEU%t7STXx7HIXMzS$Z~$KlnR2Nol7XKZ~h=ovDeCE1l4oX z*Sa$^lS<$hCYUl1RmGVVWlmpJ+Ig3cH)2%$T&yi?B%r+!!+^6-BsD1vN9S8A{=tzz78rTRtIgu>wHgv^FX8 zhysq60Gm>oe?-$d2{bdHD_c=CeWC<_|7%o&DV{t@;yhqEFcZKGi3#bWvIvAJ05Jie zV4FUx8~~Rb*_GWl)v*0N!m-wF6T2g})S4^%6|*FBG{{3b*=|mPVTb&?F!lptP?{CX S;g>@I0000!Yv)TRPi9|je>x{9pXrfO{e_-2 ze6LJJutyBIYwP*Y_Z%vMT_dmv#6@`J3kndc?no`(mR~qS_{0o%<*pFeBH+=0>Lc*9 zeF+;qLG5v_vX9iSi?HE26u|D~NWoY~1D|e!b)W+1U+U^QVVe;|Sn^vgC?L=)f! zz(wD4$k)h-LBh*8f53^!=Xw{((sq!rISnki5Q1m2>3d+@7ETUSX`sXpD!M7>0K}HO zEQm1s2~r1S%CZ8xEP!dP12Uol4_QD<2Q5uSl+Iv^0Rmk%BfHoDAW(13YAm9F(>1`Z zT4SHlyiEd~92kgh6wRNh0KoT}R$-2nCrMlctjBr=s0lG4N;@ipK$rm#695LJ*;y3; zxa8Dq%-)8S=*bw9CT35h)S4Uf9a~AB;gUs`^4&@a>i9qYkNO2-P?{Cl!OYeG0000< KMNUMnLSTZ4Gt`*? diff --git a/graphics/pokemon/silicobra/icon.png b/graphics/pokemon/silicobra/icon.png index 9923d1ab7467ec98997c4262e66e9f3e62212136..c48874a723a7b38db3b94492780b4492dc2be791 100644 GIT binary patch delta 177 zcmV;i08anc0>uK5bqBjiL_t(IjggNlf0`0{m z?of|pu5`E|ojVRzlsPx;KwaGF$U#x>UWu!kX=T9eKC#ysfG-b*h#e9KZ|Sr+o#gGX zD5%~B{yhl2Y0ei0(i)9NR%zF$GY%j=HAeYNl=;8rcZ7j33M2eTdmFhQs(lzQAN+s; fOW}ut5BzuoC`p|?{J#$F00000NkvXXu0mjfAYx9N delta 195 zcmV;!06hQ20@nhNbs7hBNliru=LQE3Hv*xRppgIo0J=#;K~y-)k$fwEm@1h~Yo$&% zk3Z~RcuIZ!Fo$@rs+%N0`AEdxp&rQ`>2O0jcM_~9b8fnUy13I(f}-BN5?3|T$$;B^ zVy`m*UmgsRD8hrcbXruWxH~KYs<%OY4?=I6^F@HPM&nUL+BND-0^p}cj-O#x|2w}U x41`gb$d9zQEd5aJ!}!P^4;ZkF{7~?LA8#m0ojp_u>1O5V#UkCvSNkl?GASYk2s~i8;HyYe7A_P z!U+v_l_0g)P$(YI9?_#Mgu9ESuXZr>nnFdWPv_dovJls{wkSAV-QlowLURx}Y+a~{ z#+rWJ3A_rE4@UdAWEfT=lhd?>OT#k}3vT2Nn9k4D&}H3tjA__@5R-PsGVg>+a&&qi zn$BGz2=n{vG{o(P2EBcIfjvMrXhczN6@g)*JrG#*K@Kbl83n+!6Fl-L;A10Tys23f z#ljKhn}Ygl^H{%Z(XjgA{P)6K{IM_>`cjzuhlSy)A8TO_{or5i#{teKCWf*AxmueLB|`mX)}+rA5K%>Z--k2~8z%*t$>>jWzu?6L=FQAB^^K z%`j}lLQc~fE)CB_EVz+9U^+iXL$~P0V@$(-gP624miZu5l6BPs(RA)ILAboXPD9*p zXwciY7dQee28}54t|Bl@bOZv6KFESOA)^484uVG>1$^uTj5jrlB3n4Zd{ayrr8_!+$_)Kxyj?u3VG_i)@_?WN82c-ck;c`v9#jGIr_EMTR=aAi%$&??^c@ zk5vAEv~Q8^`|AC;d-v{RMfnKL*f7>Vusmpi*M`-K7JvaTXn%E9tT%wHO{!ppq6rU8 z$StT{S9uHkHuy#pV69d#pznsh37#45)J9nP2k@G;f^~RjJ-04~5V*@Es{+-yZvot= z#X-APK$%;6fd)Qo zFFv{W!>~NwD+_etc@7~sKVMwfk>x>9J}Mnk#MgAn_S=h#Ul(Qwfz%HUI*2`3kKSI4 zzSgfnI&0eKM6oep(aEdP(Ws+A$RvS2Q?x!#UReB`f3c=8Hdd;pA$FJ7N{^_9#zR#~ zq@OHXu79%-4%%Q!nP?posH6QtV9<}AGze5^kq?gt6rmv+uN_KF!%`t&V9yjc9X z6Fr+LN{?^K8%~0$=`itiYGb))3PGaUQF_@?bbog0$|p)DVlScvI@uzMhBdP=#j&DA zW2EJ1TsJFIs!nlo0jr&*xqy0nJg?+mFMcmHQMS zdOJi#RMSTvRDW4G;GPr`=LaB?JKiImqX|D707cpusK)V2>AyszB+Hhv3uE zXTJ!bgJ4jZ5xspPlfA2WlJ7)dfqa4KwSNTj^XG_LM?w&~@*q}26CUi15P$rZn-CJj z$lFZ-@#yzwh;Od8OaU=$r+jGv$P8Jg5vZivYsTGKNgRUa9Hy{1lOq;3=@(@Df%zddu-HEBXX^OW5BJ(P_c$yFg6)!s78CGc)h8>Mb1R^OEQN>*Xsk6HTQfqe! zq+U@F2nqt3DUFR4f+c|{?H!q;%6|kxm}FLl#5)3slLn`P230{~4p9(DN6m+TTn+Jq zAdrdpds8T6#vp!Bsiz7?q5qdElZx;_i=ufhP-$1q3TF{N*iqCMJFU?Ltzf6%2R$0c zjxuLGUIDcwKV);9GW*mWbR-Aw`2mR^PTk72DDy+z`+v(1%72m{{sp=sMiDPem2NEn O0000!o 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 delta 311 zcmV-70m%OB0*(WaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mTIfNJM%7 z008kxL_t(I%iWSYZo@DPKy?F-JwZ^<7gkt~z diff --git a/graphics/pokemon/simisage/anim_front.png b/graphics/pokemon/simisage/anim_front.png index 646ed188c5fb202667d09b7852889c000f536bcb..d9601c955dd7399991b21f656169d857911ab641 100644 GIT binary patch delta 1328 zcmV-01<(5Y3jPX^Uw;J&NklLl37=&k|Isw%4G=QAXQQY(i{t$q*-I1eFReYZ^#>I zwJWW)+K?g;xWSEgKD~J}8ol=sk{cSS9ttz70hRgH0fOZ~^?w=)TLOd#_*H~1fvPMd z;8g(kBoI_&p?Hi{rYU!cqqP`dO8}Yzi?f^n!NMeza0x&xwjocV64+&|xj0K}!T7TZ1#^MH(~ z(%6vC$KP`~Uw;JjfHS7PlEBFTIOFFCnE4HEpPz;7{XREZaoi6BoIhi8!1OKcc! z{A04fSy*^!R6e7B=>BB5-~Id~IR6&+V-m;#xazk4xc`IpDfHV&hYVDj&jOJ6W^>?( zrymRi9)=GJgTmDSJ!l0_9np>to&*}0MEAVn-BDD{5r1Mh5<;oCdVV7~*7wAo zz(4t*;`xl_lUNzzGGhGkczn?N(v(-c$qH{{rESu99pj70?aK!>TZjA#E5anNPR3o) zbK_rIcmkFUxwBMjYd!OReEQXR_%M!Rn*$`fq#2_7LcDNK;?u8>|A^z$KIdV;Jb=-D z7NM~xB7e;t#J?YZbUGLS*vTi<6%#;VjySZr3nz_kH0Zk~-Y(ojL+p=VrvTs?*)2+- zE20L-l_~R>6OFPE_ZoY{x+(X9BT0<TYrVluz(wpkDJUuecmR~QOw7e@-ra(lmgzcgYNc(%niOGbV|gfP zUVris(!3~u{=kBHK!aH?p*tdSUKi(A#DU((`YshcaTLt~cxgqJ7(Ec9{W*a4#AphT z^|o_7zYXX*FJ}J@;ZBkS3SZ*?d%TmF4EQf3rotbT<$|$f32T`K{SyEcg)P1lsl)IJ zU}NL??gS`R6npa#n>b9VqU0QAfuhVDrhimXYB`4~RTMAhFhPl;@VvupmnlloVagOG z=P;?FkXgr|LbNaM_kSl2 z6Wc8dyFYU}Pl`dvM$fKDQ7~lt&VOufm0fS$Zjqv3V7Ul0n_Fd9?3!H`1q1tg=uLXa zs;aQ}^vj}PAdqj**R|E6V8|5m?fI6>3C3K2bmRpC1KcSC%G5998YKaA`Rqh6$^u9L zq(1<5|GLqd3xL;3&L{qWx%l?{0+h}CK`ZkIxrNLhELP$VG*`w!z3UGs7%5BqK^#>3 m0}4j9KhWMXe}I4Q4}Sxfa>IRz#22Fg0000IO5hS zTLok#U|oV}XA*kSAJ4<@_;`Fpl;2rTdZzGWlbfdQ;OCe00(k&it zDTpf)oF7a~HGeO7So;_wk}m}gFL)+*>;fqlrQj*)DDfPZ>&#)pY7oLUtUGC z@30<6gX%$w*|GI<@}v0$OopgVI2fdw1)$>Fqp2@ne}6KSxETy|4z;TRRuo6CeL2i7 zUPUH2niYoiyQ3SXFXen8rF^SGTP)(%#>pR?$uo(6EWhH6^J)@%b6iF)KVL2{ZohKW z6(8{0Y3vOhk{w`tnFbT}q3KyrU13i;+WWiZSl$NNZ!zuw^`NqsMsNStd79mSy_`SK zvdj|zd4H9plvqs4>)Dw!nG&^&2r_* zGijzw32e~(^zw15sEH?J#r_F9VKi@rc2Dz1>pKOSqq&qZE250sY$YHYr%l5sqTE_F zI$b!89VRK8P?G@rL(znAX*=H0X?f8rn*^#2#sGlJFkSQ-12D%H4&Wl*Rtma-0^9&1 zVt)s7@dn!^7^^nzihluYjfeC9bAty5RKh)><)an=NkfYD;JLf?O^ENY?c9I|9bu39JZ3w06L8QKQ#V_n12&u zTKGZl28@m+Xcq?k9RVT=H#-I~C_C>4fTA&Rzk46>Zp7)BwAV>;x~d9}sx<0``l4iqT! z<)h$IdR2yD0Fkoh(s@;%^d2eS$6@4xOiyf?+Z*rs)3MA1$GHQ2n#9gy61VnEQ!C2n$VFI&Y2-BRdYJ ziea83VC3d*`YDtVFuhbLz*x>92MlHIu0Qfv@m^3MJ*WZ(_GX=dm2bF?dp5qBgH{EM z{3X(4^#=3=aYps}3Sbm(xo8FnUw@>oRtF4a-zCivj(DN?p$Zt-E|QYw2zNQfbZUTs z{+@(|hY&;OrsdQD0|ixkrae*z43$FFo?#O(HUew|1_p?C{ERA^OhW)meOmxVQvf9Z z#Seh)@7l4m2^fZ&&-np!VV=`~2PHq4P5hurDEWc%27VxwHV(!%KOkUq@F#=3Xy*q6 kjCOt?w_W@I|C}HG0;037^`?8Ad;kCd07*qoM6N<$f)9yXUH||9 diff --git a/graphics/pokemon/simisage/back.png b/graphics/pokemon/simisage/back.png index e45f9daecfb47bdf09691190684d62efb28527c6..87984629fc3830a67b351e31af92491a8ab85479 100644 GIT binary patch delta 587 zcmV-R0<`_31+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z)s?Z5n=lZDfw?Ag&4DzN!i~{+#`fH#AgdRU&3>h07zRFloJzRN``@C z_+|TY7nn38R;5H`Zd!@kxH4*iWjGsS6s^3-3wPek2;D96Y_<-@*bNXkiEN&aqAxvj z9%gKLw;tbhJ(dvaliSX*cqUo1CRRBHLswoyALf^ zm=oRQrK(=J04TX^tOnip4)81A==O~nm4pu(ac&N<6J2#>-%gMbeyqm)b`D%wv_HwO zL>`-_(M`>E&YLc#8~>DSROJ8w002ovPDHLkV1g8#3P}I} delta 573 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 LNkvXXu0mjfq4pq^ diff --git a/graphics/pokemon/simisear/back.png b/graphics/pokemon/simisear/back.png index 100a6c81a42c486c224854855226382afe5ae85c..55d90c1f4750afe10a48fab27b542d6099eff8b9 100644 GIT binary patch delta 489 zcmVZi?R(L@G8;~hwYlsDZQ0yE~DiPBeDC{q6L5@Hu!N(PLa7bh)&a;v%Vv}SXNT(um>bk>36=;ufFYYf zVbsD4U?sYB)B~papgtgz9`wu9_GovwyDGi~$_EBl`z7ua4&eoV(hnvbnjUfmxDq}f z+czRx0BH-tYz&e~0Vn1_ri0fmWSjo9@QFtG!G^kk(_+&+2@~~PRc|O5BlEbwY>heL zvHN~|Hf`g=+A|nOg=urvdp7S+$X$~+?^?g=&pEgbfYt}ISOCFZzf7O81842x@Oywg zW`Jym;^RCA;nj>pVtx|i{E_?^1l!ZqR9&BJc3O$dB&%;$oR~Q(F%kA(Bz>&w8-u7> f=0DK?8-#oTmaYWkvawd700000NkvXXu0mjfx2@ZJ delta 476 zcmV<20VDp>1j7W7B#}W-e*gz`Nliru=LQE3H!TW8oyY(H0j5brK~zY`<&?cn!!QuX z9Z!t0>VdH}mMX^JJV2e?z>~NgQ3qUgtdN?yTV4QoO#G2g#|eTF{zGf|e!lY7pP^km#**HLUe~1DYk95Xi<$%%> zQ6Mo5-~cv z$!?wY0E1p61{AahfBNOxdhl>pehWYh80_{--zhu~6mcMMXgrDq0M7wM`y%)Zux%p_bY{P?lj^cxcw$ox^9AOI2RrS`)mPLMB_m{2KC)SNQlnq;5SUZEU zDj(KowP#a*gzlQSepl*MeNKVv08r|nXA^i}uU^7CcEDLVQXPH|c#jEywnO6MJO%Jo zk2IacIDSMw29oXRs;kb2Po_l+Ua{C1E`6ICycjaX;31y- z2=3acH=N$7g%~u*nrhJCtKySl#n8E>x80}v^ZEQ!>W>Gnb98wMfcoa$a}cr;KtklD z1{jS&vk0EhTxza8zO!US01;jchM>VIKUV>5FM|Vp1 zD4grM2$_$Yz|;Bp^kF%Dz=&`6_VaEVrpJoH?+*JNI&X|@;V|UzXtX!UEnwNu5eG_V z8Y`ZtFWmKP;1n3Wy5d-^t_n{5m-tm+WKaeS%zYU!A}qjwkAFJ>lK|le3`c?(BQQ!j zpozc)D#hJbD>=YuCX%&o28J+Lj{e88Y_Km0heQzbg!b5SeuBQ@TOjx+KE45tQum)H Syy=wy0000`;YS(^T$KiIr?P^fcENKGzg0lKz~Bixds%Ok!L{&`BZbc zBb_4`1&G26V+b0&k#iN$<|Mc`j?FcvtC z0Om`y;+lgw29(sUrQ{mqZ-9oH1J+}Xlv`ukX9Q*k;7KE)p*#TiF%Kp+LZH+(#{sHp z5TN}S&>m1F9rF%v}I9NABI27aZg)+$IKVKtR<}s;aHl84Z`^PKmA*I7wip zs?d)BG6Lpih)dDjR6}i=(R>~fL%RhxYk_lWi|HLr={)KX`+aOpGo7w!KkbJd=MVu! g9^Ro-Coe+20FiA#k?0nF6aWAK07*qoM6N<$f;R=Gw*UYD delta 379 zcmV->0fhdK1cn5VB#}W-DF6p_Nliru=LQE3H#hetWU>GN0clA@K~zY`?UXT2!!Q(v zt(<_~pmLF?Cx0(Cv^FiAApa0W`M>Y9dZGC|N34dlJyLYt$4EwMxa2f&J4>4L8 z0rn8k%D5?oFrbbB1}XtK9&?o1TH8D$Fxvx91_=Yj9>9lL(9{Tl!n8RK&}EGP>&Jlc zfG+TmO&uM9kfG-81HcI6-mQJXB4^8D)O}S24xGZ-{bd|&=f!ne~KLW@I zxa$y?Vnl>38=A6g9umWL3$AO4JvI6Cj!`y`X2{(>wzi&5*Q`(b;f!;LfIORZzkyCi Z^aYV^K#{cdLu3E|002ovPDHLkV1nd+t6%^C diff --git a/graphics/pokemon/sinistea/front.png b/graphics/pokemon/sinistea/front.png index 6d091318bab9920ef076f20535d0f15ff6cceabe..cb9dec97c119c9132f9dba0c845e7593ab5a8b2c 100644 GIT binary patch delta 448 zcmV;x0YCnt1gQj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fI?HK~zY` z?UJ!-!cY{3Z(Y(g+DhFdSX$_$$rEV$1ahfs3%#jMMQ9@E&`~HjD*6CI-E^^VNn8u| z4T8zoA$a=$64R56Np9y3`PTpAKPNW_Wn}zsL?AD5;}cOD%mF)rv2 z=#+{ID8Tq$R4(E|83ein1t=Mc_?aTu)UlUgLvbR0eWVDCQOl;(r0eM*DZmb<7aW*v zvi-WFZR3If!hW+mI$_OsXF?MKDWj1YxE6yNy)z%YqWBE0`xXg*n_U1xKOqQ2A6Y++ z!<@j?+w*?nsRf<%JpaHvKXBJXi?0CxLepBzG@0!mJ!9I>@dJX3Q0000R~CQqR06Ub557J8{pMQ9@E&`~HjD*6CI-E>hn64!!#gJ3dt2wopR zV*14~$t|5a_*=gp-`#!pzY~NbNB%VkI8(Ug6Qt@u70H}>PR9rIf6`f|kh{a!uq^8d z*VGKdYHJtwCK*qs0}Ep{wTeZa&rA8nl#Iyu!+6EzL|r1v%?!3zfCdCWNx^&+PASqr z0R|69yG#l)2y_MtP_Q)gnIX8;b7ygf{1AODGX%z{<5FtV#i*MWU=MZ>?U-w`?V@R{ zlY#`ocD31iahvbve~_jGA`5*x@*M_k%;u!~mK>C6wB8TGY7>FbNeL1$`_7N&F)#AX z#-x)PwPccZ5bjtIM*e~r%k*6tMxEIC=#h)Rrn{9=y$m0uR=u}jLmJUsva002ovPDHLkV1gwv&;bAd diff --git a/graphics/pokemon/sinistea/icon.png b/graphics/pokemon/sinistea/icon.png index ce649453936de1b2f6dacb2cc3cb082d5f2fba76..0f5154685594c64f8284ec9ddff445a87e8a2b58 100644 GIT binary patch delta 137 zcmV;40CxY=0>T22bqBafL_t(IjggN}cW#6L!~ft=8&hNfhOfrKp`jm;1o)qZhQ3F3 z`;WeN@A{Di_&aBGAnO1ci{iOaKr!G)PcXk-P!kOQZa>rn!@mzL!SMT`CzvnqP!kNl rA9{lM4^A+%(GrX`MuOQ*#{>faX5Dl?i1-OG00000NkvXXu0mjf77jcq delta 154 zcmV;L0A>He0@DJJbs7hBNliru=LQE3I0Vmb8EXIl0Jcd)K~y-)k$g{e?)^ya2oAL| zMHXQAY8)II`T^N#PeViBBfI@a-@AAH$O8PGGdez?dJn~Oqkv+-kDg$DyPzf*{@s44 z35I_kT7u#CLr*YY-k~NKen0dC^B-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)t6JK~zY` z?bJVS+CUTla1Taeh0q~Y7fu;6(=Pz+Q4>L1D&e|Ps%~7?RJ!wH%+O*FNCc@F7&Dfs zLprf$V6eoJwOcnNrVN&fMBkn50}|PMfYuZ6et!Ra*!X`vx^nG3;8k}|0%s2};p{vU zIN)YCVIeRxh%JF7GCELyAiatWvIoaa>(g{VfP3z^-P8)eLFCc_&LDuB8IxK77SGz1 zDFKD_ZDW^?u%Ma>42nfSq=TG{19Z20FzLqU>M9QI+4fz{n;*%?I1Vn`Nil6E2^;9)RB4KdWjB6ZDzOx}bo0xt-zT>gQq* z1fdLr!zHNg0I==fSYZYXk065TBLJro^cjXh2<*`uecuJI?PHagzj{LZwW9O1BuF(P+$*vBg+dkNLS$ zE*?Fb4WhVO)D@m&T|vAcMN$faFI2@9_y&MAVo)OmQu5`hBj1hyB!H7LIdWPW$SDmO z<4J*Xv1~~Y#y>m&HEf^`9ES|Oq=o3j+i?LxjsWT$ci<&0M8JwCAZ2_LIeZY;;KmN9 pVFG+49e_q2oFe0G@{e7H@fYEescwk0HUt0w002ovPDHLkV1mb2I>Z0~ delta 701 zcmV;u0z&<&2BHR#B#}W-e*gz`Nliru=LQE3I0>=eW!3-y0)BO3W!4gZ> zZrzZWGFU1SeRsBxAC=)B$W55<$M5@n&*yU{^R#wXwtWD2(>+kYe?9;haDK5Du)*0M z!bHH>gIE$U#hwHTNO!S7X0V;KoQ4eooD19OraAxzkxd7%2LasJ)2Rty@_n;1BtRj3 z+L+Q7CREc0MbQLAI*^q*KzB2PLDzh?u5@tDH}7iR{Y-wwIyh{r#H6V=i;`Ur6p*{r zCDu){ z0<|pwEb9+COo8DRM4(*& z0*?xy!)Hv*e?75yT_L2Q0L)V5@MC$bq;gYFt2uFa;00000NkvXXu0mjfoGL%< diff --git a/graphics/pokemon/sirfetchd/icon.png b/graphics/pokemon/sirfetchd/icon.png index d0e95e80db24242b1751b418f606ce296557c2f7..eefa9a738c847477a7e80c2435d4a2eba1c227d4 100644 GIT binary patch delta 525 zcmV+o0`mQb1@;7xbbkTtNkl8nu5PnC0#Hc)g2&9hyE<{SsG3Z$M_b9SEsDJ$1ac-fxM*!zMho-xM zImt|B&mA^8ezU|WlQ0he|0&Di>+Bp`9UE)|e74yozo@S2bp+|#ZnyivOfeXXDe2qO z>*JnD(+t}{-WgNO@XTzQVeJ8^y;A#x3thD>Hp-~ji;N3d)V0Po6car0DYCEYkRlip z{+qH=8XQHc_J8?IDSg*cAHp!L8!VVKg{hRWU*GrX@$gJwbpdBbz@2uM*vZ~E;C_Y! zKJI6^^Z$Ba369HhO8~_Z$R$`KxCuihoa0@X%l7ZWkYk8IVJ>LG?R#OMyB6I>VQ!$> zMq$n$B2bv~#h?I!Fu7|i_6ZL;3S&HoGaVE6#S5d|rhkiFjNEx)zO$n0FCarw_QD^~OSH(GP$tz)Va2(UIRpDl&UHP+&{| P0000O{4mb`kyYO`Y00HVrL_t(I%axP8j-xOTfc*yZ z4yHE}-sYr}DbBQ{30*`U>Z)yady2b_YF6p1Bc6GP40K`#!O4hLT-!R*Kq z%6L|m(w89!qkoZ2;cZ#E6h;WM|Cr=l`Buc@n2s3Zcgf|+HB*~TgNkDqavtinbzdG& z&j>aXxEciJQfZ_Iy-dLTb_d+gXFc=(`d|&t`U?Qr8t^sP>JP%8!S`_yW}5yY3_80A zFU*7nKYc3=Og9k}6iT9P3&My4M9|i@K)6f5wrUtqNx_5w+o{&$HF7dy&KaN{EUQe1SCtEW#sQ_7%X>ov5fImYfQxqR{ Wp-_vLCiUI`0000qu delta 264 zcmV+j0r&p=0`dZoB#}W;e+P6)O+^Ri1_ur}6HL9FtN;K2)k#D_R7l6|l(7nfFcd{A zg0n68fxJTLC=J+IlOK`F%UqDSJNemtNgciE+QGBtaPx8>va-tpk{T52znA|lN@M35BIu{@{nFa^Q2+i^N9AG|mp-_t^iw33u O0000rhB)#b*p2KP8s{Hft!yU z6i0KX7%4YjmvWg*B8kE?<_cj&Pa>T27jo@*+{D;Kx2+Z?M3e-M^v3KbzXEl4ow4`x z7~sjQ)B8sVp^KV-w(LV(*dAZN_Rz1jAN}qhCq@M$DyV=FNi)<0WiYD)*92uS2-E~A o7*Rn5%p$P~Dq!L_m@D{r18i4Izg3bZ761SM07*qoM6N<$f=TI7IRF3v delta 201 zcmV;)05<=p0=5E>b$KVN8_CW6p}yxpJk5kzWyE3-tt5)IWiZY=&pd6=ESLfb0ED+&Y1F7+cb9 zZ-t47P@GTlVh&T-TpCuHag6gLx)-xdAD=PCA+zqoanB3e{z3%MoCDAJVdpxIhx zu$|whckdlfXR=8N}mC!wR?clU4Tlfs+$D}A%6vcW&lEI^)^si11jeE z1xr~#EfsPAnkk@`DW$g?2EesyMv}XfI=S_02~bsKUu8xuBbOi76xBtbi~wP-)q0$( z{qFwfu|e+x5=7r6B=NQiHGA?)9LF~0p3*rU`^J7)@{hm z@ed2gzfTKvB!95ST5b(~TCMS7ah>KlfYqK^E*nf1i|OlL+9H<#XLb13pwu#>XmP#H zS3u>sejGGUC~chr@NS)}0B}dq2(R;?`GQ)*D4IZ?PWga7m4uCe2L+-ix*Cj6S5xAB zL!xI_Yy=n<7@Wcw%PAnIv?D~%CbmI5h6P3ujPWkXHGj+-KIthE2(ZBD6o7Xk>EIdU z?>~@s54!YC;(JkahEps=dJ1Uum!G(&NWk#T=q1#M(i~RU4LHAabddnVXaM;{tcKKR zwb!qAc-x6Z-*Fmbcm{bS;9mWh0HUYpzt*{J#^GEL(~Mw&Gsv@B{q1ku6J|G@$G&Mo zfwLj>IDcB_`tKp{DdA-T3^AW1Gd`Lnz~6tt4Eme{U-eF z8b+gJ#Q5TH`OQdpJr3gF$Q+CWej(yGX3uBYgN;D_P!p<75eR&wout>)tK^Yp^B2_u<}lZx?_ym`k5K zOQ0?axuTWX(OWtLWPh$~$Q1?d`&(FK=4j5Q7)luRE)ME#j^Xl+2DVUaZ*?_DKjeJ2 z{b{-ntu^}gRzTmu=Ilym8=xh}BfRwtBkzM{$i5*oCFU&Eu_rE?fC-JCMcxo0odu@TD&W zRQegfotA_4kg*&U9Om(MKqaMuV*rp^4u3%f$vTFCEm$c);CV(_CVx;(fRZHv6>^r% zl~NP_7Yqjc!jKAMvBTWA3wu+UWm73JXc)}T?EqFTv!?2zqY#J>^N&Fl97fp#03}9S z=IAgh#V8#mKpFI*xrYh^@nkxkrT{k_=LCTh>OlXd0uFOMovthh0K$22jDQOQVSf(5 zVHTNOwRnYlHg6t-2f4I0IE_$pMwuR0{?IyZxz<3w+%vfZJR<>4=UC*VBpLq=c zLmCL==rD`*l=R8_Hn^6Z7>Im(FMm>pQBY&5piqXeeZS_*w?6<^10@4^eeP8Dg)|VU zFwyFfx9qXbJ-rf!(m+sQUW%9Lh|+U>ucrh-7$yc1jRw#|YLfu$;uA?+N?-^dN6)%m zN{$5NdiuN@`UDJQAa`1>hv6+xPf`)49(d eg8!R8`~%wfDR*iuo}2&x00{s|MNUMnLSTYFy`TN1?@_y;&Jv}f%MoCC@K==pnpM^Rv8@o_v!AvCP%yFco~&jm`K0I0P)fYL5NrB&6<1B8$bfaU-~Y4u~Ev;tJj*C#CH0kyP|1JKL> zwM;4fxL^QWt7fFROR2Lqe=P;7s;sNbsAa6>XEjB25hx=-m}|B6)<%C+Q#3}KtXcv< zWz0J9mHVU7Xn#4tBaVREWKFjT1u(|M{n7W6$@Ap^ysH4fnydw-+mM^1@8*zyn+?#B zz#(h7HTY?@M)UbimahS<_SkY+IG)cZ&;6`KE&u_|j>=K_F624ur5nwn# zcmZuJx`3S0ju5_0Y=d|V2N=fC#+x+PFmD9JS0vEK0frXtDGi%x*MG0@H*6E(cKKaFy%7 zMch}Ss}vYuK2CdlFinBK{)8U%83(`+n8!kX{lUw0yyQs zk@9-dPx_~3I28CoBuT=aOxNBU0J`V2O$cw-9)BdTFO$Syf3rm5eML{S)gPb51krU2N1VJP8A%fhG8bK!fxm&Zotv=@FFH=-GvU zzJHI!*_BQaprzZS-zgfxPFGhawW1Oi<@dJDK{SUiSFb z>F{K6JZqifjViwA9oM_bVN3o}4>tQ~7`N}ILiF(e4!_z`<#AOkdeCl@WOEATakc@D zKQwx`?>F~bww!;oeBJ%M`0~>ZU@CFDSAPiTvXpQ3?zn|@U-{2|)VrE5eJ-HVPXKmW z4%$P`a#V1by<$Kmr47dbAhR5T3X*pW152eO&M;Tw(jQu9E!PU=<(|tW;29}!P7f~da-R>^mVxuY)QDZF^QR~f zc(aajU6$!-gCGF0``AWYZMX7&_GOdn8ev-AX+yOI}8K?vBN+>QMNhE%0NI-#J^)8`o1)f z`ac#7XQyC*KX|(YL;8bomM4O7hd=1;JN&`v+~p7b|C>Mj4choAck`N>Hvj+t07*qo IM6N<$f{VSi1ONa4 diff --git a/graphics/pokemon/skarmory/back.png b/graphics/pokemon/skarmory/back.png index f1ac49cc39a42f970e3c1cfb62b792983aaf5236..558943da5aace153586f1d56d0c3765d75f20360 100644 GIT binary patch delta 423 zcmV;Y0a*Tp1ds%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0clA@K~zY` zt<+I!!!Qg0P!B`CtD5QGX%8^R;Q!K|peKk((btZ;E9@?_oVH`cwg#Ih+}g4-!Z?gAIPEpmq(ons8leQ-N}C+>mal1JbUkTb-% z%-sU{6m3vOY|mgPkA<`@Vv^0pr3vi1*;zEeW3#aV?DNyGq;>(6-NV!@fPsMPOJ&JR z9tg6*3J9`sBtOI&7*HA%gFtSs11S=~WwHfCYk}e%)d7_+i#(O(`x(Z30no-#fi&~g R9{>OV07*qoM6N;tV1jW7ySM-V delta 414 zcmV;P0b%}-1cd~UB#}W-e*gz`Nliru=LQE3I3^knSdRbz0cc4?K~zY`t<+I!!!Qg6 z;0%MGtC;ECX%EoE;P=v=peL|M(bJB)E9@?{leUA!mIj*%^g$oLWv5El{p&KIfqthY zcnxR~qZTp3VW)ups5Rjg0DBD#e{5pZnizl4#Pz6v_q_rDf{+mkf9QRan0*0o9ehJf zE6AiS%;4cEs;#~a@LJW=PW~HIFKk*Wj+yg~!ZyMlN<9*Md=}xhAny=48~kFPYhW$s z#WNvS_TWc70s?lNwq06!BoL(fRodqvx%IZz2sbxh=h6jo`+Zw*k(2nRjPi6cC9!TV zQ30nQgLn>6-hnj`e^>;!QwS^q7sM^{4tWX3u*@>Jog+)YUUCa8fO3Wq<|GE>QzW^? zb`NIqxRBOGOl5L$ZUVDTb`}lroNR0W^ZGQ*u^oVA_AoXBa3tXRP#N;24g}d?Z5qnN zQF#z+z+%~8F$m;R9h8s}TqavUv<58BQ613oWhuYP@cmqO6wt;|foDubI{*Lx07*qo IM6N<$f^WRHmjD0& diff --git a/graphics/pokemon/skarmory/icon.png b/graphics/pokemon/skarmory/icon.png index 0240634905cee573b73baf42e6822635e6eae021..4226ba3920fb1e8c03e826dce05fb2fff6c498fb 100644 GIT binary patch delta 308 zcmV-40n7fd1BwHXUw;7=NkljzoFwTpy;8Q$zeNPJcGhc56pDgtXhm{E#Fe^9_muaya`w@d2e2_#Gn1cTnAj@H6C$_t zSOnzvc`qulHXZ{@>KM@B-2d(MRzZ8~DJX$Sf)bc0$bo?!Ocdn6*aXH4a$qcqos<_8 zz!ZXp0HzT16)nIV1bHx}pa3Qdf}a;KmL^6e826*;jXoaTe6*D(S_S3+0000-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#zZWWOXb z0003KNklMar%6#qyViLa{u&;kFTEU?CfDogA_)m^Eh17|drH|7XXRezS(zrkJN0#b_fV&J?J zATOe#F?G~FFfhcX72B(UOKV8S7Au?U2<7g`7o!&4r3Wu zQe{BJ-v8}+sZ$_22})p+padoga$sNw69qXiHi7Yi92kpYC*=hNFqxnsfXM`X1~7#n s4<;8Bz#M|$`vk_)#7LAsnqKJR3Eh0Om0Kt1IsgCw07*qoM6N<$f*Hn;zW@LL diff --git a/graphics/pokemon/skiddo/anim_front.png b/graphics/pokemon/skiddo/anim_front.png index fb35b1d97dc72253ddc9d79c9764121f11993199..5705ded48b2a337e7ee5f71bd0c84fa2f6b72928 100644 GIT binary patch delta 957 zcmV;u148_?2#yGlUw;FcNkl4!35XbM3z-|P$;Ymc2Q{?Uo7+pwhlam^! zG5ExTR0e4Y#C?i@Aw`U&PTkExitBufQ>aK9%Z1u#^&q7kxp0-vpCPlW_(5_rDpMpL z4sp`_G&8sC-v947_wlQ8qPCR1h^?dFF3$G7kc*PuEk*UZ2_40Te^wBC6?GshGP=I zxK4%V3==2-PJdJA1K!~9NHTZQHcY1+Oxd1o?7(fc}D^M5MV18w?kPe~PqXA#_ z`Be@8m{l+?Jnp7C)1MVU0>d0sR$PuoI-h?w1q6&>L@ZZ5{jk6ed0tQC;9mlGn5!$L z(scat1oy>$5pY47IL)MFfJBW>RU@kzpdV8`vc_8_Y=0gBszkL>6LJ;(15pH=_P)G} zm}=p);~(j6FRl_TegXv9BJSeh>G$y3B{yC<-o+uKUgwZ(V9t)`N?DCuK|Q1aUU*LJ zRdwRH@sw;)(Vl}F7mwCbv%t~<6&hHs0B;>o(X-c>dqW@4;~V_z!~l3l#KyN9XXEw; z0dvOy$A8B+!r=fH&)l&sZtj>6eCj^#<4=oHxVl*HQ1Zi8YdiGA?Gj^itb4IGhH)sR zF!Wnk#&7Xmo;-PGIDXKlooI*88lc-<1C*nvi!V{WMn_^^9>|pqBDB5JGb+)Qhvo~V z?QOI;Xi%hm2UFT!?xI7{ALDb+6%T>X_A(Y&On*_mMIDkMq3z{QQZLa!OzL3uztE%n z=}0%X^!y9vAkB-~-kfadN5+EGv3#nEFT3W0$9je{EXI)JNmf`V3t%iRGdOwquCPqT z<80|Ax~McCFv8rNUt@<$NKa_M9h(U+a!5{S@ptq0)A&5p6!f<3{bCDulzvbu&-0oE2-&Eo*20WxxVIuo`s-+5Mwt?w zND9(jxFd1e$i(5nj;NA=BlfdH8~}ycrNzG-|0Cq9Jqys*xxMQiS!w6Q|M|?AgYz}o zZh_YpAjKUEFIVEvsDI^ucfhEBw^%>oYN0fcu4 f@IiXKzahQ@&x5_TaP;n*00000NkvXXu0mjf$_>)< delta 995 zcmV<9104L02($>0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#zdW76O& z000A*NklF>4!16vuawz-|OP$4NwzugLBf5ZaL1CMz{bBk+nqDuXlx;y%TJ z!NnO#ow|JsS8V4Ul0rq&ST58?ql1)o>i+QVt@vMp+J}l*6t(WPvUMv6LPM97}nsKlO(k;NS#WFXJ~e4(MWmZ(8dG z2fUQ0s|D8Zcz-}IW?El!fO{qM;_E|;(f)Y>nE3~~iNFn(*iXh&62Q1ih3AYDC;(1V z=oQX*qdc8xwFnLcfh={5Id^*|Qgh;|G1- zjShFNEcF@<#Hy4${1+?akSN z{>503I+jmW@nhHg>8W1e467+5d6E@3$^aOvn+z`A{&r4$X0gQ@T~wNn7-4QM@36xS zq<nw4^_>EA zDCliFyN$i&IW{a7>147MV2^eBm@f-XAaON7obwoeWbYJ z0EKh3yO13_oLzR{9lJ_KLbGn9xyl@%67$*lAvQU{Ec(je;P?4{`~e94=>OAQ_^9?U zY#t1S0a3zj8XoBY-|1fwJLt}70F{k|eZNfu$I8RR$G1KjfoDs=K|?l@ zBLKi7{@@_d{UWx1**0-)Z^(|K`vid0_9%WD^4IHU8ryMdyVS)4>DM5aCa`EqX#^So zBAUWG0O^bTbbkY^l2?hXSM){g3k`UMb9b%jO-tcYn#PSo>uoje10&fUl{IL+!Gi_> z5z(t;CkB8lJDM delta 603 zcmV-h0;K)11;hoAbbkN`bV*G`2j>O{4mdRFw<*T}00JjTL_t(Y$L*C*ZmK{W$H%k_ zmJF1{=)y3(1GI1fn@IO0OydD6=V*7x&Yi=K9nQ{OlQA)GU6OZ|cYr3o-wcS($N}D> z-=KqhKfk}4h|rJzKix%->Wrf9#!wUzWjuue2_n;kix3h9Hh&t0Bp^UM%2a)(FoJjh zh%Z3^2!TR`*gYUk`3jKJ0rG)=>F*2>H@pCWeQCla5q72FlO71%>k+Yw?%WPg*+}Hx z3@U+0d6)$F)<+}o90|B+$VPGn0Qe*rTqL@m$IdUuA)ez8*^9+}0zm5c6h965S@uk0 zCr%xYdUzmx27mHs0vAmwU4RCF1x?`{fb>Ovx&c7yuf@R98ATc3}dExvbnfhblDHD_HL%=FyKX z7K8twhp)F5tCnS3=DESx@X?wTY_nvlN^)wN=6D0_*nf7ya#?)#bpYb84sZa|g+#l}ugI=hMCT zHUQND-!a}MIEmw-*=s`-rF2z-3X7@O3!wvf=YonF3lp&3C;VFYb1KB?dWa1Kf>F1A z&5M~3*HmBTx-7ZMF+S(0XBuF!vI{PH0_#)OT@zIgRoW1ff^}OOpBv%Y4{F>lTBaUX pt)FW^u~VyTi?@FM@$=uL>mMu~Nf>oRtWE#`002ovPDHLkV1jIA7f1jA diff --git a/graphics/pokemon/skiddo/icon.png b/graphics/pokemon/skiddo/icon.png index 9d5c8800dba61bc4623287b3f202e175e88d5ad2..645f8ec216c5a652dabb6b36d3bff0977822e276 100644 GIT binary patch delta 269 zcmV+o0rLKg1LOjbV1MsPL_t(IjqQ@5aswd{hIxY>QgtSn>U1WknyWcYpDlB0&E?TL zOfVP%Nz93|!4#I$Rh_Qu2PgT0DJ>w*Orq%gH3 zDz=p#)k$;frc`x1I?I;>0BM`Ajx9{oA@I^g1w=}^E+ z0d@L{^L#X{CEO{4mdfN232|h z008evL_t(I%k7e}jshVNhIxYtUbT%h)?OmjHEXjq_iSdXY1T)(5NT)-)Mkrgq;VNc z?5r*~<(C;?em)`oSV4RONeOBgNRo;JvQ|Yl2N>*G-0BoeIDa99p|;G382njqaOe^1 z2;!ICcswqk8?QU(kroj2sW*72hhDXIrjwubA+$ACB?jCO6v0ouH-AfNcK(f*HUTQ= zDH0O@^)d{Q5!y(TN-}aC^16hcs}A!N){&SFvqyi-tqwSOWI7b^Q2b^R1(5}iUw;A|Nklc#H5JlIjwhU#cmq!Xff|b0^1>)oYcA^WU z&=uUc5Ll6Br%EdxAP|v?6@@v0fgCC`D=MP6yG)V7Fu-33g68w@3`J?45Q7H2sjh;OlY>lZWetJ7T0h1%Kn!(~rr$x^>lMqV666 zRx7yq_UNdmnVv1?%K%{cJ(xP`rPiA{WlSDEx{i?LUK__usoR;d$H*vvRKbl>;|=Jv zYlx^?=(5~z0QkM-i0QMeB<*#hj$?GtTm9T}6u7>0gjnm}RR8&UGSv2c(A31QSL%g? zSXqMnZ- z5NRhKocUpsJGXO-AF3D~&rFn``Jr;u84s8rYCk`qQSRdh0U`4PX4+@q#cdLZ57usj z;fIv2NQi5QY^`94iOjld}uR(Bv?Efuwzar1cAA@GE5LU}%!U&68<8 zKwzPhCK~qy0s2rq(snG1M`bJ!=pPKj_v;srvUpz<_3HIsb$=0emf_-3e(CVU67J<4 zc|!40exJ<8at5Ir#6RXk7(HCh_=ti077rKCPosNz!_`G5Zyx~`3%LII$kg*fk7tv4 z3^4x{UorJc>(zuZMh{=PTZn3_ontKJ%~<+v6cj+J;abY!3UuB!OsQJxs@kpq?03(R z(r-mY+UkQ^j(@>Uul4VSqr~O8BSEA8QvLPqXfXahXj;UdH(Cn`vGy7%kGC&ufNz-U z+-1{t*gATw11906YT^Mi@-}v;Zz{dVgWMY!13L~kG~5r< zdEIsp9_;xc=tx`q;Em3KI_C%U=9W0)hmx6F@BFZK0lwkH4^z$J!HFMMik;34eyCFf z4i8TJP*MYr2bLd9m>+Y#PS0cS_Nmf*e4JlEIatY5CNs;BYvpEbU^$-pIO-8 n!m}_xDD%PFFP8lY_?h(&)KF!0+flK!00000NkvXXu0mjf_(By3 diff --git a/graphics/pokemon/skiploom/back.png b/graphics/pokemon/skiploom/back.png index 6729470f2c42a94f94e0be2551e2d99a713f4d2d..f1fb2f68f48d54d1b62d22a0a2c51e5488ecf1a7 100644 GIT binary patch delta 622 zcmV-!0+IdD1=aKdIq*f2-U-P?gviojC?ZJjLWEjWqb zOC+d`Od2wD%`^0piY4o>9San_g8=b-yyx(eeD&plt{c|L17gt*FApTt)l?SQdi69{s2xPK#r zc-$M0k1y(gGsX;a{uY4?ZZZUQz?qy`V09@z4|8))r~&S6VmiQoa)HrM49i>yApd zrG@O$l~Q&XZW*C})giSZoIVG$(RxhEjIENzK{vDk#0}ti7Dt_1fSbjgEjHDKZaZ6) zckZOB-l7PVmB6$)OBvT39DFfxgTTXYjvVmsU~j?nJE63CbyKCYX^}0v&Cp+I@A%OY zKh-ixl)1AwP35sWIo!Cf6C+97j3&}+0%n)eG`9Ed(}qq-zGcNj@?3j&28NJ4rDuK+yKLl|qPb;4$vSbDz&$mS3FUnoL;0dU;a8@Qp)C;$Ke07*qo IM6N<$f)1V@EdT%j delta 618 zcmV-w0+s#N1<(bMB#}W-e*gz`Nliru=LQE3IR-d;Nd^D_0y9ZOK~zY`?Ug-m+b|G@ zWldTF)J=^}1_b7#HUxAi1$4^b>WoevY?!0w?(M)SMWCsHwoVrGFF1+dpGZ&}nKWeR zn%~eP8B5lOGZ#e<@F3p9d*34uwB!7be>hIcyQ8@hb0-h{`WP|hfBfq1;T!#U-Jc(D zO6ih@0CYI+15Rle!Xk#D*dhcF@ve`z6v{2IEi%YO9biByz-+`~7K4tf zt^-`1FWHjCYYi+q0J;apo}Pa1*rF`USw|tlRkr%Vzq5D?ln&cKSfaxHJI?vzPHTLA z)dbuzdYH5K2wX7je<5rF?&Qn>t4scMSn58Z0eH8Wt^mu?id-->i5<7{xxh==tj z>-8G$;gjFUE2YjtI7JaWr#T+vo9X7J0!&_s^I53R!kl#YAZN|0Z$2cjUW z2~X+*DgKBy3PW^Al#)nTK&P;P4ss6gS`iYMuPn1A%$Hq4e;K0ckeeDvRZrxbN<#GI zrIh9{yvjnSLT*gB#}xENqcN#Gc0$-j6Vd|G7Vvx)2bDX3SERiqlKMh7y(OwUcXQb+ zVNDekFl~1#(uRVI6OpzEY(6UzEpl=>VsT~ER*`q z(mWT3>dyYgU;~xul)%j>BK$U>cS%K3bMFCZ<((ge9VFi~{gck?;!Vt42|HfJP2Usd z1{EOsUqK{%3;0LgQJ2{9N?v@ay;S%wzvYSl7yiNg0dU;a8%i$jc>n+a07*qoM6N<$ Eg53}!ZU6uP diff --git a/graphics/pokemon/skiploom/icon.png b/graphics/pokemon/skiploom/icon.png index 8d6bb8bf360d3fd3afaaca4c18684152329f2683..21189bed8a1e8288c4d5ba4c76a5fe1adfe25814 100644 GIT binary patch delta 280 zcmV+z0q6dd1MdQmV1N2aL_t(IjqQ>>a>6hWg>?gshl*ox2XKiSL}y(ry?^ zy@o4MIIW?;WK6+}CK&xtaDYtSxbbK0$}4?J{kdrJoV<6yE+!p5huB36P!2{V{1Q!z zEJNkNRc;oj4l00x02x}WWJOMvq3O4XF>?t`#U&TndXUS9On)NKUfk!6d!99#vs}!V z)Zyo8j9D~AGz{x0FEP-DN+$Ve{jNK2T+jqiXFhUT9M44rw#@%%X z3+qc9C}^ug*yj2xOgr;L_rgfj0000P! delta 317 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 JPDHLkV1hvP1lRxo delta 560 zcmV-00?+-U1(pSnB#}W-e*gz`Nliru=LQE3ITj_%Sz-VH0r^QpK~zY`?Uk`^+b|G@ zPXM(m^_apHwmz6R0%>k)N(=$u33G56l9|DCjmFXs+XZryV9}P7IN}O5% zh!c&Uk=BT50UsE*EoOmxJ{RGpc0N!saIw*05lC6!zTqhA0uv*!X9vBFgabM+%d9>- z%bCkVlfZZtr_K;SUEZw+;IIrJ{`fSe`7c1c1#A}p5diDIe*@3kF^fr8LAb`#RxJRY z#M3P-0G`B)E0SSWHwKQ-uQlYK%tW->tHR6&K=0!J7qSQl-W z(@bLL=1ey`1O(lngM#4Z&s-Km+TKQnCUm5e*-?Z5MAGhj_9Er40l1xg6jzcfhsGyj y4hVU}KXOIHCL#cObCnRq5}*07rFuvIHh%z+?OglF#ENYI0000f=;l6LbCSO4MRc@aPGeRF8y;KW4~2y(nB>NP*!8mp&8Hhpd$ji!ZC1_G6C#S zyAGud5x5|hs8yQB%(>QX>S!BE0#iN10nE?2$2?> zp=U4?^Rr?RST|=G19s(HW-+iQzA!NWSC4x3`icKs-xP*`7sio6UKmTj3qvD87y@3H wVY|IBZbi%U!bBJAg^AztmN07K2mip22W`@xb-nk!NB{r;07*qoM6N<$g8Z;*yZ`_I delta 279 zcmV+y0qFkD0`3BkV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mlfJeI?%j z007ZRL_t(I%iWTp4#F@HhWiFpyisRCood270-gs1(^RaQUa~z4VrC@E2|B?NiWn_j z4Iu;p=lZ38dUyR8`>k@xnb!&7RXqg*(lj@MArQVR9pkRnS;# zJ;)FZ9t!0nH;IVH?KJ?~AjqnSKn7iAsMq0HSOOU06dJPtvfNNK%M9kNj)z-!t%?D= z2%+*A*ppb$WFfAh7fbx-`lc`}5ynv>jHN`F5b?qU@DS$tyQ45}MTsy`W1}$aU14YEvtSzJbNA(y-Fe!`d)S;+v5DvNz z@9y1ueD@RL(f;FBYy1a(9s9X4-8DiDBQ+W*%YWrK5R&8_P1 z2P)=2k0k+EB_Vje^K(=VWD0`taC=w{JR7PqV6Xk0GbnXhRzm0CGrxBoRVsuurFgvC z6+-Ff41lV4C>v?;@TtvP9LE*NNEV@72SjdMy^x44I1?dZk$Zhi(Jt>R!4WPY+IQtVKB|jHEsV5eV;Pg{+Qi5 z88FD5hO;-O>nz8UOMNc`{-6-@62c-6U6}6n5rsL(e=))!I40wYr>*kvi#FLc_(eTD^c+{Ni*DWlEKy`P9-2+U{f78jN!KjX4;f+eJt)-=hL>p=S*{O{4mlv|cFg+#00XE=L_t(o!|j&OYui{5fK{Z6 z=_PjArajsr(4(8DNb$CZ>}rr}^_CLwHRv(gki9H28kU@jx6A9z5aA+U<4bf3?2;Vf zTaV5k)lr*JNwL)9vfy_x1OCvPH}A)MnzkPQ^YN(pBcLN{|9>~2wcV}!x2YMf{H61* z^6PEQMLenoS{p_XVe4>Q3mkn=Re*lbo+AFH)J7HXVaR}^#+9qsQy&39RIgHh_M8DQ z_p1pJ0}OBk)rD-tgK0oi{S8gGkN|4{10|rJFYkr{`OuJD?fg3Q_9j6-v=Ead|IJ_9 z_c`f1TO8`W#D7ck#O}6D;a&J53uExo`Q&?2{?I-hWzmi13>jzuqzQZn^iTzhE6(ci zl0%!Q2av!Zmm~>d0O0LX4+K%v6O2r9IrJ%7EKQ`v65N0yKOqc;`hTUZa8AAg*F?V1^cYcwrQ1L^ z4BYSvc#~$S$wcX{ZBjP=X!0&L25D-^;uMb#w%k!)LaX!CNg9x(=cN>M1=0m~XL~p{ z(PhOQrssK+2S=6jLaD~)g_k(-d_H-25VOpM3DX!wqj+5IOCf~d z8-YF^uYW$u=)inFhiPQ}xe_o#^Q`BAuzBxSUOan$nrMRS+z;hSK<_rbWo|o8{S&8m z*L`3;)}x|@Z~OpgZPni&sOkUQmNdXRh2Z|q&rvmy83f_c_OKp!HdIx>Zs$4Apw#=y z{(tz9-@83kDMGqZ+}@oUQF@sHQ1=dHEe$5Mg@26W80uZjMXDuStTzlUbyRN{5{icL zU}WvJ_B`m;@mcLE8p$jvC?xC`!-NGRSE-#QjrI#+oXpaTT+-ZDM|V~3*jXrGFw6Bd z{oozlbs7C&%wdB}802=t-5t|)Hpk;jV>bgnQ3!cOvG@KyU1oJzT-tjKgmIsGNiIn{ zw0{{e02Y^4$d2Qq>=){25S`rq;|8a<{{j+m=R`Rw84CMF6tQ4rhJrm-xqi1;`jgMg zfPQ~{ok@=W^EnfRz0_Tw1&A#vV9D{#S$dA8<6>Cf09F*yiwEo|<=eEG`3q|dp_j&7 z#*6ZOZGTl5YCgqzdd5w@4E)qF1Bm!hXjn`0LiRjwP`++|xgf#s94c{ap_3#J3`JQI zSX N002ovPDHLkV1g&=>T>`9 diff --git a/graphics/pokemon/skorupi/back.png b/graphics/pokemon/skorupi/back.png index 6ea6e82e8849dfe53d40015bb6542435df7c0399..7e0d17f89b2a47589c10422d996f1b32c8168936 100644 GIT binary patch delta 642 zcmV-|0)7461?mNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z*keK~zY` z?US)?+dvG4WeCWUCHB-=S<+1@1vPdv^#~RAWAqFPMn@Yu6rEBp8Vgv9=4!E~?#b3M z8u~~j@1)v@WqWQ>4wCNpi9C}3dH?ONvcd3-e{_8s7zN?!0Ku66{yE_8>$Qi7r+}a! zqT|GE{yJfRe(`bo&yYud;wR1ZT=fF4Vhb$34UW_c4xsQ@LwvOU`7pQ%z2Q|KU=N8w zupSKig7_!|z7KBJqu!=5AeQHOOdsF;PxFeUnWQ%e1sg_V#t+-g7%#pIe|KjQ4;p zly<$Y0VWkfvIjVSosx3Xs@bY(2+0o6yCZnsL;x&84?1~vAzT0pRHc%u6YWCqrwY3a zRau}~@zPHgW$Ci}0Ifd#lHDSQWjp%uF8iLOSRf2+I2%smKiNA%rpe<7{R&`Kv3Ar; z^ZikF+MUj$vHi(C}M}S0QJ*g{1uE^_M$$%8iwo25wIZWY;A7=Gd zNtsHuQ{1x%HE{ky(U@!CGC#iz0n+a+au=gmbY%|CDL^5bSj40uHL3?FIXVO1SthRU c|BQLwZ_r>dII4szFUZB#}W-e*gz`Nliru=LQE3IVGALICKC20zgSbK~zY`?UTK4(@+q= z9a-wqrOCwXE@g8$%QT@A?_`wx8NBGMh%u3$5L3zG5h-3g<0YQh+l{dv_>;JM&n8jh zBr}K`{66mI`+lDHU;ZW;4A1CC*QbF|5S}&=oH5{^1Ma?Fdx&@ne+UX9I!@f?uM-C7 z7l+dyLmr8qH0N{G3%rUgu=qAOk}o)b!ea&T(dy^J;3o8jSABpD5`$np81@Ddxb{3Ysu$N~!98e^8tV+)Wm9pL~Jy~&;$ z{`sEET{dnhnZ=`rY7}!WO)A*0~j*xD0IYYk!m{mMG>gDubNIw#QsIC?J zgM-&0ty@u~Z6u!!;^FHNAkkP)>I#uF@_IZVMYFAv>D(N;@I?=^daEQ&rP?m;NrW2M zf1zm1IdGbvUzz}^_ZGQ|Q7m(14&oG`keOJ-q#-q`2PoM(1K)W}T;2a6`3=xuF*pFa RH!T1F002ovPDHLkV1lc$DB=JB diff --git a/graphics/pokemon/skorupi/icon.png b/graphics/pokemon/skorupi/icon.png index a37c3fe542049024e6b3325133e4be047275247b..5b35d4e0ac7d0e84059fd3bd012c04aa2d1885d4 100644 GIT binary patch delta 284 zcmV+%0ptFb1M>oqV1NEeL_t(Ijn$K}Y6Kw=K>dR$@(I`HNNle2_r}JBR0?7DcM=Hr z5!>uFIXN4J#mRxXw+bmjn#4wZ4&#jbma)G-T(<|opaEVm-vs$*ni~L*BX85h7tv;o zV|Ndnhq9u4k`VKPFrS1n1J|n~M-WxX5%p@Nv|gC0B*Qi0tAACeXi5mJ?`SPzoVE(y zSr`>I0Fii9`f~5(Mkc-NdjoQT+Flv-kNl4Z z^x!5(YXf&6T5wFQ4%hSC0x$>HflGHy(lsIr155o-MHr|8{YsehV_{S$jM6({h&btG iCrtLE{~5mV;}r`<+`9csif}Oi0000O{4mm0cqb214 z008+(L_t(I%iWT(Zp0uAK=TJ4`U$u9)Uw>h@0o>2oj|IR-)W^vd_&ki$_&cQks|}yQiI$aj0uzWeJO@B;cKub@?{Ip?-&9i_1g{J%tuP?=Xwu#@Ftix z;|89vI~=LQc59Sz(B7sE0I?$LF85w;q<7=KH{h7Ke$&|en*lYr$suh}5wrxyEOoe^ z2MNF*Vg)YMF*w;pAqH<#002ovPDHLkV1jOIjsgGx diff --git a/graphics/pokemon/skrelp/anim_front.png b/graphics/pokemon/skrelp/anim_front.png index 51a58bba4d66ea738ddd80f489d2458ec37cb378..c5b29d0cb43eb8803db6e1e2f1306084cd4c5110 100644 GIT binary patch delta 641 zcmV-{0)GAP1?mNmbbkV1Nkl2oD&7qw9OO1Kw2Px{Ac|BL|Gt%JYJwy4#=te0DtnTnDezJW@rm2HBZ)f z`Ut#ji2L0Lz^sV^TqG?}5Cx=7x=RRw0m%^%N=?uqYFi$X@EhY}IA9``N*KrH!HaeZ zY6UPl(Zr1)S264<3fM8k#TFhD2RPg=b_~j3~<&1_Rr|SR4n~^Fx)MB^kDhhdJvpC?XP-}m*W$l(}T?F!6oup?DQZg zuR#wmpnB7TAiD-V$TwHyksYL<2f6o12R)ej{lQ3L!;dlAH+?|QS0{Sv0pRQZhk#EH zSkv_Bf%5Btef1kZ;Pik7-c6kzc>Dqs#_EBm28XVy@b+y(LeqpkptgWVFj!sq1%r{2 b_P@t>%1y@Gr&cg<00000NkvXXu0mjf6W}zF delta 646 zcmV;10(t%F1@8rrbbkN`bV*G`2j>O{4mmCj&f)w300L4;L_t(o!|j&6Zrd;rfJp)N zqD2H@A@$@60yHax^#F!~4p~?PbnSGhE0|BBizC2LdVe5-_)WNfsyvWGJe;6W zEl^#->e5w)}seSJ;C%K_j+(1 zxE7Ck5P#K|pa&t~s0UGg33^a$E;N3zf*us)kq&w=rTxLliUinrZ~K6rTPJ?%0pRxk zLx9o)W^JDyC|VEvr*CPX)dL*3nznjC_ys78*8?I4hpL)~%lG9N(4YV%HBA5r!C*~A g3kE|a?SF4S0m@Cr+mq)k3jhEB07*qoM6N<$g2v=9&j0`b diff --git a/graphics/pokemon/skrelp/back.png b/graphics/pokemon/skrelp/back.png index b94aa591650fe7fe51e07e518b104bc313e08116..54315f57c4ec5ee73f15dad756a60b72a5a057af 100644 GIT binary patch delta 514 zcmV+d0{#8q1nUHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mMl}K~zY` z&6K@r!!Q(u<$^L>7@Lm8ly)|vet=Tw>JV&FvP78NxebNP9Ri}A`x5TbB~xCmSF+_e zk);fU(hDJh`{kT_^hf@@0yqNz5BVpKOemm)Z%&4QS7HWZ z5*O*S`B{OM5X&Rr`r*ERBZ8y_viwNkar3%v2^B(nL_>*-4c593p@A$r1vY6PLV4t3 z=yBTkA{iY*tyM~B1$}YOh+VX-z$kE7 z+CUIzCTGqVJ3Tl7i|%q`k#Not8ukUlEl37^tYKDG^LPr~m?F}D{TzyeKK8?)G5{_F z$FK4r0A-1Ceb6a>;&Nf<=z!H*iGNr$dkg4N&ZT_%+&0ZuVJ%fV!ljhkxqNS=1++(Q zB~2CMLog4(x)HF-h1}UOXkr|;xOd++K;mSj1wIPmsJQJfh_m)*`h-fk^YsxJ9d2k* zc>84jTOeS}58zT=GGBk9_S5x0ufxYP0P@fcOfhu>CDzQ9zeKDvmr0Nza+gVfB;l$Pe+Y0&OwlB9ku3I2 zCs5R#n6QEh{h5ZD~jdNgaXp^7+57k6P-sU#vXSAG1UN% z!V`(*^&TLPgH97gyoBBaj71PZF3GI`CYZ5^?yM3oC~*kR!8EC&M6JMaZrH~-)qQ3F zaJ)D^ME9AtV4QP;f5v$MGy*otQ;d6sn#U8|l_?^X&oJNXQ$F-d4bVYw`YJ}(p(sdh zXmmoKxTs7^ucCP?=m%B1HLoP%Ov>lab=!XBrlltDD=F7A`QFMCpkKL0>d4JSfCGSC z2^2*oH->pJ?XafVeH$hkvqlMg z8=#{E=R4TV)AopU4^KaDi+e5RN&tmfqU2oP-P{Ir%Wek(>@Jf6!1mIU2|B6_hUcNN v{#hWp`cx8U0dyQh=OJ8u4wu&s{MYyaWC_|x<`-L$00000NkvXXu0mjf{2k|c diff --git a/graphics/pokemon/skrelp/icon.png b/graphics/pokemon/skrelp/icon.png index 9b6f1276df023d0896f57bbc611f809338e7d290..4c627eb7c993e3647556630273f4508a711e914c 100644 GIT binary patch delta 279 zcmV+y0qFje1MUKlV1M~ZL_t(Ijop$lPQ^eBME3?h-L|2^4btwtevy&_B+}7j1-Ebk zQL;^3{2#@*LSrgQgu5M$z4qv(^!Lj;zNk~aLqY2ff_36@pTAp(t1@o}{=&lWPUONG z6t^%}6!y8S_G5_Ge&06@ydTp%D~DO_=aN-2VhTO61m z)Un_i_HY?r(a`3PsEYY)fRt!{V>c9jV9GIAo7K?m% dB){h43l~hL1`t}Xa3TNz002ovPDHLkV1f`_goOYA delta 317 zcmV-D0mA<70+a)gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4mmja8dR+S z008$%L_t(I%iWT(Zo@DPMEwW+I<4+hE(N6j%HXj>3)EW|3(a3}NDNzxIV6TzPQ`I4 zIu_BU!-?V@Uf2EqV-0WAC_SN|Wdp$)aehuePl$^$uLl0i!hePnU08zR7UqHi-(-a~ zNZ(E~8ut1zRNV8J_Bu5fN=9}aON@4ZZ6T=jvf{Uv_OFCPcv(tH@aPa}Ti2Rk9XXYDpD%sVt_(9OyM04W=DhJuJCbHNEJISVRoabSW_hKy_2%W3#TL!B=3 z8Mm6pT1RSuhBo6}TL@$KvSJuYy&w)|TLebcfeAD?FtH!a7Wwc>{>;ZW7fhxG598kH P00000NkvXXu0mjfTOx)h diff --git a/graphics/pokemon/skuntank/anim_front.png b/graphics/pokemon/skuntank/anim_front.png index e90c1db949922db59895f7f769b847fd83a4de00..52caa25adc046ff6fe4d18dd52e746d1f0dded3a 100644 GIT binary patch delta 1249 zcmV<71Rne23d{hfeNEPCWvd*dG&$4OV>w$eUTk?Z&IdvD&1{l13rHd$}~4gP~S0H))Y7jZn= z7QW|rc+rpJ)0)&R+&7PXbdOJ+lH3HW0|0o)m~-rH2|!Hi)H66k^DedoAS`4aG0|^@ zZX9<2%1q{m%8x&Tf6h8W&txirtFk!G$!HT`u1ZjvOAp!vfynOK&rY2W=;5dZgsf!_ z*ooHpKmo&f?H|O<<<5y#0xW_JC1a_amPmYU@QV#V&WE!0LlCV5u7ER{YJMQJ3ZR8U zCM#Fiiy{}v5&@A&DYOFHN2!XT{YQ)rLk%B)++YzEq3A9IwCo^7Wt1 zv5p|Xoe=500>=0Qi}?GGWs3ltsD=;t1*6c1zt(_3e|R{!1;BRIW>}nxG~di5C+ zB2)mSpGV@ee|ZZS!wYk(01wUtxA^=2SUOw7AHun(rH-SEM%EzvYEZG5|9|5t%aLY}=xH=l? zz^nuGf6JO9nZd*P?4bixb_qurJ_!$x-5jM6dH>!%?oFr48kig%?ebN{e!BDFDg=4j z|IXef>u(vnrP0zoc0SzU$NS)RP$z7$o&)!9U}7@9&AV?LKmawq`4)i!0)&9>Ao%Uz z>~M>Q3HN))KEXF%$%F1XLJ$v1Kd6}jGG-$Pe=&X2Bib~e`rt+Y)P<)_j8liwxD5nl z^4d@yTsXNHUvgX9#nvuwc23PLiDgd zn*yT=QB*)9A4)e&_p%dvGlTc=##&&M2xx?l5LhKf&@*e`-YVxho5GDbCMnXF08j;h zf5?zH2O=QO@NYgcifpk&1!9}{;8aZ#3S$=4N{0GDt}-7K2(|4DGni^8DX0S(VrEe>+1*9*~LMK2IHaV5@n%K6M>=5S1C8*8*dV zKe{|1CE(Tqqbm=h@;(ZT?eajqw*ZLAumqGm;MeOxEKl delta 1272 zcmVL2u(k6o4IRBIVer9g%h*f4Ej}NEPCWvBSESy; z1M}F&?(wNplAC~a2mlWmbB?_&0f=dxdIo3Myo)UX2n(4I0C!v>8AOhfG$jp2(;PoJqNX zxHS=QlL-VeDLGGTq8g+J0A)f-`fSeRe?3J630RZbvtDil*2EU~t4vdh#2LU6r%{N7 z5zvW9EgtGb28@)8qL66;fDl>0ys+LXoQPywz_i$pd<{B)bD5cv$28rdJo7Y%>~e?Jez z11uvKFY&z4OS#bYi4Dx~*Fi28MJ|#h0wR%8Xa^>Stet)-2R9YKIQA<}yV zjPU~&@#k;L1_5oN5(s;o;yG0NYiYVR0(bj3@f*)n!PCPyv*F8i`N- z<_%yBFU+k1JUA2F;_v=tHQwM`#_qbY0yu;S=uObLYr0}Oyu+7>G5<@OCWQNq5e&>M z{32p==I6prHZPeT^ut4vp3OakTQ^x3GUa2|MV9OUupa@j#Bj^jMRs*Gf6{?j3+R?} zj${Tu&S#Ii?(|DI%5Wt-J}q|uMBcx1fP3Tb0wzaC{@%KA^)cTM5aJte+yA9?w-ny0 z{FdEg=lvc1_#C>O0P7eLEgvvFvmqE8dH{gOHUy)g2Nj@dtyY+{5FO0VreM?|iVCRpq3nk0US^^< zGk6CdtOcV)z!5$`;2|-Bj=2Kvt+KAODLk0tAVvBT0IC3x42g9he*)qR|K=m3$QDa9 z5ZlBbPE{qLP-f9qGV}-ekojOB)V4Dm!Bjg*!471M|BG}X^9o4Q+I}dt#7Yky@K(LB z0%41co3&qnP}F*WC4vTUg9o}!(pnF&ED%buVCwonYduhf=X!#5ThB7B^+3HuI6~t% zto5L*T*PjU(9#1kf3chAsigleK~zY` zy_L;w+CUJ;jbz`u^0FZHDXfK@y<%}ld%+6s-NIdSjpTYc76}oappVk$>+GlP0QIHn zNKOp%+nN7-Y!duCi?$=c>j)6hbR@tCFp24QBttTmVL1jY^zUg=Z0~2#z@&&N{RFAr0n%EjRJy?xrUlAo;5%OB(GUyQs17j4uX3ZaxSON^>=m5fW%Jx{DfeBY zJW#9i4QH4mE?a2N)~hr*wBKgSWI3Jk4saQMxDWUuD)gKV09C`|BpvYe_lBEk0#K5+HEZkr^Gn_MVUhhz2&Q)}=@rrVDv2NtpstoLLdsPA zSt0Nt7GTH#3k$sbs$11cMpRG>=#97ieBq+fD@ByY199wsa=_HNxjABQ0JRoL(uqJw z4=c(A5KjQ8KEx2ghyWa$m0{rALlI)HjzR?N0DF0`a%$7DX@ZH-V0SJ=E9)1T>k#t- zG=M#DLM4pF0`B&PrN|smk^>R|R63Bme3_^&2H3y@P0z&ldo(3T^IgyhWp`&wUI*=Mb^sO{6Hidi79AMr?{!{)Z3xYog5CEeyx&0*o0000< KMNUMnLSTZZmrZ#9 delta 712 zcmV;(0yq7?2CW8=B#}W-e*gz`Nliru=LQE3ItCL~8pQwr0+2~WK~zY`&6LfK+At8u zgOuEB#TcYMMP%4>EKHVdFGNdvk4PP^E2S~VA|aM1=%e)cI{r+uKy&G#BLx!Xmzn>3 zm>~FP7Hvm>*AXD1=}3SPU=q{qNQPuA!*UE*=7(~GZ*bT5sAv>b$gdz-C=uIa8SWy&X zl%N&Wwk$p_0!tKt8~{-U6-*;|IiB_b+LIE}MTnF!gknm2Nbv#4;iA-1%U9o&Fiv); zXGFd!WVz$E7^t83fBdyivc@%n_F@ zv}fy8njG41vt_cJPI(8o3_sihzK9AvrvpIMu=XuG1CTYTe-mLPGo!St>ry&@W4B@x5{)YbAuNSUg?6#@^j0JGb=u)xc& zx>c=YL!cP>OL2V|~8%nQ%}_P`01Fcu5A(;Jo| zb3jQBNB~gjK<@BmqPiGh0~a(s6W{Y8AkK!UY@jM-K65npBChb;dD8=U8ieFTPF{qL u&XwsvY5>u<(%je-?mlyXxl4op!~OsW5CEeZksnI{0000#o1qLq;OXk;vd$@?2>`&K3ZDP~ delta 75 zcmey)G@p4wya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c@DX#hv>+t%8Apk;&7= cF~s8Z!gNM~f4j^Sfr=PBUHx3vIVCg!0Ms%Q)c^nh diff --git a/graphics/pokemon/skwovet/back.png b/graphics/pokemon/skwovet/back.png index 5255f89efa9e6b9c05d454619872440c55cf28bc..255068d20479d6c3545248c02d41e4a8daa7682f 100644 GIT binary patch delta 555 zcmV+`0@VG71(OAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qjXcK~zY` z-IPI&qc9Lfjn&!X3$@mO?gud;R4aSC;8EKYXiXx(V zRrTxJfqcVA82f9U{wT{T-KjNSd5KZIM}Z3#($Yp12j1rf7||gYtjllZ4WQVPyy;IlxSu!T3NSDSTD4J)0M)CM z4+L}{)rj$G8)&_#d$=G(Df=g20JzG>;DFgocO#(^D#x=L#4@B^tHkN~^`RFlo!g5_^bo5D?c=l- zfu(~E0ksAy1QdRM{D{F0I5`dOlni&Dtg=8IG;qM!2NPVLFBTgQOpBkP)jn@jO8J3# zccnNIN1va7o^yZiIlj8Y3c&x)_GPvP7MFcoJljQS7 z%K2aO>}yrk*+H#&6%|GO9tB>hkX1J7IPktKKoM>7N_EApx&buee;fmfTf$lZ5b?C> zpD|N?JRy_}8e9E^ytqVq00+u5p5!I{B53E?B?rzk62e! zw!8{~v;bI$3m6|50iC0gJS z04&HuD<{?Wca7LNe}IPooYaJP*FS%EF$omS4@A`Z*D-(=(5j1S1gPH-9|Y(js*&Q& zE}*qj`3%^+o{j*iml&RaSY`h{{w(x1N6%n%o`;_V8Wr>TP@9J-}kdo zh{F>w0$lMiuE1jE#fg-vpuHNUYtn61QupHe(9X)$ZKskvf28VB`#5h!Q0b^cKy87V z07Z{)G1>-a<~!Ih+ig2J00000NkvXXu0mjfB&+~d diff --git a/graphics/pokemon/skwovet/front.png b/graphics/pokemon/skwovet/front.png index 57548839ab192e4549d6174fbcf8fccdd267d336..27dc3234199e9766df303433983dc7c208be6d73 100644 GIT binary patch delta 519 zcmV+i0{H#z1n>lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m(^3K~zY` z?b0zz!$1@V@Jpe4O8fvN)kf+RFMfd7d;%p2b`0bNbqgd1b#rod5L|^ST$}_eUUnxx zll+rO zbY$xLl)6f>MK`6&VbHICQjD;^f&0sV-$8eWVSYWK7Z@YFfZ@7Uc&q@l0oD#ApWv{Q z-;@!i$%In5$?Jf!AW^mt*more+F%G_Si)rkFh|e>u+nP?DGkeQ&+C9l0yqLVK43{O zpDRF$zqs5EydW62Hk_^DtOA$X*&0sgrC2C)>&H3pDChV*~_wWq)z7>Kj(D+AdPHLpZ<R@!EqGig!LVF#zJelQ zEbkpKgj9l54KsefY^=7iN5SH`LDkeAs;W_whY<6ZdL#Q002ov JPDHLkV1l@9==J~r delta 519 zcmV+i0{H##1nvZoB#}W-e*gz`Nliru=LQE3Iu)1bTN?lX0ntfBK~zY`?bR`B+dvct z@RPv1jPe1D>{ub4)KfozYJGwPNyMW-PuSfA(t*8Y%G{yQHQ)wLoeFX3Y44N|m3MMd zu%tUfXFt5%kN5tkCuBm-HB`pfB8Co3X+UgC1I(#!X#tAB*8*Y&e}O)xx$wu@YuJ?1 zv86w!)KiKJdMH&6gT9xdh5ZkBCmNgv{TYV!euY6`jBx{o=h@M%0?-!Nmyo`J&%OMX zj4)59l*&nd4^$LHNYG|g0K%B|3WSH66C2o?@ovwuO5D0|A^$IA%J)I^ZnQL zvkY+noe6iVFI?2{ZI#Cd5KOvv5F4@CV*m+c$l&6K_)?_2QkFpDgcSA5?R8?&2CJb~ix@_GBiE-whaK2X==!bDf~C6>Ta20XHrL97QHB0$8*7tb8f z0@$xSvZgGtPz9$&85T#s0c<18nIquN`^70}D0hURbh{y`5_f;%ww^5y#K+uE-p-c| zb4vX`U=_zq!wHMTF(tZy>Acz{6Lo!=WR>KBib>l0s(>2kU+BLxHb_1UYK0jY)Cw~) zs1-)EL7g!8A&fHUEsP0^%x!eS0FyV!3Db}`;zxyf0X5!^cKD;?^8f$<07*qoM6N<$ Ef*kj90onf60{sGzV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4muhKS4N5e z007`gL_t(I%jJ@>3c@fDhWiG`Ep;p?sFNTa9DNp-bZaTXos+NNGZvwvCKc@FnQCK` zK7rzG`Saz%9bXiEeSy|tV3MnM5=&qu1D@E(AnE~!1Q0QC!GEIwv;cm(-1D}ou=E1X z%4$*`T@PSe!kqU6+<3n@MJ*LQVJO>fNNVL?H0#;&KzuA*%jSI9FlY4n16FCuG`z4# znv(JZn9l2+ioNkA&TA=xWvFgme_d*{uJHOFD>O((26e&&26e&&26e)SZ_ry990}tY s^b*EQ%3S-x03VYxs28Rs(LXKB6E)tBc3{l&y#N3J07*qoM6N<$f@6Vw#{d8T diff --git a/graphics/pokemon/slaking/anim_front.png b/graphics/pokemon/slaking/anim_front.png index 357fd0c864e9705cb31050ac3f0aec3a39be8dda..1b0ddece353f8ffca5ab15ac24282c111c2d3d78 100644 GIT binary patch delta 1217 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 R;Z*1pw6o!2R(+=?%nj9cFf^=$oml~w07GCsE zmG6@Sbtq(L4bkSN7$nFLRg#_5N+D~g27y2Q@5z4tlH~d;JqO+HbY#O$?2#C;bMQN# zKMetZr$!XFWJqX$YR1IU_Rm(i1QS5f2T~3Qz7m2Ji@tzMF@MqBgbCUA)JC!TVZB+Q z9KZqM>t(<0SQ$#v(o}Vh_x&6F48Ux8Wpli4@H|ug8Y8J~W*Mq`*&=`~Rgz=?Q>a6a z169p3&rnxY9o|g4L__XwrYg$M000050Ucc`8j#{lH~VSdKvWl>5&arVo!+?dw&;x7K?|m0N|++>uWMr zXn<z&DC6GS$_ypU7;l;Ut-wer-9vqlneKb(>&0&yL-*VDM*c!=s2Z(nxTP=0@ue< zdLH;Wxo98%25XZ)v3~F|7JU2gV9tGbFp&=rCi0;#eRwdD4+kdl;lRuzA0ABP!-08= md;~D(K6u?<_^|)d#~1GG2oGmsx()yU002ovPDHLkU;%=r5~q{^ diff --git a/graphics/pokemon/slakoth/anim_front.png b/graphics/pokemon/slakoth/anim_front.png index e1dfc9396cce903c605ade48b9b1fa063046cd54..32085285f7c89844eed503467ec0eabd1aa2b76d 100644 GIT binary patch delta 797 zcmV+&1LFLQ2k!=uUw;DnNkl#;})Gp2Z$14g}U_e==AMKR5!p{TLm=PD1Ur6Dnqf!HY{faC~7j;=6F<7 zia-ReMS-d&=?CUGcU*1*5gkR7WWE683gA%A_Dxf_vP=-`Sm)+s2^>_>DFE#3R9+d3 zh*A~taC)%>5Pz`_es)T93ZM^%A4bbfPS3OuQ0Vr3pbl-I6&$|YqX3)% z?@@KoB|y}9HgrxI8!gx9!*0uHqh9JDm!t^rc=LMHhr#C8F72k&TzSxZVe|Xv+0D^= z*YLJmVl4b%azUB?a<6YEpNz$MSg4IY;J@A34|CGPJbzYvVlTK88HTsBt)DI9q>duQ zSWl*bo1o`-es_n%A^HHtnT{uc7P);;5E){gu83y^aDFuku90t|Lf^UKU6Dc*KMyP+ z2=Qd08;blHW%^C{OPVxk()>5cu+@Pas;jF5Ia-H`mJEoxZEXwmL2Lt0Fe<`8R3olW z#upF|Xnz|q+f~8B>?2_y8P6Y_=*&`uKgjlQUuIAg{t%}J(!;{psi6Zh@`qJDARuR6 zjyVVL{DH*)#*52wuEuk7Z9I=bf%G~V&`cnMI)#(duH!Q3AX&wm0lkAU_Zu+)V=1n!*tVRtDQqOOEr zg#2N^NHBK0ZE&F5K_zn4GOA6NmL9NfQTRiPMIR%tK6Ss)`Q43zjM-H7{|jq=*pYedY%s94GDK?m-Y#Cawvpyj-mI^84#E)EmTJq zYtN|@Ix@AK4!Wj`&UERZgZ6*%c@vJG3FoMHe8)VWygx5_K7Wd`&N}~SxGMCOb%4VD z3L*gjj+2iEGy)2)OG6}L2XHAg#0HB2oH3x8sbu5~ZcPxOC!lWZ@F<|7w9=)M8tuja z;1M&Fm6yk7Z+o)32~Khu(3zG0_^y|SY?W_1-V%`28Mt=8S5mV;1SS`OqOKT+c0YZR zuLBVcRacmp0Dr6i*k!44dkV7WQY=P!(9)Zs7x z=5FxGn(T+q4P$h~Z-4Z|9<Es;FbdK@G)s>Lq+bL;-QrRH;9%;JG>}B# z4_#Dx!4;@Z|vDd7F2h9emOa7o$eVV$% zn_1}(HNJQmruNkTLi_hO8=)TTEc%1C?ca`WiE707gQkwQ{n0c3TO-CF5(k3(;cjG| zdNVQp;7Wg}h}K{D1FF&fuo3!$8Y-5E@dt1159_SV9~CtDCFu!m3;+NC07*qoM6N<$ Eg81Bv+W-In diff --git a/graphics/pokemon/slakoth/back.png b/graphics/pokemon/slakoth/back.png index 572f94e876d9f730ea35759dc43d937ba2e040be..f1861ff68e72898129559e72aba5b76af90e49fd 100644 GIT binary patch delta 503 zcmVH&ZQP?@r-X+xxIVlbY-xH56+U3!D!(v@xE(v@d$ z<}vgS4BZ-&ehGo({rKk1HxIP4{-x41ou4RoQc6c-Xs_Qyf?fe9N`7hO>ZO%0-e#c$2Jj^5%;@Y&-_3oyY)c)fZ$2_)bo z%_c~-g4RhKnt&Rx(Q8V_lv%BS-W7>jN(XE~)G2l5ZGcWojm;K-cwz2VVS zAYdOFlmW(qa9Nh+EF2t7gdsQffE~s-p7v3TY_{D>qDrcNNDOA5>jDY1kVJnUGufm%n$#En8)H)fXd!mcs~q@v t-u`^mfr)MONhE>b`&scNpY=D=v|q{Z#6@c?u|xm>002ovPDHLkV1k=e;939x delta 492 zcmVFh+gkuo+IL4Ey>2?fEt4xsuV;@qw=f50+Fg?bFNY#Tan6YbrHS#S z_u6Ac5fxI%8$gX{lA4MKNV9Q)6s0*+5xKFqrKF?IGcdb*i75787m<))B+JEoo|*N` z?)*{omo426`(x1$1DOM26et!&Wxkm66S3(00;I|cm&celgntEMA?kWR0A!+$qOIEF zPEsym)aCJ6GG?F|*h2k)%&Mde0mK09!wgZ>^wXUnFzlC883K}$XjtMJxCkOa5{DQv z&@h8$B6&+R;}6X711v;h$I1B_# zj%lDq+pLD%1`>JqivmK8oAvXK^~J})>VNu!B-BWjV1M<1C6Fxh;@aqRFFy^;)jr4;P7@@iUcLm08AzFB+zl2f( P00000NkvXXu0mjfIZldu delta 847 zcmV-V1F-y;2cZX$Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#+B{+XWD z00097NklnRH9I1(*7VfB!Dh1h^dmSoyU$L34}rv#Q_5(q6mVW!V`{SEMeNs;~UWofpY8$ z^#dxAQO*H?032lWI+mk&mjx!HyiyzxXvzb5y`BHEvc3>f)TanNxuM z&yu}*V*irAyh2FshFf4vT}%fk0S5v`?3v1PP-Kb}fq5S=%VA2*5uRuy(n=i?K%+Gh zn1%pW7{9)P8NeGduCFx-479%2b=_P+st90f6Eqq|yMO*2Uo{;tqpr>?tN{zzsF(q8 zY(QijP;Wpfe~KL!H(x=&{o)6VjT>{KUu^xvYvaaqZOoPfjIOt9?^4xWTx(PKH?y{H zn|n)0Vz=$f1@1}V0|u73!Q@3z_*ZJMTCIZre#AZT@YgYk$%`pFa7Y1J_ewwFA{9A|Mb7KPSTIMz2?zs(&>BirN(MkfDJufFwf+GwX`nR}^b0?* zY7N9Xj29TRtzX|_iai==Y>HjNahwD-2+R^m>%(=k0qO>K0%AbH+TZ&-AV10dy?v)O z6iBnNJ>FXdHg#tp_u6c|z+I~k)(-Ry;}^zFC4EcfqArKuADm#+>!P6ip%o17-2c0R Z@e?6hc&9$#e`Npw002ovPDHLkV1nNqb&dc4 diff --git a/graphics/pokemon/sliggoo/back.png b/graphics/pokemon/sliggoo/back.png index bed56d44cf83e3925ba65569d8670a78df1cccae..fbc2e4dca8d3541827ed47193adf09f6cd780c4d 100644 GIT binary patch delta 440 zcmV;p0Z0C)1fm3xbbkSuNkl(mwRx8jOfeC=KP_>)9w+39C zMU6X6nfHAMti`%D_k`U7_;cKv`)|t-WKPvP7KkowuwZIr4}VH00kgSS11;M1!&}%i zknbIW_No$rN~+Oj+Ik~3@l_U}769A}1W2zr1LAXosjBLb08H(>%6dR(O{J+V5n=T# z>dpy(nsqnv52YP77I=a^qiP_oMgS&Q2o}(=uInDa25<##&~Oj608jVNH1Ku*VI#Z? zjC+9E1B$m5IDef}_w={m2hnnf8;mTV^sKW-$SAj|3Sqn;@F9njfbVBPpKHi^08-PK z04e+g;4n@BuM`_rDyl=@2H>65kKTJ|W#EW;gW)0p#f5;A=n(%)ppt;vg;?6g16Ssu z>KI!ZAj|+$F2*t(f&=DWl7Q(Cu$>+e=p(SbMo5H#jxhjc1}aK~h5O{4m%fM{R?&g00D|gL_t(Y$DNhIPQx$^h8wjH z&~)nq#91Ydp@sWIy9ZdOJkU77ksEtk;v}V@*{;BsO7rL6No4;kioe7(O-C{By*D+V zS02NVxeB!rm;opW)%rPTH-JG&v{-5Cau|9bCDzh15cVFxpMP^{8NQAnqIm4ylR#E+ zNy5_4uw;4;Sj5>LDB;!*En#J#+&V<8RW$;d>*0#V1|c;&8E6>*Yas%#0kF>vMr*wj z0Mmx4vH@U5Q#Elc5uvY{^WHOnTJnC@j6fVL2n2aX)j^Jq0cQ9nNT7i=&Rc+yfj8)C z33#}@%E0^W6My~%Ok0530;-o4I2@&WhFj1^G_CJ2G4rzIp=Q@t>X7UOfvb~&k4M%^ zQx86$0LhIbUYbE zw3fCDz`3S?yf0`Vgn=oa*D@V~0+w0gfcY1oIbg`Zg*Mp;1APPt4^(j@8WjHWlD n0c+A++dGM;1RQKW>ko-99y)}`!{Fwm00000NkvXXu0mjfm+r<2 diff --git a/graphics/pokemon/sliggoo/hisuian/icon.png b/graphics/pokemon/sliggoo/hisuian/icon.png index 2a379330124f55fc16ddfb638c0ee9f0f8dea96f..c66baae5a9026bec9673ea2af98a23266459d31e 100644 GIT binary patch delta 284 zcmV+%0ptFd1Be5Vb$|XzL_t(Ijm?rfZo@DPhJ6Do+~A+rWuxD+za%FMpjN{)IfcL)_8#-TQ#W zmJ7q%=ME(>gGEFWC(p+0(1`1>HOAy>uGM`YoWA>g)Gao!{!0F91En@_YJtyqVhwKh|8o$gn{Z0@oC zV*~52Y6GV>n44{&+if_S)Q05g<&B;>Y;~p<{+3 z!L85_QD`JiwixTw+z3u0`nFzf?|m;EA%1Fn^i9T+1%d5Yf=~*FLPsV1a<|k$sLMvo zltlr;mDxl>#Zcn7G9ZjBkGRHRv4sqA+cOHpJ3P*D0k@D+Qfr2r(2$(j^nqna>z4Iw zA+0s%S>W)ARvv1+kDvK}=R3fxKLN}#0%o&%0S2#m0t3nfOb-mXskaSMs8MWWup9a0 sBu(DTmLb(OtB|RS)*04#O{4m&K-_To|i z007WQL_t(I%iWT(3c@fDhVuqDI2P<6&Vq+iLp$_Ad^n#Vbj(mBxE1;!3P$2&i>I6U zQ*aUyZ_Cf+|L=}Zsh=uI-sC)a5ZI3u2$c#b^i;u@yQdyZLw`P^r!GqnuFNhGYKD-& zwF6;feZVpHvkiEt+m2Bn-r{nBOW1{s(K?=lhU~=d9JLJdrephRA!{ucd3@5$8i5!Q zQU6lk0cQ0HU=|55>*WL(nE)dRFlS&WJafCqg<8W-N3)S+N9~F>2F5mQVx}(E<`^T$ c%e#62IM;HnEDy)QRR91007*qoM6N<$f@ukL2LJ#7 diff --git a/graphics/pokemon/slowbro/galarian/back.png b/graphics/pokemon/slowbro/galarian/back.png index 978b0d3f2cfbe495687ad1d96b9afa29f0f170ba..697224685e4f88731f85969f07d7c3fd8f5479ff 100644 GIT binary patch delta 413 zcmV;O0b>681BV2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?UcQ0gg_L94O?uxqeW_GUtnYeLpt%2@lDdCFeuE%+QK4z*t97^<|%Xi0mu0Z>G!bc z!u`1C+;O{v0h1MAO-S0c2V|>6qQ%p7Y{$F7u*;#sb;EDMntg7F=5mvo4e*oemlo9K1pTUgK|6H38Ae6eY&=9>+ ziiI-vy$MLef%jkG2<>ywL8xyQ91=_e^BCb#HGznz%9z1)zzeZ>cc{m~NNF6xh}t9j z2>ECc!f=@NFJR{(U4Wi4uk{SV0StrIUyf6xQXR>%V!3$iK6 z@bRQL5>2@WD71JwFgL*+=hce}^J;+30s0aE1YZIC6Hfeg0HwYlBYqmU0_+leeOK-j zKvU0MkEIU4BMVvB)xHNU?0W7l0OBL&5#w*4QI9bFoVyqxq&%}&6O)vZ#XL@v4UAR= zK7GY4^iRo~%9E9HC1|)g-AlBup^(&}!ff_F}76e8h x>t)9R`;14e;(vg%EX{UVh5;x{;Hpdd1@SxF_QopI3IG5A2>?k&PDHLkV1kTOt;qlY diff --git a/graphics/pokemon/slowbro/galarian/front.png b/graphics/pokemon/slowbro/galarian/front.png index e99a7d524fefc2fffd66305d5451b425d508c828..b71e8d25397757fd8e21b1f11dff5572c76bf9b4 100644 GIT binary patch delta 829 zcmV-D1H$~62crj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{lrtK~zY` z-IXzK6EPIWjXY#w=-mgPiYa@Fk4vbUF0qshomw20yM>VJ!hn>cP7BIFE7e1HbgUhs zW@TXLQXw7FWkT6*nF%>KOEXCE&vzV}0B zQVBAJ7(kUqptCU;P~~SQ%Yp6@&HW82P?97FC5u2PAj1rh!Ri6M{pbJoVL>g%ILM z$|DsayPn=mdYf9~i0c3__t0Aan1Fcr;dOFQA;UvSOhTNf*r6{)dO-TMokg zJ-tkwdeC|Zya--5+xaqv|CI-Rgahif(BF(ATtfdCrXlnj-s6iforivt00000NkvXX Hu0mjfcb15c delta 820 zcmV-41IzrQ2bc$tB#}W-e*gz`Nliru=LQE400h}H&!+$Y0{clsK~zY`-IXzK(?Ar* z4|&MKQ2PT=`6zqJ89P)>mz_%gpjg@ z@zdpiV*!F~%eHht%`{;?(wb_hHtficaZeE&F~e~Xe=EjNpkMBsSY?uEJSl5oylLiB*)@yoCLu&>S2IRAKg`K=#Ool20&`2e!i z0-cS)fCxK1T@G}QiLy6hj89>i`HexKuf2B&xUI1i_Z6;Qpr^1DW z-wS}>1HA220%PU_VXd9cfTJgo1bDTYfj#w8=8vyXNz?_EPU9nNPbYAsyx4@jvo-vQ zN{}`O2^E;UDXiO~AbHMUdoTo`3;hp0vOExD7J-Xn_z4fi&GdHC z+msqdOgezMe}~!v5I@IwRqXE-sfwSa*{-YrBvt|7*s@k<8iuet&4QHe3J=B{Xti25 z(`iv~CmZHI)B!xnQFjy&I}U*eoL|#n4nQ!TivSmns$oq=xTf2A4nfAM4x;1l0I*LS z0SKW%#)#@qQg6s}to6X&p>#ORp-60u(|P|AD%))fe-!kj16l0v>TZ=o5y@WLDj-L2 zL`ZcELGA%a&O=Sv#bg)|h56R{-CRirFutDn(}5S&EGO$LcRei(a8;v9B<%=Q^M(7+ zXv8Nq`8=V#CbU-Z1JVPKbbkRzNkl=7VQKJo8sJOnZM>Cq@6)`J)Dj)}Z3} zXw?{`F)4*()nL3f$c$vMbzs-84Wbdq$bnXv=Hb|ZRu~Q=?tXqN3?s$VB^qH2q6Ak# zBMe6-Cg>uyFw8)}#n-KkFd$REfpN02en)lB;#=20oKGrv&qR)yktqNG002ovPDHLk FV1gfWqLcst delta 372 zcmV-)0gL|91K$IXbbkN`bV*G`2j>O{4*&_Lg0mU`00BZtL_t(I%hi&xN&`UpQo1La#n;>&C4`bd)Htq@d_T$z;=pgSHe#DB&Hql?RhG+@|CrSMFM zXL4oD1S{#7YaXTcl&pLp$W7MwL9LZHmW}NL`}2eF)-}f14nWqcZ>)@Yw4)HQI0)O< zG$l)@i4O6%FVksmvpD2>Wjmita*G&I&(%39N2ZZM*B1Xi$(b~0ZYogz(>$$VITP`R zW7R8X?c!al=xzTxf0Q7#C#X0bEq4T296RM2U@C&Lfi5<#0j45|2B0G+fY}|6odAZz zh?~#f1H(u$IRQ+DsKEzEU^vQRg2qw-!wdvm1QHm~iE9C~_Ohd@XZ5Y?AI=vlc+W&Y S1DSLH0000h#;>De`27XJ4LvBY-^oM-1jhkyP_6nYH`oE} zrZOOjodEb))>8U_PO}$5lD!R1Z1J25@|5f)xvU`z_HfTdfPdj!sv+2H*YY8DMU#aol{@*KuK$u< zDO43ws)P26(#^6e(>~Elw~Wq<2e{G zo`V77IT$dWg8|bz4hBr?IG_eodJY;)?Kl`Ph2ubaFyCD%JO@0ni;q!-|Mc+#|W z0003~Nkl@5DCq(cwL`LilqrzS=(0TGANOTy36I(sUf;>eBNiJ*1iap$O z;i12jY6y0Fwwejzt017mMaO!dwt|F_S_H#R@m421Kl|ZQ5471a?cb!qe~<=&4hjSc zDnwL6&{O~$0Q4Uls&{Mw=1>$!sSesNN_XobkNZR~-7{7uUCCd!3v)}FzIS<+)qyUB zWQaU2Yo)^adlTFU`7nA~yDU`orufXOTe(u4W#a^X1O hiCuh5f2rU3_yOb$`{-nrez*Vt002ovPDHLkV1m9Fr7!>h diff --git a/graphics/pokemon/slowbro/mega/back.png b/graphics/pokemon/slowbro/mega/back.png index 948516e321ea0158e4ed58a4455dc7346bd924bf..b24353c96aa326cc8aae20a113966eab4a9c88a9 100644 GIT binary patch delta 654 zcmV;90&)H61@;AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#8XqK~zY` z?UYYy+dve?(^d;_3W?hT#N(z&yVjbApB( zz*N^Ttu~`o7v5NB==_na8UH&$9%dGPKY!mh?=e1ktbO$iyg3dG!_m?H(=ZIr0RRU9 zFaqJ3fCh(v7XZk~bpoDD!Y5*glo9FNCu_W({G=o*g1XOF}a zVAS|@7wDV7aB^G#fNg~ywFJOmr_XKRmEC{NS!6q0+Wl&UEZ`-yGnVzg8MXvoTR?AG zugH}`5t_Syh+xPXz@Z9ArxHxA$@MJ88TkqsUp4|u4Is>68e?KDSB(A81aSDWGYv3-t0;-i8p9+yxx5NgYB=IyL|ZIaPpM zWgCKY77zeEC@NOTml_ZPtW}q9Yof~}rF+&Z=luoJo@<=*F-=Ybj oey(f;;+u2W{+D^ILv?cUAHfa)WEd2?DF6Tf07*qoM6N<$g1k;4Y5)KL delta 643 zcmV-}0(|}U1?dHlB#}W-e*gz`Nliru=LQE402IW8-@^a^0!&FnK~zY`?UYT5)Ib!+ zN6n%)g423{>1s!kop$5Cr!APk5J4f}0YarW?n2jW1ZhH2AQfCYCvflpjk!jn*;H08 zvgw?``p8FBf1O|+p%!_+{NMk*N9FA7Ar8b7@cJ|`_9rLvkA2_2e*gd+1;7OO=NuXx z1D*pQ@`3;thk$orbSZ(4!|CJ@aXte6gnM}VVLF|@IRIEgpkh4X&jE=?K#S?KePE~q zk^Caf0_VBSq&3p0M5@I$lSkKT`Ud2`SGgL!Lz zzG(nbQRNb$&}Bv_;62GmGX=Ep_JKiGWvvN5$$h}$n^Y$Fq(cpWkP!)pRkkK@UjhQ4 z21QDtr2sBKd0TaHw`OXL1)J@s0=Kgv_ z0z#tb1lU!7e;a_ALsS5mHGo`_djznQfLIpQX4wB^tU~6A++v5QE*cZ^b6JKXu0Ds| dzsy4%kN?3A0AxSMk+lE-002ovPDHLkV1kr+C0qai diff --git a/graphics/pokemon/slowbro/mega/front.png b/graphics/pokemon/slowbro/mega/front.png index 94678b54dc6a2bef0a5a00e9feea41922d068f2f..4d2b4a45752b61ed525e2bd20bcb6f6fc03d9f9f 100644 GIT binary patch delta 730 zcmV<00ww*@2HOUZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80<@8d9)C9B z$#q5C1@#92(YXv=P!%yUMAlWRD?}G)`2!gK0GKgDgS;SFm6ywuA&c)f@Xl#dJ3gmx ziK6@R?%jKr(~8krpMSJ8b*vF1|FCxV)SyiW0PJm8yQUg+N$cp9wX?C)t^?+?qa({A zZKDRPy|6F?0#XC?x0Yo+_lQAiihtB8f&qO`K)tTnJ_2gLsY{^Q@4jAI6f@M6pdDO= zzb*&$p!qEf!_k39>cCa__j?%r1VXR~R$U+d4rTm^x(FKm%6g+8A;i1#sX9Qa0a34Q7EfvQnM~$@03qba<&`ohg>ctN%@4_kWF+AgR6~E|iWimHLf^(_XfV~#-sMtt{CtUGN>3rU$`7ksUD1_>r)6>Pg)8L~5V5@>V z5Tq)A^Gxp&)NCQL1;`Yq)D8u|DLh<= z>q7!lTNU^Wk5+;ni7!`!W*m=K0zHmCtpwWjW1#sM(5@c?%@WYG|0zlYmC&FTJpcdz M07*qoM6N<$g0-zq;{X5v delta 749 zcmVI zAX$}{%hVx@?>F$yX;V8sr*E;M`||GHd-iEsAzJJ6M@v)38Zq*Rf3@3DgEk=m(Altd zO*QC|*5NB_XJe;b2h3-Ohn7X!Mh#edVPOUYqz343Ez5fD5rfnesZ#_)`kp||F>N0K zwcpew(Cl|#&n=1>YD&=dFT!8v!+OyC7KY(u-y?P4BK-S341WS4SOlxCkA8(Nv-m2$_D{B{=WD%pdW~0+_s6aRRTS? z1QMK=u~h&%F-xFJq$r%COU!8nkoAWIuL*Ihz<2<*LEJ)$4BAU6>`h_@e6h|GnZh7X z766_OOmO*hzKk(y5wf{ic&h-`9me=WK+7C<%ddnp&e+0$GXmHvO-oPn{xcbXvrIdh zUIs$2sU&%@e}FH)le(C(;J(Hb_fi2SvLF{KfCER6viUA*FbkxSmGU%5s$Z7u(oEKw zVu`%^Z34S*v;;}@4sp3WW?m!X35=>26nB}-jgjD7sx@G*g*+-Y(%}hLTvIxqcWFKh z)g@RMrYZrBYccOM_^7(0#v-@_L8<~c&-5-q%@!hCV}ML?O6@@KyCTxDP^CDyg^`oL zu>dSnbaIA&(s2=FflL89`A3>xv-Kf?sjUjUh9@gQpTw&{GmfuU0zHmCtpwWTW1#sM f&@LYX%_Z<3DM|#DDehq@00000NkvXXu0mjf3|&*i diff --git a/graphics/pokemon/slowbro/mega/icon.png b/graphics/pokemon/slowbro/mega/icon.png index 206b656c17b40d3f64db3bf6de8b60a44b7e2947..826f0bccecf5782a980c2352911ba76ed03b1583 100644 GIT binary patch delta 327 zcmV-N0l5Cb1F{2vlHobH@(wE(uNfQCQrIbFib7e{e;eUgmJ9aLHNVh2tm-rZ` zp}*_{8=l-njXX4j^afHa@t3RUJ`h7f_fClKdEV!KoPnSqS^>`z^R8TIBg|N2ibzX~jX31v3{WEud^^X1arR-10SERvHS2Lu6CZzvgZrm` Z*EdX#+i~6QJfHvo002ovPDHLkV1iqdlzspJ delta 342 zcmV-c0jd771Hl83bbkN`bV*G`2j>O{4*(xiRt8G|00AUPL_t(I%gvI#Zi6rsh5ZH= z>Fx+W07%W2NI_NU(ydbbgxzi>7_woBzDgn4Dj5>e1tj0P2?U#|OQf9f==l2ne1zOi z6emUtHNo03Qv68mCsO9wr)6|fE^{kEPw}?N#u`+=i01{2KYtze;%&18Jwzy53n5@I2M;kw<>n0cps;sKR*XnGI@v^y=yo>8w4To=ZokuP?v=1JK?_PdEeW< z2B8Hv3S^cH|LU1B!VIFJF|CZl+Vt8gWy+{JT!%456z4u0r^Ax-l2z9Dx?rlZR!G^5 zdxgDI)E;vePfwi{|LLcmo~kA{*InX3=mZDsCOB*-I5cv=q3jba^f=^w4T?Pua_!;( o624p<;JtQnK)eGS@ZU%M1x$|HamGOY@c;k-07*qoM6N<$g23gO1ONa4 diff --git a/graphics/pokemon/slowking/anim_front.png b/graphics/pokemon/slowking/anim_front.png index 0bb1747e5cf78c27dcb7d1f49e488d3d8358566b..d9740c00773d24a62fc6653cbcb72849f8a9b51e 100644 GIT binary patch delta 1260 zcmVS3tTwZ z83~T9mXPMag-XM=5|y%2n1owYq73S31x;$ig#)EzxhxVKVtzoy`m(Cv7Nq`w&2Qk1 zlWsTmOQ7e@VWrJ{nfKnz*zb#`z4S0Ot-KM)?i$|uS;N*Uwtuq;pk-QPjF7be^C_h^ ztzvV#>aVlc0D|r!fTKP%%#T0&h@uN<6#$G1ZHj$HEgMS@0Eg1O1|-Q?I)(y_I(6%m z`HcD7X~6Y&4coTW*G*&|3S_>mN^}_Wka-1ERDrZ+F}D4@>XkBmx){|MsH6bPuP+IU zd607|jBcs?6o23`WRJSI}%P-?M?w2TJ|kVAYQf*?kuyeZlk&_!skjf-%l!{!B$JdmbnAAd(-n2#$_K=Nkig(yw{=q-VMawByi z+TmpKgHT&hkp1+dQ4j(y^@-Z3Ha4&6P0_hgJcdw$5bV*?h`2e>wtj31fnEnqzqTkX zvku7dMQM;r2L%XUym<1$#sO`aS>}*$XqzgRH~8kxteNOLawXP(%x@UR_G_ENJKGhs z<$qo*;F#$?v;r`!4_yo$8YZpUHuT>$-v?`eb_Sb}ZitHkZPoQvr@;Z+&O)P#yFOk@ z#jSVtU08=5E+Srd9UIp)&TBSx~H(}Xz0JY=Z?NK*< zqinTLv<5rn!^=M1b&Z+=YDz#{4_bFBf`0-uKNb{aKnSofB((s8zMM|MpkPSLc_m3{ zz-4iO#k`GlMJJX-5GkTO#@bB*mI4?n=fA3&03b;K0L~x;m%{Wg`>>!o?_DthIp`7$ z&>e?m$H9o-7TrF26uM=Ovb{0qLm@5ntc*8Dy!YL4I296qHgg97SN;&@Q?Jk^z<;~n zN2gJAdV&L)Z@n+o{IB;I%1V$wZuq0+Fe zM5U}0CgB#9D1&-hK{qwx!huq!%KW{+y7Vwv_PfHX*pQeDpks7DAfNfR5Z%b)g+4+NI(&~3!^E}+fKAAb51XX4jsjYnIBh~bO1*pz)Asz*Ip3@bz#q`WmH4%PXaD= zHOoow!=Me_ro?evyR6n?LwQJCJ+m>q~N3Onqlk-D^I&vY3MS6z~0^X$YgVoHd z$1Iqzu^j_>6etB>vx7ql2wG8F;q0f+*#S4a23~PLM}N`mLFs@Gsf*VARuugno&6>O z0|gqlV&dJtC{U~<&GWaW5j;N%VPG+83vwl#!VEJZ3RsLPyU`58+4N*4hS&lCu(=+F zpM<}PZ66J?bo)XQ;r6wU=ern?TP)^}J-woQ~K+qSWw0OEL1iHuVAP6R6s8>c} zjOQT;Vnm4Ryo&*yU`cSE0qidU&Ut@4lrQ{DpeN*U=lbhA$#tHsz_~x#h2Imv{=M;P zf`C`V$nWq(HujGmeI>_XqDfZ>*vTjn9F$;kUWqM@18_qSdJr+K(eySoL8p+3|7D}T`#;FPN&~h^jm zK=EQhkp_eSOGAQM2=zm#h zZydA1wj)$$`r`nA zCmAhGTGB%iR%$gL1@1K;y!lYv4fS(WFmgd}UKKDt1Ao8-11|g8`4upfS}YhyAZ1>g zpI1YDDHtfwt^IjR&lU`ocmBIzhJ8A!q((gw2b4+8oA pp7V!_K)=sRf6&qYXkT)F_#32eMWtZau(<#L002ovPDHLkV1o7hPWb=; diff --git a/graphics/pokemon/slowking/back.png b/graphics/pokemon/slowking/back.png index 8e24edb9b5aabbb3b0379853948a08bbebeeece1..4d49973bd18e77dca80decd99f7f4f483e49d82f 100644 GIT binary patch delta 672 zcmV;R0$=_61&9WaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%1u+K~zY` zy_COh)Ibo%?UU$lY+vFg;(YcC+>J$vwD!J0ib&T$LBT7SB8>~gO1uQGKnpwpqTvBf z5u(OY=)sv?|C{yt1PzQ7Da!ozo9~;+o%erhwfzH-?*9TfuR@&^*Irhf1EL}+alMj- zw>tw!fhaOr>_}&!c3=R1DFR#sR+vMCxrCIcMT>|sDsw4Il#75D5+J);wBY%r918kB zCG!-03G8yNa$9OQ0l4jK*?>O)QJ-Tq#qrk`P@*|nisS8~g9fsG0!1~`84zk93QWJy zW)Tc9xb#Z{2$KWor!1qjS=|8O!C24)7@0g2UdDlZ>*$-b9Z_?CX~}Jg5OC$0`pP~ z{em4ckbRG8&@X_WI^Y@HJ`r;O?7p@khVY$-!~tZ|`M8Meh|@08J+(ymGP5I2LDK!6 z&Un!Q-~eO-sU@C&yf6-K-z`WOcZn8A;@c0d#FP|b_2#n+)G(|-QGIb{JUS{crA&Qt zO~i`VNB1)hz!h8o;P**a3!t^$&n-gJ{?Prqwr#&c{B{Pw^9DNs4g5M?gFRu>G>A_b zaB3~UZ<_CjjTzDEBJL*#u5KCxY_4HLKoV%+)UxkvzmVa3UWMOcRbQR%uZz?PbL|AS#j)f7dHnc)K%z6o?{| z#g2Ryv;zZ35#S=Q!W<&ZC8R_xMnsfRnM+xsTm-z30NH6Vg6EfV5cH3d`4qhbc5|+B z+iEufxb0%ufIk3HKgVhs$6s4OiDqdjj=PHv8p!$%G^**&fKUTbVCsbqi(r5urC%CA zm^pxcWf`r_(G36|e@p~TfU(I#;bk1ix1O#DfIeu5K}nk#0Ze=$nM8SzR38Ca5QvNc zNzaW(L>nAeWsbrIyi7j|ScmyqBMnSF3TN+uF@Nf9w&bLDK!6)_BnY;C>f$ zo2ew8yf6uF-z`{}bcr@d;@c0d#WX3z>dj{ts9`t)Mf&3Ocyv@?q>MhfA!5b#(f!5& zxPuD-{5om10NU&QJR&sh4_&`&+x9EOZ)X5JZ?H4az|Ye)*c~=agZPvIr`7`erumN8 zm=>)TaSt50f4XT9u(^f}0ZE{NQ_KFd{X&L&6@H6VeRaBz>&K?YgLPTNM%8+_T8~(_ z_wekFThJ1$V#IfnMe*snKWWO~q+_t_lG z4v`IkYzSc4UW^=Ui0nFlMwf!-fG|vspj!~3Z4E#H=uL)@VBHIGfVtA33&GG8sGea5lP;liQ(Tw; zw8fwE4#Yh7V!L+KsrX2VsOM<|sGcyt?Ep)?BEkV+>m<@&Sts3pV6GUNfV~Tyf9Zn* zuy2-#0XqY1$`5+!z_FRgfRV?59FaV-C_EX&`H#y3TQq@N$|iy3$NkpSX$ zdmtYc5S%_H#KTU1{E_aHp6_5cu?=>9&Io^`asWvHrB(oGlboJIr9MCofWlIKoxoGi zG)gJYWSRl32WV`fG(ZH*d-C`(Kk3*3h&%l}gXq7dY}O5|`(oB8!v%mS!&YMen(7Tu zF+i@W9r!BOOQ5cRQ2Q!3U^7)m2^M^t`Njg%SbPAXzRg}WN^_;%v{f4L+yRo0m!4mA oB>6HxF8XjhUfDmd|2m4|2YA9aC}UNbMgRZ+07*qoM6N<$f=Y-Ic>n+a delta 591 zcmV-V08bBml1(CKV3@!lL421QBXKVD$ov~jRz`%6Se};G28q9{sN+2r% zEZd8LgO$jxV{j#C4)7K<@K{^dWdP#aUEx!J5z@F!_4~|%Bf1DcT_|7(4~*V~7$X5j zDKpKwO)K!J0dx-(n#KSq06J44M6m9K*nz3kKpO&mTcB!!4H&hB)}^>G0<^)O(*}rX z>co2QpiA+A5>ZX#e+r;##QeSiSn3rK4ghN>k^aeA>4G^kGy%3QwEm+92VmPQ5d-W9 zU}Hb%r33cOL!4>Q?{&002ovPDHLkV1jZW23P<9 diff --git a/graphics/pokemon/slowking/galarian/front.png b/graphics/pokemon/slowking/galarian/front.png index 0d5608684869567d20324e535f64d6478c2afd7f..fb619a556e447030ed0d7b9ac412f76a71fabb11 100644 GIT binary patch delta 750 zcmVf(!e0Q)98#y1f{bhw230F7EYXX>2FipZWJY#FlDSeY_3 zHA^Li3hom`qEly{p~ohw0vyw+cl7!E|NlAnV2uB9%!7Xb_R-$5bzu8@f!GTJ*bi{K z(WMa_Gzk!l_!Wfufy(zSx(5B;9>|b=7AdQN<^$7KV1|teeMD= zt2#TDpD&ccMnOpeuzghmeHJK1DYTnHfh*lJ<|06}5&P{(xk@U31SAO@pE^JumSI37y&BKKbmYGqFvmz#)D@H~)ky|q-NgAj zBM=dQA``eM&`F?wxJYW7N&)CZCE%)7l|uC@9_wFNAu-Q{w*%KiegtwCgZ z_OM*7dSxdCusth$)=d#uya3w*hK0{oX?m}*j=*ep*!Y%Mt$ypmo~j#GrswzKp|BT% z+-sq;xnXrlGp+BavSGc&F%=D00jI-tYrQo`I1C-J4huA3ydmI!3Q$+jy^ws=R1GwYZ(9GRE}N&tmeV6d1QG9fyfPfe>e<@@SavnG3eSN#G#?3vdp@ z5Kw{sblMC82JRL3K<}iD_UyJBUqpglScwaRK1O0sTtTr?f1P+he=*p9djui`P^1F~ z1v)Y0gQT{p5P(it0FG+y%TNH)p(OGNix|*A4iFNjLUeA%1%M_9K#WGmlL^+a0m?bd z_-cY@jQcFGjB=~Kc-<@~Fw-bhVR;>{S(;@}g~%ip#IUZtX;vJqZzkhHVEb2Rw*Cd~ z^3L3D%T&`Me?HT5%(A#Ms>eIP^n1Dy_}L!z^dk8>iMLHmAD^drJk7pc2(7cH+ijql zJ+7V;tryEI6LYPXv(b))EPJ>5l_W`#r>8O14zQecSF6=J{R_-@8j@Bt_FL)ntHr$lf+i*mNp)EFMfd-5hXVo9W!}q57W@sP2nM2lkI|raH&h>+z$bKUx1q7<>w&GVLS`iy!nd31ha>GE_OLH+Y&`2D7bU z!CyVx0i2cM123OOKS~yZ=$Ni2KP2@s38Vd>e)G)_!q5Hq06sAHG+Z$)-T(jq07*qo IM6N<$f|ApbzW@LL delta 349 zcmV-j0iynl1G58=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+)`7*f&< z0003NNklb>!3`Knd-lSLX;;l%#sH?YgD+r&rx}6azz4mKz^I+Tqtd9};b>|Z)UJjBfA??)a8?E$`1Hv~ v$$=m`rkjzE;CdZ_k$h0Uz2SrKb3Q%*J}~z*8T~eF00000NkvXXu0mjfe_58z diff --git a/graphics/pokemon/slowpoke/galarian/back.png b/graphics/pokemon/slowpoke/galarian/back.png index 3f639a483497d2fc6f489e68c5f2b84fcf78ad57..af8f0fe84549ae99196ee26e0e242d1e926e5aac 100644 GIT binary patch delta 455 zcmV;&0XY7o1h52rDCqc9V%7#^xga1NB(uXItzw`ctLO!=!+2vLLo*&z%H=w3Bd!Qb>lI?F)30Etl&d#ZON6W=gWjs;l>z~wKY7*ye5GPlspb$s7Kw7TL;zhh zfCOzpnm~$t-?d|f5(ssH)eBC@8wrnp0rI=;_vTUT0Gqva>H`>0rIar4a~J{tFcgl~ zQfp%U-PhjwEF+OLIsm(}tN||+?3(n}2f&Qjlx0~|z(8;qaNqoYIlS|y0pQGFfZwtq zq1cwyQ}(L?Gq+x)*W!F@64)s7*KHpF>Qu~CbG`=Z0I0y(W$O+MP?$%69VqryVt{AC zSoVSa#l}R;bjQ47z_#82_G4*R1$$1jiAr&Wl?8lx40v(?+%d5?uYm-296JDf#lX}8 xR0DGazbxB3g17P|ld002ovPDHLkV1gsX%eDXj delta 445 zcmV;u0Yd(;1f&FzB#}W-e*gz`Nliru=LQE40TV;}dm#V-0f$LMK~zY`?UJ!h!!Q&@ z9aKd^Sx7sww9W<-_6BR{5N0!UszlqN@KaQ621k{`!jOJK0^$Su3*{Slu3gK?OT}EN zcZd|-lXtJ3N61+xtBbHth!=)Ofi54AFyegB2kZ*_9_K9NN_QURe+&~n&L8$ZXCI2f z0F8PS1R>ovAYk&HYVnA+WCZteaU(%Ms3*%CfG=et_tG2!$UK#<76=IDH6XQ z`>vfxlt2O(Sia(fqL%RdA0U33erFaZ4zS)?M=!u|B7|^(-@^#_!%#S038j(sx8FPK z)11V@=m2c1N&{ZRf9WmhtPX$~v97ABG+V-8z+?S$xaThez?#7TzhOf{xv6r!r)t2| zt+&@(dATtObddY2rVl{iR4inDz5;XrRABVFu?Gey%_TsE0Q)jEzze4||HS@$Z6cr*^T6P00000NkvXXu0mjfEhfe} diff --git a/graphics/pokemon/slowpoke/galarian/front.png b/graphics/pokemon/slowpoke/galarian/front.png index 43d02deca9cb0eea5b523e3e1a71bdf203ef41fd..37165145acdcff6751d56fd93af3ad27ca08f340 100644 GIT binary patch delta 502 zcmV!K44!{8a0L0ChsDFTwMn_<{E>(g= z4xNk!DQq|xA%iZ~*Fu3{XWK_nu6MP|eb4B(kW!Y|2;2tueZ3mlt%g9H^>;ef;e zJY|u|F$c&LCuI)A5ZW38vRYvuDv}%`Hh}XuI@a&?&1d^yLpuqPBH?*8%7Tkn&{|fn zeWB$DtrAA4g#yRoLtv?8S=O`mppiW3OI5j1)Np_f%UeB78v`I*43ozJJS^kvN^kjG&Mj;k=7`fkU;rxiv9Ca sU@C1JQEJz{TLwQ%Fn}jd{~`ds0ihEK=1C;GsQ>@~07*qoM6N<$f-f)Ga{vGU delta 496 zcmV;2otVU?SP(cEMF{Pl zcmPo;90Wi>F<~8{xCfDn1!aj6YaoO?iBwROC=mugrWPnMy9W`-lFR^+0cge|o2L$d zDv2u$NI`1(Ux`=!6nS%N}LWZVo7UT{mzw^$E1cS zp%jY@OOAk*wq;qbf7+9V3wR(!VMcMo0lGA9^)+n-FclHj9pHrlR)eM(X@4*}7WF;@ zej4Y~fYT4YXZ0x2`Wgf3BO9F@eB+rpm>ySg*g|m~R=@L>s6KCQcPJoleYV4UYgAX52>O4BR4Ja&bx^ZS&CJ z9soKWpL!baT^iYIrv#k@fV`=sUB{_b375;;C8)&U%CfjYrf&^TSaV8)_vH}ry#6X7 mcHW28IbRxY_J{1UEjLB^cE70ZcFho<0ClJCmO4 Sf%dup0000x8&$4UaOgnIyogv72^1Qbyj(dQ{GI+ZBxvXoqV1NEeL_t(Ijm?s=j>0euhVuki3@n_)3$W3#5-jXDb>-#QJQT6k zQtwqbb<0U160m@TDJZQIqZ5o|{1X3)?a!ExKh7!8WSjyxOuZuXqlzw1ph{~1F$TW3U zN*voR<5U!@9I@=%hhns}7W-ec-(G%ShcPhh2Xj>8VKu-{K6?A6*=ev)0A^Z;*=rq0 z)uetfbK=KChX?@O*W1q>{C(Y2^>YrwNM;ZQl`!H*5GL~DA7R9gAdL7Cgb^Jc!u*bv iFpW)G^#O{4*?<)C3_nH z008(&L_t(I%hi%Q4#F@DhI0Ze1{RRG02>`E!NShemCLbtXvJDf-v6CkYt|dO41y+b!JTSIJcPA8Q|56c$m%K9KC&0t~3}c07I?A@Usr&-}%AJ4L|NW1OVu^-pAa* z-_}hzD`6zF5;q2wFycogOyI{0VZ@J081bVLMs&Cfv+gQkO514F8~ECf3*nEpCYGcr Q#{d8T07*qoM6N<$f_I3B)&Kwi diff --git a/graphics/pokemon/slugma/anim_front.png b/graphics/pokemon/slugma/anim_front.png index 8324523bf82d5b37b0689510eb9b57eadeae507f..98d0bd14cee65245df09a2655d029c803bfe9969 100644 GIT binary patch delta 723 zcmV;^0xbQ-2Brp(Uw;CzNklc}YkU;6DLrpF8+fjnR%K`hFV=+r5K0Gk+a%`!0Vc_t?8URv2o_61o1SnVdB87i6U;;hx zWkYWLZYPZ_b!E!QN2MdT?Ob^CB`)z!k(B3vGvck_41bU;U3?wz4G_dR`YV3#n!4&jF>6=*@;m1=3KOO;jF3tcimdv$*=9VS8kMOEb;kx+tvQ?!ENucY7J z0Z@)eivVm6U}ZqM@y!7g3p)S-`1pLn?)5-M=t2Kxf&cRSNQ zpo<#Y2|Q#315vTO&%Kom1ltoHClp|V27;YIu}m3=$xI>n*WL}%+=>Pw1$OsP&-9N7 z7zj5k-PVOCf(9ZTz-%{>O9M&SwX@4`Wz0aN7X$I%#$VH>k(o1&eeeJP002ovPDHLk FV1nqIQsV#s delta 754 zcmVJ#X7E5QZs&Kfp&y2(pQkgf^p0sI%oT$gGb;yB0;eJ1F4v7bL5J z0zv+5PijUUJtl)Wc+sOfep&A$#AUq8fHM6&^V>9F{61NKV}H723p4ykcgWf|03Z&? zpSY(Mka@p}7N~IaJCSXrAEJQi5N9XUT*V8Bihv&Ks+)X#Emd300JpxIn6=oe!;H1> zkSQSKtiu;Ek4~7@O*5r3vuA)X#Cd&n3wBZclmo5cJ zCfi^#N~&lJv}>6gpz#Q-q(9;Y&405bvHj;{t# zOk@BI@PGN~|bm7=o=sur&`z9b7%sd;BChyq- zieB9(<9)wW$OKuDp>`gSJhBRcZblYxYisJ-v2>izH3KY=W(2}fypNsb1%mX1 zjuQ&7QGp;cC{}?O^bm`Gx!53%4J!}|$nK#U@jnp}h|o{%I*Wyf3WVxGuRD=*2cpQ@ k$udHj5(sq>hz~pd0n?_DnRlQ48UO$Q07*qoM6N<$f*itI#{d8T diff --git a/graphics/pokemon/slugma/back.png b/graphics/pokemon/slugma/back.png index 911c884d323381b20e8178b391456caeb8b12578..add53e72303c1557478092f9a03729a3e44fc153 100644 GIT binary patch delta 482 zcmV<80UiFm1j_`FBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0i;PpK~zY` z<&&{;gD?z+IUf%Yxn{S44(S#v?3kzzKvLeUOS1JYQ=hUjkd`!Zde^O24QBYi(=Y!P z**~mO#nYyNs$x;Cl0>I)V>9KwDrI075WQ09D=z~I5jT~sJSI$X2C%Zu`_vG`9oPi7 zS$C%e188?PIRx4VhVrd{2vo5_8&8u4wjRf7C17`G@C8f6rbz%rbJ*_?ho;|)Q|1qw zLNm}qZ!!{e8+y=u*9Hoc8v!r@09vXV039U2u@2lkav)7fZc(xOMlnt`drtlZFpnHo3=Py+)nUi0Z}#Rda^T!1&p;qepDCkaqR zbbvAf$M=;u!kD&;z&QSRnNcQsM4$x9j)*Eytf z=55go-vTu(0CoF4+tinL7%js09CLDC376RoF#XSqC%Bp+C%SrsQKF>|*Cqb;f4Z{l Y11!K>KPuHYXaE2J07*qoM6N<$f|+d8r2qf` delta 470 zcmV;{0V)2=1ib{1B#}W-e*gz`Nliru=LQE40WE@>W{Lm+0ia1lK~zY`<(08g!!Qhn zbG|%4lC2swoeX|W970xets z=JwgNr+b(r($^eI3g?9D;s%)C^Tichc_@jlE@3LsWgV_p`v?D}A1uIIKgM&~5dZ)H M07*qoM6N<$g3W2sjQ{`u diff --git a/graphics/pokemon/slugma/icon.png b/graphics/pokemon/slugma/icon.png index 2d38f1e22213277783604da4856061108141db9b..18b4973a4587b74befcd059b488464630929c191 100644 GIT binary patch delta 252 zcmVXLTgCsNm{^_H*iIPrhZ{dg_K+3xw7F1m~0isGH!^bmq9bP;e+J3picVU-{~9|E0w z5%$ngOI5ef5u{sBj8m^&g;(qjVV?1!Bm02Ap&=M6Dz+&%9(9$dK4cH^A?}{T^5Cf* zo8b`Rw9i$87Bi7zi)QXWs!X4X^xamZPoj=6{e;6NSuhJ_=_eer=w3MB(!Ym8_TPkq zqL6TiSx>?Nfg$Fm$EG(QFgWqiAa#ikE%_+-{;{3|=bY;l#RZ)J0000O{4*@a{l52ke z007@fL_t(I%hi%G4#F@DMRNn6u5@H`w`QUqkm_SGFmRiWkcDKZgh^oNPbMY=+4A)r z+xgGAA3veF+oitKQL_lHB;MIsHz7)(qkx0P+e0Q0?h<9O76DSI}{gRkQ<%$ty|xvv_On29vM zXy*RowCPimzFV90Nz@UhUvO9@)Hqb>7aXeSUO3>Ve-DRh--3fy+h!b6Ra0<4V2F8` ru;|SPG%kD$NFH6`Lt8$=rvW_y1LvIUV-trK00000NkvXXu0mjfuK0pt diff --git a/graphics/pokemon/slurpuff/anim_front.png b/graphics/pokemon/slurpuff/anim_front.png index ffc09684d480c7305a37ec77a98dfe3679ec8aee..fa28b4d00a4a85ed62ba10518c230733bf0525fd 100644 GIT binary patch delta 805 zcmV+=1KRwP2lob$Uw;DvNkl56qy{su&|X5XeyGl@uUi0TgMi-xoc;ON3iLkwMIiXt3f5PchGKSz|u@8Jsd9k|rWd9A98QX(0MZ^5YGqF^uB~lYLy93mk-@L?;kd07H)g z$U1T!^n!o%1-~Yz7NjjA?Z#r;b|=;p}1V z;6JmnP`GEtj$aZv?k}G)?Z+6;gW#>&ShW2D7qom&&VPN!^Sq!4AK-TlaP#*nPYtM< zR)S3+S6{Yq3@)r<9k3<K!16sCU+DP*`I*Y{-6U@`}?tO_i4fJLhC6V!% j+aBH8zOm8x_kY4PPvkwXmU!VoysQDN zEdXu}(E0hh7BJrZ0>JB510FU}2UwVQYXB1n*Q^6DZfZvH{w$!ng+_A(c`_xHdHI)oVtS@jB-3tJ}0F0}E#uybM0DmH8Y&I$o&Fm@U#X3L|?x$UKh?L#~AnpP-3-Erbb})Q=6dNHP?&z1k zI*>h(uEfJV=RLfSkJp7&ZVEL?t`EtI^$=dR^Aj+cci#E%kSr*CB*8^Fet5@aY+`LYRpu*Eu5fyPh> zx%TtPT$a|(5W8>M``KQoz(5?r6kG$W_W9In>j1vO%ADswY2_IF5GFqXa7_!?#&KxY zrhx<@M1O+19i%yiEc}uUl6{teBuZjP^x(6wCJtXm6ilG$z90Kz{ZHk3{o7^zOZ)H62X5K^QtmSE!bWDV zsaEcJb<@RO&kt4h#~jB)g1F57&wf16?I5E}+VXgy z-8y3Yd|T*M{e6hx{2+lOzfge*oEz|>7eoQ6I6lbtjO-k7jY9kZ*Sk#pUvv+a00000 LNkvXXu0mjf(hZZ+ diff --git a/graphics/pokemon/slurpuff/back.png b/graphics/pokemon/slurpuff/back.png index ab1297c0f043bfc06da35d869aba9e8c6d97637f..f8ab4de36f825a026d7d6efec3f5af317a577bf5 100644 GIT binary patch delta 568 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 B{zm`+ diff --git a/graphics/pokemon/smeargle/back.png b/graphics/pokemon/smeargle/back.png index 15575b374bc9b173d2665f978a4f3e8f51f52464..3721da87ebbbf4bb111400977551ab01caa1f331 100644 GIT binary patch delta 587 zcmV-R0<`_91+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z?UT=n+b|Hu1zvQ^ArSTf1iml%cW#I_4-j`u4k>6i@sNZ27!HP#d-hFw56#Jio=Sb_ zyL2Q)Udija^uBWnnxDS!o3X;)>%VLAkA4(C^aFSChkjrjC;bl3BH8uCxEl+RfLQ(w ziKs8)$F&g4?x<6t0RSL>9c4~_hXT4Uz?RKg|L}pa4}g)Vk8cEG2bdJ~S$QJ_0+8yn z0Rbv-fHv@R(74R}wgm=*^U(t!D6L%A=km}15wrzZ{X)RW0XzWE0$0Z#HX9CD%vbOWc5y8-lK(n{%fD#q#a8sxB-j8Zv7>R$ftGg#bw}(E~0R_PL2ar#?OVD6g)q zKC=su2nls&`6X9>-N1?lV$nLkR@W9Vm55U!^u?J-Gic4gIPEe;2f*#m;g^|lzBj-+ z?gBQ=gPkMny@vyAtciZok{ntn6VElw_yMe*;K2o$+B$e(A47(K!n^Y(-HmEeflfs=^j&(SOqx_& z7uj=@!Ta>zf2X6&*n7M+#{bDD>D_hUCjD?7xKFd|6+Vk>eZ|Jjf4vYHh}pl8gz_SN zS_m<_Z1q7H002lw*^@u9fXNH!qVwARj5-JbuoCU=l|bqM>!LlVpoK^Pa&tByKt&ax z5BwVVDvx2h0|tY`E&w13qujQKYU_an`U0$dAz<$S9s$?^->To0cUgq_DIN2}OGV)T zetRZz*#Tce;CY13e%0Sp`5clm)I$dV-R|0I&~$X9DP1ijB$3p(0Zy5vMNr za3l+7z{K>IgE~?3Uj9GxW?E5keeDC`J@=e`$WFG5_X=WIY~C^{qOBf@fV~M3pz8} R6&&$6-*?ogG)2sk0) zAz5JiCIDmPn(r55V}8(Ccs14``MFC1Oo}u;tZkEPyn@}Zd4E0@A?OwMk58cpt|i2e z4k$MQW8+3?FP*|*<-6TWlPz9DP~n8#m`rx2$v8YWLvFsE2m%heyh(@9iAT)N`S<}e&hNdOn6?rC00001sx5Jh!@%pr1s6kDaqR_Ri@&oTBOsf^9)9A=DF2OH}O+Zw}4 zO$s5Qi42w;83KW9v(wG+N1FNb7`wmFyPU)>A4Mi1tWc&zGk=&7v0WulyfeThV$avB zHcQ^BSa{RMBDs;T1sEhLdVDfv>~RvR?)WmLf>#gN9G-nD*qRVOI8Yn}`qK8oY?DG~ z#L1k6juNN9OFtv;SCJWM&=#*{7l*G00*{?auM#o$8B{;_4}W@= iNb+Hq^bL`|DIec7&hNbfe;gx4c?#^9-vVqUwd344is^Sb834ceg?+wfy>Tvr6^Z{XJQQ6zifufyFZgL~)Jep@qJJSVt)E;H(5f@f-zYu2e2efXs7g z0IZReGBp5Ow@I0g(E>|#3!BW_D9~Sg=lrc<4>b-SuYU}{A8Heu*u=jS_rqQU;2ua5 zwHG$n18@%%5oXJFDszCk2XF^Yl}#eMCaow8AwOVsZ61g^ zjKBx@g|PaU;ShHh(8aGy1P8s-Lw|9_dC%Y;=GNs+#}+002ov JPDHLkV1i<9H^Tq` delta 704 zcmV;x0zdus1(ODlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+=q_-QqB z0007ZNkl!EVz)5I_^ja6`)4$p?7dAJ}ZubDC_RtpY+#Y(+vGkmAK9;#TMn zP-~^CH~52I_<%-{eC=_GI8ekP&Z+H*_!}6z2QHpP96_GsHh<6Ko$*TZYPBl<(WsL@ z0baw5)G4#g2;~lOO@Qq=4kM(2zk@>wN*j0=g!4A_uspG;$BDzS0#KU*!3f%85u9&h z9Z)x~z&P(>1#I|phLy1B7NzbX^vPNID|%Z!+B$?;V((~@rU<5eiUD;NoV<@>Df(PA z%BOsE{6wkOCx5R*`J|lAk@%?M4pU_~1gu`{Gkr4)i! z`bKBjCd*J@`Ah?m-Jo|~3^l|iK!FG6IpE9ZD4FVgvB#F3R&E zT41H`V3KJU1%}ISLcBH1!4mNB+5r5fs;HuhN-zFaFBsSZX`^~k2R#6LpbX2~g&d&v z0Cr#(et|4*=n?F}^J9zyPNe zsbU*ATz`}UJ1PV~%CTVOdNG;q#nA^?7aRkWI$NAR&R2H>+5Pcl5}giEU`Ng7FXk$* z&_x7fwwTQ&3RpY{lO)IwiOiaG0^f)Hh&M5vY(fiSgkOl-@X80KVrjjpE=xL2po8*iVG3q`XKW>eukC4l}3LU mF0X|c82sU03@U&4pW_#o6A1BV2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bof)K~zY` z?Ub=@gD@C`jpVgbOu9$>>5h~azz{22PE5dsS6r_agRwBysT?!onwj864*i5iqd8!YbtWc5n`Gng^tR*S0`w+Z9ik z4bb~QvP38h>Qa`7;?Y-rO*kM<(}^G^A|mQW02?q7F--|*(FGCFjxtQL2m#t&eZOEq zLqX{bVD>8}JOt!T1Hv7RZW}^iKc9i?*x!Ca2-xi%aMvM`Jp=G~TR{I8xL*hPB%nVx z4+Dmue&%zhcSbn&Y)NzVzXVU1!8T3J5^q&wypD}m&HGhzQOyHYZw#tx{TTSNJZ=ZlED@eHBznTP*KR$@kuK5O*@5i0*dp>VXs+e?rFq30!87iFa%Y zE<*r7-hRs5ufSypIpA{Jm4z?h`5OBWFtETx7fSqicn^3z(WdaO?SRg93!X4bp!b1n zicmPq5Xc#jP`4zz2 zS4x-#lA8>OZ&co9e~5wYbq!pO?d=g_z^?89e?L#fBLL3=`oDk|4*(tS&3q$ILx1IK zF-v%Mw-R&lzxmZN=4_j`VTrf8H9`9}sNwy(J*nY=x;M_M8$Azv@l~|@!9N}*mU{q> zy9ppUoCve4D*hX@s}6mcRW%Ka(yyP|)A|Me*4@J}556-13jhEBNkvXXu0mjf9PG42 diff --git a/graphics/pokemon/smoochum/icon.png b/graphics/pokemon/smoochum/icon.png index 252551d54b98657b2549d1cfb451205c62ba0119..c210246ea0371e40c9041e1a5d2132584e9490b8 100644 GIT binary patch delta 177 zcmV;i08anS0;&R#U&6%JL{1J zzE|&@jw0}TdU-jj_y511&wvUr0&&O!{{QF#EB~Vk0h7aeRDnU79R8svhricpACVk> fPp_U%z4QS9Z0eA~zad%?00000NkvXXu0mjfNLy4d delta 212 zcmV;_04x8h0?h)DU@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+1AiV%%2% z006K_L_t(I%aLa#e;<%dSiWl3s`*F)vnr}qqA2;^QMGCovcQjy_Htxv`0sYun^(?4 zsNlbM!{4G3*=2ukD7DW*7T|wgUWejT{(bLWzeDlM&)u_k)*}miuiiNwMd0`J@^Vz~ z|9?H7P#_Lj!2cgzVC8>QAz*S?&oC5{!$0)o@b@|`lEd%m8r9ROmp%Y&>X5;?WY&!U O0000N3FQcoUw;GeNkl}DExX+ zPezmQgWAI@uT19IAL4oo;EfS!wU+zrA;7a)aViB6GziwLyHyWy`kJhPlb~8F)oeUj zod)hD3DCb=vvdUzTinHIvs`cM55!3`Ufp$XY}ny88#L8~9T08@rjpP_u?+)5Nfdw{ zP}BTI0e=+L$f7~Zm51mC#X=&&>(US$L<(F4h8alw`Jc-d5eD+NU75~r#DUS`ZAxrB zn|=_V(w8@xGz1^dmcR2%_Nd6FCD8ceL<-y+jiepw(RQqolX4S%Xf(SU%lgyC7PIMo zAXZ)HCda1&<7|4he+{=UBZYP^&3=#VTB_Y^fPV!F?cM+i?Ou%sU2HOP?Ou%sPB>6# zw_d2fj;&Iq%@;!bJJ477$>F8&2XLy;ZgS{{z@0v*v|E4S_&nt!kTr(_=!Ly6veBp~ z{~qrE3Tbxw^8SG8Ur2KwRDgc%LmveNY!v{|83#*HF8Xp=yyMc>WK7&6EIz z@PBVe>_C-)kXJ%oZETaODTktr9;r3l4atLnZAv|0KB9SJS=HXHeQFzIzRGMi-)&Q+5qp{NM5?h#UHUYY7u zJXq`}0=h!l?+p*Ey&w3Q{fBbLH`#t*JX`G78#UBTb9{U%F!(vWB_YOBu P00000NkvXXu0mjf*A4_r delta 1073 zcmV-11kU^A2!RQZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+=)-mnGV z000BzNklv5VtI6o*Hsn95)agWFgbQY3{pI?2wGCX3+O9AY$kcU%*r@g|kD zi#-SORg1WTlnV=~Qzg~Gad9DUwJcYx4DK#qt4*1|A#Y?mdw;fObO~3a*(sLA@6&rT zZ{ED$L+F0}@2k-;%RgHG{HHZs_o!soNq75s(=|JvNdRwS?;M$~ECTT?>pSpowwtmD z$o3q@f-W-JhS@m^B>>ogI4}*M1Oa#0%YTLZaA1M`L_`2!RR++wu#-@$quTX1ugd^_&Jsd6YSvMoyjn;y z!3iO~P;&t|9+Z!1S!4u+^`KMN8SCyFEt?Sf_!45AAAi7!cOB$^!1fZt&wg`GJWkH7 zJqLMq0|^*#`jO^z)K_48XfoHhXBv!3$z7j3qj4gJM|E!FVGe^q4h?oX5;B58*r9{f_=Yc@pStz z#9f@W%YXH@{Xk@z@VdGujC$NAQCm&e6mgrHN3A z^l7n?5b>te1!p1zYy#Xw5_|sp`b7j({40lll60 zp2;2+x@!qIem|}5(m3SzQuQxZEk}8EBD2M0QGZFS=Cf)bR$b>^j86q7+3c!%54TT4 zg?4XV=v!#lQtjRXgetWA4p3yI6ur+myJRSz2kgD=}3uzuQ6`)`H zY<~!X!fX}5ST7R5NEO2AJ!*h5wz5}Q(Gtvwg&YD1e;O*t3@ z#e*)Xsd~9(@t*}C@6;%FSmOO61`tCEU!7rwHmcB2vIW#`knmgJpfPbrWbvs=YKx9HuyL;Kh=`x;%g?I-M46Nmv zT|N^!BL=PHKxRiV9ACFcF^HKhNljzW>^>ttgHfm@)kLA|9zTP>)Q}1XfP|V{ znn!Cj1mQ)eQfbB^+5))gswV_oh^ykl?|KA|P}Pu8y+)r3=;R{+B&=Hv{6s#Y+$!-+ rRt-$%t7^T$)3_Qy9EbPP|KHc&h{Iw|=TBF`00000NkvXXu0mjfmel*} diff --git a/graphics/pokemon/sneasel/back.png b/graphics/pokemon/sneasel/back.png index c79ab812b143d01750dfc1dc81c125d19857d87e..a1c918cc2146b644794cedacbc3db0b853e35903 100644 GIT binary patch delta 589 zcmV-T0;Q@%7f|#|+!PLpK~WSJ4&V^<0(ZrN z_exwZct0@WoChwTSAv~?1@z`vxg=I+Db*ydVMPYu z{xrgwRH~7~KVSiWjE82ZlWjv{MZ0AcqU)AGOl^SSl1%3Wh^*}*v^rof&@>8*;8&7} z!1y+%o>tzH!xgSlTrQ7foVe`ii~Kmf5-zvlR%XWcQ!^I#dT)pc0z6nJW^ssYT6Rq9 zJw2I^e-uz+IcPH5o1P~6OKU2`$2*3nX_Fe1nY`Cpe?9Fe%pIka>EAd$?eR+@c02Fi bkLUdYp^z1kbP&&f00000NkvXXu0mjfmS70! delta 575 zcmV-F0>J&X1*HX$B#}W-e*gz`Nliru=LQE40x`X|X$AlQ0tiV&K~zY`y_K&;?nE)R%BUkt@*+MR@7UbYZYqx^(3M%Fv2A&rshv(8O_K zrg}oUFL!6({Xd>}?IA8;>>|dekpn1xTtLyC;=XXCxG9RF?*L9=e<$!*%t>d8;hb~> zcZ8781$3qet^zu1EL|y+_f{UCc zEq$nO#YV;3fLOqxv<>K`=XeXC>We(jTLDavrkG)71uy}|X~t|7(zFayI<)~bzr?Lg z^vd#hIJW?_a*}t;e?!-R&qGZWBNN~sbpXU)1L#*B0Oi(!R|5d?XVo4OW&q!HfKt{J zf6xvngHhrSrj_`@bf9@?G+{W<92Pogt>F1uRjW(f+y`GPH#iqbn8hAIcA8l5TAYv( z0%19i#2mFUS%NjxXX>I0W^=$>NWpL=nw#P)lO_EC0C*|Ueo(Wv2{ zpn-ryda2W`)jA??8G-5+ikLLE5loWJ5TKduB4{1T7jPS?L68AQBGkG~aHf^FB|X6y}`r9t3apwK%c zqroxp7>MdlkpewHBk-Wd*Y_Vjz@JSjPtv|)UG|p-QIOy2V(BhxH7KyQ4Y9uHTcQ~> z;5^nEaCavSU}d7D0S495KNLx;gBTDp&&o| Z@c|7Th$YM%NxA?4002ovPDHLkV1m7%Xp;Z{ delta 240 zcmVOmX)KIJF-FIB?HpIya*|Yj%*O@|9f&1rtRc1l0000O{4+9Hgp@H=P z007@fL_t(I%iWT{3c^4PhwlwSA3y~=t6;&=zDPI0p^Ip?0=Ci1b8O<^HOf?62wvr zz$r5YNq~phKmuhEQA+?F?0LaB4+!QBf#5=TzpffEJffv^?KY|s(ZZH1tsIKGyDJm02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? z6aivOM??UK1szBL00LP_L_t(|oRN#I*wfFS_gO3LdQAUy-XUrcfo2L$q7 zA^&_melG=D&>nGZnr}C6)A1<=05ti{moZ=u0pQQR-kw4%odTQNKi8)?R(Jw5&6B2= zzGK_F)BtWT&@@e-VjC1~h{45ne^3VuH|Cgj%i@4WxZ4d21>fHp;5iB~!IYODgjn9m z1nc69HhLLo4}|?3xZE_R3>RT>&+aeOzida$>r_B55C(Cu4RjS3$_No1;2QyN@3c`% zwFg`MSWAIf5@F(&+{fWAU_@8S!KYT@i`*BkYXl??Q%F19&G7DWZF6n9e|m*L7<7KD zDvK;vcPzNxvd<8Pbtm8=z&zcLC}2iwCHI#SM7Q^(@03tV-B6G$I{_(c-eoJLeD4T> z4*=9bDi_Nt!^;}XfozbRrie*($`WvbJ&6GD{;gvd(P*s!cw-AtTe+{3bOzu!6DXnx z@W~iJ4_u7|ih!)o-;#U`RG`SZuFtJq0%aOdEp48?=JoOnyrLP!yeQBgjFdSiLj?`M z0LV!?1URK#KPBUtGAS5kW~%1m_?69iz@Ll%1$db1mlD^9lmGw#07*qoM6N<$f`T+R A7ytkO delta 657 zcmV;C0&e}a2KEJzB$0kRF9~o+S#tmYE+YT{E+YYWr9XB6000McNliru=LQE40}$xM zNErYC0$E8!K~zY`k@B7Z1H$%w7co_fV$myeh##tB!kMUhB=i{~$ANGOB>@=AN z%J^_N>?3Zc(w)^P4{CHmfUN5oV&P~&0QW$y>KO~@fQiThr~qnzxts%7MhegX$PW{M z#y>McR8T?9)Av)4zfcA<0LLf2{5S;|0??17x|#v9BLMuxBuBYNpcoX2Pgke=QlbUz z5y!gydi^FlUBw81wz&R$3fN-+__HrJ$8FB0!20I*)qNZ*JOSGFNjpg2vdwK~0Cx~* z+jdB?3Cb?S;9@g>ssn~wvrM~VaX=%SZO4UzZ*L9o90izQ%FA~`Ebra~Gi}mEF9Yp? zupc9r>(-RvEG+NX-I@BAZ;9DX1q=dV5C@w;S8<_?5YYp^5%6|S7j;y7u+@*X6qqFu zCT_`H9BuZH1uk@A>U01A02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00Om1L_t(|oW+zeYuqpt$7KiY5pF^jmtdTut5FEe<_1(SX6BIHQ(nP~8ol555CG7|38puHix0It}yM%s^KIyIn+wxp3HhMq)|M&Es zM96w*y6x@eL^v ziY-9zGzXA2tjKKgdC0qOuFrW3#U*FmKL@uNvAk} z56Lo1-&TbC_WE-obsan8#0G>2j0INePMScVi^yN@!OlQHr$|pW>iz)^eLm_zN+m#; z(i-4w7J*1`WC1Ts4oPDioB}!`e_aBunW=iWJAm67c&C3gQ1jRXm=FWF`VSjd1DM`+ z5CEji$W%QXzNZ0!M!9i72`hjrU(J0jh0z{tuYl3P!~*oRa42x3^0DRWI|sWL?@wMYb@W$_d4(hD_}vS$M*>&N<`RMWY-sumioDE^`Pl6 zCHteVj}NU`O0ssle{*}*mL;yW5&TQjh(KSxU6u$C2d?*IS*07*qo IM6N<$f>=0bW&i*H delta 773 zcmV+g1N!`t2i69VB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE40~MIA zyp{j}0=Y>=rDY3Z1G&Lhr}_fB)XScXx#Rr^jK; z9&lUc#k`2ETY<1+;*rOBWFqa=E1#YX&l=6e~f9 zCg4b^cc02^2{>6je}`LC=nIjMCSZ2UCetTN!2elahojlU-E8SV{BL!D_FvrzAr}tc zExjN#{2jLgZa_mBEQZGUVFQHh96->R0wD(@0pm_H;KB(M{Z?a@q+Oi7g=CSXZ!5xm zef2Ssx{hsfYy(0BMgl8!$8{jkMdZ(SVY@G&U8KhwRsR5oe?A{}A*B)^OlbvhHj6+c zII@5nCWoXp4o(4WkuCt&%v818ZNT3ec%wfxQ1RFV7!w1y`U@LZ0hs>nAOJ|2ky-U{ z_^t*78s)|TC9D8G`Eu?nDGYa^wFHLyV++vL!lA&C%14&1@9gg^fKDiqeeTtEw!?Rz zz-9=+M8dtOeE4M2_WT)gzAj@!Y7N zr-ULvWpy2n4R9zFma%MR<#>u8@h?4B6DhkkfU;h!dk;!AnaOiow~5Sf`4Lc4s!nZy z$x8z%RWH+~o9Jk!X46AdX^7M7ayBIhyl(&odu5r@d+lQfcsVHbaogxY(?Lr1hMynq z8?%&T?Pl-#=5*S8rLL6-NZAaaO|Sg>wJd4+PuKV_M@rwY3hfi`00000NkvXXu0mjf DYRF;P diff --git a/graphics/pokemon/sneasler/icon.png b/graphics/pokemon/sneasler/icon.png index acc1e7d720e899d99d67fa9f97c59f9298ae9190..4238b0e6a34a0af05eac7fcbae351d395c2ddaca 100644 GIT binary patch delta 371 zcmV-(0gV3d1KtCWbbkRS5C`yigQ4K5mpp)n9!gI=nzK@5PeS@M z9>f>WWAU~S3cUv6lhjh^9z>)Ytxyu0ar3n^5xjbEp%DJvnaw1>0Q~VnE3T_wzT_Zt zf96{AmMj3$T5o(%8j3W#aLBUs79fc6F?e?JBZ`MHML? zEf3&eA{B68G5k_y#;00LNtuCoV#PDwY=>Nf=OZXm5dc|CwhK|>Hcdway+s!O$EpR% z;Tl0=yhe~PR%{E>F+b&6P%d6}El9lmMi7f?1+l1B5Q}OBv8YCn=m}T}!dOtR1QFjl z4g)91^5=n-Aa@^rTwGRyW@1=!f+Q)oC!uH{Iee^a(er_XJwR17{R!k(FyE(F%uq?k RKh6LE002ovPDHLkV1i8GrHKFl delta 388 zcmV-~0ek-51MdTnbbkN`bV*G`2j>O{4+9&27Lkzv00B}-L_t(I%iYt>O2a@90N{Cp zq2Q^PJb;HDN>3imSt+t7A$=MT;tS}pcv}bouYvd^wG_Gs5$QxLl!Rv7{OwKzuO3_o zgvsvA&h8h0KORWpy?%=P1(0^P_%?^&MehuDEXNmyd z`@rGhPMHPZOCKojv(MQAjxI-;rjK?;<;w2g(o_+;oPgnZxC4yWE>dkTY)-xElkoQS z#+EG-?pB;!9-6ZKihN0^BIR2v0@#~K1wKF+ekn8eRS7dzW+YCme8%g|*ssCU36z-# z028L0B@K@JY<_(8d{Z^0{)d}*VIze7k zC&-Ix1&N%1wIGZI^;!`7t>ZYbg2?|KSPQcIaP4AJ3z~~&*$R@R?3|RNk>v34MCHH- iG7bPWV15Gm70frMSIkiRQo6hV0000$&(OSCP>0*Tr>sq^r zSxAMDtoS+_LtI2@A_`L@AzAPMh?FS^v^)V$eJGM$(BNlaX77X$p4mJ=Jk?3_yKnz$ zzfXu=-PzJQ@b`_0I6`aJ2Z8}oqp@G~4I_~s;_pRK^ce|d?SG+p2tdICrL{-%cc0#{ zV_0jSeY^a?0wn@pzXOnwQ3;oU?!!TLhpLh>)IX z2Eb7)WCTD=t|ZItSptAG2xx*(v$M^OG#UX-h}>Jveip;fgm9>m8s%4Swl0d)ojN&< z)#T-HQv=3OfPb>jhhh!D5&?2E*N??2G~EFW$o6D ztqU4ZF#?g0ok2{FpsuY=O{zPCWs;g~djveJEKW^#X%a>Cahao(*`m67)?&X)-IjV5 zGa$OvHP;7;8Pt>&0EwQzFD571*w=5_X;S(Cl_f3f1An0Mk-sn0EdsmR)vo@nTWlR{ z3?D%0vH#peT8AF{&u#O_bM~K?*10=t|2_0PG96`VsX{y9%A+M7y`t_D;5w3@7+R3U#}$`(B}cS6?Ht|Byzt1zUB6ObJKiNKyB{z zH5e71(0NK_Lz}ypQ0=PNEp@vZ!gSm?)f@}-?Fwq{Kl#3t` zcK#1BvO?1g5Wt%!!!42a=r2%_8AaJWcV|N`Kqxd`1fmX|Q5;~j&>b#7)Yh$wqGCgi zi@sH5QaS=O?hlob0*(7)Uu1N`aPD7Kbkj*7F)Zc#VE@@T^LlTYlrMb!$%#K6?DE5% ZuRpn+!8qeDOYi^y002ovPDHLkV1m)=Ma%#I delta 722 zcmV;@0xkW92Bij&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+@v&K-EQ z0007rNklv2GJV5QcZPl1p@Zb_>$&(OTNv>SBcs>sq^r8AyeYtk@lm0T)r4 zh{DuJNESQ*A|(ZZmM6fe4@I&I8vG3G+?^=M%tqAlR42`MvwwR#d-MN7?Bdpj)=@Zb zOcJs0R(Ve_KxQ=Ni@sq>W`MkIq;?i~#|kibPEB)Op}26*BQaN`8sU z;naFS8U!?TTz~V^?Ughd0ZkOSv!4GfhOvo#Qzf;^uiku96j{}EavST(^WnAzjG+Jp zPlsaTffWMeVQwCZb!@r=8j$;wO@hamFu>g$e)~%+O=m@Kp$!n@t=0t%s1$)j$j%@o zS5TJ#naOl#u(FwPbhBKVneNJ1<(PXp%9tanqX&Tbu7BkKHTOifyyXAh-rUE`@__1v z^J4PKjYIhs%!$T+^-7uw;-A(FU?BYLkJ-PwNZ~)4H{O2aoIu6Kx4$Y9~ z}HxTD9 zSU?=StA9Sk@RPa%`aDn_MQsnb5_z})&T=^0UNz4YP>XxheyUO}?%qK}-q%q;E$&vt zk&G!ow)H(P?pB(}-yEW;agwE8+(lzSt{3=Wl0EEHWkI~z`PanA5=ApY0B@d*uN7&J z{sJZGQ55V|cQ)n>ghJs(AnB}lz-Xa6oPnsNTT2&3$(o$X`j(~1XbaG&zYj+iXw)C` z!Z}|3%hCnae?D^|`FCR%)ZVF`J`+Lz5Vi+9|8VQ$54oMeI0sw`djJ3c07*qoM6N<$ Ef@=?04*&oF diff --git a/graphics/pokemon/snivy/back.png b/graphics/pokemon/snivy/back.png index 2f9eaca6e151349c07a46c9352de104d7cf4ebd3..7a6cd028b153311c2efee79793d47fe982d82b39 100644 GIT binary patch delta 559 zcmV+~0?_@C1(yYoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q{vgK~zY` z?UON!+b|TzpAcj#SP3+@c(A4}0UJY_C7XwSj0A(uP&yr0dvmB-I^9(0*6&cb(l1cx zP@N&$`!0R5b8V#9HdB5+WH<=mC3My&)0IM-(WH^-0k!Mio4u zzO3y>v23RR^X=|l?X}*WO_Bh(zx(l3>+=Q7ojaKCpFUrQ3s^S%^3#T&O1E`TZ#CQ> zPmf;mtD2=S)g(IZt4=F{#r! zm@|5=2VOj6v*xhbJAD&8&KGLn~Zezo31l)@UX xvTVly@^FpnKdt2rz&IiLxzjZ~=U)flH-bnNZ+(;sIRF3(002ovPDHLkV1nWQ{UrbZ delta 554 zcmV+_0@eMO1&{@hB#}W-e*gz`Nliru=LQE4112Ya-GBf90rN>jK~zY`?UgZ$+b|Tz zB?Q?HtOV*?JXlkgfQ=x{lFdUuMuI_SD4hb<-W;lyPB$IgcHg0JrC*@Xp*lmh_g(sA zhc;H^TifB@;^F=L{QFC?O~`Bg$3;1Rxjz?z|9ZJEgqsF3(N{J(e*gwxnM?p2o`ra8 zt;i>c43N03Dl1$x3q=5qwyLU6V##?DQRo4CTfIjSC?X12jrEm*TSOH+pdMHD3s2iA zzdqa^_xp#N@c^0+S9Y54Q|Y!I#aj;h$FifB{Ghbf zql|NLlGrpK;b^ekf3C5@EQA(1OWI931N-#K-i~3c*}W0W^0oz&j4(e2D(IuB5hH?~%a>v{}8g6o5pNZER2O*2l2fZO2m6lf~m6l-fu0MP6& zu$cM1zS)j5Y`_Bxj3N?d57HVH0)7)aG!;3srIBVIIY!{Te`(GR)NmO9{T4$1oP4&W zW|6kr%cDG0N67WAbE*g>0wBnFk{AGLcO9fEDuKlbHCYEdwEQDckZTXP03anm<{_7$ z0`NLT*ym%t^r#;c@l3_uUp ssD4S(ee~mkAO!FGPS>x0i+@nR0fI;sZweFslmGw#07*qoM6N<$g4$dJfB*mh diff --git a/graphics/pokemon/snivy/icon.png b/graphics/pokemon/snivy/icon.png index 251d3901dbabb5c15b749f2c41986a377e2549c1..e423ad152911bafcc8ff6aaa93b0b400c6ef117c 100644 GIT binary patch delta 288 zcmV+*0pI?f1NH)tUw;7sNklhH-5Qg&x`#yL&Lj`AU4KrL6mZ!l0l^1gc zgKC&opES3J;t1rx2%YE~n0AdgXRDYAg)X_usJnJp$wEYU{ zWme{)rn|EF7)KSH@U||IwO8Grx+B=}{slbc|G@%?xNyakP0VdEUINf{gt4VLA1JpL zKWJDwfC@BVz3H|ZK02wfN6#kA^`j#lYDaIOtqz8yTYCHHIU_5a0~}<6 z6K_h&&3-5PF>frTT<^pm#;xU&FG4`%Z6D=0Q6U7fu*?FJ`vrE&=HDiLRy24}@8ZeQ1~)fHG8|t?9fR zUOSP}2g@c*4QdB#p>LV0n!Tp*anhSH5baI+Cr!vDs0OAI4)1rsuyR?1%KskE aLhD^&?^ia7pX-08;$`^!$>>OPXbqCAt`L*uDR&kFii8U0OPK<~!K}CY9d-MTDT^ z_i~N^F1)uRIM^D^#Y7>xjdsWZ%zT;88*q9}0IR);fl5#FxCpmg1Sqtgfq>%vCkCoH zLxi57`Y00M+N(e+9FlKWhgLw#eGyXjU2MRZz6Dq}g%|^;YcoR({XW#TI$9-*HzFA2 f-}RzFPY1#-FGKOi0%ONkl`}-}Mpzym8)^ z;9zPTuVWCR+n_@haA4#2_;m-)bp#mg#}Fv=XXTgz7>A#`HbFxJkqiINyfpW9apvv6aD7vN}3V)+jyKn>MZL Y9|Vg};IZri7XSbN07*qoM6N<$g6d(YJpcdz diff --git a/graphics/pokemon/snom/front.png b/graphics/pokemon/snom/front.png index f078fabb5cb8db737499ae3b1671f6640277d291..ef948108df01c1ff1af2434e058e08f040921345 100644 GIT binary patch delta 324 zcmV-K0lWUC1Fi#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0S8G$K~zY` z?a{GL#4rp7;N+w-lT?T~4zN=fUZ8yermhty`ECUXd^5vcUg6#rHyj8lE{rhLLzn-H zW2a`RrT(<6`vt`2{KtHSC?L!O=x)#=HY5 WVp6ZUsZC}80000n7US+WNrlsd^5vcUg6#rHyj8lE{rhLLzn-H<0MjzS!$`j zEbD#&u{rxOUm*$z^8h-$F}~BgtiYH{0k%aQ)P0Z)vF_$T+esz>f9C+U5gPy>oqkp; zt6?e^dzDzcy>~v7SofnM&M%nxEsGj8FdX?LLcG%&95dKupv+*ea?UKk!=@B|_{e3C z0D$EXU*LIa5lc{=a(>D~P&*!Pi^KX`?Ow6w*dMOa>zDPmHuAPDd& P00000NkvXXu0mjf$O(#s diff --git a/graphics/pokemon/snom/icon.png b/graphics/pokemon/snom/icon.png index 33eb57ad95243a16a75e6398f51e1a2fe562c9fd..d402de3f541478a681528877db8783df392c3ef5 100644 GIT binary patch delta 196 zcmV;#06YJ`0#3d1lILw$pP7)=2aAF@*+xA9c?IEV05C?ViA z^f&HeIka25MVn>GM(~_F^+B@A+8JfuWq$cvXss!eatOo=e7sIs%M{L+g~? z@X*dc#;{TYj~v?@;v=@~t$ng(q$%){63n_Shh?XJp+5j4%RLf1U`nNdfT=iS2BsQ2 yQa7W1)~b$o7L&j`@qB{3(OEYQctx+MHoJ+V2fh-pnm;wd?-|XH~rK53%hM*Qmk&ONB{r; M07*qoM6N<$g0E6rivR!s diff --git a/graphics/pokemon/snorlax/back.png b/graphics/pokemon/snorlax/back.png index 6b87255928b6aa8efeeb93ab1363632bc6e7ca6b..8e2fc9b3dd74492dcc66b2288800a35f22d631ec 100644 GIT binary patch delta 362 zcmV-w0hRv91JnbMBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0WC>HK~zY` z?UKQ2!!Qhn9mw4=4eYi)!;tS?u%Jgh%TC#8&$_+9Xqcc!&uN|1v6b|?L4QIp{9i2T zSJXp)Q1Vx1U4A6#S&;v_A?cKZy;u5Iirf*?V-=_e=a+N`SngbO+@i9qKyZrM& zJbfh@6?Rbfe2c(A_A6Y8b^>;y9|DR0RAnuoD1QZ7=VTwd%N3eM(b^SaKdlkBt{64| z90zH)fY4^O34|IIZvoUOBOBAfsQpUusm5B59Z$eR|3ymu0#vZ?Clx!K0RR9107*qo IM6N<$f^12h)&Kwi delta 352 zcmV-m0iXWV1IPoAB#}W-e*gz`Nliru=LQE41Pd+T7cu|<0V_#FK~zY`?UONT#4r#= zEpRW37}90W5JvsRXkg1ZODd(xS(6KdH5o{$$Q#9$rLni&Vn4;n zUj$#nOrU!f00nSPK7a(UgQE^1G%WzoxdwVXj^C3PUluz7Acjd6f8!$o$p^ehIwJRR zkS>w=0uVAcs=mg#7=qF=pmY6)+l( zNl-$_7l1aLf*x4{+Ti9+5Z6GPI=zHR-sb?qx|LBr&w(nR_>?87UHN$=9zU~;Dtj83 zrzHXh#VGs{{W2+%Rv!aNGo`Er6cth%os)eWE?a0uYd464G-}lr;|_qmG>b)mR@CcJ&KXu0@?kb1^NV#Uw;AxNklBjE6vxj3ligN5r=RuJ)+ue%P3YCo)ehZ5%t60FKSAjpCclS2E9QV-cNe}yOZF@ zSW|mjoxk*3;h`Jw!=W4KhGOKLa55E7oIs>}=ZtPoO$UcAK!0iFJ3_RcCXmh?Gg{FV zym!s$stgLn=^5Pw09O7ZdO{62LUzTc+SlwKGmmp`g|{q9!HtiUs_)}OYSDOO5wONhyF*i-9o zvB~iT0~^p0LaC22uhP&x<3=GRLAXw8>7Vg8SBu zYESwiHU$ErFD-o}#v+Cq7~1Wus4n>g?q?|Yuh0npQD15GWief+RgM}O)F;tZE o8{(ssvL8J{eZafD-_(DuU!TY!U~|=;6#xJL07*qoM6N<$f(6?F2><{9 delta 588 zcmV-S0<-=41fT_wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+`mPUd^- z00065NklF>BjE6vq{T$Zjc~+sgR>ZG`r7Pwi@hFA>=c_KB_m>y)67pWJ4#s4`+Ly? zdmxAsd%%zQ$lBp(${$$+u?(y|{JxwHZJ54PGO$4GJ;$ZgL}~8^zhhx8_#8xsfwt;3<>q58FalE6JGwV)7*F%k`I3m-q)mQ=rGWlyHauygj%9{*$sw)iefiOdmQ7qBS`>>P$xlzWHy6Ghq9O>I*YRn)gCrxhi8c?~Erw4%(Hn*t?o`xHnAtce` z@JK!(iByw?T@xif_P{($_2|)Sl)z3&Kz-T++NxJh;>V$m@pwt#`YVoS)5cR~#h5rpCk&}Q&H>>?}#T>!K!?>*`}YQhH<*&Fxebt+ke%cD@lF;4wBpr ThU4lT00000NkvXXu0mjfM;Oz} delta 470 zcmV;{0V)2*1ib{1B#}W-e*gz`Nliru=LQE41RF3{2UY+80ia1lK~zY`?UhY#gD?<< zqe$#)tL(wS2Pnw}0GD+@jKl#VZqOq{<=CC^n7?4Bn|7Cx5F-BOy*C3=4u@C$OR40S z^K<@`IG)eXiPObAC61Tc5D^wI!;Od}C}4)cm?|iN4g*P4A&HYge*h&+NCG2Rg^&bB zAd5OEfdGZ9gDEfqN*GS@<^eL=!i@*8*bfWN0g2!)rBN}119gaT)?r&#W$vNeE_6t~7;3pu&+ z=*klNWJ*UP)t!*+x7^H=tXc0KAAtEB;Vr@DaX$V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+J6hTi)aV z0053jL_t(I%jJ@>4Z|Q10NDU#g5SXlcodf@)0vWSkle7EQz6k@NR|J$F=1iiTmSx;=|A3g0q`})+ z(?c&tS+m|f-T?DB!c)F|*A8yMHQP9(wVO;-QXHkVhV5si?HP5 zs;W~|A}4bHGWjwxIsT*ip3jNT@g+=^ij-F}Al}En_b%tikEU(v zAJx|GD?sUZZM(RIKCaD2`>1-hW(cVspz3*R%>n=*2c6vit$)RYY6&$FsVxKjZV~|9 zIZ)_o@2mx2Cjrof3<2D011Gt$KBxBSb0f;TXWU{)3Pb)zz>TMobPMf2>lU2l^o{Vnl?cv3n2egLivyW47!hSJ&|1%5Jn+FC;STXk1f=7 z6h)87hs$G6tAOx?UyKE-fXIi-V~ni;csrW06@VUv;k>T~ranZ>U_jtKEBcx~VNo~> zLdN_+34dq}i1vKu1v55QjfjDO4`9sfsfcZs)VN^|h6=*JO8VZjd!IbS@ZSnX zI$?!iECM9KPzOkYp$?D)LmeOqhB81F3}t{U7=NmOj9}y|D;SE(3Wkcv2!?VSl3=KS z!Z%4URQ;RdR4^0))(uJp!`R8k!y%-Ckprv)=(i-nAXZnp+p;KEg0He*kk3{MP+o+5 zkOYHQN`NiW@1!FO#sw$3X+$3aYO-K-+AznS6Wko(9hMP{bA*0T+nNWs7_2TM82Bf5 zIe!{&rte_PUxHb|xC9%tg$>3sSX&kh9qzZq%Tvc@{6|(Wbn1*8GdUA8PFfO-OB*~? z%K%xyxTJUi=;A$nB?(4N)17#40uaAt!RXa=TdZ9w-HXS^f-x9k2b)X4+#lE&b3M3) t{bl;8KX{A-*}FB#AMkYJ4{x;o0xc``hY%!|N{j#i002ovPDHLkV1i$KobCVs delta 952 zcmV;p14sPm2Z;!fUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+`$Xg^Cw z000AQNklKX2MV7>6CnLRB_H=-f16>6TnkrA$t8Ay&x3pR1})s6mDgkovrb zhU?s+>Kw9QZ_VUm%w+tb`kv3g84fa4Y9&r`gz`TAy?4F?KYxa?9e-);ymdVNdc32 zu9yS_l#b95Fn=k~^C+vy4$ffc!8%Il2uYwJdi1Ezumnuz3}Kq(78C_Q1OW45_k-+# zumQV6u1U%Oz@s1pdI(^^267RMIo}a-ak&ArL`^~}4ZHV?Qr~B3M4!R9L#Tss1#Y(X ztzxl;5T&$>Qvl=IH$qydS^RW{Pc3Wz5aSyGbmx0vo_`TSP_y~r)Y`)sAP6AjR^2WL zZ&i-bzO{D;8L!Ww-p=po;RUI{acUF+vfx-P*F~FjAJALNf_AHQ!`PL8*epWuYTejH z=(hx_aax&#>05gf>SzQlILWr0`gD7~?JqL5llXx1%oQIJXFzOH;ggl6* zd}OZ!BGG_zr>i4&c{WCMr$5jT;Z;@-p4feM;&TDXb4rXylf=;h!DRY`$1v(i@~mrd z9ZxZQ1u(8B(MWfqOg#Ip)|2PWKei^ex38q_*nbMfzaSXKOM)>EPy|CCpa_OOKoJam zfFc;$097!w0jgl=0&;?}I`V>{`{~LFhK|SyhISc>VCaCt7ez31^_$~`U}yr|8?+D% zYi~6kHen$cD}Z|d^`;^i#O)||yDk+<@L3fM^3h!YR18AiDS{!!f&g2jUrAdPj0-_@ z7Jm^v2(VSbXt$t`*O?nFW$+Hm3C1}>KdI-=0vHCX%LxYlAzY58i|P3oiH=1!RQaLk1?GkVCD~egoPg5!ur_g?_V-4_B6p910_p7s4FCdX1dtK#=EV6*{M?iM8kC#79=|0?^G^15P%{oeNc1&1{R9g4glyf z?Jz{rLwxL~J;p%N!$kX>%Xmmg^nj$lY%U>U53|@P334tW;#Lp9QE%rCrf2YJ?!kcR z0ePBwaE$|i9*0DY(S=7|BmrVNm26Uj$gcrur^hU;MF!<10);()&Zi}$9U=!c2h4a_ zF#klYrFD8a#%>A-@2EKMEZ>;f#TLG42xz=vz$O83jc;foYBq|sbp)Ip1EBTf7$)u)}O(Y(n;NxX<3I@g!>m2fNn+$o3C2*F8JDHgdxR$^L+s6H> z?EsP(272=cWEH4?x+=uf#$J8&Ley~gKj5kjffCE;{UG6LXmHD9A#g&#gWA7zSO4a3 zy&<5jBG5)3U&H=V_H(Fx6RrXQ55F!K_IUE1fY#b-4Ah&;D+4Y9ZsV+`<0Z{kM4_m9=;9co6zF*=WT*8l(j07*p#PDHLkV1m5Z_o4s* delta 545 zcmV++0^a?T1&0NYB#}W-e*gz`Nliru=LQE41T2W^qFDd{0qRLaK~zY`<&(i`<1i40 zOAx(}7WTM@?A73d-lbQw7rk6(G`8#5QhMJGBx9t{ z|38|M@9w^3tTtZ&$K4kK&o=>a5N~>O!{k_sH&y&d14bKA{F#3=NGC<%| zBpnEVT$O3S05T6L4}otJ06O8Z1&I#$JC!L10#HQ74~h=JK%$842!Jl*4r4?;#OHq8 zV+uq)Ot86AeRy%Yz+V$^>*oC1_qy&9t@ZPkf*r^*Ej;` zafs9yTzKR~6d+9wThqo^exlaWI=viX zHwT2Ps5nkXT@R4NIMDl_ zAZt(6)jp&y^y;%0qJgJ(kE_;uN-U%IqeRs}i(4l1o)ZEN)c#L@_3wW*YXZ7D0A28L z4eT%FFo(vq{wfe~@OZhf$E$M$bk^2Wpjlu3GEfEJAEx$q4|E8)H7>9N#@WAe>Vd|E jm;$^qm{b$s7k`KkYDUB{hE8)u00000NkvXXu0mjfp3(UP diff --git a/graphics/pokemon/snover/icon.png b/graphics/pokemon/snover/icon.png index 6e2f5a8b50fbb2a1067b9788d321e708bbba0cc8..56c5c124a3145d6a102bf00ee1a88bd233d1bbab 100644 GIT binary patch delta 231 zcmV1)~V1LRPm!4;=G69EPSU_>7R1IGXupf4~CySOAe=WG$O heB|ukkL169&l{}(Yz!|kQ1Ji&002ovPDHLkV1m##Xx0D# delta 268 zcmV+n0rUR90^O{4+Jsm?9PAy z0072GL_t(I%jJ@>3c@fDhVur87Kbi^_yoyKE(Szb9kgrvOr=wn_SKZ)s>QT})7e3q zyH2j^ZTb1{BOISnUpI|>0$3S%kD>z0NQ(++l!4b6@f|QI1ApHKh?X<^#BfMoF^28H zVv0snC_HLCn?#{Nn;I>H!ggO2h;?AJYz*Yr S-17hc002ovP6b4+LSTZR6>>KK diff --git a/graphics/pokemon/snubbull/anim_front.png b/graphics/pokemon/snubbull/anim_front.png index 304a93050baa8bab274198c6961b7107b220d4bf..b74b9d6a52242ef203ebc4fa11b27663239b34de 100644 GIT binary patch delta 803 zcmV+;1Kj+V2lWP!Uw;DtNklSXE;1AJCy$;14KLB}V9fkVr`E;WH$l+_xtC0Ugr+Md#3|;d`XNH3{uv#f<6}b-(u)e9kESdIM8yziJV`?qcC*LJ$>m-(WYG#*l7fo{ zwm#{B)xqGavM#>E&@jZUZ$sXQ7sIP7(`EI!*r?*_%cY@x8kMVI8OylIF?SxcM+0VR zs}*#C@#(*I#9)swX1eYvb1R9o;xCcQH}_YoJ*L#_I1`w&K1+mz7x~?mZR) zzN7*xY_jl{0f*IJPW(fFO%`{jGzC_FN~iuo@>5Qf)qiFWiYvP;&7$7MIeVbdZUMN# z_TZ?n2dsFR%w{ zZS>P0S3wIX?5>SQjfl{dTJ3gm=iO-3WqTmCnk7(ng3*t+41@;Na{)na1G+|8+%62p z3N#FW&24Nj@?7eZuxzjXpfDJ04-AqM+!T9|F182aZ}y-y99#k{um`Jy;bmbDh70^d htsJliOaJiy#xJn-C1@ZnM!Wz3002ovPDHLkV1l`jj2r*} delta 837 zcmV-L1G@b62A2nrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+`{0*`C8 z0008|NklF>ljA6vus%M~1vy$WR)!IAVdxd9Djgb$uAOTany7vilgi*E0en zI#r0NV^xX4AD~0Czy~N&B}V8sNF*fo@SL1PtuU-C^6Lyjyfi`-U3V{D($62lhssh;Q;aj4o zZw|Rv5;e`XDSfs@>ES1ChyV=`QrT$Y{N(Z8fmH=!R8hw3NKt!qLVx2OWw9BsvBQJ= zA&=_;fgV!2&RfanLKjN9Jcir@4D=JYb>M@b5S8}K3V+0fQ-GoX2+`F|(eNJhdId)t z^?;?^$Gy{{sPhE+Pl#91J6bqW=ovmSaZDgxX()nY^K-csh=l>LH))rNV=RvKDMF;) z3GJTZb3+l*i%Ot}rYZ$QWr`DCq@fDC+2!rzb}t&LXay}v!C3=aU-ZCYzyDoXXFp+J zNOAASfPW9-+2G>BbXk2Z530EMc7DrcciU|@k9pit_1AtHFi~5rxC>|UR448u^}l*5 zJ5@aq$yOWJt}o0ascF^!3TRe=k@|aTSGX4}Ub;EdW>89_*F&fOQc&)n)_R1EP^V z0MID&4SPU(-L&!A9vFZd_CPNvV|T;$z@+}%sj}5G?15Su{`N;*&;knMrQxs<5xP>V z-7an%42Ln>1L^8@S9XHouYCqWgX+0}AlCt1qb#nM24evl2EgVqHW)=A^+i~=SAS9( z3_i982FVHTiap3?+XHc%J!lR3=KwS8!D4@KUfP4f4F6Co?ZMnX{J-%Bu=OQqLG>s> P00000NkvXXu0mjfW2}mQ diff --git a/graphics/pokemon/snubbull/icon.png b/graphics/pokemon/snubbull/icon.png index 07a8af2d6bbb59cb5a6e215e9f6c7b798a8920cb..e8547622b54735276d35b3caccfe27664dc4485f 100644 GIT binary patch delta 228 zcmV!@KB6bRwJOu%p)&e^>uC7)}Qx)4_;O e2E&{T=Di-SsL)mL)y-l60000O{4+R2EC!W^; z0072GL_t(I%jJ?W3c@fHhI51LBK8I@Zl1$a6`^OSUE~E`_69mTh<6aT6w*j3NQOKe z+7PqYRej^f|6cO{{EU6oa7uvJHW5HZG4iMhq@`(*w~B-UDSsL}0a>dWK#Oh!x_5vz zn(GJ{RqI8oK;d+l1L|8}s-_EIyE<%8U>DwX6+o#?P@qEq@FslD7Y_#%Il7y3K}BpP zH~R}jZiZ$4vLhpfgVQn3;vI)tzGcFPo&AvF@6LY}hSI|Dv@mQ=VTkP9e4nnU&{aWw SxOxBp002ovP6b4+LSTX;Pj68G diff --git a/graphics/pokemon/sobble/back.png b/graphics/pokemon/sobble/back.png index 49f1773b8d1a90163f80f0bdf02a4c2dfeea3a1c..c35b19f2d7baeebd8f5bdeb738f99a205a8afe31 100644 GIT binary patch delta 361 zcmV-v0ha#51JeVLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W3*GK~zY` z<&!;X12GVV1x7`h#VULO;S+fKfME~dMg}$MJm4m0Nuz~n_H0Xx7u@U_q8}^7>`0Ts zonJejX5NT5;^m}Nz253=l~`%5yBhKB0li-{z;@37x?5L0R9iHfYjH^}%8RU6n~A8* z5KYSfJ7&f|7k$D{RDfoG$L@J)-{<*S281-|We&yq6{Fl&0l3$(cLfVQ0GtB>^pFXH zVv7^m;P?w5jFiPNA&o%%B!CE#yt delta 347 zcmV-h0i^!Z1H%K5B#}W-e*gz`Nliru=LQE41qVG%YFGdO0VYXAK~zY`<&!ar!!Qs< z1wq9&CMt3PkrTxILcj-bqkx+2Jdh@5*+zzGd^WKmfiynDT2{Pl*wM@u>GIoon)zQE zDfMbHhOgIl%MvSVZNm{?6JYmi0od*Zz&2~v1KXmqQj2qLQ4X>ae{E)hnW3s$0CvKR ze+GTRO)x;U6LX&H_i?;1OQ9W3a&57G!CB$60Nm@?hk}J30FH?OddL-$<`x~<;P3+= zM9N~CkVhb%2;heO{d`iSfZrkj{{ResJwDViNC37H5T6fd$%FPn3Uw9kK{@FrtD^vD z=R7yz%>#4`5h7U!Q3#m`Bk`7bS;E|(sOx2!rmgsh^up#4Lm|Oo*|y}OBfrEF@P__W t_*21{>9|ARxAelArr9JD1O0DaTi@f42k>=-Mlb*X002ovPDHLkV1gS?oTC5$ diff --git a/graphics/pokemon/sobble/front.png b/graphics/pokemon/sobble/front.png index 50a5b4e83e9762ac4276258de536431c026ae93b..5207e93d79d037bbd8c07e3d25ef35153dfdfb59 100644 GIT binary patch delta 490 zcmV;Pl-Ol32r0D|M6NJJiVF_Nf{-F4SO~s? zps?u_6tf|Mf>$`t;2J-g+q<*TMyEIq=Eu%|mtFQpE0@pc&lDF@L7|uqa!VPYkO_*# zQtAZn8z3uVDKlf~=RsC~hQ+kL!#Pjw3jp95{WKwVrvR!+3&74hs3(B~=l}!aySSK<4KFWDHcy0%{oSd-&*;Er3;jR1gF$eO)oYo3ntI zKx=(#K4Z^-MjW^=`mKWTg8}mx2OnY_wUYpINsoyT3*ItXfz#6Z4kK*mXAvhB;I}ld zp+rPK4xB3EM@or$*z}QGCWtzRXQeI#Z-%BH2PA-`IZ6RhWcro}f_ynLfTkfVdk_;p ztm&I3Mg~aB9$e-{;1kLyBuQl3BV*i`X8dL-nY}n5xkM2rTzdyLX*!A$9-m8}f0X$6 gzQlz6*RL02ubY$Jz6FOSA^-pY07*qoM6N<$f?WE|U;qFB delta 480 zcmV<60U!R;1jhuBB#}W-e*gz`Nliru=LQE41r6PpgGK-V0jfzvK~zY`?b9(!12Gf_ z@au5vL8TU4+bK0A+fB#S%qRwf1$FR2}+f0P*}|Yf2CYdsZ=v3xZePI z8LPP&t3MC&GOT3vZ9+(9p8^2M>1PRg@ByG<+5qqb| z(B6g{c8t@tlA@0-?y9)Se z;Jk|W3gbrwmM{%IMV$0Zz;dLBr9>>bYp4ZwSBQH|uvc6}oN0j96{Lv_5xq398x}d{ zoVKFCL!y~LTLfM>zoaCHR6h+Q1PwV^am>R!0cU8R*Q5n&LLVL;IX=rfY($NSV|W>IJeT* z@zliJNZ*M0_Ps<c> z!)$)=!C~s4ls`*UYjL~gylb|rt`M@E-f`Mwrnf>*0fEuz(ipM);3>0Oie+gang3JYbou$i?-4I_cBl&O;L134(p>!wZTDf&O|60~n0z0x*7|-bVliu<|wn zFi>FSIp89QAxWdy&S1!y3eHi@V92O{4+RoXkdCte00A*cL_t(I%hl4oZo?oD2XNlt zmdusv2S}xY*Hjf)N*5TMTj}d~YUWINw;D^Gu$ADUiz!NC8aoxGL$`R{KRT$f}L^UN^QQe!3YD@tr`KkALU%m?L&Q4e9L)#IU)P zT|0PD@?4{C@Y(~E36^7HC@rPLlWExg6%#Pv?K)P z>mv@Jx4MnMgj|6J9}yV9GT4Z~K!Ii8fU_WmjAAo^A!jN$M?HZd!-gu3asm@7C}XQ; z1_RX6M;U=3KKoo-6M-S#8Y3exAZhRs0r>+yegO7_qp#Ylh1mcA002ovPDHLkV1hf+ Bp*a8m diff --git a/graphics/pokemon/solgaleo/back.png b/graphics/pokemon/solgaleo/back.png index b870fb51f7d94d54aae9de9bc6a497577204bf17..c37996f3fafb0cfb49b613de3ba1758d33cdb8c0 100644 GIT binary patch delta 876 zcmV-y1C#v72hsrQV*Wvbmay>_KUMReBO+Xvg-fsYj<{SyB?PI^b2?SBH%Q?@Gm|LJ7 zG(K+vmz)!l|3tw~y-^P~O>nxD5*A4I57vQ-HQ|Uk)YE^r2{;o(U0dx|2X0FfgVSAVm~Wz!Xn7L@ zi)J2x9?`3VZVBiOpb}BUG$}5gyRPNFRfFDJTu7ZjdP_i70@ao!g!aJM77&byU>39TQ0-+HMa^iwr-A-W51ChWMOsVzx;!d4iT^^4}VW(w&lxMnLr81;<= zs!DPm(`r0qobrj0QrFG_zLr`7VoOF|$4YTOwny9%5EnePc~UNA>VXO);t0xvUy3GJ zmT`6OcY|!DV-%obz_f%7&*y6r>DX8SEXFlesjD@Y8lt{`MMGT4hR{oUEwL)5q*BJU zFs1jGSJXyHRl%37B>@O#nYBQ|2p~EWmsDY1Qm1oyGPa3ORwP zC_juEuG&TsAOV<|m}UOMsGqY0=-6n0;22Jz!*rc=xST{L=fKoc#c zD?ogoJxy6kCkX;pz>fwtcs89)$DBF9#KAwfg5WoPgx8OyT1|8S00000hlA2JnqRVeQ=pkQyP7P{uv>cQ%1aobC!CG9=~>XjdAaH-QTw z2+4nDJUIU&t zn|ArNGyzUQ?mF&**r89o*DCrE z)j_ue%mz@6DPo%xmrq^a^3bY5?+q?+FTigI$V#Bra)dMie>mL&Dq|v80DL+3B~X)3 zO?Z7m>qj?1suG2%8u}33WiS(U{Ls{wq&{IQ49ogOb6dBC@)caM6(FttMgldhgh*&L z88Sin z#m6W>#eiuAe;c09*ChDZIsq)kH&yG)HJ1jWp+!Sn$%fENcP+6hrj^##w~*8O%S&pb zqN?D_Hi`fQv&>nj+YwGZ*C?Qkb_Bx=_zW9frKOS1@$>*$6@UyE=DtL(bL);MggoF* zq^_4qKKuZs_gS= zkq}tZ7If$m646UerIkr3 zZ1b`0tOd-M)3yGS@uahV&hI5+7O(NENVX2}CGdY5cPT*B#c%$L?j#9$jw# zuHHjqe9*3?k+MeshW0cXAIw?-HhML{je(`SiJxH(zbhmi6^QY>QCkPs6N8e*T4Mvmu>@3NM@BmQF}!IPj2&zx&L|r zKqBX~oO_=1_+uzp*gJqa}rK{0-~{;2Uh@a{MTu65YW{*uXA85e!jp|7E%MMffA4*B!F%%f!I;p z8bCTR1kh(;Ljnpd)m#)nA~!%UcOlNN5Yr`TsU)b~kOy;|VORmz1S}D1zp{CRg2z-E z233v%SRJo_%_9+{5=aEKK+JGRU(0j_m`8%Aal(@~!UZ%ZbPsXT5H!H!BMN;pcZE20 zIYi@0ptz)R1?XSAz#rq75fE?$x<3?#$=en%RkPn|i$Mes$PKmWs0nei0vt7`S(BY( z*)Y4HgQU34@geKb1-DEIU;)cVIWD0Hao)OS{1jz>RRoBAs?ec{9A>|@0fDJpQkH$W zPjZg(mI%df`sVUw2`Fx>40Uzwum)hafw)S@4zUKr3i#S+?ltzLx#XT7u7L5A`sYyW z8Ab{08TC^TnKcY>{(M|5hIJ!YhEWv(vSSe#)nb?xA{dQ$os}J*W#>>8M7=D4(TD5i zW|RPEuF$5Q4f1~8U-y0{;QHA*fMw4zP}W&nw4(e64gcQ3T#42o00000NkvXX Hu0mjffTa4d delta 1024 zcmV+b1poW;2;&HlB#}W-e*gz`Nliru=LQE41s+)@!k7R61I9^2K~zY`eU;B^+(s0~ zWiue?DMCw(X)jTt!ybhehXzAs?+ei^3kJu6z4@}_;8QUzvIsp@C9|g>Ay~b(phJVP zMK3;;vg8yWTBCoV{Rc{KhO(#jjehN}PrXrRo!w8xBw1ruk=8mOkih?G+#?5Z7o%-QQT@|LALrWN@&mJrI(PgaHeXsF z5&dmE^(IjdeMHj}-&%JI)VHSbA?jlv%az`hVjdANigq{}#=W_iNA_0S)q7}ohs(LN zQuYbJ$R5Yu;bh6de@3qXxY4&XeTSQ+9lxsotychbn5X?$udIjMm@G@&$UiTi`ql#` z_GVX~YMiXvHior>Pl^g)w$%~e%x1GIj+$n>Z+!pD6+i*o+9LZOS7f$9&~jD*73`<8 z+55k*Y`X`T`l61Z{#1>R8X!D<{mY+!={E3`WY!TBwO2aue`T9rOoP`m0D79z>(uwl z{#OB{bmZ@U{ip83wERK}tpP@acJM<+zgmUx3RIhdva@JsoZ&6kZ7rK4LTOK&76>AJ z=V1^GuOr*m5~%Fpv>H?-^%0-$eWpX-uA{(`NJX=ui?qPMxI~%IRS=Mw-a)$EWl=<1v|F)$H7Ut%T`X#mwg2}lG@HE=_~e;fhYjdzTKCzKk7b&L{NY_H8@ z5oQud1(iTda6o_N*#a<+1<#U{r*DJ{XpZO{;-n#Lfyc+>`gZCHaprP}y-}#Rq;di1 zU%bE{lY|ivas)a*6o%>BC19-Pzf+4rgb>Px+O*Y#xLp8_TF|V?%CUTqU(!ZW+;;oW z>d*l|>4(y1I& z9)`QcWeTkXP=Y*{06RZFe^&z+aOY+!OMP-u0SsWp&WfVAu7G#leGl?z;P#fSYIQ0G25dr5P~KE{52z^oz-U12{{$hzY4^3GVNN6;C3 z3(*Gs(F2hROa{yT=P8c^EcFOF z;!+-hU1_fm0EpL7UK1%>v9(3v{2Y*^z0GU%ZRm2VqeSMM1Y+iz0Pa49@Pw%!ql|Gl zNh}xoP9jOn*gfA5{Up7Kh^muA~7QZSXMO6;4a5H8d@Bs|v&_Ok zF@jkb@Z-+H08PLP!}@V`cVWQ2>OvT|{-rPuEQJ}sN*HI*LKwCc#{7>kcR!pki}m*8 mgjxGxh1vSCUjJ|W_ySDjFb^90cM|{r002ovPDHLkU;%i?{kAGAD&K%yZ`R?6 zutm7Wm;_MOp=wnx=$?G%9rOI)5{Q&f?1kUCqhAL()XrBX}jJU|`LvAkB0Qwzm70KkTVvxDm@?3C{L|B>;bR?A8N88d}9{`Z3 zKfExr^&`1lk0UUw;ARNkl8O>T`3p@cp z9bnjLM|?Qj4zIbaEmIpByr3E1K^T&5S%T#&y@0b!UV z$v&h3H6zp^Cx0j)Uwu_|$vhcbh_uv)MJv8e{;6@%?AzW7MKE4w`@%mxCTf> zSdaKRCW@l0vWba_$v;mH4TSd#6cjhpFDwW5|5*m1{Gf;cqYtScc<2|S@g3bFCqxu9`4F-k0@w zl}@2|Hv+fuwjS_6J!r%`UjlqF%e@CULIK?NM+12W9DxGD06%^~3kV)U8%T4%;Pe0u zWSJz&FE~BW2EzG;`cP#cykFqrMgz(43q|~;2bR$Tlf&m5)2ie+X|GIu00000NkvXX Hu0mjfZ;Iui delta 555 zcmV+`0@VH51pfq(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M+});hSfd z0005vNklu};EZ5XZ{{G--JQzSuaisBZxA0Z71s*(;`vBpvt!2BH)20##ms z$^+1$DjSOlA>I1~kd8Vq)cac8zN;gH{jc}ST~n^yPf>~#Ie%qzUC%3*bjFyj(e*MD zsgOjOU1kK;fYocwh9HO*<+J)V+;Yywk3@s3I=~IwxeG@lo&dlCm=5O86*+?+94~PWIC5YF zu!+~aM*_ny_0rXQzAx{!O|6!e|K^V5O)((uC&d=ARBH3pD{P3f?0_SGVHk)Jz2XAfG{G<;WEzTd=DH9iV?r=TLUC7Z0eYCvh$N^J z91NDFFnw0!nlP3br?ik2xq1XC%;^&*DqL0QpExaKjz*2(R3XB75tssh35>CYDbV)@ zZVKHufl+#F6p-`R1sj}+B1E8mJACT3A}jzJzJE*0&#Gynhq`bk7VR7l6|)G-ReFcb!0 zFVIUoDGJg>y+M0|Lc2IOj)H?l+?=YrphswTb;yt_1ScK5Mwcu;6N@IPPJ#&i*Zoxwm&Z`Fn~I7DYg|D`e1Ky)_Imae?U9%Jqw)XS&>&u zhC$yP;XqatJ6sY)p61nDLw1ba**?`mv-F7{)h64n71i`fGt z_YvFxvFZe+r5eHYBPcMT_b@ra(?RbbXsLP>HNdS(j1XmL1Mvimv8fH{>jYtg&I@3a z?mq&|@$0|=ccg(7B=p}7KlMTbQvlw)0!@CB8wg0s&OWexJ^%m!07*qoM6N<$f^cMk A4*&oF diff --git a/graphics/pokemon/solosis/icon.png b/graphics/pokemon/solosis/icon.png index 5f29c29855177674f5b118f5664ca2d7f6dd41b1..d105bb02e8f06a6aae4f957c99f61a734b1f6b2c 100644 GIT binary patch delta 221 zcmV<303!d*0<;2-K}|sb0I`n?{9y%=AwPewNkl>Mg~2AGKH_I=&e8nm+h9n8Sp=;V7{B3pECp#W y(*mXx#9Gin39_}EOF=_|%gXh9;i0)fE z5@6TaeHnhsQ=3Tu#c&Rtf(T$z%2+`*#-Sr7kK7YEpuBJnEO?IWZuMafXf6iS!yoFc zYHJ(-(VzK4*a(tfq;HH zo~~+ljq0K&+JEr(IYenanG9+Ff`>s60FkR;YNhM7e!ldM^C0m1W~1TuQq@oc&iU;v z{}SkC7jjAkScZOncX!7FNR`#(#C0mwn%#&Ojvxj?Gw2qm^rz z=X-)bmV==;JH^t$QLo+}(M^%Y`;#iU`r`Y8*#fw1595&@0;`nnKqU3du^2>a5^2guB za*(SQ5Pwb(gI*cZ9PQH@0iXd3E%5BgRxHF=U}~1 zT8U3|5afU6oLG(Zz%wY_g7U@&QN3Zl5?ovoatT$iU<=w-JvPXicaDSK0NEH0yM$O2 zUSj2eKp1bpa)vc~;l1_!Zc|xx?Ni5jIUyEKS$_w69=zvp;ls;>;*p|5$A<|zb?Tj! z#l_(;>L1q;k;%%`okqK0)b^t8J}xAxh%MH03o5Z-XZ5QebT?iiI22mFaL49rAG`tE zv+YWpQ0-es?8n&4tLqBa8B^9WMj-9I@YUb)`nS-1FZ;9)Dw z0173G{1t$rXAGg_vjCJaLfHO$efS^zB1<1omOh{?eL!-3m|nw3st?d!jE{<(R3D%j zhoL_pQ?3s}F>2x?|A;<_F?PlCg~#+k_SR& z26O42-ol-+K5QkYqBhKJufG(G^ugtnsTaBp5|34IU+2n7Pu3g-NV6rU&cArgp&7W%_YiS8uzVJr|@=nrr; zZ>IDCY6t>>?@MQ#4^HTIN*_W3=bGJZxOfejJ_v$n)DVDn-<9eE)X8qwI4}KhPeOgb zsncHVm9cP~sut=4tt1IG^atIfp?^N?Q~F~P82k!Zj6f4ZeK6B^4moeUBCmS9)w}wrQi|}p%1I(_h1jR-3SxUgEbqhc|sr5Ru3$3HpIed zZOt1_^q>HhBlADa>@5(8PNnaS{UWNPHmkKD5QOQAkLW`r5CyVYlk3A+AYjCwwC7TN zcn}E0TKI!ZA0`5UScX0*`3!wPhZa$u&<6mX)(0UNPwIn`&(H?|p4JBiXXpa}S$2@6 p4^Sv+J_U-NuL5Mt(u=qhV z`$i!1RsgXCAgv?;hm~dmz!HI-n4dA80<{=G)ODN+%5$UT^De zc1WR=v25HJZQY$bGA`l);XD0Eh2N3Zt9+dUO3eW^??bs&X$1jLdNz{C7(0JwoXf4C zPVaDfzUIXqtAAhYVy&~>B;Mzg&R0}yu^#=!#J2VR6Aw5JA=eBJPlzQFhN2(#(ob#tA{$R^W4|0kGScmug`T3dK zkSfziH~@mz21Iz`{JPJyX^IFh`+pt&S-FA;cl=97%70G>Sb|o-_*__bc%jap?s$oF z%N$BG3$5#n)l;Pn>Au1F_I-($EX$hCKqN=H##mLN<$IXtM}j|)g5c>)%|-PFJ!BhlpXn1Zg^lv`PS| zL&JrLO)`cg?p0dZzqJN^jnYbL9vIq?1&cQWqef_3 zPJfP!nx?_La_Z4(D*hm^c^gJlYcw8Ms@1XqP>v07;2&_J#$Ey12kgX~6RcI-7)xzk zJ@IFqSF-Uy>mKA?Dgm|nvuRv+A}IXEiPv48sDUK{OWKZ$sKa22EKSK$>qfH4l--Jw0Z%Zd`hY{(MC&DXsw;35TN8bVCQC2~!h>!5`VdpkEl&@4pbyai$ny&j3|}9j0oM8FD}PTg z=Jmn-)E5Ye_x2#dV@Mx7gKz}`IgWb8|KUzZAAExVfsi&N8Sc$HDWnf>0X%`gw2V1_ zB)PS)KKKGrmpp%XEYkh3J_G_GdHw)b^G-w`poSn2_@#Ko`S617MfAZVaJt#sgNrvG zrw=YcB${^t>7^H|4^StqQ{}w)<9`eB^Z`dsd$C`_uH#fBPakMGOo*O8$O`rJ;gHgw z!ocu%$ie|l^z=cA-Z|vD{((CM@C#QTG?j%VW^r5Hbn+fZ8fqqz?cr z)(2NG7V3kLNzexX7VCq66Z8RqBs(}wyxWuPAQ3=`cCeqM1~DW250yRw0}x&LvH$=8 M07*qoM6N<$f>`RDWdHyG diff --git a/graphics/pokemon/solrock/back.png b/graphics/pokemon/solrock/back.png index f1ec514b1588b310b1e78fe9ee14d66813e7b92e..2c47b7708968dd6999a5a3cbc5ad5f534338f6b2 100644 GIT binary patch delta 726 zcmV;{0xA8^2HXaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tb0<}p*K~zY` zt(CEE+b|G@EiGP6Ljo(*gC!tH`xpk1rXzoLftG`v@IKxB_a7-Q{{LF8&HzpJkH8Z0 z)fwRC;dBMKxjmU6g{#LiKzUL_4cTc41e}u)%mFwiNI^6+BKKx*DLPd;jK4uG0N5NL?)%D22&hI4%f|^w(`@)-itopcy}(rVL=IaM#(jS| zSrVpLP(H5##;bk@_x087)Nt5jxLU9fn35Yw`^)knzq8ba1@KkWh7hT*ZF^i1a4&Y2 zV+@+CYTGbV9YDnLE*F*ECqvj&?`5QvBA`8R$kDOfU9DZG2~ehsi1cuEHcyS zaRmGrIPC_#j~okKtF=V<7u}G;UOpm3MugQy(gVE#MPq>17AL^(0I3}U4KRPi(i+x< zDNGqO!1iTXTG#x7xq!rmfO0AlN5hn~299qC|07k8belkaF~$K?f#ycivH)#$43G=D zrv*;Hm%aw-E?>f)04R(Ir5f$=AUC-L5cIk*=f*cqTI*+$gs@H)Bk&x#z?vLR#$)Bb ziPCb8+`{Xccj7NDK(m&vh8KS~0bMF%gm#>%#EEl3QA;Jq*r^bR2J8Zo{B#SDr3pPh zq~H~=xs#xPPuoPv$^ao$wXjZHkOL%ic1JH6fDL$Q4(n}qcHy0wLkxutfU)!vvYuFP zeR`WsGQGiZpQL_JYx>u(nz=XjB_KZav>zkDxu592T#LmYXyce80C)~$3;+NC07*qo IM6N<$f~LhwY5)KL delta 715 zcmV;+0yO>H2G0hNB#}W-G5`m3Nliru=LQE41_k(TShoNG0?Xn;5z3pIVLX47lO=wN1?6)Z zU_qs;NK`cR8=jJ{iKM`Y1vvB?0X*fE+E$ouK-|6WOgU#jybdduYMt2s|7J1_d&EXiobB zas?3K16FpNZB7E7Dae01LNt`Xem~i$m}t5z0`O^Tz3(M|RdxYc_gS#mtiZUJoJ>Hn zO*;XMdECo>4nWm^|7wpz-1Rt5$YR01QovUkjmCwm1Q92MFa5D1d(06Uar zX&mz%vjKq(0p(OA3Wq5v4FSF(+|N`!RBZzJ#aIBCa?~f1mH{ZMBY>RKIW2GkzV$Uw zb@}4=1VEuhNZBZl2f6VcfYWuM_l>KaG}iAp_F)|_M&LQLfi*cCkK4+96Q#Aa_hi?+ z6@Re-nzgVsyu5$8VUocJ!+P88UHG8q5J6!Ape@})))VWkOSjo1(-|Ch xN$MxLrhnb4nY*#~fcVtYZiE1<_xiE_2WaD%BP4X_EC34t002ovPDHLkV1jypPDua& diff --git a/graphics/pokemon/spearow/icon.png b/graphics/pokemon/spearow/icon.png index e71e80a80ed22adf55917f3962e63f138224d50a..d0048c91d29d94ccf1de8f4847fe183d63f38957 100644 GIT binary patch delta 261 zcmV+g0s8)g1Kk3UV1MXIL_t(IjqTDgYQsPf1<*Y~rt<-OfIu2IE^?c7=jl9MbRP%o zBAvI;RRZZ!NJ|8>V1d8w6uUF2Q-yp`p|4qX1TTa?AKV_IT;GWUaw#wcB&(J>qAVT2 zu@&-CI%cjXHX^&rsC9s32OfrJb1OeZp4M$5VHM}MREzo4M}AJHzMhzIh)DZm+v}`x zd)~Lr11XkcTm0U9JsyM0!$tIS!OwJqPMhck^GL`ojm|cYRy|?#-1;DoW5P00000 LNkvXXu0mjf_H1=E delta 301 zcmV+|0n+~60)zvQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+a|oVP(_+ z008GnL_t(I%k9#!ZUQk32H-qFz4ZZjfJ!V~I`nPAhBv%%?*kGH-NzOzpmjV-jWYtnrlz*iGI8Fgsmxh_^i-pMQ z+G|Z9S%JIm)BMWw$iv5!k?GUTKn0-KOap~dC7|_c4k#+6<^eSeFzLrR zfB`UkOfJpD{5T05upD!LyP68KG3McEGS1995Z_Pv_$_lFes)=+aC{*iy6!FmT;f8U zyXOp``E}jrfDhL=|2jX9bD)KXSqXH|T{X@lo5=8L0^skLyK#mHIE^#dK8_!bPGbS; zfz|;?Q|LhrnrcmH8OYFE5G709F$MnUkluqtPYK{`rQsex%K=z_B_7EGt}piQF>RCf zfbM~>$vdUVR?hlp==Xh^!BHvpbtpp7aUTmVZHJ1OO1~ zFj0>Ka1jX8$^oheqz}gICj`PUXlD-F7^u}1(7c00v(3iCw9F4&Vof$Ktt8xnw;;A- t1HDUQ4w27cJeV*|p+|+h-L+W!12r1UL5;HecmMzZ07*p#PDHLkV1noc^#K3? delta 541 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 diff --git a/graphics/pokemon/spewpa/back.png b/graphics/pokemon/spewpa/back.png index ef1bee1ca56ce2966374b1455d3e6a4fc6097e8a..d3c7974322edb3fb377f13fd7afa66f4677f32b1 100644 GIT binary patch delta 434 zcmV;j0Zsms1e*kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dz@3K~zY` z?U65U!ax{@OVJ}~LxN~X*jquG1w>JmTh8vopkCJxai~-K4ouFWYarN~PSl-Wg4p$X zg}WX%k{JxIxum}*&-TDi^2dD|}pwT*a8@7Qhk5 z=N#+i;${!w4)G$$`@pD1oLmIbP?;m(x;r9rDX@UCx{(ZRpxH7oa&riuFOKp@aqa}l zvRrcR1S*l2hg(2TaRoRy0S`(`Vg8Ke!ZH}Za2Z%L=pE9SR@MlApaB_UO%E_SP<;u; zXk3O=wMfPLovid362>-=Y+3>`@y5*9QYd6m;1$T1nZPhp1cRhww_dMDuhLrp{nC33 zK5qeA3t%rg5d8cS;x-Cw-_60Bx6?TH6kSGO6X4lSeDvDhP7&AQT c{^fbU@d(o_tn>X1GXMYp07*qoM6N<$g1QF7h5!Hn delta 428 zcmV;d0aN~)1d{}iB#}W-e*gz`Nliru=LQE41~{Mw6s7IISJmi!`!< zK4K~N=-%gR5XZUC-wfmPgZ$tDA3Jhf;1vkOqMtAp78YW{b^Ou+f3P%lH{d#co_9cP z0*|c$mP-ILEZl|AkDWu#42zXWD5XKph8DACi}5RxIr1$7eG(7Fm=&n1Dq+kD z)LgI1F<@YE11PP4e}gK+LVt{8Z8&JaH1Uib)Pyu5wXp(HfQ-^M18E6Fy#%Ess(d0N zQht8M8+C`6(jAI-9f2}_MpU~cw-7@RtC2XV4ooviP!#v<-Wg;JCLIIFhng{Y9|QIV zK%Z0~{0*Qs>4Y2k_3i5dXibLwEzSp72hxl3dxN5gyGBvGBD__@xhM`jK<>3IZ_@g>!=twv~7UiLZC>n`2lHHd`x%wBiqG z7sg#1->kKT;_K#Pc+9}(-0wwoF^d@D&m!9!gCLO{4+jE&5&TsE z005IoL_t(I%k9!J3IZ_@1<>3e4BJXPg2dmu_sub^2b--G!nC3*X&1)T#+fbbEEIp2 zM;Mafhwyt*U7VSn#541Dv_MQ^VWLWDV#?eD@(0~G%87g?hUQwW}&1ZC`IJ$+z@X!0g?7yWj@cnoe#`mLqv>$iyXKjvR Sc0RN#!oeU(4*x%blLNxg`p@9xfRsMalf!dx yazIZX&WQBE@DDwG@MB3I<@IPG@E<)yNB{tHuqi+Q delta 131 zcmZ3_bd703f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?H^q&$yuB1yE?Gr;B5V z#p#LZb)Nr?dzubTllfQAqR!s3@az18CmA(s7pS*CfAFMXp4}Y5m(365tA0H=KFRLX i>x)hg{0lGGhXdn4ry%+sj>El&=#)`g1z9?K>Rd9EE)Dn<`Yt{B z54Drpo(ujK5BIa~lbkto{zF`E0u&R#JxzdO0=Vzr0*;r)nGZi(RSat?v4 z8zQe+T?5dV?0IZ&K(wRi^L>PbAGHtEQ28K|C1k e%$d`R)41#rU2B!r800000s#=7CjhJ^QTQ+le{Lm*C>aAc)m%Oi z1tVbH0&>O*a(Kna5yIn%l;MW{ZXsN(lF2=bUfi z3jgsWm=Y`uv41`ato~TYK_}#(&ua|@_vTd3vGZZTcs`^7qXjI*NHdts^I^bb6fH~M zV5XX?r7&QW+}I@sjN&Q;0~}m2g8>ha0Rw9=-{%E;w|PA)4Pp!c0000O{4+kOLc8wJo`513%yaWkIY=ovRLb?OS+3)sd+$s=6RHszfT4 znxQ6CB8gdH18+_&+lfwyp9~wRM z2bVJrE;t8Q?=%!D2IF!Wd@NuhA7%mL1O!n}Fj?ed0h3Xp7?`=Hih;3aMGTBpmV*HW jnt_2va4?|1_7-ywd$)N#9(mOz00000NkvXXu0mjfHuQ4* diff --git a/graphics/pokemon/spinda/icon.png b/graphics/pokemon/spinda/icon.png index 1c7c4368528d1de6b2c7e7a11cd62f01ab40f6bf..9ba5ca3ec5ec97a4bffce1a070b826db3c50bb3d 100644 GIT binary patch delta 281 zcmV+!0p|Xw1A_yQUkCvXNklRG77OYSRAJ!}sL{HjeT0gJR<6RPb#Ltn$DM-R5k{byU+4}&&wu0v zum@^HYAG>(;|E>D`fra;7htaQXd1?wnjHB6%bwbsygoE0FGXK<0JbiD-UCoGa}Yid zvlPbjns9YP;A_7UEy^eJ3SfLFHv(vD-=q(oEDDonX{}2FtSzA+SwlVu;FydEY0Q4$ fJ!kj}KfVA_c&km=f%U8a0000Un1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-4+)2#&+ z0003CNkluRO(bkvYfFCNyTI#Cuurm zAc-+k|LelQ0=N0o>8$(jQ|eDw?B!dx$8QRt`skIuzqILk*MF)FLRt!Xr?lby@Qa9W||7fkUg#+7qrj1-mDV zKr_G61A>mp3t$gai_~J|@`qUeZRvOg<|?hGVZEtNkq>a}skuw%Lu1lW^i2z3=i=uh z05vlQ;R7*CVM{!32v0WzzV$0HB7ZS&0LG_$D}c84UHah3qA+Qf#=0oL#u5sWG~|N- kj>(9S#^lFUhQILR3sHEhO1&v5XX5}1&9mnu~QoE9B>TO=|(sTY9+sc z`~r8tF>px&s%;1eR3vcWN?k-123D0)iUFK5Kn&;s3^@-F+qD79U}k3bczfhhLE0n( z`3w8Inc11$oxgj%f2T$8H-J_!cxXLQN+lbdr~&y`VgOs~>wmNcS~&}^H(~f z?s9}cd^V&X#Bh$?oxevyyCD)9JNfRr2wpu7|mPznwZC|8|4Bc-)!LO5jCj}cQ!Dz!;^ zKwFGh+DFM{<$sb;evnvB09n-n($&U=YJjN&YTk^Og_Z*Xkf8+k80)b^|exPFwwsLW1Z?vo?ik`~}5=QU(inVz1WFM+0*k>V!j6$L4)^ZnDp^=z4C z?0`uP<#@j;N^nWG`;-t>QDpU`J}+(0cD+(*NisvM?SDoySIQ+2$u3iBRIAI=)^0woQ15AJPI3O5N~O(*wTd(rUg_d4(M$~ z4G_C_f_e3H#woZeMax4)?c(!f*mk%I*a5a^qui|&4~&`3W&-$^OHMUkEJSkPJorGQ zwl&=*E`PYVK=2NO+eN~shFW%D$O-C|o7Icuj0$i`PC6%cxlg4oIRpb2>i|7app7Jn z=BjfkmPGIC8~)mutLI9sy)kT$-rjJX=JV@|@GJG`j)<$XkAKcLytKDp?%tmL`0m}u z=imGsTJOEMzhnFG9$x<%1b$fDe<9$HH^1LM3x5J%Ef$OW#hcs3;!|*)U0B=TfLxs2 z^7?OQ8`jCr*fxFtzx`8NJ+7;k1kYn@@dLA+EwaNKehT>>EY}0qLUcpY41Wknj7WJF zO4EIdeDOmPC2GV0zfPfDG!FKT!ulb0!SON8i9W6&c6Yc70!SFI;E|IbeIDxs~)`+yJiXr03lzYZ?Y7f44@*yn^7PE9zt^$z*GGnGs4HU2n za10hPJI1`C;a|#;>pU{r0#<sv>w##_9iHw7Ov$Nl0Sy|s zOQe*x5o*6`4(^7jA$002ovPDHLkV1kY|TFC$a delta 1303 zcmV+y1?c+13grrrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-4?I?kXV z000EYNkly>1&v5XX5}1&9mou~VAcIp7$m(~WQx)JlE>`33HPQ{a*WRNEjB zuyEkQ6}yNk46G`p6b(3KfEdsN7;+vUiE9Iv!OYC=@s{L~X@61$9_SPML?#{o{ z`F~mf{{m$C=1Ics09EmF{uyIt$y0Y_+w&xZ7c*q)=d zpYGu)xro;G8PJz=-#dJALNTHZASB-k5E2WlC7}rDA!Y!OaEKludL@3`(Rg@*1OO#T z-{d1+2OggZkbjUP0hE`50!qOF0%d9?&p>Id>JSb&@MDCOl1gln9?%pcl=e|_X|W`f zA0(6$Kvp(@bT#(cAi&506>rANLdyXGNYMgSF6C&>gyt?}4A9E=)sOTmu{~=5t{>$v zDAMt(BXVS0(g57#tb(*GlJR)D1k|!n+~lmJAVoPn8h_`mXUi-@2MjAH&X3Bx0GDL5 zPYF@xd0GvtX<>VI;FU^Ck||r>@GqB~YQ9*A%3HvxK}KpROC&9zb+F9Z>tZ*Te2##}#F zYU7Pzd-VR6>olL=T(-YbkM4=Mo_zdszU8I8`+su(e)7|Y4wLBU z##Fp}J!(CVs}~^JArJyPyy53I-|=$2w89kIMP^=G>POM>Q#mgGFZpGbj7O)X zF|13R)x+Isomx(Xt_BGG8b}M8yeH@bihsA4;Lrjz!VjOE)iLTbMEXL;Sz4XrCctA8 zc&x$?s>4X`Zr6n)ai%O&`m8Rqc>m&onar#BF!&wI?Y`-A|2`2N*D$JM@1ipG~Npq5Ip`v@=;3|27fRw zu}G`RDlGxR$VwQ_f$KyJltbH9-hvjuDirEvF5-czaBlleK&M+P6q?-S5Us!%h)&`< z2hFV!X;bEX#ETL4jO!Hp_fF(PQW(r<$)H#V0tckVjGh|EVIANYEMoSJc}>H=kR!M9 z$Y={#0kY2y^y(|*M60>t;cZx1uYcaX4v6O5=jndTl$`no(4c`^PSSuX%D|d{2o)#` za8DReYXU+m@Bqr;W(^>P!m`ykz|1zDQn?#@#^yj0VpF1k0CpF~-0p3@#YD{Kt`67p zo0hj0;N=4$y#Ds{W$Vab{lLhZyW3g3T|dm{i_f!ow|@BaRX?=YKh%fT@DRHCDt!O| N002ovPDHLkV1m+*Z=(PJ diff --git a/graphics/pokemon/spiritomb/back.png b/graphics/pokemon/spiritomb/back.png index db229bd776ebe4e27fe990a5c09599d6b7e74ea8..0a9870609f0d996ef45866420a32ae78c05225c6 100644 GIT binary patch delta 687 zcmV;g0#N;p29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&ht~K~zY` z)s(T0;xG_~UFRw%%_&f9oF+Ra&&38gDYxv7>KiFTzWFL4#cqTG0F zCr)xY>a{>1`}6$sk4Hnk(Q=9>K=}l4=o6sq03pP`0tBx9cc7HUqL?c9{W&am9Hyi` z+R*1yq@+i%;lR1amxhUdg{44ipNK%7^PZq_(E}%6$Suw@&O5+l1_}@YcX*a%8epP# zT$&pm&vsd-akNq}z-qJGt`V5k^?v}qjEg~;jQJ2HQt(23VOK$3UQ(AaOp+6Jvz~ifbHBScw)4+=YR#~5=66&?6r`|GRlO$c!QEC%%yqw22VW=2jk-PKeb{-c>h*C?u zeg=!Cx&4`x+SqvgIA5El`O+e~As_(!h9D9>+F$zz5N8W`Atg=*4)1+w0cao1<7NTA zG$EiRww&$TJN?JFL70hMcjC7V*{s4y;h=K z*`H_T|2>*G&i7ev@dPNJ04{j~ls&*X|5t#}Q~wk=Smf0R;5q=>1aQ~BoQ! z>&-S}BS4nnNg&^WJz_T=1EL5UI9e&v5L-gj(5FbIg?fV`t055T99m{V)*O&`FV=?kKqlHC``cnJ`o|u-tp|=6)F)#d)bxyncqurn&!_ zSgmEeeq3%%(|p-&SBL=cH-aRKw)=Hxfw)+}i&NrcVDR484uGz0+Peh=LIj7F*fM(P z9^_{S>%+7Ie^FNYn_ULLeok&0U?B-eNtBf$!t(YYhxa)ELaERYlnFMzs$tQ6!AIn1 z_6l$%APAq)Mc3VWfQ68vaEh~>V>rPUqQ34oeA_+T578tAIBx)4yMFD_#hGIO_e{va z09T;_r<|)t<&U!sJcLOz#|DNG9%fAHF;v&}2$)TN9#uxb=^OndJAVOm+HZ9yw1%Gm O00007%H34sIm zNL4Z9bOYA8<~Y7?YR8r>e>uj$PpLn)bWl75gbaP6A+1n96@js*RzVCf*;b%vgUwjL zlIV8>lzLzd7PR0AK0>X)XFSN*@(+2S^DKR96GY^+b7^wLbAR-(!Crz0xU9QOT1M0B z%=2MiaeVhUX}P z>Zq&n(KUn#j45+&dTK!e-L zFfd+X>7WxWY+Zhb1M;=kxn&3u$@=9y_uWyHcDAD|r^IHz)$RR?@0Z4b>a0sYtt2pS|Hy@b; zcW(2MTeRcpLr+BNen+^1@!oeY ou>s@l0gOls=G^)Kk)Qi`02WH;@iQ1p%~2W9gg_!0~7-$Wh6A@yFy%IXpF&aq%W@!lzU#UGPZtDJPnaE(m;93FqYj30>q&8M8#+XTiN)TChlCpPJTJydRsg6 zksbIK;IA=2ZGQo!uwQFkj0hF7f(4Y9f3NN_fU80a^#5Q-dhR#!72k~bj6bTl^D@lFlJl=;GWsc$ah%V9jGf9H)ca#VO0fi z>LClDDxp@b|ERj;u)5^z63CLnKMpN9+0T_66xfxV07h#;`;tSoAfO&%UvfO8g6vC< z`Qs&r`xPaps3<8_F!G8*77QEl`voH<6RfKIT9`foZLu|HZ`x7b00000NkvXXu0mjf DhPBu| delta 479 zcmV<50U-Xj1jz)DbbkN`bV*G`2j>O{4+sTj?R7Z-00FE?L_t(o!|j$kPQySDh8HOk zQnuP~g4jqAZ9*!V2yy|0lpCa?qj4TBQr5Vmz#fN!j(FXq^J5zhz@e}mk}5MRCD4HX zcD~H)*cBhTXpvEeoH~=(U9q z_A!860>lXC#uB1MY~fya+te1P@Mv3>8W4aS_O3#F!W05`7{MFfphyU?#({gNnEhq` zF@?ASmivM1^`YYcyksa4JWs)iLKNWO`_&mC+`k6*eGirpSr-AaM&e6%8AMiRf&dXH zHIWfIf~|`2Gk-(0TI-moHy4V>QENe&8Z zCCA4sXeT+81p)OSc9P?I2FcNXTynT)keo_U5=t;iMIi;F81egpk!ZtbQnNaT_6v*G{%002ovPDHLkV1ld)*+2jQ diff --git a/graphics/pokemon/spoink/back.png b/graphics/pokemon/spoink/back.png index 61227e4ad76eb5cd4957a23f43a1234ad35d03ba..8c873485fe0b86b96a1cc84c6f96904bb953fb2b 100644 GIT binary patch delta 470 zcmV;{0V)2t1iu83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hmcdK~zY` z&6B-u!Y~wtJs?%0Q=mhoP8ePQ5PLu#s%~v1-T-D)RVqIlLdqq1fMB{Xf>{_N{Bkvf z0I_||(n>w+`Et&=mO_4Cj4|Kod$d}25UfOLt5-w)g7Rs%|B6PmDfPT=|Lp+-I?DH2 zy$04%pcMs_o0R$(;2l+eZur=Q6llF8BRZ7~sJVf19Rs{fe+ID3FCkYH&H(mM?GsQz zfK3VrYy#OFM?Ap?v-`!x>=2Q_r;h<}h*(32G>q3UW2ym`cK?n8DB=YmwgV%+Py{3} z=L35{3Jft|bOJyDu|0spNqk`ehUWmVcZ@E+iuf9s4Oc$QZQSp$l>2AEdk&{P%mu&>zqITCc5$~`NRNZugK~zY`&6PcF!axv( zT_8nDDnp7$saUvxLG%W>h|(pIxB=8CiWGjj2+4ze0JEf_gr%Xh*vnxVnr9(`GGnb?ozzRHvu^)|v}iNty50Wke?0|sP`~Za#ko1i4-&PEk4m)S}u)ph^Ji3=mWW zXMHH~2=9SeznxF_7AbuA6aagR6+}eBcm>k{6JTN1Z#V!F&j5)T81Xq0kiv`)%mx`S zq=3;800a`V0f*!8f4Kn|o(#a8F*@sL@j1{FE_9eBiE#<%Nwkplr2%|-I#4iR&4*C! zr~pr)b|VWBwIs3v*m7J1?i3vs%WHtrF;#RamUaMmbOlf|bYOA~*xG?mDyP^L^++lP z${xZEw*$Co4OkWQ*|+vc7F+U(2FTc&fEg*iQl|vn09!`qN0d-EaMDPo)S5FOc4U4M zxiuw7DKa89>3cv3ArE8xcx)ivIZ|xM-yJr@E2Y>v|8af*xJ^}(ZJh_B00000NkvXX Hu0mjfY3;)4 diff --git a/graphics/pokemon/spoink/icon.png b/graphics/pokemon/spoink/icon.png index a89fe3f8107b1b8723172efd575827a038c480f5..8ce2c9467969aaea20cee28d6228fd4290e44e11 100644 GIT binary patch delta 172 zcmV;d08{^}0)zsPV1JKEL_t(IjpdRt4gxU@1kDSq@BpH0ixfl)KfaPHQ}CAK0TD@i z5+RPxhN9$EKTB2VQivw$UTf=;RI&gEKOcu1YbQ98Zg$4p#aZw4Uif+JydVVbG zrf0m66_AuVbZQep)PTc~sV5;s^RRK#4B%smrVD+l{SRViASHH&|JJ?-a~OlMT{aA6 a`#!!@qG5S@?!s*V0000O{4+szoFp<&# z0050iL_t(I%jJ?W4udcZMbi^R=>drH*Gg2ZaAU?YX6RYy0iq-;5+T z8jcp&@Z&fLA25^3kM9#O2tPv(vkVc=KnDRZz5pm*)VzL~QgA!oiwl5O#b#|!@eXIm z!S4f<)%xvqgnwhKMPqyQcQefo>|Vbfw0==Pr8NF3^MI|T7fm<+R2?b%Vm&lAelg>)n;H%N)vg4}>5W$awFEeDPUKU8m zEY(EyHnTR*3ZEY0-vxyD+@6we6n{F+0NHl?ne@*C(F5M>W;aVL zHfN-oA@b;AvtD@TNkWI@M(B`)lqtGwA}}iDIU*du_#MH5{%^|J4NP39V4{WFPzMTM1V300000NkvXXu0mjf>X1sI delta 715 zcmV;+0yO=t2D1i`bbkN`bV*G`2j>O{4+s|GQ#9uQ00NdtL_t(o!|j%_Zrd;rh9z+5 zDoR3j(R={Kr&xwJNrYb@pgN~@mwi~mHH{3&vc^hE7R(47g+gGZUXDsV%kM(yd=Xhd zQQRpVeI?pYfN6r=8z2)CaD7~~Wlh>>BFm>0tTQL5wNx~C3R;%f5VdAWwA{IvA{Pz) zBwY|4tY@HdUJfWDVpK0OQi;y3{VZ>}$dClj-5?!Kynku}7X#Mxe4hjW^07My-zaik z0HWRQBl6d|(zeDXpTCb6z z<}Gam1YC}Ov3>8%cvR*m@R=?Au;fIP-uy&xXa0+v;u{i9&uF}X1lcoKGfF)Lj5!$B zu0c(}WPc8vlblvC=3wnSiVHAQn0E}~cmWQ$3zq`{{I<;!m9qc}1(cGHKL8GHQyQmg zgC*dhZ|#43)=9corj3LB^Z$0-1=mf;-hBP`B()_e*dB@gFiFxvCjY?qN*&r6undM) zQmVyt$yf$Y)8QofU_X8WTK*s{Xe52B0Wu@I)dAfa0E38HKp>VTAX(W; zkB)aiB`eutOEqd?8lpCTuxW}VTrJMtun$0ONY$qi_@rvmX#|#y#%c+P0Y^1e=Io3M zSC%l-RinaP+CT7ncGECz6dY=p&HUeWd_; z`~!H6Fv&HU-~4Pz`FVi12cNPXLXb-tgvK?i&;|3-XrVB?lbfb&5li^22WX~Mef6JG a>IWr6jxR9Wbs_)@0000Hm#9j8;}~Q<=+2HUy>kpp3z*me zG*Wby!Qxs6nAy(l3hc*EKuaH_1dXJxjUL%;4(Qqd7$m3#1Y&6df8v#`)advTuvVwo zQ;wRMhNunfnqmr9v$Hqs15j&H^{E9uRn69^1(u1%Y6`IdM>SRY?2HRu&s)Wc!9a{< zvN~Mj+s-H5IvY0!Z^xZaI*86>72b;sT0eCNhek_(xfQ^k^f(5SX1LtT1=m4>bl#-B z05<_LKYErPlaunie|Lb0YRLWA4BO{M1i%YmazBiC{2S8o30H#T$D>3ZJG&Fg-1&=w z#^eAKhI#TgX*NZYEe@>fPk~Nv% zbYFZtz}tgP*$lzRr8Gk0=JR!xTjxdzh2fc8G-ZjH!e=!=95Zd-pVvRf4<$s7FSHna Qod5s;07*qoM6N<$g0up^=Kufz diff --git a/graphics/pokemon/spritzee/icon.png b/graphics/pokemon/spritzee/icon.png index 78bcbc589d4280007feb3699daea77a6b5646f72..83463943574e106c1c2d638ee16356cb89f72730 100644 GIT binary patch delta 215 zcmV;|04V?005yGKsOghpRi(Ylh~v>Bpl&Wg!SXN>Of|4@&QpkcMK(qkP+O{4+tW|=fF|` z006p4L_t(I%k7de4#F@DMSBC^Aq)&`SYl|7!##QeBo4vW4Bcai9EJfY1B%)Ki4LY4 z{$WCl;4NR@Uv~VO<`+u|-z0MZVHT-{ge?ylz(Jvx0SwF-GI%k2>mcTxkHs4N^(OjK zrtRjQqY0tWb#1Vzem&G+clBo%4Q2bLP!0nCAdx8G=s}UAVtWe| zFkt6=E4Tw2#ZGH2BpHBI{4m!7-O_R?ri*+SXbW(DsgeL_b8O3sWaWAhdY{$s$iwbw z%_5+WnXE7bGHpZ%C^k%zC=>n$$aP2l84EQSgI*YKkQF92s1pWwEKF$7OBfXxWQCD# tM=y;3%rRj+u)+j&%|~IVY4jKUcmifTwb|(O$GQLj002ovPDHLkV1g^cW7z-z delta 279 zcmV+y0qFkA0`3BkV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+u0jGj#(1 z007ZRL_t(I%k9!J4uUWgfZ?7%4&fa*0atKk)X6wH_JXf4xY|C&s0*47>eNyNfxeO$ z7ANByfczokrF@M2`b19GxA(Ok3;F9gg1mbH08ldnQu~l`ZGXhR4F&{=Gv6xNhm8@Z zwN=QvfJPqXR_Xqu`BF_69Q!?-l$RnV!Ma->P=}6= zl0VA#?kgWntD}RDQp&ww?(V(5IR8-{b1ue|9r!_RipeG{)j8+a6402^ z9;vyD_Cex9(pTVI0gvu~Hx}iYE3h8%JlLf)17WyX0&M`^ufV}{Anv+CSg@u+#2~N> z$8d+3a&gNnkU56Ctl|zQ2;h|cZ3Jys=b~!hhG#lwK!|`E01K1gLW6^9(5?WoLY@aP z8V%YS_zENtLU8=l+!BCt)|22UXi+Ngj19*C*4%>U9*}huhz&@8l6&Zb-wDz*{p1py zYCt7$oW5F4zlIY)WFQLC;rJy7Wb75d>+_%pyb>6W2gM@_Ab$s4g?HEOkvyLT*T|65_ozyf28X7PXKnfM36P&XMp{y2JsXi?|_|} z4WJWTY!vUn%$u`*v<01tVTTOJoG%B4y#<4otTU$AYSlk(&&UB)#e$u9_1$3~SA+aO zltF}b&H`Km&kRHkaBk{U;IP|+GDrse0uV3}SZBWg7;9o9aAM>p1~3!8969!=hZ4b) lZILcB1NPPVk3SHO^9={|002ovPDHLkV1kqD{O|w( delta 539 zcmV+$0_6RS1%U;SB#}W-e*gz`Nliru=LQE42s+S^OPud$%05q5&Z$O>a~fkhg=mO*H{@iHl>8aY->mehnXZCdu z6Ju%N5JK4bZg*!g=Q#f{H5Ocq8OcRLNG%LkcXr_ixh*D}u(ZiJf4`A{#*}tR&0V$+ z5+9Pj0v8H+^k8RMo>_tQi08o`r5OmrtrBPf@O}jjX9Lme2w}mx1`&h6E*!%hV#>uG zvq0t;?y`nEoFITx4z>}rT%C)i12;U^IRioj)Bsrc4lXq~oDN!3fUJ<`L5xO&mIl58 z34{KMS9b$G6itgS$7K$6@;AN+QZrs)Tl;8X)Df#ZzS za{4*>21Ev;Af3EF=75a-0(g2D7lBs-llO7)hyuvpL094RI$e?nwu*+U8U<+I0@(+m zCZ_T_kpF}RNgtPeJ#rD>d@X_Di}@o}zvlti;R-?4i22}gebG{rH_8g4QWSud^R;&JTdqxhZDwgcTtM4{@yB_BUq6{Le^C!SH z@XSEu0OzJo1&%shD1-1~A1n|s5m@J_02pgxBXDBmCI&DQz8pC=&_jt}Xj`Pq%z%A$ d{^L)?7YFp^5oxL=M`8c~002ovPDHLkV1ma7=(zv@ diff --git a/graphics/pokemon/stakataka/front.png b/graphics/pokemon/stakataka/front.png index dd6ad4274baf312fedbfddec0fa8bf79e66c1279..fd73e5110f5798a3aa87ce5b822207d4b496f4d7 100644 GIT binary patch delta 967 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 R(nSCO002ovPDHLkV1nN+N!I`X delta 1273 zcmVfMm?`0k3mi`4MlGI z0|GhZ+LG(C=rC$8Lin%)`2kJOJ`{54)!;(#x%v%#Z&q%M_kYdi&<^M#eVX@X=FPm% z^P1srd)?#S-hTu9;PKwaP(-+U`&lGB7B@2yv+c;CjN)u$e-w|~0Lw-!+mit7?4?mO zOj|^@>#;*w02)Qnek$X;z)=97p=W_K%_v~&jE!)r2&T`5UK{xS=LrHf!8X8;hClp- z0NXz+Jch~KnSVgaGj;S7fJd)pByg}ZQg#uK-Y5_E<8BC*NqK<4Xr`DP5vRd3`!$nl zlF3O-5+nHfnY3d_ohXz2v>%O*q*6yC5>SiYv;Bf8n603IU};P?N?j!*!j&=Re5wOS zNf`scD$&{m4xk?N%%BbvW5@)&esR(>3zg5u4#4w1H-D!8dp+mMl_rNApX<51^ck$8 z*1K+?r{VW1a0B&wt#uN+Bg|j_q4l_M0{qvP7asv3+Jw4L;aoH!gfSE$R3a+7uM1dE zOc5fiHYZ~Y0Wcx7jy+$b2vigR3oS*@7$9n5PZ|8K;lEeL^bED>$qjI6mRb`ba?t>9 zFE0Tgo`1dkD%5&`30~HrZtp4k^6JlK3S)Fml!e~_NN7!!O}+u_AP$X%53kmt-3b~H zx?Ee}t96bW+L~Ztfkh3#R1@1YsLSAV{Q=Hky`EFRNf{LU^csO{MeXCXguHm)nECZs zDQqssKhh!iS+hDmo6*4Waj{vEpXfVr!F)S(YT zO~DS7OCLnIw000X^ufmlfOb&1D$Z0eL4OLbq^q&^`4R-8bm{|)ccwm{R6XOggA=oQ z{;pDPeHa*{e$$0hAAD>Q#PfMe4sevt+u_&m;fb%@7m%I5hTfla_{TRdFG4-;0JxQd z4xo_(QFIYp2+?`R$I$MoE&$ef0|cZs=D1byMqvnomEmRzhoP_swza1lp#99SD}S^D zV}f)*D~!JZmc7-0RG0=>pu#K{l)@x`|Mj5(E=@@F=KSFr03hC4$JurPI0rgT`&9C> z0g%vB!lD4U{?||xr6~IJ8udcM_0fH*Wc2QOV8A~rtw}kCzODc`wSngJX>RAHK3${Z zRCGPW%+!-qCyook5STO3p8!CWFLHEa=>4D<#YB_!&A~eI%9_K3tZxJ$j8%(-ya3Sk zK_3`iz%h9N#=*ufP(Y}sXna4u0eDCPL7YQ1vllTQ9T5X0CWm6(!UmsL?JPkFZu!G^ j1OP>F%OAY|%OCy$$DROqDc=0N00000NkvXXu0mjfB~4SJ diff --git a/graphics/pokemon/stantler/back.png b/graphics/pokemon/stantler/back.png index b0c4bda1a1f13cf717e40011d5dfe19a70ed0f45..6964b29532a6420b38434f03ff675ce5866fd619 100644 GIT binary patch delta 542 zcmV+(0^$Aq1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` zrISmJ!Y~YmBSkqtRCUp9Df=>Q7i?R1U!Z2h0pJL8j|#EKZ6}XDg9}J_QHlJY?LUrT zp9jyp1N46X#OX32ZkE8&2NDk`;?1(+#5QM0Qh6=ch-@DzCBuV^2!BRboz`urdrIkY*L9r* zqUiD5U&>HMMh(rUA%NiE>PtMxkg$L_05U{+61xGAv@Yc5z~gH`rEg3|G;o-JI|=Yv zkLHaDx(DCAyN5G*5qu5U=O(vKMBNA=3Al|jKtNuTPe4cl`ySZIfb1{;DUus!J1Dm; zD;qZfE1^4duK-ivC2)BI=qdI8OnRHdWdH(FN2|N1pwdyPu|v3)t_yTz3+&UCiYSkh gtYr6c3{)`o4;o#a?9)Y`!T|^|~k+`}hR8_W-^B zKS{PMNSY;Z^nug^%4D;2+;|aWHGhJ6QZts%Oao|VJupeqOvl*He`<;rMhl*#P-W~0 z+hvbB=sk`pl*o7r^PB+`X=^KTU22AKtmGmkNU#7;O0Y@`%ZnCuTNr`E)+vExK2W>L zjRSb?0nl3);1mwtY;}m*39<(o4>-G620#K}#qS94Tl0Ji7K{#X{<|6=^H!qlAGL74 zT}`H^rGjBX^44Ghf6{j_ii;13PyuDp-&3D7#b-dzsIf)>RaGwbW$ckzgBtNf?>@*p zZ=r71J`N7KQUK-p*K<-z6;iAb`94-kL;^#4Iv1YZt~5JkDc+#^MrE!=ULl|b7p1(Ltg;5(#9 zL<41{6uDHSwP+SAD`7bW6H@@=?Gwcn^E_jZnU`gMwpuKCoqF&S-)RGF71^JXhSrGG|8z?$;)wtTbS!1o7= ziedB$h>N)dAiC$GtZRsyrvf!3@Cs-opo481R014r!+T>9R52pG*UTfu?Rf|679jdq zaRAA@eUpU6MgaPEa~0qBKl#rGkB^lP)g2rDxn}j)CE?8Lk?@j l^y!#mWT6m6E8Q>p@dIXt!}g7E99;ka002ovPDHLkV1nG>pW6Tc delta 379 zcmV->0fhdk1JMJJUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Ax8=dU9 z0003rNkl9r{w0VzC6P zkz%=nuVx6Gv$v`z{BdXB`M#p~v*q$F@tA{P#yp6gCr2X-Fn=uINyLQSg~u_An5VM@ zw!xv7r+TknrtF$eZ97xY%1G5^Z3=JJ6f|mf1l&Tt-j;9nEBO9E)i8{9Yj;(w0f_3k zs@oRg=4*u(5_ko4641_e9U1}lw&Sg^1e&xXz2(H2((kwdb_-zn(s8~U4ZGqWF1oKW z!RBeoX2f2 z1byk4cmofBNxt~oEa~0qD*0j7Gx*w^pp=~LwT6NONf%fNb|tJ8)2DrjnT0}>taQKV Z#}8(P!}f(`oPz)W002ovPDHLkV1m20uvGv6 diff --git a/graphics/pokemon/staraptor/anim_front.png b/graphics/pokemon/staraptor/anim_front.png index 9a649110a1a1e13be8dd2937b6d604111a41f7ad..4620e6cfdc363937e9ace98d1fa031cd80a7a390 100644 GIT binary patch delta 1217 zcmV;y1U~z$3XlqrUw;IfNkltF>dI zYM|~eg_e^212(aH2!R9_);gq6*5FZcGCF9-^isTsR(lE-VabFN@Ud=By%fB@^k`@Q zhQ5(xcO`3-Q*&wOqJ`hbo2QYq@6)vRx+=Il$2V(6Xl|0r=EW=kqmL zp# z?m%n3mr;myT7TT+Jxx0~d)XT4Q~?+onM}@w7{Xx|?}6y#WGY0Y1gNt%{auJxbY>5H zV+J61=S~DH0GyPl=h|t@TsDzxg6sKy69Afs1MK9xnG;t492PPgloBHkM6yerGTqS0 zE_F;JzeCgp0MiXtcQ$sZX=hs)$qwN*Zs|7b+XL38RewZgc6im6_c#K8Va8Tm_5@e! zGmjQUEqO|93Bd9!?qVO$0#H7pHXYH=CBUqJ^Cx(wO9bWNkl<1eY+6V0l@gG0ttNX&)%jfGx0)C0MD~rA7>8Av>_AXC;fb9E=ZtL_m0N9QT zcs{QhIe*}V1jY?GCdN7UInlCfRbY4=%t~?|@ci4GJa5)#9#7V_*IPc%G3RcY`}tf$ zVHnEVuA%_ExZ%(IipaN^5Ej2ANbv`TQi3RQZIN%gP=Ex*|CO5NLQE{z4HUUX(07*6 zTQLedOq!U&=Id{ixwd{GslOEIhlEUz4K;w)-hZA>r^oPPa$LBHb?5ZAv#BNjY|btU z2;}oSlVdm{G)4isntFz z1wb%9F3Y8%lq$>z?*gR4lbuf~W z^Uu7l+{gmkd^D!5@M>UJbR!EidyGD84KL*Yo7vgl`Lg-V)ANU|{dDFdCnpE<26{R< zi{jxAUp6w$_&U4LA77A*SW#@EnE>R5zklXX=iWuEDAcYy^jqp=_n14R*wqM3SUnZsT0i&;kIAu0KtM3op!>Bq fs{DU{_*d8889Q3qiY+f~00000NkvXXu0mjfcoRdS delta 1245 zcmV<31S0#83ako{Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-A%+Wheo z000D!NklL2Khi6oBO_Aq4i2S?dtkQ@tjKo@7Q~%gKgSHPFlVS;!EA z5TY;b=@I~lG9ks<_t`*ett}GRtM0L+gbu_lT%$)t3DAakol-ZDl+bCHtvaXlXdnT$ zOP%^~1PLVPwSTzX!2ut+!H=>MT94}icaH)~27IlntV@Cck~F&orFGwg0n$izk&hJR z?BY#hs1XUED|kG<&eA1<76SOC~DQAw54 z6me0+bQ4q|nE(_K1(2PtW`W-T&@9!c5rXwJ5Q-`_LVq<~!~4WG^z;s4697cEXvN;z zCx(?QVJIqu$5_=Y+Ozt!M~W(*+2L(dJmU}miYTo*^f@Y4W{y@38=^~10l;!i<{%Hv z0+2o=78#Py1wc)ovFAviJqt2~Cc$Z15#agk@Gu25A$|k&99%stCQefW0HK=<*!P$> z`OGCz0{~f30@q_jJq5fLz^DdoqKq+* z;nba4=Ln92n$tM*S^D-)&zttB%cg7YdW-WMG3LZ^Z~kHjK_GHFk_2#ZgP++AfwS&D zHrX|SvtKYZCa@%~EVEq)5@3Hv@-=lJj7`V!Wq+SrtbS+e-KvhIA7pg`n{WOq|6*@m z3F>c2^bW?8Q(X?I8}H92lT-LJKF!?3d~p8z#l#dJn~SRqLiN~#@hP-O9lsxMo@X}N ziyjYt{_@PMR>u8>AMB}m{s_g&hm|7`E4Rc;`9Psm`ZyN=!MLy7Vko%^^U-a9P?)?u z3V+uMBfBXAC=*Lj>$=o&%3>JRUdn*Al9*PQ4rG?JR*vE_V6ojHqyh@_QVKjFl|Cd0 z9?Bf&$>RVNg$A-3J1sB}4m(JJuZ{%pi4@p2kA^~W{+-u_l_apsh9lAlZU%Ni)005G zOUcv5;93rlk(~XlFYDjDxP00;jAy=Tr+?&NQCDA#FT!Z}!<(%dM)aHb!2J0IzKRsZ z!ioVvYWOQQu^(MUibAZ4O}-^|a*u^$f}c%23CgfP+uur6xo~2?d-hvoAQmE3pB|)v zaQ)o{k34CMqM}c`DMe|7{Fh5E90C-D_V(x==_Mxb`XI6>C_*U8fq6iwlLSCMpnrfN z4_6T=hU3HFOpNArkPiSF07P~mfW%;|Lrgs5Fa{i$pL)^;$+SyhtSGpW2DE0>q}U(8 zFT9jbYC_Vk0akUqlpTNpfnZ!KO5bzRv)iy{6vcIWEbY(6)Ig3S1L^m@x#3=T6&c8h z5H&EAdB0Hlk%5eAv4PC%!}2SL|5ikMv4HH(zZ*5qg z3B}j@y9vPTF5Atg5g?%j+t$1PJOZ)Cu5np%cJv0zvHD#9u&vV!_kttfppvTp-&5 z>`s-M3Wry0PyxY>d1i3M1_7`=En_nmPXz${h&sUffECUc9eC^kn0J!5DDjK^CCWf< zLMFi61g!di0%0k;^b}w^Ac|JqsV-OpAVH{r?9*FEIJyd{1hR<^__IZ%fZiz!a|DZ6 z-8Bgq1ZsU{D&&EG=m3)(K_M%2El?qZ53n`>W2M1-l?DafBM6~5S%9BHRWB%|S6mDL zE^Sj|RC}Cr86fZxc_KUs@DwCq%4Zf_Yrx=8nVob264VAzV0(_B3Uv(`aF7AG%j<8l zhZN_k@IBY9u&oT(E5ME|F@R@Vp1>i{6%HmL(SSk4dBS;m^(ZT4rb7g*KFYi8F!Qi)W2{bD# z^+weC_2S{vIG;DzKeYfKs?BN78`L_2=Yw_8kbf}yc+VAM>0y0-uT002ovPDHLk FV1m#`D~SLA delta 658 zcmV;D0&V?=2KNP!B#}W-e*gz`Nliru=LQE42`0$NE#K~zY`#nruzn?Mi; za8A5{F(|rRXAY$XFP5OV0(NvFauX@JCx~({!bMu^Dn#S0>6|Kds`xRIH@Fwc%zhY4 zCVO3i+?f6GpII1e&-*_|5V+U;mtx1$=({c-ckH1Jfg0#^Dr*KmpF`I9c64rV|a=T|)Ks;eG<} zahJpD(*^LN5j2DU@c9BsP_|7tgzV8h&KK^WBU4Q62Ao zIl=mP_?=FG>rz~$ejR=M>YY*O(00!133+{5j^h?`svK3TY&Yx)zA0*6+5ed z;MQDIO$I=-U!>+-Iu!u$BesB_0umZU3!Y8@%x{uEukp)xC+d(kK?yK30m&(#LReFm zz5-ka#BpM$y5cD z&}xLBq6)SJCZ!AjmIh!f8O&E{P_Yey2&(-E@KdSk6=UpL$TNUTO>T^8PY6K)5-*{N z@Co1)WMIk{Be>Ck!?ra$u>k}+0~qj)K+s0I1_f*>0C#!wje5xOTpPU?x)t6~z(xVS z8$1I<(TEJTf1$3hH3^vp99khVA=)RZRG1DC@NP%%w$DY2HH46b24-FMWw%S!log`b z^w*o737K;tPe&&QHBkjFOIcz7Lolw(x80z|sAw@w_6P*a%W=Jzo&I_8@oGF@_Siog s0bbOZX)k-!Izp6Z>$3kx|KooEEA?R1*SZQ=000002uVdwM6N<$f&gbIT>t<8 diff --git a/graphics/pokemon/staravia/anim_front.png b/graphics/pokemon/staravia/anim_front.png index a5db43400a0b43228101779bc76db45aded72697..5f8db161de3db315f6214814633e85b417373c2e 100644 GIT binary patch delta 914 zcmV;D18w~J2jd5jUw;E`Nkltd_aeIBLD)UbT$W_p(#;h)%r$WZaY6w=7EPcP=m=mE{>|Q-^X}uJc}T7TH4XCYYX_Azu2-sy{zlTe}6*hbcXS|X#sEVb5XbX>);Wm z9P{t@xiRjW`juoh zkc-pF8=kS#4H{zkEB~t|DIS@z?QC9!7w>-#@g%8U&ty zd1VuXfrsPwGPa64;|WSSto?zngh@}fLacSgc=uXK@L$aAS6PgPoTjEg@3Y7mg}IL()Rlvb|0@{Uezb|kBEA!b&ejnn)V zcz-f_R+dd`AdKiL8+!Iu{eJ?k>IhTV_1ELb oEJ*7g2>OS>HF@J7{{Qg|V{C-H9uG5E0lVA)d@1N? z*v40-{@}cAG=Bq)-;a5wd&+Ot0G_wSaUf9o0)NzOYNOA4eJqke%z2lXz@mZA_pr)% z&Ur=ZdKybqBi!R{pyr#_kK?GwU?7FLX96nx5Y-X~18MGhAV98xRGbR4cY~O8Nf+}2 zEDOd=K*og6yAaP>8Zb*>F}^-t#c7)6g^<+9!03YWtbf9`J3*kP1~!@Xv$WO1crI%e z;rWwPjaHs3psx9oeFfypJTK}`s6UxvJTEj*+xwK|I)83G;y%UvCoL)^wO$ZxI;DbI z-@Ys1|y*=(OS?L{~+wQod@zv-o@@__!5@L2e{zRkT`u1!691PfN zj8x&#$A8eW#!3aMC45AkeE2=(@ffP=8$Cm`m21u>Vposbz&{za1N-u;K;6} zu8GjPRZ9Ic7m)Gxo@*IF4=33B1At+37SLF!e}u+z3rrVN>BrSFVhB~iJDc{Pf;9j_ zsc>flh_yYyC;@Sx;_=32uGAj^ki}pypqqdO;tAeecC@mMFyKTNbmsktQ7&7sogiLxklcYq=& zCYh-JA!@bLX9=aONR$PsZ@b_oDgC>oup(Fx?H@e!59PCe_+Q5_s;i9PN-lVt00000 LNkvXXu0mjfI)=3a diff --git a/graphics/pokemon/starly/icon.png b/graphics/pokemon/starly/icon.png index 1056f2d1a8e97ff11ba42e4881ac5057f0089095..7ac47068d50ec251a183c8c14fc7f598784db9c7 100644 GIT binary patch delta 233 zcmVIl^x`d_QI;aM2{0T3b}%A+%hS7WoV zY`{-yVD7s!8?b00000NkvXXu0mjfL9TH( delta 270 zcmV+p0rCFb0)hjOU@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4+<~>Xw#Sg z008AlL_t(I%aLawf30Z9#$RQKq-e>Kr6@N&NaC0Hn&!_Jsx`@05vu?q*otEiQBqF3 zs2xP`J!t|wi`aQcz;nx@r`!oV`dKAyXfErr%&Pg$>w35daukwJ9>o`70fG9y$o-Dq zy8_UeJLk&Rz&Y7JJ`Ts~M+nV-uI;HX`UDUnAj+dNiDR>{R3sgyn?a{34Kr{Acb?parIg0&!aHoY11XDw)gDoBpevq&Ipx65G3+s@M UrguE;g#Z8m07*qoM6N<$f^FY+EdT%j diff --git a/graphics/pokemon/starmie/back.png b/graphics/pokemon/starmie/back.png index 589c49c31da4451fca2b01d9b353fddcf1ac5d22..e80a99ec22be933ce27e78adab98891343d6cca2 100644 GIT binary patch delta 714 zcmV;*0yX`n2C)W^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*XmQK~zY` z#gx5vqc9MK9T)CLD^nx>`b75jkV*PL)LT9rz5gR*W+XslbG&6#0s6T2&S>E93#%$0 z?;l^@9|P_Gfci2#^f*op-W~$B!Rny{0Y8K|maBtB9MTPJKs%O;!wX^x0hcYUcZp~P z;Oi%C^_JG_w@B0iP>830SNl9{7DkbC$qx2{90FeLMQ33vg+dU}&{eOkwHmXAouCn- zbqvVdQAJ#0N>w8tBOGXM*tOp)R2a+oe&N7#(IDP zk={!Ez?pB{XC)GJf_Dk==0=@bE^<9UDH8O608cI;Vw*q_w zwF1Ltz?EKke+2JU4s0V+Puvuv{TxdaKs&I=GFl->a^@=#}h z5Q|4G0TzG@O++6hjyfJ3U<5i?i3G%h4B8G w@f%=PK!M&R59|hz2YRj3ih^oi{4Q6}jFQE&Nh^!|^K`H?|nbG+TIDnK9i-Wd%%JpB9BHuv{;FYot( z%pu^kf2NHg6Gs8~`q4PE zrj6!JiGu(X;_=lz`_;l$J0XXFS9dZ+*tS9;23xAAmiW7?JE%VAC(F0Qweqn-U^cB@oqvh_h1z#O6m}m?kyA?V-jT z0*~i&7Vw+XvH(Vaf2WBgL|_Z-AQu_}Nyz0U0`#CBLkQC}idI?)0QWlsPa%X4&3mkF z1XoUgcraiwn~geqJLJMCw@7aIh`{)QI#}?g!3% z6Fys!pcA}Gh_^7B+;Wi{02+~?2Lwa{vH`yH!I3X;!}s*Sf3_SVCmh<=ro`LOOCdA* zr%*?jKRc{bYON~Ls`bQrt~z|Axlh-e0p)$jC%T^xTvPB@TvlN~>*@sfNYw)P)qpEK z^Zp1iRwb~G%wgiDSQD>MtsZ^xQ#g}^1ruvn2)`N-KnkRZ5#mCWf1(2^uqOc=J`+tL z;HD9HDlJr8f1UjkI9UO_0(m|Q2PbWzBLeY&%9Ii$pq&>$B`UK4UgV)E03rPHZ?y%$ zg=S(k(00000NkvXXu0mjf7o|OT diff --git a/graphics/pokemon/starmie/icon.png b/graphics/pokemon/starmie/icon.png index 06bbcfce14ab99c93e925c36d6925a6dd9cd7252..defadde9ed240fb3342a05727fe98f6722bd9fde 100644 GIT binary patch delta 301 zcmV+|0n+}f1A_yQUw;7(Nklj53^ADQ z#F#~n@eI-cV3T3biM$6|shF_x!%OT|*GJhcz2Zw3Mcv(c%YXQ+QL|nIpz4=(#X?_D z^}}1m($q`Hy|39gdI0?i)v7_iAaGL5@_6**w92fQ?>pP}=Yg&*z+Hf8x%(9$beq@% zWaeOM9CAVAT~==Mo?7We&|-yBE&{kO%j&ogp%KHW%`O6;PrAf-j{U1L zSx`8^Ft-t~!Y1X0H=!svlMfViN$~vs{v*BthwP>2CTk@@00000NkvXXu0mjf4Uv*@ delta 324 zcmV-K0lWT#1FHj&UpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-Gd)X8^1 z0003FNkl zLGfj(ig(w+GCmqKtd|jJ{vB+S_}a}kbh=Qq@!oY zRpI13?=0=l54yAi{tQgZ{jUI_+om2MI|oziQAncTa%xxhv{6283^u6LB7)nxZVn3> z8zILUMSS+E`n)%_-6!Dv!PJ<}@$sx}5fxrCEL{Se^raQ8PqN!`prlKNr~CJf_y&jU WrRNS4P{#lO002ovPDHLkU;%>mC5-L> diff --git a/graphics/pokemon/staryu/back.png b/graphics/pokemon/staryu/back.png index e10528e22cf39d1229832207967e96cd06bd777a..4715b18e614fa6b3a73b39c33805a5cf13c33ae9 100644 GIT binary patch delta 532 zcmV+v0_*+r1pNe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oF-GK~zY` z?UO%G!ax+jiz$QSE8NYrP!h-H(p^l^!G!~!JCNR2U|_<@&j1^faWqc)<$QN7Qre?U z+)R86r0>W3y+6hIk6#8fptXv+4F;$OIt>6Bz^gYz0KIwxz-^tO2@nlH zN4HP|v{xdo2ZRBFi@?l(v|!nkgrh-78_+h>8-pFV0wr{DGDKhpo)lFVv#du;4?a^$ ziCE--S2>1HC6tOqHiTsnSHQSZY2Kq10HhMsgOpZ)99q&B5o7EUK$29%D5(ZkyCerm zmIP3Q(208%fFv_U`GCHPxO}h?Xh}cM0~Z1(6#%>x@y^W2Y4j3E_;P0=qHFC6oRY5 zHrx@NlOg!U{Gd1|6_668cOmb%TeXlZJeA-oIa}p!t5Se)3f?h4KR?Fqh12{Y%B%$C zOE1OsYX(I;PTB;}Xp=Iz-GPpg{x&`q3j4EG0pPYu8{8CPFhwf`h}7tJmaD}bv8 zUxyz6s=zSyA2+@R%)M}42JTbnuHS);Gl0!2EzoQan-PpNM+I;f`cJ+7xCs35aGY_wDWtKJNNh;lQq=pn z?|$4~?>~MQ(2?(pVLLEL+JXKi2|5hW4h%W~GJxN1NC1ZI27t>pe?u1_I)H(0p#?bI zh_oFL28bGgg=xXDDG3LIkS^fVOm7Ts-~^P=#mSI>8@N+cT`YT6lwine-qG>^D+-y2%K2}_&MU0nUmA*Q>+4>`93Q11nAvYixdEhpbVvV zFVb1f!ADsZ#j*tSd5!_To|`&)R^$fx88_477{i0ZU~)aIG(rD@=tCvAs%*oX&^Z}G zSj~^Bb5a2*QTh$}p0`&k$>N_9TxCbAeB7%XAfAJN$S;qNfARRhY5o{xQG)WdM{)L2 z03rDF$yZtZ(OkUVo8f6y^ALi}dQ;=4XMIl%z&xAU&sIHskUT)MOGFFs)adj18vq*^ z=i%)x)PT7cF6+Q`4#D;f*t7uH(rSTbyV*@(S~x7gTj?M5_Pr7K^YI0-Eq}sM@+i^( P0000xQCkzZ%c2&lw@AzX5G>^g4)z4*}Q$iB}+i)=~ diff --git a/graphics/pokemon/steelix/anim_front.png b/graphics/pokemon/steelix/anim_front.png index d5886a7c78e4d234f6641e3dc1e9c5825eb07795..206cf665f0a153c3711b40cba2c3ef7b25f59423 100644 GIT binary patch delta 1610 zcmV-Q2DSOH4VDd%Uw;N6Nkl?6-5QZ63<+~tZt|MXCYoKFtwj-zZ>JRyB zL#+Fb5BUMRKYZVoz{Un=R8!Q%dgyLR-RhShaN~!1!E@rCqvJ`(c+T|ugZUp?r!e52 zDy1PXF-8)l#^ixAW=8{0nb`;-5@4kOAmef1glF+=%tDBJ6MvbJ#;h+u)R~z4>Oxo> zWA^YM3V0AgwZLrI8Sn#sjtpdx_n~-IyhsCLgYefv#NgJ^#sOir@xapx09z3ZD3u8% z*vH)Xoy9KAH~=;vM5&a*f08C3(;ArQrPeoq64uTsTi1TIGd64r06z7CRL+3emN3v9fq7uBJrEOu zI|^)d3Ik1|S`XP?KXC{PqDaXj4s#hJ#zNFBP&(j4$1w>dVL(d{B-XF8%pI^O&XrJw zFnTEfG&r!x2N^nG_V<71B2ooHlXw>fA`vNn*yR%g@qfRCpcFxhSX6Z?L@lrkztaV8 zLt2QKsN%h%8h;?hZW-b0r+%^$6GWIGOH=~O>kc@+&h#tJsi8T)uF}vd&S2Z_WN?g) zUhq84*CJN*0zirgn`K>rOcv}J{%JcmB8Jsz&65rOm98G&={GwkGIO&o0g$TsFl<9E zh*^C8iht?rt0>II2)q*tc&{)`rHeww=f42_^K%X$#xK|}MQ$ipK$%JTkGC(*+O!Em zWG#ZjPm*&Oz>e@fy^+?&R7mBG^E`D`!oWno)6Xx$yf)k18E`dWxDwU?rnnRk59al% z%-MiHL(X!g{I$}KRjLl53%~--TA0?^AY zDMto2dZ!o4KJ?*$4=cpC0H5YJfMMXfAkBw}>?2^RDrNS#GwlQ57^OI9*fHK9_ zMU9Xt_XYoM*o$%kv$z&Y5v6mJ+u=bKiL&?|myeon?C_jIk*HMVs@O!f;qtyWkcnJ1 z0OkgjP1fEUn3%}cmU1$AUfCDApT~u3`F|~%M-7s3uz5jfz0qQmzR<`#fJ3_%5Bq-$ z{$buRV;*_}W0INo5#%B;FmINF-rf@!(sloVJh%!BbQF~3h&<>7M!`TN#{s7wP%_ba zAVGQpgL`~-58Mh2wT|Rn5H|vY<$(}4>2M=3HYgdHASHS>ZUhFmcJ92Q>F?5=z<&VI z$ogVpL}0)|t}Z1p6c}(()%8Uh4h06%3q{ufLxI6D!cN^voT0#|9DqPQFd{J6gEU@k zjSCDIc*Y&%^}~q3PzVv0eCCY^j0Dc|Y+qLn7!ep1TCcJyZ7+bKz$i_QRW{x2auFD4 z--#0#CloUFscx(6A~3uHA$ve()qmJb)!Yh<#3>N&_zWP-ru3VA6&NI(z`#|$cm3UK zl&ioXT04OeOiz22S}LV0psT=u#PC2cbvXBn7Zw=g1O_Awp_zACa^e(sfQ-or45H_a zF>#k9bEGj+hy}*>?Da0Rx7s?yLJij6<%O0>(QIz_erQ+*MNXpe#U4TiolhPl?r(VK?(;?;chOZSxan;sM zH#XJ9KyXr)Ds|uronACd?{b@>n7L=T%zkZwYqj#?S-~K$oMd?&%p(L|Wo}zZRNc)_ zlwLi5KsUFt*D1ID{7eh+{C~me_bV8TsSQ5)96fLt0TKr6(che7fH+K1yme;17#xn{ zf%QR3!|LcU*y?Z0c@ z&^|eTKn>b|czvU)AAi8N?C`t$c2rgKJrIO{1ni$wLNAE_0nOS^xk507*qo IM6N<$f)y$QqW}N^ delta 1636 zcmV-q2Albo4X_Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-G$u%h39 z000IPNkl2HKcf!idt2gLI_03KcdU@w9JO3j559Ajz2$>Nk|oB%rz zqEt%ZKUo`*?SC9h%-Wb6fD+CvX})Q~Zf9m@%=*Pg5He+e1HcxUj;;XaB>;j8=L)-3 z0ib7yz?hXgiVSH2kpu9kLW&bRTLJK9R-|$U*lh_1?Gdm5*qZ=I3CSG=j#|S(o2f3s zd~Y5&g%wevkpYmouz$-k_kdM#u7oOtHERJtiwjFa zlCcNO{{HV=B&tAa5^Lcg5s3&x#uS zfgJm7#7}SL!ATg1U?4|S0+u&D;P^B%Pq?R+mb_f)*eR}H*PUc^Os!e5ot7JsDp~*_ zMS{a}zJEa`D~^o#v|U<}!t1nQV~c;K@5kTthl3N@rQMVOkZSlcTuVNQS$cj?>HWPZ zY;6VB!~)SPn5pzx$n^Xd0RQ}40+8YtoR=d1DBnPHtND-TcdlC9Mlq@u$>Ar-H4MOx zu%4dD7;7t(a_u8eeU~s`Vt&)lcY@v6ZSEcTo`1012^#>W7z)S-cJor^>>%7BSGiJQ ztaQ(dR)^Rp5CA(B0B=2DOD>ANz4C3v03WThzk1hfkL4knF6~;%5RR_w!M(~Nm!8&1 z(oHLRyRoB&Bra4Jk`Db6x*c1w%yvSx)Ew@O&GKZ8$X%1)1H=HBbzhVt4-R@~R?6Lt z;eP?IPKYl7e4AeYECaqu(!Pqs-2+TjrR*Lv)7=3a6OD^HVl3Ywm=hYPR8&d3A2U}C z=6%vq6eG~5ZA{%EqGM)v2|5G0mN#b^FQTK!V})L{GV!Lk)Ymtpadb&5q-I_SYvZdd zCvc0gP>Mt^ZSIB_RbN+RFts!DiuU@HJ_!sUTG?D&j0g;P$knAKh5`d2 zs;0R}!=b=Hd7ALJ9FoFUh zcR*z|I84>v3XIGv5N3P^AkDT6hy5WiNO*yPQNH*59yH2_z#!Uqfe}qld!-$f(l^kD zz<|UEfN1LB%oht57~};8Bn*Mf`zkqciF<%d$qNjk$J*MoFOnt77$w94V}E-NdLwDL*EBqbNzMu5bFMu096vNja+2fje}1(J*w) zthHj!@Rj}40ot2^zzPO+<$op1)4+}tc$c~BBvJLrK2hf7@fEtclf7QKUE60yh{snh zzh5J~?V>ln#{d|S2h)rJ?ieQL7(g7RXx?V-f*2g3{sZd+P32LfqwI0a*bT;n9()sm zZoux-ta9@ex4}?e=>yn(Dn97{(?Is*4Mi^73;hqs8|;oxk1P8BL|xuFZm`66!zlgt zHPFB>o4}L;|GZvOGEf0000z%T=d@Q_0Q062w(!23Ez$ZG!{DUiTrk!L$uRz2r!fy#?ocTqhJl^Y0Q9ulc|7l zsnn@W+`J#B5=>ElV4i90*1)*{GRLWhG7AAHMR_=8ATAozqrOY8TCtWO*$E%xVmEy# z0~BD|oP+f7Hv2IrB`d$q=IU7#S?sniRyKABKF%G+;1FsK0x;SWe@l5;v~6K2Ja;ZUNPQs7TxZ>R{wJZKs$Pm za4Y$@fn|Q%7qL}ueFN-6cHzn)&rQrGNDV*?t{#pYT0lN5Zn-g@0I4E7g_-~tG3c8N z?Kb=AC>rKXCHs0{#WeESB5XO1wy6}WSJ1V`C4QB2QtR9(vrkN#gF<7EJ|&0w^2$W} fzxm%**Zl<)(RagP*gW``00000NkvXXu0mjfMB6_$ delta 678 zcmV;X0$Kf_28#xeB#}W-e*gz`Nliru=LQE43ng~01~LEu0&Yn}K~zY`t&~k}<1h?` zjTp$D37YkoLb#4aR6vi>1e*0&LUe^5U@kGo9a8dN6055UZ~~a0De^r^P4lxW@}(N1 z&@_DarWQxK|_Y-Dfe|Wp5KTp6J5W5kO z_2%h`xC3_3%>W`iPGKSNv5o=qntF30GLbUkALeF(-t6!%QF1+ca>t8w=gA6k(rTZD?fo!LKVWSl)!MAtcE0?Q|N}2 z0qvG#GgE+_ha+>Ze;W)T*Fb?R$vfr@v=a9s4IJVLOOfOZckegf=M?Snd{qUcC;^7C zRg1^l%^ovgeV0|X{Yg>-97eU+VW%mg|12V!L7PZvI4rJ49hMA0q6i8QQlcqNW&r{c zgjk%2qo64m?b44{_qmDub(TZ4Q#%CcN)1ElGGr@Q!`Y1)e=u+|BVb%Ab!roL?}w=b zQxupzjm;Y93m`sDJrpklpcLihkb$^pFdp??I%~yRf@CLrj?1`FF;IYMa}LtSWuC{J zl&t(ao2zG0WEr=88D(R;Ku-M9+$|t4BVDSJ`hrQ!kelaKys=q1t<{Mop3>oC zX~1BVQ2X$4e;GNAlS*8<;#y$wRw4GwIP7cjB;8yZ)1B-v#7qLy> z1N(sCaYA03n1>)$02y$d;mDx|NeH)o{(ZQ#H!B<;khQ0=T$=#=Y z0A2iYTh-O`&lVYwWxIY|^?lXVJz19JI{WkU;jcf(^G^fNVtpjRrv-o6Cd=?anWGg* z1t|5;Oq~MM$0{s~xdJeMp5kC$1B-0Am~(9Rj($LR36RNLfQJhPYzRlJTxx(y0BGO^ zl9P)E4b`d=!0wl);eKpG0Il^3glLw^-cM{0pa*~m&_j+71E8CM7~I58?xz4)4{+aA zV4!*lpzm51CA`tE0CZi~*~B~n&_B4tJ_UV_0q>oa6mMWC0lm|I7Ry7B6tt1aL};Mg zCcq#fSOE$Jg{Ccn>x)pH!RTpf0rXl2N?@<6kDDZ;1?wn{09x-2yVBS2^TbJbk9JK( zFae0Fu?P+}w?1%cbZe}3XX-k3bHBbk)wI*-!rNOfXQ|LyMc z%BP_*w8BHx5-?ML1xdUh9sk~uOF#Bu7`TkU8lMkeey~eyhJH4t2Pp3DeypWQjeL39 zG-|U_oZ#kw-)~R6?=};evff0X;sl6So6^~_1p1>M1HU()SG2g7&{7F%#Dh}%SiwD> zZ`-($jZ|smAojrb$CC&!f+(eG0c>aqxcc>^gM&#M;=qJ|OLly~$6rr=40tENTw4a7 zNkZvE+Zh-GtjXN$%JX6XINFMaIUiZth|S;XYXVF>TOE*50vea9JpXS)TkQnkXq!|z zK>Fu50#3XDR`Pcu9LM1!0k92HgD4_9AjWN3?w(edM96Y0r*9Umo84wz(xP6aXO&5U zJX`olY9=Co+L)l*JQuAY1I7(q$Yx>E{ko+zwQE_W9L*U_h&tobGGh_0=KGHTzL5GE zN|y$C@JLrQ{YvXcDLQ~fWVuocF)_?}lYm)E2X_E$7Y`kf#W%}R6{!t@4`dw1$?Iat zDO?&4o?&rKop!2>2q#>RFc@cef8RBDUnlYdjd2+$KCl^~=k0mbp&9pJj zpNWTpUp6jPFp{bsTObh&nI{UOsOVGVIs%0Z6c2(BX7E5j^odad@=ZCevE(+Aku2XL k-CO47`5?pyAdN-#KaO+aKeG_B{r~^~07*qoM6N<$g1RQ9mH+?% delta 897 zcmV-{1AhGU2jvHlB#}W-e*gz`Nliru=LQE43 z&;9+-h5%aY1qe~kmAM}`YNvG%5COW+@umlK-4nf=(8>K60OJ7e+X@U6#{jyvWkJFV z{R}|ccAZU3BLLlle_QNQB&UJb)<}vM(3gPDX@mK}OA6Y^Xu{W!Zz514A{YTO1(~KT zg6oyfFJSQ0l>mCFJtZ*L#oKk1(SWg(MgXn%CA-qs@axPgj4z!IMhAAhn-towe}Wd~5)-u+xklWO^Jv}x34r8vRO0e{?{ zIoEC`GG$yDfPxbsep~0(3?$|jM@+e#$U1H13vtIbVI;d0jAn8@I(@F=bP5R5MWK^ z%{ITxdVr&iXqc{K!q%VFrwEkcY_&jA^G-vNU;bUwR$Bo$+C-HWkpB6dfHNn6k^HR) z%W-&10BpR}Ad1Kq2yv6=+s6e)5whIK>6--W<#xTye`!&t(y_`YL7ol#A~hosO-Rsg zo(lfm2Ft19L))gh$`XJGGP(6;`@&PQx9e+UK-@VAzjh*mDc;` z0E$906$u@C_eE zc?9URcPjyLh(|!01)psOnc{i~s973a@b1aQ)>K1@vu-m@i1W|LL&h%~8!MEOsv24# z5i^-53Szu6`j=e*G8rfy1ndu+cpxD7#2^9rrX1Foa~sJ>l5UXht@7sSAjAO3xE22Z Xj&tHay-NE>00000NkvXXu0mjf2_&-R diff --git a/graphics/pokemon/steelix/mega/front.png b/graphics/pokemon/steelix/mega/front.png index b60d5835a6d4c65a3782c5d3698650451f75a76f..968ec96762263df4e8886e562815807d89c3239a 100644 GIT binary patch delta 1258 zcmVo`V97 zdutmMs2@O=yj=fXijI?_UBHIO`F7@?o!KFKzB)EzoV)Blmm^&KMHYS8^5QE%TPz_w z@#N(E`pM`oR`@R$j2w4=6txcG=9jHEMge1IV!UFu`xL{ueQP*iBQXIm7Xp6xlY-k< zH+sM2YLf)87UQkqPYQn3YRvPQ5DBS#FQx(0d^eY{ynd%0I1Ml%qELt-{3w;n8JFz* z^=kv@oX!M!oC7EWrl_vdKIbyN{p7a5d;&Y)i*XrrWwPUn63+8~AO6rvsN?Dgu=BZ? zQkZKX%Y2X9zK+n*B1VE>??VDnE^7b*B+*Pe=ZJyhopEmC6iT9^CIciyUL(PR0|0g+ zAOWe624v!@E51nTOf(a#OzOP z1PNtP*HSty&{Il#MQd1P#=3MzV2npwtn@t~hZj z{oDY$b)|7J4|IMor;0Zc95={9ReLdkueoko zIH>q=@#=%yOZnAC9RU>CL7U7Pmlaifun<3gsDs^qm5IQ*_7b&f>{U>D04h&>l!UWU z`kc~!k)0e=fy%fBtUsd>$x7v00J}v+4N(tE<8rDqgPv^f-VB?-8TB>(_2imlv;xl`~z7Eq>V}F-465 z^!T!WJk31~i0OK&0qzK0O%3#w)egp;(7?7sJ)1ay3$3Ax!)Pb(9zb1VB3MqurL!^3AC3J=v5pr%v@tC21>q}y&_f8cI3L*(VnMul+X7-N&TWS2(v_v- zVUCz%?p(A0Mx}ibV|e%#Mvuo6YU*G;eZ4FiJqQ4YoP0|8LN&mb)p_?Ie)^~inZbLC zJ~zGaY&n;gzdio7Im*=c>uS+-+j9r+#pC0r;JC?O`gL8Yqgs6poZmh^#y34&;J@QV zVNtKXwRhsnI7T_T>HA-PM>Dc-*ZJ)YnUa1NU%Tqxc1Co{_u~40zWsVx-`E-Z2io0s UV~BC%FaQ7m07*qoM6N<$g6A4hIRF3v delta 1244 zcmV<21S9*+3cU)DB#}W-e*gz`Nliru=LQE43>;?a82tbM1fWSoK~zY`eU(9P;#LsH z4N?%teRiN|PxcU7R&RJhmh_gy&8kO?9^!~i{A7vS?qSs%7-9Lms?<$yZKF!%18~_d z*Z;F|HrrKe2?Ue`GhnYz({D@hJB?GTI77kr3$*e`qDtvULR5#f&H9ry58S*Ab?x zBeb-LArtI9NFYjO3BZFSnri0)F|fT;Ax!K-PL!2Y0TGc?OK8IZ05f7pKq{mGnYcui zJe}o?$2@`^5^7+eWa5zNENcJ~r$F$?3UIf5l_nNhh1q6sdl6=uWsu)$L zx$c1qfN{tpUrWz5uvT#}tqQDFo&jc_aX+bng##d>258wkMj8_yDGj(0kU|3y2SruX zvt3|8ANMQ3*FMxSl_afT{sP#Ik`v(O{#r@7kkeq<0FbcjU#Ps+7_jK|gb*hCOtW@Ra*)c{>J z;b5{S@&E`eK?8dvk)A|)W4;p0Bq+4)kKjcek_W(Ul`x#0n?(~F94`4arYU{MNyUnpo}rc+S?(f8rn+N zsxW~fURh+$K#6h%peq0bc#jyJZLhSuy1aNje<-ZUiZ}RW4tata1L%rHewuq4;K^#D z0b#MOrUrVd-3-PpYhcr&u1NyGh1Sr)W;By`2cRr55!zNDCYTSmUj{wdH89b~*~hs> z-9quU8T({Z1AaFtH+o`_!$QjZ^;7unbWbqm7~tKezBRTMd#O~;;qm5G#$_4~Hl3xK3ZYWm%}BQd)iuoZlS|;cXWO`0sF#mCJwITj6CGq8y$0 z!!N(18Na!-&+l%jD(QFOjjg`58$_pkFK+(l?*DpYn&%(d-F9Q5l(*ji0000o4?ugRFHQD~Uuo&q8M&rUX=}TZNByeiz99Rl&bn#}TT?Yv|tO@7>%wBB0~n1D&gn~FEF|!1=sZ{oZglZxrCkRJ zI;;uk0P`P+Dkd!u0rEppfAz^~sWAFI;8G|61IdVP4*SRGTi*2BBs#I~zop`z0WTCN z=N{ekhZIMg*tnEF;8+edH< z-B<B!KA8J7v4E1{m!VHE=8bKM%DX4%s z1r;!-paSL)1k(e|QxMKiFh$V)c7Q2@Dll0P^^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` z<&?i}+b|HuB}9N%pQ${6sTT+(KLA}3kfBT+@&<(iWXd2^fProvf;tb;0)_+-=;on- z){e>6sc_$=cOqr$kD=}f2TQ*1=kJckGo81(#PmOUI3LyBkdFg19xO%;co2;Ovmg?3 zME9a`oq$mtfw2Mv+&D3R0xqyi@)dACzd^voon9cW7{{fUkTZM+!*)m5fC%toj?Xao z*w@_<<4gQ)BqCaOeG7)VAn(8c*F6iDf^o=sXdT2|w;v2+3lbWK2>iD0)ju+deMHx7 zi@45UgoOnJv?`zsq6f5_UT1(l5KTK71bi^zG;RRd0RR-IsIO0dfM{nB0O^tkLTL?y zBB)CMzSh24YOVK!BG6ORfLUiiUIxCiK7ave0fQ>3Mgles(65q49RWxOMf8BA0m`_W z0(VI|s3u3|vCckCjQ|pfAAi22rF4AO-Ub?y?oS={H~V!=C~Ao=fUn2juP-LJ>;QF* z^yPSbd3`jMvpzt729wqE)3$WZ7Ht6EC!5>n-9hJPix!|z|GeKlRX@|BJPnDo+pM=h zdWGwt*X5(lA#I~5L2mV`O7!|6Hw~WJR)asub-6Nnbx3rv&hxBw7T~A4RMw!Xw)Ls( z*=gotkZGwrg_0s0l_loLn!gSM=_zlccUz3Fu*!l68J{Ls%A+RWG?1=~+pk)$Go_sP ze5+FvHo7#&{fU5k%G|l|Jgmx0LxEn!!#51c9+2C4p=U9;P7!EkGNV-E_wBn|j`I%z Wn;qd)Y&q!w0000#jx8WH7?Q0-SUz zzzp00x=n8~5El^Be_jSoKA3Qpw1DgZgeZp5P@e$a&ApK>YagC99+t((W-51B6pg{mp+JQ;b@o55VK`_v?!Ze=d7KQzL#k9$#J`P36=D z&|tE9e%e;v*`f=;^JH`TygTUPY|#M}=%4qyr}}4BR;MA6_L$8PP_JPf^tyVqIizhA zCMc|4*Qs7V6sEyb+iDU{3SF&?ULR6ju8Sh?+yx0UT`6l&*W2b+_VhG!36WW)0tJ#n z8WTfepp#G(0dwS z=({z*xGn?&uGdxRFS#y+?Y{EZ%S*->jD0P@J;vs%9MaDpZA}i`XZ(1+{t8!<_ph}8 z24IT=0=K!Yh#I(58zc3~X?NHEdvPHvs~Yho6uJmdbH|wC{G6p-Uoo_>o>$ zJ)Ht!1q6itzQ6xP)W4|#y7+$c_^9SR4ba7j&fWK7H?0@$6j1)+L%ENVsp|U}u)M#1 zSr#>69|P12I@#>)_O?81mxCmmlJI1=1ew8jwN+XUAR%F&oQR5xn=;F?!zQ~H*sOMF&giQS#i+z>%07*qoM6N<$f4C|Xszn)V{vF}I$uqhqS5{!P`8j>91p2g4O`ER@&{5X*UA^@Fi1aOzg ziYS58!5jzkk*o+Kf6qWW*P@06_KhllVYq$4$kmD*JNItn8Jfh$?Q?XM?`a?Ka=<0} z+vDTk@@-0hrud${z834Y1Zawd#{E;e8kPsQ4;22%O}6&KVX^OBK(qh(vn(wMV;9hE zw-JvnmUr1^Iqih;ka&By#mETzvt?n^4u-^QA3S(=dY#2_f4o`5S4`|!(jTMC1QEkU z63U-_14H4*=nvws0>}ekK7SC<{{xY{f%Syvex5|UqQfUEE=)|TithFc;9iU>ZQ#BD z0?sQn#DAFZ@tU)0d0{EbQl?U%AjrNeCF)C%sYOf=)-_@sq&2`Sta1L*>gV1M*UL_t(Ijn$H&4#F@HhEL${9hkr&Rsm`?(_mJEfXCP#0mZBE zPK<@A(ZHGz#0rI^y>|z2Si5 zvt6++H4tzfLBt!;A}--VGda0VG+xJ36=BTUK3Fh-b!&i{@upZIYD YqAiP(Qr-@a01E&B07*qoM6N<$f=35@WB>pF delta 308 zcmV-40n7gB0*eEXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4-Gjq_5J$* z008buL_t(I%hi%S4uU`sMyIf!J4j(i!4_IUL#++lSl}_>2v%OjJ1ImeoB*2`3s#Y2 z|16Br#5mo)%+Bn7c>q5x>70?13pP%Ruz@78vM#Lm9Z6%#m47FNG^QZ0OI~ul2-77` zL#|t}IMoNQG{J?<7a>p79f>RtA_D-l%p(zNApJ~2rvXl@T?A-6w$Ham2?l6qS;)wo z=>_a;{mu&lJE1;1JBj6PgcZF={h#WkG2#h)TNqJ0!u0VdjB4puqc92}J%ka7UX6n= z7%PCyAPjVBO)cZ!g&~+|g9c$DLR*+)1hz0Cy(!Eme%t_}EsK&Kyie)?0000AJr7R?j zQnN%YL@BXCV3t6jlmN_slf-ibN{NdHP~vGI3kaaZ>p#FoLjpwG=0Ht=26&Aplt7RG z5Nts-?N9Hrz5*l(4MH}2LeoC5`;H|rFV{^11S^kGLJtySEy5AOLg-JF0N-FKe+P*G zka-&=+}Rf|AIK$o^zZ02F;+YQBL0T1VH|%xPPHIP-n7G zw-H#=KwT>CqIS*)HYo*uHo54XtnUKaG?UZT?RA*pr8ckMFP@x z?HLHmk^@1)oIV0J1gy*lKpod@0Vt|K)9(VfLF80Rimxz`Y&JRiM@bKIQ95+hYb)?n34>;9xR2;dl;PKF|2ca ztfTROrNLN+nD>L1@Rxgf1BmM=;ej#TMBk<%^eT2O{y!xkG(r!lo5O|FRu%!C7~szJ zUG4zDItos@9}D1EB;DICtC9vg7CH5lC@F$HbR{sZ0ec*+L(Da)C4p9P3ZZfM&N8f20aUAX6IiO?dv-yjf%Z-VO**%V> tTt>bRigSJeeg87RE7t4l(^daP`~|N8t~%=GbglpZ002ovPDHLkV1g1C7g+!R diff --git a/graphics/pokemon/stonjourner/front.png b/graphics/pokemon/stonjourner/front.png index ef55e5b1a9dd1a9dfc827ecea0c441f6775261b6..18bff2dc8d00bc528a115d2de92caa1c1a6b6818 100644 GIT binary patch delta 786 zcmV+t1MU3n2Kfe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@6uDK~zY` zwbemy+AtIV;4o1xyR1;{JS_SH)=Yw9R(WmJU8adN6{k*Z0(X|YC&XzqI6}Qv+8Pv0iz-9+WFP&e{O1YQM?NZnz(Q z2VksX=R)`poumO6g)l*X2|O770c^|40mL9pQDv<5!T@c6pqUm)MI1y<4)_YV0oA(8 zYQy&DTnd+dvjHJhQe+1rIx}-b1fEql`CD>a02rW9dq){6wr!VdDjr}n3(9QE@!cQ@ zK5cGttGEwlk!4oiLk|GNz-GKq+m8)UU|g-z7X~|ww!tm4h9)+D@GD>fxU;>>n0ZhZ zZ+9Db8RI3um*d@P?x?L|8|$>H030`YZe8sRz!P+5fSn}HH%!S*1fVS-NnGD`SAc+X zI)s;W6rAs!o#eo2BT1Tp8njmonz;aWo$iy<*i*%zpX;awP3zebbSZ{!<|xsm&>c|% z9n8!@4b!csps^Nzv|(Vc2ABe*2*VX%u{rew5Um17{u2P=C2(Zy5(cnHyc%qPozAvZ zjSv~vwE$|i-PMoVS>OTv4Dk`@2-_#w0IFXHLfrs$7C<9p&1{XTpY6JT{&;I>haa;5 zuQccour7WOwO0U_n11~ z8)={*^sb^Txb_ge791TronAr-LNB_@06B&bVD#hAv;OtS1agL93dVhC$s8E#$(vj2Pui(zpL!P$*6Kk;Ow_SXZ~p>{oU8T8bj?2_CDZk+8~lm&e;$_g3({qiN>Un- Q6aWAK07*qoM6N<$g4i!)H2?qr delta 776 zcmV+j1NZ#-2JHrrB#}W-e*gz`Nliru=LQE44k-d}zFYtR0?T#lFOY(kJVBcyC>7+P zI=jSeybj^gP87+S{rNwi)>_v8v9(uEoL6731}fEUXQcqE*>4Koe|7J}9|6Xyc0nS5 z_&5__Bw+$&@Zsz)z&5P{fEZ>WYK+xi7(g2!bh9KWiT&6q0D%I$kaFE&^|SWpLI{uE zS%-)+DY1PKpPDgZ0-n`2_*>$*05E{H`a6nHwQajnS9*Z1(OtIb1YQ`1pEfqQRoVkH z$qK9Nq7MLKU^Bi}f8R?Sv;SP3(jNxfjLP8Vfa)$b@f%hMzvz-76j}D&6AVus$?)IY*drn+FOP$X#{4Be=<3R-iR`2F}Ju;-9`p9 zR|0Jq*vkRT03?O8CBVEm^#l+v0}g{H07w>qLvvIEmp-Xp&}IQNBj)CFRQqfyS0wDJB>0}6!RWt<1D zd_=zmheuAQmr{Vpk8g8;96%0000n$$58YaZX)W9BLK zYrt^GZ?-CSfoceB5LndN0#x5@t#O_oIdbGArn@&$$CQpv(btLSDw{ z&gc&nmb3ft??6vzHXG)<_9Gk|dsKsz#-QZ&o^;byfaEC3?WKqg?&rGNUM z8Hw=heGPPr>`bWZvmCECQX6V+=k3$#f!hiyF0>pf+OF=Qo^jkYkXaiz?Rsjk9X(oN zwWPtU>!U0JvsvFg%+?xTfLraGm-}ifm}zr4;mYa3?bfBlR)KoDZGKHCc)Iye&uw?U z)h=IL{+aOWU}p8laSg(BA#s=vRew8NKxszSL8Xmi_pJk@W<&NR>mVQ*BmJy8NcYhT z_3BH9lmO{R(*gQq&>3~p0nRK8>8b<9F;^3H(E)YLJIWqW02vI?)J7B?v|QyANfB9x wWiJOxeqQ(t(>W#Sg^R{r~I7C;pr-B5*!Cf&c&j07*qoM6N<$f@Q_MJ^%m! delta 417 zcmV;S0bc%*1fT?vbQ=H%bV*G`2j>O{4-W&t&qm7t00DzZL_t(I%aME-e@gBQ1trFg zM9F0Qx7j64>KKVNk8kZU^OX8EV84K``#S*|?iWBh{&2cU7)%0RH<|m^$uyXVnIgb# zFJX_&3R-MaZU^=#bHJ34mtnXwx?TA>t^v*j>IRm2cuOUPzP%9*18U*~pq~ZMhD;_G z&GNpxS*-~(fI!rd@#uA~f8J|GB0O7H0?jNt6YBCT$7_w$hMMbn+qk;tx`GNb&ASS= zDSN0R^qU4UO9iK0P7Su9M@=l2G?-<1=+Yk0qPjn={2F?7^htw>o&StyL@r^XT-0AnbjZ1H3-9ngl^cYdkz`oW+WX{+$c0Z zIzVhTBwvya0-`a}&!U5LADvLAo;t(?NI$9$&_;vKpsNmWCSgby9WeB%nxL}|s6*OO z_6P#Vpbw@rBI}^#%AZJzNIJ|LKmABLoc!WP)PeUmKM-s8|F0k4{+ur&`TPb;00000 LNkvXXu0mjf9PPde diff --git a/graphics/pokemon/stoutland/anim_front.png b/graphics/pokemon/stoutland/anim_front.png index 53913444d7ee2736acd9854be257c7368f0bdb01..256f3911ab80a93ac34abcee63d90e7031a5d0c2 100644 GIT binary patch delta 1535 zcmVxU^J z7rU_<7Kbc!t<4VIsj)A+gtp*o!#XB%UH$+=b0~uK)Shzo&4EHa*dY!KdKoO)_vuMb zQubWB;~qgV{(kcPzW0@)??;lpbP;}8uu994R4_jW)FerXfPaD}EKsU6B$on((y9P( z)l!AXpwhT51i&Gx3=J%$>n#BwgQ=2D1Z3~_Lor}%+MD%;>{@*xfHgKvuw)mu2BIxc zz(v4?MLd6 z7>cEN!d)oXq&mg{+N2@g0xpAIJkbM(TZmT`EKii7PzQQ5@Pai|0in2cQ|ZKjs8__b z+Zu7}c+bIVCaqZNJx(f^CfEc4TE-go_N3n9)>5xO+<)hQ3#MLCO)CP1gWhnszlFb( zTzHqksp+~0bRQU@YkxTKlLYipaXPxQ867nS=wcZPv`gmdpyn~a;&DIIMRRL-Z^!`f z^YOTgef%Z{5~7t!0AJH@T*wiFEbvthV8r`O1!E}>(4+i#x|ag=2zZ(T7RDLCDlGS} z1E;uJ9DlgWfV74IJ2_zVoOV6~tW`Nc_b@`BKYY?pY8Y7n-wdPC=*91o!L*;GSgWob zQs7+#*ciX@V#0t&4A6t46p%-wgYk>W^vQHG7|f$BtsMqGo%%ZoKt|>9)pUA3ojmCw zfDixLQSizSPfl4Y?T~~QQ@SS8A3hx728YXl!x!@zOTaRmM7L9RY9(E3N5Jf2-o<#FUt_nsSaI~4 zPPB{p<^0pd-G%*VV&H%V*)tJGb>I{(n&1{`MGIKkATh6dtpi0gJR`VG*UO_o@{n+8sLsEb-}2n?x{!H`o`$ysrtV_-Q)8T&JKN5e4+t~k?p(Os0ah#l?oMxv#!0I(ap_4lYXn%Cm*99aa z7zah_504fCcMpn@KU^~uHvN^zK$?>rzyyQ=E{!8V{UK*4@BEz@!1yTkhm4{4T^#Nd zknf_QB>wP`8%i{F9z?*6(Lw4D+)%meh$84gXWc=ZZ)=2Gu8Hk_thfn;^x#L{(2R|E*XMElt{4Nit@6^0M lM2NpYAR>P#`v1ir{sFtG^*{-RiqHT6002ovPDHLkV1nyQ?}-2a delta 1567 zcmV+)2H^S34C@S#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-S!J*~g7 z000HfNkl6c7{DcvbIxl?qpc4?vR#^^^+=;f>%)|gi{1EbSRAs@wKh9+ zr^deQ654{V4eOZ5b@>Af&7la^Q+vwUHwOy!V23y`=w+~E?|+9rJ*jlpy#&Sh`T2Ps zz4~~5g7Bpa#fO4bUKIq<{2Wjd1epP%np>c(H3gRfV!56JxJp?=5-2pT=K|m$MS>rW6R!ZG$q#>R!uGH(fC#$v9t;^es^H}UhH?9$Ase!#dbwT5WRn^s4$wi( z{1(VE=)qI-TL@PbEH5vE*Z_Jl$br;QatPUNm~uA+@_+UUxpqfIZi8HNuv*bptn?p8 z6-*OsL;zaG8uj;u{^Ryae=s_T0T)bNQ%s8iqhWtEI@l)vqg>=FgHzLW4`?4GLf64) zh@%AbR&lzzv&Bv|1nA-!M7m36eOU82V8wBq+C_7FbZ^7~z}a}Xiv#ja2t-6Xl>ok` z-?)$=hJR_`s|>)2_o)iTN*17}^5fZl0yG%#GyyCU=K!y;I#>qI$ZE&HT@EBQ4A{*8 zqiuL#{iqeZ@idt;1LIO z|2P4p@%V7^Vmf;=n+}Hy*3$Zs|I-=XjQ}*ROndApDsxL5b$+hr$CQ< zefk~;ZGnEerX?L-N^O=4W8r_f#MS6f1Zea@Z+-^Qo8&oXK;BprS4CYB zn1BcM)(7f9u8ELB&O^@V#X;PHM+8Ji zuDd0t^&(C{Ptw%M%hIKNq*A0$(yTkRIxHE=Fttn0_Cv3g^^eFO_%5{uPk%=TS^tRq zA>78nzYHbvhm_-F4CO36{Q>GrhC(NI22g3!%L0-TjKdQ3hew6L-NO>|hb2Sd(_dx= z(wb%fE+8CmX`BGmA2NpW4)4B;4P_kqL&{Kaj|_MA(A_1568Xc&*ihKidBA`h;7>kqgWhua1Izz|#@5X>J+_!z(V!#}&J^*}PO Rg7g3Y002ovPDHLkV1h=b=86CS diff --git a/graphics/pokemon/stoutland/back.png b/graphics/pokemon/stoutland/back.png index a9eede155bd35f8440e4c8a0ce9a461fd195a314..1051ada0d98ce8288116791ae4e8666cc13a41c9 100644 GIT binary patch delta 638 zcmV-^0)hSA1?B~iBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zXMaK~zY` zt<=qG<1i2ha2w*BJ&p{yM)U=Yy3k{sYQcvb>IOp&Ij1kM;7boJZeSj)x%r`X^btpr z6Bm{hTm;paEeGe-Qy0Rhy+Cu>kgd1c;eMWB-n{XdKXaY9;X0p&K_}5 z%=j22SFoG_jD|q`yah}T7R?A?2^K&ARD6!2Y?dz)q~a%T%#^0Hl48 zs82UnpgMRUYAylla@F!iFv0?Ez)qA9h*$1JMXkzPJ?P-J9g#meH z11KS1(xC+b@d=E`C?Ti%DF|3feTV=$fo`mq5Y*tTJ*GiDMi1mo5e9sfE&w(HC-8y! zo!cd4iIboPCVx+Vfdnph+OR77XEQ{E>)8i+SeKm#f=!@)be1B$zX>#=4_HvA5q(gO zNAy5^`UzlDk7slaV|nbqC&96OFUR21skeXVQ>RPiZNt26Tk2po)2Ip^Fn=RZ0;{ip zp$k-wy)tp z9q`HaINCa0C!=rYeP6SlK-YB|%-aDp2P)FzoPVQDD6S1?%)W2m&poZJ23>H+{M(A6 YzdPCF-X;wRBme*a07*qoM6N<$f~?vWCIA2c delta 631 zcmV--0*L+Q1>FUZB#}W-e*gz`Nliru=LQE44=?f;DkuN|0zgSbK~zY`t<=40<3JDx za0x8e8hHh7z2pVN<{+iz=)i@GC`RDIwetc8YEmR9hIz2K(?i|thos$=tiW*#{=oC| ze@45qgW$g}=--9Y;23xBlI=9ex&VF$2osTbAcWX}%mnZU2Sj`me{1k$0!BcKqYxkW z0N==04XDEe;1m%xs>dBb5fO?kR2?{fam1^Rh_Df>_%5K-6V3tJoDnJ>nODj3^56Xm=YRz_XLlwx!fWEoo7C4HnbD1)h_kgquBKhfV0J4Jv zf~pIUmn)Yuf))mF4UQrQPrPy~A{CkV6-*ph2TqL;-hoD@&gGs~h>ahRCMJLq(ls5L z7Z6@Si-ZzVs$ac;b)gOsKqb(P_2PpPtaZZJtB2@-w95Q|f3MsIz((K-F3`X8{*KFW z7L>q>-*X^>?oR91-u&705&n91LF(6w#sS_YP(M0L5#Qeg8qo#JtJ8=s$j2i(AiVwr zuqwwhT8FW|wBNJfQorY8@M+cSKlG{9W$$dmvaW0Dpf^*iJz8M-Mj!`P4uGKzWSvH+ zbn{Xk>)r-5Z2*C)(oNWnUMK+jtB?cGYTI0aGl4@vpy|My269S9zwbj^!kIeYlj(6W zb-GSQ-%i`MWG#WFX%tx2J*du9q{l7&Mw5^Y4QR}^t>14gt%CxMcgOte`U^YR5d*41n(q{0>xIK?*}hmSbjO&25)0C$$pZ zns==lvV{}5a9iB_1EMHHyVaXNj1Bh3*gpz*1e1OamO_w&W#6jDO4P2<#wHk}s&^I}>(0 zL|4()B37I%A|4!QTOFn-f$2h^31vjqQ(I_4`wilzz*G-OJS4ZwP3j`YI$vysk{8|{c`VobJW&u%{8O*{k)1)OQ zVVIe(ABACL=4l>L7~*Dj?9al0d=Lh@D2!=Hgs!#=!eDVJFB{*)zMs7?K@bWC6}=PY z?Zf*J&rSJjEiPV|JpDi2+Ov2mvuwFPY~_($zTV&aL3aWLKNvl3HpUN^qT>DI94CMP O0000Nklp$=3lFZY{4Q9Y`NOT zkOXC@I<>dm2Xi5))-WJu%?t(uy`BNk4u4IrG;oUGWGAPMFts@56X*N?%HO_QIs`|LIzt wrx*AJm!jhRqmcj!01E&B07*qoM6N<$f;42XUjP6A diff --git a/graphics/pokemon/stufful/back.png b/graphics/pokemon/stufful/back.png index bb5074cf0eca4c71211aa4ff302d1197902a3499..92ebb8124ce3119bb3dcf92c68b2c541f6689a5c 100644 GIT binary patch delta 487 zcmVS z^*Kb1?LYC4m8@iUkgH< zn3G#HFo1JEd7jQB(kZ z4PawB4FCy%1RcNz8ePU>&<8_!`l7CC0Ao)G1O|X-7;n+804uMr15Vclpkuzl<;2pV zZvsx|2tWqM0O!|$X9M;vnB6#g56o`d(9q*5&1i=K5B#}W-e*gz`Nliru=LQE45FZ(o6dC{k0i;PpK~zY`?Ucc4!axv) zSAuwLsxQ#R2e4R?+!_s@EosaXm|S|(WQz3QF+KO<;<1N9=mS`M0HN$dbv6mj?z&WZ zE5$j5{9pc^o%snN=lTz2+b49|z4%FYDeaC;0stgaLK-7VJsD`&e}!KQBCI4J_h_I1 zm-Olu^;GCFK(Itz1}sXcTj>HwmY#P6bf>dIk5YgT1kjcM>}fJD4IqvypeF&|h)zO4 z0w6^P(1AwB^AeB?n{eep-53C6P6&hwfM+PXu#bSH+mivSqXW=ZcW^z{bm*yo)jk1` z{wcuvHQ?%iehW`ef1ExCPfy%H(UW7K83sX66L)ePTKIxk0fwO_7XA7ft@MHOASmMU z-H9)mr%}xLVJ;GfX{vgV#?VB8a~{n_9#eyX`0|PK6lR!5gFyjc69=d#kqqP!MkVl8 zU(p{ZGZtx&dH!ChkC{K!wuD5S=Q)(Ib=capMgc4egJ-rgP_0n_ekLZ!bbt&6@QHxK z@G)cCkF{Zqt2|E}mWdX&`?cW=1boI`N?>D1!YY4t7~2fdhV6IffBavpFI;;k8o4S& Q+W-In07*qoM6N<$f;A7&b^rhX diff --git a/graphics/pokemon/stufful/icon.png b/graphics/pokemon/stufful/icon.png index 8fd6d79a48dbf1590c3eb78468d2c3729bbbba23..de35247ae8282f05d5050408b9db11cd1f0ceacb 100644 GIT binary patch delta 202 zcmV;*05$)~0-^$tV1KPiL_t(IjpdTD3d0}}hVusZ9$jw?*yUz@&lEB=<3W8GGet;+ zI;EgZm#8;)3BAn^#oynr>&`t{tU(0>pS_vdrkQ z92qUYC!PvWliPuO{4-pWMFgVHp z0068>L_t(I%jJ?W4#OY}MRNn+qpL?Gx_E|rrc#Dxv{Vk0OdzF5WlAO7bV-1@OH^+> zVezqF*PXkhIfIT3z$j8OP%f~GurufVbQk8mKSg40>EqxRe)MB+eFp>BqnNRkWD)j>Hf7&EDT5^ rOd^{rVOFwK`LVenl^@^D|I&{SZS;{`z~6tm00000NkvXXu0mjf7Zzav diff --git a/graphics/pokemon/stunfisk/anim_front.png b/graphics/pokemon/stunfisk/anim_front.png index d3bea2fd5146c4bb9ede292ca1312263944540e5..769ce41b7230a8f807b899892ab423ccc4f2129d 100644 GIT binary patch delta 790 zcmV+x1L^#X2mJ<+bbkW#NklG~5$y(n>;dN$=)l%bP@!gIL6{ja80HRvPXOsX+X370Gg~WFImuR%|1Wp< z&WZjfNu&6Op(wfXm_pR|d3u2q3&nS0pg_nJA(P?+Bml^a2!9wyQNe3k1Wcl+@+^WB zV^a~Jz7(~fMu4D3fv5m5hkX{aYp4WF<&`lf1jeT;Yl>nUDp9hV7}p#G9CJKaxEfXq{1g%B`j1r@4}!hvmbHZuV<*fHTf*d}D^ zjC~{I4dXx}0e`?i=K$UjFyeqt0l#1{9>+iM=58kenKdoRWU<&t0+P;}2HQMu2mzUO zbk|!r^RIaWc76rXQ-8V>*RjYlKfZs-n{2R7g|^t< zq7;vEd<^@Tzm^y_KF3xJpuECf5|Aqiy_M`B7zK^wPLtwGNb8bZqB}V2I?6VHmX<>z z3?uW$!U+iFq2y12|Jyuy6r=cmW903B$J@=%&v^UNbKYL%-d=mo+c)yOeGQG*$?902?uMCM z4}zG`1M`2&@AV8|VmW4Nu00Is-Cwx?9C`~UNB-}K7y`gP=z3>2{T@U2=RoQdu!J2R zT-^1quMSSVvmrosfFI%L-ha3{^t==1QY%pcN`EVXb>H=SjmWz#BSy$*)EfW%s~>GK z+f=K>h;pM1R@~dUd9S+GV}dR8O8H}AJ3xCbJD&zXkV{*Q>#Yv8wDsgk=z!RzbY)9- zDNR{8Zaug`xx1l#%fOm6JO{4-qFQjh)2+00QqxL_t(o!|j$mPuoxwhJ!Ft zS3|4Lxn*gm*1sU2;}A;>RI)?aTFJhF5sBbLv>ODn1I{hbfvvxwLe0p6Ff(E>%pC&1 z0Mc`92mE!-(4mWuWGl)0>hS?6aI*Lm^cUe7 zld-SoH{Q*_aZj<-z5zg&+3sV8+Ago`4etj|-*wxpsef0w{1OGjX-lZUmsb!d~J|sK@kfyaRtLXejqO z6hA`hevqnk8~3_}vIU@K-ELJHgbsoyUxGlch+jYW+~&ze6j6A4;qCwC?Z%g9ynXRG zZ*OpKZ+|}L?dy5ozKX_c=Xg6>a{yF?;{^vq-Yzx#0mW_^AG5b%jxoZ`KWUqf3Ap(a zF(7H&+X-_70P4YXz?^l%NcS+I`R4zQpIaHg#8Sl694ifI{olC&9J=!-N8X>1NC99S z^xdfIhS)wTFa=!n>%ba_*AC{0*6PCYn5IXi)UOTaobxtpQ+TY-Ip(@I^BsxOZ+!`xbW jJ{|yo=-0v$ib%#^g3_!4eCS8H00000NkvXXu0mjfG9!aX diff --git a/graphics/pokemon/stunfisk/back.png b/graphics/pokemon/stunfisk/back.png index e73df3e2df003c4d52de3b56adc4114614cc7e10..f3193ded2e257701e3bc973dba34868fe81d10f8 100644 GIT binary patch delta 346 zcmV-g0j2)D1H=Q6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Ub$1K~zY` z?a6j21-KW?h^*)X;SlqGH^SXZ{{S>H0!7=N>#vV^36@4U2Kn<+>(7nomZYh3Ka#zz z-nHH+G4Y_JZbcRWj8{tw)ZL_eNRIb~kdlQZ#!sql7frn-jw@+1bEmi!~G@~b2yBB s(}7CP%z92-UQg42`#Bmi#`s|yNDzV0XY(RPkoOQ!Vxf-6MTw+fv{9fh&27H_f^E`skM6v4v-lJui*<+{kuF7Hj^X>D%hvn2nYb z1O*dq3j{D;EgjHzllCD6*_To&9)=h{>8e@O)s{FemCMZE24~vkX8jn&i3)K7rU+iw z3w;|lDb<$9d|lTsN)|j|izEWYX$A)BT%#e&|R*=W4MaINiODa*wyP6lxk+j m^WyS)8XMfthaYap-^({&yM3;lvrK>h0000TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bWT&K~zY` z?a@t6gFqAq@F94B7D=N^3J0ixxM*EC<4a7twvC!@9WG#i1Jo4P)djBUru%N}#-uUo zqDP=7FrLBp21rA%Q2q;snfbl>09L2Yp~kIt8++4dx~L3k7Cm---SPxr(<#e=fU&F5 zZNMSjbJSK?Zs3APR8z!%GXdJi9wJv9pK>^ovmD?p)EsbXEE&a^02dlXGoAx>4v@ki1%l$d1ihs{ z@yb&!uy(OXNwj>s9bixIsy>6icj002ovPDHLk FV1i#cx={cC delta 403 zcmV;E0c`$-1o{JzB#}W-e*gz`Nliru=LQE45*k~`f)@Y)0bNN%K~zY`?bA(8gFqAq za0nitMbhY!!U1X^E?O7P_!85uZKI}JhYJ|s05#ycy1+Hvbl;8Lm^4OR^a%6>#xwZd z03q}W<-cH<;rHePf}%8Oa-ebQ-PYdYGmY1VRFf`MUo%|}*!0SBe;}Y&HJSxDq`9_S z3d?nz@Q7-PxCTJ?*hS>4J}2r%?bbjmk6*_hc;|3K6JXz_n|=%MBG-4VKU$D zez5>?Zy(??$=hO^Wq&^}z|?LXP`anD>%lb3cHhqlYv-r00p597zmK=s?#ma60agjx z6bUS`xQ(BtpJF@_fAbvRDdaO?)R-cSF+NT-3Fj;a3?PM33IzFi2?i@~=9ar$V(oI7 zlIVB@qTqhL^5S9s`kfJh5ea5n62v}jBD~9i)=xoBfx=*60faBYS@8k;a2-67pmUr^ x5D6~|;+q0E5CkM-ObOzEX1Z$rr6vcNf2MMa5zh8gN&o-=2>?k&PDHLkV1hlww5=ZtGYJC8j8GHYTx@bmzLCBy^Fl2}V@H9=lHfRPJOU}?wFnphww z;0oGV>szpqW!755m+ija&YxtSx68lJerYQ_zgh}pO*YGVKQa;4gnI)YIY+AI+@PL= zumprTK;r}<3c;p%;OK*YNbvun1gO&_X=CUHVaKvCZgAF5FO$R=7w|jQ=1U0IEslQ! zhYV5%&K;6Y-Y4h+hh4HnZZPT+=eC#N)+6kV*0r^RtzhrImjjzRK=5GGT<|s1Ub_gy zN%}bE15%%bEdU{^w--;@{FTqJ1^5E6IlRbb?{6>kn2qh#29OYc9-UBsx|lDPls!$a zsP%I)VgdCE4edOeEqR5E2!2jRfX!Hu=$%g{&vchfX|Mr2U5gFL%HZ>ZR=EM#yoS&3 zP|-EzA5kkRyy^fIHY&2h>u?VZD2!Ijk6EF*1_b~p6^IQIurSyV*pPsz!GPQ^3Pib@ zEA7P~qrx#Xen;mj+-R>5y&~%-*wU|v*3Plr<&Venz5rX7jSTT}z+V6W002ovPDHLk FV1hUq)-(VB delta 455 zcmV;&0XY7+1g->-B#}W-e*gz`Nliru=LQE45;6C5dshGe0g*{WK~zY`?bNYO!!QsA z;6$0&YLiM`edGaB9Hg#p4;}!Ks^S5hO3YNOAhkX50EoUo2N=6GU6B|HPtaF@jTtV5 zg{BUB#jkAl#Xc+Nc;0_@J+;cJ@ce^HAY<97s{4_NFc$6&eB?A$f9%}gumE8N2n&G5 z2|^TtO=sUx4i$EL3Wv@#<+mrwYFG7xK45O7pODH7&v!G zyG1=k7pV8h61l;oN1RbV#jP#uO}@+44!456yM6&|<^aLH%?iQC%=%|#AX?eulpCZ0 z3tIw09E>hz`SOK(f7k+i0oWN|9F2Cu_)XhZ30B|OXu)io#pK&e1%kbs53w!pRoJwy!#WUVX^<@#P}F98{q x+R*qDU2vnzA5^c&cO}qUM@noqb${teL_t(IjqQ>>Zo@DPg?$5o&Mv_!;IT%KIp|rE0KP>pnWZx? zKuH<0g)AM|jO`$EP@r$)C;mX>tEzX)t>RpAUc4tvVF3v60VHdN08TYd-?)wh2E3R4 z7`sOa*X=RJPXiKTRMJ?*>2_`vObJd-Ki_TNN0JeQZnOWm)_)C*Qyg*$%~uVc#wLuH zaw&yiYQhj$JSVX!fP_S|zltZCMvO%Dys>}1lv}ThA-lyAi^#Pqub0d+AScJC$(VonrhlATdTItyP@wmw!&dnBe66`_uJ(BpE>1 zHs70D-NG=%A(zk|YVb5PVZ4@WDFkB^hQQ)EiA@0{B%1wIJkdB}Agb!4f0${#E{5zD zODrO{{%G#d74JY}yOYCa2M-zW8tnJr4d_)tlgxxJ>D>_s*!&Uj*<$XGgaOOUALSul e`9t2#AAiopjS)v`riVHJ0000es?xVZ8*WxI=ub&}ECWSHb8 zpUp+$axt2KEY^ca0XG*X{xHxlO^>5r5KL*qJgyO{4-+D4(F@1` z007oWL_t(I%k7e}4uUWchIxY~Y>es?xVZ8*$JWNhbCS_?B23bWXLFIbG(;1S#j`Zw z09O+y{&eX5xm-E^F9;TS5zT8+n296Y$#YY)(Yh-|MaB)z5PxuuN;Xi@TT3%`*cl&H6gC&htUO;3QYZU>B1IWuzodw&O96Mt zRDloHsFg|831X?~npTy%RxHWbs6$ErLAR{^Refhegzd9CR%$tfKz!f(?!EKfy${3K zjlVqr%5e+5Kj3JW;SA9#6=yz3kl)CC0rC{VSh^GgcoOE1}a{kf_bK9 z7$X94pr#>=5`si5$TGAkg}@)HNrWzqP!Pe7lPD-4v_mNedfa@cq904CCcsP)D*bcM z2q&^FlMFMA_6uV+y_!j%UO^&}F0(CXGFnn}AnBb*q{?g&5M2{tjeC|zmuXUJPd?Y> zL%f?=Mj}jJI-x;9#|cAz!2FVWlLVemecRTDq_ypw&!E zMAy&mZg7j>GO;be@QeD@14v*`q1$^-U^muX6FA!G9oZhG3Ek|uVxs9T5M>}hg(F_( z4weH8fS@HKd>&z!*Df=-!JLKzt=59<~KMbp;gSwF+5-3NQ2*l_R=_DjW;*tQG3h9+o+fdY#&uTcl4T zTzBrmGKio$w^krAF!E%OZHW(r*uW(2K<~rIzz|`)>8*K{@Reuqj2M3bQd}~oJo;=h{riu1iA4CS;mY6qJOqr*WmJOiYz!Y!}nIOslg?8kdk0> z5>9*GmO)|7lmzpAIqiMeI21wgneL)i_|4UD7)PVWa#a#xhVC%Y&-Z>s2u>3V<3>^U zGWWF2Z?b=P6B9t;x&5~HJ@`Q;hX}{RNVi?8y^p_EOGOw`1sX!L7yBcJAM5P_YhtA8 zb5r8jyggv@fuLfmd3zuPHaMQheh2gfat{rFdf%TmYI^?w0xrPvI}7!{L*pOV{a0ZN k(Qyj>gXkDL|L`A-->%Er8H#wt<807*qoM6N<$f{e43J^%m! delta 865 zcmV-n1D^cB2gnDIbbkN`bV*G`2j>O{4-+_-v+}Y400S#YL_t(o!|j$aZ`wc<$IV4D ztIrpN)X6@eNKuB`FDatxQm{K@s=x>E0$zz)S;x`pj*~{s=l)! z!uFjrb_j;%BB41drD-=!5G{6(}+=j1OUSuv*f9 zt*vsgav@%PJ^8a*dUPWIyOj@-T)n)#hAn|d_;v^a-{rqPrJ326*6lsVp_j&83m7>0 z9oZS>1-;_ABE03D1Bi%I=?<_c9W0lgQyR5J0XY52HpkcC7%1>mhsvc*LYXurKpkaEacY#x;P|Bw5K8CxH1X%*c~c=c zd}8A)={DpyH>#e%=k>dFY~8^p2M4^mwGqB+|GV*MN6mV`UVX6}2J@T;0{F58Xzf-F z(V)h(e1B1UhHa?Ez|sp^;IIlb*z*OrRe-|$2nC+(SL#_zEt7 zP(n~VdLt2Nef26jc03uy8-h_abR?XK4jpo-`@fh(#nM(VJN2k&l^JF=wG;9wD($8Hw)ZRgjgW(aqaaajmwNxp-_=qI0<1tGX!TP* za$4Du8V^Vd5?P;{`j+v4ha~lr{$8v}vjNfpU65?XY`p rtNDT4{ooGgU02Hwyu0Iv$1wf@uFKjPzT__{00000NkvXXu0mjfJT0Hl diff --git a/graphics/pokemon/stunky/back.png b/graphics/pokemon/stunky/back.png index b28e9bb17fb1ecb1f8e22019672e4283ad475a5e..5b30a9ca27af347e3f41fcc15539aabf0d230e46 100644 GIT binary patch delta 646 zcmV;10(t%61?~lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!K+iK~zY` z)sw$++CUJ-Z&aW*doU>OxHEw&1tT-m;1jO#=;V~dgQ!6+)cP@;$I1ibU9!8Ue}+S4 zX0n4cNZ;>vzuh~De-dF?o_c||I9~N4Argr65%)1h9}!TF_}oJj1eiV_RAl*bLoCZu z1eC)1Q!-Y&oAz6!F7QfxZ3J2?Rsn{~#NTJA^%(%62YYiv0oUWt0Y`qP zFLa7w@`O(VyQk8-$(0U}z6|yvu-QP*UR$8m*SRS&1fHihn@U-KTSS9ZY)7U@_CcOo zn{B_=K&!*yXf}B!rY5mw{k;N0fJo0BFxnnAnSC`BPy-6|1aB@-$n)$#fczt!ORYIe zRl}HXSwi|6e#;+CpN);NF3z=;7|YO%SP06>C%4KDhg62QhDZ z1=8sR0DLqRbVpBr>?7)w0akSd9d-a1);h%Q1eUt99ZU>y>j4W7PvUyq6pO_L5P~PD z@kt*L;Wg`2h&ZWx-z2fe7EtvtJAOu*PoEq0nE*{PA&mjM3Zqq=m)53 gz(C*u{^JnhFJ-l!ys#I`J^%m!07*qoM6N<$f{Y6!82|tP delta 635 zcmV->0)+kU1>psdB#}W-e*gz`Nliru=LQE46ccn#oizXe0z^qfK~zY`)s(-I+At8t zH7;w+sJ+LyJXRhc?~+}~{| z`Oaq7MDCmRYppKuo%z}bq!d;K7%ww_pP`f&0E8a(-3oiigETGpGNvX zrFZd-4v_Ch2NvjJe4&xtM)&KrxD7T8Wyl^uez)VkPyZh%gQ<4JAG zf+Z@`YW=MSLV!rl9WdD*H-&yt6wm+yWQ-p!P$p3 z+CEzwQ>C^V11n(sdSk5(;4Ptu*wMqoTbCdby((Jgw0-dKf8GsZ-t`Kk(+L20Z!5^2 zp6MslDFdvU3Nq{gFm7~6-3c_Zw;h%kiPbNO5Y97k!aF%h*Uc|6Od1FG0i5dx|fz;nW8 z_2oK~4PgrjaXa=Se*bv6tW7WitcB^u18|fCr&h#NiEc;@5DBy~w?LvK+yZlS7$rYR zlGa9i^(SEaQX7)2V3wDn3hrz4bCxP8ka=PnsIr+Bx}hk%LH&OMOK+L zbJpiQ9?6i3okKU)PNrrjM8*myX#{uytWXTGh}OTct~ejX_EZd;WBgO{4-_gZOBFo; z007oWL_t(I%jJ?i3d1lAg?$4NasZzpXfUKh&Qvn`I2}8L&>>Jka+r*P{E#7op{m+`y`wnQgS=+QOAU998aezHdb&g?`MSjRz<+y@F^ zA`0gsV)7!{g@3;O$*_rpb9@Wr#YL%sSI1EUuvFv#q|_0d@$pFm;A#_aF99B5e5b0K z0Na`4PSpsw?A0H4rjs_1c^-U1AX4!UXM-ldA(il10~r5ts|v9OMt`qZa8|>IRLDF8Z+%9u0_RJ> zKE{hhZ*xYk0w1tZ1>?8gMQVRreqKWMNj03S-@a%Ez#_80q5b`jz{7viEkKOGk~~gp z09OF>Eg8ad1akB35{KVDLng_~;}ZD3%;aJVAfHJo7w;nz5Ekf{PmBPUUMwX-X29jK z^h9V}1b=$CaG5Xx-eMKp3h7Q*HLR8wOS)IQ2BAOTaiMQwUtE$uZRypD5Z4Wj8@sV< z?f))4R<@BI)Ge>=QhGS!BV!03{j57aHiWQNcWk$+On{!JtUI01fSvbs7dUatYb)nz zg4giyxroR*Y*_4Kubj6>(tk_UVS~~h?&0|OcYnGLdmp6(xL89>*I_5OlLG{%lbEi< z#tb{)a;-#8ueerH!+!cPQFC8(q>D=AN4q;x0qykZ#b0WmS+a2^_*Cme8%KYsf#yu& z)9Q`NqP2(8ApIsVt4_O^CBV6j0?8_)2EYzyFI1M`7gQ%bFRWXDGb}I*3x2JkPUYfV zyMF~%fmv9Qsk!`Q-U`5mFVij#`drUtzwPJaBPaxxAK+Z3WE}3@%M>LCcH!ZY1gh$J zkb1I+S9P`l+&dimX~fT#N<+2Rp!QCH&p7Inj8YF`px*HHOo=E0*w_vN%gz=6SMq(U zzVOfLe<9s+Llj?dyWace4Ea|C%(ERQ?pALlpgJ(-h^3Yf=BXOz3JJ|Xm~#X=hS82U zAgTfsihkTY_G`aZ4?-{=lOZ$exU3>Sd1N)qRB8$00000 LNkvXXu0mjff|lQk delta 1010 zcmVF>l*O6vs~oP%}x8OD5{#E23@S2NAAcZdxF6r~|K9PvKV!Fx zSUvX(z};`Y1jIUoXOF`VF+?xT?IHFK-CmFu)YfEd-V%}kl8D&vPhXq=0O)=8YI+uJ zLgeH=dsSTn7754I(f~ZQ30%(gU+yQ0(Hg`6bvTCyN&S%2Fb^M1&zTd$w{=QukoX&y zaUAcbv<7((b$^rx2qd%yIYb>t_u~T+=r8B0KpjVMd><%)i6~r&h^ec1A4cYp$u1JE zbS2c)RcU~ir@I;NC8ktLnF#&a>3lbpx(HZHfQJ~rUsdzgU0GqJY6M*N^5?G>XKf(! zJotb>q~jki$E|Wfs^FsmF#e-STj~Hxs52P3eT+}uTYnGV@uD8NY`By#857?X#=l&L zIpd=IZu$!WWExP)Wg%SO(XAC+)bKtPDi6WCzN6c~zvV8(`)s8!pahz{y7@3!LckW|gZn#(y?Ec_t!KhXc(%=BoeZMEP${NI-iJ z_jq>t6RpEJMC$-9YLK)JC%zjWA+R`;v4DZ$J9mOFj8AlM^p^(Mok@IAz1F7~@1Z@&sAcl1^C6xR;M_)o)GJ%f z{(pG+T%QtrkM1P#!ny_YCk39uf*)$AQ`NjB>RjL{tjP3Se!OarlgW#8h=V>ibJ=h2 z^Vta$0_6udmnj>EwR@4G<-jaFSd&0iJquD#6>_7q4PfnX?57dGSZfbOxM8fF0H1O6 zCmH1)gszpIHcz#Q>TnNi4}tZ7bsCUQoooKWzo`F#w4*~5e_*-Z`Sug?KM}CccAU6B zmVoZSwFAaJ*r%$@H4@r^Fy{yil+6Zt=nBv%`ck=HB1)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z)zq<$+b|3OP+CLgia0L^9AFdhAwD2KaY#SFMzt3nTxac)&Y9%#JOt2M^oM$T|D~iH z2el>bJuMmdB9WA6_^_+*lOZZ3ZpT3APyR<8UjcUK(YazBSEdo6UXI5CzH!`5Yf$E< zDL_?U1Pm?$v^Gdp^T=R-CmU?fP%QlV^%@62Gy^1v15i}XaoD*i@S8{+ppGPY%XI#i z2b2bV7e9dk-ug_u!Hxo=G=lWma+sb^ZYrW+5HRUF$TP#z7cp3F!-PSl*~77A!ENLX z-Y^6YpG_l;Qqo54PgtFi8D5P536u%I0)3aJG61;;M(bkk^9;Iw81QG%^ESz90R+-U z<*T^H0Lra`!qfVM72rikC)X8GAOq2r$os6W;s&_ReGmPQ5@ECMK<{mT{$AqOG#H2T zMN=BoZm^{5YZBme;R&dxBp`YIxP8>wPqWlHkI$+}A;5b3s2^8=I3FTvbprZVlHYHozJV>ow}fP4Xw!Bhg?XRse*lUtcafRqsy zDN7skbO*7Ihcf2y&V?|b=*NRWTX7+hL{~&X>kAPOi$j(lPzp%`s5phj1DyiDeIZGp z58P_)0Y!m&V!(;&Wx4|3FKcdg9MB!4vc&tNii7`m0sI9NEXe$3Uisqo00000NkvXX Hu0mjfM5+Xg delta 563 zcmV-30?hrP1(^kqB#}W-e*gz`Nliru=LQE46&quYBt`%L0sKisK~zY`)zz_X+b|FS z&=UvGi7b%I}g)j)^TNP5$fylXy7Nuf2VN`irm%)RQX*% zKShAn7OAWs8SG?%?H-DSe}2Ej0T9gq3E}`06>}VRQxy0`Bo0tTlDuU)zvTg?LD$B2 zV1Tzi6ECo%fGCY1eRdqC=hHNrDCh-@x(f2lu<%9nj@vL|P-*sXY*=s`d4V?!!NWIO zOQV#uQTrWMdt{cMe_DV9iUeSRzDr{ffZPMCwVC@ogEj{I9`w9TvRnXxv{Csgt}%de zs-W<+-eCpg!%w1+n+x#u(MmRTwb5{z;7Z4dtCE#NQ`yn>DrL6@>8DWwBJ8A9H z9mGB!%G$#R7s7y|9}fmi$%RM~t%-uh7a|}Qhb%v!6p{o`atgHvItBjtLXtoqxYgPN ziURe-fD_frDRc$EAJ*LLIG{U7Wr_DoWj@`%@INfb{AO?j7u^5=002ovPDHLkV1fuw B`i}qr diff --git a/graphics/pokemon/sudowoodo/icon.png b/graphics/pokemon/sudowoodo/icon.png index 8b6845a8e79d1cb836c70e746047fe3808f2baba..942b841d5f8d6cf6fc3b4d277b3274c1bf1e68f1 100644 GIT binary patch delta 266 zcmV+l0rmc+1O5V#Uu6LaNkl5+GE_5O|@ISbWrJ5_bH^|DL}Pf9^mF7T_f10pi?8Q`E?PP=w8VBOpeQI~hHhXyFL*Gj`2 zZ8IUjc4RF6>w&h_#c_=Q3wwNlx%`m=EMqK26eR2jJ#3qtB#%48aoZ%kNg7Rdg9ynm zWF}ci^m%WXv&6^b537nrq`FX7rQQzc%Db4G?XUi*cDwqc2FV&9>i7Kd2}uH|q8Ny_ Q`2YX_07*qoM6N<$g0&`iKmY&$ delta 306 zcmV-20nPsY0;L0xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-l8Aw0Y) z00039Nkl#QFi!cbJ+2_a*2q2n6v>gN(kpRJi z14FFbHrCJFrPcUJj}#xD5P$AK3l`si*>QfIF8PX=4FoBGY!A$uNs2%hT{L+2ktl(C z6_Latf2}MZ37z6@>kI=TGV~eXpj>XdPBLIU+znAzX4pdm6xwU0VUD(O2(Yz`#eY4} zj=DJZjT=QgzQA0*NClQL78V5wJ3<{9 diff --git a/graphics/pokemon/suicune/anim_front.png b/graphics/pokemon/suicune/anim_front.png index 4f4b84be38ce25e5f46da1c5540e6ec8c9835447..83c95cc1b7eb0e4fb5c0c8dbdec6f5901dbf19a3 100644 GIT binary patch delta 1679 zcmV;A25|ZE4cZNmUw;N=Nkl25I*cfKFxtWAr(+{v-e}RCHt{Ms}rP(+=W%m#&0t#)Yut5OuEEhgQD$hHJ+Yyx%+`^3ovdaN)2RWSdJORwO zqJ>5oDmWJGx__4G2om0k1bcA{P{ARV*e1l`uN;`&LKbwQ%vX4egoxw3Js!6_0)Xw# zKt-gqcmfh9h?85Q8>lHN0MItB>(^62*7A6*7=Sxnf*SI0`PZ{eYuAkd+%OE?5of^< z7u^tI+GKBchXW-ZhfN^(;pF}eLddpG?)l!{j<^g)OMe$9=@O3I?>@Uh?rBKxQQr|) zQ*C{sVw=bg?ia&Dq%ZfiZWz(0JYM|q)8%V#z97WqmA6sxIj>9m;j-! z7h+i!)Yed!1Epx`xrTZYpo2FfsNuq8HcO~`h)OCpLXC%bjUw&7!WiFz!-@Ieq*a12 zEJK7u6Mr@K=PB$saGM^i(Gk3*C-Blt0j0(|?>ON=h|=}JIuw1K0}u)hbxy!qgAm2= zj}96LMaS|xrz7+ki;35G{RFQKAXOgVbxt|4KEQZ2Q*;bCQZes{YMgr6V)R64Lk+}FlN5bCd((y>?BdKN9hoLq|tD` zV1JB*37b^cPU<-TI;{=iM;P^+im|z&LsNK=1LmmC#{MDPzHjS_(G(BmGH&E5^wrJQ zijN{%sl&ItB-+L}dwLf&)tFxiLfXe15Kl}c450dMR*}(u#pX9)GCHCwT$tRySl{IY2SwW(5HC5}=R+7G(SV+3x7p~ z1loU62Wk-SV26`l;;~ukhv=lwPMSFj0q4+ zknM>};K?RHFW{7SoSX!aL{MB}>VGx}hzUkyW)ftkjzdfhDL{Pf+hiw`pxs=&==ji`K1IoB7dw9#cudVU+;#L9->r&;5M3EAzZQz@uP+1rNls_1aWt`Wpjtv=^mBZ z*vJe-NRR_@kPPk+B?xoD&=Nfm5`>)xV)#4G1;L0VXcWuAWr7h)kc|ILFn=Tf5`@z= zB^aW~BJI3N!(1?uTBD{k5dCq$vI_i_Nx?`Q=W)=fG0xl#xg~whm=uh}Kt7&KkRC9$ z8nBT51X9(B1*4G&gre!i!&<r*aB}Q zNx;_}eH1?Lv-axw&zic)&VS}BIRg=^Hw=5-PWd)FLXhDMzR0P8AfZ7;>eEH|iM{v% zZXP?=5g5q#$voj2R9&Kd{sRck=c~qf6!>hse3Ae?sxMbVF_kK-=U^b*z{|;8Fmrkk+p!z3u(3-pr(L=7joIK zmLy19C}1_0O#(_w&3eoMpkfJ-9RvcAeyG-y9D%PDHLkV1hoF8M^=g delta 1703 zcmV;Y23Yyp4e||;Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-nu%W(2S z000J6NklPiq@T6u?JIZIJ0fvi8;n)+@yz8)}phf!LU8t)-Aau`$eUb2ACM zq90(r{sI9XT{RR|PP1`(igXB-a*+q8pP>kP3BL4}i$hgk0Vq&6u1!!c)eC5fdq{cLM|tLUjS2{XrW$$3a$;So^82; zgj11VJ8A(cxWpFAgt+{b1JfJGhE9}1nYT!YxX$0^aoZ;VINlUgM2f)^kSIZv+!ozH zO;G`Wrg>ApnEA=|Aj4itGD z7J=ZGlLzyJkWHQ35B%*d@fb`)7dPn(f6;D$&K2xznWCsuO-94l) z_O(v8N1yR{{^!pZZybL`h{r2$qWlY9m-f5QtMrfqi}di|`1m(s+cwnJP=^D>-ogtF z?Mr|Tj(*vgbN``R|l(5^i2jpDBROI0mll2D29J@P)DeDD8F+$LSL|m zc!O7u@X7#EWdUC2gcGX+jF-C{q;%Ani7N=;>3_+eyaHbC(eM;9(LrP8@H}wR1Ypz~ z29s0KOe3x^(|v|!p5Hxr$ALq-^!r3FL5;yO)kHksqlevI-+anW@hUwWp0rt5h7_ay zew1LJw)g2!HzxpK+UvK+VK|011DOEPHd1s=S!V%*8a-WQOOrp!5O2%wqC~m70c)2q z)PJq4FHIUsK>Lp+5GAVi=y$LU2w=>DfK3*U8kygBexK4I{78GlLe3nA6E>-=9Mv)a zbXpz4kFeKoDCYW_4o%@f2AH8b8wY#v@qJ%Y%tj&F`0AMoeRbVf3Q&)hYw#^EM*9*@ zckjHWnuVpXOZ%7uMzm{W0Hna8627Np0Dp2305vjzSgbPr695!53Y2jp3&5hHL*6Wq zxee8fo|ghwDMlgQ;4?d=5pSslR9TaKWdOyLi)8@RD}Y=En3F94a4St9TR^2+dY(&x zN-^oNrWgsF0phYZMz@fz%e2i>@}S@w75)9Xxt5uO>ZM7lsH&E}i&JHftJeNMK7aa= zD}FQya-EH9CCJ^`eRQ1!O%s22ms~ADv;54l`RLoYQiA410zMgSZv#y`mlb7;11&M! zJ>t0Jq6AqUnsO{6$G`Q>qYWu2u>_G8v56CFhQ}o)5|p?Cf$Q8@GvELrvc0SX5kA`E z5gu8N1f&GnsegFUxh3y6k|3)kFMqWo%YckA5J`~Zi$~zgCO|LXmbcuD1d&)!JYwk% z2#5tnWTg^hC5}TZ4Jkl;8#rVum7rE8o)3Z_$R-%bd@4b%$R8<0zSDi**E?NG_fiRh zkI~`^;gL;Kf^mnY8+U%F-VOSXZ-0enuijSH8Jp#;#0jF={kZ$0&zj3;ziR3_J1vwm1`nas1_lDI#l~}ZAV;@CVPvaafh*92V)pt7@PAS~SGfi$(g;xb z<$-cfd==Bt%{3^OOxth_fOc^*L+9~5-y16nLv%?nD#<1Zk`X__atb7~9ab0ESc`{y zI(g0Hw7izg&P)?&3#c@kWXk|*0w{PklMQQeg0*zRQ#08lpcrb}V+H^fi-Gha5QyYW xrB=H%^Oa_EEqOCnyC6J5&Iv@U9sj*R{0+#W2Wt1nfKC7a002ovPDHLkV1f~O38nx5 diff --git a/graphics/pokemon/suicune/back.png b/graphics/pokemon/suicune/back.png index 54c393a0d8e2779faf471f61cfec401fa0fe88ee..71030f3997259d07e41bc0aa13abe9657c5b651d 100644 GIT binary patch delta 725 zcmV;`0xJF12I2;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80=tokDu1x` z8jCxV!jKmTxHD6jq)wM~L9dWPony%4%$ynB9J>o-K*s2N^Z)0fncjc2D7_w@7C){a zuck#&@S?a#+!x<%+rE2uk+`=9l+x%jVNqOnlL@^FTqZn2OfL`>aEY)eAznp9@|Dv9 zZU(XKkczP3%{RB>F|utfqKKQvHh*B#7zn2(EE;zUZ4-_cwIxPPBAQMfJ=zAWF7eRu zP()-K!k#|Rj>j3%^{5FlP=wRx^%jHsqvQ$-u0`SYSzm8uFkjO@4n8wTi(dI-q5ui_UMlo6Jz#+e2HXRIG5;8rA(u7uWoZx#f9cPamozHJCx16At$>4s4+<$f zVTqHV!Ja;?Z-r~QJxfZ+ed!V$${DsG=HAe~#TEuT1QuBnIF&=Uw^e`z9uk;I1wYkI z4E7EHLiHff0Hgp#=s|`YJ`)XCEkKP7KGxG=vk}6aJK4w-i!dHxHRldsJmOG~5tll# zP(%&D%}pAYM+cA|ttz`mor(k}VSv{4<<~&U{s#Q()$9EM*;1w@iBJ=s00000NkvXX Hu0mjff<;CX delta 690 zcmV;j0!{tm2G$0UB#}W-6#xfxNliru=LQE479{?~TDSlJ0=bcsDgls@z8!xy-Y$>< z8Kd*f|DTIy27~`+QTlRtUjBFic{MM~l9%O0;qAdWyHiIMRb z76oHjk>|Mz$sd)+$aoA3rJ7~T08%9(6XSuddife6UPO$?GXS0h>WqIY-3kQKl!uf1N%VAd!v8FpY%)qV1WOEZ@R@ zou+XBK>X%UHK6i@&B>w#h@S@pk}Owwrc0t4fxuV@angXv6VuQ+LR?f0kT!LAI({Ny zrKNSQ;( z_uz3p%0nKBos`?CHZ5{&&ZkOB5x%D=KmvY{3d2kfSYUzy_dsCEKZaGvWer1F8pOh1 z`g7$KjjHL{4J#|)AmM{T3Qt(!BxrD;51VV@TJFG-5^`UfgF}C{z!t>Z8@t!o!eEcU zDr*DhYU~bn3b4RK0t>0&r@D#3!2v+19t0YI6rcz_$dJQlq5-P|sFA_PdOmKqLYQ+W z8<}De#v`of+yjh99O^ORQYRLQXaKmmN$c|H0n(#$_o!2m;3N#txxV}cNZH?jf4}|! Y*;1w@AiFhD000UA07*qoM6N<$g8MB!oB#j- diff --git a/graphics/pokemon/sunflora/anim_front.png b/graphics/pokemon/sunflora/anim_front.png index 872995742f49480130c9e3d3ee9da886a526fe5a..ce54002b81ec4d9b04c578d76961d0b8ec3d5793 100644 GIT binary patch delta 892 zcmV-?1B3kO2hInOUw;ExNklM!R^gWYQs(t5FZI?>ifGs^g-h1y4 zJP$&f@n>WE30<${sdhuB)Fh@7unbCRM^^w_x?!~hVAu^gK!52e0QGK*o;IaKi`MsP z-4RvfomQw*wry({0C^Xcdbj9#SJpYDd$vR`v>nTXVE|yswyR*g*#^DrwN7+PHb=p} zK0EX--+Q`lOMzYIx^(EB4ZO=e+Lh>A^wcYryb=HvdeX=OI{-kF1IxRFE+v2kfH4}4 z`UzlU0eoJ&D1VN=eC~PubNN>8cU%BI_1wNgU&;0X1MqI-_FThpIq1;Iq3PdNtyh4D?m z`6^3HW5$4Z#^Zo97OgS`;)sJVsqz(PoX1hRM3sv{X5vG<$LSITTHrI}bH4O7L9if2 z;3{95qENU%SX5i4yTD?90ALHK7x9HD-Hc-%3jp06No9n-GsbQd+Ik)U(hE$@!DhL- zHY2LDN`K@aT;TDoa{hqv*hC?__3xxWHRdr9eeyXsrND|4@g&ho4q%h4U&!OjW^BfP zGIBGD-PqD=`4MF2cOnRw!V4)t|3$)hnU^q-(IS|If9=jxi+&%zc{Gg;lV{1i_#5b6=C_q5;AeV&1Vol{P3=A%rmYvkm?v*gd%a zly$4!;5c#r9Jj!U`>SE#__wEnCJQsMv{RM!>xjlq46yE3P z0fTrjSIS3W1o;8aZv#`RV;(^kLpX}RWkS{iFkOnT9>Y^U1;I&a{P5h2U&aqbFow+& SoO|a00000Z*$X delta 920 zcmV;J184ls2k8fpUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-q(F9|w% z0009_NklF>l&H6vr|2d!h%k?m1%ug?yG%lCn4x>8`* zyDl9BXM^B!kAHThZ8!-^rJw{rg&s>W(mJ^-J3e&3_7WPQK@ybJxFZ+Tuv_L)w3zv%k_m>)gqS-89VJpg>ubzSLM z6&f7@^eoynr4xhUw2LB68`4h0ym%cL2QgIgu_d18cz<5E4O6L@X+p%rwc#U`V_${z z&8h~#(Bnd+`EgLCZX1yzX2db1u+cC=aXga5$D9L!lI%9-e6dc9Gsb{;#+69BqDRCMb*W9(LUi(vpp+FS65O|)@iLLyx_PG)#`r`$hgJhM^4 z?xK4sP|J8mM4f!frA??UILW)7F602V$(C!V853 z`3DZ;rOsg>uS-C@n@Wd)T;UI#fzm*jU?9MPlz(&vA`F5LH!1@G{$OwuhBr4Fe=rF0 zE!6&C30$fCL7~~ZfHo9W{-Dr)z4Qm5{<8DLExH6$>JOsoy)FBGU#b2=+&g3s#Jvvk z8OJhlZ{*?*M`SnzciTvLwkjLB99JkM##aJyzIvY3`>uA&KX*$Y)~TVKkN&D851jk}O&;@E5@zK>f#Dtp-QA`fJnz=jyNfHxGsS>wu;D z>j9<(9@SsDp054?Oh->pe*xg3wuWSak_SyZW?&Dd>OLna_y;__i{%#(<|%kFgwyQX uTmg*dcHYhLTrn@$Ud|r2H-fabegH)%FleDL+y@~MNTFhL!G6rKC+-j#G zc)58_u4gV0d>y4$>I*rPc4Grd7t*{U&)lp8ND_;8(|DF{4b&`u0_1h1()%DT!pt*d zb?SX+(iNY5>8!Ndvp88BJO7SZnT231E46dLPH`@|xnA?81*9#`ZU$jw*1aez@t6X`Spe^HV6vTm0IQ_INN4Bxd{o0000v{D0rb01&;;P$rh>c6gG(Z36 z)5e&uxT^L4fFF;nY)pG3W5N>f#?^t3#JC9TiMieEVIh!e4?=_;f53u7B_{A2*^t(j z$_O_JaG-m5Dbi_K&jLaM+Cz~_d;Aw*E&{cOB#z{l01jfI237>fl1&cyKyorUAS9py zpv|rcFfGzg4oH&J;5ivJ(!5yJvpT>l4!={mm#E(M01aU56<9$bVfQ;ZM;PPq?K}Zl zo=$~p5}$DY5|C*XAdQPm_RK`7 zkL{4eSH!N2!Po}3+Gz-0Zl06tnM(v;N2!(iLJp#NypFo~2s@ zHH!dw9jWv_h>I}u3|XCeADVQkR~t;8^hk<0@iK65<>t0002ovPDHLkV1g1s8|nZ6 diff --git a/graphics/pokemon/sunflora/icon.png b/graphics/pokemon/sunflora/icon.png index c39ed2d4e72adae838f968b3912a13c494dbc34e..50bfb82f2fd62f4c72a131fc5e2701def5f03cd0 100644 GIT binary patch delta 345 zcmV-f0jB=b1Fr*+Uw;8QNkl-<9QM!x}AROcp?E?LojVQWSnGr}C5keh< zgpf#vX1Gh~Pgt-sz+P|n>$iQjzbHDlP?$W?`J$6Tuo<;NQGaCMgJnhe($yKU;O&Pi z!^UvNFjT&R;hIM`tMNtS_OEK5k>vT*AK{CBq{n9Ef^3$>n2U*^+#cOA^1q*c@w9Spk}eq$z+AI%XW$f b@CP5?&bZDX9pQ0e00000NkvXXu0mjf$`Y{x diff --git a/graphics/pokemon/sunkern/anim_front.png b/graphics/pokemon/sunkern/anim_front.png index b9b5570bc7b45fb4d8e0241b2f9863a7383b2823..ec83fa963e6633d240d0b83736d4a90f37bbeaf1 100644 GIT binary patch delta 544 zcmV+*0^j|e1@r`vUw;ArNklL zVV$NE8d?iJmT5&(+?>cQ-6G`>uyqd~YhGfYmb%&t26m0K(zT3Ei4UUjt*-$PH77uu zpfgsbh;v?01G=*ZVfIo&;CN_l=>^VsZ)NkxI$5C^SCszLsQL_c%@=D?kc%5}H3xUPh? zp*!2BPoF-44B%dWtzY1+eU9$^F%pO*)wOIc=g2TFjLB$_kI>dudolTBHY={dEBAd| zZl{~2&Kp_5G$(=$q z5|HSqfI`>~bO!rU3G|EDbvgrMAX-WFi^IU?cF$O0NHuFy>R%Sn2X1z6*N1IbAGAeK iAIREpy%|rR|K%T=Qm+Fe(Q`@w0000F>>255JjQUkacKk(i>5F(o_yWnFo-gfQ;=%GafGF0}xAgsR-%- zmYf5mNorNTTp*3wk0LI^ZTV)g3qiY2h%x@#h$8>@iIjd~A%CSze87#&2&$yE`5mTi=vm|Pf zt~~dkH+mhD59syNM?)J77&g_OF|cd7!IC=njwaw#EcQ}J>Pc^g<(5}lp?Oq}9%-j%d z2LyTyj~*1xRNpxlYEA@wzC(RCx44YaSNv0w|S9AaaP1=3VwCY zP~<5dqJb+v&N5GfU)1{S4*s}Hf=!55y9l4+YNIhgWMWMg0U>E~DA~Zx9`bW*J8rul zP(OBTPj;|}C3a_f;1>v(i#@L>Yu=6+9DVT9AHrgT4_pyjnRxqaFa7<^V`JKv3k+p#zhXp>q=s5c4Xrm*aG588}pJhwvwQ z&QMjI_@oFa-_M^vzhHLLziSl9Y{-x9!nu%BzaNH40uZ-hQl|a<@IH#<48R)EQvxFE z1Bp>AAuxV22LK_jiAM{6n73j&vOgwFqyzwBmM*|q=s5c4Xrm*aG588}pJhd`mv43*l6Uy366 zeg6IXIaZ?Rs{hs?Rr#fQdXr4K8i(sil4Ss*GgC^Q`zN<)swM!ge~><8!1Hq;vl0qo zThFEdz||>n?*Kc>#{>7WW?T{g@QIv(TZ((L?`zz70Ac|-c;#?vG3x-xW9W4XuvwQa zJ=Ei~owD3#7k!<}AH7ye<&3+Ct{&+70HknMB2Z^8yR#w>Ww?muEtgD&4y}TA4>Afx5;{2G{RYhy#E~ z#vHya?c7c~av!V4^nj!tHb$EZON?qXT3-OR4eA~sck#J80%Qp9P=x_zhxb5516Ab# zV@v?hd%)ZL9?)T6^zjWaR38d`1jtSnzUUrJ1H1if2RxH^I7U|ofIRLlr3cpZ)$u8P sBig{dEc$JP?w+dr7o*knxAQ0Z0;YA!1TXdb_5c6?07*qoM6N<$f^GE5Qvd(} diff --git a/graphics/pokemon/sunkern/icon.png b/graphics/pokemon/sunkern/icon.png index b2be939da161e0a81addfbc2747cf0ba6e48b65c..5c769947acf3b4e6feb3af4e4ae1f066c86ece2c 100644 GIT binary patch delta 217 zcmV;~04D#~0+t{y9`WpFOGAeO_KI5$#j!kPkE_( zx(w+Lm?S(MQff>p>d!M7zb@r?|`5k7%=R>fZ;2^Q1uotcrqm634Ks68me%^ TsgV?~00000NkvXXu0mjfzFS_@ delta 256 zcmV+b0ssE70@wnOV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4;c|J?t)YR z006s5L_t(I%jJ`y4udcdhWiGmsp+H4G{`w-YhadVSuz8LO!f?KHOU|gO{m}o?yhQ? zShDQopa1^m{(M#H#|J18!g-X2(mG*+dvy#IH&HRz-0>y4o_Wfe@AL~5BEDEUG3dA%}*@&1Ju-H8!*J) zmMkW;%g``AN>9*5a)3fFRauH1|424%N-4&(O04HkpB6@sv2lhxldB%UoAm_TTpBRF zY==qgbpjJldLeWGo|N)o;U>i0wUpDvt+QqtMbeXtaOVVG?tf(@!zDQ)#B1;v$MF)K zz$QR^LPWCf!To&kEpP#RzJFH$1h};VA|v=jy@diSCDIKrmHvzeB$~Ggf$9-gz~Q(h z^0O9^ZgdUA;|Hkf5Zt8eE?4!KvALw)G8M(p%38IV^ry^=i?g&Ae^7(uK}#D z<2d7t^Me@`<^L-R2ftHMlwfo#iV}>9qVU#H^BbF=6=hCMLf^+{McJ>LMfFt(rJ}6Z z+UgIbqA-U)a3JLO{4;d(M>k3=|00D|gL_t(o!|j$&O2a@DhbIio z-rT^k2Piy9vQ^pxSPb130!_A(#VfiDmgiACfs6J4f|qhKF=_tHWRRkZnzw2@Uw-eG zZsucbnoAz<$^rOuN5IXw0kiWqc(FeUc)s+PFji1X`LM7P;(zX1%Gu)9S~Fd(q%RlC z!V0|H%avTN$r2%6!^b#|*JuUu5b+5S$-ILH<>6as19-H5R{(^#GXf$b_(Z)z0frK3 z4osy#;{l1HAt6xx#1(Kj?udeHK%}{@fq48NRY7F^8fp1NkO1vTKP|F(?=N5)U;vcp zBT)YQ0o7+UNgJs0;PgWM9qljT8xSslCl;VC(E&P@>z3dG zc>6WLw$C&d0f>VAHo)d=nrWt)6y+Z(3Ws1+QIueeD~b|~mZESl2?jqYN08Qiy9i&H*83*fGQ(|Pn04ah}l(tGg&&j8aIKuYQO$yXvy0B#&$iIMRD%LGzw zAxP-eR@X}qwTA1p3z1GZdVpA|xypeSN5nd?R93Ine{lXsJ;ccRdc_z+r_XmEpto4a z18}8L>jHSI0~uCS&k$FE`V_1R$YVmPN)LlZ9{E*ZW0xVy0hD5Na2sh$;2R5^m1;KISz7iw*#R}|NVmlZax&(}%${i*} zsX&~MB^X<{d)X~=xG#~pqb$u$)N1#ZB0B5uD2l!S5$~PXi=v~&00000NkvXXu0mjf Dvf;RA delta 399 zcmV;A0dW3<1oi`vB#}W-e*gz`Nliru=LQE48Uy!wpx*!h0a-~zK~zY`?UXxj!Y~wt zK^B?oHmF@eutzciuYt?nM`%|hS0+26_Ks@q(BD;c=#Q!$2qnbSL#L{oA(3@H-N$j1 zM&qpiso8A+xaEJ=5-2eU0j)Io86Xe<8rd(0e`wOdlwO?nX$%?M zciQt)K0q7buG@X|6HO>YY21JD0?z=`3?QX+{NyVU#Q--Bu*ArCfJF?cwh+YhYNP8V zh+4t*$_talSAn$+LsVmAWKWnJ6T;CXhcPm{=&rjZ*7j~V ziail+mi8g?J>eX}jrh*M&Maj~a9kJnYh+SJU}K5wVr1whU<6g+FewfSM8#TyvAMgK tZIHuViQFBfJp6c;+qV?wAM>Bm7ZLBB*XSJT!TO{4;mVi5eOdu z006s5L_t(I%k7de4#F@DMSTNbh_MXp?aXzODJvTn=q+HVkfk1l3{*-`gqt=>n`8i% z4oFza;HPgZQ69k073u;E1;8V`2RPjG{?XK&0=uu9L%P*mt9hzR0Pe__N`Rw_Beh0e zE%i^53qfJ%)^=wTha963Qff3Ig1tY?Ck?35cUs?Nmz#olIsFMB{OfyxHZzEq4013? zL}FAhh(**P7^Hwz{L^5N&(0A)ITNIklf=cXQ!?y z?kNzEt)2pgrYum3ML~g#=pqOZuxiJG-)EHycBbMFWYD=G!+D6Zt*H>ZWQ}lXz*Qx&-du!`!*stB#a*otwZ+k=V&~(4jJ{?{*k@Sn193lSC92kzaLs!(S@FI zVA-!JQo07uEx@%9q~YiZt`RH;T#Hns_|R!ne`W-Waxm3XBm#|q z_d9s2=}IlK4AjGbbKb{+1VmLpf&y-Mgha;`YD5YZVgV50h~5ivc{=FNXd%=r*JuK) z0G1&x-y3lRGJl*Y#phCDPQWn=hXMW;Qsyy;)y9kk1Sdk|TnV589)L|?l>{d;n-Y*J z9^i^qmjDR(Jk|>7Gy%wyjZXrPyx|M@!1+rdV#PyV1)50{&Icz6{y%z2LjCFrRLMtg zp!#0Bx!7Jom*eSblO817ea6l;@S5}<=rf0iwr72B*nju2=XH_lSo%-zhvV^keD!R= zB)(<$`8VqT_U`MDO(wSYQWf?b=aGJ0b=CF1mbbS92o84;4RU{Uw(T#ewM#1ZM~w5Z zXy|L{l1d`r;aGo9p?xYMib|Jsc&G6!)a}UFrzonh+6pMlofr0x z$I%GUw|_K{nJG?@AIN{0sLNxza~jjPeSGWTO0AE=DC(u^2_yPtP& zbv%&z{MtLwtP{)+$G?8B2++r??v6g&MBw%Z0`VHya`$8%4>J5@<`1}g84p}ox$)ob z?iBF=)vhoBZ1*eiz*Z(6*sa&8`Jt{q Yn-fifr?f_DIRF3v07*qoM6N<$f?dRiyZ`_I delta 829 zcmV-D1H%0529F1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-!CKdtd! z0008=NklL2KJU5QSBPWaue!>-OqMG58v9NbYf!v(r?R^b`mvR!@OaZ+vVH z>grYuk#}+`g#=pqOZuxiJG-*vBx^&j)qriJefwr?OZuMUG=J69ztuB;gP_GWDFU`d zA3#iwq;nQgWty>{#Y&i%frymlna5 z5ai+N4xTZr8eEA?WO&l;()z?0mgVI_RpzvUzB-=Z!HR_^rI09Sg>2ZvL#?jWEYCrm z3>jlXY)FEnE`N}q1lKG7iKpH+dV5M+Y3QM}MDlTCa~l#XtKaweEM@vxg&? z>&@5IB|qSgFN$L=cuRi#sY{j=UEg}&I6q?F@1v?`S$}>%j^mGb>)8aS>8*2Le7D~f zA8y9Z>FIdQeS>SR+dL?nYU)2Me`|vv+})sP5&e;D44}^mXy88FG3%ZnI-V(ND?tf&R^lJGBM6aOT9BJA zZkZp5zBNHPhO6^U@-5LP^93dcQyIkrO@C1+f3#IpnHqu2mICZgaMalGw3eFaj8*o} zHMcwvxztSp#daf*Bp_}f1SNS~vsygBO;B8v*nb5Q42}|ZIKp@!%>agsgk3a&{zRM) zPL}bYLMKnuK|Vhc;!6}7L7lChCha^G3hw(lK2TlO(4Ing_v`Mxjt5fjU$PTn%`rdh z|NgTef!@cNSA^Kbmz->kmD~ieS+>)Jn&%QrH|?Emhk}HE-?W(_IO|` z6E+X*=yhxPVU0z%(_5P#y2slcXKj86I{t?IU=J8gerW11n@xhJ8VpZp00000NkvXX Hu0mjfAKQW@ diff --git a/graphics/pokemon/swadloon/anim_front.png b/graphics/pokemon/swadloon/anim_front.png index a71fe43ba2f7c72eb13240c2f68d323ee8a459a6..818802b1f59311f20e56de1ed1b396cf6f35124b 100644 GIT binary patch delta 825 zcmV-91IGNV2a5-gUw;D@NklBjE6vq`KXEQ{V?WS98b;*#yex{x@I6k@= zVuD><@Q}f$DMJQDQEpH?i8bcE#1QY^EEaxrdGzP^&gOGBme;%z?59=rE=+w3oWDR%-RtyN_%z z8l6didbRllw|}2rJZbV`Je>t9M;sVjoE=F3SbKZ&fv2H!VD=aYus%CytOzoo%#ZLU z)P(>PnN~DF2H<5w0d7qUly3D(K?r~z0fansk>1S4076Kvbzg7yvZNlxK%L}i+()ZT zw`;gsh-6ZuG`D%TpHjL_vZUr_$<*?cTJ~lfps2072Y*u?9Z<)y??U9M)+9A;)h&iV zj?(7i7@#a^ilVLHmlhD3(rPJb?JkM96$@I@3%;<0{cpC;9~rrxGWpXOO95jp0At=g zO=$$+fH4Qa#~%Vl5J#RQLWzKBBt*a(a=?^3P!!LEvXP)GKI-60WtD{OUq)oGWd!qs z>=-*J1%Lg->lo7yeMZJ5^9x-;}y6kXYR4Wzs?3+)#IkRIK(7Cy0 z?0hsDa$sggQQ<}Bl<$B4ZRm-Ca)O_vuOgsA)>{wsZi4_^vw;`tgiP-FNVj%y zZNu%e%TPw(N4#^lDZM1*3hz3a56C1oJ_NuHX~coXz41XwcR7&Z#Ivb`?$0=YZ{^q@ zD>51UMI8i01IGtnG(PzLIJNGRM$%tE;4WET*x#{Vs02^lUsH0s00000NkvXXu0mjf DAwq%O delta 859 zcmV-h1ElF>l&H6vv$ivLWFbXu1{LB|`>ysF^$vPTi0|5mZ!S$iR8ZkilWf z5-E~Vr&NlR3u13*KR}yy=~|_dRi`wO;_uRTHY85CJ1TX^P=B6;k^KMp-Me>~|I@TZ zJXWL?S{^^kMY$eoN&qmu3Gy|}zX6s(2^8l8=6pc83wQ$a0aYgrFrZLW5KE}z8d4%r zg(`reiYk=34p~WxC4f?xpespX8xfG}ig&WoGr|&zv@5P+rPts&*(Ky{<>4Ie+f zc-G*}cs>i1k2o;6I6IO6u=f7s6EDNyKw1Q_K09Zu05YJ&x9~2~g#Z+oUNAuh;9)}^ zZbJ+dZ}oCs2!JsK2zi(yS{8T0tO0)I5 z=P9MzBtt50hD;(ysqNI`07Y%pJ(%d2fcARM-4Z#fH%LWabqf)YrL^%h253vVrs-+? z(nCVmnoTXK*M+Y~A+M(wZn22}DAxHUrLa9Kv`MR1(A&|-m64}3uNTFqf^Mh;~J1B*IVs$jJx%<(0 z0OKuB281P8bW7L@dv8A~VNAD#RoM1^SVBOlF9H&_?f3`;ha9j(=59MfGYDL_Web7o z%U+wIi~v?E^6oun#Mp`Jvcr8*uM)85+OyJvGdVr$br%<@Tz^vpa1w{ z=!=0;oAuxJ+1KyGu$=+`OJoB!yf$S(9~T(@oD3MVt;F#G2_Gf{#w>u971o$PwSOT1 z)_h<%9WZ8rOT2wG1oS?_+E}=a|iEjx_x#T$q4+4J9mrHOG2*j ztW>A-0U5`}hY;8ywK!0_H$G^|4hK@4cri)P`5g!Ft@Hv<1 diff --git a/graphics/pokemon/swadloon/back.png b/graphics/pokemon/swadloon/back.png index affc20a06d97860ae4cfca3f7ed339fe607669e5..f1f6961ee7e9937dae740f620df74fe1e7940eb4 100644 GIT binary patch delta 414 zcmV;P0b&0B1Be8WBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bxl*K~zY` z?UTW7gD?z+5%;_U3S7CwxmKEDUy*uQ-=IA2)WL4N%j^If3Ao*Qt`9-#|M~YHsEb!U zRUZ#@86GA&_Isy<#SylH@ z2Y*DAtOG8@>_%VP}|Gv`={2DOOpL1Xkg9Qlf9w-|Y+#G=5bm_181Q{Ri7;V0G zz^4E)ryMZuW(W{_o8y!Qxl@)w!PcvPtf@)?niH-vrOP7# zxy4)s0@43~B;@b_DEZvMR>nCWp)T%NpQPOJJyFF_5b|m4<_p2@T$Mm@I)`| z@~Bk6z1?v;Wgzs9Dlj622UIE`y(OUvkc42ss(_f6L^>cLt`7k#f9nH4Lh!1EWOJ;F zMh7?^8D6{!aI+UcofhxmIfBv0c_q&->eP#QHpYZc2dB@e%5{0UJ=40*Kb3 zT}MIGoi9Uj=d6z#@cZDJ`eE}mBciu=I$LZ3a$xG!Kh#_$_hCu6%Cx;a0+5a7D&UEJ z2W&!)Pk_VEfM%n28(@~75+J+x2{6C@x&F7l0D~K_%T#X54OajF002ovPDHLkV1h<6 BwuS%z diff --git a/graphics/pokemon/swadloon/icon.png b/graphics/pokemon/swadloon/icon.png index 12d07165110650cddd9f2581f9ed81d4cc4dccf0..c477fb8ddf0debaabed81b11f5668ff59006caf8 100644 GIT binary patch delta 202 zcmV;*05$)`0-^$tV1KPiL_t(IjqQ>l4#O}EMRNmRDl5!L6PS_AG?yw0*`?Y_CEb8E zFi>|PixV&~G)?==U-s9x^pyI2aWg}NTWiGHzFuxE&u=k07*qoM6N<$ Eg4U2;xBvhE delta 237 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 delta 1404 zcmV-?1%vvm3(5L2u$l6o4@*qNmE^IFP6tlrg^`_!n3jKCE5@oSD zv=WEb&T&uRKaj)zh3r3QdWckMPu?g}S3N^_?9AF668n9d0AjPX91bGSsnwce<08jxK z8Q?4n&@~_rVSgiFrzvUTF{q5B5YPZ17^7uvfR=5iIn!)P8306{0gkl;SSA3Jy`XAK z0c7fOaK`w7Z8Anw&=^7<=U+ zOcyhM0>F&Gn+1B=#%835*wX3y?!Z-0LO{fZEmIi$uJgWIJ5$c}dOc=yxYr#SuvlF8&C>)Oh4 zEy=SaUVp|Pa7F?!zX5_nw~-{DNF2w#4dJ9f^?DBb5>h$=0xHH18Ed-$tS`jWn-3Z5 z!A1Z)G0rgz$FZnNbv24Sj`O9;Nt`@+69KR~G1Lm)G@S4@&buc`QjY=vIPZqRI)v#Q ziV2@RmpxCCBhR0h9nMFgcc~Hy_2U3ke_#k4M}L6;xEIdk0x!d0!UtGW03M#Mqi|yO z-@*+G12Ny@5EX~J=;Hx@f5M0k`)_afDDYlkV0;M64Pm#}kbky3x}FET@$muxKSaRg zeIW3_eGbWZUWXk3z?XaxggfAE+@Mr}z#v;SKj4Gast*^Cv!B81As?aQ5}DT1yEs!Fr#by93G^xGE7-fya~(%utM<7lGZr~-k^k1 zLA1XGg5WQ?#z<#~3%RVuiD6hogL#*wSBjYU%|^gvjs|z5WVTs51C)p;J`sStg#f!w zLFdp^&)5TG2JGtS|Iml@(&zDc{3`^dY=2p&e=8_Eda)}gdA%qSl&oG93ra>Wb_GS+ zfxcf*ByhG@PXu$YMM+yeng{s=%Y7VxxDd_VHIR20U#SGod*M0NiH{K3>q zpqelmDpcIq=KQoezo&HW>f3*0ckuMl;!;a1cRYWX{-+l;(%e` z673zq02u-&K;b2txupl{7u^LA^igmcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tS0y#-UK~zY` z-ITFz+b|G@#D9MU~#38Q1bLZT`PH6PZA3ykPvE=Sk#`MfLVo04-68sI<6)ltUVMZ z7F7gF3djiv0=N)G0*oGNaF7h}9s}SVya1VlpdMq1s?31cXzWo5Nq+`Ad6dyX(6KQO z85|^?8gDcLL4cpG7(AqRkYuXKFa_L>0OSDfUl@acn5ND=(ASu|p@egQ5}yJf`AJa^ zt@WlpTVn*42#h6U0D5?V07!tp07}798%P2Bun7)W0^m<$k}+7f8iAmr%^mAv?%YcI zClTRN#P!i z;jjZC67R?3Ymvny(ISw(aK%SxPr&BO5wd){B{gi$h7E^3pi84sWOXS kPUaASQKBpUgBK`@Kiy*-4WLEN(EtDd07*qoM6N<$g1o>DF#rGn delta 588 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 delta 1015 zcmV^=Yh1HDN^K~zY`)s?YpBS#d* zR~SJ`%}OVEOmy z1*uXPqW(y6jYz%!OTITN$(O?@T_96Q`+oYq@4XrASk`~P7_05Be{=5cs(1KqU@t(O z?EreH+q||@z~%&0Upy^fbC+`lkLXF2JwXDD*I89Q4V*#%5_La{KPgpA@?HP|+W?;m zGz6abh+sp2KMPBTz2mKb=(?6KdMG2qvuHFjP4xO3qH@Z)A9#YhE@vu|QJj{R-o^pO zJ?@?IuE*45Jd(}Vf3-5x@fPp`0_=_=0m;&Yy6&z4MBpAY0++W85XY&i(O5ip8v(n3 zjIIJOl406X2{Qf@aC>(52tWb{2&oz(biI!Nr^oFZ6ed!(CT9e6c^4a3ePvbp+zohL z@VX)k8BZceB!Yqg7+aM9fIAo5A%U43MezbazXYu4)dp~%f5T!Zqg)P3P7s~AkOo>}TT{jWf)kpUoat5xMEaXsO?7s-lC~|pUf%%GG&OUwhVm>y`Gyq*i;Gnq z9w!70r%pM@U*%nNaIX^7i^F1tx@ZB=!!$QQ_;N9k@jj!~{i0a41!kUTt%putr?-&| zmn!_)e?KnYqQwe(*uk{*l;s&^td3{jKJZAc5Gf|C_O9?I4J~} z5c@O`zw2%+@Qes@C;|K`TmOYB^LhCUA&i>&Vle|4)}Md5y-v0?h=skrhv=7^<$%s= lo15;5tB$dMy8!=3>u>Sbg$+vkiLC$t002ovPDHLkV1nl+(6|5q diff --git a/graphics/pokemon/swampert/mega/icon.png b/graphics/pokemon/swampert/mega/icon.png index 847f10fb541e81ec4e01a370e9b7b7e925c46bb5..63b1ef07993b5f7c7237a3cc98cc9cae062c9db6 100644 GIT binary patch delta 339 zcmV-Z0j&P%1H%K5UkCwCNkl5?kU0MPl=@AJXQk&u zt#MM>9zaeL!}L0y1rTAH_d@AjV?s))mm*I)pakh2`Z`Q$#{w{U-_9~j`j!ciko*7^ z3((66OONT2O^F4Z3U~mdkTc%CQ|H9my(V#^5E-G2b= zn?G}mTj}uK)Bu=s28g#Z@;ZX-O*XD=Du_grya_%G%}4oPBxFV)A6hIo^oUmF4aqpb zSR!DM{Fo2`9u+7q_vACtZR72g;szYfn!l3PtoWGwpIQG!nB}K1L)?W4yjEeJ-B^W@ z39$Ro5f)(>oP!ERL^%{4LTJmQ>p&QG(~XI77zdc002ovPDHLkV1fW~n_2(> delta 377 zcmV-<0fzp=1L*^hUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M-@2#$-gq z0003@Nkl**d}v7k>cz=8qiXRy+KVI{s?t1t}CK?5_Q z9EuJh^!3qomOhU&5SlQ-O=he_&5s1GZ$R%+Z9vl3{Mf@3r@Hg_>Id0JSiT3Zt6S<5 X2Gle~$2w4800000NkvXXu0mjfuyLYk diff --git a/graphics/pokemon/swanna/back.png b/graphics/pokemon/swanna/back.png index 783a4276ffa4654ba33d73f72ed82af8f2d1c32f..bb657bb5ebc88542d88696444b0a2eb893541415 100644 GIT binary patch delta 626 zcmV-&0*(F81=378uJR3SjBo=u%6wPrXptKuvp%IC_kHl&=pqlt9+gYd;pin zhw_UF2=!<^l)oV{{j+ogXDR7kf@UN zqz+(fKv7eA6M8|N$V5W=1YsdhM{|)BpksVCQ`AJz=@5()AQOl&bTJ<%(4mg{X$q^= z2MJF1%sWrezVygpn4s&t#^L5X!O+9P1<9E$O+bn{=}y?J#e@d|GIQuipAtg=r2`-d zC?-7;#3g9Jvqyk`=Qc(17Lx<5hu`ZFb&kwkv8EqS2V5#2(Hv?qBLEZvN7G+xD?YUV6GStUW~~b+70R z$+3I90mLH#FO_5`v;Tr+{o`6+5^c+~R!eKWlz?n9Tdwjoh(I!lpWZyce_PQ30s`(qUjXzx ziQrCjfRN-!ZXp8=0RdwXKpg=@!R#{N%7Be47eWX^8AuqI$z7_19R31GL|~KwK>Ys0 zCviJ{0wR2p0ctWvy!|W#tmn5IsfiIeOr{SXH_tKvp~d^sLlX$fYH&rX~n!d8c{UjUgvOrTxkegU)eK|d{FH~LY5(>?Rg z3p9Va=Wtx0O&2q#4&)%1yBT(gB~g3 z6b#@yJ;3+sCV7j=f#wl(dQ8btg=fv_!=Eo5Jfpbb|m%o2=!#pPc6nte1lxhO?)<) z-d4aV)R-)>iM2)gOei$Nn_aOVo>G5#C7R?uMhT+t1R&IKOF|Z~PP71xXo`pe5F9$3 z?u2~m57w+xLGuymSevmNMZ0|>?G1qIQS*LM!N4=gW1Dph`RF5UNxM;dCQF#`6_b!Y&MLb@~yi37& zJr;#%myN=ZjZf)w$($6iUY)KHd8y2Ru o#jz}mIq}H%(3JgV+45Jr81juP)darUm9uj^R!=LWqTn{u|`J%pGpvSB&_3^7vo zRlSJhr}<*f_$l?57gL|_W6VJebp{9}{G5;joX;YF&O#9}1AhdM8v8q;z|Gd#B_}lQ zz`N3R=_p!nm`tz$E=P@}d6P5=M^07*qoM6N<$f^00T+5i9m diff --git a/graphics/pokemon/swellow/back.png b/graphics/pokemon/swellow/back.png index 3da736c472f01ed50ea8b1a957242ae7e212a321..f7b06a1f492610038b010754301e524906506203 100644 GIT binary patch delta 493 zcmVVxtRR!BCVR0I46+ssDnL zII*2Rw=)uNy~p=n+b{SZ?~FKKKcCV0SUlWJ*8bx{4LnXf9#^T7V*vi*v8eSFAQj6g zsY87}jsfLzntSxd0d{zQdkXNTpMZL*&DZ{os2?{C)jU=A`)}7H6oT_q8$cB8f41+# zgmD)DusCi%4wgf~d2_telW2Ri^QDghbV%+9V1zj{FOidfEoBcR^9ukZl!Zx9 zlbtt+2!Npt%wU*-#Zrqaj%5_h1^^3%HsGNupa?gEZG<*Zo23>PhX4v~u+p1Vx*5tK zYYjrZTBW-)C}LyKK7$KL%K$n6tpo|ZL98!Z+B?BO8*F;r1+d*T0BLp~ZJs(sA3${ktSo@&2(J}dfIj2`xphmTqYaRksCE`0Nx(cqM%?n+ jBq#ugOBjQ{K0)vcfo?2i$GJv500000NkvXXu0mjfX{XUu delta 486 zcmV@{fu-HJ@+)IJQIN{7rgi8$!gty%gM9a8)PE#yHmL{%DOb;DbU9KFH{+H6xH1EeV~@vGV&n)wzIZH3e?0+6)MCQwP@az> zK)sk`9=&pa9p0V-vg)UxoMQ8}e`D%LRYNmR#r^)<^$3)bGO-2_hWnrGdp}{+1OUvB z+m8cr$fc}~H+mdyk5nHFmFfys!2IAgKytjQ5YBpcL|qEY4mf!Rfkqfv$QUpWiI{_h zP7~@WHLOdrfGl*;1>)HS0AkLfOE8n3HwYO( zAO)t-&%k_P#ihh`7*2bD2$VIDfhk}JH$!ZcH87iH78m;fDr>N`o3(Z`j6qr(1a`I7 z?#`f!I)nNdTtE{8XaFP$8d`(MUUp4)LVz{cw7Lsmy=eftT-$x5K$DQtk3|5X(+fbO zXfJ>a@HrzLZGsQrIsz61U^>EUfdsIJTp%O2WI9rSy+pAifM$X28B*q!*Ij}EfVsr( c5B(#50fBBTWqEyk!vFvP07*qoM6N<$g6uTZpa1{> diff --git a/graphics/pokemon/swellow/icon.png b/graphics/pokemon/swellow/icon.png index 9615381a9dd9982adeddfe44866f553e6f763ce6..52b3f560b06718f18db65d92d61213f3f8b13222 100644 GIT binary patch delta 297 zcmV+^0oMMa1OEb$Uw;7#NklNK@Q@Dv~l3M_9cZd%h@Mi+^`d1{jfV@tb zXfdb&upU)*1}UFi2lt}@Xd}*hR?(8dalpMW<7Ybf8r_ew8XKPuiyw8hV5isF4_~g- v9K8Bbbucb|P$JDKe$d)U@ndWD-~IRnyn3&k>tA%300000NkvXXu0mjfy&Q-| delta 332 zcmV-S0ki)90-^(uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;0udF)M| z00036NklN+qi+B>^r+}#`z=j@2}@aPt34lQfVB-Iz8tqF zoN?DF(tX-&-SbP7?eLa3?w6CZ>;ZuLX9d4DFvq_lu?3`c%S4Mo6@U$>vN1^cT68FW zQ~-UzIcF7>mPPf5TVbY;cqlOzKWa2KJslQ5TC`y2*V&H}uC#CP=10@PxcWh|_k-3+ esvq(=KYjqbdas<$%9%O<0000omnp=j!BPR62VJ$$c1Q*H0Rq&UXnXVoaCr%jk^`|v zPXL*h@bA|Fs3)lr4m^YR>U^DMe<(65#4sXhHP6)t zxU2zjI#|f90TkFNJ8Qr90fu+he(eI1pLZHR1>pfJfGR4$O#&}a0aO79aC35r6%beQ zb&QV|7^2}DU`%VGJhe|owE}VhEQ2mu=sV#4#O}AMY#dD#A7!8mRzXnQF4rCOeb54DpA}a zhK^Oou>BvtP0S;@iipj!Zjj_uh{!WE6cu0@Mk}r{1p@`pkzqsE7>0j`K+g=XXsLy7 z+v0;@KMy?~p20o_VJny{3`S&GUiCwL;XnpWkJ{HiMZ@_hh(#?`eZ3JFXy$|aCN&t= zK0J&}?F}VR_u7{34C;;*2AKm6cfWOx!&`Me(!cOu`FI2TGGsxSi@ZDl0000O{4L_t(I%k7de4#OY}MY#dDv`04oEnKMTQF4rC3=>FECD(KaCS%nx-u}miFZ@Ed zD}<;z>js*f3L+}5frWrPjK-#soB;-8%tS@k7>1pLAm>b6(Q2la_}H=q!G2zPyle)0 zalsi$i;t?ayz7U$;1CoteQIBSy70m9Emds29vH~XN9>yvXK4HKP~4r?z>d22mb){k rJ60%YaX38f)y0R`YJ6N+|0f?G{4!)g`pK_J00000NkvXXu0mjfQO0L= diff --git a/graphics/pokemon/swirlix/anim_front.png b/graphics/pokemon/swirlix/anim_front.png index c6eb292930e9f60c6e757c4502e1abd1236c0507..1b64137bdde19170f87c9362f950fc7387b35626 100644 GIT binary patch delta 692 zcmV;l0!#g)2Al?vbbkVpNklIA|o7Qg|)*LqEDMhsxCC@k|xDi+A_8yO(Kv&O^@ z{Vk?`J`xbzedU0AOnt9_>%W0B1b+2a@WTMTi8ZEAGxVQu2D+|PTR^9}XdLsA0Bgw3 zs+=EspC1710)Nyai}0M0+7?;rGeCD0Wf4T#uGrn^oCB!7$^e0-&g~hTWm3-Yy4Y&1 zeFj*k=0T+Ury4-hqYSkPwuL?lcF1FZ=|DhUWp!@<959sLlx=*a-f@7V76!=GY&>J% zt#~>o;9LyFkOc-)skBxL1m3VMx=K0pk@1{;asJGrnt$_cw9&@D7)|y!?oPn1m3!sx z2Dz8+zO9verIg!RxmWIPk~{w4r>juT*a{@~(%p4(e|C3++z;*^ZI~WsAv{OuM|Ov` z*EdOH-VNB^%%Pu!iP0+U09FYC?)%>ka<>5|JFExB-C)_@$$Hg-aYj>y_Cd42GgqDO zu}PTPz<(0l3l{?SqIjSSv4KwVWxvIAfpUlUj5ks4yTZgS3-!5`C%LO#vE3tZlWN9` zBzL8hw>NTM*2{fj9*A4W6Z=88?v!o( a_wgIATPb^F!3Svo0000O{4ak@E_YM&^w64Z^`aK>qqG-hXmFAb}B|VA_RuoKMIF zIFDQaUjtW55{P`=fd)7UdFFN& z&)9<=SFCD4tA83aw)v!iT9d7H*+2BYJ_0CW5FR7}zGon}MG|`i&|U{g070@VcDE{{ z0KL9U0D)9x^&XrwDtmZeY?V?T0c>LPA>#eB1yK4^GG&4+p^k!V@)#g0XdtVyDwEWI zQmVWx<4O6E+&OY(fK1LOb8>HmvxNpO_=t~4U^o*}DSx>_-~(BrEv2I$5iXV|&j=}( z%|Y5k6R*nt#@!Kgta7j1eM0V~yYH-Wuat6Um3!sxQ*y@xKVCC2zp}}_bhl0JFYZ1e z_k+8~IZ>m_;3b$B)GKVVnbLU4OFrizdEnMxE`k2#f1L3Z2Ui_?^q*Q4gdJw4!hOEv5^UJA5L%iE`f+CUyx^ z7o^w!>2HLhu<42qAEmf=}qpi8Mf{*ZzXn2MZ7mb$6=~4+pk;f#Fu- h%>AG(o0Isp#$T^nDSHlj=nDV<002ovPDHLkV1h0fhe61LXsdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X|7YK~zY` z?UX%lgD@C`VQD+YsUop*ttF3#!9W+l`aV@k*fG-*CvqKe0J-?O-T1} z@A);tTeN6QKGB-;Hvs4aVSIqCMgy`MKy~o0q9`5<08+7!IZw7dVBG*r?6}tB*aSd4 z7$AA;_youa2{g9*FaURdXH=UCOuKmr+|@pp&ih9&1a*T9^b9<83exagLI5v4z&8$U zOXA)Pke>r5Y(#k?9pL8Z0(jQGj5-sXh`k1i2>`cJzHg_1Q|xs7-Eylihzoa3-4f-& zS+u@s+DT!~mlb4TFU0w>)-bykjT$1gPr)*6=c-oAgjRq^FLujT=u5rK@P#0@-7v5K zRjQu8#cK;_cK}f8^jE+SW`Jw`JPVLHKz$7W#0G{`SS5#4t*m2CRnQT`!03-;(Z9&^ ZegGb6@i&RE%liNT002ovPDHLkV1gnFs*3;s delta 366 zcmV-!0g?XY1J(nOB#}W-e*gz`Nliru=LQE4BmghA>KFh30Xa!TK~zY`?UXTZgD?<< zVQD);sz|K77Rh5ID*iw%I)~N?W2IJfrAxv}q$>W|wFypbV@Sphy!CzDy*r=qyjinG z5YF3IJ=i%P7rP17Ohugl(wMfAd%efIUedf44^j z$}o%sw)vC*HG8zn7DTvZ13Yv-t&HyvAc(pI1(Fl+Vg*d%QwRpU4FF#{i3*8F*`WGz zOxP=-d1U~12NS@n@T=77V3gPipq>D5UsWHgDd3nH8UMDd6h~QYuE`G3?CqCMtSZE~ ztf+_wMU2Z@K<=9LWKxHtPeBS{m%Ni=VyysMpKZm6M?LrO84Gp0XP^PR;RF4!tpbGW z060Hh3;59m;FezjgqHyR?Epd@aH-Zpy3_{Rn3HSpd^Zrx|KxwBUmj`kH!hLq=l}o! M07*qoM6N<$g8vz!X8-^I diff --git a/graphics/pokemon/swirlix/icon.png b/graphics/pokemon/swirlix/icon.png index f172a60718e419a05b0232303914d7b63fce1c35..14ebf39b999224e7007e320ef960d4565330ca27 100644 GIT binary patch delta 125 zcmV-@0D}Ly0+|AkUYa`dp>i00000NkvXXu0mjfJCZxW delta 157 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 diff --git a/graphics/pokemon/swoobat/icon.png b/graphics/pokemon/swoobat/icon.png index 2fa0fa3140730f08d94655a3f5488d1307e0996e..45a78d583f885ebe8f65527944c1dc0ff30aa3e7 100644 GIT binary patch delta 324 zcmV-K0lWUY1DXSnUw;85Nklb|d|gxsG1(kik_QOb zdlt_HVLyY%q+p%M;u_(rV#~7ZxkI71>F2-Guj3PAf4Tsd!g^`Z));9rBBa8R!JiSHA;(Ej2 zwZWc;FzfdFtcBR?7OAd54Wu79C;mjQ|PQ@6`|c WU$@f+U%ZF_0000F2-G zuj3PAf4TsdLb|jVXQAj!##zjyfEb(rNto1aWrGZOm}Ile4S}Tb7U1vMfXqySdRs}& z3~znUmso$u+I5f@u0m|3FxudFF_glU-5}gkTuv{KqSI5X=CgQuwROl2`9uDEP#TW+ zr2Xl7u$z4!nt-T(Q`N3GPH$1FI$tn)t+iUm>tF?2hn0*#yF^RnTNQrR;t|> m!Qmp+)j$}1BS3;*T<@*it&+ zgLyx_dGoRJeuVtDhEKM3tKtrOuy<4mobGj+RY0xLJFJ|det#BqI*%)WDT|J1Mcf;) z=c^L7v)>JX0}GZwHf1j?KtC&ij4>1N0DdTeZDt4Js03;f_)Z60$Vl5;* zcc@N5Xf`1Zhksw9V>W0K2T$fu1^i&_??C$Km}OL!8Xc)MIP67@y@VToXGpb^DTmyj zmx8f#Xcil9Tps^?#2BSl5*Pv)afiKr!e)@|&vF@$3DI|Zr}5 zoOGdaEGAS40Ibu|&%^6>p?fHD(h@R`b82OHofGK(h<^Z~bg?QOcoWY$1+ZMU4!|e) z?Ic|T0|Q8Y<*))A^U{RLm%l;a&%6r>OeZ?ff-kf54&yw*|LWO8eVIT3hL;$BOD~9% zjWeT$(Zg4edpxC(T-3A7_zpR%0er+b?)0rCPC`6tJPH|ylv=)H_oj9p3nAl{)5dX4 z_tQ|oVt>SD+)FR-=rV2x=rX^34xYH8NRZBF-vmAvaT;2Ic0xbjV&v83{H_g<8$g(d zP;k6$?tD(yr@FBX;`#uAv`G%;%}|&Cp&~~B*N1>>1Mn`Ezy#A7x1pHjJ(tx72xN93 ztBvjh@G866;?D+*<=Ya}n^6CAR!yD`hQql`@8S%Pb+)QH-Gs5_}2~po;Vta z)(CarJ_D)mbt)BxOruWa6x-~qr#C`na0KYG25BH#I($a^tGG0fEv;hohd?n9UAp*6 z4;BV;s+Y{;x?&&?qMkZOdj%{Eq!#tmZ={{q6$7cAX}#Oa>xzLGEzK2*fwV?O-=&Iy zcz>3MR51{40X7Z9v%L0-fpA+p*f0>AUu+r(`hz9GhJgqX+wR`lKq$4}&82~CWL4rT z1KFrs@tn1RtjkiS(hbCL5VYFTK!(FIfey@3QV>A$Vv#^Q(J;XsL<8YDm4@Ln4RBks zX`+GfmYl<%4z!lQ}J&;xgl2ND_p`o&Ejft~>$1nb=@fEV( VD5BO{4<-YIiP<0k00bUML_t(o!|j$oZ`(!`z)!w~ z@DwIMXlM!ySVho<#R0WM`cv3Y0j(}Xz};d2zF1w1dN2=8mk_OVV1}v!Du7$T!B#Gt zm$cCr=#cNycNF!9cdyLQr7bGJ)BE||~b7P zq7v{l@W=$H%uArb`94wtO@k8fcq`g10@c|)E`^UzDQp8BX_1 z_PzpuFt+?E6ZkQicMD+k*(M-=lRuoL8(?SwE7h`?VvL{yCGAZM0h`(W1q>)WBtA^2&S2A}*%H;T}nPt{J6x@^YJ;Y(B?~ynO z;i%y#bbnl?47tbj&bv&M(sAUpb>p+cG*oi=OOX4YUO%u^90%AcKfZ<-Q&l8L7xTXa zJ``~lqCjWNKHNj()%D_`BV}%H!&rq%K)2Dwf^AN9Ya7(<5df)Ajuw8XY=AJ80|4I# z0L1|4#S)l8x+(Tn(zila9{`ZyK<14;1wbp)Y=8NO0TcbU1Wlg=I1m(oZUqft!1}UK z{N1OAGrxYWQAYm%{Ywm_{s#uK|LkuWNb{gut1x61b!(T{FrdVyy>D135QK7D=;WAdjPdb&bv%SQ>~I^{aQJlQ$~{;$0ZC z+keTM6$7zG8dVhoX^*VA%PI!qAP;H9Km-D88;FCv_7wvW*f`iSkQkjf8v_Am8e8fOxp0nlfXSRcA1Ce2A2*`Pp7z|`%81{k2X})D3HsHwn(m>uV6t)I5 zI#us<{DH9!0)SsoEg0kXN8k^g!um|VaJ670J_rURvjFgmyQ4x6=mHKTv;gpnyH5cC zIibI6;4N}F*`V-;V)EnTpJn2*7AW;#N@@W*(Eu(Gg&xr2Uf}}q#ioyO51_-rC#DYb c|C!VBPqN-9qC2!J>Hq)$07*qoM6N<$g0b2Pi2wiq diff --git a/graphics/pokemon/sylveon/back.png b/graphics/pokemon/sylveon/back.png index 634305e0921c70235ab04c2e7087922ec5174032..3eb857769935c3a98adef0977c4ef27a8db3c489 100644 GIT binary patch delta 669 zcmV;O0%HA?289NYbbkVSNkl&NL7=+p-W$={FO`@W~AGmL+T z?&fvf3?2$M0}ViePIl8ylu z55SqD0_hTfpwo)u7%uRTse~Db8vTUQH6VD%nXS4MZM>l(*75Hl=R4Iz0KkyS*f|MP z0WoXRhsU`f?thT00;wp`-}4A1ha{B}CICS{MxhlsdyyzE>oK~7Ne@N8134Si-NX zJboD8i_}FFKQqveefMx4XC?n~y4=e3NvZzN!|>5dA%DT9ppR~UL49N!@AbfFc1z&R zz|~`}Pg$nVz1f1u)v$Cx9+4J@#g{3QT$Kq2YPwMit=U z30QdNZ;zK|UZDVtzn*kG(C`Xx-O4Lu+tes-g_$Q%_q7Cw1bRT$m_h>et2@O2^b~X+ z>2;$CJAW_seOHqJ7W)thsd%T+fYypq z79W8pMk^*(^5jV*V6W~~z@;3{1j+;vvrq%D$Pq^m6LZ=bAMYw1Anw4?vwj92ENoHD zs3N+K_%r@=0n5--PZy98*j!&?yqJ$JY_|&hzZUolbr@~t%B4t200000NkvXXu0mjf DJP$wl delta 684 zcmV;d0#p5k29ySnbbkN`bV*G`2j>O{4<;LzGO zM}z)}^fM+MUaL-N;1EVtJfXUZW;~3C%bEj^q4B0d_^Hb4K0aE?4 zRRQ#X%zrV30OebEup#&p@N>Urp|@b>#k{9h9l&=MqVzZr@SrAyEdhs9y@-}00px6> zb;T=gPAY-RKO0&B+8at)um@fkt%%sj%@az%+B}p2hjQ2nlnEkWYYo7BTdW=?`ji@< z?kg1_Zo}${UO@+2x2dL8K8<|-im%UM7+Sm{(j`YAGrGWdF(02>4!4Z|#{L3z7;WZ0 SdXWd3*2TcgiVAAeVIP3JfucY)CTj%6 z6;hSV&&~!Q++oUk+c0!U>*!rKbVtA(!Y&bquN{2IDB^d&oR3da;LoINAANoR0000< KMNUMnLSTYwb(qZn delta 351 zcmV-l0igc81LFgbUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;DRJT!bS z0003-NklG#@8IIYylAVuW zS3_Ns?Nbea%Lj)06#qqa2)yCF3tf67rMO(Cwpev2I2IuqJA!N{@*G&sGk@UUDkppf z#(v7g`4aWvnpymxcR0(}v^hI{U$}e&68yFEizFJc?{QeTa24VG39UB$a|Cj!>9!ec z8>{eSN7;c*chZwW%r@$<-!`SOE($X%DyU6|eE{+XiUQS`q7f8VNL30yI~#y-hspJ} xVd#+7F}rT)j(|DHE)j<>KOAK8WB1E`d;(M8&!nV(RsaA1002ovPDHLkV1hQ*np*$> diff --git a/graphics/pokemon/taillow/back.png b/graphics/pokemon/taillow/back.png index 463913226fd0d7b53a9a3777926d14da61a20b43..5af45bc2ecfe86275a738a0c8936a3da0562628b 100644 GIT binary patch delta 417 zcmV;S0bc(91B(QZBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0c1%;K~zY` z?UONXgFp~PY1n?Out}4Gk?adZ@(Ci>fP`xni?L;;wsL}qv!LV}seFJa5;;rOJ4{$& zaFa5g_CNjk{8@tQT<7mYM8!pYh8QK&`r7J<^GQNw2mpwB3MgYZO}v_jp;D*A&Eo`6 zu@28G8V5`V)L(RQ!)^V4u^tCHgS+}yS>l)Xz|#OQ#W3T2(;V9oAe4;Iwy#Iu!noqX zHLFChZ`#jyKb*FBm@QbJ#iaMm8x7K1AVar7+iS&}C3U)Tn-owGqIL$QJtpV}NuU-I zA_v!!wz@so<_F-*8(pN4Ge}Pc7FY^UI@CbL1`*6o2A~B9$_1x^9*}bgEzKn{=%yZ#a-CJt~K2~hWd!g&wKIqAg*;>0~h;{n@)cd63; zC5pxFQ$TNN06?WUpk$H*rZ9pNcIIHae~M-AVCdSj4dm*l@mmq1tr%=&;Kp8+c!Dc3gh_w!Pf6p^O#X7uhXc{Pb zp#Gt&FWlE(*)-4_Jk)>6GJfd*yo`V%A7^}Qno~OgxF#dC?fc2LD0Fdd#wrmUn)dtC z4ks1vCTrHcfaIb1piz1SB&c7IYFoiJq+S;}1LU|UwLz(t3G&G#5Ni`61>KTVx?0%w z4DjX)na931h&uxXe}o1obKXJ420nP50m$%t0P8*kC-D0sE&<6U#TS6Udhs?m8+H~3IqT1C{WL&U00EB;iTyLLPuYk9> zI1+XwjDB{oBo<;{&xSL53i;sW#Ar-GT^|FaFWaI@mn|pRXK_F|Px;^^Q&T>Y9wg+W d&nEwNK3-w!X(pi&28I9t002ovPDHLkV1lMnV!8kT delta 265 zcmV+k0rvj80^kCWV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=Ek_9{7v^ z006^DL_t(I%k7de4#F@DMRS83CY@pN#83}(rk7#q4G0TEK|(oK=hhO*P!^L8t&=h_ zF~Hya^%TYOQ|dRut6A4crI}+9t2zD(~4UbODUXdp?`xxp0Mo$dI8jEFQH5T zrSJCG0k9xXXJP>;MQaWjq4#FfXJ2R2tybZY*1M^HJ`TMLk|&T}7>+k$)S+Jd0A#>W z&xCgsL_d(^)~S-p=lW5%l P00006})CbL)2Ab3E2u!L3 zq-bqpCx#N+is;S68WrM`H`eChV=HuZs!L+rQ!W-59O8>nb0`M+vIpk}6uaowKcw%? z?5=jCm7%9TOxXB+_WR!a*qN^t1!79MI=-?eBsAA`uK+Z+tbgk{4mfEwFm2f-0i;N{ zx^7TPIbb=333;1WP%O(Ht+A$GhrDiu3Kl8J`3&2JJOK$zsFWHqkg3*JD2BsJATT54 zYwU^0>xuvzA^|U3b)L6PIwb&GQpmQUz^qRlD;%Xk?e&}_@C5QcYKY+*l-yV^B?TxI zc_QAMH%OknNPh^x2r%#DO) zDf5c}RuJ$#C$Gm#G=GD!#)}%Sl4StkC~+cUfB~@G;y{hzEMo;<4z);s13V5^7VZNl^>>fnGO91MOZNqe}@L6#5Db=L(?ogn`M68ADT!8nx2b~aT zBGAOV*nh0VvfW#+EJ_j;TGa*u-YMiQs^9vJIzxd>yWRd(0QZAa2Y|w5x7*#Q3uNU>O|9yuGG`U2-L4SSw5u{@QrK11k!>(p$z-$KnXE50a z9LL+i&~rY#dlsB|XFGw3-({iKbBEhSEh%o31tR{09c}uBV^@*Go#!J6n(OyZX~j#t z9`C8gL2$-4*|$LeGc}&ab2VtP%{~H!TuNS19=dMBqGkYVoqo7KBm~ZGla6fHL=A#R znSV-YY6r>ynwTj~1_lS`%N?Gml+!AF)4h3k@r6Hr*-aBLZx{FXF)=t_{*u;#SuTG3 z0KlMoc#+zotL@qsSn0M9N{MpevILdvk0%oVZSf5Nj|!FP&IDip2~An7EWb?$)E~IC z)=6&?#xX4ti<6qv!YwqIP+_Q)I!}pK?0*RrMl1c7P_H%*uA=6zBD8{{k}C+U!hwl| zR>AFO5Mu%Xc>&}}eo`JUZv;q+gjTkkyikA|;}Tlgpcah)VvI^?Wj(sQRSx9G^7s*o zl>v!S0P<*os5u0rHlsWdUm?^W@;K09!C^?k?_AXpNYv1D-4vH|_?a4p41fUSy?>}j zsYV8Vm0bq`v>=WZ0@&sj2QugYvP|a|#IfR&LN&;pE&LC^;G63P6&7T8Qm6!PRb`Dk zgywa02k?{Fz}nUw0M^>vAv8k^5>Atd1yIPe8U7}=AVj*|eSZ$_cSQhr^?LGYruo}& zeV0NYyga4#nS;FWC|SJ!p#z6V$A2B&-TM8Qx`rXx+~5;{InpR$-LjR^<=r>wixNt`GpP zQ=fIlZXL~@_M4&2!C4@dn{-*Qq4N4dQ`j8gb8IEyvM_Rrwh#+I1<7TJfEF6~^9=H) zn{-(b&}2JsH8&BkC6^V(Q@FX$zyZJ_#vcK=4>S>{bV+hqL!iF{{sV$8NiHjj zYe9e(12m}YvSMHp-|jOgQGb?PRt&H{V*%R)pdh)dI39B#VBUz!8Upw_*enE+E(>G& z9R6{+3+m%mkzAI7SLWe4_>ac{9y<>{Q`u!9P`o?@2Q!1`(%|xtj=3!J9qpcj#i>yL zLD$?Hj9C=(UGd^@@QKX4r}jOw*Zn*SsLIiYH{Dl+-0j)Lz1@57$5=+FC?|V=_s}IB zS59_|DZtc84}BISD#h2mahs$TUmxM0(D0}gU+<*=_x7Skjh?(u@lm~__|ZL)CNU+h dU7h}4;$NCodu*OBok;)y002ovPDHLkV1gIw0h#~+ delta 1643 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 FV1k@*=C1$% diff --git a/graphics/pokemon/talonflame/icon.png b/graphics/pokemon/talonflame/icon.png index dd0e2dc4ec40bee3fc5d27adb3a1a2a0458ecce5..622e77f212cdc9dc44fcb1599453faed8635b984 100644 GIT binary patch delta 368 zcmV-$0gwLd1I7c8Uw;8nNklE&hvN~Zjo{@POJZ9N$U z>~krn!#cdsBA)_W-hOR=5uOelo+%nIh_^rUPG-tn_+N|Wv4|UnrHHR|ylr-8fs+B2 z*=6p;cIX*6J86oL$-c?b;3z^Td@|slAF<=jW|{V;8xb{;0nKko9?<;M^^j}fN?6n- zo(!|N^Cge%_ZFRDf+ux(vvP(}!5*E(*f0i$xnZE+%nSqjb!?dH`{M_xE9nTb3VqW6 O0000rxXdP9b(mEhafh-3cjHm8_H6Nr3l6wl5cVcL^3#b zSlSFZF19Ig7}zQ@B=Y6?e7<{0a`^|$Y;6ri0b7uWfa3o7VSlpO*g~Zt3G^lb!NAUh zb;YlY0TI^d0t}ENdMx=1N@?v7KrCDSHK;Uo1Op9XMN%tQ7Bpqe0hDX$%Y=P(x583$ z#Gg6T>K3s<-Gs6S;teH^nL||xZQgRk*EBuftV79^Khs}Z%Dky2t$;%=<+NGHCtBoF zfYT2jTQhAf9Dg4vYA}eGU;X}LBLD26`C7yU!&1aoI$hU0^RpRXnVtJitb=9X+bBXN zZJnjTC_)!_XTXmiu^mU6W!g*EBWfZ8nrBHK&^+p@%e8PR2Gn~Tg<0JAl&9u%i%yu} zq~2exoG>cr(GD03W1yQ019meL1`g|3n9KX|1*t3P2oR1X1eO2*002ovPDHLkV1lT% Bt)2h? diff --git a/graphics/pokemon/tangela/back.png b/graphics/pokemon/tangela/back.png index 4ee7c5cb5e0cf8de327096cd340af7815429967e..0cec14c7da0692f64e43568c09e38b6c8a1fdc43 100644 GIT binary patch delta 587 zcmV-R0<`_d1<(bMBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x3yEK~zY` z?NdRH+b|6D0?xgxs0XY!A5bXY!-~2`u>Ak8bZBo3qiOFwggzMXjE18jJ-q8(|0uTo z{bBawZ@5kqkATLX)AV_N#XqJm$z{4~5SgayE8!RLAh+o%sN2_z#CUTY&{U+Vq(2Fx zi2!Gn+jXT{(gU8)R&|ko>^Lp*sYDhB3umh%EewrH6h(}J*tq#Q5jYgdWXd9Ho0j`I zBnlNNqMHf43S=}God__n5rma)1pd5N{{? zH(?P@48=u!j2j`UD?Fb55CW&VIwA~{u)tmB^|%0H*3{e`Y*tBy8scble|G5JoU};q zm?HRTC&Znx%*97ANXmh&`0YU8E!lh!swz`V*>IkkXDNB5u#fBV0HITa2$}a-K)`TY zr)SofB%&h1lQjY%amIH1@BeV)9(W7dS414|U0@0aO!)L0IIy^;~jy*gH&3DZ< z7dVP*WWQA$kEOyqoq-wQ&$1eY&HD|Pe%c7XWrPu`n;ATh^TzqcLcZ4h?H=RsuK%ir Z;Wvo(nd);N#f$&|002ovPDHLkV1hWB5TO77 delta 562 zcmV-20?qx<1;+)DB#}W-e*gz`Nliru=LQE4DIwNzgbM%w0xC&FK~zY`?NmXI+b|5w z0?xgxs0XY!ACM{E!-~2`u>Ak8bZBo3quB@a5cy!hGaQbFOfHxAd7qyT+y4GA`}Gs9 z=`iTg zfdXH&nxsZJWnAPie-LEuApz!9VK#zU3pyTzVO?PYI2s^_8N{ZdA)kW0;xhpks&Gr( zSUAiFY;~2{*k`fYB4`vNMt2Z8p>B48wHpYHmAzAZ%KL0&4#)vEoIt!)^l!oB%#qWo8 z#FIV(AwNdNQ{(EZv=Lf`lju>kNQS-sc7f>3s^K%$NFAOcOvfIcgyy?un+ufU8rg3Z zhhwQQPiJ68_+?p*!sh)h*OQ(C7aRLO`F}fq0f_dQ>X8k@9{>OV07*qoM6N<$f*G?2 AA^-pY diff --git a/graphics/pokemon/tangela/icon.png b/graphics/pokemon/tangela/icon.png index ab86e448209d39324748d28c034113512d932e30..bdb6f8cb072a14e2be9c2553685aedf3ddb971d2 100644 GIT binary patch delta 267 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 diff --git a/graphics/pokemon/tangrowth/back.png b/graphics/pokemon/tangrowth/back.png index 69faa8be3934566e0117ad395c65e8357d141c6e..61a6659d823b83615d0576fb68ed644dca825a43 100644 GIT binary patch delta 641 zcmV-{0)GA71?dHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zyedK~zY` z?UPN8+b|4;v+$rfRu}R}%Pz!N2goRM04ww|3k%k<=aIG?Ip}m-pePZi02rw~c;>7a{ zAgv?20zDqi902mF0BkD+u&t3I3KR)6G44dG!bgngY~T@U->itu?VvVZ?>7%WvjCIK zV%rq&(Q4~rq7nSPZ-DNuz_7|N%Xd$-JZp3p0s3Lnv4~iSLeqqQjY#O3cdeo30Wf!5 zRN8@21RFD_Qh~EX@o)fUq9NB5!_vfyEix1Z+P3CxziANyiYEXQQBR=)jfoCP8ZJZ? z=#IcuCs5+C_t=z(H$#3=B2=MNygC9(m_Dq;2Dmj~mkBb`N^B)Eh1ot+ECNu-T(7Ic zUut!d{>$t@Bu#OD7Jz66xG$v`V;nJUfPVpKHez`b;w+jG>AtAq69om_69{=FlIBsM z%#uQZPUEWq$TrQmhf;x)gjWc+;IM78{4PBe?Gm;8p1~X104xmYMsx`GOwU3Ao2yfS z2&<5IsZwr$$(41eEP#YAvLMwKyt$^RE>lpYJ%S|CvxpGDW}fgU~fml_}h1+oBf1$FUZB#}W-e*gz`Nliru=LQE4DI}&FaD)H=0zgSbK~zY`?UhZA+b|4; zv+$rfRu|Gp%Pz!N2goRM04ww|3k%k<=aK%29CW%ZP?QMrBYq;Eo@nHB`X7HMn8Tma zKRBfi^Yi=sJt27bmeBl-c`(1JLiDTK^6x1PkJmh!V?FumSUzw5f0%!h%?`_s{h)=0 zBXGgm6~!6hR4G4R_ z!jR3YiazcYD8%;_((Yo-F5|s5k!0nq8v$;K}OV|4?AkQqoC}(kPiTC7G zx`cRyybTS|-4*B;e;X!ww?y-^M|Tmx_N$Lo%*qrS5iX%%VBWokn+L$$aZz~(1~F_X zoa+XhWf%7cU?S?vR-&Jq{SvbriXyF3^S0l#7y-vKfRV^j+<+#;hb)3C(FSx!;HoE3 z;<0ONTBMtyFe?!^qoxKJ(8Acb5G&x94ZBUSkrrZYQ7BICe_3J{fMVH4qQg&WeG>h3 z@*uL7IFrT>u&uQkV>~gfKzIRYG7@Dq;w+wNm-WU*iVFBA5X(Yjt)oDlq=W*Ur6vFr zmnYmq-GGy9-yqzA$FxoIy;`cO61~D+AsAW#3=HW+bl4u4o{b_VS5E~ZE=J;^%B2BD zUzbA_0c7heZ3D8!j3?Jr^<|9ebii8N^PaL8Rn#u`k(X$!j|;wnr?hDe&0f zxy7kO_iy|1GzCCys3_am16n8|);!i5DELu|klcD8x1K-Ts(<##L$GBp?+8o=crFqmiZjBwgq0LUEZBKPsJR@*o=#YpU+{T1Hk~`S zVrHM;@27p1x!ywDINWcO?b28M%)2yz^p*ed`h75F0VW7qfXOul1KTB-@T(VKRKEjr z4`yJ}3W|avm?|hJ%)Nr?qoA7)r!WaJgO8b@AAEcP8@LQdDO|7P00000NkvXXu0mjf D0fmc_ delta 342 zcmV-c0jd6n1FQp(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MF(HuY$ z0003GNkl*b~47I15drt@ajZB1M}vZkQu*4T=b^5t@w+ z67o>wV|I-l2SJIzUA|@}&g3cew+}3A@jUSGxJWdO_tbVd@P9PWaim;=!_%RC$bmLv zsA$L3qtSqfdXDuV8>pbFScGfbDj$0y{oP~OAHi5I=4k5 zNN?f31A{r;%ZM>1%?S4rh5?CKZI>0H=It)_Ov1u^OE>%2be!CVnSK5FeVD7t%~m6? z2-nrV-0EvRl}~{#xBQRK?}Je*FhS4?OpOwZ-mSreU%dhYdip)K z{M-YetOoevz%Z7dYk*~c2~c$ilg7ZoJwVY>hFC7b`OE9yseyHP#udcg5Cvi)lr`~& z%XvG|@BV}VaGSj2g3Y;8uIRr-SyynkCBWto`EB0?suMJX@HrRm>*?_0pGl|_Vm|)& z{o+*k?hW8~IfpgFCdKYVv)3rGvU?; za+~m6n8DbV5j+sl@6b#TlIiQP2nhl^PL3y!`1->n_MH(jjvzIV?767WkzWCH_sPH^>UfNUPgmW zzpDh6w!-iNp{-DL#+Mh-K>7y?Ahm=hwnmbG)(xY2RKeewX^T^Tgh2#mb@86f<;q-I6QY2@ z%_LBpOGOSp0O>E8v>kEsa%BdvY6#nXURa3%ezG)s9~MKSt0r$hjREPO1AeR=K($(h zLsHmVky>X|7V^cR>~U6}9_0T3V77Fv?J9MO@a5iUR0LqYa<}tWO!mJ8TCG$WJDj^M zEB~BGAWy4*w3Ofn&wf@`L7qC-PU5?j-;a;ob{vveE{0W!=YZvql96oVxC^A>=thb$ zq_m_3M$X95%^ZtTTG0YkNR$?+(25o?hQr~tR%E_Z)B~1YBiP~zwXf?e|CkvGcE8x;BfF2ib16VXIn= zx~Igz(#pp(3r^DzGZ7{u#hYfiY()p~SI22Y9>Se3o!x`+R&;ux3es&vuz- zut2SUzxbV&*Z@CPbURjHB=Aw-=O_Uxm2Ile*m7b^0V)r??k1 z5)J^{sg=*8pbYzyPyoHmc@$##xI7sUwXQ oC(0TTLvMxq#;#@j2hA}426e?QoJ?fe;Q#;t07*qoM6N<$g5TCv>Hq)$ delta 1216 zcmV;x1V8(&3ZV*+B#}W-e*gz`Nliru=LQE4DJDo25vTwF1cXUMK~z}7<(9v18#ffk zCETFJgXPpl&`hRdI+hnj^eH*RUFwsUYLZ2ygOwnqL2Hz;hl#9>wCNr35bBl`^~yv4+Ec&39#eWoAnpqM!1nkTEV$s>jSw9cp=DP zY)KC;h!}Kf&JW1+br^*Bz7++>m0NuM;nw&4B4px0Y9PsXe@O_D2>fBnbO0kM2SawK zOgY1TTDBO&N*9IgM}L0RI6_JnJ8R#3{HrxUs>hWM(avwKCy?rKrGLE)hnrqc2`p^| z!39EFfohL0FT$a;4;4UW3Ei$Wk_5DGfGva^k)Xm5kEHoB2oNMsCkfcO#3&3vLd*3M z0E_PgkSHJ%f49Ap2XWxJI1O2aJsx`(AW4C3Pdqe^z ztQW&!lLbmzdJSy?2ZrAAheS*#-j59ls8O(=Ikf7+h~oLC;8+!Tyi65z8{<{1o7>o0z% z6*)=~(&DjLlXi~+KsW1w-vV#(%Q*U;etSV_52) ze|`x*>3|#nFs%ZRTteE?1D1)!lL1TMV>#{$6_A0U^OH=76AGN@WSCSpyT}mV7WpM09YH~>n|7_2YL|N0Y?L9r5zv>cm=l= zIB^+xHo)_p02PjQspMx5g3zNbN52pAQI@5DAPA^J@H$lo@)<^dssLiOh3C_GCYt%_ zMC`L{nF+N-kYhB6?ljwRu}?D{Dc?;gsw&<2N{#eWib7z4Rk$8h8gnH%0g@mtwR|6a1Mbpc>CxA1l<#A74U#^=b;zc#2m=4IU*{35bz@uX>_{8=HT@S|o Z0^OjaOz}z%vRVKD002ovPDHLkV1j$rJ{JH0 delta 681 zcmV;a0#^N+295@hB#}W-e*gz`Nliru=LQE4DJMS?AwB>A0&z)1K~zY`t(CEk(?Af0 zja;O4&PY&PctvpeGi!T(h|2vT4CQ4$0!@&GI`e;=2^dwiOmyMc$| zE(iv1?wr6`@ro{mbA{sl?&>fwfNKqm6kcFpB4OcL1D5YJuv|758p84|ZDM$~ypNiJ z!D|h`19Je-F+j|EjRzI~1qikdZ2$;dK%&2(>u45WejwBUrs4)D3A{q&1Wuv=VjmDE zVTuloRVw*0hLpure`WvYaXhQ4@)x8jt&qMb)scOLDiuJkR`6srsl;J?G!&bvnpHy0 z5ag%>qBW}4Tx`lptK{nu$*$6x%vE1MrAPu7n6pLKdQ6n$1W1CoT#?P3U2kflMS-ye za;1qJladDD=sQLi4G1yjs@kg5`$6tg$%WDe0&lsfiTMuDf6wY1>DGFD(17A=0!#{5 z+Nvf#83&bH09niji4qS5W@r&+ocGlZ&@AN(T6C~sCNcB6O1)+HbA`u(=VJO7r12$S z%#A2cggHwc(pAW@Aq6M{^ej+22tuX?P}}ax2LQXh@dJoNzA6bwd_@2} z@A`l^8(rM~0ffW7IQG=l#o{oDd}=o-rvX_X))`6*AH+1~f)AsA{=feX-JqjP$|zyZ P00000NkvXXu0mjf5l1z9 diff --git a/graphics/pokemon/tapu_bulu/icon.png b/graphics/pokemon/tapu_bulu/icon.png index 93f5f2a057c8efb482750acd8cb70b74d83ef11c..69261acb3f04cda9b8c79c219ac0bb32da02d6c3 100644 GIT binary patch delta 329 zcmV-P0k;0X1D^wsUw;8ANkl0U;fmHyZQuw{>rL~7V4>}P*BcY<69$XXo2F9aBOeyAk75b~u_#?xI&uaE|l zA$}GCZ}wz(1B|K3r6Yq#7Eu0D|Fdoeb8V!8QZQannS#+77*I_H#tTZp!1D@*^SFWu zJa#Zq&^7US1{a^e|3ds7!t|I b4Pbr%ja$Z=+ImcT00000NkvXXu0mjfjVF&a delta 361 zcmV-v0ha!s1HS{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MIudO_< z0003ZNklb^l5Cu?fFhY@5RvOa>^7K zZxLB8Jd4&|GoVySiqP@(2MKsW{B(iOf+-6?dXYp>3TW7tLVtq?b4SvTWh`iHo$Xnm z@E&XV8BhJHutV3z0G?1IN_HxRpgm|}$7+;_T^u5fMVPXCQ6_Q(Ju`eUdO22Ob zxT?oTA~oD5+(&;mTS0yg$T=L?ZH+%a)RH|2h0-X?wK~z}7 z?U&Dw+C~(|ZOM^1)~vK?)e{5w53qri+#CoyhB#7Btdo}AOIb3_9;>Y6C6T-yf197f z*j1&f>LKq0yw7~!oALO)hw|T;`q|$BIgwCxee3&PZriVC(e^Kzsc$VuNCcW_9YoC{ zM96js#W7cDfZrhgg^(0TEH%OZz3*R&fM=puRE_)>BA_@;6sM6zXa250ECFf2{t2OS z03>p-e=u^^-vty0Bn%W=PImN>e*`y!w55dRd1iZw2}f@YJUv)p<5+M5{>bY{ql9`f69TgI5?L9 z7emJWEcFI07RUgt(WNcM>QB2)IJG7FR37+r*m?`V;CL!M?2NB}F>Ka9_o*{84H@tQ zD!7ODQIF!5NhE;s0-=tz-%bGx()y4!dbI9Tq(G)ty!{RBJsyxwQ6{Ggg7^Xe^ZA$%SuZ92>_URo(QN2u3D+8ymT1G^pG)6C=e=k*aV_p z!CAZXZ@8dsq8$1Ethe|}_Qj0~*8r1#pY zcN*Xxi`#%0=a@tQ;e@zeQ7{JoQ~y~R*Pk5WhNO@whfrJ^-Lh5kf{uo(G5{Gz0F+Mx z*=2y5k5F*}fHzMDTD`7SZZX+Q5d+`&&nz#Hy_j(dMb>!jodnVgy8v7dGUzCYKwv=? zlcxv(l)o~sgIMlYe>BVT9uY#4{BYQC-Qi9v$p()DSCvopZ<#os?D(_Nwz=s~2l#-J z7D5I8I9-5@E>i`Jk>tJI6gZR3AOA>Tl&Sy#)WFNM2qgUw`1pbJL7rh`Fb3s=yi6jyTuEV|5w z1T-ei9f>o9w&|}boDfP0-t@x)OsP;Qa2%zx6yEJ{9vc4C_x``8D1QO|)y<6kbqm!1 O0000LGIi z-pAkfX6E_5hobx^Oa1KcfCG_Gbv^cd?;vj1vnc+HX6muW5fXt0+Bi|O2oVx@p*ZF` z46qx-?+8JG#7YzF-~0Zh2zVx1h^mpjBLa%kK#MT4=-l5GSV%w^uzy0R8~}*}*gq_C z-rofj2P6!%SO>DBe~%>iGDu5GXr5=bR)}zpD<2*gA%sVP`=CX!R~_GFE%qb;7AF*{AZrr^Du300t*h>0xJl{fl9v_PI};nQ6#?A5h*sx{rDk zH%%e|lotrKt^HOCV36jAtkI)2rz{0B)xzy>Xz%fWv>UP@l{?kK^+&W<0^sy_3E(v_ zIk_Qi+atuee-Vs2C1LOV^o9WkXuo=V&=)ITzTfZpL)#8qI`XS`?~7GPeK7L< z?(pZpE&_0Icc(`5ps@Je!MCs(8hsoKgvJ$U?J*0Af36>`&Q3P?T}*nfty;Sd=CQa9 z@Nt1j1Q1Sic5VV=us`*mm2mCJF|JDrnQ{chrQR)BMK5S;xFQ3PaSTA|G>|0&)O>^r z69BwoXh5qefG$GpubFEC0q)Ae@#h76bJ7`f_Hm+wxf@VHaP8A9Z~`5AMZ)%!{oMu5T@U ze;&*?K!&&d>iQHu%me%8C%xa_*x_aJYn$5!{}T!gzTaO!%eGHe33C<@V!L$H-xqBk z+VX0Z$#;8v$XNdo$#A<;+YtIbOwgmv3~@yVm=DEEEB}+ihxCn)WtZ8KfX1Y`BXNe% zw(S*#6GAD$+je*WQz}#nyztUq3Ga3|91VZ!d;jP47yi}Fj93z&WdHyG07*qoM6N<$ Ef|LjtcK`qY diff --git a/graphics/pokemon/tapu_fini/back.png b/graphics/pokemon/tapu_fini/back.png index c371524b7cf58d2d6c6e24a679e942ab056320f3..5ca65ca789331b2fc1f7dff4c5f4a23510872d14 100644 GIT binary patch delta 659 zcmV;E0&M;91^We%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#r#vK~zY` z?Nzag<1iF-2pn654F+?S;as@35ro7n{ug;crJ5_e+bsn4oc6X@tGUKq@L!}`^bwZ` z1lQ;r?#Zz&$#_Y3)eSfi%y{0srw8`_1F%YN2rf4St8c?W0e;UIJnG-YdVPriu~Jim z=w8zudj)k}iWnl~k&W1YHu)0i2%C$eh^S={=?Dwr3L;_*bOdin3T=(o8UdVRIkXVP z-4r&I;PB6T+2NNg2E{6haCcau^eZa|JZpuz8gvml+`X4Zp&%4h+919k^ZqdW&%PNj zh|NVD2A+-0s3AfJgsw&U*9n2v3KL;0@_L;n>0n3bi#R+Xv9k+*P~^$wiBkbajtZBT z6G2$?@kRl5GAyM1x`ZbnPKJQk2)bu&8<44hx+#^zQz{8|1shl3rxFBK%H@R5ngFU` zlX5lT`A06{KbftddCt?$XB5Z@f8>o6S$mp`p!o*zQy^MCC!m^7Mf;KC%m}P8(Ffoq ze&8v!1c5C8Ui&nE(l;6GCj8wVBK!O##k@eUH!u_})XC;bkjF#4p*}(()H%&vCEl^z z-@b)VM>KOcLAPwbWh^JwsNJjbS$$x2u17jA5C_I;6r54Uli78G5H$(~YWXN|_mOUa zhdwz!&94*jfhUij37|Ww7Zk2)tY8c1c=$wMHpjY4OF)fo&bmu)b4IDO4YW?QW@YnG zDPMEgN-BiO0u>tDe0{sL#H#6WZw9#&w{4KH_`Vh?t1YPtQ`bz#I z$*A1gp)WWwJU>70BfU!OdH>7vHpvIT`v<`0>vSWaemM+|@^iJ_f4)ahu@Fmx=uXN? z9g5g4WegGW$gJ2j`4q_ryLXF-h+z=P2rFy@5!MDWg15${v@W)?0=SR)w1g;DyRaj; z2!Fp;s($ivA~sP}sGBuPzqHjFvB2F-1^?(9mRje;i|2TB#$e_(Y)9#9z7+`$BhIaL>+PmVE510b3+X6fy2DCMSsTknFKb)Y2U>t{|L5L8#^hsSM^^+tHRVr?&NGH7@ m*#%B?T{ZP%@=v@u{{UyG#6VJ)j^+RW002ovPDHLk0$_p}pfCFX diff --git a/graphics/pokemon/tapu_fini/icon.png b/graphics/pokemon/tapu_fini/icon.png index 740b5c2c0f9a9b5dbb96427142deea0f059d1a96..fcd74bbd199c3d5e61ad0d935bb241a4d2513ed8 100644 GIT binary patch delta 281 zcmV+!0p|Xd1MmWnV1N5bL_t(Ijm?rlj>8}fMSBB_Ie;Ve02y_<=l%;ToB_H;Kd`UD zKr|&L+mWiW^OyfK;D5RNbukT>~K}Ww#<%$Vn{@YP=Bv`3J@1HRu;^%s6Q(k zL!zj;IUFa;CYryyIleoNRyLXh-z*8zO f>JEPIwtoTEK@zDO{4=E}^qg{gl z008(&L_t(I%gs_Tj>9kv>kkC=0S?dyq`2$u{|`d^2D_`lIC~MD9rO}8>jA}iqd-!! z#LMLmPfL%9hrY15`9#R&L`|jBs=a8+GCseSKb6w)h^Q>4#>_Y-{*PXSFu0LM_2lR&l4-3 z1|$~Q{9J&QSZO}6Apo#{`|TWHO=5P{nJEdxu1UM<0W$~4r_@kDVlfV&gHkwvjR7n| z+9$oeC{~U@c0~(JbO2BfZVT=z z9Dr49lEu*Ahrv~X^t%8Qkpj_@w;hNT+W>s6s)JVR#7VGC!GvM4yX~BU1abU(7w1dm zJ^+1~!Pb$Ig0?sL12I>;xn+&Iw3tcJZ@e*&zK(H=zPO z;n}3TN zL`MKrP$T$>eAaLi^1qgTG*1%{fb2Nn&Vc38>r*BT0iy1IvrhKE(yWN5C3fM?`6tfH{_1u@7bPe=py z3#|)bpa=~=$cK=LOJHLVWD`QLg{0!~wG>vja_a=2d40Pqfg+8aSMdPN)tFjvqWVCU%d z)`D@E!*(|UFd6Pb?_haLJyO*dWAy|VIh?~$px2QZ=Vzgw-Kd8i5PA|N3j-T2Cjfbi z>A)WRG_{MH@Beav$P@F)t=$1mE4@56ZU(~+0Qty&v+n%X0)W|e05WU=AV;5t7q?dc zq+Y29$Ht(g%d*Tw>uhx8%kBwGKq5-GSK`Q~!q6PRs*#RUf z;B?SR2O0n}1z2!_YN-l9vq}S;T>wCW7EMi>1xS0+wsy8f0~qJt4*UTC7&E()T9rvX z1kA60?N0`h4*`tK{M+@vKg9eY?hYOh@&}dzg#97v4)<|ke_*2k@7;9#;YHXTg68g( z;}0(*?hpV@L}C^EA?gmH@!^=+)&0YmJNU%`0iKYJyThcCkO*&hu^D%V0D$7)y)=xu zLm1%U8UKD9bBFLA^2jFdm zRecE1vS*+N)tN)2sveM<2}sFP@P{fMGshpK|E51M%s=t>bKBc*>dycG002ovPDHLk FV1n==b3gz9 delta 1335 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 P00000NkvXXu0mjfOBK8~ delta 423 zcmV;Y0a*Up1N;M!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MN-^a)x z0004BNklxj2xD?`oUG-LK#0|L!B?ACGf4H87`xn!?MLe*}Vg=R9;!?tkk=i(%pSr|10oKoh5F z;Gm2G`X-ucLPw!X%vuftiDATy?`&L08?K%lfGgPONOO4{nv(%YARBw68+kk&PaOc9 z9mM4_A64NB0=xN?|Vnx-S?4yVknyrp)KJO?b;{e>HHx}(vQM?+Oo7U-1FOhx zqGa|Ucsr{J^~20%5Q1_R?LjwTC%0E=iDdLr=LI2uLEI7nBR%7A$8z+Ft$kqlj=1rL7w zfPEH6MD;wZh2-O!eG323O#^fCDf8HWXd?aR90Q^`SvA-i_*zQ?6S)l3*Q3jVFXcsBE8PdkND8-Dl|Rv{ z42P7K?E9>Nb=Bz{Y^BDGYPfWEC2>)4m3VA}3B$wzgY(3* zTI2B;1;~J}qtzM<+!@tdzyOI1>m1$@MyB^v4sEYc0wU9URnIu|N}Oj~pK2T$UMa`= z65ue;8rQ&4K5+T~VB`a201^)XM!vtR4*|q8aw{anLleZmF9`VyFJ!y`9!LZ^00000 LNkvXXu0mjf?UN^S delta 1111 zcmV-d1gQJn3C{_TB#}W-P5=jVNliru=LQE4DK19NnVJ9q1TslPK~z}7?Uu1`+eQ?| z$&G+JSSr*yXqTKsKtMd{WJea-#UyPBoviRs4qXDLbcc?v)S&|{OU_Y|%o%^;$$X^d zB7KVl-H+dUN8P>eDawB^)a?!H#mD);$A@~ZgzDBwF7U~VLz0(6Ju(Q%%Tc0rMsjkf z<)b=bo$MS%!#zDD`bnlhW#5HeWEWAgdJwFWRfP6+*G=LFR?PsqXOE;PeCnS4n33Y; zqgY09_@>+QaNv*V$@0%9p)7x709*2}J6irHl7iy`aTJYc^XEt|ysafFu>Acs{ql7j zFM?R!AOh2^U+yTqTf~uwXiN#AwyYV6t(>M))YCH`FW-E>+3xNQOXc=-5a4(KV z(J~Iw8KyE&xHs??Q*9(e4=I7ej~~%5;z-dr$4W>(Zt3>`pl>Mw)a`#;_owx@!gd;f zmsi|v3|6sxrxeJ;e_WFxJXl&?4Q^xkmJ`OjG%!~_r<{%^(tpk{Aet+y23-T+>SgHC9rpm}o~?fx)lrk0=)nizth;I$vMK92c5JokrR#pzr}7}AI(BX~V(i1^ zrSf`KW+e{;;PTc9oy@K)IM5*m-2NuLuGuJ{lsY!GI!#F}o9$rR=#w&}Xoq6}(91U@ zNs*=)o3?}BfBR{#SGPsGZDs(>=$-G`W6>UG-2b8d)L^zL+Gc+S01|r)2(y*d=Y}>M zHXyt#KpTEz0pVo#V(pb_F~`ek=NjB^FV|5t)7xNLT=_pfm_W@a)p7F#qzrG+mF4p0 z9*`I4x|Gq)x?Rdie;ZW>Vhx1R^f6Xi65e|tK*obuhSL~4OYvnG1jroZ%Sjmc!h?n@ z07y${VkrU*fSrGZ@Bv6mZ~?2MKrM2f07w;y5pK=ZihJtMVa%y2YTDP7t+0RWx(xt2 z`bCi-4L$Bx+!w7mfoaT1yHWxKAhA zCjer5#5n8qz;wv7y$s-f;{19?!hPLQ6xf+C^H^6Y>z3p0&DvQLAQP~$gs}gJz-{g z@6h3e5)hf*t8w#~ml*SMZ1LFSC9dQG$6VO}wDN)T4S<;sCK~zY` z)s!)B+CUV?59u}}6sj^*sv_aw6{#)i)PaUeA{T~+_Nm(~t@r|o>Vc}C!cuj3&4Rr! zWI5l$UOq%Xu}~I&hQ2#v8arU-Jjn=nKmXtVJwG3LZjs!T=WCW-PE_CkQGo*l0_B7T zU|2#VaDZqS0Ic@sasX_9egNQBTn@yr$HoTWXtZ6bpj$cG55(s4en-A$Qt2>u0(y{q zlZWeF08f%Q>-3ta*)D}FzICfXSO%=S)o?o75AgAfs4`$Z4oS5H;BFMCs03J#MGypH zFR*r{!0?}RVL!?%;Xj#!Txo)@U8V0=(pUL>Rs2pc+%zwJ5e2h<0^qwCV^d%FJ~Cbb z5WZ6B?RZ5p3cZ2{k%f=fr%*)&0F9ee3V1;1F+#$Kp1nhyNh3h_U5|)$GD>x^*f>^sNA-ZEbB&6-LfuaAE9j|n3Dmu zHUJXT7bwtscdP+6$2nwetniKFM}+>-3vtznIUWyefX_e50KJM!;{F_Ays3i*>cBh9}j~ekIb4 zpeb;2o(jYWEYBbw+N~TAe|zTVX+vtNnPU-;EQ{8roZr(egzR26!!kv1|k0db`XZRpU&tO00000 MNkvXXu0mh|g1n|UV*mgE delta 669 zcmV;O0%HA*27(5VB#}W-e*gz`Nliru=LQE4DK9a}sSE%B0%b`=K~zY`-ITv?+CUV? z59v0fC{$&rR7JwESERP6QwJK3L@o>s?Nhf~TJaAgst2n66_%>QYZmN* ziiNWHZ|J+TO=Abl+&;+&c%OUk`+oQc`Nu4|tM(rmRy9$B14IoDe-H>%6AFM)1(Co3 zqNxEe+8?U{u=oLh8*w!d!yXwKz)@(sGJ-1Qcs~&9&--1o(yp`_I|0>5p84T=7r>Jw z&MUnp(R}A9GW*i4`#}}3>DGhUd_TY^a}renn@K?G6##caKME^=%|!UVFZKc(M+!9W zNfp*3eNaqN2YpekN#6>X)7f{do!S9JGnfFFX$!w*&|;iqhlw zgfa}=k_M5RhtG!~3QGVA*RB+BeSg+1rkD++3NF(eE^@6tROvz5AwAB6T6y8v6OqZf@kqC!x)EhAYqbjawIbt!ufZ5@KyIdIelK!SP# z1N7dUD1a@n4|y4DeB<~rp}*8ZTy~k{KFhjtGFW0_c7Y51}LC$@*q4p-(~=~ ze6HN%udiFce_N!1x6Feq0;d}27#47|hWCik5(NNE9pKDBJ!T(os*&|Vq#Hp~;PgBV z5F@baLp-v~0uXIpJZ=7X+SYp|M>$nTF$24MjNPw76L)_!6Y=$Tz z%4u!~m;gF7KpkCTU#Ge@eITo;&M1{9f*$ktH|}Wk;IaWI?tkwcz0d_~1W>vbJXOkg zFl))x6NgKSDrb7WcWkp4B~qXdO4CCC>y%627=ZYw0p@62YEB%3Y=uHJ{uZg3b@GOe z$z@5o-T7bDH%sTXrQ06R1yPITY7u_T*3!&O<5dOORx%B%2g3HVCKzu&vz-OipFxb^ zOG74>O#rDF;4eTgGO-WY{)+v??#+IjxY@_<(_yy{;^+JE1yT#rbRs1Yr2qf`07*qo IM6N<$f;lRX!vFvP delta 344 zcmV-e0jK_q1Fi#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;MQyuqaT z0003INklSgUGm;eT}fQ*LN z=S5002C|#x9kudA(0%#(!UN47Tn_-n<5$Nhbj2D0)UF3FjWQmry5r`7!_cZJnI6Zm zdsQO^`lK}71+Xt=2b=>CZxUdR)}{8sF(`H@MC%_Vl36D=bWAQiyK}|=ecy!69icl8 z=z^%taaLALFfrriT!$5j)Iw_n)7g5*aKBly~qiDeT&Dh4>wQ4k{|OTq+^6*bsZ zT)kI61SpZ6;-IfjbS1ED26VlWp0Hg53Ty_-3J^kQLk5ie6BvLD)K(2nGaza(a3*qX zk$(Y%gNY%)g#y&&JumY?C)89Utbi%O!rc!_a|P%mqCxtI+rT1XiOU=iwdoScbT#7U zJBu>E*_L92Sq_-7tF{C%*B??^AzxxDK^*UbgfC%;TXJ1DZ;5^)0m(Grz?><*wuJo* zAe1j<=7JFRH5CXC0m2?XY8Yxz=ToNOSQ-DNH0>9A)p(tZYP&iB0000Q7Y_}WwXXwg8f{6@-xl5;-(4pSn;N5X2KY9nFG2xATKe_kb^%4x@P=8j< zeW2CcMf&|m0IpqKTpYwP`e*^55yfwsqgS96PjMVkFrxstH;Myd3aCJk0s!-3>PM^v z6Fs2lQbG}meGZ-h#u!{~fd_>A$bXNx@Ooj$L1C4D@+3k5Aqcf7z+L+5QF${*ET`h$ z3vt-JHH>OS4lr2DNjmf}?p?i5a4HWV=_)5=*ajGYnpqf0Fegk9S&Ig{ii@}Ey8tD! zRUA0x$kYPQW56^kza2K~jslN?vIZm&dXNE2-GKqfKy7)zaSkjR44jDEn1AH};b3G5 zaHauudCzk-=p=@2ge9;gm<78*X{rI8OdNpJz$Idda|Kwm=@Qv^IpX?v7G;02EyV~E z1(>j_b_K9ezD2^97)y|*+aTjhSmKs~AW$vgWD<~6xurePyta(LCVk@w$& zWG^ck=T!Gggc{LE#4~)BfgTY7RC11Y>uS*FQ=l2}jMV{}ACz(C~{r|F`rUZR&^HJ5813=PhMO5KiEDE@+f|29dpNasCztlqIP-UHF{Hba8HfTe>334)pchLqyYck z)=H5{pm*=p)`CkKaA(?fc=Gw7O#mZWi#iW8bKE7RtP~H(1ORYeTa0a(+@Vrio)615 zKWteTh|j7qH8cbv`K+h|5dzULD;lQ|U^WCoGhJ922f+7S23|jpfUofY_`s>$<~xpM zpx-vdg)nXH{jTxSe}xi+obL>PK!m32RW95}z01D=5g+J7ruN0=B^u~TtYT*F1(`(( zg~q=C+U<;9;)&A^xZkoXAx$Molm|?Qlvt_l!-m`s=oe_y08xIJt5dQB*pKI7ViK5& n`|<~%>Glg%=rQlZGyW4l@1JerI9Uje00000NkvXXu0mjfq=T{y diff --git a/graphics/pokemon/teddiursa/icon.png b/graphics/pokemon/teddiursa/icon.png index 04d832b83c3ff4df6f95d2267bac52b5ce8e314e..788734b15019039fa4cecbef065155d4183665f8 100644 GIT binary patch delta 206 zcmV;<05Si|0;U3xV1KbmL_t(IjpdRp4gxU{h35u64Oko=(X7O^j#bPPB->*l5PKVN z%O)GPf`p-{&Y&^ClP}-=<`I3DoV*$NG+F>i*61#SkW|X;&YtDaS7hD;@d$-1(12q# z9@zs!s7Bs26Na|-xOsm?t9EhQTf+(O{4=Fbyr7>Cn z006E@L_t(I%jJ@x4gxU{MEeK*8n8G#qN&8Sjw*Hp$@Q}ki2ECGrOD;4f`sKz?Vd*f zD_2d;6Tbie002ovPDHLkV1oZFX9)lR diff --git a/graphics/pokemon/tepig/anim_front.png b/graphics/pokemon/tepig/anim_front.png index 57eff5d228a37f0c471b32081404e54927c7bf71..e2e6da880a34822ee2d42e2a53f7bd9680942804 100644 GIT binary patch delta 679 zcmV;Y0$BZ%29E}ibbkVcNkl8mZB9taxf^<33;LS;=R7VbS zAsxgn`~;~_L2^$?#|anHUKMSh>YgCVOJ&yPxZ-9OCDL__C@lS-{+Wd}{|IramnnG+ zh@&G0`Y4bJ5gJbi1i~!!0@6V|Ffg(9%pr{#>mvXfcsj_&z<&$G-VQCGc-^SPucQ5- z(K}O4*TXCK__?}zu7_t1c(-%UHzcsp+UOFT^r|9Ga%tCthYY}3NNUoL_Wu2!-whxm z>SCSS`_bqZ0QN|wey#@_d!N4E0|7C@xwY#S*hT>{LNK*!y&T~T0BJ-R+*GR})DNWt z?otAn+*Wgd!hh*dQ@`i+4+rdv0y@cAyvo)$2AD!7|eTYud;LNTM(MbZBN(huY4!E=q7y<`qYpv4(=pMoJ ztNn=$SYTRJUz}cY0H)Ru7ErSeZEE%BEYPOb*3G~iqkBj_29VBu?g50F!=$yKhd@HX z6EG#H&VS<&xd=MnSA<1x4{SyHwxWP;*{1Vd9I5J-I7eRWkD;QNN)7~E?BOR>=^LVh z%f%*q5eTSbB7kGgT>R7b8i794$b4d640*ALVNsN|rUq~TE|i0Ak!S3iqof)eEKhhQ zi36DZ!ByyVZhvUTxHbv9KQz^yD0Y9?1Crk#njjv&{o#o@)v5lo{sO=Q?vq{sJkJ0C N002ovPDHLkV1g|ZJ>LKT delta 683 zcmV;c0#yBv29pMmbbkN`bV*G`2j>O{4=Ms*JEpn-00MSNL_t(o!|j%_Zrd;rhDFH_ zKuR_Wqf129Kw5XP*Z@JNsF9nxn_Owo6Lb!0K)Xh74y55$PX+f(d4i%ZRZ>!tAv_8w z(4l}29t8X!{ySQvemc&n{!NiFz^5Yyd=v;B#}k$g3h?643V#p{;XovOZkdA!vEn0u zGO%ipVvP$Fq8?HR6C_KJ+L)x8K(8Q z1yDpX=&)TGw*xC5XAowWkJ(3{a`HfDBsHp--*(1_k=mI_Mc1JWu*U0HWPD z7QkT}NPl_@?9XNlo`KXrO&*8H9e475XG)X-I5^>($^=ZyKArD;%Bow#I`U#z2BW?y zITWB{PyIp`o*}u|g|7l!BskTWYaRa-OV&BGiur^b404hAkQHUi&#-gHf@oUgF?w002ovPDHLkV1klfI*R}R diff --git a/graphics/pokemon/tepig/back.png b/graphics/pokemon/tepig/back.png index cf9e1466004f1c1f226d96ccef4067f21775cc64..1e150f96ca027a2636c04fa9898425087cde0722 100644 GIT binary patch delta 498 zcmV7C3;J1_kC}0dQc98R8t1@Nq$AL0*C>(l7xER{-x2X>s&A0rz{< oU~md#HbH~=VA}S+|KlL!7il7n_*?mkmjD0&07*qoM6N<$g0Yj^=>Px# delta 485 zcmV1k41GB#}W-e*gz`Nliru=LQE4Dg!7ymMj1O0k26!K~zY`?bNYO!!Qs4 zP`mwsxK2l;)&{W>yX>jbh`Ep(Di~4ugEH|GNEPa5(2bQ1bzj9XttL_Tz0F$T($Rsjb2mvE-7*s+sf5uxkNwrYl5o1#n z0y63YNe9rIP)iI|mq{1E3Ph-*h5{l0a0Mji0f2}WM2IAKO-qUZ=IglKy?;8w=<7Me|v~pC)xsd-G91$7#~}(+P^#bfdS(aAa04tfYtV>Vo#k-U^E>} zR5Qms97g9(2~}f+DZAKNaQ|_c)`1#hm1jz9EAa63RtHD}HLNwU+qob@Q&z^xRw>-0 zB5YLVx!p#-^#2ZJ1tEkfQOx~Wqe^hjrR~ETOiW85q`WpOTeQAA9RWa&z|=_F-sK78 z1qy+M0tMv$0@#8XWB^Nu{l|qf19A=KKpIc0unWK)04W-;6T`7b1;%Y4GZhqAj^`2j b4>x`RX(EpJrI0(k00000NkvXXu0mjf!!pkb diff --git a/graphics/pokemon/tepig/icon.png b/graphics/pokemon/tepig/icon.png index 6daf46186c69f2e01e97d17ef348e31056902016..13ab925f16e74bc2a1ddd6ad8dc34bbfaee38e5c 100644 GIT binary patch delta 246 zcmVDrBEYd5@wt0Ez_n-d99 zBnAf~20IZO6XK6gjvZSM;Kx&1AQ?)o0dhu%BuRqDYycBy*gVhzz-(`XwF0aOGIJ_m z71&>Pk;Q&<>$y9|WG%zKq5`d)&Q@_7_7t2j*bf&9(WY*P^-2`& wv)l6W#rc60)ekRBQ9o#I{m6|U(BvCGo;iV#=rhr2Q~&?~07*qoM6N<$g2VD{MF0Q* delta 285 zcmV+&0pkA70`vlqV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=M%0Uo#m1 z007rXL_t(I%jMFs3c^4P2H?Cw-o(MhC+XVF-exzmU0+owv|BD9R&cm8#Ube-xVVTJ zf6_D;K7b#uQU_U}$TmP0bWu(@!K1eT6ALUp&;~%UZ!&8K*nbdY=2XBsuo-uevu$&0 z_;8NNMt1FRIFk!bfwU}uJIxwQ;?|&!PMr&;9EK9yTMAOYy#Y@0=|q2BDAhf3NpFG; zn3aPElNH$pOnLF}K9VZ5Aqr^bbg_cfL6 j>Vx{)hg3e`ixxhfIf0Pqy$7P000000NkvXXu0mjf&7*ns diff --git a/graphics/pokemon/terrakion/anim_front.png b/graphics/pokemon/terrakion/anim_front.png index 604712945d71b7e97e18be73ca36c16a85354ef4..ec6c378767609f9cda4a2558f3d4ef487fed570a 100644 GIT binary patch delta 1417 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 N002ovPDHLkV1gH=vF`u? diff --git a/graphics/pokemon/terrakion/back.png b/graphics/pokemon/terrakion/back.png index 9ec0ab2fea80628ca2d7c2654b72d94dac331d29..fe4d4ee062d8632612f6fa3ed2e98ffc79ff4fbb 100644 GIT binary patch delta 649 zcmV;40(SlA1@Q%tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!m3lK~zY` z?b5w&+b|FSU=jv8TM`l}i-Aym0Mm5ZJxqJC_7=$;#_v+u(lk1~3T|Bs+g=~Nv*EnPZ$noj`#{ihB*P6E=kSQ9oe zfsn4nn%qxy$|k&3Ti&(^?m13q#a>6(z01+%V? zN9R6?c^fN2d;?~F>_EV14?e@Nz+6N?NZSGjjQMVY0rwK#1|>aUj0NPO2Q>8%UYWgm z;B^2BH(X+~x4UwWF)9aVjBj`XQ%TI2JL4GK!)HL@SGMdxDElRUpaJJ{4y$?d0qD;d zm`8#zy*vDNTT-QRH^FP3TYPsgpteg;?>1{eTjvVv!{G(hx`r*OmnjH7j3n9{Q0c11 z^j0-71ZkxIzSOANSNcz=gt!nJt?O!s7PZ!*fce?E0I=6Pgmv|-zVQy^9Z(SfxQD39 zq=2832Bbq!8GxUEl~h^oK<-+kN@_R)LnVe8S(6mS)ldvd4=7wNKp$5?d520`Z6uAW|g1QATBOBCn05-Az7YpRD z4l9QZP+NrFjY{qeVGbj5nAI$C34{W`q16?TZxm1MvOlh5fFx^Q$+iK7$S!6yFMez9 zsSxF_vEWiQVr#b)ujT3I7;M^SVZrxP`C6XcMEf-{pa5_@18LYKwnK3=U^FA=Uq+xT jkEb)xUVeez0s^6bf9kjQGs+-;00000NkvXXu0mjfw96nT delta 642 zcmV-|0)74Q1?UBkB#}W-e*gz`Nliru=LQE4DhR*sPow|<0!v9mK~zY`?bWev+b|FS zPznY*TM`l}i-A!60LygRJwB zg>j(3EJ)mzN!o+Y&@5Do2r)J#ypWKaYBf_;~3n--!O$w$yjP%+P3xt%qKhHO zWBK=`Ma{mEeO_i>?CZ`gHr@)b4gbN zPJY}2Q8>_*$l=6cP=wTmphqPJ(E}f$XaZEF1|o*M2GFAz>Z*Kcv_Uus~h4HFadxB&6;CKe|$ShrhqXMHICH*o2b$vXY0kiz- c?MJYSe}C$?_uwr){{R3007*qoM6N<$f+PYVE&u=k diff --git a/graphics/pokemon/terrakion/icon.png b/graphics/pokemon/terrakion/icon.png index 6a9b132bf3119aa9bb6bd1b84cbcc23cd53e2b15..b146d5ad45c72976fd95cfb3e130540842de830f 100644 GIT binary patch delta 286 zcmV+(0pb471E>R#UkCv+NklRfhcQmQ@5x_j;Amndal{#o+PzlooO;cx!4FnP8*&{deM0}v02R23!wI8M>= z^ouarsFE`%!UXVIsKw1Y!cg%MgT)AOttRADkOi;=LNg-P7TEE3gK7-3jc k%fejzAWDQR%Z2SvCayM698j0mThK&KfDH)NABYyxp zhIt3P2?3P@E-D8DB!`ZG?D#(B695S0n4pq<0dvHhGr08?2yzGo)Cw=?=Ds7as_jct zzroX8H-IH0eFc-A7Kg)&X-g9?VA2oHo?hE_f9VFLI_zCcEX>6ZqD08T{GJ~l_{-qJz$f?l00000NkvXXu0mjfkQ%1sB0VoVD?ZbaD{U?;%nLKSCXZ zejIamNz~rE2E;dX=>OOEUXJw0U(0C%(G>Zz&6_~@J%OQs@g`8WhyoncEvz7{CU_`t zs}?pu-Li!f_&A_tizrxsvjD1FMAQms2~sO?xm>~9u>vXq#R2({z>~mV47zk}0m!n< z3gi;05XXx^kqgnK>o_1EzRbnGm!uZZS76(N-ju}isl!QYSLQJCVKj9@19-fpa=1?6 zdK#I4hH}CX01|)$Y5>x8`>KJeeGJfkouk0<^Exj8M*w`+76QnB`VVk|f!0spnK{WC zK<}hV2LNKv$lL0SWc36J$V{G~$_trqnxHLP1B_Lt{1{nsrU1Rf9GPv=)Cx9#iocY+ApC^e8mK%=;2g`BHpDO}eqKy~dkl0tL&gGM9>vWwlE+Li z##Yor+&-F1cq(W5pLh58ZY=2LGVkd3`tEgp#!@6>wyG}&xS2f6FQ{@>-W~vxm$Tmk zbl$1K<>dDgdH{&}dO3Z%FdD4pqHd7iPTt6W6(L{NO#_Q_=%L?F-+P%(hLHbUUK>c3$d^034a9F97z!9~15Jq}f5Jgi!U^KKLx2Lm zF5v>yuS$4Phyz-cNTR+2P*WnIPCzS=JAu#D2*I%vPz5Ls$g2W@0^w%Rqx}t_C<-S~ zL*zo7Z2~eEqDS{|Kwd+Yi<2PB9bl-zQ2>J_Nv(s-N$0D|VHUz{>BSZZct__j&0)Gs zY(QhxVFCadz$vu=f9d%{T|loB4A5bdqreNxCYOLC0N&Oi0?6JwFvdXVJqVDEELy-| zT&E)d@y-4(^&Y7;5GWukwSzjBvOGYJgDMR$*OkgMWXP2UurgC(C(5*#Yk>_>?}HZQ zckbS(`Ckcs#2a@~E*orD$xMGTyG2%mR6fouv9H@v1#XC!f2Q2CN^I8^svvdF$Q>8> zaT^%50M8u7+zIyOE2S=oFypQQIxjM~#PY3uF^S~QWe0e`K(9MtEDF_D-2O)LlnKVz z7yS@-kMt2t&E){Mi=Q6{)H$ne4}is=i}eO3 z?>69iu|9-pDFC9mUe14ASp{}W(G)1}7SH7K)<4$e9bD%Hpq&5!002ovPDHLkV1hEY B{XGBx diff --git a/graphics/pokemon/thievul/front.png b/graphics/pokemon/thievul/front.png index 7db853327560b0d15e59495109778b6cd74b1afc..447aeaf02bbcb6814713859e7b962979ed6e0830 100644 GIT binary patch delta 725 zcmV;`0xJEj2D}E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+mTbK~zY` z<&@2C(?Af%*IInbA#0Z+jvj|daI&*a8bl9}xDm&qHdZ+nJFA?LKpeP4h-lB1pjdqZ z&KwE~FHq&Bm>qw_Epqw*ox{qz^P8Ff?v9t;A8X&?w|p~-I{@J}0}cX~H{Jq3z?_}! zfaOI&qrdGunZDTqSe`Y1QO?dbKq$3M0*6Pt;%vS}WACXr-&Kp|bJ&N+u)A>lM&S4y zz%ysjV75Ma_WV8gM~%Sg+w-3Q!`r}vD0*2C*+=O4`s>ZGX{=OAMBDzPRMNi*7&lsK zzO7hw&eTjVYc-~-FiLUU>3LJB)vO}y(ywM_$|ZlX`n^=(nWhqdIGk31%7a>$s~_rJ zM~#FK0K(S#HjriCX*vR9L%ksq0{GM|qy4ftA1SpZ*3Aghw5m_n8tnJ2jf1k#EC zkY+VMiKV%s))f+Q4WNtVlwqC&7ujVAOi;wQ0+y74?O*))R>sG;-!v#|65R2)&@YGiHuE^3Yh2HWb*F{9W#~eMPn0J0lEN~TpM5<*c*UutOA() zfcZZ&JBkJcV0JOrn@;U3b+Ez=CIwZFZvmJwSQ{Xccvr#yK&+D1FUC%y=xAsFk}%(B zXveDG3UYvJT+h3z0xVCdJ<}X^bjS!8(Cz8hMGXr?LI6L1Ib>{zEj}1c@Z|JPDZ+u! zrOgQ(`>0_6T{W64#0K!`og*N87_dF)q|kj;10(?<4Y=F`7(qwWfFRreu6b9C)d1hb zaY+j`pnO&=Y%?q$QUvMf8NXKp0%?Fynm-Kz4i5Q?62bxr(nX&s;9=A95D7PQNfX99 zzI4lU1TgL}b1&d7g)rd(e#t^Grw<-5^vQBbHow&O!WjDp2JiC^_|{QM00000NkvXX Hu0mjfjrmNJ delta 712 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 delta 1153 zcmV-{1b+Lj3DF6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;O^R*mYB z000CuNklL2u$X6o7+*#I;E$tmYU;QLouJh2=J@SV=iHRkzx`A=sC2qa_oI z^Ns>@9DzW-uC)JipF^3(fzrdAc2(cNAMg1Y+waq~_wm+f8Gmm8Ch>j*FfM*|@6P2X z&IkjvE?xt4V*BLQFzus-A6D)seq!6C0kkYa4F0JK;U_L3W@8yR@46o*l4y^KORPJ! zj+RT@gxJMohQKHx#0ix7wn-BF){Y^aX+?Q!+TBzEA`_!xk`D#MyeMJZg_#myM5+iR zC?**o0FWsF8-HE7Bq3Y^@U_SgSgILD`Dfx@u_p;+63E6%hG-PTPggnfD_{X7luD5? zjP6*RGm0r7Dwm>MK^O%`#}P0N|pI`iIqcs?ND-^ z7ZPY3l&AvI&?oePodDW^`?i3T&FOuP8DP4ppMr~aB!Ltl|7=wOK-5b#ohVx&fU8Vn zs|o;O=heqJv=9)Iza{PtCN`i{j#icxsZ*rK+|1)kOJ5COm+23$@vUN6HSuK97e)_Q7Y{t`j= z_&1wtogGJF9Hyb%$6P3z{fJLRN0!EeaLy?0FMkB$Uj4Q3v?7m(LIk1Cyn(!127PHPTM=sb-*G<9r*LsPys!0?=R`$ zLk}$CUaH5E*3Y?4@ufKb4kQ2G&ECg<&M&MV^NZ>QKAXj8W9K)>#p?#rGcDsx7L!~i z#DBEiINc)2f=8OAOZ<& z>jqMLczx2#R%IsrVQ(N!!7zz~cCo4iLmEiGDHtuw!A5{F7JCCZ5{x-3w*PUNnf77X8^x7gcd&eMXSdxHe+0D8~& z8No0%l7Ce&TI6Bw?VI6A!NAU4ZM!bpDetqODHv7f#xdB*^#}d%SumQn4*h}cfoH)G zjf*Y)0g0f83W9c^`hy&mKX4j^d5D71^at(W51KR#dd?rDVbC}Hfxi30|91Qfec$q! TLTnn*00000NkvXXu0mjfT9+6x diff --git a/graphics/pokemon/throh/back.png b/graphics/pokemon/throh/back.png index bc4caa45f9916e69541149725b457166b0b40eb1..f000479fd0f7e3423c32651339b3657b3087826c 100644 GIT binary patch delta 416 zcmV;R0bl-<1fc|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80eX>%8-GFU zUAxE$8ishAw&Vac!CKoG&22j~vTP+O*>%+ncp?7tn;B{Ls7L+lQd;ZmUY;5%oh3Kg-4 zTavuv;S44gv=lXxGuG3}jXJ9`GPymb0=i-A&p{xL|9CB=pu?{AM zl3x&uA*Z7=rkQ~C0MvE_=-}u+h90?eAVV2|l1J{FW*?70L)HVpXJ-)(^>r|U2MSqK zDwTWdhdpu+bi7A2M9ELL_W+;eri*BZh952h*<0000< KMNUMnLSTYWdb2+O delta 429 zcmV;e0aE^<1e64jB#}W-e*gz`Nliru=LQE4Di0xw+6Mpt0e4A6K~zY`?U6xh!!Qs< z1G+$cgamql$i(rk5JRF}yT}O|hIpH{_y9G*TH6TCZL1ksmXeh0x@rcz5dZnjj5M1) z>QVo>gp{(lm*a@N$bd%c zbM`@02+e?1V~%}Qe`yO*A@~=>-I%+ht*R~p>k(-61h|8B_c8V;xq~yP04N&Sblo8x z!427t0G+KyIJV;m9@z1sTshyH8TTkXFwh>!5Q?7e-~padu_O-B(ZeMGKjskjSo@3h zJv_iKfm097fLG+9C2fzB!s?(9EcEhpOcfMDmGRd$j>#-5Bl0rNKPhq#nB>tP_1E5dr6h{39S5BmkMx|Q^D)3I8C90HxA$=wm zhC4XV1V{`F7aBGXxW)vEqekl5dgJK3{`okJ{q+UL^xn5V9lM^v3iSyK@y7IJ32@Bt zSoQicM_?o_@JLRzil$Jq?2$l~u^UUvmvh!8xq}FbX)4Jgf=( z_Rs2t2ipS7$VvK@3^MTmgIDx{-RW_~|7$%EhOGtMgn^}^MHs+2VrF3~8qe7jF>)4$ ziVP`%xI*4=}&=;|mh&)|@9nMHm18002ovPDHLkV1hJ?n{5C9 delta 381 zcmV-@0fPRm1JeVLUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;O`tb*6_ z0003tNkl5dr6ovf;mJ_L?QR&u!DtL!yi7I7aNS}#?;SSC-0TKhlg@nxm zx5k7NqgLu#)tisb{qga~*k3=KsQ2#XbnJS@AEG%yA>Wv}EPn<8862zLTxJU&QAjvq z*EG(;hbTdWvbA+iF!@2(gB3LB-c5jA)+#L{gnAOpIomgdMtKM^c0vLB1e>x}J4LQ% zTcpDilyw}?JhY&GJZP!HWlv&!hh-Ituh-ndQVM|&fkPAsM3p`q_U+f|MFi^rXcVaY zNCp-6erT`Y3wE{>`zPlIU>I$H;Y&mdFdXO}umh&T@tjQ-QZq1EWH1RF_A@XDEp(Fs z^4J0MjIB1H)khj9qmDj4k^X7@rSL bzvbf-66@BS3DdaT00000NkvXXu0mjf?Cqge diff --git a/graphics/pokemon/thundurus/anim_front.png b/graphics/pokemon/thundurus/anim_front.png index e6ada5d15cd9cfcd98b9bb7c154412fdf880199a..1a16e76c253a216cb9ca7f751ce710fb634bc5cd 100644 GIT binary patch delta 1438 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 FV1oUXYQz8l delta 765 zcmVLmm&kAJi2c&6h`fIo#|pY$@onQ5)B3xI+^5#`I*4grsRAAmFm8b$(u z-tURNnOlCR*MFA-CC)REI;&2W0Hl5o#tBGJ&uqTuW>Hx6!z|HX^gpnU3I?#mE-cn4 zM&rXQy>27mqkzu44nT=2^_G~tPG9?KwhpvR8Y|$reW2j`E`JC1`JSo6qj}8!K*6tR zzALt9Q5LloAQX%OfJz8xNa14)Sb!KxEv$GAa1l7|y_}iQ;y}e0&W%;1iKf_-o&HPs zC*>yM?&zcdOq$+l?*cjf+i zC*$w|;2M6z2iC_yC}@tlo;7<%F54L}mO=2UX#nVH229?n6qC^3F@>N}ZRY2zb>JK%OozqcbAJ;dkOO0sJ5sm`0#oRtkpXO& zB!}HikXKjdAxU&EvM#~o03D{jV;`v78-NEhr-B5ed}aXJunpi( zp}t^>kpbQVV6Ow+(UG7MCPt$7270{?bj(h}W<~gTb{Seu+{GfGR}+X}tU|jj;Q8$D z&{^J6l_TvrlsP`_=K#c@Lc-5crN#Yyd90l+L)|AvuqK1RB00000NkvXXu0mjfjLmQ& diff --git a/graphics/pokemon/thundurus/therian/anim_front.png b/graphics/pokemon/thundurus/therian/anim_front.png index 05e0b7372c5159f21784997a12eeda9d7b1a0c44..e87cf107b297d79e5800dbee827fc565828dbf4b 100644 GIT binary patch delta 1729 zcmV;y20rdo#QG zxlS)_7i=WGuilT*d-Fbu@?Si9@{?v&C)OwJ2DwXM3wwhIL4RDBS{44m_X){D7$-*1 z0taX(x%ecf(?F3_V~}lG%_Y*Y#~imS$XrTL2~*Jrjc(nmIe9G{NI1W z98-BKoyjof=zsG9BgJ(iL##ZpvS~;!8nLiKt30GXs^A|q^MV{$Q-qW`=VvN9 zV9xySnKx6UoU<>bmVjHRWy_#0(t}TfDm88~NTd z&MywmwAOZkm{Oo7)m3*JUG&ZlU%Cf}oF8)Pwv4Fv4bzAOwS%tf9zYO&>bA^K0R9`9 zRs*uQe}CrU0|Ls8HP;M#AN<<{+Fe&xBEgwoHmvO^f@*cK;*6uL)La)rJmaGyO^%=( zKZD{ZGDjJ#xd$&@_Yef4JxEw(IBu-ZOYURd#T>KRTk)Yh9d%U<+yWsvAzi2C) zf1p=Kc7#!D3BiEBx;VrVyWc65n_`1xQjx#~7k`%DKUqO@@50T};EFL~ejx>_g+(;| zW0oxUgn-@#_3s(m3~pp&z^D<%HeNHm+`Hr>-qyy!7PS4tPyiR2mX?FC$NK}$hn4X- z&2;DXdOYddG^3z!vI7+G%J@CgX`wTo3RJ4(RF=9L^kH&Fbo}0-O6_1b63{S|MhBN5 z@PCgg?;qH<=kA6%D4U_8GX4kwe81iqK_t_MHu0 zvLG1uecwg_n7wLb*Mh5qY9+WqLE)?Cp6!VM)4|eigSDO8;M#`zOP%M!3V$=RTM5?o zgWz44j&G<}p9p4L(0euTKo!VCxcA!dSAUrGp(J(!k#oHy6(!7b{(_J-)!U^=;CV6k zxng@l(b>T;?HEB~r_iPp(xZ?=tP8mFpURMlQoR}{usa?3;$EG`*_BcxfTCjsi90_3 zcb~<}ZOM+;f_k?~$9qFHGIv3QDt4w3yIIA9S4Y-}U%in7l9RhRE)7*&esVYKi+_6$ zTP!_U?j*OgT7f`jwtvj-1;Ci{1!*p?)>?=U0uM4M$jzTc!j<@dS1f73ec_~?1wo5M zPX?EBb78j%0to>_Y(l0ZhS+ID;lK_CDaHQ6_F0zDiN0T^p^NdRXou76z#7{g&6 z+iIp2G&p3WmJl%bnW)p$X9W7HjU6rlZSFmL9AM`_@P5HLMllj3qa^ij{NvYq6To;I+GUz4 zbm5%5W_uA}0Dv^XN%RwGcq|TnAp(rsfEKox{xDkZ5ThXkpGSc4p_5J6UrzwTfPuln zofRP%!3G9XZ3-BwVVYFj76LH*BNQauDPX{PK{-@cvIrP}2Zh}m8-LDy0vMPmYPGAA zkRLjB-Rri-Gt;46Az{#uqmUow0RsiM*I7W68$09&1dPtaJ5>^uAou`)Q40A%5JEK) zTn9Jx%^;}nK=P$2KNP0kfi1wpU;9GfEfdIQ@Mmjx^NQ}k0nsU7ObKK&xOyt;1Vqs& zN;*~WWKVolBI<)}4LTW6TBs^>fT7K7YeXn4PrI8yJXt^W=v@R79uQ6Z1A!?2AA$T0 X%u(Q6#1Zw{00000NkvXXu0mjfS`aVm delta 1758 zcmV<41|j*34yg{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;P0+~^~H z000JzNklY7>Nt@wie?M zC?rT|f|qqj##*%v0a-go#+L7{>#j<_K!XEajUgx$vamiw&wqW4o?~azcECZ=`RhFH zoO91lQT~fZPu^)(b!6RXH_&YYhuiCj3*y35EAS8e9w8gTxG{nzIAC^^jSs^F+yTm= zSV6+82nQAq6DMfiEzmrFn+s&3OLb^I2y`SKOHDVHTonDbX?=an1&uU`5uBVDR`-(G zGX)YO*r2CqkAMDxOe13wLKf0gm6f-@87Qm&Xd1bCeOZwEBKYHXmSZYsr85~qTzy_( zq^NFWkd;H0orVNRfy~vZA&XULl?M1H75sx{UXTTA3ZW9E^h{+Ah&%s2b7l&aveqR% z?}DI_C8RJf(5!(`8kT7P{K?A-wpD`D_Clw1b0s3(+@_|GZ5I5^Xq+j(RPftplT zy=~^Adw+KL$~!ou^pIk&X+*tmm_{V19&|kK0D{m{uW3pF_^)T0b;#oWna3UwU}~&+ zrtE$2?;vP*U0I0)XFvJR65sgdp=PAy6$=L?bvR$x@dK@J(2IM#yG3 zk_~Sfh>(ppL@#wO>5#UxakvF-|4<6xLetV>5cX)VPwAjM9;b=!-dv9-eVZm26t3N8 z0)JW_e;_)}x5ra~ij}NNQdj*ROwJIGKe$+_9_&T}EJJCye+h!%sQlr9_Ls0YkoVjD>v^Q@M42t+zSGS3Bc@ECLl%r!hUTcm~nyc zRlx&RAP?@|Z^2)F)`ybV33<-7qEHlBp7R%ksHxT}MgrfrHf2@G_rfZrBbv77Z<_ybvDH|vXgkF{8OvfNR2X|)1@%xwRd-3x#* z`7=h@p-tBZlom;-S z0(1%V8k z)$RBgoIn6Ds-kb^1iBm%4j5~ANdRZ;OaWss$g#F^XI}$KF=~;3LC<)dramLkR~^>j z0x%98?|as^({9OSP_;?iWCR#%y#38-L$VaSM?G%W6A_3!+4+iwK zKDiOh2anRg4-zm=rJX7G0e={%zS`XCbtizKn-;eN_p&%_VpqK;yvNrPFrH=8L_Tg( zUOG4*^e!6{z$iq5WR#@-U2yznZvq(aq+O($VlLd1H)JmY3;>V@IEh}7#*W2hKZpS1 zCdBzIqCXr>uf{qTd>H}8$F`ktzMTMu0RzJdcUQPz2pbqo)hS@8hJR^dep_(B2#%N_ z;Y|Sp&I`)Hx?(fH06fU=jvP4m31F~9nO3_xk^InhYJR6Vo|z8qiV+6>G?e@>4;UN~ zu5Cb+kt6wm0Y-b`9V>})7=8r6C`x|dgb=M&?K&LQHp8&C1IZVs{E(jkkoO(%@b^9! z_{#*c8UEGW-Mqp(a92Qh3K&xY*$l6q@;U)gG|VLJ3V3oRKFSgG!M27BFwR$$Il$0n zwlzbjwz!sWBM@KIk9~X_fye{GiO&#-^8XRYKg?0!Tx_#od;kCd07*qoM6N<$f&?KX A0{{R3 diff --git a/graphics/pokemon/thundurus/therian/back.png b/graphics/pokemon/thundurus/therian/back.png index e021218dba5d4b4990f18c9ad6ae517e90516c15..16a5d8711565d9bbd13a0e31588dc7a9a065d004 100644 GIT binary patch delta 733 zcmV<30wVpo2E+!CBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0-Z@jK~zY` z&D6bb+CUTl@Ux6Wvtg%55gUiR8?Fv?%YYKZ)Wf|YT~nFvAWYe+bTFRihPy?i1@5ox zyAK=Nd~~aN0~o)b-+MkkgZ}k0EbGHXU|~!z5*x#!^}hh@So&x648U0Dn4aoE<*3O7 zPx%-j@L_0xo8r{{Bo~K&5D+7+fgwe8c2@*IvL-M?s1mqkfQgl>abE-@B}QqRZguwg z)E0Ods02@^w!ley@WT?Q>xio1F#kT76hO8GDgpC@;4ZgGZrWuUXYBTH6L4{hWHof0 z-HzSjCbiSBBjcp;;uyj0NCz{39hBj3j`J4Z`Lva)WE$6LEfSXrXgpFK^fOkHBOuTG+-L5ntNw5$FyCn2iNkuId+m!7?$9D=4rH7MmnlA;Y}@ z(3vH{F61Xbzu$+u?COo&9c6zThVUwxQ?U=*c+Shf@8X*O1@qmi+yi5eYdHks zK7$260bm?BHQ;m3mq#TYBMsDECP`ARkOwl~M P00000NkvXXu0mjf%tTRC delta 725 zcmV;`0xJE)2D%22B#}W-e*gz`Nliru=LQE4Di<>5LQwz!0-Z@jK~zY`)zrO@+AtIV za7RI+w~<_tPHY%u54bt#b_3!NQ%&mOx?UB!g9v4-u0zN~H_{DpE#SYh&mVy#d~~Z+ z50J#ay!Y(91fhRC49og(6<8S4tHj1IX!S1uJC;5zUjP{E7?X1~f2bH08Q?iPM~GO3 z2DmOR^~Tu+VhqGcb6^Njo<8IOkV6reAyf+7BEZDTEq$rdytVKDPzl0hEI0 zb6en~HTYoxRP~I?;V{1!jPnl?X9r_`5Ikfy$xW+F=NY>{E&^_DkV6hV&+bQVev_K% zv?J$PJ9KjeI=*+je_Mh~ja7NYXW2pDkCA%nqCj=cODBCex{DKJi|#X-PjmFw~O}PL_14{$6B7{VnIz*`RmdHU==~PupZz34+f5!R5ZKo!IS*6xdXuw;w zUqf8m$nN&2DJ!cG$VSC{#CeOYp)qeocO#P`DJt;TnYEJhd{bXHhPW;PY9c8p{1JC0 z5&*zdwtoV~e=||SHr|N&h3%ezc3*($NPxw%dKD}Z<1~W;+hD#)k|i?SE8xw4wYQ9FF_E@PXN3d z*5eV(7I`2W_G9Rpvf+LQ!I%9R@Hjz4g53qs{+e`DOUq7!*=|{^fw8BRYyz>)V9w6~ zXh#kBjPu1wil;~ewUOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00DtXL_t(|oYj)CPQx$|hVKb%37!D5Q;}O3LOk&Z zybvs|R3(fsz{?<{4yiJ9MvdyFlWiqSBB7W|oP@OE0pPa#^Pl}Y_W}Izawk0x?2%+E zG(kK2o(AE0Sm_^Oe_0`3qbjBo<=Z7v#lB@cmmA|y#e<-lY?amd6)XG*3#!kLb(9yt zyRe?tyS$Bho)B{ox3uQ+K= zeyq0eKZ_p+w@`|?#8ZxODQ3d5#0y*$V_y&s0peLaC`{xs+d0C+11O0|kxk1Pm$USkU?>3%Ec$kuU?I!vX3!5QGCaa9sR1M7{xN*yB(- SV!L1f0000O{4=NWj=0Z^b00D+cL_t(Y z$L*9+Z^IxAgrng_GLrHA|6jW^kOmUEPJ8J~k=m;A;am*gZQE!4X8|wjN$_06l8AVS zd|6kPBz^G%aerS4a&+LL#>MaURI{ff$C?zr!6>le0Al~8g$uHono(s)zR|)|r*A36 zc2l9o+bdn_VrAb8e|p_9K0vDd?>)YaquRpCSy!dNs&iwHsB;cy3l4~*VaY5U@UPRf z>!S(ZOF7_N%nFc|WwwF(=_5AP$0FA;h$zoxct|}zT7OaQYEwiT?R>0ms+?xbI#t2g zqA8pn+c7i&t_u2S9nhU&apPD=zRhxyAiVy1JKgc2_ss!;7XcAB>=6)aK|TZG2EQNp zw}4331R*IE{~)7Z%MpK{@xLWV^d0e+6ag}{Xmoe{3vs9cawbTld&YkouVv7E!9VyP z!6e-i{#w;Ft}{IF@BGhqA3b$g&TS53fIPfrPU_%arvN$ew@$BML4U=6;QtmNjmp{~ vHU3wS4*V|@q^G_=PmlqByh;K5F(rNgB+ebKzOWZ{00000NkvXXu0mjfCK=#B diff --git a/graphics/pokemon/thwackey/back.png b/graphics/pokemon/thwackey/back.png index 85f662150b467f33cfd268e4153b7c2d789af4a7..1063cd33b53c1081690d902d382e324838ec316e 100644 GIT binary patch delta 619 zcmV-x0+jv61=9tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xU^HK~zY` z)s(Sr+b|G@X-?T%+BHxhizLH9A)teB?gO}@_DT`oC-6i#4*CiKyBHih1u(LBP7xqe zfxz!jWXe#WJxZo!+GM=8HwnCt_y0VeNdB+ry*&ZY>;yq!OY~R>fF{!$WC36RfF*h( z2moXRCKWeW7(k&Q(B#^GGQMEUnCOQKjDX>8WFTV9chI=mKFA?seih>Y;8PB9K*cz? zfJvS~$R;`{pw1y^6H81kcrNl_CliGbUg`tD)#ytpZyXKfDD<^TWJKhz&@n2NYDLK6<+3Z`0ClQ0o^)}) z-U0g_OChE@!Nsrl&pW{J7>l}Z78frwKOmC0xy{9&T?OhK0{cW-;L`6=)E0;Wo$vIHsQMqOo8Ip$Us1; zt)NkNBI;;PA46=Oxkf+4^Uk+buMgKROFO`$u)fXp z-(v-@*96XqG{C~{kyi!?T)>xeK(kPtIh+8E0{Qc79RtSa`tXf)3}t-Wmx~8s0TOv! zxQmC@V;`XZ1vatS$PSQn0afoj{&d9d+5(iDm9{`3{cyXxTbP|i;J}nhNc|cET#BE2 zUw^bfDSH6EGM9JP+sA`~YymW}x*_^8Ot;(Hr2!<5T0pFn`i{WUcK;L@AWjTWstxY^ z3W5FJ0G?ElmT3T7SRoXoJ_3)X%|t3?hzJQKDMjFy*-1~IDI=l@e5^iVh2XXPA^!vT WB_=PyiA0A00000@W!9<<{HlgoxfcjXTLL(#yxE}iZ$8V)XnR0-H zVY|zEQio;`1|#sx^aCXfG?ME z|J!&(ot%LYrGQ@f9>@K`$B4%UT&`1t| z@{$qf(Y{@N%~@>6HTSqXILDm?pwaR?H&kpPj6}&K<~|0_8q|3&tbKc zDdO=wZ4DFvK8=UfY$tTvxijEZ4i~wh5+MM7H(Ie&2as@Yy~$V0IgtW&Y+~#sz?mFq zVCtA94tRzf(5VL;*6^|N5ove;I8{E?3SBEFl1>j4FC~9p1faP708-paD&dWgzaV(lhqBtGH7T6e$ZiD+20Q?28qO_4bPcwJ`0000$(AV;jUHi{mu)#(<&&D0Wm5tV1#b#@g8JdNSFw< zHQ8*70H!0fZz6srbWM(Rgc0V4Fx#fPOKf1tyIH^WJHMswAo$@|g6SK-{hm`)rDvbuVGoC2RO!{OKIgn*oZ z8YF;H{T7D9(Wy^}mCZrDN@G0uMZ@9ipB^FG-?J9MI^D*{o0AVdGavyUkSb4BBwmNN zxoxV8yVI*Y@HfU5AqNQU{STCfitiMlSoiD}{R6O~w2>{;x7`2$002ovPDHLk0$_sWhclD_ diff --git a/graphics/pokemon/thwackey/icon.png b/graphics/pokemon/thwackey/icon.png index 442b292e952d007c32886b0a09409e62fcab9dba..d093da09a37cf03cf1d5a3a9231261550db13e20 100644 GIT binary patch delta 398 zcmV;90df9_1o#7xbbkSENkleuqFi zoB}o(eFcY(!q3u{fJsq96?+IlDT%72jwO5Q(xJEM=RfIm|Hs&$6_g#J8Zc(sf-w`{ z1$~l1OZdnpiQjTSQibO*oKh@Cu3^fF6c)`pkn@zM@zwa;1b<3Q1@)Kfvtt{sF2t-C z-!^ZAkrvrvP&!AH^UNCzB8f!J4Yu~LoYUN&Tna(beHW^JZUt;E*#v7lYo?Q0fxF96 z6D9Ca{|4@drAAEP@%qOCpKpMYr{yNBdrS$vWJl#ba-C<1L6F zFh&o2OJ(_J34aHYy;h6lnHqU#yJC!o&Y}fTCgV|~dize9ZmyPkb;heRkx7`RVJ} s^5Lgnq2cqR00000Ne4wvM6N<$f(diM#sB~S delta 414 zcmV;P0b&051Be8WbbkN`bV*G`2j>O{4=NiwP!4(k00C=BL_t(I%hi&xYQr!TMfC>{ zkLi$nOCfa4*gweFPQ_FG4}o@g3fN@yD>!r%{+6}`Oo|#RJ3|OcNmM0GEGc85L$&#G zpLO-_VeHQiG-txH$CwEPV@AFUx+J4O_$Wr1Ke9tomFF;=a(}D_ZeYxb6jtp$Q1YDT z>DBNw1WJqrb?5cTv5prPV$w-(+dJY!i(=MmoFgfD;RS<4B2n$-+P-p5Q$M*Bf~0#c zEW4!@u>Hv@s%_RnXGaC@E*njh!Nc)2aNlnj$|hok-Sg?@7t~z)4sE4K~%_e&?;Yo zkgys$92QveiMnY4ij(Ij9^t$d-eX&(iX3xsybv_=f~^&DUevA!^K#$=UHfKd`B2(x zf6vF%Z~wpt^V(;7KA7LWPAwmP`%AQZ1Y0#5eue{>Ul(`w4M`d1L4-G??*IS*07*qo IM6N<$f=|f1W&i*H diff --git a/graphics/pokemon/timburr/anim_front.png b/graphics/pokemon/timburr/anim_front.png index 13a9bb4d6826e20ee0da191bf60e4caf195e013f..4e32b20fd9b433a54a42cda8470f9fbb1d50ed68 100644 GIT binary patch delta 861 zcmV-j1ET!M2d@W^Uw;ESNkl}l%ckvI0Wvy4@m=NF6!z(*PgkGfMr3BJC)Ce5xl1hfzC4WWuN`kj96dWyKr5)}P zp9GLdu%RL}!mvwP9tkj3;4Vdtwvg~N`VO(oJ<@*j@S}!ckd{sRBzX71Qxi-=BT9*V z`iT%_hNwxYOFjFMmS9lY?0NoYNAr&Gp(ETo?OSjNY8=j?yLalsDeAtZc^r1{Vfy?` zvjeIh9d{wo_kZVSniL4_gnJQweD1B+7-LIt4Qh>c4tD8&ghy-`PZD;q2s6L~eDao% z%~zaX#z2_;S|ALs0DrQ10_E@k2yx6uGGV~${(bfpWJmzp1LZnNt`-&I7<2wzlv0rH z5Xaw=MTHuOGS*J35%ZWsBr<`I82=HbjO{H30zZ>vLw{13aNY<-lBDw*-hnR>5M;(S z+xsU#c(xNyE+GY(fJDWRqqJ{YTfqK;@$yld{T3BC?JX}Y2owTiN+UHc3cm-k7S#xd zqKwjKPe-uRwWjB2B#eA_^G5o4c#f``^DtE%dl!F2=stQLCcaVii@}(pE#mpF8WXK6 zwI;;sY=6EST3z(+lEidesEf{o0iz}e^=lyk-93{CYspx^Lx2Z-lFpCmQ%PVpE?}52 zFbiNt&18ZQPGOiOV#-YunE;!M;l*JR4S1S}Oeo>(d4X1C0%RusXJUhV3Qr}%FqasW z19*ur5fY=t`79F#mqH?g4a;&5%d^d*od1^PWPi8+nnaifp5OkfDnjl+GJ~dP1cG0YX&iK%kqVN(X|(u< za38p|U*SL?iDu+fIS^=RYTxES=xq)JtdiD&7;d!#!CvV=RHjyxTH!#bA`4So`D03h$kl9qF31e>s=f!5KUjyX^LxX}qZZK5(Y0M3VjxaYE8oV?Znmzu2 n!D!|Nqpl;^>DoL0@L$JoPN2L9G*_;{00000NkvXXu0mjfq{@;o delta 886 zcmV-+1Bv{v2gnDIUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;P8(le`1 z0009kNkl(Ek)rF{1!KjJ>Gir@FM}xd9wmN?!Eiq6ax$n0RXR@e&W0^L#+W|gHw4# z0(5{z*Kt2v#D6ml zqht6{JU7iPM1NuIMy+~HP;uxI#WDa7V*mlw4mNa=)B*pxy1>{5VA{9nVd2ns#D z-CzWPV}E(oQgt#|^-jY7(!;b{N*k5cR)~VJ2p7acjc#r<@vKc}f5%Z*v%5qw8D;Eh zGErcP0gC-vQQ&k>bAa_|q{0IX_vJX&kIB;4kCz1!u!^!hPTgwA5GxfVr7o;jY$$tR`DaCLuz)OI!q8Kjfa~{yYR1`^A zH%5kw1ZzjoD?$ zj5{z>{|!9bNeW8R86n=_!QYR+?}uOX9iKB|*sK%I;cSx*obyq?Q||%HkT~sk7XZ$p zlR$&bMC^g?EWw~OIqfok$Sac;3+D8BWzw|Rg7*LnI{=lIz9Ud6W$+>T?PUUFPj8^bp#1H`P6=k|w#D;k>H-cF?#lq>g|#a$ue3Hr+2$lhAcfiJcwx(UM%e@aQ%o30#c-o#Eia6z zfkfahNR_yi{}sG&gKVB3%TdZ0v@R0d_~G8ldwUu0LZ1VwHCATmPtM6Z*%ak^YQ40s zHM|hwq?Qd0I(4!!ON*%s0VkDQgsIYF{~Cwly%{a#`uWn&#J-lPQ4b_-+3xT7+7U%> XcW^zlBe)c@00000NkvXXu0mjfPpbWn delta 518 zcmV+h0{Q*^1nmTnB#}W-e*gz`Nliru=LQE4DjrKZ`t<++0nkZAK~zY`?UcJt!!Q(v z3o}Dgq)0FzVk83+AW=(wf-2oBg&Dii8Q4Gt?@Wl12{G~rtZd9KLuTB8nfe(xz9fK> zbVdRX8T|eJ&sFJk{?D&GF)Zg1V{p2R17mE^ZRINf6I2{`+Y;HY1{N^W?AB z)T?=~6tN&lF2~p|?w?s~^t@EyI;Awf%*K>=zpyr@^oSuphmp*(arXx{M!ket=NGUm zabJ3fXT~fXUMQuDQ06E`K?;+>!OVp7hFE(6h8R&0lHx{-dD*V!XVVP=}_;AFpHU4->iYHn<4c)|H$g*EY`8@=dLH_BZNlom1O(>r~UWNCwFi?w3-vBEC2ui07*qo IM6N<$g5<960ssI2 diff --git a/graphics/pokemon/timburr/icon.png b/graphics/pokemon/timburr/icon.png index 7f0370f3fe828bfcd59bcdabe697a00e8f76636a..8528484be3ca62ad650e78042a703be614f32d5c 100644 GIT binary patch delta 255 zcmVLD9H}9 z{mpJu1y`zUVG#p>b6y_Dr&N1zHE^2=t-4&A6>cs-Z?5eYad=UT60N8+M0Di5PA?$k zl9pjq$k>CWQSw|?V7VKv;}^J53}j^=1HO{4=Nu#J<4MM z007=eL_t(I%jJ?W4#F@D0Q&>~flsy*9T}OeR`eMtas?x*h{_{aKvW@8C)7&Dm736W zV1Ws|`Q+G%b5Znj!8}WerUYmR`vycEWoo;YqYi?hJWhf2-G7&;b9U-=RXFgVR@WNQ z1GtsVWqB=J4{jIcu%g|VOS9VK0^H}O)Z4Q>5ZL9qo*N&0%M zz~&h5!wvKl0(r8XFD?4t_?|GpfiSZ9+D?UGtFWIVFti~A01u6p&wvB^WzEC`^Mi7zqcj;0000al9RG3nH*e%w{A%7?h6`b?t`zd>R01j7rCpGT3MwtG3sNlPV?7-JEd0Q}sK1;qpYEg8j9P=|@f#aDWFYd>JCg4J9JNXG)HnD2N2TLyR)u^ifQ z2WQi=$iKz8Bi*GQ8{m_?<8|5R-&=E)u~qpZ?>KzH zn)tY=E5C8uV}EnZF~=N#E!;OI5I68&7bJlhLELLHuMt&+BZwPa=_G_!P<3Jer6sR5 z^!P7Zf2ge^3gTaM2u`U=`+y-U1I_9nyKEx3846VT&;$B7KsjcCXFBE;PY-CI7dV1g z1fJsTA?;P);Se&Rdtd|{G0~8V{ssOMBQPX-hfgaUA%E^if|NFHZBQ9~ku<4H@Go)W zke$q52^L{~I-)F~Sl*Zp65);rmfeJieS-cmPyJa)bQ>(VC*3Bwz@5=}us65;;3V+Q za93?u<9HC$k?=3f81xgGyI>^o$~?icN`kqc;KAi{f;QQB2MZE&n~i-OwM`JlSp>meQy(aHk$&-%bym7bCmPO{6~)*Z4kY f`Aqpa{#pD1u~62BJVF_r00000NkvXXu0mjfL$YGv delta 784 zcmV+r1MmFY2LA?-UqAo}a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;PC{an|` z0008wNkl&u*JQ5XM3H0RrhIM-P#AAb;7#e*#`Rmr6adH zN{J4UV;2Wj!A$KGrwJU(+A0u|*5~9>lyzuZ0F@#WTq-FN+X8vDq9`2~nLzq^ z91Dsk`dfmoIoA^=9%o?v_1Ua_j3C^m8$iJuc7l=g! zC0p%1-XA<{shQF*Z9oADY}o#Q9$$#|pMMuX?@7wAA*a4>`!E)eH_V^gaHAi_r#75k zIT>U*QnBZ4jtLyG1mXt%bwLuC2;yFnc@3{BiXd)uVG`#`V%6~hl$O3y*wa_G`cPXV3gMr3 z1WqAKd%zHtfo8Q6T{aQi4GUCi*CYAZVHr;H)sP=px+4QUrwC#Zc#^?W+RMJ95Hg{A zU<8aX(P$U_8U7O^FeG|McT0*8V}CfOdgGP`mC+ZWlgb4Df;NuW3I2jZMEz+*nPD-% zGZO^Coe(U#2@(5*{8L}ghfvdPu;3natKkY;5u12=|vY!^|EJ4BTI`m_-&F+PsL* z;r?F3-O!(&d9vLUmeQy(aMv@!zMURAFD7=!d-?-s*D}1vZj`^(KdV2nP}Yaar{cT- O0000sD<9smk#DUA;L;He_#Oj= z)olPOp8`xV0W`v0G2TXq0q_C<4S>NPM%6w-eDuH(eM1NVmbV=}5CbcW%K!y9t?wuY z0gcthHz)uH?1wRn=Bs73EZG&kj;^~3(EeSK?Jt#URegxDv wysrxp9{}{;Q(s2b>?*_(Mvu1^@s607*qoM6N<$f;1JTEdT%j delta 391 zcmV;20eJrW1MdTnB#}W-e*gz`Nliru=LQE4Dk5Z6hH?M^0a8gsK~zY`?UYS!gD?<< zBhdqpMbvds4^V^<+eo$S4U0CE6C`pD5R2JxJS*PJp*n;4EkE0CcoJgqKD{>{3l4`} zyZ&28)`lNPtmD_JU$QRI_lh5sUQrZo1u*e`UIfw(C|}KD!>I?9e?D)FK$45V&_D^d znf;k0Nsp*%1_%IEUDH({S70iwJ3_%9AV&hU?g<5tiH~Rjq;7}?_?ZGZ+BSfc&H-VB z0v_RRglr?!2zUX28o<$uqADMuJ_aBo-!Z}f%C=(w0uZ@tGQa>$>pO~3K#kV<1_RIl zr!f%Jh_nP&%|TYHeUyNqAtPUa7uOIFPXb`@selvYqb$ZFn$9;ufWRjK#q^9#w?Cue zeamY+`ZTiMH^?_a3zzqlK8>(z0Ca7Gt2yH7f#@ylW~6&Cd`x;6sBUy$7bZM_RyeS^ l2WVv;D47WNKh>_OegT{x*Z47(jU500002ovPDHLkV1lizqNM-; diff --git a/graphics/pokemon/togedemaru/back.png b/graphics/pokemon/togedemaru/back.png index a49e69226e9a6b729f9ae58b49b0bf1db2766ebe..71b2b1daa85fd14f9d07a0d73407559cf814c71e 100644 GIT binary patch delta 486 zcmV3@CFlbf$ucsS*+>Y?T_x%>y(tTcrrfP328tEE7CK&wtX|CL|p@ zGtL&}nw8uYcmE0WjA zT#Y?DBqRnn%+-LJ9dej|1)L241FpFm1eEH;%}`S!7S|Ql*fLawMs7B>NF%5iQ^b}< zwngcL09!@eVN-!+5s*4Q0gx5^ADSXaow$DEHO4PiKxG4Nn2-@zguu{_SPCov_0-`M zQBl0NZP({hfV91cqOONl9s|pu&1G6eBLU06eeO;>mbm7{{RgKvdRQ9&?H&2 zhZrU@R_o?dpfp=Rja>NaoddijcHd$~c;mmw_3OZbB7gyi1bqHsHQ`ecfG~g$DhYjz zjc{#b#z#u=v*`_BFHA>J09rJi0W9?ag#)w(U?d>N7`Tzg` delta 476 zcmV<20VDp;1j7W7B#}W-e*gz`Nliru=LQE4Dkb_c6VU(w0j5brK~zY`?Uk`^gD?<= zsf^UM3@CFlbaoXYrb z&j`=E>W{h!E&yb8fgo&kH&1MK%XuPTyQNu0Q#IIqt`;dzCTg&ke*(8iUL{jCUim&D zF~EMR22^~X!zAEs05~X3)gaKTO8g8pCStu^VvQ|Fm1yK=V~aF`lJlO}^2oI~dTW4f zPu$|6sAEA%6`uge3iXeHB1pZsdQ&yJFJ3_D0{%K79qb{ zz;QILP6>a5b3m}b(@V?jfR)utWv09uIJ0v5vtwF5|M-~5408|@HyumBUpC!J3kQUslv)hX)a+{-mPi$LiY zNG%{14Mwc{>v~{q--ov81L|)al=g*LtCT|>P(P6)9pCzc9+EIaPp==D|E6!=kT||> Sb7N%y0000?yfwL?{z@&ND%ts`}u4hvt$UDXd*$JTf7k zq3_ajA|!@0Ff#O)GX0lTP}J&dz`FFD`!uM&Yg33xHy<;|col+@C(y z=xa}alro5Q5^Ex$^~eH$sg#oQuGUmQngwH}W=~7WH5mY~#P=m+YS^U$TDb#efZT)& zq8=~IivvpJhE#tJr2`6sz#Rp!2zFX8a_le-$%q~_T24a};BnRfJ50EufJO8H;GjfJ zsS?3LAdp55P%$y%x;^-`@E*AtBrpoMS!o8*rtJk>!!3m2PQ{0R4mARQ;u|0U`al6U z0Qsu{*t8*e@Bm**$PxS-ps0o920K7r1Df2}$hpWA#fsk8e(HeC80!IewYC<&qSBt5 z=-Wn>??yfwL?{z@&WJ(ts`}fh}8j!sU>u4hvvmQQdqmhcw|C+L;r>6Mo0|L zg^{6G%5;zKyGd*Z!AU3mL1*W`_!pPQfl+kp^}=Bg2zlS}0^sKb=LqDn z17t$XxNZ+VExgBWe+CJRqD@hmLA-8z0oQN?QM8rGzC(?`kN5@%fZ9{Q4M6#70M>2D z9z4LeGI9j_0Z3{?GJ_qUJOC=Ce-^sPXuYI&Y(IBEVT|e zs|HwdpI<*80z7_z>vx>r;vqpO=Fn%yNK Q>i_@%07*qoM6N<$g4bHOA^-pY diff --git a/graphics/pokemon/togedemaru/icon.png b/graphics/pokemon/togedemaru/icon.png index aa4de5eb57dc68a3d55a148521b40382123a3acc..2ccf7d60d5f093d17cdfaba4404ac90687291f27 100644 GIT binary patch delta 232 zcmVA>0V1LU=L_t(IjqTE*4#F@H24LRc($0W^a3my{E#0p$<&k(6Kuz&( zt!IO&nU%@EvjjmxUH|ra&E;DxesQHP-^(fsq#K$%*yuegcpAH*V@c1}P(}aRuDe7R zU<=1Dird0f97Mo!)1mOtD+ME5Q|pO{4=N`VKXUy5 z007EKL_t(I%k9#k4#F@H2H?HHWu0M$g(D%E8R>q7DUZanz|<7)wt6T`&8#5*A}|C& z!nywK^_u3(vR|wi(zTRHAYtm$pwe^FaLY|a+Y)croI1w)YJV9b9e^n;-zatkyXC+G zhKEjtgPtguVf$7OGz93|4F}!8nu5XTh@f@exHV4xl74FeSZ%S!wo=E0QIx#uQ3Dtd0J#>bb$a9D+LH}%R9Nk3}+NeEFg2!@>Z`t zo0v$f3~pLo`_&SlnL*-tR{&Tm7od1v!5l$4SJ?nLm;c(t#^{`l*9UH`IPy1_WmQ^8Mn0{Z#I zvDlTtlevE&gV6+fZyoRQ+87WZ|Ih@Iz`0b{j#~&cfgS`N&SuBV*0c>I5a4t-21GlQ zmOT)G$_+@{q4aN2pt1+rq131Ut(*Ic(ttFk|9>q8NMMl<6*3?e&|iN+e{rtVuQZ<- z4GW`z<$LvbRty!tZVy&8{gd-Y%O0H6Hqkl#n*haZf5EcKK9mN;w}C}vANmjZpF=x? zWgq(Yt?5slVB-?_)&_8RjEfrFi8Y!_f8mdL87F%%UD^TxU5EU;i4*NFKG*>H3;YqF z4SxoXZkXl3I4VXXrxe;?Fbx#bKi~#20+B9i(5eyFg>Hj^2jwwX{-T%G4F<0RVd3OF zx!@^VPWh7o-ca<22~k}Jyj=VcK0cWehB*C4&!KG(C`(YZQsCfb+by&Gh2t&qGS6`j zL$WAGVOSrmoF7Z<*ZEbs$60&$FG3h?bw_Zhtzg?fXmh}xH|Sypa~^is19F&b6tOkB wgl>D_k=tPs-x$8j9-uFi=8nADga5t$0{>1^nvQT+J^%m!07*qoM6N<$g09HFlmGw# delta 1004 zcmVy>8nu5P%g6f@kUnFi;PbtZW%9)9Fs<9H8wY$7Wuj34v@GTGVTR z1~JgFMS(s*AE0xlWcEY#j+A8T$DRswXb5<^&v!>s(tVEeAAc-=d@y{JglC81y%-=k z6i)%z0pJMZf*t4q^8;h~{{Ddy><4RD1`;urO64X&2ham?s?@bfz@j#g0(*nN)BqXg$eX=KN~sTEPI=J) zK4b6V5&>=!Ab&8if&K%Qo~vC2ERoqQtRGeYE2VC}6&0Az;wCVMA2(1YV1Zw&u(=0F z;07Qqf%;wbH&}uGJS!_SPJsXus}d04R?p-bE1Xd*wSe5ss;7GW(Zob*RdBQ2W4~Sj zG%HBF?;QZvDiTn<=wZa?R@_twCM@A5p70O|IJOh`v45uM4ikC>sD)p(3b+yi=oQAS z1V|H~O-dl360xaCz(v^tH;Aua-PpjZW{PD;{wWN1cj?ioR85Et65Ch^>#`;O=d?QK%^e$VpTgP`Ewf@DSGb3-x`de5 zK2I*^-hToCRqZic95-KFF9WfC($PD-Yt{maBN?8s!G>W`zx{dfs9W~T2KN$QyII%w zM=t4z@e`5>4&5IpDJ2Emso;kPfxC2G*2{VkjK3@xM@BHR=uiXb2T@lAPZs__g3$ze zuO095+6V}cKQw_fa4yxg@7sFMv^8jz-RlR~VQE z%IP0)gO~)dZYpZ^i0eWhgMp*!8Z5u)Wp%;ebs#KF&XY@?vDJ(}8sHU0PnZz9hXEfh zehlv)O$!5@{=?_c)&r^%lt(FWaI@`}*=2s=c*~;AbKJv#6y+og>w}f^vBdK_zpC~) zZx8=v2*a%o4zvok{XxqCdwxQTi55KU&;v3|HjLQ@EumWvJhB}o@f*YU=>d9~e9?n{ av;F}8PE(rrY(gLa0000iP-HdmjECDK3za|0GUp%3XD)DkouQ^96JVdA{T%QNCN};8OTN+ zgAB6lRKR!)_|}ZC1Ec{Y<^(8T04YyeAouN%OSBbY<6BOew+8a6oi%F!#lNFh?NKy8 xn@_q1;$Q;kep4|bG;i;HIDxhi-Skh2q93fAcTulJ>vRAB002ovPDHLkV1jE%#C-q& delta 443 zcmV;s0Yv_=1fm3xB#}W-e*gz`Nliru=LQE4Dk^G@4nP0^0fk9KK~zY`?UgZZ!axv3 zt*kh}7)L2+u+0IyI2^z*93Vyr6uCx9M=IwA(B?ErnJU#DDl^6ycD$P+O39ZjS=#6S z|9aMP5Zv?^CCTsWcUZJU?FLkYcp|oYHvrgrY!7Y=O%_E=Hya;7e->Db2{`UO026Zp z-rT?dfI@Igz`+MFu?RM`r^FL9A+x&nlvtfCmR^7}$YS~Wa1Fa zuHmB41*lj83-OXlf3OuvU=RynK6Y6oNk?GTx5)D=iyjb^xs?*h2$d98iJ54rrf37t zQ~R@;q5#UrOsu25&$ZPuk9t5Fg;xb8C=+;SmjI1D1DePM-~!Sh2HgSa#9@#^ns$?R z81Sjdt^=e2gz*_rt^kq_TR^*Z$R*PAlwFUL7Mc5~b()_5F{OP#JBpQW9ij#plzw37 lI?KIt?@yp@-2Ptwrys1FcTwDB0QUd@002ovPDHLkV1k?BzVHA5 diff --git a/graphics/pokemon/togekiss/icon.png b/graphics/pokemon/togekiss/icon.png index 68930f1d88a56d669346a96ed7d16d0fbbd07040..4f133436a5672ae8d0d954d8daf6a741a45d9ccf 100644 GIT binary patch delta 275 zcmV+u0qp*d1L^{hV1M;VL_t(IjpdR(Qp7L}g?$1%!adAtspD}Tb#{iI8&Gq&y#RMw z_aPg16f2y_>q*i=1+UYKq}YC+F@HgJ*ciz#zlyQ@!=g?HV{xi8lF-SyJ$;sL`vF8S zHM-=?UlHhgG-YJuKG(1BK%<7`i2m^{f>3^Q!5vKTYr$%A?)GWc_>Xr-b(}> zN|>!#UJY04;kqN_cC=E?oo17o+q zm{EZVt|?KB3XBUuvo<#c7|NN~urn}|*1$~h>yfX(_>!jrLsa8dVEDMJmz#lM{ykv6 Z0X&?Fbln-E1`GfI002ovPDHLkV1mpNgRKAn delta 312 zcmV-80muI80*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=OB!?W=VF z008nyL_t(I%jJ?WQo}G1MRfu+LOmHa)Yiy9wKD_Z2Gkrb7vN4&?xkP7GV?c;Df3 zJ6bN^o_tGW%!cb}10Ctb#rg5{%FExwtp2-x0u09$Fpq8tj9vqy1_8#~rbICaFxGp? zT0InCOwK&cfH4`h1ZIq1Er4+)PXWf58n*yL$LD(71Psyd0rL$!oQibyuNwIP0000< KMNUMnLSTX^3yJ0c diff --git a/graphics/pokemon/togepi/back.png b/graphics/pokemon/togepi/back.png index 3a2330096ecd71fdf9242c25f785c1be33455bc8..a923825bfa6440086032cf291dd2db5ac5f3264f 100644 GIT binary patch delta 498 zcmVCK)Iz^-{fMjw2 zq%5}cw_YctMTjZ3*!Ruz8+*uq{n=u-CjdD-1*o4bn1b|2pp^r73nq@70N^c{%-cRN#b;W=s7(C_>CG0xNfy9Aypm&0)`x}&y;GV92AcM25IJWrDO)e zMvVY2^S;xCf(sWUnlO=&UOL@R0{s}U$isdmz| zu^T+^Bzs^mf~z)@^`KHYK=@`z^}|JXCRJ7kGCi_F0)rBuqp^>Fr3wI^X`Kx8sHexg zr!^u7?qsMEYo`G3qS7Qs55UxZ3e0(?njsoMgL%6OrKJt@x3u6=H%F>sIOZDWoLVb%707*qoM6N<$g2Axgs{jB1 delta 490 zcmV8K(nb4vRzQF79S`FNP(2bQaA$ik&**MYYL<-lE83)NNjBLw_Yct zjUuMlg7?ky8+$|)UFyFU9sB}_@o#`UZ$Tv_XMsir;4CQr;RFC@e?djotee{wY7DFe z6%v|3IzEVEt3%)F0l;qMm_x78Focj<2yhrP=v_(KNEk>K0u++e>QagnxQQA7Ok_i= za|vx5B$zN3kX&2cO#;IZFv*iR+3P`sC~8@yFZTL3069pz;=x6difSfJYP-R*PJ9AJ z6S!$oG4yWQ0^Bu2f1)1R-KCIe6-d>@2r-NbfR4f;7SaP)s#H8ulfIg=zEX%Nq^w>R zH@_B2sg6<)9W~tn)eO`q$C?_T0DmPs;QieK@FOtYIr!^Kls*FJiun&p9`)0~-~f2f zL9~ALbS(UhAg_=4Nzd)ae@}udeQaOpMF`xZe%YJjTI&FaV7luHuy|esz>VwLlsjOR z<68|N?%a7fa{y{w);G=?U|DVtz+HVOyGHpaH=lNje4S(SJ7BX#7eedBG60A@VTSXq gv%uEn5B(3;7df0zMr%iNbN~PV07*qoM6N<$f=i0lLjV8( diff --git a/graphics/pokemon/togepi/icon.png b/graphics/pokemon/togepi/icon.png index 7e2be562d73a4d4908e90db54f0c68aedb360fa1..eea4a651c3a3148d07145f799edfaabaea88d62b 100644 GIT binary patch delta 249 zcmV)rn`_Unh&7BJ~6qJT__4`d;O0p0zkM*vCMRk2P0u(s17M;%5> z(dmHc_c~zugAUMT&;i4JuY*yR4!q{uFZ%HSjUjFNGNVU100000NkvXXu0mjfW(sr@ delta 287 zcmV+)0pR}80`>xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=OO1?DskV z007xZL_t(I%jJ@>3c@fDhWi8tA3+7_B(}k=n5A9KP_r~(z(?_&G6~J#lSs!74cNE{ zJqsPYW)oe+8-H^5=kEW4;Ma>-PjG51K?+Xc24+}l&=VqV@_*4XBxo%lH%Q1fQV4@h zT&^WYCUv3o`8Aa6wo`E^(an+a delta 239 zcmV=W7V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=OVb<)(lD z0062PE`WKSb-IBog%*l>;AJoD2xIRVT?f$ p5M|I)7-bMmvoMWR!sH(l<_Bi002ovPDHLkV1kJ!VF&;K diff --git a/graphics/pokemon/torchic/anim_front.png b/graphics/pokemon/torchic/anim_front.png index 201710c473e85a695e05804e5fa8a1fd06480456..f7eb75e3de04e74b2be2ff7e749219de34c12f07 100644 GIT binary patch delta 610 zcmV-o0-gQ91-1o{Uw;BYNklljA6vxlVQN)5sj%2RSt(bd9cOxAgNELyF z9d#_icR_53_!yWge}F1dzXDSS)DCX*1!zA33q!X?`3&4$DyF<=goMQ4x4xhL@7b31 zdxW(0*VTL6(2om_6F>ei7_Ta0!U|K1F-i%LMg}JFo4{i-Tg!Z7OQ%E1_Psdd2_QsmXwRj zsp90=b3=z;Jj{(o-((%2mc@REC0?&yJ#6%0EN zj8Pe5;DKP<%H-~V*c@Qi=1rk~ckOPSN??JqTFV=fJ1M950nt@zdW-=Nf9oHZ;pOh^ zuVx6~?GFGab8~^72UhO5{X6PvZGTYS`G*Gkd%0V?g8&)&K71YoJI?;dc@R9+Z#k3j zZ$~3V1zTeg7$9~n5J%t&F5!sNT^M*UR62UShsj+zx#RYqVfL3V@PM#hNSTb_fN*rT wdbFx<;T7yVc5+ATPl%QK80(W(?rq`q3u`voKM?NX#sB~S07*qoM6N<$g83ICL;wH) delta 620 zcmV-y0+ao=1;7Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;PW=Y|8d z0006bNklv2NQi5QeEjhS8<4tk~I%h)U4eWV6c%n<0bI3YCnEE-KPp+e+*c z1bToXKwqIx)xeqk3?=2DQ|?#MS-0MY|zTrVt3uSS$qq zV&PVJ1M0^z=>t+J&VwkU0g?07l#@UpE~;e80lQK_qM(BKt&bU^#S^632Kc-KZPNHTThsuZl}aC+*~{0)30j)n9~lh1n}ej z>vH~C-IKtrk$*CAJ(zFAHb**&=B`ak0j%scX)XCJM`f2+^dC7Z8(S-MXN*ZXkLX(? z=36N^pU}Uw2gC`gpyNc&=v^dQf0@MveKj|Yv32o*-o?gRTYv&=v~dN{Ij~Tv^$C1l z9w!gKVS&XVT7x%k743ysfF{)<-tSS9VHRFp;Wvw=`>FLq_q`b>*kNrEjJG+wrn|FD7 zJP0nl{bj*;5WF@Y1y}U7ixVA7&J+5^Egg_18LF@q@sb8!%(Y40Un03{FL!MJ8rfgH z#RbA>p;We_3xunO!>dE|2-MA(mpgpGoZQz~-GkhRfbj>i9>OJLQydfk0000|WBAxTYK88|(&S%eRogIElFAA8X%{y8!q9{{Tj zddV&2@zhm-pC#Y=GrOcUW^e?=Vvh#_?*a^|$*KYYU)MZAYw002ovPDHLkV1nLzW)}be delta 260 zcmV+f0sH>90^9O{4=OmBH-88K z006&9L_t(I%jJ@<62dSH#`^|&93%=0ra`W1nd<~c>)=%}8?M_O*Uq(UE~!HxI6l{3 zlgqzPsh<-R`JSVZ{{~O90I0D7s5yY;tS26@_>OK57T`Cr6n)rjpl2X;6=)m3cMPbE z<3yrtAhNu7(4_Ii8_6`t&LG%P%%Wnl5)?4?#%A@;Dsp@PtTq_6v{b}{sen97xwc1f zN$*@2gn?Gw8F+2Lv7AB`Ncg-g+#fJBHubzrUJWyRY?vIr=#Mu@k!1r%qQ$KM0000< KMNUMnLSTY1@NDD& diff --git a/graphics/pokemon/torkoal/anim_front.png b/graphics/pokemon/torkoal/anim_front.png index 998e6cfa3047f13f47832a631c5690af75a57ff3..71f1b97fc4be364a2042b8dc2aa3a27ea543a0ae 100644 GIT binary patch delta 1608 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 diff --git a/graphics/pokemon/torkoal/back.png b/graphics/pokemon/torkoal/back.png index 7deddc9c4b7f592c2088ea115c1b9927fb6b341d..e5bc082fcd3755d8edb5c61ac66da9922557ca4d 100644 GIT binary patch delta 495 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 diff --git a/graphics/pokemon/tornadus/back.png b/graphics/pokemon/tornadus/back.png index 04d787070519450c7b20f3fb1ae3066b92040b0a..7080e4db164ed0821986abf570c146b18e931982 100644 GIT binary patch delta 845 zcmV-T1G4QE^?jqGho1jFkW?9`u@nK#1Qi)<+E}0g=zJ-P&1G%=_*;rGKzsHB^ya zpTT<9T?43vDH+>s->AMeW1C}2fJ&`E>notgIb|55)YSWKXCZ(Z{HHutqz(dTcW4ft)gLti zBMifd7@f%F9cmcMKwko5v48J*v-MDc0=C-#1OODUe|d2Jb`F#y;2MBNQv@R^*l)F5 zR3tUv0)as!IIh)N=W@m;0OXhL7EEaHNYMGrFIuhk4Dcin$NSuCO2MVgYoKUftpanw zK77BpsI}WV0C$P=FH+Fq@&~U0kXU52@lsO?Yzy^=~>b5Tp8BfHUMq+8AL54267*QUHpG z^Hs)VDC9ke8t`^=?s1+|8Ixf!Rst~Cb&of4Dnc?Gk2FEGaR`8~MKFewf)W5w{r=TQ zL3#eh9wA^WfK!@FxPOZXhVkZ36F}F8Yp>l!1S5`nSO|Cl*U_#vAr29hfEV&R2KAOE zKmu!FXiz5`PrcCg0Jzs-hl`AGAg7$HHo<`BWU*3j2Ke&CCePJ`1PY3Drtsk?l83&U zAO#t+2ZW#Z!DZoz%<^-=GZf%4z1QZL12>VAGJncm#k6}1?7>v> zAp(K+qEe8y7bl-U_cQdpS$B70j5+ijMECvX_x`iHjGCraM%!G8{1d>|Q$X%1AWL@s z57@FuUQ29X5*FD@Wb+#VQnWUV$uL3;9P?OT&%g}!D3BmJjF5o%wN^kF05Bsj{KXm~ zkz)`66uFna?=RNe=6_5^0=j{~951Cu_kb+PAwY_E0Qfg>X)JD(31!0c0GKR+v=Flx zNS1YmA$39#xO)J26~=B9NTT2wME#s-+#pl16D(o>D3vmx9tZ2 zH83S(yUumoS7vN;ObJk>J68HJFyNdrj8SQ;eY+P4phkb|1~V`Ej{zfp#_ROdl?@k4 z1zK70knIx0MF`AJOU$3{JEH( z$mKnX?~@7)C4Vpz`>wlOk1tdVY&!sq0VrYr;^6#k2vh^$3V>EyjHgnt-|gC{NGm`G zfl(khZZx{*a>geB`{n=Cz)LVxDcuE9qGB3pf0P5erdMK!dZ|o5Q zW(;sj3x6p)ilAw4ZWRG^J-GJTjv{DDp$d2j*U`Q*AvskAyj0xLsC#b$2#mH)i1FY9E@@cFTga7~l M07*qoM6N<$f_HXt4FCWD diff --git a/graphics/pokemon/tornadus/therian/anim_front.png b/graphics/pokemon/tornadus/therian/anim_front.png index cec4cf0248f87c31390acb2d185bc9bdd04e62e3..574aa1cc7b082a1da82d276f3d36a28a8d62c746 100644 GIT binary patch delta 1639 zcmV-t2AKKL4YLi9Uw;NZNklk4>9^DK0t|)hP#C@u4zh=$bX@f%EdLUQjNt^1tb+t z*Z(ztRO00eDXq{89+Cn;<5OfzB&mo4L@A!4ho5NG4DS2wLR^v57?8okuOR_G-2m`> ziLa5tJ*i^i2!N;@2cBpjV?5|{fEw$v^>t-}hofp7*pGnhw})f`DY|Pw-2!H9LdHO_ zi;}+zvZio={ePI6CIGk^0wqn1fK30-p9gr3@vyqCp{a@}ieZ?E5`sBhJ9=`H+O{F6%RCVtFKdgw#fj%yW7_sAhg^*U6TC> zKqqf_013{-b*2@IyHk$=NYD*$s_EV6j$Gu{fvqJad4K6R0)%(91mI1TX*0TBy?Y%8 zY%=|va5Y!AaUk1SkUW`Bq7ndb{N5E=5H=!0j{#oC_Czx0iO*yX*dsOjsg`E|`7OA0 z|8*_4Uo@wrDK-NZ!L7fpWq!ZR*bdWtfL!{w9wodRSk8nCF9492LI6YH?H{@3*+m3&6nK|M0k9bN(Y@;*^|On!ZV1d2LbQA^ z3$N8j=5^V!x={^#<`FU_!8$BjxQU+}TiotR8M7eyIs@+ahQkXznnmh}cKr54k7Za6 zM|d>iHWx}&0D#zBf<7r-TGntlJm&x;87^@k#eef7h*SE)g24l6`GDFlA;ojefwMbl3cDVo-hQOm1@3ZNQ*z#pNj-x$F zFMmzz6#9^5c}D_P;u4vVXsMTXRmj3C2!1b-u5ZVYy;xQ^z>blfY<4?rt{rje!OISS z4!PQn>&3$fS-9*kWa1BrV5Fr|9X8VM1@;kp#GWSsp{`1Yiz^+T-23E*!)J$EZ3^Xz z-uC}JtCZA|x;+nJQ?^vm)P}m%L^Mizqkp2ScgK-{8dbDw9eLyf;{o#xn~NO|0_=kr zHn_tAzOU;0RE}ghA-B1c8HK(yB-x ztvoOS{ofb_AK21=sm!!71em-_JTS@m^55rxSdA>vZ8Bavh+V*!vtKc4>$c#I|S8w9L74fDZ?Uxa7 z%d0zD`icUY5)vn?nEcP?i)o&zT1W^dy!LvtgSn*mvbR=$roFuUH;!&J?SMoE;{N+u zLfzp7A93Oi{(%Q({ub(Rz~fcIU_?N0VuF8&0TT1tYv6l-60ue2%p_$R0)OLfat;8z zdPtj_U(YA2N!*z&+E9$vabj<}RK>pCF(wMm;>TPPu6^12Ja?LbD+b z1_BR<18$b6C_2meKMXixaen|tqnLV^iU$OMMN#qrdTb^1Ul0NK*P#ta1#yD`arxE{ zh@(5y)f5ISZy;Wc0jNzD4hXj{e!2vQaTB*N{;;98PL1*e+ySk9v<(={{YM!Wk?Ra** zoA0m(C~H$f3m*WAb9l{6QFr?Xl&&0-r7yWV{R49dDts>0JNyF!8mceIyZr+jjo`66 l`~wOl`!4?wj{n6!{0ChU=em9w2&n)7002ovPDHLkV1h~U2vh(7 delta 1669 zcmV;02739k4bcsdUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;R-K}}QQ z000IwNkl z=or8jJ35K$h#(L^jRqYw6==H@1`3yhh?^P&9fEktSojYpP=BC*L*J2-?oO1w_7+oo zAHMf^cf9Y{lEe>%T`3QwwULIq#Z}xi^>rdAr3@}^n$?;RPZcG#c(}MWqfr&h7gJ`j z7eA!NfXS!GIFf2e9H6LTiXM7m)-tFcwF_}wH3T4o22UXYI$Q$qe3`G2K|QtVAO=8G z6M-k@rwASQIe)+qy4-tO9ihRnCIWc|WS{Ne5v1rY03!iR+8AE|L4TB^Sl+?up}oFEyvZ^H03WX3a({rl7xc*-=NTX!yyF2$_D6v~ zuDaZvh5$&iWrt(a>asgpiJJ#HmjoBoeFn%M>T5ta*2gXO`{u)25%BQ%OU%{0xfX$J zXNC)SI$|XN;P|a`Ji~M_!V-Y6y8pH=>=)B7o4QAV zS$ylSOMi{uFB7`M%m~0|(XGcfd<$MP`WP_>95gr}i+Nxgzb0QHi|eM&0EhPYQK@8B z6E6c$P*(tg!23UPt)o*0baYtD-58i%^rd^3KUznpN8J@L(J?j)@mqv@eaX43xNeu# z@FpR~V;s-JY!9{2lYN)lJt=zLq3>zh4B?ffY`fg+sYwnM(a_79nSjdkB4KnzkVU zEpa9}kZ5jIHdV;N62yPcB+J^6z?;o$OJKvuj+VO}HrIwY31P8gpo7noajUd5!n1&0 zLMEK(Fs+swu#tW*(vLXA-ZU}G4MW|Toqt>KP0pp96#%S!{XuV&Nb*0bfsk4dDny@kg6B7Y3lp)P3*0<9r28bQu6W ztbiWK|1tU&9K@=L$fx9a`A37!#nK?8AqXac>0S$x58B=ZTAnQFQpo}Xk!R`-@^5<= z+~Frv1Hm+d%0Kl7OnVP*KJoy_KYwY9{(u^YJTLzi0e`Rt)PxfvRI4YP{J%>8<8hUf zf2pB~fFG)bJa_!bB}J5fj8#10PVk#|B5;nwF-ZFvXCQcWm*$b8fTo7I>EvckmB9Fn@`*P=^B^ z->ex72E->O_y++{sn=cr-^c!epM}mu)yFH~qPzYM0K9pK)rE(_^FH+tkbntS2R94& zjXsSfeiHeIyyP%(&0-rOv5&%GfNJ+HHLK-1tHsTSarrRLfQ}u_I&x204b=}K;Q2#J zkyohaID))W^{4LQIrIqv`hRNJLqqqlCK`w-H4vr;aWD{QFgWHr~go3m&O4Y z4h8itm$oqgvyvJCWZzxWe^~+GU!OD~6~t`{i1KZ1W8d;gVCoc@UqO6LHQIRQgK%5Q z=W}ovSE7Z97Zhq+#IB6M9gzAbNx-J=XLL>ido=g8qSH+%N#vhSKz{upfmYlgCnMa7 z0Mf|i@|*O=!!=l6Y7ZLq%Ekn+S)EAzWowgvSnTFo?17Z^2qwilfYKC}*|^m|Na^Yh zo=1|q(LYd!V8G{6yTw0HplMj~KLMNk10Buyv0MBDlkD641KU~uhky7FT@vTIJl4dy P00000NkvXXu0mjfMj!?G diff --git a/graphics/pokemon/tornadus/therian/back.png b/graphics/pokemon/tornadus/therian/back.png index 6f533999f9dec32c8d188f19f05584fd8c616ccf..327d3cf6ffabc2a61470a37a8ea90397a6610009 100644 GIT binary patch delta 635 zcmV->0)+kA1>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` zrIf#K+CUV?Psouv#-U4;r3z9z6aNE5GCv|ONQvptEvnBRGZ-#o21E`qb?b>WQ@fN3 zsiyBAsMLR|@7cy+`_38qz!K8;bKmcKyaRSzE%r*aP8(HxcV9c+X|kZ>okj~h-ki~~ zS3k5v1n^tRxZ?alpO6B6$9c~K z6A(CW`K5El`BZU-#^`4m*uw;Yu?CoB zbKnb`&;VAL5&neVx3B6tI~nl2Rsd)9h53`f&vdDjgc@+NKTbM-5X`2#J>)F2-6QjJG_J>f86n^2Q55#4teO_g`7rSN<&t z5z9Fda#p!jDG&+-@JZPPuQoxl5Z-(bgyn?|MOGfn1=`P|UzKZVWqJ$%QiyO7iMR|5 z`=t9G0*Mf#g%rJi3NUp)<_^!og#==40`-t&IXxrr98=B{GXOD2iB~FN)f$S!7zu29 z&45NPGVW{yG>us% VieV0Dztnc&AB19`7_tf6(z}kB(!t-2d|M z{nJLk2k@FaY=F2+fKj5K1LX0}C;&0(U%DR{GXZcbJ+1&A^bR=?cHH+6nSjWB3zzO0 zz)0@^QKtv@(qm!(;Fg5+9tH539_gV0qCFrzngR0Aw9!)@RKu8nkp`HmKIlV5XaGA_ zL^y`~_Lb(MPWn*9e-iPmKCo~cg(}a5;8+7rcE@F&h@VwpyvrvtFaB^7@VLl z5HkYk$=Nwni;!u?g4qs;%L5xQ6#>o|$xoACm9?~0K1D>%e^@+ESXu@KJ(&*!0y4&i zbI!a9F!4VY3eU{P3{$OxtRYiAo)LIXrO%UP08-?fRw}D))PNn@$Z+E|1DgEadC*H$sIhqwcXpzsSoP>U|8+ zUx-7{NXz**xH-zNP%=Nt1stC*up@#tRn%j35I~K9d{gNKR@?p0yxD*4@rq$ECHY7I O0000VwV00B-(L_t(YiS3lZY6CG0M7@@bh!2|o|J#n%No&idg+if+=&**&L>kNRN_p3B z3eN-ZqXZd;v5@rm0WLoDYjeOH5Ee#*D;Z$aT*Pj}wYQ+5Qa15>2Cm*00~&ujs9BYf zf`3Sc-juq=lwqJgT@>>2A8mC zQ&We>ePSc>)x^B8(Xs54qxjQy)Mwkf{zbjs`2diaA18p! z{5S$+=En&j3qMW(S^2R8WaCE$$i|NZkj#$_Ac-FXAWOuBA7ub!x#Z4|6)-1$tbp11 zu>mIYV*^a)M*_^x{P3F}?Hhi0#0)&}IPv38@$dmeJ{V_57>E7<000R9NkvXXu0mjf D2}#2D delta 435 zcmcc5{F8Zt3WsrkPl#)(lEOqygZjG>e`^>R7#K@}{DK)Ap4~_TaySb-B8wRq^pruE zv0|xx8BmbD#M9T6{W%*uzc%N^PkumoMjuZX#}JR>Z>Jp0I%2@%;;baO(JtfP|7`0` z+jDhhwu*7tuHiFGQQKt0_uk^(*V%`P8Edp1pC#$2*v1_=y1Y(|{S0G$VxpPFWJb5M zt~nCtZZ)-aZ|dx~E%>%i;=&EbvwAawKQyPj@Liex#)$VyK6|T8)a7+GXLRobGyARB zYktjQ?S@8uWi46$Ss58T&Q(39Blq*@C0<;%jIaN*i_)jNM=nOOEIb#xK=7t&lj@6( z$h$f+G9Pwrc$Sjo%+Flj^nCV(9rX^+h1%MFNI&O<)FZ9($5~Dk0VPEZtn1b^to)oLj+?Cq5AS39 z?N7zO*=AE9*-wDo@e9Crmm{%5Ar_IV?pI=0GLTMC&v$z7!Px~Q13G$OTw|nlm{7@J z{s5p}fN_lB1vM;Dxq)wgEIUje$@~`3Qsy0N5DEG#J>r1=5v)YlcT~OvA5C z*Bl_20=K%UMpLGDP)~y2k0bPfHy??>^Sy&`3T(PAUV6av0L+CKiEl-b_CeRL7kCiz zIiKaE2jF}gKtkw2l#s@g2}S^fH3Sg(i1^wA)v9R40_-OeF$;NrtIHfIZ$JPw)EhoP zasJwMAXluFKDJ|Ud**jRV{mD~5;H4GTbHtKz)y~F2UxH`+r^dx0N=$K9s+|c_`^T{ zh~wCvT)*Bhh=d>WI(DGqUzgoNZf%C>x+0ej*fCW1(xeQO1qRj~C_dT%w#@)kdAu%& z($Lf~<5kJJJtm@mvRN_G_C}a9qTa`Spbz~0y;g)*utG&g5y!oh&o-mtuHGz27@)Yf zEv!E+Af<`kd5$?El|8T{`n*npeyvGgBMiZe$Y$8C=?$RC$Q#vrko_h@`h(yGkb3Wf zzp%gy)P0uRqCrZ&heBAce$M=W&@C#r@-V{yHiQR z;52x|Qgb#JKJ?95Sn^(-hOeA&suYXvKH$NAIsY;K!zRREwCoP7(&0O|!8 z#~NNx!xA$$@Qnq?pqc`XEPZ1jlu|wd;Q|0Q#<2|sHg17*<-jq+D>$~{SEe5h5KMt< z+*Eh7Om3i_1iv4rFa+NGP71u=8wjVsrk~T!4lFUXqHNxhtXuGtQ@8;vSfHI^3%1D4VupvnUGzrHu3k7c<Ow ze~!JgW9wui(_{-jZa?k&R_rO|=z!kq9R$3v6$pAk3*dEF(1jL&LkFM@U=itCqvVHx zDEJQx2eOndVC(vdd7FcOV~p#7*QF1?WWlBZCs@=CcyQDJ0+_i#*8uiw?IP~E0GV)r z6CE~yim5W#0A7kNFdTMWzzu4ovM2HZOG^E()%dN_OpP8)UP=RaV8+Sqx_ zvQg+4pJ7hG-5T%~%}!DO73$#{=$yjs4lqbDhOah_&h9XH&`*(n05HIFkg!ST5$L0l z*Z>^TcPp|c0iwf823@z2Q`s;2M82OG^(2}B1LcpeYaV` z*oIK%(32+J1qHnY@;ryjob>sd2zm>U7%$Qq;2YKSQel3%jNrB+_h%;St%W)Ln_jDO zI$cJ2RuOTQIsnUm70w>i&Gh<#Ldh;FQ+CAd#26o13>Mk)r%{v_Rie-wZ3uxH^`|dd zjBGB2l=g?*IuT+CmrWm97%$Sn3vE;=FRq|b|0prSPxNk-(k<=M-V4metI=~Hpz0f(0)BMVK zNZc3+=ohQLTz#-z5bouhulAnlQYqN3(35uOD2?v+s>Nt`&V-160ASBKwKUtK&*$sS z%X@jYXGhaONbB`+7=>bAgxeYA`vTC|*m@1|6ireq&`pnv7Cqyl7q!1VcqrHt31fc& XO~}V}@kL#000000NkvXXu0mjf8Gc<- delta 731 zcmV<10wn#+2EYc8B#}W-e*gz`Nliru=LQE4D-5BSy8HkD0;5SpK~zY`wUxhf(=Zgr z?bCU0e5IZJoLtk*SV_t?3+Kr0(1oilaR(cg-@ur{`B+(ioq^8$2~dXSpF>jI#Bzee zQV;ndef)lXpPn4&37?|_`)+s;aHC$p5B(m%9XNgfJph3LKp)`5e`>!sN^%H@{r|9V zAWLQgrmn9Xce8MeNgHqj_2E^HzY*XBORF$&)B${0*g&8G^VPUWLK{#fEZ{^&9iVnZ z60~@eIaNP56a3thXdujl?j^z9fMwuLsAA!?O9m)9*7@^d59<%He`o(7` z6mZu7?lRofU!WW}f56}rZg+rDh6#K%X$*Fo!G&Rl3IGi}2L_vT9)Th1C(!_b?A@Ad zs}EU21WueG>;T7!A+!a$cGdCm43i;B^P*Iw+yQ)n4E5GcfT$ukgP|>!KQ$p#973kk zU82PHs`-2s^SoBX zS!Mwa7r1y3H}mTU6-s_l>#`$mJ4XAEbhOM@KlMg+QK!NzZ3v1I<)<%_PE0N(W9A3j zI-yfVq@qI1bTKByLYrc(wj|{QMfzQ$z>3mY8L5I#Sl$K*&9IyzondKeKq;x)O%pjD zrIWmTeQN^If5u6jTY`FwrN7F1wqVGGK30U;M?=Y#{+ZoV$~X+yK;8i`eR%&{l}(9N zXuyiW@pK!!UA=TX-EkikFs&`YJ>60%Q_3g@`dz}91>69b1I<-C6<69rYR9O6VY$}j z>Vr{%+J~=L&poYDMfXfS^`@CQLZUsrS}~fLGgHJrQ2;ROL`jF1DK=lV4LpsJ=J|}m%Yr1!_H)pD~k#D6# z*$8-WHmh=ijA=9F+T2AXWoa z{bsdmjIDCF`2NDj9&n#fP9+>1L=ra7@0#BMwI$fVTxhj5@!4% hOz8&;^N)Uf0~B=-$|hnIf}Q{X002ovPDHLkV1hwNf|>vT delta 317 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

      Dh$8~6W-Zxx_7i`pzdKzHA_N#$cH z2>L;UKvmM$d(QHLga|iG}ariCy?%5`cHOD>s>H z%l_no98@QQ1I~BpAW=JUC4cTk>Vh1QEP#ic7bjb_+Y2HQf?~m}I@wBa4h<^-NFXcy zfWZ~nMhC^Lp#a8NNFdO7I_(;{6?7wK!OS=f1P4cGcMs^=iyBN51-%d)tYnFeTwLlv!-GJlAo%Ua{&E0~cOoc!J3~Qq4f#QAimaIy!dVJBm)&0z0O-$9 z&~GRRF@}kt8_!VCyHe231V{%u1vQXZfd)3km(fWk&?qQEM1ScCrx6{i=3j^LeYgNb$WPPezx6o+N^bn#f8qWL1ak@qNFvOd|CV=- zHDd};m@K_kX6WVK`RUV8ztur-t`W(Z_w2Ok%nH7J98KR@_eNVk&-8`Y!I^tH733~8 sx7W{Jd#BEgbRWR^=;nVOj5M!*00}|X)x9IUr~m)}07*qoM6N<$f-5tQV*mgE diff --git a/graphics/pokemon/torterra/back.png b/graphics/pokemon/torterra/back.png index 280bb08a7d9b8874b10555aa22c05a3be0f507ef..8cea79358abe87bd5d6896f7ee1ddb80f5d08d9a 100644 GIT binary patch delta 787 zcmV+u1MK|o2Kok&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@F!EK~zY` z)s#JM+b|TzX+Wz1Q{n+CB^QwC1CR-oGy<}bvKIpxqHf*lCKpJN17wM3FJ{&*X)ckW zuCLSgD2b9{C2P?aAOQ7#{J&3{{C`F#gudq+O~B7n$|r+}BBv=CaWp^%u5-qxpD3?v zKtkg8xc2k(z#nj)q!GA(LI;RZKS&^gqba5Ih{rUJrku~BzD96NPU4u-Fr{ctgmpzu z5*3Ejn**j{I`IKc;5I7M7DrX89$-m(yVjtXt_SD=5K~Ck7c1$2rC1aF004{ltO@as zrCfY0L8BT_?xffO$b12!!!UL+DyScE>8wK7Bf#v+RT#BAwvfRpOW(p0!QqNaLcZQmOtEyErYk)=30Rp$S(CjTl zaKKmm=Yf$Qh;l%tOqrRo1;X})LxQDdG}~oGW@ID4+ldArQb<;{kkk)dNPGt@=Qrn_`=;;pUzV z08QUb344DDL5Bea1;MVG(gT0G&yXqDD#HLMu2tnAvjP3?eK$wHleX}adQ5*w>BCN5!gGSG= zVYxKb0bTBaCbB4w@|7VEAXzH+5xA)02+SHNqt^8{5X5o5Ci4|AeC>unM3f5~pv_?S zy{DbIa3vbvs6zlY(gC|=4uf9{qA0^8IARqogXwlFSgSg-2tRo zpPT2kL~TaEe`0o9F4B%(KyE}h(S<@_p=L|1T20MmRVtP>z`SSyz8zaE_69vz;F|s% zFmMf#7RaP7GhOb1V87uQV5xv*+pNg6aBsnV$29?roo%H8EzT<7G|wr^~k{X{*UcC0t>C|kkhtJe$-=&f6wQH09XKOhesB;5Z1HS_jiH- zl_{Dbf|9AKUJ#kCM3D~xiguVv6B6L7+JFUU@2UkRnJl|Np_*iys?p@0^#D!Xb%}F- zflm7Yi3#DX>e2yk?KK36Q>6ic;!0Nf#kcmBWu#Z|FMN#u0<@(Ab>!3`Knd4V^NU=p3Pupcj9xV+~ot$|j}Q z9g1WNH$90T1of)w&PuhjQ>CJ(3FzA1p>5Me24oP?S5f*Dd|O0k$TA@Hen@BQqN};# zj6OxAo~?kTv(cp#zha=420a;TX)|W1_zHFts9)=51RVlAVF>FkN(2C;L<3reRRAUx zKs<2-5sXDX)Z7sVq{)8?P}*1|iq@SL97^cEK42f3pGVE1`?uo`ph=(=(1cZbQLDV7 zbN@*cIFX;EtL|a(GT-s>dA8+YzJEXEp6g0sEOti2!jVsD8iV( z!fbCBCQos-FycoMruZ=tCi}s{6hDeEWgDX~Q$Ge_Zt&w5RE!ef>ObL8LjV8(07*qo IM6N<$f|f#vC;$Ke delta 360 zcmV-u0hj)t1HJ>0Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;R}TbGBQ z0003YNklb>!3`KPV4xKWV=o}*_D9}o40uaFFbC;bnBcuM`TfiOBLh>i!K4V@(ulC<P8wGWHu@s3ZcFxfh*|2n@EMoooL9LBl~NhK>_q z^i-JLd||>|VX_}ZnBvDkm@pEi_)&x@+vtTE`f(Fxh96f{jNt0`Uwl*m00000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0uxC@K~zY` z?UTQ6(?Ar*FDH43Sa^01Daw+&)KmzT^Mya4jsF1Kkp&fV^B)v5GZfYiAXP?Ug1L>< zq4JQa1N=)F!n?E2P2vj!5?i10!_xPo_v8DX$z%MdfT#NN7d@W(@$qP{-izat7{7ag zgIFFSFdglw)0;>!k$ygZ2{U&cIt5?C(dY3=;I7k?z=0L>kGc`*NWlSveVG4_4`T`Y zfH&{wKT{tcSr>o?_;H?r3!oObFV4FF9Z^vO*h7)xL%0J(ecsLC8DO~rya^B&4uF>rfOFZY0q(E@cLUjJ z1Be`ntXrdx8T{p<_Bsm^(bW;Cj1@{nlE3ci6(3fYMprWkb`GXr8DND#pj7VI$h%Eo z<^a4J&?72|zd=NQx+$;+Xk)8~Cnm)LUTUB8oIKpVs_)l?lnns-c-hX?A<);mDveJ$ z$E&29NPoRDEkIeH4Cbdi5*85#@CsIf=JerdMYfJ>uY*?3oQWoSgAl+K$X?{ zmJje~OKxXGw^ZX59ZTFpUAzSt>WVdH&Vpgp7&Nee_FLL5qsb(QRsh}-V5jh4GkE*Q goNw4;{8JF}2awOK-83^}YybcN07*qoM6N<$f=L?`cmMzZ delta 585 zcmV-P0=E6S1+N8=B#}W-e*gz`Nliru=LQE4D;8Y(LxunV0uo6?K~zY`?Ulbz+dve@ zos&F7UHWXUQj{fk!9^7;=S%+pi2nfFk=3HkASPfB=MzFyYZACmcAdoAK&+)IL>SQpMbaO^%p%Fd(q)wtKNyCf1?QBTY;TO>>@B8 zY^l>32|f~DHVRUE9Wn+_z~0sH$hX(&2w*_->A7k|SW+;+pl8$H(QYJQ8}RAt^e*x6 zky>1+f!os*YydI9bAH+e$bj$)z#j4hAA$`a90nSo`Nd@h-sh8eUFT95AV)oOPu3H- zQUKKe1S#r{8*g-oe^qM$l-`~|yZ}75tw9MUgAH)dn#2I#Y=p}oxp}C756?Ctftzwx z0q=hNBJEYBy%K@GO5z=Sf8WmGYGA$qyb0hJ7JwBmfOXl42A;42vjgdI4e$(!v|Xc% z8NB(d@;dcn-qsN)wG~o^f_-f3CF_^hT9*^>Hx8y-YG8qYe=lWb*~phwU}6E>3Q!|T zfuDZpv{PUY(8O8~Z*+?@ztoGe(ss-O3cQ`7*cq3OWo=N;0LpJ+jwThr8v$5DfSJOD)nLsRjbHzo{$cz9 Xkk72$Hl8kH00000NkvXXu0mjfU||yk diff --git a/graphics/pokemon/totodile/icon.png b/graphics/pokemon/totodile/icon.png index 80d3d1766b9d77a0b1d405b27d3d9241294d62a3..786d20e1fc27b8d9512f8bb10df4ec9246501e3d 100644 GIT binary patch delta 228 zcmVYcW)XyhbNA=(f7kW{`0+9gH%jPyUMnG%Ct~Hm)hrV|Bem0dNHG&j zEnb8`h-keSYUvj6*bEjf_FJ@dHYkrBMx^y1bjV9QR3et=S6wE#?0r!Zi#ZS-=Hdhx z=PatrFo&QY04lHhGzk9nuCD?kGKx*Ih>)I-1WYFRIBQ@a_P|JC3{2uf0|WeYL4Uug e{0Nv2_;>-M$D~F1>M+^>0000|O{4=Wcd{c{ii z006>CL_t(I%k7da62d?Xg>!>F3>GAkD`3z}4~4}ck<6gd7zWg`D{!6ek6>z`gjO}F zM!*bl`{wOSHv0kmc$v&u2~S@pCA9U4SUGStE5wM_hQ>IFdX;~g>l z>nnf}8P%q)I-4wypnan`^<+XEwoF)$q;8W`Z0i~9Rb@cCnWyaA)fq(y-$VJ!dv O002ovPDHLkU;%=X({DKd diff --git a/graphics/pokemon/toucannon/back.png b/graphics/pokemon/toucannon/back.png index a6cad05e49690155f7c3b123f4bd6dda961cc910..109a356dd7d99ce5e32663f16685b884f7017e34 100644 GIT binary patch delta 380 zcmV-?0fYYO1oZ@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80nU+$Re!rA z#($}0WmVd(*;e4PDkHXokcTtjTdTT0%F1gpQ1=hjkQ(&+2m|ojig2LczqrgI7ziy* zz;2&a;35Y6upsUrpf$Mf<4w}6XW+_GRzR%*eVuNRfP*Nv7ZY)i(3hzPpdE(ML<8O* zo(TzD4x;rrxaHt9N#0^ini4eTU^N7N(!EKp;{dr5pn1dyvqNOr+k-d`;2>biCmB)O zAW%nceG$kAlStqmR{~c74F&APC-ByjlL03T-VcqeBIvsHboO(Flg0rde?wCO5C+oU z0V==&1A979G36q_AGWQXQUaU3oU{T^jM%dr^l-r=Tf@X6z$1Dv z@;nIOeHEA(!wRCW4#BhKeW+lC4_6N04@Y{W6p&@WDT1M91e6=02>4%m8SpAL@dwH< az5&NCrV`zYXwCot002ov22Mn-LSTX|wx~q_ delta 295 zcmV+?0oeZa1nC5jB#}W-6#xfxNliru=LQE4D;dm1UKaoW0nCw;RexMAhVfrYSy`2K zYqk}*tjdV(Amrgp_|~efkFxTb4AlKYHKYdpKEeR}wjvzp_b)E92nIq+6R_K76}X52 zKP-ql2xtxN`*@Qy>lwJRloe2GKwqa@B;X**?ZreKB=lwK0ceL|G|_o`EJ1ZW;H!t5oo?Cn7u2k;`3e*qi;)svh7Ck&ns zjjST*y7hGSbA*%60U<5jwG)6akp2!(0S*}0(}9X97XkjTZS9m2*zDt^6@X&Ip5>s2 tv&%txrQ3w-lO6&c0eO==0w5PB>Kn%|rV_Z~)ZYLA002ovPDHLkV1mFjfX)B_ diff --git a/graphics/pokemon/toucannon/front.png b/graphics/pokemon/toucannon/front.png index 4856768d67827d524ad209e365e8bc13333016b4..e9131805ac67ca05827bdc29d73cc7e8b47a47bc 100644 GIT binary patch delta 643 zcmV-}0(|}81?vTnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z^qfK~zY` zz0|*J+dvct@QWaeZ@O-U4nbf7%~XV)zo7qs;gG>;Gl-~Dmw9^IERzrE2BVv_kG{@oW3^A1QuHZdC^|-t6u}%BbI06;QM>$WKQ1NOQ>dS>P~_A5b##8;C#^z z&iLX@3jm)&9u^>f*aFVN(Hc-gMi@?V;0AyOCNRPHqXq*?Oew0V!I%(YIww?19Aive z*9_DMHzT^t_kd$ef*gD>0zhSp>H!Ry#gyzT5zH7fZ!AUTx*Gj?VE zz8WDjB$#jO1DFL_z*+#X4y=RutOazIon;o#Tfml0>q^pIBy9toCD0()B05Pb2~^9b z4PwV}oGc~Lp!q^AY>S@{<3wCg{n8pC))dq3QxOXxQXu~{n}>k%o75JRwk$#Bv~|^# dDY(M|;4eyci5tKCI0gU!002ovPDHLkV1nQmCky}p delta 634 zcmV-=0)_qS1>gmcB#}W-e*gz`Nliru=LQE4D;iZy53K+I0z*keK~zY`z12Ny+dvox zaK(_tH(jj22 znjQUm^^0>}1ZoSTyeu0Ca90JR_28~W0_R_flayfdcq;4sX9aBf0a@mErd0-;r(Fe1 zJSe^_tFWO*vi=$4@-eGGox9Ki#9KgN?fyw9XZ$0e-vrnSe-@lC+Q9{1ylMf)2cP>n z@EX8{KUxE-$?*M225iruo(@bfey_lQ5?zWcDljI5==KTZ5XTr3+tvfw!cK@<`g4FW zCSC^K>2E_SN>nvqP%ozBKnichn0}hc`GM#`XX3x8?*PcT2$->(xarDHM1}zK#ycG( zUgEJ9U~~>UaEJ3*3+OJp%fzEwK*OZfisC441Kp*efY%_pQ7j0M!=^Q2hG7^j1yP{> zLOa+@zds10^opvNRtxD&F|{72VVb6~Aui4OCV==QHB(Akh9Gii`_~st|L)iPH%fMi U8`X=w;{X5v07*qoM6N<$g2kI7MgRZ+ diff --git a/graphics/pokemon/toucannon/icon.png b/graphics/pokemon/toucannon/icon.png index a92f5a20be93aaee1f129bf88589932fc8c49604..349c723761ca372b00fad39121227ac0c616277a 100644 GIT binary patch delta 326 zcmV-M0lEIc1DpepUw;87Nkl*AO%K1QxzE z5W%^Q;QlDyP?mv2u2E72$_j>H*@%K+KFog2iOhR<;~?q-hFv`5C$~|y>`PPp)5Vsv zTDj3A?E%$*uGnAS=FGz8zPCjl&&UM&T1 zzKsU5$w3Y{0zYy;lYzJwi|7XFk8@cOW%e(bYzCOvw*t(2J{ZeV0XxoJ7yXfU?HB&| Y03N%##^G1}0000007*qoM6N<$f=B0=z5oCK delta 363 zcmV-x0hIon1Hl83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;S8yf3Pl z0003bNkl1pw6o!3+cL#?KU23onkW+ZosBH0M-j+l30KHAO(4HU!V&cg> z35UuQV!f)+Mo(S4lnNoCk0+sD`ikODHDJ!yflf}Y-N_%F+ zPVaRB9&y*-B>-l#8!|8$8&sXn2-LcZQb7P$T-2IwcMb6dpTNRb4MZ^25!^P#8Okz{ zmGP!35a)R<8xa_mT9~;|oo0$~ZF+ym6`u4N5kbgRQ!5>TXs{YIG0PgAn(+*%-lknpX;Qk`fi#q@^ zjw^{2I)U$NH+z==CmjHPBwIW4R-FKa#7V#kK(oDm3jk&%QUnC%{irl;ND1(?b`~%c z@u!P&?-U6S7yS=gYrzn4T$LCjAq}9-d0^wmxpwxeAYv;;47 zgq(H?pah>3#W@>_Tbmc#7C9X=&+jPjEoH7(HD$K~uMfAMcN1~^U^EnqNT z4(1y+x@P%HKiWKh#@7vx#2e2UK5V>T8#Y+5$2e@BbGnvHNCPkptQ2o}^q30`*@4|Q z1Q=VfdL)dk1ER{ypkS723{F>EvC=2DtEhm)j41;seJX{wCn0euJ92%SP9R-k@95i+ zZm%u@xQPp8n$p9$>3|TeFbGW^B|)TYiD^XOmVi>eJ+%&IK`G# z*O~%)+s<+J6YBZU9)c4OEeB2qH!5?ZG}I{#I1|pW{tC6kP)I4Hm8}3}OPQl`!n%%- zRS8>H@IV7rnwNh_aRE4*pfv@6)_EA9)D$hiEX$z=tT)*PLhF*&&Ho+Xe_#;u8{D6h Vqw7v7y8r+R002ovPDHLkV1o7&HGu#C delta 680 zcmV;Z0$2T(28{-gB#}W-e*gz`Nliru=LQE4D;`oI%d`Lh0&q!0K~zY`?UTQ9+CUJ- z#T8MJ##lIMQYb*=f}}9;0$@!VS7v6Rq47<$*D}oL?!747Kne<1$cVA29iDiT550^DCDe>!ms;0@zaBE?qV z`^wGUCCFQLHpFCOXa2GkV3;@wTq0_=(`^6H;2bKs-JVZk|3l3Km$v~YaV@Yp&>iKZA}1R3Drmd zR-vahR%m@x&!!lzPndlD0uvLn~G=>*aR^^U$B>E6{PkY3_K znWpq$|o(2L64D2sGT1I~mqtiK{H(HBw*X=O`5*;3}HoUpDVWLd)26+F}c z$I32?eVX5#Ot6XqV&gmvP-uz!vh}$i>p|V5(Yak#XorqUy*~TFNR0=_hZdW=ey=l3F!^yl8+bd;+{1gG& z@%>J#!H(rp5zKdg66XP9bfx5FdMev!8qpFBV)WN#6M-@S?c_Yh0DBQ=y8w{9HZRd1 zNnstHwtt+ z>T>MgI3Zw7U1|h?D2>N}6cxZCNl*kh`1Jnb;`+KP#3TtjbX#X3AV|;mCji6<^VHGC z01)7mPi6pr2?h4h8Js7cf9LtcK>*wi9wm){ODad<+d>pz2Vs?tM;y;9lAm1!_9*2Ckc3WFO#~oEhX6BzOo|v3*6;)MLgY+l z)=X6dL>b|?0w9NKbsL{u#%j!jlY)n3qc{U164^xK~zY`&6PiF(?Ar) zQ!i1}B~2w3mh`HeOp_J`6R}s37}#2!TQOSAr5mVHYFI519a&(`XbBXqLPB9{(pJhE zPZ=p@=vvj?STewS{*%}aq6-6-oaD~G``&w>?_DyP|K}>)HL+Sue~ykZiuUBSoB?0+rF|TILhY4M zqJ{z(WBJSdaiM_%e;|=HBRdrq0m}Gn+(&_vfqdKAotg1K4o+cKH=_Of!Sh~fKVXc$l)OSa(nixrdOtvn;f8D@PyxVR=q!i<_99?A0FYv4QDQie!Z_^M z-%q8T-f~$Jt&lzd-#v=&!F(CpGu&*ckh-t{kUfhvxnaipAVZsMM-@U?0;PkCAPveT8Lk zgZgzS_4>U~!E%Y^x+?k6M_`XqegH`*WKBl^a`RF9qc(T=K4WcrlRindSOSPh+vCVz1HJ>0UkL$8NklIuS(NXASo&j2j-iU*ES6}x@`M5bGT zP7`p~2=6qTteSU9e&ChygMVD$2aP|yAHZz7FxbsL+>Hl^_`8x$Lh@XWFke!>PJ}^} zQ(-i&k%b|;oIuP_voM1nCxuL~4x>IF3Ny{0dh`QX9wtUVxCs+z{b-USrYq|QEKQR% kWc>i@B67#&vvAdqUo9B@V(}o(2V$2Oa^(PA)P(7TBpNe$j~odN>!@;&uvc1zm_FtxV`I{M*03OR9LE>AWVs5$V7AoAku5T zaENMi=nEh+U4I2SiNUQAUTHC@nmeU=FdO6jpMiN$n_mK0Obdg<;>~T`tHRGhItj`1 zIKq5L`8*K@QBH-?xJ4F*Xb=Wd)GW;4$4Ma*ti$Ms!c_C49Q{C+hl$Y-Ucv-gKkB%_ tWNrO`$kcI7)(@aABKNxdEnM{D8!Z_9VpO0#%>V!Z00>D%PDHLkV1fkEu6Y0e diff --git a/graphics/pokemon/toxel/back.png b/graphics/pokemon/toxel/back.png index adee6bdc7dab22d3aa81ef6a6720cae774bb4557..d426e0ecbc64b90e03f1c251bfb1d3b9fd510fcc 100644 GIT binary patch delta 471 zcmV;|0Vw{s1i%E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hvieK~zY` z<WB__TBh$ADD8%+SKSg@&M^YvPxR#QV5YY{2+fNOS z`@yY`ENcCfz^XH|?ZI*$<60Apc30S7iM?)H3X5<0*Yyd~H) zCwE3c1lWk(sRK&wnvhYT=>hJVzh4Rjw&`}zDnFm85wF97I%e-@B7$EIsO5%J0It7E z#w;hU0hG9aWJ8@Y0iWCckAjvIfRFF?s{^^VGYFvC_NTvPB*8rwWB=N^x=m*NX{rDK N002ovPDHLkV1kYf&V&E} delta 465 zcmV;?0WSW)1h@o{B#}W-e*gz`Nliru=LQE4DugK~zY`<&;5ggD?<9 zN$CMXaFtCL!2)#~ilwe9#b(%aSH#>T5_hV4iSF5TowKyIA;G|y3uGje#XSE1Gj<4q zdo6Za?}t^h4n$SGE+Hyh1vacgj|bQnL+}9)S#uZw+9O0vO-4|Df50>Z03!DR%>a-g zA~X^qcma_i)=+97!}>rkNY|$ZJYxujS_4-AXs`zq9YVm<0C+YbBwhhc5E6o!er*9g z$WlUBhXw{BT>!ZqGaUf6^vKod08z9%EvLwCea3l80JoBy69gLprTZDe>@JRdFakVl zCK8X)9N>IAF-RtWe>FNfeOV`N#{Sm_M7G z%m8ozQ@Lvq6fmnepJdQS35zPHi!K<5H6RG$Vg?+Se@>J0rA=u8dn4XbXxp=yF(L%C z#QtmnDfewmegN7YfPMS-OMbs}(_~PxxLhcU*CC)vg7*s{M-h%!avM^BxE&Qwf`V9s zkkJ)Lx6};q-1R3a6sG|3@!fq{pitU_`aX2sPrqd#f%~q1+Pb<;D&kyY00000NkvXX Hu0mjfA$YwV diff --git a/graphics/pokemon/toxel/front.png b/graphics/pokemon/toxel/front.png index 542da1bc35a692cd233140f9364cc7bb3c1a9fd4..01bd662407266d5677ef8407094bc3f6430af0c1 100644 GIT binary patch delta 487 zcmViz7TPR z&iG0Mxs9(50@Kx54;abD2rjnuRi}Xvj!>VR>qO?$k|P2&djfF5%Ft@%T$SU=iopdo zC!l{5+36TGEVOz248-YB<3eHOuF++|`9(;D?2~}y{B5O`Rn(~*ykAIarIhl$#kqH9x ztNx>HvGV{T{rEerwJw^S82#jcpjg(Qt+s!s&F=moVS%b%+suA%$OZr{zmA++BRk*A zrWr&Cbk^>cQ;2@-@qT#0;%Fn$15$0}uujXfO$Ho&A;7ANX;^420SkH~n)_oWhvkMw z;dD;`W)-*K%bI4Y1F~bsElwz*O{$@zbXKudf+?e*G^B6N{z5{eNP_kdAwP5}J^dT; dYA<0z`~|H{ZP5-EFRuUq002ovPDHLkV1g5{>-7Kt delta 476 zcmV<20VDqR1nLBkB#}W-HUI~7Nliru=LQE4D<$J9B9H(80nJH7K~zY`?UcW6+b|Hu zC1~?x(rnYA3qQ&6s#pfxAss}Kv@3rCg!_T_-9HAwtNkYn$NzB2*bB&_rHu9iHYET^ zeG!n*5wbi4h%|UpV(bO3He(Aeba zATV8>^?(*^jPPPxUv(M?;RyN3xlW{+mK+hv*%N>ZR)&%*=PH9ID+UKxLqLBgvePkW zSY%D|3?$i5<3eKPuF++|`GbfG*(U*;c`7Zfq)r*|{y&}H=WpH~=r8T$*ZOl{GL SfviLT0000z`iqGCJIhh)s@GTeAp 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 Ar~m)} diff --git a/graphics/pokemon/toxicroak/back.png b/graphics/pokemon/toxicroak/back.png index 779e8730a069198baa64e60287ce1012979b25f8..d5dc5644e1bc7f421906a72234a265cb603cdbce 100644 GIT binary patch delta 515 zcmV+e0{s1#1*8R#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tX0sTotK~zY` z<`e&{$vli>%#Ij`oy>5;273mE4HY@_*jHFJ{=0T_Q*cPc=z2+FqD zJ&QkVT!1O?r{`Pz>4MMrI0iniwigr6aL?-ZBk)!>$O4M{cj*ZDg&fe<#_`iWZJkc| ztf(xYSkn(*5G`1pbd$E``L;x?(N5!1I)F9|<#!FDF$o|511K^`Tk#cyIG6;`Xpraw zHo$j?LI^zA9$P>$k#~P0g^vRB$W+K0Q$Z!*JeR|;^FBe@sE2c1AyHrl?uEJBfclgY zsEe6o{b2;;)9iXieJ^?ZTKsZB4UEBU3!rMOyYGJ@J80UPG3)K}D*q;a8?YfXF=M_S z81hbtqnQ*T!-Xb@S1U8vM*61#WEOOt1zt?zP(M!yz11lDzO#2=^M;Tx49OVuM|)iY zLb5DVV5spD3=6L*atWN5^K1dVrU)d6=78)e3D*750kKu+F!6fizKqTKXU1R!>_@7*!_ZRy%+aD%qx`hA$002ovPDHLk FV1n_B>HPoz delta 524 zcmV+n0`vW(1(yYoB#}W-E&vB~Nliru=LQE4D=Kr9KLG#$0s2WqK~zY`<<&8-n=lXn zV9Fk;hUcYHB`^<>tSEo%t))bY?(?0wGm7W^?`!pRCw|HA#9Hjbb6Y3p>tXGLWJ#hQNjf@s0&q?@!g``Z$+Mmvp5=>Xa=l;1Uo#w36M44}v$ zZN*m*;$RX$qd}q{umQe96hh#^_Sgc7iM$gjd=!{Rrb5=33Mv8Txg3U__X)~IZO(Ot zM1kGt!dz}ZeM)}`)WuA){xAY^H@iNgzLz|HBYwG{2FBoa1W+~B-S7&7>ivY!TaB{sI}0{% z2?@iHj6r|2*Cik%%Q6Lq8ZW`H@R}l*zfE~SQAQSYeM&Ks!-3q=GOagBPMDi`uHKKp%-}5i~HrpS08@9dx O0000_3c@fDMRS8e+_>^oo}mi~J%@{8ZsDQ_DM5zL zB@|pp8W2k;p)rA)Hd(q7@k2I`nNJuVW8WOmIiMV%%YjVEh?vZP#6a|7BgA$QSUk2j zB(bQtKGm{iP?w#$Z#S_7>QZrK&D{D}7buWot0RZf12v5Rr(RmA!#K7R78jr~CW!USPtCQS4r2m`Lk f`~WY^r+&Nuu;bYMtH@^600000NkvXXu0mjfP(Nm9 delta 269 zcmV+o0rLL60^|aaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=XI1_L?*R z0075HL_t(I%k7du3c@fDMSFum+_>tgJVO@}dJY%G+`>f`BqC7g#&UP0YLmmf{y2RLCq_2UV!w#0K~zY` zeU!m!+dvS8rD7=Lq+Nv?;!7k!1I@|1#fP3+x2@%@5UC$=b-;bq2Cv{x3WK%+AQ!4cAkr=j;tPP$zi>2q~U)Kj6?1@29Wipgiy# z-`nE@ExHj4j(v1;yvL${8*v^W(7Lr*q?|LKSpZkn=7$~vJYpU-fshbokzfwaJ>N`0 z86uno4G=_u(Jr(XqRM;)OnG3qc%%Lm|C9;Ncwo9{6s2K&{2D|?tK5j|c*q$udr7ta zsaW#qP$s0UkiARO3YOfo5Qd>DFinzgfPiVCxm@X&IRe)P(3Hu4P?rEPEa#5Z<9pb~ z*`=Yo=#j||faJ%p2#OYGT8E#zz+0hook7GdyQ72AQQ3s5WO}4WH=n;cJLC2>;O-Lw{Y%Aq@QX*CiPHvD#|rL z$Ztb;?jj8o5Hd&wv zzXh(Xz^}aVkc)l5D#;ho7|ONS1B}-52|iZ2NyPQ34LDeTKU01JaIyX_;wu}ldH%<6 zqE_qqxR_gr(JBiA1P(XP<07#T@#^OEaR$ZFCX;EJER771PaglyaFk+F;NHm313*Ak zkZ7uAO#)t#4uJ|PxZ$jQi)J+~Kt{s0*HZR(ssnIaGCj2>aG(~FzRbM^C;@!`qyq{$ z03M)>fza7t%W@A|^&rtDWbO9eD_~IPSqgU&vY?siQs6fRcJxu2LWwQHnJNe=)kkPK z03?((0V?6J{vz=sn93^y*qo0unO$texKf>HOgPSeZCzCD3!4p&00000NkvXXu0mjf DU(s?} delta 762 zcmVVi|K~zY`eU#5@+b|Tz zolzL{WXWZL=2F|R!g`7{a@c8OqK49|8yGt*5Tt8eJU?*%nHIVlyd2i;)>{v`<&WBv z?KrU|_dx{VeXRF=zvMU_8@c*)ok1J<`XsLa0mYLJ0}c)Fe)>ubf69H=@!SC&C~*`r z|HMNjCj$~kA?H2oW5D=mz5{$vQ>zN@aLxeNG0{qZ7 z%7yX*^fFHaQ|=oo-sn&9r$unaeN#o{(LS_~U;WT1)hOhxJ*JGg&cGFDpRy&N_T7Zk z8M1d$7O>=|gdhlXe}XcOzX1ZKgz9qbze*9fF@P#fhJFPQ!E)|cHNJ<&&acc?qDH2+ z0K`A~Nl=tHYyI%E3%nKD-$oD-WLF(`CKp=cxb~+~2~e&30NrR>VWEwR<(FCS^x{Xkq5}zyJuq+=UEDi~qBvO4;$gvq=8f+yX^-HE?4Eex;R$ zR15*DI9-Hef5_Kj0619BC)lif6N{TO8*sROq5Kr!a{XOI*EV4D@{i#}t=98#Hn$K5 zt0eFdINH37v)DpJtJ|}u8Dz(sL`fMhjR=rVp8n2olp>Ph-l)(0Izf?bPHsv2RuR^0imvU(Iwb@Qs0PC!~ZNON29(5t8diXxRf4Bmy^p_o()(fZ|3;q!So;}@wcDh{{{?VPSkP))+^seX zg4SNZtN>?0$YK^+fsloNVfQ!+2(=(DA&TCl5vO1QSQx#=G@=lg{gg)GaGnnK0-Hb( z1&AvNTabIvz6S6xv=J=CkDoqZ8pp92IN7WK=zQSIL2uM&`+U(xmND zfnzq)ix&lYUR^eTgeSlgz6MUNr?e^>00Rp89-Y-0vr*M)00IHd^;@5RTLB{JDEIFp zMAG%g0RBW;oNfWE=l#s{{6_^{f!J><=nxhYrGZ_^ zKw!32cOvOIQ@pym@uZ}4+)9aqvyv>5n;YfDQd_wV;HVVdviIwIsfKdY^phdt^cdrz zKfW)CYiJA&pu~gJU*4PB!mZamH|t&JOJXLJ7Rg3@lK-}UbQW2NY*cV&Qy}C@&9egb z^P+D7)LAVrVJBbOfc$K!5xQ^ zbRwj=yBxrEtJJ1kuB?8TZmty&n_hFN8F1yW*z8v`3qT*X>zOgg`ss4@+<48wW1YHs z8XJbSuF3R9Q3_3jNOiAlV(g$^Y)uywdV6z3wUgpO^Byj(yvK>+RULL| d{|9CxU;+RD delta 732 zcmV<20wev>2Ehi9B#}W-e*gz`Nliru=LQE4D=!28%Z>m50;EYqK~zY`m6T0u+b|f% z9WV@hinP&ydy*Pz$j$aXK$?0AVcz^U^U}YPaWR>F2+mcgy-`L(c)Y{S1ZMZL39|0tm6N-)bAKe_L(r`>j168v%m- z07p150s#(!?s4c_$bh`0VfZEq38Dr72jOc-LPUK-not-F=gDBtHwpNm4^T;%oZJid z6#$2UiNFDT{PY2mD2nvJ0fBcnyb^(2cW=Ml0f+!N7g8%=D{%%%%4M#9AxbbMY|t5n z`hrF%q!x#?Q>Uv{zZpJ+LT5EW(t z`;ZY#g;~H(m~tZd6Ij0vL~KH7x~WtY!L*qQ1aP=D-sG O0000N`GCl+@&{1QM4)DSm8q{ha?4YpPX z76aBQwA^!54=2ThbXDyZNA|{EX`|oQPoUl$o5#d6HtM295r2)H5$)5{i;@3F&!f1* z;DX3l2Jencn6cXhWIfRDU-5$pW4MG9^FW-??Tld|OFwBbA&k(9VyObppZ(EN_5TM- zfl5Fq%I08`7&;|O4X;kh3LG*I3TwW7vJ!{9eTf6q1rB-p1rG2B9H77O{4=XYG@b>Kh00ACJL_t(I%e|7ZYQr!TMg0fw zW0b{9y=ZfZf2*bt4_ca~`H2n&f&Bq3$#(>mXF)Pp7_6#O?o+lBs?8U@>#KK9Q9SPW z?3)gE0!blM0f)$k%J_%_rc?*8A!8I9oVlo{qXHpbRK4X1{(rGoy3wDvD^zaA>N%pv zMxC_?qPcBE`uOtJ$oGZUNj|Q(PI#>SU`G%ZZg-9$2M_yq{sLigXLp1d@-y3A(}2m^ z&01`TJ=G#uENB?B#m89u|Djw6{!Wm|$waaA5KX8sdQe8-ka$pBV*9~J98&ud2P!ih zQu`SW^amU$!$~2vZylO0LqB|2Z2uRB?F8*79NhN_+Fx783(OP=htu_nCY|kwZo-SE3|J^Dc1b}0000K~zY` zt(38D+b|G@B{);32tgnq$Rwc1(!l{43y7BjqBS&26NBIbNabvmVF~DI(guM6H$%4q z8J*P+)jLvlMNw^+au6upr~m%{OgZ{*Ycl;8P~epuZbN`kxKg}C@hYN$;G|^mj9M%f zBS2Kj;(bIVn-T(X(aU`W=q?D4@>}ojz zfI8|+SwXJ=Ah1g5Rt0U~rsz!t<1w}eLRPP~IBMjnQuhqXd&zrXwnBm3{O*!gFgu!ITMZK6}6sJ%ps#AxWW!H-){h zQ4BZwHZh{_0IgMS2zJA{Nc3uu;!{`03>=8lRpe_dtN~^LSZC(gOF`{(I5(Y_HZ{#4 zX5NLcK)W_RK=)&RC@s)D{!G$lY);f!I3bs0p7cFJ4B-SUpzstwM1Bn61P;K9SBC>5 zYzmiVN#+~B4leg5UEJ@3I=B?SQ)+S@1p*G3SztMT7y{5-9LAu72DXPyQ4;``FJZki zNpcFne54LNx&u`h{b3Ac?0;=>S!k`%&Oqv&4FTlaPEIc+MJ>Xt&KDfOva> zGj4ZTbAK}iyxG3mBXz!gm!zvPVE2ljo_Pi(eKA7B&&qyrm%G`_XI*6`UJ4}iq1wF6+}Ai;;g+N{lfp#pFI0vG`jw*iov-Upaz>ZDDK=EkeXoSW92N=*pZ(F2z;7pC2~Uu$zB t;7^c?RRHYH;6$kNU6QYH64pc%{Q^V@iU9}yOC$gQ002ovPDHLkV1m&=P=Ejc delta 752 zcmVE1Vm%#u40=P*;K~zY`t&}lq+%Oc! zeO#taF(DX2CPT^6;lfkSkXs5?JhV%bL+At8)qJj_3jAr(hH#K(=vK&hS?@#jJ;@i& zlG-lSU}WpZ|NZ|@l9S|rjp^)PKuJ${eGLK5@X6?rOjZdC1g90pe{alU6Bz-LN|o;u zruYm9n3n-CS528rl`0vVh^`6&rc?vdN;QnbaaT1#jRU0=he|2d@QY;xKy}hrs>WIY z05~e;MvZ0grQGWZ#p8Sjs5vST0OfuchQ;PW2(pU+@Yy(n^&oEYoaU9Pc|A*fiBjUa z?CiWzrQZhCNJFEWe>=HZkn+l{Gw$rnMlo462+&N`0AK6TUfTvB&;d>B!rYvVEC6-k zisY@q!WjM5YbBbzFauFjsr-|7UX-#HI_xsgxT@&m?2$|}Ym*VrVP8kFe$E#$lab*o~3*b00hocnCe}2bvGkEDU(|R$BA%q3` zwHX6!*M`ah?ftJbYh!(4&cYF#!y+B+CaRMoKf#u@P2e7z&ZG#R9*cvuP0|+diBR?@`5(0)5ba+8BT?cy05Y>TWnh_BK{Rq&~10Lu)55sB+ zuT>9n&*e7)yqw3v+{-~7`qXG)#ycT|>D{T+0BA>hE+;~o{?YB$e3TKzYhxf2OAhL8g0KEC6J<8#R4?PYZfJZpEzEIK!(56OMd{#r<-ul-luQ7K7!LGgPsyI70igngb+kxeKE|USt1eZ>?UyFDqA4X1 zS&YaaB2XNoEZ?5wx$Rb%UkKo> zu=A4>)$%WS;Zfm#yyw;BNIplPz{0^>m2;)K2slLm?&>d$P;C<%r>I{DeD+`tCYqxB-}@5(H*Zb2FUwHW&ap|;s@U0I{g P00000NkvXXu0mjf_fky< delta 724 zcmV;_0xSK*2Dt{1B#}W-e*gz`Nliru=LQE4D>R9k0%8CF0-Q-iK~zY`t(4De8bK7t zXYo*2FB+XJNG}nB5OPS_F+y^Z8MBb~GML8{dkP7Aj;q^&{Rc|_i&c|Kr+ZT<^eBZw z=^xdnHKoQKOQCbv!+t;We$ON1pHJy8x^u8wKUo2V6PsS(dlFT)e-mIQ1z`jH!u25n z?8at*v1=Gy_!ry;oSyC>z(U`*_$Y)_wcdue%oaqU4GQFb7+QlUL#$&N-rBNo4k^5U z2m7HVN{0f#>yN5zv+zLsWeR10vc-byF~L0mrK=VbpM(%?sdSB7fZ`IUCWc#^HAjN$ z4_2Mb5D1c6YcG~Qe^`***ey6Se;(ZP9TPb_XTikZ0dOXQ`|=Ke3DF!$yG{{+QQ5Am zDY?b^(wKd2U@ID&gC)xOmqri- zjZW196xn@Kt40hz65J3pfCs)}k0=i0Ya+vD8mC2UQ8FEn@6-blkv{WaG(Zfhcvd=%~wk^&j=S zDb;ryDauMKe@Q))9bqcRiAl#a+5}?hr^M6AGzMj`2rekOxjAGdby|9LuwbPTe$qdI zKJ5_)#hNiw)Y=bE0Ak`Ede9nwx&T-0hYG|S05QuDbh27yxTFxMZPj|J2WKmP0AA9} z1NwtsR*m)&qtopr*nj*vX(hzuY{}*$;I?w^FDFhVN^2m#D&_8JwZ51?FA}Ko)Aj7g z?U9=x;hVJq3UteaJ9)9ziR&AGa<-j>`JI^|#!bopIzIuSw%Ksj1e6E>0000b>!3`KPV9wy1!47H~M(qMQBkX+K42-p`W znnS3WRL~ma$%Pd;i$AvxMNw^fASsG`#{A)l#$>$HKy=YynhrSvVBa2E1f7>1=8&zN zU_^4qW91NFeb@!2QK=KmcskyPh%zDx=g&=dq< zC_1R^bJ0QhvFgy^_E#P5=*Ox9&f}?rD!S^RI{SeRjn<)Tp98)!_g&vHZhzImZb>v2 z9m3ab197Q?%q@()3*S=0B90xw$QFsk5A37pp#3nv>c;~TKc;QNm!SUu0000O{4=Xljlw(c+009w6L_t(I%gvH8Zo@DPMRfxn zCdt|iwWk8sV0a1;U(%Tb*cT|8L#UZl&>ZB+g%qVrKfM(wifZ!%MSYXcm_IyXOvZ1T zho%t2O9B$za?vO-wjm3wPjg`ODjAUL9sR{V>1k#~l(s Vrfn~uT_FGf002ovPDHLkV1hbwklz3R diff --git a/graphics/pokemon/tranquill/anim_front.png b/graphics/pokemon/tranquill/anim_front.png index ab62cd2b15988b9651103c4318a3fad220b85abc..a3063146b2ca66d15e040bfce4c6f10b85f68b92 100644 GIT binary patch delta 856 zcmV-e1E>7P2dW2BjE6vt1N!Apjm9MD>y(v)tJuC<4hG>~{J z83OiR8_w99?PAq|et?XL!RCf6Ewp4dlz_4o(!tsL0Wuc6y%f%Pxrjf%6|h zKq0}>b!1io8I;nL3uaP9bki>&1*GoD4P^KegREwG15fJ>K;_~>8Bd@$50F6X4U~J(0X}(J z%K&QZi-s_jdjRdn%iCoV=^lJiB+I>)xi8&=(EgOOzO2^6Lw1zjjQs4pGiJwD>RDI9 z5G3~)GWg4ZSx7G=K$-Ffi3D{1l`*gv4#?u2Tz`Q0M5map{QOpCm`H#%6=8a}dp4)& z(knJ$3uUF<@?~XVJ}$U}BJ+t5|JLW0cyIc=w|Hm)G^rGS*$w#r^NF)~Xj*1cx?4h7 zH(VdQL`>WU!XAhO0%%g|m10dB2z#I^5XjU>bbZ(Xz_VEwPCsTW;V_hckjf0&4JIPq z(NP?SE$|a6wHu5?qT@>aPe7S5hD^zcC}5(*d#QR$d!Q5V$R0qX=*4e)kP7@6dtg7< i9z6O75s&`i@5V2_!!{xzGrUFs0000ziZn-6vxkz!Al086wq3q(v)tJu62f%G>~{J83OiR8_w99?P67d z{s9>iL(C0XT4>2^C;??Fq=U2f56D>Xl0P7QcTyWi(wzqv+J8bGUhMn$y}NfmzF&m? zw%kUE4*;8E(Jgc6<sW}=5 zc|-QbBo2vzab{Z#JY+Bfhml8Ug$Dza2OOEC3WeO2o;^slS{w-0?{Tj+GLaVvp~pr415q%&7O@C?|&pfn~;rMK*U&95J0BFiUdZo z0vVo-P(Hw`tPcR^t_tuO#@ObgoOAmmt^wmX9OYdQ|2^m5gMdPU+;L=V1~Mq6iVJ4Y znCPi5AO&RL1)3XLfb{l2_l5*Pxu64({T87$?K1?UyE>pa+eSOur*3b%c&!Dtwu?8K z0=qjiSAPdkx;4ArQv-%Iqx9MBt+JDbNAViId1a|fAkXNz`c@j2_~^owpNIITqp%1t z-KBx@B5zP$>fb-aajRK_uvzY zHFtp0?tjKhfigH&eFZZHuvBknK-eoCcwgOQ;5>VFE#j4@=Q z3VSe)#XDEMr9IGzcVZ796ngQ?9w>o7V-M`5?ZJb8c<>K@KYjwf!!{yOcdN<(0000< KMNUMnLSTZGwT;>U diff --git a/graphics/pokemon/tranquill/back.png b/graphics/pokemon/tranquill/back.png index a2912b2a1e423e90303770205a4c91fb9bdcce36..b62587c38d79faf8705ff0533b3bd22e450eacc8 100644 GIT binary patch delta 405 zcmV;G0c!sB1OEe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a!^yK~zY` z?bJO^!!Q&8U`xILrbE@Oc|l?geiBj-zzqlo0Lh4rsZ~zEPzIC^)#Ct=fg7YlrLH*? zc1%i5Y)1&O^{wyo`>EryWAuWb41r`oa2OI2k|6+Mpa(#-2|tB_CKp;DVgv{+wDD*4 zNiKu|XBaq+C|Z$UXWkKiMHhMg5GY||e0AdoU5R2nS1+*=RK2Td96ZgZu^v=CqaS>g zplXTDHUf&*CDt1+u{|dA(bRRl34$?^0rfUK1d+beCJLGzLly%&?{#%U6hwjievLKz zD|q}rVAq_4MnH@Lj$$Mtfa}xx^+FN?66~|mFFXKJ=t4|^ zNN3Vpf?uk;7R+d6MApyW0-C=D{jnI4_407ueu!jZh4^Dp{TmeIgbO&Nhk4zJ-20Sz zw0)GIlv+5zEnxCW6{QQl^YX0)_a!^VFM_d8UA~i5SsY%I00000NkvXXu0mjfyB(`> delta 398 zcmV;90dfBS1N8%tB#}W-e*gz`Nliru=LQE4D>`l>FJ%A#0a!^yK~zY`?bSU_!!Q&8 zU`xILrbCr2c|~FkeiBj-zzrw|0Lh4rsVFC4C<97|=y3q(zzx!&Qr8>`J5ix&>}Mgw z*0;XT@A)?o;uwb^Phud82njKvA&UV}ksbhS6L|`eCKpy9A_J5af7bZ3cBE9wfinyY zM^vqtUFY5@s$I-x4}lV0jIVC|U{|83=H`_vL8}jw^5A)%ay@AEf~jCi&}xCrh5^Of z0_(MxbUhOKZ0fpR2f>)gfqE031d%<{h6T-5py0qZ7tBr+M7iKVLY4R{c>F)mEi(yC z0g(j~)krZw+R^s)e?k@l8oFm?Uw8maU>7R!twQTA>s;nL3b_YhZ3hG65@O7K)=WQqIpQpA{`;HQfF;6|v sFW~aV6lEX$fK3`6- zAfm+Qbq2%GQDXUaO+TdXZE66hKhoEL37UY32zmp<3t(nr1||?R0plyy0j9enCBTTR a%Et>rm6HGSbPrbm0000O{4=e!ZZ(tAr z006>CL_t(I%jJ^24Z=VSg|mU>1&Fu-l7fPgDVP9>l7;~oiJompL1`Z+B}F3H1PJ$& zw4p$}?w+21&ibJ#A0n%n+qh<`6@_NxP1AaB&W^@jAm z`1FD8u`c^Ix$k+ZjF5^S1lAd0!x|j3%$=bkHqaGRhRqyePF1ulAfm?KYZ=4P*Lkd5 z&gntA&W6!f}8A diff --git a/graphics/pokemon/trapinch/anim_front.png b/graphics/pokemon/trapinch/anim_front.png index f12a25f55110cc79951b6314179ceb252cdb06a2..e8ee63af683589a9119b9437c3b0b8911b686c1a 100644 GIT binary patch delta 488 zcmVyLDb;{*|B?q9f>klY{UhS z_5}1uS!uVV*n%6NJtcO277CAppa4Op{hq#w6H9qXGS7dV6M(a5ex4)0rt`&3o<|Ak z^85-pm8Z?hHy~0KTHwm(WQ7zsOt@l!Tyhl!uo+6iI~-sz27gE&d4L;10~{4r4>I@= zP1j%q-aR%o3HT+hAr5eZK|qfHVi5#V_Bp^UKnMdcehSD!xqApUMkGVAfr{xyFP4B~2!g0Ug|;axBYe;5TL;t#!Gkp3_TM${iV e!I=Hwug)8CA*3?f-)JEK0000yH3L}6o!M;EKD5SAm;D{>9O|)I}&4}*oYTE>JzXdrBXXGbl?q8 zpAzR%SbUDTY>>15pMJ-&6MacC&wrgWfD1Oi%u%lCd~uuSEPtVWp5LIP^0Zy`4Tw}l zqj1&dWQA5ZO}Ju#QcJ@E*iI#q0xWWX?xP-%R?&b&gVm!BK14e-ScUgbZA}9GBEEqK zq{Sf6oB+fk2&Cd`fL{P148Z9qAR|swOgUt00uZ8)0ow4bN}(wF7&1YehOZa^3j&FX zv0w=hepQJZ@_(iT5X45DpT-x!)t0*129_o4V6(4@cLAn^YxA-xi8buAUtkY+9fUWU z3gdxJWCs!6#{wS=m`K1h8k|>GT@{>V)Td}Z?#OgMdWC}7yaW4 z1HuLp@O?N=Xon@j;aFWdl)XgQ9zKyv-s{gr$PfC1R~P7fYT^I@002ovPDHLkV1h#V By0-uT delta 402 zcmV;D0d4+)1o;DyB#}W-e*gz`Nliru=LQE4ECYUKF{%In0bEH$K~zY`?UX@o!yphv z9mzhx2-svvPC)4af{djug9K_%;6?UTF3|QKU9{&cU|bm(l1;nIEVB78fBwwa?z(&Z zPxV^s;}u;KDW%X&ogQQ?+R%aX1(0}`p8o=mC@=;9d^Ie3$@w7ye?U-+Q9f`fB0%+c zL=3`+Q3possWuS4w@84Jwl;uG8B&GVi7lX^nq$lW2BZYYRtIWIAddiGp$O579AG7| zy9JE7>>Ly)SD9?XFAC5X7wn-4OwZ2T04{HS2?$^o;OX+}`(FW=3xJJgC;;wVrIaTe zNL#7_o9!VCTmZx7f07!>xCPR{C7=qRdT32?%?hx-w^q##zDLMLRnwpwV)m7okT=hT zQnY2z4TkxDJF6N7gH1OKE1eJnmmU*f2G#wZ)DulK=n! diff --git a/graphics/pokemon/trapinch/icon.png b/graphics/pokemon/trapinch/icon.png index eb5c2d658f2220abed9b341d6f1f89a1048125e6..df67b41f8024dc5012388f5f271d53a328738f19 100644 GIT binary patch delta 220 zcmV<203-j{0<;2R23l}Z-I_#w<+_2Ukh W>$KsC%o9xj0000O{4=e?j1(crv z006s5L_t(I%jJ?i4#F@DMtg(Yfh(}Fa3@vZ=wBT@Gp;7a^9CV)+pCn5Va`mtITo^2c znGCYRs1}2qFsfQRVUntNVOoAq81=$**kmV+^Fx`x>c$KtI_y*Ge0000ljA6vurxFn}uMEE@(SWFL+wDanHR0dl;s zJN4@)C{n)xGXsc~39&LdER`}P{RA`v>YfyJ&-oJ&^Uf(%OJK6)76uLth<=;MQ3 zRS$f?LHzp3+uBJGfGHW^J0U9Come zcz9F*p0!@>VT;i!At>{hOk%iM=K=zTF}gA`fRD1h*@B}N(AUFGIyQv}!$BEXqAg5A-L%X zs(yXlWilJN<=JiIboO-|Gyz{`vqpf=2&jLfeh)Zn1f1z~GIrM=cji?(bIXpn(yR!Pyq-x^mCaKZvu=q$^$*5yeu6aWE_KP>f3DdC)wKnFWcW%v$JV`Tg_s_ z{PD(pXkfZPr8(PeMr zET$88y6V>KIKf`BQ=MYXf&eSnA4>Bxm%0hAihb&&z6G(8b(pxnTZTMVSw zn+mT0%F-hz#&o5WLb#EUq9r|lNZYB*egq*(X=}+(0M-{go}gdx@1qMR#q{MU22}v{ zT`vQUfWB)3Mut}-^DD4E(XBw^Rm&+1zRmxdpC9sH44T_xzW@LL07*qoM6N<$g3nii A9{>OV delta 828 zcmV-C1H=5C2crj&bbkN`bV*G`2j>O{4=e|H3-z-A00Ra|L_t(o!|j$aZ__{&fPFVG zfGXuI8wMnFJ{$ol^-}c*miN^#^4l#($`@4nRZ$NBvBfZx}0~*4{w@h=#|8G=QKz0juB~5K|Gf25nKks%lt; zP%6Zp?w>;kyDD2ekT0M)co|k>*9w4@JHt&F-5VM>=lJ;Ie)^Bf+Q~}RKA!wfWW_kB~T=0 z6QF5|JTGQ0fP*}UwaFJ0#s-8JRlwBbd2Wo6R(}xylE|&d#%=m0VmMe5)(ouK z3)+$ga4=B`tZ>u>9=z4H#e`c$>nU=tf{aHwArcSro0(GOZ ze+H7=4eH4(S?R^pf!l(q{qazX4*JoanXmQQxPvG}YxEVcM{Yitt^-^}gy{YNG|fFR zb28V=@;`O@Ow-JY^2INQQMejj(ki)`Uz3!KYk$`+O1USd%r9KPgYh_%G(eSiN$ozl zS#vWrq%|k-vIG)Zp;_qfw(pkV&CL7;+#K;%KyPW4T<&!7-^Onr@?Q)iMq2;?0000p1nvZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mn&1K~zY` z?US)i!!Qtr6RRsynl=klVp=f)LQx;Unq}HJz>q{4{g;4IH%6G`0g02fJw+xB!7^&)&mF zY$M{p1w;g(HALelfLw`xswo|SLR9D6dJH-xMLb^(>=6ubdUR|DlmRYAu@x{nIUe<$ z!1j^MoWS0hv`oT(2h^x$R1NTh1wbcJ21xwM-D&k&o8=@)mk|g87<4O(U+G2J0=T*k zg=q*;1@I%xK0+Ma-Hwgn3(Tr5%q?Jm2s@L>)VyL6!wT>otPKEvmy@X}5K=$!d6=%C z$G~G9faPgIFSw*`mFvrRq@W*rEP;@GpPPAvTh(!d34q`fqaQHdB_DXqzYdF20>VUT zE1rBGHPt7X=AzCni*!mql$iy zv9wVX&%_XM--enwkgs0~lGbqtzVBj*zAgP?{#XnAd3oL&^;fV!cFaAc00000NkvXX Hu0mjfmZ#)Z delta 507 zcmVp7$Sr6-}oq0zb_h`U(zOX&T!BiG%$#4P1c0f3#<>;Ul&Yao_?X z0x-6F`~@IYqH0P9pb*uF2aa2k#nF0Tw_t#a(=$7u3~)7!t$>O1vti!}?4HWZ2^?HX zODFsfKn-hJwE}+d1<*~D0TREmJFQ-8yX+*zECN9QgKlN;YrQD@0?0<&rff3pP)5MggJnVKUeF{}U|#@YZdn@mlDkm`x=%X9^O1|I7GtWFa; z;F79U)|c@}K|l6b0wL)>H~k2As_h690Kv&dKVZB|I`EkPY!)X6go#pCJXvlv<)<*k zMV(wG>6CiNt&7hR%HB*|Z<`W~9dEDfwi7T*bL4p5Jae({1VzMveN8fs?I*eZ$_Vu*NX xLrot@*RKVI)^P`xXVIX4OTAb;)dK(Fy#w`Eut414c0vFE002ovPDHLkV1hLV*&qM_ diff --git a/graphics/pokemon/treecko/icon.png b/graphics/pokemon/treecko/icon.png index d20191b302909d3b20f6e562a0d0d92e74aea64d..fde46437205aaa23f8b5d768fe8b4008395a3f3d 100644 GIT binary patch delta 273 zcmV+s0q*{c1Ly*fV1M&TL_t(Ijop$lYQsPfMfV1CsEidz;km>zrCg@VX>ugjN+V)O zu~M`NGs?PY0Y7+?O7|&Ak60*Mh z7=xkuW)r<=qn~3~HX|SP^(#=j%q4Iq_-=P~(ZqeDgV}uACx5_v)8Rwh3+cVgKpv`* zI!T;rmFcf%B(A^YEqH`E34t~>f3s|>TmSV{|BoIIOjrRk&vd}dGaWG3B{MKaS759P zFuhCU0?cUolbrUY{DK2zDZuP14#YzNMyHAckUBnE9C86>YAtlYMm!IN4}YRN__zQ9 XYm!$`Ug7Wn015yANkvXXu0mjfY+HTh delta 309 zcmV-50m}a90*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=f9Cy}6hG z008evL_t(I%iWSOZo@DPMRfxnDvSekC@&#!w8w5aO^%e=U5p0kAZrj3)Ij_zr+`Iy zEII_`CgSV!i+avIcTwCllAso7<0}n$)vEF3)hgg7?tv*>9^M_bt1p3j!AIMbK{F4Hj%M=h8~}5s%TcNq(p&aG8cQSe5;&A7^L=0hE?3ek zIKr%iKzrHj(5CvyAKibgzX!%`fLS~%U>45`n8%O>7*h{msz2a-}3Pd0&9|25066L00000NkvXX Hu0mjf9tDFJ diff --git a/graphics/pokemon/trevenant/anim_front.png b/graphics/pokemon/trevenant/anim_front.png index c6ac720eb15aa40f9af7ab04a9b2ee1236163f15..3a51361f77e861a2dee5bd5339e8722a46bf93b6 100644 GIT binary patch delta 1203 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 tV+eQ=j2FT9OoD+6*NO4CVElLf@Gtd1f)ja3|R zNmd^E*AZMC&z~d>u&?RF%IcBL_CPcl4eQbA0l+Vv-N5>_1hx~|tD z1FHuGvo7h`f*T7vr8%&kr3ScK1Gj1eFGJqISB|GL6lSP@7Bzr3iP7jXA zj)aJjxlK2-RDb2EC-~^YiUT3UsAmA$w>+$fs(=hjI7T7prC$RoSVu`Br3B)fUD!hK zpj*};6e5=r6QYPzUIlv;Q{$kK153^c#xMiM#FH89acbl(90``YcpJp;wE!w3TH+nR z!}ugI4;mt(b6kfL!vk)v0fp45^U8CD^3C0OR8CYX}+qbalI##sr_=!y=^1G=-Iv zq4_55seiTUG~*&f!w3eWtUsi zom~TmKq7$d;$WhN{JId7C7kKE{jdgI48095(R`?T8;=tXfBW@?vOIrtOup*_2z=;0 leIUs2&l}gpKKd^Lp+9_-WcIj#d6}yjmK#ywci&%=}CHq@sEc; zIUPTXTi{re#LSu}iynb6nU0&M^A5nS?EQoJV+ZWf?u~5(ENSwZ7o^VD!y|J539~*P zSe$7SJ104?fhk9*s)17-0yi_)-eBcE%9Hf)%3juC<{AcS3!!5ZgU+(aR#xr25CdxHaDlp!h69-wh_7VCvp zJ42SJ8FmCOm_7$1Aa)a%9u$*s9asUOO@9U{6o`Et5E9Km*jwfKJ|XeE4M2EhSx!}W z3XjKtQ1$+{T-D(&5Rul1=^;2AetQ*!1P7p12mcsEEnuyVz^Z)T4+ivg)|bI-tgBKqjX_)CsJ=f@VKXfLZb9IRq4by1CnaX427}f+8U6G=-Uzfq%Y} z*4*57npqLhG)-U0Te>2V4xC-DDg*dHdQUfL=IbE28t(p`Z2+X}bn#;8Dfn{V2Hw+p z+_zW9bECKGZSNmlAf^-hxt{2k?_I!nV6(?6ud>{H`s@IvQ*eqaEXpeX3E=t=VBz!R zD>NrZK3;x)EEHJ0XaM?J%$8D0SAU|*&-8V!a_Gm=kuqSpRKo`l0(jdrz$`s13+}79 z2yZ?XVRF4F*4h3<=2EB}6y^YcrgxmJ-^kPbzS1hW0%9qVd`LF0oZJ-bTM?Gpcs`u?Bqvy$uf0a;$nAi(&@XzCKW<>ut;AIUWGtgCgEDgb4e6 f;`+!l{*&*ZbY%9uU}rf3QU0)Iy$ViMW!OU*t{ku1l@ zYYGHZh%pMsMHiTC8e{3nEtOR>plN^vuANV0k%$YBP-cw-YH1}O3?U51wY7vj2G@o& z4Rns$K7aw)sx&|oYevnRE$i~y%F4UL_HQ;(D6qkIJ|MfBXQP WoeBhp*1To_0000b>!3`KQ<65gsQmr++|Y1f{kH|Q*&3m5Wg4$ux<6b1;;YOzYk zvgKrN5dj+XL4H!?bM8OS!_^B^zlLEWWagLGej7pb^xT7P1b<8+WNrcqrXDvDlF+m! zxbkR9%P8u8-UN4RLfGr~yOcF!{Op;MIaCQeiHKR0u&*_{GA6Q^kS-w*Q6Z%yoMvBO zvfo&ip8Q-{wE&t2NaUsSk?dsRDrA(&k6)af3ItvTu4(`P002ov JPDHLkV1g9koqPZQ diff --git a/graphics/pokemon/tropius/anim_front.png b/graphics/pokemon/tropius/anim_front.png index 99d2f62cd401140437862e1334461a5c00a3973d..a8ce49059d56201ecbf92be27f519503fabf720a 100644 GIT binary patch delta 1532 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 P00000NkvXXu0mjfg)8oo diff --git a/graphics/pokemon/tropius/back.png b/graphics/pokemon/tropius/back.png index 22dc17d2ab96a4f85bc3ce88f29db7447fa407fe..1e61019c327e880806448eb1faddd1cc6eb9bdeb 100644 GIT binary patch delta 510 zcmVf9RnCDN#rZ{L@ctQ^akWAm#1mozj)j;@$GCg@+uVIOs8J-O8 zt0kxF93UH+1{w$=uEUP})P1G&6*r;t^}FE zbpU#5?wDPGfDoa>W`Q~@1pWCz>Sc;r30S?Q=hZ>#q-o%XSe(Ou!HlgKfr_+rls$o* zQO$wckU60A{k&#x?6@#=UmKJhs2Te-0d24lz_!C;rhp9xw!DN1&4*;PRTN-+=kO>O#N!q<7r4-qQ0~IZJM>|kaxr7xE`b~g>11KDT zG`I!mo8Bz$1mHhefYJf%?*_mLSX=5}y&cfs4gYW)fVIT$fqiNLiVI-@u6qJ?0XqwD zxd>~K~zY`y_7$0!Y~xZ z(RU2= zzxRFbIdMGi?+f!9*kwOXc#W~OJxWxC16%tTiQ>-=;$fI1NLQ3he@q}2?R-Q{7#6fAwYRwGyy;OV5kF)JfAI2(jqHC}RsoU`txMH+uqEqXP#HhRgw_ z@8$>g#*T%d2ijoCfdgZoCZG)p0jxVLG6k$Su;xRUK&}jyUQf)pW~mhjM1RK;Ib2Sc zWbA0pcm;Ugf|Z8et7L)#0+M!bNh!77Xbx;?#b>kwTPl~ZXaYjN2~cnVl>?yQ0Q5<( ziaP=L4`As4c6S5d1gukLEf>2jsO4v diff --git a/graphics/pokemon/trubbish/anim_front.png b/graphics/pokemon/trubbish/anim_front.png index e127937fc13d51466052563afbd70106b1c40176..3ed705609b7982866c713e85f4ff86b3eb843ac8 100644 GIT binary patch delta 766 zcmVljQ5XW81Lz&DaZaq3S6;auWKLBx+wqsR> ztSA+Ij3|}WH%4MAWkBlo5Nf1u_0aCHF(bj(=u*WZB7)^{XQ!x6-g_CkAd!h zclTuJ{+6|fe=?Tl0goQe12*mnIC0!6z5tj3h~tJDsK;KJe}Af}5yrJbMKfrT>v~ZL{yx(HTWs$!dmj2s z4cNZNYA+ev2Y)KD*_Z*An|OrD!FCd^c74tpZ>Et4=Nvn1(-@dPJkHLi1U{T|&WkB9 zpGH}hMHS%WbJj%SkoS5$yz?hn_VIfaxDZ4%IVtRHiVv6KOQpmoAx@j9KoQxI5I5K2 zZlAV@L}N4J5jB9n*Tq>Cup%pR@L7yz+92R`{dD>$c7HfMYh$bU8CmwsVcF$iYXlf0 znt5~)i&(_HV%~Chi`}i+%M?EdfOu#Gmf~mHyc2JI6hQs~#Vr>* wDS&|#gX$n|+4YD3Yy%5vUSHk+i}(-X50BpcE_9pIVgLXD07*qoM6N<$f+WOiuK)l5 delta 800 zcmV+*1K<472J!}wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;V5^aJ=t z0008jNklzi-n(6vti5Lz&D=+mH5WJRgyF``sfZ;ZrL z%7E1E5Nf1u_0aCHF(bjh(WSCQLy3Xp9i%65OCtSQ+@z20}#id8feB|m4B?M5yg#CMgXyZAhdmu|} z+&zlr79L@;zm-I*eV?)L)hu%FjA4geIR@qrjM)vViA8e<}G)( z+})rDzO~E6n;U_p_=#crw>wsI4zLs(D!3)kHULfNB+bAuB?P$oawFhCU^=J*f!qWn zd9h=3L4P2;+?uoeJGD_G7#Dsk=mBr) z4wN;DZl!RjS^n0zSK0@^M|A+L?88g>u4-bFeuqE^IMe}S^bK3|S+RmZssLQCw;xbS z1+4A@%T-f$`#~T5Ljl0p@Geo{_(4+o2i)G1e1BQYFhwyvMRW)0jyO8bF6+edrSum8 z`U|uNOrXKYF6+q^UpPl@n#}x# z7=J~8Ute=Rx;XX8@~XL-u*6aqN9ue0000U0ED zZwCf+095qxH{e9a0QLJBa9&@&6yQqKoqq#z5`+c>3;LX=MdjfL2o_ZHIIpNHLj|J^-r0LX-hW{_OnX-7lPz(mTq5 zbCMpzZK;~jy&l48?@0rcVGolC3CC!d&_jwbtSnL?ya#vCLwH|fQ5;f07(ls+*X+Tbx+v6c~e>wKn#X%=(VZ8ON9v&l(`lI;=j(mzm^eFI z`1Lp7fcpU2?F`_!{`eMvGvaW31t?^M1VjtGq-os*I0K>uwlr1^e-1jYekOtdKoBk& z#yEhbCy;=u4|BMOhYmnX=TTt+Z35(PMTCujE}U2;^A3t1Tb+XYiE>K%1U*tt(PO+W zRSUYcV|?3N(ExPZgR$k;=!lR*>M5=qltO3^)IkoReG7~7kQ$f)2**gP)dAYg!Ru5` z_bV|=3E>#d=#^o z%&!W@XMl6jV|HxKBUJB0rUTP0=Aac>p&wt>TuFoqcIE&8002ov JPDHLkV1hnUpPv8# diff --git a/graphics/pokemon/trumbeak/back.png b/graphics/pokemon/trumbeak/back.png index 2608ac0edf64f177b4e355bd9e59449d0439d064..552c32d26068375b7adcf47d4aaec105e3efb737 100644 GIT binary patch delta 515 zcmV+e0{s2q1ndNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mVr~K~zY` z-ITFT!!Qtr6M5@Yhk#gf$y%w6y#W$&t_vNZZ^9!0Qs1HrOIs#3vLU7l1_V<@-vyuD z1#)g?xFNE1pZ+^v?sxRxLdp)H1livU2!Kp>0044-jSfOX2O&%cA#fiN+c9V~l8Aml zUuwjXh>UO100AI_658Z{1V9p!5W1FWZL=YXNJzliUxb&CP#|g(1Y*i#?T2yB5eg~n zRjdLFctX)L-%g(RE=B5r z>7?N$>`G7^UNucX;>-i}vI$76d=t&%vRQNa-s>mgg;J_{I(?mgv%m{3KI}oAY)-jf zy82o_Y!`GA>b>lGYtaLT4JysPebOc z$Pt6j@${02NB>g!Z%}3f2ai!eTTkKh&d54 zU!n#AKsY6oP6&X|B@w7nM5T$kB)mWXmUSb%gn$%LX(!-Q9LstbmmDFHo@vD>us}@+ z`Z>Gfhb^NzUOe)EPbFAjcFzKliPUxQE%sM90=rX#_j~aCvA?RH4Z}e{=X*2q%!& z0%Wfikc7t5bQmxMyI#${rQlL;}Tk)thtm=GTQzPvp9e+l`g%XQl(*>V{RO*&;pKn( z7cbB97|@)-S&Nin#)U1ks(Mm_NOWIKf7>D2lZZ6Lgf$rvyd@U|AM_E6zva z2DxUdELZZ`rI>AY8|3gd==q!Sc0Oib^*gBR9T+fQ?>lArzNt5;w{Jmfot)0fk6~B# z#qt>4Ps3~7IuoUsQ0BFf?$W-PO&?WnX>)66|4wALsuI0M1KXdDr@1bk-`EP<&+=>s zG>+8vbGbC&@#F{q&A@e@gQq`#j^r zpjD++wS{l=rqgIE2US%SW|6c)X|mR1lk0UB#}W-F8~L0Nliru=LQE4EFjzgK-d5P0li5?K~zY`<&`l`!!Q_y z6D3oo#${rQlL;{-k*zI%*ubOTm)B?iFR5Yt&*i!uoou?4hB}>4EueJ&h)z=+P&y6K zn5NQ$2u;x#cxVbcp^#9T&>+NstNdPiFeKstro}kXoMJG@i-#c%To(g)|KjCY90S@j zIBVXMKmbUFMLCy1kRrNMmh-1qo}}2Q7G=5Se1eYB`4qrN11zh5a>dw)-yqj)R@F*8 zyX3RYZo@dd4RZb_y`7KQSMwXh^$rK^t9_@c-Z#w#@%Al9qZ_BQ>SGv*zL*{*`)OFC zn`gY@6GFWX(p}Q$v+1MkEopBJ>EH4ER#u|dYGC=(@w8CI^IKbC`FWA=fYy;(ej%0u zJeD2-pdGj_3h>l_%hBGd_yj=Y6DvUgWgk-tLHkgx%jN`-BuFiovAWa90{4eUCr>n(hv zH=V^>F{rw(F^kj=g~^sNZAk4I1rVlx@_+OP0kD5|_?CeUG5`Po07*qoM6N<$f+2&| Axc~qF diff --git a/graphics/pokemon/trumbeak/icon.png b/graphics/pokemon/trumbeak/icon.png index 7438dd3ea267c2d6818572d658b5cf13c9b00472..7f13c97ae823f292fba7758a8d3ef2797e3309e0 100644 GIT binary patch delta 216 zcmV;}04M*`0Y3z6=Tj^ zn%9MLM0b1CJ}a27ebut9T04h_PmK#JEq$1sC_c{Bb{jM7bWt`X<=AIskSzjOe0`Vr zfq?ETSL+~73SJ#3jwKAFrd=4dCGIW^43H3J9fS|R`0)lUet9FQ Sd1NF20000O{4=f@w4~u;SY6(7P?HPsdQY)T)O9pOT_hZZ(~s~ zpNFQ0sd_)BhfhsNBP~Pf{iej+*Z9p9*y(6%F0qfsYKPlaU+Xd+i1>yVTt{(IifTu( zFJZ`|Fluus43&apVZfj)4ER7n3PUV}S;zQ0KVB_BjE6bEqCLy5PlG=*dex9ChElk))rPU&PQ zsSMfd4lZ4_oU(;m{Im!gT1To&N|u1Vbt#xLWHuJ`OL))}`VHKBCrdubviJ4|8R`GK z_wG)zVf=^VS-1OQZ{D#l-|hpQx@|YwyYuIE{miaQKu*fR7k~T1h5f2+RG4$K16*Fb ze|;hWy7?wlWfXJf;v!sjook>nhb2S(_T0V(EcMJ<19po5h+e?b z3M9Y*Z)XA5lYbWg$a);~03Y{K0Ni4(4w4Q$D*&SaaAZAhujOPQy)@@r8%RL00Fv|^E1Tz2C(GEHw zK0fwiOrO@^NP7`Mu#9~m%O?1---sbZpuZ^^G~#6(G=G|~Y$CuV{MKJJ+--rG&_I=+ zBDhlk*C0Wpcc^-DnlH<|L!fp!n;Qin&*@YGwGq$!Y5pmIChoEkuaDvWc&z7mkTIUq z)B2oh_v3yJ6c6&-B%d2W0fhMm+h7ou0+Qx@c+@Tf+2`VoJD>Y|!DMK*+Izvn@UXQ9 z)Q%?)p?BTh4F=|FwffpBg3Tv8SVd9P)k`R_IffrHkLLE(F2KJlaJT^#N_5~wY791@ zs@7Ko^RS->*-6(D5G__2@Tk7aa1F#X1thmiKANd~HhWBa1fjkJ`KLi477J1MZ2sl( Y7ffOYS^+?6J^%m!07*qoM6N<$f)}nWGXMYp delta 682 zcmV;b0#*Ie1^oq(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;VH+iZlv z0007DNklR>vZRwN>kr5q&VSr}Klgs!v#n{*&|dWW zuPXJPb@{#u=rt{?)!nbZw3=sDQvl?o9QbB^y0G4KwHmc=_5ha`AK#t`fUcCJO#DER%UI&gV z763?N91H-D2MGYoppFW}5m@Q~CO)90F>bHLWgvq@XYb~Dz$dshK@ungfppPGBA9X; zyG0{GFgF2Ml0%(|9mplNNe~1a7*BI_Wx!N-5$JKAy?;Xy5c;2<(rBM}cx08{v@J~iC!0E<8!W_F6eodhrk0fcIV zx+|`E!p#Q+WR;7hRsckwP6Z$farNK&zXH(4DqGRE4fn^>{J^^qVV|D1eQMlKhxvgn zH1fwRuYYTP0pL@u8W{0XfFwE_A9c%sbX?qN@9VG)PQ3ljyennu(hj}3F zbR!1B)h3%4Q>~J3fnc8gzUHcAlZDh5i^n8}&m+|o#Fqw%V6_T{&*!i9KTKi=THHOk Q`~Uy|07*qoM6N<$f-0*q2><{9 diff --git a/graphics/pokemon/tsareena/front.png b/graphics/pokemon/tsareena/front.png index d8db63b1465ac312a2aa5b88e1ed9f4a902305d8..9072ce8651bf8d7a3ad55bd90beb69972fcd013d 100644 GIT binary patch delta 766 zcmVy*|~)D8xLbqH{Y`ZK|!#dL{^Xth6fMQ2gU!PNKd=$GFV}LU(%oJ zYdz?fCV9N?r{C{4NvWdz?;u3JAJM|=xf{luG@r2I!NR<2+<$u_0ZFR|?hqM>SY4oL z342xo5?!EKRw! zuE&6)GIn`>A%ElZ6nQ2EI4LZrqMToPypNzP0V+7=FU|`B*mB_RZFBzP(NB;Ag}M!c z^Y4U!-IjygF1g5~Q3iH)0wB@Um&~n~_TdE3ewB)n8ZFydfVlKN@3TzpV{r<|Id5y9 z$jY^e;P=vnT8hmjVFGZ>STvo2?IOq@C3Om3I-Nf68h^#&iX1FP5u|__29*HSG1rey zkJ7hKj~SBCZjfo#g_Cw^7reFWb?@+^~8k@Eeu>goZNfC#wtRln}n^E-ui5Jdb8 zfStT=7Jut`vrrDfXbF79j(ycOm(&=2(hV2=>sMz#-BT(xxUxifDp3jh@K zTx%5IMjz;H3N0}LxXJ*uaf_J`Vnz(~tcw+gfOir+dp+l>OC&~SDR!ru0oWP=ZC7>4 zoJR`SoxyN{phw`TM;M8Tr4VkfK(_>X1g||pg=LHl@`_4Bk3A@U2DJyG>sbJXYL7v} wm=~LzR}^nc@nTc*0;vBC6gCa0(~|P|19pJLek&EVIsgCw07*qoM6N<$g76n+-v9sr delta 809 zcmV+^1J?Y}2Kxq(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;VJHDcxM z0008sNkl3NlhxL~xFjjR}K- zWakpvZ#;}v-F(ju1O>r*5?Mhq7#=)G9~A$GB0cT0%V351O@GoK>H69s`e>5J`+oZU zev_t&qWtech(y_*6(LH-uT}v#LXTk$bd=xxR)m?1HDm%hhu;R;y~$Q`E(7{ zYi`5c;L7LSr+@LWCOBa5d3ghh^h0W4rC2@<6wUxji!a_^b&|=OI3ELw%K7E_g_I)_ za942p{9C0pdV#dgJ zzjj-PUC}y{cG=CZigU6rzbh97#?CL07n=dlopxEKE{E-D~c+@n+3& z_GMjOKYw;=Zrnle4J6kxUUNf^vsPQ(XA%$syRqstoJMv#_YS-fJq2Jp>lpb)*2ooo zFq#5?;*!2*7>3>lRwg={0KmxW2y_N<4`{{F1PHP^#`|DXgWJo{NS%%fwrUxn`pku2xnX8f diff --git a/graphics/pokemon/tsareena/icon.png b/graphics/pokemon/tsareena/icon.png index 0703826aac0bfae99a28756d9bf318e70877bc36..f4411956238f1e4986da4d4c66e0476ee2c9feb7 100644 GIT binary patch delta 293 zcmV+=0owkc1N#DyUw;7xNkl05km%v0>~!^1`zn#?(pHGes<2+)$cXGsFNl*Z6i z0FK%Wp!(SN9jBqkF}v+w%z>@K6P2{OJ~MTX_=*gqMil^jl8TJr;uzG6$LUNy(#bVs zb+Y+N0Z#=0g#S{1M3|-&M(4tyE`)KVFs={==}nl#k2B+wFf>Gvs&8R<(80~Zc=djd r%)(5q;n`Ujj2?q$VIW!K&-!r%$l$Hty^l$>00000NkvXXu0mjf74?hu delta 330 zcmV-Q0k!`70-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;VL(%Q)C z00034Nkl6`pVnG63|BD{PUAV?aGT&S&zGUTpK7o{cS*d@cY2bT4%y z!nCC@Di;P+Aw!HSg>i*2Kz@Wt{J2my3qwK#i2N0X1s&WXjF+``i025SnuFi!r9PTRwGx*XCiIW!Jj6x62QU4)7{6 zW*6zZy|GrpLl<}(8y8iizk$G02k5PG50phQM1c-4tp!YON)YG*y=&71e+oRE1HF0P z?3Y(opbhl&U9(?})9`Q(^mWlnP-fXD%+LZR`_?`JX$J_SHn5w5#NymTNLn7L1PNy2 zszF)=RnrVaFjxchYogNnyG-4Fnzn$w_5u&Zz48Ln7646bj-ez|3M^#lc_CbqyrRm5 zY=B9DK;{15slNeOs>(?ae=_m{f)Xzl%_X7G)L6^<7X3S-c{JZuIm6~s6jHh@zA0g3Mh2%RNfj}lXi5XOb=IRYpl!IC2& zhfMN{FoDV;f?Nvn`JKaV=~Hrdlcf$IB4}zX9=w@eY}Ms=NRI3IG5}MNUMnLSTZ$I6L;u~gNX*+A!pO@=1V~U**A3zkL{4%L z!J^)>)I_D!SCQH8S>^!;H4){K?Kt0)BCuzn?E2gEJ7jb1DLWznSEx;K}wOJa%nGojkY$==p z4@Jz_GmB7}0)V$e4VeWbaeI-%y@2@>(4{k_D76kIB}Iv4(8Ff{1a1kFKpOy?Noh7& z24+JD$WpY1KgI!D1vSbC4PX^OK;Zud2yG-*uM(9siYVh|<_MsKfJl}A50MsCL^&$+ zeCZ|ue|u&K^uUHxLxw*368(>;ka& o(+#fqX~m5Lm7c}_`kVR*@rUsaQF9+I000002uVdwM6N<$f;vYw(EtDd diff --git a/graphics/pokemon/turtonator/icon.png b/graphics/pokemon/turtonator/icon.png index 7a47b6dd4879c5afe6a6222d0acd007ed756a882..4e1b8dbfa18c6cab92f3c12f5286748a3cd39bd0 100644 GIT binary patch delta 408 zcmV;J0cZY|1nmQmUw;93NklD%46!afFc~T1s5^2&%$)xQ|0$xFYtAYg- zq~A2qf(M*$N+kybyvCXu5D?E`ah!soNqg*F&gYZwBE(;g6J5MQH@Ip6RG95!U?h|) z7ZK=;8Rn6SYtM+c_{>0OidDOjiDpIz)$99qCP39|lRQm;>wkbgsKzV)Tw>F^GP&je zfJ{_^bm8F3t_>p+1zR9BdZY-9vC&HMu6zy}Y+6~)fN+S7G&#>kN23_2PJ`&t81JME zfK5kTC#Z{{;k|29G^gmn4x8rW;#aq6zX(Ct4i>w3SpRe2!JC6>ShyeVxQYR2&zamu z$UulIjQRk+Q-7!;1^`hWWhVy5E$ILZ?#N$n69JqUF1gO?ZHUtOtcm$$YOa;0HaV5I z2>@9tgE>_}({6l}xC=o6A5EQ@;yN*G!s>G!0dPlk@L|vW07mx340RB_R^G`aFub#t zeW#kB;k}b@Vbl-NOID%45QhB*Cr@fYK_X2WDVelANx&5ZxGGpcLHbMsEjZvjQz|(i z;F@S^K|nl%)wvW54b05HexHB&|E$zsF0VSdg>LZGOsFv1N`GM_)C(^Rbi@pEF~zq> z#EU#L(2?ZSZe*g#(Lwe4zOKZbH|vt8yWl&Z532EuKbQ3B)wtYp6hJ2?K{|2F)h`_* z62(}cEe55Cj{p>m z+{B`Q_pVM{alSkHgw5wt2yjKS3uRAy03!!5BM$0jO*u$%x=a-MmIG5woDs59piuCk qZrT);RMh?e0000BjE6vr<{iphBK7jRsXlA%jXcT+BqfCWy_ zrR`A2kOV`Q1`=G=$>ydW+9foItD7(2&W%y7*?Xg1j>oDP|g6LMX78A$bSPmZ{-T*72^;alrHVl z@?#@l@6)9PN^3@daJob(H|s#`EN1G&-p!QBEXxLF>+M#?gd|@-ske7BfKMmgiT z90f>qG$eKy_Q{JFe{-vY3bB;x6Puwrv6Hi*st59)k0*uVB*5&=x@I!W zTURc_{_g-f0iY8AND2Q6*z?&sgoN!+QI^NXP%S*L|a%3YbXxZ-ZdJpRUF~hV1EtPPD;hMd>b9YT}$-pAm(@nD*~X! zpur)>jmwD`b96#DM1h>|#A!k>xW6;O{4=gajwotqP00QhuL_t(o!|j$aYui8+$5kW6 zWW4wbI4()a(8Z#=DHlk<0ww6ub|_>>f}l$S396c8b5jrP5*ozS%@=Uz#wgcpF+p(d zU?PgCHTHY-N$U7c8VaQazs1A*`RUzz(*6IMHjBR>_ecp)F@G1b-$q>tm}zR!EC8TH z!&Cy=eX^ieYGzZ}#0DYD`^0>t1dM&Myhw8VExGu75^iwdfJoEczf7qv~aV6CKN&R>3Kz!BpNj7@_At7)W`; zIv8-9=DBwwW&GwTQbPaEMd*1+G99gU9Bk?B6&@s6IC~6xv8=J519t}wTSXS4C*y}% zem!7}VH>0Q|JOMO0{uKwg06GHIrm?pv!ax8ek2A!;D0;!eJI}pAi#kNBzOSh0`MFK zLjHiC0q}(5KvnRw#*+9E+9ww%ptUDs&4{9*_B_Gg-1exY=~50ggDO7$^loTNyZ8z) z*i2Gp@vlXh#%r~D8PF`T5oWW@Mws;yfRq5F1OS)tr+~3gHYv8mA=Rbe7gi)?_r0BZijHLEWh@1OV|CYJV}t{9x^^=e?3ij6Z{Vw3~)Z?$|ck zgtM0B+oOcx74#T@4ut}T3>Pjdrqs$D!XXM&0xQWKfjVQKTZK(0mQbkDWlN$IJ!{l4o(l^K4Lx&=;?Iy(R8R)Clj^8Ti_jxBrZ{Z gryDgBoc}R?0rYL4n9ibKmjD0&07*qoM6N<$f>4iuE&u=k diff --git a/graphics/pokemon/turtwig/back.png b/graphics/pokemon/turtwig/back.png index d2baa9abf4d4cfe8cd5ab69edf3df9c348659b60..066867525d08df8df250a983ac6af62d4da21ed1 100644 GIT binary patch delta 533 zcmV+w0_y$r1pWk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oO@HK~zY` z-P6BI!$1@V@E8>5>*Cs0s&wd3^A9+rMF+vbD~RYI@rZ-aDiSKXY0X^x!J&I;+yoJu zKR|@I)fS=mzxeLjI$Uy>!Oic`<$ZYf?p`=E`5eqLtNylfQy_D-D#(DFCJ1 zqJc7ckV^q}4rxa4ym~c%r+ErgMj3NoQ@1RH@{Y1TV{w3%R#m{vK|PbLsawo7&_dRj zBety+coTjI@g3zckS#)7|57cW0T0je&m! zEjZ}QBi1J1l7kX(>tm_TKPVnp1FqubQ@PH8>$+l3kV34^zc|uraRBSsX~&jm@CAtm z1a2C>7;zw$JU(J4e3m+F^~WN0oO@HK~zY`-PKP^0zni2 za9fhjiXtf-<#SG+A>3VdDWCJay6G>uOkpgeQ z4g3=0?zxtw5b5w6L3-axbJAeo*EP;9Ri@ypcxJxYHHw$ z8w|s*^UY5sFgWOh;a4l9^j7gIDi~8*1Tdf~V2NGh;xJ@C0Jh{j#<l8<9XhJ5WECq(g};6h&Jzof0tn2Qi1gm@UEZ)2YtE4 z`WRetP-J~P{ke-gi~(11{uC?TgX1`2P7pb)dU2%P<^aaA)0rA#f)7X(AaK**b$U&s zA&-vO30~w1Mpn!i!iEll;9Ul1PdR9Q)BrAYgQ-QH`5in7@zv$#>~HoDs1g5=RQ>IG Q00000NkvXX1g=70f}{rPvj6}9 diff --git a/graphics/pokemon/turtwig/icon.png b/graphics/pokemon/turtwig/icon.png index f3f86a7161aa1c761c7ca2a0717edc1ea81a21ad..ca26164b2867e1fe5c654291c98d82df9df2833b 100644 GIT binary patch delta 71 zcmcc2w3=x`0{b>k7sn8b-iiJFrv1Q#qI#-Gwz~a45|`WzI>d& b?IknA<{e$V&iX&28Gyjk)z4*}Q$iB}S1=v~ delta 111 zcmZ3@beU;Ff<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?G%}a_sh$r9h!=o-U3d z7N;ks_nZEopE#rG;rxUNm)KPfDlFwMX!_YS$IgM1&9wH<^4wnx44Zd!_15>5)&jLL Nc)I$ztaD0e0s!!xC$#_o diff --git a/graphics/pokemon/tympole/anim_front.png b/graphics/pokemon/tympole/anim_front.png index 1dfbe191ad1708984061eb34fb56d4b1b50a6a69..2d72a92d18ef70169d4f7e7b913498670f34abdf 100644 GIT binary patch delta 445 zcmV;u0Yd(;1d;@hUw;9eNkla_YpdP6t)gUir=75RU1)+gniyi{`LR#-`TRxM@XqsCS6c^iTM?e zF&`l+*LToip^;$0LkNm6_-`q6;&uQ-HrD!XE9j-rpUDVc3x6b8&;@{Y3z+Ze0=`ms zno42{!&;_k!;t`&K=&R7S(cr);e6gg7)XG_N0t^kAcUUkA%`QT8)i?MjH=n%d?%)`}BX$55;pVF!6d*~S zLTKO95i!U8Ql(0rvuqQ>He;+) z$~Nb$lhQhCtv2MaJ5QbBca204ystN z&r;X=U+>f1#g2aej$>t|(*+@ySiRv>8X!dD`VIy((h@X$h@d7k_17E*X+MN1O_X)7 z7mjimFJ+5B31me$1b}`IXyB_FeCF`9ki-I}twOPeD*+~f;XO=>qBvi}{kVUHD3kz$ z_ad)UKm?v8;+(l%F~w%d)R9!ZB%roOIux2}^8)6^YzPNbTN{*Q4PA?z9bDH&_> z1Oq%ie<=+B-r@+9C{TW*fRlgmjH5F))y@EjgAhAx2_ZJ(3j_9Ij{e9q{UMz1xx^%1}ygbW2dVR&;qo<@2=X1S{xNU$u| zPPH%RZ1N|8v0$_4UCY-!x3LQ4Y;6^CLmiA~ra zF5uU`Pcz8k8h~rd1a*%95ZZeT@EQ&5BR;nsh`=#o z`qP1~2isZKyA=AqD(5DDNK*JsSXGPWv6pH9nFi{^081D^*_wdkegh`uUNt^|kp&e0 zK+E;xSLV;aD*ih~m?6HJKnBAx5ntH6OX>mX9fjqx3GQ~pW-sJ0B8#mLPH?)Jnd8ru z8%S@xuqQvxzOMb*(Mvv_H8{Ns*8ooQn&=>$1DMSFyURCo;RU%Q@`GvHHtYpT`N5bm b&m+VI8arHCt&t#>00000NkvXXu0mjfDN>T7 delta 323 zcmV-J0lfaR1FHj&B#}W-e*gz`Nliru=LQE4EIGJp=okP10S-w-K~zY`?b5MM!!QsA z;B;~4%Mc{gp}8T71P?_rTqUamVgM;HWk7k7M!IZF$Sic})Q75@LQ-m<=>z0n|4(7F!W8mbU|LgPm-p&YcG3cMo?N{9vyHGBd9wUa5ikfy#6w62w>^~)gRFD=JG4` ze_)mUo+2p`Z(X3`@tBA=?A|2}fb5RSbJ+xEJ2KDjQsam+^Zsyx-N`J3m#f~OIQ7Dl z)7!=KvEK{5;_cpoIo(=%)0zvtA^MKQ0Zi`wo#lnO3Ic7yVBU2t2Z1qRFlEX$IRF|v VTv``4gw_B6002ovPDHLkV1hs=l5YS2 diff --git a/graphics/pokemon/tympole/icon.png b/graphics/pokemon/tympole/icon.png index 6e31deb8efe3f7ef0c337de562c2b10a9a74253e..7fcb7cabdef870545fbe6853e0ae84317d2d180c 100644 GIT binary patch delta 71 zcmbQv^o4Ok0(-rui(`mI@5KHHQ-&Xbha@Fl#mCwycrs0P_Rw%*m?JacGP{bU!t(xy b6J;1SZE*2tcv!HD0SG)@{an^LB{Ts5mH8O~ delta 106 zcmeyuIGt%if<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?G%}9hTB*0u-w9ba4!^ zI6W~v!eC;;zs0S;!l(1EIH{=eg*mIp!B2j|lMjhERM{CeZE*2dwl%W{>R|A6^>bP0 Hl+XkKmy99S diff --git a/graphics/pokemon/tynamo/back.png b/graphics/pokemon/tynamo/back.png index ddc039c4da8d2b28c37754aed71904dd876e1b05..5cbf8d7270bd4bcef9b0bf423fa222e5cec57a7c 100644 GIT binary patch delta 348 zcmV-i0i*uC1I7c8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Ut?3K~zY` z?NPyMgfJBJ;NJUCgx*REy{EGqs3*bLb7A!ZvX=bMvM2XeJaxZfKdtXIQ7qQpTO8B` zXP7t1L@QSOcf`h+;uqdL0(dfJiQhcHV@a~dh#v=S0;wJ2aKB`rU8`ly=w?c$rtk)? z<&V4x4ii33knTqwmWUjG^xZrj{}onL3KNSl9<*n1{!prR*MT1lTFU(9xzCTgvJ8T_ z91Q4dxd8bI@4Gq(Jnz`sig%x%dYpmdw($bC@d)sv#yCX->Ayt)x5yJ$|9}-;r zDfD%`1P>)%LmMm@PmxyP7#Wv90la;i^`ux~rK(IGTg;2JB%BvFq|LMo4!Sk1T!jeO u#a7L?s%xN#sx}lwWSZA##fra(DEb6rMrq+c+U}PC00009idNNqynX`kto0nfeuT%IWRHj+3#|jG9O3XVXP}%_yyjvve(4sGN#O9T->+xN+wBqECv8)#R!-H delta 50 zcmbQtw3=yx%0v?zRn7vB$YKTtJ!KGPtXOJa#=yY9UgGKN%Kn^ghCToSzrY;kvDXfCc1Y7QmS`#Y z^4r+4E52=;rxhUCy*vhMa& zb3E@K0qWRw{X^h)*PVlZK)C`4)2;v_HpvyZlTrDp5YDLl?;@B{`6b9uVPk+9!0{X^ zECB$e18|@(@WY4`aCQa$y#Mlu7Nld26OewS9&nPA#3%6a;w$)ox(|Q@-UC2kOv3<_ zL4cNXtsMYx3(&F<7JEd)sPTc=xKB$0#M13w54dto)>HJ#xr~9`YgXCB4i@(+)E6|zdRpEyKn-K>S2uW0NPHw+(iP} z=*JKbf{2V_xb%j91ki8Km=a^0Z;mBHJBEgc#w&pXhC1A$)_kC_w|yRxu$mg9pk$GN z4M{Y>033<176THef@bM1Wn!SzzTE&x$_=B^;)s3I+!Rb~6c2#3R6EEiOk0b_2Milc z+vG?o8S2=p$FoUXZ@sFd;+$pH1Ge*o*uEy!-f-o8vN9^oKDMrey^*%OFT#p65_GfRD(2DNs%tX%&n4hiYV8C8flMoAj;mWp$~w-FVMq0_S%8YPSdoVNVGt{{5E#%2=U#q zdU*mQ+tH*&{&h z`+j%`{O5U8F2!gNmn5u4-!+=;0CR0u~@{x=bfsQlt&D6uiX0^oEEC6)ky$^kgi zANX#>3Ak|q{+xe#LhA;c=Z*0K-~wx0p|cv8q+cWRS=-*LTd*A z+yXQ$gv9~TFlu}te>U#dk^r%E`}Z79dYgApySp%e+5kwAv(eyu-=A`5qVejjs{~gt zKYALct|^);zz&&kYodwfb%7eMffxr}5D@Jcu!F|YvrOMc@1os_Exfx2@7oH*Jle7P zpm!AP!LL4kXQm@t=!d+xB_d>^=-o$*$WNXPq*XWrNck|ve|P{br&aDEfqe3Ph(|$0 zPClFlLjvfRXH0=H&Nlm!qn$!cMB|0P5knPjQET2%IM|^GNmxyVQBtr-z=kARU;y?+ zSc?IPLrJ}Kn=&y{Xy0!Sgp>eoU`BFcttxT1ggIzbFPHfCU&B0dC lgw6sfHwWiM7`Q+F0p9HJzdXHwDgXcg07*qoM6N<$0fK3bDGLAq diff --git a/graphics/pokemon/type_null/front.png b/graphics/pokemon/type_null/front.png index ae939692cbc463fcfbea929722bf8ef75a9471c2..a9fd54ba38801e5cf4a3c37b24a53c4e3322f6e8 100644 GIT binary patch delta 899 zcmV-}1AP462k8fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um142neK~zY` zt(7rr+fWe4pKvr~$x9>JQZQJtA!CUW39?x{L5B=dqO;=C4n_DGvIbeutsw=k8A1^q z3oUqRpoJ90V<-C?m<%4g>NE77Y|C;ZCqsLi@Bj1N|IY6{lm8ub;}Komctn2y&|V6? zYOU0{FLblELNA3KUlp-`5`d8J3IJBwGd;drHCO7AsT!R{>?P+v2#d1`_cPr<}| z0${}eGjYD{&_}%xSlcm$e~-J2)eAhVy}D2{ps0e`MPPfk>Tv)l0$!zn&kSx80#F3N zmb%UN!kM;z&%;LoI0M%-O?)i13INa5pK?D8ZBo*7`(6*5IIjMGiTm&QF)8_9?*oK1 z-*L|U&R0*$f=|Z1bQ45b8#d4SG9Rv}hQ9;27=j%nz~# zba=f0WUu8^^tPrOnJ!%n>Ny~6I~vFKVFvs-yvYH$BaOE?H_qm3Tptd))$ERxxCl|; zAlO&{ECY;CgedTT&8<&w=k4(3g3WuBQXMabcM!Nt6*lPM@Wwo^ECZntd~+?AAs}@R z2iiz)Z@2QXu|yaz0;#-m+y|W)?JB z3{}`-R`mI9bdq@hF}chrvs$dOrK$>~z*YA=_iGTD%8UVi-^B)KA-?+==f+5p)L%_; zYt5@D>fil(6UX240B%_GCyyl-XuQJwjbUU7=~fvW3k`)rANb{dOeUh{#_e*;0>c5M5%jKce8=10+z7 ztSGv~CuTjSHlBg_IuA%?S9R(0NaXt0=|hBtat{(sT&tc;Xj)(jV4(#djmKb7T6UD& zH)oY*z=SwSl1vn`=)ImZA&r5QQ$QArm?p8*!X*%1N$57nxPxgL;&^G!vd~4|nHCVG zasZ_>eRhBZ;4G#R{h-&X;NOPP3_nZ>;Dvl Z`~g22Go0jiJ*)r#002ovPDHLkV1nhNqO|}3 delta 890 zcmV-=1BLwQ2i^yeB#}W-e*gz`Nliru=LQE4EeVIH>Gc2r13^hdK~zY`wUsez+fWe4 zB@#_u^3sU56bx2u$XKF8f@~H~kRgMV=&ZP;LlJ(4tU(rZYjDA9hEPPtLIR!=XdyxI z*eU)7CW8mB`V74%+p?U<$lLN5Gp5e01vawJX4MlHl8A^%Bx%#q!%@Y$ee+tUy;{eSEsDbmX z2OjFV!19K{{kzPew3_2#dAF^kKwbr-gTVS`*<}Eb2ka(*M|EZi0ze)BYsxy?3MSh2 zGY{Vdz!{jTs>#wDe>s5bXm6Pp1eUO*YSyzJmS8*D59WPk2f~tfY2|F9{)I8-wJu#% zJ^q;jh3gckje%oV^IFWC>h~ESXfnSA5NNue4toDEYf;lZ-`1PKiRY&cNdIOANN&R} zX-!qrQ(bI7R5L)(v{i=fgB19+cbfrlM=EPFrk_mLSm-}=f6D0{Szd}-x{Z-c_7gJE5~#w0%B+Hq0>oCNB{@H zHh{~vDXkEUci%`Bz#4ww2HhI-RI04v>9gO5FbC{3-A~;Uzsnj1F%%+0Jq!=q8|flW zy3EB6T9-LMf0F}@zXh8K^6 z!_))t$t6mt*`TF0MUf!^&O4`>Uqg_HL@D6+4mLmw(c|wZGe&|W{wlIlsh@{o@A2*^ zimtN&ZkaE^mg}J$h8MlTQNRCZ4yYzTh1i5(kKRCrf4O@m(P{~SG9Vz^;n{~9GJg#v zx>{29QI}DdNfIz`VYO6tAjCy~9`H6ivX@9QmHi5YXPE2_2-wd65tMy14A1b1DMZA= zGZ5Wm0kP;P4tXE)T<<1%h_F!RK_anZR^tXB0PGy}xp5KKafww(ELQfUH=1Uru7 zku1!5a2GNr#32a91d#Y5#z`zSa|wdTbqgfi!8i?3G&g6F>pXAElLH`U7eUBGpBx|# z*t0269>&8buM?Ju`pg4N+biq^?<6;Z|u;}kb5JyFL@&8n^K=_aG7e5*^oa;j3 Q4FCWD07*qoM6N<$g3xN12LJ#7 diff --git a/graphics/pokemon/type_null/icon.png b/graphics/pokemon/type_null/icon.png index 0a9393e4d1a8f988c0112c72d1b479b431eefb16..e00748e138c2ee4cbcd3b605ce10f489cb11345f 100644 GIT binary patch delta 373 zcmV-*0gC?c1Iq)DUw;8sNklXR?uGhISQ(ER;Zt04Xz?xE#x}IgrmkU(0D-ZVWLt-=Cn>;e$EquEEDfMe5%) zJ`OHd!Kt?fmLh1cy*0n90R7or%uz=)!R74gp;nhZxtCIP|6g|h+buNB*o~W)YdlDZWb zut-B4(+Uh2ga(MZ0*o=nWD^A#AQhG^Fbab73e3o|14iBhMmK!ifqCIW|CEm_YX218 TT+hZQ00000NkvXXu0mjf+_$D= delta 387 zcmV-}0et?;1MmZoUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;X__re`| z0003~Nklb>!3`LP|8-FuIESuDl;%-5!jUS(1l=z%`_NY2dr2+*+^<5E` zUKwMUilOggz}PtS-~}Z#8M1S%LOX#`EVQ<)h{)=T0E|e3)0)XsFyS`g%>^ie6C?-A zDcvIkaaaepobDH?WeN`oF2|qTm8>P1q2Gil3nkDZK+23JUXEqh9LVR7w|~oN8*UCU zcJHsC)!~CV>a4-XPDSc#Iv*#OtKigI0hc1^sG}91n*ih4UCmKjG{N=k>ZNwBWBRqq z|3CKs?G&0;9OhcqZRCmKd1gR5P;d9K>-aAem5G3{vA`u0-W;fD+UX z$uu*k1{hmDQ&P790~TqhV?f$~0fW#0QCEO5#+a<500X4L(gLF(NRPnGEIVN2IbgKm h;|9zFANr?!d;x0z6yEbYr=OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00NvzL_t(|oV}F4Zrd;r#-*)*7n4l_0iJl$)+wsSE|&NL9cZLQ zhh{PS8Xf}B=$wIYyyXFuHVIs4?od<)vUDg~zf13^KNe%lLx9&dH=bF zhks`5IKTjE!WTUX0K=nz$3Ywi{92+He`q9p=ve~++v*4W1~@W=sFZpn5TGm=?~@<^ z7z5sBb_l={#2s|u5I4YK7Y>n?;Pj|MYn6OvJwh2<349J;OsAK;8OEtSA~4|ysaY#AL?4{bn(!osvr7}w@LBRW4wP~}6B&{jsIF&Lw z4-qhCb^AboJrqAgKoXEincy4(e*v?7v#}`*=_%8&0nnxbZptzzepqfG7qiW~uBmVa_PUYtlo$aG zS2ZP_YAo750ts!9bbvHW5m*+xl<>z2px4nML4_i3W5oBz4C_SJKDdTxe_pRV#%G#} z$)=pIgN}P`0X=Ut+^?9!E3F+Ob^)KafIg}E!t=X`zt$Zh!#g_ixTDblG{ZZ`mLBi+ z2eS^K=Pb~<`;Rx!&+87(yTGH{eRr)tC%q$J-)t|wWL__Dg~#~we%wDJ-IUe6<1l#U zfWV#C5714y$sOQvA9!+rL-juJ>&8he=FMmF(HQm;k*$c z3w$Cv2m;F4VGuSUyr2yc^2iJ9mLG&II8X$0ks>d^SrFh85DVA>5xVHgPB-KkACi&SEpe^QQfDbuqAfHAAPM+Ejz z!UTXsP)I4D4hFz%-)!s@B7Dj`X#u2h;I^(y%nt%Uks`2Z5(%xEEr?C&UJ8Pv5FHS3 zDDlGltbWuMyypC6TF4#1kpnPh`Kz=A<~$WWP*{LPn92=O!U(W9w<+;dGuG_`5ZHm} zfjr3pEUVp=f8aw0@avF4K!mF7#t7dZ6IjQx$pdY$s{h)E@u|i|WV;4$2Ojs@0zGeI z4BukPUuiuM*${-Z1NzwQvmoq~aIJfyfIB)0=paT9XaaYRECbr#KbrM`o|9OY!(Y53 z{pY&pXMON_xO;JuHhJ;AIAO~S@EW<9wL8@7YObHKfs%ETL%6n zEO_$Q=)m{GO_;i_ykOy8slNETO9VYJY+|vpDeC%L002ovPDHLkV1l>@NT&b* diff --git a/graphics/pokemon/typhlosion/hisuian/icon.png b/graphics/pokemon/typhlosion/hisuian/icon.png index fa4b6477b629d772098cd0ad923c88cb962d29b9..c3e0474968cfd1650cfe661960e9f06d789bd855 100644 GIT binary patch delta 331 zcmV-R0krdXzT*LH;3I z;fy^Si}o8jrBE8%Q(9_#wOgMg+Y|z&2C2L zk0%GO{4=ol7pyU7m00AONL_t(I%f-^MPQx$|2H?Jd zbyJZlwKLDaQ*}B|WVE-uLEoVp(nZM}#e!#GDiWf(On``T1cB{19a;$?yxpJVlH7fZ z#h)IT)hbI%Rz}k6uQs0sZ@I>4AcICdc}4&ZXl*vB0T2!QhJTMB9iX=IlPFlj29{_| z2mqd88GCfF>G!KEo%tT!dbp-N9*!Y^mm9h>Wf=o^|8%=0YJK1y`rUTbQ02cvSPeiG z5yzkTAR?(^po%dlhBgMSp@zz1yye}EQPGA#)#4mEnT}j~S93b&e#fT9Aq|C~#} za0*5no`KPvf=xjicKHoPhwXbXI!nQz%_Rkc9*74M-s`~xxxWI#XTeAchEBi~5sW$k mBVSa)nGYow`uGGIw&+XCqB!UP00005(H9ecTC;E=QP6Q z0k{i3fN_Y=DFY!!km`cKmurJmF4F{vTbDXFm(ubR*m{@DkSndU;);L-Y5DEUN6z0j zne>ZKjxTQT^YF<2eEJpF(o0DZDNA8C0-o49P&jZkMlB!I259`t54+5HK#9Lfk7JLl=_?O%cb z3XhQkNcQgUL;*ipmZ$%S4GqZpsLJ>q%}B_h#xOMT7K$8+!o_Ri+Dy5~1iX-d`yM$68FE)COuQ#wDy?06 z=%modppL=9jG7ihCxt+OCnuUBQi-7x(HJy;S9gFm92oFO;qmf50jzch22`!X$?`n{ zO2P~cV6r2H_2(t}Pz}-?)DK1wJ@8MT@6d+|iZWLY0DrBvCtp?{$%muNG3}lQ9moT^ zxT7PK!S1K!A2s(KfJj&fV!!-;U%bW$oJ0WnCNVtX?^}>wOTFj4f1mU3;9bAh-nUHjTVq(?LwHcSFeZ3UziU_0q?=M7Q=luyB-4c zc{G5haDN`NmJM^J&=NTizyvZeT&xx*dcaT_=ZDe6+pdK^j~CrQhz&90D?7SO zyUs+bV&%l&jrIXH7tuPhn*cVr6|S=NRxZ1&eJH17?dpIt7+ry9vQI7`s_6Zrs<` zlYi00uHfb3^wkjnu$w6xY55t4`|FrCi2FyhLEN8XXtRBqR`HO}(SXnO=>#xy%`2SW zV_wA53qLnu*h2dyQ9r0!g;AQ1=89t~3`?q~pw;Z>ZZc=jfhm3yy2+g7xt+^nqqX+3 z>J&(uy>GVo@og20&*bA#OrQPx=eUBQ^?&SLk|1L`2?2>{Goq8&uP-*I$j@emacUAv z+JA7ngF3s82i2k1S;aRmd%*4Nk}j9Udgn>b3A^YGoGyN{#Jh?Dg2rM1ef#FR_rAbp z@(}BcrVX}~CP=HV+>VK}pskuPyhuY5rSTZDh3_kaUA<|n>V+*s??so5jVXLtksI^F_RfB+mwsk&~O-=V?IZfuq`f4v8%!RT=2D%dvBD907 zVjdq^S$6;*+%R5%&CNdkF9EPc9cDjL^l7Mh8+>kPVWW@w0UH!H!NY(f;A9;oh%Ivl zFxdXddP#H9wt%zwAniyW;Or(J-hWZ29yo~})@gFaMm==00lbfZHuxdSTB$Vw(1#+x zfjqA(wIU6(LPZ8`dw2?9<^vA*k9R1j9ON`BtG`=E0b$G`!??tGQXm=vWcv`wgQO4I zP-Z$c2=#omiU5~0Q5c09B?$<0A`e&y1ei{NaO)4{fiyVwpZ5adK!SjFU4I)(3SP})9RHGsVKfT`w%P)s!ia!vOO5&=R#p(5!k}>V3MA==hTaq#g|VkVcJxE5JB5)H z$d+ZVA4t4Y;wA-Bb*(+=hphw&QDLMqN^X*VfCvy&{ZV0%0!hc&=m)^Zt&6`q1(GC2 zuOApG40>613Z#=b`}%=ZoJSPKjsn@&4>(*papd|7-yP=lDNs0H$Y`6BwN<3A6j>e`Zw0Q4KtPzyJUM07*qoM6N<$g2r0KtN;K2 delta 1506 zcmV<81s(dE46h83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;Y9bP<@n z000G&Nkl{Y;LEi^Dwk;j#H~x68>h7V1h(EKLvkhUYPniKf*}4oGk@d^XTI5N|Ipd-hbsI$ zJhHy1zM`@^vaX6!s>$VIA$jTBNdxTZ_f$5en_4f_#l;1eV$wkI^kTuKloX%rK8g!T zTNH#(HqJ+qUxh_{bk+?MXFnu?uCpHG_Gz>0GomS!Q82a7)A^gfSP%%@Moz%V+rLu? z_{m0j`VZTN0e@K^bs1mADD&$xB6WK-%9-&f5NtBa8NqF8sL_Vc8v!)n0HoF~pHjeG z0DfsTk#cA-4Q)JyA{Rtq;xSRFD#|hmFF4@3#TXd(xuaw%o|7$wl*Wyn6cQt7VzRKJ zs^ZW|!BAj>6B#m6vqLAWRcQXc=>*P?3|I`|@#;eoXn$!&21FzM$?6>n%Ah$kfW?j> zY(B5hhiEa(gZqOSL=W`S=X>-aya<)c4+Ku?lP~L!!G{Tzquj9Meei%T?!y*JuZLy% zM?-BV2tjD@Yg@5rGfF=K>S1IvJZO{S+*%@ypxL#xM%+ zC1;Z34N7imw2DcIk)|`@M7%licPp)j z?Ljyb>?VQsCi%1FHtSTBu66`s5GaW5EOp!UyC&=%69D+MGRA}bYS+ykTwb1aXA@2p zUw_8au0m(*{vz|=u3%qdK+BXYvMUUjFRNZ^#nv|2z16RhvM+-r*6!;`yNHPDpo6OmLV2R)QZhtao=#`Cpd}x`eM6_{A?zer#3|y)*syURA;e-acb>3tN7;S zUT`Qgmcm~Oy*YGdXNudeCaR(*#QLe?x3oO#lJLfI)U}(FkgVpO+WrG z39vP1IGaah7x(~Y zckp3N=+srl!zNA6*r?qsFL)OP&fCK%8zDA9fIdVJjPSgv#X2y|8i@>?8}9;$dXK~X z<2?eEfgH1v=DSS<2&H@;df9m*5D6Z#eJJ2T;sfVP$T6{azFtRx$(bmWKz~L_0D(@p z8#@qEbp%4S9peF4IQF0K0b+z8AWhfC5`i2F2vB8`0LMS4{xF+`0A23{kua(Ofkb|Y zH_Nk*FzNw;Bz|ban`}!M0|M#sgOeR$Bm&tN%#I%dyobU~1X6dcJ@La1L3|{Pbd6Mx zA0P@?xc!kZ0)eFMZ21B3Z(C>L?~XtcV(j^W1i}a}^Nv8O96ykn2EynO$dDg!xO8x2 z_6Ob{=MP?ddugwS1TuK$%lQ?&x)~D4AobPRh($ diff --git a/graphics/pokemon/tyranitar/back.png b/graphics/pokemon/tyranitar/back.png index 69b9c5709fc2742d88f63fd97f31e52c2ed4bfc4..44314216233870ff6e2cd5edfd1c4873549a4ab3 100644 GIT binary patch delta 635 zcmV->0)+k61>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z64XK~zY` zwUkSa+b|4<9q0nq24lw*Ylen-*{5UruE^aU0 zwsQs|TwlBmixmI~;DrQ##jBX4fRKj&?c5E#Nrc4g)A6Ru^$GhvI7uL0;SE4m5^;HZj(jo`6Fuw}c0m)q<%PmO&lU zyUXBRt5GG0lpwBuc0-S_uep~-x1FBb>ZSum&Wj$ppz>*BY6qu#lyfTAGx=1+sbrGw z)1>#}71?7RN!~)vB;jo=K}d*LN|B$_?a-;<5bIQ@BcKv`XpnNPWLA%L+}faOA(JmL zZbPR6TlBS?RAUUC^6Jr-W>Jn2#%aialo^YPmJF*pmOOk`&LJZy3$-ky1#<)PM$m7G z(X)^q%H3A$nB9fa^;=I-hzxKYhfqGQr>Kn)fDR+qv#0}tPczx)VK@u)44kcL`Uh`l VBK$!Mgbx4!002ovPDHLkV1nzdD3|~M delta 624 zcmV-$0+0RU1=a*EvR zzJ(u`z`zi$CENz)5+H_oypFNK$2Gw4K3>Pz-aoDZhVNGrcNU3nf7eM!7XHQEW=y~a z(~G;|VFW+|cp*XCBuP?0h|TY2+!J_{2$9*&zBM`Ze=xTNW+7+;8{62RA_EvmK$J9X zE5YzUeDGa81tz&v*8Jw*> zDg==d#3kLZM_A|N<)Ft__qJrS1B2{~E?rRhxG>el@yEi0Jf6wLEKa$ScubQ%7bj$g zX(V|Gsgj7kZ9#~Lm|Ky)N8dRWEMl4J*aIq|OM{epC9~T1ajAot;cV)%dhtN#OUXd?V&5dOme0000< KMNUMnLSTaGiW>O< diff --git a/graphics/pokemon/tyranitar/mega/back.png b/graphics/pokemon/tyranitar/mega/back.png index 765ac92c35d2755763e0767230b0c955f42a0481..b3747005a1d6650dda71c8078c1988da3ca21740 100644 GIT binary patch delta 731 zcmV<10wn#l2EqoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0-H%hK~zY` zwUj|_+b|GCWt~8jxN(32CNmeH$peJsth(+MdVn6GSLn{m2HrHM>>pC1sU&U|MF_-> zrKkCye?}bMU1l2oy~zDH;HS?A+~)%yn9v^p2hMkZgDTfY0PmX^z0>%lyTCv>sF9*t z?g1zsh!e-vU`*`%EaHYMQA><@Gh^AYhB(JcKxEnhqxOo= z+!jPC&_bo`@>w?kBIgqB4PX~M-Ac?W&{8M%OHMZ+DL$3r&2f|z<}NyuyxIy#+Ppb80=;Y*~bYiN^}~Lr0{`x8XhHjOJ!UPcRq_U z$6*Xxc!p!!CRIQK7>YHFK|ar$%fyKU7@#>x9hOdHN2*25Db;)cloD!&Mz>97djl+f z5`f&bi{~|AF(Foew3b2A`{&o<@|9TOe@Sz9zivQHR$K`XP%F0j8^CcE_wok~Z2?Vt zphhf>@GeGcN=7@t#1+U+&(^*L@K6Z?^q1GKFBd^^G)S`6!B@Jlf8+8SS;V%d4{!LGTm{0%! N002ovPDHLkV1i0~Lh=9r delta 720 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 A@Bjb+ diff --git a/graphics/pokemon/tyrantrum/anim_front.png b/graphics/pokemon/tyrantrum/anim_front.png index 941224b5a9f39952cd647f32a7866a83026564d2..22f83b3bcb1a43ae6acf77a5386d15edf84d2ced 100644 GIT binary patch delta 1727 zcmV;w20;0x4xbK?bbkhwNklnr(0|vx+J>D!yXFVKxzI!2|c#Q9QT@KS$fXC zk>tc4+3AFU(fjmfG&67JLnv-b==zq*eILkN6D=YocU=yMg?~V5)<9C(B_#)lQk(_g zRh-3H1(OeTDy)6O?G#L}Db(c1qXwG>c_MsH| z7-x*EHZ0i9xw}aqCF5>p%^+-8C^zpqVh;#)v0PYN>wCkGti0_cf&Sq#?(X+J_WI+{ zZ#jt`(l1Y0;D0g3hWfp!z{2Mt<1GMy^~%mKx~~5;4h#kZ9`}MbTY3cm-X@ZS;ed5> z_Lja*L%>7{fbBoc*-c#wfyp=;c;0YuRCa#gfNLk>Xra5Bdy3Z_r&9_6F%G+-lW{VT z`B|0Fa?5#kA`+PnyzMyl6P^I(!4ZkO;g@x`?f0~7hkw7{O#(Fs-m~py?MawmhY(?B z)$C2%w#zmlWxKT_MiH8~t+KssSDP?`ZKBcr1kfy+wqci5;4BL5Rs40AJ*Y^s9+b<_ z4FEmL;uM!fK;XZK4tShAW(Tk?&%*>lmGm}j^5m~|<}-G*6wM!*00zFLlPauyg&i$N zz(lbwFn_hA>&F8UR9G~Kn|K^ps4!L6@0sf+;cH)%m*kuMy|F=@82%Oj#)etpfDfhW z(*0MLap~A7KKi2HyVWolqjaBXdrF>;P1$k7K#$I#)!wsU597X1m&c|Ifa1H@F@pZTvu98NNLJWpbvKLtRLniL7N-n1S@oy6qyQ@sBPW>3=?)UoreQ_!HN!INa_(osAg)Z(E#7@WwJ;5^nip7%xCVQ@s;-q1o zm|FOmlBv0k4{BrLm|8TC8)ggucx-B_Ie*aygpbX}2TCBZ8Uh=pF)@O;@!zUJHX83Y zHYR}aCKb^lkc-I=m1n&Yx91Okq{>jeVA-3@*)yMq)QIjguhQ!tcOumkXe znS#Of;X1)Uya%2lH~l;4^OXEs7H0^~;U!c>qJgCU4EC}GoKX!f7;{#_K)lbVOn*@h zcG`sd!={xm5DKTkVIhC83-vo(d1HwN0)@}ZnGJb;ud{=Mfuz}08&;T~FpzZU79(KD z$_c@MQ#;@XAM=KR=#lD`6mDtE;(- ze?wrMhJa`Y=I-r_i`)Ozw)AQUh=1|c z0O}wqkid4xcn48E*4w682Ma2LVSp)(opEt3)wu(8I-8aSNhVI}7?^Ky34gK)B(SZ0 z>K%?!q~c<$*)6UgTvCW#sj$OQ4JspGn_G~@6{bo6V517V1c+plvIVbORmL49?nA<{ zV-T>Q;sLSraw!6s9|48l<;784U_Pv62{xt6x8JIql2gmtl^{qYywa)s{)3D*NvRgD0HN#!B?3y6G0gM4 zz!$GqcyvDmcIXVibM?qkG!}qB_~P9MZ^2A)N2%~?_k8gJ_hLKH>wlrldG6I5Tmq3` z+}Q~Y#1-O58UeaNAuhfTfEQX0Uoc9i8U(-dq7>S61(Dz>xk@qR)Ye8sb%vwx6fP%- zHXR5@!LQIT*OV@#QPT delta 1733 zcmV;$20Hnl4y6u|bbkN`bV*G`2j>O{4=pIm!TGBI00xLjL_t(o!=;u%YuiW^fMt|` zO)imq*lceeU+kQej-@CLr3+S5mQpAviYcZi#WJO*lC?$XrL`_&(S@$vEw&F`5?$nB z4~1@^G=HFk9@}G%d(E;eJ!juYa%@X>_ON3NLi6d(Xf*H5$A58ATjj2Asr-Kf*=u?w zPRw5y1Ns6WwP+%#+^U!dM3fc*XanU?PDIk8DTp~FA_3)Kh&x>PpPhmTgn&>!$1T-4 zPHV;i5t@K7QoE}=b#BRi5FbM<4iL)fIdxRD>PvT%KuSQ}?52+CsHoKM+Rel)yGST* zZVuehN2=`GNq=B)w1&E!flFV19C-~pF+%#~8TDOC=}5ab7sz}bQPz9_XkW2^(lqUd zX<#@UvVPZpv#XT>U~MKy(CyQ1-rCi+NB|gI0-&9zd8@9e0WjOo4PAFMJXY-Q7~oim zelFA9$UjA!w%sZPfRWq{t*o7e$j>U6C=L7BX`INm;D2e`ww|y6unu;dxEs7#Yu|cL z6f3xXHw*09@SJ7U_nrg+4ls`GtUYVTvMj~ISg{%hII-`REmN`ftx6qcu#Z*JNdR@p zuyjk2finrTSJB&DjUaQp`9M)%7y$Z&Mj@_}0K;G6daNHmrakyB&%>QMJDL8rg`fPf zMLkN7SAWCx!?Rz+Gc{a+FJGp|YauX`tQjhoH0@-F{W1+FaT84gnKG3%?Vhn^VD{}L zVO6*}XirVzRQGlP(6@~;13XAohjduC(I0dQRa zVgb^hs9$14^|5~jS?H>u^7dVjB+MUBN)1@RpJqBnGS*4&( zqJIjp3@!yB`aqB*0JljnhSq1RoGiH+xa-Ia_>o=BsmBAjy^JGZFt1`mXe?o9{dpsd z2Z_k}RlgriZXqxTfecv$WF|moPPdTyK8!u+4+b5ae7xK37THG6pkfzwi}6A5DLF*~ zdyAFRBEoGa7UHyKoEmEIn!KSpwGVP_rhiPW7$-F&0suTQRN0sr1G-O)+6RImup9u} zhCVZcsIhBV$J@2{+uQo0W15$^6(CoVFDm>$fylz~f1N-;$-7=4I5@k(4;BxQf|9d= zq=kYZZh#$tA1o9MrVrN%2FFHVA@cLzgFH_OzvNIBqdZ#WDhUHg|L(VQMU<6wCVv=9 zX2L++&u3H=dk0O-{9(sT7zlxCa8xYx4k3R>>u=1sfk5K3bfzPg-&?eoFpxBzv{9LQ z2?I$7ZZQT%R7nU1RBfLXKI)EMR{&@v00Cu1>X!Y%Ypp{2P9tt0sZCjd3C$t4+hGf(0pH7+^|MH7?4fDs!M#YsWMp$bU?wj)3I` zlOPL20L$zU_ei?3;e2F44W=JVQm|Dn)1z??ieq4(S&+#Trh);W;|#k3FmGYSgvZSa zWsVY!!K27AFj$b(!=|Q`LV$W9Q0!kF98!jQ@GVQQDIK=`HiVRrT2m*2z~kUZt332z z4urTK%hkeES(oMVtuLA;>wmxMlps`aNP*-KEJ?Jiyl!Bo2eK^dJ_3^}K=c>TKVA`D z*Ha9@U*)oYBnUT-gTryM=)5k8fna<+D8CR9%H8nD?CB__LjyUlmfP#Tj|yJ=cugbk zJdzmdx~}iVk5{;LKL8HM0>E{&&{0(CgFtxkvk#tvm12%kX4&p~@qYu{jqE_H1~TV5 zlQp;kLczFm5EzIP>*x3}py>qqb!>X@i3 za1<88VFXs^1HmlV5gNpj=0^zb^K<8r5`@S=xUIPY0rr4G!QfG+Tj&;IAuuL5w-y4p zn7`SMl?V)*)`;c?0zM(@&g|*W8?rw32k--I!~y7*84$#s2Tc0|Cu82gSYGH4ER``A b{Dbx{6W~MgjJAK`00000NkvXXu0mjfoA4o{ diff --git a/graphics/pokemon/tyrantrum/back.png b/graphics/pokemon/tyrantrum/back.png index 06f1563105bc0832ac3f10012e197c802341d036..f857bfbfd1657320c9c45c67f71b9a701a99edfa 100644 GIT binary patch delta 520 zcmV+j0{8uZ1@Q!sbbkToNklQ>P}(T+SV&1Orss%`}=?*VLe zFO;z80|Z?QaG^34O$YJ~3O!}-NJ+L?N#437HwYB()BpeEiLvKc(drtITmxWE0`()9 zlR$k0W+Wn5GoH*zaIxaabc!Y8kRT9GexF4kxZsl>9M%9F(tk;hh}wX_ltcuLwH9KS zl(3I&+uA3XkceGhYm<&&RxAV(+5?9uX7OvLf1LFxpv8Wp6(kR9c*k#S`{(BnkSAFR zqUeAR2Yb_)$JVF;NQ}0e#{~j9g$zk5)$|fi2H!Hwj~R5j%yeH}+=X$x0~)m0;N^c0*N%=**`R3-f@NVuw);%CIDSr`QsnPhO4?vkqDhJS}`lth7=ZJc6&>`SV z^#aVfCv1H9CKtiN$Zj_`N8Gpqmr002ov KPDHLkU;%>5Rq)pU delta 535 zcmV+y0_gqm1b_vQbbkN`bV*G`2j>O{4=pQF$fywj00HAkL_t(Y$L*4_Zrd;rhADXJ zR?$Gwj5;pOCQG)eZUrpw0c>>-l(6Un1YHAgp)wUs2l5RHJ!S7mNw!r<-m)Y&2o&$r z|NrEPvDa8ZdA_(I zz#*CR2&fGRh)JNf)#`^SNz&Ge}DA>xkwX;@)r2Kx7W3KYK%J0$!N=Ym?NMQNRgycbtmy`@GZssm_aAY zRCm?JT^PqZpnukzLy-@F_B{bwm~~NX+kR`Y(AtuQik9>&u(}YPKy92!8ufs+8jr0y z0i%`o_}Btvc9*~(^C@lxvKiu3F-pxJ8x&ve?t9`#34Hc1||gTzEQ-CfDJCsOpXql1pzsURYL*V-1}d?bZ+^%z@`iERxeop Z0C7c*@DN;*%hUh>002ovPDHLkV1g7)@M-`6 diff --git a/graphics/pokemon/tyrantrum/icon.png b/graphics/pokemon/tyrantrum/icon.png index 212f587d874964beede80e3662b259b488a660b3..ec2d0dbe54bd7934c44e4cfb29d2958dcf8d3206 100644 GIT binary patch delta 423 zcmV;Y0a*UH1e64jUkL%9Nkl+UCT^9-jPs5-Y z9$EH_$25hBO#7Y;Lx4-92}p@p7dDVJh7oNBerO98RuOou2X|`dl&#uEAjR7|r!1W4 zVGCKM_;N5FCj124Qg}Tuuf~E2=weP`7y~u73i@=3;%8TJ`lnYsf>i>191W$K$2)%r z04O}3pE>X{0R`OGm9h#_IS#tPlxH7~CV*joVo&IGcdK^sW?^|P;NAezAa!$TdV2?y zJ~MK?nmfprqQY#RuRFNdP$}kfx%Y4iMH0+^x|#<5@8kT!L8288m8`)ELfE!U^#%#> zGQVyu7$WdeyK`{}e)tH8kpg+K2_%1I6iw^DZ*B|$B>6yumhZsZlDNLxBG8Bh4R7d8 zsG!5RIL>JWpXn_W( z0004-Nkl$vhN_j_t;At2%!z0W7;bCohkQv(F8E;PwWA`>TcC8UN0=K2e>zYG)UcC>fYP|rH_nUulf$MrKm8Q z=j#qGCRB>~T<$%zp-6(c{n2a8{{KP9k4n~H1tBcDlz=jLnV+{7j9Jn_xpQ#{e)tH8 z76bBP6G(_Cno@s%U)&S|Nb-RUO1uJZOXB)&i$FarsCh$gLIoYB#c@t6cu#NXLDz3` zY7~d$#~=ZY)kL3rZIcbayGwO^0yrhW0Ze|;U}Q=WlvgGYqJYO7^Q4} zz%OAI+EUEF3)8g5;yn8uRNHU*?gwuF?e~6s0to5PDm z4P+r!L7H(*q!9v8m8LT-GK?e+ygO3rZ4Uv+%XB;hh*?@1H#6bh?AKk|h<;_*JW=gpXNn9q~!8Pb9Qqy|(L z*a12!;DB@8Cx3)A7Lnd}9zK5yEOSnDz$(jDrx|wq1>cd=JI|APR&TlhN#8jyM^1FerG_ z5N37A0F-WkT8}V$pZ1iJAst#5ypX!T#I!m5Xl;V?zyKow&p+6Y@0lZDqzkYepn+fz za_tawG4=+i@AE)A1bcQ}#M9wy{s{;4)~L$z!g%r6H~akx-`#jqmY3Zh4uBNJ xUbjAU0HkqCOE)ofT}C4@Z2<^tDPkLsh~K=Z=y60{n2!Je002ovPDHLkV1oUqWD@`Y delta 771 zcmV+e1N{8w2I~fpbbkN`bV*G`2j>O{4=pcMrECZQ00PcQL_t(o!|j%_Zrd;rhG_zv zi~y0WpsPe$9=e4mceljuPE-{}ff#5Kc<=+X@6j!5fpkdcOmgx9Q4FJKw>UrxbaJC- zC~3PJj{=H}zDWQ-{N&w{x}T6;{8zO6umMPh&SkF&fDXh%Cx0NMQ=-Me4fx6pw3NzV z;Nd`^l!AfU$JVI>~VUBEg{0TNRQu-DStCpiG{9QyWkm4++_c_Hiqtwi@p6Y>HIq>7%9r#wF5 z1zP4Drqd)l41aMzYCvT^l48GrW6pJ+5Ymua2u{rATmwTY(NgJJc?X3090w-T%a95W z2d=Iz{fOg0dosCt7kNIqKD#SRoeV1QP|fRAy+E)1URBjPp4`C70kA*w20-gS-qzRn z+bhPumyfHX5P!UVeVf=J3Iyv%#{jKUu<2s%qdUZ#Y=0x_zS$K=y7-eaFYN4002ovPDHLkV1nQ} Bb$0*& diff --git a/graphics/pokemon/tyrogue/back.png b/graphics/pokemon/tyrogue/back.png index 04644c6bfd8844b270178f5afa93e62cfee34013..fab71c971e3010577ae24c1ea527ae4a906d53a8 100644 GIT binary patch delta 492 zcmV8!d%!uNT$qFly9E_N+-nhIh_C~y? z1UULw0JPlz7zsQeD479&fJT6L2xvk9f7SH~&^!=*z?ooy=`Xxjk^NYuy9Bh5&P=+%sR>`n7)h>wdb)C^J84aZFgw+s zciX1%Rd&mY5d<3oA;!9@IMJ~=1re5&U-vbYbQR-MG5U2Ma2n$EBx8R3m-2f1_6EQ=rxYrd0A?a;v zxvRL>mBfC|B(#=CpS3~;C}Yfy-WZGe>%d%dTa3%++@BcT9 z-Qo|inaKym{TxuNW`Gwx1Av}x1R1+K!pc(gF%4k~FZhfU-c452wMq zAvi@m064UbxdKv1e}@LoE&<87QHvqaHQ_2L#jUHJuAFH)t*s%{L5%0!wy9i|!?q#> z!G=Hxv92mgbZkyRgl*;4V@m3u)iBh{6J zII0U<#OdPxcFqb6=>ZH18>g8O2W>U_n8TMPyA7EkW-6}O{4=ps`z@_8> z006v6L_t(I%iWSe3WG2ZMRNjklWw||dY~>mgdpB&Bp$%Q9HLN!3^q`3W60=o#$|VQ zc6lWK{|w)ls|}yesEG{_q6EnSXfXCTNRScHONpKkodh=wBYFuDTTP7{rE0>jQ#Km{ zsATs2{OIU;8B{P1)Trt3R+wkhmul?8oH6fX>Dy?;9(BH>Nx47_f;0TYj z^%w}djvxBf>w)Q-U4K)rRKY4O9m`Jd2y!VKPR-sn+9-Br$6P%YzKy z0EDf0OzoVgUJzkdu=#QuER>F_&fFzRIhEf9I# zipZVYcsqtD10XRa-$@jmo;J)(qht}I($Xvhhy}h1kY#m9*(gVf9TruN zfnewWpD6QOLn#<5=Qwnz7=6rD3Py-xKo@h5ssv+Y0zhSoGg}HqX>|#}*^Sw5&jeEn zMro5i1}-PKy#qoI1b~83YNp0sIA%C)Q4i1`q<>%-I!gl}CM&JhhX_c)SepJJEQUYo z!Ja7v15^OCV)Juy0}H`O0qlPG6R-Us80pdc0Kk6xK`_#QE-eh(Is2L1O2Jt22i@D! z8Eov&1Ta+yhK6n1aA&gxaH8-BtoK9!?L;jY0+>nQRxKD>h5VYg=C}i&ss*Fco6k=_ z{CIBP@&*cq&@vU!Z{rb#U?>1Bn9l?363-Qkb|7<31fUX(N+KO-8WGM~*vjnamEUs| zjB3BH6pTtkGD%FvwrQ*mx%Xpjaa94O{4=pw^&cw(700UP^L_t(o!|j$aPuoBg$DPPB zE0lf!_k`o5O)C}W15kP=BTdY<*7vb$>3Hmmxz_kYIvlYnQ_tx{m!d*yi) zf-NH|13q{ipmAUgN&xz~!vM}%vjlhv0rmk{s{~-!4=4l12R?pWTkM;F{hdJ^#(WUs zqpaJx_R5)00k%gYCjdT%=n%J*d*Jxo596?LJ#x4MZZxt@3b`e|$=wCb=B2ZH2aVAH z_rh}%Zf}tA8-J~IBg>rT$PJ(X_yBP?9S0If9o%tl!pcD)k6@p;y9l(#06}<`13&>- z2)Hc=ASC&x{M!bckdbkWSGEp_16)9~j^%ZK;hYt4F8iW6l-IlfoHKZnW%puoJvvGt z;fvoyu=|5&ase_Xz!LE7g(YzHZMi^KxG_JtDF9{l=&8PN+d?o- zfrg8KCFhGtzb_u3&1g^nj7audZbBY-`}GYZ1ptW&`A(AL zWxpS{PwI9((M*_EJyEyP3P5$-GJyJ(z!!Y==Ogq$bafO#C|hP6Y5*%ey-J;g*oMjW zwdc@CPk&P)-^Ein@mq(QCm?n8s#=#9qjB@9{LiRPNNU$f7`08B3;$aj?|*~T0|}sD)H=D?i*FdFE$RXKgAxqe zWO)E&veHKD5&d3nBrX zU|5-Qph-dm>*7%sqgUN8P%s+9p;j=gw(Q$(axoa{1*1*`QG#KUGQlAK1Y_fw_=EkF kKa4B=;d1E@|6~0D2)dJ{DjeJr00000Ne4wvM6N<$f^yuXC;$Ke diff --git a/graphics/pokemon/tyrunt/back.png b/graphics/pokemon/tyrunt/back.png index 8acdb8785bfeac5afb90a2de11ed6cadd1561353..e90499035deb2930b749d0973ebea1ed26cdccac 100644 GIT binary patch delta 542 zcmV+(0^$Ai1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z?UcQ4;y@IIErjSJ@&MLV%&es}+1&>~*|F#?uG~fxj*zk`MmV=m5s}sf%DfI*QMt;4 z9g>0jDg^3~}&xRl=b8s)J$CIJEjD5E&Tc@J2i5n#N1 z1hxur*)yQWi68R3$YtDFB?`|D%xPKGM9b#>O zTxr|1%qR}2a0?-&WI%@j;HmBbMNtCd%-*3T(xzntl-Ed>$d3Tk9wekb z0Nfr>SOKa7*aqc!MXP?xeJjC!_0>6PmZoG=e^~N+H(#2O{r~^~07*qoM6N<$g3vbjY5)KL delta 526 zcmV+p0`dKa1@r`vB#}W-e*gz`Nliru=LQE4EjZS8>CXTF0oO@HK~zY`?Ug-F!$1&) zt;kA`!U3!i&SHs%p94g&R(dNVwmp*W6QNYDI0$E8cKvTc(m}(k z?97+<-egybI_M;S&bPI|x;jR2$7Gq9D9vz~#S<1&oi zR;NDVHy|v4SYW^wk$Il%Fu+)0^7g_tI>7L@HlXD+(mJz1lQDcAkew3?#8}UL!?u7| zATl4ZRK9rvAoH?pe}I*sN@saqy|jU>4QzVAoFjDgEtRvN3oOP%trJtP0`ikCupaYb zJj-g}9Y8d|P_MP-j36sJupT}?h`bum3(k02tnX@I`}iqTy~M%*nbNjtk&$l`QC|ot zB?CI>0KDv386i`Qfv36$#io-w*Mdt>(gVWovft236?1D=97Ac(@B>fgS z)EESAW=ssim6bHHG=vme@BVJyXoN<*5dKJ};sg_%JOSy}-oOO&z?AL!w9>9d2acl* zJGK`Kk4k&)Hn7sUqZT&+NL)*_iWRwQn`9M|@Uv|Qx2A$P)PIfG970I3$tk<0RNd4- zkQggHH~_awVV>P*K|@d|_wk>X{6-iES_-o$m%=P`K`#vSbP+EM@W|qY5lmkhO&DOp zIX)zL_5kAV2QWVXkv^iDAApQ0dOrj?6@CC+ua$Z~^e1ZRN7lDX3U_^4qH*=df$#tT O002ovPDHLkU;%>Y<#q`G delta 301 zcmV+|0n+~80)zvQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=p=Sf4Fr3 z008GnL_t(I%k9!JZo@DP1yJ39cW`zaNP&#*T^fKReT$6A4eC9E4yU(>Z9}*Z6~wV_#O@)46q}r~8%otfEeH~0r6(7_qf%HF z_gK&n6z1?>Zvz8COE9Z)31+1pJs7xBFCGl=#NxpSrmu_!2AFV(Pb9AyKzx1%<^vGv z7}b0LGN$N#2qtnWd;kqYrQV0$qn19h{{BlpeOjV%=3}iT00000NkvXXu0mjfkJ@_Z diff --git a/graphics/pokemon/umbreon/anim_front.png b/graphics/pokemon/umbreon/anim_front.png index b634277e04b6f9789c88a1d1fd92589933402d8c..74c7e1c79bff8d1d86941745a901cf43522a7459 100644 GIT binary patch delta 771 zcmV+e1N{8t2G$0UUw;DONkl_wh*HosWMM9j#|_z#oqWfMfs= zFaXS8ydU@g*QtkSmpS_yH=*dr1?E){(CIEz;|FR%* zF8i`x{=Fw^4!_cg7UrT0DIZO1yZusCQIpJ;@ zwg5d^U=P!|(=@QhBT$yTG`5C~SDEzmqrdGm7jdbylBd^~-Vj>Rvd%b-@>2kiYF%eS zDy*;FVq4=xAp^{1+U?j5P@?8vjgU4<0I(@yz((-_S$_jy2r$$Df@Bl`tTT&Z+g8SH zdbz-6VYTP9&-Y?Dvtco|ru?3``+08knS^g-1Ku(GIdW@V;*?4GiOhftUi* z`e5KPU+>@JB4315L}Mb)i~Ycw1^|9HJ`Vx=Z(+zYNOyqJH|?#(?VR(!7i^fcic$Dx zx%IEQQGXi%#CZ;FhS9&nR>z@NU)Z<1KzmMpV7*&tNyzR5%vQ|onq(O!-sJOf;Qbdf z7@?-gq6z@X0$^+fl<@=cgvDOTA_M~xBVOGCuzs?B<``}Mb> zsugVMrq?hr!2OR7s4~4Fx8>s5R6W?>r&pyu5q#%8pp%O!YY@eGHbw6mhW@a^F=k2E z(rSoauJPT^U##-XSqHe~60C5Di!7+9?Bbq2FvPXWnvVAZXcZPVAZhDz1cYFT*z~gv zfKk*F5d7?8w^P-&wJRXHXP*~lJO6O)C?Ni){R2xs&Yz@002ovPDHLkV1n)B BdN2S0 delta 786 zcmV+t1MU3Q2IK~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;a*qFyot z0008VNklv2NQi5QZhNL)$47k!bcAZaR{=25dVPP4+sFy*3UauT==^fNn*G z0v)@wnKSh*dz6#}kw~jRhAzIv0`B7-d3PrNB-z=(lB42e0NZdGHgt$H0q&831ADKP`!RhkaQu|6CKb8xWVp zy6WvEgV%3w?|%SGn?-L6iG%9B?Ert+vJd3stu3P9EtdV$iUw$x89wc>T<8Pb11eB1 zq)N)BpInV#IT0my9Ir@Wq@7ac4gn5bWaQXS1PqXl0L@Xk;N&6z-I^d>#Yz zh~}zBfPYHGD%9R{;rGH{gITK>g^WCVtM00e0OGiSw!#?BaIfPqs4x86U83J7Kd`|R zMiR0+1A8xKdb*uun0Qmnr;+zx9Ki$)%@!^KWD9_)7f?0~q%#(K6^jszNQ`uK3BdZv z`)#P3-&U+Q9k%f~(U(5({qpN?ORg1c`DQRMDSyEAj}CC!Y^XnS>CvIO^}+YgDzhh! z2S6tmbJie=>ugImoU$8MIMy!dTzU;Ls5QR(`HNMaJ?Maby96s7;wB3!ok{}wz!LXL zHxnNO&?_u#)tJ%AKtKqVh|N6v0N9C%-m{NgCZ~e}qI>pvq239I|7L#yOFzz^>}RSI Q01E&B07*qoM6N<$f*~_#yZ`_I diff --git a/graphics/pokemon/umbreon/back.png b/graphics/pokemon/umbreon/back.png index 72d83fdaa0f8fa851cf29d8def457687a05b194c..8dbad964047dc99bdc5cba29537ac3c5bc8872c3 100644 GIT binary patch delta 546 zcmV+-0^R+91&alcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pv+UK~zY` zt&~Ad>@W<5i@cl-R;nqYmuQtY>S9(1X>QPAjTo|zMtVK~N8tjDio}8?7bC6HHmOq~ z@t#+W{nh#7=5O}jqxzu^=YItn5_>?DX{-d!K?=xr0wDDkEKo@R=a(A7vXTH+0e~q$ z%^FickW2!FOWr5oENp9kI13Mm@)%B7Zk`xu?=XK_0yW{*oGJ#4F#-U}jd^6?m;|0( z_HNi2{<=q@A=@3ziKT(vdNgivJRzSBZ0Z#592f#x0&wv!LXC+*x!8}L*MQA_22}E1 zJL0p-wAM+DOnhohq*j3px`v3($wM&E*U4UR&05fx5ie@3Lp{`gorEQ@24(ZwExMY+@qlf$yU kwD7Wn_?7(#{64bm8$d~ig5U44KL7v#07*qoM6N<$f*?in!2kdN delta 538 zcmV+#0_FXS1%L&RB#}W-e*gz`Nliru=LQE4E(1(ZQz!rc0pm$TK~zY`t(3uT!Y~Ym zi+toVD;1sSOSH-m2To`bZ%}qdu-qf05dqXn8R=EpHmD_n?EWdR|?F&#uM#K8i45_s3%tvMM!^v|S* zY_%6BTN=nkkH#tXC$!yxq`J_3U_hwl!;@>CS=v^v$e1YsNEMx zNdVxL2u0DypFJ?wY10hLUw=iqt^sfd;Bx4*Re{b30Is1*%qCd-a+}yC@FjcTvlmfg zCPM(dZ`G)1LHP)PMyo6Ye3kY&d1;yh30&;T&3_srh6G^!e|3Y>GL7c$0Pcpk6IyS1 z3JjOK5S>i{aFw};mF|FQc-eL_z@jM`k?z71hDmZSXN(?I2iP|1xMXd!;Vu~GPY$Ru zV$z6;^CZDgV;5JdO)3a)yC|f=%SdAZpx3ud;MjKU=!i5$l9v4qDNlBeu0 c@QD2ZKuL#!5M)OqB>(^b07*qoM6N<$f@BTtf&c&j diff --git a/graphics/pokemon/umbreon/icon.png b/graphics/pokemon/umbreon/icon.png index 8743bf3f739c68d316a5f0b7817323d7e0516048..b81590db133376487cefbcc98195f3c2eccb08b0 100644 GIT binary patch delta 257 zcmV+c0sj8>0@(tPV1MLEL_t(Ijop$<3c@fDhUW%Dz;4Y^Ty z4oqh;2khI0tX;>uav*Nf<$$mTfYk{9>U=6pwy9MZxsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=x5gI;W=q z007xZL_t(I%iWSY4#F@DKz#!%5?#qrm^xRH=vt1zsmo})qGgOJ3e9f-Bo>6XJjL?w z0sM5Rly5W@Se$@r2Bu!rSU`;#7F(m>c>`8`GYB3dSd86wFn{;m2Ane_;K!}jbp?z{ zTL#>k{lR+X*vwk;Y(1ssCUcpTM$S4nOf;Ob*_0k2cf*AFlSJ5*X%7Kkm|Ap(N7XbL0R3002ovPDHLkV1g%HcH;m5 diff --git a/graphics/pokemon/unfezant/anim_front.png b/graphics/pokemon/unfezant/anim_front.png index f659a21eecf3bf8cb2607499731158300bdc77f2..8e564674d1cc85358f72227de400f7292c2478fc 100644 GIT binary patch delta 1320 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 delta 644 zcmV-~0(JEYIq%j1JRn#n3SYB^w zP|l+!)ynd8_hdJ+4^Gl*x4&`c{q6i`c0S~J|CxQ|ThHV6bAP|U^EPkoK!J!k3cCaB z%;CVVHB{%VL!r7H19SlI0R+dy0lck_AIb&f*|DsL5^|8z_q&(h`aC!vJs!rAP32)aDGtt07Zov z1D9S@3{j6m@P9S_OI+#7NaETLt@ztq0Kd2}8;V*=+!W$Co&?Tt>i*tyK7Yz5S`y#k zO6=zgzR0Iqk^myuTO2RO3jR%@vlII<5rU6rEUthCQiz|&Auw#)rtN@wb$a541FtBQ z3Ois0*e=#a4qibG^oj>ks5F-Ag)w18L_s!(in<2jw14K(kO;B))*xI!Yk<8phO|f# zqvr9F00LCf9MaoErK(2igapkg_cLr>F?}qkPRZnyrk zBaF_&G|e(8+76;U@i68Y%a-*%>^~;PQt;e;R*7hm*A|0YIjTLw^a!x eoB*TW(Eb2P*ib)9$VKA-0000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL008YtL_t(|oaK_CZUZq4hW!SX!$vN$*+weuP1~W6g0fZGUS?0Q zu##I6)`Ig=a4os=DZuvf3*97sW^}&l=WFaddM8&7#8>YOk$_Mrek0; zJx-T2&*KVcRhMLXPz3z6>)umg=Rs@gK~Mdg>L2g6S0c5-U>C>>L&DCe7DOT#gBE#w zj$jPB9o{+^2I2W6Jn1k9-w*5!TDnocZxE)9L2XIiAVt-*(V?}CK|lNP4e5As5$>ww R;D`VK002ovPDHLkV1kDqnQ8z4 delta 306 zcmV-20nPr&1BL^TB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE4E)!Ab zLreew0O?6YK~y-)<&q(8Lop17a|6p^B`>nsMk?*5?NG=-*(z<9*$Ea_^5%rC;CU%& z?1u_UriS@b?EFc-5dPN!6%bojOx1#lh{<-;$mlwVnIx!QLE%>te;8fx{`^H!=?czA zX8gf8z=;tjGZzXW&Sg7}X_pO?I8Zo>jv%-x6w?R`yIn!H>3{QEB$FPdQ=VrvL#r;? z)IlM@x2)bQZarvCJ?LEzv--!o+bg14VW11-g+V4~REx|h7=spmdP%_;bl!h-Fbsm@ zfoalV5Pa^*8?(^b07*qoM6N<$ Ef@MvE5dZ)H diff --git a/graphics/pokemon/unown/anim_front.png b/graphics/pokemon/unown/anim_front.png index 252872d2e5b09e0094c01c7e97473a7f0a4c1be4..065d82a47f3984b13056967a594cef08ef19a7c0 100644 GIT binary patch delta 286 zcmV+(0pb3N1K9$Q7!d>m0000!NOm!?scqiPzeL-mfPoIdU^p&5-Zv|{G zu;%fq={xv9;`YKk!!M0l?FU2cHd|c2p1LOTL8imi@68;ROpoGb2{V@n?{f4E^vzJ6 z!?o%_$7R(k48AAWj@)E=l{#VGmhhqs!78cy@&-%NJ_L2Lcb>0jIUS;rf^>bP0l+XkKlShNw diff --git a/graphics/pokemon/unown/b/anim_front.png b/graphics/pokemon/unown/b/anim_front.png index 99238cf542f5bd82ce62464a5374b2a6f2fd36e0..bedc986348d3b6a510adc3448411d580f144e0da 100644 GIT binary patch delta 303 zcmV+~0nq-H1L^{h7!d>m0000*zdVVXpmbt4v#%bF|iaT9E76rb`9MQG#&W zHOB^)p74M0;n;W-ltKyMuyx!M8U}tzo#Vk)3zL+G!TG>stpUc4i(0i<1y`2R-|AMH zir|AQR0b~$e-79N9t?j`F)=}6Q0ob^pasQm9xCz;Q|JC67$|`*&lxRH?m0U#-)M0` zJ{>M7|EkGg0k|4ie28U-i(tsS! z0*}aI1_nK45N51cYF`EvWH0gbb!C6f#?G%Nx})V;B~a*vr;B4q#=W=GHVPe9;BnsE zkn;aO`}MXh#mZIJUGt|a9r*NgSC8Q{=>VA%!jUh;B$Ex4gf`7v8!j6aALLMyQTuF0 zalL|S`;(42+!}1!4z>0NPYJx%;pe@NKn(4@LOy!DlPJ6TW zo^OxerY|w!kX78}<5(y%-Fd>4(-)S%u=IOz`@x!X+AfcB6z8&@XwEJ8-dMP8;xAT# zPZCr9&0|khOqG0c+v|qFVdQ&MBb@06AfdHvj+t diff --git a/graphics/pokemon/unown/b/back.png b/graphics/pokemon/unown/b/back.png index c6501736fb09675474ad2df7581a7023f3466f2b..b398754ca1db6f82d74fa59f731ed49388f04007 100644 GIT binary patch delta 335 zcmV-V0kHnA1BwHX7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC#NUqyrFF0C^DC8QK8( zz-Q%_$8&!c6QHRFw2>8C^!S9S%UM00JnB_ThCOt7^f( zI8wrhoDx>Q9G5ry$6?_CwDyidw0{dXXyyzPS@o!)1o4>4r9+9~&0CoR0x~AmfgWMh zw;?3-%!IiD!flN{@ckZA1c~?oXokp(D_g)sk$N+S6+c13i}#Fyn)?@WD6wWc001*kOjJc|0A-OWFn?8@wk`kw00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=xqBgywkw0099>L_t(o z!|j&A5`-`aL%np;^8X*a&{{>^gOJ%hHD~jNA`RWPrKR5sD#~AL6NVsNguQhoPciK( z$skU<5#o(NYkyTcm?oINl#(Y13D5#=fFQvDmmWj_HofgBc}sxSEd&5oI0dlbhcHKA z0lkUx%^&%XAPU&e!4>czg#Fgan?HOVWrzYoMIWD?!kbE!BH#A*P@&4Nbm6|RCg zOxYgD8EUCxnBT3YO#4c&ejFrDknTTv5e7K_NQd}pD^yLc;}H9w&<*1! RU@ZUu002ovPDHLkV1oN7l}G>p diff --git a/graphics/pokemon/unown/b/icon.png b/graphics/pokemon/unown/b/icon.png index ec784d2f69caa0c492f899813b8b1e1d291031c0..47654aba5bdd1c8e415cc1c6ffdf251cb17709ef 100644 GIT binary patch delta 196 zcmV;#06YJt0)PUL7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCJQ3t1>p7~ yzXCcFcnK&RVJ7uuAW}k8w9s+>IYa@zpTh$sRbWxYXsieT0000H=O_UCNu{CZ-Fz1t51g(^K=978;gzny%L?|=b^llWJ@ z|Npmcep{M!>5WEsT$IYgO1E$&>H7;gotVFfOwDgl$oNp;c)>=A^O^&LU_mnH1kMO= zUX%C~ZtW#2t-}L%X`1bezOG`tGHcRrv6|lxPR_rh+YsycYlV}J)6d_68vg}0-m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCvFzK;57=*ViAf|2Nk3;L$TO95S zcgR6e{NpIZd;*sH)j+Je$pYfbfn{y7pg#kH%L6f$D%XUt?89IY^O-ILk17au+RMgqZ*Ce4iq5*X;KJIjFg|>f4s#LC?&VfEvLZ6 P00000NkvXXu0mjfAF6^T delta 366 zcmV-!0g?Xr0;vO#7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=xv0iicGI008_+L_t(o z!|j&A4#OY}Lwi9^{Qn<3pe=)T(&TX1D&boXeoEZdux(3A-$hRPli}F_(ws8{xIY{~ zFMtUGrU4{p0Dtt9l7&-XO`wWEFu+F8hsb_2ixY}}47t8Y{T*wYb#}cFz(I&L>RW+IGjHy^MqmJQ?*RG= zNT&@GfcA3+TDjCw2Vi7?!?qu>2mx@$DFgNm+>w<^yHBb+92?Yj&!8k9EcG4m_!yDz zYU&QyPjyt~Cl$c)B*`O)AzUw4P(!!@Oa)vj0D324ywzNvmzGAo014k1LP8uSAOHXW M07*qoM6N<$f+8}D_y7O^ diff --git a/graphics/pokemon/unown/c/anim_front.png b/graphics/pokemon/unown/c/anim_front.png index b0048117056691833f5c4f0c0ee5aa248aab2169..6699bbbb5be57ea1127ad4dde663e5aef6d77ad1 100644 GIT binary patch delta 344 zcmV-e0jK`U1Cs-g7!d>m0000QzEIJNcAW8QK%mK>4ZR=FktZ<_4{kA;5 zZLm^;z|sKV=)53eJ}^pJ4-FI60^l)QMyTWauE)X!EXuTEm1836SWHEXRx=UzM|Od_ zEKGz6rGCU;gkwR$--*!Q qrLP2kCTM#i2!bF8f*=UOH@pBN%6Ws>@N!N70000@Y9Brdzx9=ae0x zUAGmS}i7RZ0}$N%9Yqixsz*zjuI<5;mFyy=kG rulWb!x%Bq*h&yp8wg^Co4t@D>ZUO7%ldh`)gO9<})z4*}Q$iB}zj>v$ diff --git a/graphics/pokemon/unown/c/back.png b/graphics/pokemon/unown/c/back.png index b007751f604d36d99b68aada2b951a6a3795e0b0..b9bccf4c5098932cb5d88d5116b25515fdcae5d3 100644 GIT binary patch delta 447 zcmV;w0YLta1o;Dy7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC&}t+4$+|J7LFjE_)wBq`jY+Q(avN7;b^zyzxd0UF@GZmu41ARa z(_w6D7HofT6o%4*4YDm&Sg=91qY1Dl;NxTN!r{!io~0?84=M%z?p2 zmL>uQ=L_H>5Hlp;os!biW7WrV!4TpE&|AbdphJIi9RU6M1t0GgJM{z20E{E1p=@DQoEr-(FE^$!p@@FL?XN{9+e250Py>AtwqQdJ@Z=oJLzqM7kw$$Fz~v;$luBxn;%=rI<|EJ=y*pbV7H*#IsyF= p&>bV+0XIXWS9b%5?jPyzt{-KnCQP5!J^=s#002ovPDHLkV1kae#FGF3 delta 468 zcmV;_0W1Fb1C9ic7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=xzSHJZc#00Ci1L_t(o z!|j*LlEWYj1i4Vc^Zy?lo0lcbLl#xLIYie~x5r3e;@q#kyg;c;@W~pWdLZtP@=7Z*93@dWjMLF z0l0#FrYNWbu;FqI58Iumo_gE7S+L0yw)lAEGx6!JnQ;rxFN-kn{=P5DiPFBhzaI|E zotb>7yEWOg`j-IdwrOm>4;z!8hHq1_wfD-gv?FllKRmzs)A|4a7AIZG`Crli0000< KMNUMnLSTY%Ov>c| diff --git a/graphics/pokemon/unown/c/icon.png b/graphics/pokemon/unown/c/icon.png index 8773c2108e732d7d4d5ff451916714368e1bd737..7b8721a7db213d12f3dbf3775686b06601412bb9 100644 GIT binary patch delta 216 zcmV;}04M*)0+a%f7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCQJ7@>cniaSVMd<941fP$ Sc$rQB00008m$Tf3eEC#aSZV|{&vbnz9R-4&dQVT z{`m0000T#FohFN0?md$GY2v$u}PyMWnV+ z&ymiwZ`Xe?yDvcT`e@h4V;t@qMJ(+(PXDrYq7hc#63iZlX}Pad!?(ILN3=88zMwH! z2)r;nxDs_gGutFBkRMYc0=p=+)%V1$TIp&eM-@7kr8I!!uKU+4dkz-?_0e(xSI^$; yqh|y3_#Lz_lmcvr3NC(sK@bE%5ClQ^j}P26YR(W%4nvy&0000UOlJu5>SY-B*-tA!Qt7BG$4nw zz$3Dlfk96hgc&QA+Lr+Z*-JcqUD=EalYaqsO^Z@wc29L~EJ zvc0Q+!1;4aaORTCgxA}*KW0!o?#Q9|zmPrP;_MYw2M@Wfow&VVqvN$hrdHD7iE-bg=Q4NRKHL!5t~Nd6an6Blho{^(dT~uPiQ_TT_k#v^I}E-Q%@eYn z!)Gm+)baOC!c}{v2el1#b_;Y5hqr7mFL=#(L8huDw^`1bDdMPupKpAktA}{ux!8rh zpT8>DdVCam8|6MTaNoBRx6&5gkM(}BWd7&=MbDm^TK&~<3yP0gTe~DWM4fBF&Ah diff --git a/graphics/pokemon/unown/d/back.png b/graphics/pokemon/unown/d/back.png index 37bafa6c859e589cdd86f02ad3f1c71a1f29b651..1b3f19b09ab607c2f4902f94724eecf75dde409a 100644 GIT binary patch delta 392 zcmV;30eAk|1H%K57!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCm!sX^7EI-ssJ>o5` z&EWyOU(@g|>$69_G&(Q4Yjq%iLbzBAB!HhgMb>PEwVX?j#8od00lacdNGoTcY`v3p z9sz&X)=E0}*hJwh96^weo;@OjuPY1R{Rh+uLZ84nBhkr0a}Hko<(9HY_(d4=3jsX< m3Gtzx33mbDQ;dD!kJb+%?BqdcaYDlY0000c001*kOjJd5VPcUfFn`^fLCgRE00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=x*DJj;Fn00AvYL_t(o z!|j*L5`!=ZMYC~ky#N2f&BLSt#}Tlb&d9Edb3_u5ru4=erXXqr;X*Q(*!PeD+;hi6 zf`V^brz3)fZ+`>#3m|c~pz<9rRfJzK`F4C&Kt%ZC^xcBV&)+_Q=Bt1%f#S=F(j!1t zd}0fG?_|l7$3=iOfy#5akRxbQ$ON$5MO!7I`JA)MAOw{cEnzS;!KeTO0?GuG;NBog z*bZQ=fkCjofjEIFxG_K{@P~r^7lP{|-uHEX>ZQRj7k{|C1L#gb7C{?Kg9+jtNX1(P zSf=5Mn+C$kumqA-@EvK3!Z;PFzNJH9UQ%%S8pFBcAh=N^HOcc+L;i&UaRd7}jPHjW z6E(VHj!RsJa!i3kQ4I_xFm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC<>&Z(FuBQ87S~Z_=uP*IcGIYZ1cbj`RrKTh3bC}-#mu{XrOU%>rVz>00000NkvXXu0mjf0S!_$ delta 234 zcmZo?NMQuI$g**!lIO<84mY0fj0(T^vI^j=!C3D0IMqgUL9F z|9^e1O6FqC$xcz<+@7{Qj;K|h>L%~t)3JypgCUDW*<_u8Kpdm^!ejhKJ}mN_f}FzM zkCYcUEbEl>FuJ_V%3)SR)F&y&y*e+ocgehX&bOy~lHG!)l;4tjYW?i0f2(aXjsCy( e|F!@2R*YN!^IdIo?3Dw$g2B_(&t;ucLK6Txm0000_K8^=*F} zr37IYoSnOZcYO*(83#Atw6w!4o6S$@_tQVQY_0pdE_#EatI@V2_HTid3|8pj`$4-93mj~K?-)CKC zo4|FtX?AT@e{uPl)gt>?^412g_bcN|mMU)5K2mCN^@z8^2E$`vAB_Cm1^>0hwtdm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCk; zAa=InVnlz#?GmSi30tfr9uSakv7|tCS~|I@l|lvb3qW^dsx=$~)(3hiu{8E~2i*Jf z2Kb5b`X29MOdDYQGkYD;bpr(H$?hrA#&=*}s7%}n@Lc497vl;5AHsSA0Aym98xGPJ zfR_ZY-+^l!{~fME35@Y2-Wp1;#D!?BkXicI`xH57eSgc!0=c-d#2_F`ES5DkAYfWL ng#Z(3AMhi}meYLv>H|Fi$AiI)wqoy600000NkvXXu0mjfte25= delta 365 zcmV-z0h0cZ1E>R#7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=x?HUv5hP008?*L_t(o z!|j&a4udcZL;He4{Qn=krMIiqga+gj=_MQ^*n%<6pAYRaN~6m@`RD z5I3NDll&zlUw>=^RYH)eNPzI~A+vxW7XUB^hyyh}loR$m2{L7meIyWQhLP#y)89_C zn_zxhNSZJUumnNxQfKE!r^5`J__MVNMOT~f^KG=ml zGOql!eHTFf-d}si9T>WlGfSx}3;mJiKeDh+#K2`s(CEJWZ~coNCI%Vi`GzaD00000 LNkvXXu0mjfDe01{ diff --git a/graphics/pokemon/unown/e/icon.png b/graphics/pokemon/unown/e/icon.png index d371238d88565f8cee56fafdf2f4eee152513cd4..6addb828e85b7bfade9ea5f0cb0e490222138d59 100644 GIT binary patch delta 189 zcmV;u07Czt0{H=u7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCpjNI!%@cey-WVdI<#vzB`#sSGF#$;p5tlr*<{an^LB{Ts5&T&vA diff --git a/graphics/pokemon/unown/exclamation_mark/anim_front.png b/graphics/pokemon/unown/exclamation_mark/anim_front.png index 6b0c06353dc56228a8671478354e212e8fdc0d0b..96c436e8c87966634bb7445ac63063b033d0b0e2 100644 GIT binary patch delta 241 zcmVm0000?nNpijvzlBTIgUsuO;zpT6Tb zO4BGOW)ogFe!X+yGW{y}s!%(_Nrdo!Atf#dKwpfREohJ324G_WVG|ay+hj44h|l%y z5zB&^Cl6I%DE2VRnlfdfU80ldh=AC=o_$$p20Wa*ktybf0O0ga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn+|anEgkf&?Zk8$B>MBZ>Jdw9d_VgzT437 z-`=92%ub=pM=1B9-)rXLp7q`wALT_FLhY2YlQlN~*r1T4>%pnA;>3D!9&W}7y!-2e zw0@hZ$GbdF{Wr z9h-)N#j^@{>K1&u{`cdV-+zzlwmz3j*mbb?kztC?v`Zm|#b@F(9{3zgTb%H-S+PaH fi33XfP>d@Km00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCIAjt4J;AyS?k&Wf z@pwW5Wi*fg)zWi$D}C)H|M%1dTuP7gCai_|r`83>*tSXDNN5rO0000H=O_UCNu{Ce^cf&A$}p>3Wnjv*0;-(L6TI&8qhav|qT zMDc&->#G*r@HLZbt#jCXy*n_eQ^x)2b7zK?zphpLb7bUlwEX+S;34`VE`Lh@fp;hC znWnM4x!oZ8;X4DD#sj$n?-*t~q_xfi}! z$AGhfIV>T#Vqe2f_SpZ9xD4 diff --git a/graphics/pokemon/unown/exclamation_mark/icon.png b/graphics/pokemon/unown/exclamation_mark/icon.png index ceb17355cd21abca7e80d6e67884a5358cbc38ad..beeea4ae101beb19b0f75aecfaf4be64f66ef1ab 100644 GIT binary patch delta 160 zcmeBSy2Cg@LXd@-fq|iOLB?DlWf0&K;yO{spgwZtgcKm3u_VYZn8D%MjWi%9%G1R$ z#G*GjK_cscz0~~pkIb_g6m~Vp*s}aPy?9qo{KvUMU6cB~y!yXfWcl(Wkma7{&4pYy z{#LhZCH$8RW!=BYaFry_{GNM2wg2sBdAmzU_!?+z3ot*(z|cCuzPfhJpAA4;7(8A5 LTv*mQB{Ts51XewK delta 208 zcmcb^*uykILWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CW!S%$1^mLh+t1jv*e$-%j!7I^e+J%zoBx z=l{&?+h31_vU8=qKI}hXjp;9!py2Z#S{AYXsCVG9TzyK-DERlkNTVa%D#`qJm>)10 z1}tG!nZZ}e%CPycv&!4^9(TQa)f_<3kL?62^GeR(d&T<{9 diff --git a/graphics/pokemon/unown/f/anim_front.png b/graphics/pokemon/unown/f/anim_front.png index 0bc5cf7457492543bf71fa6add0cf7ef727b28aa..1c968565924d4f9f8320066c89d6d99cd30046e5 100644 GIT binary patch delta 313 zcmV-90mlBJ1M~ur7!d>m00003rbt$rPW#+3(fhlp@?jYTLNLy<^hruta33T>l{)wWni4MN5U zre74;{-h;?KOYp;NA00000 LNkvXXu0mjfxmSh3 delta 358 zcmeyuw2*m%ga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn;Q7bEPPt&=*e^$B>MBZ>L%=I%2@#d^us- zZ}}gaEsWRl)?4k3Gve@=$Iie|*C+YeW8Erd?&*^~B1*ox=v`me{MuEyd71OeOx>jV zY|Drj;fH1}$>lTt%Jiu=?W5Ek$5stx+cn2n0~vNZPhAk-$D_1s!lt}t9XqL=h6_~l zx!3nRHMtObh%fN_;pe}WAB#`s3AKuOaoTZlu5V~wbBwNw)ru2g8)Mh2Tz`|ZI%%q& z_@-;`H&@-U$jQ6^DO(|!`PARXosC^Qzdne)YI9eYJQF3+c4F0H%VUzhGLKe^T)*&N u|A_z5Uwmm_P2ZUZewOwX1bP(?{>`>;JHlI3V`swy67zKRb6Mw<&;$U7Xo`dY diff --git a/graphics/pokemon/unown/f/back.png b/graphics/pokemon/unown/f/back.png index c462579c73e0159af299a8de627d5002ba7bfcbd..30be252f9d1f85c7da0b842de946b7069bb36888 100644 GIT binary patch delta 358 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 diff --git a/graphics/pokemon/unown/g/icon.png b/graphics/pokemon/unown/g/icon.png index 6314807c175c86b859c71f3159838cc8c0d653df..ab00f8ad216dc9049b789853f9316a7a7d729dc5 100644 GIT binary patch delta 181 zcmV;m080Or0`UQm7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCr;<-0@* jId1vt{O=jS@bWucVR1>1#}*?C00000NkvXXu0mjfuFOYj delta 217 zcmey!IF)IFga`*S0|SFkK>Tb?|=aZv*3o? z|Lb!XR?qS3w0d||z1hJ``mT69=l#V`vRmTPf}0Y~7qXTdkF zp^|Na)Qz_nTE6`53Ak^>oSm0000EI`LDE(0nxBJ0LuLBzfVQffrbqL*@kNF>DvkC=V*`IecP z6#^kwD35i0l^V*p3D11=`R(JDI%JiAz4i40YwDyejPSa!u27l4Uw;V+Pry3g%@W*r zKz!#Wo8Dv?_D{B1bemz=N8n}agOc&eHSNV1^~hRciLtDv9Ym5yzT_bEbq5~t6adVF z`OS;EfLwhCd6OX^5`&Sh($07*qoM6N<$f^P$+R{#J2 delta 422 zcmV;X0a^aB1KO{4=yF1UDnkA00A>eL_t(& z-tCpijsr0WM02qV^Zy?l45m9XnvtM$t#^siauu7G*NYHB%BbQy{aT6#7D$m9Y>T#j ziG&F5u+Y^HNq-H@LYfY`^>^Ap)4}yW8rO5sD}Ob@XggFpX%&ZFqkWM}!$DKOEEBng zi0UZxgt9`0L<;^NTHFpAkwU*)a5)rHIDul4W6ptNxqs0~!1U9>okF1o_0<+_czlIe z4*sdwgflvCrRgW&DV&j3Gf-c@rC4d;-wFm%u=gHg3V+%qoL>9zkWG|E6LVQ)5@VFk z7<0eGJp#m0?rfwi_1r`v(%i~dq~mZOCMn(sxFqo5Y4(^J`Aba&Fnu-`tda2+2g3+zRQo|5<& diff --git a/graphics/pokemon/unown/h/back.png b/graphics/pokemon/unown/h/back.png index f668565b81d4ff248c5a0573b7f60cb0d23b15f6..992e34e21b44409d6589f841fd585a1c1876a89c 100644 GIT binary patch delta 476 zcmV<20VDpi1eOGl7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC#n}OAGd(jdk+Li_K!LM#OeefjderyucdzC$1(t3wVo(%ph;;0 ztT$-`!4H2Fud|MJz;7Kzl@+NxP&n;t9w;(sTP}DNqe3Kt+461FgGi0NH72)KAjKvD zjtOeLHDeCSM2507t01JEuP9?yfqbpYBV0kdq(OaQzB29So4 zfV`*J!ycVO;h+=$P|BefT98MzY@}9WRvj(c001*kOjJc>005CGFn>ZQns5LB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yGLREKW>00D+cL_t(o z!|j&Mwu2xHgxz??%=Ho~betOke1Mu~0LUR=lma!41ymtmlEUPqbAJ$6LrFn4X^qz)JwUNOK#dLo z#kmiVd(;ICBRGG2bqT{H(j<``fGJUQH=$Fp!$M*&fKJ5@OSvK_{leH`GKnMuE2xjN z+IKbq5P=JY#<0u+Xs31Yyc?TO;leL0^1yIb=NgP vH2vKZdD~oxt>>qJd>ek!wtu4j**~#AGoUGSEV*y400000NkvXXu0mjfTJF&b diff --git a/graphics/pokemon/unown/h/icon.png b/graphics/pokemon/unown/h/icon.png index 0e1e19437a966618039b77bf83d9b0b3b8162c71..bd4fd96bfda865a1c569e3ef5004e5ba0f7ca33c 100644 GIT binary patch delta 210 zcmV;@04@Kx0*(TZ7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCStdyNdu&4LG1+=?~%g!egaZZ2`c=Lt<8 delta 252 zcmeBU+QBqILWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CaBaA?^7

      9tX#}JR>Z!d4;J7U1We1U88 z?f?I`wom@}U>l$M!3zuPlr*)@Z~p4F@>RN=L(dW>*U*V}>?M5~i|zR5YG*J_WnS(Z zt6t+EX|#Z`rOCs`sjkgTe~DWM4fHD+6K diff --git a/graphics/pokemon/unown/i/anim_front.png b/graphics/pokemon/unown/i/anim_front.png index 2563d3f3b208651d09bfcbd5d4cf474c08212e71..04a748fa0df0ef96095cb6eeda81f9ecd5bb7a81 100644 GIT binary patch delta 251 zcmVm0000$Pu z`sPhQYp7pR?dmKp$dawglmJ=J-gtbB0Qc5pL7QyC*2YZum=eIbLOhg+0EI~KU1nPa zk)XfsA1p$k>@L&C$_VH+A3?k>r+(vG`k~hui$iMiRsK2_&%IwbYQt4p=7?e+VoNEzAM}6 zH@;6+^wh#W* mE6!qMK3gRS0~6Pazi;N)=plDdhJk^Lfx*+&&t;ucLK6TPZf))W diff --git a/graphics/pokemon/unown/i/back.png b/graphics/pokemon/unown/i/back.png index 49382e50a78d955d1136777a1082d377c7f42169..5640fd5e0278dd5f01c96d9165cbae04bff9d843 100644 GIT binary patch delta 268 zcmV+n0rURo0>}c87!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC=kXwBB4LU7v>O4}v&AEHQA%j&0Z zCvh<5FVAoT;C=!Dqn!ZoIv^hqhyaA+0q+L|fC#`)bU>N;qKLK5oMf@Ab&g34U>{Z? zjza!qLUD$=ah>zwG%IwKGefLD+`9_+sc;T445q;c}M?hzp1SI-0B_>}8f S)Pm~(0000> z3p^r=85s1GL71^(seKtxkiEpy*OmP_8#}+A#)CJjGJrz6JzX3_A`ZWuzLBrRfX6vf zOa0$}{%1id3ktj+J>&~~Uzg=PwjOb0;$RtZK=r}YnZvUxK6U3aDX5KE1A zlF_sad{e3wUB=IFDPf^SM1qmS+}=-J xm*?^S_&ZB|y~QhUo~9@LF6ZX2GtXfCepmR(vlD#(=L0>$;OXk;vd$@?2>{d;aEbr` diff --git a/graphics/pokemon/unown/i/icon.png b/graphics/pokemon/unown/i/icon.png index db5ebdfdcaf37f8b843a19ab6ebdf2c09561b92a..6973196bb343711ffe87954c59c05eb64a16da4f 100644 GIT binary patch delta 163 zcmV;U09^l#0^b3U7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC!mP^ RCjbBd07(Z$PDHLkV1ki5KePY< delta 209 zcmcc5*vm9QLWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{Cb+xU(fmn6iV=PaSZV|{`Sg2t^)=f%omdO zsQ>@Jb@E;5MA+HN-Pee`DpE%3%5cknih1NTATbVgC{@YD7aB4gww2|F2t!e?A z(TS#8hyFhlU0}Q7%AMIyEFVZl+^sQU1;J10jW#;}IKL~4bh`sBWAJqKb6Mw<&;$Ta C(@KH> diff --git a/graphics/pokemon/unown/icon.png b/graphics/pokemon/unown/icon.png index c1cac23516f60c79a0ec1da0ad6d12c4fb6f1a25..cd9056ab292fca2d77744af2318a80a03d8222e0 100644 GIT binary patch delta 185 zcmV;q07n0%0`&oq7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCJA5CzbifC~#i&|VYlasMp@dlVf2W9R+C&cqmh$IBg1e4>}9 z!kOI)paH6tJM3~JMoRLj7tju!6%ghCumg+$jCb(n7x66HTmT56N=QaW@zXfvY$TAn n2Sos9CWIaDo-WJ*YWP%z(7w8600000NkvXXu0mjfhZjh2 delta 233 zcmey$xRhyvga`*S0|SFkK=sI%f*nx+4Zja zcl)gV+VJI<}i1auRzc_%d8(x}VMF!R+9-{M-u_Ax6(swz{Wm97h;`JPwmq0Kxa{ aC)oE-;+}u5cTpeE5e%NLelF{r5}E+8c2L0p diff --git a/graphics/pokemon/unown/j/anim_front.png b/graphics/pokemon/unown/j/anim_front.png index 1b0f5c0a98e1b73dd6e2580d3f89cf5f9c9b3cef..e2906d253ad55fa381be13024edadf5641de5df0 100644 GIT binary patch delta 282 zcmV+#0pm0000J2y&dBC~E6s7B5&4J!< zSa3~O3%}QcU*3TIl+itvmrgEfxdY4DKfD&9z}8+zNtwN g1VIo4K@fh-8z}Ens}jw;G5`Po07*qoM6N<$f_Uq3?EnA( delta 328 zcmcb{)XY3VLWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SUr&qg(PMBZ>MY&I&8q2dw0otuV%LhPt$85r;d8&12gUJNVeFl_1v1aq0HLYcsCY%QRj6E_!N@K2!Y(zI@3SpN!A* zT>8fQl(%M4aI*sMhJ20}f@N$~6KC+)%gi}{VeVl~8;*mO9W4S*9Ewol(e^zIHzT+$ UeF8m}1O3S0>FVdQ&MBb@0J64$CjbBd diff --git a/graphics/pokemon/unown/j/back.png b/graphics/pokemon/unown/j/back.png index f7b451bb5786bf05070eb6db962e40f469d45131..619ebb75b7c1c1de33673995173e684d4a38000e 100644 GIT binary patch delta 311 zcmV-70m%NI1M&ip7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCI&{ce{ptAu zHcDOkwTx>3GugU9Ph%bEhN)^H041fE84;d{EfWz6s|AQsrwI{ZO0c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yWt<@?eA008kxL_t(o z!|j*762mYEgR}SqdjAJ5{%LDBS%CD~!P+wDJA#Q!j$>==GRGd_5{r@?L2~n>My;WF#?l-+JF_{B(x6B zJ#Yf3XVF8z23$3fF2F?zbj|^D1)K}zA|wC+002ovPDHLkV1i>Q Bi46b% diff --git a/graphics/pokemon/unown/j/icon.png b/graphics/pokemon/unown/j/icon.png index c5c50312e9ff45d324a2567c4dd527a2644b8f86..b85a45a7152a64baa39bc036fdd143a8278c0a48 100644 GIT binary patch delta 184 zcmV;p07w6u0`vip7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC@Bdz``^M(zkKXPO0u;TW4gS_Ce0FcCtaw3 z&$djl1ruk}f^@ngv?pm^7wAa-@*{#{om6c$SfDHm- m79&ao`qmu(4x;1JcX$EtTT~NPR6&9O0000LGydZE!80#E*~|Fr{9pcm?dPyRO6TgX Tk+sSKTFv0;>gTe~DWM4fuL4mk diff --git a/graphics/pokemon/unown/k/anim_front.png b/graphics/pokemon/unown/k/anim_front.png index cf0ac7e6c227e453e0cba32255e6cb60e09e3f98..b83ef195f4fec750160be45199c7588eff6ff820 100644 GIT binary patch delta 295 zcmV+?0oeY51L6XZ7!d>m0000b+142S^bcLy6J@Ai|E?pS^_Swxq4t;zj~SztvCQ zmi2{TnD2>&d38S*gu}0bEUhRDt{}vyx95Oc3_`2WSjHsHKm_|dwU-t#<^x2)r8Toa1PFufsFxK) zg26B!X?+;-f`sc-{elkpKM5HyXk*>EABl(_7;ouGaw7uElX?(m>bMp{QlCi1+61yT t#mfDm)#P;_woA=048t%C!!Up64cwVn?xrglxd00Q002ovPDHLkV1kl8eXRfh delta 326 zcmaFF)W|$RLWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SUr*OA4Ou-Q9-$ZKv*^TZR_ zKXF+K9+j(ddAOY6sH9xeHQv+00is79Ztj@Yw5xGO?v@N??_?8}pUMiq@^2pKW;5UX zoFT?^5BrKZwh8jmj9259CEaEG`gGIoOaBtJi-Xk*5{&g*1e`d4?gSI@PZ_r-bH6tV SW0(f?A%mx@pUXO@geCw1^?kVj diff --git a/graphics/pokemon/unown/k/back.png b/graphics/pokemon/unown/k/back.png index 06f64a1f6402c88b2eaf06e7dc7147695d921263..46ac175bcd40d68bc5717724f97f2e05a7167b52 100644 GIT binary patch delta 329 zcmV-P0k;061B3&R7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCHlf(e3w@z;Wb4=eNnXN(!Oa`O!`3gE1)Ih623c%Y=pV!c$rxil( zlm)azS^?IqX4bi%(yUocMlT?~H4Urpt)$y60@5wr6j#vgdf@yT6jxAg!)&40E3pq@ bR=*h^y&SzXb!hn}00000NkvXXu0mjf7eIc001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yc`hF<3Y008$%L_t(o z!|j(l7Q-M61ZjAS_WlPBkQig)La>G7B&u96!%qkt!asf`NRf|`A|DepL6QVWDVZoR zY682xz&=1gQGdWG0mq|5P6u0Ny>zf<19JysjgB6HZ;~!@BUzqjcE}cz!P% z3SVl$g26I`z%{|X?luZ04Rr2g-7G_R&d}Q0vv!S&BP^@&3@6NAc^^Y#Df`to=Hw3ZndeXT-Z00000NkvXX Hu0mjfy^N33 diff --git a/graphics/pokemon/unown/k/icon.png b/graphics/pokemon/unown/k/icon.png index ed6a8122e76b03b7c6b193b0b734bc26be13e8c0..81bcb385e74079eeb6872161d17438f8f52bd3fb 100644 GIT binary patch delta 184 zcmV;p07w6%0`vip7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCZ2(6|KXt=vH;)v4}1?$1m2zrOfUfPSzAv+7A|Z60000#A(-yb|)NDcrtr#^joFucSTs>k`yj_A?8aJYB()((-#SB>?b_eTwneW9zOu1x$=nUwOBmL(X8he`Q6I)w!#+p7ekgTe~DWM4fMJ`dj diff --git a/graphics/pokemon/unown/l/anim_front.png b/graphics/pokemon/unown/l/anim_front.png index 65834fbc70e4b093765d3d7e3fd06ca59046e785..9d8b23af4de65b49dde198bea77b249b298db86f 100644 GIT binary patch delta 261 zcmV+g0s8*y0>J{17!d>m0000|42ClylkV@Scs0kM+>5hW4^C-8)sB?aX4(;G?^(VjL z7^5gZ!>$*?92&c?OmHMBZ>Ks6wHk0Z-wojS zZvTPZ%C_OE0}%z-2uQch>4pIkdTHg_Ltp+sW_s zENc=!ZJXvh`#anFKT^96XFKv5eE08vkB^C9e?7|6`IaYPt-o~{i8Z|z6>#EEY=IDu*jbiw3U*GG7ugQ<3xlVtpUXO@geCxYymS-* diff --git a/graphics/pokemon/unown/l/back.png b/graphics/pokemon/unown/l/back.png index 4a1bb7aa53977b0e5df077c752e888b420246870..da0c6c5f5665ca948814499e4403ac485341dc7d 100644 GIT binary patch delta 297 zcmV+^0oMMH1LOjb7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCc001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yi$h(F5!0081iL_t(o z!|j%_4#Xe~Ls=>l|NjSH8eQ)wWpNl#B|LTUD-Fe_l&!6|iR7IBIO+_6)d7YHzso2B z2v;l{?lz+a0Dmn66vTt(zwDT!wlxH4ejEUbIDk9A5)*7^ zAOdJlNt=KT7!6VUlQFk|+eu6<;6af64q)e3!|Xi&t(|h3f;T177!3lsG`|qYmjNQz zC)xF9+Bf0KcuC1mJg>K+OOco#gU$R5jB9{`#xbm;!XgZiyu6;xG|K m%$DjPi85K%Xg@fUP!_>&d@00009Bfes@~GE=h~BsCC_XZSXT$UcW4nbZ8mXANRd!FVdQ&MBb@0Dcuw!vFvP diff --git a/graphics/pokemon/unown/m/anim_front.png b/graphics/pokemon/unown/m/anim_front.png index 058adf1b7c371ca505b0b6afa2da38c07edd72be..ee9c7c7a83b535582032abf2a6083cf55565e5c6 100644 GIT binary patch delta 364 zcmV-y0h9jE1E&L!7!d>m0000cH$B3;WsVTLmZ(9$B1OL0X_6mTM%!VvJNnO8_?8Bmj2LdyyX#lxe!KYJEP zl%F1cuhgDm=OM8vA=+@5%XHhI@01YjWA!OMmgN~9DxrW-rkDE-0h}`HK{(3t;N=&B zMBZ>M_m9Wvl?+3k7k z+h6{kw-!r1bY!-j5njYpy6oT4y?Ra@KZSKHr!i`5RSVmHed$8^MFl(i6c_y~jN$IB z-yhAk(DB6A-qw4w*b4Xe?T`;-`tQeW`ubVI%Kj-6{aG(9T+M%TMNMGh^27YUrXE~* zc*R7qBVC`aFDAMry_#EZq3*?)m zLm1Z0Ke;acy2ELO`S}9<3wfTLP+;D`nZjW&QE{(SuXUc(gG7U64=h?|O_yffaw&dqCFo-L*2sm*-i9hE04+4a>-mTzW4-7&EPgg&ebxsLQ09I_KkN^Mx diff --git a/graphics/pokemon/unown/m/back.png b/graphics/pokemon/unown/m/back.png index a3eac9955cd7a5b4889d327b5cb0f9dc4f41d90f..37dd0a97fb321c43bff854c52148cccf35e3bd3c 100644 GIT binary patch delta 441 zcmV;q0Y?6n1oH!s7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC7%H49A&}@?Iz1YcNzU?3JJ|keKbJ6yCPR4#7mXRO--5=OGFB z$KM~p#=Pvm+71w&?Jt#I5Rhyaq&^hzl^i|U%}6^FKb62Ot>oXLB1%N309wKD6JfWM z2Vi5wb-RBj%(Yn~e8f5cL(A<(egLchOkmzsk{0pfPJa5Jb4+9{KoU&=i~vkb0^}fp z)pWpwf;b5nPXcZLmL%2*c#E=e08L^7sA`d1s&u$X=om{EpxCQO%z#h$IQ-N_C!e~E zA`!~yke!mCK4pHz)CkVgqy86C6m{!QNx3izJ_Ndx<@0B4e!fp-OzURVbl-+%!u0(6Ng!1OQVCh7<_P5`$*ltX}X zd;-{7*e}03>A@&R44yoRpmS_>%57&tu3Vf)PZDE-{U+$)ZqWrW7C`nxoo6%5%XZ{4 jn_wL-2JX7^vOjO%xVs~ISx%$c00000NkvXXu0mjfcl5uC delta 475 zcmV<10VMwO1C<1j7!(Kt0001;w}I>c001*kOjJd1{oau&Fn`@XUB&O{4=yqtj#Cl<00C%8L_t(o z!|j&A4#Xe`M7=bl{Qn29idImt%_f`dL2lKVR|K^U;lzm(zYjtUdaWlREymP>6hz6C zKgNV^zs&YE?v16_V2HvUqF<{!kN?}VK{X}<=%Ab`t{ zU;{c~Q-aAKxQF2_f#&zO!ebtCyIA`d*5g2c8g=?WNq;7wPLphfn*vxWwuCqkf{?rv zAX~&+>M{s$I|-Qpxd7Ig$5|&Z0j3n-`1?eC(3gS+7)8MBpDz=i8cpXc{h(26ippvnKZ0u3kxl6G;HqIa{?LJ)!Ql)#)q z{gT{v1Uy**|IB)(oH+4Kd;nc`Cbpn3 Rp$Y&1002ovPDHLkV1m2X%&Y(a diff --git a/graphics/pokemon/unown/m/icon.png b/graphics/pokemon/unown/m/icon.png index e463969afed60da97d9b0ffa019bbb1d35e18123..c9b8d0fb43b894fea799f18bfa6a0a2a620cc1d0 100644 GIT binary patch delta 208 zcmV;>05AW(0*nHX7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCK|p_3XtPccEv%p=il6-eQUTbH7E18YYC^g73?4tUMmYv=VL6wi25`D0HX(|9 z&s(@Yvure=w^*RiLtzICFF`ePIB_C{cRP^V4i4^D>wgX(K8H7liH!5X%K*^;0000< KMNUMnLSTY?TTur9 delta 258 zcmeBS+Q&3OLWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CY;ReZfK?{hlt4As)xyPWI+&G2n5YIC*dF z|I3fIcn77K3k4}f1^o58J>F=$<;bPe&7Jp}7~R@9SF!Kebw=sNGYy54XTlHkFEri|EYqO0&GY4k zz_6@s6}L1uNxioCQT0xx{tk~{q0di$Agou-6Jry+Dfpt17w9?$Pgg&ebxsLQ0Q65_ AfdBvi diff --git a/graphics/pokemon/unown/n/anim_front.png b/graphics/pokemon/unown/n/anim_front.png index a49128470a03867ddbe4fb86e692355d2066dd93..47cac4516b9620a1958dc272382801ac406cb826 100644 GIT binary patch delta 326 zcmV-M0lEIH1AzmO7!d>m0000%%ebPUFw~MG#7l!MM7HmT=1mt{?)(T$ThXSmp_FZ3qua zH1~)|!B~G$09#JE#_foP!1tu?oDf=qoAcfKSI!{{7Z#{{yPO9KwIM9z@6oeRKChyH z;3I6pV?4$kSAo!tdx{$f!cr~b2VZib@Gc2cFaxe!W(H0t2;8597~_I#XbF~kHDyXL zNWxY+AHgrpO%sIu@ocL6A=2K_gTUW~#~8Ov6k0067cm~=#!9<>A?;EWMNt$*QIvnc Y6VhvK!n2LK`~Uy|07*qoM6N<$g646Lq5uE@ delta 369 zcmZo=LWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SU(YzJGr0vQ^xxCPF(l*O+bNEGhZT5Ob{@F( z`#-yQ&ZTb?JeCFJTL&#&k;MLZ#ul{}fk)~mJ{`I}^-WvUzWeJ_zE5hnceePYPV0e< z^$Aa>H-32#bYT@!|BFAR+~S358)iN@^Ihj@u0w1?+nM!ZdwAWOa#Vjy$bNbAa-za# zQeI`YfK#zWz=;D&{NUEVUd4BuGcRlcFfbTA MUHx3vIVCg!0M)sg>i_@% diff --git a/graphics/pokemon/unown/n/back.png b/graphics/pokemon/unown/n/back.png index fe73d302cc49cf47981707102926e1a244fb53f8..17163be738dfa4f6ed732693aae6ac743bcfa678 100644 GIT binary patch delta 416 zcmV;R0blm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCv3;@zqZ7VguM{s3`qJxn3_+t~p++f2PzYNV

      M|1%^BoR7f4G>9!G2vHoNf%6apPda^^ zz|QlX62N~Jcv;&COaWL&Opu%a_5c(I$c}yjm;kLLM{!6Q>Zkzbq(AV1L|t;{M3D%{ zyVwtViV*>@KJ5<519Sv<=Nkb72fz|&6dX(hEF3iuuo_@Vt;Zc?DoX+^$q5iaTn3e- z0q?WTT7m1V1+Wqr0*@jS0!*p^-tr&72Al)~mSlg<6m2k{WtgQL2^#1x zmr=fJX>mHCD-t+Zv9YDLmD{Ob3MA)KZX&mUnl%pTGo);mGfp525Ixc001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=yzH?e-@C00B}-L_t(o z!|j#Pu7n^AM13Ix^Zy@wX<4x1wwT>)?hBKs4>*T91w4+et*!qM$?yCrWqv_tu7E;! zG#7+^l$`yS7=OWszvSWpAb_X@^~=T20L`yAdVq2R5LGmO3CfwJCOiYcq5_5=K?s}x z-L5{2XON;!VZPajb!xdCF~AZad1Xrwe*-WA;PfZ$%SpiT0yqR(0N((P0q{~h$0UF& z;6-TNaM$7hXaj5pqXe!19R5jsm9PRR0RbRtL+T-{0Do>9(j&lw#T)?ms11DU?`=pA z+5oQr8HxZsAkZtI0oJ==BAosPaL<&{$GZ0>zX7D>Zm3aL0sSEL?9f^TUIg=@ z3jlSk$o@BWT#jcy#de13(Jki}?)DCV56IoGVTx`)2p7O<^Lu|7f1GQ-mg&BLwOk0t&Bcui00000NkvXXu0mjfKDxa3 diff --git a/graphics/pokemon/unown/n/icon.png b/graphics/pokemon/unown/n/icon.png index 03bf1b5d0c7be94cb00d3f91df5a18d73d2848ae..b1e5c5abbcd56e9ff389b4c9b2c112fa67acddf0 100644 GIT binary patch delta 199 zcmV;&0671z0)qmO7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC^&D>zTaGeqiEpIL;mmZA{#ArYk%0u+BETF*2=LWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CcL%ua0d53N?AUIEHu}e>-_2-w^{2XXV3r z|Nmc)n^U$T>XNj-)x%bn{SFcmi@(mFwC{&t)UAtb5`q^hD;XM?o^0Yun8l==Ea(&& z!Z6X2GlzlGGwqW4DvbmO^?`vaR2}S diff --git a/graphics/pokemon/unown/o/anim_front.png b/graphics/pokemon/unown/o/anim_front.png index 24c6bcafef29530ff2818952787594a9de53e8c6..b32cdb325000c1fc57f395df669fbf991402b5c0 100644 GIT binary patch delta 367 zcmV-#0g(RL1F8d%7!d>m0000<>lF`0&P&F|AXA=U{Y^%>zPVQUkD4y@isCI$vql6N6u(JknadjW!O;m)-4nrs5P z1sn7=*hYW1_+Me!yxmtRWV1X?H1qRv!XllR(JX?*dcg#t^x#cMuE7N|kWysRapqs1S}p zXxRcQwQ!7Lzd--6aFlwM??myVIuo+yq|ROZ{PQ=NOeT}bWHOolr$0^)qARVJU+4e; N002ovPDHLkV1h`FqTc`j delta 414 zcmZ3*e3N;Cga`*S0|P@({QL+YWgOrW;+oFDFj3Q>o>!$>94N$C666=m;PC858j!?NMQuI$g**!lHLn_nH<2-KtF>EalYaqsQ4olMM%9ITf$ zPW-Pgu-M~epm{$e`bqDaH8ak$GcXu+a0vbtkZ-fmO8XPKuyEUomgQ?MSX7^x(N$Ep zzFw-U%hBy|p}22|kxSjS!fSzsZ~nY$*5+c1{JBu=o^%GASKb2kEfbFYb`EG%@t$Cv zAH9Khr_eg4FAKlk+tc||=-GOu`?6N5Q&{%x6UgTEXVQ1DnmGM~!iDeGG~7IIMg!U9qju=0HsU0Ij%1Q_rP44$rjF6*2U FngEKhrNICI diff --git a/graphics/pokemon/unown/o/back.png b/graphics/pokemon/unown/o/back.png index 0ec47e704c637b06bb762df854c57f8244f2fa01..7260da757fdaa9511d5c999ddf8974bc715a4a37 100644 GIT binary patch delta 459 zcmV;+0W|)b1cd~U7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCHL50uPl?|72``Rnl;qIA1Erq zb7qSM_+$gfMe;LS)N6b*pmPy7-vMA9PcCaB;(T610By%SY?%01Ko)PS;S08W6s zMgxRAP)>3XpvqF`_prB1^!sED=wATrNp1{m2M~YC#tOi7H~_^!v4~xvWMJwQ&On+o zK@9rC;<7>vS(oFE2OwDvCg$iHruac7xaDjEDA`jYvQEv@G%ZM<4d9WVZfSq5P%H%0 zc5VMGEf%oygA7^#N+&Wv2K6S31r`8113oDtat`Qv1L+33D5EF6HzNUhLgpsD}>002ovPDHLkV1l8u B!*c)t delta 481 zcmV<70UrK^1e*kq7!(Kt0001;w}I>c001*kOjJc>005CGFn>ZQns5LB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=y$uhlvRj=z#1PMj|{B0!*zYZw+{=+H3 z)kg@(`tbrx07zEP9AN^J*7M#0qN4Bs(0Z|f*bp8;CjhmF^=%IRlF`dB)J;bf0YkCRAP~~h9N(tNt{}9jrm-ty zx8H|+JgXJS0odUzy>X6jcrS}g<<9|t;;Y=?GumFVg?F7CMwFY@Qi0EY_ zUgJ^zjY7CRmXR?Fwh5X=GdQL_-Jrm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCsKf3__lz zperE{MW8G{Wc1-a6;%vnaL}o{c;ftT>pzFj&fx{Bzn;T`m|ds<00009PLWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CeiOPnORG3blB;IEHu}e>>Tci`9_BxqDat zcl);zyG@N(^VcV8h|Egg8gxGLuaoEAo6p{po17ZUHx3vIVCg!0G^6i`v3p{ diff --git a/graphics/pokemon/unown/p/anim_front.png b/graphics/pokemon/unown/p/anim_front.png index c3e207aa24199a5c10c965e96d9d6c61956f0430..01aa0329c7bd36a01791187803acb28bfa73fc0a 100644 GIT binary patch delta 258 zcmV+d0sa2)0=@!}7!d>m0000yg_kGCB3juXsGqP*i86e91p={cKCGw}Xg?2-@w0lj| zn(#Glm<)*zGYG|_g)G=pLHMOFg?1tsI;ks)q9}@@D9Ru50Wrr$!^1fSjQ{`u07*qo IM6N<$g7EWewEzGB delta 309 zcmdnT^nq!Dga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn;b4=v_QOp~Idojv*QM-cB_XI-G+iD)T6dIe~(&`mUHmHO}1_B!iJlzVw#sEl_rOI7-+CiBOSvn& zEqr|(3!>`#3|o_r=q)_Xuz6p>#9fuQ3ywMN>Zs`!aBuu9vnA=mG0Sh8E;E005SU`njxgN@xNAhWdFC diff --git a/graphics/pokemon/unown/p/back.png b/graphics/pokemon/unown/p/back.png index 45d23a7f57fd82c226ac0ef6282f7ee52c112143..e275a3a9662431f247fc70d55bf1a881ebe2b258 100644 GIT binary patch delta 273 zcmV+s0q*|y0?h)D7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC1Q$xo_Kws0#<1E^SiJ%ID!P zNOa|!spJGq^;j;r*L@MpZRgRq#*Cy|9sp2*x!0CiG#qF4mIV~pW&BkysDRsU5#mt6 z<5sT~`2uwcI{;hY1mGSxtpS0!#}(w~us;CyMGgR{1DHJ6Dg*#>`wZZ$T}TB8C<$>K zUN<>OK|n>}9RyK$-7o~CjM3DH=O_UCNu{CXCDqj&KDg-&_8IEF+Veml)lh*^<`#d90m z+5hr66ZGFs>`75K6P{Qiu07$#wXm>%Ix5+JwtekttmWWgtvjN@)ggG_j4jvAmtj^t zd&Y;>WA-08nfkK#wDL@`y8m}`v*Xk4l{p6$uJ(&Jsfi`%Z*XBv=5=9wEAvud153E8 zNWPJtc|(YL8?Q?B&!gRk8`$GSe3+HjZToz;pu-|SP{hIML)e*xx6aO}5PneUQ~FGP z>d!U02lY8leOIUyE>~WqmEb$!)iHmr8ilEKvc{cK`!{|1dWXTdKvanPPu*jnzZg7S L{an^LB{Ts5WrK8e diff --git a/graphics/pokemon/unown/p/icon.png b/graphics/pokemon/unown/p/icon.png index ae40ea06288ed44ba9f6ec09899d0a9c42f33377..7a7afb8de89ae0073fbbe0b1a9ed1c921082cabb 100644 GIT binary patch delta 167 zcmeBTddxUMLXd@-fq|iOLB?DlWf0&K;yO{spgwZtgcKm3u_VYZn8D%MjWi%9(bL5- z#G*GjL89z|z0~~pkN^MkYcPG1Z~YRuRbyYUQ{bnM6E7-@sLD_6{rV)3<&E6!g`72R z!W-Ph4;Vb2e9>AY+y3N#_tL-WB3~UobSyaFY-z%{kDW(ZvPX?Q#NqA}28M~7T&6$2 Tcvp>q8)%)UtDnm{r-UW|pOZgh delta 206 zcmaFN*u^wKLWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{CbvMFkAiX>$|DOW`9a~ljc|PoTrFyLhA|RB~B7a8wA*tgC6iWb**TWe!!-` zrTjx(Yt8?uE_-?ZvNybH^$zY@`Tt7&tN%fE&;N6Zwz%(h0NTXh>FVdQ&MBb@05%6m AOaK4? diff --git a/graphics/pokemon/unown/q/anim_front.png b/graphics/pokemon/unown/q/anim_front.png index 960f60f3ddc680f768421516195374e3abf551a3..18c930e696212d3c414d5735c41067434344eb4e 100644 GIT binary patch delta 267 zcmV+m0rdX!0>=W77!d>m0000b+3Q1yaP8p^ef5poTq4oxKF-wiv;P&5DrUny2sY zxM>vSm#Njs?*Jef9Si}oI$udIVO$Asb^nKLd}uDVJUl!tFfH zqaeUMdP#5aFrAzs{6Dk^$@!2=(=k&PfNg~e7O$UED1uIbTiUoW zuGV6g7_f3ZoU@ceH{*J~sziR%ca=4X0&Vj}Xi@G!UF8mnq9}@@D2no5JOHrDO`VX$ R_Lu+w002ovPDHLkV1hcVan1k$ delta 312 zcmX@k^qFabga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzn+zF=xqg{&@oRJ$B>MBZ>Lx?9Z}$6&U85T zzy8CivPK+{vH7qu3%KU%(V|r2JB-f!*0d4_-WdzC~+c>WZ441(^#Pe(t#m5){TZh(Wc?JIWGf$n)e7r4p+D{9wJ3hw+=6>i-zOj5Q!#^9270o;UmWUZL*<8JHHOpQv z^}x~BZq2dM-=-??)Tv4wh>ha_I?D+{NGcwY|G^kg$mRTS_V4RJKQVZ^`njxgN@xNA D*E)M` diff --git a/graphics/pokemon/unown/q/back.png b/graphics/pokemon/unown/q/back.png index fa7f9459e3be5da8d81b1f18bd649c2022d3abcc..08d5a0d0a0c1a5bc4810ac8782dc7c5ff095d882 100644 GIT binary patch delta 275 zcmV+u0qp+p0?z`F7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCBw*j60DO<%f#rWd z5CHf96AyPBQ<8KHt9R(Y#wz#*z+}NjvDBFkOPJD(WT}J^tm(pYTE7s?lY_yLSrY)3 zt!E&-Zh3t$hFx)Xcz5z+%^%T^@>|U@x*+vv2*5W4i}JVZfOw!9D_;1Rp&>|X>Vhk$ Z$Q#>tnEN?8g9`uv002ovPDHLkV1hagc1i#M delta 309 zcmX@l^nq!Dga`*S0|Ud{?Tv4MlyQJhh%1nusA*82Wxn1V$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{Cd_YL9e#~g${eVIEF+VemiwH-(dp|*GL_X z|Njq~?#T1F-FW^v7wlr;Hb3FKzEv~8I;diD#?u_j$@jQld6SCQV7#yigse5e8bf-A^(dXpu z-4&9y)eG5#`R%LS&6UmdKI;Vst E0Bg8*6951J diff --git a/graphics/pokemon/unown/q/icon.png b/graphics/pokemon/unown/q/icon.png index 6577826812645e57cc9bd5e948ea9d11d074b63a..2270f837380034866b8d40e19778b5e1f82d1a6f 100644 GIT binary patch delta 178 zcmV;j08Rgu0`38j7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC&;&lC z3D|$O`;THR(2V~K$U>it{tNv_wweF`f5DGJ4^SNUQC<$!JA8ugPz4wsqN!lud%!RX gaDma}Kt&b+03zc?kLu6B;{X5v07*qoM6N<$g3O6a{_P0?XP^*cNswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9QeiP6>Lw4Jef1>EamTas2IMLp~Nm4rXQN z{Qv*Aa+jO>?bbF7(sI*~C_MMc_sR_`0mWec3C9E^B##LwZRR=SG-+ns1=j%X&r5#& zw_4chsHLpcQ*~KmzeXcpkJ<&Z7hz5zi=L5`X+q17!9

      m0000Aq}m0mZQspL7F)^9F9`rk34`3+TnfnZ7gS4obzX!>nf`mvr z7>k8JXXJb5Z-F)VWJmBF`q}aln~k(YKgU&AiOm*^iIjLA9|37!=;wQ=vEF~~J};%R zFPNO1Bu50K;dUKKqC76noyZn-!(n8Js-LDvW_Rs@KqF~3ppXJJlBMuOb&X$;q9}@@ dD2nn^yZ}jNR^oeLD&PPB002ovPDHLkV1gvNcZ>i4 delta 329 zcmcc2)WSSLLWF~vfq|hXetrayG7j(waRt&7H4W;s%-5R(nT#bte!&b5&u*jvIh+L^ zk;M!QddeWoSh3W;3@FH6;_2(k{+x}SU!UQOlksJs&~;B2$B>MBZ>Jdw9X8-#xvL=X zzrKLsru>f2J>7T2UPhd5Kd@6z@reBc=D>Whjppkl92vE1u{u3@~L zvAlBItDg_ttmIYZ_qN2k?%%)Whnvmeh`UF`CuyD6U0}xbRotCJu|>cMLVQ%RcW2_> U+Zb_#73fI@Pgg&ebxsLQ0N0;<&;S4c diff --git a/graphics/pokemon/unown/question_mark/back.png b/graphics/pokemon/unown/question_mark/back.png index 0e80d551a14ce7c99560582fb69fcc8a78bc078b..3d9ae3ee3cd07b2541f92fbd2687ff50f2445627 100644 GIT binary patch delta 323 zcmV-J0lfa31O5V#7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCU3`A2|+W$hj-=GRke^SB^>^dFQY4f+|kOdlMwx9vwcAjRE z*iHyvSyPPhLiD)ie5gcUvI7NLxNf%Oas;|`y%z#>(`RT1&VwPu0s1FMzq>t0g`lX#XlZJ~E zcBUb^1N39O3bdFg(9BvSdg^OI2pNmhV2F<0tEj1BzlXvsraeG!0LoZx+kXH|cB}e4 zL*4**9I}Cj&^rL$A>9)IAS+MsaoP-Ezf&7J++inaqmY6B=2x8!W!%x7h+O~B`UfYs VxYCY~s~!LV002ovPDHLkV1mP7jD!FH delta 352 zcmV-m0iXW<0-FPn7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=(|`MFT|u008buL_t(o z!|j(r4#O}A1bwkE`~L^mU?+8&Tv#HtQnU9N5gV{l%9B3`!~>4*pthb`6%_8Y3tHST zaJ862CCcykjDN&=y@>~N3$pR#1@;04PG0|3fUw;+3!wQT)dVO>fg}X&>jF&*dI{cv znG*B{L(3RstbslXNkc**`c@!e@O1{#FcsS9!<>qizKyR6U@Mgu0N&Cdn?bN|c1j`Z zyMp*A}N5LgNQ*M!9mp_A|$vdA;vG0$Q5uhgn8RV yAAEQmu`9sv!?1)|NsEHriju;I!t(sM{d!($4;ZPBSvEBQ0000m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCa07|e00000NkvXXu0mjf4?ae& delta 226 zcmey$IFD(9ga`*S0|SFkK1)~7!d>m0000MBZ>JavF)Q*gXZG~` z|Nr2|v#upBA~QX=>=m0^YtSa(^oMgIgZRhL3tc_4e}@%RZtk1hHg~^@u@55xwrY2kDsOoC!oMJi*T2=)#s2=G6;D~eNzG)^ zJ;CQW&tF91M%&X;*`~}5AMPCMVK+UphwTPG(|7%9*{GNEj#oBs*v`{o{?yrFuX>&4 ufvpL(u>#YZ8c**LaNRKbLh*2~7YSnsY}0 diff --git a/graphics/pokemon/unown/r/back.png b/graphics/pokemon/unown/r/back.png index 3be20b13662279b7f904368b713208d2d1d6f918..9ea2bd6f7e520c59f8944242cebd8c7a3ba6c9a1 100644 GIT binary patch delta 277 zcmV+w0qXws0?`7H7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCH=O_UCNu{QAtH-btB2p%b1ijv*0;-(K0scUXakB|xm? z$G`v0-LavII@xo=WtH+yO{i81E67$?SFh(ZJX|6x!X2>cyn(aBvv zea``<1zN6>=L!c02NswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9QdrIj#Tw6i_I|)5S5w7 zz5DZj_U$b}+hm00005BC^|05!zQ z1?vwj0enf5ZEi%ukTJ=li`g+Y4B`}UD}CO?BZWA95VP|s3z5ltxfri9jdC5SOiTPT zl;xG{q06gYm#iGUE?;3=$i%|s&Z_yqw48t%C!+0hB0MW~5SS?lE`2YX_ M07*qoM6N<$g6G4By8r+H delta 351 zcmey$G>dtHga`*S0|P@({QL+YWgOrW;wq37GEvi@zF%5B1t`Q=666=m;PC858j!?NMQuI$g**!lHYPV0X^1r&Pg>EalYaqsQ4jY3R{JT93D zhyVR&mu~7?n>Kgj&G0!_?VO7WdJ=nnG6bDD-=MKTgTt30&(-0LE{BnvB1c4_!-@G7 z_4})*itn0#_qXpn&tyf*e?}YXtoQC{t2txbbxx@x0J%khls%k%>89lky1WLAGI@3~k%_p{5& zwZ0oNPc*OmbeH$zEv`3v&ne7Tce-p4u&3H;iF42ihhXcJ`ST?*3LkQpKEJWven~~F u;TG+t8h6J((FO|7dJT_BB=Fg^~c;9QbGkphoox#)9&t;ucLK6U8`;j#O diff --git a/graphics/pokemon/unown/s/back.png b/graphics/pokemon/unown/s/back.png index bc73cf26db53b50e5e5102b7f53ebc5ffc35f036..c85571503c3ad52f8c2dd9740c229dee15b5dd62 100644 GIT binary patch delta 380 zcmV-?0fYY81GfW^7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC!v5ZtyvlD30whBv&j`qO9g zV`I$st>pB$z5U)*0H(0~5%2*A01;{k1R_<^0F?l0%acf0imnrjL?i?x+QX(4YOtjd z6&Il@%u0V0RRxT4n7Wn31}x%T10dJxmYyPVfX!`#X=z0ku7NPc@h=P5Z z4+SqU`33)Ax7){3)*A1VkQy?F}rfV7vBNgmdg2A!o=wx_k=Q zx3Y(rO73wsL-zFsUFk~{80bXe1dq8tfkv=#^D|%{&m0ihxVg%+_7Gyq@-c>YDdmUT)0)P~>U azpN)rWZ{lJ7pElv0000c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)A0D92m?00AsXL_t(o z!|j*BjszhHM7?wh>;FG^MOzm;lZ?P5d)OiAV?9v|p-cJ3n;^iPUL-}pbxFma0z?`B zDL`!jL?P(<8h_8@2E-AlD|9n{1e=neK?IzL(!Mxh?qzKze5VT$cg0O$nvgLjy(#D= zm~!?4rU9mZ#uj)AAeRf-5l+2v@lg5oB4P=C{iV;*PB_+U6}vgpqpyG3VFXQbD z2EeC(1Rd+|SNH`Oy`u^%QVBFQm`DJ&7X6{;;I-UDoHu0*08Bsg4JVKXz&{t>Gf|@ZeTop@#w5fMi_jZdWJ3HUjGFSN@~p(j zc*rE6yLe7^(bLr9tLn^*G0}=61t@ud2vdOG(v!b!IsN~LA9$@E3{Xx|VgLXD07*qo IM6N<$g2ynbH~;_u diff --git a/graphics/pokemon/unown/s/icon.png b/graphics/pokemon/unown/s/icon.png index 1d7392031a37da5afbc372394c6d9e990371d9ec..44f17718bf238fee790aa61122c7391cddd18699 100644 GIT binary patch delta 199 zcmV;&0671y0)qmO7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCG7ywTn%mtG6V@=0CKtKQh002ovPDHLkV1l5l BPsacN delta 242 zcmZo>TE{d&LWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{Q7LFiqoC}g&I9w978;gznx+zc0hr{`M1!w zC;yh~T3z2!(lXV*XMxT6Bknh*+q{g(JEZ8#l%B9$)<);+iwnE$JaimV3NpWF2JKi8 ztSH8uxM3CNoW@D3j2>`5;3!$Yt^LCKTJGhItC%aF*j{v#0>c837!d>m0000nF)b?^xlU69E8A?6H3q`N?{@z3w8T@0{f{zxnt(eFS)kFDe~&+9-F~B z0!Xw)?n7%aoJAhfFgZjzA?#XT>5R*ohTAe(TCgR(8_ft1wTX;CAr4P2LIL;s$c-+- z;;3T=a?H*F#%xScs{WM^Ox4YT{j9nUb>|s__vW+bf*=TjAP9o+YhD}jQh2j~a7q9G N002ovPDHLkV1hDya0dVY delta 309 zcmX@i^nq!Dga`*S0|P@({QL+YWgOrW;>ytdaiXR{ed8xyKcEm}NswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9Qdr4^mrJ02Dgx>EalYaqsQa-9oJf94?nt zxc~fTk5`D3*1mp7GTs0D#P9+h#g-p7I|_{N<(|uIoh@E?zF`N$s+PVKFAH0-ifgC8 z*R%fHwBQ)SJ%PeC0xM5^xZ|3{eg4Ot)bey*>wQrUQb7|w7O(BhV%_oMYJ;aD>)*c( zseDrw2zRiSaJ4ABJ{Mr2xnh^$^hVu zKS{RW`I3C=dcypt?f=#PE^ifZ;!tdX5b|OV*=xJGh4z^8r2sv|;OXk;vd$@?2>|FM BciI2| diff --git a/graphics/pokemon/unown/t/back.png b/graphics/pokemon/unown/t/back.png index ed0a5278c4adb1f7b93febed51b4f583141534c4..f840953b853137522c2587a9df5fd42cda199eb8 100644 GIT binary patch delta 264 zcmV+j0r&ps0>lE47!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCJK&Rjch$v*I_K0-2GVra4Ud|@|POOlPr%lpbTy_vmp_=khExOn7;>%-v>Sq z>GlAW0a$GQvOqvsE+r5qpR#o+N*JpW#l|p?eh@9f4gih-ZijM|fdj%?$!6oqM;;5T zAw2_t^sW+6EZ9z1c|!yO8E^n#NOQh*mVer0kqEJrR-Q*fYjJ++r}Y9+BB@Dg0;$FT O0000H=O_UCNu{QB%cYRd|MLc2X(977@wznylGuUUb|wN_F5 z-T(Rz44YfE)N(uZPFKy_>#nh7SFWSL9o9n5(w|d4wFCu9PVjH~)E2;b>;%V3A%VB` zCoK)cH!kmSopM|A*7bX8C-&?As1iKA%Ax+R-s8VoR*#*94{iOsk^kX|ZpQ@EEj6o} zkLEsDv_RB>tEa7wp=i@gmM{EAP73~8*>HK!Q;7}R7%q0MW1YkEZD&yWNyYp;_d1a! x*&7aij-A%#_;7AlMA!Q+w?E}<2Zi@AFsF*ON^Rr2tqt@DgQu&X%Q~loCIFVBc=-ST diff --git a/graphics/pokemon/unown/t/icon.png b/graphics/pokemon/unown/t/icon.png index a506e206f061ec9aba6eb7d503527a04373bc0e7..9023b73664b14af8f1a8179c83ad3200059228a5 100644 GIT binary patch delta 181 zcmV;m080Ow0`UQm7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC`@Usf{qh)ggF+5wbzwxq(+8tXA};hscp*W`J=D0BhQkM>rMC3QXGpKslBL jz^ML9^}iXzv+r;LZ)Q)k`%zvl00000NkvXXu0mjfYRE~% delta 222 zcmey!IE!h5ga`*S0|SFkK-t(`RD@1QTh$+AH;Vpco5&a?z3@rFNsa@|LTv2z z3f3H(?X`I?MuwXfvUDh|=8$q=R^Vod=XY0lr|mIWVR1C0Za7!d>m0000XfRJ#3v;1(YkNS>N=MvN^5Zwq2>7;FO~(zyk{tP)xlJWzj`v0kJTO<1qv z_*OFHxDJ1Qow|+s_sfe&O_DU*COtaJuGKG0#qRa%jq_U@Qf)fOXEwGmZj&}TotoOZp<|$ kgj0XRFbu;m48wQ^cd|fxbJDMBZ>Jud)~dkce4j1& z*ME5%6UXznc^~Adl`nSpT#>tSe!tcssKhojI_W5c)o9>nwj89k% zSnMvZHf`qGz2wDhwu|!3Wvu(`6@SfQ47PI)5Gqv?<4rp?wQ6eMyofjKp|VyS5HLvo<0 diff --git a/graphics/pokemon/unown/u/back.png b/graphics/pokemon/unown/u/back.png index af2917fc98ba2af1195ce5a14daac97745bd6677..8d99bd088cd0a6661a87fdd9aaf6f67ccd634f41 100644 GIT binary patch delta 395 zcmV;60d)TN1I7c87!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCq5_Y{};I=~ow9pFcnX1l8ljr|2 zM3?0g|290#>tc0s4#YSGL_jho3P6{#r_9{@e0U%8PXm{TQ>S4Q>#!b6@5lF`6ur1YZe8Q@gwET&`9lunX|CRx;kthHF002ovPDHLkV1j?Er)>ZL delta 445 zcmV;u0Yd)91NQ@v7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)NVm)gw$00Bx#L_t(o z!|j$!a>O7EL}%k_q5B_r_!%0E9E>ZoqIYrVha^Cn&u43E>lac0Z~QpK=^Fyn3oq<0 zYB7t`?xiaTIDgVY9^Nk^>xAGxj$@sm3jkj!fuw;4DD?u0wwYz!?Bn0fP`I0AARJKmauZurlb1&=H~^ z*NvgIb?1qU!mpvn#-a^7NazfIt1^0)omyohV)6JHUm|04DrI zKo7u_pPo@Fy_5qvTO{TuQaFHoBkGvJvzeCe0d?r9>4Lr+NU_gOCyaX9vnhW?Jf85W nbhVsozaBBbk6~+T>tFQ+te7GA%%S|Q00000NkvXXu0mjfjd#1t diff --git a/graphics/pokemon/unown/u/icon.png b/graphics/pokemon/unown/u/icon.png index dfedcc8b5898c4e6a5611cda1f3367fd0c58adee..3d315ebf2600d05cb5462270eef9ad7801decb66 100644 GIT binary patch delta 190 zcmV;v073t!0{Q`v7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC35mKzAoj_o$2tdlx{Pza>2n7CE0> zK7bMqhJw~oUOjk^UZ0#PX`9xOLWbczdg?XAPxQuM{>EUbjTiwJ_EL12Kvg(Tr`1$J s2@zFPW$+@dSsxXS1{N9|^qg;;~yhIm0000INci!d ze=tT-ex(JbkTVpF8Q+h3ed)c&2+bU;f_CZgB;iptNPVCLhcVO>Hh;cvQazvu!u6a2 zGsE~zFyVg{!L&$~^V5lIfh@|BfHfeC2*A!jxQv*21G1PA1p_nDuDKx%9m8jkEK(o4 z!3k4rez*3v(Jga`*S0|P@({QL+YWgOrW;;PKZFj3Q>-r>&jBS0a>k|4ie28U-i(tsS! z0*}aI1_nK45N51cYF`EvWH0gbb!C6f#?G(L9X;VyG*IZJr;B4q#=W;w5Aq#W;Bl^I zRR8&(KTc>>-d*1CTZx}`D<&o@G(Hw^>X)6WiP*H&J*=c zzTV~cn-^ybFJ|4hY|{8!9l^J;w8`*~nf$wIbB5}y2j;A0n#FK9Ewolk$wf^8E>8|*&7xw2YQ>q)78&qol`;+0N#m<1^@s6 diff --git a/graphics/pokemon/unown/v/back.png b/graphics/pokemon/unown/v/back.png index de7241f089030d19df8d31ffeafb987715a55e93..41e2157200c773270ad0554229e171f381f9de7d 100644 GIT binary patch delta 357 zcmV-r0h<251E2$t7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCOMscOob9r&r$;$KoL-;g+3R65i~`*Q+Z_rkT44}i|zR}12=Qw z^IIsIpx#J+4=8h2^DrV^01`H!S7U;$haQlgUqwmhB+Y*UVsG3BaN~h}pSd>-JFb90 z+5&oj%&GX@aSNO4mF)RK+R>HWiIGn~R6X=R`aS&s^Z(6bZ5?fM00000NkvXXu0mjf D;U$?O delta 388 zcmV-~0ek+S1HS{17!(Kt0001;w}I>c001*kOjJcBF(Q#EFn`Q*v{nEB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)VG^ndsO009z7L_t(o z!|j&K4#OY}1aqkt_WwV)=2;-2vB{|wd#WO4YB|R3aqR5;WdPLAERlzxl6Rgcw0p%k ziTCmx3SN#!Lw}-OiZ3B_0wUlosa7CROt>6J6Y34ZXT0w&bp{{!6aG=~)_^FuJe3T% zeUl=#l?7D8Fo}9T8`^0^ za%%Z%sMjgsdOlBWqMF5ITy9bTOCe^wtwOuc=D4kY&1E=s`_O8T4#d5>Y~Vvdc=Nr$ zXowx`H@itdfAO1OF<=X>1Tm0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC)5=HD#(;!ZA;io%aV`Dxi zB1(|T4v6UXp@8ftcyt1=JGUZ|<2~iZ0|Ww@;9B2G1A{Xv1NWZF0nHduTA-VH1?;@d xS%KxK07oYjFze{Ostqg!Y_)$||2w?-4j0N}ZjmMYX_Ei|002ovPDHLkV1lWAONIad delta 235 zcmey*xSVN%ga`*S0|SFkKefG}-3RQW!IEHu}e>>Tb?|=aZ^Wp<} z|Nn1oy^!ayeHHV(ML&cLgtB|04=A7XU5+9B1zv?_slf~|mR)&b6J#@#)g(W}+d3e*0k d1L6KltWr6=cPG}!E(SV-!PC{xWt~$(69B(yQ#=3w diff --git a/graphics/pokemon/unown/w/anim_front.png b/graphics/pokemon/unown/w/anim_front.png index 64f472a8211386e13ef9c112caf3783c852efb39..d34a16f0593b63b64ae8404afef271591bb736f0 100644 GIT binary patch delta 304 zcmV-00nh%G1M32i7!d>m0000kRQ}bS4l+^hSrZ$~aZdqs!;}T^7dunnh3PK~$Hf`=0XAGd!fbyHE z=&m|jUSW#BLI6dWG(U*4q10lXVHk#C7=~f~9aj{N^H<~6HoJrX00007o delta 346 zcmaFOG?jURga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzdrA#&;EHpp%3!b@|g` zmfQ-_nZ_=^H3TXponLu9)QTR`cxKXa3FapB-Ls;CSbT n#U4MZRa*p{I20koglCNBqqz@Xaz5n-^fiO0tDnm{r-UW|JJgDt diff --git a/graphics/pokemon/unown/w/back.png b/graphics/pokemon/unown/w/back.png index 170e9f643ade1b92ce66258ff4bc253dd492d16d..3d42e4eb220dd2215f82633335e114012351da5f 100644 GIT binary patch delta 319 zcmV-F0l@yI1Ns7x7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC RhMNEY002ovPDHLkV1nq6ged?3 delta 363 zcmV-x0hIpw0;U6y7!(Kt0001;w}I>c001*kOjJeiv>TBrFn@ZiOi%y-00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)ZY`X1B(008+(L_t(o z!|j&I5`-WOM7>x|^8X(^1aJ&sMV6YyD*EQqkJw>x+m@D=9w7#J&hKc7fPHt2-vZnu zz&Yvyl%dxEyMHZJ=oR3mEs_}_15ggQNp&9JTmhgGV5cgNKMo)Zz*IbEf61(Yz5r`t za0cKcAo~JqaY2>9e)yyV5&h=O3?+nDPCFg9LPTt@?pT7%S0d@DA^<1KB!subzss~z zgeHF?&;=lNq+w}F^%6i1pwy7IT>v3Lok1MEd1uHvpiBVUa{%~90Cxc{2z~wyJXb(P z==OU67yjN84*W*&h(8jP22NNg1jbJ21A*}a9zp9@acSurdI5h97yd~~mB;`9002ov JPDHLkV1m|oj1&L> diff --git a/graphics/pokemon/unown/w/icon.png b/graphics/pokemon/unown/w/icon.png index 285d71bd51e4b791a82b1fe7df49ca1f07b64f92..aabb0663e17c3b92fa2e8f06466bed9ecfe82772 100644 GIT binary patch delta 201 zcmV;)05<=x0)+yQ7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchC_rHsHfEGA_Oq@)#uy*B4H>7V-`jY}Y zuP}8`LJyo5IcZ<#9R{&7YxO1p|}%J-0Z_K_x$%oi+BZSnWCue zjTK^@#@H=Nan;Ljv~UAv_S~lBuK%(6pF^AW)^m6R2GnQ=0Q-@600000NkvXXu0mjf DYtB_3 delta 243 zcmZo=TF*2=LWF~vfq}s%pmh$AG7j(waRt&7H4W+)Og^;?$Yd-D@(X5gcy=QV$l)yT zh%9Dc&{GCs#)_r(Wk5mp5>H=O_UCNu{QCScfAySzLQS47jv*e$-%j2rbU=Z_**3xd z-~Vjst={WbM6YL#l&Lt@;GVs7f0xabyOj(*(fPNycI?eekbBCh63B6zd9p(9UEA&u zr2|)(7o7fEldk&Y{X>BXSF4LYa|o6!X^7)fVA?gGpP5O6VRa&xLi^!Y>ITLMoLep) lU8a{5uXpv=bs(%?&Fvb@>ub=pC=2Ku22WQ%mvv4FO#uJqS8D(O diff --git a/graphics/pokemon/unown/x/anim_front.png b/graphics/pokemon/unown/x/anim_front.png index 190a2c47132534498e699f41ffbef608cae3c918..a75ab916c2707df9434e23dff44dbb2230346d11 100644 GIT binary patch delta 285 zcmV+&0pk9P1K0wP7!d>m0000$SYRPAjo^L3j0kxGFAy>q%WDgOKViQK zb1Ve0LH&P6%S{&!gll|we@2q(Zsz7PbfYwcahd&t{DFYvDIEwFsksl`APRL;w;D2w zA*-;|F{3v;kXpF8UUw-pW?>9>ss*YK22l_`t;J2z_T7>Y jQc)B|Q4~c{{*otrsZy8{f{=Rv0000MWEB*-tA!Qt7BG$4nw zz$3Dlfk96hgc&QA+Lr+Z*-JcqUD=PrM9Vm3q)5S3)UZ`Q)(0m9w=; z3+m@B344Dy-PB>x!)cyDQdUbtT|{7~O{ z<@dsAl462IOdJC4Ta|QpjLN*OPG<|KB_0-@V8Y$e(yTex>}s5=Rcj76B(H d@r2)ofk&U)sHytgT%cbWJYD@<);T3K0RYJ7f{*|J diff --git a/graphics/pokemon/unown/x/back.png b/graphics/pokemon/unown/x/back.png index 18ad8f825354120ee6f53a5ae56b8584a8e3d5da..a21d5a9c3e4704d0604f4102b24b56f6c2668827 100644 GIT binary patch delta 317 zcmV-D0mA;J1NZ`v7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCb)Z68cYOE04GSy)`^m!$u}u zcf}b4bor%K1&mna0AnTSeUURm_*5`(h!1}+2=Zuwa-BJp1guEtd?pe}0#?x65352Huwn;f0XMM$*f891>!Ag#Gc167 zhWRHTGypgNB?J4Msdd%%`w1Ob+5`>57!s{@nnZ!iwIyaRDMsE@o6FIn6BOX`(lQa1 zB}u^o?hQ1*N=SktzpU4Ek^=f-O;}L_Z<}bTUVI^2-VO+t`SS;I#TnuWg=@2Bde2Te P00000NkvXXu0mjfm_~ze delta 362 zcmV-w0hRvv0;L0x7!(Kt0001;w}I>c001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)j>@)IEd008(&L_t(o z!|j&A4ul{KM7fx0=l?%=p}2|)vDMRVn44kd1uL|sG&ME#w*v5BsWFM_zy?*`60j^X zutA4QXF%5m6@T#nq}V#Xn)kdzYh*4P7|K^`c4jN6rd<0#-iloSgnmV^#GUy{Ahi+g z(VH)X60l7-1b;r++sk5KbSEHmp09vt{sagTtb%O~f`G#pcv1vRKo7v!Ny57gr0pU< z-N1zq&*N~N$!H10GKV;a-M-scx7eoA=-|#<`@^1wHA@I5Va=DOif=rDZo;0g!*HF4 zZo)d5I)lYY$bdofsDyjKxcL~tG1|sQ2ENnu_6K8XYU)?@0b|P-<1;M1& diff --git a/graphics/pokemon/unown/x/icon.png b/graphics/pokemon/unown/x/icon.png index 5ed41d519490985409300a987c15e50e2e9272a4..b5be9e10ba825d79928e539e2e52c2b49005fdc2 100644 GIT binary patch delta 195 zcmV;!06hP!0{;P!7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCBNPLaPm|F*E049bGWLg~u!XTky xXNa0Wl%*#zaLJb8Wua0Jpu$({kHe#JI00foS}~VOC$0bh002ovPDHLkV1k6-PP_mB delta 240 zcmey*xQ1zhga`*S0|SFkK=?v3e|hMIEHu}e>-`%*Z~C&=W34X zPygd@UnmoawVvR}{_f$@o$D_0t7gixCwXfyy!73CF7;5P+^OSS3j|ayhy@F9vMJpN zyn4cCM)YxBm6<2Y?lGk-n0u{(k70GYSb>A7EBl67)29ob70cLLzInNR+)BRnVJzS6 ln`O#-{vQ9A{6GE$n_wkRB*R3hSwOcic)I$ztaD0e0ss`9RUZHV diff --git a/graphics/pokemon/unown/y/anim_front.png b/graphics/pokemon/unown/y/anim_front.png index ba3e6786643349fa72511123042d737f9d623d0c..8b5221943f475e63ba639e1b5af396c88d0bdd08 100644 GIT binary patch delta 296 zcmV+@0oVSP1LFda7!d>m0000m7@pSdn-R#|Qhzw_d}?JdG1;fHf&hzki!A6bVhiBJA!Ad(tIRxRXih;B zzl4jz9=Za|q1}NkSRoj&#Z+q+3|56)Cpt?FRvzC9OssN-PT2DsAH+3q2jD7Ml#oi4 uEDEypXE~!A`A8uYMNt$*Q55C3ya2NNS4VOi+6fE*0000v(Jga`*S0|P@({QL+YWgOrW;tHfEY8upMnXfkoG8s#P{DK)Ap4~_TaySb- zB8wRq^pruEv0|xx8BmbD#M9T6{W%*uzrK+DZ>QNnp_iU6jv*QM-cB(TI&8qfa@T|X z`+s)!3BgN>TDq3((6x~~|Av+OLMf->k@?P_9v*GBKT}w(dg#6QeYP2u94+h)KcgAz z!)GmtX1luH*IxLL)YA1VZ{(CusRzzKm}~FlQGdo#X_e@Ne>xlLnJ%)+fBoO$%G)cn zh&hr$JwVljY0;a2hw6;UQorVJ@QP^9=ry~dleG1sRO|`IRkjXq9h3RqwQS{+wHN*o z$ND8tw1M@)z8OZ39L}>SpL=)g-iQyZ!>th`njxgN@xNA!=Hrm diff --git a/graphics/pokemon/unown/y/back.png b/graphics/pokemon/unown/y/back.png index de9cef002900a3bc608ab6eac31a815a28140ec0..3ccca08e803c0f02fd7fcb087fcbe30db0f15628 100644 GIT binary patch delta 345 zcmV-f0jB=81C#@h7!d>m00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchC2i|z|x(hzpo`9J}q!RF0PNC#sHNRMAt1n7+g zNTvXUMF4+wfM6k&2514vW*xai83@q@a6S{MqYTg@4rjeskOr7y2WVZw3Xp3M`Dd>g zIAC7m0?<9|4*;i49~nR%fT4kHoy@FoTJ;VH#MOWUWQw!SbwGd>(j}K|Wn0q~7M^UuiwiI)LHI6O;C192`H*d<{jY0C>}d rE^>!EXT*d!@k+`(YuWJnzuu?^5jnBbuwlU_00000NkvXXu0mjfrtXr2 delta 379 zcmV->0fhdP1GWQ@7!(Kt0001;w}I>c001*kOjJc>005CGFn>ZQns5LB00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)o){BjKd009X}L_t(o z!|j&M4g(f13pqp50Q^8ByIH#t|d_nwyQjU)PRRX;EAhP6V<|#q0ixvn% zG$#ltfbkh%VSg-`fE6vPfEKB%20U$eVzL0xP;Q}O<*@ajfO*wlYOuyOyQc&HYt8Qj zjpa^;TlXu${p8E;2v|Q$mcH)V^+Z7AG-3h>`UgOe;2Y4_AP5kCRb&$i4xp5&KXei| z6DW|q1YQVXzum{d9|RaddVADg37x`zC3FZR{2d}`uUrVzMw>)(`NR9X1E5WSHq_q- z>=%)F=NQr5-gC3o-C2k-2%A)F))8+}i9+0?j(7?gKpl$UZ&U6)Xyx-ujpSV(ejFWr ZuO1vt7mdVBD?b1L002ovPDHLkV1nwLmc{@8 diff --git a/graphics/pokemon/unown/y/icon.png b/graphics/pokemon/unown/y/icon.png index 38e5549d028997cc9ef04b3596947d1fd02e7a2a..8923810aa1ec99601ee0b81259270347af0b058f 100644 GIT binary patch delta 191 zcmV;w06_nx0{a1w7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCuQN>?Hb0%moanSmgWvziqIv7x#6x|1 zywZ9ntulJRCcxnS;K#QGk_MBHhu?|+#P|JvWU9m5(tGI+F5W*GPPlA&)H(a+x7@$m e|3&||f5~`g0{3%=b*3QCFnGH9xvXm0000G#cw%H>M;{UcLGFVH*woIUut>W{ z?o&5RV9az!Se-kzd)PU3r|Zyu3cDn?vI7E%jw28liQNsgpez?SB#pAwHA8z%BT_Si z?m5chfkDk&7TJJ7z4ivLO*9o;|4Sx6_!*2c_p#FL(m- WMM^o^8(TU60000}sL(BqQ0j5lA z?}tkq=Kqdiu5RgP-PM_^XmC9vMD7{m*@%aqu5g8ADtzv!YC4y`@^DP#y`JVjQvVXw y>^_;lv9fF~T>9X&UqU&HVvB$i2b7Qyy>~E?i(|p*FZDqGFnGH9xvXm00013M{Ml?001yhOjJdYEHHnQ4fXW^0004WQchCb)XyjZP-r5$OqtyD>${ZAn6brT&6cAu-gepPs+` z8gtaoikK$|IPb4_BnZ~dBNli800j}bfe~(&8wyzkC_odSK1oj?9l;VA?UCVB3}6J6 zzDU#wSNngmL{%Vuu0+-pF4z-Pqz*u`0@{p0)(jfZ*7yXrXShEA-XRwSpbs!^1209^ z4r9U-3XoQT22f6|uO7FVax3-17-|H#a*c?r_iGGxK=8%G+5L2}ATkyV=khnf&*@@u n0t#4QhTa~Okcc001*kOjJbx005CGFn?+{uQvby00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=)v=pVv45006^DL_t(o z!|j&462l-21l?qW?*BhHLMRT2-RM*>p5gjk!|^c3v9t4>hzC5ct%o)k|FSfd()XK^ z0^@arn?mq(iGLry(0`HF#XL~ifQH5h$n_800!AS^#il~=zI$0i=l%S!1{4LofL}q< z;0rK!kQ6|#LB=3ka91Kyf}0`a`1vGK1GpH{yb18fr;j5}1sHx9rU-Q$n&Kte*EUWZ~>iUlo`Te`Ivlbw40BIFoCtO!u00000NkvXX Hu0mjftiyqP diff --git a/graphics/pokemon/unown/z/icon.png b/graphics/pokemon/unown/z/icon.png index 16a390e2aaadb0543b751d0b6ff1c56b148ffad2..a14f736962985ce5d4ec85c2b8b687d921324e7c 100644 GIT binary patch delta 184 zcmV;p07w6q0`vip7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCEamTas2IML%stBJWR?T z`2N@D-c8fHX*Bbyx}@ahYcF>F(K_qM)VN`Zn@qR~Q@Z#}0|i$3wulg>h^ZWlm#pIX zVZ&g-bo%z;{|9rA{VZQGBmBAG<6A8J3(XznI4&+fKC8<2@A7}a|E;SSST=C?PR(!- Q1zOAC>FVdQ&MBb@07-vLmH+?% diff --git a/graphics/pokemon/ursaluna/back.png b/graphics/pokemon/ursaluna/back.png index 8fa2657d8da0b9bfaa322836b1aee838498579c5..e221d873efc147f263c14313e2199225845480fa 100644 GIT binary patch delta 479 zcmV<50U-X{1hfQ@Uw;9=Nkls_3XIDzg+-01uK`}gllCX-h^V?~Tj*!&;hES8a2J|ZIK0rBy0 z``p1Q0tD`BoMQqwfQ;^+;(!1KFy~@<&wzt8!vZ)#B1RH#;(zGU++t+SH@?bWsVseYF`b1pBepvI4B%8klNrjL|{u zuLtaZdLYMzq6h(HEymg8nX4?*!!jK(RX7V{f`C|(Diq|h zo|~002ovPDHLkV1iNn<%0kK delta 518 zcmV+h0{Q*41lt6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;e9s41Hh z0005LNklZWs5i#cWI?Sq-+^%OWBL1JPlDCBJl`) zy53<37?SR-a-;9_@87=LMc!0oTjY~{G z2*AC^rx+k00PsT=Ju+Y*&9DH@kg$owl9eXSHCFbCrzBG#F0V>ACAMf|azqGxXZyMk z0Hx|CKso{N9z4JovVj`j z0bO5W+?)k5*y%ErRIUJBltb9P+5#7x{a9OG1J-u~%%xOHNvDpt6ZYRNkmEv8xPZ_a z<81THMV85NsUDaMoP{Ytz^1w8{6-G*v4X6$*0M%*|d=3Sy!_z=nXT zC@6z!EP-*``M=o+o&#;C9@`YqnyB-Ag_CSn!w~3D(@I=x!-Yw4?)nV0qVEF%`kxS3 zs>-9y~8Y%I9b2`-T$e602%Bz+Fe;G&j0`b07*qo IM6N<$g2$ig)&Kwi diff --git a/graphics/pokemon/ursaluna/front.png b/graphics/pokemon/ursaluna/front.png index 35b3b4e0972ee87467c1d86c2745bdae42362e16..954e6b8020eb41ceb176a1378a3d02e0859ac6d2 100644 GIT binary patch delta 915 zcmV;E18n?=2;>KlUw;E{NklXU_=zjuK!70PiO>$|;28V%F z8(KH%)mE8+HnbaXBTxpYfa9X<+5k&8c(B2yr<8Jmy7;n0i3~OeiWkC;{bifn+rCPc zYyzws3+{Kt0s!6h05JxhJOby@`alIm!iLRYkXBGOG;N3O2e~fp><==X2ukub-Ln!U zxf2ABg%C;w41fGWNqoBZGoag8d0Yi(6A>5MZlC)5D#!o|(ITCQm868+KzySR=N=`H z9oC&jCjp)y;wct@wv?>fu$FjGV)UDc$61qd8+a$dSz&;6^t(A=)Fg>5c3DveiH^Q( z=78W9T9jhDqxzVxu$jlKRqsy;aHh3RkOF-SyM8uk=YM__{Rs?6k;-_2;c5m{FQVu@ zjiEu^imw>((D!nnzT-ww#65Cc9ss)N>$;T<@`3uk2zZG4VJLf*R4;?)Mwe~^2m($h z!emX#aT>GSCWn2s$G|o;XaoevMgi#TT|}2&3T*Y!cYP`4Mo-KKRSmz5qQ7`IX`%$6 zo)93%8Gm5^{=>z4?yoId)h&t`cFCYO7V{WuH4lIK_#qDAaF3y^hjJn^pxmP)f3Vk< zH3zn+$B^o4E$Ri}Qn_kZQU^8z6{=4s)XD(ko5+n^+K3)Ipl@-5p8>zoq^Hw!xxo(T zi#0AFtV#xq1?kiChIoAv1DXp6k>@mjo&It6oPVBLyipISJzmQ>V3^~3Q&C9)${*{V zp96+Tv5LU*uAn1P02X%ZabfDAKNb_=^%+>s4xK?qz~U0(q_4#WotNa`eFm@xA-bLz zB`??9!yN?VSSNs;DyP?h=lr_)g3TGSt^J)e8a)ZHi-kY$V^i;K$jgB!xK~9t}rHHBG;#$(Jg4H~W@AfT p-L6xXS7-Xw?K&G4?f>)o2M?r+-6EnFVhjKP002ovPDHLkV1hTjw(0-? delta 951 zcmV;o14#Vj2Z#ueUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;eC*h6oe z000APNklljA6vv&2N|mQxl2XYCsfpVlRV?wPOPP{hg%p-nm0bw|1Hv!J z8;JV80g$CDgrQ1;TiOFEA;i*j?Sx183aHA!XW%{Caa?Fw7=Jk>a+LSe`@jFYcV|ue z{}y98_P6l7S z;nPilW@YY4k@GqdQKHrQzPBZPH)EoPaU|yA6k-YBodj44Fo#fUW0Tc(XIRUhiz+jD3=6~dN90yNSCjg@oYUpCMAzesT zP@UK;6>kj@u!g0Ep8zfdO)qVfQ!mtOydW+ARziFV1B%R@|EhV zi&}97Ee1^#X!Y6H#zM(~N8i6iCM>Ek5amD&SPJA@IP%+@by2eT3f354ex+DB1Dr}* zZV0TvB%px#aYBt0&~AoyXyZn-NC7;93OomVz<*8;hsR=x6u@H(lzDn>=YtTmB#qwy)P5@2sUmvnU0-*mW?syYG)6rHInB8DF5*c7> zqZ}p18r(h`FvlfeHXS+*N5G&IY|m9}3FjpqymJ6)Afn2#P<*(?8g|=9#WDh1UyX{I#aj-Q_+0}-j97ZN$|RR z_6h+_>8z)ET72L64@N&@7ka0&+v&#H6n>w_HOQn42)8qE{-7fVu}g#;g}Cw6gJA1oPo-h4H!V3iMwW6Dh7GF^GMQtjlYf`6kiR^cEWt#FV7^dFrX z@AFv&JlZ;3$q}`F#5sTp@#xOcx7ajXl&&XZKJA8_1<@ZLC-a+dk9@ z*zy|D-R}gj^8LEZrg{E(d|Cqu9Dc+3N4p}xU|+4&d>O~_O8}AN#xI;lB8TeM{{FlK z9)zF7BVPgrG=F#`W*SF~&5I?BAO8GyaRNZ2|AKzCHfzy6k%aN!^74<-Yng;@Vyp%6 z3_bo;TV}aT6>T4+Xo7`{(JEp9hj4j7x~K85Rflde|L3#EdX@*kgU-C zl=mfIy}7#n@-N|;*VKgo;NZ~Ptwi^)t_PzYd8~l`%YS+JJQAoyU%a~_gxn}yxJ+i;skIx-FNYiful;!kif^BOaP_> zzRf6ZYKZ_$F0Bu^Kph8dEe-Ts;QZNe7$YGfFne6o6vMWBm;A%w4(IjI?y@jd^j&6o zxCAHXvwz`pj*rd4bTx}K?bWA4N&)|all5y_h%Fn04A$FN&&3mW`BGNa~BdTW@(DaXs1vLR6s7D_zN*i z$k}^=T#QP=pL^LQKsJV71f0%PfE58lc_>wfiHqzRS%8gA5E;P44eLw*5rm~;7|it3 ze#U%o(*W*HkA}lA3<3do%*p{wZde^V1+iADe~>MR?MuJVYjul2kOr77^GE}e0bMPT z>VH6JRc|sw4}$pu(DJfNQb)0Z)N9z^ZhdW~nu@_%OWUnf4(o%Xl}v$z_Xn-5)X5x% zxt^qjgSA0^EJqkO`){y+tuIQZX7xqUa{8jgYU(hUnu8J`_B8)39tiaXoBG2Ysg8mJQW$34cy3a?=3)qruSABN9C_QB+{c1;@SvVX@?fbgd~*oCogjsc-h2v7o~zjNl;UDKI-cF~YL zt2b;Y`EU%jL25549MO=NH9JHdO!@(jXj|*0kCagK&E`+)L*da}7yW-ySRrMd9Nh%q z_6#$n88SNq(Bv>vnPH~@@pSQ zK^=0O6n@6&+r;QYfgsi?WGQwG=?f*63NfTS82bxL=#aPE5+$d9HqD{{$;K!~$n{gN z1jy*#ZV8Y*y4Bc38)OxTA*wtlAJPiMpnZ~&4;Fxz0W6j^yw3tm$%}9`5b}ZaMhY0q z3n?FhazNgT=|XO#fs~xk)i+Mf0BQ9gv`Ah*WYt3u1UdasP!9$DP*4wf{ZLd7|3yFi Y13okq4o=6c8UO$Q07*qoM6N<$g298x{Qv*} delta 1495 zcmV;|1t|K945SQ@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;eJZY4sY z000GtNklw~G-%L( z_tcIFS>!`#Km7Ua@)Ur^;3fOk-l_!;coN#9$>fjm8vL(GMOwV zfCb`<(%Gl5fBeoeSdX*&3^$5xR8v{`;-m@V7$G${_-y# zSybW=1^@+%J>5$1@alRv?z4#DvHzkU-j4uk!58l*;|m@EO9BW0Azg*g;Mwx{qAvhj zPg1}+2sYEBv_=h|$6eb72R}^-Fen44=7r(Hn1*Y!co^)Xa4S z2AXFxfQ2}T=wt>UB5)Z&DS)fE8J)qxrND|=>bx_yGbjZrAcjxkg*kM{wOfJQ9F;;m z_pnQV>>O?pu(~q=QUtU(!cw&e{}44J3y`#NA_M5SVXY~^Cm~&VYw4~WC&UF?25@&e z?0>TF`<}-EhZs44hz+Y^rC_Wf)eqK|`1WPrFlzLQfF}dQ6nV(N^nw}>AypuDs5sLe zs^={hfVPtzl2sJLlODstsQtC!%g?2~GHOdXYz&WEnFZoM9JY6ca)I&lC1mT3o8b#N;*(M*@H)-<{T{>aU$0e!aaV9HzXe^ubZL zMj&1o>EN0u^oIM zLO8X%*r~qe=@yG)J4FG(Ld7h|=6~L(HwJ+603MpdDT64mD&^|QOX>0Ay5DKhM^Md3U{jd@1!wHxgv%R`p zkccrKq6ag7z$4mJ`tp(D^Sasm3DTpv&g*|ymLTFLM>hj-d-|EB=@T;puz${eW@Y-_ z0#GO~&E(8w9#QlQ6_0k9>Os8(fJjo9azG@(N3zTOLd>xsxI&if-9#8eK`8eNzGIkQ z#Ij^7rFxLY3qz=dv)xv1JN>)22uOC0;taWZ>XZN(@9mWU*`pg|fha19##ebxA7lg3 z*gnbVg8|@V0E1*3{>}m<)=&$7&ExvOe8Vi!3!x8QIUs)X?p!xyK+*{{-l-Wtwg>Ja xd4I^-gXeiUe<;{P!5<3tkoSk8J^UAc_y;~T6b?1oc%=XU002ovPDHLkV1iBM&65BC diff --git a/graphics/pokemon/ursaring/back.png b/graphics/pokemon/ursaring/back.png index 95001242b5aaf0f692d18b53e9139ab1adad9b42..8fea60bf09d7e7fdbbb5c4da4e1734068a13ba2e 100644 GIT binary patch delta 504 zcmV(JfrSOLV( zu>y$u9v}+W`>_Iihd@CU;HpDlBntcyZU`+&1F-{4NfYiN@WtTJF;}ER{Rka3dA{z# zh0bq49fNu%2MUDm@(qJ}xEth}pcadufmxok$9y}{2BTVm*Dp1H`s>C~St%AdJL*@LMcEYk^LK<`Soqw-iRL zj`pypU;|m~)^{{BCCJ+<7NF~94Vz=?C}7Jk0Dyeuyv<;H*b_kBnwZ1fV;&Xx)S5kj zSf>Ex08b)U9stHuMR*w$cnL`#*k(y2remN=0#1T?8PA2;N%$+#LM(%A8HNJf&03xl ufRg~mngrl7piBX69~5!2P{DFz&lQ(2LM*$f3(JPb{n0G7BG#9 z^|;1);D&hjagYgMjzeCv3QGcZ7uo87HxVkZCT>#!(k7?{#sswhdAn}`kmD90 z7Cy#(3-C2=A2pB+CI)(9A%DgVVH8OqH-Igu!WaXe0(L!Snq;V+u}4GJS8ZJA>;cqc zTt;=LK>RF^7{%jme^85pW;^bPc3$bOX*$ycy$B zQtT%5XeUax^yTG8+fFu|j;&b0gz9u+ddAou=N{ycsFW!aOT;E}!500000NkvXXu0mjfmmSft diff --git a/graphics/pokemon/ursaring/icon.png b/graphics/pokemon/ursaring/icon.png index ff59818c7baa2b5d2031bbad77d81b5b88324f11..41fce53c4821d84b713d3c43778eecd13f8887cb 100644 GIT binary patch delta 280 zcmV+z0q6dd1MdQmV1N2aL_t(Ijn$GdZo@DPMSTMzOUC3D8SS%p`DhnvYi>|D7ciiy zhclp2RSMtD%8z3gc0*o-oFA;#Z99-QVoP#g>aVkpg z)&eGr;7bqi+J~G61Wt>Djg3u@SAV#yk8A*;L&ql^HH2Tf zcOC|(SH|>nEg$v@#7z%7?2g*Ekp$XL%?N?w6}xhdqy-CTni5oDJNf@{en1$Sg)u9U zSs3Vyt8o&>fS0upd=duY7a-~53`E`J%}v4}t^XN9xA+idRcQ7j2a_Kd&=!8c*LCR! ey!%Bzz5(J0vJp8(-fErz0000O{4=*W>@T|D7ciiyhclp2RS!tLJF6-~qaBGw2YS|G0iY7_$n)naC;(bjHoR2*V)ONS}m( z_y>@*IRjCD@;2rcVUWK6JH*`LmoQnO)sGS^eqcgh`2pXywIA^A7ybAI;s~-i`Rjk2 P00000NkvXXu0mjf)l!WQ diff --git a/graphics/pokemon/urshifu/back.png b/graphics/pokemon/urshifu/back.png index 219918198792fea24f6676e51ecfe78c8ef3abdc..c47c551391a3f0ef481dfffbf44826da1ee1d960 100644 GIT binary patch delta 812 zcmV+{1JnGS2dW2m&>_jx5xTTvlK-Xe&H;RY7^|Mp z0sek`@7=q12l=l?Ws|7mtGf{>kosnzOYH6jd!k?VxHEg8WmoJ8vE2o*yB3J~Wg+>V z^Hm^}>DxR3azx870W}He381x!1%DkCu!}-LAVwhH)&bfiR8ko8BnAQ+v@HZO2xJyO zVvb2T#PV~1z%v8}sTf>XAm`}dqk#|S2#m>+MJD3SDtO0z@L!ZMLYb%*AbQ z<&b2)62&5J;vDy($NK=!qma~;h18KKXQH_8MF<=Xc$hg?SBgPcXvYJ57k@5eqL-Cg z5gk36I(In&J&u6A1Q0?w{@(4?IqDc8S^)^PV;hUmiv*zakgO7vA^^vA5n&ym=OG!r zF^%||7S~}mFwA&WC)GIs$M$dyU@ZXuGu@Da0IqUt76GjV@U6OP@D5Jq!0C^x6~MG$ zUuZib(&^-8#en63qvWwKIDbD(r`Jn*&4tzlN+t^|2}~4yYp>+O$w(Nm23nj>A5@FI zGv>b9A3@7x%rSO8e4pGZz*fMRd%;JoA!E!40^|Pf?Y){I4s50&8n8wXoE=Mo_p2-Zw`nX7XeP?nKYRb zCu^7;ug*t&eu4m=K`oEK`#4E)4z#m#0KHlg5Nlk-s8|xnNx) z&+$T)1sV~x8!}WOQX>)0uCUUj_DRq&SkFpSWk6L?XBx??6@(OTRWJ%SX6hQLLx&_& zN9fXyN&c6C5x&HXt5NA_?9e_$;D|0`XSf&i`xD;5Fm z1@L2kS>OX4&w-O)S4)6t!LEpH38$0E&5{5s0>_ZYzTx~ZonB|+br;$f7&2L4NnoPH zH+Cv69FK$mYof%-^g)%_Ic4sf-4V1+#vEho)6dDR0&E0~xfguY9x}#^ATaLl-ruVk z;=pDaq5x|Kf5GYA22=vraY_NJ75FRCU6I_#J2tx)o zpY~I;Qh;;|lK0u&G)YB+$^vlZ+!G%9-IU7Ru-Ym8vV@xm+|WnkR_?gvr5q@g8JEcB z!@s}5-tU79;9|ijiqwcUeb;UplL>w+rU2QPUd8PYf9;RuIf3!^8ryvVI7#OoZg)tr z`^Bp_cQD;F;6C+ax0|=R07J*@^%S7|)RY475uj#80AiWRR?H5M-_47I#yPFj#F4{j zEFHW#Al|qLa4OHF$(%S@!|Zr-MMFc*^Ns4ozlb-{q)s}!*IYX1ZA`Y9t?D21YFTBGSw8v zb_!7h;vWby8qG+0$tq*CRtB!+A5A?P@Nwte)x3YgriD{v&dZbb^I4Y)gWh}E`*D3u`z@vr&N4IBct zn3T&5rc?hd_hsZ@{Gy_bV0!J(-7t6zU5{3^P@9{6^9tULJB{PY7HiR;S1tb?A2&J| zq!I-G{2I16caJZ&Y_$AiBLCu?R~A6(&j|S#`M)7Js)}pfME;%>(r~*8TS9c^?EmvP%({=6A8rm<5ReZDikla2{KH?Q% zd`BOg#=|P6r{-v2zbS*0J_SMPG0;=~q5^QndP0b{-G&1W-8L-&m-V73vd{p4umlu= z&M}3-US|TQNr>lvn}G8kV>}fdOmI*ygG+`d8Co7-4Fk@L!c;)1S3*o|;YrEey*xO@ zn5)3ZRz*llNPfAu0n{~cRS~~`_UwrqjT^b;U$R;?G}p7Dk=7XC3>G0pRv^U zoaa&;V%*Ugdyo6nxVv4%X~ujN6ekhE>lD09me?p~rQtk(VJrmjXyav!o5K2}45H9( zPi&wL*3&Ofx2}$3BD&zDYib2in`SAn&j|v}FdU-*d<0s3Kf=TG;JRM#u|t*{3#ouK z`DGAV2;Q=ufuDZ<@BQi1Cbl*VL9|;8C(K|*9!O|jDR3D=7n)27mfMG#--M>Gfa`;m z0agHW1TfEk0DK3z6>4+5oq?bdkN~F;A{+}gR5Fbhw&DC>z_H+#j4~K4G_We_Q zJSc)$xw?h->cO+zPnh) zIiS+eGkN=I{WH1$a{q5*qc56!v(SVt>DD)XD)cSydqVyLm0wkbjl33f00000NkvXX Iu0mh|f~MED;{X5v delta 926 zcmV;P17ZA&2!RNYB#}W-e*gz`Nliru=LQE4FEHwx1AhPj17t}=K~zY`b=9$N(@Gcs z@H2i-O4X$ia-d?NUkpw*x7Swfz>-GF@TL%56vigOiU zCg;xK*@lIdugCHof9Je30aATL$d}Oj7r{a4CUxQ~;x%4=M$ju+W9>mSx3}f(cO2&< zw+J5mHDB8C?P9@sjSow}qiA_U;^kub!>KurRhUEjd%ldWw(sKWJIaT=1dMLzon60M zM)bHg>{~C3;HXDIP0ePTv3}LVr zslaX$;_*7*yvrC*L>mL_Rg2)9;Z6po3z$Qn^XghNBT(wO5MxWYQgUY}3yyKjQDA7P zB%~=MKi^pc>gqcxiC5oTYb^U&p{3*1J}!cAeI z+}0WUgzHqlf4QDVNyKax6gv^Yiv&E27g#7~h2}hBEC6t6{aJ*I!g{0#!oX^cEuc2$ z(<^qjuC`+=I$$SrYB^Dvq#>}*F#^pnY$FFe1X^`B#LaZ!vRdu3eMYk{2L!Ul&;7te z@P>5_{PeQ__a+Y;SlS=}(P}d6FoPLcAfa)gz^Zx_6s0>2axAG;7jYzsC}G8xY;!|7h1cM&-3;R@s)4&A`$yT|x=Pz2Lt zg4|x|s%>|1H|Z4jb3)Y&`OQ>a**)q~ISm7t5W3G;383}~f@X7~dZz^79R-3Q1v_ic z@6btre>@GtS<+nje$k%}9lWDYS75LXfMtPR0+OWYRNnv~1v&yh1^Gj(@)Ho7oTflR zD+_`!c=9u50#2CM&c27Xw*FWFy)sMc1-SYRqG)Ri>c4*333$I;uEw|LizowB74I)N@e`qMJn#Pp6qR39g#hQVWB>pF07*qoM6N<$g5`&} A1ONa4 diff --git a/graphics/pokemon/urshifu/icon.png b/graphics/pokemon/urshifu/icon.png index e8311b69f17c75e8ba2ab64baaedd2bfb9a3ffd0..28f64a50ff0b93a3e11f7d02adac40305f27ba65 100644 GIT binary patch delta 315 zcmV-B0mS~b1CaxeUw;7{NklL6ElwTqK>^{7w;Hk zDEmrr+J-=dE#!CGZT7x*!=c^w8=fp50(U8Z+xk&CB8=Blhb)z5s@t#$+FklX?IE002ovPDHLkV1lzDoZJ8a diff --git a/graphics/pokemon/urshifu/rapid_strike_style/back.png b/graphics/pokemon/urshifu/rapid_strike_style/back.png index 02d3d9f7d4918f39e0816146d78720f4b840ac86..f7ea0239b78714061534906d428cae3a0360a2a6 100644 GIT binary patch delta 784 zcmV+r1MmFo2KNS#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?Ki4B*)#%w>3DlfelCDg-a_Cw-p@fXCy2re1V)Ma#Q*@Da2B^1I1n=s z`1;2s5ZHMwRg)IcL!em5rcaUp>nH%UgM8{Np`Q)`0$Sck08*AQZQvB#Rok@^fMcqU z7;7AHM4@pDX=>}vDPvO|6fhD1gK7#zKxYjg7A?mdP#Y9FWz$`M9AnW@flI00zjW&EndC;Wgt(CHKp z8esqPV+=4gxI~vulfRjLzq`JJ&2m5ypx!kClli<81xVEe^%fM1IwzU{{78TMqV2-o z5Z9oTq0jyKBr0)#@rAkXFNdJ&loRKl{9Xju9x&$K(xGa*2+&!-byd5M?7*;4-8Nl| z6W<1{bG)o>ccIc^ZImFy6d13;OPlB z+=YO$0z5*hoTy8^PUdd#VSKm-xctu|272gq4%Au8_sbX@PXG}CN|O+&cb`+dLF;1& z|N0f+g(>wcFV*}Vr8>Llzl#8F7!ZX*w)P#s_RM}i0yM*fK;TUY0b;f}z}F0pqO!=C zLYC(ZrKDYJ=E;LyM@&$bK%R#h?n^{8nap#79Tq`Wc!}Tl#I5ptG}%ulu($;B*(HEl zssQ+os~KfY0I~oScIn_L!y177A-@b6P2ev@f`nTD72y$LLGlkul70hmd7#@~rG7jB O0000 z9SOpUOVu6H?uF-AN+yWUM6MZ-LZVt(DwU9=?!ZuqDq>6!QkP1Ys3&g~N~DOTlCh}n z5Aed0t$$A6oecr(B6aJ~H}Zb^-uLd#ACmOH{<36Q&Ti_b0HC-Le<2`{4TQ!CkT(y( z!YTEQ62)v9fpomRB|jHHDQ_Wg9Pj6#m=i?d1p>oF{bC3JPB@EO3>}CW2z>qH5(w

      s`Z15WthR zhU^IJzE*lgVuwfx-lXB4YVfuJrN`K_vK#^`0w(|syo_I!_=F#@2RfbLK?Cf6evAR8 z2AAm4ZSps>A9U7ta99o~0@S}oU_6_(*FK4=2kI>-7IjZFe*pw5{p}0egS`Q+K`BF@ z`?K+?#Kjlpy}ulQs#8v!e+s%Qz;>T8@0Jc!$3uWld#$V5{mKpu3)LOdvpDgs-#W+3 z>U8EREoP$xA*R51^>6A@rZWyA!t~j^JQ|fFWoE%R++~|p7rK#E272hW57cQZ2+9~7OMr*~rAdg?z0WCrzxA<=U;Pu{M=A9z zFV%t_r8>Rny;}jiC?E=jZ0$RMbAK%R#h?n^{8nap>?9p*t+c!|I7iCg9QXtJMfXmJ7LvkL&VQ~~fEpJtRb z0muSS*rki73~K=P2mCT*G=ZNK2@`G(RD?$;{}X?PzX5T1pxab0gpmLM002ovPDHLk FV1oW7T{Qpz diff --git a/graphics/pokemon/urshifu/rapid_strike_style/front.png b/graphics/pokemon/urshifu/rapid_strike_style/front.png index cdead5434b45ef122f0f1cfacfd7237dc24b92ef..09d72971424ba62cb1c2d9c01cc964795d38841a 100644 GIT binary patch delta 857 zcmV-f1E&1Z2iFIXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um129QMK~zY` zebm8g(@+=y@Ha?T#t=-~f!BR;f_PeA5Ozz=OScKa=1jHjB3t)J%tc{ZD81}pc_XLk zDu$huVW78xmS}G>D2!h8FY-&fDM{Y?PLI4F-}k-meS~DzjCzwyTWUcwu070c5EVct zg!32D)7&1OV}Q3Er;`>5DTda34dVXtdi+-vc!x>KhCEu?F<48IGDe zkQMbV)Vf&1puHN7KI0~RT|0>C{5{+&?JHsU8UPm4McC1I`%iT1fRNRmi2%|eZq&QZ zZ*j&9qO3lUfgFGK2yPuL9OGVz!R-`y^L+FLZXYZK24URHg8apQX!Hx9vJ_ZW)M*qX zpncJT0@Q=GsIwENNWNM?TH&yF3Q#|G#P~ehrQ-LgQXwGwjTqnlnAgk5Z@RR z4YuUl@5UJxlNprA9|RvG&P&3#t8oTBb;-aF2159puL-}Jseq6<(I0Rx77hPNUjr>2 zKw;i4+~*Mrwsxq0QJR^|*&@b8!MP(2wPHE|j{ErPju3tB9BQRxfOv`vF@XD+!V^DI z6>=foZH)uK9Y^?%aFbxR!v){lEaTP78kXt#{3r=L-{Tz5HIu%_1f27uM27s=i0_u; z-ccHSZJ{3{9z{Um1a4j6UcuNYFsI-dkCaI8D)9g>=iEhTgx&q zL$TEWckw~Ds4Rq8fJK1v3isSCDhp9WP=+G5a*xV@qL)E0Tmear7?>uM)~5i?G&QR_ z0ojpLSecqfx^73dK$UwgT^XDY4qHdNXHRgw5 z?;ntjb$&QJpX@5CEuDLIegzint_%?4GQ;M=$@T`heku0$cC$GhG<&UAQv`b&w!)B1 j6Fn9(GF2Fpb3*bFgM##;f05sGR!Q<~PLIA1-|zQ*-?wQANk22{O)~9K3!3rYf6d$`Q2}&9IDaPH z&F$en26)?XI$4qHA^=dSo)4YAxRe5S8wy3E-ER6Gs2Ne;T;SUp(932xYCeaosCS{( z#To|fwQ%$S7wO~LK~(1_aJRItgyCxdSV|XRM_=q;(c%FiYdsSIq(j`Ocb%W&k{Lu< zyDtMd{^TJn9xR;Ve_DybtrU3kbo3E!9V`b1Vcg7u{EyM-J3wVQu&k)lC`ds2M+*v2 z57wj3^EgHF)&kNBhrJ7c`l%zv`^jrPe;+*PHTM}Te?7JR7-*$Lfc1g+%$R7fW#2v= zXIM&RP$GX2oJE|Mgl|{l40`I2fgcQn@Ht->el=48A#x+)FKbw)=kwzv@O+PR+}BKcf(bb1$H{B_6!913xObEWXFPsR zlVGjdFOPd?f6^e}yyLjZL$=x%FZWR}qNprz`hErsjh4aia%KvkS?9ip+~l|_SNRJ< zaG2v>>NV`Po4RR38GkSn_e!%I(Fx?Q2sN%0HarB#d6j$a4wZ!{A}B)Cvs$PTa$SJH$ zO`Ue!LWUBF;2$=n73NVYhJpn5cpuBr`4X~4RMOMV|KTwo{;CR)tjp`Us zmIWK!4JN>p0o=j&mr>orMpR^{aBDT!!pTLT%fRg1T&`gmF|hQKq{i9#`T2%|3!_%4 z$UwgTW9{2@Tt(d~Novdw!`@#Y8|(aVcy+z1sJ3+O+0_Ir*j?!t!}yb7YvFu%bIOme zV(;!Yo6|wF*LpQYu*YF545$6VvmOiC)c*j?nC$-sft(+oOUV?L00000NkvXXu0mjf DX}_l{ diff --git a/graphics/pokemon/uxie/anim_front.png b/graphics/pokemon/uxie/anim_front.png index ff1fcdac1afa9e8f0dedb3a1ca9b225f662a2dca..4753ea3cb85604d575ad3d2df2547bb8da7b4927 100644 GIT binary patch delta 953 zcmV;q14jI!2#N@hUw;FYNklndA0KO`^ zMQYmu8`0OwNv!~RgFHe4=eht+F{FwlP;pukP!3Q-QouFWP~y8}mXvb_x$C4&;3@P6 z^W!(eS%TjX@)-Z!u~1_?L#Vbgn;k(5RVOj6QBY=f%sAnTnz9ixpM~TF+bJ=ff~|ToE|eR zKpj^Bv3x&Z`hPh%1Ma)8WXce*R=OJOf-$+cWbD`~bO3c&c$8wET@{%QKnZr5V!kZo zPM0SnWT)6-DWy#H04Xa-wwMpK6-c=Or~uYssLNU^4Yy1D&_8iGsQkJ5y4C9!6)et4 zgg{nmi4BCP9WCov=K4`Ltwp;;X0i)dsJXu}x=f^8^nWgvJ8M50OGffzuL6~_*aO8{ zb_<|BO>uf{jY3{^&w;{@F`%bwh5>G08D)c(c%}^#si6w$Dme z`@YEJ;eR|5|B!!-|7V~z+qT(Si9O`D;4h4i4;?D+d~LElLN0|scQ!lc!BC8Z2y9z# z7|Pv6AV%m4w!t}l{`GgZV(p) z_}v63@AZ!$e(&fH}j~ zLOlFLM5(TR_2KT9B@-=>{0%IjXPb3h!~E{gq=I#~zIvI*tM(6t9FkQ}e+hd}Ba=D4 z`G33HL!B2lvTg;I3Cb0nE)MhL-P>ksp@l3IaHrQ^zbo_kR;H*+BXrm$#JIzJBAOOq zBew`dnN$`l*HLz_4Ro6+Z0e#>SVYZ+L+?+UPO2#+r6tQ1q2~x>UFUp*CFY4T)pBJO zY1Z4qaPgT#g1Zlj7YiA7r$Ev0stRJj*h}xDd4xj!hV>Ya b@$cg=)b*jyS#XNa00000NkvXXu0mjf>MGMe delta 977 zcmV;?11|iE2%-p(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;g-b{`Gf z000ApNklv5wnD5QcdLI~`z>xyF}9OC5|Ht|1q8fOBPek(xeX8}Z!goLT|= z26==87k2@aVnh{5pu!pwkPWCIDZq^yNqiU2O0sTz<}#})j9V$4?_nA zzP^agDG35MfPZ1fAaFx+;O8*B(hFWR=_(+fh?q|0G?#A# zh`GMio6_QSf*D4&0xfIz$LvXhIIjH|*Nt6k8W`gustd5#35pr+Cm?@2rS5HW6nMRV z4>qi=e094OG;lm$)C91G)!R28b_P{c7XT#N3oJ3M7PSU+;TI*K93`alb-hV;{>N|C z9J8{7WPiTUH1QZ^Kh Q1E{IT)**e%7*=O*k~)|C)MXEQmETB0pP=s0>{D7uSKw22Cift&&V;V14Z zYMht^uWq(*4z)#if#18~q2rpW^jxp^D`D@?j(;BCHh2I2?zQ6L*dPd+{`Y-;$pH2E zCV>KD$R8?;NJ~z&JorlBhmjGj4tofMHl4s`>JQR_0DqYTioL-p4Bxx@%ecDO(YvXq zH(7iec>F06Tq6@WOQQ2T)|93fBb{=U9f&K%%av{*9)D59sV@KW!)Lx=q7@{c1rw-Y zvwx~87=0PKFsn~{fZ-=BLJrBa=0AZQ)2!}@Cjb8SQ02ufR-d>^cEw&5$9eMh&1P${ z3oMiX?%hy!jQHn z8RKkh)!0o1Nsv-GptMYHZSx`J{g}T$Uw1wN)b*jy7fn7q00000NkvXXu0mjfU*5`J diff --git a/graphics/pokemon/uxie/back.png b/graphics/pokemon/uxie/back.png index 2e3850f8199e14b72755e25623890faf47b2178b..5f6292d528980aa07f43047faeb87a209c5b1ea5 100644 GIT binary patch delta 373 zcmV-*0gC?g1Iq)DUw;8sNklsgSLutj2ww( zAtjB+mT1yoBBi%|mkizw5AOp-C>_%v`TO+$GYez)`KNh^;~4jvr^a0`WL07#42(Gg|8LVrp>?+)R`G#t3AqcB3A z3~SmQi(CtHv!?YF3%x;Z?wF1RIx;y0(2SouGN0j!aGLyPVfJSsx#XGk4)aT4yu$Ej zh8o68*a4#sJAfk2N~D9I8L69-A?emkN>{#~FG=I2jPbtjs{m(B-Qy;}JERE+yd_@a z)?a{w;5~uk6>i~e5L)z|5w(NRc(;tu2+LptHl^CSh1a9t-ttrPvQtih@AZkeS}XN! z^L?W#S<`}8R!Vg?FV$M|W_OkwiP;K8*bUNt>~? Tz$yzA00000NkvXXu0mjfT;;A7 delta 415 zcmV;Q0bu^i1M~xsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;g=26g#V z00043Nkl+OO6O^ic%SCI8Fobw-0Gj|E{eQ*bk8|}N1tTQQ-5dwC6AVzyNMW50GN=4 zy#YWBidcCXDB{7QherVHK%pG~k|MHrgy}bs(Bs7dJZgtYw|NvA$l^Js>9NifQ0kb* zD%L7Nrsr5K%pv1b1FG|Nhx#>K08W)%4dj0Y;@^5|?4k5Wm_Me^;XFiUIS-}30k!yH zBCKcfNF>5>?0-W+v!+7i&YSfis6025jpNw(u5Q*8#g)I>vZ90``>eO0NfL1=vB2h?}jHpQe83WFuM%h;<|7 zVCuEp3fAqY$>w!0E2|#tQP3vZ+yqFkM8N31KqOFBw-{fVSzk$;v9*C}&-MTS002ov JPDHLkV1ih@zNY{H diff --git a/graphics/pokemon/uxie/icon.png b/graphics/pokemon/uxie/icon.png index 66987daf45c306b7365d992d6378550c78cf81bf..e5d255ee02daf00bfb3553baa861c9878de48ccb 100644 GIT binary patch delta 334 zcmV-U0kQtw1HJ>0Ul0LFNkl(&4rZ}#(i1Kexyykr%&5dZ)H07*qoM6N<$g5?pOkpKVy delta 365 zcmV-z0h0c{1Kk6VUpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;g@pM0q9 z0003%Nkl1sx5Ji!19)Gs*f(m1)Si=;?6KB2hN+wmRMBRM;AEd7b@P`ia zYCaZ;f`?pWJ`#?F$ixm{(fYg)LU`06kv~nd*rDXvgTEHV;o00000 LNkvXXu0mjfL1Lf# diff --git a/graphics/pokemon/vanillish/anim_front.png b/graphics/pokemon/vanillish/anim_front.png index b16b247db7f7da3c4f89af7b77543250de32e447..6ccecc5c85c71d6c07886485ae65c0776f694c9f 100644 GIT binary patch delta 859 zcmV-h1El<=2dxK?Uw;EQNklljA6o9X4h%+P-jT#2Tl2^D`z<^4rIxs{u zW$HqTSy(CyojqiTGB`sQaD#P&^9R^KVra%n-K(mKJY+x!5KI3H?;Izw?7Pc=RD{$w zSW(`md++X^t&foZG}hMi`4xaCTA&KBp)F8_^`Oc+DAdcJG0=g#g5F7#2Rlpr+upaHHPiotL^XbTQl)x(Wz0uJ~ z1#q%zf_Fj@uw@%9(Gc&!WAwzKu524+lU>xmHhS2mDF+~MAC9W=M*aJ;9>ylG-W_4! z$S8ngJR$_XD1U%^ZaggY5rD}j`TR<|g&8D1gE5Iw-&7YK7jnh&K5h<(^DE^+l+l_w=TyD|GM6O5uwnKLUO6AT70s~{H)j{@s=lLllh z7#?GGLl7##FgzPT5K6(Y!KT#F2nKG0;YQSgQDg$p35J7xcC~_G^!wK=7)CdfEWJ+& z#x^_bIT^rr&r^Z{v_~^bTm+qzV8{TI`3u1SJb%~>P`3GpguUwW@PKu7f`M-??dk*r0df6m!7w~3223p&28$F>ljA6o6f|#2FHaMhydE$tzqeV5mx|Ixs{uW$HppSXd&fdcGlp zmBAjm6gOBmxPO2RB!*_J)V->z$U_E%0I~GH@SK)5itk<~K!25bgO~gC?%myc=g+ck z=$N19=Vt(xSfB#1$SzQUg$6edP+Q^?;8R%604{~rG+@38@QBHAW{UzWnCI`%8Nlmp zGf;)mxXUiUB}s?iWkAgY+=DuHMb~^%tI^w!yMbo}W;Ot-={$(V*vK)hzR&>03OIu zvDEqijvDIjp-D4Dd;(_xGG7wacQhG)fQY`(iSxil>j<2Va^x1gNaGz#1JGR`{D{*C z))MUHfw@)|V#_(Fa!91ED%UdtvK-)SQ+Hcw^I7%iqJN^`SPLli{2~Y(w{+K8QmVJn z+NPCgywL!2iiqY~Lc~g|p#_G7Btz9)S1Y=^DEG>gMyiJN)%ISwQSOW)&`O4)E~Ct* z)q$ybORl64=f8~2U33!_WAD4Mb&Js;jpdoSw@VSGam>6PB_)$&hk1TVu}lUWV8wEX z+#718GJox`uk>k0o$x@S*cGgAX<|(QdOYw`edU2y(}2x`DSxxMhIKn`f?yQdtY8${ zZk-d1f-BJD1OoxutY8EJF!UM0umeQ5?lXd62QENH7zM)xR|t<04B7_LM$CdyzzpC7 z!=pTXRxs=^{KtY}`;)Ke-k4ylV!P{20FgWy6Mqa4T`>{jH13QEh7NErx)uzegY_r> z1?v5^V1V$#+|NQS!!wvv_PB5r*h0h5F0Uj$Db|A6>GYf`| zqf83C5{xka1YtNP7&iL(#vKz3yDL0aFamJ%A;tycG9$BK1ZH3)7&dwsa)Lp72zkK> dZw2G8jNi;cbNcR%B91)>FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sBcrK~zY` z)zmR>(?Apl@Qdt$A(1G^UBZ$lB|^$lE4IYIK&c0YAk_&snJGnvy)VBjT;^cmMb9tc3k%<(@n>_AP*sS@d(v=fkx@ z^ti)uk8a>{9sxjig#QSCusBu@({&fH6^OPxGy<${;2ioVolCkU7;d{nZ|NS_?6`-; zOOXStFI$0MPEaoap#ks+BU*=8yec)s2%`2c=H3GdFm9Q#ulgU;Z{-&gv_D91@T>yG zPUZ;2>N5p9iDz$Ag1n1hBw`)NJ9V~AFH_$vkMb$Rx<$6|Vang9V$e!e)It!{dn zObC!y4zCr0lz@JG#YyEqW=TDupMIhs+HT2P^%D)?5c1sp-L)C8`4GaYyr8M)9Eb+FpP^u^9#k z9qhAUhAk;@S8k;nKno(R@b z@4o+@7bRM?13OTgCYZ6BWURexktzV4fXP@Y@Uj#9gJSFzF97BunbO>tEdT%j07*qo IM6N<$f@Ki|0RR91 delta 562 zcmV-20?qxR1(*epB#}W-e*gz`Nliru=LQE4Fb?LR5J~_50sBcrK~zY`)zvX?+CUTs za7Xsg0i-0Av(SYnfhw^CVWbWnO5>pem1^jloQYJHKSo<6)=70g46c}1kkX(VJa%B{ zhv_?mQ{LIWtnFLh@BZ)ZY>Z|7Uo|{CHTG?Qu33zs7nmcm0UD>+e;#6IX%HvqBJIO) z3d9fqnj^+f02`??7%ZEBqd>UEzzC?CfxGXYnNC5~SvQH3`S7sK)234tA_G`{Xu1a6 z-vk5(fFVWH4zaN;HN*(Q`X@Gg1QMWEGhE1jOPq2U|&N z?^J?(2%#$?9mof@f3}FAgLI?lD+ku=V(nocv%y6S3_QDkv0q!B^djyvAa7heDgp@u zt>^|>Wj{voaX>5i#6h@Tv%6}=8lWNUx?9^@Gq9##G=SPOx5qlj2A3?t)xoUCfL#H& zVxY6CfH`~R>D$4}#g7aCtaRWpFoPcJ2kv~z_IR!X?UT8c)pkqyXYgxag@{gkFtSYz$U&`-%)@3G~P*n`1_L4ts4b!K&9^ wfWmb}!-3}C-xgQ9z#Omv`NTnke;m&B2Jr`CJBglaFaQ7m07*qoM6N<$f@7dQaR2}S delta 182 zcmV;n07?Ij0=5E>U@r-9NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=@pHs2#rm z005auL_t(I%aLa*e3Jb`xSU3{HDPfLsII|*1J*(i1IEsPD9`?iY&>1!ETRB0&w}#x zG@h96Ndd&0aM4q@2)!Du*chzl_7xdLZ~Dk7n`1_L4ts4b?!kKf1t?rsG#qID``hAb k7nlP!AfGsB@Q=f}-th-wJEI6|a{vGU07*qoM6N<$g7pVU5dZ)H diff --git a/graphics/pokemon/vanillite/anim_front.png b/graphics/pokemon/vanillite/anim_front.png index 8ffcd355106b0fbfcb7300c822524593015a93b0..a837f0dcd06788b330d9ecd8f63e97b98a666c79 100644 GIT binary patch delta 663 zcmV;I0%-k)2I>WnUw;C1NklljQ5XYU0;W2xfThAv zq>#Eos1p(Ft%dFh)XKtxy=Q1U*h|D`C}QnM1_Xn})`7X7fqTzYWT!qy>Vk@VTXa9) z``_J*-rq3l_!5vqD4z)_>tqm5TeIV*MTqG&KO- z>jMw6BUoUeuYne;VF?D5f4uXS$v5CK-ZN)R0az>tOt69sU`Ay^C@C9}j8d5myZ!Mi zKpUydaw&kvpC$x+lQsh!X<*~K#8D}*U_*GSfDcEbZYeN;*L1vf8raM>XcHUb&KY&V zT)WjFbS9HAb$_~D4%~8w@a7BU-<6+W7(I7KEz4yJkj$Q|Vw)?Vh`#GC@_8e6SKYqL z1GjOd=e}}c7DzE|IWJ=T!2x$Ke%S|@;2|#}J;5|_&Us+;B#tZ6Bolro-73JiaGc6~ z9d*=kW8>c%3=u`zV05{B;GwS!2B#qe%i2>0gA)m;p3?Z9tL(+D&27swoUXHTKilOcOj0pnVn4jVb@|=Oz6|u2hiO x4Y>3VAr=6-@YCI8{y`K(s!0}q*Kt$hFD#_>Ob{qn+Ft+w002ovPDHLkV1jXTC4B$@ delta 691 zcmV;k0!;nt1%?KYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;h6Y{l88 z0007MNklzi-n}5P*}2!5yejBRWToidgZryf`XS0+tFxkwW4Mp-x1ww-LH0 zP?3cPd(Y4^Bum8KP{i7i3dAbt5nLkxl!FH z0P4`lPXK07g01`nb%4jY2?%I5@+#Pd2YFT81r^(OSfHr^=v*JT7yShb)Os2)*&5cN zPv;N!U$aeK#@kK-0BhVHgckuO2l$ds11cl4%&OIT{}rHxlqPc>RXqJLC*Yg37~n($ zJKrUaGl7}~{(qSQ-kppy`>gfhCH=iP^DJf?w27Tr`<%L9uHEJk+VlC0Ivr#Kx11ro z`aPUCf$^isWRdsquE6hUC-?ckuz&6HHC#p+rC|Jj!7zeA3kLTJ zGQ1JGN-($@d=TPL35Ll6AnN+F+F*ghz6N>>FoL7#!_4$yAQl5d4GcKosGnP8#b2i; z)i>{20%EuY0^-Sh0Wme2gxa-j0;E;MluN?0Wkp~r;~{khL3Js zK%M}in}51Z2?5!~H1JOa4`!;1EzAT+K;Yn9Z_7^s0kv(oNcVVM*Q3u0gZtg^JTVx5C94g_(==MUS$~&NCQTBTMNh@=|kWqu2KZh__csck7+kD zHE2X1RAWEw-EfKv4_eEBZcO>ZpXc<9EM<_<4J^3y2OnkX!e8w!@&_YG4mt?j^4)tQ Z;x8wq;=;y#N8bc&j~0)N87nTh77^bHz+1U-k}si(cpLLQi6v-hj#5V zR609<8tYWrIp1Ip_w%RkPKVi9|55kWUUzuEWd+=nhjxoQ&g~ZCUxAD-tQlY$#WtV^ z0CC%5fB?`$kaz%Bd_d-Z48VgaryFs#f2x3x1^^uvHUKhCcIrSa67Xt(?4ny6P=Mq6 zSoerYIRQXh)o&h%Y2)YEW@JoJ_n-%5omAZ2H+6^xx_P?z`U#+WUd|tU^Fj(-w@d9ELrq=3b?SX z0&WXE@aF2fyLFmtqqN_cgX;5GNfQ|T0ESIqe}>kCF{?#9Gy(46Iy%fK;n($R>Sri? zz11BtBoTw3=N5IU#c>C*!T5=IYVEB%E8d>Q~$SepRI7&)m0ZIOV}0^}5vR)7L5*Tud=Y|8Qg zMzVkPKx`Xt$1ww~i*^RJDE%h9E)Wb!AVEO$Iu2XPh-VytM#DD%Ncfb6Ju!RgNdiw2md)f)n}@{$Fw{k+wU!Maon??>O> z$0=1pi>c<^Lbu{RF#iFBn$SC){!*8yjzkn{&&~05jPurV1I#0L_t(IjpdRt3V<*SMSFuBCQF5ahjT4BxF`r7CQEx8p=+UL z%+Km1X6qwA{U3e^KbYa(G<(1|f|hZG7RHs9nO6&XlxQ_nIe|t&m1F@c5PP+&1dh@n z1-|WDoB+^XPPE#~g<)v8aDSiA)?xTMkk$d6X&unJ)&aASj~D-H9*{0b0jpK(hyVZp M07*qoM6N<$f`bY}U;qFB delta 196 zcmV;#06YKo0h|JmV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=@{xee|IK z004hUL_t(I%k7dq3V<*Sg?ob>CQF5ahjT4BxF`r7CQEypLf1mg*q7N!&6bb6{PCRo zKy;JSYylSpHDU=Zj3qTPuOnz){HUSK0W=D-gb}a;8M`)>Ks{4BB*ECW`3V5+>BLoA yy6_n4#r^RHJ9KLYQaj*gYKLO&V2*CUTke$lLpw#%0mh2ZGTiw%jX&Zm4B8$G`7=(@&M3ig~OdS zz&ufcqx2H68+2o&0c8V$yJ5H6t&}zFpoE;yAy`Qkz}YRRY|d*X6iVQSd^2wZ1Esqn z;0L~0s-Q%jD3rwkI|O{TvRR-%)5uazq2`_k8xa)yfST0^pa_`0x%4h^BmDh>T?zxi zLg3anL~&{_{(tj?iy6ZQ)T*Go6TWUbUBj&X@@D!M0y{ykD&wrPsBcXSsJ(EfR|r%B zpvrs822NGy6kzI3XRZc~aJjw6PAMuypmsU^=SMNtpwgai$O0HM*lLkYm%#iS8clawo(};dD`MaO1aA!7~{XO4rD1S8}vd?+FVVP3n?E=8XSltM) zKfx~HD#(S{{m5A!lz)h1u7Z_DKimAl{!$!1#&);=jRDGm9uTTu9^0Lj;=u4g*X3bb zrrPj{w+&Eve@VO=wsk3T_G)5=h13B!%hNbv95wWF70!MQYgsU{mcRz@W0fW{ANijZ z48Hr6T7N%9y7-;*;U_0;-PZxwV_zLIF^T|$avAL}^&sx)P39aW0nQ%i<&fzew_*V0 zl=mqewgaH9>rD~^Cj1x$5R+|`vEh3B|E)|$8=RvKdx*>VqJG%!kT{@@HY|o3xSaOk zusvG69}4P`VpcKV|LsI}o47v;&XF>fzz7#adw<8Pc|wly+f^y!T|ya4xqoCE2vF2s z5148nD#YG!5kPT;zg!1soccg|3xo_bb|#-+ugN1o*R>Y}t>P|Z z1zrQ|s)vBHwt5f+C%Xkwpf9rl(zzyoGs3%wJ`z#H+g_%M!6O+{A%q(|-Bf)c97}i? zMSlqp@4Ak zn)^e$SS=xh9X24a))-<{ic_%+OXh_ZZ!{;odEOB)*0jV*JTez?csN*D$<|X#xH#** z&V@w$NOE95{r=AnwD z*fj=&F~~F+1N9+f8w|&QY=hB(YYc`CH`ZWqwkVQnFxXgI-m7T_W317oKS(hc%|AXD znFgcD2T^~JG#L8fAlqQ*_d4Aq5H%RO-iiV54aNd^Z!kjO-8C5h11Nx9@iNWg@c;k- M07*qoM6N<$g5nnh^Z)<= delta 1117 zcmV-j1fu(v39Si`Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;hGj1Vxm z000CKNklv2WW(6vin)VgPHgB@{?UJ=>xQWs#^P&QQRi*}9|9R`x2mkq*k# z64G7hPB9XM>8K)NE=+)+KoOvm;-wYXrDITdNVg99U;2)uEPqm@s5xyOAnV`imr{!}EfXabC)VI@w@&M2{2!}f>fO(<>t@IMG8+4C9E35iYkI*(q5e2-Gg7fBnQqDpZX5hFk$7s^6G3pnt|M6u4vF-S+$3jcihX0F@aM zp6CvLC1~o=M<##sD+O-MX0t!%`wgWgMD{taH7rwTyuSi)F;*u6?2oZaxD0Y3b|-Q# z56eGBGMB+hqmOO=aDO2VpJBV(f5!m%PzwmfFOTicN^xLtsA=M6Tc*+$zn9uGGdLmhe#m-BV~$bV?ZUrkvVZdepGa5=`&z!)x{4+W(q zn^nyBemN1{CeDw7(~?I57~+CR_c(dJ9OJXA5Xw3dp|q8HObURY_G-XXdRPI0;fj;i ztcn&SnRZtIrwE|9%wDeoR7QNDwF2m?^h{juODh2~%=}!CD(hqdcnq|%0q1`92dm%= z*M9)y^_p*9Tlz1AH;G;nQN+_;q>8~M8B@-=8(iH~ea;<=dy}F7Cu#cJF+t_7$a61| z7t{VR#)Fuo)E{A9^|LI|MNv#YM}?<8V8Vz`yad3XhXUNeW9~O~vRs05J8Xbstr571 zCg)*^JXhn5=D0V{I~+!;nplY^%|#p*4u6(bvh~E`F3x&yb0HDGB{{I4{P6pyVluan zgtL50O0Z|!w)<9mU%s>%`@R?lglVuv;PHC>;l6FxrKvSe7>qpug7+EG8-U}(46oos`l jX&(*7M}zTyH5mT_D1cq@OB(f!00000NkvXXu0mjfXH5!8 diff --git a/graphics/pokemon/vanilluxe/back.png b/graphics/pokemon/vanilluxe/back.png index e120edf845458eb6abad7c8f6f07731b90deb3c7..40f9ad9cba64c1178bc93f9a1d93e8346240ddfe 100644 GIT binary patch delta 819 zcmV-31I+x12bl+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0`f^jK~zY` z-BdA8+dve)3<0SFO0Y!RrBaT8uppTy(x`)fLlAPJFr-ljcCe}-_ZB&&OS$>YlnV={rUNO-@Ef?oBc!7>rZsrs@MN=pYsDc|K$8lMFse- zaX92qdqd#0`47W>^NGKI?osjJXlcsJ6Y$eDh3COG=i1uy;m}ftEf3(9^TsMI3&06r zO|W^+=2&fWo}zJy=D5h%305JU(Edu)VuQy+T}9*qLoLP`kB?2Uj@1&i=#Qs+-#se& z=}k@V!cvQ_QgMChnYG<8&ryqNlBqdR8LLgNMBR)#ZA;td2T;&|-CALBXIGvU0-|n6 z|Jhd2dG08078XSnZZ#ElO05)?ML@KbjPQt&`lYB$7ktq)nHh_Q4$25j7x+Y_QX{>J z2HQ;bP(W+6U4&MYs7qtpFAmqqwuh!k1+uS>Sko+x1!7L}1qXt&vSLHde1VKJUtkMO;_B9_J=N zIg^MApqM*&A+?OH%8x1UEj4%CmlipykzB&SnK$3tR zPtXDP3OnShBLFWK4C%YcKZ|*kM*#DD0twi_H25#1^e6&D(I7IP-ctWof^gs+ISN5; zz~0HT!5o5rUs8r&9UUxk1IBtX4#TcAAR0%8cdX!1t|CfeQbvWK`mlOmB=J>&jJnso#8=m)| zewY3*=r^4Ns~QcT9V|?Gam<2jh2i^blTt112W-EDE;f9|ZYgaq!#aUE0$U-hpOXTz zT}m?$uE8oUa&in=mQ8SdHCVUc)Ii5$7GP*wDc-U zSVmtd;VpbKw;SR+e^^E{%~ioL4cU%ggRaM&mc`}MJ!au{%SzmpGtVpmp=)yTTxLPJ zaFBMagw3*B4SCt6RkNy$5aD4O!xJnGYF3#l_C>>VW+d9$C_^w+EI=rgiuEkoWIf#h z!n3QwI80J?X(ZmK3JHa)G6XJTvyhJ}N5Z^Tg^_TfiI?<7e_a4U%wtz&BsAo++qQzk zvX;(gw(7H%Ntl`Iw{||w$ymLr*jD9sOL(egoyF@p;pzn2S5>u{s65NSk8wJXZUNE} z5-DJ%Et2E|VRaJ+fgEc>lW)Z?>mW#=A<$!ySSws`L)KTi5nC&qQuR&46)PC4e|JOD z$gCB%PtBSqfAWD&N-K=+;ia<%-0zW1+9|Ctx_ssg4OrMCKBdMAqYKa2TH~>o5qU-e zT48k20&D1}Xg(rMAarR`>7oUdp=>S%9Qw@;p5W@BXbY+{E|EZvCZGUoWm~ALEnt2{ z7~#FCu0@el7O4jJrM&LB z-|ao@;8oOzGEko)p(({x{eM0{#YoCraxvXS3m*7cop8$KHB_ZYph$p{B?Xu$d~*do j1l>VG8(-d&|0ezbsQ{p9x*6uE00000NkvXXu0mjfUeIyn diff --git a/graphics/pokemon/vaporeon/back.png b/graphics/pokemon/vaporeon/back.png index 34b9d1e792ac14a0d8c8cd0635ff6f73daecfefa..67c3e64755fd21fff2faf7257c1da83893e5bb50 100644 GIT binary patch delta 601 zcmV-f0;c`71;GW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vbs~K~zY` z)s#Js+b|G?Da2sqLgRvkz{V<4r7>h|orPWG7?QnUVdxS;nq0$;3$9M!RBTufbEuG( zMDr)n)=LNwg!ggg%?v5>*%rVDKv920yl%>6;K$Fe%fRaQrda0o{u*#Z?;*w_4TlSlXjbZ3aHszmS8=wN+R$pp{KfQzGr~BqmlN}v;)!X6SaT| zkWxE62L^b*BMvAB>{!zr+pr#IYe3_Hb8~zNH`g_kg;lMFXb|;zA7@})y%m3K_6K3X zn}};z?S$a(cMC|T8~ZxPT{<+}I+z34QdBaNX3OLTrXBhNRPe#_RNr0`2bFv|9W&~Xx6bw=9u4c+MNKzoS^^5 zUqZ~fn~BH)x`l3k+HM`RMMhAV4JfOVDm77b;9K3>CRW!nb-?^_u?7k$;~cDpi$C=>qdrT7eJBDygUSirY5QKJWh8=EymdcA!D>=}X2 nC#Sb<@<8i7sBr`N1dEWrB612Cw?A1G00000NkvXXu0mjf5}*tuWF1R{@Q>kG=%%L*0Bw8dl+Ij^6 zF5btPH$Rja`(h8kCqPzyM!anDW#H$p@5{jI&!%1me(#onZ`HF{f6j5N)Kb;!{CvE6 zd9zK@tuKe2repMGP>R7)6hPf~vjB)HA|!&fa{%)=gbZX9bqus~xfd#_q75U&eJFGY^l23#5SPhYgfK#U zi#eLP4v7aQ&0>{|wb+`cM+U_{08X3#dURzN(TGu&nBH;Tf1Ci+l%W0KE1@Rc%|xXD z-$FAUCkJ(w5F920J?X57O=J!DR=3o|;*!S>gkKjjkZB#}5GB0%rO(~)ZSZ}{41o35 z#@u)O8Z5&V#B?tQ00V&Q#$^})IRf)}L%*E^ea+s&oqO918SX&qBo7GJQ*MEZw01Cg z2V766Ra{BOMR7dQ7{+_m%Ly<{HA5gEz_-z$2b3Ed8Dg#3J^=BEAg9e~sZAcJy@!4{ d@HPI9{{bR$3K*wcmwx~N002ovPDHLkV1g2R4hjGO diff --git a/graphics/pokemon/vaporeon/icon.png b/graphics/pokemon/vaporeon/icon.png index 7c598553f2b03a9341674c701efc09575fdf0b78..151f588b29bddaed702b1fc50ccd8fcd88872727 100644 GIT binary patch delta 354 zcmV-o0iFKf1Goc_Uw;8ZNklOzN3eJHw| zRN+V9C0HU|Kphy68X{mqO4T$WgC#qMX=A%|M?&1-*k6?2@%a&t zf(P;d6qW*3X$L-~n$Il1-FiYYDPiCH>OYq~K{TOG;X0G25qTi$KEDlKS3cBkb3Rz-9Do3` zwFfl;2%~KPhczs9E`AhKDUOKvUj@epf|MPC{Ybv?s@(ZxDEEL-+Q-Hjbj9C-z{0f+ zraOb$0A|=sOIyHjmm4dLWbcQlG?G*(edqadMaewg`iQ=!m;2Ey_%Wnpm|eF)hpI?S z&e4G%ZT4LCiUU6`?%G~-=m)>|q9Z@HC%@{)7eHgqJp#_wX#fBK07*qoM6N<$f{sI{ A3;+NC delta 395 zcmV;60d)Sj1KzG{GPjry~MG3rk-r(UdgG6`E;OFh{(LmyEO#yGG;{WK%Ed_G|B9TRZK|{P4(J> zx}iJ$JSprO0xn2qTo-N=7;Q3n9+Cs14)}femby^0&E;^Dvj+n7&Ky*GAar8_*so#T z%koNvl7t% z%dHVcvhzb!4U$wSUGsdMQoM+EE+S~?^>IA+evBv{Ww))@p(3@u phjtL2`oSNAu;<6_>{tEx20&xZJ@&8VX#fBK07*qoL{m0@6y>65!Lm1MGQ)hO9En5D?Dk*n`O#P-@iFN7CHmgqrTp>k)wB z2yDcJ`IQZ*5@WLi0sGw}`>6Xn1hGT~W&wcZARuYLROA3Cf){+XZJ*Ds_zeLP)~_*F@oKw$vg^#}^!r-B#)_+!i-&XIB~Pcn z^b0Q(=P2wMC_G-{%}GqF(G=b^w*gaiMZ`+v}V_A%r`WvU$d^7U}}4>!2{ zm@#9<{P+Bgff&JX<{%hTw}N=GxFy4wIu#_4pQ(O9K@NgJ7I7Jnpj<7K5o7>yx-fz< z(CG(yw@c$Na79FC82uP^K%*!|Fqjbt=Jk%w2nJRnkLdNk^9oZ7LJKI78-XA_5H$f_ z!Ylwa9)AJS1IGGF)d_|uJHuEun??6H^-f_SQ3o0C&Vn9yW*Y_xMx6jB!AQv;_B&=7 z#z`=YfndGdH@0DrU@Txp@&M!qNC1!ehS3=a7z0TW3~)UQE#PDzSq=4Svv2LQJ{d@! zRVn#F`@?AprZy9MK5 lAY3z-U>wY0^oKDQ^BYxm(P1TCTYdll002ovPDHLkV1i12K^y=8 delta 723 zcmV;^0xbQK2Brp(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;hazQ|l# z0007sNklfhQ5Sn^4u&^p zL0+RuNEtI#%D>P*s_(En_~2}*TP5D;`ic?@G0_Hb%K-HL< z9w^W~Ke3P6T7RZgq5|^(fYoF`(gbr+0@STM>|(Fb);dxk;@Cirs3;KGV}v3pLz*ZQ zZJ`gl=P0yy;wh(v<}K9C5O}mVHEJjjfdDKE)gN}>?GqYCU;?s4P^y33FGrghm5@;< z6|eYu-@lHI_&o(AY~E9@()E7-GTLpQ)89AxJyl%wTz~u+2j0qj@ms&~N^y>2;$ZT0 zgZIBUQnS|n#E}zArF|X?j7206{zuEd{*H76@uQ1&9ZXos((+hNuT& ztPZ>7a5QB6HK2oxhg z>{7D9G2*e5iBB0{O-TcPQ0agxAtpg6K|z2YLjDRtBk6?%lRrby(3c-xkzl#*d(ilF zUcNj%2ZZT9Kocc|NIHT8@Yb8I6m{EfMCDyFmiAh(QnXf{kdprZeEm#hY0pEn$EIm6 zi8Ekd;R5TPa7l9joCkx2FjsfPC$^|6aRNxl$=qx~KplJwmFJ~@K6%8PnHrDduWg}J zRjJa3z^%_RRy%`3?OH?%mFj&)BD?i_p8yEw;eb8d7gZeYZPlC!1U@VvBwlD#aCQMS z#)klvvk(DQuyDQTfOl-Mae&GIpi12(dgq2jk8PKsOzg9aluq>ys>UL%=>U~fkGROS zhMmpvusJ%wbO1g$OL!PN2SAhKp*6M72xBbmvjhXZpPz@UeMY60UxM89XGF+1-k;=H TH3Jwq00000NkvXXu0mjf*vHWc delta 469 zcmV;`0V@8+1iS>0B#}W-e*gz`Nliru=LQE4FgDJjsMG)e0iQ`kK~zY`?UXTc!Y~j; zEe!{dV^^s_c4440@}!P!6H~BUD9aq6>_=kO2WnjkNbpQm|~yy z|6OVDyu1E`W@A9a1`33Y0F&GS`2avy4oHW9jEw+dYJPb(6r!9ue{c}UM}Wwtq=REb zV<}^oGP;?P_@Kf9H$qJOK!AMT%qf0_Afa&b%^24qNZ`s(Z%EKg^*u;*J}+KhHoiwy zA0V;hoX0J}0C?|BSMaK7w!CyMDNTAUXu%sJM+m{L09WsbH0gQp=2X}9CD8%q6)v#u z2%9tmzT+JyiWvj72^ z(_p=5fe&o4wSY_kAW}ZWYHx=`k6oLgh|RMMrApKus@fopOKt%fm(RG!wSt|^@vuHw zK(_!sOL!Q23qX_8vC);w2xBbGvjhWmn0G@~E~AvoZ+`zT{!97+-k;=HQ}pj$00000 LNkvXXu0mjfz82Ea diff --git a/graphics/pokemon/venipede/icon.png b/graphics/pokemon/venipede/icon.png index 6377953d215cff89bc182ea63f4d13a6e3505ee1..c53e2a0848eb37f3c8b1b819ad5b31da60701be8 100644 GIT binary patch delta 203 zcmV;+05t!`0;2+uV1KSjL_t(IjqTDg4#F@D1<>3e$6{pZ%r&eo@yHQ4A@Y`FL9Q5L z(t={U6G)8p_J5?vQC)q=0^I0=sP2naZpQ7i%r<8&DXGw@oBI~r5t zeu)+>H%@mgA|e9eS+^j_KuOn#w=@%FyVv|oQq1PEMzL=ZA4HG&$8<2&QFxmO&V7!kGX6NH4E-xDUgxN63GY9|x002ovPDHLk FV1mL6SX=-A delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4=_5%6y*N^ z005~;L_t(I%k9!J4#OY}1yF9lu{vhS+-q1_@Yo~tgq1g7sT^g%B@EawwNl4;^GC8i z(sS+_=e#&S>F=Gy9BN{Y@unys& zOMw{CkU>Nk%dx&)I!C2Veu7!VPRbXt;cFEd_O1v zkT{zCWf3Jz)4q^-x>_NFn1CfA#0X#<*)k&0{&UB45z|rn;(x{@+!>4u)PwAsm^5LX zK{x4VB8q_REWLKvr=89ky|$9J5B(tLv%`F1=ZE?0(_mf#?qE-yDUJ+u|8R%C0P=nm zR{(WCp6c5NX3Lk?W1+HzRmyEr=J z5bVcW-f{@`<4K){94h;-918n;4%z;mL$?3QK??g@4kqm)<&f>aa-cQ`oJ#v^4uVY% iOXWM{P~YP3b9e&4F8U|R(|!N|000037}a3 delta 370 zcmV-&0ge8q1IPoAUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;j_7TAP7 z0003iNklTDfMR$xC2Gnf{rh3uP{JmEEi9@5W5lmOdVdhM~# zJDoKKZ6$9X`a!N&kLAQZ4D;8g!LkJW$zD2B9U18P;ZJ=9(^b diff --git a/graphics/pokemon/venonat/icon.png b/graphics/pokemon/venonat/icon.png index f68202770306b306aa8c2692eda3cc213028b7d6..5e8a47d2e4c30adc69ac261be92732bcba51c7d0 100644 GIT binary patch delta 251 zcmVO{4>1z!x_v|d z007-dL_t(I%iWT(3c@fDhVumGU37Cu9;l#O7Y83m>I0aN4jmJ8uha?-f~h4?=#pv_ zmtInEa1imvkNcC$-Vv1>!+!`S{8aBepolUa$SOGi zFmfYAagf0|CrUxEQj#mxXY8JDO4wpAha~A>$8?<+5a5&)MJM}7aOAEfldQkSveYt` z_JiF;teF4+>+?bj@R)YSnD+MJteE>-9>vSxAL=9e%`%}uG&G0~m3nUwrYlyR} pS#1J?{zaHJ6dVRSEh6`+9}h!~#?4~D=luWx002ovPDHLkV1oE5e8m6& diff --git a/graphics/pokemon/venusaur/mega/back.png b/graphics/pokemon/venusaur/mega/back.png index c91b7db3dbdc13883476aa894699c431b381b714..5da7c6cb830248417593719c459ccefbc731483f 100644 GIT binary patch delta 1064 zcmV+@1lRlj2#g7kBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1La9XK~zY` z?Ub=@+ei?G=^~JjYqTIFI&cx((tZGHW3Z3)08tFWxKc%wRt#Y+MIB%VDM-r#0#}xh zCY^|lniK))YV z{iM@r(`UGT@Gn{qD5b1_P3bYR&pRFJJ^Lrnq!_g*hUPU%sTwMf7BvSmW@2ux6WE73dzMe6WYA0uF{4+p46234NW4*I9VR*w*?-{JwK zcmn-k>@hHPLa9CM`JP9Ht$^AcbV-@6VKUVKwcQ~(_s*<72plSZP3C9;Wf^#oa26=QjneS5_<|;u#o~8-G$QW8!?Yq?Gb<9%M1;V@qL>zNbJ2nWupbEk zB98gOuZ19gPzPW&;hbOAEX?CFnxtYC7J(Y{w76d{M7n_6>-t=T0%Nf%idFcg0v2Mi z=7SpN&?e;Li3W=Gn*`@j7XWZ09!m}$qm-jUia>Gy=MNl{Nco`7Ws=0)CzdWDrpqE; z-hVAY0;J)1p5#19z#ke26;Ld~uciKrNap!$LeW)m=(ight5Rtl)k{2QhCmKBv)Ma& iH&OsM{tpPl_zNQDFfPQO6VCtu002ovPDHK)LSTZq`tjue delta 1008 zcmVDiE;$(nzMJoKP|oOg2+#hh(`nP^ zxPJ66T8}8DtWD`DvM)Lv>OKD_(4-hYQi4m+dPYwg`{%tb5QMgZ-T`TAE$ZwYe?jR< zleI{{_o`(=@&rs!dneI629rzyAO##SFm*wrm~;+5qvHjs|*gp%Hb}E{S8vBTKls1p+pJHTG@$B!2T6 zrr3FZX0wJSV3>gmOdDU5OP<7cuhkgQ9uO`9wSlf+Gs_?GTc6r$1LEK#@C`kxHh$$_ zJUN_Oiauj(VAM=z`o?Zl%<;P#V8;l!21vN-#sdww2i~0ASZ1Z?Chu#e)7S&7+Qr-& zS=ElQX#L)FDhn#Yc=W~}`F{he4R`l}DE&EqCgJUNhHNZ~E#N4RVKRpocWYIanJYf5 zmB(7(GH~XKbRS@*E5zq(LlZ1eK-VJH%@zm%_z)`~)xae6Ax1t<7`q;Sf*P2AJPRBE zED_%ki-hw)0dACrpTuW0u_~6o;G+?77apb+;hI^IfF>dY9v8)|fSZe!9Du_}01$D1 z%olzw1c5pL>j~%lx@KV>m(e5@>#zvapl8LyW+~Do++Nq`A`}?Qby2Ltw-vAy%MBmY zIEOYNA5Sz;Y~Cg~hq?fO8}V3j@ED~W6;cF>hd;mJm_*74buN=6=034>2{Bt0@#^7A z2@)U;$MYoTNdo@RK&XIX8Gb4CUqrHh$fx<3SP4WVutfzF>k7d9$D`kvbBJZQDw1xX z#JW^KeerJk@!T=hjmI*FCMF0Jaaf`U<7OcxWX}~amN^_(3Sgov|1gXn?(e6$e%Kxf zrOYN^G8LO*QmhqFU&yh%#QZ5^M^Z}8Cs1Ry+N5z=e!Dit^IT?^=lYc#Nzjmg8Ytqd zM3q_*GL+d>StiDK%&)%cy!W)M0GR=r zEw0dIjhE%`Xb=R-k|%N(xdwiPLS@s$CQhH0S|Yi_&&6H21HNJx=L~@yY-aO!@_wWM eZu}oA{sJQAFfQXtH8=nO002n`MNUMnLSTX?$!X z@O*?Z`iH-~{9%>gTc7LtDv9Fw`eOVs)$ZskpAz_vuG71V-zSsFjfbkL>nk^P zA0aBGcQ=!p8_A~+H9|CUGer<%tkAm~8|zP562_R28!3EHe_?e6X$(UW0Me8|ITDeC8kqqKrOXGLqiZVT1q#3_iDWdQ(bOD>Aq8H4OV|=Gge6Ky zMA7IRNYj{)e`=sd(n|%7m8nIhs7h>ZG6g=tXezygcX3+t97YalbO!h{hC;z;1f};w zyEx?m8qF!uSqaq0flpP9`0;)MfDAOCsx)?FG^RwmcSvOzZ0RQe*da8a$$7PUB=s+x z`mZy+tr-ajH;bq1)*JVIOgx-jpfA?P}Ml*Sno#NKk!+7J4x3IYyTA!lpD4Zr3^h zIKAiff39f8DkhHLWwX8+7jsXqyQxXd7clL*`nQijYB^$!)_MakfPmV)4bCUYS=cu zt&kPKigtrRkv2;q9>`C1^Vxp0K%zmiQn+2Te;GG(y?PJ0`LX5(H;vcwzD1QNH-!*j za=i@?Y(4_XISrUYkz5UR$mTz7((vlc|NShV)xK(%1JSMm-C zf5evS4kr^2u$qu3g?10DmbEY5()1hv;$qjDMFTM)_Day%ACzJ$OF)r}XV!s~ZEFt! z!Lp~&I~3UtgU6vnvete}BHmV*Tm3UJ1|YgTafhd_Ombe_+qD4MlOLn(mil5S-ZBQ# zSoF(YigMq2)-;-Z=+kvegYr;_pHsfLZghe933P2ML_Y2E@)+SDsBsBIkWs zp)Wps|b;QRxv@oNoj1JNLw)+XtP&XmA3LylldCf1iw@ zir4?u=yK=XR2L^h_rmM4@175(F1uLcm2n01tAP+FqlxaB1hYGr<)PeTnSOG?VaJ68 z*7W-l0EJa9%TlgLJ%xZ4VsP^09%Eo~1S|9Y?Mv>-6Sxmh7b={k0`lPR05Alzezq-F zGw(74Ab}9mQ_r^b??zYN^@3YDO#fx%68LjE{!(Y7d+3wc8J~%>`?Gt=(DlN31oZJ} we5U8ozlEP&jMms^>uxgl(0>F&|4$(F7g=O5f&Ffmy#N3J07*qoM6N<$f{i(Awg3PC delta 1278 zcmVcF?r9pizxZP^ncR4+D4Mo%TlZnC5ORMr zxw(;i{#eCW#kW%g5kfM#zp=6YoF-w6Fus+-e+Ly-R}flXe41R}AS%|-txkMFtZ5o1 zXb~(VX+{AGN+yvSq4--3V|+vSh$3!-a8W`~9b@{lxZe2msj5m5 zBmp2zFqFd)K`4qw(NM%Ki%}u7jCm2nom(VUstDeKiA&Jfae@2%H7>!8j{m?E-d4NiC za&%TgYUIGDqD1^?KLJ1n8c-AxJJK6dqHP}%5jtJ^1ps;o4XEP2T0Ii_S5E!+8DJLT zPhN)shgVDFoK>~n08sCCkBBS)lO;k=e_qq7xFIpBx7&^_NefQ5?$BeBi8aCrh+Q3k z7>VhPYOU^6Q_@1$aU9#pW@1J-o`@%&6?ACH1I5jBYbe)b?L7-eMOkdXF z>5=19p~gbDV*_CwF_zvGDZ=e)*QwXLonuH)eIqT{Fti;#%UEGkmAwjo8^rqjIB7phwpx+~)qz=~Fb zLXkF2Ni2|`>c)%xW&uZoc%^W+e`rx={#Yc&mz2pG-1GUo;FT#(on@3CdQ$(Y3~tKk_qXtgqf6M4GP zwq2KzWxZuutO$(g@}PBKW=gOJFeXau+I1&rIcq{Ri$!xEHdG77dnIp^e?V-x?r<{k z0J8~sQqt~$*)sR}2}#cZATD>!Su`XH#9j$H`->1nLnM3B+3pW2=A8#{fi^C+@K4iX<1syBV}L!Yi&8kC2e55?5+e_6@10cMS>@)er_9|X`74e*_Bu05NOMBMj9g+BlAo%^2m z`T~$20nit~h1++_GobgVWbt1=LiNfYYwis&D7*P7z+L|Cz4`H-NG>W=CR@;q_~xYm z^!*B!;kWk(t^h=^2>@rpsPG6gF1CUAlX>FM?SoEXG&qGzUNqslf6vBH#q0libhUFf z)%oerz4W^5yB9;Di!Rn!Wn2OMdcgVVXrg&0!R*dec_`Lcq@P?eSaB|ZHSM7QK%teZ zvXCo6Pf0*?J~(~$fKo6yf|+^$_7(Hw37iM03l+{&0kQFS02qQw88=l}o! diff --git a/graphics/pokemon/vespiquen/anim_front.png b/graphics/pokemon/vespiquen/anim_front.png index ba2a75308a6312e26874fa740979e3beca2e0307..abaa335c8c25707a4a6de231aceed114a8d76abc 100644 GIT binary patch delta 1230 zcmV;<1Tp))3Y`j&Uw;IsNkl*qLW%t?caQ_`~YS;N^fH zud<9H@SPd3PRH>3y3w02_4u~P**+b?Y3wgteGyx3RJS1jpH1)&0u^Yr@LfX)77`5V zc2Kt};dv2Am-vnW??6n@4ZtH%OtA#g7Xvo#CImd(G=KAAB~Zy%#uI>zKz}teOcV$q zbxC~wv^Mw$xLqPaK=_5e8a*m3uFIv-{JS)_i6J>!9x`7$Jp zu>b-EsDDs8!ZXJxbh1b|P9D`2_o%VH5WWZdAkoynU!##jlE1c1rBuPqd)SqzT z>GW2TSO*)I0X9PyU}k>JnplQk0sv#rAoU-6cYh3LA+nTqwalH)?&xTe&hk1+3n7SR z3Q62d)3y%Cm6#!ceo;oYR<{haQ!Fh_Q$(NA%=DRS7nVXlcbhaAVu2A%eoK5`@OLkL z=`;Ah{WEs3|7rhD_o_e`^vq7Td-eR!QCEwH!1LgdE*`|-egQTDSNg57h#iA|5zk#q zrGEv7HB$y0cbs1DEq0|hs8951+T=3_JI;u!D5rMfXw&2>D$Z4uQ*}&0K}8)_^@CMV zQNeK)+^9_00M9B44k5q}Txz`7sS7Hqif!I25;Ly5Yn7WUegyw=Ez-ZdKG`Jr2cqb5o_g zmVi`IYyot7US0%A<|>Lk4CsAdT}N)Yiee8#Iwt43-=Pfz9~%_>Lw2qLktfRFZj?(Ja38t3e&I?c@|X%xHy|R407z7B%?OMhxO{P? zh6xAsP64b-#vgX2)afVK9+hccCS0b5xmd#YrFN}~3TTJ(f@jF(RD{}E_2WblxSR^$ zy;`B1=#=;@xyKwstwIUV_Y5~n%ttqd39#||BLMo6W^G77NHQZ}Hz@Ae1_z9qmM6i< s*)L{5gSYr|i)!ly{|0;M`Tw;21-@(2#WJ<`Jpcdz07*qoM6N<$f^_Fbt^fc4 delta 1262 zcmVOC z000D_Nkl&uimG6vq{0a>*qLMU7xMBnrR(tw!mz|HiUZ2Zq_E61exP2;ABV;HLoP z!0oHDQYj}2KYwyy{8+W%l^Vh@8GZc|&Xb*edsL|?IpU~KmaSDZp0FRRo10tBYMi&8 zl0VN`{ln_GQr0*)Sbq1E{QQyC=Su*M9f4n)$@wqgho`lEy$|Z)Q<6{wKJC~MXJhzd zRqM@{s((|&Y@LnZEUYgawTMk8uubrw&L;Q=UJ+Grfp(EbvMO#F zXvLUX9LI>R<3xAOwKAmu-N_JP(8U5h?6~G|hWt8=KN`W%XcXRFrpG1}Cr!hYFrm6dZ$x9XQu` zu~TPMR2kd6n3?xg z`uNYfw&?KZbrGJ z0QZ5D>KCqL0+$s5>UczW5daDDtr>yQ1D7w3)G+>l-W34jit&#fDRuf0w#ULWuOco} z{ZuUBdKJ4?sR$^C^O8qMXp=7uR@iRvu6#~8zrPLraPde3mP zgnVP@02A*Y0nlBVwI%@}$+Uo3qqt{l90>InzDaR%=FSNGqIrw|bWv@++&RGhFZR>F Y0lsU}#Xye-R{#J207*qoM6N<$f=M4#fdBvi diff --git a/graphics/pokemon/vespiquen/back.png b/graphics/pokemon/vespiquen/back.png index 7586f4f6e519ced20f0aeb973e767bae496f25a5..ebc7afaa7cc8649f862c08b66ce36b475f578553 100644 GIT binary patch delta 850 zcmV-Y1FihB2e=22BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0})9?K~zY` zy_HRC6G0fqr%dqTq3vRko^;3NoV3rHQc~i}4B1Gb(uF-&NJ-7Pf&BnNyE&Ff&3py% zAm~k6Jd58z+Kasv7mf5>pPAY0OLlwpIc4Yn+yC=2vlH?^V*aLV@ptBi!5b* zf469mSwp}pSWNPOzfj13;P2!B{X`+VmIpj#A%gm?fXYFIJ5U7OR2lr;#BjcffK7-a zL@?llY`*`hfWPaB;k79O0XGPH-S6K%%=sR>?*<1kuxN6C5aM+h_5e1H8Os9H)IB&&le8}55?aw!(*Tu!AV`z&<`meDF5|7lli!Si z3J89c0O#?fT>KVI5vu$3)*uFcoqy666$R)TDC!U#1cul?zW{Af5dk;FaO^G^)FB8I zuyxU-0Cjx=pBGa2PDe2pUq$q?f?J)07*qoM6N<$f>XSfnE(I) delta 846 zcmV-U1F`(L2eJo{B#}W-e*gz`Nliru=LQE4F)qZ_0mA?Q0~JX`K~zY`y_L^P8$lGu zS0?n*gSu3Tr*^02oYl9Dgh*;TLpDXQxUgr1NNmmq_75oN<|rvP^DmShg!WdHo=g9O zqL+G;E;c1+`(|f+Ti>GG_=l z1&K)>a2E;@+?^Z{ej|`Q%L9&-;GTIeAY%}24V_Q0=DP(x<9^unsXic*!B)1U{S>Y&iPy4?*TMUD9r*y#UPxw$K&x(2w$hv zK)EEwb6JN*EZ!duf6*_-6G~SwqXY;gFh*M_J3)YF0c{n5ryA5_AQXtImNqw;$T~<2 z+|e4A#5s!v=BmzACILc>pdo}#7xyKQM9{HsRhdM8WO0T?8gw};perW_Et0 zMAa}rML>aP-M!p^ku}$G9Q~1$uqG2)tMAQ>AbH_dsj-3pduh-bjEe67o=_?k*em@H zh;G>f1B)vKO8}Jk$pw>1GNeYquQDJ|T|lZ81m^t!+C>69Jj($L0A!^>0-XQM0xY~L z;9DsG&99jxf4@XYYzH?N3Ly63c^ag39i`9;Zkh_HcwQQWHDh2qxQ?z8C%+j172xb9 z0WPCX+4vS!60-XB)*u3YUw#fHDiSzTn*nq44n0L|UtU2dQQ;m_$uO+W8<^mE64<(G z5&$!tz-Vwm8j8ZY)L>0{b710Ij0d-Z9n_LoGCVo~f3lOGv*t*#Fw2H6_VcmtcT0#$eP8+8KH9q?QTLCOAGcH)(Zj=2<;OK8iQMbc z9^jcs4Zj_+9MRADL&D28l8p0yNgQ})HpAfzApGNG*P=jYRsbcAGnl;A)s@h?k;XFcL|OyLbEoLcI3%n9Ug#EZewXZfViwJrOc1& zN0}!MY`#W7?CH$|5|@og*lGg^GW#vWHB@+q$xg?Elqy8fWPio>p!0C;!SCsq?sCAV z5tb?u?TqLfh&8}}(kh0f?7+RCwT>zdaPC{$mIb8Z#=x0(fDpI1F=H2eh(Sm9;=)IO z=(cT=cpQ>sVj5f{Ymr3WEnIjK$yg!c6?=gn}>8P~{2{c);JK8+lc<^yKrH35oX-uR>MF*#b28Isg zEv;f$>mED{UfZaW0N0_VZAHK;=^R{T4;br)ZkxlE9AmK2v-p$~z--$#Njwcn3pEd} zQF@W%GT8r8KS2sZ3nUEE?|Wfpe)Ph?T$sE6?3XYb@8KW}g1`4A%-BJ~giB!vcwz8Q a3G)s2=+1bZQx4Mr0000| diff --git a/graphics/pokemon/vibrava/back.png b/graphics/pokemon/vibrava/back.png index 1515c97e3f8a1ad543774de7a65ad011539fb2a9..5f5ad457af4f266d532d7d36a079cd8a60a6bd28 100644 GIT binary patch delta 523 zcmV+m0`&dq1oQ-uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0nJH7K~zY` z?UKz(!$1(nw}H}YH^F{*%5Kqm@sR9`h|&sz2OGKwUet?)o*F0_=*eTfc@f$dFpy{I zyEwDkPuj$T7X{~#Ec}1@&14exUw@z~kKX~GKLv&{US7TdiY%2ZURrX2XI4oI-lUTH zYzThA2&tc>1s(9|_M}LEfWR2FRE?;K=knmjKW+R>1i_&p#p2CuX zPp6I1+xruJj15qtlyfQY)_jHL+l+d++d1bh#VBgl2TimzK>FLc?wMHYh(jXWX~UI1 z-^p#Pb#MkFr9?YsTva!@ZUrXRS1v#+@I)Awlm%?wQ#F(KgZ3a+wMc~03vjDg=6MvD zTq_q6JVz%AS1JN#yM470L^uHoEFdNIa3m310-$qr;)T+8JQ~80!V6b|&`dx;6#C3D zJs6W>Es$mc0`3&9Ni26M*8)2M0h$201e}cktPBA!q~C-6*Doo?z5t|>z{@-I03ZMW N002ovPDHLkV1mud>l^?8 delta 514 zcmV+d0{#8;1nC5jB#}W-e*gz`Nliru=LQE4F*!#DgaiNp0nAB6K~zY`?Ulbu!%!55 zZv)b`H$hFEa&OVPI3)K)q|yq4gN9xN7u&@`rUoPjoE+=cMQC5ZK%T{S@tk}6mo{;5 zaqtXj;QRR9UrqvL?0^3L)SrG5K7T7DDPEp`5UNt@MY>2S6^5*ye^)$7Jr7s{K}Cf; z$nvzRBeY+u0#HcutU`FsvjT>t_~5z#fQ*+4H?JflMWZa>qbPDT#=OKhc(B5u?(P?Q zj|Cm^qPz3U{er0gFa1ub09KHDgc|nh!BV)`6xeK?a*#-y5uT%pnu*#CK)Dx46YxhvzU> zO0-kPRb$O{D>PVNxd5%u6H!`IR2pASIpQNHR78fbQc{FOq@dQ3*#1FIomfrU40Y6fnn}!I%`Q0BIVK zaHnuhVzEoP3a|}G&?Lx(;H(3{hN0j^^m+XMAN-y92Bea}%k3TYRR91007*qoM6N<$ Eg8H-Y~ZUh|;=3W=!C69T8NclQJ-&+wTmQ;euMN zR6QvMCTMfs;&s~Ka6z5I*-9TGQZ*-9UMz)#^sz!p`heD;g{&LDop$le#s&WPEBu)- r!H<_P7=3vQlQz){llkF=`M{3{WzCmS$9e0300000NkvXXu0mjfK}1yJ delta 229 zcmVO{4>AEnDQ{T- z006*AL_t(I%aLa!e^J?}YEnV-gIE{=Psu0y4WAxk-#1`i1Cjp;=9Vb=3s{IEE&&(p zDykSb|AtLzGK%Wy%RR;r#9BNMbaZ?T;= zI9^b%aJJHih*ZsqmKRGQA$_cnl0Kj_Xd&yyZ>L?nE%3+ZE6;=pemsQ1=*v@>w248O f%nvWj2Y%cEWzCmSg1RBz00000NkvXXu0mjfmd;u3 diff --git a/graphics/pokemon/victini/anim_front.png b/graphics/pokemon/victini/anim_front.png index 8cd13f515a14d55258dd33656ffad53ec9813ea3..a6b9408ee5ec7a42a6bc61bc47da11a72fdb35a4 100644 GIT binary patch delta 832 zcmV-G1Hb&M2a*SnUw;D~Nklci$HI}M9c_4xiH8C{qZ+ShxPqTSZ0+4sttpExKBa?%3UAqhc*))BOc<`V(-JAAOLrc573suD!x4)A@)Y!L~uAF5T3pgKt$jK z5l7o1*f||`KYxBg2^ffvargWT1NK;()2Th~em}$N_0u~S1+7d|Qk|p6b??_psE~r(XSdEMr>fMmUN@I1AZgqdPL)SE5UdJ;}F^poa@5q|8UTAj0D?& z-aG@E2u?%ICOD=^mzg0NKovy&*!MB!zK8pB+zLC*et*9UZkPMz>n@CaKuluSt2zu& zx&vV|yHNpmoR;GP2>@<_%Q+w`8R!6>1MIVyRGsEiPEmYGY2`}#&kp+?vMVr;;I{tl z$_rk43*0oA$pi9F_V0n588kVPrUBcwrvukAuLuu}G`T0F$j=ZV#lM-xzW@w`M|8Bf zBmw2dmw&<%07dunRFsRRaHA;w!>ot21Q`_F;Tj2XOVVL5=&aEQl|T@#KRCcGx=2@U zL9ba_n0k9s3(CzQS}Sj)^q+0wi_f?v108!`zYHmvkE#;b8I6Y6eR3iIgTN7W=nX}H zFHbO{j{xYQ$3uMQzZY&qVG`X`>~^5d6({MBe1GOCy(1TXmWkw}lDy z(gJqSr{oS4+e5SO(Q1&O4;^Qj6Gmw@cB(DxhMR7U%Wk!??R0_`_WgQki(Lq#F~+Sh z0jO6zp94lei6KhH1fH@T(hUNVeoWcw@jEAN5Ppi_;W%IcZ4iE%?H;svKpRAeaSFIK zDLE5Pls0Hc=PKI|rewcLm+R^0l>9m8s-6S1at_eN-Qu?Xw0;5c$P}0z&=8~m0000< KMNUMnLSTYOtbsBB delta 857 zcmV-f1E&0v2df8=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;m?G((%# z0009HNklBjU5P)T(Xl?8mItD4;n@WMKviszWr9>yEP_QYM)GY-2>EfZd zOB1DZEVynnx0KMa(01+;$et;Gp`?SWwI@5--dRxa5^~1V`+t1ze0sd^q-nP_N<~0r zW#NEb0F*3u@jyWh6|43iz>?!^%mwrvYyAdMZxNU6Youf;0R#6}Ekam8izSpT%W_yi zZ^4XMVgSv9bV|@y-6$P)52u99wYm%GAv`34eHPwsdKfwcG#NmL7b&7`Sz8@8#Sx;k zt*!T5iU9E#dw=VLFRvH^@Zj_a9Uj=mkEdhA!T1*o9FGYI&)+dXOu!i;j{7Wda6U@D zenSp05TD}9%L`ODqO_t@dVKl&0u{}^cU3N#R3*hF`l{^1M%BF1G{MFHxO*-GfO0h?(?!S11pZfUq@f6n7>y;QQDHBsl3B}tECjoQaJ9R*T~Q=nx&;;uEENHj+TsDTNd5)m zff{feXMaB6+13rB28`U?Go+%fAx6@_mFu4Y41_1Nw7$UsnkTObn*m7OuXDnzSSEKp zrQtLOHv}1^?r?_)c1qGAO`{zup~k8^NRO~bn z@7Uu39S1*ujL6Iiw=3wNQ4sHdWU!!hp=((Udt#&I1|^G7KORn<~Pn zZcE{|F$wp*y2{R-q4Pa~mBU|9F+czTXfpG`$E#Te)+@Pg!W>XvR{C0=T0$4N~UJCrm zsJh032P%RI5poTPUO)}ZNCPUR8sUMQgh|PD#{Gf@mIjF99$*lEn+S<~rUh^BIz(7! z@|6@wh@LhW0YL70fMr;5{sNGZz}pT^VYZnk2*@J^0GuYUnbd$is1OOHWm!})C?N0F zT>v3>051y2DiVO?=hq7e?Y{z)=6MCI`h0fIXi9 z`pCJzM9J7SBHc27cK2m}&F_wyz^yD}oYANJu+HUYrMz)mi)4W_mb=IT5{aF+>MX!X zuZXbz0L)fE4p676PXY5*-5KI7B;q>H)kRi`b_?eTQY>uUyiT=B*zXP=b|g~0rHBw8 s2(wM5N-mYFi3EhM_bm2*9gKYgq}jbY2nkcv00000NkvWtM6N<$g3W;L00000 delta 543 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 diff --git a/graphics/pokemon/vigoroth/back.png b/graphics/pokemon/vigoroth/back.png index 97113dc06df8e68438807ba4753089fb50518e45..e0e3519121afd5b2fb197ca5dba8a04ddabeca42 100644 GIT binary patch delta 679 zcmV;Y0$Ba|1&#)gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%u7?K~zY` zeU-h6+dvS<6@+>x*bk6Afna@dz}11=D;#oikWOee#)cHe+UrAdn>yUVmRIEgjwFTa zz`f2@ahcgKX|-B;3t7wj^q>FCemL?+QkKz~5tmoXIGw!?XP{ajnqIz{1vAitp1jCk4G7)E!UB2j5s8Xdb~;5OF9sH%HWNbT2&`OS zt$vUpT7hF(+>u4dN>E5htth84{ zB=l;hGDCITD&Y2cHCT&EKbGo^e{+GWPFt1$Tt3R7OVwtKZ8*W3!d=ZI>j^yZf{^|Z zTDO2S^7J)|Sup~Cpu~>2fRgq-?l(4yt^vq+z`qG zu#cXH_ly}r#VI=kio8MKyAfdCQpKvzC?f7H(3jASZWxg08Sm(q9gFr5uhW?4lkV|(VRn6`logQxdmFM zTP@KY9DQ*)5|5q<(}h-okgR7Sv28K{N&8oKcW`wZE7>6X?+``*0e;f0gR>`6r~m)} N07*qoM6N;tV1g5yDSH3_ delta 660 zcmV;F0&D$_2Kfb$B#}W-e*gz`Nliru=LQE4G9JkxVyplF0$fQ%K~zY`eU&|n+b|f% zU5xj%I3J+>1P0}tLZ*XccR8H)pqt5~8V5RrShtt<)VbV&#+&*9jfZT4T;6`^Z$9397WDb$}&2$;__;7xHx0aVRKQI#Th#QO8g1|e+2EYA&WymA_fHz z5|GFx0HiEQ5fq>dFin4$xwNxgCYQxFU7WeZ+yX%SU@nko zyPQ`LV(tR50i?u62;u-AIOmp+YjNiQZxP_PJ+KkZT@`b#2^j;hk4_Bl8Pf!)>vZo) z@&m&4fK9%QQE>Z=9w%RaeIGt55FkT(fEPw!}N zgVQ`h9LwBa>^%m^GUs}FI1jzb>p7QGJEHB=&7`IIT=4n?#D9bihFz9rXn{RuG5e8r9JusAZ)`e)tTxPrJ*6o= ze35(Ho)-^#tNZBdPXEvG8(>%khWS01ASi*!e<=uxU{p+2K?zLUv1sx5Cu@(V2BMV*I0s-G4b!x=r9Hsdo&l$VN$z@bAXJsu*E{6 zXt6Y2t4fy;Rnli94Z~CFZ!h93xcIDKeAy?LVFd4k8O=>X$A94+oeEFuROZXC0HZQ6%0}t00000NkvXXu0mjff|io> diff --git a/graphics/pokemon/vikavolt/back.png b/graphics/pokemon/vikavolt/back.png index 1bf9dc71a6d31a79889e59859b0a0d381665735d..d63b50f29933bdd424746c20732b785a2e52077a 100644 GIT binary patch delta 719 zcmV;=0x>|GmiBv7e>N^EnM#cqe5h~UnU@bx99-Ld7^hgk5p>$*+~ne-Kj7=pt0FPqtX~=Q0n37?93zQrSPQ{r4+sqXb6FbV4;;SIR5&F! zQ|8|cP}Y0IXb#X>m>4<%aDWo!8k58A=9O~+BjLU}oX3+6Pz3A>{?Yvl@FqWPU8(O4 zd~J%^)Fmd0h@Bz;4)xPx^x+KXmj;@exj^w8P>)jw7&<_IXaV-R2X3}5aBL8$UBEF> zhw8LfhfCn02ijvrfMWhT$3)j-)pWpF6c3IC0B{t>qWSGJiB+qPRii@H*6f@JhzM}V z7Ico)Z-#`E77&LZY_-$oq=BhBNe~2WtLiN|JyrK?#Qb33#u>JtKRI9)&1nz7c^wEG zr2q+Z`in6te>}KYH|Rr6R$)`r_l&(9{4Z-T_zO)nHPruphz$S$002ovPDHLkV1f*Z BK*j(7 delta 709 zcmV;$0y_P+2C4>-B#}W-e*gz`Nliru=LQE4G9`E_i--UK0*y&TK~zY`<&{B>+AtJ` zDN>|aPD*EAGOaWcEQ(AIFjWpfr8+(VPM6&z-ZK(SnI51KCzyy8t5jyyRZDWHzV~b= zhFP$!R7(js{`|lH{Ul*9_$SAU>kGi}{t__1ATbja{_{x`fb06Ao zJjtb$x#WBldlJJqCXs;SA|9#YpL~hic?=?fkUgL>?n#VC^EkdqQdmqK0K~#GJz}v? zGI4+eK&WL;jKlCfTss5ucGB7iO2>;j`wX0%@kkXv+s;#`_ zWm#-?Ww~8rqnvU=AW;P1dRhM1Ji%!#C09KlG4#)6X^B5@`bu44m)v%lf3rYY?+~Lt zKxbiN=mfw4N|b9%4!7G!&Ihc7|LAa@Ogcalur2sU{}m8Se!6w7zc=u)Ddsbum}nxl zngBS}PY>~je-oe|254&L1I2SdKg|5sk_Sv3z+U&j)uRs_8U$(|@J!TGecb8&IdInl z?V%z-v+$i~qN}lLI^ZOVJI?|D*a~Cu{q-}6RjUtGqo=y9*(nhb5n+=p=p3rw3<)nS zAokI;HBOtO0cL(DQ53bUt{=(ivASg=7Dgv;`DqLKJCi+T(HwUGoUQ|btrQ@EPJb~L rj?e!ouF!{`tfoy--!k@c@c)dzO*J*t>RcUx00000NkvXXu0mjf0bDfX diff --git a/graphics/pokemon/vikavolt/icon.png b/graphics/pokemon/vikavolt/icon.png index 94700b0f79638a60128e6af9d440a203c993e8c9..7a8f2cff4d463c8196e0e69c5c8d578431abb683 100644 GIT binary patch delta 338 zcmV-Y0j>Vc1E>R#Uw;8JNkl@S!n_{RpLW4TU~I9wTp1Z-s8o z(vYR(7U^NSiu4syvP2M05(&kEV$~^?WP2~9+WwC_aol%V_Rk)e5oksLHZ9QrEKf5@ zy*~Y-Eh}9DxvN*qVFEyhrA85=_bu|JLb3Y=78Rl*{0ac33V(S)dUhXrET>yV`nZkY zwW<{AJXScdAjX)X_=joNrT1|PD*#KAa&|WE!N5%#a}MjWzY%Aea|%PBkrV>sqfg3XUvOK@xG~T8Er#nn`-W&T$pyY4;+(i+Xc>* zkO4q}_(61f3rn_PO8WwdWCXaVo)Gmu04qKpFZx>w9VQ#-hxufv|7@~Of7$?u$&dbc k58WYL^!M&z^5^=$0eZ`})5!X-RR91007*qoM6N<$g0ljh*#H0l delta 375 zcmV--0f_#n1I+`FUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;nV0roR2 z0003nNkl(#<6W?LQh8Sap z{2iv-X3qI78UdJ@P)8SI9}O(Snrql*<3y}!vq>BdUS{#MZkC_BDgEn4;B;ZR)F^PD@j}MT3ZS1Epg(p1eSPN=NT91m8G@)A z&`z?%0qBPK6>L5-4IuFSmv#euyq#c3&wtd}_wg0NS$D`D4iFB2D{$@%@h=PD2l*Sz U9CQYL8~^|S07*qoM6N<$f>TK5e*gdg delta 525 zcmV+o0`mR)1oH%tB#}W-e*gz`Nliru=LQE4GXt|cKQsUU0oF-GK~zY`<<&uI!ax)T z;895z(uE-&piRiKP@PE^r4)4L0Kwo!x+#V92K5SAc#Bdf#X}TqLCS1hcG+b;L+8Co zG%=Iuy7Yk}zRx$m<0KODr>jF%S^Gi=ZV}K|;=B>`5eRAlTxDQme+z(+bZp6hU$Et67~|4<){Y$+?N3EZL&0|;qrp$OE-b^E)1q}OdvgZzyg z6@7@PE8GcM?&}q_f0$51MWu~vn?zjR+ES3B)HYWt3@j@cg-;sA6FdcR{S1UTSSBjL zm+6!wC9p98CkHQ-ZjB%xv3#fWtOC07wKU>V)MD>%GlDuBcNFSg&Jt)P$Bzu){P0JjiEn?tr>0Ji{GfiY`{e_B8J8_OKg7rH3` P0000)iLi4s+n05lWnVj1!h7J4v~Aj;5GdRPG_%SoUIsG3F+gO!s&0dV6G z1h6hafY*}>nn8e+DBx#1_5dfn*oRhR5K9yTtx!n-&XXh;eTXFzfIPG~ug2T?m_sb_ zI?x`xMS(tEUw_s5t^f)q=P2Q(0lcFPE(77Ch(HHD_U-_ZoPkKiHYKul1`I<&2_1g| zJPI6Kvg39TV0jF$YrHA}xds*k`{+S@XWp}B3TQ(L5MN!f4hdLs1Q~!dt7HwdEtUwt zpDDnlTuERh;G`8$!rc=<8CtkgH3p7wF*Fw}k&u7|oPS}W&m0y5u#hqO(A3e%78-s0 zyqrM-z!YkIa5)AMNC4fvWN-(#3(m!Tdk9!?)y4RjO!dB|Q=;4{X1|6$hLymgHMV73 zrWqh0&fgS&9l^oDa(RTlUAazI07VO8!hIS=A3k1mDX2J+Kj9V+%8(HCD2guLQ3B+s zn%@&plz&$(AHqqr4Bs(Yg$!XI_g>Qtd0FFZJc+{N&=Dt0JQyW$W(PYU4>1pqqw!8S zJ&6?#jX(hULjW6jessCOF}H;tX3hxX$7sM@A?np{zkZ1x65#TFx1QKFePHu50_@Ar zx7RiS9rPEZ9>tKxz%Yy-ZVVcDl{O2NsZC>Oj(==9>RCb`cf@RIS(2oEbR1;t;L_~8 z^r_@Xg28bLz*G?6*q67Hkt7&2f*dflzq|Q3LJmiF9q>rN{&(?aL?ErTQAz=iFqt_2 z^B?cu3Rm_Kz>_p!U~X`F^4t9Pk?@7PVXOfdMBOwNLzxIXHAX51-RM#f_3$tT&_g2& z;D44=st(`jVJxr)Jfgj_?O(fatN>jItN|!tBpa;npxszMQgq--sqf*MT}UK1>4Uso9NarvVgG-l z@Qu!5W5K@z@&!LLq38$-`&l68BCDzJ@PADpE2>yT22g~MRV`R57ioYsa}rql8mo(a zs44)s1InOs!R`P{0cb@_6mK*Xu&613f@p=PHz*E45d#I00-maJO)bW&iuT}Fd@OqT z-88x1jN1bXJf6#C7HH*xVj1h6Ebc>40#@xL2DW^d_1BLSbr~)bK(NJK#uNayJ%2p` zJmzhHJbFFqETtTIF6R%@H}pA*2WMU zmHBwGY#if}v}Nm&l`v2I=l@XuF!p#a=Yb?1`<=_rUvI7%9k`qTN%TAQ+b=f{?N(1^ zr*6nJjoWMdr$Oa_B&a&@$meYFVyXZYjpFBN+Ro)YN7G#u>C zE4Gs@{3~Dwuyxs;hxVx&&_yG(yRBo4Pn5tTY!B)MO+Q+19TI^0oVrl**6a2vN)G|7 z{f!O4j;#J8bqKQA5>2qD3^PFlAv=^@>#zd4ahJRSKtquEn+HmX)CNFL<}=O1e}`@j U%&H>wu>b%707*qoM6N<$g2(`o5&!@I delta 1506 zcmV<81s(c_46h83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;p}%HW5P z000G&NklIY2Jf|pK7wsy%_q*9?~b(jls+W{IN7=X=Pz|H{4FLgc3xon9M0tx&Ef!FXEvc9dF|jR`9dP3(F_(Rr06_dC zN;G5w&`G4rHQ1L3xXCJ1qXr#mgd4!H3lbOs8its_Q6ZaWU}H)sq2W(}M}dJ$^SB)Zn4XQ- zP1X>ASc4q{RgAzt+uoB-3g|%!;2&MS4gr{P1{r`f8-Fw#C_8o{0Dq z9Bej67=POp>vTC#HX$b5$5Hg*ez&rz2+}$_4l?uL(%n_%Q^gU44aX?} zOF@8RU0%$ z6rdRT4WMy>9DovfvccLe&g=OjMF*~u`hOhedytlTNE;XD`N6%VL*;)C^&8G&Ys0_G zdz5n4ArGk4EKt2$Qxf5uKvq<;hzy|0JV{zrHDw{vfZeGU0keH`QH6#CfLovjvJiGV zWgaBfs%-M+jT0(1H3^_{D@5L)JON1#ltc=6EUPtHj2Cs~-mmyt42!#IFuxPq1Ah}d zR;Xnb=oW!;4f~#G?h}v#X7eNlc6?Zl@<)nXhHG;m*kP`1O8~SzLk>J-J%A#BUwexo zc6KGGv84>)&T1dq=#DqC?*`!1dm;zG?;v18uggy5fW-mVYL1pgU=4jZ!LOhRocL@c zTg8(3%&#NB{O7VH%^nAg5CQ2jO@DCC*ziL%pN$;e)=T-#0&n3SMA5ctZW-DhDGg%<=gj7t7X5RFRj*>SX)h3B!k$&CpbmDOy%X&>W}w1oA@ zN*E{p(|^c6%se(ML?DTWe*g0G*Q@t79k`$fXvV1Dy8d!?-|7x!^W=sMLw~=1kN;_q z1t1Bs2S&YyeZ4JJILEd)o{zC@4y1s#OTgv$0{ePf7DF5KEvI$;X|uq_F9XKdycdUm zM=R$p;Klk~NPr&50MBXt_3CBadbXwsj{3#oQ)@5%M zTBmYA<3?z&q+yPaq`(8T2U{&w(T?)g;ij>o2WfF7PnYf%X6dzf?{9Abc18D}%2N<# zi<@9imjjr@)40oTIWYPlcF9`+oCq?1i$Eoj+5%|F{fv3|4~K3I%q~LfA^-pY07*qo IM6N<$g2))QFaQ7m diff --git a/graphics/pokemon/vivillon/archipelago/anim_front.png b/graphics/pokemon/vivillon/archipelago/anim_front.png index 15b85bde53f72eef5da949abe7043d35e210cc1d..533118f356fe621ee914711918a160d1fa39c99e 100644 GIT binary patch delta 1563 zcmV+$2ITpM4d)DyUw;MiNklm%t@mc%6rkii(4$db5(MK&%0gTy4}XpQ}3 z=pzqtiQ;yhvCx75rX`A;F%~K$bmJPSv?L6_n0L+r;LiGpNU;XxLL%iQk~v{vhp_?~ zZE}jSTf8|5Sbr1*YNMUdvnIR8cTwVnm$>o(1lnM+>cCbk3X^1WmGSl@Kp(RP-^Q(& z$7ew{n~YKW62J@<&L6{8%!9zSMwPF!yA&ie`0)^U+#t8WX9%z-93@&3zzozOqyjsE zE>p$^W1Ots#~fpzMhL`-1PBnM+@_F20v4qOB5n(TDt}`Q0<$fQday`p6HMp%cQ9=S1tzek8_CtV}+hW3^ zwgySQpiW!F+qDruN&;}fgol7F<8%ycI)Z@t>i}3FCE@_!Dl|}_f&k^4y_{#EfQ?!9 z;Xrr*WPb^jghiK^heH%_P=pc*q!6GrAncn#@aAnFuB0ijfTyRMC8%e+ly-t3c=oYP zTOy7gGYF)JSU1S}gJ9@?YzqSj7>n@i6Pivo#f05H8U+4{-x3DU!eU08*>0N1nU;SN z9DVIe18^krx+efFU67je_yWdxc(GsB{qQyFnt!2a=ghnjEJ(m9uZ`jft!svxef;k1 zwJU&{>3b8eqK~7i>-smRIu5v+3=5Tli=$`sOX3UvAxda{?!a^>Gt8tV&|LE(@dDq4 z=}hK*CSQ_(xi$fG(*oFYkIx2&NVEaSdy|04w_SI^{p$4Xp__NzC%ha3I0(3}E?ynF zZhu+=nFvtjr3Lr5haVn*f!0ESn^8bFi%qlS4t_cR^$-cOV48XqfSFRq&@Xxjm^kza z51NiMZpYt~Knt$&Q6O!a1z5-4znTxgt+EQJ!e)B&2@Q8)3o=XsXaWH4;M`%G<02D;u59-kkCgDSW81(pFUD} z;4%~6{i(Q+7~Q0G<8g6tFKI>m|Bd8lI*XYF{}PB7{K$l&BS78Q+gD@z%0VK0k0DrJI zNcHQDxCh8_39!bxYOfiz7%y{)D}Ov?&sXA4(;)0l*d7!aDa7^?GF$>bZ?PDVx>nt} zD~o%-ey^zl?mc7@fK_rfeWakv09^ribM@yt4F$l+hOGWpoopxo!Wsa02>eLc^Egmt zjWSebumHu1aRsn525K93l|YSHHh%yX0JNz9wkdHXuwQWsalou#58@^ISmR4Xu?mp3 z=^6kwwQC9>3yqZ1&KW*5B9;=UK*?Wu6ATWlmMH5}&pVZ^K+~`s1k2}8`}gBO*ML67 z8U(@c;$YlaOu2;8?FWJX>;Se>b{3OE!yLCyg5i;WfEJADKck5r0!M@4-+w0u!a@vy zZi(Lh2m6Nus>mQEoa1-q>Fah)B_Jf6&e@IA1s7gjMI5^!!_d!O!#@qG1Sqiy?SYY7 za$P&GROkcH9dw~=ZYcrnOXv@}$K4+E4tZ4$t+?wx>YTkFF1g%P0bKyd-d{oPQF{ge zm3isq#Rq@C!p&I0LcrvYI)8t@dXaO#EzSa#df#1rn#0ns2FfMBd-Xi$+R?&42GY=h zxL418ScDSL(xwH#yatO{oBPmN{LwM=q<|03@C^^D}^S zk)v{7?NRn~q6t=85GFG6Q=MT9Ky#o5AmBwl<3MI4H3QH_^O5G^KNQ#^dqyFofE)k- N002ovPDHLkV1jLW%&Y(a delta 1594 zcmV-A2F3a342BJmUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;q2&5c8e z000H)Nkll*O6vrueV!D{pPzz`ah!s*R@nGe|NL~WeI$7=->KvwHqg;Y+ zt!$r@&5@N*ok*!hOhEQv1PG9C5if-RqCiKl%@n}!XXtx8%6}HclQZ;S!{Xgf|M!2# zBj2;8%^w+KQM++u&6|OYX%@a9Ac1*-KtP7b&e0*UK*pS7rE*U$%(JpU>+v_i%c@F% z()gPoQCA7j^@()0NLLjC^+^^Pvq;kt7Tvf8Oq!BdU@iWOX-qt%C8|4HoENlfU{<0k zIOnl~W|+5Wqkk)5_{F#j4ggQqCq$OFnTRB^o|Y*^7IrzW(8(reIe#QN(}2Z5pf%YE zqe%EOv4;}xJ?+*D5a@x$rUP41h)mMW`&{&<0rr}=#SU)8BHjzS+2Neo*8oOn2=N-W zVi5#xx0~WVf672YhaV4t*KPU;e8vEOBT%9%0gS*LN`D)$6X-H)Zg4K>{pT3t3TROZ z>r?_12wLwkh#>)su?mg876VPr+Z1NIxavWY%%*e;Qm6M~K%fMJ7!qKtMjH+|BNGKk z=l~>~)d;9Do3$8>P84EblI9+J&QL-E7Hi-#>mI}aB|FiC#cUmde8rqzwBBn?09uOx z7fg5v*ne`JT>+a;M8Nzi02W9^>i}RDIw-J+0Of~+l4qfSjZqHZKzINYDU*c7R#wJi z6mU?4Q3+%bU@ai*hhcbjHiRo_3M}C1@rxAoY?rZq7>0wpJ=TrZ(PJKgERFI8*kZv$xnjzrn;B0$eo zq$WFo$I&ds7YB7Ch#w=L#G?I6@*rH2fKy+atZTYY;>|w!botSZfEEe7sYfxu;TwkW z-GzYzuDqGYS+BS_2IjC9eGoq-34JIWnC|Dt`J4ngYhGf#BKBZ9pZ}aM*CasJrT{+| z0e}1M$>rz>i5>uDZyF$C$90$7Z!XS`+_LMw5%m-xK)^jUPmf$TCxLtdXo}jB`^U>W zFTg-|sUk=cFi5pSYVPQ_((gw|kP0D25`dXn-!#kt0tAOKh6vLDntuR5I5>CI6PV<*M+9=DBE*YGPDp_Spc^1j zy#i1m5di^oA?N~7b0AO#B9d5PPRU2^)@be^UUCUQmV(b7 zDd;jlHv+tct#`X^1;FWstp3&(-G5L3l(zx!5crw$cWI!>+jXeSU;&C17Ybna3TSOS zRRS$)*#KAou#N)QVbqntLBpw}0n)%8#M6dY<7-rr1xVX$4FH?jEd@}7M#|}x%m5k@ zO9?cfqygWAKE)b^;n+O9>MUklLVxKF!Y~*d z!dA-8BJmQ$7?01x@o{j77R=e#s5U_0cr^a!{4lbR0-#%BkN?H~;gBgJND1fU6S?@< zYpDbx38#Pg;9|*zN7qxm`h56T#kl;4QS!=nqrM64fmvF1UAwGQ7y{srd?=gSNjb(d+w|L<$ve#vMY!R@ByIve}|=4y*U6>=H(COo#3D$h@mjy6Y;A5 z*XjF``+apDusrx7`?iFoUk%i2fuAjvTsv9#r@9pAezK(il28JAj#vOJ>X1ZX4p4Rb z8BK?l-cSMt5qo{y(QRTV@0L%RI{;{JJLNe*t}0M@sP-uPxu^+NTQi7Eneue4=^y4`AA7Q44uGO#lD@07*qoM6N<$g2yG;NdN!< diff --git a/graphics/pokemon/vivillon/archipelago/back.png b/graphics/pokemon/vivillon/archipelago/back.png index cce89b39a34a30d77a4e0d62f3e694af14e00468..7d8e5b89084a9643fcffd9e6106e643b28f80878 100644 GIT binary patch delta 737 zcmV<70v`R>2DAo{Uw;C>NklBl~6bJCTQQOIei`^x(!@-RgkzVpKI+S!b zsMl_3NOhOZbdfi^8B#%-423}YO$w%+J7z2dm+N*AaNm<;*>`6rT24qm{(2`_cCWY5 zl-eBGXj#}cs-6IZrjLV+hK~Y5sf!?OAZviED`h1S zObt5-Od$kz0e>P+){wCVhcz&TU=rgi|&| za1%|WIp(xiT{t`l&QI6`!AITzByE6*u^^!}z)59~+J9#^AmE7saMl1e0Qd3e1|tAa z;efmH8i+GKV=@FVvp|_LEf8Y4lQC_8>pcHeF5PPj4x7OwHQ*qS!DXJ8Wf^V&6c$`V zKv^y~fq$d{f*3%l+n@#q8pt@LP)!Av+W?mU5F4<{+JOu#2vsM@b`hws3&_jj4oLR9 z1H?%IjXnj6-LKv@kXa4xRxL$pAj6*~q8sFSt|NNxiE<#RKn^Li3nZVlxOcBfWe*G6 zIoRaiC5pypOs#{f`&FL*So=7tFK!J4#b2e;-db8C%9!MWO4x?YX`IBajQJ&#vQuaJ}v#n$)#eA)!%YHjjAvVY|P Tid#k|00000NkvXXu0mjflZivK delta 772 zcmV+f1N;262G<6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;q7u8S{F z0008INklBl~6bJC!=lxbI1}th=)lEhnrWf4!3|d4FqbttqwjbjzZ)r|KEt z5&1O8Nc1G|2(b}f8^|1xbtObCv$aOF1BeJ@-R(%Ahc!5C57-2~)c{J(99d8UU%DWu zfJfpA^mgUS-=uVGYy(E_9D|r1>z@Ci0=^48!s312$Ic#`n`bY6Xh2NDfUzS3=+J;3 z=ePJXG66ngoPQtVTn@mFKQblkG4@V_fDUhKAZ?}i7$RO{Z!&yuYS>0#3h`hSAmUW? zq1S-9R<{~Z1XBbtA5_4T8q9SGlpetxBGKTm0j3ZvVV{3AfN`2uz*dSS>~lV3(r5U^n1Yk)_kHVh-@617b?Ulr#VbRkhUty#WDl41hBSQ~|h-M>iM&fN%@!k=KBqu_+Z1fN2Gk zDYF8c&t8eo0D^5{foIPeg0})%ia>5%K%_cBwu3-LT|itG_dv4W9Uw^yXyiFi?0oY#fyf$g zzf>JSL_bYLH^}o`N7(zR0cj0#NFiMy{i4N#y?rKCwOQEC!KVK%Q8=G5wF<5tmU(`+ z@^MsO?HmY-ze>rq>s}d?UJwDxus&?>YjVzKBrWd!mu;U`h)5@VCPu}d-A&-B8J39W z$+kd}|d#`phx;(~IyGWZ{|f8_yYW2^fB0000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00B=)L_t(|oXwLvPQ)+}hUW&OTp%m<0HHui$ELudBYOxWm)XOz zq5~;eE9Jy&B6rN-eI&L)w1{aUfBxsU<`IBD3;6*opj}QVFk0ZC!qNI`HzWxu00hMQ z-6i`H7V*UcbYvHxDu329Ko2a8nr0&ue^C~n-ev)Co*O&q&607GWh+$l_I^z{e&m!- zq{`+BxTQ@?ifA_F>@apjD!keiR45eyNVhg*9-C0HP;F|8>pN1d9-7c3V4qV)04rME z5e2|@w62Mp<`GI{ane8<2>(C)gwqY;UedBe^q2q~-7YOv-1GMQT}+10t(V|1bB~F1 zwfDE!1hAhb8v|0Ohuty-?ze3_fD8N6AG0j8L4k6cQ9DGdi!R*sj~yEmZ-)pLrc8bi=?WbKK5)ya0xOKcc|X3j4StI+#wp`X!`pcA00000 LNkvXXu0mjfKZw6v delta 408 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 delta 1521 zcmV0ZOAQL877(pyjc2Dn~aI0+sP9bdsYLrNaauG$8>FU}26k zBqczA(yVp|%t{n#9XzChW+EUZbofQzg=T-1(el_sOQD{SNI9CGN1(-6Jx9lzEP(zr zVDoeK<76ky9HG@0EtGicXb;|jz+gXMYiF<(SrL-b9AkVM;J*c@K|rNP3V>&9mpASJ zn+HKTIHweEC~hPTR)PzZFyO}lU_Uq`Ypf0-B=8Icd0ztPz=JXXOr%5y76i{O&|`lB zGzkgL>tmqGc29GhgNFoc&Orb}P81j+H4Yvy>%byW0AgTB2~>Aa2}m>|fb$x8$OBHT zu>uVOlxS@Tpu`(|4;*<#ShR^nxA%iRvJ4>vVDlPI^Zs!JP^-o-IN>&L7+~@RZw<&cpw5GK(cV}HN&LaVxTcN?1kR7*B1dWLN+6wSvO7PNZ-2-55Ir*WB}fx z1=A6LkuFM2egv;0$ww#071N7eBiD*Vhqu<#a7hBK%GP*ZGh8d$?4u92?|lI@Ezg;H z6+Jv$(=@-iG4X&iXXbS_ias7~(kY1#?1wmEbQlf~Gowse0y|qyY`(}|z;Gt>F;gf> zz}lJu+_V5*`A4_C13>^#aHf9&3xOs7tDCC>zu@~Ptdam22>6%e^1%1g63E1WDl0Ad zzyI~<9q9L$ip+`wrnR|amHgfx`9BYku!@#t#sL^94T(wG2v~TSQyB~sNBp7pN&RceJN{=AnP0vzS}(@9RAlXIh6@K+nd3?ERVwhfe}=QNQL{p6%TRRFyMN>qPkF$LHP06LxR4Y}j`0#^Zgt_A@12B{7|E~_@;4tRc6R_%2a zO7ok%_TaM1f+xwlNdmSLwFfo}iiy3P2EN-3SOQ3`1S=P^xOetXmsP;-N+5xS{nNGc z*+)tzD~w3MLEuaQJSS_i`rDkS0J?h$fD-{!0YEgU%n*UM$isj80VvH%VDF*b0Ki6| zq5!aDNxq@}*63V7~sN{t5H1=K)ZeSKp9F-tjiGOhpLSVy}OPe_y`M`^%g2fYtW5sbBM0 z`qe8nu5C?F3;%Z5QnsyR}K+ce%CWI)j5raVd z7E+9WUD6`kdj8bm+Ndv%ab3U>U9A%X9ibn*}#cB_jy@zm} zWySfY64$9}09{ngRvWP4aSt>F^u2%~ANjh(U3I`c@_*)L!DU*(MGGhs(*f}SfFOt; z9ANHQ(*UnSNnoAjW)f^<0gr{q3=lEEG{>8KlDoGKR+#bFf*FG1yyj8J+zSEMX+7f> zWH7y{>lYrm*A@W)s!br9!t}1LIp<*)z&bWSP=yx+Q4heHR#Idu1YD2F9_WNf5>J2w z(IKD~uz${k0ZB0oV7f9OR7XMK6Hwt1AXay~S0u%sBVbkTaCjeqo&ViG1W@e3Ycdd0 z14w?G630PZ*SbUlSPPUE)L6x{!0UnXMvFK1np9@9^jM-T`5lSYXH0d$k2h@ctMhSG z-&_v@yT3~1qt0N;nDW*GT!#MTCM%Amy!J}miArbyP>C{?*AVXh@k7AWHAR#%!w3U_ z-O2_4&}L5#uggq#nByv(?+(8I%as0VB9y%Soxt%Qpb?-q4Ss>~00000NkvXXu0mjf DDiKFQ delta 759 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 B&;0-Z diff --git a/graphics/pokemon/vivillon/elegant/back.png b/graphics/pokemon/vivillon/elegant/back.png index d649638a212c67e9de20637d151e27d5c8984ba7..28beb285cd3f0efd87d7986748ed7a02f0f1dc67 100644 GIT binary patch delta 736 zcmV<60w4X>2D1i`Uw;C=Nkl7bs44s6I-P55{;4}2`Q?e~5TqH<8{NJM}NdbICB<~xPU?;v6e1aB2E zjfAL2Cjev{&VObethKr~b5LNc0G)LUJF`rKwQhmZS&ybt>;lt>o@Bn7TJYTg->GV0 zman?$SU}cnwFTC;1)ApoBxHG@wn}TAIRFuIel! zQ&9mEU_qMaae+E#sRimLw@Yon=X|vTYyiAuBej;}Tz?cOs(|0}0La-TJfI{LJ1LU^ zb`=8FCqy9RKrG|yvV2Si{fC~W2vP_Z$Zv!ci0Z1i00vOc5NNNF(n#=`& zM2~g_E`OvR0wW?l80-U8LW&p}Fl5a@#=-#14+0h`!0`cq#B%clg#9@HM6rQ^UIUxx zTeJ@(tH9H+p-BxS{%s--gR(4jgau*00)+!5q#y^7Sql$}Yb~DL`w;L7$i*B$vQ(n> z8{?z`Q0?}4SeC!GevbUBuc5%^FXvgXH9~Goaan^TJcixdwpSPnIza`j#GnCi_~hde z0KEB^?1PX`bO06cZ4(G@s0Aoii{0M8Plc{9M>sjz?EU{2u>X;3A*uf-VEhL!L!8X) SPf4Z#0000qD0>S delta 771 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 JPDHLkV1i@6V&eb+ delta 812 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 TW*Z@L00000NkvXXu0mjf9n;2& diff --git a/graphics/pokemon/vivillon/garden/back.png b/graphics/pokemon/vivillon/garden/back.png index dfc02180b2ee2e02f04d43eb28161f9079f0eeb4..06fb8e032c392654543576c9f2a586aec8f897de 100644 GIT binary patch delta 718 zcmV;<0x|u`2B8L!Uw;CuNkl*r|HD=GVX zdR2x)d*y!sa!88|R4+90ri`B~$r0kljZVq+VyY|jXez_bk*Wq=87#3DEQ-hI=6+hjr{28h6b z@%{ZB{VZ(;0;!(RfDH{=n!z!RNOh|Q6h0~K#ugngdQZRvVYr4^hrq3s2OF*K>>3aN z0ihgVg$5h5c7JgmAV~Yb1ksDUd`L7{sb>d#Qi^b{9%cwizS=!?z{W;cDfJ8hWuQEu zM`gSzEVxu#3$|^bgX)Y*?W)8AFqgR)xd)Ci5_mQv(grYh4^f0|1xd~uKnJD0)EcNY zWC*sqCl71`n^Elu@ZH)0|Hw0)aeZ0s;i3hkiRr+$`hQ+k2!eU#0rSrqM%YzYfEnid zEGf()*vJ9?L9Hv$K+N|rEAS?t6#lJ)9b!JO;M1N!jG#QLqeaO43jxm)5YvEs54=Om@N7*JWM*?0g*MXFr3$ z;g6KXs8dWDlizT_)6hR`vtnJVN1o%ASPTGakw>r8BZP;)(J^51ks>Pf5hDx$cB3o+ zpo={@K8}B-30pi1XNRNj|MiOgY9i!O`#XX452GEBLOd28mH+?%07*qoM6N<$g0##- A-~a#s delta 758 zcmV8nu5C?F3;%Zue)z*`>c*!CVkpVwQhjF z$e6(%=qU*5MO&9HLf6je(k1XS7Nno={?rFK7=N4$DF<(l-0wOo-vNwg zZ-bosZvw`-E5W)z-T--D1;3+PXNhirCA_RU?5Q9Y6LJo#sh%p}l2U|A^)Nw@^X2}r1vWOqQmH2Z$UWr%eJaCEX2F%(TCi;b z9aLvjYF|VafO*WB``{=efhW@`8nz8naI2=a?EnEA{t2zZ~6;Ek@px-5SMGq-GMAQI02F@ec# zSq4Giw|@bUuwab^f?#$6AmJW?5J8~Fs0L9YC_>_MkvK4G0x$zBfQW(h8JV zh1UyM8>DM3UfeP%g{S~rqfLWb5{+$4w!!z8d2d<%Zf%b8tLs7F_)p60WVx5dq&FP! zHk@8|>ovbtJD%c`n00NfSR!4j9r(xp!8u@ZM-i3!j1f8jyHOSZ(8C^`U&p^vhb`WP oi{sh;f4!u?nh0so+$V6n0;3&}LJqRRMF0Q*07*qoM6N<$f;Rt5W&i*H diff --git a/graphics/pokemon/vivillon/high_plains/anim_front.png b/graphics/pokemon/vivillon/high_plains/anim_front.png index ac5bc1dc0108ce03009bab0df9287515c2edeb76..5302ef41be011f0f37083548c795e9cd5e2c1267 100644 GIT binary patch delta 1487 zcmV;=1u*)<44e#*Uw;LsNklm5|{zjEu-|%ZAhR1 z@WO%srX>h~M^ZsE2#^vj{GTr}K!2skp_u^`5@xKm>=M{wT(APJA6u{IZ! z0cXxYBlCkMEZ7Oznfa3wLM9ke^{#k$$|hpfB$5(D+mOZ<2sQ0r;h*C@!>9Vr+z+}1}6D~-1iTx z19W*8uP1D|T?N=A&vXCBKX1Pl7W4Bdz+e;1;g5c||JXgnNumX2G=S5dWmv=KIY~?q zsDF6S4TdK2v-CXyMTR}y2+?YO6bl}>R z>vSqEB+4)8Ni!}E?iHX2GvLP;>;XP912ZsB0=RTnp4i6_cm| z3JZ1BR#%mx3Iv-C39NlTU*0Ukx&nYJzyVc?;0kaRfM#|%Rd)=uu&613mS}~jH!$(% zzUhHXRDey@T2pC$X=^tQo>D<=?54%suxJnPN0&9$vJQkzz+7ajMR7+9DxmB23x8m4 z0IoBAq^Qf_fdJw!A|3=P0Nh9bt5FEh1h5D>5mt6Bb|O~=P}z$fVi}!-?cf?9gc$$~ zLIiLX`cbF`d;xHOW7};4410_|#M%yoZnUkMg&Pf4-8BT5yQT8b4Wj{bZ7W4UIn6Hi z7wpktHhQ}4iLySm-`HD&! zDgpgFY!H(DWXFFnSytuHv4ik>C-260vGA*a1Oey%-r0-TH7d1>8FsdZ=+ECR5D zIQ#41mF?e~4Gh0Gf3r`|Kh6Mt%G1QOZEA0nfM|qFJEitU1?bcW<>tJePrMm`gDzW| zj=e*(>}sM*nOvOFihg9%bx8ZtB>~!t56d%v1=$|#GNlCq90BNR3&KQOeyTHE0@xg= p0Sv^o&nD0=rDgzn`MlOV{0Dc2gmho9nFjy>002ovPDHLkV1fpFtGWOH delta 1526 zcmVjqNLqcL}j1Pgg0ibf&u!Vvo8C zNMk3WgPnj^$+F#~+juin&_ALp@4HCA;6=dToxDgOJ5SHKl7DPHuIxoG36^w!^PTTL zr29!ydz009>Ds30*8{SycW)5LfVM&?kd@F{bj(~p)?2Jt>sd#el{xV9U!s@CA_0K> zmndP21Yom}))rw|AmA6Hko86IgcU9U-EBx<1z6YB!b7hifdb%nr7NH=K>$3-6eN{^ zOhU&0^LYgru7Bn=B+Z3fLJK9?D1a?iOtLnDT%rJ|!jQ4`d^zv*A(wa^O1Iviz&74n zw&`;~))_+y|8WTjP!W6=cnu8!A0P;>fIb3z9JHV~k+uac0w|&2zYw=V06z8OauCqN zZXY%RI|H&YxH-_p3jEsTsN;2Y_WBN8l+~WDZxsLSV~+0ss>>w!!bC zi7*4O+?EShfX{*eJY11w1T1dRcC)GON(xPskCO}b2sXz?XwewG%$Kf*2=vII$;Yv@ zG@ZIA;D2Z1^f{pQASe9IBso0X0Wy_O-yIOXxZIx1o0%9 z#$9(9WDfA<#I=_cHM`vi+`UN>AH{YMj55(~hws_wOMV*!L41_#eG{97!UHwrfN~qa zK|XNz@paS$2rgs(B(b6p0Slq z8Gm52G)IBWGJKZ< z;TM7Lx*`CqfCK%&184$x2$=z%>{4h3mI$C@FL;c{=p1ajHvk^A05I|pz*!guo)~aA z;5!@JRuf>DF@_LIJK$NtwrCVqFn{V>YX~rFOXQ*F1tVq|dW?W@m_5uF?8#v=dA4oy zV|~89SU6GsQj#ng6h8b05K)pDO_F4)KOfPKGMYOMhQG#15|0U3*E{u(AO;oh*P~>* z7eCL#O|6a5#M<6u`p*$=NhgaQRSDg*e*Ty8!!uy3jS3`j$MW~z1;=k)+JA6i6Hs*1 zADlcrzU_FcqJBz4x~`tQr79iaw^6~Pd7vAMPHL|R6`uc+I?*KBb<$5lK=}>>LbM<4 zI1gtlq8bV&2zzkyetHiNei0BMU_SUeG3++LyhzPg`rVkKgDNl)VS+gO>)^HF+;0cQ z-)p}ar{|wqfS=Mh(hP&*jc*X(K}a)ViZ>!ap&*oM^GZ6iTL2SX%94WFK@|cNW6o$s zKQUFfTIiAh>E*|j7GNQZ2fIvYfdG>Oir4}-(aBHwmJO2w7!Je$c7&C`O`uaqwE#-- cyb>P%19ygmbVM599RL6T07*qoM6N<$f*iH7HUIzs diff --git a/graphics/pokemon/vivillon/high_plains/back.png b/graphics/pokemon/vivillon/high_plains/back.png index 83b11cb86b52371456b48e78a708b56a8da775c8..457fcdd9e7cb7e7904689d913e7fff4c8208f958 100644 GIT binary patch delta 668 zcmV;N0%QG@2JZ!sUw;C6NklKNIY11u#5qt8fXm03lF~DTfp1OI%cPO*_7)PE&SS4O}ULX+Hr03rJzRLZzr1&M2kS)j@o9K$ja09r870(w>E$EpKj z0@y;SMjv4TxNWXx{)KZJVIu~>1q1-Hn%?^FT@3N(%t5WrYvu_wjb@Bk@Rvzj)%d)f&Y?%bq784#3tcL*WBOnlDwk?JL#Et;8U_Az4fm9CU zdK!Qf4y5KR&`Sa)Jqr%aGZOu03}_bkR5#f8XP{aBT8;te4m{@*MLMwi?IO;Dx~^?R z3mAgJ7k^>b6G4qB+yktvpaUd;D=S{YF=;vgd;H&J2NKa|%tQb$u3z%He(HT3%})UKOYhO9p59PVNN9R;CVt@J=}G|8C$2S?T{ z1w;Ri&goJJc*}f$LelpnOO}6KG~`V5;j1UfmKKXa(|U2asefeZzxo5fcy$>lo?HZs zb05K`fC_+`OGqY0n~azS7!gPAaV7z-9Vn**#$eeG0I*}I*nw3Qg17~YLkpH^)te^R zF;oDuaE#c2wF9dVFsgyZU_5u=^G^eKTUiIT7AzkhALu8u0c!%^XsiI7XrRoNkYj&A zAPzv~D^=@!3x6P6u(vgQAz%x^5ps->GGaX5d2ll7!GN6y-~p=)IN8O?w*m@zP16+t zu!YbhcThkf`oLGpxLE~(Yl&GP%MhIWG7azvFrfz-x~Ev4?t9Q z63oA_QqWc!0Qf8_e95EApE{UONDE4QM4+zfbdxZDAkZvj2yW{7Dc$&E%dV3HAa>$d z*J+w2ePGHYAa|JXgkUoSSRa7`L26nw1W@b=Knpfw00szYL8hhwh{A$I&jPg~pp#i} zY@U&*KYwFDv%t5y!NxxV&FaT$3_x|@In#4s|Jz2)gSxIwggc)QGLbV9Xf&ADZsGH0Q^In9S!^M-w2fN7*M8H n&FKEWe}6mE94rX$32grXGs|E1p^x7^00000NkvXXu0mjfvDQ3v diff --git a/graphics/pokemon/vivillon/high_plains/icon.png b/graphics/pokemon/vivillon/high_plains/icon.png index 40bb49bc725cf48cf691959db8d5e1dd8853547a..6e2313e901a1f0e7b17d135ac2de40d7d5d26d2e 100644 GIT binary patch delta 453 zcmV;$0XqKM1DgbpBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00BQqL_t(|oXwLlQUfszMRfy>FW?M&fXxj;quCB`MM|nn%5Ylf zy>W}yF&;__Ct+h7hL%B{pTFdh^bPQ5AwPfz^tTfV1P`gGF!+2O=O&>AfPhHjHTxR= z3NW&-0Y+K?W{}GeFNIKqJPtPjB(0s#e}eszai`P@i3jtQ5>A?RV(9w2V-y z5@!vxf$;w$Z@6_(a?-Yy*BBarA&zaU5-)BkmC}5X;JmDfX{3CMrT~i3*MRB#V{kM# zySUNX8DjB|3rZmzGZfLMLM>30RB)bZq~0(0tmbEsWQ?jX5;2LXi@yEBZ!Ef;ijjG<)YJArk00000NkvXXu0mjfSx>>0 delta 391 zcmV;20eJqK1lt3UB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE4Gz;>k zA;ACu0X|7YK~y-)&6B-O12GK8^9I(vKq~G5u5VBl>o#%|9hs_*^#w@J5#e|<5&0EomjfQSo# z400JHzjjW@Fs=bgw04{Wj!VW(*KGi4G~X%VO_Po^;sV6d&Jq$G7tp=D&qP?d&I1j2 zC_tsTcjQJ>CQf9Wp?bbRboX>BOH$Im(!K()rOo}33J?zbajKV=5hSh`FMM?gQ2*cZ zg9hpgcD{jm;x|Ht^wg!<7ig7xXD_tV$qKa zUDt5|khUFJUr858zmPTsB&%OV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00B5jL_t(|oXwL#Zp0uAMSTN{3oz83SVSkb&4G&6NO?kwcv0%ce-_q#g=`-hI>XKh_j2nPdW zZFh=3_y6f5-Zr4Q*hqR~c`leOH(xo_jXf&q(Z&l%O zg32mmSt9d30N(R5mMWWD9{-jk=2%@go>Iduha&76m~E~NW77a|9GsghB`m&9>;u0L+b+LTcm0#m8Ws#Z36 z*ckjjO8r@sAAl8c`=g?ER&r(0&UIPRP%r{TiU_x(`UoZpHG?v^e+QJ^35dwB%9Ba0 zb1_V=B`7floF}x3H?42v;QV*V_Gw@;+sowM(URuL8M2QU1h1gZZYRpHS=vX=2$rOf*P zXwS=d)w20z@S>!gb!rNwQ);;7sR;Q7W|!;0$Tk2x8|NmA#3fXVZI^%6O>51~g7xh0 z8Xq(nRQKt3dlPpHs?l6vt6 d|NeAad;ttB-up2gA=Ur@002ovPDHLkV1gS#tatzb diff --git a/graphics/pokemon/vivillon/jungle/anim_front.png b/graphics/pokemon/vivillon/jungle/anim_front.png index f55738302b1b1df2d4c7d37bdeaadf4c0a4898f6..5b8b38534898907770523e439ba8deeddda40128 100644 GIT binary patch delta 1408 zcmV-`1%LYS3(gCWUw;KzNkloop0Neu)F->)xBe)g`!tYY! z*?V~p0tBEGBY&ABg)cGR06-B$R1BK|%2k>bfFUso#{bxtU((L5<(Iw0y2Up8h`+e zSir_D03d=ueFX40Ehv-_ppig~!nEmp@;;_kA&i2wmW@bo}}6 z?jLxc&oPBAa64gy%@8Otg=P*G!6eGN{0p1C#&wL)0Upb;{4%m~_>clEfGk0xOyLbL zD}R9|fJtm4fpf269R-?|L;xg~U!@#ekT!rZw$}h@N00yz=}N98P*0|7x(!&3Ijb9? zk{C9w^VYiDR&TPh?z((%*R*E+{|)mAXVKg6*Fd*hZ%k+$fjQa)Iw3YSH4&Z!Hbpfz zu>ojO*i<#gx)4nuIP6G3?^`l!+%0JTo)o(15^VT_Bg^x_&1@cX#i7NA@l|| z{M>hQz$8{cB71f_gv|1-YdkxDmGEw@p?G{+*#j^*v{Oryh4Bi2w$}l`t__50?itqt zV@?wVm~q4ZtRsLKQ}!S=v4QGHut6Vhh@+>g{?UR)0Xq zdjL*D04Rr+6zTzA0pM0?7a-E!rACGk9Nk?&>Qg>MK!kCksY3{kfVwQ_gMqdf)}vsCC}P*}L*{O-<9)`-FfWRHb^^|E zkF|bA(Wu1Y=&D$p<|ka4o7R}^aDQ=hI$!*Abt1iN2e6=)NB^RKI6)KGj(`#)9-V#s ze0>3CQ6qp7PBgjsbnW<|ty@Po#2C4`z$lskC;{z#!rUGI;GxqB)hxi~J>82Tc+gIEcw#=Xvj3f4d); z{bc{<`uF`np4qN@aR1N)pb@g&{9vgEENO)7Evs!l8o;u=GYzY4KGp!(m^&=kveUO$ zSt4M(dFTa{J$R#!um-F?z^at3o(SuOtOtOFbmOxNtPDsGVAb;*=HWl1JR(47I_+Tq O0000y@Tj!e*>q2@<|afE_i` z<}Mp41mb2FI^AWFGQt|5VNU`guzgCJ940-9F#xfvZGf)CI0eF#3K~H`O6c&9sLlb1 zj_Mei88XIY*?%)l_XGd}Hft(m+AQI-HUN8I5vD1R(}jDUBK$Vfp1c!#;2;2{a7B_f zd`Z|A0E!?YW0(|BCey3|42e+~9w-))u`o$d!hpX_0JsE?1Az$^g>&XhK$bDA0T&{O z`-2o?tbvHN0C9_wqZ+WW23-I(eVm0#gpB|*TR@Eakbl5hz;7#nL_89J)d=_@0&_~j zMnVF1E#QYt0*uH7Hj4}h0*|v;;is$tn1usr1W9BFhzLG!0UR_E4hu&BKm?BZ2;gxV zP$;;ma~n5_&s1?)p8il+^*r-QCIDkSat5y>^@2u#6!mMAhxO3(`tzsK zYJh1ouNe&yoPE50A4q@{S?g6S@X84xKVA{M;D1}zd7X`?HvwF8dK`$Wy4@y>*AECx zouy+*;O=XiF!CJ$4!GldaD0n%1n!*{kP`vSg0t(zu|Jjo$+m$iI2Z@tU0oa>%n(?0 zfmIdwJUFN4#|L~I99AnroHjsK)r}SW^5?U6LBMAap$|M%Ra3LsxPilz=sg%0AvLcRR(W(RSUEMOkxKK9D4=x zDA2AX0wA&aD&*jXbODU9vjIpqf&hTX)^Z(zW-!~(UBGCK8T|;ggwwh&x;@BfEi&@{ zym)XobfNvvOaF$m7;N~Dd5=-YI`kT;yMGP1k83I-d=uCfRcvAl&{dwKt*TE{A=*HA z=|@+08(28V9VkoXrr>XtARuU5gP!Q9RXl7Xi1S82qXY* z)$RjC*t<;2F@mMq1*AS>4gx$%Qbipia0IqT3pP$|t^&BvQuCr*oY+2i0qTyrhs9Hi z?Um)87lj;+WCzG8+Kxq8E@=*p{(p#i{U+Wo0)d?+ z8z5jbXtwkQM&=9w2=pA?)1g2B-J*Mskn}x%iK69{gDglt{NE!fSy`40rP3?O7|Nxq z>OUZ7{rg~G<+~tfEJWl>V2HqQE};x~xrY$33^0Nh{`5=&2!9XS<$wu%aaULK003KK zxbR@z$ACjq*nm$Ctf~pnG(p~2`#FF*uE9^hItDrR(8z*Lga;qK8^CM=N6;An8w*ws z5BKy_yB+{KU{oOjM=Dg?!U6+mB`|6NedrV~b1CN_yCh&6$!Q%CKtX34x73$Mqwd`t z5Of3}fV?;0Xn$J3h2CI-NP%s{OcF$wg3u`y#(@W6vS#4uTCe~pOE^HU%IerpKr8^$ zsO`~47yx#g`^>*^rbio*02>eh@Rm)0ZYsCc9*6|E0M{c(0&D`|l@FkUG6KrBnF3SI z0aqc+vXOv2py0ioM4oxzx+DNy)A1f3@}dv_I+!3_2!Dbb1jCiCwxzE?%g{*XfxPbc zPV2{N8~(Nokmltha3T3Y>#C~CIRIc5K!XX72(~Ez#tGn#>?$*g3D6X2smmB_V}PP_ zJ)pCo9_Bz=&;WO!REq#QE`~J$RW1X`#bJC#GW?8zZPNhJjyPBf{7QN-uD`BN0Sso# z40x{9GJj~G{9z-`1Ff}*a3GIBO9uiPQAdaeTwarp2AuE&z&XU#Z9OcXbMK^#||W{WUEt zfc)+?0NU*09?h!P_>=$u002ovPDHLkV1hw* BEQ0_5 delta 708 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 U5iE7Py8r+H07*qoM6N<$g3>~zhyVZp diff --git a/graphics/pokemon/vivillon/marine/back.png b/graphics/pokemon/vivillon/marine/back.png index a22ef17ffa20cfe0937c52cab0d7f8603dae5c15..67146a43f1bf644391c9dc3a6e9b93c5dae2acc2 100644 GIT binary patch delta 719 zcmV;=0xfb&q|+bE?kzUbkME!EB+u(D zWBONmD-DLOn*RXd>%$=RgM&c$z6&9SK-vQ7z6gQC!!@`N!+!unOm+QtPXvf+5Df>| z1*2{N0GlJ7)?lLBU|Ip;a*bvUpf&+sTibx+b`Fg2mj4BiR2kX;14F3BTw)ELePiHP zl>sa)fXsr?-Q6wy99P2uQ0kmZxN=}giH>av5oTa81?hlxmEz@0_JH@CfGtGO92ZKd zG5!l3ShBjUdVjzY7=V0L0ihWz?QlS13U%HGwh(So#x1u8yUA&5^-v~5Co zHJH6*pb!89+~i~J-Z~iJ4GW3@5Qj2-%F9h4bOQhjKrknuLish%@5_yQZKZY$gg)TY zmZ7}P^Rg_1K7bh8L=a1vmx(@(+N7KymbCvJ2K}10J?!4|pH_vLW_> zPwObpa}MFT9pyk$gB+vy4G8UiVQ{%lKC^gquSwGYl}QADuSv8%V+LB_Y<=^%&GVm~ zkE6M&K|-MTV~qAXOBgg%Lk4H7qUhhYhIUMb8%SnVJWO5;07{e435kl|vt1wz%_5`S zc{2n=1`goEo{V?zQ>UCEDW8g+?|%kuP;NUn{{d4pqGp&uH}U`g002ovPDHLkV1f@A BK!N}O delta 756 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 Y1C`mlOvHByO8@`>07*qoM6N<$g36#)fB*mh delta 777 zcmV+k1NQvd2K@$*UoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;tUC&pkU z0008uNkllQG5CD?W(KdKfo~g%fL777lC1#I>M*|eh&DX66}glv_k9@JA{=vrG1UKl1uD7yl!e18p0=+l{%0V@wM7#y}Q zPueh4*Is=kV5Xe`3>1LoL{+%BIF~;y6<`4{=1~i8HJHmnE!9FBD-fu|o(5cZikF*i z3DjOopc*l74DA79Y#+}Y4d$fI(=oJ}0^nxA-~{Gsa=^h7%qs)c2o2Kp)`0F*wg7`8 zY{J8=K@rT;7JqOSu*Mj(m^WFyDqC}|=b3q|e^>_8DD@~?bf80ksb%K+g`*x3^Z`o1 z;JKAz44{kilmU5Dq)T0wJu;7gn*(V;ItZCCG%W-!Pe&>84+}+f38;rts5Vm|dt~Dt zme^yE0YkrQ83=b~c=F4jmx5abY*7gq9NhZ55(v8p7>o#b2bU-D0}?+d z0rru=_3nUz7dFbkF9kO`Uq|V0uN838hi?eKUKtL5JeG1toA1jf(%5MVy*x^ zlDL{T2&Ol|XA+Nkn-nRSF0RAbV0s<=J&_{!8559#ML2V(i_^!aDEd+OIEpVB2qcLA z2*FF+y^v|z#%@7ZY; z*p`1Kz!)yJwNtKtEdMGi+_6dW9It))xrdy#=^~imD#*Z%{#F+00000NkvXX Hu0mjfYdlr7 diff --git a/graphics/pokemon/vivillon/meadow/icon.png b/graphics/pokemon/vivillon/meadow/icon.png index f206f3986d55c7f5aaa8a0ccde52c54b625ff4ab..3621585962b7437789bc277f98c8a964f270a64a 100644 GIT binary patch delta 359 zcmV-t0hs>e1HA)~Uw;8eNkl64?DH+C;#L zb|<1JSZ(wy(@%2}a$@0YAP%SsY4dZn*=8$R=y-~X9qFA zxzm7|9qQ-iDPR?7@Pk+GRuAEbdB-ja%|cA50A7gUWN`~Imnh&uOrHpoCnj0GyQ(K9 z^%y)c$*$d=4b>?xz>b(yKyt)TR>4N+MA+$u2)+d-#5WN`@_c~c=ehs@002ovPDHLk FV1he(r{n+t delta 399 zcmV;A0dW4k1LOmcUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;tYAgiQ2 z0003;Nkl?EO z{dh-LlK}A#7Jn0D_Xcb@a|(EBsywBVxplx&&qYEdK-P0e@Xif#dhw@0GdI+a%|i-s zm>aL&tu>@K<`udKn#Gt9A$T!{lff;D%PDHLkV1hBPu7v;q diff --git a/graphics/pokemon/vivillon/modern/anim_front.png b/graphics/pokemon/vivillon/modern/anim_front.png index 5f9ceb40d030b34d14102eff900da2eae7215e8b..43cda25e59633e11022fd09f19ad372ddd41de94 100644 GIT binary patch delta 1596 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 delta 792 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 QT>t<807*qoM6N<$f^N=%;s5{u diff --git a/graphics/pokemon/vivillon/monsoon/back.png b/graphics/pokemon/vivillon/monsoon/back.png index 73fb47e2e422a0abb06a9e3baaec8c33b1b7b349..e89b96057c4c505994f04724bf18731cfb41f014 100644 GIT binary patch delta 615 zcmV-t0+{{Y1-k{1Uw;BdNklC2wUa?Ro^^4k1tuhy;kG2vxxO8bXLX&>;x-j|&l4=RubbFnf5e`o$`2v8c(*b*W* znM5^|(0V`;z(b|x^%N9e41hwA9)k_BHctVZth#e!@PIKtlZabz^0Q!bOaT-Epann} z^&nIV6W!_%jenud2%OwXxEv`kM`d;55i}Oy5wL~Y4Qa+e9B>^w&1~oM7XJ_RVhe4oX0?5S! z{kP`ftK$L2mj?jiTG4HV_y{~R{MCaSrC#VZe6}2Tj(^~w6s5GvfXYXB(O|m(HX2ad z)*pav1{^JD0n{P|n+Se6P{~CgN&{py29FUOhF48QHw6~}kKLdf&Vh3RhVolE2fc{k zwU$fZVSo_JKq+NI6v>Wq;OK$+qwAc3-hmq{-oj^6I&kiLokIh9Fe16eB!Ev2+`iRH z{T^M8Qeb#+G+_8EB`-z|N%Gd$X|M%wOaaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;v@l3}PM z0006(NklbY0&;-HfX4vI zl4Atu#ttdaExJqjPfDU34z?hEc<=E?WR}eu=h@}P%G6u_34Z{PUIq-77Xg6KhX5(S zBEZ%nl!di_P|z443xLnH!E`cALKS zfx>|z20+z7a`n(U@b#w#&{pOFxi(<)@NlpGY7?MPpwT4+FsMYeDWP=$MS%KB)$2LP zt`snZ067L7B7av;9t>LD+c7vmh?_}3H5lA1=p1uk3NfHH01@nfuhdL*D?>DjHWM(| zm9RNtpgxt&Km%wrfD@n#)f-Zc0a;)-2K67D1C0S~0DyX+7YlVzPZ@Qin=467(#9_nNPP$I*mX2SNxPB0Az6 zI65Hy$bUK)pts;wiw}QHatls@I|gfmAYDYGJvYH9RJ}Z093gQ3& diff --git a/graphics/pokemon/vivillon/ocean/anim_front.png b/graphics/pokemon/vivillon/ocean/anim_front.png index f5cd022182ed1d142390d36cbdb665f5775c8cce..d0cfcc35be6544348637e28ec370bcabfb57feff 100644 GIT binary patch delta 1591 zcmV-72FUrF4TBAkUw;M;Nkl~P7AvqN7p#%ykK|a~kL1ZE4Tnjna2UAkwP%tbc zC*RyRGrO@?JBsNbq1Aie{O|3XmEKDvMz5rL@&jI2Y4l+riGNV;7y$u{3IqZoM0$iy zArMHS5vgc1!Z9k96fOrlA(v^H0LH;ikSNOp@N6iZp1^Sl4I-d0i3uE+DB=r80Kzee z6w&DtQo|g+h)EQQL0drz08HwY>0y9U8Ym=G^ktLG3mD!fd4wvZW*8%pZcswFMA}Lu z^BgcJEw#cT1Ah=mgg}viiPE4F>Ldgd5|dWq#C0YB7K1j+97v)@3%*1Fg9+%E$4Dc} zzVR3Vz#;&GF*{Hwe3kmz5-CFnG$@@3fPW@b7Hnn!KoP;jb}R(|$6?wT7O|(tK2>2wGYc4BbY1uUTMZZR65UFWSVmx~cb%F@m-Hz+La0(h0z%a@Xt$(Xd@H4WX1*ZNkzUGdFz((kYS_Oo+ z_Hy@u$AR^Y$e)`Uu1|NutIvjh&dJMXJy>njW*?hgeJM&Lvvua^XSx{r2)kz!lDVAMHF^_0Sdr{M;ar_4hqb_q_9m z=YLl{4=->aGXSIk*s6G&OYg43Znzo-R3Bn2c%2^)mOufnJpUhc2!Q+SBlWPo%I|Uk zfPowo_1xa_4X^Ly0D$e@a?O7g1+xC-8{o*jRg@YeQJ?d3Q6TNVf%~Xia6)%Lq6!fP z0Z8JU4>wY0wmUV?_d#GFM+RiU=>N;**nbrWL;yuqqd+bifdN^6Z&BFpy^aa680tAf z1fY<)TnqpSH9TPD^d)sDf{=K>iCsHGel8JiQtY@tk#L+NqayMDzm+^@vKZO$kAQf? zj~FBqK{6KwVj-fMk_g8FQBlcFL;y(&QPt#xEX05afFXhbd^{*t%~q_INkonL z5HLzK2BatX0KuC3ZBjFC#es<{&6)sG#H4umkz!Lu09XJtWk97-72`pvTB=Ea<%$7- z#Q<6&5`b0=hyiUhMVnP(NPrq?Hh%?RHVKsgEkZAt0F(eQObI}n4Z?sTC9P&D4iMU+ zrfwx}W2j@X6$ct@roa~gD8mTTl+?jAnq@7I99*cB=&}Sb=5?HY=yq1L0!$7lH+0_V z&#Sb6r(AdHpsZ1-hA%p<>)dC+CK~!1g@5+_)nj~h z+wHD7EBJ>Vn_Y%h`)sfGWUbTvYx@`I>?jul6!fh3`*z^EV* z;1cWo-D^8AUu??!;vZbyeW0qbP7q40)S+?a$DY<-e=ApbbHlSc_NrHp^!+1&EVM;? z&9&XNI z;%%1!(Ej)P0+gQ?Wa$HtxTn7w0c7`livyQr5g0)D{GecI3M`4r_b}pf)B~fQ5%YsR p0sw~<`HTaZP-+CAg!ahr@E^^_>{~K2?LYtk002ovPDHLkV1m78$wUAE delta 1615 zcmV-V2C(^q4Vw*+Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;v{l?-e> z000I4NklQ>m6;WAy8vU zfj|%0NORp)+_0*nLVPINLobDtAfIgNAhM8it}Qv(2Om=6QhzY)-_SR+yRlX~vJV|> zw0iT+@4b05+V>=B`jFKb>CB;_vjG_){TzV^nC1usA{W{eol-0yqbZ>nOVPx%P;$5$ zuY_0@MFJSdD?y?v62Qxev^Iwq1p?J%7c!c|S&1^fb_yVzk;oB~t|K*x;j@fHnOL-= zzt7mbSzDY0D1W7~f~2C)+hjF@;eUpEs8ebuJ|wM03E>i&BgsV$Sd>;eNs<~}q;**ESZ2ABsxFlGk|iM+-2 zn1lj<4&NkOV%8o+0A_+6CZX`Z9If*eru6`V&>+z@CV$bePXR6ffkZ$HM={aG7^p-p zVJ8v5U}mDLY}S!-RwU4(bSVbfkXf+VF#t&f6I-z!1008SiySCfHl-anj8z_F7lD2U zBy36|z#tF=W%D!wC}B=ow2Z3?IDzY2j^`7Af&qe9g=^z*09(;KWihx24vsB(ScRJh zfPoE241b^JfTDp%MwnFtFL#TM0U);dd;=jzQq)TpBj9KZys$7B81R#+@-WS64AfeT z0Q0i%Z*RLGP_o$0%w@!Gk9)Dkl4h4MzV7>eS2u78-=Ymd;I#7$P@l0pu@JnTKk#&; z%AzCyARW#ge7t-Hc>)i{lb-Lr_DTkhfE_*0?|-cO;c)mn0QgJqwg2QJ?;<>YHH5LN zIvh}Dhw zJbg0x(z|&jfYC)=_OTZ<*VBYtXtIe>evs#2@ZyJW#tCIJz(pJp+J*njEll>4rMtA(D8% zh&_9gHAop-q`296N%Fi?qvA>bbI9j(7E=rUS-r>1MC&jK$a)&k&(;)pI2TBZ3V$|{ z0%TE7GOjAmiCm1?a(G$K0&}Mw!bKr4)2zR1&Y2=W<^byrv`55T5+z~` zXf26yZ9))GA1dT-)LKmdt3oq?HqRRfR@@(vhV?KD%-w1? zA|OX>iYKoW>oQ`%0iZ1cYOQ+I9)DEom4*P=s969w44@Sv0BFquA5cbfv|T5b0BDeQ zI|A%Bp#q>o=rtRF3ILWZ0BE~K7*M99)2?IzLOawp9qAEw!)v@mT! z9&D>!HHyf?rCNn<2mou<#M-vs+cZkhIUs%FytPm3w1gLYf1y}4C}eUHaDP#mR*jzT z56~vINYq)Ree5^zba1O=8J)OcM5P^>&|PBi^2X>g*DIBip3XU zx-&?(F?d@o7Pn;fU3K^GNL!pl}>I9Jry1 zPqRRH|Da%13@B>t+qlY4xiISG+ws*B12EyFKC?hRk(vT1i9OXk{0CNk*k&^e|A7Di N002ovPDHLkV1hlL)-nJ9 diff --git a/graphics/pokemon/vivillon/ocean/back.png b/graphics/pokemon/vivillon/ocean/back.png index 25f829b1f292b922c4ad50b1a9253dd82f4efecb..bcf68c4ba752d229e8f24e9b4becd6f1da8b3b91 100644 GIT binary patch delta 791 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 delta 771 zcmV+e1N{8Y2JZ%tUsnJLa7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;w9_|b^g z0008gNklIF5WEXK02{(<0gqB z0fz8-^|&VjJ*&W3bAVmY-V8vg&Jp_+SaKKm26#4CJLDT}QhKUw4f<{le+MjG;K>^3 zv3xk87y8}bZwjnUWfo9hgZACst^CtBe>G4#mN{Y<%w(dzPJBW~Oab2k+*T@IkJ$LL z3tImq(1m!|!wJK2ET1|Rm??E@dZ@tnQ3X7%z)bf}M;!zY9wZw;7owURMT~usU~Yk} z)PpXijCEM@5O=r1OqGx%5`0NOg6N_?D(x9JV9r>S+)Kb*pbEtrHRu9~eFRJ|e>1lS z4*yL8T=FdT&t2eg3z!5X1)R`m&Z{nkS!xZU9bf|BJf2IyV37hKNVw@z)SKmWh!IE@ z0Gu+=KKFZKWu{L&%n)x>?q#v=r{?Z*i6JXax{e=80Fl^_KJ za*VQe0CXf+$ZbtXI#J@qUXwx!pgjw>&-0%fA4d@zfH{EN zl)r`GTi3mi26yeXfS@e5f3A!Wm&KC^a3ux}0H9YqKNe3tQT_>c!2vuWxGW0j-86xN zUQvNUF814Y{%iaNR0ensA&<(P@Biha3*7Gnj{o`Ah%O%*66^o~002ovPDHLkV1itk BOqT!v diff --git a/graphics/pokemon/vivillon/polar/anim_front.png b/graphics/pokemon/vivillon/polar/anim_front.png index 0127fdbb56c33f1981567417c741b515eb6a2569..d6c1c1a50d1ffb56f1461feb71d867c365456dcc 100644 GIT binary patch delta 1467 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 JPDHLkV1i9KssR81 diff --git a/graphics/pokemon/vivillon/polar/back.png b/graphics/pokemon/vivillon/polar/back.png index 03d40abd23d0c4003fe4816a245d80d3e827449e..b0b7bd93efd60180b41217a62ca1c2b62d4d1e10 100644 GIT binary patch delta 710 zcmV;%0y+J@2AKwsUw;CmNkl;p`(K1lmnXt0{{>OMBt?0qmGr zvPenI255k6-TM*&`T`!ZWh>wy$&#EBuq~LMe;!_BO(wmjb^n`Q ztHjv1`agg{`8KFPya^aUh+t!&>VWE4f(UrLh7d6hFoKu<@_$HzEIcU21BPIF7$Bt` zqv9S!WfyPcsTvIW@)FojZ$KEeQZFv^L);p|43h#s&30Z3jz3#e1Ot@a@60TgIg|zorX_nFgDorT_DSyc50s$WKSsDIyFd+kOK!KMC zs2+e-tOu}95STj<4*^XRPgZO}S`EP^RmwkEAoMYiRS^L##)m*~*SsL9z6}A*LavGi z8yp353xAsEOEd(sLa?^rB^@b}fLx2;HsTmiqONNb;Q-_AxKI)JS`w%+1v~&cE*B0g zWL{hw@#@dRM7KcRY!>q(xg*hejOiA9#*6#cw61?0JRJ4bgW@BC=8x9p8nu5C`yh;p`I;0_`TH)s#h`rM+bx1Jppa?tO^> zeE|>IvK8=_p_70$y zh_iqJ_y{%xiWVqNC5VCE1|x<6M)178J&_=@8f3!(eK0x>kka;1@EQbp8*m4h?`st0 zN5hmdv9BznilN+G)hu5VM*3JDx-bgfMfueLaD|& z!T`51a{s{Dg)k8v!15y?c?J!jM(vim21y6F09T_0(0>5`$TvU=fSVd;n>^zxmo6%~gd{>rH6p3SiAr?T22`>o34nP3}lJsg5nQPnu*d_=}90>b> zhKV~Xw0|Hj`d~$s@=q2BeF`K+KtPM(E)eXhS0u%^KA=&^c~;>CC&9#mD)9U`pLOFqLVxG2+c1lez)&ZaJM~ z(T+sxHKrTz8E+om;$E^SW002ovPDHLkV1h09O8@`> diff --git a/graphics/pokemon/vivillon/river/anim_front.png b/graphics/pokemon/vivillon/river/anim_front.png index d10057db90e30a3f45d3f51d8bef6007df7b4ca1..e0544c089dd42929ea3b3b9800068dc9df2096d0 100644 GIT binary patch delta 1430 zcmV;H1!?+)4C4!sUw;K|Nkl&zo z_ox3k_uM;k{)#eusru-SS-cE(H=r_Re?dS1LxE60gfIql%zsKiWdo^LQ!z1=iV9Kn zrXiQG0ID}pB9sZhPAzRrpf6!z1Xd?8fxZMqxCI#WBrpO@nO^76mp}oCsuVcTl^_5N zp`hpl2niMcMpXn{MHNFa=uwnCR#dwNj54!D2#BKsu)sh#3p}d=Ko=4ggc=5+<9|Fs;4pw1025}%IE+ce1cXzZ zqxoAPGP8^T7$IQs6uqj{wxTh-jW%%qaC3I%ZfsGCp~#D|7y({tlP9sYwOj@$5Q%k0 z955zO5#dgrpPnW_NmYgX9=AAgpeDw7p3m(7ys9))_6-3>Rmx*X7x^-^gD|TAX5-!~ zT2&~>f`9!*o}Q)NMkYogd(6*lQdK@XOwaQDZ&NcmsMF1qw$dLdp@s{q@N}vU3x?YxRphSUI1OhgZ5L=9QT>*-L z5~X-alwtuQRk%edi!A?&Cd*9k2=rEN44GUp{EJUyd zED3;4C!#_8Q?aQ@0M()Pueylh&wW1!N}>Vm$ZAbl`mS(PdbXXzs}@7yxDhz*U+~_ef!-oiO7-tlpZJHUQD=kOLNV@jieJ#q_YV6MtaI z0N(ybF{OYJ?gm1b1yTU45CIGPAUl);z5tBLk<|ytWOxuO34|;#Wvj4e$2N=!kS}u* zZX7eqWho3Sa{?Z2;%UCvvpn9`JNs=oWE!^ee9H}I0rk}mkdTwH7J0s83HJUS=Ch{IU<-_Z%QU)Xl{Nw$ZyFV7gz`s6o(tpP{?Y`as zijRLxAGyQ8O)>w@_{Cin!$6uCu6vE{MG9~uWVq>d$2#0DlN%vpq;`v3p{07*qoM6N<$g2BCzasU7T delta 1464 zcmV;p1xNbh3xy1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;wNFb3IH z000GONkl3hFrn|sGdZLNG1R~ zwX`vYkwhS_XQ8q&MA8Vi0E3m2$LC;+jetbwis0bmFPMJGT=sQ5psBH%2l z7>YrcqU?#HI)61_)L9B3Y63h3#wOKrGN+b!lqmO}p}-MdhZ8sE04*y%@pBD4$6I*_ zF~lM87!)c7$Pd@RMvel&OEIECPF%d4<_K%}m*7@7LIE)m4p2rAANc|ha|kQI!3g{` zw3pHYgtlZ$R&ym?)i z0iU1?em#y7Auk352d^$p0s%O!ms>_hs_XjwbAO!J3mqz#nIzzn`V zKiv)d#}Z(L!22MWunA`QfPmE}y8~Qa2Ep&{^B{Pv73($0ZwORu!6lg^tU=s>mLt5G&=NorTXMf87Jk&2Zi@}C}m-iTTtV6GnI&HwYTT>F@ zi$GgcGKm(T$~;L^RUOMhG=Xr(=>y}nL(pL&0U8#<1X+kMYM2L!FEYmQNK{@%F{*b2Eqx**Li&wCWcp6vdXl8#V0z+st!=>sHrZA5RfT=jrYcpnq)=aFC`1 z$YN+KY^&QBFBcE5uU0Z3Mc^O*&%*n$90vXkn43MmY4`O8P=5Sl^2i$oZpztr#xLHo z90sz~@VskuFH(RTA;ZhAJJw-c2Qos&NGk^c%<`Rz6~9{PQhySIcPTkGL_SP6omL)z8k zAc26P=jZ`aCg^GJgPo=de`-<&c9a03jiO zqnZIN6L=1rfi|C`+JG_#f@+{SFe`!zJdmNX8H6H_Pfyf2wxI?B4VRn1g(hm}Wf}ri z28L8AFH;2&YWqTf3!znFgi?i&RhPiUtKNey0Z2d$9$a|sveIBwN6Xb2;6iAT9T+fr z2~wp(`d!etmw%RK>T_^O+eiRt!%P5lRgRZo24)BNLaD|W;Q{b54~KZ+_#k}53UELI zpnEw38g${PBQPrv0z!=p${D09KLcnp;JC~ssAZ*QAktlcG0 z4|w{;kls3&U=)KMy9n&vsG3@&7XqzP<=}oCpH-7yTYtPy5rFRWX&mt%>Lu`H5>Oo` zJR@k<0P7=Q5Gdb@H2~8RfB>2;01vcc(As?f+AyfyO<+p`uD%IQ(<>7Da|>t{_*75W z_##{!lbAH1~UKSrmXCt7ibDn-VHyjpCIQQVkF#)$>JsfJq_6^JF@g$lZ zKoR{POsS{eY72z>i(`)j&U-*SUKzXt&|w$baRU9n>pS%7ZrXhRzh85Zeh($ delta 671 zcmV;Q0$}~l1@Z-uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;wSu3}8} z00072NklySIcPTkD~FNC|?WL)z8kAc26P=jZ_v2n2kV z=_dQ$pwRauS(g7M+C+@LJiRB$(&4aZ&K+(yTW|g9z5tAy+ke3F`X*qUrx0ul*bLac z2=&Hnn<2IVhNz0MyAuJr5$NpzYjB(g00?u~Y6PXpK@|bx5W!KHS(y;#uo-CcIjR*X zbHFGEnge5vpaKtg%xnTN$>Y-#b&hS!fj|?|P2fTkwNsgjK$QWLG7V*l2x4yE2!uqa zN(>=H!FbgraDVYid(b5S2{7ZqCDhI<2}*QSuFOD4go^Ayfs%8OGG*Mag2c77G?UK3 zB`qTXpaoNU`c#e=GXb>$e4>=&7{UVx+icPY7dFC&Sbz{90g#$cfCgRM>Jg{~hyh}b z0hAL+pZo-%&43GO&Oyy9F#(poH5wBMfHa{9mJY0tw11Tz0QRN9-7ieKbufYw0ch+Z zuy?&^YL+eps#4_OzVDw!ldi3>P9p%>$y49sKh$&J(6&yCfCv2BiW7$7=we0JPb~dYpj%cl`t{?uOO-|MQxI{1~0U_8(l+01!j}wpsuH002ovPDHLk FV1m~uG64Vp diff --git a/graphics/pokemon/vivillon/sandstorm/anim_front.png b/graphics/pokemon/vivillon/sandstorm/anim_front.png index 1f166b45b2b2eae375b1df96484a99feacd72850..71ce2181cc6b68206008b44a8e2952ac5714a601 100644 GIT binary patch delta 1444 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 AaR2}S diff --git a/graphics/pokemon/vivillon/sandstorm/back.png b/graphics/pokemon/vivillon/sandstorm/back.png index 55117410219a8ea1632af0880e767809bb57b05b..8ea7993625fe53dc2a5d0a883861eb02dd78e6ca 100644 GIT binary patch delta 644 zcmV-~0(<@b1=t0UUw;B)Nkl8nu5C?F1;cQBPn$;w%A)9ot-lGWYu3~~R zfDumx;x{nz92qhY=xcOOhYkVsF1_QIs1GL`Y{C5D&pT4GvTQQ6p8hf!s$BY2e*qZp zJ_m}Ip902tj9^PZB|u$EC?j63Ax10%j40OO@=5~K0kq2jbAPZJ2LQM=R1rYlrJ(SD zaqwUz20(3sTSFzFO4lf6AWs3K8fXp73gFw>0`4mtfG=|O^72eym9K%ocUNu%7h0$q z+T0N+641p;U7LFk4z7k90f?y~T} zxr49~6W{_O0NL^Z(4_W99Y8YyKET)LKt6!@$PWOj1ZY?07?ix&4#2PAyW9tG2eNZb zuq*%}=_oA#K>$yG-Nk<$OlX7yEnXr}w?=Hru!7qLv40Ifg1k58RczwlmfI&G8~|C% zqcK8=atx3-AZko_MX;Fy5RyQHK-jUK0%$4%;K61N;6OkM2P(A;KsFAP`YKR40bO1N z$Nn9O`ZEXA1#H_M2mcE6`BOdzpa$?>Efi^iIQ(`I*MTv{MtHywgqy0R{Ul&8g$IDM z+~3(2RDJhWe1!WU(*uA9{I0~2MDiNb3BZffM`g_0=;f$Y0QBgb`oCIt*=R7WAM89P z;5JOBeXTf9@fJ^Fvj8Zf{e>xI|4+;T)3m}PfzuLTkLL*Ju-Ef>0__j{Y{hLqd;kAD eryzY#;P?-5krK!nk{Y)F0000o z0007ENkl?{C()UP;qP`psu@L_7=OZbRtJSC(v%1}MG525d34dU`xeYWgZUV-6j9_y> zCqOSH6f>jEM$7|@$T!{NLIPABQ1by(upR~g_%U?efvibE9suJIz*;neX@Va^C!kEn z$R{960izmd49x1lmx}{DRMvw~8ZU6}x12u-qr8us@?5G!Te zt%Ah0#4Hdh1=qNY1b`N-R{f{4zBWCmXMih|YV0B$0Kd&m{NVgXxQG$(0TF;yya&{2 z!d7>n9)S=LYV;uMLHy)<0A&JZJ1e#Yiw6SDQtUb)K|WafCbsd|^6Mmo2OukXvQ`LD3;_}kM1=`& z2)1JYLK3JE2-h}a0Ch%l|6V&rglrWcoRw#=;*au0K@qYlD>CG+M;+$ z(1Q$;_dfpKyLU&wr)l#?#<=%Mm74SMh>bsH5=02zx^U0P?;0Bci+QpSW26M$WKTE7HVAq0Gf zJp&+P-SWzfNJ58SUxXk8*pdKzA@~p_bn(klPYSefzf1riW|#WTB_IV_L;{4#nCPPj zaH$li5mN$HDM5G9+Sjr>Qed-IiWDGC9?m%tAO+g=et#|o5QoXeBLOrKeh8`hLBue$ zj4~`iL?Hne-ND%HL;(3>hx&{*z_kuevUrE~omvdsX;Ruo$Bx!Vz>#)(0aP1JoZ{dE z0OBJbz!Z@bnCd6+B=l`Xmg)p)CV|r9%jL1WbZ?!r5RPP6As709yzjC+xkZ8^niH zBXKwmgVVqfd1A~Xg}gYkgB+ZQ~ z&u9SKB}VW3oXJGz|*u@ zsQkn{&iT+fXu<{7_;Zrb_Zi#byqBNkzu^i(-zRA2cK%)dF-maWA@`;LNCi%A^P}_e zND>`V>ZgDO{^i-ph(F$gdy)pa+ngU;$0N>fZ3rNr0ID3K`1Q}*Z#ds$KA8m!Qtf(- zkAHu+{{V%q*CK=%Nq{haqh}e`5C9Gm08GUITV4TyUa)2jU&4BQzjd*f5s+hk3*KBS z=z)hm*er0vV^sk9S2ex6g+5xwGyp;Ptty0%b1y-n;{7-sBLde6;oYY~jzJndBMImR ztfR_%;$CDa=>Y+#5LG$1k84Z{pbwBB(SIQo0y6+e81V+{Ij|eEM+zh^Uc&oe#x5k{ zm-Io}E)MP`t+4;Uk@-w#F}L7f0_kdCnL-jsxkzd%JbV^NiYgY702Co4RWn7E ziv+Ngl7KGbvP1ZusDP;!qDfRPrT|v~K&Mm1;thsOma2eEu?ztA2IfJ#la2v=On(8j zB~`BPLhXKKYgdk6ssKpd-g?v?thOmhI&&w38^)4;8r21JQ~+vata2B7tF*P*flKwTxkHXW$U5CYV8=A{9` zyck%iGok?M5WE9`+i+Q11yI(O0Dr8ZVJHA-WE|Sp4zLMmDin-slr?sq0MNufP?4xR zPz_z%!out-fikoN4^G1I0rUm{6lV4t_JXd^#V}m7q4syuzyOv(-EkOBtP!mf*;&kH ziY^CX7z|&~xU-lZ(5U$B<l6z;nP*vu^X~1z^R^y|;bY~7BdlqV9hD-n(~4 zy-!i*U#h;KTzMJh)qrZ6#m@)`U|t{)5Fv~?I{8>YHRq&~uZW3xsi+9WPa1NGJOITc znX*)%l1LjRv>+8QlO#$gD{*}qFi}P#=QbdOp5%~~SR)vrqH+n$O02oKfno(k2cWtu zVEAWf&g)`aPJd!3211X>3cvFe)nWkI!Z?qT3K^){BpcHJq=4-PdKPbIN#DW5WfE_E z<=R^o!Nu5V)m#p!CaOEQNu~kP#Wu!-@E8UFyYOw}5?F&2*fZoA0IGT0t+rwb4gP$d z0v8|^4tQMf5tGpPUkUe1hyLGSOLo9vN1abgg_TR$R_~9VX(Erfi{C5L8*S=ISfs`3QOQw2*6?C;M(oQ z0QzDFdjz*2v<5+P?2gUvG!o!$8{;kuY%4wkY%z~7fO@OVhA6}UKtzD~7|`HEVotz= z4~LfTFnAS8PNFiJHzJ~j;552NVh%XnTf+35*N zHFm(5=#walhL%VGmJTTt7+@e)CpH?6qe*Cq1Yir{<%GRgG#z-Dy2H@53G&=k$S9 zLP$>oh=v%DhJr|8VC%+b#wR%*6Vqli@l72Jn=g4!{NKzvop- zM_>SSh`JctXKPFguoxhL;zP;>W&n`TlMUALFt5)ZDUi5$h~0;?JxH5+NDH#_{NP^F zq4Ga3^)t?5Zo|LIdo0XYhgm=^rh($snvw{g1=6CDMWg^#=1Hbi)siek3aAvbK!54d zA$*Tyz?6k(BUy+kz>xspbm}Xj;%W}d0JT&FfO!Mspxdj+3NZyVDzaMNgWmnxQm!4p zk^xY>y^Yu&taUNU)KWFe_yX8!=otX|uR}z0KOp!)R>3G$9Zvu`f}MM_M+z!kwVNF9 zbFPiOEO2|L1z9q{>Cz_20${zI4S(qD0ANQ7kS!ZJGo%2$ow!*55jO!=n*>RKCM0hI z;Itgll>wM^1psSk=@I~pjE#NefSG`{L_xofNo(f`0Bz<2C55^R-O#a2)|eeBPz6iy z@FW@^fHwf3xRBWkyo#5iXvu=!-^&64ECV~^D4Lif+(g1z%vK67hfx#`Uw`7nS)_gh zjgr@0K8+@a;mfAWz01rsEY-TphvUgVr!SkG*m|TTAja~)tg(+=Ndzu&Z}aHGr?Ypo zArs&dt-<-nvs)BiU0?Ro7l3on&)=~q1?g|2RwK|jt;Ig+l%)#$WRnKtU_|?5T?S}* z=;*;wFoecimc`JZ|8Eb@-+xaQp{L1!0D#qB{*J8eD}cq<=ACf2O_AAhrjiPI(THuT!6!1L-1!8{;Mz>2g4e?J$9+>vIl_9`8{w p2Y?Ab^_c|Y2D%22UkC!lNkl zh6ptHfEzKBgxrF4yHJ0^bxJMZ|0~#BR)JpSg%5V7h3txfu1-5ZkIHyg8lZIwSmQda zBAxocG>ScHt=AL*Rg~!*c$>>n`@mtYjX<#Qfv{)jMB9iWh%Q<{H*34q255{xpgdp$ za2+oQtSq>)z&-M`(AQjK8H7rIW>9mR764>agh1wiaL*b66e)jTiP=W0k|!ZXElBV% zpjaW0vrVc>Jmizoy>)1-C;|t999F72Ym#X!$_^-?-E!cjX`Yg)duL7z7$OeUBqJ1}TFzgMD}(db8LtfJ)M_H{f~hHA#=1 z1-PfnUmVc~_)svwW79N^iLgL)3k3xpJ_8y|30e^JKnBH)5ijmFS$6<#NhNnAyw6zO z2j5@jP4lz&ajdtl27&#bx-Lh(A!;_ob_Tc%hqu|#25m&)8-nL>Ishnw3M9q;Z*mMo z-L?q#LqKfZ9Dp`^GJL;~W);r%N8kTj@PYrG!0``$kH(++<2n8S0000R3ZdLn`orCP8v>cP$-w;*#s zlm_g0aU>|JAp#9P;6}_OA-7=NE|h<8ol*<<{|YvjRiIaS;e(xNA-iIrtJ4n9qcYx= z256lE*0@fqNT)t9jbe{l>or9{6=gaH-saLhaF}Z&5G;Hk>=`=IHlhfkix$w$+HSQ0 z8Y2)W57+=)#|r{03$841k322(H5XY1q0*lj)ZC^802vh_kU1dSvqk_#3Rr()w$ZBO zNeFjf6FdwkRtV&5ld2LA`J{Aj9oj02z=0r#m8#B~WEzXI0}5!j9Jpzkr)270TLwU` z7=T)9(fDDdzZ&|pf?y}*2sL2+Zmi+fGh9e`U> z$sGyrGgkM(_m_Fo{Oo-k>#eInVE?DC%Y)Z_&8FDS0GHwLHXGWYEqp^m@ElHuKCN3W zkQDpB$uSUh+alZ#0kL&+0NU)y@clxXRXE!pegAL42mW^g$3K3L#-GFMjBo$|002ov JPDHLkV1ht8As+w$ diff --git a/graphics/pokemon/vivillon/sun/anim_front.png b/graphics/pokemon/vivillon/sun/anim_front.png index 4d9eb6ac5a303a06f00f25efe876b257b8cf5ac5..be28b3b4c30bbacca9c21b2fed8a5c4ff80e55b4 100644 GIT binary patch delta 1555 zcmV+u2JHEV4c`oqUw;MaNklk5H`W8=~k}(~EuJItC9Qr@xhwKiwbnze1A%h3!KS=t0M==t` zQ-U63P`dZI?|b)-&Xt4@q{4!RvU?f8p(R9Hw1z>cqX5=c_9?(z%+TKN1MujW zL@P{FT`w6bND>`*Y`y1nJj(Kb&XeJ=IsmFHC9raJbu{vzjVPvor2ys%7OW@9*;$ve z)+PWU{C|ie?tVq?n803YNs{#HZ<&j{r@%J^m;^M%&|^_Q8AbKCfu{i6FLj)K$uKEO z%mm&+KZ!1**Ph~=cra?}p6ymsfUQNB$-%eLJtZgv-!wZ4FenJ+^bn7u?Z^~}xfx9! zqi&P(1mOJo}_8N%saJrHAxaeY{y$OK({Ihcr6dF`}=Pc zAmwH!2aMt4q5S&lY+t&d;{t$1SbA!o?n~(kifFSo3v6T6L;3d~cVAG5K0J(bfC*qA zWPks;^ZP!~0X&S&JTS)7a%^|)-YvSN{S(Q}nHUU{OFS*d(NPM-kl4%vRq1cTa#S}A zTx9#T6OoS;f zRQiqf36hZaKtPpCp3d#@f&lq2Q2|oG;D5MZ=K)BVd~(1>752P`RN~Vj`X0^Ml|;74 z=oamzQWQ-m4UPT(jq(>di-iS$3KR=|ZbH)$lhFgE(*Og{d}(W1@0M$xFOFtK%+j1Hn*CRFb-H+m~=v31ZN{d1{+dI2zO9)JJ*FZB<* zj9Uc{BvI#&58r>hdij<;(g={m(&O{%4_C|bk)^X^r}$UJynabuG!94t<@nroQ2WJf z)t-($0Ns9fe-U6*F8~~NyQs`ZIv)mFj92H^??%fPCu1GZMfF~O^;hD&S_sI&$y57o zByXLJ3k53${Nq1QpE>eK=zjq|_Ip2Azd9Gf=X&7HNz}C*2fgd27O48$|+fx7l delta 1595 zcmV-B2E_T_42KPnUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;y@AVsQO z000H*Nklk5H`W8=~k}(~EuJItC9QqydM|Ou>y7&Wh$l$^G21%cnlz(hVJUK%N8I*Xxd*1in zBl$iqm1ZBBF;}|vFs<7G&9Z7=5y*jAfgq5FFlXqvLjld2kxG3nADER&nTNxf$Yn(( z!1-_{Bz%##j7kN>_MFeY<#1d~PBU}R(FGwH)LKveQiV}6sIImq-Y_T9w4_Uy? zT%lxGOW{yL!++mgUIfM(qZlQV1J5MPR!Jk_a>5v^^HGrjuv}sUc!DvXjVfU*IRFxp zc-bo5c?E%Hk1>}8VFqYc5aNdz0j~jM0*IT%FfC5MME3^p5)yzcZK#Gt($960(D7*j z=+P8LNf59UvXO+Ieab?FB)|g7(nJc3B%0$umyH3OzJL2!j2!TU@KDJ~01~1>qb)2_ zbVb6jl3;ZV@F|HLfPfI|0Gzcv2a1Nuiex1N+-6tM!JI5a+d>@~O4kr#2rw@L8f*xJ zAcP1+UHCeJl$l@8#@!LXp(R99Gw}ojo$#w!4+Ej3ILb3Ni@Q|)U}eHB}t-P zm#ww!mVZlC?$UlTY*q_Eh2;chE-&}{F0_%w4Pa&fa|H9(()9E+qN+6sKng!&i=%HS z91~beHBHlY?E`aA_Z;|+0E2))^jsEq(tcd~;JX=s`=y4xFX;wli7URl-$~<(_??^a z0UnHMcF#tY9AK;QMY{ie{2&t)f^QhD4A3cwEPv<$9!JZTIgoH89zI4c^@i2_d$U%`qUVNCMu;gR9Qo`wWnBqcs5x5aW^j z_J8tpPdcEJ0)R=FdSadIN$Cj6Xrnp~Y+=?T`S&09UsH-6A`B(~13*{E&MW)(J)m7g z7#Nel08h)26e!dv1&aNTN;^7If_y6@Bn z5K!Tg=ht?5L4aZy=m5i;l;eJ#1|VVZ;Rfp!j88_$C9WsY_jtMo>0^`hs5o9K#qrHW zJudyvL;H%enAz}e^B!|k)?pgZYLh_ic1=ZuuL6^zibYHSn#z-mt7=QC5aU4oX@9K< zEZ+E(hkR85up7YPst~R}=3f-n%3SnU@``KaKm};`7y!)%y3G|iP!iWbnDy*J9T+Ue z3%hjZWH;oi#oe^-1&yISsI#D6s3m}K1bEEn1pp1&ZRE{;Td0B14RWB|V-BCbrO0LY zInXMj^#lrl`EK6*z0hY0ppIVHMSo`pK%KV;pg;R!1#Pq}d?i3eXFUTFa!^Vj^tu4N z9=w3B0)oUL!0o|-)QbRhV;^t9ZPw@sN3{y{^De6b@Nrhvp#j3Rt(dvOWy(rA>tgjZ z?d-T@9%Zh5b{IDc5lEuOpB#Mp za{1;1d#n&3iTNjISD!BzL?ac!8 z$~l08C_-mGRK?I?G2WhCeShpPoF5NVK!onS@b<6NemfJ8-QyS5{aD^T9vCep;2r&W z^3s-vLJjbN*Z#?TZl4Q}tAY2&ab(&yyz7P%sCZk0#I$1}w;rkheIDICG3WFx>in~S zBMp5S?nMc}=g3W}C_1}xw<1iX=DiE|q6Xl`TA4XeE`osE9_ZXq12p>39_WTKu1}bU{{TDyaXh#~<}UyM002ovPDHLkV1oMB>8t<% diff --git a/graphics/pokemon/vivillon/sun/back.png b/graphics/pokemon/vivillon/sun/back.png index 74dc2fe52ee032667adb4f62fb303ae1103100b4..7e5acd4ad03d4c0b1c42381f9036c81c72f19e1a 100644 GIT binary patch delta 763 zcmV#?^%Fg3vWAb~E# zg(+Y{;&KdE#D9XVQjfZaO8`Uw$SiP~0$V+t1%Vv-9W>Dax)50cArK<%0$V90zEmK- zgDwe9+F+|ofF@-Q0bN=kAC=LTDL^H_13(q3Ym^~k0b?L|u8)~H=7Cc+$`H8*sRcR! zOiu%H`rX?DxyhTOmQBcYp+Rmy6QF4#C-ME2=NB;+tbgf}o0~;7AvWnl1R%v5)-=Jo zK;$CwreTWL4QMi$E(NRvKt2zdZo+j8kV8yi{~__RP^2M)n|#ddzYdH6BL&s~Fo5c; zMzg?V&~ri`0ThWxaT$l#b^VNH_HRqi37-l<0Fcu~cvII1p`Z&0Mx_ELYl!d+VAca9 zMMwe+0Dq}9?gK%hHkciN2bE%8APu6b57r8#A=V(^dqBT*K;=uogBB>og5-q;1-{w6 z0I7a=fSi*C_sI^HcN|bh1T8sJX$ATgkZD4qdc z8!U2?Tr2Tv?gxiw7Ler{4jtV{(Rz*XY!5bq+;qM|lAoQIBVQU2l>l~sIA>00xty<5 z4XdeuG4!{!kx$1;+?5HO#B2a?IOGWKY%kgUMTfxUut%2i<8}zRE1^IR$1V?h+}~f8 t>bWUWIfb*`!TWz%#0}U0Xul_5{R0?lPFTP_e?R~L002ovPDHLkV1gT!P0j!S delta 802 zcmV+-1Ks@22J{AyUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;y{Cn#=2 z0008lNkl;C127A!hrzHNfL)p##iRxvZ-NP9 z+ytm|4GC|xnXq$XnFT>J$Cy>XtAW=97?>q&q#i!k;QbE`ToYl;vd{o_V!-g}=~4X) zOn`R`fPGTAGJoHKtx6P_5*8Uia;`!(0JoK51|MLqz@!F)4+@w<99#to5auI%0t>cU zJ(?aa5r9OHSm1CCwq|h_fH~4TY@!8BA*uub3=y}1trQbqY7pLGmq4Q?*qRcsNtHul zmlmi`Ww_-UFa>B2(1n^BRftgHG60>MZRYla(>1CPseb{n1y21A833o>-91o~qS|WJ zgc=tHq&27lR86E1-e0+17E;NpE=B#a=qBVQeh3i6bi=DAcpJ!62JXa<>AC`r{nm7s z5=Vp}o%`H0;n){eEn>fao#m0trDA z%nrbVPBG7j0YT9PYYk$b8ZZ@mz`nFV;VB@d4Uo$Pq?rL3z1h7WDSo$rS|G_Em`?7>FD?JFkv*}5FXvIaqpVE0D|-Z}1tSm_#86N$^voi;{&9V>a4 zN4OKSzN-~CIlwpDjdp*@A#eoF!BYLX?E}tAYLMc#tIZyD=a;$uZn9Xd!rAWN{$FNc g1sgU9n)d{be;8{{SeET`YybcN07*qoM6N<$f*+k$IRF3v diff --git a/graphics/pokemon/vivillon/tundra/anim_front.png b/graphics/pokemon/vivillon/tundra/anim_front.png index 614fafc45169eabe1a76ca91666bec2d71461159..fe7d7739cf1cb533698116b180601824fe2508ed 100644 GIT binary patch delta 1442 zcmV;T1zq}<4DSn&Uw;L9Nkl5}e&G-Qhxq2SQJp{SEi`WF(QO9lgR-@79t z{x~M+!G_4Y&wbzben{_WT6NRSjZchXv)HErow3Ge1SC)u2!91+2&+P;nF#2t!iuve z2db=G13#H*sU;kMWF|^@Dgo%H($+TYDg^v=6*}97vIIr=2rwu~UX6m6Vfdb$s z76ed~AOI|>pqT_n2_648k_hnlrzD1E(W{WK0!?qEK#Qk4Bmgf92n(F=CCABzsl?Mj zyZ#IX#`xY{jDLLr= zz`sD#?vGJ`T3-U>2nOR95|C@?CO`uth{vv2$45X4WC35SLjq1JkOio#L!*Iqt(ywK zoebbp3<&@@vagd>KnZ_W08Q}lbpYUs5EFJ+2E<+oIDgQZ!+_5_P6EJPDdB);U=X~{ z`~ZPr7g7M4u%Iq95fI=l<^VMQ5%8Ow69BsiIKpBl+3JR7FnsiJbHVRIe_{s?S@fhY z#sUPyRyT!-ot@>fivqq}r!N3&8xq3n$MN}j2xKbR$nWro!!1aOdK|}-#%t&#TeHW$ zBEU+va(@ibEM7*9*B(y**1)sZ3^O?y-kr|kXcYb3!V4v)H0t8chF>JWFdD_v&FK5V zSa!6{KmbM!;HBs}#jhi?SAxb%Wk$)@DC~k1{pafKyZ8nH0|eUXI7)PJ_pz-`KU}?9 zNnk(s;}%g1P1F4P(xirOLGkLL!}HgynH@ao4nB{QoumGnGYU z!e0aBY@O>+R0Mh>50paWH5Cy)3*3Cw-#3gI^FDS%7~ z(F9e9?iz3u09HCaC2t(iF{vp4eT&k+ZXMoNB~#a92c(??)2E>0tl{AepCS9KNt$Yp?@r1 z1~6~ke}S2u07nIg^uHUB1&r`%z=OqH34r4v;D9^lLp9(^pmp%GQwFHWcmaWS1RkF^ zRjY6o2Scb6pkC&-*E-;i%_68+<~DQ=;LdqGJ8?Q9tryPQ+M=RiCysY)?*Z0|B_O0q z#+k+Ok{w~1?lU_-F4j4?7sYWjIe+2sa*q{$MzK)2IUbBg@p2lSVB)6QrO+lfIgF;W z<^Jdd9&=fGEs5Pu?2YyTPB zZTC$T&~~4&TajDK=k+zPa(jQAJ+<9-H8AJE{T< zQ3zQZhFhpDazIbl46>jEsLtu(=Z$=MlXH22fc9&#wphF5D^i}SEeJrA2Zq{$Ffo#! w>IeiRRdNM@13~Vy4AfJp3LC&k`*X#^e>7NFMgqY$4*&oF07*qoM6N<$f|#Y0t^fc4 delta 1461 zcmV;m1xotw3ziI!Uupmea7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;z1x0iF( z000GfNkl5}e-k)aoVWBxcgLk~7Y-hKFe-}^znr)kwqH`lalo5ijNbjIw@ z2uPqR5DLf;R)tP85ztwM6?a<>R9U$JLGq-fmT&=*CsD#z3BXP&Z8cy^ArPdq&{+d~ zWrR-vgOUVBfNf@`9?B9Z0D-Mt0YwP{z>*4@Nr05l@qaCe08f8PVrUkB-3ke7tm$?N zw0OEg0`Rkdu)z6tvYl*@N<1HHH(#K@2=BX#Q6K=F-RAhj(-e4#0G~qu{W*vj7UMhs z;Dalm#ZdsnQmoNJE=G8};3#3>-&oTgj!=Nwjs(aN^hc)>kaOrJfQ=EvWmnAO6Cee$ zKp^HJ0XG%M0@T%^(Xn=aqnirAy$ldg3<&_Zvagd>K#5>W08Q}mwh!Qm5EFJ^2E<+o zxX_wIpU*pP0>FJK;eu~q5IoL&4}n1!QUIE;pe{5qCct0J0ciXa5HvX_0Jactg~d*? z)V5|YybN%0A?U)+#2LF}(U-m$8zUf=x+zR-ZZ4Ny6bR%z0|8in4M+%oCyvj~LLgJg zLVkx^9Bx2L)Z;jw*l(bdEX_9iiU2EF$`M4fcp2Gme4YTz#=X}JGuav5ozCKD82#PC z10^1@>*CCYUnIaF8phN0===UicC^j00E`;IE75a|uOo9-g2qE-M#*awc0r2%bNTLl ze2aiS0_}7hCAzqO`q);-A1`08B(R(NxJA@L(=@-nFsb3)xcI&|J!%tn=*f0B|6MW; zL~pOYtk)9aK~}?CU(OCC@%ZiTxCGR^FE7pxky8OH z67Wvg$svKBx8l3?EWlUv*bl$od6{@D0Hy?HFPz^F6OY_~EC6Vt$3ixdlUN~;@nD#o zT=t@N0zAeDc|f>CpSGbV0!2W?@YZmFYeImVS%6IJ6G0nL!*LR*YdHWVR_AT;HC?TQ zKn^fWlOyq00&o<_MIc}u3Ax31RTQ8YD8c1Jx)3M;C}HwsgN=0@H;YG#4qQER9Tjts zk$K1n%j4pI;9k*@_CK5cnaZLv;a^vKtQAU!BB0xOz`kBn5#h5yUQ{uO9H6UelB}xU zP=&|>-5t9OG_ERyyRfYQG9^S4R3W;4rg%`)MOGu&k}IxbQd0o>2Bm-9LG%C=9>_!n z*io%DxqRkmH&3Q>OsJ*ZWZw`V%7fM(v`TB42YgVApx9ab5uN1 zxY8q^3t)VM@}mNP;L$(;E@kmDfO+fTDQ0#8TooYF|JIl+V1(-d9~N^Z0IrXK3*MX$ z)PN^}*51!<8K5HL6vo;C_dJ4Uv7*F(>1<%i+f^z|5eR4DVHIGk6L1`c1gK&d z{M>8zE~A?y6<~-$$XYYJLT!-)db(zi1tmarP7i-?<;$C#%X0*@UyHRs zMYfhA<*C|&07Q9Us4WN+!z9aB92hg%qp$+NfpPA)4AfJp3cyJFbH&4dG+0WnUkCzqNklpkr`2I@+ZY%R3vqdgnUY_Z1 zYXS}ge-1Q404_9;2J(tPO&|_H;VYF_8IF-zaBph(LBJG(17{eKWh=(x+JlQ$&l=Po zfCsG5;9};Um&qn#{)0fX zOm7?zARfx{HQD&jmRYAXH2_2{&SjY-Nz?~O3`lECctx-o0!Rgc3PGaVY6zg(5daG| ze`5gm1jL;ITR9EDfk@4PO0Eg0XcnB?cO>$D3>poZ78{=jcN(2W4662n$$j9~UaZff7@=1Dqb0+=F`epv8y(OsWpRV~!v>lL(G66#%?=`q-A` z@8034P7X8#+P_K_i(X?&J?j1=&v6-sOx?CtY{&hcH@Fj<381j^c8@J;|0QF<6!jhH z=V=Ns-DLo6_G-HS_9y)$*X`*1KkY*ho)g&q1IfH(Qsg*gqyPW_07*qoM6N<$f_{Vn A$N&HU delta 673 zcmV;S0$%;<1&#)gUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;z5u==;m z0007UNklQX*%wUekJZy{TyIzxoTncy=8q9$f{Db05LRfC_+`N{B{A8;uwT7!fbr<3s|y zJ5Y@W48gn`0AR;Zu>;F21aSixhX%}(tTRopW2gYE!!hCkSbv6qQ4KT(<2whw|1y9# zm3bhWBImEKFZ5?^19k*`%6hCoRm4nXEBRW}mHkPX<|8h#M4h2X#vBcxm~ z9+w_mjCwJk^Z-0ynE@9&cX<#{%6FQs2!JhwCRsuO<)I6FrHq?Z5V)3@1!)z6i(f_p zKnqq>?WZ!oWPdFvMt~`lYIG3>fZgWIe{gmqOhgaZ01rS^yam*$o2_=B=z%7nsnLRO zE%2Xw3t$rfZOiO}h{ty=VE$X9KIy;#L}n+!{0o~3+DZc;C4evaBJ-yXCKRa!6+R+R zw|TOPm_HC`mg$`X0>opUza=YwY}s{6Qwu9fW(5d#Dq5lt3H5K5GW8N zrY-saiVXp1z-kC!Pe43auvX&$9EkK3DAbaGjwZpm{y?JkLr@t|)!6tncrc(|o|Z!Z zss$fwJpttAkByiHd7hgHcRt0<>q131kYfrD4lpSX9+aC$BR>5xsapU~2L#EPL~xDi z0N}&(=Vm(3e|IiNeR7~8Q2*6B>mB!6Kbig`Kj1R-yZw31kJ~M;a3@w{S1WejZ?Q%7 zzhnrQroJQnJdXipx-6j0UX1tO|D>PfwjSL7r)>zrdji{k$-HDz8_ZFe00000NkvXX Hu0mjfE9)0l diff --git a/graphics/pokemon/volbeat/anim_front.png b/graphics/pokemon/volbeat/anim_front.png index 9a118adf88b462af2534330de44eb03dd682ebe6..b635eae4e31a8c96fef7b31465dcd3bde86d5e76 100644 GIT binary patch delta 1176 zcmV;J1ZVq*3g-!sUw;I0Nkl4S!{RVHF!{z-6R(ac4_)9>uE!Ic&iAq z;8CQ+|0Qj4+J9Qlx<7=#{NMcZzc(}azYy}D4EvIN;<|e=;D7iR0|}qS=CX5eZelt% zpX3~p^KLSG0|#<>_P$HzM{_)nr76kXAdX9N>5y@xgmsJKlMS560_-5e_r1Q_Afc{ygQbZ0% zfv-aV9`ak2U%CL)YVv+$m8*ZrT_t76Z|ZJWm&~<>qkq6rqb^&D=c|y{6OfM<=mAZo z)Sf;DHlqc|pgw5V0jNR;uuAEl$&(?iTdHY*Bdwo$l$?ue`kdlgalpQ+RHgFe&eMRRm!LGQOoX3N>bVHP?1fKcUGZ><+9*KS zLa|unJb%Al9>)Re2>=DISfxzUw-Mka`49l5DD&tWhbUkk7d1;E#(qUgB+Ua;-|YiM z>>Bd`Jm41ry;aQG&;t&Pnnf(`tag`Jv4E}9ds5_!>Ty?yGRF!K$A+EW&y?tR2}_ei zK-pxIW#G1zQNZ$hchS1%Q~cKy?x)*pCFp-6K!5+lSb!WCwwyTNB)rRJhIL7S7x5zg zbtK$NfS2R_p+$8}*7()@_^Dywk%0O)j zDSwilTNlgUe{4i%gJ6JF$SgOu7ACgAKTu$OEPPkW+ywZC*g$|GQTkyKfR<614jc%A zXsgh`cB2pMuXI3QYD7*&fu4Z;)RuB@MSn2^ha!G4q?bAa|Tk?2WsE=g+s4to1PUI zxS3iv)jsTj$ebNB^6BAAx qa5DA1IN%h#OfX3NKgR!W{0$x-6%iPlSjcby0000(hdm!|Kso;H++w||Nt3m!#E{NALyFwHm3 z#gp`dT;}`D`#Sc*aPy3>*s?}x=wRx10-evLgr!lKFv}u9S#x$2y>Q;&g`%#c`O%@ zp&JMRF)2iD%zuAvYIAM~X~W7-3DI0!U`(vmFn~-1qA7ECWmAYv3>YaD#--d1qWC1HrVN4lBfUxdIg;9m0&5bY{sH{9bjPp3vj|Xq z){tkRs=6adKk&mzFJC{@x>JKlMaHmk{N3^$NavqJ1AqEgnMx5k8U?-$0C>o6SAOdP zP^-!Nky&p1BM+360l%fYU0pJLjYfgfMqRcP&sQO@ry(D0AOxC9sY87R>_i(N!}_>g z2cQZgfLTg!^!!$6-BL{hoNE2lrTu$xO&_;Z3)Vn)?m5`^XE9N3DFeLi_!!_)X3sQX zmCJwo9)AwlSCy(%zTSW8Q?v_8Gs;Bp1*I-}u=DISfxxeO9=3adthjs2mB%+oW;Bi zW59uNGl`Y`jqWNd7O;7`Pl|j+J?;uo=1b@uX@A2?A5E6%R0+Q$eadE(g`$(0ef!AZHC*4jpjgyMt+%m z9ot1RYrYC6eh4`Z{*k;(ve`I;S;))+kmZjoaF)Ro=1uQP5Xy(c078H< z-+#L@Z>k6k5(O;xz2YZ+T8J@woTrJ8l^X~lz6^XXs0`H*g&~=REwT3Fr$%J92?kh& z$+gDr^7J0~2MTOW1n*0kn+E?7+XyfsNTJM0s)QG$h z1wsM&r7h**y8dbo9!30OM6bON6eA$pHGc$n_s&a$(c38ykchzypEgbkrkvdV(-h}v zV=(v60qrLs?{fU@^|2?I>on{Z&<|1*;Al0D}h?xISSBGg`mQ(NzO@Dk24RALtAXR$00000NkvXXu0mjfeP%6* diff --git a/graphics/pokemon/volbeat/back.png b/graphics/pokemon/volbeat/back.png index 9f5193db34e7a1b8bf3a95159b4bcf4ad3522ab1..adbbc01e9db9c9429c2489d145cf17ea8428a3d7 100644 GIT binary patch delta 588 zcmV-S0<-<=1@;AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tF0#8XqK~zY` z#gULkf5e+2eLs2M@4I_G^dG8b9{?Va1Av1Mv@o23ux3u#{B>?!!SUGcHY5|HV87ulyx0#hG&eyAI-PO4O}f? z^jQx8MqL`{Pt>3;2!k^^=;`F6kCP}pNW;NIf7jsnOOmXkypdM_oItI=E@9r`y*d!n zrKwGDog_kt-$3vs(>NR_e?(SEGUd0r2?`yE_1$-!L#czy<=sLBK8Y={{-pv(Vz(}T zsu?RldR`Ug|);OCnb>dvcxYMNf6D>V(E_tsenU{%QutK>B3N)i>?|i5z7K#c zMZkCzhB-lCGha%8MVxvVhU3x)pG$yYJ5K-zHvl`Y+&8t2i%|+>9;6x7nf!zpt1ZwJ zvCHH~Y6l=!LQoB`$p8&#^g~`b1iRkPTm(MNra>O8Y=!- aA@mmjp>v8(OEE|Q000099}EBh0!~RpK~zY`y^)$me|S@* z?4~QP^YMJ-}%=4#owbO?x_YQ^4%Q zyq+el$!ufjEuc{s8TSLo48s5!+Ia^<+91drQ`U8~8J;l)e>C4BH*mFp(PupX7GQ+}(PpwNL>-+k9PlsdRv-Yrz%lh_jLUn+1UcI)z|ny~`JhX8ST z5KuxGRUo#tz=TrT%7GUP6^JSBaF5Ul{KWnn8MqRZb~xvAEGChIu?(Qrf65^|tEVyO zSh#Hoj2I4*tgxda%t^8|o!1F-YTeN)@G7^OhwL7GvW$xn!}+5$}xyG(whb^vlE z1l0hW4A6i^Kjf7&KDgx+t@r|yTLn0AMx{fPo|f|YpS&+lk_bol8CCql`U?P|bBeuD R^!We)002ovPDHLkV1n>~2(^b delta 116 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 diff --git a/graphics/pokemon/volcanion/back.png b/graphics/pokemon/volcanion/back.png index 5d95a1c5fb9a6ee99a8b7bc9de59a3a370508581..21a33f9c6dd448d948f1699344151da347f6c70a 100644 GIT binary patch delta 684 zcmV;d0#p5@2LA<+Uw;CMNkl8nu5XT7*fgVFpCBP`U1?XG|r;4*+A{qm< z@YK-->rD_Cm}xs@5%dOaAE6IWbkIZf$fNiXJI&M*h)wH$y8nHVVeCJztNs4(z`N_~ z+o!Es>lfFr$D+7s95M|6Tx$@b$XW5`ksY`K1DKCSbcGo6*ngfm`+onPh_dO&7*J$? zyDY!VHwcAL>_S;Pyjqr}v@Ux5%M*zd0HL8yBpw5e(0BQn1K`W@+iisq-8leSJ74HR zL{Y9!0sQV+AkoMs|Cm1m@XJA*=7W3bE2c4eK(2r~P6zv>_<*(6L^M*)4{MU`j0D=* z)w0~O%&N$F4u1d~=jo%3$xdA6?9yrA?-mKKXwsI(yhdp}BJmJawne)TF#tD_1IE5j z(&kxvpov?<*uAt_?JSU$=Rjr(BX%?sihyK3*7g?p3W#I^*@niZZu%zx*WXf9!x>PN z0Z`rD8L(+~c>sEG29z`g4uIX@(p-V8ruq@k19y7u+J6^S(IgQd^x#@^oadbK7u13i z%}h^kNo*x~P_+fR{9c+7y7^>*(<~2E>I?`F+u6J$k3-ZMioGGAM@_SaP`2XJmtLGrkDC|s^USGr>o1DKOLF2e528j{vEqX$kG0Z=Qzr$k}Z;3b73 zpd~;L9)GZ=aIgs&!QZ%a*2Vys!^~p|zJ?G1Dgx{^$x9EwaWcR*0LDcK!JOp-s9Gbi zaf7DI1TfbD2bHr;Mj6$bC z--wqHVE(1(6afCiSDTG!Z+4Lm`rm$z0IXFN1|@-rFF%6<=4l5y2{i%!<@y8Il$sPn SREu~30000Fr@ZQIjc zjNc&bBlH1E4}PeQG_ozNv)xlGNaA=t&uC`;ks15X>uSIMJAd%u`ug^Ht1;%)_1iAX zE*jg!0Dv$Cq|8#5y?bH@p}_+7tCV#nyEL>X-oD>|B!ZVs7Xq5>@5k|%{ROEJ3SDSt zhd1Lma_6GKPa1`Y0gwiYD8y5sl;%ENIRG(^zx}0@vR(sVjQ52uWU$NWF2H>CA`rz$ z`uVna0T7oraeo>P{-JM}MmGa$0`##zxI5V=thFJcRBCvflB@CEl)l4E$dqp~AG4HBY;=9+7wqDqEpl$`F7X6?XS~uUwwR43uGO7<*7I ztDOT9z6KIo7`Y=&XaWkh77%3V1jtB%Y(ugs%H|os_kWkmyj=kqUjSX-uYgUtOBbM# zD}a*>JOI1ar#S&hLG>e`0pa6SQ(tsWO45EhTHl)EFr<{fq!ye=GYvhZu$AON7Y?Y? z2W2I6^Vus-9jMd^5FodMeMTMIpfj}hl7I$d+SM+Fw}J5@C!nsZq6QTJ)`gw{)GbC( zB5WN7=6@4Vb3Y~_fI0bbk?zW_Hfmkj&A{m*0D1yMA4QmA2<~SVDgsP913VsV0y>ya zT$;6R0qih~FocND4hQG}aL1(JGXTfl0^0?!E|x9WSw4U+3<4W3G{Ymn9tQ$+$~JjA zpY~k<;BfZ`vqk$dZ$?8zphDU#ms@t>D4b5Y3`#qEWIJ@%869e5*M@M_Y}6f4Tku*p!+SA|aNc00000NkvXXu0mjf D>Rv&b diff --git a/graphics/pokemon/volcanion/icon.png b/graphics/pokemon/volcanion/icon.png index 1b39eef4bac91f2d35f58bada1cc6e4eacaad491..9d3ee03213a6d862489dad54bcd5354366d2edfe 100644 GIT binary patch delta 353 zcmV-n0iOQw1IPoAUkCwHNklQEG@#^=Z9N9jwFUpt@=f=4}01mVKoOYr)EY~mQ4-kXf~E+&+QO|?D51k(`L zybD5KZB%)KAr)!|bZRJsfN>tJiGnna(N-Krjo~$&b*wI1WNmcG-bbokK zFE!fHpnE1>VAu|9#H%T&B` zc>RqguupSfV|-}(oFAdZc!ym+eDWNx@Z1Piar^67*G*q0QFsvk;QU))w0r=@_w582 zFqZWm7+|XoBQVepJ=cP^zZs-sHcm6uJ^m%cj{0SsK)2V=SS&Fl3zQZ-vp1^P6Xk?K1%TNj(=?87@XhgjE^oRl!i^U zJH-T36Yu#DgudFU@)koX>>bd#rVs+gd9)@9QaeUlaTt;Ffl&7ps)6%lr7p#e4)RW_ z@*tzblX}^s9SwS9;su87z-COFh3f3Soml2mxA0RvkuQpdWf}1Z{seNXKkus(k>)^Xq0V0T>`p+4_VLn8xF0VKD%c zsNzSFUw|=VvA#owz7r-7mYm;g|!Q$DVb@^e1E02G|E3)QB3`wIX7002ovPDHLk FV1n#KxMlzV diff --git a/graphics/pokemon/volcarona/anim_front.png b/graphics/pokemon/volcarona/anim_front.png index eae08ad0e70d3dd841ef4e63507078e70d5722e4..a200fe516d12e6371a1a8cd584a843ce1567e0d3 100644 GIT binary patch delta 1451 zcmV;c1yuTr4EPI>Uw;LINkll*O6vrtkYL*O^TxSlCmJFmFtfOTV?G*bA zCW8dk5~X^K44s#Bs6*@M2JvKp)SA?g_!W}1T{0Cx8!vSx8(lPU z$wj9eAVcK)>HppxkN5tTq|bOHGMSmF;VcTpV{jsikP^C1A%A%$8b^!aJ9vypU=#d zco8xzt&nUKz^e*^U!~*#c!XkriV6x^OyG(SMAylm8qQ+9fGRjom3$1~Q^WF-xh^-B zDId)!Ag?HyIe%?U$^Ou$0TBmKgRylqXF+reKG78ULXI)^TrTz~MXVhMC~g>x8EUTI zMy~*9j!#0$Z_1hm0LnSrP98FBMu6p(!Zh}_rWBptD;g_7lIpE*nfBsM4S(bGoY!#y zDcyQ_$lm<6s%-RouOS6SQDR;F)p%FKMW^eS%T$4>jDLj_8FhV$=&Lyg#&aI0R1U|p zv^kd}&$SLa>RG#Sxs zbC1>OW_~;lGbwx8V~vq>00uswk8g+k>6x)_7=NXq`L{QK^7KeN^~^gagpsm$TpkVt zTQc>dOBmD0@RaOb4z}7cAbI5RO<(qgrx)%A)^0`t{P7IlE5kFq3m1Ux=*utRKhB_p z(z)hcUJek6oerRI3?-C3?~^-t4@ZF<0aEDb95T39@yHp-fq4K*5I{MP3@ruJ+Y33LmPjXtTEz+@od3rquMxWE)3CEo%_ zc*gI$(JdVUR9I*P08FqT zTP*&9-}BB0GfJnPsa*^xiyxNvhTt$*d3buZcln-@n}3O}#*xb%hUX3cxqooqi%z=0 zVVoP@U^p1{{|DiC$_Gm4{sm)_oWq2|l zz7YY}nj{IpVSy;1WH1RN)IeZ#69N`j@jRM?FBkw!XcUl^*D&U)Bo7&uS7{~+kTs0p zSF$n$9-$bZqJJff@-w6y04NS1L^4EQLS>ROa4rV$p%G=-+ED5%2EQ6nKv~6e3)(u) zeA_aHL>xeM#x~G`4bg4*L{sFJvW&53N}+2Qh_&K?LFy)Brkd@w&?^8Mku8?nQZx+! zly!I99Awyv04q(*H1?*73vTz75i3EGYR#{h_WZC)zJGMP?(4XKlx{veVu!!1;muz6 zHKZUYN^Gb$ZMc(EK_|g>%#Sn#|=Z7*ycuKAxr5un-F&n@NhEc zZsPYFIRhIBs65;Nh5`CNQ7+JF8`l?4A_w1oXtF&}=zv1k zsa*pNuCX!#OqcOAJj2c?zNJdn5*B?Dr07|WQyT$Wqa`DJ6WM$K2X4=?oN*1~xRmC^ z1H04fy>uMMcG{zz-}Em%0CrFe`0X4@C|+p()m0x+6bFt^poEg| ze}DA)@8BpWHKX#O7n zm?T!o+b=?kj}ie@0RW?9fGh*RJ9~aApe6(AJOCCP?5_YIN-{v^ zu+EkiYJx*v6)kfJCO9C==W`cp}K1cva7TWtR_Xi0zkWaxtFrv6gK!qC!27le# z7H3F5gbY7|1%b{h2EIOG&)-zhrrQ-~NPn)e!?zn?Al#kL#5GX*R#(X;^zNr(i7FTf z#2rM-5WbzLO4l-YlN*SdNFvoN&`LHi2nWI(xu&Zhj0{9ql;e~79+(d+@F2o6<+=$5 z13sO=V#G%(^ZKE|^CUf|mKP|1M}J{fpkTEHlXf=2+0Q4vhk-7ruS)xZsgP5EEe7Hzs0mSx)}7zoEc+7$qI z_O-_^ZCdmli@k5M`0IJ+?8KrP02Ww~Z5DsQ@A>DHnZ+~T(k}Z3iyxNv27ll%SZQ!} zzJK-3pf~>#jjsUq=RDqB*A#_b8_K(es85A=bTh?omnu&(p^a zp%9%14(xlU!;(~0jZM@s05@P!lDp0CFv@9hDXp2s=@y}G>eD-F)x5=HgiVV0`j;l< YZ)F~IxPbSZ>Hq)$07*qoM6N<$f?md=X8-^I diff --git a/graphics/pokemon/volcarona/back.png b/graphics/pokemon/volcarona/back.png index 56dac62edae65309eb66f8e64262e687c6778a6d..6388e505b93e934aefe822cd38505e26307b774b 100644 GIT binary patch delta 824 zcmV-81IPT52c8FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{2NoK~zY` zy_L^S+dvS;EkzcW9@sc}fE|Z&jlD$lf~rtIK%K~H4lRgF&qyf3cNArL0>sXX8M8P$5Mvh6Gk7yzJ0 z@GaziwXBy5*N}55zZX~^mHm3A=Utx?c82X{$x)So#9=Rga-Y&2x*U?Ks@NRuMv0$@ zsi*F%sHUZTWu|9~#2XB*J9iF$F7D>SO(Kn60lqa8DJ-!63eYso1SH#$)8z)h#zqW4 zf_X+$eRotG;rTv#@IWUM2DnvrZ<9*TkJhaOUZgyjTMA5@l{VG!{kjPOzDVB@K!-ZT z#82yo7XXh;(y2c{V%_#o{(k{QKttkV)2!CNZrT_jK-cKO^JDXL{}2FuJ5%6GR2(#` z=f~Cr<}}AA278l}hgD#rbb!6+4R9Y!;-9T3`U5EwB_m&?nD5vC0000Y(?#$GIXK~<<9fW)$zLkr^4b0ieuJBqwK0pe|V0ZvublgSIv+XsTPn^7>+>^eTER9@#V+@dU-&uHk1m$43{Pj zyTJwkV^u_>Y6M7*UI2-%(g39b`V3nLlq$zayFr!m1#M8{M6Rn*nQ zY?;Z~GIj-eAvuK-`WDQ5;acm?RXZVH^r;Z?fl2`K{ z5cEN(;a&G#Rlw@{gOoROf6mg(2u>e=m;%x7&9x6ie`96q%j&l?EU&I_eSmC*ol@ZV zP~iPOdFa2sjA`Ibn6r&*xj0$h`o9*`n7gUDl4)0;-mg0!ph5a>YA$t(j-S>KF92#8 zSGWEUiFKbtxZeUAU-sISux85v{{iZW^`25&C-9LE1!1RgF{`g4WScmCTf)ER=U7PNFh80U|p{u{nSKvw>J66%y2oSqv zOkV*46vp!DvZo+{%Ghjwg>Z&R+!Qzv*Sx}uUG#v9IyXAR6E4)<4f8DEf{(z3=T|WT zF94J7S%WuQaRDMB#3G0D-4_!UQiygR>>Lv*n3M@&OPHq#+apuP@3MS>KT9+}s uvj%lhJo|CKcJ;PHd~#EgOx4IgL#ba}&YqlBrR-Gz0000%zjZO+V(qNZcv~a9slNX3@5a-gT@mVl7(z*BuDXgv3C-V50nO$J6vT^uIejmSE z?f}ml8Tmt0$#8t6Zj40_DPe>q#;kRJKEs-&G0@lFe{2Ov>@s?&00By4 z`E)r@kV0*2wn8|=G-(Sgh-+TqCpLP(MU!h4;RzR-?v{BTav?zA!t<*bffs95 zt+)WO5E7BY`RUS diff --git a/graphics/pokemon/voltorb/hisuian/back.png b/graphics/pokemon/voltorb/hisuian/back.png index 52fa8d909b1c1a92ef10f2842f01dd40f1df31a9..74016e36f5551ef541778aac0e46692d6a652ccb 100644 GIT binary patch delta 357 zcmV-r0h<2g1G@u|Uw;8cNkl;%#MxO%MD&+_)+ypzV+Wu}z7ABM@W$F9+;-o4eUAp}9P?zI%kKQU9 zc8rW7>7vv#Ywly2^b0F8rJ!j)mLlkK#Sq}dY!q1@{)b6}KXFc27A&A!jj z9pW4THk$_+@Vy?AFqxYd3?_g?V2nXe(Gv&&GbTqM@&H`F6#_k_*8>aX!><4!y>9`q zYy)2{VB7*&iC#c-(BEM|{eG;=SM;hwzt`ml0*lb=EB%guUIg2o+Ft7w`ZZ5iT91PI zsFdnDOSC}F-RP(NYrFNz0dz(}hPwW=+Fe7^_Ar z%cNgektqdD`>_Wa5f0eXW>XIgq~N=O z`lR?8C)`$roWK@{R9#@O+1{oQkY-N^gmSOH%z;sk!9ZYeHTyb4SBP^2*lbQP;CnqJ zVKO%_7)$^OVtAo2iQzZL@BrPl)s<-@N4AiZw^uxbOJEnwUNScyP% z(BEM|{eG;=1$wJPzt`nE0?W|rEB%ImUXoo;ZLjqjeVV6htw*FjDy6#43M~ZZZuGD%PDHLkV1k1JtB?Qy diff --git a/graphics/pokemon/voltorb/hisuian/front.png b/graphics/pokemon/voltorb/hisuian/front.png index 63a2a234eb85830279987d9afb05ac461b426143..12052e98d6a19efcb1b3ff6d20b6b472494a2da3 100644 GIT binary patch delta 350 zcmV-k0ipib1GEE>Uw;8VNklD+tu<9VY-{a+JGpN9My16a@j zp94xb39_MJ2v?N=?pinkKJq)@hzJfx5Rp5AY!63~>?3Ccfq(Trk$Gw&Y(M}akunG0 zRl^7LB|z!`h!2sJJKT>evjBc7V7&_q1Bg|>2^KL(!?N^s2@60t-a}ZPu7z%Lqig`r z!k4-(^+BxqfX5hrFKJz05y(_y0Sdl6Ay8q!rwt%qGd8by9qRz~-5=ANKZ|7yd<$@~ z17T%c^jkYX;#a@NaOsq?456=E+izXlIsk8~ZPZPvADiz@&}=&_aK1TS?G%Xy^Q|qK wh%@ePTpei9#t;Kvi@sw1fdBaOjvDnqzp(sy-l=-z!vFvP07*qoM6N<$f^eFe^#A|> delta 386 zcmV-|0e$|o1K0zQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;$3*^6=l z0003yNklutADip-~D$;I?o$4=p4)#A^X g&;PT$g9iPgFR=W1-X78;>i_@%07*qoM6N<$g2s!feE#IU75_Isd(9+oTy77z#XH978NlPppYlJ;5%r-2UV5{`s6dWCmj%xxEAu1 zA?+R?AqV?#-9qs#H`ck%0e~@&?rYMJ#56|QG<%i7Y z*J^#CgF4lAmolfp@A5N-fOnl8xPQ)Yrh_&(SK;$BC8*EYSAQ-;Kv~y0hrn~|mv7&= z^&j$qv%-)0FdsN{GR%L?b4Q5)<#*I!_?GAN8{gi8{Pf}W`ww3aY+Fse;qQ}ozvXwr z(j=PX1D5B5Y;5Zw!fbrki!y5kF&^J#VvLq&%Y)!~KG*Dt?+Jby9Omy(&U^ zf0{T}PnBBA<>NX)LtM3vWHiVpwNQ)MqM{ziKTr2^S$`!;p{14(%ei`eVn|kMGj61; z)~b7Ah#!@DjH{VaAlJ%ZAWEv*Pj#OsrRvi;kl8}1Fx~d43Vr&GXn;vwJ^t1x|THV{0fSV}w#X6&GEpVV#8hcI7Kp3>OV0eb}0TU8Xt$wB?? zh$Yss|9`$;c?1CK*z~ur^jFDyOM$lc-F+kdVli}jcf+6Yd3pcRY=E-YTu;4w%PmEq z)XO7fr}JPgL7L^0q6CX!Ys1&wwo(6&f757p&)|oD7C!=avi~Exu>L5T4(H$@z$?NH z4?Z}jfbigyzaV(9p5_i7Y{`yO*uX;*?08WfSAXIxAN01D$Gp z`mqdoe+2slvMn2wrI;c;0O#2u#AIUB(Iv`nmb`g-EfP0+l@)$cZIZkc@UE%=?0T+XLV~Y0HGQLS_1q!H+ZbLG! zWU`3o$$SA)CI-XRe7;s|wNfjD15>tNNzk#pRwu$xn2LC)74C~pBFYswf z-UI<;%NOSGPgDgBUwp>wHyOw*qRMwqI4a%`cQA{54;A8#*wDKMD0YR+?-037e%*z^rQyu7zuL_2=C99qJC#}C&C;D~t8#W|oV7fyQXK&5t&Tp#2o zq;M^%T6Ll;voqV38n(A;lv29?l3D5w(8um7K$^tJ7W%-vnt$0Z&ilyo{-c9Bqpc2Q zPC?M&Cj=qyI4khrl;A`KEpVP}r1u=Rd zfU_uVew+fvM?zfhC_q5vCpC*0PJqTe48#6@!Fd%w%zu+QsX3*7)x$9CuXO!Tsg+#a zZ$cErl?R7gv6c^Nsh0C)MSYNe9`EIFj*aRt6KDD0k8Yl8HUQv#A)X(yL3GpWvOy*a%60ru;EVC(hKrt<7F*wi13F+m zq0u1|LJPzQ_M*s$y+?SMXz$1Oowb~0+OL65b$t4%jCg+py9u&KHYiImMS1|vvweuk z#DA!*Q-1e6iT5jasWU!hy-# z&n0ME-l$l@#^mi}G2hyHeT6Ug2Ek_j#D5p~ZgSoP0pyV{%;uk{3L3ung5GZuka@%@ z@pM#$dg6y?LyNgT@xx_NfRi6CJK(wa!D0R6E2e_K08MI~-1gYBRtx|D N002ovPDHLkV1k5W{`UX? diff --git a/graphics/pokemon/vullaby/back.png b/graphics/pokemon/vullaby/back.png index e60bef856680e96b407940e38b5f12958dbcf73d..e1e8fe0a14b68af2cd9fe84c59322b6628212015 100644 GIT binary patch delta 391 zcmV;20eJr61MvfpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ZK_kK~zY` z?Ucc4!!Qhnjp++Gfx&jNRmdTyEqZ|-Lhl>P1N2b8PrH+k%WZnfDNY(v63gs5`a=vs zpY=;1Sv~XzX~+S{gtiiZR_R7avB!ofD*^oC>cdwLJo6;RVRfj?2@ zO}IPfu0F5azaq}hdl`kIe8o-;CS4G$ziQL~q;;}VoO`e+K1G8V ljQck&5whOYL;pug{Q|^;i8{r3Ll*!5002ovPDHLkV1nzup{f7? delta 378 zcmV-=0fqkY1L6aaB#}W-e*gz`Nliru=LQE4Hytfs$5Q|R0YynfK~zY`?bWevgD?;P zP-Nu?3{s_bvM&+?Q_KB829&*3`2dFaf09lf%hvnK9)_Sq*yqkwP68?Nkq$nQo z_fU`n$U+$jpea-LLr4kY(=0dL_nd2(iOH6D6HlXf18+qF4J!k0?CrRua2a7`r9NjEFQf<09`aZFj zZULuM7qz>lh}YO1SMYg|T9|4?n`m#q9wTph)Vvn1r+0tZfQG&a+(5O{{`~As1iTQ{ z1C7IvKl`uO2;dljaH#Q~=n~lj-G#}4?JgiRvBtO^r}7qz0Oo#Bc-lbEYvIN}VKdTP zg@DF}Z(%%FvYZ+oNP@EATDA#KR5;gBxB|{xTFqtw*qZtK6bgjJaQ>D9DKJ_9*VBf_@)W(|0K57Urg|yv`}!7!fMVVCycI#?l{~HwMOXu4 zD`g=OgUE8;Hmud3LRp%eu^@s)Q&pBncATl~Cbl=0hQ)t}l~>dp!q}zum8OLZS(A=G z3rOv|1R-F8=FUMYnlK6 delta 291 zcmV+;0o?x70{Q}wV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>utKFuT+M z007-dL_t(I%jJ@>3c@fDhWiFb;wUtv-4qhAn?fJPH*^z zO<&Ar{~SQ=JEXt}0*tYrff*YTV4gVv23-n_mw5^dsC)t@tnqpRMnobnVEPo8mK8by prsg`59f66z8yvkNd;osI#{=O3Xt!l9P?G=v002ovPDHLkV1mz}d1e3r diff --git a/graphics/pokemon/vulpix/alolan/back.png b/graphics/pokemon/vulpix/alolan/back.png index 0e0287de4b03217a68d83ba925a674e7df4823bd..f3ea2e305d7d2c6cf809ae1f2c58041c494d4a38 100644 GIT binary patch delta 541 zcmV+&0^F-7SR?2 z3wH-Vk7BHAK*o|49hwk-`Zpbj_7XxkB@ckjja=6oJLtf=l0xS`h77S|y;p$X1^_xe zg^b^V?4t~73Ic?d0n_OzNQ@9XE9sws6*ggP~383aM%~G%YF@_#t;$r5&;LSc}hiQmb=@~kI1E*<0q#?2SH2;qk{vWnGuuHCMPvsO z=@1=E0W$#k;G{Cnx!E^J=?Vam!7}O-AZH19BKU$V4;~APW`0hVES6m9UM|mnKVvbC z=is^9XFzuYlnC5-u|@#60%JuRSj^_^z4D^A8^Z6Hx$lIkp26eSyVumdTbA!h*92$nOWu|ivI0aZGr2b zbxrw?L`*~(9_AgePL|&0bXK-@dY zl`&@W4i_$Cruht?sO|3f6G5VeKQSpuy_MBcR-53 z6RQM(E3h9`DfN%{->BfV2M(i!;GG;T93_%WC3l1wj$xrjsE?4=iiggR9Y-<4yI$5& zZ9#*~bgg{~-6Tt~BYNPn7~0+K_E^}3IO5afV(ZcKK`nG15)4Ke~=ew R@Bjb+07*qo1w^hwV1lPX?<4>K diff --git a/graphics/pokemon/vulpix/alolan/front.png b/graphics/pokemon/vulpix/alolan/front.png index 38ab0f7ccd28b58c7e0f448fffd12fd6497d18b7..0f138a6841bf25423863f9b7900453699a0a3f0b 100644 GIT binary patch delta 569 zcmV-90>=HA1)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z?UX%k+dvS7*MP7{DUwKf?n+KAPVBTQNJ*_>4{0YbK$8|}mH|RBCvd0>7$%T1o!c}i za)Y!fa+}Q3KR~#<0s^G;Q@I~z-n`+6J?o$4IJ@8XWU!m?f}O;iIUr$XB}TCW0w4%d z8*l`qK*GKS;2%8bb!Y>B+}S-~tFQ-Tku(Xz`3^u%BK&l1Zs7?cCQ;J17Qlr70z6rD zw`PD{I4{K%mvMJnn1K@UYm{KzwdSY_#CPw%VRB`&@DuUw{5!@gD&QFQ&TGUU-EYLx zf;kcb4H+TgdG`x(p%MY`hKnCjgFa~BmIajvg?gqMh8{hT zgo~mF|?gKCSDL@Av ziOdYFlL)b9bXd}5QppD7#BLVTUY0`{_G$e^9H7@dy0_Sujp1zBk zOw7wSubX{N9$qm`Yg`ks$!Vz>92(A}#1a?fhSwX$3)A^jb%m?X*ZeGIM)7UYy`{@~ z(cM^pw(7oIwW$?gMYX-*1*@#UgSBdF`zw6H*t7n>82bYhQ=g!PsuUBR00000NkvXX Hu0mjfq@Vku delta 562 zcmV-20?qxQ1(*epB#}W-e*gz`Nliru=LQE4H!79lVq5?K0sBcrK~zY`?Ulc7)Ibo% zH_~ZEdA0?;*LR^l4+-rR_T9CJjLjcKa_rnXE|Kt=CkVb5h+>J7E^QhL-hh^Zw_(;v zknrwWqM*yToS$aC`DS;`*kk-_IL>(fAPC0^FB~P7%z*$FR$`Jke;@$DFtY)#fFcaw z&;sxe9`tc+1Kh8{NHJ9D0j zIj)oLTAG0p@oSu7(zRx*B;vdGx0qhoB>X_UIsJyoh6*@_z4IFJd-n_Rjbu&$p@vKl z@wEGixKfS)c*Dg{f2cwqnJNHedpP}@h((`I7!N!J9KH4jBIa`i>{tPw2m(M@3{;#G zkTw}FgfE2Jn?Ic6ylEOLuuydCpE5$hz#d+Nj!ZQHHlc3FP=At zoHRVskMF$)cDtElzF)mHlr>ZO5e7@vw6U!U2m)%RcSx>qv3(!{G zmy0&D0!&u>C@U^mWd-h~Rr_rGN#^qLxAkA*H&dUWg*^OKF8}}l07*qoM6N<$f=%)T ADgXcg diff --git a/graphics/pokemon/vulpix/alolan/icon.png b/graphics/pokemon/vulpix/alolan/icon.png index 62ba1518a7062b87908bce8efa7eab7dbb79bcde..f49562751b543e16fe7f4ab6e16e9c39cd406b7a 100644 GIT binary patch delta 401 zcmV;C0dD@F1Lp&fBv%J?Nliru;|mWJHzl%J_aguR02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL009e0L_t(|oZXT^io+ljhP{DzNcIi%XI4Tzgt!W{cWlTiFmsnk zR)sWFx(dW9`Vt#vJ22FpAJ1QX?_=y=FE_pKIi!bf0}C)Y9Nks`+yMbP$iEa|Je34m z4UB=L5^MB%#HmF`0F6O+(+WQk%wmN2e;(?VLimUo=H!zIK+1!^*>;jL#MJ}I>6RHd z_CUqxsa&Bb&{x@Km%hZK$iB=&g3iIggLB@Lr`aMS7%sb>J$HcdT~|M7{VEL4Xb^^5 zRI49B7z;G3A0!M-ZWD%P8-=NrNPa|N245%QnJCOncPfP>VQRgCB#aZylro|)FU+P} vR$*vbL6{PK=7(GSs~&HDlzTrG{HY%=vzC`F?Loaq00000NkvXXu0mjf&PSdZ delta 332 zcmV-S0ki(+1E2$tB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE4H!tOg zmeT+L0Ru@yK~y-)-IBqI!ypibeFNVixi`?Co`m`k;wjL5$A+8&+joiNRLDxDr$F2Z zjm<>%y0EM_KgQn~{e<|_EBgIjLKBP|m;oPgj9UTl1t_G0@?-!gbX(*L3?JE>Ju@Jr7yotrD2!xu5k>}7o(mIzM(4t$ zpWB4dJ7H?0Zd{mwLh6)f!rX0V){s@0+P=XmOjM2E2_u5egh{`(2veeGe#Du&dhGlt eb3bPMsvqC8mX|FcEruij0000N#(4uCvdMLHldZmwiRb$?K{f^wtP>N=zvQlrcP zI3UPJA*gsJFb=w6#q>^3tcV3p0x$RX|3Or4fR4vsgO7t$#g=i9ha~_LXh1pcmKB)R zj0v(0n7~wYY`|b^;vEr~K30jq^r`BH!00nDIUjFe3O>Rp-{s>4{maPQ_hbql00000 LNkvXXu0mjf8>4nn delta 297 zcmV+^0oMNA0)PXMV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>$nH!M8;K z0084jL_t(I%jJ?W4#OY}MY#cotmKZ_!q(g;Qk?r#0yYLD5+;x$H7->e0@*rrsLF)R z2iu>=*v~CaRL855Rc3WgNnhv}mojsqU#xXbzhio&JtAgBI)AmA5QqJZ1@Ag`*5)dF zkU`9}%FgT2)! vU`BreX8aTwb0P+&zW{maPQM0J!+00000NkvXXu0mjfs}+69 diff --git a/graphics/pokemon/wailmer/back.png b/graphics/pokemon/wailmer/back.png index f16af0d0fa0b28282c2389e43001cb35189a33cd..77b6b6eb9e8f5db7a8d4ba47877e426017407563 100644 GIT binary patch delta 371 zcmV-(0gV3A1Kk6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X9iQK~zY` z?UF%G!!QsCDkKHtOYEKXwHvLi* zDf9CG%-HOv|Iq{Lo+xwFiz%0zr%?Xz&*Q#S-@FFkxnk06c%~)MY|jM&021Ge6rI!~ z(q%+DIm0B*hZK0r4Wh??zF;r|p6IR(=7bP(v1sLFkT`&`_9{V2NHe${7cFKEXxooz zg75|@flMC&A>#x>q!D0@N6aR@`eNUQ+~MefP00if}$C_pJrwsI82Z5Y-7!0+nF z>em4+4ivDnpd1M}dk6sgssYZO7y-BoaQFQu025*hl?;~vC5zphaMN$Z*bjf)LS37= RQQrUn002ovPDHLkV1f+ho<;xw delta 362 zcmV-w0hRvU1JVPKB#}W-e*gz`Nliru=LQE4I0>*F58(g+0X0cPK~zY`?UF%m!yphv z@xqJlTBYp;dV&<}3ovFGMGACnsTIqdB`3(~vgw91lz}(~2PRcF-Q-J_CC~H!GYpK~ z^)GrtJrZS(TAOmYc@5=H|GaEV_0@X--YO=|if399&GWe+06^kd9ccmyqUu*?6AV|d~W6eW@HKnqn#ZfL+0AN7Q&z7F6J0E+6-XariKfliZv zKZ*W}1^|~q0(jK5U>=7s1dPNn7<$S`&;V%M6$L28Zmfd14Z|$}@Vh#&`gK5yJq2tm zC`SU$?gPM%HNd%VMgZ;tJe>XnU_xx6lHn4dWU-kO?)sg60Ds&e|a{vGU07*qo IM6N<$g2!?r+TJ1ctsxpiG*h#cObj><+lo3U zGla-(X#Nq!w>yK_H!mAD?<3^riXy(UUU5+;3MwIt68lno%3Elmtl%wkp;Ruo6X6UU zxoOt9qqAsS6;TC?ewcf!(tK`;?%4%#X(~~=A#z~sd}{=+y?h{t;n{-X{@1kZWDC$> z*zMX$07$okt1+beBOLMvA&BIEY6l10;6RHF4)ZP!G~nRV4>*MMJq{s#heJqT-z^R? z{hl#)T4MT+k0kxc@)6UXEFW<@%SVdC%14tu2*NSPgKTj5R&Ty`pJ&y{>01B*002ov JPDHLkV1i0Bch3L- delta 299 zcmV+`0o4B60)hjOV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4>%4kd7451 z008AlL_t(I%jJ@*5`!=hMe_%7wf%?Gw}xm8(F`V)nHX?UZ+9kQ z@7yeG?m_713Ij}8uPCb%1r%dOiG9gFWx*?ACOWbDnO;8)HcK z2Y$*Q1OcG`sRJBfhXXElI4p-a;DCcqKj0A3_c(;~9S$LV{jfO1^m{_cWsT`OK9clj x%STLmwtU3xEF>QS<$Q=K=i{8?fp)ljt2e%OpJxpzU4j4r002ovPDHLkV1mAqe)s?Y diff --git a/graphics/pokemon/wailord/anim_front.png b/graphics/pokemon/wailord/anim_front.png index 82218db3e768ac9b20496df4825f6fe5dbbc6ae3..887ecbcf368277e93663a926ed5ad7ed322c1490 100644 GIT binary patch delta 1019 zcmVBl~7>0EXWC$HjPRSkJq+Ch5C2?u9-c@jW zQiH)uAC&byf@bW}?Uq9SfI~n_mqLd7QT-&#wk*po6k0k|m>lGN_3HcN z)9FFzpC7p2BJ{BS8_-q*#V{ycZ_N&<8tuAD@6-`mp(O0m5r5k2oUf|b?ABLWJ1kb9 zI~}vbaF^m11Bl_1M+eb_Vn-or@9@T}35{N`0|wjBugjcs_-7hLAGYI(-bYf&_vn=C zG2f1&m=>dqxcB%A<7QAcDGd)Ry)y7prsShBfd08M%uB;iEVSNZpig--Vkll}!+^o4 z^eVy_di=tkZ+}G$#nD0=IKQ0DW+xuQ>nqsr0q3)0DdkORDb^rDh$Cf~C7>tD(lES% zH3pZ7QuQ;dtwF?Wp-MQFrNKDLB2*W>OIaltN3q6GH*s1s$P>%3kFjgWbXw15`1e8-IBM$G>jS`^EDF_=c*llw~l5 z-sTAy=P$D`SgoFz8Zb77Oxk@)`97~&8%0ENl?L&>J^MZT17}* zUup-y8i}<}vFV@+Kxi#8Md$`nQ(_f>&{t{JxYhZ(#4}4rYpMLCJW(XH0|Kt?0EE7! zaUxZABvg+gc64VM!^3R8g)OOFm?d6%m8#d7JDb%-8q z^8fLNN6)<*>p~CPH(%Xg2!yoW&pCm#>xMu&?)SezAYmJUD1HcA0HbI4fw30A7#MzN z2MogxU4T*N2QOe){Llgz6+g59hRqL)ygLUlTz+T(26qg<0T|`g{cFI$LoZ;I{P2#D zMSmw?1i{!37{%>RM*U8}2|4-p(rHX14q*8Bp#~T}ey9V6j~{A);p2xoU?_g50SamYhH!82 pI$$()7chJTPy-B)j{a@H_z7nb_k?=d*>3;<002ovPDHLkV1hP^-8ujO delta 1022 zcmVNmbbkN`bV*G`2j>O{4>%G!c*YF?00YNKL_t(o!|j$mYa1~b$K?b( zgbvoZ#HO1Rm!#V{SK6$01m5Ew9NZE}V}~Y7ju0(b+Vp~;8M}1LQs@`B5YXbKkij3S zl1_K0dv&2hTBtBFx0r1x^*r^d(Q2n)VtpP)^Fn{jW#gB=UfW@k0ox5vJI)Y8yH<2wzdUfq7#0*H_YQ8pA7l3&IUr&iI(eB= zD*hR|?&lqEto9LQ@*18{wSpbj^>DJ%5Nof#5vms^@I$BMCcP*4u8>Shsw|+Vr6<3LK|B2!hGHc(Pu|@%0TJmY&M%$7*4Lme)lMy9dpj_ zQ%jNqF~*LhVde|nmzI*@gUHdl^rfmkvs@0uW_PlLQ=S^MBP~L9(YoYW1no$2^i>n5 zIRl>?hCK+2hKS#11_UwcfOZrcqU1Bb>S=?8p@m{YWPcd$uikDaRSw7q92X6uiXhPP zSRDVnLG2ffBZyz9{7D%GUFbs`0mArYCI+L`xvl|1ZHTzpC+DBy8ny#{8@N#fSM`Nv0FlEt_Q}&7WB~x!aCH%?fl!yYFs`5PT<3UD@l}au z=KZu0@-Nckx=cAlfZIjxg8LDAK9{jwCVOOFL4OC&9z|+Zo~+L+J}(_Vy*R$Ily%`) zGF<^<%SGiCynGC0`)s+ayTP9=)dK(5)2tS3CJ<;&zDfc?b~Az0>zY99rzH@ljzAV34Pf*%Khy(;=7%Q0$n!%bU>N*R0~o<7z@RGuBUl9(^v?k!_LZ={BVs4l5evN7zsZ(1M=Li z01PkXhg~wV%YYGO{IEWl*d@S-Ony)ZQvi%Ae#ikv6+h$wqlzDLfKkN{dBBkTzzXxd s2pFt5!SjGo){B6#1Sn|8AUFWHik74$ zoDk{3Tc#T64cj>ciWG_U`bcY!*& zLh^9q0?C6O_X~LAB>S{QG3^9&EZ_x$SpJ0`lzOD&f>=uo`42Ghr=Ju^Ph6ycP78PT k_$psHZ3e1=#$izE14-0ZY3F8k&;S4c07*qoM6N<$g6j!qL;wH) delta 226 zcmV<803H9<0?Y!CB#}W;e+P6)O+^Ri1_uu~7fKQ`f&c&juSrBfR7l6|kU-kJWCQs1#au_|~tsD0Kk`CD~-|rvqAj5AJO#q3tSfaUtOsXh(xN||t zgC33xc%v)(xG^3C^iseJ1~GpN-7EEspC3di(Wf`S$e*4l&~5ipK*xm#dwk`8Iqn9; cK;=Yy0ZG(XY22AzEC2ui07*qoM6N<$g0l@@CIA2c diff --git a/graphics/pokemon/walrein/anim_front.png b/graphics/pokemon/walrein/anim_front.png index 014bab5ed5913f4f28c8a31415e2c1644b4f4e15..9a087634e152a6e55cc0f11e77970f752bc06678 100644 GIT binary patch delta 1565 zcmV+&2IBdR4e1P!Uw;MkNklYzi-<{6vs(PLq?s*NQJXVH0uNgTv(y4oytWr z*e;H7LV7jWK!9`#kjeT3vZO<&O#U1C-jVuY z9_221gMPh_-g|dP^7}Q6Zxtq~)Q!!}rTNlh#=_OT-P~l+Fn=h0%zC`f%DKSyW=V(v zJ8-vmi+MeYY_D5;A@2V9*W=yo&@gr4F6(v&QRU5B#uy=0txeHnp_G-@gKfq*ukuhE zVViN{thNpr>v^q^mop`bj6HqjdEV(U)Aqr*oHSni1HiG>^jdwdscrV?p!5`G@NH^Y8t}v@9f=45jHaLIpnwZ0h6&K3RJ-Qt zMk(S_p8SFN14`>z07sDhtrM3%;*ie+)`gH4&)^`{6wh>EZ6w5yrV%_NY6?PT!<5`3 zAYdUXE`Qq6Cy?G64W@@u5S=55h>(U>cE3zu8+<3ZXWo&=omxj!Pc3 z6%gbBk&Q$G&|IKRY1^qU2Sl4X(_?W*c|h#U&VRyPoKme>0rO*ZlPT5DVr2%jXFx%1 zo){#{!v&1+?B;-NT}ks4mkYyVHz54_Y=k&1>cXg$60Ghnv?$0pEvhKr z#eY1Om;?B81OK8Ly;FH0DpOzu%2phb0D*{{hRV;*(rEY<_)>6O7y>sv#tQBESwgCw zzB|b!J#4%4zuyc8S^zVw-wQSIHca!7U2S{? z{Rdqot!k(#XZ3Rb>W8oFYL&N|9OOA`Q%nx(eEk*mzweP8gJ9kR^H6yJ`rm?4tA9EG z>OHRUUoI^I1|hEks&`HNda`?*8iedR?@T_vY}SS+`^U;4fVyhH7(|<#?I#AIrENBd za}#d5v&pN(AZQljbi9i9_D`VymU0l;jXE7$2>b}@4eLM?k!f*SH}SUL`QZB8vn|~q zoYV`!6yTwySr7!e!vqL9d1Pe`gnv;mN+Y2FY7?5{K@9W#N^G_?wb@&|P1=foeB zEgk5BKZtgoB>tdo>X-g~@CW#qRQ@3E&PRWsj`7ALdSQePK2@f1QP+UNaKRr02Mz5u zSN=e01w52FZO7;>77Rw>4^Y};+JQ0JLilCk1v7(z>OKq-dvHV*Ac!&;<$pN<%TO_j zQ-45c+~Mabu_*sh@-zl%>>NxD#!dN`GI<|t%?w7qx<~fRU@Vb;&`K%VDUc`su{$*w z8Tp?E3h4Ba>*kr1h`KY?aTj_-)0c=YI1H-fKQRfT888>`3Z9~rHT7qBjZvf*{DGN> zIbBgb-i;&$0})Xju#@%M%6~w_H{{=*tG`-*#viQ6)M2RYpc+sJl)R@FBtqb(fiTlN zXtx?30kUWyT$%m__7+&>3>N)^u`Z|HK^3lK{e!WN9V$dwkUaljG@vYTAQUjt{X@Zq zG=4yP5ajp=!&x}iK-}sd3UKhlTm3@;uASTc0}{9Uhl2Be{=xXh{ubds!1En60Q(9P P00000NkvXXu0mjf>bd^c delta 1601 zcmV-H2EO^}42=ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;(P@~@YT z000H>Nkl7wpLq;9RNQJUU6zc>ATv(y4oytWr*e;H7MuB)?Bwqn% zk}LE8c4}M$DdH(XKY#JAYC#&7)Kl$PM~;kM7>P zBl&wY?Q1n1nGJ1ob7_D1F(F}VZ?~|sq-hvGCi`?iDuuxIW|^@O8M@oMrJ^}XWUpU4 zW_SPi^YQL>sOc(km-PFi$b9{V5Q0!unWm(ZkaM&1V4Dz1t29(f*d`P?ts zy0<2y`JouBcf=$zZ~7h3>h z6@PHWcoLY%;>9PNy?X0uKNib{;>B!0_>DygaXP3ArDBZ4=x$~TgU9KhlJZ^AFNU}Q z#LrFf7dg>e*$;#{2kJ1a>7WD%SmZQi|KcpQrfS_haDU*1N_cC!en_r1zCiv%u79FV zHB^$bdUj2l5ziJ)$!u^u$wT-Y(R8-xz27AQ(24+g$pA%zp}aC{x^x zgTuv(cPSe|Ihzx%i(q5uo!&u3IE2 z5q1};<7VcF<}VS>7zUQ{pMOZgWC7fSw<%7M^P2oKyv8D=Gk%~aVUFu^j<*wzK_DWm z0(P=~TM9&cEB@`9^q1?;`9Ynhh9S2DD}WKmcuy5162NVN(9?d%ZdtqlP*xyZp8f^) z7FcNpS%1*h`P?1kz-Hbbv~@9qiKK!Q`GeMkVUYt(0u$9A3>&(WKsuFItl|%vlR4I4 zwLche@Z**KV8FGr+8+e5+8+$(zx+Y_%Kq>#!1En62Fcjx00000NkvXXu0mjf7^d~3 diff --git a/graphics/pokemon/walrein/back.png b/graphics/pokemon/walrein/back.png index 2ace978eb28f3fcbe7df2383a461ba23a1b71572..ec0a57ab7bba845a88a26c7e5f61c22a41a8df28 100644 GIT binary patch delta 683 zcmV;c0#yC62D}E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0+mTbK~zY` z?Ulc7+b|HuEkA*-qSONEppl?0e}<*|@w@LxnqK^msR#f<9J6_djmh8F^&A0}!N|p> zPU$fm>2scmFZ7rXf!O%SAAhFwIFJZT8$v?}CJ$!>tjWOu3Izj!!mbeh;k;6MO4??bX^nTpngL*ol%(Nc0xs!ddHwA@WbBbB4`7YMe;I)n2KZ=jdFc!b z3HGFaU>gkVq>ON~v|I>3l!|caP7mnvg;z4lB6cBLdF;~K&j@_ywT@ud8fplrZV9Z>xVY1kacKW~W&m9`Hs^p#eRefgGeB!%spm}8;a?({p=gr? R{v!YY002ovPDHLkV1jFpGrIr) delta 674 zcmV;T0$u&Q2C)W^B#}W-EC2^|Nliru=LQE4I3)GLQ^_WY|NDE|7_Qjl7ruj&fUiz$POA zYh+S#K7xH|>;&)uHjz77cveRM*7*31*CC~|VTuWf?9DBMKSurRz66>5`T7qSD3nm% zO7+Tss0utCe?xsG9^#wVH-8YSk%JS6U#pv|HvuDqxP)bW`|JUTQop_JR^pqutkzfO zG73{G-QF|;u?2frF0Sk{EK{7)2eLH9ja)oCz|wr#t#Qnh*yB#$vk5o91&)%2(0T-T zqms5+W?JJNv1S0+A|+`!n1IVNSX_U54;gzT$^%&Ae{e?Ng#qb-BiEs<1bfmyunh)w zQpPx0S}ueSrD9yV(*wGE;gyWDm|e(L9=o*mGXmdvtz+0VIk|}mz}VA)zF)e{2r0!X z8;H3DBHjhT+5rLQz_q9F7fU?iRk&&{P)Z6WL{maP*30&8Sg1^}xXgsW!N8$b9YCo} zk$}=FXja-q{nP=30xi%dPIeA3E_HkVeBuvkBV?0wCe96T=e~g2WgXy9KSg~2kuHEW z)DTeJ5?G^gai=Ha(Ejzz0J?5$&H}srLfY!u9&zgw-0wS29Xu7KCEC2ui07*qo IM6N<$f>9wfCjbBd diff --git a/graphics/pokemon/walrein/icon.png b/graphics/pokemon/walrein/icon.png index f659ee87beea4ccee67a8b83a59a04d3155ef79b..8d1588b69a9e13bace79400a3e309f38f285b89b 100644 GIT binary patch delta 367 zcmV-#0g(QY1nL8jUkL$qNkl(py+)RWSt zrU{h6_CZUS-N*rR$5xFWcd89MQ|nvMja~JAl-l1tm0-cF6w5=~qK~_EVsYS&AKh+U z?0m@+;DaCReDY-i*60WGdew)J^}o)`OZ<)EBycf N002ovPDHLkV1mUAuT=m5 delta 406 zcmV;H0crl~1Ca!fUoij)a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;(Yi*qk2 z0004WNklF7_qh}a@xR|;DmB+}S zNx+nuOW8=O6^8duuJ;4VRgh@k9S1R>Qf7{A7}Ud(peYxK?IYC%G*Jm)ndc?8gP6TO z>SqAc%7T5+M#%rrKA0(_Vu@W(1Bz4v$W-)?p`$KBfEgyyWp97dBsdfp4{xawqppF07*qoM6N<$g2VH% AsQ>@~ diff --git a/graphics/pokemon/wartortle/icon.png b/graphics/pokemon/wartortle/icon.png index ba74d21afdd3076c6e255be7680378a12e7217d4..355cc0f84851be6b516d6bd6a348befa06374720 100644 GIT binary patch delta 293 zcmV+=0owkd1N#DyUw;7xNklc5eI!lhx*-)pf zY#mwoMMUIwb1XUOh;hj|q!AJW9T2zq>CUISdqVu7u(LO;zXkpa^!K60ug?Ks6(E1s zD{ozPf}91Ka<{Ra=hHpZ^~#fr#uGnSk% z))-<3C#uw;3{`LQ)A>$!_Za&_p+|36eGBXjv}^aru7&`xbbrtnYlYP&y+EG@k}~tG znL+GQ8X~a}4lL6Sv==}cFjZFoMAS&}4yekm1Qq3+AKqGlp-Yh?$BpbkLoW+nZz?K% z*F4L(6v?y)^DlLfMN(0i+QN31ilmChJ5^8WVHVBLKhZzoi$(pg6Kv7_*dmC`=tX2Vr_}7h&K>VVJce dVI2B}A7|x#se|`@CvX4&002ovPDHLkV1go9jz|Ci diff --git a/graphics/pokemon/watchog/anim_front.png b/graphics/pokemon/watchog/anim_front.png index 1bd13da9643b105d24a5072d54d6b82d2757965d..c47a88e1b1af3e04332100c0ef1b6c45f37f54b5 100644 GIT binary patch delta 949 zcmV;m14{gq2!;rdUw;FUNklwNQVv=BDfmA_veCe-}kaO z`YnZizkKh#?=J8Ag)uaI{NGs=ZdC0+r9uF8{duoas%@Y^V}G*_OraWvAzH%ab*xwkA-(%T0U=u98Rw7oc0CE8Tex<>`OAF(3PgeH{SH6q@3sNJ z+wh^+>FoFSNT7Jy^H*2(e10w< zNTB%j+x@#j$bSmAdgv*RN{|;P++$4~D83ishxiVsAOPn0l!D`?V^k0f(3Q#Fs#W0(|+!3ILekOMmz+pSS%qVXX)USZnUDr2sS% zJns$$^LaX*u@=!tH;xCtr-PZB5)~fCDiSv(w$SK8dcfN>z*V$c6wrJt^W8Wg05>)f z5PNhUtMq`A0GGrs&Jz+akq~>#fQSSpO8{0@_b8_t%~-(e(5sXN9G?0q1hoQl;KNpc z1!)>sR(}9s$8)T}%C_h1SXPh#Te+lxLb#p19BBI|1d!Qsb>CRfLwuve`p|IV1MBsD)I(VT=<6ua$Ojn8~@O2JSK^?IE3!fU$=}1IQt?J#aO) z(SJ5*d!PYh4>myAgCEEgI^BIo*@N7rJ3%jWcj~XrH4veGu+Rsnfd4ko`T)Horh8LQ z?n4r2=*i7J%0P@haIZxGO|JE!NBM)&4e8L~LIhXi`xg=NzJHg+(Qo~J_q})Dy}a)i zLaf1vGfLNLZlGF4fLK3ItCjk?6=-b4f+^LaD6*FDAqI#yN+N%kT7fo*NJuq`)~qW$ z5$T=h3W%%~o&r4F-Jue&ZsE#4z>7Trl#l{fdu`b7?IZ%Qx8Z%a-QMf%qCoki%T`u; zuf%7lSb@QS^M9k2*NyfDsdTKs%abAhbpKQ|B1mk&;o#XB7l8uhFJJH7;apa@*|omK zVMXNmF;LR91Lb#|f9K!CTOa`O*l74x9ySahha;Zm@?0bsFy!C_2K+RgI+iGlceq>v ze9m0Jhao>#0Jewb@HES2R2*JA;BOAkv;G7Jyv-l$*?&PH0qcn)!S!l%o23pQVD%c{ zfCmALnFJabz~m1r6u{WN1Zy!!Sdo)fY6nPb##RdfG;(|1@Aqf3VlpKyq>+A>^?yzJ zQ@=neJjhh!et~SEu_@AhNN@mDBrObRzLELOEJOf5GZ7+t^d6~nA5Z`!@e?3N0TVfO z11SoOmwx~xQ1>WcjV2_7SoEsE0S^jRh@dDS9(DpGEQ-*vf&jLu=LBwSQE%I^f&|Eo z3mhm#9Sxzg?s1KHTOGVWU0m{&2nWO+PfN(GF^v+#2py^OUthgO-9woz$^X;vmMpeb zbpxVnPGC(a!uldntJ^l+2`3~YAbD&NU|9>z?!}8VU{xJtA<{t*Aq5fe2iu#8J zYPf%x)3q?r{`iLm7P>GvGyb91SP+CVH~s-J25A2f`XEbqnWcjE53T?|TX@UCk@62y z!2*;=%0KvVLhJzfsQhD;Q2pU3<{#8t{M4=&${y6kPpx{vFXuoP@sG>}l%+k)%pMYl zJ%6Z|NHBXSrYKCQZ54|13O*m|M+6Sg|j zK$KwAjV1g#HU%pc4ivMx3lSB*X-*xU<@ zKBOUXg$8py!2ajW0d#PN%K#5lCsG_3w>)E+$7gep=3@9ehP$={2VevPA0*yIF00Tb l{^0Nn?GKLO{@)*5@f&p7){@~Nk8}V4002ovPDHLkV1m_fwkZGr diff --git a/graphics/pokemon/watchog/back.png b/graphics/pokemon/watchog/back.png index 8f2f11964d9a0241ef00973c1f62cf11eaacf542..fe13256455f1296675266edb6ad9bba8cebea598 100644 GIT binary patch delta 619 zcmV-x0+jvN1>*&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tl0z64XK~zY` zos_X|+b|G@Nkb1HB~nMaO@Qoqv3LX* zLSN$GZ3n1)y#=hM5@WMG;LFbqh?Ezg@_c4$!y?^bmCgeGjw8TI3us$P`apAJEJ`gP zp;OWyiRJKt?XW<-PZCc7WN)|l&JE0lg~8ihJOK?2f0!Bgaf%7R`~hrl0K<+3V2C2z z$%APLAo_lW-tn^oB%xC1324l4BmpqTdrV+@3dovMVS!%&P$f#V!Hw3&81?d*Pi|^V zpsIodO8Dt9L3nN$`ZPzRAP(WV!B_%N;(CujMFFQmAaL$zAT@P70)ngo2QL;40Ck6_ zH#7=Ie^&}H39Zm+IMvMV#sutB3V@e(BkZY2s8;E235`D6u{<#f&`V>1# z#Xth6at3yU22?o%ZNX@jBhmITtx~vkO?A?$oGux1BCN{kifX92<)E^*>&?)9P=Iu; zvMNbnzrFxlax=u-%a*c{>Zw(Ic#)1K)}LOa8UGuM{RV@_2Vd%C8SDT6002ovPDHLk FV1i!96R`jQ delta 602 zcmV-g0;T=q1=j_TB#}W-e*gz`Nliru=LQE4IRw|YLLC4A0y;@VK~zY`os_X|+b|G@ zNkb1HB~nMaO@Qu>UO)tt)rA3Z=^!Bp+V=|JNsFJ!fV{FWU@aQV-jR}AljpkVEjG;0 zcmIEPBxC;+PxpYw&-Z|r#ov*~JXzsqS+FQc8Ix%MtX3!_t9YiWRfNA*SI3K|uX&z7 zK#okM3L;bS6~J>FFYryd*asCb;9oq``k+)DdjS850QwLbLaE9J9zX=z;CK!>DyqcW z3_yzF8c5y&_<~;?&?TjpB6)Ti<#>}(0ULh-a0T?*S-q~Ycm@|jU*h161601<16EUs zu~{DQ>Bj~{$_r3=J~Oppk?yccX90iW2(Z!u+Ln?&&>R_yQVU4vl=N3(IecI{EKu*0 zr11B;Y`4X{FdJg=dAo}zprHXX1K&?E0hm94?Hyp)(Euz_gp)j&mH?t}XXqV2J3xOD zDutea#tcUi0CT*@1g58etT`1H_yqt}qC^|qXl;y9ueW@1Q)2>E6*qix(_@10-dLaJ zh!n&jyf=2>0F-#%BT!MmsSpU9I~qt$9glz@Yrw^eMFT+H;q48L!qt@mOhPMk8g8|l z#sutB3Vy~8U8}5064p8~^|S07*qoM6N<$f_&`^v;Y7A diff --git a/graphics/pokemon/weavile/anim_front.png b/graphics/pokemon/weavile/anim_front.png index d190e4cef9ac546f6b47d4f6ad1c9d33ab27106f..c98cdf5647fe73781c06ecb2bfa8f8a0b949c6aa 100644 GIT binary patch delta 1270 zcmVK~LO96vv&F&`4Dd9q++almqr6A*H$O8a26= z^#{m>%~s;NUV?hCS;1tDuYh~(3C+SGTw-=Wy&~2esH$|8#UG%m)N|EJ`3`+EHbHo1 zmTUSzTEzSD-kX^>^M4q|muHV`)0yYTjU~@B7qxz~-EMiFw|}Z5YVL~50dMtdHPCR| zZFh+StC|21p#Z$ag;z3Q*In1eCa$lnwp*Q^Ol;wL69a&8z0vA*_o_q<+n8Gj-*(IQ zlRXJA1z=%oWMkj&k!lGTLRgFgNA|P#y+Epw=eH=s;gFs@W0D_<{1&C`1c0a-zXU8i zq;xc|7B7@e+j%50yC#6n!j!!_z~R z-!P)I1pfF_4WM*5i2xY=r2)w9grz`?KK-rmI*xObF~&khkA6uNZrFwAj054APUMqt zo2FyqWyaFM;NT;bfri6RGl+orZgYIBsE=65LY~if8BB4QKy>$$ zBz!tMjc2L6(T-yvzng5l#!sh&C=SBL4hOmi*i_%$8pg}LjXnRMX<{V+A}D(=t_(PEui-GQvn;!S4Uz8@Tzj{P z%_z&VYkyUC?sxgE_%_QF-CT2T0dfN&&gB?Rk-;K7MV4L31Q`H8f_S<+AyB8{tPvr^ zKzTk53=*BGnt@x){RU$4%TPwibMA?B0D=GlV{*rr2}A&t&$PhQmbD)p{a4b06GWN_qDX0wGZO+ZJ^nO?OtDeDt~W`NYT;!+4TM|dSo(fZ9l%{#!2`myJ# z>fEXe0MxzJb{ldCuIz9@Euo#wx(uK~*#WRDY`QJE1dN?xHW;P=yifsra3}z)F1Jr8 z;(tdcmPHTole*l0p@=^mF^i7y*pvap2@{l^@o!794}uupD)&1Tfg?69beq!Y{T%QR z!{%-cOWhvRW48i8bZ606E_M4~dW9=h+KvNr>vPiD#EW*gySq7zf7v zS&rwxPeIrT<+}a;*x0U2YT_JX&}|qXCV!)sLHI6F)2l@+eYts-U8SJ#@OGC=MO{C6LqUdWb|i#7 zg)ee_mwl&~Bnj*f`3lA;kaZHz$h~&h0YOgoVg1C$gs}ssU+I>e?p~7o1OS8cB!4V? z5>~buZS?njLLwLwp>fHH)mp3oJ`uwyFue6iSZ!F;NB#0g62k3iRoe}gd;2SN{+s(E z5YvX*(BwS7hW5dl5yC*Ann8`9y(Ypg02kb^2~YrY{KoF&{N`egA7z*H_-0H0Qlbo6 zavIK$a5N3)GU#plAz)|y!vhig2ZjXH gd1waszYY=q0onTpDo+MVdH?_b07*qoM6N<$f=J43)&Kwi delta 1293 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 M07*qoM6N<$g7J5W`~Uy| diff --git a/graphics/pokemon/weedle/icon.png b/graphics/pokemon/weedle/icon.png index 686b1e83f3b53e646f474e89f0b38d8d34f8e399..f6c16767ff552a3e467cb6ae5e83878b4990c85c 100644 GIT binary patch delta 88 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 delta 754 zcmV8Q`dOWaR_XV%7L>uPLgXsdk^MSPHGTe2$^@mE&vx3*#=O=d{>unX2$1TAU$}EH+aJz z2l{n{IsNe|)P0@G>a&!R)&S@e46I>^%<5n@Nx>LY_?yA({;n0ys<&*+kyF z3!sQ{A~nP~46umF41QAR_dp5bFj_iL=~1VMQkMb-vKoBlEzsBLs=(|p~Qnx|pB{0>g-6ei09y*Wg0`HqG1JFr<%O#(xWxW)$f1jiMUd!EI>DP+$1K>?e zTATPzlw1`U2f@&<7M8J{+K$+6WjUv;27@(TRJYryvIYW7vSzu+!1hY1+u!iX zG694Pz+meFE4A2e(Fh>}aQc}0?8@*co3J5~sDi`(*+!w&_I2<-nq621HTxd?5b{ kPX~boYQ%UjP6A07*qoM6N<$g1xp(o&W#< diff --git a/graphics/pokemon/weezing/galarian/front.png b/graphics/pokemon/weezing/galarian/front.png index 0110c341039872087ab01cb4067db70405460301..c66352bb08d6fb8c20ef66b3a33a509a1c6dbf50 100644 GIT binary patch delta 1175 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 diff --git a/graphics/pokemon/weezing/galarian/icon.png b/graphics/pokemon/weezing/galarian/icon.png index ccb2a9652e34074224b009cddae90b8e5ee071e7..79c7dd6bfed1069c39e39bdadcce1cd91a8105d0 100644 GIT binary patch delta 423 zcmV;Y0a*T?1d#-gbbkSdNkly|NSmfOr`n@MQ(G6T4A zw4gCZ=O|GC?eZ?41y|oeKG&d`rg~{zRtBL!pLIVXS&%j{k$)iVhByZbw&v&{m!Xl8 zf=U|nwu|u)rdYioR;6|n(mGk794A9(JwR+Ik2y0#Us|h%DoA28w8hZU$0+Z;p@xSG zPZX>~=>7UtLbfeARNYFtnyZvzCk2PsCn=mjcW=j!GYTttJeV*rT|d7ls1EO+ep4HiiE7(?xpdtmZzI{^}a*~|_P%*NaSV}1fAGgFPhH%~R>W)dQ~ zM_^j#jEDzD7MS^Ms{l+n0TcZfVEkoofpJmY0E4V}Xdq@_#0bs!BJTSRns2)R98V!u Rd%pkx002ovPDHLkV1lCNzHI;i delta 436 zcmV;l0Zaao1fB$tbbkN`bV*G`2j>O{4>}KPNXS+I00DtXL_t(I%jJ^2Zi6rsg*~ua zcGn8TO~weM(7906BT617Lziw{@?4QeOMM2Tj*)R7GwwA%328fY>C`(Q-Q#2X`0^3* zyKrL-PTV9URUDxl#$&P$AheW+oY^s# zF}kK2;?Rz<7+SgzKYs|w)`COXE|uSNR!VM^5mlOq4@;6031)sQ0000O)6g3qn@F#2xVqZJs2LmMg%eR{i z;;H|wNZtvABzi3&nG7#NAkpe0z?8+}63C+28#d=^S}`jn9ad~bPD)lQ0!T}lys zV8LcEFMYrsv@uZS?iO$i@T_-ON=eDW&j$gbJLVt8{h0% zhP012Dz+&Ol9!Mxiqn0uRVHmG0}IgVnyw4qhBQYxY=QjEUGQFiIza9NYvBR9V!*p} z0LoG8tL6@-$btb{tBQcJ$W%JOr#AZGyVw%Y52;ak541T_3!noiMLBTzwNjL#=sQoH zuJpB}et%=9omnKssXJaXQ(e1AjH9Fo#(_d#TM-l!)1yA9%4m)tAbR8wKLVcmgM|16 YwZj5YI6Z?_0000907*qoM6N<$g1`2;)&Kwi delta 416 zcmV;R0bl-?1cwBWB#}W-e*gz`Nliru=LQE4IvtqtxgG!j0cuG^K~zY`?UGG$fezHI6MTl)9r`>QA59hefjf7|-D0l4x<4O*?{ zfM~h{u-%?UfY!o;!!&S&2qt@QARYp~+0r1;j~M{dfe_1MZ(sw7Go={O1r}@tv%&?| z+&~rSGhi9uMe!8L(>Wk!mkL>o#EM7(QPov}VTWuOfJW+4*Tt@@Z}+T2+|+9ob}bH) zN5~Y_>AH3)qx&Sie-5ChEBajdHl#Vqb_?Wht{hdMrJt}?E+`)v* z8KAW)3Ft${(gMD;(GTCnj)1fqRMr64zk3Ei3s8!BVEbytC`H~(o+e%DTS4i`+_EfaX+T%cTUcJPj3^>j=&xY=@i5$U#&C_p~}&^bB?#d4F=w zaff=+?rQB^BbWPFEY^qq)eBGnA>fmt(Fl8&4N(DQBMh11-!4Te2U9yyI*uTWt-FL= zgt4<8QJ6%jZ()p<2n!=G$-)ST!aVTH&BBNuQ5bnj7N+C`3nK?%VZ<>OMmnM}{d_z6 j66WyJk4%8y`0)v~5#Ygk6N&f$015yANkvXXu0mjfbe(_4 delta 322 zcmV-I0lof}1G)o{UoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;|3F4Cj|6(*!MSuk%y=X?rC$j=o!2;FEvB6P+oMR$!B~%!jw1+T%O)WgVQkc65++gVM;N1} zgoTk!vM>TBVIFvMQJ8KajI5G{$-9Lx@(>nA9AjZ5V-lu~-O;x&$E6?iTR*-4wGrUK U248d@00000Ne4wvM6N<$f0kceXeHpCqklIx&= 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 diff --git a/graphics/pokemon/whiscash/anim_front.png b/graphics/pokemon/whiscash/anim_front.png index 3caa2c05e1d9e3062b7b3e0ac3f22a11fc02b77b..b11b3a8a73e9185f98e7a58d758577f38f2bec7d 100644 GIT binary patch delta 1161 zcmV;41a|xT3D^mcUw;H+Nklf4D-JHW(RyR!E;6hv zkN>ltK0^s&qno8eF7EC%d_XljUr>gA^kFL3+1Wr?I-Lo%d#DXC>P! zQXMJ$K3i0_AxhxqXE$bP&wZ|fe`GP~F;DGnq5h2?S@hf_LYWjjxz#*+J4;m5H^VI{; zOuZFsUkZ3C@T&3&D4;ueHY%-NJLFQJOQr>&gq*q&GAPP)@ z0E3V*=V6o~_G?8ggnV^PTYo0W+kY*pqp1YHId9}GvK9+^1V0}= zq4fFU3Kb(lE*LBCvKk7C|18o+>AS@>zQIZ^*!K=&FR(}P-L(-c7E0V98(07ZUS;q3 zRVMgZR}&j$pE33W3{iSYv(POdhRy*9a98~}$OL*wN?XoO$XHiy$%ti&P=9ot9U3xy zY@-tv)PL3QL8FVG+_Jv|yCFvECN%qu_2hMFU{}v}eIJYIGqIjs@^6@li|A`ehft@k z&V)Rh((&;{nxFCrQ?wIzMp^*hPI-TZ+3xWn=a)W>>0#2TS^8qduqkccr%95~8RyYU z+mGSP)LfgGHjm>rPh;PwBl-6i%f0QszJ5yg874v;PKs!=DO5fZ*ekZjI!|o)Dw8 z0^Ijm_P@M8VBqxvORUd7#6$eY_>k6~pRam(JsvGvJ27~WMQPdEGdwT=p=>SnVS@)5 zKz}IX)YeW69vFZ~tyx)nh6e^9Qfn?~AW8AS07U85;!-@2%krvs%-`Ta3J`Y%DIOp| ztO#!70gerVlG(mHcmQK(f*d@615|<>Jiq~@AP)~Pn~w)tu$_ko$Pc*0Ts%O2KmlH~ zJUn<^s;V(;|03^y?8L#NCAU*Ptnt5Ea5@t^e1Om z@&hTv(zDT6!@%GH`2Viv2fzap-4qX6;Qt4PA5Qosn&MbW5D!|e1OA`#Lm>KM^!d%r z&3ii2cu?{8aIK0Tf~3P`UP&Y#09^=x09oHkC>=-N-sq5c0Fg}NP#r6rB;bKoynh!G z4?=L}q$BE5P=sDln@0k+L5vk1&{&$g^k5K#O@0dx{LwNWh`}p9T*U)>4~NKZ-ncJZ zg9kn22O?H39=QJyZk%@iedGfo#M0FT_fPo&+<$*_DYYb0`~ZUHy?MhAYuz9D;lcg? b$MG+}bW#!(-dX|x0000ziT5$6vyY#2864uHib#26$cmGXuYv<7a3Mw<=|2%JCU$CLc%c$ zDTC};RP71vX>gGuo$Tf=oGfS49i$NX57N86I*rv`?YuWLyMHU$UX>vMKQNZ`zWd&r zAJX?j$V2@5@yPsmZQiWdwfeez&2=4XT^^n;)#Pi#(=G4h>kjt#=zvK@#dcTo#8H9{ z<2(X+)wSy@`I1GX;DGl#AtBoqacg>gYWk8@!Xb?w_xup+x#|IErv8;oR|$7g@hbD)0{HlXEFJ3;Zy@0X03NL4TW1{)F^=az=w_ zMIc9L(%-kv?fK*#3TRhl|9UNx_-9ahWZU*&xrnV^_ztT^Eb#GclfC@^4rc7va~C4xmm`oe6n5rQ_p^G(Y7b zrf4_rjVp)=0Im!=!Tn`w4!V%j>6 zJ3Nhj(=<0xoe9dK%*EqFneB_26f_T$tbf)p3=I-HI6@Nc? zNtesKl1MxNx)1;Xvc8c}Iu5_R(IN2wBALd4I#xJIzyq!LAS50H;LJ%^G^L;ny}}L; z1#E*DD?FgFG?!UizuQ_Xe03|`Iz`Qj-taX3nhX?on563^hbW#$I!x<$20000< KMNUMnLSTXts5u}2 diff --git a/graphics/pokemon/whiscash/icon.png b/graphics/pokemon/whiscash/icon.png index 40888dd02b09ce3ae4227f2f9fa9aac1e9468207..09646263acbadca6e865f7fee761703874d97dc9 100644 GIT binary patch delta 276 zcmV+v0qg#c1M32iV1M>WL_t(IjqTF03c@fD2H?Cw9-@*iK_-0Fcdk3)5g{ zhhVvgfoX>+**u3P+_aF0SlcFC)pSBiX{mr2-3d{4m+%Y5xn6hW3L$QRO{4>~(a{5<0T z008nyL_t(I%k9#!3c@fD2H?Cw9->nxXD1hDyXfH5*U3=o(hdhgUMSdCa22FxNFjmH zvo%dp3$B7-h73Pmq{Pv=95vXk3F&1QMD4~~7r{vgUg@42l5Jai(kAs{#2m)}; zI?Shl)>RGslrt+`VCutusL7ddJ^i|>jsTs(W*VCUK$3O_roq+>!Dbx;-3(KbRSw+W zv=E3`8}6^FTPB1sp@3-BGFG-Xe*~da?b>pS5PyMUUp!{-AEWc~laTz^yC7T$nt^eG zte6XWfw@LO4lxV{K@QAJPyl1!z(hd-j2HA7j1K}Bz62w`2IdKL{L#~m>w-%F0000< KMNUMnLSTZTT!ShA diff --git a/graphics/pokemon/whismur/anim_front.png b/graphics/pokemon/whismur/anim_front.png index 8b54945c6f471c5c4aba19089d4467c8938556d9..098910d89cdd28ebf7c509d68149344b71cd5ece 100644 GIT binary patch delta 660 zcmV;F0&D$&2ImEkUw;B}NklaTf$v^Fau3 zjR=HT0KDVt3n?GNE5N6`EQ`lQ%odOmiB)qAkY%ZMnQiAV1%Eyppx7J^*n}2hN?2fJ z0e>y0gpc{WP&*4qS%~p*3{WU6aL`pN^E@9P2g|P11`Fr~w8)mv>F61)QhNLT5D0+f zI>!@>?Wly-p7(Yp98i|!^9XQM*5GxBRvKVQ08NDjAZgbKlmy_L2Vg8!&H&IytMIKp zO@SKb4oH=fD}SQN8d8%+N-L!(VBYM^|G^L&vIUcKlqL%J;Cisnp+?UfB3fjPrKrg= zz+USkus{;Pvg;Zi$i9d1aUViFqXB#mbrLQY5Waqai~^dZw&m*|i68+#bC(std^|2a zAnbJ}nV!*r*N7pgX)z^cL!K_+?OwFaXASd_@4m@MYkyryrUlPeQht21mXeqz7j_I< z`NR}3#MXQweEt@xa~ja0locCdSC!z z`=9inuQ1*Iy&f3Bh{)~l^uP*6x@Nb(X9Xj%dO$6Adtuk~pcjmU)q`FzP(c_y7z6`L z(0XtZjDLjFgF!GDJ-84IS`RJ-gWLXR!C-*1U~vAR@#i`v#@h)-*K`V1S4!Mj+0D!K{Bh u2!_yP{v;S8q6-**FoL1)Z~pM##!ofA3F+5ZVhuR}0000TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M;?0<$)ld z0007HNkly^fne5XZS966p+1LDDfaSXbd~Xir*Umyz-ahj;>{bqOXCYj^o* zcms>_Qs(6{yBOPN¥*ZkEmD*qfy@VFo;yJ#0Myr&rK6ah}NXraYEUK#(T074Bxfp<= zD4r`~Gu))X<9`sXG(buKO^pp8YD)wP0&vX(uu_#V0354TxU1`1U<-=@h?SD7iUMLY zjFeVNQNW_vng4?!Hsln{*g)xu1neB_bEsF(EFxGYjio{c*lT?N7Kl7Z`@Z3U-7AkzP&2geS#>3`G%BNzdh{(~M^ z!H7#X{eK-R7?IV3B4rM2N)L{L5wUu36bw`lMh`~8z!tO~oCG7{^k5VWMh`9ogVuvf z!Qj&WEEo)M77WfGH2#K}&N#uS2f-i#6pXO%eI7u;i2EKD!DFr%3dY|1bb#=20nv;W zjM@)9h#y~sm`w;qxP>3-gkXROYDOT=g2BYU9w!Au=xMrrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Zd6mK~zY` z?bE$(gD?;Wa57Y4#2iCboW6iL2KHQ~j9sGUK_an2s1(0K-?lbj>~kB^ZW;0)b3fnt zgCx&9c7({*>rx86Qr}3EVnsk@KuO12^%M~eDd?U3{Bm?F2DGV4dSi17ntP@=MGY;?a2X!tbrPzI<>dLfolL= z!UJI6*AKuZ0voVjfUl$a1@J^OmKXjz$nJsWpJ4e$ZXM$%z&^WV11@C*h=_q)W(<(c zJ_I`kYKjH0s~BvJ_!M@IVO(2>02uh3Ds?!bi-GuJr`WQK>h~z3d*IKRj{hgM2B6V^ n!Dkb{CcswrE8v+&NRoU5LAs#^LM%i#00000NkvXXu0mjf&;76X delta 378 zcmV-=0fqka1L6aaB#}W-e*gz`Nliru=LQE4I|-XGTp|Df0YynfK~zY`?bE$(gD?;W z@N}reh&hI=IDG+g4D7i|8M{QygG6G5P$_~k8UY#H(&b3g9{KyvzGKffRC7d@Jk1%0x)In6y2f1IL-waBC-I{5%| zzlB-&2T{9B2tj7RL2KPQaGgGII~RjOrEvjg2TTKD&<>TY*G=PAna%Y9fCtV8JE4?? z48fIyYy!&yOoOJe0B~;LK;3E&^ayssoMF3({%%edC}a)Pc-4tH6%K3zXu}5p=6>A( ztivY+<^{Mqs(%1aaC`fP9t7zcs2>FV4Nz+UyL1IyiU1H11DQ-2Ad|fhb_`S$3SdXk zn;P*cY#;sjZRG=C;Ag5-{)jdN;+O4W%MPmBqljK-GX9@b3_z^`;r?v`Y;_j_uRKTo Y071H;1_ZukC;$Ke07*qoM6N<$g6CSFQUCw| diff --git a/graphics/pokemon/whismur/icon.png b/graphics/pokemon/whismur/icon.png index 74b06276d8f83afb23a0d69740b6622e21dd9739..d605398f6f4066685bd43a7378390e160c986b89 100644 GIT binary patch delta 217 zcmV;~04D$00Vxut%9zp{8_cV!UWH)dPR@}-U4y} z9(>q>IU@R?R?qM~26d3>h6pu+o~P>(YQ!=$9(4<)UB5TiaZ;j}t|cS=>+>oWd#9bUjwIvRB)LKxuWFK0PtYBIT#tK@%SV0+#5wwEQ99#xd`iP~E{+mADZz6eN T=QeoV00000NkvXXu0mjfFkE9` delta 257 zcmV+c0sj860@(tPV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4?7M8RLOw= z006v6L_t(I%k9!F62dSL1>oGE$EAwOK0~5|D7M`bVbEj{Ngbu4OIp+2C=7;SUEUf;9xMUDdeM4; zjY#4k(+vS)3-df(TQo*(8rq}|e~8CXUspEWibwOW&#QbcR)4Z`=(V7khLBh+o5|nd zq#%FEKBOSt!1Nl77PNxVf-)E-XagfTR2fX^Ba}YkH+{STZz6eNyPEEE00000NkvXX Hu0mjf44!P` diff --git a/graphics/pokemon/wigglytuff/icon.png b/graphics/pokemon/wigglytuff/icon.png index 427f6518cd4b94fe539663458911218f88999cc1..c7644c6163696712f4f7f1c32666626af884fda2 100644 GIT binary patch delta 250 zcmVaDo}!Jcxr! zp>JWg1lnS^6k4eja>=A1qBnlr{dXK6V_z%Y#9$fm3GmhfXa>ew>48z$aJ}^*&SK3E zXAgQ?sm>^}#sD}=mOBl5tqJI`LafO|fry$!Bq` zXcUGTGzmiu`W0bzu`uhmg&F+_gn9Zw|Mpow?mn}{HGq=5%K!iX07*qoM6N<$f+b&X AqyPW_ delta 289 zcmV++0p9-70{8-uV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4?7(8?YPMR z007%bL_t(I%hi&x3c@fDhVul?JH*XF!GKFZAFl7>aDo}!Jcxr!p>JWg1lnM?7Fwwl za?PZJqBnlr{RclEV_zHYW3Y_)2zVU;_@1#^24FRMZnhz$aer9x!#RM?mAbW>ys-d{ zBhMQHdt(S_u|%xMMUIGuL?jBc90_oUX^Ids>Oy6g69t>%s3t&4g%(1{O-hLd!U~_s zm74$|#DbnQS0UzPf$@F-nzq^t(9@>7Dr(+B1d@{d!@OY7Ll|n%APhBV6owk~E5htz nVb*U8Gx#wP<{IgT|Ck?lKC{I&*Ev*%00000NkvXXu0mjf_^f)0 diff --git a/graphics/pokemon/wimpod/back.png b/graphics/pokemon/wimpod/back.png index 8e9587c1a2717029562c604459a2c88b3f6f77a2..8a5a437dc5550356afdb3759015cce9adf2306e6 100644 GIT binary patch delta 465 zcmV;?0WSWq1iA!}BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0h38YK~zY` z?UY|`fv=;z802SKQSL6Uqbt4?W6)qqLXliz!jfA;vcZYv#Sum-6^h*Tv z`!Vy)K(y}qlkAI=L5t`5^f(5PIa9>W^{i@IH#!dc`3jm<*FVrPN!2bovR{cd7uYzufUUFnqnTL&!Luir#@s4#6 zSVo}j(?882P^va8rwIU5k6;R5^5ahdGQ{Z`5LkEpr!4CSSNl`N)d<)c00000NkvXX Hu0mjf029lh delta 457 zcmV;)0XF`+1h52_#2u z9)Ah%;%14(v${Qw0q$H%u0Ni_zm{SprFcArl3LCRNNECaSE2Y!f5K5fNpU!C;&vdq z5pdVaYGjwOh;d+s4`oUz&YXB{U7k|HbxIkwCcv~0hNpE-d<^t6rG#kWY)B7c<7N#b zhl=!!nZorsk=6x0R8^UE#KzoU-+QVXN_UlLGFQNtc@Bf%jq7wL^bYur%tI8)Z?PN# zv^660jJz8i9xWzNe`=0^4o#qjlDsD@E?yZOk4v0yIY>zR(HVEeGU@bvK z)Az_+C3#{bbHq{z~HnUufcW^7|?Yu;H53Eh_>mtT(B(<^h6a8 zTJ=3n@lXlcH9qd6JDr_1&A}88!{FvMNoB!fqE{5~SapxKgm1j4{L8$20y;&NlOhdW R;s5{u07*qoLO{4?8PPP#wkq z008SrL_t(I%k7dejsqbKMY(~Mv@3x^8;Kk*MWne?rb%H5u9Bfify6+S!qRwIB}^b~ zw%c|0;oJJMpAdhbfO`dmsnJ=HYaNSPZ25;&`*O-Nv!I#WvwuZpZ#;)DSLfs?(dveYtsaSYse!ura=pQ9v89i3&uBT~q+(B>wBO>Q~4K z(6u|>Byn85UxLsbr2|!nJU*Lg$0W-yrO``qFc1tz40Q_FZ1#ZIz^R}G0!4R00000NkvXXu0mjf DJa>iT diff --git a/graphics/pokemon/wingull/anim_front.png b/graphics/pokemon/wingull/anim_front.png index 0e9dff75439cb94188b6dd5024033f17c7635fdc..8580fac150a9d44780936f50f6c24ce548b5ab69 100644 GIT binary patch delta 640 zcmV-`0)PGU1=IzQUw;B$Nkl1gh5XbjcN`c&D?<`~?3VXd05rpDAC*=0- zh6qtbLdgR}_;>)2uf=kc8Y=S$>5|qJp}meL$rG5_J3tYho2!sg+(?!z&rdV^F+20O zQoTJSGlw0(H0}T#7#Yw2Qj&=YbC8laAWP1K1W5j(I2A%56n{mr5JI>U0&-!Ux?C3W zI&Jw8^f3^=rIm)^_YvGROkV~;RsK7;0Rz!0Agm@6puC#N04C3yVd5~)z=waEM~la`{b(n zK>()DZ#n;9Wq+zKM+q$e4I5!#LR)<&_mBt5cCj)x1{k^QM`w^z0Tc|{8F9MQ>u%nJ%s(_iw`ql zowSp%rE;1iM9963h>qT-T`B`~_Z>iQz4i70EHJXv34bDxnwnDYKx}I2ph%6_)XqPY zWdzs?1W=ac1hKW}1c`5nt{sR7pjm{iIU;lfXaZUU#xM(f({gD|D9M=++8T3J3k-0#onqyZ}K74#FNPzn+d3}x!e{a40 aH~R(2NtY^ZTI=or0000WT6;`px($M1)F24K z$N~)@B^ek$gGfw37Egr)NPg!gLI?!s+*}9|o|7OG&Z+Z-lh0}MPat2_Vg_P}y@Enq z((h<8o$!iCU4rq|#mvol1@>Vaj0O^YM1qes}o<7t5?^SDuXT%(z7uN`=CbUMkzyxiYkPts6s$< zr%c5V)CfW^X?)|{2Z-wHJY0}ps&i_ks(9){*w1D0VSg%iH25`@bJx)b@@ykT!)()G z(lGqAZC6NZtv!D8jEp*70MbxX>OF`h1;0wbFm)Tt+XIGS z7r}OW4}TaHha7zNj_GgL{R%LGIAcO+Ys{ts3<%I>+{;;0RDco1sT$H&oHN6H4;XlQ zQ{f@UTCbrbjCWnVU;$I_Zc6|`OG}T%$K9@=2esuIdBJ^(-R*O$ZTAld|9eqm?BArl zI>=$|0~B9o($dq}SQ&9E4#)JTLFAY(O*^w4Mj5UBFZ&J2NtY_kjk2@=0000M5(q@YBI0iyUd6cL#MWe^5n0ZSQ* zCIwq$fH<)tQE^)2ClHIm(zQW-beHk!|`V2u-tk@A!kyjlWFa$jA+>%iqcrW zQQitbXTgLY*Z|0*zv2uUI~x^p=(Ko8>3QkI22HS;YR#jV!*&OquksW&!Fbp%Uu0?B z7gRnByV5^+2e9nx+0_ZBNIFR$n0f+E2U&rAEmbGScIJ delta 286 zcmV+(0pb4D0`&rrV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4?8w3R&gHy z007uYL_t(I%k7e}4Z<)GMQ;O3q@YBI0iyUf6cL#MF$e>&fTavYlY%WWKrXS6s5p)& zcAS!m0`^n0n<_JN@i+)91H15~qi!MzYeHY?FF4KQLBY_t< zkSXgF2kq@4&PyDiVJQxkci-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0f$LMK~zY` z?UBDq!$2Iz(;>S@i(8?bv{#T);sq7NL2?gZQ&Oic8E(5JP;L^z$ro_YzJPrI2k|Ky zXgl3Y2;vxjcS&PI&&|OhUvB$;zQ6nZacb52?`j}~=n2N1-+Z41l(99Bu^ni#z-LSo z0@-}mH-11*`H~&j0OlEgpI(X5|b03o!DH50iTI;^ooO zBh%?N=Sz>ypI-M1nCcz}o%QGMdw| z7QlpaeVfL(XkY-oBAes;SpiHT5qBCR6Nmb#QYw`yA=^E;`pUS1%}-@QCQfK v6K1jkOkr(s4L33%(uv_m1*lc)Z{#@NJrl5H5lyB{00000NkvXXu0mjfLuAiF delta 446 zcmV;v0YUz*1f>L!B#}W-e*gz`Nliru=LQE4J3CY74Wa-50fT|#jQ|I+AByY@q!BCAh`#yDXCMJ47c49C^w1VKmV2^9H@K0K>3hd_s6YFK;bCJ@?6+k|zr=2#gPt`sC{E+0rA`=_X@y zpG;rg4-1&;J_B8Jr=JIaTQ|V526%UN2y6>%0hP`^c0C}3_6m4jM;BPh>1#U&MvUp( z)P{KjJ@6G?ojy)-e_#xWq*WW3IMkO)DJfKncYAR4o5{e$d53Y?QxXfH3Sg;;6XJVK z9hW#oScrSID7qh+68=)hu{MQB0r=T8G@)2xUPrRfQPU0tw(w_g)iDT%gR86l#B}k#dleMG*fy4!S0+m%I(;RGEoA? our|1c8yo3Ff4!-GB9;C^-#rtsW%^Wsf&c&j07*qoM6N<$f=zqJlK=n! diff --git a/graphics/pokemon/wishiwashi/front.png b/graphics/pokemon/wishiwashi/front.png index 79578a35ed450d096c1459fd4a8af22446c6c5eb..69c224a3d1a1f5e1dd0dd7f7c0ae3cb94dd59f4c 100644 GIT binary patch delta 99 zcmZ3(yp?%^iWFmUkh>GZx^prw85kH?(j9#r85lP9bN@+Xov0Wrz{uz6;uzv_JXwNu zae{~d)5ICCv@DXOQ%}Z{OuogJPbhK>FVdQ&MBb@00@X2@c;k- diff --git a/graphics/pokemon/wishiwashi/icon.png b/graphics/pokemon/wishiwashi/icon.png index dd53ddb481432d45b21d7706aa8f10fe4ebe1791..0b9df6baf4c0215944dbf844580aed06232f3550 100644 GIT binary patch delta 232 zcmVA>0V1LU=L_t(IjqQ@X4uUWgh5H7Lb~Mqzs0jow8%Z4svkT0=8>1s( zWAI%hP7ahd&Q}=h&*Y+$-mPEToYS5|$gd7{7bpqQ((Yk(LJ9^@4S7+H2XjC}nwBC6 zr3H7vl8t%+3UCu$BaO-gSl`5s{<`NuWHkvpM^kE3n#sjnWw@>}gr-#m; z?gW943MJZpAf$P9WCl#>iz44M+bG~|0t;mdp@ElK7gGl$Jevw;u8e26E(h1dwhmWb i`dAOjFAU1>7Ul``tx8ydT;MSP0000G delta 269 zcmV+o0rLL90^|aaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5C93V_*Yi| z0075HL_t(I%k7fC4uUWchx-PNb~Mqzs0jp*jid~P*#&0b&C!v#G59VLCkKua=Mx9} z$6Xh_tzX;Ruf314UoGw~2pJpE?oqub4hHZMin1DVb6|utt$$Pyq6If4l9he|4sca% zgQm*_MAyVl|79nG2%Qi*3WKv3QAe~vj}UM0?IFbe^>ulkpY9BT?lmDLFGMfZ5SB4{8=DizYeFzuc^y$!RUl_vA3iAN;tx8xT TF6&+Z0000aE?|YV%`7i6q?jwt9e*@MY2N-(@u;^ZvvEuGqx3~;s3ooC;!Ej;G z@Ph68>x@;ZJ9x6?;clyF-d#6>e5I;%4cy&u?@1UR%7wDNiMz9bdso7LxURb3PB(G4 z5xDsW0CkggTW+3NoX>lBRz`qyX}1@+#a653rbr_ofKdq8jhC(W=TlzN6JZLl%@kh$ zzJ56x{Wu5|VQ|V|hw1tH#rbG7J{=$Is1Ozjgu-<#CUS>PR$IA83Cbv8xrthaxtAwC&6qyPFqlgN3|>J zsdRb?>qBJgNO%JU*Z>?|k;n8@0$FlP1Vpybbt|qnF-A$M;aD9t2`19I-eh`m$Zgft zFuhbl9No;4;{Ld=fVl@Hz0neR|FdT7%c@D{(X z@GUeV1%O2~>l6XW@#WYiKzYbm^ydG2E+$}SmjFea)DGtWYYut(4gbe0llcS8EZ8b1 Ta&E!^00008NkvXXu0mjfp(T8W delta 829 zcmV-D1H$~q2e=22B#}W-D*y*{Nliru=LQE501hsk!t?+D0~<+1K~zY`)s(+$+dve@ z?Lm}ox3i?avK@zJZ66r@ zxX*pR-}fvjmHHp+$?hYIYkvdQ9tRkE2yp0Lnz6#}Td%MTr1LMI!@=@k(elIX`|FIA zD?50y<>PLrU@xv)VXj=!x)$!Pd-o))52bv`+{E4K&|8#$ux=_IxYJGCZG~R$0YKlR z-Hw-I4(GETo|OO zTSLO{YrqBI=$bqxX9~!oS0q5X!qlC(*~Az{rHA9R^(2@`>SmLf$sxB@)5G)=32}5g zO^W-Y6AjEfDCw<{$OWH$d&xrppr_%r-$eCg4@|0mfnpHLIx`-bIY4yuFjfO8Puk|O z>dgbLpqP9$mR}6;l+Am92~LSahF1>)Iwt3B$Y6jTOZw=_hyczxgz%Suu9Oli;IW1} zIpJ;Nz@{EC0zxPvdOmL@080b_$g(T~PK&ctpdAcx2yBf;XH(Se@u8^G~#2vi(NRi@g(L!rfZE@PlTHngFEv5J3S=}7Far$k@cRniLQ84@EabFP z1Qf@YW19f&p(4?n{jHgZfSp|eG;vxzoB^yc;K?`qpRYg6EZ8d4{LL@`0000COjl#yWhKWF` z2)hpUN&@Ia`-niMng-A$x+Fy07do2om^r@5pgn*9fC6JAs~19l(GEn$0<$$O2Nr-2 zU>6n(GLfot1f1(RIgD`-mg!Nri=UqM$xGZe|So{d=_rKx`-wNx+Xoh1X0<%|# zs{kcVZ7({FFTP-Z4$|#bIUnrK$cE0A`dA+4zDFKM!}#)Z*dcr%6wpOa0!Jdlq1`4= zqOR6v|Ed^|8ksirlfeMRU?>r3|Bl8q90Qp>k?+C5BfAdx80isj=8 z0kushj~UuMF-?Z!BqsNuNTFCK&3z|wnQs?}*-I@atsar?9_dE=xC8{?5zF^%a+>MchCQ{^>dkZkp)#}KFY;|CNq=^8V`NRcoKC1DK4E4V)F#mge9Q3F&P*rm&yB2W zX$>=-;a|Y;vJII*FHaaZ&|t$dlm%y!04kJ|0mqmCI7ZEw_TO@^p=o~s@{M7(=EB3J Q0000907*qoM6N<$fK~zY`&6K}u+dve@ zr9qT9i|<52<(5d}13WiR7cPHCQYn-k0NytL?@%Me-yC0hNPeae%e*w_>JBa&>Pp1Q< z@_gE8mXu+dLhcnTgEg%Lu$KX9(`qQw>407)QvuzyS11_+d-9nX*N`v63JFJ@iX?D& zn5v-;EA4Q1_+cgzPkuPAp{%b4VG0lm8O~ER=&R)vAXD(M0@g4QNEKn%!CpxKooMe7 z$W+q+nnag`i1)&-eee;A3t?9I_CK#5b^i_YV# zPnd&rI#teldo!}3v!zokk8|H652Jp3{W07nyeAaUMOOmHBEym0CXb?v_{>2QMb3o; zmw?Wx0P>q5I{0wi05nk&0=(PeH90j{qecA9cky-9{{~QK*GWqPhHMFC*Z|wN!>{p8 z@vMQsVwbc!e+VQiRCW-NF#baF;;j&xq}8ha1#E^PlW!K5;c#V8u7o6Prlv~)P2Nic z^a@l!+%kN;Fh!}RHKPMX=u7KM_S}+<5_nU~w|3fHOm85ODA0=K;|&3|O(%~T+FdbC zhT|kA_n}CkSSQT`Cvur@7l_$S@5*{aI{Ty(9pDlWe}G3wE7_T9(Yn9b;B>IHz12jZ zh0C_eTgo1<%Ac1nw((*=2R*64$gxe7_KDhA?tqDFn*~vHz?f(Hm32jA6kxC<1aOML zIu@SQ#+!Epu%^i1nG9Q}jWh0ZWJX zpyqB2esv5VYUm*C7J*L002ovPDHLkV1ijl BwZ8xW diff --git a/graphics/pokemon/wishiwashi/school/icon.png b/graphics/pokemon/wishiwashi/school/icon.png index 809719bf2c17ff65bd8a2bdf3b9dd733985e82ea..2cf411fd1b84138444ae13e0d92b1186a10655f4 100644 GIT binary patch delta 542 zcmV+(0^$9=1H=T77=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00CP`L_t(|oYj-PYQr!P$NdJPd#Q)MK{92@^PM5c zLlz$x=~+UTWNDuvbg{skHA)bCl`TtgGIlAw#kxOtx)1$a6n|>s*?0C)aIa6o4Whs~ zA_`*2g4EMzOo>7nf6ewT2!Uu+X}KSknvPn;z9fo*>pC!q>V-y{bDRNCA>_njE-NYk z+=Y;GKM+G z4-AKT$!U=WZAEuZIgF^o*^PDD22Z1hnV;79U+wq6pF8}}l07*qoM6N<$f^+HDlK=n! delta 386 zcmV-|0e$|&1ib^07!(Kt0000?P=%ZT001*kOjJbx005DLFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5C9a@{yUBU009t5L_t(Y z$L*BCZp0uAL?g<@maLio|Jt<)s{m#b^;WfYZkfqo40*@#CyNg<<<>zdc5g7563CP= z8HkMm${Sq)Re!Q4uLioo%PlBwAz`ByWZlLMDWUboT*y~mijldI_Cmf!$PiUT?$yGj0Kadn*q{jQ0 zB*az=`x*FPJfE?o%{Pa!w-}tpm&B^aQMCEI&r#fyI%DNH*?gJ)>(>M1xaY?fFatj_ zK)%b5*|6h>J@8`%Oyb7~m_0wP-{6PxgHQaJ0TSTo_2$P62wv6t%K(Y&P9SapG7#tk gKxP7cxX;|nFXE0O0dsqo%K!iX07*qoM6N<$f`Y!Mi~s-t diff --git a/graphics/pokemon/wobbuffet/anim_front.png b/graphics/pokemon/wobbuffet/anim_front.png index fd3fb1fb3924775aef016c55e2d5dce369f5b4ea..e5ca905e05af629ef9b63d683ae8046d60218769 100644 GIT binary patch delta 999 zcmVU6e;#1}S@s_Z zek7llM~EDb5Ho;s;hOOjDgnR%GhPCyMG8LP#YyHldL;sKJRI4Y@?3yYY9>%ft5x;tr3#@JuDzydxeP) zzeu(Os1F2Che~VA2L((CfY%>{A`dD3`t+kcz{NW$B`@0&=3jS3~4eCZ#)9Rkee1xYx$|NEc&L%^$~SN~0a_x0Zh zup$IXV7Gn${d2So<}0ub0-vK*c$J$S2Iiv<+0u&GXhL+H&$$IOpQr9iHY@mPxYtq0 zs<7FWPJaTqKgt4l`zRownlBOn6O{w1^o5~aI>q}weWO}Fr`CEBU~X&l#45+o>&NrI zPk=hYrO6 zbr%A02?5&H$E*?%zZn9Ib5JY%sZw7MLL2{LZGX@*2K=m8bry&wN>0PyXy^@zR0ziIPXI&;2+f0l#FyN7*0>)k2G({H zJP@6P^`I{=I=d0eCy6{h-dz!aTe)1s0_z3=xVn(k;qa*Nu?l?|IpQlN(a~98_vZ*y zI)Af(?O*^Ld(Bv(#1~T5ZnIii1iSD1Pl1N=B3p{utX7%p^w<5}*H3{6xG+=Itj7ZV zm$w5zC6pbzTB?=+*7pw&<7n>80h*~gZ@E|);O^V744h|V8wY=Z>Nn^=cENUNdRyJ> z=c38j?zZ3U-CXmb^%WQn_m7F;?Rtob*{{N$Y_yPY~ Vhtz8$yQTmD002ovPDHLkV1grO)=vNc delta 1024 zcmV+b1poWE2+;_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_=mtxrcY z000BDNkly;2)75Xa9huAo9jx!OK7PS24CII(jtz|h~B8!NfReZj4af!^fL7?sbL%(!8c^s= z#@bobQvbb{V`&zu$v+Vwq!$<~1mpxEvA%`@gk4@DCf5Oz0|tgAlqW6_>s<(`ikYl^ zfL;T`TwKi641XvG7!B6?06!}Tn4_sV1*w=$qG!)AHpy#XJ|C}u1CYxQD?luP-myJp z3Q+*OpU;$XfkOZ%gn(jpeRK2q6SP48cm-gH9E!^uv`Gu}51?%%69VKl0klG{6#AV2 zIt0LF3lwFf4v*acHUttW{$#0Ay0t*A)te4#0RV-%EcI98-wzo95?ZXB%-F zA)X@ecz@?9mA2^u4gK8{8<`}giV#(L0vJHC#MduTFJ%L_*4=){Q{x>gFVJs~G6hy` z1vuo1@4RE4TOjv03{`1>{T}Y9iY2tP3Iee$jSB2?Woi=rw|~I;X_^kVNg)~#GK{b@ zBMxMMU>{DcdhipygUrYiB78l`PFlZ&4SCTjseh%3O@*R?qIQ992oB1`CrQPjdows_ zx(qg`NFL z#rRMIPd{#*c}B8vsV^}5De8}fQw~M9)p^c-#>*&P+&7E0&Q*?v$;%jr`<;qH>VOAk z|7wk?clHxtHH-?(%~oHqDl|Ap1GY^+^wL(SjVmv()E6R8s^J#-!0?x3o4yF?2dytq uK2#z75ZnL9LH%I$MOZ(?%kuw?`r#MXpPpX~44)_>I(KYE z^F05z5&E6IZq)F-dxcfh_F)sX{J#J|(L??01Dr4iLO+OFvVhIM?0~KYTz3GMTEGa6 z872h81O}MO370V@Ol)L-33U$vq65nkTLp21wWF0KY_5=i$@16-qWLIW^0K(rJAb-)|| zG9dY4!Xs@YS^{jL0i2w}Eb~#kEJtu^ud>tLSgF8Sy;;Z*H3{RC#Vep&k8EOCk002ovPDHLkV1lp0kZ}M2 delta 341 zcmV-b0jmDV1HA)~B#}W-e*gz`Nliru=LQE503I_d(vScE0U$|4K~zY`?UX%k!!Qhm z0}bBE8k!>p@ZLHXNOBRY1Mh!?Sh8zVKa_@!Edc`t-iOC0QugKY2aAZV4cX8<&tE!1 zw>j366g{dBSc`NWwjxdc+yN+Zn2)nTD9nL99~`x02Ah6A0b4bAf1Cg=HG>h99&R@{ z92j6KJKV>^VPYpknAdI~GO!F`@*}Jny$s>A8H6552>(it7!Bkk{Fv#Ri8y5;0y6TU z52X$kt!)Ame7Au$BwjnfIfxX%a$Q}(B!H_d-1Puo?Vtdz1`Jh$I^a5hG)QjD&x)Kx zOMpEnzz`JXbf73dOW=W1Ijk%D_>zra53u3M0XfeIPy>kbT8f{LcA?Y|J)p2KF6+Uq nl;Pbj4IuX522i*7uiw-gl}=&sGp55=00000NkvXXu0mjfjX{kK diff --git a/graphics/pokemon/wobbuffet/icon.png b/graphics/pokemon/wobbuffet/icon.png index b55ab8e4a2aea923ef1059847e02d5c47fb5654d..4a2c88dc7ddb43aaeb7f64bc087b28e9a5d41057 100644 GIT binary patch delta 234 zcmVT22V1La?L_t(Ijn$Gd4udcZMRSAPq`eg*$3SK&D_-C_86vntryx}! zVNmn4@Bu&FV>W;3um; z&@%v&Rp1#g0MN2Uc3@h*$Eybu9Jvf|0FsY2pN2~}O8Y!B0b@-!#5GTeNFlIVwul(` zFG$pn42ZOoXU86M#{x(v?)m^#A|> delta 275 zcmV+u0qp+50_p;gV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5C9`8rR=gzNVTj-loj|IRj6_0lgDQc^(6JTX ze6kbUIw39=lIWbTwm*^8S_^>{j2ZNb0bhXJF{YmNtj-RWgMVdk_5~dSFt{ET1||S# z*&rL3T0Y04gDD0I2S5!ZZ~j;fXJw?j?>!MGrISBiNk}oWT(*c9`7cP+83sh2X;H-y zqbaW%#5LnTI@F~ORbA-NR8^rvlR^06$1;EXU;uTO{n%?LZo;HzV18&w$qVL(p`ZHk Z20q-({P9MCB@6%n002ovPDHLkV1ju!a4!G= diff --git a/graphics/pokemon/woobat/anim_front.png b/graphics/pokemon/woobat/anim_front.png index 0671213497c048e062c0cc9ca637c2a3f4032156..675498484cb80377581c296987f16b3995ec70d0 100644 GIT binary patch delta 697 zcmV;q0!IC@28;%fUw;CZNkl*%|e3vjwQd3gek{YE6_4ncd^ z&Akf#is){?|9>spd;*i3-9kWdci!gkmHRVG(Rx14-W=uw-VcEL&6G}O6FjKC$6H!H zpf8^>a9qq5bGF9oF24!6K)Cz`a5z%erH`!8J65pTJ-+%45ICklkh+e4{*P<3O?tL93Jq%APXQp@IVd^c)(9fAca{N$l-wu zBqb1nEPqZ>IXvJckTF`x0Gwd#0v_P%<^<772H+rNyPI8#2LJ+M1UeZ85wbkEPw)UM zO3HzBNN`>+A;SX_LyQmNi5$!3cyI*xmf!(&WI%F`!(+kcqu_@a4?x@fy00000NkvXXu0mjfBwA2& delta 734 zcmV<40wMj32C)W^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_=#{Ev5wk65Qf*W+ymkPV14P0hxl+VR|Nb3NEQxhgIM4N(51FGZEB=Q z5Gl=7fs*QyGA(a$JXf!K#}|Hs zQfj47c=eo5GfSG8gz#-seIKfiuIHUwYUrC(1&m4D!}F|yz~}?BlE5I-K?Q<<4M%Yx zDbZ**WWX31!6RGACe53339VhzFhGehLx0XD2CnS(G0>0N)l?VDU`xhkEC?*3d;N0{ zO>{AVwj3t)xPP?7RoPZ&7Nr}G&P z@wg*SLMjj}egf0j3HFMf;%WlHd%ObH(3DF~-z z8V^X0f`3FHg$FoaS{dJz!#TkN5$Ijj+gfJPAG zfxIHyv;-a;0KUa|05>Y2IL8(-|MNleLxcyQY*$r5j~E7A!4DB0bkT*(PkZ}O^20d7 z1I@eq;dLK(=>w1PAU6Q@74pMa4(BpFxIgyP^e)4L5ct*c9xbo%pwfS@KSj?2+A^Ua QSpWb407*qoM6N<$f~e3-1poj5 diff --git a/graphics/pokemon/woobat/back.png b/graphics/pokemon/woobat/back.png index 7f80040d4719ea52aa2ef49755c135012813384f..1fd2a6b7b3f3c4b9492cba9ee753cc2e80fa946f 100644 GIT binary patch delta 440 zcmV;p0Z0Cq1fc|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eVS9K~zY` z?UF%mgD?<9&4N8+l{QIujXvx5ap&-K=rzIGW%iJOs>#Ky}5 zhbe*`v-Cg@GOzUj|eO#pe=p(T8_ zUC5B>{t?2iLVO`kx9yJ6cO*{(zn=mH8Yr4nye0Q1iIf4PD&hrkpf3tCaq(QrihvQhYGpq;B;j8NDFzxA zHSgi2pX*VzXrN&QAcn}=Au5LIF9*tS4T0+#00=`AYY$4{TWEL%=-q&W9pP0*3nV+u iqv$ulrcFW!@e806VZX}m0t!q30000W zUezf7%;%*hYmrmFKy> zH*f&<4D@A_fCr8)8CW1GE3~TGuf_xUVRjGz2V3tDhsI@KDK{faCAeq-4nBg6SuH>Z zGaxO%0$F-qwTSl)FcJaSQVS4Qi7rGVe^JoN#d9fZ1}3sqk$iGc;jM#|0*&h7+OF!Z!}?m+ zs|E!;07N13=n$7<{g(r0xQ4*>5da87lDlMVZX{zo`L%S0000#XNOjn4f5)q3^AL;WV5FyK)SywMKKu^b$5Fc{@$N{ny z^=X!m5gl>3cFjEmVvd)8Q$9iY)rJj}Z-Je@wd)p*(hx{=NQJ~P1Qg~~2*>~cAgX39 z{5t?M7#ie=0Fi#r0AP!m8FETW@9dzTySje2z{M

      xl|82yLNhZWFO{_i88HrivM` z!!$rXSRm4QB0b8!Z>Dv8DlRfWM)a!lR494vdkb)A*aKG^fFk@#?pq(QCPpcgKjINk z@<;IqsJuy?hnBtv4!C{p#){!JtqKPuqpcuM-oDSYq~*V3)26>jh+lxGaG#RF<3j)d N002ovPDHLkV1lWIpbh{4 delta 358 zcmV-s0h#{U1I`1GB#}W-e*gz`Nliru=LQE505@@&O8fu-0WnELK~zY`?UcW6gD?=r z-H9~@q|7;xnCnLB44jm;3+fw?)v1c24tb2IkJicWQlAa}gCJYgg>SIX-S5sHcL>Hd zZTdHHzN3S$<^i5}yn$kccxnKkZuL>@7l9N=<}8P9p#cOsof&(de*+vnP)XLEXZZ}k z6Nl^2f5$*Z@n*{BP<_d`fe0;-(^t7}(Wr=lT!%zVoMJ%0v5kRhwg$v@)DPu{1+2Q0Sc<^z+blZw~k{3!r+$+6+Ql===LbB>rCQgxa(j0dAPdc)4w% z^N4zsO7+t^J_QvST%bgJ(Rr*zbydm%6ta7uY6D;jHzh;BnHVLY`eBcNhCYf%KpRZz zVq1nDDB$;*j1~4ZooWx{qpc{9!M-oJr2Y1<+4Kkc1%Rh;pIn3PQUCw|07*qoM6N<$ Ef=vdf5C8xG diff --git a/graphics/pokemon/wooloo/front.png b/graphics/pokemon/wooloo/front.png index 3663a1dccc1a763dc69687b52443b54cf595d7da..2978778a4f3d4809415b2345d6946be1918a5df3 100644 GIT binary patch delta 506 zcmVK~zY` z?U6xF+dvqF$BW1;aR}`5PY~VKO%IS{M7oY-Uw|@dR3W89!l)<`OOO>7Y(jGaqmeHV zuM0ZV@Z^Ck9pW%yi8nZ~MOa-}5usXd}10VA~7+;|FzU)*;w-`k+O-O$Xtv zeFy=XR=+j?h)Tu|>>h`I5D!Yimf_JOpod@GCp_o^v`QbC<%EELqP7e{_4^Q98IkD1 zN6<0$nh_Uuy4QsrfX|T)IQu4=bAA)tdQQ)uJUgQ6IBdL7299cK4q##jjLY0g;CFo7id!PZJLO`1b0l{d8UMJWyRs|Wm< zO3~S+A w$c)^;W9@ly@#F-sDKfq@;gum9y-N}D0#XE{Ws%A~l>h($07*qoM6N<$f|N?=?EnA( delta 495 zcmV*)aqv+OH572h7t_#Tp)WIS`9sdkU!KD)F!cDa&hzz-acz~3Wy(_QaR$S>f z4I*S_+`8%8zF*#Z{Yv6EbIoOy>o2sOJN)b%eYHo1kjUGegF!WTgd5 z0NbGnxH#nX5xe*AxBQ4HqFDmGI9X$?_cHdM7-L-^Wx$EkbH9pU#OaN|lQhbJGsvRj5qs$k^4Z0R1`PT60UNQN$cj7kwGGKy z6f*X(o^m4)%LD}aJeC~K9cUF-2!OzONFvbIMtYLte+aN4)2t1IYCm&fataN6bUn|{ zn(Zc~H@NTS diff --git a/graphics/pokemon/wooloo/icon.png b/graphics/pokemon/wooloo/icon.png index f39dd65d957a93b3a29e39baf77b47e3f4aad7bd..205d15416460f67a74b204301497c9f864015b77 100644 GIT binary patch delta 212 zcmV;_04x8}0>J{1b$_=>L_t(IjpdRt4udcZMY%zg3sCX18!6uDS-W=VoiKZfV8=}( zkp!l$sNVcy$4>N`=JKJc$K0{6iSjq*oSP|uz6JxcFD0vIa&^y|I@sSca2yLJw_jqg zLEO+H1F}H{qvSE0wJZp)Qt_}F=qdY@r5kM{!p3%S%=3+H)u!<*!n%?YJ3TY4ptD zh|Gb>mp${=!Qq|_&ud`x`y&<$#P?4x%=u^U2IV>!QHu2^fnrFw<=XhJbfoG;MsKtN9@6 fYCcrck9>RpDQ10rt%Q~q00000NkvXXu0mjfS`B6C diff --git a/graphics/pokemon/wooper/anim_front.png b/graphics/pokemon/wooper/anim_front.png index ca9366e4e89a3fc31223514b3304a993e4ad842c..7e35c55c01f1be6457466973179a65ed925a8c91 100644 GIT binary patch delta 707 zcmV;!0zCb<29^epUw;CjNkll&H6vrR3J6J3cOdTVZj0iHA4Jk$zV(E}8 zLG4=j0ys~|T`DiOSgeK!EY>dFkYWo}PPcB&h}0o+zd`s6eRq%!_>OkzRR0$b|KGhk zKcD=60EG(uBbEMSSLy(|WxY}Wl{x`zIKpvT1vKiN;c$rPNPmf@SvSwG1%P82u<)Da zIr$?3P*y@~oSF8!4ljVn0IG+8aoRYuC!d8+dz5O2z{i)`6x~~HcW941V1#CCESB>! zE8desnJu(Az{^linz>U3WpwTR8LFP< zjk-*eCF{G=KIlU>h?a2=qDbB+gS}Zn*^*Zmig=$DtA7g>DpcsNbfR>|BK;{86$qnb zzHAea&rKmmWV_Q=0WYovfMczud9uuUEyAC&^TKQSffOKr@(JJB3mH(V%|$Y2*#;+CpdA8Ltv27JU$dXvryn>m za?xHot$&;AEX%gr?bDi4E5Add>Q7x-zui8f6GA>$o4z;2lz_)IPWZ%f;A_5j6U@;~ zQyZmeq%{L0Fhuw}ONmc42>@eBffq^r9YAq3QwCNjfPMNa5cr+`YCWgFO3&%926pMM z)-L^z0K4>0Q%gzk^iODfP>seAF}7Ut@j*U-&^++cjjUBdfa<8pz_3>3ghmv_%iazi-+=6vq#l4i-xUQ^$xUBZ3TOLyD1wSUTiNP`eiX0Xt8~T`DiO zSgeK!EY>dFEY+4(Io-N7BT|Qm{s-Z2=(~fe626yo>E`d^;eUPZhtCI}$5@#%|0$K{ z%JmjwRnvS$0QD9Ed@=>QM*;0te=?Z>I7*^pw2bp>34pBvR({7g$NCfjP)(t=&kXBb zUrYeN8EYH^`f2;jnthgaT%*!F20p&j=HT9nav#?y0(xk4Z8=;_6N@uBj?o260AdQ~=X&IX5FFfKdI>^~E4!PXeYHOF$>?)t&i$COGnDTKC|Jr%Bwq z>U+omS5Jt0$Et9jLClg7aqn2|Ex6e@=N$Gc6<>ni{eR#C&iM!iN??cwb(yDYK5~`k zP@V8`v`&UBib7(AH!-W31NsLViE}1Kmnl=G%s=IXtk}~2C`AI{Xy(fv0!44iIMVG- zj{;s?O8{)Gsd*}Ay_WJvcV2j1KTrZ#pM3)O;`u>X>|v@?Yj0-9_q{;TqEy9TOyYbn zLZdK4{eNUByMtk}feRH-X)dLix7!WOv_Lxs8d`I?$-ixX?H+%^OfRUta@sPo?RLA{ z?H)6++O(JO|S$v&n-~eNb3Z8piB8X zYqgCKVEP(`7cm+@9W6*+v;$?3U2w5#9j|(q~_?mhYm;ZrfRQV0e W;vtgACE#WN0000PeOyOL1t&7V=L<_xZp7SquPpvg)@ni6E&5DIFjPSp>`i);16Xp-f=_>}98%Ad#E^DLds< zFhuN4wn9vynXn+V2&=~uns_C1T(J0m1O#X(R`T52=@q0s@z!>LI`+2xk_w%3D$`@R zQ4u~)OS)I(La6Cz1dV!7%dRYZX)c7&4K+Zy0X*5DJoZCHKn+l3g|5r_jEqyxXPE@P z^Z?-MS^WvEuO}?efVEoGa^K&vE81=9@giUr;drS9P-|7rLn0vtNIL@H9f}tmGsHM> b)nCvz2`tx8GXpD300000NkvXXu0mjfv?sUe delta 489 zcmV|{vjJ}Ue~N#ole^ymM}Jg*0|j_Hj+$=!?w5d< zbESuEA5a49IqxS(LP`XTfg~JYnMmN&6pL)k^V%lTB?7)S$WZe~$09`!zo{>RcH&Wlbx!ya;SlOY5);#uDKH*x?H(#%#3X$eHX zV-oiPYz1k24Szv*4nTqxS#|(;w(9pWi6ALEDIFjPSp>`iHZ~9hp-f=_>}97MA(31G zDLdsvFhuN4wn9vx8nGa>2&=~ms(3AP3|M>s0yGqBdF~zc3euK1)D57Hy?wi+Lg$>w z^jNM`g!k)`o|-o;)O0k0N?oXBR~EiB7eeTU8lc<&o?>h;yR<_^Kn+l2Q(c$y85yUX z&oc>p>H)reb}#BnsQu2i+S;f^ot@fe?20yck*DReoXoZ5(AKdgo%tG>9(AREZ0Ok7GSOdP?4Ey1ZNs)nClnq z7aAUYs*&vD#W%fpo1I15+(ngA3>^!wvS#5GDC8i^+vuGH3N&tmym*nlFGT(IR$n$4 py&DWx&Oubumcn5laSI>Z#}kK@onlOI&6)rJ002ovPDHLkV1o1pR$>4E delta 222 zcmV<403rXA0=5E>V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5CIjv;yPIX z005auL_t(I%k7de3d1lE1n&oWOun0t-i6c0MQXzt*9wvJ0Ne8QLTuFOtUis&b{dvr z5kqvcm=+`fpbH5fo)k&X^}=kWHu|}M>8=2mOiQic$}^8ky;oxV%Hw-TwUT|j`EF2W zv$N>Cmzq+B;UNlaVnn?O9CFa(ZS+n9g4-c(^b07*qoM6N<$f`#2+;Q#;t diff --git a/graphics/pokemon/wormadam/back.png b/graphics/pokemon/wormadam/back.png index a94982fbe450ce4058856c25966f1c4c6e6b4136..a33fb009cc4796150533b063cb80a41eb010d20d 100644 GIT binary patch delta 542 zcmV+(0^$Ap1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z)s#JM<1i3~#lopITF8q4Y|PC868i@69$;0B+}efgCQS;P=Wr>2mthk?01ve@)Q>G& zG>dGr0~G@2)4azSQpvv#k;Z^U3|PNLfZq`f@v?{k>xhZvdqiWY9s^;xE#=`22)GDn9r!${_FAk`%yka1HHeR0Bt4t`;}As-Smc29a|Za8(GX9I9I(!qSiWX7mg+trR&c*Sf2lGi%cs}pOodD% zgvywlm8(o2%JqK^%y9txL##;}Juu%K695uH0O~&pjTZH`Tnn89D#WJzS)opiLm<{m zRbic62N1BpCRJb$0JU1wq=dg?U7)Bzk;F#pBYsM6js$#HN-ON5xOx9 zuk@g|mlkp!9|O=;fZk023jhEBNkvXXu0mjf-5~Q( diff --git a/graphics/pokemon/wormadam/sandy_cloak/back.png b/graphics/pokemon/wormadam/sandy_cloak/back.png index 29a69310308da5e53fc269fe2874dd613c573ae8..45ced1e810676f51687ff32abe3fe9c3620cd520 100644 GIT binary patch delta 556 zcmV+{0@MA61(XGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qsddK~zY` z)s!)At3VKjcMJC(A|96F#+w`XG;7R%IhE0N2*4ryJy*F{PWl>zKE z!QgGu`1~KfX#iu@C;R99=9^lzigWoTFz{(RMe)80a#dUx$;krQ}JRyVo zrw5ONXAoR?Lb71VJizLI*8}0Y0dVY|5ssV@_5lmTdHw9RaIYc`i z3qUyrM3`@4LBGR5l0=9~5TGL5hZj(YQlSDtC8Atzb++z3zR@pP1hEhcAg8UCyDl-2 za*H~JK#=YT&?u$u_LoRW$2SWAf*xxCWp^4W>U>KH=GNN(u%sA&ls8Pe0O}3GhplxW z8v_2wEO7}Fq$j|hR1u&kMYcaBlw<*=1FQj5nvUB>ctU-nG7hLJW5^?yQXNM`Jph=> z8I;Bplp;R@&EJ_ZW!Z5sbc%@sbV@)~wM2d00@wn){yS?eKc+ozzo!H9ZyS z$)KsB%!NW!rw^TfM+lcd0d5=dV&I+#_a?X*)aUtK%?5$as^RnZ-X%5rZ6EfE&`ja` zzHEWBO=WwljK3FMpezrpCzyiybn#33mt6{O&kfH14FKE@cGv+vD%a%jwgvlk%y?kK uI*#iN#@6-hT7ssA58$mu!G2PVeF3kZMWz&geXsxk002n`MNUMnLSTaRv-vat delta 545 zcmV++0^a?U1&0NYB#}W-e*gz`Nliru=LQE50WW**!EuuC?pbHYIp!h-+=M}?GVD+q0U+l&du2@g_mKAfiN&0N631+4BJz>^~fyIZ(`mBU2z=*SWA%K%%#WdV;ne@uFJkM|A*MTo9;dh^ zK%o$-TVE^$Enh7Fe+YW002JMBB&f12IhY$`K43{U$gdxF0aP1=FH^;VWC*wxX>1+F zNMC?CMoEAq7wP`!P>=)^7BCu6Dq3y|VKLQ>Qd^)bwI+>B2-&uXY5>rs6)3dM$wk%z z^=qhgQFIhEtzv8el@L&t4N+}30Lu0tQH1qsMd&8-YPGqif77Z9FS-|bauld@NPQMQ z%9%Y$2dO3 z&%6s1#o_$Yf&RAk3-dN~F>g)<&fkY_rWvfT1ALXX$l+-V=C$>B7`feTyIx^zT!)t& j)Hz%L3wyu$7jNPRub)MxQdh}i00000NkvXXu0mjfNGI?C diff --git a/graphics/pokemon/wormadam/trash_cloak/back.png b/graphics/pokemon/wormadam/trash_cloak/back.png index 9888b1aa1916e71a1041cdf9cd6744e9d2fe70e5..2820cb3f08e365cea668c7710f7f0d4d12ea18f0 100644 GIT binary patch delta 515 zcmV+e0{s2l1ndNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0mVr~K~zY` z)s-<)!!QsKZ<8Q?qkIUo{&lF{SyQy?L*2rdF8 zS+rvTVE^9%9DtkmWuHrb?0}m(_W)=J1Jv^D15h5KJ(u#}=@27k(L-EI-*K3Taw}pi z8S_Sz+Z6HO1prHt;;YYoH9iQjK4n?9V6UADqO(&Yl22wwLlw7I1%QUa80CtFKU$qoFg+kuHL8_ z0o_N83o|Rm(g`p?7jbq1Fu4Z0i2U{vaI!%2J)$MbY{UR$m8n2PZTs!_Glmjz*;OzR zq}!&mjW)SFo`(shLrGI@^7;Z)ab-JB0eQ>^08UGQ8UZsyEdm=k{!A4w0N?F0N8bd5h9QEBp+`V|2COsuY+w_^koNI%GB_B5f3S#Q$d!FI80xg3FWUR5u>>Cq11X7vctf{UuGWm!%_Z;!Tv z+W_NolA;50H&-)G0eVYX0Pafw>jBw=EdmbhKa;r&01N<+Ys~>UMSt*MN%r{QAX*c| zt6PjVg3o~QL7f0h>XYpPj|~Zc+4cc&R`vSgasr4h0nPGSWdoE#2fQ^s1k)|2*8n+LdC0`dSF zXw=K-7I3Fa9pqk{4O&JSei?dO69DhP>v15(r_h^#+>Zsn=leAdWO#+9+Z2G006-5Z z{%Et@D9eDLVt*t4fMoWKJ3Yh*V3YumTp<7m=jC~Rk1>Lf`7D*o7Apeagp7r!2qA(u z&_=2%0COeAoB$!iP6LJ3rt?5h%9xFEO9nFsQ_&MJUqJoVSgf%q}GB<*%ZUKhuatYs2mmy zKS_F|kNqQuk&MYoA(g(F1a2cdb=cXkFH39MXRjA_sS{ic2eJy9c3wK{2E*?8pf9hm zIJ|)Nt}p4}o4mpz-Gckr{;pB+4DQ5SWOf#__}7tm7y}s5R*MG`F3=&Mu++eOi&uyOI#nYQ(B0M^h_hfS+iY|=K#&rs!4oVipHbx#%XPfGZ*8j8 z4C-yPE%kno!`WBunysv`u$n!1-YnXvpaM=__#Zex6jONM#p5yu6kU3t=HqJ39_y?s z1$xCYy4er(rhtrqpfCY+!R{v@19mzF++6{fV}D)7y5O795U_y=TMX^80K{tWbI?1* zjyMdZ&d9tb-ydo%$+Tnh8Y{^xtxc~eJjUiV@~}TtrhC+Wn|Bqyik0aV<(_%*6UqK? z$GmA+`6A5=jC6mPm=_TF{%~tvYRmVBTl2z=NcV?{dD$70?hh0523Ms}wm(eFdp`Ku wmn-fM<7p|ldvK=y4{Q8d<@TS&EdC&V0bal)a8@1xRsaA107*qoM6N<$g5uJIwg3PC delta 815 zcmV+~1JL}L2bKqrbbkN`bV*G`2j>O{5CRSys-SiN00Q|*L_t(o!|j$aYui8+$8B7z z1Typ_dugZ2Dp`G1LTNk2Rw&&p%(=KCkj1vfGz8mUz_#{Gk;W22P~_NN(Ud>Ae_*tHmP4;twATId$A|17mvd9C+J3l-Tgq){dYxO?uH0SY^XGyvrH zwd9X|zsrCktA8-C2QlCy0MLWNw$@wy77qy8CSn`pv^VxP51<4CkSk*VV)x~`{+LpX zkp5JuXpMFZutG}1V}uY^*U`Gti2?a0rB;BDY!-k*Yw=m+38B! zj0y%WsJx-R^q~hGu}@v$0J(?$dw5!5C!sk0-YkE9;eSs|#F{9Eo=IZB=8ye@tM59} zv9cCi@JKB)u?L3!-*e;5Nl>$o#lt_uqHIGT+V5vI})2$u0noj55(qOg|9}tm1JJ^F(*I# zV%`EozC`l^!_5zK^8&)p54YweCO<#ininR*%@1?)(o@RK4|DSdm(7ruALiygn|_%@ tCnyQ#1$R$RYe|12gpk_87>o6n>nC2oBye8>h6(@x002ovPDHLkV1oYSdt3kj diff --git a/graphics/pokemon/wurmple/back.png b/graphics/pokemon/wurmple/back.png index ae50d80eb6bca38d1cb8ecfffb8783ee979c627f..b3c9a478c2bb295bb292901ddd7dd0a702fc22f6 100644 GIT binary patch delta 536 zcmV+z0_Xkn1c3#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oqAKK~zY` z)sw$Y!!QuWEmcqH{%%G=Q5_qL25|jmR8-1*+*q6&qT9}L zE^`H~StRY#@pA+gcvEChOj7pKRh?!7xMYJnRg%CIR8z~7di}}84<*>E55F)LCLqE{p!*Kbu3LH<4CIJ=@ zx*qeZSv)V7%|hKAO(69qs=@e5Z2+g=Uk0EFiV-y1Sda6o?KP~66|mCE7%XvOzpK3r aLVf@|bcsOKlk67&0000RsHSO*O>C&j6ST&ZO745fX*O8G9p(gNvJk?hM+`!pQ1p@V#EIMYzJ? zVDwE`cz%8E{cBl&G>%#a0G}NK=mCrV-vHQe1H`BMvn2G#fCqUJf83}B2mm+;*kWO{ z53C*n_{L0h&F_bRLD?BM0)L5n!fdb}H4bUrqI7-Ypv@2j?JX{SVgXDFO0l?ke{oBG+ zq>gEleHbi=tAXZyf0n(}R|#;OW!ci&^M(XeBc`}r<6QvtcLfZ`mYtSBSm-VSkLs^s ziuYI)T1D%4z)!II9@p_BE)!DT3l+PQO$BD#uD1Hh^o@@ za|GsroJ2lt>Cy-{0r`gLx9}=kxYRD|f#+RUfUSU-b^8?Xf3khN4996~bXPniMDUn~ zREJEWT3Nz5zr|l)N_bh+^JFVKmBkh3aRHoozWN?ItEWxiY;-#EF@eBwsh7{h^R5u{)9t#wwKoTzsxIKq3@FD7Uc~=eoPG0$XAZL_4?gJ~kL+JNPPkJodw*a?~+6Vbb91(UvD#RJ7 z)=uF>3=`^>TOi7e=|gNm$LESQEVf5_vQfOc91(yhldJ}SNpcueydaQ8ce8at7fv|5 z3@CBK_E$=@3$*rogC_mI{Q687_g9QCI0s`!Venpg!mxXi0x-ffrS)YLhD!#w8ewF` z9k7aa6{lNxg@l72ffHZr!4DWfFF(9xzv{;ma20C|vh)n;00000NkvXXu0mjfGYxNo delta 279 zcmV+y0qFkG0`3BkV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5CR#Wc_py` z007ZRL_t(I%k9!34#F@LfZ=z8m(id}A>jZ_BBpi#l5LVD%c!Z?ttyJZA-2U829rB9}!G_ dz}I{{0B{v+3=kx&KOX=9002ovPDHLkV1myVa!UXJ diff --git a/graphics/pokemon/wynaut/anim_front.png b/graphics/pokemon/wynaut/anim_front.png index 8b00c87d48a56d319a40fca3a5d86fcd02f74626..3dad81357f446a468ea78acd3fb3bba9de448fd1 100644 GIT binary patch delta 751 zcmVi+>5P)@_QECK2PMaUxd&JNSuc)O72N_an zM%tbtBT~8vxJ(u60sIJV!pmj%1jNAYrKMnJtijx;)!uTa?>z4s7a2jvJ>DHAPC~^o zB$)#U34qiEJPZNAks<^@bfx$R6U1^Xr%((amE3LL#S075SmeBoA3WgzYI-E1W| ziYEeoNk9)Z5`Xa=VP0BSL=Q6}f(ZLwXj>6#gqf#l&FM@A6jBQ8&<+uR2ssKn(8J1$ zcyAfNG7SP0|K3D&BFirKM+ERvpv{xfhs@X6DUhiYObQ0{;zb{)(Ax9!l-5gir>Thk z>-GdNGs$&@Gp%)$EVeJUsYVs`yYe-MbycY#ha%(WS%32Hij{}1ag7U%5BB%tA%fVU zD+=`x4`t)EfYZ#Z=Ksi@wtneKVchKkjJr$MGmM#CfN$*YYL@0ALPxXi=uHiw+^m}z z*zIz^KgC01O{;G_bB-Fi-2M-cniZyeI!NUdVNP0xTs|K3Lpm9xe6c@6;okjY$gMyD zgSLdket#$oa5nFbzlJbHtJJ&#`}I=SkAn$@wqCKijr~cDxosY-?z-M=>Lmk~dGwIZ z51XdhEJ=T4obv>j7posl^ZTdq<5>}8MIYaj{F{grt&2HL25Ph0Ah%<>@r4L=}emEfHMW2 zTs#AXw9IQxlSbpGRvbatWxG&2YKt zFDi%ypyBb20Dt2;|1KwBv)eYQ0ECx#zPWAhwjwY|&$n&cZm@EvGMp@`TLOMczyLK8 zahGCQ=Waj|5vMo|5?4ip6I6kwn$t=KLZlGbqYe>(6nRu`V1On_xwkA(IDwF#Hxa$m z(dE&E04@b;9z|bNq}5A6g$39U4CvLpJ`ACC5S0bhi+{P$G>PHEqjpuLHn`AQr}^sf z-nG=!P`*v1c{r;oj7z8#-%pDjE}uG$(|Cj9Lwv;T8Tj3Om5uWwfY;2d<|A^a)~|gb zth;@Hb$9K%hc&Ygh^+m6$`_nH8%+V>epu%CZ z*3HdmhKVaztZr+6Qe){_2dlejcDrWHfMXp4r2WILZFg(Z9~sA?&9d5jZ`)r#tRIcT ziV?mi`L`)4I()UCi`m=@CT`H!7Emu9B>x>PFn^AbmBj87i(Jk5WPh=Hi%#xxgO{D$J)8GV z?z-D8$a1HXw7*cY-08D=c=Wx_BK`HZ_5mD2oy7D1jX#rY`HI`k%kTgI002ovPDHLk GU;%;+mvxl@ diff --git a/graphics/pokemon/wynaut/back.png b/graphics/pokemon/wynaut/back.png index 09ab9095f9e96f52796ceb0040f16a0df41b77e7..ac1b60b15be5c14637918ff705ff99f8250132bc 100644 GIT binary patch delta 369 zcmV-%0gnF61KR_TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0W?WOK~zY` z?UcQ)gdh-wp`c$A;C)O8wG?AdqVxWburRVKAV1a3ZFU-s^LaQNe%P=6sra&t`_h;p z5&Fiw1_EXRL;;KISOC$_fO9g!9DoUMZe3uB9v0Q_9~6V{<-o7LF>BXBFo=iox-G#& z0#s&gFPB985={w>V}c`pj)?+5<3}S9@#+IAz8;S-_WN(pEr|>u;vta(r)x;$0K)#1 za5gV>^AIR>|x3BNHB9u)xDEEp5I0;D}}3AkoexD31DD?!`3av8Ui zN`wd20K#_MM9e4kMU}R+(K-Xr9_VwNMeb5wCzAdnZxz7PnWnr<32+r)$&#Qn>EP@s zk5nQ7G>hW{`1=&cwF!bQ2Ryher=7;WvLu%R%3FdmT2t7gYwlNnR*by?r#QcMpd0tV P00000NkvXXu0mjfA%>!e delta 356 zcmV-q0h|8Y1Iz=EB#}W-e*gz`Nliru=LQE50wl)~X`lcA0WV2JK~zY`?Ub>ugdh+_ zv7pxk_#cxAwG?AdqVxZs@L+HiP_WzA>@=F4EJxjX>g#r6UG zb&KQK1VNVr9$hsJFs3ZorNr`If-{=e)ZH3lUt0>c;>802g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00MeRL_t(|oRyS8tJ**mg%hN~rSm3qpLx>tvk9f!#M}KVC6Hx7 z6bt@{Zj>ozSGwqL(OvNoFh8pIOrq79NolW&kn_!*bMA}=fv<${KK>&sHTkLN4T;912wb zD9k9Q;@;r{(qBx4^E9=A80q8Q)QFU%#M(CH^pBGpz>OHvWq`6UKq#yfSz%TQiNl~o zJlKQc&b(xV(_lc|4yp@@2?`;JgiJFweKRN%awnX32?V!bLm3tKrwM-vuG5H@ zX6nttGQoE-??&AL>+iM+b{O}-oc(nwj+`G{!K*3k9recgJ9Xw&TKy4I$e_Spf}T2~qk_)F`p z+hMJj-DugX$isw{mbgXju)Ht1daD^PnZ{3r0@1xi$92p=%ke`g+bdop3$ z&#t~d9*!*vM169A{eg?+rXzMvgJTbXsXRIM=fjzS#t>T<7(>1Sb>#px7~ zaSQnZaM)^V0cV!^V|Hj5*e)H52L}2O{BEoZVTN!?X_&88hC`RKTaSA70Y}rlbLj#{ z0Qwr^9@t|!#!y3S@UlH}Ap%%1fSHsZXs$Us;5Riif?3@s)A9fS002ovPDHLkV1hiE BUoijx delta 704 zcmV;x0zduM29XAkB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE50xl=S zfW80#0(414K~zY`rIf*{+CUVB6T%HHGk1pWGfLOmgwk!|>E2QTE(>C?a37+Z$P}|H zUG!OWSG)wwL-m}QC^|Dr;T{zs|2HS+|7VgQ@D*dhqhd_T{?<+Q@&xAhfI`bfcF#&ka>;MxkWmen!W;@HZzp^v z_vfL)d6wCLAopSzDgwzNwQifC`*Cswj6E5h1LUO!LYCO}^(w|`GazNpc2L+EmqfH1 z2*~T8j7dt6F%H0Zf0pCWS3zl$6UIvVpYgy1HMLBpItmGR-3dyYOaV(kfql6f6q&@! z*$il_1rBK^g%eJ&L&9mPkVS4M#W+nkNdkr~aG)H@#5#*orgWSlT$;=GD{BZmi-n2W z0GnU-5ICV2fH}_d{deweS55}%l>sVy2)Ye!R{Zk|0wJskf3Qz|1nD&X^A&*zKKlU5 zC$0#~72SeN0Ze^oN-_cSxL)D*74Gv8(K;yJz4ZNG{|kVVUZdVAQFxzl zmVK-{(p6r();=PB>08p(>{HvJrxn{(E)aQ zER;J#Y@G&&0U&1S@v%GYPY86HXk1`K@&#y@4$zW342gAA+go7NlY9oy?6R?d6UzA0 zcjypk*3O7~1O^lM?J7?QXP27!VR_gamu5ZH!Ur65Hg_|n3mgbg7aI#}1ag5uOJYZ# mzyW$1K?6D|KhRx#8sHx_G=fZH3mH;eV)Xz302g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00U}CL_t(|oORSeZ`w)_0N}BZkvLQe5%17r2)XlsLwlq+cPq)F zpyYs5VS(_Uc&cKpRSu~tP*>q^5IwX$^kPKh`3djGycrvcS(BAwl$~#9XV<$1NSk#A zyHo17m-H-kGSKcexhoG!twtN* z<}#hzaym`wxjrhQ^u=-Eh82UmCY)coN5HDpT(Ij-TAgzXrF71tDmmj_gNmruuK-$3 z(*Sjv0_=+(jU{V2J!2#6o5tVtqzx!t-CaYiW+b4P!zs=$p>_4-LapPPfCjnVf6(d? z2u5I?038v8Bg;8!U5ytmoC5cO5)8VNxobHmz;!SZwJvlVPq>{^z^RHmrwb+LTC^M8 zLY$V)?Tmo)rS6;nASllLE&8n%PE0C<^HC{ib*t|jIe@<&5q}oX+oAo3i2pR+2NmS@ zBN*oT%FnrfrV?@ceJ%5%ygrCYf2e2pU8^y^dAoh0nqOY`RN;0>K>h2}JQ+}03%%I^ z8*#KkRMU0rW7b*G+~)fkg!m9dxOoUM7FmK9jz_t-QpW8Jw{nSbF2NxKz!<-MLMitp zD3yZO9FU*eQicqkp`s8y2IwAvUowm|#-UpBrjdvaMO4<`zJC2A=hPX?e_6V#IE|7+ zhRW*p_V%;l+HpKX%^>`3Axf09Bc+CGFbgPaG;)ew`#^nYK{Mr`@*hLBar|41{9_!vlb2LLi|xcE6>; zYRMp%0D#Uc0mPWrrxa2pfAZ<*iqV-!c=ZIRI`kO8d%)j_MFH>}De$*)G*BmioxP&| zSUyRm)I`d~F@Qk|9`9u!CrT~oZ)gab1UEjdkG>~rQC4bh0Go33%T(k&r5M7b0Ot{oh^-92ie;xt8#RRnZIU^AB zorwe73<)evK(XKScqKrw2R(uUSSbdsk8{4B1G9!HWvBkv6|d6P`q7-i*X!Q|qLoL0 z&X_Ql>G^AyLEod<`(9)wuoVStHC^@l1O{HA#z8*?ixC5RUIf(d!hlBF^qH|oUg4|H j{h8t>%o6h|*Zv0|6HW4AWr@~(00000NkvXXu0mjfyuZ}A delta 951 zcmV;o14#VF2!;rdB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE50yNsD zdBgw!18GS_K~zY`b(Fzw+CUJ7$3jNpPzfS>=rIntQ{a#uDVw{MWKmFZK#H(H_$8_; z)>`F|sseQtUW2G;eaOX#$nyw&n9kZzjO~mRqs)9e^Y85J0>oxie_>}eD72H)9bs72 zY%E@UV)dFkpqWh*FE+2NUILspHD#v(>x{moP6D*MP3=kprB z%QV8gYJ8?IHK25Ue{%`-dNbQ9lj#&EXV5x-w4vUybB!jI&d}%);Elj206N_BM+U35 z&c_QIihx^Bat(ARbK77Az@<0h^)7Un!|hHHz-s)4b)m#AdArfgPlLg0!R3L7D ztVNnAuMfn;S2O&fQu_Oo#9q2F-#>mWB?fB_X`waFG0!}cu4``OIrwE15Z$q zh>ix(J_3FVe?L$d`f{n8MnrHBQCWX~c(@RAa)x3ScNM2WbjVOyU0+{+ky<;BXQ(vb z|L;kxded(6L9_>gJP;45zQR Z{sSLP@?kJUTGs#o002ovPDHLkV1mYAuXX?c diff --git a/graphics/pokemon/wyrdeer/icon.png b/graphics/pokemon/wyrdeer/icon.png index 8221d6ac4c288564c3c214bae01619fb3b102ad7..905dfe083c941b295ae2a9020d31b7f1a2bbbf27 100644 GIT binary patch delta 288 zcmV+*0pI?e1B(NYbbkQ>Nklb>!3`KbZ-ho>d3J~|^e4RQQ1!^D%>0y+~ zi$uta)xoNQ!V(jpOHp*{A2bmBiae30QOF`pOoI)D8Z46`O{5CS=*7X^6$0096=L_t(I%k7dePQ@?`hJ6Fy z!5fP!#XIkOOw1J$k={W#OqjYPQMxn?&GQp#Vk)s9#Ds?omVf(m`~&<>VAiLZM9s(Z z8Ld8R)!Y;4(F1JWDzj!{e1|pLv@1!tkueM=#catQqGUj80E{O)VEgurH@L9djwyorQ~&?~07*qoM6N<$ Ef&d|gYXATM diff --git a/graphics/pokemon/xatu/back.png b/graphics/pokemon/xatu/back.png index ac5e61647c5cc430cf32ce26dd8ff7b3e5d194ae..e838094e55cd8dd454bff6a7b142eaddf21d0c61 100644 GIT binary patch delta 579 zcmV-J0=)g81*-*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t87!K~zY` z-ITv-<3JFH1uncrQY=ESU_V5RF!%uku2QJbDHOxt#z_bGSfu{Td`1lIo0YKOU4FJ{aX@Ed& z^z z1FZf^s0ERrOVGf()!$)X2?(ca8G#G&(*n-kaDWmJ$_^5s2v|3EZ3K8ySrl~u?2vh`p862Sftrn?) zg$-0%pd##A;Gx-XyH!-0C3O6$AI_+;0rQm+GD58d4Q#!4g%R{3WCX}Uz%k?A2MEUq zU^2qS2V?}jh|wN4mp-sG8S!;N76QNkBb)#pz%YW)@3zVwE+Oy%`d2H8{s6*uOfKC7 RG7JC!002ovPDHLkV1n9H|Lgz& delta 570 zcmV-A0>%BS1)v3xB#}W-e*gz`Nliru=LQE50|@NWGy(ts0s~1zK~zY`-Ic#;BQX$% z7hG6HQix?iU_V6667T~oxJt3bzCy0O;s{qt1cEqj<2Sk55J;0IMZy*r$QB;b27>nu zmfYxHtdn+~KB^4!`J10KlAR=9bWQR+KUB{bRaNFEqxCea)Jn&Qe~GDAmFhD69s{SQ zTxKOtrWfBLg4pj~+Nt0_;sDhk=fN0=#_&hyg(Q1RVhCzlQ+=tyfQDpjH5L zZPya0e}QEP{06vOPzHA+8SepFJO~D2I3sxk;5cvTfUv__3Gggkgh+yR^a5?Vnb z=^8BX>eaVc*8(DFqap|?e|f;sOK$~)vR(lc0q@2(PJok|fA?Dy;4xi$cOHje1q}k0v%y% zfZJ~OynhU>`*oSW+lMpje8Bz6NEM;Af)1W}{IVOn2^9f~Az+_z7Xw6K1aKMQDF##o zyNTHjp3Y)mFzqtp>w;nk00+#l14IDB2-3dWx;O*=mHuY`0m61nE+GpJtpET307*qo IM6N<$f_b_2*Z=?k diff --git a/graphics/pokemon/xatu/icon.png b/graphics/pokemon/xatu/icon.png index 43e505aaf888559bbb1a61ae8b2f5979a40e5f61..ef8580eceb15b9b2935135d0c99d88041cbf4390 100644 GIT binary patch delta 247 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 Ef;CKAegFUf delta 818 zcmV-21I_%|280KYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_}o@ns}t z0008#NklBjE6vuU-!O3(7;;@R+d=(kQxoMJqhlAq{-3rBBV<;xtDhS25 zm=-eGQz4Tz1w0im9y@qX7DGNk``(@8*ol-btp?e;_tXFXe}8w3GHMl|RFm7v3`Yw!t}(t;%J(3ia?ApEdIAX4>m zNl0$Zi337?CDuGlemd`Zxgt2bHS72edNhbYpMVg6R{+k#nGow3&bfqC3Eo?NBZ1y_ zy(2KEbAPc?=PL<4fGEKT5oo>z7!qYEq;Y_e$t~7_@4Qb8;Iy1adMyF(L=y&6v-eV? z#H{=QM-mrBih;N@&+y(xKdypRuPsw zL2#8WA;p2*Y?@nGC6IlD)Om~)sZAh;RJ&thC2`@^Np|d&Lyjx1%76s(qZ!RFeE|Os zheU|vAnZQJ#HGh}K?|4K*QFqay#qT2y!*z6E|gfwWLFX1AAcpoGzjPwbxAPe38!V( zrf06qjXUr2bal<^BsaHaAh=u|06bO7h;!a&w4P*UdOVlO*=9BryGC9+Y6V_A?>)6S zST&ORBC>-@>zW{{am9!LP1#D$5H?lCI`1Wf1vT0Cs#=d$I$ghAvxm;Qsd*Y?I%D;w z#oYLN9#}M4E`R-jSg@1KZ8`*@-pObh3sqBlN0FOm_E8WiU>ezLx*r6bcym#Of0C{2 zGXdd0!lQ!V7ll0t(=+?x(lL&$OP60~lb!zYA;E$jC7mTfQt&=6VeylltlT-Tm>a;Z zSOEn1sLbu9d*j`AJ^~(BCjZ6c+HD{x-}U5ee#QOxElZRXC#^rrM!Bk8JMC0m>{k&V zD2sfc;|H;Y&U`^j2hMc~TfpGFgl%Bv`bz;5`whTs$KUz*1NdPI50M<^XaE2J07*qo IM6N<$g1xTWd;kCd delta 505 zcmV z00058NklLqS_73pbFtPR@7UP#rpb!_*0~_<8i$oxz)lwwF;HG}hJx zQ4JRp0(503v410Ms!H@;N(c*TviDWBwN|pNpKruNZ`;&8jxw8xde>sutI*rDEkXHVAa6Gn{`5^5t{67H9?fgTnZUX}E2g<`A0L<#tx8=5?F;l4>i&;1lpV%PX=M-B9a71{Y2$*+J_S*BmmGU zDxX^>L*@_wsT~ybTg?x`QE{C@XE|^3r9&YZ1fDowW!YLHgmc6hvou?#q|?qx$}a?x zgiAoV76=lW0qYzs9oB$|0tDDFFRTEmArMZ-VWC*$*}^E1j#Ey5`-HsKQDQjp*eBK7 z2-wjS81gFWUjvi(L!M_sn`THd>N*4G4S5G?1RWH{5d}NTah10`159o*8OtH{IKa#% zNP#0zt!#|DaKkCf%~f2D!WuVT6X8C5kE^J0{gB5SRmW}e%~M+f$lo#o3yCOT7*N_N zvy$Kp*}*FT>98<=3yJV#k=F#ks_G|~bXGnF8LlFW-h?|)J; zP!}~3;LQs2cv6&qdF2<3p!E;yjF()PuP5a_0V33jao=$@MRh!VVc+yOaxdV2JJIemLD5V!=i_iW z7s#@I8|-R8@NWQ^&-EWi`Nb~P^+0j>0#N)qz$Ad}VL~bMX!kTM0(J}q23}w$1V0Ms7(7|CWkx{ZVdV5PXz~m$sQ5SkFU=|akp+=yD?K|U! zT^5_I=z~&6wed`Z^Kchiaa8L|9#7OUc9Tw?+&ob9DI&12e~1Q#0I8icD+^LE4r&Pq zr*gBf2saC}MgT5v+UCa0E$C7k$nW3O@5`kY7QmRP1sW6>UIaS-f|CJPkrM;zEHn2f ziTcwsJunR0&&L;r{$=L&B)vy~$@nty`5Tp&)#-+S#|$=KxSUtM@%Z<+^8`ZHcD48Q zE|C57?Vrw{Lc6EueV}Rm-*y-H)pSkeUn{={RJE@Wc;79eefMVs&c5DTp>5Fr^|HUl a|BVmyp}B9=mw4g;0000o}!*!D0T+!2f5W!0u*rnbA zyX+8A-V;5wrjv~EC5FkOrz{vcb{r!fyOmt`dy*{6-jp9Qw%_}_@9+Ej{hrWDh{-26 zq!KE~cLFj43Z-1&o>BsTM#={Y%H|hxVdE}9F3X@H<|361RaQ3dE4hGFE4mBE7gP{|vIq$nyNRVj~v zGAgQCuF7j=?4^LR1!a^~SzPU;VJ=c^Y(k}yQeCTp0li3IQv^VNl-B!H>?2-d0&=OK zRAlnAv|eZ3)BuGD?7PpoEb4@G~kJCHsNOUjzU|*C}T6~1`L8a{BIq^U$x2fdXkw& zB-VgIc&6~?VE0VLIGD^QXf;||NF88|{WGu^;L$q4*)K2jeR|pN)l8VWiAOi)3Lu=F zHm%QJUG~*~6Ma9VCOV=k6BDK%t~p$P{dN6VzdanXyW)jKgUPGfSq}h zx!X`-^yU0uonxQSD7~$AGeESY>z4I=hH=y-e%oIHktQnMT9(zBC2M>@%ypon8-}GX z7H^1?0&NBq4|b8E8{h6GX~|nZm1wh@2rm&b_AZQn1PI97A1qCdqt~$5;phUG{^RQ@ zz{O=E*lfT59G~%h-`GPdIS>LD+=UfM2u}d$FZO#Uu>_Ov>3eZWzW+;SQL?JFu1vNF zzpu1E%mhfXK^&`g?N3(CGOfvcqLOB4OlDM}Nl! zawCUn6^*#1M}7Yz@v%RQ7lgO&FcN#Z@L0UnpWHYgZYC`x)8QqGJ;%|sesaxawi|-| zU)lfEV|th!(|x$FIP>DH#legBx@V&N;F`vZ0lF)=Wj=)d1-_nyHiEi&UjP6A07*qo IM6N<$g2~+UkN^Mx delta 1032 zcmV+j1o!*%2;v71I|fAK~zY`eU;B^+h!QY zUsEh}(7{r7>P?FOfjIjMTu}sxAs0n;n-LA{7uQL9b45?{K?E;tV3%qO?9xL-d0){} zYdXmoUt*Xnddh;KW5+S#v0KS?&nwxM>`i&GvHiXueV_01Ll#2Weq0MtsZ0}(8MLT)V!QW-3$_m#YMNQ$BYQkC)uNTZ^v<*K}v z#$KAn7Nk*DWpTBVe}=gTv9Sr6N=kJt3kLL(PKf}B(t4eW4&t?V7)k}DB9k}LdY*NY z*T4t_zN1JoA>WGs0c`F0+=Xvp4fx)ikDPSR_oGn~Gg=ZCM$leJ_#6)`#902Nj82~?dSPQ*~jO;Fgmk{~`O#S!Wf7Ai@(~dX8*kgc(LQpU< z-OhS!ZBNDswE^HYfieI!{80wrcRVK4nJ7k7CPvXII!;Jjd>Hgi)bgo2J4FmQ zPMcY8IvAYce@0hmocL~QItGA$uT#)`Y9|fNA92ru@k`HsuoPe#F~GGnw?;tg z*BK88c?w;IVBsVKRD0k*(pCkz&<=Mo^dkt%LZ>Hkn+FGu?>A8qf&e6y6@} zo~js!hwHDusXx_k4hQTkTxojfLopFoe_hwl@KM-j*SyWlHe?uoxIbEF zI3P3*Z>!x55O3+aWj&u_99N0o4pJc2M8zA+vO3ensD;E_2Rgc8So&h~nz&1#&4A*; zE;4lEf4kjzSn@7dO0?M|!cByXy>nv@gk%=j`IWHlZ3@%XOIay8XXU|NdT@xJq%6{wVUlm@S z7xe(<73188=fR5)x^Ld{0Oy*u% diff --git a/graphics/pokemon/xurkitree/icon.png b/graphics/pokemon/xurkitree/icon.png index 475ba800e134212529c98a99c90fcc5a4bc4ebc0..26cce62f0a8aa7164331196dad290e451c610e18 100644 GIT binary patch delta 300 zcmV+{0n`4b1A+sPUw;7&Nklb>!3`KndLQ|JQJ_OgoK2uJhp-YEcD$vqFaLyoT$Ra2*GH5Zx zuuDa0DvEB^=8sR})BjD=PallJBX^%P3J2LMkQ6ptk5#Vxw0{BR5LtYe26BjaZacua zh`6{mLmR#!-es&M@Q~PAqqQF*2e>l_kufNyuy)z2*S&Bk<>f5|S}B|5wOR$~fJ^i~ zOJ(;V-9<7mo1!4H@3YpqnkE$DT;)Za%bp2N@}E^rV7j8*Eq6^+MSYVeGgL`=`uq2< zfq}~xFrw?cCrPDVn+L8eq*W56qfax48O^|?N1G{?fvL;415{;T;MN2KoJ;h}+nA53 i%mW`K4}8Ec`FH~448$Jy<~tMs00001jq!CUw;A9Nkl(+331S{B z0WlaN!UsU2flv+x=BogpGd!;YIT)B%)yfa(3@?v>s#^Pj(tp$t03y4Kz-f?}~qRP$s=uk>5 z%be5XuV3v3O3Xk=!t~ORGEtNzygvqdNO`MF5z=K3N;g2ovyVgj4lzF{RbEwV)^jmy z`h8c&GC^Lw>VF5n(v@wy=B=%BL7xS|G-=ZB*W~`<54gYeZom5< zz1#2p*1NCW|K7XVysi7^cKz171r@+Qc4kGw<=uc8@oaly+vYl4-ksSOkv8{R?@4Q=wHrL%ow?voXv}VB*i23JBk2MQ3f!L=gh2 delta 533 zcmV+w0_y$91nC5jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M_}_w7Pf` z0005ZNklOK!q25QZIj!8Q}0AY%^TWEQ9_k$MB@IY2B>=m}VN(S~gokvKt* z*Ky3V*u$#oq8TAYv473WG2bXP*#9-i<^2pxS& zrGHcvE2>zC!ur%S&}IeIF+>Je4oWO?r7JVqb!5=Ge*fxFYOHI=VchFiyM!7`P@2$O z8d4XQ%7W`-L4OB^OJx-yU23qt0X83f?Amw8`Ni7$Cfk1BsZrBy_p4kN$h$ZF;3c2g zdf&XYE2jv&nd^RN@^9Pedg=v15$Q+MG;J^N3gcper*^*z=SHy;(Vy-9uogaheK;IC zBi*dYX4{EZZ!(n~@Oc_1-)?flpXgwN4fG%A|3~x>?0-(v|H$q%{R6vi>3`2|hIgR9 zQ&Dy+s(^n?W=kr@ZorawofzAkM~vNNSjarwf3ll6d#X+q6W+1gyY8QxrEiH(C5mRn z6G;E%>jaurKY`?FG=~X9xEaR@L=c1tBrP~iAW1tmb^8W8 XSA!Q8z7Cm+00000NkvXXu0mjf$W!d^ diff --git a/graphics/pokemon/yamask/back.png b/graphics/pokemon/yamask/back.png index bfe1e9f6a25bb797498b2ad510d290ff727f2570..fa2cbf349d15a88b3fd319e4d2b7efd7d42cbb87 100644 GIT binary patch delta 280 zcmV+z0q6es0)zvQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xn-AP12R7l6| z(ZLbIAP@ym7#nbj7Qm(fl8gl;gB8g3-->{dsK9dY;yC$-T>hKv0%Fha2H?om5)gsw z6(Z_J&wUf&c&j+et)0R7l6|(oqh=APffJ z5iejt4?uSTw#5T%!4pXDe-#07%OWigz8JIrVK4nM3T@XN`Pl%RrLqDv$9Sl~v zR7Xy()CG{P^(wxBQNXr=0E_}MQ~+q8djV`BBbpr)xi~^pWC%+(5u9;PY>d{4`-rs! zN}@6JU=GYgHqaw=9f&h?`nQ#xIxwgeVErK+xM_fA?72tt6$l>VeFh0^r+_*NCIze; z(8C8u2g_gp?@JtSWoMc|0Oe3}T>xu}zKMcjS^CfN={vL)FaCdV*8m*`!Oe~#ElpbBA3Jy-;D z2tLsxj~xPKJl|IF)qy~x0Dm4Lf`m=v&X5MF0+bnpZQ zu>4#3IZPmcYN)6#fHk&vEU?Sc3*VuwX>t5(Lx)LlbVsBvj{lJyxO0KL0byM~!+MQz Rv;Y7A07*qoM6N<$0fKr}Zd?EW diff --git a/graphics/pokemon/yamask/galarian/front.png b/graphics/pokemon/yamask/galarian/front.png index 56e3ffc9e07f3233dabb38b1d5a7f397de5e10d6..0a259f87d7a87a649360849e0c62e973d95c2898 100644 GIT binary patch delta 381 zcmV-@0fPSC1Lp&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0YFJaK~zY` z?UF%m!yphvpMnT?JA zWB%~5xYxfeUGchvnkS?I$G0#54Lbq=+d{$yU^2jY5U|@bKz4XOFdhW#+IH_)hnFp& zZ4YH23^Oo*98baA2Id}rV9S8g)I;mFAY?THT3hW`02S)|@SX_2W?@_&O=%>;PZm-y z8q{Dap=hr{wBVXSUtCIn5E`;+hB*S%nn8L~@;Cu#`18`$PzM_S5 z;bz)FpDcZ)43K)02YtHg1PIi*>@p99*Okf}2ci)9_)p@m1`D}Ze?8|H#C1LO$J2ZH zuYE}A7}NKe17b`}i>K6O;8F%+wm5y2E#BfspDx^xT^E@KLOgzAA%LmC6#|?KH}re` b-4fylY(+r24cL`)00000NkvXXu0mjfGzY0S delta 374 zcmV-+0g3+S1KtCWB#}W-e*gz`Nliru=LQE51PRoXl2ZTx0YOPbK~zY`?UYS!!ypia zpkSps>Kx?bR0-$1BE+G&RmMn}bqbZFKg>DokbHCdk>!t<8 diff --git a/graphics/pokemon/yamask/galarian/icon.png b/graphics/pokemon/yamask/galarian/icon.png index 0b37e835675944528127b6633d7d42f5086d37c3..91847337227f4b8add4c730952fc2a99b481c1b0 100644 GIT binary patch delta 197 zcmV;$06PD~0-b$_TyL_t(IjpdRt4#F@DMRS9%%%DbM?9w}TWMk$Iy+bcxJ1asl zO$K6Th6OzS_&c`#3*q+*Ito#|pfUM|eGqcIc~3swCnG@e`AKZv6KLDIfQh&ebqk0E zT#~%EQwhq*Dfhv+tOAPNhIw9s+K(RV(yV>(bvQ1J=l^+q9zKU7eUHNtqQjx4?{Og3 zhJ#JN;-Dt|hC{UJR~(9+TXBF*zv19^|1J(MdIf5ZvjE`m00000NkvXXu0mjfRVQ4* delta 215 zcmV;|04V>m0>lE4b$2QjQn)LD2Mw9=$v# zC!px{P3+Dy(zbO0C*nfXEl4cLCChg^6EH^2+Jo`73R3DeoKWWl%s=#6muBt3_u+G3 z@Sjt0INFam93=)EYWoofVrw|~_A3tN+HW`{-+slR_}q#E`t}P3YnwxJ&>Uf!asI7}=EtB>N7I zF2YI?ORk{-b^f;Gulo<+_Y0*LLiU1$=pWoWp@ggNDZ_0v0_Jjf5u5vnv@A`)k$5F; zEm#lF3&p&Xw6k{X##l&*MDh_U+4F~7_yEwc7NM>b_Ng7g800000NkvXXu0mjf Ddc0f# delta 239 zcmV=W7V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5CjyrlKzSS z0062DF1m=i^WAv_Ez)mC(TTRlTv9otUc*{@h zeCt1e-!If&pyUOm;2%6YA=BOWGuUX~`{$Y`>%v=%If_l-l^-D$$< z9COHRFkY?^nb-((1hpT%W~r^l3U|wa!oLp1p``C|C?Pr=YWf}r7Ts_#=|jaqZTb}l pa_JWwRy()i;P%;YaNdu_;R{G+WsqNH%H{w7002ovPDHLkV1g2VXLA4m diff --git a/graphics/pokemon/yamper/back.png b/graphics/pokemon/yamper/back.png index 175421d0ec781b01dff77d2a9cd09ed53fc23eee..43bd20452d58df506f2e248cbd8eebf4f73ccdb7 100644 GIT binary patch delta 381 zcmV-@0fPSh1BL{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tV0bfZ(K~zY` z?bE$Z!!QsBa5rK_YG@H_YmuNMe;a?KOqCdVQ*!^G?i?i{=Q?!>@#NemY1hp;cN+<3 zT{jOvQ$QX9&VILE6mh_Fd(-1B!1g+L&4>$%L(>d+aDnM&FrrgL!7X-EDBcbpl~VIQ zkDQT^J7|^~%*+w^zypaLpqM#A769FUMi4&&>|n4#Wd=+FkcuAUipMwTe;wi)!3=>2 z0ik#VHOD;9Ly(kvAjE`4fP{P@1ynx@B;*DZ5%4Wdy&%X!FtPwg6v4Y_02D_7Y$=Wc zDNFV0=a*kiAk|_JKBYV24+_11u0JlC}u$2KI@q25Q40rw41 zt+sOa**>7EmK#6Ufa;&}JBr>Iuns<1I>hftSh9Ze2iP3Q5WvaZ~7 bFG79*N^H2f0OSD500000NkvXXu0mjfu5zFV delta 374 zcmV-+0g3*G1pNb$B#}W-EC2^|Nliru=LQE51R78((~STC0bof)K~zY`?bW?b!!QsB z@YG^OYG@H_8j-3ae-nSCOdXJVQ*!^G?i?jmqv%{GF3z8j0+L!)t0k6)Bpg9`N8iH+C}^(JO-B7P~PN>jsZf%Egcc&KN~^ z&@2_0>m#tl0mKZDR39Ppfa*UZ2p<7PCuy#O`bDk@)`bf_I6#uY(07`7Q UxqC=uBLDyZ07*qoM6N<$f_kB%0ssI2 diff --git a/graphics/pokemon/yamper/front.png b/graphics/pokemon/yamper/front.png index 00b5aec4bbbed19f45244457e2dcb84e763930f8..d5addebbf7a0d7cf8c87f9bc95065f61bdf01e62 100644 GIT binary patch delta 531 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 IM6N<$f;r1rf&c&j delta 773 zcmV+g1N!{&2I>ZoB#}W-e*gz`Nliru=LQE51Tc${8e0GW0?kQ8K~zY`jn%zt+dvcm za4kWQ!R6d3i#)W@P62U-&_x+Mb#bzk*#ALCQ3&S}Q%@!5DFnN1Zn4G=?HW2{E{0mr zf5EQkAP8>U7VJQ&`rcU|C!O3@(^>b^d+$DN7#p9;G;7YwK;UFee_A3cl-^`bI@JSY zAow5Plw?Q%HvbK@9PoDkuOOs!QBy%NN7$gV92gbBV4skiY!r2o&ruNt@JIv0MGidH zfJng{ix6T|1hW`a=r=4u1EX_NixW6MpahZ65vqU&P{Kxl1vpSbAx9{}VNwF6_I(7+ z0uULXAp&Q*892~Cf22iF%T}TZV2}gBNT>j~Xyg_Y!A%P40)A#I{siAP6M*vo(-aP~ zP18OE;0Vvnfq?>E8Fye{3V?YWH300!pnoXAVY;Dk7L>ie#or)UCE%U}a|G)gChzz5 zcT!*kbve=5)_%*mcd#Rt>C)p`3z{Cl?T?(F9T1Nx(~1+Fe-`ns4WLQ9v8!w^m}n;k z+n28aEQohCRznP^9p^Y{UvU0&L4HlH)DR7t6mimjx(5E_gAzjSE6ibD3Jzcfz|TMh zR{}#gFor&W-vq(LRj(6DElR7?ZtFsVnh%egyDl&XnRcJ|Q}CG?`4E8(pacDUA;EGl zf8$WgCYB1Gf9>TjHR=#zy^jIZ==WIR(xPx)uaBYsOb)_l4+{4pwE&DWFphHP*|u!} z*0_a0j#3$>3~`r`8L|B1O`u}K_n3pR+cg*$E;cB!IwRMN^V{=l1gvqc5#0=BbLRep7a0>lKkLe-4;xq`4d%uK!Gg|6Z?8bn*hS`hU;=e>x zeV72odJ)tA%D!_6RtOk#b?`z3CH;n6Y#wn0cuY3{eDHHqFQUWP+MF^R#!}0|TKuT9 z1~7~zD@}0}gQ%o`tBvQXBTFz@$uyX7(BW$sL-OVi&7JPHpG>AT00000NkvXXu0mjf DPvl%t diff --git a/graphics/pokemon/yanma/icon.png b/graphics/pokemon/yanma/icon.png index faa882ad180c393fff52c8d15aa1543de854b5cb..4f9c0addfb8148f2a518524b128ecbc0064fbf6d 100644 GIT binary patch delta 305 zcmV-10nYxd1BU~UUw;7-NkloFKOdv>81?(L)yK zMhR%L+9s?5o+MUZL-m@i;;Ex67k03X&G6*0!sYE>EJ3x5*;F79FyIMdW z%$$f*U!x($FdG?d0%R|vi8)3f7eRj;NDto1)^r*^wH9}3O@BbNKI`S__R^BRCp}+9 zohDKx2k9PO**()#0R*E1izn6UqQrZ!xRwCSFh_!0qp?7L}8ZWvF*vifG;~!WMPChfJKOBFw>W z=gq=&N>yRHmnts8aCgHjOb?1M9jLz`i(00000NkvXXu0mjf DLDYr4 delta 343 zcmV-d0jU0m1FZv)Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`1``}^+H z0003HNklb>!3;_89{vi)&1`VB>yr91*v>AOt&_@R7MhR%T+9s?5o+MTl zB}2{JsnuWu2a*!W1NdVH%SVtKSQ!M6f>a`r@eLqduB@SE^na@djLFR#3Fc#T#F%C$ zqu&7e=h5XDCs2xDybWZB=w-ij8s4pyaB7!;SbMh1!|kaBeNA?L5p$ZzXbjS4dgbs) zQw5NmO)Qa2tBaERUw9TPy^NjnWht-YalZX~KB@%Ev}Di6 z9CkmqO;F7jBt`lB3h;aP{nNGys`h6^iFE=WfAj#V1MKh&8=z``e+D@iaXst+Yz^i_ zw|5P|mZu;Z+`ef6-U6JvgSQ`s4KPdPmGMM^mFv1Epr9)QNTrAn4DOye?Ebc zr|Vab39j8Vaqu5tFC#`1EqqQ7>d)wa4?pd1C}J{E!hTdUB_Xe0SQ+o{V+Ew}O*(A` m4ix_79Y%~MM*RE7vi<(1w0vJg|K~zY`?bN+$+fWn- za80gOIZM_iba&{I2aw~;1y7~mL0lO_LI$Hu1sj2S5!lb*sR)6_E-`rugDY-1tA-4I zhMaRh^x;bOUV4{ne187xoP)4s{Xd=O!_yhyjZW8lk#{=6F8t9Mf56Uy`N?NY3wFAR zHDeu3^d<&$G~ov&m`~b3^gJ=ZpR_JWMM!YhKAwyqz&e0mf}jK7_jU_l2GI9(9Rt-f zRj>&Knq&M34Dee)Pc1-#pbg*)5NNJlBU@I^uyt=Ldwm1f1 z|LS7{@CM-A>3{k%sDWuBuaw6UEFH%=0y$kNKq5tmpnn}6CCpN)Ns%CMZZB$p@xv?= zN?;%P4c5aZSknfS01!*8I}M=QCn4~2!ZG8r4)g})CMg2ze@=ah)GSEo2pV)zfwHb5 zaFArFTd?ei;eeG8>KTx86=1~?n`I!Nn{yYLh*Zj5L$GCRW z#NNAuos1ZcMYZra{ZPL~d;Iak?vf(LVKU0l}xcdm>ez;cOdVSf2tN7F=bt_p`|}HshM-L{z)R4?r5XTeHh+o+RS?wU>3I*C2b=-r zO>Evt7RYJ@rq>ym5|CvQLVz`@x$OyZML}JL8@#fwVv8MzNtnglrmhRS zr4Da6T5xcHj;<|CcZmZ5`u4l2vBT`7+ymYkJ3x26jE`YrggL$IHxH~Z)!pjE{ft(a zEaDMf3X}K13)4gm9|#jsSK)=Bv=8Jg%!k_d-%gn7Cnk$d7}f(X47*6n33K(s{a%=F X53u0;;$k|v00000NkvXXu0mjf|Hr_U diff --git a/graphics/pokemon/yungoos/back.png b/graphics/pokemon/yungoos/back.png index 4eada232178422125e0bccc85d8fc03c9ebf4072..de1e8576ab192ca4361ac8c89f8e7a289a4fc4b2 100644 GIT binary patch delta 340 zcmV-a0jvJC1HJ>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0T)R`K~zY` z?UFH1!!QtquVTxDOD8sth`ADq2gW4Ij?ghMAz66vuc~Op;9p71)hNlGLFx#7lco3N z-t#$d)_>K-{VTxA7;`xuw~F781G7fNo2!PNB+(F&L2ME4((y$ZK&HidoN!A?y9H1Y zJ=P4kvk3dR)ARm^14e9e#!6sh-@bQi;YkiUc_D7)h3_L7>s%5|PtepT- zKkWN~eJ23Zvp7H|z~Km#24tXEAp^t7z-lw=sNHhf@pPc;egTHu(TQJ<7in|HP`G6d zC~f+?L1_)Sf$|j9Y)eXlnN=vgWv&n+{7}LADE(=L80Gv~f@bG0J%0gPC=K8Qr}@{D mzcDC&+)TEl0cZUQ0ek|nC9BMZa)&Vh0000}e{PdU*NkwWYc?|AtlY(T2Rdfwrde^}EBsE8ix02ub4 zGvJN3vpdWHCy;e(Ks$b%D`@sJ06yL^NNdZ=fc+7uZ2%tDK-C4mw?R_|a6cS|G596} z)DRQ`@&q^>fzk#MC{~ETcrvirEjmi4Ogo+q^!+cu7(1Fq9;A*PUE!25pfu_42Bk5? z2EtWTizx{SYEhwdLzl6F^YB9jZGG;i6}+E>FFQ$)>^SEypn=i`A;C!gb@Dbk!S}ml fO78rt{k!@Eu_dd_-O1hU00000NkvXXu0mjfcqNrg diff --git a/graphics/pokemon/yungoos/front.png b/graphics/pokemon/yungoos/front.png index ce00b66399dacd587eff656a6f211922b50db898..4476a445b37d683751bb8e62aa0fa7b0401a482f 100644 GIT binary patch delta 467 zcmV;^0WAKo1iS>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hLKaK~zY` z?UJ!>!axj$gSurRsnnfQ+JOlOLF(9WFtAbwiLDheDxJFU4&@Chb;uA9+}bHpUjXq^ zwJ)KhO<=B6{)Z4*>93DrDHMGih!SpOWMQAWu~Ega*3SCfU7zCA$^fhy3YEZi~Va zA`O_E!axj$ z6Lrf(QmH#9+JOlOLF!mI7_znw5?d=`R62Fx9m*S2>X0EsaBHVXeF4Nv)xLxhHG#QO z`4gQ^=g;_GB2)epgneg0xV?Y3OgdD=d zfv6eT)_c2pyk+1?T+<5u+=tnukM}DzTdY?MK&HD|4meFGVqg-4lK>%vy|Vi{wx|mR zEF^<3AK?K29*aqaf1M_i))w(OO+NvOgsCUw>sp(1_nz(&IuH5RmD~=6B}5vqHtE+^ zAvXu`c;T%}7n|f4wv5P*9(LG&{ZNkU3VrYpdBggTDuFtF})DkTB2^bu7o zk);X~oyQ|72L$*EF|rgD^b2tVaUN?xMMi?unM_5+ffB$*KfQpSr3QY9%j!ZLy`}wqZLWXvCCRUpSOe#IB~Dyv#_Z4p8pe=O8%iE^*kBP6dXF`L zn!qI|2r{;4uqFV|PQ9-dS^((z^s=y-JVICSEpFL)FQx1hgH^}w(8^Q|4CqS3smhHo z^CO2*0000O{5Cs}ZG2+Ys z006s5L_t(I%k7e}4uUWchLLX;f2bQ52T2!BEVM{R6DGZ-{r@(1{hKdIex*cgSoSCL z#+Ec`i{xClI*pn}#i-qd9uc8qtN~OoF8OGJoLe+lj|M;+dS82J0ig5K%c9TZ5lrD< zam&toDWy@~cMn}L* o1Z@e-!p9q!dzF6hA$V&(UO5hul`5H-vj6}907*qoM6N<$f>V86MF0Q* diff --git a/graphics/pokemon/yveltal/anim_front.png b/graphics/pokemon/yveltal/anim_front.png index eedb0c59d105b821fbe4b42a5ffa70b1c11ed64d..cf09975e1278886e733fdf60b3b8818b031a84ff 100644 GIT binary patch delta 1798 zcmV+h2l@Er4(1M!bbkiiNkl7J$iHRj$m?mbJ6Z+DMx1xFnq0t>lnM zob4Qpn(GW1?2R=bBc0&j!niZCz>coUVHdFB_PV=&;r^(5q-aN$l{q1kO!PiKKJmxX z7lhn}QSBOhfBHL(Pk$%L!}n+~c)t-=0fKOnBoBimc~29H_kTFqQl|r&*E}r>ROlb@wQ&kSZ+hzShta$W7zC5!T z5m?_4QP$As%zw`zrfOUig$c!6gnA^D%b@zimJiQ`DeJv>faw{(%Q7G?3DJ7$iU?CK z0C;7on1@;_16Ma8L+t^G+Yw$FN%=_6gpKFP#Kt|q)wQuBukFonX+KIM02L+?T{ znu>yQo=;#YBePIIz$C;W=a5dQFb-$;ugnnkkR%gB$xcZYySY?ILNWlp`!{`3@C*Q~ z*qm@t0`M)cxp4U3f04Tz1vO40MyP#|OTS?QTMZ`vS&HmtFzzPNYGfxO{qfRGHUKsi zjWVvX#ed+kJ6Ul%5vg<;j+>FKxI%ZZ;K_u-LZnJ@UIi$JYLP+#NeFv_iF$&q)TsbU z`Hd^PG|GQ|e6&F2IJ{p0V}}0nnC(Od2zLK#!Az2Djr=Zv>z174X~DkSF5fD5odMDsRvVTMSJvxlg zoqrqw+_nH5-+%0v`6obHkRT`h_3_j8fJ$Z?#P5bi`~7Ye5Rz6D~LGdS9? zTSVpg1Kma>)Tsju%?X^{lg=IJscm$sC;`G*l%Foq?G(;y$94$#Fzf+#ngEdiI*^Q@ zMQk8W2&n_N9WG)?^b9f-Br-WW8$rgHXn!sWUqu}VG(jO$dG7!_6=#4Z&_aYE4uBEr zucuosrb4lNy191%tsf=;bUWZA4ewnq6tx6!fB-P^9)Iu#wzEe$*XhXh4wy*x`eFg%4eW2mri2k#+P3d* zXxp2g0Kk1*8kkD}094U-TOoKU{#vYN7XVlT`(bH;jaGAAmKms@3fg%EKXQKMN(7)| zpgITGdDw`}z&RXTcgEEKIs9}>#lPKvq8%J=48SXgenPo&-8?|b(DBjXE`OKCtXwvg6Adv6f>~I$RPRM>t*pOocf(TqMjBssW&A;}!P~ zNAKzhyrLQJaI0}Wfmbx;9gZ*R3A~~q?{K1_nOH@Ok$1T3_$-d8RWuZo4%g5t1E*+k zXq>|}0lq<(4)hkq06rgs)9HPJep z0Lg1qOsk33;l%E7-!zET#JzPmkh}~OpnV2_CK_?__^XUm8PG)cv(*F1V_62R0nEKZfF_o}93+ndF(-uU$~(epVwq~Y z+|DWQWsrqc_69y=1AobbkAoKV=KMNqm=cgYm@saA38ZYnNgcrbb!+=8qt`hI(OeDn z83B^l`ZLOT&zO$nQqSsuOT!eLBPFbQ$4vm`BQB`>Y6{!GL=Y92+plK8CUH@ECf*gm oe&MeGv3ucvyoEcZGQhw80p_-4laL(`#sB~S07*qoM6N<$f^U&uGynhq delta 1797 zcmV+g2m1Kt4&@GzbbkN`bV*G`2j>O{5CtHQJv)8?00ziOL_t(o!-bc>Z|gP?$Hi8Y zCo{BV^>ukRlBFAagwuACLn3kB=HO}RX2{@f)PRg^f`f+fW~4x$I;Cg<8(zD$|3d$$ z9x2(+mX%a+e(AnCo{o3NPdv|E#H(Dr_s4&;==g6M-@W&Gy?@U)f+Pr0bo<#dTLFAZI<=yKv^-1>FmvT%+Y#dk+iVoS@%wP7^64pJ(C`#$wDO zT$!n231}Aa`+t#w@QHqU)9OaFeE}IHy$Wu?r$dK%n56Ct@0CsSIB2nD%ukK)YSxnbQOYdLpbni$~U83P4>N zyF!MqtL3dR0PQ$HGiP>_Nuqp8T?jDfPsFDTD6a5PDSst_;TDmJM}R-&s}N&E2N{Hh z;$C&;8KzLU>@&DAD|Qoz!C2%BARFOUhGwQvfk}u00CXo*5CxOlXKpCJi{p`DbfYAX zTrQO-(HRQ9{+m50d_Vu1o+LjzDV%zU-afmVT_}YQ)XY}yewGXMnmX7bCF*4 zhV3|941a7Ql5fvlvQc1Nu`mUd&U)wV(E@BD66rkbi;*utc{jM>@rdC@BuW7s3K(Ft zp7MMeQ~rR7dcaa@9SD>v3s<&TnEh~nZw11uxqQwI`*5FbRK0+-7NKF$%lc0#s)B9f z1!LjT3Oru|$YTL9;S#qFhE`zhRlx-vz4OQq+kXvT{w}Ot!Ex7L+{NKbW1Y_V<{s@r zK~-=zN|)<2oqs!e#5_cPHAeD9CpC}hY;!Tn!gb`furgR0v*F_`+FZOl8`TQh?;iX# z^8TR9c6W(Jc_O%L;%0b%gr?m&6zt~+albV%lQdoKssOKRdgP~pb-A9u9NdxpBgKZ} z3V-)U+XsEReet$iZ?{5wv=@-36=3`Rww-71P|`pL8SO6jPum8S+zyCe4GXv1%_7X0 z`0#QhAe4TEih0JdwXs^n!TbBV>Cr$ZPGDF@v3HLqx39-`(5bu-P~c&9yhYbz?AMl^ z5cn|G06%u%Q6DFe3~@xP&`v3>3a(oqB7aHs1U=+5G#NixK}LjX5P2CzRp4vt1sLV6 z6WCOo2sFhJA`Eo`T%meAU4s}4#k2A1)(Kd(nNXmcKF}n%b+b@ZtH_rq@CHE=hR3B9N+F40{C+-l$SVAfN~=z>#VNlcO24nJEMT7e)(*GWPx_ zaY$fmV;)s0u&r<5pdWoEuy2gXKYva8S`-MPlkm9|lmxc1t(@s(FfJ3xpP#INmIU^r zu`Y21o;2;*jbnTDJqk#d6a?lRpa7$2x>E3;^6&D+pQp zEKB9N<)CsyeMGb!!^t5!FsV{=DSTB{7rEAQ$8bMMfm>-oVRvfcZVav`P%>O=jt+`i zQf0dnhiE0k#UCF8%y#uGN`E4@h&C)3F8;U}s)LFzVkBA)O~G(+xL@I*hsao%9m9pf zJe+i4Fc~hOWH@$HbxBi8p4QW4N~jj^W;zm?gu#F4!^LtA7p(hEuN#km1CV z)sJPICpP!nxQcr64l`HHcB`kW^?k$4>2a diff --git a/graphics/pokemon/yveltal/back.png b/graphics/pokemon/yveltal/back.png index e77483c672c15ab3055c675c8a1c947bc0f9930b..a926d4a84ca5508ecc9faa0bdb62d8dfcfc60e76 100644 GIT binary patch delta 556 zcmV+{0@MA51(XGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qsddK~zY` z?UcQ0!!Q(u?c%l2i$lDt$><@K$QDRyK?~gi88eiY?1q2>oeG8Mb+Y#ny0j&9^416G zy;5Y$KgrOpJ)_R2bFL*N!N2~X5KzZ$fc^?~lmIk2=i_5UxO(7LM~Kk*NL+LhaS8DI z?uZH)cSVGdos0d$A~ujA+CxORIly+h1i&FC>lh-4+15B(Bye9{8V3~+HmcXC-Tp&3iSM9k|Yk!zU6%?Q~5AZ|q1lEO9MF6Pq$QE#FK?~gi89S7g?1q2>nUTI0e>rE=`E<^;q@>q7>;DP>b=(FR zE>TAbK$CMmIYtD_XKr~oB#AOwfTUa@wbprG zauJHUe@VM=`#t)43rM80F&>A3w7%AxT~DU?%Syj~Kz zKZaS|y9um{N7a?jhn)iW3;YCOfn1K^s--*AVv;M0;j8NtCxqYSh P00000NkvXXu0mjf`~LM& diff --git a/graphics/pokemon/yveltal/icon.png b/graphics/pokemon/yveltal/icon.png index 06cd3241356458aca053d68bf7d017e88a452c86..1d4a29ee218db299631009e150114e69c0e890fe 100644 GIT binary patch delta 375 zcmV--0f_$e1I+`FUw;8uNkl=Hp3`MyCci;f*t-PJ->@vqolT$b|-tLQW zL8%{sy$ea5Oz89xl0JIQ{q`aA5P8oSM&Zz~-G=*ogb=#mRc;&wg(!~OtAqy?IC@D^ zKza7?B=n6cQLcKxUgppD1IR6&rakTWSQ0e1`ujQy?h8{?dw=7ltm~2pDH^2;Ss!CB<0I_trQ}Pc5{jVPVDXl_8>_Y zOi|UB;4Ksn=_Sm+xN!$wbX-7l^j$E?{onapVC+9eU}$KJz!1jA01WqOo~90rhoJ#E zfvLZ&yszt&8gMXM-98P6H#T6>hPpa^%m#;;v+ndQ z^b!9#_uHRp9x5UYeiU}`>t*<#ckg`{Ncf_oAYj3Md5s{b0DpTP{20nl4^oBPR5KM1Q;d@Sy+~#k~#JJ9yg4h}2vMh5_aFM`O$nv;q$!05DJM0QGo9vWV z)D9=seO%VFHX*m!P7%@X)AzdxjlI+yzraePz+>vc%MY zS!?=gINY=WlUCH|&TOku3jik$5^4uAodFsUT7^tcTn(usem!arl+J^b)q@8> z6l*Z!&I4@O5>tKyqzsHzf|MCA!FER$j3#z#(lH|9&luFs<3I0hV+K%iKpy}A002ov JPDHLkV1l7Uxe5RP diff --git a/graphics/pokemon/zacian/back.png b/graphics/pokemon/zacian/back.png index b663e2dd9b9b1751083b20428e736c1c24dee7f1..51804d365c5403513431f04a4ff1da5ae3a09f03 100644 GIT binary patch delta 582 zcmV-M0=fO71+E2~faA2g4r^#5zwm%Q?*%&V0__MegbgCI09;uhU}FKf$d$DPAvxDs z2JhkUppJ6V|9dPQ5f%t|4_GcIncrFWI#~B0Q=`s*T3~ev0|1zR|FAC1Dw}|>-@G7^ z9oYT-?IEDl0NIz__SZBYYLL~cLsf0Bry#BM2uOgvt*YJj_oP6nL0VFlo>j7h_+x-K zLXXghBt->w`;7sbkNTMQLLi?1lj3u2bPyXof>0pEzfvqrpgR;olvpEvzj?Yb7CqJ- zpx7($i1>sL#t6rMo8cxk3MA)k~T1)>FzB#}W-e*gz`Nliru=LQE51u^A~8;k$|0tHD#K~zY`-PAE})G!nP z;7hu8XzC0%=Hf#TsRPan15%bY{sUa)ArkW~%v^>}42X)2NH;u*6^W6R4ONOz)&3}K zC(b!%htA;ThWFij&(5t@^ul$7VzyOi0G8jJfm!Dh@cGLuNM!|fd;7te zM{0rm({B6YXci2}TUDWHw(q7OYfTGCfW2s%-S+1sL2W=*Qw#0K~zY` z)z!U`k}7}s;ye~ivA};oafbc@8QOvi4s_|#p^!qij$OO;oxXgL)XwcK2Yx@l_wG(7 zY5(NVYwA=oc1(3Dj!MH&rm_mGsZ1rqg62j#RZ9BMEuggs;IvZ)09Y-WN`PL=KwVCH zBM;0COdSEM9553jTfJUSCkR^Y0swlCZ23VDxF&xBy9BT`kn!M{5d`%DAh5O-L;wtc zBG3qI_G8e&6zw|80}D2T6c`9-9<(8@5V#yDDFHgf6$aeF6m3!jq#wt*!x^m?foApN zIJbC*8c=9b+m#70&RyWF4D^x&2=F*b0W5h*0*=c7FxW;8_H0h# z{lI_ed@h2eAOT(%PveFZ!5{&yJg%GX1+aI_Gr+CYA69-5d+sgp?bTnvfV-*N_hw z~dkrTO$3NxZtBLcb{3=ZU3PImbr zhOE;FM1PbOC^dtZGLAiR*(H7wun8+d!Hg0x+Ju$(VR5*hfIoiO{;Q#BzX9K^U+Nmd RVFdsH002ovPDHLkV1mw)QZ)bo delta 724 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 BgOLCL delta 866 zcmV-o1D*WQ2gV1GB#}W-e*gz`Nliru=LQE51`7zRk^KMw11U*FK~zY`z11;K+dvct zaN`vQ9Gj{GgEXIe)0~Sw+tB8~Zgq*IS5w6ruNNrQ8OD$Q#l|Mk&QV9kx zK;lYK^P&3Ac1#kA**GauF890pKi}E0AUsQ3Ql9`a2bCv)WR)aPe*{VyFr+7d-Xa@D z8Bjphtun9!M~c-d0kGRwfIhw%%I*oYO2Ns&fxQE(j{^YxWdK$QsQeflfL&xrOIX;< zg1=f{e|};BuZpdgS63CO5X(m|-VfTK6kv%`sb$K#l=rV(*L@FgYc_7CJ1Z$R$jH*J z$lkc_TN4tgieLple|#8hjZ&JXh=J>NFH9ISb}OtTH-ZFd)2K}KbcwC78yr$_g7$Dd z>8#xLGhk7DZJH4fjRK4#I%b{Z&k0PIkXTj~A>SziCu%Zmqb?ua#r}}4Wk3uwz{c!i z5W!wL|HMg#RPW>2gvViy+sOd>e>vzojO|mpp6yJ-=fH^$ zab?_5-nve}2+^iR+$nfNIME39_??j!IrfPW`qdoxI{t34(VpvOz;@WCZG=&NosArH z@ZN(o!)_v=jc^8R0yH8UFFykxec&MJK5lz^q1-5!ml+vpMm5`aGai0n=*W8ZFKKowRH7AkuUM z3Wl)BByLUuR_jSrHo|a!y4O0@dHL0L!2aT??R#GD0k9Ad60i=#Q}8@bmJPoEk)|04 zEKja7pODMS0uaXtYAL7?bvwS4YAH|~)2FTBYlhbYfAzZOoeJA=yn&!M2f_?oc?d)V znDIe21Tua6L?ULu%>d8fV5V_k3CnKxR1kO(cpV#aK&WNF#Z(c2dc6p)y;JobRB*yW zAUpw74vu*}u}ToAWOjVnD}cBi!YC!_$!Ik;W`aSE=mgnGS>K=kH8>=l5V z4={YoSe*m>c(EVzix3Hpi=W-@3=q%HzaYTzc*Oj>#WWf38t=X&yl`^PtzvccHHJ7Y^3(qq7EFlsuh|3W$2uG_5MT=!$^Fvhn|9{6Ltv6ImF*LYR5`rl&9;Y1dg8mW_D| zvnjO;Bh>o22Q^`wjqEH;zR4m?T?mu>NW!?IAFD7&KRD`m_G9qB=*JgzO7k)6oMg=a O0000O{5C#$T&S-}K009_DL_t(I%hl4ca)cld24LP` zAI3|Qf-6p2n>$)~vvg^;kXOo#ZbO007#j;WD8^ITOlA@){pSZ1J|X__fIJvOR-gc< z2x>F-=LTuBK5RX>%g%rZVY0wWFkC9FMmENU3769Nj$V-_Wq$ze(wLQ}N+T(nx4;k7 z=|h262cKOX>#mV5 zEg}Z0Z#CLk;Y*!wUr%Ok)NW^0>R>cjvs*G z3=CifX4MrsG6%zC*8Fy3(nhIcS!1}6H5VEoa?3g+lTqUE!X cKK!DOFLg@uF%FU$B>(^b07*qoM6N<$g0=ONpa1{> diff --git a/graphics/pokemon/zamazenta/back.png b/graphics/pokemon/zamazenta/back.png index 0f18a6e6ff5a3c1550339454a0c38311e8ccbfe1..25314d5cdea3f1b1330ba08c7fd04288dd1e012b 100644 GIT binary patch delta 694 zcmV;n0!jUo2Au|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(MD6K~zY` z)s(T0+CUJ7jeJUt4T4ird5&vRaj|7cs$lOEoP@6BVl<&mgJ}~>X4^!fppF#jc*@Ky zHl8(3>SPL7-F`Ro&p$gj|5kXO*Z(W<4j}Lx=he!oKHA~>0N^>ZlFqYjSBi&(iO+mD z&pT4|_#P(Xt>?Jd0o+i3h2`=Qg52-BxWBG3g!?6@fUzIMXbL%=ECBb9<{konGRi`( z(F+6+L3Iz{!zj~;D+_QF5V6R#rWC#aq9n$(QmU#lXW%ALvcfFiAu4t5)c`$ctasI9 zzR&Z#L_ME{z$R?L;#>mKqbLe0NPAa0D*$HTOq+1xNDL`;K4X< z5`^^>@B#q5!5RpEr*1uk9o97fUjJ%*h%a->DkB6sq1Dr_*<%p;{?P(32f7@U!lJ!FY%k5QYRyFHP=+&Fplh zrcM}!(gk5Nz3Z%bZWo*Of{33}0h~uE2B8a#x&S83An5lg>URN5n6bq;oOS}dQk%0+ z60mlLA9rCl;mEBt2x4Yw5dZ)H delta 686 zcmV;f0#W^)29pMmB#}W-e*gz`Nliru=LQE51{jPI&?5i<0(MD6K~zY`)s#PP+b|Ht zWhm%u$%Y-YlP=EE$*BZc?G#h|1Obe!PH9}Uc9Fcc0%Wc&kim0-0`aHpk=7qlRy(&h z*o67>-Q#VzvVvGB3f&%DAs{AtnYCQ#0;~CIR@^8U}mS6Y~po!|bqE*C! zn-Xe3k3sqhNv)+Z&16gLGg(gm3`j~!mgGq95FH>Z%m}bGrqU`htOvxhS9FNAA;D0f zs=SsFgINcph!#<-ail!Ew{6thywNToE3f^7!(& ztAV6*Kq;jLl;y|Q)MYJq~M zrxOuN1?Vf4f7wri22Q8%T0?TMgOK`>ohaaEa|Z1pT0j^Quxt-`Fl<&%3%+#1Ff?5- zY^LX0tc`a|(%Re-@l$HPK>I<+5~CqN5jqHZKSkpqKoL5&7^llYKwYWq?2`$^wuy9c z?L#<8*1L6x!qS*!y<2y2hyh@1N$3LtqvfTMM#ZrSB)I+m%PPij*o9VtaQ?IU4Z&CA U!aiHpg#Z8m07*qoM6N<$f`{NY*#H0l diff --git a/graphics/pokemon/zamazenta/crowned_shield/back.png b/graphics/pokemon/zamazenta/crowned_shield/back.png index 7ae50eaf21904cfe7bf0763de006981ff1165aa9..c5a07e1ddc138e55f128d35822a6b211af6f8c3d 100644 GIT binary patch delta 803 zcmV+;1Kj-n28sueBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0^>jTQJCjB{=|KKIKc4q_=batr|1Hmd{1;-s;rkMD|75{nH2`s| z>yocNA|jE%-MwQT$PYJvB6UPU7Q(LwlM;v;NZj*lEk)EBcplD5#H(YzdV}D?Dy&g; zI;V%{Ip7AeI3YO!WxVO^^Q^2v%q3}WI=?t8I}8l{p|p53?JUl|I!;d!ajE;P08S@P zCDR_Ut`ho~rNP+l$-)90FZQvHsud6kTuhuK2V7q{P$X*b+U)>;(7Znuxq+?_!)oET zx&$ixC@&%ZrI^H5WxgPglzN!Fce#oQN04dOIleR0DmH^2{8nS1W>s zEd;&^3-AJMfI;Xv0BymA0YpS?7L_@miCBz{jM%7hP&?9D%u^fiNmy0@Y%v$YY9dnJ zIYtpMGkUtXe%}axgnCd4c!|KsjG!ewcRHFw#^+`PCFux+j=P%yS^$|CXXUYV16?90 z0G{%9v%4Ad15O3!{KeC|U0T4aso4Z2RtW_9Kg^8OY=VR-=h^M`!~jCG2@NnrJhT0jwj&=Zj@ zFOOHNrZr0&xJ>%XpVhnxy8;PML@(j}<#)#dj8*G#KIku-MVITVjb}EFi&1R^GGmtH z!y2#!fIgC4Y+{G3K_LL@si+K^kP$VZr0uTk6M!QP43)u-*3(h62Ka>S!R7Wr>q2Ni zXRHh&#@;Y~wpZw)tAMu(5U=5GML=HGsEeTmBtsAxn!w*Z)CGosF7&gX?3cjyKmr&7 z_Cam4^GsKOD}FmsI)-SAk#^`Z#+d?AZGa)R#4tavQb&`NYaK#BgaZxi%j=(`o*O_2 hDu%}W^iP-L{08dvP2&WOdr|-Z002ovPDHLkV1ilPaE<@~ delta 794 zcmV+#1LgdR2mS_-B#}W-e*gz`Nliru=LQE51|9r(B&+}c0^vzSK~zY`y_GR*+dvqG zr6SXgmSRZ9>U<${d?mB3D7e8(3bxczmrz=rmkuS^y492vT>1wb@+UgDkl?j}4u<@W zEP>KJ?)TlDq?7H^EeE!2y$|pAes`ynWj)w%+-LtG4jQg2A^Tqze+)(g5WBi6x#|)S ziFo$jnz<)0c0lTg_{@iYPsRlhG>~}Y)>?|FGw?i`7Kl^FeDwywfmK+eYIV+!E;GRP zWN|_=0?Ig(>DOsdgP23o&SZ9VQFQ1T`j)hKI_bk3^sRsHy=1FNo)bgNy3xOY^1UQ~H zz##MzfVSYm00N>Wi^?3(L?}`tBQ~lW)QoiIv$zbn#4joUe>R^9QEDPk-Wf&_Ff%&3 zxc=S<_GzSuqCdIb3Jzc`f0Uq;@)Afwm z2B(5^{`$pwmnGos#B73+QV9h5zs!u(Y=ZbP=gIx;*Z_R93F5a?o-FUC2H=$)ByfNG zx#%)5BS_%ne`a~ds`;+>%q9qh?bN?n-q)XRTq*#*NMQMgmVi70p=TmlT%RnL&C*(y zf$ONh_+2fXAjLW1pNU??`-`8Oju<&=J}+)lMFga&lR${=9u zJ!AX1F1iZ%paAi1O9Aq*MqLa`Kr{rAAp^I2s0$1MUFc^&Iw*jhfdnuF%!8U{>!q#$ zNBmBtbPUlJBkj;-j57tq+5kgri($53rH&>s*E)oN2#47#O&h(?I5DepBwEzGB07*qoM6N<$f+Svd3IG5A diff --git a/graphics/pokemon/zamazenta/crowned_shield/front.png b/graphics/pokemon/zamazenta/crowned_shield/front.png index d16ef83dcb067e320d0bf2978209cb05c7ecc99e..4d36d30e8d2d7e245bd00df5a51526aff8fcaf43 100644 GIT binary patch delta 1044 zcmV+v1nc|13CRhNBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(u&hcf}Ak-H>+ z)xds>>3g61zIXTDJ(0UsAjBvZisW7^5yLV}`(A&+GOTK4>wdpktyrdYzd*^dtg3ZC zP_R;aAcEX(S(}A?MPC;)t%?NfjeLdYfSv+Q1(7WykD+@xa3Ul8*vA-EBTrK2Q4a7U zLe4JTii}aUGr!*>#|r2kkw@|6OIoRaRH~b+C5OXM=t9A#N8~*2zNEBTrKy1K0QiB; zdkS#-kK(xNq5@?r`B&f%!GRYF5U$?2bX`g*OG}CVcnGgXw*c_YrEuvcqvfIu>8<>} z$Q7W&_g!{Ck7?N`>Lc`@jsVkCK;H$&t-HzOv7iPmb3X<^|3F=YcEmY=;O@nLn2Rzd z!u<%)5K}<^E53~j{i~lqQ2J>f;wbe;DuUMk#@qfDyiR=evp_$GIQ7Sn1D<7VL)eMq zAu4^JKRnL^}49a0MeJhRFYYy0&dGZctK zb0|*S72(5fc?IZ!=e&KJ$iTcAh{t`D#}tN8Q~j%1pU?lD-JsuvCe&y@_4|P+XZNr- ze>Y<{xCkObfTw;G$WkEMY|4@}^SUese=aXFz^~2hrdTUU;!7U{K+E`l$Q#K*p};Mm zeRp;fcOof}Bx7s@Sty2u&tmY_`MDC9BwYH3E*GU7(7nd_6_2GrYcd`U(n^6aa)5`u zXIFlN0xTJKF}_Rz4vbosL^li%FlrNlad(7u!ZU!F7#j-Ee+ff&9;?E5JVKk!BEyp-9G#d^O_f9D%cJ7#-`OO|%eNkw{p&pUvm<#BB`fqHp!#oT52v{VG@`BFLrnoStGb%TWc?lpQ|*^akv3c00ko-VKazE_Hk}>b z0S*rppqZBXVAHz*n=v(1xAvG4RsE*^W4Y9HN**$H$Q}j=)7JWkkpBQYH{DS*@GDOM O0000|;hE=U>-LIR~ie*~&8 zI#9N>e+m8o9C)q(;p&|$*QJ!Qw3MjF19&;S1Aup~giALWEf-}-Z>jqtcYqGxci90w zre&k34^clI0;Z{ez6*|9ca!mBK@D2wehh&6nK}sVh;snJ-OGOw7iCO@`w`$kOac9` z_%=@TuYU$X>8E{&qg0Pn1g-y#xBV@6o%s3}fjWmc)nmv3&$6~5?8NZ^9XYyaXlIs88C#-YY7CnycsK992=@~>~z>^ zzK)S_5vZSGD9nG-G?=tg^(~e*NbZ4I{Y9QI~!r|cFdK|~1f zR7Zm>1)@zSEJ-u3%VO|n@*o5J+RRRhwUQ*h@<9N!jE{f3p)3>{+yUD6=eKbuk_JgK z!iyja#jx;M4Boo9PzK|KOMT#SQOW_`Yg}COSQ@m(qv2UvDG){u@UZvYwI87YOGaIc zFH?X6qn0Jn4Z{PB+C*T~9b%nu4>?{zy?r*Y=NJA_6!KmEnFK>S%219@?0q!|r?|B`Q2oElA7?-a`{F_{kbD-A<*&sNBX3#nxk8qbD+KbB{ z$A-;Rr#b17W)O*iNJfr)HR9EuOf0cFv^Icmm)r^fbpj0f)LzzO++)07m_kfx~ z7Y&)h6A9Q7u-mIS)XJaz!))2{&7Ix01UASzKtC?o=@WUfW2S(;4rsJYmjM23$qIc4 zsQYKPhuvHP8qwCzp{9VERb6&tvVIPPsq2?pkv5yJ0NO-dKa$;KZ8AMv0S*rppqZBX zV3SpVO_^${TYF5Is{5w?W4YC2LLM6IkUb0#roH#m{69Q5-BAp>_(%W%002ovPDHLk FV1oEC>w5qI diff --git a/graphics/pokemon/zamazenta/crowned_shield/icon.png b/graphics/pokemon/zamazenta/crowned_shield/icon.png index 79fd5c12d97bac1d75b2dc1d767f575a78576f9d..52be47e349a1a7536c79e08837298043b5dcb207 100644 GIT binary patch delta 405 zcmV;G0c!q_1pfn&bbkSLNklb>k6o!2Rju7<%Jw!xSd&!}k40!1fJm57j z&@-j-U>F`qbtTimuaLxXoKCH}6*2hzdOtjVe_8f-i^T2c%4a>2{w9#%k+viCx4I$Q zd_#-)jY$Xx|B<)bJT_pH8p_i5wxw;6VVzurRZafdZm1`<^ncMqI@g%cx48?dAlFphN`W;lR=XQjoSg@bG{3!+*-fim_O4;9f8padHmN>(2wPxE(GrS#4+t7|EW z_~gM4<4$xZZGURf7MLQ4HRw0P^$CkhLeN=QBjV~3P)3d=gSF4dYRYgZfkk0-S797s z@76BEDP=@e^?7msmr75lzZ25cun=Ms{*r+ot$z)Segwu&z_@R~;1U>jiQoo|oA{W4 zxkh#cX6EAz%sn3om?a;o!UZ1@mO{5C$pT%+MJC00DAIL_t(I%jJ?Wa)U4sMRfxm z!IKN*5RBYH<3nK=qDf&t0sSK zw=B?Fh2)`~Z*1(_+(+He<|23zN9mYV@R@|6>t7l2QPck zAlOc5C46#lF8sT5wsT5M(+=DUX~0O}0_!x)a0Cg@+QLFXVt#LYDz zLQf@!ED*YxGaO3bNf`aNFphBWnI|}>jHs(VFYdQg2Fk+y-qNQbJggGQADn*;jClmc z&A|8{z~CAfe~sV6N)+RnAe^PD}FYCO$th0=}p zSfowFPw21PH^#7-5WgT{m{0G$89x(J3Y%1i-Kt!!*{oZ+?yzxX35PM(t`IfG#5>kL zsQ?|;dB?_;70{eM4+55d$8$Amfo%I{6(Eq($6(LZuwVoH(<3RYfRGTv4LGxp00=BV zz;kh=2TMxpjRZ*sxPI&$thu~u%ef@ffXk!cV>@&WsQcr^5uoH*I~htV;w|5=KUuHM zLSQfFsf<*Fp!sAbYAS@!ZvdnU69nT0KLk1g6A8W$_;!;Y0tH2XBrUU3_pr~Vnik+o zYd-MLwdul|?SX&eX|jGWUCC`i^n*ss_lV?)6E`gfX`j?@-}a4Q~751&~bl2jHQN3uEF zCJ-M!XwxHWVGBBc->?G7#~VOdNBpx+&3c0ku>!yZ1rE^m*7wD9&C@S9u;<(bQ(IMbpg!2u`1(5U;L(7ooN9fY z1G=3IoK}lDHF3_(-|)&dVpFZ3t86JCZ9T^@kO62VG|dzfb#7YKsVBV;u)EV5AI0;h5* zgt%DRRTDX6_QfY&+*vM%w&G+UAb;A&24 zzlh&61Qd622$tL&yiXWn*Un-=mb=gu=%)UKC6I*;)1XC0bldYC)(;4j{@!P s|61-IkkM$hB2~dhyc!Tr%Y#P9fA5K7-)iEtP5=M^07*qoM6N<$f~VKEfdBvi delta 913 zcmV;C18)5M2lNM!B#}W-e*gz`Nliru=LQE51};OWMY;e016N5zK~zY`ebrBI+DH@t z@IfQ_90Lb>%mAu(Pr$In=0;+*>b0v0r6;yYZRc9#dCne7HJ;|SLg~hPEYc?8BlOel z8)I1G5D!TFnIG@H8Nb1V6o*Z!huyB6uGy?tIbUa!$`p0RSf@hNe;5<*Sm&eybXoTu zn^a~%bNW2+SvH=_QS)WTJF5V`lpYTDTn-Diz&kw>!tx0TAlQO4`v?Hv0t7r0M{2O7 zwBAUNWQg;}_Q6`ntBzbqLJhb)3O;rM$AE@6SsnpOo^|4pv_jtYyvEZlng_sME)p54 z5JBrnPt;TZpWgsTe-*?CCQDuhIs`Lfd?N7d7B2$@`H0(QrB1odmYU_@OM5Z&&b6t+ znis&o(JbCP7%+kbA1#$d=9ZlMd+_7W+lQY9u)Ylv78ijpeNf>pNb6(tF!~87SiKDz zuBU;DA&5h@zgY3+2m2LkWNZX@UH?vEQ<2(%0B*&jso^tge?Xkbyy8%{=DPsm!v}3@ zWNj=#XA4#!`D6xzFiiJ5P*5oQ3GqQC~)UHXBTZFuqp8}^(#U@}ZihWKjNJan_> z+EmCKNbn(21Ek&q!X2G~wt2Y$5L1XiI#>G~RO`f~aC87kbOX^0ZlfiIt5j=c7us{^47k=C{5HCo%6qN8mjHFlJO)s>K=)py87Q_db2zlh&c1Qb_N z1}knhzMg}IYhDWXk!Jpb`kiauQM+*fnkUWdW9_8g%|O2dhPJl_rv~&4=()ujhLg8{ zWq{SYe|^`01~~-Yi)Jr7BB$MY26~5pdJ}I8n9a;$o&qleWPo=i11O<~`!LMGkafIm zA0F-l;okXSDB|)}0nqjEd>1O0>&>_T#^W5&I?LbibrJ9l-+rR)L4FiyulR4dKOp1r ndR=+@=3`zB2&d)$^8WzuiDTbAKYX450000<2SrXqu0mjf)Eloq diff --git a/graphics/pokemon/zamazenta/icon.png b/graphics/pokemon/zamazenta/icon.png index bd00dfea07f318aa3f92107c248bd29ca27e3694..7d9d722e021b51f78e8df344aae4be3fd0a7d1ff 100644 GIT binary patch delta 294 zcmV+>0onef1CaxebbkQ{Nklj70)?y(#oEo2l-ON-p}XH?A&^LW_p}Sb?#` zqwdn_^Ij*3V_vrcK$jqcxZXjuu1n+ErFzAb598JTghkeZo2;#9|K+dZ-xO{5C$~9%Dlh;009R{L_t(I%iWSaZo@DPg>?h& z84@(3haSS5v3N}#5=|b%#M}3hzcY;g(lDLf8iudDHH_x(8wQdrhFSYVe$*cyh0GeqfaXbZ00000 LNkvXXu0mjfjgyMG diff --git a/graphics/pokemon/zangoose/back.png b/graphics/pokemon/zangoose/back.png index 043ae5ffcdb1a60070c0aa52e604ae0cd79871ff..c1b96cf04b02181e1daf1653ce72fcd87bdb85f8 100644 GIT binary patch delta 589 zcmV-T0tZiD8MmP3M905s&R|t$|1kd))7~ zzci5`3`($XyHXPgj)b^>m)ml$QsRgQTgb9ptCTph&@WOd2?Ahbp$qv+5-b`E5p0yi zTBRKEV3H*En{gmmkOaVSG=u^KKzap)zQ@-N@I3tOXFHmM>;jmI*po}JE#W*WUfl-X zRvy5*dCV;^EuL}K2Yx&Z15*q9G=s+r;LQOxW088Bn^>Tb+h&`9VH10?3RraqsBSEAxB&RMm6%%# z5!&W05zpk2(!d0)htLDMm;zP;G7{h}L^^+VKmjBH@x(4Ni?GfP4xmE@0(k5kYCP2z zsFb6s^i(;bawjT(X(fO|9=SewS0~Y-sgPG5;BLlJ|571DJ_xXO-CR&cBcVupGngKw zX=UOMfj+h>6X-UGJ&X1*HX$B#}W-e*gz`Nliru=LQE52Lyo#y)6I$0tiV&K~zY`-IPI#+b|G? z9nnLMYl6Yo?yf^%Pu@YWkV`0Ob9U7MgRfcjUP66M8U%*@Il)lqpQ|KWBPFrZYgyeQ zeR=QAjN~Z#AJ=sM4}g`2yW2#T=C^^5g&3CjuC&lwuXTs*%JWC0D$NL(YonRVh{ZG|2Zvt zAWnh1^QsI0-gX`{Xs#VJ&_dg_jhcXQn+CBeSoRmFX^GgM0sPcS%*aB-)Vu}aNqgja zV*=zM?1mf9Nqaz{1-K89&t5!GftG-DLPZt{HpM;|FaQYPf2nt9@YoQbjH6lkQF%i7 z818n05vZ#q2^EG|xLxig zvhZavw<|6@?ye+|Jidk@BDQF+0NcKmBcA?Xkj}c<_7U*FuK;cPDt6A|=z+f5;u%rC z*1ZJtm)V67HO~t52kiy`j|SK|z}H#0Njyqvzp9r2jp~;M?1%YXtiPin9fS1-oHhUe N002ovPDHLkV1ic949Wli diff --git a/graphics/pokemon/zapdos/galarian/back.png b/graphics/pokemon/zapdos/galarian/back.png index 4308e1b6d08566a6aa119a49304007eb509acd38..5c1c47832b4a4526d20d41e7aab0dd27168f2fe7 100644 GIT binary patch delta 441 zcmV;q0Y?7A1kD7HBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0j5brK~zY` z?Ua#`FMs+1{PGax|9tnKV>XuhRfbfT?txl|tGqFcvTLL(Q&?B){a}W7K*0$v~6k;I( zmH@g75b^#Kp&CRZcP&ed;$h40yg0xJYX4Ugc802 j9aNDDgI;w>QS<|;&4nU4}U*JRvBX~q}`_uT{S>X`rW-TFG2(02Be$yg$BOz za09H&4v~Rr2tcHTa4iC4LMcG*(Cd_QD*;|7AQu4Tb&7ytAcj4#i|8-`Ajee?XaV31 zgj748-XIXu#1TN3oXo=jmH??AgDPwhG2rvB1RxDn*p>heA$TO#YW9!^vbHVTP>6*DSORDkB!E0x z+cL1c4X8+G;L;SL7zfXwYX)!?2KtCp?bb9wz$aj!B48t&(uZK65nA{TbWugR`2XYk bOML;U&4n;;h$NK&0000TR)~6kLCe4F ztPNGXu^CV<^XxmbZ)P^65kt}*MxXSFK}c`b1x$?@u_wfycL6i}gUJ9UT>#iK8xCU6 z?*NG7OaUC28-w=zz=0}%BB!H?Du1jrI%@Rb8eojjyt4-c@E<;D5{|F0YXP&3>N)UL z*pMh6!ZyHm;Jd&UhLdjK>?c~W7*0&l0vIs!?n_w0+$RX^cQHDjMdcP;#;}6$TZ%Zd zFZuFxo(v`ku$CgUD8({i$zo`VG)!B%EXtI)+&348A{7V>`Wmo*dGZxN!cc?=3_t@+ z`ACSH;1xn4gm1tU%hH|kF-!6e2yr!D*wF7$*qtxy1?}buQRnTk4O8?Ub|-j+eGPHq z5J+JFKvjNsKvzBvEd*rnuy^!;Jhnb z@j9CKh=8g5iBcHVK%-GJVU<80@Nq3cn_ZZEQ3Gjxm{R;`G!aC~g%gp!%exUhY+B*q zP$PgfXiZRUG}&_K!DWs$A{Hnj*32r{5Zucw%L48u3<+0%dyopb1fB?yr$NLyV{ECJ zX>ESZd6H)$tg_Aog%Dg1B$ZP zNGZgR8}l!M`vMO|Ddh_e0W(91Uz)D*eD{F)`f8?>uX`HL+uQQv>XzJ;#UD+ASvUWk zv1B33-*=kC&huTo74nVUk0|-e(K~zY`eU(pdn=ly0 zornX+CMY>mQ!4G4yrJunq=qWH6>!&UQ)H2yEA`K*(kd3NQ`O;5u=QK+HKbc`piaca zKR@s5hsTDH-7zHXqjx|KNRN>Iv8E^gHcJLJ z0<5J7ElROSSTY|Pev;AYmv%1O}i1hI}H#O>hgL z5W?@l1k2K$_!uSG0zzDm=N26FDeUIUd_lW;LezR|Y{3M*hus7(v9BQ}4uKQ~094KI z26X9TZ~+pA6~F?N2d@#}wNES;SGi1_O{(;Hw6Td76o?RTe>`?p&qrh*@W8_=F zsuV^w&}h_1SS64Ld|XS=W)}vZ*Fah?rW7BICW1)0a4OQRyc^M@rWFo`8Ud_9Yl3Rg zWQ(B(S2@;*e^{W1STn0&LvXLMEDN}sFeF^=5mMqEgJa{)!KR$(&8y4nS)gg6xtY5oJQD!Q&mBR6gj`Um8SZ?rOi`uG4 zh?V}v)uBiU#x_v;M{P$qSB>W)I9?s%p6W0Rfcqo^9O%<=XcK&NytCO~9?I>p^3BL#F& zvXUJXd<06s5%Dku|KvFWdp<18I;zJ~*b?twz%W@)bFu2QgMW2OIc|2Y&bwerdS^W| zEL^YG9#8>WbnoZoa9hYnd4p~9O9&r<5g6~I>ww;Oy(j7R5@9<1Gfr{>Pk|xzK+?0E zfTG72Fk=44XqmpB2M(lfkjZXyeS-i!CipZ+8-o<37AC%8WbH~V%n?5Xy5LcmW?HTn zUkk&rc@6=|>q!0;{yJ=A!_3V=1p*{UH};2Ol^Q-0`6k(&wJ?Df`DCSqVZtsufl@;5 h!>s*)4*YgMegI8b>i%w~x<&v1002ovPDHLkV1nVmn05dF delta 347 zcmV-h0i^!A1I7c8bbkN`bV*G`2j>O{5CrRkh5>cm-71UexXF&+BCCJD&}GV^H!JL@$_Zy0{JK>A`Ui`pKnGy|$LAxHJi zK+blsAzqpRkrir5drC%%=%Hj&cA?-sk^m>fBNW1e=L8)1h<_N?lVvQ09r6AJjFSsA z7iUSkuuhWG=H{Bb8z!+k+dt#N^?L0ARbYqy^}HOf3x%XFVcWtIi%^T%<2FD002ovPDHLkV1im~mX`nk diff --git a/graphics/pokemon/zapdos/icon.png b/graphics/pokemon/zapdos/icon.png index 613adbd3e4a2ced2fe623d3ba637dd0fb7a6326d..eb4951bc0ac71cf99112dac71169a16e1d3d8e75 100644 GIT binary patch delta 305 zcmV-10nYxe1BU~UUw;7-Nkl!UZ3Wx&xMFDsJz;B)TzB&_qrD_Ss$=Xrm^K|1&eQuRW8i>%eZFxpJiIA4 z92Thk_cso%C?*^LOgPZuQ=D+XqG`qfzTq&qM8hGCHFg|ENyQ_dhCURC{p9H z;y^)E?l{o;6DkLJ9$OlHPNy+-pIb?mS)kjc`fYpzM~>_;y?|Mm00000NkvXXu0mjf Dg^i6c delta 344 zcmV-e0jK_l1Fi#*Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`A*BX7)K z0003INkl+(p|xFDZ#zx2_y?RKeO?R&%=3(7 z@!{OxSpo&(8_6flP7Z{g0gcHOUVU>cs(%q#m{U!m;$sR4%-mwB zsQ40?adpC9EaBFT`GX|`-NXD~))-?Kj_s3S@8~Y|ADfj@X}Po?ydALGt@3Lx+X}Yp zamLaPdct~-Tu<{dqunGys$-lwm^O_H@9F)MHE=*aA1@pX4{yp1hXrci{ldW&#e@TZ z2?ttyiW3f4G*Qhsz&9KQmuNVo(PPJ9Y^gZJv8Cc*mL7ZJAd1wutT<2*l{*f!{=`9^ q$CmPaK*m&_MkZNifo?z5Z|fUJj_fdJ7b$T70000qrA|A77o+%iDj4nSsF81_#4iC zjL7F9WTE=o7T`I6mM5QogA2F?hijBVW@@Cs9EDKIITfH6fO`Yhsa`2=lnZbGWB}D2 zC?!uS#7%&JYg|6xVhS8UCtXRQ0T|x^qyqpR*U#QP7)cFd3oPBY!G>VhU>_Y&5 zF2FUm_zLP9ue|;m`8+PbIkXrIsLO1fZtXZ*k@SH?0F#y0-shL~kpP``2X;t*w=u>l zWzfqWF3>CiAau^z{>y-9Ag-$Q}=mwuf zwHzWa0931mEt{r)MncyzE+)m^URH}H6j|0r#$!Oc6-crRmClLVDb+y+)0drG0KJ#p zf08yngWEtj&oY+*x>TbBw5@kCG!V~O>j2p6u2r$dcK@oMWVdWdQp4L37+jGi6hWtt zy!ZsjIss9MpiYCt4ex=)AP^B4Ou8L5MFv6y;IwT+j5kkz3;{^@OS=J(h!#c+RFXfm zVRA(00n)@20zP)c;FkJKQiwRsP@yYBiVXOg_W=oomyzB8yFN^hUkI#Mq;F(;*^iH( z1(*$h+B8iYiwDE=ynZaGdovQDQRa-mdavU&rzsJWBd!R*=Hjp4rYRxr=X>K^)$xn< cS%Z+@Atj{|YwC2YGynhq07*qoM6N<$f_LC9Jpcdz delta 679 zcmV;Y0$BZ>28;%fB#}W-e*gz`Nliru=LQE52Q9<8B|!iH0&ht~K~zY`)s?^M+b|Hv zZ9ReIfIJmq8x$yXPy~LS$buWPxg9j+X$l#fsq{%QW%9f9^v{;!A1&S58$^=t$KN}h zPfAhzV^QYcsvW>`K@Iq2QC>PFFPPJEp_!rKxHy5n5=#Wf3T{QsRh$4-v<+= z94;w9a{w(5E(c|B@eb!8`OHKMhB-veYH0&302x3O2Pwrt`nWJ) za4wS;6QBSp>QXQTP|@@qZ~&k|9?%~^w_@ucsW_-+Id~b+9|7Nps^~57B&aXnY=Icc zEgCG)796)vmI?Lcf9drQ{&n>g*PgFW zsiEFMF&WPZ=BQ2Mf!nJw&Z1)=h7}k`vj&nB#t!Q`#JMNHf7Pl_c5zu`Payy!K(kqx zy6ajbR4c;EB-q>2X3_Z~>sE_!3<%$VDBF!TpUG z?W;a+x7nOlXv+{R13u?{KtkeWq!Qq*5A)+E0^1eo8W|sU>*GfWIsxvsvN^GMRCu1Z zKMP`?41{l#J|eK)>$uH%j>K$(9q+8G6vh7&zW^a6rE6F-Qtto& N002ovPDHLkV1id9Er$C_4q(WY%aK#q`Uq8!d}g9J z#T+RW!bVD=9)a8i$V#yhB3HsLumH>eQkNhEe_si|wiGB-Vf$Q*3FH8E)CH$CK$af? zNeO@t0a$s1@c~p3%J3a5p=M2Q44~}M(11OSs&U_L%Li-2ApsVgE*2L_a->AY^t7bIMz;|!+&SYc=N&LGw`z3n;` z@thElsJSYieJlC{FbaG#0_*-{9T@sr#knW)R4&}6UFHyglK@NKhPvQkGs(&Gu0~iE ziicyc_>*pP#B;Ll_ifwiQ(bMArO(mye|HG%Jy4EY2{k9|EW@GT8~1z-@) z83OmM{^az>QI^;$?{U#z-Jk~#MV=bB^;N9>N4T8*LpRZf}f4mPC zc0&lEs3aa>?89D99tTU54oFz=(BA8>dh}=sX}9_!3}kYxzv;W%aU*tUgVPys8~f;Y z3JHOiQ5}KB(=9gY!HvDIa(MlPz<5QDRd%*Y7vlA23Tgxx3p3qe5v~pJn&Ek#UKT_$ zceSwQ;2hd(1A*yYClm&W>accgF+ie10FEyHVmA!Kcjf^5^9Qpxf;fL;z15W@zX77L V#2|s>=GFiJ002ovPDHLkV1ja4SSVi|K~zY`)sdPhe{K*! zTbofCioQ^fU;40%7TsD7c7p$pcmF$*=Op>ZRyzMLI|Jw(;Ag-p`#WHB4s2(D*q#Bi zpsC9K2-GtDxI{LKn_qxU2s|hWclO z*_gu!T)5nPsYIQuaW7`*&_xk}DzvylUkr7F4qcEk02jW+pg>f(-5Be@f9Cn@86`AYs8nd#^w1!J{RlJ?e`%yRP*YeRn$?#13t6Is)Ia_Rnw3P6WY||7ZOKqOrsvG0zc<00000NkvXX Hu0mjfj2T9W diff --git a/graphics/pokemon/zarude/dada/front.png b/graphics/pokemon/zarude/dada/front.png index cb686d1697577210b7db3f3667194f6a3b43ff83..caa9efff74ac203d138da5c6260daf3a0de2d497 100644 GIT binary patch delta 970 zcmV;*12z1m2(Ji`BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1BgjPK~zY` zjg>KP+eQ?}dG`SflSgEWK_0J$6Gb-2Cpe1*gr}FHfHM_nQJ_;}fbG;ibasY9^S15gXsb(jl(@oovR@0gl^SnQU7m{ASPB8mMS5+Ij z1#sA`uke{j*p|fUCDo=E^yl#TYY0Vu*68$ms%HeaUwl0ww|#)09>UX?k4%T7S!A8| zfTzD-{`B|{GsK%8B8a!s6ffOJk4Z)ko_|9fw$h}OvIp5Eq=VUi=id?l{is9|!7G5& zoBeivW#i}(@#e9v5G`x{`C50`MZKq(zkxMQfT`YKh9`k^ewMFHmWUenYH+e%~x+AIITAUY!p z0PieNmr|u95IBtPD66I>fbO5enE}W{9dJnxIv|aMvZwaaud3$GI!w%d z`>r8R)!!{pSb#P4tp(zM`O_b%-c)q`p>1ISBSD`+gg#Dfy`=w#2Kdv|PiTr3h`gV( zvaFku3~d1BpEOb$KtY&fS@ug^TE*eg08;vRB4K2Jkbr6SDlJPZJp4ewjYgE7fRPD| zfk+VXzzQ&b@qYfkC=e)W5eXYKM-giowgLji^Ko%AG5eABsE>gGB9h|P4>Jd1JVyc& z(>XSPBbEJV8<_VDrUU?agG2}ILtfQQgOOI4q5)$jKv{sVcMUUjdOp$uiL)BxzeQ)I z?McMQPt1T_KtZ}{CJ|F@fbO1D=&ip>)CP#Uz-kA7u3(BP7ODgA4iK=BM(Ol{_SNHZ zY=Q2vV2Ghj+&T6L5L$H`I6mTWdkeos)H3MRxk@)C6k<05qw6PnBdUDAcPvdRlSs)m z5USAYIdtjQVAD55O<8sbN(DylT7rIGVsJY)d;v)aD}dg+6L7)n%s?B9uU|_Hybz#g s)11>KwMU1(Mi_@% delta 962 zcmV;z13mn&2&D*+B#}W-e*gz`Nliru=LQE52RYeb@jL(k1BgjPK~zY`t(7rv+eQ?} z$@>6?$s@AGAdgqWi6R^1Bb>zo!qZDpz?llPDA1`fz;^0T2kO?L$RMCwhkg*l0RnJ~ zJSt1mQ3ML3GYR+ukbQTQSd$W(4!uE;^nQH*|9f}uXj%VpIUfVUfBlcZ_W&o}1+b`# zgTK=QPzuMfYzLy<5`5p%F%A*mEdh~DG0=-7_IF4Chc-?L?0AO+@W{j?@7XSZLASoZ zXFRsIBu+0WHoKsY!{@Id;KN$O({CxB5#W6G<&@kG0d{%_PhURL8II6@%*g{fwp9eI25ys3-G9h7m%RXE<})s1SO8*9w`yD0vslbNpUmP=aJ5+hrR|vl48b>tp{SVKmuZ&Insb7 zByKic-!L37B>>19#L90sxf?$qUlLQ)U}STU24Ma_K%!`WgaKk}UB=MA0>?g21#N+l6c8jQlKZrA#b|xgE+PaLrSaqV(^9Ez7yD|->*Z_eH+<`-f z-UeOX02TGJM^INFaW)e4eu=>8+3+~T0jvSKICrPufZMBq4i?*7OE$Oxz`&-S(~U=q kzK4nU_m?#j*8j8q1{U=-vZYtRmjD0&07*qoM6N<$f_9+A5&!@I diff --git a/graphics/pokemon/zarude/dada/icon.png b/graphics/pokemon/zarude/dada/icon.png index 38ffe6af869b6ebac40ae64e61421f8449fc1f76..e3a39e36d4e1f3e37e9c77923e17fd02fea32ad5 100644 GIT binary patch delta 423 zcmV;Y0a*T?1pEV#Uw;9INkl0?A3;^JJ1IxO(iQsmm=yp1_YZq7v%fAYWqy2}8}mi0G9Y zQY8Z|5?U425b#DRM10%X8t4&QL;GF57Urg%8MWVzb*_GXHGgm+9%++j)AFKd6$NyutyEqv_vj$E7EtyemjkiKG%#q8D~=Lm z@AFEeobpaG9Dj_9jWUDR^0>~M*TS*+=jUfI)yD{?`lw(=9~I2aM+H;2Q^9P%f!W=B z6fpMYqkzdiN_PX8i1x)e*kDJm5F=roP z^~z;9E0?A3;^J~fo0v?M8J*|-40W`c7c_V74a1Cetm*aQ93z}3f)NR zOUOZyy0uax@n=l@!>81rob>HQPT=ktOdpW9DS?EcW?(`L+J9eCB?BE2I-T?-5UkdS z_`Y#9&>}XLwwrn_Ol&i@db{rHoWta7@qoy+%3vi%S05Ej-A)Cwz5}zl`Y2%B)kgu7eWY73oexSq z7&n^2o+9;N#0M-_kOf5nlYN|?v$4}$z;r&~X;u0l=0fZvF5b8d$Hj+tc|4GYEOp(E7fGWb<)zFR!VPBOcS6U#lfH@@I*yZ&##Nbv} zFh`pm6kzZgNt)s}g zb_0ut{{Yf|$hH)}+K>ktr*%CBA{ABerES|adk`m0-zV~09|-|1$KlsUnm_5gCW*&J zo!=}r)ThS>ns2)1S;P^~%h?`)U?NmO3eR$IqqbdD=wCmzi?#)xKI!|;;SkBVpp*I@ zlkAEt00fhLS6f$+Kq4glqi*_+fCZbpVt_n!iL$hR&qV!(?eW=ABzz!0YdvN$3ECJ*sk&yE2KzOF==LLNw5-cV?HO&?ZBNX@j? z?D8YUO9J$*Hsp2+sLMC-{=-|&aCSd9odEBDf4lkN-R~T_B_KcSrum@Xz9Sj$>J?!J z-J~v+ugV*!9NvdgrmZqX2A=_{2ya(IJ0^sERhC?7fye^pka%O4*Vhn(TV25%ZFW$I zB@qYSy442I3zfm772lcsuWCgKzdQl{A($8g%6X?FaM-Tl5fiR!qM@{oBJ0`>EFS)U z0Z1d;Qv7N|9%!A`^%#g$RKb_FZP)BUoHTu($d^760$Ps4&yV!{r0<#}9vgLjv)E9d z9v|p=(>2c`j>107_5cJEp$bxXmV+C$?W#im`l(&CE%4)$zV93kk&FvEsqZn#uE+vF zFxhvtbrlIDLef9#rtb(?u*oY1$U~QZC`%iikj81Y#YOVZhoLFD%R%NC{Y$pR2kK!skx}Ja|MK8JPQjaNZ3a zBRmZP(tKIdej->aOlCr(6`I`JbPzDGSTEX#)iB{%%zL6RBPkX9NFIpA8VM*kbIyRU z4tJZ*H;e(Scy!1c6h0X?c|U$Yz8qFOJ0_O~TmV$^6_|V49~*!|Y|D6YiO_5Zn232? zaDijMLA6b05i8HY_)I#C_JfFjo`Gx(Y){}8rdH*~jQ}+Q5;^y1#S|E>9<6Wy#$zE7 z)6j8o77<{)8z&Gk;@R*Qb%*F}GKni!?M*mDe{dPch2M+1IG&6pcV(41y8}{}MiYmc z-Uj=;DSGPVh~Nu+u6Gjje#t?PY{UkN6t)1}yDQKTjcTBSrFPengeV0lnAqew-FX!B jJ)7Hqe_1Ol{-5xff3OwH>XMl zS|qe8syX0|QiwS1Z4LB@t)XFGuZ68?H%1M()VcZX&B#T_wSUa(!wb?%Eh(Yz(2giM z3@HiP-fU^abwn4OL|~*1jjL|ggrg%Tfg_PycSbiKCk`^><@aBls(AhKxH$NrLQsUWt@b z-bsdoWwB9a@PAq!*Lm|=I5z+M{0yf0Sin>t70lwJg1P&sVCr@%82koifA=wix%((! zvX9c;3?})Y6e(bAw}XiSaRnnj;BxK58IFq& zXY+U<4b47$?iH-o#YaS?%f`6)h&q#!%~c;0?A3;^J~fo0v?L~uJ?Jnt&q5tk(Gz-6XdGv=r}5LBdITU z2^6VYD>V{-#@Mm>l=_pCzP-o^JU)Y|0ePDeNEk{6Cd8oqoPR1A=#bFqq~}1eS|j4H zbtSMyY%F!#QWiG0Sy|m-?Q;p6iFWN^H_ny22_C$W!TBAM>9A(DSllL5KBg5=iK0~)-Rv&B2>U7ABqx>w9C7%X5 z=GlxqC^=0L{eO6^vAq-z=pkP%qU=G6198A{U@#yh1_^Qqc_q?L2QL{O>SB}35R81y zH~$83Qvdw?3l*O6vrPgpm1$x%3?r`fgm5C-=ISW!$2mnivUhM0Yy@6;g~g_q3<0niKKP( z(Dneq7VmfW{_our@6VVTkD0-m#-s0;*=_`OS5aTE~=*36B>s1_?-QMVU-2VEp z2H>tg@FR(h-}C_jx2w}|1r`9DXn~DQ2RZ|0I|1LurRsl)pHtF5^Yrek3t3}*PTXPEJ71IGK~aexZ3mL7Dx&f&;6_fE@txnNjn z*MR_>(dNjdaahj;HMp1tj;;_c!f+2T_rW@M-3#1I5Pw)jxC#M62%i#CM5S!pG2=6w ziD}w_C~%;9w%m zWdOBxP9dVzQ3vCAOazs~$DWI$%TtI?FCz?v0OLX1SZ&h7wWla_A80*nk;1OiDFL{* z8B?kz0)J*sKoG=BfbUW4h>|!b=m!Fzq*K)adpDvZ!4Cm^-*uw}!JWM`_(=iI7P$MW zis!CFuZ;qj=kM|@6bD=R+;#H{Mn6bAvGxiW=2#0W#}T~9=LDQN?y3~S;d}wihk5=H zHJBIsW(kcocmm|DRS*tHJ4wk?{o_hqa{`D)59q!x# zdejllCIfCt4tYJlzn*uDoG5O6@i;dm`DoKsspCkbBhZA}vVdwjm}Wj!G9@iqM# zzJC&w(!JY>(>fo##kbFOfYvb~yv4WmZ`7Ax8n0*UG3~whAB-E;YMgInEV+3A2pbbf zvX*=R;Eg~_W|N12@ZSLm0vT&?AW4?WtToX)kVGJmG&qp=gEW=0$$=zNNO?SNO>{t* z+9`-ZlIj54w|%fPsRK4FNb&6>wYAs)z<<}1tuNLU-u+Xs)0AmcUQN*-Ol2x38WFfW zOh7^?v-QB+srARyMoK3lBnM)nOu4=>xm_3x+e#+|L0U^??Y}L6%*u)wE!5g7mG#b| z*i-ASlsMN)N_xnm2owN-z29Q3f%I^`lrdQptfa&=ZYGJB4CDZNtY%Tjfk^aYnSY!} zH3s!eP(y~<(wq=jv3k+D3W24PnZSd^zcqqSZFx&KlE8VJh^$&Pj$6}_$|7NE!P*uf zM!8csAxzjjU)q%t#nu@qg<=d#;FV! zXSYh|);wdCx9JBAE=d3sQu28llwMa5v`UO5H~DTZ=Ag~7nL3EuuQYMoM|Lv>ekNS5|M5K%6Ks&IQaT>=9s zlX4}7>SqwHZhtYrH)APAsDO$+NN!psfY1J_17Ynry(NH~@lSQ2xX%4_0bng^my~$9 zP!f&{fLDQ+pXqU`^$&{YQtuzsXz~wgH2H@@=>Ov%{sA0xbn-}X93TJy002ovPDHLk FV1ic#m#Y8( delta 1434 zcmV;L1!elh3+D@vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`Dp8z-@b z000F_NklpEf;m)^D6acr~fh)Z44peh! zEw})%bz248xqrF~;MpyehC46-;6e#(?^@6V7yuU&^D}m4eZmJg$nC- z@AhUc=$3(r(3s|ij;4nf1r6Qd&_jioO9z@x^JL)aM}L<^y<9NNv~7V0)?jyFQ#+|f zf*NcL16xZ78(~-j^fnmRwta(>2?EOq&z1logi8TsL@90D(!(q438~wHz_Xydx7-dx z>bb>fV1V3CHSb;+(3Up?nkEddG~4>M1ayLI{@w6$H)sxYgA3a#ofxRCc?kiH4w|@* z!-QAbe1ELDFu1*h@bWgmr4V4;+tF5&ba3n?3T*?8hdol*vYG_|=hj0CRYyQi3Glpd z3GgFYJD?!03HpfuDCo@cfVCUYmf(i~-nQ*vXPL>PEBGY?tUa*XSr)Hti;j&Pn5FO1 zJroCf>CCp%o9u5PCY%YR;_qTin_fLT9HKcWWxrmYu%*}HxY z2*K0zUld_5hp%?5pAM-M3^BYPvTnNAYi|i0r>R2#>)yX|*vY{h;7fqNzM-;m7=J^+ z{)@HuZ=Zl`9B^`j)XTNEl>dg0JkrGP5lGhodgNJ;04E0h8Zsr|)&Z2VS` z6@Nf$0qm~<#{?V`a5CHo^k-C7FGzxu|Jx7*{}G>Wf7uKOe0)!D!#9FLTDzS%jdQ_S z{QF!5XdDy5S^V34qMm=Ly`Hhg1p9hz#2U5zjf6#`M*zPzfGBCmM*v<6G-NV<4DkOS z5FwDT8V3?3u}m6cwF8L+0#S_vdEbj;DSzu6NF;@nXT!!=1^BTUgXl%E3NT&M1v8N< zVB3HgPamnw#WnyQPo_FqcX;H(2P zEI58;W85r^$#V(=m&#O>G{h7}lz#xOo#`-8Mln~uiCqZ}P98F$d$WXqG{M_{N~JR@=E2E;XlV}w5tVC`_IwHSq>PH0=x48izq4H{vj9ob^ODB920bO@{3nvtN;K207*qoM6N<$f{;;@3IG5A diff --git a/graphics/pokemon/zebstrika/back.png b/graphics/pokemon/zebstrika/back.png index 04693bc3ffea19d8d983400127264f5417f4cc67..b111e64f3c6965d82e952dc48897b4fb172fbf1d 100644 GIT binary patch delta 667 zcmV;M0%ZO51%n2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$fQ%K~zY` z-PAFQ+b|RWU|}fD&oIIlyxdY<$&|(S>|`k%#!9nfG3DjPaPf@?8RDX)f2Ppw)-D~J zgex5S6CG~ulWZprkyGex)gVIr`MswnS?phix1j0m;tZJ6)Stfw;Nou}CxDArfMo6y z=+5B*`t0*rkmPKA2CyQ3!LYzHMHGPHRni4|E4GH@7N9FfPp#Gfw=iDkT|f~SgHjzi z8ZcFf?+&39jEeD?T;v9vLo~XJmC8Cm0CxdU2`U434yvF6({4axs>;++1n0g5_i|ch zQBR$K3?fcIaxPQl%8=RcF}Gvw0B0ownTVynq$@iIxN|5^Eco3AvgxVO7>#5tnVNCPy?xV z^h*)QPr#FDw4UjIT?LTh_w%C~mu9nevizdu4c#|%TlCTA?L`RMiydR7G<6~7et`bO z_iPReHbNLsjXnvwwkC%7HLxif5FjE)oaB?-i#)s8OF?MgA}^s3h#5}s0;)FH^Kt+{ zACo?X|qDS8>nU03;1|^El-eP^;b_0ck!YDKp@_ z-laD1ns1R)sLL8W9f6eZ#RqzMsM~Fz6fs4ngFxZ8*TPgdJOUh2^AKQYiyPKcyA3Hf zw~~38j>5o9q6J=%u8S+6=b{QxEpm2pTL0(4*dN~BeCTQCk30YX002ovPDHLkV1nzG BH=_Um delta 656 zcmV;B0&o3;2K5DyB#}W-e*gz`Nliru=LQE52pasKoPhuU0$52zK~zY`<|`kzBc)lgn4;VmF23;~LtM1<%M`lZ+NEQYkiwxa(c$Jk z$xcooat`jsY7hqf{NB@FLSE5=Id<>oXTS`*-s~+v&R+rr0y%#Je@JH`g7zE%$dG(J z3(|tD&Hz%TGAiYnB1(|aRoVtROR|FW2B0lRM=e(XH!xZiZ9pLyfl@6w_F$sY&>uo6 z7?z_Ey4VjWg?M?!=_xaYvm14lzX_ zC>6Q#W#Be^LTy`lf51Bn_|SsLSEC7$0Nm@}D3%`Z89@oxAG8rZfH{T$tgp4k9K@R= z(F?}zwJtm$ptK89t#@poH$OZ%>?9EAbziR^a!(Pw0meN1^yEO0)Z=>d_$!Zmlh^~T zAHREwC>?+kz3|S`5m9!UW9k4MRphTd28VU%9)mv>c`{qpe+!@2p#ef~@k=2nPQcDA zw4Um14J5|z6-PBL%w}yx^-YTm-y3P3laRWTV7M1sLMmY&Bw2)A8IHri=CEMRm;rU` zp}=QrY)IGuo8oYhq?A<3aWO7}IIx?&V2HBkHw{Bb$>msHK)nq1ykyRsRyQu={b?{M z9MA}!?tu-Fe>t}qQY*gTUW?0S7I*G-$Ge8j4CmAWT&j;pK$wdp1P4l+U2;LNzl#(@ zT{d8M1af*1pYZ2_c9#KDBp4YF0*2pQGgIN<2vEq)Ai%&DH)uL{8FFe~CG#^Lg}&*S q1D+(7cm+7l>JarLry2RL+CSdjeCV~3=c@n!002ov22Mn-LSTYd=p_XJ diff --git a/graphics/pokemon/zebstrika/icon.png b/graphics/pokemon/zebstrika/icon.png index 3d38addfd321518930ab9152096294c0232db6ef..a929b95c5cd2f70f1a13d12e2c8bf34f4d888253 100644 GIT binary patch delta 292 zcmV+<0o(qZ1Ns7xUw;7wNkl)st#8nG>7!D1 zn&2*-+;GVqqX4O zNEsX}$+ugx)%``kfx!Pf4<}44Ivm0T-cu)Gn00J~!J@+<3=c)KDvXQ5Ww;`YvioF;-QpB;rc`yopH)Q=x!tfRI$b}rHY0000!tQB|QAg_R{A;Q9kIp-r# z_@C?Pgkd}glRxB=s)P}-yb}gD9Uj6+w`o>{39O=(FvefrT?wPr?>A$+3RC-`M*q~0 YUuCSLwjs>ESpWb407*qoM6N<$f0 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 diff --git a/graphics/pokemon/zekrom/back.png b/graphics/pokemon/zekrom/back.png index baa6f52ea919ec8ddce4d4a48907e50dba714a39..6d352f9f83a8f2e348d59dff49e4a0a8f8f42558 100644 GIT binary patch delta 669 zcmV;O0%HBC1@Q%tBv%J?NliruDDD6N02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00I?BL_t(|oVAp{Zrd;r#+`ygI}+3&Z$*K27tTPWEdmY&^#IA< zr7zII=oUg87-UHR4JObx=-R1$x!#eMqgZElDklN=(|6zfAvc?Uo)2{1mw->VcVD$G z0B=6t-svKtK7Y~LwD$!9Nx^ha1ra8oe@OJK@xA1O0KG3sSWZ#`Si; zbj9mnc0-IP#5ZIwHEO5CFh5oye*a&+~An9Yib)KcFb6}uIbw~-U_Oy<8uE3$^B;d%z z5T{oJS>Rv-xEbCLlU>?Sw#z_$90u$LyWBS%yN6eR0Y8NWV4>Znbv-?DJJ3wajU1t- z--#gr)7F^=;|uT>nwr!fo^@~)J#=YkemHN||2lsG9D~O=A*U%c00000NkvXXu0mjf DeE1k% delta 599 zcmV-d0;v7*1*rv)B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE52rM%t z2^atX0t`t+K~zY`y_CO>)G!dn14;qq$SJ%XLV`Y;l}Nfo8X@Na?s^(tfMP|rR$TaW z&7G8DE%64lRPb_)o$Ow?o%lLjMe;A-{QEpb@#1;U=Uoo?cys#|e;@ z1wb{&3_+}*+J}rtBrr?#QR90q4+h|nlQ1#J!wV9s%K?^&1cU&aF{)TH9uBYt01=m? zK8Zx>;e6ELTbBixa8eBWM4%TW%t`_pC&ln94NnrVBD4^M3?r8~-j&B|Ul{Ke71j7s zOV*)tuILFwlbIz7f1Pq74VwPy*b<7Ei3T7Um%+5~3g z_YWh+c(q%I`=7r=2{vZ}5JyCBJJG!%D8v@|Yyc4N#|Q{X^wE}lrQ>h~fM^z|Q?26_ zP+q1z1FqNr^a6Ae5NEMFB|vCH@9hc@8p(!NzmPJ$gz33^=wU30BmPNx*UvLzw7U3h^=lu^G+{lUb)x znsx^CG7Q`gO=j&k8r!>n0EKSy>nUQhOLo01IjpC(BS+NyJ2MPWa-FIvJOOX8)~tT_ l2;Nq_=+e;K&=vpZ`~@6?$2j`aBzXV;002ovPDHLkV1fgn0mc9T diff --git a/graphics/pokemon/zeraora/back.png b/graphics/pokemon/zeraora/back.png index be61b2721a1eb7d336f76c6faa54fee51667a00d..01bd0842f199cf253743f5d592c4c30a79275e72 100644 GIT binary patch delta 654 zcmV;90&)H61@;AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#8XqK~zY` z?UcQa(?Af%HzMx6Sxh9TcC7TbJ6dQ{pp)pFtSr9(Lb@`AwI@|!x9;Sz7q4l10Dg4xL)7y%^9!& z`SsU$KdUD4TFexZgns#dHu@J+0P+kO0P}9mewY9rGy@a^o~^}`1^fY6kl0D+gHQnF z7}!vJ3m!WOeV7sUY7A^uh9v_rO?bK`fsg=Yfz~K=8VQ7g1yTSsc@ZUDtc55r0VqQP zJW!0X+_FFdc+!-P5UWYSS-=qXQ$QCe2_OlQT22A(k4Bya0R~Nf2p`*_2{{2w6x=6$ z0*=G$I``#D0<3y~BixPwt34$qxluO8VBqtR0<8%*0VKD&?14{r1HeP%3fX0?)g3TI z=m4q!;uRxs`$3M@*K^_?d$U~VF4-4}#t#5b)GSIT&bv$HZ({p;Gl&bsO04_+&lDCo z0q9oDzpPIgIK>Zt)tT_9Ts6NroNMso_aopouixDC0$E+tv${{Olc$c$(HF=9Z4BKl zB?I&o&&Pdg2&kjfCIYm0dejAUp~WK5PY0kk-i>F4O=w*cf~4#N$MANQjEbBs`Ga@f z1sTiG$*5fDtZsHq*u|P`K8{fLKzLvOj6hXmo~Cf}XCZ89Xn878S4okb|5%779H~Sn zM4CdgWB>k#Dddaq1k_U?_+?n`e`RQt;UbcggZsSnrZsopGH$n(X@m&S6bgJE|0^0( oejlK?HT?;rFCEyA_Rmd--!9|ImJaoudjJ3c07*qoM6N<$f?>uf7sK zc`arol7xQoCi)js0Azs-fO)%SKTH4*ngNOdPuAkm0)7K5C>$j8L6iV>3T!C81&@P- zKFkPvnF8Cgz?y-WCOqDfK*)f)LTgHN8VQ7o1#$p1c@Y&|tc55r0VqQPJW!0f-m*Xj zc+ymk5UWYSS-=qXe^WqLs0bhll3Gpy?vF;E1px+42p{@O6C?plRNNcJpf0M15^RTD@Nev zy^`rFQsN#*vs~yd+ZTn#UjUw{S=3IPcbCfF#P*G55EqDze^`(EUzAwk1faiS{&{`M zz?J;4JQE&E*UYaE=Nf$aegxd+)$8j~plDlq){f~7^3-vae1R;`$I!!4GC*JPJnd6Q zKpUkt5unA>Nf*$C9;-k<1AyLmm(B{i(7P@KMcD_A;q59L6*+tI2k*QKDwd(MQMoW! z+wHori#1u9c}8eQAiQgTM4)L=<|&-~MF<;Oo<_7yR^;G6R-y|>D$(WV7Uj5O|NgtF z)U$5{v{NAXWmxWi7HCStMKt-rhHmLiZ*IR9+-|G#2oazuRQNRBmoz4M7f^C*#uG+M d@!$Ts{Q@rI%9gmHCg}hG002ovPDHLkV1iA2Czk*K diff --git a/graphics/pokemon/zeraora/front.png b/graphics/pokemon/zeraora/front.png index ccacf134b83adcdbda4adfd75f8c4d1496127f13..be400956b8a765e015b62c67672eea58323bce60 100644 GIT binary patch delta 914 zcmV;D18w~92lxk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um15rstK~zY` z<&?i~8#ffkDIf>Kn#5xT!}fG!Gz2%1#8s%fWhl_?-ax7y`u6D7t9%|I-SrMbHvS1&9jhi5j51Ark(0I(^D0WxpkHk1)Zog&1pyUIPRG_(G_O6A)6? zgeR>6q{go~mP{dkq?D430r4@g_gZqP5K?v=%9mWJYB0&;%U1w@uo)(Dh;X&Ro|Llf zl73$tLkm775*DF>ow7=r6<`f~LUIi|yoUa2qLL`ynp5+`-H(@C9w<9{ z*%FD9D0Y`-z4=vtydd&mFhJhPMN4>-s?FtQl}%s@{4Iy`^a=|I+8*Zs^>vmU=_|6Y zuOipnH^8)jHMB}Gj2RbtF5H}p;(~}#3k>=ugAwC>t+nrra#Bb>ZU8?BmfAk|zOaC^ zk_S!XztkS~S)eoP#UuSYp4Dbc2+z+NfYQ|dBuBdNog+toG4i-byaPtKbT)J!N7~TVTZ6kI1LdRLT_k{cJ7g?3hRj4{ z0n`A{gcV?aGPZ6gsnG<^Of^7h0e%Li_@%07*qoM6N<$g4!~yM*si- delta 909 zcmV;819JTM2k-}wB#}W-e*gz`Nliru=LQE52?F-$HI@JX15-&vK~zY`<(0p0+c*@* zX&^!nPo{WAkYo~74}~U@P>suN9S*onj=&Rwv_pFb1KH{ebnMy6nEimD0o18Lrp8kh z1P078INahj|Ia;AzkF?)tOY6$miRvU^6~NeD1^SRtM^E}<2?enfBu6K8y#wZPSh%5 zybk>QoKl7`iJGuW`%M&=fWXv?`gM3MjtJfu{|*Y24o9JR0m78wHYXx}FaQj1#{ghj zUS31QCBRFd!z+NYnuytx@%XtPI>hHbHjwYvM5hKk09?-H$O>>FD#8&4fT7_T z!@`%y9Y`sK?*s9Fe_;DeFd-3=rX120OvV0Q?CiqK|O7z>W~2$&&t(A3zE& zB?2a)o~g2o>lt7UerN#BJs8`+y5iIjj;tiMD!}z$ld;&HYkegwfn+7|H#)d^S9rHi zkH_as&GbTDHbg10)xCLly>t8Q;#@EVE4+gIDx#Fg-|Hj&f9vgU7fkF*Q+m-5v6aZT z=6bpMlfNQjx7S0?;dw(iqcY9;YLSkh3hX_D{d95zaN27P-BoG4uP(`sx(sb{KLXPL z#?UgsP-dK~DYtdb^K-%n4bbcA6iSSDlv1uW%3&_pum)Vun=A9)$J_wcN)9BE{SnnI z;i=SkabNv~e+>8If4^bYs4e@Y+-=-{W?>lO(3;50hD+pGW`Xd3Tn zZG+4LE?Bn(%%n%x{vNCkc7q3+&}$l@%{wGZ!vRnXe<*`2{1EIO5KSgLGytjrNWuvC zA~J3$s8$5_Ox8eQ0Cob!4Q-bUIrSz&w(Y+M08JFU6_qwSv6gC2n}Y%t5D)7%LULPF zYSnc_gM!AVqh`SN%$fqMGbqBBaeJgVu$X=eINU5CBx|Cu+ez9!9Y9=!=~~{%aT3)^ zm_{J$e*+d#t%Spv2-O!rJ<$Eog_IH{KRbOBHT__3)N-z6l71dXiPlR)Z2mi&>V=HH zIKLge&`bEwGBul}_Z;w!TB^kxC|j1zZle2u)pRvAmXVpfFAhMuO0B2lS3V*y(if?G j=quwyPV{YjPyYjiya9ya_NVRu0000-kTcpk<5;JhyeLnka->1~C2Ii?#y_+qUASVe-PeUyL7gW&< zH2ajY1*il-@w%tVNpK)4$~ibSjVR%#YJGT?huC)gm>5xVtAAIgT`s_lK9b>bBA?rh z&R`-z{_fTgZLxJM98C z*$b2UJv?q1yeJ delta 340 zcmV-a0jvIn1F8d%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`Ge7CqdE z0003ENklOD_*Qeu?RqpP6EjSNV3{lnlJc4i(im^0!{e0#qbW?oXx=PF-75 z*&CBvLERL&WWz>k3o!w-!Ym|WXINwI3y9$IJ%-mpd=FR{{3fwa`(60L@!#sildR_w z#-+lLON1d6$xTlX#zLGe3_+MM;;9uGFO0lRA5_+xK{nzl2)vUQCiiD(I^w(^vTWG+ mgC8Gt;)lN!Qa{99e*6RYW1nK)B?b)u0000J&71*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?b5Mo+&~Zj&_#{KeMOk_DMF-@Qn)^Eaa9V#VUzNTWx2{2hXdn6*x@Yn6=C6Y%ixbl zm4Lag$akdh%xaA#txW2Gr!e^DX?A9I#e2Mm5amDeu^sDi#bqFR)ii^uwVMYLL8G^HFccCk# z957*vyEA1gW#0zhR!V8LZdA&k3i7d1iBemo)QUmSqo8d13Tz0XM9~=>E1J`cEHX-T z!}&GOnQ1X1wyps3Ch;~b5!WqPbB}oV8RlsPG-nI;Pk#e|Cf!_rZQU7&kH0K5GI z^g&g5vA~xw9T3wy(i;b|b=zlV?>gU4+>SMadDDJhnckan*T{n|YG1)*Fsz_EEe_ul zB)))z*B*OIxPnH1w^Kk{BkL8|T=Ok}D^YmR?SSXwYrZ>{^7I5@xP&9=0k>J?a5C&5 zrdwF}MHCbc=)pD2fd{!STx4jPE^tTiTOa@}fJFBTxD_kB2kU^zqb>k|&jjdTKnL<^ zF47K&a9YUI9L+~;0g-NtA|pV*!8Bt4{7>(xL}>hHJU(C=0RH$ N002ovPDHLkV1o0&3E%(# delta 565 zcmV-50?PfT1)BwsB#}W-e*gz`Nliru=LQE52@{-H6=VPa0scuuK~zY`?bESp<3JDq zP@%>mUlGQ!PApeRSEN?9aCJq%BwXoYSzLvX!w^!4hhTPLfsPs-eMSB9Iw?x(dN*y*-z;5EiJg#qFuk zwa_1fpGzU6ShXS}P>0(SA{AmIgjf;?dW=jqdj~oMaVpF^D3)eUHL}P!l`Z90G$)fI zn~pcO0MaJ$CM=OOe-5muN8CS#d9wmDrvtl}zX3p%tuHtB9f%K4UxQ6FHRsId4ak;* zNo$iY-|}PN7w0_n9UAcRAO;{YpoGkW-F`m+lY36_{f{U6=e7^7xR1txo9jNPYcJ;b z7ODdhbC2ZO0=9B}GJV^@m`y^TtW()9XmJIn`pik0neT6Q0kn~;3 zBNc}s)nw?>AqN-+bRX~k?~Y_|@ozDE4XBFobM|xkS73TDe_1iZf~he8%)v~}u%C57 zeWd|YBEt&%Dg;37K$lQ|MT&?$1^_EThhpVnhZJfANGm8+3AF*PSg5gTRN1@;0F;1G zS7aib#3j@K2QrdrAoMr|sLLl{7XT~)(x9L|mu!qModR}R;ch-cq$b~>o+OIfFwc9d zV7e4CD8ca(s80j*>jn3L7!%G@tAWR_OYWDLv-Qw$=Jk6b7>-eUJnjPEE&hjK><^2H V>^UAH48;Hd002ovPDHLkV1np92aEs! delta 571 zcmV-B0>u5V1)&9yB#}W-e*gz`Nliru=LQE52^oBi{CWTY0t87!K~zY`?US)?+dvG4 zZ56UmB#Uz{P-KgI4X>Rx?q04@<@ zj!oVNKySg6&}oE-4fX&p0~6ZI_FJUT13;8RrZXrQnD?86WvR3BMF1cJgd!&s{YhLx z0k9_{u>tCVAwZEm1Ka+XLLdza>T}@@5!@+YZ4~aO14P9663rx0-u3gMu?pO!RJ{@c zFM;}Gpjpj?3j`Pne-T*?JbYgWx5TKLspM$$jlBK(BXsg&rqr@MFXipeUoN1ON?M0_ zFXeApI1;9S3d7(;xBw}bkRe?ai8#PWwQloxFU4C_a?!t7+xiab7aEIt)Tf8rBx{kNkbMPMDMWYK!8 zKRp9usgzmS1p%9t1?su?=agR?ZPEy7l0n6j=ni46EI>9lQuu-UZp4}t7}%IAkOUmN z?`BNx3)9F>au^peq>coO?BvZC2CA?NjN40svbu?V2K?zVJ-bNX-eMgi0aD26MOPxI zRbJ^av|HCTK+d>NANr@1Z?L?TMi70Uz-`;vb8N>^Tj!jYa?f002ov JPDHLkV1oI{0bBq8 diff --git a/graphics/pokemon/zigzagoon/galarian/front.png b/graphics/pokemon/zigzagoon/galarian/front.png index f7c5ce9f3a699c85ff8bc2615fa68102fc004d7e..e5c9b481aefc475d366ebb86244f3085c833f11d 100644 GIT binary patch delta 593 zcmV-X0;jcow2RXb*_`udAh*sfAC@c#L+v7r%swH9SFZ}f_HK_p6}j8 zm}?B4A$kCN+%45q^#=KW4Mmd`=4#H@O%JyeNiWJ5eN#smxU@oSgmCGqbTG|(aa|(j z@ltrhU`}y4k1)kSM+BG(IjqeHdGASrq~pap>$K^zCMSE0F$1c(Tdh?G{Zd z|M}-JO=Ajko{71Z9(vot$%x**_>wVK8am7&BueX@fpRdT_b*cM3DUB7RZN)++g;0RFj^l9E`QzM z&v~tF#)_*-9oEms@5N>Y$;jHY1ecG$Wi?eH^Fd+^9}zr^hMKhu*wK~Ypw;3Bj)uyF zItc@HwJzF%ekzN-Ku9hE70#wDuKdim8z0#PwP)NYJo{BFjE?`&f6KW=I4$VgJ|`8v fr_S{smr{QKYrdgVpo#~`00000NkvXXu0mjfx2qb@ delta 588 zcmV-S0<-O(?Af0 z*Fo;Cu$?HPbk;sEf`)jkP@gkOM28aPOdB6Jt}%(HMm!1~uW&6LP||Vl!fZ}T;v}R; z%1X8+f4~3vcf7kwUB+dc8^O~9UjKs+^CynpNj!71T;l}ls-%>x2%o;j5q|l2z}dG-wLF@5uR=`c)Lc^%76ZOLbHUT zoabV$rH0;?a7ILLUwj!c*BS!m2vVi>&OkXhqW3Sq0&keef54ZwI|JpwsG5I+f>}#; zBO$|sh1O+htr*PY4yg@!An4TMKHnsVz(|lIi&w>rxv{05`-q2TKG!^48t+Geb| zu8&sxug4$7W)6~(wK)=8J^qo_)P>9sQe*gp;QM%}S<3_iT^kOMO8ms}P?<=lQK+uh z#j&8DNn<+*LTM*d(R_BiCH;|aJ3dY~Ee=m?THmv)V(gte7o0nU^Mbyub5`Mdm-F@i a9)AIAzM)eCP3R&30000H{VGvQJGkTJP*f@4$SU3psoH?&S z;_-!$n6-p*rXav)EI2c`o+?>IR>0T59(AxKABQ#e?} z0D?+mv?wRAb7;mee*)w?;&_9Kh|O5v3Kv{R9f1g+y!V#LpY%s3SP$|{$9xac{VU4rg7 o*p=qn!*2ERUK_tjLBG=R15jC~^gwEzGB diff --git a/graphics/pokemon/zigzagoon/icon.png b/graphics/pokemon/zigzagoon/icon.png index ca55ef97e55209d473c65d7a8258199c7f5761dd..2c1325f641236b1ba0bf381715e3b48b1b0a301b 100644 GIT binary patch delta 280 zcmV+z0q6db1MdQmV1N2aL_t(IjqOsqPQ)+}%pbT*2^~LRDdqWFPL?KJR_LU-<35SM z;=05qOB?BmTNa4z1WHPntvt48U(+;y1SW0{qLB(=jOoM~E16+lLTkm_LOd?SuD?*;kcL0d`o#!qm;7k&&Sx!tXa$<;Z>L@B0Ic_I{^y|5zAMfTVjuFU*>S^)-0000O{5D6=^TCMs3 z008w#L_t(I%k5G-YQ!)U+#9HKnRK~;z~$;Ji(uUO5f-d2d!*bd+u2$K&#=W#6tE?` zNUC(ndzD7gywA+x@JGVL&4D>n0gN#%ov~aI)j2el-WK3_7Jr3R&jq+al(6jFLIFrl zf0X5mA%MB{A1j3+Ar|4XR#i!gE4tDK<*t2rD?f6POmdZ%+UO0ZQ6e`}@e$&F&~*7} z^8ff|Daq|_O-!!tIVMRlon4hGyn3fNuWAd10PnEw-kg~Ik)IU#8}Q3QQ;{D~Bpju1 zW<=Vq%E^p8hBQK%Jw}HvFnDG2}o N002ovPDHLkV1k^%j_?2g diff --git a/graphics/pokemon/zoroark/anim_front.png b/graphics/pokemon/zoroark/anim_front.png index f446856e04aae6013dc5f90c842eec1e99dc3df3..1cec32288cfa447b809b1e236cda366e2b25acb6 100644 GIT binary patch delta 1336 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 aRNFu37w-oW&E1Mld5ykQ zkCaG>OkFRXiryd)x=;82ydxF;ixCfx0h40@8y*8D!#|6UEb-=m_=vG)MGuHm#+ns9 zARgz8o$AFjG%+%z2W5GG$)wO9oCN^ZCedIe zpLnarwgd%20bt$-giJdi#;gvn1i!f(cN(wrfmBy6 z>U(U$D)7C^(sl@az!l(1o#`$H3f-Ygam2A5)BpHe5k6 delta 610 zcmV-o0-gQU1;_=EB#}W-e*gz`Nliru=LQE52{)iy@wET|0xL;GK~zY`?Ub=@+b|G@ zB^2IGQ8B8~bdWjH*#)wdFclQtl2}GE+acn|FoFQ=7C>oW&fSVmd5ykQkCa4-a$PT- zir!!dx=;82yyH0t{=o=`$AIxMfDMlUGq#W)ps=UsvkGx*kLC6f_&BTEBeL zk85kN-$xF>60P<3x7D<1q}OK${2Wc|M%sMt6cCso@cGARf7LV+3GN1tmNIsM1Uvoo zT$!XW%UzyZz?9H>_vN|nWaq;06iqR9AvZ{l+}8j^Z+n`X$92lNAdMkbWUkqBG}9taDa<$BLQ$z+rJ_Mz!6}MKn^v4$IxZe z0VoK-6ef>r#>)(76-0TkK)k_2{o2->EdI whtLIF0j|`!>0(czy>tnVIBdrBKmK0)0$Cjid67tH$^ZZW07*qoM6N<$g8xYzeE0JO_)8r;B5VN9V?VEfxXApWj3nfWXt$&t;ucLK6VcP75ml delta 76 zcmZ3;d6IKNya5Aefk$L91B0G22s2hJwJ&2}U|=ut^mS!_&c-gl#prUz{5=B$i;ky@ cV~EG`jpzopr0L!xy{{R30 diff --git a/graphics/pokemon/zoroark/hisuian/front.png b/graphics/pokemon/zoroark/hisuian/front.png index 94c8be2d8ad1e39c5310700828d01fb12aef3a46..bf4e40c15f93ed019aee2a70057339cc895a2829 100644 GIT binary patch delta 1018 zcmV2+IhNUw;GENkl zza0MtW5!xX2$gRTC}Ae&7An&(>laJ-MxmR$&pIIl<2r6D zpcu9i38;IG{4`*!gfTu)waQj@W`&;Q3HwzFjHE_U)+*()k>7?A%`>bZY9F&yA?$pQ( z8hM1HF)DQ)#H~~rx+J#)in#OgRRSnyyIX<%oQxk#9@OGa8`ZN2$mb65q&7(?fP!sz zk8)Ubu}}0)y&~7c41}ck&IJVD`{e+K2n8TfJtzMok z7pNk{x@F5@I!po?*WLRhP_UQp6!1YXTet074uy>%Gkc1*0`}l^*;*PE8Mo!@^}IKQ zjb|ozw{B}Tg$#bXKr(LkIG^-3P@J3NU5U0V8GoKFjUKbvC7-;eo+*KtmxX}@?B5J? z%m6bvr+qOzH={O#b{8yt;qoMEiA6$c8|LPctIm{Ivt#+!s5u4PCw6 zIy5Ry=8f2R+*{NBCI+;PikfxQcP@rvErbMmAH2&5fQW`OtM<@P)P?v%1it0YcTK2Y zK7Wv5qS~%X0q^~+Va+Yery$lS02jkm1r1m0fSFFiq89UMW-k_Jwpa~pfoc>$CRmjL zD*-^i@AAI58iwTz)fM)h#sJIj`OFhS`9B56LY^1Md8`J;E@e(Jo-&%5g0_$@m_1J8 zDVS`_?D*6`je8B4A$D0x=q|Iy$-$7WheDw+uI*W^ z(HfQoE0_2ZqfAW6DTMfD*s?JS=t~rQD5AxO=H`=)HkdG$hGyySpprfBx`

      !@lLui&wS!AZiOswiL;0%`(1QBT zZ*c~VEf8vmGJyfNeyigA?QxC8B&y1W*yW(&Mlq5&DoTl{YeWPUKSsMTEVduUt&|Zu zI2!>4)PD6k0hBVGt-xVc%pZ*(R^v_^m5Uva%O0U|b$^^tQ1Z6jImsef#Ua+)wOVyN zP5^4&?!#|W>My#zjTYU{Rr$048|XwzqKD`5A}7tMuH7Ju`$SY9u>6HtF{GI#5?Y7;=g*K;W5 z?Ji^E?i%n*a}=d$%Vlt}FuK&H*KGWTc%}eiUgrA(u%8;{h$_@%jP&^6(%coA2?6Ew z0-BCOxyfF<1~(6GoY>bPp9z67n`k^>?2V(meZV8L4PCBo9T;Utd&}1z^H!v{jsY#B zEPszW>^WBhzT#W}-H+aN)R2&bM_TE^0k3iXI}d!zokc~+FQ1}OUTIZ?fcIfqw`P{* z6D83!SA%644wkEcnoiv!7WIjC5SynqU-oSdt3&~m(+X9r1OWV=%X<7~5T-MbXV85X z11!JmQ;&1$|3o?EqF(@Gu^cG97BTr~LVt-iQCeKMV0IaahoGV?lR0d3C4d26Q?{vY z3(SCgql{5@Ad}#0#u8l#!hc}Ih%2we8yzucZ#Mv^PyV|LrjGfXrS}ZbTW$fNI9-01 z2CP3hkDluB^x6TwHFbA!f#(KkfLL9Bch8#n)-0VQ1+%DZYXO9yy>=BVS{ya?nCDuC&@o8_-ls=;^GY9E0%WN*~F^>KW+qPLG8J{2Y>{j zIlC}zWQ@(O$*iyO3V^^p=NV_UpVC5kG7aZx&LF12R#P50!(7%^A}}~VM*vi-Lw`=> zq0j`>hBllY&Nsl56W{62v55exO6@i6Qau46R8^X?7&0CEMAagBE&T51+_>+^^RN6( zcQGflT|sg;3JX^Xf_Ou8a!uv$*qM{ZH9ETO*sMp1T{5)WVb;h=us~PD;URVwLi_cx zA8ywTQOBZ#K`zEHGMhkgXG~#q0e@V<;{yQr0Q`pqk2SqqB4~%&$vYKP&FtJ4gafa5 z9zJK)!)wyaCQ+}z0K*MupfCdHgBQ}w<424UmAP0dXgt+{QILya7>ikgVa&xqc^=Ik z9F>NgXP(7Y{iqGkKG8%wB=}DE+|WZB0r2XicEp@_Bvw7CRPQ6l2>p$ys}F@O{5DE=VdV9nG00HqyL_t(I%e7OxisLX8^&ea& z#g+-kOp0BQ!0PRf7-riA7cQod{%HbJsIdQF^DU9VMFwQWVO40scjZLRc+yR=!UpU3 z+=tFRN|G-v__V_Waq$n~J63ky*~F^>-);nFLG8Hx2mlE}bAL85ZDfpX-e%S}cmY7* zj`NJO#$VGybu=yKX~7_-!A?^iIKy1l*CH@DKSuymr$bKUq0kj*3~f2xpKpLCN1p5V zv5f$#TJ1FLQ+)+MsJb#$Ib=HaiK;{LT>AX?+_>+_!^ms` zrCp3^3ZwS(B=K+u0NUh#FSxJiGwQsDCJ;*@L6fkn_y5*s343;n_Qy zXomz}>5dz^Pa^Jc?qV3Qu4@o0M~R5jhbm};#FUanU4wS;@Ngn*Hd&Bp{KjyzVY9cxqY*4_7Y>>Z n4y(=GXdX`e-SC!o{kHxA{~)C(hbw#)%`%;NPH}vTK9D?y^KU zsvUl;G7VN}BY+QH58mPy!#e#P-x$6g*20PlF!jo%3X!=;yQaf|;p7IVO-8ArLB zeEVa8vY2)heE-iV$Q*D}kZUMN77-T;BBPC*D+mFcD+rH!eOHj~STF+K6+|O}h7ryC zLqRkt5PxS1LJ7o~f=~i+svwOd1maXd&=0^zb2w2D5a45hI8_i72z$Byp&+3}PrlvU zs36XVjZo|SaM0?QA)yC<-V`cCxHl7j4lJORvpNZ&KcFBCUZ(tk>u~j;lK#N$Xc!az zfYUR1Kj9B~$NFNzANm!R!SqRg2n$EWn2MWXTo)_;0)H{mc?$mae*gdg07*qoM6N<$ Ef?l8}e*gdg delta 692 zcmV;l0!#hz1&0QZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`JwSD>%C z0007NNklv2NQi5J2TZ+$|X{vPwZdz&TOKsFY;8QX#3qTj7}B;4dhUKj;Uf zi@&l*xhQP#C{5l(4+hM~JMxZ}UY0H6E@M3hRMXR|)eKM;^?!7ZvYZB1^$bwfb-A7i z@SFtlE?ZS~wc{y3G?^&sO@)B$NC1@B)tgO|OK3>IaDWm(3IH;VPzdY*1aLtDMj8VE z4R8zO9tLR!2m!1FO#!S?3g8_$Zh{8DfU|%BL_-$>C&S?Ka)@{z`SW891z@0%A&}I(ZIv$08UD&^ER$let`D(>Chmd zuyt|A@HhB4g_ByHnYd#)N8;rd*4n9z5iQN(U!k0|ok8Fjbqi;Y__5M7n4ygTHh497 zi(3pmg*L7=bKZwDBJdqrPqdV|aeg=e_x_#e=l(3^C4T}Rj+z8MEdrqijJz}Zy;NfW zNL(3)>#Z{344MXTy)!)I(1}}zMFQ)OuuA|+Ie`9a_gW@^-rL=l75Xjp80m|?cnU!3 zQPyu6u65blQvzU`)q4C+KZe}$vRTG5;@9&W@MXqP*5x#?s>*5xsAm*p4pPZWV;ZXZ^1r`jU_*6+|I{hS8)IM3DkzSftCKd$J^jr~C^T0&2AXe~UP6p31D0-fLBO(n2jp8IV;RdgdeD?Xw$+2)8QihR@jJ)>(v2Pz z5I~w0U%@Ly0D2V&QIq6$U1nIy=L8!uY41jYkZVr_6imP%4jF2w}OnwIF z8GG|yDJ9@(^U%aY+V;wPNR!9s479k_+Xk4gUp(eI@sut^0Is$~5>46r4jrCpxg0_UCs>um0(=VKw(fa=N^r_`*{wwAOBzb^#_)RSpbGfFisKc;<7Eyn?(QE>AMAFuh{? h-_-oJ0Dn9P`2`sX1oDd%Tr~gy002ovPDHLkV1k%6+e!cc delta 485 zcmVkQosH=tK2ux7^Ag)8PsS-5kGIhnZNlrL?uwt#Q|vw$i2%pa0pCFD2bum_}jK(?pA zj{CqS^2hQ+z74Q+Qw0H*XpMULNre+(eq(4c?-q*?J5 zc%=w{UIm1xNpik>z?{QKI4=b0z(zr+!gCA&=Um(zP|_=&${An?`Er2C&j5NxZQd)T z1PnG0P28lFSLPy39`7@t#YeprzF*6O{h zq9Q|2)8o$U67!eX@YE7oYu8M>04AcUCNC}lBtk3T%;!Mz3iA4K8J0gyZpHSysrhaA bx&P6B83_dPREk%000000NkvXXu0mjf+?L@s diff --git a/graphics/pokemon/zorua/hisuian/back.png b/graphics/pokemon/zorua/hisuian/back.png index 6af0fb8de3aec3ad151f5d188f893391e8dc2d06..1268b09e0b0bf927b6ce2d4fd7e29c6cda8e744e 100644 GIT binary patch delta 689 zcmV;i0#5y?280HXUw;CRNkl2bG`uIhWGyXPinUw;2n}E@6XTs`0ly0tp8nh zrv<=m0&WX{oHmJwv=ISmv582F4Z96+T1Ma&lmFg-+MrG8(|-m-4S1gSuCb3OrEjcf zp6~mY-ebUpckZidA^;f7e4jA}pMKMnkTO+cNnAEbgsLCYm+TP<6y-o&!mMC4VJvI{ ziZG*z0uE=`C4en-u7KHriB6ton|3BK?e)NkKRN&`on}PW%m9p)0P4u3VJueyfE69e z{M&R4H15{T%-01`*3xCV)Y{~T6VI?!pA5+eJefungHfNye~ zt<{Vlf0_VglM5jD_S0rj^B{k?T-9>>ng5!XfLoBRe19B9B-J+!T(jF>@6`-xGU5Ct zUrdzuHSil_!MDrg<}43YP{e7!hZ#F~c5y2(9h7}=aD~GDg$8032l1lXS1QIN(*WOD4=bE00Tv5Q%pU?sUI`<{ zuDN&&&;_SLhAycA)x&*Bnz;^0V zP+Uihag9tH*T`tp0ZvT`R3q}=bQshRDG0*W;n8GtPN zQUUXVh-TvE27hTz0@CRSCElq;Yk8*L99gFn99sGS9RPQ zj2)SRkbiCtkRnyw8(xVNjsl41&61aIcV6na_)iqU1{luL=_+y0q>zLLGE-5S5*lbr zAn!Vh`XsG!&_Is``SE(@cMX6LGQeHddJb;CPXNw2Lb3wQP8*$#iBU0}iBsHhM0zxT zN!;0f_gVvivIBobO9M(*U>bmZc|gro0v2#hEKW+}M~;LcV^iSA0KG(4NYjNSz?$e0 zrwc$BS=A|~Iv&MQ#f>Q9G&Zh}Z>#Q1O4nK;Uq0Uc?QQ=DXV^H%;VEjl00000NkvXX Hu0mjfmL@`! diff --git a/graphics/pokemon/zorua/hisuian/front.png b/graphics/pokemon/zorua/hisuian/front.png index fbe3cb1564080d9a64f79f0d76006a573a10cd18..68e861aff8d4ad02e377a15c0a662304a293022a 100644 GIT binary patch delta 667 zcmV;M0%ZM-2JQurUw;C5NklNtj64U%>er%{nZ|AcFqy)@PR-0TZUDpHHj>M^?4sSB>+G2LIIOB>VUp#`tKGi_ zd^odh$Fx?jzkg<20gYpT(3k_(vV(2S0WW}X@TICzi#0S?xpL zY0LB8I~YU}IJ`+Yb(R6*wmlht;bZg-UeGe9D-H+w|)bBdR{>bo=m-)scycXH8t4mjXXDXJaD6%UG~m}>ohJoS?!tR7<3LF55apQT zns63g_J0j+u=+6W^F2yk1ah7*KAgJj@3AGPnUN9b%x~r1BUwo{!Q$m~0fKzsO_Jis zh0*W>T;u?Ht-~4*T?k{&MtK0PgY#a%gn!wNa{)qzUhm|oh%fa*Aa+V1;+`Jo6}bSS zo*oqdgRgkCF4h2%gMY%JpP}xM!o!PD{7LiU9~24s2W+lo$ejQH002ovPDHLkV1j`G BN>Km+ delta 698 zcmV;r0!97q1&s!fUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M`J@0TXMQ z0007TNklBjE6vrh9!lR}33+M(xpi8V`$llg;t#fuuXi*J5S9PZnTY)ZK z;!5_G&_k~#Sqg=yyNRo*6g+wD(2vk>(RXsvTC#K^I1Y6(zcC3YdV^6o%s5BF+P zK-X=%CQ*1~W9&)tv}xPSk>n{oV8!QmFn{Do8hlLYP?pC6?ZLr+LeEp6v~`nI%^U?0 zqJ)l<8r5Pzw}1EaeoQ~7$DTw zfVHV$TWi1zAe?-utHe?aE4AhNASvJl;UrohK%Dd(+I~-*_ddWRiojtV!bsXyx95pi zz~|^2ye1|iR@w%ai+l_)i!S+!5MpKaqCt%L1ps_s@PE}0#yVLm-7v=U7&Cac>|hBq zv#v^T3a~2(zQTsz6C=}v5|G_fA^_j-;zSQJQ}|=J20}!rDB+}g(QQCu-QNJ`uWBg464!^B9xL5H2)sPR^GmT8FAD_xIl#rQ!w~q=6Kl!d z@L4ayB9QZh z@!_<@e9tW5X5P~qtZ!xWsp!PXf4m}w06{*`Pf8rQFq?jYc@Cg82DJUeg)nAxmIvTE z7#jtY`&Yeqp8t)QdZUvUJigKjf!L`4k4IYU$TNUwq(ue5|6JPSeUkRgAJ=-|Oekf>vuu?ylhfBNq8-RT!af2?>2-jBWj&+HqZ4kL6B z5h>5Y5tDQSG*dpnB-_N2XsK%`P8O3ACHsM`0B@9GSI@J-A%9LpbL_2SEU#DC?^^q{ z%5h&xvzlA(@Fqu-Tfqq2VpowBRD&os@AI%A;stfm*-ufn9KCINmaue%VI07}NN~Y_ zUcvGa91CC2MR1T`0QrmogW9+ju0JNC9CEczDdXKNKtq(RU%x5)DYKwNv}|Vqb01?T z55=hoF7Tlg<~^ykjuh7~$kj~HC#GAJ)vf(THCMT49bin1mt-7ZU?N$v%Lns0e0%}b WU4w1T3{iyu0000O{5DGH;99H=N00AONL_t(I%jJ?iPQySDh4%&{ zI~|S1SWqO=uIv#_8ty<&00kw!lM9Lzc2A0&B}Pi&!heVqE_N`5_s0zd4HDDs)0?+5 zyPpt$thig8pM3#d**8GBj2IUYV(=_1n3NkZGNm0%vPsN|qJOc3Y_{l_C_Hp*1UONG zO=)L?a}dhv(i%sf->$LU*XHUW#Y3+2+O|C4U5Yw2f|j_$rXV8>6{6g}+hIWlD{7Rp z-#|&!d)u_EAaaGS@4$Z%7XPUh%L}+<3tlq*0U)0-U>LTph0BkLD2Lo}j49#06`&$Y zHpg$u=FeVHC{1fNvw(gKuu#P6ROwMSTP7YrBz%&oBqzFf^3xnWoudCEzS* zPT+=O3nytuBHpQpGX(`LxXUa29sNi22Zo226K^GgTDD7J4?w1;T&061fFg&DrU@3d z@XbD7v~<#zX<9P(C3VK@EZzZs;BiKX;e-{gA*Mn_CB!r{i*bkThgfa{IJ@wB1Z68c z{Fj{m=chUPLI+=*ujc`vUJ`jIUlqyG!Cn(GQf%_go>Qi8!Z$2elP(OOFs-QsVZLx$ yA))@N53{r&3?uCV$&hO{_|dY7AN`O{5DGXO$-n0S z007oWL_t(I%k7e}Z38h3MYRF(;qHKlGu!|k#!bq2rfXanNHU9Y6R>fSf}+|3BHEp( z>ykEMr&sV3`Y)wFFf_b8(Pj};+b%{P08gh1sY^!+OS>V6 zO0w4ULzCd4>W0ACo@~dKpAbJC(sH0VD2EhD40w#Bdk7*AF!z#(q|j#pcsw-wtEoa#y%_jifC=mV*rw61nVhE8=8r|7Wd}d0(a3)L`RWeN6}Yb3;kC zV+;0g8Hg3&KVq#8OJLF=fs+mim~==|MjZ%`;dG-84X7a5sKXGUPfHH8gZR^MeW%&= gfnA^LAik}`3q>DyiA!869{>OV07*qoM6N<$f+#R#>i_@% delta 270 zcmV+p0rCF60_6gbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{5DN~?Xd6EO z0078IL_t(I%iWT_4uUWcfcpl03E#uz*d$%JQGHoQ5*9|$1vaA%wrfvHrPLb;o6+m` z<$6E4Pl%rmsX0&_)ILQL0~TlE9)idMOtmB;WoYvVEFQZ3wSQ<%Q*nccjfHbLfhT3f z9qL_W-hU)*0rC=boRG-mms>SY)(<^fmCP%PO$(Zm;mLve+)$EsY{B6z1F-`9N37Lh z2?QMy7<5QL&>=|~bs#*((~UZGkVVNx9el((JsD62=1%_lMzQMyyFS-Jd|QVXMIU#G U?*ybF00000Ne4wvM6N<$g8w;cyZ`_I diff --git a/graphics/pokemon/zweilous/anim_front.png b/graphics/pokemon/zweilous/anim_front.png index 0c8d3499153c3d69204e1acc93b998b7d53b63ac..622db80f66e0e91562c33bccdc6272090a67e305 100644 GIT binary patch delta 1035 zcmV+m1oZpq2-^sdUw;GUNklx=l^dat_@OFhIjdJC~e9 z&jwB$4D4+_yS#vdlbl;};OyjJ;?pL64JY?DSKWLzFzdkb-3438K-Yh&it1|h&$9kU z=6+A$z5ZcAJU+u}4N3s7FGsW4#v*Jx3g%(#a6=gH(naX!^M4RPAlwdu7i=yNsSAGh zoJN+{W$VomjDZ;5B72tMMaUTAo30w-GnbkH!dNLH{Y*SYVle$SQ+~!&2%;XwY<<<3 zpbcR&<_*Dy07?+G%Nf%l%x`eQO#jcr99hJc0xR_x_n41GI64)I&997Ho_kS>0$VvT zh-V1w__%9Co`118u(MVW89D4XP1D@}7RErez?%y!zqx6e1gJ|Lik0Y+&Cj@P9>jZ* z0`-15F^aidYBqw`f86CRK)|jVu`2}uid#Z9V=MEf6aWy$SE?MDLPAs}g!HZCBBdB1 zqz;xNk04x_HVnlvkQ9Jz?OpRwmm+~y(2bCj;TN(9*MAb97FDUDg+|LA0aU2>Buc4p zbvE_N$8E=;iTXo`KEMPjLoAGDkN``e9>b3%E(8M2GR?&f@&LyPAPu(G(rk(Xst0b> zk6VIiF#;38X4UWDPJ)`1{(#Lhs9|+OwbjvT1m$OO+n&Y2)fqakIzz>34$svB)gu0G zJw$IjKYv^-qBZ}p7UIYfHLr0fie~q)^w%fxC(l%$&bQ6!W)b3L)9kc+rj&(Qg(Gpf zIObBy`Y7e$D64WNkn&j9?Hr-Dlm|1%T_un2`hOwA5VA1+FF$<~e-BGeRUbZ@H99!J zlNl~P9_ABk+N;moC;gW5?P%4Vo#VwPSpP|Lt9UC|7+rkJH{j#^X9(*8MWO)#s~&roZMS;`iuHN`9~ zSbw0_h*?^{M6Cg{0?St=%u#E^ENbK8h+0WUFe7GxM>~PmU}-G~4Vb03YecQAzk@Yq zl|nNPz7D9R+pAVGUf)-$Y delta 1049 zcmV+!1m^qO2y^h>A5XU7$xOyoGKBTioM0$yQfR#jPf!j0zL|x&=#Y&g!_f9Y1 z!a%At2GR#EwhpfG%VkJu^~qfqE^HvjW+n2knc;A_^RujvTM&=WV2nWt z;N4|wHrrT)ZAZb}MCyXyKc|u9_1@0I5sZNt-XeS9 z;Z4XGEkN2ZVv6$v5dRDW`jQnV0K2g8vE5H3s;hT<4V z3c$AZu6=Gwkw7QtOUTJ^hb+Rm#HU4FDr?~^<&FR<)O!-8RJhukdgbG>qtQft5aJr3 z1LYwWvt*C}L!lnS%@P*^fn#~MFoQh6aso($t?6!26i{7o#&tXrbc+_42sXxb2Tu}I zt%T<9ZGTm)Zm5nrGFnjUEbh|7jUM_{b%zS`e~haIDn)8?#UYncHU}xIgRIMiK*~eY zbajN8%lGt4rf))cc$s5Qkb z%YTGg6U^%L3)GromKrP6nqrm~tWayjtgbPwP;0=f!17fHOVk=Mi`qCjqE^xq%!paw z(O#f67+MEH17_*t8c{1d_h5}#rO=FnuLEl7^s1SRHxExzV+*&4KcLpo#T^eDl@JMId)yF7m@(6UhEDKZv^;5B7A0A3DHjuJA(#7_a>BL&kq|trA2E T8^&7{00000NkvXXu0mjfls4;r diff --git a/graphics/pokemon/zweilous/back.png b/graphics/pokemon/zweilous/back.png index 7713199d0031ceb9baa544e667fd55fda9d219af..a02b323d12de864706ea6fad60249a3537bfd8b9 100644 GIT binary patch delta 587 zcmV-R0<`_81+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z?UYS&oG=iD!KDMx8oVC~T>#n#5FpSOsXs3KZkZ1R!)gFk1qF>M*0E*cI6D@drSIqkYU7a2237x8U4WK_p<9ULW7wFg8=lM za36aho?0W=0xb3Ak1<#wxz93J_2A8L;`AM<@4gLxq75n30>YRW1H`x*;XszUi|1qx zRxFqKMBGzdx{&_bORwNK7XB9aCj3QFJ}9%kg_xy34?JWh3ejsDoVXq$0hx*a<1a?j Z{08q*lz*pY{I382002ovPDHLkV1h@d4j2Fc delta 578 zcmV-I0=@mS1*ip(B#}W-e*gz`Nliru=LQE53mc%d|I`2g0t-n*K~zY`?UYS&q%aJH zA>{*LH`%w1FMyQ;U{G!_4BITaa)PPp^Uh61vW@vMmCAA!qfNW554~q$QC0s~)J*eq56MzcZ&f4Vau49P1qWD9@= zpc$xTw0Uzwb=EMF6a@4#ShxZ-TbKa;FksGrNPqxO?IG{=ku9? zO=Bg&y%O-VDoTvGkv##wj+d6hZ%tpW0L)rO&dcw|39vZue|f@{(C_m+uj5n8cq1?! zSW+G-k6RmLs7epWq=fV51NUE;2(&};V)xI-aSEkvyPAEUALqeiX_OIY8-X9E!3l*0 zTaaTp{HYCtP+Vv9MLv47+;RGjl(Rp?mpDW(rGT(DwLzwKRRX2j@|f<4k5&dw^NqN# zd4;k2Q>%gkIQls0E)?M}iVlsk(_3t_ii1U=)+PpR3y$-#B~oSLe|#(c0`F3ke>{hE QWdHyG07*qoM6N<$f^vif&;S4c diff --git a/graphics/pokemon/zygarde/10_percent/anim_front.png b/graphics/pokemon/zygarde/10_percent/anim_front.png index 6f4464421ac19e347694f6545b00b2630535c143..88643c991c7784e4b74df2c20f4c4bf6586278f0 100644 GIT binary patch delta 1170 zcmV;D1a13)3ib(*bbkbFNklCFiZ*8T;7{sX1`qx#Ai0d{CkT~{7q@U%N{3a=X}}$#0s_&egdEcFcw`me8H1GiGOSR&C;^>p3FH9&G=)IpG^fxuo(>k+nh$kPf-*TQ}2)%`42k$3~&4%0M+7^C+Z*B(NMmgs{6=!O37N3&0ZV7-GRxISjTX2uwm z2AMfz+VwFAUw;@OzEvq=dS_oy5F(IDy#l*1K6}Bam#@Jdbban1GzV=ut+0B(xSyyE z{Pu8jdlLBb_q+yZ#|eg)B~M2_fP99JkraRN)C(K{;1nN_@>YI4*<(>s8W&jLyfCbp zdW|WRh<(g400bXf06scCe;TAQi#f!H<`y0sU}bJuX_6iQHWIxh<>4Jbu&ROZ zp8(U-0P6zEovUpXpX+1;6fRI-s*iwB&1`^{JJ&``3xFxRuJduo)GDe zdAU*8PfyOU%Ae^)-Z2)#;_7Gm^{GyX*lGL!D}O-sg1?Ek)5D7Byy*3Dmqdx4OhAHk ziyRt1{lV}AITXzZG3eYAw1q>g|zLX%uuf2!xIk7B3f_rZwyimOfrFQ#jfMzA$D{y9> zSH!IE@nZ;v>sn#VsN)9#7tc41!nkrqFMole{c5wR0e7TP0PuuLU|{{X-JqBS^r6%! z7o<$S1k8y_W_g(?g(GSfkb1FSL ks6X0GvHig_a$=T01E&B07*qoM6N<$g3lu;wEzGB delta 1181 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 JPDHLkV1i9lE%5*V diff --git a/graphics/pokemon/zygarde/complete/anim_front.png b/graphics/pokemon/zygarde/complete/anim_front.png index 510a02660cb772e98d160530669eed6abba738bd..a1a81bad6daf1addcab76206c080891cd43b3872 100644 GIT binary patch delta 1924 zcmV-~2YdMI591Gzbbkj~NklZFLScHS|sa%WawAQ1Zy|h?WzXj zf%Wu9dBkh1}un<(Wo8i7?G28n#CvUKgeEl*=y$PES?yI zPm@>GA8NHUvkeA!``1;~uimToGa<{DvHlAWsY8fW1=5FxW`8-X8%}iq&H@A0sjpZL zu3ZHvXCVbAM8E(BF0TOikcBm;9tJ-C4#MGXbpYU@6$T*=VK870bCv+8JG(*nMc}Uj z3`P|Y)x#&$Hyq&Z5)gt@t8eir0G}!Vsz3zJ%O_h~5oJDgmjNp9$?x{Q`_2-UPc6w+#785FEBgc{xCR?TxdhNZQ2uN9@n1hsW+{MI0QW!F zRCIp);bRDyuz@dpr&@ydNA~R&{{#RcM*(aJ;IQ?r5Puw)hausd*`-D3kBEe@EDIOo z$`HR39AKZ70GE1^hkvz%YkP)+*?~XB9Jo~!JWsyr3D>ec-vAre63*wKf`aRLX434t zp7e>$6%aN4kpsWo#yqyA0$9C6k2?`&D+0COckb|vQ5ge%zDg5;7q3M0 zd4R;hc``8A5|G>-is)JawbpJcQdz5kED%&A$)P7wAT9%GC~=j^5P{GCt${($b2H%4 zG~EqD4CR@Kb`)Uk@klM9aZv(HRu4lKiGTmIG$3B`+4q*e(A|M-;Cp?Ps)Up(l7DNxGBj8F2#T7 z?_`A3VxN({FUA#6_M@|84AU3#*f|0aFA$H5$K*$E5fxtAJ6hJSI z1}I0Ffska>MZuWP1tZyw_kYhkni~kg7Z&|tkTi#9eqkUaX=&hcI?eSU84R)0Fj4+c0PT*vE)0bE=IrPu6^x1Ak9Vgt^oPPguyxO# z-=JVzNS*;`C~tBDQG%fX-TfPSKOQ`vJ=KDt4MYjX+Vk8WG;knquYZ5ORVAYg#0wOV z`a{;cF&(aFw|J~5!GI@i4E8Oa7n5<`^+E+4F%U{HV5S8FPn-*EL17N;D4;AD2I#Jq z8iq>A*%6-$#=vk2K>2~GfIE>3#^|_}83^`8?FR^K|0#(w!LW9fKjc8#{;Ak*#Zg%> zu(sf0TmT^g-KZ=WmVfH*V?Bie46%K-hrnDgu(T#Ap#1}vsXy_fRf)O}Wyh}(*=nnQA0XEQ1I{}`S!&N_+>2W{VgYQnzD`>CodUY3 z1NPh>%p@Mg@vAvNBxD4_phrLH-Z>nYebDoZ1lp0000< KMNUMnLSTZGta{}D delta 1933 zcmV;82Xgr159<$*bbkN`bV*G`2j>O{5DWxj{AA_;00&M{|9a}XLbN!ff@J#4xv+^ zHnryfsM;HTaM$-10XiiT2&=(8;^{UpXATI!u2ff9=z~Wj0JA^{_S1W-t0AEtapnQS z@y>^vKm1^F(|;o-qm<18F0)t6r)>`4P=`@QV0i}Mj!g(3bOyGK0G$SO%DLs3lwObO zUE-Jvf$%-ty|~=~V#yKs9N^RmyWSaeYtIqDy`Fjv!a09$KyYQBzzEl1;a1K8f)9# zMy=8!)Jue%o2H42aYTUc2{zC#N`OP$(8X^}?pUsFV|3u(a_OiDxUP8C;f`s!o(>kS zC78@XI046Xjkw-*T;XXJlR#MeH3vRe!#K8t1ZcH_58y5gYhf+P=XgKvGO)tRO6QgY zFhzd8eScazxt#<0U(ujPE#Ka2|AIh8@2-4(`xH*t=y?v*yhmkV{SE?71!FE4e}`3Q8G#xU0EXP1R*2DxK;@&>CDs@j zG2rE^G!S_5jE7(PNNgX)J)O=0@#PK=&m>T3Y&1d{wF<~Kg77%rad`?vWgy*3TxHxx z;LAT1(CfHP2HZ~4)6jWe9P)5o0_G+Q<$n@t$0fj^)gYiD|3}S%rzW@IR85hEeu$M1 zF!>ZfG3ud~D4>=lkBR9Dn6zpqD4zg%b{P%^Lp9`<93oIlNQMaTq9XeeFhW;2juSw- zMg$yNb%mw#Wy~h1YKG7Rw*s6&Mwk3t6)IqwvTWfEd0|YPD}do=!&STRpotxVWq*LC zZSP|lOaaYP8~vaOSRla7fSdaas}yBkp8eM!G`n)n4A4K{=VA)jIJ(4y0h-+)E4!j^ zf$tVIYy*?^8Bm@B@zGu+gi#EjZAR_rYtBXXaVu)XQNu0OS!1IeJ$1!|uSZecE4LFv z2;r6ZdQ=zM8!pLfZ@$d8e6Pb>1b>6TRf3TZaD`xanSmfc?L~r-8wk1tx7i#(3j-li z4`u}et%KzTg20>}Nb!N(K*$1r&q4gtes?iSJoiekyAh!hy~8HV8o3=)b z5-1CX4yvoAh9N_8yvrtn(bMe$kbYoD;F9NpG1zNl27-N2`2hlJ-^5`i80Lobha5=T zKjCYQC@c#G<`x_e3x6O$pdFS4!<5~9sHXT;`Ni7dCIS<|z|aHgZy1IzWxz)|Z`uBiaXSZtZBYUQ7eMpOQLfLsrBIBNApsXZG}Cu-n`1+dci zE^hErw{N2kSQCFR;%E>>&q{tEPzS8ih;0;(=&;-j#Iz3x1P;A7b^j^f(EbPenYeZ( TsQh;T00000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(u20uxC@K~zY` zmDIg%+%OCPU>nE-n4zW&0c6iD%A=Pq2PpEE7fZ(?OF9PVQ}iv8JppnzpP!-BkA41; ze2HMdhV+3VDOg2fRK@lvDLH%oM3LE70S}Wg0cru?lbiuveM(wjt^@9mygwao-$R}E&k8(vWd04VqJ7^Bc)fkA zze|?o4Jf%>IsTZRzgV6T^zZs~_$FCi{e!;>_{ly!Jj%lX9Q*$C(Z8NvivOjT46=H0 RcP0P;002ovPDHLkV1oa?j!pmo delta 340 zcmV-a0jvJH1+xW^B#}W-e*gz`Nliru=LQE53=8r@d3OK+0v1U`K~zY`mDIg%+b|FS zUsC@DF6enn1&z-k~RGbQ%H3gZ+AsESfAc3@zN83>>Pk^DUY7n3>xY607m zr2$=kLHwu^of<&g9TPzLUeokX=aWc-Nu8lnu8|oK%8)7r*yR>Ji2)dvFIRp57g<(g zBU>d`gYnk`EgKO!-5Ka)I1|8eECZfh8^|vj)j6{avywZ$QaAL2`7z)$w+ m;ZYtA;Mn)4kN)-aQv3&{mkhGJBld>?0000+~Cg-PhAM;GkDXBWQj{P?KzEYf=iwZKQ@Z7$2T?jSX>IN*$f6F{DE0q;8+%uhpBP)$*wRwEuMcja68f%i#Gg1uuE^ zVZ?-f7`O~H>u}xu2+a>;BOUYTNyfBEy!>Db52bW(u{EhGs7K>1w}t6;HXK6Of~dZ#LiEYOix%odhP z!^81;V~LR*^nT|oPj(>XL&xCKi^|#jIfqo_E#Zi!PdTl5Xn*5+pCiEB9cmvMkCh%z zhm}J`dp}FSdRRYA&QI$;=9!!W0nV*szs Date: Sat, 26 Aug 2023 12:58:51 -0400 Subject: [PATCH 186/256] =?UTF-8?q?Pok=C3=A9=20Ball=20shortcut=20tweaks=20?= =?UTF-8?q?(#3254)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/battle_controller_player.c | 2 +- src/battle_interface.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index d349381329..6950a06b3d 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -326,7 +326,7 @@ static void HandleInputChooseAction(void) SwapBallToDisplay(sameBall); PlaySE(SE_SELECT); } - else if (!JOY_HELD(B_LAST_USED_BALL_BUTTON) && sBallSwapped) + else if (JOY_NEW(B_BUTTON) || (!JOY_HELD(B_LAST_USED_BALL_BUTTON) && sBallSwapped)) { sAckBallUseBtn = FALSE; sBallSwapped = FALSE; diff --git a/src/battle_interface.c b/src/battle_interface.c index 09b1200d2b..e2cdcff528 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -3256,13 +3256,13 @@ static const struct SpriteSheet sSpriteSheet_LastUsedBallWindow = sLastUsedBallWindowGfx, sizeof(sLastUsedBallWindowGfx), LAST_BALL_WINDOW_TAG }; -#define LAST_USED_BALL_X_F 15 -#define LAST_USED_BALL_X_0 -15 +#define LAST_USED_BALL_X_F 14 +#define LAST_USED_BALL_X_0 -14 #define LAST_USED_BALL_Y ((IsDoubleBattle()) ? 78 : 68) #define LAST_USED_BALL_Y_BNC ((IsDoubleBattle()) ? 76 : 66) -#define LAST_BALL_WIN_X_F (LAST_USED_BALL_X_F - 1) -#define LAST_BALL_WIN_X_0 (LAST_USED_BALL_X_0 - 1) +#define LAST_BALL_WIN_X_F (LAST_USED_BALL_X_F - 0) +#define LAST_BALL_WIN_X_0 (LAST_USED_BALL_X_0 - 0) #define LAST_USED_WIN_Y (LAST_USED_BALL_Y - 8) #define sHide data[0] From 2e1b137183f6cccb0ddb9ce3be9d6e14f2044186 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 26 Aug 2023 15:19:47 -0500 Subject: [PATCH 187/256] Ultra Burst tests --- test/battle/form_change/ultra_burst.c | 121 ++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 test/battle/form_change/ultra_burst.c diff --git a/test/battle/form_change/ultra_burst.c b/test/battle/form_change/ultra_burst.c new file mode 100644 index 0000000000..1fc5dc83c3 --- /dev/null +++ b/test/battle/form_change/ultra_burst.c @@ -0,0 +1,121 @@ +#include "global.h" +#include "test/battle.h" + +SINGLE_BATTLE_TEST("Dusk Mane Necrozma can Ultra Burst holding Ultranecrozium Z") +{ + GIVEN { + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_CELEBRATE, ultraBurst: TRUE); } + } SCENE { + MESSAGE("Bright light is about to burst out of Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, player); + MESSAGE("Necrozma regained its true power through Ultra Burst!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_NECROZMA_ULTRA); + } +} + +DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - opponent faster") +{ + GIVEN { + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(1); } + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + OPPONENT(SPECIES_NECROZMA_DAWN_WINGS) { Item(ITEM_ULTRANECROZIUM_Z); Speed(3); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(4); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_CELEBRATE, ultraBurst: TRUE); MOVE(playerLeft, MOVE_CELEBRATE, ultraBurst: TRUE); } + } SCENE { + MESSAGE("Bright light is about to burst out of Foe Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, opponentLeft); + MESSAGE("Foe Necrozma regained its true power through Ultra Burst!"); + MESSAGE("Bright light is about to burst out of Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, playerLeft); + MESSAGE("Necrozma regained its true power through Ultra Burst!"); + } +} + +DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - player faster") +{ + GIVEN { + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(5); } + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + OPPONENT(SPECIES_NECROZMA_DAWN_WINGS) { Item(ITEM_ULTRANECROZIUM_Z); Speed(2); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(4); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_CELEBRATE, ultraBurst: TRUE); MOVE(playerLeft, MOVE_CELEBRATE, ultraBurst: TRUE); } + } SCENE { + MESSAGE("Bright light is about to burst out of Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, playerLeft); + MESSAGE("Necrozma regained its true power through Ultra Burst!"); + MESSAGE("Bright light is about to burst out of Foe Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, opponentLeft); + MESSAGE("Foe Necrozma regained its true power through Ultra Burst!"); + } +} + +SINGLE_BATTLE_TEST("Ultra Burst affects turn order") +{ + GIVEN { + ASSUME(B_MEGA_EVO_TURN_ORDER); + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(105); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(106); } + } WHEN { + TURN { MOVE(player, MOVE_CELEBRATE, ultraBurst: TRUE); } + } SCENE { + MESSAGE("Necrozma used Celebrate!"); + MESSAGE("Foe Wobbuffet used Celebrate!"); + } THEN { + ASSUME(player->speed == 205); + } +} + +DOUBLE_BATTLE_TEST("Ultra Burst happens after switching, but before Focus Punch-like Moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_FOCUS_PUNCH].effect == EFFECT_FOCUS_PUNCH); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); } + OPPONENT(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { SWITCH(opponentRight, 2); MOVE(playerRight, MOVE_FOCUS_PUNCH, ultraBurst: TRUE, target: opponentLeft); MOVE(playerLeft, MOVE_FOCUS_PUNCH, target: opponentLeft); } + TURN {} + } SCENE { + MESSAGE("2 withdrew Wobbuffet!"); + MESSAGE("2 sent out Wobbuffet!"); + + MESSAGE("Bright light is about to burst out of Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, playerRight); + MESSAGE("Necrozma regained its true power through Ultra Burst!"); + + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, playerRight); + MESSAGE("Necrozma is tightening its focus!"); + + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_FOCUS_PUNCH_SETUP, playerLeft); + MESSAGE("Wobbuffet is tightening its focus!"); + } +} + +SINGLE_BATTLE_TEST("Ultra Burst and Mega Evolution can happen on the same turn") +{ + GIVEN { + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(3); } + OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(2); } + } WHEN { + TURN { MOVE(player, MOVE_CELEBRATE, ultraBurst: TRUE); MOVE(opponent, MOVE_CELEBRATE, megaEvolve: TRUE); } + } SCENE { + MESSAGE("Bright light is about to burst out of Necrozma!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, player); + MESSAGE("Necrozma regained its true power through Ultra Burst!"); + + MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 's Mega Ring!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); + MESSAGE("Foe Gardevoir has Mega Evolved into Mega Gardevoir!"); + } THEN { + EXPECT_EQ(player->species, SPECIES_NECROZMA_ULTRA); + EXPECT_EQ(opponent->species, SPECIES_GARDEVOIR_MEGA); + } +} From ac67900c0afc22163789dcfc7c37c8865c9b3b07 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 26 Aug 2023 15:32:10 -0500 Subject: [PATCH 188/256] Fix test speed --- test/battle/form_change/ultra_burst.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/battle/form_change/ultra_burst.c b/test/battle/form_change/ultra_burst.c index 1fc5dc83c3..dac4309ae8 100644 --- a/test/battle/form_change/ultra_burst.c +++ b/test/battle/form_change/ultra_burst.c @@ -59,15 +59,15 @@ SINGLE_BATTLE_TEST("Ultra Burst affects turn order") { GIVEN { ASSUME(B_MEGA_EVO_TURN_ORDER); - PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(105); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(106); } + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(77); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(78); } } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, ultraBurst: TRUE); } } SCENE { MESSAGE("Necrozma used Celebrate!"); MESSAGE("Foe Wobbuffet used Celebrate!"); } THEN { - ASSUME(player->speed == 205); + ASSUME(player->speed == 129); } } From 96e39cde0b89426e7bbc72612a1fbbd3d5b13928 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 26 Aug 2023 16:14:24 -0500 Subject: [PATCH 189/256] Update ultra_burst.c --- test/battle/form_change/ultra_burst.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/battle/form_change/ultra_burst.c b/test/battle/form_change/ultra_burst.c index dac4309ae8..1c9131c549 100644 --- a/test/battle/form_change/ultra_burst.c +++ b/test/battle/form_change/ultra_burst.c @@ -59,15 +59,15 @@ SINGLE_BATTLE_TEST("Ultra Burst affects turn order") { GIVEN { ASSUME(B_MEGA_EVO_TURN_ORDER); - PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(77); } - OPPONENT(SPECIES_WOBBUFFET) { Speed(78); } + PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(105); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(106); } } WHEN { TURN { MOVE(player, MOVE_CELEBRATE, ultraBurst: TRUE); } } SCENE { MESSAGE("Necrozma used Celebrate!"); MESSAGE("Foe Wobbuffet used Celebrate!"); } THEN { - ASSUME(player->speed == 129); + ASSUME(player->speed == 234); } } From 7ffd31f5de2ee685d63b61f0ad5bf77ec47f9d6f Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sat, 26 Aug 2023 16:42:35 -0500 Subject: [PATCH 190/256] Update ultra_burst.c --- test/battle/form_change/ultra_burst.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/battle/form_change/ultra_burst.c b/test/battle/form_change/ultra_burst.c index 1c9131c549..f22d8b7b04 100644 --- a/test/battle/form_change/ultra_burst.c +++ b/test/battle/form_change/ultra_burst.c @@ -4,6 +4,7 @@ SINGLE_BATTLE_TEST("Dusk Mane Necrozma can Ultra Burst holding Ultranecrozium Z") { GIVEN { + ASSUME(P_GEN_7_POKEMON == TRUE); PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -20,6 +21,7 @@ SINGLE_BATTLE_TEST("Dusk Mane Necrozma can Ultra Burst holding Ultranecrozium Z" DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - opponent faster") { GIVEN { + ASSUME(P_GEN_7_POKEMON == TRUE); PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(1); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); } OPPONENT(SPECIES_NECROZMA_DAWN_WINGS) { Item(ITEM_ULTRANECROZIUM_Z); Speed(3); } @@ -39,6 +41,7 @@ DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - opponent faster DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - player faster") { GIVEN { + ASSUME(P_GEN_7_POKEMON == TRUE); PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(5); } PLAYER(SPECIES_WOBBUFFET) { Speed(3); } OPPONENT(SPECIES_NECROZMA_DAWN_WINGS) { Item(ITEM_ULTRANECROZIUM_Z); Speed(2); } @@ -58,6 +61,7 @@ DOUBLE_BATTLE_TEST("Ultra Burst's order is determined by Speed - player faster") SINGLE_BATTLE_TEST("Ultra Burst affects turn order") { GIVEN { + ASSUME(P_GEN_7_POKEMON == TRUE); ASSUME(B_MEGA_EVO_TURN_ORDER); PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(105); } OPPONENT(SPECIES_WOBBUFFET) { Speed(106); } @@ -67,13 +71,14 @@ SINGLE_BATTLE_TEST("Ultra Burst affects turn order") MESSAGE("Necrozma used Celebrate!"); MESSAGE("Foe Wobbuffet used Celebrate!"); } THEN { - ASSUME(player->speed == 234); + ASSUME(player->speed == 263); } } DOUBLE_BATTLE_TEST("Ultra Burst happens after switching, but before Focus Punch-like Moves") { GIVEN { + ASSUME(P_GEN_7_POKEMON == TRUE); ASSUME(gBattleMoves[MOVE_FOCUS_PUNCH].effect == EFFECT_FOCUS_PUNCH); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); } @@ -102,6 +107,7 @@ DOUBLE_BATTLE_TEST("Ultra Burst happens after switching, but before Focus Punch- SINGLE_BATTLE_TEST("Ultra Burst and Mega Evolution can happen on the same turn") { GIVEN { + ASSUME(P_GEN_7_POKEMON == TRUE); PLAYER(SPECIES_NECROZMA_DUSK_MANE) { Item(ITEM_ULTRANECROZIUM_Z); Speed(3); } OPPONENT(SPECIES_GARDEVOIR) { Item(ITEM_GARDEVOIRITE); Speed(2); } } WHEN { From 5abeb6718dbbd7c2e38667f7115025c34bbce0c5 Mon Sep 17 00:00:00 2001 From: WhenGryphonsFly <84215159+WhenGryphonsFly@users.noreply.github.com> Date: Sun, 27 Aug 2023 14:30:57 -0500 Subject: [PATCH 191/256] Correct KEY_INTR_ENABLE --- include/gba/io_reg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 148ce31db4..53021185e3 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -707,7 +707,7 @@ #define R_BUTTON 0x0100 #define L_BUTTON 0x0200 #define KEYS_MASK 0x03FF -#define KEY_INTR_ENABLE 0x0400 +#define KEY_INTR_ENABLE 0x4000 #define KEY_OR_INTR 0x0000 #define KEY_AND_INTR 0x8000 #define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN)) From 906ea4a5b086e8c04d30e8187e2e262a4ae558fc Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 28 Aug 2023 07:39:27 -0400 Subject: [PATCH 192/256] Add missing absorbing abilities to FindMonThatAbsorbsOpponentsMove (#3218) * Add missing absorbing abilities to FindMonThatAbsorbsOpponentsMove * Use array to match ability to absorbing type Previous implementation involving piggybacking on a conditional in a bit of a messy fashion to check for each ability type, this should be more readable and more easily modified by a novice. This is almost exactly BuffelSaft's inclement emerald implementation. * Minor syntax fixes --- src/battle_ai_switch_items.c | 55 +++++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index d815d3f8bc..0045608b08 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -142,11 +142,12 @@ static bool8 ShouldSwitchIfWonderGuard(void) static bool8 FindMonThatAbsorbsOpponentsMove(void) { u8 battlerIn1, battlerIn2; - u16 absorbingTypeAbility; + u8 numAbsorbingAbilities = 0; + u16 absorbingTypeAbilities[3]; // Array size is maximum number of absorbing abilities for a single type s32 firstId; s32 lastId; // + 1 struct Pokemon *party; - s32 i; + s32 i, j; if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) return FALSE; @@ -171,17 +172,42 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) battlerIn2 = gActiveBattler; } + // Create an array of possible absorb abilities so the AI considers all of them if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) - absorbingTypeAbility = ABILITY_FLASH_FIRE; + { + absorbingTypeAbilities[0] = ABILITY_FLASH_FIRE; + numAbsorbingAbilities = 1; + } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) - absorbingTypeAbility = ABILITY_WATER_ABSORB; + { + absorbingTypeAbilities[0] = ABILITY_WATER_ABSORB; + absorbingTypeAbilities[1] = ABILITY_STORM_DRAIN; + absorbingTypeAbilities[2] = ABILITY_DRY_SKIN; + numAbsorbingAbilities = 3; + } else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) - absorbingTypeAbility = ABILITY_VOLT_ABSORB; + { + absorbingTypeAbilities[0] = ABILITY_VOLT_ABSORB; + absorbingTypeAbilities[1] = ABILITY_MOTOR_DRIVE; + absorbingTypeAbilities[2] = ABILITY_LIGHTNING_ROD; + numAbsorbingAbilities = 3; + } + else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_GRASS) + { + absorbingTypeAbilities[0] = ABILITY_SAP_SIPPER; + numAbsorbingAbilities = 1; + } else + { return FALSE; + } - if (AI_DATA->abilities[gActiveBattler] == absorbingTypeAbility) - return FALSE; + // Check current mon for all absorbing abilities + for (i = 0; i < numAbsorbingAbilities; i++) + { + if (AI_DATA->abilities[gActiveBattler] == absorbingTypeAbilities[i]) + return FALSE; + } GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); @@ -208,15 +234,18 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; monAbility = GetMonAbility(&party[i]); - if (absorbingTypeAbility == monAbility && Random() & 1) + + for (j = 0; j < numAbsorbingAbilities; j++) { - // we found a mon. - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); - return TRUE; + if (absorbingTypeAbilities[j] == monAbility && Random() & 1) + { + // we found a mon. + *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; + BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); + return TRUE; + } } } - return FALSE; } From 326fb2605af9bc2bbf74e7ee7fef2e25edb1de05 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Tue, 29 Aug 2023 03:31:11 -0400 Subject: [PATCH 193/256] Some gActiveBattler Fixes (#3259) * some gActiveBattler related fixes * fix IsBattleSEPlaying gActiveBattler->battlerId --------- Co-authored-by: ghoulslash --- src/battle_gfx_sfx_util.c | 2 +- src/battle_util.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 9da5630574..e39ea54a35 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -528,7 +528,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) if (IsSEPlaying()) { gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer++; - if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].soundTimer < 30) + if (gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer < 30) return TRUE; m4aMPlayStop(&gMPlayInfo_SE1); diff --git a/src/battle_util.c b/src/battle_util.c index 2f2a65923f..d98d48db43 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1884,7 +1884,7 @@ u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u16 check) else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battlerId].throatChopTimer && gBattleMoves[gBattleMons[battlerId].moves[i]].soundMove) unusableMoves |= gBitTable[i]; // Stuff Cheeks - else if (check & MOVE_LIMITATION_STUFF_CHEEKS && gBattleMons[battlerId].moves[i] == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[gActiveBattler].item) != POCKET_BERRIES) + else if (check & MOVE_LIMITATION_STUFF_CHEEKS && gBattleMons[battlerId].moves[i] == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battlerId].item) != POCKET_BERRIES) unusableMoves |= gBitTable[i]; // Gorilla Tactics else if (check & MOVE_LIMITATION_CHOICE_ITEM && GetBattlerAbility(battlerId) == ABILITY_GORILLA_TACTICS && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i]) @@ -4879,7 +4879,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && gBattleResults.catchAttempts[gLastUsedBall - ITEM_ULTRA_BALL] >= 1 && !gHasFetchedBall) { - gBattleScripting.battler = battler; + gBattleScripting.battler = gActiveBattler = battler; BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedBall); MarkBattlerForControllerExec(battler); gHasFetchedBall = TRUE; @@ -10758,7 +10758,7 @@ void TrySaveExchangedItem(u8 battlerId, u16 stolenItem) bool32 IsBattlerAffectedByHazards(u8 battlerId, bool32 toxicSpikes) { bool32 ret = TRUE; - u32 holdEffect = GetBattlerHoldEffect(gActiveBattler, TRUE); + u32 holdEffect = GetBattlerHoldEffect(battlerId, TRUE); if (toxicSpikes && holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS && !IS_BATTLER_OF_TYPE(battlerId, TYPE_POISON)) { ret = FALSE; From 156aa59f18db673cae2381eb2c1d039cbe386e65 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 29 Aug 2023 15:21:31 +0200 Subject: [PATCH 194/256] start removing gActiveBattler in controller emitters --- include/battle.h | 1 + include/battle_ai_switch_items.h | 6 +- include/battle_controllers.h | 88 +- include/pokeball.h | 2 +- src/battle_ai_main.c | 6 +- src/battle_ai_switch_items.c | 490 +++--- src/battle_ai_util.c | 2 +- src/battle_controller_link_opponent.c | 2 +- src/battle_controller_link_partner.c | 2 +- src/battle_controller_opponent.c | 34 +- src/battle_controller_player.c | 121 +- src/battle_controller_player_partner.c | 12 +- src/battle_controller_recorded_opponent.c | 12 +- src/battle_controller_recorded_player.c | 14 +- src/battle_controller_safari.c | 12 +- src/battle_controller_wally.c | 14 +- src/battle_controllers.c | 771 +++++----- src/battle_main.c | 159 +- src/battle_script_commands.c | 1665 ++++++++++----------- src/battle_util.c | 1609 ++++++++++---------- src/battle_util2.c | 49 +- src/pokeball.c | 6 +- 22 files changed, 2484 insertions(+), 2593 deletions(-) diff --git a/include/battle.h b/include/battle.h index 1fe0ed4ef7..d7ab162a41 100644 --- a/include/battle.h +++ b/include/battle.h @@ -352,6 +352,7 @@ struct BattleResources struct BattleHistory *battleHistory; u8 bufferA[MAX_BATTLERS_COUNT][0x200]; u8 bufferB[MAX_BATTLERS_COUNT][0x200]; + u8 transferBuffer[0x100]; }; #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gBattleResources->ai)) diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index 622593b6dd..9a7e5f7e74 100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h @@ -2,8 +2,8 @@ #define GUARD_BATTLE_AI_SWITCH_ITEMS_H void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId); -void AI_TrySwitchOrUseItem(void); -u8 GetMostSuitableMonToSwitchInto(void); -bool32 ShouldSwitch(void); +void AI_TrySwitchOrUseItem(u32 battler); +u8 GetMostSuitableMonToSwitchInto(u32 battler); +bool32 ShouldSwitch(u32 battler); #endif // GUARD_BATTLE_AI_SWITCH_ITEMS_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index ff4a8c6e59..3440a73dc0 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -207,52 +207,52 @@ void SetUpBattleVarsAndBirchZigzagoon(void); void InitBattleControllers(void); bool32 IsValidForBattle(struct Pokemon *mon); void TryReceiveLinkBattleData(void); -void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); +void PrepareBufferDataTransferLink(u32 battler, u32 bufferId, u16 size, u8 *data); // emitters -void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); -void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); -void BtlController_EmitLoadMonSprite(u8 bufferId); -void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); -void BtlController_EmitReturnMonToBall(u8 bufferId, bool8 skipAnim); -void BtlController_EmitDrawTrainerPic(u8 bufferId); -void BtlController_EmitTrainerSlide(u8 bufferId); -void BtlController_EmitTrainerSlideBack(u8 bufferId); -void BtlController_EmitFaintAnimation(u8 bufferId); -void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId); -void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); -void BtlController_EmitPrintString(u8 bufferId, u16 stringId); -void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringId); -void BtlController_EmitChooseAction(u8 bufferId, u8 action, u16 itemId); -void BtlController_EmitYesNoBox(u8 bufferId); -void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); -void BtlController_EmitChooseItem(u8 bufferId, u8 *battlePartyOrder); -void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u16 abilityId, u8 *data); -void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue); -void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, s32 expPoints); -void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); -void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); -void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data); -void BtlController_EmitTwoReturnValues(u8 bufferId, u8 ret8, u32 ret32); -void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 partyId, u8 *battlePartyOrder); -void BtlController_EmitOneReturnValue(u8 bufferId, u16 ret); -void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 ret); -void BtlController_EmitHitAnimation(u8 bufferId); -void BtlController_EmitCantSwitch(u8 bufferId); -void BtlController_EmitPlaySE(u8 bufferId, u16 songId); -void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); -void BtlController_EmitFaintingCry(u8 bufferId); -void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId); -void BtlController_EmitIntroTrainerBallThrow(u8 bufferId); -void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags); -void BtlController_EmitHidePartyStatusSummary(u8 bufferId); -void BtlController_EmitEndBounceEffect(u8 bufferId); -void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); -void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); -void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 mode, bool32 record); -void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId); -void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome); -void BtlController_EmitDebugMenu(u8 bufferId); +void BtlController_EmitGetMonData(u32 battler, u32 bufferId, u8 requestId, u8 monToCheck); +void BtlController_EmitSetMonData(u32 battler, u32 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); +void BtlController_EmitLoadMonSprite(u32 battler, u32 bufferId); +void BtlController_EmitSwitchInAnim(u32 battler, u32 bufferId, u8 partyId, bool8 dontClearSubstituteBit); +void BtlController_EmitReturnMonToBall(u32 battler, u32 bufferId, bool8 skipAnim); +void BtlController_EmitDrawTrainerPic(u32 battler, u32 bufferId); +void BtlController_EmitTrainerSlide(u32 battler, u32 bufferId); +void BtlController_EmitTrainerSlideBack(u32 battler, u32 bufferId); +void BtlController_EmitFaintAnimation(u32 battler, u32 bufferId); +void BtlController_EmitBallThrowAnim(u32 battler, u32 bufferId, u8 caseId); +void BtlController_EmitMoveAnimation(u32 battler, u32 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); +void BtlController_EmitPrintString(u32 battler, u32 bufferId, u16 stringId); +void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, u16 stringId); +void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, u16 itemId); +void BtlController_EmitYesNoBox(u32 battler, u32 bufferId); +void BtlController_EmitChooseMove(u32 battler, u32 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); +void BtlController_EmitChooseItem(u32 battler, u32 bufferId, u8 *battlePartyOrder); +void BtlController_EmitChoosePokemon(u32 battler, u32 bufferId, u8 caseId, u8 slotId, u16 abilityId, u8 *data); +void BtlController_EmitHealthBarUpdate(u32 battler, u32 bufferId, u16 hpValue); +void BtlController_EmitExpUpdate(u32 battler, u32 bufferId, u8 partyId, s32 expPoints); +void BtlController_EmitStatusIconUpdate(u32 battler, u32 bufferId, u32 status1, u32 status2); +void BtlController_EmitStatusAnimation(u32 battler, u32 bufferId, bool8 status2, u32 status); +void BtlController_EmitDataTransfer(u32 battler, u32 bufferId, u16 size, void *data); +void BtlController_EmitTwoReturnValues(u32 battler, u32 bufferId, u8 ret8, u32 ret32); +void BtlController_EmitChosenMonReturnValue(u32 battler, u32 bufferId, u8 partyId, u8 *battlePartyOrder); +void BtlController_EmitOneReturnValue(u32 battler, u32 bufferId, u16 ret); +void BtlController_EmitOneReturnValue_Duplicate(u32 battler, u32 bufferId, u16 ret); +void BtlController_EmitHitAnimation(u32 battler, u32 bufferId); +void BtlController_EmitCantSwitch(u32 battler, u32 bufferId); +void BtlController_EmitPlaySE(u32 battler, u32 bufferId, u16 songId); +void BtlController_EmitPlayFanfareOrBGM(u32 battler, u32 bufferId, u16 songId, bool8 playBGM); +void BtlController_EmitFaintingCry(u32 battler, u32 bufferId); +void BtlController_EmitIntroSlide(u32 battler, u32 bufferId, u8 terrainId); +void BtlController_EmitIntroTrainerBallThrow(u32 battler, u32 bufferId); +void BtlController_EmitDrawPartyStatusSummary(u32 battler, u32 bufferId, struct HpAndStatus* hpAndStatus, u8 flags); +void BtlController_EmitHidePartyStatusSummary(u32 battler, u32 bufferId); +void BtlController_EmitEndBounceEffect(u32 battler, u32 bufferId); +void BtlController_EmitSpriteInvisibility(u32 battler, u32 bufferId, bool8 isInvisible); +void BtlController_EmitBattleAnimation(u32 battler, u32 bufferId, u8 animationId, u16 argument); +void BtlController_EmitLinkStandbyMsg(u32 battler, u32 bufferId, u8 mode, bool32 record); +void BtlController_EmitResetActionMoveSelection(u32 battler, u32 bufferId, u8 caseId); +void BtlController_EmitEndLinkBattle(u32 battler, u32 bufferId, u8 battleOutcome); +void BtlController_EmitDebugMenu(u32 battler, u32 bufferId); void BattleControllerComplete(u32 battler); // Can be used for all the controllers. void BtlController_Empty(u32 battler); // Empty command, does nothing, only completes the execution. diff --git a/include/pokeball.h b/include/pokeball.h index 602e9f9736..498fa4dd1c 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -48,7 +48,7 @@ extern const struct SpriteTemplate gBallSpriteTemplates[]; #define POKEBALL_PLAYER_SENDOUT 0xFF #define POKEBALL_OPPONENT_SENDOUT 0xFE -u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); +u8 DoPokeballSendOutAnimation(u32 battler, s16 pan, u8 kindOfThrow); void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, u16 species); u8 CreateTradePokeballSprite(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 delay, u32 fadePalettes); void StartHealthboxSlideIn(u8 battler); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 672f24351b..8caacb0194 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -455,7 +455,7 @@ static u8 ChooseMoveOrAction_Singles(void) break; } - if (i == MAX_MON_MOVES && GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + if (i == MAX_MON_MOVES && GetMostSuitableMonToSwitchInto(sBattler_AI) != PARTY_SIZE) { AI_THINKING_STRUCT->switchMon = TRUE; return AI_CHOICE_SWITCH; @@ -469,7 +469,7 @@ static u8 ChooseMoveOrAction_Singles(void) && gDisableStructs[sBattler_AI].truantCounter && gBattleMons[sBattler_AI].hp >= gBattleMons[sBattler_AI].maxHP / 2) { - if (GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + if (GetMostSuitableMonToSwitchInto(sBattler_AI) != PARTY_SIZE) { AI_THINKING_STRUCT->switchMon = TRUE; return AI_CHOICE_SWITCH; @@ -3727,7 +3727,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } break; case EFFECT_BATON_PASS: - if (ShouldSwitch() && (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE + if (ShouldSwitch(battlerAtk) && (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE || (gStatuses3[battlerAtk] & (STATUS3_ROOTED | STATUS3_AQUA_RING | STATUS3_MAGNET_RISE | STATUS3_POWER_TRICK)) || AnyStatIsRaised(battlerAtk))) score += 5; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 0045608b08..ff878aecfe 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -22,32 +22,32 @@ #include "constants/moves.h" // this file's functions -static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng); -static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent); -static bool8 ShouldUseItem(void); -static bool32 AiExpectsToFaintPlayer(void); -static bool32 AI_ShouldHeal(u32 healAmount); -static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount); -static bool32 IsAiPartyMonOHKOBy(u32 battlerAtk, struct Pokemon *aiMon); +static bool8 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool8 noRng); +static bool8 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u8 moduloPercent); +static bool8 ShouldUseItem(u32 battler); +static bool32 AiExpectsToFaintPlayer(u32 battler); +static bool32 AI_ShouldHeal(u32 battler, u32 healAmount); +static bool32 AI_OpponentCanFaintAiWithMod(u32 battler, u32 healAmount); +static bool32 IsAiPartyMonOHKOBy(u32 battlerAi, u32 battlerAtk, struct Pokemon *aiMon); -static bool32 IsAceMon(u32 battlerId, u32 monPartyId) +static bool32 IsAceMon(u32 battler, u32 monPartyId) { if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON - && !(gBattleStruct->forcedSwitch & gBitTable[battlerId]) + && !(gBattleStruct->forcedSwitch & gBitTable[battler]) && monPartyId == CalculateEnemyPartyCount()-1) return TRUE; return FALSE; } -void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId) +void GetAIPartyIndexes(u32 battler, s32 *firstId, s32 *lastId) { - if (BATTLE_TWO_VS_ONE_OPPONENT && (battlerId & BIT_SIDE) == B_SIDE_OPPONENT) + if (BATTLE_TWO_VS_ONE_OPPONENT && (battler & BIT_SIDE) == B_SIDE_OPPONENT) { *firstId = 0, *lastId = PARTY_SIZE; } else if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_INGAME_PARTNER | BATTLE_TYPE_TOWER_LINK_MULTI)) { - if ((battlerId & BIT_FLANK) == B_FLANK_LEFT) + if ((battler & BIT_FLANK) == B_FLANK_LEFT) *firstId = 0, *lastId = PARTY_SIZE / 2; else *firstId = PARTY_SIZE / 2, *lastId = PARTY_SIZE; @@ -58,13 +58,13 @@ void GetAIPartyIndexes(u32 battlerId, s32 *firstId, s32 *lastId) } } -static bool8 ShouldSwitchIfAllBadMoves(void) +static bool8 ShouldSwitchIfAllBadMoves(u32 battler) { if (gBattleResources->ai->switchMon) { gBattleResources->ai->switchMon = 0; - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = PARTY_SIZE; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } else @@ -73,7 +73,7 @@ static bool8 ShouldSwitchIfAllBadMoves(void) } } -static bool8 ShouldSwitchIfWonderGuard(void) +static bool8 ShouldSwitchIfWonderGuard(u32 battler) { u8 opposingPosition; u8 opposingBattler; @@ -86,7 +86,7 @@ static bool8 ShouldSwitchIfWonderGuard(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; - opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); + opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); if (GetBattlerAbility(GetBattlerAtPosition(opposingPosition)) != ABILITY_WONDER_GUARD) return FALSE; @@ -94,18 +94,18 @@ static bool8 ShouldSwitchIfWonderGuard(void) // Check if Pokemon has a super effective move. for (opposingBattler = GetBattlerAtPosition(opposingPosition), i = 0; i < MAX_MON_MOVES; i++) { - move = gBattleMons[gActiveBattler].moves[i]; + move = gBattleMons[battler].moves[i]; if (move != MOVE_NONE) { - if (AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) return FALSE; } } // Get party information. - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -115,9 +115,9 @@ static bool8 ShouldSwitchIfWonderGuard(void) { if (!IsValidForBattle(&party[i])) continue; - if (i == gBattlerPartyIndexes[gActiveBattler]) + if (i == gBattlerPartyIndexes[battler]) continue; - if (IsAceMon(gActiveBattler, i)) + if (IsAceMon(battler, i)) continue; for (opposingBattler = GetBattlerAtPosition(opposingPosition), j = 0; j < MAX_MON_MOVES; j++) @@ -125,11 +125,11 @@ static bool8 ShouldSwitchIfWonderGuard(void) move = GetMonData(&party[i], MON_DATA_MOVE1 + j); if (move != MOVE_NONE) { - if (AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0) && Random() % 3 < 2) + if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0) && Random() % 3 < 2) { // We found a mon. - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = i; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } } @@ -139,60 +139,60 @@ static bool8 ShouldSwitchIfWonderGuard(void) return FALSE; // There is not a single Pokemon in the party that has a super effective move against a mon with Wonder Guard. } -static bool8 FindMonThatAbsorbsOpponentsMove(void) +static bool8 FindMonThatAbsorbsOpponentsMove(u32 battler) { u8 battlerIn1, battlerIn2; - u8 numAbsorbingAbilities = 0; + u8 numAbsorbingAbilities = 0; u16 absorbingTypeAbilities[3]; // Array size is maximum number of absorbing abilities for a single type s32 firstId; s32 lastId; // + 1 struct Pokemon *party; s32 i, j; - if (HasSuperEffectiveMoveAgainstOpponents(TRUE) && Random() % 3 != 0) + if (HasSuperEffectiveMoveAgainstOpponents(battler, TRUE) && Random() % 3 != 0) return FALSE; - if (gLastLandedMoves[gActiveBattler] == MOVE_NONE) + if (gLastLandedMoves[battler] == MOVE_NONE) return FALSE; - if (gLastLandedMoves[gActiveBattler] == MOVE_UNAVAILABLE) + if (gLastLandedMoves[battler] == MOVE_UNAVAILABLE) return FALSE; - if (IS_MOVE_STATUS(gLastLandedMoves[gActiveBattler])) + if (IS_MOVE_STATUS(gLastLandedMoves[battler])) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - battlerIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + battlerIn2 = battler; else - battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); } else { - battlerIn1 = gActiveBattler; - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + battlerIn2 = battler; } // Create an array of possible absorb abilities so the AI considers all of them - if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_FIRE) + if (gBattleMoves[gLastLandedMoves[battler]].type == TYPE_FIRE) { absorbingTypeAbilities[0] = ABILITY_FLASH_FIRE; numAbsorbingAbilities = 1; } - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_WATER) + else if (gBattleMoves[gLastLandedMoves[battler]].type == TYPE_WATER) { absorbingTypeAbilities[0] = ABILITY_WATER_ABSORB; absorbingTypeAbilities[1] = ABILITY_STORM_DRAIN; absorbingTypeAbilities[2] = ABILITY_DRY_SKIN; numAbsorbingAbilities = 3; } - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_ELECTRIC) + else if (gBattleMoves[gLastLandedMoves[battler]].type == TYPE_ELECTRIC) { absorbingTypeAbilities[0] = ABILITY_VOLT_ABSORB; absorbingTypeAbilities[1] = ABILITY_MOTOR_DRIVE; absorbingTypeAbilities[2] = ABILITY_LIGHTNING_ROD; numAbsorbingAbilities = 3; } - else if (gBattleMoves[gLastLandedMoves[gActiveBattler]].type == TYPE_GRASS) + else if (gBattleMoves[gLastLandedMoves[battler]].type == TYPE_GRASS) { absorbingTypeAbilities[0] = ABILITY_SAP_SIPPER; numAbsorbingAbilities = 1; @@ -205,13 +205,13 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) // Check current mon for all absorbing abilities for (i = 0; i < numAbsorbingAbilities; i++) { - if (AI_DATA->abilities[gActiveBattler] == absorbingTypeAbilities[i]) + if (AI_DATA->abilities[battler] == absorbingTypeAbilities[i]) return FALSE; } - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -230,7 +230,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (IsAceMon(gActiveBattler, i)) + if (IsAceMon(battler, i)) continue; monAbility = GetMonAbility(&party[i]); @@ -240,8 +240,8 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (absorbingTypeAbilities[j] == monAbility && Random() & 1) { // we found a mon. - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(1, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = i; + BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); return TRUE; } } @@ -249,12 +249,12 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) return FALSE; } -static bool8 ShouldSwitchIfGameStatePrompt(void) +static bool8 ShouldSwitchIfGameStatePrompt(u32 battler) { bool8 switchMon = FALSE; - u16 monAbility = AI_DATA->abilities[gActiveBattler]; - u16 holdEffect = AI_DATA->holdEffects[gActiveBattler]; - u8 opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); + u16 monAbility = AI_DATA->abilities[battler]; + u16 holdEffect = AI_DATA->holdEffects[battler]; + u8 opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); u8 opposingBattler = GetBattlerAtPosition(opposingPosition); s32 moduloChance = 4; //25% Chance Default s32 chanceReducer = 1; //No Reduce default. Increase to reduce @@ -263,22 +263,21 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) s32 i; struct Pokemon *party; - - if (AnyStatIsRaised(gActiveBattler)) + if (AnyStatIsRaised(battler)) chanceReducer = 5; // Reduce switchout probability by factor of 5 if setup //Perish Song - if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG - && gDisableStructs[gActiveBattler].perishSongTimer == 0 + if (gStatuses3[battler] & STATUS3_PERISH_SONG + && gDisableStructs[battler].perishSongTimer == 0 && monAbility != ABILITY_SOUNDPROOF) switchMon = TRUE; if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_SMART_SWITCHING) { //Yawn - if (gStatuses3[gActiveBattler] & STATUS3_YAWN - && AI_CanSleep(gActiveBattler, monAbility) - && gBattleMons[gActiveBattler].hp > gBattleMons[gActiveBattler].maxHP / 3) + if (gStatuses3[battler] & STATUS3_YAWN + && AI_CanSleep(battler, monAbility) + && gBattleMons[battler].hp > gBattleMons[battler].maxHP / 3) { switchMon = TRUE; @@ -286,40 +285,40 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Check if partner can prevent sleep if (IsDoubleBattle()) { - if (IsBattlerAlive(BATTLE_PARTNER(gActiveBattler)) - && (GetAIChosenMove(BATTLE_PARTNER(gActiveBattler)) == MOVE_UPROAR) + if (IsBattlerAlive(BATTLE_PARTNER(battler)) + && (GetAIChosenMove(BATTLE_PARTNER(battler)) == MOVE_UPROAR) ) switchMon = FALSE; - if (IsBattlerAlive(BATTLE_PARTNER(gActiveBattler)) + if (IsBattlerAlive(BATTLE_PARTNER(battler)) && (gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_MISTY_TERRAIN || gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_ELECTRIC_TERRAIN) - && IsBattlerGrounded(gActiveBattler) + && IsBattlerGrounded(battler) ) switchMon = FALSE; - if (*(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)) != PARTY_SIZE) //Partner is switching + if (*(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(battler)) != PARTY_SIZE) //Partner is switching { - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; for (i = firstId; i < lastId; i++) { - if (IsAceMon(gActiveBattler, i)) + if (IsAceMon(battler, i)) continue; //Look for mon in party that is able to be switched into and has ability that sets terrain if (IsValidForBattle(&party[i]) - && i != gBattlerPartyIndexes[gActiveBattler] - && i != gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)] - && IsBattlerGrounded(gActiveBattler) + && i != gBattlerPartyIndexes[battler] + && i != gBattlerPartyIndexes[BATTLE_PARTNER(battler)] + && IsBattlerGrounded(battler) && (GetMonAbility(&party[i]) == ABILITY_MISTY_SURGE || GetMonAbility(&party[i]) == ABILITY_ELECTRIC_SURGE)) //Ally has Misty or Electric Surge { - *(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + BATTLE_PARTNER(battler)) = i; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); switchMon = FALSE; break; } @@ -329,7 +328,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Check if Active Pokemon can KO opponent instead of switching //Will still fall asleep, but take out opposing Pokemon first - if (AiExpectsToFaintPlayer()) + if (AiExpectsToFaintPlayer(battler)) switchMon = FALSE; //Checks to see if active Pokemon can do something against sleep @@ -337,56 +336,56 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) || monAbility == ABILITY_SHED_SKIN || monAbility == ABILITY_EARLY_BIRD) || holdEffect == (HOLD_EFFECT_CURE_SLP | HOLD_EFFECT_CURE_STATUS) - || HasMove(gActiveBattler, MOVE_SLEEP_TALK) - || (HasMoveEffect(gActiveBattler, MOVE_SNORE) && AI_GetTypeEffectiveness(MOVE_SNORE, gActiveBattler, opposingBattler) >= UQ_4_12(1.0)) - || (IsBattlerGrounded(gActiveBattler) - && (HasMove(gActiveBattler, MOVE_MISTY_TERRAIN) || HasMove(gActiveBattler, MOVE_ELECTRIC_TERRAIN))) + || HasMove(battler, MOVE_SLEEP_TALK) + || (HasMoveEffect(battler, MOVE_SNORE) && AI_GetTypeEffectiveness(MOVE_SNORE, battler, opposingBattler) >= UQ_4_12(1.0)) + || (IsBattlerGrounded(battler) + && (HasMove(battler, MOVE_MISTY_TERRAIN) || HasMove(battler, MOVE_ELECTRIC_TERRAIN))) ) switchMon = FALSE; //Check if Active Pokemon evasion boosted and might be able to dodge until awake - if (gBattleMons[gActiveBattler].statStages[STAT_EVASION] > (DEFAULT_STAT_STAGE + 3) + if (gBattleMons[battler].statStages[STAT_EVASION] > (DEFAULT_STAT_STAGE + 3) && AI_DATA->abilities[opposingBattler] != ABILITY_UNAWARE && AI_DATA->abilities[opposingBattler] != ABILITY_KEEN_EYE - && !(gBattleMons[gActiveBattler].status2 & STATUS2_FORESIGHT) - && !(gStatuses3[gActiveBattler] & STATUS3_MIRACLE_EYED)) + && !(gBattleMons[battler].status2 & STATUS2_FORESIGHT) + && !(gStatuses3[battler] & STATUS3_MIRACLE_EYED)) switchMon = FALSE; } //Secondary Damage if (monAbility != ABILITY_MAGIC_GUARD - && !AiExpectsToFaintPlayer()) + && !AiExpectsToFaintPlayer(battler)) { //Toxic moduloChance = 2; //50% - if (((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_COUNTER) >= STATUS1_TOXIC_TURN(2)) - && gBattleMons[gActiveBattler].hp >= (gBattleMons[gActiveBattler].maxHP / 3) + if (((gBattleMons[battler].status1 & STATUS1_TOXIC_COUNTER) >= STATUS1_TOXIC_TURN(2)) + && gBattleMons[battler].hp >= (gBattleMons[battler].maxHP / 3) && (Random() % (moduloChance*chanceReducer)) == 0) switchMon = TRUE; //Cursed moduloChance = 2; //50% - if (gBattleMons[gActiveBattler].status2 & STATUS2_CURSED + if (gBattleMons[battler].status2 & STATUS2_CURSED && (Random() % (moduloChance*chanceReducer)) == 0) switchMon = TRUE; //Nightmare moduloChance = 3; //33.3% - if (gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE + if (gBattleMons[battler].status2 & STATUS2_NIGHTMARE && (Random() % (moduloChance*chanceReducer)) == 0) switchMon = TRUE; //Leech Seed moduloChance = 4; //25% - if (gStatuses3[gActiveBattler] & STATUS3_LEECHSEED + if (gStatuses3[battler] & STATUS3_LEECHSEED && (Random() % (moduloChance*chanceReducer)) == 0) switchMon = TRUE; } //Infatuation - if (gBattleMons[gActiveBattler].status2 & STATUS2_INFATUATION - && !AiExpectsToFaintPlayer()) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION + && !AiExpectsToFaintPlayer(battler)) switchMon = TRUE; //Todo @@ -395,22 +394,22 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) //Semi-Invulnerable if (gStatuses3[opposingBattler] & STATUS3_SEMI_INVULNERABLE) { - if (FindMonThatAbsorbsOpponentsMove()) //If find absorber default to switch + if (FindMonThatAbsorbsOpponentsMove(battler)) //If find absorber default to switch switchMon = TRUE; - if (!AI_OpponentCanFaintAiWithMod(0) - && AnyStatIsRaised(gActiveBattler)) + if (!AI_OpponentCanFaintAiWithMod(battler, 0) + && AnyStatIsRaised(battler)) switchMon = FALSE; - if (AiExpectsToFaintPlayer() + if (AiExpectsToFaintPlayer(battler) && !WillAIStrikeFirst() - && !AI_OpponentCanFaintAiWithMod(0)) + && !AI_OpponentCanFaintAiWithMod(battler, 0)) switchMon = FALSE; } } if (switchMon) { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = PARTY_SIZE; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } else @@ -419,32 +418,31 @@ static bool8 ShouldSwitchIfGameStatePrompt(void) } } -static bool8 ShouldSwitchIfAbilityBenefit(void) +static bool8 ShouldSwitchIfAbilityBenefit(u32 battler) { s32 monToSwitchId; s32 moduloChance = 4; //25% Chance Default s32 chanceReducer = 1; //No Reduce default. Increase to reduce - u8 battlerId = GetBattlerPosition(gActiveBattler); - if (AnyStatIsRaised(battlerId)) + if (AnyStatIsRaised(battler)) chanceReducer = 5; // Reduce switchout probability by factor of 5 if setup //Check if ability is blocked - if (gStatuses3[gActiveBattler] & STATUS3_GASTRO_ACID + if (gStatuses3[battler] & STATUS3_GASTRO_ACID ||IsNeutralizingGasOnField()) return FALSE; - switch(AI_DATA->abilities[gActiveBattler]) { + switch(AI_DATA->abilities[battler]) { case ABILITY_NATURAL_CURE: moduloChance = 4; //25% //Attempt to cure bad ailment - if (gBattleMons[gActiveBattler].status1 & (STATUS1_SLEEP | STATUS1_FREEZE | STATUS1_TOXIC_POISON) - && GetMostSuitableMonToSwitchInto() != PARTY_SIZE) + if (gBattleMons[battler].status1 & (STATUS1_SLEEP | STATUS1_FREEZE | STATUS1_TOXIC_POISON) + && GetMostSuitableMonToSwitchInto(battler) != PARTY_SIZE) break; //Attempt to cure lesser ailment - if ((gBattleMons[gActiveBattler].status1 & STATUS1_ANY) - && (gBattleMons[gActiveBattler].hp >= gBattleMons[gActiveBattler].maxHP / 2) - && GetMostSuitableMonToSwitchInto() != PARTY_SIZE + if ((gBattleMons[battler].status1 & STATUS1_ANY) + && (gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2) + && GetMostSuitableMonToSwitchInto(battler) != PARTY_SIZE && Random() % (moduloChance*chanceReducer) == 0) break; @@ -453,10 +451,10 @@ static bool8 ShouldSwitchIfAbilityBenefit(void) case ABILITY_REGENERATOR: moduloChance = 2; //50% //Don't switch if ailment - if (gBattleMons[gActiveBattler].status1 & STATUS1_ANY) + if (gBattleMons[battler].status1 & STATUS1_ANY) return FALSE; - if ((gBattleMons[gActiveBattler].hp <= ((gBattleMons[gActiveBattler].maxHP * 2) / 3)) - && GetMostSuitableMonToSwitchInto() != PARTY_SIZE + if ((gBattleMons[battler].hp <= ((gBattleMons[battler].maxHP * 2) / 3)) + && GetMostSuitableMonToSwitchInto(battler) != PARTY_SIZE && Random() % (moduloChance*chanceReducer) == 0) break; @@ -466,31 +464,31 @@ static bool8 ShouldSwitchIfAbilityBenefit(void) return FALSE; } - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = PARTY_SIZE; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } -static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) +static bool8 HasSuperEffectiveMoveAgainstOpponents(u32 battler, bool8 noRng) { u8 opposingPosition; u8 opposingBattler; s32 i; u16 move; - opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler)); + opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); opposingBattler = GetBattlerAtPosition(opposingPosition); if (!(gAbsentBattlerFlags & gBitTable[opposingBattler])) { for (i = 0; i < MAX_MON_MOVES; i++) { - move = gBattleMons[gActiveBattler].moves[i]; + move = gBattleMons[battler].moves[i]; if (move == MOVE_NONE) continue; - if (AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) { if (noRng) return TRUE; @@ -508,11 +506,11 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) { for (i = 0; i < MAX_MON_MOVES; i++) { - move = gBattleMons[gActiveBattler].moves[i]; + move = gBattleMons[battler].moves[i]; if (move == MOVE_NONE) continue; - if (AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0)) + if (AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) { if (noRng) return TRUE; @@ -525,21 +523,21 @@ static bool8 HasSuperEffectiveMoveAgainstOpponents(bool8 noRng) return FALSE; } -static bool8 AreStatsRaised(void) +static bool8 AreStatsRaised(u32 battler) { u8 buffedStatsValue = 0; s32 i; for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[gActiveBattler].statStages[i] > DEFAULT_STAT_STAGE) - buffedStatsValue += gBattleMons[gActiveBattler].statStages[i] - DEFAULT_STAT_STAGE; + if (gBattleMons[battler].statStages[i] > DEFAULT_STAT_STAGE) + buffedStatsValue += gBattleMons[battler].statStages[i] - DEFAULT_STAT_STAGE; } return (buffedStatsValue > 3); } -static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) +static bool8 FindMonWithFlagsAndSuperEffective(u32 battler, u16 flags, u8 moduloPercent) { u8 battlerIn1, battlerIn2; s32 firstId; @@ -548,32 +546,32 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) s32 i, j; u16 move; - if (gLastLandedMoves[gActiveBattler] == MOVE_NONE) + if (gLastLandedMoves[battler] == MOVE_NONE) return FALSE; - if (gLastLandedMoves[gActiveBattler] == MOVE_UNAVAILABLE) + if (gLastLandedMoves[battler] == MOVE_UNAVAILABLE) return FALSE; - if (gLastHitBy[gActiveBattler] == 0xFF) + if (gLastHitBy[battler] == 0xFF) return FALSE; - if (IS_MOVE_STATUS(gLastLandedMoves[gActiveBattler])) + if (IS_MOVE_STATUS(gLastLandedMoves[battler])) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - battlerIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + battlerIn2 = battler; else - battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); } else { - battlerIn1 = gActiveBattler; - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + battlerIn2 = battler; } - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -592,15 +590,15 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (IsAceMon(gActiveBattler, i)) + if (IsAceMon(battler, i)) continue; species = GetMonData(&party[i], MON_DATA_SPECIES_OR_EGG); monAbility = GetMonAbility(&party[i]); - CalcPartyMonTypeEffectivenessMultiplier(gLastLandedMoves[gActiveBattler], species, monAbility); + CalcPartyMonTypeEffectivenessMultiplier(gLastLandedMoves[battler], species, monAbility); if (gMoveResultFlags & flags) { - battlerIn1 = gLastHitBy[gActiveBattler]; + battlerIn1 = gLastHitBy[battler]; for (j = 0; j < MAX_MON_MOVES; j++) { @@ -608,10 +606,10 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) if (move == 0) continue; - if (AI_GetTypeEffectiveness(move, gActiveBattler, battlerIn1) >= UQ_4_12(2.0) && Random() % moduloPercent == 0) + if (AI_GetTypeEffectiveness(move, battler, battlerIn1) >= UQ_4_12(2.0) && Random() % moduloPercent == 0) { - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = i; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + *(gBattleStruct->AI_monToSwitchIntoId + battler) = i; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); return TRUE; } } @@ -621,7 +619,7 @@ static bool8 FindMonWithFlagsAndSuperEffective(u16 flags, u8 moduloPercent) return FALSE; } -bool32 ShouldSwitch(void) +bool32 ShouldSwitch(u32 battler) { u8 battlerIn1, battlerIn2; s32 firstId; @@ -631,11 +629,11 @@ bool32 ShouldSwitch(void) s32 availableToSwitch; bool32 hasAceMon = FALSE; - if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + if (gBattleMons[battler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) return FALSE; - if (gStatuses3[gActiveBattler] & STATUS3_ROOTED) + if (gStatuses3[battler] & STATUS3_ROOTED) return FALSE; - if (IsAbilityPreventingEscape(gActiveBattler)) + if (IsAbilityPreventingEscape(battler)) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_ARENA) return FALSE; @@ -644,21 +642,21 @@ bool32 ShouldSwitch(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - battlerIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + battlerIn2 = battler; else - battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); } else { - battlerIn1 = gActiveBattler; - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + battlerIn2 = battler; } - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -675,7 +673,7 @@ bool32 ShouldSwitch(void) continue; if (i == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (IsAceMon(gActiveBattler, i)) + if (IsAceMon(battler, i)) { hasAceMon = TRUE; continue; @@ -696,69 +694,69 @@ bool32 ShouldSwitch(void) //Since the order is sequencial, and some of these functions prompt switch to specific party members. //These Functions can prompt switch to specific party members - if (ShouldSwitchIfWonderGuard()) + if (ShouldSwitchIfWonderGuard(battler)) return TRUE; - if (ShouldSwitchIfGameStatePrompt()) + if (ShouldSwitchIfGameStatePrompt(battler)) return TRUE; - if (FindMonThatAbsorbsOpponentsMove()) + if (FindMonThatAbsorbsOpponentsMove(battler)) return TRUE; //These Functions can prompt switch to generic pary members - if (ShouldSwitchIfAllBadMoves()) + if (ShouldSwitchIfAllBadMoves(battler)) return TRUE; - if (ShouldSwitchIfAbilityBenefit()) + if (ShouldSwitchIfAbilityBenefit(battler)) return TRUE; //Removing switch capabilites under specific conditions //These Functions prevent the "FindMonWithFlagsAndSuperEffective" from getting out of hand. - if (HasSuperEffectiveMoveAgainstOpponents(FALSE)) + if (HasSuperEffectiveMoveAgainstOpponents(battler, FALSE)) return FALSE; - if (AreStatsRaised()) + if (AreStatsRaised(battler)) return FALSE; //Default Function //Can prompt switch if AI has a pokemon in party that resists current opponent & has super effective move - if (FindMonWithFlagsAndSuperEffective(MOVE_RESULT_DOESNT_AFFECT_FOE, 2) - || FindMonWithFlagsAndSuperEffective(MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) + if (FindMonWithFlagsAndSuperEffective(battler, MOVE_RESULT_DOESNT_AFFECT_FOE, 2) + || FindMonWithFlagsAndSuperEffective(battler, MOVE_RESULT_NOT_VERY_EFFECTIVE, 3)) return TRUE; return FALSE; } -void AI_TrySwitchOrUseItem(void) +void AI_TrySwitchOrUseItem(u32 battler) { struct Pokemon *party; u8 battlerIn1, battlerIn2; s32 firstId; s32 lastId; // + 1 - u8 battlerIdentity = GetBattlerPosition(gActiveBattler); + u8 battlerPosition = GetBattlerPosition(battler); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - if (ShouldSwitch()) + if (ShouldSwitch(battler)) { - if (*(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) == PARTY_SIZE) + if (*(gBattleStruct->AI_monToSwitchIntoId + battler) == PARTY_SIZE) { - s32 monToSwitchId = GetMostSuitableMonToSwitchInto(); + s32 monToSwitchId = GetMostSuitableMonToSwitchInto(battler); if (monToSwitchId == PARTY_SIZE) { if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - battlerIn1 = GetBattlerAtPosition(battlerIdentity); + battlerIn1 = GetBattlerAtPosition(battlerPosition); battlerIn2 = battlerIn1; } else { - battlerIn1 = GetBattlerAtPosition(battlerIdentity); - battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(battlerIdentity)); + battlerIn1 = GetBattlerAtPosition(battlerPosition); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(battlerPosition)); } - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); for (monToSwitchId = (lastId-1); monToSwitchId >= firstId; monToSwitchId--) { @@ -772,31 +770,31 @@ void AI_TrySwitchOrUseItem(void) continue; if (monToSwitchId == *(gBattleStruct->monToSwitchIntoId + battlerIn2)) continue; - if (IsAceMon(gActiveBattler, monToSwitchId)) + if (IsAceMon(battler, monToSwitchId)) continue; break; } } - *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler) = monToSwitchId; + *(gBattleStruct->AI_monToSwitchIntoId + battler) = monToSwitchId; } - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); + *(gBattleStruct->monToSwitchIntoId + battler) = *(gBattleStruct->AI_monToSwitchIntoId + battler); return; } - else if (ShouldUseItem()) + else if (ShouldUseItem(battler)) { return; } } - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(gActiveBattler) << 8); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, BATTLE_OPPOSITE(battler) << 8); } // If there are two(or more) mons to choose from, always choose one that has baton pass // as most often it can't do much on its own. -static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, int aliveCount, u32 opposingBattler) +static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, int aliveCount, u32 battler, u32 opposingBattler) { int i, j, bits = 0; @@ -804,7 +802,7 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u { if (invalidMons & gBitTable[i]) continue; - if (IsAiPartyMonOHKOBy(opposingBattler, &party[i])) + if (IsAiPartyMonOHKOBy(battler, opposingBattler, &party[i])) continue; for (j = 0; j < MAX_MON_MOVES; j++) @@ -829,7 +827,7 @@ static u32 GetBestMonBatonPass(struct Pokemon *party, int firstId, int lastId, u return PARTY_SIZE; } -static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 opposingBattler) +static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 battler, u32 opposingBattler) { int i, bits = 0; @@ -850,7 +848,7 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, u8 defType1 = gSpeciesInfo[species].types[0]; u8 defType2 = gSpeciesInfo[species].types[1]; - if (IsAiPartyMonOHKOBy(opposingBattler, &party[i])) + if (IsAiPartyMonOHKOBy(battler, opposingBattler, &party[i])) continue; typeEffectiveness = uq4_12_multiply(typeEffectiveness, (GetTypeModifier(atkType1, defType1))); @@ -876,7 +874,7 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, for (i = 0; i < MAX_MON_MOVES; i++) { u32 move = GetMonData(&party[bestMonId], MON_DATA_MOVE1 + i); - if (move != MOVE_NONE && AI_GetTypeEffectiveness(move, gActiveBattler, opposingBattler) >= UQ_4_12(2.0)) + if (move != MOVE_NONE && AI_GetTypeEffectiveness(move, battler, opposingBattler) >= UQ_4_12(2.0)) break; } @@ -894,7 +892,7 @@ static u32 GetBestMonTypeMatchup(struct Pokemon *party, int firstId, int lastId, return PARTY_SIZE; } -static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 opposingBattler) +static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 invalidMons, u32 battler, u32 opposingBattler) { int i, j; int dmg, bestDmg = 0; @@ -906,10 +904,10 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva { if (gBitTable[i] & invalidMons) continue; - if (IsAiPartyMonOHKOBy(opposingBattler, &party[i])) + if (IsAiPartyMonOHKOBy(battler, opposingBattler, &party[i])) continue; - dmg = AI_CalcPartyMonBestMoveDamage(gActiveBattler, opposingBattler, &party[i], NULL); + dmg = AI_CalcPartyMonBestMoveDamage(battler, opposingBattler, &party[i], NULL); if (bestDmg < dmg) { bestDmg = dmg; @@ -920,7 +918,7 @@ static u32 GetBestMonDmg(struct Pokemon *party, int firstId, int lastId, u8 inva return bestMonId; } -u8 GetMostSuitableMonToSwitchInto(void) +u8 GetMostSuitableMonToSwitchInto(u32 battler) { u32 opposingBattler = 0; u32 bestMonId = PARTY_SIZE; @@ -931,18 +929,18 @@ u8 GetMostSuitableMonToSwitchInto(void) s32 i, j, aliveCount = 0; u32 invalidMons = 0, aceMonId = PARTY_SIZE; - if (*(gBattleStruct->monToSwitchIntoId + gActiveBattler) != PARTY_SIZE) - return *(gBattleStruct->monToSwitchIntoId + gActiveBattler); + if (*(gBattleStruct->monToSwitchIntoId + battler) != PARTY_SIZE) + return *(gBattleStruct->monToSwitchIntoId + battler); if (gBattleTypeFlags & BATTLE_TYPE_ARENA) - return gBattlerPartyIndexes[gActiveBattler] + 1; + return gBattlerPartyIndexes[battler] + 1; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - battlerIn1 = gActiveBattler; - if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))]) - battlerIn2 = gActiveBattler; + battlerIn1 = battler; + if (gAbsentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))]) + battlerIn2 = battler; else - battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))); + battlerIn2 = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))); opposingBattler = BATTLE_OPPOSITE(battlerIn1); if (gAbsentBattlerFlags & gBitTable[opposingBattler]) @@ -950,14 +948,14 @@ u8 GetMostSuitableMonToSwitchInto(void) } else { - opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(gActiveBattler))); - battlerIn1 = gActiveBattler; - battlerIn2 = gActiveBattler; + opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); + battlerIn1 = battler; + battlerIn2 = battler; } - GetAIPartyIndexes(gActiveBattler, &firstId, &lastId); + GetAIPartyIndexes(battler, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -970,11 +968,11 @@ u8 GetMostSuitableMonToSwitchInto(void) || gBattlerPartyIndexes[battlerIn2] == i || i == *(gBattleStruct->monToSwitchIntoId + battlerIn1) || i == *(gBattleStruct->monToSwitchIntoId + battlerIn2) - || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(gActiveBattler, opposingBattler))) // While not really invalid per say, not really wise to switch into this mon.) + || (GetMonAbility(&party[i]) == ABILITY_TRUANT && IsTruantMonVulnerable(battler, opposingBattler))) // While not really invalid per say, not really wise to switch into this mon.) { invalidMons |= gBitTable[i]; } - else if (IsAceMon(gActiveBattler, i))// Save Ace Pokemon for last. + else if (IsAceMon(battler, i))// Save Ace Pokemon for last. { aceMonId = i; invalidMons |= gBitTable[i]; @@ -985,15 +983,15 @@ u8 GetMostSuitableMonToSwitchInto(void) } } - bestMonId = GetBestMonBatonPass(party, firstId, lastId, invalidMons, aliveCount, opposingBattler); + bestMonId = GetBestMonBatonPass(party, firstId, lastId, invalidMons, aliveCount, battler, opposingBattler); if (bestMonId != PARTY_SIZE) return bestMonId; - bestMonId = GetBestMonTypeMatchup(party, firstId, lastId, invalidMons, opposingBattler); + bestMonId = GetBestMonTypeMatchup(party, firstId, lastId, invalidMons, battler, opposingBattler); if (bestMonId != PARTY_SIZE) return bestMonId; - bestMonId = GetBestMonDmg(party, firstId, lastId, invalidMons, opposingBattler); + bestMonId = GetBestMonDmg(party, firstId, lastId, invalidMons, battler, opposingBattler); if (bestMonId != PARTY_SIZE) return bestMonId; @@ -1004,18 +1002,18 @@ u8 GetMostSuitableMonToSwitchInto(void) return PARTY_SIZE; } -static bool32 AiExpectsToFaintPlayer(void) +static bool32 AiExpectsToFaintPlayer(u32 battler) { bool32 canFaintPlayer; u32 i; - u8 target = gBattleStruct->aiChosenTarget[gActiveBattler]; + u8 target = gBattleStruct->aiChosenTarget[battler]; - if (gBattleStruct->aiMoveOrAction[gActiveBattler] > 3) + if (gBattleStruct->aiMoveOrAction[battler] > 3) return FALSE; // AI not planning to use move - if (GetBattlerSide(target) != GetBattlerSide(gActiveBattler) - && CanIndexMoveFaintTarget(gActiveBattler, target, gBattleStruct->aiMoveOrAction[gActiveBattler], 0) - && AI_WhoStrikesFirst(gActiveBattler, target, GetAIChosenMove(gActiveBattler)) == AI_IS_FASTER) { + if (GetBattlerSide(target) != GetBattlerSide(battler) + && CanIndexMoveFaintTarget(battler, target, gBattleStruct->aiMoveOrAction[battler], 0) + && AI_WhoStrikesFirst(battler, target, GetAIChosenMove(battler)) == AI_IS_FASTER) { // We expect to faint the target and move first -> dont use an item return TRUE; } @@ -1023,7 +1021,7 @@ static bool32 AiExpectsToFaintPlayer(void) return FALSE; } -static bool8 ShouldUseItem(void) +static bool8 ShouldUseItem(u32 battler) { struct Pokemon *party; s32 i; @@ -1031,17 +1029,17 @@ static bool8 ShouldUseItem(void) bool8 shouldUse = FALSE; // If teaming up with player and Pokemon is on the right, or Pokemon is currently held by Sky Drop - if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT) - || gStatuses3[gActiveBattler] & STATUS3_SKY_DROPPED) + if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT) + || gStatuses3[battler] & STATUS3_SKY_DROPPED) return FALSE; - if (gStatuses3[gActiveBattler] & STATUS3_EMBARGO) + if (gStatuses3[battler] & STATUS3_EMBARGO) return FALSE; - if (AiExpectsToFaintPlayer()) + if (AiExpectsToFaintPlayer(battler)) return FALSE; - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; @@ -1071,48 +1069,48 @@ static bool8 ShouldUseItem(void) switch (ItemId_GetBattleUsage(item)) { case EFFECT_ITEM_HEAL_AND_CURE_STATUS: - shouldUse = AI_ShouldHeal(0); + shouldUse = AI_ShouldHeal(battler, 0); break; case EFFECT_ITEM_RESTORE_HP: - shouldUse = AI_ShouldHeal(itemEffects[GetItemEffectParamOffset(item, 4, 4)]); + shouldUse = AI_ShouldHeal(battler, itemEffects[GetItemEffectParamOffset(item, 4, 4)]); break; case EFFECT_ITEM_CURE_STATUS: - if (itemEffects[3] & ITEM3_SLEEP && gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) + if (itemEffects[3] & ITEM3_SLEEP && gBattleMons[battler].status1 & STATUS1_SLEEP) shouldUse = TRUE; - if (itemEffects[3] & ITEM3_POISON && (gBattleMons[gActiveBattler].status1 & STATUS1_POISON - || gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON)) + if (itemEffects[3] & ITEM3_POISON && (gBattleMons[battler].status1 & STATUS1_POISON + || gBattleMons[battler].status1 & STATUS1_TOXIC_POISON)) shouldUse = TRUE; - if (itemEffects[3] & ITEM3_BURN && gBattleMons[gActiveBattler].status1 & STATUS1_BURN) + if (itemEffects[3] & ITEM3_BURN && gBattleMons[battler].status1 & STATUS1_BURN) shouldUse = TRUE; - if (itemEffects[3] & ITEM3_FREEZE && (gBattleMons[gActiveBattler].status1 & STATUS1_FREEZE || gBattleMons[gActiveBattler].status1 & STATUS1_FROSTBITE)) + if (itemEffects[3] & ITEM3_FREEZE && (gBattleMons[battler].status1 & STATUS1_FREEZE || gBattleMons[battler].status1 & STATUS1_FROSTBITE)) shouldUse = TRUE; - if (itemEffects[3] & ITEM3_PARALYSIS && gBattleMons[gActiveBattler].status1 & STATUS1_PARALYSIS) + if (itemEffects[3] & ITEM3_PARALYSIS && gBattleMons[battler].status1 & STATUS1_PARALYSIS) shouldUse = TRUE; - if (itemEffects[3] & ITEM3_CONFUSION && gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) + if (itemEffects[3] & ITEM3_CONFUSION && gBattleMons[battler].status2 & STATUS2_CONFUSION) shouldUse = TRUE; break; case EFFECT_ITEM_INCREASE_STAT: case EFFECT_ITEM_INCREASE_ALL_STATS: - if (!gDisableStructs[gActiveBattler].isFirstTurn - || AI_OpponentCanFaintAiWithMod(0)) + if (!gDisableStructs[battler].isFirstTurn + || AI_OpponentCanFaintAiWithMod(battler, 0)) break; shouldUse = TRUE; break; case EFFECT_ITEM_SET_FOCUS_ENERGY: - if (!gDisableStructs[gActiveBattler].isFirstTurn - || gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY - || AI_OpponentCanFaintAiWithMod(0)) + if (!gDisableStructs[battler].isFirstTurn + || gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY + || AI_OpponentCanFaintAiWithMod(battler, 0)) break; shouldUse = TRUE; break; case EFFECT_ITEM_SET_MIST: - battlerSide = GetBattlerSide(gActiveBattler); - if (gDisableStructs[gActiveBattler].isFirstTurn && gSideTimers[battlerSide].mistTimer == 0) + battlerSide = GetBattlerSide(battler); + if (gDisableStructs[battler].isFirstTurn && gSideTimers[battlerSide].mistTimer == 0) shouldUse = TRUE; break; case EFFECT_ITEM_REVIVE: - gBattleStruct->itemPartyIndex[gActiveBattler] = GetFirstFaintedPartyIndex(gActiveBattler); - if (gBattleStruct->itemPartyIndex[gActiveBattler] != PARTY_SIZE) // Revive if possible. + gBattleStruct->itemPartyIndex[battler] = GetFirstFaintedPartyIndex(battler); + if (gBattleStruct->itemPartyIndex[battler] != PARTY_SIZE) // Revive if possible. shouldUse = TRUE; break; default: @@ -1121,10 +1119,10 @@ static bool8 ShouldUseItem(void) if (shouldUse) { // Set selected party ID to current battler if none chosen. - if (gBattleStruct->itemPartyIndex[gActiveBattler] == PARTY_SIZE) - gBattleStruct->itemPartyIndex[gActiveBattler] = gBattlerPartyIndexes[gActiveBattler]; - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); - gBattleStruct->chosenItem[gActiveBattler] = item; + if (gBattleStruct->itemPartyIndex[battler] == PARTY_SIZE) + gBattleStruct->itemPartyIndex[battler] = gBattlerPartyIndexes[battler]; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_ITEM, 0); + gBattleStruct->chosenItem[battler] = item; gBattleResources->battleHistory->trainerItems[i] = 0; return shouldUse; } @@ -1133,27 +1131,27 @@ static bool8 ShouldUseItem(void) return FALSE; } -static bool32 AI_ShouldHeal(u32 healAmount) +static bool32 AI_ShouldHeal(u32 battler, u32 healAmount) { bool32 shouldHeal = FALSE; - if (gBattleMons[gActiveBattler].hp < gBattleMons[gActiveBattler].maxHP / 4 - || gBattleMons[gActiveBattler].hp == 0 - || (healAmount != 0 && gBattleMons[gActiveBattler].maxHP - gBattleMons[gActiveBattler].hp > healAmount)) { + if (gBattleMons[battler].hp < gBattleMons[battler].maxHP / 4 + || gBattleMons[battler].hp == 0 + || (healAmount != 0 && gBattleMons[battler].maxHP - gBattleMons[battler].hp > healAmount)) { // We have low enough HP to consider healing - shouldHeal = !AI_OpponentCanFaintAiWithMod(healAmount); // if target can kill us even after we heal, why bother + shouldHeal = !AI_OpponentCanFaintAiWithMod(battler, healAmount); // if target can kill us even after we heal, why bother } return shouldHeal; } -static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount) +static bool32 AI_OpponentCanFaintAiWithMod(u32 battler, u32 healAmount) { u32 i; // Check special cases to NOT heal for (i = 0; i < gBattlersCount; i++) { if (GetBattlerSide(i) == B_SIDE_PLAYER) { - if (CanTargetFaintAiWithMod(i, gActiveBattler, healAmount, 0)) { + if (CanTargetFaintAiWithMod(i, battler, healAmount, 0)) { // Target is expected to faint us return TRUE; } @@ -1162,12 +1160,12 @@ static bool32 AI_OpponentCanFaintAiWithMod(u32 healAmount) return FALSE; } -static bool32 IsAiPartyMonOHKOBy(u32 battlerAtk, struct Pokemon *aiMon) +static bool32 IsAiPartyMonOHKOBy(u32 battlerAi, u32 battlerAtk, struct Pokemon *aiMon) { bool32 ret = FALSE; struct BattlePokemon *savedBattleMons; s32 hp = GetMonData(aiMon, MON_DATA_HP); - s32 bestDmg = AI_CalcPartyMonBestMoveDamage(battlerAtk, gActiveBattler, NULL, aiMon); + s32 bestDmg = AI_CalcPartyMonBestMoveDamage(battlerAtk, battlerAi, NULL, aiMon); switch (GetNoOfHitsToKO(bestDmg, hp)) { @@ -1176,8 +1174,8 @@ static bool32 IsAiPartyMonOHKOBy(u32 battlerAtk, struct Pokemon *aiMon) break; case 2: // if AI mon is faster allow 2 turns savedBattleMons = AllocSaveBattleMons(); - PokemonToBattleMon(aiMon, &gBattleMons[gActiveBattler]); - if (AI_WhoStrikesFirst(gActiveBattler, battlerAtk, 0) == AI_IS_SLOWER) + PokemonToBattleMon(aiMon, &gBattleMons[battlerAi]); + if (AI_WhoStrikesFirst(battlerAi, battlerAtk, 0) == AI_IS_SLOWER) ret = TRUE; else ret = FALSE; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index c6788cf8d7..1aa7da5eaf 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2557,7 +2557,7 @@ bool32 ShouldPivot(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u8 mo u8 battlerToSwitch; gActiveBattler = battlerAtk; - shouldSwitch = ShouldSwitch(); + shouldSwitch = ShouldSwitch(battlerAtk); battlerToSwitch = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); gActiveBattler = backupBattler; diff --git a/src/battle_controller_link_opponent.c b/src/battle_controller_link_opponent.c index 4f1c3da976..3a3cb7e8ce 100644 --- a/src/battle_controller_link_opponent.c +++ b/src/battle_controller_link_opponent.c @@ -370,7 +370,7 @@ static void LinkOpponentBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_link_partner.c b/src/battle_controller_link_partner.c index c4b4e2112c..4b8daeb1e1 100644 --- a/src/battle_controller_link_partner.c +++ b/src/battle_controller_link_partner.c @@ -196,7 +196,7 @@ static void LinkPartnerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 93e6a2bab9..85bc009c70 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -387,7 +387,7 @@ static void OpponentBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -511,7 +511,7 @@ static void OpponentHandlePrintString(u32 battler) static void OpponentHandleChooseAction(u32 battler) { - AI_TrySwitchOrUseItem(); + AI_TrySwitchOrUseItem(battler); OpponentBufferExecCompleted(battler); } @@ -525,7 +525,7 @@ static void OpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); } else { @@ -534,16 +534,16 @@ static void OpponentHandleChooseMove(u32 battler) switch (chosenMoveId) { case AI_CHOICE_WATCH: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_WATCH_CAREFULLY, 0); break; case AI_CHOICE_FLEE: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_RUN, 0); break; case AI_CHOICE_SWITCH: - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0xFFFF); break; case 6: - BtlController_EmitTwoReturnValues(BUFFER_B, 15, gBattlerTarget); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 15, gBattlerTarget); break; default: { @@ -560,9 +560,9 @@ static void OpponentHandleChooseMove(u32 battler) if (ShouldUseZMove(battler, gBattlerTarget, chosenMove)) QueueZMove(battler, chosenMove); if (CanMegaEvolve(battler)) // If opponent can mega evolve, do it. - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); } break; } @@ -580,7 +580,7 @@ static void OpponentHandleChooseMove(u32 battler) } while (move == MOVE_NONE); if (GetBattlerMoveTargetType(battler, move) & (MOVE_TARGET_USER_OR_SELECTED | MOVE_TARGET_USER)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (battler << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (battler << 8)); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { do { @@ -614,16 +614,16 @@ static void OpponentHandleChooseMove(u32 battler) } } if (isPartnerEnemy && CanTargetBattler(battler, target, move)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(battler)) << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(BATTLE_PARTNER(battler)) << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (target << 8)); } else #endif - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (target << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (target << 8)); } else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (GetBattlerAtPosition(B_POSITION_PLAYER_LEFT) << 8)); OpponentBufferExecCompleted(battler); } @@ -631,7 +631,7 @@ static void OpponentHandleChooseMove(u32 battler) static void OpponentHandleChooseItem(u32 battler) { - BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[battler]); + BtlController_EmitOneReturnValue(battler, BUFFER_B, gBattleStruct->chosenItem[battler]); OpponentBufferExecCompleted(battler); } @@ -648,7 +648,7 @@ static void OpponentHandleChoosePokemon(u32 battler) // Switching out else if (*(gBattleStruct->AI_monToSwitchIntoId + battler) == PARTY_SIZE) { - chosenMonId = GetMostSuitableMonToSwitchInto(); + chosenMonId = GetMostSuitableMonToSwitchInto(battler); if (chosenMonId == PARTY_SIZE) { s32 battler1, battler2, firstId, lastId; @@ -687,7 +687,7 @@ static void OpponentHandleChoosePokemon(u32 battler) *(gBattleStruct->AI_monToSwitchIntoId + battler) = PARTY_SIZE; *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; } - BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, chosenMonId, NULL); OpponentBufferExecCompleted(battler); } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index b6c47369e5..a86d40f3c2 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -173,7 +173,7 @@ static void PlayerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -303,7 +303,7 @@ static void HandleInputChooseAction(u32 battler) PlaySE(SE_SELECT); ArrowsChangeColorLastBallCycle(FALSE); TryHideLastUsedBall(); - BtlController_EmitTwoReturnValues(1, B_ACTION_THROW_BALL, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_THROW_BALL, 0); PlayerBufferExecCompleted(battler); } return; @@ -318,16 +318,16 @@ static void HandleInputChooseAction(u32 battler) switch (gActionSelectionCursor[battler]) { case 0: // Top left - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, 0); break; case 1: // Top right - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_ITEM, 0); break; case 2: // Bottom left - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SWITCH, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SWITCH, 0); break; case 3: // Bottom right - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_RUN, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_RUN, 0); break; } PlayerBufferExecCompleted(battler); @@ -385,7 +385,7 @@ static void HandleInputChooseAction(u32 battler) AddBagItem(itemId, 1); } PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_CANCEL_PARTNER, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_CANCEL_PARTNER, 0); PlayerBufferExecCompleted(battler); } } @@ -396,7 +396,7 @@ static void HandleInputChooseAction(u32 battler) #if DEBUG_BATTLE_MENU == TRUE else if (JOY_NEW(SELECT_BUTTON)) { - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_DEBUG, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_DEBUG, 0); PlayerBufferExecCompleted(battler); } #endif @@ -405,7 +405,7 @@ static void HandleInputChooseAction(u32 battler) { PlaySE(SE_SELECT); TryHideLastUsedBall(); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_THROW_BALL, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_THROW_BALL, 0); PlayerBufferExecCompleted(battler); } #endif @@ -435,9 +435,9 @@ static void HandleInputChooseTarget(u32 battler) PlaySE(SE_SELECT); gSprites[gBattlerSpriteIds[gMultiUsePlayerCursor]].callback = SpriteCB_HideAsMoveTarget; if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); EndBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX); TryHideLastUsedBall(); HideTriggerSprites(); @@ -593,9 +593,9 @@ static void HandleInputShowEntireFieldTargets(u32 battler) PlaySE(SE_SELECT); HideAllTargets(); if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideMegaTriggerSprite(); PlayerBufferExecCompleted(battler); } @@ -621,9 +621,9 @@ static void HandleInputShowTargets(u32 battler) PlaySE(SE_SELECT); HideShownTargets(battler); if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideTriggerSprites(); TryHideLastUsedBall(); PlayerBufferExecCompleted(battler); @@ -638,12 +638,12 @@ static void HandleInputShowTargets(u32 battler) } } -static void TryShowAsTarget(u32 battlerId) +static void TryShowAsTarget(u32 battler) { - if (IsBattlerAlive(battlerId)) + if (IsBattlerAlive(battler)) { - DoBounceEffect(battlerId, BOUNCE_HEALTHBOX, 15, 1); - gSprites[gBattlerSpriteIds[battlerId]].callback = SpriteCB_ShowAsMoveTarget; + DoBounceEffect(battler, BOUNCE_HEALTHBOX, 15, 1); + gSprites[gBattlerSpriteIds[battler]].callback = SpriteCB_ShowAsMoveTarget; } } @@ -736,9 +736,9 @@ static void HandleInputChooseMove(u32 battler) case 0: default: if (gBattleStruct->mega.playerSelect) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | RET_MEGA_EVOLUTION | (gMultiUsePlayerCursor << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, gMoveSelectionCursor[battler] | (gMultiUsePlayerCursor << 8)); HideTriggerSprites(); TryHideLastUsedBall(); PlayerBufferExecCompleted(battler); @@ -774,7 +774,7 @@ static void HandleInputChooseMove(u32 battler) { gBattleStruct->mega.playerSelect = FALSE; gBattleStruct->zmove.viable = FALSE; - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0xFFFF); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0xFFFF); HideTriggerSprites(); PlayerBufferExecCompleted(battler); } @@ -1382,12 +1382,11 @@ static s32 GetTaskExpValue(u8 taskId) static void Task_GiveExpToMon(u8 taskId) { - u32 savedActiveBattler; u32 monId = (u8)(gTasks[taskId].tExpTask_monId); - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; s32 gainedExp = GetTaskExpValue(taskId); - if (WhichBattleCoords(battlerId) == 1 || monId != gBattlerPartyIndexes[battlerId]) // Give exp without moving the expbar. + if (WhichBattleCoords(battler) == 1 || monId != gBattlerPartyIndexes[battler]) // Give exp without moving the expbar. { struct Pokemon *mon = &gPlayerParty[monId]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1400,13 +1399,10 @@ static void Task_GiveExpToMon(u8 taskId) SetMonData(mon, MON_DATA_EXP, &nextLvlExp); CalculateMonStats(mon); gainedExp -= nextLvlExp - currExp; - savedActiveBattler = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); - gActiveBattler = savedActiveBattler; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); if (IsDoubleBattle() == TRUE - && (monId == gBattlerPartyIndexes[battlerId] || monId == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)])) + && (monId == gBattlerPartyIndexes[battler] || monId == gBattlerPartyIndexes[BATTLE_PARTNER(battler)])) gTasks[taskId].func = Task_LaunchLvlUpAnim; else gTasks[taskId].func = Task_SetControllerToWaitForString; @@ -1415,7 +1411,7 @@ static void Task_GiveExpToMon(u8 taskId) { currExp += gainedExp; SetMonData(mon, MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = Controller_WaitForString; + gBattlerControllerFuncs[battler] = Controller_WaitForString; DestroyTask(taskId); } } @@ -1429,7 +1425,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) { u8 monIndex = gTasks[taskId].tExpTask_monId; s32 gainedExp = GetTaskExpValue(taskId); - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; struct Pokemon *mon = &gPlayerParty[monIndex]; u8 level = GetMonData(mon, MON_DATA_LEVEL); u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -1439,7 +1435,7 @@ static void Task_PrepareToGiveExpWithExpBar(u8 taskId) exp -= currLvlExp; expToNextLvl = gExperienceTables[gSpeciesInfo[species].growthRate][level + 1] - currLvlExp; - SetBattleBarStruct(battlerId, gHealthboxSpriteIds[battlerId], expToNextLvl, exp, -gainedExp); + SetBattleBarStruct(battler, gHealthboxSpriteIds[battler], expToNextLvl, exp, -gainedExp); PlaySE(SE_EXP); gTasks[taskId].func = Task_GiveExpWithExpBar; } @@ -1458,10 +1454,10 @@ static void Task_GiveExpWithExpBar(u8 taskId) { u8 monId = gTasks[taskId].tExpTask_monId; s32 gainedExp = GetTaskExpValue(taskId); - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; - newExpPoints = MoveBattleBar(battlerId, gHealthboxSpriteIds[battlerId], EXP_BAR, 0); - SetHealthboxSpriteVisible(gHealthboxSpriteIds[battlerId]); + newExpPoints = MoveBattleBar(battler, gHealthboxSpriteIds[battler], EXP_BAR, 0); + SetHealthboxSpriteVisible(gHealthboxSpriteIds[battler]); if (newExpPoints == -1) // The bar has been filled with given exp points. { m4aSongNumStop(SE_EXP); @@ -1472,22 +1468,17 @@ static void Task_GiveExpWithExpBar(u8 taskId) if (currExp + gainedExp >= expOnNextLvl) { - u8 savedActiveBattler; - SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &expOnNextLvl); CalculateMonStats(&gPlayerParty[monId]); gainedExp -= expOnNextLvl - currExp; - savedActiveBattler = gActiveBattler; - gActiveBattler = battlerId; - BtlController_EmitTwoReturnValues(BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); - gActiveBattler = savedActiveBattler; + BtlController_EmitTwoReturnValues(battler, BUFFER_B, RET_VALUE_LEVELED_UP, gainedExp); gTasks[taskId].func = Task_LaunchLvlUpAnim; } else { currExp += gainedExp; SetMonData(&gPlayerParty[monId], MON_DATA_EXP, &currExp); - gBattlerControllerFuncs[battlerId] = Controller_WaitForString; + gBattlerControllerFuncs[battler] = Controller_WaitForString; DestroyTask(taskId); } } @@ -1496,28 +1487,28 @@ static void Task_GiveExpWithExpBar(u8 taskId) static void Task_LaunchLvlUpAnim(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - battlerId ^= BIT_FLANK; + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + battler ^= BIT_FLANK; - InitAndLaunchSpecialAnimation(battlerId, battlerId, battlerId, B_ANIM_LVL_UP); + InitAndLaunchSpecialAnimation(battler, battler, battler, B_ANIM_LVL_UP); gTasks[taskId].func = Task_UpdateLvlInHealthbox; } static void Task_UpdateLvlInHealthbox(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; + u8 battler = gTasks[taskId].tExpTask_battler; - if (!gBattleSpritesDataPtr->healthBoxesData[battlerId].specialAnimActive) + if (!gBattleSpritesDataPtr->healthBoxesData[battler].specialAnimActive) { u8 monIndex = gTasks[taskId].tExpTask_monId; - if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]) - UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battlerId)], &gPlayerParty[monIndex], HEALTHBOX_ALL); + if (IsDoubleBattle() == TRUE && monIndex == gBattlerPartyIndexes[BATTLE_PARTNER(battler)]) + UpdateHealthboxAttribute(gHealthboxSpriteIds[BATTLE_PARTNER(battler)], &gPlayerParty[monIndex], HEALTHBOX_ALL); else - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], &gPlayerParty[monIndex], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], &gPlayerParty[monIndex], HEALTHBOX_ALL); gTasks[taskId].func = Task_SetControllerToWaitForString; } @@ -1525,8 +1516,8 @@ static void Task_UpdateLvlInHealthbox(u8 taskId) static void Task_SetControllerToWaitForString(u8 taskId) { - u8 battlerId = gTasks[taskId].tExpTask_battler; - gBattlerControllerFuncs[battlerId] = Controller_WaitForString; + u8 battler = gTasks[taskId].tExpTask_battler; + gBattlerControllerFuncs[battler] = Controller_WaitForString; DestroyTask(taskId); } @@ -1549,9 +1540,9 @@ static void WaitForMonSelection(u32 battler) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { if (gPartyMenuUseExitCallback == TRUE) - BtlController_EmitChosenMonReturnValue(BUFFER_B, gSelectedMonPartyId, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gSelectedMonPartyId, gBattlePartyCurrentOrder); else - BtlController_EmitChosenMonReturnValue(BUFFER_B, PARTY_SIZE, NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, PARTY_SIZE, NULL); if ((gBattleResources->bufferA[battler][1] & 0xF) == 1) PrintLinkStandbyMsg(); @@ -1575,7 +1566,7 @@ static void CompleteWhenChoseItem(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(battler, BUFFER_B, gSpecialVar_ItemId); PlayerBufferExecCompleted(battler); } } @@ -1602,9 +1593,9 @@ static void PlayerHandleYesNoInput(u32 battler) PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) - BtlController_EmitTwoReturnValues(BUFFER_B, 0xE, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 0xE, 0); else - BtlController_EmitTwoReturnValues(BUFFER_B, 0xD, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 0xD, 0); PlayerBufferExecCompleted(battler); } @@ -1936,7 +1927,7 @@ static void PlayerChooseMoveInBattlePalace(u32 battler) if (--*(gBattleStruct->arenaMindPoints + battler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); PlayerBufferExecCompleted(battler); } } @@ -2000,7 +1991,7 @@ static void PlayerHandleChoosePokemon(u32 battler) if (gBattleTypeFlags & BATTLE_TYPE_ARENA && (gBattleResources->bufferA[battler][1] & 0xF) != PARTY_ACTION_CANT_SWITCH && (gBattleResources->bufferA[battler][1] & 0xF) != PARTY_ACTION_CHOOSE_FAINTED_MON) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, gBattlerPartyIndexes[battler] + 1, gBattlePartyCurrentOrder); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, gBattlerPartyIndexes[battler] + 1, gBattlePartyCurrentOrder); PlayerBufferExecCompleted(battler); } else @@ -2099,25 +2090,25 @@ static void PlayerHandlePlayBGM(u32 battler) static void PlayerHandleTwoReturnValues(u32 battler) { - BtlController_EmitTwoReturnValues(BUFFER_B, 0, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 0, 0); PlayerBufferExecCompleted(battler); } static void PlayerHandleChosenMonReturnValue(u32 battler) { - BtlController_EmitChosenMonReturnValue(BUFFER_B, 0, NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, 0, NULL); PlayerBufferExecCompleted(battler); } static void PlayerHandleOneReturnValue(u32 battler) { - BtlController_EmitOneReturnValue(BUFFER_B, 0); + BtlController_EmitOneReturnValue(battler, BUFFER_B, 0); PlayerBufferExecCompleted(battler); } static void PlayerHandleOneReturnValue_Duplicate(u32 battler) { - BtlController_EmitOneReturnValue_Duplicate(BUFFER_B, 0); + BtlController_EmitOneReturnValue_Duplicate(battler, BUFFER_B, 0); PlayerBufferExecCompleted(battler); } diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 3f6014302b..2fc505d235 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -267,7 +267,7 @@ static void PlayerPartnerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -340,7 +340,7 @@ static void PlayerPartnerHandlePrintString(u32 battler) static void PlayerPartnerHandleChooseAction(u32 battler) { - AI_TrySwitchOrUseItem(); + AI_TrySwitchOrUseItem(battler); PlayerPartnerBufferExecCompleted(battler); } @@ -366,9 +366,9 @@ static void PlayerPartnerHandleChooseMove(u32 battler) // If partner can mega evolve, do it. if (CanMegaEvolve(battler)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); else - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); PlayerPartnerBufferExecCompleted(battler); } @@ -384,7 +384,7 @@ static void PlayerPartnerHandleChoosePokemon(u32 battler) // Switching out else { - chosenMonId = GetMostSuitableMonToSwitchInto(); + chosenMonId = GetMostSuitableMonToSwitchInto(battler); if (chosenMonId == PARTY_SIZE) // just switch to the next mon { u8 playerMonIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); @@ -402,7 +402,7 @@ static void PlayerPartnerHandleChoosePokemon(u32 battler) } *(gBattleStruct->monToSwitchIntoId + battler) = chosenMonId; } - BtlController_EmitChosenMonReturnValue(BUFFER_B, chosenMonId, NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, chosenMonId, NULL); PlayerPartnerBufferExecCompleted(battler); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index 4789708887..b2ee880006 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -140,7 +140,7 @@ static void RecordedOpponentBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -460,7 +460,7 @@ static void RecordedOpponentHandlePrintString(u32 battler) static void RecordedOpponentHandleChooseAction(u32 battler) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); RecordedOpponentBufferExecCompleted(battler); } @@ -468,13 +468,13 @@ static void RecordedOpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, battler); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, moveId | (target << 8)); } RecordedOpponentBufferExecCompleted(battler); @@ -487,7 +487,7 @@ static void RecordedOpponentHandleChooseItem(u32 battler) gBattleStruct->chosenItem[battler] = (byte1 << 8) | byte2; gBattleStruct->itemPartyIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, battler); gBattleStruct->itemMoveIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, battler); - BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[battler]); + BtlController_EmitOneReturnValue(battler, BUFFER_B, gBattleStruct->chosenItem[battler]); RecordedOpponentBufferExecCompleted(battler); } @@ -495,7 +495,7 @@ static void RecordedOpponentHandleChoosePokemon(u32 battler) { *(gBattleStruct->monToSwitchIntoId + battler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); RecordedOpponentBufferExecCompleted(battler); } diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index aac42824c7..9bd5b8baa3 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -346,7 +346,7 @@ static void RecordedPlayerBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -452,7 +452,7 @@ static void ChooseActionInBattlePalace(u32 battler) { if (gBattleCommunication[4] >= gBattlersCount / 2) { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_BATTLE_PALACE_ACTION, battler), 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_BATTLE_PALACE_ACTION, battler), 0); RecordedPlayerBufferExecCompleted(battler); } } @@ -465,7 +465,7 @@ static void RecordedPlayerHandleChooseAction(u32 battler) } else { - BtlController_EmitTwoReturnValues(BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, RecordedBattle_GetBattlerAction(RECORDED_ACTION_TYPE, battler), 0); RecordedPlayerBufferExecCompleted(battler); } } @@ -474,13 +474,13 @@ static void RecordedPlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); } else { u8 moveId = RecordedBattle_GetBattlerAction(RECORDED_MOVE_SLOT, battler); u8 target = RecordedBattle_GetBattlerAction(RECORDED_MOVE_TARGET, battler); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, moveId | (target << 8)); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, moveId | (target << 8)); } RecordedPlayerBufferExecCompleted(battler); @@ -493,7 +493,7 @@ static void RecordedPlayerHandleChooseItem(u32 battler) gBattleStruct->chosenItem[battler] = (byte1 << 8) | byte2; gBattleStruct->itemPartyIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_TARGET, battler); gBattleStruct->itemMoveIndex[battler] = RecordedBattle_GetBattlerAction(RECORDED_ITEM_MOVE, battler); - BtlController_EmitOneReturnValue(BUFFER_B, gBattleStruct->chosenItem[battler]); + BtlController_EmitOneReturnValue(battler, BUFFER_B, gBattleStruct->chosenItem[battler]); RecordedPlayerBufferExecCompleted(battler); } @@ -501,7 +501,7 @@ static void RecordedPlayerHandleChoosePokemon(u32 battler) { *(gBattleStruct->monToSwitchIntoId + battler) = RecordedBattle_GetBattlerAction(RECORDED_PARTY_INDEX, battler); gSelectedMonPartyId = gBattleStruct->monToSwitchIntoId[battler]; // Revival Blessing - BtlController_EmitChosenMonReturnValue(BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); + BtlController_EmitChosenMonReturnValue(battler, BUFFER_B, *(gBattleStruct->monToSwitchIntoId + battler), NULL); RecordedPlayerBufferExecCompleted(battler); } diff --git a/src/battle_controller_safari.c b/src/battle_controller_safari.c index 5f9183f1bd..2069082d8c 100644 --- a/src/battle_controller_safari.c +++ b/src/battle_controller_safari.c @@ -130,16 +130,16 @@ static void HandleInputChooseAction(u32 battler) switch (gActionSelectionCursor[battler]) { case 0: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_BALL, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_BALL, 0); break; case 1: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_POKEBLOCK, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_POKEBLOCK, 0); break; case 2: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_GO_NEAR, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_GO_NEAR, 0); break; case 3: - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_SAFARI_RUN, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_SAFARI_RUN, 0); break; } SafariBufferExecCompleted(battler); @@ -216,7 +216,7 @@ static void CompleteWhenChosePokeblock(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(battler, BUFFER_B, gSpecialVar_ItemId); SafariBufferExecCompleted(battler); } } @@ -228,7 +228,7 @@ static void SafariBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else diff --git a/src/battle_controller_wally.c b/src/battle_controller_wally.c index cff9665678..a262886f46 100644 --- a/src/battle_controller_wally.c +++ b/src/battle_controller_wally.c @@ -149,7 +149,7 @@ static void WallyHandleActions(u32 battler) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -160,7 +160,7 @@ static void WallyHandleActions(u32 battler) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_MOVE, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_MOVE, 0); WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -170,7 +170,7 @@ static void WallyHandleActions(u32 battler) case 3: if (--gBattleStruct->wallyWaitFrames == 0) { - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_WALLY_THROW, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_WALLY_THROW, 0); WallyBufferExecCompleted(battler); gBattleStruct->wallyBattleState++; gBattleStruct->wallyMovesState = 0; @@ -191,7 +191,7 @@ static void WallyHandleActions(u32 battler) if (--gBattleStruct->wallyWaitFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, B_ACTION_USE_ITEM, 0); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, B_ACTION_USE_ITEM, 0); WallyBufferExecCompleted(battler); } break; @@ -213,7 +213,7 @@ static void CompleteOnChosenItem(u32 battler) { if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) { - BtlController_EmitOneReturnValue(BUFFER_B, gSpecialVar_ItemId); + BtlController_EmitOneReturnValue(battler, BUFFER_B, gSpecialVar_ItemId); WallyBufferExecCompleted(battler); } } @@ -283,7 +283,7 @@ static void WallyBufferExecCompleted(u32 battler) { u8 playerId = GetMultiplayerId(); - PrepareBufferDataTransferLink(2, 4, &playerId); + PrepareBufferDataTransferLink(battler, 2, 4, &playerId); gBattleResources->bufferA[battler][0] = CONTROLLER_TERMINATOR_NOP; } else @@ -382,7 +382,7 @@ static void WallyHandleChooseMove(u32 battler) if (--gBattleStruct->wallyMoveFrames == 0) { PlaySE(SE_SELECT); - BtlController_EmitTwoReturnValues(BUFFER_B, 10, 0x100); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, 0x100); WallyBufferExecCompleted(battler); } break; diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 1518e46345..0119b332bb 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -26,7 +26,6 @@ static EWRAM_DATA u8 sLinkSendTaskId = 0; static EWRAM_DATA u8 sLinkReceiveTaskId = 0; EWRAM_DATA struct UnusedControllerStruct gUnusedControllerStruct = {}; // Debug? Unused code that writes to it, never read -static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {}; void (*gBattlerControllerFuncs[MAX_BATTLERS_COUNT])(u32 battler); u8 gBattleControllerData[MAX_BATTLERS_COUNT]; // Used by the battle controllers to store misc sprite/task IDs for each battler @@ -671,13 +670,13 @@ static void SetBattlePartyIds(void) } } -static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) +static void PrepareBufferDataTransfer(u32 battlerId, u32 bufferId, u8 *data, u16 size) { s32 i; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - PrepareBufferDataTransferLink(bufferId, size, data); + PrepareBufferDataTransferLink(battlerId, bufferId, size, data); } else { @@ -685,11 +684,11 @@ static void PrepareBufferDataTransfer(u8 bufferId, u8 *data, u16 size) { case BUFFER_A: for (i = 0; i < size; data++, i++) - gBattleResources->bufferA[gActiveBattler][i] = *data; + gBattleResources->bufferA[battlerId][i] = *data; break; case BUFFER_B: for (i = 0; i < size; data++, i++) - gBattleResources->bufferB[gActiveBattler][i] = *data; + gBattleResources->bufferB[battlerId][i] = *data; break; } } @@ -724,7 +723,7 @@ enum LINK_BUFF_DATA, }; -void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) +void PrepareBufferDataTransferLink(u32 battlerId, u32 bufferId, u16 size, u8 *data) { s32 alignedSize; s32 i; @@ -736,7 +735,7 @@ void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data) gTasks[sLinkSendTaskId].data[14] = 0; } gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = gActiveBattler; + gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = battlerId; gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; @@ -918,191 +917,191 @@ static void Task_HandleCopyReceivedLinkBuffersData(u8 taskId) } } -void BtlController_EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck) +void BtlController_EmitGetMonData(u32 battler, u32 bufferId, u8 requestId, u8 monToCheck) { - sBattleBuffersTransferData[0] = CONTROLLER_GETMONDATA; - sBattleBuffersTransferData[1] = requestId; - sBattleBuffersTransferData[2] = monToCheck; - sBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_GETMONDATA; + gBattleResources->transferBuffer[1] = requestId; + gBattleResources->transferBuffer[2] = monToCheck; + gBattleResources->transferBuffer[3] = 0; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Unused -static void BtlController_EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes) +static void BtlController_EmitGetRawMonData(u32 battler, u32 bufferId, u8 monId, u8 bytes) { - sBattleBuffersTransferData[0] = CONTROLLER_GETRAWMONDATA; - sBattleBuffersTransferData[1] = monId; - sBattleBuffersTransferData[2] = bytes; - sBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_GETRAWMONDATA; + gBattleResources->transferBuffer[1] = monId; + gBattleResources->transferBuffer[2] = bytes; + gBattleResources->transferBuffer[3] = 0; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data) +void BtlController_EmitSetMonData(u32 battler, u32 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_SETMONDATA; - sBattleBuffersTransferData[1] = requestId; - sBattleBuffersTransferData[2] = monToCheck; + gBattleResources->transferBuffer[0] = CONTROLLER_SETMONDATA; + gBattleResources->transferBuffer[1] = requestId; + gBattleResources->transferBuffer[2] = monToCheck; for (i = 0; i < bytes; i++) - sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 3 + bytes); + gBattleResources->transferBuffer[3 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 3 + bytes); } // Unused -static void BtlController_EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data) +static void BtlController_EmitSetRawMonData(u32 battler, u32 bufferId, u8 monId, u8 bytes, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_SETRAWMONDATA; - sBattleBuffersTransferData[1] = monId; - sBattleBuffersTransferData[2] = bytes; + gBattleResources->transferBuffer[0] = CONTROLLER_SETRAWMONDATA; + gBattleResources->transferBuffer[1] = monId; + gBattleResources->transferBuffer[2] = bytes; for (i = 0; i < bytes; i++) - sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, bytes + 3); + gBattleResources->transferBuffer[3 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, bytes + 3); } -void BtlController_EmitLoadMonSprite(u8 bufferId) +void BtlController_EmitLoadMonSprite(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_LOADMONSPRITE; - sBattleBuffersTransferData[1] = CONTROLLER_LOADMONSPRITE; - sBattleBuffersTransferData[2] = CONTROLLER_LOADMONSPRITE; - sBattleBuffersTransferData[3] = CONTROLLER_LOADMONSPRITE; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_LOADMONSPRITE; + gBattleResources->transferBuffer[1] = CONTROLLER_LOADMONSPRITE; + gBattleResources->transferBuffer[2] = CONTROLLER_LOADMONSPRITE; + gBattleResources->transferBuffer[3] = CONTROLLER_LOADMONSPRITE; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit) +void BtlController_EmitSwitchInAnim(u32 battler, u32 bufferId, u8 partyId, bool8 dontClearSubstituteBit) { - sBattleBuffersTransferData[0] = CONTROLLER_SWITCHINANIM; - sBattleBuffersTransferData[1] = partyId; - sBattleBuffersTransferData[2] = dontClearSubstituteBit; - sBattleBuffersTransferData[3] = 5; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_SWITCHINANIM; + gBattleResources->transferBuffer[1] = partyId; + gBattleResources->transferBuffer[2] = dontClearSubstituteBit; + gBattleResources->transferBuffer[3] = 5; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitReturnMonToBall(u8 bufferId, bool8 skipAnim) +void BtlController_EmitReturnMonToBall(u32 battler, u32 bufferId, bool8 skipAnim) { - sBattleBuffersTransferData[0] = CONTROLLER_RETURNMONTOBALL; - sBattleBuffersTransferData[1] = skipAnim; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); + gBattleResources->transferBuffer[0] = CONTROLLER_RETURNMONTOBALL; + gBattleResources->transferBuffer[1] = skipAnim; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 2); } -void BtlController_EmitDrawTrainerPic(u8 bufferId) +void BtlController_EmitDrawTrainerPic(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_DRAWTRAINERPIC; - sBattleBuffersTransferData[1] = CONTROLLER_DRAWTRAINERPIC; - sBattleBuffersTransferData[2] = CONTROLLER_DRAWTRAINERPIC; - sBattleBuffersTransferData[3] = CONTROLLER_DRAWTRAINERPIC; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_DRAWTRAINERPIC; + gBattleResources->transferBuffer[1] = CONTROLLER_DRAWTRAINERPIC; + gBattleResources->transferBuffer[2] = CONTROLLER_DRAWTRAINERPIC; + gBattleResources->transferBuffer[3] = CONTROLLER_DRAWTRAINERPIC; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitTrainerSlide(u8 bufferId) +void BtlController_EmitTrainerSlide(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_TRAINERSLIDE; - sBattleBuffersTransferData[1] = CONTROLLER_TRAINERSLIDE; - sBattleBuffersTransferData[2] = CONTROLLER_TRAINERSLIDE; - sBattleBuffersTransferData[3] = CONTROLLER_TRAINERSLIDE; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_TRAINERSLIDE; + gBattleResources->transferBuffer[1] = CONTROLLER_TRAINERSLIDE; + gBattleResources->transferBuffer[2] = CONTROLLER_TRAINERSLIDE; + gBattleResources->transferBuffer[3] = CONTROLLER_TRAINERSLIDE; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitTrainerSlideBack(u8 bufferId) +void BtlController_EmitTrainerSlideBack(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_TRAINERSLIDEBACK; - sBattleBuffersTransferData[1] = CONTROLLER_TRAINERSLIDEBACK; - sBattleBuffersTransferData[2] = CONTROLLER_TRAINERSLIDEBACK; - sBattleBuffersTransferData[3] = CONTROLLER_TRAINERSLIDEBACK; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_TRAINERSLIDEBACK; + gBattleResources->transferBuffer[1] = CONTROLLER_TRAINERSLIDEBACK; + gBattleResources->transferBuffer[2] = CONTROLLER_TRAINERSLIDEBACK; + gBattleResources->transferBuffer[3] = CONTROLLER_TRAINERSLIDEBACK; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitFaintAnimation(u8 bufferId) +void BtlController_EmitFaintAnimation(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_FAINTANIMATION; - sBattleBuffersTransferData[1] = CONTROLLER_FAINTANIMATION; - sBattleBuffersTransferData[2] = CONTROLLER_FAINTANIMATION; - sBattleBuffersTransferData[3] = CONTROLLER_FAINTANIMATION; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_FAINTANIMATION; + gBattleResources->transferBuffer[1] = CONTROLLER_FAINTANIMATION; + gBattleResources->transferBuffer[2] = CONTROLLER_FAINTANIMATION; + gBattleResources->transferBuffer[3] = CONTROLLER_FAINTANIMATION; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Unused -static void BtlController_EmitPaletteFade(u8 bufferId) +static void BtlController_EmitPaletteFade(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_PALETTEFADE; - sBattleBuffersTransferData[1] = CONTROLLER_PALETTEFADE; - sBattleBuffersTransferData[2] = CONTROLLER_PALETTEFADE; - sBattleBuffersTransferData[3] = CONTROLLER_PALETTEFADE; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_PALETTEFADE; + gBattleResources->transferBuffer[1] = CONTROLLER_PALETTEFADE; + gBattleResources->transferBuffer[2] = CONTROLLER_PALETTEFADE; + gBattleResources->transferBuffer[3] = CONTROLLER_PALETTEFADE; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Unused -static void BtlController_EmitSuccessBallThrowAnim(u8 bufferId) +static void BtlController_EmitSuccessBallThrowAnim(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_SUCCESSBALLTHROWANIM; - sBattleBuffersTransferData[1] = CONTROLLER_SUCCESSBALLTHROWANIM; - sBattleBuffersTransferData[2] = CONTROLLER_SUCCESSBALLTHROWANIM; - sBattleBuffersTransferData[3] = CONTROLLER_SUCCESSBALLTHROWANIM; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_SUCCESSBALLTHROWANIM; + gBattleResources->transferBuffer[1] = CONTROLLER_SUCCESSBALLTHROWANIM; + gBattleResources->transferBuffer[2] = CONTROLLER_SUCCESSBALLTHROWANIM; + gBattleResources->transferBuffer[3] = CONTROLLER_SUCCESSBALLTHROWANIM; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitBallThrowAnim(u8 bufferId, u8 caseId) +void BtlController_EmitBallThrowAnim(u32 battler, u32 bufferId, u8 caseId) { - sBattleBuffersTransferData[0] = CONTROLLER_BALLTHROWANIM; - sBattleBuffersTransferData[1] = caseId; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); + gBattleResources->transferBuffer[0] = CONTROLLER_BALLTHROWANIM; + gBattleResources->transferBuffer[1] = caseId; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 2); } // Unused -static void BtlController_EmitPause(u8 bufferId, u8 toWait, void *data) +static void BtlController_EmitPause(u32 battler, u32 bufferId, u8 toWait, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_PAUSE; - sBattleBuffersTransferData[1] = toWait; + gBattleResources->transferBuffer[0] = CONTROLLER_PAUSE; + gBattleResources->transferBuffer[1] = toWait; for (i = 0; i < toWait * 3; i++) - sBattleBuffersTransferData[2 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, toWait * 3 + 2); + gBattleResources->transferBuffer[2 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, toWait * 3 + 2); } -void BtlController_EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit) +void BtlController_EmitMoveAnimation(u32 battler, u32 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit) { - sBattleBuffersTransferData[0] = CONTROLLER_MOVEANIMATION; - sBattleBuffersTransferData[1] = move; - sBattleBuffersTransferData[2] = (move & 0xFF00) >> 8; - sBattleBuffersTransferData[3] = turnOfMove; - sBattleBuffersTransferData[4] = movePower; - sBattleBuffersTransferData[5] = (movePower & 0xFF00) >> 8; - sBattleBuffersTransferData[6] = dmg; - sBattleBuffersTransferData[7] = (dmg & 0x0000FF00) >> 8; - sBattleBuffersTransferData[8] = (dmg & 0x00FF0000) >> 16; - sBattleBuffersTransferData[9] = (dmg & 0xFF000000) >> 24; - sBattleBuffersTransferData[10] = friendship; - sBattleBuffersTransferData[11] = multihit; + gBattleResources->transferBuffer[0] = CONTROLLER_MOVEANIMATION; + gBattleResources->transferBuffer[1] = move; + gBattleResources->transferBuffer[2] = (move & 0xFF00) >> 8; + gBattleResources->transferBuffer[3] = turnOfMove; + gBattleResources->transferBuffer[4] = movePower; + gBattleResources->transferBuffer[5] = (movePower & 0xFF00) >> 8; + gBattleResources->transferBuffer[6] = dmg; + gBattleResources->transferBuffer[7] = (dmg & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[8] = (dmg & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[9] = (dmg & 0xFF000000) >> 24; + gBattleResources->transferBuffer[10] = friendship; + gBattleResources->transferBuffer[11] = multihit; if (WEATHER_HAS_EFFECT) { - sBattleBuffersTransferData[12] = gBattleWeather; - sBattleBuffersTransferData[13] = (gBattleWeather & 0xFF00) >> 8; + gBattleResources->transferBuffer[12] = gBattleWeather; + gBattleResources->transferBuffer[13] = (gBattleWeather & 0xFF00) >> 8; } else { - sBattleBuffersTransferData[12] = 0; - sBattleBuffersTransferData[13] = 0; + gBattleResources->transferBuffer[12] = 0; + gBattleResources->transferBuffer[13] = 0; } - sBattleBuffersTransferData[14] = 0; - sBattleBuffersTransferData[15] = 0; - memcpy(&sBattleBuffersTransferData[16], disableStructPtr, sizeof(struct DisableStruct)); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 16 + sizeof(struct DisableStruct)); + gBattleResources->transferBuffer[14] = 0; + gBattleResources->transferBuffer[15] = 0; + memcpy(&gBattleResources->transferBuffer[16], disableStructPtr, sizeof(struct DisableStruct)); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 16 + sizeof(struct DisableStruct)); } -void BtlController_EmitPrintString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintString(u32 battler, u32 bufferId, u16 stringID) { s32 i; struct BattleMsgData *stringInfo; - sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRING; - sBattleBuffersTransferData[1] = gBattleOutcome; - sBattleBuffersTransferData[2] = stringID; - sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; + gBattleResources->transferBuffer[0] = CONTROLLER_PRINTSTRING; + gBattleResources->transferBuffer[1] = gBattleOutcome; + gBattleResources->transferBuffer[2] = stringID; + gBattleResources->transferBuffer[3] = (stringID & 0xFF00) >> 8; - stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); + stringInfo = (struct BattleMsgData *)(&gBattleResources->transferBuffer[4]); stringInfo->currentMove = gCurrentMove; stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; @@ -1121,20 +1120,20 @@ void BtlController_EmitPrintString(u8 bufferId, u16 stringID) stringInfo->textBuffs[1][i] = gBattleTextBuff2[i]; stringInfo->textBuffs[2][i] = gBattleTextBuff3[i]; } - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, sizeof(struct BattleMsgData) + 4); } -void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) +void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, u16 stringID) { s32 i; struct BattleMsgData *stringInfo; - sBattleBuffersTransferData[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; - sBattleBuffersTransferData[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; - sBattleBuffersTransferData[2] = stringID; - sBattleBuffersTransferData[3] = (stringID & 0xFF00) >> 8; + gBattleResources->transferBuffer[0] = CONTROLLER_PRINTSTRINGPLAYERONLY; + gBattleResources->transferBuffer[1] = CONTROLLER_PRINTSTRINGPLAYERONLY; + gBattleResources->transferBuffer[2] = stringID; + gBattleResources->transferBuffer[3] = (stringID & 0xFF00) >> 8; - stringInfo = (struct BattleMsgData *)(&sBattleBuffersTransferData[4]); + stringInfo = (struct BattleMsgData *)(&gBattleResources->transferBuffer[4]); stringInfo->currentMove = gCurrentMove; stringInfo->originallyUsedMove = gChosenMove; stringInfo->lastItem = gLastUsedItem; @@ -1150,414 +1149,413 @@ void BtlController_EmitPrintSelectionString(u8 bufferId, u16 stringID) stringInfo->textBuffs[1][i] = gBattleTextBuff2[i]; stringInfo->textBuffs[2][i] = gBattleTextBuff3[i]; } - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct BattleMsgData) + 4); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, sizeof(struct BattleMsgData) + 4); } // itemId only relevant for B_ACTION_USE_ITEM -void BtlController_EmitChooseAction(u8 bufferId, u8 action, u16 itemId) +void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, u16 itemId) { - sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEACTION; - sBattleBuffersTransferData[1] = action; - sBattleBuffersTransferData[2] = itemId; - sBattleBuffersTransferData[3] = (itemId & 0xFF00) >> 8; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_CHOOSEACTION; + gBattleResources->transferBuffer[1] = action; + gBattleResources->transferBuffer[2] = itemId; + gBattleResources->transferBuffer[3] = (itemId & 0xFF00) >> 8; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Only used by the forfeit prompt in the Battle Frontier // For other Yes/No boxes in battle, see Cmd_yesnobox -void BtlController_EmitYesNoBox(u8 bufferId) +void BtlController_EmitYesNoBox(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_YESNOBOX; - sBattleBuffersTransferData[1] = CONTROLLER_YESNOBOX; - sBattleBuffersTransferData[2] = CONTROLLER_YESNOBOX; - sBattleBuffersTransferData[3] = CONTROLLER_YESNOBOX; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_YESNOBOX; + gBattleResources->transferBuffer[1] = CONTROLLER_YESNOBOX; + gBattleResources->transferBuffer[2] = CONTROLLER_YESNOBOX; + gBattleResources->transferBuffer[3] = CONTROLLER_YESNOBOX; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData) +void BtlController_EmitChooseMove(u32 battler, u32 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEMOVE; - sBattleBuffersTransferData[1] = isDoubleBattle; - sBattleBuffersTransferData[2] = NoPpNumber; - sBattleBuffersTransferData[3] = 0; + gBattleResources->transferBuffer[0] = CONTROLLER_CHOOSEMOVE; + gBattleResources->transferBuffer[1] = isDoubleBattle; + gBattleResources->transferBuffer[2] = NoPpNumber; + gBattleResources->transferBuffer[3] = 0; for (i = 0; i < sizeof(*movePpData); i++) - sBattleBuffersTransferData[4 + i] = *((u8 *)(movePpData) + i); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(*movePpData) + 4); + gBattleResources->transferBuffer[4 + i] = *((u8 *)(movePpData) + i); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, sizeof(*movePpData) + 4); } -void BtlController_EmitChooseItem(u8 bufferId, u8 *battlePartyOrder) +void BtlController_EmitChooseItem(u32 battler, u32 bufferId, u8 *battlePartyOrder) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_OPENBAG; + gBattleResources->transferBuffer[0] = CONTROLLER_OPENBAG; for (i = 0; i < PARTY_SIZE / 2; i++) - sBattleBuffersTransferData[1 + i] = battlePartyOrder[i]; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[1 + i] = battlePartyOrder[i]; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitChoosePokemon(u8 bufferId, u8 caseId, u8 slotId, u16 abilityId, u8 *data) +void BtlController_EmitChoosePokemon(u32 battler, u32 bufferId, u8 caseId, u8 slotId, u16 abilityId, u8 *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_CHOOSEPOKEMON; - sBattleBuffersTransferData[1] = caseId; - sBattleBuffersTransferData[2] = slotId; - sBattleBuffersTransferData[3] = abilityId & 0xFF; - sBattleBuffersTransferData[7] = (abilityId >> 8) & 0xFF; + gBattleResources->transferBuffer[0] = CONTROLLER_CHOOSEPOKEMON; + gBattleResources->transferBuffer[1] = caseId; + gBattleResources->transferBuffer[2] = slotId; + gBattleResources->transferBuffer[3] = abilityId & 0xFF; + gBattleResources->transferBuffer[7] = (abilityId >> 8) & 0xFF; for (i = 0; i < 3; i++) - sBattleBuffersTransferData[4 + i] = data[i]; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 8); // Only 7 bytes were written. + gBattleResources->transferBuffer[4 + i] = data[i]; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 8); // Only 7 bytes were written. } // Unused -static void BtlController_EmitCmd23(u8 bufferId) +static void BtlController_EmitCmd23(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_23; - sBattleBuffersTransferData[1] = CONTROLLER_23; - sBattleBuffersTransferData[2] = CONTROLLER_23; - sBattleBuffersTransferData[3] = CONTROLLER_23; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_23; + gBattleResources->transferBuffer[1] = CONTROLLER_23; + gBattleResources->transferBuffer[2] = CONTROLLER_23; + gBattleResources->transferBuffer[3] = CONTROLLER_23; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // why is the argument u16 if it's being cast to s16 anyway? -void BtlController_EmitHealthBarUpdate(u8 bufferId, u16 hpValue) +void BtlController_EmitHealthBarUpdate(u32 battler, u32 bufferId, u16 hpValue) { - sBattleBuffersTransferData[0] = CONTROLLER_HEALTHBARUPDATE; - sBattleBuffersTransferData[1] = 0; - sBattleBuffersTransferData[2] = (s16)hpValue; - sBattleBuffersTransferData[3] = ((s16)hpValue & 0xFF00) >> 8; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_HEALTHBARUPDATE; + gBattleResources->transferBuffer[1] = 0; + gBattleResources->transferBuffer[2] = (s16)hpValue; + gBattleResources->transferBuffer[3] = ((s16)hpValue & 0xFF00) >> 8; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitExpUpdate(u8 bufferId, u8 partyId, s32 expPoints) +void BtlController_EmitExpUpdate(u32 battler, u32 bufferId, u8 partyId, s32 expPoints) { - sBattleBuffersTransferData[0] = CONTROLLER_EXPUPDATE; - sBattleBuffersTransferData[1] = partyId; - sBattleBuffersTransferData[2] = expPoints; - sBattleBuffersTransferData[3] = (expPoints & 0x0000FF00) >> 8; - sBattleBuffersTransferData[4] = (expPoints & 0x00FF0000) >> 16; - sBattleBuffersTransferData[5] = (expPoints & 0xFF000000) >> 24; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 6); + gBattleResources->transferBuffer[0] = CONTROLLER_EXPUPDATE; + gBattleResources->transferBuffer[1] = partyId; + gBattleResources->transferBuffer[2] = expPoints; + gBattleResources->transferBuffer[3] = (expPoints & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[4] = (expPoints & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[5] = (expPoints & 0xFF000000) >> 24; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 6); } -void BtlController_EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2) +void BtlController_EmitStatusIconUpdate(u32 battler, u32 bufferId, u32 status1, u32 status2) { - sBattleBuffersTransferData[0] = CONTROLLER_STATUSICONUPDATE; - sBattleBuffersTransferData[1] = status1; - sBattleBuffersTransferData[2] = (status1 & 0x0000FF00) >> 8; - sBattleBuffersTransferData[3] = (status1 & 0x00FF0000) >> 16; - sBattleBuffersTransferData[4] = (status1 & 0xFF000000) >> 24; - sBattleBuffersTransferData[5] = status2; - sBattleBuffersTransferData[6] = (status2 & 0x0000FF00) >> 8; - sBattleBuffersTransferData[7] = (status2 & 0x00FF0000) >> 16; - sBattleBuffersTransferData[8] = (status2 & 0xFF000000) >> 24; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 9); + gBattleResources->transferBuffer[0] = CONTROLLER_STATUSICONUPDATE; + gBattleResources->transferBuffer[1] = status1; + gBattleResources->transferBuffer[2] = (status1 & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[3] = (status1 & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[4] = (status1 & 0xFF000000) >> 24; + gBattleResources->transferBuffer[5] = status2; + gBattleResources->transferBuffer[6] = (status2 & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[7] = (status2 & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[8] = (status2 & 0xFF000000) >> 24; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 9); } -void BtlController_EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status) +void BtlController_EmitStatusAnimation(u32 battler, u32 bufferId, bool8 status2, u32 status) { - sBattleBuffersTransferData[0] = CONTROLLER_STATUSANIMATION; - sBattleBuffersTransferData[1] = status2; - sBattleBuffersTransferData[2] = status; - sBattleBuffersTransferData[3] = (status & 0x0000FF00) >> 8; - sBattleBuffersTransferData[4] = (status & 0x00FF0000) >> 16; - sBattleBuffersTransferData[5] = (status & 0xFF000000) >> 24; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 6); + gBattleResources->transferBuffer[0] = CONTROLLER_STATUSANIMATION; + gBattleResources->transferBuffer[1] = status2; + gBattleResources->transferBuffer[2] = status; + gBattleResources->transferBuffer[3] = (status & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[4] = (status & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[5] = (status & 0xFF000000) >> 24; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 6); } // Unused -static void BtlController_EmitStatusXor(u8 bufferId, u8 b) +static void BtlController_EmitStatusXor(u32 battler, u32 bufferId, u8 b) { - sBattleBuffersTransferData[0] = CONTROLLER_STATUSXOR; - sBattleBuffersTransferData[1] = b; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); + gBattleResources->transferBuffer[0] = CONTROLLER_STATUSXOR; + gBattleResources->transferBuffer[1] = b; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 2); } -void BtlController_EmitDataTransfer(u8 bufferId, u16 size, void *data) +void BtlController_EmitDataTransfer(u32 battler, u32 bufferId, u16 size, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_DATATRANSFER; - sBattleBuffersTransferData[1] = CONTROLLER_DATATRANSFER; - sBattleBuffersTransferData[2] = size; - sBattleBuffersTransferData[3] = (size & 0xFF00) >> 8; + gBattleResources->transferBuffer[0] = CONTROLLER_DATATRANSFER; + gBattleResources->transferBuffer[1] = CONTROLLER_DATATRANSFER; + gBattleResources->transferBuffer[2] = size; + gBattleResources->transferBuffer[3] = (size & 0xFF00) >> 8; for (i = 0; i < size; i++) - sBattleBuffersTransferData[4 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 4); + gBattleResources->transferBuffer[4 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, size + 4); } // Unused -static void BtlController_EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data) +static void BtlController_EmitDMA3Transfer(u32 battler, u32 bufferId, void *dst, u16 size, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_DMA3TRANSFER; - sBattleBuffersTransferData[1] = (u32)(dst); - sBattleBuffersTransferData[2] = ((u32)(dst) & 0x0000FF00) >> 8; - sBattleBuffersTransferData[3] = ((u32)(dst) & 0x00FF0000) >> 16; - sBattleBuffersTransferData[4] = ((u32)(dst) & 0xFF000000) >> 24; - sBattleBuffersTransferData[5] = size; - sBattleBuffersTransferData[6] = (size & 0xFF00) >> 8; + gBattleResources->transferBuffer[0] = CONTROLLER_DMA3TRANSFER; + gBattleResources->transferBuffer[1] = (u32)(dst); + gBattleResources->transferBuffer[2] = ((u32)(dst) & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[3] = ((u32)(dst) & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[4] = ((u32)(dst) & 0xFF000000) >> 24; + gBattleResources->transferBuffer[5] = size; + gBattleResources->transferBuffer[6] = (size & 0xFF00) >> 8; for (i = 0; i < size; i++) - sBattleBuffersTransferData[7 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 7); + gBattleResources->transferBuffer[7 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, size + 7); } // Unused -static void BtlController_EmitPlayBGM(u8 bufferId, u16 songId, void *data) +static void BtlController_EmitPlayBGM(u32 battler, u32 bufferId, u16 songId, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_PLAYBGM; - sBattleBuffersTransferData[1] = songId; - sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8; + gBattleResources->transferBuffer[0] = CONTROLLER_PLAYBGM; + gBattleResources->transferBuffer[1] = songId; + gBattleResources->transferBuffer[2] = (songId & 0xFF00) >> 8; // Nonsense loop using songId as a size // Would go out of bounds for any song id after SE_RG_BAG_POCKET (253) for (i = 0; i < songId; i++) - sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, songId + 3); + gBattleResources->transferBuffer[3 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, songId + 3); } // Unused -static void BtlController_EmitCmd32(u8 bufferId, u16 size, void *data) +static void BtlController_EmitCmd32(u32 battler, u32 bufferId, u16 size, void *data) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_32; - sBattleBuffersTransferData[1] = size; - sBattleBuffersTransferData[2] = (size & 0xFF00) >> 8; + gBattleResources->transferBuffer[0] = CONTROLLER_32; + gBattleResources->transferBuffer[1] = size; + gBattleResources->transferBuffer[2] = (size & 0xFF00) >> 8; for (i = 0; i < size; i++) - sBattleBuffersTransferData[3 + i] = *(u8 *)(data++); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, size + 3); + gBattleResources->transferBuffer[3 + i] = *(u8 *)(data++); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, size + 3); } -void BtlController_EmitTwoReturnValues(u8 bufferId, u8 ret8, u32 ret32) +void BtlController_EmitTwoReturnValues(u32 battler, u32 bufferId, u8 ret8, u32 ret32) { - sBattleBuffersTransferData[0] = CONTROLLER_TWORETURNVALUES; - sBattleBuffersTransferData[1] = ret8; - sBattleBuffersTransferData[2] = ret32; - sBattleBuffersTransferData[3] = (ret32 & 0x0000FF00) >> 8; - sBattleBuffersTransferData[4] = (ret32 & 0x00FF0000) >> 16; - sBattleBuffersTransferData[5] = (ret32 & 0xFF000000) >> 24; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 6); + gBattleResources->transferBuffer[0] = CONTROLLER_TWORETURNVALUES; + gBattleResources->transferBuffer[1] = ret8; + gBattleResources->transferBuffer[2] = ret32; + gBattleResources->transferBuffer[3] = (ret32 & 0x0000FF00) >> 8; + gBattleResources->transferBuffer[4] = (ret32 & 0x00FF0000) >> 16; + gBattleResources->transferBuffer[5] = (ret32 & 0xFF000000) >> 24; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 6); } -void BtlController_EmitChosenMonReturnValue(u8 bufferId, u8 partyId, u8 *battlePartyOrder) +void BtlController_EmitChosenMonReturnValue(u32 battler, u32 bufferId, u8 partyId, u8 *battlePartyOrder) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_CHOSENMONRETURNVALUE; - sBattleBuffersTransferData[1] = partyId; + gBattleResources->transferBuffer[0] = CONTROLLER_CHOSENMONRETURNVALUE; + gBattleResources->transferBuffer[1] = partyId; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) - sBattleBuffersTransferData[2 + i] = battlePartyOrder[i]; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 5); + gBattleResources->transferBuffer[2 + i] = battlePartyOrder[i]; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 5); } -void BtlController_EmitOneReturnValue(u8 bufferId, u16 ret) +void BtlController_EmitOneReturnValue(u32 battler, u32 bufferId, u16 ret) { - sBattleBuffersTransferData[0] = CONTROLLER_ONERETURNVALUE; - sBattleBuffersTransferData[1] = ret; - sBattleBuffersTransferData[2] = (ret & 0xFF00) >> 8; - sBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_ONERETURNVALUE; + gBattleResources->transferBuffer[1] = ret; + gBattleResources->transferBuffer[2] = (ret & 0xFF00) >> 8; + gBattleResources->transferBuffer[3] = 0; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitOneReturnValue_Duplicate(u8 bufferId, u16 ret) +void BtlController_EmitOneReturnValue_Duplicate(u32 battler, u32 bufferId, u16 ret) { - sBattleBuffersTransferData[0] = CONTROLLER_ONERETURNVALUE_DUPLICATE; - sBattleBuffersTransferData[1] = ret; - sBattleBuffersTransferData[2] = (ret & 0xFF00) >> 8; - sBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_ONERETURNVALUE_DUPLICATE; + gBattleResources->transferBuffer[1] = ret; + gBattleResources->transferBuffer[2] = (ret & 0xFF00) >> 8; + gBattleResources->transferBuffer[3] = 0; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Unused -static void BtlController_EmitClearUnkVar(u8 bufferId) +static void BtlController_EmitClearUnkVar(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_CLEARUNKVAR; - sBattleBuffersTransferData[1] = CONTROLLER_CLEARUNKVAR; - sBattleBuffersTransferData[2] = CONTROLLER_CLEARUNKVAR; - sBattleBuffersTransferData[3] = CONTROLLER_CLEARUNKVAR; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_CLEARUNKVAR; + gBattleResources->transferBuffer[1] = CONTROLLER_CLEARUNKVAR; + gBattleResources->transferBuffer[2] = CONTROLLER_CLEARUNKVAR; + gBattleResources->transferBuffer[3] = CONTROLLER_CLEARUNKVAR; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Unused -static void BtlController_EmitSetUnkVar(u8 bufferId, u8 b) +static void BtlController_EmitSetUnkVar(u32 battler, u32 bufferId, u8 b) { - sBattleBuffersTransferData[0] = CONTROLLER_SETUNKVAR; - sBattleBuffersTransferData[1] = b; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); + gBattleResources->transferBuffer[0] = CONTROLLER_SETUNKVAR; + gBattleResources->transferBuffer[1] = b; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 2); } // Unused -static void BtlController_EmitClearUnkFlag(u8 bufferId) +static void BtlController_EmitClearUnkFlag(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_CLEARUNKFLAG; - sBattleBuffersTransferData[1] = CONTROLLER_CLEARUNKFLAG; - sBattleBuffersTransferData[2] = CONTROLLER_CLEARUNKFLAG; - sBattleBuffersTransferData[3] = CONTROLLER_CLEARUNKFLAG; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_CLEARUNKFLAG; + gBattleResources->transferBuffer[1] = CONTROLLER_CLEARUNKFLAG; + gBattleResources->transferBuffer[2] = CONTROLLER_CLEARUNKFLAG; + gBattleResources->transferBuffer[3] = CONTROLLER_CLEARUNKFLAG; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // Unused -static void BtlController_EmitToggleUnkFlag(u8 bufferId) +static void BtlController_EmitToggleUnkFlag(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_TOGGLEUNKFLAG; - sBattleBuffersTransferData[1] = CONTROLLER_TOGGLEUNKFLAG; - sBattleBuffersTransferData[2] = CONTROLLER_TOGGLEUNKFLAG; - sBattleBuffersTransferData[3] = CONTROLLER_TOGGLEUNKFLAG; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_TOGGLEUNKFLAG; + gBattleResources->transferBuffer[1] = CONTROLLER_TOGGLEUNKFLAG; + gBattleResources->transferBuffer[2] = CONTROLLER_TOGGLEUNKFLAG; + gBattleResources->transferBuffer[3] = CONTROLLER_TOGGLEUNKFLAG; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitHitAnimation(u8 bufferId) +void BtlController_EmitHitAnimation(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_HITANIMATION; - sBattleBuffersTransferData[1] = CONTROLLER_HITANIMATION; - sBattleBuffersTransferData[2] = CONTROLLER_HITANIMATION; - sBattleBuffersTransferData[3] = CONTROLLER_HITANIMATION; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_HITANIMATION; + gBattleResources->transferBuffer[1] = CONTROLLER_HITANIMATION; + gBattleResources->transferBuffer[2] = CONTROLLER_HITANIMATION; + gBattleResources->transferBuffer[3] = CONTROLLER_HITANIMATION; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitCantSwitch(u8 bufferId) +void BtlController_EmitCantSwitch(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_CANTSWITCH; - sBattleBuffersTransferData[1] = CONTROLLER_CANTSWITCH; - sBattleBuffersTransferData[2] = CONTROLLER_CANTSWITCH; - sBattleBuffersTransferData[3] = CONTROLLER_CANTSWITCH; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_CANTSWITCH; + gBattleResources->transferBuffer[1] = CONTROLLER_CANTSWITCH; + gBattleResources->transferBuffer[2] = CONTROLLER_CANTSWITCH; + gBattleResources->transferBuffer[3] = CONTROLLER_CANTSWITCH; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitPlaySE(u8 bufferId, u16 songId) +void BtlController_EmitPlaySE(u32 battler, u32 bufferId, u16 songId) { - sBattleBuffersTransferData[0] = CONTROLLER_PLAYSE; - sBattleBuffersTransferData[1] = songId; - sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8; - sBattleBuffersTransferData[3] = 0; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_PLAYSE; + gBattleResources->transferBuffer[1] = songId; + gBattleResources->transferBuffer[2] = (songId & 0xFF00) >> 8; + gBattleResources->transferBuffer[3] = 0; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM) +void BtlController_EmitPlayFanfareOrBGM(u32 battler, u32 bufferId, u16 songId, bool8 playBGM) { - sBattleBuffersTransferData[0] = CONTROLLER_PLAYFANFAREORBGM; - sBattleBuffersTransferData[1] = songId; - sBattleBuffersTransferData[2] = (songId & 0xFF00) >> 8; - sBattleBuffersTransferData[3] = playBGM; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_PLAYFANFAREORBGM; + gBattleResources->transferBuffer[1] = songId; + gBattleResources->transferBuffer[2] = (songId & 0xFF00) >> 8; + gBattleResources->transferBuffer[3] = playBGM; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitFaintingCry(u8 bufferId) +void BtlController_EmitFaintingCry(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_FAINTINGCRY; - sBattleBuffersTransferData[1] = CONTROLLER_FAINTINGCRY; - sBattleBuffersTransferData[2] = CONTROLLER_FAINTINGCRY; - sBattleBuffersTransferData[3] = CONTROLLER_FAINTINGCRY; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_FAINTINGCRY; + gBattleResources->transferBuffer[1] = CONTROLLER_FAINTINGCRY; + gBattleResources->transferBuffer[2] = CONTROLLER_FAINTINGCRY; + gBattleResources->transferBuffer[3] = CONTROLLER_FAINTINGCRY; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId) +void BtlController_EmitIntroSlide(u32 battler, u32 bufferId, u8 terrainId) { - sBattleBuffersTransferData[0] = CONTROLLER_INTROSLIDE; - sBattleBuffersTransferData[1] = terrainId; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); + gBattleResources->transferBuffer[0] = CONTROLLER_INTROSLIDE; + gBattleResources->transferBuffer[1] = terrainId; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 2); } -void BtlController_EmitIntroTrainerBallThrow(u8 bufferId) +void BtlController_EmitIntroTrainerBallThrow(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_INTROTRAINERBALLTHROW; - sBattleBuffersTransferData[1] = CONTROLLER_INTROTRAINERBALLTHROW; - sBattleBuffersTransferData[2] = CONTROLLER_INTROTRAINERBALLTHROW; - sBattleBuffersTransferData[3] = CONTROLLER_INTROTRAINERBALLTHROW; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_INTROTRAINERBALLTHROW; + gBattleResources->transferBuffer[1] = CONTROLLER_INTROTRAINERBALLTHROW; + gBattleResources->transferBuffer[2] = CONTROLLER_INTROTRAINERBALLTHROW; + gBattleResources->transferBuffer[3] = CONTROLLER_INTROTRAINERBALLTHROW; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 flags) +void BtlController_EmitDrawPartyStatusSummary(u32 battler, u32 bufferId, struct HpAndStatus* hpAndStatus, u8 flags) { s32 i; - sBattleBuffersTransferData[0] = CONTROLLER_DRAWPARTYSTATUSSUMMARY; - sBattleBuffersTransferData[1] = flags & ~PARTY_SUMM_SKIP_DRAW_DELAY; // If true, skip player side - sBattleBuffersTransferData[2] = (flags & PARTY_SUMM_SKIP_DRAW_DELAY) >> 7; // If true, skip delay after drawing. True during intro - sBattleBuffersTransferData[3] = CONTROLLER_DRAWPARTYSTATUSSUMMARY; + gBattleResources->transferBuffer[0] = CONTROLLER_DRAWPARTYSTATUSSUMMARY; + gBattleResources->transferBuffer[1] = flags & ~PARTY_SUMM_SKIP_DRAW_DELAY; // If true, skip player side + gBattleResources->transferBuffer[2] = (flags & PARTY_SUMM_SKIP_DRAW_DELAY) >> 7; // If true, skip delay after drawing. True during intro + gBattleResources->transferBuffer[3] = CONTROLLER_DRAWPARTYSTATUSSUMMARY; for (i = 0; i < (s32)(sizeof(struct HpAndStatus) * PARTY_SIZE); i++) - sBattleBuffersTransferData[4 + i] = *(i + (u8 *)(hpAndStatus)); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sizeof(struct HpAndStatus) * PARTY_SIZE + 4); + gBattleResources->transferBuffer[4 + i] = *(i + (u8 *)(hpAndStatus)); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, sizeof(struct HpAndStatus) * PARTY_SIZE + 4); } -void BtlController_EmitHidePartyStatusSummary(u8 bufferId) +void BtlController_EmitHidePartyStatusSummary(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; - sBattleBuffersTransferData[1] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; - sBattleBuffersTransferData[2] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; - sBattleBuffersTransferData[3] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + gBattleResources->transferBuffer[1] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + gBattleResources->transferBuffer[2] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + gBattleResources->transferBuffer[3] = CONTROLLER_HIDEPARTYSTATUSSUMMARY; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitEndBounceEffect(u8 bufferId) +void BtlController_EmitEndBounceEffect(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_ENDBOUNCE; - sBattleBuffersTransferData[1] = CONTROLLER_ENDBOUNCE; - sBattleBuffersTransferData[2] = CONTROLLER_ENDBOUNCE; - sBattleBuffersTransferData[3] = CONTROLLER_ENDBOUNCE; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_ENDBOUNCE; + gBattleResources->transferBuffer[1] = CONTROLLER_ENDBOUNCE; + gBattleResources->transferBuffer[2] = CONTROLLER_ENDBOUNCE; + gBattleResources->transferBuffer[3] = CONTROLLER_ENDBOUNCE; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible) +void BtlController_EmitSpriteInvisibility(u32 battler, u32 bufferId, bool8 isInvisible) { - sBattleBuffersTransferData[0] = CONTROLLER_SPRITEINVISIBILITY; - sBattleBuffersTransferData[1] = isInvisible; - sBattleBuffersTransferData[2] = CONTROLLER_SPRITEINVISIBILITY; - sBattleBuffersTransferData[3] = CONTROLLER_SPRITEINVISIBILITY; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_SPRITEINVISIBILITY; + gBattleResources->transferBuffer[1] = isInvisible; + gBattleResources->transferBuffer[2] = CONTROLLER_SPRITEINVISIBILITY; + gBattleResources->transferBuffer[3] = CONTROLLER_SPRITEINVISIBILITY; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } -void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument) +void BtlController_EmitBattleAnimation(u32 battler, u32 bufferId, u8 animationId, u16 argument) { - sBattleBuffersTransferData[0] = CONTROLLER_BATTLEANIMATION; - sBattleBuffersTransferData[1] = animationId; - sBattleBuffersTransferData[2] = argument; - sBattleBuffersTransferData[3] = (argument & 0xFF00) >> 8; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 4); + gBattleResources->transferBuffer[0] = CONTROLLER_BATTLEANIMATION; + gBattleResources->transferBuffer[1] = animationId; + gBattleResources->transferBuffer[2] = argument; + gBattleResources->transferBuffer[3] = (argument & 0xFF00) >> 8; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 4); } // mode is a LINK_STANDBY_* constant -void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 mode, bool32 record) +void BtlController_EmitLinkStandbyMsg(u32 battler, u32 bufferId, u8 mode, bool32 record) { - bool8 record_ = record; - sBattleBuffersTransferData[0] = CONTROLLER_LINKSTANDBYMSG; - sBattleBuffersTransferData[1] = mode; + gBattleResources->transferBuffer[0] = CONTROLLER_LINKSTANDBYMSG; + gBattleResources->transferBuffer[1] = mode; - if (record_) - sBattleBuffersTransferData[3] = sBattleBuffersTransferData[2] = RecordedBattle_BufferNewBattlerData(&sBattleBuffersTransferData[4]); + if (record) + gBattleResources->transferBuffer[3] = gBattleResources->transferBuffer[2] = RecordedBattle_BufferNewBattlerData(&gBattleResources->transferBuffer[4]); else - sBattleBuffersTransferData[3] = sBattleBuffersTransferData[2] = 0; + gBattleResources->transferBuffer[3] = gBattleResources->transferBuffer[2] = 0; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[2] + 4); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, gBattleResources->transferBuffer[2] + 4); } -void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId) +void BtlController_EmitResetActionMoveSelection(u32 battler, u32 bufferId, u8 caseId) { - sBattleBuffersTransferData[0] = CONTROLLER_RESETACTIONMOVESELECTION; - sBattleBuffersTransferData[1] = caseId; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 2); + gBattleResources->transferBuffer[0] = CONTROLLER_RESETACTIONMOVESELECTION; + gBattleResources->transferBuffer[1] = caseId; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 2); } -void BtlController_EmitEndLinkBattle(u8 bufferId, u8 battleOutcome) +void BtlController_EmitEndLinkBattle(u32 battler, u32 bufferId, u8 battleOutcome) { - sBattleBuffersTransferData[0] = CONTROLLER_ENDLINKBATTLE; - sBattleBuffersTransferData[1] = battleOutcome; - sBattleBuffersTransferData[2] = gSaveBlock2Ptr->frontier.disableRecordBattle; - sBattleBuffersTransferData[3] = gSaveBlock2Ptr->frontier.disableRecordBattle; - sBattleBuffersTransferData[5] = sBattleBuffersTransferData[4] = RecordedBattle_BufferNewBattlerData(&sBattleBuffersTransferData[6]); - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, sBattleBuffersTransferData[4] + 6); + gBattleResources->transferBuffer[0] = CONTROLLER_ENDLINKBATTLE; + gBattleResources->transferBuffer[1] = battleOutcome; + gBattleResources->transferBuffer[2] = gSaveBlock2Ptr->frontier.disableRecordBattle; + gBattleResources->transferBuffer[3] = gSaveBlock2Ptr->frontier.disableRecordBattle; + gBattleResources->transferBuffer[5] = gBattleResources->transferBuffer[4] = RecordedBattle_BufferNewBattlerData(&gBattleResources->transferBuffer[6]); + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, gBattleResources->transferBuffer[4] + 6); } -void BtlController_EmitDebugMenu(u8 bufferId) +void BtlController_EmitDebugMenu(u32 battler, u32 bufferId) { - sBattleBuffersTransferData[0] = CONTROLLER_DEBUGMENU; - PrepareBufferDataTransfer(bufferId, sBattleBuffersTransferData, 1); + gBattleResources->transferBuffer[0] = CONTROLLER_DEBUGMENU; + PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 1); } // Standardized Controller functions @@ -2124,7 +2122,7 @@ void StartSendOutAnim(u32 battler, bool32 dontClearSubstituteBit) gSprites[gBattleControllerData[battler]].data[1] = gBattlerSpriteIds[battler]; gSprites[gBattleControllerData[battler]].data[2] = battler; - gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(0, (side == B_SIDE_OPPONENT) ? POKEBALL_OPPONENT_SENDOUT : POKEBALL_PLAYER_SENDOUT); + gSprites[gBattleControllerData[battler]].data[0] = DoPokeballSendOutAnimation(battler, 0, (side == B_SIDE_OPPONENT) ? POKEBALL_OPPONENT_SENDOUT : POKEBALL_PLAYER_SENDOUT); } static void FreeMonSprite(u32 battler) @@ -2363,7 +2361,7 @@ void BtlController_HandleGetMonData(u32 battler) monToCheck >>= 1; } } - BtlController_EmitDataTransfer(BUFFER_B, size, monData); + BtlController_EmitDataTransfer(battler, BUFFER_B, size, monData); BattleControllerComplete(battler); } @@ -2379,7 +2377,7 @@ void BtlController_HandleGetRawMonData(u32 battler) for (i = 0; i < gBattleResources->bufferA[battler][2]; i++) dst[i] = src[i]; - BtlController_EmitDataTransfer(BUFFER_B, gBattleResources->bufferA[battler][2], dst); + BtlController_EmitDataTransfer(battler, BUFFER_B, gBattleResources->bufferA[battler][2], dst); BattleControllerComplete(battler); } @@ -2930,26 +2928,25 @@ static void Task_StartSendOutAnim(u8 taskId) } else { - u8 savedActiveBattler = gActiveBattler; + u32 battlerPartner; + u32 battler = gTasks[taskId].tBattlerId; - gActiveBattler = gTasks[taskId].tBattlerId; - if (TwoMonsAtSendOut(gActiveBattler)) + if (TwoMonsAtSendOut(battler)) { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); - StartSendOutAnim(gActiveBattler, FALSE); - gActiveBattler ^= BIT_FLANK; + gBattleResources->bufferA[battler][1] = gBattlerPartyIndexes[battler]; + StartSendOutAnim(battler, FALSE); + + battlerPartner = battler ^ BIT_FLANK; + gBattleResources->bufferA[battlerPartner][1] = gBattlerPartyIndexes[battlerPartner]; + BattleLoadMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[battlerPartner]], battlerPartner); + StartSendOutAnim(battlerPartner, FALSE); } else { - gBattleResources->bufferA[gActiveBattler][1] = gBattlerPartyIndexes[gActiveBattler]; - StartSendOutAnim(gActiveBattler, FALSE); + gBattleResources->bufferA[battler][1] = gBattlerPartyIndexes[battler]; + StartSendOutAnim(battler, FALSE); } - gBattlerControllerFuncs[gActiveBattler] = (void*)(GetWordTaskArg(taskId, tControllerFunc_1)); - gActiveBattler = savedActiveBattler; + gBattlerControllerFuncs[battler] = (void*)(GetWordTaskArg(taskId, tControllerFunc_1)); DestroyTask(taskId); } } diff --git a/src/battle_main.c b/src/battle_main.c index ed26436f87..17c045f07d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3412,14 +3412,15 @@ void FaintClearSetData(void) static void DoBattleIntro(void) { s32 i; + u32 battler; u8 *state = &gBattleStruct->introState; switch (*state) { case 0: // Get Data of all battlers. - gActiveBattler = gBattleCommunication[1]; - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); - MarkBattlerForControllerExec(gActiveBattler); + battler = gBattleCommunication[1]; + BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 0); + MarkBattlerForControllerExec(battler); (*state)++; break; case 1: // Loop through all battlers. @@ -3434,9 +3435,9 @@ static void DoBattleIntro(void) case 2: // Start graphical intro slide. if (!gBattleControllerExecFlags) { - gActiveBattler = GetBattlerAtPosition(0); - BtlController_EmitIntroSlide(BUFFER_A, gBattleTerrain); - MarkBattlerForControllerExec(gActiveBattler); + battler = GetBattlerAtPosition(0); + BtlController_EmitIntroSlide(battler, BUFFER_A, gBattleTerrain); + MarkBattlerForControllerExec(battler); gBattleCommunication[0] = 0; gBattleCommunication[1] = 0; (*state)++; @@ -3447,50 +3448,50 @@ static void DoBattleIntro(void) (*state)++; break; case 4: // Copy battler data gotten in cases 0 and 1. Draw trainer/mon sprite. - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && GetBattlerSide(battler) == B_SIDE_PLAYER) { - memset(&gBattleMons[gActiveBattler], 0, sizeof(struct BattlePokemon)); + memset(&gBattleMons[battler], 0, sizeof(struct BattlePokemon)); } else { - memcpy(&gBattleMons[gActiveBattler], &gBattleResources->bufferB[gActiveBattler][4], sizeof(struct BattlePokemon)); - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; - gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; - gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); - gBattleStruct->hpOnSwitchout[GetBattlerSide(gActiveBattler)] = gBattleMons[gActiveBattler].hp; - gBattleMons[gActiveBattler].status2 = 0; + memcpy(&gBattleMons[battler], &gBattleResources->bufferB[battler][4], sizeof(struct BattlePokemon)); + gBattleMons[battler].type1 = gSpeciesInfo[gBattleMons[battler].species].types[0]; + gBattleMons[battler].type2 = gSpeciesInfo[gBattleMons[battler].species].types[1]; + gBattleMons[battler].type3 = TYPE_MYSTERY; + gBattleMons[battler].ability = GetAbilityBySpecies(gBattleMons[battler].species, gBattleMons[battler].abilityNum); + gBattleStruct->hpOnSwitchout[GetBattlerSide(battler)] = gBattleMons[battler].hp; + gBattleMons[battler].status2 = 0; for (i = 0; i < NUM_BATTLE_STATS; i++) - gBattleMons[gActiveBattler].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; } // Draw sprite. - switch (GetBattlerPosition(gActiveBattler)) + switch (GetBattlerPosition(battler)) { case B_POSITION_PLAYER_LEFT: // player sprite - BtlController_EmitDrawTrainerPic(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); break; case B_POSITION_OPPONENT_LEFT: if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) // opponent 1 sprite { - BtlController_EmitDrawTrainerPic(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } else // wild mon 1 { - BtlController_EmitLoadMonSprite(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); - gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); + BtlController_EmitLoadMonSprite(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); + gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL); } break; case B_POSITION_PLAYER_RIGHT: if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER)) // partner sprite { - BtlController_EmitDrawTrainerPic(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } break; case B_POSITION_OPPONENT_RIGHT: @@ -3498,15 +3499,15 @@ static void DoBattleIntro(void) { if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS) && !BATTLE_TWO_VS_ONE_OPPONENT) // opponent 2 if exists { - BtlController_EmitDrawTrainerPic(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitDrawTrainerPic(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } } - else if (IsBattlerAlive(gActiveBattler)) // wild mon 2 if alive + else if (IsBattlerAlive(battler)) // wild mon 2 if alive { - BtlController_EmitLoadMonSprite(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); - gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); + BtlController_EmitLoadMonSprite(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); + gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL); } break; } @@ -3548,9 +3549,9 @@ static void DoBattleIntro(void) } } - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); - MarkBattlerForControllerExec(gActiveBattler); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + MarkBattlerForControllerExec(battler); for (i = 0; i < PARTY_SIZE; i++) { @@ -3567,9 +3568,9 @@ static void DoBattleIntro(void) } } - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); - MarkBattlerForControllerExec(gActiveBattler); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatus, PARTY_SUMM_SKIP_DRAW_DELAY); + MarkBattlerForControllerExec(battler); (*state)++; } @@ -3615,12 +3616,12 @@ static void DoBattleIntro(void) break; case 11: // first opponent's mon send out animation if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); else - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); (*state)++; break; case 12: // nothing @@ -3629,12 +3630,12 @@ static void DoBattleIntro(void) if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_TWO_OPPONENTS) && !BATTLE_TWO_VS_ONE_OPPONENT) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); else - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } #if B_FAST_INTRO == TRUE if (!(gBattleTypeFlags & (BATTLE_TYPE_RECORDED | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_RECORDED_IS_MASTER | BATTLE_TYPE_LINK))) @@ -3655,21 +3656,21 @@ static void DoBattleIntro(void) if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); // A hack that makes fast intro work in trainer battles too. #if B_FAST_INTRO == TRUE if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_RECORDED | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_RECORDED_IS_MASTER | BATTLE_TYPE_LINK)) - && gSprites[gHealthboxSpriteIds[gActiveBattler ^ BIT_SIDE]].callback == SpriteCallbackDummy) + && gSprites[gHealthboxSpriteIds[battler ^ BIT_SIDE]].callback == SpriteCallbackDummy) { return; } #endif - PrepareStringBattle(STRINGID_INTROSENDOUT, gActiveBattler); + PrepareStringBattle(STRINGID_INTROSENDOUT, battler); } (*state)++; break; @@ -3677,50 +3678,50 @@ static void DoBattleIntro(void) if (!(gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleControllerExecFlags)) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (!IsBattlerMarkedForControllerExec(gActiveBattler)) + if (!IsBattlerMarkedForControllerExec(battler)) (*state)++; } break; case 18: // player 1 send out if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); else - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); (*state)++; break; case 19: // player 2 send out if (gBattleTypeFlags & (BATTLE_TYPE_MULTI | BATTLE_TYPE_INGAME_PARTNER)) { if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK && !(gBattleTypeFlags & BATTLE_TYPE_RECORDED_IS_MASTER)) - gActiveBattler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); else - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - BtlController_EmitIntroTrainerBallThrow(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitIntroTrainerBallThrow(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } (*state)++; break; case 20: // set dex and battle vars if (!gBattleControllerExecFlags) { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT + if (GetBattlerSide(battler) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_TRAINER_HILL))) { - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[battler].species), FLAG_SET_SEEN, gBattleMons[battler].personality); } } @@ -4123,7 +4124,7 @@ static void HandleTurnActionSelectionState(void) else { gBattleStruct->itemPartyIndex[gActiveBattler] = PARTY_SIZE; - BtlController_EmitChooseAction(BUFFER_A, gChosenActionByBattler[0], gBattleResources->bufferB[0][1] | (gBattleResources->bufferB[0][2] << 8)); + BtlController_EmitChooseAction(gActiveBattler, BUFFER_A, gChosenActionByBattler[0], gBattleResources->bufferB[0][1] | (gBattleResources->bufferB[0][2] << 8)); MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; } @@ -4175,7 +4176,7 @@ static void HandleTurnActionSelectionState(void) i); } - BtlController_EmitChooseMove(BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + BtlController_EmitChooseMove(gActiveBattler, BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4207,7 +4208,7 @@ static void HandleTurnActionSelectionState(void) } else { - BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(gActiveBattler, BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); } break; @@ -4216,21 +4217,21 @@ static void HandleTurnActionSelectionState(void) if (gBattleTypeFlags & BATTLE_TYPE_ARENA || !CanBattlerEscape(gActiveBattler)) { - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else if (ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item) != HOLD_EFFECT_SHED_SHELL && (i = IsAbilityPreventingEscape(gActiveBattler))) // must be last to keep i value integrity { - BtlController_EmitChoosePokemon(BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[gActiveBattler]); } else { if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); else - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); } MarkBattlerForControllerExec(gActiveBattler); break; @@ -4245,7 +4246,7 @@ static void HandleTurnActionSelectionState(void) } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChooseItem(gActiveBattler, BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); MarkBattlerForControllerExec(gActiveBattler); break; case B_ACTION_CANCEL_PARTNER: @@ -4255,7 +4256,7 @@ static void HandleTurnActionSelectionState(void) if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(BUFFER_A); + BtlController_EmitEndBounceEffect(gActiveBattler, BUFFER_A); MarkBattlerForControllerExec(gActiveBattler); return; } @@ -4286,11 +4287,11 @@ static void HandleTurnActionSelectionState(void) gBattleStruct->mega.toEvolve &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))]); gBattleStruct->zmove.toBeUsed[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))] = MOVE_NONE; - BtlController_EmitEndBounceEffect(BUFFER_A); + BtlController_EmitEndBounceEffect(gActiveBattler, BUFFER_A); MarkBattlerForControllerExec(gActiveBattler); return; case B_ACTION_DEBUG: - BtlController_EmitDebugMenu(BUFFER_A); + BtlController_EmitDebugMenu(gActiveBattler, BUFFER_A); MarkBattlerForControllerExec(gActiveBattler); break; } @@ -4458,11 +4459,11 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(gActiveBattler, BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(gActiveBattler, BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } MarkBattlerForControllerExec(gActiveBattler); gBattleCommunication[gActiveBattler]++; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index a8e689dc69..f72c7b5e62 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1879,8 +1879,7 @@ static void Cmd_ppreduce(void) if (MOVE_IS_PERMANENT(gBattlerAttacker, gCurrMovePos)) { - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, sizeof(gBattleMons[gBattlerAttacker].pp[gCurrMovePos]), &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]); MarkBattlerForControllerExec(gBattlerAttacker); @@ -2212,8 +2211,6 @@ static void Cmd_attackanimation(void) { u8 multihit; - gActiveBattler = gBattlerAttacker; - if (gBattleMons[gBattlerTarget].status2 & STATUS2_SUBSTITUTE) multihit = gMultiHitCounter; else if (gMultiHitCounter != 0 && gMultiHitCounter != 1) @@ -2226,7 +2223,7 @@ static void Cmd_attackanimation(void) else multihit = gMultiHitCounter; - BtlController_EmitMoveAnimation(BUFFER_A, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); + BtlController_EmitMoveAnimation(gBattlerAttacker, BUFFER_A, gCurrentMove, gBattleScripting.animTurn, gBattleMovePower, gBattleMoveDamage, gBattleMons[gBattlerAttacker].friendship, &gDisableStructs[gBattlerAttacker], multihit); gBattleScripting.animTurn++; gBattleScripting.animTargetsHit++; MarkBattlerForControllerExec(gBattlerAttacker); @@ -2257,20 +2254,20 @@ static void Cmd_healthbarupdate(void) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || (gHitMarker & HITMARKER_PASSIVE_DAMAGE)) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); - if (DoesSubstituteBlockMove(gBattlerAttacker, gActiveBattler, gCurrentMove) && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + if (DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && gDisableStructs[battler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - PrepareStringBattle(STRINGID_SUBSTITUTEDAMAGED, gActiveBattler); + PrepareStringBattle(STRINGID_SUBSTITUTEDAMAGED, battler); } - else if (!DoesDisguiseBlockMove(gBattlerAttacker, gActiveBattler, gCurrentMove)) + else if (!DoesDisguiseBlockMove(gBattlerAttacker, battler, gCurrentMove)) { s16 healthValue = min(gBattleMoveDamage, 10000); // Max damage (10000) not present in R/S, ensures that huge damage values don't change sign - BtlController_EmitHealthBarUpdate(BUFFER_A, healthValue); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitHealthBarUpdate(battler, BUFFER_A, healthValue); + MarkBattlerForControllerExec(battler); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) + if (GetBattlerSide(battler) == B_SIDE_PLAYER && gBattleMoveDamage > 0) gBattleResults.playerMonWasDamaged = TRUE; } } @@ -2282,7 +2279,7 @@ static void Cmd_datahpupdate(void) { CMD_ARGS(u8 battler); - u32 moveType; + u32 battler, moveType; if (gBattleControllerExecFlags) return; @@ -2296,25 +2293,25 @@ static void Cmd_datahpupdate(void) if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) || (gHitMarker & HITMARKER_PASSIVE_DAMAGE)) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - if (DoesSubstituteBlockMove(gBattlerAttacker, gActiveBattler, gCurrentMove) && gDisableStructs[gActiveBattler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) + battler = GetBattlerForBattleScript(cmd->battler); + if (DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && gDisableStructs[battler].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) { - if (gDisableStructs[gActiveBattler].substituteHP >= gBattleMoveDamage) + if (gDisableStructs[battler].substituteHP >= gBattleMoveDamage) { - if (gSpecialStatuses[gActiveBattler].dmg == 0) - gSpecialStatuses[gActiveBattler].dmg = gBattleMoveDamage; - gDisableStructs[gActiveBattler].substituteHP -= gBattleMoveDamage; + if (gSpecialStatuses[battler].dmg == 0) + gSpecialStatuses[battler].dmg = gBattleMoveDamage; + gDisableStructs[battler].substituteHP -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - if (gSpecialStatuses[gActiveBattler].dmg == 0) - gSpecialStatuses[gActiveBattler].dmg = gDisableStructs[gActiveBattler].substituteHP; - gHpDealt = gDisableStructs[gActiveBattler].substituteHP; - gDisableStructs[gActiveBattler].substituteHP = 0; + if (gSpecialStatuses[battler].dmg == 0) + gSpecialStatuses[battler].dmg = gDisableStructs[battler].substituteHP; + gHpDealt = gDisableStructs[battler].substituteHP; + gDisableStructs[battler].substituteHP = 0; } // check substitute fading - if (gDisableStructs[gActiveBattler].substituteHP == 0) + if (gDisableStructs[battler].substituteHP == 0) { gBattlescriptCurrInstr = cmd->nextInstr; BattleScriptPushCursor(); @@ -2322,9 +2319,9 @@ static void Cmd_datahpupdate(void) return; } } - else if (DoesDisguiseBlockMove(gBattlerAttacker, gActiveBattler, gCurrentMove)) + else if (DoesDisguiseBlockMove(gBattlerAttacker, battler, gCurrentMove)) { - gBattleMons[gActiveBattler].species = SPECIES_MIMIKYU_BUSTED; + gBattleMons[battler].species = SPECIES_MIMIKYU_BUSTED; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = BattleScript_TargetFormChange; return; @@ -2334,9 +2331,9 @@ static void Cmd_datahpupdate(void) gHitMarker &= ~HITMARKER_IGNORE_SUBSTITUTE; if (gBattleMoveDamage < 0) // hp goes up { - gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; - if (gBattleMons[gActiveBattler].hp > gBattleMons[gActiveBattler].maxHP) - gBattleMons[gActiveBattler].hp = gBattleMons[gActiveBattler].maxHP; + gBattleMons[battler].hp -= gBattleMoveDamage; + if (gBattleMons[battler].hp > gBattleMons[battler].maxHP) + gBattleMons[battler].hp = gBattleMons[battler].maxHP; } else // hp goes down @@ -2347,68 +2344,68 @@ static void Cmd_datahpupdate(void) } else { - gTakenDmg[gActiveBattler] += gBattleMoveDamage; + gTakenDmg[battler] += gBattleMoveDamage; if (cmd->battler == BS_TARGET) - gTakenDmgByBattler[gActiveBattler] = gBattlerAttacker; + gTakenDmgByBattler[battler] = gBattlerAttacker; else - gTakenDmgByBattler[gActiveBattler] = gBattlerTarget; + gTakenDmgByBattler[battler] = gBattlerTarget; } - if (gBattleMons[gActiveBattler].hp > gBattleMoveDamage) + if (gBattleMons[battler].hp > gBattleMoveDamage) { - gBattleMons[gActiveBattler].hp -= gBattleMoveDamage; + gBattleMons[battler].hp -= gBattleMoveDamage; gHpDealt = gBattleMoveDamage; } else { - gHpDealt = gBattleMons[gActiveBattler].hp; - gBattleMons[gActiveBattler].hp = 0; + gHpDealt = gBattleMons[battler].hp; + gBattleMons[battler].hp = 0; } - if (!gSpecialStatuses[gActiveBattler].dmg && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE)) - gSpecialStatuses[gActiveBattler].dmg = gHpDealt; + if (!gSpecialStatuses[battler].dmg && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE)) + gSpecialStatuses[battler].dmg = gHpDealt; if (IS_MOVE_PHYSICAL(gCurrentMove) && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE) && gCurrentMove != MOVE_PAIN_SPLIT) { - gProtectStructs[gActiveBattler].physicalDmg = gHpDealt; - gSpecialStatuses[gActiveBattler].physicalDmg = gHpDealt; + gProtectStructs[battler].physicalDmg = gHpDealt; + gSpecialStatuses[battler].physicalDmg = gHpDealt; if (cmd->battler == BS_TARGET) { - gProtectStructs[gActiveBattler].physicalBattlerId = gBattlerAttacker; - gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerAttacker; + gProtectStructs[battler].physicalBattlerId = gBattlerAttacker; + gSpecialStatuses[battler].physicalBattlerId = gBattlerAttacker; } else { - gProtectStructs[gActiveBattler].physicalBattlerId = gBattlerTarget; - gSpecialStatuses[gActiveBattler].physicalBattlerId = gBattlerTarget; + gProtectStructs[battler].physicalBattlerId = gBattlerTarget; + gSpecialStatuses[battler].physicalBattlerId = gBattlerTarget; } } else if (!IS_MOVE_PHYSICAL(gCurrentMove) && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE)) { - gProtectStructs[gActiveBattler].specialDmg = gHpDealt; - gSpecialStatuses[gActiveBattler].specialDmg = gHpDealt; + gProtectStructs[battler].specialDmg = gHpDealt; + gSpecialStatuses[battler].specialDmg = gHpDealt; if (cmd->battler == BS_TARGET) { - gProtectStructs[gActiveBattler].specialBattlerId = gBattlerAttacker; - gSpecialStatuses[gActiveBattler].specialBattlerId = gBattlerAttacker; + gProtectStructs[battler].specialBattlerId = gBattlerAttacker; + gSpecialStatuses[battler].specialBattlerId = gBattlerAttacker; } else { - gProtectStructs[gActiveBattler].specialBattlerId = gBattlerTarget; - gSpecialStatuses[gActiveBattler].specialBattlerId = gBattlerTarget; + gProtectStructs[battler].specialBattlerId = gBattlerTarget; + gSpecialStatuses[battler].specialBattlerId = gBattlerTarget; } } } gHitMarker &= ~HITMARKER_PASSIVE_DAMAGE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[battler].hp), &gBattleMons[battler].hp); + MarkBattlerForControllerExec(battler); } } else { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - if (gSpecialStatuses[gActiveBattler].dmg == 0) - gSpecialStatuses[gActiveBattler].dmg = 0xFFFF; + battler = GetBattlerForBattleScript(cmd->battler); + if (gSpecialStatuses[battler].dmg == 0) + gSpecialStatuses[battler].dmg = 0xFFFF; } gBattlescriptCurrInstr = cmd->nextInstr; } @@ -2440,18 +2437,17 @@ static void Cmd_effectivenesssound(void) if (gBattleControllerExecFlags) return; - gActiveBattler = gBattlerTarget; if (!(gMoveResultFlags & MOVE_RESULT_MISSED)) { switch (gMoveResultFlags & ~MOVE_RESULT_MISSED) { case MOVE_RESULT_SUPER_EFFECTIVE: - BtlController_EmitPlaySE(BUFFER_A, SE_SUPER_EFFECTIVE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_SUPER_EFFECTIVE); + MarkBattlerForControllerExec(gBattlerTarget); break; case MOVE_RESULT_NOT_VERY_EFFECTIVE: - BtlController_EmitPlaySE(BUFFER_A, SE_NOT_EFFECTIVE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_NOT_EFFECTIVE); + MarkBattlerForControllerExec(gBattlerTarget); break; case MOVE_RESULT_DOESNT_AFFECT_FOE: case MOVE_RESULT_FAILED: @@ -2464,18 +2460,18 @@ static void Cmd_effectivenesssound(void) default: if (gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { - BtlController_EmitPlaySE(BUFFER_A, SE_SUPER_EFFECTIVE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_SUPER_EFFECTIVE); + MarkBattlerForControllerExec(gBattlerTarget); } else if (gMoveResultFlags & MOVE_RESULT_NOT_VERY_EFFECTIVE) { - BtlController_EmitPlaySE(BUFFER_A, SE_NOT_EFFECTIVE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_NOT_EFFECTIVE); + MarkBattlerForControllerExec(gBattlerTarget); } else if (!(gMoveResultFlags & (MOVE_RESULT_DOESNT_AFFECT_FOE | MOVE_RESULT_FAILED))) { - BtlController_EmitPlaySE(BUFFER_A, SE_EFFECTIVE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlaySE(gBattlerTarget, BUFFER_A, SE_EFFECTIVE); + MarkBattlerForControllerExec(gBattlerTarget); } break; } @@ -2629,10 +2625,8 @@ static void Cmd_printselectionstring(void) { CMD_ARGS(u16 id); - gActiveBattler = gBattlerAttacker; - - BtlController_EmitPrintSelectionString(BUFFER_A, cmd->id); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPrintSelectionString(gBattlerAttacker, BUFFER_A, cmd->id); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2685,9 +2679,8 @@ static void Cmd_printselectionstringfromtable(void) const u16 *ptr = cmd->ptr; ptr += gBattleCommunication[MULTISTRING_CHOOSER]; - gActiveBattler = gBattlerAttacker; - BtlController_EmitPrintSelectionString(BUFFER_A, *ptr); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPrintSelectionString(gBattlerAttacker, BUFFER_A, *ptr); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; gBattleCommunication[MSG_DISPLAY] = 1; @@ -2727,12 +2720,10 @@ void StealTargetItem(u8 battlerStealer, u8 battlerItem) CheckSetUnburden(battlerItem); gBattleResources->flags->flags[battlerStealer] &= ~RESOURCE_FLAG_UNBURDEN; - gActiveBattler = battlerStealer; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); // set attacker item + BtlController_EmitSetMonData(battlerStealer, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gLastUsedItem), &gLastUsedItem); // set attacker item MarkBattlerForControllerExec(battlerStealer); - gActiveBattler = battlerItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[battlerItem].item); // remove target item + BtlController_EmitSetMonData(battlerItem, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[battlerItem].item); // remove target item MarkBattlerForControllerExec(battlerItem); gBattleStruct->choicedMove[battlerItem] = 0; @@ -3048,9 +3039,8 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattlescriptCurrInstr = sMoveEffectBS_Ptrs[gBattleScripting.moveEffect]; - gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gEffectBattler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].status1), &gBattleMons[gEffectBattler].status1); + MarkBattlerForControllerExec(gEffectBattler); if (gHitMarker & HITMARKER_IGNORE_SAFEGUARD) { @@ -3578,9 +3568,8 @@ void SetMoveEffect(bool32 primary, u32 certain) gBattleMons[gEffectBattler].item = 0; CheckSetUnburden(gEffectBattler); - gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gEffectBattler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); + MarkBattlerForControllerExec(gEffectBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectIncinerate; } @@ -3593,10 +3582,9 @@ void SetMoveEffect(bool32 primary, u32 certain) gLastUsedItem = gBattleMons[gEffectBattler].item; gBattleMons[gEffectBattler].item = 0; CheckSetUnburden(gEffectBattler); - gActiveBattler = gEffectBattler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gEffectBattler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gEffectBattler].item), &gBattleMons[gEffectBattler].item); + MarkBattlerForControllerExec(gEffectBattler); BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectBugBite; } @@ -3841,9 +3829,8 @@ static void Cmd_tryfaintmon(void) gBattleMons[gBattlerAttacker].pp[moveIndex] = 0; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_GrudgeTakesPp; - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].pp[moveIndex]), &gBattleMons[gActiveBattler].pp[moveIndex]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, moveIndex + REQUEST_PPMOVE1_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].pp[moveIndex]), &gBattleMons[gBattlerAttacker].pp[moveIndex]); + MarkBattlerForControllerExec(gBattlerAttacker); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].moves[moveIndex]) } @@ -3861,9 +3848,9 @@ static void Cmd_dofaintanimation(void) if (gBattleControllerExecFlags == 0) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitFaintAnimation(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitFaintAnimation(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } } @@ -3874,13 +3861,13 @@ static void Cmd_cleareffectsonfaint(void) if (gBattleControllerExecFlags == 0) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); - if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[gActiveBattler].hp == 0) + if (!(gBattleTypeFlags & BATTLE_TYPE_ARENA) || gBattleMons[battler].hp == 0) { - gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMons[battler].status1 = 0; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); } FaintClearSetData(); // Effects like attractions, trapping, etc. @@ -4281,9 +4268,8 @@ static void Cmd_getexp(void) 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(BUFFER_A, gBattleStruct->expGetterMonId, gBattleMoveDamage); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitExpUpdate(gBattleStruct->expGetterBattlerId, BUFFER_A, gBattleStruct->expGetterMonId, gBattleMoveDamage); + MarkBattlerForControllerExec(gBattleStruct->expGetterBattlerId); } gBattleScripting.getexpState++; } @@ -4857,14 +4843,15 @@ static void Cmd_waitstate(void) static void Cmd_healthbar_update(void) { CMD_ARGS(u8 battler); + u32 battler; if (cmd->battler == BS_TARGET) - gActiveBattler = gBattlerTarget; + battler = gBattlerTarget; else - gActiveBattler = gBattlerAttacker; + battler = gBattlerAttacker; - BtlController_EmitHealthBarUpdate(BUFFER_A, gBattleMoveDamage); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitHealthBarUpdate(battler, BUFFER_A, gBattleMoveDamage); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -4973,21 +4960,13 @@ static void Cmd_endselectionscript(void) *(gBattlerAttacker + gBattleStruct->selectionScriptFinished) = TRUE; } -static void Cmd_playanimation(void) +static void PlayAnimation(u32 battler, u8 animId, const u16 *argPtr, const u8 *nextInstr) { - CMD_ARGS(u8 battler, u8 animId, const u16 *argPtr); - - const u16 *argPtr; - u8 animId = cmd->animId; - - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - argPtr = cmd->argPtr; - #if B_TERRAIN_BG_CHANGE == FALSE if (animId == B_ANIM_RESTORE_BG) { // workaround for .if not working - gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr = nextInstr; return; } #endif @@ -5000,13 +4979,13 @@ static void Cmd_playanimation(void) || animId == B_ANIM_SUBSTITUTE_FADE || animId == B_ANIM_PRIMAL_REVERSION) { - BtlController_EmitBattleAnimation(BUFFER_A, animId, *argPtr); - MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = cmd->nextInstr; + BtlController_EmitBattleAnimation(battler, BUFFER_A, animId, *argPtr); + MarkBattlerForControllerExec(battler); + gBattlescriptCurrInstr = nextInstr; } else if (gHitMarker & HITMARKER_NO_ANIMATIONS && animId != B_ANIM_RESTORE_BG) { - BattleScriptPush(cmd->nextInstr); + BattleScriptPush(nextInstr); gBattlescriptCurrInstr = BattleScript_Pausex20; } else if (animId == B_ANIM_RAIN_CONTINUES @@ -5015,70 +4994,37 @@ static void Cmd_playanimation(void) || animId == B_ANIM_HAIL_CONTINUES || animId == B_ANIM_SNOW_CONTINUES) { - BtlController_EmitBattleAnimation(BUFFER_A, animId, *argPtr); - MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = cmd->nextInstr; + BtlController_EmitBattleAnimation(battler, BUFFER_A, animId, *argPtr); + MarkBattlerForControllerExec(battler); + gBattlescriptCurrInstr = nextInstr; } - else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) { - gBattlescriptCurrInstr = cmd->nextInstr; + gBattlescriptCurrInstr = nextInstr; } else { - BtlController_EmitBattleAnimation(BUFFER_A, animId, *argPtr); - MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = cmd->nextInstr; + BtlController_EmitBattleAnimation(battler, BUFFER_A, animId, *argPtr); + MarkBattlerForControllerExec(battler); + gBattlescriptCurrInstr = nextInstr; } } +static void Cmd_playanimation(void) +{ + CMD_ARGS(u8 battler, u8 animId, const u16 *argPtr); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + PlayAnimation(battler, cmd->animId, cmd->argPtr, cmd->nextInstr); +} + // Same as playanimation, except it takes a pointer to some animation id, instead of taking the value directly static void Cmd_playanimation_var(void) { CMD_ARGS(u8 battler, const u8 *animIdPtr, const u16 *argPtr); - const u16 *argPtr; - const u8 *animIdPtr; - - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - animIdPtr = cmd->animIdPtr; - argPtr = cmd->argPtr; - - if (*animIdPtr == B_ANIM_STATS_CHANGE - || *animIdPtr == B_ANIM_SNATCH_MOVE - || *animIdPtr == B_ANIM_MEGA_EVOLUTION - || *animIdPtr == B_ANIM_ILLUSION_OFF - || *animIdPtr == B_ANIM_FORM_CHANGE - || *animIdPtr == B_ANIM_SUBSTITUTE_FADE - || *animIdPtr == B_ANIM_PRIMAL_REVERSION) - { - BtlController_EmitBattleAnimation(BUFFER_A, *animIdPtr, *argPtr); - MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = cmd->nextInstr; - } - else if (gHitMarker & HITMARKER_NO_ANIMATIONS) - { - gBattlescriptCurrInstr = cmd->nextInstr; - } - else if (*animIdPtr == B_ANIM_RAIN_CONTINUES - || *animIdPtr == B_ANIM_SUN_CONTINUES - || *animIdPtr == B_ANIM_SANDSTORM_CONTINUES - || *animIdPtr == B_ANIM_HAIL_CONTINUES - || *animIdPtr == B_ANIM_SNOW_CONTINUES) - { - BtlController_EmitBattleAnimation(BUFFER_A, *animIdPtr, *argPtr); - MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = cmd->nextInstr; - } - else if (gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) - { - gBattlescriptCurrInstr = cmd->nextInstr; - } - else - { - BtlController_EmitBattleAnimation(BUFFER_A, *animIdPtr, *argPtr); - MarkBattlerForControllerExec(gActiveBattler); - gBattlescriptCurrInstr = cmd->nextInstr; - } + u32 battler = GetBattlerForBattleScript(cmd->battler); + PlayAnimation(battler, *(cmd->animIdPtr), cmd->argPtr, cmd->nextInstr); } static void Cmd_setgraphicalstatchangevalues(void) @@ -5123,17 +5069,14 @@ static void Cmd_playstatchangeanimation(void) { CMD_ARGS(u8 battler, u8 stats, u8 flags); - u32 ability; u32 currStat = 0; u32 statAnimId = 0; u32 changeableStatsCount = 0; - u32 stats = 0; u32 startingStatAnimId = 0; u32 flags = cmd->flags; - - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - ability = GetBattlerAbility(gActiveBattler); - stats = cmd->stats; + u32 battler = GetBattlerForBattleScript(cmd->battler); + u32 ability = GetBattlerAbility(battler); + u32 stats = cmd->stats; // Handle Contrary and Simple if (ability == ABILITY_CONTRARY) @@ -5154,14 +5097,14 @@ static void Cmd_playstatchangeanimation(void) { if (flags & STAT_CHANGE_CANT_PREVENT) { - if (gBattleMons[gActiveBattler].statStages[currStat] > MIN_STAT_STAGE) + if (gBattleMons[battler].statStages[currStat] > MIN_STAT_STAGE) { statAnimId = startingStatAnimId + currStat; changeableStatsCount++; } } - else if (!gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer - && GetBattlerHoldEffect(gActiveBattler, TRUE) != HOLD_EFFECT_CLEAR_AMULET + else if (!gSideTimers[GET_BATTLER_SIDE(battler)].mistTimer + && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_CLEAR_AMULET && ability != ABILITY_CLEAR_BODY && ability != ABILITY_FULL_METAL_BODY && ability != ABILITY_WHITE_SMOKE @@ -5169,7 +5112,7 @@ static void Cmd_playstatchangeanimation(void) && !(ability == ABILITY_HYPER_CUTTER && currStat == STAT_ATK) && !(ability == ABILITY_BIG_PECKS && currStat == STAT_DEF)) { - if (gBattleMons[gActiveBattler].statStages[currStat] > MIN_STAT_STAGE) + if (gBattleMons[battler].statStages[currStat] > MIN_STAT_STAGE) { statAnimId = startingStatAnimId + currStat; changeableStatsCount++; @@ -5196,7 +5139,7 @@ static void Cmd_playstatchangeanimation(void) while (stats != 0) { - if (stats & 1 && gBattleMons[gActiveBattler].statStages[currStat] < MAX_STAT_STAGE) + if (stats & 1 && gBattleMons[battler].statStages[currStat] < MAX_STAT_STAGE) { statAnimId = startingStatAnimId + currStat; changeableStatsCount++; @@ -5219,8 +5162,8 @@ static void Cmd_playstatchangeanimation(void) } else if (changeableStatsCount != 0 && !gBattleScripting.statAnimPlayed) { - BtlController_EmitBattleAnimation(BUFFER_A, B_ANIM_STATS_CHANGE, statAnimId); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitBattleAnimation(battler, BUFFER_A, B_ANIM_STATS_CHANGE, statAnimId); + MarkBattlerForControllerExec(battler); if (flags & STAT_CHANGE_MULTIPLE_STATS && changeableStatsCount > 1) gBattleScripting.statAnimPlayed = TRUE; gBattlescriptCurrInstr = cmd->nextInstr; @@ -5384,9 +5327,8 @@ static void Cmd_moveend(void) { gProtectStructs[gBattlerAttacker].touchedProtectLike = FALSE; gBattleMons[gBattlerAttacker].status1 = STATUS1_BURN; - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].status1), &gBattleMons[gBattlerAttacker].status1); + MarkBattlerForControllerExec(gBattlerAttacker); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BeakBlastBurn; effect = 1; @@ -5423,9 +5365,8 @@ static void Cmd_moveend(void) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FREEZE; - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_DefrostedViaFireMove; effect = TRUE; @@ -5437,9 +5378,8 @@ static void Cmd_moveend(void) && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) { gBattleMons[gBattlerTarget].status1 &= ~STATUS1_FROSTBITE; - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gBattlerTarget); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_FrostbiteHealedViaFireMove; effect = TRUE; @@ -5579,9 +5519,8 @@ static void Cmd_moveend(void) { gBattleMons[gBattlerTarget].status1 &= ~(gBattleMoves[gCurrentMove].argument); - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerTarget, 0, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gBattlerTarget); effect = TRUE; BattleScriptPush(gBattlescriptCurrInstr); switch (gBattleMoves[gCurrentMove].argument) @@ -5619,9 +5558,8 @@ static void Cmd_moveend(void) if (gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE) && gHitMarker & HITMARKER_NO_ANIMATIONS) { - gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BUFFER_A, TRUE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSpriteInvisibility(gBattlerAttacker, BUFFER_A, TRUE); + MarkBattlerForControllerExec(gBattlerAttacker); gBattleScripting.moveendState++; return; } @@ -5632,9 +5570,8 @@ static void Cmd_moveend(void) || !(gStatuses3[gBattlerAttacker] & (STATUS3_SEMI_INVULNERABLE)) || WasUnableToUseMove(gBattlerAttacker)) { - gActiveBattler = gBattlerAttacker; - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSpriteInvisibility(gBattlerAttacker, BUFFER_A, FALSE); + MarkBattlerForControllerExec(gBattlerAttacker); gStatuses3[gBattlerAttacker] &= ~STATUS3_SEMI_INVULNERABLE; gSpecialStatuses[gBattlerAttacker].restoredBattlerSprite = TRUE; gBattleScripting.moveendState++; @@ -5646,9 +5583,8 @@ static void Cmd_moveend(void) if (!gSpecialStatuses[gBattlerTarget].restoredBattlerSprite && gBattlerTarget < gBattlersCount && !(gStatuses3[gBattlerTarget] & STATUS3_SEMI_INVULNERABLE)) { - gActiveBattler = gBattlerTarget; - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSpriteInvisibility(gBattlerTarget, BUFFER_A, FALSE); + MarkBattlerForControllerExec(gBattlerTarget); gStatuses3[gBattlerTarget] &= ~STATUS3_SEMI_INVULNERABLE; gBattleScripting.moveendState++; return; @@ -6204,11 +6140,10 @@ static void Cmd_returnatktoball(void) { CMD_ARGS(); - gActiveBattler = gBattlerAttacker; - if (!(gHitMarker & HITMARKER_FAINTED(gActiveBattler))) + if (!(gHitMarker & HITMARKER_FAINTED(gBattlerAttacker))) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitReturnMonToBall(gBattlerAttacker, BUFFER_A, FALSE); + MarkBattlerForControllerExec(gBattlerAttacker); } gBattlescriptCurrInstr = cmd->nextInstr; } @@ -6217,15 +6152,14 @@ static void Cmd_getswitchedmondata(void) { CMD_ARGS(u8 battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + gBattlerPartyIndexes[battler] = gBattleStruct->monToSwitchIntoId[battler]; - gBattlerPartyIndexes[gActiveBattler] = *(gBattleStruct->monToSwitchIntoId + gActiveBattler); - - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, gBitTable[gBattlerPartyIndexes[battler]]); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -6235,78 +6169,80 @@ static void Cmd_switchindataupdate(void) CMD_ARGS(u8 battler); struct BattlePokemon oldData; - s32 i; + u32 battler, i; u8 *monData; if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - oldData = gBattleMons[gActiveBattler]; - monData = (u8 *)(&gBattleMons[gActiveBattler]); + battler = GetBattlerForBattleScript(cmd->battler); + oldData = gBattleMons[battler]; + monData = (u8 *)(&gBattleMons[battler]); for (i = 0; i < sizeof(struct BattlePokemon); i++) - monData[i] = gBattleResources->bufferB[gActiveBattler][4 + i]; + monData[i] = gBattleResources->bufferB[battler][4 + i]; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; - gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; - gBattleMons[gActiveBattler].ability = GetAbilityBySpecies(gBattleMons[gActiveBattler].species, gBattleMons[gActiveBattler].abilityNum); + gBattleMons[battler].type1 = gSpeciesInfo[gBattleMons[battler].species].types[0]; + gBattleMons[battler].type2 = gSpeciesInfo[gBattleMons[battler].species].types[1]; + gBattleMons[battler].type3 = TYPE_MYSTERY; + gBattleMons[battler].ability = GetAbilityBySpecies(gBattleMons[battler].species, gBattleMons[battler].abilityNum); // check knocked off item - i = GetBattlerSide(gActiveBattler); - if (gWishFutureKnock.knockedOffMons[i] & gBitTable[gBattlerPartyIndexes[gActiveBattler]]) + i = GetBattlerSide(battler); + if (gWishFutureKnock.knockedOffMons[i] & gBitTable[gBattlerPartyIndexes[battler]]) { - gBattleMons[gActiveBattler].item = ITEM_NONE; + gBattleMons[battler].item = ITEM_NONE; } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { for (i = 0; i < NUM_BATTLE_STATS; i++) { - gBattleMons[gActiveBattler].statStages[i] = oldData.statStages[i]; + gBattleMons[battler].statStages[i] = oldData.statStages[i]; } - gBattleMons[gActiveBattler].status2 = oldData.status2; + gBattleMons[battler].status2 = oldData.status2; } SwitchInClearSetData(); if (gBattleTypeFlags & BATTLE_TYPE_PALACE - && gBattleMons[gActiveBattler].maxHP / 2 >= gBattleMons[gActiveBattler].hp - && gBattleMons[gActiveBattler].hp != 0 - && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)) + && gBattleMons[battler].maxHP / 2 >= gBattleMons[battler].hp + && gBattleMons[battler].hp != 0 + && !(gBattleMons[battler].status1 & STATUS1_SLEEP)) { - gBattleStruct->palaceFlags |= gBitTable[gActiveBattler]; + gBattleStruct->palaceFlags |= gBitTable[battler]; } - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; - PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]); + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]); gBattlescriptCurrInstr = cmd->nextInstr; } static void Cmd_switchinanim(void) { + u32 battler; + CMD_ARGS(u8 battler, bool8 dontClearSubstitute); if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + battler = GetBattlerForBattleScript(cmd->battler); - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT + if (GetBattlerSide(battler) == B_SIDE_OPPONENT && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_TRAINER_HILL | BATTLE_TYPE_FRONTIER))) - HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBattler].species), FLAG_SET_SEEN, gBattleMons[gActiveBattler].personality); + HandleSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[battler].species), FLAG_SET_SEEN, gBattleMons[battler].personality); - gAbsentBattlerFlags &= ~(gBitTable[gActiveBattler]); + gAbsentBattlerFlags &= ~(gBitTable[battler]); - BtlController_EmitSwitchInAnim(BUFFER_A, gBattlerPartyIndexes[gActiveBattler], cmd->dontClearSubstitute); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSwitchInAnim(battler, BUFFER_A, gBattlerPartyIndexes[battler], cmd->dontClearSubstitute); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; @@ -6479,54 +6415,50 @@ static void Cmd_jumpifcantswitch(void) // Opens the party screen to choose a new Pokémon to send out. // slotId is the Pokémon to replace. // Note that this is not used by the Switch action, only replacing fainted Pokémon or Baton Pass -static void ChooseMonToSendOut(u8 slotId) +static void ChooseMonToSendOut(u32 battler, u8 slotId) { - *(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); + gBattleStruct->battlerPartyIndexes[battler] = gBattlerPartyIndexes[battler]; + gBattleStruct->monToSwitchIntoId[battler] = PARTY_SIZE; + gBattleStruct->field_93 &= ~(gBitTable[battler]); - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_SEND_OUT, slotId, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + MarkBattlerForControllerExec(battler); } static void Cmd_openpartyscreen(void) { CMD_ARGS(u8 battler:7, u8 partyScreenOptional:1, const u8 *failInstr); - u32 flags; - u8 hitmarkerFaintBits; - u8 battlerId; - const u8 *failInstr; - - battlerId = 0; - flags = 0; - failInstr = cmd->failInstr; + u32 flags = 0; + u8 hitmarkerFaintBits = 0; + u32 i, battler = 0; + const u8 *failInstr = cmd->failInstr; if (cmd->battler == BS_FAINTED_LINK_MULTIPLE_1) { if ((gBattleTypeFlags & BATTLE_TYPE_MULTI) || !(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) + if (gHitMarker & HITMARKER_FAINTED(battler)) { - if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE)) + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(PARTY_SIZE); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, PARTY_SIZE); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); } } } @@ -6538,88 +6470,88 @@ static void Cmd_openpartyscreen(void) if (gBitTable[0] & hitmarkerFaintBits) { - gActiveBattler = 0; - if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE)) + battler = 0; + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[2]); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[2]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); flags |= 1; } } if (gBitTable[2] & hitmarkerFaintBits && !(gBitTable[0] & hitmarkerFaintBits)) { - gActiveBattler = 2; - if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE)) + battler = 2; + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[0]); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[0]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } else if (!(flags & 1)) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); } } if (gBitTable[1] & hitmarkerFaintBits) { - gActiveBattler = 1; - if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE)) + battler = 1; + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[3]); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[3]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } else { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); flags |= 2; } } if (gBitTable[3] & hitmarkerFaintBits && !(gBitTable[1] & hitmarkerFaintBits)) { - gActiveBattler = 3; - if (HasNoMonsToSwitch(gActiveBattler, PARTY_SIZE, PARTY_SIZE)) + battler = 3; + if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[1]); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[1]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } else if (!(flags & 2)) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); } } @@ -6630,12 +6562,12 @@ static void Cmd_openpartyscreen(void) if (!hasReplacement_2 && hitmarkerFaintBits != 0) { if (gAbsentBattlerFlags & gBitTable[0]) - gActiveBattler = 2; + battler = 2; else - gActiveBattler = 0; + battler = 0; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); } } @@ -6646,12 +6578,12 @@ static void Cmd_openpartyscreen(void) if (!hasReplacement_3 && hitmarkerFaintBits != 0) { if (gAbsentBattlerFlags & gBitTable[1]) - gActiveBattler = 3; + battler = 3; else - gActiveBattler = 1; + battler = 1; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battler); } } } @@ -6666,34 +6598,34 @@ static void Cmd_openpartyscreen(void) hitmarkerFaintBits = gHitMarker >> 28; if (gBitTable[2] & hitmarkerFaintBits && gBitTable[0] & hitmarkerFaintBits) { - gActiveBattler = 2; - if (HasNoMonsToSwitch(gActiveBattler, gBattleResources->bufferB[0][1], PARTY_SIZE)) + battler = 2; + if (HasNoMonsToSwitch(battler, gBattleResources->bufferB[0][1], PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[0]); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[0]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } } if (gBitTable[3] & hitmarkerFaintBits && hitmarkerFaintBits & gBitTable[1]) { - gActiveBattler = 3; - if (HasNoMonsToSwitch(gActiveBattler, gBattleResources->bufferB[1][1], PARTY_SIZE)) + battler = 3; + if (HasNoMonsToSwitch(battler, gBattleResources->bufferB[1][1], PARTY_SIZE)) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - BtlController_EmitCantSwitch(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); + BtlController_EmitCantSwitch(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); } - else if (!gSpecialStatuses[gActiveBattler].faintedHasReplacement) + else if (!gSpecialStatuses[battler].faintedHasReplacement) { - ChooseMonToSendOut(gBattleStruct->monToSwitchIntoId[1]); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = TRUE; + ChooseMonToSendOut(battler, gBattleStruct->monToSwitchIntoId[1]); + gSpecialStatuses[battler].faintedHasReplacement = TRUE; } } gBattlescriptCurrInstr = cmd->nextInstr; @@ -6727,52 +6659,50 @@ static void Cmd_openpartyscreen(void) else hitmarkerFaintBits = PARTY_ACTION_SEND_OUT; - battlerId = GetBattlerForBattleScript(cmd->battler); - if (gSpecialStatuses[battlerId].faintedHasReplacement) + battler = GetBattlerForBattleScript(cmd->battler); + if (gSpecialStatuses[battler].faintedHasReplacement) { gBattlescriptCurrInstr = cmd->nextInstr; } - else if (HasNoMonsToSwitch(battlerId, PARTY_SIZE, PARTY_SIZE)) + else if (HasNoMonsToSwitch(battler, PARTY_SIZE, PARTY_SIZE)) { - gActiveBattler = battlerId; - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker &= ~HITMARKER_FAINTED(battler); gBattlescriptCurrInstr = failInstr; } else { - gActiveBattler = battlerId; - *(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; - gBattleStruct->field_93 &= ~(gBitTable[gActiveBattler]); + *(gBattleStruct->battlerPartyIndexes + battler) = gBattlerPartyIndexes[battler]; + *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; + gBattleStruct->field_93 &= ~(gBitTable[battler]); - BtlController_EmitChoosePokemon(BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(gActiveBattler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitChoosePokemon(battler, BUFFER_A, hitmarkerFaintBits, *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(battler)), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; - if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_LEFT && gBattleResults.playerSwitchesCounter < 255) + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT && gBattleResults.playerSwitchesCounter < 255) gBattleResults.playerSwitchesCounter++; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (i = 0; i < gBattlersCount; i++) { - if (gActiveBattler != battlerId) + if (i != battler) { - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(i, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(i); } } } else { - gActiveBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battlerId))); - if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) - gActiveBattler ^= BIT_FLANK; + u32 battlerOpposite = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); + if (gAbsentBattlerFlags & gBitTable[battlerOpposite]) + battlerOpposite ^= BIT_FLANK; - BtlController_EmitLinkStandbyMsg(BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitLinkStandbyMsg(battlerOpposite, BUFFER_A, LINK_STANDBY_MSG_ONLY, FALSE); + MarkBattlerForControllerExec(battlerOpposite); } } } @@ -6782,11 +6712,11 @@ static void Cmd_switchhandleorder(void) { CMD_ARGS(u8 battler, u8 state); - s32 i; + u32 battler, i; if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + battler = GetBattlerForBattleScript(cmd->battler); switch (cmd->state) { @@ -6806,40 +6736,40 @@ static void Cmd_switchhandleorder(void) break; case 1: if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - SwitchPartyOrder(gActiveBattler); + SwitchPartyOrder(battler); break; case 2: - if (!(gBattleStruct->field_93 & gBitTable[gActiveBattler])) + if (!(gBattleStruct->field_93 & gBitTable[battler])) { - RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][1]); - gBattleStruct->field_93 |= gBitTable[gActiveBattler]; + RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][1]); + gBattleStruct->field_93 |= gBitTable[battler]; } // fall through case 3: - gBattleCommunication[0] = gBattleResources->bufferB[gActiveBattler][1]; - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][1]; + gBattleCommunication[0] = gBattleResources->bufferB[battler][1]; + *(gBattleStruct->monToSwitchIntoId + battler) = gBattleResources->bufferB[battler][1]; if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) { - *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; - *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[gActiveBattler][2] & 0xF0); - *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 1) = gBattleResources->bufferB[gActiveBattler][3]; + *(battler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; + *(battler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[battler][2] & 0xF0); + *(battler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 1) = gBattleResources->bufferB[battler][3]; - *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); - *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[gActiveBattler][2] & 0xF0) >> 4; - *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 2) = gBattleResources->bufferB[gActiveBattler][3]; + *((BATTLE_PARTNER(battler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); + *((BATTLE_PARTNER(battler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[battler][2] & 0xF0) >> 4; + *((BATTLE_PARTNER(battler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 2) = gBattleResources->bufferB[battler][3]; } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - SwitchPartyOrderInGameMulti(gActiveBattler, *(gBattleStruct->monToSwitchIntoId + gActiveBattler)); + SwitchPartyOrderInGameMulti(battler, *(gBattleStruct->monToSwitchIntoId + battler)); } else { - SwitchPartyOrder(gActiveBattler); + SwitchPartyOrder(battler); } PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species) - PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, gActiveBattler, gBattleResources->bufferB[gActiveBattler][1]) + PREPARE_MON_NICK_BUFFER(gBattleTextBuff2, battler, gBattleResources->bufferB[battler][1]) break; } @@ -6897,119 +6827,119 @@ static void Cmd_switchineffects(void) CMD_ARGS(u8 battler); s32 i; + u32 battler = GetBattlerForBattleScript(cmd->battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - UpdateSentPokesToOpponentValue(gActiveBattler); + UpdateSentPokesToOpponentValue(battler); - gHitMarker &= ~HITMARKER_FAINTED(gActiveBattler); - gSpecialStatuses[gActiveBattler].faintedHasReplacement = FALSE; + gHitMarker &= ~HITMARKER_FAINTED(battler); + gSpecialStatuses[battler].faintedHasReplacement = FALSE; - if (!BattlerHasAi(gActiveBattler)) - gBattleStruct->appearedInBattle |= gBitTable[gBattlerPartyIndexes[gActiveBattler]]; + if (!BattlerHasAi(battler)) + gBattleStruct->appearedInBattle |= gBitTable[gBattlerPartyIndexes[battler]]; // Neutralizing Gas announces itself before hazards - if (gBattleMons[gActiveBattler].ability == ABILITY_NEUTRALIZING_GAS && gSpecialStatuses[gActiveBattler].announceNeutralizingGas == 0) + if (gBattleMons[battler].ability == ABILITY_NEUTRALIZING_GAS && gSpecialStatuses[battler].announceNeutralizingGas == 0) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SWITCHIN_NEUTRALIZING_GAS; - gSpecialStatuses[gActiveBattler].announceNeutralizingGas = TRUE; - gBattlerAbility = gActiveBattler; + gSpecialStatuses[battler].announceNeutralizingGas = TRUE; + gBattlerAbility = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SwitchInAbilityMsgRet; } // Healing Wish activates before hazards. // Starting from Gen8 - it heals only pokemon which can be healed. In gens 5,6,7 the effect activates anyways. - else if (((gBattleStruct->storedHealingWish & gBitTable[gActiveBattler]) || (gBattleStruct->storedLunarDance & gBitTable[gActiveBattler])) - && (gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP || gBattleMons[gActiveBattler].status1 != 0 || B_HEALING_WISH_SWITCH < GEN_8)) + else if (((gBattleStruct->storedHealingWish & gBitTable[battler]) || (gBattleStruct->storedLunarDance & gBitTable[battler])) + && (gBattleMons[battler].hp != gBattleMons[battler].maxHP || gBattleMons[battler].status1 != 0 || B_HEALING_WISH_SWITCH < GEN_8)) { - if (gBattleStruct->storedHealingWish & gBitTable[gActiveBattler]) + if (gBattleStruct->storedHealingWish & gBitTable[battler]) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_HealingWishActivates; - gBattleStruct->storedHealingWish &= ~(gBitTable[gActiveBattler]); + gBattleStruct->storedHealingWish &= ~(gBitTable[battler]); } else // Lunar Dance { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_LunarDanceActivates; - gBattleStruct->storedLunarDance &= ~(gBitTable[gActiveBattler]); + gBattleStruct->storedLunarDance &= ~(gBitTable[battler]); } } - else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES_DAMAGED) - && (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SPIKES) - && GetBattlerAbility(gActiveBattler) != ABILITY_MAGIC_GUARD - && IsBattlerAffectedByHazards(gActiveBattler, FALSE) - && IsBattlerGrounded(gActiveBattler)) + else if (!(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SPIKES_DAMAGED) + && (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SPIKES) + && GetBattlerAbility(battler) != ABILITY_MAGIC_GUARD + && IsBattlerAffectedByHazards(battler, FALSE) + && IsBattlerGrounded(battler)) { - u8 spikesDmg = (5 - gSideTimers[GetBattlerSide(gActiveBattler)].spikesAmount) * 2; - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / (spikesDmg); + u8 spikesDmg = (5 - gSideTimers[GetBattlerSide(battler)].spikesAmount) * 2; + gBattleMoveDamage = gBattleMons[battler].maxHP / (spikesDmg); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_SPIKES_DAMAGED; - SetDmgHazardsBattlescript(gActiveBattler, B_MSG_PKMNHURTBYSPIKES); + gSideStatuses[GetBattlerSide(battler)] |= SIDE_STATUS_SPIKES_DAMAGED; + SetDmgHazardsBattlescript(battler, B_MSG_PKMNHURTBYSPIKES); } - else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK_DAMAGED) - && (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STEALTH_ROCK) - && IsBattlerAffectedByHazards(gActiveBattler, FALSE) - && GetBattlerAbility(gActiveBattler) != ABILITY_MAGIC_GUARD) + else if (!(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_STEALTH_ROCK_DAMAGED) + && (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_STEALTH_ROCK) + && IsBattlerAffectedByHazards(battler, FALSE) + && GetBattlerAbility(battler) != ABILITY_MAGIC_GUARD) { - gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_STEALTH_ROCK_DAMAGED; - gBattleMoveDamage = GetStealthHazardDamage(gBattleMoves[MOVE_STEALTH_ROCK].type, gActiveBattler); + gSideStatuses[GetBattlerSide(battler)] |= SIDE_STATUS_STEALTH_ROCK_DAMAGED; + gBattleMoveDamage = GetStealthHazardDamage(gBattleMoves[MOVE_STEALTH_ROCK].type, battler); if (gBattleMoveDamage != 0) - SetDmgHazardsBattlescript(gActiveBattler, B_MSG_STEALTHROCKDMG); + SetDmgHazardsBattlescript(battler, B_MSG_STEALTHROCKDMG); } - else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_TOXIC_SPIKES_DAMAGED) - && (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_TOXIC_SPIKES) - && IsBattlerGrounded(gActiveBattler)) + else if (!(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_TOXIC_SPIKES_DAMAGED) + && (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_TOXIC_SPIKES) + && IsBattlerGrounded(battler)) { - gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_TOXIC_SPIKES_DAMAGED; - if (IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_POISON)) // Absorb the toxic spikes. + gSideStatuses[GetBattlerSide(battler)] |= SIDE_STATUS_TOXIC_SPIKES_DAMAGED; + if (IS_BATTLER_OF_TYPE(battler, TYPE_POISON)) // Absorb the toxic spikes. { - gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~SIDE_STATUS_TOXIC_SPIKES; - gSideTimers[GetBattlerSide(gActiveBattler)].toxicSpikesAmount = 0; - gBattleScripting.battler = gActiveBattler; + gSideStatuses[GetBattlerSide(battler)] &= ~SIDE_STATUS_TOXIC_SPIKES; + gSideTimers[GetBattlerSide(battler)].toxicSpikesAmount = 0; + gBattleScripting.battler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ToxicSpikesAbsorbed; } - else if (IsBattlerAffectedByHazards(gActiveBattler, TRUE)) + else if (IsBattlerAffectedByHazards(battler, TRUE)) { - if (!(gBattleMons[gActiveBattler].status1 & STATUS1_ANY) - && !IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL) - && GetBattlerAbility(gActiveBattler) != ABILITY_IMMUNITY - && !IsAbilityOnSide(gActiveBattler, ABILITY_PASTEL_VEIL) - && !(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SAFEGUARD) + if (!(gBattleMons[battler].status1 & STATUS1_ANY) + && !IS_BATTLER_OF_TYPE(battler, TYPE_STEEL) + && GetBattlerAbility(battler) != ABILITY_IMMUNITY + && !IsAbilityOnSide(battler, ABILITY_PASTEL_VEIL) + && !(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD) && !(gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN)) { - if (gSideTimers[GetBattlerSide(gActiveBattler)].toxicSpikesAmount >= 2) - gBattleMons[gActiveBattler].status1 |= STATUS1_TOXIC_POISON; + if (gSideTimers[GetBattlerSide(battler)].toxicSpikesAmount >= 2) + gBattleMons[battler].status1 |= STATUS1_TOXIC_POISON; else - gBattleMons[gActiveBattler].status1 |= STATUS1_POISON; + gBattleMons[battler].status1 |= STATUS1_POISON; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); - gBattleScripting.battler = gActiveBattler; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); + gBattleScripting.battler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ToxicSpikesPoisoned; } } } - else if (!(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STICKY_WEB_DAMAGED) - && (gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_STICKY_WEB) - && IsBattlerAffectedByHazards(gActiveBattler, FALSE) - && IsBattlerGrounded(gActiveBattler)) + else if (!(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_STICKY_WEB_DAMAGED) + && (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_STICKY_WEB) + && IsBattlerAffectedByHazards(battler, FALSE) + && IsBattlerGrounded(battler)) { - gSideStatuses[GetBattlerSide(gActiveBattler)] |= SIDE_STATUS_STICKY_WEB_DAMAGED; - gBattleScripting.battler = gActiveBattler; + gSideStatuses[GetBattlerSide(battler)] |= SIDE_STATUS_STICKY_WEB_DAMAGED; + gBattleScripting.battler = battler; SET_STATCHANGER(STAT_SPEED, 1, TRUE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_StickyWebOnSwitchIn; } - else if (gBattleMons[gActiveBattler].hp != gBattleMons[gActiveBattler].maxHP && gBattleStruct->zmove.healReplacement) + else if (gBattleMons[battler].hp != gBattleMons[battler].maxHP && gBattleStruct->zmove.healReplacement) { gBattleStruct->zmove.healReplacement = FALSE; - gBattleMoveDamage = -1 * (gBattleMons[gActiveBattler].maxHP); - gBattleScripting.battler = gActiveBattler; + gBattleMoveDamage = -1 * (gBattleMons[battler].maxHP); + gBattleScripting.battler = battler; BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_Z_HP_TRAP; gBattlescriptCurrInstr = BattleScript_HealReplacementZMove; @@ -7019,30 +6949,30 @@ static void Cmd_switchineffects(void) { // There is a hack here to ensure the truant counter will be 0 when the battler's next turn starts. // The truant counter is not updated in the case where a mon switches in after a lost judgment in the battle arena. - if (GetBattlerAbility(gActiveBattler) == ABILITY_TRUANT + if (GetBattlerAbility(battler) == ABILITY_TRUANT && gCurrentActionFuncId != B_ACTION_USE_MOVE - && !gDisableStructs[gActiveBattler].truantSwitchInHack) - gDisableStructs[gActiveBattler].truantCounter = 1; + && !gDisableStructs[battler].truantSwitchInHack) + gDisableStructs[battler].truantCounter = 1; - gDisableStructs[gActiveBattler].truantSwitchInHack = 0; + gDisableStructs[battler].truantSwitchInHack = 0; // Don't activate switch-in abilities if the opposing field is empty. // This could happen when a mon uses explosion and causes everyone to faint. - if (ShouldPostponeSwitchInAbilities(gActiveBattler) || gBattleStruct->switchInAbilityPostponed) + if (ShouldPostponeSwitchInAbilities(battler) || gBattleStruct->switchInAbilityPostponed) { - gBattleStruct->switchInAbilityPostponed |= gBitTable[gActiveBattler]; + gBattleStruct->switchInAbilityPostponed |= gBitTable[battler]; } else { - if (DoSwitchInAbilitiesItems(gActiveBattler)) + if (DoSwitchInAbilitiesItems(battler)) return; } - gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED); + gSideStatuses[GetBattlerSide(battler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED); for (i = 0; i < gBattlersCount; i++) { - if (gBattlerByTurnOrder[i] == gActiveBattler) + if (gBattlerByTurnOrder[i] == battler) gActionsByTurnOrder[i] = B_ACTION_CANCEL_PARTNER; gBattleStruct->hpOnSwitchout[GetBattlerSide(i)] = gBattleMons[i].hp; @@ -7062,7 +6992,7 @@ static void Cmd_switchineffects(void) gBattlerFainted++; } } - gBattleStruct->forcedSwitch &= ~(gBitTable[gActiveBattler]); + gBattleStruct->forcedSwitch &= ~(gBitTable[battler]); gBattlescriptCurrInstr = cmd->nextInstr; } } @@ -7071,9 +7001,9 @@ static void Cmd_trainerslidein(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerAtPosition(cmd->battler); - BtlController_EmitTrainerSlide(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerAtPosition(cmd->battler); + BtlController_EmitTrainerSlide(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7082,9 +7012,8 @@ static void Cmd_playse(void) { CMD_ARGS(u16 song); - gActiveBattler = gBattlerAttacker; - BtlController_EmitPlaySE(BUFFER_A, cmd->song); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlaySE(gBattlerAttacker, BUFFER_A, cmd->song); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7093,9 +7022,8 @@ static void Cmd_fanfare(void) { CMD_ARGS(u16 song); - gActiveBattler = gBattlerAttacker; - BtlController_EmitPlayFanfareOrBGM(BUFFER_A, cmd->song, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlayFanfareOrBGM(gBattlerAttacker, BUFFER_A, cmd->song, FALSE); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7104,9 +7032,9 @@ static void Cmd_playfaintcry(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitFaintingCry(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitFaintingCry(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7115,9 +7043,9 @@ static void Cmd_endlinkbattle(void) { CMD_ARGS(); - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - BtlController_EmitEndLinkBattle(BUFFER_A, gBattleOutcome); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + BtlController_EmitEndLinkBattle(battler, BUFFER_A, gBattleOutcome); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7126,9 +7054,9 @@ static void Cmd_returntoball(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitReturnMonToBall(BUFFER_A, TRUE); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitReturnMonToBall(battler, BUFFER_A, TRUE); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7346,16 +7274,15 @@ static void Cmd_hitanimation(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - + u32 battler = GetBattlerForBattleScript(cmd->battler); if (gMoveResultFlags & MOVE_RESULT_NO_EFFECT) { gBattlescriptCurrInstr = cmd->nextInstr; } - else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(DoesSubstituteBlockMove(gBattlerAttacker, gActiveBattler, gCurrentMove)) || gDisableStructs[gActiveBattler].substituteHP == 0) + else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove)) || gDisableStructs[battler].substituteHP == 0) { - BtlController_EmitHitAnimation(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitHitAnimation(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -7440,24 +7367,24 @@ static void Cmd_updatebattlermoves(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); switch (gBattleCommunication[0]) { case 0: - BtlController_EmitGetMonData(BUFFER_A, REQUEST_ALL_BATTLE, 0); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitGetMonData(battler, BUFFER_A, REQUEST_ALL_BATTLE, 0); + MarkBattlerForControllerExec(battler); gBattleCommunication[0]++; break; case 1: if (gBattleControllerExecFlags == 0) { s32 i; - struct BattlePokemon *bufferPoke = (struct BattlePokemon *) &gBattleResources->bufferB[gActiveBattler][4]; + struct BattlePokemon *bufferPoke = (struct BattlePokemon *) &gBattleResources->bufferB[battler][4]; for (i = 0; i < MAX_MON_MOVES; i++) { - gBattleMons[gActiveBattler].moves[i] = bufferPoke->moves[i]; - gBattleMons[gActiveBattler].pp[i] = bufferPoke->pp[i]; + gBattleMons[battler].moves[i] = bufferPoke->moves[i]; + gBattleMons[battler].pp[i] = bufferPoke->pp[i]; } gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7495,16 +7422,15 @@ static void Cmd_drawpartystatussummary(void) { CMD_ARGS(u8 battler); - s32 i; + u32 battler, i; struct Pokemon *party; struct HpAndStatus hpStatuses[PARTY_SIZE]; if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - - party = GetBattlerParty(gActiveBattler); + battler = GetBattlerForBattleScript(cmd->battler); + party = GetBattlerParty(battler); for (i = 0; i < PARTY_SIZE; i++) { @@ -7521,8 +7447,8 @@ static void Cmd_drawpartystatussummary(void) } } - BtlController_EmitDrawPartyStatusSummary(BUFFER_A, hpStatuses, 1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitDrawPartyStatusSummary(battler, BUFFER_A, hpStatuses, 1); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7531,9 +7457,9 @@ static void Cmd_hidepartystatussummary(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitHidePartyStatusSummary(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitHidePartyStatusSummary(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7556,13 +7482,13 @@ static void Cmd_statusanimation(void) if (gBattleControllerExecFlags == 0) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) - && gDisableStructs[gActiveBattler].substituteHP == 0 + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (!(gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) + && gDisableStructs[battler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, FALSE, gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitStatusAnimation(battler, BUFFER_A, FALSE, gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); } gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7572,18 +7498,16 @@ static void Cmd_status2animation(void) { CMD_ARGS(u8 battler, u32 status2); - u32 wantedToAnimate; - if (gBattleControllerExecFlags == 0) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - wantedToAnimate = cmd->status2; - if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) - && gDisableStructs[gActiveBattler].substituteHP == 0 + u32 battler = GetBattlerForBattleScript(cmd->battler); + u32 status2ToAnim = cmd->status2; + if (!(gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) + && gDisableStructs[battler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, TRUE, gBattleMons[gActiveBattler].status2 & wantedToAnimate); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitStatusAnimation(battler, BUFFER_A, TRUE, gBattleMons[battler].status2 & status2ToAnim); + MarkBattlerForControllerExec(battler); } gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7593,18 +7517,16 @@ static void Cmd_chosenstatusanimation(void) { CMD_ARGS(u8 battler, bool8 isStatus2, u32 status); - u32 wantedStatus; - if (gBattleControllerExecFlags == 0) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - wantedStatus = cmd->status; - if (!(gStatuses3[gActiveBattler] & STATUS3_SEMI_INVULNERABLE) - && gDisableStructs[gActiveBattler].substituteHP == 0 + u32 battler = GetBattlerForBattleScript(cmd->battler); + u32 wantedStatus = cmd->status; + if (!(gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) + && gDisableStructs[battler].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS)) { - BtlController_EmitStatusAnimation(BUFFER_A, cmd->isStatus2, wantedStatus); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitStatusAnimation(battler, BUFFER_A, cmd->isStatus2, wantedStatus); + MarkBattlerForControllerExec(battler); } gBattlescriptCurrInstr = cmd->nextInstr; } @@ -7708,15 +7630,13 @@ static void BestowItem(u32 battlerAtk, u32 battlerDef) { gLastUsedItem = gBattleMons[battlerAtk].item; - gActiveBattler = battlerAtk; gBattleMons[battlerAtk].item = ITEM_NONE; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerAtk].item), &gBattleMons[battlerAtk].item); + BtlController_EmitSetMonData(battlerAtk, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerAtk].item), &gBattleMons[battlerAtk].item); MarkBattlerForControllerExec(battlerAtk); CheckSetUnburden(battlerAtk); - gActiveBattler = battlerDef; gBattleMons[battlerDef].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); + BtlController_EmitSetMonData(battlerDef, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battlerDef].item), &gBattleMons[battlerDef].item); MarkBattlerForControllerExec(battlerDef); gBattleResources->flags->flags[battlerDef] &= ~RESOURCE_FLAG_UNBURDEN; } @@ -7750,6 +7670,7 @@ static void Cmd_removeitem(void) { CMD_ARGS(u8 battler); + u32 battler; u16 itemId = 0; if (gBattleScripting.overrideBerryRequirements) @@ -7759,23 +7680,23 @@ static void Cmd_removeitem(void) return; } - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - itemId = gBattleMons[gActiveBattler].item; + battler = GetBattlerForBattleScript(cmd->battler); + itemId = gBattleMons[battler].item; // Popped Air Balloon cannot be restored by any means. // Corroded items cannot be restored either. - if (GetBattlerHoldEffect(gActiveBattler, TRUE) != HOLD_EFFECT_AIR_BALLOON + if (GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_AIR_BALLOON && gBattleMoves[gCurrentMove].effect != EFFECT_CORROSIVE_GAS) - gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gActiveBattler]][GetBattlerSide(gActiveBattler)] = itemId; // Remember if switched out + gBattleStruct->usedHeldItems[gBattlerPartyIndexes[battler]][GetBattlerSide(battler)] = itemId; // Remember if switched out - gBattleMons[gActiveBattler].item = ITEM_NONE; - CheckSetUnburden(gActiveBattler); + gBattleMons[battler].item = ITEM_NONE; + CheckSetUnburden(battler); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[battler].item), &gBattleMons[battler].item); + MarkBattlerForControllerExec(battler); - ClearBattlerItemEffectHistory(gActiveBattler); - if (!TryCheekPouch(gActiveBattler, itemId) && !TrySymbiosis(gActiveBattler, itemId)) + ClearBattlerItemEffectHistory(battler); + if (!TryCheekPouch(battler, itemId) && !TrySymbiosis(battler, itemId)) gBattlescriptCurrInstr = cmd->nextInstr; } @@ -8090,13 +8011,14 @@ static void Cmd_setatktoplayer0(void) static void Cmd_makevisible(void) { CMD_ARGS(u8 battler); + u32 battler; if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitSpriteInvisibility(BUFFER_A, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitSpriteInvisibility(battler, BUFFER_A, FALSE); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -8581,7 +8503,7 @@ static void HandleScriptMegaPrimal(u32 caseId, u32 battlerId, bool32 isMega) PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battlerId].species); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battlerId]], sizeof(gBattleMons[battlerId].species), &gBattleMons[battlerId].species); + BtlController_EmitSetMonData(battlerId, BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battlerId]], sizeof(gBattleMons[battlerId].species), &gBattleMons[battlerId].species); MarkBattlerForControllerExec(battlerId); } // Update healthbox and elevation and play cry. @@ -8634,12 +8556,12 @@ static void Cmd_various(void) struct Pokemon *mon; s32 i, j; u8 data[10]; - u32 side, bits; + u32 side, battler, bits; if (gBattleControllerExecFlags) return; - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + battler = GetBattlerForBattleScript(cmd->battler); switch (cmd->id) { @@ -8664,7 +8586,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_ABSENT: { VARIOUS_ARGS(const u8 *jumpInstr); - if (!IsBattlerAlive(gActiveBattler)) + if (!IsBattlerAlive(battler)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -8673,9 +8595,9 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_SHIELDS_DOWN_PROTECTED: { VARIOUS_ARGS(const u8 *jumpInstr); - if (IsShieldsDownProtected(gActiveBattler)) + if (IsShieldsDownProtected(battler)) { - gBattlerAbility = gActiveBattler; + gBattlerAbility = battler; gBattlescriptCurrInstr = cmd->jumpInstr; } else @@ -8687,13 +8609,13 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_NO_HOLD_EFFECT: { VARIOUS_ARGS(u8 holdEffect, const u8 *jumpInstr); - if (GetBattlerHoldEffect(gActiveBattler, TRUE) != cmd->holdEffect) + if (GetBattlerHoldEffect(battler, TRUE) != cmd->holdEffect) { gBattlescriptCurrInstr = cmd->jumpInstr; } else { - gLastUsedItem = gBattleMons[gActiveBattler].item; // For B_LAST_USED_ITEM + gLastUsedItem = gBattleMons[battler].item; // For B_LAST_USED_ITEM gBattlescriptCurrInstr = cmd->nextInstr; } return; @@ -8701,7 +8623,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_NO_ALLY: { VARIOUS_ARGS(const u8 *jumpInstr); - if (!IsBattlerAlive(BATTLE_PARTNER(gActiveBattler))) + if (!IsBattlerAlive(BATTLE_PARTNER(battler))) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -8710,15 +8632,15 @@ static void Cmd_various(void) case VARIOUS_INFATUATE_WITH_BATTLER: { VARIOUS_ARGS(u8 infatuateWith); - gBattleScripting.battler = gActiveBattler; - gBattleMons[gActiveBattler].status2 |= STATUS2_INFATUATED_WITH(GetBattlerForBattleScript(cmd->infatuateWith)); + gBattleScripting.battler = battler; + gBattleMons[battler].status2 |= STATUS2_INFATUATED_WITH(GetBattlerForBattleScript(cmd->infatuateWith)); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_SET_LAST_USED_ITEM: { VARIOUS_ARGS(); - gLastUsedItem = gBattleMons[gActiveBattler].item; + gLastUsedItem = gBattleMons[battler].item; break; } case VARIOUS_TRY_FAIRY_LOCK: @@ -8740,16 +8662,16 @@ static void Cmd_various(void) { VARIOUS_ARGS(u8 stat); i = cmd->stat; - gBattleMoveDamage = *(u16 *)(&gBattleMons[gActiveBattler].attack) + (i - 1); - gBattleMoveDamage *= gStatStageRatios[gBattleMons[gActiveBattler].statStages[i]][0]; - gBattleMoveDamage /= gStatStageRatios[gBattleMons[gActiveBattler].statStages[i]][1]; + gBattleMoveDamage = *(u16 *)(&gBattleMons[battler].attack) + (i - 1); + gBattleMoveDamage *= gStatStageRatios[gBattleMons[battler].statStages[i]][0]; + gBattleMoveDamage /= gStatStageRatios[gBattleMons[battler].statStages[i]][1]; gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_JUMP_IF_FULL_HP: { VARIOUS_ARGS(const u8 *jumpInstr); - if (BATTLER_MAX_HP(gActiveBattler)) + if (BATTLER_MAX_HP(battler)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -8761,7 +8683,7 @@ static void Cmd_various(void) while (gBattleStruct->friskedBattler < gBattlersCount) { gBattlerTarget = gBattleStruct->friskedBattler++; - if (GET_BATTLER_SIDE2(gActiveBattler) != GET_BATTLER_SIDE2(gBattlerTarget) + if (GET_BATTLER_SIDE2(battler) != GET_BATTLER_SIDE2(gBattlerTarget) && IsBattlerAlive(gBattlerTarget) && gBattleMons[gBattlerTarget].item != ITEM_NONE) { @@ -8788,7 +8710,7 @@ static void Cmd_various(void) case VARIOUS_POISON_TYPE_IMMUNITY: { VARIOUS_ARGS(u8 target, const u8 *failInstr); - if (!CanPoisonType(gActiveBattler, GetBattlerForBattleScript(cmd->target))) + if (!CanPoisonType(battler, GetBattlerForBattleScript(cmd->target))) gBattlescriptCurrInstr = cmd->failInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -8797,7 +8719,7 @@ static void Cmd_various(void) case VARIOUS_PARALYZE_TYPE_IMMUNITY: { VARIOUS_ARGS(u8 target, const u8 *failInstr); - if (!CanParalyzeType(gActiveBattler, GetBattlerForBattleScript(cmd->target))) + if (!CanParalyzeType(battler, GetBattlerForBattleScript(cmd->target))) gBattlescriptCurrInstr = cmd->failInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -8806,13 +8728,13 @@ static void Cmd_various(void) case VARIOUS_TRACE_ABILITY: { VARIOUS_ARGS(); - gBattleMons[gActiveBattler].ability = gBattleStruct->overwrittenAbilities[gActiveBattler] = gBattleStruct->tracedAbility[gActiveBattler]; + gBattleMons[battler].ability = gBattleStruct->overwrittenAbilities[battler] = gBattleStruct->tracedAbility[battler]; break; } case VARIOUS_TRY_ILLUSION_OFF: { VARIOUS_ARGS(); - if (GetIllusionMonPtr(gActiveBattler) != NULL) + if (GetIllusionMonPtr(battler) != NULL) { gBattlescriptCurrInstr = cmd->nextInstr; BattleScriptPushCursor(); @@ -8831,17 +8753,17 @@ static void Cmd_various(void) case VARIOUS_UPDATE_NICK: { VARIOUS_ARGS(); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; else - mon = &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]; - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], mon, HEALTHBOX_NICK); + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], mon, HEALTHBOX_NICK); break; } case VARIOUS_JUMP_IF_NOT_BERRY: { VARIOUS_ARGS(const u8 *jumpInstr); - if (ItemId_GetPocket(gBattleMons[gActiveBattler].item) == POCKET_BERRIES) + if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = cmd->jumpInstr; @@ -8850,16 +8772,16 @@ static void Cmd_various(void) case VARIOUS_CHECK_IF_GRASSY_TERRAIN_HEALS: { VARIOUS_ARGS(const u8 *failInstr); - if ((gStatuses3[gActiveBattler] & (STATUS3_SEMI_INVULNERABLE | STATUS3_HEAL_BLOCK)) - || BATTLER_MAX_HP(gActiveBattler) - || !gBattleMons[gActiveBattler].hp - || !(IsBattlerGrounded(gActiveBattler))) + if ((gStatuses3[battler] & (STATUS3_SEMI_INVULNERABLE | STATUS3_HEAL_BLOCK)) + || BATTLER_MAX_HP(battler) + || !gBattleMons[battler].hp + || !(IsBattlerGrounded(battler))) { gBattlescriptCurrInstr = cmd->failInstr; } else { - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -8872,10 +8794,10 @@ static void Cmd_various(void) { VARIOUS_ARGS(); // Cancel all multiturn moves of IN_AIR Pokemon except those being targeted by Sky Drop. - if (gStatuses3[gActiveBattler] & STATUS3_ON_AIR && !(gStatuses3[gActiveBattler] & STATUS3_SKY_DROPPED)) - CancelMultiTurnMoves(gActiveBattler); + if (gStatuses3[battler] & STATUS3_ON_AIR && !(gStatuses3[battler] & STATUS3_SKY_DROPPED)) + CancelMultiTurnMoves(battler); - gStatuses3[gActiveBattler] &= ~(STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS | STATUS3_ON_AIR | STATUS3_SKY_DROPPED); + gStatuses3[battler] &= ~(STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS | STATUS3_ON_AIR | STATUS3_SKY_DROPPED); break; } case VARIOUS_SPECTRAL_THIEF: @@ -8901,7 +8823,7 @@ static void Cmd_various(void) case VARIOUS_SET_POWDER: { VARIOUS_ARGS(); - gBattleMons[gActiveBattler].status2 |= STATUS2_POWDER; + gBattleMons[battler].status2 |= STATUS2_POWDER; break; } case VARIOUS_ACUPRESSURE: @@ -8910,7 +8832,7 @@ static void Cmd_various(void) bits = 0; for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++) { - if (CompareStat(gActiveBattler, i, MAX_STAT_STAGE, CMP_LESS_THAN)) + if (CompareStat(battler, i, MAX_STAT_STAGE, CMP_LESS_THAN)) bits |= gBitTable[i]; } if (bits) @@ -8933,19 +8855,19 @@ static void Cmd_various(void) case VARIOUS_CANCEL_MULTI_TURN_MOVES: { VARIOUS_ARGS(); - CancelMultiTurnMoves(gActiveBattler); + CancelMultiTurnMoves(battler); break; } case VARIOUS_SET_MAGIC_COAT_TARGET: { VARIOUS_ARGS(); - gBattleStruct->attackerBeforeBounce = gActiveBattler; + gBattleStruct->attackerBeforeBounce = battler; gBattlerAttacker = gBattlerTarget; side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (IsAffectedByFollowMe(gBattlerAttacker, side, gCurrentMove)) gBattlerTarget = gSideTimers[side].followmeTarget; else - gBattlerTarget = gActiveBattler; + gBattlerTarget = battler; break; } case VARIOUS_IS_RUNNING_IMPOSSIBLE: @@ -8963,7 +8885,7 @@ static void Cmd_various(void) case VARIOUS_GET_BATTLER_FAINTED: { VARIOUS_ARGS(); - if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) + if (gHitMarker & HITMARKER_FAINTED(battler)) gBattleCommunication[0] = TRUE; else gBattleCommunication[0] = FALSE; @@ -8972,8 +8894,8 @@ static void Cmd_various(void) case VARIOUS_RESET_SWITCH_IN_ABILITY_BITS: { VARIOUS_ARGS(); - gSpecialStatuses[gActiveBattler].traced = FALSE; - gSpecialStatuses[gActiveBattler].switchInAbilityDone = FALSE; + gSpecialStatuses[battler].traced = FALSE; + gSpecialStatuses[battler].switchInAbilityDone = FALSE; break; } case VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP: @@ -8982,17 +8904,17 @@ static void Cmd_various(void) if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId || gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId) { if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId) - gActiveBattler = 0; + battler = 0; else - gActiveBattler = 2; + battler = 2; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gActiveBattler].moves[i] == gBattleStruct->choicedMove[gActiveBattler]) + if (gBattleMons[battler].moves[i] == gBattleStruct->choicedMove[battler]) break; } if (i == MAX_MON_MOVES) - gBattleStruct->choicedMove[gActiveBattler] = MOVE_NONE; + gBattleStruct->choicedMove[battler] = MOVE_NONE; } break; } @@ -9013,15 +8935,15 @@ static void Cmd_various(void) VARIOUS_ARGS(); // Try and print end-of-turn Battle Palace flavor text (e.g. "A glint appears in mon's eyes") gBattleCommunication[0] = FALSE; // whether or not msg should be printed - gBattleScripting.battler = gActiveBattler = gBattleCommunication[1]; - if (!(gBattleStruct->palaceFlags & gBitTable[gActiveBattler]) - && gBattleMons[gActiveBattler].maxHP / 2 >= gBattleMons[gActiveBattler].hp - && gBattleMons[gActiveBattler].hp != 0 - && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP)) + gBattleScripting.battler = battler = gBattleCommunication[1]; + if (!(gBattleStruct->palaceFlags & gBitTable[battler]) + && gBattleMons[battler].maxHP / 2 >= gBattleMons[battler].hp + && gBattleMons[battler].hp != 0 + && !(gBattleMons[battler].status1 & STATUS1_SLEEP)) { - gBattleStruct->palaceFlags |= gBitTable[gActiveBattler]; + gBattleStruct->palaceFlags |= gBitTable[battler]; gBattleCommunication[0] = TRUE; - gBattleCommunication[MULTISTRING_CHOOSER] = sBattlePalaceNatureToFlavorTextId[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)]; + gBattleCommunication[MULTISTRING_CHOOSER] = sBattlePalaceNatureToFlavorTextId[GetNatureFromPersonality(gBattleMons[battler].personality)]; } break; } @@ -9075,8 +8997,8 @@ static void Cmd_various(void) case VARIOUS_EMIT_YESNOBOX: { VARIOUS_ARGS(); - BtlController_EmitYesNoBox(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitYesNoBox(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_DRAW_ARENA_REF_TEXT_BOX: @@ -9115,11 +9037,11 @@ static void Cmd_various(void) case VARIOUS_RETURN_OPPONENT_MON1: { VARIOUS_ARGS(); - gActiveBattler = 1; - if (gBattleMons[gActiveBattler].hp != 0) + battler = 1; + if (gBattleMons[battler].hp != 0) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitReturnMonToBall(battler, BUFFER_A, FALSE); + MarkBattlerForControllerExec(battler); } break; } @@ -9128,11 +9050,11 @@ static void Cmd_various(void) VARIOUS_ARGS(); if (gBattlersCount > 3) { - gActiveBattler = 3; - if (gBattleMons[gActiveBattler].hp != 0) + battler = 3; + if (gBattleMons[battler].hp != 0) { - BtlController_EmitReturnMonToBall(BUFFER_A, FALSE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitReturnMonToBall(battler, BUFFER_A, FALSE); + MarkBattlerForControllerExec(battler); } } break; @@ -9152,13 +9074,13 @@ static void Cmd_various(void) case VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT: { VARIOUS_ARGS(); - gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[gActiveBattler]; + gBattleStruct->alreadyStatusedMoveAttempt |= gBitTable[battler]; break; } case VARIOUS_PALACE_TRY_ESCAPE_STATUS: { VARIOUS_ARGS(); - if (BattlePalace_TryEscapeStatus(gActiveBattler)) + if (BattlePalace_TryEscapeStatus(battler)) return; break; } @@ -9167,16 +9089,16 @@ static void Cmd_various(void) VARIOUS_ARGS(); // Don't end the battle if one of the wild mons teleported from the wild double battle // and its partner is still alive. - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && IsBattlerAlive(BATTLE_PARTNER(gActiveBattler))) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT && IsBattlerAlive(BATTLE_PARTNER(battler))) { - gAbsentBattlerFlags |= gBitTable[gActiveBattler]; - gHitMarker |= HITMARKER_FAINTED(gActiveBattler); - gBattleMons[gActiveBattler].hp = 0; - SetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_HP, &gBattleMons[gActiveBattler].hp); - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[gActiveBattler]); + gAbsentBattlerFlags |= gBitTable[battler]; + gHitMarker |= HITMARKER_FAINTED(battler); + gBattleMons[battler].hp = 0; + SetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP, &gBattleMons[battler].hp); + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); FaintClearSetData(); } - else if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + else if (GetBattlerSide(battler) == B_SIDE_PLAYER) { gBattleOutcome = B_OUTCOME_PLAYER_TELEPORTED; } @@ -9189,8 +9111,8 @@ static void Cmd_various(void) case VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC: { VARIOUS_ARGS(); - BtlController_EmitPlayFanfareOrBGM(BUFFER_A, MUS_VICTORY_TRAINER, TRUE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPlayFanfareOrBGM(battler, BUFFER_A, MUS_VICTORY_TRAINER, TRUE); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_STAT_TEXT_BUFFER: @@ -9203,9 +9125,9 @@ static void Cmd_various(void) { VARIOUS_ARGS(); gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_NEUTRALIZINGGAS, gActiveBattler, 0, 0, 0); - AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0); - AbilityBattleEffects(ABILITYEFFECT_TRACE2, gActiveBattler, 0, 0, 0); + AbilityBattleEffects(ABILITYEFFECT_NEUTRALIZINGGAS, battler, 0, 0, 0); + AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, battler, 0, 0, 0); + AbilityBattleEffects(ABILITYEFFECT_TRACE2, battler, 0, 0, 0); return; } case VARIOUS_SAVE_TARGET: @@ -9223,16 +9145,16 @@ static void Cmd_various(void) case VARIOUS_INSTANT_HP_DROP: { VARIOUS_ARGS(); - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitHealthBarUpdate(battler, BUFFER_A, INSTANT_HP_BAR_DROP); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_CLEAR_STATUS: { VARIOUS_ARGS(); - gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMons[battler].status1 = 0; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_RESTORE_PP: @@ -9240,19 +9162,19 @@ static void Cmd_various(void) VARIOUS_ARGS(); for (i = 0; i < 4; i++) { - gBattleMons[gActiveBattler].pp[i] = CalculatePPWithBonus(gBattleMons[gActiveBattler].moves[i], gBattleMons[gActiveBattler].ppBonuses, i); - data[i] = gBattleMons[gActiveBattler].pp[i]; + gBattleMons[battler].pp[i] = CalculatePPWithBonus(gBattleMons[battler].moves[i], gBattleMons[battler].ppBonuses, i); + data[i] = gBattleMons[battler].pp[i]; } - data[i] = gBattleMons[gActiveBattler].ppBonuses; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PP_DATA_BATTLE, 0, 5, data); - MarkBattlerForControllerExec(gActiveBattler); + data[i] = gBattleMons[battler].ppBonuses; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_PP_DATA_BATTLE, 0, 5, data); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_TRY_ACTIVATE_MOXIE: // and chilling neigh + as one ice rider { VARIOUS_ARGS(); - u16 battlerAbility = GetBattlerAbility(gActiveBattler); + u16 battlerAbility = GetBattlerAbility(battler); if ((battlerAbility == ABILITY_MOXIE || battlerAbility == ABILITY_CHILLING_NEIGH @@ -9276,7 +9198,7 @@ static void Cmd_various(void) { VARIOUS_ARGS(); - u16 battlerAbility = GetBattlerAbility(gActiveBattler); + u16 battlerAbility = GetBattlerAbility(battler); if ((battlerAbility == ABILITY_GRIM_NEIGH || battlerAbility == ABILITY_AS_ONE_SHADOW_RIDER) @@ -9298,13 +9220,13 @@ static void Cmd_various(void) case VARIOUS_TRY_ACTIVATE_RECEIVER: // Partner gets fainted's ally ability { VARIOUS_ARGS(); - gBattlerAbility = BATTLE_PARTNER(gActiveBattler); + gBattlerAbility = BATTLE_PARTNER(battler); i = GetBattlerAbility(gBattlerAbility); if (IsBattlerAlive(gBattlerAbility) && (i == ABILITY_RECEIVER || i == ABILITY_POWER_OF_ALCHEMY) - && GetBattlerHoldEffect(gActiveBattler, TRUE) != HOLD_EFFECT_ABILITY_SHIELD) + && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_ABILITY_SHIELD) { - switch (gBattleMons[gActiveBattler].ability) + switch (gBattleMons[battler].ability) { // Can't copy these abilities. case ABILITY_POWER_OF_ALCHEMY: case ABILITY_RECEIVER: case ABILITY_FORECAST: case ABILITY_MULTITYPE: @@ -9317,8 +9239,8 @@ static void Cmd_various(void) case ABILITY_RKS_SYSTEM: case ABILITY_TRACE: break; default: - gBattleStruct->tracedAbility[gBattlerAbility] = gBattleMons[gActiveBattler].ability; // re-using the variable for trace - gBattleScripting.battler = gActiveBattler; + gBattleStruct->tracedAbility[gBattlerAbility] = gBattleMons[battler].ability; // re-using the variable for trace + gBattleScripting.battler = battler; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = BattleScript_ReceiverActivates; return; @@ -9329,8 +9251,8 @@ static void Cmd_various(void) case VARIOUS_TRY_ACTIVATE_BEAST_BOOST: { VARIOUS_ARGS(); - i = GetHighestStatId(gActiveBattler); - if (GetBattlerAbility(gActiveBattler) == ABILITY_BEAST_BOOST + i = GetHighestStatId(battler); + if (GetBattlerAbility(battler) == ABILITY_BEAST_BOOST && HasAttackerFaintedTarget() && !NoAliveMonsForEitherParty() && CompareStat(gBattlerAttacker, i, MAX_STAT_STAGE, CMP_LESS_THAN)) @@ -9387,19 +9309,19 @@ static void Cmd_various(void) case VARIOUS_PLAY_MOVE_ANIMATION: { VARIOUS_ARGS(u16 move); - BtlController_EmitMoveAnimation(BUFFER_A, cmd->move, gBattleScripting.animTurn, 0, 0, gBattleMons[gActiveBattler].friendship, &gDisableStructs[gActiveBattler], gMultiHitCounter); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitMoveAnimation(battler, BUFFER_A, cmd->move, gBattleScripting.animTurn, 0, 0, gBattleMons[battler].friendship, &gDisableStructs[battler], gMultiHitCounter); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_SET_LUCKY_CHANT: { VARIOUS_ARGS(const u8 *failInstr); - if (!(gSideStatuses[GET_BATTLER_SIDE(gActiveBattler)] & SIDE_STATUS_LUCKY_CHANT)) + if (!(gSideStatuses[GET_BATTLER_SIDE(battler)] & SIDE_STATUS_LUCKY_CHANT)) { - gSideStatuses[GET_BATTLER_SIDE(gActiveBattler)] |= SIDE_STATUS_LUCKY_CHANT; - gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].luckyChantBattlerId = gActiveBattler; - gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].luckyChantTimer = 5; + gSideStatuses[GET_BATTLER_SIDE(battler)] |= SIDE_STATUS_LUCKY_CHANT; + gSideTimers[GET_BATTLER_SIDE(battler)].luckyChantBattlerId = battler; + gSideTimers[GET_BATTLER_SIDE(battler)].luckyChantTimer = 5; gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -9476,22 +9398,22 @@ static void Cmd_various(void) case VARIOUS_SET_LAST_USED_ABILITY: { VARIOUS_ARGS(); - gLastUsedAbility = gBattleMons[gActiveBattler].ability; + gLastUsedAbility = gBattleMons[battler].ability; break; } case VARIOUS_TRY_HEAL_PULSE: { VARIOUS_ARGS(const u8 *failInstr); - if (BATTLER_MAX_HP(gActiveBattler)) + if (BATTLER_MAX_HP(battler)) { gBattlescriptCurrInstr = cmd->failInstr; } else { if (GetBattlerAbility(gBattlerAttacker) == ABILITY_MEGA_LAUNCHER && gBattleMoves[gCurrentMove].pulseMove) - gBattleMoveDamage = -(gBattleMons[gActiveBattler].maxHP * 75 / 100); + gBattleMoveDamage = -(gBattleMons[battler].maxHP * 75 / 100); else - gBattleMoveDamage = -(gBattleMons[gActiveBattler].maxHP / 2); + gBattleMoveDamage = -(gBattleMons[battler].maxHP / 2); if (gBattleMoveDamage == 0) gBattleMoveDamage = -1; @@ -9518,10 +9440,10 @@ static void Cmd_various(void) VARIOUS_ARGS(); for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[gActiveBattler].statStages[i] < DEFAULT_STAT_STAGE) // Negative becomes positive. - gBattleMons[gActiveBattler].statStages[i] = DEFAULT_STAT_STAGE + (DEFAULT_STAT_STAGE - gBattleMons[gActiveBattler].statStages[i]); - else if (gBattleMons[gActiveBattler].statStages[i] > DEFAULT_STAT_STAGE) // Positive becomes negative. - gBattleMons[gActiveBattler].statStages[i] = DEFAULT_STAT_STAGE - (gBattleMons[gActiveBattler].statStages[i] - DEFAULT_STAT_STAGE); + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) // Negative becomes positive. + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE + (DEFAULT_STAT_STAGE - gBattleMons[battler].statStages[i]); + else if (gBattleMons[battler].statStages[i] > DEFAULT_STAT_STAGE) // Positive becomes negative. + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE - (gBattleMons[battler].statStages[i] - DEFAULT_STAT_STAGE); } break; } @@ -9621,42 +9543,42 @@ static void Cmd_various(void) case VARIOUS_HANDLE_MEGA_EVO: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimal(cmd->case_, gActiveBattler, TRUE); + HandleScriptMegaPrimal(cmd->case_, battler, TRUE); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_HANDLE_PRIMAL_REVERSION: { VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimal(cmd->case_, gActiveBattler, FALSE); + HandleScriptMegaPrimal(cmd->case_, battler, FALSE); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_HANDLE_FORM_CHANGE: { VARIOUS_ARGS(u8 case_); - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) - mon = &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]; + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; else - mon = &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]; + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; // Change species. if (cmd->case_ == 0) { if (!gBattleTextBuff1) - PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gActiveBattler].species); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[gActiveBattler]], sizeof(gBattleMons[gActiveBattler].species), &gBattleMons[gActiveBattler].species); - MarkBattlerForControllerExec(gActiveBattler); + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battler].species); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battler]], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); + MarkBattlerForControllerExec(battler); } // Change stats. else if (cmd->case_ == 1) { - RecalcBattlerStats(gActiveBattler, mon); + RecalcBattlerStats(battler, mon); } // Update healthbox. else { - UpdateHealthboxAttribute(gHealthboxSpriteIds[gActiveBattler], mon, HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], mon, HEALTHBOX_ALL); } gBattlescriptCurrInstr = cmd->nextInstr; return; @@ -9664,7 +9586,7 @@ static void Cmd_various(void) case VARIOUS_TRY_LAST_RESORT: { VARIOUS_ARGS(const u8 *failInstr); - if (CanUseLastResort(gActiveBattler)) + if (CanUseLastResort(battler)) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = cmd->failInstr; @@ -9729,9 +9651,9 @@ static void Cmd_various(void) case VARIOUS_TRY_AUTOTOMIZE: { VARIOUS_ARGS(const u8 *failInstr); - if (GetBattlerWeight(gActiveBattler) > 1) + if (GetBattlerWeight(battler) > 1) { - gDisableStructs[gActiveBattler].autotomizeCount++; + gDisableStructs[battler].autotomizeCount++; gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -9784,7 +9706,7 @@ static void Cmd_various(void) { gBattlerTarget = gBattleStruct->lastMoveTarget[gBattlerAttacker]; gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]); + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]); gBattlescriptCurrInstr = cmd->nextInstr; } } @@ -9793,13 +9715,13 @@ static void Cmd_various(void) case VARIOUS_ABILITY_POPUP: { VARIOUS_ARGS(); - CreateAbilityPopUp(gActiveBattler, gBattleMons[gActiveBattler].ability, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0); + CreateAbilityPopUp(battler, gBattleMons[battler].ability, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0); break; } case VARIOUS_UPDATE_ABILITY_POPUP: { VARIOUS_ARGS(); - UpdateAbilityPopup(gActiveBattler); + UpdateAbilityPopup(battler); break; } case VARIOUS_DEFOG: @@ -9814,7 +9736,7 @@ static void Cmd_various(void) } else { - if (TryDefogClear(gActiveBattler, FALSE)) + if (TryDefogClear(battler, FALSE)) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = cmd->failInstr; @@ -9844,8 +9766,8 @@ static void Cmd_various(void) VARIOUS_ARGS(u8 type); for (i = 0; i < 3; i++) { - if (*(u8 *)(&gBattleMons[gActiveBattler].type1 + i) == cmd->type) - *(u8 *)(&gBattleMons[gActiveBattler].type1 + i) = TYPE_MYSTERY; + if (*(u8 *)(&gBattleMons[battler].type1 + i) == cmd->type) + *(u8 *)(&gBattleMons[battler].type1 + i) = TYPE_MYSTERY; } gBattlescriptCurrInstr = cmd->nextInstr; return; @@ -9872,25 +9794,25 @@ static void Cmd_various(void) return; } gBattleMons[gBattlerTarget].status1 = gBattleMons[gBattlerAttacker].status1 & STATUS1_ANY; - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + battler = gBattlerTarget; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; return; } case VARIOUS_CURE_STATUS: { VARIOUS_ARGS(); - gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMons[battler].status1 = 0; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[battler].status1), &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_POWER_TRICK: { VARIOUS_ARGS(); - gStatuses3[gActiveBattler] ^= STATUS3_POWER_TRICK; - SWAP(gBattleMons[gActiveBattler].attack, gBattleMons[gActiveBattler].defense, i); + gStatuses3[battler] ^= STATUS3_POWER_TRICK; + SWAP(gBattleMons[battler].attack, gBattleMons[battler].defense, i); break; } case VARIOUS_AFTER_YOU: @@ -9934,7 +9856,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_NOT_GROUNDED: { VARIOUS_ARGS(const u8 *jumpInstr); - if (!IsBattlerGrounded(gActiveBattler)) + if (!IsBattlerGrounded(battler)) gBattlescriptCurrInstr = gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -9946,24 +9868,24 @@ static void Cmd_various(void) if (cmd->case_ == 0) { // Save sprite IDs, because trainer slide in will overwrite gBattlerSpriteIds variable. - gBattleScripting.savedDmg = (gBattlerSpriteIds[gActiveBattler] & 0xFF) | (gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)] << 8); - HideBattlerShadowSprite(gActiveBattler); + gBattleScripting.savedDmg = (gBattlerSpriteIds[battler] & 0xFF) | (gBattlerSpriteIds[BATTLE_PARTNER(battler)] << 8); + HideBattlerShadowSprite(battler); } else if (cmd->case_ == 1) { - BtlController_EmitPrintString(BUFFER_A, STRINGID_TRAINERSLIDE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPrintString(battler, BUFFER_A, STRINGID_TRAINERSLIDE); + MarkBattlerForControllerExec(battler); } else { - gBattlerSpriteIds[BATTLE_PARTNER(gActiveBattler)] = gBattleScripting.savedDmg >> 8; - gBattlerSpriteIds[gActiveBattler] = gBattleScripting.savedDmg & 0xFF; - if (IsBattlerAlive(gActiveBattler)) + gBattlerSpriteIds[BATTLE_PARTNER(battler)] = gBattleScripting.savedDmg >> 8; + gBattlerSpriteIds[battler] = gBattleScripting.savedDmg & 0xFF; + if (IsBattlerAlive(battler)) { - SetBattlerShadowSpriteCallback(gActiveBattler, gBattleMons[gActiveBattler].species); - BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + SetBattlerShadowSpriteCallback(battler, gBattleMons[battler].species); + BattleLoadMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); } - i = BATTLE_PARTNER(gActiveBattler); + i = BATTLE_PARTNER(battler); if (IsBattlerAlive(i)) { SetBattlerShadowSpriteCallback(i, gBattleMons[i].species); @@ -9976,9 +9898,9 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_FIRST_OFF: { VARIOUS_ARGS(); - if ((i = ShouldDoTrainerSlide(gActiveBattler, TRAINER_SLIDE_FIRST_DOWN))) + if ((i = ShouldDoTrainerSlide(battler, TRAINER_SLIDE_FIRST_DOWN))) { - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = (i == 1 ? BattleScript_TrainerASlideMsgRet : BattleScript_TrainerBSlideMsgRet); return; @@ -9988,9 +9910,9 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_LAST_ON: { VARIOUS_ARGS(); - if ((i = ShouldDoTrainerSlide(gActiveBattler, TRAINER_SLIDE_LAST_SWITCHIN))) + if ((i = ShouldDoTrainerSlide(battler, TRAINER_SLIDE_LAST_SWITCHIN))) { - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = (i == 1 ? BattleScript_TrainerASlideMsgRet : BattleScript_TrainerBSlideMsgRet); return; @@ -10000,7 +9922,7 @@ static void Cmd_various(void) case VARIOUS_SET_AURORA_VEIL: { VARIOUS_ARGS(); - if (gSideStatuses[GET_BATTLER_SIDE(gActiveBattler)] & SIDE_STATUS_AURORA_VEIL + if (gSideStatuses[GET_BATTLER_SIDE(battler)] & SIDE_STATUS_AURORA_VEIL || !(WEATHER_HAS_EFFECT && gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) { gMoveResultFlags |= MOVE_RESULT_MISSED; @@ -10008,12 +9930,12 @@ static void Cmd_various(void) } else { - gSideStatuses[GET_BATTLER_SIDE(gActiveBattler)] |= SIDE_STATUS_AURORA_VEIL; - if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_LIGHT_CLAY) - gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].auroraVeilTimer = 8; + gSideStatuses[GET_BATTLER_SIDE(battler)] |= SIDE_STATUS_AURORA_VEIL; + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_LIGHT_CLAY) + gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilTimer = 8; else - gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].auroraVeilTimer = 5; - gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].auroraVeilBattlerId = gActiveBattler; + gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilTimer = 5; + gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilBattlerId = battler; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 5; @@ -10025,13 +9947,13 @@ static void Cmd_various(void) case VARIOUS_TRY_THIRD_TYPE: { VARIOUS_ARGS(const u8 *failInstr); - if (IS_BATTLER_OF_TYPE(gActiveBattler, gBattleMoves[gCurrentMove].argument)) + if (IS_BATTLER_OF_TYPE(battler, gBattleMoves[gCurrentMove].argument)) { gBattlescriptCurrInstr = cmd->failInstr; } else { - gBattleMons[gActiveBattler].type3 = gBattleMoves[gCurrentMove].argument; + gBattleMons[battler].type3 = gBattleMoves[gCurrentMove].argument; PREPARE_TYPE_BUFFER(gBattleTextBuff1, gBattleMoves[gCurrentMove].argument); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -10040,14 +9962,14 @@ static void Cmd_various(void) case VARIOUS_DESTROY_ABILITY_POPUP: { VARIOUS_ARGS(); - DestroyAbilityPopUp(gActiveBattler); + DestroyAbilityPopUp(battler); break; } case VARIOUS_TOTEM_BOOST: { VARIOUS_ARGS(const u8 *jumpInstr); - gActiveBattler = gBattlerAttacker; - if (gTotemBoosts[gActiveBattler].stats == 0) + battler = gBattlerAttacker; + if (gTotemBoosts[battler].stats == 0) { gBattlescriptCurrInstr = cmd->nextInstr; // stats done, exit } @@ -10055,19 +9977,19 @@ static void Cmd_various(void) { for (i = 0; i < (NUM_BATTLE_STATS - 1); i++) { - if (gTotemBoosts[gActiveBattler].stats & (1 << i)) + if (gTotemBoosts[battler].stats & (1 << i)) { - if (gTotemBoosts[gActiveBattler].statChanges[i] <= -1) - SET_STATCHANGER(i + 1, abs(gTotemBoosts[gActiveBattler].statChanges[i]), TRUE); + if (gTotemBoosts[battler].statChanges[i] <= -1) + SET_STATCHANGER(i + 1, abs(gTotemBoosts[battler].statChanges[i]), TRUE); else - SET_STATCHANGER(i + 1, gTotemBoosts[gActiveBattler].statChanges[i], FALSE); + SET_STATCHANGER(i + 1, gTotemBoosts[battler].statChanges[i], FALSE); - gTotemBoosts[gActiveBattler].stats &= ~(1 << i); - gBattleScripting.battler = gActiveBattler; - gBattlerTarget = gActiveBattler; - if (gTotemBoosts[gActiveBattler].stats & 0x80) + gTotemBoosts[battler].stats &= ~(1 << i); + gBattleScripting.battler = battler; + gBattlerTarget = battler; + if (gTotemBoosts[battler].stats & 0x80) { - gTotemBoosts[gActiveBattler].stats &= ~0x80; // set 'aura flared to life' flag + gTotemBoosts[battler].stats &= ~0x80; // set 'aura flared to life' flag gBattlescriptCurrInstr = BattleScript_TotemFlaredToLife; } else @@ -10084,14 +10006,14 @@ static void Cmd_various(void) case VARIOUS_MOVEEND_ITEM_EFFECTS: { VARIOUS_ARGS(); - if (ItemBattleEffects(ITEMEFFECT_NORMAL, gActiveBattler, FALSE)) + if (ItemBattleEffects(ITEMEFFECT_NORMAL, battler, FALSE)) return; break; } case VARIOUS_ROOM_SERVICE: { VARIOUS_ARGS(const u8 *failInstr); - if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_ROOM_SERVICE && TryRoomService(gActiveBattler)) + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_ROOM_SERVICE && TryRoomService(battler)) { BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryStatRaiseRet; @@ -10105,23 +10027,23 @@ static void Cmd_various(void) case VARIOUS_TERRAIN_SEED: { VARIOUS_ARGS(const u8 *failInstr); - if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_SEEDS) + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_SEEDS) { u8 effect = 0; - u16 item = gBattleMons[gActiveBattler].item; - switch (GetBattlerHoldEffectParam(gActiveBattler)) + u16 item = gBattleMons[battler].item; + switch (GetBattlerHoldEffectParam(battler)) { case HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN: - effect = TryHandleSeed(gActiveBattler, STATUS_FIELD_ELECTRIC_TERRAIN, STAT_DEF, item, FALSE); + effect = TryHandleSeed(battler, STATUS_FIELD_ELECTRIC_TERRAIN, STAT_DEF, item, FALSE); break; case HOLD_EFFECT_PARAM_GRASSY_TERRAIN: - effect = TryHandleSeed(gActiveBattler, STATUS_FIELD_GRASSY_TERRAIN, STAT_DEF, item, FALSE); + effect = TryHandleSeed(battler, STATUS_FIELD_GRASSY_TERRAIN, STAT_DEF, item, FALSE); break; case HOLD_EFFECT_PARAM_MISTY_TERRAIN: - effect = TryHandleSeed(gActiveBattler, STATUS_FIELD_MISTY_TERRAIN, STAT_SPDEF, item, FALSE); + effect = TryHandleSeed(battler, STATUS_FIELD_MISTY_TERRAIN, STAT_SPDEF, item, FALSE); break; case HOLD_EFFECT_PARAM_PSYCHIC_TERRAIN: - effect = TryHandleSeed(gActiveBattler, STATUS_FIELD_PSYCHIC_TERRAIN, STAT_SPDEF, item, FALSE); + effect = TryHandleSeed(battler, STATUS_FIELD_PSYCHIC_TERRAIN, STAT_SPDEF, item, FALSE); break; } @@ -10137,15 +10059,15 @@ static void Cmd_various(void) if (gBattleControllerExecFlags) break; - BtlController_EmitSpriteInvisibility(BUFFER_A, TRUE); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSpriteInvisibility(battler, BUFFER_A, TRUE); + MarkBattlerForControllerExec(battler); break; } case VARIOUS_JUMP_IF_TERRAIN_AFFECTED: { VARIOUS_ARGS(u32 flags, const u8 *jumpInstr); u32 flags = cmd->flags; - if (IsBattlerTerrainAffected(gActiveBattler, flags)) + if (IsBattlerTerrainAffected(battler, flags)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10154,36 +10076,36 @@ static void Cmd_various(void) case VARIOUS_EERIE_SPELL_PP_REDUCE: { VARIOUS_ARGS(const u8 *failInstr); - if (gLastMoves[gActiveBattler] != 0 && gLastMoves[gActiveBattler] != 0xFFFF) + if (gLastMoves[battler] != 0 && gLastMoves[battler] != 0xFFFF) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gLastMoves[gActiveBattler] == gBattleMons[gActiveBattler].moves[i]) + if (gLastMoves[battler] == gBattleMons[battler].moves[i]) break; } - if (i != MAX_MON_MOVES && gBattleMons[gActiveBattler].pp[i] != 0) + if (i != MAX_MON_MOVES && gBattleMons[battler].pp[i] != 0) { s32 ppToDeduct = 3; - if (gBattleMons[gActiveBattler].pp[i] < ppToDeduct) - ppToDeduct = gBattleMons[gActiveBattler].pp[i]; + if (gBattleMons[battler].pp[i] < ppToDeduct) + ppToDeduct = gBattleMons[battler].pp[i]; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gActiveBattler]) + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[battler]) ConvertIntToDecimalStringN(gBattleTextBuff2, ppToDeduct, STR_CONV_MODE_LEFT_ALIGN, 1); PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct) - gBattleMons[gActiveBattler].pp[i] -= ppToDeduct; - if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i]) - && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + gBattleMons[battler].pp[i] -= ppToDeduct; + if (!(gDisableStructs[battler].mimickedMoves & gBitTable[i]) + && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[battler].pp[i]), &gBattleMons[battler].pp[i]); + MarkBattlerForControllerExec(battler); } - if (gBattleMons[gActiveBattler].pp[i] == 0 && gBattleStruct->skyDropTargets[gActiveBattler] == 0xFF) - CancelMultiTurnMoves(gActiveBattler); + if (gBattleMons[battler].pp[i] == 0 && gBattleStruct->skyDropTargets[battler] == 0xFF) + CancelMultiTurnMoves(battler); gBattlescriptCurrInstr = cmd->nextInstr; // continue } @@ -10201,10 +10123,10 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_TEAM_HEALTHY: { VARIOUS_ARGS(const u8 *jumpInstr); - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerAlive(BATTLE_PARTNER(gActiveBattler))) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsBattlerAlive(BATTLE_PARTNER(battler))) { - u8 partner = BATTLE_PARTNER(gActiveBattler); - if ((gBattleMons[gActiveBattler].hp == gBattleMons[gActiveBattler].maxHP && !(gBattleMons[gActiveBattler].status1 & STATUS1_ANY)) + u8 partner = BATTLE_PARTNER(battler); + if ((gBattleMons[battler].hp == gBattleMons[battler].maxHP && !(gBattleMons[battler].status1 & STATUS1_ANY)) && (gBattleMons[partner].hp == gBattleMons[partner].maxHP && !(gBattleMons[partner].status1 & STATUS1_ANY))) gBattlescriptCurrInstr = cmd->jumpInstr; else @@ -10212,7 +10134,7 @@ static void Cmd_various(void) } else // single battle { - if (gBattleMons[gActiveBattler].hp == gBattleMons[gActiveBattler].maxHP && !(gBattleMons[gActiveBattler].status1 & STATUS1_ANY)) + if (gBattleMons[battler].hp == gBattleMons[battler].maxHP && !(gBattleMons[battler].status1 & STATUS1_ANY)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10222,12 +10144,12 @@ static void Cmd_various(void) case VARIOUS_TRY_HEAL_QUARTER_HP: { VARIOUS_ARGS(const u8 *failInstr); - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; + gBattleMoveDamage = gBattleMons[battler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - if (gBattleMons[gActiveBattler].hp == gBattleMons[gActiveBattler].maxHP) + if (gBattleMons[battler].hp == gBattleMons[battler].maxHP) gBattlescriptCurrInstr = cmd->failInstr; // fail else gBattlescriptCurrInstr = cmd->nextInstr; // can heal @@ -10319,7 +10241,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_PRANKSTER_BLOCKED: { VARIOUS_ARGS(const u8 *jumpInstr); - if (BlocksPrankster(gCurrentMove, gBattlerAttacker, gActiveBattler, TRUE)) + if (BlocksPrankster(gCurrentMove, gBattlerAttacker, battler, TRUE)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10341,19 +10263,19 @@ static void Cmd_various(void) if (gBattleWeather & B_WEATHER_SUN_PRIMAL && !shouldNotClear) { gBattleWeather &= ~B_WEATHER_SUN_PRIMAL; - PrepareStringBattle(STRINGID_EXTREMESUNLIGHTFADED, gActiveBattler); + PrepareStringBattle(STRINGID_EXTREMESUNLIGHTFADED, battler); gBattleCommunication[MSG_DISPLAY] = 1; } else if (gBattleWeather & B_WEATHER_RAIN_PRIMAL && !shouldNotClear) { gBattleWeather &= ~B_WEATHER_RAIN_PRIMAL; - PrepareStringBattle(STRINGID_HEAVYRAINLIFTED, gActiveBattler); + PrepareStringBattle(STRINGID_HEAVYRAINLIFTED, battler); gBattleCommunication[MSG_DISPLAY] = 1; } else if (gBattleWeather & B_WEATHER_STRONG_WINDS && !shouldNotClear) { gBattleWeather &= ~B_WEATHER_STRONG_WINDS; - PrepareStringBattle(STRINGID_STRONGWINDSDISSIPATED, gActiveBattler); + PrepareStringBattle(STRINGID_STRONGWINDSDISSIPATED, battler); gBattleCommunication[MSG_DISPLAY] = 1; } break; @@ -10361,9 +10283,9 @@ static void Cmd_various(void) case VARIOUS_TRY_END_NEUTRALIZING_GAS: { VARIOUS_ARGS(); - if (gSpecialStatuses[gActiveBattler].neutralizingGasRemoved) + if (gSpecialStatuses[battler].neutralizingGasRemoved) { - gSpecialStatuses[gActiveBattler].neutralizingGasRemoved = FALSE; + gSpecialStatuses[battler].neutralizingGasRemoved = FALSE; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = BattleScript_NeutralizingGasExits; return; @@ -10396,9 +10318,9 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_NOT_ROTOTILLER_AFFECTED: { VARIOUS_ARGS(const u8 *jumpInstr); - if (gSpecialStatuses[gActiveBattler].rototillerAffected) + if (gSpecialStatuses[battler].rototillerAffected) { - gSpecialStatuses[gActiveBattler].rototillerAffected = FALSE; + gSpecialStatuses[battler].rototillerAffected = FALSE; gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -10435,10 +10357,10 @@ static void Cmd_various(void) } if (cmd->fromBattler) - gLastUsedItem = gBattleMons[gActiveBattler].item; + gLastUsedItem = gBattleMons[battler].item; - gBattleScripting.battler = gEffectBattler = gBattlerTarget = gActiveBattler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID - if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, gActiveBattler, FALSE)) + gBattleScripting.battler = gEffectBattler = gBattlerTarget = battler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID + if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, battler, FALSE)) return; gBattlescriptCurrInstr = cmd->nextInstr; return; @@ -10446,7 +10368,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL: { VARIOUS_ARGS(const u8 *jumpInstr); - if (GetBattleFormChangeTargetSpecies(gActiveBattler, FORM_CHANGE_BATTLE_PRIMAL_REVERSION) == SPECIES_NONE) + if (GetBattleFormChangeTargetSpecies(battler, FORM_CHANGE_BATTLE_PRIMAL_REVERSION) == SPECIES_NONE) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10456,7 +10378,7 @@ static void Cmd_various(void) { VARIOUS_ARGS(u32 flags, const u8 *jumpInstr); u32 flags = cmd->flags; - if (IsBattlerWeatherAffected(gActiveBattler, flags)) + if (IsBattlerWeatherAffected(battler, flags)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10472,7 +10394,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_SPECIES: { VARIOUS_ARGS(u16 species, const u8 *jumpInstr); - if (gBattleMons[gActiveBattler].species == cmd->species) + if (gBattleMons[battler].species == cmd->species) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10481,7 +10403,7 @@ static void Cmd_various(void) case VARIOUS_PHOTON_GEYSER_CHECK: { VARIOUS_ARGS(); - gBattleStruct->swapDamageCategory = (GetSplitBasedOnStats(gActiveBattler) == SPLIT_SPECIAL); + gBattleStruct->swapDamageCategory = (GetSplitBasedOnStats(battler) == SPLIT_SPECIAL); break; } case VARIOUS_SHELL_SIDE_ARM_CHECK: // 0% chance GameFreak actually checks this way according to DaWobblefet, but this is the only functional explanation at the moment @@ -10525,9 +10447,9 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED: { VARIOUS_ARGS(const u8 *jumpInstr); - if (IsLeafGuardProtected(gActiveBattler)) + if (IsLeafGuardProtected(battler)) { - gBattlerAbility = gActiveBattler; + gBattlerAbility = battler; gBattlescriptCurrInstr = cmd->jumpInstr; } else @@ -10543,8 +10465,8 @@ static void Cmd_various(void) // If Pokémon which set up Sticky Web is not on the field, no Pokémon have their Speed lowered." gBattlerAttacker = gBattlerTarget; // Initialize 'fail' condition SET_STATCHANGER(STAT_SPEED, 1, TRUE); - if (gSideTimers[GetBattlerSide(gActiveBattler)].stickyWebBattlerId != 0xFF) - gBattlerAttacker = gSideTimers[GetBattlerSide(gActiveBattler)].stickyWebBattlerId; + if (gSideTimers[GetBattlerSide(battler)].stickyWebBattlerId != 0xFF) + gBattlerAttacker = gSideTimers[GetBattlerSide(battler)].stickyWebBattlerId; break; } case VARIOUS_CUT_1_3_HP_RAISE_STATS: @@ -10576,15 +10498,15 @@ static void Cmd_various(void) case VARIOUS_SET_OCTOLOCK: { VARIOUS_ARGS(const u8 *failInstr); - if (gDisableStructs[gActiveBattler].octolock) + if (gDisableStructs[battler].octolock) { gBattlescriptCurrInstr = cmd->failInstr; } else { - gDisableStructs[gActiveBattler].octolock = TRUE; - gBattleMons[gActiveBattler].status2 |= STATUS2_ESCAPE_PREVENTION; - gDisableStructs[gActiveBattler].battlerPreventingEscape = gBattlerAttacker; + gDisableStructs[battler].octolock = TRUE; + gBattleMons[battler].status2 |= STATUS2_ESCAPE_PREVENTION; + gDisableStructs[battler].battlerPreventingEscape = gBattlerAttacker; gBattlescriptCurrInstr = cmd->nextInstr; } return; @@ -10592,16 +10514,16 @@ static void Cmd_various(void) case VARIOUS_CHECK_POLTERGEIST: { VARIOUS_ARGS(const u8 *failInstr); - if (gBattleMons[gActiveBattler].item == ITEM_NONE + if (gBattleMons[battler].item == ITEM_NONE || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM - || GetBattlerAbility(gActiveBattler) == ABILITY_KLUTZ) + || GetBattlerAbility(battler) == ABILITY_KLUTZ) { gBattlescriptCurrInstr = cmd->failInstr; } else { - PREPARE_ITEM_BUFFER(gBattleTextBuff1, gBattleMons[gActiveBattler].item); - gLastUsedItem = gBattleMons[gActiveBattler].item; + PREPARE_ITEM_BUFFER(gBattleTextBuff1, gBattleMons[battler].item); + gLastUsedItem = gBattleMons[battler].item; gBattlescriptCurrInstr = cmd->nextInstr; } return; @@ -10609,14 +10531,14 @@ static void Cmd_various(void) case VARIOUS_TRY_NO_RETREAT: { VARIOUS_ARGS(const u8 *failInstr); - if (gDisableStructs[gActiveBattler].noRetreat) + if (gDisableStructs[battler].noRetreat) { gBattlescriptCurrInstr = cmd->failInstr; } else { - if (!(gBattleMons[gActiveBattler].status2 & STATUS2_ESCAPE_PREVENTION)) - gDisableStructs[gActiveBattler].noRetreat = TRUE; + if (!(gBattleMons[battler].status2 & STATUS2_ESCAPE_PREVENTION)) + gDisableStructs[battler].noRetreat = TRUE; gBattlescriptCurrInstr = cmd->nextInstr; } return; @@ -10624,13 +10546,13 @@ static void Cmd_various(void) case VARIOUS_TRY_TAR_SHOT: { VARIOUS_ARGS(const u8 *failInstr); - if (gDisableStructs[gActiveBattler].tarShot) + if (gDisableStructs[battler].tarShot) { gBattlescriptCurrInstr = cmd->failInstr; } else { - gDisableStructs[gActiveBattler].tarShot = TRUE; + gDisableStructs[battler].tarShot = TRUE; gBattlescriptCurrInstr = cmd->nextInstr; } return; @@ -10639,8 +10561,8 @@ static void Cmd_various(void) { VARIOUS_ARGS(const u8 *failInstr); // Tar Shot will fail if it's already been used on the target and its speed can't be lowered further - if (!gDisableStructs[gActiveBattler].tarShot - && CompareStat(gActiveBattler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN)) + if (!gDisableStructs[battler].tarShot + && CompareStat(battler, STAT_SPEED, MAX_STAT_STAGE, CMP_LESS_THAN)) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = cmd->failInstr; @@ -10649,7 +10571,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_CANT_FLING: { VARIOUS_ARGS(const u8 *jumpInstr); - if (!CanFling(gActiveBattler)) + if (!CanFling(battler)) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10659,43 +10581,43 @@ static void Cmd_various(void) { VARIOUS_ARGS(); // Check infatuation - if (gBattleMons[gActiveBattler].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { - gBattleMons[gActiveBattler].status2 &= ~(STATUS2_INFATUATION); + gBattleMons[battler].status2 &= ~(STATUS2_INFATUATION); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_INFATUATION; // STRINGID_TARGETGOTOVERINFATUATION StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); } // Check taunt - if (gDisableStructs[gActiveBattler].tauntTimer != 0) + if (gDisableStructs[battler].tauntTimer != 0) { - gDisableStructs[gActiveBattler].tauntTimer = 0; + gDisableStructs[battler].tauntTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_TAUNT; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_TAUNT); } // Check encore - if (gDisableStructs[gActiveBattler].encoreTimer != 0) + if (gDisableStructs[battler].encoreTimer != 0) { - gDisableStructs[gActiveBattler].encoredMove = 0; - gDisableStructs[gActiveBattler].encoreTimer = 0; + gDisableStructs[battler].encoredMove = 0; + gDisableStructs[battler].encoreTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_ENCORE; // STRINGID_PKMNENCOREENDED } // Check torment - if (gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT) + if (gBattleMons[battler].status2 & STATUS2_TORMENT) { - gBattleMons[gActiveBattler].status2 &= ~(STATUS2_TORMENT); + gBattleMons[battler].status2 &= ~(STATUS2_TORMENT); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_TORMENT; } // Check heal block - if (gStatuses3[gActiveBattler] & STATUS3_HEAL_BLOCK) + if (gStatuses3[battler] & STATUS3_HEAL_BLOCK) { - gStatuses3[gActiveBattler] &= ~(STATUS3_HEAL_BLOCK); + gStatuses3[battler] &= ~(STATUS3_HEAL_BLOCK); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_HEALBLOCK; } // Check disable - if (gDisableStructs[gActiveBattler].disableTimer != 0) + if (gDisableStructs[battler].disableTimer != 0) { - gDisableStructs[gActiveBattler].disableTimer = 0; - gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[battler].disableTimer = 0; + gDisableStructs[battler].disabledMove = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_DISABLE; } gBattlescriptCurrInstr = cmd->nextInstr; @@ -10704,10 +10626,10 @@ static void Cmd_various(void) case VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES: { VARIOUS_ARGS(); - gActiveBattler = gBattlerTarget; + battler = gBattlerTarget; for (i = 0; i < NUM_BATTLE_STATS; i++) - if (gBattleMons[gActiveBattler].statStages[i] < DEFAULT_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[i] = DEFAULT_STAT_STAGE; + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; gBattlescriptCurrInstr = cmd->nextInstr; return; } @@ -10732,25 +10654,25 @@ static void Cmd_various(void) case VARIOUS_SAVE_BATTLER_ITEM: { VARIOUS_ARGS(); - gBattleResources->battleHistory->heldItems[gActiveBattler] = gBattleMons[gActiveBattler].item; + gBattleResources->battleHistory->heldItems[battler] = gBattleMons[battler].item; break; } case VARIOUS_RESTORE_BATTLER_ITEM: { VARIOUS_ARGS(); - gBattleMons[gActiveBattler].item = gBattleResources->battleHistory->heldItems[gActiveBattler]; + gBattleMons[battler].item = gBattleResources->battleHistory->heldItems[battler]; break; } case VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM: { VARIOUS_ARGS(); - gBattleMons[gActiveBattler].item = gLastUsedItem; + gBattleMons[battler].item = gLastUsedItem; break; } case VARIOUS_SET_BEAK_BLAST: { VARIOUS_ARGS(); - gProtectStructs[gActiveBattler].beakBlastCharge = TRUE; + gProtectStructs[battler].beakBlastCharge = TRUE; break; } case VARIOUS_SWAP_SIDE_STATUSES: @@ -10810,7 +10732,7 @@ static void Cmd_various(void) case VARIOUS_TEATIME_INVUL: { VARIOUS_ARGS(const u8 *jumpInstr); - if (ItemId_GetPocket(gBattleMons[gActiveBattler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) + if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = cmd->jumpInstr; @@ -10846,13 +10768,13 @@ static void Cmd_various(void) case VARIOUS_TRY_WIND_RIDER_POWER: { VARIOUS_ARGS(const u8 *failInstr); - u16 ability = GetBattlerAbility(gActiveBattler); - if (GetBattlerSide(gActiveBattler) == GetBattlerSide(gBattlerAttacker) + u16 ability = GetBattlerAbility(battler); + if (GetBattlerSide(battler) == GetBattlerSide(gBattlerAttacker) && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) { gLastUsedAbility = ability; - RecordAbilityBattle(gActiveBattler, gLastUsedAbility); - gBattlerAbility = gBattleScripting.battler = gActiveBattler; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattlerAbility = gBattleScripting.battler = battler; gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -10865,20 +10787,20 @@ static void Cmd_various(void) { VARIOUS_ARGS(); gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, gActiveBattler, 0, 0, 0); + AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0); return; } case VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES: { VARIOUS_ARGS(); gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, gActiveBattler, 0, 0, 0); + AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0); return; } case VARIOUS_JUMP_IF_EMERGENCY_EXITED: { VARIOUS_ARGS(const u8 *jumpInstr); - if (gSpecialStatuses[gActiveBattler].emergencyExited) + if (gSpecialStatuses[battler].emergencyExited) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10888,9 +10810,9 @@ static void Cmd_various(void) { VARIOUS_ARGS(); if (gCurrentMove == MOVE_LUNAR_DANCE) - gBattleStruct->storedLunarDance |= gBitTable[gActiveBattler]; + gBattleStruct->storedLunarDance |= gBitTable[battler]; else - gBattleStruct->storedHealingWish |= gBitTable[gActiveBattler]; + gBattleStruct->storedHealingWish |= gBitTable[battler]; break; } case VARIOUS_HIT_SWITCH_TARGET_FAILED: @@ -10903,7 +10825,7 @@ static void Cmd_various(void) case VARIOUS_JUMP_IF_SHELL_TRAP: { VARIOUS_ARGS(const u8 *jumpInstr); - if (gProtectStructs[gActiveBattler].shellTrap) + if (gProtectStructs[battler].shellTrap) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -10928,7 +10850,7 @@ static void Cmd_various(void) struct Pokemon *party = GetSideParty(side); u16 hp = GetMonData(&party[gSelectedMonPartyId], MON_DATA_MAX_HP) / 2; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, gBitTable[gSelectedMonPartyId], sizeof(hp), &hp); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, gBitTable[gSelectedMonPartyId], sizeof(hp), &hp); MarkBattlerForControllerExec(gBattlerAttacker); PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gSelectedMonPartyId], MON_DATA_SPECIES)); @@ -10948,7 +10870,7 @@ static void Cmd_various(void) // Open party menu, wait to go to next instruction. else { - BtlController_EmitChoosePokemon(BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); + BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); MarkBattlerForControllerExec(gBattlerAttacker); } return; @@ -10956,9 +10878,9 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE: { VARIOUS_ARGS(); - if ((i = ShouldDoTrainerSlide(gActiveBattler, TRAINER_SLIDE_Z_MOVE))) + if ((i = ShouldDoTrainerSlide(battler, TRAINER_SLIDE_Z_MOVE))) { - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = (i == 1 ? BattleScript_TrainerASlideMsgRet : BattleScript_TrainerBSlideMsgRet); return; @@ -10968,9 +10890,9 @@ static void Cmd_various(void) case VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION: { VARIOUS_ARGS(); - if ((i = ShouldDoTrainerSlide(gActiveBattler, TRAINER_SLIDE_MEGA_EVOLUTION))) + if ((i = ShouldDoTrainerSlide(battler, TRAINER_SLIDE_MEGA_EVOLUTION))) { - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; BattleScriptPush(cmd->nextInstr); gBattlescriptCurrInstr = (i == 1 ? BattleScript_TrainerASlideMsgRet : BattleScript_TrainerBSlideMsgRet); return; @@ -11098,10 +11020,9 @@ static void Cmd_tryexplosion(void) return; } - gActiveBattler = gBattlerAttacker; - gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMoveDamage = gBattleMons[gBattlerAttacker].hp; + BtlController_EmitHealthBarUpdate(gBattlerAttacker, BUFFER_A, INSTANT_HP_BAR_DROP); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -11112,10 +11033,9 @@ static void Cmd_setatkhptozero(void) if (gBattleControllerExecFlags) return; - gActiveBattler = gBattlerAttacker; - gBattleMons[gActiveBattler].hp = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].hp), &gBattleMons[gActiveBattler].hp); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMons[gBattlerAttacker].hp = 0; + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].hp), &gBattleMons[gBattlerAttacker].hp); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -11326,7 +11246,7 @@ static void Cmd_trysetrest(void) CMD_ARGS(const u8 *failInstr); const u8 *failInstr = cmd->failInstr; - gActiveBattler = gBattlerTarget = gBattlerAttacker; + gBattlerTarget = gBattlerAttacker; gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP * (-1); if (gBattleMons[gBattlerTarget].hp == gBattleMons[gBattlerTarget].maxHP) @@ -11349,8 +11269,8 @@ static void Cmd_trysetrest(void) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_REST; gBattleMons[gBattlerTarget].status1 = STATUS1_SLEEP_TURN(3); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].status1), &gBattleMons[gBattlerTarget].status1); + MarkBattlerForControllerExec(gBattlerTarget); gBattlescriptCurrInstr = cmd->nextInstr; } } @@ -12521,32 +12441,33 @@ static void Cmd_tryinfatuating(void) static void Cmd_updatestatusicon(void) { CMD_ARGS(u8 battler); + u32 battler; if (gBattleControllerExecFlags) return; if (cmd->battler != BS_ATTACKER_WITH_PARTNER) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); - MarkBattlerForControllerExec(gActiveBattler); + battler = GetBattlerForBattleScript(cmd->battler); + BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } else { - gActiveBattler = gBattlerAttacker; - if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + battler = gBattlerAttacker; + if (!(gAbsentBattlerFlags & gBitTable[battler])) { - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + MarkBattlerForControllerExec(battler); } if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); - if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); + if (!(gAbsentBattlerFlags & gBitTable[battler])) { - BtlController_EmitStatusIconUpdate(BUFFER_A, gBattleMons[gActiveBattler].status1, gBattleMons[gActiveBattler].status2); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitStatusIconUpdate(battler, BUFFER_A, gBattleMons[battler].status1, gBattleMons[battler].status2); + MarkBattlerForControllerExec(battler); } } gBattlescriptCurrInstr = cmd->nextInstr; @@ -12632,9 +12553,8 @@ static void Cmd_transformdataexecution(void) gBattleMons[gBattlerAttacker].pp[i] = 5; } - gActiveBattler = gBattlerAttacker; - BtlController_EmitResetActionMoveSelection(BUFFER_A, RESET_MOVE_SELECTION); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitResetActionMoveSelection(gBattlerAttacker, BUFFER_A, RESET_MOVE_SELECTION); + MarkBattlerForControllerExec(gBattlerAttacker); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; } } @@ -13011,7 +12931,6 @@ static void Cmd_copymovepermanently(void) gBattleMons[gBattlerAttacker].moves[gCurrMovePos] = gLastPrintedMoves[gBattlerTarget]; gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = gBattleMoves[gLastPrintedMoves[gBattlerTarget]].pp; - gActiveBattler = gBattlerAttacker; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -13020,8 +12939,8 @@ static void Cmd_copymovepermanently(void) } movePpData.ppBonuses = gBattleMons[gBattlerAttacker].ppBonuses; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_MOVES_PP_BATTLE, 0, sizeof(movePpData), &movePpData); + MarkBattlerForControllerExec(gBattlerAttacker); PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastPrintedMoves[gBattlerTarget]) @@ -13191,14 +13110,13 @@ static void Cmd_tryspiteppreduce(void) PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 1, ppToDeduct) gBattleMons[gBattlerTarget].pp[i] -= ppToDeduct; - gActiveBattler = gBattlerTarget; - // if (MOVE_IS_PERMANENT(gActiveBattler, i)), but backwards - if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i]) - && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + // if (MOVE_IS_PERMANENT(gBattlerTarget, i)), but backwards + if (!(gDisableStructs[gBattlerTarget].mimickedMoves & gBitTable[i]) + && !(gBattleMons[gBattlerTarget].status2 & STATUS2_TRANSFORMED)) { - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gActiveBattler].pp[i]), &gBattleMons[gActiveBattler].pp[i]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_PPMOVE1_BATTLE + i, 0, sizeof(gBattleMons[gBattlerTarget].pp[i]), &gBattleMons[gBattlerTarget].pp[i]); + MarkBattlerForControllerExec(gBattlerTarget); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -13305,9 +13223,8 @@ static void Cmd_healpartystatus(void) if (toHeal) { - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, toHeal, sizeof(zero), &zero); + MarkBattlerForControllerExec(gBattlerAttacker); } gBattlescriptCurrInstr = cmd->nextInstr; @@ -13982,10 +13899,9 @@ static void Cmd_trymemento(void) else { // Success, drop user's HP bar to 0 - gActiveBattler = gBattlerAttacker; - gBattleMoveDamage = gBattleMons[gActiveBattler].hp; - BtlController_EmitHealthBarUpdate(BUFFER_A, INSTANT_HP_BAR_DROP); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMoveDamage = gBattleMons[gBattlerAttacker].hp; + BtlController_EmitHealthBarUpdate(gBattlerAttacker, BUFFER_A, INSTANT_HP_BAR_DROP); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } } @@ -14048,9 +13964,8 @@ static void Cmd_cureifburnedparalysedorpoisoned(void) { gBattleMons[gBattlerAttacker].status1 = 0; gBattlescriptCurrInstr = cmd->nextInstr; - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].status1), &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].status1), &gBattleMons[gBattlerAttacker].status1); + MarkBattlerForControllerExec(gBattlerAttacker); } else { @@ -14205,12 +14120,10 @@ static void Cmd_tryswapitems(void) RecordItemEffectBattle(gBattlerAttacker, 0); RecordItemEffectBattle(gBattlerTarget, ItemId_GetHoldEffect(oldItemAtk)); - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(*newItemAtk), newItemAtk); MarkBattlerForControllerExec(gBattlerAttacker); - gActiveBattler = gBattlerTarget; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); + BtlController_EmitSetMonData(gBattlerTarget, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerTarget].item), &gBattleMons[gBattlerTarget].item); MarkBattlerForControllerExec(gBattlerTarget); gBattleStruct->choicedMove[gBattlerTarget] = MOVE_NONE; @@ -14636,35 +14549,35 @@ static void Cmd_switchoutabilities(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - if (gBattleMons[gActiveBattler].ability == ABILITY_NEUTRALIZING_GAS) + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (gBattleMons[battler].ability == ABILITY_NEUTRALIZING_GAS) { - gBattleMons[gActiveBattler].ability = ABILITY_NONE; + gBattleMons[battler].ability = ABILITY_NONE; BattleScriptPush(gBattlescriptCurrInstr); gBattlescriptCurrInstr = BattleScript_NeutralizingGasExits; } else { - switch (GetBattlerAbility(gActiveBattler)) + switch (GetBattlerAbility(battler)) { case ABILITY_NATURAL_CURE: - gBattleMons[gActiveBattler].status1 = 0; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, - gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], - sizeof(gBattleMons[gActiveBattler].status1), - &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + gBattleMons[battler].status1 = 0; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, + gBitTable[*(gBattleStruct->battlerPartyIndexes + battler)], + sizeof(gBattleMons[battler].status1), + &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); break; case ABILITY_REGENERATOR: - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 3; - gBattleMoveDamage += gBattleMons[gActiveBattler].hp; - if (gBattleMoveDamage > gBattleMons[gActiveBattler].maxHP) - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HP_BATTLE, - gBitTable[*(gBattleStruct->battlerPartyIndexes + gActiveBattler)], + gBattleMoveDamage = gBattleMons[battler].maxHP / 3; + gBattleMoveDamage += gBattleMons[battler].hp; + if (gBattleMoveDamage > gBattleMons[battler].maxHP) + gBattleMoveDamage = gBattleMons[battler].maxHP; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HP_BATTLE, + gBitTable[*(gBattleStruct->battlerPartyIndexes + battler)], sizeof(gBattleMoveDamage), &gBattleMoveDamage); - MarkBattlerForControllerExec(gActiveBattler); + MarkBattlerForControllerExec(battler); break; } @@ -14969,16 +14882,15 @@ static void Cmd_tryrecycleitem(void) u16 *usedHeldItem; - gActiveBattler = gBattlerAttacker; - usedHeldItem = &gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gActiveBattler]][GetBattlerSide(gActiveBattler)]; - if (*usedHeldItem != ITEM_NONE && gBattleMons[gActiveBattler].item == ITEM_NONE) + usedHeldItem = &gBattleStruct->usedHeldItems[gBattlerPartyIndexes[gBattlerAttacker]][GetBattlerSide(gBattlerAttacker)]; + if (*usedHeldItem != ITEM_NONE && gBattleMons[gBattlerAttacker].item == ITEM_NONE) { gLastUsedItem = *usedHeldItem; *usedHeldItem = ITEM_NONE; - gBattleMons[gActiveBattler].item = gLastUsedItem; + gBattleMons[gBattlerAttacker].item = gLastUsedItem; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gActiveBattler].item), &gBattleMons[gActiveBattler].item); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, sizeof(gBattleMons[gBattlerAttacker].item), &gBattleMons[gBattlerAttacker].item); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -15134,19 +15046,18 @@ static void Cmd_handleballthrow(void) if (gBattleControllerExecFlags) return; - gActiveBattler = gBattlerAttacker; gBattlerTarget = GetCatchingBattler(); if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_TRAINER_BLOCK); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, BALL_TRAINER_BLOCK); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_TrainerBallBlock; } else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_3_SHAKES_SUCCESS); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, BALL_3_SHAKES_SUCCESS); + MarkBattlerForControllerExec(gBattlerAttacker); gBattlescriptCurrInstr = BattleScript_WallyBallThrow; } else @@ -15356,8 +15267,8 @@ static void Cmd_handleballthrow(void) if (odds > 254) // mon caught { - BtlController_EmitBallThrowAnim(BUFFER_A, BALL_3_SHAKES_SUCCESS); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, BALL_3_SHAKES_SUCCESS); + MarkBattlerForControllerExec(gBattlerAttacker); TryBattleFormChange(gBattlerTarget, FORM_CHANGE_END_BATTLE); gBattlescriptCurrInstr = BattleScript_SuccessBallThrow; SetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattlerTarget]], MON_DATA_POKEBALL, &gLastUsedItem); @@ -15404,8 +15315,8 @@ static void Cmd_handleballthrow(void) for (shakes = 0; shakes < maxShakes && Random() < odds; shakes++); } - BtlController_EmitBallThrowAnim(BUFFER_A, shakes); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitBallThrowAnim(gBattlerAttacker, BUFFER_A, shakes); + MarkBattlerForControllerExec(gBattlerAttacker); if (shakes == maxShakes) // mon caught, copy of the code above { @@ -15727,9 +15638,9 @@ static void Cmd_trainerslideout(void) { CMD_ARGS(u8 position); - gActiveBattler = GetBattlerAtPosition(cmd->position); - BtlController_EmitTrainerSlideBack(BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + u32 battler = GetBattlerAtPosition(cmd->position); + BtlController_EmitTrainerSlideBack(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); gBattlescriptCurrInstr = cmd->nextInstr; } diff --git a/src/battle_util.c b/src/battle_util.c index d98d48db43..486f9d6334 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -58,13 +58,13 @@ functions instead of at the top of the file with the other declarations. */ static bool32 TryRemoveScreens(u8 battler); -static bool32 IsUnnerveAbilityOnOpposingSide(u8 battlerId); +static bool32 IsUnnerveAbilityOnOpposingSide(u8 battler); static u8 GetFlingPowerFromItemId(u16 itemId); static void SetRandomMultiHitCounter(); -static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item); +static u32 GetBattlerItemHoldEffectParam(u8 battler, u16 item); static uq4_12_t GetInverseTypeMultiplier(uq4_12_t multiplier); -static uq4_12_t GetSupremeOverlordModifier(u8 battlerId); -static bool8 CanBeInfinitelyConfused(u8 battlerId); +static uq4_12_t GetSupremeOverlordModifier(u8 battler); +static bool8 CanBeInfinitelyConfused(u8 battler); extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForRunningByItem[]; @@ -257,7 +257,7 @@ bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move) // Functions void HandleAction_UseMove(void) { - u32 i, side, moveType, var = 4; + u32 battler, i, side, moveType, var = 4; u16 moveTarget; gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; @@ -352,18 +352,18 @@ void HandleAction_UseMove(void) || (GetBattlerAbility(*(gBattleStruct->moveTarget + gBattlerAttacker)) != ABILITY_STORM_DRAIN && moveType == TYPE_WATER))) { side = GetBattlerSide(gBattlerAttacker); - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (side != GetBattlerSide(gActiveBattler) - && *(gBattleStruct->moveTarget + gBattlerAttacker) != gActiveBattler - && ((GetBattlerAbility(gActiveBattler) == ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) - || (GetBattlerAbility(gActiveBattler) == ABILITY_STORM_DRAIN && moveType == TYPE_WATER)) - && GetBattlerTurnOrderNum(gActiveBattler) < var + if (side != GetBattlerSide(battler) + && *(gBattleStruct->moveTarget + gBattlerAttacker) != battler + && ((GetBattlerAbility(battler) == ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) + || (GetBattlerAbility(battler) == ABILITY_STORM_DRAIN && moveType == TYPE_WATER)) + && GetBattlerTurnOrderNum(battler) < var && gBattleMoves[gCurrentMove].effect != EFFECT_SNIPE_SHOT && (GetBattlerAbility(gBattlerAttacker) != ABILITY_PROPELLER_TAIL || GetBattlerAbility(gBattlerAttacker) != ABILITY_STALWART)) { - var = GetBattlerTurnOrderNum(gActiveBattler); + var = GetBattlerTurnOrderNum(battler); } } if (var == 4) @@ -417,15 +417,15 @@ void HandleAction_UseMove(void) else { u16 battlerAbility; - gActiveBattler = gBattlerByTurnOrder[var]; - battlerAbility = GetBattlerAbility(gActiveBattler); + battler = gBattlerByTurnOrder[var]; + battlerAbility = GetBattlerAbility(battler); - RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + RecordAbilityBattle(battler, gBattleMons[battler].ability); if (battlerAbility == ABILITY_LIGHTNING_ROD && gCurrentMove != MOVE_TEATIME) - gSpecialStatuses[gActiveBattler].lightningRodRedirected = TRUE; + gSpecialStatuses[battler].lightningRodRedirected = TRUE; else if (battlerAbility == ABILITY_STORM_DRAIN) - gSpecialStatuses[gActiveBattler].stormDrainRedirected = TRUE; - gBattlerTarget = gActiveBattler; + gSpecialStatuses[battler].stormDrainRedirected = TRUE; + gBattlerTarget = battler; } } else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE @@ -1232,9 +1232,8 @@ void PressurePPLose(u8 target, u8 attacker, u16 move) if (MOVE_IS_PERMANENT(attacker, moveIndex)) { - gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(attacker, BUFFER_A, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[attacker].pp[moveIndex]); + MarkBattlerForControllerExec(attacker); } } @@ -1264,9 +1263,8 @@ void PressurePPLoseOnUsingImprison(u8 attacker) if (imprisonPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, imprisonPos)) { - gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisonPos]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(attacker, BUFFER_A, REQUEST_PPMOVE1_BATTLE + imprisonPos, 0, 1, &gBattleMons[attacker].pp[imprisonPos]); + MarkBattlerForControllerExec(attacker); } } @@ -1295,9 +1293,8 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker) if (perishSongPos != MAX_MON_MOVES && MOVE_IS_PERMANENT(attacker, perishSongPos)) { - gActiveBattler = attacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(attacker, BUFFER_A, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[attacker].pp[perishSongPos]); + MarkBattlerForControllerExec(attacker); } } @@ -1318,30 +1315,30 @@ static void MarkAllBattlersForControllerExec(void) } } -bool32 IsBattlerMarkedForControllerExec(u8 battlerId) +bool32 IsBattlerMarkedForControllerExec(u8 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - return (gBattleControllerExecFlags & (gBitTable[battlerId] << 0x1C)) != 0; + return (gBattleControllerExecFlags & (gBitTable[battler] << 0x1C)) != 0; else - return (gBattleControllerExecFlags & (gBitTable[battlerId])) != 0; + return (gBattleControllerExecFlags & (gBitTable[battler])) != 0; } -void MarkBattlerForControllerExec(u8 battlerId) +void MarkBattlerForControllerExec(u8 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) - gBattleControllerExecFlags |= gBitTable[battlerId] << (32 - MAX_BATTLERS_COUNT); + gBattleControllerExecFlags |= gBitTable[battler] << (32 - MAX_BATTLERS_COUNT); else - gBattleControllerExecFlags |= gBitTable[battlerId]; + gBattleControllerExecFlags |= gBitTable[battler]; } -void MarkBattlerReceivedLinkData(u8 battlerId) +void MarkBattlerReceivedLinkData(u8 battler) { s32 i; for (i = 0; i < GetLinkPlayerCount(); i++) - gBattleControllerExecFlags |= gBitTable[battlerId] << (i << 2); + gBattleControllerExecFlags |= gBitTable[battler] << (i << 2); - gBattleControllerExecFlags &= ~((1 << 28) << battlerId); + gBattleControllerExecFlags &= ~((1 << 28) << battler); } void CancelMultiTurnMoves(u8 battler) @@ -1496,9 +1493,8 @@ void PrepareStringBattle(u16 stringId, u8 battler) && gBattleStruct->trainerSlidePlayerMonUnaffectedMsgState != 2) gBattleStruct->trainerSlidePlayerMonUnaffectedMsgState = 1; - gActiveBattler = battler; - BtlController_EmitPrintString(BUFFER_A, stringId); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitPrintString(battler, BUFFER_A, stringId); + MarkBattlerForControllerExec(battler); } void ResetSentPokesToOpponentValue(void) @@ -1831,63 +1827,63 @@ u8 TrySetCantSelectMoveBattleScript(void) return limitations; } -u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u16 check) +u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u16 check) { - u8 holdEffect = GetBattlerHoldEffect(battlerId, TRUE); - u16 *choicedMove = &gBattleStruct->choicedMove[battlerId]; + u8 holdEffect = GetBattlerHoldEffect(battler, TRUE); + u16 *choicedMove = &gBattleStruct->choicedMove[battler]; s32 i; - gPotentialItemEffectBattler = battlerId; + gPotentialItemEffectBattler = battler; for (i = 0; i < MAX_MON_MOVES; i++) { // No move - if (check & MOVE_LIMITATION_ZEROMOVE && gBattleMons[battlerId].moves[i] == MOVE_NONE) + if (check & MOVE_LIMITATION_ZEROMOVE && gBattleMons[battler].moves[i] == MOVE_NONE) unusableMoves |= gBitTable[i]; // No PP - else if (check & MOVE_LIMITATION_PP && gBattleMons[battlerId].pp[i] == 0) + else if (check & MOVE_LIMITATION_PP && gBattleMons[battler].pp[i] == 0) unusableMoves |= gBitTable[i]; // Placeholder - else if (check & MOVE_LIMITATION_PLACEHOLDER && gBattleMoves[gBattleMons[battlerId].moves[i]].effect == EFFECT_PLACEHOLDER) + else if (check & MOVE_LIMITATION_PLACEHOLDER && gBattleMoves[gBattleMons[battler].moves[i]].effect == EFFECT_PLACEHOLDER) unusableMoves |= gBitTable[i]; // Disable - else if (check & MOVE_LIMITATION_DISABLED && gBattleMons[battlerId].moves[i] == gDisableStructs[battlerId].disabledMove) + else if (check & MOVE_LIMITATION_DISABLED && gBattleMons[battler].moves[i] == gDisableStructs[battler].disabledMove) unusableMoves |= gBitTable[i]; // Torment - else if (check & MOVE_LIMITATION_TORMENTED && gBattleMons[battlerId].moves[i] == gLastMoves[battlerId] && gBattleMons[battlerId].status2 & STATUS2_TORMENT) + else if (check & MOVE_LIMITATION_TORMENTED && gBattleMons[battler].moves[i] == gLastMoves[battler] && gBattleMons[battler].status2 & STATUS2_TORMENT) unusableMoves |= gBitTable[i]; // Taunt - else if (check & MOVE_LIMITATION_TAUNT && gDisableStructs[battlerId].tauntTimer && IS_MOVE_STATUS(gBattleMons[battlerId].moves[i])) + else if (check & MOVE_LIMITATION_TAUNT && gDisableStructs[battler].tauntTimer && IS_MOVE_STATUS(gBattleMons[battler].moves[i])) unusableMoves |= gBitTable[i]; // Imprison - else if (check & MOVE_LIMITATION_IMPRISON && GetImprisonedMovesCount(battlerId, gBattleMons[battlerId].moves[i])) + else if (check & MOVE_LIMITATION_IMPRISON && GetImprisonedMovesCount(battler, gBattleMons[battler].moves[i])) unusableMoves |= gBitTable[i]; // Encore - else if (check & MOVE_LIMITATION_ENCORE && gDisableStructs[battlerId].encoreTimer && gDisableStructs[battlerId].encoredMove != gBattleMons[battlerId].moves[i]) + else if (check & MOVE_LIMITATION_ENCORE && gDisableStructs[battler].encoreTimer && gDisableStructs[battler].encoredMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; // Choice Items - else if (check & MOVE_LIMITATION_CHOICE_ITEM && HOLD_EFFECT_CHOICE(holdEffect) && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i]) + else if (check & MOVE_LIMITATION_CHOICE_ITEM && HOLD_EFFECT_CHOICE(holdEffect) && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; // Assault Vest - else if (check & MOVE_LIMITATION_ASSAULT_VEST && holdEffect == HOLD_EFFECT_ASSAULT_VEST && IS_MOVE_STATUS(gBattleMons[battlerId].moves[i]) && gBattleMons[battlerId].moves[i] != MOVE_ME_FIRST) + else if (check & MOVE_LIMITATION_ASSAULT_VEST && holdEffect == HOLD_EFFECT_ASSAULT_VEST && IS_MOVE_STATUS(gBattleMons[battler].moves[i]) && gBattleMons[battler].moves[i] != MOVE_ME_FIRST) unusableMoves |= gBitTable[i]; // Gravity - else if (check & MOVE_LIMITATION_GRAVITY && IsGravityPreventingMove(gBattleMons[battlerId].moves[i])) + else if (check & MOVE_LIMITATION_GRAVITY && IsGravityPreventingMove(gBattleMons[battler].moves[i])) unusableMoves |= gBitTable[i]; // Heal Block - else if (check & MOVE_LIMITATION_HEAL_BLOCK && IsHealBlockPreventingMove(battlerId, gBattleMons[battlerId].moves[i])) + else if (check & MOVE_LIMITATION_HEAL_BLOCK && IsHealBlockPreventingMove(battler, gBattleMons[battler].moves[i])) unusableMoves |= gBitTable[i]; // Belch - else if (check & MOVE_LIMITATION_BELCH && IsBelchPreventingMove(battlerId, gBattleMons[battlerId].moves[i])) + else if (check & MOVE_LIMITATION_BELCH && IsBelchPreventingMove(battler, gBattleMons[battler].moves[i])) unusableMoves |= gBitTable[i]; // Throat Chop - else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battlerId].throatChopTimer && gBattleMoves[gBattleMons[battlerId].moves[i]].soundMove) + else if (check & MOVE_LIMITATION_THROAT_CHOP && gDisableStructs[battler].throatChopTimer && gBattleMoves[gBattleMons[battler].moves[i]].soundMove) unusableMoves |= gBitTable[i]; // Stuff Cheeks - else if (check & MOVE_LIMITATION_STUFF_CHEEKS && gBattleMons[battlerId].moves[i] == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battlerId].item) != POCKET_BERRIES) + else if (check & MOVE_LIMITATION_STUFF_CHEEKS && gBattleMons[battler].moves[i] == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES) unusableMoves |= gBitTable[i]; // Gorilla Tactics - else if (check & MOVE_LIMITATION_CHOICE_ITEM && GetBattlerAbility(battlerId) == ABILITY_GORILLA_TACTICS && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battlerId].moves[i]) + else if (check & MOVE_LIMITATION_CHOICE_ITEM && GetBattlerAbility(battler) == ABILITY_GORILLA_TACTICS && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; } return unusableMoves; @@ -1912,11 +1908,11 @@ bool8 AreAllMovesUnusable(void) } #undef ALL_MOVES_MASK -u8 GetImprisonedMovesCount(u8 battlerId, u16 move) +u8 GetImprisonedMovesCount(u8 battler, u16 move) { s32 i; u8 imprisonedMoves = 0; - u8 battlerSide = GetBattlerSide(battlerId); + u8 battlerSide = GetBattlerSide(battler); for (i = 0; i < gBattlersCount; i++) { @@ -1936,11 +1932,11 @@ u8 GetImprisonedMovesCount(u8 battlerId, u16 move) return imprisonedMoves; } -u32 GetBattlerFriendshipScore(u8 battlerId) +u32 GetBattlerFriendshipScore(u8 battler) { - u8 side = GetBattlerSide(battlerId); + u8 side = GetBattlerSide(battler); struct Pokemon *party = GetSideParty(side); - u16 species = GetMonData(&party[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + u16 species = GetMonData(&party[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES); if (side != B_SIDE_PLAYER) return FRIENDSHIP_NONE; @@ -1952,7 +1948,7 @@ u32 GetBattlerFriendshipScore(u8 battlerId) | BATTLE_TYPE_SECRET_BASE))) return FRIENDSHIP_NONE; - return GetMonFriendshipScore(&party[gBattlerPartyIndexes[battlerId]]); + return GetMonFriendshipScore(&party[gBattlerPartyIndexes[battler]]); } static void TryToRevertMimicry(void) @@ -2545,7 +2541,7 @@ s32 GetDrainedBigRootHp(u32 battler, s32 hp) #define MAGIC_GUARD_CHECK \ if (ability == ABILITY_MAGIC_GUARD) \ {\ - RecordAbilityBattle(gActiveBattler, ability);\ + RecordAbilityBattle(battler, ability);\ gBattleStruct->turnEffectsTracker++;\ break;\ } @@ -2553,74 +2549,74 @@ if (ability == ABILITY_MAGIC_GUARD) \ u8 DoBattlerEndTurnEffects(void) { - u32 ability, i, effect = 0; + u32 battler, ability, i, effect = 0; gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); while (gBattleStruct->turnEffectsBattlerId < gBattlersCount && gBattleStruct->turnEffectsTracker <= ENDTURN_BATTLER_COUNT) { - gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; - if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) + battler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->turnEffectsBattlerId]; + if (gAbsentBattlerFlags & gBitTable[battler]) { gBattleStruct->turnEffectsBattlerId++; continue; } - ability = GetBattlerAbility(gActiveBattler); + ability = GetBattlerAbility(battler); switch (gBattleStruct->turnEffectsTracker) { case ENDTURN_INGRAIN: // ingrain - if ((gStatuses3[gActiveBattler] & STATUS3_ROOTED) - && !BATTLER_MAX_HP(gActiveBattler) - && !(gStatuses3[gActiveBattler] & STATUS3_HEAL_BLOCK) - && gBattleMons[gActiveBattler].hp != 0) + if ((gStatuses3[battler] & STATUS3_ROOTED) + && !BATTLER_MAX_HP(battler) + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) + && gBattleMons[battler].hp != 0) { - gBattleMoveDamage = GetDrainedBigRootHp(gActiveBattler, gBattleMons[gActiveBattler].maxHP / 16); + gBattleMoveDamage = GetDrainedBigRootHp(battler, gBattleMons[battler].maxHP / 16); BattleScriptExecute(BattleScript_IngrainTurnHeal); effect++; } gBattleStruct->turnEffectsTracker++; break; case ENDTURN_AQUA_RING: // aqua ring - if ((gStatuses3[gActiveBattler] & STATUS3_AQUA_RING) - && !BATTLER_MAX_HP(gActiveBattler) - && !(gStatuses3[gActiveBattler] & STATUS3_HEAL_BLOCK) - && gBattleMons[gActiveBattler].hp != 0) + if ((gStatuses3[battler] & STATUS3_AQUA_RING) + && !BATTLER_MAX_HP(battler) + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) + && gBattleMons[battler].hp != 0) { - gBattleMoveDamage = GetDrainedBigRootHp(gActiveBattler, gBattleMons[gActiveBattler].maxHP / 16); + gBattleMoveDamage = GetDrainedBigRootHp(battler, gBattleMons[battler].maxHP / 16); BattleScriptExecute(BattleScript_AquaRingHeal); effect++; } gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ABILITIES: // end turn abilities - if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, gActiveBattler, 0, 0, 0)) + if (AbilityBattleEffects(ABILITYEFFECT_ENDTURN, battler, 0, 0, 0)) effect++; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ITEMS1: // item effects - if (ItemBattleEffects(ITEMEFFECT_NORMAL, gActiveBattler, FALSE)) + if (ItemBattleEffects(ITEMEFFECT_NORMAL, battler, FALSE)) effect++; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ITEMS2: // item effects again - if (ItemBattleEffects(ITEMEFFECT_NORMAL, gActiveBattler, TRUE)) + if (ItemBattleEffects(ITEMEFFECT_NORMAL, battler, TRUE)) effect++; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ORBS: - if (IsBattlerAlive(gActiveBattler) && ItemBattleEffects(ITEMEFFECT_ORBS, gActiveBattler, FALSE)) + if (IsBattlerAlive(battler) && ItemBattleEffects(ITEMEFFECT_ORBS, battler, FALSE)) effect++; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_LEECH_SEED: // leech seed - if ((gStatuses3[gActiveBattler] & STATUS3_LEECHSEED) - && gBattleMons[gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BATTLER].hp != 0 - && gBattleMons[gActiveBattler].hp != 0) + if ((gStatuses3[battler] & STATUS3_LEECHSEED) + && gBattleMons[gStatuses3[battler] & STATUS3_LEECHSEED_BATTLER].hp != 0 + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; - gBattlerTarget = gStatuses3[gActiveBattler] & STATUS3_LEECHSEED_BATTLER; // Notice gBattlerTarget is actually the HP receiver. - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattlerTarget = gStatuses3[battler] & STATUS3_LEECHSEED_BATTLER; // Notice gBattlerTarget is actually the HP receiver. + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleScripting.animArg1 = gBattlerTarget; @@ -2631,16 +2627,16 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_POISON: // poison - if ((gBattleMons[gActiveBattler].status1 & STATUS1_POISON) - && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status1 & STATUS1_POISON) + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; if (ability == ABILITY_POISON_HEAL) { - if (!BATTLER_MAX_HP(gActiveBattler) && !(gStatuses3[gActiveBattler] & STATUS3_HEAL_BLOCK)) + if (!BATTLER_MAX_HP(battler) && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) { - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -2650,7 +2646,7 @@ u8 DoBattlerEndTurnEffects(void) } else { - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_PoisonTurnDmg); @@ -2660,16 +2656,16 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_BAD_POISON: // toxic poison - if ((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_POISON) - && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status1 & STATUS1_TOXIC_POISON) + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; if (ability == ABILITY_POISON_HEAL) { - if (!BATTLER_MAX_HP(gActiveBattler) && !(gStatuses3[gActiveBattler] & STATUS3_HEAL_BLOCK)) + if (!BATTLER_MAX_HP(battler) && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) { - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -2679,12 +2675,12 @@ u8 DoBattlerEndTurnEffects(void) } else { - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if ((gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_COUNTER) != STATUS1_TOXIC_TURN(15)) // not 16 turns - gBattleMons[gActiveBattler].status1 += STATUS1_TOXIC_TURN(1); - gBattleMoveDamage *= (gBattleMons[gActiveBattler].status1 & STATUS1_TOXIC_COUNTER) >> 8; + if ((gBattleMons[battler].status1 & STATUS1_TOXIC_COUNTER) != STATUS1_TOXIC_TURN(15)) // not 16 turns + gBattleMons[battler].status1 += STATUS1_TOXIC_TURN(1); + gBattleMoveDamage *= (gBattleMons[battler].status1 & STATUS1_TOXIC_COUNTER) >> 8; BattleScriptExecute(BattleScript_PoisonTurnDmg); effect++; } @@ -2692,19 +2688,19 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_BURN: // burn - if ((gBattleMons[gActiveBattler].status1 & STATUS1_BURN) - && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status1 & STATUS1_BURN) + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; #if B_BURN_DAMAGE >= GEN_7 - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; #else - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; #endif if (ability == ABILITY_HEATPROOF) { if (gBattleMoveDamage > (gBattleMoveDamage / 2) + 1) // Record ability if the burn takes less damage than it normally would. - RecordAbilityBattle(gActiveBattler, ABILITY_HEATPROOF); + RecordAbilityBattle(battler, ABILITY_HEATPROOF); gBattleMoveDamage /= 2; } if (gBattleMoveDamage == 0) @@ -2715,14 +2711,14 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_FROSTBITE: // burn - if ((gBattleMons[gActiveBattler].status1 & STATUS1_FROSTBITE) - && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status1 & STATUS1_FROSTBITE) + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; #if B_BURN_DAMAGE >= GEN_7 - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; #else - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; #endif if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; @@ -2732,15 +2728,15 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_NIGHTMARES: // spooky nightmares - if ((gBattleMons[gActiveBattler].status2 & STATUS2_NIGHTMARE) - && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status2 & STATUS2_NIGHTMARE) + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; // R/S does not perform this sleep check, which causes the nightmare effect to // persist even after the affected Pokemon has been awakened by Shed Skin. - if (gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; + gBattleMoveDamage = gBattleMons[battler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_NightmareTurnDmg); @@ -2748,17 +2744,17 @@ u8 DoBattlerEndTurnEffects(void) } else { - gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; } } gBattleStruct->turnEffectsTracker++; break; case ENDTURN_CURSE: // curse - if ((gBattleMons[gActiveBattler].status2 & STATUS2_CURSED) - && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status2 & STATUS2_CURSED) + && gBattleMons[battler].hp != 0) { MAGIC_GUARD_CHECK; - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 4; + gBattleMoveDamage = gBattleMons[battler].maxHP / 4; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_CurseTurnDmg); @@ -2767,25 +2763,25 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_WRAP: // wrap - if ((gBattleMons[gActiveBattler].status2 & STATUS2_WRAPPED) && gBattleMons[gActiveBattler].hp != 0) + if ((gBattleMons[battler].status2 & STATUS2_WRAPPED) && gBattleMons[battler].hp != 0) { - if (--gDisableStructs[gActiveBattler].wrapTurns != 0) // damaged by wrap + if (--gDisableStructs[battler].wrapTurns != 0) // damaged by wrap { MAGIC_GUARD_CHECK; - gBattleScripting.animArg1 = gBattleStruct->wrappedMove[gActiveBattler]; - gBattleScripting.animArg2 = gBattleStruct->wrappedMove[gActiveBattler] >> 8; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[gActiveBattler]); + gBattleScripting.animArg1 = gBattleStruct->wrappedMove[battler]; + gBattleScripting.animArg2 = gBattleStruct->wrappedMove[battler] >> 8; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[battler]); gBattlescriptCurrInstr = BattleScript_WrapTurnDmg; - if (GetBattlerHoldEffect(gBattleStruct->wrappedBy[gActiveBattler], TRUE) == HOLD_EFFECT_BINDING_BAND) + if (GetBattlerHoldEffect(gBattleStruct->wrappedBy[battler], TRUE) == HOLD_EFFECT_BINDING_BAND) #if B_BINDING_DAMAGE >= GEN_6 - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 6; + gBattleMoveDamage = gBattleMons[battler].maxHP / 6; else - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; #else - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; else - gBattleMoveDamage = gBattleMons[gActiveBattler].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; #endif if (gBattleMoveDamage == 0) @@ -2793,8 +2789,8 @@ u8 DoBattlerEndTurnEffects(void) } else // broke free { - gBattleMons[gActiveBattler].status2 &= ~STATUS2_WRAPPED; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[gActiveBattler]); + gBattleMons[battler].status2 &= ~STATUS2_WRAPPED; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gBattleStruct->wrappedMove[battler]); gBattlescriptCurrInstr = BattleScript_WrapEnds; } BattleScriptExecute(gBattlescriptCurrInstr); @@ -2804,14 +2800,14 @@ u8 DoBattlerEndTurnEffects(void) break; case ENDTURN_OCTOLOCK: { - u16 battlerAbility = GetBattlerAbility(gActiveBattler); - if (gDisableStructs[gActiveBattler].octolock - && !(GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_CLEAR_AMULET + u16 battlerAbility = GetBattlerAbility(battler); + if (gDisableStructs[battler].octolock + && !(GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET || battlerAbility == ABILITY_CLEAR_BODY || battlerAbility == ABILITY_FULL_METAL_BODY || battlerAbility == ABILITY_WHITE_SMOKE)) { - gBattlerTarget = gActiveBattler; + gBattlerTarget = battler; BattleScriptExecute(BattleScript_OctolockEndTurn); effect++; } @@ -2819,7 +2815,7 @@ u8 DoBattlerEndTurnEffects(void) } break; case ENDTURN_UPROAR: // uproar - if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) + if (gBattleMons[battler].status2 & STATUS2_UPROAR) { for (gBattlerAttacker = 0; gBattlerAttacker < gBattlersCount; gBattlerAttacker++) { @@ -2830,9 +2826,8 @@ u8 DoBattlerEndTurnEffects(void) gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; gBattleCommunication[MULTISTRING_CHOOSER] = 1; BattleScriptExecute(BattleScript_MonWokeUpInUproar); - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerAttacker].status1); + MarkBattlerForControllerExec(gBattlerAttacker); break; } } @@ -2843,22 +2838,22 @@ u8 DoBattlerEndTurnEffects(void) } else { - gBattlerAttacker = gActiveBattler; - gBattleMons[gActiveBattler].status2 -= STATUS2_UPROAR_TURN(1); // uproar timer goes down - if (WasUnableToUseMove(gActiveBattler)) + gBattlerAttacker = battler; + gBattleMons[battler].status2 -= STATUS2_UPROAR_TURN(1); // uproar timer goes down + if (WasUnableToUseMove(battler)) { - CancelMultiTurnMoves(gActiveBattler); + CancelMultiTurnMoves(battler); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_ENDS; } - else if (gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR) + else if (gBattleMons[battler].status2 & STATUS2_UPROAR) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_CONTINUES; - gBattleMons[gActiveBattler].status2 |= STATUS2_MULTIPLETURNS; + gBattleMons[battler].status2 |= STATUS2_MULTIPLETURNS; } else { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_UPROAR_ENDS; - CancelMultiTurnMoves(gActiveBattler); + CancelMultiTurnMoves(battler); } BattleScriptExecute(BattleScript_PrintUproarOverTurns); effect = 1; @@ -2869,20 +2864,20 @@ u8 DoBattlerEndTurnEffects(void) break; case ENDTURN_THRASH: // thrash // Don't decrement STATUS2_LOCK_CONFUSE if the target is held by Sky Drop - if (gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE && !(gStatuses3[gActiveBattler] & STATUS3_SKY_DROPPED)) + if (gBattleMons[battler].status2 & STATUS2_LOCK_CONFUSE && !(gStatuses3[battler] & STATUS3_SKY_DROPPED)) { - gBattleMons[gActiveBattler].status2 -= STATUS2_LOCK_CONFUSE_TURN(1); - if (WasUnableToUseMove(gActiveBattler)) - CancelMultiTurnMoves(gActiveBattler); - else if (!(gBattleMons[gActiveBattler].status2 & STATUS2_LOCK_CONFUSE) - && (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS)) + gBattleMons[battler].status2 -= STATUS2_LOCK_CONFUSE_TURN(1); + if (WasUnableToUseMove(battler)) + CancelMultiTurnMoves(battler); + else if (!(gBattleMons[battler].status2 & STATUS2_LOCK_CONFUSE) + && (gBattleMons[battler].status2 & STATUS2_MULTIPLETURNS)) { - gBattleMons[gActiveBattler].status2 &= ~STATUS2_MULTIPLETURNS; - if (!(gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION)) + gBattleMons[battler].status2 &= ~STATUS2_MULTIPLETURNS; + if (!(gBattleMons[battler].status2 & STATUS2_CONFUSION)) { gBattleScripting.moveEffect = MOVE_EFFECT_CONFUSION | MOVE_EFFECT_AFFECTS_USER; SetMoveEffect(TRUE, 0); - if (gBattleMons[gActiveBattler].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) BattleScriptExecute(BattleScript_ThrashConfuses); effect++; } @@ -2891,25 +2886,25 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_FLINCH: // reset flinch - gBattleMons[gActiveBattler].status2 &= ~STATUS2_FLINCHED; + gBattleMons[battler].status2 &= ~STATUS2_FLINCHED; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_DISABLE: // disable - if (gDisableStructs[gActiveBattler].disableTimer != 0) + if (gDisableStructs[battler].disableTimer != 0) { for (i = 0; i < MAX_MON_MOVES; i++) { - if (gDisableStructs[gActiveBattler].disabledMove == gBattleMons[gActiveBattler].moves[i]) + if (gDisableStructs[battler].disabledMove == gBattleMons[battler].moves[i]) break; } if (i == MAX_MON_MOVES) // pokemon does not have the disabled move anymore { - gDisableStructs[gActiveBattler].disabledMove = 0; - gDisableStructs[gActiveBattler].disableTimer = 0; + gDisableStructs[battler].disabledMove = 0; + gDisableStructs[battler].disableTimer = 0; } - else if (--gDisableStructs[gActiveBattler].disableTimer == 0) // disable ends + else if (--gDisableStructs[battler].disableTimer == 0) // disable ends { - gDisableStructs[gActiveBattler].disabledMove = 0; + gDisableStructs[battler].disabledMove = 0; BattleScriptExecute(BattleScript_DisabledNoMore); effect++; } @@ -2917,18 +2912,18 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ENCORE: // encore - if (gDisableStructs[gActiveBattler].encoreTimer != 0) + if (gDisableStructs[battler].encoreTimer != 0) { - if (gBattleMons[gActiveBattler].moves[gDisableStructs[gActiveBattler].encoredMovePos] != gDisableStructs[gActiveBattler].encoredMove) // pokemon does not have the encored move anymore + if (gBattleMons[battler].moves[gDisableStructs[battler].encoredMovePos] != gDisableStructs[battler].encoredMove) // pokemon does not have the encored move anymore { - gDisableStructs[gActiveBattler].encoredMove = 0; - gDisableStructs[gActiveBattler].encoreTimer = 0; + gDisableStructs[battler].encoredMove = 0; + gDisableStructs[battler].encoreTimer = 0; } - else if (--gDisableStructs[gActiveBattler].encoreTimer == 0 - || gBattleMons[gActiveBattler].pp[gDisableStructs[gActiveBattler].encoredMovePos] == 0) + else if (--gDisableStructs[battler].encoreTimer == 0 + || gBattleMons[battler].pp[gDisableStructs[battler].encoredMovePos] == 0) { - gDisableStructs[gActiveBattler].encoredMove = 0; - gDisableStructs[gActiveBattler].encoreTimer = 0; + gDisableStructs[battler].encoredMove = 0; + gDisableStructs[battler].encoreTimer = 0; BattleScriptExecute(BattleScript_EncoredNoMore); effect++; } @@ -2936,17 +2931,17 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_LOCK_ON: // lock-on decrement - if (gStatuses3[gActiveBattler] & STATUS3_ALWAYS_HITS) - gStatuses3[gActiveBattler] -= STATUS3_ALWAYS_HITS_TURN(1); + if (gStatuses3[battler] & STATUS3_ALWAYS_HITS) + gStatuses3[battler] -= STATUS3_ALWAYS_HITS_TURN(1); gBattleStruct->turnEffectsTracker++; break; case ENDTURN_CHARGE: // charge - if (gDisableStructs[gActiveBattler].chargeTimer && --gDisableStructs[gActiveBattler].chargeTimer == 0) - gStatuses3[gActiveBattler] &= ~STATUS3_CHARGED_UP; + if (gDisableStructs[battler].chargeTimer && --gDisableStructs[battler].chargeTimer == 0) + gStatuses3[battler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_TAUNT: // taunt - if (gDisableStructs[gActiveBattler].tauntTimer && --gDisableStructs[gActiveBattler].tauntTimer == 0) + if (gDisableStructs[battler].tauntTimer && --gDisableStructs[battler].tauntTimer == 0) { BattleScriptExecute(BattleScript_BufferEndTurn); PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_TAUNT); @@ -2955,23 +2950,23 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_YAWN: // yawn - if (gStatuses3[gActiveBattler] & STATUS3_YAWN) + if (gStatuses3[battler] & STATUS3_YAWN) { - u16 battlerAbility = GetBattlerAbility(gActiveBattler); - gStatuses3[gActiveBattler] -= STATUS3_YAWN_TURN(1); - if (!(gStatuses3[gActiveBattler] & STATUS3_YAWN) && !(gBattleMons[gActiveBattler].status1 & STATUS1_ANY) + u16 battlerAbility = GetBattlerAbility(battler); + gStatuses3[battler] -= STATUS3_YAWN_TURN(1); + if (!(gStatuses3[battler] & STATUS3_YAWN) && !(gBattleMons[battler].status1 & STATUS1_ANY) && battlerAbility != ABILITY_VITAL_SPIRIT - && battlerAbility != ABILITY_INSOMNIA && !UproarWakeUpCheck(gActiveBattler) - && !IsLeafGuardProtected(gActiveBattler)) + && battlerAbility != ABILITY_INSOMNIA && !UproarWakeUpCheck(battler) + && !IsLeafGuardProtected(battler)) { - CancelMultiTurnMoves(gActiveBattler); - gEffectBattler = gActiveBattler; - if (IsBattlerTerrainAffected(gActiveBattler, STATUS_FIELD_ELECTRIC_TERRAIN)) + CancelMultiTurnMoves(battler); + gEffectBattler = battler; + if (IsBattlerTerrainAffected(battler, STATUS_FIELD_ELECTRIC_TERRAIN)) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TERRAINPREVENTS_ELECTRIC; BattleScriptExecute(BattleScript_TerrainPreventsEnd2); } - else if (IsBattlerTerrainAffected(gActiveBattler, STATUS_FIELD_MISTY_TERRAIN)) + else if (IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN)) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TERRAINPREVENTS_MISTY; BattleScriptExecute(BattleScript_TerrainPreventsEnd2); @@ -2979,12 +2974,12 @@ u8 DoBattlerEndTurnEffects(void) else { #if B_SLEEP_TURNS >= GEN_5 - gBattleMons[gActiveBattler].status1 |= ((Random() % 3) + 2); + gBattleMons[battler].status1 |= ((Random() % 3) + 2); #else - gBattleMons[gActiveBattler].status1 |= ((Random() % 4) + 3); + gBattleMons[battler].status1 |= ((Random() % 4) + 3); #endif - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); BattleScriptExecute(BattleScript_YawnMakesAsleep); } effect++; @@ -2993,19 +2988,19 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_LASER_FOCUS: - if (gStatuses3[gActiveBattler] & STATUS3_LASER_FOCUS) + if (gStatuses3[battler] & STATUS3_LASER_FOCUS) { - if (gDisableStructs[gActiveBattler].laserFocusTimer == 0 || --gDisableStructs[gActiveBattler].laserFocusTimer == 0) - gStatuses3[gActiveBattler] &= ~STATUS3_LASER_FOCUS; + if (gDisableStructs[battler].laserFocusTimer == 0 || --gDisableStructs[battler].laserFocusTimer == 0) + gStatuses3[battler] &= ~STATUS3_LASER_FOCUS; } gBattleStruct->turnEffectsTracker++; break; case ENDTURN_EMBARGO: - if (gStatuses3[gActiveBattler] & STATUS3_EMBARGO) + if (gStatuses3[battler] & STATUS3_EMBARGO) { - if (gDisableStructs[gActiveBattler].embargoTimer == 0 || --gDisableStructs[gActiveBattler].embargoTimer == 0) + if (gDisableStructs[battler].embargoTimer == 0 || --gDisableStructs[battler].embargoTimer == 0) { - gStatuses3[gActiveBattler] &= ~STATUS3_EMBARGO; + gStatuses3[battler] &= ~STATUS3_EMBARGO; BattleScriptExecute(BattleScript_EmbargoEndTurn); effect++; } @@ -3013,11 +3008,11 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_MAGNET_RISE: - if (gStatuses3[gActiveBattler] & STATUS3_MAGNET_RISE) + if (gStatuses3[battler] & STATUS3_MAGNET_RISE) { - if (gDisableStructs[gActiveBattler].magnetRiseTimer == 0 || --gDisableStructs[gActiveBattler].magnetRiseTimer == 0) + if (gDisableStructs[battler].magnetRiseTimer == 0 || --gDisableStructs[battler].magnetRiseTimer == 0) { - gStatuses3[gActiveBattler] &= ~STATUS3_MAGNET_RISE; + gStatuses3[battler] &= ~STATUS3_MAGNET_RISE; BattleScriptExecute(BattleScript_BufferEndTurn); PREPARE_STRING_BUFFER(gBattleTextBuff1, STRINGID_ELECTROMAGNETISM); effect++; @@ -3026,11 +3021,11 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_TELEKINESIS: - if (gStatuses3[gActiveBattler] & STATUS3_TELEKINESIS) + if (gStatuses3[battler] & STATUS3_TELEKINESIS) { - if (gDisableStructs[gActiveBattler].telekinesisTimer == 0 || --gDisableStructs[gActiveBattler].telekinesisTimer == 0) + if (gDisableStructs[battler].telekinesisTimer == 0 || --gDisableStructs[battler].telekinesisTimer == 0) { - gStatuses3[gActiveBattler] &= ~STATUS3_TELEKINESIS; + gStatuses3[battler] &= ~STATUS3_TELEKINESIS; BattleScriptExecute(BattleScript_TelekinesisEndTurn); effect++; } @@ -3038,11 +3033,11 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_HEALBLOCK: - if (gStatuses3[gActiveBattler] & STATUS3_HEAL_BLOCK) + if (gStatuses3[battler] & STATUS3_HEAL_BLOCK) { - if (gDisableStructs[gActiveBattler].healBlockTimer == 0 || --gDisableStructs[gActiveBattler].healBlockTimer == 0) + if (gDisableStructs[battler].healBlockTimer == 0 || --gDisableStructs[battler].healBlockTimer == 0) { - gStatuses3[gActiveBattler] &= ~STATUS3_HEAL_BLOCK; + gStatuses3[battler] &= ~STATUS3_HEAL_BLOCK; BattleScriptExecute(BattleScript_BufferEndTurn); PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_HEAL_BLOCK); effect++; @@ -3051,22 +3046,22 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ROOST: // Return flying type. - if (gBattleResources->flags->flags[gActiveBattler] & RESOURCE_FLAG_ROOST) + if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST) { - gBattleResources->flags->flags[gActiveBattler] &= ~RESOURCE_FLAG_ROOST; - gBattleMons[gActiveBattler].type1 = gBattleStruct->roostTypes[gActiveBattler][0]; - gBattleMons[gActiveBattler].type2 = gBattleStruct->roostTypes[gActiveBattler][1]; + gBattleResources->flags->flags[battler] &= ~RESOURCE_FLAG_ROOST; + gBattleMons[battler].type1 = gBattleStruct->roostTypes[battler][0]; + gBattleMons[battler].type2 = gBattleStruct->roostTypes[battler][1]; } gBattleStruct->turnEffectsTracker++; break; case ENDTURN_ELECTRIFY: - gStatuses4[gActiveBattler] &= ~STATUS4_ELECTRIFIED; + gStatuses4[battler] &= ~STATUS4_ELECTRIFIED; gBattleStruct->turnEffectsTracker++; case ENDTURN_POWDER: - gBattleMons[gActiveBattler].status2 &= ~STATUS2_POWDER; + gBattleMons[battler].status2 &= ~STATUS2_POWDER; gBattleStruct->turnEffectsTracker++; case ENDTURN_THROAT_CHOP: - if (gDisableStructs[gActiveBattler].throatChopTimer && --gDisableStructs[gActiveBattler].throatChopTimer == 0) + if (gDisableStructs[battler].throatChopTimer && --gDisableStructs[battler].throatChopTimer == 0) { BattleScriptExecute(BattleScript_ThroatChopEndTurn); effect++; @@ -3074,8 +3069,8 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_SLOW_START: - if (gDisableStructs[gActiveBattler].slowStartTimer - && --gDisableStructs[gActiveBattler].slowStartTimer == 0 + if (gDisableStructs[battler].slowStartTimer + && --gDisableStructs[battler].slowStartTimer == 0 && ability == ABILITY_SLOW_START) { BattleScriptExecute(BattleScript_SlowStartEnds); @@ -3084,12 +3079,12 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_PLASMA_FISTS: - gStatuses4[gActiveBattler] &= ~STATUS4_PLASMA_FISTS; + gStatuses4[battler] &= ~STATUS4_PLASMA_FISTS; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_CUD_CHEW: - if (GetBattlerAbility(gActiveBattler) == ABILITY_CUD_CHEW && !gDisableStructs[gActiveBattler].cudChew && ItemId_GetPocket(GetUsedHeldItem(gActiveBattler)) == POCKET_BERRIES) - gDisableStructs[gActiveBattler].cudChew = TRUE; + if (GetBattlerAbility(battler) == ABILITY_CUD_CHEW && !gDisableStructs[battler].cudChew && ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES) + gDisableStructs[battler].cudChew = TRUE; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_BATTLER_COUNT: // done @@ -3781,9 +3776,8 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) if (effect == 2) { - gActiveBattler = gBattlerAttacker; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gBattlerAttacker].status1); + MarkBattlerForControllerExec(gBattlerAttacker); } return effect; } @@ -4044,7 +4038,7 @@ static bool32 TryChangeBattleTerrain(u32 battler, u32 statusFlag, u8 *timer) static u8 ForewarnChooseMove(u32 battler) { struct Forewarn { - u8 battlerId; + u8 battler; u8 power; u16 moveId; }; @@ -4061,7 +4055,7 @@ static u8 ForewarnChooseMove(u32 battler) if (gBattleMons[i].moves[j] == MOVE_NONE) continue; data[count].moveId = gBattleMons[i].moves[j]; - data[count].battlerId = i; + data[count].battler = i; switch (gBattleMoves[data[count].moveId].effect) { case EFFECT_OHKO: @@ -4092,14 +4086,14 @@ static u8 ForewarnChooseMove(u32 battler) bestId = i; } - gBattlerTarget = data[bestId].battlerId; + gBattlerTarget = data[bestId].battler; PREPARE_MOVE_BUFFER(gBattleTextBuff1, data[bestId].moveId) RecordKnownMove(gBattlerTarget, data[bestId].moveId); Free(data); } -bool8 ChangeTypeBasedOnTerrain(u8 battlerId) +bool8 ChangeTypeBasedOnTerrain(u8 battler) { u8 battlerType; @@ -4114,17 +4108,17 @@ bool8 ChangeTypeBasedOnTerrain(u8 battlerId) else // failsafe return FALSE; - SET_BATTLER_TYPE(battlerId, battlerType); + SET_BATTLER_TYPE(battler, battlerType); PREPARE_TYPE_BUFFER(gBattleTextBuff1, battlerType); return TRUE; } // Supreme Overlord adds a damage boost for each fainted ally. // The first ally adds a x1.2 boost, and subsequent allies add an extra x0.1 boost each. -static uq4_12_t GetSupremeOverlordModifier(u8 battlerId) +static uq4_12_t GetSupremeOverlordModifier(u8 battler) { u32 i; - struct Pokemon *party = GetBattlerParty(battlerId); + struct Pokemon *party = GetBattlerParty(battler); uq4_12_t modifier = UQ_4_12(1.0); bool8 appliedFirstBoost = FALSE; @@ -4774,10 +4768,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattleMons[battler].status1 = 0; gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; - gBattleScripting.battler = gActiveBattler = battler; + gBattleScripting.battler = battler; BattleScriptPushCursorAndCallback(BattleScript_ShedSkinActivates); - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); effect++; } break; @@ -4879,8 +4873,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && gBattleResults.catchAttempts[gLastUsedBall - ITEM_ULTRA_BALL] >= 1 && !gHasFetchedBall) { - gBattleScripting.battler = gActiveBattler = battler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedBall); + gBattleScripting.battler = battler; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_HELDITEM_BATTLE, 0, 2, &gLastUsedBall); MarkBattlerForControllerExec(battler); gHasFetchedBall = TRUE; gLastUsedItem = gLastUsedBall; @@ -5830,9 +5824,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move break; } - gBattleScripting.battler = gActiveBattler = gBattlerAbility = battler; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + gBattleScripting.battler = gBattlerAbility = battler; + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); return effect; } } @@ -6050,12 +6044,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move return effect; } -bool32 TryPrimalReversion(u8 battlerId) +bool32 TryPrimalReversion(u8 battler) { - if (GetBattlerHoldEffect(battlerId, FALSE) == HOLD_EFFECT_PRIMAL_ORB - && GetBattleFormChangeTargetSpecies(battlerId, FORM_CHANGE_BATTLE_PRIMAL_REVERSION) != SPECIES_NONE) + if (GetBattlerHoldEffect(battler, FALSE) == HOLD_EFFECT_PRIMAL_ORB + && GetBattleFormChangeTargetSpecies(battler, FORM_CHANGE_BATTLE_PRIMAL_REVERSION) != SPECIES_NONE) { - if (gBattlerAttacker == battlerId) + if (gBattlerAttacker == battler) { BattleScriptExecute(BattleScript_PrimalReversion); } @@ -6063,7 +6057,7 @@ bool32 TryPrimalReversion(u8 battlerId) { // edge case for scenarios like a switch-in after activated eject button gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = battlerId; + gBattlerAttacker = battler; BattleScriptExecute(BattleScript_PrimalReversionRestoreAttacker); } return TRUE; @@ -6120,12 +6114,12 @@ bool32 IsMyceliumMightOnField(void) return FALSE; } -u32 GetBattlerAbility(u8 battlerId) +u32 GetBattlerAbility(u8 battler) { - if (gStatuses3[battlerId] & STATUS3_GASTRO_ACID) + if (gStatuses3[battler] & STATUS3_GASTRO_ACID) return ABILITY_NONE; - if (IsNeutralizingGasOnField() && !IsNeutralizingGasBannedAbility(gBattleMons[battlerId].ability)) + if (IsNeutralizingGasOnField() && !IsNeutralizingGasBannedAbility(gBattleMons[battler].ability)) return ABILITY_NONE; if (IsMyceliumMightOnField()) @@ -6136,28 +6130,28 @@ u32 GetBattlerAbility(u8 battlerId) || gBattleMons[gBattlerAttacker].ability == ABILITY_TURBOBLAZE) && !(gStatuses3[gBattlerAttacker] & STATUS3_GASTRO_ACID)) || gBattleMoves[gCurrentMove].ignoresTargetAbility) - && sAbilitiesAffectedByMoldBreaker[gBattleMons[battlerId].ability] + && sAbilitiesAffectedByMoldBreaker[gBattleMons[battler].ability] && gBattlerByTurnOrder[gCurrentTurnActionNumber] == gBattlerAttacker && gActionsByTurnOrder[gBattlerByTurnOrder[gBattlerAttacker]] == B_ACTION_USE_MOVE && gCurrentTurnActionNumber < gBattlersCount) return ABILITY_NONE; - return gBattleMons[battlerId].ability; + return gBattleMons[battler].ability; } -u32 IsAbilityOnSide(u32 battlerId, u32 ability) +u32 IsAbilityOnSide(u32 battler, u32 ability) { - if (IsBattlerAlive(battlerId) && GetBattlerAbility(battlerId) == ability) - return battlerId + 1; - else if (IsBattlerAlive(BATTLE_PARTNER(battlerId)) && GetBattlerAbility(BATTLE_PARTNER(battlerId)) == ability) - return BATTLE_PARTNER(battlerId) + 1; + if (IsBattlerAlive(battler) && GetBattlerAbility(battler) == ability) + return battler + 1; + else if (IsBattlerAlive(BATTLE_PARTNER(battler)) && GetBattlerAbility(BATTLE_PARTNER(battler)) == ability) + return BATTLE_PARTNER(battler) + 1; else return 0; } -u32 IsAbilityOnOpposingSide(u32 battlerId, u32 ability) +u32 IsAbilityOnOpposingSide(u32 battler, u32 ability) { - return IsAbilityOnSide(BATTLE_OPPOSITE(battlerId), ability); + return IsAbilityOnSide(BATTLE_OPPOSITE(battler), ability); } u32 IsAbilityOnField(u32 ability) @@ -6173,55 +6167,55 @@ u32 IsAbilityOnField(u32 ability) return 0; } -u32 IsAbilityOnFieldExcept(u32 battlerId, u32 ability) +u32 IsAbilityOnFieldExcept(u32 battler, u32 ability) { u32 i; for (i = 0; i < gBattlersCount; i++) { - if (i != battlerId && IsBattlerAlive(i) && GetBattlerAbility(i) == ability) + if (i != battler && IsBattlerAlive(i) && GetBattlerAbility(i) == ability) return i + 1; } return 0; } -u32 IsAbilityPreventingEscape(u32 battlerId) +u32 IsAbilityPreventingEscape(u32 battler) { u32 id; #if B_GHOSTS_ESCAPE >= GEN_6 - if (IS_BATTLER_OF_TYPE(battlerId, TYPE_GHOST)) + if (IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) return 0; #endif #if B_SHADOW_TAG_ESCAPE >= GEN_4 - if ((id = IsAbilityOnOpposingSide(battlerId, ABILITY_SHADOW_TAG)) && GetBattlerAbility(battlerId) != ABILITY_SHADOW_TAG) + if ((id = IsAbilityOnOpposingSide(battler, ABILITY_SHADOW_TAG)) && GetBattlerAbility(battler) != ABILITY_SHADOW_TAG) #else - if ((id = IsAbilityOnOpposingSide(battlerId, ABILITY_SHADOW_TAG))) + if ((id = IsAbilityOnOpposingSide(battler, ABILITY_SHADOW_TAG))) #endif return id; - if ((id = IsAbilityOnOpposingSide(battlerId, ABILITY_ARENA_TRAP)) && IsBattlerGrounded(battlerId)) + if ((id = IsAbilityOnOpposingSide(battler, ABILITY_ARENA_TRAP)) && IsBattlerGrounded(battler)) return id; - if ((id = IsAbilityOnOpposingSide(battlerId, ABILITY_MAGNET_PULL)) && IS_BATTLER_OF_TYPE(battlerId, TYPE_STEEL)) + if ((id = IsAbilityOnOpposingSide(battler, ABILITY_MAGNET_PULL)) && IS_BATTLER_OF_TYPE(battler, TYPE_STEEL)) return id; return 0; } -bool32 CanBattlerEscape(u32 battlerId) // no ability check +bool32 CanBattlerEscape(u32 battler) // no ability check { - if (GetBattlerHoldEffect(battlerId, TRUE) == HOLD_EFFECT_SHED_SHELL) + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_SHED_SHELL) return TRUE; #if B_GHOSTS_ESCAPE >= GEN_6 - else if (IS_BATTLER_OF_TYPE(battlerId, TYPE_GHOST)) + else if (IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) return TRUE; #endif - else if (gBattleMons[battlerId].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) + else if (gBattleMons[battler].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED)) return FALSE; - else if (gStatuses3[battlerId] & STATUS3_ROOTED) + else if (gStatuses3[battler] & STATUS3_ROOTED) return FALSE; else if (gFieldStatuses & STATUS_FIELD_FAIRY_LOCK) return FALSE; - else if (gStatuses3[battlerId] & STATUS3_SKY_DROPPED) + else if (gStatuses3[battler] & STATUS3_SKY_DROPPED) return FALSE; else return TRUE; @@ -6253,27 +6247,27 @@ enum ITEM_STATS_CHANGE, }; -bool32 IsBattlerTerrainAffected(u8 battlerId, u32 terrainFlag) +bool32 IsBattlerTerrainAffected(u8 battler, u32 terrainFlag) { if (!(gFieldStatuses & terrainFlag)) return FALSE; - else if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) + else if (gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) return FALSE; - return IsBattlerGrounded(battlerId); + return IsBattlerGrounded(battler); } -bool32 CanSleep(u8 battlerId) +bool32 CanSleep(u8 battler) { - u16 ability = GetBattlerAbility(battlerId); + u16 ability = GetBattlerAbility(battler); if (ability == ABILITY_INSOMNIA || ability == ABILITY_VITAL_SPIRIT || ability == ABILITY_COMATOSE - || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_SAFEGUARD - || gBattleMons[battlerId].status1 & STATUS1_ANY - || IsAbilityOnSide(battlerId, ABILITY_SWEET_VEIL) - || IsAbilityStatusProtected(battlerId) - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_MISTY_TERRAIN)) + || gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD + || gBattleMons[battler].status1 & STATUS1_ANY + || IsAbilityOnSide(battler, ABILITY_SWEET_VEIL) + || IsAbilityStatusProtected(battler) + || IsBattlerTerrainAffected(battler, STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_MISTY_TERRAIN)) return FALSE; return TRUE; } @@ -6294,96 +6288,96 @@ bool32 CanBePoisoned(u8 battlerAttacker, u8 battlerTarget) return TRUE; } -bool32 CanBeBurned(u8 battlerId) +bool32 CanBeBurned(u8 battler) { - u16 ability = GetBattlerAbility(battlerId); - if (IS_BATTLER_OF_TYPE(battlerId, TYPE_FIRE) - || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_SAFEGUARD - || gBattleMons[battlerId].status1 & STATUS1_ANY + u16 ability = GetBattlerAbility(battler); + if (IS_BATTLER_OF_TYPE(battler, TYPE_FIRE) + || gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD + || gBattleMons[battler].status1 & STATUS1_ANY || ability == ABILITY_WATER_VEIL || ability == ABILITY_WATER_BUBBLE || ability == ABILITY_COMATOSE || ability == ABILITY_THERMAL_EXCHANGE - || IsAbilityStatusProtected(battlerId) - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN)) + || IsAbilityStatusProtected(battler) + || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN)) return FALSE; return TRUE; } -bool32 CanBeParalyzed(u8 battlerId) +bool32 CanBeParalyzed(u8 battler) { - u16 ability = GetBattlerAbility(battlerId); + u16 ability = GetBattlerAbility(battler); if ( #if B_PARALYZE_ELECTRIC >= GEN_6 - IS_BATTLER_OF_TYPE(battlerId, TYPE_ELECTRIC) || + IS_BATTLER_OF_TYPE(battler, TYPE_ELECTRIC) || #endif - gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_SAFEGUARD + gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD || ability == ABILITY_LIMBER || ability == ABILITY_COMATOSE - || gBattleMons[battlerId].status1 & STATUS1_ANY - || IsAbilityStatusProtected(battlerId) - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN)) + || gBattleMons[battler].status1 & STATUS1_ANY + || IsAbilityStatusProtected(battler) + || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN)) return FALSE; return TRUE; } -bool32 CanBeFrozen(u8 battlerId) +bool32 CanBeFrozen(u8 battler) { - u16 ability = GetBattlerAbility(battlerId); - if (IS_BATTLER_OF_TYPE(battlerId, TYPE_ICE) - || IsBattlerWeatherAffected(battlerId, B_WEATHER_SUN) - || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_SAFEGUARD + u16 ability = GetBattlerAbility(battler); + if (IS_BATTLER_OF_TYPE(battler, TYPE_ICE) + || IsBattlerWeatherAffected(battler, B_WEATHER_SUN) + || gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD || ability == ABILITY_MAGMA_ARMOR || ability == ABILITY_COMATOSE - || gBattleMons[battlerId].status1 & STATUS1_ANY - || IsAbilityStatusProtected(battlerId) - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN)) + || gBattleMons[battler].status1 & STATUS1_ANY + || IsAbilityStatusProtected(battler) + || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN)) return FALSE; return TRUE; } -bool32 CanGetFrostbite(u8 battlerId) +bool32 CanGetFrostbite(u8 battler) { - u16 ability = GetBattlerAbility(battlerId); - if (IS_BATTLER_OF_TYPE(battlerId, TYPE_ICE) - || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_SAFEGUARD + u16 ability = GetBattlerAbility(battler); + if (IS_BATTLER_OF_TYPE(battler, TYPE_ICE) + || gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD || ability == ABILITY_MAGMA_ARMOR || ability == ABILITY_COMATOSE - || gBattleMons[battlerId].status1 & STATUS1_ANY - || IsAbilityStatusProtected(battlerId) - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN)) + || gBattleMons[battler].status1 & STATUS1_ANY + || IsAbilityStatusProtected(battler) + || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN)) return FALSE; return TRUE; } -bool32 CanBeConfused(u8 battlerId) +bool32 CanBeConfused(u8 battler) { - if (GetBattlerAbility(battlerId) == ABILITY_OWN_TEMPO - || gBattleMons[battlerId].status2 & STATUS2_CONFUSION - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN)) + if (GetBattlerAbility(battler) == ABILITY_OWN_TEMPO + || gBattleMons[battler].status2 & STATUS2_CONFUSION + || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN)) return FALSE; return TRUE; } // second argument is 1/X of current hp compared to max hp -bool32 HasEnoughHpToEatBerry(u32 battlerId, u32 hpFraction, u32 itemId) +bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId) { bool32 isBerry = (ItemId_GetPocket(itemId) == POCKET_BERRIES); - if (gBattleMons[battlerId].hp == 0) + if (gBattleMons[battler].hp == 0) return FALSE; if (gBattleScripting.overrideBerryRequirements) return TRUE; // Unnerve prevents consumption of opponents' berries. - if (isBerry && IsUnnerveAbilityOnOpposingSide(battlerId)) + if (isBerry && IsUnnerveAbilityOnOpposingSide(battler)) return FALSE; - if (gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / hpFraction) + if (gBattleMons[battler].hp <= gBattleMons[battler].maxHP / hpFraction) return TRUE; - if (hpFraction <= 4 && GetBattlerAbility(battlerId) == ABILITY_GLUTTONY && isBerry - && gBattleMons[battlerId].hp <= gBattleMons[battlerId].maxHP / 2) + if (hpFraction <= 4 && GetBattlerAbility(battler) == ABILITY_GLUTTONY && isBerry + && gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 2) { - RecordAbilityBattle(battlerId, ABILITY_GLUTTONY); + RecordAbilityBattle(battler, ABILITY_GLUTTONY); return TRUE; } @@ -6396,30 +6390,30 @@ bool32 HasEnoughHpToEatBerry(u32 battlerId, u32 hpFraction, u32 itemId) #define CONFUSE_BERRY_HP_FRACTION 2 #endif -static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) +static u8 HealConfuseBerry(u32 battler, u32 itemId, u8 flavorId, bool32 end2) { - if (HasEnoughHpToEatBerry(battlerId, CONFUSE_BERRY_HP_FRACTION, itemId) + if (HasEnoughHpToEatBerry(battler, CONFUSE_BERRY_HP_FRACTION, itemId) #if B_HEAL_BLOCKING >= GEN_5 - && !(gStatuses3[battlerId] & STATUS3_HEAL_BLOCK) + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) #endif ) { PREPARE_FLAVOR_BUFFER(gBattleTextBuff1, flavorId); - gBattleMoveDamage = gBattleMons[battlerId].maxHP / GetBattlerItemHoldEffectParam(battlerId, itemId); + gBattleMoveDamage = gBattleMons[battler].maxHP / GetBattlerItemHoldEffectParam(battler, itemId); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - if (GetBattlerAbility(battlerId) == ABILITY_RIPEN) + if (GetBattlerAbility(battler) == ABILITY_RIPEN) { gBattleMoveDamage *= 2; - gBattlerAbility = battlerId; + gBattlerAbility = battler; } - gBattleScripting.battler = battlerId; + gBattleScripting.battler = battler; if (end2) { - if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, flavorId) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battler].personality, flavorId) < 0) BattleScriptExecute(BattleScript_BerryConfuseHealEnd2); else BattleScriptExecute(BattleScript_ItemHealHP_RemoveItemEnd2); @@ -6427,7 +6421,7 @@ static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) else { BattleScriptPushCursor(); - if (GetFlavorRelationByPersonality(gBattleMons[battlerId].personality, flavorId) < 0) + if (GetFlavorRelationByPersonality(gBattleMons[battler].personality, flavorId) < 0) gBattlescriptCurrInstr = BattleScript_BerryConfuseHealRet; else gBattlescriptCurrInstr = BattleScript_ItemHealHP_RemoveItemRet; @@ -6440,13 +6434,13 @@ static u8 HealConfuseBerry(u32 battlerId, u32 itemId, u8 flavorId, bool32 end2) #undef CONFUSE_BERRY_HP_FRACTION -static u8 StatRaiseBerry(u32 battlerId, u32 itemId, u32 statId, bool32 end2) +static u8 StatRaiseBerry(u32 battler, u32 itemId, u32 statId, bool32 end2) { - if (CompareStat(battlerId, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, itemId), itemId)) + if (CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId)) { - BufferStatChange(battlerId, statId, STRINGID_STATROSE); - gEffectBattler = battlerId; - if (GetBattlerAbility(battlerId) == ABILITY_RIPEN) + BufferStatChange(battler, statId, STRINGID_STATROSE); + gEffectBattler = battler; + if (GetBattlerAbility(battler) == ABILITY_RIPEN) SET_STATCHANGER(statId, 2, FALSE); else SET_STATCHANGER(statId, 1, FALSE); @@ -6468,23 +6462,23 @@ static u8 StatRaiseBerry(u32 battlerId, u32 itemId, u32 statId, bool32 end2) return 0; } -static u8 RandomStatRaiseBerry(u32 battlerId, u32 itemId, bool32 end2) +static u8 RandomStatRaiseBerry(u32 battler, u32 itemId, bool32 end2) { s32 i; u16 stringId; for (i = 0; i < NUM_STATS - 1; i++) { - if (CompareStat(battlerId, STAT_ATK + i, MAX_STAT_STAGE, CMP_LESS_THAN)) + if (CompareStat(battler, STAT_ATK + i, MAX_STAT_STAGE, CMP_LESS_THAN)) break; } - if (i != NUM_STATS - 1 && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, itemId), itemId)) + if (i != NUM_STATS - 1 && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, itemId), itemId)) { - u16 battlerAbility = GetBattlerAbility(battlerId); + u16 battlerAbility = GetBattlerAbility(battler); do { i = Random() % (NUM_STATS - 1); - } while (!CompareStat(battlerId, STAT_ATK + i, MAX_STAT_STAGE, CMP_LESS_THAN)); + } while (!CompareStat(battler, STAT_ATK + i, MAX_STAT_STAGE, CMP_LESS_THAN)); PREPARE_STAT_BUFFER(gBattleTextBuff1, i + 1); stringId = (battlerAbility == ABILITY_CONTRARY) ? STRINGID_STATFELL : STRINGID_STATROSE; @@ -6496,7 +6490,7 @@ static u8 RandomStatRaiseBerry(u32 battlerId, u32 itemId, bool32 end2) gBattleTextBuff2[5] = stringId; gBattleTextBuff2[6] = stringId >> 8; gBattleTextBuff2[7] = EOS; - gEffectBattler = battlerId; + gEffectBattler = battler; if (battlerAbility == ABILITY_RIPEN) SET_STATCHANGER(i + 1, 4, FALSE); else @@ -6519,11 +6513,11 @@ static u8 RandomStatRaiseBerry(u32 battlerId, u32 itemId, bool32 end2) return 0; } -static u8 TrySetMicleBerry(u32 battlerId, u32 itemId, bool32 end2) +static u8 TrySetMicleBerry(u32 battler, u32 itemId, bool32 end2) { - if (HasEnoughHpToEatBerry(battlerId, 4, itemId)) + if (HasEnoughHpToEatBerry(battler, 4, itemId)) { - gProtectStructs[battlerId].usedMicleBerry = TRUE; // battler's next attack has increased accuracy + gProtectStructs[battler].usedMicleBerry = TRUE; // battler's next attack has increased accuracy if (end2) { @@ -6539,18 +6533,18 @@ static u8 TrySetMicleBerry(u32 battlerId, u32 itemId, bool32 end2) return 0; } -static u8 DamagedStatBoostBerryEffect(u8 battlerId, u8 statId, u8 split) +static u8 DamagedStatBoostBerryEffect(u8 battler, u8 statId, u8 split) { - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED - && CompareStat(battlerId, statId, MAX_STAT_STAGE, CMP_LESS_THAN) - && !DoesSubstituteBlockMove(gBattlerAttacker, battlerId, gCurrentMove) + && CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN) + && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && GetBattleMoveSplit(gCurrentMove) == split) { - BufferStatChange(battlerId, statId, STRINGID_STATROSE); + BufferStatChange(battler, statId, STRINGID_STATROSE); - gEffectBattler = battlerId; - if (GetBattlerAbility(battlerId) == ABILITY_RIPEN) + gEffectBattler = battler; + if (GetBattlerAbility(battler) == ABILITY_RIPEN) SET_STATCHANGER(statId, 2, FALSE); else SET_STATCHANGER(statId, 1, FALSE); @@ -6588,24 +6582,24 @@ u8 TryHandleSeed(u8 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 exec return 0; } -static u8 ItemHealHp(u32 battlerId, u32 itemId, bool32 end2, bool32 percentHeal) +static u8 ItemHealHp(u32 battler, u32 itemId, bool32 end2, bool32 percentHeal) { - if (!(gBattleScripting.overrideBerryRequirements && gBattleMons[battlerId].hp == gBattleMons[battlerId].maxHP) + if (!(gBattleScripting.overrideBerryRequirements && gBattleMons[battler].hp == gBattleMons[battler].maxHP) #if B_HEAL_BLOCKING >= GEN_5 - && !(gStatuses3[battlerId] & STATUS3_HEAL_BLOCK) + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) #endif - && HasEnoughHpToEatBerry(battlerId, 2, itemId)) + && HasEnoughHpToEatBerry(battler, 2, itemId)) { if (percentHeal) - gBattleMoveDamage = (gBattleMons[battlerId].maxHP * GetBattlerItemHoldEffectParam(battlerId, itemId) / 100) * -1; + gBattleMoveDamage = (gBattleMons[battler].maxHP * GetBattlerItemHoldEffectParam(battler, itemId) / 100) * -1; else - gBattleMoveDamage = GetBattlerItemHoldEffectParam(battlerId, itemId) * -1; + gBattleMoveDamage = GetBattlerItemHoldEffectParam(battler, itemId) * -1; // check ripen - if (ItemId_GetPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battlerId) == ABILITY_RIPEN) + if (ItemId_GetPocket(itemId) == POCKET_BERRIES && GetBattlerAbility(battler) == ABILITY_RIPEN) gBattleMoveDamage *= 2; - gBattlerAbility = battlerId; // in SWSH, berry juice shows ability pop up but has no effect. This is mimicked here + gBattlerAbility = battler; // in SWSH, berry juice shows ability pop up but has no effect. This is mimicked here if (end2) { BattleScriptExecute(BattleScript_ItemHealHP_RemoveItemEnd2); @@ -6620,61 +6614,61 @@ static u8 ItemHealHp(u32 battlerId, u32 itemId, bool32 end2, bool32 percentHeal) return 0; } -static bool32 UnnerveOn(u32 battlerId, u32 itemId) +static bool32 UnnerveOn(u32 battler, u32 itemId) { - if (ItemId_GetPocket(itemId) == POCKET_BERRIES && IsUnnerveAbilityOnOpposingSide(battlerId)) + if (ItemId_GetPocket(itemId) == POCKET_BERRIES && IsUnnerveAbilityOnOpposingSide(battler)) return TRUE; return FALSE; } -static bool32 GetMentalHerbEffect(u8 battlerId) +static bool32 GetMentalHerbEffect(u8 battler) { bool32 ret = FALSE; // Check infatuation - if (gBattleMons[battlerId].status2 & STATUS2_INFATUATION) + if (gBattleMons[battler].status2 & STATUS2_INFATUATION) { - gBattleMons[battlerId].status2 &= ~STATUS2_INFATUATION; + gBattleMons[battler].status2 &= ~STATUS2_INFATUATION; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_INFATUATION; // STRINGID_TARGETGOTOVERINFATUATION StringCopy(gBattleTextBuff1, gStatusConditionString_LoveJpn); ret = TRUE; } #if B_MENTAL_HERB >= GEN_5 // Check taunt - if (gDisableStructs[battlerId].tauntTimer != 0) + if (gDisableStructs[battler].tauntTimer != 0) { - gDisableStructs[battlerId].tauntTimer = 0; + gDisableStructs[battler].tauntTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_TAUNT; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_TAUNT); ret = TRUE; } // Check encore - if (gDisableStructs[battlerId].encoreTimer != 0) + if (gDisableStructs[battler].encoreTimer != 0) { - gDisableStructs[battlerId].encoredMove = 0; - gDisableStructs[battlerId].encoreTimer = 0; + gDisableStructs[battler].encoredMove = 0; + gDisableStructs[battler].encoreTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_ENCORE; // STRINGID_PKMNENCOREENDED ret = TRUE; } // Check torment - if (gBattleMons[battlerId].status2 & STATUS2_TORMENT) + if (gBattleMons[battler].status2 & STATUS2_TORMENT) { - gBattleMons[battlerId].status2 &= ~STATUS2_TORMENT; + gBattleMons[battler].status2 &= ~STATUS2_TORMENT; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_TORMENT; ret = TRUE; } // Check heal block - if (gStatuses3[battlerId] & STATUS3_HEAL_BLOCK) + if (gStatuses3[battler] & STATUS3_HEAL_BLOCK) { - gStatuses3[battlerId] &= ~STATUS3_HEAL_BLOCK; + gStatuses3[battler] &= ~STATUS3_HEAL_BLOCK; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_HEALBLOCK; ret = TRUE; } // Check disable - if (gDisableStructs[battlerId].disableTimer != 0) + if (gDisableStructs[battler].disableTimer != 0) { - gDisableStructs[battlerId].disableTimer = 0; - gDisableStructs[battlerId].disabledMove = 0; + gDisableStructs[battler].disableTimer = 0; + gDisableStructs[battler].disabledMove = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_DISABLE; ret = TRUE; } @@ -6682,15 +6676,15 @@ static bool32 GetMentalHerbEffect(u8 battlerId) return ret; } -static u8 TryConsumeMirrorHerb(u8 battlerId, bool32 execute) +static u8 TryConsumeMirrorHerb(u8 battler, bool32 execute) { u8 effect = 0; - if (gProtectStructs[battlerId].eatMirrorHerb) { - gLastUsedItem = gBattleMons[battlerId].item; + if (gProtectStructs[battler].eatMirrorHerb) { + gLastUsedItem = gBattleMons[battler].item; gBattleScripting.savedBattler = gBattlerAttacker; - gBattleScripting.battler = gBattlerAttacker = battlerId; - gProtectStructs[battlerId].eatMirrorHerb = 0; + gBattleScripting.battler = gBattlerAttacker = battler; + gProtectStructs[battler].eatMirrorHerb = 0; if (execute) { BattleScriptExecute(BattleScript_MirrorHerbCopyStatChangeEnd2); } else { @@ -6702,7 +6696,7 @@ static u8 TryConsumeMirrorHerb(u8 battlerId, bool32 execute) return effect; } -static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) +static u8 ItemEffectMoveEnd(u32 battler, u16 holdEffect) { u8 effect = 0; u32 i; @@ -6711,148 +6705,148 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) { #if B_HP_BERRIES >= GEN_4 case HOLD_EFFECT_MICLE_BERRY: - effect = TrySetMicleBerry(battlerId, gLastUsedItem, FALSE); + effect = TrySetMicleBerry(battler, gLastUsedItem, FALSE); break; case HOLD_EFFECT_RESTORE_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, FALSE); + effect = ItemHealHp(battler, gLastUsedItem, FALSE, FALSE); break; #endif #if B_BERRIES_INSTANT >= GEN_4 case HOLD_EFFECT_RESTORE_PCT_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, FALSE, TRUE); + effect = ItemHealHp(battler, gLastUsedItem, FALSE, TRUE); break; case HOLD_EFFECT_CONFUSE_SPICY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, FALSE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SPICY, FALSE); break; case HOLD_EFFECT_CONFUSE_DRY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, FALSE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_DRY, FALSE); break; case HOLD_EFFECT_CONFUSE_SWEET: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, FALSE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SWEET, FALSE); break; case HOLD_EFFECT_CONFUSE_BITTER: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, FALSE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_BITTER, FALSE); break; case HOLD_EFFECT_CONFUSE_SOUR: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, FALSE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SOUR, FALSE); break; case HOLD_EFFECT_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, FALSE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_ATK, FALSE); break; case HOLD_EFFECT_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, FALSE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_DEF, FALSE); break; case HOLD_EFFECT_SPEED_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, FALSE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPEED, FALSE); break; case HOLD_EFFECT_SP_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, FALSE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPATK, FALSE); break; case HOLD_EFFECT_SP_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, FALSE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPDEF, FALSE); break; case HOLD_EFFECT_RANDOM_STAT_UP: - effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, FALSE); + effect = RandomStatRaiseBerry(battler, gLastUsedItem, FALSE); break; #endif case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureParRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCurePsnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_BURN && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureBrnRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_FREEZE && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFrzRet; effect = ITEM_STATUS_CHANGE; } - if (gBattleMons[battlerId].status1 & STATUS1_FROSTBITE && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_FROSTBITE && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_FROSTBITE; + gBattleMons[battler].status1 &= ~STATUS1_FROSTBITE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureFsbRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_SLEEP && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureSlpRet; effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION && !UnnerveOn(battler, gLastUsedItem)) { - RemoveConfusionStatus(battlerId); + RemoveConfusionStatus(battler); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryCureConfusionRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_MENTAL_HERB: - if (GetMentalHerbEffect(battlerId)) + if (GetMentalHerbEffect(battler)) { gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = battlerId; + gBattlerAttacker = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MentalHerbCureRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_STATUS: - if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) + if ((gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) && !UnnerveOn(battler, gLastUsedItem)) { - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE || gBattleMons[battlerId].status1 & STATUS1_FROSTBITE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE || gBattleMons[battler].status1 & STATUS1_FROSTBITE) StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); - gBattleMons[battlerId].status1 = 0; - RemoveConfusionStatus(battlerId); + gBattleMons[battler].status1 = 0; + RemoveConfusionStatus(battler); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; gBattlescriptCurrInstr = BattleScript_BerryCureChosenStatusRet; @@ -6862,16 +6856,16 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_WhiteHerbRet; return effect; @@ -6879,20 +6873,20 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) break; case HOLD_EFFECT_CRITICAL_UP: // lansat berry if (B_BERRIES_INSTANT >= GEN_4 - && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) - && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) + && !(gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY) + && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, gLastUsedItem), gLastUsedItem)) { - gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; + gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BerryFocusEnergyRet; effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_BERSERK_GENE: - BufferStatChange(battlerId, STAT_ATK, STRINGID_STATROSE); - gEffectBattler = battlerId; + BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); + gEffectBattler = battler; if (CanBeInfinitelyConfused(gEffectBattler)) { gStatuses4[gEffectBattler] |= STATUS4_INFINITE_CONFUSION; @@ -6906,14 +6900,14 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) effect = ITEM_STATS_CHANGE; break; case HOLD_EFFECT_MIRROR_HERB: - effect = TryConsumeMirrorHerb(battlerId, FALSE); + effect = TryConsumeMirrorHerb(battler, FALSE); break; } return effect; } -u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) +u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) { int i = 0, moveType; u8 effect = ITEM_NO_EFFECT; @@ -6923,8 +6917,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) u16 atkItem; if (caseID != ITEMEFFECT_USE_LAST_ITEM) { - gLastUsedItem = gBattleMons[battlerId].item; - battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); + gLastUsedItem = gBattleMons[battler].item; + battlerHoldEffect = GetBattlerHoldEffect(battler, TRUE); } atkItem = gBattleMons[gBattlerAttacker].item; @@ -6934,12 +6928,12 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) switch (caseID) { case ITEMEFFECT_ON_SWITCH_IN: - if (!gSpecialStatuses[battlerId].switchInItemDone) + if (!gSpecialStatuses[battler].switchInItemDone) { switch (battlerHoldEffect) { case HOLD_EFFECT_DOUBLE_PRIZE: - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER && !gBattleStruct->moneyMultiplierItem) + if (GetBattlerSide(battler) == B_SIDE_PLAYER && !gBattleStruct->moneyMultiplierItem) { gBattleStruct->moneyMultiplier *= 2; gBattleStruct->moneyMultiplierItem = 1; @@ -6948,141 +6942,141 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; #if B_BERRIES_INSTANT >= GEN_4 case HOLD_EFFECT_CONFUSE_SPICY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SPICY, TRUE); break; case HOLD_EFFECT_CONFUSE_DRY: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_DRY, TRUE); break; case HOLD_EFFECT_CONFUSE_SWEET: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SWEET, TRUE); break; case HOLD_EFFECT_CONFUSE_BITTER: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_BITTER, TRUE); break; case HOLD_EFFECT_CONFUSE_SOUR: - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SOUR, TRUE); break; case HOLD_EFFECT_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_ATK, TRUE); break; case HOLD_EFFECT_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_DEF, TRUE); break; case HOLD_EFFECT_SPEED_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPEED, TRUE); break; case HOLD_EFFECT_SP_ATTACK_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPATK, TRUE); break; case HOLD_EFFECT_SP_DEFENSE_UP: - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPDEF, TRUE); break; case HOLD_EFFECT_CRITICAL_UP: - if (!(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) + if (!(gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, gLastUsedItem), gLastUsedItem)) { - gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; - gBattleScripting.battler = battlerId; + gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battler; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_RANDOM_STAT_UP: - effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, TRUE); + effect = RandomStatRaiseBerry(battler, gLastUsedItem, TRUE); break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_BURN && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_FREEZE && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } - if (gBattleMons[battlerId].status1 & STATUS1_FROSTBITE && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_FROSTBITE && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_FROSTBITE; + gBattleMons[battler].status1 &= ~STATUS1_FROSTBITE; BattleScriptExecute(BattleScript_BerryCureFsbEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_SLEEP && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_STATUS: - if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) + if ((gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) && !UnnerveOn(battler, gLastUsedItem)) { i = 0; - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE || gBattleMons[battlerId].status1 & STATUS1_FROSTBITE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE || gBattleMons[battler].status1 & STATUS1_FROSTBITE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; } - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); i++; @@ -7091,56 +7085,56 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_NORMALIZED_STATUS; - gBattleMons[battlerId].status1 = 0; - RemoveConfusionStatus(battlerId); + gBattleMons[battler].status1 = 0; + RemoveConfusionStatus(battler); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_RESTORE_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, TRUE, FALSE); + effect = ItemHealHp(battler, gLastUsedItem, TRUE, FALSE); break; case HOLD_EFFECT_RESTORE_PCT_HP: - effect = ItemHealHp(battlerId, gLastUsedItem, TRUE, TRUE); + effect = ItemHealHp(battler, gLastUsedItem, TRUE, TRUE); break; #endif case HOLD_EFFECT_AIR_BALLOON: effect = ITEM_EFFECT_OTHER; - gBattleScripting.battler = battlerId; + gBattleScripting.battler = battler; BattleScriptPushCursorAndCallback(BattleScript_AirBaloonMsgIn); - RecordItemEffectBattle(battlerId, HOLD_EFFECT_AIR_BALLOON); + RecordItemEffectBattle(battler, HOLD_EFFECT_AIR_BALLOON); break; case HOLD_EFFECT_ROOM_SERVICE: - if (TryRoomService(battlerId)) + if (TryRoomService(battler)) { BattleScriptExecute(BattleScript_BerryStatRaiseEnd2); effect = ITEM_STATS_CHANGE; } break; case HOLD_EFFECT_SEEDS: - switch (GetBattlerHoldEffectParam(battlerId)) + switch (GetBattlerHoldEffectParam(battler)) { case HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN: - effect = TryHandleSeed(battlerId, STATUS_FIELD_ELECTRIC_TERRAIN, STAT_DEF, gLastUsedItem, TRUE); + effect = TryHandleSeed(battler, STATUS_FIELD_ELECTRIC_TERRAIN, STAT_DEF, gLastUsedItem, TRUE); break; case HOLD_EFFECT_PARAM_GRASSY_TERRAIN: - effect = TryHandleSeed(battlerId, STATUS_FIELD_GRASSY_TERRAIN, STAT_DEF, gLastUsedItem, TRUE); + effect = TryHandleSeed(battler, STATUS_FIELD_GRASSY_TERRAIN, STAT_DEF, gLastUsedItem, TRUE); break; case HOLD_EFFECT_PARAM_MISTY_TERRAIN: - effect = TryHandleSeed(battlerId, STATUS_FIELD_MISTY_TERRAIN, STAT_SPDEF, gLastUsedItem, TRUE); + effect = TryHandleSeed(battler, STATUS_FIELD_MISTY_TERRAIN, STAT_SPDEF, gLastUsedItem, TRUE); break; case HOLD_EFFECT_PARAM_PSYCHIC_TERRAIN: - effect = TryHandleSeed(battlerId, STATUS_FIELD_PSYCHIC_TERRAIN, STAT_SPDEF, gLastUsedItem, TRUE); + effect = TryHandleSeed(battler, STATUS_FIELD_PSYCHIC_TERRAIN, STAT_SPDEF, gLastUsedItem, TRUE); break; } break; case HOLD_EFFECT_EJECT_PACK: - if (gProtectStructs[battlerId].statFell - && gProtectStructs[battlerId].disableEjectPack == 0 + if (gProtectStructs[battler].statFell + && gProtectStructs[battler].disableEjectPack == 0 && !(gCurrentMove == MOVE_PARTING_SHOT && CanBattlerSwitch(gBattlerAttacker))) // Does not activate if attacker used Parting Shot and can switch out { - gProtectStructs[battlerId].statFell = FALSE; - gActiveBattler = gBattleScripting.battler = battlerId; + gProtectStructs[battler].statFell = FALSE; + gActiveBattler = gBattleScripting.battler = battler; effect = ITEM_STATS_CHANGE; if (moveTurn) { @@ -7154,8 +7148,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_BERSERK_GENE: - BufferStatChange(battlerId, STAT_ATK, STRINGID_STATROSE); - gEffectBattler = battlerId; + BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); + gEffectBattler = battler; if (CanBeInfinitelyConfused(gEffectBattler)) { gStatuses4[gEffectBattler] |= STATUS4_INFINITE_CONFUSION; @@ -7171,40 +7165,40 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } if (effect != 0) { - gSpecialStatuses[battlerId].switchInItemDone = TRUE; - gActiveBattler = gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; + gSpecialStatuses[battler].switchInItemDone = TRUE; + gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battler; switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); break; case ITEM_PP_CHANGE: - if (MOVE_IS_PERMANENT(battlerId, i)) - gBattleMons[battlerId].pp[i] = changedPP; + if (MOVE_IS_PERMANENT(battler, i)) + gBattleMons[battler].pp[i] = changedPP; break; } } } break; case ITEMEFFECT_NORMAL: - if (gBattleMons[battlerId].hp) + if (gBattleMons[battler].hp) { switch (battlerHoldEffect) { case HOLD_EFFECT_RESTORE_HP: if (!moveTurn) - effect = ItemHealHp(battlerId, gLastUsedItem, TRUE, FALSE); + effect = ItemHealHp(battler, gLastUsedItem, TRUE, FALSE); break; case HOLD_EFFECT_RESTORE_PCT_HP: if (!moveTurn) - effect = ItemHealHp(battlerId, gLastUsedItem, TRUE, TRUE); + effect = ItemHealHp(battler, gLastUsedItem, TRUE, TRUE); break; case HOLD_EFFECT_RESTORE_PP: if (!moveTurn) { - struct Pokemon *party = GetBattlerParty(battlerId); - struct Pokemon *mon = &party[gBattlerPartyIndexes[battlerId]]; + struct Pokemon *party = GetBattlerParty(battler); + struct Pokemon *mon = &party[gBattlerPartyIndexes[battler]]; u8 ppBonuses; u16 move; @@ -7219,12 +7213,12 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (i != MAX_MON_MOVES) { u8 maxPP = CalculatePPWithBonus(move, ppBonuses, i); - u8 ppRestored = GetBattlerHoldEffectParam(battlerId); + u8 ppRestored = GetBattlerHoldEffectParam(battler); - if (GetBattlerAbility(battlerId) == ABILITY_RIPEN) + if (GetBattlerAbility(battler) == ABILITY_RIPEN) { ppRestored *= 2; - gBattlerAbility = battlerId; + gBattlerAbility = battler; } if (changedPP + ppRestored > maxPP) changedPP = maxPP; @@ -7234,8 +7228,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) PREPARE_MOVE_BUFFER(gBattleTextBuff1, move); BattleScriptExecute(BattleScript_BerryPPHealEnd2); - BtlController_EmitSetMonData(BUFFER_A, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, i + REQUEST_PPMOVE1_BATTLE, 0, 1, &changedPP); + MarkBattlerForControllerExec(battler); effect = ITEM_PP_CHANGE; } } @@ -7243,193 +7237,193 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) case HOLD_EFFECT_RESTORE_STATS: for (i = 0; i < NUM_BATTLE_STATS; i++) { - if (gBattleMons[battlerId].statStages[i] < DEFAULT_STAT_STAGE) + if (gBattleMons[battler].statStages[i] < DEFAULT_STAT_STAGE) { - gBattleMons[battlerId].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; effect = ITEM_STATS_CHANGE; } } if (effect != 0) { - gBattleScripting.battler = battlerId; - gPotentialItemEffectBattler = battlerId; - gActiveBattler = gBattlerAttacker = battlerId; + gBattleScripting.battler = battler; + gPotentialItemEffectBattler = battler; + gActiveBattler = gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; case HOLD_EFFECT_BLACK_SLUDGE: - if (IS_BATTLER_OF_TYPE(battlerId, TYPE_POISON)) + if (IS_BATTLER_OF_TYPE(battler, TYPE_POISON)) { goto LEFTOVERS; } - else if (GetBattlerAbility(battlerId) != ABILITY_MAGIC_GUARD && !moveTurn) + else if (GetBattlerAbility(battler) != ABILITY_MAGIC_GUARD && !moveTurn) { - gBattleMoveDamage = gBattleMons[battlerId].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_ItemHurtEnd2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); PREPARE_ITEM_BUFFER(gBattleTextBuff1, gLastUsedItem); } break; case HOLD_EFFECT_LEFTOVERS: LEFTOVERS: #if B_HEAL_BLOCKING >= GEN_5 - if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn && !(gStatuses3[battlerId] & STATUS3_HEAL_BLOCK)) + if (gBattleMons[battler].hp < gBattleMons[battler].maxHP && !moveTurn && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) #else - if (gBattleMons[battlerId].hp < gBattleMons[battlerId].maxHP && !moveTurn) + if (gBattleMons[battler].hp < gBattleMons[battler].maxHP && !moveTurn) #endif { - gBattleMoveDamage = gBattleMons[battlerId].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / 16; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; BattleScriptExecute(BattleScript_ItemHealHP_End2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); } break; case HOLD_EFFECT_CONFUSE_SPICY: if (!moveTurn) - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SPICY, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SPICY, TRUE); break; case HOLD_EFFECT_CONFUSE_DRY: if (!moveTurn) - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_DRY, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_DRY, TRUE); break; case HOLD_EFFECT_CONFUSE_SWEET: if (!moveTurn) - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SWEET, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SWEET, TRUE); break; case HOLD_EFFECT_CONFUSE_BITTER: if (!moveTurn) - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_BITTER, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_BITTER, TRUE); break; case HOLD_EFFECT_CONFUSE_SOUR: if (!moveTurn) - effect = HealConfuseBerry(battlerId, gLastUsedItem, FLAVOR_SOUR, TRUE); + effect = HealConfuseBerry(battler, gLastUsedItem, FLAVOR_SOUR, TRUE); break; case HOLD_EFFECT_ATTACK_UP: if (!moveTurn) - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_ATK, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_ATK, TRUE); break; case HOLD_EFFECT_DEFENSE_UP: if (!moveTurn) - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_DEF, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_DEF, TRUE); break; case HOLD_EFFECT_SPEED_UP: if (!moveTurn) - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPEED, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPEED, TRUE); break; case HOLD_EFFECT_SP_ATTACK_UP: if (!moveTurn) - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPATK, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPATK, TRUE); break; case HOLD_EFFECT_SP_DEFENSE_UP: if (!moveTurn) - effect = StatRaiseBerry(battlerId, gLastUsedItem, STAT_SPDEF, TRUE); + effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPDEF, TRUE); break; case HOLD_EFFECT_CRITICAL_UP: - if (!moveTurn && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) - && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) + if (!moveTurn && !(gBattleMons[battler].status2 & STATUS2_FOCUS_ENERGY) + && HasEnoughHpToEatBerry(battler, GetBattlerItemHoldEffectParam(battler, gLastUsedItem), gLastUsedItem)) { - gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; - gBattleScripting.battler = battlerId; + gBattleMons[battler].status2 |= STATUS2_FOCUS_ENERGY; + gBattleScripting.battler = battler; BattleScriptExecute(BattleScript_BerryFocusEnergyEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_RANDOM_STAT_UP: if (!moveTurn) - effect = RandomStatRaiseBerry(battlerId, gLastUsedItem, TRUE); + effect = RandomStatRaiseBerry(battler, gLastUsedItem, TRUE); break; case HOLD_EFFECT_CURE_PAR: - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_PARALYSIS; + gBattleMons[battler].status1 &= ~STATUS1_PARALYSIS; BattleScriptExecute(BattleScript_BerryCurePrlzEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_PSN: - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); + gBattleMons[battler].status1 &= ~(STATUS1_PSN_ANY | STATUS1_TOXIC_COUNTER); BattleScriptExecute(BattleScript_BerryCurePsnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_BRN: - if (gBattleMons[battlerId].status1 & STATUS1_BURN && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_BURN && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_BURN; + gBattleMons[battler].status1 &= ~STATUS1_BURN; BattleScriptExecute(BattleScript_BerryCureBrnEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_FRZ: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_FREEZE && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_FREEZE; + gBattleMons[battler].status1 &= ~STATUS1_FREEZE; BattleScriptExecute(BattleScript_BerryCureFrzEnd2); effect = ITEM_STATUS_CHANGE; } - if (gBattleMons[battlerId].status1 & STATUS1_FROSTBITE && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_FROSTBITE && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_FROSTBITE; + gBattleMons[battler].status1 &= ~STATUS1_FROSTBITE; BattleScriptExecute(BattleScript_BerryCureFsbEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_SLP: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status1 & STATUS1_SLEEP && !UnnerveOn(battler, gLastUsedItem)) { - gBattleMons[battlerId].status1 &= ~STATUS1_SLEEP; - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 &= ~STATUS1_SLEEP; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; BattleScriptExecute(BattleScript_BerryCureSlpEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_CURE_CONFUSION: - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION && !UnnerveOn(battlerId, gLastUsedItem)) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION && !UnnerveOn(battler, gLastUsedItem)) { - RemoveConfusionStatus(battlerId); + RemoveConfusionStatus(battler); BattleScriptExecute(BattleScript_BerryCureConfusionEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_CURE_STATUS: - if ((gBattleMons[battlerId].status1 & STATUS1_ANY || gBattleMons[battlerId].status2 & STATUS2_CONFUSION) && !UnnerveOn(battlerId, gLastUsedItem)) + if ((gBattleMons[battler].status1 & STATUS1_ANY || gBattleMons[battler].status2 & STATUS2_CONFUSION) && !UnnerveOn(battler, gLastUsedItem)) { i = 0; - if (gBattleMons[battlerId].status1 & STATUS1_PSN_ANY) + if (gBattleMons[battler].status1 & STATUS1_PSN_ANY) { StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - gBattleMons[battlerId].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; StringCopy(gBattleTextBuff1, gStatusConditionString_SleepJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS) { StringCopy(gBattleTextBuff1, gStatusConditionString_ParalysisJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_BURN) + if (gBattleMons[battler].status1 & STATUS1_BURN) { StringCopy(gBattleTextBuff1, gStatusConditionString_BurnJpn); i++; } - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE || gBattleMons[battlerId].status1 & STATUS1_FROSTBITE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE || gBattleMons[battler].status1 & STATUS1_FROSTBITE) { StringCopy(gBattleTextBuff1, gStatusConditionString_IceJpn); i++; } - if (gBattleMons[battlerId].status2 & STATUS2_CONFUSION) + if (gBattleMons[battler].status2 & STATUS2_CONFUSION) { StringCopy(gBattleTextBuff1, gStatusConditionString_ConfusionJpn); i++; @@ -7438,28 +7432,28 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CURED_PROBLEM; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_NORMALIZED_STATUS; - gBattleMons[battlerId].status1 = 0; - RemoveConfusionStatus(battlerId); + gBattleMons[battler].status1 = 0; + RemoveConfusionStatus(battler); BattleScriptExecute(BattleScript_BerryCureChosenStatusEnd2); effect = ITEM_STATUS_CHANGE; } break; case HOLD_EFFECT_MENTAL_HERB: - if (GetMentalHerbEffect(battlerId)) + if (GetMentalHerbEffect(battler)) { gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = battlerId; + gBattlerAttacker = battler; BattleScriptExecute(BattleScript_MentalHerbCureEnd2); effect = ITEM_EFFECT_OTHER; } break; case HOLD_EFFECT_MICLE_BERRY: if (!moveTurn) - effect = TrySetMicleBerry(battlerId, gLastUsedItem, TRUE); + effect = TrySetMicleBerry(battler, gLastUsedItem, TRUE); break; case HOLD_EFFECT_BERSERK_GENE: - BufferStatChange(battlerId, STAT_ATK, STRINGID_STATROSE); - gEffectBattler = battlerId; + BufferStatChange(battler, STAT_ATK, STRINGID_STATROSE); + gEffectBattler = battler; if (CanBeInfinitelyConfused(gEffectBattler)) { gStatuses4[gEffectBattler] |= STATUS4_INFINITE_CONFUSION; @@ -7473,53 +7467,53 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) effect = ITEM_STATS_CHANGE; break; case HOLD_EFFECT_MIRROR_HERB: - effect = TryConsumeMirrorHerb(battlerId, TRUE); + effect = TryConsumeMirrorHerb(battler, TRUE); break; } if (effect != 0) { - gActiveBattler = gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; + gBattlerAttacker = gPotentialItemEffectBattler = gBattleScripting.battler = battler; switch (effect) { case ITEM_STATUS_CHANGE: - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); break; case ITEM_PP_CHANGE: - if (MOVE_IS_PERMANENT(battlerId, i)) - gBattleMons[battlerId].pp[i] = changedPP; + if (MOVE_IS_PERMANENT(battler, i)) + gBattleMons[battler].pp[i] = changedPP; break; } } } break; case ITEMEFFECT_USE_LAST_ITEM: - effect = ItemEffectMoveEnd(battlerId, ItemId_GetHoldEffect(gLastUsedItem)); + effect = ItemEffectMoveEnd(battler, ItemId_GetHoldEffect(gLastUsedItem)); gBattleScripting.overrideBerryRequirements = 2; // to exit VARIOUS_CONSUME_BERRIES if (effect) { - gActiveBattler = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = gBattleScripting.battler = battler; if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); } break; } break; case ITEMEFFECT_MOVE_END: - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { - gLastUsedItem = gBattleMons[battlerId].item; - effect = ItemEffectMoveEnd(battlerId, GetBattlerHoldEffect(battlerId, TRUE)); + gLastUsedItem = gBattleMons[battler].item; + effect = ItemEffectMoveEnd(battler, GetBattlerHoldEffect(battler, TRUE)); if (effect) { - gActiveBattler = gPotentialItemEffectBattler = gBattleScripting.battler = battlerId; + gPotentialItemEffectBattler = gBattleScripting.battler = battler; if (effect == ITEM_STATUS_CHANGE) { - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); } break; } @@ -7575,7 +7569,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) && gBattlerAttacker != gBattlerTarget && gBattleMons[gBattlerAttacker].hp != gBattleMons[gBattlerAttacker].maxHP #if B_HEAL_BLOCKING >= GEN_5 - && gBattleMons[gBattlerAttacker].hp != 0 && !(gStatuses3[battlerId] & STATUS3_HEAL_BLOCK)) + && gBattleMons[gBattlerAttacker].hp != 0 && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) #else && gBattleMons[gBattlerAttacker].hp != 0) #endif @@ -7651,11 +7645,11 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_RockyHelmetActivates; PREPARE_ITEM_BUFFER(gBattleTextBuff1, gLastUsedItem); - RecordItemEffectBattle(battlerId, HOLD_EFFECT_ROCKY_HELMET); + RecordItemEffectBattle(battler, HOLD_EFFECT_ROCKY_HELMET); } break; case HOLD_EFFECT_WEAKNESS_POLICY: - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED && gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { @@ -7665,7 +7659,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_SNOWBALL: - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED && moveType == TYPE_ICE) { @@ -7676,7 +7670,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_LUMINOUS_MOSS: - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED && moveType == TYPE_WATER) { @@ -7687,7 +7681,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_CELL_BATTERY: - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED && moveType == TYPE_ELECTRIC) { @@ -7698,7 +7692,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_ABSORB_BULB: - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED && moveType == TYPE_WATER) { @@ -7709,62 +7703,62 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) } break; case HOLD_EFFECT_JABOCA_BERRY: // consume and damage attacker if used physical move - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED - && !DoesSubstituteBlockMove(gBattlerAttacker, battlerId, gCurrentMove) + && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && IS_MOVE_PHYSICAL(gCurrentMove) && GetBattlerAbility(gBattlerAttacker) != ABILITY_MAGIC_GUARD) { gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (GetBattlerAbility(battlerId) == ABILITY_RIPEN) + if (GetBattlerAbility(battler) == ABILITY_RIPEN) gBattleMoveDamage *= 2; effect = ITEM_HP_CHANGE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_JabocaRowapBerryActivates; PREPARE_ITEM_BUFFER(gBattleTextBuff1, gLastUsedItem); - RecordItemEffectBattle(battlerId, HOLD_EFFECT_ROCKY_HELMET); + RecordItemEffectBattle(battler, HOLD_EFFECT_ROCKY_HELMET); } break; case HOLD_EFFECT_ROWAP_BERRY: // consume and damage attacker if used special move - if (IsBattlerAlive(battlerId) + if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED - && !DoesSubstituteBlockMove(gBattlerAttacker, battlerId, gCurrentMove) + && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && IS_MOVE_SPECIAL(gCurrentMove) && GetBattlerAbility(gBattlerAttacker) != ABILITY_MAGIC_GUARD) { gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; - if (GetBattlerAbility(battlerId) == ABILITY_RIPEN) + if (GetBattlerAbility(battler) == ABILITY_RIPEN) gBattleMoveDamage *= 2; effect = ITEM_HP_CHANGE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_JabocaRowapBerryActivates; PREPARE_ITEM_BUFFER(gBattleTextBuff1, gLastUsedItem); - RecordItemEffectBattle(battlerId, HOLD_EFFECT_ROCKY_HELMET); + RecordItemEffectBattle(battler, HOLD_EFFECT_ROCKY_HELMET); } break; case HOLD_EFFECT_KEE_BERRY: // consume and boost defense if used physical move - effect = DamagedStatBoostBerryEffect(battlerId, STAT_DEF, SPLIT_PHYSICAL); + effect = DamagedStatBoostBerryEffect(battler, STAT_DEF, SPLIT_PHYSICAL); break; case HOLD_EFFECT_MARANGA_BERRY: // consume and boost sp. defense if used special move - effect = DamagedStatBoostBerryEffect(battlerId, STAT_SPDEF, SPLIT_SPECIAL); + effect = DamagedStatBoostBerryEffect(battler, STAT_SPDEF, SPLIT_SPECIAL); break; case HOLD_EFFECT_STICKY_BARB: if (TARGET_TURN_DAMAGED && (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT)) && IsMoveMakingContact(gCurrentMove, gBattlerAttacker) - && !DoesSubstituteBlockMove(gBattlerAttacker, battlerId, gCurrentMove) + && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) && IsBattlerAlive(gBattlerAttacker) && CanStealItem(gBattlerAttacker, gBattlerTarget, gBattleMons[gBattlerTarget].item) && gBattleMons[gBattlerAttacker].item == ITEM_NONE) { // No sticky hold checks. - gEffectBattler = battlerId; // gEffectBattler = target + gEffectBattler = battler; // gEffectBattler = target StealTargetItem(gBattlerAttacker, gBattlerTarget); // Attacker takes target's barb BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_StickyBarbTransfer; @@ -7776,36 +7770,36 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) break; case ITEMEFFECT_ORBS: { - u16 battlerAbility = GetBattlerAbility(battlerId); + u16 battlerAbility = GetBattlerAbility(battler); switch (battlerHoldEffect) { case HOLD_EFFECT_TOXIC_ORB: - if (CanBePoisoned(battlerId, battlerId)) + if (CanBePoisoned(battler, battler)) { effect = ITEM_STATUS_CHANGE; - gBattleMons[battlerId].status1 = STATUS1_TOXIC_POISON; + gBattleMons[battler].status1 = STATUS1_TOXIC_POISON; BattleScriptExecute(BattleScript_ToxicOrb); - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); } break; case HOLD_EFFECT_FLAME_ORB: - if (CanBeBurned(battlerId)) + if (CanBeBurned(battler)) { effect = ITEM_STATUS_CHANGE; - gBattleMons[battlerId].status1 = STATUS1_BURN; + gBattleMons[battler].status1 = STATUS1_BURN; BattleScriptExecute(BattleScript_FlameOrb); - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); } break; case HOLD_EFFECT_STICKY_BARB: // Not an orb per se, but similar effect, and needs to NOT activate with pickpocket if (battlerAbility != ABILITY_MAGIC_GUARD) { - gBattleMoveDamage = gBattleMons[battlerId].maxHP / 8; + gBattleMoveDamage = gBattleMons[battler].maxHP / 8; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; BattleScriptExecute(BattleScript_ItemHurtEnd2); effect = ITEM_HP_CHANGE; - RecordItemEffectBattle(battlerId, battlerHoldEffect); + RecordItemEffectBattle(battler, battlerHoldEffect); PREPARE_ITEM_BUFFER(gBattleTextBuff1, gLastUsedItem); } break; @@ -7813,9 +7807,8 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) if (effect == ITEM_STATUS_CHANGE) { - gActiveBattler = battlerId; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battlerId].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); } } break; @@ -7823,16 +7816,16 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) // Berry was successfully used on a Pokemon. if (effect && (gLastUsedItem >= FIRST_BERRY_INDEX && gLastUsedItem <= LAST_BERRY_INDEX)) - gBattleStruct->ateBerry[battlerId & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[battlerId]]; + gBattleStruct->ateBerry[battler & BIT_SIDE] |= gBitTable[gBattlerPartyIndexes[battler]]; return effect; } -void ClearFuryCutterDestinyBondGrudge(u8 battlerId) +void ClearFuryCutterDestinyBondGrudge(u8 battler) { - gDisableStructs[battlerId].furyCutterCounter = 0; - gBattleMons[battlerId].status2 &= ~STATUS2_DESTINY_BOND; - gStatuses3[battlerId] &= ~STATUS3_GRUDGE; + gDisableStructs[battler].furyCutterCounter = 0; + gBattleMons[battler].status2 &= ~STATUS2_DESTINY_BOND; + gStatuses3[battler] &= ~STATUS3_GRUDGE; } void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands @@ -7841,7 +7834,7 @@ void HandleAction_RunBattleScript(void) // identical to RunBattleScriptCommands gBattleScriptingCommandsTable[*gBattlescriptCurrInstr](); } -u32 SetRandomTarget(u32 battlerId) +u32 SetRandomTarget(u32 battler) { u32 target; static const u8 targets[2][2] = @@ -7852,13 +7845,13 @@ u32 SetRandomTarget(u32 battlerId) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - target = GetBattlerAtPosition(targets[GetBattlerSide(battlerId)][Random() % 2]); + target = GetBattlerAtPosition(targets[GetBattlerSide(battler)][Random() % 2]); if (!IsBattlerAlive(target)) target ^= BIT_FLANK; } else { - target = GetBattlerAtPosition(targets[GetBattlerSide(battlerId)][0]); + target = GetBattlerAtPosition(targets[GetBattlerSide(battler)][0]); } return target; @@ -7942,14 +7935,14 @@ u32 GetMoveTarget(u16 move, u8 setTarget) return targetBattler; } -static bool32 IsBattlerModernFatefulEncounter(u8 battlerId) +static bool32 IsBattlerModernFatefulEncounter(u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) return TRUE; - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS - && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS + && GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL) != SPECIES_MEW) return TRUE; - return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); + return GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_MODERN_FATEFUL_ENCOUNTER, NULL); } u8 IsMonDisobedient(void) @@ -8079,40 +8072,40 @@ u8 IsMonDisobedient(void) } } -u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating) +u32 GetBattlerHoldEffect(u8 battler, bool32 checkNegating) { if (checkNegating) { - if (gStatuses3[battlerId] & STATUS3_EMBARGO) + if (gStatuses3[battler] & STATUS3_EMBARGO) return HOLD_EFFECT_NONE; if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM) return HOLD_EFFECT_NONE; - if (GetBattlerAbility(battlerId) == ABILITY_KLUTZ) + if (GetBattlerAbility(battler) == ABILITY_KLUTZ) return HOLD_EFFECT_NONE; } - gPotentialItemEffectBattler = battlerId; + gPotentialItemEffectBattler = battler; - if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY_E_READER) - return gEnigmaBerries[battlerId].holdEffect; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) + return gEnigmaBerries[battler].holdEffect; else - return ItemId_GetHoldEffect(gBattleMons[battlerId].item); + return ItemId_GetHoldEffect(gBattleMons[battler].item); } -static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item) +static u32 GetBattlerItemHoldEffectParam(u8 battler, u16 item) { if (item == ITEM_ENIGMA_BERRY_E_READER) - return gEnigmaBerries[battlerId].holdEffectParam; + return gEnigmaBerries[battler].holdEffectParam; else return ItemId_GetHoldEffectParam(item); } -u32 GetBattlerHoldEffectParam(u8 battlerId) +u32 GetBattlerHoldEffectParam(u8 battler) { - if (gBattleMons[battlerId].item == ITEM_ENIGMA_BERRY_E_READER) - return gEnigmaBerries[battlerId].holdEffectParam; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) + return gEnigmaBerries[battler].holdEffectParam; else - return ItemId_GetHoldEffectParam(gBattleMons[battlerId].item); + return ItemId_GetHoldEffectParam(gBattleMons[battler].item); } bool32 IsMoveMakingContact(u16 move, u8 battlerAtk) @@ -8138,14 +8131,14 @@ bool32 IsMoveMakingContact(u16 move, u8 battlerAtk) } } -bool32 IsBattlerProtected(u8 battlerId, u16 move) +bool32 IsBattlerProtected(u8 battler, u16 move) { // Decorate bypasses protect and detect, but not crafty shield if (move == MOVE_DECORATE) { - if (gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_CRAFTY_SHIELD) + if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_CRAFTY_SHIELD) return TRUE; - else if (gProtectStructs[battlerId].protected) + else if (gProtectStructs[battler].protected) return FALSE; } @@ -8169,26 +8162,26 @@ bool32 IsBattlerProtected(u8 battlerId, u16 move) return FALSE; else if (gBattleMoves[move].effect == EFFECT_FEINT) return FALSE; - else if (gProtectStructs[battlerId].protected) + else if (gProtectStructs[battler].protected) return TRUE; - else if (gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_WIDE_GUARD + else if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_WIDE_GUARD && GetBattlerMoveTargetType(gBattlerAttacker, move) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY)) return TRUE; - else if (gProtectStructs[battlerId].banefulBunkered) + else if (gProtectStructs[battler].banefulBunkered) return TRUE; - else if ((gProtectStructs[battlerId].obstructed || gProtectStructs[battlerId].silkTrapped) && !IS_MOVE_STATUS(move)) + else if ((gProtectStructs[battler].obstructed || gProtectStructs[battler].silkTrapped) && !IS_MOVE_STATUS(move)) return TRUE; - else if (gProtectStructs[battlerId].spikyShielded) + else if (gProtectStructs[battler].spikyShielded) return TRUE; - else if (gProtectStructs[battlerId].kingsShielded && gBattleMoves[move].power != 0) + else if (gProtectStructs[battler].kingsShielded && gBattleMoves[move].power != 0) return TRUE; - else if (gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_QUICK_GUARD + else if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_QUICK_GUARD && GetChosenMovePriority(gBattlerAttacker) > 0) return TRUE; - else if (gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_CRAFTY_SHIELD + else if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_CRAFTY_SHIELD && IS_MOVE_STATUS(move)) return TRUE; - else if (gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_MAT_BLOCK + else if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_MAT_BLOCK && !IS_MOVE_STATUS(move)) return TRUE; else @@ -8196,43 +8189,43 @@ bool32 IsBattlerProtected(u8 battlerId, u16 move) } // Only called directly when calculating damage type effectiveness -static bool32 IsBattlerGrounded2(u8 battlerId, bool32 considerInverse) +static bool32 IsBattlerGrounded2(u8 battler, bool32 considerInverse) { - if (GetBattlerHoldEffect(battlerId, TRUE) == HOLD_EFFECT_IRON_BALL) + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_IRON_BALL) return TRUE; if (gFieldStatuses & STATUS_FIELD_GRAVITY) return TRUE; #if B_ROOTED_GROUNDING >= GEN_4 - if (gStatuses3[battlerId] & STATUS3_ROOTED) + if (gStatuses3[battler] & STATUS3_ROOTED) return TRUE; #endif - if (gStatuses3[battlerId] & STATUS3_SMACKED_DOWN) + if (gStatuses3[battler] & STATUS3_SMACKED_DOWN) return TRUE; - if (gStatuses3[battlerId] & STATUS3_TELEKINESIS) + if (gStatuses3[battler] & STATUS3_TELEKINESIS) return FALSE; - if (gStatuses3[battlerId] & STATUS3_MAGNET_RISE) + if (gStatuses3[battler] & STATUS3_MAGNET_RISE) return FALSE; - if (GetBattlerHoldEffect(battlerId, TRUE) == HOLD_EFFECT_AIR_BALLOON) + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_AIR_BALLOON) return FALSE; - if (GetBattlerAbility(battlerId) == ABILITY_LEVITATE) + if (GetBattlerAbility(battler) == ABILITY_LEVITATE) return FALSE; - if (IS_BATTLER_OF_TYPE(battlerId, TYPE_FLYING) && (!considerInverse || !FlagGet(B_FLAG_INVERSE_BATTLE))) + if (IS_BATTLER_OF_TYPE(battler, TYPE_FLYING) && (!considerInverse || !FlagGet(B_FLAG_INVERSE_BATTLE))) return FALSE; return TRUE; } -bool32 IsBattlerGrounded(u8 battlerId) +bool32 IsBattlerGrounded(u8 battler) { - IsBattlerGrounded2(battlerId, FALSE); + IsBattlerGrounded2(battler, FALSE); } -bool32 IsBattlerAlive(u8 battlerId) +bool32 IsBattlerAlive(u8 battler) { - if (gBattleMons[battlerId].hp == 0) + if (gBattleMons[battler].hp == 0) return FALSE; - else if (battlerId >= gBattlersCount) + else if (battler >= gBattlersCount) return FALSE; - else if (gAbsentBattlerFlags & gBitTable[battlerId]) + else if (gAbsentBattlerFlags & gBitTable[battler]) return FALSE; else return TRUE; @@ -8250,12 +8243,12 @@ u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move) return i; } -u32 GetBattlerWeight(u8 battlerId) +u32 GetBattlerWeight(u8 battler) { u32 i; - u32 weight = GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[battlerId].species), 1); - u32 ability = GetBattlerAbility(battlerId); - u32 holdEffect = GetBattlerHoldEffect(battlerId, TRUE); + u32 weight = GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[battler].species), 1); + u32 ability = GetBattlerAbility(battler); + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); if (ability == ABILITY_HEAVY_METAL) weight *= 2; @@ -8265,7 +8258,7 @@ u32 GetBattlerWeight(u8 battlerId) if (holdEffect == HOLD_EFFECT_FLOAT_STONE) weight /= 2; - for (i = 0; i < gDisableStructs[battlerId].autotomizeCount; i++) + for (i = 0; i < gDisableStructs[battler].autotomizeCount; i++) { if (weight > 1000) { @@ -8284,7 +8277,7 @@ u32 GetBattlerWeight(u8 battlerId) return weight; } -u32 CountBattlerStatIncreases(u8 battlerId, bool32 countEvasionAcc) +u32 CountBattlerStatIncreases(u8 battler, bool32 countEvasionAcc) { u32 i; u32 count = 0; @@ -8293,8 +8286,8 @@ u32 CountBattlerStatIncreases(u8 battlerId, bool32 countEvasionAcc) { if ((i == STAT_ACC || i == STAT_EVASION) && !countEvasionAcc) continue; - if (gBattleMons[battlerId].statStages[i] > DEFAULT_STAT_STAGE) // Stat is increased. - count += gBattleMons[battlerId].statStages[i] - DEFAULT_STAT_STAGE; + if (gBattleMons[battler].statStages[i] > DEFAULT_STAT_STAGE) // Stat is increased. + count += gBattleMons[battler].statStages[i] - DEFAULT_STAT_STAGE; } return count; @@ -9573,7 +9566,7 @@ static inline uq4_12_t GetScreensModifier(u32 move, u32 battlerAtk, u32 battlerD return UQ_4_12(1.0); if (reflect || lightScreen || auroraVeil) return (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) ? UQ_4_12(0.667) : UQ_4_12(0.5); - return UQ_4_12(1.0); + return UQ_4_12(1.0); } static inline uq4_12_t GetCollisionCourseElectroDriftModifier(u32 move, uq4_12_t typeEffectivenessModifier) @@ -10058,20 +10051,20 @@ s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 ma return dmg; } -s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId) +s32 GetStealthHazardDamage(u8 hazardType, u8 battler) { - u8 type1 = gBattleMons[battlerId].type1; - u8 type2 = gBattleMons[battlerId].type2; - u32 maxHp = gBattleMons[battlerId].maxHP; + u8 type1 = gBattleMons[battler].type1; + u8 type2 = gBattleMons[battler].type2; + u32 maxHp = gBattleMons[battler].maxHP; return GetStealthHazardDamageByTypesAndHP(hazardType, type1, type2, maxHp); } -bool32 IsPartnerMonFromSameTrainer(u8 battlerId) +bool32 IsPartnerMonFromSameTrainer(u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) return FALSE; - else if (GetBattlerSide(battlerId) == B_SIDE_PLAYER && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + else if (GetBattlerSide(battler) == B_SIDE_PLAYER && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) return FALSE; else if (gBattleTypeFlags & BATTLE_TYPE_MULTI) return FALSE; @@ -10102,16 +10095,16 @@ bool32 DoesSpeciesUseHoldItemToChangeForm(u16 species, u16 heldItemId) return FALSE; } -bool32 CanMegaEvolve(u8 battlerId) +bool32 CanMegaEvolve(u8 battler) { u32 itemId, holdEffect, species; struct Pokemon *mon; - u8 battlerPosition = GetBattlerPosition(battlerId); - u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battlerId)); + u8 battlerPosition = GetBattlerPosition(battler); + u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battler)); struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]))->mega); // Check if Player has a Mega Ring - if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) + if ((GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_MEGA_RING, 1)) return FALSE; @@ -10120,34 +10113,34 @@ bool32 CanMegaEvolve(u8 battlerId) return FALSE; // Cannot use z move and mega evolve on same turn - if (gBattleStruct->zmove.toBeUsed[battlerId]) + if (gBattleStruct->zmove.toBeUsed[battler]) return FALSE; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && IsPartnerMonFromSameTrainer(battlerId) - && (mega->alreadyEvolved[partnerPosition] || (mega->toEvolve & gBitTable[BATTLE_PARTNER(battlerId)]))) + && IsPartnerMonFromSameTrainer(battler) + && (mega->alreadyEvolved[partnerPosition] || (mega->toEvolve & gBitTable[BATTLE_PARTNER(battler)]))) return FALSE; // Check if mon is currently held by Sky Drop - if (gStatuses3[battlerId] & STATUS3_SKY_DROPPED) + if (gStatuses3[battler] & STATUS3_SKY_DROPPED) return FALSE; // Gets mon data. - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; else - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; species = GetMonData(mon, MON_DATA_SPECIES); itemId = GetMonData(mon, MON_DATA_HELD_ITEM); if (itemId == ITEM_ENIGMA_BERRY_E_READER) - holdEffect = gEnigmaBerries[battlerId].holdEffect; + holdEffect = gEnigmaBerries[battler].holdEffect; else holdEffect = ItemId_GetHoldEffect(itemId); // Check if there is an entry in the evolution table for regular Mega Evolution. - if (GetBattleFormChangeTargetSpecies(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM) != SPECIES_NONE) + if (GetBattleFormChangeTargetSpecies(battler, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM) != SPECIES_NONE) { // Can Mega Evolve via Mega Stone. if (holdEffect == HOLD_EFFECT_MEGA_STONE) @@ -10155,7 +10148,7 @@ bool32 CanMegaEvolve(u8 battlerId) } // Check if there is an entry in the evolution table for Wish Mega Evolution. - if (GetBattleFormChangeTargetSpecies(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE) != SPECIES_NONE) + if (GetBattleFormChangeTargetSpecies(battler, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE) != SPECIES_NONE) { // Can't Wish Mega Evolve if holding a Z Crystal. if (holdEffect != HOLD_EFFECT_Z_CRYSTAL) @@ -10166,36 +10159,36 @@ bool32 CanMegaEvolve(u8 battlerId) return FALSE; } -bool32 IsBattlerMegaEvolved(u8 battlerId) +bool32 IsBattlerMegaEvolved(u8 battler) { // While Transform does copy stats and visuals, it shouldn't be counted as true Mega Evolution. - if (gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) + if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED) return FALSE; - return (gSpeciesInfo[gBattleMons[battlerId].species].flags & SPECIES_FLAG_MEGA_EVOLUTION); + return (gSpeciesInfo[gBattleMons[battler].species].flags & SPECIES_FLAG_MEGA_EVOLUTION); } -bool32 IsBattlerPrimalReverted(u8 battlerId) +bool32 IsBattlerPrimalReverted(u8 battler) { // While Transform does copy stats and visuals, it shouldn't be counted as true Primal Revesion. - if (gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) + if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED) return FALSE; - return (gSpeciesInfo[gBattleMons[battlerId].species].flags & SPECIES_FLAG_PRIMAL_REVERSION); + return (gSpeciesInfo[gBattleMons[battler].species].flags & SPECIES_FLAG_PRIMAL_REVERSION); } // Returns SPECIES_NONE if no form change is possible -u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) +u16 GetBattleFormChangeTargetSpecies(u8 battler, u16 method) { u32 i, j; u16 targetSpecies = SPECIES_NONE; - u16 species = gBattleMons[battlerId].species; + u16 species = gBattleMons[battler].species; const struct FormChange *formChanges = gFormChangeTablePointers[species]; u16 heldItem; u32 ability; if (formChanges != NULL) { - heldItem = gBattleMons[battlerId].item; - ability = GetBattlerAbility(battlerId); + heldItem = gBattleMons[battler].item; + ability = GetBattlerAbility(battler); for (i = 0; formChanges[i].method != FORM_CHANGE_TERMINATOR; i++) { @@ -10209,20 +10202,20 @@ u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) targetSpecies = formChanges[i].targetSpecies; break; case FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE: - if (gBattleMons[battlerId].moves[0] == formChanges[i].param1 - || gBattleMons[battlerId].moves[1] == formChanges[i].param1 - || gBattleMons[battlerId].moves[2] == formChanges[i].param1 - || gBattleMons[battlerId].moves[3] == formChanges[i].param1) + if (gBattleMons[battler].moves[0] == formChanges[i].param1 + || gBattleMons[battler].moves[1] == formChanges[i].param1 + || gBattleMons[battler].moves[2] == formChanges[i].param1 + || gBattleMons[battler].moves[3] == formChanges[i].param1) targetSpecies = formChanges[i].targetSpecies; break; case FORM_CHANGE_BATTLE_SWITCH: targetSpecies = formChanges[i].targetSpecies; break; case FORM_CHANGE_BATTLE_HP_PERCENT: - if (formChanges[i].param1 == GetBattlerAbility(battlerId)) + if (formChanges[i].param1 == GetBattlerAbility(battler)) { // We multiply by 100 to make sure that integer division doesn't mess with the health check. - u32 hpCheck = gBattleMons[battlerId].hp * 100 * 100 / gBattleMons[battlerId].maxHP; + u32 hpCheck = gBattleMons[battler].hp * 100 * 100 / gBattleMons[battler].maxHP; switch(formChanges[i].param2) { case HP_HIGHER_THAN: @@ -10240,7 +10233,7 @@ u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) // Check if there is a required ability and if the battler's ability does not match it // or is suppressed. If so, revert to the no weather form. if (formChanges[i].param2 - && GetBattlerAbility(battlerId) != formChanges[i].param2 + && GetBattlerAbility(battler) != formChanges[i].param2 && formChanges[i].param1 == B_WEATHER_NONE) { targetSpecies = formChanges[i].targetSpecies; @@ -10258,7 +10251,7 @@ u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) } break; case FORM_CHANGE_BATTLE_TURN_END: - if (formChanges[i].param1 == GetBattlerAbility(battlerId)) + if (formChanges[i].param1 == GetBattlerAbility(battler)) targetSpecies = formChanges[i].targetSpecies; break; } @@ -10269,43 +10262,43 @@ u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method) return targetSpecies; } -bool32 CanBattlerFormChange(u8 battlerId, u16 method) +bool32 CanBattlerFormChange(u8 battler, u16 method) { // Can't change form if transformed. - if (gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED + if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED && B_TRANSFORM_FORM_CHANGES >= GEN_5) return FALSE; // Mega Evolved Pokémon should always revert to normal upon fainting or ending the battle. - if (IsBattlerMegaEvolved(battlerId) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) + if (IsBattlerMegaEvolved(battler) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) return TRUE; - else if (IsBattlerPrimalReverted(battlerId) && (method == FORM_CHANGE_END_BATTLE)) + else if (IsBattlerPrimalReverted(battler) && (method == FORM_CHANGE_END_BATTLE)) return TRUE; - return DoesSpeciesHaveFormChangeMethod(gBattleMons[battlerId].species, method); + return DoesSpeciesHaveFormChangeMethod(gBattleMons[battler].species, method); } -bool32 TryBattleFormChange(u8 battlerId, u16 method) +bool32 TryBattleFormChange(u8 battler, u16 method) { - u8 monId = gBattlerPartyIndexes[battlerId]; - u8 side = GET_BATTLER_SIDE(battlerId); - struct Pokemon *party = GetBattlerParty(battlerId); + u8 monId = gBattlerPartyIndexes[battler]; + u8 side = GET_BATTLER_SIDE(battler); + struct Pokemon *party = GetBattlerParty(battler); u16 targetSpecies; - if (!CanBattlerFormChange(battlerId, method)) + if (!CanBattlerFormChange(battler, method)) return FALSE; - targetSpecies = GetBattleFormChangeTargetSpecies(battlerId, method); + targetSpecies = GetBattleFormChangeTargetSpecies(battler, method); if (targetSpecies == SPECIES_NONE) targetSpecies = GetFormChangeTargetSpecies(&party[monId], method, 0); if (targetSpecies != SPECIES_NONE) { // Saves the original species on the first form change for the player. if (gBattleStruct->changedSpecies[side][monId] == SPECIES_NONE) - gBattleStruct->changedSpecies[side][monId] = gBattleMons[battlerId].species; + gBattleStruct->changedSpecies[side][monId] = gBattleMons[battler].species; TryToSetBattleFormChangeMoves(&party[monId], method); SetMonData(&party[monId], MON_DATA_SPECIES, &targetSpecies); - gBattleMons[battlerId].species = targetSpecies; - RecalcBattlerStats(battlerId, &party[monId]); + gBattleMons[battler].species = targetSpecies; + RecalcBattlerStats(battler, &party[monId]); return TRUE; } else if (gBattleStruct->changedSpecies[side][monId] != SPECIES_NONE) @@ -10313,11 +10306,11 @@ bool32 TryBattleFormChange(u8 battlerId, u16 method) bool8 restoreSpecies = FALSE; // Mega Evolved Pokémon should always revert to normal upon fainting or ending the battle, so no need to add it to the form change tables. - if (IsBattlerMegaEvolved(battlerId) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) + if (IsBattlerMegaEvolved(battler) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) restoreSpecies = TRUE; // Unlike Megas, Primal Reversion isn't canceled on fainting. - else if (IsBattlerPrimalReverted(battlerId) && (method == FORM_CHANGE_END_BATTLE)) + else if (IsBattlerPrimalReverted(battler) && (method == FORM_CHANGE_END_BATTLE)) restoreSpecies = TRUE; if (restoreSpecies) @@ -10325,7 +10318,7 @@ bool32 TryBattleFormChange(u8 battlerId, u16 method) // Reverts the original species TryToSetBattleFormChangeMoves(&party[monId], method); SetMonData(&party[monId], MON_DATA_SPECIES, &gBattleStruct->changedSpecies[side][monId]); - RecalcBattlerStats(battlerId, &party[monId]); + RecalcBattlerStats(battler, &party[monId]); return TRUE; } } @@ -10353,9 +10346,9 @@ bool32 DoBattlersShareType(u32 battler1, u32 battler2) return FALSE; } -bool32 CanBattlerGetOrLoseItem(u8 battlerId, u16 itemId) +bool32 CanBattlerGetOrLoseItem(u8 battler, u16 itemId) { - u16 species = gBattleMons[battlerId].species; + u16 species = gBattleMons[battler].species; u16 holdEffect = ItemId_GetHoldEffect(itemId); // Mail can be stolen now @@ -10369,56 +10362,56 @@ bool32 CanBattlerGetOrLoseItem(u8 battlerId, u16 itemId) return TRUE; } -struct Pokemon *GetIllusionMonPtr(u32 battlerId) +struct Pokemon *GetIllusionMonPtr(u32 battler) { - if (gBattleStruct->illusion[battlerId].broken) + if (gBattleStruct->illusion[battler].broken) return NULL; - if (!gBattleStruct->illusion[battlerId].set) + if (!gBattleStruct->illusion[battler].set) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - SetIllusionMon(&gPlayerParty[gBattlerPartyIndexes[battlerId]], battlerId); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + SetIllusionMon(&gPlayerParty[gBattlerPartyIndexes[battler]], battler); else - SetIllusionMon(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId); + SetIllusionMon(&gEnemyParty[gBattlerPartyIndexes[battler]], battler); } - if (!gBattleStruct->illusion[battlerId].on) + if (!gBattleStruct->illusion[battler].on) return NULL; - return gBattleStruct->illusion[battlerId].mon; + return gBattleStruct->illusion[battler].mon; } -void ClearIllusionMon(u32 battlerId) +void ClearIllusionMon(u32 battler) { - memset(&gBattleStruct->illusion[battlerId], 0, sizeof(gBattleStruct->illusion[battlerId])); + memset(&gBattleStruct->illusion[battler], 0, sizeof(gBattleStruct->illusion[battler])); } -u32 GetIllusionMonSpecies(u32 battlerId) +u32 GetIllusionMonSpecies(u32 battler) { - struct Pokemon *illusionMon = GetIllusionMonPtr(battlerId); + struct Pokemon *illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) return GetMonData(illusionMon, MON_DATA_SPECIES); return SPECIES_NONE; } -bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId) +bool32 SetIllusionMon(struct Pokemon *mon, u32 battler) { struct Pokemon *party, *partnerMon; s32 i, id; u8 side, partyCount; - gBattleStruct->illusion[battlerId].set = 1; + gBattleStruct->illusion[battler].set = 1; if (GetMonAbility(mon) != ABILITY_ILLUSION) return FALSE; - party = GetBattlerParty(battlerId); - side = GetBattlerSide(battlerId); + party = GetBattlerParty(battler); + side = GetBattlerSide(battler); partyCount = side == B_SIDE_PLAYER ? gPlayerPartyCount : gEnemyPartyCount; // If this pokemon is last in the party, ignore Illusion. if (&party[partyCount - 1] == mon) return FALSE; - if (IsBattlerAlive(BATTLE_PARTNER(battlerId))) - partnerMon = &party[gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]]; + if (IsBattlerAlive(BATTLE_PARTNER(battler))) + partnerMon = &party[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]; else partnerMon = mon; @@ -10432,10 +10425,10 @@ bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId) && &party[id] != mon && &party[id] != partnerMon) { - gBattleStruct->illusion[battlerId].on = 1; - gBattleStruct->illusion[battlerId].broken = 0; - gBattleStruct->illusion[battlerId].partyId = id; - gBattleStruct->illusion[battlerId].mon = &party[id]; + gBattleStruct->illusion[battler].on = 1; + gBattleStruct->illusion[battler].broken = 0; + gBattleStruct->illusion[battler].partyId = id; + gBattleStruct->illusion[battler].mon = &party[id]; return TRUE; } } @@ -10443,12 +10436,12 @@ bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId) return FALSE; } -bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId) +bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battler) { #if B_BADGE_BOOST == GEN_3 if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) return FALSE; - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) return FALSE; else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE) return FALSE; @@ -10506,26 +10499,26 @@ static bool32 TryRemoveScreens(u8 battler) return removed; } -static bool32 IsUnnerveAbilityOnOpposingSide(u8 battlerId) +static bool32 IsUnnerveAbilityOnOpposingSide(u8 battler) { - if (IsAbilityOnOpposingSide(battlerId, ABILITY_UNNERVE) - || IsAbilityOnOpposingSide(battlerId, ABILITY_AS_ONE_ICE_RIDER) - || IsAbilityOnOpposingSide(battlerId, ABILITY_AS_ONE_SHADOW_RIDER)) + if (IsAbilityOnOpposingSide(battler, ABILITY_UNNERVE) + || IsAbilityOnOpposingSide(battler, ABILITY_AS_ONE_ICE_RIDER) + || IsAbilityOnOpposingSide(battler, ABILITY_AS_ONE_SHADOW_RIDER)) return TRUE; return FALSE; } // Photon geyser & light that burns the sky -u8 GetSplitBasedOnStats(u8 battlerId) +u8 GetSplitBasedOnStats(u8 battler) { - u32 attack = gBattleMons[battlerId].attack; - u32 spAttack = gBattleMons[battlerId].spAttack; + u32 attack = gBattleMons[battler].attack; + u32 spAttack = gBattleMons[battler].spAttack; - attack = attack * gStatStageRatios[gBattleMons[battlerId].statStages[STAT_ATK]][0]; - attack = attack / gStatStageRatios[gBattleMons[battlerId].statStages[STAT_ATK]][1]; + attack = attack * gStatStageRatios[gBattleMons[battler].statStages[STAT_ATK]][0]; + attack = attack / gStatStageRatios[gBattleMons[battler].statStages[STAT_ATK]][1]; - spAttack = spAttack * gStatStageRatios[gBattleMons[battlerId].statStages[STAT_SPATK]][0]; - spAttack = spAttack / gStatStageRatios[gBattleMons[battlerId].statStages[STAT_SPATK]][1]; + spAttack = spAttack * gStatStageRatios[gBattleMons[battler].statStages[STAT_SPATK]][0]; + spAttack = spAttack / gStatStageRatios[gBattleMons[battler].statStages[STAT_SPATK]][1]; if (spAttack >= attack) return SPLIT_SPECIAL; @@ -10547,19 +10540,19 @@ static u8 GetFlingPowerFromItemId(u16 itemId) } // Make sure the input bank is any bank on the specific mon's side -bool32 CanFling(u8 battlerId) +bool32 CanFling(u8 battler) { - u16 item = gBattleMons[battlerId].item; + u16 item = gBattleMons[battler].item; u16 itemEffect = ItemId_GetHoldEffect(item); if (item == ITEM_NONE #if B_KLUTZ_FLING_INTERACTION >= GEN_5 - || GetBattlerAbility(battlerId) == ABILITY_KLUTZ + || GetBattlerAbility(battler) == ABILITY_KLUTZ #endif || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM - || gDisableStructs[battlerId].embargoTimer != 0 + || gDisableStructs[battler].embargoTimer != 0 || GetFlingPowerFromItemId(item) == 0 - || !CanBattlerGetOrLoseItem(battlerId, item)) + || !CanBattlerGetOrLoseItem(battler, item)) return FALSE; return TRUE; @@ -10741,7 +10734,7 @@ bool32 CanStealItem(u8 battlerStealing, u8 battlerItem, u16 item) return TRUE; } -void TrySaveExchangedItem(u8 battlerId, u16 stolenItem) +void TrySaveExchangedItem(u8 battler, u16 stolenItem) { // Because BtlController_EmitSetMonData does SetMonData, we need to save the stolen item only if it matches the battler's original // So, if the player steals an item during battle and has it stolen from it, it will not end the battle with it (naturally) @@ -10749,25 +10742,25 @@ void TrySaveExchangedItem(u8 battlerId, u16 stolenItem) // If regular trainer battle and mon's original item matches what is being stolen, save it to be restored at end of battle if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & BATTLE_TYPE_FRONTIER) - && GetBattlerSide(battlerId) == B_SIDE_PLAYER - && stolenItem == gBattleStruct->itemLost[gBattlerPartyIndexes[battlerId]].originalItem) - gBattleStruct->itemLost[gBattlerPartyIndexes[battlerId]].stolen = TRUE; + && GetBattlerSide(battler) == B_SIDE_PLAYER + && stolenItem == gBattleStruct->itemLost[gBattlerPartyIndexes[battler]].originalItem) + gBattleStruct->itemLost[gBattlerPartyIndexes[battler]].stolen = TRUE; #endif } -bool32 IsBattlerAffectedByHazards(u8 battlerId, bool32 toxicSpikes) +bool32 IsBattlerAffectedByHazards(u8 battler, bool32 toxicSpikes) { bool32 ret = TRUE; - u32 holdEffect = GetBattlerHoldEffect(battlerId, TRUE); - if (toxicSpikes && holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS && !IS_BATTLER_OF_TYPE(battlerId, TYPE_POISON)) + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + if (toxicSpikes && holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS && !IS_BATTLER_OF_TYPE(battler, TYPE_POISON)) { ret = FALSE; - RecordItemEffectBattle(battlerId, holdEffect); + RecordItemEffectBattle(battler, holdEffect); } else if (holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS) { ret = FALSE; - RecordItemEffectBattle(battlerId, holdEffect); + RecordItemEffectBattle(battler, holdEffect); } return ret; } @@ -10781,14 +10774,14 @@ bool32 TestSheerForceFlag(u8 battler, u16 move) } // This function is the body of "jumpifstat", but can be used dynamically in a function -bool32 CompareStat(u8 battlerId, u8 statId, u8 cmpTo, u8 cmpKind) +bool32 CompareStat(u8 battler, u8 statId, u8 cmpTo, u8 cmpKind) { bool8 ret = FALSE; - u8 statValue = gBattleMons[battlerId].statStages[statId]; + u8 statValue = gBattleMons[battler].statStages[statId]; // Because this command is used as a way of checking if a stat can be lowered/raised, // we need to do some modification at run-time. - if (GetBattlerAbility(battlerId) == ABILITY_CONTRARY) + if (GetBattlerAbility(battler) == ABILITY_CONTRARY) { if (cmpKind == CMP_GREATER_THAN) cmpKind = CMP_LESS_THAN; @@ -10832,9 +10825,9 @@ bool32 CompareStat(u8 battlerId, u8 statId, u8 cmpTo, u8 cmpKind) return ret; } -void BufferStatChange(u8 battlerId, u8 statId, u8 stringId) +void BufferStatChange(u8 battler, u8 statId, u8 stringId) { - bool8 hasContrary = (GetBattlerAbility(battlerId) == ABILITY_CONTRARY); + bool8 hasContrary = (GetBattlerAbility(battler) == ABILITY_CONTRARY); PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); if (stringId == STRINGID_STATFELL) @@ -10857,16 +10850,16 @@ void BufferStatChange(u8 battlerId, u8 statId, u8 stringId) } } -bool32 TryRoomService(u8 battlerId) +bool32 TryRoomService(u8 battler) { - if (gFieldStatuses & STATUS_FIELD_TRICK_ROOM && CompareStat(battlerId, STAT_SPEED, MIN_STAT_STAGE, CMP_GREATER_THAN)) + if (gFieldStatuses & STATUS_FIELD_TRICK_ROOM && CompareStat(battler, STAT_SPEED, MIN_STAT_STAGE, CMP_GREATER_THAN)) { - BufferStatChange(battlerId, STAT_SPEED, STRINGID_STATFELL); - gEffectBattler = gBattleScripting.battler = battlerId; + BufferStatChange(battler, STAT_SPEED, STRINGID_STATFELL); + gEffectBattler = gBattleScripting.battler = battler; SET_STATCHANGER(STAT_SPEED, 1, TRUE); gBattleScripting.animArg1 = 14 + STAT_SPEED; gBattleScripting.animArg2 = 0; - gLastUsedItem = gBattleMons[battlerId].item; + gLastUsedItem = gBattleMons[battler].item; return TRUE; } else @@ -10899,12 +10892,12 @@ u16 GetUsedHeldItem(u8 battler) return gBattleStruct->usedHeldItems[gBattlerPartyIndexes[battler]][GetBattlerSide(battler)]; } -bool32 IsBattlerWeatherAffected(u8 battlerId, u32 weatherFlags) +bool32 IsBattlerWeatherAffected(u8 battler, u32 weatherFlags) { if (gBattleWeather & weatherFlags && WEATHER_HAS_EFFECT) { // given weather is active -> check if its sun, rain against utility umbrella ( since only 1 weather can be active at once) - if (gBattleWeather & (B_WEATHER_SUN | B_WEATHER_RAIN) && GetBattlerHoldEffect(battlerId, TRUE) == HOLD_EFFECT_UTILITY_UMBRELLA) + if (gBattleWeather & (B_WEATHER_SUN | B_WEATHER_RAIN) && GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_UTILITY_UMBRELLA) return FALSE; // utility umbrella blocks sun, rain effects return TRUE; @@ -10914,12 +10907,12 @@ bool32 IsBattlerWeatherAffected(u8 battlerId, u32 weatherFlags) // Gets move target before redirection effects etc. are applied // Possible return values are defined in battle.h following MOVE_TARGET_SELECTED -u32 GetBattlerMoveTargetType(u8 battlerId, u16 move) +u32 GetBattlerMoveTargetType(u8 battler, u16 move) { u32 target; if (gBattleMoves[move].effect == EFFECT_EXPANDING_FORCE - && IsBattlerTerrainAffected(battlerId, STATUS_FIELD_PSYCHIC_TERRAIN)) + && IsBattlerTerrainAffected(battler, STATUS_FIELD_PSYCHIC_TERRAIN)) return MOVE_TARGET_BOTH; else return gBattleMoves[move].target; @@ -10979,27 +10972,27 @@ void RecalcBattlerStats(u32 battler, struct Pokemon *mon) CopyMonAbilityAndTypesToBattleMon(battler, mon); } -void RemoveConfusionStatus(u8 battlerId) +void RemoveConfusionStatus(u8 battler) { - gBattleMons[battlerId].status2 &= ~STATUS2_CONFUSION; - gStatuses4[battlerId] &= ~STATUS4_INFINITE_CONFUSION; + gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; + gStatuses4[battler] &= ~STATUS4_INFINITE_CONFUSION; } -static bool8 CanBeInfinitelyConfused(u8 battlerId) +static bool8 CanBeInfinitelyConfused(u8 battler) { - if (gBattleMons[battlerId].ability == ABILITY_OWN_TEMPO - || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN) - || gSideStatuses[GetBattlerSide(battlerId)] & SIDE_STATUS_SAFEGUARD) + if (gBattleMons[battler].ability == ABILITY_OWN_TEMPO + || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN) + || gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD) { return FALSE; } return TRUE; } -u8 GetBattlerGender(u8 battlerId) +u8 GetBattlerGender(u8 battler) { - return GetGenderFromSpeciesAndPersonality(gBattleMons[battlerId].species, - gBattleMons[battlerId].personality); + return GetGenderFromSpeciesAndPersonality(gBattleMons[battler].species, + gBattleMons[battler].personality); } bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2) @@ -11010,9 +11003,9 @@ bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2) return (gender1 != MON_GENDERLESS && gender2 != MON_GENDERLESS && gender1 != gender2); } -u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance) +u32 CalcSecondaryEffectChance(u8 battler, u8 secondaryEffectChance) { - if (GetBattlerAbility(battlerId) == ABILITY_SERENE_GRACE) + if (GetBattlerAbility(battler) == ABILITY_SERENE_GRACE) secondaryEffectChance *= 2; return secondaryEffectChance; diff --git a/src/battle_util2.c b/src/battle_util2.c index 0f04a6eb4e..8dda3004c0 100644 --- a/src/battle_util2.c +++ b/src/battle_util2.c @@ -72,7 +72,7 @@ void FreeBattleResources(void) } } -void AdjustFriendshipOnBattleFaint(u8 battlerId) +void AdjustFriendshipOnBattleFaint(u8 battler) { u8 opposingBattlerId; @@ -91,28 +91,28 @@ void AdjustFriendshipOnBattleFaint(u8 battlerId) opposingBattlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); } - if (gBattleMons[opposingBattlerId].level > gBattleMons[battlerId].level) + if (gBattleMons[opposingBattlerId].level > gBattleMons[battler].level) { - if (gBattleMons[opposingBattlerId].level - gBattleMons[battlerId].level > 29) - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_LARGE); + if (gBattleMons[opposingBattlerId].level - gBattleMons[battler].level > 29) + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_LARGE); else - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL); } else { - AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battlerId]], FRIENDSHIP_EVENT_FAINT_SMALL); + AdjustFriendship(&gPlayerParty[gBattlerPartyIndexes[battler]], FRIENDSHIP_EVENT_FAINT_SMALL); } } -void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) +void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1) { - if (GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + if (GetBattlerSide(battler) != B_SIDE_OPPONENT) { s32 i; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) gBattlePartyCurrentOrder[i] = *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)); - SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battlerId]), GetPartyIdFromBattlePartyId(arg1)); + SwitchPartyMonSlots(GetPartyIdFromBattlePartyId(gBattlerPartyIndexes[battler]), GetPartyIdFromBattlePartyId(arg1)); for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) *(0 * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)) = gBattlePartyCurrentOrder[i]; @@ -121,7 +121,7 @@ void SwitchPartyOrderInGameMulti(u8 battlerId, u8 arg1) // Called when a Pokémon is unable to attack during a Battle Palace battle. // Check if it was because they are frozen/asleep, and if so try to cure the status. -u32 BattlePalace_TryEscapeStatus(u8 battlerId) +u32 BattlePalace_TryEscapeStatus(u8 battler) { u32 effect = 0; @@ -130,13 +130,13 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { - if (UproarWakeUpCheck(battlerId)) + if (UproarWakeUpCheck(battler)) { // Wake up from Uproar - gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); - gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status1 &= ~(STATUS1_SLEEP); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP_UPROAR; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -146,18 +146,18 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) { u32 toSub; - if (GetBattlerAbility(battlerId) == ABILITY_EARLY_BIRD) + if (GetBattlerAbility(battler) == ABILITY_EARLY_BIRD) toSub = 2; else toSub = 1; // Reduce number of sleep turns - if ((gBattleMons[battlerId].status1 & STATUS1_SLEEP) < toSub) - gBattleMons[battlerId].status1 &= ~(STATUS1_SLEEP); + if ((gBattleMons[battler].status1 & STATUS1_SLEEP) < toSub) + gBattleMons[battler].status1 &= ~(STATUS1_SLEEP); else - gBattleMons[battlerId].status1 -= toSub; + gBattleMons[battler].status1 -= toSub; - if (gBattleMons[battlerId].status1 & STATUS1_SLEEP) + if (gBattleMons[battler].status1 & STATUS1_SLEEP) { // Still asleep gBattlescriptCurrInstr = BattleScript_MoveUsedIsAsleep; @@ -166,7 +166,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) else { // Wake up - gBattleMons[battlerId].status2 &= ~(STATUS2_NIGHTMARE); + gBattleMons[battler].status2 &= ~(STATUS2_NIGHTMARE); BattleScriptPushCursor(); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_WOKE_UP; gBattlescriptCurrInstr = BattleScript_MoveUsedWokeUp; @@ -177,7 +177,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) gBattleCommunication[MULTIUSE_STATE]++; break; case 1: - if (gBattleMons[battlerId].status1 & STATUS1_FREEZE) + if (gBattleMons[battler].status1 & STATUS1_FREEZE) { if (Random() % 5 != 0) { @@ -187,7 +187,7 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) else { // Unfreeze - gBattleMons[battlerId].status1 &= ~(STATUS1_FREEZE); + gBattleMons[battler].status1 &= ~(STATUS1_FREEZE); BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MoveUsedUnfroze; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DEFROSTED; @@ -204,9 +204,8 @@ u32 BattlePalace_TryEscapeStatus(u8 battlerId) if (effect == 2) { - gActiveBattler = battlerId; - BtlController_EmitSetMonData(BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[gActiveBattler].status1); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); + MarkBattlerForControllerExec(battler); } return effect; diff --git a/src/pokeball.c b/src/pokeball.c index 2e556ec225..891b8fe4a5 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -527,17 +527,17 @@ const struct SpriteTemplate gBallSpriteTemplates[POKEBALL_COUNT] = #define tBattler data[3] #define tOpponentBattler data[4] -u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow) +u8 DoPokeballSendOutAnimation(u32 battler, s16 pan, u8 kindOfThrow) { u8 taskId; gDoingBattleAnim = TRUE; - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive = TRUE; + gBattleSpritesDataPtr->healthBoxesData[battler].ballAnimActive = TRUE; taskId = CreateTask(Task_DoPokeballSendOutAnim, 5); gTasks[taskId].tPan = pan; gTasks[taskId].tThrowId = kindOfThrow; - gTasks[taskId].tBattler = gActiveBattler; + gTasks[taskId].tBattler = battler; return 0; } From 0381ccdf3217db2fc3387301cc9e97f5190fd0f3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 29 Aug 2023 16:20:16 +0200 Subject: [PATCH 195/256] remove more of gActiveBattler --- include/battle_main.h | 6 +- src/battle_main.c | 342 +++++++++++++++++------------------ src/battle_script_commands.c | 8 +- src/battle_util.c | 1 - 4 files changed, 178 insertions(+), 179 deletions(-) diff --git a/include/battle_main.h b/include/battle_main.h index 8a13213b83..0ae62cd35f 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -53,10 +53,10 @@ void SpriteCB_TrainerThrowObject(struct Sprite *sprite); void AnimSetCenterToCornerVecX(struct Sprite *sprite); void BeginBattleIntroDummy(void); void BeginBattleIntro(void); -void SwitchInClearSetData(void); -void FaintClearSetData(void); +void SwitchInClearSetData(u32 battler); +void FaintClearSetData(u32 battler); void BattleTurnPassed(void); -u8 IsRunningFromBattleImpossible(void); +u8 IsRunningFromBattleImpossible(u32 battler); void SwitchPartyOrder(u8 battlerId); void SwapTurnOrder(u8 id1, u8 id2); u32 GetBattlerTotalSpeedStat(u8 battlerId); diff --git a/src/battle_main.c b/src/battle_main.c index 17c045f07d..ecd26c42a2 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -100,7 +100,7 @@ static void TryDoEventsBeforeFirstTurn(void); static void HandleTurnActionSelectionState(void); static void RunTurnActionsFunctions(void); static void SetActionsAndBattlersTurnOrder(void); -static void UpdateBattlerPartyOrdersOnSwitch(void); +static void UpdateBattlerPartyOrdersOnSwitch(u32 battler); static bool8 AllAtActionConfirmed(void); static void TryChangeTurnOrder(void); static void CheckChosenMoveForEffectsBeforeTurnStarts(void); @@ -3132,21 +3132,21 @@ static void BattleStartClearSetData(void) gSelectedMonPartyId = PARTY_SIZE; // Revival Blessing } -void SwitchInClearSetData(void) +void SwitchInClearSetData(u32 battler) { s32 i; - struct DisableStruct disableStructCopy = gDisableStructs[gActiveBattler]; + struct DisableStruct disableStructCopy = gDisableStructs[battler]; - ClearIllusionMon(gActiveBattler); + ClearIllusionMon(battler); if (gBattleMoves[gCurrentMove].effect != EFFECT_BATON_PASS) { for (i = 0; i < NUM_BATTLE_STATS; i++) - gBattleMons[gActiveBattler].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; for (i = 0; i < gBattlersCount; i++) { - if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == gActiveBattler) + if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == battler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].battlerWithSureHit == gActiveBattler) + if ((gStatuses3[i] & STATUS3_ALWAYS_HITS) && gDisableStructs[i].battlerWithSureHit == battler) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gDisableStructs[i].battlerWithSureHit = 0; @@ -3155,96 +3155,96 @@ void SwitchInClearSetData(void) } if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - gBattleMons[gActiveBattler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); - gStatuses3[gActiveBattler] &= (STATUS3_LEECHSEED_BATTLER | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED + gBattleMons[battler].status2 &= (STATUS2_CONFUSION | STATUS2_FOCUS_ENERGY | STATUS2_SUBSTITUTE | STATUS2_ESCAPE_PREVENTION | STATUS2_CURSED); + gStatuses3[battler] &= (STATUS3_LEECHSEED_BATTLER | STATUS3_LEECHSEED | STATUS3_ALWAYS_HITS | STATUS3_PERISH_SONG | STATUS3_ROOTED | STATUS3_GASTRO_ACID | STATUS3_EMBARGO | STATUS3_TELEKINESIS | STATUS3_MAGNET_RISE | STATUS3_HEAL_BLOCK | STATUS3_AQUA_RING | STATUS3_POWER_TRICK); - gStatuses4[gActiveBattler] &= (STATUS4_MUD_SPORT | STATUS4_WATER_SPORT | STATUS4_INFINITE_CONFUSION); + gStatuses4[battler] &= (STATUS4_MUD_SPORT | STATUS4_WATER_SPORT | STATUS4_INFINITE_CONFUSION); for (i = 0; i < gBattlersCount; i++) { - if (GetBattlerSide(gActiveBattler) != GetBattlerSide(i) + if (GetBattlerSide(battler) != GetBattlerSide(i) && (gStatuses3[i] & STATUS3_ALWAYS_HITS) != 0 - && (gDisableStructs[i].battlerWithSureHit == gActiveBattler)) + && (gDisableStructs[i].battlerWithSureHit == battler)) { gStatuses3[i] &= ~STATUS3_ALWAYS_HITS; gStatuses3[i] |= STATUS3_ALWAYS_HITS_TURN(2); } } - if (gStatuses3[gActiveBattler] & STATUS3_POWER_TRICK) - SWAP(gBattleMons[gActiveBattler].attack, gBattleMons[gActiveBattler].defense, i); + if (gStatuses3[battler] & STATUS3_POWER_TRICK) + SWAP(gBattleMons[battler].attack, gBattleMons[battler].defense, i); } else { - gBattleMons[gActiveBattler].status2 = 0; - gStatuses3[gActiveBattler] = 0; - gStatuses4[gActiveBattler] = 0; + gBattleMons[battler].status2 = 0; + gStatuses3[battler] = 0; + gStatuses4[battler] = 0; } for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBattler)) - gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(gActiveBattler); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBattler) + if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(battler)) + gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(battler); + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == battler) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; } - gActionSelectionCursor[gActiveBattler] = 0; - gMoveSelectionCursor[gActiveBattler] = 0; + gActionSelectionCursor[battler] = 0; + gMoveSelectionCursor[battler] = 0; - memset(&gDisableStructs[gActiveBattler], 0, sizeof(struct DisableStruct)); + memset(&gDisableStructs[battler], 0, sizeof(struct DisableStruct)); if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS) { - gDisableStructs[gActiveBattler].substituteHP = disableStructCopy.substituteHP; - gDisableStructs[gActiveBattler].battlerWithSureHit = disableStructCopy.battlerWithSureHit; - gDisableStructs[gActiveBattler].perishSongTimer = disableStructCopy.perishSongTimer; - gDisableStructs[gActiveBattler].battlerPreventingEscape = disableStructCopy.battlerPreventingEscape; + gDisableStructs[battler].substituteHP = disableStructCopy.substituteHP; + gDisableStructs[battler].battlerWithSureHit = disableStructCopy.battlerWithSureHit; + gDisableStructs[battler].perishSongTimer = disableStructCopy.perishSongTimer; + gDisableStructs[battler].battlerPreventingEscape = disableStructCopy.battlerPreventingEscape; } gMoveResultFlags = 0; - gDisableStructs[gActiveBattler].isFirstTurn = 2; - gDisableStructs[gActiveBattler].truantSwitchInHack = disableStructCopy.truantSwitchInHack; - gLastMoves[gActiveBattler] = MOVE_NONE; - gLastLandedMoves[gActiveBattler] = MOVE_NONE; - gLastHitByType[gActiveBattler] = 0; - gLastResultingMoves[gActiveBattler] = MOVE_NONE; - gLastPrintedMoves[gActiveBattler] = MOVE_NONE; - gLastHitBy[gActiveBattler] = 0xFF; + gDisableStructs[battler].isFirstTurn = 2; + gDisableStructs[battler].truantSwitchInHack = disableStructCopy.truantSwitchInHack; + gLastMoves[battler] = MOVE_NONE; + gLastLandedMoves[battler] = MOVE_NONE; + gLastHitByType[battler] = 0; + gLastResultingMoves[battler] = MOVE_NONE; + gLastPrintedMoves[battler] = MOVE_NONE; + gLastHitBy[battler] = 0xFF; - gBattleStruct->lastTakenMove[gActiveBattler] = 0; - gBattleStruct->sameMoveTurns[gActiveBattler] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][0] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][1] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][2] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][3] = 0; - gBattleStruct->lastMoveFailed &= ~(gBitTable[gActiveBattler]); - gBattleStruct->palaceFlags &= ~(gBitTable[gActiveBattler]); + gBattleStruct->lastTakenMove[battler] = 0; + gBattleStruct->sameMoveTurns[battler] = 0; + gBattleStruct->lastTakenMoveFrom[battler][0] = 0; + gBattleStruct->lastTakenMoveFrom[battler][1] = 0; + gBattleStruct->lastTakenMoveFrom[battler][2] = 0; + gBattleStruct->lastTakenMoveFrom[battler][3] = 0; + gBattleStruct->lastMoveFailed &= ~(gBitTable[battler]); + gBattleStruct->palaceFlags &= ~(gBitTable[battler]); for (i = 0; i < ARRAY_COUNT(gSideTimers); i++) { // Switched into sticky web user slot, so reset stored battler ID - if (gSideTimers[i].stickyWebBattlerId == gActiveBattler) + if (gSideTimers[i].stickyWebBattlerId == battler) gSideTimers[i].stickyWebBattlerId = 0xFF; } for (i = 0; i < gBattlersCount; i++) { - if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler)) + if (i != battler && GetBattlerSide(i) != GetBattlerSide(battler)) gBattleStruct->lastTakenMove[i] = MOVE_NONE; - gBattleStruct->lastTakenMoveFrom[i][gActiveBattler] = 0; + gBattleStruct->lastTakenMoveFrom[i][battler] = 0; } - gBattleStruct->choicedMove[gActiveBattler] = MOVE_NONE; - gBattleResources->flags->flags[gActiveBattler] = 0; + gBattleStruct->choicedMove[battler] = MOVE_NONE; + gBattleResources->flags->flags[battler] = 0; gCurrentMove = MOVE_NONE; gBattleStruct->arenaTurnCounter = 0xFF; // Reset damage to prevent things like red card activating if the switched-in mon is holding it - gSpecialStatuses[gActiveBattler].physicalDmg = 0; - gSpecialStatuses[gActiveBattler].specialDmg = 0; + gSpecialStatuses[battler].physicalDmg = 0; + gSpecialStatuses[battler].specialDmg = 0; - gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; + gBattleStruct->overwrittenAbilities[battler] = ABILITY_NONE; // Clear selected party ID so Revival Blessing doesn't get confused. gSelectedMonPartyId = PARTY_SIZE; @@ -3252,126 +3252,126 @@ void SwitchInClearSetData(void) // Allow for illegal abilities within tests. if (gTestRunnerEnabled) { - u32 side = GetBattlerSide(gActiveBattler); - u32 partyIndex = gBattlerPartyIndexes[gActiveBattler]; + u32 side = GetBattlerSide(battler); + u32 partyIndex = gBattlerPartyIndexes[battler]; if (TestRunner_Battle_GetForcedAbility(side, partyIndex)) gBattleMons[i].ability = gBattleStruct->overwrittenAbilities[i] = TestRunner_Battle_GetForcedAbility(side, partyIndex); } - Ai_UpdateSwitchInData(gActiveBattler); + Ai_UpdateSwitchInData(battler); } -void FaintClearSetData(void) +void FaintClearSetData(u32 battler) { s32 i; for (i = 0; i < NUM_BATTLE_STATS; i++) - gBattleMons[gActiveBattler].statStages[i] = DEFAULT_STAT_STAGE; + gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; - gBattleMons[gActiveBattler].status2 = 0; - gStatuses3[gActiveBattler] = 0; - gStatuses4[gActiveBattler] = 0; + gBattleMons[battler].status2 = 0; + gStatuses3[battler] = 0; + gStatuses4[battler] = 0; for (i = 0; i < gBattlersCount; i++) { - if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == gActiveBattler) + if ((gBattleMons[i].status2 & STATUS2_ESCAPE_PREVENTION) && gDisableStructs[i].battlerPreventingEscape == battler) gBattleMons[i].status2 &= ~STATUS2_ESCAPE_PREVENTION; - if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(gActiveBattler)) - gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(gActiveBattler); - if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == gActiveBattler) + if (gBattleMons[i].status2 & STATUS2_INFATUATED_WITH(battler)) + gBattleMons[i].status2 &= ~STATUS2_INFATUATED_WITH(battler); + if ((gBattleMons[i].status2 & STATUS2_WRAPPED) && *(gBattleStruct->wrappedBy + i) == battler) gBattleMons[i].status2 &= ~STATUS2_WRAPPED; } - gActionSelectionCursor[gActiveBattler] = 0; - gMoveSelectionCursor[gActiveBattler] = 0; + gActionSelectionCursor[battler] = 0; + gMoveSelectionCursor[battler] = 0; - memset(&gDisableStructs[gActiveBattler], 0, sizeof(struct DisableStruct)); + memset(&gDisableStructs[battler], 0, sizeof(struct DisableStruct)); - gProtectStructs[gActiveBattler].protected = FALSE; - gProtectStructs[gActiveBattler].spikyShielded = FALSE; - gProtectStructs[gActiveBattler].kingsShielded = FALSE; - gProtectStructs[gActiveBattler].banefulBunkered = FALSE; - gProtectStructs[gActiveBattler].quash = FALSE; - gProtectStructs[gActiveBattler].obstructed = FALSE; - gProtectStructs[gActiveBattler].silkTrapped = FALSE; - gProtectStructs[gActiveBattler].endured = FALSE; - gProtectStructs[gActiveBattler].noValidMoves = FALSE; - gProtectStructs[gActiveBattler].helpingHand = FALSE; - gProtectStructs[gActiveBattler].bounceMove = FALSE; - gProtectStructs[gActiveBattler].stealMove = FALSE; - gProtectStructs[gActiveBattler].prlzImmobility = FALSE; - gProtectStructs[gActiveBattler].confusionSelfDmg = FALSE; - gProtectStructs[gActiveBattler].targetAffected = FALSE; - gProtectStructs[gActiveBattler].chargingTurn = FALSE; - gProtectStructs[gActiveBattler].fleeType = 0; - gProtectStructs[gActiveBattler].usedImprisonedMove = FALSE; - gProtectStructs[gActiveBattler].loveImmobility = FALSE; - gProtectStructs[gActiveBattler].usedDisabledMove = FALSE; - gProtectStructs[gActiveBattler].usedTauntedMove = FALSE; - gProtectStructs[gActiveBattler].flag2Unknown = FALSE; - gProtectStructs[gActiveBattler].flinchImmobility = FALSE; - gProtectStructs[gActiveBattler].notFirstStrike = FALSE; - gProtectStructs[gActiveBattler].usedHealBlockedMove = FALSE; - gProtectStructs[gActiveBattler].usesBouncedMove = FALSE; - gProtectStructs[gActiveBattler].usedGravityPreventedMove = FALSE; - gProtectStructs[gActiveBattler].usedThroatChopPreventedMove = FALSE; - gProtectStructs[gActiveBattler].statRaised = FALSE; - gProtectStructs[gActiveBattler].statFell = FALSE; - gProtectStructs[gActiveBattler].pranksterElevated = FALSE; + gProtectStructs[battler].protected = FALSE; + gProtectStructs[battler].spikyShielded = FALSE; + gProtectStructs[battler].kingsShielded = FALSE; + gProtectStructs[battler].banefulBunkered = FALSE; + gProtectStructs[battler].quash = FALSE; + gProtectStructs[battler].obstructed = FALSE; + gProtectStructs[battler].silkTrapped = FALSE; + gProtectStructs[battler].endured = FALSE; + gProtectStructs[battler].noValidMoves = FALSE; + gProtectStructs[battler].helpingHand = FALSE; + gProtectStructs[battler].bounceMove = FALSE; + gProtectStructs[battler].stealMove = FALSE; + gProtectStructs[battler].prlzImmobility = FALSE; + gProtectStructs[battler].confusionSelfDmg = FALSE; + gProtectStructs[battler].targetAffected = FALSE; + gProtectStructs[battler].chargingTurn = FALSE; + gProtectStructs[battler].fleeType = 0; + gProtectStructs[battler].usedImprisonedMove = FALSE; + gProtectStructs[battler].loveImmobility = FALSE; + gProtectStructs[battler].usedDisabledMove = FALSE; + gProtectStructs[battler].usedTauntedMove = FALSE; + gProtectStructs[battler].flag2Unknown = FALSE; + gProtectStructs[battler].flinchImmobility = FALSE; + gProtectStructs[battler].notFirstStrike = FALSE; + gProtectStructs[battler].usedHealBlockedMove = FALSE; + gProtectStructs[battler].usesBouncedMove = FALSE; + gProtectStructs[battler].usedGravityPreventedMove = FALSE; + gProtectStructs[battler].usedThroatChopPreventedMove = FALSE; + gProtectStructs[battler].statRaised = FALSE; + gProtectStructs[battler].statFell = FALSE; + gProtectStructs[battler].pranksterElevated = FALSE; - gDisableStructs[gActiveBattler].isFirstTurn = 2; + gDisableStructs[battler].isFirstTurn = 2; - gLastMoves[gActiveBattler] = MOVE_NONE; - gLastLandedMoves[gActiveBattler] = MOVE_NONE; - gLastHitByType[gActiveBattler] = 0; - gLastResultingMoves[gActiveBattler] = MOVE_NONE; - gLastPrintedMoves[gActiveBattler] = MOVE_NONE; - gLastHitBy[gActiveBattler] = 0xFF; + gLastMoves[battler] = MOVE_NONE; + gLastLandedMoves[battler] = MOVE_NONE; + gLastHitByType[battler] = 0; + gLastResultingMoves[battler] = MOVE_NONE; + gLastPrintedMoves[battler] = MOVE_NONE; + gLastHitBy[battler] = 0xFF; - gBattleStruct->choicedMove[gActiveBattler] = MOVE_NONE; - gBattleStruct->sameMoveTurns[gActiveBattler] = 0; - gBattleStruct->lastTakenMove[gActiveBattler] = MOVE_NONE; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][0] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][1] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][2] = 0; - gBattleStruct->lastTakenMoveFrom[gActiveBattler][3] = 0; + gBattleStruct->choicedMove[battler] = MOVE_NONE; + gBattleStruct->sameMoveTurns[battler] = 0; + gBattleStruct->lastTakenMove[battler] = MOVE_NONE; + gBattleStruct->lastTakenMoveFrom[battler][0] = 0; + gBattleStruct->lastTakenMoveFrom[battler][1] = 0; + gBattleStruct->lastTakenMoveFrom[battler][2] = 0; + gBattleStruct->lastTakenMoveFrom[battler][3] = 0; - gBattleStruct->palaceFlags &= ~(gBitTable[gActiveBattler]); + gBattleStruct->palaceFlags &= ~(gBitTable[battler]); for (i = 0; i < ARRAY_COUNT(gSideTimers); i++) { // User of sticky web fainted, so reset the stored battler ID - if (gSideTimers[i].stickyWebBattlerId == gActiveBattler) + if (gSideTimers[i].stickyWebBattlerId == battler) gSideTimers[i].stickyWebBattlerId = 0xFF; } for (i = 0; i < gBattlersCount; i++) { - if (i != gActiveBattler && GetBattlerSide(i) != GetBattlerSide(gActiveBattler)) + if (i != battler && GetBattlerSide(i) != GetBattlerSide(battler)) gBattleStruct->lastTakenMove[i] = MOVE_NONE; - gBattleStruct->lastTakenMoveFrom[i][gActiveBattler] = 0; + gBattleStruct->lastTakenMoveFrom[i][battler] = 0; } - gBattleResources->flags->flags[gActiveBattler] = 0; + gBattleResources->flags->flags[battler] = 0; - gBattleMons[gActiveBattler].type1 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[0]; - gBattleMons[gActiveBattler].type2 = gSpeciesInfo[gBattleMons[gActiveBattler].species].types[1]; - gBattleMons[gActiveBattler].type3 = TYPE_MYSTERY; + gBattleMons[battler].type1 = gSpeciesInfo[gBattleMons[battler].species].types[0]; + gBattleMons[battler].type2 = gSpeciesInfo[gBattleMons[battler].species].types[1]; + gBattleMons[battler].type3 = TYPE_MYSTERY; - Ai_UpdateFaintData(gActiveBattler); - TryBattleFormChange(gActiveBattler, FORM_CHANGE_FAINT); + Ai_UpdateFaintData(battler); + TryBattleFormChange(battler, FORM_CHANGE_FAINT); - gBattleStruct->overwrittenAbilities[gActiveBattler] = ABILITY_NONE; + gBattleStruct->overwrittenAbilities[battler] = ABILITY_NONE; // If the fainted mon was involved in a Sky Drop - if (gBattleStruct->skyDropTargets[gActiveBattler] != 0xFF) + if (gBattleStruct->skyDropTargets[battler] != 0xFF) { // Get battler id of the other Pokemon involved in this Sky Drop - u8 otherSkyDropper = gBattleStruct->skyDropTargets[gActiveBattler]; + u8 otherSkyDropper = gBattleStruct->skyDropTargets[battler]; // Clear Sky Drop data - gBattleStruct->skyDropTargets[gActiveBattler] = 0xFF; + gBattleStruct->skyDropTargets[battler] = 0xFF; gBattleStruct->skyDropTargets[otherSkyDropper] = 0xFF; // If the other Pokemon involved in this Sky Drop was the target, not the attacker @@ -3405,7 +3405,7 @@ void FaintClearSetData(void) // Clear Z-Move data gBattleStruct->zmove.active = FALSE; - gBattleStruct->zmove.toBeUsed[gActiveBattler] = MOVE_NONE; + gBattleStruct->zmove.toBeUsed[battler] = MOVE_NONE; gBattleStruct->zmove.effect = EFFECT_HIT; } @@ -3975,23 +3975,23 @@ void BattleTurnPassed(void) BattleScriptExecute(i == 1 ? BattleScript_TrainerASlideMsgEnd2 : BattleScript_TrainerBSlideMsgEnd2); } -u8 IsRunningFromBattleImpossible(void) +u8 IsRunningFromBattleImpossible(u32 battler) { u32 holdEffect, i; - if (gBattleMons[gActiveBattler].item == ITEM_ENIGMA_BERRY_E_READER) - holdEffect = gEnigmaBerries[gActiveBattler].holdEffect; + if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) + holdEffect = gEnigmaBerries[battler].holdEffect; else - holdEffect = ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item); + holdEffect = ItemId_GetHoldEffect(gBattleMons[battler].item); - gPotentialItemEffectBattler = gActiveBattler; + gPotentialItemEffectBattler = battler; if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) // Cannot ever run from saving Birch's battle. { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DONT_LEAVE_BIRCH; return BATTLE_RUN_FORBIDDEN; } - if (GetBattlerPosition(gActiveBattler) == B_POSITION_PLAYER_RIGHT && WILD_DOUBLE_BATTLE + if (GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT && WILD_DOUBLE_BATTLE && IsBattlerAlive(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT))) // The second pokemon cannot run from a double wild battle, unless it's the only alive mon. { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_ESCAPE; @@ -4001,15 +4001,15 @@ u8 IsRunningFromBattleImpossible(void) if (holdEffect == HOLD_EFFECT_CAN_ALWAYS_RUN) return BATTLE_RUN_SUCCESS; #if B_GHOSTS_ESCAPE >= GEN_6 - if (IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_GHOST)) + if (IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) return BATTLE_RUN_SUCCESS; #endif if (gBattleTypeFlags & BATTLE_TYPE_LINK) return BATTLE_RUN_SUCCESS; - if (GetBattlerAbility(gActiveBattler) == ABILITY_RUN_AWAY) + if (GetBattlerAbility(battler) == ABILITY_RUN_AWAY) return BATTLE_RUN_SUCCESS; - if ((i = IsAbilityPreventingEscape(gActiveBattler))) + if ((i = IsAbilityPreventingEscape(battler))) { gBattleScripting.battler = i - 1; gLastUsedAbility = gBattleMons[i - 1].ability; @@ -4017,7 +4017,7 @@ u8 IsRunningFromBattleImpossible(void) return BATTLE_RUN_FAILURE; } - if (!CanBattlerEscape(gActiveBattler)) + if (!CanBattlerEscape(battler)) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_CANT_ESCAPE; return BATTLE_RUN_FORBIDDEN; @@ -4313,7 +4313,7 @@ static void HandleTurnActionSelectionState(void) BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; } - else if (IsRunningFromBattleImpossible() != BATTLE_RUN_SUCCESS + else if (IsRunningFromBattleImpossible(gActiveBattler) != BATTLE_RUN_SUCCESS && gBattleResources->bufferB[gActiveBattler][1] == B_ACTION_RUN) { gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintCantEscapeFromBattle; @@ -4347,7 +4347,7 @@ static void HandleTurnActionSelectionState(void) return; case 15: gChosenActionByBattler[gActiveBattler] = B_ACTION_SWITCH; - UpdateBattlerPartyOrdersOnSwitch(); + UpdateBattlerPartyOrdersOnSwitch(gActiveBattler); return; default: RecordedBattle_CheckMovesetChanges(B_RECORD_MODE_PLAYBACK); @@ -4403,7 +4403,7 @@ static void HandleTurnActionSelectionState(void) } else { - UpdateBattlerPartyOrdersOnSwitch(); + UpdateBattlerPartyOrdersOnSwitch(gActiveBattler); gBattleCommunication[gActiveBattler]++; } break; @@ -4573,20 +4573,20 @@ static bool8 AllAtActionConfirmed(void) return FALSE; } -static void UpdateBattlerPartyOrdersOnSwitch(void) +static void UpdateBattlerPartyOrdersOnSwitch(u32 battler) { - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][1]; - RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][1]); + gBattleStruct->monToSwitchIntoId[battler] = gBattleResources->bufferB[battler][1]; + RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][1]); if (gBattleTypeFlags & BATTLE_TYPE_LINK && gBattleTypeFlags & BATTLE_TYPE_MULTI) { - *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; - *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[gActiveBattler][2] & 0xF0); - *(gActiveBattler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 1) = gBattleResources->bufferB[gActiveBattler][3]; + *(battler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= 0xF; + *(battler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[battler][2] & 0xF0); + *(battler * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 1) = gBattleResources->bufferB[battler][3]; - *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); - *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[gActiveBattler][2] & 0xF0) >> 4; - *((BATTLE_PARTNER(gActiveBattler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 2) = gBattleResources->bufferB[gActiveBattler][3]; + *((BATTLE_PARTNER(battler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) &= (0xF0); + *((BATTLE_PARTNER(battler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 0) |= (gBattleResources->bufferB[battler][2] & 0xF0) >> 4; + *((BATTLE_PARTNER(battler)) * 3 + (u8 *)(gBattleStruct->battlerPartyOrders) + 2) = gBattleResources->bufferB[battler][3]; } } @@ -4943,35 +4943,35 @@ static void TurnValuesCleanUp(bool8 var0) { s32 i; - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (i = 0; i < gBattlersCount; i++) { if (var0) { - gProtectStructs[gActiveBattler].protected = FALSE; - gProtectStructs[gActiveBattler].spikyShielded = FALSE; - gProtectStructs[gActiveBattler].kingsShielded = FALSE; - gProtectStructs[gActiveBattler].banefulBunkered = FALSE; - gProtectStructs[gActiveBattler].quash = FALSE; + gProtectStructs[i].protected = FALSE; + gProtectStructs[i].spikyShielded = FALSE; + gProtectStructs[i].kingsShielded = FALSE; + gProtectStructs[i].banefulBunkered = FALSE; + gProtectStructs[i].quash = FALSE; } else { - memset(&gProtectStructs[gActiveBattler], 0, sizeof(struct ProtectStruct)); + memset(&gProtectStructs[i], 0, sizeof(struct ProtectStruct)); - if (gDisableStructs[gActiveBattler].isFirstTurn) - gDisableStructs[gActiveBattler].isFirstTurn--; + if (gDisableStructs[i].isFirstTurn) + gDisableStructs[i].isFirstTurn--; - if (gDisableStructs[gActiveBattler].rechargeTimer) + if (gDisableStructs[i].rechargeTimer) { - gDisableStructs[gActiveBattler].rechargeTimer--; - if (gDisableStructs[gActiveBattler].rechargeTimer == 0) - gBattleMons[gActiveBattler].status2 &= ~STATUS2_RECHARGE; + gDisableStructs[i].rechargeTimer--; + if (gDisableStructs[i].rechargeTimer == 0) + gBattleMons[i].status2 &= ~STATUS2_RECHARGE; } } - if (gDisableStructs[gActiveBattler].substituteHP == 0) - gBattleMons[gActiveBattler].status2 &= ~STATUS2_SUBSTITUTE; + if (gDisableStructs[i].substituteHP == 0) + gBattleMons[i].status2 &= ~STATUS2_SUBSTITUTE; - gSpecialStatuses[gActiveBattler].parentalBondState = PARENTAL_BOND_OFF; + gSpecialStatuses[i].parentalBondState = PARENTAL_BOND_OFF; } gSideStatuses[B_SIDE_PLAYER] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); @@ -5327,7 +5327,7 @@ static void HandleEndTurn_MonFled(void) static void HandleEndTurn_FinishBattle(void) { - u32 i; + u32 i, battler; if (gCurrentActionFuncId == B_ACTION_TRY_FINISH || gCurrentActionFuncId == B_ACTION_FINISHED) { @@ -5339,19 +5339,19 @@ static void HandleEndTurn_FinishBattle(void) | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER))) { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { if (gBattleResults.playerMon1Species == SPECIES_NONE) { - gBattleResults.playerMon1Species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, gBattleResults.playerMon1Name); + gBattleResults.playerMon1Species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_NICKNAME, gBattleResults.playerMon1Name); } else { - gBattleResults.playerMon2Species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, gBattleResults.playerMon2Name); + gBattleResults.playerMon2Species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_NICKNAME, gBattleResults.playerMon2Name); } } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f72c7b5e62..c61a523677 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3870,7 +3870,7 @@ static void Cmd_cleareffectsonfaint(void) MarkBattlerForControllerExec(battler); } - FaintClearSetData(); // Effects like attractions, trapping, etc. + FaintClearSetData(battler); // Effects like attractions, trapping, etc. gBattlescriptCurrInstr = cmd->nextInstr; } } @@ -6203,7 +6203,7 @@ static void Cmd_switchindataupdate(void) gBattleMons[battler].status2 = oldData.status2; } - SwitchInClearSetData(); + SwitchInClearSetData(battler); if (gBattleTypeFlags & BATTLE_TYPE_PALACE && gBattleMons[battler].maxHP / 2 >= gBattleMons[battler].hp @@ -8873,7 +8873,7 @@ static void Cmd_various(void) case VARIOUS_IS_RUNNING_IMPOSSIBLE: { VARIOUS_ARGS(); - gBattleCommunication[0] = IsRunningFromBattleImpossible(); + gBattleCommunication[0] = IsRunningFromBattleImpossible(battler); break; } case VARIOUS_GET_MOVE_TARGET: @@ -9096,7 +9096,7 @@ static void Cmd_various(void) gBattleMons[battler].hp = 0; SetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP, &gBattleMons[battler].hp); SetHealthboxSpriteInvisible(gHealthboxSpriteIds[battler]); - FaintClearSetData(); + FaintClearSetData(battler); } else if (GetBattlerSide(battler) == B_SIDE_PLAYER) { diff --git a/src/battle_util.c b/src/battle_util.c index 486f9d6334..da3c18d946 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -849,7 +849,6 @@ void HandleAction_ActionFinished(void) gLastHitByType[gBattlerAttacker] = 0; gBattleStruct->dynamicMoveType = 0; gBattleScripting.moveendState = 0; - gBattleScripting.moveendState = 0; gBattleCommunication[3] = 0; gBattleCommunication[4] = 0; gBattleScripting.multihitMoveEffect = 0; From 028536e2d34b711a589973ac8d43b2b726e74bc6 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Tue, 29 Aug 2023 17:12:09 -0500 Subject: [PATCH 196/256] Spaces --- src/battle_controller_player_partner.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 8a7f18d0ec..0b2cb55d6a 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -373,13 +373,12 @@ static void PlayerPartnerHandleChooseMove(u32 battler) // If partner can mega evolve, do it. if (CanMegaEvolve(battler)) BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_MEGA_EVOLUTION) | (gBattlerTarget << 8)); - else if (CanUltraBurst(battler)) - BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_ULTRA_BURST) | (gBattlerTarget << 8)); + else if (CanUltraBurst(battler)) + BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (RET_ULTRA_BURST) | (gBattlerTarget << 8)); else BtlController_EmitTwoReturnValues(BUFFER_B, 10, (chosenMoveId) | (gBattlerTarget << 8)); - } - + PlayerPartnerBufferExecCompleted(battler); } From c427d96f3ffb52dc9367d8c1f826a8646ab733cc Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Tue, 29 Aug 2023 19:13:21 -0500 Subject: [PATCH 197/256] Better Ultra Burst animation --- data/battle_anim_scripts.s | 7 ++++++- src/battle_anim_new.c | 12 ++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 825e36c383..62772a5c1e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -27004,6 +27004,7 @@ General_PrimalReversion_Omega: end General_UltraBurst:: + loadspritegfx ANIM_TAG_ULTRA_BURST_SYMBOL loadspritegfx ANIM_TAG_SPARK_2 @spark loadspritegfx ANIM_TAG_LEAF @green loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge particles @@ -27025,12 +27026,16 @@ General_UltraBurst:: call LightThatBurnsTheSkyGreenSparks call LightThatBurnsTheSkyGreenSparks call LightThatBurnsTheSkyGreenSparks - delay 0xe + delay 20 + createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 0, 16, RGB_WHITEALPHA createvisualtask AnimTask_TransformMon, 2, 1, 0 + createsprite gUltraBurstSymbolSpriteTemplate, ANIM_ATTACKER, 0x0, 0x0, 0x0, 0x0, 0x0 + waitforvisualfinish createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish createvisualtask SoundTask_PlayNormalCry, 0 + waitforvisualfinish clearmonbg ANIM_ATK_PARTNER blendoff end diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 608e6ae944..966887b257 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -4761,6 +4761,18 @@ const struct SpriteTemplate gSpriteTemplate_BitterMaliceRing = { .callback = AnimParticleInVortex }; +//ultra burst +const struct SpriteTemplate gUltraBurstSymbolSpriteTemplate = +{ + .tileTag = ANIM_TAG_ULTRA_BURST_SYMBOL, + .paletteTag = ANIM_TAG_ULTRA_BURST_SYMBOL, + .oam = &gOamData_AffineDouble_ObjBlend_32x32, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gAffineAnims_LusterPurgeCircle, + .callback = AnimSpriteOnMonPos +}; + // Z MOVES //activate const struct SpriteTemplate gZMoveSymbolSpriteTemplate = From 77dd5150f569312f4d11f67b100dc0b5efe5d2d7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 30 Aug 2023 09:40:15 +0200 Subject: [PATCH 198/256] remove gActiveBattler from battle_script_commands.c --- src/battle_script_commands.c | 336 ++++++++++++++++------------------- 1 file changed, 154 insertions(+), 182 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c61a523677..c823e7b217 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2831,15 +2831,15 @@ void SetMoveEffect(bool32 primary, u32 certain) // check active uproar if (battlerAbility != ABILITY_SOUNDPROOF) { - for (gActiveBattler = 0; - gActiveBattler < gBattlersCount && !(gBattleMons[gActiveBattler].status2 & STATUS2_UPROAR); - gActiveBattler++) + for (i = 0; i < gBattlersCount && !(gBattleMons[i].status2 & STATUS2_UPROAR); i++) ; } else - gActiveBattler = gBattlersCount; + { + i = gBattlersCount; + } - if (gActiveBattler != gBattlersCount) + if (i != gBattlersCount) break; if (!CanSleep(gEffectBattler)) break; @@ -3741,12 +3741,12 @@ static void Cmd_clearstatusfromeffect(void) { CMD_ARGS(u8 battler); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); if (gBattleScripting.moveEffect <= PRIMARY_STATUS_MOVE_EFFECT) - gBattleMons[gActiveBattler].status1 &= (~sStatusFlagsForMoveEffects[gBattleScripting.moveEffect]); + gBattleMons[battler].status1 &= (~sStatusFlagsForMoveEffects[gBattleScripting.moveEffect]); else - gBattleMons[gActiveBattler].status2 &= (~sStatusFlagsForMoveEffects[gBattleScripting.moveEffect]); + gBattleMons[battler].status2 &= (~sStatusFlagsForMoveEffects[gBattleScripting.moveEffect]); gBattleScripting.moveEffect = 0; gBattlescriptCurrInstr = cmd->nextInstr; @@ -3756,18 +3756,17 @@ static void Cmd_clearstatusfromeffect(void) static void Cmd_tryfaintmon(void) { CMD_ARGS(u8 battler, bool8 isSpikes, const u8 *instr); - const u8 *instr; + u32 battler, destinyBondBattler; + const u8 *faintScript; + battler = GetBattlerForBattleScript(cmd->battler); if (cmd->isSpikes != 0) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - if (gHitMarker & HITMARKER_FAINTED(gActiveBattler)) + if (gHitMarker & HITMARKER_FAINTED(battler)) { - instr = cmd->instr; - BattleScriptPop(); - gBattlescriptCurrInstr = instr; - gSideStatuses[GetBattlerSide(gActiveBattler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED); + gBattlescriptCurrInstr = cmd->instr; + gSideStatuses[GetBattlerSide(battler)] &= ~(SIDE_STATUS_SPIKES_DAMAGED | SIDE_STATUS_TOXIC_SPIKES_DAMAGED | SIDE_STATUS_STEALTH_ROCK_DAMAGED | SIDE_STATUS_STICKY_WEB_DAMAGED); } else { @@ -3776,46 +3775,42 @@ static void Cmd_tryfaintmon(void) } else { - u8 battlerId; - if (cmd->battler == BS_ATTACKER) { - gActiveBattler = gBattlerAttacker; - battlerId = gBattlerTarget; - instr = BattleScript_FaintAttacker; + destinyBondBattler = gBattlerTarget; + faintScript = BattleScript_FaintAttacker; } else { - gActiveBattler = gBattlerTarget; - battlerId = gBattlerAttacker; - instr = BattleScript_FaintTarget; + destinyBondBattler = gBattlerAttacker; + faintScript = BattleScript_FaintTarget; } - if (!(gAbsentBattlerFlags & gBitTable[gActiveBattler]) - && gBattleMons[gActiveBattler].hp == 0) + if (!(gAbsentBattlerFlags & gBitTable[battler]) + && gBattleMons[battler].hp == 0) { - gHitMarker |= HITMARKER_FAINTED(gActiveBattler); + gHitMarker |= HITMARKER_FAINTED(battler); BattleScriptPush(cmd->nextInstr); - gBattlescriptCurrInstr = instr; - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + gBattlescriptCurrInstr = faintScript; + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { gHitMarker |= HITMARKER_PLAYER_FAINTED; if (gBattleResults.playerFaintCounter < 255) gBattleResults.playerFaintCounter++; - AdjustFriendshipOnBattleFaint(gActiveBattler); + AdjustFriendshipOnBattleFaint(battler); gSideTimers[B_SIDE_PLAYER].retaliateTimer = 2; } else { if (gBattleResults.opponentFaintCounter < 255) gBattleResults.opponentFaintCounter++; - gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES, NULL); + gBattleResults.lastOpponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES, NULL); gSideTimers[B_SIDE_OPPONENT].retaliateTimer = 2; } if ((gHitMarker & HITMARKER_DESTINYBOND) && gBattleMons[gBattlerAttacker].hp != 0) { gHitMarker &= ~HITMARKER_DESTINYBOND; BattleScriptPush(gBattlescriptCurrInstr); - gBattleMoveDamage = gBattleMons[battlerId].hp; + gBattleMoveDamage = gBattleMons[destinyBondBattler].hp; gBattlescriptCurrInstr = BattleScript_DestinyBondTakesLife; } if ((gStatuses3[gBattlerTarget] & STATUS3_GRUDGE) @@ -3989,24 +3984,18 @@ static void Cmd_jumpifstatus3condition(void) { CMD_ARGS(u8 battler, u32 flags, bool8 jumpIfTrue, const u8 *jumpInstr); - u32 flags; - const u8 *jumpInstr; - - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - flags = cmd->flags; - jumpInstr = cmd->jumpInstr; - + u32 battler = GetBattlerForBattleScript(cmd->battler); if (cmd->jumpIfTrue) { - if ((gStatuses3[gActiveBattler] & flags) != 0) + if ((gStatuses3[battler] & cmd->flags) != 0) gBattlescriptCurrInstr = cmd->nextInstr; else - gBattlescriptCurrInstr = jumpInstr; + gBattlescriptCurrInstr = cmd->jumpInstr; } else { - if ((gStatuses3[gActiveBattler] & flags) != 0) - gBattlescriptCurrInstr = jumpInstr; + if ((gStatuses3[battler] & cmd->flags) != 0) + gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; } @@ -4277,20 +4266,20 @@ static void Cmd_getexp(void) case 4: // lvl up if necessary if (gBattleControllerExecFlags == 0) { - gActiveBattler = gBattleStruct->expGetterBattlerId; - if (gBattleResources->bufferB[gActiveBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleResources->bufferB[gActiveBattler][1] == RET_VALUE_LEVELED_UP) + u32 expBattler = gBattleStruct->expGetterBattlerId; + if (gBattleResources->bufferB[expBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleResources->bufferB[expBattler][1] == RET_VALUE_LEVELED_UP) { u16 temp, battlerId = 0xFF; - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId) - HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler); + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[expBattler] == gBattleStruct->expGetterMonId) + HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[expBattler]], expBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattleStruct->expGetterMonId); + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, expBattler, gBattleStruct->expGetterMonId); PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)); BattleScriptPushCursor(); gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId]; gBattlescriptCurrInstr = BattleScript_LevelUp; - gBattleMoveDamage = T1_READ_32(&gBattleResources->bufferB[gActiveBattler][2]); + gBattleMoveDamage = T1_READ_32(&gBattleResources->bufferB[expBattler][2]); AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterMonId], FRIENDSHIP_EVENT_GROW_LEVEL); // update battle mon structure after level up @@ -4868,7 +4857,6 @@ static void Cmd_end(void) BattleArena_AddSkillPoints(gBattlerAttacker); gMoveResultFlags = 0; - gActiveBattler = 0; gCurrentActionFuncId = B_ACTION_TRY_FINISH; } @@ -4876,7 +4864,6 @@ static void Cmd_end2(void) { CMD_ARGS(); - gActiveBattler = 0; gCurrentActionFuncId = B_ACTION_TRY_FINISH; } @@ -5650,9 +5637,8 @@ static void Cmd_moveend(void) if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET) { - gActiveBattler = gBattlerAttacker; - gBattlerAttacker = gBattlerTarget; - gBattlerTarget = gActiveBattler; + u8 temp; + SWAP(gBattlerAttacker, gBattlerTarget, temp); gHitMarker &= ~HITMARKER_SWAP_ATTACKER_TARGET; } if (!gSpecialStatuses[gBattlerAttacker].dancerUsedMove) @@ -5877,7 +5863,7 @@ static void Cmd_moveend(void) && (gSpecialStatuses[battler].physicalDmg != 0 || gSpecialStatuses[battler].specialDmg != 0) && CountUsablePartyMons(battler) > 0) // Has mon to switch into { - gActiveBattler = gBattleScripting.battler = battler; + gBattleScripting.battler = battler; gLastUsedItem = gBattleMons[battler].item; if (gBattleMoves[gCurrentMove].effect == EFFECT_HIT_ESCAPE) gBattlescriptCurrInstr = BattleScript_MoveEnd; // Prevent user switch-in selection @@ -5913,7 +5899,7 @@ static void Cmd_moveend(void) && CanBattlerSwitch(gBattlerAttacker)) { gLastUsedItem = gBattleMons[battler].item; - gActiveBattler = gBattleStruct->savedBattlerTarget = gBattleScripting.battler = battler; // Battler with red card + gBattleStruct->savedBattlerTarget = gBattleScripting.battler = battler; // Battler with red card gEffectBattler = gBattlerAttacker; if (gBattleMoves[gCurrentMove].effect == EFFECT_HIT_ESCAPE) gBattlescriptCurrInstr = BattleScript_MoveEnd; // Prevent user switch-in selection @@ -5941,7 +5927,7 @@ static void Cmd_moveend(void) && CountUsablePartyMons(battler) > 0) // Has mon to switch into { gProtectStructs[battler].statFell = FALSE; - gActiveBattler = gBattleScripting.battler = battler; + gBattleScripting.battler = battler; gLastUsedItem = gBattleMons[battler].item; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_EjectPackActivates; @@ -6397,15 +6383,14 @@ static void Cmd_jumpifcantswitch(void) { CMD_ARGS(u8 battler:7, u8 ignoreEscapePrevention:1, const u8 *jumpInstr); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - - if (!cmd->ignoreEscapePrevention && !CanBattlerEscape(gActiveBattler)) + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (!cmd->ignoreEscapePrevention && !CanBattlerEscape(battler)) { gBattlescriptCurrInstr = cmd->jumpInstr; } else { - if (CanBattlerSwitch(gActiveBattler)) + if (CanBattlerSwitch(battler)) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = cmd->jumpInstr; @@ -7065,16 +7050,13 @@ static void Cmd_handlelearnnewmove(void) { CMD_ARGS(const u8 *learnedMovePtr, const u8 *nothingToLearnPtr, bool8 isFirstMove); - const u8 *learnedMovePtr = cmd->learnedMovePtr; - const u8 *nothingToLearnPtr = cmd->nothingToLearnPtr; - u16 learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], cmd->isFirstMove); while (learnMove == MON_ALREADY_KNOWS_MOVE) learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], FALSE); if (learnMove == MOVE_NONE) { - gBattlescriptCurrInstr = nothingToLearnPtr; + gBattlescriptCurrInstr = cmd->nothingToLearnPtr; } else if (learnMove == MON_HAS_MAX_MOVES) { @@ -7082,24 +7064,24 @@ static void Cmd_handlelearnnewmove(void) } else { - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + u32 battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId - && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + if (gBattlerPartyIndexes[battler] == gBattleStruct->expGetterMonId + && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { - GiveMoveToBattleMon(&gBattleMons[gActiveBattler], learnMove); + GiveMoveToBattleMon(&gBattleMons[battler], learnMove); } if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - gActiveBattler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - if (gBattlerPartyIndexes[gActiveBattler] == gBattleStruct->expGetterMonId - && !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED)) + battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); + if (gBattlerPartyIndexes[battler] == gBattleStruct->expGetterMonId + && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { - GiveMoveToBattleMon(&gBattleMons[gActiveBattler], learnMove); + GiveMoveToBattleMon(&gBattleMons[battler], learnMove); } } - gBattlescriptCurrInstr = learnedMovePtr; + gBattlescriptCurrInstr = cmd->learnedMovePtr; } } @@ -7107,8 +7089,6 @@ static void Cmd_yesnoboxlearnmove(void) { CMD_ARGS(const u8 *forgotMovePtr); - gActiveBattler = 0; - switch (gBattleScripting.learnMoveState) { case 0: @@ -7180,7 +7160,7 @@ static void Cmd_yesnoboxlearnmove(void) u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_MOVE1 + movePosition); if (IsMoveHM(moveId)) { - PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBattler); + PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, B_POSITION_PLAYER_LEFT); gBattleScripting.learnMoveState = 6; } else @@ -7396,9 +7376,8 @@ static void Cmd_swapattackerwithtarget(void) { CMD_ARGS(); - gActiveBattler = gBattlerAttacker; - gBattlerAttacker = gBattlerTarget; - gBattlerTarget = gActiveBattler; + u8 temp; + SWAP(gBattlerAttacker, gBattlerTarget, temp); if (gHitMarker & HITMARKER_SWAP_ATTACKER_TARGET) gHitMarker &= ~HITMARKER_SWAP_ATTACKER_TARGET; @@ -8059,15 +8038,12 @@ static void Cmd_hpthresholds(void) { CMD_ARGS(u8 battler); - u8 opposingBattler; - s32 result; - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - opposingBattler = BATTLE_OPPOSITE(gActiveBattler); + u32 battler = GetBattlerForBattleScript(cmd->battler); + u32 opposingBattler = BATTLE_OPPOSITE(battler); - result = gBattleMons[opposingBattler].hp * 100 / gBattleMons[opposingBattler].maxHP; + s32 result = gBattleMons[opposingBattler].hp * 100 / gBattleMons[opposingBattler].maxHP; if (result == 0) result = 1; @@ -8088,16 +8064,12 @@ static void Cmd_hpthresholds2(void) { CMD_ARGS(u8 battler); - u8 opposingBattler; - s32 result; - u8 hpSwitchout; - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) { - gActiveBattler = GetBattlerForBattleScript(cmd->battler); - opposingBattler = BATTLE_OPPOSITE(gActiveBattler); - hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBattlerSide(opposingBattler)); - result = (hpSwitchout - gBattleMons[opposingBattler].hp) * 100 / hpSwitchout; + u32 battler = GetBattlerForBattleScript(cmd->battler); + u32 opposingBattler = BATTLE_OPPOSITE(battler); + u8 hpSwitchout = *(gBattleStruct->hpOnSwitchout + GetBattlerSide(opposingBattler)); + s32 result = (hpSwitchout - gBattleMons[opposingBattler].hp) * 100 / hpSwitchout; if (gBattleMons[opposingBattler].hp >= hpSwitchout) gBattleStruct->hpScale = 0; @@ -11519,19 +11491,19 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr { bool32 certain = FALSE; bool32 notProtectAffected = FALSE; - u32 index; - u16 activeBattlerAbility; + u32 index, battler; + u16 battlerAbility; bool32 affectsUser = (flags & MOVE_EFFECT_AFFECTS_USER); bool32 mirrorArmored = (flags & STAT_CHANGE_MIRROR_ARMOR); if (affectsUser) - gActiveBattler = gBattlerAttacker; + battler = gBattlerAttacker; else - gActiveBattler = gBattlerTarget; + battler = gBattlerTarget; - activeBattlerAbility = GetBattlerAbility(gActiveBattler); + battlerAbility = GetBattlerAbility(battler); - gSpecialStatuses[gActiveBattler].changedStatsBattlerId = gBattlerAttacker; + gSpecialStatuses[battler].changedStatsBattlerId = gBattlerAttacker; flags &= ~(MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_MIRROR_ARMOR); @@ -11543,7 +11515,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr notProtectAffected++; flags &= ~STAT_CHANGE_NOT_PROTECT_AFFECTED; - if (activeBattlerAbility == ABILITY_CONTRARY) + if (battlerAbility == ABILITY_CONTRARY) { statValue ^= STAT_BUFF_NEGATIVE; gBattleScripting.statChanger ^= STAT_BUFF_NEGATIVE; @@ -11553,7 +11525,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gBattleScripting.moveEffect = ReverseStatChangeMoveEffect(gBattleScripting.moveEffect); } } - else if (activeBattlerAbility == ABILITY_SIMPLE) + else if (battlerAbility == ABILITY_SIMPLE) { statValue = (SET_STAT_BUFF_VALUE(GET_STAT_BUFF_VALUE(statValue) * 2)) | ((statValue <= -1) ? STAT_BUFF_NEGATIVE : 0); } @@ -11562,22 +11534,22 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr if (statValue <= -1) // Stat decrease. { - if (gSideTimers[GET_BATTLER_SIDE(gActiveBattler)].mistTimer + if (gSideTimers[GET_BATTLER_SIDE(battler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE - && !(gActiveBattler == gBattlerTarget && GetBattlerAbility(gBattlerAttacker) == ABILITY_INFILTRATOR)) + && !(battler == gBattlerTarget && GetBattlerAbility(gBattlerAttacker) == ABILITY_INFILTRATOR)) { if (flags == STAT_CHANGE_ALLOW_PTR) { - if (gSpecialStatuses[gActiveBattler].statLowered) + if (gSpecialStatuses[battler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; gBattlescriptCurrInstr = BattleScript_MistProtected; - gSpecialStatuses[gActiveBattler].statLowered = TRUE; + gSpecialStatuses[battler].statLowered = TRUE; } } return STAT_CHANGE_DIDNT_WORK; @@ -11588,108 +11560,108 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } - else if ((GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_CLEAR_AMULET - || activeBattlerAbility == ABILITY_CLEAR_BODY - || activeBattlerAbility == ABILITY_FULL_METAL_BODY - || activeBattlerAbility == ABILITY_WHITE_SMOKE) + else if ((GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET + || battlerAbility == ABILITY_CLEAR_BODY + || battlerAbility == ABILITY_FULL_METAL_BODY + || battlerAbility == ABILITY_WHITE_SMOKE) && (!affectsUser || mirrorArmored) && !certain && gCurrentMove != MOVE_CURSE) { - if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) { - RecordItemEffectBattle(gActiveBattler, HOLD_EFFECT_CLEAR_AMULET); + RecordItemEffectBattle(battler, HOLD_EFFECT_CLEAR_AMULET); } if (flags == STAT_CHANGE_ALLOW_PTR) { - if (gSpecialStatuses[gActiveBattler].statLowered) + if (gSpecialStatuses[battler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleScripting.battler = gActiveBattler; - if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) + gBattleScripting.battler = battler; + if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) { gBattlescriptCurrInstr = BattleScript_ItemNoStatLoss; } else { - gBattlerAbility = gActiveBattler; + gBattlerAbility = battler; gBattlescriptCurrInstr = BattleScript_AbilityNoStatLoss; - gLastUsedAbility = activeBattlerAbility; - RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gLastUsedAbility = battlerAbility; + RecordAbilityBattle(battler, gLastUsedAbility); } - gSpecialStatuses[gActiveBattler].statLowered = TRUE; + gSpecialStatuses[battler].statLowered = TRUE; } } return STAT_CHANGE_DIDNT_WORK; } - else if ((index = IsFlowerVeilProtected(gActiveBattler)) && !certain) + else if ((index = IsFlowerVeilProtected(battler)) && !certain) { if (flags == STAT_CHANGE_ALLOW_PTR) { - if (gSpecialStatuses[gActiveBattler].statLowered) + if (gSpecialStatuses[battler].statLowered) { gBattlescriptCurrInstr = BS_ptr; } else { BattleScriptPush(BS_ptr); - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; gBattlerAbility = index - 1; gBattlescriptCurrInstr = BattleScript_FlowerVeilProtectsRet; gLastUsedAbility = ABILITY_FLOWER_VEIL; - gSpecialStatuses[gActiveBattler].statLowered = TRUE; + gSpecialStatuses[battler].statLowered = TRUE; } } return STAT_CHANGE_DIDNT_WORK; } else if (!certain - && ((activeBattlerAbility == ABILITY_KEEN_EYE && statId == STAT_ACC) - || (activeBattlerAbility == ABILITY_HYPER_CUTTER && statId == STAT_ATK) - || (activeBattlerAbility == ABILITY_BIG_PECKS && statId == STAT_DEF))) + && ((battlerAbility == ABILITY_KEEN_EYE && statId == STAT_ACC) + || (battlerAbility == ABILITY_HYPER_CUTTER && statId == STAT_ATK) + || (battlerAbility == ABILITY_BIG_PECKS && statId == STAT_DEF))) { if (flags == STAT_CHANGE_ALLOW_PTR) { BattleScriptPush(BS_ptr); - gBattleScripting.battler = gActiveBattler; - gBattlerAbility = gActiveBattler; + gBattleScripting.battler = battler; + gBattlerAbility = battler; gBattlescriptCurrInstr = BattleScript_AbilityNoSpecificStatLoss; - gLastUsedAbility = activeBattlerAbility; - RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gLastUsedAbility = battlerAbility; + RecordAbilityBattle(battler, gLastUsedAbility); } return STAT_CHANGE_DIDNT_WORK; } - else if (activeBattlerAbility == ABILITY_MIRROR_ARMOR && !affectsUser && !mirrorArmored && gBattlerAttacker != gBattlerTarget && gActiveBattler == gBattlerTarget) + else if (battlerAbility == ABILITY_MIRROR_ARMOR && !affectsUser && !mirrorArmored && gBattlerAttacker != gBattlerTarget && battler == gBattlerTarget) { if (flags == STAT_CHANGE_ALLOW_PTR) { SET_STATCHANGER(statId, GET_STAT_BUFF_VALUE(statValue) | STAT_BUFF_NEGATIVE, TRUE); BattleScriptPush(BS_ptr); - gBattleScripting.battler = gActiveBattler; - gBattlerAbility = gActiveBattler; + gBattleScripting.battler = battler; + gBattlerAbility = battler; gBattlescriptCurrInstr = BattleScript_MirrorArmorReflect; - RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + RecordAbilityBattle(battler, gBattleMons[battler].ability); } return STAT_CHANGE_DIDNT_WORK; } - else if (activeBattlerAbility == ABILITY_SHIELD_DUST && flags == 0) + else if (battlerAbility == ABILITY_SHIELD_DUST && flags == 0) { - RecordAbilityBattle(gActiveBattler, ABILITY_SHIELD_DUST); + RecordAbilityBattle(battler, ABILITY_SHIELD_DUST); return STAT_CHANGE_DIDNT_WORK; } - else if (flags == 0 && GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_COVERT_CLOAK) + else if (flags == 0 && GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_COVERT_CLOAK) { - RecordItemEffectBattle(gActiveBattler, HOLD_EFFECT_COVERT_CLOAK); + RecordItemEffectBattle(battler, HOLD_EFFECT_COVERT_CLOAK); return STAT_CHANGE_DIDNT_WORK; } else // try to decrease { statValue = -GET_STAT_BUFF_VALUE(statValue); - if (gBattleMons[gActiveBattler].statStages[statId] == 1) + if (gBattleMons[battler].statStages[statId] == 1) statValue = -1; - else if (gBattleMons[gActiveBattler].statStages[statId] == 2 && statValue < -2) + else if (gBattleMons[battler].statStages[statId] == 2 && statValue < -2) statValue = -2; gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN; index = 1; @@ -11712,23 +11684,23 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gBattleTextBuff2[index++] = STRINGID_STATFELL >> 8; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBattler].statStages[statId] == MIN_STAT_STAGE) + if (gBattleMons[battler].statStages[statId] == MIN_STAT_STAGE) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_DECREASE; } else { - gProtectStructs[gActiveBattler].statFell = TRUE; // Eject pack, lash out - gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); // B_MSG_ATTACKER_STAT_FELL or B_MSG_DEFENDER_STAT_FELL + gProtectStructs[battler].statFell = TRUE; // Eject pack, lash out + gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == battler); // B_MSG_ATTACKER_STAT_FELL or B_MSG_DEFENDER_STAT_FELL } } } else // stat increase { statValue = GET_STAT_BUFF_VALUE(statValue); - if (gBattleMons[gActiveBattler].statStages[statId] == 11) + if (gBattleMons[battler].statStages[statId] == 11) statValue = 1; - else if (gBattleMons[gActiveBattler].statStages[statId] == 10 && statValue > 2) + else if (gBattleMons[battler].statStages[statId] == 10 && statValue > 2) statValue = 2; gBattleTextBuff2[0] = B_BUFF_PLACEHOLDER_BEGIN; index = 1; @@ -11751,19 +11723,19 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gBattleTextBuff2[index++] = STRINGID_STATROSE >> 8; gBattleTextBuff2[index] = B_BUFF_EOS; - if (gBattleMons[gActiveBattler].statStages[statId] == MAX_STAT_STAGE) + if (gBattleMons[battler].statStages[statId] == MAX_STAT_STAGE) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAT_WONT_INCREASE; } else { - gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == gActiveBattler); - gProtectStructs[gActiveBattler].statRaised = TRUE; + gBattleCommunication[MULTISTRING_CHOOSER] = (gBattlerTarget == battler); + gProtectStructs[battler].statRaised = TRUE; // check mirror herb for (index = 0; index < gBattlersCount; index++) { - if (GetBattlerSide(index) == GetBattlerSide(gActiveBattler)) + if (GetBattlerSide(index) == GetBattlerSide(battler)) continue; // Only triggers on opposing side if (GetBattlerHoldEffect(index, TRUE) == HOLD_EFFECT_MIRROR_HERB && gBattleMons[index].statStages[statId] < MAX_STAT_STAGE) @@ -11776,11 +11748,11 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr } } - gBattleMons[gActiveBattler].statStages[statId] += statValue; - if (gBattleMons[gActiveBattler].statStages[statId] < MIN_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[statId] = MIN_STAT_STAGE; - if (gBattleMons[gActiveBattler].statStages[statId] > MAX_STAT_STAGE) - gBattleMons[gActiveBattler].statStages[statId] = MAX_STAT_STAGE; + gBattleMons[battler].statStages[statId] += statValue; + if (gBattleMons[battler].statStages[statId] < MIN_STAT_STAGE) + gBattleMons[battler].statStages[statId] = MIN_STAT_STAGE; + if (gBattleMons[battler].statStages[statId] > MAX_STAT_STAGE) + gBattleMons[battler].statStages[statId] = MAX_STAT_STAGE; if (gBattleCommunication[MULTISTRING_CHOOSER] == B_MSG_STAT_WONT_INCREASE && flags & STAT_CHANGE_ALLOW_PTR) gMoveResultFlags |= MOVE_RESULT_MISSED; @@ -13141,6 +13113,7 @@ static void Cmd_healpartystatus(void) CMD_ARGS(); u32 zero = 0; + u32 battler; u8 toHeal = 0; if (gCurrentMove == MOVE_HEAL_BELL) @@ -13161,19 +13134,19 @@ static void Cmd_healpartystatus(void) gBattleCommunication[MULTISTRING_CHOOSER] |= B_MSG_BELL_SOUNDPROOF_ATTACKER; } - gActiveBattler = gBattleScripting.battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); + battler = gBattleScripting.battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + && !(gAbsentBattlerFlags & gBitTable[battler])) { - if (GetBattlerAbility(gActiveBattler) != ABILITY_SOUNDPROOF) + if (GetBattlerAbility(battler) != ABILITY_SOUNDPROOF) { - gBattleMons[gActiveBattler].status1 = 0; - gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; } else { - RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); + RecordAbilityBattle(battler, gBattleMons[battler].ability); gBattleCommunication[MULTISTRING_CHOOSER] |= B_MSG_BELL_SOUNDPROOF_PARTNER; } } @@ -13192,9 +13165,9 @@ static void Cmd_healpartystatus(void) if (gBattlerPartyIndexes[gBattlerAttacker] == i) ability = GetBattlerAbility(gBattlerAttacker); else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && gBattlerPartyIndexes[gActiveBattler] == i - && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) - ability = GetBattlerAbility(gActiveBattler); + && gBattlerPartyIndexes[battler] == i + && !(gAbsentBattlerFlags & gBitTable[battler])) + ability = GetBattlerAbility(battler); else ability = GetAbilityBySpecies(species, abilityNum); @@ -13211,12 +13184,12 @@ static void Cmd_healpartystatus(void) gBattleMons[gBattlerAttacker].status1 = 0; gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_NIGHTMARE; - gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); + battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBattlerFlags & gBitTable[gActiveBattler])) + && !(gAbsentBattlerFlags & gBitTable[battler])) { - gBattleMons[gActiveBattler].status1 = 0; - gBattleMons[gActiveBattler].status2 &= ~STATUS2_NIGHTMARE; + gBattleMons[battler].status1 = 0; + gBattleMons[battler].status2 &= ~STATUS2_NIGHTMARE; } } @@ -14589,9 +14562,9 @@ static void Cmd_jumpifhasnohp(void) { CMD_ARGS(u8 battler, const u8 *jumpInstr); - gActiveBattler = GetBattlerForBattleScript(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); - if (gBattleMons[gActiveBattler].hp == 0) + if (gBattleMons[battler].hp == 0) gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -14949,19 +14922,19 @@ static void Cmd_pursuitdoubles(void) { CMD_ARGS(const u8 *failInstr); - gActiveBattler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); + u32 battler = GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gBattlerAttacker))); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE - && !(gAbsentBattlerFlags & gBitTable[gActiveBattler]) - && gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_MOVE - && gBattleMoves[gChosenMoveByBattler[gActiveBattler]].effect == EFFECT_PURSUIT) + && !(gAbsentBattlerFlags & gBitTable[battler]) + && gChosenActionByBattler[battler] == B_ACTION_USE_MOVE + && gBattleMoves[gChosenMoveByBattler[battler]].effect == EFFECT_PURSUIT) { - gActionsByTurnOrder[gActiveBattler] = B_ACTION_TRY_FINISH; - gCurrentMove = gChosenMoveByBattler[gActiveBattler]; + gActionsByTurnOrder[battler] = B_ACTION_TRY_FINISH; + gCurrentMove = gChosenMoveByBattler[battler]; gBattlescriptCurrInstr = cmd->nextInstr; gBattleScripting.animTurn = 1; gBattleScripting.savedBattler = gBattlerAttacker; - gBattlerAttacker = gActiveBattler; + gBattlerAttacker = battler; } else { @@ -15989,13 +15962,12 @@ void BS_TrySymbiosis(void) { NATIVE_ARGS(); //called by Bestow, Fling, and Bug Bite, which don't work with Cmd_removeitem. - gActiveBattler = gBattlerAttacker; - if (SYMBIOSIS_CHECK(gBattlerAttacker, BATTLE_PARTNER(gActiveBattler))) + u32 partner = BATTLE_PARTNER(gBattlerAttacker); + if (SYMBIOSIS_CHECK(gBattlerAttacker, partner)) { - BestowItem(BATTLE_PARTNER(gActiveBattler), gActiveBattler); - gLastUsedAbility = gBattleMons[BATTLE_PARTNER(gActiveBattler)].ability; - gBattleScripting.battler = gBattlerAbility = BATTLE_PARTNER(gActiveBattler); - gBattlerAttacker = gActiveBattler; + BestowItem(partner, gBattlerAttacker); + gLastUsedAbility = gBattleMons[partner].ability; + gBattleScripting.battler = gBattlerAbility = partner; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SymbiosisActivates; return; From 4683783a92dfd2b3772e1c662d3679a1dbdfb156 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 30 Aug 2023 10:18:31 +0200 Subject: [PATCH 199/256] remove active battler from other files --- include/battle_ai_main.h | 2 +- include/battle_message.h | 6 +- include/battle_util.h | 136 +++++------ include/battle_z_move.h | 12 +- include/recorded_battle.h | 4 +- src/battle_ai_main.c | 8 +- src/battle_controller_player.c | 4 +- src/battle_controller_recorded_opponent.c | 4 +- src/battle_controller_recorded_player.c | 4 +- src/battle_controllers.c | 34 +-- src/battle_main.c | 169 +++++++------- src/battle_message.c | 116 ++++----- src/battle_script_commands.c | 272 +++++++++++----------- src/battle_util.c | 255 ++++++++++---------- src/battle_z_move.c | 100 ++++---- src/recorded_battle.c | 10 +- 16 files changed, 566 insertions(+), 570 deletions(-) diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index 1d53a3f398..6e35c04a28 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -22,7 +22,7 @@ u8 ComputeBattleAiScores(u8 battler); void BattleAI_SetupItems(void); void BattleAI_SetupFlags(void); -void BattleAI_SetupAIData(u8 defaultScoreMoves); +void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler); u8 BattleAI_ChooseMoveOrAction(void); void Ai_InitPartyStruct(void); void Ai_UpdateSwitchInData(u32 battler); diff --git a/include/battle_message.h b/include/battle_message.h index 93bb63022b..24442b36b0 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -239,13 +239,13 @@ enum TRAINER_SLIDE_BEFORE_FIRST_TURN, }; -void BufferStringBattle(u16 stringID); +void BufferStringBattle(u16 stringID, u32 battler); u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src); u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst); void BattlePutTextOnWindow(const u8 *text, u8 windowId); -void SetPpNumbersPaletteInMoveSelection(void); +void SetPpNumbersPaletteInMoveSelection(u32 battler); u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); -u32 ShouldDoTrainerSlide(u32 battlerId, u32 which); // return 1 for TrainerA, 2 forTrainerB +u32 ShouldDoTrainerSlide(u32 battler, u32 which); // return 1 for TrainerA, 2 forTrainerB void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst); extern struct BattleMsgData *gBattleMsgDataPtr; diff --git a/include/battle_util.h b/include/battle_util.h index 87ef161a2f..9b11cd64b8 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -114,22 +114,22 @@ u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 target, u8 attacker, u16 move); void PressurePPLoseOnUsingPerishSong(u8 attacker); void PressurePPLoseOnUsingImprison(u8 attacker); -bool32 IsBattlerMarkedForControllerExec(u8 battlerId); -void MarkBattlerForControllerExec(u8 battlerId); -void MarkBattlerReceivedLinkData(u8 battlerId); -void CancelMultiTurnMoves(u8 battlerId); -bool8 WasUnableToUseMove(u8 battlerId); -void PrepareStringBattle(u16 stringId, u8 battlerId); +bool32 IsBattlerMarkedForControllerExec(u8 battler); +void MarkBattlerForControllerExec(u8 battler); +void MarkBattlerReceivedLinkData(u8 battler); +void CancelMultiTurnMoves(u8 battler); +bool8 WasUnableToUseMove(u8 battler); +void PrepareStringBattle(u16 stringId, u8 battler); void ResetSentPokesToOpponentValue(void); -void OpponentSwitchInResetSentPokesToOpponentValue(u8 battlerId); -void UpdateSentPokesToOpponentValue(u8 battlerId); +void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler); +void UpdateSentPokesToOpponentValue(u8 battler); void BattleScriptPush(const u8 *bsPtr); void BattleScriptPushCursor(void); void BattleScriptPop(void); -u8 TrySetCantSelectMoveBattleScript(void); -u8 CheckMoveLimitations(u8 battlerId, u8 unusableMoves, u16 check); -bool8 AreAllMovesUnusable(void); -u8 GetImprisonedMovesCount(u8 battlerId, u16 move); +u32 TrySetCantSelectMoveBattleScript(u32 battler); +u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u16 check); +bool32 AreAllMovesUnusable(u32 battler); +u8 GetImprisonedMovesCount(u8 battler, u16 move); u8 DoFieldEndTurnEffects(void); s32 GetDrainedBigRootHp(u32 battler, s32 hp); u8 DoBattlerEndTurnEffects(void); @@ -139,34 +139,34 @@ void TryClearRageAndFuryCutter(void); u8 AtkCanceller_UnableToUseMove(u32 moveType); void SetAtkCancellerForCalledMove(void); u8 AtkCanceller_UnableToUseMove2(void); -bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2); +bool8 HasNoMonsToSwitch(u8 battler, u8 r1, u8 r2); bool32 TryChangeBattleWeather(u8 battler, u32 weatherEnumId, bool32 viaAbility); -u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u16 ability, u8 special, u16 moveArg); -bool32 TryPrimalReversion(u8 battlerId); +u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 moveArg); +bool32 TryPrimalReversion(u8 battler); bool32 IsNeutralizingGasOnField(void); -u32 GetBattlerAbility(u8 battlerId); -u32 IsAbilityOnSide(u32 battlerId, u32 ability); -u32 IsAbilityOnOpposingSide(u32 battlerId, u32 ability); +u32 GetBattlerAbility(u8 battler); +u32 IsAbilityOnSide(u32 battler, u32 ability); +u32 IsAbilityOnOpposingSide(u32 battler, u32 ability); u32 IsAbilityOnField(u32 ability); -u32 IsAbilityOnFieldExcept(u32 battlerId, u32 ability); -u32 IsAbilityPreventingEscape(u32 battlerId); -bool32 IsBattlerProtected(u8 battlerId, u16 move); -bool32 CanBattlerEscape(u32 battlerId); // no ability check +u32 IsAbilityOnFieldExcept(u32 battler, u32 ability); +u32 IsAbilityPreventingEscape(u32 battler); +bool32 IsBattlerProtected(u8 battler, u16 move); +bool32 CanBattlerEscape(u32 battler); // no ability check void BattleScriptExecute(const u8 *BS_ptr); void BattleScriptPushCursorAndCallback(const u8 *BS_ptr); -u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn); -void ClearFuryCutterDestinyBondGrudge(u8 battlerId); +u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn); +void ClearFuryCutterDestinyBondGrudge(u8 battler); void HandleAction_RunBattleScript(void); -u32 SetRandomTarget(u32 battlerId); +u32 SetRandomTarget(u32 battler); u32 GetMoveTarget(u16 move, u8 setTarget); u8 IsMonDisobedient(void); -u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating); -u32 GetBattlerHoldEffectParam(u8 battlerId); +u32 GetBattlerHoldEffect(u8 battler, bool32 checkNegating); +u32 GetBattlerHoldEffectParam(u8 battler); bool32 IsMoveMakingContact(u16 move, u8 battlerAtk); -bool32 IsBattlerGrounded(u8 battlerId); -bool32 IsBattlerAlive(u8 battlerId); +bool32 IsBattlerGrounded(u8 battler); +bool32 IsBattlerAlive(u8 battler); u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move); -u32 GetBattlerWeight(u8 battlerId); +u32 GetBattlerWeight(u8 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); s32 CalculateMoveDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); @@ -174,44 +174,44 @@ s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, uq4_12_t CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u8 atkType, u8 defType); -s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId); +s32 GetStealthHazardDamage(u8 hazardType, u8 battler); s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp); -bool32 CanMegaEvolve(u8 battlerId); -bool32 IsBattlerMegaEvolved(u8 battlerId); -bool32 IsBattlerPrimalReverted(u8 battlerId); -u16 GetBattleFormChangeTargetSpecies(u8 battlerId, u16 method); -bool32 TryBattleFormChange(u8 battlerId, u16 method); +bool32 CanMegaEvolve(u8 battler); +bool32 IsBattlerMegaEvolved(u8 battler); +bool32 IsBattlerPrimalReverted(u8 battler); +u16 GetBattleFormChangeTargetSpecies(u8 battler, u16 method); +bool32 TryBattleFormChange(u8 battler, u16 method); bool32 DoBattlersShareType(u32 battler1, u32 battler2); -bool32 CanBattlerGetOrLoseItem(u8 battlerId, u16 itemId); -u32 GetIllusionMonSpecies(u32 battlerId); -struct Pokemon *GetIllusionMonPtr(u32 battlerId); -void ClearIllusionMon(u32 battlerId); -bool32 SetIllusionMon(struct Pokemon *mon, u32 battlerId); -bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battlerId); +bool32 CanBattlerGetOrLoseItem(u8 battler, u16 itemId); +u32 GetIllusionMonSpecies(u32 battler); +struct Pokemon *GetIllusionMonPtr(u32 battler); +void ClearIllusionMon(u32 battler); +bool32 SetIllusionMon(struct Pokemon *mon, u32 battler); +bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battler); u8 GetBattleMoveSplit(u32 moveId); -bool32 CanFling(u8 battlerId); +bool32 CanFling(u8 battler); bool32 IsTelekinesisBannedSpecies(u16 species); bool32 IsHealBlockPreventingMove(u32 battler, u32 move); -bool32 HasEnoughHpToEatBerry(u32 battlerId, u32 hpFraction, u32 itemId); -bool32 IsPartnerMonFromSameTrainer(u8 battlerId); -u8 GetSplitBasedOnStats(u8 battlerId); +bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId); +bool32 IsPartnerMonFromSameTrainer(u8 battler); +u8 GetSplitBasedOnStats(u8 battler); bool32 TestSheerForceFlag(u8 battler, u16 move); void TryRestoreHeldItems(void); bool32 CanStealItem(u8 battlerStealing, u8 battlerItem, u16 item); -void TrySaveExchangedItem(u8 battlerId, u16 stolenItem); -bool32 IsPartnerMonFromSameTrainer(u8 battlerId); +void TrySaveExchangedItem(u8 battler, u16 stolenItem); +bool32 IsPartnerMonFromSameTrainer(u8 battler); u8 TryHandleSeed(u8 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 execute); -bool32 IsBattlerAffectedByHazards(u8 battlerId, bool32 toxicSpikes); +bool32 IsBattlerAffectedByHazards(u8 battler, bool32 toxicSpikes); void SortBattlersBySpeed(u8 *battlers, bool8 slowToFast); -bool32 CompareStat(u8 battlerId, u8 statId, u8 cmpTo, u8 cmpKind); -bool32 TryRoomService(u8 battlerId); -void BufferStatChange(u8 battlerId, u8 statId, u8 stringId); +bool32 CompareStat(u8 battler, u8 statId, u8 cmpTo, u8 cmpKind); +bool32 TryRoomService(u8 battler); +void BufferStatChange(u8 battler, u8 statId, u8 stringId); bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u8 battlerDef, bool32 checkTarget); u16 GetUsedHeldItem(u8 battler); -bool32 IsBattlerWeatherAffected(u8 battlerId, u32 weatherFlags); -u32 GetBattlerMoveTargetType(u8 battlerId, u16 move); +bool32 IsBattlerWeatherAffected(u8 battler, u32 weatherFlags); +u32 GetBattlerMoveTargetType(u8 battler, u16 move); bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move); -bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId); +bool8 IsMoveAffectedByParentalBond(u16 move, u8 battler); void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); @@ -226,21 +226,21 @@ bool32 IsGastroAcidBannedAbility(u16 ability); bool32 IsEntrainmentBannedAbilityAttacker(u16 ability); bool32 IsEntrainmentTargetOrSimpleBeamBannedAbility(u16 ability); -bool32 CanSleep(u8 battlerId); +bool32 CanSleep(u8 battler); bool32 CanBePoisoned(u8 battlerAttacker, u8 battlerTarget); -bool32 CanBeBurned(u8 battlerId); -bool32 CanBeParalyzed(u8 battlerId); -bool32 CanBeFrozen(u8 battlerId); -bool32 CanGetFrostbite(u8 battlerId); -bool32 CanBeConfused(u8 battlerId); -bool32 IsBattlerTerrainAffected(u8 battlerId, u32 terrainFlag); -u32 GetBattlerFriendshipScore(u8 battlerId); -u32 CountBattlerStatIncreases(u8 battlerId, bool32 countEvasionAcc); +bool32 CanBeBurned(u8 battler); +bool32 CanBeParalyzed(u8 battler); +bool32 CanBeFrozen(u8 battler); +bool32 CanGetFrostbite(u8 battler); +bool32 CanBeConfused(u8 battler); +bool32 IsBattlerTerrainAffected(u8 battler, u32 terrainFlag); +u32 GetBattlerFriendshipScore(u8 battler); +u32 CountBattlerStatIncreases(u8 battler, bool32 countEvasionAcc); bool32 IsMyceliumMightOnField(void); -bool8 ChangeTypeBasedOnTerrain(u8 battlerId); -void RemoveConfusionStatus(u8 battlerId); -u8 GetBattlerGender(u8 battlerId); +bool8 ChangeTypeBasedOnTerrain(u8 battler); +void RemoveConfusionStatus(u8 battler); +u8 GetBattlerGender(u8 battler); bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2); -u32 CalcSecondaryEffectChance(u8 battlerId, u8 secondaryEffectChance); +u32 CalcSecondaryEffectChance(u8 battler, u8 secondaryEffectChance); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/battle_z_move.h b/include/battle_z_move.h index 44ed434549..8dea0bd7dc 100644 --- a/include/battle_z_move.h +++ b/include/battle_z_move.h @@ -14,18 +14,18 @@ struct SignatureZMove }; bool8 IsZMove(u16 move); -void QueueZMove(u8 battlerId, u16 baseMove); -bool32 IsViableZMove(u8 battlerId, u16 move); -bool32 TryChangeZIndicator(u8 battlerId, u8 moveIndex); +void QueueZMove(u8 battler, u16 baseMove); +bool32 IsViableZMove(u8 battler, u16 move); +bool32 TryChangeZIndicator(u8 battler, u8 moveIndex); void CreateZMoveTriggerSprite(u8, bool8); void HideZMoveTriggerSprite(void); bool32 IsZMoveTriggerSpriteActive(void); void DestroyZMoveTriggerSprite(void); -bool32 MoveSelectionDisplayZMove(u16 zmove); +bool32 MoveSelectionDisplayZMove(u16 zmove, u32 battler); const u8 *GetZMoveName(u16 move); void SetZEffect(void); -bool32 IsZMoveUsable(u8 battlerId, u16 moveIndex); -void GetUsableZMoves(u8 battlerId, u16 *moves); +bool32 IsZMoveUsable(u8 battler, u16 moveIndex); +void GetUsableZMoves(u8 battler, u16 *moves); u16 GetZMovePower(u16 move); #endif // GUARD_BATTLE_Z_MOVE_H diff --git a/include/recorded_battle.h b/include/recorded_battle.h index 02bbe8fc3f..e4fa1deb40 100644 --- a/include/recorded_battle.h +++ b/include/recorded_battle.h @@ -70,13 +70,13 @@ void PlayRecordedBattle(void (*CB2_After)(void)); u8 GetRecordedBattleFrontierFacility(void); u8 GetRecordedBattleFronterBrainSymbol(void); void RecordedBattle_SaveParties(void); -u8 GetActiveBattlerLinkPlayerGender(void); +u8 GetBattlerLinkPlayerGender(u32 battler); void RecordedBattle_ClearFrontierPassFlag(void); void RecordedBattle_SetFrontierPassFlagFromHword(u16 flags); u8 RecordedBattle_GetFrontierPassFlag(void); u8 GetBattleSceneInRecordedBattle(void); u8 GetTextSpeedInRecordedBattle(void); -void RecordedBattle_CopyBattlerMoves(void); +void RecordedBattle_CopyBattlerMoves(u32 battler); void RecordedBattle_CheckMovesetChanges(u8 mode); u32 GetAiScriptsInRecordedBattle(void); void RecordedBattle_SetPlaybackFinished(void); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 8caacb0194..6dcc01ed80 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -184,7 +184,7 @@ void BattleAI_SetupFlags(void) } // sBattler_AI set in ComputeBattleAiScores -void BattleAI_SetupAIData(u8 defaultScoreMoves) +void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler) { s32 i, move, dmg; u8 moveLimitations; @@ -434,13 +434,11 @@ static u8 ChooseMoveOrAction_Singles(void) if (AI_THINKING_STRUCT->aiAction & AI_ACTION_WATCH) return AI_CHOICE_WATCH; - gActiveBattler = sBattler_AI; - // If can switch. if (CountUsablePartyMons(sBattler_AI) > 0 && !IsAbilityPreventingEscape(sBattler_AI) - && !(gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) - && !(gStatuses3[gActiveBattler] & STATUS3_ROOTED) + && !(gBattleMons[sBattler_AI].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION)) + && !(gStatuses3[sBattler_AI] & STATUS3_ROOTED) && !(gBattleTypeFlags & (BATTLE_TYPE_ARENA | BATTLE_TYPE_PALACE)) && AI_THINKING_STRUCT->aiFlags & (AI_FLAG_CHECK_VIABILITY | AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_PREFER_BATON_PASS)) { diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index a86d40f3c2..7176919553 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -863,7 +863,7 @@ static void HandleInputChooseMove(u32 battler) //TODO: brighten z move symbol PlaySE(SE_SELECT); if (!gBattleStruct->zmove.viewing) - MoveSelectionDisplayZMove(gBattleStruct->zmove.chosenZMove); + MoveSelectionDisplayZMove(gBattleStruct->zmove.chosenZMove, battler); else ReloadMoveNames(battler); } @@ -1638,7 +1638,7 @@ static void MoveSelectionDisplayPpNumber(u32 battler) if (gBattleResources->bufferA[battler][2] == TRUE) // check if we didn't want to display pp number return; - SetPpNumbersPaletteInMoveSelection(); + SetPpNumbersPaletteInMoveSelection(battler); moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, moveInfo->currentPp[gMoveSelectionCursor[battler]], STR_CONV_MODE_RIGHT_ALIGN, 2); *(txtPtr)++ = CHAR_SLASH; diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index b2ee880006..be7f202092 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -404,7 +404,7 @@ static void RecordedOpponentHandleDrawTrainerPic(u32 battler) } else { - trainerPicId = PlayerGenderToFrontTrainerPicId(GetActiveBattlerLinkPlayerGender()); + trainerPicId = PlayerGenderToFrontTrainerPicId(GetBattlerLinkPlayerGender(battler)); } } else @@ -442,7 +442,7 @@ static void RecordedOpponentHandlePrintString(u32 battler) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; stringId = (u16 *)(&gBattleResources->bufferA[battler][2]); - BufferStringBattle(*stringId); + BufferStringBattle(*stringId, battler); if (gTestRunnerEnabled) { diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index 9bd5b8baa3..a36776ccbf 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -374,7 +374,7 @@ static void RecordedPlayerHandleDrawTrainerPic(u32 battler) if (gBattleTypeFlags & BATTLE_TYPE_RECORDED_LINK) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - trainerPicId = GetActiveBattlerLinkPlayerGender(); + trainerPicId = GetBattlerLinkPlayerGender(battler); else trainerPicId = gLinkPlayers[gRecordedBattleMultiplayerId].gender; } @@ -432,7 +432,7 @@ static void RecordedPlayerHandlePrintString(u32 battler) gBattle_BG0_X = 0; gBattle_BG0_Y = 0; stringId = (u16 *)(&gBattleResources->bufferA[battler][2]); - BufferStringBattle(*stringId); + BufferStringBattle(*stringId, battler); if (gTestRunnerEnabled) { diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 0119b332bb..54ed250b15 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -670,13 +670,13 @@ static void SetBattlePartyIds(void) } } -static void PrepareBufferDataTransfer(u32 battlerId, u32 bufferId, u8 *data, u16 size) +static void PrepareBufferDataTransfer(u32 battler, u32 bufferId, u8 *data, u16 size) { s32 i; if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - PrepareBufferDataTransferLink(battlerId, bufferId, size, data); + PrepareBufferDataTransferLink(battler, bufferId, size, data); } else { @@ -684,11 +684,11 @@ static void PrepareBufferDataTransfer(u32 battlerId, u32 bufferId, u8 *data, u16 { case BUFFER_A: for (i = 0; i < size; data++, i++) - gBattleResources->bufferA[battlerId][i] = *data; + gBattleResources->bufferA[battler][i] = *data; break; case BUFFER_B: for (i = 0; i < size; data++, i++) - gBattleResources->bufferB[battlerId][i] = *data; + gBattleResources->bufferB[battler][i] = *data; break; } } @@ -723,7 +723,7 @@ enum LINK_BUFF_DATA, }; -void PrepareBufferDataTransferLink(u32 battlerId, u32 bufferId, u16 size, u8 *data) +void PrepareBufferDataTransferLink(u32 battler, u32 bufferId, u16 size, u8 *data) { s32 alignedSize; s32 i; @@ -735,7 +735,7 @@ void PrepareBufferDataTransferLink(u32 battlerId, u32 bufferId, u16 size, u8 *da gTasks[sLinkSendTaskId].data[14] = 0; } gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_BUFFER_ID] = bufferId; - gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = battlerId; + gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ACTIVE_BATTLER] = battler; gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_ATTACKER] = gBattlerAttacker; gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_TARGET] = gBattlerTarget; gLinkBattleSendBuffer[gTasks[sLinkSendTaskId].data[14] + LINK_BUFF_SIZE_LO] = alignedSize; @@ -2562,19 +2562,19 @@ void BtlController_HandleTrainerSlide(u32 battler, u32 trainerPicId) #undef sSpeedX -void BtlController_HandleTrainerSlideBack(u32 battlerId, s16 data0, bool32 startAnim) +void BtlController_HandleTrainerSlideBack(u32 battler, s16 data0, bool32 startAnim) { - u32 side = GetBattlerSide(battlerId); + u32 side = GetBattlerSide(battler); - SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battlerId]]); - gSprites[gBattlerSpriteIds[battlerId]].data[0] = data0; - gSprites[gBattlerSpriteIds[battlerId]].data[2] = (side == B_SIDE_PLAYER) ? -40 : 280; - gSprites[gBattlerSpriteIds[battlerId]].data[4] = gSprites[gBattlerSpriteIds[battlerId]].y; - gSprites[gBattlerSpriteIds[battlerId]].callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battlerId]], SpriteCallbackDummy); + SetSpritePrimaryCoordsFromSecondaryCoords(&gSprites[gBattlerSpriteIds[battler]]); + gSprites[gBattlerSpriteIds[battler]].data[0] = data0; + gSprites[gBattlerSpriteIds[battler]].data[2] = (side == B_SIDE_PLAYER) ? -40 : 280; + gSprites[gBattlerSpriteIds[battler]].data[4] = gSprites[gBattlerSpriteIds[battler]].y; + gSprites[gBattlerSpriteIds[battler]].callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(&gSprites[gBattlerSpriteIds[battler]], SpriteCallbackDummy); if (startAnim) - StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerId]], 1); - gBattlerControllerFuncs[battlerId] = Controller_HandleTrainerSlideBack; + StartSpriteAnim(&gSprites[gBattlerSpriteIds[battler]], 1); + gBattlerControllerFuncs[battler] = Controller_HandleTrainerSlideBack; } #define sSpeedX data[1] @@ -2667,7 +2667,7 @@ void BtlController_HandlePrintString(u32 battler, bool32 updateTvData, bool32 ar gBattle_BG0_X = 0; gBattle_BG0_Y = 0; stringId = (u16 *)(&gBattleResources->bufferA[battler][2]); - BufferStringBattle(*stringId); + BufferStringBattle(*stringId, battler); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MSG); gBattlerControllerFuncs[battler] = Controller_WaitForString; if (updateTvData) diff --git a/src/battle_main.c b/src/battle_main.c index ecd26c42a2..02a6f37bb4 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -764,7 +764,7 @@ static void SetAllPlayersBerryData(void) { s32 numPlayers; struct BattleEnigmaBerry *src; - u8 battlerId; + u8 battler; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -776,17 +776,17 @@ static void SetAllPlayersBerryData(void) for (i = 0; i < numPlayers; i++) { src = (struct BattleEnigmaBerry *)(gBlockRecvBuffer[i] + 2); - battlerId = gLinkPlayers[i].id; + battler = gLinkPlayers[i].id; for (j = 0; j < BERRY_NAME_LENGTH; j++) - gEnigmaBerries[battlerId].name[j] = src->name[j]; - gEnigmaBerries[battlerId].name[j] = EOS; + gEnigmaBerries[battler].name[j] = src->name[j]; + gEnigmaBerries[battler].name[j] = EOS; for (j = 0; j < BERRY_ITEM_EFFECT_COUNT; j++) - gEnigmaBerries[battlerId].itemEffect[j] = src->itemEffect[j]; + gEnigmaBerries[battler].itemEffect[j] = src->itemEffect[j]; - gEnigmaBerries[battlerId].holdEffect = src->holdEffect; - gEnigmaBerries[battlerId].holdEffectParam = src->holdEffectParam; + gEnigmaBerries[battler].holdEffect = src->holdEffect; + gEnigmaBerries[battler].holdEffectParam = src->holdEffectParam; } } else @@ -3000,7 +3000,6 @@ void BeginBattleIntro(void) static void BattleMainCB1(void) { gBattleMainFunc(); - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) gBattlerControllerFuncs[gActiveBattler](gActiveBattler); } @@ -4079,7 +4078,7 @@ static void HandleTurnActionSelectionState(void) switch (gBattleCommunication[gActiveBattler]) { case STATE_TURN_START_RECORD: // Recorded battle related action on start of every turn. - RecordedBattle_CopyBattlerMoves(); + RecordedBattle_CopyBattlerMoves(gActiveBattler); gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; // Do AI score computations here so we can use them in AI_TrySwitchOrUseItem @@ -4140,7 +4139,7 @@ static void HandleTurnActionSelectionState(void) switch (gBattleResources->bufferB[gActiveBattler][1]) { case B_ACTION_USE_MOVE: - if (AreAllMovesUnusable()) + if (AreAllMovesUnusable(gActiveBattler)) { gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; @@ -4356,7 +4355,7 @@ static void HandleTurnActionSelectionState(void) gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; RecordedBattle_ClearBattlerAction(gActiveBattler, 1); } - else if (TrySetCantSelectMoveBattleScript()) + else if (TrySetCantSelectMoveBattleScript(gActiveBattler)) { RecordedBattle_ClearBattlerAction(gActiveBattler, 1); gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; @@ -4598,12 +4597,12 @@ void SwapTurnOrder(u8 id1, u8 id2) SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp); } -u32 GetBattlerTotalSpeedStat(u8 battlerId) +u32 GetBattlerTotalSpeedStat(u8 battler) { - u32 speed = gBattleMons[battlerId].speed; - u32 ability = GetBattlerAbility(battlerId); - u32 holdEffect = GetBattlerHoldEffect(battlerId, TRUE); - u32 highestStat = GetHighestStatId(battlerId); + u32 speed = gBattleMons[battler].speed; + u32 ability = GetBattlerAbility(battler); + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + u32 highestStat = GetHighestStatId(battler); // weather abilities if (WEATHER_HAS_EFFECT) @@ -4619,11 +4618,11 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) } // other abilities - if (ability == ABILITY_QUICK_FEET && gBattleMons[battlerId].status1 & STATUS1_ANY) + if (ability == ABILITY_QUICK_FEET && gBattleMons[battler].status1 & STATUS1_ANY) speed = (speed * 150) / 100; else if (ability == ABILITY_SURGE_SURFER && gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) speed *= 2; - else if (ability == ABILITY_SLOW_START && gDisableStructs[battlerId].slowStartTimer != 0) + else if (ability == ABILITY_SLOW_START && gDisableStructs[battler].slowStartTimer != 0) speed /= 2; else if (ability == ABILITY_PROTOSYNTHESIS && gBattleWeather & B_WEATHER_SUN && highestStat == STAT_SPEED) speed = (speed * 150) / 100; @@ -4631,13 +4630,13 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) speed = (speed * 150) / 100; // stat stages - speed *= gStatStageRatios[gBattleMons[battlerId].statStages[STAT_SPEED]][0]; - speed /= gStatStageRatios[gBattleMons[battlerId].statStages[STAT_SPEED]][1]; + speed *= gStatStageRatios[gBattleMons[battler].statStages[STAT_SPEED]][0]; + speed /= gStatStageRatios[gBattleMons[battler].statStages[STAT_SPEED]][1]; // player's badge boost if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) - && ShouldGetStatBadgeBoost(FLAG_BADGE03_GET, battlerId) - && GetBattlerSide(battlerId) == B_SIDE_PLAYER) + && ShouldGetStatBadgeBoost(FLAG_BADGE03_GET, battler) + && GetBattlerSide(battler) == B_SIDE_PLAYER) { speed = (speed * 110) / 100; } @@ -4649,17 +4648,17 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) speed /= 2; else if (holdEffect == HOLD_EFFECT_CHOICE_SCARF) speed = (speed * 150) / 100; - else if (holdEffect == HOLD_EFFECT_QUICK_POWDER && gBattleMons[battlerId].species == SPECIES_DITTO && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)) + else if (holdEffect == HOLD_EFFECT_QUICK_POWDER && gBattleMons[battler].species == SPECIES_DITTO && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) speed *= 2; // various effects - if (gSideStatuses[GET_BATTLER_SIDE(battlerId)] & SIDE_STATUS_TAILWIND) + if (gSideStatuses[GET_BATTLER_SIDE(battler)] & SIDE_STATUS_TAILWIND) speed *= 2; - if (gBattleResources->flags->flags[battlerId] & RESOURCE_FLAG_UNBURDEN) + if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_UNBURDEN) speed *= 2; // paralysis drop - if (gBattleMons[battlerId].status1 & STATUS1_PARALYSIS && ability != ABILITY_QUICK_FEET) + if (gBattleMons[battler].status1 & STATUS1_PARALYSIS && ability != ABILITY_QUICK_FEET) #if B_PARALYSIS_SPEED >= GEN_7 speed /= 2; #else @@ -4669,28 +4668,28 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) return speed; } -s8 GetChosenMovePriority(u32 battlerId) +s8 GetChosenMovePriority(u32 battler) { u16 move; - gProtectStructs[battlerId].pranksterElevated = 0; - if (gProtectStructs[battlerId].noValidMoves) + gProtectStructs[battler].pranksterElevated = 0; + if (gProtectStructs[battler].noValidMoves) move = MOVE_STRUGGLE; else - move = gBattleMons[battlerId].moves[*(gBattleStruct->chosenMovePositions + battlerId)]; + move = gBattleMons[battler].moves[*(gBattleStruct->chosenMovePositions + battler)]; - return GetMovePriority(battlerId, move); + return GetMovePriority(battler, move); } -s8 GetMovePriority(u32 battlerId, u16 move) +s8 GetMovePriority(u32 battler, u16 move) { s8 priority; - u16 ability = GetBattlerAbility(battlerId); + u16 ability = GetBattlerAbility(battler); priority = gBattleMoves[move].priority; if (ability == ABILITY_GALE_WINGS #if B_GALE_WINGS >= GEN_7 - && BATTLER_MAX_HP(battlerId) + && BATTLER_MAX_HP(battler) #endif && gBattleMoves[move].type == TYPE_FLYING) { @@ -4698,10 +4697,10 @@ s8 GetMovePriority(u32 battlerId, u16 move) } else if (ability == ABILITY_PRANKSTER && IS_MOVE_STATUS(move)) { - gProtectStructs[battlerId].pranksterElevated = 1; + gProtectStructs[battler].pranksterElevated = 1; priority++; } - else if (gBattleMoves[move].effect == EFFECT_GRASSY_GLIDE && gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && IsBattlerGrounded(battlerId)) + else if (gBattleMoves[move].effect == EFFECT_GRASSY_GLIDE && gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && IsBattlerGrounded(battler)) { priority++; } @@ -4727,7 +4726,7 @@ s8 GetMovePriority(u32 battlerId, u16 move) } } - if (gProtectStructs[battlerId].quash) + if (gProtectStructs[battler].quash) priority = -8; return priority; @@ -4838,14 +4837,14 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) static void SetActionsAndBattlersTurnOrder(void) { s32 turnOrderId = 0; - s32 i, j; + s32 i, j, battler; if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[gActiveBattler]; - gBattlerByTurnOrder[turnOrderId] = gActiveBattler; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[battler]; + gBattlerByTurnOrder[turnOrderId] = battler; turnOrderId++; } } @@ -4853,9 +4852,9 @@ static void SetActionsAndBattlersTurnOrder(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) + if (gChosenActionByBattler[battler] == B_ACTION_RUN) { turnOrderId = 5; break; @@ -4866,24 +4865,24 @@ static void SetActionsAndBattlersTurnOrder(void) { if (gChosenActionByBattler[0] == B_ACTION_RUN) { - gActiveBattler = 0; + battler = 0; turnOrderId = 5; } if (gChosenActionByBattler[2] == B_ACTION_RUN) { - gActiveBattler = 2; + battler = 2; turnOrderId = 5; } } if (turnOrderId == 5) // One of battlers wants to run. { - gActionsByTurnOrder[0] = gChosenActionByBattler[gActiveBattler]; - gBattlerByTurnOrder[0] = gActiveBattler; + gActionsByTurnOrder[0] = gChosenActionByBattler[battler]; + gBattlerByTurnOrder[0] = battler; turnOrderId = 1; for (i = 0; i < gBattlersCount; i++) { - if (i != gActiveBattler) + if (i != battler) { gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[i]; gBattlerByTurnOrder[turnOrderId] = i; @@ -4893,25 +4892,25 @@ static void SetActionsAndBattlersTurnOrder(void) } else { - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_ITEM - || gChosenActionByBattler[gActiveBattler] == B_ACTION_SWITCH - || gChosenActionByBattler[gActiveBattler] == B_ACTION_THROW_BALL) + if (gChosenActionByBattler[battler] == B_ACTION_USE_ITEM + || gChosenActionByBattler[battler] == B_ACTION_SWITCH + || gChosenActionByBattler[battler] == B_ACTION_THROW_BALL) { - gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[gActiveBattler]; - gBattlerByTurnOrder[turnOrderId] = gActiveBattler; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[battler]; + gBattlerByTurnOrder[turnOrderId] = battler; turnOrderId++; } } - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (gChosenActionByBattler[gActiveBattler] != B_ACTION_USE_ITEM - && gChosenActionByBattler[gActiveBattler] != B_ACTION_SWITCH - && gChosenActionByBattler[gActiveBattler] != B_ACTION_THROW_BALL) + if (gChosenActionByBattler[battler] != B_ACTION_USE_ITEM + && gChosenActionByBattler[battler] != B_ACTION_SWITCH + && gChosenActionByBattler[battler] != B_ACTION_THROW_BALL) { - gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[gActiveBattler]; - gBattlerByTurnOrder[turnOrderId] = gActiveBattler; + gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[battler]; + gBattlerByTurnOrder[turnOrderId] = battler; turnOrderId++; } } @@ -5046,8 +5045,8 @@ static bool32 TryDoMoveEffectsBeforeMoves(void) && !(gProtectStructs[battlers[i]].noValidMoves)) { gBattleStruct->focusPunchBattlers |= gBitTable[battlers[i]]; - gActiveBattler = gBattlerAttacker = battlers[i]; - switch (gChosenMoveByBattler[gActiveBattler]) + gBattlerAttacker = battlers[i]; + switch (gChosenMoveByBattler[gBattlerAttacker]) { case MOVE_FOCUS_PUNCH: BattleScriptExecute(BattleScript_FocusPunchSetUp); @@ -5089,44 +5088,44 @@ static void TryChangeTurnOrder(void) static void CheckQuickClaw_CustapBerryActivation(void) { - u32 i; + u32 i, battler; if (!(gHitMarker & HITMARKER_RUN)) { while (gBattleStruct->quickClawBattlerId < gBattlersCount) { - gActiveBattler = gBattlerAttacker = gBattleStruct->quickClawBattlerId; + battler = gBattlerAttacker = gBattleStruct->quickClawBattlerId; gBattleStruct->quickClawBattlerId++; - if (gChosenActionByBattler[gActiveBattler] == B_ACTION_USE_MOVE - && gChosenMoveByBattler[gActiveBattler] != MOVE_FOCUS_PUNCH // quick claw message doesn't need to activate here - && (gProtectStructs[gActiveBattler].usedCustapBerry || gProtectStructs[gActiveBattler].quickDraw) - && !(gBattleMons[gActiveBattler].status1 & STATUS1_SLEEP) + if (gChosenActionByBattler[battler] == B_ACTION_USE_MOVE + && gChosenMoveByBattler[battler] != MOVE_FOCUS_PUNCH // quick claw message doesn't need to activate here + && (gProtectStructs[battler].usedCustapBerry || gProtectStructs[battler].quickDraw) + && !(gBattleMons[battler].status1 & STATUS1_SLEEP) && !(gDisableStructs[gBattlerAttacker].truantCounter) - && !(gProtectStructs[gActiveBattler].noValidMoves)) + && !(gProtectStructs[battler].noValidMoves)) { - if (gProtectStructs[gActiveBattler].usedCustapBerry) + if (gProtectStructs[battler].usedCustapBerry) { - gProtectStructs[gActiveBattler].usedCustapBerry = FALSE; - gLastUsedItem = gBattleMons[gActiveBattler].item; + gProtectStructs[battler].usedCustapBerry = FALSE; + gLastUsedItem = gBattleMons[battler].item; PREPARE_ITEM_BUFFER(gBattleTextBuff1, gLastUsedItem); - if (GetBattlerHoldEffect(gActiveBattler, FALSE) == HOLD_EFFECT_CUSTAP_BERRY) + if (GetBattlerHoldEffect(battler, FALSE) == HOLD_EFFECT_CUSTAP_BERRY) { // don't record berry since its gone now BattleScriptExecute(BattleScript_CustapBerryActivation); } else { - RecordItemEffectBattle(gActiveBattler, GetBattlerHoldEffect(gActiveBattler, FALSE)); + RecordItemEffectBattle(battler, GetBattlerHoldEffect(battler, FALSE)); BattleScriptExecute(BattleScript_QuickClawActivation); } } - else if (gProtectStructs[gActiveBattler].quickDraw) + else if (gProtectStructs[battler].quickDraw) { - gBattlerAbility = gActiveBattler; - gProtectStructs[gActiveBattler].quickDraw = FALSE; - gLastUsedAbility = gBattleMons[gActiveBattler].ability; + gBattlerAbility = battler; + gProtectStructs[battler].quickDraw = FALSE; + gLastUsedAbility = gBattleMons[battler].ability; PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gLastUsedAbility); - RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + RecordAbilityBattle(battler, gLastUsedAbility); BattleScriptExecute(BattleScript_QuickDrawActivation); } return; @@ -5179,7 +5178,7 @@ static void RunTurnActionsFunctions(void) } else { - if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battlerId + if (gBattleStruct->savedTurnActionNumber != gCurrentTurnActionNumber) // action turn has been done, clear hitmarker bits for another battler { gHitMarker &= ~HITMARKER_NO_ATTACKSTRING; gHitMarker &= ~HITMARKER_UNABLE_TO_USE_MOVE; @@ -5698,20 +5697,20 @@ void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk) // special to set a field's totem boost(s) // inputs: -// var8000: battlerId +// var8000: battler // var8001 - var8007: stat changes void SetTotemBoost(void) { - u8 battlerId = gSpecialVar_0x8000; + u8 battler = gSpecialVar_0x8000; u8 i; for (i = 0; i < (NUM_BATTLE_STATS - 1); i++) { if (*(&gSpecialVar_0x8001 + i)) { - gTotemBoosts[battlerId].stats |= (1 << i); - gTotemBoosts[battlerId].statChanges[i] = *(&gSpecialVar_0x8001 + i); - gTotemBoosts[battlerId].stats |= 0x80; // used as a flag for the "totem flared to life" script + gTotemBoosts[battler].stats |= (1 << i); + gTotemBoosts[battler].statChanges[i] = *(&gSpecialVar_0x8001 + i); + gTotemBoosts[battler].stats |= 0x80; // used as a flag for the "totem flared to life" script } } } diff --git a/src/battle_message.c b/src/battle_message.c index bce1438c08..de3af28d64 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2631,12 +2631,12 @@ static const struct BattleWindowText *const sBattleTextOnWindowsInfo[] = static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0}; -void BufferStringBattle(u16 stringID) +void BufferStringBattle(u16 stringID, u32 battler) { s32 i; const u8 *stringPtr = NULL; - gBattleMsgDataPtr = (struct BattleMsgData *)(&gBattleResources->bufferA[gActiveBattler][4]); + gBattleMsgDataPtr = (struct BattleMsgData *)(&gBattleResources->bufferA[battler][4]); gLastUsedItem = gBattleMsgDataPtr->lastItem; gLastUsedAbility = gBattleMsgDataPtr->lastAbility; gBattleScripting.battler = gBattleMsgDataPtr->scrActive; @@ -2709,9 +2709,9 @@ void BufferStringBattle(u16 stringID) } break; case STRINGID_INTROSENDOUT: // poke first send-out - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]])) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gPlayerParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])) { if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) stringPtr = sText_InGamePartnerSentOutZGoN; @@ -2729,7 +2729,7 @@ void BufferStringBattle(u16 stringID) } else { - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(gActiveBattler)]])) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsValidForBattle(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]])) { if (BATTLE_TWO_VS_ONE_OPPONENT) stringPtr = sText_Trainer1SentOutTwoPkmn; @@ -2756,7 +2756,7 @@ void BufferStringBattle(u16 stringID) } break; case STRINGID_RETURNMON: // sending poke to ball msg - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { if (*(&gBattleStruct->hpScale) == 0) stringPtr = sText_PkmnThatsEnough; @@ -2845,7 +2845,7 @@ void BufferStringBattle(u16 stringID) if (gBattleTextBuff1[0] & B_OUTCOME_LINK_BATTLE_RAN) { gBattleTextBuff1[0] &= ~(B_OUTCOME_LINK_BATTLE_RAN); - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW) gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON); if (gBattleTextBuff1[0] == B_OUTCOME_LOST || gBattleTextBuff1[0] == B_OUTCOME_DREW) @@ -2857,7 +2857,7 @@ void BufferStringBattle(u16 stringID) } else { - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW) gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON); if (gBattleTypeFlags & BATTLE_TYPE_MULTI) @@ -2964,24 +2964,24 @@ static const u8 *TryGetStatusString(u8 *src) return NULL; } -static void GetBattlerNick(u32 battlerId, u8 *dst) +static void GetBattlerNick(u32 battler, u8 *dst) { struct Pokemon *mon, *illusionMon; - if (GET_BATTLER_SIDE(battlerId) == B_SIDE_PLAYER) - mon = &gPlayerParty[gBattlerPartyIndexes[battlerId]]; + if (GET_BATTLER_SIDE(battler) == B_SIDE_PLAYER) + mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; else - mon = &gEnemyParty[gBattlerPartyIndexes[battlerId]]; + mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; - illusionMon = GetIllusionMonPtr(battlerId); + illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) mon = illusionMon; GetMonData(mon, MON_DATA_NICKNAME, dst); StringGet_Nickname(dst); } -#define HANDLE_NICKNAME_STRING_CASE(battlerId) \ - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \ +#define HANDLE_NICKNAME_STRING_CASE(battler) \ + if (GetBattlerSide(battler) != B_SIDE_PLAYER) \ { \ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \ toCpy = sText_FoePkmnPrefix; \ @@ -2994,10 +2994,10 @@ static void GetBattlerNick(u32 battlerId, u8 *dst) toCpy++; \ } \ } \ - GetBattlerNick(battlerId, text); \ + GetBattlerNick(battler, text); \ toCpy = text; -static const u8 *BattleStringGetOpponentNameByTrainerId(u16 trainerId, u8 *text, u8 multiplayerId, u8 battlerId) +static const u8 *BattleStringGetOpponentNameByTrainerId(u16 trainerId, u8 *text, u8 multiplayerId, u8 battler) { const u8 *toCpy; @@ -3017,9 +3017,9 @@ static const u8 *BattleStringGetOpponentNameByTrainerId(u16 trainerId, u8 *text, else if (trainerId == TRAINER_LINK_OPPONENT) { if (gBattleTypeFlags & BATTLE_TYPE_MULTI) - toCpy = gLinkPlayers[GetBattlerMultiplayerId(battlerId)].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(battler)].name; else - toCpy = gLinkPlayers[GetBattlerMultiplayerId(battlerId) & BIT_SIDE].name; + toCpy = gLinkPlayers[GetBattlerMultiplayerId(battler) & BIT_SIDE].name; } else if (trainerId == TRAINER_FRONTIER_BRAIN) { @@ -3049,31 +3049,31 @@ static const u8 *BattleStringGetOpponentNameByTrainerId(u16 trainerId, u8 *text, return toCpy; } -static const u8 *BattleStringGetOpponentName(u8 *text, u8 multiplayerId, u8 battlerId) +static const u8 *BattleStringGetOpponentName(u8 *text, u8 multiplayerId, u8 battler) { const u8 *toCpy; - switch (GetBattlerPosition(battlerId)) + switch (GetBattlerPosition(battler)) { case B_POSITION_OPPONENT_LEFT: - toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_A, text, multiplayerId, battlerId); + toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_A, text, multiplayerId, battler); break; case B_POSITION_OPPONENT_RIGHT: if (gBattleTypeFlags & (BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_MULTI) && !BATTLE_TWO_VS_ONE_OPPONENT) - toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_B, text, multiplayerId, battlerId); + toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_B, text, multiplayerId, battler); else - toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_A, text, multiplayerId, battlerId); + toCpy = BattleStringGetOpponentNameByTrainerId(gTrainerBattleOpponent_A, text, multiplayerId, battler); break; } return toCpy; } -static const u8 *BattleStringGetPlayerName(u8 *text, u8 battlerId) +static const u8 *BattleStringGetPlayerName(u8 *text, u8 battler) { const u8 *toCpy; - switch (GetBattlerPosition(battlerId)) + switch (GetBattlerPosition(battler)) { case B_POSITION_PLAYER_LEFT: if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) @@ -3105,12 +3105,12 @@ static const u8 *BattleStringGetPlayerName(u8 *text, u8 battlerId) return toCpy; } -static const u8 *BattleStringGetTrainerName(u8 *text, u8 multiplayerId, u8 battlerId) +static const u8 *BattleStringGetTrainerName(u8 *text, u8 multiplayerId, u8 battler) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) - return BattleStringGetPlayerName(text, battlerId); + if (GetBattlerSide(battler) == B_SIDE_PLAYER) + return BattleStringGetPlayerName(text, battler); else - return BattleStringGetOpponentName(text, multiplayerId, battlerId); + return BattleStringGetOpponentName(text, multiplayerId, battler); } static const u8 *BattleStringGetOpponentClassByTrainerId(u16 trainerId) @@ -3248,7 +3248,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) GetBattlerNick(gActiveBattler, text); toCpy = text; break; - case B_TXT_ACTIVE_NAME2: // active battlerId name with prefix, no illusion + case B_TXT_ACTIVE_NAME2: // active battler name with prefix, no illusion if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, text); else @@ -3256,13 +3256,13 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) StringGet_Nickname(text); toCpy = text; break; - case B_TXT_EFF_NAME_WITH_PREFIX: // effect battlerId name with prefix + case B_TXT_EFF_NAME_WITH_PREFIX: // effect battler name with prefix HANDLE_NICKNAME_STRING_CASE(gEffectBattler) break; - case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battlerId name with prefix + case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gActiveBattler) break; - case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battlerId name with prefix + case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler) break; case B_TXT_CURRENT_MOVE: // current move name @@ -3336,7 +3336,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]]; break; - case B_TXT_EFF_ABILITY: // effect battlerId ability + case B_TXT_EFF_ABILITY: // effect battler ability toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]]; break; case B_TXT_TRAINER1_CLASS: // trainer class name @@ -3575,7 +3575,7 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) return dstID; } -static void IllusionNickHack(u32 battlerId, u32 partyId, u8 *dst) +static void IllusionNickHack(u32 battler, u32 partyId, u8 *dst) { s32 id, i; // we know it's gEnemyParty @@ -3583,8 +3583,8 @@ static void IllusionNickHack(u32 battlerId, u32 partyId, u8 *dst) if (GetMonAbility(mon) == ABILITY_ILLUSION) { - if (IsBattlerAlive(BATTLE_PARTNER(battlerId))) - partnerMon = &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battlerId)]]; + if (IsBattlerAlive(BATTLE_PARTNER(battler))) + partnerMon = &gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]]; else partnerMon = mon; @@ -3888,17 +3888,17 @@ void BattlePutTextOnWindow(const u8 *text, u8 windowId) } } -void SetPpNumbersPaletteInMoveSelection(void) +void SetPpNumbersPaletteInMoveSelection(u32 battler) { - struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); const u16 *palPtr = gPPTextPalette; u8 var; if (!gBattleStruct->zmove.viewing) - var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], - chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBattler]]); + var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[battler]], + chooseMoveStruct->maxPp[gMoveSelectionCursor[battler]]); else - var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], gBattleMoves[gMoveSelectionCursor[gActiveBattler]].pp); + var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[battler]], gBattleMoves[gMoveSelectionCursor[battler]].pp); gPlttBufferUnfaded[BG_PLTT_ID(5) + 12] = palPtr[(var * 2) + 0]; gPlttBufferUnfaded[BG_PLTT_ID(5) + 11] = palPtr[(var * 2) + 1]; @@ -4005,38 +4005,38 @@ enum NOT_EQUAL, }; -u32 BattlerHPPercentage(u32 battlerId, u32 operation, u32 threshold) +u32 BattlerHPPercentage(u32 battler, u32 operation, u32 threshold) { switch (operation) { case LESS_THAN: - return gBattleMons[battlerId].hp < (gBattleMons[battlerId].maxHP / threshold); + return gBattleMons[battler].hp < (gBattleMons[battler].maxHP / threshold); case EQUAL: - return gBattleMons[battlerId].hp == (gBattleMons[battlerId].maxHP / threshold); + return gBattleMons[battler].hp == (gBattleMons[battler].maxHP / threshold); case GREATER_THAN: - return gBattleMons[battlerId].hp > (gBattleMons[battlerId].maxHP / threshold); + return gBattleMons[battler].hp > (gBattleMons[battler].maxHP / threshold); case LESS_THAN_OR_EQUAL: - return gBattleMons[battlerId].hp <= (gBattleMons[battlerId].maxHP / threshold); + return gBattleMons[battler].hp <= (gBattleMons[battler].maxHP / threshold); case GREATER_THAN_OR_EQUAL: - return gBattleMons[battlerId].hp >= (gBattleMons[battlerId].maxHP / threshold); + return gBattleMons[battler].hp >= (gBattleMons[battler].maxHP / threshold); case NOT_EQUAL: - return gBattleMons[battlerId].hp != (gBattleMons[battlerId].maxHP / threshold); + return gBattleMons[battler].hp != (gBattleMons[battler].maxHP / threshold); default: break; } } -u32 ShouldDoTrainerSlide(u32 battlerId, u32 which) +u32 ShouldDoTrainerSlide(u32 battler, u32 which) { u32 i, firstId, lastId, trainerId, retValue = 1; - if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) || GetBattlerSide(battlerId) != B_SIDE_OPPONENT) + if (!(gBattleTypeFlags & BATTLE_TYPE_TRAINER) || GetBattlerSide(battler) != B_SIDE_OPPONENT) return 0; // Two opponents support. if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) { - if (gBattlerPartyIndexes[battlerId] >= 3) + if (gBattlerPartyIndexes[battler] >= 3) { firstId = 3, lastId = PARTY_SIZE; trainerId = gTrainerBattleOpponent_B; @@ -4060,11 +4060,11 @@ u32 ShouldDoTrainerSlide(u32 battlerId, u32 which) && (((gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && sTrainerSlides[i].isFrontierTrainer) || (!(gBattleTypeFlags & BATTLE_TYPE_FRONTIER) && !sTrainerSlides[i].isFrontierTrainer))) { - gBattleScripting.battler = battlerId; + gBattleScripting.battler = battler; switch (which) { case TRAINER_SLIDE_LAST_SWITCHIN: - if (sTrainerSlides[i].msgLastSwitchIn != NULL && !CanBattlerSwitch(battlerId)) + if (sTrainerSlides[i].msgLastSwitchIn != NULL && !CanBattlerSwitch(battler)) { gBattleStruct->trainerSlideMsg = sTrainerSlides[i].msgLastSwitchIn; return retValue; @@ -4073,7 +4073,7 @@ u32 ShouldDoTrainerSlide(u32 battlerId, u32 which) case TRAINER_SLIDE_LAST_LOW_HP: if (sTrainerSlides[i].msgLastLowHp != NULL && GetEnemyMonCount(firstId, lastId, TRUE) == 1 - && BattlerHPPercentage(battlerId, GREATER_THAN_OR_EQUAL, 4) + && BattlerHPPercentage(battler, GREATER_THAN_OR_EQUAL, 4) && !gBattleStruct->trainerSlideLowHpMsgDone) { gBattleStruct->trainerSlideLowHpMsgDone = TRUE; @@ -4091,7 +4091,7 @@ u32 ShouldDoTrainerSlide(u32 battlerId, u32 which) case TRAINER_SLIDE_LAST_HALF_HP: if (sTrainerSlides[i].msgLastHalfHp != NULL && GetEnemyMonCount(firstId, lastId, TRUE) == GetEnemyMonCount(firstId, lastId, FALSE) - 1 - && BattlerHPPercentage(battlerId, LESS_THAN_OR_EQUAL, 2) && BattlerHPPercentage(battlerId, GREATER_THAN, 4) + && BattlerHPPercentage(battler, LESS_THAN_OR_EQUAL, 2) && BattlerHPPercentage(battler, GREATER_THAN, 4) && !gBattleStruct->trainerSlideHalfHpMsgDone) { gBattleStruct->trainerSlideHalfHpMsgDone = TRUE; @@ -4110,7 +4110,7 @@ u32 ShouldDoTrainerSlide(u32 battlerId, u32 which) case TRAINER_SLIDE_FIRST_SUPER_EFFECTIVE_HIT: if (sTrainerSlides[i].msgFirstSuperEffectiveHit != NULL && gBattleStruct->trainerSlideFirstSuperEffectiveHitMsgState == 1 - && gBattleMons[battlerId].hp) + && gBattleMons[battler].hp) { gBattleStruct->trainerSlideFirstSuperEffectiveHitMsgState = 2; gBattleStruct->trainerSlideMsg = sTrainerSlides[i].msgFirstSuperEffectiveHit; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c823e7b217..4fdeb31867 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -338,7 +338,7 @@ static const u16 sWhiteOutBadgeMoney[9] = { 8, 16, 24, 36, 48, 64, 80, 100, 120 static bool8 IsTwoTurnsMove(u16 move); static void TrySetDestinyBondToHappen(void); -static u8 AttacksThisTurn(u8 battlerId, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. +static u8 AttacksThisTurn(u8 battler, u16 move); // Note: returns 1 if it's a charging turn, otherwise 2. static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr); static bool32 IsMonGettingExpSentOut(void); static void InitLevelUpBanner(void); @@ -1200,12 +1200,12 @@ static const u8 sBattlePalaceNatureToFlavorTextId[NUM_NATURES] = [NATURE_QUIRKY] = B_MSG_EAGER_FOR_MORE, }; -static bool32 NoTargetPresent(u8 battlerId, u32 move) +static bool32 NoTargetPresent(u8 battler, u32 move) { if (!IsBattlerAlive(gBattlerTarget)) gBattlerTarget = GetMoveTarget(move, NO_TARGET_OVERRIDE); - switch (GetBattlerMoveTargetType(battlerId, move)) + switch (GetBattlerMoveTargetType(battler, move)) { case MOVE_TARGET_SELECTED: case MOVE_TARGET_DEPENDS: @@ -2687,23 +2687,23 @@ static void Cmd_printselectionstringfromtable(void) } } -u8 GetBattlerTurnOrderNum(u8 battlerId) +u8 GetBattlerTurnOrderNum(u8 battler) { s32 i; for (i = 0; i < gBattlersCount; i++) { - if (gBattlerByTurnOrder[i] == battlerId) + if (gBattlerByTurnOrder[i] == battler) break; } return i; } -static void CheckSetUnburden(u8 battlerId) +static void CheckSetUnburden(u8 battler) { - if (GetBattlerAbility(battlerId) == ABILITY_UNBURDEN) + if (GetBattlerAbility(battler) == ABILITY_UNBURDEN) { - gBattleResources->flags->flags[battlerId] |= RESOURCE_FLAG_UNBURDEN; - RecordAbilityBattle(battlerId, ABILITY_UNBURDEN); + gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_UNBURDEN; + RecordAbilityBattle(battler, ABILITY_UNBURDEN); } } @@ -2781,7 +2781,7 @@ void SetMoveEffect(bool32 primary, u32 certain) if (gBattleScripting.moveEffect & MOVE_EFFECT_AFFECTS_USER) { - gEffectBattler = gBattlerAttacker; // battlerId that effects get applied on + gEffectBattler = gBattlerAttacker; // battler that effects get applied on gBattleScripting.moveEffect &= ~MOVE_EFFECT_AFFECTS_USER; affectsUser = MOVE_EFFECT_AFFECTS_USER; gBattleScripting.battler = gBattlerTarget; // theoretically the attacker @@ -3874,11 +3874,11 @@ static void Cmd_jumpifstatus(void) { CMD_ARGS(u8 battler, u32 flags, const u8 *jumpInstr); - u8 battlerId = GetBattlerForBattleScript(cmd->battler); + u8 battler = GetBattlerForBattleScript(cmd->battler); u32 flags = cmd->flags; const u8 *jumpInstr = cmd->jumpInstr; - if (gBattleMons[battlerId].status1 & flags && gBattleMons[battlerId].hp != 0) + if (gBattleMons[battler].status1 & flags && gBattleMons[battler].hp != 0) gBattlescriptCurrInstr = jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -3888,11 +3888,11 @@ static void Cmd_jumpifstatus2(void) { CMD_ARGS(u8 battler, u32 flags, const u8 *jumpInstr); - u8 battlerId = GetBattlerForBattleScript(cmd->battler); + u8 battler = GetBattlerForBattleScript(cmd->battler); u32 flags = cmd->flags; const u8 *jumpInstr = cmd->jumpInstr; - if (gBattleMons[battlerId].status2 & flags && gBattleMons[battlerId].hp != 0) + if (gBattleMons[battler].status2 & flags && gBattleMons[battler].hp != 0) gBattlescriptCurrInstr = jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -3902,30 +3902,30 @@ static void Cmd_jumpifability(void) { CMD_ARGS(u8 battler, u16 ability, const u8 *jumpInstr); - u32 battlerId; + u32 battler; bool32 hasAbility = FALSE; u32 ability = cmd->ability; switch (cmd->battler) { default: - battlerId = GetBattlerForBattleScript(cmd->battler); - if (GetBattlerAbility(battlerId) == ability) + battler = GetBattlerForBattleScript(cmd->battler); + if (GetBattlerAbility(battler) == ability) hasAbility = TRUE; break; case BS_ATTACKER_SIDE: - battlerId = IsAbilityOnSide(gBattlerAttacker, ability); - if (battlerId) + battler = IsAbilityOnSide(gBattlerAttacker, ability); + if (battler) { - battlerId--; + battler--; hasAbility = TRUE; } break; case BS_TARGET_SIDE: - battlerId = IsAbilityOnOpposingSide(gBattlerAttacker, ability); - if (battlerId) + battler = IsAbilityOnOpposingSide(gBattlerAttacker, ability); + if (battler) { - battlerId--; + battler--; hasAbility = TRUE; } break; @@ -3935,8 +3935,8 @@ static void Cmd_jumpifability(void) { gLastUsedAbility = ability; gBattlescriptCurrInstr = cmd->jumpInstr; - RecordAbilityBattle(battlerId, gLastUsedAbility); - gBattlerAbility = battlerId; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattlerAbility = battler; } else { @@ -3967,12 +3967,12 @@ static void Cmd_jumpifstat(void) CMD_ARGS(u8 battler, u8 comparison, u8 stat, u8 value, const u8 *jumpInstr); bool32 ret = 0; - u8 battlerId = GetBattlerForBattleScript(cmd->battler); + u8 battler = GetBattlerForBattleScript(cmd->battler); u8 stat = cmd->stat; u8 value = cmd->value; u8 comparison = cmd->comparison; - ret = CompareStat(battlerId, stat, value, comparison); + ret = CompareStat(battler, stat, value, comparison); if (ret) gBattlescriptCurrInstr = cmd->jumpInstr; @@ -4005,14 +4005,14 @@ static void Cmd_jumpbasedontype(void) { CMD_ARGS(u8 battler, u8 type, u8 jumpIfType, const u8 *jumpInstr); - u8 battlerId = GetBattlerForBattleScript(cmd->battler); + u8 battler = GetBattlerForBattleScript(cmd->battler); u8 type = cmd->type; const u8 *jumpInstr = cmd->jumpInstr; // jumpiftype if (cmd->jumpIfType) { - if (IS_BATTLER_OF_TYPE(battlerId, type)) + if (IS_BATTLER_OF_TYPE(battler, type)) gBattlescriptCurrInstr = jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -4020,7 +4020,7 @@ static void Cmd_jumpbasedontype(void) // jumpifnottype else { - if (!IS_BATTLER_OF_TYPE(battlerId, type)) + if (!IS_BATTLER_OF_TYPE(battler, type)) gBattlescriptCurrInstr = jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; @@ -4213,7 +4213,7 @@ static void Cmd_getexp(void) i = STRINGID_EMPTYSTRING4; } - // get exp getter battlerId + // get exp getter battler if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && !(gAbsentBattlerFlags & gBitTable[2])) @@ -4269,7 +4269,7 @@ static void Cmd_getexp(void) u32 expBattler = gBattleStruct->expGetterBattlerId; if (gBattleResources->bufferB[expBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleResources->bufferB[expBattler][1] == RET_VALUE_LEVELED_UP) { - u16 temp, battlerId = 0xFF; + u16 temp, battler = 0xFF; if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[expBattler] == gBattleStruct->expGetterMonId) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[expBattler]], expBattler); @@ -4284,15 +4284,15 @@ static void Cmd_getexp(void) // update battle mon structure after level up if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId && gBattleMons[0].hp) - battlerId = 0; + battler = 0; else if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - battlerId = 2; + battler = 2; - if (battlerId != 0xFF) + if (battler != 0xFF) { - CopyMonLevelAndBaseStatsToBattleMon(battlerId, &gPlayerParty[gBattleStruct->expGetterMonId]); - if (gStatuses3[battlerId] & STATUS3_POWER_TRICK) - SWAP(gBattleMons[battlerId].attack, gBattleMons[battlerId].defense, temp); + CopyMonLevelAndBaseStatsToBattleMon(battler, &gPlayerParty[gBattleStruct->expGetterMonId]); + if (gStatuses3[battler] & STATUS3_POWER_TRICK) + SWAP(gBattleMons[battler].attack, gBattleMons[battler].defense, temp); } gBattleScripting.getexpState = 5; @@ -6236,13 +6236,13 @@ static void Cmd_switchinanim(void) BattleArena_InitPoints(); } -bool32 CanBattlerSwitch(u32 battlerId) +bool32 CanBattlerSwitch(u32 battler) { s32 i, lastMonId, battlerIn1, battlerIn2; bool32 ret = FALSE; struct Pokemon *party; - if (BATTLE_TWO_VS_ONE_OPPONENT && GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (BATTLE_TWO_VS_ONE_OPPONENT && GetBattlerSide(battler) == B_SIDE_OPPONENT) { battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); battlerIn2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); @@ -6261,10 +6261,10 @@ bool32 CanBattlerSwitch(u32 battlerId) } else if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) { - party = GetBattlerParty(battlerId); + party = GetBattlerParty(battler); lastMonId = 0; - if (battlerId & 2) + if (battler & 2) lastMonId = MULTI_PARTY_SIZE; for (i = lastMonId; i < lastMonId + MULTI_PARTY_SIZE; i++) @@ -6272,7 +6272,7 @@ bool32 CanBattlerSwitch(u32 battlerId) if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[i], MON_DATA_IS_EGG) && GetMonData(&party[i], MON_DATA_HP) != 0 - && gBattlerPartyIndexes[battlerId] != i) + && gBattlerPartyIndexes[battler] != i) break; } @@ -6282,19 +6282,19 @@ bool32 CanBattlerSwitch(u32 battlerId) { if (gBattleTypeFlags & BATTLE_TYPE_TOWER_LINK_MULTI) { - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { party = gPlayerParty; lastMonId = 0; - if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(battlerId)) == TRUE) + if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(battler)) == TRUE) lastMonId = MULTI_PARTY_SIZE; } else { party = gEnemyParty; - if (battlerId == 1) + if (battler == 1) lastMonId = 0; else lastMonId = MULTI_PARTY_SIZE; @@ -6302,10 +6302,10 @@ bool32 CanBattlerSwitch(u32 battlerId) } else { - party = GetBattlerParty(battlerId); + party = GetBattlerParty(battler); lastMonId = 0; - if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(battlerId)) == TRUE) + if (GetLinkTrainerFlankId(GetBattlerMultiplayerId(battler)) == TRUE) lastMonId = MULTI_PARTY_SIZE; } @@ -6314,18 +6314,18 @@ bool32 CanBattlerSwitch(u32 battlerId) if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[i], MON_DATA_IS_EGG) && GetMonData(&party[i], MON_DATA_HP) != 0 - && gBattlerPartyIndexes[battlerId] != i) + && gBattlerPartyIndexes[battler] != i) break; } ret = (i != lastMonId + MULTI_PARTY_SIZE); } - else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + else if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && GetBattlerSide(battler) == B_SIDE_OPPONENT) { party = gEnemyParty; lastMonId = 0; - if (battlerId == B_POSITION_OPPONENT_RIGHT) + if (battler == B_POSITION_OPPONENT_RIGHT) lastMonId = PARTY_SIZE / 2; for (i = lastMonId; i < lastMonId + (PARTY_SIZE / 2); i++) @@ -6333,7 +6333,7 @@ bool32 CanBattlerSwitch(u32 battlerId) if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE && !GetMonData(&party[i], MON_DATA_IS_EGG) && GetMonData(&party[i], MON_DATA_HP) != 0 - && gBattlerPartyIndexes[battlerId] != i) + && gBattlerPartyIndexes[battler] != i) break; } @@ -6341,7 +6341,7 @@ bool32 CanBattlerSwitch(u32 battlerId) } else { - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { battlerIn1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -6761,11 +6761,11 @@ static void Cmd_switchhandleorder(void) gBattlescriptCurrInstr = cmd->nextInstr; } -static void SetDmgHazardsBattlescript(u8 battlerId, u8 multistringId) +static void SetDmgHazardsBattlescript(u8 battler, u8 multistringId) { - gBattleMons[battlerId].status2 &= ~STATUS2_DESTINY_BOND; + gBattleMons[battler].status2 &= ~STATUS2_DESTINY_BOND; gHitMarker &= ~HITMARKER_DESTINYBOND; - gBattleScripting.battler = battlerId; + gBattleScripting.battler = battler; gBattleCommunication[MULTISTRING_CHOOSER] = multistringId; BattleScriptPushCursor(); @@ -6777,20 +6777,20 @@ static void SetDmgHazardsBattlescript(u8 battlerId, u8 multistringId) gBattlescriptCurrInstr = BattleScript_DmgHazardsOnFaintedBattler; } -bool32 DoSwitchInAbilitiesItems(u32 battlerId) +bool32 DoSwitchInAbilitiesItems(u32 battler) { - return (TryPrimalReversion(battlerId) - || AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, battlerId, 0, 0, 0) - || (gBattleWeather & B_WEATHER_ANY && WEATHER_HAS_EFFECT && AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battlerId, 0, 0, 0)) - || (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY && AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battlerId, 0, 0, 0)) - || ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, battlerId, FALSE) + return (TryPrimalReversion(battler) + || AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, battler, 0, 0, 0) + || (gBattleWeather & B_WEATHER_ANY && WEATHER_HAS_EFFECT && AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0)) + || (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY && AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0)) + || ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, battler, FALSE) || AbilityBattleEffects(ABILITYEFFECT_TRACE2, 0, 0, 0, 0)); } -bool32 ShouldPostponeSwitchInAbilities(u32 battlerId) +bool32 ShouldPostponeSwitchInAbilities(u32 battler) { - bool32 aliveOpposing1 = IsBattlerAlive(BATTLE_OPPOSITE(battlerId)); - bool32 aliveOpposing2 = IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(battlerId))); + bool32 aliveOpposing1 = IsBattlerAlive(BATTLE_OPPOSITE(battler)); + bool32 aliveOpposing2 = IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(battler))); // No pokemon on opposing side - postpone. if (!aliveOpposing1 && !aliveOpposing2) return TRUE; @@ -6798,9 +6798,9 @@ bool32 ShouldPostponeSwitchInAbilities(u32 battlerId) // Checks for double battle, so abilities like Intimidate wait until all battlers are switched-in before activating. if (IsDoubleBattle()) { - if (aliveOpposing1 && !aliveOpposing2 && !HasNoMonsToSwitch(BATTLE_PARTNER(BATTLE_OPPOSITE(battlerId)), PARTY_SIZE, PARTY_SIZE)) + if (aliveOpposing1 && !aliveOpposing2 && !HasNoMonsToSwitch(BATTLE_PARTNER(BATTLE_OPPOSITE(battler)), PARTY_SIZE, PARTY_SIZE)) return TRUE; - if (!aliveOpposing1 && aliveOpposing2 && !HasNoMonsToSwitch(BATTLE_OPPOSITE(battlerId), PARTY_SIZE, PARTY_SIZE)) + if (!aliveOpposing1 && aliveOpposing2 && !HasNoMonsToSwitch(BATTLE_OPPOSITE(battler), PARTY_SIZE, PARTY_SIZE)) return TRUE; } @@ -7584,19 +7584,19 @@ static void Cmd_setgravity(void) } } -static bool32 TryCheekPouch(u32 battlerId, u32 itemId) +static bool32 TryCheekPouch(u32 battler, u32 itemId) { if (ItemId_GetPocket(itemId) == POCKET_BERRIES - && GetBattlerAbility(battlerId) == ABILITY_CHEEK_POUCH - && !(gStatuses3[battlerId] & STATUS3_HEAL_BLOCK) - && gBattleStruct->ateBerry[GetBattlerSide(battlerId)] & gBitTable[gBattlerPartyIndexes[battlerId]] - && !BATTLER_MAX_HP(battlerId)) + && GetBattlerAbility(battler) == ABILITY_CHEEK_POUCH + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) + && gBattleStruct->ateBerry[GetBattlerSide(battler)] & gBitTable[gBattlerPartyIndexes[battler]] + && !BATTLER_MAX_HP(battler)) { - gBattleMoveDamage = gBattleMons[battlerId].maxHP / 3; + gBattleMoveDamage = gBattleMons[battler].maxHP / 3; if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; - gBattlerAbility = battlerId; + gBattlerAbility = battler; BattleScriptPush(gBattlescriptCurrInstr + 2); gBattlescriptCurrInstr = BattleScript_CheekPouchActivates; return TRUE; @@ -8183,16 +8183,16 @@ bool32 CanParalyzeType(u8 battlerAttacker, u8 battlerTarget) return !(B_PARALYZE_ELECTRIC >= GEN_6 && IS_BATTLER_OF_TYPE(battlerTarget, TYPE_ELECTRIC)); } -bool32 CanUseLastResort(u8 battlerId) +bool32 CanUseLastResort(u8 battler) { u32 i; u32 knownMovesCount = 0, usedMovesCount = 0; for (i = 0; i < 4; i++) { - if (gBattleMons[battlerId].moves[i] != MOVE_NONE) + if (gBattleMons[battler].moves[i] != MOVE_NONE) knownMovesCount++; - if (i != gCurrMovePos && gDisableStructs[battlerId].usedMoves & gBitTable[i]) // Increment used move count for all moves except current Last Resort. + if (i != gCurrMovePos && gDisableStructs[battler].usedMoves & gBitTable[i]) // Increment used move count for all moves except current Last Resort. usedMovesCount++; } @@ -8304,13 +8304,13 @@ u32 IsAbilityStatusProtected(u32 battler) || IsShieldsDownProtected(battler); } -u32 GetHighestStatId(u32 battlerId) +u32 GetHighestStatId(u32 battler) { - u32 i, highestId = STAT_ATK, highestStat = gBattleMons[battlerId].attack; + u32 i, highestId = STAT_ATK, highestStat = gBattleMons[battler].attack; for (i = STAT_DEF; i < NUM_STATS; i++) { - u16 *statVal = &gBattleMons[battlerId].attack + (i - 1); + u16 *statVal = &gBattleMons[battler].attack + (i - 1); if (*statVal > highestStat) { highestStat = *statVal; @@ -8320,17 +8320,17 @@ u32 GetHighestStatId(u32 battlerId) return highestId; } -static bool32 IsRototillerAffected(u32 battlerId) +static bool32 IsRototillerAffected(u32 battler) { - if (!IsBattlerAlive(battlerId)) + if (!IsBattlerAlive(battler)) return FALSE; - if (!IsBattlerGrounded(battlerId)) + if (!IsBattlerGrounded(battler)) return FALSE; // Only grounded battlers affected - if (!IS_BATTLER_OF_TYPE(battlerId, TYPE_GRASS)) + if (!IS_BATTLER_OF_TYPE(battler, TYPE_GRASS)) return FALSE; // Only grass types affected - if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) + if (gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) return FALSE; // Rototiller doesn't affected semi-invulnerable battlers - if (BlocksPrankster(MOVE_ROTOTILLER, gBattlerAttacker, battlerId, FALSE)) + if (BlocksPrankster(MOVE_ROTOTILLER, gBattlerAttacker, battler, FALSE)) return FALSE; return TRUE; } @@ -8387,11 +8387,11 @@ static bool32 IsAbilityAbsorbAffected(void) return FALSE; } -static bool32 IsTeatimeAffected(u32 battlerId) +static bool32 IsTeatimeAffected(u32 battler) { - if (ItemId_GetPocket(gBattleMons[battlerId].item) != POCKET_BERRIES) + if (ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES) return FALSE; // Only berries - if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) + if (gStatuses3[battler] & STATUS3_SEMI_INVULNERABLE) return FALSE; // Teatime doesn't affected semi-invulnerable battlers return TRUE; } @@ -8455,35 +8455,35 @@ static bool32 CourtChangeSwapSideStatuses(void) SWAP(sideTimerPlayer->stickyWebBattlerSide, sideTimerOpp->stickyWebBattlerSide, temp); } -static void HandleScriptMegaPrimal(u32 caseId, u32 battlerId, bool32 isMega) +static void HandleScriptMegaPrimal(u32 caseId, u32 battler, bool32 isMega) { - struct Pokemon *party = GetBattlerParty(battlerId); - struct Pokemon *mon = &party[gBattlerPartyIndexes[battlerId]]; - u32 position = GetBattlerPosition(battlerId); - u32 side = GET_BATTLER_SIDE(battlerId); + struct Pokemon *party = GetBattlerParty(battler); + struct Pokemon *mon = &party[gBattlerPartyIndexes[battler]]; + u32 position = GetBattlerPosition(battler); + u32 side = GET_BATTLER_SIDE(battler); // Change species. if (caseId == 0) { if (isMega) { - if (!TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM)) - TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE); + if (!TryBattleFormChange(battler, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM)) + TryBattleFormChange(battler, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE); } else - TryBattleFormChange(battlerId, FORM_CHANGE_BATTLE_PRIMAL_REVERSION); + TryBattleFormChange(battler, FORM_CHANGE_BATTLE_PRIMAL_REVERSION); - PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battlerId].species); + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[battler].species); - BtlController_EmitSetMonData(battlerId, BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battlerId]], sizeof(gBattleMons[battlerId].species), &gBattleMons[battlerId].species); - MarkBattlerForControllerExec(battlerId); + BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_SPECIES_BATTLE, gBitTable[gBattlerPartyIndexes[battler]], sizeof(gBattleMons[battler].species), &gBattleMons[battler].species); + MarkBattlerForControllerExec(battler); } // Update healthbox and elevation and play cry. else { - UpdateHealthboxAttribute(gHealthboxSpriteIds[battlerId], mon, HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[battler], mon, HEALTHBOX_ALL); if (side == B_SIDE_OPPONENT) - SetBattlerShadowSpriteCallback(battlerId, gBattleMons[battlerId].species); + SetBattlerShadowSpriteCallback(battler, gBattleMons[battler].species); if (isMega) gBattleStruct->mega.alreadyEvolved[position] = TRUE; } @@ -10331,7 +10331,7 @@ static void Cmd_various(void) if (cmd->fromBattler) gLastUsedItem = gBattleMons[battler].item; - gBattleScripting.battler = gEffectBattler = gBattlerTarget = battler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID + gBattleScripting.battler = gEffectBattler = gBattlerTarget = battler; // Cover all berry effect battler cases. e.g. ChangeStatBuffs uses target ID if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, battler, FALSE)) return; gBattlescriptCurrInstr = cmd->nextInstr; @@ -11274,13 +11274,13 @@ static void Cmd_setmiracleeye(void) } } -bool8 UproarWakeUpCheck(u8 battlerId) +bool8 UproarWakeUpCheck(u8 battler) { s32 i; for (i = 0; i < gBattlersCount; i++) { - if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || GetBattlerAbility(battlerId) == ABILITY_SOUNDPROOF) + if (!(gBattleMons[i].status2 & STATUS2_UPROAR) || GetBattlerAbility(battler) == ABILITY_SOUNDPROOF) continue; gBattleScripting.battler = i; @@ -12940,11 +12940,11 @@ static bool8 IsTwoTurnsMove(u16 move) } // unused -static u8 AttacksThisTurn(u8 battlerId, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 +static u8 AttacksThisTurn(u8 battler, u16 move) // Note: returns 1 if it's a charging turn, otherwise 2 { // first argument is unused if (gBattleMoves[move].effect == EFFECT_SOLAR_BEAM - && IsBattlerWeatherAffected(battlerId, B_WEATHER_SUN)) + && IsBattlerWeatherAffected(battler, B_WEATHER_SUN)) return 2; if (gBattleMoves[move].effect == EFFECT_SKULL_BASH @@ -14357,13 +14357,13 @@ static void Cmd_tryimprison(void) } else { - u8 battlerId, sideAttacker; + u8 battler, sideAttacker; sideAttacker = GetBattlerSide(gBattlerAttacker); PressurePPLoseOnUsingImprison(gBattlerAttacker); - for (battlerId = 0; battlerId < gBattlersCount; battlerId++) + for (battler = 0; battler < gBattlersCount; battler++) { - if (sideAttacker != GetBattlerSide(battlerId)) + if (sideAttacker != GetBattlerSide(battler)) { s32 attackerMoveId; for (attackerMoveId = 0; attackerMoveId < MAX_MON_MOVES; attackerMoveId++) @@ -14371,7 +14371,7 @@ static void Cmd_tryimprison(void) s32 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battlerId].moves[i] + if (gBattleMons[gBattlerAttacker].moves[attackerMoveId] == gBattleMons[battler].moves[i] && gBattleMons[gBattlerAttacker].moves[attackerMoveId] != MOVE_NONE) break; } @@ -14386,7 +14386,7 @@ static void Cmd_tryimprison(void) } } } - if (battlerId == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes. + if (battler == gBattlersCount) // In Generation 3 games, Imprison fails if the user doesn't share any moves with any of the foes. gBattlescriptCurrInstr = cmd->failInstr; } } @@ -14873,9 +14873,9 @@ static void Cmd_tryrecycleitem(void) } } -bool32 CanCamouflage(u8 battlerId) +bool32 CanCamouflage(u8 battler) { - if (IS_BATTLER_OF_TYPE(battlerId, sTerrainToType[gBattleTerrain])) + if (IS_BATTLER_OF_TYPE(battler, sTerrainToType[gBattleTerrain])) return FALSE; return TRUE; } @@ -15879,7 +15879,7 @@ static const u16 sParentalBondBannedEffects[] = EFFECT_UPROAR, }; -bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) +bool8 IsMoveAffectedByParentalBond(u16 move, u8 battler) { if (move != MOVE_NONE && move != MOVE_STRUGGLE && gBattleMoves[move].split != SPLIT_STATUS @@ -15894,7 +15894,7 @@ bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - switch (GetBattlerMoveTargetType(battlerId, move)) + switch (GetBattlerMoveTargetType(battler, move)) { // Both foes are alive, spread move strikes once case MOVE_TARGET_BOTH: @@ -16028,19 +16028,19 @@ static void TryUpdateRoundTurnOrder(void) } } -u8 GetFirstFaintedPartyIndex(u8 battlerId) +u8 GetFirstFaintedPartyIndex(u8 battler) { u32 i; u32 start = 0; u32 end = PARTY_SIZE; - struct Pokemon *party = GetBattlerParty(battlerId); + struct Pokemon *party = GetBattlerParty(battler); // Check whether partner is separate trainer. - if ((GetBattlerSide(battlerId) == B_SIDE_PLAYER && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) - || (GetBattlerSide(battlerId) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)) + if ((GetBattlerSide(battler) == B_SIDE_PLAYER && gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) + || (GetBattlerSide(battler) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS)) { - if (GetBattlerPosition(battlerId) == B_POSITION_OPPONENT_LEFT - || GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT) + if (GetBattlerPosition(battler) == B_POSITION_OPPONENT_LEFT + || GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT) { end = PARTY_SIZE / 2; } @@ -16070,7 +16070,7 @@ void BS_ItemRestoreHP(void) { NATIVE_ARGS(); u16 healAmount; - u32 battlerId = MAX_BATTLERS_COUNT; + u32 battler = MAX_BATTLERS_COUNT; u32 healParam = GetItemEffect(gLastUsedItem)[6]; u32 side = GetBattlerSide(gBattlerAttacker); struct Pokemon *party = GetSideParty(side); @@ -16084,10 +16084,10 @@ void BS_ItemRestoreHP(void) // Check if the recipient is an active battler. if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) - battlerId = gBattlerAttacker; + battler = gBattlerAttacker; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) - battlerId = BATTLE_PARTNER(gBattlerAttacker); + battler = BATTLE_PARTNER(gBattlerAttacker); // Get amount to heal. switch (healParam) @@ -16109,7 +16109,7 @@ void BS_ItemRestoreHP(void) healAmount = maxHP - hp; // Heal is applied as move damage if battler is active. - if (battlerId != MAX_BATTLERS_COUNT && hp != 0) + if (battler != MAX_BATTLERS_COUNT && hp != 0) { gBattleMoveDamage = -healAmount; } @@ -16119,10 +16119,10 @@ void BS_ItemRestoreHP(void) SetMonData(&party[gBattleStruct->itemPartyIndex[gBattlerAttacker]], MON_DATA_HP, &hp); // Revived battlers on the field need to be brought back. - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && battlerId != MAX_BATTLERS_COUNT) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && battler != MAX_BATTLERS_COUNT) { - gAbsentBattlerFlags &= ~gBitTable[battlerId]; - gBattleScripting.battler = battlerId; + gAbsentBattlerFlags &= ~gBitTable[battler]; + gBattleScripting.battler = battler; gBattleCommunication[MULTIUSE_STATE] = TRUE; } } @@ -16173,7 +16173,7 @@ void BS_ItemRestorePP(void) NATIVE_ARGS(); const u8 *effect = GetItemEffect(gLastUsedItem); u32 i, pp, maxPP, moveId, loopEnd; - u32 battlerId = MAX_BATTLERS_COUNT; + u32 battler = MAX_BATTLERS_COUNT; struct Pokemon *mon = (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) ? &gPlayerParty[gBattleStruct->itemPartyIndex[gBattlerAttacker]] : &gEnemyParty[gBattleStruct->itemPartyIndex[gBattlerAttacker]]; // Check whether to apply to all moves. @@ -16190,10 +16190,10 @@ void BS_ItemRestorePP(void) // Check if the recipient is an active battler. if (gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[gBattlerAttacker]) - battlerId = gBattlerAttacker; + battler = gBattlerAttacker; else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)]) - battlerId = BATTLE_PARTNER(gBattlerAttacker); + battler = BATTLE_PARTNER(gBattlerAttacker); // Heal PP! for (; i < loopEnd; i++) @@ -16209,11 +16209,11 @@ void BS_ItemRestorePP(void) SetMonData(mon, MON_DATA_PP1 + i, &pp); // Update battler PP if needed. - if (battlerId != MAX_BATTLERS_COUNT - && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[battlerId] - && MOVE_IS_PERMANENT(battlerId, i)) + if (battler != MAX_BATTLERS_COUNT + && gBattleStruct->itemPartyIndex[gBattlerAttacker] == gBattlerPartyIndexes[battler] + && MOVE_IS_PERMANENT(battler, i)) { - gBattleMons[battlerId].pp[i] = pp; + gBattleMons[battler].pp[i] = pp; } } } diff --git a/src/battle_util.c b/src/battle_util.c index da3c18d946..a9b04e715c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -646,22 +646,23 @@ bool8 TryRunFromBattle(u8 battler) void HandleAction_Run(void) { - gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; + s32 i; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) { gCurrentTurnActionNumber = gBattlersCount; - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (i = 0; i < gBattlersCount; i++) { - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(i) == B_SIDE_PLAYER) { - if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) + if (gChosenActionByBattler[i] == B_ACTION_RUN) gBattleOutcome |= B_OUTCOME_LOST; } else { - if (gChosenActionByBattler[gActiveBattler] == B_ACTION_RUN) + if (gChosenActionByBattler[i] == B_ACTION_RUN) gBattleOutcome |= B_OUTCOME_WON; } } @@ -1604,86 +1605,86 @@ static bool32 IsBelchPreventingMove(u32 battler, u32 move) return !(gBattleStruct->ateBerry[battler & BIT_SIDE] & gBitTable[gBattlerPartyIndexes[battler]]); } -u8 TrySetCantSelectMoveBattleScript(void) +u32 TrySetCantSelectMoveBattleScript(u32 battler) { u32 limitations = 0; - u8 moveId = gBattleResources->bufferB[gActiveBattler][2] & ~RET_MEGA_EVOLUTION; - u32 move = gBattleMons[gActiveBattler].moves[moveId]; - u32 holdEffect = GetBattlerHoldEffect(gActiveBattler, TRUE); - u16 *choicedMove = &gBattleStruct->choicedMove[gActiveBattler]; + u8 moveId = gBattleResources->bufferB[battler][2] & ~RET_MEGA_EVOLUTION; + u32 move = gBattleMons[battler].moves[moveId]; + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + u16 *choicedMove = &gBattleStruct->choicedMove[battler]; - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gActiveBattler].disabledMove == move && move != MOVE_NONE) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[battler].disabledMove == move && move != MOVE_NONE) { - gBattleScripting.battler = gActiveBattler; + gBattleScripting.battler = battler; gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMoveInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingDisabledMoveInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMove; + gSelectionBattleScripts[battler] = BattleScript_SelectingDisabledMove; limitations++; } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && move == gLastMoves[gActiveBattler] && move != MOVE_STRUGGLE && (gBattleMons[gActiveBattler].status2 & STATUS2_TORMENT)) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && move == gLastMoves[battler] && move != MOVE_STRUGGLE && (gBattleMons[battler].status2 & STATUS2_TORMENT)) { - CancelMultiTurnMoves(gActiveBattler); + CancelMultiTurnMoves(battler); if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMoveInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingTormentedMoveInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMove; + gSelectionBattleScripts[battler] = BattleScript_SelectingTormentedMove; limitations++; } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gActiveBattler].tauntTimer != 0 && IS_MOVE_STATUS(move)) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[battler].tauntTimer != 0 && IS_MOVE_STATUS(move)) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTauntInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveTauntInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTaunt; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveTaunt; limitations++; } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[gActiveBattler].throatChopTimer != 0 && gBattleMoves[move].soundMove) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && gDisableStructs[battler].throatChopTimer != 0 && gBattleMoves[move].soundMove) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveThroatChopInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveThroatChopInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveThroatChop; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveThroatChop; limitations++; } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && GetImprisonedMovesCount(gActiveBattler, move)) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && GetImprisonedMovesCount(battler, move)) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisonedMoveInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingImprisonedMoveInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisonedMove; + gSelectionBattleScripts[battler] = BattleScript_SelectingImprisonedMove; limitations++; } } @@ -1693,118 +1694,118 @@ u8 TrySetCantSelectMoveBattleScript(void) gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveGravityInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveGravityInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveGravity; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveGravity; limitations++; } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && IsHealBlockPreventingMove(gActiveBattler, move)) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && IsHealBlockPreventingMove(battler, move)) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveHealBlockInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveHealBlockInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveHealBlock; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveHealBlock; limitations++; } } - if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && IsBelchPreventingMove(gActiveBattler, move)) + if (gBattleStruct->zmove.toBeUsed[gBattlerAttacker] == MOVE_NONE && IsBelchPreventingMove(battler, move)) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedBelchInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedBelchInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedBelch; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedBelch; limitations++; } } - if (move == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[gActiveBattler].item) != POCKET_BERRIES) + if (move == MOVE_STUFF_CHEEKS && ItemId_GetPocket(gBattleMons[battler].item) != POCKET_BERRIES) { gCurrentMove = move; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedStuffCheeksInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedStuffCheeksInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedStuffCheeks; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedStuffCheeks; limitations++; } } - gPotentialItemEffectBattler = gActiveBattler; + gPotentialItemEffectBattler = battler; if (HOLD_EFFECT_CHOICE(holdEffect) && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move) { gCurrentMove = *choicedMove; - gLastUsedItem = gBattleMons[gActiveBattler].item; + gLastUsedItem = gBattleMons[battler].item; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveChoiceItemInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveChoiceItemInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveChoiceItem; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveChoiceItem; limitations++; } } else if (holdEffect == HOLD_EFFECT_ASSAULT_VEST && IS_MOVE_STATUS(move) && move != MOVE_ME_FIRST) { gCurrentMove = move; - gLastUsedItem = gBattleMons[gActiveBattler].item; + gLastUsedItem = gBattleMons[battler].item; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveAssaultVestInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveAssaultVestInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveAssaultVest; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveAssaultVest; limitations++; } } - if ((GetBattlerAbility(gActiveBattler) == ABILITY_GORILLA_TACTICS) && *choicedMove != MOVE_NONE + if ((GetBattlerAbility(battler) == ABILITY_GORILLA_TACTICS) && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move) { gCurrentMove = *choicedMove; - gLastUsedItem = gBattleMons[gActiveBattler].item; + gLastUsedItem = gBattleMons[battler].item; if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveGorillaTacticsInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveGorillaTacticsInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveGorillaTactics; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedMoveGorillaTactics; limitations++; } } - if (gBattleMons[gActiveBattler].pp[moveId] == 0) + if (gBattleMons[battler].pp[moveId] == 0) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingMoveWithNoPP; + gSelectionBattleScripts[battler] = BattleScript_SelectingMoveWithNoPP; limitations++; } } @@ -1813,12 +1814,12 @@ u8 TrySetCantSelectMoveBattleScript(void) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedPlaceholderInPalace; - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedPlaceholderInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; } else { - gSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedPlaceholder; + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedPlaceholder; limitations++; } } @@ -1889,18 +1890,18 @@ u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u16 check) } #define ALL_MOVES_MASK ((1 << MAX_MON_MOVES) - 1) -bool8 AreAllMovesUnusable(void) +bool32 AreAllMovesUnusable(u32 battler) { - u8 unusable = CheckMoveLimitations(gActiveBattler, 0, MOVE_LIMITATIONS_ALL); + u8 unusable = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); if (unusable == ALL_MOVES_MASK) // All moves are unusable. { - gProtectStructs[gActiveBattler].noValidMoves = TRUE; - gSelectionBattleScripts[gActiveBattler] = BattleScript_NoMovesLeft; + gProtectStructs[battler].noValidMoves = TRUE; + gSelectionBattleScripts[battler] = BattleScript_NoMovesLeft; } else { - gProtectStructs[gActiveBattler].noValidMoves = FALSE; + gProtectStructs[battler].noValidMoves = FALSE; } return (unusable == ALL_MOVES_MASK); @@ -2055,7 +2056,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].reflectBattlerId; + gBattlerAttacker = gSideTimers[side].reflectBattlerId; if (gSideStatuses[side] & SIDE_STATUS_REFLECT) { if (--gSideTimers[side].reflectTimer == 0) @@ -2080,7 +2081,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].lightscreenBattlerId; + gBattlerAttacker = gSideTimers[side].lightscreenBattlerId; if (gSideStatuses[side] & SIDE_STATUS_LIGHTSCREEN) { if (--gSideTimers[side].lightscreenTimer == 0) @@ -2106,7 +2107,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].auroraVeilBattlerId; + gBattlerAttacker = gSideTimers[side].auroraVeilBattlerId; if (gSideStatuses[side] & SIDE_STATUS_AURORA_VEIL) { if (--gSideTimers[side].auroraVeilTimer == 0) @@ -2132,7 +2133,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].mistBattlerId; + gBattlerAttacker = gSideTimers[side].mistBattlerId; if (gSideTimers[side].mistTimer != 0 && --gSideTimers[side].mistTimer == 0) { gSideStatuses[side] &= ~SIDE_STATUS_MIST; @@ -2155,7 +2156,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].safeguardBattlerId; + gBattlerAttacker = gSideTimers[side].safeguardBattlerId; if (gSideStatuses[side] & SIDE_STATUS_SAFEGUARD) { if (--gSideTimers[side].safeguardTimer == 0) @@ -2179,7 +2180,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].luckyChantBattlerId; + gBattlerAttacker = gSideTimers[side].luckyChantBattlerId; if (gSideStatuses[side] & SIDE_STATUS_LUCKY_CHANT) { if (--gSideTimers[side].luckyChantTimer == 0) @@ -2203,7 +2204,7 @@ u8 DoFieldEndTurnEffects(void) while (gBattleStruct->turnSideTracker < 2) { side = gBattleStruct->turnSideTracker; - gActiveBattler = gBattlerAttacker = gSideTimers[side].tailwindBattlerId; + gBattlerAttacker = gSideTimers[side].tailwindBattlerId; if (gSideStatuses[side] & SIDE_STATUS_TAILWIND) { if (--gSideTimers[side].tailwindTimer == 0) @@ -2226,12 +2227,12 @@ u8 DoFieldEndTurnEffects(void) case ENDTURN_WISH: while (gBattleStruct->turnSideTracker < gBattlersCount) { - gActiveBattler = gBattlerByTurnOrder[gBattleStruct->turnSideTracker]; - if (gWishFutureKnock.wishCounter[gActiveBattler] != 0 - && --gWishFutureKnock.wishCounter[gActiveBattler] == 0 - && gBattleMons[gActiveBattler].hp != 0) + u32 battler = gBattlerByTurnOrder[gBattleStruct->turnSideTracker]; + if (gWishFutureKnock.wishCounter[battler] != 0 + && --gWishFutureKnock.wishCounter[battler] == 0 + && gBattleMons[battler].hp != 0) { - gBattlerTarget = gActiveBattler; + gBattlerTarget = battler; BattleScriptExecute(BattleScript_WishComesTrue); effect++; } @@ -3102,41 +3103,42 @@ u8 DoBattlerEndTurnEffects(void) bool8 HandleWishPerishSongOnTurnEnd(void) { - gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); + u32 battler; + gHitMarker |= (HITMARKER_GRUDGE | HITMARKER_SKIP_DMG_TRACK); switch (gBattleStruct->wishPerishSongState) { case 0: while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBattler = gBattleStruct->wishPerishSongBattlerId; - if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) + battler = gBattleStruct->wishPerishSongBattlerId; + if (gAbsentBattlerFlags & gBitTable[battler]) { gBattleStruct->wishPerishSongBattlerId++; continue; } gBattleStruct->wishPerishSongBattlerId++; - if (gWishFutureKnock.futureSightCounter[gActiveBattler] != 0 - && --gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 - && gBattleMons[gActiveBattler].hp != 0) + if (gWishFutureKnock.futureSightCounter[battler] != 0 + && --gWishFutureKnock.futureSightCounter[battler] == 0 + && gBattleMons[battler].hp != 0) { - if (gWishFutureKnock.futureSightMove[gActiveBattler] == MOVE_FUTURE_SIGHT) + if (gWishFutureKnock.futureSightMove[battler] == MOVE_FUTURE_SIGHT) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FUTURE_SIGHT; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_DOOM_DESIRE; - PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[gActiveBattler]); + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gWishFutureKnock.futureSightMove[battler]); - gBattlerTarget = gActiveBattler; - gBattlerAttacker = gWishFutureKnock.futureSightAttacker[gActiveBattler]; + gBattlerTarget = battler; + gBattlerAttacker = gWishFutureKnock.futureSightAttacker[battler]; gSpecialStatuses[gBattlerTarget].dmg = 0xFFFF; - gCurrentMove = gWishFutureKnock.futureSightMove[gActiveBattler]; - SetTypeBeforeUsingMove(gCurrentMove, gActiveBattler); + gCurrentMove = gWishFutureKnock.futureSightMove[battler]; + SetTypeBeforeUsingMove(gCurrentMove, battler); BattleScriptExecute(BattleScript_MonTookFutureAttack); - if (gWishFutureKnock.futureSightCounter[gActiveBattler] == 0 - && gWishFutureKnock.futureSightCounter[BATTLE_PARTNER(gActiveBattler)] == 0) + if (gWishFutureKnock.futureSightCounter[battler] == 0 + && gWishFutureKnock.futureSightCounter[BATTLE_PARTNER(battler)] == 0) { gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] &= ~SIDE_STATUS_FUTUREATTACK; } @@ -3149,37 +3151,33 @@ bool8 HandleWishPerishSongOnTurnEnd(void) case 1: while (gBattleStruct->wishPerishSongBattlerId < gBattlersCount) { - gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->wishPerishSongBattlerId]; - if (gAbsentBattlerFlags & gBitTable[gActiveBattler]) + battler = gBattlerAttacker = gBattlerByTurnOrder[gBattleStruct->wishPerishSongBattlerId]; + if (gAbsentBattlerFlags & gBitTable[battler]) { gBattleStruct->wishPerishSongBattlerId++; continue; } gBattleStruct->wishPerishSongBattlerId++; - if (gStatuses3[gActiveBattler] & STATUS3_PERISH_SONG) + if (gStatuses3[battler] & STATUS3_PERISH_SONG) { - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[gActiveBattler].perishSongTimer); - if (gDisableStructs[gActiveBattler].perishSongTimer == 0) + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff1, 1, gDisableStructs[battler].perishSongTimer); + if (gDisableStructs[battler].perishSongTimer == 0) { - gStatuses3[gActiveBattler] &= ~STATUS3_PERISH_SONG; - gBattleMoveDamage = gBattleMons[gActiveBattler].hp; + gStatuses3[battler] &= ~STATUS3_PERISH_SONG; + gBattleMoveDamage = gBattleMons[battler].hp; gBattlescriptCurrInstr = BattleScript_PerishSongTakesLife; } else { - gDisableStructs[gActiveBattler].perishSongTimer--; + gDisableStructs[battler].perishSongTimer--; gBattlescriptCurrInstr = BattleScript_PerishSongCountGoesDown; } BattleScriptExecute(gBattlescriptCurrInstr); return TRUE; } } - // Hm... - { - u8 *state = &gBattleStruct->wishPerishSongState; - *state = 2; - gBattleStruct->wishPerishSongBattlerId = 0; - } + gBattleStruct->wishPerishSongState = 2; + gBattleStruct->wishPerishSongBattlerId = 0; // fall through case 2: if ((gBattleTypeFlags & BATTLE_TYPE_ARENA) @@ -4889,7 +4887,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_CUD_CHEW: - if (ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES && gDisableStructs[gActiveBattler].cudChew == TRUE) + if (ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES && gDisableStructs[battler].cudChew == TRUE) { gLastUsedItem = gBattleStruct->usedHeldItems[battler][GetBattlerSide(battler)]; gBattleStruct->usedHeldItems[battler][GetBattlerSide(battler)] = ITEM_NONE; @@ -5530,7 +5528,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } else if (TryChangeBattleWeather(battler, ENUM_WEATHER_SANDSTORM, TRUE)) { - gBattleScripting.battler = gActiveBattler = battler; + gBattleScripting.battler = battler; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_SandSpitActivates; effect++; @@ -5880,24 +5878,25 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move { if (gBattleMons[i].ability == ABILITY_TRACE && (gBattleResources->flags->flags[i] & RESOURCE_FLAG_TRACED)) { - u8 side = (BATTLE_OPPOSITE(GetBattlerPosition(i))) & BIT_SIDE; // side of the opposing pokemon - u8 target1 = GetBattlerAtPosition(side); - u8 target2 = GetBattlerAtPosition(side + BIT_FLANK); + u32 chosenTarget; + u32 side = (BATTLE_OPPOSITE(GetBattlerPosition(i))) & BIT_SIDE; // side of the opposing pokemon + u32 target1 = GetBattlerAtPosition(side); + u32 target2 = GetBattlerAtPosition(side + BIT_FLANK); if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { if (!sAbilitiesNotTraced[gBattleMons[target1].ability] && gBattleMons[target1].hp != 0 && !sAbilitiesNotTraced[gBattleMons[target2].ability] && gBattleMons[target2].hp != 0) - gActiveBattler = GetBattlerAtPosition(((Random() & 1) * 2) | side), effect++; + chosenTarget = GetBattlerAtPosition(((Random() & 1) * 2) | side), effect++; else if (!sAbilitiesNotTraced[gBattleMons[target1].ability] && gBattleMons[target1].hp != 0) - gActiveBattler = target1, effect++; + chosenTarget = target1, effect++; else if (!sAbilitiesNotTraced[gBattleMons[target2].ability] && gBattleMons[target2].hp != 0) - gActiveBattler = target2, effect++; + chosenTarget = target2, effect++; } else { if (!sAbilitiesNotTraced[gBattleMons[target1].ability] && gBattleMons[target1].hp != 0) - gActiveBattler = target1, effect++; + chosenTarget = target1, effect++; } if (effect != 0) @@ -5912,11 +5911,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattlescriptCurrInstr = BattleScript_TraceActivates; } gBattleResources->flags->flags[i] &= ~RESOURCE_FLAG_TRACED; - gBattleStruct->tracedAbility[i] = gLastUsedAbility = gBattleMons[gActiveBattler].ability; - RecordAbilityBattle(gActiveBattler, gLastUsedAbility); // Record the opposing battler has this ability + gBattleStruct->tracedAbility[i] = gLastUsedAbility = gBattleMons[chosenTarget].ability; + RecordAbilityBattle(chosenTarget, gLastUsedAbility); // Record the opposing battler has this ability battler = gBattlerAbility = gBattleScripting.battler = i; - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gActiveBattler, gBattlerPartyIndexes[gActiveBattler]) + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, chosenTarget, gBattlerPartyIndexes[chosenTarget]) PREPARE_ABILITY_BUFFER(gBattleTextBuff2, gLastUsedAbility) break; } @@ -6951,7 +6950,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) { gBattleScripting.battler = battler; gPotentialItemEffectBattler = battler; - gActiveBattler = gBattlerAttacker = battler; + gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -7133,7 +7132,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) && !(gCurrentMove == MOVE_PARTING_SHOT && CanBattlerSwitch(gBattlerAttacker))) // Does not activate if attacker used Parting Shot and can switch out { gProtectStructs[battler].statFell = FALSE; - gActiveBattler = gBattleScripting.battler = battler; + gBattleScripting.battler = battler; effect = ITEM_STATS_CHANGE; if (moveTurn) { @@ -7246,7 +7245,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) { gBattleScripting.battler = battler; gPotentialItemEffectBattler = battler; - gActiveBattler = gBattlerAttacker = battler; + gBattlerAttacker = battler; BattleScriptExecute(BattleScript_WhiteHerbEnd2); } break; @@ -10100,7 +10099,7 @@ bool32 CanMegaEvolve(u8 battler) struct Pokemon *mon; u8 battlerPosition = GetBattlerPosition(battler); u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battler)); - struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]))->mega); + struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]))->mega); // Check if Player has a Mega Ring if ((GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT)) diff --git a/src/battle_z_move.c b/src/battle_z_move.c index 3983f96b94..d760148b51 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -48,12 +48,12 @@ static void SpriteCB_ZMoveTrigger(struct Sprite *sprite); static u16 GetSignatureZMove(u16 move, u16 species, u16 item); static u16 GetTypeBasedZMove(u16 move, u8 battler); -static void ZMoveSelectionDisplayPpNumber(void); +static void ZMoveSelectionDisplayPpNumber(u32 battler); static void ZMoveSelectionDisplayPower(u16 move, u16 zMove); static void ShowZMoveTriggerSprite(u8 battleId); -static bool32 AreStatsMaxed(u8 battlerId, u8 n); +static bool32 AreStatsMaxed(u8 battler, u8 n); static u8 GetZMoveScore(u8 battlerAtk, u8 battlerDef, u16 baseMove, u16 zMove); -static void ZMoveSelectionDisplayMoveType(u16 zMove); +static void ZMoveSelectionDisplayMoveType(u16 zMove, u32 battler); // Const Data static const struct SignatureZMove sSignatureZMoves[] = @@ -146,52 +146,52 @@ bool8 IsZMove(u16 move) return move >= FIRST_Z_MOVE && move <= LAST_Z_MOVE; } -void QueueZMove(u8 battlerId, u16 baseMove) +void QueueZMove(u8 battler, u16 baseMove) { - gBattleStruct->zmove.toBeUsed[battlerId] = gBattleStruct->zmove.chosenZMove; - gBattleStruct->zmove.baseMoves[battlerId] = baseMove; + gBattleStruct->zmove.toBeUsed[battler] = gBattleStruct->zmove.chosenZMove; + gBattleStruct->zmove.baseMoves[battler] = baseMove; if (gBattleStruct->zmove.chosenZMove == MOVE_LIGHT_THAT_BURNS_THE_SKY) - gBattleStruct->zmove.splits[battlerId] = GetSplitBasedOnStats(battlerId); + gBattleStruct->zmove.splits[battler] = GetSplitBasedOnStats(battler); else - gBattleStruct->zmove.splits[battlerId] = gBattleMoves[baseMove].split; + gBattleStruct->zmove.splits[battler] = gBattleMoves[baseMove].split; } -bool32 IsViableZMove(u8 battlerId, u16 move) +bool32 IsViableZMove(u8 battler, u16 move) { struct Pokemon *mon; - u8 battlerPosition = GetBattlerPosition(battlerId); - u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battlerId)); + u8 battlerPosition = GetBattlerPosition(battler); + u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battler)); u32 item; u16 holdEffect; u16 species; int moveSlotIndex; - species = gBattleMons[battlerId].species; - item = gBattleMons[battlerId].item; + species = gBattleMons[battler].species; + item = gBattleMons[battler].item; for (moveSlotIndex = 0; moveSlotIndex < MAX_MON_MOVES; moveSlotIndex++) { - if (gBattleMons[battlerId].moves[moveSlotIndex] == move && gBattleMons[battlerId].pp[moveSlotIndex] == 0) + if (gBattleMons[battler].moves[moveSlotIndex] == move && gBattleMons[battler].pp[moveSlotIndex] == 0) return FALSE; } - if (gBattleStruct->zmove.used[battlerId]) + if (gBattleStruct->zmove.used[battler]) return FALSE; if (gBattleTypeFlags & (BATTLE_TYPE_SAFARI | BATTLE_TYPE_WALLY_TUTORIAL | BATTLE_TYPE_FRONTIER)) return FALSE; - if ((GetBattlerPosition(battlerId) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battlerId) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_POWER_RING, 1)) + if ((GetBattlerPosition(battler) == B_POSITION_PLAYER_LEFT || (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) && GetBattlerPosition(battler) == B_POSITION_PLAYER_RIGHT)) && !CheckBagHasItem(ITEM_Z_POWER_RING, 1)) return FALSE; if (item == ITEM_ENIGMA_BERRY_E_READER) - return FALSE; // HoldEffect = gEnigmaBerries[battlerId].holdEffect; + return FALSE; // HoldEffect = gEnigmaBerries[battler].holdEffect; else holdEffect = ItemId_GetHoldEffect(item); if (holdEffect == HOLD_EFFECT_Z_CRYSTAL) { - u16 zMove = GetSignatureZMove(move, gBattleMons[battlerId].species, item); + u16 zMove = GetSignatureZMove(move, gBattleMons[battler].species, item); if (zMove != MOVE_NONE) { gBattleStruct->zmove.chosenZMove = zMove; // Signature z move exists @@ -200,7 +200,7 @@ bool32 IsViableZMove(u8 battlerId, u16 move) if (move != MOVE_NONE && zMove != MOVE_Z_STATUS && gBattleMoves[move].type == ItemId_GetSecondaryId(item)) { - gBattleStruct->zmove.chosenZMove = GetTypeBasedZMove(move, battlerId); + gBattleStruct->zmove.chosenZMove = GetTypeBasedZMove(move, battler); return TRUE; } } @@ -208,34 +208,34 @@ bool32 IsViableZMove(u8 battlerId, u16 move) return FALSE; } -void GetUsableZMoves(u8 battlerId, u16 *moves) +void GetUsableZMoves(u8 battler, u16 *moves) { u32 i; - gBattleStruct->zmove.possibleZMoves[battlerId] = 0; + gBattleStruct->zmove.possibleZMoves[battler] = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - if (moves[i] != MOVE_NONE && IsViableZMove(battlerId, moves[i])) - gBattleStruct->zmove.possibleZMoves[battlerId] |= (1 << i); + if (moves[i] != MOVE_NONE && IsViableZMove(battler, moves[i])) + gBattleStruct->zmove.possibleZMoves[battler] |= (1 << i); } } -bool32 IsZMoveUsable(u8 battlerId, u16 moveIndex) +bool32 IsZMoveUsable(u8 battler, u16 moveIndex) { - if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsPartnerMonFromSameTrainer(battlerId) && gBattleStruct->zmove.toBeUsed[BATTLE_PARTNER(battlerId)] != MOVE_NONE) + if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && IsPartnerMonFromSameTrainer(battler) && gBattleStruct->zmove.toBeUsed[BATTLE_PARTNER(battler)] != MOVE_NONE) return FALSE; // Player's other mon has a z move queued up already - if (gBattleStruct->zmove.possibleZMoves[battlerId] & (1 << moveIndex)) + if (gBattleStruct->zmove.possibleZMoves[battler] & (1 << moveIndex)) return TRUE; return FALSE; } -bool32 TryChangeZIndicator(u8 battlerId, u8 moveIndex) +bool32 TryChangeZIndicator(u8 battler, u8 moveIndex) { - bool32 viableZMove = IsZMoveUsable(battlerId, moveIndex); + bool32 viableZMove = IsZMoveUsable(battler, moveIndex); if (gBattleStruct->zmove.viable && !viableZMove) HideZMoveTriggerSprite(); // Was a viable z move, now is not -> slide out else if (!gBattleStruct->zmove.viable && viableZMove) - ShowZMoveTriggerSprite(battlerId); // Was not a viable z move, now is -> slide back in + ShowZMoveTriggerSprite(battler); // Was not a viable z move, now is -> slide back in } #define SINGLES_Z_TRIGGER_POS_X_OPTIMAL (29) @@ -251,7 +251,7 @@ bool32 TryChangeZIndicator(u8 battlerId, u8 moveIndex) #define tBattler data[0] #define tHide data[1] -void CreateZMoveTriggerSprite(u8 battlerId, bool8 viable) +void CreateZMoveTriggerSprite(u8 battler, bool8 viable) { s16 x, y; @@ -261,19 +261,19 @@ void CreateZMoveTriggerSprite(u8 battlerId, bool8 viable) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - x = gSprites[gHealthboxSpriteIds[battlerId]].x - DOUBLES_Z_TRIGGER_POS_X_SLIDE; - y = gSprites[gHealthboxSpriteIds[battlerId]].y - DOUBLES_Z_TRIGGER_POS_Y_DIFF; + x = gSprites[gHealthboxSpriteIds[battler]].x - DOUBLES_Z_TRIGGER_POS_X_SLIDE; + y = gSprites[gHealthboxSpriteIds[battler]].y - DOUBLES_Z_TRIGGER_POS_Y_DIFF; } else { - x = gSprites[gHealthboxSpriteIds[battlerId]].x - SINGLES_Z_TRIGGER_POS_X_SLIDE; - y = gSprites[gHealthboxSpriteIds[battlerId]].y - SINGLES_Z_TRIGGER_POS_Y_DIFF, 0; + x = gSprites[gHealthboxSpriteIds[battler]].x - SINGLES_Z_TRIGGER_POS_X_SLIDE; + y = gSprites[gHealthboxSpriteIds[battler]].y - SINGLES_Z_TRIGGER_POS_Y_DIFF, 0; } if (gBattleStruct->zmove.triggerSpriteId == 0xFF) gBattleStruct->zmove.triggerSpriteId = CreateSprite(&sSpriteTemplate_ZMoveTrigger, x, y, 0); - gSprites[gBattleStruct->zmove.triggerSpriteId].tBattler = battlerId; + gSprites[gBattleStruct->zmove.triggerSpriteId].tBattler = battler; gSprites[gBattleStruct->zmove.triggerSpriteId].tHide = (viable == TRUE) ? FALSE : TRUE; } @@ -348,11 +348,11 @@ void HideZMoveTriggerSprite(void) sprite->tHide = TRUE; } -static void ShowZMoveTriggerSprite(u8 battlerId) +static void ShowZMoveTriggerSprite(u8 battler) { struct Sprite *sprite = &gSprites[gBattleStruct->zmove.triggerSpriteId]; gBattleStruct->zmove.viable = TRUE; - CreateZMoveTriggerSprite(battlerId, TRUE); + CreateZMoveTriggerSprite(battler, TRUE); } void DestroyZMoveTriggerSprite(void) @@ -392,11 +392,11 @@ static u16 GetTypeBasedZMove(u16 move, u8 battler) return MOVE_BREAKNECK_BLITZ + (moveType - 1); } -bool32 MoveSelectionDisplayZMove(u16 zmove) +bool32 MoveSelectionDisplayZMove(u16 zmove, u32 battler) { u32 i; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - u16 move = moveInfo->moves[gMoveSelectionCursor[gActiveBattler]]; + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); + u16 move = moveInfo->moves[gMoveSelectionCursor[battler]]; PlaySE(SE_SELECT); gBattleStruct->zmove.viewing = TRUE; @@ -507,8 +507,8 @@ bool32 MoveSelectionDisplayZMove(u16 zmove) } BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_NAME_1); - ZMoveSelectionDisplayPpNumber(); - ZMoveSelectionDisplayMoveType(zmove); + ZMoveSelectionDisplayPpNumber(battler); + ZMoveSelectionDisplayMoveType(zmove, battler); MoveSelectionCreateCursorAt(0, 0); return TRUE; } @@ -532,26 +532,26 @@ static void ZMoveSelectionDisplayPower(u16 move, u16 zMove) } } -static void ZMoveSelectionDisplayPpNumber(void) +static void ZMoveSelectionDisplayPpNumber(u32 battler) { u8 *txtPtr; struct ChooseMoveStruct *moveInfo; - if (gBattleResources->bufferA[gActiveBattler][2] == TRUE) // Check if we didn't want to display pp number + if (gBattleResources->bufferA[battler][2] == TRUE) // Check if we didn't want to display pp number return; - SetPpNumbersPaletteInMoveSelection(); - moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + SetPpNumbersPaletteInMoveSelection(battler); + moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); txtPtr = ConvertIntToDecimalStringN(gDisplayedStringBattle, 1, STR_CONV_MODE_RIGHT_ALIGN, 2); *(txtPtr)++ = CHAR_SLASH; ConvertIntToDecimalStringN(txtPtr, 1, STR_CONV_MODE_RIGHT_ALIGN, 2); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_PP_REMAINING); } -static void ZMoveSelectionDisplayMoveType(u16 zMove) +static void ZMoveSelectionDisplayMoveType(u16 zMove, u32 battler) { u8 *txtPtr; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); u8 zMoveType; GET_MOVE_TYPE(zMove, zMoveType); @@ -683,12 +683,12 @@ void SetZEffect(void) gBattleStruct->zmove.zStatusActive = FALSE; } -static bool32 AreStatsMaxed(u8 battlerId, u8 n) +static bool32 AreStatsMaxed(u8 battler, u8 n) { u32 i; for (i = STAT_ATK; i <= n; i++) { - if (STAT_STAGE(battlerId, i) < MAX_STAT_STAGE) + if (STAT_STAGE(battler, i) < MAX_STAT_STAGE) return FALSE; } return TRUE; diff --git a/src/recorded_battle.c b/src/recorded_battle.c index e4b1a55440..17f12ce93c 100644 --- a/src/recorded_battle.c +++ b/src/recorded_battle.c @@ -616,13 +616,13 @@ static void RecordedBattle_RestoreSavedParties(void) } } -u8 GetActiveBattlerLinkPlayerGender(void) +u8 GetBattlerLinkPlayerGender(u32 battler) { s32 i; for (i = 0; i < MAX_LINK_PLAYERS; i++) { - if (gLinkPlayers[i].id == gActiveBattler) + if (gLinkPlayers[i].id == battler) break; } @@ -658,11 +658,11 @@ u8 GetTextSpeedInRecordedBattle(void) return sTextSpeed; } -void RecordedBattle_CopyBattlerMoves(void) +void RecordedBattle_CopyBattlerMoves(u32 battler) { s32 i; - if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT) + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) return; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) return; @@ -670,7 +670,7 @@ void RecordedBattle_CopyBattlerMoves(void) return; for (i = 0; i < MAX_MON_MOVES; i++) - sPlayerMonMoves[gActiveBattler / 2][i] = gBattleMons[gActiveBattler].moves[i]; + sPlayerMonMoves[battler / 2][i] = gBattleMons[battler].moves[i]; } // This is a special battle action only used by this function From a7615f9649cdac82f586b9fa4af492ec2201c537 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 30 Aug 2023 11:21:10 +0200 Subject: [PATCH 200/256] remove almost all usage of active battler --- include/battle_gfx_sfx_util.h | 32 +-- include/constants/pokemon.h | 2 +- include/pokemon.h | 4 +- src/battle_ai_main.c | 26 +-- src/battle_ai_switch_items.c | 2 +- src/battle_ai_util.c | 7 +- src/battle_controller_player.c | 4 +- src/battle_controllers.c | 2 +- src/battle_gfx_sfx_util.c | 271 ++++++++++++----------- src/battle_main.c | 388 +++++++++++++++++---------------- src/battle_util.c | 2 +- src/pokemon.c | 14 +- 12 files changed, 376 insertions(+), 378 deletions(-) diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h index 794447446b..95c97cabaa 100644 --- a/include/battle_gfx_sfx_util.h +++ b/include/battle_gfx_sfx_util.h @@ -3,40 +3,40 @@ void AllocateBattleSpritesData(void); void FreeBattleSpritesData(void); -u16 ChooseMoveAndTargetInBattlePalace(void); +u16 ChooseMoveAndTargetInBattlePalace(u32 battler); void SpriteCB_WaitForBattlerBallReleaseAnim(struct Sprite *sprite); void SpriteCB_TrainerSlideIn(struct Sprite *sprite); -void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); +void InitAndLaunchChosenStatusAnimation(u32 battler, bool32 isStatus2, u32 status); bool8 TryHandleLaunchBattleTableAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId, u16 argument); void InitAndLaunchSpecialAnimation(u8 activeBattlerId, u8 attacker, u8 target, u8 tableId); -bool8 IsBattleSEPlaying(u8 battlerId); -void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId); +bool8 IsBattleSEPlaying(u8 battler); +void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battler); void BattleGfxSfxDummy2(u16 species); -void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId); -void DecompressTrainerBackPic(u16 backPicId, u8 battlerId); +void DecompressTrainerFrontPic(u16 frontPicId, u8 battler); +void DecompressTrainerBackPic(u16 backPicId, u8 battler); void FreeTrainerFrontPicPalette(u16 frontPicId); bool8 BattleLoadAllHealthBoxesGfx(u8 state); void LoadBattleBarGfx(u8 unused); -bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId); +bool8 BattleInitAllSprites(u8 *state1, u8 *battler); void ClearSpritesHealthboxAnimData(void); void CopyAllBattleSpritesInvisibilities(void); -void CopyBattleSpriteInvisibility(u8 battlerId); +void CopyBattleSpriteInvisibility(u8 battler); void HandleSpeciesGfxDataChange(u8 attacker, u8 target, bool32 megaEvo, bool8 trackEnemyPersonality); -void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite); -void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId); -void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move); -void ClearBehindSubstituteBit(u8 battlerId); -void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId); +void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move); +void ClearBehindSubstituteBit(u8 battler); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler); void BattleStopLowHpSound(void); u8 GetMonHPBarLevel(struct Pokemon *mon); void HandleBattleLowHpMusicChange(void); void SetBattlerSpriteAffineMode(u8 affineMode); void LoadAndCreateEnemyShadowSprites(void); void SpriteCB_SetInvisible(struct Sprite *sprite); -void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species); -void HideBattlerShadowSprite(u8 battlerId); +void SetBattlerShadowSpriteCallback(u8 battler, u16 species); +void HideBattlerShadowSprite(u8 battler); void FillAroundBattleWindows(void); -void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute); +void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute); void AllocateMonSpritesGfx(void); void FreeMonSpritesGfx(void); bool32 ShouldPlayNormalMonCry(struct Pokemon *mon); diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index af71780414..62a5f77d52 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -305,7 +305,7 @@ // - Unown has 1 frame, presumably to avoid the work of animating all 28 of its forms #define MAX_MON_PIC_FRAMES 2 -#define BATTLE_ALIVE_EXCEPT_ACTIVE 0 +#define BATTLE_ALIVE_EXCEPT_BATTLER 0 #define BATTLE_ALIVE_ATK_SIDE 1 #define BATTLE_ALIVE_DEF_SIDE 2 #define BATTLE_ALIVE_EXCEPT_ATTACKER 3 diff --git a/include/pokemon.h b/include/pokemon.h index 8303f3223e..a37d5f0103 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -490,7 +490,7 @@ void GiveBoxMonInitialMoveset_Fast(struct BoxPokemon *boxMon); u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove); void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); -u8 CountAliveMonsInBattle(u8 caseId); +u8 CountAliveMonsInBattle(u8 caseId, u32 battler); u8 GetDefaultMoveTarget(u8 battlerId); u8 GetMonGender(struct Pokemon *mon); u8 GetBoxMonGender(struct BoxPokemon *boxMon); @@ -538,7 +538,7 @@ void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex); bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex); bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 moveIndex, u8 e); bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, u8 battlerId); -u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); +u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit); u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 6dcc01ed80..d42e018594 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -205,7 +205,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler) defaultScoreMoves >>= 1; } - moveLimitations = AI_DATA->moveLimitations[gActiveBattler]; + moveLimitations = AI_DATA->moveLimitations[battler]; // Ignore moves that aren't possible to use. for (i = 0; i < MAX_MON_MOVES; i++) @@ -214,7 +214,7 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler) AI_THINKING_STRUCT->score[i] = 0; } - //sBattler_AI = gActiveBattler; + //sBattler_AI = battler; gBattlerTarget = SetRandomTarget(sBattler_AI); gBattleStruct->aiChosenTarget[sBattler_AI] = gBattlerTarget; } @@ -241,7 +241,7 @@ u8 BattleAI_ChooseMoveOrAction(void) u8 ComputeBattleAiScores(u8 battler) { sBattler_AI = battler; - BattleAI_SetupAIData(0xF); + BattleAI_SetupAIData(0xF, sBattler_AI); return BattleAI_ChooseMoveOrAction(); } @@ -339,15 +339,15 @@ void Ai_UpdateFaintData(u32 battler) aiMon->isFainted = TRUE; } -static void SetBattlerAiData(u8 battlerId) +static void SetBattlerAiData(u8 battler) { - AI_DATA->abilities[battlerId] = AI_GetAbility(battlerId); - AI_DATA->items[battlerId] = gBattleMons[battlerId].item; - AI_DATA->holdEffects[battlerId] = AI_GetHoldEffect(battlerId); - AI_DATA->holdEffectParams[battlerId] = GetBattlerHoldEffectParam(battlerId); - AI_DATA->predictedMoves[battlerId] = gLastMoves[battlerId]; - AI_DATA->hpPercents[battlerId] = GetHealthPercentage(battlerId); - AI_DATA->moveLimitations[battlerId] = CheckMoveLimitations(battlerId, 0, MOVE_LIMITATIONS_ALL); + AI_DATA->abilities[battler] = AI_GetAbility(battler); + AI_DATA->items[battler] = gBattleMons[battler].item; + AI_DATA->holdEffects[battler] = AI_GetHoldEffect(battler); + AI_DATA->holdEffectParams[battler] = GetBattlerHoldEffectParam(battler); + AI_DATA->predictedMoves[battler] = gLastMoves[battler]; + AI_DATA->hpPercents[battler] = GetHealthPercentage(battler); + AI_DATA->moveLimitations[battler] = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); } void GetAiLogicData(void) @@ -523,9 +523,9 @@ static u8 ChooseMoveOrAction_Doubles(void) else { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - BattleAI_SetupAIData(gBattleStruct->palaceFlags >> 4); + BattleAI_SetupAIData(gBattleStruct->palaceFlags >> 4, sBattler_AI); else - BattleAI_SetupAIData(0xF); + BattleAI_SetupAIData(0xF, sBattler_AI); gBattlerTarget = i; if ((i & BIT_SIDE) != (sBattler_AI & BIT_SIDE)) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index ff878aecfe..9ed3f27497 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1072,7 +1072,7 @@ static bool8 ShouldUseItem(u32 battler) shouldUse = AI_ShouldHeal(battler, 0); break; case EFFECT_ITEM_RESTORE_HP: - shouldUse = AI_ShouldHeal(battler, itemEffects[GetItemEffectParamOffset(item, 4, 4)]); + shouldUse = AI_ShouldHeal(battler, itemEffects[GetItemEffectParamOffset(battler, item, 4, 4)]); break; case EFFECT_ITEM_CURE_STATUS: if (itemEffects[3] & ITEM3_SLEEP && gBattleMons[battler].status1 & STATUS1_SLEEP) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 1aa7da5eaf..345f2f6c8a 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2552,14 +2552,11 @@ enum { bool32 ShouldPivot(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u8 moveIndex) { bool8 hasStatBoost = AnyUsefulStatIsRaised(battlerAtk) || gBattleMons[battlerDef].statStages[STAT_EVASION] >= 9; //Significant boost in evasion for any class - u8 backupBattler = gActiveBattler; bool32 shouldSwitch; u8 battlerToSwitch; - gActiveBattler = battlerAtk; shouldSwitch = ShouldSwitch(battlerAtk); - battlerToSwitch = *(gBattleStruct->AI_monToSwitchIntoId + gActiveBattler); - gActiveBattler = backupBattler; + battlerToSwitch = *(gBattleStruct->AI_monToSwitchIntoId + battlerAtk); if (PartyBattlerShouldAvoidHazards(battlerAtk, battlerToSwitch)) return DONT_PIVOT; @@ -3311,7 +3308,7 @@ bool32 ShouldUseWishAromatherapy(u8 battlerAtk, u8 battlerDef, u16 move) GetAIPartyIndexes(battlerAtk, &firstId, &lastId); - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battlerAtk) == B_SIDE_PLAYER) party = gPlayerParty; else party = gEnemyParty; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 7176919553..07f752ffe6 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -704,7 +704,7 @@ static void HandleInputChooseMove(u32 battler) { canSelectTarget = 0; } - else if (!(moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) <= 1) + else if (!(moveTarget & (MOVE_TARGET_USER | MOVE_TARGET_USER_OR_SELECTED)) && CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, battler) <= 1) { gMultiUsePlayerCursor = GetDefaultMoveTarget(battler); canSelectTarget = 0; @@ -1927,7 +1927,7 @@ static void PlayerChooseMoveInBattlePalace(u32 battler) if (--*(gBattleStruct->arenaMindPoints + battler) == 0) { gBattlePalaceMoveSelectionRngValue = gRngValue; - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); PlayerBufferExecCompleted(battler); } } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 54ed250b15..7592a8226e 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -2724,7 +2724,7 @@ void BtlController_HandleStatusAnimation(u32 battler) { if (!IsBattleSEPlaying(battler)) { - InitAndLaunchChosenStatusAnimation(gBattleResources->bufferA[battler][1], + InitAndLaunchChosenStatusAnimation(battler, gBattleResources->bufferA[battler][1], gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8) | (gBattleResources->bufferA[battler][4] << 16) | (gBattleResources->bufferA[battler][5] << 24)); gBattlerControllerFuncs[battler] = Controller_WaitForStatusAnimation; } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index e39ea54a35..9239309257 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -31,8 +31,8 @@ extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; // this file's functions -static u8 GetBattlePalaceMoveGroup(u8 battlerId, u16 move); -static u16 GetBattlePalaceTarget(void); +static u8 GetBattlePalaceMoveGroup(u8 battler, u16 move); +static u16 GetBattlePalaceTarget(u32 battler); static void SpriteCB_TrainerSlideVertical(struct Sprite *sprite); static bool8 ShouldAnimBeDoneRegardlessOfSubstitute(u8 animId); static void Task_ClearBitWhenBattleTableAnimDone(u8 taskId); @@ -104,12 +104,12 @@ void FreeBattleSpritesData(void) } // Pokemon chooses move to use in Battle Palace rather than player -u16 ChooseMoveAndTargetInBattlePalace(void) +u16 ChooseMoveAndTargetInBattlePalace(u32 battler) { s32 i, var1, var2; s32 chosenMoveId = -1; - struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); - u8 unusableMovesBits = CheckMoveLimitations(gActiveBattler, 0, MOVE_LIMITATIONS_ALL); + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]); + u8 unusableMovesBits = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); s32 percent = Random() % 100; // Heavy variable re-use here makes this hard to read without defines @@ -125,7 +125,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // If battler is < 50% HP and not asleep, use second set of move group likelihoods // otherwise use first set - i = (gBattleStruct->palaceFlags & gBitTable[gActiveBattler]) ? 2 : 0; + i = (gBattleStruct->palaceFlags & gBitTable[battler]) ? 2 : 0; minGroupNum = i; maxGroupNum = i + 2; // + 2 because there are two percentages per set of likelihoods @@ -136,7 +136,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // Otherwise use move from "Support" group for (; i < maxGroupNum; i++) { - if (gBattlePalaceNatureToMoveGroupLikelihood[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)][i] > percent) + if (gBattlePalaceNatureToMoveGroupLikelihood[GetNatureFromPersonality(gBattleMons[battler].personality)][i] > percent) break; } selectedGroup = i - minGroupNum; @@ -148,7 +148,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { if (moveInfo->moves[i] == MOVE_NONE) break; - if (selectedGroup == GetBattlePalaceMoveGroup(gActiveBattler, moveInfo->moves[i]) && moveInfo->currentPp[i] != 0) + if (selectedGroup == GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) && moveInfo->currentPp[i] != 0) selectedMoves |= gBitTable[i]; } @@ -157,8 +157,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { gBattleStruct->palaceFlags &= 0xF; gBattleStruct->palaceFlags |= (selectedMoves << 4); - sBattler_AI = gActiveBattler; - BattleAI_SetupAIData(selectedMoves); + BattleAI_SetupAIData(selectedMoves, battler); chosenMoveId = BattleAI_ChooseMoveOrAction(); } @@ -176,11 +175,11 @@ u16 ChooseMoveAndTargetInBattlePalace(void) { // validMoveFlags is used here as a bitfield for which moves can be used for each move group type // first 4 bits are for attack (1 for each move), then 4 bits for defense, and 4 for support - if (GetBattlePalaceMoveGroup(gActiveBattler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_ATTACK && !(gBitTable[i] & unusableMovesBits)) + if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_ATTACK && !(gBitTable[i] & unusableMovesBits)) validMoveFlags += (1 << 0); - if (GetBattlePalaceMoveGroup(gActiveBattler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_DEFENSE && !(gBitTable[i] & unusableMovesBits)) + if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_DEFENSE && !(gBitTable[i] & unusableMovesBits)) validMoveFlags += (1 << 4); - if (GetBattlePalaceMoveGroup(gActiveBattler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_SUPPORT && !(gBitTable[i] & unusableMovesBits)) + if (GetBattlePalaceMoveGroup(battler, moveInfo->moves[i]) == PALACE_MOVE_GROUP_SUPPORT && !(gBitTable[i] & unusableMovesBits)) validMoveFlags += (1 << 8); } @@ -217,7 +216,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) do { i = Random() % MAX_MON_MOVES; - if (!(gBitTable[i] & unusableMovesBits) && validMoveGroup == GetBattlePalaceMoveGroup(gActiveBattler, moveInfo->moves[i])) + if (!(gBitTable[i] & unusableMovesBits) && validMoveGroup == GetBattlePalaceMoveGroup(battler, moveInfo->moves[i])) chosenMoveId = i; } while (chosenMoveId == -1); } @@ -226,13 +225,13 @@ u16 ChooseMoveAndTargetInBattlePalace(void) // then there's a 50% chance it won't be used anyway if (Random() % 100 > 49) { - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; return 0; } } else { - gProtectStructs[gActiveBattler].palaceUnableToUseMove = TRUE; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; return 0; } } @@ -246,15 +245,15 @@ u16 ChooseMoveAndTargetInBattlePalace(void) } else { - moveTarget = GetBattlerMoveTargetType(gActiveBattler, moveInfo->moves[chosenMoveId]); + moveTarget = GetBattlerMoveTargetType(battler, moveInfo->moves[chosenMoveId]); } if (moveTarget & MOVE_TARGET_USER) - chosenMoveId |= (gActiveBattler << 8); + chosenMoveId |= (battler << 8); else if (moveTarget == MOVE_TARGET_SELECTED) - chosenMoveId |= GetBattlePalaceTarget(); + chosenMoveId |= GetBattlePalaceTarget(battler); else - chosenMoveId |= (GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gActiveBattler))) << 8); + chosenMoveId |= (GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(battler))) << 8); return chosenMoveId; } @@ -268,9 +267,9 @@ u16 ChooseMoveAndTargetInBattlePalace(void) #undef numValidMoveGroups #undef validMoveGroup -static u8 GetBattlePalaceMoveGroup(u8 battlerId, u16 move) +static u8 GetBattlePalaceMoveGroup(u8 battler, u16 move) { - switch (GetBattlerMoveTargetType(battlerId, move)) + switch (GetBattlerMoveTargetType(battler, move)) { case MOVE_TARGET_SELECTED: case MOVE_TARGET_USER_OR_SELECTED: @@ -292,13 +291,13 @@ static u8 GetBattlePalaceMoveGroup(u8 battlerId, u16 move) } } -static u16 GetBattlePalaceTarget(void) +static u16 GetBattlePalaceTarget(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { u8 opposing1, opposing2; - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) { opposing1 = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); opposing2 = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); @@ -310,9 +309,9 @@ static u16 GetBattlePalaceTarget(void) } if (gBattleMons[opposing1].hp == gBattleMons[opposing2].hp) - return (BATTLE_OPPOSITE(gActiveBattler & BIT_SIDE) + (Random() & 2)) << 8; + return (BATTLE_OPPOSITE(battler & BIT_SIDE) + (Random() & 2)) << 8; - switch (gBattlePalaceNatureToMoveTarget[GetNatureFromPersonality(gBattleMons[gActiveBattler].personality)]) + switch (gBattlePalaceNatureToMoveTarget[GetNatureFromPersonality(gBattleMons[battler].personality)]) { case PALACE_TARGET_STRONGER: if (gBattleMons[opposing1].hp > gBattleMons[opposing2].hp) @@ -325,11 +324,11 @@ static u16 GetBattlePalaceTarget(void) else return opposing2 << 8; case PALACE_TARGET_RANDOM: - return (BATTLE_OPPOSITE(gActiveBattler & BIT_SIDE) + (Random() & 2)) << 8; + return (BATTLE_OPPOSITE(battler & BIT_SIDE) + (Random() & 2)) << 8; } } - return BATTLE_OPPOSITE(gActiveBattler) << 8; + return BATTLE_OPPOSITE(battler) << 8; } // Wait for the pokemon to finish appearing out from the pokeball on send out @@ -393,38 +392,38 @@ static void SpriteCB_TrainerSlideVertical(struct Sprite *sprite) #undef sSpeedX -void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status) +void InitAndLaunchChosenStatusAnimation(u32 battler, bool32 isStatus2, u32 status) { - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 1; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 1; if (!isStatus2) { if (status == STATUS1_FREEZE || status == STATUS1_FROSTBITE) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_FRZ); + LaunchStatusAnimation(battler, B_ANIM_STATUS_FRZ); else if (status == STATUS1_POISON || status & STATUS1_TOXIC_POISON) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_PSN); + LaunchStatusAnimation(battler, B_ANIM_STATUS_PSN); else if (status == STATUS1_BURN) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_BRN); + LaunchStatusAnimation(battler, B_ANIM_STATUS_BRN); else if (status & STATUS1_SLEEP) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_SLP); + LaunchStatusAnimation(battler, B_ANIM_STATUS_SLP); else if (status == STATUS1_PARALYSIS) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_PRZ); + LaunchStatusAnimation(battler, B_ANIM_STATUS_PRZ); else // no animation - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; } else { if (status & STATUS2_INFATUATION) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_INFATUATION); + LaunchStatusAnimation(battler, B_ANIM_STATUS_INFATUATION); else if (status & STATUS2_CONFUSION) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_CONFUSION); + LaunchStatusAnimation(battler, B_ANIM_STATUS_CONFUSION); else if (status & STATUS2_CURSED) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_CURSED); + LaunchStatusAnimation(battler, B_ANIM_STATUS_CURSED); else if (status & STATUS2_NIGHTMARE) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_NIGHTMARE); + LaunchStatusAnimation(battler, B_ANIM_STATUS_NIGHTMARE); else if (status & STATUS2_WRAPPED) - LaunchStatusAnimation(gActiveBattler, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist + LaunchStatusAnimation(battler, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist else // no animation - gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].statusAnimActive = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; } } @@ -521,14 +520,14 @@ static void Task_ClearBitWhenSpecialAnimDone(u8 taskId) #undef tBattlerId // Check if SE has finished or 30 calls, whichever comes first -bool8 IsBattleSEPlaying(u8 battlerId) +bool8 IsBattleSEPlaying(u8 battler) { u8 zero = 0; if (IsSEPlaying()) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer++; - if (gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer < 30) + gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer++; + if (gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer < 30) return TRUE; m4aMPlayStop(&gMPlayInfo_SE1); @@ -536,7 +535,7 @@ bool8 IsBattleSEPlaying(u8 battlerId) } if (zero == 0) { - gBattleSpritesDataPtr->healthBoxesData[battlerId].soundTimer = 0; + gBattleSpritesDataPtr->healthBoxesData[battler].soundTimer = 0; return FALSE; } @@ -544,11 +543,11 @@ bool8 IsBattleSEPlaying(u8 battlerId) return TRUE; } -void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId) +void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battler) { u32 monsPersonality, currentPersonality, otId, currentOtId, species, paletteOffset, position; const void *lzPaletteData; - struct Pokemon *illusionMon = GetIllusionMonPtr(battlerId); + struct Pokemon *illusionMon = GetIllusionMonPtr(battler); if (illusionMon != NULL) mon = illusionMon; @@ -558,7 +557,7 @@ void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId) monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); otId = GetMonData(mon, MON_DATA_OT_ID); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) { species = GetMonData(mon, MON_DATA_SPECIES); currentPersonality = monsPersonality; @@ -566,18 +565,18 @@ void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId) } else { - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; #if B_TRANSFORM_SHINY >= GEN_4 - currentPersonality = gTransformedPersonalities[battlerId]; - currentOtId = gTransformedOtIds[battlerId]; + currentPersonality = gTransformedPersonalities[battler]; + currentOtId = gTransformedOtIds[battler]; #else currentPersonality = monsPersonality; currentOtId = otId; #endif } - position = GetBattlerPosition(battlerId); - if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT) + position = GetBattlerPosition(battler); + if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { HandleLoadSpecialPokePic(TRUE, gMonSpritesGfxPtr->sprites.ptr[position], @@ -590,19 +589,19 @@ void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId) species, currentPersonality); } - paletteOffset = OBJ_PLTT_ID(battlerId); + paletteOffset = OBJ_PLTT_ID(battler); - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies == SPECIES_NONE) lzPaletteData = GetMonFrontSpritePal(mon); else lzPaletteData = GetMonSpritePalFromSpeciesAndPersonality(species, currentOtId, currentPersonality); LZDecompressWram(lzPaletteData, gDecompressionBuffer); LoadPalette(gDecompressionBuffer, paletteOffset, PLTT_SIZE_4BPP); - LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + LoadPalette(gDecompressionBuffer, BG_PLTT_ID(8) + BG_PLTT_ID(battler), PLTT_SIZE_4BPP); // transform's pink color - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) { BlendPalette(paletteOffset, 16, 6, RGB_WHITE); CpuCopy32(&gPlttBufferFaded[paletteOffset], &gPlttBufferUnfaded[paletteOffset], PLTT_SIZEOF(16)); @@ -613,23 +612,23 @@ void BattleGfxSfxDummy2(u16 species) { } -void DecompressTrainerFrontPic(u16 frontPicId, u8 battlerId) +void DecompressTrainerFrontPic(u16 frontPicId, u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); DecompressPicFromTable(&gTrainerFrontPicTable[frontPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedSpritePalette(&gTrainerFrontPicPaletteTable[frontPicId]); } -void DecompressTrainerBackPic(u16 backPicId, u8 battlerId) +void DecompressTrainerBackPic(u16 backPicId, u8 battler) { - u8 position = GetBattlerPosition(battlerId); + u8 position = GetBattlerPosition(battler); DecompressPicFromTable(&gTrainerBackPicTable[backPicId], gMonSpritesGfxPtr->sprites.ptr[position], SPECIES_NONE); LoadCompressedPalette(gTrainerBackPicPaletteTable[backPicId].data, - OBJ_PLTT_ID(battlerId), PLTT_SIZE_4BPP); + OBJ_PLTT_ID(battler), PLTT_SIZE_4BPP); } void FreeTrainerFrontPicPalette(u16 frontPicId) @@ -729,7 +728,7 @@ void LoadBattleBarGfx(u8 unused) LZDecompressWram(gBattleInterfaceGfx_BattleBar, gMonSpritesGfxPtr->barFontGfx); } -bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) +bool8 BattleInitAllSprites(u8 *state1, u8 *battler) { bool8 retVal = FALSE; @@ -740,13 +739,13 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) (*state1)++; break; case 1: - if (!BattleLoadAllHealthBoxesGfx(*battlerId)) + if (!BattleLoadAllHealthBoxesGfx(*battler)) { - (*battlerId)++; + (*battler)++; } else { - *battlerId = 0; + *battler = 0; (*state1)++; } break; @@ -754,47 +753,47 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battlerId) (*state1)++; break; case 3: - if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battlerId == 0) - gHealthboxSpriteIds[*battlerId] = CreateSafariPlayerHealthboxSprites(); + if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI) && *battler == 0) + gHealthboxSpriteIds[*battler] = CreateSafariPlayerHealthboxSprites(); else - gHealthboxSpriteIds[*battlerId] = CreateBattlerHealthboxSprites(*battlerId); + gHealthboxSpriteIds[*battler] = CreateBattlerHealthboxSprites(*battler); - (*battlerId)++; - if (*battlerId == gBattlersCount) + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; case 4: - InitBattlerHealthboxCoords(*battlerId); - if (gBattlerPositions[*battlerId] <= B_POSITION_OPPONENT_LEFT) - DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], FALSE); + InitBattlerHealthboxCoords(*battler); + if (gBattlerPositions[*battler] <= B_POSITION_OPPONENT_LEFT) + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], FALSE); else - DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battlerId], TRUE); + DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], TRUE); - (*battlerId)++; - if (*battlerId == gBattlersCount) + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; case 5: - if (GetBattlerSide(*battlerId) == B_SIDE_PLAYER) + if (GetBattlerSide(*battler) == B_SIDE_PLAYER) { if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) - UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gPlayerParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gPlayerParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL); } else { - UpdateHealthboxAttribute(gHealthboxSpriteIds[*battlerId], &gEnemyParty[gBattlerPartyIndexes[*battlerId]], HEALTHBOX_ALL); + UpdateHealthboxAttribute(gHealthboxSpriteIds[*battler], &gEnemyParty[gBattlerPartyIndexes[*battler]], HEALTHBOX_ALL); } - SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battlerId]); - (*battlerId)++; - if (*battlerId == gBattlersCount) + SetHealthboxSpriteInvisible(gHealthboxSpriteIds[*battler]); + (*battler)++; + if (*battler == gBattlersCount) { - *battlerId = 0; + *battler = 0; (*state1)++; } break; @@ -828,9 +827,9 @@ void CopyAllBattleSpritesInvisibilities(void) gBattleSpritesDataPtr->battlerData[i].invisible = gSprites[gBattlerSpriteIds[i]].invisible; } -void CopyBattleSpriteInvisibility(u8 battlerId) +void CopyBattleSpriteInvisibility(u8 battler) { - gBattleSpritesDataPtr->battlerData[battlerId].invisible = gSprites[gBattlerSpriteIds[battlerId]].invisible; + gBattleSpritesDataPtr->battlerData[battler].invisible = gSprites[gBattlerSpriteIds[battler]].invisible; } void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool32 megaEvo, bool8 trackEnemyPersonality) @@ -925,7 +924,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool32 megaEvo, bo StartSpriteAnim(&gSprites[gBattlerSpriteIds[battlerAtk]], 0); } -void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) +void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite) { s32 i, position, palOffset; @@ -934,11 +933,11 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) if (IsContest()) position = B_POSITION_PLAYER_LEFT; else - position = GetBattlerPosition(battlerId); + position = GetBattlerPosition(battler); if (IsContest()) LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); - else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) + else if (GetBattlerSide(battler) != B_SIDE_PLAYER) LZDecompressVram(gSubstituteDollFrontGfx, gMonSpritesGfxPtr->sprites.ptr[position]); else LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); @@ -948,61 +947,61 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) Dma3CopyLarge32_(gMonSpritesGfxPtr->sprites.ptr[position], &gMonSpritesGfxPtr->sprites.byte[position][MON_PIC_SIZE * i], MON_PIC_SIZE); } - palOffset = OBJ_PLTT_ID(battlerId); + palOffset = OBJ_PLTT_ID(battler); LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP); } else { if (!IsContest()) - BattleLoadMonSpriteGfx(&GetBattlerParty(battlerId)[gBattlerPartyIndexes[battlerId]], battlerId); + BattleLoadMonSpriteGfx(&GetBattlerParty(battler)[gBattlerPartyIndexes[battler]], battler); } } -void LoadBattleMonGfxAndAnimate(u8 battlerId, bool8 loadMonSprite, u8 spriteId) +void LoadBattleMonGfxAndAnimate(u8 battler, bool8 loadMonSprite, u8 spriteId) { - BattleLoadSubstituteOrMonSpriteGfx(battlerId, loadMonSprite); + BattleLoadSubstituteOrMonSpriteGfx(battler, loadMonSprite); StartSpriteAnim(&gSprites[spriteId], 0); if (!loadMonSprite) - gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battlerId); + gSprites[spriteId].y = GetSubstituteSpriteDefault_Y(battler); else - gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battlerId); + gSprites[spriteId].y = GetBattlerSpriteDefault_Y(battler); } -void TrySetBehindSubstituteSpriteBit(u8 battlerId, u16 move) +void TrySetBehindSubstituteSpriteBit(u8 battler, u16 move) { if (move == MOVE_SUBSTITUTE) - gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 1; + gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 1; } -void ClearBehindSubstituteBit(u8 battlerId) +void ClearBehindSubstituteBit(u8 battler) { - gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute = 0; + gBattleSpritesDataPtr->battlerData[battler].behindSubstitute = 0; } -void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId) +void HandleLowHpMusicChange(struct Pokemon *mon, u8 battler) { u16 hp = GetMonData(mon, MON_DATA_HP); u16 maxHP = GetMonData(mon, MON_DATA_MAX_HP); if (GetHPBarLevel(hp, maxHP) == HP_BAR_RED) { - if (!gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[battler].lowHpSong) { - if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) + if (!gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong) PlaySE(SE_LOW_HEALTH); - gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 1; + gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 1; } } else { - gBattleSpritesDataPtr->battlerData[battlerId].lowHpSong = 0; + gBattleSpritesDataPtr->battlerData[battler].lowHpSong = 0; if (!IsDoubleBattle()) { m4aSongNumStop(SE_LOW_HEALTH); return; } - if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battlerId)].lowHpSong) + if (IsDoubleBattle() && !gBattleSpritesDataPtr->battlerData[BATTLE_PARTNER(battler)].lowHpSong) { m4aSongNumStop(SE_LOW_HEALTH); return; @@ -1071,46 +1070,46 @@ void SetBattlerSpriteAffineMode(u8 affineMode) void LoadAndCreateEnemyShadowSprites(void) { - u8 battlerId; + u8 battler; LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); - gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X), - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29, + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, 0xC8); - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; if (IsDoubleBattle()) { - battlerId = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); - gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X), - GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 29, + battler = GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, 0xC8); - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].data[0] = battlerId; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; } } void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) { bool8 invisible = FALSE; - u8 battlerId = shadowSprite->tBattlerId; - struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battlerId]]; + u8 battler = shadowSprite->tBattlerId; + struct Sprite *battlerSprite = &gSprites[gBattlerSpriteIds[battler]]; - if (!battlerSprite->inUse || !IsBattlerSpritePresent(battlerId)) + if (!battlerSprite->inUse || !IsBattlerSpritePresent(battler)) { shadowSprite->callback = SpriteCB_SetInvisible; return; } if (gAnimScriptActive || battlerSprite->invisible) invisible = TRUE; - else if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE - && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies] == 0) + else if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE + && gEnemyMonElevation[gBattleSpritesDataPtr->battlerData[battler].transformSpecies] == 0) invisible = TRUE; - if (gBattleSpritesDataPtr->battlerData[battlerId].behindSubstitute) + if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) invisible = TRUE; shadowSprite->x = battlerSprite->x; @@ -1125,24 +1124,24 @@ void SpriteCB_SetInvisible(struct Sprite *sprite) sprite->invisible = TRUE; } -void SetBattlerShadowSpriteCallback(u8 battlerId, u16 species) +void SetBattlerShadowSpriteCallback(u8 battler, u16 species) { // The player's shadow is never seen. - if (GetBattlerSide(battlerId) == B_SIDE_PLAYER || gBattleScripting.monCaught) + if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) return; - if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE) - species = gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies; + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; if (gEnemyMonElevation[species] != 0) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_EnemyShadow; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_EnemyShadow; else - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; } -void HideBattlerShadowSprite(u8 battlerId) +void HideBattlerShadowSprite(u8 battler) { - gSprites[gBattleSpritesDataPtr->healthBoxesData[battlerId].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; } // Color the background tiles surrounding the action selection and move windows @@ -1169,11 +1168,11 @@ void FillAroundBattleWindows(void) } } -void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute) +void ClearTemporarySpeciesSpriteData(u8 battler, bool8 dontClearSubstitute) { - gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies = SPECIES_NONE; + gBattleSpritesDataPtr->battlerData[battler].transformSpecies = SPECIES_NONE; if (!dontClearSubstitute) - ClearBehindSubstituteBit(battlerId); + ClearBehindSubstituteBit(battler); } void AllocateMonSpritesGfx(void) diff --git a/src/battle_main.c b/src/battle_main.c index 02a6f37bb4..188732534d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -2999,9 +2999,11 @@ void BeginBattleIntro(void) static void BattleMainCB1(void) { + u32 battler; + gBattleMainFunc(); - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) - gBattlerControllerFuncs[gActiveBattler](gActiveBattler); + for (battler = 0; battler < gBattlersCount; battler++) + gBattlerControllerFuncs[battler](battler); } static void BattleStartClearSetData(void) @@ -4069,47 +4071,47 @@ enum static void HandleTurnActionSelectionState(void) { - s32 i; + s32 i, battler; gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0; - for (gActiveBattler = 0; gActiveBattler < gBattlersCount; gActiveBattler++) + for (battler = 0; battler < gBattlersCount; battler++) { - u8 position = GetBattlerPosition(gActiveBattler); - switch (gBattleCommunication[gActiveBattler]) + u8 position = GetBattlerPosition(battler); + switch (gBattleCommunication[battler]) { case STATE_TURN_START_RECORD: // Recorded battle related action on start of every turn. - RecordedBattle_CopyBattlerMoves(gActiveBattler); - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + RecordedBattle_CopyBattlerMoves(battler); + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; // Do AI score computations here so we can use them in AI_TrySwitchOrUseItem if ((gBattleTypeFlags & BATTLE_TYPE_HAS_AI || IsWildMonSmart()) - && (BattlerHasAi(gActiveBattler) && !(gBattleTypeFlags & BATTLE_TYPE_PALACE))) + && (BattlerHasAi(battler) && !(gBattleTypeFlags & BATTLE_TYPE_PALACE))) { - gBattleStruct->aiMoveOrAction[gActiveBattler] = ComputeBattleAiScores(gActiveBattler); + gBattleStruct->aiMoveOrAction[battler] = ComputeBattleAiScores(battler); } break; case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. - *(gBattleStruct->monToSwitchIntoId + gActiveBattler) = PARTY_SIZE; + *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI || (position & BIT_FLANK) == B_FLANK_LEFT || gBattleStruct->absentBattlerFlags & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))] || gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(position))] == STATE_WAIT_ACTION_CONFIRMED) { - if (gBattleStruct->absentBattlerFlags & gBitTable[gActiveBattler]) + if (gBattleStruct->absentBattlerFlags & gBitTable[battler]) { - gChosenActionByBattler[gActiveBattler] = B_ACTION_NOTHING_FAINTED; + gChosenActionByBattler[battler] = B_ACTION_NOTHING_FAINTED; if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED; + gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED; else - gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; } else { - if (gBattleMons[gActiveBattler].status2 & STATUS2_MULTIPLETURNS - || gBattleMons[gActiveBattler].status2 & STATUS2_RECHARGE) + if (gBattleMons[battler].status2 & STATUS2_MULTIPLETURNS + || gBattleMons[battler].status2 & STATUS2_RECHARGE) { - gChosenActionByBattler[gActiveBattler] = B_ACTION_USE_MOVE; - gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + gChosenActionByBattler[battler] = B_ACTION_USE_MOVE; + gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; } else if (WILD_DOUBLE_BATTLE && position == B_POSITION_PLAYER_RIGHT @@ -4117,41 +4119,41 @@ static void HandleTurnActionSelectionState(void) && gChosenActionByBattler[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)] != B_ACTION_NOTHING_FAINTED) { gBattleStruct->throwingPokeBall = FALSE; - gChosenActionByBattler[gActiveBattler] = B_ACTION_NOTHING_FAINTED; // Not fainted, but it cannot move, because of the throwing ball. - gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + gChosenActionByBattler[battler] = B_ACTION_NOTHING_FAINTED; // Not fainted, but it cannot move, because of the throwing ball. + gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; } else { - gBattleStruct->itemPartyIndex[gActiveBattler] = PARTY_SIZE; - BtlController_EmitChooseAction(gActiveBattler, BUFFER_A, gChosenActionByBattler[0], gBattleResources->bufferB[0][1] | (gBattleResources->bufferB[0][2] << 8)); - MarkBattlerForControllerExec(gActiveBattler); - gBattleCommunication[gActiveBattler]++; + gBattleStruct->itemPartyIndex[battler] = PARTY_SIZE; + BtlController_EmitChooseAction(battler, BUFFER_A, gChosenActionByBattler[0], gBattleResources->bufferB[0][1] | (gBattleResources->bufferB[0][2] << 8)); + MarkBattlerForControllerExec(battler); + gBattleCommunication[battler]++; } } } break; case STATE_WAIT_ACTION_CHOSEN: // Try to perform an action. - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) { - RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][1]); - gChosenActionByBattler[gActiveBattler] = gBattleResources->bufferB[gActiveBattler][1]; + RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][1]); + gChosenActionByBattler[battler] = gBattleResources->bufferB[battler][1]; - switch (gBattleResources->bufferB[gActiveBattler][1]) + switch (gBattleResources->bufferB[battler][1]) { case B_ACTION_USE_MOVE: - if (AreAllMovesUnusable(gActiveBattler)) + if (AreAllMovesUnusable(battler)) { - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_WAIT_ACTION_CONFIRMED_STANDBY; - *(gBattleStruct->moveTarget + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][3]; + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + *(gBattleStruct->moveTarget + battler) = gBattleResources->bufferB[battler][3]; return; } - else if (gDisableStructs[gActiveBattler].encoredMove != 0) + else if (gDisableStructs[battler].encoredMove != 0) { - gChosenMoveByBattler[gActiveBattler] = gDisableStructs[gActiveBattler].encoredMove; - *(gBattleStruct->chosenMovePositions + gActiveBattler) = gDisableStructs[gActiveBattler].encoredMovePos; - gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + gChosenMoveByBattler[battler] = gDisableStructs[battler].encoredMove; + *(gBattleStruct->chosenMovePositions + battler) = gDisableStructs[battler].encoredMovePos; + gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; return; } else @@ -4160,33 +4162,33 @@ static void HandleTurnActionSelectionState(void) moveInfo.zmove = gBattleStruct->zmove; moveInfo.mega = gBattleStruct->mega; - moveInfo.species = gBattleMons[gActiveBattler].species; - moveInfo.monType1 = gBattleMons[gActiveBattler].type1; - moveInfo.monType2 = gBattleMons[gActiveBattler].type2; - moveInfo.monType3 = gBattleMons[gActiveBattler].type3; + moveInfo.species = gBattleMons[battler].species; + moveInfo.monType1 = gBattleMons[battler].type1; + moveInfo.monType2 = gBattleMons[battler].type2; + moveInfo.monType3 = gBattleMons[battler].type3; for (i = 0; i < MAX_MON_MOVES; i++) { - moveInfo.moves[i] = gBattleMons[gActiveBattler].moves[i]; - moveInfo.currentPp[i] = gBattleMons[gActiveBattler].pp[i]; + moveInfo.moves[i] = gBattleMons[battler].moves[i]; + moveInfo.currentPp[i] = gBattleMons[battler].pp[i]; moveInfo.maxPp[i] = CalculatePPWithBonus( - gBattleMons[gActiveBattler].moves[i], - gBattleMons[gActiveBattler].ppBonuses, + gBattleMons[battler].moves[i], + gBattleMons[battler].ppBonuses, i); } - BtlController_EmitChooseMove(gActiveBattler, BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitChooseMove(battler, BUFFER_A, (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) != 0, FALSE, &moveInfo); + MarkBattlerForControllerExec(battler); } break; case B_ACTION_USE_ITEM: if (FlagGet(B_FLAG_NO_BAG_USE)) { - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); - gSelectionBattleScripts[gActiveBattler] = BattleScript_ActionSelectionItemsCantBeUsed; - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + RecordedBattle_ClearBattlerAction(battler, 1); + gSelectionBattleScripts[battler] = BattleScript_ActionSelectionItemsCantBeUsed; + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; return; } @@ -4196,144 +4198,144 @@ static void HandleTurnActionSelectionState(void) | BATTLE_TYPE_RECORDED_LINK)) && !gTestRunnerEnabled) // Or if currently held by Sky Drop - || gStatuses3[gActiveBattler] & STATUS3_SKY_DROPPED) + || gStatuses3[battler] & STATUS3_SKY_DROPPED) { - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); - gSelectionBattleScripts[gActiveBattler] = BattleScript_ActionSelectionItemsCantBeUsed; - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + RecordedBattle_ClearBattlerAction(battler, 1); + gSelectionBattleScripts[battler] = BattleScript_ActionSelectionItemsCantBeUsed; + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; return; } else { - BtlController_EmitChooseItem(gActiveBattler, BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitChooseItem(battler, BUFFER_A, gBattleStruct->battlerPartyOrders[battler]); + MarkBattlerForControllerExec(battler); } break; case B_ACTION_SWITCH: - *(gBattleStruct->battlerPartyIndexes + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; + *(gBattleStruct->battlerPartyIndexes + battler) = gBattlerPartyIndexes[battler]; if (gBattleTypeFlags & BATTLE_TYPE_ARENA - || !CanBattlerEscape(gActiveBattler)) + || !CanBattlerEscape(battler)) { - BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CANT_SWITCH, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); } - else if (ItemId_GetHoldEffect(gBattleMons[gActiveBattler].item) != HOLD_EFFECT_SHED_SHELL - && (i = IsAbilityPreventingEscape(gActiveBattler))) // must be last to keep i value integrity + else if (ItemId_GetHoldEffect(gBattleMons[battler].item) != HOLD_EFFECT_SHED_SHELL + && (i = IsAbilityPreventingEscape(battler))) // must be last to keep i value integrity { - BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(battler, BUFFER_A, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, PARTY_SIZE, gBattleMons[i - 1].ability, gBattleStruct->battlerPartyOrders[battler]); } else { - if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); - else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) - BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + if (battler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); + else if (battler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); else - BtlController_EmitChoosePokemon(gActiveBattler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gActiveBattler]); + BtlController_EmitChoosePokemon(battler, BUFFER_A, PARTY_ACTION_CHOOSE_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[battler]); } - MarkBattlerForControllerExec(gActiveBattler); + MarkBattlerForControllerExec(battler); break; case B_ACTION_SAFARI_BALL: if (IsPlayerPartyAndPokemonStorageFull()) { - gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintFullBox; - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + gSelectionBattleScripts[battler] = BattleScript_PrintFullBox; + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; return; } break; case B_ACTION_SAFARI_POKEBLOCK: - BtlController_EmitChooseItem(gActiveBattler, BUFFER_A, gBattleStruct->battlerPartyOrders[gActiveBattler]); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitChooseItem(battler, BUFFER_A, gBattleStruct->battlerPartyOrders[battler]); + MarkBattlerForControllerExec(battler); break; case B_ACTION_CANCEL_PARTNER: - gBattleCommunication[gActiveBattler] = STATE_WAIT_SET_BEFORE_ACTION; - gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] = STATE_BEFORE_ACTION_CHOSEN; - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); - if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_MULTIPLETURNS - || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].status2 & STATUS2_RECHARGE) + gBattleCommunication[battler] = STATE_WAIT_SET_BEFORE_ACTION; + gBattleCommunication[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))] = STATE_BEFORE_ACTION_CHOSEN; + RecordedBattle_ClearBattlerAction(battler, 1); + if (gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))].status2 & STATUS2_MULTIPLETURNS + || gBattleMons[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))].status2 & STATUS2_RECHARGE) { - BtlController_EmitEndBounceEffect(gActiveBattler, BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitEndBounceEffect(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); return; } - else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_SWITCH) + else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))] == B_ACTION_SWITCH) { - RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 2); + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))), 2); } - else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_RUN) + else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))] == B_ACTION_RUN) { - RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))), 1); } - else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_USE_MOVE - && (gProtectStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].noValidMoves - || gDisableStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))].encoredMove)) + else if (gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))] == B_ACTION_USE_MOVE + && (gProtectStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))].noValidMoves + || gDisableStructs[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))].encoredMove)) { - RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))), 1); } else if (gBattleTypeFlags & BATTLE_TYPE_PALACE - && gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler)))] == B_ACTION_USE_MOVE) + && gChosenActionByBattler[GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler)))] == B_ACTION_USE_MOVE) { gRngValue = gBattlePalaceMoveSelectionRngValue; - RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 1); + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))), 1); } else { - RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))), 3); + RecordedBattle_ClearBattlerAction(GetBattlerAtPosition(BATTLE_PARTNER(GetBattlerPosition(battler))), 3); } - gBattleStruct->mega.toEvolve &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))]); - gBattleStruct->zmove.toBeUsed[BATTLE_PARTNER(GetBattlerPosition(gActiveBattler))] = MOVE_NONE; - BtlController_EmitEndBounceEffect(gActiveBattler, BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + gBattleStruct->mega.toEvolve &= ~(gBitTable[BATTLE_PARTNER(GetBattlerPosition(battler))]); + gBattleStruct->zmove.toBeUsed[BATTLE_PARTNER(GetBattlerPosition(battler))] = MOVE_NONE; + BtlController_EmitEndBounceEffect(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); return; case B_ACTION_DEBUG: - BtlController_EmitDebugMenu(gActiveBattler, BUFFER_A); - MarkBattlerForControllerExec(gActiveBattler); + BtlController_EmitDebugMenu(battler, BUFFER_A); + MarkBattlerForControllerExec(battler); break; } if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_TRAINER_HILL) - && gBattleResources->bufferB[gActiveBattler][1] == B_ACTION_RUN) + && gBattleResources->bufferB[battler][1] == B_ACTION_RUN) { - gSelectionBattleScripts[gActiveBattler] = BattleScript_AskIfWantsToForfeitMatch; - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT_MAY_RUN; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + gSelectionBattleScripts[battler] = BattleScript_AskIfWantsToForfeitMatch; + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT_MAY_RUN; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; return; } else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) - && gBattleResources->bufferB[gActiveBattler][1] == B_ACTION_RUN) + && gBattleResources->bufferB[battler][1] == B_ACTION_RUN) { BattleScriptExecute(BattleScript_PrintCantRunFromTrainer); - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; } - else if (IsRunningFromBattleImpossible(gActiveBattler) != BATTLE_RUN_SUCCESS - && gBattleResources->bufferB[gActiveBattler][1] == B_ACTION_RUN) + else if (IsRunningFromBattleImpossible(battler) != BATTLE_RUN_SUCCESS + && gBattleResources->bufferB[battler][1] == B_ACTION_RUN) { - gSelectionBattleScripts[gActiveBattler] = BattleScript_PrintCantEscapeFromBattle; - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_BEFORE_ACTION_CHOSEN; + gSelectionBattleScripts[battler] = BattleScript_PrintCantEscapeFromBattle; + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_BEFORE_ACTION_CHOSEN; return; } else { - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; } } break; case STATE_WAIT_ACTION_CASE_CHOSEN: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) { - switch (gChosenActionByBattler[gActiveBattler]) + switch (gChosenActionByBattler[battler]) { case B_ACTION_USE_MOVE: - switch (gBattleResources->bufferB[gActiveBattler][1]) + switch (gBattleResources->bufferB[battler][1]) { case 3: case 4: @@ -4342,112 +4344,112 @@ static void HandleTurnActionSelectionState(void) case 7: case 8: case 9: - gChosenActionByBattler[gActiveBattler] = gBattleResources->bufferB[gActiveBattler][1]; + gChosenActionByBattler[battler] = gBattleResources->bufferB[battler][1]; return; case 15: - gChosenActionByBattler[gActiveBattler] = B_ACTION_SWITCH; - UpdateBattlerPartyOrdersOnSwitch(gActiveBattler); + gChosenActionByBattler[battler] = B_ACTION_SWITCH; + UpdateBattlerPartyOrdersOnSwitch(battler); return; default: RecordedBattle_CheckMovesetChanges(B_RECORD_MODE_PLAYBACK); - if ((gBattleResources->bufferB[gActiveBattler][2] | (gBattleResources->bufferB[gActiveBattler][3] << 8)) == 0xFFFF) + if ((gBattleResources->bufferB[battler][2] | (gBattleResources->bufferB[battler][3] << 8)) == 0xFFFF) { - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; + RecordedBattle_ClearBattlerAction(battler, 1); } - else if (TrySetCantSelectMoveBattleScript(gActiveBattler)) + else if (TrySetCantSelectMoveBattleScript(battler)) { - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); - gBattleCommunication[gActiveBattler] = STATE_SELECTION_SCRIPT; - *(gBattleStruct->selectionScriptFinished + gActiveBattler) = FALSE; - gBattleResources->bufferB[gActiveBattler][1] = B_ACTION_USE_MOVE; - *(gBattleStruct->stateIdAfterSelScript + gActiveBattler) = STATE_WAIT_ACTION_CHOSEN; + RecordedBattle_ClearBattlerAction(battler, 1); + gBattleCommunication[battler] = STATE_SELECTION_SCRIPT; + *(gBattleStruct->selectionScriptFinished + battler) = FALSE; + gBattleResources->bufferB[battler][1] = B_ACTION_USE_MOVE; + *(gBattleStruct->stateIdAfterSelScript + battler) = STATE_WAIT_ACTION_CHOSEN; return; } else { if (!(gBattleTypeFlags & BATTLE_TYPE_PALACE)) { - RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][2]); - RecordedBattle_SetBattlerAction(gActiveBattler, gBattleResources->bufferB[gActiveBattler][3]); + RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][2]); + RecordedBattle_SetBattlerAction(battler, gBattleResources->bufferB[battler][3]); } - *(gBattleStruct->chosenMovePositions + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][2] & ~RET_MEGA_EVOLUTION; - gChosenMoveByBattler[gActiveBattler] = gBattleMons[gActiveBattler].moves[*(gBattleStruct->chosenMovePositions + gActiveBattler)]; - *(gBattleStruct->moveTarget + gActiveBattler) = gBattleResources->bufferB[gActiveBattler][3]; - if (gBattleResources->bufferB[gActiveBattler][2] & RET_MEGA_EVOLUTION) - gBattleStruct->mega.toEvolve |= gBitTable[gActiveBattler]; - gBattleCommunication[gActiveBattler]++; + *(gBattleStruct->chosenMovePositions + battler) = gBattleResources->bufferB[battler][2] & ~RET_MEGA_EVOLUTION; + gChosenMoveByBattler[battler] = gBattleMons[battler].moves[*(gBattleStruct->chosenMovePositions + battler)]; + *(gBattleStruct->moveTarget + battler) = gBattleResources->bufferB[battler][3]; + if (gBattleResources->bufferB[battler][2] & RET_MEGA_EVOLUTION) + gBattleStruct->mega.toEvolve |= gBitTable[battler]; + gBattleCommunication[battler]++; } break; } break; case B_ACTION_USE_ITEM: - if ((gBattleResources->bufferB[gActiveBattler][1] | (gBattleResources->bufferB[gActiveBattler][2] << 8)) == 0) + if ((gBattleResources->bufferB[battler][1] | (gBattleResources->bufferB[battler][2] << 8)) == 0) { - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; } else { - gLastUsedItem = (gBattleResources->bufferB[gActiveBattler][1] | (gBattleResources->bufferB[gActiveBattler][2] << 8)); + gLastUsedItem = (gBattleResources->bufferB[battler][1] | (gBattleResources->bufferB[battler][2] << 8)); if (ItemId_GetPocket(gLastUsedItem) == POCKET_POKE_BALLS) gBattleStruct->throwingPokeBall = TRUE; - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; } break; case B_ACTION_SWITCH: - if (gBattleResources->bufferB[gActiveBattler][1] == PARTY_SIZE) + if (gBattleResources->bufferB[battler][1] == PARTY_SIZE) { - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; + RecordedBattle_ClearBattlerAction(battler, 1); } else { - UpdateBattlerPartyOrdersOnSwitch(gActiveBattler); - gBattleCommunication[gActiveBattler]++; + UpdateBattlerPartyOrdersOnSwitch(battler); + gBattleCommunication[battler]++; } break; case B_ACTION_RUN: gHitMarker |= HITMARKER_RUN; - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_SAFARI_WATCH_CAREFULLY: - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_SAFARI_BALL: - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_THROW_BALL: gBattleStruct->throwingPokeBall = TRUE; - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_SAFARI_POKEBLOCK: - if ((gBattleResources->bufferB[gActiveBattler][1] | (gBattleResources->bufferB[gActiveBattler][2] << 8)) != 0) - gBattleCommunication[gActiveBattler]++; + if ((gBattleResources->bufferB[battler][1] | (gBattleResources->bufferB[battler][2] << 8)) != 0) + gBattleCommunication[battler]++; else - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; break; case B_ACTION_SAFARI_GO_NEAR: - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_SAFARI_RUN: gHitMarker |= HITMARKER_RUN; - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_WALLY_THROW: - gBattleCommunication[gActiveBattler]++; + gBattleCommunication[battler]++; break; case B_ACTION_DEBUG: - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; break; } } break; case STATE_WAIT_ACTION_CONFIRMED_STANDBY: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) - | (gBitTable[gActiveBattler] << 4) - | (gBitTable[gActiveBattler] << 8) - | (gBitTable[gActiveBattler] << 12)))) + | (gBitTable[battler] << 4) + | (gBitTable[battler] << 8) + | (gBitTable[battler] << 12)))) { if (AllAtActionConfirmed()) i = TRUE; @@ -4458,68 +4460,68 @@ static void HandleTurnActionSelectionState(void) || (position & BIT_FLANK) != B_FLANK_LEFT || (*(&gBattleStruct->absentBattlerFlags) & gBitTable[GetBattlerAtPosition(BATTLE_PARTNER(position))])) { - BtlController_EmitLinkStandbyMsg(gActiveBattler, BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_MSG_STOP_BOUNCE, i); } else { - BtlController_EmitLinkStandbyMsg(gActiveBattler, BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); + BtlController_EmitLinkStandbyMsg(battler, BUFFER_A, LINK_STANDBY_STOP_BOUNCE_ONLY, i); } - MarkBattlerForControllerExec(gActiveBattler); - gBattleCommunication[gActiveBattler]++; + MarkBattlerForControllerExec(battler); + gBattleCommunication[battler]++; } break; case STATE_WAIT_ACTION_CONFIRMED: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) { gBattleCommunication[ACTIONS_CONFIRMED_COUNT]++; } break; case STATE_SELECTION_SCRIPT: - if (*(gBattleStruct->selectionScriptFinished + gActiveBattler)) + if (*(gBattleStruct->selectionScriptFinished + battler)) { - gBattleCommunication[gActiveBattler] = *(gBattleStruct->stateIdAfterSelScript + gActiveBattler); + gBattleCommunication[battler] = *(gBattleStruct->stateIdAfterSelScript + battler); } else { - gBattlerAttacker = gActiveBattler; - gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + gBattlerAttacker = battler; + gBattlescriptCurrInstr = gSelectionBattleScripts[battler]; + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } - gSelectionBattleScripts[gActiveBattler] = gBattlescriptCurrInstr; + gSelectionBattleScripts[battler] = gBattlescriptCurrInstr; } break; case STATE_WAIT_SET_BEFORE_ACTION: - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) { - gBattleCommunication[gActiveBattler] = STATE_BEFORE_ACTION_CHOSEN; + gBattleCommunication[battler] = STATE_BEFORE_ACTION_CHOSEN; } break; case STATE_SELECTION_SCRIPT_MAY_RUN: - if (*(gBattleStruct->selectionScriptFinished + gActiveBattler)) + if (*(gBattleStruct->selectionScriptFinished + battler)) { - if (gBattleResources->bufferB[gActiveBattler][1] == B_ACTION_NOTHING_FAINTED) + if (gBattleResources->bufferB[battler][1] == B_ACTION_NOTHING_FAINTED) { gHitMarker |= HITMARKER_RUN; - gChosenActionByBattler[gActiveBattler] = B_ACTION_RUN; - gBattleCommunication[gActiveBattler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; + gChosenActionByBattler[battler] = B_ACTION_RUN; + gBattleCommunication[battler] = STATE_WAIT_ACTION_CONFIRMED_STANDBY; } else { - RecordedBattle_ClearBattlerAction(gActiveBattler, 1); - gBattleCommunication[gActiveBattler] = *(gBattleStruct->stateIdAfterSelScript + gActiveBattler); + RecordedBattle_ClearBattlerAction(battler, 1); + gBattleCommunication[battler] = *(gBattleStruct->stateIdAfterSelScript + battler); } } else { - gBattlerAttacker = gActiveBattler; - gBattlescriptCurrInstr = gSelectionBattleScripts[gActiveBattler]; - if (!(gBattleControllerExecFlags & ((gBitTable[gActiveBattler]) | (0xF << 28) | (gBitTable[gActiveBattler] << 4) | (gBitTable[gActiveBattler] << 8) | (gBitTable[gActiveBattler] << 12)))) + gBattlerAttacker = battler; + gBattlescriptCurrInstr = gSelectionBattleScripts[battler]; + if (!(gBattleControllerExecFlags & ((gBitTable[battler]) | (0xF << 28) | (gBitTable[battler] << 4) | (gBitTable[battler] << 8) | (gBitTable[battler] << 12)))) { gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } - gSelectionBattleScripts[gActiveBattler] = gBattlescriptCurrInstr; + gSelectionBattleScripts[battler] = gBattlescriptCurrInstr; } break; } @@ -5007,12 +5009,12 @@ static bool32 TryDoMegaEvosBeforeMoves(void) if (gBattleStruct->mega.toEvolve & gBitTable[megaOrder[i]] && !(gProtectStructs[megaOrder[i]].noValidMoves)) { - gActiveBattler = gBattlerAttacker = megaOrder[i]; - gBattleStruct->mega.toEvolve &= ~(gBitTable[gActiveBattler]); - gLastUsedItem = gBattleMons[gActiveBattler].item; - party = GetBattlerParty(gActiveBattler); - mon = &party[gBattlerPartyIndexes[gActiveBattler]]; - if (GetBattleFormChangeTargetSpecies(gActiveBattler, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE) != SPECIES_NONE) + gBattlerAttacker = megaOrder[i]; + gBattleStruct->mega.toEvolve &= ~(gBitTable[gBattlerAttacker]); + gLastUsedItem = gBattleMons[gBattlerAttacker].item; + party = GetBattlerParty(gBattlerAttacker); + mon = &party[gBattlerPartyIndexes[gBattlerAttacker]]; + if (GetBattleFormChangeTargetSpecies(gBattlerAttacker, FORM_CHANGE_BATTLE_MEGA_EVOLUTION_MOVE) != SPECIES_NONE) BattleScriptExecute(BattleScript_WishMegaEvolution); else BattleScriptExecute(BattleScript_MegaEvolution); diff --git a/src/battle_util.c b/src/battle_util.c index a9b04e715c..4c9c1fc5e1 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -547,7 +547,7 @@ void HandleAction_Switch(void) void HandleAction_UseItem(void) { - gActiveBattler = gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; + gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; gBattle_BG0_X = 0; gBattle_BG0_Y = 0; ClearFuryCutterDestinyBondGrudge(gBattlerAttacker); diff --git a/src/pokemon.c b/src/pokemon.c index 6c00e18e9e..9181ed08d9 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4408,17 +4408,17 @@ void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move) SetBoxMonData(boxMon, MON_DATA_PP_BONUSES, &ppBonuses); } -u8 CountAliveMonsInBattle(u8 caseId) +u8 CountAliveMonsInBattle(u8 caseId, u32 battler) { s32 i; u8 retVal = 0; switch (caseId) { - case BATTLE_ALIVE_EXCEPT_ACTIVE: + case BATTLE_ALIVE_EXCEPT_BATTLER: for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (i != gActiveBattler && !(gAbsentBattlerFlags & gBitTable[i])) + if (i != battler && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; @@ -4454,7 +4454,7 @@ u8 GetDefaultMoveTarget(u8 battlerId) if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return GetBattlerAtPosition(opposing); - if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ACTIVE) > 1) + if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, battlerId) > 1) { u8 position; @@ -5518,7 +5518,7 @@ u8 CalculatePartyCount(struct Pokemon *party) { partyCount++; } - + return partyCount; } @@ -6230,7 +6230,7 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 battlePartyId, u32 healMask, } } -u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) +u8 GetItemEffectParamOffset(u32 battler, u16 itemId, u8 effectByte, u8 effectBit) { const u8 *temp; const u8 *itemEffect; @@ -6248,7 +6248,7 @@ u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) if (itemId == ITEM_ENIGMA_BERRY_E_READER) { - temp = gEnigmaBerries[gActiveBattler].itemEffect; + temp = gEnigmaBerries[battler].itemEffect; } itemEffect = temp; From c29f8259f6b3bcd3506cfee42a50fcacbc3631f8 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 30 Aug 2023 12:46:22 +0200 Subject: [PATCH 201/256] remove gActiveBattler entirely --- charmap.txt | 6 ++--- data/battle_scripts_2.s | 1 + include/battle.h | 2 +- include/battle_message.h | 6 ++--- include/constants/pokemon.h | 4 +-- src/battle_controller_opponent.c | 2 +- src/battle_controller_player.c | 1 + src/battle_controller_recorded_opponent.c | 2 +- src/battle_controller_recorded_player.c | 2 +- src/battle_main.c | 3 ++- src/battle_message.c | 32 +++++++++++------------ src/battle_script_commands.c | 10 +++---- src/pokemon.c | 18 ++----------- 13 files changed, 38 insertions(+), 51 deletions(-) diff --git a/charmap.txt b/charmap.txt index 220ff2ed55..4c2b1ed971 100644 --- a/charmap.txt +++ b/charmap.txt @@ -367,7 +367,7 @@ B_ATK_PARTNER_NAME = FD 0E B_ATK_NAME_WITH_PREFIX = FD 0F B_DEF_NAME_WITH_PREFIX = FD 10 B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler -B_ACTIVE_NAME_WITH_PREFIX = FD 12 +B_SELECTION_NAME_WITH_PREFIX = FD 12 B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13 B_CURRENT_MOVE = FD 14 B_LAST_MOVE = FD 15 @@ -409,8 +409,8 @@ B_ATK_TEAM2 = FD 38 B_DEF_NAME = FD 39 B_DEF_TEAM1 = FD 3A B_DEF_TEAM2 = FD 3B -B_ACTIVE_NAME = FD 3C -B_ACTIVE_NAME2 = FD 3D @ no Illusion check +B_SELECTION_NAME = FD 3C +B_SELECTION_NAME2 = FD 3D @ no Illusion check @ indicates the end of a town/city name (before " TOWN" or " CITY") NAME_END = FC 00 diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 0c6c133b50..5b0827ade6 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -112,6 +112,7 @@ BattleScript_ItemSetFocusEnergy:: setfocusenergy playmoveanimation BS_ATTACKER, MOVE_FOCUS_ENERGY waitanimation + copybyte sBATTLER, gBattlerAttacker printstring STRINGID_PKMNUSEDXTOGETPUMPED waitmessage B_WAIT_TIME_LONG end diff --git a/include/battle.h b/include/battle.h index d7ab162a41..35efb09e48 100644 --- a/include/battle.h +++ b/include/battle.h @@ -910,7 +910,7 @@ extern u8 gBattleTerrain; extern u32 gUnusedFirstBattleVar1; extern u8 *gBattleAnimBgTileBuffer; extern u8 *gBattleAnimBgTilemapBuffer; -extern u8 gActiveBattler; +extern u8 gSelectionBattler; extern u32 gBattleControllerExecFlags; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; diff --git a/include/battle_message.h b/include/battle_message.h index 24442b36b0..45604932ed 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -26,7 +26,7 @@ #define B_TXT_ATK_NAME_WITH_PREFIX 0xF #define B_TXT_DEF_NAME_WITH_PREFIX 0x10 #define B_TXT_EFF_NAME_WITH_PREFIX 0x11 // EFF = short for gEffectBank -#define B_TXT_ACTIVE_NAME_WITH_PREFIX 0x12 +#define B_TXT_SELECTION_NAME_WITH_PREFIX 0x12 #define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 0x13 #define B_TXT_CURRENT_MOVE 0x14 #define B_TXT_LAST_MOVE 0x15 @@ -68,8 +68,8 @@ #define B_TXT_DEF_NAME 0x39 #define B_TXT_DEF_TEAM1 0x3A // Your/The opposing #define B_TXT_DEF_TEAM2 0x3B // your/the opposing -#define B_TXT_ACTIVE_NAME 0x3C -#define B_TXT_ACTIVE_NAME2 0x3D // no Illusion check +#define B_TXT_SELECTION_NAME 0x3C +#define B_TXT_SELECTION_NAME2 0x3D // no Illusion check // for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3 diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 62a5f77d52..81f4521ae3 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -306,9 +306,7 @@ #define MAX_MON_PIC_FRAMES 2 #define BATTLE_ALIVE_EXCEPT_BATTLER 0 -#define BATTLE_ALIVE_ATK_SIDE 1 -#define BATTLE_ALIVE_DEF_SIDE 2 -#define BATTLE_ALIVE_EXCEPT_ATTACKER 3 +#define BATTLE_ALIVE_SIDE 1 #define SKIP_FRONT_ANIM (1 << 7) diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 85bc009c70..b45da7585e 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -525,7 +525,7 @@ static void OpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); } else { diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 07f752ffe6..439ffa6ef4 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1890,6 +1890,7 @@ static void PlayerHandleChooseAction(u32 battler) TryRestoreLastUsedBall(); ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); + gSelectionBattler = battler; BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index be7f202092..2443b56f74 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -468,7 +468,7 @@ static void RecordedOpponentHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); } else { diff --git a/src/battle_controller_recorded_player.c b/src/battle_controller_recorded_player.c index a36776ccbf..9c8acdbd17 100644 --- a/src/battle_controller_recorded_player.c +++ b/src/battle_controller_recorded_player.c @@ -474,7 +474,7 @@ static void RecordedPlayerHandleChooseMove(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) { - BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace()); + BtlController_EmitTwoReturnValues(battler, BUFFER_B, 10, ChooseMoveAndTargetInBattlePalace(battler)); } else { diff --git a/src/battle_main.c b/src/battle_main.c index 188732534d..98ed8be044 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -151,7 +151,7 @@ EWRAM_DATA struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE] = EWRAM_DATA static struct MultiPartnerMenuPokemon* sMultiPartnerPartyBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTileBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTilemapBuffer = NULL; -EWRAM_DATA u8 gActiveBattler = 0; +EWRAM_DATA u8 gSelectionBattler = 0; EWRAM_DATA u32 gBattleControllerExecFlags = 0; EWRAM_DATA u8 gBattlersCount = 0; EWRAM_DATA u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT] = {0}; @@ -4091,6 +4091,7 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. + gSelectionBattler = battler; *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI || (position & BIT_FLANK) == B_FLANK_LEFT diff --git a/src/battle_message.c b/src/battle_message.c index de3af28d64..eedec74ac2 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -265,17 +265,17 @@ static const u8 sText_XFoundOneY[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_L static const u8 sText_SoothingAroma[] = _("A soothing aroma wafted\nthrough the area!"); static const u8 sText_ItemsCantBeUsedNow[] = _("Items can't be used now.{PAUSE 64}"); static const u8 sText_ForXCommaYZ[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}"); -static const u8 sText_PkmnUsedXToGetPumped[] = _("{B_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to get pumped!"); +static const u8 sText_PkmnUsedXToGetPumped[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to get pumped!"); static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn't move!"); static const u8 sText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p"); static const u8 sText_TheWallShattered[] = _("The wall shattered!"); static const u8 sText_ButNoEffect[] = _("But it had no effect!"); -static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_ACTIVE_NAME_WITH_PREFIX} has no\nmoves left!\p"); -static const u8 sText_PkmnMoveIsDisabled[] = _("{B_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); -static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the Torment!\p"); -static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the Taunt!\p"); -static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); -static const u8 sText_PkmnCantUseMoveThroatChop[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} due to Throat Chop!\p"); +static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_SELECTION_NAME_WITH_PREFIX} has no\nmoves left!\p"); +static const u8 sText_PkmnMoveIsDisabled[] = _("{B_SELECTION_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); +static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the Torment!\p"); +static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the Taunt!\p"); +static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); +static const u8 sText_PkmnCantUseMoveThroatChop[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} due to Throat Chop!\p"); static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!"); static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!"); static const u8 sText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!"); @@ -1945,7 +1945,7 @@ const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!"); const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{WAIT_SE}\p"); const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p"); const u8 gText_EllipsisQuestionMark[] = _("……?\p"); -const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_ACTIVE_NAME2} do?"); +const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_SELECTION_NAME2} do?"); const u8 gText_WhatWillPkmnDo2[] = _("What will\n{B_PLAYER_NAME} do?"); const u8 gText_WhatWillWallyDo[] = _("What will\nWALLY do?"); const u8 gText_LinkStandby[] = _("{PAUSE 16}Link standby…"); @@ -3244,23 +3244,23 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) GetBattlerNick(gBattlerTarget, text); toCpy = text; break; - case B_TXT_ACTIVE_NAME: // active name - GetBattlerNick(gActiveBattler, text); + case B_TXT_SELECTION_NAME: // selection name + GetBattlerNick(gSelectionBattler, text); toCpy = text; break; - case B_TXT_ACTIVE_NAME2: // active battler name with prefix, no illusion - if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, text); + case B_TXT_SELECTION_NAME2: // selection battler name with prefix, no illusion + if (GetBattlerSide(gSelectionBattler) == B_SIDE_PLAYER) + GetMonData(&gPlayerParty[gBattlerPartyIndexes[gSelectionBattler]], MON_DATA_NICKNAME, text); else - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_NICKNAME, text); + GetMonData(&gEnemyParty[gBattlerPartyIndexes[gSelectionBattler]], MON_DATA_NICKNAME, text); StringGet_Nickname(text); toCpy = text; break; case B_TXT_EFF_NAME_WITH_PREFIX: // effect battler name with prefix HANDLE_NICKNAME_STRING_CASE(gEffectBattler) break; - case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battler name with prefix - HANDLE_NICKNAME_STRING_CASE(gActiveBattler) + case B_TXT_SELECTION_NAME_WITH_PREFIX: // selection battler name with prefix + HANDLE_NICKNAME_STRING_CASE(gSelectionBattler) break; case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4fdeb31867..59eb1426e0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -9909,7 +9909,7 @@ static void Cmd_various(void) gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilTimer = 5; gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilBattlerId = battler; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 5; else gBattleCommunication[MULTISTRING_CHOOSER] = 5; @@ -11132,7 +11132,7 @@ static void Cmd_setreflect(void) gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectTimer = 5; gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectBattlerId = gBattlerAttacker; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_DOUBLE; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_SINGLE; @@ -12190,7 +12190,7 @@ static void Cmd_setlightscreen(void) gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenTimer = 5; gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenBattlerId = gBattlerAttacker; - if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_ATK_SIDE) == 2) + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_DOUBLE; else gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_SINGLE; @@ -15898,12 +15898,12 @@ bool8 IsMoveAffectedByParentalBond(u16 move, u8 battler) { // Both foes are alive, spread move strikes once case MOVE_TARGET_BOTH: - if (CountAliveMonsInBattle(BATTLE_ALIVE_DEF_SIDE) >= 2) + if (CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerTarget) >= 2) return FALSE; break; // Either both foes or one foe and its ally are alive; spread move strikes once case MOVE_TARGET_FOES_AND_ALLY: - if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_ATTACKER) >= 2) + if (CountAliveMonsInBattle(BATTLE_ALIVE_EXCEPT_BATTLER, gBattlerAttacker) >= 2) return FALSE; break; default: diff --git a/src/pokemon.c b/src/pokemon.c index 9181ed08d9..fdd5a074f4 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4422,24 +4422,10 @@ u8 CountAliveMonsInBattle(u8 caseId, u32 battler) retVal++; } break; - case BATTLE_ALIVE_ATK_SIDE: + case BATTLE_ALIVE_SIDE: for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (GetBattlerSide(i) == GetBattlerSide(gBattlerAttacker) && !(gAbsentBattlerFlags & gBitTable[i])) - retVal++; - } - break; - case BATTLE_ALIVE_DEF_SIDE: - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - { - if (GetBattlerSide(i) == GetBattlerSide(gBattlerTarget) && !(gAbsentBattlerFlags & gBitTable[i])) - retVal++; - } - break; - case BATTLE_ALIVE_EXCEPT_ATTACKER: - for (i = 0; i < MAX_BATTLERS_COUNT; i++) - { - if (i != gBattlerAttacker && !(gAbsentBattlerFlags & gBitTable[i])) + if (GetBattlerSide(i) == GetBattlerSide(battler) && !(gAbsentBattlerFlags & gBitTable[i])) retVal++; } break; From 03f82a7a98a0ff1ec4b1d6c883b9ccc2762348ad Mon Sep 17 00:00:00 2001 From: Philipp AUER Date: Thu, 31 Aug 2023 01:16:02 +0200 Subject: [PATCH 202/256] [Makefile] make -fanalyzer optional (#3265) Co-authored-by: sbird --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 3787bbe5d6..80ee5303d3 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,7 @@ MAKER_CODE := 01 REVISION := 0 MODERN ?= 0 TEST ?= 0 +ANALYZE ?= 0 ifeq (modern,$(MAKECMDGOALS)) MODERN := 1 @@ -118,7 +119,10 @@ LIBPATH := -L ../../tools/agbcc/lib LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall else CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet -override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 -fanalyzer +override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 +ifeq ($(ANALYZE),1) +override CFLAGS += -fanalyzer +endif ROM := $(MODERN_ROM_NAME) OBJ_DIR := $(MODERN_OBJ_DIR_NAME) LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))" From 82c65d37e737dae3e1c7314253ece14664c4f562 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Thu, 31 Aug 2023 03:00:59 -0400 Subject: [PATCH 203/256] Fixed 2v1 handling when debug menu is enabled (#3223) --- src/battle_main.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index d26fc325f1..ecbd0ba831 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -565,13 +565,12 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; -#if DEBUG_OVERWORLD_MENU == FALSE - - gBattleTerrain = BattleSetup_GetTerrainId(); -#else +#if DEBUG_OVERWORLD_MENU == TRUE if (!gIsDebugBattle) - gBattleTerrain = BattleSetup_GetTerrainId(); #endif + { + gBattleTerrain = BattleSetup_GetTerrainId(); + } if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) gBattleTerrain = BATTLE_TERRAIN_BUILDING; @@ -594,27 +593,19 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); -#if DEBUG_OVERWORLD_MENU == FALSE - if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) - { - CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && !BATTLE_TWO_VS_ONE_OPPONENT) - CreateNPCTrainerParty(&gEnemyParty[PARTY_SIZE / 2], gTrainerBattleOpponent_B, FALSE); - SetWildMonHeldItem(); - CalculateEnemyPartyCount(); - } -#else +#if DEBUG_OVERWORLD_MENU == TRUE if (!gIsDebugBattle) +#endif { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { CreateNPCTrainerParty(&gEnemyParty[0], gTrainerBattleOpponent_A, TRUE); - if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) + if (gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS && !BATTLE_TWO_VS_ONE_OPPONENT) CreateNPCTrainerParty(&gEnemyParty[PARTY_SIZE / 2], gTrainerBattleOpponent_B, FALSE); SetWildMonHeldItem(); + CalculateEnemyPartyCount(); } } -#endif gMain.inBattle = TRUE; gSaveBlock2Ptr->frontier.disableRecordBattle = FALSE; From 842b9dc6c0f2a4bacce7f3992eb0a6de9c128b97 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 31 Aug 2023 14:30:13 -0400 Subject: [PATCH 204/256] Incorporated bugfixes from upstream --- src/battle_factory_screen.c | 9 +++------ src/battle_gfx_sfx_util.c | 6 ++---- src/contest.c | 3 +-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index fb6926e5e1..8cba2bceef 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -639,8 +639,7 @@ static const struct SpriteSheet sSwap_SpriteSheets[] = {sActionBoxLeft_Gfx, sizeof(sActionBoxLeft_Gfx), GFXTAG_ACTION_BOX_LEFT}, {sActionBoxRight_Gfx, sizeof(sActionBoxRight_Gfx), GFXTAG_ACTION_BOX_RIGHT}, #ifdef BUGFIX - {sActionHighlightLeft_Gfx, 8 * TILE_SIZE_4BPP, /* Incorrect size */ GFXTAG_ACTION_HIGHLIGHT_LEFT}, - //{sActionHighlightLeft_Gfx, sizeof(sActionHighlightLeft_Gfx), GFXTAG_ACTION_HIGHLIGHT_LEFT}, TODOMERGE + {sActionHighlightLeft_Gfx, sizeof(sActionHighlightLeft_Gfx), GFXTAG_ACTION_HIGHLIGHT_LEFT}, #else {sActionHighlightLeft_Gfx, 8 * TILE_SIZE_4BPP, /* Incorrect size */ GFXTAG_ACTION_HIGHLIGHT_LEFT}, #endif @@ -1153,8 +1152,7 @@ static void CB2_InitSelectScreen(void) case 1: sSelectMenuTilesetBuffer = Alloc(sizeof(gFrontierFactoryMenu_Gfx)); #ifdef BUGFIX - //sSelectMonPicBgTilesetBuffer = AllocZeroed(sizeof(sMonPicBg_Gfx)); //TODOMERGE - sSelectMonPicBgTilesetBuffer = AllocZeroed(sizeof(gFrontierFactoryMenu_Gfx)); // Incorrect size + sSelectMonPicBgTilesetBuffer = AllocZeroed(sizeof(sMonPicBg_Gfx)); #else sSelectMonPicBgTilesetBuffer = AllocZeroed(sizeof(gFrontierFactoryMenu_Gfx)); // Incorrect size #endif @@ -3291,8 +3289,7 @@ static void CB2_InitSwapScreen(void) case 1: sSwapMenuTilesetBuffer = Alloc(sizeof(gFrontierFactoryMenu_Gfx)); #ifdef BUGFIX - //sSwapMonPicBgTilesetBuffer = AllocZeroed(sizeof(sMonPicBg_Gfx)); TODOMERGE - sSwapMonPicBgTilesetBuffer = AllocZeroed(sizeof(gFrontierFactoryMenu_Gfx)); // Incorrect size + sSwapMonPicBgTilesetBuffer = AllocZeroed(sizeof(sMonPicBg_Gfx)); #else sSwapMonPicBgTilesetBuffer = AllocZeroed(sizeof(gFrontierFactoryMenu_Gfx)); // Incorrect size #endif diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 1db077cba8..0dc464702a 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -197,8 +197,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) if ((numMovesPerGroup & (0xF << 4)) >= (2 << 4)) numMultipleMoveGroups++; #ifdef BUGFIX - if ((numMovesPerGroup & (0xF << 4)) >= (2 << 8)) - //if ((numMovesPerGroup & (0xF << 8)) >= (2 << 8)) TODOMERGE + if ((numMovesPerGroup & (0xF << 8)) >= (2 << 8)) #else if ((numMovesPerGroup & (0xF << 4)) >= (2 << 8)) #endif @@ -233,8 +232,7 @@ u16 ChooseMoveAndTargetInBattlePalace(void) if ((numMovesPerGroup & (0xF << 4)) >= (2 << 4)) randSelectGroup = PALACE_MOVE_GROUP_DEFENSE; #ifdef BUGFIX - if ((numMovesPerGroup & (0xF << 4)) >= (2 << 8)) - //if ((numMovesPerGroup & (0xF << 8)) >= (2 << 8)) TODOMERGE + if ((numMovesPerGroup & (0xF << 8)) >= (2 << 8)) #else if ((numMovesPerGroup & (0xF << 4)) >= (2 << 8)) #endif diff --git a/src/contest.c b/src/contest.c index 1eb4bcf509..36e76718c7 100644 --- a/src/contest.c +++ b/src/contest.c @@ -6032,8 +6032,7 @@ static u8 GetMonNicknameLanguage(u8 *nickname) || *nickname == CHAR_DBL_QUOTE_RIGHT || *nickname == CHAR_SGL_QUOTE_LEFT #ifdef BUGFIX - || *nickname == CHAR_DBL_QUOTE_LEFT // Most likely a typo, CHAR_SGL_QUOTE_RIGHT should be here instead. - //|| *nickname == CHAR_SGL_QUOTE_RIGHT //TODOMERGE + || *nickname == CHAR_SGL_QUOTE_RIGHT #else || *nickname == CHAR_DBL_QUOTE_LEFT // Most likely a typo, CHAR_SGL_QUOTE_RIGHT should be here instead. #endif From 1513443c393a4bd8575b5be1f3a3727bb9658ae5 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 31 Aug 2023 22:33:20 -0400 Subject: [PATCH 205/256] Fixed Ultra Burst + Mega Evolution test --- test/battle/form_change/ultra_burst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/battle/form_change/ultra_burst.c b/test/battle/form_change/ultra_burst.c index f22d8b7b04..e58d42c3da 100644 --- a/test/battle/form_change/ultra_burst.c +++ b/test/battle/form_change/ultra_burst.c @@ -117,7 +117,7 @@ SINGLE_BATTLE_TEST("Ultra Burst and Mega Evolution can happen on the same turn") ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_ULTRA_BURST, player); MESSAGE("Necrozma regained its true power through Ultra Burst!"); - MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 's Mega Ring!"); + MESSAGE("Foe Gardevoir's Gardevoirite is reacting to 2's Mega Ring!"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_MEGA_EVOLUTION, opponent); MESSAGE("Foe Gardevoir has Mega Evolved into Mega Gardevoir!"); } THEN { From 4ac61ad15ff1f83d6df589a8c8493741d21edd3f Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 31 Aug 2023 22:24:58 -0400 Subject: [PATCH 206/256] handleultraburst, handleprimalreversion, handlemegaevo --- asm/macros/battle_script.inc | 33 ++++++++------- include/constants/battle_script_commands.h | 2 - src/battle_script_commands.c | 48 ++++++++++++---------- 3 files changed, 45 insertions(+), 38 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 25898a7d8f..e43929c8dc 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1382,6 +1382,24 @@ .4byte \ptr .endm + .macro handlemegaevo battler:req, case:req + callnative BS_HandleMegaEvolution + .byte \battler + .byte \case + .endm + + .macro handleprimalreversion battler:req, case:req + callnative BS_HandlePrimalReversion + .byte \battler + .byte \case + .endm + + .macro handleultraburst battler:req, case:req + callnative BS_HandleUltraBurst + .byte \battler + .byte \case + .endm + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES @@ -1627,21 +1645,6 @@ .4byte \failInstr .endm - .macro handlemegaevo battler:req, case:req - various \battler, VARIOUS_HANDLE_MEGA_EVO - .byte \case - .endm - - .macro handleprimalreversion battler:req, case:req - various \battler, VARIOUS_HANDLE_PRIMAL_REVERSION - .byte \case - .endm - - .macro handleultraburst battler:req, case:req - various \battler, VARIOUS_HANDLE_ULTRA_BURST - .byte \case - .endm - .macro handleformchange battler:req, case:req various \battler, VARIOUS_HANDLE_FORM_CHANGE .byte \case diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 20e6d7e45e..b6ed845611 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -210,7 +210,6 @@ #define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 118 #define VARIOUS_CONSUME_BERRY 119 #define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 120 -#define VARIOUS_HANDLE_PRIMAL_REVERSION 121 #define VARIOUS_APPLY_PLASMA_FISTS 122 #define VARIOUS_JUMP_IF_SPECIES 123 #define VARIOUS_UPDATE_ABILITY_POPUP 124 @@ -257,7 +256,6 @@ #define VARIOUS_TRY_REVIVAL_BLESSING 165 #define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 166 #define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 167 -#define VARIOUS_HANDLE_ULTRA_BURST 168 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5627f0d385..45f4972011 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -9626,27 +9626,6 @@ static void Cmd_various(void) } return; } - case VARIOUS_HANDLE_MEGA_EVO: - { - VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, HANDLE_TYPE_MEGA_EVOLUTION); - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_HANDLE_PRIMAL_REVERSION: - { - VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, HANDLE_TYPE_PRIMAL_REVERSION); - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_HANDLE_ULTRA_BURST: - { - VARIOUS_ARGS(u8 case_); - HandleScriptMegaPrimalBurst(cmd->case_, gActiveBattler, HANDLE_TYPE_ULTRA_BURST); - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } case VARIOUS_HANDLE_FORM_CHANGE: { VARIOUS_ARGS(u8 case_); @@ -16383,3 +16362,30 @@ void BS_SetSnow(void) } gBattlescriptCurrInstr = cmd->nextInstr; } + +void BS_HandleMegaEvolution(void) +{ + NATIVE_ARGS(u8 battler, u8 caseId); + + gActiveBattler = GetBattlerForBattleScript(cmd->battler); + HandleScriptMegaPrimalBurst(cmd->caseId, gActiveBattler, HANDLE_TYPE_MEGA_EVOLUTION); + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_HandlePrimalReversion(void) +{ + NATIVE_ARGS(u8 battler, u8 caseId); + + gActiveBattler = GetBattlerForBattleScript(cmd->battler); + HandleScriptMegaPrimalBurst(cmd->caseId, gActiveBattler, HANDLE_TYPE_PRIMAL_REVERSION); + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_HandleUltraBurst(void) +{ + NATIVE_ARGS(u8 battler, u8 caseId); + + gActiveBattler = GetBattlerForBattleScript(cmd->battler); + HandleScriptMegaPrimalBurst(cmd->caseId, gActiveBattler, HANDLE_TYPE_ULTRA_BURST); + gBattlescriptCurrInstr = cmd->nextInstr; +} From c4553c71aa0ac7fa164acb3942d061416e091a13 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 31 Aug 2023 23:43:48 -0400 Subject: [PATCH 207/256] 5 more callnatives - jumpifshelltrap - jumpifemergencyexited - jumpifrodaffected - jumpifabsorbaffected - jumpifmotoraffected --- asm/macros/battle_script.inc | 52 +++++----- include/constants/battle_script_commands.h | 5 - src/battle_script_commands.c | 105 +++++++++++---------- 3 files changed, 81 insertions(+), 81 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index e43929c8dc..4374482d6f 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1400,6 +1400,33 @@ .byte \case .endm + .macro jumpifshelltrap battler:req, jumpInstr:req + callnative BS_JumpIfShellTrap + .byte \battler + .4byte \jumpInstr + .endm + + .macro jumpifemergencyexited battler:req, jumpInstr:req + callnative BS_JumpIfEmergencyExited + .byte \battler + .4byte \jumpInstr + .endm + + .macro jumpifrodaffected battler:req, jumpInstr:req + callnative BS_JumpIfRod + .4byte \jumpInstr + .endm + + .macro jumpifabsorbaffected battler:req, jumpInstr:req + callnative BS_JumpIfAbsorb + .4byte \jumpInstr + .endm + + .macro jumpifmotoraffected battler:req, jumpInstr:req + callnative BS_JumpIfMotor + .4byte \jumpInstr + .endm + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES @@ -2017,21 +2044,6 @@ various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK .endm - .macro jumpifrodaffected battler:req, jumpInstr:req - various \battler, VARIOUS_JUMP_IF_ROD - .4byte \jumpInstr - .endm - - .macro jumpifabsorbaffected battler:req, jumpInstr:req - various \battler, VARIOUS_JUMP_IF_ABSORB - .4byte \jumpInstr - .endm - - .macro jumpifmotoraffected battler:req, jumpInstr:req - various \battler, VARIOUS_JUMP_IF_MOTOR - .4byte \jumpInstr - .endm - .macro jumpifteanoberry jumpInstr:req various BS_ATTACKER, VARIOUS_TEATIME_TARGETS .4byte \jumpInstr @@ -2301,16 +2313,6 @@ waitmessage B_WAIT_TIME_LONG .endm - .macro jumpifemergencyexited battler:req, jumpInstr:req - various \battler, VARIOUS_JUMP_IF_EMERGENCY_EXITED - .4byte \jumpInstr - .endm - - .macro jumpifshelltrap battler:req, ptr:req - various \battler, VARIOUS_JUMP_IF_SHELL_TRAP - .4byte \ptr - .endm - .macro hitswitchtargetfailed various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED .endm diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index b6ed845611..f004d7ff1b 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -241,18 +241,13 @@ #define VARIOUS_SET_BEAK_BLAST 150 #define VARIOUS_SWAP_SIDE_STATUSES 151 #define VARIOUS_SWAP_STATS 152 -#define VARIOUS_JUMP_IF_ROD 153 -#define VARIOUS_JUMP_IF_ABSORB 154 -#define VARIOUS_JUMP_IF_MOTOR 155 #define VARIOUS_TEATIME_INVUL 156 #define VARIOUS_TEATIME_TARGETS 157 #define VARIOUS_TRY_WIND_RIDER_POWER 158 #define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 159 #define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 160 -#define VARIOUS_JUMP_IF_EMERGENCY_EXITED 161 #define VARIOUS_STORE_HEALING_WISH 162 #define VARIOUS_HIT_SWITCH_TARGET_FAILED 163 -#define VARIOUS_JUMP_IF_SHELL_TRAP 164 #define VARIOUS_TRY_REVIVAL_BLESSING 165 #define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 166 #define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 167 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 45f4972011..e0c7d1c209 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8452,8 +8452,8 @@ static bool32 IsAbilityRodAffected(void) if (gBattleStruct->dynamicMoveType == 0) moveType = gBattleMoves[gCurrentMove].type; - else if (!(gBattleStruct->dynamicMoveType & 0x40)) - moveType = gBattleStruct->dynamicMoveType & 0x3F; + else if (!(gBattleStruct->dynamicMoveType & F_DYNAMIC_TYPE_1)) + moveType = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; else moveType = gBattleMoves[gCurrentMove].type; @@ -8469,8 +8469,8 @@ static bool32 IsAbilityMotorAffected(void) if (gBattleStruct->dynamicMoveType == 0) moveType = gBattleMoves[gCurrentMove].type; - else if (!(gBattleStruct->dynamicMoveType & 0x40)) - moveType = gBattleStruct->dynamicMoveType & 0x3F; + else if (!(gBattleStruct->dynamicMoveType & F_DYNAMIC_TYPE_1)) + moveType = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; else moveType = gBattleMoves[gCurrentMove].type; @@ -8486,8 +8486,8 @@ static bool32 IsAbilityAbsorbAffected(void) if (gBattleStruct->dynamicMoveType == 0) moveType = gBattleMoves[gCurrentMove].type; - else if (!(gBattleStruct->dynamicMoveType & 0x40)) - moveType = gBattleStruct->dynamicMoveType & 0x3F; + else if (!(gBattleStruct->dynamicMoveType & F_DYNAMIC_TYPE_1)) + moveType = gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; else moveType = gBattleMoves[gCurrentMove].type; @@ -10810,33 +10810,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr = cmd->jumpInstr; return; } - case VARIOUS_JUMP_IF_ROD: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (IsAbilityRodAffected()) - gBattlescriptCurrInstr = cmd->jumpInstr; - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_JUMP_IF_MOTOR: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (IsAbilityMotorAffected()) - gBattlescriptCurrInstr = cmd->jumpInstr; - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_JUMP_IF_ABSORB: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (IsAbilityAbsorbAffected()) - gBattlescriptCurrInstr = cmd->jumpInstr; - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } case VARIOUS_TRY_WIND_RIDER_POWER: { VARIOUS_ARGS(const u8 *failInstr); @@ -10869,15 +10842,6 @@ static void Cmd_various(void) AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, gActiveBattler, 0, 0, 0); return; } - case VARIOUS_JUMP_IF_EMERGENCY_EXITED: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (gSpecialStatuses[gActiveBattler].emergencyExited) - gBattlescriptCurrInstr = cmd->jumpInstr; - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } case VARIOUS_STORE_HEALING_WISH: { VARIOUS_ARGS(); @@ -10894,15 +10858,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr = cmd->nextInstr; return; } - case VARIOUS_JUMP_IF_SHELL_TRAP: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (gProtectStructs[gActiveBattler].shellTrap) - gBattlescriptCurrInstr = cmd->jumpInstr; - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } case VARIOUS_TRY_REVIVAL_BLESSING: { VARIOUS_ARGS(const u8 *failInstr); @@ -16389,3 +16344,51 @@ void BS_HandleUltraBurst(void) HandleScriptMegaPrimalBurst(cmd->caseId, gActiveBattler, HANDLE_TYPE_ULTRA_BURST); gBattlescriptCurrInstr = cmd->nextInstr; } + +void BS_JumpIfShellTrap(void) +{ + NATIVE_ARGS(u8 battler, const u8 *jumpInstr); + + gActiveBattler = GetBattlerForBattleScript(cmd->battler); + if (gProtectStructs[gActiveBattler].shellTrap) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_JumpIfEmergencyExited(void) +{ + NATIVE_ARGS(u8 battler, const u8 *jumpInstr); + gActiveBattler = GetBattlerForBattleScript(cmd->battler); + if (gSpecialStatuses[gActiveBattler].emergencyExited) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_JumpIfRod(void) +{ + NATIVE_ARGS(const u8 *jumpInstr); + if (IsAbilityRodAffected()) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_JumpIfAbsorb(void) +{ + NATIVE_ARGS(const u8 *jumpInstr); + if (IsAbilityAbsorbAffected()) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_JumpIfMotor(void) +{ + NATIVE_ARGS(const u8 *jumpInstr); + if (IsAbilityMotorAffected()) + gBattlescriptCurrInstr = cmd->jumpInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} From 66710ac22ae132cdf1cf5c9b5356f0a987cc6ffd Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Thu, 31 Aug 2023 23:54:11 -0400 Subject: [PATCH 208/256] Updated various defines --- include/constants/battle_script_commands.h | 82 +++++++++++----------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index f004d7ff1b..c7e62a1f72 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -210,47 +210,47 @@ #define VARIOUS_TRY_ACTIVATE_BATTLE_BOND 118 #define VARIOUS_CONSUME_BERRY 119 #define VARIOUS_JUMP_IF_CANT_REVERT_TO_PRIMAL 120 -#define VARIOUS_APPLY_PLASMA_FISTS 122 -#define VARIOUS_JUMP_IF_SPECIES 123 -#define VARIOUS_UPDATE_ABILITY_POPUP 124 -#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 125 -#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 126 -#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 127 -#define VARIOUS_PHOTON_GEYSER_CHECK 128 -#define VARIOUS_SHELL_SIDE_ARM_CHECK 129 -#define VARIOUS_TRY_NO_RETREAT 130 -#define VARIOUS_TRY_TAR_SHOT 131 -#define VARIOUS_CAN_TAR_SHOT_WORK 132 -#define VARIOUS_CHECK_POLTERGEIST 133 -#define VARIOUS_SET_OCTOLOCK 134 -#define VARIOUS_CUT_1_3_HP_RAISE_STATS 135 -#define VARIOUS_TRY_END_NEUTRALIZING_GAS 136 -#define VARIOUS_JUMP_IF_UNDER_200 137 -#define VARIOUS_SET_SKY_DROP 138 -#define VARIOUS_CLEAR_SKY_DROP 139 -#define VARIOUS_SKY_DROP_YAWN 140 -#define VARIOUS_JUMP_IF_CANT_FLING 141 -#define VARIOUS_JUMP_IF_HOLD_EFFECT 142 -#define VARIOUS_CURE_CERTAIN_STATUSES 143 -#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 144 -#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 145 -#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 146 -#define VARIOUS_SAVE_BATTLER_ITEM 147 -#define VARIOUS_RESTORE_BATTLER_ITEM 148 -#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 149 -#define VARIOUS_SET_BEAK_BLAST 150 -#define VARIOUS_SWAP_SIDE_STATUSES 151 -#define VARIOUS_SWAP_STATS 152 -#define VARIOUS_TEATIME_INVUL 156 -#define VARIOUS_TEATIME_TARGETS 157 -#define VARIOUS_TRY_WIND_RIDER_POWER 158 -#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 159 -#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 160 -#define VARIOUS_STORE_HEALING_WISH 162 -#define VARIOUS_HIT_SWITCH_TARGET_FAILED 163 -#define VARIOUS_TRY_REVIVAL_BLESSING 165 -#define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 166 -#define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 167 +#define VARIOUS_APPLY_PLASMA_FISTS 121 +#define VARIOUS_JUMP_IF_SPECIES 122 +#define VARIOUS_UPDATE_ABILITY_POPUP 123 +#define VARIOUS_JUMP_IF_WEATHER_AFFECTED 124 +#define VARIOUS_JUMP_IF_LEAF_GUARD_PROTECTED 125 +#define VARIOUS_SET_ATTACKER_STICKY_WEB_USER 126 +#define VARIOUS_PHOTON_GEYSER_CHECK 127 +#define VARIOUS_SHELL_SIDE_ARM_CHECK 128 +#define VARIOUS_TRY_NO_RETREAT 129 +#define VARIOUS_TRY_TAR_SHOT 130 +#define VARIOUS_CAN_TAR_SHOT_WORK 131 +#define VARIOUS_CHECK_POLTERGEIST 132 +#define VARIOUS_SET_OCTOLOCK 133 +#define VARIOUS_CUT_1_3_HP_RAISE_STATS 134 +#define VARIOUS_TRY_END_NEUTRALIZING_GAS 135 +#define VARIOUS_JUMP_IF_UNDER_200 136 +#define VARIOUS_SET_SKY_DROP 137 +#define VARIOUS_CLEAR_SKY_DROP 138 +#define VARIOUS_SKY_DROP_YAWN 139 +#define VARIOUS_JUMP_IF_CANT_FLING 140 +#define VARIOUS_JUMP_IF_HOLD_EFFECT 141 +#define VARIOUS_CURE_CERTAIN_STATUSES 142 +#define VARIOUS_TRY_RESET_NEGATIVE_STAT_STAGES 143 +#define VARIOUS_JUMP_IF_LAST_USED_ITEM_BERRY 144 +#define VARIOUS_JUMP_IF_LAST_USED_ITEM_HOLD_EFFECT 145 +#define VARIOUS_SAVE_BATTLER_ITEM 146 +#define VARIOUS_RESTORE_BATTLER_ITEM 147 +#define VARIOUS_BATTLER_ITEM_TO_LAST_USED_ITEM 148 +#define VARIOUS_SET_BEAK_BLAST 149 +#define VARIOUS_SWAP_SIDE_STATUSES 150 +#define VARIOUS_SWAP_STATS 151 +#define VARIOUS_TEATIME_INVUL 152 +#define VARIOUS_TEATIME_TARGETS 153 +#define VARIOUS_TRY_WIND_RIDER_POWER 154 +#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 155 +#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 156 +#define VARIOUS_STORE_HEALING_WISH 157 +#define VARIOUS_HIT_SWITCH_TARGET_FAILED 158 +#define VARIOUS_TRY_REVIVAL_BLESSING 159 +#define VARIOUS_TRY_TRAINER_SLIDE_MSG_Z_MOVE 160 +#define VARIOUS_TRY_TRAINER_SLIDE_MSG_MEGA_EVOLUTION 161 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 From 4439253f3970d6402ee087d91886401a003c7bb7 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 3 Sep 2023 20:57:54 -0400 Subject: [PATCH 209/256] Add include guards for assembly constants files --- constants/gba_constants.inc | 5 +++++ constants/global.inc | 5 +++++ constants/m4a_constants.inc | 5 +++++ constants/tms_hms.inc | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/constants/gba_constants.inc b/constants/gba_constants.inc index 3ff857ee8d..9f51b0f02b 100644 --- a/constants/gba_constants.inc +++ b/constants/gba_constants.inc @@ -1,3 +1,6 @@ +#ifndef GUARD_CONSTANTS_GBA_CONSTANTS_INC +#define GUARD_CONSTANTS_GBA_CONSTANTS_INC + .set PSR_USR_MODE, 0x00000010 .set PSR_FIQ_MODE, 0x00000011 .set PSR_IRQ_MODE, 0x00000012 @@ -511,3 +514,5 @@ .set BLDCNT_TGT2_OBJ, 1 << 12 .set BLDCNT_TGT2_BD, 1 << 13 .set BLDCNT_TGT2_ALL, BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD + +#endif @ GUARD_CONSTANTS_GBA_CONSTANTS_INC diff --git a/constants/global.inc b/constants/global.inc index 621ba2af89..b9462fa26b 100644 --- a/constants/global.inc +++ b/constants/global.inc @@ -1,3 +1,6 @@ +#ifndef GUARD_CONSTANTS_GLOBAL_INC +#define GUARD_CONSTANTS_GLOBAL_INC + .set TRUE, 1 .set FALSE, 0 @@ -20,3 +23,5 @@ .set OBJ_IMAGE_ANIM_H_FLIP, 1 << 6 .set OBJ_IMAGE_ANIM_V_FLIP, 1 << 7 + +#endif @ GUARD_CONSTANTS_GLOBAL_INC diff --git a/constants/m4a_constants.inc b/constants/m4a_constants.inc index 1a744dc7fb..2599b6c4aa 100644 --- a/constants/m4a_constants.inc +++ b/constants/m4a_constants.inc @@ -1,3 +1,6 @@ +#ifndef GUARD_CONSTANTS_M4A_CONSTANTS_INC +#define GUARD_CONSTANTS_M4A_CONSTANTS_INC + .equiv ID_NUMBER, 0x68736d53 .equiv PCM_DMA_BUF_SIZE, 1584 @@ -250,3 +253,5 @@ struct_field o_CgbChannel_nextChannelPointer, 4 struct_field o_CgbChannel_dummy4, 8 struct_field CgbChannel_size, 0 + +#endif @ GUARD_CONSTANTS_M4A_CONSTANTS_INC diff --git a/constants/tms_hms.inc b/constants/tms_hms.inc index 3450aa73ba..4ce6d90328 100644 --- a/constants/tms_hms.inc +++ b/constants/tms_hms.inc @@ -1,3 +1,6 @@ +#ifndef GUARD_CONSTANTS_TMS_HMS_INC +#define GUARD_CONSTANTS_TMS_HMS_INC + #include "constants/tms_hms.h" /* Expands to: @@ -15,3 +18,5 @@ FOREACH_TM(EQUIV_TM) FOREACH_HM(EQUIV_HM) #undef EQUIV_TM #undef EQUIV_HM + +#endif @ GUARD_CONSTANTS_TMS_HMS_INC From d9677763e5b96227e1f470e013133da624d2d519 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 4 Sep 2023 10:26:37 +0200 Subject: [PATCH 210/256] remove gActiveBattler replacement --- charmap.txt | 6 +++--- include/battle.h | 1 - include/battle_message.h | 6 +++--- src/battle_controller_player.c | 2 +- src/battle_main.c | 2 -- src/battle_message.c | 29 +++++++---------------------- 6 files changed, 14 insertions(+), 32 deletions(-) diff --git a/charmap.txt b/charmap.txt index 4c2b1ed971..2198977115 100644 --- a/charmap.txt +++ b/charmap.txt @@ -367,7 +367,7 @@ B_ATK_PARTNER_NAME = FD 0E B_ATK_NAME_WITH_PREFIX = FD 0F B_DEF_NAME_WITH_PREFIX = FD 10 B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler -B_SELECTION_NAME_WITH_PREFIX = FD 12 +@ FD 12 - preiously gActiveBattler with prefix B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13 B_CURRENT_MOVE = FD 14 B_LAST_MOVE = FD 15 @@ -409,8 +409,8 @@ B_ATK_TEAM2 = FD 38 B_DEF_NAME = FD 39 B_DEF_TEAM1 = FD 3A B_DEF_TEAM2 = FD 3B -B_SELECTION_NAME = FD 3C -B_SELECTION_NAME2 = FD 3D @ no Illusion check +@ FD 3C - preiously gActiveBattler +@ FD 3D - preiously gActiveBattler without Illusion Check @ indicates the end of a town/city name (before " TOWN" or " CITY") NAME_END = FC 00 diff --git a/include/battle.h b/include/battle.h index 2c6902f01e..f65c816ba0 100644 --- a/include/battle.h +++ b/include/battle.h @@ -926,7 +926,6 @@ extern u8 gBattleTerrain; extern u32 gUnusedFirstBattleVar1; extern u8 *gBattleAnimBgTileBuffer; extern u8 *gBattleAnimBgTilemapBuffer; -extern u8 gSelectionBattler; extern u32 gBattleControllerExecFlags; extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; diff --git a/include/battle_message.h b/include/battle_message.h index ab702bf359..e01c916c3c 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -27,7 +27,7 @@ #define B_TXT_ATK_NAME_WITH_PREFIX 0xF #define B_TXT_DEF_NAME_WITH_PREFIX 0x10 #define B_TXT_EFF_NAME_WITH_PREFIX 0x11 // EFF = short for gEffectBank -#define B_TXT_SELECTION_NAME_WITH_PREFIX 0x12 +// #define B_TXT_ACTIVE_NAME_WITH_PREFIX 0x12 - removed #define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 0x13 #define B_TXT_CURRENT_MOVE 0x14 #define B_TXT_LAST_MOVE 0x15 @@ -69,8 +69,8 @@ #define B_TXT_DEF_NAME 0x39 #define B_TXT_DEF_TEAM1 0x3A // Your/The opposing #define B_TXT_DEF_TEAM2 0x3B // your/the opposing -#define B_TXT_SELECTION_NAME 0x3C -#define B_TXT_SELECTION_NAME2 0x3D // no Illusion check +// #define B_TXT_SELECTION_NAME 0x3C - removed +// #define B_TXT_SELECTION_NAME2 0x3D no Illusion check - removed // for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3 diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 7612b096c3..79de66952c 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1906,7 +1906,7 @@ static void PlayerHandleChooseAction(u32 battler) TryRestoreLastUsedBall(); ActionSelectionCreateCursorAt(gActionSelectionCursor[battler], 0); - gSelectionBattler = battler; + PREPARE_MON_NICK_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]); BattleStringExpandPlaceholdersToDisplayedString(gText_WhatWillPkmnDo); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); } diff --git a/src/battle_main.c b/src/battle_main.c index f5c4737832..db550e58f3 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -151,7 +151,6 @@ EWRAM_DATA struct MultiPartnerMenuPokemon gMultiPartnerParty[MULTI_PARTY_SIZE] = EWRAM_DATA static struct MultiPartnerMenuPokemon* sMultiPartnerPartyBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTileBuffer = NULL; EWRAM_DATA u8 *gBattleAnimBgTilemapBuffer = NULL; -EWRAM_DATA u8 gSelectionBattler = 0; EWRAM_DATA u32 gBattleControllerExecFlags = 0; EWRAM_DATA u8 gBattlersCount = 0; EWRAM_DATA u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT] = {0}; @@ -4087,7 +4086,6 @@ static void HandleTurnActionSelectionState(void) } break; case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. - gSelectionBattler = battler; *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI || (position & BIT_FLANK) == B_FLANK_LEFT diff --git a/src/battle_message.c b/src/battle_message.c index f5c83ac71a..614d457e8d 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -271,12 +271,12 @@ static const u8 sText_PkmnLostFocus[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfo static const u8 sText_PkmnWasDraggedOut[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p"); static const u8 sText_TheWallShattered[] = _("The wall shattered!"); static const u8 sText_ButNoEffect[] = _("But it had no effect!"); -static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_SELECTION_NAME_WITH_PREFIX} has no\nmoves left!\p"); -static const u8 sText_PkmnMoveIsDisabled[] = _("{B_SELECTION_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); -static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the Torment!\p"); -static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the Taunt!\p"); -static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); -static const u8 sText_PkmnCantUseMoveThroatChop[] = _("{B_SELECTION_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} due to Throat Chop!\p"); +static const u8 sText_PkmnHasNoMovesLeft[] = _("{B_ATK_NAME_WITH_PREFIX} has no\nmoves left!\p"); +static const u8 sText_PkmnMoveIsDisabled[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); +static const u8 sText_PkmnCantUseMoveTorment[] = _("{B_ATK_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the Torment!\p"); +static const u8 sText_PkmnCantUseMoveTaunt[] = _("{B_ATK_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the Taunt!\p"); +static const u8 sText_PkmnCantUseMoveSealed[] = _("{B_ATK_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); +static const u8 sText_PkmnCantUseMoveThroatChop[] = _("{B_ATK_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} due to Throat Chop!\p"); static const u8 sText_PkmnMadeItRain[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!"); static const u8 sText_PkmnRaisedSpeed[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!"); static const u8 sText_PkmnProtectedBy[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!"); @@ -1951,7 +1951,7 @@ const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!"); const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{WAIT_SE}\p"); const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p"); const u8 gText_EllipsisQuestionMark[] = _("……?\p"); -const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_SELECTION_NAME2} do?"); +const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_BUFF1} do?"); const u8 gText_WhatWillPkmnDo2[] = _("What will\n{B_PLAYER_NAME} do?"); const u8 gText_WhatWillWallyDo[] = _("What will\nWALLY do?"); const u8 gText_LinkStandby[] = _("{PAUSE 16}Link standby…"); @@ -3257,24 +3257,9 @@ u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst) GetBattlerNick(gBattlerTarget, text); toCpy = text; break; - case B_TXT_SELECTION_NAME: // selection name - GetBattlerNick(gSelectionBattler, text); - toCpy = text; - break; - case B_TXT_SELECTION_NAME2: // selection battler name with prefix, no illusion - if (GetBattlerSide(gSelectionBattler) == B_SIDE_PLAYER) - GetMonData(&gPlayerParty[gBattlerPartyIndexes[gSelectionBattler]], MON_DATA_NICKNAME, text); - else - GetMonData(&gEnemyParty[gBattlerPartyIndexes[gSelectionBattler]], MON_DATA_NICKNAME, text); - StringGet_Nickname(text); - toCpy = text; - break; case B_TXT_EFF_NAME_WITH_PREFIX: // effect battler name with prefix HANDLE_NICKNAME_STRING_CASE(gEffectBattler) break; - case B_TXT_SELECTION_NAME_WITH_PREFIX: // selection battler name with prefix - HANDLE_NICKNAME_STRING_CASE(gSelectionBattler) - break; case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battler name with prefix HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler) break; From 2fa4206bf19ac9d03a62cc0597bc443aa0e71859 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Mon, 4 Sep 2023 17:48:43 -0500 Subject: [PATCH 211/256] Add new Substitute doll sprites (#3263) --- graphics/battle_anims/sprites/monster_doll.png | Bin 441 -> 398 bytes graphics/battle_anims/sprites/substitute.png | Bin 446 -> 430 bytes .../battle_anims/sprites/substitute_back.png | Bin 405 -> 523 bytes .../sprites/substitute_back_new.png | Bin 488 -> 0 bytes .../battle_anims/sprites/substitute_new.png | Bin 420 -> 0 bytes include/graphics.h | 9 +++------ src/battle_gfx_sfx_util.c | 9 +++++---- src/data/battle_anim.h | 8 -------- src/graphics.c | 10 +++------- 9 files changed, 11 insertions(+), 25 deletions(-) delete mode 100644 graphics/battle_anims/sprites/substitute_back_new.png delete mode 100644 graphics/battle_anims/sprites/substitute_new.png diff --git a/graphics/battle_anims/sprites/monster_doll.png b/graphics/battle_anims/sprites/monster_doll.png index 55706275c5511ee97fd660f4c092efb4787b79c1..7cac68e109c38af1bfb82bc5c28d3fca4c46748f 100644 GIT binary patch delta 383 zcmV-_0f7Fw1C9fb7=H)@0000)q>9D>0004VQb$4nuFf3k0000mP)t-sapl)aV>+e1 zga7~ldyHC?rE9&`oM>=RQc_CD;Hdcc`2YX^*3QMfy|rj?NB{r;D`h`t0003DNkl@?z{9M@D)azn93qK7Vu~2bQ3Mi0RIU$?&!AdcFhYoB0& zrzoVUFHNohO9Fu~psKmS8@h76ABx>02Ej!y;(PjD d%!~fD{s1K|3SSJ>GU@;T002ovPDHLkV1i>Xs{#N3 delta 427 zcmV;c0aX5u1Gxi`7=Hu<0001iRA6mPeymE)#^yqmys%2o5yBBq0BDEVoJlbv?1KJG~XfyFwGJiN>(zH~~)c5H(@8uFg zie-_1YdRvt{sWhUe68x*@_NMfMl}c_<;HueYv>|&{jjRvRNa?|yxe2y|1G{nUUr@O zhy%YH)}R7|c0004VQb$4nuFf3k0000mP)t-sapl)aV>+e1 zga7~ldyHC?rE9&`oM>=RQc_CD;Hdcc`2YX^*3QMfy|rj?NB{r;D`h`t0003jNkljKl4k9dLL103TtaLRE{9tI5iJX!bcE_5j=PE=+QkBJs?Pr>V0^r4Dk8S z?jI3A9J)g)a|8=~3j@*Ak0uoWO9BGHfU4$0rH4sKqYhdDa3>6v0AL@(R|pgVzDMve zL&Rf^5El_*Z+|ljV{Wk;fmKaIb^?TJ0M-kj#{O&Z`hwD@F#SP5E~NrE^cygju}r{W zpAHPyLYD!M!%W}lc6+QO5m=mKyzGQn;%U#@oPae#lyg83F1z1G$m+**-UAK*+DOnO z0lXA|WfF3KX^#o6*{=u)!(i1`7z7^GCSkq$udK)Jtr@MY|D_)?M+#p^_;D`)0000< KMNUMnLSTZtfv__G delta 432 zcmV;h0Z;y}1HJ>07=Hu<00013M{Ml?001yhOjJdb?#2KA|K{%A&ECDe&7`EggOsdl zdy86XYEn{CNz{TD`ByDd<0=73$p!88a;eSF*yzJl$^uNxxJ2SgN z)TzTp{s)GAA)JHYT!^pvfewC0IDVf8S|`=gf8y)dCTa&USAR40ZndJ2=^=OLoA()o z%#_1`4A_42z+6CEiipNci+pMXg+$DhGI+@IY52?nkx&Gy-6iavBU;@0WkrXX$FYKr-$!=p1Fp3N@oGblSAML0M3e)PV68V zKN{d(QDz4cuJ@otRHjy-+y#JY_0lj-Z5^b-I{>^?r?a@Q0>sV*x;KdHxUdfSip^Ws z9~h8rG8>p+a~T8*u`Eh$`|t*OrS2(o)8a#GTa#)ooGDVFmscjX9>0@ptULTI!=J5F aM~EMRRB6?|)p7s;0000c0004VQb$4nuFf3k0000mP)t-sapl)aV>+e1 zga7~ldyHC?rE9&`oM>=RQc_CD;Hdcc`2YX^*3QMfy|rj?NB{r;D`h`t0004rNkl_T4uQ zP+IXDy}BQlW#AbLCk_xi4GCJMFrA`3Vkr&eDWSv_3_vc#c?>l%MhMeF>~ zL3`0WggkiWfNgh;BU%=swv?|Bmv!iKVFieJ(%8L(d3GU}#o)MGaF}OVUw#~SOCG2P zLR+x!dgMQkgx7m80Fa+SaeO;D3Bogh?*~CnK%c$11e`Pj;!4v$pQNB~fpdc13&JZU14v^wJVCH5j9j00000NkvXXu0mjfm}lPf delta 390 zcmV;10eSw51eF7j7=Hu<00013M{Ml?001yhOjJdb?#2KA|K{%A&ECDe&7`EggOsdl zdy86XYEn{CNO&0GywW8Gmzuy!LyVna@gu*w{$% zl?q!S@+y&MItq{&k*QW(RANM@UWbcHjOYL=DUZ+WhEh&E{$N^AZ^!qfAl1tQBgmB} zM(EdE56p^Q>W?XQ$Q13hi$ZaOmTA#BjAtrunE_c@Ae0Ik?j>VO4-=I`@~NUwEW&#zJ_-gAPMlDU0JZhaL69wauz<#R#4g`aSN3KE zQ{yC@_oQIs2DFISobUb$A%vK(!Yv_;OT$$lzLold=>Px# diff --git a/graphics/battle_anims/sprites/substitute_back_new.png b/graphics/battle_anims/sprites/substitute_back_new.png deleted file mode 100644 index fd31e1063caf280c84d463508e0c1ee028eb5938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*S9h%6&(>C9u5n3GyugW zEXc?x2>9{i$B73kG73C^B52@Euk1>o5NCl$WHAGSPzeY#-b<6OU|?X3^K@|x@#uUz z*)Z?00go%MqxgaxaoOa^7kS1vSI@9@NZe9AEpFlS7rolIJ$*Whn6_m9JLUdq@}jOs z3-^1zeaDbnuU`3Lo43zNu8*a{9~74fZm<4P6wlM~d#%taMsHoVrcY)jH~7SF>MZ1) z*1_IT*nA<^{5az)hbJ~Y3lCIxgu5T8U3TPlVhmTvlhb$1+VVP?EtpDXYTDaB&}rHr z#CU)+Oft|h@^qtHh{Oex>m>%8TKOZd*Ib{HBzUAz!Eo8PHs&<-Web$`13D`no;}N# z=pQe$VDSfm%90z))wZNIFjnps)6Hj0X3BV@G_UcnFdGDVb26|s3A`;~0?KiGo z@XTyMWqWnQ#;|#N){gA(x7-Z9)eEflN zLzHw3gD~U8X<`a;!Fvr7>V&&=Mf&Ck3-8+=u|#>-KCz`Q#Vzo7sC diff --git a/graphics/battle_anims/sprites/substitute_new.png b/graphics/battle_anims/sprites/substitute_new.png deleted file mode 100644 index 5d563900c0683c2066d33b91a3b91e9ecaf7beec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|eg8-ip*S9h%6&(>C9u5n3GyugW zEXc?x2>9{i$B73kG73C^B52@Euk1>o5NCl$WHAGSPzeY#-b<6OU|?XB@^oU=pfk2BWuYSP;pP;4<>RSq~`FJG-?_gas)5cxu>x!Mn&q+@9Tdrh!`l_ufnvJL4`}iZU$Y)F@{NbT|_CNjvF5M6$YQ&8GXj;Zv-#{Eipv zmajRmsyTo$z=rYR0?EMWgoz9{vJ@vSSXVC{m6&Q~Uz`27!7TcS&GAOH5|?hxBQ4Pm z?`L1=;$(|{pU<;kOX80Y_Y&GIxRzhI_glVBhnw>N`!`mH>-qc#LYNk0r!-W!uvYRs zxc={1^@HwHjHf&p&XlPno$(XszVP9dThy_ey95=!rD_!j`}PZS6Q6I)leot{-Z{f};X$JO_@w!Rd<``s%+&@1>VC^S7?{an^LB{Ts5EJUSX diff --git a/include/graphics.h b/include/graphics.h index dd8f57b753..87635d43a1 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -9322,9 +9322,9 @@ extern const u32 gConfetti_Gfx[]; extern const u32 gConfetti_Pal[]; extern const u32 gBattleInterfaceGfx_BattleBar[]; -extern const u32 gSubstituteDollBackGfx[]; -extern const u32 gSubstituteDollFrontGfx[]; -extern const u32 gSubstituteDollPal[]; +extern const u32 gBattleAnimSpriteGfx_Substitute[]; +extern const u32 gBattleAnimSpriteGfx_SubstituteBack[]; +extern const u32 gBattleAnimSpritePal_Substitute[]; extern const u32 gHealthboxSinglesPlayerGfx[]; extern const u32 gHealthboxSinglesOpponentGfx[]; extern const u32 gHealthboxDoublesPlayerGfx[]; @@ -10145,9 +10145,6 @@ extern const u32 gBattleAnimSpritePal_StonePillar[]; extern const u32 gBattleAnimSpriteGfx_StraightBeam[]; extern const u32 gBattleAnimSpritePal_StraightBeam[]; extern const u32 gBattleAnimSpritePal_Poltergeist[]; -extern const u32 gBattleAnimSpriteGfx_SubstituteBack[]; -extern const u32 gBattleAnimSpriteGfx_SubstituteFront[]; -extern const u32 gBattleAnimSpritePal_SubstituteFront[]; extern const u32 gBattleAnimSpritePal_NewSurf[]; extern const u32 gBattleAnimSpriteGfx_NewSword[]; extern const u32 gBattleAnimSpritePal_NewSword[]; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 3b8df10ac3..3bcbe3ae5f 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -955,17 +955,18 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite) if (!loadMonSprite) { + if (IsContest()) position = B_POSITION_PLAYER_LEFT; else position = GetBattlerPosition(battler); if (IsContest()) - LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); + LZDecompressVram(gBattleAnimSpriteGfx_SubstituteBack, gMonSpritesGfxPtr->sprites.ptr[position]); else if (GetBattlerSide(battler) != B_SIDE_PLAYER) - LZDecompressVram(gSubstituteDollFrontGfx, gMonSpritesGfxPtr->sprites.ptr[position]); + LZDecompressVram(gBattleAnimSpriteGfx_Substitute, gMonSpritesGfxPtr->sprites.ptr[position]); else - LZDecompressVram(gSubstituteDollBackGfx, gMonSpritesGfxPtr->sprites.ptr[position]); + LZDecompressVram(gBattleAnimSpriteGfx_SubstituteBack, gMonSpritesGfxPtr->sprites.ptr[position]); for (i = 1; i < 4; i++) { @@ -973,7 +974,7 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battler, bool8 loadMonSprite) } palOffset = OBJ_PLTT_ID(battler); - LoadCompressedPalette(gSubstituteDollPal, palOffset, PLTT_SIZE_4BPP); + LoadCompressedPalette(gBattleAnimSpritePal_Substitute, palOffset, PLTT_SIZE_4BPP); } else { diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 0a3c5d6475..885038725c 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1156,11 +1156,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, -#if NEW_SUBSTITUTE_PARTICLE - {gBattleAnimSpriteGfx_NewSubstituteFront, 0x0200, ANIM_TAG_MONSTER_DOLL}, -#else {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, -#endif {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, @@ -1607,11 +1603,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2}, {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL}, -#if NEW_SUBSTITUTE_PARTICLE - {gBattleAnimSpritePal_NewSubstituteFront, ANIM_TAG_MONSTER_DOLL}, -#else {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, -#endif {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND}, {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2}, {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4}, diff --git a/src/graphics.c b/src/graphics.c index e7b93e9e92..40c5d131b4 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -265,10 +265,6 @@ const u32 gBattleAnimSpritePal_SteelBeam[] = INCBIN_U32("graphics/battle_anims/s const u32 gBattleAnimSpriteGfx_StraightBeam[] = INCBIN_U32("graphics/battle_anims/sprites/straight_beam.4bpp.lz"); const u32 gBattleAnimSpritePal_StraightBeam[] = INCBIN_U32("graphics/battle_anims/sprites/straight_beam.gbapal.lz"); -const u32 gBattleAnimSpriteGfx_SubstituteBack[] = INCBIN_U32("graphics/battle_anims/sprites/substitute_back_new.4bpp.lz"); -const u32 gBattleAnimSpriteGfx_NewSubstituteFront[] = INCBIN_U32("graphics/battle_anims/sprites/substitute_new.4bpp.lz"); -const u32 gBattleAnimSpritePal_NewSubstituteFront[] = INCBIN_U32("graphics/battle_anims/sprites/substitute_new.gbapal.lz"); - const u32 gBattleAnimSpritePal_NewSurf[] = INCBIN_U32("graphics/battle_anims/sprites/surf_new.gbapal.lz"); const u32 gBattleAnimSpriteGfx_NewSword[] = INCBIN_U32("graphics/battle_anims/sprites/sword_new.4bpp.lz"); @@ -1174,9 +1170,9 @@ const u32 gBattleAnimSpritePal_HandsAndFeet[] = INCBIN_U32("graphics/battle_anim 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 gSubstituteDollFrontGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); -const u32 gSubstituteDollBackGfx[] = INCBIN_U32("graphics/battle_anims/sprites/substitute_back.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_Substitute[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.4bpp.lz"); +const u32 gBattleAnimSpriteGfx_SubstituteBack[] = INCBIN_U32("graphics/battle_anims/sprites/substitute_back.4bpp.lz"); +const u32 gBattleAnimSpritePal_Substitute[] = INCBIN_U32("graphics/battle_anims/sprites/substitute.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"); From 675aa5db41ff2607d72617b42fd6d3f851c2e4df Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Tue, 5 Sep 2023 03:21:14 -0400 Subject: [PATCH 212/256] fix GetBattleAnimMoveTargets logic (#3278) * fix GetBattleAnimMoveTargets logic * more efficient GetBattleAnimMoveTargets --------- Co-authored-by: ghoulslash --- include/battle_util.h | 3 ++- src/battle_anim.c | 41 ++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index d0b34add71..723a5362b5 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -54,7 +54,8 @@ #define WEATHER_HAS_EFFECT ((!IsAbilityOnField(ABILITY_CLOUD_NINE) && !IsAbilityOnField(ABILITY_AIR_LOCK))) -#define IS_WHOLE_SIDE_ALIVE(battler)((IsBattlerAlive(battler) && IsBattlerAlive(BATTLE_PARTNER(battler)))) +#define IS_WHOLE_SIDE_ALIVE(battler) ((IsBattlerAlive(battler) && IsBattlerAlive(BATTLE_PARTNER(battler)))) +#define IS_ALIVE_AND_PRESENT(battler) (IsBattlerAlive(battler) && IsBattlerSpritePresent(battler)) // for Natural Gift and Fling struct TypePower diff --git a/src/battle_anim.c b/src/battle_anim.c index 808676c2e5..6b48d38da8 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -435,32 +435,27 @@ static void Cmd_unloadspritegfx(void) static u8 GetBattleAnimMoveTargets(u8 battlerArgIndex, u8 *targets) { - u8 numTargets = 1; + u8 numTargets = 0; + int idx = 0; + u32 battler = gBattleAnimArgs[battlerArgIndex]; switch (GetBattlerMoveTargetType(gBattleAnimAttacker, gAnimMoveIndex)) { - case MOVE_TARGET_BOTH: - targets[0] = gBattleAnimArgs[battlerArgIndex]; - numTargets = 1; - if (IsBattlerAlive(BATTLE_PARTNER(targets[0]))) - { - targets[1] = BATTLE_PARTNER(targets[0]); - numTargets = 2; - } - break; case MOVE_TARGET_FOES_AND_ALLY: - targets[0] = gBattleAnimArgs[battlerArgIndex]; - numTargets = 1; - if (IsBattlerAlive(BATTLE_PARTNER(targets[0]))) - { - targets[1] = BATTLE_PARTNER(targets[0]); + if (IS_ALIVE_AND_PRESENT(BATTLE_PARTNER(BATTLE_OPPOSITE(battler)))) { + targets[idx++] = BATTLE_PARTNER(BATTLE_OPPOSITE(battler)); numTargets++; } - - if (IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(targets[0])))) - { - targets[2] = BATTLE_PARTNER(BATTLE_OPPOSITE(targets[0])); + // fallthrough + case MOVE_TARGET_BOTH: + if (IS_ALIVE_AND_PRESENT(battler)) { + targets[idx++] = battler; numTargets++; } + battler = BATTLE_PARTNER(battler); + if (IS_ALIVE_AND_PRESENT(battler)) { + targets[idx++] = battler; + numTargets++; + } break; default: targets[0] = gBattleAnimArgs[battlerArgIndex]; // original @@ -551,7 +546,9 @@ static void CreateSpriteOnTargets(const struct SpriteTemplate *template, u8 argV subpriority = GetSubpriorityForMoveAnim(argVar); ntargets = GetBattleAnimMoveTargets(battlerArgIndex, targets); - + if (ntargets == 0) + return; + for (i = 0; i < ntargets; i++) { if (overwriteAnimTgt) @@ -676,7 +673,9 @@ static void Cmd_createvisualtaskontargets(void) } numArgs = GetBattleAnimMoveTargets(battlerArgIndex, targets); - + if (numArgs == 0) + return; + for (i = 0; i < numArgs; i++) { gBattleAnimArgs[battlerArgIndex] = targets[i]; From d31b168522afe0151378b5fc9a0a433ed8315f5c Mon Sep 17 00:00:00 2001 From: citrusbolt Date: Tue, 5 Sep 2023 06:17:10 -0600 Subject: [PATCH 213/256] Add `blockBoxRS` field to `struct BoxPokemon` --- include/pokemon.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/pokemon.h b/include/pokemon.h index f4f6d6989e..6d08f48746 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -202,7 +202,8 @@ struct BoxPokemon u8 isBadEgg:1; u8 hasSpecies:1; u8 isEgg:1; - u8 unused:5; + u8 blockBoxRS:1; // Unused, but Pokémon Box Ruby & Sapphire will refuse to deposit a Pokémon with this flag set + u8 unused:4; u8 otName[PLAYER_NAME_LENGTH]; u8 markings; u16 checksum; From 75d06bb599dffd27825ecba99d8f66ca603c2339 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Thu, 7 Sep 2023 19:18:18 -0700 Subject: [PATCH 214/256] Generation 6 Experience Share (#3276) --- include/battle_util.h | 1 + include/config/item.h | 4 ++ include/constants/battle_string_ids.h | 3 +- include/global.h | 2 + include/item_use.h | 1 + include/strings.h | 4 ++ src/battle_message.c | 3 +- src/battle_script_commands.c | 87 ++++++++++++++++++--------- src/battle_util.c | 9 +++ src/data/items.h | 6 +- src/data/text/item_descriptions.h | 6 ++ src/item_use.c | 27 +++++++++ src/strings.c | 2 + 13 files changed, 120 insertions(+), 35 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index 81b0f8760b..62394d85dc 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -219,6 +219,7 @@ void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); bool32 IsAlly(u32 battlerAtk, u32 battlerDef); +bool32 IsGen6ExpShareEnabled(void); // Ability checks bool32 IsRolePlayBannedAbilityAtk(u16 ability); diff --git a/include/config/item.h b/include/config/item.h index ad205f0034..8aaadbe842 100644 --- a/include/config/item.h +++ b/include/config/item.h @@ -16,6 +16,10 @@ // TM config #define I_REUSABLE_TMS FALSE // In Gen5-8, TMs are reusable. Setting this to TRUE will make all vanilla TMs reusable, though they can also be cherry-picked by setting their importance to 1. +// Exp. Share config +#define I_EXP_SHARE_FLAG 0 // If this flag is set, every Pokémon in the party will gain experience, regardless if they participated in the battle or not. +#define I_EXP_SHARE_ITEM GEN_5 // In Gen6+, the Exp. Share was changed from a held item to a Key item that toggles the effect described above. + // Repel/Lure config // These two settings are both independent and complementary. #define VAR_LAST_REPEL_LURE_USED 0 // If this var has been assigned, last Repel/Lure used will be saved and the player will get prompted with the vanilla repel YES/NO option, unless I_REPEL_LURE_MENU is set to TRUE. diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 35d991bb84..dabb7d337f 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -667,8 +667,9 @@ #define STRINGID_PKMNITEMMELTED 665 #define STRINGID_ULTRABURSTREACTING 666 #define STRINGID_ULTRABURSTCOMPLETED 667 +#define STRINGID_TEAMGAINEDEXP 668 -#define BATTLESTRINGS_COUNT 668 +#define BATTLESTRINGS_COUNT 669 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/include/global.h b/include/global.h index 6a7e3d2cce..60abf094af 100644 --- a/include/global.h +++ b/include/global.h @@ -139,6 +139,8 @@ // It looks like file.c:line: size of array `id' is negative #define STATIC_ASSERT(expr, id) typedef char id[(expr) ? 1 : -1]; +#define FEATURE_FLAG_ASSERT(flag, id) STATIC_ASSERT(flag > TEMP_FLAGS_END || flag == 0, id) + struct Coords8 { s8 x; diff --git a/include/item_use.h b/include/item_use.h index afa87c6973..6b3d0c590e 100644 --- a/include/item_use.h +++ b/include/item_use.h @@ -30,6 +30,7 @@ void ItemUseOutOfBattle_FormChange(u8); void ItemUseOutOfBattle_FormChange_ConsumedOnUse(u8); void ItemUseOutOfBattle_Honey(u8); void ItemUseOutOfBattle_CannotUse(u8); +void ItemUseOutOfBattle_ExpShare(u8); void ItemUseInBattle_BagMenu(u8 taskId); void ItemUseInBattle_PartyMenu(u8 taskId); void ItemUseInBattle_PartyMenuChooseMove(u8 taskId); diff --git a/include/strings.h b/include/strings.h index 4019dee0b1..845e16e9f1 100644 --- a/include/strings.h +++ b/include/strings.h @@ -3034,4 +3034,8 @@ extern const u8 gText_BoxName[]; extern const u8 gText_PkmnsNickname[]; extern const u8 gText_TellHimTheWords[]; +// Exp. Share +extern const u8 gText_ExpShareOn[]; +extern const u8 gText_ExpShareOff[]; + #endif // GUARD_STRINGS_H diff --git a/src/battle_message.c b/src/battle_message.c index 614d457e8d..14416b70c5 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -803,7 +803,7 @@ static const u8 sText_MirrorHerbCopied[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} us static const u8 sText_PkmnItemMelted[] = _("{B_ATK_NAME_WITH_PREFIX} corroded\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); static const u8 sText_UltraBurstReacting[] = _("Bright light is about to\nburst out of {B_ATK_NAME_WITH_PREFIX}!"); static const u8 sText_UltraBurstCompleted[] = _("{B_ATK_NAME_WITH_PREFIX} regained its\ntrue power through Ultra Burst!"); - +static const u8 sText_TeamGainedEXP[] = _("The rest of your team gained EXP.\nPoints thanks to the {B_LAST_ITEM}!\p"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { @@ -1462,6 +1462,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNFROSTBITEHEALEDBY - BATTLESTRINGS_TABLE_START] = sText_PkmnFrostbiteHealedBy, [STRINGID_ULTRABURSTREACTING - BATTLESTRINGS_TABLE_START] = sText_UltraBurstReacting, [STRINGID_ULTRABURSTCOMPLETED - BATTLESTRINGS_TABLE_START] = sText_UltraBurstCompleted, + [STRINGID_TEAMGAINEDEXP - BATTLESTRINGS_TABLE_START] = sText_TeamGainedEXP, }; const u16 gTrainerUsedItemStringIds[] = diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2aed36fb98..c2618afb49 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -354,6 +354,7 @@ static void BestowItem(u32 battlerAtk, u32 battlerDef); static bool8 IsFinalStrikeEffect(u16 move); static void TryUpdateRoundTurnOrder(void); static bool32 ChangeOrderTargetAfterAttacker(void); +void ApplyExperienceMultipliers(s32 *expAmount, u8 expGetterMonId, u8 faintedBattler); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -4033,6 +4034,8 @@ static void Cmd_jumpbasedontype(void) } } +FEATURE_FLAG_ASSERT(I_EXP_SHARE_FLAG, YouNeedToSetTheExpShareFlagToAnUnusedFlag); + static void Cmd_getexp(void) { CMD_ARGS(u8 battler); @@ -4088,7 +4091,7 @@ static void Cmd_getexp(void) else holdEffect = ItemId_GetHoldEffect(item); - if (holdEffect == HOLD_EFFECT_EXP_SHARE) + if (holdEffect == HOLD_EFFECT_EXP_SHARE || IsGen6ExpShareEnabled()) viaExpShare++; } #if (B_SCALED_EXP >= GEN_5) && (B_SCALED_EXP != GEN_6) @@ -4137,7 +4140,8 @@ static void Cmd_getexp(void) else holdEffect = ItemId_GetHoldEffect(item); - if (holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1)) + if ((holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1) && !IsGen6ExpShareEnabled()) + || GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) { *(&gBattleStruct->sentInPokes) >>= 1; gBattleScripting.getexpState = 5; @@ -4174,34 +4178,15 @@ static void Cmd_getexp(void) else gBattleMoveDamage = 0; - // only give exp share bonus in later gens if the mon wasn't sent out - #if B_SPLIT_EXP < GEN_6 - if (holdEffect == HOLD_EFFECT_EXP_SHARE) + if ((holdEffect == HOLD_EFFECT_EXP_SHARE || IsGen6ExpShareEnabled()) +#if B_SPLIT_EXP >= GEN_6 + // only give exp share bonus in later gens if the mon wasn't sent out + && gBattleMoveDamage == 0 +#endif + ) gBattleMoveDamage += gExpShareExp; - #else - if (holdEffect == HOLD_EFFECT_EXP_SHARE && gBattleMoveDamage == 0) - gBattleMoveDamage += gExpShareExp; - #endif - if (holdEffect == HOLD_EFFECT_LUCKY_EGG) - gBattleMoveDamage = (gBattleMoveDamage * 150) / 100; - #if B_TRAINER_EXP_MULTIPLIER <= GEN_7 - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) - gBattleMoveDamage = (gBattleMoveDamage * 150) / 100; - #endif - #if (B_SCALED_EXP >= GEN_5) && (B_SCALED_EXP != GEN_6) - { - // Note: There is an edge case where if a pokemon receives a large amount of exp, it wouldn't be properly calculated - // because of multiplying by scaling factor(the value would simply be larger than an u32 can hold). Hence u64 is needed. - u64 value = gBattleMoveDamage; - value *= sExperienceScalingFactors[(gBattleMons[gBattlerFainted].level * 2) + 10]; - value /= sExperienceScalingFactors[gBattleMons[gBattlerFainted].level + GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) + 10]; - gBattleMoveDamage = value + 1; - } - #endif - #if B_AFFECTION_MECHANICS == TRUE - if (GetBattlerFriendshipScore(gBattleStruct->expGetterMonId) >= FRIENDSHIP_50_TO_99) - gBattleMoveDamage = (gBattleMoveDamage * 120) / 100; - #endif + + ApplyExperienceMultipliers(&gBattleMoveDamage, gBattleStruct->expGetterMonId, gBattlerFainted); if (IsTradedMon(&gPlayerParty[gBattleStruct->expGetterMonId])) { @@ -4244,7 +4229,16 @@ static void Cmd_getexp(void) PREPARE_STRING_BUFFER(gBattleTextBuff2, i); PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 6, gBattleMoveDamage); - PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); + if (gBattleStruct->sentInPokes & 1) + { + PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); + } + else if (!IsValidForBattle(&gPlayerParty[gBattleStruct->expGetterMonId+1])) + { + gLastUsedItem = ITEM_EXP_SHARE; + PrepareStringBattle(STRINGID_TEAMGAINEDEXP, 0); + } + MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); } gBattleStruct->sentInPokes >>= 1; @@ -16089,6 +16083,39 @@ u8 GetFirstFaintedPartyIndex(u8 battler) return PARTY_SIZE; } +void ApplyExperienceMultipliers(s32 *expAmount, u8 expGetterMonId, u8 faintedBattler) +{ + u16 item = GetMonData(&gPlayerParty[expGetterMonId], MON_DATA_HELD_ITEM); + u8 holdEffect; + + if (item == ITEM_ENIGMA_BERRY_E_READER) + holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + else + holdEffect = ItemId_GetHoldEffect(item); + + if (holdEffect == HOLD_EFFECT_LUCKY_EGG) + *expAmount = (*expAmount * 150) / 100; + if (B_TRAINER_EXP_MULTIPLIER <= GEN_7 && gBattleTypeFlags & BATTLE_TYPE_TRAINER) + *expAmount = (*expAmount * 150) / 100; + if (B_AFFECTION_MECHANICS == TRUE && GetBattlerFriendshipScore(expGetterMonId) >= FRIENDSHIP_50_TO_99) + *expAmount = (*expAmount * 120) / 100; + if (IsTradedMon(&gPlayerParty[expGetterMonId])) + *expAmount = (*expAmount * 150) / 100; + + if (B_SCALED_EXP >= GEN_5 && B_SCALED_EXP != GEN_6) + { + // Note: There is an edge case where if a pokemon receives a large amount of exp, it wouldn't be properly calculated + // because of multiplying by scaling factor(the value would simply be larger than an u32 can hold). Hence u64 is needed. + u64 value = *expAmount; + u8 faintedLevel = gBattleMons[faintedBattler].level; + u8 expGetterLevel = GetMonData(&gPlayerParty[expGetterMonId], MON_DATA_LEVEL); + + value *= sExperienceScalingFactors[(faintedLevel * 2) + 10]; + value /= sExperienceScalingFactors[faintedLevel + expGetterLevel + 10]; + *expAmount = value + 1; + } +} + void BS_ItemRestoreHP(void) { NATIVE_ARGS(); diff --git a/src/battle_util.c b/src/battle_util.c index 9b7f092901..74f2d45472 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -11082,3 +11082,12 @@ bool32 IsAlly(u32 battlerAtk, u32 battlerDef) { return (GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef)); } + +bool32 IsGen6ExpShareEnabled(void) +{ +#if I_EXP_SHARE_ITEM < GEN_6 + return FALSE; +#else + return FlagGet(I_EXP_SHARE_FLAG); +#endif +} diff --git a/src/data/items.h b/src/data/items.h index 6d293f189b..3154671cfb 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -6102,9 +6102,9 @@ const struct Item gItems[] = .price = 3000, .holdEffect = HOLD_EFFECT_EXP_SHARE, .description = sExpShareDesc, - .pocket = POCKET_ITEMS, - .type = ITEM_USE_BAG_MENU, - .fieldUseFunc = ItemUseOutOfBattle_CannotUse, + .pocket = I_EXP_SHARE_ITEM >= GEN_6 ? POCKET_KEY_ITEMS : POCKET_ITEMS, + .type = ITEM_USE_FIELD, + .fieldUseFunc = ItemUseOutOfBattle_ExpShare, .flingPower = 30, }, diff --git a/src/data/text/item_descriptions.h b/src/data/text/item_descriptions.h index ecca3ef301..0948fbe187 100644 --- a/src/data/text/item_descriptions.h +++ b/src/data/text/item_descriptions.h @@ -2406,9 +2406,15 @@ static const u8 sWhiteHerbDesc[] = _( "lowered stat."); static const u8 sExpShareDesc[] = _( +#if I_EXP_SHARE_ITEM >= GEN_6 + "This device gives\n" + "exp. to other\n" + "party members."); +#else "A hold item that\n" "gets Exp. points\n" "from battles."); +#endif static const u8 sQuickClawDesc[] = _( "A hold item that\n" diff --git a/src/item_use.c b/src/item_use.c index 3ca6df6cd0..9c38e8212d 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -200,6 +200,33 @@ void ItemUseOutOfBattle_Mail(u8 taskId) Task_FadeAndCloseBagMenu(taskId); } +STATIC_ASSERT(I_EXP_SHARE_ITEM < GEN_6 || I_EXP_SHARE_FLAG > TEMP_FLAGS_END, YouNeedToSetAFlagToUseGen6ExpShare); + +void ItemUseOutOfBattle_ExpShare(u8 taskId) +{ +#if I_EXP_SHARE_ITEM >= GEN_6 + if (IsGen6ExpShareEnabled()) + { + PlaySE(SE_PC_OFF); + if (!gTasks[taskId].data[2]) // to account for pressing select in the overworld + DisplayItemMessageOnField(taskId, gText_ExpShareOff, Task_CloseCantUseKeyItemMessage); + else + DisplayItemMessage(taskId, 1, gText_ExpShareOff, CloseItemMessage); + } + else + { + PlaySE(SE_EXP_MAX); + if (!gTasks[taskId].data[2]) // to account for pressing select in the overworld + DisplayItemMessageOnField(taskId, gText_ExpShareOn, Task_CloseCantUseKeyItemMessage); + else + DisplayItemMessage(taskId, 1, gText_ExpShareOn, CloseItemMessage); + } + FlagToggle(I_EXP_SHARE_FLAG); +#else + DisplayDadsAdviceCannotUseItemMessage(taskId, gTasks[taskId].tUsingRegisteredKeyItem); +#endif +} + void ItemUseOutOfBattle_Bike(u8 taskId) { s16 *data = gTasks[taskId].data; diff --git a/src/strings.c b/src/strings.c index eb7bb8ba1f..f9137c4f15 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1831,3 +1831,5 @@ const u8 gText_Answer[] = _("ANSWER"); const u8 gText_PokeBalls[] = _("POKé BALLS"); const u8 gText_Berry[] = _("BERRY"); const u8 gText_Berries[] = _("BERRIES"); +const u8 gText_ExpShareOn[] = _("The Exp. Share has been turned on.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ExpShareOff[] = _("The Exp. Share has been turned off.{PAUSE_UNTIL_PRESS}"); From 6332870a3b3e5c1ea5a7c7396749a240df413188 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 8 Sep 2023 00:26:42 -0300 Subject: [PATCH 215/256] Crabominable can now evolve via Ice Stone --- src/data/pokemon/evolution.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index 53745eea5b..17a2c609b6 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -463,7 +463,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_GRUBBIN] = {{EVO_LEVEL, 20, SPECIES_CHARJABUG}}, [SPECIES_CHARJABUG] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_VIKAVOLT}, {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_VIKAVOLT}}, - [SPECIES_CRABRAWLER] = {{EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_CRABOMINABLE}}, + [SPECIES_CRABRAWLER] = {{EVO_SPECIFIC_MAP, MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM, SPECIES_CRABOMINABLE}, + {EVO_ITEM, ITEM_ICE_STONE, SPECIES_CRABOMINABLE}}, [SPECIES_CUTIEFLY] = {{EVO_LEVEL, 25, SPECIES_RIBOMBEE}}, [SPECIES_ROCKRUFF] = {{EVO_LEVEL_DAY, 25, SPECIES_LYCANROC}, {EVO_LEVEL_NIGHT, 25, SPECIES_LYCANROC_MIDNIGHT}}, From b114baa07d37c0b47a66bec353ec905cac83f651 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 9 Sep 2023 00:01:45 -0300 Subject: [PATCH 216/256] Updated Nosepass evolution with PLA's --- src/data/pokemon/evolution.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index 17a2c609b6..e9a7998505 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -222,7 +222,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_SKITTY] = {{EVO_ITEM, ITEM_MOON_STONE, SPECIES_DELCATTY}}, [SPECIES_BALTOY] = {{EVO_LEVEL, 36, SPECIES_CLAYDOL}}, #if P_GEN_4_POKEMON == TRUE - [SPECIES_NOSEPASS] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_PROBOPASS}}, + [SPECIES_NOSEPASS] = {{EVO_MAPSEC, MAPSEC_NEW_MAUVILLE, SPECIES_PROBOPASS}, + {EVO_ITEM, ITEM_THUNDER_STONE, SPECIES_PROBOPASS}}, #endif [SPECIES_BARBOACH] = {{EVO_LEVEL, 30, SPECIES_WHISCASH}}, [SPECIES_CORPHISH] = {{EVO_LEVEL, 30, SPECIES_CRAWDAUNT}}, From e75ed112d3caaf22fd890bba598c460da26b6d53 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 10 Sep 2023 11:52:50 -0300 Subject: [PATCH 217/256] Added missing FONT_* labels in ItemUseOutOfBattle_ExpShare (#3291) --- src/item_use.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/item_use.c b/src/item_use.c index 9c38e8212d..cdd186edfe 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -211,7 +211,7 @@ void ItemUseOutOfBattle_ExpShare(u8 taskId) if (!gTasks[taskId].data[2]) // to account for pressing select in the overworld DisplayItemMessageOnField(taskId, gText_ExpShareOff, Task_CloseCantUseKeyItemMessage); else - DisplayItemMessage(taskId, 1, gText_ExpShareOff, CloseItemMessage); + DisplayItemMessage(taskId, FONT_NORMAL, gText_ExpShareOff, CloseItemMessage); } else { @@ -219,7 +219,7 @@ void ItemUseOutOfBattle_ExpShare(u8 taskId) if (!gTasks[taskId].data[2]) // to account for pressing select in the overworld DisplayItemMessageOnField(taskId, gText_ExpShareOn, Task_CloseCantUseKeyItemMessage); else - DisplayItemMessage(taskId, 1, gText_ExpShareOn, CloseItemMessage); + DisplayItemMessage(taskId, FONT_NORMAL, gText_ExpShareOn, CloseItemMessage); } FlagToggle(I_EXP_SHARE_FLAG); #else From 4dff0362df7bd41d3d05b6168c639932f8280681 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 11 Sep 2023 00:01:12 +0200 Subject: [PATCH 218/256] Fix ai vs ai battles switch issue (#3283) --- src/battle_controller_player_partner.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/battle_controller_player_partner.c b/src/battle_controller_player_partner.c index 44c10c55c0..361460ac72 100644 --- a/src/battle_controller_player_partner.c +++ b/src/battle_controller_player_partner.c @@ -397,19 +397,21 @@ static void PlayerPartnerHandleChoosePokemon(u32 battler) chosenMonId = gSelectedMonPartyId = GetFirstFaintedPartyIndex(battler); } // Switching out - else if (gBattleStruct->monToSwitchIntoId[battler] == PARTY_SIZE) + else if (gBattleStruct->monToSwitchIntoId[battler] >= PARTY_SIZE || !IsValidForBattle(&gPlayerParty[gBattleStruct->monToSwitchIntoId[battler]])) { chosenMonId = GetMostSuitableMonToSwitchInto(battler); - if (chosenMonId == PARTY_SIZE) // just switch to the next mon - { - u8 playerMonIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - u8 selfIdentity = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - for (chosenMonId = PARTY_SIZE / 2; chosenMonId < PARTY_SIZE; chosenMonId++) + if (chosenMonId == PARTY_SIZE || !IsValidForBattle(&gPlayerParty[chosenMonId])) // just switch to the next mon + { + s32 firstId = (IsAiVsAiBattle()) ? 0 : (PARTY_SIZE / 2); + u32 battler1 = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); + u32 battler2 = IsDoubleBattle() ? GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT) : battler1; + + for (chosenMonId = firstId; chosenMonId < PARTY_SIZE; chosenMonId++) { if (GetMonData(&gPlayerParty[chosenMonId], MON_DATA_HP) != 0 - && chosenMonId != gBattlerPartyIndexes[playerMonIdentity] - && chosenMonId != gBattlerPartyIndexes[selfIdentity]) + && chosenMonId != gBattlerPartyIndexes[battler1] + && chosenMonId != gBattlerPartyIndexes[battler2]) { break; } From 6a70b06240b8432c474608af5525ed80246012d7 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 10 Sep 2023 19:42:33 -0300 Subject: [PATCH 219/256] Removed unused itemId field --- include/item.h | 1 - src/data/items.h | 799 ----------------------------------------------- 2 files changed, 800 deletions(-) diff --git a/include/item.h b/include/item.h index d6df347eb6..eac8fead9b 100644 --- a/include/item.h +++ b/include/item.h @@ -10,7 +10,6 @@ typedef void (*ItemUseFunc)(u8); struct Item { u8 name[ITEM_NAME_LENGTH]; - u16 itemId; u16 price; u8 holdEffect; u8 holdEffectParam; diff --git a/src/data/items.h b/src/data/items.h index 3154671cfb..f0e5c0ff71 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -19,7 +19,6 @@ const struct Item gItems[] = [ITEM_NONE] = { .name = _("????????"), - .itemId = ITEM_NONE, .price = 0, .description = sDummyDesc, .pocket = POCKET_ITEMS, @@ -32,7 +31,6 @@ const struct Item gItems[] = [ITEM_POKE_BALL] = { .name = _("Poké Ball"), - .itemId = ITEM_POKE_BALL, .price = 200, .description = sPokeBallDesc, .pocket = POCKET_POKE_BALLS, @@ -44,7 +42,6 @@ const struct Item gItems[] = [ITEM_GREAT_BALL] = { .name = _("Great Ball"), - .itemId = ITEM_GREAT_BALL, .price = 600, .description = sGreatBallDesc, .pocket = POCKET_POKE_BALLS, @@ -56,7 +53,6 @@ const struct Item gItems[] = [ITEM_ULTRA_BALL] = { .name = _("Ultra Ball"), - .itemId = ITEM_ULTRA_BALL, .price = 800, .description = sUltraBallDesc, .pocket = POCKET_POKE_BALLS, @@ -68,7 +64,6 @@ const struct Item gItems[] = [ITEM_MASTER_BALL] = { .name = _("Master Ball"), - .itemId = ITEM_MASTER_BALL, .price = 0, .description = sMasterBallDesc, .pocket = POCKET_POKE_BALLS, @@ -80,7 +75,6 @@ const struct Item gItems[] = [ITEM_PREMIER_BALL] = { .name = _("Premier Ball"), - .itemId = ITEM_PREMIER_BALL, .price = 20, .description = sPremierBallDesc, .pocket = POCKET_POKE_BALLS, @@ -92,7 +86,6 @@ const struct Item gItems[] = [ITEM_HEAL_BALL] = { .name = _("Heal Ball"), - .itemId = ITEM_HEAL_BALL, .price = 300, .description = sHealBallDesc, .pocket = POCKET_POKE_BALLS, @@ -104,7 +97,6 @@ const struct Item gItems[] = [ITEM_NET_BALL] = { .name = _("Net Ball"), - .itemId = ITEM_NET_BALL, .price = 1000, .description = sNetBallDesc, .pocket = POCKET_POKE_BALLS, @@ -116,7 +108,6 @@ const struct Item gItems[] = [ITEM_NEST_BALL] = { .name = _("Nest Ball"), - .itemId = ITEM_NEST_BALL, .price = 1000, .description = sNestBallDesc, .pocket = POCKET_POKE_BALLS, @@ -128,7 +119,6 @@ const struct Item gItems[] = [ITEM_DIVE_BALL] = { .name = _("Dive Ball"), - .itemId = ITEM_DIVE_BALL, .price = 1000, .description = sDiveBallDesc, .pocket = POCKET_POKE_BALLS, @@ -140,7 +130,6 @@ const struct Item gItems[] = [ITEM_DUSK_BALL] = { .name = _("Dusk Ball"), - .itemId = ITEM_DUSK_BALL, .price = 1000, .description = sDuskBallDesc, .pocket = POCKET_POKE_BALLS, @@ -152,7 +141,6 @@ const struct Item gItems[] = [ITEM_TIMER_BALL] = { .name = _("Timer Ball"), - .itemId = ITEM_TIMER_BALL, .price = 1000, .description = sTimerBallDesc, .pocket = POCKET_POKE_BALLS, @@ -164,7 +152,6 @@ const struct Item gItems[] = [ITEM_QUICK_BALL] = { .name = _("Quick Ball"), - .itemId = ITEM_QUICK_BALL, .price = 1000, .description = sQuickBallDesc, .pocket = POCKET_POKE_BALLS, @@ -176,7 +163,6 @@ const struct Item gItems[] = [ITEM_REPEAT_BALL] = { .name = _("Repeat Ball"), - .itemId = ITEM_REPEAT_BALL, .price = 1000, .description = sRepeatBallDesc, .pocket = POCKET_POKE_BALLS, @@ -188,7 +174,6 @@ const struct Item gItems[] = [ITEM_LUXURY_BALL] = { .name = _("Luxury Ball"), - .itemId = ITEM_LUXURY_BALL, .price = 1000, .description = sLuxuryBallDesc, .pocket = POCKET_POKE_BALLS, @@ -200,7 +185,6 @@ const struct Item gItems[] = [ITEM_LEVEL_BALL] = { .name = _("Level Ball"), - .itemId = ITEM_LEVEL_BALL, .price = 0, .description = sLevelBallDesc, .pocket = POCKET_POKE_BALLS, @@ -212,7 +196,6 @@ const struct Item gItems[] = [ITEM_LURE_BALL] = { .name = _("Lure Ball"), - .itemId = ITEM_LURE_BALL, .price = 0, .description = sLureBallDesc, .pocket = POCKET_POKE_BALLS, @@ -224,7 +207,6 @@ const struct Item gItems[] = [ITEM_MOON_BALL] = { .name = _("Moon Ball"), - .itemId = ITEM_MOON_BALL, .price = 0, .description = sMoonBallDesc, .pocket = POCKET_POKE_BALLS, @@ -236,7 +218,6 @@ const struct Item gItems[] = [ITEM_FRIEND_BALL] = { .name = _("Friend Ball"), - .itemId = ITEM_FRIEND_BALL, .price = 0, .description = sFriendBallDesc, .pocket = POCKET_POKE_BALLS, @@ -248,7 +229,6 @@ const struct Item gItems[] = [ITEM_LOVE_BALL] = { .name = _("Love Ball"), - .itemId = ITEM_LOVE_BALL, .price = 0, .description = sLoveBallDesc, .pocket = POCKET_POKE_BALLS, @@ -260,7 +240,6 @@ const struct Item gItems[] = [ITEM_FAST_BALL] = { .name = _("Fast Ball"), - .itemId = ITEM_FAST_BALL, .price = 0, .description = sFastBallDesc, .pocket = POCKET_POKE_BALLS, @@ -272,7 +251,6 @@ const struct Item gItems[] = [ITEM_HEAVY_BALL] = { .name = _("Heavy Ball"), - .itemId = ITEM_HEAVY_BALL, .price = 0, .description = sHeavyBallDesc, .pocket = POCKET_POKE_BALLS, @@ -284,7 +262,6 @@ const struct Item gItems[] = [ITEM_DREAM_BALL] = { .name = _("Dream Ball"), - .itemId = ITEM_DREAM_BALL, .price = 0, .description = sDreamBallDesc, .pocket = POCKET_POKE_BALLS, @@ -296,7 +273,6 @@ const struct Item gItems[] = [ITEM_SAFARI_BALL] = { .name = _("Safari Ball"), - .itemId = ITEM_SAFARI_BALL, .price = 0, .description = sSafariBallDesc, .pocket = POCKET_POKE_BALLS, @@ -308,7 +284,6 @@ const struct Item gItems[] = [ITEM_SPORT_BALL] = { .name = _("Sport Ball"), - .itemId = ITEM_SPORT_BALL, .price = 0, .description = sSportBallDesc, .pocket = POCKET_POKE_BALLS, @@ -320,7 +295,6 @@ const struct Item gItems[] = [ITEM_PARK_BALL] = { .name = _("Park Ball"), - .itemId = ITEM_PARK_BALL, .price = 0, .description = sParkBallDesc, .pocket = POCKET_POKE_BALLS, @@ -332,7 +306,6 @@ const struct Item gItems[] = [ITEM_BEAST_BALL] = { .name = _("Beast Ball"), - .itemId = ITEM_BEAST_BALL, .price = 0, .description = sBeastBallDesc, .pocket = POCKET_POKE_BALLS, @@ -344,7 +317,6 @@ const struct Item gItems[] = [ITEM_CHERISH_BALL] = { .name = _("Cherish Ball"), - .itemId = ITEM_CHERISH_BALL, .price = 0, .description = sCherishBallDesc, .pocket = POCKET_POKE_BALLS, @@ -358,7 +330,6 @@ const struct Item gItems[] = [ITEM_POTION] = { .name = _("Potion"), - .itemId = ITEM_POTION, .price = 200, .holdEffectParam = 20, .description = sPotionDesc, @@ -372,7 +343,6 @@ const struct Item gItems[] = [ITEM_SUPER_POTION] = { .name = _("Super Potion"), - .itemId = ITEM_SUPER_POTION, .price = 700, .holdEffectParam = 60, .description = sSuperPotionDesc, @@ -386,7 +356,6 @@ const struct Item gItems[] = [ITEM_HYPER_POTION] = { .name = _("Hyper Potion"), - .itemId = ITEM_HYPER_POTION, .price = 1500, .holdEffectParam = 120, .description = sHyperPotionDesc, @@ -400,7 +369,6 @@ const struct Item gItems[] = [ITEM_MAX_POTION] = { .name = _("Max Potion"), - .itemId = ITEM_MAX_POTION, .price = 2500, .holdEffectParam = 255, .description = sMaxPotionDesc, @@ -414,7 +382,6 @@ const struct Item gItems[] = [ITEM_FULL_RESTORE] = { .name = _("Full Restore"), - .itemId = ITEM_FULL_RESTORE, .price = 3000, .holdEffectParam = 255, .description = sFullRestoreDesc, @@ -428,7 +395,6 @@ const struct Item gItems[] = [ITEM_REVIVE] = { .name = _("Revive"), - .itemId = ITEM_REVIVE, .price = 2000, .description = sReviveDesc, .pocket = POCKET_ITEMS, @@ -441,7 +407,6 @@ const struct Item gItems[] = [ITEM_MAX_REVIVE] = { .name = _("Max Revive"), - .itemId = ITEM_MAX_REVIVE, .price = 4000, .description = sMaxReviveDesc, .pocket = POCKET_ITEMS, @@ -454,7 +419,6 @@ const struct Item gItems[] = [ITEM_FRESH_WATER] = { .name = _("Fresh Water"), - .itemId = ITEM_FRESH_WATER, .price = 200, .holdEffectParam = 30, .description = sFreshWaterDesc, @@ -468,7 +432,6 @@ const struct Item gItems[] = [ITEM_SODA_POP] = { .name = _("Soda Pop"), - .itemId = ITEM_SODA_POP, .price = 300, .holdEffectParam = 50, .description = sSodaPopDesc, @@ -482,7 +445,6 @@ const struct Item gItems[] = [ITEM_LEMONADE] = { .name = _("Lemonade"), - .itemId = ITEM_LEMONADE, .price = 400, .holdEffectParam = 70, .description = sLemonadeDesc, @@ -496,7 +458,6 @@ const struct Item gItems[] = [ITEM_MOOMOO_MILK] = { .name = _("Moomoo Milk"), - .itemId = ITEM_MOOMOO_MILK, .price = 600, .holdEffectParam = 100, .description = sMoomooMilkDesc, @@ -510,7 +471,6 @@ const struct Item gItems[] = [ITEM_ENERGY_POWDER] = { .name = _("Energy Powder"), - .itemId = ITEM_ENERGY_POWDER, .price = 500, .description = sEnergyPowderDesc, .pocket = POCKET_ITEMS, @@ -523,7 +483,6 @@ const struct Item gItems[] = [ITEM_ENERGY_ROOT] = { .name = _("Energy Root"), - .itemId = ITEM_ENERGY_ROOT, .price = 1200, .description = sEnergyRootDesc, .pocket = POCKET_ITEMS, @@ -536,7 +495,6 @@ const struct Item gItems[] = [ITEM_HEAL_POWDER] = { .name = _("Heal Powder"), - .itemId = ITEM_HEAL_POWDER, .price = 300, .description = sHealPowderDesc, .pocket = POCKET_ITEMS, @@ -549,7 +507,6 @@ const struct Item gItems[] = [ITEM_REVIVAL_HERB] = { .name = _("Revival Herb"), - .itemId = ITEM_REVIVAL_HERB, .price = 2800, .description = sRevivalHerbDesc, .pocket = POCKET_ITEMS, @@ -562,7 +519,6 @@ const struct Item gItems[] = [ITEM_ANTIDOTE] = { .name = _("Antidote"), - .itemId = ITEM_ANTIDOTE, .price = 200, .description = sAntidoteDesc, .pocket = POCKET_ITEMS, @@ -575,7 +531,6 @@ const struct Item gItems[] = [ITEM_PARALYZE_HEAL] = { .name = _("Paralyze Heal"), - .itemId = ITEM_PARALYZE_HEAL, .price = 300, .description = sParalyzeHealDesc, .pocket = POCKET_ITEMS, @@ -588,7 +543,6 @@ const struct Item gItems[] = [ITEM_BURN_HEAL] = { .name = _("Burn Heal"), - .itemId = ITEM_BURN_HEAL, .price = 300, .description = sBurnHealDesc, .pocket = POCKET_ITEMS, @@ -601,7 +555,6 @@ const struct Item gItems[] = [ITEM_ICE_HEAL] = { .name = _("Ice Heal"), - .itemId = ITEM_ICE_HEAL, .price = 100, .description = sIceHealDesc, .pocket = POCKET_ITEMS, @@ -614,7 +567,6 @@ const struct Item gItems[] = [ITEM_AWAKENING] = { .name = _("Awakening"), - .itemId = ITEM_AWAKENING, .price = 100, .description = sAwakeningDesc, .pocket = POCKET_ITEMS, @@ -627,7 +579,6 @@ const struct Item gItems[] = [ITEM_FULL_HEAL] = { .name = _("Full Heal"), - .itemId = ITEM_FULL_HEAL, .price = 400, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -640,7 +591,6 @@ const struct Item gItems[] = [ITEM_ETHER] = { .name = _("Ether"), - .itemId = ITEM_ETHER, .price = 1200, .holdEffectParam = 10, .description = sEtherDesc, @@ -654,7 +604,6 @@ const struct Item gItems[] = [ITEM_MAX_ETHER] = { .name = _("Max Ether"), - .itemId = ITEM_MAX_ETHER, .price = 2000, .holdEffectParam = 255, .description = sMaxEtherDesc, @@ -668,7 +617,6 @@ const struct Item gItems[] = [ITEM_ELIXIR] = { .name = _("Elixir"), - .itemId = ITEM_ELIXIR, .price = 3000, .holdEffectParam = 10, .description = sElixirDesc, @@ -682,7 +630,6 @@ const struct Item gItems[] = [ITEM_MAX_ELIXIR] = { .name = _("Max Elixir"), - .itemId = ITEM_MAX_ELIXIR, .price = 4500, .holdEffectParam = 255, .description = sMaxElixirDesc, @@ -696,7 +643,6 @@ const struct Item gItems[] = [ITEM_BERRY_JUICE] = { .name = _("Berry Juice"), - .itemId = ITEM_BERRY_JUICE, .price = 200, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 20, @@ -711,7 +657,6 @@ const struct Item gItems[] = [ITEM_SACRED_ASH] = { .name = _("Sacred Ash"), - .itemId = ITEM_SACRED_ASH, .price = 50000, .description = sSacredAshDesc, .pocket = POCKET_ITEMS, @@ -723,7 +668,6 @@ const struct Item gItems[] = [ITEM_SWEET_HEART] = { .name = _("Sweet Heart"), - .itemId = ITEM_SWEET_HEART, .price = 3000, .holdEffectParam = 20, .description = sSweetHeartDesc, @@ -737,7 +681,6 @@ const struct Item gItems[] = [ITEM_MAX_HONEY] = { .name = _("Max Honey"), - .itemId = ITEM_MAX_HONEY, .price = 8000, .description = sMaxHoneyDesc, .pocket = POCKET_ITEMS, @@ -752,7 +695,6 @@ const struct Item gItems[] = [ITEM_PEWTER_CRUNCHIES] = { .name = _("PewtrCrnches"), - .itemId = ITEM_PEWTER_CRUNCHIES, .price = 250, .description = sPewterCrunchiesDesc, .pocket = POCKET_ITEMS, @@ -765,7 +707,6 @@ const struct Item gItems[] = [ITEM_RAGE_CANDY_BAR] = { .name = _("RageCandyBar"), - .itemId = ITEM_RAGE_CANDY_BAR, .price = 350, .description = sRageCandyBarDesc, .pocket = POCKET_ITEMS, @@ -778,7 +719,6 @@ const struct Item gItems[] = [ITEM_LAVA_COOKIE] = { .name = _("Lava Cookie"), - .itemId = ITEM_LAVA_COOKIE, .price = 350, .description = sLavaCookieDesc, .pocket = POCKET_ITEMS, @@ -791,7 +731,6 @@ const struct Item gItems[] = [ITEM_OLD_GATEAU] = { .name = _("Old Gateau"), - .itemId = ITEM_OLD_GATEAU, .price = 350, .description = sOldGateauDesc, .pocket = POCKET_ITEMS, @@ -804,7 +743,6 @@ const struct Item gItems[] = [ITEM_CASTELIACONE] = { .name = _("Casteliacone"), - .itemId = ITEM_CASTELIACONE, .price = 350, .description = sCasteliaconeDesc, .pocket = POCKET_ITEMS, @@ -817,7 +755,6 @@ const struct Item gItems[] = [ITEM_LUMIOSE_GALETTE] = { .name = _("LumioseGlete"), - .itemId = ITEM_LUMIOSE_GALETTE, .price = 350, .description = sLumioseGaletteDesc, .pocket = POCKET_ITEMS, @@ -830,7 +767,6 @@ const struct Item gItems[] = [ITEM_SHALOUR_SABLE] = { .name = _("ShalourSable"), - .itemId = ITEM_SHALOUR_SABLE, .price = 350, .description = sShalourSableDesc, .pocket = POCKET_ITEMS, @@ -843,7 +779,6 @@ const struct Item gItems[] = [ITEM_BIG_MALASADA] = { .name = _("Big Malasada"), - .itemId = ITEM_BIG_MALASADA, .price = 350, .description = sBigMalasadaDesc, .pocket = POCKET_ITEMS, @@ -858,7 +793,6 @@ const struct Item gItems[] = [ITEM_HP_UP] = { .name = _("HP Up"), - .itemId = ITEM_HP_UP, .price = 10000, .description = sHPUpDesc, .pocket = POCKET_ITEMS, @@ -870,7 +804,6 @@ const struct Item gItems[] = [ITEM_PROTEIN] = { .name = _("Protein"), - .itemId = ITEM_PROTEIN, .price = 10000, .description = sProteinDesc, .pocket = POCKET_ITEMS, @@ -882,7 +815,6 @@ const struct Item gItems[] = [ITEM_IRON] = { .name = _("Iron"), - .itemId = ITEM_IRON, .price = 10000, .description = sIronDesc, .pocket = POCKET_ITEMS, @@ -894,7 +826,6 @@ const struct Item gItems[] = [ITEM_CALCIUM] = { .name = _("Calcium"), - .itemId = ITEM_CALCIUM, .price = 10000, .description = sCalciumDesc, .pocket = POCKET_ITEMS, @@ -906,7 +837,6 @@ const struct Item gItems[] = [ITEM_ZINC] = { .name = _("Zinc"), - .itemId = ITEM_ZINC, .price = 10000, .description = sZincDesc, .pocket = POCKET_ITEMS, @@ -918,7 +848,6 @@ const struct Item gItems[] = [ITEM_CARBOS] = { .name = _("Carbos"), - .itemId = ITEM_CARBOS, .price = 10000, .description = sCarbosDesc, .pocket = POCKET_ITEMS, @@ -930,7 +859,6 @@ const struct Item gItems[] = [ITEM_PP_UP] = { .name = _("PP Up"), - .itemId = ITEM_PP_UP, .price = 10000, .description = sPPUpDesc, .pocket = POCKET_ITEMS, @@ -942,7 +870,6 @@ const struct Item gItems[] = [ITEM_PP_MAX] = { .name = _("PP Max"), - .itemId = ITEM_PP_MAX, .price = 10000, .description = sPPMaxDesc, .pocket = POCKET_ITEMS, @@ -956,7 +883,6 @@ const struct Item gItems[] = [ITEM_HEALTH_FEATHER] = { .name = _("HealthFeather"), - .itemId = ITEM_HEALTH_FEATHER, .price = 300, .description = sHealthFeatherDesc, .pocket = POCKET_ITEMS, @@ -968,7 +894,6 @@ const struct Item gItems[] = [ITEM_MUSCLE_FEATHER] = { .name = _("MuscleFeather"), - .itemId = ITEM_MUSCLE_FEATHER, .price = 300, .description = sMuscleFeatherDesc, .pocket = POCKET_ITEMS, @@ -980,7 +905,6 @@ const struct Item gItems[] = [ITEM_RESIST_FEATHER] = { .name = _("ResistFeather"), - .itemId = ITEM_RESIST_FEATHER, .price = 300, .description = sResistFeatherDesc, .pocket = POCKET_ITEMS, @@ -992,7 +916,6 @@ const struct Item gItems[] = [ITEM_GENIUS_FEATHER] = { .name = _("GeniusFeather"), - .itemId = ITEM_GENIUS_FEATHER, .price = 300, .description = sGeniusFeatherDesc, .pocket = POCKET_ITEMS, @@ -1004,7 +927,6 @@ const struct Item gItems[] = [ITEM_CLEVER_FEATHER] = { .name = _("CleverFeather"), - .itemId = ITEM_CLEVER_FEATHER, .price = 300, .description = sCleverFeatherDesc, .pocket = POCKET_ITEMS, @@ -1016,7 +938,6 @@ const struct Item gItems[] = [ITEM_SWIFT_FEATHER] = { .name = _("SwiftFeather"), - .itemId = ITEM_SWIFT_FEATHER, .price = 300, .description = sSwiftFeatherDesc, .pocket = POCKET_ITEMS, @@ -1030,7 +951,6 @@ const struct Item gItems[] = [ITEM_ABILITY_CAPSULE] = { .name = _("AbilityCapsle"), - .itemId = ITEM_ABILITY_CAPSULE, .price = 10000, .holdEffectParam = 0, .description = sAbilityCapsuleDesc, @@ -1042,7 +962,6 @@ const struct Item gItems[] = [ITEM_ABILITY_PATCH] = { .name = _("AbilityPatch"), - .itemId = ITEM_ABILITY_PATCH, .price = 0, .holdEffectParam = 0, .description = sAbilityPatchDesc, @@ -1056,7 +975,6 @@ const struct Item gItems[] = [ITEM_LONELY_MINT] = { .name = _("Lonely Mint"), - .itemId = ITEM_LONELY_MINT, .price = 20, .description = sLonelyMintDesc, .pocket = POCKET_ITEMS, @@ -1068,7 +986,6 @@ const struct Item gItems[] = [ITEM_ADAMANT_MINT] = { .name = _("Adamant Mint"), - .itemId = ITEM_ADAMANT_MINT, .price = 20, .description = sAdamantMintDesc, .pocket = POCKET_ITEMS, @@ -1080,7 +997,6 @@ const struct Item gItems[] = [ITEM_NAUGHTY_MINT] = { .name = _("Naughty Mint"), - .itemId = ITEM_NAUGHTY_MINT, .price = 20, .description = sNaughtyMintDesc, .pocket = POCKET_ITEMS, @@ -1092,7 +1008,6 @@ const struct Item gItems[] = [ITEM_BRAVE_MINT] = { .name = _("Brave Mint"), - .itemId = ITEM_BRAVE_MINT, .price = 20, .description = sBraveMintDesc, .pocket = POCKET_ITEMS, @@ -1104,7 +1019,6 @@ const struct Item gItems[] = [ITEM_BOLD_MINT] = { .name = _("Bold Mint"), - .itemId = ITEM_BOLD_MINT, .price = 20, .description = sBoldMintDesc, .pocket = POCKET_ITEMS, @@ -1116,7 +1030,6 @@ const struct Item gItems[] = [ITEM_IMPISH_MINT] = { .name = _("Impish Mint"), - .itemId = ITEM_IMPISH_MINT, .price = 20, .description = sImpishMintDesc, .pocket = POCKET_ITEMS, @@ -1128,7 +1041,6 @@ const struct Item gItems[] = [ITEM_LAX_MINT] = { .name = _("Lax Mint"), - .itemId = ITEM_LAX_MINT, .price = 20, .description = sLaxMintDesc, .pocket = POCKET_ITEMS, @@ -1140,7 +1052,6 @@ const struct Item gItems[] = [ITEM_RELAXED_MINT] = { .name = _("Relaxed Mint"), - .itemId = ITEM_RELAXED_MINT, .price = 20, .description = sRelaxedMintDesc, .pocket = POCKET_ITEMS, @@ -1152,7 +1063,6 @@ const struct Item gItems[] = [ITEM_MODEST_MINT] = { .name = _("Modest Mint"), - .itemId = ITEM_MODEST_MINT, .price = 20, .description = sModestMintDesc, .pocket = POCKET_ITEMS, @@ -1164,7 +1074,6 @@ const struct Item gItems[] = [ITEM_MILD_MINT] = { .name = _("Mild Mint"), - .itemId = ITEM_MILD_MINT, .price = 20, .description = sMildMintDesc, .pocket = POCKET_ITEMS, @@ -1176,7 +1085,6 @@ const struct Item gItems[] = [ITEM_RASH_MINT] = { .name = _("Rash Mint"), - .itemId = ITEM_RASH_MINT, .price = 20, .description = sRashMintDesc, .pocket = POCKET_ITEMS, @@ -1188,7 +1096,6 @@ const struct Item gItems[] = [ITEM_QUIET_MINT] = { .name = _("Quiet Mint"), - .itemId = ITEM_QUIET_MINT, .price = 20, .description = sQuietMintDesc, .pocket = POCKET_ITEMS, @@ -1200,7 +1107,6 @@ const struct Item gItems[] = [ITEM_CALM_MINT] = { .name = _("Calm Mint"), - .itemId = ITEM_CALM_MINT, .price = 20, .description = sCalmMintDesc, .pocket = POCKET_ITEMS, @@ -1212,7 +1118,6 @@ const struct Item gItems[] = [ITEM_GENTLE_MINT] = { .name = _("Gentle Mint"), - .itemId = ITEM_GENTLE_MINT, .price = 20, .description = sGentleMintDesc, .pocket = POCKET_ITEMS, @@ -1224,7 +1129,6 @@ const struct Item gItems[] = [ITEM_CAREFUL_MINT] = { .name = _("Careful Mint"), - .itemId = ITEM_CAREFUL_MINT, .price = 20, .description = sCarefulMintDesc, .pocket = POCKET_ITEMS, @@ -1236,7 +1140,6 @@ const struct Item gItems[] = [ITEM_SASSY_MINT] = { .name = _("Sassy Mint"), - .itemId = ITEM_SASSY_MINT, .price = 20, .description = sSassyMintDesc, .pocket = POCKET_ITEMS, @@ -1248,7 +1151,6 @@ const struct Item gItems[] = [ITEM_TIMID_MINT] = { .name = _("Timid Mint"), - .itemId = ITEM_TIMID_MINT, .price = 20, .description = sTimidMintDesc, .pocket = POCKET_ITEMS, @@ -1260,7 +1162,6 @@ const struct Item gItems[] = [ITEM_HASTY_MINT] = { .name = _("Hasty Mint"), - .itemId = ITEM_HASTY_MINT, .price = 20, .description = sHastyMintDesc, .pocket = POCKET_ITEMS, @@ -1272,7 +1173,6 @@ const struct Item gItems[] = [ITEM_JOLLY_MINT] = { .name = _("Jolly Mint"), - .itemId = ITEM_JOLLY_MINT, .price = 20, .description = sJollyMintDesc, .pocket = POCKET_ITEMS, @@ -1284,7 +1184,6 @@ const struct Item gItems[] = [ITEM_NAIVE_MINT] = { .name = _("Naive Mint"), - .itemId = ITEM_NAIVE_MINT, .price = 20, .description = sNaiveMintDesc, .pocket = POCKET_ITEMS, @@ -1296,7 +1195,6 @@ const struct Item gItems[] = [ITEM_SERIOUS_MINT] = { .name = _("Serious Mint"), - .itemId = ITEM_SERIOUS_MINT, .price = 20, .description = sSeriousMintDesc, .pocket = POCKET_ITEMS, @@ -1310,7 +1208,6 @@ const struct Item gItems[] = [ITEM_RARE_CANDY] = { .name = _("Rare Candy"), - .itemId = ITEM_RARE_CANDY, .price = 10000, .description = sRareCandyDesc, .pocket = POCKET_ITEMS, @@ -1322,7 +1219,6 @@ const struct Item gItems[] = [ITEM_EXP_CANDY_XS] = { .name = _("Exp.Candy XS"), - .itemId = ITEM_EXP_CANDY_XS, .price = 20, .holdEffectParam = EXP_100, .description = sExpCandyXSDesc, @@ -1335,7 +1231,6 @@ const struct Item gItems[] = [ITEM_EXP_CANDY_S] = { .name = _("Exp.Candy S"), - .itemId = ITEM_EXP_CANDY_S, .price = 240, .holdEffectParam = EXP_800, .description = sExpCandySDesc, @@ -1348,7 +1243,6 @@ const struct Item gItems[] = [ITEM_EXP_CANDY_M] = { .name = _("Exp.Candy M"), - .itemId = ITEM_EXP_CANDY_M, .price = 1000, .holdEffectParam = EXP_3000, .description = sExpCandyMDesc, @@ -1361,7 +1255,6 @@ const struct Item gItems[] = [ITEM_EXP_CANDY_L] = { .name = _("Exp.Candy L"), - .itemId = ITEM_EXP_CANDY_L, .price = 3000, .holdEffectParam = EXP_10000, .description = sExpCandyLDesc, @@ -1374,7 +1267,6 @@ const struct Item gItems[] = [ITEM_EXP_CANDY_XL] = { .name = _("Exp.Candy XL"), - .itemId = ITEM_EXP_CANDY_XL, .price = 10000, .holdEffectParam = EXP_30000, .description = sExpCandyXLDesc, @@ -1387,7 +1279,6 @@ const struct Item gItems[] = [ITEM_DYNAMAX_CANDY] = { .name = _("DynamaxCandy"), - .itemId = ITEM_DYNAMAX_CANDY, .price = 0, .description = sDynamaxCandyDesc, .pocket = POCKET_ITEMS, @@ -1401,7 +1292,6 @@ const struct Item gItems[] = [ITEM_BLUE_FLUTE] = { .name = _("Blue Flute"), - .itemId = ITEM_BLUE_FLUTE, .price = 20, .description = sBlueFluteDesc, .pocket = POCKET_ITEMS, @@ -1414,7 +1304,6 @@ const struct Item gItems[] = [ITEM_YELLOW_FLUTE] = { .name = _("Yellow Flute"), - .itemId = ITEM_YELLOW_FLUTE, .price = 20, .description = sYellowFluteDesc, .pocket = POCKET_ITEMS, @@ -1427,7 +1316,6 @@ const struct Item gItems[] = [ITEM_RED_FLUTE] = { .name = _("Red Flute"), - .itemId = ITEM_RED_FLUTE, .price = 20, .description = sRedFluteDesc, .pocket = POCKET_ITEMS, @@ -1442,7 +1330,6 @@ const struct Item gItems[] = [ITEM_BLACK_FLUTE] = { .name = _("Black Flute"), - .itemId = ITEM_BLACK_FLUTE, .price = 20, .holdEffectParam = 50, .description = sBlackFluteDesc, @@ -1455,7 +1342,6 @@ const struct Item gItems[] = [ITEM_WHITE_FLUTE] = { .name = _("White Flute"), - .itemId = ITEM_WHITE_FLUTE, .price = 20, .holdEffectParam = 150, .description = sWhiteFluteDesc, @@ -1470,7 +1356,6 @@ const struct Item gItems[] = [ITEM_REPEL] = { .name = _("Repel"), - .itemId = ITEM_REPEL, .price = 400, .holdEffectParam = 100, .description = sRepelDesc, @@ -1483,7 +1368,6 @@ const struct Item gItems[] = [ITEM_SUPER_REPEL] = { .name = _("Super Repel"), - .itemId = ITEM_SUPER_REPEL, .price = 700, .holdEffectParam = 200, .description = sSuperRepelDesc, @@ -1496,7 +1380,6 @@ const struct Item gItems[] = [ITEM_MAX_REPEL] = { .name = _("Max Repel"), - .itemId = ITEM_MAX_REPEL, .price = 900, .holdEffectParam = 250, .description = sMaxRepelDesc, @@ -1509,7 +1392,6 @@ const struct Item gItems[] = [ITEM_LURE] = { .name = _("Lure"), - .itemId = ITEM_LURE, .price = 400, .holdEffectParam = 100, .description = sLureDesc, @@ -1523,7 +1405,6 @@ const struct Item gItems[] = [ITEM_SUPER_LURE] = { .name = _("Super Lure"), - .itemId = ITEM_SUPER_LURE, .price = 700, .holdEffectParam = 200, .description = sSuperLureDesc, @@ -1537,7 +1418,6 @@ const struct Item gItems[] = [ITEM_MAX_LURE] = { .name = _("Max Lure"), - .itemId = ITEM_MAX_LURE, .price = 900, .holdEffectParam = 250, .description = sMaxLureDesc, @@ -1551,7 +1431,6 @@ const struct Item gItems[] = [ITEM_ESCAPE_ROPE] = { .name = _("Escape Rope"), - .itemId = ITEM_ESCAPE_ROPE, .description = sEscapeRopeDesc, #if I_KEY_ESCAPE_ROPE >= GEN_8 .price = 0, @@ -1573,7 +1452,6 @@ const struct Item gItems[] = [ITEM_X_ATTACK] = { .name = _("X Attack"), - .itemId = ITEM_X_ATTACK, .price = 1000, .holdEffectParam = X_ITEM_STAGES, .description = sXAttackDesc, @@ -1587,7 +1465,6 @@ const struct Item gItems[] = [ITEM_X_DEFENSE] = { .name = _("X Defense"), - .itemId = ITEM_X_DEFENSE, .price = 2000, .holdEffectParam = X_ITEM_STAGES, .description = sXDefenseDesc, @@ -1601,7 +1478,6 @@ const struct Item gItems[] = [ITEM_X_SP_ATK] = { .name = _("X Sp. Atk"), - .itemId = ITEM_X_SP_ATK, .price = 1000, .holdEffectParam = X_ITEM_STAGES, .description = sXSpAtkDesc, @@ -1615,7 +1491,6 @@ const struct Item gItems[] = [ITEM_X_SP_DEF] = { .name = _("X Sp. Def"), - .itemId = ITEM_X_SP_DEF, .price = 2000, .holdEffectParam = X_ITEM_STAGES, .description = sXSpDefDesc, @@ -1629,7 +1504,6 @@ const struct Item gItems[] = [ITEM_X_SPEED] = { .name = _("X Speed"), - .itemId = ITEM_X_SPEED, .price = 1000, .holdEffectParam = X_ITEM_STAGES, .description = sXSpeedDesc, @@ -1643,7 +1517,6 @@ const struct Item gItems[] = [ITEM_X_ACCURACY] = { .name = _("X Accuracy"), - .itemId = ITEM_X_ACCURACY, .price = 1000, .holdEffectParam = X_ITEM_STAGES, .description = sXAccuracyDesc, @@ -1657,7 +1530,6 @@ const struct Item gItems[] = [ITEM_DIRE_HIT] = { .name = _("Dire Hit"), - .itemId = ITEM_DIRE_HIT, .price = 1000, .description = sDireHitDesc, .pocket = POCKET_ITEMS, @@ -1670,7 +1542,6 @@ const struct Item gItems[] = [ITEM_GUARD_SPEC] = { .name = _("Guard Spec."), - .itemId = ITEM_GUARD_SPEC, .price = 1500, .description = sGuardSpecDesc, .pocket = POCKET_ITEMS, @@ -1683,7 +1554,6 @@ const struct Item gItems[] = [ITEM_POKE_DOLL] = { .name = _("Poké Doll"), - .itemId = ITEM_POKE_DOLL, .price = 100, .description = sPokeDollDesc, .pocket = POCKET_ITEMS, @@ -1696,7 +1566,6 @@ const struct Item gItems[] = [ITEM_FLUFFY_TAIL] = { .name = _("Fluffy Tail"), - .itemId = ITEM_FLUFFY_TAIL, .price = 100, .description = sFluffyTailDesc, .pocket = POCKET_ITEMS, @@ -1709,7 +1578,6 @@ const struct Item gItems[] = [ITEM_POKE_TOY] = { .name = _("Poké Toy"), - .itemId = ITEM_POKE_TOY, .price = 100, .description = sPokeToyDesc, .pocket = POCKET_ITEMS, @@ -1722,7 +1590,6 @@ const struct Item gItems[] = [ITEM_MAX_MUSHROOMS] = { .name = _("MaxMushrooms"), - .itemId = ITEM_MAX_MUSHROOMS, .price = 8000, .description = sMaxMushroomsDesc, .pocket = POCKET_ITEMS, @@ -1739,7 +1606,6 @@ const struct Item gItems[] = [ITEM_BOTTLE_CAP] = { .name = _("Bottle Cap"), - .itemId = ITEM_BOTTLE_CAP, .price = 5000, .description = sBottleCapDesc, .pocket = POCKET_ITEMS, @@ -1751,7 +1617,6 @@ const struct Item gItems[] = [ITEM_GOLD_BOTTLE_CAP] = { .name = _("GoldBottlCap"), - .itemId = ITEM_GOLD_BOTTLE_CAP, .price = 10000, .description = sGoldBottleCapDesc, .pocket = POCKET_ITEMS, @@ -1763,7 +1628,6 @@ const struct Item gItems[] = [ITEM_NUGGET] = { .name = _("Nugget"), - .itemId = ITEM_NUGGET, .price = 10000, .description = sNuggetDesc, .pocket = POCKET_ITEMS, @@ -1775,7 +1639,6 @@ const struct Item gItems[] = [ITEM_BIG_NUGGET] = { .name = _("Big Nugget"), - .itemId = ITEM_BIG_NUGGET, .price = 40000, .description = sBigNuggetDesc, .pocket = POCKET_ITEMS, @@ -1787,7 +1650,6 @@ const struct Item gItems[] = [ITEM_TINY_MUSHROOM] = { .name = _("Tiny Mushroom"), - .itemId = ITEM_TINY_MUSHROOM, .price = 500, .description = sTinyMushroomDesc, .pocket = POCKET_ITEMS, @@ -1799,7 +1661,6 @@ const struct Item gItems[] = [ITEM_BIG_MUSHROOM] = { .name = _("Big Mushroom"), - .itemId = ITEM_BIG_MUSHROOM, .price = 5000, .description = sBigMushroomDesc, .pocket = POCKET_ITEMS, @@ -1811,7 +1672,6 @@ const struct Item gItems[] = [ITEM_BALM_MUSHROOM] = { .name = _("Balm Mushroom"), - .itemId = ITEM_BALM_MUSHROOM, .price = 15000, .description = sBalmMushroomDesc, .pocket = POCKET_ITEMS, @@ -1823,7 +1683,6 @@ const struct Item gItems[] = [ITEM_PEARL] = { .name = _("Pearl"), - .itemId = ITEM_PEARL, .price = 2000, .description = sPearlDesc, .pocket = POCKET_ITEMS, @@ -1835,7 +1694,6 @@ const struct Item gItems[] = [ITEM_BIG_PEARL] = { .name = _("Big Pearl"), - .itemId = ITEM_BIG_PEARL, .price = 8000, .description = sBigPearlDesc, .pocket = POCKET_ITEMS, @@ -1847,7 +1705,6 @@ const struct Item gItems[] = [ITEM_PEARL_STRING] = { .name = _("Pearl String"), - .itemId = ITEM_PEARL_STRING, .price = 20000, .description = sPearlStringDesc, .pocket = POCKET_ITEMS, @@ -1859,7 +1716,6 @@ const struct Item gItems[] = [ITEM_STARDUST] = { .name = _("Stardust"), - .itemId = ITEM_STARDUST, .price = 3000, .description = sStardustDesc, .pocket = POCKET_ITEMS, @@ -1871,7 +1727,6 @@ const struct Item gItems[] = [ITEM_STAR_PIECE] = { .name = _("Star Piece"), - .itemId = ITEM_STAR_PIECE, .price = 12000, .description = sStarPieceDesc, .pocket = POCKET_ITEMS, @@ -1883,7 +1738,6 @@ const struct Item gItems[] = [ITEM_COMET_SHARD] = { .name = _("Comet Shard"), - .itemId = ITEM_COMET_SHARD, .price = 25000, .description = sCometShardDesc, .pocket = POCKET_ITEMS, @@ -1895,7 +1749,6 @@ const struct Item gItems[] = [ITEM_SHOAL_SALT] = { .name = _("Shoal Salt"), - .itemId = ITEM_SHOAL_SALT, .price = 20, .description = sShoalSaltDesc, .pocket = POCKET_ITEMS, @@ -1907,7 +1760,6 @@ const struct Item gItems[] = [ITEM_SHOAL_SHELL] = { .name = _("Shoal Shell"), - .itemId = ITEM_SHOAL_SHELL, .price = 20, .description = sShoalShellDesc, .pocket = POCKET_ITEMS, @@ -1919,7 +1771,6 @@ const struct Item gItems[] = [ITEM_RED_SHARD] = { .name = _("Red Shard"), - .itemId = ITEM_RED_SHARD, .price = 1000, .description = sRedShardDesc, .pocket = POCKET_ITEMS, @@ -1931,7 +1782,6 @@ const struct Item gItems[] = [ITEM_BLUE_SHARD] = { .name = _("Blue Shard"), - .itemId = ITEM_BLUE_SHARD, .price = 1000, .description = sBlueShardDesc, .pocket = POCKET_ITEMS, @@ -1943,7 +1793,6 @@ const struct Item gItems[] = [ITEM_YELLOW_SHARD] = { .name = _("Yellow Shard"), - .itemId = ITEM_YELLOW_SHARD, .price = 1000, .description = sYellowShardDesc, .pocket = POCKET_ITEMS, @@ -1955,7 +1804,6 @@ const struct Item gItems[] = [ITEM_GREEN_SHARD] = { .name = _("Green Shard"), - .itemId = ITEM_GREEN_SHARD, .price = 1000, .description = sGreenShardDesc, .pocket = POCKET_ITEMS, @@ -1967,7 +1815,6 @@ const struct Item gItems[] = [ITEM_HEART_SCALE] = { .name = _("Heart Scale"), - .itemId = ITEM_HEART_SCALE, .price = 100, .description = sHeartScaleDesc, .pocket = POCKET_ITEMS, @@ -1979,7 +1826,6 @@ const struct Item gItems[] = [ITEM_HONEY] = { .name = _("Honey"), - .itemId = ITEM_HONEY, .price = 300, .description = sHoneyDesc, .pocket = POCKET_ITEMS, @@ -1991,7 +1837,6 @@ const struct Item gItems[] = [ITEM_RARE_BONE] = { .name = _("Rare Bone"), - .itemId = ITEM_RARE_BONE, .price = 5000, .description = sRareBoneDesc, .pocket = POCKET_ITEMS, @@ -2003,7 +1848,6 @@ const struct Item gItems[] = [ITEM_ODD_KEYSTONE] = { .name = _("Odd Keystone"), - .itemId = ITEM_ODD_KEYSTONE, .price = 2100, .description = sOddKeystoneDesc, .pocket = POCKET_ITEMS, @@ -2015,7 +1859,6 @@ const struct Item gItems[] = [ITEM_PRETTY_FEATHER] = { .name = _("PrettyFeather"), - .itemId = ITEM_PRETTY_FEATHER, .price = 1000, .description = sPrettyFeatherDesc, .pocket = POCKET_ITEMS, @@ -2027,7 +1870,6 @@ const struct Item gItems[] = [ITEM_RELIC_COPPER] = { .name = _("Relic Copper"), - .itemId = ITEM_RELIC_COPPER, .price = 0, .description = sRelicCopperDesc, .pocket = POCKET_ITEMS, @@ -2039,7 +1881,6 @@ const struct Item gItems[] = [ITEM_RELIC_SILVER] = { .name = _("Relic Silver"), - .itemId = ITEM_RELIC_SILVER, .price = 0, .description = sRelicSilverDesc, .pocket = POCKET_ITEMS, @@ -2051,7 +1892,6 @@ const struct Item gItems[] = [ITEM_RELIC_GOLD] = { .name = _("Relic Gold"), - .itemId = ITEM_RELIC_GOLD, .price = 0, .description = sRelicGoldDesc, .pocket = POCKET_ITEMS, @@ -2063,7 +1903,6 @@ const struct Item gItems[] = [ITEM_RELIC_VASE] = { .name = _("Relic Vase"), - .itemId = ITEM_RELIC_VASE, .price = 0, .description = sRelicVaseDesc, .pocket = POCKET_ITEMS, @@ -2075,7 +1914,6 @@ const struct Item gItems[] = [ITEM_RELIC_BAND] = { .name = _("Relic Band"), - .itemId = ITEM_RELIC_BAND, .price = 0, .description = sRelicBandDesc, .pocket = POCKET_ITEMS, @@ -2087,7 +1925,6 @@ const struct Item gItems[] = [ITEM_RELIC_STATUE] = { .name = _("Relic Statue"), - .itemId = ITEM_RELIC_STATUE, .price = 0, .description = sRelicStatueDesc, .pocket = POCKET_ITEMS, @@ -2099,7 +1936,6 @@ const struct Item gItems[] = [ITEM_RELIC_CROWN] = { .name = _("Relic Crown"), - .itemId = ITEM_RELIC_CROWN, .price = 0, .description = sRelicCrownDesc, .pocket = POCKET_ITEMS, @@ -2111,7 +1947,6 @@ const struct Item gItems[] = [ITEM_STRANGE_SOUVENIR] = { .name = _("StrngeSouvnr"), - .itemId = ITEM_STRANGE_SOUVENIR, .price = 3000, .description = sStrangeSouvenirDesc, .pocket = POCKET_ITEMS, @@ -2125,7 +1960,6 @@ const struct Item gItems[] = [ITEM_HELIX_FOSSIL] = { .name = _("Helix Fossil"), - .itemId = ITEM_HELIX_FOSSIL, .description = sHelixFossilDesc, #if I_KEY_FOSSILS >= GEN_4 .price = 7000, @@ -2143,7 +1977,6 @@ const struct Item gItems[] = [ITEM_DOME_FOSSIL] = { .name = _("Dome Fossil"), - .itemId = ITEM_DOME_FOSSIL, .description = sDomeFossilDesc, #if I_KEY_FOSSILS >= GEN_4 .price = 7000, @@ -2161,7 +1994,6 @@ const struct Item gItems[] = [ITEM_OLD_AMBER] = { .name = _("Old Amber"), - .itemId = ITEM_OLD_AMBER, .description = sOldAmberDesc, #if I_KEY_FOSSILS >= GEN_4 .price = 10000, @@ -2179,7 +2011,6 @@ const struct Item gItems[] = [ITEM_ROOT_FOSSIL] = { .name = _("Root Fossil"), - .itemId = ITEM_ROOT_FOSSIL, .description = sRootFossilDesc, #if I_KEY_FOSSILS >= GEN_4 .price = 7000, @@ -2197,7 +2028,6 @@ const struct Item gItems[] = [ITEM_CLAW_FOSSIL] = { .name = _("Claw Fossil"), - .itemId = ITEM_CLAW_FOSSIL, .description = sClawFossilDesc, #if I_KEY_FOSSILS >= GEN_4 .price = 7000, @@ -2215,7 +2045,6 @@ const struct Item gItems[] = [ITEM_ARMOR_FOSSIL] = { .name = _("Armor Fossil"), - .itemId = ITEM_ARMOR_FOSSIL, .price = 7000, .description = sArmorFossilDesc, .pocket = POCKET_ITEMS, @@ -2227,7 +2056,6 @@ const struct Item gItems[] = [ITEM_SKULL_FOSSIL] = { .name = _("Skull Fossil"), - .itemId = ITEM_SKULL_FOSSIL, .price = 7000, .description = sSkullFossilDesc, .pocket = POCKET_ITEMS, @@ -2239,7 +2067,6 @@ const struct Item gItems[] = [ITEM_COVER_FOSSIL] = { .name = _("Cover Fossil"), - .itemId = ITEM_COVER_FOSSIL, .price = 7000, .description = sCoverFossilDesc, .pocket = POCKET_ITEMS, @@ -2251,7 +2078,6 @@ const struct Item gItems[] = [ITEM_PLUME_FOSSIL] = { .name = _("Plume Fossil"), - .itemId = ITEM_PLUME_FOSSIL, .price = 7000, .description = sPlumeFossilDesc, .pocket = POCKET_ITEMS, @@ -2263,7 +2089,6 @@ const struct Item gItems[] = [ITEM_JAW_FOSSIL] = { .name = _("Jaw Fossil"), - .itemId = ITEM_JAW_FOSSIL, .price = 7000, .description = sJawFossilDesc, .pocket = POCKET_ITEMS, @@ -2275,7 +2100,6 @@ const struct Item gItems[] = [ITEM_SAIL_FOSSIL] = { .name = _("Sail Fossil"), - .itemId = ITEM_SAIL_FOSSIL, .price = 7000, .description = sSailFossilDesc, .pocket = POCKET_ITEMS, @@ -2287,7 +2111,6 @@ const struct Item gItems[] = [ITEM_FOSSILIZED_BIRD] = { .name = _("FosslzedBird"), - .itemId = ITEM_FOSSILIZED_BIRD, .price = 5000, .description = sFossilizedBirdDesc, .pocket = POCKET_ITEMS, @@ -2299,7 +2122,6 @@ const struct Item gItems[] = [ITEM_FOSSILIZED_FISH] = { .name = _("FosslzedFish"), - .itemId = ITEM_FOSSILIZED_FISH, .price = 5000, .description = sFossilizedFishDesc, .pocket = POCKET_ITEMS, @@ -2311,7 +2133,6 @@ const struct Item gItems[] = [ITEM_FOSSILIZED_DRAKE] = { .name = _("FosslzedDrke"), - .itemId = ITEM_FOSSILIZED_DRAKE, .price = 5000, .description = sFossilizedDrakeDesc, .pocket = POCKET_ITEMS, @@ -2323,7 +2144,6 @@ const struct Item gItems[] = [ITEM_FOSSILIZED_DINO] = { .name = _("FosslzedDino"), - .itemId = ITEM_FOSSILIZED_DINO, .price = 5000, .description = sFossilizedDinoDesc, .pocket = POCKET_ITEMS, @@ -2337,7 +2157,6 @@ const struct Item gItems[] = [ITEM_GROWTH_MULCH] = { .name = _("Growth Mulch"), - .itemId = ITEM_GROWTH_MULCH, .price = 200, .description = sGrowthMulchDesc, .pocket = POCKET_ITEMS, @@ -2349,7 +2168,6 @@ const struct Item gItems[] = [ITEM_DAMP_MULCH] = { .name = _("Damp Mulch"), - .itemId = ITEM_DAMP_MULCH, .price = 200, .description = sDampMulchDesc, .pocket = POCKET_ITEMS, @@ -2361,7 +2179,6 @@ const struct Item gItems[] = [ITEM_STABLE_MULCH] = { .name = _("Stable Mulch"), - .itemId = ITEM_STABLE_MULCH, .price = 200, .description = sStableMulchDesc, .pocket = POCKET_ITEMS, @@ -2373,7 +2190,6 @@ const struct Item gItems[] = [ITEM_GOOEY_MULCH] = { .name = _("Gooey Mulch"), - .itemId = ITEM_GOOEY_MULCH, .price = 200, .description = sGooeyMulchDesc, .pocket = POCKET_ITEMS, @@ -2385,7 +2201,6 @@ const struct Item gItems[] = [ITEM_RICH_MULCH] = { .name = _("Rich Mulch"), - .itemId = ITEM_RICH_MULCH, .price = 200, .description = sRichMulchDesc, .pocket = POCKET_ITEMS, @@ -2397,7 +2212,6 @@ const struct Item gItems[] = [ITEM_SURPRISE_MULCH] = { .name = _("SurprseMulch"), - .itemId = ITEM_SURPRISE_MULCH, .price = 200, .description = sSurpriseMulchDesc, .pocket = POCKET_ITEMS, @@ -2409,7 +2223,6 @@ const struct Item gItems[] = [ITEM_BOOST_MULCH] = { .name = _("Boost Mulch"), - .itemId = ITEM_BOOST_MULCH, .price = 200, .description = sBoostMulchDesc, .pocket = POCKET_ITEMS, @@ -2421,7 +2234,6 @@ const struct Item gItems[] = [ITEM_AMAZE_MULCH] = { .name = _("Amaze Mulch"), - .itemId = ITEM_AMAZE_MULCH, .price = 200, .description = sAmazeMulchDesc, .pocket = POCKET_ITEMS, @@ -2435,7 +2247,6 @@ const struct Item gItems[] = [ITEM_RED_APRICORN] = { .name = _("Red Apricorn"), - .itemId = ITEM_RED_APRICORN, .price = 200, .description = sRedApricornDesc, .pocket = POCKET_ITEMS, @@ -2446,7 +2257,6 @@ const struct Item gItems[] = [ITEM_BLUE_APRICORN] = { .name = _("Blue Apricorn"), - .itemId = ITEM_BLUE_APRICORN, .price = 200, .description = sBlueApricornDesc, .pocket = POCKET_ITEMS, @@ -2457,7 +2267,6 @@ const struct Item gItems[] = [ITEM_YELLOW_APRICORN] = { .name = _("YellwApricorn"), - .itemId = ITEM_YELLOW_APRICORN, .price = 200, .description = sYellowApricornDesc, .pocket = POCKET_ITEMS, @@ -2468,7 +2277,6 @@ const struct Item gItems[] = [ITEM_GREEN_APRICORN] = { .name = _("GreenApricorn"), - .itemId = ITEM_GREEN_APRICORN, .price = 200, .description = sGreenApricornDesc, .pocket = POCKET_ITEMS, @@ -2479,7 +2287,6 @@ const struct Item gItems[] = [ITEM_PINK_APRICORN] = { .name = _("Pink Apricorn"), - .itemId = ITEM_PINK_APRICORN, .price = 200, .description = sPinkApricornDesc, .pocket = POCKET_ITEMS, @@ -2490,7 +2297,6 @@ const struct Item gItems[] = [ITEM_WHITE_APRICORN] = { .name = _("WhiteApricorn"), - .itemId = ITEM_WHITE_APRICORN, .price = 200, .description = sWhiteApricornDesc, .pocket = POCKET_ITEMS, @@ -2501,7 +2307,6 @@ const struct Item gItems[] = [ITEM_BLACK_APRICORN] = { .name = _("BlackApricorn"), - .itemId = ITEM_BLACK_APRICORN, .price = 200, .description = sBlackApricornDesc, .pocket = POCKET_ITEMS, @@ -2512,7 +2317,6 @@ const struct Item gItems[] = [ITEM_WISHING_PIECE] = { .name = _("WishingPiece"), - .itemId = ITEM_WISHING_PIECE, .price = 20, .description = sWishingPieceDesc, .pocket = POCKET_ITEMS, @@ -2524,7 +2328,6 @@ const struct Item gItems[] = [ITEM_GALARICA_TWIG] = { .name = _("GalaricaTwig"), - .itemId = ITEM_GALARICA_TWIG, .price = 40, .description = sGalaricaTwigDesc, .pocket = POCKET_ITEMS, @@ -2536,7 +2339,6 @@ const struct Item gItems[] = [ITEM_ARMORITE_ORE] = { .name = _("Armorite Ore"), - .itemId = ITEM_ARMORITE_ORE, .price = 40, .description = sArmoriteOreDesc, .pocket = POCKET_ITEMS, @@ -2548,7 +2350,6 @@ const struct Item gItems[] = [ITEM_DYNITE_ORE] = { .name = _("Dynite Ore"), - .itemId = ITEM_DYNITE_ORE, .price = 20, .description = sDyniteOreDesc, .pocket = POCKET_ITEMS, @@ -2562,7 +2363,6 @@ const struct Item gItems[] = [ITEM_ORANGE_MAIL] = { .name = _("Orange Mail"), - .itemId = ITEM_ORANGE_MAIL, .price = 50, .description = sOrangeMailDesc, .pocket = POCKET_ITEMS, @@ -2574,7 +2374,6 @@ const struct Item gItems[] = [ITEM_HARBOR_MAIL] = { .name = _("Harbor Mail"), - .itemId = ITEM_HARBOR_MAIL, .price = 50, .description = sHarborMailDesc, .pocket = POCKET_ITEMS, @@ -2586,7 +2385,6 @@ const struct Item gItems[] = [ITEM_GLITTER_MAIL] = { .name = _("Glitter Mail"), - .itemId = ITEM_GLITTER_MAIL, .price = 50, .description = sGlitterMailDesc, .pocket = POCKET_ITEMS, @@ -2598,7 +2396,6 @@ const struct Item gItems[] = [ITEM_MECH_MAIL] = { .name = _("Mech Mail"), - .itemId = ITEM_MECH_MAIL, .price = 50, .description = sMechMailDesc, .pocket = POCKET_ITEMS, @@ -2610,7 +2407,6 @@ const struct Item gItems[] = [ITEM_WOOD_MAIL] = { .name = _("Wood Mail"), - .itemId = ITEM_WOOD_MAIL, .price = 50, .description = sWoodMailDesc, .pocket = POCKET_ITEMS, @@ -2622,7 +2418,6 @@ const struct Item gItems[] = [ITEM_WAVE_MAIL] = { .name = _("Wave Mail"), - .itemId = ITEM_WAVE_MAIL, .price = 50, .description = sWaveMailDesc, .pocket = POCKET_ITEMS, @@ -2634,7 +2429,6 @@ const struct Item gItems[] = [ITEM_BEAD_MAIL] = { .name = _("Bead Mail"), - .itemId = ITEM_BEAD_MAIL, .price = 50, .description = sBeadMailDesc, .pocket = POCKET_ITEMS, @@ -2646,7 +2440,6 @@ const struct Item gItems[] = [ITEM_SHADOW_MAIL] = { .name = _("Shadow Mail"), - .itemId = ITEM_SHADOW_MAIL, .price = 50, .description = sShadowMailDesc, .pocket = POCKET_ITEMS, @@ -2658,7 +2451,6 @@ const struct Item gItems[] = [ITEM_TROPIC_MAIL] = { .name = _("Tropic Mail"), - .itemId = ITEM_TROPIC_MAIL, .price = 50, .description = sTropicMailDesc, .pocket = POCKET_ITEMS, @@ -2670,7 +2462,6 @@ const struct Item gItems[] = [ITEM_DREAM_MAIL] = { .name = _("Dream Mail"), - .itemId = ITEM_DREAM_MAIL, .price = 50, .description = sDreamMailDesc, .pocket = POCKET_ITEMS, @@ -2682,7 +2473,6 @@ const struct Item gItems[] = [ITEM_FAB_MAIL] = { .name = _("Fab Mail"), - .itemId = ITEM_FAB_MAIL, .price = 50, .description = sFabMailDesc, .pocket = POCKET_ITEMS, @@ -2694,7 +2484,6 @@ const struct Item gItems[] = [ITEM_RETRO_MAIL] = { .name = _("Retro Mail"), - .itemId = ITEM_RETRO_MAIL, .price = 50, .description = sRetroMailDesc, .pocket = POCKET_ITEMS, @@ -2708,7 +2497,6 @@ const struct Item gItems[] = [ITEM_FIRE_STONE] = { .name = _("Fire Stone"), - .itemId = ITEM_FIRE_STONE, .price = 3000, .description = sFireStoneDesc, .pocket = POCKET_ITEMS, @@ -2720,7 +2508,6 @@ const struct Item gItems[] = [ITEM_WATER_STONE] = { .name = _("Water Stone"), - .itemId = ITEM_WATER_STONE, .price = 3000, .description = sWaterStoneDesc, .pocket = POCKET_ITEMS, @@ -2732,7 +2519,6 @@ const struct Item gItems[] = [ITEM_THUNDER_STONE] = { .name = _("Thunder Stone"), - .itemId = ITEM_THUNDER_STONE, .price = 3000, .description = sThunderStoneDesc, .pocket = POCKET_ITEMS, @@ -2744,7 +2530,6 @@ const struct Item gItems[] = [ITEM_LEAF_STONE] = { .name = _("Leaf Stone"), - .itemId = ITEM_LEAF_STONE, .price = 3000, .description = sLeafStoneDesc, .pocket = POCKET_ITEMS, @@ -2756,7 +2541,6 @@ const struct Item gItems[] = [ITEM_ICE_STONE] = { .name = _("Ice Stone"), - .itemId = ITEM_ICE_STONE, .price = 3000, .description = sIceStoneDesc, .pocket = POCKET_ITEMS, @@ -2768,7 +2552,6 @@ const struct Item gItems[] = [ITEM_SUN_STONE] = { .name = _("Sun Stone"), - .itemId = ITEM_SUN_STONE, .price = 3000, .description = sSunStoneDesc, .pocket = POCKET_ITEMS, @@ -2780,7 +2563,6 @@ const struct Item gItems[] = [ITEM_MOON_STONE] = { .name = _("Moon Stone"), - .itemId = ITEM_MOON_STONE, .price = 3000, .description = sMoonStoneDesc, .pocket = POCKET_ITEMS, @@ -2792,7 +2574,6 @@ const struct Item gItems[] = [ITEM_SHINY_STONE] = { .name = _("Shiny Stone"), - .itemId = ITEM_SHINY_STONE, .price = 3000, .description = sShinyStoneDesc, .pocket = POCKET_ITEMS, @@ -2804,7 +2585,6 @@ const struct Item gItems[] = [ITEM_DUSK_STONE] = { .name = _("Dusk Stone"), - .itemId = ITEM_DUSK_STONE, .price = 3000, .description = sDuskStoneDesc, .pocket = POCKET_ITEMS, @@ -2816,7 +2596,6 @@ const struct Item gItems[] = [ITEM_DAWN_STONE] = { .name = _("Dawn Stone"), - .itemId = ITEM_DAWN_STONE, .price = 3000, .description = sDawnStoneDesc, .pocket = POCKET_ITEMS, @@ -2828,7 +2607,6 @@ const struct Item gItems[] = [ITEM_SWEET_APPLE] = { .name = _("Sweet Apple"), - .itemId = ITEM_SWEET_APPLE, .price = 2200, .description = sSweetAppleDesc, .pocket = POCKET_ITEMS, @@ -2840,7 +2618,6 @@ const struct Item gItems[] = [ITEM_TART_APPLE] = { .name = _("Tart Apple"), - .itemId = ITEM_TART_APPLE, .price = 2200, .description = sTartAppleDesc, .pocket = POCKET_ITEMS, @@ -2852,7 +2629,6 @@ const struct Item gItems[] = [ITEM_CRACKED_POT] = { .name = _("Cracked Pot"), - .itemId = ITEM_CRACKED_POT, .price = 1600, .description = sCrackedPotDesc, .pocket = POCKET_ITEMS, @@ -2864,7 +2640,6 @@ const struct Item gItems[] = [ITEM_CHIPPED_POT] = { .name = _("Chipped Pot"), - .itemId = ITEM_CHIPPED_POT, .price = 38000, .description = sChippedPotDesc, .pocket = POCKET_ITEMS, @@ -2876,7 +2651,6 @@ const struct Item gItems[] = [ITEM_GALARICA_CUFF] = { .name = _("GalaricaCuff"), - .itemId = ITEM_GALARICA_CUFF, .price = 6000, .description = sGalaricaCuffDesc, .pocket = POCKET_ITEMS, @@ -2888,7 +2662,6 @@ const struct Item gItems[] = [ITEM_GALARICA_WREATH] = { .name = _("GalrcaWreath"), - .itemId = ITEM_GALARICA_WREATH, .price = 6000, .description = sGalaricaWreathDesc, .pocket = POCKET_ITEMS, @@ -2900,7 +2673,6 @@ const struct Item gItems[] = [ITEM_DRAGON_SCALE] = { .name = _("Dragon Scale"), - .itemId = ITEM_DRAGON_SCALE, .price = 2000, .holdEffect = HOLD_EFFECT_DRAGON_SCALE, .holdEffectParam = 10, @@ -2914,7 +2686,6 @@ const struct Item gItems[] = [ITEM_UPGRADE] = { .name = _("Upgrade"), - .itemId = ITEM_UPGRADE, .price = 2000, .holdEffect = HOLD_EFFECT_UPGRADE, .description = sUpgradeDesc, @@ -2927,7 +2698,6 @@ const struct Item gItems[] = [ITEM_PROTECTOR] = { .name = _("Protector"), - .itemId = ITEM_PROTECTOR, .price = 2000, .description = sProtectorDesc, .pocket = POCKET_ITEMS, @@ -2939,7 +2709,6 @@ const struct Item gItems[] = [ITEM_ELECTIRIZER] = { .name = _("Electirizer"), - .itemId = ITEM_ELECTIRIZER, .price = 2000, .description = sElectirizerDesc, .pocket = POCKET_ITEMS, @@ -2951,7 +2720,6 @@ const struct Item gItems[] = [ITEM_MAGMARIZER] = { .name = _("Magmarizer"), - .itemId = ITEM_MAGMARIZER, .price = 2000, .description = sMagmarizerDesc, .pocket = POCKET_ITEMS, @@ -2963,7 +2731,6 @@ const struct Item gItems[] = [ITEM_DUBIOUS_DISC] = { .name = _("Dubious Disc"), - .itemId = ITEM_DUBIOUS_DISC, .price = 2000, .description = sDubiousDiscDesc, .pocket = POCKET_ITEMS, @@ -2975,7 +2742,6 @@ const struct Item gItems[] = [ITEM_REAPER_CLOTH] = { .name = _("Reaper Cloth"), - .itemId = ITEM_REAPER_CLOTH, .price = 2000, .description = sReaperClothDesc, .pocket = POCKET_ITEMS, @@ -2987,7 +2753,6 @@ const struct Item gItems[] = [ITEM_PRISM_SCALE] = { .name = _("Prism Scale"), - .itemId = ITEM_PRISM_SCALE, .price = 2000, .description = sPrismScaleDesc, .pocket = POCKET_ITEMS, @@ -2999,7 +2764,6 @@ const struct Item gItems[] = [ITEM_WHIPPED_DREAM] = { .name = _("Whipped Dream"), - .itemId = ITEM_WHIPPED_DREAM, .price = 2000, .description = sWhippedDreamDesc, .pocket = POCKET_ITEMS, @@ -3011,7 +2775,6 @@ const struct Item gItems[] = [ITEM_SACHET] = { .name = _("Sachet"), - .itemId = ITEM_SACHET, .price = 2000, .description = sSachetDesc, .pocket = POCKET_ITEMS, @@ -3023,7 +2786,6 @@ const struct Item gItems[] = [ITEM_OVAL_STONE] = { .name = _("Oval Stone"), - .itemId = ITEM_OVAL_STONE, .price = 2000, .description = sOvalStoneDesc, .pocket = POCKET_ITEMS, @@ -3035,7 +2797,6 @@ const struct Item gItems[] = [ITEM_STRAWBERRY_SWEET] = { .name = _("StrwbrySweet"), - .itemId = ITEM_STRAWBERRY_SWEET, .price = 500, .description = sStrawberrySweetDesc, .pocket = POCKET_ITEMS, @@ -3047,7 +2808,6 @@ const struct Item gItems[] = [ITEM_LOVE_SWEET] = { .name = _("Love Sweet"), - .itemId = ITEM_LOVE_SWEET, .price = 500, .description = sLoveSweetDesc, .pocket = POCKET_ITEMS, @@ -3059,7 +2819,6 @@ const struct Item gItems[] = [ITEM_BERRY_SWEET] = { .name = _("Berry Sweet"), - .itemId = ITEM_BERRY_SWEET, .price = 500, .description = sBerrySweetDesc, .pocket = POCKET_ITEMS, @@ -3071,7 +2830,6 @@ const struct Item gItems[] = [ITEM_CLOVER_SWEET] = { .name = _("Clover Sweet"), - .itemId = ITEM_CLOVER_SWEET, .price = 500, .description = sCloverSweetDesc, .pocket = POCKET_ITEMS, @@ -3083,7 +2841,6 @@ const struct Item gItems[] = [ITEM_FLOWER_SWEET] = { .name = _("Flower Sweet"), - .itemId = ITEM_FLOWER_SWEET, .price = 500, .description = sFlowerSweetDesc, .pocket = POCKET_ITEMS, @@ -3095,7 +2852,6 @@ const struct Item gItems[] = [ITEM_STAR_SWEET] = { .name = _("Star Sweet"), - .itemId = ITEM_STAR_SWEET, .price = 500, .description = sStarSweetDesc, .pocket = POCKET_ITEMS, @@ -3107,7 +2863,6 @@ const struct Item gItems[] = [ITEM_RIBBON_SWEET] = { .name = _("Ribbon Sweet"), - .itemId = ITEM_RIBBON_SWEET, .price = 500, .description = sRibbonSweetDesc, .pocket = POCKET_ITEMS, @@ -3119,7 +2874,6 @@ const struct Item gItems[] = [ITEM_EVERSTONE] = { .name = _("Everstone"), - .itemId = ITEM_EVERSTONE, .price = 3000, .holdEffect = HOLD_EFFECT_PREVENT_EVOLVE, .description = sEverstoneDesc, @@ -3134,7 +2888,6 @@ const struct Item gItems[] = [ITEM_RED_NECTAR] = { .name = _("Red Nectar"), - .itemId = ITEM_RED_NECTAR, .price = 300, .holdEffectParam = 0, .description = sRedNectarDesc, @@ -3147,7 +2900,6 @@ const struct Item gItems[] = [ITEM_YELLOW_NECTAR] = { .name = _("Yellow Nectar"), - .itemId = ITEM_YELLOW_NECTAR, .price = 300, .holdEffectParam = 0, .description = sYellowNectarDesc, @@ -3160,7 +2912,6 @@ const struct Item gItems[] = [ITEM_PINK_NECTAR] = { .name = _("Pink Nectar"), - .itemId = ITEM_PINK_NECTAR, .price = 300, .holdEffectParam = 0, .description = sPinkNectarDesc, @@ -3173,7 +2924,6 @@ const struct Item gItems[] = [ITEM_PURPLE_NECTAR] = { .name = _("Purple Nectar"), - .itemId = ITEM_PURPLE_NECTAR, .price = 300, .holdEffectParam = 0, .description = sPurpleNectarDesc, @@ -3188,7 +2938,6 @@ const struct Item gItems[] = [ITEM_FLAME_PLATE] = { .name = _("Flame Plate"), - .itemId = ITEM_FLAME_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3203,7 +2952,6 @@ const struct Item gItems[] = [ITEM_SPLASH_PLATE] = { .name = _("Splash Plate"), - .itemId = ITEM_SPLASH_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3218,7 +2966,6 @@ const struct Item gItems[] = [ITEM_ZAP_PLATE] = { .name = _("Zap Plate"), - .itemId = ITEM_ZAP_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3233,7 +2980,6 @@ const struct Item gItems[] = [ITEM_MEADOW_PLATE] = { .name = _("Meadow Plate"), - .itemId = ITEM_MEADOW_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3248,7 +2994,6 @@ const struct Item gItems[] = [ITEM_ICICLE_PLATE] = { .name = _("Icicle Plate"), - .itemId = ITEM_ICICLE_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3263,7 +3008,6 @@ const struct Item gItems[] = [ITEM_FIST_PLATE] = { .name = _("Fist Plate"), - .itemId = ITEM_FIST_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3278,7 +3022,6 @@ const struct Item gItems[] = [ITEM_TOXIC_PLATE] = { .name = _("Toxic Plate"), - .itemId = ITEM_TOXIC_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3293,7 +3036,6 @@ const struct Item gItems[] = [ITEM_EARTH_PLATE] = { .name = _("Earth Plate"), - .itemId = ITEM_EARTH_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3308,7 +3050,6 @@ const struct Item gItems[] = [ITEM_SKY_PLATE] = { .name = _("Sky Plate"), - .itemId = ITEM_SKY_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3323,7 +3064,6 @@ const struct Item gItems[] = [ITEM_MIND_PLATE] = { .name = _("Mind Plate"), - .itemId = ITEM_MIND_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3338,7 +3078,6 @@ const struct Item gItems[] = [ITEM_INSECT_PLATE] = { .name = _("Insect Plate"), - .itemId = ITEM_INSECT_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3353,7 +3092,6 @@ const struct Item gItems[] = [ITEM_STONE_PLATE] = { .name = _("Stone Plate"), - .itemId = ITEM_STONE_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3368,7 +3106,6 @@ const struct Item gItems[] = [ITEM_SPOOKY_PLATE] = { .name = _("Spooky Plate"), - .itemId = ITEM_SPOOKY_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3383,7 +3120,6 @@ const struct Item gItems[] = [ITEM_DRACO_PLATE] = { .name = _("Draco Plate"), - .itemId = ITEM_DRACO_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3398,7 +3134,6 @@ const struct Item gItems[] = [ITEM_DREAD_PLATE] = { .name = _("Dread Plate"), - .itemId = ITEM_DREAD_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3413,7 +3148,6 @@ const struct Item gItems[] = [ITEM_IRON_PLATE] = { .name = _("Iron Plate"), - .itemId = ITEM_IRON_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3428,7 +3162,6 @@ const struct Item gItems[] = [ITEM_PIXIE_PLATE] = { .name = _("Pixie Plate"), - .itemId = ITEM_PIXIE_PLATE, .price = 1000, .holdEffect = HOLD_EFFECT_PLATE, .holdEffectParam = 20, @@ -3445,7 +3178,6 @@ const struct Item gItems[] = [ITEM_DOUSE_DRIVE] = { .name = _("Douse Drive"), - .itemId = ITEM_DOUSE_DRIVE, .price = 0, .holdEffect = HOLD_EFFECT_DRIVE, .description = sDouseDriveDesc, @@ -3459,7 +3191,6 @@ const struct Item gItems[] = [ITEM_SHOCK_DRIVE] = { .name = _("Shock Drive"), - .itemId = ITEM_SHOCK_DRIVE, .price = 0, .holdEffect = HOLD_EFFECT_DRIVE, .description = sShockDriveDesc, @@ -3473,7 +3204,6 @@ const struct Item gItems[] = [ITEM_BURN_DRIVE] = { .name = _("Burn Drive"), - .itemId = ITEM_BURN_DRIVE, .price = 0, .holdEffect = HOLD_EFFECT_DRIVE, .description = sBurnDriveDesc, @@ -3487,7 +3217,6 @@ const struct Item gItems[] = [ITEM_CHILL_DRIVE] = { .name = _("Chill Drive"), - .itemId = ITEM_CHILL_DRIVE, .price = 0, .holdEffect = HOLD_EFFECT_DRIVE, .description = sChillDriveDesc, @@ -3503,7 +3232,6 @@ const struct Item gItems[] = [ITEM_FIRE_MEMORY] = { .name = _("Fire Memory"), - .itemId = ITEM_FIRE_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3518,7 +3246,6 @@ const struct Item gItems[] = [ITEM_WATER_MEMORY] = { .name = _("Water Memory"), - .itemId = ITEM_WATER_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3533,7 +3260,6 @@ const struct Item gItems[] = [ITEM_ELECTRIC_MEMORY] = { .name = _("ElectrcMemory"), - .itemId = ITEM_ELECTRIC_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3548,7 +3274,6 @@ const struct Item gItems[] = [ITEM_GRASS_MEMORY] = { .name = _("Grass Memory"), - .itemId = ITEM_GRASS_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3563,7 +3288,6 @@ const struct Item gItems[] = [ITEM_ICE_MEMORY] = { .name = _("Ice Memory"), - .itemId = ITEM_ICE_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3578,7 +3302,6 @@ const struct Item gItems[] = [ITEM_FIGHTING_MEMORY] = { .name = _("FightngMemory"), - .itemId = ITEM_FIGHTING_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3593,7 +3316,6 @@ const struct Item gItems[] = [ITEM_POISON_MEMORY] = { .name = _("Poison Memory"), - .itemId = ITEM_POISON_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3608,7 +3330,6 @@ const struct Item gItems[] = [ITEM_GROUND_MEMORY] = { .name = _("Ground Memory"), - .itemId = ITEM_GROUND_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3623,7 +3344,6 @@ const struct Item gItems[] = [ITEM_FLYING_MEMORY] = { .name = _("Flying Memory"), - .itemId = ITEM_FLYING_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3638,7 +3358,6 @@ const struct Item gItems[] = [ITEM_PSYCHIC_MEMORY] = { .name = _("PsychicMemory"), - .itemId = ITEM_PSYCHIC_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3653,7 +3372,6 @@ const struct Item gItems[] = [ITEM_BUG_MEMORY] = { .name = _("Bug Memory"), - .itemId = ITEM_BUG_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3668,7 +3386,6 @@ const struct Item gItems[] = [ITEM_ROCK_MEMORY] = { .name = _("Rock Memory"), - .itemId = ITEM_ROCK_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3683,7 +3400,6 @@ const struct Item gItems[] = [ITEM_GHOST_MEMORY] = { .name = _("Ghost Memory"), - .itemId = ITEM_GHOST_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3698,7 +3414,6 @@ const struct Item gItems[] = [ITEM_DRAGON_MEMORY] = { .name = _("Dragon Memory"), - .itemId = ITEM_DRAGON_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3713,7 +3428,6 @@ const struct Item gItems[] = [ITEM_DARK_MEMORY] = { .name = _("Dark Memory"), - .itemId = ITEM_DARK_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3728,7 +3442,6 @@ const struct Item gItems[] = [ITEM_STEEL_MEMORY] = { .name = _("Steel Memory"), - .itemId = ITEM_STEEL_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3743,7 +3456,6 @@ const struct Item gItems[] = [ITEM_FAIRY_MEMORY] = { .name = _("Fairy Memory"), - .itemId = ITEM_FAIRY_MEMORY, .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -3758,7 +3470,6 @@ const struct Item gItems[] = [ITEM_RUSTED_SWORD] = { .name = _("RustedSword"), - .itemId = ITEM_RUSTED_SWORD, .price = 0, .description = sRustedSwordDesc, .pocket = POCKET_ITEMS, @@ -3769,7 +3480,6 @@ const struct Item gItems[] = [ITEM_RUSTED_SHIELD] = { .name = _("RustedShield"), - .itemId = ITEM_RUSTED_SHIELD, .price = 0, .description = sRustedShieldDesc, .pocket = POCKET_ITEMS, @@ -3782,7 +3492,6 @@ const struct Item gItems[] = [ITEM_RED_ORB] = { .name = _("Red Orb"), - .itemId = ITEM_RED_ORB, .price = 0, .holdEffect = HOLD_EFFECT_PRIMAL_ORB, .description = sRedOrbDesc, @@ -3794,7 +3503,6 @@ const struct Item gItems[] = [ITEM_BLUE_ORB] = { .name = _("Blue Orb"), - .itemId = ITEM_BLUE_ORB, .price = 0, .holdEffect = HOLD_EFFECT_PRIMAL_ORB, .description = sBlueOrbDesc, @@ -3808,7 +3516,6 @@ const struct Item gItems[] = [ITEM_VENUSAURITE] = { .name = _("Venusaurite"), - .itemId = ITEM_VENUSAURITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sVenusauriteDesc, @@ -3821,7 +3528,6 @@ const struct Item gItems[] = [ITEM_CHARIZARDITE_X] = { .name = _("CharizarditeX"), - .itemId = ITEM_CHARIZARDITE_X, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sCharizarditeDesc, @@ -3834,7 +3540,6 @@ const struct Item gItems[] = [ITEM_CHARIZARDITE_Y] = { .name = _("CharizarditeY"), - .itemId = ITEM_CHARIZARDITE_Y, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sCharizarditeDesc, @@ -3847,7 +3552,6 @@ const struct Item gItems[] = [ITEM_BLASTOISINITE] = { .name = _("Blastoisinite"), - .itemId = ITEM_BLASTOISINITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sBlastoisiniteDesc, @@ -3860,7 +3564,6 @@ const struct Item gItems[] = [ITEM_BEEDRILLITE] = { .name = _("Beedrillite"), - .itemId = ITEM_BEEDRILLITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sBeedrilliteDesc, @@ -3873,7 +3576,6 @@ const struct Item gItems[] = [ITEM_PIDGEOTITE] = { .name = _("Pidgeotite"), - .itemId = ITEM_PIDGEOTITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sPidgeotiteDesc, @@ -3886,7 +3588,6 @@ const struct Item gItems[] = [ITEM_ALAKAZITE] = { .name = _("Alakazite"), - .itemId = ITEM_ALAKAZITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAlakaziteDesc, @@ -3899,7 +3600,6 @@ const struct Item gItems[] = [ITEM_SLOWBRONITE] = { .name = _("Slowbronite"), - .itemId = ITEM_SLOWBRONITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSlowbroniteDesc, @@ -3912,7 +3612,6 @@ const struct Item gItems[] = [ITEM_GENGARITE] = { .name = _("Gengarite"), - .itemId = ITEM_GENGARITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sGengariteDesc, @@ -3925,7 +3624,6 @@ const struct Item gItems[] = [ITEM_KANGASKHANITE] = { .name = _("Kangaskhanite"), - .itemId = ITEM_KANGASKHANITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sKangaskhaniteDesc, @@ -3938,7 +3636,6 @@ const struct Item gItems[] = [ITEM_PINSIRITE] = { .name = _("Pinsirite"), - .itemId = ITEM_PINSIRITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sPinsiriteDesc, @@ -3951,7 +3648,6 @@ const struct Item gItems[] = [ITEM_GYARADOSITE] = { .name = _("Gyaradosite"), - .itemId = ITEM_GYARADOSITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sGyaradositeDesc, @@ -3964,7 +3660,6 @@ const struct Item gItems[] = [ITEM_AERODACTYLITE] = { .name = _("Aerodactylite"), - .itemId = ITEM_AERODACTYLITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAerodactyliteDesc, @@ -3977,7 +3672,6 @@ const struct Item gItems[] = [ITEM_MEWTWONITE_X] = { .name = _("Mewtwonite X"), - .itemId = ITEM_MEWTWONITE_X, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sMewtwoniteDesc, @@ -3990,7 +3684,6 @@ const struct Item gItems[] = [ITEM_MEWTWONITE_Y] = { .name = _("Mewtwonite Y"), - .itemId = ITEM_MEWTWONITE_Y, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sMewtwoniteDesc, @@ -4003,7 +3696,6 @@ const struct Item gItems[] = [ITEM_AMPHAROSITE] = { .name = _("Ampharosite"), - .itemId = ITEM_AMPHAROSITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAmpharositeDesc, @@ -4016,7 +3708,6 @@ const struct Item gItems[] = [ITEM_STEELIXITE] = { .name = _("Steelixite"), - .itemId = ITEM_STEELIXITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSteelixiteDesc, @@ -4029,7 +3720,6 @@ const struct Item gItems[] = [ITEM_SCIZORITE] = { .name = _("Scizorite"), - .itemId = ITEM_SCIZORITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sScizoriteDesc, @@ -4042,7 +3732,6 @@ const struct Item gItems[] = [ITEM_HERACRONITE] = { .name = _("Heracronite"), - .itemId = ITEM_HERACRONITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sHeracroniteDesc, @@ -4055,7 +3744,6 @@ const struct Item gItems[] = [ITEM_HOUNDOOMINITE] = { .name = _("Houndoominite"), - .itemId = ITEM_HOUNDOOMINITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sHoundoominiteDesc, @@ -4068,7 +3756,6 @@ const struct Item gItems[] = [ITEM_TYRANITARITE] = { .name = _("Tyranitarite"), - .itemId = ITEM_TYRANITARITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sTyranitariteDesc, @@ -4081,7 +3768,6 @@ const struct Item gItems[] = [ITEM_SCEPTILITE] = { .name = _("Sceptilite"), - .itemId = ITEM_SCEPTILITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSceptiliteDesc, @@ -4094,7 +3780,6 @@ const struct Item gItems[] = [ITEM_BLAZIKENITE] = { .name = _("Blazikenite"), - .itemId = ITEM_BLAZIKENITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sBlazikeniteDesc, @@ -4107,7 +3792,6 @@ const struct Item gItems[] = [ITEM_SWAMPERTITE] = { .name = _("Swampertite"), - .itemId = ITEM_SWAMPERTITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSwampertiteDesc, @@ -4120,7 +3804,6 @@ const struct Item gItems[] = [ITEM_GARDEVOIRITE] = { .name = _("Gardevoirite"), - .itemId = ITEM_GARDEVOIRITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sGardevoiriteDesc, @@ -4133,7 +3816,6 @@ const struct Item gItems[] = [ITEM_SABLENITE] = { .name = _("Sablenite"), - .itemId = ITEM_SABLENITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSableniteDesc, @@ -4146,7 +3828,6 @@ const struct Item gItems[] = [ITEM_MAWILITE] = { .name = _("Mawilite"), - .itemId = ITEM_MAWILITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sMawiliteDesc, @@ -4159,7 +3840,6 @@ const struct Item gItems[] = [ITEM_AGGRONITE] = { .name = _("Aggronite"), - .itemId = ITEM_AGGRONITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAggroniteDesc, @@ -4172,7 +3852,6 @@ const struct Item gItems[] = [ITEM_MEDICHAMITE] = { .name = _("Medichamite"), - .itemId = ITEM_MEDICHAMITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sMedichamiteDesc, @@ -4185,7 +3864,6 @@ const struct Item gItems[] = [ITEM_MANECTITE] = { .name = _("Manectite"), - .itemId = ITEM_MANECTITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sManectiteDesc, @@ -4198,7 +3876,6 @@ const struct Item gItems[] = [ITEM_SHARPEDONITE] = { .name = _("Sharpedonite"), - .itemId = ITEM_SHARPEDONITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSharpedoniteDesc, @@ -4211,7 +3888,6 @@ const struct Item gItems[] = [ITEM_CAMERUPTITE] = { .name = _("Cameruptite"), - .itemId = ITEM_CAMERUPTITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sCameruptiteDesc, @@ -4224,7 +3900,6 @@ const struct Item gItems[] = [ITEM_ALTARIANITE] = { .name = _("Altarianite"), - .itemId = ITEM_ALTARIANITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAltarianiteDesc, @@ -4237,7 +3912,6 @@ const struct Item gItems[] = [ITEM_BANETTITE] = { .name = _("Banettite"), - .itemId = ITEM_BANETTITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sBanettiteDesc, @@ -4250,7 +3924,6 @@ const struct Item gItems[] = [ITEM_ABSOLITE] = { .name = _("Absolite"), - .itemId = ITEM_ABSOLITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAbsoliteDesc, @@ -4263,7 +3936,6 @@ const struct Item gItems[] = [ITEM_GLALITITE] = { .name = _("Glalitite"), - .itemId = ITEM_GLALITITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sGlalititeDesc, @@ -4276,7 +3948,6 @@ const struct Item gItems[] = [ITEM_SALAMENCITE] = { .name = _("Salamencite"), - .itemId = ITEM_SALAMENCITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sSalamenciteDesc, @@ -4289,7 +3960,6 @@ const struct Item gItems[] = [ITEM_METAGROSSITE] = { .name = _("Metagrossite"), - .itemId = ITEM_METAGROSSITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sMetagrossiteDesc, @@ -4302,7 +3972,6 @@ const struct Item gItems[] = [ITEM_LATIASITE] = { .name = _("Latiasite"), - .itemId = ITEM_LATIASITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sLatiasiteDesc, @@ -4315,7 +3984,6 @@ const struct Item gItems[] = [ITEM_LATIOSITE] = { .name = _("Latiosite"), - .itemId = ITEM_LATIOSITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sLatiositeDesc, @@ -4328,7 +3996,6 @@ const struct Item gItems[] = [ITEM_LOPUNNITE] = { .name = _("Lopunnite"), - .itemId = ITEM_LOPUNNITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sLopunniteDesc, @@ -4341,7 +4008,6 @@ const struct Item gItems[] = [ITEM_GARCHOMPITE] = { .name = _("Garchompite"), - .itemId = ITEM_GARCHOMPITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sGarchompiteDesc, @@ -4354,7 +4020,6 @@ const struct Item gItems[] = [ITEM_LUCARIONITE] = { .name = _("Lucarionite"), - .itemId = ITEM_LUCARIONITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sLucarioniteDesc, @@ -4367,7 +4032,6 @@ const struct Item gItems[] = [ITEM_ABOMASITE] = { .name = _("Abomasite"), - .itemId = ITEM_ABOMASITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAbomasiteDesc, @@ -4380,7 +4044,6 @@ const struct Item gItems[] = [ITEM_GALLADITE] = { .name = _("Galladite"), - .itemId = ITEM_GALLADITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sGalladiteDesc, @@ -4393,7 +4056,6 @@ const struct Item gItems[] = [ITEM_AUDINITE] = { .name = _("Audinite"), - .itemId = ITEM_AUDINITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sAudiniteDesc, @@ -4406,7 +4068,6 @@ const struct Item gItems[] = [ITEM_DIANCITE] = { .name = _("Diancite"), - .itemId = ITEM_DIANCITE, .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, .description = sDianciteDesc, @@ -4421,7 +4082,6 @@ const struct Item gItems[] = [ITEM_NORMAL_GEM] = { .name = _("Normal Gem"), - .itemId = ITEM_NORMAL_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4435,7 +4095,6 @@ const struct Item gItems[] = [ITEM_FIRE_GEM] = { .name = _("Fire Gem"), - .itemId = ITEM_FIRE_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4449,7 +4108,6 @@ const struct Item gItems[] = [ITEM_WATER_GEM] = { .name = _("Water Gem"), - .itemId = ITEM_WATER_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4463,7 +4121,6 @@ const struct Item gItems[] = [ITEM_ELECTRIC_GEM] = { .name = _("Electric Gem"), - .itemId = ITEM_ELECTRIC_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4477,7 +4134,6 @@ const struct Item gItems[] = [ITEM_GRASS_GEM] = { .name = _("Grass Gem"), - .itemId = ITEM_GRASS_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4491,7 +4147,6 @@ const struct Item gItems[] = [ITEM_ICE_GEM] = { .name = _("Ice Gem"), - .itemId = ITEM_ICE_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4505,7 +4160,6 @@ const struct Item gItems[] = [ITEM_FIGHTING_GEM] = { .name = _("Fighting Gem"), - .itemId = ITEM_FIGHTING_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4519,7 +4173,6 @@ const struct Item gItems[] = [ITEM_POISON_GEM] = { .name = _("Poison Gem"), - .itemId = ITEM_POISON_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4533,7 +4186,6 @@ const struct Item gItems[] = [ITEM_GROUND_GEM] = { .name = _("Ground Gem"), - .itemId = ITEM_GROUND_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4547,7 +4199,6 @@ const struct Item gItems[] = [ITEM_FLYING_GEM] = { .name = _("Flying Gem"), - .itemId = ITEM_FLYING_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4561,7 +4212,6 @@ const struct Item gItems[] = [ITEM_PSYCHIC_GEM] = { .name = _("Psychic Gem"), - .itemId = ITEM_PSYCHIC_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4575,7 +4225,6 @@ const struct Item gItems[] = [ITEM_BUG_GEM] = { .name = _("Bug Gem"), - .itemId = ITEM_BUG_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4589,7 +4238,6 @@ const struct Item gItems[] = [ITEM_ROCK_GEM] = { .name = _("Rock Gem"), - .itemId = ITEM_ROCK_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4603,7 +4251,6 @@ const struct Item gItems[] = [ITEM_GHOST_GEM] = { .name = _("Ghost Gem"), - .itemId = ITEM_GHOST_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4617,7 +4264,6 @@ const struct Item gItems[] = [ITEM_DRAGON_GEM] = { .name = _("Dragon Gem"), - .itemId = ITEM_DRAGON_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4631,7 +4277,6 @@ const struct Item gItems[] = [ITEM_DARK_GEM] = { .name = _("Dark Gem"), - .itemId = ITEM_DARK_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4645,7 +4290,6 @@ const struct Item gItems[] = [ITEM_STEEL_GEM] = { .name = _("Steel Gem"), - .itemId = ITEM_STEEL_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4659,7 +4303,6 @@ const struct Item gItems[] = [ITEM_FAIRY_GEM] = { .name = _("Fairy Gem"), - .itemId = ITEM_FAIRY_GEM, .price = 4000, .holdEffect = HOLD_EFFECT_GEMS, .holdEffectParam = GEM_BOOST_PARAM, @@ -4675,7 +4318,6 @@ const struct Item gItems[] = [ITEM_NORMALIUM_Z] = { .name = _("Normalium Z"), - .itemId = ITEM_NORMALIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sNormaliumZDesc, @@ -4688,7 +4330,6 @@ const struct Item gItems[] = [ITEM_FIRIUM_Z] = { .name = _("Firium Z"), - .itemId = ITEM_FIRIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sFiriumZDesc, @@ -4701,7 +4342,6 @@ const struct Item gItems[] = [ITEM_WATERIUM_Z] = { .name = _("Waterium Z"), - .itemId = ITEM_WATERIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sWateriumZDesc, @@ -4714,7 +4354,6 @@ const struct Item gItems[] = [ITEM_ELECTRIUM_Z] = { .name = _("Electrium Z"), - .itemId = ITEM_ELECTRIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sElectriumZDesc, @@ -4727,7 +4366,6 @@ const struct Item gItems[] = [ITEM_GRASSIUM_Z] = { .name = _("Grassium Z"), - .itemId = ITEM_GRASSIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sGrassiumZDesc, @@ -4740,7 +4378,6 @@ const struct Item gItems[] = [ITEM_ICIUM_Z] = { .name = _("Icium Z"), - .itemId = ITEM_ICIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sIciumZDesc, @@ -4753,7 +4390,6 @@ const struct Item gItems[] = [ITEM_FIGHTINIUM_Z] = { .name = _("Fightinium Z"), - .itemId = ITEM_FIGHTINIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sFightiniumZDesc, @@ -4766,7 +4402,6 @@ const struct Item gItems[] = [ITEM_POISONIUM_Z] = { .name = _("Poisonium Z"), - .itemId = ITEM_POISONIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sPoisoniumZDesc, @@ -4779,7 +4414,6 @@ const struct Item gItems[] = [ITEM_GROUNDIUM_Z] = { .name = _("Groundium Z"), - .itemId = ITEM_GROUNDIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sGroundiumZDesc, @@ -4792,7 +4426,6 @@ const struct Item gItems[] = [ITEM_FLYINIUM_Z] = { .name = _("Flyinium Z"), - .itemId = ITEM_FLYINIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sFlyiniumZDesc, @@ -4805,7 +4438,6 @@ const struct Item gItems[] = [ITEM_PSYCHIUM_Z] = { .name = _("Psychium Z"), - .itemId = ITEM_PSYCHIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sPsychiumZDesc, @@ -4818,7 +4450,6 @@ const struct Item gItems[] = [ITEM_BUGINIUM_Z] = { .name = _("Buginium Z"), - .itemId = ITEM_BUGINIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sBuginiumZDesc, @@ -4831,7 +4462,6 @@ const struct Item gItems[] = [ITEM_ROCKIUM_Z] = { .name = _("Rockium Z"), - .itemId = ITEM_ROCKIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sRockiumZDesc, @@ -4844,7 +4474,6 @@ const struct Item gItems[] = [ITEM_GHOSTIUM_Z] = { .name = _("Ghostium Z"), - .itemId = ITEM_GHOSTIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sGhostiumZDesc, @@ -4857,7 +4486,6 @@ const struct Item gItems[] = [ITEM_DRAGONIUM_Z] = { .name = _("Dragonium Z"), - .itemId = ITEM_DRAGONIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sDragoniumZDesc, @@ -4870,7 +4498,6 @@ const struct Item gItems[] = [ITEM_DARKINIUM_Z] = { .name = _("Darkinium Z"), - .itemId = ITEM_DARKINIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sDarkiniumZDesc, @@ -4883,7 +4510,6 @@ const struct Item gItems[] = [ITEM_STEELIUM_Z] = { .name = _("Steelium Z"), - .itemId = ITEM_STEELIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sSteeliumZDesc, @@ -4896,7 +4522,6 @@ const struct Item gItems[] = [ITEM_FAIRIUM_Z] = { .name = _("Fairium Z"), - .itemId = ITEM_FAIRIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sFairiumZDesc, @@ -4909,7 +4534,6 @@ const struct Item gItems[] = [ITEM_PIKANIUM_Z] = { .name = _("Pikanium Z"), - .itemId = ITEM_PIKANIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sPikaniumZDesc, @@ -4922,7 +4546,6 @@ const struct Item gItems[] = [ITEM_EEVIUM_Z] = { .name = _("Eevium Z"), - .itemId = ITEM_EEVIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sEeviumZDesc, @@ -4935,7 +4558,6 @@ const struct Item gItems[] = [ITEM_SNORLIUM_Z] = { .name = _("Snorlium Z"), - .itemId = ITEM_SNORLIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sSnorliumZDesc, @@ -4948,7 +4570,6 @@ const struct Item gItems[] = [ITEM_MEWNIUM_Z] = { .name = _("Mewnium Z"), - .itemId = ITEM_MEWNIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sMewniumZDesc, @@ -4961,7 +4582,6 @@ const struct Item gItems[] = [ITEM_DECIDIUM_Z] = { .name = _("Decidium Z"), - .itemId = ITEM_DECIDIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sDecidiumZDesc, @@ -4974,7 +4594,6 @@ const struct Item gItems[] = [ITEM_INCINIUM_Z] = { .name = _("Incinium Z"), - .itemId = ITEM_INCINIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sInciniumZDesc, @@ -4987,7 +4606,6 @@ const struct Item gItems[] = [ITEM_PRIMARIUM_Z] = { .name = _("Primarium Z"), - .itemId = ITEM_PRIMARIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sPrimariumZDesc, @@ -5000,7 +4618,6 @@ const struct Item gItems[] = [ITEM_LYCANIUM_Z] = { .name = _("Lycanium Z"), - .itemId = ITEM_LYCANIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sLycaniumZDesc, @@ -5013,7 +4630,6 @@ const struct Item gItems[] = [ITEM_MIMIKIUM_Z] = { .name = _("Mimikium Z"), - .itemId = ITEM_MIMIKIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sMimikiumZDesc, @@ -5026,7 +4642,6 @@ const struct Item gItems[] = [ITEM_KOMMONIUM_Z] = { .name = _("Kommonium Z"), - .itemId = ITEM_KOMMONIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sKommoniumZDesc, @@ -5039,7 +4654,6 @@ const struct Item gItems[] = [ITEM_TAPUNIUM_Z] = { .name = _("Tapunium Z"), - .itemId = ITEM_TAPUNIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sTapuniumZDesc, @@ -5052,7 +4666,6 @@ const struct Item gItems[] = [ITEM_SOLGANIUM_Z] = { .name = _("Solganium Z"), - .itemId = ITEM_SOLGANIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sSolganiumZDesc, @@ -5065,7 +4678,6 @@ const struct Item gItems[] = [ITEM_LUNALIUM_Z] = { .name = _("Lunalium Z"), - .itemId = ITEM_LUNALIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sLunaliumZDesc, @@ -5078,7 +4690,6 @@ const struct Item gItems[] = [ITEM_MARSHADIUM_Z] = { .name = _("Marshadium Z"), - .itemId = ITEM_MARSHADIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sMarshadiumZDesc, @@ -5091,7 +4702,6 @@ const struct Item gItems[] = [ITEM_ALORAICHIUM_Z] = { .name = _("Aloraichium Z"), - .itemId = ITEM_ALORAICHIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sAloraichiumZDesc, @@ -5104,7 +4714,6 @@ const struct Item gItems[] = [ITEM_PIKASHUNIUM_Z] = { .name = _("Pikashunium Z"), - .itemId = ITEM_PIKASHUNIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sPikashuniumZDesc, @@ -5117,7 +4726,6 @@ const struct Item gItems[] = [ITEM_ULTRANECROZIUM_Z] = { .name = _("U-Necrozium Z"), - .itemId = ITEM_ULTRANECROZIUM_Z, .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = sUltranecroziumZDesc, @@ -5132,7 +4740,6 @@ const struct Item gItems[] = [ITEM_LIGHT_BALL] = { .name = _("Light Ball"), - .itemId = ITEM_LIGHT_BALL, .price = 1000, .holdEffect = HOLD_EFFECT_LIGHT_BALL, .description = sLightBallDesc, @@ -5145,7 +4752,6 @@ const struct Item gItems[] = [ITEM_LEEK] = { .name = _("Leek"), - .itemId = ITEM_LEEK, .price = 1000, .holdEffect = HOLD_EFFECT_LEEK, .description = sLeekDesc, @@ -5158,7 +4764,6 @@ const struct Item gItems[] = [ITEM_THICK_CLUB] = { .name = _("Thick Club"), - .itemId = ITEM_THICK_CLUB, .price = 1000, .holdEffect = HOLD_EFFECT_THICK_CLUB, .description = sThickClubDesc, @@ -5171,7 +4776,6 @@ const struct Item gItems[] = [ITEM_LUCKY_PUNCH] = { .name = _("Lucky Punch"), - .itemId = ITEM_LUCKY_PUNCH, .price = 1000, .holdEffect = HOLD_EFFECT_LUCKY_PUNCH, .description = sLuckyPunchDesc, @@ -5184,7 +4788,6 @@ const struct Item gItems[] = [ITEM_METAL_POWDER] = { .name = _("Metal Powder"), - .itemId = ITEM_METAL_POWDER, .price = 1000, .holdEffect = HOLD_EFFECT_METAL_POWDER, .description = sMetalPowderDesc, @@ -5197,7 +4800,6 @@ const struct Item gItems[] = [ITEM_QUICK_POWDER] = { .name = _("Quick Powder"), - .itemId = ITEM_QUICK_POWDER, .price = 1000, .holdEffect = HOLD_EFFECT_QUICK_POWDER, .description = sQuickPowderDesc, @@ -5210,7 +4812,6 @@ const struct Item gItems[] = [ITEM_DEEP_SEA_SCALE] = { .name = _("DeepSeaScale"), - .itemId = ITEM_DEEP_SEA_SCALE, .price = 2000, .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, .description = sDeepSeaScaleDesc, @@ -5223,7 +4824,6 @@ const struct Item gItems[] = [ITEM_DEEP_SEA_TOOTH] = { .name = _("DeepSeaTooth"), - .itemId = ITEM_DEEP_SEA_TOOTH, .price = 2000, .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, .description = sDeepSeaToothDesc, @@ -5236,7 +4836,6 @@ const struct Item gItems[] = [ITEM_SOUL_DEW] = { .name = _("Soul Dew"), - .itemId = ITEM_SOUL_DEW, .price = 0, .holdEffect = HOLD_EFFECT_SOUL_DEW, #if B_SOUL_DEW_BOOST >= GEN_7 @@ -5254,7 +4853,6 @@ const struct Item gItems[] = [ITEM_ADAMANT_ORB] = { .name = _("Adamant Orb"), - .itemId = ITEM_ADAMANT_ORB, .price = 0, .holdEffect = HOLD_EFFECT_ADAMANT_ORB, .holdEffectParam = 20, @@ -5268,7 +4866,6 @@ const struct Item gItems[] = [ITEM_LUSTROUS_ORB] = { .name = _("Lustrous Orb"), - .itemId = ITEM_LUSTROUS_ORB, .price = 0, .holdEffect = HOLD_EFFECT_LUSTROUS_ORB, .holdEffectParam = 20, @@ -5282,7 +4879,6 @@ const struct Item gItems[] = [ITEM_GRISEOUS_ORB] = { .name = _("Griseous Orb"), - .itemId = ITEM_GRISEOUS_ORB, .price = 0, .holdEffect = HOLD_EFFECT_GRISEOUS_ORB, .holdEffectParam = 20, @@ -5298,7 +4894,6 @@ const struct Item gItems[] = [ITEM_SEA_INCENSE] = { .name = _("Sea Incense"), - .itemId = ITEM_SEA_INCENSE, .price = 2000, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 20, @@ -5312,7 +4907,6 @@ const struct Item gItems[] = [ITEM_LAX_INCENSE] = { .name = _("Lax Incense"), - .itemId = ITEM_LAX_INCENSE, .price = 5000, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 10, @@ -5326,7 +4920,6 @@ const struct Item gItems[] = [ITEM_ODD_INCENSE] = { .name = _("Odd Incense"), - .itemId = ITEM_ODD_INCENSE, .price = 2000, .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, .holdEffectParam = 20, @@ -5340,7 +4933,6 @@ const struct Item gItems[] = [ITEM_ROCK_INCENSE] = { .name = _("Rock Incense"), - .itemId = ITEM_ROCK_INCENSE, .price = 2000, .holdEffect = HOLD_EFFECT_ROCK_POWER, .holdEffectParam = 20, @@ -5354,7 +4946,6 @@ const struct Item gItems[] = [ITEM_FULL_INCENSE] = { .name = _("Full Incense"), - .itemId = ITEM_FULL_INCENSE, .price = 5000, .holdEffect = HOLD_EFFECT_LAGGING_TAIL, .holdEffectParam = 5, @@ -5368,7 +4959,6 @@ const struct Item gItems[] = [ITEM_WAVE_INCENSE] = { .name = _("Wave Incense"), - .itemId = ITEM_WAVE_INCENSE, .price = 2000, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 20, @@ -5382,7 +4972,6 @@ const struct Item gItems[] = [ITEM_ROSE_INCENSE] = { .name = _("Rose Incense"), - .itemId = ITEM_ROSE_INCENSE, .price = 2000, .holdEffect = HOLD_EFFECT_GRASS_POWER, .holdEffectParam = 20, @@ -5396,7 +4985,6 @@ const struct Item gItems[] = [ITEM_LUCK_INCENSE] = { .name = _("Luck Incense"), - .itemId = ITEM_LUCK_INCENSE, .price = 11000, .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, .holdEffectParam = 10, @@ -5410,7 +4998,6 @@ const struct Item gItems[] = [ITEM_PURE_INCENSE] = { .name = _("Pure Incense"), - .itemId = ITEM_PURE_INCENSE, .price = 6000, .holdEffect = HOLD_EFFECT_REPEL, .description = sPureIncenseDesc, @@ -5425,7 +5012,6 @@ const struct Item gItems[] = [ITEM_RED_SCARF] = { .name = _("Red Scarf"), - .itemId = ITEM_RED_SCARF, .price = 100, .description = sRedScarfDesc, .pocket = POCKET_ITEMS, @@ -5437,7 +5023,6 @@ const struct Item gItems[] = [ITEM_BLUE_SCARF] = { .name = _("Blue Scarf"), - .itemId = ITEM_BLUE_SCARF, .price = 100, .description = sBlueScarfDesc, .pocket = POCKET_ITEMS, @@ -5449,7 +5034,6 @@ const struct Item gItems[] = [ITEM_PINK_SCARF] = { .name = _("Pink Scarf"), - .itemId = ITEM_PINK_SCARF, .price = 100, .description = sPinkScarfDesc, .pocket = POCKET_ITEMS, @@ -5461,7 +5045,6 @@ const struct Item gItems[] = [ITEM_GREEN_SCARF] = { .name = _("Green Scarf"), - .itemId = ITEM_GREEN_SCARF, .price = 100, .description = sGreenScarfDesc, .pocket = POCKET_ITEMS, @@ -5473,7 +5056,6 @@ const struct Item gItems[] = [ITEM_YELLOW_SCARF] = { .name = _("Yellow Scarf"), - .itemId = ITEM_YELLOW_SCARF, .price = 100, .description = sYellowScarfDesc, .pocket = POCKET_ITEMS, @@ -5487,7 +5069,6 @@ const struct Item gItems[] = [ITEM_MACHO_BRACE] = { .name = _("Macho Brace"), - .itemId = ITEM_MACHO_BRACE, .price = 3000, .holdEffect = HOLD_EFFECT_MACHO_BRACE, .description = sMachoBraceDesc, @@ -5500,7 +5081,6 @@ const struct Item gItems[] = [ITEM_POWER_WEIGHT] = { .name = _("Power Weight"), - .itemId = ITEM_POWER_WEIGHT, .price = 3000, .holdEffect = HOLD_EFFECT_POWER_ITEM, .holdEffectParam = 8, @@ -5515,7 +5095,6 @@ const struct Item gItems[] = [ITEM_POWER_BRACER] = { .name = _("Power Bracer"), - .itemId = ITEM_POWER_BRACER, .price = 3000, .holdEffect = HOLD_EFFECT_POWER_ITEM, .holdEffectParam = 8, @@ -5530,7 +5109,6 @@ const struct Item gItems[] = [ITEM_POWER_BELT] = { .name = _("Power Belt"), - .itemId = ITEM_POWER_BELT, .price = 3000, .holdEffect = HOLD_EFFECT_POWER_ITEM, .holdEffectParam = 8, @@ -5545,7 +5123,6 @@ const struct Item gItems[] = [ITEM_POWER_LENS] = { .name = _("Power Lens"), - .itemId = ITEM_POWER_LENS, .price = 3000, .holdEffect = HOLD_EFFECT_POWER_ITEM, .holdEffectParam = 8, @@ -5560,7 +5137,6 @@ const struct Item gItems[] = [ITEM_POWER_BAND] = { .name = _("Power Band"), - .itemId = ITEM_POWER_BAND, .price = 3000, .holdEffect = HOLD_EFFECT_POWER_ITEM, .holdEffectParam = 8, @@ -5575,7 +5151,6 @@ const struct Item gItems[] = [ITEM_POWER_ANKLET] = { .name = _("Power Anklet"), - .itemId = ITEM_POWER_ANKLET, .price = 3000, .holdEffect = HOLD_EFFECT_POWER_ITEM, .holdEffectParam = 8, @@ -5592,7 +5167,6 @@ const struct Item gItems[] = [ITEM_SILK_SCARF] = { .name = _("Silk Scarf"), - .itemId = ITEM_SILK_SCARF, .price = 1000, .holdEffect = HOLD_EFFECT_NORMAL_POWER, .holdEffectParam = 20, @@ -5606,7 +5180,6 @@ const struct Item gItems[] = [ITEM_CHARCOAL] = { .name = _("Charcoal"), - .itemId = ITEM_CHARCOAL, .price = 1000, .holdEffect = HOLD_EFFECT_FIRE_POWER, .holdEffectParam = 20, @@ -5620,7 +5193,6 @@ const struct Item gItems[] = [ITEM_MYSTIC_WATER] = { .name = _("Mystic Water"), - .itemId = ITEM_MYSTIC_WATER, .price = 1000, .holdEffect = HOLD_EFFECT_WATER_POWER, .holdEffectParam = 20, @@ -5634,7 +5206,6 @@ const struct Item gItems[] = [ITEM_MAGNET] = { .name = _("Magnet"), - .itemId = ITEM_MAGNET, .price = 1000, .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, .holdEffectParam = 20, @@ -5648,7 +5219,6 @@ const struct Item gItems[] = [ITEM_MIRACLE_SEED] = { .name = _("Miracle Seed"), - .itemId = ITEM_MIRACLE_SEED, .price = 1000, .holdEffect = HOLD_EFFECT_GRASS_POWER, .holdEffectParam = 20, @@ -5662,7 +5232,6 @@ const struct Item gItems[] = [ITEM_NEVER_MELT_ICE] = { .name = _("Never-MeltIce"), - .itemId = ITEM_NEVER_MELT_ICE, .price = 1000, .holdEffect = HOLD_EFFECT_ICE_POWER, .holdEffectParam = 20, @@ -5676,7 +5245,6 @@ const struct Item gItems[] = [ITEM_BLACK_BELT] = { .name = _("Black Belt"), - .itemId = ITEM_BLACK_BELT, .price = 1000, .holdEffect = HOLD_EFFECT_FIGHTING_POWER, .holdEffectParam = 20, @@ -5690,7 +5258,6 @@ const struct Item gItems[] = [ITEM_POISON_BARB] = { .name = _("Poison Barb"), - .itemId = ITEM_POISON_BARB, .price = 1000, .holdEffect = HOLD_EFFECT_POISON_POWER, .holdEffectParam = 20, @@ -5704,7 +5271,6 @@ const struct Item gItems[] = [ITEM_SOFT_SAND] = { .name = _("Soft Sand"), - .itemId = ITEM_SOFT_SAND, .price = 1000, .holdEffect = HOLD_EFFECT_GROUND_POWER, .holdEffectParam = 20, @@ -5718,7 +5284,6 @@ const struct Item gItems[] = [ITEM_SHARP_BEAK] = { .name = _("Sharp Beak"), - .itemId = ITEM_SHARP_BEAK, .price = 1000, .holdEffect = HOLD_EFFECT_FLYING_POWER, .holdEffectParam = 20, @@ -5732,7 +5297,6 @@ const struct Item gItems[] = [ITEM_TWISTED_SPOON] = { .name = _("Twisted Spoon"), - .itemId = ITEM_TWISTED_SPOON, .price = 1000, .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, .holdEffectParam = 20, @@ -5746,7 +5310,6 @@ const struct Item gItems[] = [ITEM_SILVER_POWDER] = { .name = _("Silver Powder"), - .itemId = ITEM_SILVER_POWDER, .price = 1000, .holdEffect = HOLD_EFFECT_BUG_POWER, .holdEffectParam = 20, @@ -5760,7 +5323,6 @@ const struct Item gItems[] = [ITEM_HARD_STONE] = { .name = _("Hard Stone"), - .itemId = ITEM_HARD_STONE, .price = 1000, .holdEffect = HOLD_EFFECT_ROCK_POWER, .holdEffectParam = 20, @@ -5774,7 +5336,6 @@ const struct Item gItems[] = [ITEM_SPELL_TAG] = { .name = _("Spell Tag"), - .itemId = ITEM_SPELL_TAG, .price = 1000, .holdEffect = HOLD_EFFECT_GHOST_POWER, .holdEffectParam = 20, @@ -5788,7 +5349,6 @@ const struct Item gItems[] = [ITEM_DRAGON_FANG] = { .name = _("Dragon Fang"), - .itemId = ITEM_DRAGON_FANG, .price = 1000, .holdEffect = HOLD_EFFECT_DRAGON_POWER, .holdEffectParam = 20, @@ -5802,7 +5362,6 @@ const struct Item gItems[] = [ITEM_BLACK_GLASSES] = { .name = _("Black Glasses"), - .itemId = ITEM_BLACK_GLASSES, .price = 1000, .holdEffect = HOLD_EFFECT_DARK_POWER, .holdEffectParam = 20, @@ -5816,7 +5375,6 @@ const struct Item gItems[] = [ITEM_METAL_COAT] = { .name = _("Metal Coat"), - .itemId = ITEM_METAL_COAT, .price = 2000, .holdEffect = HOLD_EFFECT_STEEL_POWER, .holdEffectParam = 20, @@ -5832,7 +5390,6 @@ const struct Item gItems[] = [ITEM_CHOICE_BAND] = { .name = _("Choice Band"), - .itemId = ITEM_CHOICE_BAND, .price = 4000, .holdEffect = HOLD_EFFECT_CHOICE_BAND, .description = sChoiceBandDesc, @@ -5845,7 +5402,6 @@ const struct Item gItems[] = [ITEM_CHOICE_SPECS] = { .name = _("Choice Specs"), - .itemId = ITEM_CHOICE_SPECS, .price = 4000, .holdEffect = HOLD_EFFECT_CHOICE_SPECS, .description = sChoiceSpecsDesc, @@ -5858,7 +5414,6 @@ const struct Item gItems[] = [ITEM_CHOICE_SCARF] = { .name = _("Choice Scarf"), - .itemId = ITEM_CHOICE_SCARF, .price = 4000, .holdEffect = HOLD_EFFECT_CHOICE_SCARF, .description = sChoiceScarfDesc, @@ -5873,7 +5428,6 @@ const struct Item gItems[] = [ITEM_FLAME_ORB] = { .name = _("Flame Orb"), - .itemId = ITEM_FLAME_ORB, .price = 4000, .holdEffect = HOLD_EFFECT_FLAME_ORB, .description = sFlameOrbDesc, @@ -5886,7 +5440,6 @@ const struct Item gItems[] = [ITEM_TOXIC_ORB] = { .name = _("Toxic Orb"), - .itemId = ITEM_TOXIC_ORB, .price = 4000, .holdEffect = HOLD_EFFECT_TOXIC_ORB, .description = sToxicOrbDesc, @@ -5901,7 +5454,6 @@ const struct Item gItems[] = [ITEM_DAMP_ROCK] = { .name = _("Damp Rock"), - .itemId = ITEM_DAMP_ROCK, .price = 4000, .holdEffect = HOLD_EFFECT_DAMP_ROCK, .description = sDampRockDesc, @@ -5914,7 +5466,6 @@ const struct Item gItems[] = [ITEM_HEAT_ROCK] = { .name = _("Heat Rock"), - .itemId = ITEM_HEAT_ROCK, .price = 4000, .holdEffect = HOLD_EFFECT_HEAT_ROCK, .description = sHeatRockDesc, @@ -5927,7 +5478,6 @@ const struct Item gItems[] = [ITEM_SMOOTH_ROCK] = { .name = _("Smooth Rock"), - .itemId = ITEM_SMOOTH_ROCK, .price = 4000, .holdEffect = HOLD_EFFECT_SMOOTH_ROCK, .description = sSmoothRockDesc, @@ -5940,7 +5490,6 @@ const struct Item gItems[] = [ITEM_ICY_ROCK] = { .name = _("Icy Rock"), - .itemId = ITEM_ICY_ROCK, .price = 4000, .holdEffect = HOLD_EFFECT_ICY_ROCK, .description = sIcyRockDesc, @@ -5955,7 +5504,6 @@ const struct Item gItems[] = [ITEM_ELECTRIC_SEED] = { .name = _("Electric Seed"), - .itemId = ITEM_ELECTRIC_SEED, .price = 4000, .holdEffect = HOLD_EFFECT_SEEDS, .holdEffectParam = HOLD_EFFECT_PARAM_ELECTRIC_TERRAIN, @@ -5969,7 +5517,6 @@ const struct Item gItems[] = [ITEM_PSYCHIC_SEED] = { .name = _("Psychic Seed"), - .itemId = ITEM_PSYCHIC_SEED, .price = 4000, .holdEffect = HOLD_EFFECT_SEEDS, .holdEffectParam = HOLD_EFFECT_PARAM_PSYCHIC_TERRAIN, @@ -5983,7 +5530,6 @@ const struct Item gItems[] = [ITEM_MISTY_SEED] = { .name = _("Misty Seed"), - .itemId = ITEM_MISTY_SEED, .price = 4000, .holdEffect = HOLD_EFFECT_SEEDS, .holdEffectParam = HOLD_EFFECT_PARAM_MISTY_TERRAIN, @@ -5997,7 +5543,6 @@ const struct Item gItems[] = [ITEM_GRASSY_SEED] = { .name = _("Grassy Seed"), - .itemId = ITEM_GRASSY_SEED, .price = 4000, .holdEffect = HOLD_EFFECT_SEEDS, .holdEffectParam = HOLD_EFFECT_PARAM_GRASSY_TERRAIN, @@ -6013,7 +5558,6 @@ const struct Item gItems[] = [ITEM_ABSORB_BULB] = { .name = _("Absorb Bulb"), - .itemId = ITEM_ABSORB_BULB, .price = 4000, .holdEffect = HOLD_EFFECT_ABSORB_BULB, .holdEffectParam = 0, @@ -6027,7 +5571,6 @@ const struct Item gItems[] = [ITEM_CELL_BATTERY] = { .name = _("Cell Battery"), - .itemId = ITEM_CELL_BATTERY, .price = 4000, .holdEffect = HOLD_EFFECT_CELL_BATTERY, .holdEffectParam = 0, @@ -6041,7 +5584,6 @@ const struct Item gItems[] = [ITEM_LUMINOUS_MOSS] = { .name = _("Luminous Moss"), - .itemId = ITEM_LUMINOUS_MOSS, .price = 4000, .holdEffect = HOLD_EFFECT_LUMINOUS_MOSS, .holdEffectParam = 0, @@ -6055,7 +5597,6 @@ const struct Item gItems[] = [ITEM_SNOWBALL] = { .name = _("Snowball"), - .itemId = ITEM_SNOWBALL, .price = 4000, .holdEffect = HOLD_EFFECT_SNOWBALL, .holdEffectParam = 0, @@ -6071,7 +5612,6 @@ const struct Item gItems[] = [ITEM_BRIGHT_POWDER] = { .name = _("Bright Powder"), - .itemId = ITEM_BRIGHT_POWDER, .price = 4000, .holdEffect = HOLD_EFFECT_EVASION_UP, .holdEffectParam = 10, @@ -6085,7 +5625,6 @@ const struct Item gItems[] = [ITEM_WHITE_HERB] = { .name = _("White Herb"), - .itemId = ITEM_WHITE_HERB, .price = 4000, .holdEffect = HOLD_EFFECT_RESTORE_STATS, .description = sWhiteHerbDesc, @@ -6098,7 +5637,6 @@ const struct Item gItems[] = [ITEM_EXP_SHARE] = { .name = _("Exp. Share"), - .itemId = ITEM_EXP_SHARE, .price = 3000, .holdEffect = HOLD_EFFECT_EXP_SHARE, .description = sExpShareDesc, @@ -6111,7 +5649,6 @@ const struct Item gItems[] = [ITEM_QUICK_CLAW] = { .name = _("Quick Claw"), - .itemId = ITEM_QUICK_CLAW, .price = 4000, .holdEffect = HOLD_EFFECT_QUICK_CLAW, .holdEffectParam = 20, @@ -6125,7 +5662,6 @@ const struct Item gItems[] = [ITEM_SOOTHE_BELL] = { .name = _("Soothe Bell"), - .itemId = ITEM_SOOTHE_BELL, .price = 4000, .holdEffect = HOLD_EFFECT_FRIENDSHIP_UP, .description = sSootheBellDesc, @@ -6138,7 +5674,6 @@ const struct Item gItems[] = [ITEM_MENTAL_HERB] = { .name = _("Mental Herb"), - .itemId = ITEM_MENTAL_HERB, .price = 4000, .holdEffect = HOLD_EFFECT_MENTAL_HERB, .description = sMentalHerbDesc, @@ -6151,7 +5686,6 @@ const struct Item gItems[] = [ITEM_KINGS_ROCK] = { .name = _("King's Rock"), - .itemId = ITEM_KINGS_ROCK, .price = 5000, .holdEffect = HOLD_EFFECT_FLINCH, .holdEffectParam = 10, @@ -6165,7 +5699,6 @@ const struct Item gItems[] = [ITEM_AMULET_COIN] = { .name = _("Amulet Coin"), - .itemId = ITEM_AMULET_COIN, .price = 10000, .holdEffect = HOLD_EFFECT_DOUBLE_PRIZE, .holdEffectParam = 10, @@ -6179,7 +5712,6 @@ const struct Item gItems[] = [ITEM_CLEANSE_TAG] = { .name = _("Cleanse Tag"), - .itemId = ITEM_CLEANSE_TAG, .price = 5000, .holdEffect = HOLD_EFFECT_REPEL, .description = sCleanseTagDesc, @@ -6192,7 +5724,6 @@ const struct Item gItems[] = [ITEM_SMOKE_BALL] = { .name = _("Smoke Ball"), - .itemId = ITEM_SMOKE_BALL, .price = 4000, .holdEffect = HOLD_EFFECT_CAN_ALWAYS_RUN, .description = sSmokeBallDesc, @@ -6205,7 +5736,6 @@ const struct Item gItems[] = [ITEM_FOCUS_BAND] = { .name = _("Focus Band"), - .itemId = ITEM_FOCUS_BAND, .price = 4000, .holdEffect = HOLD_EFFECT_FOCUS_BAND, .holdEffectParam = 10, @@ -6219,7 +5749,6 @@ const struct Item gItems[] = [ITEM_LUCKY_EGG] = { .name = _("Lucky Egg"), - .itemId = ITEM_LUCKY_EGG, .price = 10000, .holdEffect = HOLD_EFFECT_LUCKY_EGG, .description = sLuckyEggDesc, @@ -6232,7 +5761,6 @@ const struct Item gItems[] = [ITEM_SCOPE_LENS] = { .name = _("Scope Lens"), - .itemId = ITEM_SCOPE_LENS, .price = 4000, .holdEffect = HOLD_EFFECT_SCOPE_LENS, .description = sScopeLensDesc, @@ -6245,7 +5773,6 @@ const struct Item gItems[] = [ITEM_LEFTOVERS] = { .name = _("Leftovers"), - .itemId = ITEM_LEFTOVERS, .price = 4000, .holdEffect = HOLD_EFFECT_LEFTOVERS, .holdEffectParam = 10, @@ -6259,7 +5786,6 @@ const struct Item gItems[] = [ITEM_SHELL_BELL] = { .name = _("Shell Bell"), - .itemId = ITEM_SHELL_BELL, .price = 4000, .holdEffect = HOLD_EFFECT_SHELL_BELL, .holdEffectParam = 8, @@ -6273,7 +5799,6 @@ const struct Item gItems[] = [ITEM_WIDE_LENS] = { .name = _("Wide Lens"), - .itemId = ITEM_WIDE_LENS, .price = 4000, .holdEffect = HOLD_EFFECT_WIDE_LENS, .holdEffectParam = 10, @@ -6287,7 +5812,6 @@ const struct Item gItems[] = [ITEM_MUSCLE_BAND] = { .name = _("Muscle Band"), - .itemId = ITEM_MUSCLE_BAND, .price = 4000, .holdEffect = HOLD_EFFECT_MUSCLE_BAND, .holdEffectParam = 10, @@ -6301,7 +5825,6 @@ const struct Item gItems[] = [ITEM_WISE_GLASSES] = { .name = _("Wise Glasses"), - .itemId = ITEM_WISE_GLASSES, .price = 4000, .holdEffect = HOLD_EFFECT_WISE_GLASSES, .holdEffectParam = 10, @@ -6315,7 +5838,6 @@ const struct Item gItems[] = [ITEM_EXPERT_BELT] = { .name = _("Expert Belt"), - .itemId = ITEM_EXPERT_BELT, .price = 4000, .holdEffect = HOLD_EFFECT_EXPERT_BELT, .holdEffectParam = 20, @@ -6329,7 +5851,6 @@ const struct Item gItems[] = [ITEM_LIGHT_CLAY] = { .name = _("Light Clay"), - .itemId = ITEM_LIGHT_CLAY, .price = 4000, .holdEffect = HOLD_EFFECT_LIGHT_CLAY, .description = sLightClayDesc, @@ -6342,7 +5863,6 @@ const struct Item gItems[] = [ITEM_LIFE_ORB] = { .name = _("Life Orb"), - .itemId = ITEM_LIFE_ORB, .price = 4000, .holdEffect = HOLD_EFFECT_LIFE_ORB, .description = sLifeOrbDesc, @@ -6355,7 +5875,6 @@ const struct Item gItems[] = [ITEM_POWER_HERB] = { .name = _("Power Herb"), - .itemId = ITEM_POWER_HERB, .price = 4000, .holdEffect = HOLD_EFFECT_POWER_HERB, .description = sPowerHerbDesc, @@ -6368,7 +5887,6 @@ const struct Item gItems[] = [ITEM_FOCUS_SASH] = { .name = _("Focus Sash"), - .itemId = ITEM_FOCUS_SASH, .price = 4000, .holdEffect = HOLD_EFFECT_FOCUS_SASH, .description = sFocusSashDesc, @@ -6381,7 +5899,6 @@ const struct Item gItems[] = [ITEM_ZOOM_LENS] = { .name = _("Zoom Lens"), - .itemId = ITEM_ZOOM_LENS, .price = 4000, .holdEffect = HOLD_EFFECT_ZOOM_LENS, .holdEffectParam = 20, @@ -6395,7 +5912,6 @@ const struct Item gItems[] = [ITEM_METRONOME] = { .name = _("Metronome"), - .itemId = ITEM_METRONOME, .price = 4000, .holdEffect = HOLD_EFFECT_METRONOME, .holdEffectParam = 20, @@ -6409,7 +5925,6 @@ const struct Item gItems[] = [ITEM_IRON_BALL] = { .name = _("Iron Ball"), - .itemId = ITEM_IRON_BALL, .price = 4000, .holdEffect = HOLD_EFFECT_IRON_BALL, .description = sIronBallDesc, @@ -6422,7 +5937,6 @@ const struct Item gItems[] = [ITEM_LAGGING_TAIL] = { .name = _("Lagging Tail"), - .itemId = ITEM_LAGGING_TAIL, .price = 4000, .holdEffect = HOLD_EFFECT_LAGGING_TAIL, .description = sLaggingTailDesc, @@ -6435,7 +5949,6 @@ const struct Item gItems[] = [ITEM_DESTINY_KNOT] = { .name = _("Destiny Knot"), - .itemId = ITEM_DESTINY_KNOT, .price = 4000, .holdEffect = HOLD_EFFECT_DESTINY_KNOT, .description = sDestinyKnotDesc, @@ -6448,7 +5961,6 @@ const struct Item gItems[] = [ITEM_BLACK_SLUDGE] = { .name = _("Black Sludge"), - .itemId = ITEM_BLACK_SLUDGE, .price = 4000, .holdEffect = HOLD_EFFECT_BLACK_SLUDGE, .description = sBlackSludgeDesc, @@ -6461,7 +5973,6 @@ const struct Item gItems[] = [ITEM_GRIP_CLAW] = { .name = _("Grip Claw"), - .itemId = ITEM_GRIP_CLAW, .price = 4000, .holdEffect = HOLD_EFFECT_GRIP_CLAW, .description = sGripClawDesc, @@ -6474,7 +5985,6 @@ const struct Item gItems[] = [ITEM_STICKY_BARB] = { .name = _("Sticky Barb"), - .itemId = ITEM_STICKY_BARB, .price = 4000, .holdEffect = HOLD_EFFECT_STICKY_BARB, .description = sStickyBarbDesc, @@ -6487,7 +5997,6 @@ const struct Item gItems[] = [ITEM_SHED_SHELL] = { .name = _("Shed Shell"), - .itemId = ITEM_SHED_SHELL, .price = 4000, .holdEffect = HOLD_EFFECT_SHED_SHELL, .description = sShedShellDesc, @@ -6500,7 +6009,6 @@ const struct Item gItems[] = [ITEM_BIG_ROOT] = { .name = _("Big Root"), - .itemId = ITEM_BIG_ROOT, .price = 4000, .holdEffect = HOLD_EFFECT_BIG_ROOT, .holdEffectParam = 30, @@ -6514,7 +6022,6 @@ const struct Item gItems[] = [ITEM_RAZOR_CLAW] = { .name = _("Razor Claw"), - .itemId = ITEM_RAZOR_CLAW, .price = 5000, .holdEffect = HOLD_EFFECT_SCOPE_LENS, .description = sRazorClawDesc, @@ -6527,7 +6034,6 @@ const struct Item gItems[] = [ITEM_RAZOR_FANG] = { .name = _("Razor Fang"), - .itemId = ITEM_RAZOR_FANG, .price = 5000, .holdEffect = HOLD_EFFECT_FLINCH, .holdEffectParam = 10, @@ -6541,7 +6047,6 @@ const struct Item gItems[] = [ITEM_EVIOLITE] = { .name = _("Eviolite"), - .itemId = ITEM_EVIOLITE, .price = 4000, .holdEffect = HOLD_EFFECT_EVIOLITE, .holdEffectParam = 50, @@ -6555,7 +6060,6 @@ const struct Item gItems[] = [ITEM_FLOAT_STONE] = { .name = _("Float Stone"), - .itemId = ITEM_FLOAT_STONE, .price = 4000, .holdEffect = HOLD_EFFECT_FLOAT_STONE, .description = sFloatStoneDesc, @@ -6568,7 +6072,6 @@ const struct Item gItems[] = [ITEM_ROCKY_HELMET] = { .name = _("Rocky Helmet"), - .itemId = ITEM_ROCKY_HELMET, .price = 4000, .holdEffect = HOLD_EFFECT_ROCKY_HELMET, .holdEffectParam = 0, @@ -6582,7 +6085,6 @@ const struct Item gItems[] = [ITEM_AIR_BALLOON] = { .name = _("Air Balloon"), - .itemId = ITEM_AIR_BALLOON, .price = 4000, .holdEffect = HOLD_EFFECT_AIR_BALLOON, .holdEffectParam = 0, @@ -6596,7 +6098,6 @@ const struct Item gItems[] = [ITEM_RED_CARD] = { .name = _("Red Card"), - .itemId = ITEM_RED_CARD, .price = 4000, .holdEffect = HOLD_EFFECT_RED_CARD, .holdEffectParam = 0, @@ -6610,7 +6111,6 @@ const struct Item gItems[] = [ITEM_RING_TARGET] = { .name = _("Ring Target"), - .itemId = ITEM_RING_TARGET, .price = 4000, .holdEffect = HOLD_EFFECT_RING_TARGET, .holdEffectParam = 0, @@ -6624,7 +6124,6 @@ const struct Item gItems[] = [ITEM_BINDING_BAND] = { .name = _("Binding Band"), - .itemId = ITEM_BINDING_BAND, .price = 4000, .holdEffect = HOLD_EFFECT_BINDING_BAND, .description = sBindingBandDesc, @@ -6637,7 +6136,6 @@ const struct Item gItems[] = [ITEM_EJECT_BUTTON] = { .name = _("Eject Button"), - .itemId = ITEM_EJECT_BUTTON, .price = 4000, .holdEffect = HOLD_EFFECT_EJECT_BUTTON, .holdEffectParam = 0, @@ -6651,7 +6149,6 @@ const struct Item gItems[] = [ITEM_WEAKNESS_POLICY] = { .name = _("WeaknssPolicy"), - .itemId = ITEM_WEAKNESS_POLICY, .price = 1000, .holdEffect = HOLD_EFFECT_WEAKNESS_POLICY, .holdEffectParam = 0, @@ -6665,7 +6162,6 @@ const struct Item gItems[] = [ITEM_ASSAULT_VEST] = { .name = _("Assault Vest"), - .itemId = ITEM_ASSAULT_VEST, .price = 1000, .holdEffect = HOLD_EFFECT_ASSAULT_VEST, .holdEffectParam = 50, @@ -6679,7 +6175,6 @@ const struct Item gItems[] = [ITEM_SAFETY_GOGGLES] = { .name = _("SafetyGoggles"), - .itemId = ITEM_SAFETY_GOGGLES, .price = 4000, .holdEffect = HOLD_EFFECT_SAFETY_GOGGLES, .description = sSafetyGogglesDesc, @@ -6692,7 +6187,6 @@ const struct Item gItems[] = [ITEM_ADRENALINE_ORB] = { .name = _("AdrenalineOrb"), - .itemId = ITEM_ADRENALINE_ORB, .price = 300, .holdEffect = HOLD_EFFECT_ADRENALINE_ORB, .description = sAdrenalineOrbDesc, @@ -6705,7 +6199,6 @@ const struct Item gItems[] = [ITEM_TERRAIN_EXTENDER] = { .name = _("TerainExtendr"), - .itemId = ITEM_TERRAIN_EXTENDER, .price = 4000, .holdEffect = HOLD_EFFECT_TERRAIN_EXTENDER, .description = sTerrainExtenderDesc, @@ -6718,7 +6211,6 @@ const struct Item gItems[] = [ITEM_PROTECTIVE_PADS] = { .name = _("ProtectvePads"), - .itemId = ITEM_PROTECTIVE_PADS, .price = 4000, .holdEffect = HOLD_EFFECT_PROTECTIVE_PADS, .description = sProtectivePadsDesc, @@ -6731,7 +6223,6 @@ const struct Item gItems[] = [ITEM_THROAT_SPRAY] = { .name = _("Throat Spray"), - .itemId = ITEM_THROAT_SPRAY, .price = 4000, .holdEffect = HOLD_EFFECT_THROAT_SPRAY, .description = sThroatSprayDesc, @@ -6744,7 +6235,6 @@ const struct Item gItems[] = [ITEM_EJECT_PACK] = { .name = _("Eject Pack"), - .itemId = ITEM_EJECT_PACK, .price = 4000, .holdEffect = HOLD_EFFECT_EJECT_PACK, .description = sEjectPackDesc, @@ -6757,7 +6247,6 @@ const struct Item gItems[] = [ITEM_HEAVY_DUTY_BOOTS] = { .name = _("Heavy-DtyBts"), - .itemId = ITEM_HEAVY_DUTY_BOOTS, .price = 4000, .holdEffect = HOLD_EFFECT_HEAVY_DUTY_BOOTS, .description = sHeavyDutyBootsDesc, @@ -6770,7 +6259,6 @@ const struct Item gItems[] = [ITEM_BLUNDER_POLICY] = { .name = _("BlundrPolicy"), - .itemId = ITEM_BLUNDER_POLICY, .price = 4000, .holdEffect = HOLD_EFFECT_BLUNDER_POLICY, .description = sBlunderPolicyDesc, @@ -6783,7 +6271,6 @@ const struct Item gItems[] = [ITEM_ROOM_SERVICE] = { .name = _("Room Service"), - .itemId = ITEM_ROOM_SERVICE, .price = 4000, .holdEffect = HOLD_EFFECT_ROOM_SERVICE, .description = sRoomServiceDesc, @@ -6796,7 +6283,6 @@ const struct Item gItems[] = [ITEM_UTILITY_UMBRELLA] = { .name = _("UtltyUmbrlla"), - .itemId = ITEM_UTILITY_UMBRELLA, .price = 4000, .holdEffect = HOLD_EFFECT_UTILITY_UMBRELLA, .description = sUtilityUmbrellaDesc, @@ -6811,7 +6297,6 @@ const struct Item gItems[] = [ITEM_CHERI_BERRY] = { .name = _("Cheri Berry"), - .itemId = ITEM_CHERI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PAR, .description = sCheriBerryDesc, @@ -6825,7 +6310,6 @@ const struct Item gItems[] = [ITEM_CHESTO_BERRY] = { .name = _("Chesto Berry"), - .itemId = ITEM_CHESTO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_SLP, .description = sChestoBerryDesc, @@ -6839,7 +6323,6 @@ const struct Item gItems[] = [ITEM_PECHA_BERRY] = { .name = _("Pecha Berry"), - .itemId = ITEM_PECHA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_PSN, .description = sPechaBerryDesc, @@ -6853,7 +6336,6 @@ const struct Item gItems[] = [ITEM_RAWST_BERRY] = { .name = _("Rawst Berry"), - .itemId = ITEM_RAWST_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_BRN, .description = sRawstBerryDesc, @@ -6867,7 +6349,6 @@ const struct Item gItems[] = [ITEM_ASPEAR_BERRY] = { .name = _("Aspear Berry"), - .itemId = ITEM_ASPEAR_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_FRZ, .description = sAspearBerryDesc, @@ -6881,7 +6362,6 @@ const struct Item gItems[] = [ITEM_LEPPA_BERRY] = { .name = _("Leppa Berry"), - .itemId = ITEM_LEPPA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_PP, .holdEffectParam = 10, @@ -6896,7 +6376,6 @@ const struct Item gItems[] = [ITEM_ORAN_BERRY] = { .name = _("Oran Berry"), - .itemId = ITEM_ORAN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESTORE_HP, .holdEffectParam = 10, @@ -6911,7 +6390,6 @@ const struct Item gItems[] = [ITEM_PERSIM_BERRY] = { .name = _("Persim Berry"), - .itemId = ITEM_PERSIM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_CONFUSION, .description = sPersimBerryDesc, @@ -6925,7 +6403,6 @@ const struct Item gItems[] = [ITEM_LUM_BERRY] = { .name = _("Lum Berry"), - .itemId = ITEM_LUM_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CURE_STATUS, .description = sLumBerryDesc, @@ -6939,7 +6416,6 @@ const struct Item gItems[] = [ITEM_SITRUS_BERRY] = { .name = _("Sitrus Berry"), - .itemId = ITEM_SITRUS_BERRY, .price = 20, #if I_SITRUS_BERRY_HEAL >= GEN_4 .holdEffect = HOLD_EFFECT_RESTORE_PCT_HP, @@ -6967,7 +6443,6 @@ const struct Item gItems[] = [ITEM_FIGY_BERRY] = { .name = _("Figy Berry"), - .itemId = ITEM_FIGY_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SPICY, .holdEffectParam = CONFUSE_BERRY_HEAL_FRACTION, @@ -6981,7 +6456,6 @@ const struct Item gItems[] = [ITEM_WIKI_BERRY] = { .name = _("Wiki Berry"), - .itemId = ITEM_WIKI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_DRY, .holdEffectParam = CONFUSE_BERRY_HEAL_FRACTION, @@ -6995,7 +6469,6 @@ const struct Item gItems[] = [ITEM_MAGO_BERRY] = { .name = _("Mago Berry"), - .itemId = ITEM_MAGO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SWEET, .holdEffectParam = CONFUSE_BERRY_HEAL_FRACTION, @@ -7009,7 +6482,6 @@ const struct Item gItems[] = [ITEM_AGUAV_BERRY] = { .name = _("Aguav Berry"), - .itemId = ITEM_AGUAV_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_BITTER, .holdEffectParam = CONFUSE_BERRY_HEAL_FRACTION, @@ -7023,7 +6495,6 @@ const struct Item gItems[] = [ITEM_IAPAPA_BERRY] = { .name = _("Iapapa Berry"), - .itemId = ITEM_IAPAPA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CONFUSE_SOUR, .holdEffectParam = CONFUSE_BERRY_HEAL_FRACTION, @@ -7039,7 +6510,6 @@ const struct Item gItems[] = [ITEM_RAZZ_BERRY] = { .name = _("Razz Berry"), - .itemId = ITEM_RAZZ_BERRY, .price = 20, .description = sRazzBerryDesc, .pocket = POCKET_BERRIES, @@ -7051,7 +6521,6 @@ const struct Item gItems[] = [ITEM_BLUK_BERRY] = { .name = _("Bluk Berry"), - .itemId = ITEM_BLUK_BERRY, .price = 20, .description = sBlukBerryDesc, .pocket = POCKET_BERRIES, @@ -7063,7 +6532,6 @@ const struct Item gItems[] = [ITEM_NANAB_BERRY] = { .name = _("Nanab Berry"), - .itemId = ITEM_NANAB_BERRY, .price = 20, .description = sNanabBerryDesc, .pocket = POCKET_BERRIES, @@ -7075,7 +6543,6 @@ const struct Item gItems[] = [ITEM_WEPEAR_BERRY] = { .name = _("Wepear Berry"), - .itemId = ITEM_WEPEAR_BERRY, .price = 20, .description = sWepearBerryDesc, .pocket = POCKET_BERRIES, @@ -7087,7 +6554,6 @@ const struct Item gItems[] = [ITEM_PINAP_BERRY] = { .name = _("Pinap Berry"), - .itemId = ITEM_PINAP_BERRY, .price = 20, .description = sPinapBerryDesc, .pocket = POCKET_BERRIES, @@ -7099,7 +6565,6 @@ const struct Item gItems[] = [ITEM_POMEG_BERRY] = { .name = _("Pomeg Berry"), - .itemId = ITEM_POMEG_BERRY, .price = 20, .description = sPomegBerryDesc, .pocket = POCKET_BERRIES, @@ -7111,7 +6576,6 @@ const struct Item gItems[] = [ITEM_KELPSY_BERRY] = { .name = _("Kelpsy Berry"), - .itemId = ITEM_KELPSY_BERRY, .price = 20, .description = sKelpsyBerryDesc, .pocket = POCKET_BERRIES, @@ -7123,7 +6587,6 @@ const struct Item gItems[] = [ITEM_QUALOT_BERRY] = { .name = _("Qualot Berry"), - .itemId = ITEM_QUALOT_BERRY, .price = 20, .description = sQualotBerryDesc, .pocket = POCKET_BERRIES, @@ -7135,7 +6598,6 @@ const struct Item gItems[] = [ITEM_HONDEW_BERRY] = { .name = _("Hondew Berry"), - .itemId = ITEM_HONDEW_BERRY, .price = 20, .description = sHondewBerryDesc, .pocket = POCKET_BERRIES, @@ -7147,7 +6609,6 @@ const struct Item gItems[] = [ITEM_GREPA_BERRY] = { .name = _("Grepa Berry"), - .itemId = ITEM_GREPA_BERRY, .price = 20, .description = sGrepaBerryDesc, .pocket = POCKET_BERRIES, @@ -7159,7 +6620,6 @@ const struct Item gItems[] = [ITEM_TAMATO_BERRY] = { .name = _("Tamato Berry"), - .itemId = ITEM_TAMATO_BERRY, .price = 20, .description = sTamatoBerryDesc, .pocket = POCKET_BERRIES, @@ -7171,7 +6631,6 @@ const struct Item gItems[] = [ITEM_CORNN_BERRY] = { .name = _("Cornn Berry"), - .itemId = ITEM_CORNN_BERRY, .price = 20, .description = sCornnBerryDesc, .pocket = POCKET_BERRIES, @@ -7183,7 +6642,6 @@ const struct Item gItems[] = [ITEM_MAGOST_BERRY] = { .name = _("Magost Berry"), - .itemId = ITEM_MAGOST_BERRY, .price = 20, .description = sMagostBerryDesc, .pocket = POCKET_BERRIES, @@ -7195,7 +6653,6 @@ const struct Item gItems[] = [ITEM_RABUTA_BERRY] = { .name = _("Rabuta Berry"), - .itemId = ITEM_RABUTA_BERRY, .price = 20, .description = sRabutaBerryDesc, .pocket = POCKET_BERRIES, @@ -7207,7 +6664,6 @@ const struct Item gItems[] = [ITEM_NOMEL_BERRY] = { .name = _("Nomel Berry"), - .itemId = ITEM_NOMEL_BERRY, .price = 20, .description = sNomelBerryDesc, .pocket = POCKET_BERRIES, @@ -7219,7 +6675,6 @@ const struct Item gItems[] = [ITEM_SPELON_BERRY] = { .name = _("Spelon Berry"), - .itemId = ITEM_SPELON_BERRY, .price = 20, .description = sSpelonBerryDesc, .pocket = POCKET_BERRIES, @@ -7231,7 +6686,6 @@ const struct Item gItems[] = [ITEM_PAMTRE_BERRY] = { .name = _("Pamtre Berry"), - .itemId = ITEM_PAMTRE_BERRY, .price = 20, .description = sPamtreBerryDesc, .pocket = POCKET_BERRIES, @@ -7243,7 +6697,6 @@ const struct Item gItems[] = [ITEM_WATMEL_BERRY] = { .name = _("Watmel Berry"), - .itemId = ITEM_WATMEL_BERRY, .price = 20, .description = sWatmelBerryDesc, .pocket = POCKET_BERRIES, @@ -7255,7 +6708,6 @@ const struct Item gItems[] = [ITEM_DURIN_BERRY] = { .name = _("Durin Berry"), - .itemId = ITEM_DURIN_BERRY, .price = 20, .description = sDurinBerryDesc, .pocket = POCKET_BERRIES, @@ -7267,7 +6719,6 @@ const struct Item gItems[] = [ITEM_BELUE_BERRY] = { .name = _("Belue Berry"), - .itemId = ITEM_BELUE_BERRY, .price = 20, .description = sBelueBerryDesc, .pocket = POCKET_BERRIES, @@ -7279,7 +6730,6 @@ const struct Item gItems[] = [ITEM_CHILAN_BERRY] = { .name = _("Chilan Berry"), - .itemId = ITEM_CHILAN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_NORMAL, @@ -7293,7 +6743,6 @@ const struct Item gItems[] = [ITEM_OCCA_BERRY] = { .name = _("Occa Berry"), - .itemId = ITEM_OCCA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_FIRE, @@ -7307,7 +6756,6 @@ const struct Item gItems[] = [ITEM_PASSHO_BERRY] = { .name = _("Passho Berry"), - .itemId = ITEM_PASSHO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_WATER, @@ -7321,7 +6769,6 @@ const struct Item gItems[] = [ITEM_WACAN_BERRY] = { .name = _("Wacan Berry"), - .itemId = ITEM_WACAN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_ELECTRIC, @@ -7335,7 +6782,6 @@ const struct Item gItems[] = [ITEM_RINDO_BERRY] = { .name = _("Rindo Berry"), - .itemId = ITEM_RINDO_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_GRASS, @@ -7349,7 +6795,6 @@ const struct Item gItems[] = [ITEM_YACHE_BERRY] = { .name = _("Yache Berry"), - .itemId = ITEM_YACHE_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_ICE, @@ -7363,7 +6808,6 @@ const struct Item gItems[] = [ITEM_CHOPLE_BERRY] = { .name = _("Chople Berry"), - .itemId = ITEM_CHOPLE_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_FIGHTING, @@ -7377,7 +6821,6 @@ const struct Item gItems[] = [ITEM_KEBIA_BERRY] = { .name = _("Kebia Berry"), - .itemId = ITEM_KEBIA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_POISON, @@ -7391,7 +6834,6 @@ const struct Item gItems[] = [ITEM_SHUCA_BERRY] = { .name = _("Shuca Berry"), - .itemId = ITEM_SHUCA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_GROUND, @@ -7405,7 +6847,6 @@ const struct Item gItems[] = [ITEM_COBA_BERRY] = { .name = _("Coba Berry"), - .itemId = ITEM_COBA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_FLYING, @@ -7419,7 +6860,6 @@ const struct Item gItems[] = [ITEM_PAYAPA_BERRY] = { .name = _("Payapa Berry"), - .itemId = ITEM_PAYAPA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_PSYCHIC, @@ -7433,7 +6873,6 @@ const struct Item gItems[] = [ITEM_TANGA_BERRY] = { .name = _("Tanga Berry"), - .itemId = ITEM_TANGA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_BUG, @@ -7447,7 +6886,6 @@ const struct Item gItems[] = [ITEM_CHARTI_BERRY] = { .name = _("Charti Berry"), - .itemId = ITEM_CHARTI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_ROCK, @@ -7461,7 +6899,6 @@ const struct Item gItems[] = [ITEM_KASIB_BERRY] = { .name = _("Kasib Berry"), - .itemId = ITEM_KASIB_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_GHOST, @@ -7475,7 +6912,6 @@ const struct Item gItems[] = [ITEM_HABAN_BERRY] = { .name = _("Haban Berry"), - .itemId = ITEM_HABAN_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_DRAGON, @@ -7489,7 +6925,6 @@ const struct Item gItems[] = [ITEM_COLBUR_BERRY] = { .name = _("Colbur Berry"), - .itemId = ITEM_COLBUR_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_DARK, @@ -7503,7 +6938,6 @@ const struct Item gItems[] = [ITEM_BABIRI_BERRY] = { .name = _("Babiri Berry"), - .itemId = ITEM_BABIRI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_STEEL, @@ -7517,7 +6951,6 @@ const struct Item gItems[] = [ITEM_ROSELI_BERRY] = { .name = _("Roseli Berry"), - .itemId = ITEM_ROSELI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RESIST_BERRY, .holdEffectParam = TYPE_FAIRY, @@ -7531,7 +6964,6 @@ const struct Item gItems[] = [ITEM_LIECHI_BERRY] = { .name = _("Liechi Berry"), - .itemId = ITEM_LIECHI_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_ATTACK_UP, .holdEffectParam = 4, @@ -7545,7 +6977,6 @@ const struct Item gItems[] = [ITEM_GANLON_BERRY] = { .name = _("Ganlon Berry"), - .itemId = ITEM_GANLON_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_DEFENSE_UP, .holdEffectParam = 4, @@ -7559,7 +6990,6 @@ const struct Item gItems[] = [ITEM_SALAC_BERRY] = { .name = _("Salac Berry"), - .itemId = ITEM_SALAC_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_SPEED_UP, .holdEffectParam = 4, @@ -7573,7 +7003,6 @@ const struct Item gItems[] = [ITEM_PETAYA_BERRY] = { .name = _("Petaya Berry"), - .itemId = ITEM_PETAYA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_SP_ATTACK_UP, .holdEffectParam = 4, @@ -7587,7 +7016,6 @@ const struct Item gItems[] = [ITEM_APICOT_BERRY] = { .name = _("Apicot Berry"), - .itemId = ITEM_APICOT_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_SP_DEFENSE_UP, .holdEffectParam = 4, @@ -7601,7 +7029,6 @@ const struct Item gItems[] = [ITEM_LANSAT_BERRY] = { .name = _("Lansat Berry"), - .itemId = ITEM_LANSAT_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CRITICAL_UP, .holdEffectParam = 4, @@ -7615,7 +7042,6 @@ const struct Item gItems[] = [ITEM_STARF_BERRY] = { .name = _("Starf Berry"), - .itemId = ITEM_STARF_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_RANDOM_STAT_UP, .holdEffectParam = 4, @@ -7629,7 +7055,6 @@ const struct Item gItems[] = [ITEM_ENIGMA_BERRY] = { .name = _("Enigma Berry"), - .itemId = ITEM_ENIGMA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_ENIGMA_BERRY, .description = sEnigmaBerryDesc, @@ -7642,7 +7067,6 @@ const struct Item gItems[] = [ITEM_MICLE_BERRY] = { .name = _("Micle Berry"), - .itemId = ITEM_MICLE_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_MICLE_BERRY, .holdEffectParam = 4, @@ -7656,7 +7080,6 @@ const struct Item gItems[] = [ITEM_CUSTAP_BERRY] = { .name = _("Custap Berry"), - .itemId = ITEM_CUSTAP_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_CUSTAP_BERRY, .holdEffectParam = 4, @@ -7670,7 +7093,6 @@ const struct Item gItems[] = [ITEM_JABOCA_BERRY] = { .name = _("Jaboca Berry"), - .itemId = ITEM_JABOCA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_JABOCA_BERRY, .description = sJabocaBerryDesc, @@ -7683,7 +7105,6 @@ const struct Item gItems[] = [ITEM_ROWAP_BERRY] = { .name = _("Rowap Berry"), - .itemId = ITEM_ROWAP_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_ROWAP_BERRY, .description = sRowapBerryDesc, @@ -7696,7 +7117,6 @@ const struct Item gItems[] = [ITEM_KEE_BERRY] = { .name = _("Kee Berry"), - .itemId = ITEM_KEE_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_KEE_BERRY, .description = sKeeBerryDesc, @@ -7709,7 +7129,6 @@ const struct Item gItems[] = [ITEM_MARANGA_BERRY] = { .name = _("Maranga Berry"), - .itemId = ITEM_MARANGA_BERRY, .price = 20, .holdEffect = HOLD_EFFECT_MARANGA_BERRY, .description = sMarangaBerryDesc, @@ -7722,7 +7141,6 @@ const struct Item gItems[] = [ITEM_ENIGMA_BERRY_E_READER] = { .name = _("Enigma Berry"), - .itemId = ITEM_ENIGMA_BERRY, .price = 20, .description = sEnigmaBerryEReaderDesc, .pocket = POCKET_BERRIES, @@ -7737,7 +7155,6 @@ const struct Item gItems[] = [ITEM_TM_FOCUS_PUNCH] = { .name = _("TM01"), - .itemId = ITEM_TM01, .price = 3000, .description = sTM01Desc, .importance = I_REUSABLE_TMS, @@ -7750,7 +7167,6 @@ const struct Item gItems[] = [ITEM_TM_DRAGON_CLAW] = { .name = _("TM02"), - .itemId = ITEM_TM02, .price = 3000, .description = sTM02Desc, .importance = I_REUSABLE_TMS, @@ -7763,7 +7179,6 @@ const struct Item gItems[] = [ITEM_TM_WATER_PULSE] = { .name = _("TM03"), - .itemId = ITEM_TM03, .price = 3000, .description = sTM03Desc, .importance = I_REUSABLE_TMS, @@ -7776,7 +7191,6 @@ const struct Item gItems[] = [ITEM_TM_CALM_MIND] = { .name = _("TM04"), - .itemId = ITEM_TM04, .price = 3000, .description = sTM04Desc, .importance = I_REUSABLE_TMS, @@ -7789,7 +7203,6 @@ const struct Item gItems[] = [ITEM_TM_ROAR] = { .name = _("TM05"), - .itemId = ITEM_TM05, .price = 1000, .description = sTM05Desc, .importance = I_REUSABLE_TMS, @@ -7802,7 +7215,6 @@ const struct Item gItems[] = [ITEM_TM_TOXIC] = { .name = _("TM06"), - .itemId = ITEM_TM06, .price = 3000, .description = sTM06Desc, .importance = I_REUSABLE_TMS, @@ -7815,7 +7227,6 @@ const struct Item gItems[] = [ITEM_TM_HAIL] = { .name = _("TM07"), - .itemId = ITEM_TM07, .price = 3000, .description = sTM07Desc, .importance = I_REUSABLE_TMS, @@ -7828,7 +7239,6 @@ const struct Item gItems[] = [ITEM_TM_BULK_UP] = { .name = _("TM08"), - .itemId = ITEM_TM08, .price = 3000, .description = sTM08Desc, .importance = I_REUSABLE_TMS, @@ -7841,7 +7251,6 @@ const struct Item gItems[] = [ITEM_TM_BULLET_SEED] = { .name = _("TM09"), - .itemId = ITEM_TM09, .price = 3000, .description = sTM09Desc, .importance = I_REUSABLE_TMS, @@ -7854,7 +7263,6 @@ const struct Item gItems[] = [ITEM_TM_HIDDEN_POWER] = { .name = _("TM10"), - .itemId = ITEM_TM10, .price = 3000, .description = sTM10Desc, .importance = I_REUSABLE_TMS, @@ -7867,7 +7275,6 @@ const struct Item gItems[] = [ITEM_TM_SUNNY_DAY] = { .name = _("TM11"), - .itemId = ITEM_TM11, .price = 2000, .description = sTM11Desc, .importance = I_REUSABLE_TMS, @@ -7880,7 +7287,6 @@ const struct Item gItems[] = [ITEM_TM_TAUNT] = { .name = _("TM12"), - .itemId = ITEM_TM12, .price = 3000, .description = sTM12Desc, .importance = I_REUSABLE_TMS, @@ -7893,7 +7299,6 @@ const struct Item gItems[] = [ITEM_TM_ICE_BEAM] = { .name = _("TM13"), - .itemId = ITEM_TM13, .price = 3000, .description = sTM13Desc, .importance = I_REUSABLE_TMS, @@ -7906,7 +7311,6 @@ const struct Item gItems[] = [ITEM_TM_BLIZZARD] = { .name = _("TM14"), - .itemId = ITEM_TM14, .price = 5500, .description = sTM14Desc, .importance = I_REUSABLE_TMS, @@ -7919,7 +7323,6 @@ const struct Item gItems[] = [ITEM_TM_HYPER_BEAM] = { .name = _("TM15"), - .itemId = ITEM_TM15, .price = 7500, .description = sTM15Desc, .importance = I_REUSABLE_TMS, @@ -7932,7 +7335,6 @@ const struct Item gItems[] = [ITEM_TM_LIGHT_SCREEN] = { .name = _("TM16"), - .itemId = ITEM_TM16, .price = 3000, .description = sTM16Desc, .importance = I_REUSABLE_TMS, @@ -7945,7 +7347,6 @@ const struct Item gItems[] = [ITEM_TM_PROTECT] = { .name = _("TM17"), - .itemId = ITEM_TM17, .price = 3000, .description = sTM17Desc, .importance = I_REUSABLE_TMS, @@ -7958,7 +7359,6 @@ const struct Item gItems[] = [ITEM_TM_RAIN_DANCE] = { .name = _("TM18"), - .itemId = ITEM_TM18, .price = 2000, .description = sTM18Desc, .importance = I_REUSABLE_TMS, @@ -7971,7 +7371,6 @@ const struct Item gItems[] = [ITEM_TM_GIGA_DRAIN] = { .name = _("TM19"), - .itemId = ITEM_TM19, .price = 3000, .description = sTM19Desc, .importance = I_REUSABLE_TMS, @@ -7984,7 +7383,6 @@ const struct Item gItems[] = [ITEM_TM_SAFEGUARD] = { .name = _("TM20"), - .itemId = ITEM_TM20, .price = 3000, .description = sTM20Desc, .importance = I_REUSABLE_TMS, @@ -7997,7 +7395,6 @@ const struct Item gItems[] = [ITEM_TM_FRUSTRATION] = { .name = _("TM21"), - .itemId = ITEM_TM21, .price = 1000, .description = sTM21Desc, .importance = I_REUSABLE_TMS, @@ -8010,7 +7407,6 @@ const struct Item gItems[] = [ITEM_TM_SOLAR_BEAM] = { .name = _("TM22"), - .itemId = ITEM_TM22, .price = 3000, .description = sTM22Desc, .importance = I_REUSABLE_TMS, @@ -8023,7 +7419,6 @@ const struct Item gItems[] = [ITEM_TM_IRON_TAIL] = { .name = _("TM23"), - .itemId = ITEM_TM23, .price = 3000, .description = sTM23Desc, .importance = I_REUSABLE_TMS, @@ -8036,7 +7431,6 @@ const struct Item gItems[] = [ITEM_TM_THUNDERBOLT] = { .name = _("TM24"), - .itemId = ITEM_TM24, .price = 3000, .description = sTM24Desc, .importance = I_REUSABLE_TMS, @@ -8049,7 +7443,6 @@ const struct Item gItems[] = [ITEM_TM_THUNDER] = { .name = _("TM25"), - .itemId = ITEM_TM25, .price = 5500, .description = sTM25Desc, .importance = I_REUSABLE_TMS, @@ -8062,7 +7455,6 @@ const struct Item gItems[] = [ITEM_TM_EARTHQUAKE] = { .name = _("TM26"), - .itemId = ITEM_TM26, .price = 3000, .description = sTM26Desc, .importance = I_REUSABLE_TMS, @@ -8075,7 +7467,6 @@ const struct Item gItems[] = [ITEM_TM_RETURN] = { .name = _("TM27"), - .itemId = ITEM_TM27, .price = 1000, .description = sTM27Desc, .importance = I_REUSABLE_TMS, @@ -8088,7 +7479,6 @@ const struct Item gItems[] = [ITEM_TM_DIG] = { .name = _("TM28"), - .itemId = ITEM_TM28, .price = 2000, .description = sTM28Desc, .importance = I_REUSABLE_TMS, @@ -8101,7 +7491,6 @@ const struct Item gItems[] = [ITEM_TM_PSYCHIC] = { .name = _("TM29"), - .itemId = ITEM_TM29, .price = 2000, .description = sTM29Desc, .importance = I_REUSABLE_TMS, @@ -8114,7 +7503,6 @@ const struct Item gItems[] = [ITEM_TM_SHADOW_BALL] = { .name = _("TM30"), - .itemId = ITEM_TM30, .price = 3000, .description = sTM30Desc, .importance = I_REUSABLE_TMS, @@ -8127,7 +7515,6 @@ const struct Item gItems[] = [ITEM_TM_BRICK_BREAK] = { .name = _("TM31"), - .itemId = ITEM_TM31, .price = 3000, .description = sTM31Desc, .importance = I_REUSABLE_TMS, @@ -8140,7 +7527,6 @@ const struct Item gItems[] = [ITEM_TM_DOUBLE_TEAM] = { .name = _("TM32"), - .itemId = ITEM_TM32, .price = 2000, .description = sTM32Desc, .importance = I_REUSABLE_TMS, @@ -8153,7 +7539,6 @@ const struct Item gItems[] = [ITEM_TM_REFLECT] = { .name = _("TM33"), - .itemId = ITEM_TM33, .price = 3000, .description = sTM33Desc, .importance = I_REUSABLE_TMS, @@ -8166,7 +7551,6 @@ const struct Item gItems[] = [ITEM_TM_SHOCK_WAVE] = { .name = _("TM34"), - .itemId = ITEM_TM34, .price = 3000, .description = sTM34Desc, .importance = I_REUSABLE_TMS, @@ -8179,7 +7563,6 @@ const struct Item gItems[] = [ITEM_TM_FLAMETHROWER] = { .name = _("TM35"), - .itemId = ITEM_TM35, .price = 3000, .description = sTM35Desc, .importance = I_REUSABLE_TMS, @@ -8192,7 +7575,6 @@ const struct Item gItems[] = [ITEM_TM_SLUDGE_BOMB] = { .name = _("TM36"), - .itemId = ITEM_TM36, .price = 1000, .description = sTM36Desc, .importance = I_REUSABLE_TMS, @@ -8205,7 +7587,6 @@ const struct Item gItems[] = [ITEM_TM_SANDSTORM] = { .name = _("TM37"), - .itemId = ITEM_TM37, .price = 2000, .description = sTM37Desc, .importance = I_REUSABLE_TMS, @@ -8218,7 +7599,6 @@ const struct Item gItems[] = [ITEM_TM_FIRE_BLAST] = { .name = _("TM38"), - .itemId = ITEM_TM38, .price = 5500, .description = sTM38Desc, .importance = I_REUSABLE_TMS, @@ -8231,7 +7611,6 @@ const struct Item gItems[] = [ITEM_TM_ROCK_TOMB] = { .name = _("TM39"), - .itemId = ITEM_TM39, .price = 3000, .description = sTM39Desc, .importance = I_REUSABLE_TMS, @@ -8244,7 +7623,6 @@ const struct Item gItems[] = [ITEM_TM_AERIAL_ACE] = { .name = _("TM40"), - .itemId = ITEM_TM40, .price = 3000, .description = sTM40Desc, .importance = I_REUSABLE_TMS, @@ -8257,7 +7635,6 @@ const struct Item gItems[] = [ITEM_TM_TORMENT] = { .name = _("TM41"), - .itemId = ITEM_TM41, .price = 3000, .description = sTM41Desc, .importance = I_REUSABLE_TMS, @@ -8270,7 +7647,6 @@ const struct Item gItems[] = [ITEM_TM_FACADE] = { .name = _("TM42"), - .itemId = ITEM_TM42, .price = 3000, .description = sTM42Desc, .importance = I_REUSABLE_TMS, @@ -8283,7 +7659,6 @@ const struct Item gItems[] = [ITEM_TM_SECRET_POWER] = { .name = _("TM43"), - .itemId = ITEM_TM43, .price = 3000, .description = sTM43Desc, .importance = I_REUSABLE_TMS, @@ -8296,7 +7671,6 @@ const struct Item gItems[] = [ITEM_TM_REST] = { .name = _("TM44"), - .itemId = ITEM_TM44, .price = 3000, .description = sTM44Desc, .importance = I_REUSABLE_TMS, @@ -8309,7 +7683,6 @@ const struct Item gItems[] = [ITEM_TM_ATTRACT] = { .name = _("TM45"), - .itemId = ITEM_TM45, .price = 3000, .description = sTM45Desc, .importance = I_REUSABLE_TMS, @@ -8322,7 +7695,6 @@ const struct Item gItems[] = [ITEM_TM_THIEF] = { .name = _("TM46"), - .itemId = ITEM_TM46, .price = 3000, .description = sTM46Desc, .importance = I_REUSABLE_TMS, @@ -8335,7 +7707,6 @@ const struct Item gItems[] = [ITEM_TM_STEEL_WING] = { .name = _("TM47"), - .itemId = ITEM_TM47, .price = 3000, .description = sTM47Desc, .importance = I_REUSABLE_TMS, @@ -8348,7 +7719,6 @@ const struct Item gItems[] = [ITEM_TM_SKILL_SWAP] = { .name = _("TM48"), - .itemId = ITEM_TM48, .price = 3000, .description = sTM48Desc, .importance = I_REUSABLE_TMS, @@ -8361,7 +7731,6 @@ const struct Item gItems[] = [ITEM_TM_SNATCH] = { .name = _("TM49"), - .itemId = ITEM_TM49, .price = 3000, .description = sTM49Desc, .importance = I_REUSABLE_TMS, @@ -8374,7 +7743,6 @@ const struct Item gItems[] = [ITEM_TM_OVERHEAT] = { .name = _("TM50"), - .itemId = ITEM_TM50, .price = 3000, .description = sTM50Desc, .importance = I_REUSABLE_TMS, @@ -8387,7 +7755,6 @@ const struct Item gItems[] = [ITEM_TM51] = { .name = _("TM51"), - .itemId = ITEM_TM51, .price = 3000, .description = sTM51Desc, .importance = I_REUSABLE_TMS, @@ -8400,7 +7767,6 @@ const struct Item gItems[] = [ITEM_TM52] = { .name = _("TM52"), - .itemId = ITEM_TM52, .price = 3000, .description = sTM52Desc, .importance = I_REUSABLE_TMS, @@ -8413,7 +7779,6 @@ const struct Item gItems[] = [ITEM_TM53] = { .name = _("TM53"), - .itemId = ITEM_TM53, .price = 3000, .description = sTM53Desc, .importance = I_REUSABLE_TMS, @@ -8426,7 +7791,6 @@ const struct Item gItems[] = [ITEM_TM54] = { .name = _("TM54"), - .itemId = ITEM_TM54, .price = 3000, .description = sTM54Desc, .importance = I_REUSABLE_TMS, @@ -8439,7 +7803,6 @@ const struct Item gItems[] = [ITEM_TM55] = { .name = _("TM55"), - .itemId = ITEM_TM55, .price = 3000, .description = sTM55Desc, .importance = I_REUSABLE_TMS, @@ -8452,7 +7815,6 @@ const struct Item gItems[] = [ITEM_TM56] = { .name = _("TM56"), - .itemId = ITEM_TM56, .price = 3000, .description = sTM56Desc, .importance = I_REUSABLE_TMS, @@ -8465,7 +7827,6 @@ const struct Item gItems[] = [ITEM_TM57] = { .name = _("TM57"), - .itemId = ITEM_TM57, .price = 3000, .description = sTM57Desc, .importance = I_REUSABLE_TMS, @@ -8478,7 +7839,6 @@ const struct Item gItems[] = [ITEM_TM58] = { .name = _("TM58"), - .itemId = ITEM_TM58, .price = 3000, .description = sTM58Desc, .importance = I_REUSABLE_TMS, @@ -8491,7 +7851,6 @@ const struct Item gItems[] = [ITEM_TM59] = { .name = _("TM59"), - .itemId = ITEM_TM59, .price = 3000, .description = sTM59Desc, .importance = I_REUSABLE_TMS, @@ -8504,7 +7863,6 @@ const struct Item gItems[] = [ITEM_TM60] = { .name = _("TM60"), - .itemId = ITEM_TM60, .price = 3000, .description = sTM60Desc, .importance = I_REUSABLE_TMS, @@ -8517,7 +7875,6 @@ const struct Item gItems[] = [ITEM_TM61] = { .name = _("TM61"), - .itemId = ITEM_TM61, .price = 3000, .description = sTM61Desc, .importance = I_REUSABLE_TMS, @@ -8530,7 +7887,6 @@ const struct Item gItems[] = [ITEM_TM62] = { .name = _("TM62"), - .itemId = ITEM_TM62, .price = 3000, .description = sTM62Desc, .importance = I_REUSABLE_TMS, @@ -8543,7 +7899,6 @@ const struct Item gItems[] = [ITEM_TM63] = { .name = _("TM63"), - .itemId = ITEM_TM63, .price = 3000, .description = sTM63Desc, .importance = I_REUSABLE_TMS, @@ -8556,7 +7911,6 @@ const struct Item gItems[] = [ITEM_TM64] = { .name = _("TM64"), - .itemId = ITEM_TM64, .price = 3000, .description = sTM64Desc, .importance = I_REUSABLE_TMS, @@ -8569,7 +7923,6 @@ const struct Item gItems[] = [ITEM_TM65] = { .name = _("TM65"), - .itemId = ITEM_TM65, .price = 3000, .description = sTM65Desc, .importance = I_REUSABLE_TMS, @@ -8582,7 +7935,6 @@ const struct Item gItems[] = [ITEM_TM66] = { .name = _("TM66"), - .itemId = ITEM_TM66, .price = 3000, .description = sTM66Desc, .importance = I_REUSABLE_TMS, @@ -8595,7 +7947,6 @@ const struct Item gItems[] = [ITEM_TM67] = { .name = _("TM67"), - .itemId = ITEM_TM67, .price = 3000, .description = sTM67Desc, .importance = I_REUSABLE_TMS, @@ -8608,7 +7959,6 @@ const struct Item gItems[] = [ITEM_TM68] = { .name = _("TM68"), - .itemId = ITEM_TM68, .price = 3000, .description = sTM68Desc, .importance = I_REUSABLE_TMS, @@ -8621,7 +7971,6 @@ const struct Item gItems[] = [ITEM_TM69] = { .name = _("TM69"), - .itemId = ITEM_TM69, .price = 3000, .description = sTM69Desc, .importance = I_REUSABLE_TMS, @@ -8634,7 +7983,6 @@ const struct Item gItems[] = [ITEM_TM70] = { .name = _("TM70"), - .itemId = ITEM_TM70, .price = 3000, .description = sTM70Desc, .importance = I_REUSABLE_TMS, @@ -8647,7 +7995,6 @@ const struct Item gItems[] = [ITEM_TM71] = { .name = _("TM71"), - .itemId = ITEM_TM71, .price = 3000, .description = sTM71Desc, .importance = I_REUSABLE_TMS, @@ -8660,7 +8007,6 @@ const struct Item gItems[] = [ITEM_TM72] = { .name = _("TM72"), - .itemId = ITEM_TM72, .price = 3000, .description = sTM72Desc, .importance = I_REUSABLE_TMS, @@ -8673,7 +8019,6 @@ const struct Item gItems[] = [ITEM_TM73] = { .name = _("TM73"), - .itemId = ITEM_TM73, .price = 3000, .description = sTM73Desc, .importance = I_REUSABLE_TMS, @@ -8686,7 +8031,6 @@ const struct Item gItems[] = [ITEM_TM74] = { .name = _("TM74"), - .itemId = ITEM_TM74, .price = 3000, .description = sTM74Desc, .importance = I_REUSABLE_TMS, @@ -8699,7 +8043,6 @@ const struct Item gItems[] = [ITEM_TM75] = { .name = _("TM75"), - .itemId = ITEM_TM75, .price = 3000, .description = sTM75Desc, .importance = I_REUSABLE_TMS, @@ -8712,7 +8055,6 @@ const struct Item gItems[] = [ITEM_TM76] = { .name = _("TM76"), - .itemId = ITEM_TM76, .price = 3000, .description = sTM76Desc, .importance = I_REUSABLE_TMS, @@ -8725,7 +8067,6 @@ const struct Item gItems[] = [ITEM_TM77] = { .name = _("TM77"), - .itemId = ITEM_TM77, .price = 3000, .description = sTM77Desc, .importance = I_REUSABLE_TMS, @@ -8738,7 +8079,6 @@ const struct Item gItems[] = [ITEM_TM78] = { .name = _("TM78"), - .itemId = ITEM_TM78, .price = 3000, .description = sTM78Desc, .importance = I_REUSABLE_TMS, @@ -8751,7 +8091,6 @@ const struct Item gItems[] = [ITEM_TM79] = { .name = _("TM79"), - .itemId = ITEM_TM79, .price = 3000, .description = sTM79Desc, .importance = I_REUSABLE_TMS, @@ -8764,7 +8103,6 @@ const struct Item gItems[] = [ITEM_TM80] = { .name = _("TM80"), - .itemId = ITEM_TM80, .price = 3000, .description = sTM80Desc, .importance = I_REUSABLE_TMS, @@ -8777,7 +8115,6 @@ const struct Item gItems[] = [ITEM_TM81] = { .name = _("TM81"), - .itemId = ITEM_TM81, .price = 3000, .description = sTM81Desc, .importance = I_REUSABLE_TMS, @@ -8790,7 +8127,6 @@ const struct Item gItems[] = [ITEM_TM82] = { .name = _("TM82"), - .itemId = ITEM_TM82, .price = 3000, .description = sTM82Desc, .importance = I_REUSABLE_TMS, @@ -8803,7 +8139,6 @@ const struct Item gItems[] = [ITEM_TM83] = { .name = _("TM83"), - .itemId = ITEM_TM83, .price = 3000, .description = sTM83Desc, .importance = I_REUSABLE_TMS, @@ -8816,7 +8151,6 @@ const struct Item gItems[] = [ITEM_TM84] = { .name = _("TM84"), - .itemId = ITEM_TM84, .price = 3000, .description = sTM84Desc, .importance = I_REUSABLE_TMS, @@ -8829,7 +8163,6 @@ const struct Item gItems[] = [ITEM_TM85] = { .name = _("TM85"), - .itemId = ITEM_TM85, .price = 3000, .description = sTM85Desc, .importance = I_REUSABLE_TMS, @@ -8842,7 +8175,6 @@ const struct Item gItems[] = [ITEM_TM86] = { .name = _("TM86"), - .itemId = ITEM_TM86, .price = 3000, .description = sTM86Desc, .importance = I_REUSABLE_TMS, @@ -8855,7 +8187,6 @@ const struct Item gItems[] = [ITEM_TM87] = { .name = _("TM87"), - .itemId = ITEM_TM87, .price = 3000, .description = sTM87Desc, .importance = I_REUSABLE_TMS, @@ -8868,7 +8199,6 @@ const struct Item gItems[] = [ITEM_TM88] = { .name = _("TM88"), - .itemId = ITEM_TM88, .price = 3000, .description = sTM88Desc, .importance = I_REUSABLE_TMS, @@ -8881,7 +8211,6 @@ const struct Item gItems[] = [ITEM_TM89] = { .name = _("TM89"), - .itemId = ITEM_TM89, .price = 3000, .description = sTM89Desc, .importance = I_REUSABLE_TMS, @@ -8894,7 +8223,6 @@ const struct Item gItems[] = [ITEM_TM90] = { .name = _("TM90"), - .itemId = ITEM_TM90, .price = 3000, .description = sTM90Desc, .importance = I_REUSABLE_TMS, @@ -8907,7 +8235,6 @@ const struct Item gItems[] = [ITEM_TM91] = { .name = _("TM91"), - .itemId = ITEM_TM91, .price = 3000, .description = sTM91Desc, .importance = I_REUSABLE_TMS, @@ -8920,7 +8247,6 @@ const struct Item gItems[] = [ITEM_TM92] = { .name = _("TM92"), - .itemId = ITEM_TM92, .price = 3000, .description = sTM92Desc, .importance = I_REUSABLE_TMS, @@ -8933,7 +8259,6 @@ const struct Item gItems[] = [ITEM_TM93] = { .name = _("TM93"), - .itemId = ITEM_TM93, .price = 3000, .description = sTM93Desc, .importance = I_REUSABLE_TMS, @@ -8946,7 +8271,6 @@ const struct Item gItems[] = [ITEM_TM94] = { .name = _("TM94"), - .itemId = ITEM_TM94, .price = 3000, .description = sTM94Desc, .importance = I_REUSABLE_TMS, @@ -8959,7 +8283,6 @@ const struct Item gItems[] = [ITEM_TM95] = { .name = _("TM95"), - .itemId = ITEM_TM95, .price = 3000, .description = sTM95Desc, .importance = I_REUSABLE_TMS, @@ -8972,7 +8295,6 @@ const struct Item gItems[] = [ITEM_TM96] = { .name = _("TM96"), - .itemId = ITEM_TM96, .price = 3000, .description = sTM96Desc, .importance = I_REUSABLE_TMS, @@ -8985,7 +8307,6 @@ const struct Item gItems[] = [ITEM_TM97] = { .name = _("TM97"), - .itemId = ITEM_TM97, .price = 3000, .description = sTM97Desc, .importance = I_REUSABLE_TMS, @@ -8998,7 +8319,6 @@ const struct Item gItems[] = [ITEM_TM98] = { .name = _("TM98"), - .itemId = ITEM_TM98, .price = 3000, .description = sTM98Desc, .importance = I_REUSABLE_TMS, @@ -9011,7 +8331,6 @@ const struct Item gItems[] = [ITEM_TM99] = { .name = _("TM99"), - .itemId = ITEM_TM99, .price = 3000, .description = sTM99Desc, .importance = I_REUSABLE_TMS, @@ -9024,7 +8343,6 @@ const struct Item gItems[] = [ITEM_TM100] = { .name = _("TM100"), - .itemId = ITEM_TM100, .price = 3000, .description = sTM100Desc, .importance = I_REUSABLE_TMS, @@ -9037,7 +8355,6 @@ const struct Item gItems[] = [ITEM_HM_CUT] = { .name = _("HM01"), - .itemId = ITEM_HM01, .price = 0, .description = sHM01Desc, .importance = 1, @@ -9050,7 +8367,6 @@ const struct Item gItems[] = [ITEM_HM_FLY] = { .name = _("HM02"), - .itemId = ITEM_HM02, .price = 0, .description = sHM02Desc, .importance = 1, @@ -9063,7 +8379,6 @@ const struct Item gItems[] = [ITEM_HM_SURF] = { .name = _("HM03"), - .itemId = ITEM_HM03, .price = 0, .description = sHM03Desc, .importance = 1, @@ -9076,7 +8391,6 @@ const struct Item gItems[] = [ITEM_HM_STRENGTH] = { .name = _("HM04"), - .itemId = ITEM_HM04, .price = 0, .description = sHM04Desc, .importance = 1, @@ -9089,7 +8403,6 @@ const struct Item gItems[] = [ITEM_HM_FLASH] = { .name = _("HM05"), - .itemId = ITEM_HM05, .price = 0, .description = sHM05Desc, .importance = 1, @@ -9102,7 +8415,6 @@ const struct Item gItems[] = [ITEM_HM_ROCK_SMASH] = { .name = _("HM06"), - .itemId = ITEM_HM06, .price = 0, .description = sHM06Desc, .importance = 1, @@ -9115,7 +8427,6 @@ const struct Item gItems[] = [ITEM_HM_WATERFALL] = { .name = _("HM07"), - .itemId = ITEM_HM07, .price = 0, .description = sHM07Desc, .importance = 1, @@ -9128,7 +8439,6 @@ const struct Item gItems[] = [ITEM_HM_DIVE] = { .name = _("HM08"), - .itemId = ITEM_HM08, .price = 0, .description = sHM08Desc, .importance = 1, @@ -9144,7 +8454,6 @@ const struct Item gItems[] = [ITEM_OVAL_CHARM] = { .name = _("Oval Charm"), - .itemId = ITEM_OVAL_CHARM, .price = 0, .importance = 1, .description = sOvalCharmDesc, @@ -9156,7 +8465,6 @@ const struct Item gItems[] = [ITEM_SHINY_CHARM] = { .name = _("Shiny Charm"), - .itemId = ITEM_SHINY_CHARM, .price = 0, .importance = 1, .description = sShinyCharmDesc, @@ -9168,7 +8476,6 @@ const struct Item gItems[] = [ITEM_CATCHING_CHARM] = { .name = _("CatchngCharm"), - .itemId = ITEM_CATCHING_CHARM, .price = 0, .importance = 1, .description = sCatchingCharmDesc, @@ -9180,7 +8487,6 @@ const struct Item gItems[] = [ITEM_EXP_CHARM] = { .name = _("Exp. Charm"), - .itemId = ITEM_EXP_CHARM, .price = 0, .importance = 1, .description = sExpCharmDesc, @@ -9194,7 +8500,6 @@ const struct Item gItems[] = [ITEM_ROTOM_CATALOG] = { .name = _("RotomCatalog"), - .itemId = ITEM_ROTOM_CATALOG, .price = 0, .importance = 1, .description = sRotomCatalogDesc, @@ -9206,7 +8511,6 @@ const struct Item gItems[] = [ITEM_GRACIDEA] = { .name = _("Gracidea"), - .itemId = ITEM_GRACIDEA, .price = 0, .description = sGracideaDesc, .pocket = POCKET_KEY_ITEMS, @@ -9217,7 +8521,6 @@ const struct Item gItems[] = [ITEM_REVEAL_GLASS] = { .name = _("Reveal Glass"), - .itemId = ITEM_REVEAL_GLASS, .price = 0, .description = sRevealGlassDesc, .pocket = POCKET_KEY_ITEMS, @@ -9228,7 +8531,6 @@ const struct Item gItems[] = [ITEM_DNA_SPLICERS] = { .name = _("DNA Splicers"), - .itemId = ITEM_DNA_SPLICERS, .price = 0, .description = sDNASplicersDesc, .pocket = POCKET_KEY_ITEMS, @@ -9239,7 +8541,6 @@ const struct Item gItems[] = [ITEM_ZYGARDE_CUBE] = { .name = _("Zygarde Cube"), - .itemId = ITEM_ZYGARDE_CUBE, .price = 0, .importance = 1, .description = sZygardeCubeDesc, @@ -9251,7 +8552,6 @@ const struct Item gItems[] = [ITEM_PRISON_BOTTLE] = { .name = _("Prison Bottle"), - .itemId = ITEM_PRISON_BOTTLE, .price = 0, .description = sPrisonBottleDesc, .pocket = POCKET_KEY_ITEMS, @@ -9262,7 +8562,6 @@ const struct Item gItems[] = [ITEM_N_SOLARIZER] = { .name = _("N-Solarizer"), - .itemId = ITEM_N_SOLARIZER, .price = 0, .description = sNSolarizerDesc, .pocket = POCKET_KEY_ITEMS, @@ -9273,7 +8572,6 @@ const struct Item gItems[] = [ITEM_N_LUNARIZER] = { .name = _("N-Lunarizer"), - .itemId = ITEM_N_LUNARIZER, .price = 0, .description = sNLunarizerDesc, .pocket = POCKET_KEY_ITEMS, @@ -9284,7 +8582,6 @@ const struct Item gItems[] = [ITEM_REINS_OF_UNITY] = { .name = _("ReinsOfUnity"), - .itemId = ITEM_REINS_OF_UNITY, .price = 0, .description = sReinsOfUnityDesc, .pocket = POCKET_KEY_ITEMS, @@ -9297,7 +8594,6 @@ const struct Item gItems[] = [ITEM_MEGA_RING] = { .name = _("Mega Ring"), - .itemId = ITEM_MEGA_RING, .price = 0, .importance = 1, .description = sMegaRingDesc, @@ -9309,7 +8605,6 @@ const struct Item gItems[] = [ITEM_Z_POWER_RING] = { .name = _("Z-Power Ring"), - .itemId = ITEM_Z_POWER_RING, .price = 0, .importance = 1, .description = sZPowerRingDesc, @@ -9321,7 +8616,6 @@ const struct Item gItems[] = [ITEM_DYNAMAX_BAND] = { .name = _("Dynamax Band"), - .itemId = ITEM_DYNAMAX_BAND, .price = 0, .description = sDynamaxBandDesc, .pocket = POCKET_KEY_ITEMS, @@ -9334,7 +8628,6 @@ const struct Item gItems[] = [ITEM_BICYCLE] = { .name = _("Bicycle"), - .itemId = ITEM_BICYCLE, .price = 0, .description = sBicycleDesc, .importance = 1, @@ -9346,7 +8639,6 @@ const struct Item gItems[] = [ITEM_MACH_BIKE] = { .name = _("Mach Bike"), - .itemId = ITEM_MACH_BIKE, .price = 0, .description = sMachBikeDesc, .importance = 1, @@ -9359,7 +8651,6 @@ const struct Item gItems[] = [ITEM_ACRO_BIKE] = { .name = _("Acro Bike"), - .itemId = ITEM_ACRO_BIKE, .price = 0, .description = sAcroBikeDesc, .importance = 1, @@ -9372,7 +8663,6 @@ const struct Item gItems[] = [ITEM_OLD_ROD] = { .name = _("Old Rod"), - .itemId = ITEM_OLD_ROD, .price = 0, .description = sOldRodDesc, .importance = 1, @@ -9385,7 +8675,6 @@ const struct Item gItems[] = [ITEM_GOOD_ROD] = { .name = _("Good Rod"), - .itemId = ITEM_GOOD_ROD, .price = 0, .description = sGoodRodDesc, .importance = 1, @@ -9398,7 +8687,6 @@ const struct Item gItems[] = [ITEM_SUPER_ROD] = { .name = _("Super Rod"), - .itemId = ITEM_SUPER_ROD, .price = 0, .description = sSuperRodDesc, .importance = 1, @@ -9411,7 +8699,6 @@ const struct Item gItems[] = [ITEM_DOWSING_MACHINE] = { .name = _("Dowsing MCHN"), - .itemId = ITEM_DOWSING_MACHINE, .price = 0, .description = sDowsingMachineDesc, .importance = 1, @@ -9423,7 +8710,6 @@ const struct Item gItems[] = [ITEM_TOWN_MAP] = { .name = _("Town Map"), - .itemId = ITEM_TOWN_MAP, .price = 0, .description = sTownMapDesc, .importance = 1, @@ -9435,7 +8721,6 @@ const struct Item gItems[] = [ITEM_VS_SEEKER] = { .name = _("Vs. Seeker"), - .itemId = ITEM_VS_SEEKER, .price = 0, .description = sVsSeekerDesc, .importance = 1, @@ -9447,7 +8732,6 @@ const struct Item gItems[] = [ITEM_TM_CASE] = { .name = _("TM Case"), - .itemId = ITEM_TM_CASE, .price = 0, .description = sTMCaseDesc, .importance = 1, @@ -9459,7 +8743,6 @@ const struct Item gItems[] = [ITEM_BERRY_POUCH] = { .name = _("Berry Pouch"), - .itemId = ITEM_BERRY_POUCH, .price = 0, .description = sBerryPouchDesc, .importance = 1, @@ -9471,7 +8754,6 @@ const struct Item gItems[] = [ITEM_POKEMON_BOX_LINK] = { .name = _("{PKMN} Box Link"), - .itemId = ITEM_POKEMON_BOX_LINK, .price = 0, .description = sPokemonBoxLinkDesc, .importance = 1, @@ -9483,7 +8765,6 @@ const struct Item gItems[] = [ITEM_COIN_CASE] = { .name = _("Coin Case"), - .itemId = ITEM_COIN_CASE, .price = 0, .description = sCoinCaseDesc, .importance = 1, @@ -9495,7 +8776,6 @@ const struct Item gItems[] = [ITEM_POWDER_JAR] = { .name = _("Powder Jar"), - .itemId = ITEM_POWDER_JAR, .price = 0, .description = sPowderJarDesc, .importance = 1, @@ -9507,7 +8787,6 @@ const struct Item gItems[] = [ITEM_WAILMER_PAIL] = { .name = _("Wailmer Pail"), - .itemId = ITEM_WAILMER_PAIL, .price = 0, .description = sWailmerPailDesc, .importance = 1, @@ -9519,7 +8798,6 @@ const struct Item gItems[] = [ITEM_POKE_RADAR] = { .name = _("Poké Radar"), - .itemId = ITEM_POKE_RADAR, .price = 0, .description = sPokeRadarDesc, .importance = 1, @@ -9531,7 +8809,6 @@ const struct Item gItems[] = [ITEM_POKEBLOCK_CASE] = { .name = _("{POKEBLOCK} Case"), - .itemId = ITEM_POKEBLOCK_CASE, .price = 0, .description = sPokeblockCaseDesc, .importance = 1, @@ -9543,7 +8820,6 @@ const struct Item gItems[] = [ITEM_SOOT_SACK] = { .name = _("Soot Sack"), - .itemId = ITEM_SOOT_SACK, .price = 0, .description = sSootSackDesc, .importance = 1, @@ -9555,7 +8831,6 @@ const struct Item gItems[] = [ITEM_POKE_FLUTE] = { .name = _("Poké Flute"), - .itemId = ITEM_POKE_FLUTE, .price = 0, .description = sPokeFluteDesc, .importance = 1, @@ -9567,7 +8842,6 @@ const struct Item gItems[] = [ITEM_FAME_CHECKER] = { .name = _("Fame Checker"), - .itemId = ITEM_FAME_CHECKER, .price = 0, .description = sFameCheckerDesc, .importance = 1, @@ -9579,7 +8853,6 @@ const struct Item gItems[] = [ITEM_TEACHY_TV] = { .name = _("Teachy TV"), - .itemId = ITEM_TEACHY_TV, .price = 0, .description = sTeachyTVDesc, .importance = 1, @@ -9593,7 +8866,6 @@ const struct Item gItems[] = [ITEM_SS_TICKET] = { .name = _("S.S. Ticket"), - .itemId = ITEM_SS_TICKET, .price = 0, .description = sSSTicketDesc, .importance = 1, @@ -9605,7 +8877,6 @@ const struct Item gItems[] = [ITEM_EON_TICKET] = { .name = _("Eon Ticket"), - .itemId = ITEM_EON_TICKET, .price = 0, .description = sEonTicketDesc, .importance = 1, @@ -9618,7 +8889,6 @@ const struct Item gItems[] = [ITEM_MYSTIC_TICKET] = { .name = _("Mystic Ticket"), - .itemId = ITEM_MYSTIC_TICKET, .price = 0, .description = sMysticTicketDesc, .importance = 1, @@ -9630,7 +8900,6 @@ const struct Item gItems[] = [ITEM_AURORA_TICKET] = { .name = _("Aurora Ticket"), - .itemId = ITEM_AURORA_TICKET, .price = 0, .description = sAuroraTicketDesc, .importance = 1, @@ -9642,7 +8911,6 @@ const struct Item gItems[] = [ITEM_OLD_SEA_MAP] = { .name = _("Old Sea Map"), - .itemId = ITEM_OLD_SEA_MAP, .price = 0, .description = sOldSeaMapDesc, .importance = 1, @@ -9654,7 +8922,6 @@ const struct Item gItems[] = [ITEM_LETTER] = { .name = _("Letter"), - .itemId = ITEM_LETTER, .price = 0, .description = sLetterDesc, .importance = 2, @@ -9666,7 +8933,6 @@ const struct Item gItems[] = [ITEM_DEVON_PARTS] = { .name = _("Devon Parts"), - .itemId = ITEM_DEVON_PARTS, .price = 0, .description = sDevonPartsDesc, .importance = 2, @@ -9678,7 +8944,6 @@ const struct Item gItems[] = [ITEM_GO_GOGGLES] = { .name = _("Go-Goggles"), - .itemId = ITEM_GO_GOGGLES, .price = 0, .description = sGoGogglesDesc, .importance = 1, @@ -9690,7 +8955,6 @@ const struct Item gItems[] = [ITEM_DEVON_SCOPE] = { .name = _("Devon Scope"), - .itemId = ITEM_DEVON_SCOPE, .price = 0, .description = sDevonScopeDesc, .importance = 1, @@ -9702,7 +8966,6 @@ const struct Item gItems[] = [ITEM_BASEMENT_KEY] = { .name = _("Basement Key"), - .itemId = ITEM_BASEMENT_KEY, .price = 0, .description = sBasementKeyDesc, .importance = 1, @@ -9714,7 +8977,6 @@ const struct Item gItems[] = [ITEM_SCANNER] = { .name = _("Scanner"), - .itemId = ITEM_SCANNER, .price = 0, .description = sScannerDesc, .importance = 1, @@ -9726,7 +8988,6 @@ const struct Item gItems[] = [ITEM_STORAGE_KEY] = { .name = _("Storage Key"), - .itemId = ITEM_STORAGE_KEY, .price = 0, .description = sStorageKeyDesc, .importance = 1, @@ -9738,7 +8999,6 @@ const struct Item gItems[] = [ITEM_KEY_TO_ROOM_1] = { .name = _("Key to Room 1"), - .itemId = ITEM_KEY_TO_ROOM_1, .price = 0, .description = sKeyToRoom1Desc, .importance = 1, @@ -9750,7 +9010,6 @@ const struct Item gItems[] = [ITEM_KEY_TO_ROOM_2] = { .name = _("Key to Room 2"), - .itemId = ITEM_KEY_TO_ROOM_2, .price = 0, .description = sKeyToRoom2Desc, .importance = 1, @@ -9762,7 +9021,6 @@ const struct Item gItems[] = [ITEM_KEY_TO_ROOM_4] = { .name = _("Key to Room 4"), - .itemId = ITEM_KEY_TO_ROOM_4, .price = 0, .description = sKeyToRoom4Desc, .importance = 1, @@ -9774,7 +9032,6 @@ const struct Item gItems[] = [ITEM_KEY_TO_ROOM_6] = { .name = _("Key to Room 6"), - .itemId = ITEM_KEY_TO_ROOM_6, .price = 0, .description = sKeyToRoom6Desc, .importance = 1, @@ -9786,7 +9043,6 @@ const struct Item gItems[] = [ITEM_METEORITE] = { .name = _("Meteorite"), - .itemId = ITEM_METEORITE, .price = 0, .description = sMeteoriteDesc, .importance = 1, @@ -9798,7 +9054,6 @@ const struct Item gItems[] = [ITEM_MAGMA_EMBLEM] = { .name = _("Magma Emblem"), - .itemId = ITEM_MAGMA_EMBLEM, .price = 0, .description = sMagmaEmblemDesc, .importance = 1, @@ -9810,7 +9065,6 @@ const struct Item gItems[] = [ITEM_CONTEST_PASS] = { .name = _("Contest Pass"), - .itemId = ITEM_CONTEST_PASS, .price = 0, .description = sContestPassDesc, .importance = 1, @@ -9822,7 +9076,6 @@ const struct Item gItems[] = [ITEM_OAKS_PARCEL] = { .name = _("Oak's Parcel"), - .itemId = ITEM_OAKS_PARCEL, .price = 0, .description = sOaksParcelDesc, .importance = 2, @@ -9834,7 +9087,6 @@ const struct Item gItems[] = [ITEM_SECRET_KEY] = { .name = _("Secret Key"), - .itemId = ITEM_SECRET_KEY, .price = 0, .description = sSecretKeyDesc, .importance = 1, @@ -9846,7 +9098,6 @@ const struct Item gItems[] = [ITEM_BIKE_VOUCHER] = { .name = _("Bike Voucher"), - .itemId = ITEM_BIKE_VOUCHER, .price = 0, .description = sBikeVoucherDesc, .importance = 1, @@ -9858,7 +9109,6 @@ const struct Item gItems[] = [ITEM_GOLD_TEETH] = { .name = _("Gold Teeth"), - .itemId = ITEM_GOLD_TEETH, .price = 0, .description = sGoldTeethDesc, .importance = 1, @@ -9870,7 +9120,6 @@ const struct Item gItems[] = [ITEM_CARD_KEY] = { .name = _("Card Key"), - .itemId = ITEM_CARD_KEY, .price = 0, .description = sCardKeyDesc, .importance = 1, @@ -9882,7 +9131,6 @@ const struct Item gItems[] = [ITEM_LIFT_KEY] = { .name = _("Lift Key"), - .itemId = ITEM_LIFT_KEY, .price = 0, .description = sLiftKeyDesc, .importance = 1, @@ -9894,7 +9142,6 @@ const struct Item gItems[] = [ITEM_SILPH_SCOPE] = { .name = _("Silph Scope"), - .itemId = ITEM_SILPH_SCOPE, .price = 0, .description = sSilphScopeDesc, .importance = 1, @@ -9906,7 +9153,6 @@ const struct Item gItems[] = [ITEM_TRI_PASS] = { .name = _("Tri-Pass"), - .itemId = ITEM_TRI_PASS, .price = 0, .description = sTriPassDesc, .importance = 1, @@ -9918,7 +9164,6 @@ const struct Item gItems[] = [ITEM_RAINBOW_PASS] = { .name = _("Rainbow Pass"), - .itemId = ITEM_RAINBOW_PASS, .price = 0, .description = sRainbowPassDesc, .importance = 1, @@ -9930,7 +9175,6 @@ const struct Item gItems[] = [ITEM_TEA] = { .name = _("Tea"), - .itemId = ITEM_TEA, .price = 0, .description = sTeaDesc, .importance = 1, @@ -9942,7 +9186,6 @@ const struct Item gItems[] = [ITEM_RUBY] = { .name = _("Ruby"), - .itemId = ITEM_RUBY, .price = 0, .description = sRubyDesc, .importance = 1, @@ -9954,7 +9197,6 @@ const struct Item gItems[] = [ITEM_SAPPHIRE] = { .name = _("Sapphire"), - .itemId = ITEM_SAPPHIRE, .price = 0, .description = sSapphireDesc, .importance = 1, @@ -9966,7 +9208,6 @@ const struct Item gItems[] = [ITEM_ABILITY_SHIELD] = { .name = _("AbilityShield"), - .itemId = ITEM_ABILITY_SHIELD, .price = 20000, .holdEffect = HOLD_EFFECT_ABILITY_SHIELD, .description = sAbilityShieldDesc, @@ -9979,7 +9220,6 @@ const struct Item gItems[] = [ITEM_CLEAR_AMULET] = { .name = _("Clear Amulet"), - .itemId = ITEM_CLEAR_AMULET, .price = 30000, .holdEffect = HOLD_EFFECT_CLEAR_AMULET, .description = sClearAmuletDesc, @@ -9992,7 +9232,6 @@ const struct Item gItems[] = [ITEM_PUNCHING_GLOVE] = { .name = _("PunchingGlove"), - .itemId = ITEM_PUNCHING_GLOVE, .price = 15000, .holdEffect = HOLD_EFFECT_PUNCHING_GLOVE, .description = sPunchingGloveDesc, @@ -10005,7 +9244,6 @@ const struct Item gItems[] = [ITEM_COVERT_CLOAK] = { .name = _("Covert Cloak"), - .itemId = ITEM_COVERT_CLOAK, .price = 20000, .holdEffect = HOLD_EFFECT_COVERT_CLOAK, .description = sCovertCloakDesc, @@ -10018,7 +9256,6 @@ const struct Item gItems[] = [ITEM_LOADED_DICE] = { .name = _("Loaded Dice"), - .itemId = ITEM_LOADED_DICE, .price = 20000, .holdEffect = HOLD_EFFECT_LOADED_DICE, .description = sLoadedDiceDesc, @@ -10031,7 +9268,6 @@ const struct Item gItems[] = [ITEM_AUSPICIOUS_ARMOR] = { .name = _("AuspciousArmr"), - .itemId = ITEM_AUSPICIOUS_ARMOR, .price = 3000, .description = sAuspiciousArmorDesc, .pocket = POCKET_ITEMS, @@ -10043,7 +9279,6 @@ const struct Item gItems[] = [ITEM_BOOSTER_ENERGY] = { .name = _("BoosterEnergy"), - .itemId = ITEM_BOOSTER_ENERGY, .price = 0, .holdEffect = HOLD_EFFECT_BOOSTER_ENERGY, .description = sBoosterEnergyDesc, @@ -10056,7 +9291,6 @@ const struct Item gItems[] = [ITEM_BIG_BAMBOO_SHOOT] = { .name = _("BigBmbooShoot"), - .itemId = ITEM_BIG_BAMBOO_SHOOT, .price = 3000, .description = sBigBambooShootDesc, .pocket = POCKET_ITEMS, @@ -10068,7 +9302,6 @@ const struct Item gItems[] = [ITEM_GIMMIGHOUL_COIN] = { .name = _("GimighoulCoin"), - .itemId = ITEM_GIMMIGHOUL_COIN, .price = 400, .description = sGimmighoulCoinDesc, .pocket = POCKET_ITEMS, @@ -10079,7 +9312,6 @@ const struct Item gItems[] = [ITEM_LEADERS_CREST] = { .name = _("Leader'sCrest"), - .itemId = ITEM_LEADERS_CREST, .price = 3000, .description = sLeadersCrestDesc, .pocket = POCKET_ITEMS, @@ -10090,7 +9322,6 @@ const struct Item gItems[] = [ITEM_MALICIOUS_ARMOR] = { .name = _("MaliciousArmr"), - .itemId = ITEM_MALICIOUS_ARMOR, .price = 3000, .description = sMaliciousArmorDesc, .pocket = POCKET_ITEMS, @@ -10102,7 +9333,6 @@ const struct Item gItems[] = [ITEM_MIRROR_HERB] = { .name = _("Mirror Herb"), - .itemId = ITEM_MIRROR_HERB, .price = 30000, .holdEffect = HOLD_EFFECT_MIRROR_HERB, .description = sMirrorHerbDesc, @@ -10115,7 +9345,6 @@ const struct Item gItems[] = [ITEM_SCROLL_OF_DARKNESS] = { .name = _("ScrllOfDrknss"), - .itemId = ITEM_SCROLL_OF_DARKNESS, .price = 0, .description = sScrollOfDarknessDesc, .importance = 1, @@ -10127,7 +9356,6 @@ const struct Item gItems[] = [ITEM_SCROLL_OF_WATERS] = { .name = _("ScrollOfWatrs"), - .itemId = ITEM_SCROLL_OF_WATERS, .price = 0, .description = sScrollOfWatersDesc, .importance = 1, @@ -10139,7 +9367,6 @@ const struct Item gItems[] = [ITEM_TERA_ORB] = { .name = _("Tera Orb"), - .itemId = ITEM_TERA_ORB, .price = 0, .description = sTeraOrbDesc, .importance = 1, @@ -10151,7 +9378,6 @@ const struct Item gItems[] = [ITEM_TINY_BAMBOO_SHOOT] = { .name = _("TinyBmbooShot"), - .itemId = ITEM_TINY_BAMBOO_SHOOT, .price = 750, .description = sTinyBambooShootDesc, .pocket = POCKET_ITEMS, @@ -10163,7 +9389,6 @@ const struct Item gItems[] = [ITEM_BUG_TERA_SHARD] = { .name = _("Bug TeraShard"), - .itemId = ITEM_BUG_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10174,7 +9399,6 @@ const struct Item gItems[] = [ITEM_DARK_TERA_SHARD] = { .name = _("DarkTeraShard"), - .itemId = ITEM_DARK_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10185,7 +9409,6 @@ const struct Item gItems[] = [ITEM_DRAGON_TERA_SHARD] = { .name = _("DragnTeraShrd"), - .itemId = ITEM_DRAGON_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10196,7 +9419,6 @@ const struct Item gItems[] = [ITEM_ELECTRIC_TERA_SHARD] = { .name = _("EltrcTeraShrd"), - .itemId = ITEM_ELECTRIC_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10207,7 +9429,6 @@ const struct Item gItems[] = [ITEM_FAIRY_TERA_SHARD] = { .name = _("FairyTeraShrd"), - .itemId = ITEM_FAIRY_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10218,7 +9439,6 @@ const struct Item gItems[] = [ITEM_FIGHTING_TERA_SHARD] = { .name = _("FghtngTerShrd"), - .itemId = ITEM_FIGHTING_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10229,7 +9449,6 @@ const struct Item gItems[] = [ITEM_FIRE_TERA_SHARD] = { .name = _("FireTeraShard"), - .itemId = ITEM_FIRE_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10240,7 +9459,6 @@ const struct Item gItems[] = [ITEM_FLYING_TERA_SHARD] = { .name = _("FlyngTeraShrd"), - .itemId = ITEM_FLYING_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10251,7 +9469,6 @@ const struct Item gItems[] = [ITEM_GHOST_TERA_SHARD] = { .name = _("GhostTeraShrd"), - .itemId = ITEM_GHOST_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10262,7 +9479,6 @@ const struct Item gItems[] = [ITEM_GRASS_TERA_SHARD] = { .name = _("GrassTeraShrd"), - .itemId = ITEM_GRASS_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10273,7 +9489,6 @@ const struct Item gItems[] = [ITEM_GROUND_TERA_SHARD] = { .name = _("GrondTeraShrd"), - .itemId = ITEM_GROUND_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10284,7 +9499,6 @@ const struct Item gItems[] = [ITEM_ICE_TERA_SHARD] = { .name = _("Ice TeraShard"), - .itemId = ITEM_ICE_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10295,7 +9509,6 @@ const struct Item gItems[] = [ITEM_NORMAL_TERA_SHARD] = { .name = _("NormlTeraShrd"), - .itemId = ITEM_NORMAL_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10306,7 +9519,6 @@ const struct Item gItems[] = [ITEM_POISON_TERA_SHARD] = { .name = _("PoisnTeraShrd"), - .itemId = ITEM_POISON_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10317,7 +9529,6 @@ const struct Item gItems[] = [ITEM_PSYCHIC_TERA_SHARD] = { .name = _("PschcTeraShrd"), - .itemId = ITEM_PSYCHIC_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10328,7 +9539,6 @@ const struct Item gItems[] = [ITEM_ROCK_TERA_SHARD] = { .name = _("RockTeraShard"), - .itemId = ITEM_ROCK_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10339,7 +9549,6 @@ const struct Item gItems[] = [ITEM_STEEL_TERA_SHARD] = { .name = _("SteelTeraShrd"), - .itemId = ITEM_STEEL_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10350,7 +9559,6 @@ const struct Item gItems[] = [ITEM_WATER_TERA_SHARD] = { .name = _("WaterTeraShrd"), - .itemId = ITEM_WATER_TERA_SHARD, .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -10361,7 +9569,6 @@ const struct Item gItems[] = [ITEM_ADAMANT_CRYSTAL] = { .name = _("AdamantCrystl"), - .itemId = ITEM_ADAMANT_CRYSTAL, .price = 0, .description = sAdamantCrystalDesc, .pocket = POCKET_ITEMS, @@ -10373,7 +9580,6 @@ const struct Item gItems[] = [ITEM_GRISEOUS_CORE] = { .name = _("Griseous Core"), - .itemId = ITEM_GRISEOUS_CORE, .price = 0, .description = sGriseousCoreDesc, .pocket = POCKET_ITEMS, @@ -10385,7 +9591,6 @@ const struct Item gItems[] = [ITEM_LUSTROUS_GLOBE] = { .name = _("LustrousGlobe"), - .itemId = ITEM_LUSTROUS_GLOBE, .price = 0, .description = sLustrousGlobeDesc, .pocket = POCKET_ITEMS, @@ -10397,7 +9602,6 @@ const struct Item gItems[] = [ITEM_BLACK_AUGURITE] = { .name = _("BlackAugurite"), - .itemId = ITEM_BLACK_AUGURITE, .price = 8000, .description = sBlackAuguriteDesc, .pocket = POCKET_ITEMS, @@ -10409,7 +9613,6 @@ const struct Item gItems[] = [ITEM_LINKING_CORD] = { .name = _("Linking Cord"), - .itemId = ITEM_LINKING_CORD, .price = 8000, .description = sLinkingCordDesc, .pocket = POCKET_ITEMS, @@ -10421,7 +9624,6 @@ const struct Item gItems[] = [ITEM_PEAT_BLOCK] = { .name = _("Peat Block"), - .itemId = ITEM_PEAT_BLOCK, .price = 10000, .description = sPeatBlockDesc, .pocket = POCKET_ITEMS, @@ -10433,7 +9635,6 @@ const struct Item gItems[] = [ITEM_BERSERK_GENE] = { .name = _("Berserk Gene"), - .itemId = ITEM_BERSERK_GENE, .price = 20, .holdEffect = HOLD_EFFECT_BERSERK_GENE, .description = sBerserkGene, From 3298312fafefb4a123c24a602c2ba752b90ce6e2 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Sun, 10 Sep 2023 21:29:13 -0400 Subject: [PATCH 220/256] add script context to callnative functions --- src/debug.c | 6 +++--- src/item_use.c | 4 ++-- src/scrcmd.c | 4 ++-- src/script_menu.c | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/debug.c b/src/debug.c index a46122baba..a455dcc04a 100644 --- a/src/debug.c +++ b/src/debug.c @@ -1807,7 +1807,7 @@ static void DebugAction_Util_PoisonMons(u8 taskId) PlaySE(SE_FIELD_POISON); } -void CheckSaveBlock1Size(void) +void CheckSaveBlock1Size(struct ScriptContext *ctx) { u32 currSb1Size = sizeof(struct SaveBlock1); u32 maxSb1Size = SECTOR_DATA_SIZE * (SECTOR_ID_SAVEBLOCK1_END - SECTOR_ID_SAVEBLOCK1_START + 1); @@ -1815,7 +1815,7 @@ void CheckSaveBlock1Size(void) ConvertIntToDecimalStringN(gStringVar2, maxSb1Size, STR_CONV_MODE_LEFT_ALIGN, 6); } -void CheckSaveBlock2Size(void) +void CheckSaveBlock2Size(struct ScriptContext *ctx) { u32 currSb2Size = (sizeof(struct SaveBlock2)); u32 maxSb2Size = SECTOR_DATA_SIZE; @@ -1823,7 +1823,7 @@ void CheckSaveBlock2Size(void) ConvertIntToDecimalStringN(gStringVar2, maxSb2Size, STR_CONV_MODE_LEFT_ALIGN, 6); } -void CheckPokemonStorageSize(void) +void CheckPokemonStorageSize(struct ScriptContext *ctx) { u32 currPkmnStorageSize = sizeof(struct PokemonStorage); u32 maxPkmnStorageSize = SECTOR_DATA_SIZE * (SECTOR_ID_PKMN_STORAGE_END - SECTOR_ID_PKMN_STORAGE_START + 1); diff --git a/src/item_use.c b/src/item_use.c index cdd186edfe..b3b5c066a4 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -914,7 +914,7 @@ static void Task_UseRepel(u8 taskId) DisplayItemMessageInBattlePyramid(taskId, gStringVar4, Task_CloseBattlePyramidBagMessage); } } -void HandleUseExpiredRepel(void) +void HandleUseExpiredRepel(struct ScriptContext *ctx) { #if VAR_LAST_REPEL_LURE_USED != 0 VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED))); @@ -959,7 +959,7 @@ static void Task_UseLure(u8 taskId) } } -void HandleUseExpiredLure(void) +void HandleUseExpiredLure(struct ScriptContext *ctx) { #if VAR_LAST_REPEL_LURE_USED != 0 VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(VarGet(VAR_LAST_REPEL_LURE_USED)) | REPEL_LURE_MASK); diff --git a/src/scrcmd.c b/src/scrcmd.c index bbdcf4c7b9..51db8ebc6a 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -51,7 +51,7 @@ #include "constants/event_objects.h" typedef u16 (*SpecialFunc)(void); -typedef void (*NativeFunc)(void); +typedef void (*NativeFunc)(struct ScriptContext *ctx); EWRAM_DATA const u8 *gRamScriptRetAddr = NULL; static EWRAM_DATA u32 sAddressOffset = 0; // For relative addressing in vgoto etc., used by saved scripts (e.g. Mystery Event) @@ -136,7 +136,7 @@ bool8 ScrCmd_callnative(struct ScriptContext *ctx) { NativeFunc func = (NativeFunc)ScriptReadWord(ctx); - func(); + func(ctx); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index df7a12f6d8..842a1db797 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -118,7 +118,7 @@ static void DrawMultichoiceMenu(u8 left, u8 top, u8 multichoiceId, bool8 ignoreB } #if I_REPEL_LURE_MENU == TRUE -void TryDrawRepelMenu(void) +void TryDrawRepelMenu(struct ScriptContext *ctx) { static const u16 repelItems[] = {ITEM_REPEL, ITEM_SUPER_REPEL, ITEM_MAX_REPEL}; struct MenuAction menuItems[ARRAY_COUNT(repelItems) + 1] = {NULL}; @@ -144,7 +144,7 @@ void TryDrawRepelMenu(void) gSpecialVar_Result = (count > 1); } -void HandleRepelMenuChoice(void) +void HandleRepelMenuChoice(struct ScriptContext *ctx) { gSpecialVar_0x8004 = VarGet(VAR_0x8004 + gSpecialVar_Result); // Get item Id; VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_0x8004)); @@ -153,7 +153,7 @@ void HandleRepelMenuChoice(void) #endif } -void TryDrawLureMenu(void) +void TryDrawLureMenu(struct ScriptContext *ctx) { static const u16 lureItems[] = {ITEM_LURE, ITEM_SUPER_LURE, ITEM_MAX_LURE}; struct MenuAction menuItems[ARRAY_COUNT(lureItems) + 1] = {NULL}; @@ -180,7 +180,7 @@ void TryDrawLureMenu(void) gSpecialVar_Result = (count > 1); } -void HandleLureMenuChoice(void) +void HandleLureMenuChoice(struct ScriptContext *ctx) { gSpecialVar_0x8004 = VarGet(VAR_0x8004 + gSpecialVar_Result); // Get item Id; VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_0x8004) | REPEL_LURE_MASK); From bfcbd37d781f6260e16dbb71fb1e6b3304ddff35 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 11 Sep 2023 02:43:39 -0300 Subject: [PATCH 221/256] Updated Big Nugget's Fling power to Gen 8+ --- src/data/items.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/items.h b/src/data/items.h index 3154671cfb..30648bf5a8 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1781,7 +1781,7 @@ const struct Item gItems[] = .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, .fieldUseFunc = ItemUseOutOfBattle_CannotUse, - .flingPower = 30, + .flingPower = 130, }, [ITEM_TINY_MUSHROOM] = From bd48cca8a22596136f0f476057616da5168e9409 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 12 Sep 2023 10:35:05 +0200 Subject: [PATCH 222/256] ai delay timer --- include/battle.h | 2 ++ include/battle_ai_main.h | 2 +- include/config/debug.h | 1 + src/battle_ai_main.c | 6 ++++-- src/battle_controller_player.c | 13 +++++++++++++ src/battle_main.c | 6 +++--- 6 files changed, 24 insertions(+), 6 deletions(-) diff --git a/include/battle.h b/include/battle.h index f65c816ba0..eb878b2a56 100644 --- a/include/battle.h +++ b/include/battle.h @@ -679,6 +679,8 @@ struct BattleStruct bool8 trainerSlideMegaEvolutionMsgDone; bool8 trainerSlideZMoveMsgDone; bool8 trainerSlideBeforeFirstTurnMsgDone; + u32 aiDelayTimer; // Counts number of frames AI takes to choose an action. + u32 aiDelayFrames; // Number of frames it took to choose an action. }; // The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index 6e35c04a28..f8eb2b77ba 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -27,7 +27,7 @@ u8 BattleAI_ChooseMoveOrAction(void); void Ai_InitPartyStruct(void); void Ai_UpdateSwitchInData(u32 battler); void Ai_UpdateFaintData(u32 battler); -void GetAiLogicData(void); +void SetAiLogicDataForTurn(void); extern u8 sBattler_AI; diff --git a/include/config/debug.h b/include/config/debug.h index 43d7438018..eea676b307 100644 --- a/include/config/debug.h +++ b/include/config/debug.h @@ -9,6 +9,7 @@ // Battle Debug Menu #define DEBUG_BATTLE_MENU TRUE // If set to TRUE, enables a debug menu to use in battles by pressing the Select button. +#define DEBUG_AI_DELAY_TIMER FALSE // If set to TRUE, displays the number of frames it takes for the AI to choose a move. Replaces the "What will PKMN do" text. Useful for devs or anyone who modifies the AI code and wants to see if it doesn't take too long to run. // Pokémon Debug #define DEBUG_POKEMON_MENU TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 069312f684..a6cab5a9be 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1,4 +1,5 @@ #include "global.h" +#include "main.h" #include "malloc.h" #include "battle.h" #include "battle_anim.h" @@ -335,7 +336,7 @@ void Ai_UpdateFaintData(u32 battler) aiMon->isFainted = TRUE; } -static void SetBattlerAiData(u8 battler) +static void SetBattlerAiData(u32 battler) { AI_DATA->abilities[battler] = AI_GetAbility(battler); AI_DATA->items[battler] = gBattleMons[battler].item; @@ -346,12 +347,13 @@ static void SetBattlerAiData(u8 battler) AI_DATA->moveLimitations[battler] = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); } -void GetAiLogicData(void) +void SetAiLogicDataForTurn(void) { u32 battlerAtk, battlerDef, i, move; u8 effectiveness; s32 dmg; + gBattleStruct->aiDelayTimer = gMain.vblankCounter1; memset(AI_DATA, 0, sizeof(struct AiLogicData)); if (!(gBattleTypeFlags & BATTLE_TYPE_HAS_AI) && !IsWildMonSmart()) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 79de66952c..d20fbbb514 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1889,6 +1889,19 @@ static void HandleChooseActionAfterDma3(u32 battler) { gBattle_BG0_X = 0; gBattle_BG0_Y = DISPLAY_HEIGHT; + if (gBattleStruct->aiDelayTimer != 0) + { + gBattleStruct->aiDelayFrames = gMain.vblankCounter1 - gBattleStruct->aiDelayTimer; + gBattleStruct->aiDelayTimer = 0; + #if DEBUG_AI_DELAY_TIMER + { + static const u8 sText_AIDelay[] = _("AI delay:\n{B_BUFF1} frames"); + PREPARE_HWORD_NUMBER_BUFFER(gBattleTextBuff1, 3, gBattleStruct->aiDelayFrames); + BattleStringExpandPlaceholdersToDisplayedString(sText_AIDelay); + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); + } + #endif // DEBUG_AI_DELAY_TIMER + } gBattlerControllerFuncs[battler] = HandleInputChooseAction; } } diff --git a/src/battle_main.c b/src/battle_main.c index db550e58f3..7f985f16e2 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3724,7 +3724,7 @@ static void DoBattleIntro(void) gBattleStruct->switchInAbilitiesCounter = 0; gBattleStruct->switchInItemsCounter = 0; gBattleStruct->overworldWeatherDone = FALSE; - GetAiLogicData(); // get assumed abilities, hold effects, etc of all battlers + SetAiLogicDataForTurn(); // get assumed abilities, hold effects, etc of all battlers Ai_InitPartyStruct(); // Save mons party counts, and first 2/4 mons on the battlefield. gBattleMainFunc = TryDoEventsBeforeFirstTurn; } @@ -3857,7 +3857,7 @@ static void TryDoEventsBeforeFirstTurn(void) gRandomTurnNumber = Random(); - GetAiLogicData(); // get assumed abilities, hold effects, etc of all battlers + SetAiLogicDataForTurn(); // get assumed abilities, hold effects, etc of all battlers if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { @@ -3949,7 +3949,7 @@ void BattleTurnPassed(void) *(&gBattleStruct->absentBattlerFlags) = gAbsentBattlerFlags; BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG); - GetAiLogicData(); // get assumed abilities, hold effects, etc of all battlers + SetAiLogicDataForTurn(); // get assumed abilities, hold effects, etc of all battlers gBattleMainFunc = HandleTurnActionSelectionState; gRandomTurnNumber = Random(); From b89722500f776781c30c8b18fbc81986d5089a68 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 12 Sep 2023 13:09:56 -0300 Subject: [PATCH 223/256] Fixed Mr. Mime capitalization --- include/graphics.h | 14 +++++++------- src/anim_mon_front_pics.c | 2 +- src/data/graphics/pokemon.h | 12 ++++++------ src/data/pokemon/level_up_learnset_pointers.h | 2 +- src/data/pokemon/level_up_learnsets.h | 2 +- src/data/pokemon/pokedex_entries.h | 2 +- src/data/pokemon/pokedex_text.h | 2 +- src/data/pokemon_graphics/back_pic_table.h | 2 +- src/data/pokemon_graphics/footprint_table.h | 2 +- src/data/pokemon_graphics/front_pic_table.h | 2 +- src/data/pokemon_graphics/palette_table.h | 2 +- src/data/pokemon_graphics/shiny_palette_table.h | 2 +- src/data/pokemon_graphics/still_front_pic_table.h | 2 +- src/pokemon_icon.c | 2 +- 14 files changed, 25 insertions(+), 25 deletions(-) diff --git a/include/graphics.h b/include/graphics.h index 9fab084f27..5b13ab562f 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -881,13 +881,13 @@ extern const u32 gMonShinyPalette_Starmie[]; extern const u32 gMonStillFrontPic_Starmie[]; extern const u8 gMonIcon_Starmie[]; extern const u8 gMonFootprint_Starmie[]; -extern const u32 gMonFrontPic_Mrmime[]; -extern const u32 gMonPalette_Mrmime[]; -extern const u32 gMonBackPic_Mrmime[]; -extern const u32 gMonShinyPalette_Mrmime[]; -extern const u32 gMonStillFrontPic_Mrmime[]; -extern const u8 gMonIcon_Mrmime[]; -extern const u8 gMonFootprint_Mrmime[]; +extern const u32 gMonFrontPic_MrMime[]; +extern const u32 gMonPalette_MrMime[]; +extern const u32 gMonBackPic_MrMime[]; +extern const u32 gMonShinyPalette_MrMime[]; +extern const u32 gMonStillFrontPic_MrMime[]; +extern const u8 gMonIcon_MrMime[]; +extern const u8 gMonFootprint_MrMime[]; extern const u32 gMonFrontPic_Scyther[]; extern const u32 gMonPalette_Scyther[]; extern const u32 gMonBackPic_Scyther[]; diff --git a/src/anim_mon_front_pics.c b/src/anim_mon_front_pics.c index e36cf3492d..de70146078 100644 --- a/src/anim_mon_front_pics.c +++ b/src/anim_mon_front_pics.c @@ -123,7 +123,7 @@ const u32 gMonFrontPic_Goldeen[] = INCBIN_U32("graphics/pokemon/goldeen/anim_fro const u32 gMonFrontPic_Seaking[] = INCBIN_U32("graphics/pokemon/seaking/anim_front.4bpp.lz"); const u32 gMonFrontPic_Staryu[] = INCBIN_U32("graphics/pokemon/staryu/anim_front.4bpp.lz"); const u32 gMonFrontPic_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/anim_front.4bpp.lz"); -const u32 gMonFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); +const u32 gMonFrontPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/anim_front.4bpp.lz"); const u32 gMonFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/anim_front.4bpp.lz"); const u32 gMonFrontPic_Jynx[] = INCBIN_U32("graphics/pokemon/jynx/anim_front.4bpp.lz"); const u32 gMonFrontPic_Electabuzz[] = INCBIN_U32("graphics/pokemon/electabuzz/anim_front.4bpp.lz"); diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index f69fafec84..fdd9fd87cc 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -845,12 +845,12 @@ const u32 gMonShinyPalette_Starmie[] = INCBIN_U32("graphics/pokemon/starmie/shin const u8 gMonIcon_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/icon.4bpp"); const u8 gMonFootprint_Starmie[] = INCBIN_U8("graphics/pokemon/starmie/footprint.1bpp"); -const u32 gMonStillFrontPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/front.4bpp.lz"); -const u32 gMonPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz"); -const u32 gMonBackPic_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); -const u32 gMonShinyPalette_Mrmime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz"); -const u8 gMonIcon_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp"); -const u8 gMonFootprint_Mrmime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp"); +const u32 gMonStillFrontPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/front.4bpp.lz"); +const u32 gMonPalette_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/normal.gbapal.lz"); +const u32 gMonBackPic_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/back.4bpp.lz"); +const u32 gMonShinyPalette_MrMime[] = INCBIN_U32("graphics/pokemon/mr_mime/shiny.gbapal.lz"); +const u8 gMonIcon_MrMime[] = INCBIN_U8("graphics/pokemon/mr_mime/icon.4bpp"); +const u8 gMonFootprint_MrMime[] = INCBIN_U8("graphics/pokemon/mr_mime/footprint.1bpp"); const u32 gMonStillFrontPic_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/front.4bpp.lz"); const u32 gMonPalette_Scyther[] = INCBIN_U32("graphics/pokemon/scyther/normal.gbapal.lz"); diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 5ac7b3bd74..661458ce38 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -122,7 +122,7 @@ const u16 *const gLevelUpLearnsets[NUM_SPECIES] = [SPECIES_SEAKING] = sSeakingLevelUpLearnset, [SPECIES_STARYU] = sStaryuLevelUpLearnset, [SPECIES_STARMIE] = sStarmieLevelUpLearnset, - [SPECIES_MR_MIME] = sMrmimeLevelUpLearnset, + [SPECIES_MR_MIME] = sMrMimeLevelUpLearnset, [SPECIES_SCYTHER] = sScytherLevelUpLearnset, [SPECIES_JYNX] = sJynxLevelUpLearnset, [SPECIES_ELECTABUZZ] = sElectabuzzLevelUpLearnset, diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index c78b9ef0a7..212b969a70 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -1681,7 +1681,7 @@ static const u16 sStarmieLevelUpLearnset[] = { LEVEL_UP_END }; -static const u16 sMrmimeLevelUpLearnset[] = { +static const u16 sMrMimeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRIER), LEVEL_UP_MOVE( 5, MOVE_CONFUSION), LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), diff --git a/src/data/pokemon/pokedex_entries.h b/src/data/pokemon/pokedex_entries.h index 007c73248e..8a15a18567 100644 --- a/src/data/pokemon/pokedex_entries.h +++ b/src/data/pokemon/pokedex_entries.h @@ -1469,7 +1469,7 @@ const struct PokedexEntry gPokedexEntries[] = .categoryName = _("BARRIER"), .height = 13, .weight = 545, - .description = gMrmimePokedexText, + .description = gMrMimePokedexText, .pokemonScale = 258, .pokemonOffset = 6, .trainerScale = 256, diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h index 0daf7fc86c..ec4a831f86 100644 --- a/src/data/pokemon/pokedex_text.h +++ b/src/data/pokemon/pokedex_text.h @@ -730,7 +730,7 @@ const u8 gStarmiePokedexText[] = _( "reflections of stars that twinkled on\n" "gentle waves at night."); -const u8 gMrmimePokedexText[] = _( +const u8 gMrMimePokedexText[] = _( "A MR. MIME is a master of pantomime. It can\n" "convince others that something unseeable\n" "actually exists. Once believed, the\n" diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 9a98927aac..1a51f9ccdd 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -122,7 +122,7 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = SPECIES_SPRITE(SEAKING, gMonBackPic_Seaking), SPECIES_SPRITE(STARYU, gMonBackPic_Staryu), SPECIES_SPRITE(STARMIE, gMonBackPic_Starmie), - SPECIES_SPRITE(MR_MIME, gMonBackPic_Mrmime), + SPECIES_SPRITE(MR_MIME, gMonBackPic_MrMime), SPECIES_SPRITE(SCYTHER, gMonBackPic_Scyther), SPECIES_SPRITE(JYNX, gMonBackPic_Jynx), SPECIES_SPRITE(ELECTABUZZ, gMonBackPic_Electabuzz), diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 86ca067901..d63e33e5b7 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -122,7 +122,7 @@ const u8 *const gMonFootprintTable[] = [SPECIES_SEAKING] = gMonFootprint_Seaking, [SPECIES_STARYU] = gMonFootprint_Staryu, [SPECIES_STARMIE] = gMonFootprint_Starmie, - [SPECIES_MR_MIME] = gMonFootprint_Mrmime, + [SPECIES_MR_MIME] = gMonFootprint_MrMime, [SPECIES_SCYTHER] = gMonFootprint_Scyther, [SPECIES_JYNX] = gMonFootprint_Jynx, [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz, diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 82af860d30..acb0bba252 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -122,7 +122,7 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = SPECIES_SPRITE(SEAKING, gMonFrontPic_Seaking), SPECIES_SPRITE(STARYU, gMonFrontPic_Staryu), SPECIES_SPRITE(STARMIE, gMonFrontPic_Starmie), - SPECIES_SPRITE(MR_MIME, gMonFrontPic_Mrmime), + SPECIES_SPRITE(MR_MIME, gMonFrontPic_MrMime), SPECIES_SPRITE(SCYTHER, gMonFrontPic_Scyther), SPECIES_SPRITE(JYNX, gMonFrontPic_Jynx), SPECIES_SPRITE(ELECTABUZZ, gMonFrontPic_Electabuzz), diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index 35edcc76c1..8bdfd2dbd9 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -122,7 +122,7 @@ const struct CompressedSpritePalette gMonPaletteTable[] = SPECIES_PAL(SEAKING, gMonPalette_Seaking), SPECIES_PAL(STARYU, gMonPalette_Staryu), SPECIES_PAL(STARMIE, gMonPalette_Starmie), - SPECIES_PAL(MR_MIME, gMonPalette_Mrmime), + SPECIES_PAL(MR_MIME, gMonPalette_MrMime), SPECIES_PAL(SCYTHER, gMonPalette_Scyther), SPECIES_PAL(JYNX, gMonPalette_Jynx), SPECIES_PAL(ELECTABUZZ, gMonPalette_Electabuzz), diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index 8b1cfcaaca..1db14d864a 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -122,7 +122,7 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = 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(MR_MIME, gMonShinyPalette_MrMime), SPECIES_SHINY_PAL(SCYTHER, gMonShinyPalette_Scyther), SPECIES_SHINY_PAL(JYNX, gMonShinyPalette_Jynx), SPECIES_SHINY_PAL(ELECTABUZZ, gMonShinyPalette_Electabuzz), diff --git a/src/data/pokemon_graphics/still_front_pic_table.h b/src/data/pokemon_graphics/still_front_pic_table.h index 985a3aa2fd..9a77855ab4 100644 --- a/src/data/pokemon_graphics/still_front_pic_table.h +++ b/src/data/pokemon_graphics/still_front_pic_table.h @@ -122,7 +122,7 @@ const struct CompressedSpriteSheet gMonStillFrontPicTable[] = SPECIES_SPRITE(SEAKING, gMonStillFrontPic_Seaking), SPECIES_SPRITE(STARYU, gMonStillFrontPic_Staryu), SPECIES_SPRITE(STARMIE, gMonStillFrontPic_Starmie), - SPECIES_SPRITE(MR_MIME, gMonStillFrontPic_Mrmime), + SPECIES_SPRITE(MR_MIME, gMonStillFrontPic_MrMime), SPECIES_SPRITE(SCYTHER, gMonStillFrontPic_Scyther), SPECIES_SPRITE(JYNX, gMonStillFrontPic_Jynx), SPECIES_SPRITE(ELECTABUZZ, gMonStillFrontPic_Electabuzz), diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 8e37018cba..e659eebe21 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -146,7 +146,7 @@ const u8 *const gMonIconTable[] = [SPECIES_SEAKING] = gMonIcon_Seaking, [SPECIES_STARYU] = gMonIcon_Staryu, [SPECIES_STARMIE] = gMonIcon_Starmie, - [SPECIES_MR_MIME] = gMonIcon_Mrmime, + [SPECIES_MR_MIME] = gMonIcon_MrMime, [SPECIES_SCYTHER] = gMonIcon_Scyther, [SPECIES_JYNX] = gMonIcon_Jynx, [SPECIES_ELECTABUZZ] = gMonIcon_Electabuzz, From 2d9cbef684e877a010318aa15e68f49901ba93a4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 12 Sep 2023 20:19:14 +0200 Subject: [PATCH 224/256] exclude wild battles from ai lag meter --- src/battle_ai_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index a6cab5a9be..a8946bcec8 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -353,12 +353,13 @@ void SetAiLogicDataForTurn(void) u8 effectiveness; s32 dmg; - gBattleStruct->aiDelayTimer = gMain.vblankCounter1; memset(AI_DATA, 0, sizeof(struct AiLogicData)); if (!(gBattleTypeFlags & BATTLE_TYPE_HAS_AI) && !IsWildMonSmart()) return; + gBattleStruct->aiDelayTimer = gMain.vblankCounter1; + // get/assume all battler data for (i = 0; i < gBattlersCount; i++) { From 44bd830d2a88a3b298ea44f1a2ee5589fcf85ec1 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 12 Sep 2023 23:20:09 +0200 Subject: [PATCH 225/256] optimize dmg calc and ai dmg calc to reduce lag --- include/battle_ai_util.h | 128 ++++++++++++------------- include/battle_main.h | 2 +- include/battle_script_commands.h | 8 +- include/battle_util.h | 16 ++-- include/config/debug.h | 2 +- src/battle_ai_main.c | 92 ++++++++---------- src/battle_ai_util.c | 158 +++++++++++++++---------------- src/battle_main.c | 2 +- src/battle_script_commands.c | 11 ++- src/battle_util.c | 114 +++++++++++----------- 10 files changed, 259 insertions(+), 274 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 5f077fe0cc..ecd3c43cc7 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -8,7 +8,6 @@ #define FOE(battler) ((BATTLE_OPPOSITE(battler)) & BIT_SIDE) bool32 AI_RandLessThan(u8 val); -void RecordLastUsedMoveByTarget(void); bool32 IsAiVsAiBattle(void); bool32 BattlerHasAi(u32 battlerId); bool32 IsAiBattlerAware(u32 battlerId); @@ -19,9 +18,9 @@ void RecordAbilityBattle(u8 battlerId, u16 abilityId); void ClearBattlerAbilityHistory(u8 battlerId); void RecordItemEffectBattle(u8 battlerId, u8 itemEffect); void ClearBattlerItemEffectHistory(u8 battlerId); -void SaveBattlerData(u8 battlerId); -void SetBattlerData(u8 battlerId); -void RestoreBattlerData(u8 battlerId); +void SaveBattlerData(u32 battlerId); +void SetBattlerData(u32 battlerId); +void RestoreBattlerData(u32 battlerId); u16 GetAIChosenMove(u8 battlerId); bool32 WillAIStrikeFirst(void); @@ -31,16 +30,16 @@ bool32 AtMaxHp(u8 battler); u32 GetHealthPercentage(u8 battler); bool32 IsBattlerTrapped(u8 battler, bool8 switching); u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 consideredMove); -bool32 CanTargetFaintAi(u8 battlerDef, u8 battlerAtk); -bool32 CanMoveFaintBattler(u16 move, u8 battlerDef, u8 battlerAtk, u8 nHits); -bool32 CanTargetFaintAiWithMod(u8 battlerDef, u8 battlerAtk, s32 hpMod, s32 dmgMod); +bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk); +bool32 CanMoveFaintBattler(u16 move, u32 battlerDef, u32 battlerAtk, u8 nHits); +bool32 CanTargetFaintAiWithMod(u32 battlerDef, u32 battlerAtk, s32 hpMod, s32 dmgMod); s32 AI_GetAbility(u32 battlerId); u16 AI_GetHoldEffect(u32 battlerId); -u32 AI_GetMoveAccuracy(u8 battlerAtk, u8 battlerDef, u16 move); +u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u16 move); bool32 DoesBattlerIgnoreAbilityChecks(u16 atkAbility, u16 move); bool32 AI_WeatherHasEffect(void); -bool32 CanAIFaintTarget(u8 battlerAtk, u8 battlerDef, u8 numHits); -bool32 CanIndexMoveFaintTarget(u8 battlerAtk, u8 battlerDef, u8 index, u8 numHits); +bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u8 numHits); +bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u8 index, u8 numHits); bool32 AI_IsTerrainAffected(u8 battlerId, u32 flags); bool32 AI_IsBattlerGrounded(u8 battlerId); bool32 HasDamagingMove(u8 battlerId); @@ -48,15 +47,15 @@ bool32 HasDamagingMoveOfType(u8 battlerId, u8 type); u32 GetBattlerSecondaryDamage(u8 battlerId); bool32 BattlerWillFaintFromWeather(u8 battler, u16 ability); bool32 BattlerWillFaintFromSecondaryDamage(u8 battler, u16 ability); -bool32 ShouldTryOHKO(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbility, u16 move); -bool32 ShouldUseRecoilMove(u8 battlerAtk, u8 battlerDef, u32 recoilDmg, u8 moveIndex); +bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move); +bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u8 moveIndex); u16 GetBattlerSideSpeedAverage(u8 battler); -bool32 ShouldAbsorb(u8 battlerAtk, u8 battlerDef, u16 move, s32 damage); -bool32 ShouldRecover(u8 battlerAtk, u8 battlerDef, u16 move, u8 healPercent); -bool32 ShouldSetScreen(u8 battlerAtk, u8 battlerDef, u16 moveEffect); -bool32 ShouldPivot(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u8 moveIndex); +bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u16 move, s32 damage); +bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u16 move, u8 healPercent); +bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u16 moveEffect); +bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 moveIndex); bool32 IsRecycleEncouragedItem(u16 item); -bool32 ShouldRestoreHpBerry(u8 battlerAtk, u16 item); +bool32 ShouldRestoreHpBerry(u32 battlerAtk, u16 item); bool32 IsStatBoostingBerry(u16 item); bool32 CanKnockOffItem(u8 battler, u16 item); bool32 IsAbilityOfRating(u16 ability, s8 rating); @@ -64,7 +63,7 @@ s8 GetAbilityRating(u16 ability); bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability); bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move); u32 AI_GetBattlerMoveTargetType(u8 battlerId, u16 move); -bool32 ShouldUseZMove(u8 activeId, u8 targetId, u16 chosenMove); +bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u16 chosenMove); // stat stage checks bool32 AnyStatIsRaised(u8 battlerId); @@ -74,23 +73,24 @@ bool32 AreBattlersStatsMaxed(u8 battler); bool32 BattlerHasAnyStatRaised(u8 battlerId); u32 CountPositiveStatStages(u8 battlerId); u32 CountNegativeStatStages(u8 battlerId); -bool32 ShouldLowerAttack(u8 battlerAtk, u8 battlerDef, u16 defAbility); -bool32 ShouldLowerDefense(u8 battlerAtk, u8 battlerDef, u16 defAbility); -bool32 ShouldLowerSpeed(u8 battlerAtk, u8 battlerDef, u16 defAbility); -bool32 ShouldLowerSpAtk(u8 battlerAtk, u8 battlerDef, u16 defAbility); -bool32 ShouldLowerSpDef(u8 battlerAtk, u8 battlerDef, u16 defAbility); -bool32 ShouldLowerAccuracy(u8 battlerAtk, u8 battlerDef, u16 defAbility); -bool32 ShouldLowerEvasion(u8 battlerAtk, u8 battlerDef, u16 defAbility); +bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u16 defAbility); // move checks bool32 IsAffectedByPowder(u8 battler, u16 ability, u16 holdEffect); bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split); -s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *effectiveness, bool32 considerZPower); +s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); +s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); u32 GetNoOfHitsToKO(u32 dmg, s32 hp); u8 GetMoveDamageResult(u16 move); -u32 GetCurrDamageHpPercent(u8 battlerAtk, u8 battlerDef); -uq4_12_t AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef); -u32 AI_GetMoveEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef); +u32 GetCurrDamageHpPercent(u32 battlerAtk, u32 battlerDef); +uq4_12_t AI_GetTypeEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef); +u32 AI_GetMoveEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef); u16 *GetMovesArray(u32 battler); bool32 IsConfusionMoveEffect(u16 moveEffect); bool32 HasMove(u32 battlerId, u32 move); @@ -99,35 +99,35 @@ bool32 HasMoveWithSplit(u32 battler, u32 split); bool32 HasMoveWithType(u32 battler, u8 type); bool32 HasMoveWithTypeAndSplit(u32 battler, u8 type, u8 split); bool32 HasMoveEffect(u32 battlerId, u16 moveEffect); -bool32 HasMoveWithLowAccuracy(u8, u8, u8, bool32, u16, u16, u16, u16); +bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u8 accCheck, bool32 ignoreStatus, u16 atkAbility, u16 defAbility, u16 atkHoldEffect, u16 defHoldEffect); bool32 IsAromaVeilProtectedMove(u16 move); bool32 IsNonVolatileStatusMoveEffect(u16 moveEffect); bool32 IsStatLoweringMoveEffect(u16 moveEffect); bool32 IsMoveRedirectionPrevented(u16 move, u16 atkAbility); -bool32 IsMoveEncouragedToHit(u8 battlerAtk, u8 battlerDef, u16 move); +bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u16 move); bool32 IsHazardMoveEffect(u16 moveEffect); bool32 MoveCallsOtherMove(u16 move); bool32 MoveRequiresRecharging(u16 move); bool32 IsEncoreEncouragedEffect(u16 moveEffect); -void ProtectChecks(u8 battlerAtk, u8 battlerDef, u16 move, u16 predictedMove, s16 *score); +void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s16 *score); bool32 ShouldSetSandstorm(u8 battler, u16 ability, u16 holdEffect); bool32 ShouldSetHail(u8 battler, u16 ability, u16 holdEffect); bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect); -bool32 ShouldSetRain(u8 battlerAtk, u16 ability, u16 holdEffect); -bool32 ShouldSetSun(u8 battlerAtk, u16 atkAbility, u16 holdEffect); -bool32 HasSleepMoveWithLowAccuracy(u8 battlerAtk, u8 battlerDef); +bool32 ShouldSetRain(u32 battlerAtk, u16 ability, u16 holdEffect); +bool32 ShouldSetSun(u32 battlerAtk, u16 atkAbility, u16 holdEffect); +bool32 HasSleepMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef); bool32 IsHealingMoveEffect(u16 effect); bool32 HasHealingEffect(u32 battler); bool32 IsTrappingMoveEffect(u16 effect); bool32 HasTrappingMoveEffect(u8 battler); -bool32 ShouldFakeOut(u8 battlerAtk, u8 battlerDef, u16 move); +bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u16 move); bool32 HasThawingMove(u8 battler); bool32 IsStatRaisingEffect(u16 effect); bool32 IsStatLoweringEffect(u16 effect); bool32 IsStatRaisingEffect(u16 effect); bool32 IsAttackBoostMoveEffect(u16 effect); bool32 IsUngroundingEffect(u16 effect); -bool32 IsSemiInvulnerable(u8 battlerDef, u16 move); +bool32 IsSemiInvulnerable(u32 battlerDef, u16 move); bool32 HasSoundMove(u8 battler); bool32 HasHighCritRatioMove(u8 battler); bool32 HasMagicCoatAffectedMove(u8 battler); @@ -139,34 +139,34 @@ bool32 AI_CanGetFrostbite(u8 battler, u16 ability); bool32 AI_CanBeConfused(u8 battler, u16 ability); bool32 AI_CanSleep(u8 battler, u16 ability); bool32 IsBattlerIncapacitated(u8 battler, u16 ability); -bool32 AI_CanPutToSleep(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u16 partnerMove); +bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove); bool32 ShouldPoisonSelf(u8 battler, u16 ability); -bool32 AI_CanPoison(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u16 partnerMove); -bool32 AI_CanParalyze(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u16 partnerMove); -bool32 AI_CanConfuse(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPartner, u16 move, u16 partnerMove); +bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove); +bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove); +bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove); bool32 ShouldBurnSelf(u8 battler, u16 ability); -bool32 AI_CanBurn(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 AI_CanGiveFrostbite(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 AI_CanBeInfatuated(u8 battlerAtk, u8 battlerDef, u16 defAbility); +bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove); +bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove); +bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u16 defAbility); bool32 AnyPartyMemberStatused(u8 battlerId, bool32 checkSoundproof); -u32 ShouldTryToFlinch(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbility, u16 move); -bool32 ShouldTrap(u8 battlerAtk, u8 battlerDef, u16 move); +u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move); +bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u16 move); bool32 IsWakeupTurn(u8 battler); bool32 AI_IsBattlerAsleepOrComatose(u8 battlerId); // partner logic u16 GetAllyChosenMove(u8 battlerId); -bool32 IsValidDoubleBattle(u8 battlerAtk); -bool32 IsTargetingPartner(u8 battlerAtk, u8 battlerDef); -bool32 DoesPartnerHaveSameMoveEffect(u8 battlerAtkPartner, u8 battlerDef, u16 move, u16 partnerMove); -bool32 PartnerHasSameMoveEffectWithoutTarget(u8 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 PartnerMoveEffectIsStatusSameTarget(u8 battlerAtkPartner, u8 battlerDef, u16 partnerMove); -bool32 PartnerMoveEffectIsWeather(u8 battlerAtkPartner, u16 partnerMove); -bool32 PartnerMoveEffectIsTerrain(u8 battlerAtkPartner, u16 partnerMove); -bool32 PartnerMoveIs(u8 battlerAtkPartner, u16 partnerMove, u16 moveCheck); -bool32 PartnerMoveIsSameAsAttacker(u8 battlerAtkPartner, u8 battlerDef, u16 move, u16 partnerMove); -bool32 PartnerMoveIsSameNoTarget(u8 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 ShouldUseWishAromatherapy(u8 battlerAtk, u8 battlerDef, u16 move); +bool32 IsValidDoubleBattle(u32 battlerAtk); +bool32 IsTargetingPartner(u32 battlerAtk, u32 battlerDef); +bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove); +bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove); +bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u16 partnerMove); +bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u16 partnerMove); +bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u16 partnerMove); +bool32 PartnerMoveIs(u32 battlerAtkPartner, u16 partnerMove, u16 moveCheck); +bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove); +bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove); +bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u16 move); // party logic struct BattlePokemon *AllocSaveBattleMons(void); @@ -178,12 +178,12 @@ bool32 PartyHasMoveSplit(u8 battlerId, u8 split); bool32 SideHasMoveSplit(u8 battlerId, u8 split); // score increases -void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score); -void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score); -void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score); -void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score); -void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score); -void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score); -void IncreaseFrostbiteScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score); +void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s16 *score); +void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); +void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); +void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); +void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); +void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); +void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); #endif //GUARD_BATTLE_AI_UTIL_H diff --git a/include/battle_main.h b/include/battle_main.h index 0ae62cd35f..5cf7e7219a 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -67,7 +67,7 @@ void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); bool8 TryRunFromBattle(u8 battlerId); void SpecialStatusesClear(void); -void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk); +void SetTypeBeforeUsingMove(u16 move, u32 battlerAtk); bool32 IsWildMonSmart(void); u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags); void ModifyPersonalityForNature(u32 *personality, u32 newNature); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index dcf601e804..9d24b457d9 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -16,8 +16,8 @@ struct StatFractions u8 divisor; }; -s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbility); -s8 GetInverseCritChance(u8 battlerAtk, u8 battlerDef, u32 move); +s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility); +s8 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move); u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); u8 GetBattlerTurnOrderNum(u8 battlerId); bool32 NoAliveMonsForEitherParty(void); @@ -28,8 +28,8 @@ void BattleCreateYesNoCursorAt(u8 cursorPosition); void BufferMoveToLearnIntoBattleTextBuff2(void); void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); bool8 UproarWakeUpCheck(u8 battlerId); -bool32 DoesSubstituteBlockMove(u8 battlerAtk, u8 battlerDef, u32 move); -bool32 DoesDisguiseBlockMove(u8 battlerAtk, u8 battlerDef, u32 move); +bool32 DoesSubstituteBlockMove(u32 battlerAtk, u32 battlerDef, u32 move); +bool32 DoesDisguiseBlockMove(u32 battlerAtk, u32 battlerDef, u32 move); bool32 CanPoisonType(u8 battlerAttacker, u8 battlerTarget); bool32 CanParalyzeType(u8 battlerAttacker, u8 battlerTarget); bool32 CanUseLastResort(u8 battlerId); diff --git a/include/battle_util.h b/include/battle_util.h index 62394d85dc..e3ae799b41 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -161,20 +161,20 @@ void HandleAction_RunBattleScript(void); u32 SetRandomTarget(u32 battler); u32 GetMoveTarget(u16 move, u8 setTarget); u8 IsMonDisobedient(void); -u32 GetBattlerHoldEffect(u8 battler, bool32 checkNegating); +u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating); u32 GetBattlerHoldEffectParam(u8 battler); -bool32 IsMoveMakingContact(u16 move, u8 battlerAtk); +bool32 IsMoveMakingContact(u16 move, u32 battlerAtk); bool32 IsBattlerGrounded(u8 battler); bool32 IsBattlerAlive(u8 battler); u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move); u32 GetBattlerWeight(u8 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); -s32 CalculateMoveDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); -s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, uq4_12_t *typeEffectivenessModifier); -uq4_12_t CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities); +s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); +s32 CalculateMoveDamageAndEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t *typeEffectivenessModifier); +uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); -uq4_12_t GetTypeModifier(u8 atkType, u8 defType); +uq4_12_t GetTypeModifier(u32 atkType, u32 defType); s32 GetStealthHazardDamage(u8 hazardType, u8 battler); s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp); bool32 CanMegaEvolve(u8 battler); @@ -209,11 +209,11 @@ void SortBattlersBySpeed(u8 *battlers, bool8 slowToFast); bool32 CompareStat(u8 battler, u8 statId, u8 cmpTo, u8 cmpKind); bool32 TryRoomService(u8 battler); void BufferStatChange(u8 battler, u8 statId, u8 stringId); -bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u8 battlerDef, bool32 checkTarget); +bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u32 battlerDef, bool32 checkTarget); u16 GetUsedHeldItem(u8 battler); bool32 IsBattlerWeatherAffected(u8 battler, u32 weatherFlags); u32 GetBattlerMoveTargetType(u8 battler, u16 move); -bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move); +bool32 CanTargetBattler(u32 battlerAtk, u32 battlerDef, u16 move); bool8 IsMoveAffectedByParentalBond(u16 move, u8 battler); void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); diff --git a/include/config/debug.h b/include/config/debug.h index eea676b307..ff54f6ac16 100644 --- a/include/config/debug.h +++ b/include/config/debug.h @@ -9,7 +9,7 @@ // Battle Debug Menu #define DEBUG_BATTLE_MENU TRUE // If set to TRUE, enables a debug menu to use in battles by pressing the Select button. -#define DEBUG_AI_DELAY_TIMER FALSE // If set to TRUE, displays the number of frames it takes for the AI to choose a move. Replaces the "What will PKMN do" text. Useful for devs or anyone who modifies the AI code and wants to see if it doesn't take too long to run. +#define DEBUG_AI_DELAY_TIMER TRUE // If set to TRUE, displays the number of frames it takes for the AI to choose a move. Replaces the "What will PKMN do" text. Useful for devs or anyone who modifies the AI code and wants to see if it doesn't take too long to run. // Pokémon Debug #define DEBUG_POKEMON_MENU TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index a8946bcec8..810e2ffff6 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -47,20 +47,20 @@ EWRAM_DATA const u8 *gAIScriptPtr = NULL; // Still used in contests EWRAM_DATA u8 sBattler_AI = 0; // const rom data -static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_PreferStrongestMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_PreferBatonPass(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_Roaming(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_Safari(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_FirstBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); -static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score); +static s16 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s16 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 (*const sBattleAiFuncTable[])(u8, u8, u16, s16) = +static s16 (*const sBattleAiFuncTable[])(u32, u32, u16, s16) = { [0] = AI_CheckBadMove, // AI_FLAG_CHECK_BAD_MOVE [1] = AI_TryToFaint, // AI_FLAG_TRY_TO_FAINT @@ -349,9 +349,7 @@ static void SetBattlerAiData(u32 battler) void SetAiLogicDataForTurn(void) { - u32 battlerAtk, battlerDef, i, move; - u8 effectiveness; - s32 dmg; + u32 battlerAtk, battlerDef, i, battlersCount; memset(AI_DATA, 0, sizeof(struct AiLogicData)); @@ -360,33 +358,29 @@ void SetAiLogicDataForTurn(void) gBattleStruct->aiDelayTimer = gMain.vblankCounter1; - // get/assume all battler data - for (i = 0; i < gBattlersCount; i++) + // get/assume all battler data and simulate AI damage + battlersCount = gBattlersCount; + for (battlerAtk = 0; battlerAtk < battlersCount; battlerAtk++) { - if (IsBattlerAlive(i)) { - SetBattlerAiData(i); - } - } - - // simulate AI damage - for (battlerAtk = 0; battlerAtk < gBattlersCount; battlerAtk++) - { - if (!IsBattlerAlive(battlerAtk) - || !IsAiBattlerAware(battlerAtk)) { + if (!IsBattlerAlive(battlerAtk)) continue; - } - for (battlerDef = 0; battlerDef < gBattlersCount; battlerDef++) + SetBattlerAiData(battlerAtk); + if (!IsAiBattlerAware(battlerAtk)) + continue; + + SaveBattlerData(battlerAtk); + for (battlerDef = 0; battlerDef < battlersCount; battlerDef++) { if (battlerAtk == battlerDef) continue; - RecordKnownMove(battlerDef, gLastMoves[battlerDef]); + SaveBattlerData(battlerDef); for (i = 0; i < MAX_MON_MOVES; i++) { - dmg = 0; - effectiveness = AI_EFFECTIVENESS_x0; - move = gBattleMons[battlerAtk].moves[i]; + s32 dmg = 0; + u8 effectiveness = AI_EFFECTIVENESS_x0; + u32 move = gBattleMons[battlerAtk].moves[i]; if (move != 0 && move != 0xFFFF @@ -562,8 +556,6 @@ static u8 ChooseMoveOrAction_Doubles(void) BattleAI_SetupAIData(0xF, sBattler_AI); gBattlerTarget = i; - if ((i & BIT_SIDE) != (sBattler_AI & BIT_SIDE)) - RecordLastUsedMoveByTarget(); AI_DATA->partnerMove = GetAllyChosenMove(i); AI_THINKING_STRUCT->aiLogicId = 0; @@ -710,7 +702,7 @@ static void BattleAI_DoAIProcessing(void) // AI Score Functions // AI_FLAG_CHECK_BAD_MOVE - decreases move scores -static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { // move data u8 atkPriority = GetMovePriority(battlerAtk, move); @@ -2694,7 +2686,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) return score; } -static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; @@ -2749,14 +2741,14 @@ static s16 AI_TryToFaint(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // double battle logic -static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { // move data u8 moveType = gBattleMoves[move].type; u16 effect = gBattleMoves[move].effect; u16 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); // ally data - u8 battlerAtkPartner = BATTLE_PARTNER(battlerAtk); + u32 battlerAtkPartner = BATTLE_PARTNER(battlerAtk); u16 atkPartnerAbility = AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)]; u16 atkPartnerHoldEffect = AI_DATA->holdEffects[BATTLE_PARTNER(battlerAtk)]; bool32 partnerProtecting = (gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_PROTECT); @@ -3148,7 +3140,7 @@ static bool32 IsPinchBerryItemEffect(u16 holdEffect) return FALSE; } -static u32 GetAIMostDamagingMoveId(u8 battlerAtk, u8 battlerDef) +static u32 GetAIMostDamagingMoveId(u32 battlerAtk, u32 battlerDef) { u32 i, id = 0; u32 mostDmg = 0; @@ -3162,7 +3154,7 @@ static u32 GetAIMostDamagingMoveId(u8 battlerAtk, u8 battlerDef) } // AI_FLAG_CHECK_VIABILITY - a weird mix of increasing and decreasing scores -static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { // move data u16 moveEffect = gBattleMoves[move].effect; @@ -4964,7 +4956,7 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // Effects that are encouraged on the first turn of battle -static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { if (IsTargetingPartner(battlerAtk, battlerDef) || gBattleResults.battleTurnCounter != 0) @@ -5075,7 +5067,7 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // Adds score bonus to 'riskier' move effects and high crit moves -static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; @@ -5114,7 +5106,7 @@ static s16 AI_Risky(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // Adds score bonus to best powered move -static s16 AI_PreferStrongestMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; @@ -5126,7 +5118,7 @@ static s16 AI_PreferStrongestMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 sc } // Prefers moves that are good for baton pass -static s16 AI_PreferBatonPass(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { u32 i; @@ -5181,7 +5173,7 @@ static s16 AI_PreferBatonPass(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) return score; } -static s16 AI_HPAware(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { u16 effect = gBattleMoves[move].effect; u8 moveType = gBattleMoves[move].type; @@ -5384,7 +5376,7 @@ static void AI_Watch(void) } // Roaming pokemon logic -static s16 AI_Roaming(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { if (IsBattlerTrapped(battlerAtk, FALSE)) return score; @@ -5394,7 +5386,7 @@ static s16 AI_Roaming(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // Safari pokemon logic -static s16 AI_Safari(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. @@ -5407,7 +5399,7 @@ static s16 AI_Safari(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) } // First battle logic -static s16 AI_FirstBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) +static s16 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) { if (AI_DATA->hpPercents[battlerDef] <= 20) AI_Flee(); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 5072645bdc..19eba9051f 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -436,11 +436,6 @@ bool32 AI_RandLessThan(u8 val) return FALSE; } -void RecordLastUsedMoveByTarget(void) -{ - RecordKnownMove(gBattlerTarget, gLastMoves[gBattlerTarget]); -} - bool32 IsAiVsAiBattle(void) { return (B_FLAG_AI_VS_AI_BATTLE && FlagGet(B_FLAG_AI_VS_AI_BATTLE)); @@ -529,7 +524,7 @@ void ClearBattlerItemEffectHistory(u8 battlerId) BATTLE_HISTORY->itemEffects[battlerId] = 0; } -void SaveBattlerData(u8 battlerId) +void SaveBattlerData(u32 battlerId) { if (!BattlerHasAi(battlerId)) { @@ -580,7 +575,7 @@ static bool32 ShouldFailForIllusion(u16 illusionSpecies, u32 battlerId) return TRUE; } -void SetBattlerData(u8 battlerId) +void SetBattlerData(u32 battlerId) { if (!BattlerHasAi(battlerId)) { @@ -624,7 +619,7 @@ void SetBattlerData(u8 battlerId) } } -void RestoreBattlerData(u8 battlerId) +void RestoreBattlerData(u32 battlerId) { if (!BattlerHasAi(battlerId)) { @@ -741,7 +736,7 @@ bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split) return (usable == 0); } -static bool32 AI_GetIfCrit(u32 move, u8 battlerAtk, u8 battlerDef) +static bool32 AI_GetIfCrit(u32 move, u32 battlerAtk, u32 battlerDef) { bool32 isCrit; @@ -776,12 +771,23 @@ static bool32 AI_GetIfCrit(u32 move, u8 battlerAtk, u8 battlerDef) return isCrit; } -s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, bool32 considerZPower) +// To save computation time this function has 2 variants. One saves, sets and restores battlers, while the other doesn't. +s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower) +{ + SaveBattlerData(battlerAtk); + SaveBattlerData(battlerDef); + AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower); +} + +s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower) { s32 dmg, moveType, critDmg, normalDmg, fixedBasePower, n; s8 critChance; uq4_12_t effectivenessMultiplier; + SetBattlerData(battlerAtk); + SetBattlerData(battlerDef); + if (considerZPower && IsViableZMove(battlerAtk, move)) { //temporarily enable z moves for damage calcs @@ -789,12 +795,6 @@ s32 AI_CalcDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 *typeEffectiveness, gBattleStruct->zmove.active = TRUE; } - SaveBattlerData(battlerAtk); - SaveBattlerData(battlerDef); - - SetBattlerData(battlerAtk); - SetBattlerData(battlerDef); - gBattleStruct->dynamicMoveType = 0; if (move == MOVE_NATURE_POWER) @@ -1026,14 +1026,14 @@ u8 GetMoveDamageResult(u16 move) return AI_THINKING_STRUCT->funcResult; } -u32 GetCurrDamageHpPercent(u8 battlerAtk, u8 battlerDef) +u32 GetCurrDamageHpPercent(u32 battlerAtk, u32 battlerDef) { int bestDmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; return (bestDmg * 100) / gBattleMons[battlerDef].maxHP; } -uq4_12_t AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef) +uq4_12_t AI_GetTypeEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef) { uq4_12_t typeEffectiveness; u16 moveType; @@ -1055,7 +1055,7 @@ uq4_12_t AI_GetTypeEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef) return typeEffectiveness; } -u32 AI_GetMoveEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef) +u32 AI_GetMoveEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef) { gMoveResultFlags = 0; return AI_GetEffectiveness(AI_GetTypeEffectiveness(move, battlerAtk, battlerDef)); @@ -1134,7 +1134,7 @@ u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 moveConsidered) } // Check if target has means to faint ai mon. -bool32 CanTargetFaintAi(u8 battlerDef, u8 battlerAtk) +bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk) { s32 i, dmg; u32 unusable = AI_DATA->moveLimitations[battlerDef]; @@ -1154,7 +1154,7 @@ bool32 CanTargetFaintAi(u8 battlerDef, u8 battlerAtk) // Check if AI mon has the means to faint the target with any of its moves. // If numHits > 1, check if the target will be KO'ed by that number of hits (ignoring healing effects) -bool32 CanAIFaintTarget(u8 battlerAtk, u8 battlerDef, u8 numHits) +bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u8 numHits) { s32 i, dmg; u32 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; @@ -1178,7 +1178,7 @@ bool32 CanAIFaintTarget(u8 battlerAtk, u8 battlerDef, u8 numHits) return FALSE; } -bool32 CanMoveFaintBattler(u16 move, u8 battlerDef, u8 battlerAtk, u8 nHits) +bool32 CanMoveFaintBattler(u16 move, u32 battlerDef, u32 battlerAtk, u8 nHits) { s32 i, dmg; u8 effectiveness; @@ -1187,14 +1187,14 @@ bool32 CanMoveFaintBattler(u16 move, u8 battlerDef, u8 battlerAtk, u8 nHits) if (move != MOVE_NONE && move != 0xFFFF && !(unusable & gBitTable[i]) - && AI_CalcDamage(move, battlerDef, battlerAtk, &effectiveness, FALSE) >= gBattleMons[battlerAtk].hp) + && AI_CalcDamageSaveBattlers(move, battlerDef, battlerAtk, &effectiveness, FALSE) >= gBattleMons[battlerAtk].hp) return TRUE; return FALSE; } // Check if target has means to faint ai mon after modding hp/dmg -bool32 CanTargetFaintAiWithMod(u8 battlerDef, u8 battlerAtk, s32 hpMod, s32 dmgMod) +bool32 CanTargetFaintAiWithMod(u32 battlerDef, u32 battlerAtk, s32 hpMod, s32 dmgMod) { u32 i; u32 unusable = AI_DATA->moveLimitations[battlerDef]; @@ -1466,13 +1466,13 @@ bool32 IsMoveRedirectionPrevented(u16 move, u16 atkAbility) return FALSE; } -u32 AI_GetMoveAccuracy(u8 battlerAtk, u8 battlerDef, u16 move) +u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u16 move) { return GetTotalAccuracy(battlerAtk, battlerDef, move, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef]); } -bool32 IsSemiInvulnerable(u8 battlerDef, u16 move) +bool32 IsSemiInvulnerable(u32 battlerDef, u16 move) { if (gStatuses3[battlerDef] & STATUS3_PHANTOM_FORCE) return TRUE; @@ -1486,7 +1486,7 @@ bool32 IsSemiInvulnerable(u8 battlerDef, u16 move) return FALSE; } -bool32 IsMoveEncouragedToHit(u8 battlerAtk, u8 battlerDef, u16 move) +bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u16 move) { if (IsSemiInvulnerable(battlerDef, move)) return FALSE; @@ -1526,7 +1526,7 @@ bool32 IsMoveEncouragedToHit(u8 battlerAtk, u8 battlerDef, u16 move) return FALSE; } -bool32 ShouldTryOHKO(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbility, u16 move) +bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move) { u32 holdEffect = AI_DATA->holdEffects[battlerDef]; u32 accuracy = AI_GetMoveAccuracy(battlerAtk, battlerDef, move); @@ -1608,7 +1608,7 @@ bool32 ShouldSetHail(u8 battler, u16 ability, u16 holdEffect) return FALSE; } -bool32 ShouldSetRain(u8 battlerAtk, u16 atkAbility, u16 holdEffect) +bool32 ShouldSetRain(u32 battlerAtk, u16 atkAbility, u16 holdEffect) { if (!AI_WeatherHasEffect()) return FALSE; @@ -1631,7 +1631,7 @@ bool32 ShouldSetRain(u8 battlerAtk, u16 atkAbility, u16 holdEffect) return FALSE; } -bool32 ShouldSetSun(u8 battlerAtk, u16 atkAbility, u16 holdEffect) +bool32 ShouldSetSun(u32 battlerAtk, u16 atkAbility, u16 holdEffect) { if (!AI_WeatherHasEffect()) return FALSE; @@ -1679,7 +1679,7 @@ bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect) return FALSE; } -void ProtectChecks(u8 battlerAtk, u8 battlerDef, u16 move, u16 predictedMove, s16 *score) +void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s16 *score) { // TODO more sophisticated logic u16 predictedEffect = gBattleMoves[predictedMove].effect; @@ -1793,7 +1793,7 @@ u32 CountNegativeStatStages(u8 battlerId) return count; } -bool32 ShouldLowerAttack(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1810,7 +1810,7 @@ bool32 ShouldLowerAttack(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerDefense(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1827,7 +1827,7 @@ bool32 ShouldLowerDefense(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerSpeed(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1842,7 +1842,7 @@ bool32 ShouldLowerSpeed(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerSpAtk(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1858,7 +1858,7 @@ bool32 ShouldLowerSpAtk(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerSpDef(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1874,7 +1874,7 @@ bool32 ShouldLowerSpDef(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerAccuracy(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1889,7 +1889,7 @@ bool32 ShouldLowerAccuracy(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerEvasion(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1904,7 +1904,7 @@ bool32 ShouldLowerEvasion(u8 battlerAtk, u8 battlerDef, u16 defAbility) return FALSE; } -bool32 CanIndexMoveFaintTarget(u8 battlerAtk, u8 battlerDef, u8 index, u8 numHits) +bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u8 index, u8 numHits) { s32 dmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][index]; @@ -1996,7 +1996,7 @@ bool32 HasMove(u32 battlerId, u32 move) return FALSE; } -bool32 HasMoveWithLowAccuracy(u8 battlerAtk, u8 battlerDef, u8 accCheck, bool32 ignoreStatus, u16 atkAbility, u16 defAbility, u16 atkHoldEffect, u16 defHoldEffect) +bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u8 accCheck, bool32 ignoreStatus, u16 atkAbility, u16 defAbility, u16 atkHoldEffect, u16 defHoldEffect) { s32 i; u16 *moves = GetMovesArray(battlerAtk); @@ -2023,7 +2023,7 @@ bool32 HasMoveWithLowAccuracy(u8 battlerAtk, u8 battlerDef, u8 accCheck, bool32 return FALSE; } -bool32 HasSleepMoveWithLowAccuracy(u8 battlerAtk, u8 battlerDef) +bool32 HasSleepMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef) { u8 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; u32 i; @@ -2560,7 +2560,7 @@ enum { CAN_TRY_PIVOT, PIVOT, }; -bool32 ShouldPivot(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u8 moveIndex) +bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 moveIndex) { bool8 hasStatBoost = AnyUsefulStatIsRaised(battlerAtk) || gBattleMons[battlerDef].statStages[STAT_EVASION] >= 9; //Significant boost in evasion for any class bool32 shouldSwitch; @@ -2789,7 +2789,7 @@ bool32 AI_CanSleep(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanPutToSleep(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u16 partnerMove) +bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove) { if (!AI_CanSleep(battlerDef, defAbility) || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) @@ -2804,7 +2804,7 @@ static bool32 AI_CanPoisonType(u8 battlerAttacker, u8 battlerTarget) || !(IS_BATTLER_OF_TYPE(battlerTarget, TYPE_POISON) || IS_BATTLER_OF_TYPE(battlerTarget, TYPE_STEEL))); } -static bool32 AI_CanBePoisoned(u8 battlerAtk, u8 battlerDef) +static bool32 AI_CanBePoisoned(u32 battlerAtk, u32 battlerDef) { u16 ability = AI_DATA->abilities[battlerDef]; @@ -2836,7 +2836,7 @@ bool32 ShouldPoisonSelf(u8 battler, u16 ability) return FALSE; } -bool32 AI_CanPoison(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u16 partnerMove) +bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove) { if (!AI_CanBePoisoned(battlerAtk, battlerDef) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2862,7 +2862,7 @@ static bool32 AI_CanBeParalyzed(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanParalyze(u8 battlerAtk, u8 battlerDef, u16 defAbility, u16 move, u16 partnerMove) +bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove) { if (!AI_CanBeParalyzed(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2882,7 +2882,7 @@ bool32 AI_CanBeConfused(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanConfuse(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove) { if (!AI_CanBeConfused(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2935,7 +2935,7 @@ bool32 ShouldBurnSelf(u8 battler, u16 ability) return FALSE; } -bool32 AI_CanBurn(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove) { if (!AI_CanBeBurned(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2947,7 +2947,7 @@ bool32 AI_CanBurn(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPar return TRUE; } -bool32 AI_CanGiveFrostbite(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove) { if (!AI_CanGetFrostbite(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2959,7 +2959,7 @@ bool32 AI_CanGiveFrostbite(u8 battlerAtk, u8 battlerDef, u16 defAbility, u8 batt return TRUE; } -bool32 AI_CanBeInfatuated(u8 battlerAtk, u8 battlerDef, u16 defAbility) +bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u16 defAbility) { if ((gBattleMons[battlerDef].status2 & STATUS2_INFATUATION) || AI_GetMoveEffectiveness(AI_THINKING_STRUCT->moveConsidered, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2970,7 +2970,7 @@ bool32 AI_CanBeInfatuated(u8 battlerAtk, u8 battlerDef, u16 defAbility) return TRUE; } -u32 ShouldTryToFlinch(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbility, u16 move) +u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move) { if (((AI_DATA->abilities[battlerAtk] != ABILITY_MOLD_BREAKER && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_COVERT_CLOAK @@ -2991,7 +2991,7 @@ u32 ShouldTryToFlinch(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbili return 0; // don't try to flinch } -bool32 ShouldTrap(u8 battlerAtk, u8 battlerDef, u16 move) +bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u16 move) { if (BattlerWillFaintFromSecondaryDamage(battlerDef, AI_DATA->abilities[battlerDef])) return TRUE; // battler is taking secondary damage with low HP @@ -3005,7 +3005,7 @@ bool32 ShouldTrap(u8 battlerAtk, u8 battlerDef, u16 move) return FALSE; } -bool32 ShouldFakeOut(u8 battlerAtk, u8 battlerDef, u16 move) +bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u16 move) { if (!gDisableStructs[battlerAtk].isFirstTurn || AI_DATA->abilities[battlerAtk] == ABILITY_GORILLA_TACTICS @@ -3082,7 +3082,7 @@ u16 GetBattlerSideSpeedAverage(u8 battler) return (speed1 + speed2) / numBattlersAlive; } -bool32 ShouldUseRecoilMove(u8 battlerAtk, u8 battlerDef, u32 recoilDmg, u8 moveIndex) +bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u8 moveIndex) { if (recoilDmg >= gBattleMons[battlerAtk].hp //Recoil kills attacker && CountUsablePartyMons(battlerDef) != 0) //Foe has more than 1 target left @@ -3096,7 +3096,7 @@ bool32 ShouldUseRecoilMove(u8 battlerAtk, u8 battlerDef, u32 recoilDmg, u8 moveI return TRUE; } -bool32 ShouldAbsorb(u8 battlerAtk, u8 battlerDef, u16 move, s32 damage) +bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u16 move, s32 damage) { if (move == 0xFFFF || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) { @@ -3123,7 +3123,7 @@ bool32 ShouldAbsorb(u8 battlerAtk, u8 battlerDef, u16 move, s32 damage) return FALSE; } -bool32 ShouldRecover(u8 battlerAtk, u8 battlerDef, u16 move, u8 healPercent) +bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u16 move, u8 healPercent) { if (move == 0xFFFF || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) { @@ -3142,7 +3142,7 @@ bool32 ShouldRecover(u8 battlerAtk, u8 battlerDef, u16 move, u8 healPercent) return FALSE; } -bool32 ShouldSetScreen(u8 battlerAtk, u8 battlerDef, u16 moveEffect) +bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u16 moveEffect) { u8 atkSide = GetBattlerSide(battlerAtk); switch (moveEffect) @@ -3171,7 +3171,7 @@ bool32 ShouldSetScreen(u8 battlerAtk, u8 battlerDef, u16 moveEffect) } // Partner Logic -bool32 IsValidDoubleBattle(u8 battlerAtk) +bool32 IsValidDoubleBattle(u32 battlerAtk) { if (IsDoubleBattle() && ((IsBattlerAlive(BATTLE_OPPOSITE(battlerAtk)) && IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(battlerAtk)))) || IsBattlerAlive(BATTLE_PARTNER(battlerAtk)))) @@ -3191,7 +3191,7 @@ u16 GetAllyChosenMove(u8 battlerId) return gBattleMons[partnerBattler].moves[gBattleStruct->chosenMovePositions[partnerBattler]]; } -bool32 IsTargetingPartner(u8 battlerAtk, u8 battlerDef) +bool32 IsTargetingPartner(u32 battlerAtk, u32 battlerDef) { if ((battlerAtk & BIT_SIDE) == (battlerDef & BIT_SIDE)) return TRUE; @@ -3200,7 +3200,7 @@ bool32 IsTargetingPartner(u8 battlerAtk, u8 battlerDef) } //PARTNER_MOVE_EFFECT_IS_SAME -bool32 DoesPartnerHaveSameMoveEffect(u8 battlerAtkPartner, u8 battlerDef, u16 move, u16 partnerMove) +bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3215,7 +3215,7 @@ bool32 DoesPartnerHaveSameMoveEffect(u8 battlerAtkPartner, u8 battlerDef, u16 mo } //PARTNER_MOVE_EFFECT_IS_SAME_NO_TARGET -bool32 PartnerHasSameMoveEffectWithoutTarget(u8 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3227,7 +3227,7 @@ bool32 PartnerHasSameMoveEffectWithoutTarget(u8 battlerAtkPartner, u16 move, u16 } //PARTNER_MOVE_EFFECT_IS_STATUS_SAME_TARGET -bool32 PartnerMoveEffectIsStatusSameTarget(u8 battlerAtkPartner, u8 battlerDef, u16 partnerMove) +bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3245,7 +3245,7 @@ bool32 PartnerMoveEffectIsStatusSameTarget(u8 battlerAtkPartner, u8 battlerDef, } //PARTNER_MOVE_EFFECT_IS_WEATHER -bool32 PartnerMoveEffectIsWeather(u8 battlerAtkPartner, u16 partnerMove) +bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3262,7 +3262,7 @@ bool32 PartnerMoveEffectIsWeather(u8 battlerAtkPartner, u16 partnerMove) } //PARTNER_MOVE_EFFECT_IS_TERRAIN -bool32 PartnerMoveEffectIsTerrain(u8 battlerAtkPartner, u16 partnerMove) +bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3278,7 +3278,7 @@ bool32 PartnerMoveEffectIsTerrain(u8 battlerAtkPartner, u16 partnerMove) } //PARTNER_MOVE_IS_TAILWIND_TRICKROOM -bool32 PartnerMoveIs(u8 battlerAtkPartner, u16 partnerMove, u16 moveCheck) +bool32 PartnerMoveIs(u32 battlerAtkPartner, u16 partnerMove, u16 moveCheck) { if (!IsDoubleBattle()) return FALSE; @@ -3289,7 +3289,7 @@ bool32 PartnerMoveIs(u8 battlerAtkPartner, u16 partnerMove, u16 moveCheck) } //PARTNER_MOVE_IS_SAME -bool32 PartnerMoveIsSameAsAttacker(u8 battlerAtkPartner, u8 battlerDef, u16 move, u16 partnerMove) +bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3300,7 +3300,7 @@ bool32 PartnerMoveIsSameAsAttacker(u8 battlerAtkPartner, u8 battlerDef, u16 move } //PARTNER_MOVE_IS_SAME_NO_TARGET -bool32 PartnerMoveIsSameNoTarget(u8 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3309,7 +3309,7 @@ bool32 PartnerMoveIsSameNoTarget(u8 battlerAtkPartner, u16 move, u16 partnerMove return FALSE; } -bool32 ShouldUseWishAromatherapy(u8 battlerAtk, u8 battlerDef, u16 move) +bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u16 move) { u32 i; u32 firstId, lastId; @@ -3413,7 +3413,7 @@ s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon if (move != MOVE_NONE && gBattleMoves[move].power != 0) { - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, FALSE); + dmg = AI_CalcDamageSaveBattlers(move, battlerAtk, battlerDef, &effectiveness, FALSE); if (dmg > bestDmg) bestDmg = dmg; } @@ -3568,7 +3568,7 @@ bool32 IsStatBoostingBerry(u16 item) } } -bool32 ShouldRestoreHpBerry(u8 battlerAtk, u16 item) +bool32 ShouldRestoreHpBerry(u32 battlerAtk, u16 item) { switch (item) { @@ -3602,7 +3602,7 @@ bool32 IsRecycleEncouragedItem(u16 item) // score increases #define STAT_UP_2_STAGE 8 #define STAT_UP_STAGE 10 -void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score) +void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s16 *score) { if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) return; @@ -3682,7 +3682,7 @@ void IncreaseStatUpScore(u8 battlerAtk, u8 battlerDef, u8 statId, s16 *score) } } -void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) +void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PSN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3706,7 +3706,7 @@ void IncreasePoisonScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) } } -void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) +void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_BRN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3726,7 +3726,7 @@ void IncreaseBurnScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) } } -void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) +void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PAR || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3748,7 +3748,7 @@ void IncreaseParalyzeScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) } } -void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) +void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_SLP || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3767,7 +3767,7 @@ void IncreaseSleepScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) (*score)++; } -void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) +void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_CONFUSION || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3786,7 +3786,7 @@ void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) } } -void IncreaseFrostbiteScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score) +void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; @@ -3815,7 +3815,7 @@ bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move) } //TODO - this could use some more sophisticated logic -bool32 ShouldUseZMove(u8 battlerAtk, u8 battlerDef, u16 chosenMove) +bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u16 chosenMove) { // simple logic. just upgrades chosen move to z move if possible, unless regular move would kill opponent if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && battlerDef == BATTLE_PARTNER(battlerAtk)) @@ -3837,7 +3837,7 @@ bool32 ShouldUseZMove(u8 battlerAtk, u8 battlerDef, u16 chosenMove) else if (!IS_MOVE_STATUS(chosenMove) && IS_MOVE_STATUS(gBattleStruct->zmove.chosenZMove)) return FALSE; - if (!IS_MOVE_STATUS(chosenMove) && AI_CalcDamage(chosenMove, battlerAtk, battlerDef, &effectiveness, FALSE) >= gBattleMons[battlerDef].hp) + if (!IS_MOVE_STATUS(chosenMove) && AI_CalcDamageSaveBattlers(chosenMove, battlerAtk, battlerDef, &effectiveness, FALSE) >= gBattleMons[battlerDef].hp) return FALSE; // don't waste damaging z move if can otherwise faint target return TRUE; diff --git a/src/battle_main.c b/src/battle_main.c index 7f985f16e2..6fbbec8a15 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5575,7 +5575,7 @@ void RunBattleScriptCommands(void) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } -void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk) +void SetTypeBeforeUsingMove(u16 move, u32 battlerAtk) { u32 moveType, ateType, attackerAbility; u16 holdEffect = GetBattlerHoldEffect(battlerAtk, TRUE); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b75520ff9d..b93586d84a 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1907,7 +1907,7 @@ static void Cmd_ppreduce(void) #endif // B_CRIT_CHANCE #define BENEFITS_FROM_LEEK(battler, holdEffect)((holdEffect == HOLD_EFFECT_LEEK) && (GET_BASE_SPECIES_ID(gBattleMons[battler].species) == SPECIES_FARFETCHD || gBattleMons[battler].species == SPECIES_SIRFETCHD)) -s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbility) +s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility) { s32 critChance = 0; u32 abilityAtk = GetBattlerAbility(gBattlerAttacker); @@ -1952,7 +1952,7 @@ s32 CalcCritChanceStage(u8 battlerAtk, u8 battlerDef, u32 move, bool32 recordAbi } #undef BENEFITS_FROM_LEEK -s8 GetInverseCritChance(u8 battlerAtk, u8 battlerDef, u32 move) +s8 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move) { s32 critChanceIndex = CalcCritChanceStage(battlerAtk, battlerDef, move, FALSE); if(critChanceIndex < 0) @@ -5657,6 +5657,7 @@ static void Cmd_moveend(void) if (!gSpecialStatuses[gBattlerAttacker].dancerUsedMove) { gLastMoves[gBattlerAttacker] = gChosenMove; + RecordKnownMove(gBattlerAttacker, gChosenMove); gLastResultingMoves[gBattlerAttacker] = gCurrentMove; } } @@ -8242,7 +8243,7 @@ static void RemoveAllTerrains(void) } \ } -static bool32 TryDefogClear(u8 battlerAtk, bool32 clear) +static bool32 TryDefogClear(u32 battlerAtk, bool32 clear) { s32 i; for (i = 0; i < 2; i++) @@ -14760,7 +14761,7 @@ static void Cmd_settypebasedhalvers(void) gBattlescriptCurrInstr = cmd->failInstr; } -bool32 DoesSubstituteBlockMove(u8 battlerAtk, u8 battlerDef, u32 move) +bool32 DoesSubstituteBlockMove(u32 battlerAtk, u32 battlerDef, u32 move) { if (!(gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE)) return FALSE; @@ -14776,7 +14777,7 @@ bool32 DoesSubstituteBlockMove(u8 battlerAtk, u8 battlerDef, u32 move) return TRUE; } -bool32 DoesDisguiseBlockMove(u8 battlerAtk, u8 battlerDef, u32 move) +bool32 DoesDisguiseBlockMove(u32 battlerAtk, u32 battlerDef, u32 move) { if (gBattleMons[battlerDef].species != SPECIES_MIMIKYU || gBattleMons[battlerDef].status2 & STATUS2_TRANSFORMED diff --git a/src/battle_util.c b/src/battle_util.c index d4e873b7ed..0bacf29aea 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4244,7 +4244,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattleWeather = B_WEATHER_SNOW; gBattleScripting.animArg1 = B_ANIM_SNOW_CONTINUES; effect++; - #else + #else gBattleWeather = B_WEATHER_HAIL; gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; effect++; @@ -8100,7 +8100,7 @@ u8 IsMonDisobedient(void) } } -u32 GetBattlerHoldEffect(u8 battler, bool32 checkNegating) +u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating) { if (checkNegating) { @@ -8136,7 +8136,7 @@ u32 GetBattlerHoldEffectParam(u8 battler) return ItemId_GetHoldEffectParam(gBattleMons[battler].item); } -bool32 IsMoveMakingContact(u16 move, u8 battlerAtk) +bool32 IsMoveMakingContact(u16 move, u32 battlerAtk) { u16 atkHoldEffect = GetBattlerHoldEffect(battlerAtk, TRUE); @@ -8321,7 +8321,7 @@ u32 CountBattlerStatIncreases(u8 battler, bool32 countEvasionAcc) return count; } -u32 GetMoveTargetCount(u16 move, u8 battlerAtk, u8 battlerDef) +u32 GetMoveTargetCount(u16 move, u32 battlerAtk, u32 battlerDef) { switch (GetBattlerMoveTargetType(gBattlerAttacker, move)) { @@ -8460,7 +8460,7 @@ u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter) return basePower; } -static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) +static inline u16 CalcMoveBasePower(u16 move, u32 battlerAtk, u32 battlerDef, u32 abilityDef) { u32 i; u16 basePower = gBattleMoves[move].power; @@ -8535,7 +8535,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) basePower = gNaturalGiftTable[ITEM_TO_BERRY(gBattleMons[battlerAtk].item)].power; break; case EFFECT_WAKE_UP_SLAP: - if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP || GetBattlerAbility(battlerDef) == ABILITY_COMATOSE) + if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP || abilityDef == ABILITY_COMATOSE) basePower *= 2; break; case EFFECT_SMELLINGSALT: @@ -8547,7 +8547,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) break; case EFFECT_HEX: case EFFECT_INFERNAL_PARADE: - if (gBattleMons[battlerDef].status1 & STATUS1_ANY || GetBattlerAbility(battlerDef) == ABILITY_COMATOSE) + if (gBattleMons[battlerDef].status1 & STATUS1_ANY || abilityDef == ABILITY_COMATOSE) basePower *= 2; break; case EFFECT_ASSURANCE: @@ -8716,16 +8716,14 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) return basePower; } -static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, bool32 updateFlags) +static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 battlerDef, u8 moveType, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk) { u32 i; - u32 holdEffectAtk, holdEffectParamAtk; - u16 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef); + u32 holdEffectParamAtk; + u16 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef, defAbility); uq4_12_t holdEffectModifier; uq4_12_t modifier = UQ_4_12(1.0); u32 atkSide = GET_BATTLER_SIDE(battlerAtk); - u16 atkAbility = GetBattlerAbility(battlerAtk); - u16 defAbility = GetBattlerAbility(battlerDef); // move effect switch (gBattleMoves[move].effect) @@ -9020,7 +9018,6 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe break; } - holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); holdEffectParamAtk = GetBattlerHoldEffectParam(battlerAtk); if (holdEffectParamAtk > 100) holdEffectParamAtk = 100; @@ -9099,7 +9096,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe } #undef TERRAIN_TYPE_BOOST -static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, bool32 isCrit, bool32 updateFlags) +static inline u32 CalcAttackStat(u16 move, u32 battlerAtk, u32 battlerDef, u8 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk) { u8 atkStage; u32 atkStat; @@ -9144,7 +9141,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b if (isCrit && atkStage < DEFAULT_STAT_STAGE) atkStage = DEFAULT_STAT_STAGE; // pokemon with unaware ignore attack stat changes while taking damage - if (GetBattlerAbility(battlerDef) == ABILITY_UNAWARE) + if (defAbility == ABILITY_UNAWARE) atkStage = DEFAULT_STAT_STAGE; atkStat *= gStatStageRatios[atkStage][0]; @@ -9154,7 +9151,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b modifier = UQ_4_12(1.0); // attacker's abilities - switch (GetBattlerAbility(battlerAtk)) + switch (atkAbility) { case ABILITY_HUGE_POWER: case ABILITY_PURE_POWER: @@ -9232,7 +9229,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b } // target's abilities - switch (GetBattlerAbility(battlerDef)) + switch (defAbility) { case ABILITY_THICK_FAT: if (moveType == TYPE_FIRE || moveType == TYPE_ICE) @@ -9257,7 +9254,7 @@ static u32 CalcAttackStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, b } // attacker's hold effect - switch (GetBattlerHoldEffect(battlerAtk, TRUE)) + switch (holdEffectAtk) { case HOLD_EFFECT_THICK_CLUB: if ((atkBaseSpeciesId == SPECIES_CUBONE || atkBaseSpeciesId == SPECIES_MAROWAK) && IS_MOVE_PHYSICAL(move)) @@ -9303,7 +9300,7 @@ static bool32 CanEvolve(u32 species) return FALSE; } -static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, bool32 isCrit, bool32 updateFlags) +static inline u32 CalcDefenseStat(u16 move, u32 battlerAtk, u32 battlerDef, u8 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectDef) { bool32 usesDefStat; u8 defStage; @@ -9344,7 +9341,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, if (isCrit && defStage > DEFAULT_STAT_STAGE) defStage = DEFAULT_STAT_STAGE; // pokemon with unaware ignore defense stat changes while dealing damage - if (GetBattlerAbility(battlerAtk) == ABILITY_UNAWARE) + if (atkAbility == ABILITY_UNAWARE) defStage = DEFAULT_STAT_STAGE; // certain moves also ignore stat changes if (gBattleMoves[move].ignoresTargetDefenseEvasionStages) @@ -9357,7 +9354,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, modifier = UQ_4_12(1.0); // target's abilities - switch (GetBattlerAbility(battlerDef)) + switch (defAbility) { case ABILITY_MARVEL_SCALE: if (gBattleMons[battlerDef].status1 & STATUS1_ANY && usesDefStat) @@ -9406,7 +9403,7 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, } // target's hold effects - switch (GetBattlerHoldEffect(battlerDef, TRUE)) + switch (holdEffectDef) { case HOLD_EFFECT_DEEP_SEA_SCALE: if (gBattleMons[battlerDef].species == SPECIES_CLAMPERL && !usesDefStat) @@ -9582,13 +9579,12 @@ static inline uq4_12_t GetAirborneModifier(u32 move, u32 battlerDef) return UQ_4_12(1.0); } -static inline uq4_12_t GetScreensModifier(u32 move, u32 battlerAtk, u32 battlerDef, bool32 isCrit) +static inline uq4_12_t GetScreensModifier(u32 move, u32 battlerAtk, u32 battlerDef, bool32 isCrit, u32 abilityAtk) { u32 sideStatus = gSideStatuses[GET_BATTLER_SIDE(battlerDef)]; bool32 lightScreen = (sideStatus & SIDE_STATUS_LIGHTSCREEN) && IS_MOVE_SPECIAL(move); bool32 reflect = (sideStatus & SIDE_STATUS_REFLECT) && IS_MOVE_PHYSICAL(move); bool32 auroraVeil = sideStatus & SIDE_STATUS_AURORA_VEIL; - u32 abilityAtk = GetBattlerAbility(battlerAtk); if (isCrit || abilityAtk == ABILITY_INFILTRATOR || gProtectStructs[battlerAtk].confusionSelfDmg) return UQ_4_12(1.0); @@ -9604,9 +9600,8 @@ static inline uq4_12_t GetCollisionCourseElectroDriftModifier(u32 move, uq4_12_t return UQ_4_12(1.0); } -static inline uq4_12_t GetAttackerAbilitiesModifier(u32 battlerAtk, uq4_12_t typeEffectivenessModifier, bool32 isCrit) +static inline uq4_12_t GetAttackerAbilitiesModifier(u32 battlerAtk, uq4_12_t typeEffectivenessModifier, bool32 isCrit, u32 abilityAtk) { - u32 abilityAtk = GetBattlerAbility(battlerAtk); switch (abilityAtk) { case ABILITY_NEUROFORCE: @@ -9625,9 +9620,8 @@ static inline uq4_12_t GetAttackerAbilitiesModifier(u32 battlerAtk, uq4_12_t typ return UQ_4_12(1.0); } -static inline uq4_12_t GetDefenderAbilitiesModifier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, uq4_12_t typeEffectivenessModifier) +static inline uq4_12_t GetDefenderAbilitiesModifier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, uq4_12_t typeEffectivenessModifier, u32 abilityDef) { - u32 abilityDef = GetBattlerAbility(battlerDef); switch (abilityDef) { case ABILITY_MULTISCALE: @@ -9673,9 +9667,8 @@ static inline uq4_12_t GetDefenderPartnerAbilitiesModifier(u32 battlerPartnerDef return UQ_4_12(1.0); } -static inline uq4_12_t GetAttackerItemsModifier(u32 battlerAtk, uq4_12_t typeEffectivenessModifier) +static inline uq4_12_t GetAttackerItemsModifier(u32 battlerAtk, uq4_12_t typeEffectivenessModifier, u32 holdEffectAtk) { - u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); u32 percentBoost; switch (holdEffectAtk) { @@ -9694,12 +9687,10 @@ static inline uq4_12_t GetAttackerItemsModifier(u32 battlerAtk, uq4_12_t typeEff return UQ_4_12(1.0); } -static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq4_12_t typeEffectivenessModifier, bool32 updateFlags) +static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq4_12_t typeEffectivenessModifier, bool32 updateFlags, u32 abilityDef, u32 holdEffectDef) { - u32 holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); u32 holdEffectDefParam = GetBattlerHoldEffectParam(battlerDef); u32 itemDef = gBattleMons[battlerDef].item; - u32 abilityDef = GetBattlerAbility(battlerDef); switch (holdEffectDef) { @@ -9727,9 +9718,9 @@ static inline uq4_12_t GetDefenderItemsModifier(u32 moveType, u32 battlerDef, uq // https://bulbapedia.bulbagarden.net/wiki/Damage#Generation_V_onward // Please Note: Fixed Point Multiplication is not associative. // The order of operations is relevant. -static uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 isCrit, uq4_12_t typeEffectivenessModifier, bool32 updateFlags) +static inline uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 isCrit, uq4_12_t typeEffectivenessModifier, bool32 updateFlags, + u32 abilityAtk, u32 abilityDef, u32 holdEffectAtk, u32 holdEffectDef) { - u32 abilityAtk = GetBattlerAbility(battlerAtk); uq4_12_t finalModifier = UQ_4_12(1.0); u32 battlerDefPartner = BATTLE_PARTNER(battlerDef); u32 unmodifiedAttackerSpeed = gBattleMons[battlerAtk].speed; @@ -9739,24 +9730,24 @@ static uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, u32 ba DAMAGE_MULTIPLY_MODIFIER(GetUndergroundModifier(move, battlerDef)); DAMAGE_MULTIPLY_MODIFIER(GetDiveModifier(move, battlerDef)); DAMAGE_MULTIPLY_MODIFIER(GetAirborneModifier(move, battlerDef)); - DAMAGE_MULTIPLY_MODIFIER(GetScreensModifier(move, battlerAtk, battlerDef, isCrit)); + DAMAGE_MULTIPLY_MODIFIER(GetScreensModifier(move, battlerAtk, battlerDef, isCrit, abilityAtk)); DAMAGE_MULTIPLY_MODIFIER(GetCollisionCourseElectroDriftModifier(move, typeEffectivenessModifier)); if (unmodifiedAttackerSpeed >= unmodifiedDefenderSpeed) { - DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit)); - DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit, abilityAtk)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier, abilityDef)); DAMAGE_MULTIPLY_MODIFIER(GetDefenderPartnerAbilitiesModifier(battlerDefPartner)); - DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier)); - DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier, holdEffectAtk)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags, abilityDef, holdEffectDef)); } else { - DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderAbilitiesModifier(move, moveType, battlerAtk, battlerDef, typeEffectivenessModifier, abilityDef)); DAMAGE_MULTIPLY_MODIFIER(GetDefenderPartnerAbilitiesModifier(battlerDefPartner)); - DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit)); - DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags)); - DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerAbilitiesModifier(battlerAtk, typeEffectivenessModifier, isCrit, abilityAtk)); + DAMAGE_MULTIPLY_MODIFIER(GetDefenderItemsModifier(moveType, battlerDef, typeEffectivenessModifier, updateFlags, abilityDef, holdEffectDef)); + DAMAGE_MULTIPLY_MODIFIER(GetAttackerItemsModifier(battlerAtk, typeEffectivenessModifier, holdEffectAtk)); } return finalModifier; } @@ -9767,7 +9758,7 @@ static uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, u32 ba dmg = uq4_12_multiply_by_int_half_down(modifier, dmg); \ } while (0) -static s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, +static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier) { s32 dmg; @@ -9776,6 +9767,7 @@ static s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveTy u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); u32 holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); u32 abilityAtk = GetBattlerAbility(battlerAtk); + u32 abilityDef = GetBattlerAbility(battlerDef); if (typeEffectivenessModifier == UQ_4_12(0.0)) return 0; @@ -9783,10 +9775,10 @@ static s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveTy if (fixedBasePower) gBattleMovePower = fixedBasePower; else - gBattleMovePower = CalcMoveBasePowerAfterModifiers(move, battlerAtk, battlerDef, moveType, updateFlags); + gBattleMovePower = CalcMoveBasePowerAfterModifiers(move, battlerAtk, battlerDef, moveType, updateFlags, abilityAtk, abilityDef, holdEffectAtk); - userFinalAttack = CalcAttackStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags); - targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags); + userFinalAttack = CalcAttackStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectAtk); + targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectDef); dmg = CalculateBaseDamage(gBattleMovePower, userFinalAttack, gBattleMons[battlerAtk].level, targetFinalDefense); DAMAGE_APPLY_MODIFIER(GetTargetDamageModifier(move, battlerAtk, battlerDef)); @@ -9804,7 +9796,7 @@ static s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveTy DAMAGE_APPLY_MODIFIER(typeEffectivenessModifier); DAMAGE_APPLY_MODIFIER(GetBurnOrFrostBiteModifier(battlerAtk, move, abilityAtk)); DAMAGE_APPLY_MODIFIER(GetZMoveAgainstProtectionModifier(battlerDef)); - DAMAGE_APPLY_MODIFIER(GetOtherModifiers(move, moveType, battlerAtk, battlerDef, isCrit, typeEffectivenessModifier, updateFlags)); + DAMAGE_APPLY_MODIFIER(GetOtherModifiers(move, moveType, battlerAtk, battlerDef, isCrit, typeEffectivenessModifier, updateFlags, abilityAtk, abilityDef, holdEffectAtk, holdEffectDef)); if (dmg == 0) dmg = 1; @@ -9813,20 +9805,20 @@ static s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveTy #undef DAMAGE_APPLY_MODIFIER -s32 CalculateMoveDamage(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags) +s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags) { return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, updateFlags)); } // for AI - get move damage and effectiveness with one function call -s32 CalculateMoveDamageAndEffectiveness(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, s32 fixedBasePower, uq4_12_t *typeEffectivenessModifier) +s32 CalculateMoveDamageAndEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t *typeEffectivenessModifier) { *typeEffectivenessModifier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, FALSE, FALSE, FALSE, *typeEffectivenessModifier); } -static void MulByTypeEffectiveness(uq4_12_t *modifier, u16 move, u8 moveType, u8 battlerDef, u8 defType, u8 battlerAtk, bool32 recordAbilities) +static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defType, u32 battlerAtk, bool32 recordAbilities) { uq4_12_t mod = GetTypeModifier(moveType, defType); @@ -9866,7 +9858,7 @@ static void MulByTypeEffectiveness(uq4_12_t *modifier, u16 move, u8 moveType, u8 *modifier = uq4_12_multiply(*modifier, mod); } -static void TryNoticeIllusionInTypeEffectiveness(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, uq4_12_t resultingModifier, u32 illusionSpecies) +static inline void TryNoticeIllusionInTypeEffectiveness(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, uq4_12_t resultingModifier, u32 illusionSpecies) { // Check if the type effectiveness would've been different if the pokemon really had the types as the disguise. uq4_12_t presumedModifier = UQ_4_12(1.0); @@ -9901,10 +9893,9 @@ static void UpdateMoveResultFlags(uq4_12_t modifier) } } -static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities, uq4_12_t modifier) +static inline uq4_12_t CalcTypeEffectivenessMultiplierInternal(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities, uq4_12_t modifier, u32 defAbility) { u32 illusionSpecies; - u16 defAbility = GetBattlerAbility(battlerDef); MulByTypeEffectiveness(&modifier, move, moveType, battlerDef, gBattleMons[battlerDef].type1, battlerAtk, recordAbilities); if (gBattleMons[battlerDef].type2 != gBattleMons[battlerDef].type1) @@ -9974,15 +9965,16 @@ static u16 CalcTypeEffectivenessMultiplierInternal(u16 move, u8 moveType, u8 bat return modifier; } -uq4_12_t CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 battlerDef, bool32 recordAbilities) +uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities) { uq4_12_t modifier = UQ_4_12(1.0); if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) { - modifier = CalcTypeEffectivenessMultiplierInternal(move, moveType, battlerAtk, battlerDef, recordAbilities, modifier); + u32 defAbility = GetBattlerAbility(defAbility); + modifier = CalcTypeEffectivenessMultiplierInternal(move, moveType, battlerAtk, battlerDef, recordAbilities, modifier, defAbility); if (gBattleMoves[move].effect == EFFECT_TWO_TYPED_MOVE) - modifier = CalcTypeEffectivenessMultiplierInternal(move, gBattleMoves[move].argument, battlerAtk, battlerDef, recordAbilities, modifier); + modifier = CalcTypeEffectivenessMultiplierInternal(move, gBattleMoves[move].argument, battlerAtk, battlerDef, recordAbilities, modifier, defAbility); } if (recordAbilities) @@ -10026,7 +10018,7 @@ static uq4_12_t GetInverseTypeMultiplier(uq4_12_t multiplier) } } -uq4_12_t GetTypeModifier(u8 atkType, u8 defType) +uq4_12_t GetTypeModifier(u32 atkType, u32 defType) { #if B_FLAG_INVERSE_BATTLE != 0 if (FlagGet(B_FLAG_INVERSE_BATTLE)) @@ -10959,7 +10951,7 @@ bool32 TryRoomService(u8 battler) } } -bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u8 battlerDef, bool32 checkTarget) +bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u32 battlerDef, bool32 checkTarget) { #if B_PRANKSTER_DARK_TYPES >= GEN_7 if (!gProtectStructs[battlerPrankster].pranksterElevated) @@ -11009,7 +11001,7 @@ u32 GetBattlerMoveTargetType(u8 battler, u16 move) return gBattleMoves[move].target; } -bool32 CanTargetBattler(u8 battlerAtk, u8 battlerDef, u16 move) +bool32 CanTargetBattler(u32 battlerAtk, u32 battlerDef, u16 move) { if (gBattleMoves[move].effect == EFFECT_HIT_ENEMY_HEAL_ALLY && GetBattlerSide(battlerAtk) == GetBattlerSide(battlerDef) From 9778587935277433e24d3e7cd197404f40e621fb Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 00:02:26 +0200 Subject: [PATCH 226/256] optimize battle util and item functions by setting u32 variables --- include/battle_main.h | 1 - include/battle_util.h | 137 +++++++++++----------- include/item.h | 6 +- src/battle_util.c | 265 ++++++++++++++++++++++-------------------- src/item.c | 6 +- 5 files changed, 211 insertions(+), 204 deletions(-) diff --git a/include/battle_main.h b/include/battle_main.h index 5cf7e7219a..6b7756012f 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -65,7 +65,6 @@ s8 GetMovePriority(u32 battlerId, u16 move); u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); -bool8 TryRunFromBattle(u8 battlerId); void SpecialStatusesClear(void); void SetTypeBeforeUsingMove(u16 move, u32 battlerAtk); bool32 IsWildMonSmart(void); diff --git a/include/battle_util.h b/include/battle_util.h index e3ae799b41..678585e1d2 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -101,6 +101,7 @@ bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move); void HandleAction_UseMove(void); void HandleAction_Switch(void); void HandleAction_UseItem(void); +bool32 TryRunFromBattle(u32 battler); void HandleAction_Run(void); void HandleAction_WatchesCarefully(void); void HandleAction_SafariZoneBallThrow(void); @@ -115,59 +116,59 @@ u8 GetBattlerForBattleScript(u8 caseId); void PressurePPLose(u8 target, u8 attacker, u16 move); void PressurePPLoseOnUsingPerishSong(u8 attacker); void PressurePPLoseOnUsingImprison(u8 attacker); -bool32 IsBattlerMarkedForControllerExec(u8 battler); -void MarkBattlerForControllerExec(u8 battler); -void MarkBattlerReceivedLinkData(u8 battler); -void CancelMultiTurnMoves(u8 battler); -bool8 WasUnableToUseMove(u8 battler); -void PrepareStringBattle(u16 stringId, u8 battler); +bool32 IsBattlerMarkedForControllerExec(u32 battler); +void MarkBattlerForControllerExec(u32 battler); +void MarkBattlerReceivedLinkData(u32 battler); +void CancelMultiTurnMoves(u32 battler); +bool32 WasUnableToUseMove(u32 battler); +void PrepareStringBattle(u16 stringId, u32 battler); void ResetSentPokesToOpponentValue(void); -void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler); -void UpdateSentPokesToOpponentValue(u8 battler); +void OpponentSwitchInResetSentPokesToOpponentValue(u32 battler); +void UpdateSentPokesToOpponentValue(u32 battler); void BattleScriptPush(const u8 *bsPtr); void BattleScriptPushCursor(void); void BattleScriptPop(void); u32 TrySetCantSelectMoveBattleScript(u32 battler); -u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u16 check); +u8 CheckMoveLimitations(u32 battler, u8 unusableMoves, u16 check); bool32 AreAllMovesUnusable(u32 battler); -u8 GetImprisonedMovesCount(u8 battler, u16 move); +u8 GetImprisonedMovesCount(u32 battler, u16 move); u8 DoFieldEndTurnEffects(void); s32 GetDrainedBigRootHp(u32 battler, s32 hp); u8 DoBattlerEndTurnEffects(void); -bool8 HandleWishPerishSongOnTurnEnd(void); -bool8 HandleFaintedMonActions(void); +bool32 HandleWishPerishSongOnTurnEnd(void); +bool32 HandleFaintedMonActions(void); void TryClearRageAndFuryCutter(void); u8 AtkCanceller_UnableToUseMove(u32 moveType); void SetAtkCancellerForCalledMove(void); u8 AtkCanceller_UnableToUseMove2(void); -bool8 HasNoMonsToSwitch(u8 battler, u8 r1, u8 r2); -bool32 TryChangeBattleWeather(u8 battler, u32 weatherEnumId, bool32 viaAbility); -u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 moveArg); -bool32 TryPrimalReversion(u8 battler); +bool32 HasNoMonsToSwitch(u32 battler, u8 r1, u8 r2); +bool32 TryChangeBattleWeather(u32 battler, u32 weatherEnumId, bool32 viaAbility); +u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg); +bool32 TryPrimalReversion(u32 battler); bool32 IsNeutralizingGasOnField(void); -u32 GetBattlerAbility(u8 battler); +u32 GetBattlerAbility(u32 battler); u32 IsAbilityOnSide(u32 battler, u32 ability); u32 IsAbilityOnOpposingSide(u32 battler, u32 ability); u32 IsAbilityOnField(u32 ability); u32 IsAbilityOnFieldExcept(u32 battler, u32 ability); u32 IsAbilityPreventingEscape(u32 battler); -bool32 IsBattlerProtected(u8 battler, u16 move); +bool32 IsBattlerProtected(u32 battler, u32 move); bool32 CanBattlerEscape(u32 battler); // no ability check void BattleScriptExecute(const u8 *BS_ptr); void BattleScriptPushCursorAndCallback(const u8 *BS_ptr); -u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn); -void ClearFuryCutterDestinyBondGrudge(u8 battler); +u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn); +void ClearFuryCutterDestinyBondGrudge(u32 battler); void HandleAction_RunBattleScript(void); u32 SetRandomTarget(u32 battler); u32 GetMoveTarget(u16 move, u8 setTarget); u8 IsMonDisobedient(void); u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating); -u32 GetBattlerHoldEffectParam(u8 battler); -bool32 IsMoveMakingContact(u16 move, u32 battlerAtk); -bool32 IsBattlerGrounded(u8 battler); -bool32 IsBattlerAlive(u8 battler); -u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move); -u32 GetBattlerWeight(u8 battler); +u32 GetBattlerHoldEffectParam(u32 battler); +bool32 IsMoveMakingContact(u32 move, u32 battlerAtk); +bool32 IsBattlerGrounded(u32 battler); +bool32 IsBattlerAlive(u32 battler); +u32 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u32 move); +u32 GetBattlerWeight(u32 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); @@ -175,46 +176,46 @@ s32 CalculateMoveDamageAndEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u32 atkType, u32 defType); -s32 GetStealthHazardDamage(u8 hazardType, u8 battler); +s32 GetStealthHazardDamage(u8 hazardType, u32 battler); s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp); -bool32 CanMegaEvolve(u8 battler); -bool32 CanUltraBurst(u8 battler); -bool32 IsBattlerMegaEvolved(u8 battler); -bool32 IsBattlerPrimalReverted(u8 battler); -bool32 IsBattlerUltraBursted(u8 battler); -u16 GetBattleFormChangeTargetSpecies(u8 battler, u16 method); -bool32 TryBattleFormChange(u8 battler, u16 method); +bool32 CanMegaEvolve(u32 battler); +bool32 CanUltraBurst(u32 battler); +bool32 IsBattlerMegaEvolved(u32 battler); +bool32 IsBattlerPrimalReverted(u32 battler); +bool32 IsBattlerUltraBursted(u32 battler); +u16 GetBattleFormChangeTargetSpecies(u32 battler, u16 method); +bool32 TryBattleFormChange(u32 battler, u16 method); bool32 DoBattlersShareType(u32 battler1, u32 battler2); -bool32 CanBattlerGetOrLoseItem(u8 battler, u16 itemId); +bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId); u32 GetIllusionMonSpecies(u32 battler); struct Pokemon *GetIllusionMonPtr(u32 battler); void ClearIllusionMon(u32 battler); bool32 SetIllusionMon(struct Pokemon *mon, u32 battler); -bool8 ShouldGetStatBadgeBoost(u16 flagId, u8 battler); +bool32 ShouldGetStatBadgeBoost(u16 flagId, u32 battler); u8 GetBattleMoveSplit(u32 moveId); bool32 CanFling(u32 battler); bool32 IsTelekinesisBannedSpecies(u16 species); bool32 IsHealBlockPreventingMove(u32 battler, u32 move); bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId); -bool32 IsPartnerMonFromSameTrainer(u8 battler); -u8 GetSplitBasedOnStats(u8 battler); -bool32 TestSheerForceFlag(u8 battler, u16 move); +bool32 IsPartnerMonFromSameTrainer(u32 battler); +u8 GetSplitBasedOnStats(u32 battler); +bool32 TestSheerForceFlag(u32 battler, u16 move); void TryRestoreHeldItems(void); -bool32 CanStealItem(u8 battlerStealing, u8 battlerItem, u16 item); -void TrySaveExchangedItem(u8 battler, u16 stolenItem); -bool32 IsPartnerMonFromSameTrainer(u8 battler); -u8 TryHandleSeed(u8 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 execute); -bool32 IsBattlerAffectedByHazards(u8 battler, bool32 toxicSpikes); -void SortBattlersBySpeed(u8 *battlers, bool8 slowToFast); -bool32 CompareStat(u8 battler, u8 statId, u8 cmpTo, u8 cmpKind); -bool32 TryRoomService(u8 battler); -void BufferStatChange(u8 battler, u8 statId, u8 stringId); -bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u32 battlerDef, bool32 checkTarget); -u16 GetUsedHeldItem(u8 battler); -bool32 IsBattlerWeatherAffected(u8 battler, u32 weatherFlags); -u32 GetBattlerMoveTargetType(u8 battler, u16 move); +bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item); +void TrySaveExchangedItem(u32 battler, u16 stolenItem); +bool32 IsPartnerMonFromSameTrainer(u32 battler); +u8 TryHandleSeed(u32 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 execute); +bool32 IsBattlerAffectedByHazards(u32 battler, bool32 toxicSpikes); +void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast); +bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind); +bool32 TryRoomService(u32 battler); +void BufferStatChange(u32 battler, u8 statId, u8 stringId); +bool32 BlocksPrankster(u16 move, u32 battlerPrankster, u32 battlerDef, bool32 checkTarget); +u16 GetUsedHeldItem(u32 battler); +bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags); +u32 GetBattlerMoveTargetType(u32 battler, u32 move); bool32 CanTargetBattler(u32 battlerAtk, u32 battlerDef, u16 move); -bool8 IsMoveAffectedByParentalBond(u16 move, u8 battler); +bool32 IsMoveAffectedByParentalBond(u16 move, u32 battler); void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); @@ -230,21 +231,21 @@ bool32 IsGastroAcidBannedAbility(u16 ability); bool32 IsEntrainmentBannedAbilityAttacker(u16 ability); bool32 IsEntrainmentTargetOrSimpleBeamBannedAbility(u16 ability); -bool32 CanSleep(u8 battler); -bool32 CanBePoisoned(u8 battlerAttacker, u8 battlerTarget); -bool32 CanBeBurned(u8 battler); -bool32 CanBeParalyzed(u8 battler); -bool32 CanBeFrozen(u8 battler); -bool32 CanGetFrostbite(u8 battler); -bool32 CanBeConfused(u8 battler); -bool32 IsBattlerTerrainAffected(u8 battler, u32 terrainFlag); -u32 GetBattlerFriendshipScore(u8 battler); -u32 CountBattlerStatIncreases(u8 battler, bool32 countEvasionAcc); +bool32 CanSleep(u32 battler); +bool32 CanBePoisoned(u32 battlerAttacker, u32 battlerTarget); +bool32 CanBeBurned(u32 battler); +bool32 CanBeParalyzed(u32 battler); +bool32 CanBeFrozen(u32 battler); +bool32 CanGetFrostbite(u32 battler); +bool32 CanBeConfused(u32 battler); +bool32 IsBattlerTerrainAffected(u32 battler, u32 terrainFlag); +u32 GetBattlerFriendshipScore(u32 battler); +u32 CountBattlerStatIncreases(u32 battler, bool32 countEvasionAcc); bool32 IsMyceliumMightOnField(void); -bool8 ChangeTypeBasedOnTerrain(u8 battler); -void RemoveConfusionStatus(u8 battler); -u8 GetBattlerGender(u8 battler); -bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2); -u32 CalcSecondaryEffectChance(u8 battler, u8 secondaryEffectChance); +bool32 ChangeTypeBasedOnTerrain(u32 battler); +void RemoveConfusionStatus(u32 battler); +u8 GetBattlerGender(u32 battler); +bool32 AreBattlersOfOppositeGender(u32 battler1, u32 battler2); +u32 CalcSecondaryEffectChance(u32 battler, u8 secondaryEffectChance); #endif // GUARD_BATTLE_UTIL_H diff --git a/include/item.h b/include/item.h index eac8fead9b..d130500c07 100644 --- a/include/item.h +++ b/include/item.h @@ -63,8 +63,8 @@ bool8 AddPyramidBagItem(u16 itemId, u16 count); bool8 RemovePyramidBagItem(u16 itemId, u16 count); const u8 *ItemId_GetName(u16 itemId); u16 ItemId_GetPrice(u16 itemId); -u8 ItemId_GetHoldEffect(u16 itemId); -u8 ItemId_GetHoldEffectParam(u16 itemId); +u32 ItemId_GetHoldEffect(u32 itemId); +u32 ItemId_GetHoldEffectParam(u32 itemId); const u8 *ItemId_GetDescription(u16 itemId); u8 ItemId_GetImportance(u16 itemId); u8 ItemId_GetPocket(u16 itemId); @@ -72,7 +72,7 @@ u8 ItemId_GetType(u16 itemId); ItemUseFunc ItemId_GetFieldFunc(u16 itemId); u8 ItemId_GetBattleUsage(u16 itemId); u8 ItemId_GetSecondaryId(u16 itemId); -u8 ItemId_GetFlingPower(u16 itemId); +u32 ItemId_GetFlingPower(u32 itemId); u32 GetItemStatus1Mask(u16 itemId); u32 GetItemStatus2Mask(u16 itemId); diff --git a/src/battle_util.c b/src/battle_util.c index 0bacf29aea..1e3c43e7b3 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -57,14 +57,14 @@ match the ROM; this is also why sSoundMovesTable's declaration is in the middle functions instead of at the top of the file with the other declarations. */ -static bool32 TryRemoveScreens(u8 battler); -static bool32 IsUnnerveAbilityOnOpposingSide(u8 battler); -static u8 GetFlingPowerFromItemId(u16 itemId); +static bool32 TryRemoveScreens(u32 battler); +static bool32 IsUnnerveAbilityOnOpposingSide(u32 battler); +static u32 GetFlingPowerFromItemId(u32 itemId); static void SetRandomMultiHitCounter(); -static u32 GetBattlerItemHoldEffectParam(u8 battler, u16 item); +static u32 GetBattlerItemHoldEffectParam(u32 battler, u32 item); static uq4_12_t GetInverseTypeMultiplier(uq4_12_t multiplier); -static uq4_12_t GetSupremeOverlordModifier(u8 battler); -static bool8 CanBeInfinitelyConfused(u8 battler); +static uq4_12_t GetSupremeOverlordModifier(u32 battler); +static bool32 CanBeInfinitelyConfused(u32 battler); extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForRunningByItem[]; @@ -557,9 +557,9 @@ void HandleAction_UseItem(void) gCurrentActionFuncId = B_ACTION_EXEC_SCRIPT; } -bool8 TryRunFromBattle(u8 battler) +bool32 TryRunFromBattle(u32 battler) { - bool8 effect = FALSE; + bool32 effect = FALSE; u8 holdEffect; u8 pyramidMultiplier; u8 speedVar; @@ -864,8 +864,8 @@ void HandleAction_ActionFinished(void) { for (j = i + 1; j < gBattlersCount; j++) { - u8 battler1 = gBattlerByTurnOrder[i]; - u8 battler2 = gBattlerByTurnOrder[j]; + u32 battler1 = gBattlerByTurnOrder[i]; + u32 battler2 = gBattlerByTurnOrder[j]; if (gProtectStructs[battler1].quash || gProtectStructs[battler2].quash || gProtectStructs[battler1].shellTrap || gProtectStructs[battler2].shellTrap) @@ -1315,7 +1315,7 @@ static void MarkAllBattlersForControllerExec(void) } } -bool32 IsBattlerMarkedForControllerExec(u8 battler) +bool32 IsBattlerMarkedForControllerExec(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) return (gBattleControllerExecFlags & (gBitTable[battler] << 0x1C)) != 0; @@ -1323,7 +1323,7 @@ bool32 IsBattlerMarkedForControllerExec(u8 battler) return (gBattleControllerExecFlags & (gBitTable[battler])) != 0; } -void MarkBattlerForControllerExec(u8 battler) +void MarkBattlerForControllerExec(u32 battler) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) gBattleControllerExecFlags |= gBitTable[battler] << (32 - MAX_BATTLERS_COUNT); @@ -1331,7 +1331,7 @@ void MarkBattlerForControllerExec(u8 battler) gBattleControllerExecFlags |= gBitTable[battler]; } -void MarkBattlerReceivedLinkData(u8 battler) +void MarkBattlerReceivedLinkData(u32 battler) { s32 i; @@ -1341,7 +1341,7 @@ void MarkBattlerReceivedLinkData(u8 battler) gBattleControllerExecFlags &= ~((1 << 28) << battler); } -void CancelMultiTurnMoves(u8 battler) +void CancelMultiTurnMoves(u32 battler) { u8 i; gBattleMons[battler].status2 &= ~(STATUS2_MULTIPLETURNS); @@ -1422,7 +1422,7 @@ void CancelMultiTurnMoves(u8 battler) gDisableStructs[battler].furyCutterCounter = 0; } -bool8 WasUnableToUseMove(u8 battler) +bool32 WasUnableToUseMove(u32 battler) { if (gProtectStructs[battler].prlzImmobility || gProtectStructs[battler].usedImprisonedMove @@ -1441,7 +1441,7 @@ bool8 WasUnableToUseMove(u8 battler) return FALSE; } -void PrepareStringBattle(u16 stringId, u8 battler) +void PrepareStringBattle(u16 stringId, u32 battler) { u32 targetSide = GetBattlerSide(gBattlerTarget); u16 battlerAbility = GetBattlerAbility(battler); @@ -1512,7 +1512,7 @@ void ResetSentPokesToOpponentValue(void) gSentPokesToOpponent[(i & BIT_FLANK) >> 1] = bits; } -void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler) +void OpponentSwitchInResetSentPokesToOpponentValue(u32 battler) { s32 i = 0; u32 bits = 0; @@ -1531,7 +1531,7 @@ void OpponentSwitchInResetSentPokesToOpponentValue(u8 battler) } } -void UpdateSentPokesToOpponentValue(u8 battler) +void UpdateSentPokesToOpponentValue(u32 battler) { if (GetBattlerSide(battler) == B_SIDE_OPPONENT) { @@ -1827,7 +1827,7 @@ u32 TrySetCantSelectMoveBattleScript(u32 battler) return limitations; } -u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u16 check) +u8 CheckMoveLimitations(u32 battler, u8 unusableMoves, u16 check) { u8 holdEffect = GetBattlerHoldEffect(battler, TRUE); u16 *choicedMove = &gBattleStruct->choicedMove[battler]; @@ -1907,11 +1907,11 @@ bool32 AreAllMovesUnusable(u32 battler) return (unusable == ALL_MOVES_MASK); } -u8 GetImprisonedMovesCount(u8 battler, u16 move) +u8 GetImprisonedMovesCount(u32 battler, u16 move) { s32 i; u8 imprisonedMoves = 0; - u8 battlerSide = GetBattlerSide(battler); + u32 battlerSide = GetBattlerSide(battler); for (i = 0; i < gBattlersCount; i++) { @@ -1931,7 +1931,7 @@ u8 GetImprisonedMovesCount(u8 battler, u16 move) return imprisonedMoves; } -u32 GetBattlerFriendshipScore(u8 battler) +u32 GetBattlerFriendshipScore(u32 battler) { u8 side = GetBattlerSide(battler); struct Pokemon *party = GetSideParty(side); @@ -3100,7 +3100,7 @@ u8 DoBattlerEndTurnEffects(void) return 0; } -bool8 HandleWishPerishSongOnTurnEnd(void) +bool32 HandleWishPerishSongOnTurnEnd(void) { u32 battler; @@ -3203,7 +3203,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) #define FAINTED_ACTIONS_MAX_CASE 8 -bool8 HandleFaintedMonActions(void) +bool32 HandleFaintedMonActions(void) { if (gBattleTypeFlags & BATTLE_TYPE_SAFARI) return FALSE; @@ -3811,7 +3811,7 @@ u8 AtkCanceller_UnableToUseMove2(void) return effect; } -bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) +bool32 HasNoMonsToSwitch(u32 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2) { u32 i, side, playerId, flankId; struct Pokemon *party; @@ -3966,7 +3966,7 @@ static const u16 sWeatherFlagsInfo[][3] = [ENUM_WEATHER_SNOW] = {B_WEATHER_SNOW_TEMPORARY, B_WEATHER_SNOW_PERMANENT, HOLD_EFFECT_ICY_ROCK}, }; -static void ShouldChangeFormInWeather(u8 battler) +static void ShouldChangeFormInWeather(u32 battler) { int i; int side = GetBattlerSide(battler); @@ -3981,7 +3981,7 @@ static void ShouldChangeFormInWeather(u8 battler) } } -bool32 TryChangeBattleWeather(u8 battler, u32 weatherEnumId, bool32 viaAbility) +bool32 TryChangeBattleWeather(u32 battler, u32 weatherEnumId, bool32 viaAbility) { u16 battlerAbility = GetBattlerAbility(battler); if (gBattleWeather & B_WEATHER_PRIMAL_ANY @@ -4031,10 +4031,10 @@ static bool32 TryChangeBattleTerrain(u32 battler, u32 statusFlag, u8 *timer) return FALSE; } -static u8 ForewarnChooseMove(u32 battler) +static void ForewarnChooseMove(u32 battler) { struct Forewarn { - u8 battler; + u32 battler; u8 power; u16 moveId; }; @@ -4089,9 +4089,9 @@ static u8 ForewarnChooseMove(u32 battler) Free(data); } -bool8 ChangeTypeBasedOnTerrain(u8 battler) +bool32 ChangeTypeBasedOnTerrain(u32 battler) { - u8 battlerType; + u32 battlerType; if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) battlerType = TYPE_ELECTRIC; @@ -4111,12 +4111,12 @@ bool8 ChangeTypeBasedOnTerrain(u8 battler) // Supreme Overlord adds a damage boost for each fainted ally. // The first ally adds a x1.2 boost, and subsequent allies add an extra x0.1 boost each. -static uq4_12_t GetSupremeOverlordModifier(u8 battler) +static uq4_12_t GetSupremeOverlordModifier(u32 battler) { u32 i; struct Pokemon *party = GetBattlerParty(battler); uq4_12_t modifier = UQ_4_12(1.0); - bool8 appliedFirstBoost = FALSE; + bool32 appliedFirstBoost = FALSE; for (i = 0; i < PARTY_SIZE; i++) { @@ -4130,9 +4130,9 @@ static uq4_12_t GetSupremeOverlordModifier(u8 battler) return modifier; } -u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 moveArg) +u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 moveArg) { - u8 effect = 0; + u32 effect = 0; u32 speciesAtk, speciesDef; u32 moveType, move; u32 i, j; @@ -5376,7 +5376,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && IsBattlerAlive(gBattlerAttacker) && IsMoveMakingContact(move, gBattlerAttacker)) { - u8 battler; + u32 battler; if ((battler = IsAbilityOnField(ABILITY_DAMP))) { gBattleScripting.battler = battler - 1; @@ -6065,7 +6065,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move return effect; } -bool32 TryPrimalReversion(u8 battler) +bool32 TryPrimalReversion(u32 battler) { if (GetBattlerHoldEffect(battler, FALSE) == HOLD_EFFECT_PRIMAL_ORB && GetBattleFormChangeTargetSpecies(battler, FORM_CHANGE_BATTLE_PRIMAL_REVERSION) != SPECIES_NONE) @@ -6135,7 +6135,7 @@ bool32 IsMyceliumMightOnField(void) return FALSE; } -u32 GetBattlerAbility(u8 battler) +u32 GetBattlerAbility(u32 battler) { if (gStatuses3[battler] & STATUS3_GASTRO_ACID) return ABILITY_NONE; @@ -6268,7 +6268,7 @@ enum ITEM_STATS_CHANGE, }; -bool32 IsBattlerTerrainAffected(u8 battler, u32 terrainFlag) +bool32 IsBattlerTerrainAffected(u32 battler, u32 terrainFlag) { if (!(gFieldStatuses & terrainFlag)) return FALSE; @@ -6278,7 +6278,7 @@ bool32 IsBattlerTerrainAffected(u8 battler, u32 terrainFlag) return IsBattlerGrounded(battler); } -bool32 CanSleep(u8 battler) +bool32 CanSleep(u32 battler) { u16 ability = GetBattlerAbility(battler); if (ability == ABILITY_INSOMNIA @@ -6293,7 +6293,7 @@ bool32 CanSleep(u8 battler) return TRUE; } -bool32 CanBePoisoned(u8 battlerAttacker, u8 battlerTarget) +bool32 CanBePoisoned(u32 battlerAttacker, u32 battlerTarget) { u16 ability = GetBattlerAbility(battlerTarget); @@ -6309,7 +6309,7 @@ bool32 CanBePoisoned(u8 battlerAttacker, u8 battlerTarget) return TRUE; } -bool32 CanBeBurned(u8 battler) +bool32 CanBeBurned(u32 battler) { u16 ability = GetBattlerAbility(battler); if (IS_BATTLER_OF_TYPE(battler, TYPE_FIRE) @@ -6325,7 +6325,7 @@ bool32 CanBeBurned(u8 battler) return TRUE; } -bool32 CanBeParalyzed(u8 battler) +bool32 CanBeParalyzed(u32 battler) { u16 ability = GetBattlerAbility(battler); if ( @@ -6342,7 +6342,7 @@ bool32 CanBeParalyzed(u8 battler) return TRUE; } -bool32 CanBeFrozen(u8 battler) +bool32 CanBeFrozen(u32 battler) { u16 ability = GetBattlerAbility(battler); if (IS_BATTLER_OF_TYPE(battler, TYPE_ICE) @@ -6357,7 +6357,7 @@ bool32 CanBeFrozen(u8 battler) return TRUE; } -bool32 CanGetFrostbite(u8 battler) +bool32 CanGetFrostbite(u32 battler) { u16 ability = GetBattlerAbility(battler); if (IS_BATTLER_OF_TYPE(battler, TYPE_ICE) @@ -6371,7 +6371,7 @@ bool32 CanGetFrostbite(u8 battler) return TRUE; } -bool32 CanBeConfused(u8 battler) +bool32 CanBeConfused(u32 battler) { if (GetBattlerAbility(battler) == ABILITY_OWN_TEMPO || gBattleMons[battler].status2 & STATUS2_CONFUSION @@ -6411,7 +6411,7 @@ bool32 HasEnoughHpToEatBerry(u32 battler, u32 hpFraction, u32 itemId) #define CONFUSE_BERRY_HP_FRACTION 2 #endif -static u8 HealConfuseBerry(u32 battler, u32 itemId, u8 flavorId, bool32 end2) +static u8 HealConfuseBerry(u32 battler, u32 itemId, u32 flavorId, bool32 end2) { if (HasEnoughHpToEatBerry(battler, CONFUSE_BERRY_HP_FRACTION, itemId) #if B_HEAL_BLOCKING >= GEN_5 @@ -6554,7 +6554,7 @@ static u8 TrySetMicleBerry(u32 battler, u32 itemId, bool32 end2) return 0; } -static u8 DamagedStatBoostBerryEffect(u8 battler, u8 statId, u8 split) +static u8 DamagedStatBoostBerryEffect(u32 battler, u8 statId, u8 split) { if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED @@ -6580,7 +6580,7 @@ static u8 DamagedStatBoostBerryEffect(u8 battler, u8 statId, u8 split) return 0; } -u8 TryHandleSeed(u8 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 execute) +u8 TryHandleSeed(u32 battler, u32 terrainFlag, u8 statId, u16 itemId, bool32 execute) { if (gFieldStatuses & terrainFlag && CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN)) { @@ -6643,7 +6643,7 @@ static bool32 UnnerveOn(u32 battler, u32 itemId) return FALSE; } -static bool32 GetMentalHerbEffect(u8 battler) +static bool32 GetMentalHerbEffect(u32 battler) { bool32 ret = FALSE; @@ -6698,7 +6698,7 @@ static bool32 GetMentalHerbEffect(u8 battler) return ret; } -static u8 TryConsumeMirrorHerb(u8 battler, bool32 execute) +static u8 TryConsumeMirrorHerb(u32 battler, bool32 execute) { u8 effect = 0; @@ -6935,12 +6935,12 @@ static u8 ItemEffectMoveEnd(u32 battler, u16 holdEffect) return effect; } -u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) +u8 ItemBattleEffects(u8 caseID, u32 battler, bool32 moveTurn) { int i = 0, moveType; u8 effect = ITEM_NO_EFFECT; u8 changedPP = 0; - u8 battlerHoldEffect, atkHoldEffect; + u32 battlerHoldEffect, atkHoldEffect; u8 atkHoldEffectParam; u16 atkItem; @@ -7849,7 +7849,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) return effect; } -void ClearFuryCutterDestinyBondGrudge(u8 battler) +void ClearFuryCutterDestinyBondGrudge(u32 battler) { gDisableStructs[battler].furyCutterCounter = 0; gBattleMons[battler].status2 &= ~STATUS2_DESTINY_BOND; @@ -7963,7 +7963,7 @@ u32 GetMoveTarget(u16 move, u8 setTarget) return targetBattler; } -static bool32 IsBattlerModernFatefulEncounter(u8 battler) +static bool32 IsBattlerModernFatefulEncounter(u32 battler) { if (GetBattlerSide(battler) == B_SIDE_OPPONENT) return TRUE; @@ -8120,7 +8120,7 @@ u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating) return ItemId_GetHoldEffect(gBattleMons[battler].item); } -static u32 GetBattlerItemHoldEffectParam(u8 battler, u16 item) +static u32 GetBattlerItemHoldEffectParam(u32 battler, u32 item) { if (item == ITEM_ENIGMA_BERRY_E_READER) return gEnigmaBerries[battler].holdEffectParam; @@ -8128,7 +8128,7 @@ static u32 GetBattlerItemHoldEffectParam(u8 battler, u16 item) return ItemId_GetHoldEffectParam(item); } -u32 GetBattlerHoldEffectParam(u8 battler) +u32 GetBattlerHoldEffectParam(u32 battler) { if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) return gEnigmaBerries[battler].holdEffectParam; @@ -8136,9 +8136,9 @@ u32 GetBattlerHoldEffectParam(u8 battler) return ItemId_GetHoldEffectParam(gBattleMons[battler].item); } -bool32 IsMoveMakingContact(u16 move, u32 battlerAtk) +bool32 IsMoveMakingContact(u32 move, u32 battlerAtk) { - u16 atkHoldEffect = GetBattlerHoldEffect(battlerAtk, TRUE); + u32 atkHoldEffect = GetBattlerHoldEffect(battlerAtk, TRUE); if (!gBattleMoves[move].makesContact) { @@ -8159,7 +8159,7 @@ bool32 IsMoveMakingContact(u16 move, u32 battlerAtk) } } -bool32 IsBattlerProtected(u8 battler, u16 move) +bool32 IsBattlerProtected(u32 battler, u32 move) { // Decorate bypasses protect and detect, but not crafty shield if (move == MOVE_DECORATE) @@ -8217,7 +8217,7 @@ bool32 IsBattlerProtected(u8 battler, u16 move) } // Only called directly when calculating damage type effectiveness -static bool32 IsBattlerGrounded2(u8 battler, bool32 considerInverse) +static bool32 IsBattlerGrounded2(u32 battler, bool32 considerInverse) { if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_IRON_BALL) return TRUE; @@ -8242,12 +8242,12 @@ static bool32 IsBattlerGrounded2(u8 battler, bool32 considerInverse) return TRUE; } -bool32 IsBattlerGrounded(u8 battler) +bool32 IsBattlerGrounded(u32 battler) { IsBattlerGrounded2(battler, FALSE); } -bool32 IsBattlerAlive(u8 battler) +bool32 IsBattlerAlive(u32 battler) { if (gBattleMons[battler].hp == 0) return FALSE; @@ -8259,9 +8259,9 @@ bool32 IsBattlerAlive(u8 battler) return TRUE; } -u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move) +u32 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u32 move) { - u8 i; + u32 i; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -8271,7 +8271,7 @@ u8 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u16 move) return i; } -u32 GetBattlerWeight(u8 battler) +u32 GetBattlerWeight(u32 battler) { u32 i; u32 weight = GetPokedexHeightWeight(SpeciesToNationalPokedexNum(gBattleMons[battler].species), 1); @@ -8305,7 +8305,7 @@ u32 GetBattlerWeight(u8 battler) return weight; } -u32 CountBattlerStatIncreases(u8 battler, bool32 countEvasionAcc) +u32 CountBattlerStatIncreases(u32 battler, bool32 countEvasionAcc) { u32 i; u32 count = 0; @@ -8321,7 +8321,7 @@ u32 CountBattlerStatIncreases(u8 battler, bool32 countEvasionAcc) return count; } -u32 GetMoveTargetCount(u16 move, u32 battlerAtk, u32 battlerDef) +u32 GetMoveTargetCount(u32 move, u32 battlerAtk, u32 battlerDef) { switch (GetBattlerMoveTargetType(gBattlerAttacker, move)) { @@ -8460,10 +8460,10 @@ u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter) return basePower; } -static inline u16 CalcMoveBasePower(u16 move, u32 battlerAtk, u32 battlerDef, u32 abilityDef) +static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u32 abilityDef, u32 weather) { u32 i; - u16 basePower = gBattleMoves[move].power; + u32 basePower = gBattleMoves[move].power; u32 weight, hpFraction, speed; if (gBattleStruct->zmove.active) @@ -8524,7 +8524,7 @@ static inline u16 CalcMoveBasePower(u16 move, u32 battlerAtk, u32 battlerDef, u3 basePower *= 2; break; case EFFECT_WEATHER_BALL: - if (gBattleWeather & B_WEATHER_ANY && WEATHER_HAS_EFFECT) + if (weather & B_WEATHER_ANY) basePower *= 2; break; case EFFECT_PURSUIT: @@ -8716,11 +8716,11 @@ static inline u16 CalcMoveBasePower(u16 move, u32 battlerAtk, u32 battlerDef, u3 return basePower; } -static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 battlerDef, u8 moveType, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk) +static inline u32 CalcMoveBasePowerAfterModifiers(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk, u32 weather) { u32 i; u32 holdEffectParamAtk; - u16 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef, defAbility); + u32 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef, defAbility, weather); uq4_12_t holdEffectModifier; uq4_12_t modifier = UQ_4_12(1.0); u32 atkSide = GET_BATTLER_SIDE(battlerAtk); @@ -8833,7 +8833,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 break; case ABILITY_SAND_FORCE: if ((moveType == TYPE_STEEL || moveType == TYPE_ROCK || moveType == TYPE_GROUND) - && gBattleWeather & B_WEATHER_SANDSTORM && WEATHER_HAS_EFFECT) + && weather & B_WEATHER_SANDSTORM) modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_RIVALRY: @@ -8913,7 +8913,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 case ABILITY_PROTOSYNTHESIS: { u8 atkHighestStat = GetHighestStatId(battlerAtk); - if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT + if (weather & B_WEATHER_SUN && ((IS_MOVE_PHYSICAL(move) && atkHighestStat == STAT_ATK) || (IS_MOVE_SPECIAL(move) && atkHighestStat == STAT_SPATK))) modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); } @@ -8927,7 +8927,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 } break; case ABILITY_ORICHALCUM_PULSE: - if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) + if (weather & B_WEATHER_SUN) modifier = uq4_12_multiply(modifier, UQ_4_12(1.3)); break; case ABILITY_HADRON_ENGINE: @@ -9003,7 +9003,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 case ABILITY_PROTOSYNTHESIS: { u8 defHighestStat = GetHighestStatId(battlerDef); - if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT + if (weather & B_WEATHER_SUN && ((IS_MOVE_PHYSICAL(move) && defHighestStat == STAT_DEF) || (IS_MOVE_SPECIAL(move) && defHighestStat == STAT_SPDEF))) modifier = uq4_12_multiply(modifier, UQ_4_12(0.7)); } @@ -9096,7 +9096,7 @@ static inline u32 CalcMoveBasePowerAfterModifiers(u16 move, u32 battlerAtk, u32 } #undef TERRAIN_TYPE_BOOST -static inline u32 CalcAttackStat(u16 move, u32 battlerAtk, u32 battlerDef, u8 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk) +static inline u32 CalcAttackStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectAtk) { u8 atkStage; u32 atkStat; @@ -9300,7 +9300,7 @@ static bool32 CanEvolve(u32 species) return FALSE; } -static inline u32 CalcDefenseStat(u16 move, u32 battlerAtk, u32 battlerDef, u8 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectDef) +static inline u32 CalcDefenseStat(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, bool32 isCrit, bool32 updateFlags, u32 atkAbility, u32 defAbility, u32 holdEffectDef, u32 weather) { bool32 usesDefStat; u8 defStage; @@ -9432,10 +9432,10 @@ static inline u32 CalcDefenseStat(u16 move, u32 battlerAtk, u32 battlerDef, u8 m } // sandstorm sp.def boost for rock types - if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ROCK) && gBattleWeather & B_WEATHER_SANDSTORM && WEATHER_HAS_EFFECT && !usesDefStat) + if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ROCK) && weather & B_WEATHER_SANDSTORM && !usesDefStat) modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); // snow def boost for ice types - if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ICE) && gBattleWeather & B_WEATHER_SNOW && WEATHER_HAS_EFFECT && usesDefStat) + if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_ICE) && weather & B_WEATHER_SNOW && usesDefStat) modifier = uq4_12_multiply_half_down(modifier, UQ_4_12(1.5)); // The defensive stats of a Player's Pokémon are boosted by x1.1 (+10%) if they have the 5th badge and 7th badges. @@ -9500,22 +9500,22 @@ static inline uq4_12_t GetSameTypeAttackBonusModifier(u32 battlerAtk, u32 moveTy } // Utility Umbrella holders take normal damage from what would be rain- and sun-weakened attacks. -static uq4_12_t GetWeatherDamageModifier(u32 battlerAtk, u32 move, u32 moveType, u32 holdEffectAtk, u32 holdEffectDef) +static uq4_12_t GetWeatherDamageModifier(u32 battlerAtk, u32 move, u32 moveType, u32 holdEffectAtk, u32 holdEffectDef, u32 weather) { - if (!WEATHER_HAS_EFFECT) + if (weather == B_WEATHER_NONE) return UQ_4_12(1.0); - if (gBattleMoves[move].effect == EFFECT_HYDRO_STEAM && (gBattleWeather & B_WEATHER_SUN) && holdEffectAtk != HOLD_EFFECT_UTILITY_UMBRELLA) + if (gBattleMoves[move].effect == EFFECT_HYDRO_STEAM && (weather & B_WEATHER_SUN) && holdEffectAtk != HOLD_EFFECT_UTILITY_UMBRELLA) return UQ_4_12(1.5); if (holdEffectDef == HOLD_EFFECT_UTILITY_UMBRELLA) return UQ_4_12(1.0); - if (gBattleWeather & B_WEATHER_RAIN) + if (weather & B_WEATHER_RAIN) { if (moveType != TYPE_FIRE && moveType != TYPE_WATER) return UQ_4_12(1.0); return (moveType == TYPE_FIRE) ? UQ_4_12(0.5) : UQ_4_12(1.5); } - if (gBattleWeather & B_WEATHER_SUN) + if (weather & B_WEATHER_SUN) { if (moveType != TYPE_FIRE && moveType != TYPE_WATER) return UQ_4_12(1.0); @@ -9762,6 +9762,7 @@ static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier) { s32 dmg; + u32 weather; u32 userFinalAttack; u32 targetFinalDefense; u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); @@ -9772,18 +9773,24 @@ static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 if (typeEffectivenessModifier == UQ_4_12(0.0)) return 0; + // Store weather in a local variable, so there's no need to call WEATHER_HAS_EFFECT every time weather is checked. + if (gBattleWeather == B_WEATHER_NONE || !WEATHER_HAS_EFFECT) + weather = B_WEATHER_NONE; + else + weather = gBattleWeather; + if (fixedBasePower) gBattleMovePower = fixedBasePower; else - gBattleMovePower = CalcMoveBasePowerAfterModifiers(move, battlerAtk, battlerDef, moveType, updateFlags, abilityAtk, abilityDef, holdEffectAtk); + gBattleMovePower = CalcMoveBasePowerAfterModifiers(move, battlerAtk, battlerDef, moveType, updateFlags, abilityAtk, abilityDef, holdEffectAtk, weather); userFinalAttack = CalcAttackStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectAtk); - targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectDef); + targetFinalDefense = CalcDefenseStat(move, battlerAtk, battlerDef, moveType, isCrit, updateFlags, abilityAtk, abilityDef, holdEffectDef, weather); dmg = CalculateBaseDamage(gBattleMovePower, userFinalAttack, gBattleMons[battlerAtk].level, targetFinalDefense); DAMAGE_APPLY_MODIFIER(GetTargetDamageModifier(move, battlerAtk, battlerDef)); DAMAGE_APPLY_MODIFIER(GetParentalBondModifier(battlerAtk)); - DAMAGE_APPLY_MODIFIER(GetWeatherDamageModifier(battlerAtk, move, moveType, holdEffectAtk, holdEffectDef)); + DAMAGE_APPLY_MODIFIER(GetWeatherDamageModifier(battlerAtk, move, moveType, holdEffectAtk, holdEffectDef, weather)); DAMAGE_APPLY_MODIFIER(GetCriticalModifier(isCrit)); // TODO: Glaive Rush (Gen IX effect) if (randomFactor) @@ -10071,7 +10078,7 @@ s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 ma return dmg; } -s32 GetStealthHazardDamage(u8 hazardType, u8 battler) +s32 GetStealthHazardDamage(u8 hazardType, u32 battler) { u8 type1 = gBattleMons[battler].type1; u8 type2 = gBattleMons[battler].type2; @@ -10080,7 +10087,7 @@ s32 GetStealthHazardDamage(u8 hazardType, u8 battler) return GetStealthHazardDamageByTypesAndHP(hazardType, type1, type2, maxHp); } -bool32 IsPartnerMonFromSameTrainer(u8 battler) +bool32 IsPartnerMonFromSameTrainer(u32 battler) { if (GetBattlerSide(battler) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) return FALSE; @@ -10116,11 +10123,11 @@ bool32 DoesSpeciesUseHoldItemToChangeForm(u16 species, u16 heldItemId) return FALSE; } -bool32 CanMegaEvolve(u8 battler) +bool32 CanMegaEvolve(u32 battler) { u32 itemId, holdEffect, species; struct Pokemon *mon; - u8 battlerPosition = GetBattlerPosition(battler); + u32 battlerPosition = GetBattlerPosition(battler); u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battler)); struct MegaEvolutionData *mega = &(((struct ChooseMoveStruct *)(&gBattleResources->bufferA[battler][4]))->mega); @@ -10180,11 +10187,11 @@ bool32 CanMegaEvolve(u8 battler) return FALSE; } -bool32 CanUltraBurst(u8 battler) +bool32 CanUltraBurst(u32 battler) { u32 itemId, holdEffect, species; struct Pokemon *mon; - u8 battlerPosition = GetBattlerPosition(battler); + u32 battlerPosition = GetBattlerPosition(battler); u8 partnerPosition = GetBattlerPosition(BATTLE_PARTNER(battler)); // Check if Player has a Z Ring @@ -10235,7 +10242,7 @@ bool32 CanUltraBurst(u8 battler) return FALSE; } -bool32 IsBattlerMegaEvolved(u8 battler) +bool32 IsBattlerMegaEvolved(u32 battler) { // While Transform does copy stats and visuals, it shouldn't be counted as true Mega Evolution. if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED) @@ -10243,7 +10250,7 @@ bool32 IsBattlerMegaEvolved(u8 battler) return (gSpeciesInfo[gBattleMons[battler].species].flags & SPECIES_FLAG_MEGA_EVOLUTION); } -bool32 IsBattlerPrimalReverted(u8 battler) +bool32 IsBattlerPrimalReverted(u32 battler) { // While Transform does copy stats and visuals, it shouldn't be counted as true Primal Revesion. if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED) @@ -10251,7 +10258,7 @@ bool32 IsBattlerPrimalReverted(u8 battler) return (gSpeciesInfo[gBattleMons[battler].species].flags & SPECIES_FLAG_PRIMAL_REVERSION); } -bool32 IsBattlerUltraBursted(u8 battler) +bool32 IsBattlerUltraBursted(u32 battler) { // While Transform does copy stats and visuals, it shouldn't be counted as true Ultra Burst. if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED) @@ -10260,7 +10267,7 @@ bool32 IsBattlerUltraBursted(u8 battler) } // Returns SPECIES_NONE if no form change is possible -u16 GetBattleFormChangeTargetSpecies(u8 battler, u16 method) +u16 GetBattleFormChangeTargetSpecies(u32 battler, u16 method) { u32 i, j; u16 targetSpecies = SPECIES_NONE; @@ -10347,7 +10354,7 @@ u16 GetBattleFormChangeTargetSpecies(u8 battler, u16 method) return targetSpecies; } -bool32 CanBattlerFormChange(u8 battler, u16 method) +bool32 CanBattlerFormChange(u32 battler, u16 method) { // Can't change form if transformed. if (gBattleMons[battler].status2 & STATUS2_TRANSFORMED @@ -10361,7 +10368,7 @@ bool32 CanBattlerFormChange(u8 battler, u16 method) return DoesSpeciesHaveFormChangeMethod(gBattleMons[battler].species, method); } -bool32 TryBattleFormChange(u8 battler, u16 method) +bool32 TryBattleFormChange(u32 battler, u16 method) { u8 monId = gBattlerPartyIndexes[battler]; u8 side = GET_BATTLER_SIDE(battler); @@ -10388,7 +10395,7 @@ bool32 TryBattleFormChange(u8 battler, u16 method) } else if (gBattleStruct->changedSpecies[side][monId] != SPECIES_NONE) { - bool8 restoreSpecies = FALSE; + bool32 restoreSpecies = FALSE; // Mega Evolved and Ultra Bursted Pokémon should always revert to normal upon fainting or ending the battle, so no need to add it to the form change tables. if ((IsBattlerMegaEvolved(battler) || IsBattlerUltraBursted(battler)) && (method == FORM_CHANGE_FAINT || method == FORM_CHANGE_END_BATTLE)) @@ -10431,7 +10438,7 @@ bool32 DoBattlersShareType(u32 battler1, u32 battler2) return FALSE; } -bool32 CanBattlerGetOrLoseItem(u8 battler, u16 itemId) +bool32 CanBattlerGetOrLoseItem(u32 battler, u16 itemId) { u16 species = gBattleMons[battler].species; u16 holdEffect = ItemId_GetHoldEffect(itemId); @@ -10521,7 +10528,7 @@ bool32 SetIllusionMon(struct Pokemon *mon, u32 battler) return FALSE; } -bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battler) +bool32 ShouldGetStatBadgeBoost(u16 badgeFlag, u32 battler) { #if B_BADGE_BOOST == GEN_3 if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_RECORDED_LINK | BATTLE_TYPE_FRONTIER)) @@ -10555,10 +10562,10 @@ u8 GetBattleMoveSplit(u32 moveId) #endif } -static bool32 TryRemoveScreens(u8 battler) +static bool32 TryRemoveScreens(u32 battler) { bool32 removed = FALSE; - u8 battlerSide = GetBattlerSide(battler); + u32 battlerSide = GetBattlerSide(battler); u8 enemySide = GetBattlerSide(BATTLE_OPPOSITE(battler)); // try to remove from battler's side @@ -10584,7 +10591,7 @@ static bool32 TryRemoveScreens(u8 battler) return removed; } -static bool32 IsUnnerveAbilityOnOpposingSide(u8 battler) +static bool32 IsUnnerveAbilityOnOpposingSide(u32 battler) { if (IsAbilityOnOpposingSide(battler, ABILITY_UNNERVE) || IsAbilityOnOpposingSide(battler, ABILITY_AS_ONE_ICE_RIDER) @@ -10594,7 +10601,7 @@ static bool32 IsUnnerveAbilityOnOpposingSide(u8 battler) } // Photon geyser & light that burns the sky -u8 GetSplitBasedOnStats(u8 battler) +u8 GetSplitBasedOnStats(u32 battler) { u32 attack = gBattleMons[battler].attack; u32 spAttack = gBattleMons[battler].spAttack; @@ -10611,11 +10618,11 @@ u8 GetSplitBasedOnStats(u8 battler) return SPLIT_PHYSICAL; } -static u8 GetFlingPowerFromItemId(u16 itemId) +static u32 GetFlingPowerFromItemId(u32 itemId) { if (itemId >= ITEM_TM01 && itemId <= ITEM_HM08) { - u8 power = gBattleMoves[ItemIdToBattleMoveId(itemId)].power; + u32 power = gBattleMoves[ItemIdToBattleMoveId(itemId)].power; if (power > 1) return power; return 10; // Status moves and moves with variable power always return 10 power. @@ -10721,7 +10728,7 @@ bool32 IsEntrainmentTargetOrSimpleBeamBannedAbility(u16 ability) // Sort an array of battlers by speed // Useful for effects like pickpocket, eject button, red card, dancer -void SortBattlersBySpeed(u8 *battlers, bool8 slowToFast) +void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast) { int i, j, currSpeed, currBattler; u16 speeds[MAX_BATTLERS_COUNT] = {0}; @@ -10777,7 +10784,7 @@ void TryRestoreHeldItems(void) } } -bool32 CanStealItem(u8 battlerStealing, u8 battlerItem, u16 item) +bool32 CanStealItem(u32 battlerStealing, u32 battlerItem, u16 item) { u8 stealerSide = GetBattlerSide(battlerStealing); @@ -10817,7 +10824,7 @@ bool32 CanStealItem(u8 battlerStealing, u8 battlerItem, u16 item) return TRUE; } -void TrySaveExchangedItem(u8 battler, u16 stolenItem) +void TrySaveExchangedItem(u32 battler, u16 stolenItem) { // Because BtlController_EmitSetMonData does SetMonData, we need to save the stolen item only if it matches the battler's original // So, if the player steals an item during battle and has it stolen from it, it will not end the battle with it (naturally) @@ -10831,7 +10838,7 @@ void TrySaveExchangedItem(u8 battler, u16 stolenItem) #endif } -bool32 IsBattlerAffectedByHazards(u8 battler, bool32 toxicSpikes) +bool32 IsBattlerAffectedByHazards(u32 battler, bool32 toxicSpikes) { bool32 ret = TRUE; u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); @@ -10848,7 +10855,7 @@ bool32 IsBattlerAffectedByHazards(u8 battler, bool32 toxicSpikes) return ret; } -bool32 TestSheerForceFlag(u8 battler, u16 move) +bool32 TestSheerForceFlag(u32 battler, u16 move) { if (GetBattlerAbility(battler) == ABILITY_SHEER_FORCE && gBattleMoves[move].sheerForceBoost) return TRUE; @@ -10857,9 +10864,9 @@ bool32 TestSheerForceFlag(u8 battler, u16 move) } // This function is the body of "jumpifstat", but can be used dynamically in a function -bool32 CompareStat(u8 battler, u8 statId, u8 cmpTo, u8 cmpKind) +bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind) { - bool8 ret = FALSE; + bool32 ret = FALSE; u8 statValue = gBattleMons[battler].statStages[statId]; // Because this command is used as a way of checking if a stat can be lowered/raised, @@ -10908,9 +10915,9 @@ bool32 CompareStat(u8 battler, u8 statId, u8 cmpTo, u8 cmpKind) return ret; } -void BufferStatChange(u8 battler, u8 statId, u8 stringId) +void BufferStatChange(u32 battler, u8 statId, u8 stringId) { - bool8 hasContrary = (GetBattlerAbility(battler) == ABILITY_CONTRARY); + bool32 hasContrary = (GetBattlerAbility(battler) == ABILITY_CONTRARY); PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); if (stringId == STRINGID_STATFELL) @@ -10933,7 +10940,7 @@ void BufferStatChange(u8 battler, u8 statId, u8 stringId) } } -bool32 TryRoomService(u8 battler) +bool32 TryRoomService(u32 battler) { if (gFieldStatuses & STATUS_FIELD_TRICK_ROOM && CompareStat(battler, STAT_SPEED, MIN_STAT_STAGE, CMP_GREATER_THAN)) { @@ -10951,7 +10958,7 @@ bool32 TryRoomService(u8 battler) } } -bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u32 battlerDef, bool32 checkTarget) +bool32 BlocksPrankster(u16 move, u32 battlerPrankster, u32 battlerDef, bool32 checkTarget) { #if B_PRANKSTER_DARK_TYPES >= GEN_7 if (!gProtectStructs[battlerPrankster].pranksterElevated) @@ -10970,12 +10977,12 @@ bool32 BlocksPrankster(u16 move, u8 battlerPrankster, u32 battlerDef, bool32 che return FALSE; } -u16 GetUsedHeldItem(u8 battler) +u16 GetUsedHeldItem(u32 battler) { return gBattleStruct->usedHeldItems[gBattlerPartyIndexes[battler]][GetBattlerSide(battler)]; } -bool32 IsBattlerWeatherAffected(u8 battler, u32 weatherFlags) +bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags) { if (gBattleWeather & weatherFlags && WEATHER_HAS_EFFECT) { @@ -10990,7 +10997,7 @@ bool32 IsBattlerWeatherAffected(u8 battler, u32 weatherFlags) // Gets move target before redirection effects etc. are applied // Possible return values are defined in battle.h following MOVE_TARGET_SELECTED -u32 GetBattlerMoveTargetType(u8 battler, u16 move) +u32 GetBattlerMoveTargetType(u32 battler, u32 move) { u32 target; @@ -11055,13 +11062,13 @@ void RecalcBattlerStats(u32 battler, struct Pokemon *mon) CopyMonAbilityAndTypesToBattleMon(battler, mon); } -void RemoveConfusionStatus(u8 battler) +void RemoveConfusionStatus(u32 battler) { gBattleMons[battler].status2 &= ~STATUS2_CONFUSION; gStatuses4[battler] &= ~STATUS4_INFINITE_CONFUSION; } -static bool8 CanBeInfinitelyConfused(u8 battler) +static bool32 CanBeInfinitelyConfused(u32 battler) { if (gBattleMons[battler].ability == ABILITY_OWN_TEMPO || IsBattlerTerrainAffected(battler, STATUS_FIELD_MISTY_TERRAIN) @@ -11072,13 +11079,13 @@ static bool8 CanBeInfinitelyConfused(u8 battler) return TRUE; } -u8 GetBattlerGender(u8 battler) +u8 GetBattlerGender(u32 battler) { return GetGenderFromSpeciesAndPersonality(gBattleMons[battler].species, gBattleMons[battler].personality); } -bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2) +bool32 AreBattlersOfOppositeGender(u32 battler1, u32 battler2) { u8 gender1 = GetBattlerGender(battler1); u8 gender2 = GetBattlerGender(battler2); @@ -11086,7 +11093,7 @@ bool8 AreBattlersOfOppositeGender(u8 battler1, u8 battler2) return (gender1 != MON_GENDERLESS && gender2 != MON_GENDERLESS && gender1 != gender2); } -u32 CalcSecondaryEffectChance(u8 battler, u8 secondaryEffectChance) +u32 CalcSecondaryEffectChance(u32 battler, u8 secondaryEffectChance) { if (GetBattlerAbility(battler) == ABILITY_SERENE_GRACE) secondaryEffectChance *= 2; diff --git a/src/item.c b/src/item.c index 077d885d1e..7c19b316d6 100644 --- a/src/item.c +++ b/src/item.c @@ -884,12 +884,12 @@ u16 ItemId_GetPrice(u16 itemId) return gItems[SanitizeItemId(itemId)].price; } -u8 ItemId_GetHoldEffect(u16 itemId) +u32 ItemId_GetHoldEffect(u32 itemId) { return gItems[SanitizeItemId(itemId)].holdEffect; } -u8 ItemId_GetHoldEffectParam(u16 itemId) +u32 ItemId_GetHoldEffectParam(u32 itemId) { return gItems[SanitizeItemId(itemId)].holdEffectParam; } @@ -956,7 +956,7 @@ u8 ItemId_GetSecondaryId(u16 itemId) return gItems[SanitizeItemId(itemId)].secondaryId; } -u8 ItemId_GetFlingPower(u16 itemId) +u32 ItemId_GetFlingPower(u32 itemId) { return gItems[SanitizeItemId(itemId)].flingPower; } From 406209f7383ec07ebf331d7711495e23e97512a4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 09:27:49 +0200 Subject: [PATCH 227/256] score to s32 --- include/battle.h | 4 +- include/battle_ai_util.h | 16 +++--- include/battle_script_commands.h | 1 + include/battle_util.h | 3 +- src/battle_ai_main.c | 96 ++++++++++++++++---------------- src/battle_ai_util.c | 22 ++++---- src/battle_script_commands.c | 2 +- src/battle_util.c | 7 +-- 8 files changed, 75 insertions(+), 76 deletions(-) diff --git a/include/battle.h b/include/battle.h index eb878b2a56..173c16c764 100644 --- a/include/battle.h +++ b/include/battle.h @@ -301,7 +301,7 @@ struct AI_ThinkingStruct u8 aiState; u8 movesetIndex; u16 moveConsidered; - s8 score[MAX_MON_MOVES]; + s32 score[MAX_MON_MOVES]; u32 funcResult; u32 aiFlags; u8 aiAction; @@ -639,7 +639,7 @@ struct BattleStruct u16 hpBefore[MAX_BATTLERS_COUNT]; // Hp of battlers before using a move. For Berserk bool8 spriteIgnore0Hp; struct Illusion illusion[MAX_BATTLERS_COUNT]; - s8 aiFinalScore[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // AI, target, moves to make debugging easier + s32 aiFinalScore[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // AI, target, moves to make debugging easier u8 aiMoveOrAction[MAX_BATTLERS_COUNT]; u8 aiChosenTarget[MAX_BATTLERS_COUNT]; u8 soulheartBattlerId; diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index ecd3c43cc7..f97569c97e 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -109,7 +109,7 @@ bool32 IsHazardMoveEffect(u16 moveEffect); bool32 MoveCallsOtherMove(u16 move); bool32 MoveRequiresRecharging(u16 move); bool32 IsEncoreEncouragedEffect(u16 moveEffect); -void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s16 *score); +void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s32 *score); bool32 ShouldSetSandstorm(u8 battler, u16 ability, u16 holdEffect); bool32 ShouldSetHail(u8 battler, u16 ability, u16 holdEffect); bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect); @@ -178,12 +178,12 @@ bool32 PartyHasMoveSplit(u8 battlerId, u8 split); bool32 SideHasMoveSplit(u8 battlerId, u8 split); // score increases -void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s16 *score); -void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); -void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); -void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); -void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); -void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); -void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score); +void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s32 *score); +void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); +void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); +void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); +void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); +void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); +void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); #endif //GUARD_BATTLE_AI_UTIL_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 9d24b457d9..a7bfdf8c16 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -47,6 +47,7 @@ u32 GetHighestStatId(u32 battlerId); bool32 ProteanTryChangeType(u32 battler, u32 ability, u32 move, u32 moveType); bool32 DoSwitchInAbilitiesItems(u32 battlerId); u8 GetFirstFaintedPartyIndex(u8 battlerId); +bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler); extern void (* const gBattleScriptingCommandsTable[])(void); extern const u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4]; diff --git a/include/battle_util.h b/include/battle_util.h index 678585e1d2..016499362b 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -172,7 +172,7 @@ u32 GetBattlerWeight(u32 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); -s32 CalculateMoveDamageAndEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t *typeEffectivenessModifier); +s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit); uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u32 atkType, u32 defType); @@ -215,7 +215,6 @@ u16 GetUsedHeldItem(u32 battler); bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags); u32 GetBattlerMoveTargetType(u32 battler, u32 move); bool32 CanTargetBattler(u32 battlerAtk, u32 battlerDef, u16 move); -bool32 IsMoveAffectedByParentalBond(u16 move, u32 battler); void CopyMonLevelAndBaseStatsToBattleMon(u32 battler, struct Pokemon *mon); void CopyMonAbilityAndTypesToBattleMon(u32 battler, struct Pokemon *mon); void RecalcBattlerStats(u32 battler, struct Pokemon *mon); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 810e2ffff6..3e811e3347 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -39,7 +39,7 @@ enum static u8 ChooseMoveOrAction_Singles(void); static u8 ChooseMoveOrAction_Doubles(void); -static void BattleAI_DoAIProcessing(void); +static void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler); static bool32 IsPinchBerryItemEffect(u16 holdEffect); // ewram @@ -47,20 +47,20 @@ EWRAM_DATA const u8 *gAIScriptPtr = NULL; // Still used in contests EWRAM_DATA u8 sBattler_AI = 0; // const rom data -static s16 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); -static s16 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score); +static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s16 (*const sBattleAiFuncTable[])(u32, u32, u16, s16) = +static s32 (*const sBattleAiFuncTable[])(u32, u32, u16, s32) = { [0] = AI_CheckBadMove, // AI_FLAG_CHECK_BAD_MOVE [1] = AI_TryToFaint, // AI_FLAG_TRY_TO_FAINT @@ -482,7 +482,7 @@ static u8 ChooseMoveOrAction_Singles(void) if (flags & 1) { AI_THINKING_STRUCT->aiState = AIState_SettingUp; - BattleAI_DoAIProcessing(); + BattleAI_DoAIProcessing(AI_THINKING_STRUCT, sBattler_AI); } flags >>= 1; AI_THINKING_STRUCT->aiLogicId++; @@ -566,7 +566,7 @@ static u8 ChooseMoveOrAction_Doubles(void) if (flags & 1) { AI_THINKING_STRUCT->aiState = AIState_SettingUp; - BattleAI_DoAIProcessing(); + BattleAI_DoAIProcessing(AI_THINKING_STRUCT, sBattler_AI); } flags >>= 1; AI_THINKING_STRUCT->aiLogicId++; @@ -651,50 +651,50 @@ static u8 ChooseMoveOrAction_Doubles(void) return actionOrMoveIndex[gBattlerTarget]; } -static void BattleAI_DoAIProcessing(void) +static void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler) { - while (AI_THINKING_STRUCT->aiState != AIState_FinishedProcessing) + while (aiThink->aiState != AIState_FinishedProcessing) { - switch (AI_THINKING_STRUCT->aiState) + switch (aiThink->aiState) { case AIState_DoNotProcess: // Needed to match. break; case AIState_SettingUp: - if (gBattleMons[sBattler_AI].pp[AI_THINKING_STRUCT->movesetIndex] == 0) + if (gBattleMons[battler].pp[aiThink->movesetIndex] == 0) { - AI_THINKING_STRUCT->moveConsidered = 0; + aiThink->moveConsidered = 0; } else { - AI_THINKING_STRUCT->moveConsidered = gBattleMons[sBattler_AI].moves[AI_THINKING_STRUCT->movesetIndex]; + aiThink->moveConsidered = gBattleMons[battler].moves[aiThink->movesetIndex]; } - AI_THINKING_STRUCT->aiState++; + aiThink->aiState++; break; case AIState_Processing: - if (AI_THINKING_STRUCT->moveConsidered != MOVE_NONE - && AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] > 0) + if (aiThink->moveConsidered != MOVE_NONE + && aiThink->score[aiThink->movesetIndex] > 0) { - if (AI_THINKING_STRUCT->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) - && sBattleAiFuncTable[AI_THINKING_STRUCT->aiLogicId] != NULL) + if (aiThink->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) + && sBattleAiFuncTable[aiThink->aiLogicId] != NULL) { // Call AI function - AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = - sBattleAiFuncTable[AI_THINKING_STRUCT->aiLogicId](sBattler_AI, + aiThink->score[aiThink->movesetIndex] = + sBattleAiFuncTable[aiThink->aiLogicId](battler, gBattlerTarget, - AI_THINKING_STRUCT->moveConsidered, - AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex]); + aiThink->moveConsidered, + aiThink->score[aiThink->movesetIndex]); } } else { - AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; + aiThink->score[aiThink->movesetIndex] = 0; } - AI_THINKING_STRUCT->movesetIndex++; - if (AI_THINKING_STRUCT->movesetIndex < MAX_MON_MOVES && !(AI_THINKING_STRUCT->aiAction & AI_ACTION_DO_NOT_ATTACK)) - AI_THINKING_STRUCT->aiState = AIState_SettingUp; + aiThink->movesetIndex++; + if (aiThink->movesetIndex < MAX_MON_MOVES && !(aiThink->aiAction & AI_ACTION_DO_NOT_ATTACK)) + aiThink->aiState = AIState_SettingUp; else - AI_THINKING_STRUCT->aiState++; + aiThink->aiState++; break; } } @@ -702,7 +702,7 @@ static void BattleAI_DoAIProcessing(void) // AI Score Functions // AI_FLAG_CHECK_BAD_MOVE - decreases move scores -static s16 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { // move data u8 atkPriority = GetMovePriority(battlerAtk, move); @@ -2686,7 +2686,7 @@ static s16 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) return score; } -static s16 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; @@ -2741,7 +2741,7 @@ static s16 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) } // double battle logic -static s16 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { // move data u8 moveType = gBattleMoves[move].type; @@ -3154,7 +3154,7 @@ static u32 GetAIMostDamagingMoveId(u32 battlerAtk, u32 battlerDef) } // AI_FLAG_CHECK_VIABILITY - a weird mix of increasing and decreasing scores -static s16 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { // move data u16 moveEffect = gBattleMoves[move].effect; @@ -4956,7 +4956,7 @@ static s16 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s16 score } // Effects that are encouraged on the first turn of battle -static s16 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (IsTargetingPartner(battlerAtk, battlerDef) || gBattleResults.battleTurnCounter != 0) @@ -5067,7 +5067,7 @@ static s16 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s16 score } // Adds score bonus to 'riskier' move effects and high crit moves -static s16 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; @@ -5106,7 +5106,7 @@ static s16 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) } // Adds score bonus to best powered move -static s16 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (IsTargetingPartner(battlerAtk, battlerDef)) return score; @@ -5118,7 +5118,7 @@ static s16 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s16 } // Prefers moves that are good for baton pass -static s16 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { u32 i; @@ -5173,7 +5173,7 @@ static s16 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s16 scor return score; } -static s16 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { u16 effect = gBattleMoves[move].effect; u8 moveType = gBattleMoves[move].type; @@ -5376,7 +5376,7 @@ static void AI_Watch(void) } // Roaming pokemon logic -static s16 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (IsBattlerTrapped(battlerAtk, FALSE)) return score; @@ -5386,7 +5386,7 @@ static s16 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) } // Safari pokemon logic -static s16 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. @@ -5399,7 +5399,7 @@ static s16 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) } // First battle logic -static s16 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s16 score) +static s32 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (AI_DATA->hpPercents[battlerDef] <= 20) AI_Flee(); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 19eba9051f..6e85112c21 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -803,6 +803,7 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); + effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); if (gBattleMoves[move].power) { ProteanTryChangeType(battlerAtk, AI_DATA->abilities[battlerAtk], move, moveType); @@ -821,8 +822,8 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes fixedBasePower = 0; break; } - normalDmg = CalculateMoveDamageAndEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, &effectivenessMultiplier); - critDmg = CalculateMoveDamage(move, battlerAtk, battlerDef, moveType, fixedBasePower, TRUE, FALSE, FALSE); + normalDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, FALSE); + critDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, TRUE); if (critChance == -1) dmg = normalDmg; @@ -887,7 +888,6 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes } else { - effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); dmg = 0; } @@ -1679,7 +1679,7 @@ bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect) return FALSE; } -void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s16 *score) +void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s32 *score) { // TODO more sophisticated logic u16 predictedEffect = gBattleMoves[predictedMove].effect; @@ -3602,7 +3602,7 @@ bool32 IsRecycleEncouragedItem(u16 item) // score increases #define STAT_UP_2_STAGE 8 #define STAT_UP_STAGE 10 -void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s16 *score) +void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s32 *score) { if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) return; @@ -3682,7 +3682,7 @@ void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s16 *score) } } -void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) +void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PSN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3706,7 +3706,7 @@ void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) } } -void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) +void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_BRN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3726,7 +3726,7 @@ void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) } } -void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) +void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PAR || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3748,7 +3748,7 @@ void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) } } -void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) +void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_SLP || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3767,7 +3767,7 @@ void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) (*score)++; } -void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) +void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_CONFUSION || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3786,7 +3786,7 @@ void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score } } -void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s16 *score) +void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b93586d84a..e5ed23bb29 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -15839,7 +15839,7 @@ static const u16 sParentalBondBannedEffects[] = EFFECT_UPROAR, }; -bool8 IsMoveAffectedByParentalBond(u16 move, u8 battler) +bool32 IsMoveAffectedByParentalBond(u32 move, u32 battler) { if (move != MOVE_NONE && move != MOVE_STRUGGLE && gBattleMoves[move].split != SPLIT_STATUS diff --git a/src/battle_util.c b/src/battle_util.c index 1e3c43e7b3..9e489e9e3e 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9818,11 +9818,10 @@ s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, updateFlags)); } -// for AI - get move damage and effectiveness with one function call -s32 CalculateMoveDamageAndEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t *typeEffectivenessModifier) +// for AI so that typeEffectivenessModifier is calculated only once +s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit) { - *typeEffectivenessModifier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); - return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, FALSE, FALSE, FALSE, *typeEffectivenessModifier); + return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, FALSE, FALSE, typeEffectivenessModifier); } static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defType, u32 battlerAtk, bool32 recordAbilities) From 1a64938c9b21473ee9c2e56de2179e4ed72e240c Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 13:23:19 +0200 Subject: [PATCH 228/256] optimize dmg move result and ai who is faster --- include/battle.h | 2 + include/battle_ai_util.h | 8 +- include/battle_main.h | 7 +- include/battle_util.h | 2 +- src/battle_ai_main.c | 118 ++++++++++++++----------- src/battle_ai_switch_items.c | 2 +- src/battle_ai_util.c | 163 ++++++++++++++++++----------------- src/battle_main.c | 62 +++++++------ src/battle_util.c | 14 +-- 9 files changed, 209 insertions(+), 169 deletions(-) diff --git a/include/battle.h b/include/battle.h index 173c16c764..53421d368a 100644 --- a/include/battle.h +++ b/include/battle.h @@ -289,6 +289,8 @@ struct AiLogicData u16 predictedMoves[MAX_BATTLERS_COUNT]; u8 hpPercents[MAX_BATTLERS_COUNT]; u16 partnerMove; + u16 speedStats[MAX_BATTLERS_COUNT]; // Speed stats for all battles, calculated only once, same way as damages + u8 moveDmgResult[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // MOVE_POWER defines for GetMoveDamageResult ; attacker, target, moveIndex s32 simulatedDmg[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex u8 effectiveness[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT][MAX_MON_MOVES]; // attacker, target, moveIndex u8 moveLimitations[MAX_BATTLERS_COUNT]; diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index f97569c97e..5bacc3e192 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -7,6 +7,8 @@ #define FOE(battler) ((BATTLE_OPPOSITE(battler)) & BIT_SIDE) +#define AI_STRIKES_FIRST(battlerAi, battlerDef, move)((AI_WhoStrikesFirst(battlerAi, battlerDef, move) == AI_IS_FASTER)) + bool32 AI_RandLessThan(u8 val); bool32 IsAiVsAiBattle(void); bool32 BattlerHasAi(u32 battlerId); @@ -23,13 +25,12 @@ void SetBattlerData(u32 battlerId); void RestoreBattlerData(u32 battlerId); u16 GetAIChosenMove(u8 battlerId); -bool32 WillAIStrikeFirst(void); u32 GetTotalBaseStat(u32 species); bool32 IsTruantMonVulnerable(u32 battlerAI, u32 opposingBattler); bool32 AtMaxHp(u8 battler); u32 GetHealthPercentage(u8 battler); bool32 IsBattlerTrapped(u8 battler, bool8 switching); -u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 consideredMove); +u32 AI_WhoStrikesFirst(u32 battlerAI, u32 battler2, u32 moveConsidered); bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk); bool32 CanMoveFaintBattler(u16 move, u32 battlerDef, u32 battlerAtk, u8 nHits); bool32 CanTargetFaintAiWithMod(u32 battlerDef, u32 battlerAtk, s32 hpMod, s32 dmgMod); @@ -87,7 +88,8 @@ bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split); s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); u32 GetNoOfHitsToKO(u32 dmg, s32 hp); -u8 GetMoveDamageResult(u16 move); +void SetMoveDamageResult(u32 battlerAtk, u16 *moves); +u32 GetMoveDamageResult(u32 battlerAtk, u32 battlerDef, u32 moveIndex); u32 GetCurrDamageHpPercent(u32 battlerAtk, u32 battlerDef); uq4_12_t AI_GetTypeEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef); u32 AI_GetMoveEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef); diff --git a/include/battle_main.h b/include/battle_main.h index 6b7756012f..5d1fe6bbfa 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -59,10 +59,13 @@ void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(u32 battler); void SwitchPartyOrder(u8 battlerId); void SwapTurnOrder(u8 id1, u8 id2); -u32 GetBattlerTotalSpeedStat(u8 battlerId); +u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, u32 holdEffect); +u32 GetBattlerTotalSpeedStat(u32 battler); s8 GetChosenMovePriority(u32 battlerId); s8 GetMovePriority(u32 battlerId, u16 move); -u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves); +u32 GetWhichBattlerFasterArgs(u32 battler1, u32 battler2, bool32 ignoreChosenMoves, u32 ability1, u32 ability2, + u32 holdEffectBattler1, u32 holdEffectBattler2, u32 speedBattler1, u32 speedBattler2, s32 priority1, s32 priority2); +u32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); void SpecialStatusesClear(void); diff --git a/include/battle_util.h b/include/battle_util.h index 016499362b..16b33ad0ec 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -167,7 +167,7 @@ u32 GetBattlerHoldEffectParam(u32 battler); bool32 IsMoveMakingContact(u32 move, u32 battlerAtk); bool32 IsBattlerGrounded(u32 battler); bool32 IsBattlerAlive(u32 battler); -u32 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u32 move); +u32 GetMoveSlot(u16 *moves, u32 move); u32 GetBattlerWeight(u32 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 3e811e3347..4d518d9266 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -338,18 +338,55 @@ void Ai_UpdateFaintData(u32 battler) static void SetBattlerAiData(u32 battler) { - AI_DATA->abilities[battler] = AI_GetAbility(battler); + u32 ability, holdEffect; + + ability = AI_DATA->abilities[battler] = AI_GetAbility(battler); AI_DATA->items[battler] = gBattleMons[battler].item; - AI_DATA->holdEffects[battler] = AI_GetHoldEffect(battler); + holdEffect = AI_DATA->holdEffects[battler] = AI_GetHoldEffect(battler); AI_DATA->holdEffectParams[battler] = GetBattlerHoldEffectParam(battler); AI_DATA->predictedMoves[battler] = gLastMoves[battler]; AI_DATA->hpPercents[battler] = GetHealthPercentage(battler); AI_DATA->moveLimitations[battler] = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); + AI_DATA->speedStats[battler] = GetBattlerTotalSpeedStatArgs(battler, ability, holdEffect); +} + +static void SetBattlerAiMovesData(u32 battlerAtk, u32 battlersCount) +{ + u32 battlerDef, i; + u16 *moves; + + // Simulate dmg for both ai controlled mons and for player controlled mons. + SaveBattlerData(battlerAtk); + moves = GetMovesArray(battlerAtk); + for (battlerDef = 0; battlerDef < battlersCount; battlerDef++) + { + if (battlerAtk == battlerDef) + continue; + + SaveBattlerData(battlerDef); + for (i = 0; i < MAX_MON_MOVES; i++) + { + s32 dmg = 0; + u8 effectiveness = AI_EFFECTIVENESS_x0; + u32 move = moves[i]; + + if (move != 0 + && move != 0xFFFF + //&& gBattleMoves[move].power != 0 /* we want to get effectiveness of status moves */ + && !(AI_DATA->moveLimitations[battlerAtk] & gBitTable[i])) { + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE); + } + + AI_DATA->simulatedDmg[battlerAtk][battlerDef][i] = dmg; + AI_DATA->effectiveness[battlerAtk][battlerDef][i] = effectiveness; + } + } + SetMoveDamageResult(battlerAtk, moves); } void SetAiLogicDataForTurn(void) { - u32 battlerAtk, battlerDef, i, battlersCount; + u32 battlerAtk, battlersCount; memset(AI_DATA, 0, sizeof(struct AiLogicData)); @@ -366,33 +403,7 @@ void SetAiLogicDataForTurn(void) continue; SetBattlerAiData(battlerAtk); - if (!IsAiBattlerAware(battlerAtk)) - continue; - - SaveBattlerData(battlerAtk); - for (battlerDef = 0; battlerDef < battlersCount; battlerDef++) - { - if (battlerAtk == battlerDef) - continue; - - SaveBattlerData(battlerDef); - for (i = 0; i < MAX_MON_MOVES; i++) - { - s32 dmg = 0; - u8 effectiveness = AI_EFFECTIVENESS_x0; - u32 move = gBattleMons[battlerAtk].moves[i]; - - if (move != 0 - && move != 0xFFFF - //&& gBattleMoves[move].power != 0 /* we want to get effectiveness of status moves */ - && !(AI_DATA->moveLimitations[battlerAtk] & gBitTable[i])) { - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE); - } - - AI_DATA->simulatedDmg[battlerAtk][battlerDef][i] = dmg; - AI_DATA->effectiveness[battlerAtk][battlerDef][i] = effectiveness; - } - } + SetBattlerAiMovesData(battlerAtk, battlersCount); } } @@ -715,6 +726,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) u32 i; u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; + SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); @@ -2616,7 +2628,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score--; break; case EFFECT_VITAL_THROW: - if (WillAIStrikeFirst() && AI_DATA->hpPercents[battlerAtk] < 40) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, move) && AI_DATA->hpPercents[battlerAtk] < 40) score--; // don't want to move last break; case EFFECT_FLAIL: @@ -2688,16 +2700,20 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { + u32 movesetIndex = AI_THINKING_STRUCT->movesetIndex; + bool32 aiFaster; + if (IsTargetingPartner(battlerAtk, battlerDef)) return score; if (gBattleMoves[move].power == 0) return score; // can't make anything faint with no power - if (CanIndexMoveFaintTarget(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex, 0) && gBattleMoves[move].effect != EFFECT_EXPLOSION) + aiFaster = AI_STRIKES_FIRST(battlerAtk, battlerDef, move); + if (CanIndexMoveFaintTarget(battlerAtk, battlerDef, movesetIndex, 0) && gBattleMoves[move].effect != EFFECT_EXPLOSION) { // this move can faint the target - if (WillAIStrikeFirst() || GetMovePriority(battlerAtk, move) > 0) + if (aiFaster || GetMovePriority(battlerAtk, move) > 0) score += 4; // we go first or we're using priority move else score += 2; @@ -2708,10 +2724,10 @@ static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (gBattleMoves[move].highCritRatio) score += 2; // crit makes it more likely to make them faint - if (GetMoveDamageResult(move) == MOVE_POWER_OTHER) + if (GetMoveDamageResult(battlerAtk, battlerDef, movesetIndex) == MOVE_POWER_OTHER) score--; - switch (AI_DATA->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]) + switch (AI_DATA->effectiveness[battlerAtk][battlerDef][movesetIndex]) { case AI_EFFECTIVENESS_x8: score += 8; @@ -2729,9 +2745,9 @@ static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } //AI_TryToFaint_CheckIfDanger - if (!WillAIStrikeFirst() && CanTargetFaintAi(battlerDef, battlerAtk)) + if (!aiFaster && CanTargetFaintAi(battlerDef, battlerAtk)) { // AI_TryToFaint_Danger - if (GetMoveDamageResult(move) != MOVE_POWER_BEST) + if (GetMoveDamageResult(battlerAtk, battlerDef, movesetIndex) != MOVE_POWER_BEST) score--; else score++; @@ -2793,7 +2809,6 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } } // check partner move effect - // consider our move effect relative to partner state switch (effect) { @@ -2815,7 +2830,6 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; } // our effect relative to partner - // consider global move effects switch (effect) { @@ -2853,11 +2867,10 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; } // global move effect check - // check specific target if (IsTargetingPartner(battlerAtk, battlerDef)) { - if (GetMoveDamageResult(move) == MOVE_POWER_OTHER) + if (GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_OTHER) { // partner ability checks if (!partnerProtecting && moveTarget != MOVE_TARGET_BOTH && !DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move)) @@ -2900,7 +2913,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case ABILITY_WATER_COMPACTION: - if (moveType == TYPE_WATER && GetMoveDamageResult(move) == MOVE_POWER_WEAK) + if (moveType == TYPE_WATER && GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_WEAK) { RETURN_SCORE_PLUS(1); // only mon with this ability is weak to water so only make it okay if we do very little damage } @@ -3161,6 +3174,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score u32 effectiveness = AI_DATA->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; u8 atkPriority = GetMovePriority(battlerAtk, move); u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; + u32 predictedMoveSlot = GetMoveSlot(GetMovesArray(battlerDef), predictedMove); bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; // We only check for moves that have a 20% chance or more for their secondary effect to happen because moves with a smaller chance are rather worthless. We don't want the AI to use those. @@ -3203,7 +3217,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } // check damage - if (gBattleMoves[move].power != 0 && GetMoveDamageResult(move) == MOVE_POWER_WEAK) + if (gBattleMoves[move].power != 0 && GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_WEAK) score--; // check status move preference @@ -3334,7 +3348,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_SPEED_UP: case EFFECT_SPEED_UP_2: - if (!WillAIStrikeFirst()) + if (!AI_STRIKES_FIRST(battlerAtk, battlerDef, move)) { if (!AI_RandLessThan(70)) score += 3; @@ -3432,7 +3446,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_SPEED_DOWN: case EFFECT_SPEED_DOWN_2: - if (WillAIStrikeFirst()) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, move)) score -= 3; else if (!AI_RandLessThan(70)) score += 2; @@ -3675,7 +3689,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 2; break; case EFFECT_SPEED_DOWN_HIT: - if (WillAIStrikeFirst()) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, move)) score -= 2; else if (!AI_RandLessThan(70)) score++; @@ -3819,7 +3833,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score++; break; case EFFECT_SPEED_UP_HIT: - if (sereneGraceBoost && AI_DATA->abilities[battlerDef] != ABILITY_CONTRARY && !WillAIStrikeFirst()) + if (sereneGraceBoost && AI_DATA->abilities[battlerDef] != ABILITY_CONTRARY && !AI_STRIKES_FIRST(battlerAtk, battlerDef, move)) score += 3; break; case EFFECT_DESTINY_BOND: @@ -4432,7 +4446,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (IsStatBoostingBerry(item) && AI_DATA->hpPercents[battlerAtk] > 60) score++; else if (ShouldRestoreHpBerry(battlerAtk, item) && !CanAIFaintTarget(battlerAtk, battlerDef, 0) - && ((GetWhoStrikesFirst(battlerAtk, battlerDef, TRUE) == 0 && CanTargetFaintAiWithMod(battlerDef, battlerAtk, 0, 0)) + && ((GetWhichBattlerFaster(battlerAtk, battlerDef, TRUE) == 0 && CanTargetFaintAiWithMod(battlerDef, battlerAtk, 0, 0)) || !CanTargetFaintAiWithMod(battlerDef, battlerAtk, toHeal, 0))) score++; // Recycle healing berry if we can't otherwise faint the target and the target wont kill us after we activate the berry } @@ -4865,7 +4879,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score { if (gDisableStructs[battlerDef].tauntTimer != 0) score++; // target must use damaging move - if (GetMoveDamageResult(predictedMove) >= MOVE_POWER_GOOD && GetBattleMoveSplit(predictedMove) == SPLIT_PHYSICAL) + if (GetMoveDamageResult(battlerDef, battlerAtk, predictedMoveSlot) >= MOVE_POWER_GOOD && GetBattleMoveSplit(predictedMove) == SPLIT_PHYSICAL) score += 3; } break; @@ -4874,7 +4888,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score { if (gDisableStructs[battlerDef].tauntTimer != 0) score++; // target must use damaging move - if (GetMoveDamageResult(predictedMove) >= MOVE_POWER_GOOD && GetBattleMoveSplit(predictedMove) == SPLIT_SPECIAL) + if (GetMoveDamageResult(battlerDef, battlerAtk, predictedMoveSlot) >= MOVE_POWER_GOOD && GetBattleMoveSplit(predictedMove) == SPLIT_SPECIAL) score += 3; } break; @@ -5111,7 +5125,7 @@ static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 if (IsTargetingPartner(battlerAtk, battlerDef)) return score; - if (GetMoveDamageResult(move) == MOVE_POWER_BEST) + if (GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_BEST) score += 2; return score; @@ -5124,7 +5138,7 @@ static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 scor if (IsTargetingPartner(battlerAtk, battlerDef) || CountUsablePartyMons(battlerAtk) == 0 - || GetMoveDamageResult(move) != MOVE_POWER_OTHER + || GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) != MOVE_POWER_OTHER || !HasMoveEffect(battlerAtk, EFFECT_BATON_PASS) || IsBattlerTrapped(battlerAtk, TRUE)) return score; diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 1c12ecdfdb..b2f56326f7 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -400,7 +400,7 @@ static bool8 ShouldSwitchIfGameStatePrompt(u32 battler) && AnyStatIsRaised(battler)) switchMon = FALSE; if (AiExpectsToFaintPlayer(battler) - && !WillAIStrikeFirst() + && !AI_STRIKES_FIRST(battler, opposingBattler, 0) && !AI_OpponentCanFaintAiWithMod(battler, 0)) switchMon = FALSE; } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 6e85112c21..d2c7e574d9 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -424,11 +424,6 @@ u16 GetAIChosenMove(u8 battlerId) return (gBattleMons[battlerId].moves[gBattleStruct->aiMoveOrAction[battlerId]]); } -bool32 WillAIStrikeFirst(void) -{ - return (AI_WhoStrikesFirst(sBattler_AI, gBattlerTarget, AI_THINKING_STRUCT->moveConsidered) == AI_IS_FASTER); -} - bool32 AI_RandLessThan(u8 val) { if ((Random() % 0xFF) < val) @@ -945,85 +940,91 @@ u32 GetNoOfHitsToKO(u32 dmg, s32 hp) return hp / (dmg + 1) + 1; } -u8 GetMoveDamageResult(u16 move) +void SetMoveDamageResult(u32 battlerAtk, u16 *moves) { - s32 i, checkedMove, bestId, currId, hp; + s32 i, j, battlerDef, bestId, currId, hp, result; s32 moveDmgs[MAX_MON_MOVES]; - u8 result; + bool8 isNotConsidered[MAX_MON_MOVES]; - for (i = 0; sIgnoredPowerfulMoveEffects[i] != IGNORED_MOVES_END; i++) + for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMoves[move].effect == sIgnoredPowerfulMoveEffects[i]) - break; - } - - if (gBattleMoves[move].power != 0 && sIgnoredPowerfulMoveEffects[i] == IGNORED_MOVES_END) - { - // Considered move has power and is not in sIgnoredPowerfulMoveEffects - // Check all other moves and calculate their power - for (checkedMove = 0; checkedMove < MAX_MON_MOVES; checkedMove++) + u16 move = moves[i]; + for (j = 0; sIgnoredPowerfulMoveEffects[j] != IGNORED_MOVES_END; j++) { - for (i = 0; sIgnoredPowerfulMoveEffects[i] != IGNORED_MOVES_END; i++) - { - if (gBattleMoves[gBattleMons[sBattler_AI].moves[checkedMove]].effect == sIgnoredPowerfulMoveEffects[i]) - break; - } + if (gBattleMoves[move].effect == sIgnoredPowerfulMoveEffects[j]) + break; + } + if (move == 0 || move == 0xFFFF || gBattleMoves[move].power == 0 || sIgnoredPowerfulMoveEffects[j] != IGNORED_MOVES_END) + isNotConsidered[i] = TRUE; + else + isNotConsidered[i] = FALSE; - if (gBattleMons[sBattler_AI].moves[checkedMove] != MOVE_NONE - && sIgnoredPowerfulMoveEffects[i] == IGNORED_MOVES_END - && gBattleMoves[gBattleMons[sBattler_AI].moves[checkedMove]].power != 0) + for (battlerDef = 0; battlerDef < MAX_BATTLERS_COUNT; battlerDef++) + { + if (battlerDef == battlerAtk) + continue; + + if (isNotConsidered[i]) { - moveDmgs[checkedMove] = AI_DATA->simulatedDmg[sBattler_AI][gBattlerTarget][checkedMove]; + AI_DATA->moveDmgResult[battlerAtk][battlerDef][i] = MOVE_POWER_OTHER; // Move has a power of 0/1, or is in the group sIgnoredPowerfulMoveEffects } else { - moveDmgs[checkedMove] = 0; - } - } - - hp = gBattleMons[gBattlerTarget].hp + (20 * gBattleMons[gBattlerTarget].hp / 100); // 20 % add to make sure the battler is always fainted - // If a move can faint battler, it doesn't matter how much damage it does - for (i = 0; i < MAX_MON_MOVES; i++) - { - if (moveDmgs[i] > hp) - moveDmgs[i] = hp; - } - - for (bestId = 0, i = 1; i < MAX_MON_MOVES; i++) - { - if (moveDmgs[i] > moveDmgs[bestId]) - bestId = i; - if (moveDmgs[i] == moveDmgs[bestId]) - { - switch (WhichMoveBetter(gBattleMons[sBattler_AI].moves[bestId], gBattleMons[sBattler_AI].moves[i])) + // Considered move has power and is not in sIgnoredPowerfulMoveEffects + // Check all other moves and calculate their power + for (j = 0; j < MAX_MON_MOVES; j++) { - case 2: - if (Random() & 1) - break; - case 1: - bestId = i; - break; + if (!isNotConsidered[j]) + moveDmgs[j] = AI_DATA->simulatedDmg[battlerAtk][battlerDef][j]; + else + moveDmgs[j] = 0; } + + hp = gBattleMons[battlerDef].hp + (20 * gBattleMons[battlerDef].hp / 100); // 20 % add to make sure the battler is always fainted + // If a move can faint battler, it doesn't matter how much damage it does + for (j = 0; j < MAX_MON_MOVES; j++) + { + if (moveDmgs[j] > hp) + moveDmgs[j] = hp; + } + + for (bestId = 0, j = 1; j < MAX_MON_MOVES; j++) + { + if (moveDmgs[j] > moveDmgs[bestId]) + bestId = j; + if (moveDmgs[j] == moveDmgs[bestId]) + { + switch (WhichMoveBetter(gBattleMons[battlerAtk].moves[bestId], gBattleMons[battlerAtk].moves[j])) + { + case 2: + if (Random() & 1) + break; + case 1: + bestId = j; + break; + } + } + } + + currId = i; + if (currId == bestId) + result = MOVE_POWER_BEST; + else if ((moveDmgs[currId] >= hp || moveDmgs[bestId] < hp) // If current move can faint as well, or if neither can + && GetNoOfHitsToKO(moveDmgs[currId], hp) - GetNoOfHitsToKO(moveDmgs[bestId], hp) <= 2 // Consider a move weak if it needs to be used at least 2 times more to faint the target, compared to the best move. + && WhichMoveBetter(gBattleMons[battlerAtk].moves[bestId], gBattleMons[battlerAtk].moves[currId]) != 0) + result = MOVE_POWER_GOOD; + else + result = MOVE_POWER_WEAK; + + AI_DATA->moveDmgResult[battlerAtk][battlerDef][i] = result; } } - - currId = AI_THINKING_STRUCT->movesetIndex; - if (currId == bestId) - AI_THINKING_STRUCT->funcResult = MOVE_POWER_BEST; - else if ((moveDmgs[currId] >= hp || moveDmgs[bestId] < hp) // If current move can faint as well, or if neither can - && GetNoOfHitsToKO(moveDmgs[currId], hp) - GetNoOfHitsToKO(moveDmgs[bestId], hp) <= 2 // Consider a move weak if it needs to be used at least 2 times more to faint the target, compared to the best move. - && WhichMoveBetter(gBattleMons[sBattler_AI].moves[bestId], gBattleMons[sBattler_AI].moves[currId]) != 0) - AI_THINKING_STRUCT->funcResult = MOVE_POWER_GOOD; - else - AI_THINKING_STRUCT->funcResult = MOVE_POWER_WEAK; - } - else - { - // Move has a power of 0/1, or is in the group sIgnoredPowerfulMoveEffects - AI_THINKING_STRUCT->funcResult = MOVE_POWER_OTHER; } +} - return AI_THINKING_STRUCT->funcResult; +u32 GetMoveDamageResult(u32 battlerAtk, u32 battlerDef, u32 moveIndex) +{ + return AI_DATA->moveDmgResult[battlerAtk][battlerDef][moveIndex]; } u32 GetCurrDamageHpPercent(u32 battlerAtk, u32 battlerDef) @@ -1090,7 +1091,7 @@ static u32 AI_GetEffectiveness(uq4_12_t multiplier) * AI_IS_FASTER: is user(ai) faster * AI_IS_SLOWER: is target faster */ -u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 moveConsidered) +u32 AI_WhoStrikesFirst(u32 battlerAI, u32 battler2, u32 moveConsidered) { u32 fasterAI = 0, fasterPlayer = 0, i; s8 prioAI = 0; @@ -1126,7 +1127,11 @@ u8 AI_WhoStrikesFirst(u8 battlerAI, u8 battler2, u16 moveConsidered) if (prioAI > prioBattler2) return AI_IS_FASTER; // if we didn't know any of battler 2's moves to compare priorities, assume they don't have a prio+ move // Priorities are the same(at least comparing to moves the AI is aware of), decide by speed. - if (GetWhoStrikesFirst(battlerAI, battler2, TRUE) == 0) + if (GetWhichBattlerFasterArgs(battlerAI, battler2, TRUE, + AI_DATA->abilities[battlerAI], AI_DATA->abilities[battler2], + AI_DATA->holdEffects[battlerAI], AI_DATA->holdEffects[battler2], + AI_DATA->speedStats[battlerAI], AI_DATA->speedStats[battler2], + prioAI, prioBattler2) == 0) return AI_IS_FASTER; else return AI_IS_SLOWER; @@ -1795,7 +1800,7 @@ u32 CountNegativeStatStages(u8 battlerId) bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. if (gBattleMons[battlerDef].statStages[STAT_ATK] > 4 @@ -1812,7 +1817,7 @@ bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility) bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. if (gBattleMons[battlerDef].statStages[STAT_DEF] > 4 @@ -1829,10 +1834,10 @@ bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility) bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. - if (!WillAIStrikeFirst() + if (!AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && defAbility != ABILITY_CONTRARY && defAbility != ABILITY_CLEAR_BODY && defAbility != ABILITY_FULL_METAL_BODY @@ -1844,7 +1849,7 @@ bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility) bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. if (gBattleMons[battlerDef].statStages[STAT_SPATK] > 4 @@ -1860,7 +1865,7 @@ bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility) bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. if (gBattleMons[battlerDef].statStages[STAT_SPDEF] > 4 @@ -1876,7 +1881,7 @@ bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility) bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. if (defAbility != ABILITY_CONTRARY @@ -1891,7 +1896,7 @@ bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility) bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u16 defAbility) { - if (WillAIStrikeFirst() && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. if (gBattleMons[battlerDef].statStages[STAT_EVASION] > DEFAULT_STAT_STAGE @@ -3637,7 +3642,7 @@ void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s32 *score) } break; case STAT_SPEED: - if (!WillAIStrikeFirst()) + if (!AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered)) { if (gBattleMons[battlerAtk].statStages[STAT_SPEED] < STAT_UP_2_STAGE) *score += 2; diff --git a/src/battle_main.c b/src/battle_main.c index 6fbbec8a15..89fbb8e493 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3771,7 +3771,7 @@ static void TryDoEventsBeforeFirstTurn(void) { for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], TRUE) != 0) + if (GetWhichBattlerFaster(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], TRUE) != 0) SwapTurnOrder(i, j); } } @@ -4598,11 +4598,10 @@ void SwapTurnOrder(u8 id1, u8 id2) SWAP(gBattlerByTurnOrder[id1], gBattlerByTurnOrder[id2], temp); } -u32 GetBattlerTotalSpeedStat(u8 battler) +// For AI, so it doesn't 'cheat' by knowing player's ability +u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, u32 holdEffect) { u32 speed = gBattleMons[battler].speed; - u32 ability = GetBattlerAbility(battler); - u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); u32 highestStat = GetHighestStatId(battler); // weather abilities @@ -4669,6 +4668,13 @@ u32 GetBattlerTotalSpeedStat(u8 battler) return speed; } +u32 GetBattlerTotalSpeedStat(u32 battler) +{ + u32 ability = GetBattlerAbility(battler); + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + return GetBattlerTotalSpeedStatArgs(battler, ability, holdEffect); +} + s8 GetChosenMovePriority(u32 battler) { u16 move; @@ -4733,17 +4739,13 @@ s8 GetMovePriority(u32 battler, u16 move) return priority; } -u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) +// Function for AI with variables provided as arguments to speed the computation time +u32 GetWhichBattlerFasterArgs(u32 battler1, u32 battler2, bool32 ignoreChosenMoves, u32 ability1, u32 ability2, + u32 holdEffectBattler1, u32 holdEffectBattler2, u32 speedBattler1, u32 speedBattler2, s32 priority1, s32 priority2) { - u8 strikesFirst = 0; - u32 speedBattler1 = 0, speedBattler2 = 0; - u32 holdEffectBattler1 = 0, holdEffectBattler2 = 0; - s8 priority1 = 0, priority2 = 0; - u16 ability1 = GetBattlerAbility(battler1), ability2 = GetBattlerAbility(battler2); + u32 strikesFirst = 0; // Battler 1 - speedBattler1 = GetBattlerTotalSpeedStat(battler1); - holdEffectBattler1 = GetBattlerHoldEffect(battler1, TRUE); // Quick Draw if (!ignoreChosenMoves && ability1 == ABILITY_QUICK_DRAW && !IS_MOVE_STATUS(gChosenMoveByBattler[battler1]) && Random() % 100 < 30) gProtectStructs[battler1].quickDraw = TRUE; @@ -4754,8 +4756,6 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) gProtectStructs[battler1].usedCustapBerry = TRUE; // Battler 2 - speedBattler2 = GetBattlerTotalSpeedStat(battler2); - holdEffectBattler2 = GetBattlerHoldEffect(battler2, TRUE); // Quick Draw if (!ignoreChosenMoves && ability2 == ABILITY_QUICK_DRAW && !IS_MOVE_STATUS(gChosenMoveByBattler[battler2]) && Random() % 100 < 30) gProtectStructs[battler2].quickDraw = TRUE; @@ -4765,14 +4765,6 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) || (holdEffectBattler2 == HOLD_EFFECT_CUSTAP_BERRY && HasEnoughHpToEatBerry(battler2, 4, gBattleMons[battler2].item)))) gProtectStructs[battler2].usedCustapBerry = TRUE; - if (!ignoreChosenMoves) - { - if (gChosenActionByBattler[battler1] == B_ACTION_USE_MOVE) - priority1 = GetChosenMovePriority(battler1); - if (gChosenActionByBattler[battler2] == B_ACTION_USE_MOVE) - priority2 = GetChosenMovePriority(battler2); - } - if (priority1 == priority2) { // QUICK CLAW / CUSTAP - always first @@ -4835,6 +4827,28 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) return strikesFirst; } +u32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves) +{ + s32 priority1 = 0, priority2 = 0; + u32 ability1 = GetBattlerAbility(battler1); + u32 speedBattler1 = GetBattlerTotalSpeedStat(battler1); + u32 holdEffectBattler1 = GetBattlerHoldEffect(battler1, TRUE); + u32 speedBattler2 = GetBattlerTotalSpeedStat(battler2); + u32 holdEffectBattler2 = GetBattlerHoldEffect(battler2, TRUE); + u32 ability2 = GetBattlerAbility(battler2); + + if (!ignoreChosenMoves) + { + if (gChosenActionByBattler[battler1] == B_ACTION_USE_MOVE) + priority1 = GetChosenMovePriority(battler1); + if (gChosenActionByBattler[battler2] == B_ACTION_USE_MOVE) + priority2 = GetChosenMovePriority(battler2); + } + + return GetWhichBattlerFasterArgs(battler1, battler2, ignoreChosenMoves, ability1, ability2, + holdEffectBattler1, holdEffectBattler2, speedBattler1, speedBattler2, priority1, priority2); +} + static void SetActionsAndBattlersTurnOrder(void) { s32 turnOrderId = 0; @@ -4928,7 +4942,7 @@ static void SetActionsAndBattlersTurnOrder(void) && gActionsByTurnOrder[i] != B_ACTION_THROW_BALL && gActionsByTurnOrder[j] != B_ACTION_THROW_BALL) { - if (GetWhoStrikesFirst(battler1, battler2, FALSE)) + if (GetWhichBattlerFaster(battler1, battler2, FALSE)) SwapTurnOrder(i, j); } } @@ -5092,7 +5106,7 @@ static void TryChangeTurnOrder(void) if (gActionsByTurnOrder[i] == B_ACTION_USE_MOVE && gActionsByTurnOrder[j] == B_ACTION_USE_MOVE) { - if (GetWhoStrikesFirst(battler1, battler2, FALSE)) + if (GetWhichBattlerFaster(battler1, battler2, FALSE)) SwapTurnOrder(i, j); } } diff --git a/src/battle_util.c b/src/battle_util.c index 9e489e9e3e..fbd7b091ad 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -875,12 +875,12 @@ void HandleAction_ActionFinished(void) // have been executed before. The only recalculation needed is for moves/switch. Mega evolution is handled in src/battle_main.c/TryChangeOrder if((gActionsByTurnOrder[i] == B_ACTION_USE_MOVE && gActionsByTurnOrder[j] == B_ACTION_USE_MOVE)) { - if (GetWhoStrikesFirst(battler1, battler2, FALSE)) + if (GetWhichBattlerFaster(battler1, battler2, FALSE)) SwapTurnOrder(i, j); } else if ((gActionsByTurnOrder[i] == B_ACTION_SWITCH && gActionsByTurnOrder[j] == B_ACTION_SWITCH)) { - if (GetWhoStrikesFirst(battler1, battler2, TRUE)) // If the actions chosen are switching, we recalc order but ignoring the moves + if (GetWhichBattlerFaster(battler1, battler2, TRUE)) // If the actions chosen are switching, we recalc order but ignoring the moves SwapTurnOrder(i, j); } } @@ -2043,7 +2043,7 @@ u8 DoFieldEndTurnEffects(void) { if (!gProtectStructs[i].quash && !gProtectStructs[j].quash - && GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], FALSE)) + && GetWhichBattlerFaster(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], FALSE)) SwapTurnOrder(i, j); } } @@ -8259,13 +8259,13 @@ bool32 IsBattlerAlive(u32 battler) return TRUE; } -u32 GetBattleMonMoveSlot(struct BattlePokemon *battleMon, u32 move) +u32 GetMoveSlot(u16 *moves, u32 move) { u32 i; for (i = 0; i < MAX_MON_MOVES; i++) { - if (battleMon->moves[i] == move) + if (moves[i] == move) break; } return i; @@ -8555,8 +8555,8 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3 basePower *= 2; break; case EFFECT_TRUMP_CARD: - i = GetBattleMonMoveSlot(&gBattleMons[battlerAtk], move); - if (i != 4) + i = GetMoveSlot(gBattleMons[battlerAtk].moves, move); + if (i != MAX_MON_MOVES) { if (gBattleMons[battlerAtk].pp[i] >= ARRAY_COUNT(sTrumpCardPowerTable)) basePower = sTrumpCardPowerTable[ARRAY_COUNT(sTrumpCardPowerTable) - 1]; From 9031f5a063007f0519723d03a8afb1ef841f4a23 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 14:04:25 +0200 Subject: [PATCH 229/256] get battlers' speed only once --- include/battle_ai_util.h | 3 ++- src/battle_ai_main.c | 47 ++++++++++++++++++++-------------------- src/battle_ai_util.c | 24 +++++++------------- 3 files changed, 33 insertions(+), 41 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 5bacc3e192..854146ecd0 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -50,7 +50,7 @@ bool32 BattlerWillFaintFromWeather(u8 battler, u16 ability); bool32 BattlerWillFaintFromSecondaryDamage(u8 battler, u16 ability); bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move); bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u8 moveIndex); -u16 GetBattlerSideSpeedAverage(u8 battler); +u32 GetBattlerSideSpeedAverage(u32 battler); bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u16 move, s32 damage); bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u16 move, u8 healPercent); bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u16 moveEffect); @@ -157,6 +157,7 @@ bool32 IsWakeupTurn(u8 battler); bool32 AI_IsBattlerAsleepOrComatose(u8 battlerId); // partner logic +#define IS_TARGETING_PARTNER(battlerAtk, battlerDef)((battlerAtk) == (battlerDef ^ BIT_FLANK)) u16 GetAllyChosenMove(u8 battlerId); bool32 IsValidDoubleBattle(u32 battlerAtk); bool32 IsTargetingPartner(u32 battlerAtk, u32 battlerDef); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 4d518d9266..c908ac96f7 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -726,11 +726,10 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) u32 i; u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; - SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; GET_MOVE_TYPE(move, moveType); @@ -880,7 +879,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case ABILITY_DEFIANT: case ABILITY_COMPETITIVE: - if (IsStatLoweringMoveEffect(moveEffect) && !IsTargetingPartner(battlerAtk, battlerDef)) + if (IsStatLoweringMoveEffect(moveEffect) && !IS_TARGETING_PARTNER(battlerAtk, battlerDef)) RETURN_SCORE_MINUS(8); break; case ABILITY_COMATOSE: @@ -2103,7 +2102,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // evasion check if (gBattleMons[battlerDef].statStages[STAT_EVASION] == MIN_STAT_STAGE - || ((AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) && !IsTargetingPartner(battlerAtk, battlerDef))) // don't want to raise target stats unless its your partner + || ((AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) && !IS_TARGETING_PARTNER(battlerAtk, battlerDef))) // don't want to raise target stats unless its your partner score -= 10; break; @@ -2231,27 +2230,27 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_POWER_TRICK: - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) score -= 10; else if (gBattleMons[battlerAtk].defense >= gBattleMons[battlerAtk].attack && !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; break; case EFFECT_POWER_SWAP: // Don't use if attacker's stat stages are higher than opponents - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) score -= 10; else if (gBattleMons[battlerAtk].statStages[STAT_ATK] >= gBattleMons[battlerDef].statStages[STAT_ATK] && gBattleMons[battlerAtk].statStages[STAT_SPATK] >= gBattleMons[battlerDef].statStages[STAT_SPATK]) score -= 10; break; case EFFECT_GUARD_SWAP: // Don't use if attacker's stat stages are higher than opponents - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) score -= 10; else if (gBattleMons[battlerAtk].statStages[STAT_DEF] >= gBattleMons[battlerDef].statStages[STAT_DEF] && gBattleMons[battlerAtk].statStages[STAT_SPDEF] >= gBattleMons[battlerDef].statStages[STAT_SPDEF]) score -= 10; break; case EFFECT_SPEED_SWAP: - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { score -= 10; } @@ -2264,7 +2263,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_HEART_SWAP: - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { score -= 10; } @@ -2281,7 +2280,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_POWER_SPLIT: - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { score -= 10; } @@ -2298,7 +2297,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_GUARD_SPLIT: - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { score -= 10; } @@ -2481,14 +2480,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_HEAL_PULSE: // and floral healing - if (!IsTargetingPartner(battlerAtk, battlerDef)) // Don't heal enemies + if (!IS_TARGETING_PARTNER(battlerAtk, battlerDef)) // Don't heal enemies { score -= 10; break; } // fallthrough case EFFECT_HIT_ENEMY_HEAL_ALLY: // pollen puff - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { if (gStatuses3[battlerDef] & STATUS3_HEAL_BLOCK) return 0; @@ -2505,7 +2504,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_TOPSY_TURVY: - if (!IsTargetingPartner(battlerAtk, battlerDef)) + if (!IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { u8 targetPositiveStages = CountPositiveStatStages(battlerDef); u8 targetNegativeStages = CountNegativeStatStages(battlerDef); @@ -2546,7 +2545,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } else if (isDoubleBattle) { - if (!IsTargetingPartner(battlerAtk, battlerDef)) + if (!IS_TARGETING_PARTNER(battlerAtk, battlerDef)) score -= 10; } else @@ -2571,7 +2570,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_AFTER_YOU: - if (!IsTargetingPartner(battlerAtk, battlerDef) + if (!IS_TARGETING_PARTNER(battlerAtk, battlerDef) || !isDoubleBattle || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) @@ -2703,7 +2702,7 @@ static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) u32 movesetIndex = AI_THINKING_STRUCT->movesetIndex; bool32 aiFaster; - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; if (gBattleMoves[move].power == 0) @@ -2868,7 +2867,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } // global move effect check // check specific target - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { if (GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_OTHER) { @@ -3181,7 +3180,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score bool32 sereneGraceBoost = (AI_DATA->abilities[battlerAtk] == ABILITY_SERENE_GRACE && (gBattleMoves[move].secondaryEffectChance >= 20 && gBattleMoves[move].secondaryEffectChance < 100)); // Targeting partner, check benefits of doing that instead - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; // check always hits @@ -4972,7 +4971,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score // Effects that are encouraged on the first turn of battle static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { - if (IsTargetingPartner(battlerAtk, battlerDef) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef) || gBattleResults.battleTurnCounter != 0) return score; @@ -5083,7 +5082,7 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score // Adds score bonus to 'riskier' move effects and high crit moves static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; if (gBattleMoves[move].highCritRatio) @@ -5122,7 +5121,7 @@ static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // Adds score bonus to best powered move static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; if (GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_BEST) @@ -5136,7 +5135,7 @@ static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 scor { u32 i; - if (IsTargetingPartner(battlerAtk, battlerDef) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef) || CountUsablePartyMons(battlerAtk) == 0 || GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) != MOVE_POWER_OTHER || !HasMoveEffect(battlerAtk, EFFECT_BATON_PASS) @@ -5195,7 +5194,7 @@ static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); - if (IsTargetingPartner(battlerAtk, battlerDef)) + if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { if ((effect == EFFECT_HEAL_PULSE || effect == EFFECT_HIT_ENEMY_HEAL_ALLY) || (moveType == TYPE_ELECTRIC && AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_VOLT_ABSORB) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index d2c7e574d9..d5646811c7 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3066,21 +3066,21 @@ bool32 AnyPartyMemberStatused(u8 battlerId, bool32 checkSoundproof) return FALSE; } -u16 GetBattlerSideSpeedAverage(u8 battler) +u32 GetBattlerSideSpeedAverage(u32 battler) { - u16 speed1 = 0; - u16 speed2 = 0; - u8 numBattlersAlive = 0; + u32 speed1 = 0; + u32 speed2 = 0; + u32 numBattlersAlive = 0; if (IsBattlerAlive(battler)) { - speed1 = GetBattlerTotalSpeedStat(battler); + speed1 = AI_DATA->speedStats[battler]; numBattlersAlive++; } if (IsDoubleBattle() && IsBattlerAlive(BATTLE_PARTNER(battler))) { - speed2 = GetBattlerTotalSpeedStat(BATTLE_PARTNER(battler)); + speed2 = AI_DATA->speedStats[BATTLE_PARTNER(battler)]; numBattlersAlive++; } @@ -3196,14 +3196,6 @@ u16 GetAllyChosenMove(u8 battlerId) return gBattleMons[partnerBattler].moves[gBattleStruct->chosenMovePositions[partnerBattler]]; } -bool32 IsTargetingPartner(u32 battlerAtk, u32 battlerDef) -{ - if ((battlerAtk & BIT_SIDE) == (battlerDef & BIT_SIDE)) - return TRUE; - - return FALSE; -} - //PARTNER_MOVE_EFFECT_IS_SAME bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove) { @@ -3739,8 +3731,8 @@ void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) if (AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) { - u8 atkSpeed = GetBattlerTotalSpeedStat(battlerAtk); - u8 defSpeed = GetBattlerTotalSpeedStat(battlerDef); + u32 atkSpeed = AI_DATA->speedStats[battlerAtk]; + u32 defSpeed = AI_DATA->speedStats[battlerDef]; if ((defSpeed >= atkSpeed && defSpeed / 2 < atkSpeed) // You'll go first after paralyzing foe || HasMoveEffect(battlerAtk, EFFECT_HEX) From 94a3e80c8eebc831ab1a39cc8d0ea47975d8aec6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 14:19:18 +0200 Subject: [PATCH 230/256] Remove redundant side macros/funcs (#3299) Co-authored-by: gruxor --- include/battle.h | 34 +++++++------ include/battle_anim.h | 2 - src/battle_ai_main.c | 4 +- src/battle_ai_util.c | 2 +- src/battle_anim.c | 2 +- src/battle_anim_effects_2.c | 2 +- src/battle_anim_fight.c | 2 +- src/battle_anim_ice.c | 8 ++-- src/battle_anim_mons.c | 14 +----- src/battle_controller_player.c | 2 +- src/battle_controllers.c | 4 +- src/battle_debug.c | 16 +++---- src/battle_gfx_sfx_util.c | 18 +++---- src/battle_main.c | 2 +- src/battle_message.c | 2 +- src/battle_script_commands.c | 88 ++++++++++++++++------------------ src/battle_util.c | 14 +++--- src/pokemon.c | 2 +- 18 files changed, 103 insertions(+), 115 deletions(-) diff --git a/include/battle.h b/include/battle.h index eb878b2a56..0dab993d07 100644 --- a/include/battle.h +++ b/include/battle.h @@ -15,9 +15,6 @@ #include "pokeball.h" #include "battle_debug.h" -#define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE) -#define GET_BATTLER_SIDE2(battler) (gBattlerPositions[battler] & BIT_SIDE) - // Used to exclude moves learned temporarily by Transform or Mimic #define MOVE_IS_PERMANENT(battler, moveSlot) \ (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED) \ @@ -749,17 +746,6 @@ STATIC_ASSERT(sizeof(((struct BattleStruct *)0)->palaceFlags) * 8 >= MAX_BATTLER #define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + ((stage) << 3) + (goesDown << 7)) #define SET_STATCHANGER2(dst, statId, stage, goesDown)(dst = (statId) + ((stage) << 3) + (goesDown << 7)) -static inline struct Pokemon *GetSideParty(u32 side) -{ - return side == B_SIDE_PLAYER ? gPlayerParty : gEnemyParty; -} - -static inline struct Pokemon *GetBattlerParty(u32 battlerId) -{ - extern u8 GetBattlerSide(u8 battler); - return GetSideParty(GetBattlerSide(battlerId)); -} - // NOTE: The members of this struct have hard-coded offsets // in include/constants/battle_script_commands.h struct BattleScripting @@ -1030,4 +1016,24 @@ extern u16 gBallToDisplay; extern bool8 gLastUsedBallMenuPresent; extern u8 gPartyCriticalHits[PARTY_SIZE]; +static inline u32 GetBattlerPosition(u32 battler) +{ + return gBattlerPositions[battler]; +} + +static inline u32 GetBattlerSide(u32 battler) +{ + return GetBattlerPosition(battler) & BIT_SIDE; +} + +static inline struct Pokemon *GetSideParty(u32 side) +{ + return (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; +} + +static inline struct Pokemon *GetBattlerParty(u32 battler) +{ + return GetSideParty(GetBattlerSide(battler)); +} + #endif // GUARD_BATTLE_H diff --git a/include/battle_anim.h b/include/battle_anim.h index 9a1ac0193a..7aaa099518 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -165,8 +165,6 @@ void Trade_MoveSelectedMonToTarget(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); -u8 GetBattlerSide(u8 battler); -u8 GetBattlerPosition(u8 battler); u8 GetBattlerAtPosition(u8 position); void ConvertPosDataToTranslateLinearData(struct Sprite *sprite); void InitAnimFastLinearTranslationWithSpeedAndPos(struct Sprite *sprite); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index a8946bcec8..39f5dbe088 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -329,7 +329,7 @@ void Ai_UpdateSwitchInData(u32 battler) void Ai_UpdateFaintData(u32 battler) { - struct AiPartyMon *aiMon = &AI_PARTY->mons[GET_BATTLER_SIDE(battler)][gBattlerPartyIndexes[battler]]; + struct AiPartyMon *aiMon = &AI_PARTY->mons[GetBattlerSide(battler)][gBattlerPartyIndexes[battler]]; ClearBattlerMoveHistory(battler); ClearBattlerAbilityHistory(battler); ClearBattlerItemEffectHistory(battler); @@ -2587,7 +2587,7 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; break; case EFFECT_LUCKY_CHANT: - if (gSideTimers[GET_BATTLER_SIDE(battlerAtk)].luckyChantTimer != 0 + if (gSideTimers[GetBattlerSide(battlerAtk)].luckyChantTimer != 0 || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) score -= 10; break; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 5072645bdc..28113e3f1a 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3409,7 +3409,7 @@ s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon if (BattlerHasAi(battlerAtk)) move = GetMonData(attackerMon, MON_DATA_MOVE1 + i); else - move = AI_PARTY->mons[GET_BATTLER_SIDE2(battlerAtk)][gBattlerPartyIndexes[battlerAtk]].moves[i]; + move = AI_PARTY->mons[GetBattlerSide(battlerAtk)][gBattlerPartyIndexes[battlerAtk]].moves[i]; if (move != MOVE_NONE && gBattleMoves[move].power != 0) { diff --git a/src/battle_anim.c b/src/battle_anim.c index 6b48d38da8..9d0c9d77ad 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -216,7 +216,7 @@ void DoMoveAnim(u16 move) // Make sure the anim target of moves hitting everyone is at the opposite side. if (GetBattlerMoveTargetType(gBattlerAttacker, move) & MOVE_TARGET_FOES_AND_ALLY && IsDoubleBattle()) { - while (GET_BATTLER_SIDE(gBattleAnimAttacker) == GET_BATTLER_SIDE(gBattleAnimTarget)) + while (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget)) { if (++gBattleAnimTarget >= MAX_BATTLERS_COUNT) gBattleAnimTarget = 0; diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 18f94fab78..cd7f4221ba 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -1704,7 +1704,7 @@ void AnimTask_AirCutterProjectile(u8 taskId) } else { - if (GET_BATTLER_SIDE2(gBattleAnimTarget) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { gTasks[taskId].data[4] = 1; gBattleAnimArgs[0] = -gBattleAnimArgs[0]; diff --git a/src/battle_anim_fight.c b/src/battle_anim_fight.c index 9ffe2d3c22..90bd9391e3 100644 --- a/src/battle_anim_fight.c +++ b/src/battle_anim_fight.c @@ -564,7 +564,7 @@ static void AnimFistOrFootRandomPos(struct Sprite *sprite) if (Random2() & 1) y *= -1; - if (GET_BATTLER_SIDE2(battler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) y += 0xFFF0; sprite->x += x; diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 5750e7d7dc..41566d0471 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -1276,12 +1276,12 @@ static void InitPoisonGasCloudAnim(struct Sprite *sprite) if (GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2)) sprite->data[7] = 0x8000; - if (GET_BATTLER_SIDE2(gBattleAnimTarget) == B_SIDE_PLAYER) + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[3] = -gBattleAnimArgs[3]; - if ((sprite->data[7] & 0x8000) && GET_BATTLER_SIDE2(gBattleAnimAttacker) == B_SIDE_PLAYER) + if ((sprite->data[7] & 0x8000) && GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; sprite->data[6] = 1; @@ -1362,7 +1362,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite) sprite->data[7]++; if (IsContest()) sprite->data[5] = 80; - else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER) + else if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) sprite->data[5] = 204; else sprite->data[5] = 80; @@ -1408,7 +1408,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite) sprite->data[4] = sprite->y + 4; if (IsContest()) sprite->data[2] = -16; - else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER) + else if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) sprite->data[2] = DISPLAY_WIDTH + 16; else sprite->data[2] = -16; diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index f2016dd5e2..4d97cd2c75 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -845,23 +845,13 @@ bool32 InitSpritePosToAnimBattler(u32 animBattlerId, struct Sprite *sprite, bool return TRUE; } -u8 GetBattlerSide(u8 battlerId) -{ - return GET_BATTLER_SIDE2(battlerId); -} - -u8 GetBattlerPosition(u8 battlerId) -{ - return gBattlerPositions[battlerId]; -} - u8 GetBattlerAtPosition(u8 position) { u8 i; for (i = 0; i < gBattlersCount; i++) { - if (gBattlerPositions[i] == position) + if (GetBattlerPosition(i) == position) break; } return i; @@ -880,7 +870,7 @@ bool8 IsBattlerSpritePresent(u8 battlerId) } else { - if (gBattlerPositions[battlerId] == 0xff) + if (GetBattlerPosition(battlerId) == 0xff) return FALSE; if (!gBattleStruct->spriteIgnore0Hp) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index d20fbbb514..3a464910e0 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -692,7 +692,7 @@ static void HandleInputChooseMove(u32 battler) if (moveTarget & MOVE_TARGET_USER) gMultiUsePlayerCursor = battler; else - gMultiUsePlayerCursor = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(battler))); + gMultiUsePlayerCursor = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(battler))); if (!gBattleResources->bufferA[battler][1]) // not a double battle { diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 7c835a2418..5deadd26ed 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -629,7 +629,7 @@ static void SetBattlePartyIds(void) { if (i < 2) { - if (GET_BATTLER_SIDE2(i) == B_SIDE_PLAYER) + if (GetBattlerSide(i) == B_SIDE_PLAYER) { if (IsValidForBattle(&gPlayerParty[j])) { @@ -648,7 +648,7 @@ static void SetBattlePartyIds(void) } else { - if (GET_BATTLER_SIDE2(i) == B_SIDE_PLAYER) + if (GetBattlerSide(i) == B_SIDE_PLAYER) { if (IsValidForBattle(&gPlayerParty[j]) && gBattlerPartyIndexes[i - 2] != j) { diff --git a/src/battle_debug.c b/src/battle_debug.c index 3e704b5863..92c1082383 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -855,7 +855,7 @@ static void PutAiInfoText(struct BattleDebugMenu *data) // items info for (i = 0; i < gBattlersCount; i++) { - if (GET_BATTLER_SIDE(i) == B_SIDE_PLAYER && IsBattlerAlive(i)) + if (GetBattlerSide(i) == B_SIDE_PLAYER && IsBattlerAlive(i)) { u16 ability = AI_GetAbility(i); u16 holdEffect = AI_GetHoldEffect(i); @@ -875,10 +875,10 @@ static void PutAiPartyText(struct BattleDebugMenu *data) { u32 i, j, count; u8 *text = Alloc(0x50), *txtPtr; - struct AiPartyMon *aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; + struct AiPartyMon *aiMons = AI_PARTY->mons[GetBattlerSide(data->aiBattlerId)]; FillWindowPixelBuffer(data->aiMovesWindowId, 0x11); - count = AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; + count = AI_PARTY->count[GetBattlerSide(data->aiBattlerId)]; for (i = 0; i < count; i++) { if (aiMons[i].wasSentInBattle) @@ -941,7 +941,7 @@ static void Task_ShowAiKnowledge(u8 taskId) LoadMonIconPalettes(); for (count = 0, i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (GET_BATTLER_SIDE(i) == B_SIDE_PLAYER && IsBattlerAlive(i)) + if (GetBattlerSide(i) == B_SIDE_PLAYER && IsBattlerAlive(i)) { data->spriteIds.aiIconSpriteIds[i] = CreateMonIcon(gBattleMons[i].species, SpriteCallbackDummy, @@ -1000,8 +1000,8 @@ static void Task_ShowAiParty(u8 taskId) LoadMonIconPalettes(); LoadPartyMenuAilmentGfx(); data->aiBattlerId = data->battlerId; - aiMons = AI_PARTY->mons[GET_BATTLER_SIDE(data->aiBattlerId)]; - for (i = 0; i < AI_PARTY->count[GET_BATTLER_SIDE(data->aiBattlerId)]; i++) + aiMons = AI_PARTY->mons[GetBattlerSide(data->aiBattlerId)]; + for (i = 0; i < AI_PARTY->count[GetBattlerSide(data->aiBattlerId)]; i++) { u16 species = SPECIES_NONE; // Question mark if (aiMons[i].wasSentInBattle && aiMons[i].species) @@ -1626,7 +1626,7 @@ static void ValueToCharDigits(u8 *charDigits, u32 newValue, u8 maxDigits) static u8 *GetSideStatusValue(struct BattleDebugMenu *data, bool32 changeStatus, bool32 statusTrue) { - struct SideTimer *sideTimer = &gSideTimers[GET_BATTLER_SIDE(data->battlerId)]; + struct SideTimer *sideTimer = &gSideTimers[GetBattlerSide(data->battlerId)]; switch (data->currentSecondaryListItemId) { @@ -1909,7 +1909,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) data->modifyArrows.maxValue = 9; data->modifyArrows.maxDigits = 2; - data->modifyArrows.modifiedValPtr = &gSideStatuses[GET_BATTLER_SIDE(data->battlerId)]; + data->modifyArrows.modifiedValPtr = &gSideStatuses[GetBattlerSide(data->battlerId)]; data->modifyArrows.typeOfVal = VAR_SIDE_STATUS; data->modifyArrows.currValue = *GetSideStatusValue(data, FALSE, FALSE); break; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 3bcbe3ae5f..3e48a01476 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -278,7 +278,7 @@ u16 ChooseMoveAndTargetInBattlePalace(u32 battler) else if (moveTarget == MOVE_TARGET_SELECTED) chosenMoveId |= GetBattlePalaceTarget(battler); else - chosenMoveId |= (GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(battler))) << 8); + chosenMoveId |= (GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(battler))) << 8); return chosenMoveId; } @@ -684,7 +684,7 @@ void BattleLoadAllHealthBoxesGfxAtOnce(void) numberOfBattlers = MAX_BATTLERS_COUNT; } for (i = 0; i < numberOfBattlers; i++) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[i]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(i)]); } bool8 BattleLoadAllHealthBoxesGfx(u8 state) @@ -711,9 +711,9 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) else if (state == 3) LoadCompressedSpriteSheet(&sSpriteSheet_SinglesOpponentHealthbox); else if (state == 4) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(0)]); else if (state == 5) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(1)]); else retVal = TRUE; } @@ -733,13 +733,13 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state) else if (state == 5) LoadCompressedSpriteSheet(&sSpriteSheets_DoublesOpponentHealthbox[1]); else if (state == 6) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[0]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(0)]); else if (state == 7) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[1]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(1)]); else if (state == 8) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[2]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(2)]); else if (state == 9) - LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[gBattlerPositions[3]]); + LoadCompressedSpriteSheet(&sSpriteSheets_HealthBar[GetBattlerPosition(3)]); else retVal = TRUE; } @@ -792,7 +792,7 @@ bool8 BattleInitAllSprites(u8 *state1, u8 *battler) break; case 4: InitBattlerHealthboxCoords(*battler); - if (gBattlerPositions[*battler] <= B_POSITION_OPPONENT_LEFT) + if (GetBattlerPosition(*battler) <= B_POSITION_OPPONENT_LEFT) DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], FALSE); else DummyBattleInterfaceFunc(gHealthboxSpriteIds[*battler], TRUE); diff --git a/src/battle_main.c b/src/battle_main.c index 7f985f16e2..9dc4c5ac80 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4653,7 +4653,7 @@ u32 GetBattlerTotalSpeedStat(u8 battler) speed *= 2; // various effects - if (gSideStatuses[GET_BATTLER_SIDE(battler)] & SIDE_STATUS_TAILWIND) + if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_TAILWIND) speed *= 2; if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_UNBURDEN) speed *= 2; diff --git a/src/battle_message.c b/src/battle_message.c index 5c86685e09..397cc213e2 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -2980,7 +2980,7 @@ static void GetBattlerNick(u32 battler, u8 *dst) { struct Pokemon *mon, *illusionMon; - if (GET_BATTLER_SIDE(battler) == B_SIDE_PLAYER) + if (GetBattlerSide(battler) == B_SIDE_PLAYER) mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; else mon = &gEnemyParty[gBattlerPartyIndexes[battler]]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b75520ff9d..b89b7d8447 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2817,7 +2817,7 @@ void SetMoveEffect(bool32 primary, u32 certain) INCREMENT_RESET_RETURN } - if (gSideStatuses[GET_BATTLER_SIDE(gEffectBattler)] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) + if (gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_SAFEGUARD && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) && !primary && gBattleScripting.moveEffect <= MOVE_EFFECT_CONFUSION) INCREMENT_RESET_RETURN @@ -3157,7 +3157,7 @@ void SetMoveEffect(bool32 primary, u32 certain) break; case MOVE_EFFECT_PAYDAY: // Don't scatter coins on the second hit of Parental Bond - if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER && gSpecialStatuses[gBattlerAttacker].parentalBondState!= PARENTAL_BOND_2ND_HIT) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER && gSpecialStatuses[gBattlerAttacker].parentalBondState!= PARENTAL_BOND_2ND_HIT) { u16 payday = gPaydayMoney; gPaydayMoney += (gBattleMons[gBattlerAttacker].level * 5); @@ -3173,7 +3173,7 @@ void SetMoveEffect(bool32 primary, u32 certain) } break; case MOVE_EFFECT_HAPPY_HOUR: - if (GET_BATTLER_SIDE(gBattlerAttacker) == B_SIDE_PLAYER && !gBattleStruct->moneyMultiplierMove) + if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER && !gBattleStruct->moneyMultiplierMove) { gBattleStruct->moneyMultiplier *= 2; gBattleStruct->moneyMultiplierMove = 1; @@ -3948,16 +3948,10 @@ static void Cmd_jumpifsideaffecting(void) { CMD_ARGS(u8 battler, u32 flags, const u8 *jumpInstr); - u8 side; - u32 flags; - const u8 *jumpInstr; + u32 side = GetBattlerSide(GetBattlerForBattleScript(cmd->battler)); - side = GET_BATTLER_SIDE(GetBattlerForBattleScript(cmd->battler)); - flags = cmd->flags; - jumpInstr = cmd->jumpInstr; - - if (gSideStatuses[side] & flags) - gBattlescriptCurrInstr = jumpInstr; + if (gSideStatuses[side] & cmd->flags) + gBattlescriptCurrInstr = cmd->jumpInstr; else gBattlescriptCurrInstr = cmd->nextInstr; } @@ -5086,7 +5080,7 @@ static void Cmd_playstatchangeanimation(void) changeableStatsCount++; } } - else if (!gSideTimers[GET_BATTLER_SIDE(battler)].mistTimer + else if (!gSideTimers[GetBattlerSide(battler)].mistTimer && GetBattlerHoldEffect(battler, TRUE) != HOLD_EFFECT_CLEAR_AMULET && ability != ABILITY_CLEAR_BODY && ability != ABILITY_FULL_METAL_BODY @@ -8462,7 +8456,7 @@ static void HandleScriptMegaPrimalBurst(u32 caseId, u32 battler, u32 type) struct Pokemon *party = GetBattlerParty(battler); struct Pokemon *mon = &party[gBattlerPartyIndexes[battler]]; u32 position = GetBattlerPosition(battler); - u32 side = GET_BATTLER_SIDE(battler); + u32 side = GetBattlerSide(battler); // Change species. if (caseId == 0) @@ -8671,7 +8665,7 @@ static void Cmd_various(void) while (gBattleStruct->friskedBattler < gBattlersCount) { gBattlerTarget = gBattleStruct->friskedBattler++; - if (GET_BATTLER_SIDE2(battler) != GET_BATTLER_SIDE2(gBattlerTarget) + if (GetBattlerSide(battler) != GetBattlerSide(gBattlerTarget) && IsBattlerAlive(gBattlerTarget) && gBattleMons[gBattlerTarget].item != ITEM_NONE) { @@ -9305,11 +9299,11 @@ static void Cmd_various(void) case VARIOUS_SET_LUCKY_CHANT: { VARIOUS_ARGS(const u8 *failInstr); - if (!(gSideStatuses[GET_BATTLER_SIDE(battler)] & SIDE_STATUS_LUCKY_CHANT)) + if (!(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_LUCKY_CHANT)) { - gSideStatuses[GET_BATTLER_SIDE(battler)] |= SIDE_STATUS_LUCKY_CHANT; - gSideTimers[GET_BATTLER_SIDE(battler)].luckyChantBattlerId = battler; - gSideTimers[GET_BATTLER_SIDE(battler)].luckyChantTimer = 5; + gSideStatuses[GetBattlerSide(battler)] |= SIDE_STATUS_LUCKY_CHANT; + gSideTimers[GetBattlerSide(battler)].luckyChantBattlerId = battler; + gSideTimers[GetBattlerSide(battler)].luckyChantTimer = 5; gBattlescriptCurrInstr = cmd->nextInstr; } else @@ -9896,7 +9890,7 @@ static void Cmd_various(void) case VARIOUS_SET_AURORA_VEIL: { VARIOUS_ARGS(); - if (gSideStatuses[GET_BATTLER_SIDE(battler)] & SIDE_STATUS_AURORA_VEIL + if (gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_AURORA_VEIL || !(WEATHER_HAS_EFFECT && gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) { gMoveResultFlags |= MOVE_RESULT_MISSED; @@ -9904,12 +9898,12 @@ static void Cmd_various(void) } else { - gSideStatuses[GET_BATTLER_SIDE(battler)] |= SIDE_STATUS_AURORA_VEIL; + gSideStatuses[GetBattlerSide(battler)] |= SIDE_STATUS_AURORA_VEIL; if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_LIGHT_CLAY) - gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilTimer = 8; + gSideTimers[GetBattlerSide(battler)].auroraVeilTimer = 8; else - gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilTimer = 5; - gSideTimers[GET_BATTLER_SIDE(battler)].auroraVeilBattlerId = battler; + gSideTimers[GetBattlerSide(battler)].auroraVeilTimer = 5; + gSideTimers[GetBattlerSide(battler)].auroraVeilBattlerId = battler; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = 5; @@ -10309,11 +10303,11 @@ static void Cmd_various(void) if (gBattleMons[gBattlerAttacker].species == SPECIES_GRENINJA_BATTLE_BOND && HasAttackerFaintedTarget() && CalculateBattlerPartyCount(gBattlerTarget) > 1 - && !(gBattleStruct->battleBondTransformed[GET_BATTLER_SIDE2(gBattlerAttacker)] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) + && !(gBattleStruct->battleBondTransformed[GetBattlerSide(gBattlerAttacker)] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) { - gBattleStruct->battleBondTransformed[GET_BATTLER_SIDE2(gBattlerAttacker)] |= gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]; + gBattleStruct->battleBondTransformed[GetBattlerSide(gBattlerAttacker)] |= gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]; PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species); - gBattleStruct->changedSpecies[GET_BATTLER_SIDE2(gBattlerAttacker)][gBattlerPartyIndexes[gBattlerAttacker]] = gBattleMons[gBattlerAttacker].species; + gBattleStruct->changedSpecies[GetBattlerSide(gBattlerAttacker)][gBattlerPartyIndexes[gBattlerAttacker]] = gBattleMons[gBattlerAttacker].species; gBattleMons[gBattlerAttacker].species = SPECIES_GRENINJA_ASH; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_BattleBondActivatesOnMoveEndAttacker; @@ -11066,19 +11060,19 @@ static void Cmd_setreflect(void) { CMD_ARGS(); - if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_REFLECT) + if (gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_REFLECT) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SIDE_STATUS_FAILED; } else { - gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_REFLECT; + gSideStatuses[GetBattlerSide(gBattlerAttacker)] |= SIDE_STATUS_REFLECT; if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LIGHT_CLAY) - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectTimer = 8; + gSideTimers[GetBattlerSide(gBattlerAttacker)].reflectTimer = 8; else - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectTimer = 5; - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].reflectBattlerId = gBattlerAttacker; + gSideTimers[GetBattlerSide(gBattlerAttacker)].reflectTimer = 5; + gSideTimers[GetBattlerSide(gBattlerAttacker)].reflectBattlerId = gBattlerAttacker; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_REFLECT_DOUBLE; @@ -11482,7 +11476,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr if (statValue <= -1) // Stat decrease. { - if (gSideTimers[GET_BATTLER_SIDE(battler)].mistTimer + if (gSideTimers[GetBattlerSide(battler)].mistTimer && !certain && gCurrentMove != MOVE_CURSE && !(battler == gBattlerTarget && GetBattlerAbility(gBattlerAttacker) == ABILITY_INFILTRATOR)) { @@ -12124,19 +12118,19 @@ static void Cmd_setlightscreen(void) { CMD_ARGS(); - if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_LIGHTSCREEN) + if (gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_LIGHTSCREEN) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SIDE_STATUS_FAILED; } else { - gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_LIGHTSCREEN; + gSideStatuses[GetBattlerSide(gBattlerAttacker)] |= SIDE_STATUS_LIGHTSCREEN; if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_LIGHT_CLAY) - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenTimer = 8; + gSideTimers[GetBattlerSide(gBattlerAttacker)].lightscreenTimer = 8; else - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenTimer = 5; - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].lightscreenBattlerId = gBattlerAttacker; + gSideTimers[GetBattlerSide(gBattlerAttacker)].lightscreenTimer = 5; + gSideTimers[GetBattlerSide(gBattlerAttacker)].lightscreenBattlerId = gBattlerAttacker; if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && CountAliveMonsInBattle(BATTLE_ALIVE_SIDE, gBattlerAttacker) == 2) gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_LIGHTSCREEN_DOUBLE; @@ -12398,16 +12392,16 @@ static void Cmd_setmist(void) { CMD_ARGS(); - if (gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer) + if (gSideTimers[GetBattlerSide(gBattlerAttacker)].mistTimer) { gMoveResultFlags |= MOVE_RESULT_FAILED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MIST_FAILED; } else { - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistTimer = 5; - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].mistBattlerId = gBattlerAttacker; - gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_MIST; + gSideTimers[GetBattlerSide(gBattlerAttacker)].mistTimer = 5; + gSideTimers[GetBattlerSide(gBattlerAttacker)].mistBattlerId = gBattlerAttacker; + gSideStatuses[GetBattlerSide(gBattlerAttacker)] |= SIDE_STATUS_MIST; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_MIST; } gBattlescriptCurrInstr = cmd->nextInstr; @@ -13355,16 +13349,16 @@ static void Cmd_setsafeguard(void) { CMD_ARGS(); - if (gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] & SIDE_STATUS_SAFEGUARD) + if (gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_SAFEGUARD) { gMoveResultFlags |= MOVE_RESULT_MISSED; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SIDE_STATUS_FAILED; } else { - gSideStatuses[GET_BATTLER_SIDE(gBattlerAttacker)] |= SIDE_STATUS_SAFEGUARD; - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].safeguardTimer = 5; - gSideTimers[GET_BATTLER_SIDE(gBattlerAttacker)].safeguardBattlerId = gBattlerAttacker; + gSideStatuses[GetBattlerSide(gBattlerAttacker)] |= SIDE_STATUS_SAFEGUARD; + gSideTimers[GetBattlerSide(gBattlerAttacker)].safeguardTimer = 5; + gSideTimers[GetBattlerSide(gBattlerAttacker)].safeguardBattlerId = gBattlerAttacker; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_SET_SAFEGUARD; } @@ -13675,7 +13669,7 @@ static void Cmd_trysetfutureattack(void) } else { - gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] |= SIDE_STATUS_FUTUREATTACK; + gSideStatuses[GetBattlerSide(gBattlerTarget)] |= SIDE_STATUS_FUTUREATTACK; gWishFutureKnock.futureSightMove[gBattlerTarget] = gCurrentMove; gWishFutureKnock.futureSightAttacker[gBattlerTarget] = gBattlerAttacker; gWishFutureKnock.futureSightCounter[gBattlerTarget] = 3; diff --git a/src/battle_util.c b/src/battle_util.c index d4e873b7ed..aabb6e6e82 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3139,7 +3139,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void) if (gWishFutureKnock.futureSightCounter[battler] == 0 && gWishFutureKnock.futureSightCounter[BATTLE_PARTNER(battler)] == 0) { - gSideStatuses[GET_BATTLER_SIDE(gBattlerTarget)] &= ~SIDE_STATUS_FUTUREATTACK; + gSideStatuses[GetBattlerSide(gBattlerTarget)] &= ~SIDE_STATUS_FUTUREATTACK; } return TRUE; } @@ -4244,7 +4244,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattleWeather = B_WEATHER_SNOW; gBattleScripting.animArg1 = B_ANIM_SNOW_CONTINUES; effect++; - #else + #else gBattleWeather = B_WEATHER_HAIL; gBattleScripting.animArg1 = B_ANIM_HAIL_CONTINUES; effect++; @@ -7932,7 +7932,7 @@ u32 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: case MOVE_TARGET_OPPONENTS_FIELD: - targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gBattlerAttacker))); + targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker))); if (!IsBattlerAlive(targetBattler)) targetBattler ^= BIT_FLANK; break; @@ -7943,7 +7943,7 @@ u32 GetMoveTarget(u16 move, u8 setTarget) else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && moveTarget & MOVE_TARGET_RANDOM) targetBattler = SetRandomTarget(gBattlerAttacker); else - targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GET_BATTLER_SIDE(gBattlerAttacker))); + targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker))); break; case MOVE_TARGET_USER_OR_SELECTED: case MOVE_TARGET_USER: @@ -8723,7 +8723,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe u16 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef); uq4_12_t holdEffectModifier; uq4_12_t modifier = UQ_4_12(1.0); - u32 atkSide = GET_BATTLER_SIDE(battlerAtk); + u32 atkSide = GetBattlerSide(battlerAtk); u16 atkAbility = GetBattlerAbility(battlerAtk); u16 defAbility = GetBattlerAbility(battlerDef); @@ -9584,7 +9584,7 @@ static inline uq4_12_t GetAirborneModifier(u32 move, u32 battlerDef) static inline uq4_12_t GetScreensModifier(u32 move, u32 battlerAtk, u32 battlerDef, bool32 isCrit) { - u32 sideStatus = gSideStatuses[GET_BATTLER_SIDE(battlerDef)]; + u32 sideStatus = gSideStatuses[GetBattlerSide(battlerDef)]; bool32 lightScreen = (sideStatus & SIDE_STATUS_LIGHTSCREEN) && IS_MOVE_SPECIAL(move); bool32 reflect = (sideStatus & SIDE_STATUS_REFLECT) && IS_MOVE_PHYSICAL(move); bool32 auroraVeil = sideStatus & SIDE_STATUS_AURORA_VEIL; @@ -10372,7 +10372,7 @@ bool32 CanBattlerFormChange(u8 battler, u16 method) bool32 TryBattleFormChange(u8 battler, u16 method) { u8 monId = gBattlerPartyIndexes[battler]; - u8 side = GET_BATTLER_SIDE(battler); + u8 side = GetBattlerSide(battler); struct Pokemon *party = GetBattlerParty(battler); u16 targetSpecies; diff --git a/src/pokemon.c b/src/pokemon.c index 474044e808..838d0068cb 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -4436,7 +4436,7 @@ u8 CountAliveMonsInBattle(u8 caseId, u32 battler) u8 GetDefaultMoveTarget(u8 battlerId) { - u8 opposing = BATTLE_OPPOSITE(GET_BATTLER_SIDE(battlerId)); + u8 opposing = BATTLE_OPPOSITE(GetBattlerSide(battlerId)); if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) return GetBattlerAtPosition(opposing); From 0081c3a8fd01b15a1ae0a6025189baa464bbc2e6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 14:54:47 +0200 Subject: [PATCH 231/256] small improvement --- src/battle_ai_main.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index c908ac96f7..4f94ac4953 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -336,18 +336,18 @@ void Ai_UpdateFaintData(u32 battler) aiMon->isFainted = TRUE; } -static void SetBattlerAiData(u32 battler) +static void SetBattlerAiData(u32 battler, struct AiLogicData *aiData) { u32 ability, holdEffect; - ability = AI_DATA->abilities[battler] = AI_GetAbility(battler); - AI_DATA->items[battler] = gBattleMons[battler].item; - holdEffect = AI_DATA->holdEffects[battler] = AI_GetHoldEffect(battler); - AI_DATA->holdEffectParams[battler] = GetBattlerHoldEffectParam(battler); - AI_DATA->predictedMoves[battler] = gLastMoves[battler]; - AI_DATA->hpPercents[battler] = GetHealthPercentage(battler); - AI_DATA->moveLimitations[battler] = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); - AI_DATA->speedStats[battler] = GetBattlerTotalSpeedStatArgs(battler, ability, holdEffect); + ability = aiData->abilities[battler] = AI_GetAbility(battler); + aiData->items[battler] = gBattleMons[battler].item; + holdEffect = aiData->holdEffects[battler] = AI_GetHoldEffect(battler); + aiData->holdEffectParams[battler] = GetBattlerHoldEffectParam(battler); + aiData->predictedMoves[battler] = gLastMoves[battler]; + aiData->hpPercents[battler] = GetHealthPercentage(battler); + aiData->moveLimitations[battler] = CheckMoveLimitations(battler, 0, MOVE_LIMITATIONS_ALL); + aiData->speedStats[battler] = GetBattlerTotalSpeedStatArgs(battler, ability, holdEffect); } static void SetBattlerAiMovesData(u32 battlerAtk, u32 battlersCount) @@ -402,7 +402,7 @@ void SetAiLogicDataForTurn(void) if (!IsBattlerAlive(battlerAtk)) continue; - SetBattlerAiData(battlerAtk); + SetBattlerAiData(battlerAtk, AI_DATA); SetBattlerAiMovesData(battlerAtk, battlersCount); } } From 38dcb3c66cd1a3998bb21af166adc0736357ad7a Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 13 Sep 2023 17:28:26 +0200 Subject: [PATCH 232/256] ai weather optimization --- data/scripts/debug.inc | 1 + include/battle.h | 2 + include/battle_ai_main.h | 2 +- include/battle_ai_util.h | 256 ++++++++++++------------- include/battle_util.h | 2 +- src/battle_ai_main.c | 40 ++-- src/battle_ai_util.c | 395 ++++++++++++++++++++------------------- src/battle_main.c | 6 +- src/battle_util.c | 23 +-- 9 files changed, 369 insertions(+), 358 deletions(-) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 64b7e1dd01..8e09deb5e6 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -70,6 +70,7 @@ Debug_BoxFilledMessage_Text: .string "Storage boxes filled!$" Debug_Script_1:: + multi_fixed_2_vs_2 TRAINER_WALLACE, NULL, TRAINER_JUAN_5, NULL, TRAINER_STEVEN, TRAINER_BACK_PIC_STEVEN end Debug_Script_2:: diff --git a/include/battle.h b/include/battle.h index ef88d3dc79..a906d75cd7 100644 --- a/include/battle.h +++ b/include/battle.h @@ -277,6 +277,7 @@ struct AIPartyData // Opposing battlers - party mons. u8 count[NUM_BATTLE_SIDES]; }; +// Ai Data used when deciding which move to use, computed only once before each turn's start. struct AiLogicData { u16 abilities[MAX_BATTLERS_COUNT]; @@ -293,6 +294,7 @@ struct AiLogicData u8 moveLimitations[MAX_BATTLERS_COUNT]; bool8 shouldSwitchMon; // Because all available moves have no/little effect. Each bit per battler. u8 monToSwitchId[MAX_BATTLERS_COUNT]; // ID of the mon to switch. + bool8 weatherHasEffect; // WEATHER_HAS_EFFECT, so it doesn't have to be used all the time }; struct AI_ThinkingStruct diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index f8eb2b77ba..1bf670cdd4 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -27,7 +27,7 @@ u8 BattleAI_ChooseMoveOrAction(void); void Ai_InitPartyStruct(void); void Ai_UpdateSwitchInData(u32 battler); void Ai_UpdateFaintData(u32 battler); -void SetAiLogicDataForTurn(void); +void SetAiLogicDataForTurn(struct AiLogicData *aiData); extern u8 sBattler_AI; diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 854146ecd0..e3bd6cd518 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -9,184 +9,184 @@ #define AI_STRIKES_FIRST(battlerAi, battlerDef, move)((AI_WhoStrikesFirst(battlerAi, battlerDef, move) == AI_IS_FASTER)) -bool32 AI_RandLessThan(u8 val); +bool32 AI_RandLessThan(u32 val); bool32 IsAiVsAiBattle(void); bool32 BattlerHasAi(u32 battlerId); bool32 IsAiBattlerAware(u32 battlerId); -void ClearBattlerMoveHistory(u8 battlerId); +void ClearBattlerMoveHistory(u32 battlerId); void RecordLastUsedMoveBy(u32 battlerId, u32 move); -void RecordKnownMove(u8 battlerId, u32 move); -void RecordAbilityBattle(u8 battlerId, u16 abilityId); -void ClearBattlerAbilityHistory(u8 battlerId); -void RecordItemEffectBattle(u8 battlerId, u8 itemEffect); -void ClearBattlerItemEffectHistory(u8 battlerId); +void RecordKnownMove(u32 battlerId, u32 move); +void RecordAbilityBattle(u32 battlerId, u32 abilityId); +void ClearBattlerAbilityHistory(u32 battlerId); +void RecordItemEffectBattle(u32 battlerId, u32 itemEffect); +void ClearBattlerItemEffectHistory(u32 battlerId); void SaveBattlerData(u32 battlerId); void SetBattlerData(u32 battlerId); void RestoreBattlerData(u32 battlerId); -u16 GetAIChosenMove(u8 battlerId); +u16 GetAIChosenMove(u32 battlerId); u32 GetTotalBaseStat(u32 species); bool32 IsTruantMonVulnerable(u32 battlerAI, u32 opposingBattler); -bool32 AtMaxHp(u8 battler); -u32 GetHealthPercentage(u8 battler); -bool32 IsBattlerTrapped(u8 battler, bool8 switching); +bool32 AtMaxHp(u32 battler); +u32 GetHealthPercentage(u32 battler); +bool32 IsBattlerTrapped(u32 battler, bool32 switching); u32 AI_WhoStrikesFirst(u32 battlerAI, u32 battler2, u32 moveConsidered); bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk); -bool32 CanMoveFaintBattler(u16 move, u32 battlerDef, u32 battlerAtk, u8 nHits); +bool32 CanMoveFaintBattler(u32 move, u32 battlerDef, u32 battlerAtk, u32 nHits); bool32 CanTargetFaintAiWithMod(u32 battlerDef, u32 battlerAtk, s32 hpMod, s32 dmgMod); s32 AI_GetAbility(u32 battlerId); u16 AI_GetHoldEffect(u32 battlerId); -u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u16 move); -bool32 DoesBattlerIgnoreAbilityChecks(u16 atkAbility, u16 move); -bool32 AI_WeatherHasEffect(void); -bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u8 numHits); -bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u8 index, u8 numHits); -bool32 AI_IsTerrainAffected(u8 battlerId, u32 flags); -bool32 AI_IsBattlerGrounded(u8 battlerId); -bool32 HasDamagingMove(u8 battlerId); -bool32 HasDamagingMoveOfType(u8 battlerId, u8 type); -u32 GetBattlerSecondaryDamage(u8 battlerId); -bool32 BattlerWillFaintFromWeather(u8 battler, u16 ability); -bool32 BattlerWillFaintFromSecondaryDamage(u8 battler, u16 ability); -bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move); -bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u8 moveIndex); +u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u32 move); +bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move); +u32 AI_GetWeather(struct AiLogicData *aiData); +bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits); +bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u32 index, u32 numHits); +bool32 AI_IsTerrainAffected(u32 battlerId, u32 flags); +bool32 AI_IsBattlerGrounded(u32 battlerId); +bool32 HasDamagingMove(u32 battlerId); +bool32 HasDamagingMoveOfType(u32 battlerId, u32 type); +u32 GetBattlerSecondaryDamage(u32 battlerId); +bool32 BattlerWillFaintFromWeather(u32 battler, u32 ability); +bool32 BattlerWillFaintFromSecondaryDamage(u32 battler, u32 ability); +bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbility, u32 move); +bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u32 moveIndex); u32 GetBattlerSideSpeedAverage(u32 battler); -bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u16 move, s32 damage); -bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u16 move, u8 healPercent); -bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u16 moveEffect); -bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 moveIndex); +bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u32 move, s32 damage); +bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u32 move, u32 healPercent); +bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u32 moveEffect); +bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex); bool32 IsRecycleEncouragedItem(u16 item); bool32 ShouldRestoreHpBerry(u32 battlerAtk, u16 item); bool32 IsStatBoostingBerry(u16 item); -bool32 CanKnockOffItem(u8 battler, u16 item); -bool32 IsAbilityOfRating(u16 ability, s8 rating); -s8 GetAbilityRating(u16 ability); +bool32 CanKnockOffItem(u32 battler, u16 item); +bool32 IsAbilityOfRating(u32 ability, s8 rating); +s8 GetAbilityRating(u32 ability); bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability); -bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move); -u32 AI_GetBattlerMoveTargetType(u8 battlerId, u16 move); +bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move); +u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move); bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u16 chosenMove); // stat stage checks -bool32 AnyStatIsRaised(u8 battlerId); -bool32 ShouldLowerStat(u8 battler, u16 battlerAbility, u8 stat); -bool32 BattlerStatCanRise(u8 battler, u16 battlerAbility, u8 stat); -bool32 AreBattlersStatsMaxed(u8 battler); -bool32 BattlerHasAnyStatRaised(u8 battlerId); -u32 CountPositiveStatStages(u8 battlerId); -u32 CountNegativeStatStages(u8 battlerId); -bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u16 defAbility); +bool32 AnyStatIsRaised(u32 battlerId); +bool32 ShouldLowerStat(u32 battler, u32 battlerAbility, u32 stat); +bool32 BattlerStatCanRise(u32 battler, u32 battlerAbility, u32 stat); +bool32 AreBattlersStatsMaxed(u32 battler); +bool32 BattlerHasAnyStatRaised(u32 battlerId); +u32 CountPositiveStatStages(u32 battlerId); +u32 CountNegativeStatStages(u32 battlerId); +bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u32 defAbility); // move checks -bool32 IsAffectedByPowder(u8 battler, u16 ability, u16 holdEffect); +bool32 IsAffectedByPowder(u32 battler, u32 ability, u32 holdEffect); bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split); s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); -s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower); +s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather); u32 GetNoOfHitsToKO(u32 dmg, s32 hp); void SetMoveDamageResult(u32 battlerAtk, u16 *moves); u32 GetMoveDamageResult(u32 battlerAtk, u32 battlerDef, u32 moveIndex); u32 GetCurrDamageHpPercent(u32 battlerAtk, u32 battlerDef); -uq4_12_t AI_GetTypeEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef); -u32 AI_GetMoveEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef); +uq4_12_t AI_GetTypeEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef); +u32 AI_GetMoveEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef); u16 *GetMovesArray(u32 battler); -bool32 IsConfusionMoveEffect(u16 moveEffect); +bool32 IsConfusionMoveEffect(u32 moveEffect); bool32 HasMove(u32 battlerId, u32 move); bool32 HasOnlyMovesWithSplit(u32 battlerId, u32 split, bool32 onlyOffensive); bool32 HasMoveWithSplit(u32 battler, u32 split); -bool32 HasMoveWithType(u32 battler, u8 type); -bool32 HasMoveWithTypeAndSplit(u32 battler, u8 type, u8 split); -bool32 HasMoveEffect(u32 battlerId, u16 moveEffect); -bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u8 accCheck, bool32 ignoreStatus, u16 atkAbility, u16 defAbility, u16 atkHoldEffect, u16 defHoldEffect); -bool32 IsAromaVeilProtectedMove(u16 move); -bool32 IsNonVolatileStatusMoveEffect(u16 moveEffect); -bool32 IsStatLoweringMoveEffect(u16 moveEffect); -bool32 IsMoveRedirectionPrevented(u16 move, u16 atkAbility); -bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u16 move); -bool32 IsHazardMoveEffect(u16 moveEffect); -bool32 MoveCallsOtherMove(u16 move); -bool32 MoveRequiresRecharging(u16 move); -bool32 IsEncoreEncouragedEffect(u16 moveEffect); -void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s32 *score); -bool32 ShouldSetSandstorm(u8 battler, u16 ability, u16 holdEffect); -bool32 ShouldSetHail(u8 battler, u16 ability, u16 holdEffect); -bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect); -bool32 ShouldSetRain(u32 battlerAtk, u16 ability, u16 holdEffect); -bool32 ShouldSetSun(u32 battlerAtk, u16 atkAbility, u16 holdEffect); +bool32 HasMoveWithType(u32 battler, u32 type); +bool32 HasMoveWithTypeAndSplit(u32 battler, u32 type, u32 split); +bool32 HasMoveEffect(u32 battlerId, u32 moveEffect); +bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); +bool32 IsAromaVeilProtectedMove(u32 move); +bool32 IsNonVolatileStatusMoveEffect(u32 moveEffect); +bool32 IsStatLoweringMoveEffect(u32 moveEffect); +bool32 IsMoveRedirectionPrevented(u32 move, u32 atkAbility); +bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u32 move); +bool32 IsHazardMoveEffect(u32 moveEffect); +bool32 MoveCallsOtherMove(u32 move); +bool32 MoveRequiresRecharging(u32 move); +bool32 IsEncoreEncouragedEffect(u32 moveEffect); +void ProtectChecks(u32 battlerAtk, u32 battlerDef, u32 move, u32 predictedMove, s32 *score); +bool32 ShouldSetSandstorm(u32 battler, u32 ability, u32 holdEffect); +bool32 ShouldSetHail(u32 battler, u32 ability, u32 holdEffect); +bool32 ShouldSetSnow(u32 battler, u32 ability, u32 holdEffect); +bool32 ShouldSetRain(u32 battlerAtk, u32 ability, u32 holdEffect); +bool32 ShouldSetSun(u32 battlerAtk, u32 atkAbility, u32 holdEffect); bool32 HasSleepMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef); -bool32 IsHealingMoveEffect(u16 effect); +bool32 IsHealingMoveEffect(u32 effect); bool32 HasHealingEffect(u32 battler); -bool32 IsTrappingMoveEffect(u16 effect); -bool32 HasTrappingMoveEffect(u8 battler); -bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u16 move); -bool32 HasThawingMove(u8 battler); -bool32 IsStatRaisingEffect(u16 effect); -bool32 IsStatLoweringEffect(u16 effect); -bool32 IsStatRaisingEffect(u16 effect); -bool32 IsAttackBoostMoveEffect(u16 effect); -bool32 IsUngroundingEffect(u16 effect); -bool32 IsSemiInvulnerable(u32 battlerDef, u16 move); -bool32 HasSoundMove(u8 battler); -bool32 HasHighCritRatioMove(u8 battler); -bool32 HasMagicCoatAffectedMove(u8 battler); -bool32 HasSnatchAffectedMove(u8 battler); +bool32 IsTrappingMoveEffect(u32 effect); +bool32 HasTrappingMoveEffect(u32 battler); +bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u32 move); +bool32 HasThawingMove(u32 battler); +bool32 IsStatRaisingEffect(u32 effect); +bool32 IsStatLoweringEffect(u32 effect); +bool32 IsStatRaisingEffect(u32 effect); +bool32 IsAttackBoostMoveEffect(u32 effect); +bool32 IsUngroundingEffect(u32 effect); +bool32 IsSemiInvulnerable(u32 battlerDef, u32 move); +bool32 HasSoundMove(u32 battler); +bool32 HasHighCritRatioMove(u32 battler); +bool32 HasMagicCoatAffectedMove(u32 battler); +bool32 HasSnatchAffectedMove(u32 battler); // status checks -bool32 AI_CanBeBurned(u8 battler, u16 ability); -bool32 AI_CanGetFrostbite(u8 battler, u16 ability); -bool32 AI_CanBeConfused(u8 battler, u16 ability); -bool32 AI_CanSleep(u8 battler, u16 ability); -bool32 IsBattlerIncapacitated(u8 battler, u16 ability); -bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove); -bool32 ShouldPoisonSelf(u8 battler, u16 ability); -bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove); -bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove); -bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 ShouldBurnSelf(u8 battler, u16 ability); -bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u16 defAbility); -bool32 AnyPartyMemberStatused(u8 battlerId, bool32 checkSoundproof); -u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move); -bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u16 move); -bool32 IsWakeupTurn(u8 battler); -bool32 AI_IsBattlerAsleepOrComatose(u8 battlerId); +bool32 AI_CanBeBurned(u32 battler, u32 ability); +bool32 AI_CanGetFrostbite(u32 battler, u32 ability); +bool32 AI_CanBeConfused(u32 battler, u32 ability); +bool32 AI_CanSleep(u32 battler, u32 ability); +bool32 IsBattlerIncapacitated(u32 battler, u32 ability); +bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove); +bool32 ShouldPoisonSelf(u32 battler, u32 ability); +bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove); +bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove); +bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 battlerAtkPartner, u32 move, u32 partnerMove); +bool32 ShouldBurnSelf(u32 battler, u32 ability); +bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 battlerAtkPartner, u32 move, u32 partnerMove); +bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 battlerAtkPartner, u32 move, u32 partnerMove); +bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u32 defAbility); +bool32 AnyPartyMemberStatused(u32 battlerId, bool32 checkSoundproof); +u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbility, u32 move); +bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u32 move); +bool32 IsWakeupTurn(u32 battler); +bool32 AI_IsBattlerAsleepOrComatose(u32 battlerId); // partner logic #define IS_TARGETING_PARTNER(battlerAtk, battlerDef)((battlerAtk) == (battlerDef ^ BIT_FLANK)) -u16 GetAllyChosenMove(u8 battlerId); +u32 GetAllyChosenMove(u32 battlerId); bool32 IsValidDoubleBattle(u32 battlerAtk); bool32 IsTargetingPartner(u32 battlerAtk, u32 battlerDef); -bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove); -bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u16 partnerMove); -bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u16 partnerMove); -bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u16 partnerMove); -bool32 PartnerMoveIs(u32 battlerAtkPartner, u16 partnerMove, u16 moveCheck); -bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove); -bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove); -bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u16 move); +bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u32 move, u32 partnerMove); +bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u32 move, u32 partnerMove); +bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u32 partnerMove); +bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u32 partnerMove); +bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u32 partnerMove); +bool32 PartnerMoveIs(u32 battlerAtkPartner, u32 partnerMove, u32 moveCheck); +bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u32 move, u32 partnerMove); +bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u32 move, u32 partnerMove); +bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u32 move); // party logic struct BattlePokemon *AllocSaveBattleMons(void); void FreeRestoreBattleMons(struct BattlePokemon *savedBattleMons); s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon *attackerMon, struct Pokemon *targetMon); -s32 CountUsablePartyMons(u8 battlerId); -bool32 IsPartyFullyHealedExceptBattler(u8 battler); -bool32 PartyHasMoveSplit(u8 battlerId, u8 split); -bool32 SideHasMoveSplit(u8 battlerId, u8 split); +s32 CountUsablePartyMons(u32 battlerId); +bool32 IsPartyFullyHealedExceptBattler(u32 battler); +bool32 PartyHasMoveSplit(u32 battlerId, u32 split); +bool32 SideHasMoveSplit(u32 battlerId, u32 split); // score increases -void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s32 *score); -void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); -void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); -void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); -void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); -void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); -void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score); +void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u32 statId, s32 *score); +void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); +void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); +void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); +void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); +void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); +void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); #endif //GUARD_BATTLE_AI_UTIL_H diff --git a/include/battle_util.h b/include/battle_util.h index 16b33ad0ec..6b155665da 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -172,7 +172,7 @@ u32 GetBattlerWeight(u32 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); -s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit); +s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit, u32 weather); uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u32 atkType, u32 defType); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 86db71e9ab..96e2928bff 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -350,14 +350,15 @@ static void SetBattlerAiData(u32 battler, struct AiLogicData *aiData) aiData->speedStats[battler] = GetBattlerTotalSpeedStatArgs(battler, ability, holdEffect); } -static void SetBattlerAiMovesData(u32 battlerAtk, u32 battlersCount) +static void SetBattlerAiMovesData(struct AiLogicData *aiData, u32 battlerAtk, u32 battlersCount) { - u32 battlerDef, i; + u32 battlerDef, i, weather; u16 *moves; // Simulate dmg for both ai controlled mons and for player controlled mons. SaveBattlerData(battlerAtk); moves = GetMovesArray(battlerAtk); + weather = AI_GetWeather(aiData); for (battlerDef = 0; battlerDef < battlersCount; battlerDef++) { if (battlerAtk == battlerDef) @@ -373,28 +374,29 @@ static void SetBattlerAiMovesData(u32 battlerAtk, u32 battlersCount) if (move != 0 && move != 0xFFFF //&& gBattleMoves[move].power != 0 /* we want to get effectiveness of status moves */ - && !(AI_DATA->moveLimitations[battlerAtk] & gBitTable[i])) { - dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE); + && !(aiData->moveLimitations[battlerAtk] & gBitTable[i])) { + dmg = AI_CalcDamage(move, battlerAtk, battlerDef, &effectiveness, TRUE, weather); } - AI_DATA->simulatedDmg[battlerAtk][battlerDef][i] = dmg; - AI_DATA->effectiveness[battlerAtk][battlerDef][i] = effectiveness; + aiData->simulatedDmg[battlerAtk][battlerDef][i] = dmg; + aiData->effectiveness[battlerAtk][battlerDef][i] = effectiveness; } } SetMoveDamageResult(battlerAtk, moves); } -void SetAiLogicDataForTurn(void) +void SetAiLogicDataForTurn(struct AiLogicData *aiData) { u32 battlerAtk, battlersCount; - memset(AI_DATA, 0, sizeof(struct AiLogicData)); - + memset(aiData, 0, sizeof(struct AiLogicData)); if (!(gBattleTypeFlags & BATTLE_TYPE_HAS_AI) && !IsWildMonSmart()) return; + // Set delay timer to count how long it takes for AI to choose action/move gBattleStruct->aiDelayTimer = gMain.vblankCounter1; + aiData->weatherHasEffect = WEATHER_HAS_EFFECT; // get/assume all battler data and simulate AI damage battlersCount = gBattlersCount; for (battlerAtk = 0; battlerAtk < battlersCount; battlerAtk++) @@ -402,8 +404,8 @@ void SetAiLogicDataForTurn(void) if (!IsBattlerAlive(battlerAtk)) continue; - SetBattlerAiData(battlerAtk, AI_DATA); - SetBattlerAiMovesData(battlerAtk, battlersCount); + SetBattlerAiData(battlerAtk, aiData); + SetBattlerAiMovesData(aiData, battlerAtk, battlersCount); } } @@ -891,7 +893,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) RETURN_SCORE_MINUS(10); break; case ABILITY_LEAF_GUARD: - if (AI_WeatherHasEffect() && (gBattleWeather & B_WEATHER_SUN) + if ((AI_GetWeather(AI_DATA) & B_WEATHER_SUN) && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_UTILITY_UMBRELLA && IsNonVolatileStatusMoveEffect(moveEffect)) RETURN_SCORE_MINUS(10); @@ -971,7 +973,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (gStatuses3[battlerAtk] & STATUS3_HEAL_BLOCK && IsHealBlockPreventingMove(battlerAtk, move)) return 0; // Can't even select heal blocked move // primal weather check - if (WEATHER_HAS_EFFECT) + if (gBattleWeather && WEATHER_HAS_EFFECT) { if (gBattleWeather & B_WEATHER_PRIMAL_ANY) { @@ -1848,7 +1850,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_MORNING_SUN: case EFFECT_SYNTHESIS: case EFFECT_MOONLIGHT: - if (AI_WeatherHasEffect() && (gBattleWeather & (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_HAIL))) + if ((AI_GetWeather(AI_DATA) & (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_HAIL))) score -= 3; else if (AtMaxHp(battlerAtk)) score -= 10; @@ -2124,7 +2126,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_SOLAR_BEAM: if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB - || (AI_WeatherHasEffect() && gBattleWeather & B_WEATHER_SUN && AI_DATA->holdEffects[battlerAtk] != HOLD_EFFECT_UTILITY_UMBRELLA)) + || ((AI_GetWeather(AI_DATA) & B_WEATHER_SUN) && AI_DATA->holdEffects[battlerAtk] != HOLD_EFFECT_UTILITY_UMBRELLA)) break; if (CanTargetFaintAi(battlerDef, battlerAtk)) //Attacker can be knocked out score -= 4; @@ -4354,17 +4356,17 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 3; break; case HOLD_EFFECT_UTILITY_UMBRELLA: - if (AI_DATA->abilities[battlerAtk] != ABILITY_SOLAR_POWER && AI_DATA->abilities[battlerAtk] != ABILITY_DRY_SKIN && AI_WeatherHasEffect()) + if (AI_DATA->abilities[battlerAtk] != ABILITY_SOLAR_POWER && AI_DATA->abilities[battlerAtk] != ABILITY_DRY_SKIN) { switch (AI_DATA->abilities[battlerDef]) { case ABILITY_SWIFT_SWIM: - if (gBattleWeather & B_WEATHER_RAIN) + if (AI_GetWeather(AI_DATA) & B_WEATHER_RAIN) score += 3; // Slow 'em down break; case ABILITY_CHLOROPHYLL: case ABILITY_FLOWER_GIFT: - if (gBattleWeather & B_WEATHER_SUN) + if (AI_GetWeather(AI_DATA) & B_WEATHER_SUN) score += 3; // Slow 'em down break; } @@ -4901,7 +4903,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_SHORE_UP: - if (AI_WeatherHasEffect() && (gBattleWeather & B_WEATHER_SANDSTORM) + if ((AI_GetWeather(AI_DATA) & B_WEATHER_SANDSTORM) && ShouldRecover(battlerAtk, battlerDef, move, 67)) score += 3; else if (ShouldRecover(battlerAtk, battlerDef, move, 50)) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index e8bf3bab4c..5b9a42d9a9 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -419,12 +419,12 @@ static const u16 sOtherMoveCallingMoves[] = }; // Functions -u16 GetAIChosenMove(u8 battlerId) +u16 GetAIChosenMove(u32 battlerId) { return (gBattleMons[battlerId].moves[gBattleStruct->aiMoveOrAction[battlerId]]); } -bool32 AI_RandLessThan(u8 val) +bool32 AI_RandLessThan(u32 val) { if ((Random() % 0xFF) < val) return TRUE; @@ -465,7 +465,7 @@ bool32 IsAiBattlerAware(u32 battlerId) return BattlerHasAi(battlerId); } -void ClearBattlerMoveHistory(u8 battlerId) +void ClearBattlerMoveHistory(u32 battlerId) { memset(BATTLE_HISTORY->usedMoves[battlerId], 0, sizeof(BATTLE_HISTORY->usedMoves[battlerId])); memset(BATTLE_HISTORY->moveHistory[battlerId], 0, sizeof(BATTLE_HISTORY->moveHistory[battlerId])); @@ -481,7 +481,7 @@ void RecordLastUsedMoveBy(u32 battlerId, u32 move) BATTLE_HISTORY->moveHistory[battlerId][*index] = move; } -void RecordKnownMove(u8 battlerId, u32 move) +void RecordKnownMove(u32 battlerId, u32 move) { s32 i; for (i = 0; i < MAX_MON_MOVES; i++) @@ -497,24 +497,24 @@ void RecordKnownMove(u8 battlerId, u32 move) } } -void RecordAbilityBattle(u8 battlerId, u16 abilityId) +void RecordAbilityBattle(u32 battlerId, u32 abilityId) { BATTLE_HISTORY->abilities[battlerId] = abilityId; AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].ability = abilityId; } -void ClearBattlerAbilityHistory(u8 battlerId) +void ClearBattlerAbilityHistory(u32 battlerId) { BATTLE_HISTORY->abilities[battlerId] = ABILITY_NONE; } -void RecordItemEffectBattle(u8 battlerId, u8 itemEffect) +void RecordItemEffectBattle(u32 battlerId, u32 itemEffect) { BATTLE_HISTORY->itemEffects[battlerId] = itemEffect; AI_PARTY->mons[GetBattlerSide(battlerId)][gBattlerPartyIndexes[battlerId]].heldEffect = itemEffect; } -void ClearBattlerItemEffectHistory(u8 battlerId) +void ClearBattlerItemEffectHistory(u32 battlerId) { BATTLE_HISTORY->itemEffects[battlerId] = 0; } @@ -536,7 +536,7 @@ void SaveBattlerData(u32 battlerId) AI_THINKING_STRUCT->saved[battlerId].types[1] = gBattleMons[battlerId].type2; } -static bool32 ShouldFailForIllusion(u16 illusionSpecies, u32 battlerId) +static bool32 ShouldFailForIllusion(u32 illusionSpecies, u32 battlerId) { u32 i, j; @@ -546,7 +546,7 @@ static bool32 ShouldFailForIllusion(u16 illusionSpecies, u32 battlerId) // Don't fall for Illusion if the mon used a move it cannot know. for (i = 0; i < MAX_MON_MOVES; i++) { - u16 move = BATTLE_HISTORY->usedMoves[battlerId][i]; + u32 move = BATTLE_HISTORY->usedMoves[battlerId][i]; if (move == MOVE_NONE) continue; @@ -630,21 +630,21 @@ void RestoreBattlerData(u32 battlerId) gBattleMons[battlerId].type2 = AI_THINKING_STRUCT->saved[battlerId].types[1]; } -u32 GetHealthPercentage(u8 battlerId) +u32 GetHealthPercentage(u32 battlerId) { return (u32)((100 * gBattleMons[battlerId].hp) / gBattleMons[battlerId].maxHP); } -bool32 AtMaxHp(u8 battlerId) +bool32 AtMaxHp(u32 battlerId) { if (AI_DATA->hpPercents[battlerId] == 100) return TRUE; return FALSE; } -bool32 IsBattlerTrapped(u8 battler, bool8 checkSwitch) +bool32 IsBattlerTrapped(u32 battler, bool32 checkSwitch) { - u8 holdEffect = AI_DATA->holdEffects[battler]; + u32 holdEffect = AI_DATA->holdEffects[battler]; #if B_GHOSTS_ESCAPE >= GEN_6 if (IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) @@ -694,7 +694,7 @@ bool32 IsTruantMonVulnerable(u32 battlerAI, u32 opposingBattler) } // move checks -bool32 IsAffectedByPowder(u8 battler, u16 ability, u16 holdEffect) +bool32 IsAffectedByPowder(u32 battler, u32 ability, u32 holdEffect) { if (ability == ABILITY_OVERCOAT #if B_POWDER_GRASS >= GEN_6 @@ -771,10 +771,10 @@ s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *type { SaveBattlerData(battlerAtk); SaveBattlerData(battlerDef); - AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower); + AI_CalcDamage(move, battlerAtk, battlerDef, typeEffectiveness, considerZPower, AI_GetWeather(AI_DATA)); } -s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower) +s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather) { s32 dmg, moveType, critDmg, normalDmg, fixedBasePower, n; s8 critChance; @@ -817,8 +817,8 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes fixedBasePower = 0; break; } - normalDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, FALSE); - critDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, TRUE); + normalDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, FALSE, weather); + critDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, TRUE, weather); if (critChance == -1) dmg = normalDmg; @@ -944,11 +944,11 @@ void SetMoveDamageResult(u32 battlerAtk, u16 *moves) { s32 i, j, battlerDef, bestId, currId, hp, result; s32 moveDmgs[MAX_MON_MOVES]; - bool8 isNotConsidered[MAX_MON_MOVES]; + bool32 isNotConsidered[MAX_MON_MOVES]; for (i = 0; i < MAX_MON_MOVES; i++) { - u16 move = moves[i]; + u32 move = moves[i]; for (j = 0; sIgnoredPowerfulMoveEffects[j] != IGNORED_MOVES_END; j++) { if (gBattleMoves[move].effect == sIgnoredPowerfulMoveEffects[j]) @@ -1034,10 +1034,10 @@ u32 GetCurrDamageHpPercent(u32 battlerAtk, u32 battlerDef) return (bestDmg * 100) / gBattleMons[battlerDef].maxHP; } -uq4_12_t AI_GetTypeEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef) +uq4_12_t AI_GetTypeEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef) { uq4_12_t typeEffectiveness; - u16 moveType; + u32 moveType; SaveBattlerData(battlerAtk); SaveBattlerData(battlerDef); @@ -1056,7 +1056,7 @@ uq4_12_t AI_GetTypeEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef) return typeEffectiveness; } -u32 AI_GetMoveEffectiveness(u16 move, u32 battlerAtk, u32 battlerDef) +u32 AI_GetMoveEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef) { gMoveResultFlags = 0; return AI_GetEffectiveness(AI_GetTypeEffectiveness(move, battlerAtk, battlerDef)); @@ -1159,7 +1159,7 @@ bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk) // Check if AI mon has the means to faint the target with any of its moves. // If numHits > 1, check if the target will be KO'ed by that number of hits (ignoring healing effects) -bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u8 numHits) +bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits) { s32 i, dmg; u32 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; @@ -1183,7 +1183,7 @@ bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u8 numHits) return FALSE; } -bool32 CanMoveFaintBattler(u16 move, u32 battlerDef, u32 battlerAtk, u8 nHits) +bool32 CanMoveFaintBattler(u32 move, u32 battlerDef, u32 battlerAtk, u32 nHits) { s32 i, dmg; u8 effectiveness; @@ -1262,7 +1262,7 @@ s32 AI_GetAbility(u32 battlerId) // Else, guess the ability if (gSpeciesInfo[gBattleMons[battlerId].species].abilities[0] != ABILITY_NONE) { - u16 abilityGuess = ABILITY_NONE; + u32 abilityGuess = ABILITY_NONE; while (abilityGuess == ABILITY_NONE) { abilityGuess = gSpeciesInfo[gBattleMons[battlerId].species].abilities[Random() % NUM_ABILITY_SLOTS]; @@ -1296,7 +1296,7 @@ u16 AI_GetHoldEffect(u32 battlerId) return holdEffect; } -bool32 AI_IsTerrainAffected(u8 battlerId, u32 flags) +bool32 AI_IsTerrainAffected(u32 battlerId, u32 flags) { if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) return FALSE; @@ -1306,7 +1306,7 @@ bool32 AI_IsTerrainAffected(u8 battlerId, u32 flags) } // different from IsBattlerGrounded in that we don't always know battler's hold effect or ability -bool32 AI_IsBattlerGrounded(u8 battlerId) +bool32 AI_IsBattlerGrounded(u32 battlerId) { u32 holdEffect = AI_DATA->holdEffects[battlerId]; @@ -1332,7 +1332,7 @@ bool32 AI_IsBattlerGrounded(u8 battlerId) return TRUE; } -bool32 DoesBattlerIgnoreAbilityChecks(u16 atkAbility, u16 move) +bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move) { u32 i; @@ -1353,16 +1353,24 @@ bool32 DoesBattlerIgnoreAbilityChecks(u16 atkAbility, u16 move) return FALSE; } -bool32 AI_WeatherHasEffect(void) +static inline bool32 AI_WeatherHasEffect(struct AiLogicData *aiData) { - u32 i; if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_NEGATE_UNAWARE) return TRUE; // AI doesn't understand weather supression (handicap) - return WEATHER_HAS_EFFECT; // weather damping abilities are announced + return aiData->weatherHasEffect; // weather damping abilities are announced } -u32 AI_GetBattlerMoveTargetType(u8 battlerId, u16 move) +u32 AI_GetWeather(struct AiLogicData *aiData) +{ + if (gBattleWeather == B_WEATHER_NONE) + return B_WEATHER_NONE; + if (!AI_WeatherHasEffect(aiData)) + return B_WEATHER_NONE; + return gBattleWeather; +} + +u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move) { u32 target; @@ -1372,7 +1380,7 @@ u32 AI_GetBattlerMoveTargetType(u8 battlerId, u16 move) return gBattleMoves[move].target; } -bool32 IsAromaVeilProtectedMove(u16 move) +bool32 IsAromaVeilProtectedMove(u32 move) { u32 i; @@ -1390,7 +1398,7 @@ bool32 IsAromaVeilProtectedMove(u16 move) } } -bool32 IsNonVolatileStatusMoveEffect(u16 moveEffect) +bool32 IsNonVolatileStatusMoveEffect(u32 moveEffect) { switch (moveEffect) { @@ -1406,7 +1414,7 @@ bool32 IsNonVolatileStatusMoveEffect(u16 moveEffect) } } -bool32 IsConfusionMoveEffect(u16 moveEffect) +bool32 IsConfusionMoveEffect(u32 moveEffect) { switch (moveEffect) { @@ -1420,7 +1428,7 @@ bool32 IsConfusionMoveEffect(u16 moveEffect) } } -bool32 IsStatLoweringMoveEffect(u16 moveEffect) +bool32 IsStatLoweringMoveEffect(u32 moveEffect) { switch (moveEffect) { @@ -1444,7 +1452,7 @@ bool32 IsStatLoweringMoveEffect(u16 moveEffect) } } -bool32 IsHazardMoveEffect(u16 moveEffect) +bool32 IsHazardMoveEffect(u32 moveEffect) { switch (moveEffect) { @@ -1458,7 +1466,7 @@ bool32 IsHazardMoveEffect(u16 moveEffect) } } -bool32 IsMoveRedirectionPrevented(u16 move, u16 atkAbility) +bool32 IsMoveRedirectionPrevented(u32 move, u32 atkAbility) { if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_NEGATE_UNAWARE) return FALSE; @@ -1471,13 +1479,13 @@ bool32 IsMoveRedirectionPrevented(u16 move, u16 atkAbility) return FALSE; } -u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u16 move) +u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u32 move) { return GetTotalAccuracy(battlerAtk, battlerDef, move, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef]); } -bool32 IsSemiInvulnerable(u32 battlerDef, u16 move) +bool32 IsSemiInvulnerable(u32 battlerDef, u32 move) { if (gStatuses3[battlerDef] & STATUS3_PHANTOM_FORCE) return TRUE; @@ -1491,8 +1499,9 @@ bool32 IsSemiInvulnerable(u32 battlerDef, u16 move) return FALSE; } -bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u16 move) +bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u32 move) { + u32 weather; if (IsSemiInvulnerable(battlerDef, move)) return FALSE; @@ -1511,14 +1520,14 @@ bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u16 move) #endif // discouraged from hitting - if (AI_WeatherHasEffect() && (gBattleWeather & B_WEATHER_SUN) + weather = AI_GetWeather(AI_DATA); + if ((weather & B_WEATHER_SUN) && (gBattleMoves[move].effect == EFFECT_THUNDER || gBattleMoves[move].effect == EFFECT_HURRICANE)) return FALSE; // increased accuracy but don't always hit - if ((AI_WeatherHasEffect() && - (((gBattleWeather & B_WEATHER_RAIN) && (gBattleMoves[move].effect == EFFECT_THUNDER || gBattleMoves[move].effect == EFFECT_HURRICANE)) - || (((gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) && move == MOVE_BLIZZARD)))) + if ((((weather & B_WEATHER_RAIN) && (gBattleMoves[move].effect == EFFECT_THUNDER || gBattleMoves[move].effect == EFFECT_HURRICANE)) + || (((weather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) && move == MOVE_BLIZZARD))) || (gBattleMoves[move].effect == EFFECT_VITAL_THROW) #if B_MINIMIZE_DMG_ACC >= GEN_6 || ((gStatuses3[battlerDef] & STATUS3_MINIMIZED) && gBattleMoves[move].minimizeDoubleDamage) @@ -1531,7 +1540,7 @@ bool32 IsMoveEncouragedToHit(u32 battlerAtk, u32 battlerDef, u16 move) return FALSE; } -bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move) +bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbility, u32 move) { u32 holdEffect = AI_DATA->holdEffects[battlerDef]; u32 accuracy = AI_GetMoveAccuracy(battlerAtk, battlerDef, move); @@ -1565,11 +1574,10 @@ bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbil return FALSE; } -bool32 ShouldSetSandstorm(u8 battler, u16 ability, u16 holdEffect) +bool32 ShouldSetSandstorm(u32 battler, u32 ability, u32 holdEffect) { - if (!AI_WeatherHasEffect()) - return FALSE; - else if (gBattleWeather & B_WEATHER_SANDSTORM) + u32 weather = AI_GetWeather(AI_DATA); + if (weather & B_WEATHER_SANDSTORM) return FALSE; if (ability == ABILITY_SAND_VEIL @@ -1589,11 +1597,10 @@ bool32 ShouldSetSandstorm(u8 battler, u16 ability, u16 holdEffect) return FALSE; } -bool32 ShouldSetHail(u8 battler, u16 ability, u16 holdEffect) +bool32 ShouldSetHail(u32 battler, u32 ability, u32 holdEffect) { - if (!AI_WeatherHasEffect()) - return FALSE; - else if (gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) + u32 weather = AI_GetWeather(AI_DATA); + if (weather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) return FALSE; if (ability == ABILITY_SNOW_CLOAK @@ -1613,11 +1620,10 @@ bool32 ShouldSetHail(u8 battler, u16 ability, u16 holdEffect) return FALSE; } -bool32 ShouldSetRain(u32 battlerAtk, u16 atkAbility, u16 holdEffect) +bool32 ShouldSetRain(u32 battlerAtk, u32 atkAbility, u32 holdEffect) { - if (!AI_WeatherHasEffect()) - return FALSE; - else if (gBattleWeather & B_WEATHER_RAIN) + u32 weather = AI_GetWeather(AI_DATA); + if (weather & B_WEATHER_RAIN) return FALSE; if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA @@ -1636,11 +1642,10 @@ bool32 ShouldSetRain(u32 battlerAtk, u16 atkAbility, u16 holdEffect) return FALSE; } -bool32 ShouldSetSun(u32 battlerAtk, u16 atkAbility, u16 holdEffect) +bool32 ShouldSetSun(u32 battlerAtk, u32 atkAbility, u32 holdEffect) { - if (!AI_WeatherHasEffect()) - return FALSE; - else if (gBattleWeather & B_WEATHER_SUN) + u32 weather = AI_GetWeather(AI_DATA); + if (weather & B_WEATHER_SUN) return FALSE; if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA @@ -1663,11 +1668,10 @@ bool32 ShouldSetSun(u32 battlerAtk, u16 atkAbility, u16 holdEffect) return FALSE; } -bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect) +bool32 ShouldSetSnow(u32 battler, u32 ability, u32 holdEffect) { - if (!AI_WeatherHasEffect()) - return FALSE; - else if (gBattleWeather & (B_WEATHER_SNOW | B_WEATHER_HAIL)) + u32 weather = AI_GetWeather(AI_DATA); + if (weather & (B_WEATHER_SNOW | B_WEATHER_HAIL)) return FALSE; if (ability == ABILITY_SNOW_CLOAK @@ -1684,11 +1688,11 @@ bool32 ShouldSetSnow(u8 battler, u16 ability, u16 holdEffect) return FALSE; } -void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, s32 *score) +void ProtectChecks(u32 battlerAtk, u32 battlerDef, u32 move, u32 predictedMove, s32 *score) { // TODO more sophisticated logic - u16 predictedEffect = gBattleMoves[predictedMove].effect; - u8 defAbility = AI_DATA->abilities[battlerDef]; + u32 predictedEffect = gBattleMoves[predictedMove].effect; + u32 defAbility = AI_DATA->abilities[battlerDef]; u32 uses = gDisableStructs[battlerAtk].protectUses; /*if (GetMoveResultFlags(predictedMove) & (MOVE_RESULT_NO_EFFECT | MOVE_RESULT_MISSED)) @@ -1726,7 +1730,7 @@ void ProtectChecks(u32 battlerAtk, u32 battlerDef, u16 move, u16 predictedMove, } // stat stages -bool32 ShouldLowerStat(u8 battler, u16 battlerAbility, u8 stat) +bool32 ShouldLowerStat(u32 battler, u32 battlerAbility, u32 stat) { if ((gBattleMons[battler].statStages[stat] > MIN_STAT_STAGE && battlerAbility != ABILITY_CONTRARY) || (battlerAbility == ABILITY_CONTRARY && gBattleMons[battler].statStages[stat] < MAX_STAT_STAGE)) @@ -1743,7 +1747,7 @@ bool32 ShouldLowerStat(u8 battler, u16 battlerAbility, u8 stat) return FALSE; } -bool32 BattlerStatCanRise(u8 battler, u16 battlerAbility, u8 stat) +bool32 BattlerStatCanRise(u32 battler, u32 battlerAbility, u32 stat) { if ((gBattleMons[battler].statStages[stat] < MAX_STAT_STAGE && battlerAbility != ABILITY_CONTRARY) || (battlerAbility == ABILITY_CONTRARY && gBattleMons[battler].statStages[stat] > MIN_STAT_STAGE)) @@ -1751,7 +1755,7 @@ bool32 BattlerStatCanRise(u8 battler, u16 battlerAbility, u8 stat) return FALSE; } -bool32 AreBattlersStatsMaxed(u8 battlerId) +bool32 AreBattlersStatsMaxed(u32 battlerId) { u32 i; for (i = STAT_ATK; i < NUM_BATTLE_STATS; i++) @@ -1762,7 +1766,7 @@ bool32 AreBattlersStatsMaxed(u8 battlerId) return TRUE; } -bool32 AnyStatIsRaised(u8 battlerId) +bool32 AnyStatIsRaised(u32 battlerId) { u32 i; @@ -1774,7 +1778,7 @@ bool32 AnyStatIsRaised(u8 battlerId) return FALSE; } -u32 CountPositiveStatStages(u8 battlerId) +u32 CountPositiveStatStages(u32 battlerId) { u32 count = 0; u32 i; @@ -1786,7 +1790,7 @@ u32 CountPositiveStatStages(u8 battlerId) return count; } -u32 CountNegativeStatStages(u8 battlerId) +u32 CountNegativeStatStages(u32 battlerId) { u32 count = 0; u32 i; @@ -1798,7 +1802,7 @@ u32 CountNegativeStatStages(u8 battlerId) return count; } -bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1815,7 +1819,7 @@ bool32 ShouldLowerAttack(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1832,7 +1836,7 @@ bool32 ShouldLowerDefense(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1847,7 +1851,7 @@ bool32 ShouldLowerSpeed(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1863,7 +1867,7 @@ bool32 ShouldLowerSpAtk(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1879,7 +1883,7 @@ bool32 ShouldLowerSpDef(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1894,7 +1898,7 @@ bool32 ShouldLowerAccuracy(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if (AI_STRIKES_FIRST(battlerAtk, battlerDef, AI_THINKING_STRUCT->moveConsidered) && (AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return FALSE; // Don't bother lowering stats if can kill enemy. @@ -1909,7 +1913,7 @@ bool32 ShouldLowerEvasion(u32 battlerAtk, u32 battlerDef, u16 defAbility) return FALSE; } -bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u8 index, u8 numHits) +bool32 CanIndexMoveFaintTarget(u32 battlerAtk, u32 battlerDef, u32 index, u32 numHits) { s32 dmg = AI_DATA->simulatedDmg[battlerAtk][battlerDef][index]; @@ -1959,7 +1963,7 @@ bool32 HasMoveWithSplit(u32 battler, u32 split) return FALSE; } -bool32 HasMoveWithType(u32 battler, u8 type) +bool32 HasMoveWithType(u32 battler, u32 type) { s32 i; u16 *moves = GetMovesArray(battler); @@ -1973,7 +1977,7 @@ bool32 HasMoveWithType(u32 battler, u8 type) return FALSE; } -bool32 HasMoveEffect(u32 battlerId, u16 moveEffect) +bool32 HasMoveEffect(u32 battlerId, u32 moveEffect) { s32 i; u16 *moves = GetMovesArray(battlerId); @@ -2001,11 +2005,11 @@ bool32 HasMove(u32 battlerId, u32 move) return FALSE; } -bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u8 accCheck, bool32 ignoreStatus, u16 atkAbility, u16 defAbility, u16 atkHoldEffect, u16 defHoldEffect) +bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect) { s32 i; u16 *moves = GetMovesArray(battlerAtk); - u8 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; + u32 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; for (i = 0; i < MAX_MON_MOVES; i++) { @@ -2030,7 +2034,7 @@ bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u8 accCheck, bool3 bool32 HasSleepMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef) { - u8 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; + u32 moveLimitations = AI_DATA->moveLimitations[battlerAtk]; u32 i; u16 *moves = GetMovesArray(battlerAtk); @@ -2048,7 +2052,7 @@ bool32 HasSleepMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef) return FALSE; } -bool32 IsHealingMoveEffect(u16 effect) +bool32 IsHealingMoveEffect(u32 effect) { switch (effect) { @@ -2084,7 +2088,7 @@ bool32 HasHealingEffect(u32 battlerId) return FALSE; } -bool32 IsTrappingMoveEffect(u16 effect) +bool32 IsTrappingMoveEffect(u32 effect) { switch (effect) { @@ -2099,7 +2103,7 @@ bool32 IsTrappingMoveEffect(u16 effect) } } -bool32 HasTrappingMoveEffect(u8 battler) +bool32 HasTrappingMoveEffect(u32 battler) { s32 i; u16 *moves = GetMovesArray(battler); @@ -2113,12 +2117,12 @@ bool32 HasTrappingMoveEffect(u8 battler) return FALSE; } -bool32 HasThawingMove(u8 battler) +bool32 HasThawingMove(u32 battler) { CHECK_MOVE_FLAG(thawsUser); } -bool32 IsUngroundingEffect(u16 effect) +bool32 IsUngroundingEffect(u32 effect) { switch (effect) { @@ -2130,7 +2134,7 @@ bool32 IsUngroundingEffect(u16 effect) } // for anger point -bool32 IsAttackBoostMoveEffect(u16 effect) +bool32 IsAttackBoostMoveEffect(u32 effect) { switch (effect) { @@ -2149,7 +2153,7 @@ bool32 IsAttackBoostMoveEffect(u16 effect) } } -bool32 IsStatRaisingEffect(u16 effect) +bool32 IsStatRaisingEffect(u32 effect) { switch (effect) { @@ -2195,7 +2199,7 @@ bool32 IsStatRaisingEffect(u16 effect) } } -bool32 IsStatLoweringEffect(u16 effect) +bool32 IsStatLoweringEffect(u32 effect) { // ignore other potentially-beneficial effects like defog, gravity switch (effect) @@ -2223,7 +2227,7 @@ bool32 IsStatLoweringEffect(u16 effect) } } -bool32 HasDamagingMove(u8 battlerId) +bool32 HasDamagingMove(u32 battlerId) { u32 i; u16 *moves = GetMovesArray(battlerId); @@ -2237,7 +2241,7 @@ bool32 HasDamagingMove(u8 battlerId) return FALSE; } -bool32 HasDamagingMoveOfType(u8 battlerId, u8 type) +bool32 HasDamagingMoveOfType(u32 battlerId, u32 type) { s32 i; u16 *moves = GetMovesArray(battlerId); @@ -2252,27 +2256,27 @@ bool32 HasDamagingMoveOfType(u8 battlerId, u8 type) return FALSE; } -bool32 HasSoundMove(u8 battler) +bool32 HasSoundMove(u32 battler) { CHECK_MOVE_FLAG(soundMove); } -bool32 HasHighCritRatioMove(u8 battler) +bool32 HasHighCritRatioMove(u32 battler) { CHECK_MOVE_FLAG(highCritRatio); } -bool32 HasMagicCoatAffectedMove(u8 battler) +bool32 HasMagicCoatAffectedMove(u32 battler) { CHECK_MOVE_FLAG(magicCoatAffected); } -bool32 HasSnatchAffectedMove(u8 battler) +bool32 HasSnatchAffectedMove(u32 battler) { CHECK_MOVE_FLAG(snatchAffected); } -bool32 IsEncoreEncouragedEffect(u16 moveEffect) +bool32 IsEncoreEncouragedEffect(u32 moveEffect) { u32 i; @@ -2284,7 +2288,7 @@ bool32 IsEncoreEncouragedEffect(u16 moveEffect) return FALSE; } -bool32 MoveRequiresRecharging(u16 move) +bool32 MoveRequiresRecharging(u32 move) { u32 i; for (i = 0; i < ARRAY_COUNT(sRechargeMoves); i++) @@ -2295,7 +2299,7 @@ bool32 MoveRequiresRecharging(u16 move) return FALSE; } -bool32 MoveCallsOtherMove(u16 move) +bool32 MoveCallsOtherMove(u32 move) { u32 i; for (i = 0; i < ARRAY_COUNT(sOtherMoveCallingMoves); i++) @@ -2306,7 +2310,7 @@ bool32 MoveCallsOtherMove(u16 move) return FALSE; } -static u32 GetLeechSeedDamage(u8 battlerId) +static u32 GetLeechSeedDamage(u32 battlerId) { u32 damage = 0; if ((gStatuses3[battlerId] & STATUS3_LEECHSEED) @@ -2319,7 +2323,7 @@ static u32 GetLeechSeedDamage(u8 battlerId) return damage; } -static u32 GetNightmareDamage(u8 battlerId) +static u32 GetNightmareDamage(u32 battlerId) { u32 damage = 0; if ((gBattleMons[battlerId].status2 & STATUS2_NIGHTMARE) && gBattleMons[battlerId].status1 & STATUS1_SLEEP) @@ -2331,7 +2335,7 @@ static u32 GetNightmareDamage(u8 battlerId) return damage; } -static u32 GetCurseDamage(u8 battlerId) +static u32 GetCurseDamage(u32 battlerId) { u32 damage = 0; if (gBattleMons[battlerId].status2 & STATUS2_CURSED) @@ -2343,7 +2347,7 @@ static u32 GetCurseDamage(u8 battlerId) return damage; } -static u32 GetTrapDamage(u8 battlerId) +static u32 GetTrapDamage(u32 battlerId) { // ai has no knowledge about turns remaining u32 damage = 0; @@ -2366,7 +2370,7 @@ static u32 GetTrapDamage(u8 battlerId) return damage; } -static u32 GetPoisonDamage(u8 battlerId) +static u32 GetPoisonDamage(u32 battlerId) { u32 damage = 0; @@ -2391,7 +2395,7 @@ static u32 GetPoisonDamage(u8 battlerId) return damage; } -static bool32 BattlerAffectedBySandstorm(u8 battlerId, u16 ability) +static bool32 BattlerAffectedBySandstorm(u32 battlerId, u32 ability) { if (!IS_BATTLER_OF_TYPE(battlerId, TYPE_ROCK) && !IS_BATTLER_OF_TYPE(battlerId, TYPE_GROUND) @@ -2404,7 +2408,7 @@ static bool32 BattlerAffectedBySandstorm(u8 battlerId, u16 ability) return FALSE; } -static bool32 BattlerAffectedByHail(u8 battlerId, u16 ability) +static bool32 BattlerAffectedByHail(u32 battlerId, u32 ability) { if (!IS_BATTLER_OF_TYPE(battlerId, TYPE_ICE) && ability != ABILITY_SNOW_CLOAK @@ -2414,15 +2418,16 @@ static bool32 BattlerAffectedByHail(u8 battlerId, u16 ability) return FALSE; } -static u32 GetWeatherDamage(u8 battlerId) +static u32 GetWeatherDamage(u32 battlerId) { u32 ability = AI_DATA->abilities[battlerId]; u32 holdEffect = AI_DATA->holdEffects[battlerId]; u32 damage = 0; - if (!AI_WeatherHasEffect()) + u32 weather = AI_GetWeather(AI_DATA); + if (!weather) return 0; - if (gBattleWeather & B_WEATHER_SANDSTORM) + if (weather & B_WEATHER_SANDSTORM) { if (BattlerAffectedBySandstorm(battlerId, ability) && !(gStatuses3[battlerId] & (STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) @@ -2433,7 +2438,7 @@ static u32 GetWeatherDamage(u8 battlerId) damage = 1; } } - if ((gBattleWeather & B_WEATHER_HAIL) && ability != ABILITY_ICE_BODY) + if ((weather & B_WEATHER_HAIL) && ability != ABILITY_ICE_BODY) { if (BattlerAffectedByHail(battlerId, ability) && !(gStatuses3[battlerId] & (STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) @@ -2447,7 +2452,7 @@ static u32 GetWeatherDamage(u8 battlerId) return damage; } -u32 GetBattlerSecondaryDamage(u8 battlerId) +u32 GetBattlerSecondaryDamage(u32 battlerId) { u32 secondaryDamage; @@ -2464,7 +2469,7 @@ u32 GetBattlerSecondaryDamage(u8 battlerId) return secondaryDamage; } -bool32 BattlerWillFaintFromWeather(u8 battler, u16 ability) +bool32 BattlerWillFaintFromWeather(u32 battler, u32 ability) { if ((BattlerAffectedBySandstorm(battler, ability) || BattlerAffectedByHail(battler, ability)) && gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 16) @@ -2473,7 +2478,7 @@ bool32 BattlerWillFaintFromWeather(u8 battler, u16 ability) return FALSE; } -bool32 BattlerWillFaintFromSecondaryDamage(u8 battler, u16 ability) +bool32 BattlerWillFaintFromSecondaryDamage(u32 battler, u32 ability) { if (GetBattlerSecondaryDamage(battler) != 0 && gBattleMons[battler].hp <= gBattleMons[battler].maxHP / 16) @@ -2481,9 +2486,9 @@ bool32 BattlerWillFaintFromSecondaryDamage(u8 battler, u16 ability) return FALSE; } -static bool32 AnyUsefulStatIsRaised(u8 battler) +static bool32 AnyUsefulStatIsRaised(u32 battler) { - u8 statId; + u32 statId; for (statId = STAT_ATK; statId < NUM_BATTLE_STATS; statId++) { @@ -2508,7 +2513,7 @@ static bool32 AnyUsefulStatIsRaised(u8 battler) return FALSE; } -struct Pokemon *GetPartyBattlerPartyData(u8 battlerId, u8 switchBattler) +struct Pokemon *GetPartyBattlerPartyData(u32 battlerId, u32 switchBattler) { struct Pokemon *mon; if (GetBattlerSide(battlerId) == B_SIDE_PLAYER) @@ -2518,16 +2523,16 @@ struct Pokemon *GetPartyBattlerPartyData(u8 battlerId, u8 switchBattler) return mon; } -static bool32 PartyBattlerShouldAvoidHazards(u8 currBattler, u8 switchBattler) +static bool32 PartyBattlerShouldAvoidHazards(u32 currBattler, u32 switchBattler) { struct Pokemon *mon = GetPartyBattlerPartyData(currBattler, switchBattler); - u16 ability = GetMonAbility(mon); // we know our own party data - u16 holdEffect; + u32 ability = GetMonAbility(mon); // we know our own party data + u32 holdEffect; u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 flags = gSideStatuses[GetBattlerSide(currBattler)] & (SIDE_STATUS_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES); s32 hazardDamage = 0; - u8 type1 = gSpeciesInfo[species].types[0]; - u8 type2 = gSpeciesInfo[species].types[1]; + u32 type1 = gSpeciesInfo[species].types[0]; + u32 type2 = gSpeciesInfo[species].types[1]; u32 maxHp = GetMonData(mon, MON_DATA_MAX_HP); if (flags == 0) @@ -2549,7 +2554,7 @@ static bool32 PartyBattlerShouldAvoidHazards(u8 currBattler, u8 switchBattler) && ability != ABILITY_LEVITATE && holdEffect != HOLD_EFFECT_AIR_BALLOON) || holdEffect == HOLD_EFFECT_IRON_BALL || gFieldStatuses & STATUS_FIELD_GRAVITY)) { - u8 spikesDmg = maxHp / ((5 - gSideTimers[GetBattlerSide(currBattler)].spikesAmount) * 2); + s32 spikesDmg = maxHp / ((5 - gSideTimers[GetBattlerSide(currBattler)].spikesAmount) * 2); if (spikesDmg == 0) spikesDmg = 1; hazardDamage += spikesDmg; @@ -2565,11 +2570,11 @@ enum { CAN_TRY_PIVOT, PIVOT, }; -bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 moveIndex) +bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex) { - bool8 hasStatBoost = AnyUsefulStatIsRaised(battlerAtk) || gBattleMons[battlerDef].statStages[STAT_EVASION] >= 9; //Significant boost in evasion for any class + bool32 hasStatBoost = AnyUsefulStatIsRaised(battlerAtk) || gBattleMons[battlerDef].statStages[STAT_EVASION] >= 9; //Significant boost in evasion for any class bool32 shouldSwitch; - u8 battlerToSwitch; + u32 battlerToSwitch; shouldSwitch = ShouldSwitch(battlerAtk); battlerToSwitch = *(gBattleStruct->AI_monToSwitchIntoId + battlerAtk); @@ -2627,8 +2632,8 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 /*if (IsClassDamager(class) && switchScore >= SWITCHING_INCREASE_HAS_SUPER_EFFECTIVE_MOVE) { - bool8 physMoveInMoveset = PhysicalMoveInMoveset(battlerAtk); - bool8 specMoveInMoveset = SpecialMoveInMoveset(battlerAtk); + bool32 physMoveInMoveset = PhysicalMoveInMoveset(battlerAtk); + bool32 specMoveInMoveset = SpecialMoveInMoveset(battlerAtk); //Pivot if attacking stats are bad if (physMoveInMoveset && !specMoveInMoveset) @@ -2710,8 +2715,8 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 /*if (IsClassDamager(class) && switchScore >= SWITCHING_INCREASE_HAS_SUPER_EFFECTIVE_MOVE) { - bool8 physMoveInMoveset = PhysicalMoveInMoveset(battlerAtk); - bool8 specMoveInMoveset = SpecialMoveInMoveset(battlerAtk); + bool32 physMoveInMoveset = PhysicalMoveInMoveset(battlerAtk); + bool32 specMoveInMoveset = SpecialMoveInMoveset(battlerAtk); //Pivot if attacking stats are bad if (physMoveInMoveset && !specMoveInMoveset) @@ -2741,7 +2746,7 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u8 return DONT_PIVOT; } -bool32 CanKnockOffItem(u8 battler, u16 item) +bool32 CanKnockOffItem(u32 battler, u16 item) { if (item == ITEM_NONE) return FALSE; @@ -2767,7 +2772,7 @@ bool32 CanKnockOffItem(u8 battler, u16 item) } // status checks -bool32 IsBattlerIncapacitated(u8 battler, u16 ability) +bool32 IsBattlerIncapacitated(u32 battler, u32 ability) { if ((gBattleMons[battler].status1 & STATUS1_FREEZE) && !HasThawingMove(battler)) return TRUE; // if battler has thawing move we assume they will definitely use it, and thus being frozen should be neglected @@ -2781,7 +2786,7 @@ bool32 IsBattlerIncapacitated(u8 battler, u16 ability) return FALSE; } -bool32 AI_CanSleep(u8 battler, u16 ability) +bool32 AI_CanSleep(u32 battler, u32 ability) { if (ability == ABILITY_INSOMNIA || ability == ABILITY_VITAL_SPIRIT @@ -2794,7 +2799,7 @@ bool32 AI_CanSleep(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove) +bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove) { if (!AI_CanSleep(battlerDef, defAbility) || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) @@ -2803,7 +2808,7 @@ bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move return TRUE; } -static bool32 AI_CanPoisonType(u8 battlerAttacker, u8 battlerTarget) +static bool32 AI_CanPoisonType(u32 battlerAttacker, u32 battlerTarget) { return ((AI_DATA->abilities[battlerAttacker] == ABILITY_CORROSION && gBattleMoves[gCurrentMove].split == SPLIT_STATUS) || !(IS_BATTLER_OF_TYPE(battlerTarget, TYPE_POISON) || IS_BATTLER_OF_TYPE(battlerTarget, TYPE_STEEL))); @@ -2811,7 +2816,7 @@ static bool32 AI_CanPoisonType(u8 battlerAttacker, u8 battlerTarget) static bool32 AI_CanBePoisoned(u32 battlerAtk, u32 battlerDef) { - u16 ability = AI_DATA->abilities[battlerDef]; + u32 ability = AI_DATA->abilities[battlerDef]; if (!(AI_CanPoisonType(battlerAtk, battlerDef)) || gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_SAFEGUARD @@ -2826,7 +2831,7 @@ static bool32 AI_CanBePoisoned(u32 battlerAtk, u32 battlerDef) return TRUE; } -bool32 ShouldPoisonSelf(u8 battler, u16 ability) +bool32 ShouldPoisonSelf(u32 battler, u32 ability) { if (AI_CanBePoisoned(battler, battler) && ( ability == ABILITY_MARVEL_SCALE @@ -2841,7 +2846,7 @@ bool32 ShouldPoisonSelf(u8 battler, u16 ability) return FALSE; } -bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove) +bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove) { if (!AI_CanBePoisoned(battlerAtk, battlerDef) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2856,7 +2861,7 @@ bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u1 return TRUE; } -static bool32 AI_CanBeParalyzed(u8 battler, u16 ability) +static bool32 AI_CanBeParalyzed(u32 battler, u32 ability) { if (ability == ABILITY_LIMBER || ability == ABILITY_COMATOSE @@ -2867,7 +2872,7 @@ static bool32 AI_CanBeParalyzed(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, u16 partnerMove) +bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove) { if (!AI_CanBeParalyzed(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2878,7 +2883,7 @@ bool32 AI_CanParalyze(u32 battlerAtk, u32 battlerDef, u16 defAbility, u16 move, return TRUE; } -bool32 AI_CanBeConfused(u8 battler, u16 ability) +bool32 AI_CanBeConfused(u32 battler, u32 ability) { if ((gBattleMons[battler].status2 & STATUS2_CONFUSION) || (ability == ABILITY_OWN_TEMPO) @@ -2887,7 +2892,7 @@ bool32 AI_CanBeConfused(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 battlerAtkPartner, u32 move, u32 partnerMove) { if (!AI_CanBeConfused(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2901,7 +2906,7 @@ bool32 AI_CanConfuse(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battler return TRUE; } -bool32 AI_CanBeBurned(u8 battler, u16 ability) +bool32 AI_CanBeBurned(u32 battler, u32 ability) { if (ability == ABILITY_WATER_VEIL || ability == ABILITY_WATER_BUBBLE @@ -2914,7 +2919,7 @@ bool32 AI_CanBeBurned(u8 battler, u16 ability) return TRUE; } -bool32 AI_CanGetFrostbite(u8 battler, u16 ability) +bool32 AI_CanGetFrostbite(u32 battler, u32 ability) { if (ability == ABILITY_MAGMA_ARMOR || ability == ABILITY_COMATOSE @@ -2926,7 +2931,7 @@ bool32 AI_CanGetFrostbite(u8 battler, u16 ability) return TRUE; } -bool32 ShouldBurnSelf(u8 battler, u16 ability) +bool32 ShouldBurnSelf(u32 battler, u32 ability) { if (AI_CanBeBurned(battler, ability) && ( ability == ABILITY_QUICK_FEET @@ -2940,7 +2945,7 @@ bool32 ShouldBurnSelf(u8 battler, u16 ability) return FALSE; } -bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 battlerAtkPartner, u32 move, u32 partnerMove) { if (!AI_CanBeBurned(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2952,7 +2957,7 @@ bool32 AI_CanBurn(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtk return TRUE; } -bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 battlerAtkPartner, u32 move, u32 partnerMove) { if (!AI_CanGetFrostbite(battlerDef, defAbility) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2964,7 +2969,7 @@ bool32 AI_CanGiveFrostbite(u32 battlerAtk, u32 battlerDef, u16 defAbility, u32 b return TRUE; } -bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u16 defAbility) +bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u32 defAbility) { if ((gBattleMons[battlerDef].status2 & STATUS2_INFATUATION) || AI_GetMoveEffectiveness(AI_THINKING_STRUCT->moveConsidered, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 @@ -2975,7 +2980,7 @@ bool32 AI_CanBeInfatuated(u32 battlerAtk, u32 battlerDef, u16 defAbility) return TRUE; } -u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbility, u16 move) +u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbility, u32 move) { if (((AI_DATA->abilities[battlerAtk] != ABILITY_MOLD_BREAKER && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_COVERT_CLOAK @@ -2996,7 +3001,7 @@ u32 ShouldTryToFlinch(u32 battlerAtk, u32 battlerDef, u16 atkAbility, u16 defAbi return 0; // don't try to flinch } -bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u16 move) +bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u32 move) { if (BattlerWillFaintFromSecondaryDamage(battlerDef, AI_DATA->abilities[battlerDef])) return TRUE; // battler is taking secondary damage with low HP @@ -3010,7 +3015,7 @@ bool32 ShouldTrap(u32 battlerAtk, u32 battlerDef, u16 move) return FALSE; } -bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u16 move) +bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u32 move) { if (!gDisableStructs[battlerAtk].isFirstTurn || AI_DATA->abilities[battlerAtk] == ABILITY_GORILLA_TACTICS @@ -3035,7 +3040,7 @@ static u32 FindMoveUsedXTurnsAgo(u32 battlerId, u32 x) return BATTLE_HISTORY->moveHistory[battlerId][index]; } -bool32 IsWakeupTurn(u8 battler) +bool32 IsWakeupTurn(u32 battler) { // Check if rest was used 2 turns ago if ((gBattleMons[battler].status1 & STATUS1_SLEEP) == 1 && FindMoveUsedXTurnsAgo(battler, 2) == MOVE_REST) @@ -3044,7 +3049,7 @@ bool32 IsWakeupTurn(u8 battler) return FALSE; } -bool32 AnyPartyMemberStatused(u8 battlerId, bool32 checkSoundproof) +bool32 AnyPartyMemberStatused(u32 battlerId, bool32 checkSoundproof) { struct Pokemon *party; u32 i; @@ -3087,7 +3092,7 @@ u32 GetBattlerSideSpeedAverage(u32 battler) return (speed1 + speed2) / numBattlersAlive; } -bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u8 moveIndex) +bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u32 moveIndex) { if (recoilDmg >= gBattleMons[battlerAtk].hp //Recoil kills attacker && CountUsablePartyMons(battlerDef) != 0) //Foe has more than 1 target left @@ -3101,12 +3106,12 @@ bool32 ShouldUseRecoilMove(u32 battlerAtk, u32 battlerDef, u32 recoilDmg, u8 mov return TRUE; } -bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u16 move, s32 damage) +bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u32 move, s32 damage) { if (move == 0xFFFF || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) { // using item or user goes first - u8 healPercent = (gBattleMoves[move].argument == 0) ? 50 : gBattleMoves[move].argument; + u32 healPercent = (gBattleMoves[move].argument == 0) ? 50 : gBattleMoves[move].argument; s32 healDmg = (healPercent * damage) / 100; if (gStatuses3[battlerAtk] & STATUS3_HEAL_BLOCK) @@ -3128,7 +3133,7 @@ bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u16 move, s32 damage) return FALSE; } -bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u16 move, u8 healPercent) +bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u32 move, u32 healPercent) { if (move == 0xFFFF || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) { @@ -3147,14 +3152,14 @@ bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u16 move, u8 healPercent) return FALSE; } -bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u16 moveEffect) +bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u32 moveEffect) { - u8 atkSide = GetBattlerSide(battlerAtk); + u32 atkSide = GetBattlerSide(battlerAtk); switch (moveEffect) { case EFFECT_AURORA_VEIL: // Use only in Hail and only if AI doesn't already have Reflect, Light Screen or Aurora Veil itself active. - if ((gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) + if ((AI_GetWeather(AI_DATA) & (B_WEATHER_HAIL | B_WEATHER_SNOW)) && !(gSideStatuses[atkSide] & (SIDE_STATUS_REFLECT | SIDE_STATUS_LIGHTSCREEN | SIDE_STATUS_AURORA_VEIL))) return TRUE; break; @@ -3184,9 +3189,9 @@ bool32 IsValidDoubleBattle(u32 battlerAtk) return FALSE; } -u16 GetAllyChosenMove(u8 battlerId) +u32 GetAllyChosenMove(u32 battlerId) { - u8 partnerBattler = BATTLE_PARTNER(battlerId); + u32 partnerBattler = BATTLE_PARTNER(battlerId); if (!IsBattlerAlive(partnerBattler) || !IsAiBattlerAware(partnerBattler)) return MOVE_NONE; @@ -3197,7 +3202,7 @@ u16 GetAllyChosenMove(u8 battlerId) } //PARTNER_MOVE_EFFECT_IS_SAME -bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove) +bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u32 move, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3212,7 +3217,7 @@ bool32 DoesPartnerHaveSameMoveEffect(u32 battlerAtkPartner, u32 battlerDef, u16 } //PARTNER_MOVE_EFFECT_IS_SAME_NO_TARGET -bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u32 move, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3224,7 +3229,7 @@ bool32 PartnerHasSameMoveEffectWithoutTarget(u32 battlerAtkPartner, u16 move, u1 } //PARTNER_MOVE_EFFECT_IS_STATUS_SAME_TARGET -bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u16 partnerMove) +bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3242,7 +3247,7 @@ bool32 PartnerMoveEffectIsStatusSameTarget(u32 battlerAtkPartner, u32 battlerDef } //PARTNER_MOVE_EFFECT_IS_WEATHER -bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u16 partnerMove) +bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3259,7 +3264,7 @@ bool32 PartnerMoveEffectIsWeather(u32 battlerAtkPartner, u16 partnerMove) } //PARTNER_MOVE_EFFECT_IS_TERRAIN -bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u16 partnerMove) +bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3275,7 +3280,7 @@ bool32 PartnerMoveEffectIsTerrain(u32 battlerAtkPartner, u16 partnerMove) } //PARTNER_MOVE_IS_TAILWIND_TRICKROOM -bool32 PartnerMoveIs(u32 battlerAtkPartner, u16 partnerMove, u16 moveCheck) +bool32 PartnerMoveIs(u32 battlerAtkPartner, u32 partnerMove, u32 moveCheck) { if (!IsDoubleBattle()) return FALSE; @@ -3286,7 +3291,7 @@ bool32 PartnerMoveIs(u32 battlerAtkPartner, u16 partnerMove, u16 moveCheck) } //PARTNER_MOVE_IS_SAME -bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u16 move, u16 partnerMove) +bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u32 move, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3297,7 +3302,7 @@ bool32 PartnerMoveIsSameAsAttacker(u32 battlerAtkPartner, u32 battlerDef, u16 mo } //PARTNER_MOVE_IS_SAME_NO_TARGET -bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u16 move, u16 partnerMove) +bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u32 move, u32 partnerMove) { if (!IsDoubleBattle()) return FALSE; @@ -3306,7 +3311,7 @@ bool32 PartnerMoveIsSameNoTarget(u32 battlerAtkPartner, u16 move, u16 partnerMov return FALSE; } -bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u16 move) +bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u32 move) { u32 i; u32 firstId, lastId; @@ -3420,7 +3425,7 @@ s32 AI_CalcPartyMonBestMoveDamage(u32 battlerAtk, u32 battlerDef, struct Pokemon return dmg; } -s32 CountUsablePartyMons(u8 battlerId) +s32 CountUsablePartyMons(u32 battlerId) { s32 battlerOnField1, battlerOnField2, i, ret; struct Pokemon *party; @@ -3456,7 +3461,7 @@ s32 CountUsablePartyMons(u8 battlerId) return ret; } -bool32 IsPartyFullyHealedExceptBattler(u8 battlerId) +bool32 IsPartyFullyHealedExceptBattler(u32 battlerId) { struct Pokemon *party; u32 i; @@ -3478,9 +3483,9 @@ bool32 IsPartyFullyHealedExceptBattler(u8 battlerId) return TRUE; } -bool32 PartyHasMoveSplit(u8 battlerId, u8 split) +bool32 PartyHasMoveSplit(u32 battlerId, u32 split) { - u8 firstId, lastId; + u32 firstId, lastId; struct Pokemon *party = GetBattlerParty(battlerId); u32 i, j; @@ -3491,7 +3496,7 @@ bool32 PartyHasMoveSplit(u8 battlerId, u8 split) for (j = 0; j < MAX_MON_MOVES; j++) { - u16 move = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); + u32 move = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); u16 pp = GetMonData(&party[i], MON_DATA_PP1 + j, NULL); if (pp > 0 && move != MOVE_NONE) @@ -3506,7 +3511,7 @@ bool32 PartyHasMoveSplit(u8 battlerId, u8 split) return FALSE; } -bool32 SideHasMoveSplit(u8 battlerId, u8 split) +bool32 SideHasMoveSplit(u32 battlerId, u32 split) { if (IsDoubleBattle()) { @@ -3521,14 +3526,14 @@ bool32 SideHasMoveSplit(u8 battlerId, u8 split) return FALSE; } -bool32 IsAbilityOfRating(u16 ability, s8 rating) +bool32 IsAbilityOfRating(u32 ability, s8 rating) { if (sAiAbilityRatings[ability] >= rating) return TRUE; return FALSE; } -s8 GetAbilityRating(u16 ability) +s8 GetAbilityRating(u32 ability) { return sAiAbilityRatings[ability]; } @@ -3599,7 +3604,7 @@ bool32 IsRecycleEncouragedItem(u16 item) // score increases #define STAT_UP_2_STAGE 8 #define STAT_UP_STAGE 10 -void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s32 *score) +void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u32 statId, s32 *score) { if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) return; @@ -3679,7 +3684,7 @@ void IncreaseStatUpScore(u32 battlerAtk, u32 battlerDef, u8 statId, s32 *score) } } -void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) +void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PSN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3703,7 +3708,7 @@ void IncreasePoisonScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) } } -void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) +void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_BRN || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3723,7 +3728,7 @@ void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) } } -void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) +void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_PAR || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3745,7 +3750,7 @@ void IncreaseParalyzeScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) } } -void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) +void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_SLP || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3764,7 +3769,7 @@ void IncreaseSleepScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) (*score)++; } -void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) +void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) { if (((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_CONFUSION || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_CURE_STATUS) @@ -3783,7 +3788,7 @@ void IncreaseConfusionScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score } } -void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score) +void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) { if ((AI_THINKING_STRUCT->aiFlags & AI_FLAG_TRY_TO_FAINT) && CanAIFaintTarget(battlerAtk, battlerDef, 0)) return; @@ -3802,7 +3807,7 @@ void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u16 move, s32 *score } } -bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move) +bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move) { if (gBattleMoves[move].makesContact && ability != ABILITY_LONG_REACH @@ -3843,7 +3848,7 @@ bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u16 chosenMove) return FALSE; } -bool32 AI_IsBattlerAsleepOrComatose(u8 battlerId) +bool32 AI_IsBattlerAsleepOrComatose(u32 battlerId) { return (gBattleMons[battlerId].status1 & STATUS1_SLEEP) || AI_DATA->abilities[battlerId] == ABILITY_COMATOSE; } diff --git a/src/battle_main.c b/src/battle_main.c index 979c4a18bb..c4e3fa6b0e 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3724,7 +3724,7 @@ static void DoBattleIntro(void) gBattleStruct->switchInAbilitiesCounter = 0; gBattleStruct->switchInItemsCounter = 0; gBattleStruct->overworldWeatherDone = FALSE; - SetAiLogicDataForTurn(); // get assumed abilities, hold effects, etc of all battlers + SetAiLogicDataForTurn(AI_DATA); // get assumed abilities, hold effects, etc of all battlers Ai_InitPartyStruct(); // Save mons party counts, and first 2/4 mons on the battlefield. gBattleMainFunc = TryDoEventsBeforeFirstTurn; } @@ -3857,7 +3857,7 @@ static void TryDoEventsBeforeFirstTurn(void) gRandomTurnNumber = Random(); - SetAiLogicDataForTurn(); // get assumed abilities, hold effects, etc of all battlers + SetAiLogicDataForTurn(AI_DATA); // get assumed abilities, hold effects, etc of all battlers if (gBattleTypeFlags & BATTLE_TYPE_ARENA) { @@ -3949,7 +3949,7 @@ void BattleTurnPassed(void) *(&gBattleStruct->absentBattlerFlags) = gAbsentBattlerFlags; BattlePutTextOnWindow(gText_EmptyString3, B_WIN_MSG); - SetAiLogicDataForTurn(); // get assumed abilities, hold effects, etc of all battlers + SetAiLogicDataForTurn(AI_DATA); // get assumed abilities, hold effects, etc of all battlers gBattleMainFunc = HandleTurnActionSelectionState; gRandomTurnNumber = Random(); diff --git a/src/battle_util.c b/src/battle_util.c index 544b29e0c3..380aec8012 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9759,10 +9759,9 @@ static inline uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, } while (0) static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier) + bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather) { s32 dmg; - u32 weather; u32 userFinalAttack; u32 targetFinalDefense; u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); @@ -9773,12 +9772,6 @@ static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 if (typeEffectivenessModifier == UQ_4_12(0.0)) return 0; - // Store weather in a local variable, so there's no need to call WEATHER_HAS_EFFECT every time weather is checked. - if (gBattleWeather == B_WEATHER_NONE || !WEATHER_HAS_EFFECT) - weather = B_WEATHER_NONE; - else - weather = gBattleWeather; - if (fixedBasePower) gBattleMovePower = fixedBasePower; else @@ -9812,16 +9805,24 @@ static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 #undef DAMAGE_APPLY_MODIFIER +static u32 GetWeather(void) +{ + if (gBattleWeather == B_WEATHER_NONE || !WEATHER_HAS_EFFECT) + return B_WEATHER_NONE; + else + return gBattleWeather; +} + s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags) { return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, - updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, updateFlags)); + updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, updateFlags), GetWeather()); } // for AI so that typeEffectivenessModifier is calculated only once -s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit) +s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit, u32 weather) { - return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, FALSE, FALSE, typeEffectivenessModifier); + return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, FALSE, FALSE, typeEffectivenessModifier, weather); } static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defType, u32 battlerAtk, bool32 recordAbilities) From 5ea66f3c0c9f1ce0f2e7e53f4e0523370027c7ad Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 14 Sep 2023 00:07:41 +0200 Subject: [PATCH 233/256] more optimizations --- include/battle_ai_main.h | 4 +- include/battle_script_commands.h | 2 +- include/battle_util.h | 3 +- src/battle_ai_main.c | 1177 +++++++++++++++--------------- src/battle_ai_util.c | 42 +- src/battle_main.c | 4 +- src/battle_script_commands.c | 4 +- src/battle_util.c | 37 +- 8 files changed, 633 insertions(+), 640 deletions(-) diff --git a/include/battle_ai_main.h b/include/battle_ai_main.h index 1bf670cdd4..8bb2293e9b 100644 --- a/include/battle_ai_main.h +++ b/include/battle_ai_main.h @@ -19,11 +19,11 @@ return score; \ } -u8 ComputeBattleAiScores(u8 battler); +u32 ComputeBattleAiScores(u32 battler); void BattleAI_SetupItems(void); void BattleAI_SetupFlags(void); void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler); -u8 BattleAI_ChooseMoveOrAction(void); +u32 BattleAI_ChooseMoveOrAction(void); void Ai_InitPartyStruct(void); void Ai_UpdateSwitchInData(u32 battler); void Ai_UpdateFaintData(u32 battler); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index a7bfdf8c16..71c1c2f698 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -17,7 +17,7 @@ struct StatFractions }; s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility); -s8 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move); +s32 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move); u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); u8 GetBattlerTurnOrderNum(u8 battlerId); bool32 NoAliveMonsForEitherParty(void); diff --git a/include/battle_util.h b/include/battle_util.h index 6b155665da..7058c98998 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -172,7 +172,8 @@ u32 GetBattlerWeight(u32 battler); u32 CalcRolloutBasePower(u32 battlerAtk, u32 basePower, u32 rolloutTimer); u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); -s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit, u32 weather); +s32 CalculateMoveDamageVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, + u32 weather, bool32 isCrit, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef); uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u32 atkType, u32 defType); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 96e2928bff..43bc619d27 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -28,39 +28,30 @@ #define AI_ACTION_WATCH (1 << 2) #define AI_ACTION_DO_NOT_ATTACK (1 << 3) -// AI states -enum -{ - AIState_SettingUp, - AIState_Processing, - AIState_FinishedProcessing, - AIState_DoNotProcess -}; - -static u8 ChooseMoveOrAction_Singles(void); -static u8 ChooseMoveOrAction_Doubles(void); -static void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler); -static bool32 IsPinchBerryItemEffect(u16 holdEffect); +static u8 ChooseMoveOrAction_Singles(u32 battlerAi); +static u8 ChooseMoveOrAction_Doubles(u32 battlerAi); +static inline void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler); +static bool32 IsPinchBerryItemEffect(u32 holdEffect); // ewram EWRAM_DATA const u8 *gAIScriptPtr = NULL; // Still used in contests EWRAM_DATA u8 sBattler_AI = 0; // const rom data -static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); -static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score); +static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); -static s32 (*const sBattleAiFuncTable[])(u32, u32, u16, s32) = +static s32 (*const sBattleAiFuncTable[])(u32, u32, u32, s32) = { [0] = AI_CheckBadMove, // AI_FLAG_CHECK_BAD_MOVE [1] = AI_TryToFaint, // AI_FLAG_TRY_TO_FAINT @@ -216,26 +207,23 @@ void BattleAI_SetupAIData(u8 defaultScoreMoves, u32 battler) gBattleStruct->aiChosenTarget[sBattler_AI] = gBattlerTarget; } -u8 BattleAI_ChooseMoveOrAction(void) +u32 BattleAI_ChooseMoveOrAction(void) { - u32 savedCurrentMove = gCurrentMove; - u8 ret; + u32 ret; if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) - ret = ChooseMoveOrAction_Singles(); + ret = ChooseMoveOrAction_Singles(sBattler_AI); else - ret = ChooseMoveOrAction_Doubles(); + ret = ChooseMoveOrAction_Doubles(sBattler_AI); // Clear protect structures, some flags may be set during AI calcs // e.g. pranksterElevated from GetMovePriority memset(&gProtectStructs, 0, MAX_BATTLERS_COUNT * sizeof(struct ProtectStruct)); - - gCurrentMove = savedCurrentMove; return ret; } // damages/other info computed in GetAIDataAndCalcDmg -u8 ComputeBattleAiScores(u8 battler) +u32 ComputeBattleAiScores(u32 battler) { sBattler_AI = battler; BattleAI_SetupAIData(0xF, sBattler_AI); @@ -481,7 +469,7 @@ static bool32 AI_ShouldSwitchIfBadMoves(u32 battler, bool32 doubleBattle) return FALSE; } -static u8 ChooseMoveOrAction_Singles(void) +static u8 ChooseMoveOrAction_Singles(u32 battlerAi) { u8 currentMoveArray[MAX_MON_MOVES]; u8 consideredMoveArray[MAX_MON_MOVES]; @@ -494,16 +482,14 @@ static u8 ChooseMoveOrAction_Singles(void) { if (flags & 1) { - AI_THINKING_STRUCT->aiState = AIState_SettingUp; - BattleAI_DoAIProcessing(AI_THINKING_STRUCT, sBattler_AI); + BattleAI_DoAIProcessing(AI_THINKING_STRUCT, battlerAi); } flags >>= 1; AI_THINKING_STRUCT->aiLogicId++; - AI_THINKING_STRUCT->movesetIndex = 0; } for (i = 0; i < MAX_MON_MOVES; i++) { - gBattleStruct->aiFinalScore[sBattler_AI][gBattlerTarget][i] = AI_THINKING_STRUCT->score[i]; + gBattleStruct->aiFinalScore[battlerAi][gBattlerTarget][i] = AI_THINKING_STRUCT->score[i]; } // Check special AI actions. @@ -513,7 +499,7 @@ static u8 ChooseMoveOrAction_Singles(void) return AI_CHOICE_WATCH; // Switch mon if there are no good moves to use. - if (AI_ShouldSwitchIfBadMoves(sBattler_AI, FALSE)) + if (AI_ShouldSwitchIfBadMoves(battlerAi, FALSE)) return AI_CHOICE_SWITCH; numOfBestMoves = 1; @@ -522,7 +508,7 @@ static u8 ChooseMoveOrAction_Singles(void) for (i = 1; i < MAX_MON_MOVES; i++) { - if (gBattleMons[sBattler_AI].moves[i] != MOVE_NONE) + if (gBattleMons[battlerAi].moves[i] != MOVE_NONE) { // In ruby, the order of these if statements is reversed. if (currentMoveArray[0] == AI_THINKING_STRUCT->score[i]) @@ -541,22 +527,22 @@ static u8 ChooseMoveOrAction_Singles(void) return consideredMoveArray[Random() % numOfBestMoves]; } -static u8 ChooseMoveOrAction_Doubles(void) +static u8 ChooseMoveOrAction_Doubles(u32 battlerAi) { s32 i, j; u32 flags; - s16 bestMovePointsForTarget[MAX_BATTLERS_COUNT]; - s8 mostViableTargetsArray[MAX_BATTLERS_COUNT]; + s32 bestMovePointsForTarget[MAX_BATTLERS_COUNT]; + u8 mostViableTargetsArray[MAX_BATTLERS_COUNT]; u8 actionOrMoveIndex[MAX_BATTLERS_COUNT]; - u8 mostViableMovesScores[MAX_MON_MOVES]; + s32 mostViableMovesScores[MAX_MON_MOVES]; u8 mostViableMovesIndices[MAX_MON_MOVES]; - s32 mostViableTargetsNo; - s32 mostViableMovesNo; - s16 mostMovePoints; + u32 mostViableTargetsNo; + u32 mostViableMovesNo; + s32 mostMovePoints; for (i = 0; i < MAX_BATTLERS_COUNT; i++) { - if (i == sBattler_AI || gBattleMons[i].hp == 0) + if (i == battlerAi || gBattleMons[i].hp == 0) { actionOrMoveIndex[i] = 0xFF; bestMovePointsForTarget[i] = -1; @@ -564,9 +550,9 @@ static u8 ChooseMoveOrAction_Doubles(void) else { if (gBattleTypeFlags & BATTLE_TYPE_PALACE) - BattleAI_SetupAIData(gBattleStruct->palaceFlags >> 4, sBattler_AI); + BattleAI_SetupAIData(gBattleStruct->palaceFlags >> 4, battlerAi); else - BattleAI_SetupAIData(0xF, sBattler_AI); + BattleAI_SetupAIData(0xF, battlerAi); gBattlerTarget = i; @@ -578,12 +564,10 @@ static u8 ChooseMoveOrAction_Doubles(void) { if (flags & 1) { - AI_THINKING_STRUCT->aiState = AIState_SettingUp; - BattleAI_DoAIProcessing(AI_THINKING_STRUCT, sBattler_AI); + BattleAI_DoAIProcessing(AI_THINKING_STRUCT, battlerAi); } flags >>= 1; AI_THINKING_STRUCT->aiLogicId++; - AI_THINKING_STRUCT->movesetIndex = 0; } if (AI_THINKING_STRUCT->aiAction & AI_ACTION_FLEE) @@ -601,9 +585,9 @@ static u8 ChooseMoveOrAction_Doubles(void) mostViableMovesNo = 1; for (j = 1; j < MAX_MON_MOVES; j++) { - if (gBattleMons[sBattler_AI].moves[j] != 0) + if (gBattleMons[battlerAi].moves[j] != 0) { - if (!CanTargetBattler(sBattler_AI, i, gBattleMons[sBattler_AI].moves[j])) + if (!CanTargetBattler(battlerAi, i, gBattleMons[battlerAi].moves[j])) continue; if (mostViableMovesScores[0] == AI_THINKING_STRUCT->score[j]) @@ -624,20 +608,20 @@ static u8 ChooseMoveOrAction_Doubles(void) bestMovePointsForTarget[i] = mostViableMovesScores[0]; // Don't use a move against ally if it has less than 100 points. - if (i == BATTLE_PARTNER(sBattler_AI) && bestMovePointsForTarget[i] < 100) + if (i == BATTLE_PARTNER(battlerAi) && bestMovePointsForTarget[i] < 100) { bestMovePointsForTarget[i] = -1; } } for (j = 0; j < MAX_MON_MOVES; j++) { - gBattleStruct->aiFinalScore[sBattler_AI][gBattlerTarget][j] = AI_THINKING_STRUCT->score[j]; + gBattleStruct->aiFinalScore[battlerAi][gBattlerTarget][j] = AI_THINKING_STRUCT->score[j]; } } } // Switch mon if all of the moves are bad to use against any of the target. - if (AI_ShouldSwitchIfBadMoves(sBattler_AI, TRUE)) + if (AI_ShouldSwitchIfBadMoves(battlerAi, TRUE)) return AI_CHOICE_SWITCH; mostMovePoints = bestMovePointsForTarget[0]; @@ -660,73 +644,59 @@ static u8 ChooseMoveOrAction_Doubles(void) } gBattlerTarget = mostViableTargetsArray[Random() % mostViableTargetsNo]; - gBattleStruct->aiChosenTarget[sBattler_AI] = gBattlerTarget; + gBattleStruct->aiChosenTarget[battlerAi] = gBattlerTarget; return actionOrMoveIndex[gBattlerTarget]; } -static void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler) +static inline void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler) { - while (aiThink->aiState != AIState_FinishedProcessing) + do { - switch (aiThink->aiState) - { - case AIState_DoNotProcess: // Needed to match. - break; - case AIState_SettingUp: - if (gBattleMons[battler].pp[aiThink->movesetIndex] == 0) - { - aiThink->moveConsidered = 0; - } - else - { - aiThink->moveConsidered = gBattleMons[battler].moves[aiThink->movesetIndex]; - } - aiThink->aiState++; - break; - case AIState_Processing: - if (aiThink->moveConsidered != MOVE_NONE - && aiThink->score[aiThink->movesetIndex] > 0) - { - if (aiThink->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) - && sBattleAiFuncTable[aiThink->aiLogicId] != NULL) - { - // Call AI function - aiThink->score[aiThink->movesetIndex] = - sBattleAiFuncTable[aiThink->aiLogicId](battler, - gBattlerTarget, - aiThink->moveConsidered, - aiThink->score[aiThink->movesetIndex]); - } - } - else - { - aiThink->score[aiThink->movesetIndex] = 0; - } + if (gBattleMons[battler].pp[aiThink->movesetIndex] == 0) + aiThink->moveConsidered = MOVE_NONE; + else + aiThink->moveConsidered = gBattleMons[battler].moves[aiThink->movesetIndex]; - aiThink->movesetIndex++; - if (aiThink->movesetIndex < MAX_MON_MOVES && !(aiThink->aiAction & AI_ACTION_DO_NOT_ATTACK)) - aiThink->aiState = AIState_SettingUp; - else - aiThink->aiState++; - break; + if (aiThink->moveConsidered != MOVE_NONE + && aiThink->score[aiThink->movesetIndex] > 0) + { + if (aiThink->aiLogicId < ARRAY_COUNT(sBattleAiFuncTable) + && sBattleAiFuncTable[aiThink->aiLogicId] != NULL) + { + // Call AI function + aiThink->score[aiThink->movesetIndex] = + sBattleAiFuncTable[aiThink->aiLogicId](battler, + gBattlerTarget, + aiThink->moveConsidered, + aiThink->score[aiThink->movesetIndex]); + } } - } + else + { + aiThink->score[aiThink->movesetIndex] = 0; + } + aiThink->movesetIndex++; + } while (aiThink->movesetIndex < MAX_MON_MOVES && !(aiThink->aiAction & AI_ACTION_DO_NOT_ATTACK)); + + aiThink->movesetIndex = 0; } // AI Score Functions // AI_FLAG_CHECK_BAD_MOVE - decreases move scores -static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { // move data u8 atkPriority = GetMovePriority(battlerAtk, move); - u16 moveEffect = gBattleMoves[move].effect; + u32 moveEffect = gBattleMoves[move].effect; s32 moveType; - u16 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); + u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); u16 accuracy = AI_GetMoveAccuracy(battlerAtk, battlerDef, move); - u32 effectiveness = AI_DATA->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; + struct AiLogicData *aiData = AI_DATA; + u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; - u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; + u32 weather; + u16 predictedMove = aiData->predictedMoves[battlerDef]; SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); @@ -741,7 +711,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { // handle negative checks on non-user target // check powder moves - if (gBattleMoves[move].powderMove && !IsAffectedByPowder(battlerDef, AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerDef])) + if (gBattleMoves[move].powderMove && !IsAffectedByPowder(battlerDef, aiData->abilities[battlerDef], aiData->holdEffects[battlerDef])) { RETURN_SCORE_MINUS(20); } @@ -749,9 +719,9 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // check ground immunities if (moveType == TYPE_GROUND && !IsBattlerGrounded(battlerDef) - && ((AI_DATA->abilities[battlerDef] == ABILITY_LEVITATE - && DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move)) - || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_AIR_BALLOON + && ((aiData->abilities[battlerDef] == ABILITY_LEVITATE + && DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) + || aiData->holdEffects[battlerDef] == HOLD_EFFECT_AIR_BALLOON || (gStatuses3[battlerDef] & (STATUS3_MAGNET_RISE | STATUS3_TELEKINESIS))) && move != MOVE_THOUSAND_ARROWS) { @@ -775,9 +745,9 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } // target ability checks - if (!DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move)) + if (!DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) { - switch (AI_DATA->abilities[battlerDef]) + switch (aiData->abilities[battlerDef]) { case ABILITY_MAGIC_GUARD: switch (moveEffect) @@ -893,8 +863,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) RETURN_SCORE_MINUS(10); break; case ABILITY_LEAF_GUARD: - if ((AI_GetWeather(AI_DATA) & B_WEATHER_SUN) - && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_UTILITY_UMBRELLA + if ((AI_GetWeather(aiData) & B_WEATHER_SUN) + && aiData->holdEffects[battlerDef] != HOLD_EFFECT_UTILITY_UMBRELLA && IsNonVolatileStatusMoveEffect(moveEffect)) RETURN_SCORE_MINUS(10); break; @@ -903,14 +873,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // target partner ability checks & not attacking partner if (isDoubleBattle) { - switch (AI_DATA->abilities[BATTLE_PARTNER(battlerDef)]) + switch (aiData->abilities[BATTLE_PARTNER(battlerDef)]) { case ABILITY_LIGHTNING_ROD: - if (moveType == TYPE_ELECTRIC && !IsMoveRedirectionPrevented(move, AI_DATA->abilities[battlerAtk])) + if (moveType == TYPE_ELECTRIC && !IsMoveRedirectionPrevented(move, aiData->abilities[battlerAtk])) RETURN_SCORE_MINUS(20); break; case ABILITY_STORM_DRAIN: - if (moveType == TYPE_WATER && !IsMoveRedirectionPrevented(move, AI_DATA->abilities[battlerAtk])) + if (moveType == TYPE_WATER && !IsMoveRedirectionPrevented(move, aiData->abilities[battlerAtk])) RETURN_SCORE_MINUS(20); break; case ABILITY_MAGIC_BOUNCE: @@ -940,7 +910,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // gen7+ dark type mons immune to priority->elevated moves from prankster #if B_PRANKSTER_DARK_TYPES >= GEN_7 - if (AI_DATA->abilities[battlerAtk] == ABILITY_PRANKSTER && IS_BATTLER_OF_TYPE(battlerDef, TYPE_DARK) && IS_MOVE_STATUS(move) + if (aiData->abilities[battlerAtk] == ABILITY_PRANKSTER && IS_BATTLER_OF_TYPE(battlerDef, TYPE_DARK) && IS_MOVE_STATUS(move) && !(moveTarget & (MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_USER))) RETURN_SCORE_MINUS(10); #endif @@ -972,29 +942,28 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // heal block check if (gStatuses3[battlerAtk] & STATUS3_HEAL_BLOCK && IsHealBlockPreventingMove(battlerAtk, move)) return 0; // Can't even select heal blocked move + // primal weather check - if (gBattleWeather && WEATHER_HAS_EFFECT) + weather = AI_GetWeather(aiData); + if (weather & B_WEATHER_PRIMAL_ANY) { - if (gBattleWeather & B_WEATHER_PRIMAL_ANY) + switch (move) { - switch (move) - { - case MOVE_SUNNY_DAY: - case MOVE_RAIN_DANCE: - case MOVE_HAIL: - case MOVE_SANDSTORM: - RETURN_SCORE_MINUS(30); - } + case MOVE_SUNNY_DAY: + case MOVE_RAIN_DANCE: + case MOVE_HAIL: + case MOVE_SANDSTORM: + RETURN_SCORE_MINUS(30); } if (!IS_MOVE_STATUS(move)) { - if (gBattleWeather & B_WEATHER_SUN_PRIMAL) + if (weather & B_WEATHER_SUN_PRIMAL) { if (moveType == TYPE_WATER) RETURN_SCORE_MINUS(30); } - else if (gBattleWeather & B_WEATHER_RAIN_PRIMAL) + else if (weather & B_WEATHER_RAIN_PRIMAL) { if (moveType == TYPE_FIRE) RETURN_SCORE_MINUS(30); @@ -1009,7 +978,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) default: break; // check move damage case EFFECT_SLEEP: - if (!AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (!AI_CanPutToSleep(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case EFFECT_EXPLOSION: @@ -1020,7 +989,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { score -= 10; } - else if (IsAbilityOnField(ABILITY_DAMP) && !DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move)) + else if (IsAbilityOnField(ABILITY_DAMP) && !DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) { score -= 10; } @@ -1042,7 +1011,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_ATTACK_UP: case EFFECT_ATTACK_UP_2: case EFFECT_ATTACK_UP_USER_ALLY: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; break; case EFFECT_STUFF_CHEEKS: @@ -1053,65 +1022,65 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_DEFENSE_UP_2: case EFFECT_DEFENSE_UP_3: case EFFECT_DEFENSE_CURL: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 10; break; case EFFECT_SPECIAL_ATTACK_UP: case EFFECT_SPECIAL_ATTACK_UP_2: case EFFECT_SPECIAL_ATTACK_UP_3: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) score -= 10; break; case EFFECT_SPECIAL_DEFENSE_UP: case EFFECT_SPECIAL_DEFENSE_UP_2: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 10; break; case EFFECT_ACCURACY_UP: case EFFECT_ACCURACY_UP_2: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ACC)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ACC)) score -= 10; break; case EFFECT_EVASION_UP: case EFFECT_EVASION_UP_2: case EFFECT_MINIMIZE: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_EVASION)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_EVASION)) score -= 10; break; case EFFECT_COSMIC_POWER: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 8; break; case EFFECT_BULK_UP: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 8; break; case EFFECT_CALM_MIND: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 8; break; case EFFECT_DRAGON_DANCE: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPEED)) score -= 8; break; case EFFECT_COIL: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ACC)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ACC)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 8; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 6; break; case EFFECT_ATTACK_ACCURACY_UP: //hone claws - if (AI_DATA->abilities[battlerAtk] != ABILITY_CONTRARY) + if (aiData->abilities[battlerAtk] != ABILITY_CONTRARY) { if (gBattleMons[battlerAtk].statStages[STAT_ATK] >= MAX_STAT_STAGE && (gBattleMons[battlerAtk].statStages[STAT_ACC] >= MAX_STAT_STAGE || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL))) @@ -1129,7 +1098,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) else if (!HasMoveWithType(battlerAtk, TYPE_ELECTRIC)) score -= 10; #if B_CHARGE_SPDEF_RAISE >= GEN_5 - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 5; #endif break; @@ -1137,46 +1106,46 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_GEOMANCY: if (gBattleMons[battlerAtk].statStages[STAT_SPATK] >= MAX_STAT_STAGE || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPEED)) score -= 8; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 6; break; case EFFECT_VICTORY_DANCE: if (gBattleMons[battlerAtk].statStages[STAT_ATK] >= MAX_STAT_STAGE || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPEED)) score -= 8; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 6; break; case EFFECT_SHIFT_GEAR: - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPEED)) score -= 8; break; case EFFECT_SHELL_SMASH: - if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) + if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) { - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 8; } else { - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) score -= 8; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPEED)) score -= 6; } break; case EFFECT_GROWTH: case EFFECT_ATTACK_SPATK_UP: // work up - if ((!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK)) + if ((!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) && !BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK)) || (!HasDamagingMove(battlerAtk))) score -= 10; break; @@ -1185,30 +1154,30 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (!(IS_BATTLER_OF_TYPE(battlerAtk, TYPE_GRASS) && AI_IsBattlerGrounded(battlerAtk) - && (BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK))) + && (BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK))) && !(IS_BATTLER_OF_TYPE(BATTLE_PARTNER(battlerAtk), TYPE_GRASS) && AI_IsBattlerGrounded(BATTLE_PARTNER(battlerAtk)) - && AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] != ABILITY_CONTRARY - && (BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_ATK) - || BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPATK)))) + && aiData->abilities[BATTLE_PARTNER(battlerAtk)] != ABILITY_CONTRARY + && (BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_ATK) + || BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPATK)))) { score -= 10; } } else if (!(IS_BATTLER_OF_TYPE(battlerAtk, TYPE_GRASS) && AI_IsBattlerGrounded(battlerAtk) - && (BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK)))) + && (BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK)))) { score -= 10; } break; case EFFECT_GEAR_UP: - if (AI_DATA->abilities[battlerAtk] == ABILITY_PLUS || AI_DATA->abilities[battlerAtk] == ABILITY_MINUS) + if (aiData->abilities[battlerAtk] == ABILITY_PLUS || aiData->abilities[battlerAtk] == ABILITY_MINUS) { // same as growth, work up - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL)) score -= 8; break; } @@ -1219,13 +1188,13 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (isDoubleBattle) { - if (AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_PLUS || AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_MINUS) + if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_PLUS || aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_MINUS) { - if ((!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) - && (!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL))) + if ((!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + && (!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPATK) || !HasMoveWithSplit(battlerAtk, SPLIT_SPECIAL))) score -= 10; } - else if (AI_DATA->abilities[battlerAtk] != ABILITY_PLUS && AI_DATA->abilities[battlerAtk] != ABILITY_MINUS) + else if (aiData->abilities[battlerAtk] != ABILITY_PLUS && aiData->abilities[battlerAtk] != ABILITY_MINUS) { score -= 10; // nor our or our partner's ability is plus/minus } @@ -1236,11 +1205,11 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_MAGNETIC_FLUX: - if (AI_DATA->abilities[battlerAtk] == ABILITY_PLUS || AI_DATA->abilities[battlerAtk] == ABILITY_MINUS) + if (aiData->abilities[battlerAtk] == ABILITY_PLUS || aiData->abilities[battlerAtk] == ABILITY_MINUS) { - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 8; } else if (!isDoubleBattle) @@ -1250,14 +1219,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (isDoubleBattle) { - if (AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_PLUS || AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_MINUS) + if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_PLUS || aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_MINUS) { - if (!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_DEF)) + if (!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_DEF)) score -= 10; - else if (!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPDEF)) + else if (!BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPDEF)) score -= 8; } - else if (AI_DATA->abilities[battlerAtk] != ABILITY_PLUS && AI_DATA->abilities[battlerAtk] != ABILITY_MINUS) + else if (aiData->abilities[battlerAtk] != ABILITY_PLUS && aiData->abilities[battlerAtk] != ABILITY_MINUS) { score -= 10; // nor our or our partner's ability is plus/minus } @@ -1266,49 +1235,49 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // stat lowering effects case EFFECT_ATTACK_DOWN: case EFFECT_ATTACK_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_ATK)) //|| !HasMoveWithSplit(battlerDef, SPLIT_PHYSICAL)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_ATK)) //|| !HasMoveWithSplit(battlerDef, SPLIT_PHYSICAL)) score -= 10; - else if (AI_DATA->abilities[battlerDef] == ABILITY_HYPER_CUTTER) + else if (aiData->abilities[battlerDef] == ABILITY_HYPER_CUTTER) score -= 10; break; case EFFECT_DEFENSE_DOWN: case EFFECT_DEFENSE_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_DEF)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_DEF)) score -= 10; break; case EFFECT_SPEED_DOWN: case EFFECT_SPEED_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPEED)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPEED)) score -= 10; - else if (AI_DATA->abilities[battlerDef] == ABILITY_SPEED_BOOST) + else if (aiData->abilities[battlerDef] == ABILITY_SPEED_BOOST) score -= 10; break; case EFFECT_SPECIAL_ATTACK_DOWN: case EFFECT_SPECIAL_ATTACK_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPATK)) //|| !HasMoveWithSplit(battlerDef, SPLIT_SPECIAL)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPATK)) //|| !HasMoveWithSplit(battlerDef, SPLIT_SPECIAL)) score -= 10; break; case EFFECT_SPECIAL_DEFENSE_DOWN: case EFFECT_SPECIAL_DEFENSE_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPDEF)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPDEF)) score -= 10; break; case EFFECT_ACCURACY_DOWN: case EFFECT_ACCURACY_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_ACC)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_ACC)) score -= 10; - else if (AI_DATA->abilities[battlerDef] == ABILITY_KEEN_EYE) + else if (aiData->abilities[battlerDef] == ABILITY_KEEN_EYE) score -= 8; break; case EFFECT_EVASION_DOWN: case EFFECT_EVASION_DOWN_2: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_EVASION)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_EVASION)) score -= 10; break; case EFFECT_TICKLE: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_ATK)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_ATK)) score -= 10; - else if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_DEF)) + else if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_DEF)) score -= 8; break; case EFFECT_VENOM_DRENCH: @@ -1318,18 +1287,18 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } else { - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPEED)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPEED)) score -= 10; - else if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPATK)) + else if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPATK)) score -= 8; - else if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_ATK)) + else if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_ATK)) score -= 6; } break; case EFFECT_NOBLE_ROAR: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPATK)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPATK)) score -= 10; - else if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_ATK)) + else if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_ATK)) score -= 8; break; case EFFECT_CAPTIVATE: @@ -1338,7 +1307,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; // other case EFFECT_HAZE: - if (PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) { score -= 10; // partner already using haze } @@ -1374,12 +1343,12 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) //case EFFECT_ENDEAVOR: case EFFECT_LOW_KICK: // AI_CBM_HighRiskForDamage - if (AI_DATA->abilities[battlerDef] == ABILITY_WONDER_GUARD && effectiveness < AI_EFFECTIVENESS_x2) + if (aiData->abilities[battlerDef] == ABILITY_WONDER_GUARD && effectiveness < AI_EFFECTIVENESS_x2) score -= 10; break; case EFFECT_COUNTER: case EFFECT_MIRROR_COAT: - if (IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef]) || gBattleMons[battlerDef].status2 & (STATUS2_INFATUATION | STATUS2_CONFUSION)) + if (IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef]) || gBattleMons[battlerDef].status2 & (STATUS2_INFATUATION | STATUS2_CONFUSION)) score--; if (predictedMove == MOVE_NONE || GetBattleMoveSplit(predictedMove) == SPLIT_STATUS || DoesSubstituteBlockMove(battlerAtk, BATTLE_PARTNER(battlerDef), predictedMove)) @@ -1389,32 +1358,32 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_ROAR: if (CountUsablePartyMons(battlerDef) == 0) score -= 10; - else if (AI_DATA->abilities[battlerDef] == ABILITY_SUCTION_CUPS) + else if (aiData->abilities[battlerDef] == ABILITY_SUCTION_CUPS) score -= 10; break; case EFFECT_TOXIC_THREAD: - if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_SPEED)) + if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_SPEED)) score--; // may still want to just poison //fallthrough case EFFECT_POISON: case EFFECT_TOXIC: - if (!AI_CanPoison(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (!AI_CanPoison(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case EFFECT_LIGHT_SCREEN: if (gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_LIGHTSCREEN - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_REFLECT: if (gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_REFLECT - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_AURORA_VEIL: if (gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_AURORA_VEIL - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) - || !(gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove) + || !(weather & (B_WEATHER_HAIL | B_WEATHER_SNOW))) score -= 10; break; case EFFECT_OHKO: @@ -1422,12 +1391,12 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (move == MOVE_SHEER_COLD && IS_BATTLER_OF_TYPE(battlerDef, TYPE_ICE)) return 0; #endif - if (!ShouldTryOHKO(battlerAtk, battlerDef, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], move)) + if (!ShouldTryOHKO(battlerAtk, battlerDef, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], move)) score -= 10; break; case EFFECT_MIST: if (gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_MIST - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_FOCUS_ENERGY: @@ -1437,17 +1406,17 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_CONFUSE: case EFFECT_SWAGGER: case EFFECT_FLATTER: - if (!AI_CanConfuse(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (!AI_CanConfuse(battlerAtk, battlerDef, aiData->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_PARALYZE: - if (!AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (!AI_CanParalyze(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case EFFECT_SUBSTITUTE: - if (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE || AI_DATA->abilities[battlerDef] == ABILITY_INFILTRATOR) + if (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_INFILTRATOR) score -= 8; - else if (AI_DATA->hpPercents[battlerAtk] <= 25) + else if (aiData->hpPercents[battlerAtk] <= 25) score -= 10; #if B_SOUND_SUBSTITUTE >= GEN_6 else if (HasSoundMove(battlerDef)) @@ -1457,17 +1426,17 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_LEECH_SEED: if (gStatuses3[battlerDef] & STATUS3_LEECHSEED || IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; - else if (AI_DATA->abilities[battlerDef] == ABILITY_LIQUID_OOZE) + else if (aiData->abilities[battlerDef] == ABILITY_LIQUID_OOZE) score -= 3; break; case EFFECT_DISABLE: if (gDisableStructs[battlerDef].disableTimer == 0 #if B_MENTAL_HERB >= GEN_5 - && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB + && aiData->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB #endif - && !PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + && !PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) { if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) // Attacker should go first { @@ -1487,9 +1456,9 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_ENCORE: if (gDisableStructs[battlerDef].encoreTimer == 0 #if B_MENTAL_HERB >= GEN_5 - && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB + && aiData->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB #endif - && !DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + && !DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) { if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) // Attacker should go first { @@ -1512,7 +1481,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; // if mon will wake up, is not asleep, or is not comatose break; case EFFECT_MEAN_LOOK: - if (IsBattlerTrapped(battlerDef, TRUE) || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (IsBattlerTrapped(battlerDef, TRUE) || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_NIGHTMARE: @@ -1520,48 +1489,48 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; else if (!AI_IsBattlerAsleepOrComatose(battlerDef)) score -= 8; - else if (DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + else if (DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_CURSE: if (IS_BATTLER_OF_TYPE(battlerAtk, TYPE_GHOST)) { if (gBattleMons[battlerDef].status2 & STATUS2_CURSED - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] <= 50) + else if (aiData->hpPercents[battlerAtk] <= 50) score -= 6; } else // regular curse { - if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; - else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + else if (!BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_DEF)) score -= 8; } break; case EFFECT_SPIKES: if (gSideTimers[GetBattlerSide(battlerDef)].spikesAmount >= 3) score -= 10; - else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) + else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove) && gSideTimers[GetBattlerSide(battlerDef)].spikesAmount == 2) score -= 10; // only one mon needs to set up the last layer of Spikes break; case EFFECT_STEALTH_ROCK: if (gSideTimers[GetBattlerSide(battlerDef)].stealthRockAmount > 0 - || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) //Only one mon needs to set up Stealth Rocks + || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) //Only one mon needs to set up Stealth Rocks score -= 10; break; case EFFECT_TOXIC_SPIKES: if (gSideTimers[GetBattlerSide(battlerDef)].toxicSpikesAmount >= 2) score -= 10; - else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) && gSideTimers[GetBattlerSide(battlerDef)].toxicSpikesAmount == 1) + else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove) && gSideTimers[GetBattlerSide(battlerDef)].toxicSpikesAmount == 1) score -= 10; // only one mon needs to set up the last layer of Toxic Spikes break; case EFFECT_STICKY_WEB: if (gSideTimers[GetBattlerSide(battlerDef)].stickyWebAmount) score -= 10; - else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) && gSideTimers[GetBattlerSide(battlerDef)].stickyWebAmount) + else if (PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove) && gSideTimers[GetBattlerSide(battlerDef)].stickyWebAmount) score -= 10; // only one mon needs to set up Sticky Web break; case EFFECT_FORESIGHT: @@ -1569,81 +1538,81 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; else if (gBattleMons[battlerDef].statStages[STAT_EVASION] <= 4 || !(IS_BATTLER_OF_TYPE(battlerDef, TYPE_GHOST)) - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 9; break; case EFFECT_PERISH_SONG: if (isDoubleBattle) { if (CountUsablePartyMons(battlerAtk) == 0 - && AI_DATA->abilities[battlerAtk] != ABILITY_SOUNDPROOF - && AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] != ABILITY_SOUNDPROOF + && aiData->abilities[battlerAtk] != ABILITY_SOUNDPROOF + && aiData->abilities[BATTLE_PARTNER(battlerAtk)] != ABILITY_SOUNDPROOF && CountUsablePartyMons(FOE(battlerAtk)) >= 1) { score -= 10; //Don't wipe your team if you're going to lose } - else if ((!IsBattlerAlive(FOE(battlerAtk)) || AI_DATA->abilities[FOE(battlerAtk)] == ABILITY_SOUNDPROOF + else if ((!IsBattlerAlive(FOE(battlerAtk)) || aiData->abilities[FOE(battlerAtk)] == ABILITY_SOUNDPROOF || gStatuses3[FOE(battlerAtk)] & STATUS3_PERISH_SONG) - && (!IsBattlerAlive(BATTLE_PARTNER(FOE(battlerAtk))) || AI_DATA->abilities[BATTLE_PARTNER(FOE(battlerAtk))] == ABILITY_SOUNDPROOF + && (!IsBattlerAlive(BATTLE_PARTNER(FOE(battlerAtk))) || aiData->abilities[BATTLE_PARTNER(FOE(battlerAtk))] == ABILITY_SOUNDPROOF || gStatuses3[BATTLE_PARTNER(FOE(battlerAtk))] & STATUS3_PERISH_SONG)) { score -= 10; //Both enemies are perish songed } - else if (DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + else if (DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) { score -= 10; } } else { - if (CountUsablePartyMons(battlerAtk) == 0 && AI_DATA->abilities[battlerAtk] != ABILITY_SOUNDPROOF + if (CountUsablePartyMons(battlerAtk) == 0 && aiData->abilities[battlerAtk] != ABILITY_SOUNDPROOF && CountUsablePartyMons(battlerDef) >= 1) score -= 10; - if (gStatuses3[FOE(battlerAtk)] & STATUS3_PERISH_SONG || AI_DATA->abilities[FOE(battlerAtk)] == ABILITY_SOUNDPROOF) + if (gStatuses3[FOE(battlerAtk)] & STATUS3_PERISH_SONG || aiData->abilities[FOE(battlerAtk)] == ABILITY_SOUNDPROOF) score -= 10; } break; case EFFECT_SANDSTORM: - if (gBattleWeather & (B_WEATHER_SANDSTORM | B_WEATHER_PRIMAL_ANY) - || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove)) + if (weather & (B_WEATHER_SANDSTORM | B_WEATHER_PRIMAL_ANY) + || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), aiData->partnerMove)) score -= 8; break; case EFFECT_SUNNY_DAY: - if (gBattleWeather & (B_WEATHER_SUN | B_WEATHER_PRIMAL_ANY) - || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove)) + if (weather & (B_WEATHER_SUN | B_WEATHER_PRIMAL_ANY) + || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), aiData->partnerMove)) score -= 8; break; case EFFECT_RAIN_DANCE: - if (gBattleWeather & (B_WEATHER_RAIN | B_WEATHER_PRIMAL_ANY) - || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove)) + if (weather & (B_WEATHER_RAIN | B_WEATHER_PRIMAL_ANY) + || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), aiData->partnerMove)) score -= 8; break; case EFFECT_HAIL: - if (gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_PRIMAL_ANY) - || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove)) + if (weather & (B_WEATHER_HAIL | B_WEATHER_PRIMAL_ANY) + || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), aiData->partnerMove)) score -= 8; - else if (gBattleWeather & B_WEATHER_SNOW) + else if (weather & B_WEATHER_SNOW) score -= 2; // mainly to prevent looping between hail and snow break; case EFFECT_SNOWSCAPE: - if (gBattleWeather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) - || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove)) + if (weather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) + || PartnerMoveEffectIsWeather(BATTLE_PARTNER(battlerAtk), aiData->partnerMove)) score -= 8; - else if (gBattleWeather & B_WEATHER_HAIL) + else if (weather & B_WEATHER_HAIL) score -= 2; // mainly to prevent looping between hail and snow break; case EFFECT_ATTRACT: - if (!AI_CanBeInfatuated(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (!AI_CanBeInfatuated(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 10; break; case EFFECT_SAFEGUARD: if (gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_SAFEGUARD - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_MAGNITUDE: - if (AI_DATA->abilities[battlerDef] == ABILITY_LEVITATE) + if (aiData->abilities[battlerDef] == ABILITY_LEVITATE) score -= 10; break; case EFFECT_PARTING_SHOT: @@ -1670,9 +1639,9 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 6; break; case EFFECT_BELLY_DRUM: - if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) + if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] <= 60) + else if (aiData->hpPercents[battlerAtk] <= 60) score -= 10; break; case EFFECT_FUTURE_SIGHT: @@ -1706,28 +1675,28 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { if (AtMaxHp(battlerAtk)) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] >= 80) + else if (aiData->hpPercents[battlerAtk] >= 80) score -= 5; // do it if nothing better } break; case EFFECT_TORMENT: if (gBattleMons[battlerDef].status2 & STATUS2_TORMENT - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) { score -= 10; break; } #if B_MENTAL_HERB >= GEN_5 - if (AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_MENTAL_HERB) + if (aiData->holdEffects[battlerDef] == HOLD_EFFECT_MENTAL_HERB) score -= 6; #endif break; case EFFECT_WILL_O_WISP: - if (!AI_CanBurn(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (!AI_CanBurn(battlerAtk, battlerDef, aiData->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_MEMENTO: - if (CountUsablePartyMons(battlerAtk) == 0 || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (CountUsablePartyMons(battlerAtk) == 0 || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; else if (gBattleMons[battlerDef].statStages[STAT_ATK] == MIN_STAT_STAGE && gBattleMons[battlerDef].statStages[STAT_SPATK] == MIN_STAT_STAGE) score -= 10; @@ -1736,14 +1705,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_HELPING_HAND: if (!isDoubleBattle || !IsBattlerAlive(BATTLE_PARTNER(battlerAtk)) - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove) - || (AI_DATA->partnerMove != MOVE_NONE && IS_MOVE_STATUS(AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove) + || (aiData->partnerMove != MOVE_NONE && IS_MOVE_STATUS(aiData->partnerMove)) || *(gBattleStruct->monToSwitchIntoId + BATTLE_PARTNER(battlerAtk)) != PARTY_SIZE) //Partner is switching out. score -= 10; break; case EFFECT_TRICK: case EFFECT_KNOCK_OFF: - if (AI_DATA->abilities[battlerDef] == ABILITY_STICKY_HOLD) + if (aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD) score -= 10; break; case EFFECT_INGRAIN: @@ -1767,17 +1736,17 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_PSYCHO_SHIFT: - if (gBattleMons[battlerAtk].status1 & STATUS1_PSN_ANY && !AI_CanPoison(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (gBattleMons[battlerAtk].status1 & STATUS1_PSN_ANY && !AI_CanPoison(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; else if (gBattleMons[battlerAtk].status1 & STATUS1_BURN && !AI_CanBurn(battlerAtk, battlerDef, - AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + aiData->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; else if (gBattleMons[battlerAtk].status1 & STATUS1_FROSTBITE && !AI_CanGiveFrostbite(battlerAtk, battlerDef, - AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + aiData->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; - else if (gBattleMons[battlerAtk].status1 & STATUS1_PARALYSIS && !AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + else if (gBattleMons[battlerAtk].status1 & STATUS1_PARALYSIS && !AI_CanParalyze(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; - else if (gBattleMons[battlerAtk].status1 & STATUS1_SLEEP && !AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + else if (gBattleMons[battlerAtk].status1 & STATUS1_SLEEP && !AI_CanPutToSleep(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; else score -= 10; // attacker has no status to transmit @@ -1785,23 +1754,23 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_MUD_SPORT: if (gFieldStatuses & STATUS_FIELD_MUDSPORT || gStatuses4[battlerAtk] & STATUS4_MUD_SPORT - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_WATER_SPORT: if (gFieldStatuses & STATUS_FIELD_WATERSPORT || gStatuses4[battlerAtk] & STATUS4_WATER_SPORT - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_ABSORB: - if (AI_DATA->abilities[battlerDef] == ABILITY_LIQUID_OOZE) + if (aiData->abilities[battlerDef] == ABILITY_LIQUID_OOZE) score -= 6; break; case EFFECT_STRENGTH_SAP: - if (AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) + if (aiData->abilities[battlerDef] == ABILITY_CONTRARY) score -= 10; - else if (!ShouldLowerStat(battlerDef, AI_DATA->abilities[battlerDef], STAT_ATK)) + else if (!ShouldLowerStat(battlerDef, aiData->abilities[battlerDef], STAT_ATK)) score -= 10; break; case EFFECT_COPYCAT: @@ -1813,19 +1782,19 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_AROMATIC_MIST: - if (!isDoubleBattle || gBattleMons[BATTLE_PARTNER(battlerAtk)].hp == 0 || !BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPDEF)) + if (!isDoubleBattle || gBattleMons[BATTLE_PARTNER(battlerAtk)].hp == 0 || !BattlerStatCanRise(BATTLE_PARTNER(battlerAtk), aiData->abilities[BATTLE_PARTNER(battlerAtk)], STAT_SPDEF)) score -= 10; break; case EFFECT_BIDE: if (!HasDamagingMove(battlerDef) - || AI_DATA->hpPercents[battlerAtk] < 30 //Close to death + || aiData->hpPercents[battlerAtk] < 30 //Close to death || gBattleMons[battlerDef].status1 & (STATUS1_SLEEP | STATUS1_FREEZE)) //No point in biding if can't take damage score -= 10; break; case EFFECT_HIT_SWITCH_TARGET: - if (DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; // don't scare away pokemon twice - else if (AI_DATA->hpPercents[battlerDef] < 10 && GetBattlerSecondaryDamage(battlerDef)) + else if (aiData->hpPercents[battlerDef] < 10 && GetBattlerSecondaryDamage(battlerDef)) score -= 10; // don't blow away mon that will faint soon else if (gStatuses3[battlerDef] & STATUS3_PERISH_SONG) score -= 10; @@ -1836,7 +1805,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_REST: - if (!AI_CanSleep(battlerAtk, AI_DATA->abilities[battlerAtk])) + if (!AI_CanSleep(battlerAtk, aiData->abilities[battlerAtk])) score -= 10; //fallthrough case EFFECT_RESTORE_HP: @@ -1844,17 +1813,17 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_ROOST: if (AtMaxHp(battlerAtk)) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] >= 90) + else if (aiData->hpPercents[battlerAtk] >= 90) score -= 9; //No point in healing, but should at least do it if nothing better break; case EFFECT_MORNING_SUN: case EFFECT_SYNTHESIS: case EFFECT_MOONLIGHT: - if ((AI_GetWeather(AI_DATA) & (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_HAIL))) + if ((AI_GetWeather(aiData) & (B_WEATHER_RAIN | B_WEATHER_SANDSTORM | B_WEATHER_HAIL))) score -= 3; else if (AtMaxHp(battlerAtk)) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] >= 90) + else if (aiData->hpPercents[battlerAtk] >= 90) score -= 9; //No point in healing, but should at least do it if nothing better break; case EFFECT_PURIFY: @@ -1864,21 +1833,21 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; //Always heal your ally else if (AtMaxHp(battlerAtk)) score -= 10; - else if (AI_DATA->hpPercents[battlerAtk] >= 90) + else if (aiData->hpPercents[battlerAtk] >= 90) score -= 8; //No point in healing, but should at least do it if nothing better break; case EFFECT_SUPER_FANG: - if (AI_DATA->hpPercents[battlerDef] < 50) + if (aiData->hpPercents[battlerDef] < 50) score -= 4; break; case EFFECT_RECOIL_IF_MISS: - if (AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && AI_GetMoveAccuracy(battlerAtk, battlerDef, move) < 75) + if (aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && AI_GetMoveAccuracy(battlerAtk, battlerDef, move) < 75) score -= 6; break; case EFFECT_RECOIL_25: - if (AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && AI_DATA->abilities[battlerAtk] != ABILITY_ROCK_HEAD) + if (aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && aiData->abilities[battlerAtk] != ABILITY_ROCK_HEAD) { - u32 recoilDmg = max(1, AI_DATA->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex] / 4); + u32 recoilDmg = max(1, aiData->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex] / 4); if (!ShouldUseRecoilMove(battlerAtk, battlerDef, recoilDmg, AI_THINKING_STRUCT->movesetIndex)) score -= 10; break; @@ -1886,18 +1855,18 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_RECOIL_33: case EFFECT_RECOIL_33_STATUS: - if (AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && AI_DATA->abilities[battlerAtk] != ABILITY_ROCK_HEAD) + if (aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && aiData->abilities[battlerAtk] != ABILITY_ROCK_HEAD) { - u32 recoilDmg = max(1, AI_DATA->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex] / 3); + u32 recoilDmg = max(1, aiData->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex] / 3); if (!ShouldUseRecoilMove(battlerAtk, battlerDef, recoilDmg, AI_THINKING_STRUCT->movesetIndex)) score -= 10; break; } break; case EFFECT_RECOIL_50: - if (AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && AI_DATA->abilities[battlerAtk] != ABILITY_ROCK_HEAD) + if (aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && aiData->abilities[battlerAtk] != ABILITY_ROCK_HEAD) { - u32 recoilDmg = max(1, AI_DATA->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex] / 2); + u32 recoilDmg = max(1, aiData->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex] / 2); if (!ShouldUseRecoilMove(battlerAtk, battlerDef, recoilDmg, AI_THINKING_STRUCT->movesetIndex)) score -= 10; break; @@ -1905,11 +1874,11 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_TEETER_DANCE: if (((gBattleMons[battlerDef].status2 & STATUS2_CONFUSION) - || (!DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move) && AI_DATA->abilities[battlerDef] == ABILITY_OWN_TEMPO) + || (!DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move) && aiData->abilities[battlerDef] == ABILITY_OWN_TEMPO) || (IsBattlerGrounded(battlerDef) && AI_IsTerrainAffected(battlerDef, STATUS_FIELD_MISTY_TERRAIN)) || (DoesSubstituteBlockMove(battlerAtk, battlerDef, move))) && ((gBattleMons[BATTLE_PARTNER(battlerDef)].status2 & STATUS2_CONFUSION) - || (!DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move) && AI_DATA->abilities[BATTLE_PARTNER(battlerDef)] == ABILITY_OWN_TEMPO) + || (!DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move) && aiData->abilities[BATTLE_PARTNER(battlerDef)] == ABILITY_OWN_TEMPO) || (IsBattlerGrounded(BATTLE_PARTNER(battlerDef)) && AI_IsTerrainAffected(BATTLE_PARTNER(battlerDef), STATUS_FIELD_MISTY_TERRAIN)) || (DoesSubstituteBlockMove(battlerAtk, BATTLE_PARTNER(battlerDef), move)))) { @@ -1922,13 +1891,13 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) score -= 10; break; case EFFECT_TWO_TURNS_ATTACK: - if (AI_DATA->holdEffects[battlerAtk] != HOLD_EFFECT_POWER_HERB && CanTargetFaintAi(battlerDef, battlerAtk)) + if (aiData->holdEffects[battlerAtk] != HOLD_EFFECT_POWER_HERB && CanTargetFaintAi(battlerDef, battlerAtk)) score -= 6; break; case EFFECT_RECHARGE: - if (AI_DATA->abilities[battlerDef] == ABILITY_WONDER_GUARD && effectiveness < AI_EFFECTIVENESS_x2) + if (aiData->abilities[battlerDef] == ABILITY_WONDER_GUARD && effectiveness < AI_EFFECTIVENESS_x2) score -= 10; - else if (AI_DATA->abilities[battlerAtk] != ABILITY_TRUANT + else if (aiData->abilities[battlerAtk] != ABILITY_TRUANT && !CanIndexMoveFaintTarget(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex, 0)) score -= 2; break; @@ -1959,15 +1928,15 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_LOCK_ON: if (gStatuses3[battlerDef] & STATUS3_ALWAYS_HITS - || AI_DATA->abilities[battlerAtk] == ABILITY_NO_GUARD - || AI_DATA->abilities[battlerDef] == ABILITY_NO_GUARD - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || aiData->abilities[battlerAtk] == ABILITY_NO_GUARD + || aiData->abilities[battlerDef] == ABILITY_NO_GUARD + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_LASER_FOCUS: if (gStatuses3[battlerAtk] & STATUS3_LASER_FOCUS) score -= 10; - else if (AI_DATA->abilities[battlerDef] == ABILITY_SHELL_ARMOR || AI_DATA->abilities[battlerDef] == ABILITY_BATTLE_ARMOR) + else if (aiData->abilities[battlerDef] == ABILITY_SHELL_ARMOR || aiData->abilities[battlerDef] == ABILITY_BATTLE_ARMOR) score -= 8; break; case EFFECT_SKETCH: @@ -1982,7 +1951,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // TODO break; case EFFECT_HEAL_BELL: - if (!AnyPartyMemberStatused(battlerAtk, gBattleMoves[move].soundMove) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (!AnyPartyMemberStatused(battlerAtk, gBattleMoves[move].soundMove) || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_HIT_PREVENT_ESCAPE: @@ -2016,7 +1985,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (decreased) break; - if (IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef])) + if (IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef])) { score -= 10; break; @@ -2027,8 +1996,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) && move != MOVE_CRAFTY_SHIELD) //These moves have infinite usage { if (GetBattlerSecondaryDamage(battlerAtk) >= gBattleMons[battlerAtk].hp - && AI_DATA->abilities[battlerDef] != ABILITY_MOXIE - && AI_DATA->abilities[battlerDef] != ABILITY_BEAST_BOOST) + && aiData->abilities[battlerDef] != ABILITY_MOXIE + && aiData->abilities[battlerDef] != ABILITY_BEAST_BOOST) { score -= 10; //Don't protect if you're going to faint after protecting } @@ -2062,7 +2031,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (gBattleMons[battlerDef].statStages[STAT_EVASION] <= 4 || !(IS_BATTLER_OF_TYPE(battlerDef, TYPE_DARK)) - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 9; break; case EFFECT_BURN_UP: @@ -2079,7 +2048,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) || gSideTimers[GetBattlerSide(battlerDef)].auroraVeilTimer != 0 || gSideStatuses[GetBattlerSide(battlerAtk)] & SIDE_STATUS_HAZARDS_ANY) { - if (PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) { score -= 10; //Only need one hazards removal break; @@ -2094,8 +2063,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (isDoubleBattle) { - if (IsHazardMoveEffect(gBattleMoves[AI_DATA->partnerMove].effect) // partner is going to set up hazards - && AI_WhoStrikesFirst(BATTLE_PARTNER(battlerAtk), battlerAtk, AI_DATA->partnerMove) == AI_IS_FASTER) // partner is going to set up before the potential Defog + if (IsHazardMoveEffect(gBattleMoves[aiData->partnerMove].effect) // partner is going to set up hazards + && AI_WhoStrikesFirst(BATTLE_PARTNER(battlerAtk), battlerAtk, aiData->partnerMove) == AI_IS_FASTER) // partner is going to set up before the potential Defog { score -= 10; break; // Don't use Defog if partner is going to set up hazards @@ -2104,7 +2073,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) // evasion check if (gBattleMons[battlerDef].statStages[STAT_EVASION] == MIN_STAT_STAGE - || ((AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) && !IS_TARGETING_PARTNER(battlerAtk, battlerDef))) // don't want to raise target stats unless its your partner + || ((aiData->abilities[battlerDef] == ABILITY_CONTRARY) && !IS_TARGETING_PARTNER(battlerAtk, battlerDef))) // don't want to raise target stats unless its your partner score -= 10; break; @@ -2125,8 +2094,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_SPECTRAL_THIEF: break; case EFFECT_SOLAR_BEAM: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB - || ((AI_GetWeather(AI_DATA) & B_WEATHER_SUN) && AI_DATA->holdEffects[battlerAtk] != HOLD_EFFECT_UTILITY_UMBRELLA)) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB + || ((AI_GetWeather(aiData) & B_WEATHER_SUN) && aiData->holdEffects[battlerAtk] != HOLD_EFFECT_UTILITY_UMBRELLA)) break; if (CanTargetFaintAi(battlerDef, battlerAtk)) //Attacker can be knocked out score -= 4; @@ -2137,39 +2106,39 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) && gBattleMoves[predictedMove].effect == EFFECT_SEMI_INVULNERABLE) score -= 10; // Don't Fly/dig/etc if opponent is going to fly/dig/etc after you - if (BattlerWillFaintFromWeather(battlerAtk, AI_DATA->abilities[battlerAtk]) + if (BattlerWillFaintFromWeather(battlerAtk, aiData->abilities[battlerAtk]) && (move == MOVE_FLY || move == MOVE_BOUNCE)) score -= 10; // Attacker will faint while in the air break; case EFFECT_HEALING_WISH: //healing wish, lunar dance - if (CountUsablePartyMons(battlerAtk) == 0 || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (CountUsablePartyMons(battlerAtk) == 0 || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; else if (IsPartyFullyHealedExceptBattler(battlerAtk)) score -= 10; break; case EFFECT_FINAL_GAMBIT: - if (CountUsablePartyMons(battlerAtk) == 0 || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (CountUsablePartyMons(battlerAtk) == 0 || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_NATURE_POWER: return AI_CheckBadMove(battlerAtk, battlerDef, GetNaturePowerMove(), score); case EFFECT_TAUNT: if (gDisableStructs[battlerDef].tauntTimer > 0 - || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score--; break; case EFFECT_BESTOW: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_NONE + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_NONE || !CanBattlerGetOrLoseItem(battlerAtk, gBattleMons[battlerAtk].item)) // AI knows its own item score -= 10; break; case EFFECT_ROLE_PLAY: - if (AI_DATA->abilities[battlerAtk] == AI_DATA->abilities[battlerDef] - || AI_DATA->abilities[battlerDef] == ABILITY_NONE - || IsRolePlayBannedAbilityAtk(AI_DATA->abilities[battlerAtk]) - || IsRolePlayBannedAbility(AI_DATA->abilities[battlerDef])) + if (aiData->abilities[battlerAtk] == aiData->abilities[battlerDef] + || aiData->abilities[battlerDef] == ABILITY_NONE + || IsRolePlayBannedAbilityAtk(aiData->abilities[battlerAtk]) + || IsRolePlayBannedAbility(aiData->abilities[battlerDef])) score -= 10; - else if (IsAbilityOfRating(AI_DATA->abilities[battlerAtk], 5)) + else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 5)) score -= 4; break; case EFFECT_WISH: @@ -2191,44 +2160,44 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_YAWN: if (gStatuses3[battlerDef] & STATUS3_YAWN) score -= 10; - else if (!AI_CanPutToSleep(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + else if (!AI_CanPutToSleep(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case EFFECT_SKILL_SWAP: - if (AI_DATA->abilities[battlerAtk] == ABILITY_NONE || AI_DATA->abilities[battlerDef] == ABILITY_NONE - || IsSkillSwapBannedAbility(AI_DATA->abilities[battlerAtk]) || IsSkillSwapBannedAbility(AI_DATA->abilities[battlerDef]) - || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_ABILITY_SHIELD) + if (aiData->abilities[battlerAtk] == ABILITY_NONE || aiData->abilities[battlerDef] == ABILITY_NONE + || IsSkillSwapBannedAbility(aiData->abilities[battlerAtk]) || IsSkillSwapBannedAbility(aiData->abilities[battlerDef]) + || aiData->holdEffects[battlerDef] == HOLD_EFFECT_ABILITY_SHIELD) score -= 10; break; case EFFECT_WORRY_SEED: - if (AI_DATA->abilities[battlerDef] == ABILITY_INSOMNIA - || IsWorrySeedBannedAbility(AI_DATA->abilities[battlerDef]) - || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_ABILITY_SHIELD) + if (aiData->abilities[battlerDef] == ABILITY_INSOMNIA + || IsWorrySeedBannedAbility(aiData->abilities[battlerDef]) + || aiData->holdEffects[battlerDef] == HOLD_EFFECT_ABILITY_SHIELD) score -= 10; break; case EFFECT_GASTRO_ACID: if (gStatuses3[battlerDef] & STATUS3_GASTRO_ACID - || IsGastroAcidBannedAbility(AI_DATA->abilities[battlerDef])) + || IsGastroAcidBannedAbility(aiData->abilities[battlerDef])) score -= 10; break; case EFFECT_ENTRAINMENT: - if (AI_DATA->abilities[battlerAtk] == ABILITY_NONE - || IsEntrainmentBannedAbilityAttacker(AI_DATA->abilities[battlerAtk]) - || IsEntrainmentTargetOrSimpleBeamBannedAbility(AI_DATA->abilities[battlerDef]) - || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_ABILITY_SHIELD) + if (aiData->abilities[battlerAtk] == ABILITY_NONE + || IsEntrainmentBannedAbilityAttacker(aiData->abilities[battlerAtk]) + || IsEntrainmentTargetOrSimpleBeamBannedAbility(aiData->abilities[battlerDef]) + || aiData->holdEffects[battlerAtk] == HOLD_EFFECT_ABILITY_SHIELD) score -= 10; break; case EFFECT_CORE_ENFORCER: break; case EFFECT_SIMPLE_BEAM: - if (AI_DATA->abilities[battlerDef] == ABILITY_SIMPLE - || IsEntrainmentTargetOrSimpleBeamBannedAbility(AI_DATA->abilities[battlerDef]) - || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_ABILITY_SHIELD) + if (aiData->abilities[battlerDef] == ABILITY_SIMPLE + || IsEntrainmentTargetOrSimpleBeamBannedAbility(aiData->abilities[battlerDef]) + || aiData->holdEffects[battlerDef] == HOLD_EFFECT_ABILITY_SHIELD) score -= 10; break; case EFFECT_SNATCH: if (!HasSnatchAffectedMove(battlerDef) - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_POWER_TRICK: @@ -2329,33 +2298,33 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_NATURAL_GIFT: - if (AI_DATA->abilities[battlerAtk] == ABILITY_KLUTZ + if (aiData->abilities[battlerAtk] == ABILITY_KLUTZ || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || GetPocketByItemId(gBattleMons[battlerAtk].item) != POCKET_BERRIES) score -= 10; break; case EFFECT_GRASSY_TERRAIN: - if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove) || gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) + if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) || gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) score -= 10; break; case EFFECT_ELECTRIC_TERRAIN: - if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove) || gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) + if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) || gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) score -= 10; break; case EFFECT_PSYCHIC_TERRAIN: - if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove) || gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) + if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) || gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) score -= 10; break; case EFFECT_MISTY_TERRAIN: - if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove) || gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) + if (PartnerMoveEffectIsTerrain(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) || gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) score -= 10; break; case EFFECT_PLEDGE: if (isDoubleBattle && gBattleMons[BATTLE_PARTNER(battlerAtk)].hp > 0) { - if (AI_DATA->partnerMove != MOVE_NONE - && gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_PLEDGE - && move != AI_DATA->partnerMove) // Different pledge moves + if (aiData->partnerMove != MOVE_NONE + && gBattleMoves[aiData->partnerMove].effect == EFFECT_PLEDGE + && move != aiData->partnerMove) // Different pledge moves { if (gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & (STATUS1_SLEEP | STATUS1_FREEZE)) // && gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 != 1) // Will wake up this turn - how would AI know @@ -2364,7 +2333,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_TRICK_ROOM: - if (PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_TRICK_ROOM)) + if (PartnerMoveIs(BATTLE_PARTNER(battlerAtk), aiData->partnerMove, MOVE_TRICK_ROOM)) { score -= 10; } @@ -2380,23 +2349,23 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_MAGIC_ROOM: - if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_WONDER_ROOM: - if (gFieldStatuses & STATUS_FIELD_WONDER_ROOM || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (gFieldStatuses & STATUS_FIELD_WONDER_ROOM || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_GRAVITY: if ((gFieldStatuses & STATUS_FIELD_GRAVITY && !IS_BATTLER_OF_TYPE(battlerAtk, TYPE_FLYING) - && AI_DATA->holdEffects[battlerAtk] != HOLD_EFFECT_AIR_BALLOON) // Should revert Gravity in this case - || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + && aiData->holdEffects[battlerAtk] != HOLD_EFFECT_AIR_BALLOON) // Should revert Gravity in this case + || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_ION_DELUGE: if (gFieldStatuses & STATUS_FIELD_ION_DELUGE - || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_FLING: @@ -2411,19 +2380,19 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) switch (effect) { case MOVE_EFFECT_BURN: - if (!AI_CanBurn(battlerAtk, battlerDef, BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if (!AI_CanBurn(battlerAtk, battlerDef, BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case MOVE_EFFECT_PARALYSIS: - if (!AI_CanParalyze(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (!AI_CanParalyze(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case MOVE_EFFECT_POISON: - if (!AI_CanPoison(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (!AI_CanPoison(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case MOVE_EFFECT_TOXIC: - if (!AI_CanPoison(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_DATA->partnerMove)) + if (!AI_CanPoison(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, aiData->partnerMove)) score -= 10; break; case MOVE_EFFECT_FREEZE: @@ -2435,34 +2404,34 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_EMBARGO: - if (AI_DATA->abilities[battlerDef] == ABILITY_KLUTZ + if (aiData->abilities[battlerDef] == ABILITY_KLUTZ || gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || gDisableStructs[battlerDef].embargoTimer != 0 - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_POWDER: if (!HasMoveWithType(battlerDef, TYPE_FIRE) - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_TELEKINESIS: if (gStatuses3[battlerDef] & (STATUS3_TELEKINESIS | STATUS3_ROOTED | STATUS3_SMACKED_DOWN) || gFieldStatuses & STATUS_FIELD_GRAVITY - || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_IRON_BALL + || aiData->holdEffects[battlerDef] == HOLD_EFFECT_IRON_BALL || IsTelekinesisBannedSpecies(gBattleMons[battlerDef].species) - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_THROAT_CHOP: break; case EFFECT_HEAL_BLOCK: if (gDisableStructs[battlerDef].healBlockTimer != 0 - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_SOAK: - if (PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove) + if (PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove) || (gBattleMons[battlerDef].type1 == TYPE_WATER && gBattleMons[battlerDef].type2 == TYPE_WATER && gBattleMons[battlerDef].type3 == TYPE_MYSTERY)) @@ -2472,11 +2441,11 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) switch (move) { case MOVE_TRICK_OR_TREAT: - if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GHOST) || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GHOST) || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case MOVE_FORESTS_CURSE: - if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; } @@ -2502,7 +2471,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_ELECTRIFY: if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER //|| GetMoveTypeSpecial(battlerDef, predictedMove) == TYPE_ELECTRIC // Move will already be electric type - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_TOPSY_TURVY: @@ -2512,7 +2481,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) u8 targetNegativeStages = CountNegativeStatStages(battlerDef); if (targetPositiveStages == 0 //No good stat changes to make bad - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; else if (targetNegativeStages < targetPositiveStages) @@ -2520,7 +2489,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_FAIRY_LOCK: - if ((gFieldStatuses & STATUS_FIELD_FAIRY_LOCK) || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + if ((gFieldStatuses & STATUS_FIELD_FAIRY_LOCK) || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_DO_NOTHING: @@ -2541,7 +2510,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) || IsZMove(instructedMove) || (gLockedMoves[battlerDef] != 0 && gLockedMoves[battlerDef] != 0xFFFF) || gBattleMons[battlerDef].status2 & STATUS2_MULTIPLETURNS - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) { score -= 10; } @@ -2568,14 +2537,14 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_QUASH: if (!isDoubleBattle || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_AFTER_YOU: if (!IS_TARGETING_PARTNER(battlerAtk, battlerDef) || !isDoubleBattle || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER - || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, AI_DATA->partnerMove)) + || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) score -= 10; break; case EFFECT_SUCKER_PUNCH: @@ -2587,19 +2556,19 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_TAILWIND: if (gSideTimers[GetBattlerSide(battlerAtk)].tailwindTimer != 0 - || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_TAILWIND) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), aiData->partnerMove, MOVE_TAILWIND) || (gFieldStatuses & STATUS_FIELD_TRICK_ROOM && gFieldTimers.trickRoomTimer > 1)) // Trick Room active and not ending this turn score -= 10; break; case EFFECT_LUCKY_CHANT: if (gSideTimers[GetBattlerSide(battlerAtk)].luckyChantTimer != 0 - || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerMoveIsSameNoTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 10; break; case EFFECT_MAGNET_RISE: if (gFieldStatuses & STATUS_FIELD_GRAVITY || gDisableStructs[battlerAtk].magnetRiseTimer != 0 - || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_IRON_BALL + || aiData->holdEffects[battlerAtk] == HOLD_EFFECT_IRON_BALL || gStatuses3[battlerAtk] & (STATUS3_ROOTED | STATUS3_MAGNET_RISE | STATUS3_SMACKED_DOWN) || !IsBattlerGrounded(battlerAtk)) score -= 10; @@ -2614,7 +2583,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_SYNCHRONOISE: //Check holding ring target or is of same type - if (AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_RING_TARGET + if (aiData->holdEffects[battlerDef] == HOLD_EFFECT_RING_TARGET || IS_BATTLER_OF_TYPE(battlerDef, gBattleMons[battlerAtk].type1) || IS_BATTLER_OF_TYPE(battlerDef, gBattleMons[battlerAtk].type2) || IS_BATTLER_OF_TYPE(battlerDef, gBattleMons[battlerAtk].type3)) @@ -2625,16 +2594,16 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_ERUPTION: if (effectiveness <= AI_EFFECTIVENESS_x0_5) score--; - if (AI_DATA->hpPercents[battlerDef] < 50) + if (aiData->hpPercents[battlerDef] < 50) score--; break; case EFFECT_VITAL_THROW: - if (AI_STRIKES_FIRST(battlerAtk, battlerDef, move) && AI_DATA->hpPercents[battlerAtk] < 40) + if (AI_STRIKES_FIRST(battlerAtk, battlerDef, move) && aiData->hpPercents[battlerAtk] < 40) score--; // don't want to move last break; case EFFECT_FLAIL: if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER // Opponent should go first - || AI_DATA->hpPercents[battlerAtk] > 50) + || aiData->hpPercents[battlerAtk] > 50) score -= 4; break; //TODO @@ -2647,7 +2616,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) case EFFECT_SKY_DROP: if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_FLYING)) score -= 10; - if (BattlerWillFaintFromWeather(battlerAtk, AI_DATA->abilities[battlerAtk]) + if (BattlerWillFaintFromWeather(battlerAtk, aiData->abilities[battlerAtk]) || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) || GetBattlerWeight(battlerDef) >= 2000) //200.0 kg score -= 10; @@ -2682,11 +2651,11 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_TAKE_HEART: if ((!(gBattleMons[battlerAtk].status1 & STATUS1_ANY) - || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_JUNGLE_HEALING) - || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_HEAL_BELL) - || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove, MOVE_AROMATHERAPY)) - && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) - && !BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), aiData->partnerMove, MOVE_JUNGLE_HEALING) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), aiData->partnerMove, MOVE_HEAL_BELL) + || PartnerMoveIs(BATTLE_PARTNER(battlerAtk), aiData->partnerMove, MOVE_AROMATHERAPY)) + && !BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK) + && !BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score -= 10; break; case EFFECT_PLACEHOLDER: @@ -2699,7 +2668,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) return score; } -static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u32 movesetIndex = AI_THINKING_STRUCT->movesetIndex; bool32 aiFaster; @@ -2758,28 +2727,29 @@ static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } // double battle logic -static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { // move data u8 moveType = gBattleMoves[move].type; u16 effect = gBattleMoves[move].effect; - u16 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); + u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); // ally data u32 battlerAtkPartner = BATTLE_PARTNER(battlerAtk); - u16 atkPartnerAbility = AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)]; - u16 atkPartnerHoldEffect = AI_DATA->holdEffects[BATTLE_PARTNER(battlerAtk)]; - bool32 partnerProtecting = (gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_PROTECT); - bool32 attackerHasBadAbility = (GetAbilityRating(AI_DATA->abilities[battlerAtk]) < 0); + struct AiLogicData *aiData = AI_DATA; + u16 atkPartnerAbility = aiData->abilities[BATTLE_PARTNER(battlerAtk)]; + u16 atkPartnerHoldEffect = aiData->holdEffects[BATTLE_PARTNER(battlerAtk)]; + bool32 partnerProtecting = (gBattleMoves[aiData->partnerMove].effect == EFFECT_PROTECT); + bool32 attackerHasBadAbility = (GetAbilityRating(aiData->abilities[battlerAtk]) < 0); bool32 partnerHasBadAbility = (GetAbilityRating(atkPartnerAbility) < 0); - u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; + u16 predictedMove = aiData->predictedMoves[battlerDef]; SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); // check what effect partner is using - if (AI_DATA->partnerMove != 0) + if (aiData->partnerMove != 0) { - switch (gBattleMoves[AI_DATA->partnerMove].effect) + switch (gBattleMoves[aiData->partnerMove].effect) { case EFFECT_HELPING_HAND: if (!IS_MOVE_STATUS(move)) @@ -2794,7 +2764,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) break; case EFFECT_ALWAYS_CRIT: // Ally decided to use Frost Breath on us. we must have Anger Point as our ability - if (AI_DATA->abilities[battlerAtk] == ABILITY_ANGER_POINT) + if (aiData->abilities[battlerAtk] == ABILITY_ANGER_POINT) { if (AI_WhoStrikesFirst(battlerAtk, battlerAtkPartner, move) == AI_IS_SLOWER) // Partner moving first { @@ -2814,11 +2784,11 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) switch (effect) { case EFFECT_HELPING_HAND: - if (AI_DATA->partnerMove != 0 && !HasDamagingMove(battlerAtkPartner)) + if (aiData->partnerMove != 0 && !HasDamagingMove(battlerAtkPartner)) score -= 5; break; case EFFECT_PERISH_SONG: - if (AI_DATA->partnerMove != 0 && HasTrappingMoveEffect(battlerAtkPartner)) + if (aiData->partnerMove != 0 && HasTrappingMoveEffect(battlerAtkPartner)) score++; break; case EFFECT_MAGNET_RISE: @@ -2874,7 +2844,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (GetMoveDamageResult(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex) == MOVE_POWER_OTHER) { // partner ability checks - if (!partnerProtecting && moveTarget != MOVE_TARGET_BOTH && !DoesBattlerIgnoreAbilityChecks(AI_DATA->abilities[battlerAtk], move)) + if (!partnerProtecting && moveTarget != MOVE_TARGET_BOTH && !DoesBattlerIgnoreAbilityChecks(aiData->abilities[battlerAtk], move)) { switch (atkPartnerAbility) { @@ -3022,14 +2992,14 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_SKILL_SWAP: - if (AI_DATA->abilities[battlerAtk] != AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] && !attackerHasBadAbility) + if (aiData->abilities[battlerAtk] != aiData->abilities[BATTLE_PARTNER(battlerAtk)] && !attackerHasBadAbility) { - if (AI_DATA->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_TRUANT) + if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_TRUANT) { RETURN_SCORE_PLUS(10); } - else if (AI_DATA->abilities[battlerAtk] == ABILITY_COMPOUND_EYES - && HasMoveWithLowAccuracy(battlerAtkPartner, FOE(battlerAtkPartner), 90, TRUE, atkPartnerAbility, AI_DATA->abilities[FOE(battlerAtkPartner)], atkPartnerHoldEffect, AI_DATA->holdEffects[FOE(battlerAtkPartner)])) + else if (aiData->abilities[battlerAtk] == ABILITY_COMPOUND_EYES + && HasMoveWithLowAccuracy(battlerAtkPartner, FOE(battlerAtkPartner), 90, TRUE, atkPartnerAbility, aiData->abilities[FOE(battlerAtkPartner)], atkPartnerHoldEffect, aiData->holdEffects[FOE(battlerAtkPartner)])) { RETURN_SCORE_PLUS(3); } @@ -3050,7 +3020,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_ENTRAINMENT: - if (partnerHasBadAbility && IsAbilityOfRating(AI_DATA->abilities[battlerAtk], 0)) + if (partnerHasBadAbility && IsAbilityOfRating(aiData->abilities[battlerAtk], 0)) { RETURN_SCORE_PLUS(1); } @@ -3068,7 +3038,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) { u16 instructedMove; if (AI_WhoStrikesFirst(battlerAtk, battlerAtkPartner, move) == AI_IS_FASTER) - instructedMove = AI_DATA->partnerMove; + instructedMove = aiData->partnerMove; else instructedMove = gLastMoves[battlerAtkPartner]; @@ -3081,10 +3051,10 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } break; case EFFECT_AFTER_YOU: - if (AI_WhoStrikesFirst(battlerAtkPartner, FOE(battlerAtkPartner), AI_DATA->partnerMove) == AI_IS_SLOWER // Opponent mon 1 goes before partner - || AI_WhoStrikesFirst(battlerAtkPartner, BATTLE_PARTNER(FOE(battlerAtkPartner)), AI_DATA->partnerMove) == AI_IS_SLOWER) // Opponent mon 2 goes before partner + if (AI_WhoStrikesFirst(battlerAtkPartner, FOE(battlerAtkPartner), aiData->partnerMove) == AI_IS_SLOWER // Opponent mon 1 goes before partner + || AI_WhoStrikesFirst(battlerAtkPartner, BATTLE_PARTNER(FOE(battlerAtkPartner)), aiData->partnerMove) == AI_IS_SLOWER) // Opponent mon 2 goes before partner { - if (gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_COUNTER || gBattleMoves[AI_DATA->partnerMove].effect == EFFECT_MIRROR_COAT) + if (gBattleMoves[aiData->partnerMove].effect == EFFECT_COUNTER || gBattleMoves[aiData->partnerMove].effect == EFFECT_MIRROR_COAT) break; // These moves need to go last RETURN_SCORE_PLUS(1); } @@ -3107,9 +3077,9 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) switch (effect) { case EFFECT_SKILL_SWAP: - if (AI_DATA->abilities[battlerAtk] == ABILITY_TRUANT) + if (aiData->abilities[battlerAtk] == ABILITY_TRUANT) score += 5; - else if (IsAbilityOfRating(AI_DATA->abilities[battlerAtk], 0) || IsAbilityOfRating(AI_DATA->abilities[battlerDef], 10)) + else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 0) || IsAbilityOfRating(aiData->abilities[battlerDef], 10)) score += 2; // we want to transfer our bad ability or take their awesome ability break; case EFFECT_EARTHQUAKE: @@ -3117,7 +3087,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) if (!IsBattlerGrounded(battlerAtkPartner) || (IsBattlerGrounded(battlerAtkPartner) && AI_WhoStrikesFirst(battlerAtk, battlerAtkPartner, move) == AI_IS_SLOWER - && IsUngroundingEffect(gBattleMoves[AI_DATA->partnerMove].effect))) + && IsUngroundingEffect(gBattleMoves[aiData->partnerMove].effect))) score += 2; else if (IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_FIRE) || IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_ELECTRIC) @@ -3135,7 +3105,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) return score; } -static bool32 IsPinchBerryItemEffect(u16 holdEffect) +static bool32 IsPinchBerryItemEffect(u32 holdEffect) { switch (holdEffect) { @@ -3168,18 +3138,19 @@ static u32 GetAIMostDamagingMoveId(u32 battlerAtk, u32 battlerDef) } // AI_FLAG_CHECK_VIABILITY - a weird mix of increasing and decreasing scores -static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { // move data - u16 moveEffect = gBattleMoves[move].effect; - u32 effectiveness = AI_DATA->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; + u32 moveEffect = gBattleMoves[move].effect; + struct AiLogicData *aiData = AI_DATA; + u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; u8 atkPriority = GetMovePriority(battlerAtk, move); - u16 predictedMove = AI_DATA->predictedMoves[battlerDef]; + u16 predictedMove = aiData->predictedMoves[battlerDef]; u32 predictedMoveSlot = GetMoveSlot(GetMovesArray(battlerDef), predictedMove); bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; // We only check for moves that have a 20% chance or more for their secondary effect to happen because moves with a smaller chance are rather worthless. We don't want the AI to use those. - bool32 sereneGraceBoost = (AI_DATA->abilities[battlerAtk] == ABILITY_SERENE_GRACE && (gBattleMoves[move].secondaryEffectChance >= 20 && gBattleMoves[move].secondaryEffectChance < 100)); + bool32 sereneGraceBoost = (aiData->abilities[battlerAtk] == ABILITY_SERENE_GRACE && (gBattleMoves[move].secondaryEffectChance >= 20 && gBattleMoves[move].secondaryEffectChance < 100)); // Targeting partner, check benefits of doing that instead if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) @@ -3192,7 +3163,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (gBattleMons[battlerDef].statStages[STAT_EVASION] > 6 || gBattleMons[battlerAtk].statStages[STAT_ACC] < 6) { u32 mostDmgMoveId = GetAIMostDamagingMoveId(battlerAtk, battlerDef); - u32 *dmgs = AI_DATA->simulatedDmg[battlerAtk][battlerDef]; + u32 *dmgs = aiData->simulatedDmg[battlerAtk][battlerDef]; if (GetNoOfHitsToKO(dmgs[mostDmgMoveId], gBattleMons[battlerDef].hp) == GetNoOfHitsToKO(dmgs[AI_THINKING_STRUCT->movesetIndex], gBattleMons[battlerDef].hp)) score++; } @@ -3207,7 +3178,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score++; // check already dead - if (!IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef]) + if (!IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef]) && CanTargetFaintAi(battlerAtk, battlerDef) && AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER) // Opponent should go first { @@ -3232,7 +3203,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score // check burn if (gBattleMons[battlerAtk].status1 & STATUS1_BURN) { - switch (AI_DATA->abilities[battlerAtk]) + switch (aiData->abilities[battlerAtk]) { case ABILITY_GUTS: break; @@ -3251,7 +3222,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score // check frostbite if (gBattleMons[battlerAtk].status1 & STATUS1_FROSTBITE) { - switch (AI_DATA->abilities[battlerAtk]) + switch (aiData->abilities[battlerAtk]) { case ABILITY_GUTS: break; @@ -3268,7 +3239,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } // attacker ability checks - switch (AI_DATA->abilities[battlerAtk]) + switch (aiData->abilities[battlerAtk]) { case ABILITY_MOXIE: case ABILITY_BEAST_BOOST: @@ -3295,7 +3266,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score IncreaseSleepScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_ABSORB: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) score++; if (effectiveness <= AI_EFFECTIVENESS_x0_5 && AI_RandLessThan(50)) score -= 3; @@ -3304,7 +3275,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_MEMENTO: if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_WILL_SUICIDE && gBattleMons[battlerDef].statStages[STAT_EVASION] < 7) { - if (AI_DATA->hpPercents[battlerAtk] < 50 && AI_RandLessThan(128)) + if (aiData->hpPercents[battlerAtk] < 50 && AI_RandLessThan(128)) score++; } break; @@ -3323,7 +3294,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } else if (gBattleMons[battlerAtk].statStages[STAT_ATK] < 9) { - if (AI_DATA->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) + if (aiData->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) { score += 2; break; @@ -3340,11 +3311,11 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_DEFENSE_UP_3: if (!HasMoveWithSplit(battlerDef, SPLIT_PHYSICAL)) score -= 2; - if (AI_DATA->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) + if (aiData->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) score += 2; - else if (AI_DATA->hpPercents[battlerAtk] > 70 && AI_RandLessThan(200)) + else if (aiData->hpPercents[battlerAtk] > 70 && AI_RandLessThan(200)) break; - else if (AI_DATA->hpPercents[battlerAtk] < 40) + else if (aiData->hpPercents[battlerAtk] < 40) score -= 2; break; case EFFECT_SPEED_UP: @@ -3369,7 +3340,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } else if (gBattleMons[battlerAtk].statStages[STAT_SPATK] < 9) { - if (AI_DATA->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) + if (aiData->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) { score += 2; break; @@ -3385,29 +3356,29 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_SPECIAL_DEFENSE_UP_2: if (!HasMoveWithSplit(battlerDef, SPLIT_SPECIAL)) score -= 2; - if (AI_DATA->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) + if (aiData->hpPercents[battlerAtk] > 90 && AI_RandLessThan(128)) score += 2; - else if (AI_DATA->hpPercents[battlerAtk] > 70 && AI_RandLessThan(200)) + else if (aiData->hpPercents[battlerAtk] > 70 && AI_RandLessThan(200)) break; - else if (AI_DATA->hpPercents[battlerAtk] < 40) + else if (aiData->hpPercents[battlerAtk] < 40) score -= 2; break; case EFFECT_ACCURACY_UP: case EFFECT_ACCURACY_UP_2: if (gBattleMons[battlerAtk].statStages[STAT_ACC] >= 9 && !AI_RandLessThan(50)) score -= 2; - else if (AI_DATA->hpPercents[battlerAtk] <= 70) + else if (aiData->hpPercents[battlerAtk] <= 70) score -= 2; else score++; break; case EFFECT_EVASION_UP: case EFFECT_EVASION_UP_2: - if (AI_DATA->hpPercents[battlerAtk] > 90 && !AI_RandLessThan(100)) + if (aiData->hpPercents[battlerAtk] > 90 && !AI_RandLessThan(100)) score += 3; if (gBattleMons[battlerAtk].statStages[STAT_EVASION] > 9 && AI_RandLessThan(128)) score--; - if ((gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY) && AI_DATA->hpPercents[battlerAtk] >= 50 && !AI_RandLessThan(80)) + if ((gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY) && aiData->hpPercents[battlerAtk] >= 50 && !AI_RandLessThan(80)) score += 3; if (gStatuses3[battlerDef] & STATUS3_LEECHSEED && !AI_RandLessThan(70)) score += 3; @@ -3415,9 +3386,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 2; if (gBattleMons[battlerDef].status2 & STATUS2_CURSED && !AI_RandLessThan(70)) score += 3; - if (AI_DATA->hpPercents[battlerAtk] < 70 || gBattleMons[battlerAtk].statStages[STAT_EVASION] == DEFAULT_STAT_STAGE) + if (aiData->hpPercents[battlerAtk] < 70 || gBattleMons[battlerAtk].statStages[STAT_EVASION] == DEFAULT_STAT_STAGE) break; - else if (AI_DATA->hpPercents[battlerAtk] < 40 || AI_DATA->hpPercents[battlerDef] < 40) + else if (aiData->hpPercents[battlerAtk] < 40 || aiData->hpPercents[battlerDef] < 40) score -= 2; else if (!AI_RandLessThan(70)) score -= 2; @@ -3425,24 +3396,24 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score // stat lowering effects case EFFECT_ATTACK_DOWN: case EFFECT_ATTACK_DOWN_2: - if (!ShouldLowerAttack(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (!ShouldLowerAttack(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 2; if (gBattleMons[battlerDef].statStages[STAT_ATK] < DEFAULT_STAT_STAGE) score--; - else if (AI_DATA->hpPercents[battlerAtk] <= 90) + else if (aiData->hpPercents[battlerAtk] <= 90) score--; if (gBattleMons[battlerDef].statStages[STAT_ATK] > 3 && !AI_RandLessThan(50)) score -= 2; - else if (AI_DATA->hpPercents[battlerDef] < 70) + else if (aiData->hpPercents[battlerDef] < 70) score -= 2; break; case EFFECT_DEFENSE_DOWN: case EFFECT_DEFENSE_DOWN_2: - if (!ShouldLowerDefense(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (!ShouldLowerDefense(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 2; - if ((AI_DATA->hpPercents[battlerAtk] < 70 && !AI_RandLessThan(50)) || (gBattleMons[battlerDef].statStages[STAT_DEF] <= 3 && !AI_RandLessThan(50))) + if ((aiData->hpPercents[battlerAtk] < 70 && !AI_RandLessThan(50)) || (gBattleMons[battlerDef].statStages[STAT_DEF] <= 3 && !AI_RandLessThan(50))) score -= 2; - if (AI_DATA->hpPercents[battlerDef] <= 70) + if (aiData->hpPercents[battlerDef] <= 70) score -= 2; break; case EFFECT_SPEED_DOWN: @@ -3454,32 +3425,32 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_SPECIAL_ATTACK_DOWN: case EFFECT_SPECIAL_ATTACK_DOWN_2: - if (!ShouldLowerSpAtk(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (!ShouldLowerSpAtk(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 2; if (gBattleMons[battlerDef].statStages[STAT_SPATK] < DEFAULT_STAT_STAGE) score--; - else if (AI_DATA->hpPercents[battlerAtk] <= 90) + else if (aiData->hpPercents[battlerAtk] <= 90) score--; if (gBattleMons[battlerDef].statStages[STAT_SPATK] > 3 && !AI_RandLessThan(50)) score -= 2; - else if (AI_DATA->hpPercents[battlerDef] < 70) + else if (aiData->hpPercents[battlerDef] < 70) score -= 2; break; case EFFECT_SPECIAL_DEFENSE_DOWN: case EFFECT_SPECIAL_DEFENSE_DOWN_2: - if (!ShouldLowerSpDef(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (!ShouldLowerSpDef(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 2; - if ((AI_DATA->hpPercents[battlerAtk] < 70 && !AI_RandLessThan(50)) + if ((aiData->hpPercents[battlerAtk] < 70 && !AI_RandLessThan(50)) || (gBattleMons[battlerDef].statStages[STAT_SPDEF] <= 3 && !AI_RandLessThan(50))) score -= 2; - if (AI_DATA->hpPercents[battlerDef] <= 70) + if (aiData->hpPercents[battlerDef] <= 70) score -= 2; break; case EFFECT_ACCURACY_DOWN: case EFFECT_ACCURACY_DOWN_2: - if (ShouldLowerAccuracy(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (ShouldLowerAccuracy(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 2; - if ((AI_DATA->hpPercents[battlerAtk] < 70 || AI_DATA->hpPercents[battlerDef] < 70) && AI_RandLessThan(100)) + if ((aiData->hpPercents[battlerAtk] < 70 || aiData->hpPercents[battlerDef] < 70) && AI_RandLessThan(100)) score--; if (gBattleMons[battlerDef].statStages[STAT_ACC] <= 4 && !AI_RandLessThan(80)) score -= 2; @@ -3491,26 +3462,26 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score++; if (gBattleMons[battlerDef].status2 & STATUS2_CURSED && !AI_RandLessThan(70)) score += 2; - if (AI_DATA->hpPercents[battlerAtk] > 70 || gBattleMons[battlerDef].statStages[STAT_ACC] < DEFAULT_STAT_STAGE) + if (aiData->hpPercents[battlerAtk] > 70 || gBattleMons[battlerDef].statStages[STAT_ACC] < DEFAULT_STAT_STAGE) break; - else if (AI_DATA->hpPercents[battlerAtk] < 40 || AI_DATA->hpPercents[battlerDef] < 40 || !AI_RandLessThan(70)) + else if (aiData->hpPercents[battlerAtk] < 40 || aiData->hpPercents[battlerDef] < 40 || !AI_RandLessThan(70)) score -= 2; break; case EFFECT_EVASION_DOWN: case EFFECT_EVASION_DOWN_2: - if (!ShouldLowerEvasion(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (!ShouldLowerEvasion(battlerAtk, battlerDef, aiData->abilities[battlerDef])) score -= 2; - if ((AI_DATA->hpPercents[battlerAtk] < 70 || gBattleMons[battlerDef].statStages[STAT_EVASION] <= 3) && !AI_RandLessThan(50)) + if ((aiData->hpPercents[battlerAtk] < 70 || gBattleMons[battlerDef].statStages[STAT_EVASION] <= 3) && !AI_RandLessThan(50)) score -= 2; - if (AI_DATA->hpPercents[battlerDef] <= 70) + if (aiData->hpPercents[battlerDef] <= 70) score -= 2; if (gBattleMons[battlerAtk].statStages[STAT_ACC] < DEFAULT_STAT_STAGE) score++; - if (gBattleMons[battlerDef].statStages[STAT_EVASION] < 7 || AI_DATA->abilities[battlerAtk] == ABILITY_NO_GUARD) + if (gBattleMons[battlerDef].statStages[STAT_EVASION] < 7 || aiData->abilities[battlerAtk] == ABILITY_NO_GUARD) score -= 2; break; case EFFECT_BIDE: - if (AI_DATA->hpPercents[battlerAtk] < 90) + if (aiData->hpPercents[battlerAtk] < 90) score -= 2; break; case EFFECT_DREAM_EATER: @@ -3526,7 +3497,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_GROWTH: case EFFECT_ATTACK_SPATK_UP: // work up - if (AI_DATA->hpPercents[battlerAtk] <= 40 || AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) + if (aiData->hpPercents[battlerAtk] <= 40 || aiData->abilities[battlerAtk] == ABILITY_CONTRARY) break; if (HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) @@ -3536,7 +3507,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_HAZE: if (AnyStatIsRaised(BATTLE_PARTNER(battlerAtk)) - || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) + || PartnerHasSameMoveEffectWithoutTarget(BATTLE_PARTNER(battlerAtk), move, aiData->partnerMove)) score -= 3; break; // fallthrough @@ -3549,9 +3520,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_MULTI_HIT: case EFFECT_TRIPLE_KICK: - if (AI_MoveMakesContact(AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk], move) - && AI_DATA->abilities[battlerAtk] != ABILITY_MAGIC_GUARD - && AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_ROCKY_HELMET) + if (AI_MoveMakesContact(aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk], move) + && aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD + && aiData->holdEffects[battlerDef] == HOLD_EFFECT_ROCKY_HELMET) score -= 2; break; case EFFECT_CONVERSION: @@ -3559,7 +3530,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score++; break; case EFFECT_FLINCH_HIT: - score += ShouldTryToFlinch(battlerAtk, battlerDef, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], move); + score += ShouldTryToFlinch(battlerAtk, battlerDef, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], move); break; case EFFECT_SWALLOW: if (gDisableStructs[battlerAtk].stockpileCounter == 0) @@ -3596,7 +3567,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_MOONLIGHT: if (ShouldRecover(battlerAtk, battlerDef, move, 50)) score += 3; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) score++; break; case EFFECT_TOXIC: @@ -3611,26 +3582,26 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (ShouldSetScreen(battlerAtk, battlerDef, moveEffect)) { score += 5; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_LIGHT_CLAY) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_LIGHT_CLAY) score += 2; if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_SCREENER) score += 2; } break; case EFFECT_REST: - if (!(AI_CanSleep(battlerAtk, AI_DATA->abilities[battlerAtk]))) + if (!(AI_CanSleep(battlerAtk, aiData->abilities[battlerAtk]))) { break; } else if (ShouldRecover(battlerAtk, battlerDef, move, 100)) { - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CURE_SLP - || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CURE_STATUS + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_CURE_SLP + || aiData->holdEffects[battlerAtk] == HOLD_EFFECT_CURE_STATUS || HasMoveEffect(EFFECT_SLEEP_TALK, battlerAtk) || HasMoveEffect(EFFECT_SNORE, battlerAtk) - || AI_DATA->abilities[battlerAtk] == ABILITY_SHED_SKIN - || AI_DATA->abilities[battlerAtk] == ABILITY_EARLY_BIRD - || (gBattleWeather & B_WEATHER_RAIN && gWishFutureKnock.weatherDuration != 1 && AI_DATA->abilities[battlerAtk] == ABILITY_HYDRATION && AI_DATA->holdEffects[battlerAtk] != HOLD_EFFECT_UTILITY_UMBRELLA)) + || aiData->abilities[battlerAtk] == ABILITY_SHED_SKIN + || aiData->abilities[battlerAtk] == ABILITY_EARLY_BIRD + || (AI_GetWeather(aiData) & B_WEATHER_RAIN && gWishFutureKnock.weatherDuration != 1 && aiData->abilities[battlerAtk] == ABILITY_HYDRATION && aiData->holdEffects[battlerAtk] != HOLD_EFFECT_UTILITY_UMBRELLA)) { score += 2; } @@ -3660,9 +3631,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_FOCUS_ENERGY: case EFFECT_LASER_FOCUS: - if (AI_DATA->abilities[battlerAtk] == ABILITY_SUPER_LUCK - || AI_DATA->abilities[battlerAtk] == ABILITY_SNIPER - || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_SCOPE_LENS + if (aiData->abilities[battlerAtk] == ABILITY_SUPER_LUCK + || aiData->abilities[battlerAtk] == ABILITY_SNIPER + || aiData->holdEffects[battlerAtk] == HOLD_EFFECT_SCOPE_LENS || HasHighCritRatioMove(battlerAtk)) score += 2; break; @@ -3686,7 +3657,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_SPECIAL_DEFENSE_DOWN_HIT: case EFFECT_ACCURACY_DOWN_HIT: case EFFECT_EVASION_DOWN_HIT: - if (sereneGraceBoost && AI_DATA->abilities[battlerDef] != ABILITY_CONTRARY) + if (sereneGraceBoost && aiData->abilities[battlerDef] != ABILITY_CONTRARY) score += 2; break; case EFFECT_SPEED_DOWN_HIT: @@ -3694,9 +3665,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score -= 2; else if (!AI_RandLessThan(70)) score++; - if (ShouldLowerSpeed(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (ShouldLowerSpeed(battlerAtk, battlerDef, aiData->abilities[battlerDef])) { - if (sereneGraceBoost && AI_DATA->abilities[battlerDef] != ABILITY_CONTRARY) + if (sereneGraceBoost && aiData->abilities[battlerDef] != ABILITY_CONTRARY) score += 5; else score += 2; @@ -3715,7 +3686,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score || HasMoveEffect(battlerDef, EFFECT_CONFUSE) || HasMoveEffect(battlerDef, EFFECT_LEECH_SEED)) score += 2; - if (!gBattleMons[battlerDef].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION && AI_DATA->hpPercents[battlerAtk] > 70)) + if (!gBattleMons[battlerDef].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION && aiData->hpPercents[battlerAtk] > 70)) score++; break; case EFFECT_MIMIC: @@ -3729,8 +3700,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) || gStatuses3[battlerDef] & STATUS3_LEECHSEED || HasMoveEffect(battlerDef, EFFECT_RAPID_SPIN) - || AI_DATA->abilities[battlerDef] == ABILITY_LIQUID_OOZE - || AI_DATA->abilities[battlerDef] == ABILITY_MAGIC_GUARD) + || aiData->abilities[battlerDef] == ABILITY_LIQUID_OOZE + || aiData->abilities[battlerDef] == ABILITY_MAGIC_GUARD) break; score += 3; if (!HasDamagingMove(battlerDef) || IsBattlerTrapped(battlerDef, FALSE)) @@ -3747,7 +3718,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_PARTING_SHOT: if (!IsDoubleBattle()) { - switch (ShouldPivot(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_THINKING_STRUCT->movesetIndex)) + switch (ShouldPivot(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, AI_THINKING_STRUCT->movesetIndex)) { case 0: // no score -= 10; // technically should go in CheckBadMove, but this is easier/less computationally demanding @@ -3777,7 +3748,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_DISABLE: if (gDisableStructs[battlerDef].disableTimer == 0 #if B_MENTAL_HERB >= GEN_5 - && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB // mental herb + && aiData->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB // mental herb #endif ) { @@ -3802,7 +3773,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_ENCORE: if (gDisableStructs[battlerDef].encoreTimer == 0 #if B_MENTAL_HERB >= GEN_5 - && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB // mental herb + && aiData->holdEffects[battlerDef] != HOLD_EFFECT_MENTAL_HERB // mental herb #endif ) { @@ -3814,7 +3785,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score { u16 newHp = (gBattleMons[battlerAtk].hp + gBattleMons[battlerDef].hp) / 2; u16 healthBenchmark = (gBattleMons[battlerAtk].hp * 12) / 10; - if (newHp > healthBenchmark && ShouldAbsorb(battlerAtk, battlerDef, move, AI_DATA->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex])) + if (newHp > healthBenchmark && ShouldAbsorb(battlerAtk, battlerDef, move, aiData->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex])) score += 2; } break; @@ -3826,15 +3797,15 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_LOCK_ON: if (HasMoveEffect(battlerAtk, EFFECT_OHKO)) score += 3; - else if (AI_DATA->abilities[battlerAtk] == ABILITY_COMPOUND_EYES && HasMoveWithLowAccuracy(battlerAtk, battlerDef, 80, TRUE, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef])) + else if (aiData->abilities[battlerAtk] == ABILITY_COMPOUND_EYES && HasMoveWithLowAccuracy(battlerAtk, battlerDef, 80, TRUE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef])) score += 3; - else if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 85, TRUE, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef])) + else if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 85, TRUE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef])) score += 3; - else if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, TRUE, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef])) + else if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, TRUE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef])) score++; break; case EFFECT_SPEED_UP_HIT: - if (sereneGraceBoost && AI_DATA->abilities[battlerDef] != ABILITY_CONTRARY && !AI_STRIKES_FIRST(battlerAtk, battlerDef, move)) + if (sereneGraceBoost && aiData->abilities[battlerDef] != ABILITY_CONTRARY && !AI_STRIKES_FIRST(battlerAtk, battlerDef, move)) score += 3; break; case EFFECT_DESTINY_BOND: @@ -3859,14 +3830,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER || GetBattlerSide(battlerAtk) == B_SIDE_PLAYER) canSteal = TRUE; - if (canSteal && AI_DATA->items[battlerAtk] == ITEM_NONE - && AI_DATA->items[battlerDef] != ITEM_NONE - && CanBattlerGetOrLoseItem(battlerDef, AI_DATA->items[battlerDef]) - && CanBattlerGetOrLoseItem(battlerAtk, AI_DATA->items[battlerDef]) + if (canSteal && aiData->items[battlerAtk] == ITEM_NONE + && aiData->items[battlerDef] != ITEM_NONE + && CanBattlerGetOrLoseItem(battlerDef, aiData->items[battlerDef]) + && CanBattlerGetOrLoseItem(battlerAtk, aiData->items[battlerDef]) && !HasMoveEffect(battlerAtk, EFFECT_ACROBATICS) - && AI_DATA->abilities[battlerDef] != ABILITY_STICKY_HOLD) + && aiData->abilities[battlerDef] != ABILITY_STICKY_HOLD) { - switch (AI_DATA->holdEffects[battlerDef]) + switch (aiData->holdEffects[battlerDef]) { case HOLD_EFFECT_NONE: break; @@ -3876,11 +3847,11 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 2; break; case HOLD_EFFECT_TOXIC_ORB: - if (ShouldPoisonSelf(battlerAtk, AI_DATA->abilities[battlerAtk])) + if (ShouldPoisonSelf(battlerAtk, aiData->abilities[battlerAtk])) score += 2; break; case HOLD_EFFECT_FLAME_ORB: - if (ShouldBurnSelf(battlerAtk, AI_DATA->abilities[battlerAtk])) + if (ShouldBurnSelf(battlerAtk, aiData->abilities[battlerAtk])) score += 2; break; case HOLD_EFFECT_BLACK_SLUDGE: @@ -3903,7 +3874,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_NIGHTMARE: - if (AI_DATA->abilities[battlerDef] != ABILITY_MAGIC_GUARD + if (aiData->abilities[battlerDef] != ABILITY_MAGIC_GUARD && !(gBattleMons[battlerDef].status2 & STATUS2_NIGHTMARE) && AI_IsBattlerAsleepOrComatose(battlerDef)) { @@ -3923,7 +3894,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } else { - if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY || AI_DATA->abilities[battlerDef] == ABILITY_MAGIC_GUARD) + if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY || aiData->abilities[battlerDef] == ABILITY_MAGIC_GUARD) break; else if (gBattleMons[battlerAtk].statStages[STAT_ATK] < 8) score += (8 - gBattleMons[battlerAtk].statStages[STAT_ATK]); @@ -3947,9 +3918,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score { ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); } - else if (isDoubleBattle && AI_GetBattlerMoveTargetType(BATTLE_PARTNER(battlerAtk), AI_DATA->partnerMove) & MOVE_TARGET_FOES_AND_ALLY) + else if (isDoubleBattle && AI_GetBattlerMoveTargetType(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) & MOVE_TARGET_FOES_AND_ALLY) { - if (AI_DATA->abilities[battlerAtk] != ABILITY_TELEPATHY) + if (aiData->abilities[battlerAtk] != ABILITY_TELEPATHY) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); } break; @@ -3964,9 +3935,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_KINGS_SHIELD: - if (AI_DATA->abilities[battlerAtk] == ABILITY_STANCE_CHANGE //Special logic for Aegislash + if (aiData->abilities[battlerAtk] == ABILITY_STANCE_CHANGE //Special logic for Aegislash && gBattleMons[battlerAtk].species == SPECIES_AEGISLASH_BLADE - && !IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef])) + && !IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef])) { score += 3; break; @@ -3981,7 +3952,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (CanTargetFaintAi(battlerDef, battlerAtk)) { if (gBattleMons[battlerAtk].hp > gBattleMons[battlerAtk].maxHP / 4 // Pinch berry couldn't have activated yet - && IsPinchBerryItemEffect(AI_DATA->holdEffects[battlerAtk])) + && IsPinchBerryItemEffect(aiData->holdEffects[battlerAtk])) { score += 3; } @@ -3998,14 +3969,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_STEALTH_ROCK: case EFFECT_STICKY_WEB: case EFFECT_TOXIC_SPIKES: - if (AI_DATA->abilities[battlerDef] == ABILITY_MAGIC_BOUNCE || CountUsablePartyMons(battlerDef) == 0) + if (aiData->abilities[battlerDef] == ABILITY_MAGIC_BOUNCE || CountUsablePartyMons(battlerDef) == 0) break; if (gDisableStructs[battlerAtk].isFirstTurn) score += 2; //TODO - track entire opponent party data to determine hazard effectiveness break; case EFFECT_FORESIGHT: - if (AI_DATA->abilities[battlerAtk] == ABILITY_SCRAPPY) + if (aiData->abilities[battlerAtk] == ABILITY_SCRAPPY) break; else if (gBattleMons[battlerDef].statStages[STAT_EVASION] > DEFAULT_STAT_STAGE || (IS_BATTLER_OF_TYPE(battlerDef, TYPE_GHOST) @@ -4023,10 +3994,10 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 3; break; case EFFECT_SANDSTORM: - if (ShouldSetSandstorm(battlerAtk, AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerAtk])) + if (ShouldSetSandstorm(battlerAtk, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerAtk])) { score++; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_SMOOTH_ROCK) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_SMOOTH_ROCK) score++; if (HasMoveEffect(battlerDef, EFFECT_MORNING_SUN) || HasMoveEffect(battlerDef, EFFECT_SYNTHESIS) @@ -4035,14 +4006,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_HAIL: - if (ShouldSetHail(battlerAtk, AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk])) + if (ShouldSetHail(battlerAtk, aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk])) { if ((HasMoveEffect(battlerAtk, EFFECT_AURORA_VEIL) || HasMoveEffect(BATTLE_PARTNER(battlerAtk), EFFECT_AURORA_VEIL)) && ShouldSetScreen(battlerAtk, battlerDef, EFFECT_AURORA_VEIL)) score += 3; score++; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_ICY_ROCK) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_ICY_ROCK) score++; if (HasMoveEffect(battlerDef, EFFECT_MORNING_SUN) || HasMoveEffect(battlerDef, EFFECT_SYNTHESIS) @@ -4051,14 +4022,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_SNOWSCAPE: - if (ShouldSetSnow(battlerAtk, AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk])) + if (ShouldSetSnow(battlerAtk, aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk])) { if ((HasMoveEffect(battlerAtk, EFFECT_AURORA_VEIL) || HasMoveEffect(BATTLE_PARTNER(battlerAtk), EFFECT_AURORA_VEIL)) && ShouldSetScreen(battlerAtk, battlerDef, EFFECT_AURORA_VEIL)) score += 3; score++; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_ICY_ROCK) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_ICY_ROCK) score++; if (HasMoveEffect(battlerDef, EFFECT_MORNING_SUN) || HasMoveEffect(battlerDef, EFFECT_SYNTHESIS) @@ -4067,10 +4038,10 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_RAIN_DANCE: - if (ShouldSetRain(battlerAtk, AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk])) + if (ShouldSetRain(battlerAtk, aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk])) { score++; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_DAMP_ROCK) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_DAMP_ROCK) score++; if (HasMoveEffect(battlerDef, EFFECT_MORNING_SUN) || HasMoveEffect(battlerDef, EFFECT_SYNTHESIS) @@ -4081,10 +4052,10 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_SUNNY_DAY: - if (ShouldSetSun(battlerAtk, AI_DATA->abilities[battlerAtk], AI_DATA->holdEffects[battlerAtk])) + if (ShouldSetSun(battlerAtk, aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk])) { score++; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_HEAT_ROCK) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_HEAT_ROCK) score++; if (HasMoveWithType(battlerDef, TYPE_WATER) || HasMoveWithType(BATTLE_PARTNER(battlerDef), TYPE_WATER)) score++; @@ -4102,7 +4073,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_FELL_STINGER: if (gBattleMons[battlerAtk].statStages[STAT_ATK] < MAX_STAT_STAGE - && AI_DATA->abilities[battlerAtk] != ABILITY_CONTRARY + && aiData->abilities[battlerAtk] != ABILITY_CONTRARY && CanIndexMoveFaintTarget(battlerAtk, battlerDef, AI_THINKING_STRUCT->movesetIndex, 0)) { if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) // Attacker goes first @@ -4112,7 +4083,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_BELLY_DRUM: - if (!CanTargetFaintAi(battlerDef, battlerAtk) && HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL) && AI_DATA->abilities[battlerAtk] != ABILITY_CONTRARY) + if (!CanTargetFaintAi(battlerDef, battlerAtk) && HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL) && aiData->abilities[battlerAtk] != ABILITY_CONTRARY) score += (MAX_STAT_STAGE - gBattleMons[battlerAtk].statStages[STAT_ATK]); break; case EFFECT_PSYCH_UP: @@ -4177,7 +4148,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_STOCKPILE: - if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) + if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) break; if (HasMoveEffect(battlerAtk, EFFECT_SWALLOW) || HasMoveEffect(battlerAtk, EFFECT_SPIT_UP)) @@ -4200,7 +4171,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score || HasMoveEffect(battlerAtk, EFFECT_SPECTRAL_THIEF)) score++; - if (AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) + if (aiData->abilities[battlerDef] == ABILITY_CONTRARY) score += 2; IncreaseConfusionScore(battlerAtk, battlerDef, move, &score); @@ -4210,17 +4181,17 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score || HasMoveEffect(battlerAtk, EFFECT_SPECTRAL_THIEF)) score += 2; - if (AI_DATA->abilities[battlerDef] == ABILITY_CONTRARY) + if (aiData->abilities[battlerDef] == ABILITY_CONTRARY) score += 2; IncreaseConfusionScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_FURY_CUTTER: - if (!isDoubleBattle && AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_METRONOME) + if (!isDoubleBattle && aiData->holdEffects[battlerAtk] == HOLD_EFFECT_METRONOME) score += 3; break; case EFFECT_ATTRACT: - if (!isDoubleBattle && BattlerWillFaintFromSecondaryDamage(battlerDef, AI_DATA->abilities[battlerDef]) + if (!isDoubleBattle && BattlerWillFaintFromSecondaryDamage(battlerDef, aiData->abilities[battlerDef]) && AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER) // Target goes first break; // Don't use if the attract won't have a change to activate @@ -4265,16 +4236,16 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score { if (isDoubleBattle) { - if (IsHazardMoveEffect(gBattleMoves[AI_DATA->partnerMove].effect) // Partner is going to set up hazards + if (IsHazardMoveEffect(gBattleMoves[aiData->partnerMove].effect) // Partner is going to set up hazards && AI_WhoStrikesFirst(battlerAtk, BATTLE_PARTNER(battlerAtk), move) == AI_IS_SLOWER) // Partner going first break; // Don't use Defog if partner is going to set up hazards } // check defog lowering evasion - if (ShouldLowerEvasion(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + if (ShouldLowerEvasion(battlerAtk, battlerDef, aiData->abilities[battlerDef])) { if (gBattleMons[battlerDef].statStages[STAT_EVASION] > 7 - || HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, TRUE, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef])) + || HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, TRUE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef])) score += 2; // encourage lowering evasion if they are evasive or we have a move with low accuracy else score++; @@ -4296,8 +4267,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_FOLLOW_ME: if (isDoubleBattle && move != MOVE_SPOTLIGHT - && !IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef]) - && (move != MOVE_RAGE_POWDER || IsAffectedByPowder(battlerDef, AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerDef])) // Rage Powder doesn't affect powder immunities + && !IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef]) + && (move != MOVE_RAGE_POWDER || IsAffectedByPowder(battlerDef, aiData->abilities[battlerDef], aiData->holdEffects[battlerDef])) // Rage Powder doesn't affect powder immunities && IsBattlerAlive(BATTLE_PARTNER(battlerAtk))) { u16 predictedMoveOnPartner = gLastMoves[BATTLE_PARTNER(battlerAtk)]; @@ -4322,7 +4293,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_TRICK: case EFFECT_BESTOW: - switch (AI_DATA->holdEffects[battlerAtk]) + switch (aiData->holdEffects[battlerAtk]) { case HOLD_EFFECT_CHOICE_SCARF: score += 2; // assume its beneficial @@ -4336,15 +4307,15 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 2; break; case HOLD_EFFECT_TOXIC_ORB: - if (!ShouldPoisonSelf(battlerAtk, AI_DATA->abilities[battlerAtk])) + if (!ShouldPoisonSelf(battlerAtk, aiData->abilities[battlerAtk])) score += 2; break; case HOLD_EFFECT_FLAME_ORB: - if (!ShouldBurnSelf(battlerAtk, AI_DATA->abilities[battlerAtk]) && AI_CanBeBurned(battlerAtk, AI_DATA->abilities[battlerDef])) + if (!ShouldBurnSelf(battlerAtk, aiData->abilities[battlerAtk]) && AI_CanBeBurned(battlerAtk, aiData->abilities[battlerDef])) score += 2; break; case HOLD_EFFECT_BLACK_SLUDGE: - if (!IS_BATTLER_OF_TYPE(battlerDef, TYPE_POISON) && AI_DATA->abilities[battlerDef] != ABILITY_MAGIC_GUARD) + if (!IS_BATTLER_OF_TYPE(battlerDef, TYPE_POISON) && aiData->abilities[battlerDef] != ABILITY_MAGIC_GUARD) score += 3; break; case HOLD_EFFECT_IRON_BALL: @@ -4356,17 +4327,17 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 3; break; case HOLD_EFFECT_UTILITY_UMBRELLA: - if (AI_DATA->abilities[battlerAtk] != ABILITY_SOLAR_POWER && AI_DATA->abilities[battlerAtk] != ABILITY_DRY_SKIN) + if (aiData->abilities[battlerAtk] != ABILITY_SOLAR_POWER && aiData->abilities[battlerAtk] != ABILITY_DRY_SKIN) { - switch (AI_DATA->abilities[battlerDef]) + switch (aiData->abilities[battlerDef]) { case ABILITY_SWIFT_SWIM: - if (AI_GetWeather(AI_DATA) & B_WEATHER_RAIN) + if (AI_GetWeather(aiData) & B_WEATHER_RAIN) score += 3; // Slow 'em down break; case ABILITY_CHLOROPHYLL: case ABILITY_FLOWER_GIFT: - if (AI_GetWeather(AI_DATA) & B_WEATHER_SUN) + if (AI_GetWeather(aiData) & B_WEATHER_SUN) score += 3; // Slow 'em down break; } @@ -4379,22 +4350,22 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 2; // Force 'em out next turn break; default: - if (move != MOVE_BESTOW && AI_DATA->items[battlerAtk] == ITEM_NONE) + if (move != MOVE_BESTOW && aiData->items[battlerAtk] == ITEM_NONE) { - switch (AI_DATA->holdEffects[battlerDef]) + switch (aiData->holdEffects[battlerDef]) { case HOLD_EFFECT_CHOICE_BAND: break; case HOLD_EFFECT_TOXIC_ORB: - if (ShouldPoisonSelf(battlerAtk, AI_DATA->abilities[battlerAtk])) + if (ShouldPoisonSelf(battlerAtk, aiData->abilities[battlerAtk])) score += 2; break; case HOLD_EFFECT_FLAME_ORB: - if (ShouldBurnSelf(battlerAtk, AI_DATA->abilities[battlerAtk])) + if (ShouldBurnSelf(battlerAtk, aiData->abilities[battlerAtk])) score += 2; break; case HOLD_EFFECT_BLACK_SLUDGE: - if (IS_BATTLER_OF_TYPE(battlerAtk, TYPE_POISON) || AI_DATA->abilities[battlerAtk] == ABILITY_MAGIC_GUARD) + if (IS_BATTLER_OF_TYPE(battlerAtk, TYPE_POISON) || aiData->abilities[battlerAtk] == ABILITY_MAGIC_GUARD) score += 3; break; case HOLD_EFFECT_IRON_BALL: @@ -4412,14 +4383,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_ROLE_PLAY: - if (!IsRolePlayBannedAbilityAtk(AI_DATA->abilities[battlerAtk]) - && !IsRolePlayBannedAbility(AI_DATA->abilities[battlerDef]) - && !IsAbilityOfRating(AI_DATA->abilities[battlerAtk], 5) - && IsAbilityOfRating(AI_DATA->abilities[battlerDef], 5)) + if (!IsRolePlayBannedAbilityAtk(aiData->abilities[battlerAtk]) + && !IsRolePlayBannedAbility(aiData->abilities[battlerDef]) + && !IsAbilityOfRating(aiData->abilities[battlerAtk], 5) + && IsAbilityOfRating(aiData->abilities[battlerDef], 5)) score += 2; break; case EFFECT_INGRAIN: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_BIG_ROOT) score += 3; else score++; @@ -4427,7 +4398,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_SUPERPOWER: case EFFECT_OVERHEAT: case EFFECT_MAKE_IT_RAIN: - if (AI_DATA->abilities[battlerAtk] == ABILITY_CONTRARY) + if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) score += 3; break; case EFFECT_MAGIC_COAT: @@ -4439,12 +4410,12 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score++; if (IsRecycleEncouragedItem(GetUsedHeldItem(battlerAtk))) score++; - if (AI_DATA->abilities[battlerAtk] == ABILITY_RIPEN) + if (aiData->abilities[battlerAtk] == ABILITY_RIPEN) { u16 item = GetUsedHeldItem(battlerAtk); u16 toHeal = (ItemId_GetHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / ItemId_GetHoldEffectParam(item); - if (IsStatBoostingBerry(item) && AI_DATA->hpPercents[battlerAtk] > 60) + if (IsStatBoostingBerry(item) && aiData->hpPercents[battlerAtk] > 60) score++; else if (ShouldRestoreHpBerry(battlerAtk, item) && !CanAIFaintTarget(battlerAtk, battlerDef, 0) && ((GetWhichBattlerFaster(battlerAtk, battlerDef, TRUE) == 0 && CanTargetFaintAiWithMod(battlerDef, battlerAtk, 0, 0)) @@ -4461,9 +4432,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score++; break; case EFFECT_KNOCK_OFF: - if (CanKnockOffItem(battlerDef, AI_DATA->items[battlerDef])) + if (CanKnockOffItem(battlerDef, aiData->items[battlerDef])) { - switch (AI_DATA->holdEffects[battlerDef]) + switch (aiData->holdEffects[battlerDef]) { case HOLD_EFFECT_IRON_BALL: if (HasMoveEffect(battlerDef, EFFECT_FLING)) @@ -4479,19 +4450,19 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_SKILL_SWAP: - if (GetAbilityRating(AI_DATA->abilities[battlerDef]) > GetAbilityRating(AI_DATA->abilities[battlerAtk])) + if (GetAbilityRating(aiData->abilities[battlerDef]) > GetAbilityRating(aiData->abilities[battlerAtk])) score++; break; case EFFECT_WORRY_SEED: case EFFECT_GASTRO_ACID: case EFFECT_SIMPLE_BEAM: - if (IsAbilityOfRating(AI_DATA->abilities[battlerDef], 5)) + if (IsAbilityOfRating(aiData->abilities[battlerDef], 5)) score += 2; break; case EFFECT_ENTRAINMENT: - if (IsAbilityOfRating(AI_DATA->abilities[battlerDef], 5) || GetAbilityRating(AI_DATA->abilities[battlerAtk]) <= 0) + if (IsAbilityOfRating(aiData->abilities[battlerDef], 5) || GetAbilityRating(aiData->abilities[battlerAtk]) <= 0) { - if (AI_DATA->abilities[battlerDef] != AI_DATA->abilities[battlerAtk] && !(gStatuses3[battlerDef] & STATUS3_GASTRO_ACID)) + if (aiData->abilities[battlerDef] != aiData->abilities[battlerAtk] && !(gStatuses3[battlerDef] & STATUS3_GASTRO_ACID)) score += 2; } break; @@ -4507,8 +4478,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_TAKE_HEART: if (gBattleMons[battlerAtk].status1 & STATUS1_ANY - || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPATK) - || BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) + || BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPATK) + || BattlerStatCanRise(battlerAtk, aiData->abilities[battlerAtk], STAT_SPDEF)) score += 2; break; case EFFECT_PSYCHO_SHIFT: @@ -4539,11 +4510,11 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_TICKLE: if (gBattleMons[battlerDef].statStages[STAT_DEF] > 4 && HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL) - && AI_DATA->abilities[battlerDef] != ABILITY_CONTRARY && ShouldLowerDefense(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + && aiData->abilities[battlerDef] != ABILITY_CONTRARY && ShouldLowerDefense(battlerAtk, battlerDef, aiData->abilities[battlerDef])) { score += 2; } - else if (ShouldLowerAttack(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef])) + else if (ShouldLowerAttack(battlerAtk, battlerDef, aiData->abilities[battlerDef])) { score += 2; } @@ -4561,7 +4532,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPDEF, &score); break; case EFFECT_GEOMANCY: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB) score += 3; //fallthrough case EFFECT_QUIVER_DANCE: @@ -4575,7 +4546,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score IncreaseStatUpScore(battlerAtk, battlerDef, STAT_DEF, &score); break; case EFFECT_SHELL_SMASH: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_RESTORE_STATS) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_RESTORE_STATS) score += 1; IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPEED, &score); @@ -4653,15 +4624,15 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_BUG_BITE: // And pluck - if (gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE || AI_DATA->abilities[battlerDef] == ABILITY_STICKY_HOLD) + if (gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD) break; - else if (ItemId_GetPocket(AI_DATA->items[battlerDef]) == POCKET_BERRIES) + else if (ItemId_GetPocket(aiData->items[battlerDef]) == POCKET_BERRIES) score += 3; break; case EFFECT_INCINERATE: - if (gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE || AI_DATA->abilities[battlerDef] == ABILITY_STICKY_HOLD) + if (gBattleMons[battlerDef].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD) break; - else if (ItemId_GetPocket(AI_DATA->items[battlerDef]) == POCKET_BERRIES || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_GEMS) + else if (ItemId_GetPocket(aiData->items[battlerDef]) == POCKET_BERRIES || aiData->holdEffects[battlerDef] == HOLD_EFFECT_GEMS) score += 3; break; case EFFECT_SMACK_DOWN: @@ -4685,7 +4656,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_GRASSY_TERRAIN: case EFFECT_PSYCHIC_TERRAIN: score += 2; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_TERRAIN_EXTENDER) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_TERRAIN_EXTENDER) score += 2; break; case EFFECT_PLEDGE: @@ -4703,9 +4674,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_MAGIC_ROOM: score++; - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_NONE && AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_NONE) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_NONE && aiData->holdEffects[battlerDef] != HOLD_EFFECT_NONE) score++; - if (isDoubleBattle && AI_DATA->holdEffects[BATTLE_PARTNER(battlerAtk)] == HOLD_EFFECT_NONE && AI_DATA->holdEffects[BATTLE_PARTNER(battlerDef)] != HOLD_EFFECT_NONE) + if (isDoubleBattle && aiData->holdEffects[BATTLE_PARTNER(battlerAtk)] == HOLD_EFFECT_NONE && aiData->holdEffects[BATTLE_PARTNER(battlerDef)] != HOLD_EFFECT_NONE) score++; break; case EFFECT_WONDER_ROOM: @@ -4718,28 +4689,28 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score { if (HasSleepMoveWithLowAccuracy(battlerAtk, battlerDef)) // Has Gravity for a move like Hypnosis IncreaseSleepScore(battlerAtk, battlerDef, move, &score); - else if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, FALSE, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef])) + else if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, FALSE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef])) score += 2; else score++; } break; case EFFECT_ION_DELUGE: - if ((AI_DATA->abilities[battlerAtk] == ABILITY_VOLT_ABSORB - || AI_DATA->abilities[battlerAtk] == ABILITY_MOTOR_DRIVE - || AI_DATA->abilities[battlerAtk] == ABILITY_LIGHTNING_ROD) + if ((aiData->abilities[battlerAtk] == ABILITY_VOLT_ABSORB + || aiData->abilities[battlerAtk] == ABILITY_MOTOR_DRIVE + || aiData->abilities[battlerAtk] == ABILITY_LIGHTNING_ROD) && gBattleMoves[predictedMove].type == TYPE_NORMAL) score += 2; break; case EFFECT_FLING: /* TODO - switch (gFlingTable[AI_DATA->items[battlerAtk]].effect) + switch (gFlingTable[aiData->items[battlerAtk]].effect) { case MOVE_EFFECT_BURN: IncreaseBurnScore(battlerAtk, battlerDef, move, &score); break; case MOVE_EFFECT_FLINCH: - score += ShouldTryToFlinch(battlerAtk, battlerDef, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], move); + score += ShouldTryToFlinch(battlerAtk, battlerDef, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], move); break; case MOVE_EFFECT_PARALYSIS: IncreaseParalyzeScore(battlerAtk, battlerDef, move, &score); @@ -4759,7 +4730,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 3; break; case EFFECT_EMBARGO: - if (AI_DATA->holdEffects[battlerDef] != HOLD_EFFECT_NONE) + if (aiData->holdEffects[battlerDef] != HOLD_EFFECT_NONE) score++; break; case EFFECT_POWDER: @@ -4767,7 +4738,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 3; break; case EFFECT_TELEKINESIS: - if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, FALSE, AI_DATA->abilities[battlerAtk], AI_DATA->abilities[battlerDef], AI_DATA->holdEffects[battlerAtk], AI_DATA->holdEffects[battlerDef]) + if (HasMoveWithLowAccuracy(battlerAtk, battlerDef, 90, FALSE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef]) || !IsBattlerGrounded(battlerDef)) score++; break; @@ -4780,8 +4751,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_HEAL_BLOCK: if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER && predictedMove != MOVE_NONE && IsHealingMoveEffect(gBattleMoves[predictedMove].effect)) score += 3; // Try to cancel healing move - else if (HasHealingEffect(battlerDef) || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_LEFTOVERS - || (AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_BLACK_SLUDGE && IS_BATTLER_OF_TYPE(battlerDef, TYPE_POISON))) + else if (HasHealingEffect(battlerDef) || aiData->holdEffects[battlerDef] == HOLD_EFFECT_LEFTOVERS + || (aiData->holdEffects[battlerDef] == HOLD_EFFECT_BLACK_SLUDGE && IS_BATTLER_OF_TYPE(battlerDef, TYPE_POISON))) score += 2; break; case EFFECT_SOAK: @@ -4789,14 +4760,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score score += 2; // Get some super effective moves break; case EFFECT_THIRD_TYPE: - if (AI_DATA->abilities[battlerDef] == ABILITY_WONDER_GUARD) + if (aiData->abilities[battlerDef] == ABILITY_WONDER_GUARD) score += 2; // Give target more weaknesses break; case EFFECT_ELECTRIFY: if (predictedMove != MOVE_NONE - && (AI_DATA->abilities[battlerAtk] == ABILITY_VOLT_ABSORB - || AI_DATA->abilities[battlerAtk] == ABILITY_MOTOR_DRIVE - || AI_DATA->abilities[battlerAtk] == ABILITY_LIGHTNING_ROD)) + && (aiData->abilities[battlerAtk] == ABILITY_VOLT_ABSORB + || aiData->abilities[battlerAtk] == ABILITY_MOTOR_DRIVE + || aiData->abilities[battlerAtk] == ABILITY_LIGHTNING_ROD)) { score += 3; } @@ -4814,7 +4785,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score break; case EFFECT_QUASH: if (isDoubleBattle - && AI_WhoStrikesFirst(BATTLE_PARTNER(battlerAtk), battlerDef, AI_DATA->partnerMove) == AI_IS_SLOWER) // Attacker partner wouldn't go before target + && AI_WhoStrikesFirst(BATTLE_PARTNER(battlerAtk), battlerDef, aiData->partnerMove) == AI_IS_SLOWER) // Attacker partner wouldn't go before target score++; break; case EFFECT_TAILWIND: @@ -4859,8 +4830,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score if (isDoubleBattle) { if (IsBattlerAlive(BATTLE_PARTNER(battlerDef)) - && AI_DATA->hpPercents[BATTLE_PARTNER(battlerDef)] < 12 - && AI_DATA->abilities[BATTLE_PARTNER(battlerDef)] != ABILITY_MAGIC_GUARD + && aiData->hpPercents[BATTLE_PARTNER(battlerDef)] < 12 + && aiData->abilities[BATTLE_PARTNER(battlerDef)] != ABILITY_MAGIC_GUARD && !IS_BATTLER_OF_TYPE(BATTLE_PARTNER(battlerDef), TYPE_FIRE)) score++; } @@ -4872,11 +4843,11 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_TWO_TURNS_ATTACK: case EFFECT_SKULL_BASH: case EFFECT_SOLAR_BEAM: - if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB) + if (aiData->holdEffects[battlerAtk] == HOLD_EFFECT_POWER_HERB) score += 2; break; case EFFECT_COUNTER: - if (!IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef]) && predictedMove != MOVE_NONE) + if (!IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef]) && predictedMove != MOVE_NONE) { if (gDisableStructs[battlerDef].tauntTimer != 0) score++; // target must use damaging move @@ -4885,7 +4856,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } break; case EFFECT_MIRROR_COAT: - if (!IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef]) && predictedMove != MOVE_NONE) + if (!IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef]) && predictedMove != MOVE_NONE) { if (gDisableStructs[battlerDef].tauntTimer != 0) score++; // target must use damaging move @@ -4896,14 +4867,14 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_FLAIL: if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_FASTER) // Ai goes first { - if (AI_DATA->hpPercents[battlerAtk] < 20) + if (aiData->hpPercents[battlerAtk] < 20) score++; - else if (AI_DATA->hpPercents[battlerAtk] < 8) + else if (aiData->hpPercents[battlerAtk] < 8) score += 2; } break; case EFFECT_SHORE_UP: - if ((AI_GetWeather(AI_DATA) & B_WEATHER_SANDSTORM) + if ((AI_GetWeather(aiData) & B_WEATHER_SANDSTORM) && ShouldRecover(battlerAtk, battlerDef, move, 67)) score += 3; else if (ShouldRecover(battlerAtk, battlerDef, move, 50)) @@ -4916,7 +4887,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_FOCUS_PUNCH: if (!isDoubleBattle && effectiveness > AI_EFFECTIVENESS_x0_5) { - if (IsBattlerIncapacitated(battlerDef, AI_DATA->abilities[battlerDef])) + if (IsBattlerIncapacitated(battlerDef, aiData->abilities[battlerDef])) score += 2; else if (gBattleMons[battlerDef].status2 & (STATUS2_INFATUATION | STATUS2_CONFUSION)) score++; @@ -4938,10 +4909,10 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score case EFFECT_ENDEAVOR: if (AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER) // Opponent faster { - if (AI_DATA->hpPercents[battlerAtk] < 40) + if (aiData->hpPercents[battlerAtk] < 40) score++; } - else if (AI_DATA->hpPercents[battlerAtk] < 50) + else if (aiData->hpPercents[battlerAtk] < 50) { score++; } @@ -4971,7 +4942,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } // Effects that are encouraged on the first turn of battle -static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { if (IS_TARGETING_PARTNER(battlerAtk, battlerDef) || gBattleResults.battleTurnCounter != 0) @@ -5082,7 +5053,7 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u16 move, s32 score } // Adds score bonus to 'riskier' move effects and high crit moves -static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; @@ -5121,7 +5092,7 @@ static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } // Adds score bonus to best powered move -static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; @@ -5133,7 +5104,7 @@ static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u16 move, s32 } // Prefers moves that are good for baton pass -static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u32 i; @@ -5188,7 +5159,7 @@ static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u16 move, s32 scor return score; } -static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u16 effect = gBattleMoves[move].effect; u8 moveType = gBattleMoves[move].type; @@ -5391,7 +5362,7 @@ static void AI_Watch(void) } // Roaming pokemon logic -static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { if (IsBattlerTrapped(battlerAtk, FALSE)) return score; @@ -5401,7 +5372,7 @@ static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } // Safari pokemon logic -static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. @@ -5414,7 +5385,7 @@ static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) } // First battle logic -static s32 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u16 move, s32 score) +static s32 AI_FirstBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { if (AI_DATA->hpPercents[battlerDef] <= 20) AI_Flee(); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 5b9a42d9a9..cb7e5c41ea 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -777,7 +777,6 @@ s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *type s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather) { s32 dmg, moveType, critDmg, normalDmg, fixedBasePower, n; - s8 critChance; uq4_12_t effectivenessMultiplier; SetBattlerData(battlerAtk); @@ -801,7 +800,10 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); if (gBattleMoves[move].power) { - ProteanTryChangeType(battlerAtk, AI_DATA->abilities[battlerAtk], move, moveType); + s32 critChance; + struct AiLogicData *aiData = AI_DATA; + + ProteanTryChangeType(battlerAtk, aiData->abilities[battlerAtk], move, moveType); critChance = GetInverseCritChance(battlerAtk, battlerDef, move); // Certain moves like Rollout calculate damage based on values which change during the move execution, but before calling dmg calc. switch (gBattleMoves[move].effect) @@ -817,13 +819,19 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes fixedBasePower = 0; break; } - normalDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, FALSE, weather); - critDmg = CalculateMoveDamageWithEffectiveness(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, TRUE, weather); + normalDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, + effectivenessMultiplier, weather, FALSE, + aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], + aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); + critDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, + effectivenessMultiplier, weather, TRUE, + aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], + aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); if (critChance == -1) dmg = normalDmg; else - dmg = (critDmg + normalDmg * (critChance - 1)) / critChance; + dmg = (critDmg + normalDmg * (critChance - 1)) / (critChance); if (!gBattleStruct->zmove.active) { @@ -832,23 +840,23 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes { case EFFECT_LEVEL_DAMAGE: case EFFECT_PSYWAVE: - dmg = gBattleMons[battlerAtk].level * (AI_DATA->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); + dmg = gBattleMons[battlerAtk].level * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); break; case EFFECT_DRAGON_RAGE: - dmg = 40 * (AI_DATA->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); + dmg = 40 * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); break; case EFFECT_SONICBOOM: - dmg = 20 * (AI_DATA->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); + dmg = 20 * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); break; case EFFECT_MULTI_HIT: - dmg *= (AI_DATA->abilities[battlerAtk] == ABILITY_SKILL_LINK ? 5 : 3); + dmg *= (aiData->abilities[battlerAtk] == ABILITY_SKILL_LINK ? 5 : 3); break; case EFFECT_ENDEAVOR: // If target has less HP than user, Endeavor does no damage dmg = max(0, gBattleMons[battlerDef].hp - gBattleMons[battlerAtk].hp); break; case EFFECT_SUPER_FANG: - dmg = (AI_DATA->abilities[battlerAtk] == ABILITY_PARENTAL_BOND + dmg = (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? max(2, gBattleMons[battlerDef].hp * 3 / 4) : max(1, gBattleMons[battlerDef].hp / 2)); break; @@ -1565,7 +1573,7 @@ bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbil { u16 odds = accuracy + (gBattleMons[battlerAtk].level - gBattleMons[battlerDef].level); #if B_SHEER_COLD_ACC >= GEN_7 - if (gCurrentMove == MOVE_SHEER_COLD && !IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ICE)) + if (move == MOVE_SHEER_COLD && !IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ICE)) odds -= 10; #endif if (Random() % 100 + 1 < odds && gBattleMons[battlerAtk].level >= gBattleMons[battlerDef].level) @@ -2808,17 +2816,17 @@ bool32 AI_CanPutToSleep(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move return TRUE; } -static bool32 AI_CanPoisonType(u32 battlerAttacker, u32 battlerTarget) +static bool32 AI_CanPoisonType(u32 battlerAttacker, u32 battlerTarget, u32 move) { - return ((AI_DATA->abilities[battlerAttacker] == ABILITY_CORROSION && gBattleMoves[gCurrentMove].split == SPLIT_STATUS) + return ((AI_DATA->abilities[battlerAttacker] == ABILITY_CORROSION && gBattleMoves[move].split == SPLIT_STATUS) || !(IS_BATTLER_OF_TYPE(battlerTarget, TYPE_POISON) || IS_BATTLER_OF_TYPE(battlerTarget, TYPE_STEEL))); } -static bool32 AI_CanBePoisoned(u32 battlerAtk, u32 battlerDef) +static bool32 AI_CanBePoisoned(u32 battlerAtk, u32 battlerDef, u32 move) { u32 ability = AI_DATA->abilities[battlerDef]; - if (!(AI_CanPoisonType(battlerAtk, battlerDef)) + if (!(AI_CanPoisonType(battlerAtk, battlerDef, move)) || gSideStatuses[GetBattlerSide(battlerDef)] & SIDE_STATUS_SAFEGUARD || gBattleMons[battlerDef].status1 & STATUS1_ANY || ability == ABILITY_IMMUNITY @@ -2833,7 +2841,7 @@ static bool32 AI_CanBePoisoned(u32 battlerAtk, u32 battlerDef) bool32 ShouldPoisonSelf(u32 battler, u32 ability) { - if (AI_CanBePoisoned(battler, battler) && ( + if (AI_CanBePoisoned(battler, battler, 0) && ( ability == ABILITY_MARVEL_SCALE || ability == ABILITY_POISON_HEAL || ability == ABILITY_QUICK_FEET @@ -2848,7 +2856,7 @@ bool32 ShouldPoisonSelf(u32 battler, u32 ability) bool32 AI_CanPoison(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 partnerMove) { - if (!AI_CanBePoisoned(battlerAtk, battlerDef) + if (!AI_CanBePoisoned(battlerAtk, battlerDef, move) || AI_GetMoveEffectiveness(move, battlerAtk, battlerDef) == AI_EFFECTIVENESS_x0 || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) || PartnerMoveEffectIsStatusSameTarget(BATTLE_PARTNER(battlerAtk), battlerDef, partnerMove)) diff --git a/src/battle_main.c b/src/battle_main.c index c4e3fa6b0e..b2143513e8 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4071,7 +4071,7 @@ static void HandleTurnActionSelectionState(void) gBattleCommunication[ACTIONS_CONFIRMED_COUNT] = 0; for (battler = 0; battler < gBattlersCount; battler++) { - u8 position = GetBattlerPosition(battler); + u32 position = GetBattlerPosition(battler); switch (gBattleCommunication[battler]) { case STATE_TURN_START_RECORD: // Recorded battle related action on start of every turn. @@ -4084,7 +4084,7 @@ static void HandleTurnActionSelectionState(void) { gBattleStruct->aiMoveOrAction[battler] = ComputeBattleAiScores(battler); } - break; + // fallthrough case STATE_BEFORE_ACTION_CHOSEN: // Choose an action. *(gBattleStruct->monToSwitchIntoId + battler) = PARTY_SIZE; if (gBattleTypeFlags & BATTLE_TYPE_MULTI diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index be4cbfb625..f98a66ad17 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1952,10 +1952,10 @@ s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordA } #undef BENEFITS_FROM_LEEK -s8 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move) +s32 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move) { s32 critChanceIndex = CalcCritChanceStage(battlerAtk, battlerDef, move, FALSE); - if(critChanceIndex < 0) + if (critChanceIndex < 0) return -1; else return sCriticalHitChance[critChanceIndex]; diff --git a/src/battle_util.c b/src/battle_util.c index 380aec8012..bdee81d72d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9758,19 +9758,13 @@ static inline uq4_12_t GetOtherModifiers(u32 move, u32 moveType, u32 battlerAtk, dmg = uq4_12_multiply_by_int_half_down(modifier, dmg); \ } while (0) -static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, - bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather) +static inline s32 DoMoveDamageCalcVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, + bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather, + u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef) { s32 dmg; u32 userFinalAttack; u32 targetFinalDefense; - u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); - u32 holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); - u32 abilityAtk = GetBattlerAbility(battlerAtk); - u32 abilityDef = GetBattlerAbility(battlerDef); - - if (typeEffectivenessModifier == UQ_4_12(0.0)) - return 0; if (fixedBasePower) gBattleMovePower = fixedBasePower; @@ -9803,6 +9797,23 @@ static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 return dmg; } +static inline s32 DoMoveDamageCalc(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, + bool32 isCrit, bool32 randomFactor, bool32 updateFlags, uq4_12_t typeEffectivenessModifier, u32 weather) +{ + u32 holdEffectAtk, holdEffectDef, abilityAtk, abilityDef; + + if (typeEffectivenessModifier == UQ_4_12(0.0)) + return 0; + + holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); + holdEffectDef = GetBattlerHoldEffect(battlerDef, TRUE); + abilityAtk = GetBattlerAbility(battlerAtk); + abilityDef = GetBattlerAbility(battlerDef); + + return DoMoveDamageCalcVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, + updateFlags, typeEffectivenessModifier, weather, holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); +} + #undef DAMAGE_APPLY_MODIFIER static u32 GetWeather(void) @@ -9819,10 +9830,12 @@ s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, updateFlags), GetWeather()); } -// for AI so that typeEffectivenessModifier is calculated only once -s32 CalculateMoveDamageWithEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, bool32 isCrit, u32 weather) +// for AI so that typeEffectivenessModifier, weather, abilities and holdEffects are calculated only once +s32 CalculateMoveDamageVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, + u32 weather, bool32 isCrit, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef) { - return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, FALSE, FALSE, typeEffectivenessModifier, weather); + return DoMoveDamageCalcVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, FALSE, FALSE, + typeEffectivenessModifier, weather, holdEffectAtk, holdEffectDef, abilityAtk, abilityDef); } static inline void MulByTypeEffectiveness(uq4_12_t *modifier, u32 move, u32 moveType, u32 battlerDef, u32 defType, u32 battlerAtk, bool32 recordAbilities) From bb9501449c6998c274f18b057bdf78d800a701d2 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 14 Sep 2023 11:05:00 +0200 Subject: [PATCH 234/256] final ai optimizations --- include/battle_ai_util.h | 4 +- include/battle_main.h | 4 +- include/battle_script_commands.h | 3 +- include/battle_util.h | 2 +- src/battle_ai_main.c | 7 +-- src/battle_ai_util.c | 85 ++++++++++---------------------- src/battle_main.c | 15 +++--- src/battle_script_commands.c | 60 ++++++++++++---------- src/battle_util.c | 8 +-- 9 files changed, 79 insertions(+), 109 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index e3bd6cd518..b2dbd6d843 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -32,10 +32,10 @@ u32 GetHealthPercentage(u32 battler); bool32 IsBattlerTrapped(u32 battler, bool32 switching); u32 AI_WhoStrikesFirst(u32 battlerAI, u32 battler2, u32 moveConsidered); bool32 CanTargetFaintAi(u32 battlerDef, u32 battlerAtk); -bool32 CanMoveFaintBattler(u32 move, u32 battlerDef, u32 battlerAtk, u32 nHits); +bool32 CanTargetMoveFaintAi(u32 move, u32 battlerDef, u32 battlerAtk, u32 nHits); bool32 CanTargetFaintAiWithMod(u32 battlerDef, u32 battlerAtk, s32 hpMod, s32 dmgMod); s32 AI_GetAbility(u32 battlerId); -u16 AI_GetHoldEffect(u32 battlerId); +u32 AI_GetHoldEffect(u32 battlerId); u32 AI_GetMoveAccuracy(u32 battlerAtk, u32 battlerDef, u32 move); bool32 DoesBattlerIgnoreAbilityChecks(u32 atkAbility, u32 move); u32 AI_GetWeather(struct AiLogicData *aiData); diff --git a/include/battle_main.h b/include/battle_main.h index 5d1fe6bbfa..91e9fd90eb 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -57,7 +57,7 @@ void SwitchInClearSetData(u32 battler); void FaintClearSetData(u32 battler); void BattleTurnPassed(void); u8 IsRunningFromBattleImpossible(u32 battler); -void SwitchPartyOrder(u8 battlerId); +void SwitchPartyOrder(u32 battlerId); void SwapTurnOrder(u8 id1, u8 id2); u32 GetBattlerTotalSpeedStatArgs(u32 battler, u32 ability, u32 holdEffect); u32 GetBattlerTotalSpeedStat(u32 battler); @@ -69,7 +69,7 @@ u32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); void SpecialStatusesClear(void); -void SetTypeBeforeUsingMove(u16 move, u32 battlerAtk); +void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk); bool32 IsWildMonSmart(void); u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags); void ModifyPersonalityForNature(u32 *personality, u32 newNature); diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 71c1c2f698..ed08b5eb4f 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -16,8 +16,9 @@ struct StatFractions u8 divisor; }; +s32 CalcCritChanceStageArgs(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility, u32 abilityAtk, u32 abilityDef, u32 holdEffectAtk); s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility); -s32 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move); +s32 GetCritHitChance(s32 critChanceIndex); u32 GetTotalAccuracy(u32 battlerAtk, u32 battlerDef, u32 move, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); u8 GetBattlerTurnOrderNum(u8 battlerId); bool32 NoAliveMonsForEitherParty(void); diff --git a/include/battle_util.h b/include/battle_util.h index 7058c98998..8c4dc260b1 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -174,7 +174,7 @@ u32 CalcFuryCutterBasePower(u32 basePower, u32 furyCutterCounter); s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags); s32 CalculateMoveDamageVars(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, uq4_12_t typeEffectivenessModifier, u32 weather, bool32 isCrit, u32 holdEffectAtk, u32 holdEffectDef, u32 abilityAtk, u32 abilityDef); -uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities); +uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, u32 defAbility, bool32 recordAbilities); uq4_12_t CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); uq4_12_t GetTypeModifier(u32 atkType, u32 defType); s32 GetStealthHazardDamage(u8 hazardType, u32 battler); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 43bc619d27..8adc12a404 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -698,12 +698,10 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) u32 weather; u16 predictedMove = aiData->predictedMoves[battlerDef]; - SetTypeBeforeUsingMove(move, battlerAtk); - GET_MOVE_TYPE(move, moveType); - if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; + SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); // check non-user target @@ -3757,10 +3755,9 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score if (gLastMoves[battlerDef] != MOVE_NONE && gLastMoves[battlerDef] != 0xFFFF) { - /* TODO predicted moves if (gLastMoves[battlerDef] == predictedMove) score += 3; - else */if (CanMoveFaintBattler(gLastMoves[battlerDef], battlerDef, battlerAtk, 1)) + else if (CanTargetMoveFaintAi(gLastMoves[battlerDef], battlerDef, battlerAtk, 1)) score += 2; //Disable move that can kill attacker } } diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index cb7e5c41ea..4ac6ddec62 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -723,7 +723,7 @@ bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split) { SetTypeBeforeUsingMove(moves[i], attacker); GET_MOVE_TYPE(moves[i], moveType); - if (CalcTypeEffectivenessMultiplier(moves[i], moveType, attacker, target, FALSE) != 0) + if (CalcTypeEffectivenessMultiplier(moves[i], moveType, attacker, target, AI_DATA->abilities[target], FALSE) != 0) usable |= gBitTable[i]; } } @@ -731,41 +731,6 @@ bool32 MovesWithSplitUnusable(u32 attacker, u32 target, u32 split) return (usable == 0); } -static bool32 AI_GetIfCrit(u32 move, u32 battlerAtk, u32 battlerDef) -{ - bool32 isCrit; - - switch (CalcCritChanceStage(battlerAtk, battlerDef, move, FALSE)) - { - case -1: - case 0: - default: - isCrit = FALSE; - break; - case 1: - if (gBattleMoves[move].highCritRatio && (Random() % 5 == 0)) - isCrit = TRUE; - else - isCrit = FALSE; - break; - case 2: - if (gBattleMoves[move].highCritRatio && (Random() % 2 == 0)) - isCrit = TRUE; - else if (!(gBattleMoves[move].highCritRatio) && (Random() % 4) == 0) - isCrit = TRUE; - else - isCrit = FALSE; - break; - case -2: - case 3: - case 4: - isCrit = TRUE; - break; - } - - return isCrit; -} - // To save computation time this function has 2 variants. One saves, sets and restores battlers, while the other doesn't. s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower) { @@ -776,8 +741,9 @@ s32 AI_CalcDamageSaveBattlers(u32 move, u32 battlerAtk, u32 battlerDef, u8 *type s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectiveness, bool32 considerZPower, u32 weather) { - s32 dmg, moveType, critDmg, normalDmg, fixedBasePower, n; + s32 dmg, moveType; uq4_12_t effectivenessMultiplier; + struct AiLogicData *aiData = AI_DATA; SetBattlerData(battlerAtk); SetBattlerData(battlerDef); @@ -797,14 +763,12 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); - effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); + effectivenessMultiplier = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, aiData->abilities[battlerDef], FALSE); if (gBattleMoves[move].power) { - s32 critChance; - struct AiLogicData *aiData = AI_DATA; + s32 critChanceIndex, normalDmg, fixedBasePower, n; ProteanTryChangeType(battlerAtk, aiData->abilities[battlerAtk], move, moveType); - critChance = GetInverseCritChance(battlerAtk, battlerDef, move); // Certain moves like Rollout calculate damage based on values which change during the move execution, but before calling dmg calc. switch (gBattleMoves[move].effect) { @@ -823,15 +787,22 @@ s32 AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u8 *typeEffectivenes effectivenessMultiplier, weather, FALSE, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); - critDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, + + critChanceIndex = CalcCritChanceStageArgs(battlerAtk, battlerDef, move, FALSE, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], aiData->holdEffects[battlerAtk]); + if (critChanceIndex > 1) // Consider crit damage only if a move has at least +1 crit chance + { + s32 critDmg = CalculateMoveDamageVars(move, battlerAtk, battlerDef, moveType, fixedBasePower, effectivenessMultiplier, weather, TRUE, aiData->holdEffects[battlerAtk], aiData->holdEffects[battlerDef], aiData->abilities[battlerAtk], aiData->abilities[battlerDef]); - - if (critChance == -1) - dmg = normalDmg; - else + u32 critChance = GetCritHitChance(critChanceIndex); + // With critChance getting closer to 1, dmg gets closer to critDmg. dmg = (critDmg + normalDmg * (critChance - 1)) / (critChance); + } + else + { + dmg = normalDmg; + } if (!gBattleStruct->zmove.active) { @@ -1056,7 +1027,7 @@ uq4_12_t AI_GetTypeEffectiveness(u32 move, u32 battlerAtk, u32 battlerDef) gBattleStruct->dynamicMoveType = 0; SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); - typeEffectiveness = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, FALSE); + typeEffectiveness = CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], FALSE); RestoreBattlerData(battlerAtk); RestoreBattlerData(battlerDef); @@ -1191,18 +1162,14 @@ bool32 CanAIFaintTarget(u32 battlerAtk, u32 battlerDef, u32 numHits) return FALSE; } -bool32 CanMoveFaintBattler(u32 move, u32 battlerDef, u32 battlerAtk, u32 nHits) +bool32 CanTargetMoveFaintAi(u32 move, u32 battlerDef, u32 battlerAtk, u32 nHits) { - s32 i, dmg; - u8 effectiveness; - u32 unusable = AI_DATA->moveLimitations[battlerDef]; - - if (move != MOVE_NONE - && move != 0xFFFF - && !(unusable & gBitTable[i]) - && AI_CalcDamageSaveBattlers(move, battlerDef, battlerAtk, &effectiveness, FALSE) >= gBattleMons[battlerAtk].hp) - return TRUE; - + u32 indexSlot = GetMoveSlot(GetMovesArray(battlerDef), move); + if (indexSlot < MAX_MON_MOVES) + { + if (GetNoOfHitsToKO(AI_DATA->simulatedDmg[battlerDef][battlerAtk][indexSlot], gBattleMons[battlerAtk].hp) <= nHits) + return TRUE; + } return FALSE; } @@ -1282,7 +1249,7 @@ s32 AI_GetAbility(u32 battlerId) return ABILITY_NONE; // Unknown. } -u16 AI_GetHoldEffect(u32 battlerId) +u32 AI_GetHoldEffect(u32 battlerId) { u32 holdEffect; diff --git a/src/battle_main.c b/src/battle_main.c index b2143513e8..9a1abf0958 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -751,7 +751,7 @@ static void SetAllPlayersBerryData(void) { s32 numPlayers; struct BattleEnigmaBerry *src; - u8 battler; + u32 battler; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { @@ -2268,7 +2268,7 @@ static void EndLinkBattleInSteps(void) case 2: if (!gPaletteFade.active) { - u8 battlerCount; + u32 battlerCount; gMain.anyLinkBattlerHasFrontierPass = RecordedBattle_GetFrontierPassFlag(); @@ -4021,11 +4021,10 @@ u8 IsRunningFromBattleImpossible(u32 battler) return BATTLE_RUN_SUCCESS; } -void SwitchPartyOrder(u8 battler) +void SwitchPartyOrder(u32 battler) { s32 i; - u8 partyId1; - u8 partyId2; + u32 partyId1, partyId2; for (i = 0; i < (int)ARRAY_COUNT(gBattlePartyCurrentOrder); i++) gBattlePartyCurrentOrder[i] = *(battler * 3 + i + (u8 *)(gBattleStruct->battlerPartyOrders)); @@ -5589,7 +5588,7 @@ void RunBattleScriptCommands(void) gBattleScriptingCommandsTable[gBattlescriptCurrInstr[0]](); } -void SetTypeBeforeUsingMove(u16 move, u32 battlerAtk) +void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk) { u32 moveType, ateType, attackerAbility; u16 holdEffect = GetBattlerHoldEffect(battlerAtk, TRUE); @@ -5728,8 +5727,8 @@ void SetTypeBeforeUsingMove(u16 move, u32 battlerAtk) // var8001 - var8007: stat changes void SetTotemBoost(void) { - u8 battler = gSpecialVar_0x8000; - u8 i; + u32 battler = gSpecialVar_0x8000; + u32 i; for (i = 0; i < (NUM_BATTLE_STATS - 1); i++) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index f98a66ad17..13876639cc 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1752,10 +1752,11 @@ static void Cmd_accuracycheck(void) { CMD_ARGS(const u8 *failInstr, u16 move); - u16 type, move = cmd->move; - u16 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, move); - u16 gBattlerAttackerAbility = GetBattlerAbility(gBattlerAttacker); - u8 gBattlerAttackerHoldEffect = GetBattlerHoldEffect(gBattlerAttacker, TRUE); + u32 type, move = cmd->move; + u32 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, move); + u32 abilityAtk = GetBattlerAbility(gBattlerAttacker); + u32 abilityDef = GetBattlerAbility(gBattlerTarget); + u32 holdEffectAtk = GetBattlerHoldEffect(gBattlerAttacker, TRUE); if (move == ACC_CURR_MOVE) move = gCurrentMove; @@ -1771,7 +1772,7 @@ static void Cmd_accuracycheck(void) } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT || (gSpecialStatuses[gBattlerAttacker].multiHitOn - && (gBattlerAttackerAbility == ABILITY_SKILL_LINK || gBattlerAttackerHoldEffect == HOLD_EFFECT_LOADED_DICE + && (abilityAtk == ABILITY_SKILL_LINK || holdEffectAtk == HOLD_EFFECT_LOADED_DICE || !(gBattleMoves[move].effect == EFFECT_TRIPLE_KICK || gBattleMoves[move].effect == EFFECT_POPULATION_BOMB)))) { // No acc checks for second hit of Parental Bond or multi hit moves, except Triple Kick/Triple Axel/Population Bomb @@ -1791,16 +1792,16 @@ static void Cmd_accuracycheck(void) gBattlerAttacker, gBattlerTarget, move, - gBattlerAttackerAbility, - GetBattlerAbility(gBattlerTarget), - gBattlerAttackerHoldEffect, + abilityAtk, + abilityDef, + holdEffectAtk, GetBattlerHoldEffect(gBattlerTarget, TRUE) ); if (!RandomPercentage(RNG_ACCURACY, accuracy)) { gMoveResultFlags |= MOVE_RESULT_MISSED; - if (gBattlerAttackerHoldEffect == HOLD_EFFECT_BLUNDER_POLICY) + if (holdEffectAtk == HOLD_EFFECT_BLUNDER_POLICY) gBattleStruct->blunderPolicy = TRUE; // Only activates from missing through acc/evasion checks if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE && @@ -1810,7 +1811,7 @@ static void Cmd_accuracycheck(void) gBattleCommunication[MISS_TYPE] = B_MSG_MISSED; if (gBattleMoves[move].power) - CalcTypeEffectivenessMultiplier(move, type, gBattlerAttacker, gBattlerTarget, TRUE); + CalcTypeEffectivenessMultiplier(move, type, gBattlerAttacker, gBattlerTarget, abilityDef, TRUE); } JumpIfMoveFailed(7, move); } @@ -1907,24 +1908,15 @@ static void Cmd_ppreduce(void) #endif // B_CRIT_CHANCE #define BENEFITS_FROM_LEEK(battler, holdEffect)((holdEffect == HOLD_EFFECT_LEEK) && (GET_BASE_SPECIES_ID(gBattleMons[battler].species) == SPECIES_FARFETCHD || gBattleMons[battler].species == SPECIES_SIRFETCHD)) -s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility) +s32 CalcCritChanceStageArgs(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility, u32 abilityAtk, u32 abilityDef, u32 holdEffectAtk) { s32 critChance = 0; - u32 abilityAtk = GetBattlerAbility(gBattlerAttacker); - u32 abilityDef = GetBattlerAbility(gBattlerTarget); - u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); if (gSideStatuses[battlerDef] & SIDE_STATUS_LUCKY_CHANT - || gStatuses3[gBattlerAttacker] & STATUS3_CANT_SCORE_A_CRIT) + || gStatuses3[battlerAtk] & STATUS3_CANT_SCORE_A_CRIT) { critChance = -1; } - else if (abilityDef == ABILITY_BATTLE_ARMOR || abilityDef == ABILITY_SHELL_ARMOR) - { - if (recordAbility) - RecordAbilityBattle(battlerDef, abilityDef); - critChance = -1; - } else if (gStatuses3[battlerAtk] & STATUS3_LASER_FOCUS || gBattleMoves[move].effect == EFFECT_ALWAYS_CRIT || (abilityAtk == ABILITY_MERCILESS && gBattleMons[battlerDef].status1 & STATUS1_PSN_ANY) @@ -1934,27 +1926,41 @@ s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordA } else { - critChance = 2 * ((gBattleMons[gBattlerAttacker].status2 & STATUS2_FOCUS_ENERGY) != 0) + critChance = 2 * ((gBattleMons[battlerAtk].status2 & STATUS2_FOCUS_ENERGY) != 0) + (gBattleMoves[gCurrentMove].highCritRatio) + (holdEffectAtk == HOLD_EFFECT_SCOPE_LENS) - + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[gBattlerAttacker].species == SPECIES_CHANSEY) + + 2 * (holdEffectAtk == HOLD_EFFECT_LUCKY_PUNCH && gBattleMons[battlerAtk].species == SPECIES_CHANSEY) + 2 * BENEFITS_FROM_LEEK(battlerAtk, holdEffectAtk) #if B_AFFECTION_MECHANICS == TRUE - + 2 * (GetBattlerFriendshipScore(gBattlerAttacker) >= FRIENDSHIP_200_TO_254) + + 2 * (GetBattlerFriendshipScore(battlerAtk) >= FRIENDSHIP_200_TO_254) #endif + (abilityAtk == ABILITY_SUPER_LUCK); + if (abilityDef == ABILITY_BATTLE_ARMOR || abilityDef == ABILITY_SHELL_ARMOR) + { + if (recordAbility && critChance >= 2) // Record ability only if move had at least +1 chance to get a crit. + RecordAbilityBattle(battlerDef, abilityDef); + critChance = -1; + } + if (critChance >= ARRAY_COUNT(sCriticalHitChance)) critChance = ARRAY_COUNT(sCriticalHitChance) - 1; } return critChance; } + +s32 CalcCritChanceStage(u32 battlerAtk, u32 battlerDef, u32 move, bool32 recordAbility) +{ + u32 abilityAtk = GetBattlerAbility(gBattlerAttacker); + u32 abilityDef = GetBattlerAbility(gBattlerTarget); + u32 holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); + return CalcCritChanceStageArgs(battlerAtk, battlerDef, move, recordAbility, abilityAtk, abilityDef, holdEffectAtk); +} #undef BENEFITS_FROM_LEEK -s32 GetInverseCritChance(u32 battlerAtk, u32 battlerDef, u32 move) +s32 GetCritHitChance(s32 critChanceIndex) { - s32 critChanceIndex = CalcCritChanceStage(battlerAtk, battlerDef, move, FALSE); if (critChanceIndex < 0) return -1; else @@ -2005,7 +2011,7 @@ static void Cmd_typecalc(void) u8 moveType; GET_MOVE_TYPE(gCurrentMove, moveType); - CalcTypeEffectivenessMultiplier(gCurrentMove, moveType, gBattlerAttacker, gBattlerTarget, TRUE); + CalcTypeEffectivenessMultiplier(gCurrentMove, moveType, gBattlerAttacker, gBattlerTarget, GetBattlerAbility(gBattlerTarget), TRUE); gBattlescriptCurrInstr = cmd->nextInstr; } diff --git a/src/battle_util.c b/src/battle_util.c index bdee81d72d..d0bcb63791 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4368,7 +4368,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 { move = gBattleMons[i].moves[j]; GET_MOVE_TYPE(move, moveType); - if (CalcTypeEffectivenessMultiplier(move, moveType, i, battler, FALSE) >= UQ_4_12(2.0)) + if (CalcTypeEffectivenessMultiplier(move, moveType, i, battler, ABILITY_ANTICIPATION, FALSE) >= UQ_4_12(2.0)) { effect++; break; @@ -9827,7 +9827,8 @@ static u32 GetWeather(void) s32 CalculateMoveDamage(u32 move, u32 battlerAtk, u32 battlerDef, u32 moveType, s32 fixedBasePower, bool32 isCrit, bool32 randomFactor, bool32 updateFlags) { return DoMoveDamageCalc(move, battlerAtk, battlerDef, moveType, fixedBasePower, isCrit, randomFactor, - updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, updateFlags), GetWeather()); + updateFlags, CalcTypeEffectivenessMultiplier(move, moveType, battlerAtk, battlerDef, GetBattlerAbility(battlerDef), updateFlags), + GetWeather()); } // for AI so that typeEffectivenessModifier, weather, abilities and holdEffects are calculated only once @@ -9985,13 +9986,12 @@ static inline uq4_12_t CalcTypeEffectivenessMultiplierInternal(u32 move, u32 mov return modifier; } -uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, bool32 recordAbilities) +uq4_12_t CalcTypeEffectivenessMultiplier(u32 move, u32 moveType, u32 battlerAtk, u32 battlerDef, u32 defAbility, bool32 recordAbilities) { uq4_12_t modifier = UQ_4_12(1.0); if (move != MOVE_STRUGGLE && moveType != TYPE_MYSTERY) { - u32 defAbility = GetBattlerAbility(defAbility); modifier = CalcTypeEffectivenessMultiplierInternal(move, moveType, battlerAtk, battlerDef, recordAbilities, modifier, defAbility); if (gBattleMoves[move].effect == EFFECT_TWO_TYPED_MOVE) modifier = CalcTypeEffectivenessMultiplierInternal(move, gBattleMoves[move].argument, battlerAtk, battlerDef, recordAbilities, modifier, defAbility); From 25459073e541926839dfde16c7f0eb0216f6afdd Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 14 Sep 2023 11:44:44 +0200 Subject: [PATCH 235/256] ai lag fixes ready --- data/scripts/debug.inc | 1 - include/battle.h | 2 +- include/config/debug.h | 2 +- src/battle_util.c | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 8e09deb5e6..64b7e1dd01 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -70,7 +70,6 @@ Debug_BoxFilledMessage_Text: .string "Storage boxes filled!$" Debug_Script_1:: - multi_fixed_2_vs_2 TRAINER_WALLACE, NULL, TRAINER_JUAN_5, NULL, TRAINER_STEVEN, TRAINER_BACK_PIC_STEVEN end Debug_Script_2:: diff --git a/include/battle.h b/include/battle.h index a906d75cd7..5f665ad9ed 100644 --- a/include/battle.h +++ b/include/battle.h @@ -294,7 +294,7 @@ struct AiLogicData u8 moveLimitations[MAX_BATTLERS_COUNT]; bool8 shouldSwitchMon; // Because all available moves have no/little effect. Each bit per battler. u8 monToSwitchId[MAX_BATTLERS_COUNT]; // ID of the mon to switch. - bool8 weatherHasEffect; // WEATHER_HAS_EFFECT, so it doesn't have to be used all the time + bool8 weatherHasEffect; // The same as WEATHER_HAS_EFFECT. Stored here, so it's called only once. }; struct AI_ThinkingStruct diff --git a/include/config/debug.h b/include/config/debug.h index ff54f6ac16..eea676b307 100644 --- a/include/config/debug.h +++ b/include/config/debug.h @@ -9,7 +9,7 @@ // Battle Debug Menu #define DEBUG_BATTLE_MENU TRUE // If set to TRUE, enables a debug menu to use in battles by pressing the Select button. -#define DEBUG_AI_DELAY_TIMER TRUE // If set to TRUE, displays the number of frames it takes for the AI to choose a move. Replaces the "What will PKMN do" text. Useful for devs or anyone who modifies the AI code and wants to see if it doesn't take too long to run. +#define DEBUG_AI_DELAY_TIMER FALSE // If set to TRUE, displays the number of frames it takes for the AI to choose a move. Replaces the "What will PKMN do" text. Useful for devs or anyone who modifies the AI code and wants to see if it doesn't take too long to run. // Pokémon Debug #define DEBUG_POKEMON_MENU TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. diff --git a/src/battle_util.c b/src/battle_util.c index d0bcb63791..480b053ea0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4034,7 +4034,7 @@ static bool32 TryChangeBattleTerrain(u32 battler, u32 statusFlag, u8 *timer) static void ForewarnChooseMove(u32 battler) { struct Forewarn { - u32 battler; + u8 battler; u8 power; u16 moveId; }; From db039ee4e2796098b598ea8f2e077a0868ca41d6 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 14 Sep 2023 12:38:45 +0200 Subject: [PATCH 236/256] Tera Shards Icons (#3307) --- .../items/icon_palettes/bug_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/dark_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/dragon_tera_shard.pal | 19 +++++++++ .../icon_palettes/electric_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/fairy_tera_shard.pal | 19 +++++++++ .../icon_palettes/fighting_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/fire_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/flying_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/ghost_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/grass_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/ground_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/ice_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/normal_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/poison_tera_shard.pal | 19 +++++++++ .../icon_palettes/psychic_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/rock_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/steel_tera_shard.pal | 19 +++++++++ .../items/icon_palettes/water_tera_shard.pal | 13 +++++++ graphics/items/icons/tera_shard.png | Bin 0 -> 285 bytes include/graphics.h | 21 ++++++++++ src/data/graphics/items.h | 24 +++++++++++- src/data/item_icon_table.h | 36 +++++++++--------- 22 files changed, 398 insertions(+), 19 deletions(-) create mode 100644 graphics/items/icon_palettes/bug_tera_shard.pal create mode 100644 graphics/items/icon_palettes/dark_tera_shard.pal create mode 100644 graphics/items/icon_palettes/dragon_tera_shard.pal create mode 100644 graphics/items/icon_palettes/electric_tera_shard.pal create mode 100644 graphics/items/icon_palettes/fairy_tera_shard.pal create mode 100644 graphics/items/icon_palettes/fighting_tera_shard.pal create mode 100644 graphics/items/icon_palettes/fire_tera_shard.pal create mode 100644 graphics/items/icon_palettes/flying_tera_shard.pal create mode 100644 graphics/items/icon_palettes/ghost_tera_shard.pal create mode 100644 graphics/items/icon_palettes/grass_tera_shard.pal create mode 100644 graphics/items/icon_palettes/ground_tera_shard.pal create mode 100644 graphics/items/icon_palettes/ice_tera_shard.pal create mode 100644 graphics/items/icon_palettes/normal_tera_shard.pal create mode 100644 graphics/items/icon_palettes/poison_tera_shard.pal create mode 100644 graphics/items/icon_palettes/psychic_tera_shard.pal create mode 100644 graphics/items/icon_palettes/rock_tera_shard.pal create mode 100644 graphics/items/icon_palettes/steel_tera_shard.pal create mode 100644 graphics/items/icon_palettes/water_tera_shard.pal create mode 100644 graphics/items/icons/tera_shard.png diff --git a/graphics/items/icon_palettes/bug_tera_shard.pal b/graphics/items/icon_palettes/bug_tera_shard.pal new file mode 100644 index 0000000000..548020fdf9 --- /dev/null +++ b/graphics/items/icon_palettes/bug_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +241 247 180 +185 237 206 +153 229 190 +208 225 193 +107 164 67 +155 224 232 +110 219 159 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/dark_tera_shard.pal b/graphics/items/icon_palettes/dark_tera_shard.pal new file mode 100644 index 0000000000..b855250a4f --- /dev/null +++ b/graphics/items/icon_palettes/dark_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +177 181 211 +233 170 159 +168 164 170 +153 149 153 +45 44 49 +200 72 57 +100 108 167 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/dragon_tera_shard.pal b/graphics/items/icon_palettes/dragon_tera_shard.pal new file mode 100644 index 0000000000..f86711a334 --- /dev/null +++ b/graphics/items/icon_palettes/dragon_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +199 221 235 +225 185 216 +202 138 188 +146 188 216 +32 75 132 +215 142 134 +173 57 140 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/electric_tera_shard.pal b/graphics/items/icon_palettes/electric_tera_shard.pal new file mode 100644 index 0000000000..15b393c850 --- /dev/null +++ b/graphics/items/icon_palettes/electric_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +220 238 231 +249 247 189 +243 243 174 +242 227 174 +209 155 7 +173 214 99 +147 87 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fairy_tera_shard.pal b/graphics/items/icon_palettes/fairy_tera_shard.pal new file mode 100644 index 0000000000..58d6cae33a --- /dev/null +++ b/graphics/items/icon_palettes/fairy_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +213 224 243 +243 199 212 +139 131 164 +188 205 234 +187 54 111 +225 165 149 +226 147 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fighting_tera_shard.pal b/graphics/items/icon_palettes/fighting_tera_shard.pal new file mode 100644 index 0000000000..5ce8656904 --- /dev/null +++ b/graphics/items/icon_palettes/fighting_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +248 191 188 +244 207 147 +241 188 105 +246 112 0 +178 63 0 +251 235 141 +233 157 39 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/fire_tera_shard.pal b/graphics/items/icon_palettes/fire_tera_shard.pal new file mode 100644 index 0000000000..406b90e981 --- /dev/null +++ b/graphics/items/icon_palettes/fire_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +233 199 215 +243 181 145 +232 185 185 +186 38 40 +105 20 26 +253 245 121 +239 148 99 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/flying_tera_shard.pal b/graphics/items/icon_palettes/flying_tera_shard.pal new file mode 100644 index 0000000000..461d9e5b8a --- /dev/null +++ b/graphics/items/icon_palettes/flying_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +212 242 239 +198 191 239 +171 194 230 +157 239 231 +40 84 165 +215 175 232 +66 128 226 +171 202 223 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ghost_tera_shard.pal b/graphics/items/icon_palettes/ghost_tera_shard.pal new file mode 100644 index 0000000000..bba3a968f2 --- /dev/null +++ b/graphics/items/icon_palettes/ghost_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +214 227 249 +208 175 239 +172 164 226 +188 183 231 +46 27 178 +234 76 104 +160 101 225 +171 202 223 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/grass_tera_shard.pal b/graphics/items/icon_palettes/grass_tera_shard.pal new file mode 100644 index 0000000000..ce10ab10ce --- /dev/null +++ b/graphics/items/icon_palettes/grass_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +211 233 194 +202 233 173 +171 225 199 +0 161 79 +255 239 132 +167 219 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ground_tera_shard.pal b/graphics/items/icon_palettes/ground_tera_shard.pal new file mode 100644 index 0000000000..b2168640b9 --- /dev/null +++ b/graphics/items/icon_palettes/ground_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +232 214 212 +209 205 177 +216 198 174 +225 207 175 +159 104 0 +204 210 214 +188 182 142 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/ice_tera_shard.pal b/graphics/items/icon_palettes/ice_tera_shard.pal new file mode 100644 index 0000000000..61ac07f673 --- /dev/null +++ b/graphics/items/icon_palettes/ice_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +237 235 231 +183 224 242 +76 171 182 +58 121 135 +137 157 224 +183 221 224 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/normal_tera_shard.pal b/graphics/items/icon_palettes/normal_tera_shard.pal new file mode 100644 index 0000000000..5792b00342 --- /dev/null +++ b/graphics/items/icon_palettes/normal_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +241 241 229 +236 218 200 +221 219 215 +224 222 218 +159 146 133 +175 204 224 +223 197 166 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/poison_tera_shard.pal b/graphics/items/icon_palettes/poison_tera_shard.pal new file mode 100644 index 0000000000..92eb2adafc --- /dev/null +++ b/graphics/items/icon_palettes/poison_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +188 233 208 +213 161 233 +202 138 188 +195 179 220 +74 23 153 +227 101 191 +165 72 209 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/psychic_tera_shard.pal b/graphics/items/icon_palettes/psychic_tera_shard.pal new file mode 100644 index 0000000000..e4c7e58604 --- /dev/null +++ b/graphics/items/icon_palettes/psychic_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +201 199 238 +225 181 237 +202 138 188 +228 181 216 +167 25 135 +217 120 165 +189 109 220 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/rock_tera_shard.pal b/graphics/items/icon_palettes/rock_tera_shard.pal new file mode 100644 index 0000000000..8575ff4d73 --- /dev/null +++ b/graphics/items/icon_palettes/rock_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +227 210 173 +192 187 225 +171 164 209 +209 172 159 +159 57 18 +171 139 179 +123 123 198 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/steel_tera_shard.pal b/graphics/items/icon_palettes/steel_tera_shard.pal new file mode 100644 index 0000000000..9dd861037d --- /dev/null +++ b/graphics/items/icon_palettes/steel_tera_shard.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 255 92 +0 0 0 +255 255 255 +220 227 225 +196 209 205 +168 183 189 +202 208 215 +57 67 89 +182 154 134 +121 147 155 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/items/icon_palettes/water_tera_shard.pal b/graphics/items/icon_palettes/water_tera_shard.pal new file mode 100644 index 0000000000..db62ce1e34 --- /dev/null +++ b/graphics/items/icon_palettes/water_tera_shard.pal @@ -0,0 +1,13 @@ +JASC-PAL +0100 +10 +0 255 92 +0 0 0 +255 255 255 +221 246 229 +194 223 242 +166 174 226 +192 196 234 +57 67 189 +145 233 225 +137 195 227 diff --git a/graphics/items/icons/tera_shard.png b/graphics/items/icons/tera_shard.png new file mode 100644 index 0000000000000000000000000000000000000000..c4e9854865ca094992c85898af071afceea56fd0 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaN3?zjj6;1;w#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;X0X`wF4F6+*%>V!YfBg9L&8-u6Z(o0K@7DZDt?SP`xPNrnYVG&ufzq4> z9+AZi419+{nDKc2iWHz=ho_5Uh{pNk16&fU6K*(l6>M8DfwM{Z$(u(!;p(q)a@Zy( zg@hX#8#j4zZWWhQcTSZsJ$-h{6qbcDr%!r5b2SK^nl@{)y3gTe~DWM4f3UX+u literal 0 HcmV?d00001 diff --git a/include/graphics.h b/include/graphics.h index 87635d43a1..00727abacd 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -9028,6 +9028,27 @@ extern const u32 gItemIconPalette_TeraOrb[]; extern const u32 gItemIcon_TinyBambooShoot[]; extern const u32 gItemIconPalette_TinyBambooShoot[]; +// Tera Shards +extern const u32 gItemIcon_TeraShard[]; +extern const u32 gItemIconPalette_NormalTeraShard[]; +extern const u32 gItemIconPalette_FireTeraShard[]; +extern const u32 gItemIconPalette_WaterTeraShard[]; +extern const u32 gItemIconPalette_GrassTeraShard[]; +extern const u32 gItemIconPalette_ElectricTeraShard[]; +extern const u32 gItemIconPalette_IceTeraShard[]; +extern const u32 gItemIconPalette_FightingTeraShard[]; +extern const u32 gItemIconPalette_PoisonTeraShard[]; +extern const u32 gItemIconPalette_GroundTeraShard[]; +extern const u32 gItemIconPalette_FlyingTeraShard[]; +extern const u32 gItemIconPalette_PsychicTeraShard[]; +extern const u32 gItemIconPalette_BugTeraShard[]; +extern const u32 gItemIconPalette_RockTeraShard[]; +extern const u32 gItemIconPalette_GhostTeraShard[]; +extern const u32 gItemIconPalette_DarkTeraShard[]; +extern const u32 gItemIconPalette_DragonTeraShard[]; +extern const u32 gItemIconPalette_SteelTeraShard[]; +extern const u32 gItemIconPalette_FairyTeraShard[]; + extern const u32 gItemIcon_AdamantCrystal[]; extern const u32 gItemIconPalette_AdamantCrystal[]; extern const u32 gItemIcon_GriseousCore[]; diff --git a/src/data/graphics/items.h b/src/data/graphics/items.h index 327fab0370..60cd7d5187 100644 --- a/src/data/graphics/items.h +++ b/src/data/graphics/items.h @@ -1988,7 +1988,29 @@ const u32 gItemIconPalette_TeraOrb[] = INCBIN_U32("graphics/items/icon_palettes/ const u32 gItemIcon_TinyBambooShoot[] = INCBIN_U32("graphics/items/icons/tiny_bamboo_shoot.4bpp.lz"); const u32 gItemIconPalette_TinyBambooShoot[] = INCBIN_U32("graphics/items/icon_palettes/tiny_bamboo_shoot.gbapal.lz"); -// Tera Shards here +// Tera Shards + +const u32 gItemIcon_TeraShard[] = INCBIN_U32("graphics/items/icons/tera_shard.4bpp.lz"); +const u32 gItemIconPalette_NormalTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/normal_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_FireTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/fire_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_WaterTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/water_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_GrassTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/grass_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_ElectricTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/electric_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_IceTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/ice_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_FightingTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/fighting_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_PoisonTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/poison_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_GroundTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/ground_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_FlyingTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/flying_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_PsychicTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/psychic_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_BugTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/bug_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_RockTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/rock_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_GhostTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/ghost_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_DarkTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/dark_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_DragonTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/dragon_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_SteelTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/steel_tera_shard.gbapal.lz"); +const u32 gItemIconPalette_FairyTeraShard[] = INCBIN_U32("graphics/items/icon_palettes/fairy_tera_shard.gbapal.lz"); + +// Misc. Items const u32 gItemIcon_AdamantCrystal[] = INCBIN_U32("graphics/items/icons/adamant_crystal.4bpp.lz"); const u32 gItemIconPalette_AdamantCrystal[] = INCBIN_U32("graphics/items/icon_palettes/adamant_crystal.gbapal.lz"); diff --git a/src/data/item_icon_table.h b/src/data/item_icon_table.h index 0e8112260a..a0a207be2d 100644 --- a/src/data/item_icon_table.h +++ b/src/data/item_icon_table.h @@ -819,24 +819,24 @@ const u32 *const gItemIconTable[ITEMS_COUNT + 1][2] = [ITEM_SCROLL_OF_WATERS] = {gItemIcon_ScrollOfWaters, gItemIconPalette_ScrollOfWaters}, [ITEM_TERA_ORB] = {gItemIcon_TeraOrb, gItemIconPalette_TeraOrb}, [ITEM_TINY_BAMBOO_SHOOT] = {gItemIcon_TinyBambooShoot, gItemIconPalette_TinyBambooShoot}, - [ITEM_BUG_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_BugTeraShard, gItemIconPalette_BugTeraShard}, - [ITEM_DARK_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_DarkTeraShard, gItemIconPalette_DarkTeraShard}, - [ITEM_DRAGON_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_DragonTeraShard, gItemIconPalette_DragonTeraShard}, - [ITEM_ELECTRIC_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_ElectricTeraShard, gItemIconPalette_ElectricTeraShard}, - [ITEM_FAIRY_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_FairyTeraShard, gItemIconPalette_FairyTeraShard}, - [ITEM_FIGHTING_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_FightingTeraShard, gItemIconPalette_FightingTeraShard}, - [ITEM_FIRE_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_FireTeraShard, gItemIconPalette_FireTeraShard}, - [ITEM_FLYING_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_FlyingTeraShard, gItemIconPalette_FlyingTeraShard}, - [ITEM_GHOST_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_GhostTeraShard, gItemIconPalette_GhostTeraShard}, - [ITEM_GRASS_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_GrassTeraShard, gItemIconPalette_GrassTeraShard}, - [ITEM_GROUND_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_GroundTeraShard, gItemIconPalette_GroundTeraShard}, - [ITEM_ICE_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_IceTeraShard, gItemIconPalette_IceTeraShard}, - [ITEM_NORMAL_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_NormalTeraShard, gItemIconPalette_NormalTeraShard}, - [ITEM_POISON_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_PoisonTeraShard, gItemIconPalette_PoisonTeraShard}, - [ITEM_PSYCHIC_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_PsychicTeraShard, gItemIconPalette_PsychicTeraShard}, - [ITEM_ROCK_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_RockTeraShard, gItemIconPalette_RockTeraShard}, - [ITEM_STEEL_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_SteelTeraShard, gItemIconPalette_SteelTeraShard}, - [ITEM_WATER_TERA_SHARD] = {gItemIcon_QuestionMark, gItemIconPalette_QuestionMark}, // {gItemIcon_WaterTeraShard, gItemIconPalette_WaterTeraShard}, + [ITEM_BUG_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_BugTeraShard}, + [ITEM_DARK_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_DarkTeraShard}, + [ITEM_DRAGON_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_DragonTeraShard}, + [ITEM_ELECTRIC_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_ElectricTeraShard}, + [ITEM_FAIRY_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FairyTeraShard}, + [ITEM_FIGHTING_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FightingTeraShard}, + [ITEM_FIRE_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FireTeraShard}, + [ITEM_FLYING_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_FlyingTeraShard}, + [ITEM_GHOST_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_GhostTeraShard}, + [ITEM_GRASS_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_GrassTeraShard}, + [ITEM_GROUND_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_GroundTeraShard}, + [ITEM_ICE_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_IceTeraShard}, + [ITEM_NORMAL_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_NormalTeraShard}, + [ITEM_POISON_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_PoisonTeraShard}, + [ITEM_PSYCHIC_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_PsychicTeraShard}, + [ITEM_ROCK_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_RockTeraShard}, + [ITEM_STEEL_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_SteelTeraShard}, + [ITEM_WATER_TERA_SHARD] = {gItemIcon_TeraShard, gItemIconPalette_WaterTeraShard}, [ITEM_ADAMANT_CRYSTAL] = {gItemIcon_AdamantCrystal, gItemIconPalette_AdamantCrystal}, [ITEM_GRISEOUS_CORE] = {gItemIcon_GriseousCore, gItemIconPalette_GriseousCore}, [ITEM_LUSTROUS_GLOBE] = {gItemIcon_LustrousGlobe, gItemIconPalette_LustrousGlobe}, From 2ce3f4db7888cf0fea42e188148536c3b20c834c Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 14 Sep 2023 06:08:24 -0500 Subject: [PATCH 237/256] Implement Enigma Berry's hold effect + tests (#3300) * Fix Enigma Berry * Tests * Update enigma_berry.c --- src/battle_util.c | 29 +++++++++++++ test/battle/hold_effect/enigma_berry.c | 60 ++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 test/battle/hold_effect/enigma_berry.c diff --git a/src/battle_util.c b/src/battle_util.c index aabb6e6e82..0b0aadab34 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6554,6 +6554,29 @@ static u8 TrySetMicleBerry(u32 battler, u32 itemId, bool32 end2) return 0; } +static u8 TrySetEnigmaBerry(u32 battler) +{ + if (IsBattlerAlive(battler) + && TARGET_TURN_DAMAGED + && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) + && !(gBattleScripting.overrideBerryRequirements && gBattleMons[battler].hp == gBattleMons[battler].maxHP) +#if B_HEAL_BLOCKING >= GEN_5 + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) +#endif + && gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) + { + gBattleScripting.battler = battler; + gBattleMoveDamage = (gBattleMons[battler].maxHP * 25 / 100) * -1; + if (GetBattlerAbility(battler) == ABILITY_RIPEN) + gBattleMoveDamage *= 2; + + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ItemHealHP_RemoveItemRet; + return ITEM_HP_CHANGE; + } + return 0; +} + static u8 DamagedStatBoostBerryEffect(u8 battler, u8 statId, u8 split) { if (IsBattlerAlive(battler) @@ -6767,6 +6790,9 @@ static u8 ItemEffectMoveEnd(u32 battler, u16 holdEffect) case HOLD_EFFECT_SP_DEFENSE_UP: effect = StatRaiseBerry(battler, gLastUsedItem, STAT_SPDEF, FALSE); break; + case HOLD_EFFECT_ENIGMA_BERRY: // consume and heal if hit by super effective move + effect = TrySetEnigmaBerry(battler); + break; case HOLD_EFFECT_KEE_BERRY: // consume and boost defense if used physical move effect = DamagedStatBoostBerryEffect(battler, STAT_DEF, SPLIT_PHYSICAL); break; @@ -7730,6 +7756,9 @@ u8 ItemBattleEffects(u8 caseID, u8 battler, bool8 moveTurn) gBattleScripting.statChanger = SET_STATCHANGER(STAT_SPATK, 1, FALSE); } break; + case HOLD_EFFECT_ENIGMA_BERRY: // consume and heal if hit by super effective move + effect = TrySetEnigmaBerry(battler); + break; case HOLD_EFFECT_JABOCA_BERRY: // consume and damage attacker if used physical move if (IsBattlerAlive(battler) && TARGET_TURN_DAMAGED diff --git a/test/battle/hold_effect/enigma_berry.c b/test/battle/hold_effect/enigma_berry.c new file mode 100644 index 0000000000..6758ac4026 --- /dev/null +++ b/test/battle/hold_effect/enigma_berry.c @@ -0,0 +1,60 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + gItems[ITEM_ENIGMA_BERRY].holdEffect == HOLD_EFFECT_ENIGMA_BERRY; +} + +SINGLE_BATTLE_TEST("Enigma Berry recovers 25% of HP if hit by super effective move") +{ + GIVEN { + PLAYER(SPECIES_WYNAUT) { MaxHP(100); HP(2); Item(ITEM_ENIGMA_BERRY); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_ENDURE); MOVE(opponent, MOVE_BITE); } + } SCENE { + s32 maxHP = GetMonData(&PLAYER_PARTY[0], MON_DATA_MAX_HP); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ENDURE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, opponent); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); + MESSAGE("Wynaut's Enigma Berry restored health!"); + HP_BAR(player, damage: -maxHP / 4); + } +} + +SINGLE_BATTLE_TEST("Enigma Berry does nothing if not hit by super effective move") +{ + GIVEN { + PLAYER(SPECIES_MIGHTYENA) { MaxHP(100); HP(2); Item(ITEM_ENIGMA_BERRY); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_ENDURE); MOVE(opponent, MOVE_BITE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_ENDURE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, opponent); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); + MESSAGE("Mightyena's Enigma Berry restored health!"); + } + } +} + +SINGLE_BATTLE_TEST("Enigma Berry does nothing if Heal Block applies") +{ + GIVEN { + PLAYER(SPECIES_WYNAUT) { MaxHP(100); HP(2); Item(ITEM_ENIGMA_BERRY); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_HEAL_BLOCK); } + TURN { MOVE(player, MOVE_ENDURE); MOVE(opponent, MOVE_BITE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BLOCK, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ENDURE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_BITE, opponent); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); + MESSAGE("Wynaut's Enigma Berry restored health!"); + } + } +} From 4fb0b5566478a67b55657588cbda5472de83f825 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 14 Sep 2023 19:13:11 +0200 Subject: [PATCH 238/256] Bug bite/Fling enigma berry interaction & tests (#3311) --- src/battle_util.c | 7 +++---- test/battle/move_effect/bug_bite.c | 10 +++++----- test/battle/move_effect/fling.c | 8 +++++++- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index a9901d2c44..5ce61373d6 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6557,19 +6557,18 @@ static u8 TrySetMicleBerry(u32 battler, u32 itemId, bool32 end2) static u8 TrySetEnigmaBerry(u32 battler) { if (IsBattlerAlive(battler) - && TARGET_TURN_DAMAGED && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) + && ((TARGET_TURN_DAMAGED && gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) || gBattleScripting.overrideBerryRequirements) && !(gBattleScripting.overrideBerryRequirements && gBattleMons[battler].hp == gBattleMons[battler].maxHP) #if B_HEAL_BLOCKING >= GEN_5 - && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK) + && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) #endif - && gMoveResultFlags & MOVE_RESULT_SUPER_EFFECTIVE) { gBattleScripting.battler = battler; gBattleMoveDamage = (gBattleMons[battler].maxHP * 25 / 100) * -1; if (GetBattlerAbility(battler) == ABILITY_RIPEN) gBattleMoveDamage *= 2; - + BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_ItemHealHP_RemoveItemRet; return ITEM_HP_CHANGE; diff --git a/test/battle/move_effect/bug_bite.c b/test/battle/move_effect/bug_bite.c index 315d52109c..385b8a400f 100644 --- a/test/battle/move_effect/bug_bite.c +++ b/test/battle/move_effect/bug_bite.c @@ -10,13 +10,13 @@ ASSUMPTIONS // Pretty much copy/paste of the Berry Fling Test. SINGLE_BATTLE_TEST("Bug Bite eats the target's berry and immediately gains its effect") { - u16 item; - u32 status1 = STATUS1_NONE, effect, statId; + u16 item = ITEM_NONE; + u32 status1 = STATUS1_NONE, effect = HOLD_EFFECT_NONE, statId = 0; PARAMETRIZE { item = ITEM_NONE; } PARAMETRIZE { item = ITEM_ORAN_BERRY; effect = HOLD_EFFECT_RESTORE_HP; } PARAMETRIZE { item = ITEM_SITRUS_BERRY; effect = HOLD_EFFECT_RESTORE_HP; } - // PARAMETRIZE { item = ITEM_ENIGMA_BERRY; effect = HOLD_EFFECT_RESTORE_HP; } To do once Enigma Berry's effect is done + PARAMETRIZE { item = ITEM_ENIGMA_BERRY; effect = HOLD_EFFECT_ENIGMA_BERRY; } PARAMETRIZE { item = ITEM_LEPPA_BERRY; effect = HOLD_EFFECT_RESTORE_PP; } PARAMETRIZE { item = ITEM_CHESTO_BERRY; effect = HOLD_EFFECT_CURE_SLP; status1 = STATUS1_SLEEP; } PARAMETRIZE { item = ITEM_CHERI_BERRY; effect = HOLD_EFFECT_CURE_PAR; status1 = STATUS1_PARALYSIS; } @@ -50,13 +50,13 @@ SINGLE_BATTLE_TEST("Bug Bite eats the target's berry and immediately gains its e MESSAGE("Wobbuffet used Bug Bite!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_BUG_BITE, player); HP_BAR(opponent); - if (effect == HOLD_EFFECT_RESTORE_HP) { + if (effect == HOLD_EFFECT_RESTORE_HP || effect == HOLD_EFFECT_ENIGMA_BERRY) { if (item == ITEM_ORAN_BERRY) { MESSAGE("Wobbuffet's Oran Berry restored health!"); } else if (item == ITEM_SITRUS_BERRY) { MESSAGE("Wobbuffet's Sitrus Berry restored health!"); } else { - // MESSAGE("Wobbuffet's Enigma Berry restored health!"); + MESSAGE("Wobbuffet's Enigma Berry restored health!"); } HP_BAR(player); } diff --git a/test/battle/move_effect/fling.c b/test/battle/move_effect/fling.c index 5abb883e1e..8d44d9b9f1 100644 --- a/test/battle/move_effect/fling.c +++ b/test/battle/move_effect/fling.c @@ -255,6 +255,7 @@ SINGLE_BATTLE_TEST("Fling - thrown berry's effect activates for the target even PARAMETRIZE { item = ITEM_ORAN_BERRY; effect = HOLD_EFFECT_RESTORE_HP; } PARAMETRIZE { item = ITEM_SITRUS_BERRY; effect = HOLD_EFFECT_RESTORE_HP; } + PARAMETRIZE { item = ITEM_ENIGMA_BERRY; effect = HOLD_EFFECT_ENIGMA_BERRY; } PARAMETRIZE { item = ITEM_LEPPA_BERRY; effect = HOLD_EFFECT_RESTORE_PP; } PARAMETRIZE { item = ITEM_CHESTO_BERRY; effect = HOLD_EFFECT_CURE_SLP; status1 = STATUS1_SLEEP; } PARAMETRIZE { item = ITEM_CHERI_BERRY; effect = HOLD_EFFECT_CURE_PAR; status1 = STATUS1_PARALYSIS; } @@ -262,6 +263,7 @@ SINGLE_BATTLE_TEST("Fling - thrown berry's effect activates for the target even PARAMETRIZE { item = ITEM_PECHA_BERRY; effect = HOLD_EFFECT_CURE_PSN; status1 = STATUS1_TOXIC_POISON; } PARAMETRIZE { item = ITEM_RAWST_BERRY; effect = HOLD_EFFECT_CURE_BRN; status1 = STATUS1_BURN; } PARAMETRIZE { item = ITEM_ASPEAR_BERRY; effect = HOLD_EFFECT_CURE_FRZ; status1 = STATUS1_FREEZE; } + PARAMETRIZE { item = ITEM_ASPEAR_BERRY; effect = HOLD_EFFECT_CURE_FRZ; status1 = STATUS1_FROSTBITE; } PARAMETRIZE { item = ITEM_APICOT_BERRY; effect = HOLD_EFFECT_SP_DEFENSE_UP; statId = STAT_SPDEF; } PARAMETRIZE { item = ITEM_MARANGA_BERRY; effect = HOLD_EFFECT_MARANGA_BERRY; statId = STAT_SPDEF; } PARAMETRIZE { item = ITEM_GANLON_BERRY; effect = HOLD_EFFECT_DEFENSE_UP; statId = STAT_DEF; } @@ -282,8 +284,10 @@ SINGLE_BATTLE_TEST("Fling - thrown berry's effect activates for the target even if (effect == HOLD_EFFECT_RESTORE_HP) { if (item == ITEM_ORAN_BERRY) { MESSAGE("Foe Wobbuffet's Oran Berry restored health!"); - } else { + } else if (item == ITEM_SITRUS_BERRY) { MESSAGE("Foe Wobbuffet's Sitrus Berry restored health!"); + } else { + MESSAGE("Wobbuffet's Enigma Berry restored health!"); } HP_BAR(opponent); } @@ -297,6 +301,8 @@ SINGLE_BATTLE_TEST("Fling - thrown berry's effect activates for the target even MESSAGE("Foe Wobbuffet's Chesto Berry woke it from its sleep!"); } else if (status1 == STATUS1_FREEZE) { MESSAGE("Foe Wobbuffet's Aspear Berry defrosted it!"); + } else if (status1 == STATUS1_FROSTBITE) { + MESSAGE("Foe Wobbuffet's Aspear Berry healed its frostbite!"); } else if (status1 == STATUS1_PARALYSIS) { MESSAGE("Foe Wobbuffet's Cheri Berry cured paralysis!"); } else if (status1 == STATUS1_TOXIC_POISON || status1 == STATUS1_POISON) { From 80ec67482e590b438534ce33f2fdb5d12ca9d007 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 14 Sep 2023 20:31:18 +0200 Subject: [PATCH 239/256] Bitter Blade and Double Shock animations (#3310) --- data/battle_anim_scripts.s | 78 +++++++++++++++++++++++++++++++++++++- src/battle_anim_new.c | 42 ++++++++++++-------- 2 files changed, 103 insertions(+), 17 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index e9b7c538fd..4997f56d2e 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -16382,6 +16382,82 @@ TakeHeartRings: delay 0x4 return +Move_BITTER_BLADE:: + loadspritegfx ANIM_TAG_FOCUS_ENERGY + loadspritegfx ANIM_TAG_CLAW_SLASH + loadspritegfx ANIM_TAG_POISON_BUBBLE + loadspritegfx ANIM_TAG_ORBS + loadspritegfx ANIM_TAG_BLUE_STAR + loadspritegfx ANIM_TAG_IMPACT + monbg ANIM_DEF_PARTNER + splitbgprio_foes ANIM_TARGET + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 3, 0, 12, RGB(14, 6, 24) + playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER + waitforvisualfinish + call EndureEffect + delay 8 + call EndureEffect + delay 8 + call EndureEffect + waitforvisualfinish + delay 3 + playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET + createsprite gBitterBladeImpactTemplate ANIM_TARGET, 1, 0x0, 0xa, 0x0, 0xFF00, 0xA + delay 2 + createvisualtask AnimTask_ShakeMon, 0x2, 0x1, 0x0, 0x3, 0xa, 0x1 + waitforvisualfinish + delay 3 + call GigaDrainAbsorbEffect + waitforvisualfinish + delay 15 + call HealingEffect + waitforvisualfinish + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 3, 12, 0, RGB(14, 6, 24) + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end + +Move_DOUBLE_SHOCK:: + loadspritegfx ANIM_TAG_ELECTRIC_ORBS + loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT + loadspritegfx ANIM_TAG_LIGHTNING + monbg ANIM_TARGET + setalpha 12, 8 + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 3, 0, 12, RGB_BLACK + waitforvisualfinish + createvisualtask AnimTask_ElectricChargingParticles, 0x2, ANIM_ATTACKER, 30, 0, 3 @;Amount, Slowness, Slowness, Compaction + playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER + delay 12 + createsprite gGrowingShockWaveOrbSpriteTemplate, ANIM_ATTACKER, 0, 0x0 + waitforvisualfinish + delay 1 + createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 16, 0, RGB_BLACK + delay 1 + waitforvisualfinish + playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 + delay 1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 6, -16, -32 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 24, -32 + delay 1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, -16, -16 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 24, -16 + delay 1 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 6, -16, 16 + createsprite gLightningSpriteTemplate, ANIM_TARGET, 2, 24, 16 + delay 1 + playsewithpan SE_M_TRI_ATTACK2, SOUND_PAN_TARGET + createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x2 | 0x4 + delay 2 + createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 + createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, ANIM_TARGET, 2 + delay 1 + waitforvisualfinish + clearmonbg ANIM_TARGET + blendoff + end + Move_TERA_BLAST:: Move_AXE_KICK:: Move_LAST_RESPECTS:: @@ -16418,8 +16494,6 @@ Move_HYPER_DRILL:: Move_TWIN_BEAM:: Move_RAGE_FIST:: Move_ARMOR_CANNON:: -Move_BITTER_BLADE:: -Move_DOUBLE_SHOCK:: Move_GIGATON_HAMMER:: Move_COMEUPPANCE:: Move_AQUA_CUTTER:: diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index 966887b257..1f04e01697 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -4151,7 +4151,7 @@ const struct SpriteTemplate gSkitterSmackImpactTemplate = }; // triple axel -const struct SpriteTemplate gTripleAxelIceCrystalSpriteTemplate = +const struct SpriteTemplate gTripleAxelIceCrystalSpriteTemplate = { .tileTag = ANIM_TAG_ICE_CRYSTALS, .paletteTag = ANIM_TAG_ICE_CRYSTALS, @@ -4173,7 +4173,7 @@ static const union AffineAnimCmd* const sSpriteAffineAnimTable_WingAttackFeather { sSpriteAffineAnim_WingAttackFeather, }; -const struct SpriteTemplate gDualWingbeatFeatherSpriteTemplate = +const struct SpriteTemplate gDualWingbeatFeatherSpriteTemplate = { .tileTag = ANIM_TAG_WHITE_FEATHER, .paletteTag = ANIM_TAG_WHITE_FEATHER, @@ -4192,7 +4192,7 @@ const struct SpriteTemplate gSpriteTemplate_LargeCrossImpact = { .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = sSpriteAffineAnimTable_LargeHailRock, - .callback = AnimCrossImpact + .callback = AnimCrossImpact }; // expanding force @@ -4464,7 +4464,7 @@ const struct SpriteTemplate gSpriteTemplate_GlacialLance = { .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = sSpriteAffineAnimTable_GlacialLance, - .callback = SpriteCB_GlacialLance + .callback = SpriteCB_GlacialLance }; // eerie spell @@ -4611,7 +4611,7 @@ const struct SpriteTemplate gSpriteTemplate_HeadlongRushImpact = { .images = NULL, .affineAnims = sSpriteAffineAnimTable_DrainPunchFist, .callback = AnimHitSplatBasic -}; +}; const struct SpriteTemplate gSpriteTemplate_MaxQuakeDirtGeyser = { .tileTag = ANIM_TAG_MUD_SAND, .paletteTag = ANIM_TAG_MUD_SAND, @@ -4696,7 +4696,7 @@ const struct SpriteTemplate gSpriteTemplate_CeaselessEdgeSlash = { .anims = gSlashSliceAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_FlippableSlash + .callback = SpriteCB_FlippableSlash }; // wildbolt storm @@ -4758,7 +4758,7 @@ const struct SpriteTemplate gSpriteTemplate_BitterMaliceRing = { .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gAffineAnims_ShadowBall, - .callback = AnimParticleInVortex + .callback = AnimParticleInVortex }; //ultra burst @@ -7175,6 +7175,18 @@ const struct SpriteTemplate gSoulStealZStarSpriteTemplate = .callback = AnimCrossImpact }; +// Bitter Blade +const struct SpriteTemplate gBitterBladeImpactTemplate = +{ + .tileTag = ANIM_TAG_CLAW_SLASH, + .paletteTag = ANIM_TAG_POISON_BUBBLE, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_ClawSlash, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimClawSlash +}; + // functions //general void AnimTask_IsTargetPartner(u8 taskId) @@ -8297,7 +8309,7 @@ void AnimTask_AllBattlersVisible(u8 taskId) { spriteId = gBattlerSpriteIds[i]; if (IsBattlerSpriteVisible(i) && spriteId != 0xFF) - gSprites[spriteId].invisible = FALSE; + gSprites[spriteId].invisible = FALSE; } DestroyAnimVisualTask(taskId); @@ -8693,7 +8705,7 @@ void SpriteCB_HorizontalSliceStep(struct Sprite *sprite) static void SpriteCB_LashOutStrike(struct Sprite* sprite) { bool8 flip = GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER; - + if (gBattleAnimArgs[2]) flip ^= 1; @@ -8871,7 +8883,7 @@ static void SpriteCB_SteelRoller(struct Sprite* sprite) sprite->x2 = gBattleAnimArgs[0]; sprite->y2 += gBattleAnimArgs[1]; - + sprite->data[4] = gBattleAnimArgs[3]; //Left/Right distance sprite->data[5] = gBattleAnimArgs[4]; //Left/Right speed @@ -8930,10 +8942,10 @@ static void SpriteCB_DragonEnergyShot(struct Sprite* sprite) else { y = 0; - + if (IsBattlerSpritePresent(def1)) y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); - + if (IsBattlerSpritePresent(def2)) y += GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET); @@ -9018,13 +9030,13 @@ static void SpriteCB_GlacialLance(struct Sprite* sprite) { u8 def1 = gBattleAnimTarget; u8 def2 = BATTLE_PARTNER(def1); - + InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[5] = gBattleAnimArgs[4]; sprite->data[6] = gBattleAnimArgs[5]; - + sprite->data[0] = gBattleAnimArgs[6]; - + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) { sprite->data[2] = GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Converge on target From 4a3ee0db7f4aa77084d3cf50a8f9e1bfae1f71ee Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Thu, 14 Sep 2023 13:37:57 -0500 Subject: [PATCH 240/256] Implement Exp Charm and unevolved Exp multipliers + Exp formula fixes (#3301) Co-authored-by: Eduardo Quezada D'Ottone --- include/config/battle.h | 1 + include/pokemon.h | 1 + src/battle_script_commands.c | 18 +++++++++--------- src/pokemon.c | 20 ++++++++++++++++++++ 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/include/config/battle.h b/include/config/battle.h index dd7e11f02a..aee79daee5 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -14,6 +14,7 @@ #define B_TRAINER_EXP_MULTIPLIER GEN_LATEST // In Gen7+, trainer battles no longer give a 1.5 multiplier to EXP gain. #define B_SPLIT_EXP GEN_LATEST // In Gen6+, all participating mon get full experience. #define B_SCALED_EXP GEN_LATEST // In Gen5 and Gen7+, experience is weighted by level difference. +#define B_UNEVOLVED_EXP_MULTIPLIER GEN_LATEST // In Gen6+, if the Pokémon is at or past the level where it would be able to evolve, but it has not, it gets a ~1.2 multiplier to EXP gain. Only applies to Pokémon with EVO_LEVEL method. // Stat settings #define B_BADGE_BOOST GEN_LATEST // In Gen4+, Gym Badges no longer boost a Pokémon's stats. diff --git a/include/pokemon.h b/include/pokemon.h index a37d5f0103..7f70d8a52e 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -543,6 +543,7 @@ u8 *UseStatIncreaseItem(u16 itemId); u8 GetNature(struct Pokemon *mon); u8 GetNatureFromPersonality(u32 personality); u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem, struct Pokemon *tradePartner); +bool8 IsMonPastEvolutionLevel(struct Pokemon *mon); u16 HoennPokedexNumToSpecies(u16 hoennNum); u16 NationalPokedexNumToSpecies(u16 nationalNum); u16 NationalToHoennOrder(u16 nationalNum); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b89b7d8447..5c779c3d13 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4087,6 +4087,9 @@ static void Cmd_getexp(void) calculatedExp = gSpeciesInfo[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 7; #endif + if (B_TRAINER_EXP_MULTIPLIER <= GEN_7 && gBattleTypeFlags & BATTLE_TYPE_TRAINER) + calculatedExp = (calculatedExp * 150) / 100; + #if B_SPLIT_EXP < GEN_6 if (viaExpShare) // at least one mon is getting exp via exp share { @@ -4179,14 +4182,9 @@ static void Cmd_getexp(void) { // check if the pokemon doesn't belong to the player if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterMonId >= 3) - { i = STRINGID_EMPTYSTRING4; - } else - { - gBattleMoveDamage = (gBattleMoveDamage * 150) / 100; i = STRINGID_ABOOSTED; - } } else { @@ -16029,13 +16027,15 @@ void ApplyExperienceMultipliers(s32 *expAmount, u8 expGetterMonId, u8 faintedBat else holdEffect = ItemId_GetHoldEffect(item); + if (IsTradedMon(&gPlayerParty[expGetterMonId])) + *expAmount = (*expAmount * 150) / 100; if (holdEffect == HOLD_EFFECT_LUCKY_EGG) *expAmount = (*expAmount * 150) / 100; - if (B_TRAINER_EXP_MULTIPLIER <= GEN_7 && gBattleTypeFlags & BATTLE_TYPE_TRAINER) - *expAmount = (*expAmount * 150) / 100; + if (B_UNEVOLVED_EXP_MULTIPLIER >= GEN_6 && IsMonPastEvolutionLevel(&gPlayerParty[expGetterMonId])) + *expAmount = (*expAmount * 4915) / 4096; if (B_AFFECTION_MECHANICS == TRUE && GetBattlerFriendshipScore(expGetterMonId) >= FRIENDSHIP_50_TO_99) - *expAmount = (*expAmount * 120) / 100; - if (IsTradedMon(&gPlayerParty[expGetterMonId])) + *expAmount = (*expAmount * 4915) / 4096; + if (CheckBagHasItem(ITEM_EXP_CHARM, 1)) //is also for other exp boosting Powers if/when implemented *expAmount = (*expAmount * 150) / 100; if (B_SCALED_EXP >= GEN_5 && B_SCALED_EXP != GEN_6) diff --git a/src/pokemon.c b/src/pokemon.c index 838d0068cb..dc7054c04b 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6770,6 +6770,26 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s return targetSpecies; } +bool8 IsMonPastEvolutionLevel(struct Pokemon *mon) +{ + int i; + u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); + u8 level = GetMonData(mon, MON_DATA_LEVEL, 0); + + for (i = 0; i < EVOS_PER_MON; i++) + { + switch (gEvolutionTable[species][i].method) + { + case EVO_LEVEL: + if (gEvolutionTable[species][i].param <= level) + return TRUE; + break; + } + } + + return FALSE; +} + u16 HoennPokedexNumToSpecies(u16 hoennNum) { u16 species; From a073e7bd5924419cec4f960febce41b0fad35a8a Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Fri, 15 Sep 2023 16:18:47 +0200 Subject: [PATCH 241/256] Adds Gigaton Hammer and Salt Cure (#3297) --- asm/macros/battle_script.inc | 15 ++++- data/battle_anim_scripts.s | 4 ++ data/battle_scripts_1.s | 46 ++++++++++++--- include/battle_scripts.h | 3 + include/battle_util.h | 1 + include/constants/battle.h | 1 + include/constants/battle_anim.h | 1 + include/constants/battle_move_effects.h | 4 +- include/constants/battle_string_ids.h | 5 +- src/battle_ai_main.c | 4 ++ src/battle_ai_util.c | 4 +- src/battle_message.c | 6 ++ src/battle_script_commands.c | 9 +++ src/battle_util.c | 35 ++++++++++++ src/data/battle_moves.h | 6 +- test/battle/move_effect/gigaton_hammer.c | 63 +++++++++++++++++++++ test/battle/move_effect/salt_cure.c | 72 ++++++++++++++++++++++++ 17 files changed, 262 insertions(+), 17 deletions(-) create mode 100644 test/battle/move_effect/gigaton_hammer.c create mode 100644 test/battle/move_effect/salt_cure.c diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 31a359a0ef..f33537bbb0 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1311,7 +1311,7 @@ callnative BS_CalcMetalBurstDmg .4byte \failInstr .endm - + .macro jumpifcantfling battler:req, jumpInstr:req callnative BS_JumpIfCantFling .byte \battler @@ -1361,6 +1361,11 @@ callnative BS_SetSnow .endm + .macro applysaltcure battler:req + callnative BS_ApplySaltCure + .byte \battler + .endm + .macro setzeffect callnative BS_SetZEffect .endm @@ -1381,7 +1386,7 @@ .byte \counter .4byte \ptr .endm - + .macro jumpifcantloseitem battler:req, ptr:req callnative BS_JumpIfCantLoseItem .byte \battler @@ -2322,3 +2327,9 @@ various 0, VARIOUS_TRY_REVIVAL_BLESSING .4byte \jumpInstr .endm + + @ Will jump to script pointer if the specified battler has or has not fainted. + .macro jumpiffainted battler:req, value:req, ptr:req + getbattlerfainted \battler + jumpifbyte CMP_EQUAL, gBattleCommunication, \value, \ptr + .endm diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 4997f56d2e..0b72e1cf98 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -948,6 +948,7 @@ gBattleAnims_General:: .4byte General_AffectionHangedOn @ B_ANIM_AFFECTION_HANGED_ON .4byte General_Snow @ B_ANIM_SNOW_CONTINUES .4byte General_UltraBurst @ B_ANIM_ULTRA_BURST + .4byte General_SaltCureDamage @ B_ANIM_SALT_CURE_DAMAGE .align 2 gBattleAnims_Special:: @@ -27135,6 +27136,9 @@ General_AffectionHangedOn_3Hearts: waitforvisualfinish end +General_SaltCureDamage:: + goto Status_Freeze + SnatchMoveTrySwapFromSubstitute: createvisualtask AnimTask_IsAttackerBehindSubstitute, 2 jumprettrue SnatchMoveSwapSubstituteForMon diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index cc69d3f787..cf3c953f1b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -436,6 +436,32 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS .4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB .4byte BattleScript_EffectMortalSpin @ EFFECT_MORTAL_SPIN + .4byte BattleScript_EffectHit @ EFFECT_GIGATON_HAMMER + .4byte BattleScript_EffectSaltCure @ EFFECT_SALT_CURE + +BattleScript_EffectSaltCure: + call BattleScript_EffectHit_Ret + jumpiffainted BS_TARGET, TRUE, BattleScript_EffectSaltCure_End + applysaltcure BS_TARGET + printstring STRINGID_TARGETISBEINGSALTCURED + waitmessage B_WAIT_TIME_LONG +BattleScript_EffectSaltCure_End: + goto BattleScript_MoveEnd + +BattleScript_SaltCureExtraDamage:: + playanimation BS_TARGET, B_ANIM_SALT_CURE_DAMAGE, NULL + waitanimation + call BattleScript_HurtTarget_NoString + printstring STRINGID_TARGETISHURTBYSALTCURE + waitmessage B_WAIT_TIME_LONG + end2 + +BattleScript_HurtTarget_NoString: + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + tryfaintmon BS_TARGET + return BattleScript_EffectMortalSpin: call BattleScript_EffectHit_Ret @@ -6617,8 +6643,7 @@ BattleScript_PursuitDmgOnSwitchOut:: waitmessage B_WAIT_TIME_LONG tryfaintmon BS_TARGET moveendfromto MOVEEND_ABILITIES, MOVEEND_CHOICE_MOVE - getbattlerfainted BS_TARGET - jumpifbyte CMP_EQUAL, gBattleCommunication, FALSE, BattleScript_PursuitDmgOnSwitchOutRet + jumpiffainted BS_TARGET, FALSE, BattleScript_PursuitDmgOnSwitchOutRet setbyte sGIVEEXP_STATE, 0 getexp BS_TARGET BattleScript_PursuitDmgOnSwitchOutRet: @@ -7131,8 +7156,7 @@ BattleScript_GulpMissileGorging:: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER - getbattlerfainted BS_ATTACKER - jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_GulpMissileNoSecondEffectGorging + jumpiffainted BS_ATTACKER, TRUE, BattleScript_GulpMissileNoSecondEffectGorging BattleScript_GulpMissileNoDmgGorging: handleformchange BS_TARGET, 0 playanimation BS_TARGET, B_ANIM_FORM_CHANGE @@ -7160,8 +7184,7 @@ BattleScript_GulpMissileGulping:: healthbarupdate BS_ATTACKER datahpupdate BS_ATTACKER tryfaintmon BS_ATTACKER - getbattlerfainted BS_ATTACKER - jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_GulpMissileNoSecondEffectGulping + jumpiffainted BS_ATTACKER, TRUE, BattleScript_GulpMissileNoSecondEffectGulping jumpifholdeffect BS_ATTACKER, HOLD_EFFECT_CLEAR_AMULET, BattleScript_GulpMissileNoSecondEffectGulping jumpifability BS_ATTACKER, ABILITY_CLEAR_BODY, BattleScript_GulpMissileNoSecondEffectGulping jumpifability BS_ATTACKER, ABILITY_FULL_METAL_BODY, BattleScript_GulpMissileNoSecondEffectGulping @@ -7502,6 +7525,14 @@ BattleScript_SelectingNotAllowedMoveHealBlockInPalace:: printstring STRINGID_HEALBLOCKPREVENTSUSAGE goto BattleScript_SelectingUnusableMoveInPalace +BattleScript_SelectingNotAllowedCurrentMove:: + printselectionstring STRINGID_CURRENTMOVECANTSELECT + endselectionscript + +BattleScript_SelectingNotAllowedCurrentMoveInPalace:: + printstring STRINGID_CURRENTMOVECANTSELECT + goto BattleScript_SelectingUnusableMoveInPalace + BattleScript_WishComesTrue:: trywish 1, BattleScript_WishButFullHp playanimation BS_TARGET, B_ANIM_WISH_HEAL @@ -7875,8 +7906,7 @@ BattleScript_CottonDownActivates:: savetarget setbyte gBattlerTarget, 0 BattleScript_CottonDownLoop: - getbattlerfainted BS_TARGET - jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_CottonDownLoopIncrement + jumpiffainted BS_TARGET, TRUE, BattleScript_CottonDownLoopIncrement setstatchanger STAT_SPEED, 1, TRUE jumpifbyteequal gBattlerTarget, gEffectBattler, BattleScript_CottonDownLoopIncrement statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_CottonDownTargetSpeedCantGoLower diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2a810e7fff..335aafb589 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -475,6 +475,9 @@ extern const u8 BattleScript_BerserkGeneRet[]; extern const u8 BattleScript_TargetFormChangeWithStringNoPopup[]; extern const u8 BattleScript_DefDown[]; extern const u8 BattleScript_UltraBurst[]; +extern const u8 BattleScript_SelectingNotAllowedCurrentMove[]; +extern const u8 BattleScript_SelectingNotAllowedCurrentMoveInPalace[]; +extern const u8 BattleScript_SaltCureExtraDamage[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/battle_util.h b/include/battle_util.h index 62394d85dc..36fb7a6e53 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -15,6 +15,7 @@ #define MOVE_LIMITATION_BELCH (1 << 11) #define MOVE_LIMITATION_THROAT_CHOP (1 << 12) #define MOVE_LIMITATION_STUFF_CHEEKS (1 << 13) +#define MOVE_LIMITATION_GIGATON_HAMMER (1 << 14) #define MOVE_LIMITATION_PLACEHOLDER (1 << 15) #define MOVE_LIMITATIONS_ALL 0xFFFF diff --git a/include/constants/battle.h b/include/constants/battle.h index d99eae919a..0f0d39db8d 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -187,6 +187,7 @@ #define STATUS4_MUD_SPORT (1 << 2) // Only used if B_SPORT_TURNS < GEN_6 #define STATUS4_WATER_SPORT (1 << 3) // Only used if B_SPORT_TURNS < GEN_6 #define STATUS4_INFINITE_CONFUSION (1 << 4) // Used for Berserk Gene +#define STATUS4_SALT_CURE (1 << 5) #define HITMARKER_WAKE_UP_CLEAR (1 << 4) // Cleared when waking up. Never set or checked. #define HITMARKER_SKIP_DMG_TRACK (1 << 5) diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index e70eba0fd7..9876652b65 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -549,6 +549,7 @@ #define B_ANIM_AFFECTION_HANGED_ON 35 #define B_ANIM_SNOW_CONTINUES 36 #define B_ANIM_ULTRA_BURST 37 +#define B_ANIM_SALT_CURE_DAMAGE 38 // special animations table (gBattleAnims_Special) #define B_ANIM_LVL_UP 0 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index e91d45d3e1..72f54c4ec5 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -413,7 +413,9 @@ #define EFFECT_CORROSIVE_GAS 407 #define EFFECT_POPULATION_BOMB 408 #define EFFECT_MORTAL_SPIN 409 +#define EFFECT_GIGATON_HAMMER 410 +#define EFFECT_SALT_CURE 411 -#define NUM_BATTLE_MOVE_EFFECTS 410 +#define NUM_BATTLE_MOVE_EFFECTS 412 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index dabb7d337f..f7845d80bc 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -668,8 +668,11 @@ #define STRINGID_ULTRABURSTREACTING 666 #define STRINGID_ULTRABURSTCOMPLETED 667 #define STRINGID_TEAMGAINEDEXP 668 +#define STRINGID_CURRENTMOVECANTSELECT 669 +#define STRINGID_TARGETISBEINGSALTCURED 670 +#define STRINGID_TARGETISHURTBYSALTCURE 671 -#define BATTLESTRINGS_COUNT 669 +#define BATTLESTRINGS_COUNT 672 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 39f5dbe088..1805b2d9d8 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -4958,6 +4958,10 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) || gBattleMons[BATTLE_PARTNER(battlerAtk)].status1 & STATUS1_ANY) score += 3; break; + case EFFECT_SALT_CURE: + if (IS_BATTLER_OF_TYPE(battlerDef, TYPE_WATER) || IS_BATTLER_OF_TYPE(battlerDef, TYPE_STEEL)) + score += 2; + break; } // move effect checks return score; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 9bd9ef2f70..ed75fbad24 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2973,7 +2973,7 @@ bool32 AI_CanBeInfatuated(u8 battlerAtk, u8 battlerDef, u16 defAbility) u32 ShouldTryToFlinch(u8 battlerAtk, u8 battlerDef, u16 atkAbility, u16 defAbility, u16 move) { if (((AI_DATA->abilities[battlerAtk] != ABILITY_MOLD_BREAKER && (defAbility == ABILITY_SHIELD_DUST || defAbility == ABILITY_INNER_FOCUS)) - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_COVERT_CLOAK + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) || AI_WhoStrikesFirst(battlerAtk, battlerDef, move) == AI_IS_SLOWER)) // Opponent goes first { @@ -3010,7 +3010,7 @@ bool32 ShouldFakeOut(u8 battlerAtk, u8 battlerDef, u16 move) if (!gDisableStructs[battlerAtk].isFirstTurn || AI_DATA->abilities[battlerAtk] == ABILITY_GORILLA_TACTICS || AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_CHOICE_BAND - || AI_GetHoldEffect(battlerDef) == HOLD_EFFECT_COVERT_CLOAK + || AI_DATA->holdEffects[battlerDef] == HOLD_EFFECT_COVERT_CLOAK || DoesSubstituteBlockMove(battlerAtk, battlerDef, move) || (AI_DATA->abilities[battlerAtk] != ABILITY_MOLD_BREAKER && (AI_DATA->abilities[battlerDef] == ABILITY_SHIELD_DUST || AI_DATA->abilities[battlerDef] == ABILITY_INNER_FOCUS))) diff --git a/src/battle_message.c b/src/battle_message.c index 397cc213e2..a353c6b2de 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -804,9 +804,15 @@ static const u8 sText_PkmnItemMelted[] = _("{B_ATK_NAME_WITH_PREFIX} corroded\n{ static const u8 sText_UltraBurstReacting[] = _("Bright light is about to\nburst out of {B_ATK_NAME_WITH_PREFIX}!"); static const u8 sText_UltraBurstCompleted[] = _("{B_ATK_NAME_WITH_PREFIX} regained its\ntrue power through Ultra Burst!"); static const u8 sText_TeamGainedEXP[] = _("The rest of your team gained EXP.\nPoints thanks to the {B_LAST_ITEM}!\p"); +static const u8 sText_CurrentMoveCantSelect[] = _("{B_BUFF1} cannot be used!\p"); +static const u8 sText_TargetIsBeingSaltCured[] = _("{B_DEF_NAME_WITH_PREFIX} is being salt cured!"); +static const u8 sText_TargetIsHurtBySaltCure[] = _("{B_DEF_NAME_WITH_PREFIX} is hurt by {B_BUFF1}!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_TARGETISHURTBYSALTCURE - BATTLESTRINGS_TABLE_START] = sText_TargetIsHurtBySaltCure, + [STRINGID_TARGETISBEINGSALTCURED - BATTLESTRINGS_TABLE_START] = sText_TargetIsBeingSaltCured, + [STRINGID_CURRENTMOVECANTSELECT - BATTLESTRINGS_TABLE_START] = sText_CurrentMoveCantSelect, [STRINGID_PKMNITEMMELTED - BATTLESTRINGS_TABLE_START] = sText_PkmnItemMelted, [STRINGID_MIRRORHERBCOPIED - BATTLESTRINGS_TABLE_START] = sText_MirrorHerbCopied, [STRINGID_THUNDERCAGETRAPPED - BATTLESTRINGS_TABLE_START] = sText_AtkTrappedDef, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 5c779c3d13..1183d40520 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -16311,3 +16311,12 @@ void BS_JumpIfMotor(void) else gBattlescriptCurrInstr = cmd->nextInstr; } + +void BS_ApplySaltCure(void) +{ + NATIVE_ARGS(u8 battler); + + u8 battler = GetBattlerForBattleScript(cmd->battler); + gStatuses4[battler] |= STATUS4_SALT_CURE; + gBattlescriptCurrInstr = cmd->nextInstr; +} diff --git a/src/battle_util.c b/src/battle_util.c index 5ce61373d6..b13e3cb293 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1749,6 +1749,22 @@ u32 TrySetCantSelectMoveBattleScript(u32 battler) } } + if (gBattleMoves[move].effect == EFFECT_GIGATON_HAMMER && move == gLastResultingMoves[battler]) + { + gCurrentMove = move; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, gCurrentMove); + if (gBattleTypeFlags & BATTLE_TYPE_PALACE) + { + gPalaceSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedCurrentMoveInPalace; + gProtectStructs[battler].palaceUnableToUseMove = TRUE; + } + else + { + gSelectionBattleScripts[battler] = BattleScript_SelectingNotAllowedCurrentMove; + limitations++; + } + } + gPotentialItemEffectBattler = battler; if (HOLD_EFFECT_CHOICE(holdEffect) && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != move) { @@ -1885,6 +1901,8 @@ u8 CheckMoveLimitations(u8 battler, u8 unusableMoves, u16 check) // Gorilla Tactics else if (check & MOVE_LIMITATION_CHOICE_ITEM && GetBattlerAbility(battler) == ABILITY_GORILLA_TACTICS && *choicedMove != MOVE_NONE && *choicedMove != MOVE_UNAVAILABLE && *choicedMove != gBattleMons[battler].moves[i]) unusableMoves |= gBitTable[i]; + else if (check & MOVE_LIMITATION_GIGATON_HAMMER && gBattleMoves[gBattleMons[battler].moves[i]].effect == EFFECT_GIGATON_HAMMER && gBattleMons[battler].moves[i] == gLastResultingMoves[battler]) + unusableMoves |= gBitTable[i]; } return unusableMoves; } @@ -2523,6 +2541,7 @@ enum ENDTURN_SLOW_START, ENDTURN_PLASMA_FISTS, ENDTURN_CUD_CHEW, + ENDTURN_SALT_CURE, ENDTURN_BATTLER_COUNT }; @@ -3086,6 +3105,22 @@ u8 DoBattlerEndTurnEffects(void) gDisableStructs[battler].cudChew = TRUE; gBattleStruct->turnEffectsTracker++; break; + case ENDTURN_SALT_CURE: + if (gStatuses4[battler] & STATUS4_SALT_CURE && gBattleMons[battler].hp != 0) + { + gBattlerTarget = battler; + if (IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_STEEL) || IS_BATTLER_OF_TYPE(gBattlerTarget, TYPE_WATER)) + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 4; + else + gBattleMoveDamage = gBattleMons[gBattlerTarget].maxHP / 8; + if (gBattleMoveDamage == 0) + gBattleMoveDamage = 1; + PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_SALT_CURE); + BattleScriptExecute(BattleScript_SaltCureExtraDamage); + effect++; + } + gBattleStruct->turnEffectsTracker++; + break; case ENDTURN_BATTLER_COUNT: // done gBattleStruct->turnEffectsTracker = 0; gBattleStruct->turnEffectsBattlerId++; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 75b89dccc6..00a8ee2c79 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -10687,7 +10687,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .priority = 0, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, - .ballisticMove = B_UPDATED_MOVE_FLAGS < GEN_9, + .ballisticMove = TRUE, }, [MOVE_ANCHOR_SHOT] = @@ -13218,7 +13218,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SALT_CURE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SALT_CURE + .effect = EFFECT_SALT_CURE, .power = 40, .type = TYPE_ROCK, .accuracy = 100, @@ -13639,7 +13639,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GIGATON_HAMMER] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_GIGATON_HAMMER + .effect = EFFECT_GIGATON_HAMMER, .power = 160, .type = TYPE_STEEL, .accuracy = 100, diff --git a/test/battle/move_effect/gigaton_hammer.c b/test/battle/move_effect/gigaton_hammer.c new file mode 100644 index 0000000000..aaff50f752 --- /dev/null +++ b/test/battle/move_effect/gigaton_hammer.c @@ -0,0 +1,63 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_GIGATON_HAMMER].effect == EFFECT_GIGATON_HAMMER); +} + +SINGLE_BATTLE_TEST("Struggle will be used if slow Encore is used on Gigaton Hammer") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_ENCORE].effect == EFFECT_ENCORE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_GIGATON_HAMMER); MOVE(opponent, MOVE_ENCORE); } + TURN { FORCED_MOVE(player); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGATON_HAMMER, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ENCORE, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_STRUGGLE, player); + } +} + +SINGLE_BATTLE_TEST("Gigaton Hammer strikes again if fast encore is used") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_ENCORE].effect == EFFECT_ENCORE); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_GIGATON_HAMMER); } + TURN { MOVE(opponent, MOVE_ENCORE); FORCED_MOVE(player); } + TURN { FORCED_MOVE(player); } + TURN { FORCED_MOVE(player); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_CELEBRATE, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGATON_HAMMER, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_ENCORE, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGATON_HAMMER, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_STRUGGLE, player); + } +} + +SINGLE_BATTLE_TEST("Gigaton Hammer alternates with Struggle if it is the only usable move left") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_GIGATON_HAMMER, MOVE_NONE, MOVE_NONE, MOVE_NONE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_GIGATON_HAMMER); } + TURN { FORCED_MOVE(player); } + TURN { MOVE(player, MOVE_GIGATON_HAMMER); } + TURN { FORCED_MOVE(player); } + TURN { MOVE(player, MOVE_GIGATON_HAMMER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGATON_HAMMER, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_STRUGGLE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGATON_HAMMER, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_STRUGGLE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGATON_HAMMER, player); + } +} diff --git a/test/battle/move_effect/salt_cure.c b/test/battle/move_effect/salt_cure.c new file mode 100644 index 0000000000..fcf240631a --- /dev/null +++ b/test/battle/move_effect/salt_cure.c @@ -0,0 +1,72 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_SALT_CURE].effect == EFFECT_SALT_CURE); +} + +SINGLE_BATTLE_TEST("Salt Cure inflicts 1/8 of the target's maximum HP as damage per turn") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SALT_CURE); } + for (i = 0; i < 3; i++) + TURN {} + } SCENE { + s32 maxHP = GetMonData(&OPPONENT_PARTY[0], MON_DATA_MAX_HP); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); + MESSAGE("Foe Wobbuffet is being salt cured!"); + for (i = 0; i < 4; i++) { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); + HP_BAR(opponent, damage: maxHP / 8); + MESSAGE("Foe Wobbuffet is hurt by Salt Cure!"); + } + } +} + +SINGLE_BATTLE_TEST("Salt Cure inflicts 1/4 to Water/Steel types of their maximum HP as damage per turn") +{ + u32 species; + + PARAMETRIZE { species = SPECIES_LAPRAS; }; + PARAMETRIZE { species = SPECIES_JIRACHI; }; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(species); + } WHEN { + TURN { MOVE(player, MOVE_SALT_CURE); } + TURN {} + } SCENE { + s32 maxHP = GetMonData(&OPPONENT_PARTY[0], MON_DATA_MAX_HP); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); + HP_BAR(opponent, damage: maxHP / 4); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); + HP_BAR(opponent, damage: maxHP / 4); + } +} + +SINGLE_BATTLE_TEST("Salt Cure is removed when the afflicted Pokémon is switched out") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(player, MOVE_SALT_CURE); } + TURN { SWITCH(opponent, 1); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SALT_CURE, player); + MESSAGE("Foe Wobbuffet is being salt cured!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); + MESSAGE("Foe Wobbuffet is hurt by Salt Cure!"); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SALT_CURE_DAMAGE, opponent); + MESSAGE("Foe Wobbuffet is hurt by Salt Cure!"); + } + } +} From 4ed4b690198357a5bd68759b977c57e7d3f07f39 Mon Sep 17 00:00:00 2001 From: sbird Date: Fri, 15 Sep 2023 19:11:25 +0200 Subject: [PATCH 242/256] [BUGFIX] for abilities affecting wild encounter tables fixes a potential buffer overread in TryGetAbilityInfluencedWildMonIndex. The bug can occur if an electric type mon is in the first slots of a fishing encounter table and the player carries a mon with the `ABILITY_STATIC` ability. This never happens in the vanilla codebase. --- src/wild_encounter.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 87d7d866bb..3a7f6cab23 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -52,7 +52,11 @@ static void FeebasSeedRng(u16 seed); static bool8 IsWildLevelAllowedByRepel(u8 level); static void ApplyFluteEncounterRateMod(u32 *encRate); static void ApplyCleanseTagEncounterRateMod(u32 *encRate); +#ifdef BUGFIX +static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex, u32 size); +#else static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex); +#endif static bool8 IsAbilityAllowingEncounter(u8 level); EWRAM_DATA static u8 sWildEncountersDisabled = 0; @@ -409,6 +413,11 @@ static void CreateWildMon(u16 species, u8 level) CreateMonWithNature(&gEnemyParty[0], species, level, USE_RANDOM_IVS, PickWildMonNature()); } +#ifdef BUGFIX +#define TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildPokemon, type, ability, ptr, count) TryGetAbilityInfluencedWildMonIndex(wildPokemon, type, ability, ptr, count) +#else +#define TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildPokemon, type, ability, ptr, count) TryGetAbilityInfluencedWildMonIndex(wildPokemon, type, ability, ptr) +#endif static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 area, u8 flags) { @@ -418,15 +427,15 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar switch (area) { case WILD_AREA_LAND: - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_STEEL, ABILITY_MAGNET_PULL, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_STEEL, ABILITY_MAGNET_PULL, &wildMonIndex, LAND_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex, LAND_WILD_COUNT)) break; wildMonIndex = ChooseWildMonIndex_Land(); break; case WILD_AREA_WATER: - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex, WATER_WILD_COUNT)) break; wildMonIndex = ChooseWildMonIndex_WaterRock(); @@ -923,8 +932,11 @@ static bool8 TryGetRandomWildMonIndexByType(const struct WildPokemon *wildMon, u *monIndex = validIndexes[Random() % validMonCount]; return TRUE; } - +#ifdef BUGFIX +static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex, u32 size) +#else static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u8 ability, u8 *monIndex) +#endif { if (GetMonData(&gPlayerParty[0], MON_DATA_SANITY_IS_EGG)) return FALSE; @@ -933,7 +945,11 @@ static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildM else if (Random() % 2 != 0) return FALSE; +#ifdef BUGFIX + return TryGetRandomWildMonIndexByType(wildMon, type, size, monIndex); +#else return TryGetRandomWildMonIndexByType(wildMon, type, LAND_WILD_COUNT, monIndex); +#endif } static void ApplyFluteEncounterRateMod(u32 *encRate) From 136ea395acf53e44ca3577b70cd6a34ab32164fd Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 19 Sep 2023 12:15:03 +0200 Subject: [PATCH 243/256] Fix tests breaking on modern (#3319) * Fix tests breaking on modern * modern tests fix - macro and rodata changes * ld script rodata modern --- include/test/battle.h | 3 ++- ld_script_test.txt | 8 ++++---- test/battle/move_effect/stockpile.c | 1 - 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/test/battle.h b/include/test/battle.h index 7bffd10a6c..e1b00efbdd 100644 --- a/include/test/battle.h +++ b/include/test/battle.h @@ -837,7 +837,8 @@ void SendOut(u32 sourceLine, struct BattlePokemon *, u32 partyIndex); #define ABILITY_POPUP(battler, ...) QueueAbility(__LINE__, battler, (struct AbilityEventContext) { __VA_ARGS__ }) #define ANIMATION(type, id, ...) QueueAnimation(__LINE__, type, id, (struct AnimationEventContext) { __VA_ARGS__ }) #define HP_BAR(battler, ...) QueueHP(__LINE__, battler, (struct HPEventContext) { APPEND_TRUE(__VA_ARGS__) }) -#define MESSAGE(pattern) QueueMessage(__LINE__, (const u8 []) _(pattern)) +// Static const is needed to make the modern compiler put the pattern variable in the .rodata section, instead of putting it on stack(which can break the game). +#define MESSAGE(pattern) do {static const u8 msg[] = _(pattern); QueueMessage(__LINE__, msg);} while (0) #define STATUS_ICON(battler, status) QueueStatus(__LINE__, battler, (struct StatusEventContext) { status }) enum QueueGroupType diff --git a/ld_script_test.txt b/ld_script_test.txt index f7a74e0863..f4abad98ab 100644 --- a/ld_script_test.txt +++ b/ld_script_test.txt @@ -84,9 +84,9 @@ SECTIONS { .rodata : ALIGN(4) { - src/*.o(.rodata); - gflib/*.o(.rodata); - data/*.o(.rodata); + src/*.o(.rodata*); + gflib/*.o(.rodata*); + data/*.o(.rodata*); } =0 song_data : @@ -111,7 +111,7 @@ SECTIONS { test/*.o(.tests); __stop_tests = .; test/*.o(.text); - test/*.o(.rodata); + test/*.o(.rodata*); } =0 /* DWARF debug sections. diff --git a/test/battle/move_effect/stockpile.c b/test/battle/move_effect/stockpile.c index 0e540bb5d3..e5f108a16d 100644 --- a/test/battle/move_effect/stockpile.c +++ b/test/battle/move_effect/stockpile.c @@ -250,4 +250,3 @@ DOUBLE_BATTLE_TEST("Stockpile's Def and Sp. Def boost is lost after using Spit U EXPECT_MUL_EQ(results[2].dmgSpecialBefore, UQ_4_12(1.0), results[2].dmgSpecialAfter); } } - From 415d6e90544b189ce6e819331e8914f3b4777d46 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:54:52 +0200 Subject: [PATCH 244/256] Fix Toxic Debris after user faints (#3323) --- src/battle_util.c | 3 +-- test/battle/ability/toxic_debris.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index b13e3cb293..51e5c1abee 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5707,8 +5707,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && IS_MOVE_PHYSICAL(gCurrentMove) && TARGET_TURN_DAMAGED - && (gSideTimers[gBattlerAttacker].toxicSpikesAmount != 2) - && IsBattlerAlive(gBattlerTarget)) + && (gSideTimers[gBattlerAttacker].toxicSpikesAmount != 2)) { SWAP(gBattlerAttacker, gBattlerTarget, i); BattleScriptPushCursor(); diff --git a/test/battle/ability/toxic_debris.c b/test/battle/ability/toxic_debris.c index 95749358a4..f3e23e5abb 100644 --- a/test/battle/ability/toxic_debris.c +++ b/test/battle/ability/toxic_debris.c @@ -80,6 +80,21 @@ SINGLE_BATTLE_TEST("Each hit of a Multi Hit move activates Toxic Debris") } } +SINGLE_BATTLE_TEST("Toxic Debris activates if user faints after physical hit") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { HP(1); Ability(ABILITY_TOXIC_DEBRIS); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_TACKLE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, opponent); + MESSAGE("Wobbuffet fainted!"); + ABILITY_POPUP(player, ABILITY_TOXIC_DEBRIS); + MESSAGE("Poison Spikes were scattered all around the opposing team's feet!"); + } +} + SINGLE_BATTLE_TEST("Air Balloon is popped after Toxic Debris activates") { GIVEN { From d4217739e60968e2da7f67660746165886e5c9cf Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Wed, 20 Sep 2023 20:03:00 -0500 Subject: [PATCH 245/256] Add type boosting held item power config (#3326) Co-authored-by: Eduardo Quezada D'Ottone --- include/config/item.h | 1 + src/data/items.h | 40 +++++++++++++++++++++++----------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/include/config/item.h b/include/config/item.h index 8aaadbe842..0cd89b612d 100644 --- a/include/config/item.h +++ b/include/config/item.h @@ -12,6 +12,7 @@ #define I_GRISEOUS_ORB_FORM_CHANGE GEN_LATEST // In Gen9+, the Griseous Orb no longer changes Giratina's form when held. #define I_GEM_BOOST_POWER GEN_LATEST // In Gen5+, the Gem boost power was reduced from 50% to 30%. #define I_USE_EVO_HELD_ITEMS_FROM_BAG FALSE // If TRUE, items such as Razor Claw or Electirizer will be usable from the bag to evolve a Pokémon just like in LA. +#define I_TYPE_BOOST_POWER GEN_LATEST // In Gen4+, all regular type boosting held items had their power increased from 10% to 20%. eg. Charcoal // TM config #define I_REUSABLE_TMS FALSE // In Gen5-8, TMs are reusable. Setting this to TRUE will make all vanilla TMs reusable, though they can also be cherry-picked by setting their importance to 1. diff --git a/src/data/items.h b/src/data/items.h index 842dae6bd2..6990e7cded 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -14,6 +14,12 @@ #define GEM_BOOST_PARAM 50 #endif +#if I_TYPE_BOOST_POWER >= GEN_4 // For non Pokémon-specific type-boosting held items. + #define TYPE_BOOST_PARAM 20 +#else + #define TYPE_BOOST_PARAM 10 +#endif + const struct Item gItems[] = { [ITEM_NONE] = @@ -5169,7 +5175,7 @@ const struct Item gItems[] = .name = _("Silk Scarf"), .price = 1000, .holdEffect = HOLD_EFFECT_NORMAL_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sSilkScarfDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5182,7 +5188,7 @@ const struct Item gItems[] = .name = _("Charcoal"), .price = 1000, .holdEffect = HOLD_EFFECT_FIRE_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sCharcoalDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5195,7 +5201,7 @@ const struct Item gItems[] = .name = _("Mystic Water"), .price = 1000, .holdEffect = HOLD_EFFECT_WATER_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sMysticWaterDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5208,7 +5214,7 @@ const struct Item gItems[] = .name = _("Magnet"), .price = 1000, .holdEffect = HOLD_EFFECT_ELECTRIC_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sMagnetDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5221,7 +5227,7 @@ const struct Item gItems[] = .name = _("Miracle Seed"), .price = 1000, .holdEffect = HOLD_EFFECT_GRASS_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sMiracleSeedDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5234,7 +5240,7 @@ const struct Item gItems[] = .name = _("Never-MeltIce"), .price = 1000, .holdEffect = HOLD_EFFECT_ICE_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sNeverMeltIceDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5247,7 +5253,7 @@ const struct Item gItems[] = .name = _("Black Belt"), .price = 1000, .holdEffect = HOLD_EFFECT_FIGHTING_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sBlackBeltDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5260,7 +5266,7 @@ const struct Item gItems[] = .name = _("Poison Barb"), .price = 1000, .holdEffect = HOLD_EFFECT_POISON_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sPoisonBarbDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5273,7 +5279,7 @@ const struct Item gItems[] = .name = _("Soft Sand"), .price = 1000, .holdEffect = HOLD_EFFECT_GROUND_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sSoftSandDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5286,7 +5292,7 @@ const struct Item gItems[] = .name = _("Sharp Beak"), .price = 1000, .holdEffect = HOLD_EFFECT_FLYING_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sSharpBeakDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5299,7 +5305,7 @@ const struct Item gItems[] = .name = _("Twisted Spoon"), .price = 1000, .holdEffect = HOLD_EFFECT_PSYCHIC_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sTwistedSpoonDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5312,7 +5318,7 @@ const struct Item gItems[] = .name = _("Silver Powder"), .price = 1000, .holdEffect = HOLD_EFFECT_BUG_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sSilverPowderDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5325,7 +5331,7 @@ const struct Item gItems[] = .name = _("Hard Stone"), .price = 1000, .holdEffect = HOLD_EFFECT_ROCK_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sHardStoneDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5338,7 +5344,7 @@ const struct Item gItems[] = .name = _("Spell Tag"), .price = 1000, .holdEffect = HOLD_EFFECT_GHOST_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sSpellTagDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5351,7 +5357,7 @@ const struct Item gItems[] = .name = _("Dragon Fang"), .price = 1000, .holdEffect = HOLD_EFFECT_DRAGON_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sDragonFangDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5364,7 +5370,7 @@ const struct Item gItems[] = .name = _("Black Glasses"), .price = 1000, .holdEffect = HOLD_EFFECT_DARK_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sBlackGlassesDesc, .pocket = POCKET_ITEMS, .type = ITEM_USE_BAG_MENU, @@ -5377,7 +5383,7 @@ const struct Item gItems[] = .name = _("Metal Coat"), .price = 2000, .holdEffect = HOLD_EFFECT_STEEL_POWER, - .holdEffectParam = 20, + .holdEffectParam = TYPE_BOOST_PARAM, .description = sMetalCoatDesc, .pocket = POCKET_ITEMS, .type = EVO_HELD_ITEM_TYPE, From 5b498e968f513c86ba725be228420678c7da2698 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 21 Sep 2023 15:24:26 +0200 Subject: [PATCH 246/256] Fix no return in isbattlergrounded (#3328) --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 51e5c1abee..473ef80f8e 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8313,7 +8313,7 @@ static bool32 IsBattlerGrounded2(u8 battler, bool32 considerInverse) bool32 IsBattlerGrounded(u8 battler) { - IsBattlerGrounded2(battler, FALSE); + return IsBattlerGrounded2(battler, FALSE); } bool32 IsBattlerAlive(u8 battler) From b673738ba5f7e14e5830379d3a83823c7758145f Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Thu, 21 Sep 2023 16:26:00 +0200 Subject: [PATCH 247/256] Add config for pressing B in the PC --- include/config/overworld.h | 3 +++ src/pokemon_storage_system.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/include/config/overworld.h b/include/config/overworld.h index f62588b5fd..e8056236a0 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -7,6 +7,9 @@ // Other settings #define OW_POISON_DAMAGE GEN_LATEST // In Gen4, Pokémon no longer faint from Poison in the overworld. In Gen5+, they no longer take damage at all. +// PC settings +#define OW_PC_PRESS_B GEN_LATEST // In Gen4, pressing B when holding a Pokémon is equivalent to placing it. In Gen3, it gives the "You're holding a Pokémon!" error. + // Overworld flags // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. // Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 9cb894f134..849c523b8e 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -3685,9 +3685,14 @@ static void Task_OnBPressed(u8 taskId) case 0: if (IsMonBeingMoved()) { + #if OW_PC_PRESS_B < GEN_4 PlaySE(SE_FAILURE); PrintMessage(MSG_HOLDING_POKE); sStorage->state = 1; + #else + PlaySE(SE_SELECT); + SetPokeStorageTask(Task_PlaceMon); + #endif } else if (IsMovingItem()) { From 8bf8c9e7a78d21cbbda6974298d9948b8bac4ce7 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Thu, 21 Sep 2023 16:45:02 +0200 Subject: [PATCH 248/256] Fix flag debug screen corrupting subsequent message boxes (#3317) --- src/debug.c | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/src/debug.c b/src/debug.c index a455dcc04a..ff689241c4 100644 --- a/src/debug.c +++ b/src/debug.c @@ -150,17 +150,17 @@ enum { // Battle 1 AI FLags DEBUG_BATTLE_1_MENU_ITEM_CONTINUE, }; enum { // Battle 2 Terrain - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7, - DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_0, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_1, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_2, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_3, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_4, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_5, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_6, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_7, + DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_8, DEBUG_BATTLE_2_MENU_ITEM_TERRAIN_9, -}; +}; enum { // Give DEBUG_GIVE_MENU_ITEM_ITEM_X, DEBUG_GIVE_MENU_ITEM_ALLTMS, @@ -1109,7 +1109,7 @@ static void Debug_InitDebugBattleData(void) sDebugBattleData->submenu = 0; sDebugBattleData->battleType = 0xFF; sDebugBattleData->battleTerrain = 0xFF; - + for (i = 0; i < AI_FLAG_COUNT; i++) sDebugBattleData->aiFlags[i] = FALSE; } @@ -1145,7 +1145,7 @@ static void Debug_RefreshListMenu(u8 taskId) // Copy item names for all entries but the last (which is Cancel) for(i = 0; i < totalItems; i++) { - + if (sDebugMenuListData->listId == 1 && sDebugBattleData->submenu > 1) { u16 species; @@ -1179,7 +1179,7 @@ static void Debug_RefreshListMenu(u8 taskId) flagResult == 0xFF; name = sDebugMenu_Items_Battle_1[i].name; } - + if (flagResult == 0xFF) { StringCopy(&sDebugMenuListData->itemNames[i][0], name); @@ -1315,10 +1315,6 @@ static void DebugTask_HandleMenuInput_FlagsVars(u8 taskId) { PlaySE(SE_SELECT); Debug_DestroyMenu(taskId); - - ClearStdWindowAndFrame(gTasks[taskId].data[2], TRUE); - RemoveWindow(gTasks[taskId].data[2]); - Debug_ReShowMainMenu(); } } @@ -1356,7 +1352,7 @@ static void DebugTask_HandleMenuInput_Battle(u8 taskId) ListMenuGetCurrentItemArrayId(listTaskId, &idx); if (gMain.newKeys & A_BUTTON) - { + { PlaySE(SE_SELECT); switch (sDebugBattleData->submenu) @@ -1389,7 +1385,7 @@ static void DebugTask_HandleMenuInput_Battle(u8 taskId) sDebugBattleData->aiFlags[idx] = !sDebugBattleData->aiFlags[idx]; Debug_RedrawListMenu(taskId); } - + break; case 2: // Terrain sDebugBattleData->submenu++; @@ -1413,7 +1409,7 @@ static void DebugTask_HandleMenuInput_Battle(u8 taskId) Debug_ReShowMainMenu(); break; case 2: // Skip AI Flag selection if wild battle - if (sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD + if (sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD || sDebugBattleData->battleType == DEBUG_BATTLE_0_MENU_ITEM_WILD_DOUBLE) { sDebugBattleData->submenu = 0; @@ -1450,7 +1446,7 @@ static void Debug_InitializeBattle(u8 taskId) gBattleTypeFlags = (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_TWO_OPPONENTS | BATTLE_TYPE_TRAINER | BATTLE_TYPE_INGAME_PARTNER); break; } - + // Set terrain gBattleTerrain = sDebugBattleData->battleTerrain; @@ -2401,7 +2397,7 @@ static void DebugAction_FlagsVars_ToggleFlyFlags(u8 taskId) else { PlaySE(SE_PC_LOGIN); - + FlagSet(FLAG_VISITED_LITTLEROOT_TOWN); FlagSet(FLAG_VISITED_OLDALE_TOWN); FlagSet(FLAG_VISITED_DEWFORD_TOWN); From f564d4492be22fab9caeb8034241cbf77846d111 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Thu, 21 Sep 2023 16:43:52 -0300 Subject: [PATCH 249/256] GetBattlerHoldEffect usage optimizations (#3330) * GetBattlerHoldEffect optimizations * Type fix --- src/battle_script_commands.c | 12 ++++++------ src/battle_util.c | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 1183d40520..61bd528b65 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -11431,8 +11431,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr { bool32 certain = FALSE; bool32 notProtectAffected = FALSE; - u32 index, battler; - u16 battlerAbility; + u32 index, battler, battlerAbility, battlerHoldEffect; bool32 affectsUser = (flags & MOVE_EFFECT_AFFECTS_USER); bool32 mirrorArmored = (flags & STAT_CHANGE_MIRROR_ARMOR); @@ -11442,6 +11441,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr battler = gBattlerTarget; battlerAbility = GetBattlerAbility(battler); + battlerHoldEffect = GetBattlerHoldEffect(battler, TRUE); gSpecialStatuses[battler].changedStatsBattlerId = gBattlerAttacker; @@ -11500,13 +11500,13 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gBattlescriptCurrInstr = BattleScript_ButItFailed; return STAT_CHANGE_DIDNT_WORK; } - else if ((GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET + else if ((battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET || battlerAbility == ABILITY_CLEAR_BODY || battlerAbility == ABILITY_FULL_METAL_BODY || battlerAbility == ABILITY_WHITE_SMOKE) && (!affectsUser || mirrorArmored) && !certain && gCurrentMove != MOVE_CURSE) { - if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) + if (battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET) { RecordItemEffectBattle(battler, HOLD_EFFECT_CLEAR_AMULET); } @@ -11521,7 +11521,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr { BattleScriptPush(BS_ptr); gBattleScripting.battler = battler; - if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) + if (battlerHoldEffect == HOLD_EFFECT_CLEAR_AMULET) { gBattlescriptCurrInstr = BattleScript_ItemNoStatLoss; } @@ -11591,7 +11591,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr RecordAbilityBattle(battler, ABILITY_SHIELD_DUST); return STAT_CHANGE_DIDNT_WORK; } - else if (flags == 0 && GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_COVERT_CLOAK) + else if (flags == 0 && battlerHoldEffect == HOLD_EFFECT_COVERT_CLOAK) { RecordItemEffectBattle(battler, HOLD_EFFECT_COVERT_CLOAK); return STAT_CHANGE_DIDNT_WORK; diff --git a/src/battle_util.c b/src/battle_util.c index 473ef80f8e..0c18ceb1c8 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8288,7 +8288,9 @@ bool32 IsBattlerProtected(u8 battler, u16 move) // Only called directly when calculating damage type effectiveness static bool32 IsBattlerGrounded2(u8 battler, bool32 considerInverse) { - if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_IRON_BALL) + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + + if (holdEffect == HOLD_EFFECT_IRON_BALL) return TRUE; if (gFieldStatuses & STATUS_FIELD_GRAVITY) return TRUE; @@ -8302,7 +8304,7 @@ static bool32 IsBattlerGrounded2(u8 battler, bool32 considerInverse) return FALSE; if (gStatuses3[battler] & STATUS3_MAGNET_RISE) return FALSE; - if (GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_AIR_BALLOON) + if (holdEffect == HOLD_EFFECT_AIR_BALLOON) return FALSE; if (GetBattlerAbility(battler) == ABILITY_LEVITATE) return FALSE; From 662dd7d2c635f3dcc018c76ff63eb839ef8473b9 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 22 Sep 2023 17:20:00 +0200 Subject: [PATCH 250/256] Fix give daycare egg option giving buggy eggs (#3335) --- data/scripts/debug.inc | 24 +++++++++++++++++++++ include/daycare.h | 2 ++ src/daycare.c | 15 +++++++------- src/debug.c | 47 ++++++++++++++++++++++++++---------------- 4 files changed, 62 insertions(+), 26 deletions(-) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 64b7e1dd01..b29291a7f9 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -142,5 +142,29 @@ DebugScript_HatchAnEgg_Text_EmptyParty:: DebugScript_HatchAnEgg_Text_NotAnEgg:: .string "That's not a Pokémon Egg.$" + +DebugScript_ZeroDaycareMons:: + msgbox DebugText_DaycareNoPokemon, MSGBOX_DEFAULT + releaseall + end + +DebugScript_OneDaycareMons:: + msgbox DebugText_DaycareOnePokemon, MSGBOX_DEFAULT + releaseall + end + +DebugScript_DaycareMonsNotCompatible:: + msgbox DebugText_DaycarePokemonNotCompatible, MSGBOX_DEFAULT + releaseall + end + +DebugText_DaycareNoPokemon: + .string "You have no Pokémon at Daycare.$" + +DebugText_DaycareOnePokemon: + .string "You have only one Pokémon at Daycare.$" + +DebugText_DaycarePokemonNotCompatible: + .string "Your Pokémon at Daycare can't\nhave babies together!$" .endif diff --git a/include/daycare.h b/include/daycare.h index 62a7918ff3..066499fd41 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -14,6 +14,7 @@ u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest); u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest); u8 CountPokemonInDaycare(struct DayCare *daycare); void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDaycareMail *mixMail); +s8 Daycare_FindEmptySpot(struct DayCare *daycare); void StoreSelectedPokemonInDaycare(void); u16 TakePokemonFromDaycare(void); void GetDaycareCost(void); @@ -26,6 +27,7 @@ bool8 ShouldEggHatch(void); u16 GetSelectedMonNicknameAndSpecies(void); void GetDaycareMonNicknames(void); u8 GetDaycareState(void); +u8 GetDaycareCompatibilityScore(struct DayCare *daycare); void SetDaycareCompatibilityString(void); bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio); void ShowDaycareLevelMenu(void); diff --git a/src/daycare.c b/src/daycare.c index 0d2ab7130b..6078135fd7 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -32,7 +32,6 @@ extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; static void ClearDaycareMonMail(struct DaycareMail *mail); static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare); -static u8 GetDaycareCompatibilityScore(struct DayCare *daycare); static void DaycarePrintMonInfo(u8 windowId, u32 daycareSlotId, u8 y); static u8 ModifyBreedingScoreForOvalCharm(u8 score); static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves); @@ -151,7 +150,7 @@ void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDay mixMail->numDaycareMons = numDaycareMons; } -static s8 Daycare_FindEmptySpot(struct DayCare *daycare) +s8 Daycare_FindEmptySpot(struct DayCare *daycare) { u8 i; @@ -193,7 +192,7 @@ static void TransferEggMoves(void) { if (k == i || !GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[k].mon, MON_DATA_SANITY_HAS_SPECIES)) continue; - + // Check if you can inherit from them if (GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[k].mon, MON_DATA_SPECIES) != GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[i].mon, MON_DATA_SPECIES) #if P_EGG_MOVE_TRANSFER >= GEN_9 @@ -493,7 +492,7 @@ static s32 GetParentToInheritNature(struct DayCare *daycare) if (ItemId_GetHoldEffect(GetBoxMonData(&daycare->mons[i].mon, MON_DATA_HELD_ITEM)) == HOLD_EFFECT_PREVENT_EVOLVE #if P_NATURE_INHERITANCE == GEN_3 && (GetBoxMonGender(&daycare->mons[i].mon) == MON_FEMALE || IS_DITTO(GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES))) - #endif + #endif ) { slot = i; numWithEverstone++; @@ -603,7 +602,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) } start = 0; - if (ItemId_GetHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM && + if (ItemId_GetHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM && ItemId_GetHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM) { whichParents[0] = Random() % DAYCARE_MON_COUNT; @@ -612,14 +611,14 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) RemoveIVIndexFromList(availableIVs, selectedIvs[0]); start++; } - else if (ItemId_GetHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM) + else if (ItemId_GetHoldEffect(motherItem) == HOLD_EFFECT_POWER_ITEM) { whichParents[0] = 0; selectedIvs[0] = ItemId_GetSecondaryId(motherItem); RemoveIVIndexFromList(availableIVs, selectedIvs[0]); start++; } - else if (ItemId_GetHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM) + else if (ItemId_GetHoldEffect(fatherItem) == HOLD_EFFECT_POWER_ITEM) { whichParents[0] = 1; selectedIvs[0] = ItemId_GetSecondaryId(fatherItem); @@ -1230,7 +1229,7 @@ static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) return FALSE; } -static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) +u8 GetDaycareCompatibilityScore(struct DayCare *daycare) { u32 i; u16 eggGroups[DAYCARE_MON_COUNT][EGG_GROUPS_PER_MON]; diff --git a/src/debug.c b/src/debug.c index ff689241c4..f915235d8b 100644 --- a/src/debug.c +++ b/src/debug.c @@ -372,24 +372,27 @@ static void DebugAction_Sound_MUS(u8 taskId); static void DebugAction_Sound_MUS_SelectId(u8 taskId); -extern u8 Debug_FlagsNotSetOverworldConfigMessage[]; -extern u8 Debug_FlagsNotSetBattleConfigMessage[]; -extern u8 Debug_Script_1[]; -extern u8 Debug_Script_2[]; -extern u8 Debug_Script_3[]; -extern u8 Debug_Script_4[]; -extern u8 Debug_Script_5[]; -extern u8 Debug_Script_6[]; -extern u8 Debug_Script_7[]; -extern u8 Debug_Script_8[]; +extern const u8 Debug_FlagsNotSetOverworldConfigMessage[]; +extern const u8 Debug_FlagsNotSetBattleConfigMessage[]; +extern const u8 Debug_Script_1[]; +extern const u8 Debug_Script_2[]; +extern const u8 Debug_Script_3[]; +extern const u8 Debug_Script_4[]; +extern const u8 Debug_Script_5[]; +extern const u8 Debug_Script_6[]; +extern const u8 Debug_Script_7[]; +extern const u8 Debug_Script_8[]; +extern const u8 DebugScript_DaycareMonsNotCompatible[]; +extern const u8 DebugScript_OneDaycareMons[]; +extern const u8 DebugScript_ZeroDaycareMons[]; -extern u8 Debug_ShowFieldMessageStringVar4[]; -extern u8 Debug_CheatStart[]; -extern u8 Debug_HatchAnEgg[]; -extern u8 PlayersHouse_2F_EventScript_SetWallClock[]; -extern u8 PlayersHouse_2F_EventScript_CheckWallClock[]; -extern u8 Debug_CheckSaveBlock[]; -extern u8 Debug_BoxFilledMessage[]; +extern const u8 Debug_ShowFieldMessageStringVar4[]; +extern const u8 Debug_CheatStart[]; +extern const u8 Debug_HatchAnEgg[]; +extern const u8 PlayersHouse_2F_EventScript_SetWallClock[]; +extern const u8 PlayersHouse_2F_EventScript_CheckWallClock[]; +extern const u8 Debug_CheckSaveBlock[]; +extern const u8 Debug_BoxFilledMessage[]; #include "data/map_group_count.h" @@ -3467,7 +3470,15 @@ static void DebugAction_Give_MaxBattlePoints(u8 taskId) static void DebugAction_Give_DayCareEgg(u8 taskId) { - TriggerPendingDaycareEgg(); + s32 emptySlot = Daycare_FindEmptySpot(&gSaveBlock1Ptr->daycare); + if (emptySlot == 0) // no daycare mons + Debug_DestroyMenu_Full_Script(taskId, DebugScript_ZeroDaycareMons); + else if (emptySlot == 1) // 1 daycare mon + Debug_DestroyMenu_Full_Script(taskId, DebugScript_OneDaycareMons); + else if (GetDaycareCompatibilityScore(&gSaveBlock1Ptr->daycare) == PARENTS_INCOMPATIBLE) // not compatible parents + Debug_DestroyMenu_Full_Script(taskId, DebugScript_DaycareMonsNotCompatible); + else // 2 pokemon which can have a pokemon baby together + TriggerPendingDaycareEgg(); } // ******************************* From b77dec123417ca057f66cf745496a592f8f7de6e Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Sat, 23 Sep 2023 04:44:30 -0400 Subject: [PATCH 251/256] Transform updates AI_PARTY data (#3295) * Cmd_transformdataexecution overwrite AI_PARTY data * remove whitespace * add RecordAllMoves --------- Co-authored-by: ghoulslash --- include/battle_ai_util.h | 1 + src/battle_ai_util.c | 5 +++++ src/battle_script_commands.c | 8 ++++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 5f077fe0cc..cec3241379 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -14,6 +14,7 @@ bool32 BattlerHasAi(u32 battlerId); bool32 IsAiBattlerAware(u32 battlerId); void ClearBattlerMoveHistory(u8 battlerId); void RecordLastUsedMoveBy(u32 battlerId, u32 move); +void RecordAllMoves(u32 battler); void RecordKnownMove(u8 battlerId, u32 move); void RecordAbilityBattle(u8 battlerId, u16 abilityId); void ClearBattlerAbilityHistory(u8 battlerId); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index ed75fbad24..10668e07dd 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -507,6 +507,11 @@ void RecordKnownMove(u8 battlerId, u32 move) } } +void RecordAllMoves(u32 battler) +{ + memcpy(AI_PARTY->mons[GetBattlerSide(battler)][gBattlerPartyIndexes[battler]].moves, gBattleMons[battler].moves, MAX_MON_MOVES * sizeof(u16)); +} + void RecordAbilityBattle(u8 battlerId, u16 abilityId) { BATTLE_HISTORY->abilities[battlerId] = abilityId; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 61bd528b65..36327515c6 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -12439,7 +12439,7 @@ static void Cmd_transformdataexecution(void) { s32 i; u8 *battleMonAttacker, *battleMonTarget; - + gBattleMons[gBattlerAttacker].status2 |= STATUS2_TRANSFORMED; gDisableStructs[gBattlerAttacker].disabledMove = MOVE_NONE; gDisableStructs[gBattlerAttacker].disableTimer = 0; @@ -12464,7 +12464,11 @@ static void Cmd_transformdataexecution(void) else gBattleMons[gBattlerAttacker].pp[i] = 5; } - + + // update AI knowledge + RecordAllMoves(gBattlerAttacker); + RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); + BtlController_EmitResetActionMoveSelection(gBattlerAttacker, BUFFER_A, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gBattlerAttacker); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; From 6eb6282c89387f4636fd7725f555623d3f3c5ec7 Mon Sep 17 00:00:00 2001 From: Kurausukun Date: Sat, 23 Sep 2023 17:06:12 -0400 Subject: [PATCH 252/256] add missing constant usage in m4a_1 --- src/m4a_1.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/m4a_1.s b/src/m4a_1.s index 3f15788061..20f9197a8d 100644 --- a/src/m4a_1.s +++ b/src/m4a_1.s @@ -1395,7 +1395,7 @@ _081DD9F6: cmp r6, 0 beq _081DDA14 ldrb r0, [r4, o_CgbChannel_modify] - movs r1, 0x1 + movs r1, CGB_CHANNEL_MO_VOL orrs r0, r1 strb r0, [r4, o_CgbChannel_modify] _081DDA14: From 7d9555dadbc829d16fe6c2f2958cb0b7fce071b4 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 24 Sep 2023 11:06:45 +0200 Subject: [PATCH 253/256] change some more variables to u32 --- include/battle_ai_util.h | 12 +++---- src/battle_ai_main.c | 74 ++++++++++++++++++++-------------------- src/battle_ai_util.c | 22 ++++++------ 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 9239f03578..b91865a08a 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -24,7 +24,7 @@ void ClearBattlerItemEffectHistory(u32 battlerId); void SaveBattlerData(u32 battlerId); void SetBattlerData(u32 battlerId); void RestoreBattlerData(u32 battlerId); -u16 GetAIChosenMove(u32 battlerId); +u32 GetAIChosenMove(u32 battlerId); u32 GetTotalBaseStat(u32 species); bool32 IsTruantMonVulnerable(u32 battlerAI, u32 opposingBattler); bool32 AtMaxHp(u32 battler); @@ -55,16 +55,16 @@ bool32 ShouldAbsorb(u32 battlerAtk, u32 battlerDef, u32 move, s32 damage); bool32 ShouldRecover(u32 battlerAtk, u32 battlerDef, u32 move, u32 healPercent); bool32 ShouldSetScreen(u32 battlerAtk, u32 battlerDef, u32 moveEffect); bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 moveIndex); -bool32 IsRecycleEncouragedItem(u16 item); -bool32 ShouldRestoreHpBerry(u32 battlerAtk, u16 item); -bool32 IsStatBoostingBerry(u16 item); -bool32 CanKnockOffItem(u32 battler, u16 item); +bool32 IsRecycleEncouragedItem(u32 item); +bool32 ShouldRestoreHpBerry(u32 battlerAtk, u32 item); +bool32 IsStatBoostingBerry(u32 item); +bool32 CanKnockOffItem(u32 battler, u32 item); bool32 IsAbilityOfRating(u32 ability, s8 rating); s8 GetAbilityRating(u32 ability); bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability); bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move); u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move); -bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u16 chosenMove); +bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove); // stat stage checks bool32 AnyStatIsRaised(u32 battlerId); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index ea7e6e2ae4..4f778530d5 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -28,8 +28,8 @@ #define AI_ACTION_WATCH (1 << 2) #define AI_ACTION_DO_NOT_ATTACK (1 << 3) -static u8 ChooseMoveOrAction_Singles(u32 battlerAi); -static u8 ChooseMoveOrAction_Doubles(u32 battlerAi); +static u32 ChooseMoveOrAction_Singles(u32 battlerAi); +static u32 ChooseMoveOrAction_Doubles(u32 battlerAi); static inline void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u32 battler); static bool32 IsPinchBerryItemEffect(u32 holdEffect); @@ -117,7 +117,7 @@ void BattleAI_SetupItems(void) static u32 GetWildAiFlags(void) { - u8 avgLevel = GetMonData(&gEnemyParty[0], MON_DATA_LEVEL); + u32 avgLevel = GetMonData(&gEnemyParty[0], MON_DATA_LEVEL); u32 flags; if (IsDoubleBattle()) @@ -469,7 +469,7 @@ static bool32 AI_ShouldSwitchIfBadMoves(u32 battler, bool32 doubleBattle) return FALSE; } -static u8 ChooseMoveOrAction_Singles(u32 battlerAi) +static u32 ChooseMoveOrAction_Singles(u32 battlerAi) { u8 currentMoveArray[MAX_MON_MOVES]; u8 consideredMoveArray[MAX_MON_MOVES]; @@ -527,7 +527,7 @@ static u8 ChooseMoveOrAction_Singles(u32 battlerAi) return consideredMoveArray[Random() % numOfBestMoves]; } -static u8 ChooseMoveOrAction_Doubles(u32 battlerAi) +static u32 ChooseMoveOrAction_Doubles(u32 battlerAi) { s32 i, j; u32 flags; @@ -686,17 +686,17 @@ static inline void BattleAI_DoAIProcessing(struct AI_ThinkingStruct *aiThink, u3 static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { // move data - u8 atkPriority = GetMovePriority(battlerAtk, move); + s8 atkPriority = GetMovePriority(battlerAtk, move); u32 moveEffect = gBattleMoves[move].effect; s32 moveType; u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); - u16 accuracy = AI_GetMoveAccuracy(battlerAtk, battlerDef, move); + u32 accuracy = AI_GetMoveAccuracy(battlerAtk, battlerDef, move); struct AiLogicData *aiData = AI_DATA; u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; u32 weather; - u16 predictedMove = aiData->predictedMoves[battlerDef]; + u32 predictedMove = aiData->predictedMoves[battlerDef]; if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) return score; @@ -2255,10 +2255,10 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } else { - u8 atkAttack = gBattleMons[battlerAtk].attack; - u8 defAttack = gBattleMons[battlerDef].attack; - u8 atkSpAttack = gBattleMons[battlerAtk].spAttack; - u8 defSpAttack = gBattleMons[battlerDef].spAttack; + u32 atkAttack = gBattleMons[battlerAtk].attack; + u32 defAttack = gBattleMons[battlerDef].attack; + u32 atkSpAttack = gBattleMons[battlerAtk].spAttack; + u32 defSpAttack = gBattleMons[battlerDef].spAttack; if (atkAttack + atkSpAttack >= defAttack + defSpAttack) // Combined attacker stats are > than combined target stats score -= 10; @@ -2272,10 +2272,10 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } else { - u8 atkDefense = gBattleMons[battlerAtk].defense; - u8 defDefense = gBattleMons[battlerDef].defense; - u8 atkSpDefense = gBattleMons[battlerAtk].spDefense; - u8 defSpDefense = gBattleMons[battlerDef].spDefense; + u32 atkDefense = gBattleMons[battlerAtk].defense; + u32 defDefense = gBattleMons[battlerDef].defense; + u32 atkSpDefense = gBattleMons[battlerAtk].spDefense; + u32 defSpDefense = gBattleMons[battlerDef].spDefense; if (atkDefense + atkSpDefense >= defDefense + defSpDefense) //Combined attacker stats are > than combined target stats score -= 10; @@ -2475,8 +2475,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_TOPSY_TURVY: if (!IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { - u8 targetPositiveStages = CountPositiveStatStages(battlerDef); - u8 targetNegativeStages = CountNegativeStatStages(battlerDef); + u32 targetPositiveStages = CountPositiveStatStages(battlerDef); + u32 targetNegativeStages = CountNegativeStatStages(battlerDef); if (targetPositiveStages == 0 //No good stat changes to make bad || PartnerMoveIsSameAsAttacker(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove)) @@ -2728,18 +2728,18 @@ static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { // move data - u8 moveType = gBattleMoves[move].type; - u16 effect = gBattleMoves[move].effect; + u32 moveType = gBattleMoves[move].type; + u32 effect = gBattleMoves[move].effect; u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); // ally data u32 battlerAtkPartner = BATTLE_PARTNER(battlerAtk); struct AiLogicData *aiData = AI_DATA; - u16 atkPartnerAbility = aiData->abilities[BATTLE_PARTNER(battlerAtk)]; - u16 atkPartnerHoldEffect = aiData->holdEffects[BATTLE_PARTNER(battlerAtk)]; + u32 atkPartnerAbility = aiData->abilities[BATTLE_PARTNER(battlerAtk)]; + u32 atkPartnerHoldEffect = aiData->holdEffects[BATTLE_PARTNER(battlerAtk)]; bool32 partnerProtecting = (gBattleMoves[aiData->partnerMove].effect == EFFECT_PROTECT); bool32 attackerHasBadAbility = (GetAbilityRating(aiData->abilities[battlerAtk]) < 0); bool32 partnerHasBadAbility = (GetAbilityRating(atkPartnerAbility) < 0); - u16 predictedMove = aiData->predictedMoves[battlerDef]; + u32 predictedMove = aiData->predictedMoves[battlerDef]; SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); @@ -3142,8 +3142,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score u32 moveEffect = gBattleMoves[move].effect; struct AiLogicData *aiData = AI_DATA; u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; - u8 atkPriority = GetMovePriority(battlerAtk, move); - u16 predictedMove = aiData->predictedMoves[battlerDef]; + s8 atkPriority = GetMovePriority(battlerAtk, move); + u32 predictedMove = aiData->predictedMoves[battlerDef]; u32 predictedMoveSlot = GetMoveSlot(GetMovesArray(battlerDef), predictedMove); bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); u32 i; @@ -3780,8 +3780,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score break; case EFFECT_PAIN_SPLIT: { - u16 newHp = (gBattleMons[battlerAtk].hp + gBattleMons[battlerDef].hp) / 2; - u16 healthBenchmark = (gBattleMons[battlerAtk].hp * 12) / 10; + u32 newHp = (gBattleMons[battlerAtk].hp + gBattleMons[battlerDef].hp) / 2; + u32 healthBenchmark = (gBattleMons[battlerAtk].hp * 12) / 10; if (newHp > healthBenchmark && ShouldAbsorb(battlerAtk, battlerDef, move, aiData->simulatedDmg[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex])) score += 2; } @@ -4268,7 +4268,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score && (move != MOVE_RAGE_POWDER || IsAffectedByPowder(battlerDef, aiData->abilities[battlerDef], aiData->holdEffects[battlerDef])) // Rage Powder doesn't affect powder immunities && IsBattlerAlive(BATTLE_PARTNER(battlerAtk))) { - u16 predictedMoveOnPartner = gLastMoves[BATTLE_PARTNER(battlerAtk)]; + u32 predictedMoveOnPartner = gLastMoves[BATTLE_PARTNER(battlerAtk)]; if (predictedMoveOnPartner != MOVE_NONE && !IS_MOVE_STATUS(predictedMoveOnPartner)) score += 3; } @@ -4409,8 +4409,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score score++; if (aiData->abilities[battlerAtk] == ABILITY_RIPEN) { - u16 item = GetUsedHeldItem(battlerAtk); - u16 toHeal = (ItemId_GetHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / ItemId_GetHoldEffectParam(item); + u32 item = GetUsedHeldItem(battlerAtk); + u32 toHeal = (ItemId_GetHoldEffectParam(item) == 10) ? 10 : gBattleMons[battlerAtk].maxHP / ItemId_GetHoldEffectParam(item); if (IsStatBoostingBerry(item) && aiData->hpPercents[battlerAtk] > 60) score++; @@ -4602,8 +4602,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score case EFFECT_GUARD_SPLIT: { // TODO also kind of cheating... - u16 newDefense = (gBattleMons[battlerAtk].defense + gBattleMons[battlerDef].defense) / 2; - u16 newSpDef = (gBattleMons[battlerAtk].spDefense + gBattleMons[battlerDef].spDefense) / 2; + u32 newDefense = (gBattleMons[battlerAtk].defense + gBattleMons[battlerDef].defense) / 2; + u32 newSpDef = (gBattleMons[battlerAtk].spDefense + gBattleMons[battlerDef].spDefense) / 2; if ((newDefense > gBattleMons[battlerAtk].defense && newSpDef >= gBattleMons[battlerAtk].spDefense) || (newSpDef > gBattleMons[battlerAtk].spDefense && newDefense >= gBattleMons[battlerAtk].defense)) @@ -4612,8 +4612,8 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score break; case EFFECT_POWER_SPLIT: { - u16 newAttack = (gBattleMons[battlerAtk].attack + gBattleMons[battlerDef].attack) / 2; - u16 newSpAtk = (gBattleMons[battlerAtk].spAttack + gBattleMons[battlerDef].spAttack) / 2; + u32 newAttack = (gBattleMons[battlerAtk].attack + gBattleMons[battlerDef].attack) / 2; + u32 newSpAtk = (gBattleMons[battlerAtk].spAttack + gBattleMons[battlerDef].spAttack) / 2; if ((newAttack > gBattleMons[battlerAtk].attack && newSpAtk >= gBattleMons[battlerAtk].spAttack) || (newSpAtk > gBattleMons[battlerAtk].spAttack && newAttack >= gBattleMons[battlerAtk].attack)) @@ -5162,8 +5162,8 @@ static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u32 move, s32 scor static s32 AI_HPAware(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { - u16 effect = gBattleMoves[move].effect; - u8 moveType = gBattleMoves[move].type; + u32 effect = gBattleMoves[move].effect; + u32 moveType = gBattleMoves[move].type; SetTypeBeforeUsingMove(move, battlerAtk); GET_MOVE_TYPE(move, moveType); @@ -5375,7 +5375,7 @@ static s32 AI_Roaming(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) // Safari pokemon logic static s32 AI_Safari(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { - u8 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. + u32 safariFleeRate = gBattleStruct->safariEscapeFactor * 5; // Safari flee rate, from 0-20. if ((Random() % 100) < safariFleeRate) AI_Flee(); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index e75d253f3f..0a65f40833 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -419,7 +419,7 @@ static const u16 sOtherMoveCallingMoves[] = }; // Functions -u16 GetAIChosenMove(u32 battlerId) +u32 GetAIChosenMove(u32 battlerId) { return (gBattleMons[battlerId].moves[gBattleStruct->aiMoveOrAction[battlerId]]); } @@ -1543,7 +1543,7 @@ bool32 ShouldTryOHKO(u32 battlerAtk, u32 battlerDef, u32 atkAbility, u32 defAbil } else // test the odds { - u16 odds = accuracy + (gBattleMons[battlerAtk].level - gBattleMons[battlerDef].level); + u32 odds = accuracy + (gBattleMons[battlerAtk].level - gBattleMons[battlerDef].level); #if B_SHEER_COLD_ACC >= GEN_7 if (move == MOVE_SHEER_COLD && !IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_ICE)) odds -= 10; @@ -2508,7 +2508,7 @@ static bool32 PartyBattlerShouldAvoidHazards(u32 currBattler, u32 switchBattler) struct Pokemon *mon = GetPartyBattlerPartyData(currBattler, switchBattler); u32 ability = GetMonAbility(mon); // we know our own party data u32 holdEffect; - u16 species = GetMonData(mon, MON_DATA_SPECIES); + u32 species = GetMonData(mon, MON_DATA_SPECIES); u32 flags = gSideStatuses[GetBattlerSide(currBattler)] & (SIDE_STATUS_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES); s32 hazardDamage = 0; u32 type1 = gSpeciesInfo[species].types[0]; @@ -2726,7 +2726,7 @@ bool32 ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 move, u32 return DONT_PIVOT; } -bool32 CanKnockOffItem(u32 battler, u16 item) +bool32 CanKnockOffItem(u32 battler, u32 item) { if (item == ITEM_NONE) return FALSE; @@ -3312,8 +3312,8 @@ bool32 ShouldUseWishAromatherapy(u32 battlerAtk, u32 battlerDef, u32 move) for (i = 0; i < PARTY_SIZE; i++) { - u16 currHp = GetMonData(&party[i], MON_DATA_HP); - u16 maxHp = GetMonData(&party[i], MON_DATA_MAX_HP); + u32 currHp = GetMonData(&party[i], MON_DATA_HP); + u32 maxHp = GetMonData(&party[i], MON_DATA_MAX_HP); if (!GetMonData(&party[i], MON_DATA_IS_EGG, NULL) && currHp > 0) { @@ -3477,7 +3477,7 @@ bool32 PartyHasMoveSplit(u32 battlerId, u32 split) for (j = 0; j < MAX_MON_MOVES; j++) { u32 move = GetMonData(&party[i], MON_DATA_MOVE1 + j, NULL); - u16 pp = GetMonData(&party[i], MON_DATA_PP1 + j, NULL); + u32 pp = GetMonData(&party[i], MON_DATA_PP1 + j, NULL); if (pp > 0 && move != MOVE_NONE) { @@ -3532,7 +3532,7 @@ static const u16 sRecycleEncouragedItems[] = }; // Its assumed that the berry is strategically given, so no need to check benefits of the berry -bool32 IsStatBoostingBerry(u16 item) +bool32 IsStatBoostingBerry(u32 item) { switch (item) { @@ -3550,7 +3550,7 @@ bool32 IsStatBoostingBerry(u16 item) } } -bool32 ShouldRestoreHpBerry(u32 battlerAtk, u16 item) +bool32 ShouldRestoreHpBerry(u32 battlerAtk, u32 item) { switch (item) { @@ -3570,7 +3570,7 @@ bool32 ShouldRestoreHpBerry(u32 battlerAtk, u16 item) } } -bool32 IsRecycleEncouragedItem(u16 item) +bool32 IsRecycleEncouragedItem(u32 item) { u32 i; for (i = 0; i < ARRAY_COUNT(sRecycleEncouragedItems); i++) @@ -3797,7 +3797,7 @@ bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move) } //TODO - this could use some more sophisticated logic -bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u16 chosenMove) +bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove) { // simple logic. just upgrades chosen move to z move if possible, unless regular move would kill opponent if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && battlerDef == BATTLE_PARTNER(battlerAtk)) From 996bc6ba2442c34b34e4dbbd63e8c2ef24ec0825 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sun, 24 Sep 2023 22:07:56 +0200 Subject: [PATCH 254/256] Fix order of messages in gen6 exp share (#3339) Co-authored-by: Eduardo Quezada D'Ottone --- include/battle.h | 13 ++- src/battle_main.c | 1 - src/battle_script_commands.c | 221 +++++++++++++++++++---------------- 3 files changed, 129 insertions(+), 106 deletions(-) diff --git a/include/battle.h b/include/battle.h index 0dab993d07..9809b686d9 100644 --- a/include/battle.h +++ b/include/battle.h @@ -536,7 +536,15 @@ struct BattleStruct u8 turnCountersTracker; u16 wrappedMove[MAX_BATTLERS_COUNT]; u16 moveTarget[MAX_BATTLERS_COUNT]; + u32 expShareExpValue; + u32 expValue; + u8 expGettersOrder[PARTY_SIZE]; // First battlers which were sent out, then via exp-share u8 expGetterMonId; + u8 expOrderId:3; + u8 expGetterBattlerId:2; + u8 teamGotExpMsgPrinted:1; // The 'Rest of your team got msg' has been printed. + u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party. + u8 expSentInMons; // As bits for player party mons - not including exp share mons. u8 wildVictorySong; u8 dynamicMoveType; u8 wrappedBy[MAX_BATTLERS_COUNT]; @@ -549,9 +557,7 @@ struct BattleStruct u8 switchInAbilitiesCounter; u8 faintedActionsState; u8 faintedActionsBattlerId; - u32 expValue; u8 scriptPartyIdx; // for printing the nickname - u8 sentInPokes; bool8 selectionScriptFinished[MAX_BATTLERS_COUNT]; u8 battlerPartyIndexes[MAX_BATTLERS_COUNT]; u8 monToSwitchIntoId[MAX_BATTLERS_COUNT]; @@ -569,7 +575,6 @@ struct BattleStruct u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT]; u8 prevSelectedPartySlot; u8 stringMoveType; - u8 expGetterBattlerId; u8 absentBattlerFlags; u8 palaceFlags; // First 4 bits are "is <= 50% HP and not asleep" for each battler, last 4 bits are selected moves to pass to AI u8 field_93; // related to choosing pokemon? @@ -592,7 +597,6 @@ struct BattleStruct u8 switchInItemsCounter; u8 arenaTurnCounter; u8 turnSideTracker; - u8 givenExpMons; // Bits for enemy party's pokemon that gave exp to player's party. u16 lastTakenMoveFrom[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT]; // a 2-D array [target][attacker] union { struct LinkBattlerHeader linkBattlerHeader; @@ -975,7 +979,6 @@ extern u16 gBattleWeather; extern struct WishFutureKnock gWishFutureKnock; extern u16 gIntroSlideFlags; extern u8 gSentPokesToOpponent[2]; -extern u16 gExpShareExp; extern struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT]; extern struct BattleScripting gBattleScripting; extern struct BattleStruct *gBattleStruct; diff --git a/src/battle_main.c b/src/battle_main.c index 9dc4c5ac80..da102b0e9b 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -212,7 +212,6 @@ EWRAM_DATA u16 gBattleWeather = 0; EWRAM_DATA struct WishFutureKnock gWishFutureKnock = {0}; EWRAM_DATA u16 gIntroSlideFlags = 0; EWRAM_DATA u8 gSentPokesToOpponent[2] = {0}; -EWRAM_DATA u16 gExpShareExp = 0; EWRAM_DATA struct BattleEnigmaBerry gEnigmaBerries[MAX_BATTLERS_COUNT] = {0}; EWRAM_DATA struct BattleScripting gBattleScripting = {0}; EWRAM_DATA struct BattleStruct *gBattleStruct = NULL; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 36327515c6..7b58c54602 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4023,19 +4023,28 @@ static void Cmd_jumpbasedontype(void) FEATURE_FLAG_ASSERT(I_EXP_SHARE_FLAG, YouNeedToSetTheExpShareFlagToAnUnusedFlag); +static u32 GetMonHoldEffect(struct Pokemon *mon) +{ + u32 holdEffect; + u32 item = GetMonData(mon, MON_DATA_HELD_ITEM); + + if (item == ITEM_ENIGMA_BERRY_E_READER) + holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; + else + holdEffect = ItemId_GetHoldEffect(item); + + return holdEffect; +} + static void Cmd_getexp(void) { CMD_ARGS(u8 battler); - u16 item; + u32 holdEffect; s32 i; // also used as stringId - u8 holdEffect; - s32 sentIn; - s32 viaExpShare = 0; - u32 *exp = &gBattleStruct->expValue; + u8 *expMonId = &gBattleStruct->expGetterMonId; gBattlerFainted = GetBattlerForBattleScript(cmd->battler); - sentIn = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; switch (gBattleScripting.getexpState) { @@ -4061,26 +4070,42 @@ static void Cmd_getexp(void) break; case 1: // calculate experience points to redistribute { - u32 calculatedExp; - s32 viaSentIn; + u32 orderId = 0; + u32 calculatedExp = 0; + u32 *exp = &gBattleStruct->expValue; + u32 sentInBits = gSentPokesToOpponent[(gBattlerFainted & 2) >> 1]; + u32 expShareBits = 0; + s32 viaSentIn = 0; + s32 viaExpShare = 0; - for (viaSentIn = 0, i = 0; i < PARTY_SIZE; i++) + for (i = 0; i < PARTY_SIZE; i++) { if (!IsValidForBattle(&gPlayerParty[i])) continue; - if (gBitTable[i] & sentIn) + if (gBitTable[i] & sentInBits) viaSentIn++; - item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); - - if (item == ITEM_ENIGMA_BERRY_E_READER) - holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; - else - holdEffect = ItemId_GetHoldEffect(item); - + holdEffect = GetMonHoldEffect(&gPlayerParty[i]); if (holdEffect == HOLD_EFFECT_EXP_SHARE || IsGen6ExpShareEnabled()) + { + expShareBits |= gBitTable[i]; viaExpShare++; + } } + // Get order of mons getting exp: 1. all mons via sent in, 2. all mons via exp share + for (i = 0; i < PARTY_SIZE; i++) + { + if (gBitTable[i] & sentInBits) + gBattleStruct->expGettersOrder[orderId++] = i; + } + for (i = 0; i < PARTY_SIZE; i++) + { + if (!(gBitTable[i] & sentInBits) && gBitTable[i] & expShareBits) + gBattleStruct->expGettersOrder[orderId++] = i; + } + if (orderId < PARTY_SIZE) + gBattleStruct->expGettersOrder[orderId] = PARTY_SIZE; + #if (B_SCALED_EXP >= GEN_5) && (B_SCALED_EXP != GEN_6) calculatedExp = gSpeciesInfo[gBattleMons[gBattlerFainted].species].expYield * gBattleMons[gBattlerFainted].level / 5; #else @@ -4097,54 +4122,49 @@ static void Cmd_getexp(void) if (*exp == 0) *exp = 1; - gExpShareExp = calculatedExp / 2 / viaExpShare; - if (gExpShareExp == 0) - gExpShareExp = 1; + gBattleStruct->expShareExpValue = calculatedExp / 2 / viaExpShare; + if (gBattleStruct->expShareExpValue == 0) + gBattleStruct->expShareExpValue = 1; } else { *exp = SAFE_DIV(calculatedExp, viaSentIn); if (*exp == 0) *exp = 1; - gExpShareExp = 0; + gBattleStruct->expShareExpValue = 0; } #else *exp = calculatedExp; - gExpShareExp = calculatedExp / 2; - if (gExpShareExp == 0) - gExpShareExp = 1; + gBattleStruct->expShareExpValue = calculatedExp / 2; + if (gBattleStruct->expShareExpValue == 0) + gBattleStruct->expShareExpValue = 1; #endif gBattleScripting.getexpState++; - gBattleStruct->expGetterMonId = 0; - gBattleStruct->sentInPokes = sentIn; + gBattleStruct->expOrderId = 0; + *expMonId = gBattleStruct->expGettersOrder[0]; + gBattleStruct->expSentInMons = sentInBits; } // fall through case 2: // set exp value to the poke in expgetter_id and print message if (gBattleControllerExecFlags == 0) { - item = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HELD_ITEM); + bool32 wasSentOut = ((gBattleStruct->expSentInMons & gBitTable[*expMonId]) != 0); + holdEffect = GetMonHoldEffect(&gPlayerParty[*expMonId]); - if (item == ITEM_ENIGMA_BERRY_E_READER) - holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; - else - holdEffect = ItemId_GetHoldEffect(item); - - if ((holdEffect != HOLD_EFFECT_EXP_SHARE && !(gBattleStruct->sentInPokes & 1) && !IsGen6ExpShareEnabled()) - || GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) + if ((holdEffect != HOLD_EFFECT_EXP_SHARE && !wasSentOut && !IsGen6ExpShareEnabled()) + || GetMonData(&gPlayerParty[*expMonId], MON_DATA_SPECIES_OR_EGG) == SPECIES_EGG) { - *(&gBattleStruct->sentInPokes) >>= 1; gBattleScripting.getexpState = 5; gBattleMoveDamage = 0; // used for exp } - else if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterMonId >= 3) - || GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) == MAX_LEVEL) + else if ((gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && *expMonId >= 3) + || GetMonData(&gPlayerParty[*expMonId], MON_DATA_LEVEL) == MAX_LEVEL) { - *(&gBattleStruct->sentInPokes) >>= 1; gBattleScripting.getexpState = 5; gBattleMoveDamage = 0; // used for exp #if B_MAX_LEVEL_EV_GAINS >= GEN_5 - MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); + MonGainEVs(&gPlayerParty[*expMonId], gBattleMons[gBattlerFainted].species); #endif } else @@ -4161,10 +4181,10 @@ static void Cmd_getexp(void) gBattleStruct->wildVictorySong++; } - if (IsValidForBattle(&gPlayerParty[gBattleStruct->expGetterMonId])) + if (IsValidForBattle(&gPlayerParty[*expMonId])) { - if (gBattleStruct->sentInPokes & 1) - gBattleMoveDamage = *exp; + if (wasSentOut) + gBattleMoveDamage = gBattleStruct->expValue; else gBattleMoveDamage = 0; @@ -4174,14 +4194,16 @@ static void Cmd_getexp(void) && gBattleMoveDamage == 0 #endif ) - gBattleMoveDamage += gExpShareExp; + { + gBattleMoveDamage += gBattleStruct->expShareExpValue; + } - ApplyExperienceMultipliers(&gBattleMoveDamage, gBattleStruct->expGetterMonId, gBattlerFainted); + ApplyExperienceMultipliers(&gBattleMoveDamage, *expMonId, gBattlerFainted); - if (IsTradedMon(&gPlayerParty[gBattleStruct->expGetterMonId])) + if (IsTradedMon(&gPlayerParty[*expMonId])) { // check if the pokemon doesn't belong to the player - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gBattleStruct->expGetterMonId >= 3) + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && *expMonId >= 3) i = STRINGID_EMPTYSTRING4; else i = STRINGID_ABOOSTED; @@ -4194,7 +4216,7 @@ static void Cmd_getexp(void) // get exp getter battler if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { - if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && !(gAbsentBattlerFlags & gBitTable[2])) + if (gBattlerPartyIndexes[2] == *expMonId && !(gAbsentBattlerFlags & gBitTable[2])) gBattleStruct->expGetterBattlerId = 2; else { @@ -4209,24 +4231,24 @@ static void Cmd_getexp(void) gBattleStruct->expGetterBattlerId = 0; } - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, gBattleStruct->expGetterMonId); + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, gBattleStruct->expGetterBattlerId, *expMonId); // buffer 'gained' or 'gained a boosted' PREPARE_STRING_BUFFER(gBattleTextBuff2, i); PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 6, gBattleMoveDamage); - if (gBattleStruct->sentInPokes & 1) + if (wasSentOut || holdEffect == HOLD_EFFECT_EXP_SHARE) { PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBattlerId); } - else if (!IsValidForBattle(&gPlayerParty[gBattleStruct->expGetterMonId+1])) + else if (IsGen6ExpShareEnabled() && !gBattleStruct->teamGotExpMsgPrinted) // Print 'the rest of your team got exp' message once, when all of the sent-in mons were given experience { gLastUsedItem = ITEM_EXP_SHARE; - PrepareStringBattle(STRINGID_TEAMGAINEDEXP, 0); + PrepareStringBattle(STRINGID_TEAMGAINEDEXP, gBattleStruct->expGetterBattlerId); + gBattleStruct->teamGotExpMsgPrinted = TRUE; } - MonGainEVs(&gPlayerParty[gBattleStruct->expGetterMonId], gBattleMons[gBattlerFainted].species); + MonGainEVs(&gPlayerParty[*expMonId], gBattleMons[gBattlerFainted].species); } - gBattleStruct->sentInPokes >>= 1; gBattleScripting.getexpState++; } } @@ -4235,16 +4257,16 @@ static void Cmd_getexp(void) if (gBattleControllerExecFlags == 0) { gBattleResources->bufferB[gBattleStruct->expGetterBattlerId][0] = 0; - if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL) != MAX_LEVEL) + if (GetMonData(&gPlayerParty[*expMonId], MON_DATA_HP) && GetMonData(&gPlayerParty[*expMonId], MON_DATA_LEVEL) != MAX_LEVEL) { - 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); + gBattleResources->beforeLvlUp->stats[STAT_HP] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_MAX_HP); + gBattleResources->beforeLvlUp->stats[STAT_ATK] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_ATK); + gBattleResources->beforeLvlUp->stats[STAT_DEF] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_DEF); + gBattleResources->beforeLvlUp->stats[STAT_SPEED] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_SPEED); + gBattleResources->beforeLvlUp->stats[STAT_SPATK] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_SPATK); + gBattleResources->beforeLvlUp->stats[STAT_SPDEF] = GetMonData(&gPlayerParty[*expMonId], MON_DATA_SPDEF); - BtlController_EmitExpUpdate(gBattleStruct->expGetterBattlerId, BUFFER_A, gBattleStruct->expGetterMonId, gBattleMoveDamage); + BtlController_EmitExpUpdate(gBattleStruct->expGetterBattlerId, BUFFER_A, *expMonId, gBattleMoveDamage); MarkBattlerForControllerExec(gBattleStruct->expGetterBattlerId); } gBattleScripting.getexpState++; @@ -4257,27 +4279,27 @@ static void Cmd_getexp(void) if (gBattleResources->bufferB[expBattler][0] == CONTROLLER_TWORETURNVALUES && gBattleResources->bufferB[expBattler][1] == RET_VALUE_LEVELED_UP) { u16 temp, battler = 0xFF; - if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[expBattler] == gBattleStruct->expGetterMonId) + if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gBattlerPartyIndexes[expBattler] == *expMonId) HandleLowHpMusicChange(&gPlayerParty[gBattlerPartyIndexes[expBattler]], expBattler); - PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, expBattler, gBattleStruct->expGetterMonId); - PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL)); + PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, expBattler, *expMonId); + PREPARE_BYTE_NUMBER_BUFFER(gBattleTextBuff2, 3, GetMonData(&gPlayerParty[*expMonId], MON_DATA_LEVEL)); BattleScriptPushCursor(); - gLeveledUpInBattle |= gBitTable[gBattleStruct->expGetterMonId]; + gLeveledUpInBattle |= gBitTable[*expMonId]; gBattlescriptCurrInstr = BattleScript_LevelUp; gBattleMoveDamage = T1_READ_32(&gBattleResources->bufferB[expBattler][2]); - AdjustFriendship(&gPlayerParty[gBattleStruct->expGetterMonId], FRIENDSHIP_EVENT_GROW_LEVEL); + AdjustFriendship(&gPlayerParty[*expMonId], FRIENDSHIP_EVENT_GROW_LEVEL); // update battle mon structure after level up - if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId && gBattleMons[0].hp) + if (gBattlerPartyIndexes[0] == *expMonId && gBattleMons[0].hp) battler = 0; - else if (gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) + else if (gBattlerPartyIndexes[2] == *expMonId && gBattleMons[2].hp && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)) battler = 2; if (battler != 0xFF) { - CopyMonLevelAndBaseStatsToBattleMon(battler, &gPlayerParty[gBattleStruct->expGetterMonId]); + CopyMonLevelAndBaseStatsToBattleMon(battler, &gPlayerParty[*expMonId]); if (gStatuses3[battler] & STATUS3_POWER_TRICK) SWAP(gBattleMons[battler].attack, gBattleMons[battler].defense, temp); } @@ -4298,17 +4320,24 @@ static void Cmd_getexp(void) } else { - gBattleStruct->expGetterMonId++; - if (gBattleStruct->expGetterMonId < PARTY_SIZE) - gBattleScripting.getexpState = 2; // loop again - else - gBattleScripting.getexpState = 6; // we're done + if ((++gBattleStruct->expOrderId) < PARTY_SIZE) + { + *expMonId = gBattleStruct->expGettersOrder[gBattleStruct->expOrderId]; + if (*expMonId < PARTY_SIZE) + { + gBattleScripting.getexpState = 2; // loop again + break; + } + } + gBattleScripting.getexpState = 6; // we're done } break; case 6: // increment instruction if (gBattleControllerExecFlags == 0) { // not sure why gf clears the item and ability here + gBattleStruct->expOrderId = 0; + gBattleStruct->teamGotExpMsgPrinted = FALSE; gBattleMons[gBattlerFainted].item = ITEM_NONE; gBattleMons[gBattlerFainted].ability = ABILITY_NONE; gBattlescriptCurrInstr = cmd->nextInstr; @@ -7044,9 +7073,10 @@ static void Cmd_handlelearnnewmove(void) { CMD_ARGS(const u8 *learnedMovePtr, const u8 *nothingToLearnPtr, bool8 isFirstMove); - u16 learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], cmd->isFirstMove); + u32 monId = gBattleStruct->expGetterMonId; + u16 learnMove = MonTryLearningNewMove(&gPlayerParty[monId], cmd->isFirstMove); while (learnMove == MON_ALREADY_KNOWS_MOVE) - learnMove = MonTryLearningNewMove(&gPlayerParty[gBattleStruct->expGetterMonId], FALSE); + learnMove = MonTryLearningNewMove(&gPlayerParty[monId], FALSE); if (learnMove == MOVE_NONE) { @@ -7060,7 +7090,7 @@ static void Cmd_handlelearnnewmove(void) { u32 battler = GetBattlerAtPosition(B_POSITION_PLAYER_LEFT); - if (gBattlerPartyIndexes[battler] == gBattleStruct->expGetterMonId + if (gBattlerPartyIndexes[battler] == monId && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { GiveMoveToBattleMon(&gBattleMons[battler], learnMove); @@ -7068,7 +7098,7 @@ static void Cmd_handlelearnnewmove(void) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) { battler = GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT); - if (gBattlerPartyIndexes[battler] == gBattleStruct->expGetterMonId + if (gBattlerPartyIndexes[battler] == monId && !(gBattleMons[battler].status2 & STATUS2_TRANSFORMED)) { GiveMoveToBattleMon(&gBattleMons[battler], learnMove); @@ -7834,15 +7864,14 @@ static bool8 SlideInLevelUpBanner(void) static void DrawLevelUpBannerText(void) { - u16 monLevel; - u8 monGender; struct TextPrinterTemplate printerTemplate; u8 *txtPtr; u32 var; - monLevel = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_LEVEL); - monGender = GetMonGender(&gPlayerParty[gBattleStruct->expGetterMonId]); - GetMonNickname(&gPlayerParty[gBattleStruct->expGetterMonId], gStringVar4); + struct Pokemon *mon = &gPlayerParty[gBattleStruct->expGetterMonId]; + u32 monLevel = GetMonData(mon, MON_DATA_LEVEL); + u8 monGender = GetMonGender(mon); + GetMonNickname(mon, gStringVar4); printerTemplate.currentChar = gStringVar4; printerTemplate.windowId = B_WIN_LEVEL_UP_BANNER; @@ -7912,20 +7941,18 @@ static bool8 SlideOutLevelUpBanner(void) static void PutMonIconOnLvlUpBanner(void) { u8 spriteId; - const u16 *iconPal; struct SpriteSheet iconSheet; struct SpritePalette iconPalSheet; - u16 species = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_SPECIES); - u32 personality = GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_PERSONALITY); + struct Pokemon *mon = &gPlayerParty[gBattleStruct->expGetterMonId]; + u32 species = GetMonData(mon, MON_DATA_SPECIES); + u32 personality = GetMonData(mon, MON_DATA_PERSONALITY); - const u8 *iconPtr = GetMonIconPtr(species, personality); - iconSheet.data = iconPtr; + iconSheet.data = GetMonIconPtr(species, personality); iconSheet.size = 0x200; iconSheet.tag = TAG_LVLUP_BANNER_MON_ICON; - iconPal = GetValidMonIconPalettePtr(species); - iconPalSheet.data = iconPal; + iconPalSheet.data = GetValidMonIconPalettePtr(species); iconPalSheet.tag = TAG_LVLUP_BANNER_MON_ICON; LoadSpriteSheet(&iconSheet); @@ -12439,7 +12466,7 @@ static void Cmd_transformdataexecution(void) { s32 i; u8 *battleMonAttacker, *battleMonTarget; - + gBattleMons[gBattlerAttacker].status2 |= STATUS2_TRANSFORMED; gDisableStructs[gBattlerAttacker].disabledMove = MOVE_NONE; gDisableStructs[gBattlerAttacker].disableTimer = 0; @@ -12464,11 +12491,11 @@ static void Cmd_transformdataexecution(void) else gBattleMons[gBattlerAttacker].pp[i] = 5; } - + // update AI knowledge RecordAllMoves(gBattlerAttacker); RecordAbilityBattle(gBattlerAttacker, gBattleMons[gBattlerAttacker].ability); - + BtlController_EmitResetActionMoveSelection(gBattlerAttacker, BUFFER_A, RESET_MOVE_SELECTION); MarkBattlerForControllerExec(gBattlerAttacker); gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_TRANSFORMED; @@ -16023,13 +16050,7 @@ u8 GetFirstFaintedPartyIndex(u8 battler) void ApplyExperienceMultipliers(s32 *expAmount, u8 expGetterMonId, u8 faintedBattler) { - u16 item = GetMonData(&gPlayerParty[expGetterMonId], MON_DATA_HELD_ITEM); - u8 holdEffect; - - if (item == ITEM_ENIGMA_BERRY_E_READER) - holdEffect = gSaveBlock1Ptr->enigmaBerry.holdEffect; - else - holdEffect = ItemId_GetHoldEffect(item); + u32 holdEffect = GetMonHoldEffect(&gPlayerParty[expGetterMonId]); if (IsTradedMon(&gPlayerParty[expGetterMonId])) *expAmount = (*expAmount * 150) / 100; From 2d397030fad06cbb2a1829caf61be936f416c6b3 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 26 Sep 2023 08:22:26 -0300 Subject: [PATCH 255/256] Incorporate upstream fixes --- src/wild_encounter.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 1b5e91d3a1..6016e08e69 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -57,8 +57,7 @@ static void ApplyFluteEncounterRateMod(u32 *encRate); static void ApplyCleanseTagEncounterRateMod(u32 *encRate); static u8 GetMaxLevelOfSpeciesInWildTable(const struct WildPokemon *wildMon, u16 species, u8 area); #ifdef BUGFIX -static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex); -//static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex, u32 size); //TodoFix +static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex, u32 size); #else static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex); #endif @@ -469,8 +468,7 @@ static void CreateWildMon(u16 species, u8 level) CreateMonWithNature(&gEnemyParty[0], species, level, USE_RANDOM_IVS, PickWildMonNature()); } #ifdef BUGFIX -#define TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildPokemon, type, ability, ptr, count) TryGetAbilityInfluencedWildMonIndex(wildPokemon, type, ability, ptr) -//#define TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildPokemon, type, ability, ptr, count) TryGetAbilityInfluencedWildMonIndex(wildPokemon, type, ability, ptr, count) //TodoFix +#define TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildPokemon, type, ability, ptr, count) TryGetAbilityInfluencedWildMonIndex(wildPokemon, type, ability, ptr, count) #else #define TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildPokemon, type, ability, ptr, count) TryGetAbilityInfluencedWildMonIndex(wildPokemon, type, ability, ptr) #endif @@ -487,29 +485,29 @@ static bool8 TryGenerateWildMon(const struct WildPokemonInfo *wildMonInfo, u8 ar break; if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex, LAND_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_LIGHTNING_ROD, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_LIGHTNING_ROD, &wildMonIndex, LAND_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_FIRE, ABILITY_FLASH_FIRE, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_FIRE, ABILITY_FLASH_FIRE, &wildMonIndex, LAND_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_GRASS, ABILITY_HARVEST, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_GRASS, ABILITY_HARVEST, &wildMonIndex, LAND_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_WATER, ABILITY_STORM_DRAIN, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_WATER, ABILITY_STORM_DRAIN, &wildMonIndex, LAND_WILD_COUNT)) break; wildMonIndex = ChooseWildMonIndex_Land(); break; case WILD_AREA_WATER: - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_STEEL, ABILITY_MAGNET_PULL, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_STEEL, ABILITY_MAGNET_PULL, &wildMonIndex, WATER_WILD_COUNT)) break; if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_STATIC, &wildMonIndex, WATER_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_LIGHTNING_ROD, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_ELECTRIC, ABILITY_LIGHTNING_ROD, &wildMonIndex, WATER_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_FIRE, ABILITY_FLASH_FIRE, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_FIRE, ABILITY_FLASH_FIRE, &wildMonIndex, WATER_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_GRASS, ABILITY_HARVEST, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_GRASS, ABILITY_HARVEST, &wildMonIndex, WATER_WILD_COUNT)) break; - if (TryGetAbilityInfluencedWildMonIndex(wildMonInfo->wildPokemon, TYPE_WATER, ABILITY_STORM_DRAIN, &wildMonIndex)) + if (TRY_GET_ABILITY_INFLUENCED_WILD_MON_INDEX(wildMonInfo->wildPokemon, TYPE_WATER, ABILITY_STORM_DRAIN, &wildMonIndex, WATER_WILD_COUNT)) break; wildMonIndex = ChooseWildMonIndex_WaterRock(); @@ -1081,8 +1079,7 @@ static u8 GetMaxLevelOfSpeciesInWildTable(const struct WildPokemon *wildMon, u16 } #ifdef BUGFIX -static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex) -//static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex, u32 size) //TodoFix +static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex, u32 size) #else static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildMon, u8 type, u16 ability, u8 *monIndex) #endif @@ -1095,8 +1092,7 @@ static bool8 TryGetAbilityInfluencedWildMonIndex(const struct WildPokemon *wildM return FALSE; #ifdef BUGFIX - return TryGetRandomWildMonIndexByType(wildMon, type, LAND_WILD_COUNT, monIndex); - //return TryGetRandomWildMonIndexByType(wildMon, type, size, monIndex); //TodoFix + return TryGetRandomWildMonIndexByType(wildMon, type, size, monIndex); #else return TryGetRandomWildMonIndexByType(wildMon, type, LAND_WILD_COUNT, monIndex); #endif From baca050724070d137cf8b6e9492863917d603aeb Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Tue, 26 Sep 2023 15:05:44 -0500 Subject: [PATCH 256/256] Allow Sliggoo to evolve during overworld fog (#3343) --- include/constants/pokemon.h | 3 ++- src/data/pokemon/evolution.h | 6 ++++-- src/pokemon.c | 8 +++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 9b504eaec5..e3dd15000f 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -269,7 +269,7 @@ #define EVO_MAPSEC 25 // Pokémon levels up on specified mapsec #define EVO_ITEM_MALE 26 // specified item is used on a male Pokémon #define EVO_ITEM_FEMALE 27 // specified item is used on a female Pokémon -#define EVO_LEVEL_RAIN 28 // Pokémon reaches the specified level while it's raining +#define EVO_LEVEL_RAIN 28 // Pokémon reaches the specified level during rain in the overworld #define EVO_SPECIFIC_MON_IN_PARTY 29 // Pokémon levels up with a specified Pokémon in party #define EVO_LEVEL_DARK_TYPE_MON_IN_PARTY 30 // Pokémon reaches the specified level with a Dark Type Pokémon in party #define EVO_TRADE_SPECIFIC_MON 31 // Pokémon is traded for a specified Pokémon @@ -283,6 +283,7 @@ #define EVO_ITEM_NIGHT 39 // specified item is used on Pokémon, is night #define EVO_ITEM_DAY 40 // specified item is used on Pokémon, is day #define EVO_ITEM_HOLD 41 // Pokémon levels up, holds specified item +#define EVO_LEVEL_FOG 42 // Pokémon reaches the specified level during fog in the overworld #define EVOS_PER_MON 10 diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index e9a7998505..b26f577257 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -440,8 +440,10 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = [SPECIES_AMAURA] = {{EVO_LEVEL_NIGHT, 39, SPECIES_AURORUS}}, [SPECIES_GOOMY] = {{EVO_LEVEL, 40, SPECIES_SLIGGOO}, {EVO_NONE, 0, SPECIES_SLIGGOO_HISUIAN}}, - [SPECIES_SLIGGOO] = {{EVO_LEVEL_RAIN, 50, SPECIES_GOODRA}}, - [SPECIES_SLIGGOO_HISUIAN] = {{EVO_LEVEL_RAIN, 40, SPECIES_GOODRA_HISUIAN}}, + [SPECIES_SLIGGOO] = {{EVO_LEVEL_RAIN, 50, SPECIES_GOODRA}, + {EVO_LEVEL_FOG, 50, SPECIES_GOODRA}}, + [SPECIES_SLIGGOO_HISUIAN] = {{EVO_LEVEL_RAIN, 50, SPECIES_GOODRA_HISUIAN}, + {EVO_LEVEL_FOG, 50, SPECIES_GOODRA_HISUIAN}}, [SPECIES_PHANTUMP] = {{EVO_TRADE, 0, SPECIES_TREVENANT}, {EVO_ITEM, ITEM_LINKING_CORD, SPECIES_TREVENANT}}, [SPECIES_PUMPKABOO] = {{EVO_TRADE, 0, SPECIES_GOURGEIST}, diff --git a/src/pokemon.c b/src/pokemon.c index dc7054c04b..1320774f1e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6605,6 +6605,12 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, s && (j == WEATHER_RAIN || j == WEATHER_RAIN_THUNDERSTORM || j == WEATHER_DOWNPOUR)) targetSpecies = gEvolutionTable[species][i].targetSpecies; break; + case EVO_LEVEL_FOG: + j = GetCurrentWeather(); + if (gEvolutionTable[species][i].param <= level + && (j == WEATHER_FOG_HORIZONTAL || j == WEATHER_FOG_DIAGONAL)) + targetSpecies = gEvolutionTable[species][i].targetSpecies; + break; case EVO_MAPSEC: if (gMapHeader.regionMapSectionId == gEvolutionTable[species][i].param) targetSpecies = gEvolutionTable[species][i].targetSpecies; @@ -6775,7 +6781,7 @@ bool8 IsMonPastEvolutionLevel(struct Pokemon *mon) int i; u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); u8 level = GetMonData(mon, MON_DATA_LEVEL, 0); - + for (i = 0; i < EVOS_PER_MON; i++) { switch (gEvolutionTable[species][i].method)

      D{D_;pU}=w|l_lw_JPdyZ#*Sm3{#qRnFtF&01my&fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80ltxm9e?`+ z$`Qt*DuyvgiM&?|^3U$s`S1q>h7K&f4es%CFUEFs+lue50HdeNea0sj6)~T^<(57( zUltdRw-2Bd z1b|kU{(B=>X8}Np?^hv2)+XpOG$9BO87)NY0Z?hCYWrAX9srbrs_m~c3)CUjrr#;j zc?j%lpj8N%+fy{Of(|&?^HMAJK9Hg_!6;gw$sm><5S878>f8iU1QF5#f`6-!ZT#O* zKpp_NakmKze}V@5D)K9UjIIFr4S<2)PouvAClkUD0U&hsPl%aPKT{O4M-bB+rm7@C z+@Voz{e9Mb&he7~+?l&K7v7sk>p7ni@Ipjk2zYP>dOfGE0n!?94~r2bK!BcsQZjjP zUdURI00AZhop#BXls0AjY&iO`XaKsAlDQGai$wQ3fbKLAPK0rjssr?f$}|7Oe_g65 Z`USBWFxPkaQAPj&002ovPDHLkV1n5=(8d4& delta 498 zcmVK~zY`?UX%l!Y~kq zlLgiqp?2zkLF(S9-6==;0p$o|Q5C}&q#*B=g8Z|4c0T+80aYDXdKed zxU@i@V0H8bNaX-?Tq{@6D>Z;=1I&?tqd&m|^be&K_3~E}0>CH+kKKS)#C*hdb$Ujbxv1;}pz^!$Dr{T0YhFQx1f zAar$4h?!E~V-&JO5Yru|$|OPDqET)9b=G~(@q+-|nzJ_*Xx^P?`eOoK^fxpFJa|{G zF6tT}tpInk7(oIAB<3qiCil(_SqTy#z=WXPE*X>3ri`CWA7(W`CsHyu!f=-8ehbi< oCc=p@tW&jsUQn4w|MkoI0kIh{*O?@FjQ{`u07*qoM6N<$f}LR2M*si- diff --git a/graphics/pokemon/meowstic/female/anim_front.png b/graphics/pokemon/meowstic/female/anim_front.png index 6982cc35a0312024e20ffa5d57d4a12455911740..53b386c49dadf1efdf9a517bd9afde7f4ab880f7 100644 GIT binary patch delta 1033 zcmV+k1or#!2<`}wbbkZnNklH_-6u>D0-j9*4$mq~YG&@vLWR%1d8FL5A zp5rw1TmcT}>txT#5dXJ*q&`j}ADyA?QX+#H{=|>RNAgF=|EXL|tITbW#C%%);sLkg zYK#E+d|aFI_LICE*API+p^K=(fs#D7l>`U!a@GP=3LKE@7JoajsvVR&3`#dLcqfb)>@nnXMi66AEzZGtHTf#}zI#iTTg zh#14Dwc1Nr*ENaYm=r!SgU#mGTJ0Vavs{0wvz>Z@{nBb{1L99*ruG}H8=f@+2gqip zHBV)^g4HHD0({+Q4y%wi&pFHz8RGetOBg=CR|T|tz<+EF<3f8PRGqZpaHF7OGr5aQ zshTn70yDMa7WieGsTZ3#4#7FGK&ig-h0P2vv)Y`xt(CHonp|5wU>1?RDl-6d=S~Bz zI=DNkOus%ch*jkQahYG`abDJSQlZg~uS%U_6a{o8Fy}Tg9~QydZ8q#^U4vcW;xejPujm_z8)`>3s^^eVir$)E(e>oC3$=1c(q| zGRY|aIE~L44Ea9I$N2O~M^pRII! zUBt*ON-Hyo#~wf~YUrX@lnA>-p^HIL66Dkpd!Tzo!A`9?(1W4`9?o=7l)$4!dqoMo zyrfflAcr78l7q?S!(YKTED~cNMG64!Qgkp7n2W@S-aw)Xw}Zhz zRsuH=Iv7X@7!2fDu*wg3U1yzvT-PW?-v{C|aZ2BMz9^cgM~#y}wbja?*R1JU24K!e#E zNRvujk9z|#H-PmE59ke~vjZ>|xh+*dQ!G&L{@8O`ihvjHGb#2{6L`&GI*$22v(P=D(2u0000O{2pux)svxHT00Y!XL_t(o!`+s@Z`(K&fGGmr zLrXbiRA?odW$JLqD2XXLriEqCaW3?H0vyimWY5VE|F?Z4ZPyYX-2!cw6EcM6C;oVR z;`<2sKRx4qlMVYLk@lMx9xy#^#t2ZRr>#D3Un%R;76J%)9DgEeaG)j+u94tCS&tk* zrN99>cR&^ZG5{z~VSpNd)CZ>b>hrByrkR`sffuFJQlda43O2WZnlU5{0K{UhRto+; zi6Q_j%=^y@-uI6J7ST9h9R!59e^Dzv{|_P}3O`}s0PnTdt-gjWAOjFG5tA1Bc?JCi zmUEN~(Q+=UMt>9+XjVqTJ&cXXS-_k-4zR{_mn;bZA9t|VYPUH9d=cU*43K0CBNXpn zWEueC7>)^+5Co#X+ZmJ6Y$9R|qvmQYW!ttSg3qM#i4hz&ztL*-keKcIOC7D$Gn|)J zOB)b>DI>LBXx;I=6F5K?E3J7Z>ly4eDG}gup*ieA-hV!ouu5c#rzw{(eR;1c==Xrp z9Oi}oM5s1#;TT3i$7XTkT&b2ZR(pF`aSQyl%+<3^oB_c(u|Tap^NG!jF`iS?Rw)~) z-nDfA%qH>|WhQ{(YX7Q(yQ9hV%OitWH69Sx<#idCb=xKl8twSH*2y)jjY^llLxAgC zciqI?LVuR+e9|p^J|E z8bI=2259=H>Mmm!XMcb)R}6Ej8fI%cxVh_odp7{?UVBFwm%G<#Z^YeOAGmwp^#EuO zfbF&qY_~liLV(^Pqw;-s`kld)Z~c6XcW{TVB6m<`; zk=lIon99)a*NW&EaCw(p6^2(6eYqgQ5fQ=D2YVt9(>RTMUiODq4KCGfx?*` z6(vx#=s{6Jm6z-lWfrV@dqv5{`>94ElpplrTUG zCx0MSNDt^oX8Mb(EC_6XsIE3=0AnDVAV89h$>z=1U>qiiF_0<)0Cy>RG!R&e9G@|e zsKM>vXdp9z8wfobNC-F@$dh1=AMm!#_Xcv)wuth<3dXrJkPlG(kt5?P;S5Bm8w8+eiBk;$qG~lz;lyWk!tywNg)D`V1EgV<3?J#x9buf#^?C zpus#CNS8@mj}Hc7ZUE~S9&j*_y&ZV50s~nb32sMP~2UP0^ zvUd~;{@^E!Uc;&Dut8XWEY1Px&j9p{q;T>B-~{`f&o`Y0QYNl;5840#002ovP6b4+ GLSTaY3e&y- diff --git a/graphics/pokemon/meowstic/female/back.png b/graphics/pokemon/meowstic/female/back.png index 6abf2ed7bc1e862f05f038420fc6c1e61565cc3c..42b7f9cc7f71e1a78527b1ae7b2587ca6dca5400 100644 GIT binary patch delta 419 zcmV;U0bKrr1dRlcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0cJ@=K~zY` z?b5++gD?yR;82PCqVNEfMb$G3F95hNfW~-(?c7RLUcU|mij$B|({`ILRpn3q?FjMX zk}vw1etQL~G*B-TDARmlTbpW!$W#k{9UsoLh zQO=;EzPY-DrtpBxFjC4Tp~VnrNxupsz&4Pw$sopnJp*eyW7!Z<20-bl7Eo@1y|bD7 z>j(zymWqR>z#{|80KHzxz~KpS2Ph9n4n(PvJJKD<`?RAEkUf)rx55Ni0fI<^*6W8r z{5d%KKoq|Wf)(6H^?eW~%%A=`;3m=|&M}bpKtnF@-a>C8ARmpn1B~WAnp+G|f32Gd zm&`Y9I7h$%POeXzM0XT9OewH;1U*E5G62(+v3IiXaDm;2{;zZi@c_eK$fOoxTlfF~ N002ovPDHLkV1mzhxCQ_K delta 412 zcmV;N0b~A+1cL;SB#}W-e*gz`Nliru=LQD|9wOQ>V*mgE0cJ@=K~zY`?bOX~gD?yS z@PNd9QFs7kQT2?%3jpp5pfTQHI~S?S>(}9{I0>Ll+ikv7m4EWz&H*8QTJoeH>9;db z90PR%BCVYa=?*{++?`a3O>qzzX+$h|q~i%Ro1sy|ccKIiQe-2>e*_0KTQDXdI^dNN zX`6s)z4l}JyUCam4uIMLOU9glIS0)=qU+`XVUTpjsL}&bI%gywpI>+F1CdXlpuV}! z303L&9mxB%qYIEdle5AISOJ1K1T}~gApRU=-bW|> zWl;OywfK7=3w#>$?SMfXkGO_F(gF>+!Fvs@34o+G<^j-~M{kA@p#EBe@s~_CZMX(N z441i2n*?_h35+SQcLY5|docjxm7#aC?{I_NhyJg#dIG~<63C>O#6bQ40000; diff --git a/graphics/pokemon/meowstic/female/icon.png b/graphics/pokemon/meowstic/female/icon.png index 4f9bc1fad9ea218668bcd99af91e010e41345bf2..379bd27f91beb2d472496f8850228a87998e47b5 100644 GIT binary patch delta 336 zcmV-W0k8hc1EvFzUw;8HNklZt~5Ji21(c%Ljph~j{MjM4DoMDBM8|+<% zCKNPw#of}SVI8bUOS8_h5_lk0x@07mliQ#_SC<}=VfSw*z0KLZyplF4~cTw&F!PoN%YIYwK2kB?w7rE zlg}seGv_hDgkHi)=HDLYk4+Rlfh66}Nngaw?p|b?df&)~D zGAS7j77sEr3`vLaa5{zz2cY(p8-@cA)m?gJIE-T}-#898KAwBcahUixa~vi<49DTl i#|no#AFI%Q!N)hRw~Dcy>i~HG0000n1Iq)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8Y%lJ!!1 z0003lNklf0w|rNcHhq_ z!eaK)f5zvzXoT47Xt#8>3F4PTInUe{kl18-5E=wpk5u zV{xd~7WY(p!){OFikcd5%j?^Mh#bQKq$14$f~wG2f@a16Dnyx-3K-i0UrAG8~4Xl^-038y~N|<~WReoH-67ABN*_=VOJ#osWm#@Im|nueXY^ T6HnTV00000NkvXXu0mjf*ZZLM diff --git a/graphics/pokemon/meowstic/icon.png b/graphics/pokemon/meowstic/icon.png index 17126853a404c596513ef86d69f57fdc29648f37..4e115005f8ac795ed35373994be3bfa4c74a1798 100644 GIT binary patch delta 357 zcmV-r0h<2e1G@u|Uw;8cNkl5P}OSLozV z3az`MiqJtUcg`^weIU4eG-AVyLq34IFfDW5lbV`zdBr^#9Lt z2FjO0vPcQA@)6+hS=JVy>fKTIg}Uirv|H_n z5?xNBcbf#>9+j3j%!0h#RV$0boG}R5ZsoN7nV>!Mdg3K@z{Hz`4YaCZt0lAwkA^@h5-}Xen z;40FK52e!5rnF`%WD zvN#0L^lfE~IR-`@@<)K6=BB*Sc+e(EOaRURJDl({xTka<@;C&5Z7u8>kcUozjJDK1 z2QtlWlK_tlS^t?Om3fmtG{xfO!DA2K)P=No``wiO;8le zGT`d}c<)pykQqJefO8MdT~?qBZ|T5n0<0CvNnl)oo3p!|FS6!&szB#8*ZAz5lp+#? zjNWQv1`eF)h{~3KwOES@X+GSDvLB9~5S7~-Cg z2gH0dmdxzn<#Qf|53L$BH{tPT~)ifv7vy@8a;G&0P` z%s=`^7UCa^Lh|z}z@)Qok4l{6AAnS%=*3?HsmF1L4N$w;G68_Cf4bi*0w@La;@zhn zi0*a(jV1zLzW18wYr6*wE%flDE$sq8h!v3fJOevDfF`s+@1JyY3>amVDh~m|p{o(` z7?@1V9|0l^H|NpN!I+`M4A25(ixWSi`j8%Cp2n8D7JUZF!*HMoE_J^Hg^|o>&45W3 zwapY(rf4`&)E#mzC2_ylZG#&u=|w}gDq$~AH@|>Ubys%9hgFWtO|{Ua+vX*#-K+p5cYY9xnZ5J= m?b|>oq2C0u8WNTG@8TyCeiJOg(WHm~0000K+dvS8SKD2uz2#g>BO_y6t%ht0cS27P2p7^>g1z1@_KaS@Wk@5$buLr-ASU?b zGLn37u||E08-$zrJpar;BZ-grKO+d~M@^<>qzMSJNnoB|0f;7mLWf_4E}_VIg#z@$ zbEKh|0`fL_d_LNF4pYE?CHemAOO`Kx77-8po;@Cp8+AGHfS6a7DmZj3K=#CFza5Sh zV#xtyfkvbXh-kPb10%Gurs=-uhR9RX8R9&pQ$zz*3*%9;nT}17D+m0f5{8YZ@&@-6OUf zl^4?BMo9NW;ydf2;W+;VTp9{+eNcIAZV2hXk$o_u{5^Gq+T6|{Qd)*7W2ZXOX)|&{ zRtin0P#K|OH{-0zH2FwNQ3c>wR@Doatd6M#q}iJ46C{HHnb zV?-h?g@l!_x%W3vG(y^CBrs;(wM}zM>%3n@XR7!KLR3sUqz&3YTe+aI7$~x2DRQgir^?m zQ;gdHwCin)xZe6#e}Yv!CIHVnN$9onL`D>MFRjMov5`O^?=x#8I-||knTGr z-&vPjm-8*)@>qZyjKXVkM@R>bYnee*jtEvp^nzAoPQ8f3N^8 zgbTpJ`xARRL5CTYuxPt23v2?=D6u&2c>o{NrpQtC6M)DPiG|GZ{HHtdZ6qSEg@l!F zx%-V2wU7so1V*ffz6;xyGYfsSRqJ;&rRLL~S5YkY{uO8~yzlt;LoP2NF`T=XiD&S( l1FIMK_j@ei8T~(rvA;4=eG;KAgwOy0002ovPDHLkV1h~u_%;9l diff --git a/graphics/pokemon/meowth/alolan/icon.png b/graphics/pokemon/meowth/alolan/icon.png index 0d64e3aa22b8cb10a5340b31bf09db15e239dc08..d4b80eb6b46178d6e1f78cdc4b465e380b862dc3 100644 GIT binary patch delta 339 zcmV-Z0j&P!0;&U$Bv%J?Nliru;|mWJH79Oi^o;-j02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL007QOL_t(|oZV6}4#OY}>gpcs%st+0e?E<3^FE?osg8YiPG0OT+jQ+a?JCussP zkowC_OX>=v*Cu%#fK{kZPdf`_4m9VhagwB6rbI98Ouzs%%B$s#lqE~@`1aInN+LQ% zv8|$c(1LgvdB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD|A`|!> z8pQwr0Le*2K~y-)-I6^H!ypWWxq;<$ClXyc!3~VfWf*2pHTmK@P93{`+mNBz8`xRyM>W|}&bRSueSFQP>qu@_m% zWxw5D4p=?=S54|)>&JmnyaT3v)(4nG)@^`MRak-HO3)h^=FYY3G3bI~KXN59f02&| YjkcJS1mcb*000002uVdwM6N<$f`rC&1^@s6 diff --git a/graphics/pokemon/meowth/galarian/back.png b/graphics/pokemon/meowth/galarian/back.png index 7040b58c89baaef79006aaa1682586c666e66203..a7ad396e7318bff0bd023db5eddcf3e69fb50b0f 100644 GIT binary patch delta 590 zcmV-U0`-J2dL#mFDtJPnv6VRZF+3DP-a;|ufp6QR^wlFA0A8%e|l=-@vK09Jgor=OwSJ8$y$KZeFkY-YgFEKodbYh{R&{LJmy7FPyl#a z1rUs*2-|=H<(xxU2Y>+7#+Y^+K#KASAVQ|;D0bT{?{kpj137trDPaQy@{& zQVV!XlBGomC(F#V{S8pDlyzyFinesgAo@IUf-$^ST$_$8#w2n>z*Ty zgs2@NH9`7|aHIo&B950v&}%JUE7Rx{m^xAPS_#uA8>&TsyKX!^D97bO1q?xe-225? z1Q6kxc;~1I5@OPu8us&xch37~HPuy;H~{LxEr4*I2m|cU6r4LTOEuI3)Zuw;esi*A z9Hc|IE`I6u{Cme=mTkdEB31$HIsG|>fQT-h_(=ht4&A&d6ROrx4;DUn_kMU^fEsO7 c`-J2dL#mFDtJP{v6VRZF+3DP-a;|ufp6QRtq+ox^8(F576ji<_wm1@ z82b(w?3fU6ro(C?T67yvo?0jQ6^72Dtf zobiOcAT4w786XkkbwhADP+O{e>XJrq z188ZRk-(sD4un7Kwb3oPVGR&|tkZjU3kc_{s7tRg1C&Z5@2GJMsyoIicR>r`<3bRxpux{88e>QN+LC3v7yb{8AL~4Tc z7x733M7$mvL61hh*0#|(Fm|Hou@<&bE>?>Gf7y7tQI7MO3K*gQMevJh?LGP?-8pK4 zgc$XvhQs{QoeTa+O?8nZ4S>4zGa!5*;s6`8CFfpDQVnJRlg!fo=4A6YNQZb`!qV;d z_m02J+k%NiI;;lRar!vLfJhFW_(=ht_T97-%4n5-JU)2$zJH$qgU+xoOY9$orudL6 S!eg)i0000oSGP)Z^M#ZvWu&cYYe`Swy zQPdVGAnlq5K^*SKckfPs*qi=E$;3Y+$_XgO42mNZQ$|3>@;iEk?~6<(Vxk{15jIJ# z3Uj}_#5?gA0d5|5xwt5QH&^Qzu)duxFBY4pD6oQDD3s3;fV~Hteo;t75NOz?QF(!+ z`J}0b05mW=JiNma(KZ+WQfs~+5Y10&0yfyg{2*ZViC(G>)uDHoeLMIbb>Keq?!5yc z=R}Gn_*; zD7$c)zQXExP6uURr-OnfPw01I_;M*ciJKsfr+Oi7+v<&K^<>%@)25>EvuBy#f7LzM?UFojdD8OCkT;*6CD66)s z*oY{9*Zv2PWO@upvit*9T-p1`?_qx}gsM2=$0Gcjdnv@ywOkn?@?abOvh*8pdy!AW pIrwoyd_Nso)nDM7ULnSQ0g7#=NjR6<3IG5A07*qoM6N;tV1jM?{c->R delta 547 zcmV+;0^I$N1&IZaB#}W-e*gz`Nliru=LQD|B@)0}yp#X{0qjXcK~zY`?Uk`^+b|G@ zB|r-|OG)9bVu7R?Q;~x_DWDFpy9MM8Su4~r+=8nKLld@MkIghG}wkVe@pKm6xqs$w}YfA^{M2Z^t8d$+vA zTlp9OK0odSo&!Mi5peoVBNJYrjxMdva%7uN>S_o; z4YR}j2P_a>jUFIz_U8f7{^lg$ygBSI24-LRp(~#s`UtZhhb~9uIS+mGJ^~}>M1lo$ z`i>fS4OED&#@-5ce=DM47X;WNQt&pAz=Z=~-P;O>2@(VriEh1~Kh2@ja25izTae*f zSUt~qV-3-1p8tC_VwI?~EUioIUjU&>wt8{e1`Wy~=>9ym z4%D_h)k&~*OrW+7ZA+F!b5<%Pu4^{94nXo;Cva@`V(pN8fBwiQ7EpIZ>c;!d8hS0G zFn(YW?Yb<=6>SsvdRxw7)I)g_0)$c8l;!4oZ~#!TYYVz=f`FiwsHE_S5k=Xw<=Bv7 z{cZCGAWqE~5U1HEEQNM=f$^}vmQt4j@k{O>b1%7EQX{mLGV`VpFUzh2w3pem3AE|B l?WZ(8(gnT$8P@*Y{s4+?rb)BLm!1Fs002ovPDHLkV1i{8`~Ls{ diff --git a/graphics/pokemon/meowth/galarian/icon.png b/graphics/pokemon/meowth/galarian/icon.png index 4a8a7db601693bbf01aa2a0746eba371b60f702a..5292f0b5490437b889f3c5b947689f4e513062bb 100644 GIT binary patch delta 247 zcmVD~jAUr;OC$jy7_@$DcfczFo=P7y)hEB~317VnOVL-y^_P{|i&!`y)N2f>N z{VW~Z>k5kk;VnuyERk(qbx9YBH*PNVFlF;un3!*qg(01ix5C;jmR*#ba zb2s2FfPy#8S%P{TQ3)_#y}1C(wRCMBFF0hN4ya#%Rf$juTz_JMY)X`;(=jHr&ylJE zhBgCb0XP%pe8iS0^3d78PkivZY2*2~=4b^;qD9a3n8~^|S M07*qoM6N<$g6*Gj;Q#;t diff --git a/graphics/pokemon/mesprit/anim_front.png b/graphics/pokemon/mesprit/anim_front.png index d3e02e56fce99da61c802a12ec8c39cbed5d3308..bd48e34c8fb4d9e08cf30a6700d58d8eccda09ee 100644 GIT binary patch delta 1105 zcmV-X1g`tH384v)Uw;HFNkl6U$94(bhmI#iUd*^yI9f$a>pI`?pVU8FutU4^av`iNt5yjq)C--HzBZC#mmf- zFPx>3QUy}%R1)u_nR$96eZQ7<8~;hzp66Dr_k4hXSFsKzN`HwOKo9_gqmn8$7zIIa z1f%|mO!(jjcY~u548yUUVEEQ7;Erd!tU*o2#`l0Ch0Q0k&uLL(kj% z12o2k6Z^u+k*P zRJp0yh!oCRCCinSnl{DoTGM1@IjSN>np_h{l(c$9&tA8AP5!`V2?1J(4`%>gIqG5y zOhq7ZRFVPHr2y1%S)V6r!I!ZN;3iFQLFwlx0Mj|1VY;SgH=k2GQVa1Zz33SMOOyZ` z@sfZI0e^I{7PjHhQBE0f@HCQ|u)JBE7$81Fl-?z6!vH!}N*o89W{H7Rt>qu3P2bI& zfI5$q7+$K<&9a^*?Gk`aGfkH_4dC534L~(^Qn2{r zvVX-V@#}+ymDL#URDjMtUOzqQkxg=WOSNz^+}R}c7)Rc~huGs&fj7b(1HnMwqd#o; zv1e(m|D@X-Fl76nE^aQgo+B<`OfKX#z=jh7I-Z&5tah~WICzti zz>~qqWU*+(vS5SZmIKZe8;lAdH3q{h)PMStMcEpRS4|5g$Y99MfP??hnZb~w9+8ST zt5&kzd_gzstd#6Pw)UW)n{|xXfoS7EMENH{uj|ZU$nrnKxq+9<`W>B&edYzQ}56k$6%6031>L30F XgTWKvAIMIA00000NkvXXu0mjf`Ro-? delta 1127 zcmV-t1ep7w3AYK5Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8x2O})PW z000CUNklzl-BW6vri3?j&U~?AiqX5Qac1>zxV75>l+#)LKW7zhI9n>2Beg z6bYm-R$pI`?pVT8A$&>UXb38=Nt5yjq)C;|n-Ex}Vt?{xv=_4SlaeMyV5hQ~ zkLSJ7jQsr=#_jk|hUqwV)BMN zyfEMw@IF8O^85%~7>72yz~tHSDFGh81aXq)%WPGE0oX>*D(_?j0h!&X?x?ytgDO;iACA(vryN>53w)pB8_Mho6Ul*7FfI9%JbW$4T%)fM(JmY1FI zGh2V_0N52^*b`zS=Ueq{HXT&}V{bYbI+5524NwQO3V&ca#yE7G{4byr>>NjHWJrvc z*MP}gJPR=vQk@)sWsIDFNEP7$sQ}Rv8C`GoO65x=psxV70i(!LEQDR?jc~)-h%8wf zg>I7_PH&#A4NEjEQDm3I5yj1J>9?1CHOIf;i;Ms%*0pc;0=Je}UITL$$SjeSz&v4q zHYV*T6Mrl9G35cwiwsw^e1r@zkMInO4gEI%l-l81NKffOF9=AG15CsV0&)WA!-m<0 zLq|DRfQ6?q*M#9L(o6&C8KTW^Lj$r9g1rtV-6aJSV#EJYn)Kd81hmza;;%y?iaco- zS->*9Q*?C_Ujs;8aI|u;g3mAoy5-%Rz_JPsI;(; zmrqYdq)E2gQY)N!H#SKig})WXFXuIN#%3_kw5NPb~!1L5P}>|m;s zCIe9b8~^5hEbO^5kh=IMO`_DKaIcGhy3<(+)Wm=96;K!dW}l*6`9ppDTiPG2hWOY1 tP&CE6_J_=9@&~!ew*TM{+yA3K{0W1>6X28L3}OHP002ovPDHLkV1h~37J>i( diff --git a/graphics/pokemon/mesprit/back.png b/graphics/pokemon/mesprit/back.png index 686144387de9414772e97c575f828ef601482147..b3be041eac9ec5c3d8cd02f8c86e0b74ff28dc96 100644 GIT binary patch delta 565 zcmV-50?PfB1)T+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rp8mK~zY` z?UXTY+dvRSR{~ONR{;S-EMk(_1h$JHTo677mssQ)Zrr7DktQl~jesly2?!8q3grN4 za*I?!*acQ0|KZAob{QSO@O0FF{C{RNl6bBsU3q?fS~jN4Pv{P1Ony>#t}*{fnL@OK zM>!5?n*+$%;^(M=y&}?oE(O)R{xJe1bvpnn*j$fTOkCD=Yi$X@y!sI9bCSNOAQb@1fV=qp z?I!HN)gnWJr2+W$QHBOC15jWH59lL6@i!!eUYqIw{5b-+LnH`)T^N%Nz?<7T41mGZ znnyq*FfgzHVDOGSa4UlmIAPj&06Wv!NP;Mage4`esiPSW1^{*dsxsU%_cS$}uvIEC zjSaWR33>o%FJ7ACqxEYRFCG(m?&UlHq)#YQdPOS}1Kc#fhdrwpz^$+W0~wJ_V_>S- z2cP0tNKRtF2Q{XD;vbF_ih;K=z}un?0QNGMe?y>me2!h`f$H*WXs}G2BHDcSK-q2r zi!)k5r|t^?%wre*@lEcRyVCvmIee z^jSvpi`l+ymAvm(XVBG%eh*#D+Ez|*EaJIFONa-Gg74-Kk>T=6#I}{3Ul27-;8Yf)YG%vDE<(BS9(vmH~J1>+4NefvZG{ z1WP^e^InDqE(MUIe+duh13>W;l0vUcxd(n909+vwgwBmgdf?q{6$Zc{vgR4k2n-A? z02q8A58TS21x|=+4`60G9Z3**pRl0V)zzTKy#atNfU*du%r!-Z6E;f4rncb}IYIXT z?Zl}$Tv|V7aq^tdaV_ToAbmoS&>LEsA;3lReVDTv0@xKce_$XblF1N=6#L*RmWAYG z2>77dl>FjIp%{2S@>ZY}S_5D&bNMF(I>+nSwjL-iA47vh>=e=Zn+J+!9ax;v5<0aH z0ML(}cZWN{47j& xO{3&fyF7!gB}Vio=wjM5a)M=f{g1qK{sD@D@8+r{aNqy{002ovPDHLkV1m)%@8tjh diff --git a/graphics/pokemon/metagross/anim_front.png b/graphics/pokemon/metagross/anim_front.png index a810d9add91ecc48f2eb11ae3191b43ac92c820d..c04a8b3e7de9744780e1df37e8dc29114b7b779c 100644 GIT binary patch delta 1263 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 delta 701 zcmV;u0z&7#8(Zg8n+6OQfyI5#G&5Qrc z;qYnC^Ye%1Z_iKvKC&}Ez5MyWUb}nsSiEny4kx@1WTX?3Baz=1e}ON`$@%{G^`e(d z&vw_mz7&@;T+hv~OaAj|1AhFx0O;Jidt#0$#)TZspvgxj&v4Wn&jUE8i98W;aL%6t z+BE zFgSH8u!mJBXnid}^R@vVFhlK<0XjEUCjhRdJ=9ZsT!iAym@Z%vKq)C}I96*;kQ&gI?|5kuj;8UFc%4Z%^^n>$<00000NkvXXu0mjfHS0?6 diff --git a/graphics/pokemon/metagross/icon.png b/graphics/pokemon/metagross/icon.png index fe451800f9e56fadce3038dda076039e443dbae5..fa305319704de865d73c8e4c98e72be8ad282527 100644 GIT binary patch delta 334 zcmV-U0kQtb1Ed3xUw;8FNklTuC5C?E>KMB*N?gtnHN zM+j=`Sqyy3saGLjT4g#0c|P`#Wdnd)0tek#0t`iuj`7e!L4WJYb`ZiygwVt>=uvb+ zpq9=nPQ1!`_a=&Ork_4GnE@~l_n&NfHUOH8^I%6VK0r;f>03)EtqASLccyE}%ozVH ze2y2Li2>aPb~83gX2)76k||^IvL_eEyX@&pUiL<4IaJrhVs&3N{{Ad4bN=FE;c)Vi zIP5<7%Hi;lI7jS05{HwImBZm<<#6(`aoBw%4!aMtayWc!91b4~hqI4^!{%e*aP|>7 gn2V1%^gsIe0qip@e;lse{{R3007*qoM6N<$f`byDjsO4v delta 370 zcmV-&0ge8o1IPoAUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8+@Dc_-t z0003iNklMLXn$v^dHA5QGYi4o6?B$9 zU`l2x1bIFVkYyUct$~AntN?U5pksx9LPF=NPIGPqf`7y@7?AgzqY`eG1({_wxDQ^w zn0n6Pkp%#AfB(&D_viU#rj?~lJ`G<@v(9^`G_12AH~KY`G_12ACbe! z$HpP~*f^Yg>>Lgsk;CD`Y#fr0okQ}maya`)9CjZohqI5s!CZWVrT@{#FYGfce-e&* QaR2}S07*qoM6N<$f>?c~9smFU diff --git a/graphics/pokemon/metagross/mega/icon.png b/graphics/pokemon/metagross/mega/icon.png index 608cdf120fb860ca8f9da4e27cbf5859b56f32e4..76a04a67fc8b1d261968acd6bdad3f34ba534c3b 100644 GIT binary patch delta 476 zcmV<20VDp_1hE8=Uw;9-Nkl~k*uRi_0~t|9p4_+ zVqY9##aY!njJm8J9WZ{0m3`G&Ao=$X1OI$g^{*=Ww8Z0+M8%^gF!>^EroO0Q1)lz) zNDOEN;GFYSRyPm^fYnM35!@A3Ar}Cvu$WT{1xXih1|2_~u74G;0&T(dMgyBIu0utH z<*r-IICm46dPq0&x2MI;T`y#l1nfM{{ZrRFDjJ<`M{edz*F7^PsrZ?0wv7$?-@Y67 zu)UxmVApSR=N8?1k_@7SS2uQFHPE;wfnwhkH#NGokhf6FiD3OBU)hobLb)gM;rFw@ zHRDSOEC@W0$bV%#LJBFr6<>7-InN;2UC4zFehQzo{A4KO_^*qkx4i>X#XpxAKLA6F zR<(KurrLB9he?z zP-&Ji?!Zh`WZ@2sm0)mv-O8+^)B?%h9}0fGs`^)jDKB{aWN0KN22(nO&DAF}EPo*LKN6V(YXD-5sVeFQ z$^nSlm;oW4NmV)kcta(kF(hanAUbkLK4K zU7kanyI$!g3)Fd>`{%BYTs1b|j$Pb`u6q$ebM-CXY#ST$fB)j*)AmY+mAZbOyBKVn zST?8@-s0GOvVXvF$pWXo3vFs_>!EDnUNR;6k8%+q3yjOe^wZCmbZN%dBd}G`c}$1# z8q%8cTj*6+q2#$LaT7|BLq3GhTAAJ%$A4W6AAqUw*9q|s80M_0%^zT@%{KMv4j5*6 zV-H|NToYx?TYCWW!wh9Et=)kMU{2&v+KU2AY#h{d>Ut_*2c{<)Or9m;4$Q<=5pKYE z4Q`M90A?bj3Q>3fGfwCVQPgz@=6p<$`vVw><%mU#D=^TMEyNTSV2JS2bx~M=LGMC3 z0xQ6*tvgqDz%bDMhC^=0H24QTvg475)#E$U_`7}sO}sB*A7^t>00000NkvXXu0mjf D`y=9i diff --git a/graphics/pokemon/metang/anim_front.png b/graphics/pokemon/metang/anim_front.png index 64961fba8c53f6ad569a95114181456a890aa6f3..c70198db7bb9d48b7873c8f9e0e14089bec15e0f 100644 GIT binary patch delta 1105 zcmV-X1g`tY3APE4bbkaaNklmmx4a`#VaWJb3~-9T1)oglcby6_TFg#oLe0P@uJP?x z6~NI?g#v(cm%ktHmw^NS0EDoEm~-Ce(V&t;`|MUi>{8lCppt`Tk|hFCnv^n}p`3$e zpHuGM?tDFe_kY))4X@9=^&B+&0;nzM@bK~ndfUJ(y!XF+xdPZeL^Kv}48#1M-m(Sf zEW`~Xc@RwiZ4mEg!#FhG{b5PD;0$ok3G)CmONLr&VjR){BFt2}pvIibEPy;0@=|Zr zI|n!x+~9?!K(L?6M@j%S!xP}lg^&?7r+-W)Kmaa8`^qs$ldvqy4<uDCTJjIiT4>SR7sY(;LavMsW_*s!>PI69C7BY_a{C)(=v^izsmO+D!pXcre99 zs7aYrHHu718bAeRqX06y8pU#vR5y=;5K9-GQAT@iLgdegr4Ge8HU z`yrN-(tq(1*Z#sus?lIZSBEm7F^KwB0v!K6yaSl717Fy_l=F0z$DfV|0P*?}?W>|+ zvSgLU=t_@R39vmYma(1y-4VdvC|=KC5j}poi6^Q>wFgs=PR8rqs(B~ISm!A)!ty*0 zN-2cLy|Es9$=f4bbg$GTCcPh+0AB7^X=Jna8-ImRFV$wn>fNReO>+zIfC2UfmG;ez z46$@ufu0WVcJKLbT>^A)uikby22d@hna1V-DMU91c(E7z@7ZV654$h=0cY5%9~7`n zKP135{g41v{ZN>uzUWo`P?&v=m#Tg!0{D>vD*B-S=GIY-RP{qK!?kZ6=@tF30@%JA zLVsA+4~04Q1!oPqsvp(@poR%JqigzMJx9r8?1roQft3~!q(Gq`^fG|SrPF5mfv`2H zH@EPhuKXV?-1F7rqDAT;$|peK?X$$eN&y>n4ooj|Ug2lg;`~UnQZHf$aNmU-=!3xblUJO05i~nd{xs}S3OI+?ck@?p!om+9&FqP)a)O+@(Nn?od(<(H*(oI!q<~c% zE8Re#mjOHK&yK)knWxI!K(4qdIfN<0AUk{arnrs}ek@^@V?Kb(K3i>*R{}1gS Xo@-)<@Db4l00000NkvXXu0mjf3w9g1 delta 1123 zcmV-p1f2V}3CIbMbbkN`bV*G`2j>O{2rd=9%kcaF00b*ZL_t(o!|j&8Z{s!;$9*7# zt_^w#(B+l_oqeT$MZFdXtn+B3P;{0!1Sn*?zztmtfw9&gFqPFXY-&{%C2zPTW5@m( z9h1w@A%8<3^&|eF*zMM#;UGxjhwnW;K9b)`<)!_nZSNoczkm8>3sBpyR4BIB?w0Wl z!)yjZE-vZw?npaP>&0GV735;<2ug;0#&r1(lq9|5L* zw)}pVjelj7%?Niz_R_izazF>8^D&X5jq(!L!Q4r+QD;U+hfP3Z5cjMUIQgr82QXd- zzOVx+XW1-IKA*S%$$E+QRMMv`oux6j(qpy(*uIs>L{EXv0N`MdtVb}9A3xtDBeg}f z2UCwvhwHml^G}VT&NE3MWFLWoYfLp|}+zkkO#>F&lRG3mW)0{F$S(ndDBzfy?w z(bhw()@kU_Fn0hCXyCxDZtEv~Ox;ePs{_0}aJPCOZCtCjo$7V~%g;32-KR03)t4*j zrM>8ff1@AvU-Scd*r^{BuuDIrz%Koe0%iTMa{Q|ky{sQrE|?2^l=Z{XKoBdSq#u^R z%zrwrkg|SQdbkd(W4)vwRscKjB8WEi!?HQ{C1-WIsvp)2poR%KqigzMJx0l7;zg_a zfo)78%z&kS&^G}LE_0jf2g0iBX~05VxgRWC^VM?EVpWLp2~c?JJRM-=Vi9!?jHgf1 z58L^*xH#6VY!tCWxbHv#^uS^Z;mCQ6Nq^6P30&P9dLbd$mGM52vvg6iEl5I$`cHrc zeWT0Nf;!U6W=k-FAKQgWAy+TN002ovPDHLkV1hb6BGCW< diff --git a/graphics/pokemon/metang/back.png b/graphics/pokemon/metang/back.png index 68d6754d341c02545d28dbcf5528631ac7e250fa..aad09e4968c736e137a27f4bebdffb5693950722 100644 GIT binary patch delta 598 zcmV-c0;&D81-=E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vAa{K~zY` z?UTW3<1i404Zii%B@pOaI7}UC-@^ImV+9Z#GuIR6N_LC*P_s{s$!>L*oOG{g1^ z@xZMC{kH$qeSTp;I{e>%plboQG(=s44sbsTJfGfMXU?G0V|X3~1Y`>rgY}5ZeC*C1)3qatr(`qC07SK)BOWWgq1TTEGIf}N2in(5j{iIEhB*3?u zN?3yOE``{S4>n@5k&+$>GmlqwPr#~;$bJYZg;quq=6-C}%2z;to(m@foXlGJY(|z8 z;SC0tK;AB<-=9(SD8!(iMh&1dNV^|H1xT@**Y9a#QR!jt0D4`D0RhuH3s9fEnFh>| z{#V1gW-MxfTtUChG(ud8YS*vd9e_GU*#J?9m0a!^8JLt+Q#XKL0UnP6=46oScv9Ej z?xX?44zZ$)j4{xECo9vh{~Gl|4aA~AoQNUS)5xS#`g2Z301A*rjFX~I3BWFb_$Kk0 zb}{LJ7b7Zw40<}^s|FIlk{->I?*u>tq>|w*ZMg#`eoDCwK**+y?M5V+TB40KLE-j@SYd2SDIX kmnBLET-Lwz3FLWy0X?tPVzJW&1poj507*qoM6N<$f)OTe$dfif90T8_wXg)`T?>&< z4mM((N=c7|na8WTeRu1`VJyNV^|n1xT@9oZn}SMXiUt1C9z95-`290QJeuG+>VOzaF2@j0G)_ zDd@ME#t7G<-Ve_29e_GU*#N-^Yq{PtGB7FYrfvYY20R`Ge=NvgrsGLnf4h?g5PQU$ zGBUR{a56TG!TjcF%e^`&jOQ9>CY*S02CmL5R+m+3BWFb_$Kk0b}{zA2@w@Q z2A+=is(~1=q(_VRI|0xDv!L4vJjLFKDSgMWOVtp=t~cy_UM0H7{*5@FRGkS P00000NkvXXu0mjft_dnp delta 173 zcmV;e08;O{2r>yzz47h< z003x7L_t(I%k7de5`ZuW1o;7v@d=VTO|I4dcPXHbDRWp`I7-LP0msaVyuWm$K28RK z&H}Wa1eQSK5iNUE0)~yQcmr<@6kwJ31a(#D97$Jjun*71+$Qe7RQ`5Y0y4V%_0hnn bJ(`aT7{*5@0OHM900000NkvXXu0mjf=HNo{ diff --git a/graphics/pokemon/mew/back.png b/graphics/pokemon/mew/back.png index bbaaa33d99ae1770898548f543fe52ee76ecf777..674c6b666710672c2e1f8a3c5db1a0e237619abb 100644 GIT binary patch delta 557 zcmV+|0@D491(gMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q#jeK~zY` zrIgKX!ypXDnS^p))pqYOndH(-DroLi!aWm=7woYwH#jJl zee8GbZ(8pI=L&!h_5pM-)_|!NLHrB2)g&PBSpmk~2)rF(*8vBp0=p3im@7cHYiBY# zczb^VLB8)TT4Z0W-H&FK3f>a=`dF0uTeI zq5~#dprbdHUsLcU52w!@q~`==g;RNi5@0gDW(Crp{FuW94LsL-EdY6v_)-D*G1{G* zO91-{5-nbn;G=2tVQiK}g`{dv!Eno}&X^-YfpE^Y;j(^jFReX)LWdzxj|}@@11Jh& z$WFn1wfH@Wu(HSIgY$33f7)c5#lVM?rVBn*xX+o&0W;_TgR14zasDO30bmHN^qiH5 z=i6&=V4xK@GQ~k?V#3Rd>}cdBuPDg>)+*V7THcb=W}O;-zAMiv1H;k`bc*acH4a;& z=-{Y@nNd{p)J7YByFB#SP+7J~kGkmkY;JQq5_D`fQ(|jRX-2za`+x*jUP@fzxCFsv z!U(Y>a+NTYWB6K~@b|^$GdObO-olI3hk$clt|)HbSYj?Ok5Y^VE+MwLJX8^QKD>N; vd3G;=EmUq; z83|=QRXg`RMkZ{!$q1T#m9Wnh3@_MaU+&roNsNYukuID5@Ns;wjfMFAI@R`v?r{Ij zxntm?0-(S#fC57e7;6#Ke*w3e1q41Tz;GBrwgVgrNPsGE7=eJPe*);^UNEb`+xrV( z6)^hGcI{n2$YB5=1};SbVOpT& zvdkNur97>U33LU3CC>5)CBQSkegpPDt!X^1SZHIF$hLH(3n$ zOp->^@@8!2iz-9ee;(7u?ZOKiiLjtz3~hR>-}$2rXV4e|{g^ZlGQd(0Px};n$(FqD zCW7g(_z+XtmZJ@uEFS(u<8{)s={+--J>EbA2DS6iVftYr0$>Pd-NaHP`Sj`|cxcsa zVvW$WBhQqkmKzsG>EySwER$67mPDJaYvjk>F0A#?&&5Dde`L3=iC7v-3tKJqjHR6K zWejVT`;IkL5ZU#pim_vT8?qWjT7mVH3gtnt0xF7Qz(6byC26o-lHoGpm6|W|WuPy| zSaNm2&li)=W6P0zfES|=ffyINsw$eJE no+X#$L2u)v8{m?jF9-esXsx9OX!ZM>00000NkvXXu0mjfj}ift diff --git a/graphics/pokemon/mewtwo/back.png b/graphics/pokemon/mewtwo/back.png index aec286d7b3e6fc3f4c81cad00845b12e0b320ded..2deab236ab91219ac527df55900cd2e3d39f1cd0 100644 GIT binary patch delta 689 zcmV;i0#5yg2ABqrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&z)1K~zY` zjg?D|;~)@*-9qexfZokwqA2Uo*uCooaV5KvLMI#`O2i4~NOOca;1po6JJ8CIjph1W z_1A++_kV||ReI364fMbh2u3v>09^CKan%O=?g_As?-c^Owua+PF|KlkPJKD+o7aH>6^A=m0t)c|?hfXp5~EU)q;>&-!B z;KyHCMbK-ojAh_=E#YlFvI6}2(~z(}ATY%+KU)$Mn_Z~!5uodTjb*b7FslkMXSQ$w zk1;5WR4s`H&?Ogv;G)(5hmK4H>TstPP>8|J*|8N{CBR@*s-t<1PsClPOMnv@0JOWM zyjQQikHbTSKm&&0U!wP0@2@cLudvWTAyb^_ zvcpIy8CMYq8ESNY!3P@?ngK{fi=XqUU1O0jm)*u@s@MuM33>6GK=-F8QkG5tpDO*1 z8w-q%6OJXa(Ss1eXzs!`)+($dZR7MHAXNaE0fVT~TEF5>yKBnC1TYs96#{()rMS|( z=b->0#1P`^B!jDI^0xjO8Wel$k}V!t=4#7JQO{}KG9X=lxXW|JFw0nmbg(T0=HL_z z#Q|m0Fok1z>gjTFC>u&UCAz5Yu4eL#;$`q-@mKw8U5un55pLNKT2>A91v?g1NEc$% z>m!U6RVB^g(N1E|bEaIL+Q3w4CR|qoxnXf6>iyG4fJ`D__YIIm!1x5H@BWk1b^ibt XKfkwhMF@%v00000NkvXXu0mjfUlcxI delta 673 zcmV;S0$%-?28ITZB#}W-e*gz`Nliru=LQD|HUT9Hyx0H$0%=J^K~zY`jg`%g+aM6f zv$A{-0`}HJqbO(3V)xbq@g%oOW)mL3O2iZNk@^UIzz$$+XCX=_m&p7)^PdmKo6Ub& z1>5*XsWQ+ak05F&IzSxLpYyg1xaI|L2+x6lrmW$71IATLw zJtE%906)^X7Kq0(P?7Iw=Q5zuIlA#lC6gUpDT_+X03L3|Bo;f4FMwjDU=5U-aa{wY zN?cK`WEKFUuusPp?|F<1y`Nls3LJ6|bdYNG2{}-G>`^8UKMl|FtakeoB;ea$nYU_( zhOq?v&Lw>8dNu>UfBqCC>`nwsG4%J61YnB`=(ASs_J%DkP;WCpU)ah8Hd(X#8rDPs z*hCke;3C(6r%g2xq{9v+U?w`dWXHB_8v#vGYZZ>0)g<3lyaaWSRnxg$%X@dqxiCDn z5OhEx_(Sye;M^E8sL2fO;7w>IgjVQD$eY`Hx*dW@Id=m2ROuhIu~4fp;Z!0M zJP0AQ;?{3t1%4$d6Q+j%2_9e?HKAH5^-eqOu4*PGfZ33!5adgQJwwKQ0epzg$5&AX zhiUQ-ZuAWbf4#MAF*(oGfiG7V9sp_mU0y0iS(*i)wse$(1?-lAVwVLlJoa=wIW_C% zc1m)Q-Cf1xg~Utm$IvhPYF)LgeInej&bMsHH&_#|g|t3KzCQd|)i9^o6~0$Z7^+xF zIh28^(oERG7cVs|jKom*RP=GOBhWknk_hZy0Qud27is?h7eBwZUNTbH00000NkvXX Hu0mjf&WA8v diff --git a/graphics/pokemon/mewtwo/mega_x/back.png b/graphics/pokemon/mewtwo/mega_x/back.png index 32276bfac603133eb4dfb028fa451b5fc20902ab..e910d8e2971b89856b81076555548742f47b7950 100644 GIT binary patch delta 624 zcmV-$0+0R81=t0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x?NMK~zY` zoz$_4+dvQiP@RhH3?40KxXwBmLyAD8kp(GIDf$58s6X4ms#2th)Ld;5$ah>YT$NAA z55xp~ZuBpim1KL@yHZG|F?b&{v$MOh{w3^T^Xqm2uK~9Izrea!Q%3b7x21RVG50`Zj#9-CB$9lOXPkZ;ehhr`UiNoe9fxKQ6#qRm4gBKa(+ikJ?)dz|qFQ2H4f9wGjK-C8x>1H{Z0tU)9#odId0<26+`@g`gbE;&z(}MR$-whrB=<;@;E}X$BY{jB6FovM zUs@1=Nq`=q@^aQFN@i!k0~OGxg=XKLm>4vl+8{p+MiszI8MEv(X#T)Jew~arliP?h zJ=EvGfXlD5p4`-0A83<@dIUAN)Tl22{fmd{45)^0_)J}gW&Ht&@iTnu76$VG0000< KMNUMnLSTZA0UXW% delta 615 zcmV-t0+{{S1 zV0+iQkU!HPd4HPu=9`_B4dWleoOWM#2=F?<4E`4|G3z)S1Qs1Ie}6Ruq*LPttPx<2 zH@EpaFIwmUf>Cyx=ZTBCJ_VuZvvUkF&GaeOA@T@uo=>&F((3>k<=KGBE<8;2Dcl|a zWGQqyy&hmv(mc?1ajp^Nnj!>+(CIWU$1GR0P*f~005>F6YOI9{tf6@}1_Vs!D1a-( zao|0mGtvd(3m2SGe;@8vmTHs>Z~?wsnsLL0xcla)z={EPUn%${0_ApFf9-yZ0aaDj&%+hEsHGG{ z1*$&*<(Dy_Y0C0(1ZV)7G2oHiEUS=!iPR>)n=q3AqYxA9IbaV1pZGag4-)V}mdHZ} zHj)Ha1(t;5>oNf0tbiy zuqBi>XN|mMU2z6zC<3`h&3F2Z9Rsk%B6epwU0|9Y63GJNQ@R=UkIS`=Y zcDByVjP-#vd1x(Yflzv!_^)_q&H$?sIDhk(;5UfzGkm~5^&S8K002ovPDHLkV1jMN B4}Jgu diff --git a/graphics/pokemon/mewtwo/mega_x/front.png b/graphics/pokemon/mewtwo/mega_x/front.png index 98e3e50d2a3f46acd06b9090b9f726e0ae6bb938..83d35b036f5baf857fa2365bd7e12357b643a40d 100644 GIT binary patch delta 783 zcmV+q1MvLm2KEM!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?$cAK~zY` zjg_%(+b|G@DGkmPAQWi_1zNzeRHsV@>QwC%59u5<-W?lorUHdgR9ZZn2;lc9`UZUq zJ42l%?^05ZgGi>F-e4KN&-ec#?@010y#DTSMq0v4st0cepnn`7%%(g%0wf-#Tpa-f zM~OLU_t3pj9J6*nj7AK9)vz7-Ji11NszTwk&>is`02mW;qQAQUj$O3_O1*RdQL09Q z9Rs-f`mO>_?wx?oRrW_gVl6D408{S`(CfDWgrl)2ZcT}@0eH0fG>ZUY*a?hASqIo? zw~q{ZVeh0cYf!H00MBh7g^*3?d8t=Tz+-XVm8S6UZcfYJdbw_Y03WZDK9| zx>%p;8W3ZYgo%B*2WkYKEKu8v5F=z3SUsHU)h4jO`ZW*@C@Q-=tNcQ5g294p>wpiy zZL2=6WVxaY2V`5+0R|~b;%yDE2^ivKv8XKr32BOW#y%`$v7xt!`9%YmM1UxPKFKH1 z`#CklWgVCTODzz8NhQ9mJCl?*dcQLPqb!ELs9JV=8)Ls=VgTIq`wloQ=GYvs4rEi4 ziWtx{vYm6|s1A_XxHBd+<^tuV&8wz{4NoeQz&u71%mHxu1vx4jnS9E|2YHIT{K1i7 z&M}pT6Y9(KLN85u5!*#ORPa;$^h?JmQzIeZP=PRf)Y|@kyB9(-BMy(x0MDo3${P<` zt>@+ql8!5HJzVMK+-zDv+!3Z%MN!14MBfegsP2kl4haof2nN|*@pnK&+9DE(%-Rbn zrS1}*s7`a=0PYeV?AEWf#2)bf2XJbzXTWN_3Ai*ocniQi&|<>00aV!w z0Lek#3QwC%59u5<-W3~grUHdgR9ZZn2;lc9`UZImJ42l%?^06E zM@oj4uKP3jlx1|T>LIMkS2JOCsve<4gB060T|xznwo zeURSR%Q{nSYSKI-{8M%4u9cz2Ez2I1hS z)H$eDtqkO*jzY*Lf8?}Mt2W@$IPVMXcyu!-)o-<2w}6kANx+1Wwg^vel`7ZAssY3p zC1GMVcTaSHM*}p@BE$%(0ao{?YPInVux{jdNKl&etnxFp@rMg%+XOrSW=i#8C8`yn zICQpU6QGcyaNMm1HaFBi=mha^Qjp&u5a+>mR;{Hz5`eKpw>-AN-tZ;=Bn= zfu;tCgyi4Wy-CViwcne7j?70MuS<4&9b?cEF$AXTeFq$ub8NR)53;E?MHI-1vz;@o zs8uVoqE|R1W*o)2vCDRh`cQ?`2FzpBi&_9Cz92(MB5hA;v1cd9svis~<_uG@-=UsJ z&(u=8=dnrJe|`in#ZSLfj3U(`I24xF#0RC!--8g6nYAl+0L!Ofvuh1orRI7ENzZ0C z8ZOjwt`E)c7%*XaQI=(lk_UFcLwQq{b4ZBaK~TtU%0ELAl8zt|&y2i~5E68Z!Frl| z8t^*?=`MerE}jAJEr4&|#nTamZvbpDT=*Y=&p?L=dR>mmOSg01;s9m#0zk57*Uf-W zl{(Zwt0;-Kr}Fu_8Uk+t9x|eP3Ps(Ko^JtiWO6pGUAV*tN}D1)NKoH)z4~h`Ll{j- zb3)8!kQJtdO<5!;3vciGoE85}lf?LRy4S3D{oyaj=)`RSM503g0000Y_EI(Fb2DvzMcH{XnORmBK}AGmNs z)#-|Asbdn{_8=i)zN+5xWIJ*E0A3X+Yj9vdj)`TkDh4JK;-rK&1%m{JRFVQ5t{&WS zq7G311VHqg04!AA3XB1a)wyw+oo|Yk8qpCjSz}s#MLh%j+<)uK(09(az>?i%5c&u` z1^4xlZ`Ja6>%LE_*e$@gzGydDG+fqKB=NXLPE9iYmd7sspU1^m#~JpEF)a~D!855; zDUf`DXy=v~4* e{it8*#~t?^-VrFvmJEvk0000O{2ss4O_*9qx z008nyL_t(I%f*thj>0euhW!Q}7#aEuCy%YjGv8e45bD^{z5po$y6LEDi7`oyxT9&@ z`4ApI*}r1v19(-Ttigc+IVGOKn-sWAh}8&f3I>S`sU!n9jDIt@>pt5Zc8|!F_$?TeUpihttIr z9}94yFWOC(ESL2aNxH6+OQY7`^3K~zY` zt(3ivn@|viF9j};iyeHCR_=Vgc>w>U59^B*Z3Pl;+-<{3k;}-`d51gzDBcEbnFmOf zZSqi=0q!3QTSU2yLG$^XGcy4D&j$eBuL~jKo9Vi@+iiuond0;04ZaC0Y{Vf09M~mNaTPHc!Gr(mrwx9#khn9Y8-}SEE?4PJ_26d zlZW?V5(p0D(E(mM25@BSj26AEhBqMSVzDjZol_~>Kv#}0BGRz&&VEQp#Uure@m?h7p-6h5>@_oAqDy-}YM2QUKI2Sn)`pt9=#u_oq!0|CDuRx|*#K+pnU-kAp zH39fYr=vg)l@CYYH?;$pJ>*NA#1eQCs1PpT%MJhpVtZr%d>H!+lnpvLEI`xP00000 MNkvXXu0mh|f=IKV5rl|Ie>oBht?7ZTrB~rQRjvR0+oST=MFgliO3D%G6zT%H91sfN$wv_ zy7D$6F(2N0Gec5@eCz>$_v@VV~>qu@1}`GdZdRfUwxSpe@HWEvIDwI05k(e zB1Mdw1POp7B%)~Y9zg2*35gug0Z+8x;}RMmIUkoWK#ju?gs?$9>?7dSz48b?O#;zD zd2~P^#{jB;__Ml>Ef8q{AXg!HIt~DC^rAwnRVi2xfB=Np@(YGo(H6M#fnzT4>}r8a z2Q`X#W4nk1u(mEle~KzRULg^uPM;TD7Y_nGVl|7k2k1HiD6vtkdO#r@Kt01WW;H*?2WXuwD$Kco}k*(g|vOu7+T1yy%acoCGs zxxtfJB6WbLwyy3^O-4OnrVY-o{p3$CDhH$e7_K_Nt9g8CSTtupbs107f8c0kH2(2b}-t`(vj-%{wt4 zM64OGc4I#9&j1;NC3XPxHH+U?U)qK@Iejdw`7)LRBjOA89!XGH^MC&zlnpvL5L|uFc>n+a07*qoM6N<$f_%;w A^8f$< diff --git a/graphics/pokemon/mewtwo/mega_y/front.png b/graphics/pokemon/mewtwo/mega_y/front.png index a83bb8bdfb7aa6834fff21a98135e24e683dccb6..f796174f24e6cc589de155fc41ce33376d462f7f 100644 GIT binary patch delta 658 zcmV;D0&V^C1^NY$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ivuK~zY` zmDIs%+b|dhaQWaIj1N_150<0z1llL}(4Cwp8-yJa?DUXRN>>>|ceSCn!5+jRO$)*g zu;X@U0;8|6cbS}|8zlM+(;*J%=l}P~vP}MWP)gh9qo~&=oQTqX?+gcwCeum8@c^Do ziQC5k3&Q3X&>CzwZUN4JnIncVo#KEyA_OKT0AmEOBnA!%23%n0Jq9e0G1ekPQ3_nj zp*?}5{V0k-NSO`i_8R9A05btn7FdmUAa|pj+q)DI5B9(s;R@bkU-!Tsk-^*5w>IFw z`|qNe|5(~eX$p#3sTk0km`={XI^9N2?JP@nApj`{ducZMA z@YRLdfyHqTHvv#cA$GZFfU1tb6##HCh1eS~I`-8Ga3up6g%Hz}(aHkI+N^MGdVq&y zMmFlW1v9kPaS9B7E_G!GW+`b318C0n=CndHSjssxz}CV)U=E&-RDewE0oDSGowS4e<)+#^Dk1|R`VL`6JG!wLhA0UJ}K4ZJ9| zYy-7Y3l|63(9BmjP}xYCy+(m5vXM4d40Os{`K$T!OkaL&*g(FhKkW{~^Uv*_Eug5j zb@Pnfhzx%AV~( s)p?0-(LNS?QD29r7NmV>YXBjC0BIA@8zJtjh5!Hn07*qoM6N<$g5A3)*Z=?k delta 654 zcmV;90&)HN1@i@vB#}W-e*gz`Nliru=LQD|IwZooCzAjG0#->xK~zY`mDRs$+dvoq z@Y5gHEI>D?iCEgbz$i0LBPlQ3xC&4A{WVdkmN-L##vyf*81zLvsWY_k$n= zA!Rb0n{%88089svGRJbf1G#I(++3vyxVHz!5Vqhw_GJ&uArg4I{MrUAc>hf_{a1xK zht-TRqHVy_{nbKee?W3fWOvae&JzmAtekYoUL1qYywm*obhcK+(cs|-r1Mn2LnBYV z(JyZe;6?)r5bGN0=~RZJCGgM zaO(ku7($zi2B`7~Tmt|XQwW^_qhnW{09!JEkq;q_87&Qff2{NfSGopxjAmq`veRj< zsw#|u!DUsNfgVa6!vLDIy*bUW+q5y~&;U~je}O)DE|LKfu?JWQ5DvlvD9zxK(int~ zl|YzS(MO1UB!fN|a#U6NCcQ=i=;XZrHp1k$YjxH}BbKeqR#0C~Bsn>lvx zAB?M+W^R4}d1U}@q4)X@IGHLdV+QxoQ5jczn=AJ<@Y)DI7j-MBe-(c+JEn=M)1qws oCa0onec1N;JzUw;7yNkl!MUGlKxDYvf@O`a zlkCc=t6}HVeeq<6W67$FEV*Ug%|%dbyWL|EqUz-srs>;5{C}!Fp|I7XKtY_0^=J{% zZu&5lL&eD&9zmc+YsUc`jdmS_BfjV7J`C{w#xTFZ4(aabWC9^rzm5V1Cfm|84$Pq? zje^hLegKCj5uZ@VSE8X<=y1$`Ofp@?`dj@!95BnDae%E}aDWy40f$uKKra;zVXkrT s*Er<#YaHeZhaYqLh{IR%H z00035Nkl!MUGl&6#79pBmPhp;aJjAb72!*|!6bkA*IzfwyZr6voY^u&~aR7&qiccuy zBhgSS^l{36OhhutKMvP$z$~xhAQcWUqCen}Djevg!XYd*4)Pm^oPLeNQsMBGKH~75 dzTEmKTmV2l^9GFJ*KYs-002ovPDHLkV1ln=lRp3e diff --git a/graphics/pokemon/mienfoo/anim_front.png b/graphics/pokemon/mienfoo/anim_front.png index 6fe0192438e4431c7a02d777553cee4cb763a02e..9e772faa4147dd2f28c6063f7043e472e276c7e6 100644 GIT binary patch delta 769 zcmV+c1OEK%2I&TnbbkWhNklZJSBNnz~;E(Fr0ny=}(-kS-nEU1K-n*B4 zC&Ww-SH`m`fL)%F07_GUb*qsJSOAWd2W$htG7*MVW#fh26@L#r=lS~zykvp8_h#1t zi2G1lU|X!gzDHfe$>BO%!gvWz$##}7Ib;(E@z!0QrwZ6P*Bs(q>GK7+F=E8W4S>}H zSVk={cK|Oux1k4&3f+?jO~jv?9u~pb@GDfK$3-c#uy&+u#i+RSR+1zr3NpZG%*AbZ zO+@rbh8S}BZGV~~0sRmowgIDFx&@N(hD%WJYVJwe#7VNrp3n59LW+;65(|iyqEljM zXaONc1oR%!RkFW~Vq2JqiVh1<<>FWUwosEelo+Cz49}}#5{Hd|8C8sz{#GrEJ2L1p z#~es0KW2cGO>Wxeu?#wmEP;&qX*cL58)-biKU`c00)P5SO20Q|6NtI=s-t7oGY1hn zuQ+|H>38YI*e_(co+TKWMH=mEL~1TtQo_lp6*CHPI9b5oOa1ee@j3m7}F zF6+?L0%$KTN?&O+6u-i1_tHmfYk()Vy^3M1Sq?}?b=q$*j=1F@Q|PbtQDgq8o?RO{2>=PB56`Fo00PfRL_t(o!|j$aPuoxs$89xL zT+yKpL1oPu15&31kQgBeO*&%vRZ+Vk!JGosIf@4hQTb6ATB%ZMu`zb4s-h6Fu#tfe z)pOEH9q#NIDL3YRxx07wp8sbUGkd&dzQ_Se)tmrO$pO~vW`8DN12}dTumb=~M40v# z>o4prd*C@QKh$8I1sdMlJqI8jK&8x|F|ncwhN^1#XNON_~WtLs&u)m^*}5p4*fGvqpXLpoRETs9^z|4ZlV?BF;;Z4SQFq zc8r<}ZzoBDMt?zdFdTFK61*WI{G^@wZv+7Y zt&|^)BmP3BtqxChWDP@hUU7O?)BjS(*ebC<*3;M*VV_Ad{O?E2+{w8l`JVY{u|}gH z`|G67qnQZI>`|JXr|nLTxR)RYn6H+%GBeO;teO?0K(Y$k8N_SY2N$YkF~Ej<05w>3 zq&mv5ynjzQHf;%*uS3m-YJ4oEczWe+QwIDZ0>2i20CZ%4x`05!D`~$m1h@vjB`G%* zNk?!={YAjsg*DZHmIz>JVL|y?j8OavEB$L9u`2-2N~IMHVqrNTJ8sZ^gK?;(5(0m9 zfP(m^_8i-B_;B%H$N=K0pzZ&}IVi}|J<*iN%zXq5ZIHOnGYC>-7JzQ|x1Wl;>kFG+Z}73xtEbz8FwEOab(Vai?IGreRqPFYOpwGsytre5QJ*%c zU`MqP`}`m*Ypm}qZQbABNUvfl@0J!iHIw(5<=Y=^>gHpAZLN|30000&FfhyyzR0f~+x@QY?*l@fMc6fJYCO z6!H|lk+Vs2*<^bc`@hbQnaO6Co$`-kxx?eYL4LGeL&T#kHUykAbKO;dcZ{NDdjuwf z-q;8n1*Xs|*KE5rB+w#%fKz}{3wr=?wP3ENX3U`fpw%s^LpS8BZTo3gHIOpSJFKCjgArW3Wq>|w* delta 453 zcmV;$0XqJ*1gr#*B#}W-e*gz`Nliru=LQD}05@W8(gOeh0gp*UK~zY`?bN|)!axuJ z&=ougUK*<(;Gk0IO?vCaNJ872#vKrPY5zckvQ2XlshHABZ(+#~^w>isLcXGZ)Y-&b zHd#NQb*}T6nVsy0u~Yots5ztKz(#&FUq{5FB{l@?GjrZifOn0ee{Q)1ro;Zk2y6vB z=$CVr)gBRO6F?83RKgkpTrHU6sva{KJm~A8JoKV3m8O8fqXy1F0U6f~pf-jUz@3!e zS)N1xN1NX3sRB~Qd4)A}bufmDw+wK*gZQa~#vE_AQpJuV@8HW?11t=0gpktrcj%&x z>9Vwktxyp~)B`)1e}VxBKcJ6^7#M*#9Al`@z}^oa*kxdL`JsVE0fM~5^~eMS9n?kc z=q(ya4iXWd`x;hU%VJ6qp<8*GiYbMBs=oI{j~ocGsOdL1JO~+KN?VUw-AT0|kR-m8 zOPI3K7faQ)W1$9?F@RMXq^U|gXMm2&D;}Zhvd1)Yi0-OfJ0cPL4bC&*ATI;fqg8rC&DG|8a63dwY| zA;AZdO}5qD5`O>+bl~qDYCl;l7O4~8PZEF)A{|05`toOshpC5vO_#rH4mbc5Q*wlA?k~Jx*eXVvx<=2aRAyw zOH`WPa@Y2`4Q~Qgda}%Z9`GI+0_dD45wbwTCN3PTY!Y%V0I znXFbcXMZz=_C`pe6iV&u###h6VCNgy50-Jn=I^u9^YSd>wfW}dqc^oc>t(C1Tk?GGm|p+cwSn%}1I_yn?*N*2 zXom-PIFKK62YL;_52Nf<1H55ael0N6Ni?s1iLcZzV6dmtqqu(D`3-tE{jL&dz@dlU zVSiP|kck&U_aSa2VUTZrdi^5Ps|zkV9&hFc)ph8$X?w$*eL2sP_0DqfdGCl(j^sVID6n9ax7Qa||_tq;8z zxV?qxd4(-WtpJ3+c#30rP!b{5Fey-|0h3rlTrGh@1U~;kB9JRF?i%)bk$m>rT&2VU zLoVzB2V!|3e9K-*3PwgA$b}*xg-%8u$b}+6(GX)L56S??&{pz5J}mJt$jF0I;D4Hq zQh87Wpo$w9{)s#=3IOcG4fsyvfnk*ZKk(o}9t?C`_?!UX<5<61%7X%+*c49DGkg=v zgF*z5Knyen#)qZyfCF&OE(2OF55$T>4wTCSvBDX<6!IV}$^)_f0s!?u9w;Cn3i2QU zlpYrbCq;RX05JEtsaFCh?D{Ox4=Ny4iuz&eZ0oF6KWvS*F8|jL|8V^c;6vI4fxWAT P00000NkvXXu0mjfE|xM4 delta 1189 zcmV;W1X}xm3iJt(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MGck{Nzc& z000D6NklHt_6hDI$SR{avxN8?DKqn7$DT>Mx2o=d}9YP-Mr5-}^)srE> zZAcB7)L6$^gLQvH#vn_!wm>IsSqgLskhp(G-|<9B6hAa{DSwJSzy`$kyZ3eX-un^q zZ;}TG4?6V+$4B}ez;U;SqetBah$9TBqYi+F|J)8Ms!w{)UUmU!-@W9sR{g!V{jVX; zc&mx~&sP9&&f2340N4%0<5qwRXMA}B(27ul_|G>Mx@nDK4AcdPKegxSL@`jKqu7Uz z>s)kRhw8P5h<{p}nAC)Rn_e-gZBoyLadQ@m8=4-_3nhSK@0Uw1;kIC95DD;c-RK? z0*J7&wu4YB9z>QB5W)}ZP7ZefGorDXC}p;;eI*1fxLgozJ|Bc|DQmCN%Cpjz*@C3= zx$=Z@et)COQLrsjac8MDCkp3GgsJAkWFy&<-)d|)Aqr!d>d1C>Jn&mS(PnHyY*W-C zGHJCt1VB%%8TpY81>kaFlbsNzTsKl(qtp{`vo>X>iz()2kn}Y@PXoYA^c@fSG*3Qd zjAcvI^Lf>PrO6|h1DhqNUsgw*Mb-dfG0Y^%IDgxnh0~&aFw)%9Zu?%ZKWM2qs|;Dv zJOGk(o*P%v=5eceXFsL6tzq-HRm|%%*$G+8#5NRp@bHh@n~z*;7!g0|1b8-N%l1orV|s~Z}p)<`?aG*nu0w zUPZs&XN7$BBU)*flqc24?+m`%8EqM_*ywptb+l#NssiXB+>G!qGR}9}t4F=9MW@yD zg5#L*;!8t5Ehn?;^aMV+Co8$x)q2Uq&VRZapZqE<&^nuPu##8w^hA=2>QU&5f}{}U8Zc^LNiI@^oWqD!tk*q6 zfnX_;V5rapkn|w8t;P)@I9v2UjT%B2Y|(>ymm;G9XG0H~0HI@U=z;1rSQu~7gMUVV z#U>>^r~@#IAuj)d9yngZRp9b3>4D=n0A|8@P7lU5)f)g}9hdZ=2G9bAT~yKozrJEH zx=AZN$lCIX z-WRGNYs$h}6#N0HN}WF_3uV#CA0Cv6qW{ky{-OL0fO@~_QB1oR00000NkvXXu0mjf D7tJZb diff --git a/graphics/pokemon/mienshao/back.png b/graphics/pokemon/mienshao/back.png index 43157c337d037886c8ef2ef28aea13847e5cc5c7..98e9b6e117113905e6c64c6407743d491515c9ef 100644 GIT binary patch delta 559 zcmV+~0?_@81(yYoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q{vgK~zY` z<BQ|`K^4h6CY6iG9-<&csQ~c-aQOnrFCfv< zleGSbNY1wR4b0kJbM~%}o=j)W^X}~I*z5_0_wjmn{^a)CF5#)On;l|P#Q-Iy5wAyq)B^F{$P!9_WB>x-)0a~>cmx9Qc75}`aEp2UK8f28#li(94S9l`Xd3aLpCw|! zd9eRHXu(ksm`2oqaq7i+Nips3qz}oAAn-e2V}M0?Sl%5l8(f*{mWO3|H?=^TqY($s z%JSX@xa!2-(GV>4EUZv>nseQdDC*_?qy=)qQ`gjq8srEYrH5)U28vBHb{6oV23Ju# zn7I?A7@5(vfT)3g$rD|;Ks#0X3vmNsfB-xlmH->*LI~=*1>!9r{{fT@#5PD2Ra5K+ zYIux302`=nu$1&L030%9x&ZUc1`}GhYm*DG$E4dMsX*AkuR5?~aYdH_eL$PE{}`Au xuX0@Y+}x$4wOt^Fq^VN>U_95z{J+82ADF5FAhH0@?kS1&jrdB#}W-e*gz`Nliru=LQD}0}d8O3CI8d0q;pfK~zY`<l!j2?7aGktiRK9AA*|3z5>M2U>pwlG*mY zfmz$@+ z-!!5Ej8iYp3W`zpG$3V05V-eQA7CNw77si2dBT;cZnj$#4FnOX=7igwR{~>N53=n|F-4b94Z3sbKw?MQ4w2VeuW z3TBcXI)Fo}Oc!91+F(fQwrz3&_8hn0h)WPQ7?drTv8bfO0PC7-?id&`uXG&v#GIw1 owOt^BxUOi_@% diff --git a/graphics/pokemon/mightyena/anim_front.png b/graphics/pokemon/mightyena/anim_front.png index 24f486df6d3f23b3524e8182323db27aeac18b46..90f55dfdf7c60f5aa247a08c9082da058fea2a31 100644 GIT binary patch delta 1243 zcmV<11SI>*3cm`Fbbkc3Nklm8G6vssk8HyetMivXSHc(q>cIw$4x+UVJ zYlVcGGK8m!Tjv)22Djfg=nX}-&ex%xiwqvp>F&GqJ&Lj|$+Ej#(V;XDAbLOXJw8(W z|AXM)8PSP&DCzH)CxGzk2msMP04|o}m89@30@WxG0s`#jD1T5aCYM9tA+SD!oLnh8 z0L~&?cwmwjH@4!vc+ItO&r*4}G6;yM8!v0E-4tPxmy;VSZ3n0|#g4QeoVhq-bYIbTeqy3w8bDn_G#1)!P|7 zKy`&nHUH&J34g*7MO%UkTUutQ)Ym`1#8qOvF8mCvrm$~=!jZ2l%CXJBs3QO0XFn;G zS#Utf_kb4uk!q$$!?sNd$PT=Pt zji?FGTw5;qe&2%yw=tMl`0n5~@}he>1Ol+Ul6pJ3dwPpil zH#xe1Fc$>mNnO+wF8cs8OB_lir53feb!mGkg7amb?b$avfat(0t$NyF~kxp8O%T_R0iNTW;g@n9!Logbsxy75e|q6V5XZR zRM!AR;eVHmyPwG*;yoZwA;lW8K2t$PpL(xK$kI52lt;pfYTfTsb7=UwdKKZ;Q=j^+ z4p>zgwx$j<`@jzX^kQ?C8AALZK(pf%!p$-)qM02x$;HF~VE(zCodC>-?+>QHE6X&M zZa(mUCAtTkHRl*#G@DHjOrLex1>P5$c8`DvBY)HT=S?@m)2yV;OZ;JFQ{Dsk6Mu?c zaNW+#`YOdXY!keHN(w#bj~@~Krkm&4D9~hnn*McE0H>Sj=2$$KMYH1y%JBE!9`h4% zC-93SK#IU(T;Ib5>U)@v11YSc@WPG)sNSn!a{cOvyo;~+0rlQxu&P9H9)51y64lCy z^M6SEhqr2Vdo!_P0DF9^)HjQ@O-D*#c>i60{u(ckkqj(ds{HZwN)EqxKX?jD09}m& zo7rUrP};Q#_`x*4Px&86patP0p9SM2tZQj|*Y92xoUiBt_i{fNpYnHN<+OQE1gw47 z0x!P!GhRbRDzcpcWqc=G?A@li?Pg$38-JsqS^E7w*61>rXa}Hz2i~i3?lgup3sop2ZAA8a$)We9_fhlPYRlbm6nU{omGc#YxQc0H%l!-qx;AFm;bU5CYC|KO~@d$aKg zLkDsSIBQ~#I%qJM2h8jgaMV9Id+^cyL-Te2?;k$G_!~y-!G~bdlkNZj002ovPDHLk FV1j-eUIhRE delta 1255 zcmVO{2?Q?{ZjVs_00gc{L_t(o!|j&8Zrnx?# zCGQW(Bjv_HimU+xy8YeE?9ASNpXdEMD|lkxm-PR)PXPXA0)K$u6M*y8cqK9Xh(H;P z2S9*bO#=CHb}@!_xT^Ls;yIHT)Pf}PLFusjqHLZeE4yJCFD~0>k zMEN#Cq?<)i&wthBudl8p0#@%Lv;fuRuhiKeuL=;3$hRf9ZA-`WmHPho=Xgrouktnm zt7yAzgTj@iCFR&aMDDzvDytqR*q;hnCs z3`Zgnz?b$avi;5I0t$NyA%qeu8APBIDgkH* zGmHRP3xC7}h^h}{)CdQJ1TfRh;j2pkqVSiD(@&%q@E(xG5Mzy4pD7`spL(xKNa8So zm^?dGkkIbb$}Krs)w7;LiN^ zvF>JgSQIq8sJ*Og&U*lV;19twuD6j{U!_>hYVX5Cl5N{`+sQvrlmV%LyPxU^%Yu{u1@w&o&eCz7G6zyO~h$wKuzbF(L2b zJAZyez4sZcDo~uwc!_H5#Cc@@m)B~2eKoUV0K0#!)DO$l#v>&#eE%-Leu)pr*foh) zD!YHVmUiqAJcbp3E=PfSaZv&kHZ>kUn&z)Le}@EG5I*v=V4Q?CmA3c%9#p~knjY|0 z?g#5j{#LA=HXn$9wRbz<**EXQ6cSRAU4I0W@x5@dw{>~l&A^;C23~XY+gq&BWiY`W zKn3?&ug1C47%HJ5$Uis>)0Py&S=rX8ov1ti;3T{O{4=O3Ji=Lh1CeY8%v zbMgcjhYkzfYBhuzO$DIrcIXV@ngN;f`Z7~7_2bbGixqU|Du zAaorT$Nht|{_dNNPZ&Cor+|}Y&rwGW25SMccnX;G56&KZcK;Ck?;k$b`Ughr!H05( RyEp&<002ovPDHLkV1m^mVWa>6 diff --git a/graphics/pokemon/mightyena/back.png b/graphics/pokemon/mightyena/back.png index 9750191180dec3c402a3a7cf9bdda52d6493443d..fad59cf11f29f7cfa28c85ce9cc1a9217a16da2c 100644 GIT binary patch delta 589 zcmV-T0ReLOEq*8b2A%Z8q*G>a=+e2)pK13g7q-496Ew|WV zKn)}g@_!?wu3Dnn&UbYi((7MV2pvN5Fbe9L(2prnZ z63R}?LEp19Pe@&5M^VnMR~eBH3GR8``CTt;WkTN6^b zw7}2-=Z*Eo6ClrN8)Jn|Sz2!RV8Z&6RVvPkHv#B3fEZ_qWn;Vqecm*IbqZiPh=eu; z6vj4_Nrrk@0p-+0(&@thoQq8x#;r1FJw%UEQL-KX$TR4sm;jCgzfa^N zML9+B20!mUy#m0)E5PGF0F(#JXoAcwqnFJH9E=e;0L+l%i)r&ff0KYi)4C!HK+16d z+5@2GAN?s06lw%o5_bGxe**o}ri@avg#l>$C%MukORA;;pwC}dyOfl43$5-?i@A@>8Ax{p zePfJV)R%yI1i%>cP0SJu5n=`+2`6dHcd@V#Vz`8HD))R`o-K|s=?wh-as0UM;-quA zKV|o4QKr+5W&q&xuT7ie%tR0EZJi<1a8IJ8SnU&=yvv)De_6_sA5T?e&W$EHGbuMf zN%JB|$jmIvEN<6FZAQ4vtguNtRUtOB!qzc-`>F3;)BiaOS+ln93~+j2&_;QXL$C_o>Ls_> zdr^?OX^v>)>fU<`p}4PYK6;=iRN=Fo*I>$@-U2R8NoDSsc4u?k=%eBDbGkzV4U z8;JOe3682P5|MTju#3c8liiG#P()w6tR~#H!g?H|2e5>(>6i0=1cH0bHNK9X=xZ!6 zq0x6Gh2zgU{pN>9$)w-u8htWyoxb9?X$Spjhe4m8=<~Egr$6nW^xu^Jw1aX&qd)E7 xzM%BQ%h?W!A0#J#s2$c!Cx2{J?eL%e_yx*KrzrM%?I8dF002ovPDHLkV1jfck^}$% delta 334 zcmV-U0kQsp1Ed3xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MGogmQw`x z00038Nklp&uvF z-C;l&0devm8cW!Ham_@&1;Xjw)$oIU>h~vq1VUn7A>>R@hA`s{esLGfepLv={S gE`DsHIy}>lU&>3TD5#*2TL1t607*qoM6N<$g1Cy8>i_@% diff --git a/graphics/pokemon/milcery/back.png b/graphics/pokemon/milcery/back.png index 661ef00c7ff5c8c25cab9ba004f32b25d760f632..fec01e631d5e3d3a269cdd4a468e0e5a185bca04 100644 GIT binary patch delta 358 zcmV-s0h#{91JDDIBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0VzpDK~zY` z?UYT9!ypWWK~?r8s0Rq4`!S{mXye(Zs^ocGU-F*x3hycRcKb+Wb=LygSpgqU# zA^^NP<^kbWe%O4ulz?fQ_w^=r0+$X?ZMWKXBIlz<5Uv4>N z=rn4|Gju$Ek|oSaXq?H@P-@~OM|s8qC^fMJTm*1N$wdzs4~p|aPUO-LpE;7TuaP$^ z00;JssQ{g4-;CP;1pgu`fHOUeHGm(^&fnyt|0f}S0VBp>rCRa1iU0rr07*qoM6N<$ Eg7j#fKmY&$ delta 348 zcmV-i0i*uV1H=Q6B#}W-e*gz`Nliru=LQD}2L^ocME(E(0VhdBK~zY`?UccegCG!w zA)DS+(gzUf-C^hhbe+B1H2eOqvICN?6vQ;?(f=Z0KIfkqP$3SzFWK$@of)g~)8M8$ zfOZE^*w<^g<6H+$zaJPyyE6(PQnmP(BbsW%lEi8^Y+8O(4rr+_f7<|opCzJ(qK#zt zCIH9)FJFc91QeR@9O%%{O$f!n1MSe{C(YIU2=NF2Le~G81NO22ssMDCP+b6kS50o< zU**H*$F&43+q|zffso?t7Yx{}iI^E8;6_nS0rv$kH&IB@Mjzlw=9gP89x9HS#=?#F z{YM$XEQP|A98IMnQvPKr_eg+J5h-8;fGbKSHDG8I*OkaL?mu%RZJK11i6)L~T>*N> uaXoJX;Nw?O0jwTit^s^F^YPz5^r}B2#$cuO#^FH#0000-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0SQS&K~zY` z?bJbXg&+(DU|6`9*lE`UJ%BP?z~%t74)?!G19t4f0E@SI(|P|w7ko-gRQ1YpMw<=* zH@0suV`u~HfMIiOpbj6~U`XoG7}I)AZS=g`e6A=UL*%~3x2&Wa@a43-Voq`Lv*a0|Jc9@Cw z0+tFO`V~uMhYTnKD+6}{j3RgkUjJ+YUMhzQ_~?N=i&IIR()^+zI4DY(g$5oo+6gO- z(%`~zjbcM{FCfI>*v?t{fHwgl<}c5er1*WC*Kn4dO7eFucl$3PY3l%$IzNI}{$rH- Y0Z^zp@G^?;xc~qF07*qoM6N<$g5T7Sp#T5? delta 314 zcmV-A0mc5X1EK?vB#}W-e*gz`Nliru=LQD}2Q|YXCFlSE0R>4!K~zY`?bJJxgdh+G zU8OWvljQi$^ve=fjojqrfR1H4fvGyZ&ip-y=6(&0YGE>1~a-g zzz!G;wSm~JZ-XJc9E4J1GbTB2I-M&DSTWOcyd_nPY16#XzA|c6e~C#WMu4~!ANK&- zuBHM6Af$^USbJb914)>-h<&))Fk_QyLYf*Nmn|m+Cm`PeI97I;nYRp<3Sj;fOJ#=y zI00P-bOQ86aEG}5)dX=VA1dI{18EkADkUZ3i-JIqRbdtq;+RoSSP4o3x&0i4L3M4w z`C&K5EUm+f0O!+}FlTcG|9zR)aI_tArSH6)_Fo0l0V4R%FZ(~%4^XH%@UMD+cmMzZ M07*qoM6N<$f>{ZGpa1{> diff --git a/graphics/pokemon/milcery/icon.png b/graphics/pokemon/milcery/icon.png index 9edf83068836b083eb31439e15f2cb99147c642b..0e0b54d6c0fbf298f63aaf129f2bfe256d7ec90c 100644 GIT binary patch delta 200 zcmV;(05|``0<{8=b$_c#L_t(Ijop$#3IZ_c83b$$eJ|{&aktU53EUwYx3!V5M;QvcQkF5m2;?!zKkfc6v zAUgoLpGhsr9d-A~j!*@Q5mdmB_gcJMsbzMcwyfrloEpBFB~K-#CXHq-mVLxZP*ojx z9w>0)`p)c+BTg+K>b=I^xu0pJkdK*M9A54p5eFWY7zcap9)}XoNByN;8`uVPHf*WJ QB>(^b07*qoM6N<$g7;-wKL7v# diff --git a/graphics/pokemon/miltank/anim_front.png b/graphics/pokemon/miltank/anim_front.png index 857bbeaba608b67adbedf17712d97a0c4fed3d61..97eb281ed2cfa0b9d5f7d794c2f34c697dec6eef 100644 GIT binary patch delta 1152 zcmV-`1b_SJ3FQfpbbka}Nklz7D?8dZQXN)cNG>{kJs_+=_HxT0zio|>TwFwDCYe@JnC zos8OmN=V_r!+|#5e8_~1QyS2v7{btJ+3%?u9Zdr0K}GiDY%V~zRH0YG6fNJ0*dxFMKYEd(r4K!XfJ+151Bm&_zAS9)0bmfhdeN^ zYjXlh$5w;%X96IhEVNhd%ARmboiT)L2}GU9YQ!ctjJ2nwV^x4mB0D#h&(@BMI`V$| z>l_$nKz~;0^Ag~A*!%051eyQ=^}ft~{(F&tTi6@Y4qhDhA+$m-2kIrj$7I~TxM&_C z99aG$U~uku3H}g086V0LaS!j&&;Bk0u7_z9J;4D1oPdopKf#T!u+wa_IXF*l;)x=|jRbOZw)MSmX3Y;n0+=Ih|uKa6RH#o#4SrdkqL zsjkQM_#ehfo&K>UfOLmUA}WFVoZndnyv`ZBbHA!(>Gcc9AM9QFbZO&`EpEXPWAgIX zDTc}HfF14G5RzeN6@%W^JthEpG=;Adh}BO&32o?{piB3ncA={u(f94gt=4`}_3nK> z8Gpljr>$<)&09O1On{%ZD(~*$4XaN8_No9c&hKWd1ZIBVYAZ==NJiMpfw~qjN4<1J z@m}Ta@68OPQV;UDTj5z$%Is?@enlpcpcQ;)6 zn3}f<=t+MFls^C*l(*stQm|gx9{_x-1b=Xs9yber=tH}ExoPAb(wzB&D%V1_IG_6i zl8_}=rPD0@K@+7>@&|24q?tcF%KbqD)Q;x6F)Ofyh1vu;NnLi96 zY_t_%`n&Z!0bTBeKllxyM9gKomI8b%{DHZax))u>EH#zmDSv1|Xj5Gk;490QmwCJL z2gJ}SfLZs+%YEh#*tK}>4O{2@5TJ`0}y<00c`(L_t(o!|j&AYvfcIz|+87 zdMLi^X7`$TYqpKbigu|io-FllqR&x0b)h?sAks?uF#}!-3vmyN1SZ25Sdbn%PSjJ6 zdY?=G0C!OEQ^s=Dh)7z4bwR$oHEs@4bBQeSbg0xE}v`SoF8@iax%w z=@`b1x0eCioNq1x%lu9g%N7d3xpJwE zH_pZfuWz9%G=DqsQw}`9Jq@tB|CR>;UF>TB6FK4l5M%We2`GmSFh&_-hk!jD@EU%R z$qcU0O~NbRpaTr^F2x^GoNLy3Oj}6dz{6u@y#0^~8K*R$N->0?&+^~XZuArhpa-FE z3pvvP!1oKlI-~$$kgtS*bYTU9?mB%5C^i!o-$5%}hktJ-liw(u5|F>coUNBODVFh^ zNaZ`elVx~wyDHgF37F*LTf|ZE4%5H+-ZTZb@zIwB@LZ-K!XaQ*-lj;$GDG$(p9QVO z59lGYD}bLscQSb~rg_K@=Jjn(K<%@wLiRHOkWv;}D|cm0xV6d{LOunePULRHCO3?= zr?t;o0)H}ztlU^WTRWQVBOi3XDu7`QTTR_GOgQv-ZV$KA`z_5s4a<AV9drpu&5h{DnLAgA$2^KWl-c5X zu~hTm`9F;54bGAqoy$~9@BBQ~^|&4{VXVkfWJ>_)4!J~Vf%}}_Sq8ky8M|{|SF&{c z0`doYhpsMVylIPDaLAZ!{wl>VnH{jhT^m9&45ebwY29T4AfZ?IDuHNx@^NTG?*v`y zi+{?AHa?{L?Z?f|UZ6XBpPh~2-P2BA*LhbD&dz|JcC@{Fc*7bHfQb(9;-WXB7MS{h zD>QRRN0=0Vru&bQY(()y+x@+%foS!hh`T~J%SL{i$~afr19vNbz-*zpXG6f6KR_>= zi%Y|5PyIpmZn$!pnzso^q(20uKLG64mw(a}q+m(i9{_yoitp0n_RJp!(CuF>8rehI zQ-3J8%bCBzD}O)|vUE{8&6z)>N+qrNgR&yB+#enl{-6L>4=aB-LF@+$=WQ)x^oOT&#m`5jKjh^i=e>AQ7XBc|wLkn1<6kA( VXRy|FT^|4d002ovPDHLkV1lsqHmU#s diff --git a/graphics/pokemon/miltank/back.png b/graphics/pokemon/miltank/back.png index 98c21ec46b5f81ade77bfde125c13f0432e6dd77..ce0113ab2280d5bdc262fc183dea6a84679869d5 100644 GIT binary patch delta 602 zcmV-g0;T=61;Pc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vkz0K~zY` z-IUL2+dvS;6+tdKb!|eSCu@jsm1CPH2?IpkZQpEV@F>7BH$W8XZxM5S%`4WR6S?iIBBS-JlCKXeGWu z-ROxWbl-rrxLL0oqGu8EAMwQzsp*V1T37<=t8Ie9u~fY2g_}Ru_P(WaQvPR?mqH;g7>P-zf)B zapxJVcig1SV2ELt$6R*dePcjg7g4b@z}^9aeTXUpoT-iCq9O95UYm{HcK~WE_!Z#= z_&{{n4lJ%k_!`uIXZhX`nOW#sT=Rj>R#72M;D#!GQ=6VeCdW++z&|(xb}eKt%z+lb zE)@XVR)c0z^{?WRya$MdnZ#9^O8L^kp_@XgZ~#exoaAH-DhtRR!}9}y0Zv`_)L;UH zd@&fn)YrCHll;YZ%*P)>ZEblS3t-};1^CUqglM)%E`}~OfjoKPt88e9^}zxz2mRy| ozy=mbaN_~5f8^f!A0i0;0`PouYqIAvsQ>@~07*qoM6N<$g4=`{TL1t6 delta 591 zcmV-V0n0vJg|K~zY`-ITv-<3JF` z6+s$Rw>IJ6Drtytlronm2)RC5*ut(-U+3n8Q|1u_MvR&SgE6|t$|K|jl9^p;^=Boe zz8kP?{QdTunbqui-oF@U-{|3oGr$c!mUF-@iOXNp!1CvvcSfJdf4IB@fZO}&91sby zxV(oc8Dc>pLBhoHh;^YzUA>osjiVI~!3|fgUl&tmG5VCJT zT2!x>HPN&1>5r&!2XHNDk+cOQ2(b$QbO59shp@ki9@qvpSd6`m*a8xZS6BC2Kvl)# z2+-;(DW1Lp{>+uYe?ay+2S~*1@hjkIu7nL@F$>U6V(9|yv@r17a|gx}3^-jxG=>~? zk)`u8qQxqszyoOD;BK&Oi!-)dlIfx$imr3OyeM&4*j(W6@Fe~sRC0IV(O6{!aJfw5JPjPX?uo`2@abaEfUd7? zu|ocf?wG4*MW!~Uyp9DBag+?a=`*3Xh%bgNp=k2_k5B{E-T*cSzR(FE0|Ufr?EoL| dd~f|9@d@yJb87*0%{l-8002ovPDHLkV1mtN6QlqD diff --git a/graphics/pokemon/miltank/icon.png b/graphics/pokemon/miltank/icon.png index d63715cbb054d46d173f6c31d46cb585876983f8..b0b6caf92eb37c09930c293f8f21593ac9dbe65e 100644 GIT binary patch delta 34 ocmZo*zQHshf&HmdKI;Vst0OTtSn*aa+ delta 74 zcmcb?)WAF;L7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKW9Q@*DP4Zo1}OB{)5S5w a;`GGyhXV71I)FMD7(8A5T-G@yGywqJAr$@q diff --git a/graphics/pokemon/mime_jr/anim_front.png b/graphics/pokemon/mime_jr/anim_front.png index 72620db842758fb1d9fd4bc8da5f40fa67b3a6bd..bd97d354db71928543c22ebce964f25151ad3a80 100644 GIT binary patch delta 870 zcmV-s1DX8O2e=22Uw;EbNklUy#Cz1mYh+DtlDnUUQ)m zOMXZ!EX4=RG-k_EmGf0F9Z}w~9@51#pj4fZI&{dw#?bC;Jl_E-;@P($A$aTiv8ydRl%s~V>WM>g{5`R5QSU^EoUjTF%*C2FBuYpaz zXKX*h)d-+v@*~KPu{e)%YOk$_#eFzj*p%am>W5+>e6JUmQn*g34ng1di;Kv(;Q^KI zm#2}AhufL+ZaON5B z8Dol0;+A(VOxaD4apbK5scMiZTQx}W#7p}38cjnoFYSTR+N+^VA?wc3BFqd`!&(E; z316%Q0lJGM#ma%TAYk70UAxfMf;M1&07*qoM6N<$g0nBA82|tP delta 897 zcmV-{1AhFt2h#_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MG=atuz0( z0009vNkl@)x?PGCi{&mdzo7ez6g%@?cnkr_o zwbLmA`PGF<@lG8uYn4&HIENe{w)UETU|rarz(zDBhLMhWbsm9;LIU73Q7tagJjYJ$ z+AmAhJ-*6xiH))YtUEdWuJvb(6JMU6RGB^rgdpzA*?(!Fg`hv%Gi*^&j>-5D08S#S zD8k1XJV>FF%?QFTAise%M1wg=f3L>rSdti~D7@I`6n+5Q6aSFv5Cg)LM zJFEAid=5t^0sTbvLUAHouNRk6P*b{|rv1L(+(gC=52)O4dLEkq9a+T=~3B~-C z-zDll0p}?^R7}??`kO{m=@e)i29h=o%=nIxbU1^-(id1&xnAMY7bx->3zxotR3jYZ z^$MsO<(taH)xi$Y#SEYFL$i;)%HiAE8B|m=J%9BYmhOU5-P)a)6%&AjsE!x0vYvy# z%I{-1hiQxlwMkYd7mEwD2D#}(YEh(>`S!QVNJLZ9%G4rBe4bw|q8#22P}ozjl#ziD zb3pM9m_ILVW$H@nL~D$vGwVD$deT96LB<*HYOTv4q2-+mU3C&<$ZP8-bq;IDWc4$g zczR|3eTt?bnOA0DcI{1}${_E|(IU)rKv)A2_{M^Oy^18m%)YT8pg;DgQ>4a%K(^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zrIkN!+b|TywMc=s28A!6+@Qz>g8BgIK*>fubkUyx86#5{h{Z9BS}^7XY@fiUhAtWe z@lbuFWLvf8L?QZd6bO3>jyw0bcrJ5%OFCcr`-IvMf_TM)Xze zqXQ-@y#>PE$n>Y;E;#{_7Kqzj;;~lTW#mL?&xAur*9b@%YKY{241ia73s?;-92ud@ zAb$>WM)({7YXD~j(?=bE{2IXTxHmE~I9ACSh~;B&tdcx90=|37#;9oz_~ z9q=luc!{ocdFR?1p%9`P>hjvAL8psCqrNXLcd2}AxBK%1RG{?qcfAMNJ?zTAoy=4QMmx*(VJCrxHy_G;T?$A^ zS-q&0iF?>`Sr3-&DWwfB3j`5)EsC}dEUo2ISXDQimo<9++=*seGHC<|tgO`DROK2W zmqMIoSFSg;Y6#4?J3>l^{cgaAaq+Wc)%>ERNXn3D({ONCub5Z}BwJQow$$dFi6TY* z3z~y>fzVY;ZC+OB55`dxg_Z7oLfGH(-bz4sU?2*uVx>omkr%!YzLdeh{Nd^i%lZdl W@@`=-_Ia5A00005oOoa|Phl2rt zBcbgHhmigtAZ4f_k`n-4;Vob_uyACAK7;%?$Qj{N1grs^6-*y=0P<@9zvHu!kwII3 zB_|-3k3m}{d2j%H`50_-hNE6jMXYPw2&X;pD(ZNNba$?+5egw{q`kIj(Cebm-x{1E z-%u7^!np++GS@ZOjF>qJX=92I@4V$AKUHjGyxSTJ$_y9fOhv~ z^|zOq%D`xEx!#u&XnFgg%-5BGl$14pi$b_dX%)Z+UMlC4lt5 rAGD5@9xX;*_(J$n1_SdS*Twh;Ve)Qa!P$@100000NkvXXu0mjfOQIU0 diff --git a/graphics/pokemon/mime_jr/icon.png b/graphics/pokemon/mime_jr/icon.png index 5fd6d871d118cc4f53f8d2161a13f3a817c8cad3..454d5994810f20f59254844b04f8741a6be41d07 100644 GIT binary patch delta 202 zcmV;*05$)_0-^$tV1KPiL_t(Ijop$l3d1lAMSTMurU&S4vIKe#dFtv=X!mCD7Dxoi zZ8D@o4IOF-L~S-n6iT-eZT|c(OX4~A=LN|KkNr0RvdLuB0%w0w0rYs(0-|zoRiSJG zo+t#7ffG?Ho51-tD8W4sLmT8EOF_i)*EkbP16=Psv9v5>*+a)p4$_nz*D^HMG0DjL z9BMcB;ig+EHgDJ^D_9HTW`W_x0JHL;fm!*`7x{sY7e9`IV<1JFe*gdg07*qoM6N<$ Eg5sK1ssI20 delta 236 zcmVlE4V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2@fb}{=+!{ z005^+L_t(I%iWSa3c^4Th4%(?7!TlWYyzHRwo1D}(B2f=1(E@C8w)L5uy7%eC+TLk z30O&{e7rY*e9rxOQ7VM@eodfUWHMU;*t!b7MM6*+I*IhU37wy# z5!~lE_CYT)A4H(1#z~+Jbba9gZJF=YEe?8-t{Twl(A35R`;L0;r&}tN$L>-olos%2 mfk9UQv+!YoS@^)Oe0%{vj)G&>s0gnB0000fmE48;I!k_Lx z+e8t6w`A-Br_G>nWTabxEKXt@a3_2NSf4?H17rZ}83dl=)dVUI>;iuk$V}z_oB$QG zo}NLAAmD*a3wmDXL9KXykQN#MD5Xjb{3S@JB5I*V24T+ZLQhvu>k!pG1NJ36ifbWF zpqLgiG60*Afg{5LB@+Qw#Xk?KUj_{WLSxE85*eUcWq_PWLX%Y+`gLD<(B znhmgTacq&?MP;4i1&8*kTik^;fRG)M7+Z*B8q~gPNeMXMV4T)s;$=7vBpQq#VDZAq zR*Uvse-AhyUQvs&#WX|xWCL-a84#((Zr;Wccn8F>#qB0m8#x^;!pqCK8LYCTU@Mx z(`Jyb^hmY>o}bt@u-@St!15lrS^=q2%RLahiNy|B6xap+BH*dafBd0?Dv9;vRT&Wk zG~h{&zgJmMNg5=%0ZK_J3j=%?#8?qV$eyV%n>l}VTUSx#6JTGcv8V`c14%^i$O2@K zRIT)wfMRA!V~L*!WGtSTsfUbc)B7TT+ za*t=w%~dl?Og6xHZ3`&+2o|TrtT}c74cfXb=P?{LiWkletuG{LvcNL15|aB<7N199$;=YH(L38aiRr_m ziw*#q;lwU09*n1!_+tB$n1VuzX5fL#F?FQyodB*Qnh(xluwYOVA$bQNE1aVW8oUFj zgTQMLDS1Ftx10Ao@O%ZdJ^??$g%lcfnRsGqU((mqb8PvL^jENwBCIN%dLx9SqarHz k1`#9kZ_K^^tN?x$0E16rw*mMj?*IS*07*qoM6N<$f`~iDMF0Q* delta 431 zcmV;g0Z{&<1eOGlB#}W-e*gz`Nliru=LQD}5fS6MbnXBE0eMM8K~zY`?UgZd!Y~j; z7d2_IJ?R}0GvhK@i31?z0Jcyr07IQgLvjPt(gfc&Uk)^}qtbw4 z^q}oF1ys9@M~VIF4|q6?=V+8u?tMQ1hp+DAzfFwLIAaFj&~+n#78sLLt1WCIe;fnC z4O8|liF0>6cjI24e?pT!FR4CvK*oT`yl=3QqVFLQyA6+MDFFQ`lBY*EbU;-1r!u)P z9x3r1&CdoGFe&Q3Os*tj8|wZi0bEMdpE9wthBXKo?|@{%3sylR-T_rX;5CTkaX=K; zo%eCz`2uKtif*o_Jy^pW`<5f}6NWd~cE ZjbDRLVz)z6jWhrN002ovPDHLkV1gO`xQze+ diff --git a/graphics/pokemon/mimikyu/icon.png b/graphics/pokemon/mimikyu/icon.png index 960acf04a6d35b788f96c37adfa654a66f97d741..89c587683affe897e592715b9df969f2af1d44c5 100644 GIT binary patch delta 262 zcmV+h0r~!b1Kt9VV1MaJL_t(Ijn$Gd4#F@DMRNiy<_dad#!j4p*^nH73J!p%)Uis{ zrehUoC=BG+9T-@^<5S{%J5QR4fN}wbv$%1a12^eQOEy6R@gFB~`>Qo;; z)ARc1DBHflU=J5pp+TpzSY+_-=tqk>y!=q;!_$v|!o2*zalZ580f*?DGwnaq3IG5A M07*qoM6N<$f-v-bX8-^I delta 297 zcmV+^0oMNB0)PXMV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2@(XQO2ftg z0084jL_t(I%hi%G4udcZMRS5$%&6te9W!x;&Tf+f6u|*dkr=BW2qU84LYFvUVCm3$ z{IZ>&?6@&t91RDr*AV3xfa}i9uwu1HcLWG(WQ^p#XB7bLQGS?cpw+U55+%4dx z(QtMeIF#x95NQ+PA6NJl z*a#s((Cy#=%^p#Zk-xW(kwz9XsCd1D3mPiSV{M%~D6vkg7!r2M)7^qh-6_qjv`aY;UdF_;5@8+P!jTCzsAQKhv=I#j0<Cip5+z7MP`(Dzz6!lRfF}O}{~R;3=R5z{91;>;rnvLnd^|Hd>-BfC?9u+%)NlMy zpC7zD{OE0Gb)5)txQ(t-z~Q!+^)`_s-`3j;0dl;=%YXXa0=T}qzOuYNjbxWN z&mn)?oc^b)MpX&G5}~op>FWkkKqE}MBH-!A1wi+~CjwkXfW7-h9}D2sSIXeH1RK61 zUCn`;J542I9x>qi+XV2X)D~Oixsn|K6W{~-vQiZT?tcODQNs!Ngx>3h*5Czb7l1?K zxffJwM@15lt$#;5LdARMP|V>!DZuvP_Z-56bD+oIhp;L>JF{gfFV94q zMio`sFP%a#06-7M(x0v9RC6a`!y!`d!XDV@b5l^L<$G#Xc4eo6Q2?P^9B>ATqFq5z zW`WX&(0?ufaja5~M|-rtXn9iE4|Z~vQudLZrG$GNpiU15;{f$}BE-py-S_r_h~=@| zSEfniw-@V0h@momHzJJzZ)tS&y$5JqfCfu=OaWnzGI*(ql_?+>(M$2 z*nb38AxG1NidDPGhSK~IN=rM2*tgkEbSG6P=zVj4PlCg`oa13k*%Jz%-~ar9P45J# z=90*Q_WGwLWp%Qh3Ge;{VlBt5}LWweo8`1f-2=#ak~u#*r>$u z)s;3f3$pH_T@rGX=c~?E~8BWlZWI?agG5Nc{Wq zL10z!a1atb*crFTJa{`>ua4Xy>8nu5XYqqo=rJaKc@OpDL^+@LHEMR15oHOt0aH~GB!YhbnMb* z?Nsyuy5tr5a=klRjwR79P@w1%4zjHK>F#(G`M)H28h<_1AAjsn&7+U|o1>~)9enMi zsv<5PU!%Ji@c7#6Y8{D@uB-K#04bj1dG&q*e7N{ruZI7Xdh~nw=y{YS8j@61f!pIslG=4!!H$s_^ZMrm38K6HStC>^_NY;kr~=5w}aF5J~``4`XUi zX0)rhl7Fyd7qPRj10Hl;X5?ymPR;T*ZH&JWv7eMlFRla>QKI>2WdI*_xUTIe%73P0Ux2Hee*oq67jwzrP9hLqKo4 zi=2eJ*To%R*>@M#+3%vB&9MDAb(`*joJWB>huYF%PQXh1QoQVR?Iwy9+Q5ro?5?$?r?1veQ0G3#3K1AN>&sY)Ze_nD1 zi+?Qi1`$Aa+*znR$b_hNx`XK2wG6a*kP!w_ZFif8rDqkg)Lp2JtPd8H`VXHQS~0|~ z=|y*tg@Vr24-X_btjj4rwkcae;me0#Ke6tt0L54mS?$mGNp237Dzbfbp-brnS$EM)iOgEj{<`B7W1{I* z=m&jEsoJPE$~OgF>6<;;>7-3+VXv}En+09I7nl{?9C*L~2!(AMwr6ze!0Vv}DG#5r jU3S<373)dM{^$4&#@Joc2YJ_s00000NkvXXu0mjf2gcfS diff --git a/graphics/pokemon/minior/back.png b/graphics/pokemon/minior/back.png index c36a22eac53b744bf4146ea18290c8f5582cdc18..2e99bdc5e19aae3d675fa7c570b0012b52a6788f 100644 GIT binary patch delta 485 zcmVw%?G{+rXOvjzN&i z7{RHXkpUFSQt&v8&H+JHMexb!z5&ctMMML4bY}tE9LR~iG}qg!J^;rT1t3#hr9hS8 z2w^+y4Hpf(<@g++c>)^o>5^DYE<}3Fq619YkZ}Vjk6?O$`k*!l%&I}{O|SMYoEa{Q zax$w%DQlPRftz(e;}Hoh0lx;Qbb&ZQS}db>uZhfB$0cMra%1Zq2MPx)B=|4Cs$2cT b>U4epPC8KN*&gE300000NkvXXu0mjf(3RWJ delta 475 zcmV<10VMv;1i}Q6B#}W-e*gz`Nliru=LQD}6dQgRX|(_V0i{VqK~zY`?Ub=@!Y~kq zL0K4!3J*Y@AR-_^H$)zQ3Z*jY+^ACK)&onW$n6P6CclB@y$ONd?U|! zb48_lMp)7SXbGe&1r~y7(d`el0WEcf^M=q`G0_IJ)OC*_z|5GqB(D7Rqu-ZcW;g)} zeV=GOV)-F8AS_@Rf6h5SJTWv%Q3oll44-Z|=QE6m017~`l?l9Q;1ES886y}mGYWt} zRT3VD$vMD@tO+(A-8X=ltchgcj_wR#a{^ApPU!0$)E|Ho@)8iaE_0yHa5y&|cA85D z!NNNS$SDDh*ks`wP0o3K%(4SaTKirDsE(j}0DDkt1g7<%QFgjla~IAOmqnOAtw$-W zOZUL^y77oUsesS|WWGS0ASst&-D_VIt>Y4k9I>`8wF9LC781<6{m=hl{QyonQ0R0a RpU?mR002ovPDHLkV1i*t((nKP diff --git a/graphics/pokemon/minior/core/red/icon.png b/graphics/pokemon/minior/core/red/icon.png index 46535bcda86136765793bb783987fee7e0b1fdc0..486dcdebd1c7a97fa4a141b14c1634fbf0d33520 100644 GIT binary patch delta 420 zcmV;V0bBn20?PxC7=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc0081iL_t(|ob8f5YQsPfMsF}P6ULYIW$Ts}Y7ga%@zd+@iJ>hRXMT8Y2w-tuQ}smuE*|-+)R0 O0000O{2^1q%8qq5N007QOL_t(Y z$L*BC3Ij0+L>Co2c*y+!*H%rs6sjp~p-@;4xy)fZ@{hok5;`VUR>6zL4A>5%bmpfIQ(?9))$gXfBe8@e$p z4X!r^A0r&vt_n=#***mN%NTAk!R~j!?mnNM``z5}1AH6{AM_b|0000YEC_K|{oW-;#Xpo;_Df2J z8aYEqDp%nE2b42uk_141-U4)k!00&`AkmdT0U!R6#vE`URl$T~Qt*e!1$UrwZtX-+ zIT`y62$dFlYwb~^FdldkB$UPt1Do@p``&s|lu+yt=MGF!s2&)MioKo53&4KDTd}d9 z7a(;X4A*me#BPR6OI`Ls)B=gTi!a(~^g+xm_#pTk3fl6SrXJvbA>Cb6&;c)DSc1DO zgXTcI-P#9I^F8r8zZZ?N@d1y{tLLg4|2BE^=XD~IwGY}6yZ1mU^>34VTp~(<0GPTV zyO8wtJpkIz+eatiF$5ZO2GYQC835nL3EpdM(j)|ChKX65x|vnMAs6+DL1j#Rf+$c! n;A#O}`I~VFqI>-q(~6=W?AX4be!buU00000NkvXXu0mjfj{D2l delta 438 zcmV;n0ZIO*1f2wsB#}W-e*gz`Nliru=LQD}6&U^s2~Ge20f0$FK~zY`?Ucc8!Y~Ym znNS~~)Aj;PyEAzpIBxI&NL5>SfI4{rV(wK#)GL~%oViSW$~i3(QWN033HRtPzkl0l z27`P2(RjE8JdSSxiyIY2ujzFl&1iKENJ)w96(SOZxT`K#iBR!}e=`7HHVVMMc6Pe%&RLrfN2r4FHzW|}q zqO{f?Gz#MZ&w_-~xM9F%Y_#m<iVJl_|Mvhe}7&e>DcjlWH9{*)&oS^Ge1vAYkX5`UXq<1A4C1c0eC*@+}?9|52} z-d;KhPa&W&CqNolE(5@iaRm2TnDV-7Jw_y gjDz6*RR7=j1?#3IZ_@MRS7?i02M6WMF(HO6cH^-2`_PxTWbVRMA2{B1JGmWFGA`+ zWqMy!=Zm7&7p0ABd{I;9i+=k;4PamPC9@><1@<68U>gPjY-VAKFCS1XWN))+Kr+EV s_@NWGN`bV?OpN#{(PBGc^mm1M0dx6yI)f*C6#xJL07*qoM6N<$f>#x1%K!iX delta 282 zcmV+#0pO{2^I{`{f_Ve z007iUL_t(I%k7e}3d0}}hJ6FE!;R(*QcCysS)}lf=9x{w(IhQo)EWx$6gn0<^tSu> z@x0>`;>SzQP5(SreOkv0k4Qt-Ck_ZO#3Cy|3PS-g10d`X8Gm2^d+!+79=Tl$FbE#w zv;%8w2(V?$sy2WEqR~#n6tFlrLdSlpU7phM<&rap`T*(Cw--s`UmtxDjV~hAz6hyw z<%?JvU*y}DRDtZvY0pHTeF2?0u-S&50SZ}|Ni<;K-Ud|xudD*|L;5_G3nX>OM9tin gNR2S^yTZHxa})V^Iy^73FaQ7m07*qoM6N<$f^s`|b^rhX diff --git a/graphics/pokemon/minun/anim_front.png b/graphics/pokemon/minun/anim_front.png index 7ef0fc8fd5e1dff56a1995de8e6c238707672fce..f309898b272122eb976009964c4f25de22fcac25 100644 GIT binary patch delta 657 zcmV;C0&e~K1>^;gUw;B`Nkl8nu5XULd=xn*}1C&;F$C6qoT^d^+vPwC* zLYD%940tXKqjR31l_P-YlN87ssix!UiA&O#-9MJ-}6#Qh>aKcDu(gx}%7Jp4mX% zXlj#@%2C%;n1AhIZnf3{wStfuN(37EW+(Shwjrsf_OP^e+;?kB^>J6!Q0U_|4b%k` zyCbp5rJA*6gP{(ICAzFxf%*+I%K*rhR(`zKiqc)j2mOB=>o{NN80j~oF zn{jZ01}f><&i0>~N2GOclY!ok6@t$SZ=kgsfZxPO4Sx(ElObTC6j_8jAnhxp=Q~EK z#h-rcPhBNn_JHs1-96wF&0nS$nE^aH}nS^T$9vJi;y4l;VfS@<`4fLTuZgzw{4!1>a5&nwr8evCME#kvg_! zU89fhbozzwz|1fV@d^sqCDeQ&%zemp(NOb62eeH^FM+3>aB&og2?SSUqzMyOWDuxQ rwhATM%n+=L@RHLpn7n+pm$l!1QN13a4-Jn1015yANkvXXu0mjfm%B9# delta 679 zcmV;Y0$Baz1^NY$Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MHGd-%#_K z0007ANkl!D`z;5QZf-^ej2<15{S-idSk;dTFBdAy+9QSM*X4GWcAK={Zl( z$}uc`l0x1fFV)f7RRi6bJ(WQ59AxA9JiD6RnfX2MWdFcIhkxIX5*|26^tnfgTH}Tsp7a=IDUO@>F;0tsbT@+SC;LhH()Yl{5C)=pc+1m zzwjJ@^@Zoq$^@UWJpleU1E@b|a7P62(2v9bNP7S{S}ciNZ;gBTh46dX{UHE(Vwptm z78(+mTp@4|O@B`TQ&<8>&?IoSd;qvA6$OY(*snI2#)1ImGn1%WO>HubD)ehA&E_yy zTI;wVFRg|Kfu6qE`2#e2N&1yJEUhi~{aAM&)^!K9-d)o`S3|wt6%;VrH$A3W22|-D zfP}8hLhFnfXC8-BTgw+C5ZY(=2!zD&7wV!M z0H0I`>7mW0q&j#GSYKFN)KcQJq~wJ+Oy(6%6;fW9$=)JRF!BPeB>djHjqz`(u_itq zLR4fMu740%Zh&mp{;UJQC}hL;7qEdUYv_rv_=+3o;#(4U{i%HqB|ZExQIAh>#|@?I z@u}G<`eLs3KYr@(^a`O-4_eZNHHd>&GNM^`7~>mVe)2608ipZWK@IDi(ii4FRJ!hW z1q!CCY$N{)r94J-Bs5y{Z;G%469Hm#bj(8t7+uMPN zG1rd(M3EM?M?lB3-kOjm4P@wKo(gl!44SN%1~QU}%h7<84nR-yJ?^7B5x4{Wd-;0+ zT`izufh4Hfz+i1V1%|a{3yjGJM|_aW$LX8-cmWZjZ{E#x{-yu`002ovPDHLkV1oCb BT3P@A delta 237 zcmVuK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2^TSrj`N@Z z005{-L_t(I%k7e}3IZ_5u$J2fgRzG00000NkvXXu0mjf)Zt^r diff --git a/graphics/pokemon/misdreavus/anim_front.png b/graphics/pokemon/misdreavus/anim_front.png index 6e6af15db373a1ef15e5d70822de0beaa3d21234..e59ff75f0ac5a6505d6c754a421e54c335cc23e6 100644 GIT binary patch delta 892 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 delta 546 zcmV+-0^R+R1&9TZB#}W-e*gz`Nliru=LQD}85t$GcGLg>0qaRbK~zY`?Nu>u+dvQ` z2!3D*f@ygZ;ffRj?DzpXi4QRj!LnDO>r=T-X&_BXmwr)@G6mm|U6LlxH8JyKcr9{(NfU-HFmk$iku0Io>@^1BQePN&ixQo0}8&o?{(f5??vfNOK2@Nho> zOqEcewyimQRV*L9$@^*H& zf5Oi#|B~l@|EW(Hh(>_lKeB5Q-M;^o04xk0dR+C;ozYzN(1qlO5;I2#Z>?ci;@bdK kk&Vl?&hP(d82=o90MaYnC!TZqod5s;07*qoM6N<$g8RG$jQ{`u diff --git a/graphics/pokemon/misdreavus/icon.png b/graphics/pokemon/misdreavus/icon.png index 2546c8f6fe8b375babbc805606011a16504d56bd..47c3031a1bdebc73d5cabae7e4b9eaf8964180e4 100644 GIT binary patch delta 251 zcmV8`b3=*6iH9Ii_TAO_7#AeCfkEx1H!F2l8>szc(@)kI>4;Lla zwEHgV2$77;%XU@u23Gx_6&Up&7;;4krrKvTEEQbQ^?hZjawv;1;SFBG#3&4!g`qsH zgb7!E{P%=W$1K7qKW1UO{2^tL)Pw{F1 z007fTL_t(I%jJ?i3d1lAMtuX}rJFHiFF8}`&@o5oeH@DREIC6~gU}W16gs#Vl}`Q{ z3mrA@!?@s#?x3edCym_psJ5nU(*W*6y(Sb!5E@&)W{h<|b}k$og$Tnos9Av+_N z8Tn{;SA(meVXS7rq@&GSwOQ2nOO$F;&~~!zE!xKV7C282!!Xvo)u=!C9!oae0*8{PSUi=fpqfvyp?tfrd)IE&4Ov6I|FTUzdV!HDxBIrTz z9TMpJbiG%v-+T3SoPXX9_pa6&wNB%(u?Oh3_#xj1obVIg-GAf4<@*8mf}QPV zWe9Qeyz2f>GXV~2jySUcEP$SEZAFOK{<^U@0OLs58TXY`mrH>AHb8uP2l2BwES%s_0K*9x3@&#^GyQ`P=2TxfjmK6ia}Vgbwqbk3aN!_EWJgCh-KMtbLp z2Atss#a6a?&sNh70WyZonuIwvP@g#gIwS5k#Y#T#?ZRYgEgwGpaZ$*JNx3M-`F$=?K73Wk zhks0U%Bkps*13Fum3+9Hc1j;?B``Mf0Wb)DyG_*ZjKC0D=v+SN>)-EX)%4 znl0vo`p)Mtgc;)@0tu$+*D6qJzn@}JhVe0EO|moEO-wn!Rr|N2dPc0HL@DG$^Inr~ z93xRsKHz`-mIQM1fF9Bti~YxYiTdZu%YWrQ;O)oXj2GFS5Z-?F+J`hDPnlaXfBl_O z=?g2N!^fsS!6wBHLKFu`TxT}m8ei8a0F=dtZ-8rsEo>Q6`VRLGb(mTJrUJ7)c6mA_ zXC+g<)+#TXY^Pp~1!0<3tTe?-eG-43CXisonO>cfKs`y56cR=QMn2r8Nj<$~I9^Z* z7x>=5sRI@in@*_P9f4<#V{*u*4^Ma3jlNi)URoypaFd=939!w8Wc00r`eOB*wdiX} rZg!S75i?pp-x-x_;xGE<-?2Xcxp>-G{mN0-00000NkvXXu0mjfgqjyR delta 1143 zcmV--1c>{!3C9VLUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MHShbLG62 z000CkNkl&x_ke6vt)ouqT6mw8tFQPMTAp-pS^?n;lza=|O9Iq>?6w*zyPp z3n57JAXLX*`X`hg>z2Y^^B>fNwmEFtu!4a8m%g#Q# zj`QJ1t8%v1to53$W(Cmi@D{HEj`$JpS8P$|)j<7><2bZ#!A5*FtbnhkyvI8&`h2*6 zQZqF>I;B^~$O469sveO$Fy3OI4WV#_8nH{K6Rd&IsdXOg1LM#ID1cgrpX>v{9H1cL zGyV|~#KAFuR>XUxk4+nravW0YRA z1jJHeni46CV0#xGz70f!Ao+X}4dnN)g2W)a&$pB53e3@$3+X;Ne-!{E6E)-g)2*XS z05phizk$Uc5@LkKw5*%@5TYn{Uteh%C9X;N5Va|`wSOqIhS$=zh+ReHcCGy2i-4O6BK=J07 ze{9)87Qlu5Mj5a6U}Nj8#nwScYvoAizcK!|54ZNA`2p+$HA?n@ielS7w5f9h^EA)1 z3j4sG-r#kU=h|W)>upIzQ36Ez1;AT45jXzj19ZP8YoD_LBIID~ZO- z<@vG-c>l!@lSN(;!uzk^_>iT!6-eiAeo`uXVI_3**wiQ3tk^+><^YMy+y-3Y>lzJ! zvh3j-;8I};TiTSq!Sy2@Wfp*`z$}kdp3V9+;A^c`vdQ0)ZZgVNij_vZ)F<)hS#Sy| zD$dmEoCF$amS&JL8Zh?ZI!hbbHN%GLk@mrJ8i0agvni*6XO3fX$Yu|ZX@Ak*T=I0L zMw|4ENq}t{B%^N~^cU;rtV3T*a+E{fa1keBg002ov JPDHLkV1nf#GVcHY diff --git a/graphics/pokemon/mismagius/back.png b/graphics/pokemon/mismagius/back.png index 8782472e84b6e90b4b2c88bc5d9b89cccac215de..9aa8666d1112904b1b686ba095e32460d4f8e9d8 100644 GIT binary patch delta 658 zcmV;D0&V^11^NY$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ivuK~zY` zt(38D+b|G@RiH#y+en(VqU>;v4YX@)P|+&6A_U|CxejTS=N+j3N`8ExINCvX6@%$$XAj4zhH9jolB`7;w%}aHM*>goN+{M3(4tRHE@75Kf<>5|y+Uz&^EY%!8@P*Pxwi<2HpNr3<23 z>2VEH0l?{QnWKi(E&e|C?{J$W1?#7pwo*PF+V(&pu?N9`lTzbe^v+iGVDZMsDk?8-T?Cm6T>tb|8}}rnZoH2Vcrd-OB#m@EYvmvAiR%r4dFXneU%QxNeKsIzbm_C5L}5xuI1U7Eh0O6H9oA|Gw(-|3;Gh0T_QZ>B`&c4FCWD07*qoM6N<$f}_GbFaQ7m delta 642 zcmV-|0)74Z1?UBkB#}W-e*gz`Nliru=LQD}8!;j~ysQ8K0!v9mK~zY`y_K>S{SVHv=^1g=;LXM%_8{F} zHS$;EO4Ow+accGtpr0s-xtj`qYlf{Zt?~$cOCa5#Z+4VIe{BLlF{*+uKNb+w(f0({ zFU`FSc(7B?ucwcC=;*qBmB0N@<1%Y%7a9n);yWXSw$*GjY3xcjz=pS<$7f`F%OULE z5h-etsOE#mgKHJ{+iFWip83V{;b6?rvLMgcx7wRK9{xdLbLKa|#UJj2EchJ&6al>f z7e*@BR0N!$ctb~AW&&#g1>LqCrQnDua7rs7E4pdj`OUx$qZ83lAX?gM23KoZRU)>u zO}N&W7wXFKucD?p=_>y3CFb)mw|btS_dXoYLns2}*j4ui0FBpF{>BLfum;e9(07*qoM6N<$f;|^0p#T5? diff --git a/graphics/pokemon/moltres/back.png b/graphics/pokemon/moltres/back.png index fdbf9b67af8be928ffcd04410226fd015bafbcdc..d1ee4ba2cb436e90cf638dae6f6973a11a1520a1 100644 GIT binary patch delta 600 zcmV-e0;m121;7Q6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vSm}K~zY` z)s(Sr+dvG4PcpLWG`OqGqCSlV4D|)-dNx`(Q4PO}!@3pGQgEEx@CXu34= z6Qq5HkazYFiKn?GBpDDtlRv2=#eZaJ;eUX2CNfLGyTBD3BhhktpE_&KvEBd)5`gc) zS_`TVWE3NZB2}QQHHAojfyt5snlkthY3aWAb$Y;?C|wswya#zma9QvcXt~B=4aq?HJ}mg_wDmAu=~{x z1A2FSP3l<$zz~=R mbIkY@VbS6W<8%DOCd4c8-nI`w0s9aD0000C(tgkoFmRN7+NA zqvqsb*ns%??!Pndw-9e9;>>>ldl<Q|E+F-N z063GIz6c)*q%x{O70w8TKpiqQP~*AVXAFTlypURfa}76fpC$DZb$cOL8PqQJVr!T2 zKnnPxkq-c>kZ2Pr1> zORmbZpzC{1!KP}jeh8bBCVscsqHu~h&GZqk?eff~O5TSn^s)IF(knfPuqJ{A_UUmEf X@!qx%ZvFK*00000NkvXXu0mjf+&&iC diff --git a/graphics/pokemon/moltres/galarian/back.png b/graphics/pokemon/moltres/galarian/back.png index a6f6d2266140fc9eac8d81c1fee021f10fb84bd1..6ea99b523fdcb170c2e1f26159488424810ef000 100644 GIT binary patch delta 558 zcmV+}0@3}91(pSnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q;pfK~zY` z&6K}t<3JF`H|s+6Vn2Yh#Hff1A8VVmQC4tmgoZTgavUy$iBRJ*n0Yu*?Kn$d#X68nVUXBlB#5z-B%=k1!>0|G!6JwS>?%5cfnCr&; zRzG|*YMkL2+;KqnOr2;cF%91^6KcAgmH55*fpi@6g07F|0A^gBZdfB zi@?wWMVo-10`0)#O_Bhghh-uicx{8j1qIBjxQ!IRAqqf2WEgx1P$3h)WD&qq$|^b( w6i{y?5+3oB^$G(VNVYw|pk-9w^f2}g+}qG$5>x)x0000907*qoM6N<$g89++qyPW_ delta 550 zcmV+>0@?kR1&jrdB#}W-e*gz`Nliru=LQD}9|2&FNdy1@0q;pfK~zY`&6KfDBQX$$ z&8A3gB@d9Zh_)a_PEI1)Tf7o2s~yp7#|foGh}AYJPmy1NtLTtWN~CM9LZFDqkHEt) zwh0B9*|b>NZT#*3|1+Mo5Z`4bYOn_|*&d=X#U7KJ%)eWlt_|)ff0MBm#bKtDF@};D z<30eGu&5|nbOA1=k;oO+`~~Rf8kQQ)r0fUcF#qbKXZAu%zxvT)$T08j_q710-^|7@}ANOQJb_}brm-?qKMo%(2 z11>kJT=)X4Le+E zg@AL$$JKWpQVI{m{?EnA(07*qoM6N<$f+#BiH2?qr diff --git a/graphics/pokemon/moltres/galarian/front.png b/graphics/pokemon/moltres/galarian/front.png index 0fa0dc4465d60aad17c9931369778c1143a18546..a0f00c0a6cf4cb0535807f479b596fed7355bc49 100644 GIT binary patch delta 842 zcmV-Q1GW6C2e1c_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0|`k)K~zY` z)siu5+dve@&liZmWY9V3(9KcKm_Uc97fM#iPo#zpwc~3DWH300jKL&`(hiw~=U^x@ z9zqx6)MGzFL!kIW^}UmvI9N)%_6 z%2%H1GG&BeNAW5L>RNgP1TBHAr@}QVz(Fa-{R|Lv0Q1a(hKda!y-i%CG{CmNrs0V8 zFB|*U>w8pCPESlKKMP5J8DJ2*rg75`?{V`11rpBmm*S3@Cy#=qa?*ppjz2=Dvf=K0q&>@g@3Dq9V~`s=(>r4M4OnK))r8iKIbWnp)zfRA^$ z1<-U*D-il9o6r-0_wOapfo4_WD-twg_B{A78Nvxb8x>lAc4@i)tcm82pV3Mvi1UfoLV|tse`~-9ms z9%^&UOQ;rq1E*T!eH|9$Irw@`z;OX!b#(j9eXUarP=`@1&u12xtF!(Kz!m1HPN54P z(QjWD&Y}EZmZ&I?mu8k(QH64nW;Tj|>9-90oqv9o703tp-E2I{?3Ks2tAHFQyW_<} z$eMi)$eZRQ^T(&j-O8*Y`TfHqJWp;`Usd!p9~pfm9oE?kVO?045qmi-_K(5XAExln U-IyVOrvLx|07*qoM6N<$f{@LS!2kdN delta 839 zcmV-N1GxOK2df8=B#}W-e*gz`Nliru=LQD}A2CK(d8hyY0}e?l?|b^e*#EH#FU3WAz{}Zq!Cp%af22p$woS**5?2;` zNdgBj1^1gaBC@&2%0G&|AWcCU(ib*ywz&r{NwM{=!x&|e4qcQ@0>I<}RF$t>)nUpA z!;a!*4pg;t3GkZ&Syu&Xlz@X$jC&~{=mv~43+gH|fOI!;lhOd&0*i(ty56tvU#;&^ zLP6z8Oinr_2@pWte^dfjQO#!D6=Yt5i`7aOFT?w@fRq6SQOy)?3PA-2{1VU_bf^Y6 zKMT5)!8ZO}fe;BmFfa`Y;S9P8?bNBI7_hnL;IXkMm@K%ON+fZt!mkOb-kB5WiWKnCbt1tosAx5ye=`TYI23IIR=b!u4yAq& zMWo<><00@V0MoW~^#K(QB4*1=ucb|k0wr)g0M>=vR|nmiUFB`a9UG|Cd6B0)X=>*e6XcnBu|EmUaQh2{FwA{sx2UUdi__!{j$c3=UF zzQAGSb25U}Fk`!;pTEkL-61Mug;_Bk&nL|C320@#;T!SotcP<)z}LMDU^coBSptAQ z&Qh54%oA;ZR(S=Oj*_%8CL1~fm?V1zfws=jnBJuQe>?&0`x!op55Vc2#s$5+@0qO3 zF)pE;51eX^^E%9lbMW+>fa4s%YU|dUyGlDBpbEoEmd|uytjaE)0WL94d2(Iw(7dWT zw-3d8vxT`I{^=+geqM%RoJ2PAfa$js{GEOOEKQIN@Y~sVl-etfZ!+dIj(5kcr^P-6 z)u$?a?2in;4y(`oD6O8=4`2A1TL1oE{sX4)&)xO` RS@8e>002ovPDHLkV1fwTj-vno diff --git a/graphics/pokemon/moltres/galarian/icon.png b/graphics/pokemon/moltres/galarian/icon.png index 2cc640caa45d1aad4aa38778ace193f0e23f4fbd..0f469cbf5ae5373abd6359d972a371b1fc0cf4ec 100644 GIT binary patch delta 346 zcmV-g0j2)b1H}W7bbkRmNkl9hygB_mVdM(Ar4UnIcL>2Nfx`< z1@d0o$1R+FM!RqRYVS)E`1uu>&{=Bl)_w-X$>>|D3fB5#NV%M~M-C9zevEZgIGZW% zr~ecHvD~}6kn_5#;(FZ&Xm`2GF}bz=@We^Wz6FQwKB8>3;{dW+SuYhFiXf|n&7@(> zQ#W__lrZyiJyQok;bXA&WkaG5G?Sx_15)yc*Cm`B9ykOPZ%_LV9A-v6*D4JMG5b;7 sZ#YP*2|sX<;-$z72hi_8u=O{2_Pn&TGmql00B2iL_t(I%jJ?GmV_`2hPx-o zi>au9YwUF}dHWFLOk*k#!?FmSt>@V#Xy;S~v~ytCaDQy2dKxX48@qO;su3Gp zMvTz+)wCfaHc1;fdbO0*B|e=3hhXV`jmJGLZF9KLZLESUUr`u6aXk}#MkCqT>s}Rz z!lOz3IiiOLSjv5ZrBygCGm^|dTmUH*91cL%X)39w8iMa{y3KwnA1v5eowwp}rjMvo zJ#hdXt&W#>9Ab7sM+>vdO}lnyxLe?it1Q#e2r3^9(KCk3ALu&ICl1ItAYR5OFE~Wh zZ21L;LC_ARO2t9LzL)eX4r+Dr2M$_%FY?3z>^l(hI}`r~NB+J3rA9&>00000NkvXX Hu0mjf?Z=-# diff --git a/graphics/pokemon/monferno/anim_front.png b/graphics/pokemon/monferno/anim_front.png index 41f3547dc0a25da1e1c5cd87ff9e2a0920a118bb..7d4167c6b5b25ac7c94de7ca92d48a18afb00423 100644 GIT binary patch delta 1158 zcmV;11bO@H3DyaaUw;H)Nklb3?`atExB5PwDKuNiw3$hN@L()&#q zDJ2(E5-?*qb~SFIF(Lf4fi%K!sAT}4Z3aRt_JM2%gD!c-N}LDVemY7XfvfYv($T{J zfc}UnX$E!#ed22(2)@}7O+DGSGy^-I(FdfxBfi+}?64Rx>}hF6Sy2Du&fcR=r?bag zAS}zC&Taz>L4S53?X-8>4E95)b>Geb=58C_E*`a?88t$i)Uxm9fgM;t^LhJQ$_ZUy zbXs~`Wnr$@zwDH|XKmN1>W0^JW^;hQ{=ocR; zD8R1sfG5oF{w~&je$D_m0-zO1K)eWpa!M&PHjad#;(s(c&&~LqI1a6mwfd=mI*oE2 zP&s;KLjKFzNd$TLPCiF?mbru!-{0_}*P?|+0fbBJO|iKABioAp=mBs(O58h}elP5P z??J8v-aR{e8FmjY>X4(6HO6)I(`C1NndC^(0HHhAPxmkPbu_L4vOW<<_x?&QA1fPB zy5RP&%YV88Sa#@qeJsEh*%F=ms1ImD1_;uEubc3s)&_tt<(TStbNlo7QTEs1$pBfk znJ1QFAo)-rCQrbtgqE0VQpy?YCAr)HRcgFZ(o38t0DJ}bxjkT$H(0N5%z4SH6UNBM z9t)h`*O3;6m51AhgydtWW8O>e#%9n`#Lyz_?|)wiH83dHZGBR%v2>qf%XOJ*g~Ngm z{=^)^y=>?cfjL@jOlnc7nT_7WAt9NZzpejf-D>~ajt@Ect454zF_1r=R<;<*-;lLA z$cOT`Y zZhzP~D}NN5S04ayfbnS~D}P-RAlCDn5!Lx8RL{y^KZ(UU1mFNO=S%YUVzXudFtv{} z@~=RiRksO16KCXK2B4k+aG46BXXG!W2`Dx{Jj9{=PjVBI6AYY!Zsh+uk-zkq;`jI@ zmH(j^#SP9Spa8_yE0W0n!i%C-FE4)}B7c_3|H9i+$-i(Cu~hyCtkqM=zwr3aME?6% zlFsP_&!6GKg2CxK5n=aed4O&v=F;D~THC<{`Wrt4_{WIn|rrlEkE`R51 zF|f>eRn&J08vo$~^wROC}fihB8M-qM3?0 zR5w5c*nm126iL1sCK9Wozos$;XCbP-#r-l@K>m|}WB4&OaYVsvY)onZ#OMj^ZT;)| Y2k_O=6UYKuP5=M^07*qoM6N<$f?(h}@Bjb+ delta 1181 zcmV;O1Y-Nv3G4}wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MHn%?cOZC z000C}Nklj%NkWGQ9sg08`Qb|6{2*8|aTlF}J z!Z`QS1VRbjrlt;nvKer`GzPL6bh_;7t8qNo_R~^g30%L!O%2@(02r5;5o%zY(?`C- zgW&re-qwjOy zQwG2h0G&wOes~C-dX!S8Zya$>`AIa&)%c6pHf@mg<_U*!66G?WYV^W@`0wk-5yZpy z^KpddnL|kFqYXED$vfyefN+JqE|pe(VO!DP0{}+XiCd@T55xXXF2tq42dAgc!~Vfp z6XGa}B!7qH;@9(j|2&B!Ndko4yL`NVzMs64(geu-oFCnKm3(|4O+e|QGg%c)0<75d zPV+{9EwN>~@aY&(xCjuW1mCq`r`9KcFRl>P@aFbc@m7wX!4(0rW-*s9$3Su@5ECol zH9{-QF(~yI8zgZt0jf2;Rz<6LUIM@s;OFLm4S%o22I|oBDsGc7My}0K^}O2}Qo^uy zZ~KrC$r=s4LAn~7K}UM&so`XSc&G4ogxNNW;tEUWdE;;#MhYvy!7q$sSj(1H2rSTg zt0+aSVYCV#5`|=d-i^0!Ott^C_8}+#>HWji$r;NZmrL@4Gm*b8YI735lD}zLv$FU^ z{(m^9&2(hsADeeJ-{EBBk7M(ea~)1r{x~tO*x_J7{;_%A0CRO)(=D8pKZ?z(Wf~Zt zwzBfq6b@n?Wg3`ARLja=JC4OV$~G_yz94@$HtR@eV0@gBe+}YUbsGS*aYp`C0Gb&9 zS1IROM*du=keDAf@k;*3xe7@K16|M?`G3DmOMN+< z$RA-}27Ka$k6(?~P70WG(J!(;GS?+)S^*ji%9~2Cgb9~d0DqwE zux(AJ6?6m80PVFMYEfy1FB1JT=GcZM^@`(p>oKt6d39L^C5VA$$cEmk)ND%dt-)#o zbZB_BfgA{&FzprOW`nm%OPh%e`Tcdo+o_nt8`P-61d6Xll3Wdi#F|y;egjTcQ3_)f vlF_RG!WRjy0k9CufKvP_ zfWs z%@w+k0yqrESM>z_;k6P-lK!w)0>+^4=jA#M$G$(QIrzh+0`S!LZxo;;D!_w3B)u|& zl0ffc*8oFO2S}{fBSI#t-jT-Dpo-+V~Gw18vEAPLrWvBxZ!fEx#EzfW_|yj};s zZ8m@2{n%FlV6p$3it%N$2N5BFQaSE7zX70kvq<yO+kcr1w)>dAr1xnGQaZDl zwh$lqIDbs%>}3v8+A}546&3Q9QM$ye0;rRI*h&{ib8$4;xdBipAJ8QitD+U=0j3lJ zu1u73zQs(4Eb%(I-2$L{01yr?w@hyL`j&Gbk$c5ev`X;HVh6zE98Zq`R3yyGj*9qC zN=+&9!o$V@z)j!9&vu$sLKG{J?ny?)|2oPv;3)u=Kz8^YDgucRNIIyV_2f-tLL31R mk_RNy9%TgG^_lG5$odEKVrQf!vaLP<0000{jSB$ck1y1^g*gyt z)i4y+81lg9nn^Kya|JGV0vH67tGa{1=vpL*!*R2m+LT?c;2+8;Ek37fHTj# z5kUJC@ZgP5UzA$ZfAD?eC}4!@0E*;#h|qM^uV_?&>xfU=T?q^outI1Ned6;Up5B%k zD;=0hpxZqOM8mHoU_a5jQe$cYqCklRkfTXNpB1n#M+;e~1wv6@0Ww9dZBqg^r7{JO zzz{v00$S1pAvcyLu~)Z3#PBpAH6Y3~0N%oe>UP1nZQmAzyhS_K$lp$ z1F96P!y(OG^?M!ow%z`D_v2s!n#AF6%HqrRpjp%bkn*_S{?>p*NdWT5iAPOhzgIxZ z*`&|ueVS@6?Ie*BY=fKmCY_V#x&H7aB0-N;$X$l%5)uOtH~n~&4h-k)YLauUbOHYW zmz1rtR+#$`e`6hRxTBoX9V9Ht60YOhod)zWe$f8qj_~7N-%_fj$lbD4{9hJ10xqR+ zRslfaFe^JMq(3oMrN|477SsUvojta*%rH@`gt8|IX76>FNx&5VD1q$w90~$36M!p- vo^|;kR3<7w2>1obq(*5$c72wYDgFWTVrQi37?L3X3jhEBNkvXXu0mjfi^MFs diff --git a/graphics/pokemon/morelull/back.png b/graphics/pokemon/morelull/back.png index f8184539bac5be1c0ecbd455e51a195380969440..2c0e0e81349e0b91c4a8599f6619a562d67471b8 100644 GIT binary patch delta 479 zcmV<50U-Xr1jq!CBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ij7mK~zY` z?bNYO!ax`Y@RM9fn6y-PE$st9eSoGZiIl-edNWMKjhArfW(O83V;8P$y0rHM5}(GX zVLQLpI`zK71Mm+l{eFD+-Sq-FrJj~?(O5t0*@H%LW83zise%4#_x0Y&^LkKjC}u*=#( zwHF2Oct(cSRJBWZ&H~qrGnkT1rQ($vlfW~~ICaLu;(gUap}*^`Q!h{4iR#W!)9{nd ziYMHmE>XobJ^mu%)v~iv)(IVpkr0{4ViBpuI8TJ&BIg3Rwy=Jh^W8SyVE6iiuleph z-Yy9epKsP265*gaOp1X{T!9P$lvlw4Y_Z524j=#$48#>cw>e5hxd{GOc?uFjegWZ) V)U>RW_*1iu83B#}W-e*gz`Nliru=LQD}Bq?c$4#ofg0isDnK~zY`?Ulby!ay9y zD``lWuvB*~?E^r4fTk&lz+fc387AV!OE`410}Cf(7p`o&wD$xOpT?+RJAYT})cY0O z`KDd&`|0n`-S1LOJE@|EbzbYAb=`g~aqYTpzb=6J;`Yp|nhGF*e_`C&2c=?IRs!u6acxe2M7UzAe-GVj7w4|M2c`^00*8> zYtQEjU_kzW_9BXA3Sa^NypDYrJ&Es%-}L3@0N6n!gaUYYlrH$*E%@S70XWhQJY6V( z=3WG#A=IJ<^gXQ3e?}WkCpEywD2+>?vJtxYA|kXUP!L`fC|Y1K?8g+ktZY?Q z=fSrF_RQ&O*;*kpH|9gmGoDc%tBG-*aL#znI5M`7Kh4>0PD?k~T)(q5+r82461(6d zwplY!j01&I3~133$gtbVO5p&sDD{d1AOI2!pe2B|IZSzx#5?`?{;wb5jnuS~DoTm~ O00005Yr68G*+u$)O7J3FDTPA-DJbx?1423^F!K-~;AX=%O}~c#XW;P`=YH^p z0M`{=gH-|?$bQ{m`J~tV;8FHX7TF#OO0qG9$QEAU?+4|6JsGxb=?&O^0GxHgc6cjX z41h7xQysoPV?D%kJ=bwcfTdn)m7){iOsR!RR%j1~-eq_Mh^K069_thb;~$mYe-ofn z1llvT{L&vd_&el+IAr-V?`QZs0ko1N837d@ai9~i0x&56#+DvojI#+RNH|{KZMIwd u$7O3)&O+jzJYUPR4bb657d_>W0Q>@xD2B6qWrKnM0000K}d5Ut%VL88q>z#|MJ_rW7ehn_5OF*-LuJ?}se{F|SL7+7OK!CN8scGI!0PMMo#~6FTn*cZtnX0H4 zhynG7Dr!2t?gx+5*HC1-LeQb3REbRD2Ht+q^@rKQGO0U9f;lmogjRS<91&2|B~N+y z{wzH0xZnkka{!dQe&j3{c2Le3+pz3Ye4$j{W^n|FQ&z-07lY)N<@Y}Tn8<*&X5}~k zkZf`TY_j{+)Yl03xyMVzbHs diff --git a/graphics/pokemon/morelull/icon.png b/graphics/pokemon/morelull/icon.png index e5ed1bf7a4177072a21e6134baa4bc45acddfbce..221ebe545728d77abadd96b0d05bc42f73f02d57 100644 GIT binary patch delta 239 zcmV=W7V1Lp{L_t(Ijn$H|4uUWchWiE=~(DSD@60OI*^l2;h) zXPNd82(Q_}C17VR7>Gxr%M=4J+JtzJyWaRWJV!lU%K|6BUuZfG0fm$S`AZQ<+@yQN zJ5d0x%U0G}T0_kOuLV!oGm8k8_@nc+L139MP22;EL2nS+dovh>LDU(PAOPvglu?5E p*j|_|YBLCf2N_8i;KKaYk2e%~fwPMI?C$^o002ovPDHLkV1j11Z0`U7 delta 276 zcmV+v0qg$90_y^hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2__Qiw1r>* z007QOL_t(I%hi&h4#F@HhWiE=f&U#{uh-%p4k%UOB`RZ?(Q%6QU1<%opm$Jeg5Y9c1fJ(}U>{3NCAlo*U+Zgwz%gOkv} z(2Z;Ku^R#g!0(BN%*Pgg3BZhlBHw3SAniDfib??BeiguWH)?k5)kxrwonqs!qrRnI zFT>-w&)#4F%)1O5#OGuPShecb@d*Y%i56Gwx`HMu4pQtw4}b)$#u(()^{ziCt2hwb z-X2G=DFfwU-2-xxS_UTDvOjAVYD@$8T1P;J5(3CSqc()>n$Q7%Ox7`|JFxUX`AO$2 zg9u$7saBVO%hpv4+8UK1V4T}$TExJ19X7!Kt{$Ux*^OaIKpFVJR|c>J3j&&s?nMj& z^9%5ALP~k^8siM2Zh?l<1Cu+86>B1Z35~(|2Zq7ICr4FLS8eJdDqPMJL-XX$nP7FA&R6x#mro(?QU;!&YnqVQhPr x4sw`P!o?dn|KIXe>asb9WXh&=iGK(oz5#PzA)#2Fn0NpH002ovPDHLkV1f#%=Nte4 delta 499 zcmVD~ zFaYLVh7IC#Is{C;>Yn2h41fv^uKe>F+E5&1*o7PbDHw?{DAe_?KPXdkAhx|Vj$kqd zs>8Yml1XM5m~5;5f2?h&F$>^p9f2g25J2%6wIPzO2^qj-9fPI=O9yH<>4Ietq01xH zYE!WJTE)QESZe~>+I=qLQ*BJwVGG>n>M=gm-58bxY7HOw$^d$>ARuY$Uc?~KzW{d< zGRjjl7-tZT2NEg=bYTrD)LBAbFu?2)SelIN)FjKDaP8V;9qm^*!+&fWc$qug0CMgbKqGsR%PqDQIBe(u zHnN@q{S`PffH({C_x*NX)i}zVC&crzSuSb1cK{9T(IL-XfJB z#eWGk0uXf09mo0fkQBQBDR>+w4+U+Rf!*&=?r{149YC%@X}wD+J)z84fw01<*Bwgv z4$uLED8|@Hp$;r{NKZgrHNxA6+7>vfNdhH^RV#EbLNzrvR@d{QF2*%&g#mWdF}7q9 zCpmVs{aI^({OF~Zq}bEO#)@1QSPo)n_J92u<%Y@QUCa^o!E-S!Qji-aZy-1451W-( ztbkquj$+PQmqLgM0}vZZKyDw=YQbmXhg=bxz7Q>XDdv!ia`oK$B6eC-f)(klDq&%5 zv;bsK%;kH83LpcJL`*0La5k3!VZ-PYHxo4vHxs#n0l*@asSR*-06AxH4VVNL-eU)b zO-$KSU~l8!mfp){Rf_3EJ&RzfQ`=xqEUSeAw?fPT>}s8acVh9AGX<)O!GYm@ w^7Tgn&dPGWKIS{(t}HotGWZ|z|6Bm@8<0oiD>pt8iLQmpzoB=sA>ca)x|Y64)_s0=dUsC(;D7vOSdW)Z%>>Zne_iAngoV{jyVYu{ zYuAuK0XrZhY;J!Tfc^RdsRYtfSU7S)a7I*I0u&j*jcb!lbY9^Uvt8h&?syBxg=YYb z^hG9@*iqoPp##`R`w9#zaBcu`8f5Q>ouSHclHPc`0AvyzUCPmrkT>bIuhn649%T5e zLx&ZJ1{#2Ul3gFYfBQ218iZ*SGriX1&`y}<9P6p)3zDd!!G3xm;c`buZqahZ7viU!5u4r+ZF(h^kc*;vZhaCv z$xFfV&D{ECK9km4x?V z^@}qF%96p6VL$oir2rR2vD_T95G2L(g0000vPZQ_~BryPuc4w*x zWc9RH;=0zEmeWOsOgp6wgSI<7YSS_RsGe;J3}_mgJJ0h$NW0XQeBQef&c)G- za4#tQ?d*S!GRUa}-Uk&Bqb?_CLt>y#QB#$#oK=PmvZ_|9 z=DmSTH(4#CMfzb|r)3+@I0_TZ_k%Dcuk%}&Fm)sO5{5nz7m**$?3?|@k5ABH<&~ST R^I8A^002ovPDHLkV1gKJmlFU0 delta 335 zcmV-V0kHnZ1J?tPbR+-=bV*G`2j>O{2`DQoG9cyv00BBlL_t(I%hi*yYQr!PK>d-0 zA%Bpy+HR~~Xzh~?9lEs|pY9Ib-BXhMp#w|Mc?f<6nihrUILI_2ihc@$0$+((1{(K7 zY&C*`GWM80O`s=`#sCzWovtI0yN8uFITy9%b**wGriToI%$=l&pMU1lo2?`;L=^5~N=CY1hmwtq(v#FPT>gA9mKl@l~c2wdfMfy;c%{^PWq zyifk)S-u+HW}V-4pxJ~dt}Dn63_RqH{Gk0a7)T)ULykG%@UB!nZJ+c&)Da+q(!)!- zWzebXW}RkHQCY04k(v!M(n;xfZy>Tw?nJamKWtrAwSFN?)ZY)nRJ_h_VZv19OCT8f hL^D5{**E)*AD_@+<&~ZF&AtEt002ovPDHLkV1lCpnyml; diff --git a/graphics/pokemon/morpeko/back.png b/graphics/pokemon/morpeko/back.png index 26abcd981a0666b75344149ab39d240bd50da65b..722b1acd936f2fe4f5bf1b2ef82eb1318c856f9d 100644 GIT binary patch delta 400 zcmV;B0dM~B1NsAyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0aHmtK~zY` z<&!;Y!!Qtr6$%D#R!gC)1=bU ze(t>!7WY&medTMF17AnuNFl8X0bb_Ts^m01Y4Frm&T7qm;^J z05Sr2MP;l#dO(K`R3OB~T&xWO70!VQs?kio$?@lVXeG`#7PSe3l<-?BN5og{6ZnF^ zQh*{3Wh0000jbf9zPXp$Q->ck_UH z4~o;c!xV5tz$o4W0bL2e?M4wu$7(jj6)<494SG^{HYcj&5I2P@d>gHGngk$bfL9dO zxq}Bx=#Yy0zu1d&L7>AqaY519-ZwdXy-#(58M~~sVUV1@OQ%45lsg|LJq@u_NxuReqh841D=Oa mzX6`sfb03|Jg{E`{_7LKsQ0S$n;1s`0000rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Zd6mK~zY` z?bESJ#6S=R;0;#k+<SKrE(&gaVOd>)`?J{lNZN_M64B zgtw&eg7DI{fR)jj018LJwSQ2d9z>-z0a)vVJtl5&U@GdPHH-1QAwY<_F~+nC8wzaP nqhU({X2$5yP(7ULxQnr0JAaAFPDp#-00000NkvXXu0mjfET*Yp delta 385 zcmV-{0e=4T1L*^hB#}W-e*gz`Nliru=LQD}DizpeU(Wyl0Zd6mK~zY`?bNYK#6S=L z&<$4UOhCLg3&)+EkTlji1k$Fl6_k8|Fga|4y8(-Uhh*;)EDymVA7EiV%H2)0+Bs|G zrrnpB$;>8<9pf)XbovX3lOK^@dI3+q&w&7ZN^t^y5G-eqk)TYXe<-S0mI;5CWf>vX zPzeGAJmC@>$c4WGV`nj6A($X4m=r5SlS04^1=h9)fEQ|%oFm>F(2-#65p@kA^)3n4VIH fx;y@`|7m;yJAaAFTT8zg00000NkvXXu0mjfU>BUP diff --git a/graphics/pokemon/morpeko/hangry/back.png b/graphics/pokemon/morpeko/hangry/back.png index d1aebd52e0446b50429b8fd89f908ad6a5426e47..93284f87bf10af1aaa99397a20ea19d9ac011cc3 100644 GIT binary patch delta 353 zcmV-n0iOQC1Iq)DBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0VGL8K~zY` z<#9a{%@Q`aE-!%DE1>dWB~gS4GLh=@ff%zjcE5Pl)%71 zon3>0j2XD!N)aG@Fce~c1xgdPjkfM7wZ?oC+XxA9nOK8Qpfw-`hUShinD}@AHGAGAF$q|8aut zT`(9=BSfI*5wf>g1=$i4hsZWzw{iIm&>9#j8F(AM29^S#UrGTyKtCz~{{ZGM23g2? zekb4!xXwnr8t^iw`V083fwlj346di((aX6X9U`a;!St3J00000NkvXXu0mjf0gRKH delta 346 zcmV-g0j2)S1HuE4B#}W-e*gz`Nliru=LQD}D+$$qGQj`<0VPR9K~zY`?bN|egfI{W z;1ZKPQ%SgY<^?E!^sujCxOj5q(TwkD3(1Cm3N+Dp(zz}3G5y<;b?y(9-+9z-el!wo zKT04V9rv4&zy+c$fkzz~@C&X{7?8wvM27-kJEFl37ngmt5>d&sS!+{8LUVp=9u@ENoQq!AIal;$y^xc?h&YhQ97c0ly# zf&2T2o-_JUF=Ja2NW5!Gz$KuF9XeP+G5X&2VLoItAbMXO6qPyY_4tnytarg+IE|2i zo<}HdvkHnOMh;PIP{MBG@*SWx5GomX8@>kS9YB96I{^At0r&+leK06OPSfk*SDV3g sGUC~QrzzJ@z-J9C{g-2KJq7>u1sx)&3;tt#-v9sr07*qoM6N<$f(Rd!q5uE@ diff --git a/graphics/pokemon/morpeko/hangry/front.png b/graphics/pokemon/morpeko/hangry/front.png index d978edf41829a1442d2c8ecf22a520b00781ce6c..240970e83579d74488511e9f30ff49cc26e0698b 100644 GIT binary patch delta 373 zcmV-*0gC?A1K$IXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0XRuSK~zY` z?b1z8gfI{W;1Uzg!fHJCEn>KtvT@JG!H=U@IIAoD0mg(oCw{gqES@@e-el+6hj)f) z#i@?6lJkE+D*r@z8w8NcIT(OB;tXLBsRPg~&@yo)v{vCMwN8jCB#HqMBn;J%D%?Sc zO^S@*is|4YG9nkT3>yG{*M0`zgGq3U@BzR(12!(9g3`ztaHS2=+YTIvZu%`f?D{qE zvwiA&c8F-`-Cy?KBMV0I^*jzMpvcz1U|x!XYPLl>ZF;&44!BMGRjV+F+<{wEt=z5O zg@K$BBytYm!q1Q*S3wX1(w*M}`!Wc`=LBAnmkfyQmv3SBW!Z*MftglaHBGY$ya+EU zZp@Ovyt&SchV9_Np}0qDFX!`?0WmeLwYD?Va^TT_8h0EJc8-oMH^ZrpyM*`!YNl2R TN{Ppf00000NkvXXu0mjfXTqsN delta 364 zcmV-y0h9jU1JnbMB#}W-e*gz`Nliru=LQD}D>?I~0&M^Q0XIoRK~zY`?bNYOgg_7m z;3X#1!fCAcU&PRv<>J-GLC;bIYV>3uz?jfe@!0NiV6}s_=BC|`nc-)H5U2W!6`lVA zV)-NTTQ7iI&cOg2Tb#iU0yP880xct3LTlyUQtODQK%^KDK%$}&e^U7;2(gKg5Nt6M zY>R}*wpf<+fNQq{@Ww?6xCTJWfQ{`?Kxw25xY8BT>kb?UZu%`f?D{qEwSDS)c8Or< z?OXPrBMU}ywI7ESkR@wisGhToN_Ip%B|Uu%4%nn!)XEP6dtieqmHp~>%ypPLNTeLV zh1(%Us=Ocsq&>d}Vh*_%i1!J+Ak7&Nnh!U^9P+&JgKCPpsOx$aIN=W}tgEF1bLToI zYIcGHb8(l}TprIG282{M#+a_6h69i8(XiuyFzp;zd-`Gj)A|N#rdA1Vk*i_=0000< KMNUMnLSTX^NT*o< diff --git a/graphics/pokemon/morpeko/hangry/icon.png b/graphics/pokemon/morpeko/hangry/icon.png index d66b3232d298977a94d303468062a1883deb0c3c..94b69b32236fb3377f431cba2748ca1d22f22caa 100644 GIT binary patch delta 228 zcmVTtJ6}$SV<8CLkw{ zk6t8(Jt3nliNX7@#S$<;es@s7t?7D^kKPs2u+mqiY05SOL zNBTzh2CBdx)zfKXTLr>fz#%GwvM|!1EQ~N{7DgJBg%K08Fw&qbj4MSuRw+X0000wV7C0+CAsh!^V1cxy$y{HhF5`& zDyU6MOO+Mk=wu06Vj?M^U_AxcaeC~bqCYSRxuv4_KJ2J~cW|=bA5~Co_;$rZ?-f^g zi|LqL7M#Vc8a$OmN}RT1zg2;a!Dm0xmH8(&=3m#-XhWR?dK*ZHN>BoWf)W@IG=o7w x2@G`1U{Fv31A;yVqkT+Zw2vH&jqdVIA0yF=e-D^yJoNwo002ovPDHLkV1jm)Y=8g& diff --git a/graphics/pokemon/morpeko/icon.png b/graphics/pokemon/morpeko/icon.png index 2ad5674d649ac6391ac016b83d750d9745a0755b..b6503b42fd6308c50a53a15410e2bee4f5f6556d 100644 GIT binary patch delta 235 zcmV6@fO&NiwyF@pg~?3FlZ454f4Xk#3BqD%#lDmAQ002ovPDHLkV1j21XZipD delta 253 zcmV)v_2;FxnSD zV%x2{h%3dEv;})*A{YxMGCBt8at7FOeAJL|Cssr%CS1oWLv|X@*>dj^z`N~Xk3&mt zHn@wJm{bNDqt*isA!B;H?Zh1?KziF|FEaJ{BM#zU*VEO;Itx^9fj#@gpdbty6odhT z7Gcn!APjUY!k|Gx7%=E#VNyS4VRZ8MxiHeJuljKZi=uF@59JF&00000NkvXXu0mjf Dx7}=s diff --git a/graphics/pokemon/mothim/back.png b/graphics/pokemon/mothim/back.png index 3712abeac5bfef4dbe5532b9b3998a83616db468..ce5d70ea1fb19659796c15d8e5190fbdc0fe48eb 100644 GIT binary patch delta 527 zcmV+q0`UFj1o#AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ntfBK~zY` z?bI=D+dvQn&{4xijg%&}DZnaRZr}@eLAC~Bs3sg~iHKH_Ma%(w03-1M3`7Soly&1G zKnlhO2+TAtq{802WOhj}TM9JD_x3&Cm%8au1LNcmOarV{S%@7oQUX#xP)bVLl}g z5V&NvG-h?(1t@)W*$Jq3<(If-04&YQgM4cmTNu$`u8PO z!Gndh&t>`Rj_U{3Rari8ps4!JwGy_Z|izYx>j%?+W|Iz2Rne>-v#m=OWJii z*ghr?iY?#{wO!(geV_G=j0OFBzd_OQld|iD0zM)5@x`u{Qv8UYx7JSOQKZyyD>z%y z65pg0LbRH|gAM%;2;t4_pZ@gyt*t;f^5jjE%w*=kcO2_53`I@;4hm$PxjUp=isL#UpGMZ5Avz5k5n@sWoKtH-eJLlWO(5Km zlXw=($oG%L;k!G%KMEQv4VJ0lE@>_gxbl!vCTI_zl2dCelal R-R1xQ002ovPDHLkV1kKb>pK7d delta 511 zcmVeE>0B2{!G>IYBW4xxz1`?*r=0WWtFi6V3iUze}Fm*00jxMBa8va z>SRL8&49J}AaM8E8JQ$O?f{Sg)*0*R7BwS*(+i0}YXUS*^|@pLf-_=Et%p}Wfa$|C zFTmcVTjGj(8v{LbKvEzWV0usAl7K0FQ>fmJ=bKQ6WjUq;*wRypRnVYs%tu+ij>sjA zt+ITfKw+k0GNLEgfBJYMz>=BOoAj+-kJo0bl%hvG-x<>pTai-RbHU*Nm$(;#b3WGu4ovVrz_~Ns zU;WO(otc8L>BvTvbVX{x1GKU*4Ec=w3<^Y?+H**<%z~NVb*cym!9}Hrao<`UJpWCeqZwdDW`K~zY` z?UX-j+dvq`6(TPgN>pX&(xFa2K;=_6r^ra5N(sV4LNw${6cUs*AmgLoKn1ITda(z8 ziF#>}+o4$s78$A~!nwUeq3?Tl`j>=4_q>Dc_nx1h=k9bT<+1)*q}giP9bId`s<&%8 zY4pk(X>T|CPNP?J(rH+K-0j!5NyB1|V2?!W@URbG9T@1mXaXH1T7D1=`U+{ofZnmH z1OqMF+pj?fLT^I?>5*z>x<)v`_27LQ4Txo%Rf0p%<0aRFr(7qNN{S5CRCN<#-UgJO zot^2R0&gmI1;B6JaE6r9;gFsaJ_A!xOTYra-g2p^kO%aLRo^*(04!eu6f;cKZUCxc zJB3bd!>$Juh*|==8S3PY47FPV=fqQ>Y&th%N-M z1Hhb2vB2ax0;!dMBk-{>SSIsngf;zarr4%lba7Jyl0@hc%f~6U$rT4g#tsZz3O$b5 z{sQ%69^qeN4(vle5x@;&*l}P|2hbp9EJgVi|K~zY`?Ulc4+dve@ z6)GpX&(xFcOfXb(CPB|l$DkTUH3DJ;$qL84h0U00t4^*%ks26+iKT$6Yayv9j z!6HMoL^!v1DD=HM{ftAQd){FC-TUbKy*s@-E6PLsD@Zfdv^#aJfBmwaZs??uD;uP} z)66@KT+vCVA#pcy`0Btw=Xn$8Akp%Cf6!M*8wT_atsD%LXz#p& zIuLpr97vB;E7LV12vPUnw^4vl%d8x1f*LPG-G3tLgsPc*xA{c4prby z#i{`KtsC}`F*Y2se{&*cU@B?}PynoLhsg+pL66Y-&H+HZ9AM~Ss#XI~70WK_%rdOH zL4l|xpqqhC=vo83DS>li(7Ok4N+2*a#aaVeUIh@crLFgk}hQECiPEd>Ud*Kbr}ri5p(r)POja^^j-d1k?CR0McU@1}+w9q zMxEg(vKw1ML33S1be;*YR zT?x21XgU_le~d4q+n;|504HI`Ut}Ws!rI^Ct1w9_k2yP*Kqgk#q{!|e9=2mm)HYykQ*Zy*H#2>9xH1aGJSc*ySW#|~S=({U~^2smE=aK%di20h=V#fh;6aInY)W;{zl_UM!r?QCyy@F)db z1U%-S6i4nrQ4v6a83OP4IECS1ez=@~0x;u?Iani*!IfpBFfH#F#d2M-Ef&rq#rp$* spmwT=E3|E5!l#AJzXi$<|B3bZ3mYIenz{|ni~s-t07*qoM6N<$f++4&T>t<8 diff --git a/graphics/pokemon/mr_mime/galarian/front.png b/graphics/pokemon/mr_mime/galarian/front.png index 03a017e7b2d0f03dde8ade5abe81ddce90d395c1..6e308c514efe8f26dd2fa89264ae92580f15d8a5 100644 GIT binary patch delta 604 zcmV-i0;B!02EGQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80+*4AAr2Z4 za=Sp%r6cUL=*-A3k+>m$et?6|p;A}gbh`Js@B4B04m>%_Jo|?q=^6(j38%N7XkJZG)3UZOe|yfg?Xyq!0vt})=3H0(Vl~dJ z&&^BV*evk02(a0Iakc5X_3NdJ+aI3WE~cF-i;9JT&-|+Hw(E9qbKc^>9!QS@fcTDG zD}8L#8M|S(!P1%a8ou>LD>SMesO&Um89QfTivt_wy$9_yevwIQ2Q$Vl{{=L z*G%UsfuZ%rBo6Q$lX3z?eutuWq6ik)@DcSEI1bERLf;+&MsPUME{Z@943!s;>ev;4 zc5(6ObdW;BZO?_L5B;#y#eBb?C2WTEX81b>gkk+f*cbpE((Qy-0?>6ycTgw4uTD4K qs#l>)M!r5G{DP1qeT+}V0Qd`?5(E1HE;cIw0000v+CdMtwjUBao8my0TfO8D#(* z*2VjrGPfz+LW7G)vswc1mC|q0E#NQ~Nu&pIcz((}KDM$*R)0ad&Vfk6>8~eRms8ZV ztS!vno^xgU?9;sfhtu^r*Hyn*%~R`h>jF473p_0XY<5&@xo+cX`TXXG=XQ!|r^cdU zVc;{rrn{Yn9bBKaIj{@TqW~bjW7iixHXDpxvzuV~)OroydZQH@H4l_`nzM|Zv9Qg7 zjneLeb{fCPq)WAf8Dr;v+_v}K+BK^W-{Z@Tl4bZj+5NB+c+G_mR_s2YX;wK<;}Y$_ zBhaeG`&=?L!(pD!_U$8nctHU84!mMIR|yQQKPKYf0F!(IM0*FKccKUu+3*qd7dQ^g zT|nO+0!DB!(J6{R5Db-<4jb4NfKGAg@Z>gyrrVhdPhvH8dzkMJvV^U$(F%XZfG}*l z2%EP+m-M>fr2zC?($j_?BI)+xt$G!@WaR53!Y>F30Z-Zf0-X{A`w&K<`Tzg`07*qo IM6N<$f|znBsQ>@~ diff --git a/graphics/pokemon/mr_mime/galarian/icon.png b/graphics/pokemon/mr_mime/galarian/icon.png index 782035bf9040c74bdfd98e6d5b624a2713edba33..c2c7c06ee45c0e4454c9b08e1b7ab0a744b0a8fe 100644 GIT binary patch delta 224 zcmV<603ZM00?h)Db$`Q2L_t(IjpdTD4#FT1K>349`UkSP)PbL*4w^W@Qf52o2axzN zOtnq0ri*C8*_a50*`@Io!V7n~J02m+4jj@uNcA}ac2WTn^4JI9iYzs*80M^ z3pvnFK!^xjr`bt5AQ3d9w4vsd(rriH^4QJOHpd;0019KR6(8_CoVv4eJ~9kIZ`n?~OqT*Y0|b%$Yb;EdHWj93nJ_Ds2!m!r6JY?+tNizW a=*Ju3jH005n4Crc00007&XT^es8yuclIJjRwC)W>^J`m;>f zD-Fchy_|qoPeX*o_Xt2`%o)*7cc6O%DFg7W5l7{L1yB#lm29)R?RLNh!)qR{KI||6 z$gFct76EW8_xz$mifmkSm)9W&fz3sCnziTkP2}^Ip$C3VW-_XHD1ZrIMC@NV1L0$L_t(IjpdRt3d1lAMSTN7j^H6<0`-v!9-C_juVUOE>K zzKe%0h19qZNDNUu)r#j1rPZd#mu10Y?8gd=9uz`i=-*^f(I5_E2BR^yAMzx`1kO3Y z=GBOc@)YQ&#*VB>Kt`D(>qF~KW&o8#L<)G2$HR?mt+tv^jaSZZAh<@{ExBeHgJ{V= z780^9O{2{a0UEN$fg z006&9L_t(I%k7de3d0~2hP{E1BRFJCpdP8<*jyvIL7lR@bS@6LONK6mR4fD%A%C6f zi*tuk`Zhm)ef;t<_G5$W%r$sqaBs5cV1cerptp8tyL6L>2z|~ez~BkG*m`dA$@_-zblRfq1$GnBle{<@Bl zvE^V$$Dcp)sE_I&5A*PTK56VN04^o8*4g-sP+sH#pfvK5V`D`k$)-Gj%?1EL9!-== zn*e|hZyP{tP`W8+0um5YB#PEr6hKprik@l$Ftk8< zZ1^_|EwnpC0un=~HYyE4Lv9FAjsZRoGcyyATMw21A&CH8G_5Q7Y;+H< zG7GQ6`2-YdH_sP&ws1k(W?XUjw{r$o086D#g0)sajCmKgfrs}2@yDm91)yg@G}89x zvemgl5cshKlIe2?|ERm;mn%)kMs1&;R5x#%z33xOnd~Wh1w{X`5p!+`LH@$48#?LSG-gHcK6L2_*rAos9{_bK7 zK-%ZSW@^(TzV%-t00Q7?$b)SkU*2BbeIy1~9rhzY4*vD(lnR6!FF91;ETSLhx15WjPh_YSoHl!T+E^Go$D#i;@rOg5+}z%q5i8->JKEe@iX;umHGex002ov JPDHLkV1kl19N+)| delta 616 zcmV-u0+;>Q1X2K3 zegu3;X%;nD9jupGf13f=hJ92hWdsSM(nOme;$e~3IH6BlQ4;Gwwm(D zWiB?yU@s$ZFoutt`Z1(%*D}!l=>4lsCR5|r*Dw}sAlebwpQNP<69D|(M(csJ%lpaH zrbB%19wGn&;Hme6Z4R&RZ|*)4eOK*w13(@8>&+>}gc~;5M+n2)9C-bn+Gl$CSgtY; zuUj_EPUeBeUZ2aoxbkwG_x&Z1+BtybC4e`8>Jremfadc+=tzGZ&@1!87eMUf_zF?~nf(DIwDB_^>5|j{0000Bz^BfLgJ%zY@Z_8&ilNt-?N{O{4LK|i;D?-b^ai-7Hc^-Ggp9M6Tbgb|t;04zfvJQ*00HVZ95EN4*S zCV*KT37hd;s$T*G90*{%YmVd6xol!!2W}%K(6XE-p%TyS+aWi{9g7Q*!4#5NCufwO zb7Nf03&F;GxwEyF6b3NrLfT$RupPftIo$W>gd07>9HE()ha07TN@agHl_OCAVxCnh z8>mpa3&0y1sT{7ccdy^%qgMizvW@&8|dqyI~L>2+UTi;63Q0B*7&LJ@9|81_5IEJk4*AhY4rH-~L>>GgaOFlNTJ?Hex3m_xY(}5Q ziq@y$?+jOeY4?sjRv}#91L$+lTL7SjtEDIazE+K%>Usw->(qJ}eH0R1#&z5P;!-w5 zz2*{cN$^e>WSs>#mK7J~(WzBHCVhS-WjhMo+8k<;djQha ea>@T-g!~4!U^S~|kv&`h0000B#A-PNG*gi$Fo%efxzh^%mA^*xEjNK0yf1IbsLx2&`2agLw++@DRh+z#&+y*eCD`7I8 zNeoJWfCT}J_sp_vx|EI$?Z8dM1X`N&I8@@;13P4vxMgr5TudRJwlab8Gj@cFWg*y< zC--+Y;vxV{+K{%Be-LcnD^`vVy(M9X&oD!%`|^0JSg9NyBr+pz4`QBGDqE;f90lMF zO;nCI*t^$n4ifh09+-Ih+TboLdSPIU`@`vbp5~^v>G}ZYcfh=w!QrW4#oa0I1h0#X zug`-C&;QZ6^3EEasFd&-4XUX$%&I1OAhQ;Mp_5fAdPIJD{xQKERb&&_zO+ z>2>{6*JEuGj0jt+l{qEBrjNS~vXP zx!-8^h&|RJT;Bue3&&XjpoXi}FaW-GjW%?>3k2)bdK`Te5?#Y}Gyp`UY>Il#CQkND zYb+`Nw90aqOr!X8Lt@JY527XIF2idiabRyk2SFtOX^!771KCiW2;5v*07NX9?%BaQ z>9y>1Lato+d`6!1fZ;4xJDtuY#?T%RD1*Y=_ciJBYbiTn;Les%i`)Z{o|aAi5Bm+a WU^T04e5Gyx0000jXBHAZjkRSAQGPDG!&g7n_tOR*{dV zS>8|V{A?JHU`}4({!mz1X2Q2XbHK_a(wy_+*$bT046YyE0?Kj%9%rI$YSd5Ax;s#} z&(W~*VNJYDfcK*OqFm*^eFVO#sGGj@yQ`=@8E+`f^w-ya5{9ENlOOLO{2{tBy!efL0009h1L_t(I%iWT(PQx$|hW!R7 zzd-yD7Hb$78QJLLu#}0p3*BMp-b%1`%QJLC4Cjj?qyUkB+&Fe>W+V{a{GILlefpI8 zy@hXkVkrwg06-M!RA5J1n*dBY;(%5QRVKXwX46Vrweb!)dVk!pG2YMwq+4t)!|9K1d`f%`*cc$o>^0^I>Cn@D#~i)Y8MRx-GL zc=M?1891D=^r=z!L2vJ%hJB8PmGf&w%LHi8LN7v1?i(V|O``@m9sAIzUW(a=DXYJ} z{*y2ig_-?$k2k_(Kl=3~%;X1IiNYj5j$jlf`EdlJFxd|%jKUOt06*x*7u~G)mMf`L QEdT%j07*qoM6N<$g28W)EC2ui diff --git a/graphics/pokemon/mudbray/back.png b/graphics/pokemon/mudbray/back.png index 27bacc3a7727a58d5ad540cbb8d4f0ccff517047..0068d8321153b37fd2991e1840cc0be6c32970cf 100644 GIT binary patch delta 579 zcmV-J0=)g51*-*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t87!K~zY` z<<&86+b|RcU>b^d%T|D_VReASasZ8X^(Gexf;bE`7bxLtG>(LKj}%2=Per$~H>jr~ z2(t7D=^64!%C=NL`2wLALGJ_kKZ=sY8y%hA_VOs?K>ywLGLmN;h&OjTk_WK4+n2zB zA!M5g-~docK->o4teb0peMJ{62mvlit@Vs1m~bEfxYZWW1erJhhHan&%C4YC1O^-s z#~Lk&S~3c8qUWW?1+-)of?7m$fQ=voMVupkZjE38&0sTL8~`%{87i*cEop@rP!j_z zIgw*IFCq)xpI~{l52!_#kieR9i5hDjeIp#8d(k>LPKKa)lw>06w z<;$OOOB44VJbmmj;Fg;3884sjc%a=j6ZreMY5}&q`Ux-7^=~Fasa-~62(8!qCnCt* zQLtcYei`P-B>8;>J{a?r0jbYO8CJ%8V}ajjJBe8`Ag?ysfgk(z0Iwa$BD=&xtrCWz z-MDTMdyt$@&G+4Z3M!ORp7z8MeKkCwev(~1*PjT;IPA-K3u?ojl56Ql)xx9!?7K2- z)B);GGO#Coz1y;|v8kt44kZFo(13WbM zAt-X1LDgnoMNP24h0W-ma`px2BvIhnKS8Pp6eDnL49s#KX)NGBPj7Yz@d{m$?BD)0 RU9bQE002ovPDHLkV1gW<|9k)d delta 567 zcmV-70?7TV1)T+uB#}W-e*gz`Nliru=LQD}HygmQ9@GE;0su)wK~zY`?Uli5+dvS8 z*C@VQwhFmss|Ro`2XwTnIk^x*oDDh`y7)CxM`GS1Ar$*mdh7NL>Qf1&mp(%J44GZY zjug-O1)9-i(R|GOGdm**@qb#Uw>ut%9MFHeJ4SNI0rB>2NAdt{f8X{caKH$%Z2&j` zC?z2F0Wj?5TA$N_1ww$+Qfob@082|xhNtF zyg$bBd>^0^ok9Xme-sv6291{$5GP5p4^R^^azH32oJQ(G;r!Eo{fVcD3OIZGHSrX2 zQvts}_SiOIt?}&7=bopJ;|louu=W7fz5Wi5v&~ONL#drcV+h)8_9r69-6&XKW_}oE zWRm=*20j>b&j4wqkuNEHFa7+e_xvsxJo48^Op>002ovPDHLk FV1iY1_+|hA diff --git a/graphics/pokemon/mudbray/front.png b/graphics/pokemon/mudbray/front.png index 5986aa446cd76e36b622a160741635dc86be3668..a8aa29e32d1898e07d41f1601f69976d1f082268 100644 GIT binary patch delta 536 zcmV+z0_Xj-1-%83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0v1U`K~zY` z<xHiAR+GK-n+*=S^rWL4)(7y3GCXQ0VjcTQ1m>T2G6^%hyF#E z2JUzmMDEz3!9;_X<2qR+o4g68Z^u0veCY+#$@LKltYZy6$rqg7!aJLO?L{>3KKtQy ziw558G#JU&lv*#&MotjCuZ3iW;)lfZPN7O4W0`@o?N)!o`@pm9ramL9Tqf|u-_*%t zlokL_qYd4Nr9z$JM~^yZNhy`UcAbXA4yAR58NfQFQn0Jrj~U25Sp&Pgxyd*lC>+b-MRMOB}RnPK0bKmX2W0m0{IIU?OuoI+a z@2@Z%Q=knU6rw537u=P?1|h6wMFVaGeE*MWR$OTuW7g+|M1yvP$W-qCL=4VrqjP9pAqa)_tMp%laR~ avVH>8N6;_G3@X?F0000xGHkcRuX_wMnYWLf{vDje)yWfIu69Rp4R z=b-5OHVvM4UJrtc4h`JVAdKCSLxZsfFGqDUNj82HPTr2XH2BgDC*$iQx)8@2e3CCX zeT08D`Pz+X;C~LHYmWy0^fVkwZ$j-Cr$Z+U-`65CLh(cD`=?N)ud&F%*>r!Z(S6|A zW?i3>SuRp|60GawHA-`Ur}3ID#6qDC@uN%Kv!s+tVYA92;)K#F#~fglQ6bpX?Z+Hs zkIaEx-dyJLL`t!3?Xsb{Un%uX97n*f)XS z`%s$>4V`VnpY<^4Qvi3*YH)wC4?2w$prK2uLsbU`&|7^6c%;&XKB{`QUo-dJ7Ccrt z9)jad_5nLl%GLnUmAZe0;hF+%XrmBKX>M>=3LAv5niUPW5%AqNrde^Nag14y7g7yc z6(%zyKwiqZekBY^ptgWpZR9j)k)Vy41`PiSmWdg#872$GTXXHulx1NXaf#{<_2wKg zF$1OU{Bz7^xa1U=c~R0rQwW_sF7yZr!H>457`}7oncmlhu)H`*_Cv5Z5^=l(dP+=X n(4!LsSK{6ukDf2<|6D%-)JM=S$kb*900000NkvXXu0mjf2fqM+ diff --git a/graphics/pokemon/mudbray/icon.png b/graphics/pokemon/mudbray/icon.png index bd5f4891ad2f891922e2643c876d7b1cc93f2aee..0447096ecbb8052df1de4ce6f7ff8bea6a29e724 100644 GIT binary patch delta 266 zcmV+l0rmch1K|RYV1MjML_t(Ijn$H|Zp0uAhW!Q>OR^;oanijHI?36By1L2%`FE|>)OmqP92)+Pur8tsXVCuCGfQ%P#?_dl>-ha#Wo2O7W@#)Vq6@vgR zxpVFi8BYgges`4l**6of;Skhc1vCff;tc<=`YTZZ;#{>s%SsyTW>Nr`X;M0rxY$)S z>@TY`=tgR!5i5Wj-L5N+Gqev+n-juxpoBSZTD35oe=dylBYpG3{h}XVY?F}IhS^WR Q00000NkvXXt^-0~g61B2ivR!s delta 307 zcmV-30nGm40*V8WV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2{{HmG+%=N z008YtL_t(I%hi%GZo@DPMRfy0i@n*02$1^-0qD&_7HRZZy(n8?FVa@lG9ZK>?G$8a zIX;kIr2aSN@04uDY#L-QX)2J{AybbkWsNklF}HN+7sv<5XXtwdwUT{4sz#ME@T|{| zdtVOY=h3va?x{>u?Ps@~jLO%ykZ0Wq$YJCm)r=6>zY~Bwe1A8fyb93&2Cxz|~X%5tFT#j-N{wH&0T@`zP{?f{^g0RZw; zxvD$(e*;<;dA<_JtqT9&z(yxw36V+SJ=d1xvXJ3mj1Mx}29uTpP!)?z$^h_Q>ZihX zfGTaqqJNpUPhffD?MB zaln{!tG3utG>kYfob#^uHLV5|2vU#TLz+X0fq&0i*|RC{Ny0x(CWEigAD*(a5hoHr z(;DNkC=iVHk7|+?G;KhRPDFt?&O<$r0Yo#%3HYKP97_D~s~(U=e@F`88Zs#rK+=Ew zrE9$q4I{B0O{2{}0YRYE8L00Q1gL_t(o!|j$oZ__{+haD+K zRVF)sU;@c+&O(H#b{RU>b&$HX!569~AQ*D3x|8b&L!0cKy0%0}Nfw4INhU-V=N1OO zKtDh~19xr&l6~hQBBTy^*Z0ZY<@MRWN7GhyPs=pZ`}qyWNPp{RHo&u%0tyH`Fzy0& zmjb{;%K_VW0hzx6Y;74p{{xVBGN1|wwxUTspeK^P@8%JJEr>%(KPLLwXKo&NRmB1_ zVEe)?3ji4kVCTYh1;8i4cjzYOk=;CB09zb5qe;L$cOB8MjMnH0ZO4Fq|DbG_BVah+ zqa8|OK$A7D-hUJT0(j0?zfVaV(An_v?KN0GVaUeQ86ijUBQ&SqN*-7@FlCI@32DXp zIW`ReAqXlQ7@ZMv8Uuzb45R-jfUr)w@j3Mxqlqa1d&0MvbxC3j`eZ;qnWo8s5aZ+- zwcMz|9{_EWLGybxc}Bj%u3nD-v-;V8NTfGY5Tq6OzJFhDDX!dp7mL1+6<1sL3CW{k z(N|r4-8bKt-C|Hxe_<@_IM`GI8PC?sB@HWIuFU$2l&+}s?y6R`s(-4CX{7hd+o{>F z6?keI%K#aN16Dc!o}CJy{|#t)@cdMua98;M2G+VNeL%MY(vjqH^d)u>LVJd`Mx}DV ztA<1-8Gju3Anj)(JAi73(o?x5tw#WQMBCCWvYXB#{du;_PMPKY5T(0KJ8c=Tvj8fS z*PXWPtG=@ki~$>ek*4020BjFf$igI$>-R35ngfq(6~^W>Niwt9_{9%^C)Zps*uG?o zW*FKxd`jMcuh2V60{Wa;!R;A^VI+a!oL!2iX@51iK;U{}4mrjphX3BmA5U3N68 z9DqrP095bzE7y7{3`400#dW~AhDvIGDDjheP)c10nR7msYkdzq?*xbts*pXvIMKmNzc@P0C1U|%lx=C_?$KbC%jv&>V$ZZA;p!EfR2I=4lCXu_QW9hwLs^b$`Q@WECS zI-}tv8NX_voB0gp*UK~zY`?bWev!Y~j3 z(6nkK)QM2a!W0vxPL00+WF{7npsmW3<>D`hGa^(4K7*wbTP2p5KOi4f+dygD;8a3v z+qVCflPaH}200000NkvXXu0mjfq&dt7 diff --git a/graphics/pokemon/mudkip/icon.png b/graphics/pokemon/mudkip/icon.png index 9710d2288c468cc23bad73532b3729637eab6677..7d3a6f6e4919833e0ee5f76447dc562eac14e633 100644 GIT binary patch delta 256 zcmV+b0ssE~0@wnOV1MIDL_t(Ijop$lio-AvMRkCMIZRp~$VI@V%9N48#I4f!JY)E< zSJ-kF0yY?I8AKE{&d5rUZedsDUO+f2~E1>EhMthS4iAOcv+BONvs zIWX`!VFSyp0Jts8Q*rbt&J~NI1iaQ>6m!wAuAF$G>Cn%oHhHl^KlbvSnx%%#We3dN z3_J6IkZ&ZY|NHXUh_mUveGBR@MQMv`J*X)W`Mx%z7eGLRR@O`|ULSBzu-xMH*+>Z; zO{2|FW12I)os z007}hL_t(I%iWT(3WG2ZhVuZ0dl*+A$U$(-*wF~0Yr6P6Cmi$@I<_Dv2pS=nX3@lS za4WPKf4;l?clR^)>ko!N&~*T`rvf&|CW~w=VjMtH;sDV`fqx<-x{tI8a~Bg~9gCev zHN|;`j!1|!=h_idTq4hu^8#bkPS@JA0xwxTeX~%as1AZyMSn1FfWnO!_P;Nj4KSEq z%Tu9vFz{R4ik^)gq}xIadhp^vCDm@tpzQUD)Go}Oy*>(80;#=zo;YDnOi7%(5}1rp tJoA4sX0dVbj38b5^)n9Q7>6(C;|)$Bm0VX0zUBY`002ovPDHLkV1n{>d!zsW diff --git a/graphics/pokemon/mudsdale/back.png b/graphics/pokemon/mudsdale/back.png index 04a73cc190bebc6b8175f585c467f122b36af4d5..0eeb5e794d0e85c55263ae58c6b7a3b68d0b6294 100644 GIT binary patch delta 640 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 delta 894 zcmV-^1A+YP2jT~iB#}W-e*gz`Nliru=LQD~0S&)DgsA`k14T(hK~zY`jn%(z+CUTs zaO2TaQku9*mg3+R$ z4u!A-o<}&7)Y!#s)r{%>@TDxkRX9XYgKI*xtv6lhC$UHXvMU%~MI)O$a86)n1#W2) z%@Y`8Gej=}HO~3b3Q&5UBZ#5`*s!n0`KLewjXbtQ9`hWlf7meG07m1yt-#MA_p!|?^~W4a|ArcD&Z2qYTv9VRsa`5p(rbWue}@A1%d`pT!=uG z$V#y4VbL}MN;8FgfOaKF6u=*TbX$T@ODR)pETrTOietquuI8-2T?j;<`!Z7?TYyNL zs3nAWcqrpbf4&6qIuQL=YK^&2C!TDA6BGp~Pq-d;$660dj2FNcVveVN9ywh-#9YWF zNMsoSL97E5<09icdEkAFaL10!$0#z!3h4a6AMo zzhjJPt1ZS}3A%(Ka1eAfU@_t#z#gBcjGYp~nCJBNf0(xdc-t@>1Z~!pOdZqSXdPfk z`hj1zk(QvNfr+CknABy|!|Lj?d)kQ(Qmp`%z|RPEF@slL|Bh2*16-m|Ey`=Dtpb+B zRl!$Ifo{5ZKzpMm#Vi&8|571zP*m_rph6Zs*LFfxB&kz|B&o64!@`v#WTFbt2|+L| zpU^T8bV8g0xE}6Bk%?>qPtDS0Wd^(^dWH_`;O(MtHR!S4o@cr^PN&Sn40}x5O7%Lh z{2(1sx5Ji!f9e>|4F;-_qo5ib=b!guz0}8NI(J@SxpNGz%$@VFi9a2${^f-Cm`z#?p_4o+?GOC z3kl)ec5@I4y-qoDj2CcFT4^}h!u;mYshgEbT_Zj&MbXn4SihKS-(C$JYKq&%Gt|3Z zk9nHKD1V=Z_6)$&=WqpNjP*3+1&|50tN7C5)O1x5aStf&|KdLe?ZN7!FCM;*wyPrp zWLx(IMv@*0pfJdxFepG2fP@p03q#H8v*f~1^YkdWFyZ6`bQXr1gN9D%PDHLkV1k3=f{_3K delta 329 zcmV-P0k-~<1Goc_UpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MPiMbE^7n z0003SNklab+b~jE92u*#GcN;`o&!P_G;)*6K{iOsCT~}(>9AyK7TIlGXPJY z!xfM**3*ygK>=n%AZ z=+Jo07Ig@OLZJ7*^xY4|PAhxQcS!8}e(t?{_s-9H+CuGZ?*9IM=;Dobvp1bi=SO6? z$v>M)y*nCi^?~Tt1BcpwX6)>3EzzueP*Mjl9ey)#xC&4UtY?@Hw`VvQZO`!Pd3_Db z^R_#v0bVMAU$9X^;;0rVisetvFDNCmnj#wD7nd9~w5V4TAO*ij z(+@n~(8=AR_=-SIUhg-G0`15k=X3**qK}2rW$k;zuPeWvz&k5{zqm~C|Ni;%!G}`P ze{QYxhm52xRko#nWF$2`ol*Vh^K&GqSconC}^#n&pOvwXdeI} zG;zBk#(mrof67vSh}+JX91EirF(#f_Yt8)d0T8#O?Ud;$B`8wrmH((GB2+I8Yt%vALc| z5>P%%D4irp*HeHEvq%H1O(L#`SB7$$oVuz`YFx%(VP>Y=ch|}1o_iu6RiM}67Yw!F zj~;KW&>6vJ5bMc77|5h7ar>u)#uF246g&Fkfn^6OZQ{-lnaFfdE`*@8r+}elbGg7^ zBDK|iT}GvOR{^kQfJNmmbUARFw!T|vgReSP`Rc=B(?>2K~zY`)s(So+dve? zfX?y&>?8+(4p~~E$R>m zg+T9r>AO2Ac3Rncz9F&i`@Q$>?wy}yJ!zrVHuvD*fVp_1z0;jceUsScmdhU|L9@1bQ?#^0nzXo`z0kPo2m_%VMkmt*vLM$jH)0#sxz|SuQXkbyVCP4yzo+KYcwxN@I zdHxlFoUGn&E1ffC~&x6 z6oqP~Qbrk}>(?!>2`-dwMCxdOGJo)>0`WBPOE!Bd1qH3OfAd-U8cX8?Af+L0SH!4? z+wxCQNO{{HkrP>JMU047t~IAVdjRBZwGF@DR^NZOWs}jU1fY(*E4P3{&9fc=C$#br zoTjY6^y0|v$yON;;VB8Kmp5X;7Y&e;I|baU;4~xs@?k|j3j`2%5o=2dwn(WbFpbJz zj!pVepm!9(eN{{k8v095XPx>4AjtM#;10^kG>FW-)% z(=q2jd}3j!{S?!V4dVsrCo|?~sDAE3G~EzNEnxJ(^q{e2v%Vgyd}bz+0<_O#O2={B z@ibub3g9gg3NyS?l+pOi)#s$V5-d#1>Gs`qvYF?eb*e`dn6>ByM@{%+##@s)Ll|OR zH3)-+j&XZught~s*)Vd<$3x2wgaM|Aj8!=}E~KEetAT-K3$?&uBDHk9IYy;fM+2}{ x0`tnBo8!Q3+U9Pd4ZiMJK9DxaA8}~&OA_2cMAb_HH;EsAR0CT_KgL8XzNW6I z0bdk46v$8FIQ|n5Vq9-@=0H4MRG?h)!9@pJz%4v30l6V{r$h~KIHfokrStDkalAXP zu!TeA_HEn!rW1dbymKV7^#bH44~QYa(PRq9fagiP+kKh?M-#0d?_;1YAeJoLotiHd zK574y#U6pz1q& zrjb^K%k%WZE)r0O%U9c0N&G0f@AifK>>tSOB_g*${xFId7~4|v%6HR5qY4;l-OK$B zxmPr+6p?RK-RK42bp8Jz7uR2Q>RaP2vIPU2o)EA%2ij|YmK{aonyAce?|4IWW-XRa z+Z&d>LqNO9nYzZAbx}y3$ZZB!APe?oH1=!FGkHzlmwyba?YJQmt_p5FuX`X%C5HyU zWC~`i2~6xBI(5sY#nrFRwyBj6GdaG~Sw1_%Y{ki`vZ(H~#eRAlOnz}$(^nfu t8>zbjoeThP{Qpr@KlY~iFJ&0N0bAY5V~L*Mj{pD)002ovPDHLkV1j&$dmsP+ delta 805 zcmV+=1KRwR2Z;xeB#}W-e*gz`Nliru=LQD~11cy3Q$PR!0_;gdK~zY`)s(+a+fWe4 z9pr!DVH$|&P(?%;C_@x0Gl+}9Dj7gn3`{7I_oARDMoS%D*dkeiQ^a0ni^PK54&B3o zB2`HB|I)kX{IDrbrw;vYdEd{y@8#t#hVkF3Aj%(>0#?0wvW!@ZO32#1CqLtxrG3L@d6hPSk)eiX9%? zaU92g0z!-$`<*!uPZkMOOFp>hKnu8qrwmXSP z*{`|L4B&G8fBzsC+h1`So1;y#1p{235U@K3+N+iwMWec?&Ta2_U38``R!-aNmc30t zyUCS0x1QHMkma&N55UibeSuhP z11erF_fC~=ljKvlMnUtZ5QSLt4^?jp1gHtVo>wqPe`XknBfxw?uHaZo*DGoXeF^EF zdN_JPTC;vBiPojX#vz+}ehqW{giHjY)YtLESiY<632%V;YaDB0wp(>k3VoNWlUFcf zO<-d8&}mpU4X(a@I!&#Fn9A{;PIm1KvlS<+%A(v!i~aO8n0#YalUEZ*6REobT?_zk j{QuFZ8@}vK^WW+>TiwcIH(m)500000NkvXXu0mjfLXmVQ diff --git a/graphics/pokemon/muk/alolan/icon.png b/graphics/pokemon/muk/alolan/icon.png index c3064446f71a513764186886c02b9d0eb52e094a..d598fd728306abb779233eeb28b03032bd5dc651 100644 GIT binary patch delta 541 zcmV+&0^OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00EXsL_t(|oW+y9Zo)7SfO!KeLk9+m)XwctCOYIHDtX8fUZ+zf zDrGoJ5Fw`A5T1pR!9^9ykPI%UVhB=k{R>GRpuH^dr`(;-{?hCHX%M+@t>p<qV$qC0DusUV4E0B`x>lwcQf63MRf%j8ikw5V5o&Zc7_~D$dQ%PxLbI5=X zKFWj^6dagt*6$^aN?;ZoBS^y}f(qSMYpNnD=L~a~lF*kD#5`m9(2}#*iMgl{rZ=WB zSqSl#?<&Mk`enw*#j8N|h;U+3>O2%r70$!((G_J?cwc3=cV%JsPBws|Kke@de_KKg z8$b{Q5X;Ls*Fk!K#LsH4fY3?%8hV{;`L~d=wImX;MZTYLjLp5)Y&piXnSx8`0Ew_| zH6g$oK=mYpHME7PA@RTpbEMQ)wZfcfq!VPf=tIAOFOb{sE^@*^2TIt`U00000NkvXXu0mjfSvTb; delta 472 zcmV;}0Vn?Q1giv)B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD~1R`mf zO|<|30gg#TK~y-)#nQ2EgD?;V;Jksw&>=$_sh!)QnbLuWsN{hKUZ+!~RAM+w4T>^x z19_H=8QiFf7+`RTstiPGT-%rgBXw=f0>8LBgTKMxPZyDu^DK|Jf9fV=f=jmQ27nWm zc3(N-v=^+7>Dwicl2r8@KL?Vl`#m2fZAX5`w-o`1Z1BxFUni2%ps67vK6)==np3dB zY_onXXixxaf7nJ*qnocsR0ZOTgjwoI>YioDr7*#L^+Y`Dvt7V2X?@H`Jf zdH&C}m+T>qoFgDKa*tuqJC=W2QueqYI?2}~PO-b!nk}c8bW3mvy+9&togoDH)|p90 zYjDBT5LXVE1Eq-r=0pPYEJk-Iy z1*3q-E*K4@(a?Y~Kuik`28;$`T4){`i~-W}fU!z1K!~Pu=mR0Y0r>&ZY9gaay?-MB O0000-1T|HCKU^tJ&yz8=55Nb)9gw5%h>ZIq5!umexPV?5@{w;?0Q` ziII}XdCza=y_w{nt=GVdI6n71=sGTB-}k?zx{gc9xV*-AC4r56R}@mlySxP#<3;gN z<}m?4u0V`G@aHfmq~Pv%!NP#CXQQ^EA~kB6@lan z511QcuHhL+Wcr@>NS|VO+Cc5^dUp&<5y4xbDn6Fpr7343X$xw9fFVkbOT9TK7(m;I zJPs0@<=M7V{?pi$U6O2-Am2|3I|1F;MRJm^m}VvtnWDVixZy?|(=Wf5#IW~_w6{KJ+XojG z^obCLcRyplfnZdB>(e_Go8SYj^f)6f7<{)K%4Qg{(G^C9fDdw;Rb@ArsPtrbKOIW@ zURZ=^F)IesKseGdO2`I6t!ff;LbuIIkE7m&6xAutg~_|p58z^^uz)~abh|}q@8Kwn z_a`t$V5Jt{o;tm?dm_%@JVkN~`TqQ*bGwFon$hGW^{*C6ojpcJz!2ZaU>nbk^=dG) z80O&gjJwv!rFa!JzH_hy*M5p4tOLpsh5;{d|HmTvUw>6e@(1&0*us+`3kv`M002ov JPDHLkV1fdAD#ri- delta 611 zcmV-p0-XKV1<3`FB#}W-e*gz`Nliru=LQD~1`Y6j5^ewh0xU^HK~zY`?NU9D(?Ae4 z5_ZkNI(?So8Y-}IH5)x|L*wMUt`p8Sf*$ctPP(5!OY1+!?5@8OuTQi{jFd#qdw%og z%|y|^S}%cTaeVGN&^j(;*LA<8TF0eiT&^)*NMJADW|@@XF0aAGe|VOClxau+kT)R4 z@A-3D5@K-oExpOIU7cmcl5k*L-jJ2pJ?sK4j+OvrC9=CJ&_Ox^oJ7!q>j0>VJ>G>n z@Qf^gT(|eTfIw6-s04piQPo7@A-O*jPT`yr7Xk^Gl|>z`Lq$}r2t;4lU}}t6!xN6k zbRF-JK85hOhC06Qf7~%_MF4MvD*0GCm!@2Z#0{th`Y1Ur_3Dyf0Bs}kI7sZb#bri- zu_?PGc~pXYcX0>;y0(ktBwaDh%p?*;X|s3cMjZ1dHK?`cJV?Nmyq!5{1+FSL$J=QH zJ-js(KR^69pT-WgZ#%<@zWz*mLVUlztHX-V@S(fAn74KDe-;C&FOf{fzy3 zf>Di6Zz>*w546;yM_e)ZZd>GaZ?e`UMuvb7vPjCj?T0A!%)EDp+`cy~LNr(ugYiH( z(>X{;dP1ct5=%l`B)P{?9flOu6z9gIZSD=Ym}ywRK;5*5O>XbuER3H|V2r>@ZN5FW zy0Ckq@;XIwSqu68^r%z2hIF3M>?HNC2CY5Dbj(PMmtaNoQ*CE8Sd2LM;Pi~U*4d?a x6*azdvII5FHak1dbcEjE74HAoME~nA>ksp1*us3?>u&%6002ovPDHLkV1l1EC2;@% diff --git a/graphics/pokemon/munchlax/anim_front.png b/graphics/pokemon/munchlax/anim_front.png index 9dd40ec5dc46148d8b5ec92e2277a3b8e72b3d83..1174fb3838ead59d420a5e31458f163261d15612 100644 GIT binary patch delta 715 zcmV;+0yO=-2A&3xUw;CrNklljA6vrLQ6WiHlfGM_H6c!}kO9JX-*C&Mt z(WQ#SjH*bmFf=Fw5-dSV7%H{ukgK}2g3xb3^9d@2FTvEQEXjleYlkbh)QrvV$l1ry)__<%BW zjSxo&&{ZOkl>iJdHs~5V9R-k8dW}wJR}n;&73d<+1@L@Aq1k%dX}0#`m=g+*`}?3C zkLfj{CMNNTW0vTFMt>I?ePE0N03zT(0+o<)tRadS(>K-K&6<1}J~#@)hbM#rAF7a2 z>J{}FgZ^ppee0`mZwR>MgmSj4%m%;{xskv`k% z`4F%4RO@wryU1_#KJR@=S31JkdpG@*7T-ko*<}}jWq%FvZ9Giz9mSLBa5x<>u`J<8 zIXqX#F~OHP9*A^#8_wyKJT3q^yOM)d3G4ZH1n|JVp3Y|Y%N5H&8~^qL7Ti}r8m=A} z79j+4w|ylcl9dH;A0lx?V!LgsCvQ1NP(8Pfb^NnoxZ8`car_uPMg)n`W7vg5FaS8y zLt>ELDu1Z^od%S}$Vv=?Z!!o$qqzQwdsE$8^Xs1ke6d-qzzM((R8nN%5x`=c`vFyC z#6t`Zm{-*+@JBZoKh*W62WmSv1)-Upu delta 746 zcmVv1%JZ5Qb03Rq6KbQY4k`)(%P&xE)CeuJ)`2MTEF9g4DqXk|u=} zR0NVn0V##S#)a0ni%Ar}L98b*C@+!9mD8loW%lGW(#>8OFn=025Sovjncdmh-*MLV zU#wDfoY)2g!f~N$0eIc5LIdydI8<454LmvR{zW1 z*L0;LyuEj`PicN9de1I;2rS1?-zTFK_b8dpMx)t~spSx!)}u3X98=uP$xx-sWq7BT z`Zx#l{8A5BLpaZWAbeFX`plPA;DxyR`@DlytiW2=0)l2k4y4DYC c{cv0CFEAA{c}8>j=Kufz07*qoM6N<$f@@4!vH$=8 diff --git a/graphics/pokemon/munchlax/back.png b/graphics/pokemon/munchlax/back.png index af000021f8f99617469eb65e2c41ce2eb22c1e70..9ed2883f1156c1ff0089800bfbdf58b02412be22 100644 GIT binary patch delta 512 zcmV+b0{{Jq1l0tPBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00DVPL_t(|ob8k?Q^YV3hC?O_mnP;={W!$QUck503OIXnKL}UL z%n4eBKmfmzO-h?I$riB8y<*Ki-MrgumXM47u0)3%&r^{?P!$R=1tl_tm&nu|A&m}* z8nv%z0RacfiU|mq$3k(*lq$EVM*uP%f7XC{4G<*&5E8@$HPX10<0X?vD-;adCS(DTheofF%N(RGf|g%tnJ>0e5YL zn(%?3(FrI~KrDgqi02Uy-}&9E@A94N??F1B?|Q!idFZ%MLg)&4zUhac!gbd@e?dxX z)A#+^&lC32^^QIRfIPbSA+P`?J{;gJ%oEbu{5etpX7Vt9AI;P9rZuMwZ7pMjo=Mq) z4*Ir3g1Pg=Mffyw=OzIN*G%KyHP4h^f-R?k7k&w9$HBZX>6d8i$c<01*{91UEif*T z?Q$hg6Q|FR;~9LhlBbz9Cd?j49%{J`@EY5O|59Ib;Cpk)g5+Npn_5z~V}7wI>6GUVC#7WJl}F6+&fUp+2P> zP?96N+&GrrUu?4AL0l>n3lJ0k*_4NHJo0%VB*hLjm15ke?o#Q^#oU@&C{pg0GpKLDfX*NC$T zpohpy2T<>ECBXwyqQm{(BZw((4+rpwH4OkiW-JeT1g1e1vFkzX5OY9qK*<8~6bM^9 zkAVEnZ(iq9z6<+2f6C_drVGB*Ln|amX)9>G>iVFuE?|PB*UYjy-gwzUNg17 zYmtE>{osgvULtmO7*3d)m#CfP#v@p7Po1ATV7x?%(<}MMEOEAn8hZ#$d3G3LxCc_B gmH}bZfBF-C0dwGcd^w9)ApigX07*qoM6N<$g5T1;DF6Tf diff --git a/graphics/pokemon/munchlax/icon.png b/graphics/pokemon/munchlax/icon.png index c2f1d53797d60f728acf65f2f1fd771ae171afae..a7da2abd8f93d8e60e2d03bdd6bfbfc8fd3b1b32 100644 GIT binary patch delta 3074 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 delta 29 lcmZ1}b(Lv?^5j?Cwv$bGq`986v2$@My4ocV}HKKasx!g1S{dm0=fko zjWHm}YalAdcMX6kP-F<8worE{CMeJ~1td^p_9i^GQ)kIHJ6=6ig^)dH;Al0|tx(`W0_z`u&RXAj#|CKsQ3C8)7YHq%P*wp-CEFkXNqP(I z53=?d3MljRrGF2H+4c>)ZrXp{3_+@0egOLBH~{EZOBvsG53a@o1vK0)Wi+Su)2Bj?2M}-w8>5>F llBOcYhlekii+86#)hEbGu)ksr>6`!n002ovPDHLkV1nY@!xsPm delta 480 zcmV<60U!R51hoW^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MP)op{b-8 z0004)Nklu};G<5QbA_@X95Xydl*}g^JXQq(dhLL{vI4Amt6Ju*Rj5#S;|P zPIP7D8Ttra%FckO#Fl5kjvXYFb1SjH;D5}0{jaqz{m=89oPU0=7QoTIIs}Y$U{9S@ zvJx$3bY=kpQ;#lf2H8yojPn8ol5Un6;1;X73vQ86a~7*KmvJMAi%ex6g!DT7n8(xR0&(D(kRfsqY2D<4@<^Q*UyzvY6DKz zGu;XW9wo3j0Dp8g`p!E|fb^dvz+SWgZ5|Y16`)kIEyeDlx777P+P**mRXl&~!*RNM z$F7_7-?k%=YL}mY&Kw8ep#-j190v#w?Fy(LS`b>V2lKL&@!jmf)q0?S`<0C5VRQ6}km~`29H=$AiSUL)5z_P@zJhqj_Z1DT3#w1OkQj9$vC!DD(n_-lADL8?+`Q?Ih!-*AIYT@=k{gEIhTv%zTh^Oi{yS)bF7mh=X|}XnhkYa zM8PAkng%W4v5MmQlOZ;L4#X;+0SFkZF012A+RF=>sSvUJi~$CQJ36#@tV1{Fe_rXar!!JR0lQx>S0FWx?UV3hW!czRz-d7vGxa0IV^0=PO0 z?vL=5n!%2{-1=ZQ`HF!q6Bjl9(1$2srU$|Y`(Xl&+WqkW%$Y;UvLE|Obk2{7Qh)#e N002ovPDHLkV1gi9rS$*+ delta 358 zcmV-s0h#{U1I`1GB#}W-e*gz`Nliru=LQD~3k^lkY$E^w0WnELK~zY`?UAuc1TheX z54PC$Ce2kBFfLdLh6sY?GF+LbIJWlW;6Tv#*v7^}@C5|l!fUJ-(%9q~jLGh@8IlvM z_pgS`mw*0D7K>T4{;xtQd8)6N5JD}peJQ-om)U+*3#_w5A;e}|e>Gd@ah3$`Mb$Lu z0g^!O7^>;HFMm>|CFl@Aer{r!0a224J1AD8NV1tu@%e z(d{BN0bNMVtt*|y71?6QXwcnvVifQZfOotHfX)cO?-U&hMgY|VV7tB`GoFU?Q7i`b zngT!oBor+9c@M?gEQa0Fie1mNN%aQgyZxePw; zY8M0h$twnQm08sIp?67u+a8cHa2OI8G~veyFl(0A5Bo}V&I()}Z~y=R07*qoM6N<$ Ef>Pw3CjbBd diff --git a/graphics/pokemon/murkrow/anim_front.png b/graphics/pokemon/murkrow/anim_front.png index abc7a6052e3fe903dc3026d13f39e8ef9fcbba48..5866a2d556013616baa0d2400ab53979bc4f5207 100644 GIT binary patch delta 841 zcmV-P1GfCh2eSu|Um*iNNklWZZcVss2qR2 zBjv^xsd&mzzz4*Lbx-$>< z9D!_)LIcc{iH>H$pKd>exl#+5VertVdtci92$B#4p~pSI4|g&k3{-|v$N~z9ii0>4 zb1V^uJN4q@7kxztS?As-TR(Ike*aRn4cn9grkg+A``SzGwJYmwHbM~=>0jQiY?@;fY}pXy0;cj0Yp`hG-vOoZTJ&&2*AoZb~}XxS(?WI zrvxBn^{Eo{M#9X}oG9)N0HPFR0j-LMqP#Z z_&%(IIM?$rz;v^|SFdhN-80A`({!`hTwGr(9o0(O1VF-i@%f5a+zEgCQ)%wb34yd> zswBTpl(#r*NL#5hK~fBxlReqIJzK|eky+_2iXUI^$`HCtnxGis+c}bCwx#<-6lJ;- zvTNiiBk+yQD=%_UIVuXo5#<$CRXRHOwnUc=p&h+SQ8YL^&qSaOt7QP$tjrxcw_tSK zTwEHe979!E5ITSMdXWOtjfzd4Yj$2ZL7>7(%+B% z=kG%#fXAt3LLFZkVs{cVxr=6ZvJyN5JTkND&tZQ712of- TTPQ!L00000NkvXXu0mjfc*=`h delta 863 zcmV-l1EBn~2gwJJUr7K7a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MP=}yP6Zg z0009lNkl)AHH;Px0fE<54k_sA|l(hvY;2R7} ze7tugPkeV(b+rG^#1uf9NdQa$ynph~?ggRqP0IBDRu;FO- z0UpduCjirpMZf1lNozXYy2Q|60kCk70I6%-r-%TpyBMl&Rpy}LQcK+qp}O2b#WexC z4m~i93hOFcr*41ALF=uTh$s-Ub!y#G=(Ic;#&MTqCPaMa6ul1~$aW~C)(fH1fa$`o z-wk0YM5h-JM`+U#YrE@#6M`W0dH~@5PDX^%jiL~WfQo|%PP|Gn)&ToE_2T0fc|{1` zmgbXf9{LZze~H${ZOQ>B+duvL-#0?pFf1~H>fvYK_uhYsIyeAyV!j7>*F%4Qfe;v= z6vWx8U$5>QkMs9WA};g%zF#>Tcghx50Ve>~(|Os~m-Jiy5}^&}=`X{%mc}Wm;)w1g;rsDQKHAZq*VueY z<0k-2FAjf<(!JFk0B)QZ~-K*DJ)3;+VqA7Q=88C=ZySxSCWl>niKU|2>FgL0uzWvR5y(whJ_HX&>%esh2y+$yTO zozJq8T9l!SVIf+RO;Y(f6Oc~2;c)tDDm&0Am{14^p4 zoDr>d02A^7UJ?~LC!!sHOxCsVT{?hBxu;aCl1u_1S1kk-G=`xNkX_Spkf0P13@AY%yk`pTfby^g<8*6wV~151dFCarK&%!2SD2O2X_PKW#wb z8@Oq#wGTcp&LMwpfsF@nJrr2H*dQd+xq|j0d7e|K~zY`?UYMS!!Qtr z9l0BJHR%bWEV8sS1~oez&!U{8lBG(Vq6I1JkdPvk8*mp6h4Z2*ev}O>7%7RA`84y- zcszvsQInT|^_~Aet;cT>0`@q9j{%@)dO~6VAmujNPR zbODwlW-3L*16gbu?y9r^qO?yg>l}3iK%316WH^~dACO$*+)_^&XMiIzg)=~X0}__? znNKo23UyRMIh7caFm&N0VR@kjO-MY1An`V6e)SR!0mrxZSO|T5_%NOjU%*XkjM=%s z)Q9w`1Ger+sWHL&f7y6}F@TcyHh${@lLUcnW!kNI4FGm(D+8u7&S{82zzXr!3V@b- zCFt(04R8WpjS6}I{EMUWbJ4v6*V}qvNf|(BwE%FcDdVyALs6tLKNBmFCJE|tyLjJ(7!wLFx2sWBf7$+)lR1{{n8ixGaFW4tHsf(4Jq`3D0 O0000c{w|5ryJ2-s;TPQtZ(Y7R?dx%~|{C{`GunmWdp?63jj|ZV? z%f*eLow3@Z*0!w96z16is`knLbHQ{}DOwQa2zUepFnjX{jF83=9l*^z*rvpU-m``h z?IF{8Wr*~tcKNub$h!`0ITavvU)=rt^y9XFuZsWlV^o(oc^J9*;K!`OnAO{3JxZe8(}5@ z008qzL_t(I%iWSaY6CG4Ms|xyJP6pMIUlvLQK!dfG(XR|KYpm1E1Xy$-~osMfN&^^2uJZcgc{l2%zvMWqe)6%slBM3t)I{L zNO6y%!+iW;Vc)^|0&Jn|Ddu)9$>*wC5&xZ`zTuDoU3>~z7ea?E7gN}J#bQgX>%70c0Rhb3?0^xH4ru|nn}KbOn52)~k`k#sEjNY;x-X|&irjTr z=W_wl?u&a|Uow8&`+A%BFF&-p#L2_R&4V9P6UO?{gt2}Azv;&hSB{jLYrzs100000 LNkvXXu0mjf*5Hh- diff --git a/graphics/pokemon/musharna/anim_front.png b/graphics/pokemon/musharna/anim_front.png index e658a72f1ecdc30b63bb7b7161c7adf48d6d1174..f75dd3b0cbfb34a4435844ddab85bc651c80da7f 100644 GIT binary patch delta 1003 zcmVqU2s${Bl()+!JrKDC7lZ4O$KGqVMuANLN*&s|e1b>=%C75V80s$)3z4;M< zJM06*O8`hcx~ebR(NX? z2Rxk4qM$i(0%dv4VIUw?QBK8^%Ncl2bSG4Xc+ z&xMSgJ>QRnbb^X12<-)c()M+3u0TS>Wdc7&bccl0X%CRt`6)#_2bJ^=SZQA~5le4m z`<@j}w0oZ&?+)ml?}7x{0AS~TZwPn)hawC*aDRYx&{Y_i12h9WAc+wXAs`Q^Lhr4F z7{6`D;Q0G~Voe%^>#_Y{Doz5kBmu%>Co%R&xr0?}CRr%q=?$!H#4A6vishD0pl5^-+4~4rC+-0J9cA9f5vm{LiY@>nad2R#FD~pej(J z)EcD&+&`g2S$GGei%CDoB}Z4BP+l Z^&7u&0HkZqtj_=d002ovPDHLkV1gGC#NPk_ delta 1026 zcmV+d1pWKG2-66VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MP}yOALwC z000BFNkl{U?yEH9ACtCr- z)!N0WUmyXxdC8)sQ>H#t??_4_B}xfepdDHU$Pj+IJ06dBe}97DuPlJR-H?Ss^binn zh=gFB-wRwE1ovzKx(@MU0mQWT)mEhT&`sL~ZRy1*(7+GyNOZ=h06Jk85IzUM(7gw& zT+kkL7y#itycr zDEH$yYXThWaDQ;LsDL9|-FZU0_;AsB)n9<<}+7#hZZ2LQ(h_{Ih~M&RsCu!;D269`u3E5C8_=9hHC%rRsqQg z1)7(~R9B?|d2uh#<0L=9bmbNhV!fRy;7ZElJcsif*UEl1tOV}Q<^T`51?YFj4It&& zyeJ-Elp7Ba=h2 z5s7_8tba2CcHI_^b&1c%06;+Mygjaai~`oj@K_X?=k*H6Xg_`NBgise2f-`JvMlXr zQhigT?2|0$C*XHR-T(E6SE#Rp;pq0>3>GH+J;ZhazPs1&gDIWBy$V890)PwCojWCj zUnb~gq~1^nBI*E`nV%4L2q4xuV8L{=F!EP7)PD*Gerddy0Pg`f^Z{o6ce*Iwf1iiw zsTga85wsNs#el`24Je7>5g{lKREFLd2{Ars`q2L0RugM-(8x5?`}I_u*v&%;5IuH0 z!ySa#SF`hDr7@hP#Fyi-5m9@Hp3 zOMj!t+z~1279%GFS06-GE!M!I1#o7^=mD%Wz29p@8CI2~flDss>lOf3qB$vyco{Ft zb5=g|@V=1>IE=@3B9s#a+|0BDSxsWc0+}%S;2VXItd_B(a_FElBM&60ixWy`veN(l z=*ATcZ?#CdI?mzK3D#9&1VYFRu+hZT9D9o0kGObUb`)Q=?=LXrt^)v%S}gO#F=lp=Kj0o2DI=7euV zzl6^u^Z<7yT9d^g02n8KsI5Jup=AYc5h6gl^X_2?j)(ynO!WlF;oQTk^Z+pcKsF?S zsY;Oz&EUiaW-#Fgl02U<0dzZ@dz0kTqL}A7{RdAD)aD|U*tM7!=bGoVN*e5w2<XJBstzefhhWe@~Rg@#<1oYnb0mhIn@ko#y((n0lFVbVkzvyUL&!twTZ(5fp-EH zJ^8z5wt&FTLw5qKB->{L99}4@_w*W2Eep1XU3UTOHSPdkH{CY_PkiZZVEqaJznwmf zM+Qi=J)g+u>+yJeu>hWNCSY*^cF}*CilRR{e8NU%hoI6700000NkvXXu0mjf{-*AA delta 551 zcmV+?0@(eT1&sxeB#}W-e*gz`Nliru=LQD~5E5bTs!RX?0q{vgK~zY`?US)?!Y~kq z6GdXqWvIkxKLKhGqB9vXXXxAt2~l;dAnI5JQLi0Z6ds^bU!V&w*SoU`F}Cvr{gGg} zPygNhXQGG|LmCYUGAR&(P(79?gd`K-x?w594=P0;DMji60;rBZf6NJAi@t`t zT-A$3Y~O2o4U`ire{3{Rtlb%Sf5{|VqMDYflL6{mAVOOty}DAR1~!uZZW@^P>pK+A zP}db5gnJ~)QdyQbQB4*GnA^Z^r}7&0T4h2Hu~t`V+LnllUQOzB(7*wKPm{#R2av_a z0CNXWcWm)mX<)5F78O4`cLa7Ii%$kdegm@D1c2s_frA13e={;bQw9N`9u;ljU*bcK zhk*=%1Fj+581~#F6M9NdPHP4}#y((v0oor*Vk7Kh?~&NA^$^Du0$T!BJ^R^`M?m1` zzC8n0lFiZp$0v$vn_dH|VZ-M5)m{L5jTzwAP5aHjBR_f@*gpfnZ>z8IzyO&x-9_G> pPp8w91#pj!9e~vZ_=^73=?^-5!bUMk6x09!002ovPDHLkV1o6f?pgo< diff --git a/graphics/pokemon/naganadel/back.png b/graphics/pokemon/naganadel/back.png index fbb0ab2e3ab5dcd026378850c1ea7af4826e0e0a..ccd5aac7caf74a0b6ec0ee6aa6d46d3352e06fda 100644 GIT binary patch delta 706 zcmV;z0zLho2B`*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)k0IK~zY` z)zv+3+CUfp;InLHt{ursHxHJwnOOD!RiO%D$O;T)152+!UD73gpi(79WU1!14sHjp z-C`=1Oda?G$YQTh7PcbfzIW!sHki!u;Ip{L@5gZm1*En?#4@gS(CYY3x`Y%UBDPU~4mv?P$8B>va#&I^ zL=ZHbLI5m8kZyDf1f7kzB>=)q2tog7B%_P>YXqO7M+}hy^Z;;Y15BfNP!Ae%4k%YH zJ6{N@(IR+v_Y=0K5y3qN1D78S1e@sb{gaPhD+h{B-5uZopt6bn&6Ws~MwBZK1dY19 z0(>!!=CkL3?Y`uH%{{o#bPlE)1b-Trd|vGhsE6Z4kGcvA(5Itn98I48e&7J34k)%E z^stm33oxXkN*vE;%X+di;1J1DGW&a~-e4V}Kb3V~2>QYEI+$7dZfr1CN1!Z>)BcT_gplA?VnQ%|QNF zC;|6;K+qqb2JRk=@<8Ok+kxSTe9yB#}W-e*gz`Nliru=LQD~5&)oKxrP7$0)k0IK~zY`-PAvC+CUTl z@UyTo*C2W6=D||7qZS^ZDpVm1S%IN!VCe~~OSRI0>?EY-QK1MT3oTTH}~sRLgC zS?m?c!d8UbcW3?>%#peEz*+d`_uifF9U=eLrD-pKywQDi7ASecf7CSkg6Pq+F$}|? z=gR;A)S5Je2^62^TG9}2z`>_yK+XgUL0g)G*x=yPYdO#WN;Og%$#dw?rKBV;0&}2H zJMtVkKw-&24RZh%Iy(F)>h9(n&w+)G-~ilgZ*YD^sLO%c;zg9|Q0g?&K;6zNXp;IB zR#0~&05g=DI+WX2f1S}OptdQ=m2tI$R%hg-OGp8d!)cU*PLR%V-Q0`<7Ih2}1Pw*~|dVEtM_!vE4h!kLZfIAyt63v2o(9n)R{?g<9g`gVE zgSR(7VAG8VZUt~X(HaQW(Zjo^5q{RB8%*YHfd~MVb@XSte?X8-B!4M@VlYosfG@_; zZ2BDV-Iu(%0~dxVz+{c!SEC@F>phqGI9~Lam*)ZcY*>w>@$>KZg-yr045y*=u#_GT zFkr(<9M7hUda^UM1Yqwok7ww!FS--Q@p$pQwrP6CaGr{Wwek#u`>qWbA{;-_?J_W4 zC9l;G0jwgHf4PcRVHRKp_ue5nOSdL*{FCf~FM!X%S6;itFOmX`Dkj!yb3il43J14h zK+wNG4ZIx~(#)yCfxiWVVYZ(+U_}n@5PTN@h8ggQ4;}y$dmvn9fSm^6oTg75_ZWoH z^5E3j1D^vcj3!h9@YmB{NAo3-1H1b;j}Mok2zzknFhI8&FHbE*0z3qjl}(QhPj?4= g2cTf-l>A@UUk(3DVAsQ`Jpcdz07*qoM6N<$f<8e-WdHyG diff --git a/graphics/pokemon/naganadel/front.png b/graphics/pokemon/naganadel/front.png index a588677d0558c68e6730b4987f5f0e0bf24d6491..cc63efb3d6d08b854bfa2fdaf7266a7a8247c308 100644 GIT binary patch delta 931 zcmV;U16=(22Z;!fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um17b-;K~zY` zrIf#G8%Y$$-!cLhZoC^J4z37#PL}*=_B5A`l@xNwDup|*y~p8B5;w@H?(jK^%h--H zQEPBCq)LPW-lPZw(g?+Wz(JZTjqo2}NTV_wx;G=~vUb)MN2XbJzMuVm-@L~x{NH8I zOwiFgSGRB$GQs>AYA|nqJ7mD3{X!K8)bs^`mA1!qkH zEnmt??u3B`LJefd!mvuzROUnz?YbLTaZSf!BT+@Jm6JpQ~S|&j>rF@+m z6FNbu=Tu}VS}?=%m6Eb8#wW3K!U$;Tk1U~7vk^tr(P*6q2Dn1NN}fKlv)WO%7wwTj zHa5U-csY90LC+H6MTdaKFS)TE?`t5$%PW8NKFs>+MfY#YkR!ms2L@QDgty1Nxymd* z=oK^|hXDJ@)e*OULIOS=ANf1@W3R6>#{gxJ!R}POf(xI!heDQbXafyYW=5x^qCF^n zsJuNs?2Fo>YjbWg62LA%@nd}4J@Unqmo#-?1p+qhB*4CWJ{a&{W%Md5^gIemzH(-U zz`oKg;~ma(?P%pXFYM~#RU;gZ+@@1_qoGvo>tVxV=DpB=4li)CE8_hjutCj#hz$=m z^gC;Anr+5~F2Mk_QJ0Oi;J#7jHb=wqR|%kkr|40CDxb=mi^ETofQ2?>J(!ZR{zz_> z`3ZoDT`1i}n~wj3r1jV?`$ozq0lJt~uxc78xx(K{0^nDHLxw8*<0|Rf5y!cc0HfAr zN=q>1Xkd$fV}7abB>|ww68GRyUIP_$x0jlA-P^Gaj53Jkd6xjh+V)&i{tn4CV)LkP z6j9ICc~+$B&Jo{RH2^DiQ$nT>`%JAB zl(^jj)=jDNpzi^XTb#%DsQZI&LZ&5z`;&d)&*#HNpTQtJeEJJt#3 zEEWX)a{(w0z87GF_Y;851P3Ti0`5!%Ce#4zyMeC@;9oIsM>J(*B#}W-e*gz`Nliru=LQD~5;ADE=mr1)16@f(K~zY`rIkTz6G0Tm zXPH0`y>wR$f(OZ~E>$mUM%P9UskrgbTen@2-jd*udQxhQJ=)ef=31y3JZXr~)q@~- zSzSno8 z3en_;H!+k$A84pU2A8s43xaaLwbla-TtHwki-*j#QWVWOvoDYiHE~X__h6c(v`1U-_b+#0Sg{zU%be;b5=BD|5EVnD&SP zTZH7lga@sCmp^}lT_-e$z?vBc=+7U!U3O0dZ_`}$BPYdMYoZ72NL4ZxF_vitiLBey`;wf8N6BH>GS|@@o#&-?^rLis@Y*?(~3FEdCRyIb>CR)B2j;ri`l;G=Ljb zQCs%z=*aY1zgg}Q0+{d^{#0Lx7vkDn?`Rw_z$9shj0sVFD%Oi^0HAz}6mEfu*FPh0 zJu{204rSv24rZAc6$KP*?ykoH;+6>`Da`EA6vj6Ke+JWo0L9X!3iD*lQouTc?0nUU z0|YG#%pp&+3MhfSF<-B$+Wr{~iXKR_tc?IbWn;Q79u5p|pUr}rD5PF4v&6?L3l*^j z=p(r^~6e{8+9|BO62ejGd=^@Xd1soa4i=T!(g)Z2Dlg!Wk90E`*!jjzP=YD-m z23k)ze-7?;@qKqMF+RS(ssLVYPVyTKLR$%W?sgo) z!UkjEZLEIxACvJ&4a{s9hF)(@j+#WeI#)f<3w0fDM#-hP5h{mc7WKT&@qb+T?nwdK t{WJoIMktW{DB$KuU_=gto*0O)-!X4TI<2u^4c-6%002ovPDHLkV1ii_oa+Dp diff --git a/graphics/pokemon/naganadel/icon.png b/graphics/pokemon/naganadel/icon.png index 8fecf12d77ebbf61e7481c9ec605a7b7da08fe61..23204c5d18dae1a47dc1e3ceae119b4639ce4476 100644 GIT binary patch delta 466 zcmV;@0WJQ|1g8X$Uw;9zNkl= z?z;PN2Clh#taIZ-1o5lrz$PhzF(w`vOVZRKR$iGYu(WnTW3J>B8{WELj?Z3Qa-@*W zvGU#Knk?+G41cEE%r;@srZ~?Y?R&S_g+P3`UoG%!vjVWHA+iR4xxg)jAwibHutC@F z01AVI=}!{@6B>#ZnDA)f5TY%?4kEfl-f{FiQ{(5;zkk&JKs0t1vOC_PwFC zRZ32OnARE*vR delta 506 zcmVKnUMp z^C>b=BNH+S6h%`oh+30Q&9TV$7k;2^sb|okfP=NQkuk11E5Zis>ntert+kb$ecivD z9h`h3(q!DfzBkyBr?yNrP-QJs-vO70%*xizaBh~1J z-D(q_d`|1^$-fO@yDfTpyj$Ss?he3R4U?e$-34JQ3=6UqMhv=r2XGiH%y?M{IP5rD z5F(@D36n5TUjj%kbRrCBZQ{IrC&I*ot@Ixt!bEG!YIANp3$q4E81{q7ya^Eoy=QWi zCL+v4Q#V#$m4 wgT7!eUfq{4oC?^{o2@Wryxa-XP5)7t-&H|b%;WYPlK=n!07*qoM6N<$f_N6%PXGV_ diff --git a/graphics/pokemon/natu/back.png b/graphics/pokemon/natu/back.png index fead4bed1ff1cabca79f0ff1174e986047ed6822..be5542c967767f9ea018e827acc589c1457fb799 100644 GIT binary patch delta 371 zcmV-(0gV3B1Kk6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X9iQK~zY` z?b5MM!!QsAU@u4>Ys%ma(KiUU`F`EK+K_Q>%J}fXNio}%QMX$0f3y4{k8IxoWqat4C zxiKanUh;g)V)H&G;trU9C$Ere;2R_#g$LBRi)q1Q;cIXLrtyKLt8Y6152%-?y4iSE zsLW4)PU;1};sJ8?2Ml+Rry?qo1VGx@V`TyWu=WrDDbQG3jRPQhwf3zTeFcczj2-~z zrkgO2Fa&({e6y`cxsJU(^xE&piEhV|c*`CT*b(WnYDZASptpifR2sZo3rIsZ$37?( zx1iYF5=y1_7`)NVh_Pw~=Ti*7f#O1<`wM6cf#4&9LhY_esaxMsU-Hi*#24(flDX3i Rj#>Z!002ovPDHLkV1k?2qay$S delta 363 zcmV-x0hIpT1JeVLB#}W-e*gz`Nliru=LQD~6&4%xnh*d00X9iQK~zY`?bI=DgD?~Z zV3tZAau?ZxXYFgy16ljP+ST_RfCp6TzAks36-xQr-zM{d zKk)#z`3J^3u)c^=rU8)E=3L4E0E}q@AOmV+%4q<^Z^pdq$)^C3n=t^ex$7n@V~l~l zdV902$ZQ=a(+t`lVabVZ$AavZ&G43vM4~9$5foc6Sb=c?yIc!MK-A|UD7bAwiMu5f zT%0g^MmHnDrWH0{o{ve1X6W7p1bjEIBXCsinmE7L*MI6I<{Rv_lDU7M@OuCN002ov JPDHLkV1h}rqJIDY diff --git a/graphics/pokemon/natu/icon.png b/graphics/pokemon/natu/icon.png index cfb53a18deb4d6494cfef4023b592ed1d2662d6f..3ff857f3d01baf7e51915f9e2f2211852de55d01 100644 GIT binary patch delta 192 zcmV;x06+h?0+<4jV1J`YL_t(IjpdTD4#F@DMEeK+q%3BoOU>Ge?_zHLsqMmA1*yOQ zN)9SjisOzfAiVkXPC8pxRlh%UF+v;-Fc=~R1E2)xCT*c45vjFsKZ-O^j>B7MV>Xcp z?;c4BXoB;Kc={Qx%LMuE%Jpf?*^rnS`Wia(ek#Jwm{g3#L^-ZJZu_4<87t2q@Ek(vKG=b#`55Y4Pm<0000O{3Kk8zyZ}D{ z005dvL_t(I%jJ?W4#F@DMRNlmDN9)CQnPmAT+HpAN*2~CkqQi;X@wt~ zLDP5--6ghcs38Q%Yv>k^iwe79fyxf@TmSj9f&IsvxB3y?jtY})VUjLPndLb^f=>TS ZKRzaPc3oX@Hb4LX002ovPDHLkV1g&0TkZe= diff --git a/graphics/pokemon/necrozma/back.png b/graphics/pokemon/necrozma/back.png index 640f4383ddadf7344247d90947344fad29d99483..f2c778964034675b3683d4dd63db1c651906f36b 100644 GIT binary patch delta 687 zcmV;g0#N;l29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&ht~K~zY` z#gws*qc9MLAuIRH%69G{Q@TN`^QpWFcGd2X9h`sI(DUraRzWHa2 zDgNzM|7CsmsD1{Ht(Q%Yq@)2skYFe)jr0;W_oHw_o-1WzfI4}ffWU*!O`aFukOJc`=7 zwE**8I(X@cpIQjs(W22$ad5 zb^fWY>UtmnD!yc6jNn7s<^6U);QK-XR3M;5I&B<-rvgDhDK194rfiZDxRp0Q3Cvyv z;8Ub2pK1{p%@MGBk!{6s5ty?<;Ikf5;C@>K0T5CTX^CqhFqZ&8Hi%Oqh`=7QL3D`# zGa^u@!=^WK5nu#=144@`Es+Q&01znQl`;`fgaFh9=hfV2B6tC=;4mGtT`HiA1^}C2 z+Rh4R7Xd|xK#2pNPbwoM2m+u3aDjojS0~KzAP5mO2#Y{|IP6p>0?t}+Il#CeBxKZJ zfuF%;Kmpn!5;AIme->8X8p|ypG6TYj94K)a=W_{N3M0UOURJi`@*+R;&OP9^p#d%V5t! zFnUBGBH-SD_}Ov<=-H6fh>@LzAP5;Upo}MtIZO$&A+5ott#g*^S@1Th|8y0_AMA)T VCgs`41^@sG002ovPDHLkV1nI8E3^Or delta 676 zcmV;V0$cr-28jlcB#}W-e*gz`Nliru=LQD~7X;dSiP``F0&Gb{K~zY`#gws*;xG_~ z6ISjsE6)SOh7OwSl^f|CnLd{A3okVdp~UZUGd5Z5pzL*bkpK~Y`sSZ;oT~b#SNoUs z&8_(vI7~k)HX#hGz*RvA9VzPLs$dGY?e9wNRt4uUsiwBgYJyJ+f6>ZeToX(bVo+-U z39db*RIOQW;S$14Z8>8-idR8U^qG|6F~|{L1(Uw_9D+wNEP)MmaNTo_LFuNFrpBe< ztM9sf;FQ|dcDDdFTtF$RKq+-A?M~t{!CfgGBA_}sG$p_-oE2Z6fka(9I9mXRdzV(J z($J|+$r5-ADIEX&f3lhYD+_=tPy|IyPSy^cR;_$7e0}JyXMwdk0d=-#eYoqhKJQsT ziVwB37Uh_CdA(fs^t`Zu6a*N|r+wg%eMkaMak9qm>RncXw(=4l0=v}_c*i{DT|WiZ zNCMmzi>)|31@>qOcyGtzal1SP5kO_eyu>*Z*i!_c7{q5Le@MU>Wfw%uoPzI%&dFN|+6K4e{7I@1&Up8ZV>zZ`U8}h%+WU#35n;0000< KMNUMnLSTX;kt9<9 diff --git a/graphics/pokemon/necrozma/front.png b/graphics/pokemon/necrozma/front.png index fc121c643dbe8cdfb619411f297aa98d05fd1589..9974c437f7c408e2ae3efb0cda5e05c6c7a4b245 100644 GIT binary patch delta 887 zcmV--1Bm?42i*sdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um12#!SK~zY` zt(Cuy<2De+N!+rxD5?+t2)Gm}EXiFAg!Zr}wd6D0gXD4Y6v4K)MY6bV^DY^ZlI&gB zu1cZBXA0YZ{iJ(8fOW>WGYU{30xgwRUemp~8VjKEz9 z^w5qOkksGSmvmA?Cb++U6JmQ(IS2#y0Ex3GAfSJ3GJ1|eElf{Dz08Z8z#V^+)5YU53kryE4vGzLS3|c&Yr1TBAgNEB20@Y&$ zXfAfv2%P`=&6?0C!3&_K1;~kKc5q35Rkr5}Qpn=`13+Dh_RnAc;uauf-x+Xgmj1x6 z24dSv%(2Y@Qsb%88zA$N&dmFEhR~H^;Slf_09P!HIia5^ji*K)i9K#%wlU=~h534ss#W!!)_ zuA#>*#4Ip|n#AGw@_jvtFaM}110-5A!wS5QuNwdrpvIXbmJsyY@dDruMIk`4O9=Y6 zm+${>rJxpo2@uKGk>mLOV+AlH6(C%?Zdvkvya26QfF~}0f~`A@Z?CUgbHx!VaBd)& z+?4I0j{m)e4ant=(oa)_pt8h_{qg=|t4Mkp$1$h6ad^fSho5o9@A0$(490PvOAI=X z7bU*2A>T6FHPZ^61rP|Hh^)ZQI$K{)dywaSE;HUWiG)&daTtclZ7%zBsiH0=tgDcL zps>x>iX2pb8=_;mvPV?yO3fm$?>B+gMVNPiv{_YTcLk_1u(R?AoafFK0i5$>N7X^e zdTwkw(8;kW_R!R@xT8HC4_q&ah#kf16+J{-G(+s0zEvIpvjET7#IsCE6oI+H?&qUN z5mmxu-SbHjhP_kUU=|7R4nTK(UBNmQv3nC~tMBMiLTPTQ544UX!XmD3M9nPo!RHxn zJl$?Gh7fFD&xibfl6U!V)m?7RGETFF?iyg1w{E5GJ>@h!`6&+}{{!LM#$12johkqT N002ovPDHLkV1iwTs+a%( delta 876 zcmV-y1C#vS2hazQB#}W-e*gz`Nliru=LQD~7y&JbVVVE{12aiPK~zY`t(Cuy+c*%$ zMP%7q6xD}+1mubo7Uk{?9PMFGYRPBFgWTifDS~aYMY2e@_bxXiC3(GwT}6Nai~RB9 ze8U;4Y5wrj;%|2kV7rFw?*UvioxCSOPVFScT|l4YT?wwFye)wqfA|@Jn-b`uGZ_%X z-|#>tIc9?S8zFWlnS;=93lKPq5<>eM9y9_d!JN3~VbtJ$XJqrBgr0wwi#Hx%ZsWTs z$Zqo>A~>tx1I&ii0}I+Qcn1&(akqG2GgzJ6I{_DGTRrSGhm_nkKn5S3tsblfn3=oY zf%=9xQ9QT+;6#m)e}8-{0s%ef6j=dM9_!v_oI;0(l)eCS&@!7tAj(vL@I^iB`|B0e-d{nK*NOVmnE;q3(&2=1LMKg9n8z~^VVF^Kn2b%1f83*8|Cr8=db~} z+)?^riV$R$n6W=ze{B^>PR5v=>ek^ITO5AG6@SN*-|E$veJ(NRJzkXfkB<44*{+$6 zt1N&(@D0xj^sKV=^|VKE-sdu7eVdw4DlU%WIJwQ`e{e2U)Te}X6*3Scw%J;dqwGR- zG*`Ak)jrjhko#d1=v;((7n&}s^6ahvH3oW?9)a`R+aiE-zS$9ZkfNR&oepGjbczGC zH7w@HK+J)uB@wYFSiO9JXp3fuLpyZRBcK=H5u11xDe)pOx7hv6codN(Oxi!5L_@K6 zY8%WvVgcR(=x(ShXip<{Z)&>gJGxMso2Ub+BdMVg*SFj+*HQ3!hG|c>n~Wj^+uP$I ze^2r*S6AKT<}BkRTj;NDy34;w0000!U!CA;rM?uiX<5^+yI5>3m!xfqR^0)%AIVR8jHg?C>g@oNf zy+*QP#Ub1$fi=3kdc@2RA-L=p=K0a~eg!KaL{A~Kq;YW<8!q6yC4yKRCIE?w66C4Tr{C3 zl!ezzvQs#OkfUtG$0eFY_rqGj0jD%X;Zh32**1%#kmBh09{BHn|A|8}4>&Aw#KAT( z;$S(AIJg`}9DIz0IN;#m5=R{1iX8{&ri2}byFcNOmMUaFYsCTjtg?_697vl0yoZWI z+SgVBwc-GuPk}2AK$mOl8nxm8bnAj^I4EteXbTRyztF8XD6t%~H5?R=do~O4)&u|F z;M}_pTtQ|XfuQH}yTasgsL<69M`ZTPaRj(kOrH8_>=j!F34eP<>^+h-D-}Y06Ij{h z)gxv)KycYFMDsEB=ML6DVtj(6OZ?i@Dzq~2sMgb~gHLQ@2tLAW<6$bm8W5~e$aAWn z1N%%)Y=%$+A}fPL>oD5_rG=`kPi*^lAPk-rojh)Bs(pVhOkxA&!s{W~V>pG7S++>$ zOSBT*`J5C`N`FHXE~RiuPjLi^`H#T=RR_K5u<)pZ-NdMa!;in{kd_LvpS9`$eOFnc79FBC0JMjyL)zEY0=4P@-%mhQ2Z*kDAoJr~lwDYCC4ZS3s5fcpl0f;@O7+Yr+TSX(W2q7VI&B|G_- zwpsC~W&CTq0&J^gAQcQyh)uMw7lBliCk`lY+p1XtQXvlQoj(&|&_Go0761%T0S}a; zf=pOIY@{(xp_u`+we}r;c8 z@UjNYHId&9qQQf!cfOrk8Fh)icY|tsI$96Zs;})BAy+mKxbK`q1{aJr0RF0wwfWil z`s=8Id~jn3WV^1T`l9#C-2}1@dRmnFbpV3`s;dxT(t|NYi-StA!f9+dpo0TQx2nlB z=HT5ZZ5%*-jxQBf_RsxG$&-)HaWV+;kcGXTXv9EhWiy%hNd(^ssUb>YePA{`^f#k{>E5*TYgTo5uhE002ovPDHLkV1i-I;ky6; delta 494 zcmV1l0tPB#}W-e*gz`Nliru=LQD~887HWT@(NS0k}y-K~zY`)s#zegD?z+ zVKVF!rWe4p`%FpqNs&EW(#B@r38**d33Bkt4~S_5Y+G$`_`m332_?yYwC#$X7V)p$ z3a~4efmAR+F1FFRS_D#2oH?Ml9m{$NNQF2wclt(%AqJs(zW|Vfe-e107$eAp1;kbw z<08~EfJVf3ssRiSSRFqp0+T|L=Hkifn9l&ovuFcQaw!nt9Z-Z)vcS$b;AD$zIAG&a z1Pj0nphySE3s8myz}rU&N-hB>0(uU}0w5n|0386J0}CABX5AWq%?hAaf#Vv`uK-`j ze48(k1N;{I*^BZ-e?NcK-s+_su2%pqf(-f_Tsa3DHD)QHjvUaZqFt{pnHQBt6X|Xc z4P9Kd_wCfms7v&JH>lVj$9`9;uWF1bx^^>qz7Y)NP}u&Mbp@DKnDkqWbUaZ)0lymDYS8b?X#Tr z&%L$DTg~3%WDw#Z3uirv5d)!>^+SlM_CJxQ^!gM$7@`8&fLLn*C z`7K!YK0bb64)&4%%hiRs7ax9HjRT%Y&jTXf&l49Abq5J9K-z&PBM0Eg77+3}XCr_W zxPjOToB-bg*RGBP$dojHmw*Ud08_H6Mk)|cVQniofeH~vIx?T;_$Uh}u&@9Mn7gj< z&;pNGIOg64H!ae*fLHw85#P=O0`X}S2n@<(4EStTfix?Fbq7?GBfvM=+aDqKC4KwU z@QCp7_U-TU4Ys%GcMqlRUu{v#U)vw;BG-4=0YzW1%5JweYtqtx>5Xm`0PhNAp72?& zU$Lp|?0en;?+SjmUXycEVhL70Bdo4_0OJc96{aa00IXqJq9H^7ujMn)_cJrsV3Pxo z;Q009nk`@S6b?X}!OP*l?AI-j(IFcGy91FYnM{%_VuL*VECIgmrjXMnNZPG*ocnDF z%N-T90Aw;80(@6_nx&3%$ORcPDfN(;7C2`jEMYi_@% delta 537 zcmV+!0_OdP1^)z)B#}W-e*gz`Nliru=LQD~8YLsV=g9y70pdwSK~zY`?Uc=Ln?Ml7 z*IIE8OVpkjP;$k)c9d&jKsi=2xW2}Pan3#1?KO&0U#lGY?{*e!1%E77?|B!{&X31q znOPw|^k2HVP#;D6o2y}9q>}T1igxwb1%%xN&;@`kj39IXBWM8yf7h890IY!3e{1-)`Oz*)b4MMJ_YIcm?dE31w)}WwS_{N?3tc?XGpt^zsch|g z)&cJp@@}Sn3&`=6DlZi%oY%KM?zmFr-Tn9?~C?r**|uW{`eCQXd;!? z5b4v9VyweNt3-lfcd5?+0k0dOBWd%=lPQyaU}H%Y2y?b|$A0H(Tmvdi7+pBAozH&g bvi<>5c#mVC55uJS00000NkvXXu0mjfNyPv> diff --git a/graphics/pokemon/nickit/icon.png b/graphics/pokemon/nickit/icon.png index b0777d878ffa23cf9c73b2e81741d1b59717ad2b..b7095d9c70f98323fd08fb0f0d4d250c0d0145ba 100644 GIT binary patch delta 308 zcmV-40n7fe1D^wsbbkRANkl8Z|u!~2i{EC7pO%ov4P0m~AF5#cPW%12>D&{9?w+d~-8UoWkBKl~80{yd#6 z`>`8T-Bibh94*4|f9x{*kqYzlBMS5IBNOJ~M=H!;`|%AAXSEf8Ze4Ex0000s*iF2 delta 326 zcmV-M0lEI41F-{;bbkN`bV*G`2j>O{3L6~~rEV4g009(9L_t(I%iWT#j>9kvfb#}c zXhF*c1_$ne4g?f*4{=YDfddBVGmR7kBp%%Y z8DQzU0!%3wje{Wrbr>@+YgLOBc+3GHqNchbBmn#6S)<@0xqs{_k?0!1IqzYZa4Y1S zFM+-Xu>xqD)2Bk5HZbBr7>ziHwL1vG2oz|#&Tg&TS~beqm&kFb_XcVgA~W YUk_)s6_LAyO#lD@07*qoM6N<$f~kg#Qvd(} diff --git a/graphics/pokemon/nidoqueen/icon.png b/graphics/pokemon/nidoqueen/icon.png index 3d42bb57ba5fe01a32235b310c0bb557dea4049f..0d1d7a6f64053c55dde01275e985f7f218b10786 100644 GIT binary patch delta 298 zcmV+_0oDGb1AqgNUw;7$Nkl`XsbBCR>k` z#BSmpsd%vDPye0l^QY7uEl$oFuejR zHwZ8#vMq}9WWdcmvR59OuhN$RDA7fI6rv5rtHQbdAi~>wKXEv;6)t8bS_+HnL0U*g zdwNJf)~SEE?nhe~NrfR^3p4r=gvow|aU?;Q6JCWOa&8vJzGxYa&lvsCJo?dyr%n9b g;0LCD@L&1y1H*j0z0*xPCIA2c07*qoM6N<$f`P`Cng9R* diff --git a/graphics/pokemon/nidoran_f/icon.png b/graphics/pokemon/nidoran_f/icon.png index 402fd06428eca89a56651aa46823f30a87187803..2f8c516aae457fcc5f782992caa1e7af2f9636d9 100644 GIT binary patch delta 194 zcmV;z06qW10-6GlV1K1aL_t(IjpdRt4#F@DMSTOWtQ>*8sMj+~vbJ}!%FG6vhqj6s zkcS8tIuMhI71iUD-%l)kfIlCsfu?HV4ba?zM8M32C|Gx)rpNs?#lhA{hda)trn}^U{K;sIxX|@; whxQx5e1)yf)(Rt4VNk2W05-R(ANF%U7EF?-hB3U)Bme*a07*qoM6N<$f@3dQ(*OVf delta 235 zcmVc83V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3L+MZ^ExB| z005>*L_t(I%jJ?i4#F@Dg>wV1tQ>*8sMj+~vbJ}!!psJnhqj6skcSBKGZ5p674?lz zelM~0h4AMBZ%A?BGEji_G%>J zXRk@nal0TFW8C&6$$V^sN%7D!cYLd5pjVVUnAURTn$fNd+Hv|mf$n;Dq~#pesb l4j2#zOn~m<_|TvEcmPb2r-t}|$`k+q002ovPDHLkV1iZ_Wd;BM diff --git a/graphics/pokemon/nidoran_m/icon.png b/graphics/pokemon/nidoran_m/icon.png index aef34cda61c1e205ad2ba84b29eb7821699adf21..5564859ed5b69ac33edaba040d6fcd30de6863aa 100644 GIT binary patch delta 234 zcmVT22V1La?L_t(Ijpfp@4uU`o2H<-F?m--U16XCeVeYVw zOKQ(*H8U64MSc^RxXMm4K{-)%L>cKF)c`>PZps}-Pyszs1Y_vb62Rb~mLTnVzMGGU`RYjb!|Ei-&HQg|60~TVz(f%gAP!)(pb?A+n!sE|&;&*adV`slZU-Yi kMlcH>0~qaN0P|HJPkkn_CBs&r?EnA(07*qoM6N<$g3D-QW&i*H delta 274 zcmV+t0qy?60_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3M4spc%b_L z007KML_t(I%jMEN4uVh&2XIcnJBWifz{Sl~CKE5(gdTtfu3#b?1m5gxsC*b&S=7P7 z*zNuE+BD5Cihis7>h17l0DkClVgo_Pw2TUX1u~V923f(>!hiC^Wn5BwG^3fhNKd+r zFmaV0w1aY@YLD8|XH)|O4Y(;cC}0A*B?!=&A%G!+T7#tP0sF1)5iln2%vHoU`RYj5 z-RdOqCHmibOORg)8o-DcA2Ncmf+jF3Xa;juK{FU5=mADP2cteFFi$>4FxJNi=BqyL YeI~IbHia0l01E&B07*qoM6N<$f|ZJJ+W-In diff --git a/graphics/pokemon/nidorina/icon.png b/graphics/pokemon/nidorina/icon.png index c8fbc09a7f1f3a35220ba557480eb23fed2454af..496336a59c5c5102d86b5312d19bd33190e6cf58 100644 GIT binary patch delta 210 zcmV;@04@LI0=)u|UdW7y)Q)L7@^EAVzGn74k}Qp8<~}okIeEI1Z;v0u>?-=d6sE zI9jQ9<9*iq<_+{04~K5hod|f)3<%C{wdLxq9k-0uW3+KuRyO zs(Nlz$j`*wvDqGyT~}PTn#E7dUzj(-@G8vKkEKytKcFl9;E(-y0+Sf+ugjxsGXMYp M07*qoM6N<$f)a#WL;wH) delta 269 zcmV+o0rLL60^|aaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3MU~>IcshJ z0075HL_t(I%k7de4#F@DMRS7s4m|)TC~!WGz`%{1dgz4I#A}DPL`7msYSe)y%>pAr zc+1nb@?|}xzG+B_c5w3@azN0x-q_A*lqgAlAtWdwCctCQ=MVuP_TA|c zL4kqbon>tKFmK;vU?DVSSaF{VXczX6u%h=ZosH1M=T9h=>GDu>ob z0Kt~M_ByF*#)?9ECXq($_K-3)*=37S{lxr*c_WN0!fgGRE86-2P40($?8g(6811jy TP@&xb0000k?1&;lDGR>3$!1*;K5u|BJS z(b4{(-opl0pK>q~8(SY;8i`a=TNI&BJ3JAUf;P>>(s@Mh*LxX5?cl>ya<~i_x~k%I zXoFH=KdfOS6l|Mo`dTBhlg{h^VHtdWD1b0*NQY@{w)_~NgFjuL3tGT9E$BTkYR3X5 zqg%ivA1j!2Gb@;UnXkbpA2XOy`Iy0IA2S&3V+Ql+L--pXH;S^@Jlz`xssI2007*qo IM6N<$g0ZJ?F#rGn delta 293 zcmV+=0owlB0{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3MmqAYA5yp z007@fL_t(I%iYp34#F@DK+&9_ISdD2Vynag8#i@TFWqX9E3l_(Ep<$UfeI26u~aOG zj9+yWxzCtiKDG>jAC-#`S#rQf5SOk1G;E1j1?w!;tVS%w?ti2LL`S>5dItvA9dob} zd+ZJ_jYMi_sOvDLFFX-70+?oE<2-=(uNh0j?8Cj}aGoKIZOiG>9;Ah7euXQ6z|dbL zzeBb%dc6;1<56u)*i?k?TdX!*>~%DMde#eif^lv&81=;y43}W05)77L^3VJXM)_F4 rT$PUnjP|jB(H=e)Fz-HuzwvPcin7=|hU<8R00000NkvXXu0mjf7=3w4 diff --git a/graphics/pokemon/nihilego/back.png b/graphics/pokemon/nihilego/back.png index 3246bb9fbc7922c0d31a90641e0dde45957a0875..a4dfc7632548f865cc393ccdcab3098445e26cc5 100644 GIT binary patch delta 620 zcmV-y0+ap91=IzQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xd~IK~zY` z?UTK7+CUVAFRVxnHkomW?>IA7w`7rL=nyD`beTav?jh&}khV5Mp*F}3Z=1XN_e$gm zd@5=0ch26sTEVBf)Ekk8x9fSWH@a!B!0vh;%>eo^yj=(2tUr0|0EVo15Dc*+qDR?% zm{47aKGJI|fD87$KT!#P0&vo62auDZGk_ybhV30_eUgnKRFV!1n}DERW-UOJfMCEu z2aKXO^~}}0!q5Sxro-}`^QjI9MpHr-0gOaV4!j1ydG-woI~QUBgFx0q@1B(>t?X<{ z*CLQoE-GS0HlCTe<#}{y!jiEQ9xK4}wk(%LPM?4mxlh&#$XfA#q>Q%N-d0G-iU{N; zImfhzFMq>8x=s+OU=hl_W?&bJqgR;8LYa18@zO}ch;iM_70icmpzeclu zY66D82Mu^eynCwef}0I&oJuzdarp$AjOSX2W(RONl|sbJvi18KCRQ>{^9~oSgiBe! zkp8v-v#IMl>i?d7sdc?xXQ+4i>)KG7zPEvS1DMaJ_^35Uu}ah0pQb_|!?>R}M0anA zKF-35HmR0C`sm}yO}bU-*-k1aqy>QDVo0RI47aOl3NZHqbp0000|+1`0xd~IK~zY`?Ug%|+AtJ_ z1v05&m&|PGy|bBFcOt?&Lx;g3q{|F`Y!AVI09*Ak6l#OF@xRTL-z%FU{hrF!{m#+7 zLLLbDRF4J|)cAJ2s0}7J?KRk6FQO?SLo&WyCxp?V`Pc)DY5Bk@e?U*f0JDe0#5(6g zz}HRy4iodqS4@-g=MI5T z)scuq;t}GycmkMgpVXqSo|3#ib$=ZHlp`u2Iux!Q2FOC+f0VffLbOdCxrzNE00s4Z zFycKAwr}nOMg&K%te;yzw0}9hIYe1K_q7X*!oWT_*syF18i3%)s$ZjBKequRI1mkZ z2Dp1_?t+&OY@91M3Sjl5e;CGdBLJ%hxSlHkz;)I6d<_d~S(bGN%TB_zs$WrmyMWbJ z_73{D=Uf|QT3I#+y~|%&OKJMv1r{w}v6#W5*2FqZ8-JQ|eGKD%(GuRh6-++@xR#d6 yZ+9Q?K{E|-bYQMExz+*hYCU#<<>!Cjf9W4waOl3U!OlGZ0000<1Sq8<`H1s=};R&P`d8SR}K441;z;nfc@5( zjqV<%#x0ne%{DN>8xCs?y6a8b8xsI`n0?UQ_Gr{?9|pSHsCIsTRHhGtkNWf7jrxe*MYKH|2O0U*jHf(5jAU_yXH`2|BjeN#m+ z1`MEHVhFgOeUG3D0QF=;luzHd@PPg3W@>T1!N~51^Y4dVeY_AK-CS z@L>ojRpSAMLLoYTxv($ZUn5frQurC^xXTENmvOuw0bvUiFTkH8f)zXi`!9kZU0pyi z1_B=yFaR+PZe9Hbmoo;KEQ(v#U=3mf>=KGu77btlE9wIpK_)Y|)T++XRi1kwFJ&gH z0Wc*OlzMA00000NkvXXu0mjf D^{)*L delta 610 zcmV-o0-gQQ1;_=EB#}W-e*gz`Nliru=LQD~D*{04RS*CG0xL;GK~zY`&DF7P+b|FS zP)cOeH8MN6n@nkNHkl_F=*CDys%%*tc&|bKKn2e#T!3riF8}BoQD&{ zF@eGX5Gn+)4G;*-5CqpCQvy;DN=d3n^56rG9SMLO79@e)I76JKMd2>#l`$buq*z8D z`*veSAfninzBgYey*fPZv>I2@_uV`KtXmT*gL6vPt^ICb-|FC21HgW3?Z&hZQ|%7S z?PePo;9UZ11E%e4f74kT0C(8?VA}1`>f0_1OuNy|{HSdg1fR{u73 zVv1DQZaWzQ#8u9+9zc^%oZJWoP#tmE%FtStO9TsO@W6yX0_8Uh4%Ll{UQwZ!0X zKl>Sh3IP4&f|pM}67B)_(9QJXe1nnSpU>crP(zXk!B1xwf2Y&OQ>lD_$5q3pA)wT? z2N(*C=+uYXcz=#eYslawvT>CW$k%qfF2~PJ2Cqhr#)x1A&%k~2Ajno1Ajg2?EeQkQ z)8MwxU*mMf06TMe+ZR{?9|1Q7Im@E~EMP@_KqJUS-cMCkdA2GF4-}=yg&F|UVnL|~ z2ot%+k+@qzScXTA`ODyLVlDLr6dqud=}RpxwWfu?-9yS}!2A)gj~dSXWf!#yzs_I4 wM6mG+|2cSbgx>-6+kn)y`b)srKl!)*1+r$C)cPtRIRF3v07*qoM6N<$f&dW{oB#j- diff --git a/graphics/pokemon/nihilego/icon.png b/graphics/pokemon/nihilego/icon.png index 5a733d9fb07ebe8cea8c3be5792d1fda70a91d8c..6e8f855d59cacd1413dedb7f9e6930131d2939ab 100644 GIT binary patch delta 288 zcmV+*0pI?f1NH)tUw;7sNkl8A`UrIlFWl^bF!QbXvNV zI`;8uwaj|pW#>m?e!{2JKNh6azBhvn*?LA?Yk&s10V86614tcVhhOEFsBvN%hw0q| zGkNCO1afb{LML z>?CGj=}Jqq(el!V?*beomJp}}TNU(T(^Ow1dI!yk;_(0gPPKm|bHl zOwfp7to#srf;)S(J_CJc-zPCBw!i!U(oymjDbe`{VircIfK_drg`sOEozOeA--{Kv m!)4d1o2~Ewrx`Htr!&9s2GFqNo&jC}0000y#pwA#)L#L%zscV-Rt7Xpvlbauj z`3av=A1p|zeQyREvh|F()&LE114hJtt$yqXJNzlXM2!>EIDbs99+=59&nA$20VXnt zGfnP2GSgp`J-|ywR$N(==7saS+Dm>BQw2N74`i+huzUlw;6T!qnVrN8EL~}dHd7RVhMptuvI}XHcj}Qe;8c5fwW_bE?-fShgxNK=!UT;N#>x+|C%Cdl z>od?-_I(nAVnO>yF-k|tTckwiC&Vm_PywsjI15AXnRG($)b6UIy2EAHYCGTtPGR6* aXMO?j2GFnsh9Qjr0000WlT<;jNLs7JskR#2=|WZ{z_*^L+BW?;DiwhvUKu>tC*C;#0uE z6F`gtLK>|A6j6`?9w%NXTbf!1*oa00`{i;PXw^<*k`lDtx6LNJqd-2EQltPtIHmx^ z0b;3~6m%RJXdiCjG?hy!hXE7l=E~5jZ5MKMLVOtzK&!!reH<@s?aXBDinkN&<}HJkhi4 z1c2NodgI>yo&Y@#C-eQmunwTL>$qXr4ryT>N;4xO*1$D%qX-F17|^PcY!YsLpl`WD zRg9k(5Fx*g8R49<&X(J0S#< z9;uO9XA$WARE?5cpnrbQuyCbrn&y1}mu2YjGx^Opyd7kK0oSwrh-DjC$8xJpXm~qB zMO*X!&>svTVVbguaN~a9m?*R85B6{pz5EUnj4G)v`NK4uBMit?v-*rbaDCecs9=0U z2orI^A4G<;Y^Kx1aRBojKe|Vg#Akr-4>z;^@bHm^_ugo#2Q^90K&U_X8-C0myz>3w qX2~DM8}|L7wd4O{3M?;5b)TXD00QGlL_t(o!|j&OYuZp8z_So2 z3@=u8PhUIx&~~K_-p7zk)>|cifI+@Z>#3zgx7~u&hxOdyZ8!*$-g>ZO-gem-y20*= zkfVqE2bH}zP5kj{&tv(5g75pu_kG_}{C+qtiYWf&cp^Rq9Dh6lBq$(c(F#Bj1sULB z;+e9gYh{3qc$}Fpm$N{lc9xJ7R=cm8O?X3rLL#F`3_v)c03-ntnY_e0jtn#pw{Vup zXOtsG1=?I0TD5I8Pb(ys0Ri+HyxYgg(nelFpfZ5tODJsO^k;%lM`r*f{{Wj9H@=hH z)q7apBS(QR`+pesf0GKatd9%nUQYlhk`}>z2Uk*H7Uzkc?W6$YHZdCa&bJg8NjRO) z4~BIByWjM3l$Oa%O1HTSM8!s zDL6>%-tkP80l4ub5s7+%KpOMXbK43V2>T~X#l+N-05>6uq$$YF6Y1XrUkh4VF2)d*L)y03VzcF zEq-CV|3c9pOcYT>@gGNgwH~aMFJ5L>=z;LId0jNMn*I0%&@H=?`oA$p;-u zbo|E?l7GY?gkw!VuH$nkNQ$ByvGkw<@M+yBClpCy3549Cvw8i%fakOTOHt&@32;kW zKq{jL9Uw=y=n^^=H3q=TP&}<;gAh`^x?|`;+l0GQLNMu(8mV;_f!+_zEXgYMgNBVO zb<48m^FM9VNS@2D#>3l1CYUhi4>8*@v4Q1Qn}5*Z?Gg=b&HF=tFocw4$ri$m`+;kr z+@e1?!^!C7cYML9lIoH_OlNb<2XfUzW5yr2z7qmeFuo#$iMZeo;&gb^YT|eR^PO;X zk0uk}2SR_ine_)T7~XrMsUD;Q1EKy9HvEu3gm)hJ!_AUEj2jO9p@mpt8~H;NE8`Dz XPZB&YN@Fgf00000NkvXXu0mjfel2oU diff --git a/graphics/pokemon/nincada/back.png b/graphics/pokemon/nincada/back.png index 251d56791e745ba9d4f8d2c1e52ec20c91de9baa..99d215b56910f7066f1635d47fff25189d9e19c3 100644 GIT binary patch delta 442 zcmV;r0Y(0(1hfQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t#0gXvSK~zY` z?U27p!%!5)Z@ai;FiM;pVoLBLF;GJn-y$t}fes;qvnh@jYz~t5s01emmpVuW36a1Q ze+%KBU%v0VhqP+-@70lixtB-#jeu+wgfi$i0*97`fA0ByZ`5qjv#dVxuU%JH2FGaw zaN<~2RRByt(+?1kwtJ@TS+|(O9e`%A zVS4_)W#EPomjK*{2_#1Tk<}Kjo(8lAQU-}>@@!eoyHC$5t$`o`s&ND|wd&7E_ZyI! z+~BLMcna2w>qnpxU_6g`m4PGlqBl`g136_2zFLY5DS;3_PQ{XhFjAAiAZ-8@p=ByE6Dqw7#nf)@a(fDro; k0gxnK6eU`<`ZE#o1^BJs`!wG^8~^|S07*qoM6N<$f&?+Y2LJ#7 delta 449 zcmV;y0Y3h;1gHd%B#}W-e*gz`Nliru=LQD~Ehk;ICeZ)@0gFjQK~zY`?U27p!%!5) zV;7eUMv0R{ObK2j25RWyTii-sphM{3Y>MLrn}g&%D#6LYr4EuoE)qI)HcR$ipFr^R zHh-!OxHvfEgFwjn<@>&K6s1+G|E?YFm+#u;UL&Bn1)=wQjlhBHf8w9JLD0Qyw&=QU zPYJGl-_rX>X#;TVxo+&EEb7s#mj;KvHyy2jp{G$lX^OZQO(wJ1>`|xQVS|O{k;w>9 zjCwj58ryd`592rtDgfru!B0Sas{j~-Y3(DRZuU(5 z(@rsmI{?#WgY@iuf5X6!ASnU3k2r8U|Hx{K*O3XN22uvxaYVK#=bfi#gVaFCftUh; z%&7V^rSlC)9bt=QR;+^cl6nag2PX1FR2euzFLD#dHINfF7t4jrP&q{Saw3l;g^{KT zju4+lk-*ABjtc-Sxh;f{B_8lFB@k`^41v6^AS3Vw_(WvYH(Hf|v0lJRk=_^sdjwDlyA00000NkvXXu0mjf00z!3 diff --git a/graphics/pokemon/nincada/icon.png b/graphics/pokemon/nincada/icon.png index 23b118047a5965e7623d533b0d0e3692b76195c8..4247b280f024ac42cc38de571e6429b24ce27ea2 100644 GIT binary patch delta 240 zcmV}c8V1Ls|L_t(IjqTF04uUWc2H@ibs6gVV0d|Poj?cp4$h$DIz_Vc| z7C3ccp;9PN+>CB|TmN2rY4ZX6VC_H%eQhMIk9uOH7`Ya$0jnI`C*c}A@Z?_XxnTa(!V1n0c4?gx+|``^%y`>n!~zwV zA#my|0x^#vxRP0J9>>5W_}5qKV=zp-fa%IDn8Akx)2v{s5lnttz+@6kJ%D+rmR^F{ q_>f?99}^he#|UQYgT4D3dOZR3dS>LfU&3Jk0000O{3N9e%{NS+w z007QOL_t(I%k9!T4udcZ24HgmQb6k13fMv59nQkik-IRmz}aXf7I0x=A>|RCYnMu` zxBPKpS^5Beur46P{;Wi`jr&B2(Kj{P0#+D!jodA0(K8?VeSf_dh^T9(zr5)(+v0&` z7@=%PGe3xf%50G2j}>~6lL}_fEiB{wrk5!}Bj@xX<8_x1b7Y{pz^N|?#4?89Nosyr zj)6+>ukQlG#0gB7AHfVhMljU|rkKE_uN6!(f++_ut!(K>Fb5wan7xk~%-+WYhE8BU as5kU_X5>J{Mg1*xFOA6+7DNl<4*{=XBxG(|G z%^Md?p93JHi+-xEd#2TYOovU%v1U;CECQ?^@A~O(n#B}SmH>t{*3Q~NAL7(Z3=V9T z-(~nPAfk1(du?c^59@sK9`ODoq!eTZhqdNDw_lxy@T5` zpc*j+9=CY}MNb5B0xF09OUo00!kTud6O4+9w9A9`AOVMzLq#cn;3+$DXJI&vciT=Q z0I>c5Zqspq8QtM^HHrx(7rk^eOvr0l)|M z2}s$aQq493(0zn|$0-E3{Mj+8b|}@#6~_qNgMX7QrP}2`dj6kj8`r*{Hsi(1-(@C8&*>VD6mVWhc9IbV7Ah+nLREb>qA@HWs z3dAbmMqgh56IWoZ&3>3|&ZmGU>aae{3ozMHR&y1H-vd1Dgkb&ISkvn69kA#0M`^QX lAVt9P!Ot!l`ze-X{{Xe<6lc!K;<^4*q7UXB+Hk?+5QaVLjF%Pqw&ln zNq(v^_J2LqlI8D?l5mz%idEw1g>(x*?pO3o>n|yo*QM-M0kU5Ke^_y00-)j`|pYH&ZQ+rE^;Gg^xxzW0FS)yYi)M^zR5{q`T#LgQ{#JaPkgr&w#4M9C+N8 z5fr^*3lUH{{9afde*qNMG-I7$R7|8@9JL1tIK~`GN&&B;C3hBv(|EScJOTjg4=}D6 zp1aXP*ZJhYeYm^7F&;@noueioI4B+Y&nQPrS>TSk?j|4)z$eaI-A7L<@~ux(BrsML2;y!WsgeL zy8(diBRskg;PPkBsM?`anafWDa1Ra+f4}izQFJ>1*~v#pG28_w0Hstdirx-Dk`aor z6*(2*@*Ta0e!4=#g;Q#EVP1jqnlKyxWa*#-7Gzjwf}@WXB2U;`XEcg`<^@4&)9!6)TY{KLp-XT!C06-015I zV1^Y~X>%B7oAWu~i7KoQ^8(Cvl+|1f!|wqecS5lKEo`i5bo&lCaQdOJ$ukfmVEN!{ d`-A?4{{gk=6l*cpisJwP002ovPDHLkV1gjBJJ5a6t=sLGs4gn=wiHIH`b%17hn=(Lmikvb+R&I)030b;;Ok{h}Mb`yV zz)#sT`l%f^PLVMTNSbfX91cnGvWUii$&-4P84(#~_SR2Q;u!C*rxyUxpI$~$52)^0 z?GPg=Wluzr?7{7j^h(ix;~4J%(-SGvXMuN88q+5;w+oDSTDzq%jNM0qD0x0oGXZG?^mL#HcL?S_8q(_ zdkzOghaORRzZd}3O);bCIccc0fN#px&|!K44bpILqXr_&k9K_s$sV1fMY-6_z`09|(O|-Hp(u8Kg(trS7>apBQ|CTj@V1uzmg25MC2ol= z#A%wE#9DiC^qH$~sa&x_=&L2SRR>yQRMx(?<$o!vS%oFwXNfhc=>;DKJ#B$=R1-Dc zEf{bf0#o~MyMn2I{btJ*0RIm%;u=6B+*hfr?S`4mzS#?3!GrUi$FLEjNurKVyOSE7 z&8&5B=;(C|gix4}Qo8G)le5_=2sqH)PB@?QX3HKRb8v+w_8MaSpdIEEDLNhi8K0fD zKr-wEHd{&EdnA+4)y$q3l#a!)6%sdTvIWF5J~nbJg6kfCKrXVA4eOA-XU8M2L z%$)BJRHz4kMCJ4F6I>W)&;$%=27EaH*sVLi)P{k1E5lZil z_pTg(0Qt=2VvZ?7Bf$Tty_sb*0ADj^8E{YvOa@K=Ac8U+W5CkFg);BK9Z ztq9t;paTNvRqF@wX9RWQPzWG!E`J*M3E=hpQ%R1{H+SgZ>t_Hc2lbadc?_p5b^8RK k(e8o$+I_fOyflRP1;rUQm6Z%xG5`Po07*qoM6N<$g242dZU6uP delta 908 zcmV;719SZJ2k!@vB#}W-e*gz`Nliru=LQD~Fc=iSXYc?315!yuK~zY`m6bnl+d34* z=|x&C`Z?{&D?rIA5#a|&9iSQ8lmXtR$SEUaa#OStGP;0FWGy;$E|3ELlqsU5#K zMQ9k1%-=ot@Ltjs;zc7G|7D)kv&@J{GqX2-k`a&b{&;!;5dGiFe<6Pz?7riU8Cr2J+w!kPvGCfP0Dnu)Y%;fE?#& z*M}k5qjR(<7n>S5cZo7;R5&RVCC;z#5XJ3KLQ)?lQ#b+3XYq9K>BGoX@%0vIj^XTp@|QhFD){hdM=yjt4*{XQwTY4xK== zm5h6jq*J<@f7$bbvauLiA#su>TR<}7Z6n7bxb6YWMRu|Qex7D6u-R~UjnZxv8gEzM z@vsA=q`A^KS`56w8n(7QcRP!8nxP7sg_1WMakve{I5C&l4rwZTK$0IeeONCUh}|4S zfte0C@&i$$-4KrF2E--d)FfF4^gFI@ZgdN11Avc}e*s_^XgGnW^WYbBF^!MWb3Q*% zp&k&G&%;k}p`At&FcdT3%K<>Q?));=49r^@wu(tUT4J#2ac0Ea$QS^u7BFz{$^i&4 zZ(J_ss3J51e2?0bSvCXk%`nS=gHoUkH2s4J%6tIw5Jd?XSR0TgtQZjC0IaHdy%0er zDZjz*e>aAGJ&3ReM9G%0Im!XxU`|mFF5Mb$0P5uixX-x)!{DD7@PB~2b-w*K7_@Ie z2L#Zo)(=nIDM8&h1Of=0%bx~*19*L(@41yi-`pXCub%;+9MoU;U5s_t9k);58STO2 i*T3BDE*CE!{{h7rHkHcy7=Hi&002ovPDHLk0$_sr(3%DS diff --git a/graphics/pokemon/ninetales/alolan/icon.png b/graphics/pokemon/ninetales/alolan/icon.png index 8bfa8fe2717d27019f5bfdf7fdd161dc701d5bf9..71ac99d5a723e34befc7fd7f47c9d787b9bde132 100644 GIT binary patch delta 516 zcmV+f0{i`u1la_TBv%J?Nliru;|mWJHy3)2rlSA=02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00DhTL_t(|oXwNFj)fo)hIxZ|n9)`WrF9FO79JjGJtTNq*#W$r zO}5@OF~mP}{rME)Zy$&spHZZzkU@g1XHx+;7BZhL3=(48J;sEx1|-*g!8oFIxn*pq z;)aN$Y^?x$lS8i&yPQf6XmUOf5u(GIfAgNYDi992745rWUPw`I+gM2}T$hDtv5;%g zPU*q3pmZul5_h4__(^4rncM6%b4g`_iAk0m$eGiLRi zS1ZcEOhGNAkDDsM_@ERc(8j316k#D*204HU(`4TjfE$<$m7oI{<psco<^shk7Ml1{YZa#{c)gxMlq4tz)lOW_vwnf!!-E&*0MI&{nJ z=VVvxG4d&Ferb|Qe@a~u;VmY^U9=Ia#AW`z7;gT>6YHesz5-0%MP79Q(Ffa%n5_bXjLII2_7cin z)G-P$S(r)XK@MQTI4++8zzqyTA?N@`J6vQ-zJLk8fbp)UG$$~2!k)f>ap=trjPM~1 o9>546;@|_A%*Qt{^}j6{KM!l~KtFPQ$N&HU07*qoM6N<$f|)?L1ONa4 diff --git a/graphics/pokemon/ninetales/icon.png b/graphics/pokemon/ninetales/icon.png index 109cb23dba4c65f8a511146bee25d259ba844af9..15044635d06f44d210310e3aaad83a44efe12d38 100644 GIT binary patch delta 359 zcmV-t0hs>V1HA)~Uw;8eNkl{0lSa6 zl1rW@(XlaT?>$p2mQV$&vl?v2=NLdIk3g%`BlG{KnEI?IXBbyoz+G??S>0$V7r1{h@n>J5Z^Otwkmhd zAhgo>**?w!;s*1Wzn%^j?Tkxt(72HQx_$$OF4qPRFs|iiSp>sWlP3i*dv6s>r+$E` zzWGo&d)AK#$pj2ZLJsl03tMk?1Ph#j88OG~S1{vEu*} zd_cO}48{~-f{(QTGt>o`O0%EAcpoJg@1q1m5MRJt>l=z8HFc(oh1UQ8002ovPDHLk FV1hzDrwaf8 delta 389 zcmV;00eb$u1KR_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MRL+!tl*W z0003#Nkl-r5C=JNyZV1gF91jC`FCoo&@fTyY7!PMxYq2>g$2L}1oA7F^P z7>ucB2NPmo#=}DdL&n6CCWBEFYS-Berj0&~^BK(U18oV$7GQQCO95tR3NW?dKZA)r jN-)t!38o@?0h8A^iXk<1AZa-k00000NkvXXu0mjfBmS;R diff --git a/graphics/pokemon/ninjask/anim_front.png b/graphics/pokemon/ninjask/anim_front.png index d53bbbe836cffecf0706ae4fe6d86c100363d4a7..bca98030c0ae8965066454c189f6e67c01d30492 100644 GIT binary patch delta 1014 zcmVa|0$pq#Izhg3-F zQ%a@j5HG7plM`pP&TSMP3U&}W3+)t|g4Chdv7O}HG98{E1P6r^B||39-@AW#?V-f?U`;X!A zf}+FcWX6gByQmRzRn|4Gm+T0rKm{cQ*Uyyfa(Fng0w*j1pc@*QU5x>&NXVK941msC zB#$D%eo`cc*aRkKs7FJfLAzpL5g3T|cnIhc5}XqN4Ecm10N}@JrwL4Wf@jGPP{XS7 zF;2zD3_qBR%zt(O8|J{ z(5uw|sPE>+3D$6W&r#?>9_*1dio^o? zaQPzubDrnby#>a`0{wynu#&ZOL~nd(P!PNfw9Lj#K zd-(tg+Wu| z3xM~XN8hK~nhGfJXLU?9^2Y!tKmDx&2k77Re)QvCM33FBi~lDx={oA@INpgdV4UjG zWq=rxo&ntwfI*wcMYt~RlfnBdl0AUkJ!4CNZAkV25}bV^0V|R{;LBg!nqd!y0ANB= z|9_J7@X*955G7EixQFpoIe|0<+62cT0ERjRdIcXP0IcpR{H@9vsv=-;HzDm+wE2J- zMhalUpvD~$7_4ApyB7He*vuyPCuIp(F-H>r000yy*$P0eCH`TY7ck@=5xTpV`iIcs z;8_K@GLrfSZXYyd2w2|FQ~z*-RAJ6(Id4Hm^bZ7MRfi0Me*k}Bo<<5F`iI*Gd%>ix zq>%gr8)NF~Mv{Nv{z3&5|8ON}D}dx5mfMr6eNg?whU^Ydmw!-!ZvPNS6?*vxDM2s) kASLMghwkY6hyOW#1G!57D-P6gQ~&?~07*qoM6N<$f|!%vhX4Qo delta 1061 zcmV+=1ls$@2=xe%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MRMcltT$> z000BnNklKWN-m9LHsI9WH~h@-89RP^Yp76GMXhY%GEcI_ISr2cL(FZY{xg z3Z0ucvwbN%8iTOpG5Q^)wzzPdzJx(&52!qT3YRw(JG@R8 zodj^pI;Hd2t_yp`O@JCiP+SQ6wTfGfZ@$@tJAwePn>tH$uf(rpa3JC$mdb{;ylAH4It{Z>nSeoHiZ%dJYEe)9EM;D32Ys;JC)>+VK z0MIe7A!(ajx1tqsv~c@(=)s(dGO(0>;|^ta~2& zv&L8opcH04bv{ja=lWFGiAn<4jbsO7b2}YYx)rp-Fe|pNXTU*P0Xa>ay z0u&1+o5_9F#!mHu$Wzp5+zyK;C0qH;PxSc7ihmKV7)HDJqM-c8bFY#oxs@4Ky1h}H z{6ht{d%#O@z&1LQuapoUlL%UFwgY``cW$V_SP#%xw00E!#dHLt zOn(8pBLR7r;vm8<&y)P)O(YLsb}zaJa7`o+z`^xr2-rmOKn#C*YQ{O351$EzrjoMS=V54TlFpMp)LcaP!njbYI{FX)64)u zImCD<1Nj;;4;qPnfXQqLeNsihrZti32Y&z{K*d!6dNM8)z4;$TCRX(WtVHc}|%lbhDF6)N~Md+s=kb{2uK^`0G fhoOG>|E_-lxk~>l5zX^)00000NkvXXu0mjf-Q?;? diff --git a/graphics/pokemon/ninjask/back.png b/graphics/pokemon/ninjask/back.png index c4ed360b04d8e994ebf9f830fdbbb009d4f5034a..30b7b2b6e4180729bc138af5267b325d7ac6019f 100644 GIT binary patch delta 633 zcmV-<0*3w71>psdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y;@VK~zY` z?UTW3+dvS8W$-BngApM*`Je{~h)GbJ_mz!Huhl&G|!MyLyM^1 z!l$C%1O<@+flLX3>KQt_(%MQZ_1r=hEU@R>`M>dMjpy~>E|ia>%f|XqsmrID2q{V7XiC-ZlXsRs5`qymuw`q#YwTmnD*h2OtY zz=)4xH;E0SlV@+P!JnQlSfb<4{MlUH)%HaG*XmAnW{VSlI$KoUs^|5uFT?l+{Odae TM8_-}00000NkvXXu0mjf#ik(k delta 623 zcmV-#0+9XT1=R(RB#}W-e*gz`Nliru=LQD~G%!VG3Jw4O0ys%TK~zY`?UTW3+dvS8 zW$-BngIGdz@<9&}5RL$3u>d=3WdZ0y4lXr3XZh89u1g-=Dj2?``M>dM4dZ$JuM5@V=(4eX6uCigfA?|I2z-emfQ#4P z?wSDiK8lFwzA2+k#cBk+BnX0#0c=X(A|(OQ=52jKSR^2AdVf_Qk6zWb2x*OkE>TRM zYBj?(VuHv)-uF7-kr3S&Rf{C90rCq5JO+>`-`3ROhE$C^Bq(pwKkFa}Jr+bSkx~wR zBTN9NA0qn`hMz6De}tz*3&1q{;ac@T8d*z#r-X1!5dAP_#n?@(g#r$V76`$>Pc;G$ zA{Qnv0o}cU1Hys9dkusiq_luHz~CUk0S9h*PBrPsVnF@ir27PJ0S`C&q+)5wg$5wq z&8QUMVO0VP26RSum!K8oicixe94+Kh97?o6D|F=w?b94_eG(5R|k!CCQV>7F?=TriDSF)EB*i> z(Fq42WrCrnV6UNF)J<;d>)qvguZ*oMAOwB)0l+x~aR6}6KqL(5t?L*jE)S$>Q%HD8 zU{La2K+FXtJW#1j^QaDG=e7b&HA>8DO)d0pi+DDfX>o0Z7K18ElWXd!_i))@ z(`YwE!O*m(K{xp82DGTX=KvSDJhSl-zTdxJbA0g|t|5p5fZVTn+h2mo{^}jpYM?uTB;a)b0000O{3N7L$(v z007iUL_t(I%iWT(4uUWchWiE=R|k!CCQV>7Av`Awi6dQj6<>gm=!63_WrCrZacK_3m*RH)|j^scEMQEqYm$Ceya3-qLY}rqOPSg2A+=fgAk( zLR!>|b%+Zrwi|Z-{$T$SZ~TUn4+0N>FKeFm=U}uyo^4^Dp^K8aee6SL+uFy+_H7Gi gU-~vb69#kMlbV!1t}d6@LwEGhEK?fLw9I49Gkm z7=Uy=`V7aH@9$Xy-5>@o_$#bgAqIX1uz&&ncJJS&Sf4AgX7)B5wq^kW=S1YwC~6=m zOMvz8Ka%E^N`&Tr%fv?KvX04i5a1vCfLRWOrgbn?Jq=hY5~lLv?fY6?(y zs46)r{uZb!s7sXcfHpy$p*N6QoEmactlJw9vfAY@3nSQxHo(LP=8Jer834XUrX?WR zvx#8XH#Ha}6UGQO8@)wgoPZLDn&_YiZMt3IasnS3m`}jtZo(57z&za%LEm_e6o?4| z3{_AZC!mU9(+J=Ph&4d{5?e6d2NsZ=VvdId6TqO6g8n`*u!29UZz12PR;?o>kN^Mx M07*qoM6N<$f~*SEIRF3v delta 515 zcmV+e0{s1}1lR443@E0Tb(rKWNlEMq+6r)jFVA=jVn{v)--K5 ze`NncW8Cyz!OFq)5eMU&An)V7cN_;}{}XmVr_b#(8k~Y4OMlqnUeF~%vFH;e074=B z8{+xSLWus=4lx4erF5j`C*bY5$tL}bnqL=^7VS1 zxAgabK==VWQGaR9d6ICqu*!Yk?*~?vUqwrQk^6n=2eVwBdpc<0_H^@k&Ko+wso%6b z_ex+kOg4jUDX;Yc+|_`k0N0~Y1iS+56~RdBaa;wqkH<7%Ruy1la!8Eg3|{eDcYX^- zrQ@Ox;Z^~!eBhjl4tj|r)0uVl=mLz**ZG$zBSjlvV0;9V>8i^v0DPMM9}c8*9w6vN zrUKoxLyTa#ESIRoDR4o>;K9(L&A&&u7{Gf84B&Cy;Ry_2lFf)9GOi;7s)GW(B5>jq zc$hpe0{8)H42U*>coUdHx{3)d5=;OS%?w1FK$ir67GELXs8+fU=^g+8002ovPDHLk FV1j|G>Vp6P diff --git a/graphics/pokemon/noctowl/icon.png b/graphics/pokemon/noctowl/icon.png index 2aa500da71c8b2a7cd2227d21e461da342c8c1d0..764d6ecc0ffb3b23e8e172d13fe1610f7363ac58 100644 GIT binary patch delta 246 zcmVgn@&Yq`}X*bIRqa%0F#MPU4 z2Vw$D6l+o#OrL;5|8fG2Z~XG!>z~&zioU2A>q9V%YmoI(PXW+W6alD(3P7F*Vr8-0&m7SeO{3OEx>v@~!4 z007oWL_t(I%jJ@>4Z<)GMYDm$0?7s`sF~*~WOta#DJio9NVIIi4iS=*DmF%PQXn4z zikvM50CDBh+4{Qwvh0h7F&l$nOu^P>79(J=sv@AdjDS*HDu411ld6@P05@!9?Zpgk zCs~g`!4dZZ1#ERWv|tEWpO-DrwD+;!2nrYgTnhp`01t)&two-bH{l5uG&|=LAO~Vz5H*?KMF&e^r;_jVNBvjQ_${t7jk1GKd>Rf iy!;4gV?Xe70~HS?insOmEZzJ70000p&c diff --git a/graphics/pokemon/noibat/anim_front.png b/graphics/pokemon/noibat/anim_front.png index c068bb0aa548e58eabae3087d6c5c7f3350d0999..fcc5190a313288ad5055c08f7775a04dee37323f 100644 GIT binary patch delta 936 zcmV;Z16TZ-2#yGlbbkYcNkl3F}v+5l4<0H^G*gZWcos?lo0F|=Aw6bLIIj!(NvP4{eontU2{R6O~- z_uM#!12riTnEv`nn1N0>DfdJ;#V^Z3HK*mMiGW#v5GwYXp;ECJnFR>pBc+4e@`Pj+ zu(al#DzDD!0|hLKR+oe6N&C{auDrGU&wzul`ua0imbo@rscfC8S8L9T-?lq z>by()a#l*0as)cK9hBeB^a%5~;Qe91tGoUC+eJn7k4xxFcYAk#JN2hb&v6Xyw>v}h zHzf{I+J6saH48bn160m8a$Z>T`k?T#vHvzTC9Nw#BRnm25;Q=d zR>I@N^J;6js8R>$sGa9y{AlrL?mvOKwn%+iI1i)Vt|$XMeCvU!=+EH0EP6t>sd+%HI9Vte3U$NBD#(FlC(pi1r+vmyrr0I(=riq?&Y zGMxzz7HHcEUi61Hpt5!+ppG&f8j65+ZM1e9pb~U#ZU1I~cwvIBt?eJ%OVfTLpj{j7 z-vUqsNM--^fR2X&^RqR$1O{3ONfw!<}aU00VtVL_t(o!|j$aZ`(K&fN5~i zcs62m>0-u#ZzRIVHc%~g88m~3OXLS>$Yy}J!P6N69rOkPt{@HFibE0f7u@XWuFDnb z89AJORG$<#acfduJA{A@%kT3eMLqL-ggg!FX#8aSy7};_Wq$@9zHTrJ(Aj2c*#IW0 zIO~kL8IUE>VBNMEXt47!0QyT!6?6iaNOKF;;)rNCuwVr8^ zRzRL#cD0@!*#JHHH0tPR^7-hcaSbPWQXnvW{z;mFPB1BsWH7}y%SJV)#i)sZIRPP5 z9yJ54BRS%hGJg;wT@Jymg_2gl(i(TFxQ^ml;8yF*Hb)xh;O66dtvU7f89~XQ7oEKR za~=7F&SrZ+f5YA06?-k#FeJpwv+sdb!A}`uH}BS6VudG*U_m-UKU08X4GV;8$QFfK2a^jvCyQ24}^IDgy4eoY|GsuY>Xi;YslG9lYZ zAq1fn@v@I$HLq~SIzkK=JJo`5PWx(BC{6_e9ef;AJl^RU#&N^@Ltj)^$9%8gs$aZ? zzT(@f?|&a>`6`lYTm!$qGK~JFz(p#1QC4@M=5~Op`9{t2ngh_wMN#k?z>Ujos~Jv6 zs9y(Atd^v13L0Xy)TN+40<|ezL0q?X4vty)0UL-XAwJ3dN$x+C+}o4S&9<(Q`)JhG zwQ@guR;qVlm;2V;@d5ekuok#^ua_&^43UoXhkw6t6}IE)H+>cS{b2yMMbfK?_0}(3 z-?mDMn(N)ZaD!zHaQ*)p>{GBY`~AN^zgyf=C z>x|?qJg-nQ`&pj)bClu?LT-B&TqxyjQtVPJ3Cad55ovj^hWIMtL=6A+)vws;zBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gFjQK~zY` z<(08+!Y~kqjXYNhv@d|$2SBxv7|f8wZxC7VB9%H;iYjI3TX{88g}Rh?>Df+ND&GZK zMs7m($N$~MCa}MkJO!x5#Xvp2&&@x8N%0FXSrfc0P5|bJzyPL9dGr}+0v4yE0K}T& z2QUQ|QBLFXZ-b)J|`=-eL`hU-M z>M-`_Ql|i2TnyCX^W6Ren22A19W=p9aRRVM1O_l|%cEzc2^gG?e*zF|#SdTw7Ew;q z@Z99A_!h9l#e>+0eA(dCe4RB*Juw8F(U={rA0W`5QgON4ywQd@+x-(zcTHMS=1QbPss&Um9I+kv??-2kwa)+m002ovPDHLkV1fnS!OH*u diff --git a/graphics/pokemon/noibat/icon.png b/graphics/pokemon/noibat/icon.png index ee3641d7ab6569525935874e65d7c77ca3e85cce..90e10f24a79c7153d473287b4c6141b00cef8e9d 100644 GIT binary patch delta 273 zcmV+s0q*{d1Ly*fV1M&TL_t(IjpdWUX#_D0MW+LGnM)wk&~_pbor6B(E^Dxi47^7p2r{m^v4O#2D7A!SYdzT+;1x>>y1v z*f3lLU>!R=gwcj34wegw@vPh~*HUx$0ML`}y&tP+**0$@X@A{+k{(99zXYU}V>HrQ zok)^CokrGk`A2cS?8L%NA1qX;h^?p3I3#m194wfL;!O%4ol;&4K%RlXID*&#O{3OYHWIiDl| z008hwL_t(I%jJ_nYQ!)MMSTO^vYSG4p}C1fwJ!R^x9FyY@hVUxP&0)YE7^2is#Wxm zZCQS4?au{`Q|{xG^JrOsi&AO@rp^VB7{f*dEFT4AOSjLtf`2s8VH3Ctz&clW2&2!O zI9M(y;90p}uI0?l1HeeS_r8Bc&%Sz}Ma%Y6^Z@bx5|CcD(MaocB1!sm8rjJ9kK%mU zgA2EOccDr}Y$N@sLoyfOV8PKSUZwakDCM;X2~$1nZVOk~7WiXXY$irPV4!_kkB(}=d^mw)aN-*`R2OZ172#{d8T07*qo IM6N<$g03HsjQ{`u diff --git a/graphics/pokemon/noivern/anim_front.png b/graphics/pokemon/noivern/anim_front.png index 3f0244eb58e09a05a36325eab61c92082914b1a9..e8a51e7e56cbe7788784b31f7b6bfb50e0fe303f 100644 GIT binary patch delta 1640 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 Hu0mjfenA3X diff --git a/graphics/pokemon/noivern/back.png b/graphics/pokemon/noivern/back.png index aeeaddeb51f5ca5794e5f3fb5213fbc3ec682c8c..154069bb083dc5b0d38a55ee1bfab767fefdf188 100644 GIT binary patch delta 575 zcmV-F0>J&31*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z&6GWg<3JFFrQXQd4E6y`E1E$FR&ChW9^GgI!=6Go6Bq}R4Coln8VVgknP8|hY*qiL zW&I##U|}nenyydpJ(XLIzFbeU%TVz#EKlD9ie7m4UBG+%IIIA1@wT4@ya%mjfrAIO zi-7akEdXi_IJgkJSO{5v9G~1`2{0z)P|OX2_u0gNGZJ>6BrJGZ0*YsQo6d6Q0DoTs zj;>$iYrts|;Z0HX4wDeE=_|EW>M$E3Rz1K%YXBqpEbvqL8mF89Y8A-82t?a|55#Iz z2H2EzsSF^-fSIJwM5JW^&SL3q?1d%?20n%k7HH^l7f?!a=q3CV1h|r*bs_^`1*+=u=>VNxwaDuFd^R4^ zN4$FgDtec!J!4BiE=LBIYA)C!zShZeIF6i=yV22$6ss~(z$_d>v#I~;A1CZXc z;6NioWQzeHtc5Rs4agGj;UsMOcW~8U`#JzN9L_QNW&r93!1NpRW8lIUB9i^!9m#Y! z3NUln_YoV8?GYQ|A)}Dk-5vmXLMFq{THdUNGiWY6szE>Eej8lcBu5+y2<{oc{2C1% z%j`iQk`l3^erE&nNqYQa5hyWp0!^1pzc_Bnj8*7)X-}&fjQ*R7qQA@G$$l~tZ*c$s N002ovPDHLkV1hku`>g-~ delta 561 zcmV-10?z%X1(yYoB#}W-e*gz`Nliru=LQE004f6PYP0|V0s2WqK~zY`&6G`Q<3JFF zrJj{{3HAX@Yn31xMs1k29o;Ak!<<5RCoo=Q6VNfdYbbOG?F6RIkm^6Reh~=_Of96Q z>(hHr<(8x9yY)1?3>6>4^7Jzx?}T?h1-!?v!wL}RZ~Ixmd(dhYe>iwxy9hXs-2x!j zfP)L67YiZt&Yk)?wS>U(yHBLDJ8X!CFNIm(y3q z?3p474Se<;EKt+s&Y3Y6vL;Q*Ch6%$o;J{u42Bi=m#CB2Ji z&e#x;@sWY0>I*iAuT}CKj-#;hSIb?n#g+is0WL!6gl+<{f2pdE0Hk*j9B5>S+M)+A z0sT^dTH+&|gv|qnRb%to12)&7uWkmQegI6rMn48!_(DXo@4X|L_D2C`4*M=*ji&k` z1{oR0_BH_M37+&nYkspD&Y-^NQT5Nd?l-}uNixK~07DO$U!$gDDFy-&=ZGcsTN_ZH zq~RY6Lyp1;C)8~+{o-_!3#~%Wb9-8O^dHq1%i+m>8;{P100000NkvXXu0mjfH1zum diff --git a/graphics/pokemon/noivern/icon.png b/graphics/pokemon/noivern/icon.png index cd99373b86b09095430a8d7f21bcb971fea724f2..e1cbd1b284de9da0615944a7c2271b06aa653494 100644 GIT binary patch delta 361 zcmV-v0ha#e1HS{1Uw;8gNkl?J6=rhSd2-=jPHSf?+`q6lH&URrRL>;sNk8Af&sb=x}SIFs&!;%DCr;AoCz{dE}1*H3qTtw4sU@HI=&oYNSB+w3A;gpppiJ~%kK=a&Jpo_>N%6Z}6UcVCI;$Uyn-0MQ!n)aSzk=HQC;_WLYYXrk z^?HY9H%fI7$6`5j6C6w+*VEX=EMx}Gy-WKQvws>tl6!kc^#ig%W*{O;+reE2ND&C- zEV2k>NlbFN;)5UUdFE0ekgGRP_@RD_FJlA|cZikcw|@KphtCuMfubLP00000NkvXX Hu0mjfW1OTR delta 401 zcmV;C0dD@k1LgyeUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MYlsVk_fO z0003=NklTrR3`V(u#RV9N?u#^YfH^{M*i|>ph67~5S*8cD1FRY(e|0ka z4V&q%jSz?@$AQnUDE@R&H~@VHAhrv;4!0^mWqGsfR0;F4Ykvww-}9|p3%r4fPyHT% zZ>Sb9bwaJ6+*))T+t_kGG~Ff@7oDQE7wTr}h;q%=SqC+$AZw`2+-x{B3zQ?ye!+a z1VJbwAk$i~t_L-C06RcC3(6sYF2ao7X$2dr595XL1jzWdvLw;8ce}D$#GEpcsK257L(*6L75iG4Q0jBo!3egJT=!#QRr#9$k?< z$u;)P>?I4@T!nY14i*U5lzCF?QZBog-St1Ke0U0`zBwheF~9%dUyt+@^NfaKcS zNhTKtZJ+i%f#ID|?XMhmZTtXKMG8cEX)S2QpvFlSFRiC3CrHXLXWb~gZ1 s04)}S*I!1!DXiEH{~!L>Z`Wk<1;#tlT}&5AtykJhhaV1Fze;3T(AEgdMSPcofX(4+uuelEf$SBNqKM?#8d=On-X>oTrUIgJ+?*2eDA>ddhkGafB*wHof{8I zluqPePU*m@@r_hs*hE1w0xdVvl_4W=Y=$;)r~4!|6r}^l&i9G;ularSMRF&*&`1gc z#{h9&tyI)$*C?)&0pUtEW57uy?Ce)r1kn0nM0X6ZAiT^jW3;;DW7r2oV?U*MV9=b? z+!IJ=b{IMAkMRRg7fo`pqMHow3`u+L>#yiqo#)w_700000NkvXXu0mjfOUL1S diff --git a/graphics/pokemon/nosepass/icon.png b/graphics/pokemon/nosepass/icon.png index bf83f42e7bd6ec363e905f830bfc96909afaa919..4bb333c106a7ae14f58e607343ebd2106a91c34a 100644 GIT binary patch delta 199 zcmV;&0671~0-pkqV1KGfL_t(IjqQ>#4#F@H1pNd5GHt%GNGNWh$}f0>ixYe!G!|8K zfr!O4@m)&?;yRDk_MS8${N9lM93|fzSS4S4K=v-ORv;FrWRYZUaDnW`2JStnhn9$^ zPN}1Ak371L(A2=(&plDD8;HxepvbxX8-YOt224l-1Hy9xVL*BW9eAXz9vKvV|2O+j zn{N^Z#R-#8;Do6Ld0__0rbiW~8f1luPm&+|@dB(7pKSff{saI3002ovPDHLkV1nU! BSHb`Q delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3j_{YgG*rm z005~;L_t(I%k7de4#F@H1pNd5GHt%GNGNWh@-KLUixYe!G*+tU0#O!M@tKki#C0C6 z?bT_V`@JFCvzIhAV3l-h19EI4YXM?`N)id?1{cU7R`BRaJ!jQ~zjR8CxBTO-< o6=slRdK6)bK~@;Qk^I+y&8d zw3Jwc4yn**2Z@h3IV!&K$0OmvUx*(YNg1r5i6#co4NetIX!Wg91>2~-D`u5eq%oM4 zVlbFt1KlQQf_EJ5U2}7l_6!cY#e0n@!9JkUbpqKPBTS7xeMmzT0F*BfaSX6$$F8%d z9#?jZBm(%k8|AP)EdKMHuMeiog0YtOF@~&<^^)iC7R(2IJOBo0t=%@rEhzv1002ov JPDHLkV1ic3T&(~A delta 241 zcmVO{3kEhow~>7S z0068>L_t(I%k9!J3d0~2#&K`pVR{x9mz?X9pi_o8BnL?8UMTH3BEd=_Lt4mdCj08z zE%c2)M0xTTVrL_%fEAP|F<4x1s$xQ`@0F_9iPpPnR{4lD25PfX41x(8=srUiz2op2 zx`%7DXK*?^z1K(?juDM+Gsxk*z_b|iGei+U{Q?COK@Or^QX7!p=bm{U0;`j3o9R|7FbQ^AFt~uI1T0PU6)^M09%j^-5pFi4efb|P znJi^O8M*`nY=?kcN*Twt2fhq}M+Zo0tp|So4frty^d8|`y=91h#Tf7w9DsDI0pLRS z0GuPb_M=b1oxX+u$SeUl4uG_`0HAD684e+!zy?5S4H2g3fpw+>Ad3#Vs^Hi)%O9l% zWjtWEoGj3$2iAZ)?RCYNt&Sm(t)XDb_BvC|&iAP`0ZgUtbeA?q=z8&!au1b7)+nS( z?TEFr;sI{KMBZb6^ZRsL%GUr4reLt(G>h;)d2`+)xCQ&)rON!GwA~D! z42x93I)HIP%m`?p)@Mc%SBgzUJM4VRZpFU>hg*7t-I#6w``WoQ`!_XRB&zGP)9bf# pvIWL#N9<`Wzu)%x9+Sb?AH=aZo*X*tWB>pF07*qoM6N;tV1l*>{OSMz delta 547 zcmV+;0^I$N1&IZaB#}W-e*gz`Nliru=LQE02q{xMu?7GD0qjXcK~zY`?UlcZ+%OQv zwS~ZCcDJ}dsS--p2npmdoY4ZVgj;u@sTmyhlW{COrl1H%ACO=?ATx>xrF&qTryh_8$F!>8)D_Dg;}oQFfJ!)7 zphXXC0r#oXC1a*K`9Qt}&7|pdCYzP3GffF#GPAq;tl2_ae~assy{IfON+M-yTbx=e z4&Vk<;5;^8U)rW}IRL#bDAb&K;h!gO_Im{Pp2KU7=9BS8KD^i&W#(67?CPZHGi#p?BIIa>nb lwIvQTm*0}N8UM<^j^D(wIG%54kgNaz002ovPDHLkV1nLk{9^zB diff --git a/graphics/pokemon/nuzleaf/icon.png b/graphics/pokemon/nuzleaf/icon.png index 1800ce0cfb13e753b906c63fa1f13b61c6d722b4..524fc6db2bd4e230f69e394d3c55ec7ec7b1c9a3 100644 GIT binary patch delta 246 zcmVW}1R?Ag*XE6dm55F^kNM?&Li|`rddd5YD}6f8IxI+IULh05^J~i|3{KT- zf>OCE-U;JsX|@V_Mq_p-6#Tk6mLN!D_m{GO#nf1P@HzBIZEy1dhX^9&Sj9#;g~xmC zY>U6#Tw^Nsj6UlUg(31b!WP-hh;0p<#lMCm{>uc+f(d;Zvx*5A{;f<}o_`1!bUy%t w?gwDN{U5=OmHCwcqFC4pot&Jxd2sK>z>%07*qoM6N<$g7E%v#sB~S delta 284 zcmV+%0ptG80`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3kf3K^;ypV z007oWL_t(I%hi%S3c^4Th4%#R5po&RS|zo|7;KVb$YSss5*D-nkRXeN~KHYX^RC(EGzWF%ly{J34gt(N=zWiD1Rpm>y_OR z^bFSS&nS$W@>GDJtvg(c92Rr!+;PmHM;n**I7Bg%7ZqFbgpVJMcMaZh_q8p>G3H_l z6#8g%k@$~x#$s#Oto}7Lw^Lx26JTOd@dQR*s~3&>1Tg4+00!L;z<~QNV9@;lOvOq9 iBb?LB9@l=Kj}-@1k)l18^h1OI0000JXG!LAM6qC zuDjlmMl-&j&pBKS(f|4vMMxsQgZ-F7dLPA*gaHb7B!;`c02F{UK?w;^$SCB|^)^un zpn<%}9|Iy4N&tmN*at0tqy$KpkbsnsE^B9hM}BdoMqmvQ1kfXw^V)VmV0Y?%IHMrtRZ6Mjk$0lLS%7f*(0jm_RuTq?`P8$@ z15Rzx6k~-=x_r?>Sbgn4<bWI%+M0}?DS``IB?!qMsFyicv)=!yzm8OwA?gt1PpN&KbKkB3~FKEqsVyH z#G(shXhH%tcGPZvR6szRjHLl=%_=+_4&v%aiDR;xRbO4|L=Ob}atwZ70Ym@&U=NhH zUk`|l$FCMJ9y51jT_M9PmAnvCWshTT%1}5n0vAa{K~zY`?UlWboG=uH ziFg4Lwn&-1Fw|^}v=k|38BZP{Kl1>r;(o(Qrri()7d+S$JXGxKA27m6l`eOrDSST8 zId}{cMgQj?3?Yg74(c(5^e&1a2?G>vNes7t04M-yf))y(kWt8^f7km&C4mO=CVvQ+ zRA>Pd9^e>^P!^z4LI%o0r34L>1;8$_7)XnqmhnoLliUOh8UxTb$8ZB3a@;j=8TsZ; zt-(?v2w+C8_G>=@fy0G;TWtj?U!|0;GIA#8ivx(D_nilPY!zXFSd1O7JmAt6tYCSq zfm#Ue0nLFike|oCf3|=a=o%;_08li%PcUH%&`aAw0pthgPayyZAwmK?(ZCDAxiJ7^ znYwC}zzcRr?*vY&nX>_;t}}+W!c8iXGiz%LV9k2bgZhf!XPDt}3S2e+#`BWXH)6vl*;m2nE!r z=&R8I0TVKm7I1Ub<#~UScSlOxrped!t&a3WP*>aF>l*00uP1k)eBERW=g$t9d|d+_ zeRP2Eb)C^QMQIMT1^gf6xw$xC+5ni*9a;x$Drk$YfK0ytYPS!bMfC}?=LHbk7Jbz? zKr6n55E6iUM9i=U!fPR)loepsJqr!!40q<%K&75?11zU@$@qyt_Whj?2xoD^_e92z cfB&QV4dj;$Lt8!2i~s-t07*qoM6N<$g7anmVgLXD diff --git a/graphics/pokemon/obstagoon/front.png b/graphics/pokemon/obstagoon/front.png index 519b6398d527fee1a13eadd7ec98b986f41ecff2..c7fb15849eee9a961ba9aa54a14a2318181420cc 100644 GIT binary patch delta 774 zcmV+h1Nr>l2JHrrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>(*1K~zY` zeU-m&n?MwR57D8@RBS29%EP8Z7s4aq)Gn35an?G9-6Y%|Vd=bDSn|#7luT7SrECAe z-hmw(IQrxP`F(u%?%fYaGc3y@{b3Oc!0yi*wgCWMzhqz!q(DmGgI)l(%t@wa6e|Xm zgFb8EN&l|yt-&fb7mLN2usR~_I?)hK8%p&KDK8h{W)T8aQ1Iuv3^bqAc5 zSEcNbMKGul`nwQKSLlN>D5GKyqJ;Zzd4yfN6qtgUm%7 zbpa!oB7ZsnA$F>~DCFgL0FW1*ZeJYlolv4&53E1DJwE9HuOBc}UX(4_DX?8{MLkc& za?u7ZQ6LRryaOOayGo2Oj_QqaQLM$5wgEHT#rp;irL2rvyXyUJ%~$cheF4sbZR?{G z%5#f{mx9@BC0e~k#G}*XYksHOmPfn@k^DE%tObPp1E7Ni8lPG*^Z)<=07*qoM6N<$ Ef>^I-g#Z8m delta 762 zcmVVi|K~zY`eU&k9n?MwR zL3F4x6-AOPmMpMnI# z7$bVW=K*AJnq=T%@b~u^$&T_oy5l@Z(&QAd@QeTXk89m+e`Eo2S;qi8w^2xcc=r6u zw?bZ)5OZh)hH>`nTBP7rpt?UT;Pu6~M6s`l0NgHM5Fw%?U~~XWD4=rWofVANp9(1U zHQ@FDf?Spk(Y-mf0k4ESY9X#Vz?sTXkZ?k_LTojFVIY!1gy52)5JRH7;H0=JWQE)S zWhz?@VEJazBY<>p-dETk^#j)>166Jbe^Wp#FlOFK<0aJ~OaH1tU1$LXAsP?H?F518)3M8R_ z0EB2~i80a`>m6^zjqO8@`>07*qoM6N<$g85-<0{{R3 diff --git a/graphics/pokemon/obstagoon/icon.png b/graphics/pokemon/obstagoon/icon.png index 843914a55e805509e0f209ac8cdf27bf5705a692..47edf20f276b0d1cde0eb285d61494c5019d064e 100644 GIT binary patch delta 359 zcmV-t0hs>f1JVPKbbkRzNkl#tY~SzsH%S$NO%vo@t@mA_46z zl8>$;Y`uTxXKZ*xNWyEHuZ4ta83d_BK$wCqz&p4yfYY|IR06*&#)k74Wox zFo4=Q!9tjsUQ!7IVGWO{3k(elQ;^dD00BrzL_t(I%gvHKu7n^EfW5)Q z3uwaYF8FKs$?>hpr-Qy?J@WhK~{E=WCj;EeX{&2vUiFFfFKiWwMsAb&a)pWPcQc6}J<20l^& z`&!W|9a-MFEJmXvkzPFSfF0_AyEd}YI{?iSV@Ex^BUyn7uq75c%UKh6rZ;kVYiL9S zIRi)^Dk(eCh#Te#umsRl^k{3C#Qyq&6X2Gv0HUogS6^l89*ES#f*8Zc_@w#U1@(iF z#$DyW{NV?3Epw2h?P5?$FpkFHDNIt%%%i_$VF115LAxvrpe39WIE4Xk*L1DQ!hoT> zw_0Uk7Mvd5DLRD#b3@dUhH?l4sGSomgqi6jl`s(2@F`5Fg@OAa%vmr@yB~!x;UD<% Y3vRMc%y?=tM*si-07*qoM6N<$g4VL9p#T5? diff --git a/graphics/pokemon/octillery/anim_front.png b/graphics/pokemon/octillery/anim_front.png index 564c0f3d229e04e8b4bba1a1aec03440f46718d5..f7e1aec68d3d91962b0e133086f66da254656256 100644 GIT binary patch delta 985 zcmV;~119{*2)_uBbbkZ2NkljvbNCt-XW+g24J|zRme3ir&xvbw=qgSDvQ7 zilthIiB$b%VW}2D>q@D@0_a%)7%$bPuz0EvAf;r$`c2#zDSv^V+u9GHd)uD}A5hq* zf3E}oJUwB6f`HQNfh<(H6+ysY2)VVUwO0E8e7UH|evarch#QSB=as|Xl@}`|b1hwl+SX-T@GBI6T(?!z|*;AprUP;fKw;~|RJ08lCd zyg=j{CWL^Z@P8FDijvLi zRerZR0ZE&J&Tv}xazR02zi@)LFF<^UzG*&q|fZ)?y`+9p#C@F5Ak*MKzt{x+Rn+XsnWR z{;{Gwp??gG9Q&GHea^nFK7T*&=RZEz)dN1CsI^$6VPH%G;WjKFqCb`>G0buk@^kY^ z{)tzIxeWou7rt7o8Qi2tfVO)`Vch6htp7d=1dm85Y&FjfS`fJ(;LnY<87Tyh!idX; zmp83{9R%?5sdu#fJyFKG+r0PR9V?9CTI%){0)Gc*y+G1k;`ayK?yWVR#l{5bgXaJc zB@Enu<-OxwzB|6qtzV*WCK+#vx(RLPShGIJ0^9kND(Z(f0234t@zKIt0wQGKihvN} z0vH$&eS0%47#LW_(lUTk#Vr%BraHHv`#%^cUn8mM0JLN}KosX+jS;ThS!clTPAxTV z|9`W^Gr>*Az`P~v2xLbI(F2*xXjh#Y-_0 zXGvc;%o72Q-Hk64NW}Ug!8}jnpoZX~5`fJ>N00000NkvXX Hu0mjf=BL@$ delta 995 zcmV<9104Ln2+0VLbbkN`bV*G`2j>O{3k?VIok)xT00XQ^L_t(o!|j*BZreBzh7|#U zuB*mwuLc*A&jwxiY?zC^*4&KLYXp#LZh{kuK<_Q`1OeI?DArHenUNej5t*Q;qCjZC z2&_*-4rj>!PZYh5-!;zCzn*!Tz7b2c4il;R$HG!Ag3*;yg?|OmvjA|hRGY%$s6v30 zk^$=vac-mper{_&fYaMyG(MoPcVC|eKHc5n0tEr3cLs`3LWc;@ zya4zD#Ddx|3j%S@olJnp;KLZe0#gU%2869)+|x1EcgArvb~Nn7=t#W<0`iLc*N@a*78QXMdQhDFRRewsmsc@H2^k7Px?0 zwT8ZCu8B`7ahRerTP*0D=LXV@(_azTs4dSM4|k3f8db5lFbWeXZV zJWhaUqE_6pIkvXS7K=0t zT#!My3>%2(?K&=SXMdHk?v?lYhhv8^mZe^=5ZF8G1(N;} zzuu#|ch-1>jS2Dx_W>YE7`Xn%y5kk!9bf3yZ&5gtjFqBpL+TuB_6J!&osZI76fXcK zXdvQ4gqIA2`E>&!#3Nu7Kn&&0v|wQD4s5UY*i~FIA)eX`(8C`Lluwb=^Z-UOJs^tH zqknORvO7B%6;48<`kx5T1eK0~c}LL^$PO0bAiE1TAmVlnrJy`oXxSONgY2Rd&f=_8 zYFd&qQ=HOu#tj>ipycz<%MAg&_V;ZuG{3u=l6@%2hztOkZw&_*lTX&%(Y+Dr3rfdK z9QGVt5O*{M)dRu*C!`O6kr8;7w?VO%Sl2N%>C0&f3hE_2x56E(e99bJ$me=%3R zmBF>St&)r5W+u*(zi^l*0=#y2@yLNh>@O0`^P!!b^Vy3R+yxnvSN9MYKLMQGq&rl4 R3K9SS002ovPDHLkV1n7m(x?Cc diff --git a/graphics/pokemon/octillery/back.png b/graphics/pokemon/octillery/back.png index 543024873b2480912e322250c735ce62acf846fc..dabf208f146fa2b0d67616228879c3e7ec346556 100644 GIT binary patch delta 567 zcmV-70?7T51)l|wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r*KoK~zY` z?UTQ18$l4pPXe=TT%~X$E}R7>jlBUCu7b-n;b3lDq!Qf9rF>#FsSSa=NC=2@F7*I` zJXL1@-s>&(12q=_W<%RmgO*oP8~RfY8P3cw18S? z0sf?Aqc&#%`i-D458$7loZ}4e{_u-|K}bq~o5P_77+eaG0AGxM!oVQ~us-~#h607q z32;;Cp}=X%5@CETDV_C%Kq0E0AXtupqJv~vhk2Eis4Z}<`eDt>(-egR;)#lq;iOZt zyBBQ}n&IPLq!Mm_u0pqB4+ev1fFBb07)AwS-A?-d;#CxX0S0jrE>?T=BIW=9002ovPDHLk FV1f#X0j&T4 delta 555 zcmV+`0@VGV1(5}iB#}W-e*gz`Nliru=LQE04gg2gj_d#c0rW{kK~zY`?UTQ18$l4p zPlB**T%|}OE}R7-O}qgWu8hkx;b3lDq!QdJrF>#FsSO6dhzW>vF7*HgKb2?y-K}-I zdI4t<;@J7|%{Q|%Me#1r*~e^Xa>jqRho>AdxjcLlB;}8*4Dk7Ie=RjiDZi&BCWj{} zm#}4GlL4dw@QYlgfh`Nj3IIvhskqo)GoZnon^^+r)*Qb82izrqo$BO;6M*JEk>R`r z@^OHNaSowiIQ0AHNdV!`*aWo$paI8#9suNK%*$gJI?li@R6EN8r3KU~3-Bk+8?`|Y>J0GB1H8DzkRw6|jiSjRIAXGNP-~~K9%jS>WOe~Mzjmy!8m7zw8vVxc zQd$YM>497Ofo`F!S0}LvRg)bi9R$e!Sb_=ayRHpj=Y=XS#RLsKvw-d`k|Wk#C)%>l7MeBSa_-#j7g(HtYehvVzr9yfs+{c+## zqA`N^)k#Hp;dVV_sUWrlsLISrFoOq5iJ2E;fdhO!n_Qz+$3Rt20+k4cwQ|cGk#$gd z*!W0(Xqp^|-c)u&$#43f;`f1}J_9DSDKOM=3Je*}fbpCHLv#gZc}cL}zzn}X6|}Yx zH}c`HCVK8fbt4}WLR7UQ4gl&2p$ibopijWuM8uPL$dzQaQFfk@3Tb%&ECNP O0000)2QpvjTyAI;! zCXN7AnTbTxXP}gr>0vDJK&YpXZ?v)uRP_j`L^Q0Gzx5G`Wp98>hZOol^9g>a#SFz2 z|F`Zh40Q`(Vw(#?mUCgq@IsitxiCamVQx2x?pK)p_s0#bE5r|eglmXittdPAF)Bn= wJLmwQ9u>L(v5fizOoxaBR1lF&2f3dPKN#<`Md5t*0{{R307*qoM6N<$g50=!YXATM diff --git a/graphics/pokemon/omanyte/back.png b/graphics/pokemon/omanyte/back.png index 6a823cca814a0e984f1b073517502c1819560138..d65b3e5a17503d57982fa7beb1e0b8fb93b00f35 100644 GIT binary patch delta 476 zcmV<20VDpn1jPi9BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iH=jK~zY` z?UON5!!Qs;aPl0_x}Vhpu_0K%)t4Fr3IvIlZe(g3mFGg^&PfW{mM=+MT9{sJBeY~&1MGKK)77&TDA zgT2X>A3zEG+yRSt3}BoMoH7Lnuo?{XF#vA>9rzpo>b#Bvj9MRmsK66|%Rxr~`tvtI zp$Y=Ql&S+1W@Rud&4aD;+Xe-7e^cWiVb+Bu3T?9nI|O^r&YpWiFk_T!davU3W3#(C zAPyG-_ZlwV>bw0aG9?Jjtkvb`cE78mQQ6(sti9gun>v<+a(Rk&ecSYatmrN6a(&-6 zPph6$-6iR4wph(KV?PQj;ohDVhyl6kUN7?k?dBl>L}x>Jf%awaKu`6jm1SS@_laq& SpRDu%0000ugK~zY`?UXT6!!Qs< zoyG-~r7)(}qER1o0wXR`@Ns4rTCM6P+6hV|yGdY$wlSF?ye?>x7N?u1tBuw#9HbA0fbkPHxTTV+8xNL;yA)?yaqv`1YV~kFr(eU ziem|V5$cb5(xm8)G(g<*j8;VoFqi`Y6WSQjU!X$*8#%+6tR=uGMh#T(U~h8W3D5!` z_rN@H6V}^6l_@}gf1AO;oC5F-U;>{1kLH808EBN12iuw=PH__ncB@z1Z#V1#muq8507W*`b+qY%?Ix~7l)wup?Ar) zvbpRYnALx-i^gI776(}KIAHKc929^hgs#)O;SzfN;3VS+DS_X$1GTbwMwFJvu>b%7 M07*qoM6N<$f))T_LjV8( delta 250 zcmVO{3lkSRYiBnA z006Z~L_t(I%jJ?G4#O}EMRNm_-lSwKs^s938uu_I0aJ6Wf!t!GAfQq^si3Nxk;Mra z7^-IGC;2C~o>JE@=AtLe2%sS|3-F@ObbSV>qgGB}B(01jq;m#8AwaQARVC2BGXzkJ zMwS5dlk2rfp`e%H(3rqJ+y>Tbn()*8QCpY3arofvXwxIWesVV3mJeIp16ci2T~vqt zn+|F(b%5Zb4g#nxgmIL+!4{m$ZP@0y@Z*PLpS7}iM#(iq!vFvP07*qoM6N<$g5J_> AA^-pY diff --git a/graphics/pokemon/omastar/anim_front.png b/graphics/pokemon/omastar/anim_front.png index e816ccf7bb1e5ed1af5811b0e18162092170ace7..42d693d72b330368d189146119dd89c02adc0234 100644 GIT binary patch delta 1238 zcmV;{1S$K&3Z)8=Uw;I!Nkl;EA_qIb*G5B^2UJ zO0J5lrI1qSF7d5U@L?REyciSNw9Hk4P!hdg=KbHBiT_Vg{;tl~N`zW|S=}Yo15&9Og-p5gf<7cjY!p_a*2*MWPg$#81e7-`F;Fcr zyJ&->Ix&6!fDl$HtWOw0N5$eP<~NiEd+KLD-{50=fwuw zMTsDxXfFmE*0Rp>r0btU&Nj_uDZu_4A>hn!6PGPWJ z-%oe=?5E_Zb~Z^wfX4liZ?7f5@oDk|phe;$cE+cEZL!0#u;QoMIbx&|0sG>OX)gd> z3^0Wls9(QitpzZ$Qy|WviBr{BW6(&$D6z4y%_xN)z<*<$hj6Q z^fBhw&k$&yeF;ZFH?fQg0GT&+3r(%ezSdy0A`TMrP8OCLg6Lv!$Z8~_?+1m zl}QFgJMU8N!dv5pel##FrnXOcKfRR=&bcdvIJ~aSKRiM}Qp!0^uZq^-l*)_O^Xsko zhu<(h=QK!Uh4x^|%Z?F@Ji}oy;hux3`XzxB*20aU<|TI47VY z^xL*)d5+H`}=m{{!1#$nfn6}xqrH_nOY}v ze*hx)Ujpi#%>7Y;nFp{{^}W>n_pk3_o>RMz%V_up%qZJRERC{{TQx<=~$wpa7L zrU>#mj(P7@>i#|7`<#l?K@I?Sc2oE7%U*B-{+^F3n$uizfAIG~78^u`i0RLl^w1N@ zLeC5$8LkY27?{7O^ZBDB4)aSOP^d1@Q3IG;!W&9!hrdYNU&01~kQdOwu^57J^M9t8 zqPZu&2^Q)EXwlFN=#l2|u2=?!4(ELu9V3o73T8mx{VE<0LJI!hLm$;F{GvGHOlA1p zAGaSp91l)-mkzU|(8Vy4B}Y$gAKy%p`N7E@_66)O!wHTD0mh{R?th*;%qVTc&BlWn zcP7|~#So(ea^~QG0d+W&c!n9eGEc~+IWYed0HS$8qmhV#hV4s-F-3<-YnEgMg7O}I zlZ$Z=-@4h*;Nk=_KxsoITYsA$@HcutNBoQR7ijZUw}_?^-v9sr07*qoM6N<$g0;+J Apa1{> delta 1268 zcmV&ubf35XU9<&^<=6Ry1`8Xsz_T@@S*g+7v857hl)vmV!&64%V$u z(Ba8CDG1?}Zo!23>ADBYucr_U1?6IlX%A`thyDZp8#=SUMSoWgy#_zbI^Ox@&3ESQ z?sp1>&vrffM7+3hUl9NIQD?jN0JRN(`+@eRzE)qYajnM81ASwa zh+^esZC9@y=+$~Dm#K7*;IU4`Ms6j=dPNV`bJlL;0hP^a2-M2V%-i6&p=+*tpzExh zTWRt8MjN-NxqmgblM86w2Gdca{v854IT|WQRn{h8hp}=FQ0yLUuw9af63R{`czwdc4DlFv4rGd(8A|0DtU@H<}p(su)rVF)V)jlC@)C zY$iaMLlI}i(i+1?mP%zd5vCTTP(8d%A`vgTKR4J~N!P1o1Y8r}Aaz3d)pG(`=U?Md zz$TSZMZj?}G!X&Wr-!O+LVjc+2VPn+8ZfexWaVz-_!+ zx`mG=3X7TP0v{w#Ws`GmOCb(#>WdFg2#^4rLx1{BXmS8~`Fe4)wfOKS#eJTQBLM}~ zmj3$t!>f)ZW)e5>D6WQO(22omZ|VcU-JK;RZ2%-7Yy>?J)+wr(yB*Uh{eS?8@{J6j z%8Q<5%kfYDxb9R^hUP%d<4&pKd@4uH9tJ#k^_2`#^e~ebcWN?|zQX%5U2`guz^Dc} zH-DOZ8Uz4Hq%?pV7T%7k1ViCHTgp*z0}#dD)9p+rz_8^g?n-h>%b!@t`{%=YaQ_GQ z|E%5L`-J<4zIc!O<5%tz?%#^GSn2*sxWy{>4?Hu}n7Tg#iTlU4w&ea=Cw2b}khuSz zX{PQUe2gha#{Cg6bAZ(ST{Ck3C6$%b{eKY%+`o`*rqWH_AA!LAmw-k$b$?QzWdUkc zV=r<4J*vT3`q-n&`d;GxdmXJ~LVQG_%9+A*P-vZPRf0wks#0@+lFR_CYF+$_!Eiof=k9-p?)bhxpu^HGS#o|4& z42&$!2M`=1jW`9$K)(A;I3COa{l8B>su=VGG~>+V{KvoVJ~}iWobn!wjLcb%0$FnW z?C$C9G@2i*%wb>R{&GI0@xY_Fv~AG+FEWQ2q;1;ic;ItuN{xtzn1UyLiv|p=!mgH032kfe=P&kyt$ eJj@aQWBm(g^HsOO&zr0O0000c)6QdJC2>K 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 diff --git a/graphics/pokemon/oranguru/front.png b/graphics/pokemon/oranguru/front.png index b7f54b07246f4d150ec494f492d17896bf3a94c7..b0ba3510c1d0f1fed476cda7ded76e210471f3e0 100644 GIT binary patch delta 844 zcmV-S1GD_g2hj(RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tt11d>GK~zY` z<hV!Vs-)3gApqb)g4%J?~eMp^*v zAi1-(R$vbRHkM!;^Fvxk9-b}#vF7qP27HC&OxvMiyrk=k4?{7fUw-uuP?`kDd?bQ zj|Dud1!({k;!JMFN28r|2xA4tWH?ilc|ZWPNA5V?i{7dO0FyB`f2$HbaocYDgy*}4 z0H&4>fLX*zE}=(PE}?F(AcB}s#we*K50{hnTe;iq_KejcJ8PmCNM+=@`|ROIrr}E*HJ8A~>FSi+oe% z2V#-I%_s+^{S-8!6tuKK`+Q)CV2l?56~e03!rDz1+%G|T<{vzQjgRr@YAaAtA4*Wmg)Sunn7VGBB3{$NAz(3%)2bHC+T#$0)-l-SG>dMzm66 zzAgfH92c>o1UA1Bc8!@)#ApV@aS`5)%>c9%h0S2Md@6t|8cU5?)n-2L5HfyZfjB}e z#gfLNfCELTaxqn%&ojU%7?L)tQUE%%_ajwRMUVz%QDg&v5&Uqj+H0V1Lj{Xcs4#?| z8q?1M$)4L3CN~u}G=o}|8Eb;33mb-h1i-h~z{&+uAo)_^&tY&-_-nwr3;$3Q3O@mb W*TnqQl%i|^0000^gSjD{&ADi;$rW{PL*gxXu(PSca*@I!e{z!3?4^gn#_z{_?>?kk zTl=4f{OG@mqAY){*Vc=V#4*N8QL2?zK>_0(jGw0oPz@F3JSpRs0P1N1w2kC;aV5bn z0BkJ5Cd#EKj<@L9U0{T&(Oe{H~GlH0m_0x1LLw&>FepbS=6M6#$rwf3aDW=!x5MTSq+JF$6HRbO6jE zPI3-4I&ukhx@#hc31y6uYI1izX}y;_ole(yn55@QGvLksVB~@d;NVBi#z4ECNPaA#IYHjd`qsOq?5_ea=n-|n+n#{ z@MM?rf05+Cl$r`0OFas@yL)=FkDajy_PyA`e5fHDygmJHA8R7$PrOCEq4Eu}$lz*} z1Jhm#>QM@s+MsnhFhnrMivbzJs@25WRTkVXLAvK50Ng(v2sQfd5@?JcyEA_H^8lX8 z1|jK=`e!g-?etgx$1qD+XPpviGv<8Sfd>pze^1!WX)IYpw+KDzQhIT=Q-_Dtpu%~H zje<^jlFb7`-cZY~)HPulHehFzopr0KEzl{Qv*} diff --git a/graphics/pokemon/orbeetle/back.png b/graphics/pokemon/orbeetle/back.png index 9d05053b6f5cb652c7c9737e7b2c52e38dd7fd78..0fa7b812909a205f545a7501863585114d7f1e9a 100644 GIT binary patch delta 477 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 diff --git a/graphics/pokemon/oricorio/back.png b/graphics/pokemon/oricorio/back.png index 6dce8ad1e37999d36d9d090b203beddd83be73f9..dbdf864a9cab554851663b12accc57935e7865e0 100644 GIT binary patch delta 747 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 TAVx*#00000NkvXXu0mjfxM7_e delta 369 zcmV-%0gnFP1K9(RB#}W-e*gz`Nliru=LQE0BQQZHHNCiXsK8#3VFe={D2&j@gjfNb{k zhyvg!Ae-GUPynQzpQbR!KnxwhIfwbf0!@G&!9fQ=7A{YK5%d)~0{}R9g}yd_0k}B< zUWSf|dKhXlL4e-}UeSHgO9bM54~!8IK~O6B(NbtaGow^W$=p!H1U;hxlxQd_Kt~v$ zQSC?6wI7K#K-C5PXR=m82qkq+E#E9U!ej`sR!bTvE3@W!LId`7rL|RGY&xL;`|7jW zodMXCdfjfmZ4U`_Pj23}AY({wsTG3`C}NLXa@`dv3bM!ppoz#4uVh&hTjdEcmV_M5NTq@Klm(1Hkh zsO{htf>GeHiLc%ko?|Nk%pU$iUSZ{8jwVTy6KN>PcKh)?es&kp#!py)gTFn;&{EZt zqlUcQzR8u0YAp|<@XvoJ{c#RGa0H=`OX00000NkvXXu0mjf DSdecR delta 293 zcmV+=0owl60{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3nVLq1G|I( z007@fL_t(I%k7de4uU`sMfV1icmV_S5She;#;rJp7Ls@bIRFPRv62JXDUGq!+608K zg;>A}#)KJa8xyD7mz~|2pC`nx7wCeYOLQ2i5OGX_Li9GY!+&Z)M0%j@z%2#SK%z-s zeXOPH2nNg%{RL!c=WLE9Ns}vRawR*SX3x041baV02G0KB7L%5$o?o?00000NkvXXu0mjf|7v?_ diff --git a/graphics/pokemon/overqwil/back.png b/graphics/pokemon/overqwil/back.png index e4950d7dd01c732bcf39b15eb6d7991784c034d9..79670b0601dd47f35736c8ae2ed62d1b1fd91f8b 100644 GIT binary patch delta 521 zcmV+k0`~p>1l6pG5CC9S6xSY6L?0rhM%nz3nh~P6R&i>q z)s>MhmeWJzDRN~Bp2w{pA@?pfvtYw6n{y;r$ww)^pTPX`fKuXWsnk;mIoEP;z!0!rDW&ckY;yF0 z66tgTh|RU+VSn7n)@}Qy)H9uYtui0DYuk1QW|I!oqcworQ?G0a?hKeScz#i{2?*a> zo`Jy{QK#v`wsL`Gfslpm&-(>yq&)=;QWdYik1SQ z&=s``Z*Jb%q*uyL$;!$)gzJNJO`TK#YV zmHZw22mIM?(Eiu<_ltjCrfevLf*z^>0000< LMNUMnLIPlde@O9B delta 554 zcmV+_0@eN91pWk&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MZ-9l&;3^ z0005uNklgu@fj#C&WojE8Um7iyb$L{!*~RUEpMIkchp(>3`m!?I8!n(H5}$8*utt zFd7D<#0n3DlZ1&C@VF4gi+8&;X(V$6AYEtMW)?1h7LMaVSG@W`zQPB4RU*79b7R zQKuYWxsXrV{eKz&nS{mMn5RsqR4aS|xrSn4jJYkLOkoIQfVU$6C@&=q6NXw=)w?mz zc=M%EL*S;WstuSx{|xZT0cwxER3F?pFeUK(VkSMn-z%Ddz!Jci7Q}H(UvqOuGeQlp zgnKJ7aGMe$?irg7_%RboYPT=vi3NE*eIY>k1zij-1%K$V&9N1~vQ1x?uj7_3#%}iD`EiEE3j(UI-YevlXjr2MSOHq;6aetEJRn($6qAUhn~9jMxO4!faI|W> zB{?Z&OCz~mtA-kNr4iSi3~Z6wESwoCZ};fLQh|{wWh=0>|48pJP4Nd_Hv=WV=7{VPWY>dgP=9F6326VI8o0FpV{@g| zcs#^4Qx>=gKi2R66)`bIf#?Z``jV-H2ykf>B0x2y$n6FobBgn!va*B}%6R}91dA5* zP#fw?AryO8rESL{L`1%Hp1!Ht*Lfu81R)(^2Pu7Wp;fvJa7Q=9hzxP{8xkCxa0IY|J-U{IMv3w)Bl z{ds8tP}%dphYJLgyLTEaN~vBiTtW?2=MI+uS*VvVDRRv}AUQNY4GhITlkedkAhrp} tRyP6}>0p=!HVm;P;HCjJCI2t+8zMgrh1@Z|)C>Rs002ovPDHLkV1lHlGoAnd delta 690 zcmV;j0!{tq1%(EXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MZ=4R^Tug z0007LNklHV%6aetEJVdgD6sJ`dHn+-b^(aG=skwrHt?fxATd8DN5e<%5 zLzQE1hisLgOU@aPw|imAf)ZOo>PDIc{t@o%0P#nXC5SgfQGf22_jNWxYYuG{C>8%Z z(5$rqt+)tm&3dty18r;35HnC(4C-;B1r^Zdc0G0r0U`EWtJ!!!4s4a+Ecvtf=i4r! zwoH(&uw%}cPN@XvRwV^=ONnwZ28Cm?l}M{nD50Ikph<~r!A!KFzmP(6iaP7KE~Ro3 z(@9p@+1@vi^M8_EQF_vmSu`g#hfWA_%dfg!DcHqP;rx-ET>yRifm|N+C}VDm)YBW% z38l@;CznqJJz*X8KD+AHMdRjqmo^k&t#)?Fh1NSkdkrpR6ReYWS8kKvaLzwPAn%?E zyPn_^{zC!gs(5Y6n0q#N5AP;lhB0VTdQA2$%h~u_tbafce||Qt13C_w+?5iQQ#@Y+ z=(DnOe++}*s|0eEI!^TZ1_Ch6Gf;r3NFF2i2ml^B8vsEB+Bo?>m{b8DR}~1`>A!26 zBmyc1BQKod)H7LA@JAUi@sVyD(>{Q}s49Z%Oae7Y4CG)?3)2Zcs?Yv(F9N9Q2j7wj;>o>R1EN&A z-%F;@Wu16EfwSld%dmukbDc9{m5ROTgucXA40e`IfRsqLc%iy>cP^Z}t zWHLZ0FQQXLap84WRaM44rb~)qBj6gmgz9t*kTBJ+MzneGhS67!h;$B>;ZsN~PtWgl zhWfMaA4^YX{h?7Q+Lq%nZc$lewNfeBgQ^?<&9!l_LeMXhi<(9Nyg$L1+!oP9b%J3$ z%>%+J!mx_x8GlmPgiRdIQ-rvQ`SJn-d;{?346#_$@=N|#Jv4SlY6yH%g7|CQlX8M4 zF#AzZX)G8gXy?Gpf*cqp$b#_%4Pdxq5;TAjGzqHp2xbFx2#dJTQ!f1uemlxU0p|uOHB}JrTIN{2e|30000O{3nv^GlTAnf00DMML_t(I%gxfkYJ)Hs2k^YX zM{a|HeTY85UN5`o)gahskewuDW#`KJ4AP5I_?ohd#o@Q8iN>-~c3VI&fAeYl@?-4h z0r$a|eh@(61z_&s;0H%@DZQ+}@;)FNw0m|%6VTDsC_=v0uz%Bb4P+(feBB-y;h1#U zigR3Pz`8GGP-cn;<(fgAq(hMM06D*~PUiW=%)6?pQd6V5IM25XuEDdAr!qjoM7?O% zX2C0lpBW<3Sx9Ym!Lc}P-s%+9N8Nvxp3drBp_H^M#%SF$00000NkvXXu0mjfOVz}w diff --git a/graphics/pokemon/pachirisu/anim_front.png b/graphics/pokemon/pachirisu/anim_front.png index 34753e2f710d32ab08bb1aad33fe1a18ed0321ee..8af3f81c89db1d290906602731809cd0aa7e366e 100644 GIT binary patch delta 740 zcmVbhXDKb+Cm}N5V(01hZZ) z6}n(d8!2WfuepOFZIs*tT$BE;;SHiZRA&7bSbNv~g^^4%-_Gn0(tL#c$6+)9R=c49 z=z(?vU^o`o#85MaEr6~L0I&^D4Orj;bUbC=Oo8q|3HTNOIDd{3FsT5*Rqny3Zd$>s zmJmw};!j0>NP`Ms*y03lC;|?}2;?3GfCXq86#y3a^$_T1z?WL!?NkX^Fz8q*kmVU) zNPshiV}Q#*w+|2i+~yrv1?UZNsZ#)KBm*X;m>CXoV3P37X#qd$OmpCpF&T&oK>UV0 zkvq)i84#vG%zxz$X1K>;B7R6-AyKvVl~_tJ{ZuaH1%ufEiGr zQ`f%Dfv;l;z;OgL2zmu@DO-@ADoSY}lSDEMGdC3Uhkj-llA@S2ItIeZgg1W{isA}j z6LWbkTxE)af`Ko^7uC6OohnKy7)kB)HlKx}R$_g0ZBtJ-^Zn_Xz#r;p`8uI{pIO W_#|^e>Z}9+0000y^h*I5P)sTLRT6SbhXDKb!-czj)ad;f?1nOWnD0)jTCz+Y3`s% z8zuJuY0}>{yg`(Q%B+6~ti5X~<%N-;+0Qe(vxfN;%707tk7k2rY-x1K`JFTtC!^&#=? z`svsSUJ(Q=g5m1|027crY5+v|=_4>GfKQFU>zNQR!0sA3P^^bE;s9#~rvT-F-T=S{ zxGO7!HK0GlM}Msf2uD1i5rQj2y9A~w&G;4GyC|^Mf z*0{5{1i}@~xHD+qb{=6_0teSKWfk$4IU$r_mdC)w7Gw=C%H->hpW*KI@uN#?Eh=g} zefUkt?Li1A3H?RF!?Wws#tMqk8RMge#Ctx0xJ!gv zz!Khl8U|7TZ*+kh*@^%%$1W#yBmCLM`J1@e3V|gyg098uS9G+m-SSxlyyb^D5Ch9a zgd0u8DLSjXTao-vHm5FeiI*69o1&O)iek1XP77ezfR56Y09^!BTLR$x*Chg>f`yLK zd(#3)9DnAWTriZ;6eNzKXR6r~i5#^IbWMJWWM8R)FPRD#j$2c7%(m0$>f@F*Bri(m*HrV%!!QsB@MMWP1|ne2Me5#If=7TC2x1IGO1l?gODss0(mVpZ2twlJIDht>I!zaD zL9KtB|2|ud&a60{0hjq4fYU8vm;nhueh!$9+5i;ksi+7rL=4MGP)hIux1mMcIAI7@ zc-A0z$Uu04@-Jl#s_z1i>@FHIsD-#i|YfIRgV23xcAAjDpmKHvj{u7Gu@QT|J!yoL5Ic z=s!CH->MG{wywior?joAeg?cfO0dB^77QVf;F&DwM&PN|z*R@H$`A_Zji&*obkzp| z*<(EdUv=cQ5C+(P%rfV!`jXc`~ie*{{c7uEs)J~wDInh@A6orfObs584PMQhO(jPF_m~Fe zFf;?ba}Dl=|C>qfTwmG4CYl1B>L&bk`E(sPPT;3J6Y%jJ@A`fY{8vTM9}393Ya(&V Q+yDRo07*qoM6N<$f=b*4Pyhe` delta 563 zcmV-30?hrY1(^kqB#}W-e*gz`Nliru=LQE0DG~Rf9D4u&0sKisK~zY`wbac{gFp}m zaJY~jQDQwaB;3m;`Uv_0G#*hB%DtA|#7mPVz$563G$y{BvtM*~3#A^MOVjdm_s{IO zo_AgO;S9Kq=Kx$@!iO0U0L0gT>8K?@5?+dm07LkYPJ)bsH+Y!ne^EdXtngh&!CM># zgkVZcIu76lK?bo8$tZXQSQ1{hkgSS{9wur#tGx+OixpVqO#wcWw6Em2sOrx~?p^g+|A&vvB%226WvsifbHNj{?@Z&& z<&izt-V|uWDQe8QZ)ToQ5Jr6iE8zfEUc*}h zQrARC$u2?-KU=5N4r2`Lx@#?2!Vk|_GxHexd#l}?dAT|BlCSP)UFaFu58V{G1H3l7 z$@4i$S2I2+rDkwHFl_)_2$yP9T1g}X`b5D100g20kOu7H34iblq9Z~XiI7qN#{rp4 zh07Tu3*JMSj_%dr121n{X1=VeczUf6`ntO3bAJ-PRGwa<`{xquzi<$X2-X2vxNJ@z zAX_zykJvVNWdD2dEzp|^Tivc|U{P+Qk{j9S$QC z0003ZNklZq}6b4}5z)CnkB&TyN_|*-;5xTUO>@~bTKOgE1$#0KgoiIiOsy$$kQULb``ksgUy#zjQy;$8U>c*00000NkvXX Hu0mjfKSHI4 diff --git a/graphics/pokemon/palkia/anim_front.png b/graphics/pokemon/palkia/anim_front.png index 4e463f0dee18f1c4b5b6d0e142775d930291bb4c..73c70a694999400b42e75e59a347c49dd426090b 100644 GIT binary patch delta 2211 zcmV;U2weC15$X|;Uw;U7Nklg$REguGAE8x;WNS17?YZJrXHqpro&PlVm z1U84AjO_8uti+}ue?Zv0>K~HjS$oU)hx&c$y;s#$?|rQ(7k>tt{B-T2J%Z0YiXid^ z5W~sw^fNQ4e@y5s(40msb#_R8B|A zMF(rE3AuUJ_#Ln>gPF`ZjPbU=iZLLk+e?^8yTiD%jshTi&Mv2ey=)YB z97hI{ZK4pTKcH>_kV{#IF3_ctj3&;8{a&QS3@9j z`lttcSdbYq7&XGkjpt9}HCpf&`I9Nw!l?(4L0P_oN)3XoKKtMAYrGWzkL;4Z{}8hC z29rSc=U?A$DA9(Z%MkXm{-6Di4Z0vin^xGTE$QN80AO5~KlkIqY*t>8z!UJmQB&tlJ=5X``oWrRFLo+P2!R`r!rT*?tB^PL z6t_ADt82U0ms^vK!1%AjaufZwBsPhsO6veg@Idj;ZT_Hr+gc@ z9#)_>EXfq2uMSz!ZI1xf4}mC7iWBdzA*=B->H#;|$bk}#A)E;|9j+%7LQ~$;kpo3b zBl-S)!mU||nghm$BReALSPa)fcW00Tg{u~tp>yO6Erwa(LOG)vRF{R(d<~IQE`JM` zDF~^Wg)Ho5e3SvQV+A_Ue6TD;dgvhN4$<{up&j<*DI_!il{>0U2!KYSvD zGBMPbFdu-va@kOS3{b>(z3+NoU4L!|A7aM7e-$9Tgb~(Y{PrsH&&Rg?!Bt39HY7kU zClX6u)4SXWn!5L80*Lo7aiZ?u>m4t8op1Gxb}q*&@czjn!4g^Vn&AZpXr=z|Poy5f z?<|*AWCuo*!a%+Ijx%vDb|Jw9AH}n?XP{stLQ69Y4 z<J3!74ucViRc>q+GPJ4TWXCBiL5= z3#YpY`=m_(KV`Xr?A&!G>u1-JLP#H{2*o&;VbysklmoATVqYnZQ-~7mcAzR5Zv7Oh z*H%W1BuWTm-1a;pMv>KrE)y*xH%1?ah~_fxmh~wynw*Ilks{V?yMKUWZx6=K7C)?6 zIYOH=g1wN9HI+A&$a-S}z$9Hn3ESDQF!Z$iH6`Ml2l!yuNS~lXwBw+3@S3iVVyL+c zxS-Iw_iTM<3(6|a0HI9)T<|7>93I`N5Wlf1n$!<+4T|yt^aFprsw3UDuUEjsIUw5D zYbY@N(IHy@yY;c|=uv6%45+tNZ8t8zJD3dk(4$+O6g1kbwI}IAd*;2 z<%m1d7s{DQvLqWH35>|GZKg=2eh@rR*Gb$U(?=-GV!F3@9M4z!ug?Kl3tIO~;GhRm zAOiwG4FM;fO(X!Y`@y>Rdv_=Ffml!6gXVu^he@cTE*%oK^m=qfbAS0`fGT=l^?Low l0f=()(j2}LkY4=X{|CU;=E1$Nc2B=!8vI*mw&+Ku#=HJ9?web7UT~I zn^*lqKkONA4`VFVr`~&2UG=_SE6TM8O@5lXJ|4kiUqukP0mN`}G(Apk17JG22}CfC zO%10LlD!$g2O_9I-UUE_B!bG3Mm^xhBA^0fudX3Vsho~(tZ`#KVV6p4)C1nJ2h*js z)l%t+CIOfpL4Rl>2A(dJO4GqOjG@#-kr+ep(i7|@Kq!4}6(3;RwqZC$V5TXH^ntJp z{1J?=!Z2BI7~?H}6(c}Sw^uNc;|}A_CJKP;*tnby<7K0`?>I7%e5Quu-gI&ghG>!O zSBO!i7HryRTuvv3;}i&OlKXq+{faEZ%kaT)91;|W0e=AO@gGOPOu}Aywo>o{lnG>j zH0H|>@5_aHB}7kGKJWhHDG-k1R2Zu26-G;HDY6R4mp-$A7Y$<|-~?@u+}41i~LNk4uH)p-w-K=#+)-ak;H2Z}CJ*sJ=F z$6pw9Nq>kIt+20}GQ<}Ez;j3bJl5+kugqC7;B1z$GHt^?5Jo*9vJL-_T~~Z|be`e7 zM*C%2bhj#d2CFF{5Np)``tWG^!UOK4X+vkMN<(1bKv8j1*!HZIvkbp9)6Q-jUQ zD-zg&2plzZ-q15mexjdj==O5El7tla07_Wck+lkWV=r*CeX_p63*zd5vnS8b$3s97 zhkr?ddEVJ>BZnN>u2YZU0svYFK%tnEyd(b+asE5!wSbN3aY~(~;O1~nLLhbYSdiSI z5Ij8sqB5rsSVX*r^O=DvDP0JGrg!T1^G?w*{W}NifB*~S-WWjJMW@;hfkPR=2>>sH zLEGhawfz?#z!#8X!J#9-FpOdqfU1l}bAOfu*zUZap#`_1P@qM)6h+n|Buy;}0An}= zEJ6)9)~*Cf$L!hYQd6BA$sb772VblV7(BC z;-onDejBhFzoZ^8$A$rvXbj;@u<39;p%I$$o(=;jS{ljs?-Op#Le%UtHW(=fNq@&; zxE6-Hgc>MZwK3tz8CndpAcS&BHRvu&qxguVa#^@cK}yvuWMMbs!wQfcBdI(KE)xJW zPT~Y*KMsKz`?oQ2j}87DeEvS3C53DkX+elc_iSdFwCn0Pp#7$Mx*PyA-P7*Z9nn)n z2y7Cx{HS|sKMs%M=VzVXm~N=wBY(R))9of6hu;V>sXXc%m=8ctdEcY{9H59Fx<7Qk zQEquuF>60oZhu6WVFR8&+(!QG%(g$h4T(xY0_6QfV#O1^_Xk1KkG@U-@yUCFsK<}G zXUm@QtxvrRxPs_kE)y(~HBSt$1wd={|9mO^2>xibv?di8O&SCB;m)_qaDTT8B!^4W z5&#E*Mv#iy-A^!1Ia2emEEb00qEQnC`OXt^+8(GX$Y#>Ec|-GWY9UZ>_59O>%{*Op z%J=fz+2%grH4@ox)vKpS;?Pf^QxbCbU(mZl15xzft+v~_^Y4(TWDRgC;?$O^)$)<{U=0PlNLoj zOxC{G!3ytj?CYgR5=*@MQi*cNOT7EHEbpR@_!mn_$p%3Wu&e-cX?A$?RLG~--` zRTrUA_Pqv*eWx@kAxf~@hOT6|^$X};yBRUGC?Sw>TZ@bsMOGiUOn)?q+!%e7BAUy% zyVh64XmBQGMT%JStpbwT9z6TIyi>Dsgf?acdo6`El{b~h=D`GjNxFy-ajTQ7<_Ulc-at^pvj-L83#+0n z1d5|5ufad?x9d96ZGZbt1tN?A(SxG{<+Tj)_IU$wfgbF@3BvO|Dee;BI`nb%BB^(t zpRDVI9R2>X2dAv31VGfzz>aaz;OEdOn#6$fR}5MxmG(e6%z(W>vwHr+jg9p!0@jgQ z2V+3ghT7qb>iLt6_4ZayF2M5DMGGRx!--I{z5P5M0EVY75P!h42UlylM7UFKZ?(64 z^NKlyZUulUKt%N>ID;WTFt{RlW&-tB2fRrpflS)Fe&hBa0OA24-2vEx`7wX7UubXT z%RXSuOLuV19?1Fmz+mL&r2|I9#Y}hk zES|6Q-i`rT3#5BC^cP?SGGGAI5OCtzL;?UiI4u0Q`*6Y^h|Rgg@w{wwC^09ACq>2`a!dV}*fcJFrkpazBiA6fa`F%Acd%>V!Z07*qoM6N<$g1o>Z AMF0Q* diff --git a/graphics/pokemon/palkia/back.png b/graphics/pokemon/palkia/back.png index 53196658c44fadfebcf5daef47fcae38e716d3f6..f38ba8a23cd7bbb2e851761cc95ad82ca098a4d7 100644 GIT binary patch delta 685 zcmV;e0#f~h29ySnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&Ph|K~zY` z)s-=8+dv$}t<^)RN~OVrh9-;0^tvQNA@mk!5GdsYT?{wqpo>3C30}^F!8A5lL%vEr zK~fcDK@7f6&_dry7uE5dwRPyN@5g)Z|M#8T`^U%gUw7*PE4p+)VB=1mu}(niT?w_G z6y179LZh=mr=I#*=DT%&FN2OD0XY}tX~~3)j|CXrIj4^R-pIZ>62O}+?6#Ey2vP0L zS*`D$Hg<#uT@tcniBgZ-O=JNG_Wnxyyj)GXo(u)|fE3 zKGFIIdbJYD-UAG3olr`z6cZDN0ci{P^D4;p>vL_;%pffwVEl{LO$9pvH*qN23UUY#H!07}X` zJ0Z_%;E9grdX-8Y0R1KbzXrW9 zRCfSM3~&jHIU#3%-$Xye5)v^GLN!}ntCAA3ZbSM4K*+;?N|eoI)Z8bsZg=q$35npM z1@NwOx(8GMD&dQ2(&`I;a3Q71c!dgMmWEuw&00008NkvXXu0mjfwSPHD delta 670 zcmV;P0%84>27?BWB#}W-e*gz`Nliru=LQE0EClBZ4AlSt0%l1>K~zY`-IOtF+dv$} z?bSocm0E)b4NVr0>2*nlLg+2dAW+H)x)?O*po>0B30}^F!8A5lgTG2XK~fcDK@7f6 z&_dsx6vgqKwRNf1_v5|y|NDRLbpGwvB`58ApXY5l>GN@`&Uq`KfAzKmqlbCB-jY!1 ze9)>#BuU7T`4i|E641$!{Xpl(TaXvsIVV9tT**Wo35csL?6#!?@KEjTxzTq|8#|&4 zT~fN>p;C|Ajc)-6_;yMuiA1W@misP)TT1EWQh+FV<}#rAn}QG{#YO5cf1s5CV?KIX1|k2V_4m*Nhu-CVuJz#r08`3Z^de5Q!B8^u%?|Zm z2m|PK#oU=Nl+OuP zgHFc#Hy7HVnn5}aA^xiMx`Lg6OB~9kf}OD7Q4DodSCFnte*$nesw?Dk5Ix z0Kh~8>=+PY=UIS8Qnd4NtCPDZBl$2{bAxjMK#6~l{ zN~I2fUX=h~w$;FtetJzTy=R~Z)C$Cp*F-Ny!ngzwFm|O3K=)tuQvctSYXAiXxPrxu z(({)$(eto`e^3mBP}P=Ks$i6^nvk9V;Kg1kis~3O_nEGmUHpo*K`a^o?>b|9Knb7} zM3iZx&&l9Y$~xl>DvWvLiFuJ_*_{UFM3MEX0Z@VH5~(>z{1U-@_we{`JKL+U;UNzz zKu+%h|Kaz&9~600VT_jCs{uJx{-2-sKBal*|M~s`6mGU-pb0)tz5oCK07*qoM6N<$ Eg5k+R{r~^~ diff --git a/graphics/pokemon/palkia/origin/back.png b/graphics/pokemon/palkia/origin/back.png index 49b93b4c0ff53a855a264b93cf26c0c231e473ec..1c3bbd210c4f386781e2e04379fab8cf37e01527 100644 GIT binary patch delta 656 zcmV;B0&o3?2IB>gUw;B_Nkl4LE3(X@JJB+6cR>yb4y4N z`X!X046CtUqt{Zl1V-4aU@qRgMCb=_JQakccHfM#OHC%Xz3dab{D1S_`@eaUO67l! zT2QVBez*KMrDZ_Pr!JHLHQxm&1C(9@)F_k#zS3c+O`r;Zt$ziw1X>_V06n4ss!G0V z*e>~22$)hQREAYZ7@s;4MHR3G>m=WfiZaL+d@1(^OxL3$^}%B+mY%*}0uvy%(jVj5 z5QmZjLKrtFb=VI!TMa8UJJ&`Cq1*6az-G%uQ1R#`P&J@!Q;QhEauQgWYj^?FJ%F+F z5Cnvnl)5CYk|6>{dt|#!)-KW| zVBxUME?%h)aPVg~G)r6cB*5Vg%@ih(mn{L%Rgi$^aQ(ATK!Q|Fm^%I=R2-|PCVi~Nmj?h7oz^~z9t06V0EGmYa#JVd?Dr^#GpO-^ap9W zWqgtRJc`3#y}85301g61lp=vCmVL4RT-z#N+j59*6Pl@vO^ZEHAr|K%EpE!}{;d;6 zTOkRSihmCT;tZHRN!|1<2qPhODoH93SY{S@jJIRD2(V1YzpeP4B*P4tNFDqJM1+tl zc|2W{o5Nz2H8Bm@*u@?jFyI(O0@vd8eR?jjVV*K!cx?&rr)#kmZ~dE1G(6qHM16k! qF0TCaM9g20`~H>K=dSFZ#2=TFILfr&0672v00{s|MNUMnLSTZiLNR&( delta 692 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 diff --git a/graphics/pokemon/palkia/origin/icon.png b/graphics/pokemon/palkia/origin/icon.png index cd70b70388ce11e9398e29d99902e98a8a59b0bd..772e8c864a7bf8a2ea4cd35e4d61347dd3b83ffd 100644 GIT binary patch delta 330 zcmV-Q0k!_%1I`1GbO-@NNkl?ZSFSAS@+{zWB4^ z_{Z1}1b90VBW3AHN1B)w|dd|vAAC+89?h0pPZ`q*=@}&QJdp<)>O~cY~~rI_J8>H zgQ4wWQ(1WJs0n(%fwNuD1dcB zBQEQ55VC}fG9^t0$F2dDZc9i9Pk1rm(o)t7?adC!o<0`JGAxK6PvjY>Z_{W;LwD!n z39iw+yl1}}{}Pymt37MK$s;8BSHOymPJpMM9Y<-_O^9|4$iK2VMM cNdK0PFQ4>87K`K;Z~y=R07*qoM6N<$f@3+Hga7~l delta 348 zcmV-i0i*uT1KO{3okAgotD4=00BcuL_t(I%aME?e>itEI<4HM zEX}g3wUDmu%6dj1EG3G*__N~p$Jh@91UC}oV~G2p!i_8f_(?p5HhC|l^w$}Lpj0aq z);?U-d!stRTWM@13o}o$u4*ArSdk=39|eCI#C$WgymK(WdNKI1xL+q3K;safoXYpv zZN(i?ljC_-m(S&F78s@OfB5!;rR`!R-(^0X}rbuKoDc#-J7;k?2M z-`119ML@;H(o{ps#L=ih0Oy54TvoalvV^R%nkKztSA$Bo8q(eqUre}klyyRLvqN&H zj|Hvcg5l$d0t4mFM?-h#+T9!RWQYdx6qDKrjeB^liaoNMDLT8p0kV>;Xb6U z1e&JGfrsnhHVewT=9?&ga*IHb2RB!MLUpB%S+S!!y2muo46sWFoTz-xMEtricu7X= zP8W;M=QBPfBJ_n47`WH%01V*YW`qs^pI*}d8T@|xv#ysGPk#wKzaYZ<#vUb(%c28Z z1BKIaZetYE*M@03NCTe${i@5IM&YYQ5P-*Zk4ABS^iy&hSY-r%uUhF8sD~}uTDyJ| zwEn$d%L%QD3B{J$wjXCO45aHOA?QnsGtlX17CdC=(1uCSDUR_hc*p_pK_!BrPoYsR z^s@xohCa;zfS!OF0E|~kL+0sgGu^jk17nxNLvTF+a{v2BAfF0gs{G6oE999His`p*Luuxm-t9WXq1FEIQytG#_u? z{3J;xvAj*9k*-&9;9Kotk>2zY*sd913qe@g%bxk zq|55Qh)$A#_^6k6R{)OuN*<#`MtRiRFdz(oO;})0=|e=~8*vS){`K4*?&ai10mABSjYqHQ@XjTxdNr3TAWN zv^9hQs{rkV%S>Qlf3vb60JfJNB{%-)<7^&KToxuuE1H4bdZ}>)G{T#O88S4e`bkh1JAW432TY?3LDExi)Fj%G0+pes5da_t zfOi16m1d%wzL3Mdm0`fS><&S<22k!GOqB@$jkiuFaSGtBfAH2VnST_iQ=WtdH9f{r zC_OIWWqO4sszAWb1H}2-SO~EBlGiK@2rQ9v9#K$&&aM!{zh?@VSrXi2J{AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?kQ8K~zY` zg_N;w+b|G@6#+ul7U=^RL?ta9+PW_g#1BviAlV_40UZrzBS2n(^Z}|D5ReyWfq3iS zC3CkvRPRX2vJ+W38?a1$`g!;BPTBLg5ZQcOt=`PuzgVu8uL0NdJ1kc>A726Hlek)b zc?I}%vs%mn`McHUY&PD1UoYkX@pc|46v$aX0hl?70>Fcv6YwxAQSf~*=Ow=N@EbP$ z{W*!^XTRO~O?Ut2oIuwKwBJ0KGZMLZ00PW|!Ra)~B)EIxGSGdU z0xEVX1maW@1*9+pOdUw!2Le#rNd+Ul(?DOG%rb{oDk(uq^&BXFL;`LZxP1W>%811r zpup6YeQIw7#Rmo&`ag`ZAi$C{q|k5)YpI+Sxu{VDH*%~1Ejc5FtAh=t!pc-2>$p*k zH8Ri`OY2OOh*b;p5l#faB1H+t)m5;mP5>Ci-B&vXG$n!oFa)>+RD32mJ??5u0Po?@ z!kRuufNTO#R`9rgr!oS-VwGEjBnCiu*b!j01?z#2BpiE5d&-)+1#Rc=J#}^6K&gzR zV~c>s2&}8FC*iJNR|K>Sge~%h_CPMcZ+be5j{BnY1jqzP_JKSyzkn_!(C`4+qK(u| zmK2Z`w)>W^)OJT^aS;+Dz^e@0?I{}}+?G098E)_9Ot01q@=00jSAhL+JcO5 zj#t{SaOuIf5P`)2p!ElU2dItBe*`!Pz+wc*IClidQ$WZ0N)xCFs84~D92p2Xj=*UV z1x9!V7_DA3kIdtDwpK=Z_vI+M6U002S7T@I*tZ5n~zBANKW0A(g<<5TX5H-!V%Z z!ch_$r49;G9qvmCzAf3yLK4I#g&&TvoDnm=PK)^GQid2`K3Vo3?wGyIVuUE#00000 LNkvXXu0mjfdg@!g delta 750 zcmV(*1K~zY`g_ON++b|Hv z9RWht7U=^BL?ta9+PW_g#1BviII=?~13DVcMu23Iz!ZPlvJ;y*8L&+Ld>?<_aW;Eq z7h;yTtHqn_{>6MTe+{_KN0={eKE49vlen6Hc?I}%v#4@F@ow=sufzN6Di4Uad7zXC zSwJG{oQo3Cp~*RLm~~O|KI-!>zK!@BSL6LT7v;}!y>YAI{?9oF!}z$_t_J;d+C}+& zaF0*h)q{UN?GABJ~a8@CG z{K+f}>_Gw`fP4;=A_2Dy+`a%xsYR6oB@ZG#N8^o?#1+8C(yt!JRqhSqAT!&+*fV~c=Fz_J-eay*R7hJc=d5TfWPhUWs@YNWFm zxG#TdM*t)MSO?Nb|3Z2Nq~Sr5MQKpoEP3$kVZH77O|Ca278e0N0zLtETgpZVyQa>T znwvWUq$U54b5Opfq^Y;H4BemFf`qV^SNgDU>Cp8UfocbMHB0I(Q4)9b&NjjyW z?V%GQwiQKCQxSN=y#1R1l`e(JbWAZGHeCxZ9Q<%0gIEPk?mu_%ccPt64gw&<+Rhx& z>6QvcF~IHPy5u31z}69=+&=DKq0~v1vYgqz8EK>Ml3(GTNrt2QG gj6W_R*x~i_AMTjF%$cNTjsO4v07*qoM6N<$f)DmtvH$=8 diff --git a/graphics/pokemon/palossand/icon.png b/graphics/pokemon/palossand/icon.png index 55ff0914bf2e3d4aa589b748ae0670e18024ec32..3131f2c20540d6e9a2c451305a1f474f0000cab6 100644 GIT binary patch delta 232 zcmVA>0V1LU=L_t(Ijop$v4#OZ2M7hBpCpQXZI;LCSCrxgZl~Q0=Ah`$u z|G=BVN)ai_cJr87kQigWIfK%4Q((L*%lJ@0M<^-~fF?o%!J(@lb|h#lL*b2aG z<%E7E#LTc3l2-C$cz_}6-pGLW!fshZvm;xUi(=m41=jNtiDCKB-vLam;{{5 z5~S_zSvWMW4@JOMKxsx>B%^>!YIHH_fB4xsEX+IT4;+6}n7JQKVWxiUen05KP_h$h i`j8vrbU$|Tqj>?8jLH(e{zDu90000O{3o;-NN!Qx| z007BJL_t(I%jJ?i4#F@DMsounr#B)aTfWV`4-2=#5<{9Pkvd?~KavIsBqRoeH^119 zl{{m<8KKGP+<@`al#JK#x`k2$B2cwZAUN~|q@Dy-2|25sh<_~r%vL%K8zE+fwGiFN zjo|@?Y;zL>-V3{R3@sJ8WW6Zm8D3yLuPrGb`U@Z%pb7ZWVT=NYX$bVOdrlmx?cD%PDHLkV1kNLZ7Bc% diff --git a/graphics/pokemon/palpitoad/anim_front.png b/graphics/pokemon/palpitoad/anim_front.png index 9762b21ccd5bf5cf3db2b22822b344ad4d8793d6..27fba830e7dbbad38b5d6a45000d439cd0998170 100644 GIT binary patch delta 929 zcmV;S177@(2=WJzUw;FANkl(JG0EShvz`g?j z*%bhFL~Io97a*wQ3fSirU}zNFe9*U(Vv=!mKaiNR(v@I@I03F=08KTUmKbnX069b1 zp-*KSugP+ov`NfZkLGM9YhuznkYA7Q_y0LwSh@ zC4dU@)7E!^&kN3)+Sg*wV5b9oM*-b<2D}S^v#g$=8-LXvAf~>yKGFlM8|q`~m)Rb$ zh5*`0X7vK<5m83Nudo{vBPtMKbgKijC`+hsDS-N{FZ=#m$|}QfPa)Fv8-7r9nhihj zUMNJ0(ST^tIhOG}uZirC#9L~znuh^$ge;Q<13ctIiI_p}Fjk{8o`*bmnvpaURY_?_ z2-1%*w|~(fBt-#+Wj`k(Zn-<<=YJ~%j`p9uBAan4c% z7#iEv2WJIIe=Rn)s}CZZRe{hAGt>tOO z{v89WyNSo~j<02i9m#(~&HsVE%<6TR_#HoBwPr?5 z_lR5X5TPF^SBM>g*rr{xOikxB2F&6Km2dqYG(q*AS{7J&>9to^_S}>atTJfQQ!!+00000NkvXXu0mjf Duqmpb delta 958 zcmV;v13~=q2agDlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MaSBr&$la z000AWNklF-#Lt7{}WtlCYsg6Sn#+(w2dk0}>elN!U#5yEC8+VrgW-G`W5l z4J0JA2b1Yk8>c3X^o>mjAt$o~uDECzOwfrVAweg2zIWv)_us6@vX@MdfM)o&nEnIMmU4lN?+o2^_W)U+ z7T0qwFbLTtbp7f;4&;msWUcglHh z8O%Eh&^Z9*w12y9#zZHr<98rBW+aMk3$X=wfB`gKuN$JlGXbPDWkzr;S^GfNNq28= zDFf3g5E@IaKC-u*$?Rk)4Y#ymWtY)d0k(IY&-QjHO{1eK5R4TT2GyZzmuC`b2HeURdD#(;Vk8FMnoW6AFvmEddmfS37tHe4n>g zus41U4jRBu6bNc-z)u0NmLdpHItPT++Ya`h16DQlGK1r+39KMMpoYc)@ zjr6NPh|%2!ut!-`y-NX9ryRNN>`+$hf#(X5s6KYwq7$s=rM;mLaYkKYkIu4Q+qUb- z3`y)zoqttq43I5k>CA0lBL^j-2c2Q8LMLq-x$p!d2_~u-4_qMxJ7>98BP31)f_@() zz#`rcRwNW5fy;mkT&r5u(uaSp4}SY>^Yp>OiQo-SA1v!OMS#x1Gkvg@k@OFQ2ha3D zWV4B!QTOyg0;vwfKsmg1lHQ3uS_?LC z8-bESJ|4||VACN&DDe)}xD8IY_JDpWY=8_W29R)ud_saNK-CArJj&-H5H3-+dh-y_ zP8w)K4Cwy=9Sh?qSv?3FN$+%wcj7=HA+QZfOe~H|Ay*-=2_r>n0OR(8R?8vDPykH0rCN3e905~wBwW$Km#`qO;s Qs{jB107*qoM6N<$f}hyY-~a#s delta 467 zcmV;^0WAK*1iA!}B#}W-e*gz`Nliru=LQE0G#GIa$in~t0i8)iK~zY`?bSU`!ax`Y za7qHMVl}}{D&b|stIi@96GtIOgCl8mH70l=PINF2Oom88nT$H%eGe!3Q1;qd+q+g* z25#x_|K(nu=SiB$Y}VQ?LM{v2f8-TPX{V7cvTjZXtwt)i=75?we|3v0&q)^_q~v+c zah#b8nkitq1c333m}iM`uFi7+yK5$%kuw%v4v$)CHwhR+KZi z{{S5e?I>A22n$K?e|3y^ghrDP*ajsg7Tc94S0S(n>6%RuSPKZxAg<_3(>M=-&4mQ= zHHeD7G!WSc09&ie^AH69lNSk;3Ni5{4GhwYJQx*<$v}16!vod-z&HhrP_UB-ltTe9 z;g)LIZEyrk(2;OO2V)+LTFCppAw5TUPw4vEw6qWJ5@Q{Jo6W};#VK|+j>focibFlB%kOcI3} zaUropnpxu^jVzO{3pEq}*dPi3 z008nyL_t(I%k9&#Zo?oD24KGd577sRRM#^L?P!MNRx?D3w=9*+mY0oPZwIPP$Gap; zIJ|bMR5m_w2><$BReybPEcdE*g{V|RkdP7-pgMvs!~zh5&3~d$Bd#QdNHc3Z!800DmzQ>gN%9fL&hmOz+PIzBylNPh$%#o*J2uHvyQqji~xx zIi77AOH&H(n@%RE96$jnOi+ZL0^a)}gsyZi5Q+v}nHQRDhSq;Bw08pf;f)|enumUr zBWd=2w3z#@9x-6}ML*%g597P5clld>&h6xOvfR9y%`c;V(T^KZSdB2zd(!Oy0000< KMNUMnLSTYycZEs- diff --git a/graphics/pokemon/pancham/anim_front.png b/graphics/pokemon/pancham/anim_front.png index ce8c3bede532fed37bf7907bc005da9c4f3b4d94..1434d92897aa841621a77798856a314be905c78e 100644 GIT binary patch delta 590 zcmV-U0BjE6vriq@mg7g67ZrEO=j!BUJEgHmux+0 z(3BXxn*ym--KA|hb?#V7vzOBDjt6~!euMT~^fUByYLex>lOaQ(=)b<-y}Nr7+|Tp+ zJW_%#VD#jHfS*K8!Vg#!If019&K5z;7>nj}ygCrJ&iKA~j(^ru2rZCABEtXyFk)@? zQ6TLA25=8V1aQiB1>y_*47WQR(ZJdQvlR*qBs-Exvq33Qz+1EF@|6LeUCIFc9wk%y zxHLz&lniYVCQ83Ji(z`a(pWu+xtf1CJA@KuSlwq6K3h#W*PP>L)H>v9#W|m#4J=}+ zA?F8p151>g2Y(0ONnmf0X|3P<_)Gx{C_sqpEd}g>jm*#~m<$0_0Yy=vKU@n`d79@W z;He^OfGu?kUyH2X)b*BXFs`b1wMj*F82{8w{YFt|xKeooNRZSm6c|D(67Up&nKc0U zErv~Pm@dgVRH7NO7E20v{nD=0^cHlfPoF-I9KTCZ0)MApnEEKfAGF(y66VyLAZhf$ zVIZu_K-dEfL^2m({NWCu1Y^B3KnTX&4wQiyU`GRaPaDYZP6IjF$v{pV2J*4PK+b=4 z8c5h>Ad`@Xv|tzmnfwW~_k|FIMe{0ZE%fy#w22Xnq7jTrTz^G@RxqHbg!qQ;@YD(h zF!65y?%(4{>QV;BUhhP|>6%6`uuW!sK-TrXV c`@?^ozdixxDM5o9TmS$707*qoM6N<$fO{3pNh7^B)iZ00JUOL_t(o!|j$aZxb;TfG<*` ztT?9%RmyUXXy%-yWJPM!uyn(B!%b~;&lA#-65x_a$7Z?}rJ=}Jf(7?I@<|`-ASA3#k z+n`iVAXxL+@}&WuTq@?gkCJOVDa{rx6?c{hV~x))#xOfsq5CF z1r#Xi6dDYnGzkP6z|0zeyo-U&4U#1}hf3NZqg+zJtAFRsTBKXhsV=(c;(?>*Qxq0? z^23O=))>aTRdZNu^`XT;xX(cNJq<*0kAWzkV668B2*J4PFrk4x4dfkdAiul@a<-R& zoV6Ip2akcg_~|u}&}SgiP=vH#7z3I9W*B@%N-(T}pv3Es1tA!@6^u$=e<^6efV`6O ztFy!7Mo%yxGnU}q=BN>jB->KI<5eRVn|ebXbMRL%NPjT1+zAG$2hI8x!7#v1FzC;{ kzA>Y0_lKhMhyObM06qccDN0so?*IS*07*qoM6N<$g8gz5ng9R* diff --git a/graphics/pokemon/pancham/back.png b/graphics/pokemon/pancham/back.png index dc0c02b7e2bd1377178a85c8900ff313b1714926..b19f8338fd1456ee4e46686ef37abf30c9efd7ec 100644 GIT binary patch delta 371 zcmV-(0gV3c1KtCWbbkRBv+9rY;yr7 zdx3cC5Exd9#2vT>IgV3M`7YRw6WP1#b&(Q&`(I}4$P)yAGdB}`IKK>p(F`{J-_Jn% zL^aFs(2jUu(;~u78wTn}A7nJuLDXC}V^m z+MWQkU~Pi)05{;?0Ju~34(<(@2H*I>I{Kc_Ih*yth&BBAYw)& zjsF3$ItH607I?#9G;RC<%@5B4WppWcm;%cwfCdm|e;-VN*bwH9YmB1_fQfHMqU-o} zIL=S>g|_>FaBTL$)w4eB-+#IKj56J3v)g|=`n-5iin#fb#LfZoLVhUHB%9A&I37Z4 zW~qtTKKw3BnyCTi;h%wQjzQ8W5PSryLb^fF0qY{p6X*oYlNbQv@e%*=<`)Fiu~wiY RWsLv;002ovPDHLkV1n*mt)c(` delta 387 zcmV-}0et@61MUNmbbkN`bV*G`2j>O{3pWWcjJxsx00B`+L_t(Y$L-WHZi7G&1yGP8 zZ3|A3D$OVom5XE|QCV^Ujj<*3)x z^$@))rPf2BNp?NVvl^(u5rSxQ0?>l>5S$M%1Km3S9@Kb-?j7I;V7N=&n@~SSPPCc^ z^TRXMxddX->(KiX({h$)dAya&YU7;F-cz!opVRM-Ks3zWgN;K>CRE`Y)4JzVC| zbAiya&$z`faC`uaZ8Ku7W1C@EKhYO#+`X;6_ikSJG=KkP>QhR&O|jd58~QANRf=@; zC5fE@WV!rM#3Y-~T^MeHS!>Bedc64O?PN_2P|FD*n`MwR34}g^RW2uIv|zLmy?;yx hsIUOi(?|TrnqLIeu~t1N_8$NM002ovPDHLkV1oA6u+{(o diff --git a/graphics/pokemon/pancham/icon.png b/graphics/pokemon/pancham/icon.png index b7ae11d24529e4338a4d8e0513a7cfb214facfdc..86f389bb8703e16beb5c002afc78aab16b3fc764 100644 GIT binary patch delta 262 zcmV+h0r~!c1Kt9VV1MaJL_t(IjpdU)Zo@DPMs)*1vjgNNS$l%cJx0;9C_v6(FtFwz zf_nzdF=!h}haiDid&);=$y$^fANT`FPtN`M&_zzc61s&jAQ+EFMnF|yjstcub6x|O za&7=<#rxd!kAjw)vm}_I!e=?)ntN)y5Mk)$bKCY%@$*qcuzy2`lBEaWDCc5I$osVg zqTZfgT`@D}qQU*&csl$wTB3CwF{jm@4H)Z52fSpR_3$ud7Krl$(8%0Y@KE;?_nYn; zmXuT6bUR#|k{nP}efvrRYw2CZ2t(6TFNN{GEd8*;%ziw5p_l#m1v65Q|B);?4*&oF M07*qoM6N<$g4vOLxc~qF delta 298 zcmV+_0oDHA0)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3pfS7qU#m_ z0087kL_t(I%jJ?ij>0eyMsowpb&$9T?Vez3j)6FfkvK;*D6SD!ID>1VaiZ)Nt3@7? zif>Fux7z9EX@2DKtExXAQsl;IVt$<)5R8`#AuzQg@&k4dQGZ+mm~(0YNKL2Mre{G% z?Zg3Q2-C!8Tyqay?>r3s+8w$C72n&;j2$xM$Vt5=#;i(=wQCJntQ7ajsXWn8{oin00;;ANAbEgU>~sUfq5#geYQ}E0#YPXchq_oIWe>1SWu1>dZ-+d8CX-=% zKlydLSzi4TxuVP2@>lU0-O#%m=TaPIGpgDpfMhF-&gI21NPnifFGY3{*ibs7^X)}o za=)5W`|-p6;vC%B+!m|l9xf5`m9i&F*X{*inn(32*X#m7L<2-Ya5fIae#P+ZZR)|9 z@bj14xu?IsqhXkGaK^~XpLq;G=>mZ~hj;{Bzj&G2>f3~;NQ{BW^%pM%Sba)3juFP= zg}i*_Ts&Be^M5emJW0Qg0PwhYvO?arbhOHe$5Zx+pV~-*;77)KU?iac9`ef)gd5FV zs+Z&B@vj$gOdt%OLIs3pB?xX$_!zbtY%D?2B)P?%u91X=Bfv|OM?7t&kT7l58|%Ph zoh}NwMkZ(8VG$fhivXE6WlFkbm=JHdJVVU?31vO~F<`(gD+4 z2Nnn@fvCBrQ<*EZ0YF=TH<>r(wVJMw5066~BMVl;I08~)uVxtljIqG#_0mi4+?Rcw*;UnJswA5-}K(dAooip;Wo?gs}gX{u2A#HY_VklkNrb&I0Dq0 zO~5Y|5JiDy2ZFf_cgBA!52cjNb42i7;;uyz+lYWgOaXC)!cvL=+I&&F$wY?T5l}}7 zRkf8!I41z(EMRKSnxqH7cm`d@DS=3+C`vR3C4UvrW`wKacp$2O08K*1aw|c$Sx4%w z3NZ(FVr`ozV&+1@XaPJt{{pcrvrqD zm>9gbZuH})h`L=N7?e22fy5LF|6f`C(*hzo9sskT9|4ZLvZ|`~iz|OX@#eqv0{*T% zmVbEY?N8VhZ%`Ej0MGjfgHp9CsvV9nSOsq2WY91}3UaQj43TqRuLjHdel9+9y2>we zd4`zLySDPn=*(+BxuMI|@mtA>}xhH@Y0nec1J}=!X$*gSTzBq)K&Vxm>u;Y)wpqe`=N?F4lz*h> zzcMez!|2?D%Uz>pJ%2`X@NUt$2i^evB(J|YWZ)i>QEk5dih$-Gj1lk^0Np((9lbKg zhI<%Pv>wpo`cZh?un(qDLO`<*Mt@b?hxUPwJ*Q?LM((2ldi%iBJTWgX(d-J$U4T-5?A1vFD$bSv{V66udQ#p~QeL$d>m~yGR166+QZ7-2wNn?h6 zu&iw_;UBR2n+gcX4!~E_HSL3CW5p8f7(2f#4g1gloy2blxVn9?Y^i`&!e@9@nPwj> zJFSaiBjIBahCs6q$^>m|LP@v)W#$g;gJtI}AXH|ddw{IB54A(^+QKXALVxH3^E&%b z+Y7-?fKV<4UktCc4`>6?Ua+Vu-BLCyC9Qn`%f|9AYM_}!=9~a!A0luARbayt&=qU- zp{~66*ZGGylUes~Tcgn0hm(KEq$=+X5OUTyhuS2x{=q?S&}F~d7JpE!^$%zd2G^qL zs{PWl*3}5Nbr?Dj^`9DvXj&iv40BZU|E!t@f-rfIOvilfgt5^r_##lJLm?2K(#A1gJ2p60>-2CzYN5GDLU#{U_iO_00000NkvXX Hu0mjf8=TYH delta 1511 zcmV*V8W8 z000G-Nkl!TC9fxWLy#Kk^;1~L_k%V z0GkKM;nE$j76mZ1TtqK-L;YAHWiN1ar};Ge5y|=NdDHg6dw;v#Zr;6#yrY}t=B@aW z?&%zV+Rkz(t^h=JK+5^$Wg@{VhVSl*2rh(QzE$A^{qsFdl0rf_N521E zWdM|}5vVH2W`DrV_oy^WeV5Aui8H9XzqT+)QgrjpY=7Xf-7W^XlWGPK`GpQmP*KeK zh~&c=pzC$&0t-0>w!W_%ppyA=nxO~yBtb^441oc1em)U4utvZnNV{XY(3QzH0ca1% zZs#pzo6XKpO+SbEjDl~caRju+x4LNn2qCyX<~Kd)rqMEK0rIP6NbLRd>zE*GutlQn zf;5Z^#((#|zg~A?-`Ax9Y5^Tka}ErF?Y58m!C?Y;tOh6(e$+$QKL)HZ2ctv~@C;yF;DX?qb(95}^9ae>4P~#XUDHc$( zRDX;93Eums25=XQJ;3R}%{2Rb`WMvC?0HPU4*bLgAKrjN{S2a>0QkL6Fez1sS{$&4 z$t-XIt@{WEK;TUcxEy{rnbyA-i+?y&eqHGc#FF0km0zb9ZhP;RZnm3SBOtmyXsO*% z-LKlSxiLo#4^1SUPU5`@e|*J0NNtWCR(}kOh}&B(PIqRRI=~(VY$^8fLGR4MH}wJg zuxk!k)8$&Nv>zJ43?jG30AJ{P{X}Cw1j4Y7Q{)t_g{F66OV>N#gz@Kw%gU}eI)Ci# zffJ5`)rTSwu9jAoK7Yug5{{NuwmuxSlVaiMgC964Dn}pu-6X|Ad)n0p z1jZB#sckzjhG)^%hYlE0 z{DAx7PgZ)J7k`4{*e)1-e0$ z;TbUckYa5z1vWVY;l#?@$}9NUAF@)H!{4?pL$42Ke<-yn?;Vgx(V0Ul3B5mr=ms#g z1DrFM*82nMfnEI1g?H40Nnm3Z!Ft26fpmP-rAQ|!K;Rx#B*66aZjF;BsRO?rzf9kTI2iz%^F()|}K` zpy$1ics)9$Yp49&K1H@{DN21e-92!?=*xRg(!+%OZ?VW`0Ig;Ot!D(~b+!B+@On$q zZvkh^hucXOnMv`my|qfj+N4OUpK(y7djsk%TQ;lb2w?09OMh^_Wsee?SP90e)YM=C zKu1!ndCeFzKP7<3V*ned3@AW{K;UE2o2XeKLX!w(CJ(_8UNQ;LSg~72fZih*1P_nlwF6b)I<$=i;ZPvxqs0{a zhVKFZ4!|MhLVsO>AaxWtQ#?S?*%sVJN*2G%}b+3L;fNY)p5EO0oxe-bzaHG&`z=5@ zcvoWD0#2s90+SZZJp$YWm!Y}_u17mA_-SZ;K*xWZz)u4NpzX$qwg9|sQkaI8&O{3pqId(UwL400HMoL_t(Y$IaEfZo)7S0N^xI zs*Xg0J)$HMV{jgzC1$5lZFWn(>`0Kc>O|L0JZ{f%{_MD<-8c!PC?9v{vq?Pf-r`|C z0sL%2`1yqJX`an)1DdB^coR@Ed!F4`g-Y?9{<=oCQYpgh#eWU5aHl|?l3B6bI{+cC zSc1}&Y&aCI5`<)-szDflbfj3(oDibE5&#yt05*^*5QDS|J%Mce|+V1l5+b%k6m-!<44kqyr9Hs=6^7Tc8r$Q^=KPxC7y0rjw08SxgVg!P72g;ovPCR8!O#kCd}4S*%pAP|69Ur;<<>k5Z6R7PMD;VW^u>KTmU41y`~^;!R2N{0~A z^Vgr>bt8czMI|Ke|62FxB@S?6((~3)yAh5^LOQM_5x zad2P_z?#d`zCUh8fu!|Oe^!PQlzapZ!(GB{f?q*>sK%h{Q6Cq4G?XUr`(LZTM*~=( ztg69*Q~-=+`Y;U1p%LAnm;pq4_Ir>x0d_kDqQ8QGPXKcf{{hSmWLHtR0VH+}8}xG% dck{OX0TjRWnC{A&Wf}kg002ovPDHLkV1j}P@xK57 diff --git a/graphics/pokemon/pangoro/icon.png b/graphics/pokemon/pangoro/icon.png index 068d4f6e6d89ee26c10334a95448e3225245742a..1ffb29051ef61b67238272ab57f8645c6bb2ea3f 100644 GIT binary patch delta 312 zcmV-80muHd1C9fbUw;7^Nklmy9kgtQ{+coq<6m!-S`?En$!i~Ayc zMhKQNP%We;1i{fCm0?3&!`L^|yoF(*BLh^1Vf4=RMM*5Qkbko%oh0Hsd)FsdT$E(P zmDD+}#Y3(2$+HtK&1S|hdC!^oLIbSqER8X2{@wD z&+OfZT;~k&zKMStzYWa(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MangLoOT* z0003ONklNcfe>a}RaL!8KA&&P zylMK=lDB`jr}6yQ?&)HJk9hMdcOgeaS*`-&W(wCkAQK>B_Fz3dc~@s#Uj!j`fZ#@X&Ia*ZJGp9-+&3hjca8d_Y6sBZTPa$7%3maV~aEl_5mi zQl}1Dr%OO+D)b?GvEQMIh=lOLF$s?jw*b2v z_d|QR6cD;m+=ns{_{paw;dbNLceVgm0$0f`K$Q4F6qf<|&%WZf@4pbG0#2YC+aHsA zoLupnkbr(+&CR@pn; z26%F~YoqLGq@Jw`{a>H(+E9~c z>0(CEOuO1F;}X(kSKaLX7Vl#p|6%M6|J`T%dF{OJF4!J)q0I46FsC7byUGsl5^m(h)@q-L+syK&1zp zg3&MC{wLdlQPu#&Th1*6BCs(rT-4Bn^@ z3fJmOya&FiU8hZKJdt46c&HdO9?qay`lNVk6_P}X1swARf=ma)`P zUX70y2}WMaSXBUf9_NBV`BXWCpE$_{gGM`2<$sYGNWsW7S39*n&HbS^94gP2?0)GF zTz&Q`IGLxDbb5!%0&|IRDkEB_i3X4o^WqO0fbIR^U&n9uEqVnkjRVsF000R9NkvXX Hu0mjfALWcR delta 883 zcmV-(1C0Eo2gL`FUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MaqdPBd`? z0009hNkl!EV|>5Qc5%Xby1_-`#DH5L`ltAAqn%?a|nis5!fSf<*2asS*m; zJON5oH1t4`B1LwdfcBv}Yf6aiUEiu+m;(}?-?O_jvz|}W_J8(I%wqNKV=t(Y9CW<^ zzzrOgz$Uk_BZXgwuxEkKd~j3(iqLhzhLJ+xQTPFn>{7ADaR4DF4Oi{bcz-eAoDbCJ z)Y%EY;B~3eIqzGFB=ycV0&l^Q^7{^{QTTLOjPVNB0#Ph?rDxhcfHM{%p zl~gjpDGX!#Q}TfGYjzuuAS%_|$Ri|Q5I-glKzsB`B{z5+H?NX=#P7*1T+s^Uo@frE zCLlf|CXrh`1cd+?-C%ByF0X8XjKSs24_qOp*az-Ox_^#2EzEG$LF_kSByB2VoiDL) z45ny0llF*Xr>3LKjIlbuc0wI@A%3Z4QpA~K(vM~!l7iZ+kSucHQfuS_Dw(780L}|ZLR>o@Pat~&DO#^rParxF9=sCBL9fCgHur)Z zV7O&EAbuD|;VWS1p(g>1*z0ZqgIJ(4nuTBs7=I(6;a(N&0AmzN1oTpW3mAkWk_f{c zU58eVsRGI##MZl=yf#8P%U`Y7kEnq~|mJs}~0}LrYus47Kj&)d->;PlLy0X68 z0tV}}$EC4a1Pn1ZLEhRqU>IWZy7Jp00K;lgHr@r&-q!~LFeWtpO<%eP-KSc2J6Wcs zj%;)^K3N19`Cewy&VHHYfIqZdIiY@Eb;&V002ov JPDHLkV1kJUl_vlI diff --git a/graphics/pokemon/panpour/back.png b/graphics/pokemon/panpour/back.png index ac92d316d3b701fecb52612cbfd4877b26e960fb..9428ad780ec5096c5524c5e994c103a74f64efea 100644 GIT binary patch delta 528 zcmV+r0`L9s1o;GzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n$lCK~zY` z?UT)F<1i4%ZC!h@TnH&OqXpr$l*4FJ2=uGD2_YRI}^uSpmW{cbDYV0ywJZ(@?+n&B>4p9z`)Ly S11`q^0000lqB#}W-e*gz`Nliru=LQE104fKgd@%q30nl-+b(U zMjeg*?T;+V?s`QejaUr(C1!{#OoqZA5j6uv7?9f)wzd$#1Qb3Oe-!>`Fjyo;ELJGy z5>vz~1ZYDgwvsOs>>>l|a7!2FP=%PpiY%`LwoSskFJ{CeN(wq5u**GG zy*VImbT>>C?w<64f9m2#eGBj_`4cd`_zm6y)LSL*0Xg-Ez8O!5T;s<0K-C+P-e~QW z@Bu{}HUljT6VRJF)yVlhg);y*Ya6RVL1#tQ4!uWA z;tK$ifWPa**?OnK-|w!*+Nyz-j$6X2!L^T71|n5=et>xEf0H41qcT?^9mqbb?YmP5 zp6Zalw${FL2?6_K)6^mVVG?nLi9MZ8$L7rg*#9{jeXZBJif49D$ob>S|3JWw4*zBC z>zNK)bCSb#1$(gMf1o_}%#spuyapQE>>S6HT*Nbd`uP9j`i*@9=D@(tdawC900000 LNkvXXu0mjf6+Q7+ diff --git a/graphics/pokemon/panpour/icon.png b/graphics/pokemon/panpour/icon.png index 342c2a2fd84547eb2e2d73a124ba5ac0ad8be994..ac874976e762cc12e9dbd0e10b4c68e4519c686d 100644 GIT binary patch delta 310 zcmV-60m=Te1B?TZUw;7?Nkl-@25ab6c^MX7egPC+`d>VJSK$>)>NI@5h z7}UXEJrFw3j78L0kt_C6rOf2ITixBRbgLx!+YyB2xn4^|geECV1e7MySaQ=+F+dFC zDL`r+K%VG|uixzBBEurM=xw)t!gPztrHR%p`d~41b z&?I7N=bSnFJTH@3@XrJ~OvX8!Qg>aAYJ>H`I`&9$z%MQG4Py3*-M@>gm;e9(07*qo IM6N<$g6!+NC delta 349 zcmV-j0iynl1G58=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mhrw7Y+ei z0003NNkll*U5Qce!$UZ?Ipu;hBHMf~_AV{X}5EZy0daw@OwFAXLW)2#6 zX-@G6RoUsf{j;0>$$mu9-wr2CnCrDbMQD<;KtX9DjU_iNRevCeemFZw%|hu6=WC(; z9nf(dv=5kaJ>G?RE4ihwd7_|1yz%)_#?WKSkB2s_a}8e4p)huey8Ge-y&FF!#$0lvPnk!zvYp1Pw|Dg5NIg+A~Qs z8DwzPig2?pcUC-LiZ~=b2k1P4b*v?nd_UKpDo>!N;io!2z#QA~CCSj~*i30a_GKcT v@t<*Y8hKgpma1(lbnA?DW^p?{eu>BrV)lvM&uX|K00000NkvXXu0mjfEC-n= diff --git a/graphics/pokemon/pansage/anim_front.png b/graphics/pokemon/pansage/anim_front.png index d4c0044d9d7d1f512db32a96b3cc9ee0b25259fb..9eb2397d1ff2ca870fcde3dd5fff88213d341c1f 100644 GIT binary patch delta 879 zcmV-#1CadC2f+uBUw;EkNkl8P`6o7rr+98fDb+vCCgis`u_@aQA9G_MU zOr|FiQaX@gPhFrx9srQ4jvx>Z025nzfeOi;{0LQ_pyC-g=enfCz77LOEICr5Nawrf z{>8_iWo_cWL|0nUUy~Oq31G4&?*d1+wT1@@b^yG#8iI%C{D0L_!Uh_@w+>LSyT@}3 z+ZGWh8a)L_oED%L0V9wMO)I2Pq8rdg6NpTJ2OUfD_-+(M9YXF2F3;;On+WIc=xuLp4|Be@xlbaX!jTqKOLhYKs9dMPF`h*1wQ+L2W9|98I~6W z;nUbK1KlL_asRR`2pAtVcS+&g!~GvuRN){o%%Eq<@bUsNe@+K!C_pjD56|;F?}W{p zxDH9_Tv|5g4L8oj;833FUt(f6kdl@`73KpC#9yO}8n$1d- z*<2P(cwQYS@EkF~{iCo6@ z>ww-I|L^-V0>sFar>BQvG9bWh1G*tVub(oViTMA=ON@D9L5E9n0CU^?|z8en!Rpe8GXE#8q}V4c3$W{ zW(InCJSj@j(jsiFQKTp^G`~*lNF{oeU@{C2w^9_9m;mm4OGPm>I@)6AMo|m}yhO!I zMd{d$^A_X`OGWWz*f?*IEN&D<(mJ7I04hachkw~Vsvjl+D~i&1z1uKeQ4|A^tSE}X zVa6+pVzMAsl&fn+F*%G!ih_8pD3ReGAxKfGAVo1rj#b)RAE&G+CWqO={vg-UX&y93 zk!EL0Md7@t19(3BO;PB6YgKp!Wiik4c|{252CD?W^izptKC24Es&1u{1i{91fVxD} zQD}6qVBl;Gpt9+tuYumME-}^0STK;+ZwH~@1XwVh6dDk&=^1CipgT)BZ&VO5@dfYJ zaa^;4us@KArIBh;5bY25xk6i$;pJDmSQGY|(VO^-_z4y*6xOY%Z?*sc002ovPDHLk FV1g0^l=%Pv delta 894 zcmV-^1A+X(2hazQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MhuuOi88} z0009sNklzi!h&7{G0_cCcehUG0m55Q>BxA4(CEb6+b4CetqxQaX^qAFI)Xqv08DJ<1u7(W$|F>Lf{JJ0yGxW3`_4?jl21yO`+wbcfBoIhvNrKwqQfi} zwzS(^L@;V;_d!O-m?HoVy8wYHhb_C8^3RaM0qVcs25{Khmt!QRNkp7_j{$^d0JTgWHJiaQ+(tnMcC$S7h%_XxO+3xCz{xQ2; zobJeJAaj}qWtjFAki~W22VPqDkIOl2hdTcHC%BatlR2_t$|^|&K^>^@3Nd$Z96E@h z1O|10+82!#=9ZJx_ky-553PHMQw3O2V=tJj9K1kaDAV|%@%!#g2(Sl+0zonA6X2VG zP7KiP<$s>xxcreEB^q>1$7NGxpaSH1rtd%Cp%o?VWzvdy*j`JW&gMPY#3uf6*z6Au z;N>LK+65TsR(If~2&sK`!I*t9d$$uGEiW0K8vER0s-6;yAd4j6}7K$Pr zX8W|hnFOpUO5=HVV7R6z8bGWmipF7vYl@b0ch0ltqxD z=p@IQJ2F3xrK0E@W(#}$QiU69FLsp|mn%h)?Y7m>gUN4-Lg(9j{b>!;qMR-z20Bsg z^>>#7!Ejzq76~$*HT-~)VB~#NDVmO=LJ9^>S^!>*M?D2}6Bw8T1LgdkC=T_4@w`%i z?K6X5(3$13U8^AWD758jJOqc9MLjq4P!@BqZ@bu?zI>%o2nr=p64t2|^BDXDmMdP@7yfUDwk*bOx2gpX=HYM>0IU9;9Q?3vcfszNL8N%O4?7d&Lz`m+?Q-3 zNCw7!0d*opFvh$9NCKsQ#UlW>8%P1-2#XwOP^ly(K#3kHT}ugFqZGXf;< zd>6Xl?|cpP?^c;DK#!__0iW+)yDfk{?5pp9hKDs$JXDQwgN=cIcyJpq!+V}=0#E>* zeH~$$)DeJP?5gJp7Kdt;BV`HDEGGa>)pl$#MnlhW`!aT2>1n&fpB#}W-e*gz`Nliru=LQE110D@J+eZKZ0n$lCK~zY`?Uk`^gD?<= zjpq!c@Bjqbjm4bR9k^F;CZd1C!p{5EZl8 zivR3(G20$EMJAK~347h8auFQZD=Dd(&!U?z76+EFkeZu~t^90*B+$x-(OdaWL!f;e zm0bgTEB^_2eVjF}e*rqfHvbN&B&>^ChN`mI^-EwG+zM>>$WtEyN`R)nZ_x{B!mu>? zZHJyh70k#}0#x%3z^PitmU>itpO(+DYr?#hro4p~Oh$T;hs{av^c{fRN>`WRBy&i; zAIebQjBb!QMEC1Z>e1~dnnM6z7BOHLc+w2EFSLF$sp+&Jey+~#PipespINx#^Q&hkA6=Ncv&*=+^4$ z{W$2_)5PA#o^Sz_=61*E6HIRo&vw-Q{OlD2@FGWB{Qs@}wmtwY8L%{v0MjA>0000< KMNUMnLSTY_1pPJu diff --git a/graphics/pokemon/pansage/icon.png b/graphics/pokemon/pansage/icon.png index eec69b308bff6ba0c5d110ab16a5006aed1d8a32..e5fce534b465521a66199207a6c9db9689d80cca 100644 GIT binary patch delta 269 zcmV+o0rLK{1C0ZaUkCvhNklKADS<*=B_+24LPIV9R#o3%ZemLq{>;_HJsNIs9adnur!VtoRHB47dGnz5LbG)J z^!DTI=9xvI?Z-DS?ZpK3g?vIG`0(SA{XQRe%&(O5 T@OG$+00000NkvXXu0mjf8ccz+ delta 307 zcmV-30nGl51G58=UoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mh!nMHY#f z0003NNkl9X$gb);^&Da{w7$G{a<*CzQ4UmW&9r9H%F(@v`V{%1;23(4_o$%;-IPC?<7OneT z@?WDqZX6MV-hQ3kJhLgZ{rKT!doe+MA)inPK7`-q;||QPl=FW%eDDAO002ovPDHLk FV1i&riJ$-g diff --git a/graphics/pokemon/pansear/anim_front.png b/graphics/pokemon/pansear/anim_front.png index 1d11a0f83ddd1c827a2ad1e7fd2d491abd467364..0510243a90c28d0f3a1dac908f5b84aed728bc7b 100644 GIT binary patch delta 951 zcmV;o14#VY2Z#ueUw;FWNklX{G=iSLS60x~P5A90553Ong;W|JC6H^*-r1O=xvMr4|tDN3fIzDBX_= zKquC{bP3RBt%~L9bhYl}`iMUFt$H%h$n_1-TDyQAgj7i(TjW8fMW9A804QU^0L5|= zAosQ*ra)upI)4E2ArC3am(QsZUHxdgsHZ$TPY8JO6ELuIWC1m~d-(pu0I|M6Jhupc z_xKg!;om28oNq?xIP)3~M|k{f0HTEx7f>IKkOkVw6%JfoGaY_J`flQRJ7@>V^3V9w z6q9puhVPt!cabDNk54alkwZ{+>rHVm9*;Q=@}TSsQhy&ECFAih*~O!_w_$g8opYN| ziE2sPba4@wu;Iz;*LgSkaq))LkrND0R-KSGiXM;;K&GqMtOF{MzkmJ};Qj*NT6)jF{qq$P zzy?0K059O_Z`OlbbOL7jAOH3Th^;F;^BhMy9nxUK0nEfLo)s%;s$$hIr#{ z-G9r|DQ2galtk(R>ZHxS@bn+dB>ZCQKVY_?^&nf27n#m1{e*H0Xg%H;pwh0ODFydnYRmT&K{=?mL{=Pk}Wem=OX zl{&BtkO}@@z8+j>4t*}6YGya?%bSbeBrsE|3ZUSEu++h7f2aVO>|*WyaDBZ7xRY-q ZUjc0?KgjO^j>!N3002ovPDHLkV1jOv(5C!D`z;5QZg`qYu_fFQAcHdgwvcniiQJYI*$tZoDth9Mbky`UpMc zT8F?G=aN9dCcPGVGx+3^Jb)p6m(H%N2DB@M9(pKv4Muo>?|-ajXXpPM=P>@!@Vk%9 zL)tp;LfpPU_?Un}YY5*bLEN@M7y=||^9E_QEe6d2GzxtGk6_fWd;m~rLF{-v-w-4s z28ifG0xtuoC!CGti00I5LY#pp3_&7~VLt*8avIeHSt2LJUO>-M)YFxXrOe9th@Pil z69naa08&buV1EK3WzuIcMUX{Z;L#ocgkC}mQd7W&JxFMy35+cQios54m!CgUCdTr( zXXH9dvJ(=VyZ|N0XNJIIgVP^ZT9C*M;@Ui}!NnQk>Gvx-&dViQ&fLSr5-;A*!H;ok z6LgkKR0C4J!?~?$ZWnh*|K*O8Si-QwFP08-Yw2o ztCiXZMG)o%=`3e_wOa52&Qj;dtnQ9_w=Jc}$K_ee9QLxJXt$Yy5X{Kiz1RgnAR`Eef{Lr-vNlT+ z20$o51rRaugPg{uV6x|fK$*9&2w0>M!_S^bJAXhhd!?%}kBnae!wpiTIKn7v_0X?*A6x`M~D9ZvOQQOFYQ$t=6pFU*kcJ zR)Kc^iw|E24|ZfOBb)n^vEdw2KgVlftIWG^JBk=#6z7O$`By1+;(TR1NLY8 zk8SoBjURUawF7Xy3&cAew3eS+z(s3aZ6KTgM1n%(2!w^GVg!P3QJLN>!Bw&Y=){ab zdJF*9Xj6ntp)gxO1aJj^6B2>bDG-Q8VhL~)A2WbTN=Zb_<*bV$Csc|ijY?ysW1pZQ z%Sep^BCY0axRYK@bBY%_1bL=0VXehm9S~1(ZI%GJ)E;n|;^}gn0^HL!06djM`{u6{ zx0Iwl;E%filNjT*@PQl`l};s6M^+vn5Kz-S0n9a$N`PXlfIB6B0?usSqaZ(~6MzN% zI1_o5!`mvlt;N-eOiTb|EAh7uXZ1Z_zuI??+U9KC#7Nlu%z{J&@)XKP8+zNlp26@T zw`8wic}&NjwZnS6#N@&Kn>FI_VQp6)Y;9j<+YH|epr>5cKkD`-%BJc1c>#>y5qm&; zV?=z-2!TMyI8Ny;al@|`3IDaIpno#AtrInDunYUQ-!#U40AJga)~Qt>YXATM07*qo IM6N<$f@v7e>Hq)$ delta 459 zcmV;+0W|)*1hNE>B#}W-e*gz`Nliru=LQE11``haQ@;QJ0hLKaK~zY`?Ub>OgD?z+ z6J_l{QeGf|2WT6n6T^{u;te@oh8rLdhf;6Hmn?AXQ>n zhK|y!xlc0C!Q9E*Cd?Jwbp+(>S0)79k=O$+vp)~p$zZ(N27s%QDc}5&;*_%72mE#y zU@~L85)p0~i8g-Y0-?Cm7DUm@?o@9RVk@tWmgg40iw~Tr33Bm4>%f zZnuK1V`nx4a9;7hb&OWu_4?MnYt&XpK0P)OR-Z_eNP!=9{10U4ZTEUc-3M)*y`t$c z93N|kb$^M$!}vC9#Nor*t~}V4z5}3lv7~?0?TwX9LDTii1n9pb_JHA^-Nf_5)wrlh$TLl0g6f002ovPDHLkV1hq# B%y$3) diff --git a/graphics/pokemon/pansear/icon.png b/graphics/pokemon/pansear/icon.png index b52ae355897566ac53490abc9abbe24f89528f64..ca1e09dace323cabb24da26461594668b3a34bca 100644 GIT binary patch delta 281 zcmV+!0p|Xe1MmWnV1N5bL_t(Ijop$lZo@DP0QCd@BOeIR4|z*B3&`N^89LYfK{!Z{ z3Xq^2WFbQwXfR7JCF!Ya%Z&$-62%MQ&jr*?-aO!j4ge+(nt*KkH6#mKCPbVRJX0bp zrpc2~Na7!`OgkwdJp$<^@6!2GYvyj)r}0$vNR06~X3(3Lu75ANHU)FJ#@Ao~JmMj8 zHsi>2H?rfksbn_!I$sVxwqN+agSWZ=4q)^^bZ`LNW~F{L$^gJcmY)nbQ4vAR+TKz8 z!AW;t?rVv;xLxp$G@6<|UXEWM<|VTTvl^vcuJJ$|)F2p2*HO{3&2NzgrFEkx=6NzHBr`Vd|2DnHLg#^MyCZb@Fi!q*N zZKJKWThiqz-%0G(H2-de`m!evn81Mm$paFQZ9M|CfHDHWsDI#*5<)RW9tc7b|A2X1 zNd)ysNS}F?jt9+5ZU2#mUDYEo#_f=U-aNNm$(0mL)y8`FnAz3WG|4NtmGG?3MEFy>*+c$_mFzW2fZHbtR=>#{x z!DPC4+FtkOB{-7^vlyjS&T)<0s6nAGZC9-@+;*2QwgQMBJvxIbG1ou(@dSN}sbeVe Rj|~6-002ovPDHLkV1goIhZq0= diff --git a/graphics/pokemon/passimian/back.png b/graphics/pokemon/passimian/back.png index c49499b9dd56b31359a45bdd7871c917b029401e..e27f88bb02c35dc9cd7ceade00dd3baa7dfc77ef 100644 GIT binary patch delta 550 zcmV+>0@?k81&#%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q03XK~zY` z<&)2fqd*YG4ebM@a1TLb<`pJP0-=$RA?;=GHu^r3n|s{j93^`y7T+PnW50ytmV>a& z1I$#nnek8C-k1GQ1ncKlpJnO%t8#ai0=pF=E08n>sTF7{Q-HRJ62~T8a?=+puvX@5 z5+IAn8bP@yih8gDEKPTRblL%Be|r^+R%x=H$VfdR0-oS?!eY5jHg5+z;ca1`{d_x& zS78nruNN5+^HE@1Ei#UmEX%+f1$a>{I2M}>>dUBwk63ZU&7r;?e~ke%L|h^s@2+?} z01QlKFlPjK1YGHISL0yftf+u`p{du?}n{zjb~_EQa5c z$&SthR0AOF0^*Ur{Dc8%Iq2br(ja<3YyjuS?jYP!8tM%y90Fx5%dSBj4}qiyFlhj3 zEO(X}P?gST3OFl&pxcAV(g4anpl+QY_ySZS(E)_qO9*_-C4eSwEq84M4tmo8F*p&k zQi~P0qaq;JfUmbXppIpfwtySUcH`BrM|WK~zY`<&(c^<3JF` z9aazEK`D$7xmSp>4Q3I>!K>y_chdXBol>SuDU@mmdIw{b`x3&P3&D{G$jz>t)1TF< zKkh@q;Q8sBPqU-h>>ri0w-nf|5L$t_F-WXHQ<(y^MHpMt>5`NDf3gA_WzHr6vIwma zlzXhGM=QXRWKXvpQ1-W1v1pydn~99nBP8Gno+m7pn|S+nv=iEYQeGCrchr-Ej+}EBW{oNHGdrg?htW_m_J-GKLQL)?qJRc za0$55&qIxaiL;^tf9jFx3wJf;(okVQFW+oxh#2@ju0+M~4B%?ZXZ@=SP15kS=~M^AWfn zgA5F#aPcHp&pr!-2KKFH?FmMM(4gep9n`+5K{E&00LuqK!?z!HMB0$SKZq1z21 z_^7J1!jsbV5SZqFm#$zn_*Vp^`~>iX5D`RB!3eT15r9P=kngA~MhL9?avvb5jRNSb zIv!mQKkz`@fwV+~P3S?TKlJv1!qAf|d2uSG1-(kY54*tWKw@?)*L#NmOIhs$SX@Wd zrzZJZMFG#Z5e^$4iGqeWIKu7xYz}7%>vuu#gP>V<(ib2i}4P?m~Dql zh-Ew|L^N{~MHE2ouu&tzPew`jITz@f)$LF`n!dle+Vu6I!_^Xx?J(2;;_E@owpu(~ z-=^=EJ_1O8d!7Q<8$I3eFrO>C0+Qs+YaK9IJ4{?OOXCD+j(7%`jGret%n(SDuRGdu zGly4aXrImQ$D8sgV@~#;W}|9x7R!Be9A7hS+h*DCgR@%W{O%Y5AvQG%Y<-qOwNVpf wc83nKx>7X8Ybq~+_T0wriGJr_iedZ)l3G+KW*1fs0RR9107*qoM6N<$f+nkT)c^nh delta 809 zcmV+^1J?YQ2aN}iB#}W-e*gz`Nliru=LQE14lbTem8Jjy0`N&hK~zY`wUxbY;y@69 zZ7mOwH4;uZ8ZVM-!zK_S3J}n_3p_wTa-{1lP8o?VN&~toN)sy;qOgRN_L}I52+Dnh zdzYKF0q;V>>7=_UEP3YJ`PrGV4dXwGNl%Ug7ITg}V2qvo1wdN(f9U8Dm>Prh4I_8` z2cUPo7eNCCt>b{vYvl$%1Kh$` z)m-%2o(_Ntn3N9cp97T6qKJap-vrpb+h-9<5i%F1wC~<2eU`xE!uSNR&oDwXdz@!6 zOsoMyEyDA2WCP#ze=@ke%dUY&FE0^BvB$#OHQOBq+m}iLpxBh=m1$sGpdLmqZwUa< z>}0(x?-JSoG={Mdtu5g0iYD>t_qXXi+9ypR*4qd?E4uz#qvfAy&kK|`O@=}1iO>wVkxUb0E=tN`s5^kD@kCo zP=O{DbmfaRf0ak=uyX)ZfI^;}zbAtXVFe${g}#O%?hq}cz?fj)_W@K>#%|MHAWIYt zkabfW5m(xAYKsWu_khr4L&r_+#??N6YZf{#%Mb04OV^~hoR9VZ%W|B^;(VD53gIg_00000NkvXXu0mjfbV7c< diff --git a/graphics/pokemon/passimian/icon.png b/graphics/pokemon/passimian/icon.png index 7d168e462e706f3f94c893459801d6d66d7688df..6daf24ccb6f27848df0860dc2028bbd5fe4202a5 100644 GIT binary patch delta 337 zcmV-X0j~bZ1E&L!Uw;8INklNnUY;tm-W7cmV_GE}<*wRw@Z7gU!v;C2>DFCozAwOjeEq|1L%kZ_9EoTb^{cc?Y zs5u@=h28^av)ni7)yoA6wn5-V1hM74K%jWOU4GC3UlAL@-VGTJBj{#UFlH#v{2UoM z!rXlg_AnH}n0GSh(o8|8R8*5e^B7#~eFCZ~2DEBOysRPrwnF-&4r%%{q(ABq(jRrm z!h8=MLjBMo!%A}00e|Upb;wg4f*)Q7?2+GfnEGLEI!yhrx-BQ^P|JB1MMbqbkO)+| jNkE$RHPK;`&>z+>SFFnT<7uF{00000NkvXXu0mjfS09|& delta 371 zcmV-(0gV2q1IYuBUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MiA?fIDFR z0003jNkl{2Bm(?`UzC6n9n$pqnEs%{nEs%H!bFF${?9qIl64JZDy> z>PKd4+L#`{ZXMG0i79{{>knBJAccp=Z~4Wm_PfbPQaWdh4SLZglrK(>zVc6<37?Wu z>L>d!yNUvJ{(tPtb3P9N%zoUvigwIwaQ=-Q`T1!9p>xxVe1rh9oZn&Ze+l5y!^WxQ z##*jHoquM-@1g(&Vq-TKUlSK7@1ODME`E z-5Y>-@(~bf1c0jo>Nj%$S1|%ICn7(BOjZHtAo}FDvY;p+nmx~FGK$lcgCMNLQpNyK z0Ah$V#%lmQmlcCkR|!;tW9dpZ!#q(54z}J>e1#tTUOA9o0V|+vKW$?h+fc_}vcKeT zYZ!<2uYab7s22zFjuYCy)*GY-@dAzo#=`!!A?qgr$3~(3Ym8O9abOSYOZy8i$LDDh zW5xb#MsWgIwSV*av|z-6Rr@z*jlBf0YX2EdsyS+ZiJGJKm#H~w|3dOA zjo6>cF6*WJDK#YdrTxKEh&Qx9R+)KW|FjAS?N`4Z;A$YWztY`}O~4b@tai@V5z70yKEFtDgtKKGK!IB2@2(ziZn-6o3!GEuQl1sU zOWUPua7UBTrWp!ed{7956pB5Cb|^jyg)AxfKPdF%D2gTPWPd0f+Tu6reYzj-o%9_- z>-diYGEy5FF@SEU@*1^E6^mv8Hynpj>MExwI8KGqdyf_G6Qg=J$hVs5`I56$mE&8j zXRY}hI02L@kZ1D!SDp5r?IPS8^m4rz;8Zp{dpGwVb-K@K8R5~u9mG~^+JqgxZ0)ml z*OWk?4@Nu=(0}s%!`I^UMf=U<19gu%=fi%y2-VZ>!58tdGZ9nj=6>+^v-3Dm6Hh)r z74wk5?E9Vbc*V@R5MTL0ke`+jIyU`Ye4nN+#4Y~rrv%P?VjNjsqU0LX#3w%bCI?_Z zZQ>P^J@J5v!CNuiWKf{g^z>x0F#y{UQvx6X%PKB6)qexf85^Gf1U-Re0DC~icsvd; z87Upbg$F_sC)7Y%KDFom!=Maj^3WC20c{RUsf~(81|X=dK{|kLUjo$6D~@eF1UwZ` zyIcc!iW!hOk@*uS=n4RXtW!|RvSI*P?0LRWP<&lQ2*c7>0H7Hq@|93Ps$L(KcDAWGTO}9m8f5uX!7TF(s zg?JPQ9>iQCN(Jp|>5JW&1sC2gkkO0Nb44lIfkQf1YA>bH3 zpfC%A2vCG@A|M%)4UmTrTka9g$r#cMK-9x4%z8w<@8HAN8vzu5(y39eBOBM`A4xy8 zg+rChp{{4SrHsM5bPcG6Tj#yMgaf7qs-4`VF1(urnCJwk@F~%)>2zK!nknFCx1JQ0 zM3A$~>gkQU1%PK+x^(~w-?~}I^pEI+sM|n+Q;Qrh+mzM09zPaU1`zc9!!6)me_R0H Ye|&!Z*@l#E0000907*qoM6N<$f=^_|bpQYW delta 420 zcmV;V0bBl;1d9ZaB#}W-e*gz`Nliru=LQE15hSz1awY%(0d7e|K~zY`?Ub=qa91(9&qvh^8e=~Q9^F@ zj|-qAgvv4_6}2G5DAkp;Q9}*@CQwI0svQ8hx>lD1h-R~{9%=52q7?9EHQ2YK!7`E2YlKsz#stR34wR}Mhdwx2mrQV zCj^o)odLKZXls2)e=-J>GZ1w9OrngS`vhaZUJ$@0HDB~Puwk3bJ?hg?XyC~l{Cbux z_Gpbxw*mNk>x?lMdxq42538Fr+EIyAc75~NDdQFN_TNLbBjPy zY(LHHp#ol*V#dVafhnvQf*spwwq4lY`6J1)^en_*7guL!E5lP6!p9S_$r8F?91TD; z+@gud*jo&;!`OXEVKEuFU9Kaq*ZWxG6Njrd_m5Qfen4yt$bWQ=^|;Y8GeEL;%<{wFxetk;)^^ocfZ6&N!rpWO`VzYuS2!BTl5Cy*&BC_rpliVl&H6oAi`s4P{HFqEkaewYBE9pH+T73ZmB z$pDRqt`SPQHnC(P7DQ<=Wn;q1U+9#jApStd4y~#T`7b>?fK<4LTd7Mczrlmw=X>wn zo#10Ej(;>#K&I5Jc<7v`NWfyu=A0%}gv5&@0o1Y-aFGiZ;D3h`61dDo0B%UU_K6zK zh3f{uhyvO#UH6@+;8TDZ0*50K2%7ldiM+p~%Z|vBfF^1P;GjqXw|L(1y@P&{0(vIC zfsdd1x8g+YrtDZX)4G24rJQ96o98N$S+ohD1=BvHxxu*vV4jOzznr)27MBC8+@1Hw zc`$OiUXgd2Du0Y;{;=1^x^w|%6gso1KbRnH520jiFj{VB=FiZ?vtM%OL8L`rcEQ2U zVt}ymy@`m8yZ|aD-XS`8x6y#w7Q|c5TS@ao1sF6o0jBOF)@?|NyI;KV&6AtUtrpK9 z8`g!6KQ~KLOTGyrez@Z~Ob0sv2R-jIZkJfaH^gwH&3`V}v1i?T9$J|e1!UmqVqt#G z+td>2CeysYe3|8hmtfADnbdEje$yNBJDo$1g zs11DBWcBpQk=B6ww5dKnB7n1G(H=^66> zh7{{StYy$yNZ>%~ZHtL7Kd}T1uA{S?L2M5ZX!~C@6tg>jNne;H_Uq3WWAP7KpzcKLIdq V^W(4=o5cVC002ovPDHLkV1nX!LRtU- delta 697 zcmV;q0!ICU2B8L!Us?bOa7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MiM(-tm~M z0007nNklF>l&H6o73@RF*0v3}xzKKTLqo4sb=vit|*mWWbGwt`SPQmRPbQ zk&zgG5UJp2cj!{dH!%2pzW3hUnfnAG9slXb0~wN3{-ZFKCjmncEXHU;Ldd*2=0HoO zfXh-a0Xv$LK);j#I3e-YCvw=AjuQY=3h2FdoDV#MPXT%e98F0eDB_dH<9uTl$k>58Khpsa4$N!XM8O_nQ!l7HFp9 zF8w9yc>YK1A{Yf;msPRRU5^oV-q#VaQ|3TJ$2&wD?{*51dYpLAn3>a0C4g~f7Z9X> z1H`rkIezx5H@<#))88xc9Mmu`xc*A7Ee!Je`sK`4uo%YxHhSJy?32I`#IPlm0bOqUaDM)W}1RypyAhFv*cXLie0?6?7eyF7pT?F6KFo)P; zk$q(CXIJ5y65rX#udjm-i!7a8*^xPa;C}P?>=@P9|I6&pe0pi5BOR%Mqy`dWAXF0L zT2tzvk-!|3LQ5%<_mSXf!ETyB0-B<*Ce$Xw=rgPNyRj#s zVKf0Yf>GPkgN1%>;nPOHn)Ot5+NAeFv9K=1!Iy_Bp8z< z!5AkAhHQ9$BN#)77Yx4AWkL_ct!9cWNBBi^JC&lw=mRAX@>U-xfq2vhQXs&4e3&Q@ f^2byl{`L3`FmChXD84xs00000NkvXXu0mjf(5*dD diff --git a/graphics/pokemon/pawniard/back.png b/graphics/pokemon/pawniard/back.png index 717e9b131c4aa0f6fb9b0daedee775658ced6ce3..1bc44f8f2398b31f748e4bea3abcf7023d9562a9 100644 GIT binary patch delta 540 zcmV+%0^|Mr1ce2VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0p3YOK~zY` z?US)?+b|G@8BG~&2ZlPvhZvHfDPa8u1S*ei!=bNX1Yo=cT1QDH>v})2Bc@6D%AyMuRzT&J+L^igSQAk83Au~ zvPjihl!qdaetKYcC<5srJ(kh$ksi(XXzOe(ZX#g&*ZQr^?&Ana1pqBn8#@zUIyZq0 zwn+WMUc@`l?I0S&Ks-K~i;e+f+5=c^J&Hbp~uhCRSC0P4ozByR@tSQ+$Uzo$S6!`eu*bYY9xAhIB^Oqb zyEGvq1cv$Pn?L(Wj-v1QssS)Kl#bzw&Bft7W4xaLM0{o!Z-m^1e**uEF%^=C??dwY z0LYCGBF>}eSUrY-7ifqRwUI5L5ukWxiIi<%_6}6++yRT83QocUMF9NIlSCrdyy$Cz z;;#dCeJxP@N)GktY9t4Hd@@zK=63o_>aR~qoRB1EgKU*h(H8x1~$DD-~ z=yVV@q9>ky>$8?Xe-tSPV7YZbmZ}cFs2m+(jD6XtZp%3UXQnK(AagWqJn1xQQ=W#8 zj>V9W<6K+U#tfo1AjEKxS=5#Qd)f(zOP96^ZF|5ykW(6M4ITMtJOUWe8t9q|=m4f- zKt5MWV?GgL)D5I$L#6YY$_+b!r3d7l#)+ROd?^W_)85G2e`5RKh~+rgF%_l`YmmIq zF%gW3n>YLHf#rx+WD!zc?BWT%zifWZeRyle(`4lVtW&-6bSk&$`2j%4w}Vg6$j>PE-B{x2hmg z2o@`)5U^3lg8?97vE1hjOEnQ;u%XSA!C-+)T06`kqAgvLy;vmcb_gK;>G8LR*4CGR9n7wiBB>Aj ZxC1+5dU)Ci{D1%e002ovPDHLkV1k3_Wt9K` delta 262 zcmV+h0r~#70^S0UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3>6n>e%3Sq z006;BL_t(I%jJ?i3d1lAMtuWeO4o#@(6J>sKteClLI#cT?RuUXgO`HhB#<%c&r;cQ zhn8x5Sn`MTl=`g##UTO{qlw6LyP%OBl}E%N!9E3rN6Oz|sDBC~Ex~G|wFGSS`D6u9 zOR+xYEQTTx$zWrbX=|e7C2hUTp%z#AD0@lHA0)_J-8XV-%QnbwfYof0rHyS!w#e#V z>RW|@RG2vt26js<3^ec*Mzn;NFj2CHFulC?*tz;T$rsGtz{mW!13P1Sc&f$eYXATM M07*qoM6N<$g4#!Mr2qf` diff --git a/graphics/pokemon/pelipper/anim_front.png b/graphics/pokemon/pelipper/anim_front.png index 320c012d18a22c4e7e2fbde5cdcbb818ea75f686..d99325b030aad8fe094865fd9a46ff83b9e81730 100644 GIT binary patch delta 1096 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 S6k%cj0000}i&TD++e1hQG~)Xh{-n$606nYxff zbhzGgCrfvFN$J@BL3nt6{y+ccUL?!<=VT)xr@xL4h|mP})ki)#f5o64!uAP%#yQ7$ z(%ogBU@r9&54-AnysQhtcRGPu{-n#ot?F-{Pdh{Ih`SfFY4;d&1+J}y0jdJ*U8GKxN>%O>%do&yjwmZwrHldvhJ zV32Jx#zgt^I{MNCf54$&EQ$nj6D4fX=s-WH4uC`v{OUdSr~(qENlsG&Z&idA;9fZ8 zjLM(|c=vMe5LFRdfY@UiBIH)}7Qp!}l{({XAa~UIzpDP;0~m_`1QdS*T-7JF(!2re zPO1iE4dB-|6VS%UB~WY(;7$i%josqrvM$0Cn}8j&3fMMMf2I;hT0o{}1Ym6dbqJZ! zvc_zqjQ~KQN3g7?tWN0}AyNfAVN3^Z&*!loL4;s+2p0~=%Q8d$wFHtn#FpQSqw~(_ z04b{w3b@c`FhgwT^8A5CUKv1$O`Q^e_fWs8?_^S2cyK-`9h*0MEG#ZL0szSngW>T? zf1`^YY`r-3Wn{`9hjieRq4CB?!h#)<69Fu|{a{2U2PDv5KsG*6fVlG62$Lxx(<7pp z3@{$EYw@W8BZPe-s)6|U1Uupp#zXd<5DdVz00N>2;#mKQegmC)M)9xcc_#n>002ov JPDHLkV1g&H9Kiqp diff --git a/graphics/pokemon/perrserker/back.png b/graphics/pokemon/perrserker/back.png index 40ab5c40f96faafb79e3cfed0c961d51447bae1c..1a116b98ab6bba76242d0da7ece14f81045d79e2 100644 GIT binary patch delta 746 zcmV_teV*b3UR=72c-O=1KNInJ%Aqq%C-qr{J~o2 zRDTUxlc|pG0+(9=-vinN0osX}9erpM1i=SAw`GwKFCLumeYqY%z33&tolP@3?5$04_AZQ=RThS}$+DL_fQHPMLF)1h7bYG?G250ZRF^n5Ko4V>i?)a?BfF}D>%70Tco1Dd&1Fet)1yAf(RIL#uM^lD|883Iuj^;rQQ%KU~f z#&6tSDj%>u1H@NhU6^HHu_(6U?t%5XDZkr3aZfAS*(cj=?z)5ozIW)v0_`OThlA?m zk@}Lz6^gwhL;GMK_No}NWNuo?ybB^Y6$!mk(L&Hf&Z)A0f&1O5J6#A#BrOC>q)4Rv z2{s1#pj*FO&!v>V5(&$d1U!|2S7F(R^+Kw(LK@M8V#-VkG(BxLtL6GidJ>yqP9k$& z&}6xqlcd=^*&yVSP4k>zBD0gIUI<9hY=o&VS5g!7+@ATH$KNt(l%6d?G%>$0Zw@LS z)7#abW&?9Y&Z4p-K99`>gy7A-6-~1u3;Aq;RU(Ke$MzP48|?N|BcD|5#5FPJgqLOT ce<%q40-Ofp5LyxBPXGV_07*qoM6N<$g09?B(*OVf delta 735 zcmV<50wDd-2E+!CB#}W-e*gz`Nliru=LQE184J+L#diPz0;fqtK~zY`)s#Jt+CUJ7 zjZ8^#hV!Kjn^U$>Tbbx|ejJTZULrHWq8K zR9O@;JpyPkDog?Ze{y;NhwjYX=g;(DFNNdTOReG1mTTfSyD*xTfDcZEtEIcanEH zMfbhu6K#p-nf-312EZP%O(A98MVUUten1XQ6e@ERD4>N9f2{cjMB>r%DxysEb8z*RfxmMaD+sy$Qn`G!jZU+bB_fBwy*RZ7@a6QLxQH|pfL`Exwk{HgY^ zW+VzZ?8|tjFNc^;SXFJp72j%L6S0ux<7s_^O+HurMbwT=6H6M>Ja_&V`wN@~;}Epx Rt!4lK002ovPDHLkV1h*qRmT7T diff --git a/graphics/pokemon/perrserker/front.png b/graphics/pokemon/perrserker/front.png index f66afda091decf645fab0f0b38cf331015c15cb9..2544418b30643e8a2ca9504c29dac56690a79e7d 100644 GIT binary patch delta 826 zcmV-A1I7HA2cQR#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{KZqK~zY` zwUjY$+CUV?jm*dp8Vml~Y6JxwDA zDqx~Dav~jwr)3%AN)FTgM4I5xA#I1G0fi$@nyA!atkz~JK$iKi&sYbI0pO$dsnQ_b?>)xO-gQq|LA^|WtzfNpPbF~N?KKff z>-53d4{$$*?;}(f@;B%dSGo_v=!;ot{ zit8%`XHd#C3J6`EUlfZMMQM;vsRE&^i{kaKOE7bhI&vnm5PETbeI6x4>SM84m(Ear zRHC6;;0?4A6l3Lo5PA$~+$caf4%{n5*<9+S0dMNv^oM{6l~A-2P=R+oX%`52Oi($R@M_Yb%|k*`3}idyy9)<>&-b4JG>i%7PXLSc+5$}k@jHuk08(-U zcdUIFEoXgrWhX6yftZnxd(r>5jF7`hT+dC#Ks?jQB#8qxr!!@OYjX=1UrA3OI?_ZrscR*aeu0RNtT3_C1&NGKmN4Qh zVNC8b^qrGJ;xlwC;f09#QvK{Q8eoZC+TIb?fMf!m&@y|?OF0NJ4i=dD1~$i51gs6dXT z0tvJ{V_b=0`kzPx6xyWaku0Ee$VmgOwHd3nSO$=1AJq^k zlr)VJLKkP}e6)SaXW>^}ll5yzuRs-t!nfqFa=d)_k8tbrr> zz!E5S?}K0&;OoA0`?8EB>fCrN4K%4#mw~KW$%%*x)Xn)aXbn42F9lS2)80q`-+~Ac z0O9sB!0if!e+U+}iV`5pKpr}!S*cLp_bGL;>-5^~u(bfJczhG<6-ucEKpZ!uPsaF7qqTAb6yio1Iz!kQp*DH1E4gnZOThqP%0-z5jQ(IdBCywKIGzH*J zM2lJUhtMMZcxFNjqZ?6=>J&Yd~u8+o}vHjf3i*0QGvuFM{<&#Ayp1#5300000NkvXXu0mjfm=%A! diff --git a/graphics/pokemon/perrserker/icon.png b/graphics/pokemon/perrserker/icon.png index 7607e1ee4a9aa1f08afa7183a5bbb35c5db2b996..fe93bd3172aa7a7cfa21f352ff2b2ff857190b19 100644 GIT binary patch delta 362 zcmV-w0hRvZ1JwhNbbkR$NklZt~5JkDcXuRDPAP-#%qi}#6$0eMJq;nC@ z1O>$wgK?390>?y)&2Akj8Hs|=|9JSkEc?3w`y{yP*+JItCLaamse)a<3mb1N7n_pX zGSVBm0BI~+- zrM!)M5SCI%n(hv0B%vVU;&_L46h;k)ka-Bt#neox7bl2yqtmJl`!CI@4?VRRq;Cty zv^JD-YIZLWbela)ussStw*Nl<={{j_jH_TbC9>S?$l63!=!(apNJ*G;Qh5O?MwXlv z=BEzVl?KFw17oZ!_uWZws>9xNDFKS{YVs;>?1uV{c_e@QNO{3>yUnM2hkN00BiwL_t(I%gvH8ZiFxpMfV1y z@pfB)Jaj3H!U1v|mvAPM&P6zrT~MSLjEfW$>#)&c6Sj_$k!U{i@#p)UPJcJx4??Jq z8|33{DJDThs^O;Jg)3iK&OSS@vmd9>PJgGz;r(OT2|yosSxhnI zU~JL!&c_tvTro4%dh^V(X_{v$x|D;kl0wpW-+)#U3L-AIZ|FelC|jl+u)Y^#JLX=3 zAl9wUQCp6mnsXm|>`svXZ9S&*Ybm>CZv}$x4#lue}WSI+ASnN7n7P5#L2Ur#!`kfF|kAvy60~F)M6m?1*Z1ckGC~j8? zXx^$y$Z@*|aOWpugir|>hoZq9AJCD+6(G#O%tTUY&cJ{qHEK@4K*v*z>+@TDd;!D! Vx=@9^7qI{U002ovPDHLkV1i?qsaOC2 diff --git a/graphics/pokemon/persian/alolan/back.png b/graphics/pokemon/persian/alolan/back.png index 39e4aafafd60e7f0cf778f9143b50ba115daf26e..cdf20d0f7fd4b15381ce2de6e375e575703aec6d 100644 GIT binary patch delta 575 zcmV-F0>J&81*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?US*N+b|4E{Yd}E$Cq&tfi-up$7%W{VzpGD6o=#I zegO*X`<{RZ_u!lU9V?S}cSEuXGa*kQpx#bq6fuP_>PCQ&0RVV^l5+(-7kI$L*I;d* zI0@LAUvjSjFf$r#1;nmP?lnNG%yJmu4Sf|Qlh?Zxa@KfG5upkOWv#LrbEtse1%69E5fyx^LS)sldCPl$S?Wuf2?mJQNp5EWu=UWgK)kisWgJj=*TeyIZQVM=ng2rI>7lUZX#0n_ya_gTfRg14GaJP N002ovPDHLkV1mmO{e=Jk delta 566 zcmV-60?GZS1)K$tB#}W-e*gz`Nliru=LQE190Jr~iIxBW0sl!vK~zY`?US*N)G!c+ zo%Ac&Acg9rtc#>tq*H*70*M#k1rW(f<0?p-B2#Ui5%#3rDp$~?!q0&1IElSCJOPY0 zkvH>c=J)tFWB+6bzODq7PpU^xG*v|ruPb$Oi`{p8syG2$5#8tKe+gOwNInAMc^ofN z_W(}>@Bvg;Y7-Lx97zCNUL%kdSO&`FZ3jvNdnnMP)G(R%@sXMXxKL-?Apmyc7y;0j zr~0(zpS2#nhB?|RwC}#Gz-=(H@(_Rn9N&Nau@t~*()t%m<H#DI!e`n$p1M;o5qexBqB5wv@A_4$UV(x(F5)a5j4KDWFOTfs<*kYdmL&P)CDuQ9F%=>2JT=VloE6jllqWvpowZ z_$tmje-_rJ{t}3I5X!gczioaff_&@pDfpYfqVu-f`N;@ie-U9SUAXs<0-{3J`Z-&Z z1?Igh{e{RG0i^3BdFbQq&$fq-1k!DbeNF*oc+v!5j;&vZ*w6st0(1mWTEN#(J^u@^ zl)#rjf+Ua@G|=SR^yR#e0npA4^nhPyxQT26K>BrBM1TxtJ-0LGzDcNw(~?H{Dlr5W zm679R2+ShVEYPm-5CU_L_+n>)NWamjL!AZN{2w;{07R5qzOKF)`2YX_07*qoM6N<$ Eg0XD~3jhEB diff --git a/graphics/pokemon/persian/alolan/front.png b/graphics/pokemon/persian/alolan/front.png index fef220dd2b76f490cdd33811f8c1f272ab3624a8..83bfb2dc44e77158c5375e04a075775012303ef4 100644 GIT binary patch delta 530 zcmV+t0`2|31;<7=Vf5M z+r;>Kzi)~O4mUBy`fz)@D*|^PLkhOP)B0Tz(0bQPxjksD-!A|+EwCQnXkGMBz0$7( z03sHE4|t348;c60q44+xVQnj!hks>N17CkeV5o;2Xr%(aeUHGX3MLrvaR2$&g9fA; za*cY+m8PK9_axECOoNRQza#JmQcC0+t;Mqd%=3@n!W29Re2RbrtXXX`pq9!z?!2WU zsGwYeQN(%pAYd(@UYaN33Ti|j+Axh&tKx`Nn0o@K27hml2I>Hh zS1H`lz?6XYMqUF<*sx4<0z8s(BGGpqJipeX@vb5U#)Ab4;W z=ZvR4Z$o@uS_Z_4o3$@3(`CT*WCg%q^*06V5rA9*XtPJmh#Ez}pNTr{Q||&Wo{gqJ zCDa*+MwL&2?g)&si|?xR{5l9@2^hvOY(r2mIY2%Kg$YO%s1d>{8iKeQ+PfSu;sP+6 zok04F?wM)JOr9W^sLnud3rBbc_}(-xlU@QlD7#_>@pC39MvwCM;K(e;{^6>szYezP UNXV04G3Pi)S}&Q`?#C2rE(+ z@5}rD_x$Ws)&H~DYI<{C2G+YxjIa0mrkLPx6H}}Yx3{|@aQ7jke_;DNt=|;^t#`eY z+k@8negU{?f%W)C>!OG1m3|!n5U~Kf$6JJFykF>p!l$nYYg@@YEUOy$_A3HIJ>)1V&Xb!GOnyFTWo(Ak~m-)LX7J1+{)4iAH7`Y?SyDfxnPaBG+gwo&;c?eg+q& z;6dPH1RP+^YLfxAe^lOa=PeaM1?3WqBF@7H0c-j6(L51XP$T-#hH0c~g?^qxP=h2n zfS)W<=P*yf+-HDl@b+k+4)A!D!W|7v321NRHNb=o%QPpzBPk~meK!M!q+Z4)At!(o zGazc5oYMfB65uu$#Wn$g2X}GKc-r$e#OI}DK%BT)`_eL9e+FDnRsj4}e^bC70mvnQ zHhaX3s8Iy`nW)n~^)3M8*=Pz>LY;wVRQVL>j=(6p_^nFMk1&>iVGP4I1O<}=OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL008VsL_t(|oYj&+4#FT1MY#b^-9!8?O=^sBWulkxq;9>8^Z>N< z03E3^)K*=ZD695m_%Op$>erU$31~4U8h+7?0V)Cd{?V3Uoj|CS;uxw0bXIAKRRb^_ zXcjB2WE7ySRqRqIw>!)?H6!iNW`A0pf8hYRM|Z^KfU*KLsbY!a0SiNvLODiO@Gb+@ z768aOGEHs+rMFCSuIl1{ObnE}^L6~uMl$+N`fKwr57zkvnSg7?;AO)9wcZFaZZHb6 zo&eO7EoG3Yrx)WQfrl{tCVAYi3S(2nXJN#TER357Gx+fk=GhN_{jMK3=WmQ@5MwYQ QK>z>%07*qoM6N<$f;1SFfB*mh delta 306 zcmV-20nPr%1BL^TB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE19XJbi zVPyaS0O?6YK~y-))sjt)!Y~YlbA#ZrPsC%1RD?#Xkl+%Wlr5K;^Z=>T1Jn~BNlS#p ziqVW$$&>y3qfe>77FsG{z_X&^SNtrX%Ywc?hBj=I5PGE~n(8c!e^zOVS(9KS&?08q z?9qU}tP+<@W!Pi6>jkMoo5Oi?fdld!;|bRz+784iV~x`hD?^k_C0cgyt_W&q0FZNJ zxU7NJTcO-njqx8H1C{N3A3xgIvO4i?Y?>4@a50t-1a5se74oktIB ziI7VrwtJOCy2J;)rfWA1c{o@j4pQH@t<(4l^g11{&cerWiMW4WZvY7g>;TzE0&XHp z(L^3S+Bev4sow@>)c<2}GdefCp{aH~;_u07*qoM6N<$f*%NT A2mk;8 delta 287 zcmV+)0pR}90`>xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3?DPDlG<+o z007xZL_t(I%hi%W3c^4PMdt*~c?3OZQS=-Vv1@7UY`uaQ(`==svBi$<3~mL@@=yMs zBs}MSt-unY!B_#z4;l-&*4VOdi}0wgPzXX-J2wQ*1(3e0^?yMS>!fzJ388R9$!o*V zkku=^ZW%Gm!Ty4@r4mU)2kxa}A{ss1;C+F|Nq`2=OJQQFMh_f_ki8Lye~m=?#0R~% z>vk@dQMmS8Tp*I^%T77z+3}sxtY#!?`yW+hY~_E(9`zR$PUthfm;%;*AW!27AWEJ+ z{TBrA0SND|lE;fLAmjopkjD-PIRFw)Kt@MN_}xtco)REf#D7x+B!YmMOzuyh8GOYf zv6RvM25yOU9tj!B?7q$dDRWt@r34KaD`XZIOR12~f?~bO3ak@R>Z*kUsE$|Dm=^1E zk}t;K7MfIFi@6zr3u@se7~c$SGyzuwXXxt(0VP~wZmvE3+G;c-FlT!--~B+ZtnDGt zoNw0N2tem7&wroRe%k)B1E(nW1Ms6pK(On6+O9j+U;<;?m#*vHYy2Q)*-Q7n*+PAO zNLH$l;LS647n@WHE>5oyFcGg*1uv^K=1tLcK_J+gq2PmI)$n5W_?Tr&dR?O(X@+Xd z4*t<&kNR1`4aOcm^-+)dPir=j5Lh%30D>g(sFYBG*ng8k0@89Xki^d7eE@e6!Z#un z96I-(0JLGoy*a0lE+DXw3d|t?k21oQ8?mqXwe)GCNnfsF$An)#7JTQLuSJUo~ zfx-Rllydvurrp2yyT6MEV8WOCcSq=I^8>kmrw*`zZr4Jo>=o&BS<57oDQrOI{>DYl zw?8Wbbkzt?r*SpkM56;NzP4=#q0h7#RI?lm-rrj5Ao}d`nT&BA4A?& T%klbK00000NkvXXu0mjf^r<#n delta 651 zcmV;60(AY&1>OaaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mi!F7($VM z0006(NklPp;Z95Ql>lu_l44>)5^kaSi~9LtgiUY*`R2mQPBU3%pk81tOVu z*-oHKW?XgG3UB?zUWUbbl@*3Li?Fm+$DBscUZH`G?w@0K4?quLv6mZS4iBK; zFcpBSVZkDB1%I-Jy?#faBquS4>xf@FOVtSB;#&B|1EXD;Fq z`#rIW@^A-!)D#fzho5d3+L}C!-PA2od;X4%{DvE9+9eUd9vXhokkY*Vd-Iv+^@ zVo{ljJggGn-QaPNK)8c@BQH!)-EYi+US`>0e_bExXMbTD*pnOm7^B`8?&07VFWbD@ zf7oW8gb>7@01!&aCzLQ@Qb>q>ISa^SQalHUDMD~1QYA=p{|SII%mkZr3OxmcAi_rb zKh7}22&zsIQfy=Us?a)B8`{lHr#1Dbv(ulp0b^LX_niIP zJJ9oT=YQ;f{mR-O<^F{Q(B0z{4}iD7@!Q|>_IEz}-~9F;dHYZCfVcn9?rFKB{ReX* z2e92*8Iv6u`!8jtQ~K7I@Gev?c4zWoSy)w_VFKm(VSn)0ANC&mpP1K;^*h%7A;tsV l{$;)K`~+X|;Gb^403So%R!xV4%>V!Z07*qoL!DBsS@~Qig20$bxW##3!t{R>y?2QJH~trH+u1_|Jc4 zY;5%>BUvo~>&?8L8Z&Rv6sR3D#F{zo0I%A-eCn7KNsB;EnL4++G=nTA4JmIVz^sN%Y`+QbcU9;kip}MM7&-~4@q!KZ7|x;r(sK%UlMN`zM+m30Xn+KN_2GKsf$k2R1dAa9 z5=A+#EYJ)9Y(y4ra@r0PH^* zz&`VK~zY`?UX@ogD?<9 zK|)=}feXa+0(g9YBsS@~Qig20$RgneiBA}Dt&Rz4qcQ{PvQjPN1^@Bq+hda?e{rOX z8DP1Z)-$cAE!-TiEcIlK%*+8=08+IW0K)@Iy;Ap#J&>xOz*cLme+HmRvh8RoDFN}N zTM!ma_~ZkI^UASC%puGbJ!J@B#L{W_k3p71I zbwUVN7Qg}MSYXH)X9~e=#gLKK8AGr@A0aLSXMv6d>TiH*FfD%qu)8sUe*$pNZS^d$ zdn}U%d+PjSqiEvqMg0YwghPMtCh5Yt_LSm8lc2wxob}#;JeBT6jXC`sDiD9gHL3wn w67a6TyegyL+Lq6Nd!y;*d1_{x{Ey#`Pt3%bJ=Mtt(EtDd07*qoM6N<$f`2E?UjP6A diff --git a/graphics/pokemon/petilil/icon.png b/graphics/pokemon/petilil/icon.png index 6e9c931ee9bcc15c700b1a2085cfc808b8bca131..11aa904fa3336b79f3b15fc50ffd418ebc7fac4f 100644 GIT binary patch delta 56 zcmZ3?^p9~u0(+;Yi(`mI@5KH>H4}$0E-puJ$N!H$1v=F(QITMny delta 93 zcmeyzxR_}|f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?GUpeO-*J9Vpc1>Eak- tae88Up>o!e1p-?{zUb@yKkVUSz%a)ru}oZJXFO05gQu&X%Q~loCIG(Y8;Sq` diff --git a/graphics/pokemon/phanpy/anim_front.png b/graphics/pokemon/phanpy/anim_front.png index 31f393972614f2d1fb55c3ee2304fa54a11f283b..480c6bf5db0448689ff14fc5396b5ac66fb9de14 100644 GIT binary patch delta 688 zcmV;h0#E&%27?BWUw;CQNklg-75Sm~#>~t9a~{=#cyucBJ_{Gnr#~ zeoZS>=wDT;*p1wH6`+$xP#mEBI6DC-8Tkpou`^Tb0RTI{LVq@K1YpPlwIk4BfwvKL z2p+|w8Q14olFZ=B+Yqo=Hh3V0ZdLvjH+jVXkM@A-B$+Zb&Z0#OZSMf=7y#TE#rohz zPBamt6kzTL?R#!=^L!#E_USMVCxJ~jiG3k<;sj80T=y=5F)rd30c$2f$FwPei@6}3 zRxkxXO9n*!&3}{wUaU9WJ#f$|ptmX`71##qhNnGfdRRsoM--;K4br13VV|A^+!+}_ z4FhZCfwMDAfgCVKv9{@b7>x{*2LjP3OW-oJw#XdUXNx*-5?~K?;|l}aeyeNR(`r`_ zHEs01kp}dThI9MXzx&N9J5s1nq5oD!_DWTvuXXlTmVc@Y9snkR*UkmT2<==4@sg}T zl; z{Q(`g_<#Ka(MRg>o!F)PfdqciJ`@+|CiApEP&Jg+<7)||cJmz|>f>md-tPARatO@& zCzbEpgNFg8hjMU;DSyBLs2m0g@(1j8FX2i#jDcbBKn;aeA%{W0HqSsfp=Hz%8w?PL zA-#CcD6~xs(!jZG?&O=zmD2K5XK!OF2yyNKhnt+Hg^rFV2sGofrp&r%5iW*mlTOa%LVfU z*sl;N4F;N(QY76eRq_Z?+T;=P44GX>PJ;2ClrECL!bbXj-hUZ(SDMc-3KjZSJ*qlQ ztzQG^>Im`yI+gqdK*`iE0IpNf0|1V`LOyX1K)?d^d!Wk#Z(`~YJo4i?*XLQ9&f(hI z5U^Y|c_4vaP5zaB`jP=2?*Y|GI%8^_#mfXb-T~M#0QBeN4WS>q@l=E-fVJP~vDZ&; zpH0Qo3HX!1R)0TD#zO2w!0cl-xb!EuOxgrw%mQ7@AqSTWK{~Er34pdVMC0|01D^bv(6UnAy1;E=uq+?hE*9esQ4fx9y;fgCVFkvVi9 z!qBvMz!%Mu1g;``i_CF-vZ?bH0ZvdhKQqAH*M?y{sekp#kzs`Im`hcTXmjqqjQ{>- zmG2ZPROr8zX+AL70V-OcI(h(@`d&v1Ob|NS1o48RL99y<1Ps!-CP5GY7YRK^Im5m6 z2cYra%$xofiMyZf98r=(d4BCFqL%}ZbI2jhyoj;~_<+!st9Ly4TqdtLV7--JZ&W~7 zF@P-`xqrT@@pQ%1D2or@1}#tl;bsxAz)uIMhW0fDSnB$HjN!0^=N|02cLV5ZPQ1TJo^NNpN00000NkvXXu0mjfeBeFd diff --git a/graphics/pokemon/phanpy/icon.png b/graphics/pokemon/phanpy/icon.png index 9929d6982a87cb3a7eddb12b51e6a0a1713bfa0f..35420cd10aa37954d42c186b800f484fbda864f5 100644 GIT binary patch delta 248 zcmVW29;B0ol?#Y6 zGNVm0YcgYC;Q%)JW}Cd(&&%#hk{J2OyRivl}LD(&TP9(Jcjr&Zza=?fh)o7#! zn251D!djmc3FjMJZC08%S%FbmU7n^n>~7TU&Tdwsh=`d4v2mdQp_O}L5>k`o(S?xT z8$$f?f#T&dl!aL^;reoc!5#~Lgj=E(SJB=dcCJxQXN4!G^QEU}eh^9=QO8dDl2&&3xa- delta 288 zcmV+*0pI@60`~%tV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3?wKRMf|$} z007!aL_t(I%k7de4#F@DMY%z4!ou47upqIKrR8!Ry8Jd9U21Xx3Kf-LNo10tsoMjv zfaN7$j{OtA&E^M!d36RBiYhbIgAm*ffE5K@IO8!3?*cI5j(=)3G6N)GtWR(*6itE; z4Q?*4%rsenQ9E6o(;W79vipmlohTw=CLwGohVaTgFvRHL*>nEWZo@0000?Chz03%#z@lAk`NWygXd<@K= zb~pqVkOP1yJr2{i$74X2I7bT>9K<4rB?8MpR&HY_S}EImeIZ)aakQB=X!23Jt0-w-4EsAA*27My{cWU@?(U{{p|JAa(iHA9gd-8Q$7_L`C z+*3-g$ENEQAv;&nk|RNl!|U=TeX-@F^Ga`s<$5-VD1T#S!e`fv;d5_pZix^5aBBfn zR}5><;&E+t-&yJvfxe9hu<>-~nU{$_hJ7>Tivz#|zzJB_fZJ)k3#=p`h>-^ zHd2R_tbZ6t`}dK7s3j!(84opotQ*LwV91(*RR6nb22$OJ^D+={7|104>;~c!Z6L(h z79k^OAcPq^D`XKG2r~o0RvXB`+kq!Wb&ILFX o#Ot^YIVTWUol_Go;4JGML7FuCzMoX^00000Ne4wvM6N<$f*g@7MF0Q* delta 665 zcmV;K0%ra81%U>TbbkN`bV*G`2j>O{3?(Ih@3BV!00Lx5L_t(o!|j$oiy|=;z-I~z zn_!e{7dFdop)jE7w(v8!0~0ulD};HlDf|`(ZnM}Ntj%^>q_D8K%5UJ87*~*Gi+qNA z8RgKKOak`@4$cQ6n%`tHllNYJL2!w`7Y)yNn0bJf2MGK2|9@+PGaxCAi_g=1n6`RZ zP@joG0T7Q9bL;Sia|Fob+qek4Je#j3=bRz={!-^h2xR=ElNOY7LxEJi4B=N z&d$c`Gk^guRNYIE8c7&Wrl-Km^B$)V5*7d;vp~T3{pl3Y8Q!A?a{+R`fF%M;q6?3) zm$j6&VUC|M0)KbRbF zdyI4H0IoU5yss{9jY;3%IRH}?ed2n|U0!#Nctap^5d;e_ue|DI;%2yCrrvr0Yye&$ z^0ctXGr^UwNoK(%E^!G`*eF^~fgQp!z-uo%c}dNdFO>NAUh zAA4=jG$~y$koxP1fkX!bITwtlvVoinhAtUM@$4!YNLeucCj$YG zfsEpR-9SQ`8whPwAMF$kgz|1R&_e^^)d1P$2GXsrJYo!_?>hI4U^vf31Gww@4;e`2 zGZ43UB~KrgYsp6E_76!Q?tbEtlt}Rp>eah5z?;b#2ct8<#m(!}fc$tagf5^rFGKLA z2kW{r;sUtvyc<6XCN_Bl$+5a8RI0cYfm zq#RZ*){lGO>vqM4l;lBH#d`h;HL!fN#!RyMC2$>8z>geaYd8Z2#^q}OLlN)Tn3EKa1MZ9ob2__b({|*OpK!tZN@l3wg+PoyG zJ^*?#BKnY-oz@FucDJB&Yyu)6fKt(hv{L~rb4Vb`=1m~uyfdv-!1)0wNktP#bD-DI zZb8%r00EUOfO-#qXbV(IN}$mLjy+-z#Qbc;SO9y%0@w(FJ_DxMaFJ2rFl+*jpT$@M zm{DEQxi}!yZJ8qFnqZ9CQJV%i@+njbx>Du;xlgI)w1dS{i(^r$_6&xwZ4B5?S}L2j z0K&Ih_Ev5CqUTq@v@hBTWu1i6f$SPZiWLrI7vRVtHO8<=ZmwfsAjjN%!_Hyn4#u7* z-Kpr5t7wLd#R)mGF+$qZm$EYltJxXAm8XG&5%XVvBO!hR?eYZM6eM|^00000NkvXX Hu0mjf3)&u^ delta 614 zcmV-s0-62Q1Vn0CPWXl$Gmo(h-#3SFON9w~e zEZOMX{vinj`Q!2K#5>0RJ-z#M0{AdJVPJ9sIJp@xq zXTE^SJ!Yjj1 z0MysD89i=7fQ2z|f3IBw=)k}Q0NyPpFQ26cX(Hyaq2oN(z z2hspxu4BqB8OYf0W$7FNKUh4MIHWv$oa=CEf#!BNSO5yVe@k!pm6ZBTWpWP~q=*EU*o*kN^rrYSLDOuqZ%*%A+=ro49i+L}=mzf0D{r8^{WvZD^Mu=>mX& zS{6Xrx?2{gr7ECR1CBjn2c+iP^05SVgat5b-`@Z;Y?;U@aTvD&C&*K50L&>bS+rLI zj<~Htq*xWEm>-mBSfDwDQbA89f`jssSkMZVU)fQA6p1~@Tg9M_nZx*d_al z?ivqjU^eXOTmr%xiDx6;*NTKuJmP(T!^cz@Oe@=kQhw>C%w%-WYa0b^l5Jm9`#xyIr$)0VSl~Uy#+eD&?^cy%^ zn#eR`(nOlZ?69`i;5J31(9MI7hWQ_3{&rD1fH@sDYalKd+yc+-;@B}Z>Sqq1c%PR3VFn|1j?|yA;zIl#uQxp>Y zdyKXMP~efP=2cSHhJ+E?X-G)*2~%3<)B?^^Eh&#{G`Xq%+d4juro(0pC}=+BeSn>O z^<{*~P@mxj*~}Biuy(+JYrjfH_=ryg zyEQiI9Uhh4Gd)Ju;O#&ZAcoy+QVBwBe%4EK^Ib>!3`OM=$XWt;Y0j1cB!Z+^fCu#*5ExJJ68jL)0_q5n-@?&*Qd%9o_hivR!s07*qo IM6N<$f-Uc*&;S4c diff --git a/graphics/pokemon/pheromosa/back.png b/graphics/pokemon/pheromosa/back.png index 6afd28aca1344ed5f7b50d594b852a8459f50ec9..9cc3c9d6b78616aaf1dae4a39d535110cad58a49 100644 GIT binary patch delta 563 zcmV-30?hr41)BwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rW{kK~zY` zt(47fBOwfcA&Qi1rl^`LoAw2W4_vEC-3M6hgCybL*RPHFG0e0*>~ff3_{RQVAm%?d zyPUtDPY}=38#f)g>&1m(-hqy7^yZLs3ir6^*xl*zq6Td6W(_I<&mB}wM+1l0LcE#@ zSbd>7Kh&_-AwDHP1CJbk-h4BDMSS@!L;;#0!?T{4slg#nzTxVC?{&2cVd$c?=_vzl2VIfbG0@z{UZ<4d6x~ z%z%ZU=GO#g1@Jy0BpR>49RM{zt8|d!9TgBpz(NEl0Of%MrN#iP6-W%=05~2>B|ie= zVFS=$72v+qV1Rbof&f69k@&YsWZ)_ac>)DwASl4`Xqtd{(?FVlDj`5q$Ur7J3JRzS z4X6?VWQ8rjH58D4wgAe_vLS~PP$YJNwhXHA;`4uUS3s=Yv;)X#Q$WaP#pa>0@?kW1&jrdB#}W-e*gz`Nliru=LQE1C>`QMca#7C0q;pfK~zY`t<+0y!ypg_ zV6Y-(YX?={(#HkxEZ9bo+5=QQNKzJa{m$?lh}$k&7Kwqc%n!v;>i?Qv=AY*S_<8t? ztL&QX$+&Lbfb45;)fD6s=JQGR&5b^u#ejBJtxhb!bCX!p(7@zte-}43fYoNzd{;wn zUH=&D2tH%~S`(%3R>N31o+C&QBeZ@E^VmfYz~+Y%B1NeCtfkacfbEvf3ktB>ZpC&U zDnFh2k~IP?@hdpXg)-3MUoc(x^H93!C|gDX9|xMfsP2d>&rUz~W8l0G41Iz;O zIUxiZFW?4%63{LU1b;&TTn{vOfDC9I2#{-ZU@agpzz!H53VD45=I##AUC97ykAm-4Ue3m4HSfFP_HKmY&$07*qoM6N<$f@7lc#{d8T diff --git a/graphics/pokemon/pheromosa/front.png b/graphics/pokemon/pheromosa/front.png index 4ef21095936ab792d3ab2742f5dd3fba8310a1c8..fdbed272c4df619e634084e034092c0ece225166 100644 GIT binary patch delta 824 zcmV-81IPTa2fYW7BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tu0~Sd{K~zY` zjg`M|(?Ar*-woI{G(0!`AXAO+}7lx9OZx0R8(B7eO*f9`$1 z_k5Rwy9e`Hb8o)bIs_9t(+{H4|MKF9Hl>#s4k^q+ssK|S@?}zRhfGMvtJbwy;YUmaNywWI9 z9eDLoYjvH}pjAc<7Dw3UTm98#q^pdyubMQt*((P8N;5tQY3Il_K(KTE6}OAu(54Vs z0KIFm~g&|+X9H)gZh?*^;` z?#qV=T$k1XexUiq?0;srZ$5V(z(s043hI+XSp0~n3x^~*$I39#GSm=FU5Qh$X7V78VqA%?Y9k{|~d z4e@5{nN5J*1t10%a6nwt4lYds0=lgP;0C~)@y09|PfP;rK{vfM_^@SDz`Gk+pTv|P zB13cF&;VtCjcefJzX>gl=J(E4%W61SC#QZHTLsZi-vhV*%6d9-G@oD{>5xPA;_@^c zY@`0Jq+k17&|S5OM+2BE`Wm7ffp;Cmrvu4cwmI037uRh1KE{ABI|XJnY?btUf+hEIFJW+O0vT+;Kd0q`H%yu!#0_nzhe0000%w({=y=0~AR_K~zY`jg`M|(?Ar* z-woU0VE1)8Q)K?=~FD9wg+Zjq70B7e2dpZmV=d%nv7+&P$+ z+<4{U_r7xNjZ&U00Q@ir?M+ZsVV+<(Rz-OX7Xm-b3!uILPbsw*y1;!mCx91$>6O}7 zNU*R#0K{_wI!cAfz%oFt#2!WWAXYgE`?xWn7`}iwC&8L@**zL!3?2i-SqXzz-gGFQ z1OQG1Jj_~PI)C`^>GbWR_mKt%+?5+t^$I1LswpZ(< z8>%vDvN*zLzS&j&*U zxemDZ^Zff~@J~Rmv@-3q@AB>O7s)U|As{*urn6h~L5qQbEX`)K-%VHt+?Nj#xGt{) z{6O=I*?-MW-+b;ofJJIP3L29mSp*ziAf+LLv!HB02P4J zHSqD@gcis1b7!+{b2!*1r*RqE45B~(jpFuSMNdbL<`e8AZF0yST%Lx*EzG|o>DRvS z*jvP{0n8PB4N;E3vku}n1Ib*rF*t}9$87pO#(?gAmHM-fIbt&4OC9mjy-W8Fm3rfC zW#nJmp<4)~;A034yr;5@=*gf_0B`7*e#;S5dr5P+R0Fo*|;T0a0HCw1hO?p?ZfsML(v%E-I6LpNh^MYg!- zpR-9+btysyKHd4??n8)Q4ry+HMZdZdfDMI6$Z^(Ky0?2QKz}0Rm{Cp!!tC}~i4;N? zIW}NB4haBogsOn^2$vDMltb%fa9_hGR2h8hVbFb(a;(|mi+0ab*JW_9@c6VG>H_fN z-h#S|n-FeX-=kG31F4R~YpYbpz{0~DfK5Q0jZ^^8f=XowObS}PKmw9FanXyN^4El2 z7JRo1D5uv5c7NsutcD^c<@=CQ=+t=dHFM|peGltMol4I;#9>C-l!2({)zpVho;LF| zqOOGbW8(ij+^tbjl~TseSi}n52;V5XjWGT;@%YX(t2$h+gyDYqH3=hlPS?VCz{13G zv|I^8OBN>87g?ABw!-+lEKJzMzZeU{APZ9>w!-*nxl<%eEJGv3BuspH=l`ZCOzMCf zSr`T QH2?qr07*qoM6N<$f*Enx$N&HU diff --git a/graphics/pokemon/phione/anim_front.png b/graphics/pokemon/phione/anim_front.png index 842cce89decb14efa6933b2e8a763ce766f909f9..a2b680ab031666cb2d003f645af8329694d7b3fa 100644 GIT binary patch delta 678 zcmV;X0$Kf^2Kfb$Uw;CGNklC9Tr@iXpE_ocFTY-9)=@HoM`5=O7nC+`Wj> ziI9ZXIZM7YY1PRAj3QY`XuuewSG;1em#R1PE_;gtU_a^x>3z=@zjdfs`N3 z!K>~fP}ptx!GBayfh57h*8`@Oicqk^5~#={6<4WcD0ui%Q6H(nY1g%kz%-KnC+#e) zK=pwjRi&1)#Q@0rUA6-F{7ud)C;aRdXMYdEEIoS=z_$m%2@`w3j`N8<(9BwO>_MZL%{;XSO~>_oVh$V6X?9-%xV5!D6%rxStKnpY6dq!VmTU9dms9~xnv;Y7A delta 716 zcmV;-0yF*j1)m0xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MjA0DZ9-{ z0007lNkle$+^Y==(nrf z*X7e!zRe+H#t)gBWqE9kheKy>lAFl9KG~%SAgM}(nSaW0BL}=1%yTUh*nj851_pO5 zK)?O*4Lm?#iqM4beuMS{B8?J&B=rIqTmmo}z}I;&?>UqH-f_3~*VX>>`D*NzyC0r0 zeO1`~FkJyEs*kYI4b)8!cD=jnM4Ea0EK{oMWlq};5}ay%i(-lba%j}}r_7h#(8vR5 zibcMTJb!2ke{ni_aKpcl2Q)C32lPmq%LCUec|bIKOCGpp$pa!wOCGpcTJpd#TOPR0 ze3A!bJDXd9d2QZ+`&TX43#S`nov)0000M?vlY diff --git a/graphics/pokemon/phione/back.png b/graphics/pokemon/phione/back.png index d70eb2077e1872cb60c5ab153e1b26eb97cffee6..a8d31b659ddd1e9a8cac659987d1da6af5401baa 100644 GIT binary patch delta 471 zcmV;|0Vw{o1i%E4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hvieK~zY` z?UYTD!XOZZsT3E$ngb}33ru3xm?7>bp*_H;T*2#40}=U2ob4>^jTZg!`gKDf@A%h2 z)pj*kaZbqTew8bEzBd=nySw>W+1?prF2JEPOA^)IxHtenvj9|IxVu$K^$1KQP@OQZ z?D`IYu@vZS-u|JeAo?PIPtjld$ivhYlNeCI)wOv5^O*}^XI=n&m`tLcCND5NfOJ%} zhJ%g;;G9a>brB2XF6_GWN z1W-9}yUAA`VO|Oz{{%*vo6G=R0$S!xWHmHd0O|-(2{1lKR#b?8fk;9nClRi(dJsyc zKyaj3o#j0sh;W(}*NkmMoJU~9q0oB7uU-srWQ-{i2OR_s(v1_F(7;&i(3O>g4l{B+ zBf(PKF_!%cR+czj2*5aLPFxs>d8t8qc)=D&u$({*;ZOnlEDFGKpaLBvI{MhywsL3qbXbPq$j@e;xrd2dWe1wLgDF zV4Mr|J|CJy1=-JgM}O@j52l?>VnBgV*XIG;TPc8@MFEK63W?g7C@?$#I;u?#2b&AP znM(L`nG2LI{JDxsN#eF66(%6%!Q`*QpIeoBoNCx?iXNaA0J+)g zkAP%S$Is7lzLj|%ff0wYsYm?k+CO11aCeL*RerK!{^pAO58r8oRUu zIeff?EntjQivZuMxF@7u+;vCZPwP~z?b+vl&0pdRTt>j|)Dg+WGXxV++(@ zFDf%YH<C(ds6htY zcPANybH;#r94s^Ppl#cKml#-PT&=aA2~gRo;Fja;XN3M(xnn@c=;uDa@-bkpDPSDg zS1iC!VYasKegA|n0Wi-A14lu{zcu7Qmjky)!ABI-EASlyv;xtKB$r-deF)+Aa&hSZ zVg%8_NpFE^6I5)^!WlXk1loJ^ugz002ovPDHLkV1i>k Bn*sm; delta 345 zcmV-f0jB=V1Hl83B#}W-e*gz`Nliru=LQE1FAgcZpp5_k0VGL8K~zY`?UcQ4!ypue zA%o`}WO+C03q+2(yS--VSd%%CP~NX^&_^qnSoIGVhK%i5@2Br_u#6CYJn~ooR9g_} z0-y?j)W`!0Yd~T>Kfq^WT(xR<0CbCuU@ZmILLyTD780ZZsP@PLe^IJY03O{X55#k( z0P#F9?p{k&=gL#6TrLN$>y?SM#4_?$F+3e?Fhj-~9~Z?**m(67(7hThe(?r1-*rYNT7$^0s{(d?vWPu?et%5PfMkUdK^4tj5I)v zYZX9D2*o;HV276Ql?+)oxOdG5k-K7DW0?j>*HA9Cz|ad#6w`cU4KNVUwZwD) delta 454 zcmV;%0XhEl1DgbpUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mjg@Qfc6e z0004gNkl*W`4xni7J>Y3 z-mo>W+=Q@=12%d^97t6Qh40(0RMH4pD}XCgSG#c&U=`p<%5;T`whjhwN_!qg zURxQ<)sc`YB$(Dhxj&vLny&~ZX&n%T37u77=2asCwHRj^pXIU%RspCg)>lm^}rThFo^J5R2<^Y<&ecij3%i``XA zh*BULi)aqt0=3_z*}2&L56@xnG>%Rs9L zyTQF1K8U;pc7^2zAd^FT)B-~j2@$o4}!yb>TMvwBVIOWG4>@@ci|KZ!{u+*hv|% zVkVSIAx9MVz+|b;DOqhG0jF@-K%q~vqB?>&k8x~5Oc+^$95XhfIzqL1iYEiW3NjHg zV|k{DOLcuO0oflksk3~YLV$nn8@)V!Q9uFiN@Y35Cz?@No8}ryK)5dv0U6^dA<>EI zdb)-yr0ff&i%k?{wE&`R+ta&4xYPjCIzqT0c;2>WEb8%dKZ0zpo-iRGa=v@B_^O9g z7G`NvA&RQ;!>Zq7JQ#==Qs*Up_y{*j4AI|Pq<|g9-#`5p_JV*7y9R$8W12nx5I4$* z9I-c8oOOg5O`e}aX9R>^HDX2?K>)vYp*sQ!TBx%CsBrk{jer&sfEHq%A3|>gZ6KNe zu+zJ<04{+B#;hpSukYOs92`m!5_v$N0?0XMbgN(bTa-oD$OEvYS1)u3_z2i~fZc#o zKf)a!0c#fsvT=vEPR4(+ZUH)iqkBVGdYUO9w1GjdQ~8_OK!}35(MvHZY`fmCLn~vH zjdgM1r9DJY8UwW|d1G@6h|CHN2>;7n599%lMh22-$^nQ<$3WEiTyK5Ax~!(*{S>(o zO0@yQ+yM42aL*zGz_!w4Sa}av5mGt;r3=)c)9f}-f-V6S)CV>|r%7gl`hfa4CK&`x sUjSzM^O@`uUMGJ6AV)O-|3e}42OdNnIy28RZaB#}W-5da5tNliru=LQE1Hv*y&bpMf$P=EP;eD8Zt#t4myqkq(a zkCD&=y3R%>xeMHN9U%O86F79TF8l_77Q9l3?BoFfp1;2EjYb3zJ1GNJ%!E=YWml|MNM+g@L&)fElMLmA*N09B+6D9;i&UbGXU-gj6!YpknL{T+< zSoM312Llm9>b%4cAK^xcA^LlZ6tKhi`={T+UJ$Th*MERxOta@7;zk)Eb^^3G>j*QN zJU@rd2nfAu#Ede60DkR4cLWr)P-g*9;qcQN0WBl|EyOxMgx(0+Kr{hhr*~%oTmlV@ zSy8J0zIQuta41Dc|I=>j$AG`kIypi4jn^)>;}X_A?sKA=91Nd`gF7l4`md?x#Z j*U4W1$WaZz|51Mc9z-4FbR%x100000NkvXXu0mjf7efSd diff --git a/graphics/pokemon/pidgeot/mega/front.png b/graphics/pokemon/pidgeot/mega/front.png index ba951b145e52c2b3058913ee98363e981878c045..948738f100afad1701bac93f641321d436093314 100644 GIT binary patch delta 1014 zcmV$~k+I^a z>HdG9acc?K_;3~Q5x7l%U)NgK+2-!v3gE@Jm>1$lGx=P&ti1|&an$hQ5al#`hydS} zOCDYvM}8bTD1T?9a2S`m76Q)}E6Fl*A_skjfLZ{aU+L3qcpz;6#@cG`VULFZ&`FFL zN<{$>klLB+A=q!y5pY{A%;7ynNi^>^O1adfc3VR95zt9sfd_tnSVUSg<`L>@cLS3^ z;9aeh^94(vd{&mbW*!~b0QfiPQ<+M2A2g4j9G0nkVyvF%LPww-B;84Rdib;g&|rUR zi*RYDy(7En>G8d%Kd?Ele}Xv-+!oEsjYz(k-k(H|J+Dl`I!L8k8`4@ZKi=7!WMA3~ zAfy1MiOo^iPWhdGoww2~rY1)fV5kZL8etGlvLCGs)F+#xU3wsd-9X@GdW`2ISQKG% zkO_btn?@*a-akdXTUAL8YCM&LPK{Y#+5$5Ah})0vPvRod5O*jLr8p06D0CMDLHV1dbja<6pmc2_pbw z0CjXA18HZ#0`^olpJgNHP7{QvhA{%p0%!vazm6r&;&Y-7Ys5HyukV??l z#<^YrNMyKwhUVZz;V1>pYXIwJM4*c27y1HNBOudCnt-u?2PR`#i@yYXKmgW4SN1x< zJ}v<{z7nuEZE7CnW&I~$t#nxSSOG|10v0K-rp$`pi&U2Y++j^Et2K639eD48wXXtt zvpWvVb@YJcdE&q3Gx!_FP?f-qIKFKe9+$wg;hj8xAE^S+GVtw#8sU3d6}g?y@{t2T z51S4;QA{tkc%vGeZRpJ`3tbxpB797cI1-}DmODJZD9X_z;ISXYacf;H09yzGz@6R& z?vcfjyDp&C^Pe0B`KRX;s1x}|c;2n)c$)FE-~aq8ryrzP7p|ZOuDdvAbgo0qf#+rJT!!8d1pcSWSUug<}fHGpH z2Vn0>N5E+`(8H&ie@xWx)e5=Lm2nzUb`dbKZ-K{NkVjfc(`Tsb?KL!kz$Zp)@huy^ z{JOBRl0MtB0r1!BQkhz}AJ-3G?iW_ROsyW9Tt}ek$L;a(c>h%iV1nI=EyAHE%`Md) z9v|L+^_FozJmckngZ&Wff6V? z0~WBW+SxQ2KzkA+L^X^M5Obgj(0`-=>&Qn%#n{HYE7k;Zeh1eLK1TpYWnxD`7hTH% z1`nHPD5#gj=$2)8Q~IXIipnF@M8Y!nFbFhSx#%F-;=uXQW(}j-&&wdhwH!U*5l?tm|DV8&WKP z3^(EXk53EJAiHqxbILhnr^RgxDjQuvI`8wiEo_sx=rjG%uOi<>JX9~z`J31Ie*kdt fhrW2}cs2aLe}%WR6jeM1?jz(k51{JTM(|FFM6)>S zwA9Er3WY~das>j%yB>rvFNw+0@uVen6I>68k?FXUwp65E1b?9ec{;HGBm|)!Dg>cN z&kkgD5Z*^9!ALYVi($1NO=F>e8{wiDUHfq+Bs4ik+02!@)Wk^8AzaHG*~f4LI|RDCnD0`XHV z`+)>D0tcFP{dhSYG#x)S^I3JGJAP~=t_NK|pjoXidVZj!Km0)aYd^jLV!J}OSxX|V P00000NkvXXu0mjfnGoEW delta 495 zcmVO{3^+Osi_oqB00F#7L_t(I%f*s0j@vL0MRkL@ z0|Nx?<7gQZoUzNqsAdf8GOwVOPmDF= z8KYl5U2kE(Q`c+4PkpmE1pnvY=Esm@JxCMhQqURE)NojJnz{oI25$S?7hyKo_ z*cO9{G~L{99O%DpkAAod-VX=(5m?nLbrT<9yb60002ovPDHLkV1kv!<9`4E diff --git a/graphics/pokemon/pidgeotto/icon.png b/graphics/pokemon/pidgeotto/icon.png index 6f6c10c5d6bf65fe9795ebfb9d93898dfecc210c..7e0de36956114737a147b4866d4033b2e34244c4 100644 GIT binary patch delta 293 zcmV+=0owkd1N#DyUw;7xNklgwhi5^MB!BImfXih zrY9168Em8!Q3R5a94Viyv~h+MbQJJAKY1+A*CYB5!Rl=4g&0CVfijZ>Clq}t86@c` zz6QzDZX#pB{RKo@JFcE$HBZD47@yVse1S}S2Os@i2E*xN41e}n<3s`jMr^>Vr zM$QFl9mD~obV#i@hSDLmt!N#LeQ2>)Iv8s?veJQ2T}ReBG}v@nhoO1#oz`KHSGC5vZwX;yc;KnH0`GWLBm`1Tr_m#Gx+U_=8d z$e^nOiG1=_P+d1P{#u%pi0~Jy~R- zL+X2yIw<|t^F&7IptQz_LI+^;7*Xob@oJDdjNPXjqz)q`=cNuRCyzHeJhXXT^RsM% dxT^lsk6&J$utSN)fN%f+002ovPDHLkV1hyWlc@jz diff --git a/graphics/pokemon/pidgey/icon.png b/graphics/pokemon/pidgey/icon.png index e5b56c3ec53a8aca5a57d2d08d81f1f0cdf30ee7..c3aba700fc80d171af602782c778601073b536ee 100644 GIT binary patch delta 269 zcmV+o0rLKg1LOjbV1MsPL_t(IjqTE*4#F@H2H-vc_b5C90s?ZTMQ(--2X1xnJ{UYp z;Az+rMAw9MBrMs{nf8i6p$O;hPt(h_A7ejP@Yd>w4ueE$WPm=1Wt~8~b;n>S)1)m+ z7npS}X06Ix(5zD)A#U9rP0piM8b1llw9hgTxuCn;`;Fu-fPbP;s*)=|^@K)LxgWyt zV1&y25Swrw*TFg}zJ=>CH4c0G0_IppnoO{4FWPJJM7W` z008evL_t(I%k9#!4uUWc2H-w{_b5JsgGNV|))5wgO*Xpe`?$DEqE90v4yB0{5=l5= zDOUz3C*y7X)AV}n$JoymOqROQZV*U~3~&s5Sq4xib{lME7=P4xZUYmiVpXfi22~t# z4>7T4R4MmrX~s@qmR%GH&j#)7+3h8_0c4p{h1`u@FK9%Oj!hVzj8IWR?v9-Mr8AE5 zAMSWe&8H8d*}p#2@H~VA!m(cy4yHMRb~qFVqbY~M2NDhgAnp+kupR&r4zLMVNICRh zyT~058TJ9;&@N_Ib*CKK^UDaz0lHVkeMLr_ou@wZcYVA84%>?RV-eIe00000NkvXX Hu0mjfnvQ$u diff --git a/graphics/pokemon/pidove/anim_front.png b/graphics/pokemon/pidove/anim_front.png index e5dde5bb15871c86120483b9026ed96e2a1caadf..bf1c539f88a37da69892b1a140ea8e0e56114a39 100644 GIT binary patch delta 575 zcmV-F0>J&Z1(OAkUw;A~NklBjE6o5|_?$+Tfi_jquKjUtpjt_S!A&WH! z$$s66$WRZ4{)7C0ddO5lyB9imY8Manzpx;Lf-QXsZG7<_`3g6ScKl&#nZo`sP1 z&_v7u^)-(4idIkzkgic{y?V6-hDcW_0eT5w4kO>0rLOfU<$nP{I21XQ0owwAn8R+T z-a`PaKnr8oU4LN<{H6jOOiBs}@yrEu%n*v5OUm*BM5tH>Jt+hBy%*|821k~>s0GUQJVmS9<3CLk^Uu#M1r{$Bb2Z@s zKf6+DJo(5HewH1M)z?pa6J3?5##6<;v<2d~ZRrAWJ?uqAL7>15(6OOJO>QA5xb; zoVfhq#5m;-z7rT}hd=abBdz}6qst%6QQ7@L^F>BjE6o4fQck6Iggy~R-pHa6^*@wFXlf{~YB)@J&bf^bI|ABu% zJ!C4O-3uK&HH(M%UszB=K^a=e66g|pY%Wi>hl2I)){^S2_ka1_yZ5ZS&$6ocZ=(T+ zmaAD8A;ztw&92*n0b-0X3mg;xdVatG-XM$wV#2LI!4Wp69v*VQcs_eK`Je&b|Cqg< zUU|rs@Dz?_7iU-JEbtTHHah!+e1_{qJNi7;oWj28;j?o@wv*m3EF$87`WlC7MLS3a zNY|*8TD@5ULw}^JlmN8^D29>mou#hSDXsqj057p}C}Q?!C^Tl;y>zrE5VSbrQZ=5ovfPWD~O(fCWi1KH6? zUVi0^2xKN3FQnAe7&vWdxTS*XqOPKfe=lqR%hr6I_5nQvUN_L_L5S${Z#Ve`0a469 ztV8k(5(svS=If0>G}sa*TY=z#=~f_kO?ti+h>t9=6NrS*aQ%BD5WFQNun`Cjuo30P zA2=XIJX}@ON|(87>k11!2w8uqtFU-_*Q`IJYNfRPked7f3N53*JOJ!@B^4CO66pW{002ovPDHLkV1l!37}Nj& diff --git a/graphics/pokemon/pidove/back.png b/graphics/pokemon/pidove/back.png index 7b3f42f93e59300b75bd42c7c3d6fdc5f2f62072..134a788b53c054586a91f129721c8bbe7ffbed69 100644 GIT binary patch delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?US)i!cY{3tIQ^zRt7>qxW=)Ba?`Pcz5uCuMu>?op@R=Vfxa7pV782%%i+Y{I|(U;h8x^slkkUb}Tb6c_om2ob5FHxGqzR7O@$Pn1AJn5n0a za6mu?_@CMa2cQY6GGwtOZO`YAWC~ z{nh~<`xGgln`$H0K$>bJGN36v>J|Wz6hcs{>yQk@b;0`505Va3b{S_T1NL@D$xC?C zeMBbgoAf6iKpyY)T1}QC#(0?vaL8p~hFQcIuW|ukEf&v|FXEW;fCHUngOY9A2{v*K z;I08PrY(T1bGGK$uSXgn!PSk3H3j5vlyYG?d?NsndzK3zVxm7S`#cz;&gSS!yd@X? m`r>0NAlVGq>p#dBFn$4DNVXwOU-kO{0000c&t2 delta 436 zcmV;l0Zaa+1e*kqB#}W-e*gz`Nliru=LQE21TPY2Cyf9A0e(qDK~zY`?Ub=j!cY{3 ztIQ^zRt7>qxWuu9a>Lj`Uw~9SBgDj)(7^{F!J%6nTzLT#2j9R=+Ay9-Ojt?u1?oK% zLUOsSvkCwDfBFA&?>(($?X_2~4v69+zcxigYM9MKVI7r`H82w;e-Km5G%!baARq&R z4`YJ|&;(WTgw-2k!&;Sb_%<;&WQxY`uakK}MD#qW-nQq488*PfJ-morVmrfQ6gon* zb7!cG?m|b(W&Sau5jdh#aEwX_Ag!XCQ0n{zoaa0S*c7vWk{%lYo0OUgI8DDzfX_Zn z70^$O5nCWljS(5pf0RD;3xKHD{qJX3*)W6}W+y6Xld*L4$YXbsTY0(MM0 z06AxDEwfLL3_yaL84+s=&}Wo#WqCX!08y`{1rRYY{3-{$DlkOdj=pWSx`&{?dTa$G et^MEjALPCn*5>qXnu71q9^d zBH3`lpBoYv1asTb?$fL^B0nJ9+BwH-JCpl*1p_%W2FY1+G44-e%oRn?6S=x_v7HVJ zO?pv~F2`leTfxHbIGc(AADB#Gh)%($wF-h5=$h<^*0$e4wJUoUkiXv2mlQ_(!k{mV gO{4FxX?d=|_A z005CmL_t(I%k7fE4Z<)G1l_^PDZo}X;!7mElN12`(E`drfz}lSg@ifgF@TayGRI&$lpELCM#NTz&i4E>EY0w(Jy?+j$x5*02Z% z&Q>rGB8&9`I>k^{VFW4CEAL3o>2%1siwl_ld}Cp9Ul{a-F*Q2hdH-lXUSIoBaxLd| QxBvhE07*qoM6N<$f_RfzA^-pY diff --git a/graphics/pokemon/pignite/anim_front.png b/graphics/pokemon/pignite/anim_front.png index 2c830fb0d69a161c76e458da6b44fab1916c716b..78f10f1578f39f67688097d1d37ce57874d77b76 100644 GIT binary patch delta 1099 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 delta 290 zcmV+-0p0%50{H@vV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4GT8$l#_x0 z007)cL_t(I%jJ?Waswd@MY(~F4orOOWmE;-@Q2?(+;>FRdZ|x=pu0k#Er1VxTi3RfPYN@fK*IC2MH68Ck6R{ zLL)*FHlVRhIh|3=FK!R;@i{)O5f%6ur35~rey^rlPD_8)mLGxn38DyOu)krY^GVgB2XJ28)})qYUueEOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00J9HL_t(|ob8i8Zk<37##bpQEDm8IB~o1G2+0lNP*_Uwlwu_! zxJyLxo@M@;n{Q@;ke7JI$fGEF z`&51($MH?{?SJ`KGLMn_1Y>%A9h-Q+f6iar-LYB<%)s^K3JBP*-)AI(_@*cdS?1F_ zzr-kz2xMMH9DBf521t;ou(AJOYlKH#1CXeb!xu|@w*VicJ3;}8bMoej8kHYA1KbNm z1g#{Js}j035DGDIxoHr9gk~FH8VwGQVR?o@Y#L|*(?#x77%#&NqnMTEFkb_1{R{6fuVJQndtS>G3Wpu7}*k) z0V)LGNL)hOD|xE`#!-%}LN`!yf6f(m(6psxvYnGoL@(1IiycB?kR zts*O&ln)6=&!Z6a8W`+dbE;MWp27+Ia2rLBy>jT}8-Ea`YGTfJ>qf1_OfuD&OfRK#kat-#Xk!>si1gv*-8Ka002ov JPDHLkV1oC;9o+x` delta 617 zcmV-v0+#*v1-k{1B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE24FmCg z@FxHO0v<_3K~zY`?Ug-_)G!psEs7MYImButkl2zVzzu*DD^ZLnECnTZL4g@5Tcz5< zWKOUWN;SpE*={2d<>dfq#%JL9EAhub3k9#SJ@1$Q`#;;s5b{6%e`1vD_4?(X^4l~` zZ`YrHmwzVn7-dK>rpM>0iPwJq>fwR4QeXz&U3);nzI{I-k)*d(Rmn2%Uxg(mfkYzn zGSV~vJ~2RotScMaH@3#A)-?c$Hrsu)#1{+jQMw}(kT_*8Zm3cDx-r0`P(;#6BD-mz z_kooVXD%lP1R$eDe*~N-L&ze1R#K{g(t11th{Z-vt5O3yYXJcy)SOBmR$*tlc$B5# ztRzUI78=Rky1=9*_G$qmm9f3nO~4{?)#*hC1^gs*V?E9iD_8*0nqxE%0pJg2J^}($ zZMw)UFb2Q}dlQOTVl`Vp;OUNp#IRUE;Kv<_h-L=H&IM*-f6znEpa*zjBqsI-*dqY7 zcW1S|hIa~J9Oe8gsT*iG=L#s)ws;}8*%KmoZ^V>(>` z4lZzxBycBlrwvg@CjEnq6_U;ah6`=D`H}xae_+1=3p=TxOjDz200000NkvXXu0mjf DFGmWM diff --git a/graphics/pokemon/pikachu/partner_cap/front.png b/graphics/pokemon/pikachu/partner_cap/front.png index eebce0a0da80f08cf9ef05794147bb39d6881ffd..6965900761f47faa1913e5deeec6af2618447b7f 100644 GIT binary patch delta 651 zcmV;60(AYM1>XgbBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00IL^L_t(|ob8goZqz^!#uo|~r)`eo0Z=6T0vnX1phCPrBo{~^ zxpIMQH)+zRxfe*Jl}Jl*Cn_WtxN*Z3V7ojCvEwdou=g35-Ms{|98{5S=k z9t&}VIb^&l%d(gP3vqU|6!IXfeaaE)>62P^^|C?In?pvMtZJ(;ut zItO&!^rReMw`2r#pqt=u7u1}wi$B1Y1XzMflG>dkb>7sbxwHmqN*HacDH2x;bx@{; lq;mJXrGdZ5{rW@D@f-0jlNy>6d7uCQ002ovPDHLkV1nvs9L@j$ delta 591 zcmV-V0p^BjTnQvkS~0Q_sww=PA$ zGZ^P+zGz=!GOUBa2;c_)X{^0XZe%bR<>2PcP^-HArV#K3BjAI%0i)i52O0ucApoCW z11OLj!0G9o8dhZ!004P$pDO#VC}!}>Ig^%yXg2-e~)Hm#D<`^UDQnUh{=fA zK;T+)SQ7)mtS7A7jK&ZEx43@2Ut$InQ2YX{%z?^LI90n(h7A)_nFnBKha3!5WQIWR zk_;)3Cm0Vz(P{L6ZMGr1)Eh)_EMUuONp;!d)c05fI@Dy1A%+1=of0YXHUMoq-KhZh zDH#AA=q5P)MGiw=LF^B(r7x)zl{E7+N9w$(U2|Ct8`?l?lZILh?ZDEoL9Ebn|Aoxb d`3EB*3e-7U2ZqFgw_re5M(WfcFjc}z;~&Mpi@M4T|vJELMbP%7A*ph(P9Toqa{?6K8q&XmZ-f4@g z&TKj;;5VViIpbmx!V1X7UZed80AJX(00hR;PLW$3ga>?@|Ab;DnsAALz~cwv6T=z- zfgcO764e5T&IJ}?Fpr)=5Aevyo~SKQBLF3F2@|j4ody_3JF+P=K*c%NK%tLiQ|dTQ zTvgYz`vQiBFqa8`@f(2=6w$JKy^wAf)#0RbC_rT%rEIo-!{~COqE0UI?08-OLf)w=aU`4-7)tD z2=ICZ`khV!?pj;`a_RzOvjYmqogU-)0?@j^w6nmI%$+eRWVs8uy~w>o&~1R>!WgbD dIC&{W$RE@=zDZ5lsEPmp002ovPDHLkV1jzb4lV!y delta 585 zcmV-P0=E6P1+N8=B#}W-e*gz`Nliru=LQE24-`O{7h(Va0uo6?K~zY`?Uk{PoG=iE z9SNN%LlRvbxYhM{G$}X8ia@EaOF?n5;4LW7%1Ehl2r&|`kQc}UM2qC&9w}oRgN-+7 zlj5eaz4P(UKek~Bd5M1*aTG;w{+7Q<)AT-i|EK&bna7Ct1Y>%9f1555yZNh!2i8b| z6-Zw@K)}9!IU^CI_eqkdGI#qDlRzSnc^Mw?i2)KMN=)3WHNsNY03@31@Np#!z(?th zP(b3Gy}PDH<+uRfgd&1Y64`YHy$ggw%v?@d1R$e@2h7t#$Rd3fQ>yc3r@|RPY&LqD z#2Ppl3kV>g=2ZGHe+q}^1(2m-RuZIA3ypmKVFQzvsMP{SD&yy~ZUQ!mt4=REDBu^N zN8@po2w?+6vmE2{5CHzL%tt_ADwi&D1B^T1gSiRCDiN+05O}&Jdt%ruAn^T`cto`V zV`l>^G3cRZ&;vX%;uG}()CfT7+*xg};++B*M>+RO>IN##f4Kq*wJlD_?Kp86UC$m1 z7#hNCCd6k(v>=I=J*tVYtH=r`ka7r z&tJf8i3>nZKW$)YJfMKwsxh4}0Idzoo&@e>ZnYsw&!l^hzCzGBz;K}rJ3sRO=nw2S X)HuFLDduz>00000NkvXXu0mjf*xCl$ diff --git a/graphics/pokemon/pikachu/world_cap/front.png b/graphics/pokemon/pikachu/world_cap/front.png index 3ae7694553b9c1d9420cddc77097486489db7a9d..02b6dd7b87d8a82e79ade0e8dd0cbf72cfeff9c4 100644 GIT binary patch delta 564 zcmV-40?Yl81)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UX@_(?Ar*M;OXn1efk77!}>U*|4Cu9D*c}lO}ucYztof1O>ZG0y#;Ad5|w)#G5yd zW+8!h>`Cyu?3|)_Y{#0 z5OYfJx-Z`l@v7ivoi9$iufKLV0loFrI-KIPbMD?3%@6?hyB(R^42|;@hQQBVM!=hw z*t@R{Vo+nZ`Ak4^?g51pKwacRYfB9KfUrh=*|-*?aqR;FKpFafrAGV_oy0yMsG-b@ zvC>uhQ4`<-0^prF0i&OS18N3X5&$2b189g9fc2AGJuHjb0{}67g3zCpg#<9xg0*|U z?Gq47*sE7lU(5<2NAI`2s3*RVv5@EqI%@^tT{{LHf%Y9 z+WLW-poEI;(Q6#RR0&feYdz4m)0^^u+maC|fgeJ_Z*k{LQ~Uw8EFcnclGN=S>#Mr5 z!=)8$_<*J{iSNbm2{Q2)B=hF*f9akSclu`uaSg^rGOtPx!ctKH0000>f#V7`DOc6OGIFoBd?34Rw} zl0D@z@2;@1xyQ21?*GUCy_dXX7`u-D5GNS7uF|EvlRZ?I>rK-Vfg&j zIrpQcdR?y0hA+Pk6#}Ez#WwBYYzXR6XL?G2o5KOced$clg-d~-hZ2F8Pu&=PYUh$1 zhutRx@)r>hZU%^Vf7R6c6w}cl&C$Krp~TE?qd@`)ga35Sea}u+G)Qs?^Tf8Y?LSBa zf)u_<}_Qj6uQtuGKv4A~q71ia0Q$Jx5=+Kfi z#;_Jln-eL@J_3C|->C?MDY1YKbQ1#pgdwjW{ukKOmsE~QUWAz=b9^@Ysy>zC5M#Bat$GOuI%(a`_^002ovPDHLkV1mE92!j9s diff --git a/graphics/pokemon/pikipek/back.png b/graphics/pokemon/pikipek/back.png index 6db6f66df1e559ea61f9a3575c322b3d2aeda827..030eea3c14b8cfa09da052f756ec464ba9d0ed9e 100644 GIT binary patch delta 403 zcmV;E0c`&C1N{S#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ai&wK~zY` z?bJO^!!Q&8U`r8Gmh=ep1d&`%UO=){RbG&sCkC%5TmUJmxCBQD%@0E^$8%_CX`k(p z0p3`Dc|ZOs`;T9VHnErQi3*7n9+)Cp0pop@0A{@kCApb_I;?Mt za0_#akT?Q0ghZub2Ks=1g6t6hsznq50B{sUicG_|Fp5aAfLV+$1OPaRvA&N0Y;~-k zVgO*QpYN`wI0uh)y?cuR*VNnB%eyh0i>BG`FRzz42OrIjmoeZP&Z1p{W$`(oyaqpN z5D75FX%0svV2m%qNk#{k^LocwC^GI%$zqX5LB{0(ZX(zGubFUey@p;j$dW>eLH04tpefx%ddo5=mkp(d4+5!UY`_Can1 x))259s3kxy2W%mB+MUGjzfKFnr}amJu}@^4rbIBANl$=QaWKZW{`6e>VYn-rX1B5~dI# zaRJhWM5SN?>WqS{5df-L6afHm5k!bw!LQJg2r+|63~vMgxQd~Ei~uZks9$0LV5nao z{+wb7p6mMf5d*fV5AW;Qa7)oNhtqnz_!4|IM^?swZCDnq5=<69CzM1#c{~7yxSqq7 z+ySP__8CZ_$4e+5TBXWo?Y7a9dQ6AtW1?)gu1ZhHm29Lb@^=Hb4S7N?d-vd7t~GcS9HSoj0}Po(gw76vQ-{Q*|6DJB zz38GzZ*9W>yLW$m*Q_6?F@H?$&##)~mH-aM zm`@8Jal;gisdd?EDnJ0J-(kp-c}%eW7yBCkzMs`$Ki!i=YN`%bouUX=>nB9)B5DT0K9ac((Jdj=U zfV;~$05PjlrlV^rNKH*g2#7z-61Y2Ji207fo|FDYj&lUX1WXZ@+rf?i0000+ z@7Q$Lm;=*i5$nL@F3Ogf7{Zlt58E@iCs;;Z@&Ja^BEr=cg4Gp?&Ar?u4=|Hbko&j% zKW6@!-JMKM`p0s|fce=N;Pd`ejsSBh12&@Mfx-7<-sgbn;LD4ce+wvGd5!^7z}xsQ zB+wV|jO%SVzzm`Q=U)1c4F_!Gztl*aJ6PuAylUUxK#<=<^0!ED&T?ang^U+#sP>~ ynKBt2TS96px`cq}!^Xh%h#=xKivFDRS2_a41WXYwjtD&f0000<~d5M&00rrvu<24Q`e xEyZNeNd6_vyhfsb3zH0j55gchv7xW}@dRT_b3iBLtC#=)002ovPDHLkV1iF~XBGee delta 284 zcmV+%0ptG90`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4HFhf;VTmW z007oWL_t(I%iWSO4#F@DMRNnIg&8Y30I0BaV1ScW*|Kn^Tp&#YQ-_+u(8R99hLG@< zC;uqiFI>>G%2R91aLuwb#&zXh^#k#ol~E?% z3P7MxfdC)XhL^a$eTroT(OhM>J15so`|I}4 z-~Va$Rp;jpm)55Z@O{(%vHkh4rrEWff0~C&Ie^#fZohl~{$+F6wJrh$SNgQ;!=89G zh5N(D*3I2~%IlR{PF&bS6kM~6D0ug!gB+# z>JP2BUVrb}6{(5oMgohf>)NuHJ@@}_U!|QrBOh#EEdCRS@Z*L(OpH#egGc=kpAZ-r zKf^tLAjBB(z`%`gAOw9nF!}-ec;Xo6ZfCx9;uwd&r74h}9G|H`dWz5#hyi?g1!4e( z0$G|s_8g!R2B0ety-!VnEDVX_>jFau0u_Ln34bUGB+&ueRTao=+5^Z6gy{eQNr417 zY7;mb!Hc@QY;Yu?=*nCU07}O2I=ZmCJzN{jFe5CLT!=6QBzw51TsO#zAVG1dyFy?@m(iF~al+Qsu|{F%-bFU&+%29 z8iYgv??F8P&v`LX0B?^H*lvdi2^Rq-GUdgzz}yy5=C_5@{r3J zR>WzZBnlA#opLzgEruOB4JyT47}Bk>?n2L1nK`xpOE VxtsEoLcst4002ovPDHLkV1mHl;_(0g delta 1029 zcmV+g1p5292-XOYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MrV#aHowz z000BINkllrQHA$1Du)QS8y#!N0I>}xO*aNmmlM9ds zh=DwTjH|X#03+Kb0WQVW0rmmz0KZE}`SzBieq018f*fIZi+}k{&QK!fTf_KY4h!SS zI1mzA?qr-08oQHm64H1i{vzoBLg~m9i)hY+gpN*Oc|1;&kd91&i3m|T20X>Pkq=}j zlKV8GJ}_5+fi>px3Y301uz~{Q(<#vYPJE#OsXLuxKT8fImjIQ}%b15mU8K+fssXDZ z;CUz3Jz${%i+=$ikpX)cke+65D@~dtQkl^@Eqj2nPs^+aP^kn;cT<2b0MLLJ8nDs< zUw#)Z0YwLBk8?pp@ljU`<8)d%YL1CGvosFHxw3DDfpA3&lJK_z1dywMFCNv772)=<{kl0FT3Y})Q|dJ9(-Ao}hR4%~*3Rr~$?A=o z>Qh^y*?KA0Xq{CF}hF6?n)K5Yjd{UMwX3^9K~=(u2jXc);* zTYVCQ(Y|}G;ko0agKKzXqWS9v68~cZNiQ0R`+x5nNNij(kn)m&l$Q*oyksEmw1KR9 zisI>lp##1OK-vcs1BrCNv{eI1mji%oAXEnsNCqMrecT702NGZE@iM`ZA9a^zISQnC zCljkuSwRwvi1}wu>5888KG{z9hq>|!ViQun!@QOdgg|hhlvc3BHbzwJCnYgBLZvbp z@PE30E2x$5M-qhy@S4h-jjitDKrBxPHw-@pz$}-lFtJx%k(JE_gItpZ#=OJUmGa8W zoU3HTm|Y~*7RO!t2jys(4)QBtklj=k5);^vx$0Iz4O~&cIokuUjODHZI7gu<-+}NC z#y@PS_(27)nqNLD3fL^ObC%13!G9$w3VyG~W&x8|*dVLde3}beCR+L}gjWvteSyA5o7dz?S|4_M`>52tP00000NkvXXu0mjfetOqy diff --git a/graphics/pokemon/piloswine/back.png b/graphics/pokemon/piloswine/back.png index f7f9d30a1bb75a1e85cee9e7a024f6be79faf03c..331388aa68eb0a235f8b93136f6ae1d89cca25bc 100644 GIT binary patch delta 351 zcmV-l0igc41IYuBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0U}96K~zY` z?bI<&!!Q&EV9P_No*_a3dCU^em5@5;44ynyz7HIrL&YJO7`R1)-c@U;fA_6!%y{OD}a1%JP0(i?_ xC=-AxfMXu`Z)nZdfl(`$+Kh8(oB>5nL`j3|l_G7;8COsE!U56{2ZCQlp|ktpGi!P;R>KLAU>sF zjzEFSftCX%?!eUJyA)-K%{lEE8Gx%mw3hiZ4>hV0000O{4HgCL_t(I%iWSO3IZ_@MRSAP!$xF#k2C2^m*4H)$D@d_hY+@PVIk=pv(apl0ekg# z^ZD}=hNslGOS70gTE_!!t^)>utrvu`E&xLbAgPr2G)e;on|~36k=|?!B*$$X0mj76 zf$~Q}2r*)cq4ze{26+44S$0=;eKc}pIbO!0xA6Cz;Pbdl#HB+$Zrw!0eAAunjz!1$XFeetkkO0PJAYQ=OikB4_ZVx8LT2BrQ!SYaay3zmu O002ovPDHLkU;%<~J#I7r diff --git a/graphics/pokemon/pincurchin/icon.png b/graphics/pokemon/pincurchin/icon.png index e2973a288dbaa74c41eabf4bf679aae644f7d47f..354d7d37d8d9e13b541d3929a3f646cc59b13e32 100644 GIT binary patch delta 182 zcmV;n07?I>0*(TZV1JoOL_t(|ob8e^4#F@DMRNn|Z%pPgurlFu<&3$2>u#B9S}HY8 z87d)xgv8(e&vz0_FQuQ8?L6hzz=QQvbJwXho@r=xqYR$R+x&zA3~i<=06w*ssmz7B zvL&=wux>NsGtkhuf~9b{Lxf!sg1g*AJ$%(Ks@^Z-(f#$7Y%k}J2%-g;+?{v8B>y5X k@zNETu+9oh)Q5q20B=%YJMBwrSpWb407*qoM6N<$f~(3`wEzGB delta 212 zcmV;_04x8F0;~d%V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4H+BEzrQ2^ z0056kL_t(I%k7e}4Z|=D1i1mh&K0vv(xwXM(u`VwmOEAc*eNW^?ga!eyMO(Q5^zL+ zH|3-`T@3^Ys;SG=vOIWh@xn=TEol8!vdG*z)kQ?7wwd!5*i9mb!@CsqqqF=B4~dtk zWes&+Lb%AhR7c&0$u1dk&WhmdK91vkTNLUn&PMt$j$c50bf5(Y7u#_hdsu~V zZj@=Q(2Ii+*neUOjKjjgo>jtQOZ!limHy#Sj$WT#DPZ@J2`8}f6HOcV7AeqK;%FT>G}cC83S!i2L&e-}GjRxW2N{J=EZ zys|V)YEr@USKB(xRNiDp`ygtA`_sY?ilT0N%q2@G+u!+FqYOGp&ePUTl#=@4K+sb5 za!~+-1tMbdhk_;xMHP~o2tZ)sP#~QUbl4R{v0Pb3rEK5tB*miQ`DyXcn~5L5`=|>{ zM};3?7uV|gZ;*F|9~{I5KFG#S{E*%)0ET>Zjqt;etOm4GkYUdc8n8ZUj{NXn+czt| Vx&^;vpWy%i002ovPDHLkV1i@xUV;Ds delta 764 zcmVik z0008ANklv2NQi5Qe1;ntilzZAP96?Tv!$Vh(DAlMvKJ34K?`{I4&3ni%Wa4Nv=Ye9clUvZ`wzFlYH2RXU-$iG z3Z**gwqN2ZKz~X}5u88xd46cKLhZ%*%pd3ZE65rhXdCpG`+1%R*!KN}QM$DyCkxCF zkorE*>MU#G5Qzv8nJ93#Y6Vk>%syAZK85{CkWwx#wkRh7 zDd5;B-IS9ED3j6cQT^vNEa~Nw@Z9NwfhI2s=|!(z`zm(GUb1X=1wj*RV6xctSEc6% zFgi#!jiu)!Rmpc_I`qgizB~K`9Tik@bFzX{oZ_D)kYfBGkP@Oi6G#bBo(ZIYC@%>_ zMUj@h#)((2Kle23X`Lqg$)z$@n!)6A(!17 z#M)dZL5C?L3MOfl;=WHL6+{(OZ=MFT@B=vKb%E(P^8-wNr`mr*Vaohq!58=-8C>`w uzApfV+`2~iVT_nc);~V-1DyEbzm4xJzPbg%RxObL0000Vwb=qF$Z7a#1k0!h9xljch+4{+n z{$|{deP3(-2lR)3=MpI}%3|J4{LeI)mY@{-8&s&-49OQHZ?0nNbmF?M?)G=Pwm1K}7pfMed5%#@Se z~|qC?fE3bp-oQnol&0gb>f0Lo)xkwQjfE3*Z35Xq_vYcGoka}%H%FM!U& l?u(iD3!o~vANywJ+$UJ%p0R6$0W1Ij002ovPDHLkV1h-c@MZu2 delta 541 zcmV+&0^|WK~zY`?Uc=G<3J3@ zog93w(nZi)ES3Qu%Y?lr9Sr*x)@%^;b=tl7ZCBEaKbq{a=Ry^jXsn+`(tog<=F2{< z?f(b#$A9M%88GVN-d+6XG+mngThRFQeoyTC_ZX+60sAS&ct^Zye>}!xf1&Zwy!dbf zus{9L6Nv-Q;|-AY@hJ@xQAh?H#+&}zE~b>uzYS30nZ_N!GQ0MF%-Leo9fi4c1Z@{nt1}}5aIEk45 zHy}n-LW&|Apapo;e-dD=WTIdCcLptS7O4PH$EN{65g}p?1Ez$TLIs40Few0x6o}Qq zvsg2;QmyT{0-cdprXZ`@ElDnk3Iqcz1J}#g9h9&DLN*SR6W9Qa$f0C%W-Sf|)gG4U?Z*2=-S0w}^#0TkPEK=x*;$^mg4We09Ve4fPVQvCU;{~vJks-HM)<#!DjQSVY)o9s0}>1@G%X*v z6WJ2kabh`y!_{NyBhM|CfhJ9GBp_>1hfy-A9`ejw8)!h{mO3=`F*u14%b)=5dVvf8 z-RX8V`XXW@V&%+^LXzLoP6cMgpQ>C0L-n&olX(MT?bs$qU@C&?{}5Nl{;YNpnEo3W f!4jC(4i}gg&g{S2j$pJS00000NkvXXu0mjfs;o>A delta 215 zcmV;|04V>70O{4ICc9qQC9{ z005FnL_t(I%jJ?g4gxU@M011Oh7#^CIdVsp#2pozVOl$#VcyQ{zuW&d R6pjD@002ovPDHLkV1f(kT?GID diff --git a/graphics/pokemon/pinsir/back.png b/graphics/pokemon/pinsir/back.png index 0e66a8b70fa4a70f2dc458b3004d18f394b69e27..8f984d7965b035f7abb52d1b7129e2bdc5cab86d 100644 GIT binary patch delta 657 zcmV;C0&e~61^ES#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ZptK~zY` z<&-gR+CUV?9WNeOa8Se=u=oJsi7@0-06H<3Na@gpBudVbmuB)s=e@Pc7bp{*d{weT zRDYRCYYCiS2Biq|P&M4ArXS(4}ZdX1NSwW$m+w*`cGUArv*p$$lXGwarKt$%0iIp4IU zL7$LjaAK8J0K>|EEpX1G#h?LN8Dno+XW6&QFoG!zCI%2YCW#fRstYnB2RpEbT83`>C=i(=zSn`> zRlsyMsvQDXXK9^(@DAz>$v!YpK$q&{6mv?co#R#+n9~+eX;D}{=_w(-<}?PeTIH4p z4MW--XZ00000NkvXXu0mjfj=VBw delta 646 zcmV;10(t%U1?&ZoB#}W-e*gz`Nliru=LQE29w0LHz{dap0#8XqK~zY`<(08+;y@6F z9U2!jI4GhGSUf-&5sEwoSS#uyQm(j$Budtjn@i=5mj2E%6m$Bh|Ujnvup2q z*C9N>-3TGs^YPEWzsJJ!{>vI*9ci})Apo2o>0=v$kNY8z%TFKof4y)_BDm>Th8hC0 zAAkjPT{j^i0268hqjv(X!|wE*z=f+Bb((;E!|OxTHy1%)P8iw1-~z~`9tQ-0iS6kI zfYdHeKu+i_Eg~3UZswpT4-#-Byi)|`=1KxrFM_eJ_Sk4?1Ih0V7GqZQ)U$x(P4<6g zYhJm8F{vkbXGxZ2f13?{W$SGzfW9pt$g0|}vL9N2)LFNmtNwS!p0jO73JeITgA?mj z2{5ee*8+1MFNQVHUNQEj`)u{?G6-P?!>Iwpo=IZO%Ibl17z}3`XfwN>Fl6k@(k6ui z1fcu3or3~h-8UXxfhW_~F|`{Lh_2~Di|ot*%YzfxL)C^}f9EI=niX$MV0R@ji^i3L z-vH9e;T=>Sk|r=zK#%HmiaDj!_HnBO%(nSdO5~PKdP+#Y-bO!Gce$lOgMilStbfX_ zA=K)7vA*lXaR{g+xHQbwVz=ar=L;9$v9yzxZ^punNuh~C6+m0p=MIn}k;|Rk3wg-a zXa73cIzeL?eCkYvkRBfwg1vmfQ|8o!lv8E7NEL8Z6dZwEpm9T#@5N49xEDq7XYQ$| z!1c38Eui&U6#KajG8Z*K#jad~qQJmnM_fLUl<}R}lNw;L{>G1b6n>nG)Ji(lIpH03 g3Y^aAKk`TV7vh@D70P|B@Bjb+07*qoM6N<$f@_g7(EtDd diff --git a/graphics/pokemon/pinsir/icon.png b/graphics/pokemon/pinsir/icon.png index ac2a4bed026a9daaf60f1a4fc8c0a12bd0097e78..ac89146116cb1899968a3fd85f5fcdf352ad5692 100644 GIT binary patch delta 232 zcmV89r2^J%n(mtOBZQ4F4Y1kSCrAifE|=3byqCr2R?@PA z*hpzIrrKhkP5)Yxp9R(xVO8ldfT$~j6tNbO{4Id#~>A?^H z007-dL_t(I%iWSa3IZ_@M&|}|2ki}PAf+Bg$abbPrFV6~QbPi<+s~|jJK1JoD{)AZ z$2UVVJfa^j4%Mxkog^_3uT>2wHDiQVw*s^TijcGtUZii+5@9ea p4CaN2bHWrqDjZ>+er&POj|VJzt_{A&E$sjR002ovPDHLkV1k*McHsa3 diff --git a/graphics/pokemon/pinsir/mega/back.png b/graphics/pokemon/pinsir/mega/back.png index badd03cd06563f2dcb9b2c62de1dd07e27dcd5f3..f57585d8f44a9911ea780778034d8cea7cab0a80 100644 GIT binary patch delta 763 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 LNkvXXu0mjfB+wP< diff --git a/graphics/pokemon/pinsir/mega/icon.png b/graphics/pokemon/pinsir/mega/icon.png index ba6d5b6d4abc6573e38a17e52550f0115434ecbf..57caf09bd32e4fd0179e942636d1cf04c9c1d4ad 100644 GIT binary patch delta 486 zcmVBl~6bEokT?NSp2CURaG%c7FzAfWxBKyu6myAhq24 zL(%_0dDC0_t$Czi?F-SZJ{Eo3>^9rf^RwuT^2^uVuHH}u!&;c?LC0V9_ooy<$D{fB z`-{>K+tk5T)E%IV#^z}|bSMXT(^av;YufYAnt_&zN@?aO_@o?{r9f1upi_&a`%;Al zH&qH~HV8r3sDHT`Duy2+YNO(cuf~DB=$OuYQO*rPJZg@h6z<$K!(00BR?=XnA*V5L zD;Pg}3gOuK!vDSL`z{cfw_v#7lDioUgBQFEZU)2r;R5Bg%V4OZfWMS-0>kJzie85j zCWBe`#T9|M>_;#ZEDJ$kq_x(hA>G%Q!8Az_m0X;_Y+uuO{4I(8mY)!WS00F^CL_t(I%gxfUZrd;r24GHI z4@e#$unKfEkqGF@cS!&?ow$iW7q3be&-T>O(U4~{9KeGHmL&nI&7i-eB+7}WE(O9# z`f*1=cOPT_>yTw&%$x#enYU>7Q$#3YAVj-w_hYbJaPs9<`+qbBk~to*C_T_V#rF@j zblfPEqSF`y92UKz@>&>;)N=0*MgJ4!O>fM%=0^{ z>P@U*SaV%HsPMb~{+I%&aMWM_e39y5n>t7a)d5l~Y#z5mhqMqkT@@<4q<8wP7~+vZ zO2uppK1oZWFo@Lxx)p@ zYn#EujsosdhzSgf>nM8VOXv({-4|C8%w<11B60000!6oxOx1+fX^P|$=GOlqTUsShyacH^#w zvw#gD(HYSdO*+@Imo{x&&`8Lzp(L6yvvH@37WOKA0;F+OlQxpZgc!QPGgI8%Gd@7) zZ2yn{+*~HPA7kNM-%+*9?Z7;{!u2$rC$iZr4SBWcww~Dm3Sl%Tp#EaqHw>dfY``7H z_!I%MfUz6P-hb~?Q~?6<`#b8xOqv8V{I~VgKE2|>(&`d_|AYi0_V0V^DnQqzfQ|)b z1%Y?OF_Rqu0zZm2brF-23FfmV6sbcf7gGRx0!5+#XKLGa2a06Q6pxtF1^x3wcWSrE zJT@GjVF_Kp&b%Ay1pwYGeES*;b(~0CQ-1^VMU;nlK%VpMfF}OwMVcy@ z`w1y1H*;4xS&`sx@jX(5fIQbtPd|tquh;UA?)v&62cnyR^5E;oV>z%j2dV);OFTDG zKM0^wXtspoARvFSqQ=peD?lfnw7tRcXW=@eez3joqn~1T+bXLE%1pXrbaE<$h4wI; zz=e!(&woFmT^Q=eCdh%R3sBinz9HG}I&l9XSwbXlNJ+6r~#w*!RAMWWduM z=Ni|cMEV6&G{_{O(CtzciUnd53Z!2!_6Pj}>^5ydQ@kVFz9b8nVtYg93*#B)mt@X< p_4=;c{y_sV@8J*iA)KK33!yLhp^zwH`2YX_00>D%PDHLkV1li4IXnOW delta 672 zcmV;R0$=_21&9WabbkN`bV*G`2j>O{4I?O4#sEtI00L`CL_t(o!|j$qZxT@ufEVL| z*o1W{Xu_#%YNKAMKVZx2#aj(?fD0kfUC|Rwy3cYKOdAh0Zph;TB$_pQ@ur6s?kfES zNaLv{Z6w5m7<$3kEuP%j{s4Eb^D*->ynXXYQW*blC~EpX1Ox?j4`-7w>r~MU1-s zdNejT*Bca2dw(|W>$+YhI$#fde2M^BK$5PlxxY_!Xdr&~m2y8#-#HckZ7p>`x45^u zvC7^(B7unbb!STf=sFb8Ho+((@Rm4cvdw|xrD#!um=+B%o>)+z4k1rw0AdOSdJr=q zL>mh9wz6AY8K)CIv|)r1#y>A@ zTvY<|%P0@=fPB`o1Dg1&7b{oz2`MPovzK|YM1sA+eWU~dIi?w|eh@ugZss1`_VmLa zi0%N&gQp)4{ej&DPzeB<{HcNZK>+2v)#SE~K#ExGN1rbNjaX^>gX2%!u}S@q_P>pO z@V&ZOQhz$~+_%T*D<3TI2V#ewemJOOMgLR8)iu4LBoSy6 zH=?1UVIWYL5Ws2#P;#>r%j7<{}aKYI41#98QfQ@Gd05`&bOps&z%7_UO zTO=6JvET%i)eV2c5- zVRmh{z#Rsx9V0LUuS|eN^o2$Em!@9MVO78_WEG`fA{qWFs~>>MtVX8?m39zy}*K R`Tzg`07*qoM6N;tV1jT9xFY}n delta 417 zcmV;S0bc%)1c(HXB#}W-e*gz`Nliru=LQE2Bq?ryrWybM0c%M_K~zY`?UTP!gFq0* znUpljpC(ow!&uPa;R7I4bQUx=c9#q<;3N;APG&4DQf!(KWOTSDy$|Ksl1d;X;;?rq zENt?%`JYC$yL z^|V^S)eR1qhTj0%5CaCy@@Q3GK6DsLW!9G)AMzaU@p~!(T@)*A|66_$l7AXdF zEI59(PD|)qaMlXne|e;WkI|l_GZX-JxJ@X?0yl{AhB$)-3aD8gg<*vh02>T=jq+=| z1@16lMXk^d{VDtcL=2!Z)p)?12pqsAXGU3LaBg%MFhD7n{BTv7em4`eHfBJq#!3(IGD-GdBYW$enI*=#y6 k-8%iAqPo=rwX9|Q41No1|FO?{9nSy+p00i_>zopr04*pVuls~&)6CC#2C~F@zk?dHT~?Lme5eeH{ZHgF7mfB4ivcphho-_EB12=MDdE)i2Y`KJj<*7Cz&ED96&N|K8xw?E0R&7`8-H+6ThNmCLN^dt3lRde zA5{Na;MgT#rJD*6=vyHQ+!l0QT90Yr6sU^Z%#0RJ0ReoPs$OWu1O;6dqgEAWZ|rS0=?#5n|B1&Eg(1ZHmnTo}|S0b+V4IwcIe)1Q0t7VeRj zi0I{V^Ze)?hJVQ9DQ!MKI6s>rU`&4nm>FmyX5MfHk5dL)h+^H+%Hc^Y-Cn~+sYnC_ z2%FFRyUT=Ax_ZdeK>#Fll2Uq=D<1*&K$GHO?tu~wklc15V2$ktv78{F-XLg+wiwwUs^iQ<=yG0UG7us3 zpn4^xv>M^7H%WO$D}1*%0KS_O&WZ8?G%1%m%S&L7buS|=IC1dRodUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ms1HEZi^` z0005-NklF>c#H5Jfizp_-C&0COoLwMe;N&?{|_bdtsjkS1|Vx;IEpF5tii z@DXx{6uLqVm03}$!oMm4!zs880nO9r?949bD>bZ_TW`i7aDR5u#V0!MkEgT!bD{x| z=JUOP2EbXKPY(k9K$_?AK_KZ(JCX8YegFzplY z(#JPIAofC(^`{VZuZ}KhHSO;+~R3+ z>Erwr-%0TY%oUI06AofM3p)r}&#{Bpx3k90ST>a$2m^Caqn1kABzW|?k{7hmCjmU0 z9oIzl*fIo$JIf|w6|Q9woZm}k8w4VJB9Fi+gJ6e2^GfRvh*Yy2eh5b$00000NkvXX Hu0mjf?F9Uy diff --git a/graphics/pokemon/plusle/back.png b/graphics/pokemon/plusle/back.png index ce81a914a8821d884ee7244df73810d240d5bf6e..b63fbb9ce537f4a431e0659fc42fbedf560f4f5b 100644 GIT binary patch delta 487 zcmVVroTRB#<+=Z22I>lnRwFuq2=?U_U~NEu2N1ylEC5-X@FW6- z1)^I(A^feO5GCZkJPYK#0P6vO_5nN61#B&_?gGft0!b(EYH#QU>>ZpCr^Grz0M8Id zo)L`Tyo8I~I+Unx+0U>C&Q0by_8;;_>iDqDv42ELxdM(UW8IA`IMd_g9GQgN&M7`= z?ZGG%eZUR_)cGd{}J4=KV>` zN!QPf1lH#x5=%N)e^lN_G@?y)0ibMzI90%w3_y8f5F|pS0Y*(gA^3KsFiLInWPqX- zfEIwlHehX?>6HN%)|s9eAhiOo<_0@p?m%X5&Jv51TRlzeFlUz&v7)1#I+i%yvKey= zjym&#`-i-qI^M1d?vKbqRKP9+us1SAsGk!N*$-sMzqDR~N?M_81J)h>pBuUXtlQuL zFB{Uz0eEsd90OG^x@(}6#gNnnmh3!0IHPZuM+gSEn6VcApnd_Xc)#aR_*sYm0000< KMNUMnLSTa1fy}r7 diff --git a/graphics/pokemon/plusle/icon.png b/graphics/pokemon/plusle/icon.png index b216d812b8e3e52b906bc1f32cf3872c0568e21d..063355f2813a3e3109263545d12792f95ab00d89 100644 GIT binary patch delta 199 zcmV;&0671}0-pkqV1KGfL_t(IjpdRd5&|&{MSFu>iXy=@6>HWb=&2S_v!?=q*s0he zVnS9hB=HQx5SKUkznwongkKwWJJe1DTVE%YHVlX+U=~k#HYfMBoDY_wjiE z%@$C#KpIqRVX(9>6^6BBD~#y}N4!5=KMtSl#}i>YaKB98Qd|H4002ovPDHLkV1hdo BRD%Ej delta 237 zcmVuK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4Ja=wR!k!R z005{-L_t(I%k7dO5&|&{MSFu>iXy@EuUNAlK~J@anw|;-Vy9w@s0l?dBoR1&@`7`y?NCVLNcYakp>p00000NkvXXu0mjfjU!=_ diff --git a/graphics/pokemon/poipole/back.png b/graphics/pokemon/poipole/back.png index 7015d806adc32c66c018623924f78a27982518b9..65f062815beef25eb1361558a41c652cb2de90fc 100644 GIT binary patch delta 512 zcmV+b0{{Ku1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z)zdvs!ax`Y@FPbwZlrNGLBBw?CKN_r>L)0pF`*vO!H`I3>B`W`MB<=yZ6fsfUaouw zpQEU~>s=X4j6Op<{D1lPUV!|usci!%jh}+!<`zJ=0^>Ip(Y>hzJ>#J3RpdJ>_Tah| z;&QcmcbTjGO5MF)xn1Ueb#=hGbunkot*QbKpzbg}7mVc;vfWocp!t5#;^~t_ykJ?M7JT*lpa66dg_{`Pd`qSbf`!j# z%@AZn8vC`di1H?|q9p=T2E+=Apj3cUs7NwX0qA#yrOFExDNzq?ZLZQJI??8*@T|>o zte3HsRph%#hu@W3J`XYumi|ng&x7eRf;q%bb0x5+sf7i-HpCMppq5Dy+)>NYZUk@X z?PW&vtBmoO;7Okc2vYoGYVy4x#@lGCehdG52>Af!qDJJIBfo(F0000wO@O}t<;rjH9U%6u*D{zG zeM39EFR%CR^{!C(TTwg(YUQ7To5~5GoCNA`EW&!u1#R`pvUBohe_Q%ynmOWOyZtb! znfaBH`Ls1HYFk;r=$M$NMn_fxH=txt7A;Dx^lXc`0VNxSjd{8+p%MWYm~F8t4t-1k zWe4`rg@M~kfoi!#yUqcuJ%3*`5h?-?1`K!r5cEV)EBCtq>o2fDaLt2CpC#}k4lpn( zs5~fEb_sCyFFs0zrfaGb4ZD1~`p|>|glr@d@UlM&viQwCDf;002ovPDHLkV1lHX+&lmP diff --git a/graphics/pokemon/poipole/front.png b/graphics/pokemon/poipole/front.png index fc3f513ba223da0f85fdcd717c7ec78c426b2323..95042adc0dd217e996eea6f13a43223f1f6aa7c4 100644 GIT binary patch delta 533 zcmV+w0_y$s1pWk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oO@HK~zY` z?Ub=@+b|G@8Aw2&t>_~(FCbKHYiQT{6x7I;K!|~CYC<_3lfoxvDNqEZyefue zqS^BT83H70fdJOKlBuQdR2sZ+N!viya5bbe**qp&>C^3t1vId3*;HUwAG87BemdpvEzgK`N zH9#lFDdIv@CZL-ON-k&dqUm*8UUgL}H3j&LN((sZ?JykA?)IOQHUs7OwO>x*p?=Z_ zpb$3?G_sHNy$YCK-TDroUXDyYbKWnL<7Hy>iFjB4w)sT7=~;c|U60O+?-pNvIS8wB zGa%2SI1Ma!H}E5H$gIypF`Q+&t%kf3mCP+Q(8SQxm_x`;Gf!rq)1_OHiCtFEr>%h| zW_~vB77Oo_7I643=RZ@fiYvoA6{bNDrXlBvp&L$0kne=tbYyFQIp!m!$PW9jwitT` X&xgYw`IeV(00000NkvXXu0mjfEz|Yc delta 527 zcmV+q0`UF*1oZ@vB#}W-e*gz`Nliru=LQE2Dl-jXa_#^C0oX}IK~zY`?Ucbz+dvS8 z7ugc>t>O{j1+2QQLnKa#59Lb6s1Y}iMWo>V54bWxQM}RjBJ+O%!JZcV2))C3;0d zir=LZr?>2G4!uN-49${)aAp1J8%UALx}4 Re*gdg07*qo1w^hwV1hCO{t^HH diff --git a/graphics/pokemon/poipole/icon.png b/graphics/pokemon/poipole/icon.png index 37b9d6b82cdfa2ed3d49e063c17063ad90bf43ed..dce46b073d3e5f545dbbbd5e7be9cfd05eec367a 100644 GIT binary patch delta 287 zcmV+)0pR|i1N8!sUw;7rNkl9pV{u z5D8N6A>tieq&U=6K}whSP?J2m>L8fyeZ0Rsz9jkPbDbC_9dH}7z$V~^mSvCOo-H{T zwPuxZP!yF}&A>(=<+(Ur189_9=u*eFjXW<9k8y4@$hB1YmVW`%N_GIsJkEuKEU5_t zyJ~a5Ir~d%_5~%d%`!8+P_LL&PZc^4BBb06R#=PB2l{5MD&d@;1igGc5Ombm*VHBT zNEm?hH37mH3w*B^>Vltne=khDz*`uIRU`~m)FSnOghA_s41SO>JpeCElo;Y8VIHnly}qiBr!oKl002ovPDHLkV1j5|erf;! delta 330 zcmV-Q0k!`10-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MsGV{Tb$( z00034NklulH}9VbjMi1IbKG_`=L)gqx#PNU#ui5b&{?wpXbPSSC(}_A0bcu;6PDsz zCjZt@K)fvXyASHcp_Qy*CQgY9*U^CWmE4r@(Io#vXMqaI2C$i624 zZxzbrZwczJoQ3^xx1ZH7a cio1ll0PKSkU|o)(6?wHPf!Tm_X*mS&>wJH+_-G$0|?^6 zr7~|&>=+x(OlGDoJ&Qm%-<fR&&QBjDHqSotvp6yI|ra3;=DppLad ztIgVGK!iBd0ysq#Gq5dxPMPS!1`r^?tN;aLKrtn;1lU%191ynLI5yjj_#Q6OB)&2D zage5QD&*^lDBa7~p8qou(8=v`Z$EB77+<6DDn}# z?6OlEWPk^G89b>qXd(e4z))!cs~SE&qtZl20&X)Gl^T%*_}PPh0#M2CjfRmGc>j4p zr3bmk#YO<~t#qXdo6QWvrFn?n;%DY{ZNPj!>vGoosPq`A0AI1mmkGev`5Rx7t3 z0vI>*>6HoSjW~z9e4R4`;Bmf;`gwi;KnAc2qN#O0)$hrVq4-~akM(OP)#seq0r&?H z&&+-Z9Z7$e))+;6k2df52=qL!-%?WsG0e9vuSL1FZxsf2#ldidqpZ1-MTg)N+Ih;H6I*z!bkT=!Ycmxq3sb2DQf7S_0}; zI!cE1dV;~++(c)#nz(HWm`*2c!Rudz8bcir3qJZW0r)=s5OeE$Z0a%xhV^WGV*)w@ zA>bifX50X{Ld?T%mK_050c?XTYMG6z=j26@zb}7>hL62dPge*|1Mm+ZubD#=RX}kk zwLxyrbK|;{{R%+4qjbR4?=W?cUZ5?DHb|+_!lM3~4Zum@wlL!pfwR{iLN^6H1)R{4 P00000NkvXXu0mjfgEZHa diff --git a/graphics/pokemon/politoed/icon.png b/graphics/pokemon/politoed/icon.png index 0b3c3d7b0f25aab4689b849b629806924a542dd3..ffc6a38a4862c5af1e2b0eb16ab7a97faf349094 100644 GIT binary patch delta 325 zcmV-L0lNOR1C9fb7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Srk*K~zYI?Ub>y z#2^SoGX_k7a{vEt7c^TfkZxz*yroDAj)Eqfz~glMVvlc`uLZIU@}QW8CqMjcf#5+P=8s+q#Qf2hK;~Qm`J6rT z2Vu@RWE8&Dcu6$SP(WOl5c_Je%J!3{D5tc@A}~d XDUK66`QA7700000NkvXXu0mjfboG$H delta 364 zcmV-y0h9iY1GNK?7zqRe0001qplF?uEbFPoCzbN|4BPbC1QRf@RI`)5s zQP=wxiUL89_5@)u&$#f4h&i{s;iU diff --git a/graphics/pokemon/poliwag/icon.png b/graphics/pokemon/poliwag/icon.png index aa84ec0de1aad5313add0eaf30d5f5ef7a9be609..c0b0e62229d1196d3837e86b019e418a8ec9d28f 100644 GIT binary patch delta 271 zcmV+q0r38a1LgvdV1MyRL_t(IjqQ>#3c@fHhI4`jdVmhPI4P2)pxC?BlLf(9p!ad#+zb1Dta&Bk^x7(h?NDfME`t9t%JkbUh9xg)21sO96}7Jb?5-4gEKck z=}^uCJ)v|cLvwwlg9!Dlv<~g98Xej_D@z9?Y#r{gWN{Z@jzkZD%PDHLkV1hLNeo+7b delta 305 zcmV-10nYyB0*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4Kf5b$4|Hb z008SrL_t(I%k7e}3c@fDhVKa)=mT`n#Yrhy3W~m4T~3g8b@L%yM8{5rfUi*7J;u63 zkVd6V+hh@3^@hNGkZ^zQ1NgyG>V5L8?HPL!hk8vMgt9eehv^zoai?_I(HFeEc6&R&&@GXZBL>+&rx-Alg(v3 zx)@1>;wa2?a%BOc;9s9~a5$Jc6nW2w-zAc`@eevR200000NkvXXu0mjf DrC@_J diff --git a/graphics/pokemon/poliwhirl/icon.png b/graphics/pokemon/poliwhirl/icon.png index a7b4d27dfddbe1c2a224f4c221b23015509ee855..d4c4f7280eda673cd4f35b72c4cd2b7a4b7cbfd2 100644 GIT binary patch delta 251 zcmVob- zwSff|PD7v^o!pG^-}>jzpX=QhML#BV+c(H+YYe$`n^0RTlofH>UP>V!tFgPu(&nV6 z7e$H0z;e$DA$`<(;j2VkLFB)%v>zH7%CUhkxO^ngy)laUIG(Bk{ zmdK#c7-fZ6B7hM-wd?APEI=tYCggk2X!i~hjW+sUeFGQ>foTI^APIm0V*_9iCt#Yj zWSD{R$6tW)1Od*#kl|5jyqvdupdkQFe1u#2R4+uIkTcUj>w^FQ002ovPDHLkV1iM9 Ba4Y}- delta 289 zcmV++0p9-80{8-uV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4K)mQT~SQ{ z007%bL_t(I%jJ^24uUWgh5H0H(kHM^E;O|ZUF6|d>cnc7`fg>xi3S!}xEcfWXL2*f zv-RZU^xm5fp&t{t_>EN^8&jcN6zUrdst%lfR7$A3H+EN5b$>Q0C?f&sz9 zxS?Ue0kn2A4c5c0aj#&YxkLY}ZvcZ+VEP0YOcP+R?Gj)B-oUiJWLkh>DKMq~cL63C n9<+hWIpzZ_OB(n{uk@*&M4yl|Bn{PZ00000NkvXXu0mjfu~>Vv diff --git a/graphics/pokemon/poliwrath/icon.png b/graphics/pokemon/poliwrath/icon.png index 4b549c00294feb3acb91215795d6a5b99190dbf4..9e0f2ed479ca75715b9b9aae18b12b45e235c7df 100644 GIT binary patch delta 327 zcmV-N0l5Ce1DykqUw;88Nklo483_$${x+Hu%w`8a}$Ec+HxDlJQpu{50 zx2+`&$+-z>NHix-+{U-Nk%7%jI?1;59%Fy{fQ{n&fdM_my;5{nkE*UUN^5fn1?UpW z=s5vRskN&(n(3A%%|G6>ewW7I0(_OrBvHq$QezWrc+S^FvVS#KpBP#)krbKPEA4wy zx}-AWyS+ZTJ( zu(og$J^^HbdbEobxDm@}NvM}=gX$FRk%;}r^OFt~=`hlN(gB)C2ZwT@!$5zjgQLID zVQ86k2=pf%0ziG3ba>F8bO`i=4l{iQUWY&*I80yBOQLx Zk1wz4#o_+;(Q*I)002ovPDHLkV1nR|pdbJM delta 366 zcmV-!0g?Wl1H=Q6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MstAPWvMD z0003eNkloWXTj{JY`8gu8X}S1B-77-_~Ra3vyry3m1dI z38+%1O0Bm$-Pyi-kFh^}z%JtZkpaELolG6i+1Mf6Mah}qAW27rF~CKmslozf6#e4WQf(5 zNQgalGJ79iKFcp&VzU;hkK2l$->_&_ng2?Qr)pcGy$R{(AuPHQD+@Q_6F?TILpxi6 z8?jg{3H5w!P-mVNdn982@%*F%Ep!;@zvuw4ikL_UWY&*TCYQ(-y#k=go&LWUWYI)*>80y?63Lp0I%xB;mB4A00000 M07*qoM6N<$f`jgu8~^|S diff --git a/graphics/pokemon/polteageist/back.png b/graphics/pokemon/polteageist/back.png index b379f1fd22828ad00c96f011d941601f0120c5a3..53afd3c7d578bd3affb88e008a3487afbae65d5f 100644 GIT binary patch delta 541 zcmV+&0^#-q$y>bANKX#)cjJry37-xNM`ii*;SirlDK-ZT z^+O;wxBECFTBknt2^sN!4`amD9)s09tWW#n?rE@Ln)36iTCMxtn;oV-UTdD3%oJV{o#CDoWHK)o#h852qMHG%lYST{Q zF%gMN^~-tB--*i|zQxW-DJ?1pK}~)&)%Xub74=sU*?5;4*=o>4S)b23@H@S|2wO^O?*b*4>Ups@B zh2-ocYYMnW3<-2;fgl)nUtlKBLOQF9oLk2z-C;i$B(vf^!zjO-?bqFlY!#I7u^o;#B_=!Zw4@;8f#h fPu}8HMUwmlcf&WmZlv*000000NkvXXu0mjf*5&_n delta 534 zcmV+x0_pvR1^fh%B#}W-e*gz`Nliru=LQE2ITuik*R22m0pCePK~zY`?Ucc4<1i40 zy@I9JI^+Qob)mH2!=iuEiY2Ky3 z6sK#aPI@kMAO`b&ni-AcMA2t_%!m*7^Do2i?+HKm3t#j6&*MHmf09zH_8987K&)fJHQZV*($J#7e&%NY)_C> z!ZGKqLWkDEf)_=vH3P3Q6#tZJ-^6K!?}S)SQ>pq?S;(;9$&;vrgMnH#lXy%-;!OSZ z?-Ma-o(l_@l)9I8e~R}zakj)(Q!m_Z@$wjO=A4mM-b6=D z0i2)s)jD&=>IXSZ#Ne?Z@Q~eQ#upOH;sFT|ZY~6 zp1FKHQS??|+K<5Z=Pv!Rz7?FaSZ-3P!VA5c5QUR8;|-_szYw+=gc_$3AN%LO`bUcw Ycf&WmL6|s+*AZAXyb8N2)p8w2}P)2f8tZSSb5C*NH(Em9;Qrm=u<`Xy*lN zw%9L_GoN4^6J+IJ%4@Q?pTT#}Yc|P4STtsEzE4$bA%8CZO3k%A$*N#!L~l{!x-; z=Y3-WvEoIRL{?;8Wt=S*>zOq(`TOe})uKk=T^>a_e%mE{zxdbfIM3sCJlg{5di4qi zsxPB>)>&K2t%MP`i{ZZRULvFsV5}U$IY#U$_mkGC{?#IkJ8UC=0)c@$RZ2~iJgFT! zj&rbCV{ZZ=R49fpX*zx8^vgADG8lpYP~d@ljMJO_%|*Ns5J~|O2J#GnTB!yC_D_MX zoC@JRIl~o}fe`{%Ul33Nf!}Xi6+mz$#VM#$0naLcI|vLwPGK4fFV9m1?v^?Pfe*te z?m~pp%M%1>vjk9o&RyK1ltO)enjk>i<%dUCd?*F)2?<`3%u}n)8l|HqU7hyE;|CJJ zo6o<$Mt|eZsa~#nFUEKm>is-jZu$6Nb+F=sqijEDH!9w()z!N2iwkd8zU#WaQMzo9 zO8GZHU{yB;J@kX?0Ka-Zp$t7#@Wa$u7CXEyVQgN4=U2!w+`M#V6*6`nA)UhO#9z%3 lMfLsM4E$9@ZuS2~$R9+Y-^=V4&a(gj002ovPDHLkV1jmc6-NL7 delta 592 zcmV-W0m)eTF`nEV6a(RJ!C3Lc{;3_wMe!cha;w{Tq>k-M)VOe|R_GbRV4T^x-9V zJBTLdz^0$oz=%067q2^Nz>L2MI#L3Sk$Dw6PXa>)v|C4ce052PDn!FNO7r~EQby2> zWS*z75vy03^GIV*!nD^`q zS6Br`2;6){KrjS;zwgul!3}4pAWj*)r~&RF-~taJoHDN{e=-E_S0)63Ps0#*!KU0R zQUvsN1<)yVaEqKXasE6-K<`!?PhZj@XLP_gcxgJzj4o+a%hi|JU_5@r0leAl`&;xk zYOc%0a`0-5wGba?*<#DbhLypRGKw<&pxdhHTca;!>6ZoX*7kK%-YQ$P>U-9|1p=df zF!Vz|SO@S`M%NEP4;B1SO_o6p*C~|4tKs>TQV*{l8Koli9n>qmUUH!hQD)ySF8*@c e#&zopr0ROiQwEzGB delta 53 zcmaFH^pj~qsT6yOr>`sfb2fHfYniW^Im;Os818twIEGl9o>+5BV7+mdK II;Vst0PU3$1^@s6 diff --git a/graphics/pokemon/ponyta/galarian/back.png b/graphics/pokemon/ponyta/galarian/back.png index 9f27e92ba34a57bbaddf9ef87de8968db321ecb4..fe45584312b7bc9a46be9e20725d43d503a84c52 100644 GIT binary patch delta 617 zcmV-v0+#*21S)pEQbh=~>P*%O<;arnpafx5(xIcgD$pu6dJ>HU#(=jbl9OX&^b;Qjf1p67iJjQ*#y7tGk#IkeVKNisvP##SICgd}L_ z<+cWt0a@VLfFR%iA;HOi$f&VLNO;bH`CD^~Q(hA-G9TFhd4A;ij zCd+fWg{7hHQd)b+U~K{dO6wLR{$x^EP<9C6bI9IX0V*b$EN@>1=JD#I(E~qX)N%F2 zm_i30UeuuL^7d;7C?vp>B(VH^Z;_BPG2E?wS{jHZF~BM}TaYb(&i(+n`)j}rHJ|`^ z>cor`k;U-Tozzj=AuD0?JS1{P2U^UiyKfg`B|*rn1EA|2AVCJAUbq!-snAH}MhzNu zgYj$eDBg@ZfE?w>!(yL(uZJ9#<#-1OY1*G+;iB(N51j#Wd|e`Am22FaNWeRB2F`e( zo8$m3h159%ysN=~c&Y)Y(AOn^9>zMbvrh*2+)bqC&^l1oz!#UO6I34TdG#yJjlesM z{rY;Lxui0PBpN)MX+af04_ZgL9z*%OP&WlEsIpO*fGSjg=D5{x;j#T)R2qPNs2-IA zWk)^X?dC@zgQ({xhz7WU?R^>UI!Gs)$Uc04Z=rC|2&BVAi5A3#4OD!1t=DvjbpUOv z?^Qhm%$Lnp!U2r)*2E1g#1L5pi+WGoZGUqA@F4UXj2(QUp`Ej900000NkvXXu0mjf DkTW8# delta 602 zcmV-g0;T=Y1;7Q6B#}W-e*gz`Nliru=LQE30w~xYtMLE;0wYO8K~zY`&6PcC+dvq{ zRgpnUhOgb#Bq9Qbh=~>P*)P`N-1mpc-RT(xIc^b)AiL>z z>D}q&PSsu7Zn;4mJU>1E|MOzYvYya63VimoPmS>llK9rMi4h11e<6uA!nr8{Wk42S z6A%O(AS5^+Yc-At2^SogztX3;;4zUR^DGlkonN^@p^1YQ2%7j?*y(^(R)y#E02@u* zp|tjp!A=JRl-4Oo{7I*H`;fgi0#tM|*<3#k%;W7xtp|QYtK;&Ewh9&a{-_4s z71v+;jiL>)NMQ5%f7T#T$;5E8eJ~^tNn(I)uD4L7c>NE+&3^+4$wkKEf|2` zxs#czu8cY^0SpjwP4i@c$K6Dozc^(jSOQO6BE!xgjO#7UwZI#My!v|CS?o*_4W9Yx zPoo9sN$V(A%aA@VDs8NEKp9FvaolP+aM!*U6&m0e$~);m+L0@K*#BHrg#=VR zZ8xvra9f03PzUK$5jlnr@GTS$8i8~)RSI!n4<&D2>opxA6|fHFkFxFoLe)q(fKc9= oxPrB4B8wmqABcPY6h7I%0gN4dqFt8f;Q#;t07*qoM6N<$f=YZ3qyPW_ diff --git a/graphics/pokemon/ponyta/galarian/front.png b/graphics/pokemon/ponyta/galarian/front.png index 23a535079e5876d5ea137da01f083432b474e57c..5ef1f35211bdb358c0030facd3b6073dbd1edc27 100644 GIT binary patch delta 780 zcmV+n1M~dn2J;4xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?bK7K~zY` z?UhYW6G0fqho+%>@ZhkQjVH>9cxxvl9Eq+-j2A-(Ogx!vCmd^HTA-NhR=SKW7f-ex zIbfN3w{|~(4eZs#MEov3^RjeX3VZ;4k~TB@|2;4B%*-zOw`}1Kd9LWXx9D?4n^4Nw zZNLiMqV&cf(qGxyY(4jX{w|=iVt~>Oz^7&c;KiB1=Tl0{+qK&63o;Wx`&CM}>p~1R zi~7Ob{Rw^ks7&cAA-YYP0L2NQ%pm=v z04u~xcQq%(*+cQYLk*B2Q%!^VI}Oo?W^DN|%|1~rNrl)KXFV=|L|CTGPjs5vx_d(O zIv+(pWK04{SI0@tg*a(E5D@@72w6&F<;~!Sv&pnMR$h`t|3dH5`@cGEP@T;C%$x`=` z))!10ph(9LJ?>r{!MR?8Q||@o04R?G$70N*?uG$M6M%)GO3s+{!h0Cr(vu=Zs?4REeJbxrU?0iONXa=z}gx9r9esb#Kw>OHvpg734j-70-sMPt!&lnjTdAlVC~i@-D(Ok+$foC-JjCu z4=R+t5~A0p2~e5>Dh$FuJMHz_WgP)u1;BwTdcAJ43%f9#OYVd*2mldY8eo}t>8j?0 zIDII-cc}p~j_#fi{q9FG2pN+= zQq@V2Ga-&!4@3mOwq+ruu}bP>&ISVPOH_M}F9F#dbkhJxe2s?nX7mkX2l1bjUW-vb z=k2X1ir(O*Lou8IAP$peB#swltab`8y*@7|&5_VHRPmJ+f6S4{jA_T{qR*Jo3DH1S z0^~3OM5y*i=>{P>L{?2E!2TLD4$PTmrM@zn08F_ci30$@*@_lr&4z235d!}eml6Qr zl@U~2M6t{=i*2IK*TiEOI==zv$74vPZw1$ZqVq=r?=EHm84Liv_yy8lJcbz60BgON z05-w+2&8^ae*u2R05}1p9mR*>d@t^ZL2D5JT!gq`2BDQU;J!G6f z1C4=i<>D&pL@jJg0Z0v z9(T_Vps!b<>%AcDz$)OtL5z9ST{l2^3P2dLi_&3nq(~UrZ6`gIdYCeA3{z;9y*sdcSw-=4t}afQ`Z4 zm;5xqxmu}ng3k(Y{@QEVNKX;xR{**4zujnm0j|kM zqkJp@Sd))gkjJzSiDy?}Rz4J%wH*%y=8F&cOCKM=Bf|9CBdOH@0000O{4g@y?O#y-c00A&bL_t(I%aMF3e@lf4gzI1% z>PVeBwYOOQWuNTRhtQuYF1WSF2`lH-1U+L+$bGNR;ZrOVj{3ON!I81{1EKMnUTY|d z7a$xn6HHm0hRp%9;yIavv8E|uyNO08bz*F38eDb|UY-uBX`O|EmjaMT1?Uqpe**ws zq^{sS-1}SbzX#xKfxvsGe|zi$vVps%$+3QW*H#X=v?sLg2@JmhBNAkRkxaM+M*7fWT*2r-gPCY-d?+vwzUi(8 z43HzY!59uRnAwL0q`^oZYXHvdV-XY(xE| zbCoJ(^m2ru0~Iy0lqEw#dNv%S?3LOZkp0d!clHzF4@Nr&wwh8=C8V$io}1P>ap`aX z5mGpDN^gKV2#G1t5EoP#9f3;q;A&B=wzBifLY!-}%H0X;r+;CG+$+cqm}$pV99sZu z;>5K>VaNC#^2a#Q$RN32KgTg_%3+I4?$!_kq}d2y2cRM6-sFo00?l@8yK4Y;_1F6d zNkl9C6o=mhf)CJRFfw%MoZxd~8=BDB)jaGxu`a=ms{qpUhc7IeC`|7$-L$aBG+G!~Ilcx(1Le z+=4hZ!f@%nzm-N9)^Rr;g)x4(SHCLSrTyp!jlxJw$ok>x8icWa1mK0Seh39#n86QP w3S;~@tc0n53X_!!Ke|urN3rsQ|Dqq?bt&%%7X*Sg01E&B07*qoM6N<$g4n*YzyJUM diff --git a/graphics/pokemon/poochyena/anim_front.png b/graphics/pokemon/poochyena/anim_front.png index 3362dc38be4d67b7ade00dd87a38cd7c6c9d1669..46b6da0d17525e1b687199ed24fd9e6766b3c66f 100644 GIT binary patch delta 801 zcmV++1K#|R2Z#rdbbkW=Nkl=c>z+R12_?j zULfcRlCE2zKW#7#Jv0Kaj{`ib4qBn6k4xH)E%>q(EM}NR^l?{N!ei&6sJq0L- zhzXD;6oiCSaR~IsrM(RKx&~Ojdx{ZhrLx}TXHE*1U#~yz0A~we`vc(f^-~-WS7KqU zuQL(bpP%63 zXeI!fvH_d+pj1zXpHNAF@(JjPFj&4-Dkwh2;76crp#so3 zy3jAj8HEak4YGhX8jnGRyo03gn2>c;krD9#-ktm@H<)pbO@ea zRq54nfTtROASOq&b)5z=Cu=Aq(r;%q_Te=>@#Ea}fu?Mp0cG>UK}VaP>QtxtcMIkg z=~|F80fa&h-8|h)$f@jFn3;Sbs_s^pxX%~mJ*)2R%EVU@y0AsD9I)PJ7-`q80AdO` zV~d4b_pDByZLEg!lR-4ooC>#_Y*96oa;p`;21KsK1M2 z&})Ji4L;k%_8C&j;e=rcL7y4x)t52l4CtKg7Jp9V&dUjfQx0+m$AHSLS;w2Z@2rso z+O{4hIOH27i1200Q($L_t(o!|j$qZrd;rMP&lr zXCxZU(qbqeO;#~^0g|HwI1!6pAm|B_u3Ml$>Seb*K#K0W$n82qIR;ExTBm>q@WSRZ z=aZE9e^s68|EtA{K4&vPv#u(=o&ls;RhmAN9eQ&n`Y;2;uzwc)-FgNu> z0zyI{U|MAhV6Y!Xl|mf@q(#I82<;0(K&m)+`f_0|d_JxKmLDHuL>gHbXU|Fn%O6)? zc7Qbnu>B42?dmZOh^wkG#?_gK?Vqo3{`?S0rYC@=z(eBl36_zI2-Ql%3p&^lL1VW& z!We@n(LoMe^MCk|0E-^#!#(Y8UtYR29!#1-WqU5V_~9=%Abkn&#a70#LkRY!)X1ee zmKf;&&NvcT9xHW;4GWOqP#*!P%LYtZgOqJ4Vm#516r%ITfCU{H^^nLLence!(j}lL zLSy+@?YQ9Ja~=YKN@`j7SrXq~K8(SZObfO>mH z3$DvuXdSw79)3paV{eY5M^!jE4RBWt;H#r8y1Gt{m=iS|Im{%R#(7Mssdu=8ww}G~ z2w2SmVtVpZo$6F?w_t9Nt_2b1Uj2q{o-h+~7G_=PVGam4m5%#-QQoui&a8BN6`=}S ztd;}T`+p20%-R+}Od)5SqOpxDQ;-X~-vebp;1onwkRr;0e8(7zIiYaML7u@f zATw)L@%r``Ya{_TPD)?6yBal`B+)9e;WA*Hl`B2q|^{VpG5Q!LPL0Ccdg zKt9C+k&aAr`WQGs6lsfose!Xe+iy5P6psv@VAV3vEjR4$nT3w|p{>UV0;Ri;`9ai_ oA0s-|=5g{cKd4iFIMr1B18}R;9g;#kwEzGB07*qoM6N<$f{QqC>i_@% diff --git a/graphics/pokemon/poochyena/back.png b/graphics/pokemon/poochyena/back.png index d4bf054bc2ec3a006040dbaacc577c1c0f61a6f6..9a87ccafdbd9ce329aa7bd7bef7eced1e58d937f 100644 GIT binary patch delta 360 zcmV-u0hj*K1lk0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80ke^bKYxnk zeR*$YY;>vrUN~~kqMo)0C)F~L>J~My4B(^QU%?un^}YevuOvtUtALDm>j^P42JPaQ zSh73^xXDJuWGOgiWoay!9KI#Rh@fB`YC(@93jv0}frhRGr^f-n3JR3CcWiZN508Wg z0u$QkNJY_L0QK$jmP$vEn6ceagMZ8h0}$frL)^XF|4YVLUTM(TU?7AzJa}NEN|u+P zRLvqJbL%gBy|{>4LARRxRFD(1L~F!*^F(0=u$ys}`-m-}JPd9uOqC;`7X0%%>j(Fp zIihrX;IG%z0UC%O%@8MM+c8b>Hxd%a#;WELfvUkCR5t(2of{4JAZ1B*(uipdr7Gc@6Qlkfpj7n}M5;V;~$ai;y500000NkvXXu0mjfbqt_W diff --git a/graphics/pokemon/poochyena/icon.png b/graphics/pokemon/poochyena/icon.png index e91254f8cba0a3087a47d26fa541639e88a42d12..6e934038d84dc26a2bc6ed99a7e98c4a1c343e02 100644 GIT binary patch delta 270 zcmV+p0rCEf1LXpcV1MvQL_t(Ijop$xZUi9=g}Fe4>^_U|0mjPpB1LnP-jWsMxS;Iv@jD77HEkTT9u-*T4%As6EpgKoc>N?v6#jtyINiPw$-AM@ z@&w&E5w7lg?6XB`JSg`uFXwwcWO83yZrkK$t~1IM2l=7vF(0Kya?XeB|Cx_pxDjiD UAeeHa00000Ne4wvM6N<$g3*?H#{d8T delta 309 zcmV-50m}a60*nKYV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4ha+#gbuv` z008evL_t(I%iWSOjsqbKMY+HV*?ofW0mjs<9a`VM-Q$m z08meK34ZFHn0AdMpbA&L7|1(vx1b=F5q9Gh>4Z<0je57@8cCy_EmGq_ zxwZK?Z~2hHeJ;InSq3+A?NNp}$PeA0^HFLf$9%~8pZWL&xDjiDV71b500000NkvXX Hu0mjfC})Ge diff --git a/graphics/pokemon/popplio/back.png b/graphics/pokemon/popplio/back.png index 84f9b41a4e09c5fb84948f5ccbae7d12b76d62d9..923ab7ef8c6b2d534d564bfa933b773648ff94db 100644 GIT binary patch delta 415 zcmV;Q0bu@@1oQ)tUw;9ANklYOan1!?C;9pZ%FO7=r28`7%2dl5&qe*3=P?`9@IrPL}1%b)zoQfGqnJ zNQp<`00jCMR4swoO{z%^beF0AUKy5%)Jtd!v@@sL+!)6n#}A2yKsk-3CIbKf002ov JPDHLkV1iK!xQze+ delta 450 zcmV;z0X_co1D6DlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M!7v*b#7f z0004cNklfo>TM>ug z5tzYacnDNyYEs7xhH!TY?fs?TYPxp6*}LrRU4mdAI|+a&8h>ufXBh#8+w$2N03<#6 z!>j{P_`$IPxd1#kxHxz6g9ix+Q6(;)rVc1`RX|pN$S*L_kv4ge(e|JF`!zS4L z?cM>P$NY6_gUA3U&sXji^k6T=U%=@?Yy!K$U}OLm*3S;Zg!xZ$dV33cUCU6aK z$kU+>5(9t*f`5_~+IO;89=TZpgPB%h<^c1w7{(r;mEZx!4mhf7tfF-rv9Qw%N^hH` zB)++?R}H1K5g~{tA2u?tfFPcs4_BX*PF5{wzCK)m3pzpk6-&>hLBtZ)!h1XA&~6oK zs)blqQg}Ano|RaM3-R3xRHLifx5Oja2w#4XrlcD;-#bAnkf#3viRV%n0DGRGvIA;1 su?GA$s%5+vkubNC0+FkDCpAJBKQFU zPF;k|z3D|eGzBr&BGRqIE*)+B0MdQ~MQ|#(bab@7Yl_hJE}M(=5ABfu@BVl1-aE_M z=--MlmhS^V9>Ge7X5!??vY~W90PN`et&20ug-k^qa9TY-=6@mwxUB}2~R+a zmHwy)ULy2>6I=}wif9abhEvK;+8-tEn@Z6a+DR$GeQkG5SK*}T&9itXz;FsH;^{!# zw+C1^RO*aVj=N)yp@6dX6cIzL(=Tj6s0AF%)O2K13s~{o52qh`+nRnxufdV>i+uUuUmA*_j{3gD&~ynTE+wMS zcPayrBf9!dDcRt~xqu5^qyW<%HbB|Q0c>*0GFCv*vKd>YY)-QnVqF2i+_j;a`#@E) zmU>$XUiJ$@y{RS<3IG>y`MTV`@Oo;IlyjhnEB)dFEJM6xi&~xvTkWS4;U3REwkYaa ztW7QTaAxkbE8XC0)kOSF8*^YgA~x%jh8eLo($5%e(jPy?;B$S?S-3Qd;Z-KoLPJ zyLRGW&vBu$qX5`2`D-Ufjt9BQCg8Asyw7+6a9Iy){aZz#WsR#atPRFJ@cY~hknn8O zS0S3Co+V4!$p+)T_oSnk3+-eog!kC)+O~pZ*~LA7R)8f7Ct=x;U$=)CSt=!yjN#^l zq2N$8W|2_DNPj&d1z`jT=8B1o%?)eKeKCEpbbI=iC_mbseN4@M5H!?8&9qE0)`Kr; zz?8#l@Iy%H7=ea%^~+oXk@8*n@+LU74y_CViNdxCN=!;bZtheLAVc)bozil_ZxsR_ z_=yH=Yq$VaQUJKhsmhiH%8pCvGUYNgivlAJ0QG(i)oI)ZRV7XJ+0yW$U*h^q#fs1X zcz}!BtM_MBnfV@{9~#@opWL6rTiYuE;hTueh-mE m9i6+l;HJ{S;?;%!_xc1~Vy-v!q8-8j0000nRq!D8NiZ%=vkQley&70XNCJ26PM0I}Xk+ig`0LX|h{2m)Zq&P%z2ht2-Xe(Gk zw$*N(z)naPVTA|VzP|`R_P~vE>A7hxlvPfjA&EZAYdO=1%Rn7_N^jsem^TevJ_Wm* zyiTnWp*1qL7_-OoePn_^nq>+z9KTT*@h)AqA1}oMoWN!!Inw|D002ovPDHLkV1nkw BRLuYY delta 241 zcmVO{4h%2Y_!Ha! z0068>L_t(I%jJ?W4uU`wM7hDghP5=(csZJ(fx^aZ*uqNAqMX2vhD{6-XoQ&kMjHkX zATdt2n>YVYekKThOrkpf7?8B|Q~{6?U-&&Xgh+9S;vVD~!)nl0u!L-@-8zAtkUqi+ zcOLuNBD~lGH_oN!rnyj7IlV;|eU#U7<`I`Wo+*QY<6z!2aQPIhGkKj_B|>Xt?d(8( r+_+29E}iUw;CcNkl1gh5XUc9*@A+N6(S@TW($-A8na4h(jfT- zP}m0miA|j*X)RaARCa`Pd&dLh##B^XHbqRA=pKsMJ%8TKx`OVeouB`+AJ+aZ2+SE!Go>zsH=-rwiBjj@h<_a^<-U5Q7C@t40`{b2 z-Ai@8*hgHN)YO^@(Y?Bu15GFaF+e7mD+ic#6KDcV&8z@iCoTaPVDxMi(1dIgIKqAb z?7D`5Xmbf6*SJc?+PpJQoRrUjbN+|(!**UwNGpJ?#3WkaA80z>P8H4g+w~S7HexfY(Ua0JtGWgc@!p2+Ujn zv5U}T6U`BD0lFH|I55BT5HDQ20BRcpw{%R3us^+kSoMgn1COxAs_6l;0Re5jKT4J|N&FpjmlKU#{G3`*8&b`O@9C zU-G|O27mhb&7xnm_nMk*KP9xaR5SLcg!fiz#@naFxTa=wGqHp~C{pdsDzi-n(6vtCfj_APEDiuvzqnq7GrFuro0vO z`|m{8T|bgXG7xW^^<8-yhUdZ=5lDF)hG))*Eh*(*_%d7q{-6TvO38W`;o0&WNu^U; zDJDek@_Yfbp#mfTxnOo#KxgYf8(^mAC15K_1;7BU=Bt1<S*=bvj|4ThoCC5=e7qhy)Y`;8`<0VWM{jpaul+ z!~nSv;si3)B|8B2KtSBnz_kIcuwL9N3cxL3k1KIfusT2#c%gSHCOY^k1^7`g_FQrD zl;afN<2&AW0vYE-08F*kHyD7Oz7Sg&1H3}Q1i+MN;eRQZMhMJp0C5UW=aJ$F*Z{Q| z;qU98YJ?B2YyfqPq1`$r#aJIYKT(?$^ST*;N!?}=Hmh0x)w|A`Q5JgfgOk9i@eREw z`!3=TC#008!buqm{~QKavyF28n4%=xl@!o@fS2UO6I&MuC1FR%Kj=I*y|wW zZtXuPUnEn+O`@}ZjqD(>9XRRi)`R_PT99;n{ zcvu2j013Z5)pP)g9JvO4}>fNts20Nqk93=G>8aq8-L&~=Y+i1 zG>DG5c-XZ7S&}V)3~)59ZUzZd_&H$J_<4s_@{O?qsOz7elc$qO@r{>!=bJL%SouO@ z#l!S90tC!~x=j>%<$hj+6zkx0e#p&YEAyeL^v-k;=PBl0by1P3mg?t9z z%fF_VgwA50C4uL6&vVIpSF7#xkHtuP)pnh6(vYzeAxixNo@h9mf4vrw#*zemetE;W ziHKtr(BuXJfWy%hzykdO(2{^j!1bL0j_)>00gAA1&jK0IENh5>(dPqW3$IoVP{+}| z1S%S2gtHB>mvhG6D;i|STt1qW09&#xKonpVC(+6SC4L5&6@J!X7JPlI0P6au=lE%* zQhfa-n|vb*I99$;e_x@WyaqskF;K@e!DO;^&H)S5Ru?I~vyhl02M$SVu794|-r@NC>5m+}9~PnO|-Z4ev5 zXB~uzdcZ;Jc_s7+;AK_`J@8)Nd{sgZ>$;`1NFo5A z8&XPy#fFWN={K<^E~O1FchvAYwm9;>VX2f4;kIKxFf)^txQRf3Q-S*W0VD9CaGF*k QBme*a07*qoM6N<$g5tT< z0003XNkl1pw6oz#J-JxTbLbGM*VG0>M^c*k7*lSWsI}|*qU=M*T8oC9A zKH6)TAZ*b|ZcJ2lu=OJ71zIh}ACKo>Kc5-d3MGdt6k8`>}yE!e68pCg{PAQZ8zu zhX}AkzBa~AxK!RQ3;x! zH-Htj!R8h;uEU50=QL8KoDa7@_k(9Ds>BxYKV^O?^BW`Zp>WTo8lM0F002ovPDHLk FV1kT;oJ#-z diff --git a/graphics/pokemon/porygon2/anim_front.png b/graphics/pokemon/porygon2/anim_front.png index f494bd5e86b755efb3e82d5fbe16afb0f90e6a88..566ebfecb875b85ff51249629368faa79bb04c46 100644 GIT binary patch delta 637 zcmV-@0)qYT1?B~ibbkU|NklljQ5XWC-FV4hkSa7Gjs8T6QNz?%*hNloR zMuKmEE4}~;Yh$U`PAEi*-N~sUwK7vPFc7{$zZ7@RQB>*O1qq1-`9Hb2U+-RQEB8~X zPMv?3J^f^7UGJOr$>!Q}^$#D7X;;_b_^aRF5MT=TNAJuB_J7Uc5P@U5jy|)1ivzL? zf5hI3%Ij)IAAkp5tXBj?0GIw53HbFO11isr`SE?#LLg%%s4y8{o1YJ@CY=#d4+wi_ z0E>fr?SS;1SI2Why3ktFy`EXG0o4a3)~P{c2i^(puv`Q$wJsb`ctE41&jKB*Zdc9x z2Ac%txU2OmrhmZ}XyY+rv4QFsgU8VFg!jf^U5gV=lc8zt0P+p+y5#H8#NddQ&LQPn zWD|O0^s{6PED!+!Ej>@he1{0Gj?S?GjDY`|QQzKyMgUUbKIHk*T8%H0e5V`M+6y-!p00|^K%T#PT#4+!7{1OErJSg&clBjEW# zqb$h}DuIZ=_X9;g_2dU65TW%NP{H z7lHoG(K$}YM!bRG?w>;H1VR8*iT+>-xDvjF^9MWV%K-UO{4iOliDca8f00L4;L_t(o!|j%_ZW=)lK-c1$ zqso{xIae&QG)xtbxmgU%aLNw9D)5RVS zK?F&9Er0L29o{2m77z?i5myIyV1R6FGse`@LK8cmVL$QQ!gS(KaG)0nwL|wgLVQAEl%`cssmFCbC-t z6!*Y8?aqfYNiDiiVCF87&-jUf7fFgvAVdbbuuRg-16&@RQ30Hy`)h_Hb&Eg%W}b5> zinUTe50n3-+e)b%mH(uLRw`C;S@ZYRy3}QJ%QewN6Ms(<@R&eM9t0wI|A;_*aE#u6 z1tLhk*}y?15D~AJZooujF7Byk{F6ZNzzLjw@N!N9vAYA`_*cU(bMgZp5GXuPFUSuV za0v!|hGMnd@^~j;Y!7eEeozTSh_)Y?tDgOU1tL&m=iueBYy@KA89GdKjDh%uPK(BJ zYj6_!r+-#IqAHz5jUV)QAL|;yF#hn|?+2A0M85oYdSL2+a8>~wk3WdKe`s3#z$-T} z>a#yUl%#GT#2W)Fy};<^=!`n#Q@4T8?4M(11i}LdP5z)5xUBOB6_5M?`-8e(tFq1? gblKL;E%)EXUm9!4#s4<-y#N3J07*qoM6N<$fLN)_`pJrr=w{xJi+e)IWj*IdR|+7T zx%n&dK$K=88e)`esFDlZ8vnZ3?u!@3*xl5JeLz~qU(dp)F0j)6IxQcMj8!}C9sy|| zrDdBi>iGhY1VSh(T1;~e0)SRjJbz)!U-bWG08sjat@krVT_B1vumM9rG^(BgdLu9% zBV3?zX4n(t8N7(eWi2X7O$0XsrYl$qAkzS71HJ;Nxi}~ZZ-w&avxEK(8-%^Kyh&nb z9vbAgdN~CGb?XF>n-OscfHFcK0-_M0B5E^Xx&6Og!x5hY5S#&NPWlm1Jrl7G_N7k{pUO};?te7mn!6t0@9dQy9KRcZZzfy( z;T%AiSeF_z1<=|9jE*4yS_f1<8wzsP9|?e8Jhh4?ps5%z00000NkvXXu0mjfTkxou delta 392 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 diff --git a/graphics/pokemon/primarina/back.png b/graphics/pokemon/primarina/back.png index ec17476b62975d1a5184bd0442f883be3ca4bb81..3baec0151456e085fac74115e4252565e8669bb3 100644 GIT binary patch delta 781 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 delta 448 zcmV;x0YCoo1C<1jUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M!uH*9<;g z0004aNklAjqklJU&n7`Mm4_iziC^j(_1rW4$fRsBjUkxC~sl zWUCz~dttjsp5(Y7)#C^WX+f>W6m1035)Wm|8F4}!wym{@zkv{Ewjd%dtc$6De?ppb@9X0MbVY z*fd}t$O$k$2W~R(PbYvF2eWu>T2f|fIHVXCpNxS3Pk*^{DznkAQ%{KK{unrixc~6* zahheQTejC4kI(Hf)^5h9zbo+c+0-2|C)i-ODGm>Ck&jbx|0If_S5hC{onLp zmnm=rho{liI07F*oF;HM(t&f2Q85}*Ggy{ydA?r+;Fk6LCI-7hv8#()l;JkS*^&JTGPjEGKAOo3(o7+4ek5hCWI(J+#9d0Xuxg9t*)uX zly8=A>cIL&KDSM&?g6*!hPC}a{*h5qM|1U`sbT{$v$0|Z*g%wPMgWDqo_7%@ko5;< zkoN~>;6@z!1E&D=q6g3)7=hy^$)|*wLEayjN`DeOG(`0WW`GR@S(Ijg{lRi^fAF1q z^f$o#@Q*9N{*1W$m;J%;LVh*OdiOyE!aB(s!KuMzW3ZsGSY*lt~ zjvZatvYICd5;M4yLj2$)0-?XBa*&vSEq@WDsr==6;BzCu@y&@$m>#_S#n)MX@r>zr z(fsvTWjIU>PiMG)qCgy*z{hDH7bz0qX~CRGANKnIgwS87IdKdz1p4X@0LQ_x5m@1< ze=xSiqC0pF5R?u~{ey+=!5Q4X1DO~yWbJ`fSu*txP6gWoYn4<>E7}B`S$nWb7Bs3` zI&iykLv;-{Ew5H}DYiD&@~@$P&`zPiq@T7{=FuwU3T0HL>f9t;osyw3xkPS^`RoO!Y6`=t7Tn$*4@a>8QK$nT1*8x@- z1bLLx0G;Sg<%`=Nsezc?Ll~<8G&fhUTG&>uLm_7s=3*USS?J?P4NU%ukoAoYcv?W0 zb%6QwT4h!X?0?Qz=Jz#&G@}ywl!Y3gQCgj)SOeg%au^de;9?)w3GvkcWQhhaofIIR zz5pSccwJgxkSCkO#}c3lDPY2YY{J(#VG;oZA?XkoO9)=TC!`q?1^`TVl;9)q2w@%g z0D$Yw=jZ=wF+UQqIAAdcaPW8>s0M%j!5I5%iv#uO`G05+elC< z{8S6$MlCveDS&4$#&*OM#l5W>-P`4Ze3HeeXTPJZup|CIwIVt;7%Wx$Dx9Xg1O@$KXpuIK3h*s`uyfPZb|pFgZVV*@huwd$N|Ry;Mg`k zVLPgmb&K|42}`pNii(qk`f!b3C|oTs&&cx#2>@AFK9fntje=D!ioxVp@+&f6X}LH! z#g6QNn|9Io5dWXZiB_%t6J>57CYBe}05=f%ihmLSVYf3Ep#oBWpawF3pa!gvfIlc` zfKGT1{DH03?l}GqVKtEX15de77m)A=YJeLEG|SWg_XqQOfAE{N{}#Y>|JCT}`yN@_ zXa1mn%6{r+WIuf{@1rHgTG$gmMlofK*O)$KEIwHm{$S~PgJK^56I77jX&g9Z@DOsb z1%H2V-N&FTBJYD_w0YqkrEuAUpsc&~uP+Jd;dvoC?ev;$2?-+nWg%`}mH4SDrPF|J zMb!ON+2)V8{Nzgef z;GO$RCLPCds}X5-1{EY%p&2mJWa$_@M}KP7SQrUFev=xekX_!#rhGfp4ml93ftv~B zcMn4#Y#k7*0F!YbN!Z_S0)9{eJbpQ3F_r^g{`hn1FJ55zENcH8hzfhL;&cYvhXRNq z74U7+<%6U#b)~=*O&)c-08nZxfCI>JK(6ip@Yp?20!A?K4@z51+r2jc)Ny($|5PCC z!7* *b?AJupghD*sR@aeH7aqH<1p-J7eaJy=9DJv`aifRIh?F_V{`xj002ovPDHLkV1nxq`?vrA diff --git a/graphics/pokemon/prinplup/back.png b/graphics/pokemon/prinplup/back.png index 0e66817f42a6a8ac0ec803943cb5ef65ef353ee6..002f28843dedcbe55e923a60aebb501e4c68e1ae 100644 GIT binary patch delta 429 zcmV;e0aE^q1eOGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dGk}K~zY` z<(F*?fU>7P0YvOEw9bku`I#Od@y-#D*m{r7NL+!5%kWat;Kc7S zzy=(3L(}200008NkvXXu0mjf6AZe# delta 421 zcmV;W0b2f+1dIfbB#}W-e*gz`Nliru=LQE3AUcc`oS6Us0dGk}K~zY`<(F*?fUu`N0YvOEw9bku`I#Ib@y-#D*m{r7NL+!5%kWat5XbK^zy=7< z966=H1VOeE--84v;2?TN0}2GuCS$=IVi6VYjs=$nL!7JVlR%)i7y=F>Xb^!C8c?hm zfEA(!*hl)X<_KW7 zUot?q;GG0I5iKZRf38Vz+fD#@y&-|>z=i?(2-JqU3oy_nklzD*t^C&j$d0{zM?{?T zfvrMd`vB_upn>y%3nFyY-v>KvF|k8X4JY^j{~UgV_A4~NKZ{}r1~VqE4uChKU%^l% zv^629yn6_MWdVG)vDSDu9RR57ybpAkU^!sI?@H6aFra(>8#yom`1|VvNgNCUN8Gi3 P00000NkvXXu0mjfJ?OG~ diff --git a/graphics/pokemon/prinplup/icon.png b/graphics/pokemon/prinplup/icon.png index 9cd1081b4d1a1bfb34f94f64641d3fe7ce4f5647..1a7f562910f2e8301b37ef6364e333ba325be44d 100644 GIT binary patch delta 249 zcmV4zuf;Py?l%xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4k8EUO0o(7 z007xZL_t(I%iWT(4uUWchWiBebtG|w#DUO-&c4nq%H-gpFXO-fVPG<8!=NT^u#iY% zsR4%GF*^`%>zDigq?eDeWshy>n+Jkh0%B+-UTU{jDFp^$Ab(>5d>K6i>4?(<0Y|X` zT-wEJ3Z61dAwh|=4*<0T=JbLDP{#D${sJgtS6+F0lM+=bgEQ=tXNAI`FI8qU2e@Br zUEwR)#^`ExG+)fXZa2Gg)3E=Tg$lz*VUQo)D2!X-dJ+ctF$sfO24M_d8H6cJRuEzG l%DNBp=&q>_))@ZMk1vhMl|g{ZmyQ4c002ovPDHLkV1kJscwPVi diff --git a/graphics/pokemon/probopass/anim_front.png b/graphics/pokemon/probopass/anim_front.png index d224fe6c9b8d8d85d1fc8498720d97794d7c6907..bcca97230a1340aa5c3746b1808ba86624ba7493 100644 GIT binary patch delta 824 zcmV-81IPTU2cHL!bbkXCNkl zu@3T&%F2Jl-H%2MDV1=9!>Qe)Hn&$Xf@oT!HfpNCEE#2sAoEd`knb;nf-WJorQoJt4%8 zG@yN`Q2u`Qk$?1|BLGrk;1gG)XV_#HpaTGQDxW{aC2(#}0X&#;XH~*+8YnqS*ngxD^LUwE*Yh7Y769HD0XG5) zw{Fu1%m^5Zi5qRZFubx(1AyV8an%US6UV`uR&5R7!U2eCn)Sl zLj-%co5R5AhYAP11y|8hpE}&#-_IR)6!l1YOCCjw+xI_*GH&A@kC!}w5S1Q|Mp2Ji zZ@FA95K@$V=mWR$VQb`A0*EbQf#E25dl68ffPb*WmpHF#_<hXHW<)<*kHhHi@})f493o2>O{4ka~V+;vR=00Rz5L_t(o!|j$mZ`wc@$B74| zjxM+}IW-y5C{kqd0Z@x0UIQyPSeet#Ul2mhFWwW<%-*c?OHRlK8?juT^X3}h;}C&n zSBM{J;2pd@C4ZO0ujIfJLi|bt+UF|epJrdk0J;Jo@F>&H)=iMvwBm@`^8b^)5Jh2_TW!4`6T-X3{ zj-61T!UDh(;~r*M0tK`701#3DpcxAk13H+uO8~%50EKdq z#!;0?Jb!G}wy&aVH9p6Hn;A7 zyE1NR45=y@hx$z z`+gLdA_S7BTjPCy5kR;e)<9P7FWyH0TUl`HS^?JTC8o*p7qV9(1+LR~93lH$y@`f< zka4$YCHz^w*Z<*Zs7gv&DYuRPCAKE#=}eBk!Q@nG8%)j%YiV*wmdR;1NNjSl490G? zsy*&O+g@)l8uDM?b~hLd*L~bzz~FI%0kaJTW41LITZ6GR7+Zt!RPhJdr;@U08%!Pm O0000TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o+MMK~zY` z?Uk`^!Y~kqDFZX9#14^KDZB+zvV%n406audpQWwZffTk1$yZoe(%BN!=~yWhUOV+6 zYCDA3#?TF^QvWU7$N%45PEh+>x^PN0t@V0m=_{z-s4SOCYA@pZR<B68>NkIJ@c$jo<)FMQ$7vlp z1cP>U58{Ljhj8F(7h_&r>r$zkHxy{2?xH=_aOl6QDoEsPbvC{ z=L!(ZmLa?KJT3J_BiuK|`g?Ck&^QFV#slmf^@{u|I0Z-+Nob%}}C4B!2dXW0Io c&a7JP2kIFkRtEC3J^%m!07*qoM6N<$f<&wEPXGV_ delta 527 zcmV+q0`UEV1@#1wB#}W-e*gz`Nliru=LQE3B{ulgB=-OS0oX}IK~zY`?UgZ4!ax+q zk%5_-utO6~%C~6J?vT)L05>#^pGA!hRM-s3Jz-_3^CjTb(WHi3o%|5qT`9f07Tk;` zzLEFi|Np<&m$uRPQ*~w))voO~dn0dO!&;&j?91mw9dJrp%1;56l87KgdFA;JofCIM&0NHbfO@SByaNc)d#TdIb z08lGsJ1``isnTDve=V>~2l_A-6-xk5=eyMK=mW?U5(7*rWjAJoxNwLikUqAL0T^Nd zWbScb#sQl7dIVff5li6xu6+!ciatUU_Y{C$5;8gTTL@_ul#-_;Nl4+*3h5RptK<<# z%7Jy^5pv0Gr~x5O8G9b@B_a`Op#kEjG#L+ahot~W3E&){e-9-0XweElmMEedydFu9 zzTArvf&;JUiefg)SK)9;f~W?N2+??zO?-K69QZ(=RRGw%@Mr>_QS=rq6d>dlTL}#0 znk7IKAfhPR0IYD}?g4I5ro?he0b~Jx2lU0$;UUYEn262r-LJTZ`x`#UU+NhnR{UTv RwEzGB07*qo1w^hwV1iJ5>|Fo= diff --git a/graphics/pokemon/psyduck/icon.png b/graphics/pokemon/psyduck/icon.png index c14ae4fb40e0ff34ba4d7edb69c81ea197e8d248..1f87ab0ff2a36122f673dc454993f212993cff41 100644 GIT binary patch delta 293 zcmV+=0owkc1N#DyUw;7xNklb>!3y&2)mqASq!BiHcyy)QAO? zOlJ|6JtTJ0Zt7vVmCotqbJs2<6uPvzKo8yCx|!kHudaJP27gH0>^#RBTKaxsW*8(T zX_+sNVXJ6^GRJUFjECAPnx%(&Wo{JKOFU~l!n!Vz_p3Klb^kVg0%P$ErqX9HZpdH= zE+}AtLjkh~4h2jA4pRoRg}-0GL`-BbVGRa-6fo$+z+AJBWikVkeJmwf%d0m008^Qd r(c6Oe#MpE49v*yN!EwTR?00000NkvXXu0mjf=o^6n delta 330 zcmV-Q0k!`70-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#4WhGbYu z00034Nklb>!3 zwZFX-=v0)OXi}i)=iDC;a<@%_P6o$H-9#ry3}S{YBr1X(V}BzlpkzFYupA(_=Z}56lu+nwcZD8$ymk}AwVz%0b_|esr1KPOXzBZrnPCt!X_>F{uvJWhGRN?p zxV+b?qFH*VSLR0HdB&5*BQDIy`^^qj-M@{Wz@%7%sdNp-4H*o<1qBRnC}0l2p@0d% zVa#Bj;O`eO5knIhOxS`!9|a8hNMP>S#|ljLv6N^nFWT@7rb<38K0R<2)U$aHJ}7-t cz5RCEU%A7<{=B%dI{*Lx07*qoM6N<$f`)pEod5s; diff --git a/graphics/pokemon/pumpkaboo/anim_front.png b/graphics/pokemon/pumpkaboo/anim_front.png index 680d2be4aa3cc69da194b89edde4344c819fd515..bbdbf0452dbe8bb3f2ecbeb43a68672271630828 100644 GIT binary patch delta 563 zcmV-30?hrW1)K$tbbkU8NklO*){VP>T!=+QKq&;PBE9X(TxUN+X76yK)6K3cgAF%@3jLpEb_T)! zM^RfZvsm&b3~<;B>KykDWT*!=jWzoW@CBeBYf@LBDnKe|5bO|j7=9G+70Nn{j&`Oi z0RkZ9l@3zZcVQrg__a9uUdhd6wSw)^ja^U|H6q;s;_?Dje>Y4HcK6Ww|F4laYF^8& z`A8(x-#=DDRe#R|c}`uMUARrei3T}Z{G@=(906&JJ~1?4@+*K3#w?5vm?AJTi)n5a zzbIf?ol;96|{BuUrXAc_);QnF5bI)93;Pe5<0t+t42<3RKYJ$JKdr?BkNa=OgQok}%%5`qT09`!za9?= z_pil+J>pokct9O|;DQeYSWoe<~i#i!sK7d6wOIto3a%#&|F< zyg>J0>@4EJ!Nb1K{a5=g9<0)5jR&hi8xPtF)?a&a7B!3do)rK9002ovPDHLkV1nKm B3|{~M delta 575 zcmV-F0>J&81*ip(bbkN`bV*G`2j>O{4kiE`LgK9e00Ik1L_t(o!|j$aPr^VH$9p8~ zZQ_Uv^$Wne`v8O*7ec_}9DotKvAMeFcQC=Sy11F(KrRd>IFKBJJ2IJW@)^9gK`FgE zCKF@&1_u6r-rajC{r@a0ufJKyvCRe-Dn`8k0JgaS)Qv4%hJUHqKp7k`9JoV)L=BK_ znBrWDuHN8wYL-u^+$f01IETo1^-YTM``ngn+lklyr3Wq1svfpE^cTy5aN zGr%e5Q?4_Nq@l;BqkvCeREAj?P~78p{)jI$h9M<<=KI%TtbAsU!{Kv}&qDuGV<@eM zJm6xzSt(DDXDnA@EX49%=nPU`2q8bmn#Z=Z7{?w>gMX;S^38Ed+6I>82q`%WNB{qK z;x}FXw$CfC91s309weD&>*#=?Y8_5uJkX>+r7o$)c%Vvuh;s8go)ziurSL$L{=0aP zP5)H*tI|J(2a5DhHlXOb+3}BpgUQ znE3vOCOBG;!hyttNvJiHnu7=rnwy3${pXDc59Z#l;=#O@<3V1=`T~1$7ByZ2p$Py0 N002ovPDHLkV1fma3qAk< diff --git a/graphics/pokemon/pumpkaboo/icon.png b/graphics/pokemon/pumpkaboo/icon.png index dfebbfd96664a82ece36a76211f1e9e439c7a5e8..e4db713ce09db3a1bb37510e2751d856dbb6058e 100644 GIT binary patch delta 202 zcmV;*05$){0-^$tV1KPiL_t(Ijop$l4#F@DMSTNrj2y1RACnQO3%BUN&=tYJu`G2d znTqH@s9L1_TFfBu_!NKJ(G&Tx(&WGp-GgAsfsF%pbrF_y4YqOMo}>sMpz#iHh+2mx zWFCqMAeE*^WiZ4@Jr$-R&>)!69Bt9H7fO|}KOJh`>~^k?`$N@ndEB`#(ky>lU(rFF z4x&y68Q$wqi1xD%B}JpxA%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4kiNfOoM>{ z005~;L_t(I%iWSO4#F@DMSTNrj2y1RAL9|J3%BUN&=tYJu`G3IGX>FsP*s)USnL&e ze2Twg>k<7}adaSwdk{1_aBx5;7om}BaFk?wA|t>6mKQKpk!J(CknK<`0I@W^8-+r| z^fXw?fDS>`%;6qG|1haEkGD%}fA+k$*K@U8o=@&Xoat|C7ahpyKn)EL)=k^53Hnj2B^F~F8}}l07*qoM6N<$f(waZga7~l diff --git a/graphics/pokemon/pumpkaboo/large/anim_front.png b/graphics/pokemon/pumpkaboo/large/anim_front.png index 416f2cb757dce15c409d54ab1e1f8aa6c3c34fa1..68ccbd7eae0986862ac6c2fe81859f73aff11bc0 100644 GIT binary patch delta 535 zcmV+y0_gpX1%L&RbbkT%Nkl?W6$X1>KJ1M0}&t~LbzQIH9=d<%!>V2M9>s#c9D{er* zwzJ*<0A~vU5Ib84jFcNt=)QzdU)-S~O#|P~G~hrNg&h!`9e+dFuVH|O%Pb+=o7xKp z03Ge61MoqD(`{eZ9abRvhXBU_tpNAAy53y?Qh}@zYo-qIUIeF*OL{@+q*a6%B7nAl znNXDhXq#W7i}Rwasvi>|lq9Qe1hZXpp?Q`?sluatcWl;9#f<dC5)H`$4Eq}B(y*Tr z4LD$uq$=vtWzwg63ouoZ9+KpYMvu%__><)1uA2iH4~$<=D5ZzjWSVg&cwY0#0NLd2 z*#?ZCvr(3fU-%RB8QH)9dgUAF7NbGVSQ?lXWBrUxYkvdJ3$qo2F;6`w=1Z+w|3-B@ zD1g5a4~m&)0Z_+-Rt#HtJiuzTnEpx$*~;SqAUFMs0N|MZrFg(k|HXK)JpD`YfSLZ~ zc(6SERXH9o)4v=KmjCiA@qlx3As(o;4omSv89Xy&n({reDQ_X&n#dORe9i ZcfV{he-Mfo+dTjP002ovPDHLkV1hKt_0<3X delta 548 zcmV+<0^9w71&sxebbkN`bV*G`2j>O{4kiPIOS2aM00HnxL_t(o!|j%_PQx$|hLcL! z6Csw;iSPpL#Sef|#ENi_fp#TZH&zyS2c(iLjIej8jt-2K(v_)n>{gxuJ1M0}ZFhu9 zxxqv3^Ih`W%KesA#h--jxn{tJrZHaw0M}dqLSqRZ18xR5!ha56$2-)REMU8auecOR zUk~`5Q%N|HvlaMFI0K4I|mpCRwfQ* z9>VhgZXpY1IfYIK2q6RjZ68*Fya+&BJ`Eo3^E5AijDt`JR#wAV?OF%QW7!OzYn1H{ z<=QE!;oxrp6n_Ns$}-3%;Sb??o=T`d7LjkuUY-?7)=_o|t`S(5V#RsXU!MfPi13<} zz!AkmfHR^IX@Jo{09_glVxmL^%%hkGU3!cL^riupoY6Rn?r8F^x=!<`KkQ~ess^Tu zKE*U%M9VZ$-nzzz1k(A}Ob1M7=_F03pXv^xN18}Ltbd8-UNs)E4Q&C- z@={k~p8gNwt(PjQsO&*y5BAU=JXl8n0000{R1yPO)`k|b z!p6i0&?m4Y&{#@m0tLBHn9z_cg|%pT&*AI=0^aNr3ld{)pt|{XXJ&76|L-_S{MTUV z9e@W1)_e*eXWxJqcK|}{0-)+RmPXxj4I8m+;?)aI$~K9|OMk~6*Z`;l*Z>9`tVh8x zFU)`|*(Jagz^SD30z?G(00fc7JQUA-xYcb!)&1FNM)-PZ$&2#9MGWwZ_}qWEkJ7}f zSiy(yknvHN9&i!*uw)_DWk#-+b0m2DG@~h29Rl^rUE%8@8mf_3f(<1CK30;?Pb3g@ z5#W6(`=b{FFnf_OKC*TdlbP$bPo5 z{y1!_9)0Q9Y_57reawvjrl$)3h6-3?+EdZbbgh}1y`|IU4e;J6T$_Egd?WNrV)k!H z5=kWS7bCF;%O>}44ICx zY@$6Fv|1IDJ-BFM{Xy6?s{f>-?Ln!sS9>riB=#VQJ;xUUy5}zGtPkn{0000O{4kiZmAxD@100G)bL_t(o!|j%_P69y?hHpu( z=b|Mxo<0D~ZLG;bB{7g?ZD>6S2@T0oSc{hT9L^phAhSzh zXv_^)G2iaY>}~G<9Vdi^cGXQz}20YvW2(b%*s(<5H8g)k-RXe{ z^wN@_Yr%l zQokwnFRknWN-w4UD|>*$Q0l*C4@mXjum_a-Z`cFsEY|HoKKn;|K+D>Vjp{$CXnRnq?A0Djim5$FW6$vg0=nle!8Po) Q00000Ne4wvM6N<$f*U^ZqyPW_ diff --git a/graphics/pokemon/pumpkaboo/super/anim_front.png b/graphics/pokemon/pumpkaboo/super/anim_front.png index 10a16be3cd82a917d25f3dedc1447ab60cdb7d43..fa1e57e75f38455a9c02d604e5d2e6550bac53cf 100644 GIT binary patch delta 581 zcmV-L0=oUX1+E2;Zh+f~HXElchVw5&tu`WWcSNm6|C(QkLi4(Wg34)rK^Y09B zdP0EuW^iIy;FX!30lcNA2>|C)0!V#23joV?-nd?j+H_ptjn2>}umdRnH|J)Q-gi6bVr54`8p3 z2fX`hE!BP<4_NmnTl{0c4fprsLBsur(Rk2se`MU>tET(=@xXU~KOT(yaryC}F-|WY zG{?OW4?bAW$*^$oprCkAu-={7xr+za28+Ln2gN^#2W0N?c;J9G9wco%c)Il)u|#Cp TYSGA#00000NkvXXu0mjf%#aiv delta 594 zcmV-Y0O{4kic^nQET^00JIKL_t(o!|j%_Zrd;rhD8J3 zC1gw0rR)nRCq95{7g=M_m%-6mZP|)$UD|gj;8;(PP8l);Y=(?RnIU`P(OdEiJxUH@ zQzSjK0XpagL-2h*o{psdKZ?3|jbKR}1~_EFd=CKPZ~+LH;C~3iFd!##2Y@@4kUN^} z2~&W@f!F*%N$v;uWMHT)2=qeJL0D>MZf*qMW3=ebo3{4zG<4qvjqwjKn5nty)V7Ar1$(uw{9AdC~yCs@MgrPSsppugXWQU4KCIwg&X_>0Y~5h@$l2URPS* zK4=fXD810yK$ZLCr;9bY|Iz9(4BL z741QzSh3F?AUhbs`^Fx))n7_34jOylRDY7i7x`_ezikg%>OTtFgO>WEL;bC2tG{gz zZ1uP8!Asa4mu(MP<{907*qoM6N<$f^DJ}rvLx| diff --git a/graphics/pokemon/pupitar/anim_front.png b/graphics/pokemon/pupitar/anim_front.png index 7c883493f354bbd31cd9a80c1f632ef4b94aa090..c6e09e2d9c61e901d1c57a141926aa4962ef4cc8 100644 GIT binary patch delta 537 zcmV+!0_OdU1?>coUw;AkNklOr&4)F3#(WVnDKzCenk z-)4`n*N$WlTP)H}k+&UxL!r;oFJT_4s$Kt2#wvkB1^MZE<>0lR`RQ?%fv0QWh(SEb z!0{R)g&dA5klcw1D1fbwuMt}+fJp@W;qBFT$q^uX^l|82KY!y5M;R~#V1J%a1=7%A zGu#NUSsTC)h(9O+;xLgm!#GlZ-PF4r7mS$ciuiVe7PH3qcLFnwOT6`WU=&8tqW9RW zaiI}#aY2h6aC}pMO3Y_I+W|Ov)~1+)4>-%SERbI|@yx>?qBH9mUG`zK*3pu-cz93>l~) zTK;t>8)RVJAELY_BdX#-00000NkvXXu0mjf7*_k( delta 568 zcmV-80>}OB1dIicUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#6*{Fe)} z0005+NklJ$BnL496wDm)#W2%o1G2vk2(`j(q`A;RP}zdzT)e*A76nuY&=3 zN+)6AfFJQCiu^atZr^9ERUC%~>guAh@nSNs9^Vr#D87}j+c-k_ z8`<43j?~|Hi>~^GLfYE}@$Cu&R-03Q2h2;l#y`L;jAB6VvHR;68UdFUv^WC$(|v$8 zpLp*G;N)4iYkzU@0VjFZD-fSQ->Hmv5Qth{_xbxL6hsMl=I;n+1_~wtICGKt<<~m_ zr3fL;t~T)jg95xPxKI%=cm{+V24|j;t$rzl!Qun*W>7--R5EXe0zm;5%mk1(14zRr zV1^2mPCAr^046xTd~5?9Ixe9kF9T*+J50VPzqhgM=YL5kKoj_Xpb(t~m^Ft_y>>f= z6(}muRUmsUMdP`VWC7F&X0X&n+PEVPmyx$_Q65*nebMR_?6%u(yGGeH%C1rVhem0! zxJMcV;{%OC6IwM&_dugq`P`edCJ0u0IYaFLSZ2t8fn@pVE;jU=`XR|O>7N8i`s?1V zAqMq%Z!xQyvmK~F4^;;pw!}dx4+I4GZ3V*P==Z1M8|(}8i_kK-HZq(50000ZEheIdkmH8wNf5LtQ=(K2z~NNi1r9l?S5)lxZ#ETd_H!6bHN=D{2gHL zfcXxXeE$(J(GMSl0t0qv2{n+*f;TY@Eumpq!HYz*B*!`~zz`R*zI!aN5QYsJ+A_iQ zM3|^CYlxA^8mGYK+eeUp$5DZXOcWp?5`U@HgG+g#ldq%397cAMQ>-PT+YhG|0BaE- zCXEVMkP|4C6L6X59tlXw1z68L9^yd)MQRQ;P?DHr5BPOm-VNt1 zGyg*cmZl)kQE#F)_AA~1c7@79!6AvV`;Qj&jQn!dp)`B*4es~)vjq$z+XDpme`m) z7b?vJX0q?vr9Y3W-!$e}Wxv`Z0Nu=k0RUhCQW4l8O&~gkG(sN5#|e<`JLq%|1@=O~ z=g|iV5ly*G58@}c%+IfrlfYyea^iFt&#xl%wD;h%4fHIWa(4Y@f>bvkULMxAzu5p6 zV6|LYTEvD}&gv(0IdGu>fRCxXL{gfNs(^HKSqUL}7a(x48yuz+s^^11^0000YKB10a5D#L<__v{c~s zsbOG4gdq~3eYbmHz4vVQc$CoH7^y0|Avj4Dqlu0r+v@I*aVm8LDZD|${x!_cu* f`SQoI{mvgR+~RQs=ym+B00000NkvXXu0mjfYnD<* delta 217 zcmV;~04D#50O{4kis^^PUg@ z005LpL_t(I%jHrr4g(Jrp)1Y!(B97Al}N7sK~rwF>J`}P{fi~4Zn14aZ<4YxA%+%8axCe06Y)r z1L;1q^zkU$RBNa*9fDy4RqFDXGf+$Fe(zJ)4?_R`vWwwLfiY*S^pTI)ewU9Y+~RQs T@YU8R00000NkvXXu0mjfWAtS$ld&RC5#r#DCfx5*?)WZg$imL4ST?GCe0gW;x`1Hb^f4PBYUq4;KsF?u? zEbCEl{aU74Uw`_Ib|e5cxTl6X&y!TE_B7aT(W?rRB-gFa%PNYEE<&v*>;R?j`Q>=j zJr8)}ep$`-gCT=uSHMShnq@t?)9-0FAT!+w^Z*9zT8j$EA>lWJC|9Sq8fe)8^m53x z{Kf%g5n+PBl;2GR2)#mJ#{<+yr~yI~V9Cum{E5JTUw&a(kzfMo_OOeWGX17i9lzn5J{r0A=$IC93G;uQZ^9McZV_KpzlgY(O219*Gy-`WoI z3)1yob|NM&cXtxt;dwtMiSSuV0q9d(Apxv}RDu9O#9y72AdsZ+*LMw=Bn2<;sCEz& zP$`B{5P#yux=7For06IM(@BPYFhIjt&J2K!elWxYGgA-l+vg|{7pNe-qu6kL4rCZc zM{(yj5xhG895oH34v{8mcufgRqX>1PwNBUkT2hKI|FzY6Ju;>sfza=iVkD#{)TGsj z?+&lTwj~&-K%>J)j6aaZ9>(4F2jSyw=j<=4!hatc(}a%XTh(WUKZvYRrhtC^Sop&< zYnHj6meL<~o8~~IU*@d*q1nUUKT3a4Puojb^-=o6`zyA1<~!Z^tv zKu%jFQYa)QQ1}54SW0Fj7^5sRtu!7Sy>8nu5P+q!qX$a{+F2*TD&R#TTNSA{)kcl3v0uOin4wzgL4AP$ zZRTc3=R856Q5ljB^58yHkCJ~9`%Wp)p^G^Q;^*U0r0+h_9>6FVfB`Hw09XU` zXL83W)GKg+J)Zs*FlGS@7YCS+XH#H+=d%wGA}|7v1Ez~UeuZ-Y<~od~i!eC7ItT8w zCvQ>+)D>o;9)C{=RcB>Su2b-@4X~G{1mC=HCqFLX)z5EdFxZcP1g7;YxOgvft@J@xgsLFs#bvmbR&176f?vRQs%B3Sks z_}XQFW(;rhc0iW873cu;$+H$~pn{CP45B%m&b+T>3xCk5pwjZjVv|TR1cqG}5PFWl ziU!OYi3UhGz>-Cj{6e4~Gxt%%j``b2-~dxO00spQm}}+r3K;SgP(ql+(%}Iyd{N!Y zwh}3NDiYDL5go@-J01ew6NLMyemP|K-oCXRpKkBnb+K@%-e~|2>wRP-!uM&%=$W}% z0-_c{fPWyRTjyF3jHJ-*djoKig3UXHR!PC`-UMI;VLV;b0a}3^9c9W@GW3H!8pdqI z05w`4-OkxI zs@fmafg|}=_kll%GTQHlz0G6o55w}HVQxN4;}5Iiu=O`F*ZxpOjDIx#pk6AXDK{Ec z`@`qAcT`i3>a)aip0A2Ks;`?Yj6Z-J7StIjBx0!jfCeljOCuPAvgA%03y1NC@}{MT r)h7NBx7mU5ht^7H{NdP7{@3^eJG{ODmbRXH00000NkvXXu0mjfwbypj diff --git a/graphics/pokemon/purrloin/back.png b/graphics/pokemon/purrloin/back.png index 73ba5c163dc4f2206cf0da7ade7136a3837f5492..b86bd2a0f9559c8bd386eccd6027f2ea225b7233 100644 GIT binary patch delta 436 zcmV;l0Zaas1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?UcW6gD?=rjXYMB;&f!A@EKGh73ofZVXYS>{Z{TKI~HeEo+C|1pa>h z?(-SJ?zNWK0-kqUK=I};W%eE}p!aojfDyp8$o7T(%5i|g)uA}p3pE1l93A!^U|W!0 zj?C?0S&$BR@Bw9^b3TxN?inzilLapOb07nMay3~13Mpwnl>S&)h03B31Lz72CRDNmPp{AzLTUbVdFKEXfLL2l+H*I_FEu#*8Y zomGa@xY!0yECmj7Z8}spaVNzX`0=;daQfN!zJ`fBKUc)U7Wv}`!^~Hwzx2zpOA;%61SBIjsCyofPb9C5ye}HX4`k`m;9+m~^ zfTa&83!U?UbkBhCoGfr&p92~AojZ~RppcT*!@+M0t58`Kq61xl0foReH?lH_0;>+# z2e-v_2xEYe%T)j#7Ts&YdW^0!dK&>GIVcOH>LX8vQg$8UpTJtXEuj3TfUtp<#aq2r zzhMx&Omr*kRHcP!e@LdB_ZZIC)E+v+^*l~-3zK1N>T}|tGNY>QDM-Nyg)k_g=~R Y0Vp9p5GNRi9RL6T07*qoM6N<$f~b(dXaE2J diff --git a/graphics/pokemon/purrloin/icon.png b/graphics/pokemon/purrloin/icon.png index f1f689db15b4ae1877989a08ee3ea6d81b0b5827..eebaecaa288b8ce829ce2163b6e45c5b896506a8 100644 GIT binary patch delta 267 zcmV+m0rdW<1B3&RUkL#ZNkl|$-K$exXXG&j+O+x zgn>$%eMnpFS_Y=GHVk5aAaBFuD4IqWQH5j#uXFNbQecmMkpVZ2EK;H*Zc$W+_-}Ws z{s`4Hd>1gC5~xH(qvk~hGLuftePz_I_H8Q?+?sbR2$zXOOWzW0rLw!z5wh7lm`NX RNBRH&002ovPDHLkV1jrGcoqNv delta 304 zcmV-00nh$~1E~X$Uoij)a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#6?cJjhs z0003DNkl zh_OvQk^n~s-2>R5Iw%KVeOJGb9J+Nj2CRISU(BC;i-)W)1-n9XA#r$Bf4|T7s_erQ0?Q@7gx% zY7If(mxooe1xEXv5#;@WIg4uJ`(z1HJ{G|If{!2U29yVcS(wZK0000=TB@=KQFc@OkA5hw3Z`(s4slf|c3@w2a z)_o({jz;k|$M&$396WxX-#m?^d7q;EZ-zR33ovshMv&NiCVzV;I-Me>G*?tp2Fxs# zff8$7_%U zF_HHH<2Jp!9L8bc<`PqM?%^urmxDOac}ipZpwhY0Lx9Q(Ndmxp$-Dt9%zalX8hd+t zRvGM)0OT4}uz$WTiFmCBm9+_gR)qC$Y6vXC{`aNQlN(o|Bw#&NTigREaK5(tWP#?~ zIFO?r)(21T@gH{?fWej}z#akxO8LQV5v+9Cj#c@<`~YC_DYg0Gw*amVIjIV*_~17z zg45&+&H=2B*2?ANA|CwyUY#F&_I?1cX{VI~DTTWAD}RRgFE4)P9xzuCKvPbE7bu38 z_ZXYjSjz=@4FbGAi*W#lRW7uO;}%CiNBnnG_Bit@#i8mrm8~>KqMD9s_`cs|ZAKV=s3$en90B1v8!Jf+FgN{qr_<{U>h00p z(8IXa0Ds%ISBSki`zLhxDbGi)vZFMW4Xob|M*j*de%gV^-D+ZjUT`xp4*b-E#~rVg zABXV|SHMj=7tDQrg*s)P6qu*{2l(x6+dWSHr2~8`Rrg2NrAgi50)Z| zl4Jp^US383a$FzJw3HWoCL~&9qz9?PY;PQD>Z<>*0Or1}3BDcw>Gdzxm9`y`%mc{KX|nJ5r4g# z1|kDnt8^p9R}nbeMS;jwAtA4^bzzHh*52TJy@=-|0#b8N6o=jaaG%@apiNter6{nO z!0u15{lg+2=2q3USz=fwc5c0?pBPX`mA*=0)Dwp;X}j78(3K`aq+Ix^RQjq`En+8e zGo0BYpc%A9{e&@&0H7YQN~Xu_%YWBExQ@a6KT1ApyCk`V4Qw#&Sj{njacxBy2I_&4 z?zCT?VhX1^x&o|GwBD7#Fsj5J{Qdlh^Rw%-To(y?jeO`2c5>iB_2_wja}*8~L&IK{ z5B*{D%7dlTBR;<0O;N>0(7FSpfc{|lFZuZJ)pon@9mJsRzLBnulJ-7;s?1cbU z>0gxNK-3=!2(UK^hS(7#+cv_LLWwgK}%TNAJ||(@S*EEED#J~ATfVneT5)55)8s7`GZQ*Cxbz_ s`VD_zLw}gP%^y_fHh)OI^@p3|9|DU2?q^V>r~m)}07*qoM6N<$f?{>cEC2ui delta 1528 zcmV&r2g$9KdIgoaWFxn=p{H5nuGsy)~BJW4~cA!d4~YNVJwxHY|G^ zNO;Qzl(Mw=2c)!m%QANH2{A$-U||1%(jI%;9t3S53$p}T1b+*ge&0+I=Z)EV-NQaT zWb*yw`~A+FAK#CnyfaIU-T_R{h6oZmo=(pO52r|GR<4kdflQjpz;uRY0y(E>hJG5V zAOmSC9eY49XNJ-=m4F4znI39_`26bJG?VBDm0D}Edn zZ3sPZw#{4g*>0V1MxJ9{+id z0qAT+0?Z+hr<5P=6~IWA%}|$HnNI+go>7w@eGg!3kbjNJU2gq>O>i22$vJ@0iL|m= zxrwbmKdSS?uRitw7PVSgkW#4Izhj91_VQQm0J9YVH02a{f?_#2hp}jcwQP`U5a9J0 zj00G#av7;uc3}i`#D7O+Pg1WF9IBR8**@2+Y-J2Io0@?19oK!`Wo)yZa^IZmm6bx( zk86r1x_{}Yy6d`K)@Fp^hk881nj^rkQ(TQ>fZ55fJDpxg`=$j1TrQ%$27hn_2t4V6wAGRPHTRnEt_OkEj#~yJ zDg)f_fQt{Y=$Efho^ zCuu543?@iNLluHKMS=xci!#A+u1*U@2?6PVg2aS@ga8qz^P}NJC1df6()l&&`NPma zC>;lsVp=v)$r3~aB_VuG(BaI}X4 zk*z{ZuCaY-iubHp~*O=%)T%K2YPrAM`D0Vj!_;>;WYO>Zn}r;Kp~ z0QG=XQaxT@xdHq-I&=RjxvXuI_%;r(LDVvuV*ulkRbd#Y2YRy8eszW^tm=3cpn~A& zUG)s3O3cB(FOE4szj>EyB0;Z_^Zmh$4;-i-zvyp{1w#z?2+p#c?+=^T4u3449rN+^ zZi+67-stv_JoVe;auLlGT!;&DoLIW27dKh{=kO*FmsnbsMcNn e5P$Cvx7U9HivaHb;KRBA0000>{vXA>Jo&b?8~GmcZt^x%AL?5SuawL*6A<7eWnzJuLKHa_D6X z>ML|cvgMB?^a0w*m+=3m|BOablK=77U_1`RRasSWtoS9eT&ehwrB%u224z|)J_1%3 z1|tB6%b5i$S1OHws8m&dR#SsARcZf-RR~XWu<~A2aTN@8^?s6LSt_5|cC13UL99d;f}mxy5Z@f%CHq!VdZg z=W8V74L}G%1ir6lAeBCu(UVH!PEqqrL2t+p17dq1^T4_=`UUc)IS4r`Au}6VLVnWU z2tY(m+JqSjYcrZ(1fU~^5;Q8U(VGZ(B9hJBJseBZ(J>!9x%<(ac_YDqx{r3q4Oqh-kNuK?jMg%jDP|y z{FVxLJRZNCap)Ws;g?A{Hm&eGrp254?ObNodxu4Ezf1&puz_9ZJLd=ha9Bj^lTZ$O ziUjIE>FN*=`jBJ=K;0977H6t?PgN##nUhS@DtbUTCj)RE&I1uaUxRhsfubtok<_nU z3M}W&g;TkAe0(Ise7yHmguDgpb|V1X{NMXujwJa5VNzo2jDGhR00000NkvXXu0mjf DvIi@8 delta 640 zcmV-`0)PF52Kxn&B#}W-G5`m3Nliru=LQE3CKH(aqjLZN0$xc(K~zY`?Ul`n+b|Hv zt#d9?tRk>sA>Jo&b?DiVuo-`R=w%D)D|AM(Wji1A1$Oc!JU{*CuaQKOF|h^2+wP< z;$D|=6%6zG^$(S_+VB8=U1ORr%P#&JoT(e#P0Q3Hrh;q`Iw9ijsY5^tS zO3cnkE5rpb?fom(7Po-~&X*U29rGugUm>Ax073{N@O`}kW$7bLHFFwwikfF~dP8;? z5jz0V1MA#WFOW6OL8yN-3({<83E8RoK>#9Z)+VfwTPtaP9)O-0EmW9kO|^-DC!z%f ztzAH^>KqhE^B4#e81A+LRWAUO2-IZQBT5Lo-t1=&{OSQ~%){0b2cB>wcmTiy_-f_D z*XGF+n8qa4p{eyBi-@(Eq(&HnK!;guGG_>2vZZgEHHXFnDA9ifiNpghzHzl^2Ea5& z$GrpsjOtV4M3psJ^VWR8bN_gBVglqS;kQ({sP?k$>-j*2v0000O{4ki_Gp9V$% z007rXL_t(I%jJ@>4#FT1hIxYvxH;IA2Pg?F#=(d1k#wPptlf;AoP4L&odPcHBGRPP zw2PC2dc%eL@?Y+_{0Mzj_*o6PnPSLQp9>Q~Cr=@_MH5L|?0>_v%N2{@LK6fsS7ea5 z5>xM_wDkbsOhX){ts)?yPOnNQLk+!PSt>dRj1P*#hTQ8o1v$EwoQaIZ7Aw?_JF-n< z58OD_BFpf&{6kj@!K)DfNipTvCgXQkVQz)pI0e~;YQn(0E@HgJ$?R;xygBTz#D5tE jf?>$iAHgu6^cKexPEeLhf6oe$00000NkvXXu0mjfNM3t< diff --git a/graphics/pokemon/pyroar/anim_front.png b/graphics/pokemon/pyroar/anim_front.png index e2cdb0936af73dcbf38e290021af66ab6b1c1faa..d36397ea6d404696f896063e0da6987dc1b91667 100644 GIT binary patch delta 1593 zcmV-92FCfL4TTMmUw;M=NklQ`xro;yWf##mEDua#>tCHoqts7jmLq~FZE~cE`2lt z0B)u389=$y>9o^9{5h>a1PNGjJm8!UHPJngfV z5XY^`4k=LtD5X_WI`m}R-;r|{(nsL?zv!vw zwcNe1Jkt4JE`RJL0Pe1b!1T`ZJnEW&op1@%cfHHjOCjDiVB7@AWGVq52Cb zaj1c*P=I@MyA=~fUBLM&qiPyl9Iz?E43tpIpTV$F;Y)-eMAh}qY8 zAtN9Vhk62WM=T0c9R2z2^Op$%4#ly41}tE+Xr=DIUw>cDlSK>0eca5~GaW&^gZVsI z!Dx27p1?YsdU7+*QecgLzV*E3>Z1@N4_i|LALLF?*9&=KpjQlFAr;Vu%{mL(YN^8% zxVaH)1$ezqhj+LMynx=zWUx3@K!478Fif{I1)9m?jR9~CSWF&R=xwpCtAK_CczUEW z;IQEyYJUL7aSB!h;4H~0{Fsj=VBMtvg|E2?92!8}9;5)AdHHP>qX7UUFhc+SW30zhiV>H%8y9Sy7i$WnkQ97h5T zX9pr607qCDfaN$8$B!MS){j{%GspoeL;#xufPc^Sw}Aa~$Jx`sPSueBv~`#V$N^~k zaWF0b+cEa$6 z<$ojo0AOJ}JjB76k8}jP@R;cz<*WHD1%v@yW`J1T>3Pll%z+;CDuA0uhNX{e4bxux z)BA7Pp|qAl15pkv@BjUl0aG#E1gvZ0SX-0pG(;~8%#umI442pG6HV{4$WW8=WnfI- zi=XcAjrV1{L2A>d0Z48A6hNY6vUqAd&wu8B8|Q?-dny?rxL6v5BPXu@m;ty~P)xGw z_Cp;A$7$wMOp)N(ewN%L;?%t?K^u;sFgLtZIRe3GWWetUBLnmO)q;`!T^_?~Sc7%G z8=HVEYF0j;8i?$MpI}CerWFMR9#|OEhgbx9rDAi0+!hg~s zzM`W7uvev~q5x1ffo(+ri5Z6`kSWTkQWQv{KPv!IQFx{(M)}tO5L3LqwW8p|_KSe~ z@)pL&T2VFtX&^7bK<25UJOmtlK?6~WLc@;Ut#l<3=!?%^=Sop%7_?s-PazfM=V+G1 ziBc4}42N;s+$>O(-#{?dN>Om7hkqZ2=2}BFdWC|a6r~A%F$_$ATmW$MQ>rLlFW^I7 z0MI-xsx0X$plSGnY$fcyc=0RKg3;v4AF>l^Nx*xxC;-FE4oFQ(0gF<=SN@O#GPIv0 zZw^ghJSYM!#Zp-cixvszfxFc6BKB@HFN9ITpQAbyMvR0PO{G7u>4s3?62Kr>FA zHV~~S5qKB^>76STWzSHQQGWy2R1`j9@`_6fic}QGP!y=XSQK-?*iaNmfroIB=9L!} zWq$*}t2D2?K=itqqHqap)PHVMQ8?y6HuOLnNLW7WbyC3IHV`WR2Mf3|2z$#w@B);M zp#f8*5;PEXRR?nw0hb~#y^yhWBHt8ywbG7a0y1IsCPB4QmxpcC6U$I0JKbm7P>_iM zWZe;4TxBL;ELsNiBQ{dKxquL*F6uMuvzh*{aw-NXU>iq`S^5J6`!blFjoY=U%VZ;% rg15?l9!$a8xkin}t%> zGtU65Z-J5uS*MJEQfd(yfCDgF11{C#Zv((%GG|6YIDbb7{G(=HqgY2kAPUm~)Gc#3 z3~})1x6fZD2)G>k`WXgq0)t0N`Le+{Ep% z9F6P=M<3Jv*u0$2ET9N*kpb%NHngV?*%2Agg{uaTbjt|)$j;DSEq!|bE!&jNLZv`2 z2Nw7Le#?NVnyv!Q71`F#teJ^gfFWHHoaYNYBMj_xI#|S#OZq z^l1Q6TRsJ_UNVWF>d&+J-zFuK@19CVDXA8OaP`2IA2R^g3W`Zq-F~P6;kt+U5K|=N zZSE)s%&qxZf+g63iZ1v@`2Yl?o&monf(_{Vn+k^gy*Y;2a0W}k9s_hya|AuFwSR$x zse!a-1%F|gf$XJ%(Jo9UQ539r)nEm1j)jeUGYM+IP~!l|MFut|Y+ zMFEK!hZM*Z<-{loB+;K00Ieu8QxsDEQvir59^a{=1bO+lfcNqS`p2oFtN_|TUV?$l zt)e^x9DG3oF^a;&R=QetCK2eX&wpR%Mp1a!ZoVc@p%vxl-Ykg{qbP6~4x=VrEKro+ zKrog@QE;Y*ABJ?Up&GqH!7z$)2!1haQ-GZVaQ%~26u;Y+Lsg;*Cj|qk_Y9C1cT|+zKzy!&F{%Cz_lbej1L&3GNG;J*p(ilW(%|P$~)Q*t?RHPC#5OY+w=OzM9MM(9) zIo5AV>FzFd6bk5sg{@ZR@Fx@v1(^^ayWA7;SDf&zLHt_6u@Z%%?(_tIziXMaNs$RjqVPO3|O|V`m`Lf?!Sbn^eF&8yn^2KJM%L0Ho%6ReK>FT&kaw~rbnXFB$oGD} zcRYT)pXdFj(P(_XI^S$QSw*ZhVLVv@Y#`8FK82hh43|%Vz<f;|1RrzxXSPatgF#bpc$l}iZN$LvPKv- z8qW2?xL_Z|JYiQJeH7~P>c{~~xRZ>rql$RdasV0K8l0`(j*1u?vhduCq{TBnsNGrttafgP3Gp1N6mQ#KZ!o93Ghys(^m4H-yuC zqH6db;eTgB5is?!0#4D9z*PPc0PrHpho=^j*Dcs@1$^LMX8@T( z?`T?Nt?NGCQpQ?PL5LV$2OCJUn_CG`+O+^559A`wvm3zxpiy+}0v{E?0k|z0B~g@L zAixbUF*R<)Yz7ZO=XEyL0E;bv@U)QiI@659(SIz9y#!8+IX5?)D**32UUkML0C@F8 zoEspE{Q`fJfd!-xCo)7mwhDG>zq5KKv(sv;tNZFS4d{2E+E4QknvbeUCeBN%mr*8t}%t@8-ZLdxCRPQ zsDGW-KrYO4pn>T)Q!#kC;g0%$fBGuiix`jXm_Psa&sX=|?3~-N2V+sp9AGgPWm9(> z?!=-fUIgxq{r|>~boEuD#H=EugZ#V#P!h9z3MDZwmrnt}E_CW&R#cFVvdVI#f%2o#0Ai)CXEx7+9!j(>8| z(PwlRul+cz#?xohp~JWa z;(Tyux}YdvAkncig$tm8Pai&ctZ0ocPez?cGNGX)gFbr>{|D_jD$ zCk04_9VOe62KUU@ry-(W@-uO7X}a(Pzgqt{%OLw zZ4i}UB;9Tro4f^dDIdxRO-2&+#`zb84J2Lqn~G5VMv}K_VgWRvgSQuUgbd!AVu~Qt njlg;0d?D^cNbKhCili3L2og0900000NkvXXu0mjfvGTU6 delta 1519 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 P00000NkvXXu0mjfvINr| delta 490 zcmVO{4kjAmARE^J00Fm2L_t(Y$IaC}Zo)7a24H6? zs=72n;Q&Z&XOxpPl3`%+L`AzqT_QL^xBzO(PE=<}7lzOsiE^lZ{vmd32k27un~>gz z*N$TZLjP`jHn**@=XXPxf#3FZ9<%Y!v`tuY$t0Gl&WE4T_^jpi-D?SQXf z7vPB0_rzI%G10aVoC0kH_+I2Utzf7?a0-03f=B^pj5~!&53dno}TbdtBa76{s9wKId3h|Io z3$OwJG*4h=&o*EMs6*){W3%L-} zd`PgO#Rh4|a0F;p1G?5hd<0htSHbZ4(!f=Vy9lklN03XAmhuy z^kVRG4yF(*wsjzKPKXQC`N9pZ gQ&o^n{_4;A2hmNvl|1Q9djJ3c07*qoM6N<$f|IP`LjV8( diff --git a/graphics/pokemon/pyroar/frontf.png b/graphics/pokemon/pyroar/frontf.png index 7e6095a55de101ba5466f5c176473ee201b50880..ff02e8d9502aa25bc85694b3a373afc6e8da2ced 100644 GIT binary patch delta 828 zcmV-C1H=5e2aX4jUw;D`Nklaja|}fMlbbS#`~UTO`L4M;B+*o_Urc(OLgV>_8$$O0+xQPxH;rt~KpV zVVWOS>z1{(ig;&XY^?wq3b2-!$O=%pyo3V25wibzg#+q@9Dgkbc9c$bm*}ja3QQ)1 zyzZgPhDFH1Gjx^$ZFIN?NS1i?t`ralqou&GvrQ(yIbQ_cQ+k*Iyz}V*5a{gFY7^n+FbO7?JmJBJEL4gk{YWP{TAsG7vG%Gr1jL&|x(3ak-pn~)|3Zn^*v z@L~HSoq4QnqJO^IERTWuBNtU*b8nj*%^JFdhs(#I&`nx;G^w>e*ERP1=W-yKZhk?c zndyz%fx1uP*OhcN)g}FkeVJwsmZ1k8go2-B9+aA9?YtNl{1&D?eyy<$TEy{54M^}N zIp-%c;`YDqw(lOj8v`?bLx#ib6%J5yZ@` zlrThk3uDS!{N?c6Ti)CvNs4L~Xg$@7?ehyW@lQ$0;z*x5e z7;2F)|$@it@rm4yc<~r^AeDb5r3=yUcUl(n213XE6u?Bcd!XVZ3;kW zF(kzb+gD1j@0A5!2lO5n&a4FokCf!A62RwPKC1$77JzwpGoWxaX66em;3t$RQ60$A z3edwaFCC{N|c z#x?Z$-&6hDbkD1~^$_B;1}x@m8P&(|B4^vqBJgVNZSfx&BpO|KA|@XI0000>l9jHsg?b{ANl+I{C}(%#+yd1w!T`o?X6YB zI~&K=3ZSk4dwul=ly0pAz7ewjd4&V&gd8mgc9c$bm*}jnHkeEZdELX5b(@fbXJ{`4 zTIg^OkSy`&UMV0Bhf9G$dz(ytbG`_Cp!6^Uc>B`_=D;I zC3{%EokImA2Y&$Rb+SR}yi^Th+huKhh#}>?r33GYy-i312QE4Q5b{CmBb|A?-$Z@4 zQ62;JM=o?=b8nj*%@VqVhs(!-Fl)5*Xi$59t{d$6&t+dSv-SmvMyA&*2kJbDUsuvI zRF?EB=2ffZ;OsI&A0oj|G7m~?waR&MT<}|%cKNlzHh*X_j!!B;f;Y)IKbaB7%?e-+ zhTwNOzeb{^bf+0q0K=C|BA^J9G0zEtp9ZUJ!K4EE7&nZyW`F=o7Me;5&QWk2N9n=Y zaP$)B2lK&U0j0lkP+NEzFwXu>1k@q$hvf)y6(>dpSb4!L z>{=B2O{{kg+zP|%p%NDr^<&xWhw4f>Z=wT$i_bv^e0lSb0gQDtz*3VeiF0`a90BGy zr&ZuC2Lu8S31_C`OfD24N?=ra+(4RQ6L{ZcRDS^6)c{lYapvcZrNCJ#U89T3cq+;Z z7dfDAUY%Ns3_yI=5$7c!T`N}q-JS;c7>Gd>GsD9BcQFY|Eeb#wF(kzd(^pEj=a(D2 z4wzjo+*t}P9x2IZC4lYj8Wq4@0Q9F*0)?wJGhavnpHQZZt3Vc3fEh*k)^Vx><`l4e zDqu$+`&$8%Ea5p2L!4K-047lOLHV#EnaA*P@1LN0h$zxy*7W(`Q}u0n=Xz`{ xf;e@n--K$+kz=v=)u_fC$9?f#c`f#~@gEr^8eOf^4r%}Z002ovPDHLkV1m}dgMk15 diff --git a/graphics/pokemon/pyroar/iconf.png b/graphics/pokemon/pyroar/iconf.png index 7ce0132406cc201e3c14c9cf089e98a19a81d5f3..aa640f6c0bd0897fc40ee9c9f33a546eb1f35e4f 100644 GIT binary patch delta 415 zcmV;Q0bu^b1BnEXBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? z6aivOM??UK1szBL00AvYL_t(|oRNRv)wuXGn2;^=WuO+&SV$H(tKJaQ2sT+9XCE51*4~C;IT;v#f1%4- zS!mdL3D2Wo_&|v7mLAjIqQS5zq$sY}T%l)W2oMx+(Xp-!#Iv>|&^!fb)ewbhZh-V6R{@i@t$@krR=}jHfJyZoB{1{|jOuoLL}2;@ANqIs_yj*-9shfKS{VQU002ov JPDHLkV1gLisl)&P delta 348 zcmV-i0i*tj1jGZ7B$0kRF9~o+S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3CLZQZ z-_8I40VhdBK~y-)kDTq8kItt6zQ$wtdyS4n&qB2J}aBPZD-)4y6{yD-VEP7#DA?k=YG8nn47ME(KRqT4?8gIC%`}rOu!159*@BIt^#J=wg4udTL80G u0Ze|`FM#1SFs3^n@R5M&D?aS+^6?2jU>*POj)l$u0000QhjAd^ck3HtzP)HaRq2JBOMA(OZ)Kb;+? z*yenD_T0N<(xm^EV-Fa{!7!;e00fQUi~tlPOg0+?8fOe}7)Bt#h5(b}U32ap0K@JB zXp+R7c?ltB7dJg6SOTzr;@pFTxU>rx?g9YrYXD;E-*te%TOu&yJOT*(s0X0eM*!cM z>-l!Q2L-t7lCH*ErXmAR~bLkK)l0c(8;x0sIgPFm|TzT<>Ze)3b$ z-&kU`*S~;|Tm#PWvdC2+=>n=Y`AW5|-IE5Skg348{0TuLRKSv3QtsLjsnCJFS}_$u zs3omZR{OBo;n5aC{mvKJM6|S308`3R$|`IDF&PKc0AiNam#m6#D1eaX;utTW`u+=qUtrVp^K-KG=wDALU0oE=gZxBBvx2akj=VxQf8M2(u=UyL6 zA!N{?f0j4uFr0%yS#gL5AZlfAi%o-D)20wfB6T%8MOf{Nn*i+ zgpjj~o0cVb0IkRTZSbzas zHhYeFh!Lp}3glWm&g~knQlIZ10-*wsV1KMhL_t(IjqQ>#4#OY}MSTN{3(zA}Y4-NM9-K2J-54BDH-@@y z2f$t1F&_!(KY?L*07n2bX4^WbOI@JcI;kY0_xapz2(MB2(m>@kBu?9@fi*~C(KZ7^ zv?0=GmJitbt7Qt}z+;X)-T=J%0|070gCpwuk^e_+jlv))*{t00000NkvXXu0mjf D?S@)T delta 242 zcmVO{4kjYWBBMzF z006B?L_t(I%k7dq4niRefO~_63*ZsVlU?uIq3=xS#?S|GW3W~Se%`FxD+x)z&^Eva za0Fn+Y+DC)tt*sUCzV9>5zehbIC|kr1C^soobIOvqLaj;t!oE5Z%w54EMKtosbz68 zfoJeMRsde-0|07yo-U)Bk01SWsI5^LB&9qGgT%6p!n~505M3A~%RO~r&;;^AgD}OJ sQL`|6u=v>r3^EJz@k4ayhyL&--gD4;b|gQm*Z=?k07*qoM6N<$f_iObCjbBd diff --git a/graphics/pokemon/quagsire/icon.png b/graphics/pokemon/quagsire/icon.png index 9880403392c6224b30f2ef1b21cce84d8a5574ab..9a1027dc3479fbb796f82620802209e1c38cd2eb 100644 GIT binary patch delta 242 zcmVXZR!T8>CH z#tm)aT)7~GbIOx{ew_TO`mGX~$~|Il3E)AA0rRZjY+7cAS_V9@YYMad_ier7wFw%c;X+5IO(o#xWE!#&_g+*rCLa*B z3B{X$1S;PMikn8Ksrr}tYG5R{#K6ElsU!yG&YN}2hl2E1(CF7|V8~~Q*L5Ou#ycMg sFw>HcJPs^2p6$SDGli_@%07*qoM6N<$g8yZ36aWAK delta 280 zcmV+z0q6e80`CHlV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4kjkfPiIg7 z007cSL_t(I%jJ^64Z<)CMYDm$1PsBX41hWhl0(mx>VyGkT8>CH#*{X7IC4P<=aeTq zzfGQVzf~ebxkrqa0Pd6+Fpdh2re*Y~Wxx&Fx&WMX0xNrHN`Dt`fMY~YHU>zmu`xUW zk)^>ih1gUZo|~X1>Q1z0TBd|T%hVH{XK?3$Ox+s9F^Ep}IR`{zQgJ6BiOM^I;!CHb z!Tn2pRTy~_2DW)hCSk4|tse^VTS2W)ufkARM}n>cnKNE~WWY>MKcbOAQv%x`)|gHT eJ%m5^;{nm;-VxMA9pU%@0000m0000z5T)tp%61%EjkryTZ$o!L(HEcY)bZbnEyZa*Z0ontQ|+z z*PXm?=fKy~Ai9Rr|bP0l+XkKxFL0E diff --git a/graphics/pokemon/question_mark/double/back.png b/graphics/pokemon/question_mark/double/back.png index 8274a11ecf0e266d5474a9dec132b32774e5fe07..14eb6e139851fde1ff6e63b397c2331a7123178d 100644 GIT binary patch delta 248 zcmVm00013M{Ml?001yhOjJdYEHHnmvOw$r0004WQchCZ4QGl2!=^-peJD5|B$A%<;$`zaZ6m}PkrbsQhW>Wji4TwFub-F znD9zaXe3(I$WYp2OXHb2fuk^^Jv zL>4nJ=qZCRW5rVYGN2%PiKnkC`*SvSJ~izP|D@jnh1PhwIEF+VemgCY?|=e_^VuE$ z=T5IZqdA4~;*p&P-WzXKGMn~kqEeh=+>008O*H`zHXRY);-*`7`ugXOwK{R)9J`-9 ztm{{axRBdf`I>)gi_W>fCw+PNWD*#APftr^oVuJrq@j4hC#Cy4<{UBaJLFpbRd3&3 z2A&=U^XNV2MK%8A^f8}0o7!;fN7jGM57LZJ*`Gd*G@iAif^XK2gN=C~{#pAJ&SMH@ haa(UFteL&QZ_y&&Ova!bf1tw|JYD@<);T3K0RW_haY+CG diff --git a/graphics/pokemon/quilava/icon.png b/graphics/pokemon/quilava/icon.png index 41dd53e7ec5448961b64b7ec697cb3d6b8a3832e..ee8ea0fde7a51a46e816238ae076f58e00e417cf 100644 GIT binary patch delta 320 zcmV-G0l)sU1C|4jUw;81Nkl?S*WLj3)NMJ=76qguKFjoIxW zT8sb#39JDcz6Qw&)W+6hiv)ZV_>$)k7(gkyO#$s#lQAXr>3`XF?2u0DZk?(Oh)?LE zcS^0=_*K18R|5zWNYzlEJ~Qa9)wxn9)g!m`sk(ef{L>u+sn$2%SL7#f;Tuo0*MC&> zet$FzlGSovB>r#Yew|GKchi}4*#jBS$uI{FEHVg4LRxUPJzO(vev*WI+kj(WN@)rW z(T@R8mgScHa5-iWCRx2gbnYNbQuD8|FcdZYu`stwVd8UHm?_@~BWNkiFY*Q3ZLgab&` z&>ufW&|RuirH-omIMS!;{4VhiHxZ!PUU^@MKY%mec$vNat&-Q&rqDF`F#yT3+(ti~8H7nT&*YZE vB(<-uGhj$&yB*scfx>#-{<=Q+vB<Z2fumn_ty999h2lzh-;4R&{^c~5{ zB6+lccIe_a2;#kuzVCED_`Z^KAO9`ZGAr`gM|T5REw}WPS%1hW;c!Na0FSlIgW#JL z46AJ|QbE?Vb$c0b+$bRF+B&wST>v&YXk*;YMF8osgRyPp4pE`A*-|m?^<$Hk3m9Xo z-bICc!3CJa1OlRq@<>MW)~z|8E>9eQ+=lDyaCUQxIV6 z10h5tp}Nx(gn!C2HYth$=a)~@eEqjSrVId44d>@dDPO8=U$c`mV7qj}wo?Jsoo|)c zWGe)cli)!4ZeaH18#ej!*EM?wz_67Be#|~(Z2pP8_W;0d5_ru4#@a;#*jr`N3COhhybN z1l%6{cTT+1Ax{jb(OaqkI3Mrpy3T(O-@ND~9NectCJcCt0(~P25W_2WZu7EdP|vSj zTL9EEZg*6sl;&hY#-uhT$78?7M|!gaTAcsrU3N-s8KOsp{5>cqykju!3ojbvrza$BL$H45Rg-V zo2$>^u;J+<0IG+>^39b9h_H9(@8drH_gH(d0#F{VAQWvC@x8X*ikFR;7)5j3D3Qs2 z8+m>L@Bfx$O12&5HEkz43wZUqhYhe6HYlmK7Jmn%DiGZUZ~bmdb#PmYRse}^H3Tqs z81AFQ{WcreYG4xwA?U0os#=XuL+BtBtAQF;0Q5w?+Xqkp5YY>yYBkYIWFGN+U-Smr zJO_h<4i1l?y%j|UqYMTGHP~d25L@Ix)Di=av(MPM-*J*Po?iga;LUqa2&kRut5YsO zQ-1)bGdE5f>*T2TO6NSVIkt1xMf{sGpOTQ8;HQ2adQ>wtUUKeD%glB?`~ z1s3KEJP-$9ONVf3002ovPDHLkV1l%* B`{n=u delta 1095 zcmV-N1i1U439Jc_bbkN`bV*G`2j>O{4kj|xm9s4X00a+7L_t(o!|j$aZ`(!`#~DZ< z(4~kpb_)}DR&tglN`h_FWMtVzGKe<_T?EA-19a#hfhQoN1o=D`Q~+HvWUxE+{MM89N9wRK!Sb%`&;MWaY2frjhK$sZg zx+4$Zf13bGAAcP}r4dx}(+LFN{3E4Q7D9C=#~7EVd|Z?R&a2OpeEqjSCL91+4(I1e zDPO8=UGd{2V5@Y@w-N!>oo$x*cryfgQlPvXn120^kH7wP#oq%kXvTpbvky3*edZrL z0Ein0-U@*84-9}qLKZ{Vgq<_+|H@d=2NpuuF43pc34cGGo(n+KycsP7IqZRty`4_Q z91Fy?2a#10B`i;U6Dy5iTe*<{ZWq2?5bqKAsSY{1b2$JP<2{6scpv_G(MdR@#{y4i z@E8SpdK93#S8UI1M^9&-pSyMgFi*d&Xo@kGOHn$awGllU`8htZ>p9>8T_{SCvQdp4 zF&{vvf`8_KoPyw&9$4FXii73S_1K=uV^4H#A0P*kjh_cqAc!BtIqu7vyU-2LpVx2RU3>b^?Qg32FW85j!NdRn N002ovPDHLkV1kB<@0b7p diff --git a/graphics/pokemon/quilladin/back.png b/graphics/pokemon/quilladin/back.png index 132fc1364e5428a74e8a7e0c43ae82188909676d..0c961901ec1cd5d60af6ea1231c5fa4b2b92063d 100644 GIT binary patch delta 486 zcmVN`(4z;n>Eavf&VdvF#(6XqX)J&%Da^;Z z^a6xJ@MzAAz4z5)UtwL!G6-0}d2AVG6|0)QvUT|t1RP)l-ANxPa^|=ySPuQR2y`se zl@zRXb%+Du7@G3{;417hKu0owi%_?#(zc!i2m>v7bZ~&m1+YthE)>H6=YYG-NPti+ zMeDXR<^dQ95Xz&2Fs}cx04bz2S&!yYfb8Wkg9VjR7XpMQ0IiHw=yHJi;Q|2H3V1WI zM?2zG4>cqJhRA^yOaPRQK;}X5GF#*Cue%B0T}I&q98-^3o+Us>V3z?k+~^XMe*mz1 zK!L|F=+WTodJrsDd00WbQ1szN6Dsuz3>wCX$p|{0nNjYYYOP_138la c_+=3C1095#puo*O4*&oF07*qoM6N<$f|wiCqW}N^ delta 476 zcmV<20VDp;1j7W7B#}W-e*gz`Nliru=LQE3CNrawgS!9#0j5brK~zY`?Ulc7!ypjG zsi-`cuDK=YbVdG6Ao3 zkzX=DTY*)FYXI|$05kv!+`}4y9zCdAuD&tv9Y_UWy~n;Ldk5f1D*LfyL4Z(*9{UsL z?|uE)*O*s|MF9tRk2S|t&Fg(%yS(~}0v@oEZd3>qISCv!%+K|<2y{H=wUWH`c}NXm z8%Br-;3(ZQKt~Edf5@13qc$#|1qcVDL~`(eE(NekAvMPU?|{4QK!8xAWb3zc9sn2! z5Gs;`w7&kK0I8I+MUD1SfNa&d2M21cF9e9l09sk6(3JoU%|!sN74T+KjjqM38XCv| zoTCIpTM{0h0000YmAW*)K6nC2zpW@>C*|J{SE2*W$gQ!42NsGPk)hQfK~YwEpgB4?b1gw zBvnex0RK3|s7FxUX`c85v{8-7kr%_+P{0H7br3ewD($1Exi=oiKqfab38w@w$Cb#b za1M-E2w7e%0L)eWuW@!ouiV^35EktTxPd|tnf~D>e{@oq!rf0AS5}G~H&kOG*GT>G zDKiYon6gXdD_YIy(nA>&0F6@R3$avXmDvd&-4DyfqD%R&$A2CT7O7S5018aOsxlf;&QYW zDRd967K9V&kklDDSHYH4{m|w$Ce7i}>-%5d*1<|p$YBEJ%OGzWk_Zg@q7v!MA($mVPXzVM$`Z0-If)zih!{ul+ kii|p@$E80e+x@~HpY_hS^z~AjTmS$707*qoM6N<$f diff --git a/graphics/pokemon/qwilfish/anim_front.png b/graphics/pokemon/qwilfish/anim_front.png index c0de3bcca4696d7b76757b40651bcf1b097dd102..3d12f6a1165123bfa09b686facdd53c2793332d3 100644 GIT binary patch delta 738 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 X;Eig8)sr3o015yANkvXXu0mjfvg&u? diff --git a/graphics/pokemon/qwilfish/icon.png b/graphics/pokemon/qwilfish/icon.png index 0e5c3e0e37b4762e74d2fc28b7e17195e41a1a88..624df91793c768f5e3928391a9983bcc925c091b 100644 GIT binary patch delta 245 zcmVQGdB;c&O_h{XCmM*%S zcI8H>Hq^QhN=!AsUZD;QWFC+CygbHc5n4w@%NTIp`WkAJ0#i!`rp!}G2MmKI(gu*( z4^T}*RA`RU_5dP-Bt5z*KvhkY3SW0gQCIgWbtBb^Q$aO<_--9;mqnMTXscJ=tvO$Y z#ouSelX8!q0{NjtJOxI7MH9zxDQMi{F7zDF+dQ+0G?2j*F#5D?)&a2_#$#jMzjjdW v^SvF=iDd223&*f_5W@9vc8~%1TRVIJnSYxDW%K3b00000NkvXXu0mjfXb*5p delta 282 zcmV+#0pO{4krTZSF*qW z007iUL_t(I%k5G@3c@fD%nz2JIo7^G&>!egB;cNV_i4TOmL7WC=Hx}FCe(TmN(`E$ z%@>Lbfy^*ucPGQxEXvvm(2N1+I$}`n2+X|{m~mGl12GJi$bULQ7C*wYEm37TO8*8B zIVS5dbOCA|3KjI9x%c9H7WU5!$tvO$ggTK#)XZ0SV1j<8= zcp4S`6R}1nG=7T1L)!3ZvX%Q07*qoM6N<$g4rT@T>t<8 diff --git a/graphics/pokemon/raboot/back.png b/graphics/pokemon/raboot/back.png index 78cf7631b1fdf83e2d172dd29d66327c86921b81..1651d9e0e66ef063009f70b624555120e41c9062 100644 GIT binary patch delta 550 zcmV+>0@?k71&#%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q03XK~zY` z-ITF%qc9MLVU!0jwyNt;^Z+KPU{VE8m8ZHJ8kv-7z*T0_Xxyf`xm=erJXBVakyk_{ zeYQ}+e*FKhl_2?%m2SQPZt}aeR+d?S)hm6%7!X7@Y_ke53V>|n3IHv>fmPveRW1(m*NbP#3cTCQS~B4t_3{e~ye5;MSA^wJQYqG|H40nVbAMj!*8%WZLgq4Zk zfF-mt+dzL3lj+o*JTPc`dvXli554!$W1ofq2oA<)uVD>Q3&iS^)OA-yV6~!`h+ZjmT2`Kfa$eU)zG`0?GdmeRsiZn zsqyF@V&LpxN~^>8WF%@2P}wGxbAYNGK+w-jfSC5cKkyjL)7Aq;oA?OR^ajBA8zlCZ o!`frOdJM^;FfdE}m`ailZ1XmLPLm^^00000NkvXXu0mh|f>Nph#{d8T delta 540 zcmV+%0^|LT1%d^TB#}W-e*gz`Nliru=LQE3Cj_Do=GcG%{DF0arJZM&mZkO_J`)@KCpsY_h^q(q{`5?8m>q zb|odrcZ_uP1#p+|W2r2&fT$yRCIk`;8nKE3f+GM8L;y?`D_kLue*)0tc8%1KCbz)_ zBEZh%YW{f*02u>r>P%jMP$yC@#H|6^u*-BUFtIzE2mtHCI+U))HQ@ZY-|OH$cO2&6 z!A6vsOSuSjik0Q=l5dK5uWb}!AMd19X!6g2LIe+uBnl!VL3Rou2}bffB(WiY3`nH6 z9&jxIIe6U`#iAE$f9eqjw!9u`K>>4W7B%jGKb%}-XP{U#;fGe|IB|0({2Hu)Ij>aD zO+9a7DYS}2FPA2y4=8)fa(@mL1%BC~?#ZnHxTip8C${ni)#@eC_yCpA%4~zYB*xRJ zJI%nL?di!W@G$gq4L$a$51^p#F8N+P9>ynYVoxlTl|mD*e}9pvj^*JfsY~mzEHOX5 zBT+pncZ+;rTdCjEG`%a`b*fL;5@?xLZwO4UovMc3?QBbc4YL9m&q|F)_mKkU3MRBV zjDL(oJp&xtq;eH7DhDv~m`N1VGw^~n2J^N3cwpLOwlGcq5Ey@=#P(xYTMF13!`0O! ez(wL4#eZz`5;lIaV~xE40000a$CAmUCL+xuTQo2|WfVunxN-tWHe`TWW74=UJ${+Nknw}b4Oroz84T zQ>!siYKC#sDxv;+5R8lU?W?9a#?%cYDXi;WvkfHy*qhkYJ+pN-~u(=11{t7TZ z{6NnSJP0q)Gc7`>WTnLwfrVPE3zPeyn+1$0Rm+8V980REGD}c=}=Qs#saY?EkUhJ z9#g(cNoT8hMCbO0w)=EDc<-~G}wLtP<+RMcYD{v^Xn@ixW5KX?*+3x zuu~p+Q_xi1GrNp(f8hrjEbXb%N{+Xi*6{#QA+7SUGlmx+$GH=KHO8Mcs7Ogv+W6F& z;m8l@vdkBSdUcKmh}Dn$_DSpcw#F{N>kENU=fReLsoM?#}CP|zRwNfhhq(svx4?j9d dLjFhn2A_Mj5kfPKnGyg1002ovPDHLkV1kM#8K zCWcVYY-cefrKi)&DYurioH+=Ax?-8(b`N#Ex3JiS)J1q_r+?i;Fw25#q&Af-W*@~3 z$c5rnTm($Bx_~0OV*jMi3^V<2#mZv8ysgCfSZZe;4-ijQP#N?o0#r0&C?n4;-bC za^^vHbmRL`I?~rTo`i$?6Tg0lA=ES5Sqw?(r8RV5$SS?yWC;^XZ;Ca z(gT==!vmOx!wQV!XH)9$z-)lv8;=_>Cbx@LU<|c;R$$~yUAO_G1o%niQ)^NC6KYWF mFBX~xLOHu#h#81K{h%w)pqy8=Y+o(_0000%B01)>FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sBcrK~zY` z)swMG13?gmHv~*2cyYx#t6&k3r~$E1++#6yiX*KcMC?@5B!!KFUa!R4!aPLUV4lHN zLeiwpJ%h7%7j@>iwbg;ZhX1?&pP9X5f36(o(5mNzkV`gTTL@9I5!=eO6IB%v*?l-l zsn(T{nLu8tn%5|b%#a*^2f$kuB})@>#q%yx7IMBI$hh{rhESw8XkGHe0y64FoB{iT zT6exJNJbS5O!2uz-64S4j`3KEEiSk!q9(Xf5fD$e<-mW5nlSr|39x9wx+TW|xI)M} z{7URJ0Dwyjm^)Ge5Fu8BdpL85IHnd75?s;oV}Q#CY9U=$xEnfua*&RaKDIE=z#=+Y z2QULv+s78m5;95(09{Q0Y+*tiUISe}8NH?h0+>G4kpc7#98A_D0&*t0qhq2O9cnDK ziv&o@J!fPPb%p?e0k*@BGzKadV9UE0c%}d=U_k!{yilDjVBjeQoc#viHRxluIJN?n z#Zmv=0(1+betDXI*+ciV)h?HZQ_GaT?+!v65cqe)uwntU|GYUvO?FRlK=n!07*qo IM6N<$f=Yx)PguD-f(DVhu|s*6*m>XI=CokcBSSH`XgM${)Vn1?b6x&2G31W z^_-CFDjq1@aGt*J`Es1U7OuNx%}+?FW^BNUl+v>iD-hU;2BbuJe;qCWoS#Tl3RD1E z;Z9YSnoI};!g=XgicoW5cwCTB;{l<^X&CNEV6|cCO5_sgv0e4}{4i?nw*>QO1SuiK zSYq2{0AxgMCX+Z4P$fkOfJ`EFUUu%y8>|V8$idPcb(~he--ej-=F&ypgZ;cTpyLz z(A_`3sMmWVOP5g;yd*Xtj;?x%ZyRKEzw|+h>^vq(GWdxs(Hb|BG~RvybQ_xqCl=_c z@_h19vd+pF_>y4DC<5#rE}2DlkL_}ONb_xeQ0sbN(qBD{_`R`Z7k~=O>(>G>Bs0*j reFh9^k54_nA7l(U@$}+5|0q5IAv3BKVw+K>00000NkvXXu0mjf7Sr)p diff --git a/graphics/pokemon/raichu/alolan/front.png b/graphics/pokemon/raichu/alolan/front.png index 22261d63bef4e747a986464b78975eae09a89c46..20c88523f6fc66cf3d1ab747d45008355cc8df0d 100644 GIT binary patch delta 787 zcmV+u1MK|l2Kok&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0@F!EK~zY` zeU&j!+dve@FS@}~CF0}@j+uCSC{sn}>f4=gt3 zvbq64joG`=}SNlA%H%$`|e&6MzD3T6%bG(tS z1tjCOU7;(2Z$x+b6kzn5@goWR5devb#av!s%0Uzf;CQ}x$mO-+Sq#V+hTDMr3qU$XgQ6 zfJ(qt0G!o9N$g#Bg;MG`8h{>YRE62o+wl61UNy(!83?YHOS-vALfA|O;2#`AvQEfw(( z=;Yl*L(-ugqTkRvNf*i1sc#U{z3<+8_ulEfN~J`qwWY#Rex<6zf8|A>Z7k*W3IG}p z?_93}pfpj1C4iALux=HC#Cc%dEdXFg`rsZ+q5#%&0EWFnYJe$&&>?><0u@~ZF&GR4 zU}CEXv@z^@l+uB&^uT>!Q|KveKx|s70y)peG4Pp?y0U`c;DW2qE=F}!QsZ|&Iq>b0 z9+v2}Pro>D$sbk;e=vISahIMwE(Kmux=X)M3h90cutGn0WBMMh9F_t?{sYiNAoVLZ zQ&o`Tlwf{%wOLT#Of?o0BgRgHptWe?QFAgqV5z)ms(|489verIFuI6jnR1me+VCnY5;b6G>L(~jQOfW zuJY4Q65v!>PVhG1l0>Pl_gWAn$ReP5p0}R?!Gw-N1oK<9wrHbSW5df+$% z@)ttu3x@!?uS0DFnhQ{ll8KsD}J*(rn%Q6>KLi2(E%0R24R zCx#qCYN8t&g(!WI^cb*2$B%(df6fJPdIIR$4cRw=>&YNbAVCgsAn{49fwAno9XA<2 z;2DlucVzQ6YV`;qrYQm7Vxz`I4{w9n9ho&J93wcheNaI=FqZH-xaPo2V3_aEMi9ah zxNn;w2b^Rfn^CACzMn*)%|}sqZzmREZVm!l?5QKMjHKR}yZgw-a6uMFD@q)78>zml z`1$z#w;%LN%HOY+>dm^P9_ey>$v|+Vx}=-OL2${b{{b2Wb#ozxT`>Rv002ovPDHLk FV1gAXWI6x< diff --git a/graphics/pokemon/raichu/alolan/icon.png b/graphics/pokemon/raichu/alolan/icon.png index 40b0b849be0b59c2d2467c0a06c78042e496fa51..d005cf7e1de3978f2cf02d9ec165b6031cc2ce1c 100644 GIT binary patch delta 492 zcmVOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00Cu5L_t(|oW+x|Zi7G!hVKnL^ik;0iMdlBmCPKp$9OWdRCfpb&0dI5jj@3VgyrT!M+65xjvoDzjSCZL*5uoED>vlTke z3|4|0qOW@)K{U3n7cfphDkjjM?i7e5f0_k@@6U)%NGU-dbI!ryN6sCE=od~6}5U3uVH4S;#F^FM|f>A(wkv%gh%SA-B>&K z2BXRHUd-z)5{Ux}ybZz2Fh4}*f$)9)KautTb+Th%6X2^9946~UA%A2S<`s5ye|YrL zpRgajrNzK$Kl<7ZcYqQF8WNX`9X=w8?GBO`yMWNpb&VFwSi>pK3pDt-Yy;%Qt}FF^ z28z$kQ@PsD5(U?O6<6HrYn*a;Bcf7uG1X9g?54bj)V zkRTe{*Aa{pkctWP%|d}lqF6Ba{*36PK{#b zz-^bIUPYi__mJzt&62Rqidwyyk6~t{;#F_&6XCVVNN-@25JmR}dzegWH%@C;s_8@rowvh>HEt!% z7(~Z<6;>cKPL(1PRq&(_($@p{!x47xxCiq)fXr(WT>zY2z$ybTi~0%*!03#uGMZtc z`7W~=AQ8FVuz+d<&LhqWCZf7aKRSIanW?4&(G_4gjX@)``F{pyJwqfibdk(ix6xR- zQYVwFp#A73vaLMnPWcw;VtrA=Bi6C;MN#p<*0x~<*zl*df!7Ffi1N);(blT7uQjF> zuf6lW=l?Q(GAMVt8Z?Fiq<4D@ej5gJ3lIvdJZb_+Efy(9kc&EW$7X z9{mEcFnA2Ckv~Nk7<3<5n0$my7(I&$;|pOPB1}^Nh$2j>l=vaS$n9nw)DJE%{8xTF Y0py6$e>k(zMF0Q*07*qoM6N<$f_y}hTmS$7 delta 357 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 delta 633 zcmV-<0*3wS1>XgbB#}W-e*gz`Nliru=LQE3Clnup2ax~(0zyedK~zY`<<-BAn=l*) zaE3^XkwqlNJ_F(jB9Lymm9|?q!-k`%IHz)AI>N?SN?Z{ zK;Cv5q&d{RFB1{^QyPQ_Qa%w8QJSZLm(qw$f{?=S&r>~Ur~sd6lAL`6@K%jyME)uY zX_!=WJVN(ZB%;-sS7(}xMd(Xn!a`{bViY)ptTqS)uY9Im`t_Mb2v1Ykg(wrK4uE5k z#fJbAg1FpXwE3rge}GNMVv`}rAH9T)f@KY8w*C6!^4bRufV)hBEa#Wk@53b^NU=wj zWqj8Iy4?cI*zVX6EXYOyAP+sT?g6?T0N4aETR>T_0{|FupCe!`fqORrW;SkuxVFuk z9)9nX5SRwM@&-){b$|&0aZ!kf!?-j+ zmg_C7Am$qaN~5d+ojO@VhoabvlJh7#$u-EjMIjWrJ0{Eq?Um>S6 z9{@q{8$hYEZ|g-@V~OWf1CF5ctjXb$8*pquQ+DkuI1a(WRYz5Wl0OPqr3B0Rb4S&2 zjV68%09XesY_(Mh1jin?z#v@!5zm5mfMY4JssS7X=jAPE1MnaPikSU7|Dt~ZuL4k~ T?O-;I00000NkvXXu0mjfma-io diff --git a/graphics/pokemon/ralts/anim_front.png b/graphics/pokemon/ralts/anim_front.png index ac7b547410b10367ac8a795a2245ec590d8ab6bb..0e5f893b5d50ce07f69a11ea58d2669a84fcbdb1 100644 GIT binary patch delta 426 zcmV;b0agB|1pfn&Uw;9LNklVxg`bu85E>mFm)w zssv?aK(=>L7Wm z*LOy%%ZHf2`)A^Q$q9jXGBF_qF0yQa3GAHni>zYVMuaZs1Aiwx6N1aLId;UNR|}8w zwmCnU^y(4ja*7Byr-Qm+O$w{E6tiX_O&3HkIjw}qU!1=8-ii<%OkDl_6J&U`vZmFA3VqB6Qlz8 UDNg{+EdT%j07*qoM6N<$fu};G<5QbgJV#?4K@dSN>Vxg=Vu85E>mFm!ussv?aKxhJWO9p@XeZD*8e#U(K&lvQ(Pk(QKocBiKmgo&dgaKlF zAs<(Q0K}k>GZGN8D3%z&E`_)%nppJ_U?@b`0DZ1-{O8@`>07*qo IM6N<$f<>m%r2qf` diff --git a/graphics/pokemon/ralts/back.png b/graphics/pokemon/ralts/back.png index bb6967130881609c045ad060d667b79df66dfc40..cd566de083a4db0e904ca1ca8092a8d70129073e 100644 GIT binary patch delta 356 zcmV-q0h|8G1I`1GBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0VhdBK~zY` z?a;kW!!QsB@T(M<7~&wr9-g4`!Wb#HRCMH`K0p(}$mFg_HS#N1=AJo-hHYLQ23ZLq=ViwHW>ih5h0txk9n~1euDfBS%H2G-*-|!OzgMJ6Z1J$XS{^! zhFSj87e)x+gqM>H3WPgm{%MNzQ-uLx4=nkY0r&-fZh@Fh+fkGN0000-*Prsn@!Wb#HRCMH`en4Zv$mFg_HS#Z5VB+F0?-b%A&v1_;X6Nfe RY3CS#z|+;wWt~$(69DlE7iRzf delta 102 zcmZo-TE#RWL7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKW9L(s?zfQwiZJwgx;Tbd zoSvATuk+X4_=)}D6Rd}A4=z~F@9O;Ji=xZXFN_TLIAV78FB4h-Qts*M=d#Wzp$P!h CLLk8a diff --git a/graphics/pokemon/rampardos/anim_front.png b/graphics/pokemon/rampardos/anim_front.png index 99c8a15b284d1aa06ed984a04208aa10c28fb83e..3c912158e364d4cfd22b2c2566c339adfb468c75 100644 GIT binary patch delta 1657 zcmV-<28Q|P4cZNmbbkg=Nkljk=WkcI>nLQ)r!Vy zQ1^(2O?NM-lr#%HPz)N@&aPHXNv7;=B@UdU*43C3u43fro>~cs&25kU8+z`s`(}~= zj-7DpC^E$F^LuY*p6C4{NndGPyTYEi0hj9|jME&*t5Rkb{(t$Vx{}=-0&>$FxUS6r zB)vRXHcG>Q1yAS8IG48pKxY0Dfca&{Dyg#dEmrcbI(c9!R2t;jrrkgbW-|${jGi zQrTS*0n@r4kZP0!WV^`i-$w=us%!xGnDH2aC_0P_W&DYLW~Ms;98QFc!9ryes7NLM z`^Po_VSnh0$NjnLy6^UYoRY_QtL#VG=YX-$<3Mzr-&tPgF}Meeb&N4>e-S_^0&H1} zXsHkIG%|=P3Xnles~^es%ZE{{aA(L3Y&eUcIpP2x_o!0LTV)HCMy7 zNZ;^KrD*S0F9DKlGF8*D#sQCd=%?9Z!>^eafPW-w5D2RVU8imOdP!4m&-ooQRAaBH zZc7H;rvU)7ACAjx7|6D4$!S;i4f+~=fU0qs8N?i5qRO_0DhBn}3N&;RfV;bC2J}tE zh$5ryVR#i;>@bmGS^LA(a9nR3kehvAl*R$qZ(|#GP!&Lkd=jNyu0zv^K3>L))1n_ z-$#7_&gLWlEuOdiW#~M-gQrZkuz;auKdLqKW9aZHQ(Xn0|-pS}4jI)6KZ75G^Q zsj#T(k$(X=_4M{$7r}uFcG8H;thd%;r3I4M_x%o9R_+53iy%$C1@R4UcN9e(^hn9qNJ2${S1$K` z2EQ@#R*fXOqg-raaX_$Q^YMMsOdd2`TL_61kY=s9ny?G$pmPFiwQ}Z@lm@MXf>N^@ zV79m<07!s8W^39e=-(ueg&zawH+7Z*xR(HzC3FVY7XIK~)^`$Wk!y?c;GPWnei#ti zV(?|AO^x_oNil7au?i2iM;^%>(3Dbsyb{sW!Cw6jPsyf0v6xDV00000NkvXXu0mjf DGinr7 delta 1670 zcmV;126_3~4d)GzbbkN`bV*G`2j>O{4ksOEU%xc~00v4)L_t(o!@ZZmPuoZohaFjq zEA>(W(w=J~vAwx|c6=()%4n@Iu$JK!UvL3HR^c3g`EA-RYqI?s=abgNq$hfd)2l#8zI|jKUR=#(xCZ$wL5$u#*-xLuRd1e>7>2 zC^Z@5p-d1UfHg1;+1w6Vro9U{))?#X={iJQhHEl5N6=~?2weu(G5{rEZ(#S>VkNRf z2LSW?fG&U*j=Mob$iM-m+yUb&rEH54Fs+9XsU>MZc1zs;ePXhx#s)x$86P7ONr!Q< zf7FB`r;cFOFVc#2vh)&#r&wBzlMJj{s4f_ zAUbLWuU^a3z!O(g=W=4~G?Y5l~vLHB8voJ#1~eHU)*~< zAbdAnGw0S$iCELq4kV{32uN2~%dEOrP_1Rv|-asXcfDDhB&ITV z`Kw;FhnLvV;@A+cJb<<`PAfdWv4@Cu6`FT01>J-v6Mx^}{jgY;a`_Z+>-sgxd9cR; zx17rtQh=<^U*p}4cb;d{YB`-qwtWxv0jSMs09rh6`%BPycn8mzY;hh#%YNiEjDJJu z@L9<^uWpm(qZz~J4LS=b+ZB)@6&!-#$Xw2wMM&3a?1h_|4tVF{8UIJ($Mf0yA^RBn z|9y(yvr$K{?o;~D$M!LcMgVt2zq3MX)Q;CV(Ds=>3Q(vQ=>1lj4J1?)Sxq7%2&*mX zqejr5BV4#XuaXh$>8L>rsE~}@Mt>t*Oim|YKYCo*8UbwDt06mT+Uo3xF%)}+z9CK9 z#-oCG_7d$N^0-V#jWHoaTf>CTn+;qMz%Ga^w3G?_#$_SlTeg)AYylwb5Jc87SGs7g zXQx3m3-G#KLP3FqTnCsiN={B-1%4JnDlTb85}pBGy?*3+2Q;X^syAY34;6gq#+zo>UJEmd=?~3$OEALzHRn_fOW`|3t113O|Xab zfQQMLvz`WoR-|2+FX#kk=zj?HW8+$pd*G7y=schxvBW(wDm1ah;-L`;`lSyz{MM

      Y*uy?X&NTE|r*PXv^T&_klSZYE=IA9c!TmCD3W wbpZGJi}`bS=J(M-thAyFit@a1T3_o>&y)ZqoKJT83IG5A07*qoM6N<$g3BKpNB{r; diff --git a/graphics/pokemon/lilligant/anim_front.png b/graphics/pokemon/lilligant/anim_front.png index 20eb75562450114ddea9ad49c73030ca76772ca6..0c8a907e7fc685a85f025b855ff36104abc143ca 100644 GIT binary patch delta 1059 zcmV+;1l;?H3G)b$Uw;GsNkldAzc@1bEGMo z0x-J*n6ur50tgSuA_DAEWJ)(T1%eU=3QZ(%T{P7QDgn%rg(rZSMFH*@6j0xhaw3vP z2HjG?H&`&<5J&rRG_ih;d$|NfT%R1n@##A*{OIe$46K}7xLaDexDIrPyB z-2BEy{b36Y@NO0`$OLzO!#`Iv?O~G#lmNiEiGgir9xE`Mho1Yt($yGOka-tXaKF3_Nq?)N(11HfBJI4TXg-0$~K9`v!oJv8%a z{q1G{q=x!H@qoXA$F_~?H4_M4iSqKpFSh;bWnh|!d!}adO2@VzpDb$@agw3Z87n}; z!|!bSsJRRXAxXe+&LF<`&kYca5a~RYg&W@h_Zk6)}Hy(XvC9j zf*JK^-c?8`V)0A@h*JpGVM&3=#!E2y1q-rW^U*=30L+~wfFS#GZKh|*5=5P2z&Fja zBruXUp$%3u$H@fG=_kO?1!h}-m#V=kP?>(N0e`^u$uGIvK=fO)wwJO*K96w&Bu~CU z;LG=J0dE8BCV-Fz+rUCfY!?8lRS@0+AzcI{1)Kx0+5o`{{z(G5E;1lav0{M4jznTd zp~jpM5L|Kru>nBb;5X1S037T3Cjh=o-N>BEok1gtqxk+2GuP0L%7_4|5BaYJJZUO) zu73<#8ut>7h^pE;ZHoM-ARefy<#&%7eEY?KfW8p_TH2j~+!;vR{^te~7bq~0IG%4H z(Ey4JBpN`Gfou{K7)T84PIC<;DuIM~u7L>bT7<_v-$3FrwGkM|0pCEPB;zp{$Q!c} z~TgZ2$JJ~U@#zP@Bx3IMc$jCg<`9N86$%XgEH0#$o4=B$h zVqH+fno$2*&jKJ2066an0H6<9ivk1jh)WEYOmYo`0glC<@f-v32$-os3JkX`rl delta 1081 zcmV-91jhUG2#E=hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=#1#7L@W z000B*NklF=*pf7=W!TSv=@D@x`qyr&jK~7W;LHx12rQ=7O@j5Y0&!8AOJ= z#She_+|+LA6^@EP@g%|P;;G@N4eD}>oK3ef6y{US{Ukz0MIn!7sbA z2$(VU`_oH{SLehZ&D z4yxA(5TX+0<+~po=f|s%5G0(b*}T$moM$J?noZqQ3xCgf0Tvy8?l?!yWk@MaZGw9a z@r56*-#dTYE}25N6=ULm%1@zY%XW!b%MOHIj$N8IvqwV zNH@}?e1DO~Bjc=wkjmIJ-9@DEB+FX^U6JtxW51f2twyN6TKo3;AX zfi< z@m+ZM1rPFF3(!HP06aTS073rehM0l`n~P&0Ab;dM35?WjXp7azIGNx%`v3&F!0aC2 zr)uyDOl2Qy0N^I3_CB!rt=W^rzkP|?}!u!BNNo*GYt5q1? z0TEk-GzDA$u-XFQ3jRp~rYUhCPO;*E!bc*pqflec2?#EQfYbmWUho^5834w*{sDkD z(|@!wQ@Jx}Y~m>X{z#e6(2mZD5a~~bIR~Dm!^M?B%aHSqM6If~&YDuC;8fO){LABa z_;gqdl#pEdPpk(6c`%Uwg@MEc3JfHU=Nm}e#R3D_b}`>Twh0OhBnISZu7PYypwc|o zKsKL6INb9MBra1Mfq@)|4P=vKJO%@KO@A6;9^j6_Kmb^&ekcMI*9F1gK-dri9tTE* zf79~-Fpv>BFvUPw@#v-hnvnX9DFVtfh1!?QvL`IKF|z;&1OV<^3IOPXDKZeBderjh zB-cPV;M)8c&oL06f|**hz(6csW3n}nlwfQO1WrQRRqqT$AQ*2c_1rrH$qELD1u~qs zm-&LhQ=8^J19=b(v0#+6STKtG0WPlo8~x!g(Ot^?RL-Pf00000NkvXXu0mjft8@Pq diff --git a/graphics/pokemon/lilligant/back.png b/graphics/pokemon/lilligant/back.png index 7963da53f537ee54b62ee1901ffc1186a6ccccb1..667d772e90c1f33e446768d0e12be98cee15a41a 100644 GIT binary patch delta 680 zcmV;Z0$2Tp29E}iBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%%D@K~zY` z<1;BLe6-noZ##bN z2w5_r8HhprzAz<)DVGy)>_aGQYUASC{ZL;k@##hAK>gM)!cNVU3k zVBjjTs;_{9vZy_O2T>qJ__#y)ssLRyz*=+7E74r|wn;N;^<{cOGc(i&6%(2B-p*C$X!*{tfJvesy<$6*%Sepmto}%Al(@w50%~ zf>;6V8yU1x73gxu< zx_Em{#R-a&YFdwgu|vX#czz_hnCNQS*^V98f!9p)d@jGr{@yks+vg>1lm0b8Pb7SHZvORXv~8Ohn$yj7m+En6g(d;weP?z7|_ z?lbg`*iAW*_ey;O*!TbO-rf5@fuj6dVRc*Rg4{wRxOO$pHS6lNe~SYhG(`=&jexBK z4lvK4LeQAN#cpSSebutSX#_|QKXg8f`hbw$RqItyXE2_O29b|8n;)9(*N%_|gYoAF z4s23bbs7K|TH|OEjX$O-czw4Hg!aT5MA0bqegY8EYuH1?W7O$G3N9g6^<%sf&+Fjy zg-&kfH9d3&k-h=Xe+juB++;He2w{ju;eEPFZ4UTZ_B^d70O&&x(v=4e2driGBsDU0 zQo#HKYXJnt@>!EReYZ+=eu8`8o}na>2LqEkZ>w+3X@bqo7z00BTcBu0#CR@wsa z1pqejzq1z^AY63)PyqZlV|gP$L=CqIP;7+6qd4Rj?i6Eke+?T4eW8#t%sQarQZdR~ zz=0yK^+6;^5I$8X_VU081B``v#H1%G(0y%SxSqrZc0@vFluDaW+Q>+fFO=m%W(B2^ zS;|*F0gGEo^ON2LWHDdg(^sA54FFF-89l`>X$xF`66?hu;H3t9ssgzT#O6g{`DAXZ zfMf^Kc9#L=e|=t50a^p71W29OmB8T*I7oh(yAn9-^e8*t+ExKmHnc4PNCxH-pxsu1 zb|M3H+^_L`c< zXdai-dIA_b#(aopv-78f|0$=P?bs=fJZF++v#Ihw7hdBx={)Fms#4kk00000NkvXX Hu0mjfIlwQ; diff --git a/graphics/pokemon/lilligant/hisuian/back.png b/graphics/pokemon/lilligant/hisuian/back.png index 0d55115c5945b8fcd3653edb14be5f6877357c8f..aefd8b022aa5ee45c9147c22248fc49a6f2416b4 100644 GIT binary patch delta 731 zcmV<10wn#&2CfE>Uw;C*NkljrZLnk5?Mf?|lR7Kt^51#GmJSLNG;UC~RiCcOXGa}w%$=}btUw7|m z+CQ|$zTW>UU|R2OO*^R7iD@|Z^1o2K8y zHX-{vgAmiWJoB6O#e6=%gekg?Y~Sx0#zllqzTl4uRe?Lxj*z01~2va6vW( zErgD-eVrt6Una0`7z7=)0I*n++{yYA^vZ9(ouQ*&xCB%OEks-geM88^m@=lMpqWQM zI$d-!1HcCTlYdeLJ}d$B8g&LQLlR^%(8h$1n#ijN7<0YYn7IlDGoeyaePVO2DFI>wpVU$enVq)n+ci7U3l@ zm9x|cA&hw$Awe0T@MJ*0P8bXM*7D_8E<;a}goVWx5P!=wPgNiui47q{nvEoY0&pk5 z*1B-HCjs!tl98ya@c38-?(TK540x&l@q+`Aa-K|s+L6i|p|wD_6}`8GEV5_z6y!)UGo-nPj_QIH4#Apv?&-BSkoV&0$19^9=y z20dEbXn%W34(oT2ks;{O4K!&Yms!3TQXY>Y(pSXF_STd#b`QE=?ug!b9kF-WJM9_1 z@wASB^B;PrV`4l#+YL-669BF#q*0p%={<{RzgE`t(71|dSP#(8B)X+L_D|)2g;{i) z?%GfroiaBY1^}>~%>*5W6W%L)S*SYEY0Sc4wNwSJW7&yL%jp#X_jnlt<|urGfDV9L zOab78!LnW>k93GITES-EJf+FT;`^SKe`403uGUkP>JHw+!2YlSjzX4_kZ)=GmL*|wOzCKB+#@z z+J>=Lsne$Aw2fM)ifG~fOQ&Dk!&XHCcE@%!J!=Gr94K5i4Jaq8HS%Xz7|s9E+DA36a1AOv(Sdg>$qAP#{V3Gq2Egc_sS zZxGTV(ySGbX-Sd|(BcwMlaPSr(X|6EM5%VlAy$jIlz&*1OJJgAX;4ZT^K(i=8KLx5 zz`RNsi}>1##Yio~Ow*J_>09)z8<-P*IBTI*3W2MhW zI&gchi$%yY4M-jwh>Y{Rr{+K(ba57Pbyz0le?^$#AQZq1H*?BCpU-*|)q}g%N1(^^Yhy>tVf7AjIsiSs zh9-^m3nER*F|9s^J1gqES`Xxn=$=*)I~U#KE(*}|Dgyrhse3%4==sTZU_2fJaOpuB z)#teTBKDrR=w^g2V=t-(ye~Aq@mOU9lSO%alWwsp!t|J%4?+Og)@FhZ%L(rlzAU0! z^n^v>at&N1suR_K!jA!zC#Px4q#y1$|4YDtjp`7K6# zKfHH-Ivb&<9k7UJQ0Gotwk1I#VQaL;4 z35oyIq`ImyMo#f%AY*q)neZ^_8f5Sy+$!(re}S)%&dbyfV}-7?M)idFae z`mDnScUAXFT7UfY7&9iJ@4Hto7BOZ4qwCX}+XgnW&xklG=6yRm-j+4QxF3bgoYxNX z13hFnK=`6z3Fqt_?X~r>1?0%V-SIt?J0pJ;Ow)}WC;14z#J@MeeM)@wJcrh|AZW)w z$T%&yj`zQUrM+I0VUP$X>HApR7+Y}Oqk^X1<5#wa>3`#;!AB$}8?N_|bbNBLE-`)V z$6J87({!Fpq66ZX&`nZtlW{R^drioSwxBydO>cwV`UDWhvUz)RHX-rEW(k{MJc*)7 zpAeGyLh08SwJE?cZ@f@9`rt;15N2Xe5{R1YI+Xc8?fF7a<19KPPR09S>0R~ne}X zd`r)RLk6t|`@+$(I8AFppk-;A0Rl}cKsn-sL$Cq;^`!HEXh#Gpzd$@V00000NkvXX Hu0mjfrpzrU delta 657 zcmV;C0&e}m1>^;gUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L=)^0;+wx z0006g^nVs3-j91v@1DhRPvh|5 z@PLCtDo6z&UCI=zr>_8Dl}|s4#UcPut5K`UjI1-`GU{Ax)C$j&LHqWz^j#^5&+hbO zz`H+XMONP+ivhUyN>L|RApV$bS4Nt zXo_Ce5TimAw0{;pTS zZ8at%=uhFG&g34-J7aI{@6RCXIPs7FCHlSf@At%4*MD_reDnQQ^n*

      fuf1ihkhAU{3(k46tJq6JS3TLcA0ck;JK97Qv0c|#54M8YPL?c9p z1{iQM2{Lm6B{b+Vq`^!=iAJc`j;4VF$fh-KJp#g8P`QCKz;^VJ0Xr1zt^hwJ!U^<_ zBc#3n*D<3as>lT* zj$0IjYghwICFk3yMi-p$P95^xV0=e}U9Ar4b>R8g$bK{bCkp-m=Q=O{0Vg?8036u> z006E@L_t(I%k7dq4#F@Dg>wUo?xd=_7r_DOZ8ElZ?ZDm)-bjCtvbAQ-i&&6AV!&HI zJw3WwCFOWBC9kap z#{geGKfjo$zjidhz6@0Lp-h~sdbc7`9o9^o*IGR6%fO0>Re(L5Ruqm^Nua9AE*Yqf zyAl8Zk0qBt3a6$3oVi7R(SxHh_OD|ORnya0C4^_LvS5!M9dHyuA?D?K+knVXr&ICCYCWwCFOWBC9g#_I0pDaetuFm z=8v5MV4nxd>X0YSWwl#LQ6AProYzV`?DN2ih*dx|oK`X%%Y2u4f0Y81$6XEpfXAFl z;0&iaFS0ylHCSt_OrIM|6snWGq~eYk0N1}J2#J#oLo-ew#Y3WkobUU_`7v?%Z%EVadjHaaOpmy9+)ewV17kr=%m6yj zjvLR-@*s*&wMJVTD8z=^+*IIMMu^eoR_!A;k9AXvYv~W20rL;fFM>|`^T^Up`v3p{ M07*qoM6N<$f+fq$yZ`_I diff --git a/graphics/pokemon/burmy/icon.png b/graphics/pokemon/burmy/icon.png index 564fa7f7d4a76a9dbad39be7721b0bf7c4587b36..38cebb1d4748617b313cf06f1b5569b1a67bdeb8 100644 GIT binary patch delta 190 zcmV;v073t~0+s@hV1J=WL_t(IjqQ>>4#F@Dg?j_bYX^Lpu+jyu_RXj`8bj8SNXfv0 z8RLWj!~_!F{K-Gh)|;j;3rGXV0{|R>4Zwy9%SK(!islC}XY1BfMN$tSBe8mL9>9Hv zbLG|pN4n7JqycA~v0U2{(M%SWrYnk8DIvKMt}IO}Y_b;?H#c-GQKHiUsT{UbcRwuQ s);}cK)0clHUi#xB!&smH4fC#H9;Zl(p#{3I@Bjb+07*qoM6N<$f?O_BfB*mh delta 206 zcmV;<05SiT0=)u|U^fYHNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0VoOZK`^=i z005v#L_t(I%k7de4#F@DMUihCf2k8lc*~Pxe}DaH`m%yFfII-e5!e81=&)?my;;%x z0OoAnnyN_Z0c0dr53U1v9&oPQ{=k`Tv^r_P8D}i_wnQ|Og{A3=qE$*ru7xX0(+Zm$ zg~bhBOO&YIzH-_w-TknHM{h{7H~?7~ef_XcIbx{ZqjzAQY-8a4j>VK>nwInO0LiJ=IAq|l(>;6TmC&IBIdlZ4F8QP4_lfn@JIgNo!i~^<+P$Qx_@Zl1$w2{t$wgokga|K1ecOKG@ z0Dv~}H327N;#PkS`7!_{E_J;z$tx~#q~Zx&>MI0vo7=m2yRCJ9r3zV~Vlx8JLmx$b z$8C-sij4>8W{n3m&AK{3my-gzm^q*jVAgrn~-1ib&e>fuu5%=hB+jU$qvOu5a+4 cMi6`hvJo^Wv+K_dq5uE@07*qoM6N<$g2`sTg8%>k delta 417 zcmV;S0bc%_1c(HXB#}W-e*gz`Nliru=LQD>C=z-k`Bne`0c%M_K~zY`<&?dOgFq0+ zZ3N#VFAy+AEYe&|FXR^VZ7l9U8#$1G17Y7MU@F_Q3}`dYaJy!s9?Z_R2RH5fcIH1H zJD&H)%ok$I1L5w-6X$TZafAquE)i!}inlEfI7B!Bt>NT|5Qlt~f4oW!gz<(0gb?qX zN}(d05?18Ch`COQeF+~-ojzoMgUD_E&kO(%tH$ClPy-SX3(_ATOeO&L+mRTM|%Z9yPcdChIT=ZIJss$4uM|x{jj(hjqxN4yPwwVUvkXXLf zG!3=X58HV#JN>X+A>XuOuwE$*GyuYWqTo`9^1_{J6>3d1lAg?$5|HA8)FgK6k-3?e>5MuQRc7zkGB zR9Q<(rv$3;|n5 zxZzYOE8tf@)2x;>oV=dFx#6Z1uGK72gITT002ovPDHLkV1jVzQ(XW6 delta 223 zcmV<503iR90=EK?V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Vo#=P7T=r z005dvL_t(I%k7dq3d1lAg?$5|HA8)FgQ>}J3?e>5MuQRY7zkF!%32DUTByd4r=KUD zb6-|)7|;y>v_K3Hqkt}c0#`wq1Tjn0Jr@z>q5*RxdP`tikyt5f@W7=}QNZs$QBq4f zE?&>z((zOZ*ISXO!DvKVRmYzp(q7f65IAtsUY=OP${ diff --git a/graphics/pokemon/burmy/trash_cloak/anim_front.png b/graphics/pokemon/burmy/trash_cloak/anim_front.png index 698a81c75662c48e04822192ff1d2af040cd099a..ec25c45f36760d98cfb933bdb22575f63402cfc7 100644 GIT binary patch delta 724 zcmV;_0xSKx2D}E4bbkV}Nklj7NBYYDqsPerfr1q9u2GoEgIMg?$90ly_g1IgMaS8HY~u}zU3VDeIRFW ze9M*&g!B?DNfI(&iC~)qwgMoBbaqa|E_GS!LUA=9N@U7J7tMFnFx=GyR>D)m2%18v zw+K+E$Oot^b%FtJK148ii1+Y%p96T()IblZaQ`rbi2;xyil_wuW{okj#4+eCP8BwU zC#BBsD1ib(bbnM|Wl|}*5-8+I|5iv1yjVTs958ugi$a;4RQQnUZ`gpAsSb83^>#&DK8pRWCZuyB{y*~MGCmHIPDwY z8S>Y0XUt7B5EB4nNBo3UkR6z5op;b3=i%`*M|N1Y>3_MsK3O7m2lOLGKZGp#o4ASV z7_@;fcGu!C4y^|oXj_1qr33r*+|t3KD6AS-W~jA)SVXI|c$8BOXpgD}Hjjdm?f~uY zG|>K8(nMJTeb%K<1Gjw37PVlnO9DsTLcJvNo_TeSanV}Ov}p-kv{)v!X=wrzE&X<1 zm=^X*(SNEo*@T0Sc#q=s(?`&HmtiG56}=CmgHOBI5E_8TbJbccTC5lyLldBxVM7!` zo0iT?49Jx+t!$)SYBk`=g(nGt%&-7-9@WK#0tr-;3X5p{Qvor6rD){}(;$xpCUKpUx&sGC0HzIX$b%{!d7AYxZ__dCCl1&jQ!TAI1BgLJibJNO{0Vo>-_(Adj00Ny!L_t(o!|j(pZ__{&z|U%3 zZ>Wvhl_B*9h_G9wC=6|0B-A0YC{`^HOihV5Bvi$gx&RWpK!pHSfB>8(HGe`-vjeMs%MRT0x9lCN z`;i@h4PwX*0$4pD&f%a6k$pyDO9uk`5-g5m`&EUoL!2X6hjeyNgP!fO)`a3}Xep5@ z6FoHFRij`}6IcmPjY4P&r7jR4S78;Pu2csD-nz|;W9 z5P8@F0JFvfS%2aL^cJTI8^V)P=XaGr0U^3-pi-%nTnglJtUoKH23{~6FnMH)T$!9y z_>k&vP{8sbS@s9Oj@snJM93imWD`@pk#UaQ=6R;KY`j7N*2shqjjK8a9O;yl{l*L# z!Toy4P4s6-0rxse1_pRm!vN;S8i*_aW5>M1RJ5spWtt7oH>pGQ$GUc~ln{3M5cX$_df>rvkT%R;Dlw^0*PH z(Pz%FyWr=!0qXn=xy{UoRR8J{l@KjbQp(^MWg8*r;7v8)){MJtJtq+=B=mYflfx%+?q7sNa_Cs-BvIsgCw07*qoM6N<$ Ef>;Db>i_@% diff --git a/graphics/pokemon/burmy/trash_cloak/back.png b/graphics/pokemon/burmy/trash_cloak/back.png index 9f77e8feafad5c41f8c40b758a435ddca33644a5..9725be4facd9fa4162db478328dc5bd1f2661e67 100644 GIT binary patch delta 445 zcmV;u0Yd(l1f~R#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e?wEK~zY` z&6Kfj!Y~kqvsir_9-@L3W#Ci~A!4DT4}i$nCFJ}7MEHT&+Ob=a80hL}sLv#!5oh1p zQ!*s}{Qv*Ov9teH3gD6k+;yHNN_U+I5^gSqC?$*MOBxVDhyZ1n2?|q}5^ye^k^ncI zqyPX|q*8)cnB@te{DE?Rn)*_palJ_NsWhT#*YWv)c(k@%#m2Gr0>-`_c|uu>UcpP) zHUeO%D4;vQM1kV~uzjc(#KGg01Nw0IB>~VhsEDux!R6IZt{OpEQe6?)G2CHzfT@XNj^XZNP_Y5_&d34ue zXaZxvP|W|J#7{kvIAnsyL9j3)uo5zG0G$m(ar=UHcVBz{6e@JDu|09)>Z3Q=7N49% zaq52DZLZD{fHrUgd8W=^j04FkxGm(80gCWW-_}WeKYA?bm1=YyB;XN%;8W|JW|sOM n1Ta^Sr3g$N1eXMmB#}W-e*gz`Nliru=LQD>C?5osh3fzS0eVS9K~zY`&6Tlk!Y~kq zvsir_9-@L3dEitJ0kKe}4}i$n#mV^ri0}ikwIf@R80ea3s4pZ?%GtN}lq~V*|NcAM zahCnFPynYi(4MDhV$q&Qf|e@g<|@hAlVz%1nw zg2F_nOn$>+oaz)9T+I@7Dud{nReU}m?!0f7v2nCP!1=cwPblv(Cn zQDAok*gDh;;x)%B2Mpsu!g;2St3ZdmGZuaU$l1IDoCKhi0H%zMq@eBq_gLps$WhQ( z5dp|UQDJofJP(uvf0R5x7Q*bBR6;bY#~RD-VXGj3=F=MmZXT?Tbh7BHL@l*?DRt8F zr|K5lOvtenQaBM<3LZFs{tc-O)t&AkD*i8&n?Yl}XV2cpkYt^IauWHz-?(e7juC(k za1AO#4#F@DMSBCwLsxQy9tCmDWXN7i&RNO`QfL@k zsfMk#7Z4Lj{PF33Teg1JeVJf(pg92OfjA(}0ZoDdOF=OP8YSt>N>3FHYE4AD1^9&3 zf&=zfl>rV@I2zEf4<=F?u9VdlF2WjYiI~UR9yzbX6xEF3LNswx36Le`!Q2lq-|a(W p_AmP#z3j(Fg%NA`7v|lO{0VpFY`uS`C z005jxL_t(I%k7de3d1lAMRNn8A!~hv9HsP{_TW7N`7G(!f*W^CAZoWrS_+w3=pP^d z%lPxV?#l$T1I+oOg5qy+S00000NkvXXu0mjfw}V_b diff --git a/graphics/pokemon/buzzwole/back.png b/graphics/pokemon/buzzwole/back.png index 6ccefcb1c01d6a16e9b10dc1e15385bb29970ae7..1a4d4678f791b419d23efac15af9e7f7f43bdc8f 100644 GIT binary patch delta 770 zcmV+d1O5E{28jodBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tu0^&(TK~zY` z?Ub==+dve?r6KXEyT}$aU~;c&vKbl?HzBkjBPe7rb&ZliOA?c#PN0#wB!5)YbD+0b z@Atm%drv1T5Au*{fUivf5>KZ9YWjML-N-{-n&L56`8NKvVi}YiCjbfrOb;YK}vC4EPPR8j}fpdx7XS zI)KB{Y$wcHYugh*m1*cL0l0BU7jmW5Nx%mK%t!%x;MhHL&f??s+1F47uqy~;kTLCE zD%%(bN-n|Lk}&`vlfNyVj9uN?715CZ83H}X-#*_N6Yxaapuo8=Ykv^{`SSiqq9jCt zRQcuU0Elvg`}Vj4F*ci)g#aA@NNi{$pl!HkA0)sA4gkyyhZ3cAQ8*Nxl9eTX)GSpX z1m{S*%V=;eT-T*6kiF2S%p+S-wFv0&s}>icjZcZ}UF7^Nj{S8*(%{;2+EkZet{RFMkC;zSBe0g0rL+iAdwjHxCAT}dlbz8-O9-%~H<KL;e;X4bI!ah<4QW4(gm*wIKfLT0tg9p(a=dn0Zy`XzT22=wfbYM`<#HuaQHsqL0<=dTH-ElJN?=bIsc6!J4h2J5tGDV6 z0zF!8e!NKH4kz}!w$a~aR&3GuzsmpTK^{f<14!@>R=1}GbN~PV07*qoM6N<$f-^H< ATL1t6 delta 760 zcmVC^V=ke5(Ke0^mtRK~zY`?US)<+dve? zr6KXEyT}$aU~;c&ycrr1HzBkjBPe7rb&ZliOA?c#j-ipmB!AS@b4zcN-tT?i_nuCQ z@;4qb3-GlWK zfN2S8ni6yDL5OJyYS##4<1Zxedjfn}>ni!sq>u7!N&+>jDAn{_6&y-3`TGg58xZgz z;R9p(LgrqA7=IS^tfG?SEd`p;e_Fef0tm#+tWt9v(qq7HnAMm};M+??x6uI{mSnqO z&RXA@0IEzwZwbJSL%NVHu1x|y7+^*U&;!TrnF|&lug|}PDu7)6g*fOPJ*a58pv=T}8X0%QpEAb0z8cTB(&ZG!^mzJIJm0OU#sBZ;CAc~a$?Lgh&H|@vUi#D*Esg)O-+|T!8^l%^|GMY%K}1|OCK*A zdr+x;v471z@XEqdZeuzoga}HQw|;>aqDCX&jaQ5SodNR@5Yb~DKc@=L2*`M52yt-- zSSNV#sU!dYxsA72ciWEH7Z6(!u(qS(Ko3wNwtDEgp7@$|`U0ZUCw6cjj{XTHwsFFc z=vik`mT@JWE$M<+1f1Zx76F8Wx@i+xmn-SGoPP&$p=L$?jpxEzfg}Q9R}5AnNI)VY zz(MEEt;-Lv;)Fn#K*SS!hb1n~P;x!j#3DoUZ*LV)(@!{+yAaS7}TBN0tn?ocq4^?Iw`Akd?w=KG5{ q?j>N~Ya9J-X2dp4DgVzubbbLy@DEnh(m1RD0000W!50e`s+?q@7&?1#jPPOS(n3Qh_aebaaD;v(zKGZv})|LGWfGuG<00EzL`x zc-$Y+P$D6a-D4?_8M`isG+PKiFAA>oH2@vYi@%Zd-c z_%=*D-U)$p*u5TkOu}l|R|bF=sw@R^W>LIPt2q<%#_`iCm z5J};jvo<*iD``7Ew2Pddd5+|8ns^jhmU$<@-^riz_7K?RoE#M(kAPf&n4AfqADfRf zR{7cEYyx6wA{8*i-!hCbiwEt}P@(Dn(y_cEvycF&uT+5%{4EcFrvG8I?qo;y@tbU9 z4S*)0bO2EQLx?7S(PZ4IpuG;yu%DuwcX}Groj@IqD-D2O=PJ-ZSJ6fSj-4>${Scou z8c~2oqv3BL1`x;oDkc(a4*;CRAb&rctKs?z#I_;1!f?mVQG<9nZzGTe_~lRXPsQ<& zk8h(#t8nJ*#E+jouz{j3EFKavS3`So9u_p%PsPYA<{^H6k!k@@ed~!yu-!3V7bElc zjRVYsbOAxjv=%G-aWO`u5Rs87e1CtTR{aJjC6r*X>>{uarKPR>`krLw39-)Q9n;8C zi_>QK5ds~IFE@2*WEc0O8WbBKUsR3S0bm+Ur6h% zv2m+>7-X=2m8>UTE*WNZ#fd<=$Io}FD3P+bZDE?C)q?us%O$gF>_M+ZfB0b5o>~^S zcppe6;)$AR{B;r{M7H?F>r3+>WpmqR4siAsl8~)cYnSVHp?jEdvv~Qpij+`W)No3*EEhws;aX>Jpvr1Vrzyb59p_G0(Ar}11b zrY_OWd5#bbzfAX}gWPU)6)*_GmuHHOop*>2??Hz()o_~gmfpLO9+i}YDaxFyzUg%^ z=8;u3XzTs5Q^TrPn6@~xnU(P}i?y2y7HL`^)MZ#vgC+EA7a*0>_BZ&Mq^gR#Ff3eI zO%tDgj*_tiEKkQabWcWB!-{VRAgqSiuI=2*l30j0l~oBB4eL%+<=|GDl^IlGnDl+yo6gy6Fjmq!(J?@Lkki=P zxUO#o93X|TsPVDqMbL#ZZN-H$Id$+9rE7wJu8#xw1hFS;f<~Q5@jLX;?~emmLuJ+l zVh$j(2|%P>;Iun<-lh(an*bQavDTa0UcuEOJ)H!cxxUx#VBl^5^cIZ++N4AqhvHyO z*&)R%65~@Ey9V^8O5?boPi(`a;FV1hu7`XbD1B`Be*j(h58z4@M}Q#w3kp@xOmhzo RC^^=c02TlM1aL`2K~zY`jg-%88%Gq! zR~UP*nzd9DNj_-3ts&_}c}TLP_@K>}K-z;W z!50e`x;e>0F?9Cg7~#XtrGNz( z7-a8A%EI_INkp11D9?+6Cw&b-$5VMC5s=eA8AXrky%LI7@=g_qMPyl>0WiK*h|fPJ zkXF2Fk;g>Ql$iK~ zOB1PpA^w(OjM+Tol!gk;z?ZJ&6`6(vKx4TEjNor+05k&+f1?dIJF0|II3Czzs^>{LRV2M0Y`3_@qUQUEGr6NSysS8 z3?PpE6-*@59soFrLH>R)TgUZPh;2b~nc;vCGEVJ{UU)0l_&MXCir_01QJ;mKCc<|eZVxDYDo}7&JoR(CTiw>e;y@1D;~=HsZlq7e&gU)&0vtB zRk z_+`2;9pX-_tAIfezBE;I?Yu)~@E&wnQ&ZBMxAfkP^l79dOi<=t^$ov^F`ukyAxH0* zou+7hVbbQzVRpvPY}Rh7SfpuvP?w6Tg-YnzePR0AVf6b{zL!mc&B5sjf)4XjpfmCWkiDtiqrg!@RfSO|2Y}x`Ako#+T4KFF2X+qkZ81YID7 zf3R5QBhQPV3l-Xm3l(zW;weg31zj(VJ#rQHWK}3rcT)TgJ@osd0M<~2b%B@*h-?fH zX%{%@4xYEE3*^QCMsZy3&225?YLT9d1MXbkYj-ekHvoEzMuGCUL>q_VU`@p(#VZn{ zQ)PAy=uMSIaX}y3hH=3wnAEN0cgK@2@u9tIxjxlidNBXFdQ!-3-h+Qi0+2XI8=tOn+Y9 z^&FhIJ$V-Z0000-`35CruD)qMcUe!#s6C+lpb`5a;_^5?U2Y*xBh7rPtk$J=@A62lx z6V&v3-oSXj--PB}kmnl!Zo(FVZve53ZC5PD`{QdMu;dZT4KNKX!hM$oBz|BDTm;SS z<0m=G{5_P-R6}ngim>cLIzbY;Eh}q`i24OVKoX@c97#wL_Vp|~b#?XMt$0h$om*gk zEXJE_4eI-=O?>m}^Dn?8a{*>f7hr6&0^_d0(Eevy!U{~^?j>YkMz@tvfZ<#AjTn^lRY>X{78Y4k`J`+im#RX(Dt he59a!)G}Vp#}85U9Gp66DHs3%002ovPDHLkV1lDRrtSa$ diff --git a/graphics/pokemon/cacnea/anim_front.png b/graphics/pokemon/cacnea/anim_front.png index 3f544a702761b9c350fac157d905c695b969811d..5d0969d8fee3828c6beeacc57d74ca4709cce3de 100644 GIT binary patch delta 1001 zcmVl*O6vuf2gf1EMkg$>|+HmWBfkgfS3EbTT za;8ja=_1V@XsSRL4u)AJONJm2<%I)L>BL0?flyCFI2f%&F8KlhJY;M>L+@loQeujG z0X-0cr1!gb$9G5m|B|$eU2Kn%beNa^x$v~`G!J-ubo}^Pp?{PE)M~YpUvhv#t#*8J zlCui(E2S@AY|Fx_R6J{2CP-%XBtM#`daGr1T)CAE(6-rXwar(N-p&SyIl69{uMqW% z%)G2M@O_8pQJ1wWpnNd_)((pbtFg&Q8 z5AGCny{vq(|9@tWuh4@LvMiuT`*wt9B8qiPOjnWDf8tBF3lS3yRn6DkqpsJeGtY zG{Ny$ZPgjr^|fiuoCgh_6D%`x9u(f$8i{6;-DnS9UI*hQ0&-@-;+AvKsTTo?=*ni z3swN3N2+&&z?c%D<@i2I9^t@eP&6H4h;e?eq!09ux%m43*6Ns%@! zUbfoSpWfMTnLzQ(I^+JLj&Cos?SWJ_-e0!sh<{tOolqI^+TqF@UeNCd@V}8eJ&X*Oq$nw0T1gJp+XOU}jag-|?$_lDzJ_P-cck0F+ zbcLh>AGX$RS*Z0D>%IHE7jO$OSPY{Z=VFEkwlZgya0i3#ed!0Du)@8EBMb(!*Q37K z^|>SL!7Wv`Jv;KELfyIA258DZubF>sIokmJLY=eQrGLl-Ol|ESGJ#G1kQF=su#5iy Xw63aq@JLJm00000NkvXXu0mjf;n?cG delta 1040 zcmV+r1n>L02;c~iUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUMs;OtG% z000BSNklF>l*O6vuf2gf1EQkg$>|+Hm52fkgfSG2Gn*dZtWi$s)}jXsSRL z4u)AJONO8j<%I)L>BL0?flyCFI2egUF8KlhJY;M>Lyxi|DStM_?u8yWhSj^E}}3!QtZ<1u+MxR;$Oq&`CaGCK z>3j^VgQ_wN%zw-hr0#yHW3YFt1ZMUe>btjf9DV*rLHZ#ZfUiTG?A^-fxLNsP@9hqs zp$kJ~SwNBY@Gd5?M^7H)A5Fb$1*3QZaU|)?YuwMrVdTODlo3=^$ALPMPh)0Ann#fEb4%6U+LbYj&Mk-|krQK&{|-+40KcZ0ri;4g0&@VIH%Y zNW7A@2JC#aoH=0IHse$5i-Od)&{+b-w#E26DSZxfe5&$J14vze2@op#R1{P_t>D=< zPY~X!Xn$=(GZ#dm2EILGH8TYSnf?l z-6vP`9Y-GKg_=4qS~fR*y>OQxn)n~5jJiE&x3P`?Ul5^?moDrdhzEIx19?$>S>1n{ z191Crc=R%-!~ypg$45E96H4hue?cT}0Gg($ihn<4A5x@6ix;ALiOvapnFnfEj9cC5kKHkGTUG?|wy8 zzd^jPD5YhclJO`>Zf-_j_#nG`pW|RI+);Z8D9IEt^hSF+m)mcUN+eB^xAu2{#HlH8 z&VNGSdOQXh$CR=jhD${u+%hCda<;G!m;^c-q(8pv=1!tBbl4d;58Od06VQE18@z0| zkUhn`W5XI*{MCaq4K70N19it z*_WFDRsQsbc~_>r3DC}!8M|5dhfKgwSN~{Qm~P+9Df0QBHbT(S$lq-kDal2 z(f_K3`(4$mM&q_wYutXk2FPaZrgc}lxem1MKDX{w^E&XU#k#LvHdnNG|A{40I!n%b|=@J7GKKiy2S^ zU9r}#Id&2cl4Vr{A6CeATwp#^p@_6y;hNJ=GDxOXA?Jud_M9%%I(%!oh+6_GDQd)D zLe0^sq$`6_HGqU}2#A576(aCJ&VM;2A?dYZ?ttWho_{^{yo186aa(j(nDvm#P;uhI zc090fYxZ7S!cvT=3{|?gd%y+CH%BW*rVzxa39{e64fRvk%V7}Yr2Oux~ zzO6`nmH|gC4pr{A#k|m9jE{k0i$DJkW8eS)1}5WTZ+|-UT&kcz*Q=5+&SAI3 z_Q`C@f`2UJqGYVM+s&WZ379Z2E_uzUZ1rrmW!(c?_K>%Ic_*s75aYt7N)5jPP>EbD zVt589mmZyt@76gW>)yFP=JN=ASk8IL12?VZJ^u>$*H3{(tHxsmJuRX2y0{{R307*qoM6N<$g4o?7 A8UO$Q delta 607 zcmV-l0-*io1>FUZB#}W-Jpc!ENliru=LQD>DGG2?P(c6y0zgSbK~zY`?UcQa+CUJ1 zy^$!=v0R)e5k(H=1y1A%a!6@Sv9=5}DZG)p9DjlPM7puOUhjOKpPgBI-i!RF(y~{j zylS;>+l|)k$0|Uy8#kT1#!WTQx%=F?m+flcQ-|fgeqCKt-Wv;isRDE$J73{@M=~6o zeQMvtI1!Q78Ujy+`qaw6tSkUYs96%F_3#9!ZOl5bfYWOo>S1~UyxyQus;0Ur+lL>< zgns}d)+l9x-wJ1siO}Erk3)b7&NdN1mlQo?<_z>hg{zT>QZr>e=F2&d2URo1Y}j`k z4dYea^FOSS^|-`*E(0%AW{n#TKh7YY)jhF51k&epqf)_J-ACLJP)kuE{_^Akt(0_U zFs}O$(+dF+@LJ*d4#@eDQxJkaD;5@rAAe}=Y2XYLc8t1Se~sAyDGeFL)@{!LOFL%o zl_4y}kkXK)^?LxUqkL;9g$$qE>NY!h7kn z*W#GvVOlJTL&=2ifa&BED0cYsZ!`K90AOG`DGvIlW6g#13$(Q=3F8>{JM5nIrhh0% zLncbb2K)WunVx_t1Cx@+jMA3RdRsIduwx5(*QIwRP3vM(*ifn96#%8k$sz_9fVAP! z?zn1Q0;1`RyKPoiPOk5am)vmkE5}oe;zP%%$aeh&0KV(FEybE%hTusUIf9N2=qtcG t0BP$^z*whO0ZU}O9XfgW20000O{0Vxi5K9pDh z007ZRL_t(I%k7de4#F@DMRNlmg(I*;8Of3`lBIa0=ivxU+zF+OG(*!NLrtkf60;y7 zu^_zpDe{+{C&cd+L12AIi2=~3H} zxGnZ;v>9~H;bpbYKv1Bz9qqL(G0|D)6qex0&ct8|9(ud;QDL3}f&3;KtQVX#SXqPl z9z^0_-x7ub7iRu!E)1A=!U%d1=0O%=>YPOwq`-uc*aRkwRhXrMMHr(h%jl*d8qNIx d3Ll;B4*n~M%MdCGX^a2>002ovPDHLkV1jVDa+v@C diff --git a/graphics/pokemon/cacturne/back.png b/graphics/pokemon/cacturne/back.png index 106f7e7c1b48e2429fcd627bb61eb9ac56372cb2..7769b4775c27fbfd9687c476a91ccebb510422ff 100644 GIT binary patch delta 660 zcmV;F0&D%02A&3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(VJ7K~zY` zm6Xqln@|+S)soVs|00>4nwi-yxK=(t1Tf_)L-RA*f5U%(!^)R^- zBIFx6ZBnVmn5*KG?mHH#8h(IY!KFt>lkZ6FiiE_P@S^+12 zorG%Vvmd4)6$VQLplV2T&;oCF@;v%u(w*TJ^%~He6F$;*j_YhQAWdTcFiQh)a^0tT zKKsQsjRbYC1ctG4(qE{a+b6m;*lP&5rNM6P-iE}Xz@5qf3{V3R(cBddhgmS!ZX!$1PigEa_$n0BSK4FM zB=!i4-P-X8M)$;2j>x)gAV_#9I4S@GFWx8}W=7mLz>~l~bNo(<)}nO=lXnJxXkpO} z@U-ee_1d5&zQoY1wvL1i@Ef23X7)QBmpzUf;9r^b^7&i8i~!~fN~5yK-~oFJ70t1xCSPjufb6RjDju;H7>`1PfYsC uZ34Vh?#@^r_OJ^W*InYM_ANmd5dH$qy9O@s%SLGc0000DHjt}JeU9g0(VJ7K~zY`m6T75n?M-G z)soVq|03C&n%%v5h%Z9-(1Red#~8_y92V-54EY*MH^FNNf%egg{hS%@nHcBI!r z#06-^9t&aw4Y2XM1R+7t0+8tJnN{kKq#^>PF!?lJFhJ575RzuRn1Zm#zE2r(t6HlX zNNn38D(ZtQ%Z?>rlY0RVN9}}a=d&NCAQc8n1fVKNbkG7Hck(>?W73)77WEp?oD;s% zc8=q0GayZ405D4faB|(JdOrKbCXEDjuLOp%a?)R@p4%rnlhFYfe>R6%FxTY)ng|aH zfMuvG!-<^)H-{zyb#w383M}F%-L_VsZl+ykWT{Bf0E0tBZwung5(;xeYa)C&?lioW zlKeS;+7zu5g=GXygr&CzR~GJ_^EN*xG=V~EtRmb%3~nMz&rfOWDR>l$=_{?VDiUji z#cu6*1fzRmDo149e>M;#+!SmTfPoiplnyf^ZX4iE;Ey?eCq-$|I)lkO1GKQ{1bA9? zp}Hw_i7zoUqpc%h1N;VPfSGM}{yg?LZh(JfR?Fva{W1cWugK9O*FdZK&bX_9X%8?4 zNDKYp*bl@!K#H#cP_-eO_5o!ZdVsnJ*k3#b#c>TxE*^uUHU=04mn_t{Yy-YA=_|Jg q@KX75#(J}d^5s63Rbs35@1(!Yy9O?rqGLG#0000#Q`iXhYt*exc5bxG}Y}Nu+i)w(F1Rp+&@s#mM*1($o-ED z84QKGln(kY{l2ptOY*f4y5_|O``+i?d+(FHCp}(_^?Que|BD|*!_$Z~bP^0r{7}NF zi(tF$%qFnmMb|%pOPd~lJqN&_XNxW%vdj{*I72OFStsIzmS08D+iWL@I}z__8$`3c z4{Y3U4y_g_LuE@;sMx+fcT31(x+SS7jTR8dE$D zV5R5+f`Ia2(55}8(3EuNRRhTX4fMjYH7I)tb*MlsMFTkMh%M_9qS^6q0+lEmz{FNa zOwa(rT}^cWrkk&vM++Jeu3s1v=qvo^wdEr+(6!Hku5ClE z*g#Iu$FQZt_aVW5Gt?wtTzW3yBxo3l<)B7xAfZcS62FQ&PS`+_{=9>jfcawN0JcT? z`@HXanfwcNEp1V2}P*p$))&0xY$3Tu&wFO87q?^ delta 584 zcmV-O0=NCP1+E2DIlxpnU??n0uf0>K~zY`?UgZW+dve@ zZ8B)}#Q`iXhYt*exc8!)G}Y}Fu+i*tq6gkGxnH29EnP|nk^3GQG8h7NDIN4( z`tBshl6);>=$1b=*!utO-Tyu5P_Or-M~jd_pI8n4;>YpmG`1Rfe+hyner$zPA3>_+ z#8n`pi>`kHm#%vJ8~}fwExQ2AGDpml47HqRof0SZ@~b$0n^l6OQ{uf{2Jw9FL((o0 zFzbW8UioJtS+oFfVvay^wgHBF?3*3**aJ|>0?9@Hs$PE8%b~6F4G0(?0pb8$Tj1Fq z_%MVvF#Bu)alWa6e@|gI0s_F~mpyRP1)`h60_M5~%n@L|J786}xh~qk%$WRf04Z1( zU=}DI25s7dicDd9UN->sZ=fF)twFga#36!B$r`{>Mod|UV9kt&9c+lA0Zd&4X~G5& zRWZc@;OlRz#uKF@6V_9p1S1Gdh;BW!_JT%)>KDd@`W^o3f1HZ|k)f`A5^B%c#AQQ1 zMIVc;JbnNY_Yl*NQ0_haI0-upK@^CwACR_*jN?~O&kkFV>Can8EU;LPJ-{wce}8-f zII+v^!~^_*JiWW!A&{0|CktPO9Lf@Gh4Sv@>tjHnRqg;JgLIpEfIvw|u?K zvX)!Za+sh!5&HP179#k6yCEt-X(f!WQhZ1i76F4XtD@y8Ls`}11wT18@?|!a#TFup zQ{&!0V&xi1h=6-#(iXF`cC^DJTMlH_qyCYX#u|eqKz9Y8T!g^aD4@KL0_rFP{OAno zFj^tF!hy{hAaOMh7;`|7o&_w!wP*IEMgTQPTO~RNxRDy_*rBC=*$RY6qtyQjKBa~` z5Ab2??xd^|_o)edwgMr51f6P^JK%C4^8)t^guc$70{0hvtO9(SnoTZq4mJ@AiCy%C zuTLYWtDrx0N-+V>-gp#@d52O{3^dgs7+>}gpyG(4ivF{HN_WJ7ggfLPo_kGp5C@!& zE(iT?@#Lp?4C(lP^w)2%1I0HtF;i^SF1$`%H`w18;A|hDxz1{FQ<8HF|6awDYTTl6 zldZ{q>+ssqV*mnYH`Mua+oUms&dgiWe`Q)aEr|T2_i+#2jo~fxjFJf0@jl~W1i`nm z*QtskcDir}K)*8)MM&^N2?2isjZG1de6jI;6a>7nS>4ukL^X`VR*s`UyDoqT*n*ci z1;0qr$d`y{n~<#3xv%&{5_S+aaggP<(nIvM7?AAtCp+5z^Wd}svhw?$Rmr8f74hN!DJ9#2Z5RLm0$xc(K~zY`t(CoR+CUhG z4>5SH6GXwDaD>!K8IbIdC|l$!UfPAyWXTf6I+hFuOfR^}(4n=-R;dy&q7F{aQ>IFI zY8AF-OQjC&|I*haQVpE(ki3#Vq~GKB+crXvX&F(B4mc<1Yljp0X#`Va31H(P)!Tk4UYF zGCbhk3VD-QMJt|RmaGN}>v8?a%R`LO3ZS0?NEZ?CH4aGc*huS5UAq z2V|}m0c`;Y^YehIe>v7%pX3-Ihj~-S3xE@gAx~_q&qqK=2y*`;_!w)>BEZJEyGfZk z^RYphwJ=Qz1fJP0v#G=A(n3(@3ypM@J*CX2oShRW+r~zRiHuQ;zt%wPg3f(><^nqs z=wn+?aA5CEf^foIj14}}k;8CuIRpUnT~uYzpAB=W%?AYNeV?#;xJMGE5a$czV|RxJTbj=v(4xIuF?KKEp7=@LSDu8$1^~ zeR>Dbp*z*Ne;f5fiU5B~+nYQf`(opJ5QeP1+1OTiF|@;OiGfk&xCzT_i;n?aPsL6KR~0MOS7v#@%ftl}VYmNX1uWEI_&zm(pf@IXKqJrqE_ w!eBMf@~o6UV=B;30n&0rX*t3?(4*Tw(^wY6>4`G?3;+NC07*qoM6N<$g0uEHbpQYW diff --git a/graphics/pokemon/calyrex/ice_rider/back.png b/graphics/pokemon/calyrex/ice_rider/back.png index dbd8af0a17cef9a0e8303566b40d2246ee0b43d3..bcd7fed09294dd09b0fdb430d28233b0e2aff871 100644 GIT binary patch delta 833 zcmV-H1HSy32d4*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{}@xK~zY` z-ITFU+dve?PazYYLO}?o;0iUeI@JiBln#WtQYk1>D`kKc$?}>mWo%=bp5!SK9bkeA zhI%46gW;k`&@6#d|A}U)sQfqdy}Q^kDQbpx>QfXc{(k=6ckk{({(br5fRn>9z|q#< z0+TaidSu3h$Q&Jv>0xYtj8>1Y(3VQ?f8D4BtZgD7}h}FWz>G6=TWbJ%p(v=)l~$1uZ3>? zL*@7|vsi(oSu!DY38(^qIhD1Sh75APq9ux|-CoG3>#vmz-%kTH0R#fa`_Fxu^n7oi zB)|p&Y^m3j2Bf_=%s2#G*8Xwf8@SX?cLdmtz9G>0c_9r*r~exeQ3P&v1!&O-P>yby z1cWaS_#XguIs)qtx6`|9YKtlqpNX4WH;PPl4baB~` z>(p9NU&UbV5=JPttaUUHy_`Dw8a&{DxW%9x^*M)MQWw2{nfUVXmSq(KrME2J-Vmxj zCAUlCmSqM})JHQz#MMZEkYNwA-+E>?#T6QKWsms&!Ljr()Ro# zJLXf=Ezz~y#%#lYmO2*4_O=ZAkn@SLK7S>&eNDSS1P0<@yZ zP5hWJu^7+^Nn4m4b<_4d9K#CeDFdRJgQB*B1~3L3{f@!^U4;As)S6MDb%Al400000 LNkvXXu0mjfVK|Jd delta 821 zcmV-51IqlT2bl+uB#}W-e*gz`Nliru=LQD>DJjx4Au|8~0{lrtK~zY`<&?2c+dve? zt&j;%p&$fPaD^IKooa+ma)*YxQYk1>D`kKc$?}>mWo%>Wp5zIM4lqFlLp>3k!EjL| zXqLdK|3tG?sr)zey}LLuDXoWg>ys5J{(k=6ch7fLlz(197I1Qye*qkA{w**$lhGrW z6(VeEGAFVBPFyZ?YAkVwQ27yytJ38MiZXxATdjAtPh@}=+&u|!7|)+K(}Q%)UF@R ze;Nf*@h*Kg>m@q1f1MyGD#IWlC=_d;?@(et(u$~8=Mjj6>PiBBS0mSZUp+p|Emk3E zUYVdnKo$Vhsjj}zMUe9+D!pAh-G~x5SS{;8kOs&Q;0PS=KMO?C^F1;KtRp~|x(#8V zwDzL02ne{e_5C8yajEUj7_bw6MWFrTLKrCR-Y-B*5a??Xe^BEwpc40~0C*ra_#Xhd zJM)!r9QY=H7QdEzuid{rrWh@WAGi3`{(%I@Z-DC!0a$|&B((@iAOh!~H{~+IG%(7@ z`IG?im3}&<%!nO0pVP&LYs(%IaAkycPXN0DXvQ)o83Hbg*Ffi&yJDScGwy|hO|yg% z%%-)52E1F4e_LOL8w?QF3@dSuG59BR-knJf4{KVM8A`orvDP}5^>KK*RAyO57{@&{ z(|J<6Lm;Bq!{{}i8V!Dh1|88OIe)M%eGIv@MyMe*2`r8PoQ1a)QO_|RqbAmQl^pR# ziAGv&n<8K@yQnb+jr1X)`BdX?wtW~@?fw=5rwVxJe~kffMtr((`I-WtJ-lZ_kB*`g zTb+xuS4jq+*0mA>^@T4F0Ju?dMU~%(GmZf9NnL}Ou-1i=0CF0I@|no9wyX)psX116RLTKY>G zf{eOhEBii<;R)y|14T6kMQjHRU<{h3{73Z@)S6MDE)mIm00000NkvXXu0mjft;KA& diff --git a/graphics/pokemon/calyrex/ice_rider/front.png b/graphics/pokemon/calyrex/ice_rider/front.png index 7bd20293d5f10e9fcb1c4b412401da403a3a1c5f..d885a9c8eef61752559767a98d4dc87023e4d2e6 100644 GIT binary patch delta 1073 zcmV-11kU@336%+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1MW#gK~zY` zebv8j8fO>>@Ye@jxamC^RfZ17#SF#_m5`{VE~X(>FHl#9!Vr73b+zQFsuZPjEsEsn zDi~gTLphbf2dXZqRXMx_$rcOY-O{bXL*gZ(=1-{lyhjWNNAgIZGtYZf|@gCMQz`qL-+;pa>GD^(cL&>mw; zS(ikbKGNwpy9m~Q3>YBEdWk>Axh@@#T@grm0gkj7WBJ|R$K#u85cgB5v_3s|A!0+n z$Cz3zjOokk;rM2&tnbefY#X=Opu<>C+02>4+u`4D%caB8ETN&7ywSv)cj+x}c&AU;aaL zCH>34j%M2>z)Jx@2r(6!>vk9|9p#*mJq7U02}+)WUz2QS1Q#&pt9W4=p>U-np|5OI z%ohMjh34zhZ_@|`GQLuHkqU7E*-q5syB?t^*(=^BL_K{E>{!?<)_crtkjey95>_4a zUxd4wtb&(+`hF5^8!Mh$KG`Tl6vic0`^7%$x|5(*Y8lc6|Z# z+&*IyfDpAMKi~%o=4-llf?7UMnE=Knw`%qb3VHsq3kK&iFsp=nCSi?mwg$^Uti>o( z*9fH|V;w&baBF~Q<}q>j0UImi3Yg&~rWCPHx+pw2+-_#zTGiqM7@ z<=4+)7ds0PLJNREs(bv8cG5xO)jWt@Vh0I*4g}c+iKH_RczD8qccE#upx6Fv4s5uf zZNP_0^MSPq*OGS(!NlA@u|OuJM@cAio=hiP)Pn&`4B^9GD#B zdkjZ^g@R>ivq`9pMo~t#VDR$+d(@=sy?7jZfZ8bTp~e|sD-tPngh#LPnaC6bO#so5 zde*r6Qt%baKk@)Wy|U#`RD0J0SkImUk*ZSEQPtJj-SfDK1P~e{4&5YORTY@i?;qV<{X3lgVuwINRUyprk)z4`pGbZ)2x59dg~=Ao zTHpO=kO$xY90sbQz+`q**&m_&)AM5x2CE8${Kb9ki$8xnf53KlrOs}3&{iyhX`YNqq4XMm8|R(a1LC$q~g7@v8-i>%v|bd9vP#>+suOE8gE5yo*s`eDGq z?ik?We-mW01{*H{7ZiY^a>5$S?eKA6h+MJ*K*j~2KaTf9C9*IDz`BxR=P&48><3D4 zT?#nV*kxaOIUB?;7eV?0+JGA|zzHtM=Ilklif46tPp5+5Ev7t~9Uu9)Ve`9$kMJHlyc%Yqas06bl!cGNe8bDGa2XuQd`{x?Nhc^5Xac&9>120$vKD`6r^I(Y5VR+(bq(N z>;t-VX$hZ5){YO5p*06_Eb%E@l2)2`&okRB%m2!!!vblv((HJ@!J)r|5|W!K@R2w} h9g>be29{NI<9}u2D7GhdWexxU002ovPDHLkV1fX+{agS5 diff --git a/graphics/pokemon/calyrex/ice_rider/icon.png b/graphics/pokemon/calyrex/ice_rider/icon.png index 0433882274fc977db5a465281e2f9a41a9138f85..33a9879200e64e05c580d71d6f2a32b88acd53e2 100644 GIT binary patch delta 494 zcmVqcz=sr*}71pPQ zU+d=-43aw8kyIK0Cq)miRb{O;cCd(v1kGK z8-KRMgpIo#`l=eHX#GL8e&`wUDd5YUv6$N7N-%s&4S8@=>n;R z85bfih9I!6xqoCacwQeMZM_VH%naY`Joowl${-4rtwJlZl$w0hrcWcWs zn7k(Js4Zb+mavRje&p`EJhOyRMaf-mj6zDlaA^qxzNolm6jY>O5&vjFM525C>fsIe;Y)J@7lxiZ9 z;&6pA#~Pry16fB}VNjER+PN7%3o~l(4aRi)y%pwdwD?>3@ZJ*_Vd@w}EYN=!rt(Ek knEIbWy@D%W&_DU|8+)}H`m$y%2><{907*qoM6N<$g8$3ys{jB1 delta 510 zcmVO{0Vy(AQRv?Q00GNML_t(I%e|AairYXChV=$R zu1b;ffn23HiOV!Hi1o8w+{7U45LYgIFXLtn8!eYQvXHj%fxQyi#sQr+vZYun!v)f0 zI(_`JVrRdxtTzgB-3KLSx$&vt=jtVf4k;aNNvt{myHx9Hel%fEKdyWzvCC?8RXJ%rD@$-i7|lkGKQ4qdRHax^039exc$?ruXgr zO7sKz@yQ|2QQiW^=yE8;A!`8mYk#^xB3#N_fNXjO{|^TZR; z+WHTr;p(@n4=moQply=@yR_A&hxC!)3Gr10*7N?^oEdr4$GWm>>wzj7sD%YNPoxWK-2$MP zfiBlb)saS$*%~t8PU5cLQo~4Z%r+pz3zb3}0Z@ni$PUYMY+l&u2D=jjm%AQVMs?G= zDK=j`EXDu;0K!Q`K~y-)-I6g1!!Qg*eFM`A zc<=#aXr?aCIXi@&C(x1;$R_DjXdIJFg;F&Xl3HH7lxWjK{ubg1@mD1y@&4JI8F|#l zx{7N{5-aS{%LPq@=q&na0n&beE7wTfq61WB4H;plVAp+9=WCHJ1e1LG0<9sYi|NCD zV2c$6G;H+%?TLZQ-SsS^x;f|hlWpF diff --git a/graphics/pokemon/calyrex/shadow_rider/back.png b/graphics/pokemon/calyrex/shadow_rider/back.png index 671f9c6f4bea3ce2c232339dd5404b0d15ed8fe1..81d136ba37ed6451b17feb41c5b1e7ff48401804 100644 GIT binary patch delta 860 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 delta 1028 zcmV+f1pE8%2Dgz>-yCwht1IkH6K~zY`h1Ef8<3p<$4qn^0V{hSAN`M;Mr9${Q={_f9OI3KRG8jE;DNZZ2 zm4dDPyFd&64>$^xe!~hw1-8e_El}@!ZYj_-9=}4++$#VQ%>vG!kp4#V+1Y-x+3Z^d z@M}G+``#0JzOi?Se*h*0@b(XN?)$zsh4XTM3^0L0{PY(;8D(Q&v-10^Nluid8ugN-s=&wWf{)b-{=TIH^HHn}en5Vo_RX>E)IC4^d)I&oe=EfKpGU19t5R|Vvp!5F ziCD|_o#ylEaaFcugut9!oT0d1F0UK+GH~6(`$0z7r9XRdHkw>)G>z@W&W&En)(JQW zqQDoU%hAj8W@D$3Wgyg%_Ro%#9ekS6)xV?B=!1rl&p;^f2MAi2AVBbP^geD0f!>51sg04`Sf|bP=$M0xXvTo9x7K3|D@T0Mdf_E!ejak%ntL|o6feML$3#OY~tqKAHta_6| z;}))XTXuMt>D+eIvQ%*6Qa1y*TM*cSF`L`!iVw_Ylae)y+I(IkeUIk=y4JiWjMUo82PL<(DOC?xeOC4C zTL4$Ao(E$22mrOD^ST5MrndpnVv(f{O%mS*dVF?s*EHrl7JLr0X(mE32Nd_GjeF42 z;wjN)xjwD*aS43gEzrVx5J%SXR1$D=$b}q_)~mu)79JY`yDqF%|DT%4A|}98Alyc5r{X((Spd z6P8ys8h+y{_G74goSpT3QwhDn^V9NNH_%^|j{A_k-bPQ&z_L#fBvv#4+OVTi$c{;0 zNYOM&5Rf7?v(TUQAHZl$fdMoHrhjR~6qt?*uz^7`Q}Ad3qe2=hH3vo-V2(u5%mC8{ zl+Yw=MqnTyRU9*C1O~$D;*e=xMqt`~fLX%u85me{M<$HnGcb@um~|Sd5tycyl{O48 wpfoV<9GK>}!03L{^gA)*K^?uRW?37315@Q5i%TP^?*IS*07*qoM6N<$f;rK-H~;_u delta 423 zcmV;Y0a*T)1gZp(bQ=H%bV*G`2j>O{0V)S2&woDv00E6jL_t(I%aME?e~5XZR#7@P ziASOsRCPxJ?i*gG_YSnrZZCfKi zbhU}x2h#!`cYXJMYT_4FVLF6B@3Wvb4H&~b^e2{aih7?)4-x$mylN8k1)+0%^g_}kFaMm&lcb2;|JFj;sl z_a%35Q6Cf;IhdAZ?co0SNw?#&PFP;mX!wn**tekaady`CO(paOPgl!xZJ?hj9rq!7 zy^Wrlfn}c}NG8z$Xki+aLc+>TzqgYF0jV7=0)hTq{{f6H8yG+~e=toWY+yPnUsy%?vPYKnYEdi x*N-I3>_-%4;Uq^8X6eT$4BhxKw)qD?egIQR;1({0AiV$p002ovPDHLkV1i>Mjnx1E delta 337 zcmV-X0j~am1E&L!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUP-)^-ke z0003BNkl5dr5WsQXz;ZKmjBuoOYt*tgZ*%En)P?ir4IYu~l^7$FNM_6B zz@~g`-5O8aPqHOW|0MZuM-VNc&EDNK5xML6X9BUwwkrGBPk-=vJ}CJ#f^f9U_6)Bs zK5s9nRIQX~1LQ~y_8ZLz$F7ynh^DUkJHq>}>v+bhDtquih?e>}fZ%V$qBEwh2S_~6 z7A?amA0EA8Q4~ZBWrUa19srE_0zF(2D$N+6ga#t0jr1%U0$h|z8FcP-c;lwtRJ%ANo9YFeg|AQ?7y;`-s8J`v}4O_7Q`b`Ut_y`WS+l j_t6JKi$3~o{-KXMQ%T?!)V8aj00000NkvXXu0mjfk1CkK diff --git a/graphics/pokemon/camerupt/mega/back.png b/graphics/pokemon/camerupt/mega/back.png index 5891aa14342c06bda59e0561f947703f2a38c1b2..36192211a5221059c8b42d64b540afa1dd177e22 100644 GIT binary patch delta 764 zcmVB>h`$ju5cFGt;Jq63{tUWdZ%>I5Ty(=}8-Vi)jJr%k*Sp|u8;BM#KMyOw_JA>) zIuO<1U!uY-GJvG&qO^Om}q0|uPot{M%aPcFIgF1v>^cqXe#oU96W2dQmcdhpC4_$c7kD;T>M^ljABafmF&n zjBD-lV@f?sfl_4J;#g4v87tPsnC63+R+r*cp)e)z@VnBSs@@Ee8W73LeR}vMl`gLu zNOGBUAXT=YvzKR}Bm$ShJ)B8b>8)D0!<#>7EkTVEw?0aLag$Pt*+^M;9_(`YfPN&) z8dAdyugF4Of^`XaiYe3(q)diBU4v0syNfJTA);Cux95M&Z#3>Sgz zBcMw_tr?|P@{)FlJH<{YFa`ZeO%1RGIO`e(n%)LJI&Xl@RP5d{WzxEE$KeSmG}J(m u2UmIv(427}Wt?|&^R|Dh|D$DeI==vC_ol+~jhdqX0000DjG(~6XpN_0=r2>K~zY`?bJ_i(=ZeO z@N$7jyI`tzTuBbyHMK;!PTCOHYB=h35_NLjfIJ_kbzN-o1>*G!jB@D_x-Z9j&YyNP zMH~<(tjbmWetFM+@z&}5!@(GP^t}`J{eVJj==;xG;!k`UNHFfdf7%P`(URiDUjQ7d zbI$jHZh$e)87J4eNqm@xV(dg4@F+eNf^|6$UbX=Y^o0;({0@^gFy>*80M-a6Z6M;W z1q}rKRv>t<2EE^dZrIyXq6FvNaM}jotODaM6VcT!xZMV#14#HM4+kdNSo^RnnmwMl9#wt7Y8fE- z@wEYR1F(~+XYHF7MHgWLZOMnBj~p z)FoJ#fTx&34MECe=+hjGV)LD@KY}Hm2?jFB6vp6k062f-hq0mC?cF($%4>XVhW~6i zPvxZ_K$wDgkGu3Nib7KmfCoH;i&VxOB*b9EI|4KcX*>t#BjAT1lNe*T32Yw$T>@&& zD3upf*i6Ol9aAQ)3wIqJfkHzK6nSu^w*ajf l_ff`qw>F=2{*ON#KLKa=ro!4gtbhOj002ovPDHLkV1o6ESuOwo diff --git a/graphics/pokemon/camerupt/mega/front.png b/graphics/pokemon/camerupt/mega/front.png index 8e0a907f855c709bad2979200b654c8f1a6023d1..f0fb5a29e199ca7250f2ab4ce2ee438465d04c56 100644 GIT binary patch delta 945 zcmV;i15W&j2$l$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um18+%0K~zY` z#ndrx+eQ=sU>XH#8d-9Y3Tv%2c$QVbS%aLMqFYd(C7@&LqtKyfV~g)xpn#k-;z@!t zi_{vxATCXoB<3GDry=s`@?3jzV;ZG<_9j7c#` zAOOYik2WX^vTzP;v;lyC2nt|QT!AXg#2A;TV;(LJ;E!^5)M1^nLjYfsWe6GJYrDhHHMMUE)6DcelXDPWv){9_|&Gt8;8&Jk(O27Qll* z%M1JUxx9fN0qj}DzNdC2HE|%J|3Wux6R!gB0Pr|60&rk|LCKe$gVT!2!4;e%NYDfz zpJ5H}IXu)ad@n!j%MVwOK$c7t0&Hv#7ub`}YP+%kZWp(4_T3+s2;#m}`=Fltc$^@y zPus-VH|8~e^7pImkZJ%_8+*!AQi9TB0^3LYHGXA(`sc&~U!ETL9Z(YVARLbobnTor zfBPU1#1Ke-ua8NbnlQWrT3rGLGkD4{7~}mI1FZ2f2RKR*J&%|G-5uV7-$~#wwnO{G zH0b6TVo@bO|imkZF&-aPO*fZtrL?;J`XyZe431Algaqw zD`YTAmPs0q#ikWJQ=)Y? z9i`bQ9Zuu8=k}cWJIo6F*Iw+5RPg>z>TdKs4X`2axY(QOIh%ym8}t81IL^NcO@K^M T7D(0%00000NkvXXu0mjf2us6^ delta 934 zcmV;X16ll*2#E-gB#}W-e*gz`Nliru=LQD>Djq?k*Z%+j18hk|K~zY`#neG>8b=fW z;I%5nYvqy&ROVVZ_>8IKT%!zb)mv1rLCUf9?5c;Vjm^GsrAj!d*#YF7ndKVEyR$j? zk{F28A5irN^dIEb-_ZAFH--}6&`X~%!uvkvy_tQi<1EG&d$7fre}k{pvGuU}MX6e2 z`?WRVv+BpFuLcjR)!Kf|iU;dJ`3b&N_t%2P5ie1NH6^}l)H#1#tu@MPn*5%XId7I4 z_44sgs{yBAjFk`nD`*m^6X-6bcIfRMKP2#&u`dr>OCY|PgC~sfroXg+ArSK8q6yA} zWsng#%Db#1I9cd&f9J-D32e8#GoClWz2k*0cQOR&jk9xG0M0)5ykK$tsWIk8$G68v zoTKpwv=??@fi~uC%R|ug)KdhWQge_RdYQK;c)jDb;etQ}c^f(hu`wAY2}B?nerSWV zV5aB5MjHSKcu@gNhJY$ey%8=^$2?qk_0rQvQ8x$FBLS@wf8YDI5)i-}#*`{R7XNAT zZ6u<@Dnfz;R#6p@7Th=EHw0*nMEEQeLPe5A(1T(d@B0=|yz_y8kg@`i3<_{Ree*{F zdZGB4Kp=OqOc>g&-6LC4N%^Vbg^f&?Pr z_b`c5qxHW)t3$wG22UCKBm6!_A8TCZ07ogN`;ic!Z|gho8vz`~wzhXnfy%#4L6f~5 zasKtC=Y@T3m(WVjgLdJzJWt{<(sdN6UJPo|xy*;zUWjA;DR4=&^0H~VVg=liQs;W* z3bu*9f8G!X+)a6^u@OusSYf(0J=PN}p{DD^c%09JnvFkA#?$e5^zjkWAEwJBONOJn zyyME@FrCpM;VIBxX0k{@@qDmA$z(8_(dfrG+;K9PD7>ljCm~LWQnSf0n+>zUBuTn% z*O@=VtiXTm#b79-_sUrtJzoKA$U83fCcDli9HG?4{QndG018cjOgZaxFaQ7m07*qo IM6N<$g0)-ACIA2c diff --git a/graphics/pokemon/camerupt/mega/icon.png b/graphics/pokemon/camerupt/mega/icon.png index 88c96b1e38fc33a56ae74922842b21a3fa6a61b6..d1f4345177b5645cdd7f102c25f1b4510e280bf9 100644 GIT binary patch delta 420 zcmV;V0bBl`1o;DyUw;9FNkl5dr5C?GHz)C801la>)q^f)S6ewFzGr)$Y za+`TpCkoyOq>8=y3K+sir&g-B`|Hlw_~&_lUx=&vGpgq`xkUST5x_p;iy%BgFjcj8 zW83G=V-r&o%C_Ng2nd1No+zUq!;D5K)QM4=P}ib42xu4$lYgu~8h|M;{}Y z$;Sw0^3j8t`EX!nJ{*{tj~>j*M+;`=V*oSxaA0OWdL1weAJ~HVXCL3$C{5H;IU7g- O0000l1D^ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUQ08O)pR z0004kNklyIZY6g6sd}{mCNjLw!rufsWTcyxY%w z*k@b%AZs53m@8ZO=)vH2 zI4}zz7R-Z>9?ZhW2xj)-z$|=NFe@L}gZXD4-`OZl)W~>m;{X5v07*qoM6N<$f*$hE A5&!@I diff --git a/graphics/pokemon/carbink/anim_front.png b/graphics/pokemon/carbink/anim_front.png index aa0e66a9d028340d95fcea4b9fd9795fd00c793d..7d641afab6d21e14125eec59e432e114d217d9d3 100644 GIT binary patch delta 638 zcmV-^0)hSP1?L5jbbkU}NklljA6vxkoElZuKVPGkCWyBc2#8HMwRc*uv zAP0hop|N-}GgLRQN6CmHrMeHm(y0SghKg^{1y$*S{9Slw2P%4ZDH0RHe<@l1KfinT z&gVa4wQ3pV?QHj(5Gf+HJ`Vt$9d@4|*nJ`@!1evxz5|uKr+*{Q^#eqW@S3VX3q+cb zjRt~wp4W^sk;I4=g0XP6>?as)kUhO}hsgPNgMW`#dhwS2#s*+8 zT-2^el zEH#a?&(*W440fNHfCn5PE8n%OD?S>46;I0bF@s2$&VPHACJ=zyEJUUPZ1thKJCP5D zDUcdpDt|u>V9x}whPqtQ<1`JLMxU`D0@xSnq5j5ik>eO285rDm){# z!Zv``_;(wCnuMK{0Be&ih(`P{-nPxoh#!P#_|E=pLZyFb2<4kDDgDFD3be}fkF7n@ z3|0EuSD+2ber%lrr9b*|fz~ll`cK|HS)y+ngGzstIKl9a^v62=>-1-J`v0an{r_qG Y0E%lt5W>$rk^lez07*qoM6N<$f{s2qF#rGn delta 643 zcmV-}0(|}F1?&ZobbkN`bV*G`2j>O{0V*ht9ztdS00K`*L_t(o!|jzZZ__{&$8E#r z#h0jMUI(mHLON(92&9;21ey zOXBrf0)YaU2x3HUMXIudZw6#<`6Q~dGC@K zJdm4(P&I+E`%=H1&;?LlDf>sQpCld()OSukuJC!1csLz-tOGqeFB$G-q#k>Df($n?7iXY?#;+h#DMr#=Sy4kF#($AKP@?(gSX zpkKLvq+O$^p>%(J2C+dtjcP;<`002ovPDHLkV1f*=F&_W` diff --git a/graphics/pokemon/carbink/back.png b/graphics/pokemon/carbink/back.png index 0ee514b8a5111021ece91304c737a354dcb6f18e..b6ad2aac9638564108200fcdfceaa2a3b16d8b81 100644 GIT binary patch delta 564 zcmV-40?YlB1)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UcVu!$1_rV;no!YX=7r+Y1y#swM}8{sqns&Qc2pp{vr-zd?n-{TJ4?H2*_fOA5M% zJ1hvUzPn58OH=7CeurH8zMsAy;U&(${=NcAskhNtei*+mgc#CR)!)0&g!YGwu{v^g z*|`PAOYKKsvo`WsUpz5?IKM8&*KXg~tc@x#p#@1k$9Gr9!(V(M9_j7)?$Y=HLB7j5 z2OF+KLP%5lq*3afGONG~g@_0vWPLi%`aM%9BGvI-lcSTj64k4OLp`5_)~0l@0dRI2 z)MOY@C0}5I$-x>hRZ5;jeAHE-tTl0w$G8lyWm30`4eNVo7&m$g}V+W;2QEdcs{6pw*<*biD;0KfVmSrY^3LGBdQ zOTf_zaJ@Xak6So%aE&V9-y^`yOJHCh1AknO^9@6Jg#VEbfATH>0000DlPtWw&?%>0ryEnK~zY`?Ulbv!$1_r zYaKi2wSz+`wiggYswM}8{sqns&Z32b(ACnhe?u(G9i+3qm@!yCFUHr^zL8l6Wne-Z1o;?`u8s#k=tA7nyYcAK=pI3Om2(a(<3uu{oGu7XwO|F)>ugN)-C7P!U+Ti^(_Q#oJ8YcoWG zLv$moLnw&1LLsVgD=r&qqx)Zl`#=BBq67QS4$HzN2ue}9u%NxlW7(g4jlV#5VhiG1$ wG`NdPIIG|sBxS&z;O|440s{w=zw~SQ0z-L({~`JB`Tzg`07*qoM6N<$f&x(i$N&HU diff --git a/graphics/pokemon/carbink/icon.png b/graphics/pokemon/carbink/icon.png index 6c4a0b214a5365db39641056aecc61e23408cb9e..60ac4ed423341a8c2f568f3e6b38882b6706a10b 100644 GIT binary patch delta 92 zcmZ3<)XX#?fxXYu#WBR9cVd5#mxw33z@PG7_d@FcmR@@<4c7k`S?%f^d<}Ty?=uVY vY%;0~Xu9Yw#-J*Z!dTE$*{~$RLrsEVHIKEZ$Z=m!1|aZs^>bP0l+XkKWu+W+ delta 130 zcmZo>TFEpaL7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKV`tPdDz4cr0~G4FVdQ&MBb@0Mzy@aR2}S diff --git a/graphics/pokemon/carkol/back.png b/graphics/pokemon/carkol/back.png index d44970f735df5c20f71f52e3b1910ae1fd9a9d57..21c5eabc535a875d2f0eb5cbe22abc0353437fa9 100644 GIT binary patch delta 564 zcmV-40?YlA1)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UT<+!$1(m+eZ4@6seSmJ9^d7Ky4urk+Am~d)yn1lSYxH2ryZFtvQJSXl zBwk!76!zEs{>*grfBx#o`SAVt<|iPz9R}FaZ0MedB^iD|WJqHyR?_S9AAp+y6D-1V zanR5_O7bHaS zBbhRL>~(>VkXT51m9g|CWuh`jq$JYwgmWz*Q+(vO3zR~#1>jYvs}ZStBC@0a(caJ_ zYr-#iL0b1zE;}Y73N@f?sAyZZ`$VBB#X4SWfRy(DRoAjD789R;PSA+Xo>3*3QcjZT zNy443B3j&Q3W#qe0-L)EkS0+b>k4(7vdnfvsE0X`DJ0RhgimiffYzg9;9x~|R&&xg zS8N{9Mnhxx1AJ*r*521n0SaSKq8clDTuG4TH1o+DzWR0ivb%Z`v0g)0wpv zsu$J3z416enZacF-E6B6Tq3AhHeLhiJlSHsk>lt+0Cl4pOMLNbyoKK4{DEbDmMcbPm=%u0rp8mK~zY`?Ulc3<3JF` z<3`P4$i$;f8!O=+;Nl1HDkJxTnA8HXoeM+mr4-Vp$fDP95uZDpVoAm?5E;{$h?Vr$f6W=-e#8Weu-p#X zoR9)!)5Ty1ut*8ZkPA4-@*uJt0^~Zlc*qA@VzB|pp3~lQWW=eI@;K{tK|&O7$&}f) z*9AgCVlC;|mvAsQte@v^Y+Sg4{>QcghWr}kJ z+O6;aJOH#UT!eYsI5&=47ass#eX|QmR?d|+49>P|GkyOH5N*7F)4p(-&aAaiy{HDx zjmHC&8BCTxERPDoC4!nw<28`ZlP%U8Iexqcpl(!SgAaa>yU<&lKe5b@3c*BEn1Jr< voq-FZsq6``Bl%Q=9bSbXm*4*_|Lpk#=4H^mW?+4J00000NkvXXu0mjfJLd%` diff --git a/graphics/pokemon/carkol/icon.png b/graphics/pokemon/carkol/icon.png index 5e896998d9ea269e8348348565d766f81529c0fa..4469388d66c4977754b429aa90f228735c1f00de 100644 GIT binary patch delta 378 zcmV-=0fqkc1LXsdbbkR`NklnxGkUVxAWiquBtyRJ}ke%$|V6LzW|Z!0x(7tg$Bq+TWUa1 zLIsFqDAlYv53X}=*1*TQi+k#G%cxgxZcBaw(5TJYrxunK00&p#( zhuJQtp{H@=Gp=oSd-$&fd}r|zg%&5&CBBsrpN47L8mS@EtO$OXo03)F~@hB*b~rr~qj za!Qey;xN82YmFk?3zxhoOExc`g-!O6=QNDZTC&V$fObl!3C!<O{0V@Qh-53tRfEW^lK2oJ#HH!xfEV7qKF7TYlZ|_`mzyG=Ew=*56=d ztpJj*gh;j$7$b_p1LUJEJs>DazC6KDs>O32T<6^4fwxT;4}a9>mPxN)+@Aa_z*g-x zKDF@dc*f%cxq-VeJ0>*L$soUlpb&e{0r4sT_x*lCL^~gye=Q{-Y_RXt{y(OEhmb^jKlQAtTl=pFI;$0mTX==3!CC2FEmV#TC&VxfIgK@ p6Ik8{b5IGN@?ir182hjF1Wx9`1qv&{D)^b-HQ*fJo#+Kd|}*|+VyP|UTr+bZ_$LVwOMoi(_r@mG+f!0pN^ zesKEgd&MB|@=B`-zJ7OFu;=0ARx)fA&Y(a0K)>76DlM;NOW#>IJ3CbuZqfV_BkHj5 zP7^#J*h}lMB8DzOYn;;3QWrQ66H=5srN=(EmT`m~%QhhkHLJ(IZ>_EZJKSRyrPKtx zMOWvWFko5|kKx14VpnA|B zPodfDFqnw&DV$wXPcw>BsTspy+6TVu6FEUYewx+GmWTU9ha9L9QZwLNP(fJmo1eV%HQS#!;t9 zYsS@$-|n_k`z~NMBHE)&i+Xi>-1YtQXAf0UFf-!RsaH_9i#EjNAIx^jn^2W(Bv^sN z7WOt0syQ1T(5sDvyR5-H_z!I&bncL34lj5c@P7**mdjw&tACHEfUl;%=8#E3%>%DF zrJe=*n*>Rgmw1W)L;Q1lu;KQ^9<0Yx_MmF48jR=mU|E>avOU=Ul0C?+l!!W*+XKq? zml-)N?qCn{kiw(Z{_+8nb8IE<2WKX;sQ?XMUaBH6RmSA>xJ9j%Q7C)B7_`U09tgTR zOn;mQdjQ6RDsk_waY>vRZ{X;pf-7;44^Yr%8M^~yu-tCb0rjqexW^qztzxc>O0dJ- zSpDBqs+2?2wdNH;W+H|bcc%;DPQ?_YJ<>!_URTBzqZ*65Cqf~Iks zggaqlDx(-i+8u`wOf-H7L*wHN6fSZP(|;k^LyN!&pBUlC$504eLz#%__}R7$2gY}g z;Y_8gM+^ZDWD!|+a`Gt*>v}$FDd1sndhmUBf}ftm^>w+|JqO#ca6xebGMvDTUGCAc z5891H;-ezG?*{67?SdYc!Lq3`Zi*oL#i42_+qp-o}`!HUgkKuY@q?YmMKEEukpFR z7*!O3N|Z^qV5;%>TSOR8nv(V-;wHEvU~j)F=)z)PLi(v4xojyyZ?JF&n7HFqzFHf5 zHmrgrza0_j-Y*Ea!z&C<2>d!Bh%)DH1uqknBTWbRX5}C7CWnGB3`Bg%K;RdH@NdLl X3uV37Gg{KI00000NkvXXu0mjffNWQS delta 1217 zcmV;y1U~zn3Z)8=bbkN`bV*G`2j>O{0V@gHY-4!<00f9hL_t(o!|hf*Ya>S(9v1^r zmt9tg2~MFsE#~Tpi$#^htk3GC@eHy~PAZ>!LBuMZFPzcFm9Q+FL6spUpvoXrh^<_x z+q*8E?;rR_bGE`9Ax8?#}Zd^lJY<+cCht*?;UeOj5M%tWe0cm)pvU zb}nO>&Kkd|{cj*hj@#u`|KZu29~FYY%PXt~`1ZqD&Yqc*S&6WdJBRx0L;Y@3tFYY5 zj=nN?etxDtxJ9!|h`7Ss2MzE5U@!Gy#R#2(Ryn1Gr7Cb1CZr%)N>6-lE&CC6EZc-A z)U2HNzO~u~c7M3XEJ~>f{w7_W6L%W#nBY{fs_(awbCR8SPub=^t2Uegd++<)OZeS5 z8n$=$nRDk1{(L`Z(nSf9bf@3V?~WP@aOd6gLTyx@`SS-;C_CDP1m^d5-bb1Vw*euN}S1Al^A)U=fUG5R}{;36bcuVEP- zi*yI!3JjPQ#8dRR_f!wVa7glm?5-no^f2pznP!FX9gxe28h}Y(~4Qh!CfQs3+1+)cWLOtU) zFZtH>+tvjN7F$z@sUNi)v}#=6`mLaq*t>w)hBVQRpsQ!Aq& z*z}lR{l#pj^e^WG9tf7>u)@wpKqX_t4SKy1aDSgRm?O$BiHa;pl!R2q}hlP0w?XpKBz z41daFAP)px9VX6#JOJTA6}bm%R1#;#J2*P2;ELR*2Pkl}oT>w4u*`nL0rsu{xlb#U zn#Eihr(j3>Q}+KzsbUUM)0~$Fnn4S4cLE@HD#k$VF((4^x^gNpDpPXzL?mQ?7+(%4 z<`YxoZd#rY(Oy&^%h>ucch62&!9@M1D1S0OPk`ZK^)T*}gXB06J~g7xPmvHhhY}Iv z;fuBOd&Un>(L{x-#RvfkWMOG{bowQVYI;7Z70@s^Iry$S!q3m*=BCsMfK_V?6*LV% z`Xjh7;2tgcz}-m9byV!{x}o}Ay`(24kZdZAn*hjezOM>O`JZ_8(;sb3-C|CSX@97= zuLCH6_gg2`PLjXcT_{7{QOf_Fd%t#2Itc*Pru;hLRV(e$nj+Y_JV;AWFEc;7YN8&! zkqJP$tNk;5F(@kll_)h|!C3p}`a%JElqRVCn7DJl0${IL5p*FjFd^Nv>noDlf!93Wn*6}${kiuA=}41600000NkvXXu0mjf^hQ5= diff --git a/graphics/pokemon/carnivine/back.png b/graphics/pokemon/carnivine/back.png index b4caff4d2c4ab8c2b183d9786c32d2da397781c5..a53780d2e769cf106e030e0f08af7640e5f9ad1f 100644 GIT binary patch delta 688 zcmV;h0#E&o2A2kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&q!0K~zY` z?UONY8Zi{dU8y%9mV%lrnJ{-#hDvoAP?pwx$HHi-IilG?8(=OxI#BW60 z4RfG}>9IRw*2N%R1E?GNHl@Q|+-%zRIp@(k3O?j11?W>2V8)7nzPKv`L};LC{IP=p z!@3KnlN^x1*KdGM#w2V2biZ3b7B6h_mjK@aN3;y+5V~K@gPw0KdN`YshkZ=f_qyjW zwYL-iRUv9T?MjAcxQ54TptdD< zli}wH#wdnWcyx1rT_!`RKLck27!SYbFfpqjWx#okfEM}%fLAO7eG60_61Vw`w8xRewRx7ob;gs=B*Fj^}#(xSv?nm1}1KQ(W(Eqv!`3ss? WD!gYlB4Gdv0000D-J~n_Sygd0&q!0K~zY`?UONY+CUV? zU8x=rOF>PROdR%0+_ItVc${#CyS7?3u7NeER7w&;C27R^OhW-+`>%N zgI|}x^OsNvE6V^AIRDw)4a-)KGDQD{=mLfi6w@3)wW9F_f3Cr4@i|uHel-3(#~Asr za*uwd%V;dsuWuKC_VDr!bG>q_4A{>RP{J?=@D+)Nhxwp+DGN*OFT=fU3XwNOf)EE6f?$v!;}&*UV* zTFPl0?XjPAe`lR977 zSduZW2RBnwVIMJ#%*-A9n||w;Pxc4!rzAyqn6&5{Vouv`1K1Tc8CTvgR`Hh;*#bZSp+o9_q)aEgZH zl>+&PiyO|V+bo%24o8wW&Mb=xsPx# delta 338 zcmV-Y0j>Uk1E>R#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUS*Q3977SduZR1~*ev;T$oI zyfASG+WcF;eER)4_oqs;GrVR(r)ql?nb#Wlf|nBf4ocZ-AThr!~|x23@$ k3KkEi4dtoQPdTUh1ZEk+#x*dDA^-pY07*qoM6N<$g7X-bUH||9 diff --git a/graphics/pokemon/carracosta/anim_front.png b/graphics/pokemon/carracosta/anim_front.png index 64bf2a4f1a057cb954c1b02cb089f3cb880824cc..e93c3cb39ae1bbfae4238f658d34194a7b07f864 100644 GIT binary patch delta 1567 zcmV+)2H^RH4eJb$Uw;MmNklm8W5Jn{^U~N)TcviQoLU1Q>De;0dF}PL^ z?i6YbmA;7L8L2`N0pWCkqXS#}iXi2|haAG6kUBps-z-JilIcsEAW>sW`!F-ROU}Gj z>p%A~k3PNL=0c3=pN@D2aFq&(aCo;7m_=&Q4-kM4vvI?EM}Mh}#d_msfp)GIoHKvs za4&5FUgTSgCu}YOI8FO`k(->|@!p#A*kMh8$$7?j&*v;o`O^?>teb<|y!K|1l`1K@_K&~X8z z7fLO?EIk0O07xGtXg~qD-p_I6v9qO=I8WQ%AV-$%-1X zea#VJnEG@S+1`yA`3>hu{DxuwIISt=FdqTN6#*>%SbqW(Vu`bQ0Kz=aof;Ts0y&&V zfU(N+8v=^71Y*j;%{ss)&$naT_m9O#K`F930$BVw0Nw{-7e$c?1i0oy-q=+sJYL(TLq z7K;+d@tC>MYj%>QD&Ia-X*iZiTMpI67g9=LXMf@>S3Ut{GxHqm8^9c^YgbBNtmiAK z0c%_VI1?k3az5?|5ry-)oD;ApfsU<#RwU(D^c_LMFeKm`t9*ewNe|^1GWv6_zq)db zMA)Wfr6mwE8MHPiLF!xW%v{$O+eP0RmOyL5q~GqVt}Azsfa}kEwP04&FWXs9di{l+ z`hVs3j*>D!TlMOmEqYQYpLeSO=JG7S$$JkyM1*587S;C&x{SN@((hXjALDVu@kY~y zE4`+My{kbG@XT1LkWa5aKbHRg{8K)EXBa|==bsULIzipHn(tZ*hF%hl3etYHgpkm35yBnHaSYiLJDTbQl45fugOuIiNl6y6jB8= zm@Q@=hOpDoFqJTnB?fcMM~5-4Zp7%Fi#?E|c+|1?*NyzA*9^@RegH=atS1hG@qfP_ zqR*Z36FvN&ILuYF?g4uRW0%*h}26(!1Z z$Yh_^nXLt5>3wmux32XdN|=eelvAxz5BoG;VfYg8TXL)oL_12#>fw#)o?mLg;8qO; zX?;{7`33IV9_$RH%wbjl&E_rHGJpJGXCQ(?T<#`fCF!i?PW-KKLW7o8@rV87h6)8OZs2G8D}2 zN+4=|XssI@MahYw@m)|nF{i41+26_v^Kb>0T~Dsg?~JY0LoG6 zgMlFiSJQ$)R$B@L0sT^U47Er`W^qr4t%0hD*P{~Htb*%b%;G%(T?mG%1Y*tl;Y9mFvuT_ zs53*LxqPV>=7`i6ePleon)yW??b02_KxDSv&Bry!4{@FMjB%QI@{TLS+#9w{>A~6*} RgQfrg002ovPDHLkV1m{s=imSU delta 1593 zcmV-92FCg8422DlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUS=A!A+| z000H(NklJ#XVi5QZfvP;F9D7^~Y=A-JQslz2g!7+fm{cM7$JN?%0rj8q|s zfN;9N(SfafMUe8~Lk{6jNSz;+cb1~858C}9QDaN{U}krgoPT*5jsM)oIC*)!$%U}# zpO$zAaFq&(aCoN{m_%yU3lM-0GP`EIrPRt~UHe&}nX4J+%%3>iOY4BI^0mnmHkAOJ zlUl&w?16WeoW~BU0}ReH#=AaeamtTFG_h{a}2VS3wh3aAVvTV zi*+*+g1g~4X8=3|JJ>_}wb_fzi8T3p06{wP;sfB0snBr&q*qGKy(~QdZU9IhThM?4 zaJ!%5#$y+ADN#?$T_H!7?cZ2CcarWL>jtyjvCiS#?|*0DL)QI{Bf=o{sTA4XjkWVT z&Xf2p!}(FIG379Jfc6amEdEpi6k?8AJpo~!=gt-wWCA&y9iY9)^E(2Hv;<BC6{_a{oQ{BtrqbvyMjn~-4-VO+0ALV87h-xx5&XMB@DBpU<`$h5S z7~Je#E%R-TmD&JHTvSmwsMSL+3au%Jyukp@&w*;cb;3*Zc| z04R4_0*iP0uf?-|VeSFfC7{$b_PX|Nvq@pz(Tnr2!8F_S@Kg)K;Z ztADMD>-u6n>zRWRXpETjn?2QW<>nD^{fVz;%&hulGwVvPH?vZ|YPwPeXsh0~XN#^B z%IBRbfHA)aPa8 z_-T=_n1D{5qqIzI0HF~M;-gXAM#({Ff>#60URYTj~oW$e>p&(JLhM5_#ZjUP409EKous`#*^X6 zL4doY=a#^jCWPq32LbMeY)(bs*3VP&hkZqf@*FbRqjhF!!I*nrpX{w`J%|!!;4bA@ zs}$RDC=6c${!C7_foMlb*>-qix_{@_S}?e|1%h;2s*wBw_ignz22$oQDu8D5nrs>V zurUxpA+9!;p%c(EC@{ITfebRkpb$TtRC=NHp%e@l2o#0$@pg1mf^xVwS!p00C<^Z^ zs_Cx{sN9T22J+D#V%;c*yUtMQ!^S`^Kaindc2@$i)rZE?WD*9V4J8_ntAEkF1=<0; z83w{lgMWFUf_z;83#|{074E4|1_DJP&mw?wRQk}y5QD2}!62(G1%iNHsXJ{oONK`A zNX6DbwTU;w5?C#Q+ux1i0|6ZfhN=W&$$I1$DCpYDIzN6m!%N{|cOh;4K}BZK%Cef}ab${BF#00000NkvXXu0mjfJRR*1 diff --git a/graphics/pokemon/carracosta/back.png b/graphics/pokemon/carracosta/back.png index c56c6da96f1fa4853e3a5e9c49bf96661fa79d90..b76657cb2851152093eef1906890da194d139722 100644 GIT binary patch delta 492 zcmVTZ)DAZ#Xz8A!C&CM`!mIswzCMGozXSOsf&vIY^x8?v$YC~O2!FtIPRRya z+zz{QJpma4UF2XGb_XE>fjdVM(&;;(sw`vqD1jRXi4FR@_U_fPQOueQUmO`CFy8q+ z7&rwY*hSN-$1wtfjt;^ArtcVSOu&N&3)AHWpi#6Rl+`z8QmO79T?IuP9i isDodlWBsXGEIt7YKNOxZ1`eM90000D;&15hmrsQ0m_k+BYz!$JAiQZmBr$}{&bx_KktstpOm_h$LH!!)CU1KS1LV7oHmUj zi9^I=)?3KrF`yu7Bh`@87SoSl|G$3<`n{Ux%dp2h^P#n{Z}BLL{I<$h_0Qaj2vbohJOG|=ag))#qF>^*AtK- z&_xc0VRsNB5V&(BA)UShs>(8!j}o|Xkl5hdwf8TUjbhehcyVNiz8lR zc4Gtv9UX)LOy4oun1BZl7!HgCOy{-(X1qtMw%3#qfgGng0E83ZJvQi^=SW%3JEfyJ6P0 zMWbz1r=Cp4q3cqrojG#~c0*m*ddHo-{YC65T0-MU;+Eeb!UZM|Dvirj*`+Y7QK3mZXc3!$Q>}Mq0h0R_G8{(9oO1Wz=DP& P00000NkvXXu0mjfu2GWo delta 352 zcmV-m0iXVp1GWQ@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUS~?%B(O z0003QNklW;^b|GhVXy)3fMYD-Z&!yCx zALFS1e8&9gWwnfZfiFfMfB|Hst;$|cz)JH2V7a7)=X?hOynoE#w4Gs0A0#nF*9p_~ zPO@qu*IEQ}Gz*r`n0pIm)?f$ei`hQ5{O* z_CtNwS%`Z}J(LR7BB)(NxGT6V;wa@5XbG9_WokTGGzrwS+;C*c;5`}Kmg2>OhYafX zofH&D-<`X*%{ORyKi&7e@7=xcr)mGU(60inRq(fx4is=r-+xTc@KGMAZaQFER{?FU zqMMn3-eqQ2$4uHj0Z3787i71DwXTgwpk!^!j*Y;ew+a*;;fR`aBmiqJ(T;*6gk?&{ zfwe(D1!$X6I(a(79FS6WFhe^9C;-sS0QfclZ7hLmSIMyg0Ia5=4L+AdktL@*h6;ip zsCzVE1!J>Q27kbJZ5mKx6W8Gpj~zHP5=BX?J+`{e~7#A=G^M5(C? zf+iAGq7Tzh-Jht?zmWwf74C2Pm}3Rd^G6Ef`_|?|NaE*tUgLbZ%!{43|Ah5Fer`Q~ z*bBy-iw>8|tyXO*Ke>MER`~AjlVRiOxF`gk+Hxn%5Px#_os*Lv-h1B|HoPjXJI1A* z8piHv6n}a4#V8th`v%7AWj20~V)rz5BhMRnHR34N4&pdEh&>FqO1uv&{w)S1Ax46F zqgn_60zi*A3IOcAU*#O2It@8s>w7V#7~LiT4Zf;40SuQ+p)q@&p~qa2Cm&%5fe9*F zqyI4pXn$L8!T;gu%Wf|>& z2ApzGkUSa8lDZ{yXCo|h7Ir}0Ge?$ErG*|;sT9)7eDN z*a16h4eMvaXo&tnWnkY7528V$7c`*N58{Qx)cdr6wDuB*0e$GxlZ_=n)T@AB&~m`- zy(sBm!=(X@ZSh18ScA5Qr5>=fdkBFydhm~c|EfRy4F~hO(*gvJjsO4v07*qoLKZx5_7{DdoaDx}Wo-OL@ctZ$THDG(i=*R zdnUMDOpyxL1S3k30|_CMUZ&=zGfe_LS~Q3(8E#L8YfHK1hJPC}xbMjq+{B-xy~!KA zd_TYM{nPjT6y;qTY8mi>E`RlWpeAGLW`2gxtCDi_0n;i2Y(-biLO^wq>8di5vJU`^ zHtia7HM!QcF$ieZHtRVO81`3zx<@_QVjdH~nhzXD&7;&ZndgbvaF7GoCSzU|&aeO& zV?CL{&H-uyaDNK`ye$A*E&)0&&9fo_SRJAazhOEAG$vvNQ53ZU7_g#=*=qT3UU@1`pBnMa0)`HOrR^q;0w4!Y<(#HFJ?!< z;42V77FpZ?3C1wsy?%^D&jqT5wX`KlL>XY008TNWdX`%Tkm8E3StTt&v&))_Th>*o z%KP!Z7-bi^5Cc>I+*n!$IO?Be9X=nZ$&OkK=zmD5u|h!8x0#M%dys9>rduZ4a$$SO z8mqT%vbvko+f|1;vbj4F&_RWvS#uYkH>ej2KsI+v07@Rv5oo!o)%30@k`T z6ahFOz-S{Bj05z(!o_UD^RuXO1k+wM#u{LMdh& zoPYlk`Y@mi%I8cC(PpZ8&w^V zR%hqIgID*C4lkY?W2p~suM=I{Iehx$`hWR+|HSaYmhj|9FhP*a150j@oCVWF-9q%7AW-4w7M}7cii-57JAAX%Aol z>F#9?BlKYacQ%v(NnaO!0m}h)_LA%b4Ic&+w1qQ0K*l(y$h_7Aq!$41_28ZMhZcVU X2lKkq**RdZ00000NkvXXu0mjfLnz_y diff --git a/graphics/pokemon/carvanha/icon.png b/graphics/pokemon/carvanha/icon.png index 573236cb3dd3e01ca710fbc25f6a84d6e9a608aa..c6bd0f23b55b9bf3198280b5fef37680e54dbc9e 100644 GIT binary patch delta 293 zcmV+=0owkc1N#DyUw;7xNkl7!G6h?Ui-pF1^WiMgDT|HQ3v|l2X@X{`B z6;C`|r6?OnHdeCume?v>_Ac!wmV3m{1r8y9JJb>a+xP+XHo6Fe^%s`_cJqEa+lbpr>i!({SL0HniYTG^rAcO4Me rbTF~rbx8jDp&mm5HXTy%n>u_08up0k&oc~I00000NkvXXu0mjfPd|n~ delta 330 zcmV-Q0k!`70-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUTB=WmCo z00034Nkl5dr5Pl2%Ll( zH4il$Rnd>ygd_M>onRbz*aF$B&WEZB*U+rF7 z>kz?wQ~lfLfI}?2s(zZQs1(gs-M|6sFq!-V0O>H9R(AGY2LyH<3~p@GA^Gb~hXm|8 ckYCf`3mW!_=}Qa96951J07*qoM6N<$f||~fj{pDw diff --git a/graphics/pokemon/cascoon/anim_front.png b/graphics/pokemon/cascoon/anim_front.png index 9065450f514a99d7560fcefa6e92c49a34b9b9cd..c1eb0e0d8b2a4132b10e47c34796897b1dc626bb 100644 GIT binary patch delta 656 zcmV;B0&o3;2KWV#bbkVFNklg@kM|!K=!v40qhZXztygB9=4S&_U2v;LO-n;lQ0fdLK z9?|`;cH_YBhaHj@xb+C718la<5U}zYW43_XA*d|j7q1)ul7DR|2P14MTX+Xj$|Dq! z+W||+trw7apz{aaVy1StZ}L4pjr0#a58xDC8@xv%66D9UmGq=3L- z(;Ol#;N1n{2!B#3zy4`%Lt2!|1zrHs{o#E6f_Vh$AyDJlzI~h{{C7f;mEor=+7aP%{DK*?Y|WCD8i<-MStiAp-053){5&#d7MK;xp3+_ z5oOP^7=F2!0P3d=Jn|Lr08mpyk*I z^&n^NUVn*QJ#g~q4^$6gXYT~rlpd5+4+eta>cPMttRBGOV^R+;S3MX7y6xZU!HVXS z7t{m0{cn0eDkOO{0V^_UXNp|_00L%7L_t(o!|j&Mj+-zLfcbfW zIAVQft$^BFw$R*x340Im-pvwAz4j4$iuM)y6g}tVItIdG1M#KmiHSr6^JT^+g83Y0 zjWuS&4M!(_I0NLPlkXP5Kh5b10G#tP6ak-X(&Kx_Pmf&1nE*`hLR8)JoCD;Ux<HU#M5Z@vSd#ffNB_BVGo5 z0nRG~%m&V`JbzYv0E)7l04X4FirP)21-zR;96-wXmtXB|NQ+XKz%xL4JYBC(m`9+Q z0uAo%>&G>~zY~hAl*T6f9=LUYkj5_jLoGANf81^jra@3CwHuurWK9KR^7kJJ_=Ny% zfNX|5;w+XFC}s{);HPE`Nz&J649j^^)s=XpQV3k)mVc$N8Lxv0m2D5S>%V3CR+viH z3SkRRFN;M}3tF?q=i6gJ&RF>96%b^$cSO0d08MBq5m*6XTSRVqm2KCz`5J5d-_Rer zZ<>|8@duC3_=7$-NB+P& ze{jj7KYyg?4-TRFXx!;~kP~yR#HJn?dGrTe4`OEegG~=gT@R#958mhW08SrPJ-FTV zU>4}7f2RkgaXzCSsOdlGfmR_&)JSgH>EG)C-bdn$^Z@;#pZ=X5D1QJl(u39?dOhg< z0qsE3gNZ+&9q40x>JJk;_&5HLS^QzugEbzGqPrs_3&bl;6#xgO`T++6NCJLBa|hFd?^}2$333o})$-$q$(sZv1j2%$ z1Vxyd6Sb3%`!A4|KC|a*z5zP8%(ZBCuK^&R*-HZ*<@*3w(fAqE5sBX&14|Ux{zP>h z0j6rcbku{}OQ5QQMW*E`;3LStUkr!|*ZL=wB%j{SqNck0bKn2~002ovPDHLkV1hWb Bw@?58 delta 399 zcmV;A0dW3-1oi`vB#}W-e*gz`Nliru=LQD>D>iKkPDB6z0a-~zK~zY`?bNYugD?;V zU=UL0kPwtHiki-qaM%N9=9X}on?Ubrx^?O!^etu_HvpJ25FbEtpmRHSJ3|BH z$hyV=_DW*`paWIoe+GjB#DTs;>JF-hzHZ=+I7oq2qi-J;uN>sy2?M4aWPYkn)GXfb zK0%zj%$%?O257LEZBZXyJU}ipOAS4xM-LcLyFI8UV&9zxh6phIiOMnnRF!(^X#}fF tpeVgT#`#yEkHCL^A+Wms=l;X`0N&1`rspN8l>h($07*qo1w^hwV1faRuXX?c diff --git a/graphics/pokemon/cascoon/icon.png b/graphics/pokemon/cascoon/icon.png index bd6d5442810dd5d6c9aa542654e9a455b7fa7a90..1aab02095db5e895d69f308d6e08f11731f2ea8b 100644 GIT binary patch delta 216 zcmV;}04M*~0D(|l3cE|oEQT2X3+wZU z7KH#GiV-9MLopkR7$f2czMm#et7FEZ>2H;*3M#Bjb?yNEwH{%{vYs@$m$&JHl!l SM2e^Y0000O{0V_KbyE6Fz z006p4L_t(I%jJ?W4#OY}MY)01IoyBARCP20G4rL|qf~7=CyMJKkdUEEm#Rf#@RN;f z^NjhqGwPLHOoPTl3j|{g#Sp~Btz?!bY~piGp%?+A6e_T1z<9yMl0q6GA*KqFR={#D zU{-KKw*wBTzj=O?M<)HbNrI>~(;x`6Y`q>!5Jh4~^!p zkB%>L)S>aC)j^Ir%-^Adk)lKOqv#OoPp>-28y!CK;{~rf!fF{3-z)$C002ovPDHLk FV1fq*ZZ!Y^ diff --git a/graphics/pokemon/caterpie/icon.png b/graphics/pokemon/caterpie/icon.png index 99d285034d6d8f05b92ebc8b23586099cd993e35..60f8c55b40f5717f5a39c0f76452f895d37cf8ac 100644 GIT binary patch delta 90 zcmdnWG>vIO0{cQw7sn8b-iiI`9v7VxL>{m*&q$aM%xrN`L0vJR>1X?-WeuFq?$@Mb u|C|4@zUkGUdjCHGtPL-l8ASt(YZ(~iMWXk&if?3P00K`}KbLh*2~7Zwts|EJ delta 121 zcmbQnw3TT>f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gjt>_5#W11L1Z)5S5w z;`GGybbEV)o~DHp6YLhK&-k3d`Aptx7L(eH`pBjE6vv;ii|7)3mqERBvNCvedJq!_rzwp~ zp=$^o4GrlU$%C*sWP-8%RU zx4fU;d(z$M{|8vce;ZDt3TRf9knPg+9>~?QeEk5zbxUqHUw`@o2wHrPdxN~dJ~*w` zF$?quiw*>^Jt&n^yC7v5@Om|;(tn3p*VxX~76ID?Of7ln(g>S}Pw#9afQy$CeWXo$QxUH(B|a zedmdep}5}pacTn~=$h+j8lBEX|jceha`$HYZzU}4#4EwQ1Oof&=vV*EMpn}9-<16l?J5ZZr7hQ%P)8TwQmKUA zP%JVGEj@CezV9@B3s7{Zzf*DS^FPu8aNeVeo4j%t21CST9%3GF2ykLj|1@FU1KEcL zd5ncU;D3iu4M6H(lOq!D*qJTz7QnrHlc6dBARr*U(zl2^yfV8VXJj9A50hzNID7xvWT?qTy)cS73D z9~yEG6Wudi%ku!MF^dyH6vt;tWU)CilVY8-%B0wK&w+$X$a&&L1lvO_10H9a-4shA z7T2h7)tVx_HCG%d!cHp)VM%2nSP7}_K7kwa3#;u zj>68=p$57dSYpSiqf2O=J-)?CAU4bw@?0u!@0S^OY67?f2!J*1kW@@5?5P;Z zAQDZqz>yeQj1>SC<}x8fIK*ED;rOB<929sUJR;qq95UPP0${tCQlR9GB1G<_U>Cdi z=Rr%|L#Y8Nx!cu8jpEDQefzmIkaytA7&D%mCE1$Jp8fa}m5oKxe?@NDFslt+wL` zV9#HtzzYE4YaqFjHvmUwWwt-Aw0)30h`VOtwKI1k)6IOTl{rL!P3zewwRpd_OuAXg zfX^Cub3u7x0uuNp&rf>lK(EDkYBKlGdf8cM?PCrx_pp#X)j|Fzq&|80TdBGVC9+fF z<*2QkiJ}w%Y+XdyPG*$)4ld8+0Q`_rw?H?gBr?FS5AhvutKuk-l~^eP>Lv19@piB1 cF8(6^01EEzAh2(}yZ`_I07*qoM6N<$f>Tjb?EnA( diff --git a/graphics/pokemon/celebi/icon.png b/graphics/pokemon/celebi/icon.png index 800de48f78bfdef92daafffb0081760a2d22f73d..2834b278e10861190b0a10b538dbc1df58a04cb8 100644 GIT binary patch delta 104 zcmX@kw3=x`0{b>k7sn8b-iiHrVanE1AKso^AtK82C;qc!0ONo5wuww^p+y2NVhpP6 zPj0ZQg9ugj6xIn(8f3OVc+w#Bd%=?isow{lG#px9Sj50ko?NOiCtv6g0}yz+`njxg HN@xNAb`mK{ delta 132 zcmZ3@bew5If<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gjt@1{`T3=~@B>Eak- zae88Uo>#rY$M=(e{9mE?$yDCB$Bj!OmulE*B}o9yV(@hJb6Mw<&;$T(2Ps$p diff --git a/graphics/pokemon/celesteela/back.png b/graphics/pokemon/celesteela/back.png index ee683652e3db8fa35ec1ed4947db0322b7f850d5..fe7cc4ca470da6a89f9f7b809bdce4aef33877d0 100644 GIT binary patch delta 647 zcmV;20(kwI2Brp(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80)LT-JAVfC z)AW<{?%nC`B)gU;OZxfU|Gg(0`ln}fe0~l(z_Jtg9l#!+e{Sxr4q%tR&x5KQbR1!y z2R*ww-^Oxp?X}B(&<1n6@>ojVOaHDos_+azL-cO&DoOz~hKNHwl7E|DIn6@PFfaw+Reu!0rK%)aC^i8hD~5mg9k8CIHdrJil*) z2`#ZK#{&~681g_S(BoDy2j0^rplcWp8K{#n@DK!#UBvC!eeiXWoZViAWEB-SHXf?-m3kC4xCJ5d4Z0!FB(d)Nq zpg?>K*n2`ZjDX;~ia@NB2Ug&Ah0*mv(C-pNILQ5NE*!4WR=uYXL+EeHmib3IsI7@iJy0 z0fso5)Vc;DLDc=XrtbGjD*0Ap7X~RaGfKn^?#;=o$0sp#HyY zKtrs{SEK=E4PZEHA0#jj6tKVcR0jtQc$Qt>D8N%@8YunBXHC3Q;9TM=!)1sJd+QH7 z-&tq?bO7+Z322BJ0{&J)0y7P;ltB#&u?&_k94SyZ2`)f_9D(eU+=U;q23WMfr(aEg hPaM!H{N*4m{s92N-Oa5l%$5KE002ovPDHLkV1hEh8leCH delta 636 zcmV-?0)zdg2AKwsB#}W-6#xfxNliru=LQD>EH%4Ai8%lO0(_B^JAa1jr|Bo@-Mf?S zB)gU;OZxfU|Gg(0hW6F7smD`_Uix>%QH5s!7NU29S5Ybf)Rl%2Az&Dn2>L_<(;ZbJBZQXmx~Od4Fo9> zz`4c>G9*C&NmPxpABFCtTLB=+O8l$_teWGxg#vhT6NK)2KKB2E==Iw)P#``A{5@eC zMnLdgMIhHH0xNL4!sz-SKm!rE#oJjMkQyXc@d?1kQ-h)dIIGhDyTp|IzP1bzSOXys z0qsFFKyhMHtAAJm8REn!7YeWtXTb#vp#wQ<31kR;8FJPN1T4hyGGRI z4p1PV^jVEk13W~W!MD=$yrAwgZ-9p&`{?0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1Pe(-K~zY` zrPNJm8%Goe@X?kh(q5#}7Kb8gFEr3}4c>+HqNDR>BeGPS@2XWz{fRO2;~scwiken3-w`B4^Qi(_2%xhpLHJ?|*EyK$6UxFIUSB&Oz?>j$=87hNtG954Z6su_wu&-g zU~VHc25@41ttb~p?+^;j0hNLJcq5i(0E?h*=G2rq?sFP!{s-vUm!y9)0~Pe2vODnjPK_V{0R~8dQL57Aw-Gw zIRQByTgVhM(J$VAFUmUM8!@iH0Gq&xt!s~+zX25Z2cl!ZZ*z@cb;os{p4`QjIRuee za9dKp{q;C_R>P+C726190zzx>UdWWb?grh`OH8!_+qgS3z}m)%npf_s^kqfX>Kx?W z0P0Qpk4ineBAX^leP>c53U4b?$+Jz(<3J|t@TOMa8E;a5udI1Cciuj9Clm5DX4Jp+=dXCnsqp?sf!Kk{UpJo^1;z4L}qwgQ{WGYRru?Og?PbI zmZtBmn1?2yf_vby5HDn^K^yG}&>kuH5>#-bAC5w75mEVJ5<;Wj;7d@!zwm+2LI6PG z&(<`!VcY|MaLj>Caos?oKKXvKZ`FwHhI|M>Jn@$sS{m|`SQ1UTI zX<$L6 zn!%CdKoc-u2y>7;C43NbKH>nLFCz|M{x(qKlOedzfbq(4oc+NW_|IS?2?ij;&hqXc z3}D}2_aK~v4`O~J3>3yp-X|O^?+)*YArWLLoLxFT2ov}l7~@$3EqWQVKjH|z24ScW Ukq&qVHUIzs07*qoM6N<$g1znX3;+NC delta 1092 zcmV-K1iSmP38o2EIKRwl&Amz1PMt*K~zY`rIk%+8%Gq! zM_U$MWl%99v~@Jd(xoX~A$60RU`=Utkrl7J5G53eT6<{2B*fX|P)uTWH4s=3Z83XL z?mY@bDd<*6dyz_89EzyD&_L5Qco))(j_#Y$wTFG|CBU^$3DPKi^jbhwRh@^h7Dbc*2!#|Sb>|`gG(0SkrD7=RO- z8%4P=dO|3)0H_S8PYSUz2QUfhR!&WslRRgEtsel$s5e@1tV7f2laC=nZnPOIk2UsN%&=WE!0!@^@aHiT@q(!=&Cacuha@0^ zd+0I|FJ!7g8to~dJyGx#h~P%w9f{Z`qVj!hW+1=7e^(%af9V~ci2wkJKUuTDm&OAC zPB>swTsM%YPwywYRl6QU=tpDzGZ2w{;E~ze#j1A8HoNX`O3dXVYDiO_Y z?0T8m;At1!F=`=yNj@gE-=| zAAke~SQUc8gR|}Xun0B%hG7_YnnBQa01(#o+V0sN2Z#uZuyfql8w_4GgJZ{mB*0z> zb0B#}_#)=K#{t-1MH~S8T|kWwhQLDx7_S`1IT(zAe+{;hU;$*fUfp42d9PJal{!Ch#2?6RWZG&(}Er68{fjs1T8ZQ$^wc0000< KMNUMnLSTYzZuBMq diff --git a/graphics/pokemon/celesteela/icon.png b/graphics/pokemon/celesteela/icon.png index 94cb03264439b4caff351390c3c335371e4d3e1c..854c36851a9318712f48c88ff37d219107ba121c 100644 GIT binary patch delta 467 zcmV;^0WAK^1gHd%Uw;9!NklSk&L_=GhTn(KKMsEUWzlMDu#V_f15AJY0cie0z20H>r_ zSq1C{&?zW2w@-AZ%&rAs=&&^E34pr#cLsx9rBdAv{17_Lntxf}D+5K1(y%wVT|l<; zMT{9>V04nhMYLwfK+)-IkmAfzSNyFcv>&}b%LwoaMgo6%)$lrpFNQSQ2V6AZ+rU- zsH)a6lpIwUq7JG8o!8+GyAD3fpaax?cpY2~+=C8Yn5aYTN77+9K-9qONIC?WN|aFtOvrxmNe6qxmvs2Q^8*0pN+c7~HVXg%002ov JPDHLkV1kAH+MNIZ delta 503 zcmV48T7B3N|dUdsv3)0}Dw=>FmI*TC%z=n;oKa1M* zDJV96^->(0byxUS66^O)A7uVa!rvqgYo7jfZ%erLHM{Rh4K2jblK^ zaC~osh3^m!`hUVY=7Y5U&s!f3RClLSCBk|6K!~Gs>4c~RI?h8N*247mR*4VbT&}0_ z`ylWAbCY9wM$Q=1S#lk7AXob0{QK4Iw;R3!{APi;XAaChark3z{|Hcm2}|}>fRTeL zLhCu)apU0cGH}4shv(qR;2t=5Fp)#)W988AA#!j#m~fTDHg|3khYd{TkX?b%}$=RL41xIQVc$r%4>N tp`_#xFp-i2P`W+%m4mh9k;DJJegFXGN+j+nAU^;A002ovPDHLkV1l?&>^A@a diff --git a/graphics/pokemon/centiskorch/back.png b/graphics/pokemon/centiskorch/back.png index 24595a7d3f0bca4c05ac4f50a570ebb766a38598..7a626389802c331cda23b16d34318f021427abb1 100644 GIT binary patch delta 630 zcmV-+0*U?51>OaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yjxSK~zY` zwUjYy+dve@Pmra^LlkY@B7XwuzQSn;*4PZCf@IQ=>i=s;fMENHOE){UqTHr)vEc{jPf3s!%g~_t@ArpSsykCWY z)hP4MD8c-V0;Vp1wT=J~v_^@n$OA%-oGEp|vn^+x%6MfedA2vD4g}U^3w)i|3B&dr zheDthA!H@0blGGKYEkfJc4VTiB56b{rL0pHv9v!KvlH=!F-eBe1C?NGgAir!M8X0D z$bl0@fdJsX;uTV#%=%}E0-cw&nR5(SgGaL;P`iVju_HNA*bPhsF@==sQzgnwi2}XK zD%tD@M1om4X#rN7jkGAsevBOgOcHrV(0+8bwBde+okW0umZCS!cGI Qn*aa+07*qoM6N<$f=Ou?*#H0l delta 618 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 IM6N<$f`eJg&j0`b delta 456 zcmV;(0XP1;1g`{;B#}W-e*gz`Nliru=LQD>EghHa5P|>z0g_2XK~zY`#niEGgD?;P zP>{$@_yd#l2jWVsZemYa(#9tu@f$%NI#!X8`aM<$ey+B`;6T8UkXjEY^1b-ZmmEQ0 z*E*PAAzBKO3(C!q@|n_+bfnho+}gfz1=3y+txn!ZQF3=RAG{!oDBj5SSbeNF1Tx=xd&+U(phg07~>8!0r#atw;bcw{WM?{4w&r`Z2@ZA+XD{#72dXd0J;lD0Knj# zo!l`V0ss!g0eABbf3gw51c0Biu4~DuI{?n4sCX{a0zoZ6E?B8J*6TCZ!h(L5@~Vkr zTna(PU{&3!7G!5}9fM1Cu>hBuAn>8~xeLB8Umd`L6p*Io!bJmC;?~7Yj>2|C%akZk zVh3c`LRugpeIY?E3J1tcSP<3Chg{@6&_y)hw{l%OaXG9aN~Q{~{U zo--tN=pS-`_MPVm;0VU7$64Jb1Nj!?cjk>Bx8LJMuG77Wj_m z9|Fhp^w!E-|1<07It&H)VncZSG!^0Xvl4`ix=OZ#WI6z~q&m=`i4NiGaGvOZT!%3( m)gi{EI*f6d4jHxnCmqf`+RAY(a#9=s00007Sc?R~rL5B>~Q>6Hr7(4Yr7!X3N^c5J$hH}S{ z0Y&oFPTI!KP}Hf#n?GOvJI5cG6j>8E&~z@)_+9~p35;qVu$u62dGax zP5?(RW-gxthjXE}F}3>w4vOW|`O(S{2i6C_TkI=a41nY^yRNo-V_hFdLE^F#;aI`na=4lyp(p^wXSDD|Fn Z_y9fH%5jo6%Dn&p002ovPDHLkV1jDKk8l70 diff --git a/graphics/pokemon/chansey/back.png b/graphics/pokemon/chansey/back.png index 0b461ad8f6522af71a9b7af6b4a6236bf98d1a34..87e70c9a2fea79bce73267c4357eaa1931e5e476 100644 GIT binary patch delta 486 zcmV~%>3SUHFXfC_LBcT@pW2S|p1In+V~ z7_b;Y3*eB&#UMpZTv@DtRpqU}C#kYq95au_O{tdb0*tfwX=UB2bD%!Qr&-T{)E=lW z-f-Rn0(!QLF_R$MqwIH(F`hUnC*Z*Gdky^vWn_Sz2DTz7?G7b9C&sc0*kou&pmK~z zpKry1T8#N#1E~c_15^f?2CR%ypMptXLVj_M(vCnga&ZBC!S{uK4VV!{(}D=`VGmiF z0D6YJKFd!VkO4O{h^F2L@Y(d=02b)dL<0&ECqQfI$4aT#(L(CIJz|>5 zVd7YL22gbR(GVa(%;JmcB?<aTDn#OktqN5Tt0Asmu5P`H3|^J}_#EShz2S>)bL ce<#oT0e+TK(Ja37AOHXW07*qoM6N<$g0iUDod5s; delta 475 zcmV<10VMv<1i}Q6B#}W-e*gz`Nliru=LQD>EiA?|5V!yU0i{VqK~zY`?US);!!Qtr z-9QF!ZJJJA91{w`WBLMdZ}ZfE3|R{iguF~@+JMMYSg3(;FV~Z7$ChKITf5{3P50^U zzthR{Zu%b$BGQ$3^f;ftz$kRZC$Do7z`{X10F;1(xT6S|I6%?|e@vkgB0x`y0W<*i zr8p-@Q4<#_ma5FH?~_!~4i1^e;yP4GwgJZ3`?yTqs5MZZNf7DYj4vfh!&QaPHs7Ef&fG_wqw*k|ls7nwbKI|q7V?g(?t7iFW z12W*I2T{kn06v@gt6ghZ>@l7)lcL$SarY@3hZGGx|KhDrn%IQVy-uHazDn_e*mIG? z12w52^sz@m9Hy`!fL6R0&;wJ60bqtMjWnPjaRRiKeyo&=Q5_|u-rEDFsq7~Xxn}@H z(~o)^F^ey%e-iWn<*#r$#PYHH_!odoI3z0|cLAsRYr1O8>UGGkTe#_u^aFmDQ_&Bn R!e0OY002ovPDHLkV1l?#*y#WO diff --git a/graphics/pokemon/chansey/icon.png b/graphics/pokemon/chansey/icon.png index 9a36259a25273307393bb1ec3eac42a0cfd875be..965edba8f00aa3b661f7148bba7f0f57f3e4aaab 100644 GIT binary patch delta 247 zcmVmTlrx#&6?&bqk(1YM%0rxP1 zhYjXH=wJn7=Co;hQ%_=U|IeQ^4WClKRz#5mLJS?aAy+SY+)PI84V&*L!}$obH7?MN zJ0EcsI@bCXfdgt}?cV`h@kmWOnUQmZDlv|yGrwYF=rwDxt#FKNHe}1r7$eIM<(l&-(RBr;KQeYqj#-_l)42<=6pMkMO42&(t x7?|390!(1cz(~sz7>U>!n1CQkfKlJ^aR)MJzcX3kc_aV;002ovPDHLkV1l3jZ2JHJ delta 286 zcmV+(0pb470`&rrV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0WC1nGfejY z007uYL_t(I%jJ^63c@f9hWiG2m>mTlrx#&8?&bqkaEF111>D039yXW*p@S8S8N+7n zO+AUZ{Xc(`G<-_^S`kGO2yyMe1Gxs#(_uE6V7R=R4Id)VHGjB4Kb0ZkYxJ!3D*`9f z$U4jc+;K}yrS!--LbVv@%ax~CX?o8(>}o5UjoG%h*2?l@v1fgh2ox!4PFfIiK7GPYs`vQzJF)+?dF))q)1ehTOrc?=bXtIS<2OphW-z5SXRjSlVRd2}f$>%?3e?{@<2f_%*cK|9Hffe>8_SIkwVKvJD zd;v(&ha#3VfT&9BgY+O0REpTL*Nx90SdC!Yu#c$+@F`lCb$`7_7Rtc!DNNdWzeAsL zBQskFH|OmRC4)*3D`q-xG2Id8r;1g}4ZR4FwZQkO$Y#-612AAM91)b|!ZJh+I3^)@ zEIR{eDfZ^@wv?k?aVVG{T7U{3IC2gdMuF>t0lkh)^{H~72WAf*P4KWB&3Mv%v8w-Z zbPRqW%oWTo27mSEDhxoLrra2WWIq9eFlJDY=&UFU(;Eb8>({0iCK)tol^trz%?7Cn zV|y5cF@sE)=e?k&T@D7-ToZ00{s|MNUMnLSTY9p|R@# delta 436 zcmV;l0Zabn1BnEXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUbvM$UdB z0004ONklD%45C-5pLH#IW9UK}SO3Ml=?ZSGfK8@74XslA7uU*1YYvA0W z+aD)tyO2rKG|eF3mwgwXzoPi_<>DyN?*doxD0rrR3%(Xn(0@J8a^OPYh*O9~DtQQ! z8B2)T2Z>!}M2!Snha5!gQEF-lsjK1Slu%{0*^?;ez{@F4n$3Pkq3fGO1WlwqZ+E0Q zsFbJ@;q#WdGwQ?CsA{CrNbrF_xCnSatjlH?}CC}?#+VAqkEJyrhez;NNw1P{y6j3;gJUzZiX2j&{gE`s`X z1>;f;lPV;7MZVk0sD0000-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tg0|7}yK~zY` zrIo#I+b|HvDZ|;#N<`Bs4q?Dcfg)hIb&xCyk*g(t2!igXyZ?PqV*h2y1Mb@U)$JFhEVzF1otsPmKo+|Ng$C$= z3UBi$`1-2`Z{+3%0UiSHw%hNJ8B=(G|NID${tgq24LTEW0Jc_OpEBU%KgTVA3@oVw zP8FDcqawlZ*54C&NFytuTB+{X4HGt!+*gXWkgDfD!P&_3o!?10>jAYg>^w!kS7GKW z*#|D!i2PYfMJ(298OuD;7mO=yO{y)NH3-b&X(u}8YmId(E9_PCyk5Qk6#)XwcKgjh zivIMnd7jJisR#pHxb4;~W{_3jl)93u4^8ub5&)^jK}pGdiOOBgWz+l(QX~pnJCdv* zKxhoGYBCcAusM@cMq2_U0`r-Pwnb6zC7V)@Y^fLX)ii2Csd4>AQT| z^G5qz>Njf{H9FN`H*Dl@0M1J7;z{rtV0q6lgX#bq0b|@jIL$F>>Sx`Q0G~pUCB1il zpL;1N(!L<@HW29p!2KPKgZktF7iORUs1cXgPzGC+@yZGeAeI|{OTbx08)Nf80s)V{ z9aKa{Me)N{Cn(**>5r~o0528~78f>@VBsNWU7Mgnfa9b52uQTwX97eZlamB^peij5 z8#fNO7Htx0^nme2INTQ-p1l^>-nEl|Y=Q7_CNxP{B2cwJwF7LZ5rGW$Ky?1cbQlrX zbOH9ChY%33d@Nump$Bl^y`|YbO1152h($~#Y1Aq_foc|H<*zX%t(E`FM zrH}l+j1~Y<>%JGCcL2R8;MfYVxKt!SfF1CI@hU6d95)2yRR{1EFh>dt;2x;D2&NB= ehyEF{G4>Cbh=B)y3xB#}W-Hvk88Nliru=LQD>E(p;ar>Xz|0{=-wK~zY`rIo*K+b|Hu zDZ|;#N443;exSuMzzE_L8yu zMqUi(b183cN{+v>7?hV3P)m7JO$O4n&&%5{Qd)5R!*^+l900O7os%>`2N=98BJuTC z1wJUvH3B>Y-fg$vA=A3_0RQkN+IE05Y)T4meeRppS|K z&D(s>;Nciya@ksS$7z_bk>I{kjD?WB{0YuRobU2Zh*=M)rDo?T=DiC&Ux_|&$wrjV zQYvDxUW?e~iMn81Dyvgv;jBSm7Ee1-1z#(yQ`+2KHP7qS`(H)eBfZ^z(~x35y=ctE)15U~-vHH+|G%o>=Djbv$+?Ocb)m${q-{6QuVrxf&l?3Dp1y)U_ zBLQ15F=ezRP$4j%>1bOd^a=n;Vo_CWOhkLhJZVABcgKMx_0 z!}76&orNC2efO4ncb6Z4Y+r-|XJBt(A8rTK>L47P5CMEZpaYBoEYyHDeSvNzD!|!* zancVW6llvxu<^7H6@6P`ffg9oV8~-iUpH+A059vD|0CdW-Z!FA1#&B;I?DSpS^)A| z^|N@t1L(mVj-v#NOGO59umgF}-lg%)aYI01I)Jx;K5|$B_kigXbRQTG{b%&!ADD=N U2i68_%K!iX07*qoM6N<$f^>6fS^xk5 diff --git a/graphics/pokemon/charizard/mega_x/front.png b/graphics/pokemon/charizard/mega_x/front.png index b0db5b4ecb01f604851eca6232ec94fe60c2bf36..5c83b554accb57ebe309457ca3b44394bf35df17 100644 GIT binary patch delta 1050 zcmV+#1m*ko2>%F>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1K3GKK~zY` zwUxhb+eQ?}k1B(%VktIt0wXr7!d*J3kIa&xC-Vr=O@Wl*or@OGWWalg6k5|l12Z=T ztTAXib+jgrg-0&|tdU#(0R!IE_wG(4<^I@u14Z)t;k);J_wL00*Wq~H=C=2bvJcVb zA>5MgsjoeTGDyC8wYLR-977BqKrA-8(=VCV32=G>I3m%!+2N)0f{AS)$`(~sy)?jK zc>lGlxXtzW6cohSg2tJC6HNBMmBN!Y*W*#3e5v(?j^L=tK8%%8hXyG6j`B@_idi6m zlmKHU#}dF%t0N#GPGu^eH*S3m%r`EThn~2bJ#XseN3U9)rCtGlQN*&U40~N*VNJRP zx=tj^ek#LF2y5c(B{?5b*?_a~U=|MTq+m=e&UlZ#|1klv>=E#ZslF2*S)jt|B?OGr z2jQ#?6}KrE9g96@E*zf(04ki#%1;N};WUG6bk36aH2xK0{C*bhN4d}28LCQ57#k~) z=kWOfS_mQXfxFy)csQF2!Fqdan8RfO-)J2qHktEU$yf9_&d+)!E7LrH936bNDzK9z zb9U0KG6P$rWIgP?_;6P4@772_%!8dlwHZ9z!;~@dRaovhhKR-xHNgD90AF4GIb_+7 zb-fz-AVmvQlaNt&zq`7`wWxOMT7D0YPsZkJeF<3_$IEwrS7YgBa|Etu9-P8QCPlg& zVkM;*U!HUKMVb@vGfp{b3ABpa=b`8K-PsQa)JJ-4N7^VCS!KE=p-njXC7-TpfvS&- zs}o>DVRnm4o9syKPN(%sfG-nefpFH@wXVV>>zaxsm7LQgyk`Ni4S-bH+$De==mv5B zpdT_}ffNCMCTNcP8c2m~ffcovr0fM=J|w`EOSI~$u?3>U08GrWy$Sd(O{GXp3iVqt z1{ha5w7}-mzjBE?QySnY;L#+rO?zvAeTiFFavOnMM6PXb3#3Y5sive~@8ao{#C`qV z10`)G=}8B;UcxBCB>Gy9Rddc^<7l8xAeR_pN_7C=0@or)sJ-=u>;Tw#2B_Z- z=!~XYJO(AGONx$u+h-*8l(j delta 1044 zcmV+v1nc|%2=)k&B#}W-e*gz`Nliru=LQD>E)Ah}QzZZZ1KCMLK~zY`wUxhb+eQ?} zk1B(%VktFs0wXr7!d*J3kId4cC-Vr=O@UV7Jr^zD$$<9|DYT}624-#wSYyz3>S#?K z3y)p`SR=Rm0|vaS@7Pj|TgqgH`-z8?3x7;2+WjRg;f`!GPnLkkpb4?}C95)McqW55P8q7=Z< zS|>n5lIcu8T}2xje_*nV5(A1!`uWpUzQXv`S{GSRKpcy_Dx+2tn7SbSf}&2f$X}Mx z(u51*`~^qef>T^LaWU(5@tBrUw1EU#>% z5-CNCYA-n)m;1Xl5s=94PN!Nn8SRnFWcfNO_dH9)1Bh3^6W5dSZJaS#s3 z2oQ?rxNm?==`}Ft^3v?RqQ}P!_J&zrZ1jVGOko2E9dM(%DVMj|kPUz;&jR(^4xe#O*DC{* z;S)!2vXj*4xH^mPQRkxu04dFnSjY`vu}TClDC>6(7ioGa#JA#j5e{13n=_towOBWuW#T_PY`3t*BZCz15 z;)qslv3QhW7n_UVbQ)(?Fj(BN{x5*-+QbJz2S-@wtvm3KH#9}t{i!Y{@h0%_!J9wV zW_>KSEvU;U+1hWP-0W=msQgA)Uv)1Z%-(Zne{iWT)cXK3m#(hSe*n|Q?lfQYXGs76 O3IG5}MNUMnLSTYl%I!b^ diff --git a/graphics/pokemon/charizard/mega_x/icon.png b/graphics/pokemon/charizard/mega_x/icon.png index 7a516761aa6cd888b96d479a4376f0671edd3b87..6fdfe06bb1a90d0f9663919ccb69a491fadd9e19 100644 GIT binary patch delta 371 zcmV-(0gV2S1m^>gUkCwmNklyI%OMq%A}7E|L5v7MH~~Tez4~*8Fh+=vzS?SGZ8XiIIB4=*Gn(2~ z#s*fBYXs92wz5MQ*Q6j#$qFXTY1TaCzSHV9XNhhskVo&+l&05qaV!W&FTT@~9)AEN z%h%+65Yd_l@Jda-9!B3W29rftEU_&h%Gg;X)3AG3`m&4QXaXJJ2bP=eIXVmpXp6<$ z#<$V~6DQyz9k#aIi93Z{iC-j&b$lC}2!h?*5A~^t~|QDog@1VW{$x4i{mZn+fxxKQ6bz zw1Wc{z7eL^;gcUnVR+c}ktaV+!r&kfkA6(TXtyVK_9F?S+mhA2AN*54J^`7NhBv2- Rx1In1002ovPDHLkV1l*tsyYAw delta 411 zcmV;M0c8H?1CIodUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUb;EPh_l z0004UNkl^D z*Td*L#$d7tizT)NL>W7aWEyr4OJ8;o98I7De8+OrJx7Nj0d28(-S}2|VB!Q^q~q3> zJ8?*;P3@kJn}UZvx&@{wMpjKxGaeuUGNok%-GFvGD3Ea7w@3vGnmvIa&Vf0+g*mWd z{wBWg!`%6C5@04PcmG8g`d*muDNF)0VW{$x4p(8En+fxxKQ6bzw1Wc{z7eL^;gcUH zVR+c}ktaXS!r&kfPkv0oXtyVK@goVN+mhA2AN*54J^-1MhBpqwa@_y`002ovPDHLk FV1mGru!#Tw diff --git a/graphics/pokemon/charizard/mega_y/back.png b/graphics/pokemon/charizard/mega_y/back.png index 4ca04ff1dd0b03cd05bfebe09d973a02caf9048c..b1d3bcf6b90f4be3af61092de2c207f5e16493f2 100644 GIT binary patch delta 750 zcmVC8iXe5GVB4*>3XE+6Un8v#lvI0$ z%nT`6l;t#GAuKqbXa0F`w)n48F7BH|gWpGYj}VXMP!w`!_w#mXt=X*wer+@B-qL}i zwYzpEMk(2D&Bj^};jSHjj|70_jXb%2_JZIO~a2??`yP*}$pW?j79*j*qyD0a}id!E`s zHD&EUu?nUBe9nN{Dn(zfWY}X8A1@b`$yCZUMd>{H_qARb1b)4LWkiWUr8s^ojM-c+ zm#-O6bK(^P2V=}qeR^4s9av7B0dZIvKHISa$Gzufgna}y&DcRK?V5n4eJ~s(bKn`E zDS@qfFdLO+i4J1zsYZV5l$tcMb#eU49>~q)AWA4H!lQK4VZ{za2_$2zOB=380={Www!yXuB&G_VE`Ni4TFSR0HX_Q!3RH1|Qdg34g)e)%ufP;(6C3ny-3{(+-R$vN~7ouXf zA<+MraSet^G$J59tk)kj0@Mr;7|_YX g43V#inNt*h0is}I1|h^s$p8QV07*qoM6N<$f>b(4>;M1& delta 740 zcmVE*D%Bs$T#A0<1|yK~zY`rIx*p8Zi*Z zclQAz4C^9IwD{Ilq)1?10AxRa4O7sjh*GDCuD$B22wfBL8fkf;q`GIw%-FlEmnB!k z1v+_t%>3uW!xhEYIe@XY24jioAv=cE( z$#!d2)_Mqc?RX>r%x~o3?I8ggfw2Z*@iG!ZAt0J5I{?|g{08{&W1OB75M6+Oo`a~K zazJTuaFC9m4AeM<+FIvjLT-zc>`6$Nw1dJr#xTp`^~UZ3*+H>`=H1iS4yq|@2Z~iF z_2+X2)K)3_^h$;;exDt!*K03ZbsNfVATvA#L_ManA-=#K{5xP0h$t6y9cvU zS(fM^)}CtQ*G{QXBU=~8uk3(vpKR)GNfGwajfWLG5G9nda^vLd%MB4_@SX40=)fZ>~~EDhO96x#tIpLXap66%+2KC&&|%43v3z(Uv1 zeWRN-1d1M*Q&Qp@gd}))f9fQ_+T(?g{t94~;3omVfJQ*zRnxy%0=NtufdOjCY^ag5 zEID5;wWCqYvLEy2I$N;}RKh$`9Y-lD}LI)(36-Ged`)QtDy@ve# zcfgB|xBYtP0KpoM-sPJcy70?FbMP4pPT) zIIt2LlpZ^XX_Q!3RH1|QdgLGi)d8sefP;(6C3ny*S`1AZX$7V*c_Aux8v^~t3~SJ* z5drCGeU9w|0OWOx5A&Sy!k{lom^=*wL4t>W0^|BzkLW@WpeBI8fKDDJ2>NW)~D;?(%*#x zUX4xx?Qi6S!t&Gt15qY_dhW%EglKS46Dr+GxH<;Bv=St;fh)&AR8w4eAb%1FMcFof zp3~&W1?&t3wUixz$3(c&O^~dJ4&mh_Xy|7`x(Q!VN@btVW>xk9^#Y{LgqmN7`aCp6 z`Be@A4)}5QJDEO{^XWht4X4LIZ0)94W?@lmb!x8RA#5O<9snqw+xHTaWZjXv-r!R}Li7ME zkf^QY4|&#gw?4#w-bU7EL6p|M&!Q{@z#$SDxd}a>0L*VH*l1J(pd&qpgvn$CCmQ$Z z0nl@6jWIC;q&K26*egWk0c~%nw$hrI)@-B7a#JJAf=Um};c*qSjt3|UP28J~|IgPjlgbuFTCyHSRNip9N7x`cG?rLjW4U6@Vr7tJ(pVXoeE8 z+6XOK11sNFf>d3;VL-`X3}F2Czuv^!0V&b>q&{QdFB3O>^zQZ!h>Baz68G2S zb>{&Sr`b4o_A&54$CXc{^wRm*-KNM~+yuK%ckYCLoUXSHsCr-0&@l?Rr_w5LF9sA_rvq{$rpVMM5NR7Jw;GR3nzb^*&K zoi37XVkv{vmGlWvv%n%A@hSL(0x~i+ zz{Gd!K|;;We|v0W_WEu8$G{~S9eFvEU*y}*!MBGD{>x-``aTH$2Q=e$vp$!+od5s; M07*qoM6N<$f)#k{!2kdN delta 1030 zcmV+h1o`{-2E*-qVLqPxl1I$T8K~zY`b(Ozw8#ffk zdAAi=bUNM;ccG}GA=#63%A!t3ze9m+#~cR(MS%opktu&f(YdGvWZ>Ay(@oy30^QaB zAQ^&A`7`<+NjYc9p#hyJe)xSq?!9Nm;z~q#X6zd)4?v>nvpqdef0p6NJ@9ID3h3|v zFO<}$76?cMkKBtB32yL1O`!HC$?6yg(uxBY16PiLw1un*K=~w)@VYZ$U&7?b1-zMX z=s+BR$3(KyhUF`OLwF@{82XumHpwd}ppN-8t2zc01wh*gm|p;59!yn#m1881z>l-v z!NyF^rz;MSeYF63e**2KYx>ShWcsE=iGv#ne$_y$*&YD5p?!1%1z?OJf;p>{Pe==M zM-o>HFHj*MJ7{EHMZog8+dKd{0`%~cF#gpe0MDJX)@B5N z-tflaUCx^TXmF0!zHFS`S=eGt?NXOR=Y@COQH> zFlAfoQ*`+cQyBuOvK*@v{|M*>?g>cY@{Xw%TLSmw1Rr++V5uc95!hkFYTDYCDom*e z;FWX4^#0xhiU7*!H~=5;^0~whz1uUHV9*x5!nEP$ZX zv{HTVN5>RBx~e!x%!BNs6Jbj1P=SkS(}Aq$6y3NO0+;uD54^yZ!Md+u(t#mB9)Mi{ zR-vspsJ4DXfRb#C!1(WfgNd~V3V`!Tdq%)tHZwGOcY6<{)h%U-`fKvK4}i@IF=o#` zvHKsO}U{^kWl%rM2BDkXdL<6u>muqkkAFeAYQuMNa3k!0+{uk(=s`|A2Fh;m69PZKd3O{<(+ut?`|j5-pC18}(5(+yo1Opm z*v9Pj+xCxvOENw3awfmXx1ZU!mt_A5DV{p{A2j23v$qzMjQ{`u07*qoM6N<$fnZzCFjdgbm|jPTf+>Qc`Y>JiL>>f1-l!?N+~%*=;WXL}`<^UkFj-LXapgUWv_(+< lh0;&-306%NRH93Ld;zjPN}W%=BVGUi002ovPDHLkV1f~n)1v?Y delta 481 zcmV<70UrL41hxc_Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUc33a4&- z0004*Nkl8nu5C?F*!M%+$W^w0E?C8OOkI16ic$>Lq%NBI%vl&QWZ7R_k z$9U=GNXm}v1StBUMbMwRJ4*a@-Je~0^$hg8K+=3Q&4bh_#D5O(R00tQIDyA>3WU0x zU~>v`w3jpK=1Z$dS!^kXm>sq0tQJUMb+HBmXB!CYS!)j&wrqh6%-jOr#z!iF=h6c_ z4;BD^yd=+NAAl;vXvr9IDUOl-q*k{5Iy6aHSVoOLR{$5d$#RE|J_>P3(CQ* zhKLDJON&4R&VQ{~NyGx1B?O<`7QUkMj2WIkNK?CC*odr!` z;!IEh(>P3m-oQ+PW?+h-8JJ1X3``L;2U7*<1sD@#U|RT28<;9+=>r!Z2Brx*I5*lT zH853BG9PY;zfdMYNuJG=-|ov-+i>fKgyGc-u{?^AU XvOY?klvzas00000NkvXXu0mjf_aEC+ diff --git a/graphics/pokemon/charjabug/back.png b/graphics/pokemon/charjabug/back.png index e0e1eb74d13c4f991e06eecfe9343f6d3758b34a..010d6496af178ff302581d11e540f42839d07167 100644 GIT binary patch delta 397 zcmV;80doHA1NQ@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Z>UqK~zY` z?UFH$!Y~j;la=V#cDs!yN|z?~-T)4Of~fYKThXjmq6;Nmau;UC!(uyz3v9k9kp5%l ze>2spRj;H(Pi-$M6Mr`9z2rNdt{Lb{^MmD-DFQZ{@3+exbrbo!Wr#Nu`JY>}0CeJe zlZUY0J{sTx$bh<0jWkey9H38uEIh z1#sM_2L#4*K42&7y|)1N` zPd+I8Oh5EUF<=5fHil@g6k&*g0|OdeO~AMS_^O=70G0rL%Vb4pOFqu08Hn@E)ER&Q ztpLCiHZg!H;WcpJ0+>*DzXGHo2L8E5>N4Gdqy`tDSA@$v$lsavyst;#Di@R1U|_^= r-F%jFNK!J;%^0wo_SLHYrK-9CGfj*9qskhG00000NkvXXu0mjf0G6(= delta 388 zcmV-~0ek-U1MCBkB#}W-e*gz`Nliru=LQD>E+=};n)3hv0Z&OpK~zY`?UXTY!!Qg* z;{x6*Y3(8!-n>}q4Uz){4l?zeow5`KvN>Zm`z|3VrjcYN7pRF01^&zD{|eE~W}S6j zjFNdOdzmuvC*!=AbjR+RfxhG)B&SRfu#vytE_YN-r0RM2 zXn+eK1FA+f(m-*5J_WJ>0r2~$0m!L|fy!qMaZC)DMDGP~s$_r*0ss!$f&m3^+@}Ww z#&d44ll9(P0Q+(JW&@{=IFDN(0IUZ1I*q8;b^soGl(zVa4uF7}ic}CyI2F=C;b;1x zM~VRx0Fp68d!-0NdJG&G(5Pwx#s$Dvb^CjTjxVWUxetMSK~3 zK@sm@!c8#j;GJ$n006|xz+mYBQVCvPHU{v3v33|5KEodRlYazrZ3xtSS9Lp(g$25G z=J5^UZBDuB<_AKeAfRynXXCeH{qE9BL@!4~NhU0)A?(r}38M5I2%;TOfmT7z05&24 zP=#^<)^>QnSgMc*`o!8i6P9~ol04&nv^|0Bx!?7<-pRrOH8-!M1wLHqQGc#aKajZz e0}A%v<_GIpf)S7}ORXRP0000O{0WL9)884y$ z008<)L_t(I%jJ?Wj)O1|MSTMcg|tX}ffPQ&P|$#oGBualDn+PCkvkEnws0(EQ-lKV zK#`fD+IF?>{Pe#y^ZkwaYsbb7cw!9l9(%+_5Q~`Xv0*SLh<|l@3|dg9fnQt&;~RYE zD-i$y@i;P=dw^Vm$HAun3OMh_vE?!RZupR3Iy(Yqp6hhok%a}ei|*?a#BR~V(^UsT zqD?^2{OhCJv3z%<60!3hF{(n<)DU*ro&-r=Z3Iar3bY7H2CxzdfGSi9u(U$~=cz&p z44L<3AuPAdWjSTR{pbb)#r-|k>vAIt3(V9$vJNV-Yp}1&T?aC?+knFF!~Fs4S%Q$I SIs}ja000005AW`0;mFzV1KhoL_t(IjpdS|62dSHhWiBMZLl*O76lg7%q^~wdlX&`g@oSj zNF7}Ztj%UoKtwP7nxskYH|8e{lpFIYzTAV$zR&~$Gc7@%;?TWwfVoXRw1)y*!wJ|4 z1a_w!eWzL?qF3KS%ZTYUls+P609=5HTS70rYJD$`kTeK{mr0so#2y82YVe`kAgX{g z{zF&DwpurHV6JEL?^bvA5)723eY0T1E(9}lySZSV`p|;;Odlg6rG(ZoE~>f!0000< KMNUMnLSTZzv0Q8b delta 243 zcmVO{0WSr%w(3>@ z006E@L_t(I%jJ@x62dSHhWiBMZLl*O76lg7)Ge-&dlX&`g@oSjNF80vu`X1jMno_9 znxtv&H)a(E%1z~zP~+%}FEoS5Of4949{NuWFuUx7J5}I2&TPQWAhN%d>?bWP5(f1w zI7ZC3vCfgO0N@Ht+7kvD)aXa?grq?vye$<*>{;-kK0fw4#Gp5kUb;iE&9-aSb-$W_ tx6lX%Xbpl9+X!at58r}$>m&S39}^;_gw~pz(7*ry002ovPDHLkV1gnHW(5EM diff --git a/graphics/pokemon/charmeleon/icon.png b/graphics/pokemon/charmeleon/icon.png index 79bfdebac932067a6f76efdbaa1c74ce6c016d2f..6ae1cba07cb91f14f0529d806b31c42f0ea5c20a 100644 GIT binary patch delta 312 zcmV-80muHc1C9fbUw;7^NklrH$$r=+dd>V(6KlXcJGVKUc0f163#20G(m}SZhn=rmG>L+1RW)ntisD-(P!k|@{!2}bp-Go{Fh+q}w zKmy_zEy9Q&b1~B414;ZiWgX`3Au|9bWVr*2bkrpG*w7GI*51am3t_W4b>(!W>ML<~@ysU&q)T^86?$ zQx2Y!r3cg?e_1jXuSk0Gy6lcnupC+9gjmneBGn_ceb)^6{bc^hf;JHTF#v|40Rt~s zgMrsV&?lHVm{uB0EJS?=CRAWlLk;Gf3PB5)!6io}n8im97BG9#ARl8DjQW^X4sS^6 vJ1=A%$T}r1)-8>aCp_BnJp?E-I>fpbDcTOuL=gyuG40&7h z{rJ6iz9io-A&dHN%P0ewRnov~lmT`bz>8-v&h0`10bV$SIe$nLv@p0pprHr0Gr-Y2 zO{vA4rKS!rmOXAWrylqkfO*~yXI1E$ObHl#)5GyCu!ye#vT6aPzVa084(P2wF;E8( z>K!?E4>@o5fhu*f`kKQEx7*>i`b8UWPFQz^QtZ&x0K-AhqSa6f42R7JM-u32MhxE# zC{FmZLN!P14S$-HiZHxC1kJxrvw18~ufw`*VNlk{0q)BXtA9kJ5q@GjP7bI*4+(&7 z6kSSS?#e5G@3>b05Do!!>%p@qiY3`2cfE=Xh2I`s#q{7DsG(8g| z-Sb;F^z&q*|7jcFrnTMc$yf`RH9>bRp$BAD8-{MfMJ;Mk|F}w1%yMapDFzHy0cjp05l!Yr`2}*Fg>J zN#GGq0DpL_1cVrJj*Np5MxCP!!QJCS1h$E zOE%Hk2h#n4&h)%@*8>a(7$08E%%A4Xe+jb>>T<$JKEIiF-bxQbA==nr{XNOK!5YTL|x3MF*o=G9jTvQepCiZv#~Fd za|y&3e!l;#I!W>+iw9R4^EZO{0WTUmzUQL=00QPoL_t(o!|j&8Z__{&$L-XA zfbW{pABvECwZ+8H8V^Vv5_5?PG?mi$u~#(y16b%9#NdCy?NXsGrBkJDo(h>zU_eYL z8IYJd_;28yErjIWoku{*t?%P|_Os95k6|pz^Mb6z6WK@v1g=U4=9d`)fas2xsNOhc6=ZIrHfOWfgv$Q%b??sGj zbV$-OF_mq%0yJQV1i&CouZpo%J2U`iJk$UNg9rve^fXN~+a!$Lc_9th^P+E9Kg~AY zF_+(cquiSGzo)oCmR-xgYimBAU5I)XDn9G}e0D49*MD4bFs%8P{IVca$A;(m4=rHq z=lKTKRY$MECi^5m=Vz+xAATkur&IOOHowkVJ2%sb60lmF?AUyw{R1`IW_ytpi?vw) zsl_bUT8thrX$?R(w{5i@lnLz^s&IGgBEcPbYleE@U`{B2)#FkR+;%9H9L&`>MYwZ6 zluFK8Qhx$Y0CHeg01vPOz#}QZdBPYnE-H-NqfE}cqXPuCj8OU%WQ}@H5Ey|if6U!6 zSxe9_&<@JXt^SfNjP|iee;{SOn%zN!a)A2qvJ8Jx4gV!{AFPWGB5%yiYVtOQ5Odzc z4c1Re>#E*D?*N1zz&o2a!UCM0_vwi-l(1UANmF+W9=z${q8?1jr3O&fq6~R2|+|QpY(;tI* zI?3~&NXXM2gSj*1Jiq17RCZyQd$!Rcx^u}5(wb_Iu8IDjO@H(Uy&j-H)aXHTVGn?*v$e?UhyCi(}sU{_;eyEZ1sKj*t1 zZAv*X#?{xffxZv#ed!PFzkXkPKlIzZzXHqYHV<&DW?2*VA8F}DPaqA!3fdAbUUH^@@ZRiH1wCU*f0UIvSaOF&DXdTZgA z8OXL*3gJoMaB=N?O25aCOFP6_CmflC3`Rl)F~40M;S11@l95Y)!^osA0(x_&tyLcY z0vaXmAW#E{P`DBBD5h62eX9I=Is#k(>_beBdZ*88pyO;L2;c}GE)&;mZsZ6E@RV z0n#%><9S{O{;Re$?Hjicul(#m Rc3c1e002ovPDHLkV1mro> delta 520 zcmV+j0{8v+1n&fpB#}W-e*gz`Nliru=LQD>FChK0J`n%_0n$lCK~zY`?b9(&gFqAj z;MNicU3z#ij&hvt1>3nGZ8UBTu&eNf{sA4;nCK61!LG){x;7@rpYvUhHl-XGikl`H0tuE#hBHuf63bnqg}HCk!MEr z0IVMDSrV{*RR@{YtA=Ri9bCpMMvxu2Ry9OE0&VCxM3WFw0*eV<*4A`9BT9h%n+A2~ z=R^SvT%tw@!w!TorvUUkFMterxeD?h$WqW%pe_Fyy(4Yzi zTM&$fFpsMNPVw+qdUGL$9N?_<{;|BfFgKn~zl8C;v(h4tegg}}8OA%-h=Y?7u<^z$ z%LPE-t6F?YAwao8L-W3K;JpJ^?ZVw8O%lvclh26ozjliw&vJyg*Fy0_6n|Iv0?|gzP;7 zqC5Z+bVtE?f|lKrTHpB>3^;~z<;4T85nT`?bE0EY$6gG z4M_X_IjSdG1ObKG=<~VIr8XscSTDnn^_gHW4IkF1&=4KLAlDgK^+_-Q@EQ7724;eR zs!=b@4bVdZc!;8;GZer*w^&Jsz!0pD@n<2P(g62fJb=MU90I`Di{oet2YJdd#oyC7 zCXyeNQdzRuq<_2E10p>rrS_Z61{P@JMUq}mjzARulz`L#I|E2F)YB)-V1U?@ffNRI zfU6RCh8~NjPVI=H=JA`$^2J-T)SpGtIPZlR{@22`di)x9FzGk@jxm}>Znf}q?$IncDl;0Rsn zQva*o95Gth?;Q)E+eiquh|%Q)VFfs(*m`u`3P2-4Xd8fx;Wupn?vPH`3h*439F)&d z_4en0b62K2=6<1mX&)!RS|xeALxtv>5F{GZCe!u$%YZ|UU{IT|e8?zE!Jr61d5Dpg zJEF(>kbi=ZL8KWl;DGhz01-rLf_3qOKkY@m#bP0h$x9DMSnfE4NcZ_3@c>C_h?Ej% z!pf;9NC)2-fJG*3PLnS-wB!JQ6ms4o2hw2`V5$Uo;s}!inFJ(hVUR}RUfie0l7Z|5 zJcr|6q#1t)wxzrK*g;zVbxKYK=VcZzFWFJgbI>3EthgThFt5HYzijhl eaLEV%RKEay{sWu;dQ$}e0000O{0WUD%1uk^}00OQ_L_t(o!|j*9j@m#Fhlzyf zkOH|EICH!}cmWH|0W8)3Yz(t*|oeopKG;C{CTumj=bktiFY32y#;7@0NhxB4}ZOnp4auw9Xbx6?)8w5 zLJNQh0n}+K0~2nbLi!XhZbd?&0jY2pBL-rLD56A_`8XE3H0DGP>s69)ejyZ?Cl6~x zQWC;u8&#fx`ytgt;4|`H8CXb9t3iXLDu5pHPVkgHSdAjuE!4 z+aU7$p5tuxyAHs4`YWJ5HLkO~Uufu?0gP3Wr#rI9g{1_E1sb>W_4><*C1)XJIel=H zl|_OoiGPuXJJe%+upl^yFFs}(aeg&|f=Ep;E`IR8gLJT5E*J99!xmOMmJsPa-$M^z zN@G}xE>g)aU2 zA^_||zn&TXH>oy%WCZ*)ec`3WH_A2q0gfTQbMT8BKA6hv2d(nxtCqtIE`IP=@dkbV V1Dl~SIFJAU002ovPDHLkV1jLaO&tIL diff --git a/graphics/pokemon/cherrim/normal/back.png b/graphics/pokemon/cherrim/normal/back.png index 31cc9ae2cf21327846eaf17db6f5e1ffdf6d1aec..5819f4dd94b88b9a0e65926053318e0b0c275951 100644 GIT binary patch delta 495 zcmVYlL8xv1ACx{yp z#{c4d4@&EMuV~_CJVS@xujib5tNm5!x_-5D?w%SaJBU5^+As{e7^u6hV;Gfcp+VV2 zITgJK*mt>{vmFUs=SRhVfXPw{OVr&KcX5h=D(_JMl>D0A;G5XT9mU+gC8HMU++jwG z^yJSwAsO^qgpg6$z8p&#C6ACn5ST+G%-WzK8F=I|;0pWrXiM{hVL!-Z$^|ciyvDMF z$+QK+@r^_r0z{bw@g?9LAag*A2hrdeCaFUk$)P6#Gl72vM^J#bYO9W4e}>p3jN3Um#0H}g1BEU|*d)?o1_WbES-08eQHpfe>9r3ne8 zA~5H`CLxXsfK)Ro1CR$)4)ALSD-Yln;+mSp4wZ?%h=9pXooO)@=Bz{>h+ieZ`T~IX zvsj6bJWy2t(RV;fehoPRfn1414P+%^8Ne-aCE}?Ju=m@HM7p%b?K2CyR8&AUx2IP8 lET%~slF+91ub)fPJ^=v(h@tKlF2(==002ovPDHLkV1gOi+8_V` delta 486 zcmVFE@T+yVd{z0kBC#K~zY`?UX-H!cY{& zYeHl)u>l-no6IobDkG>>EW&X!a5V68X?(#;uc!&{pe4!xe{#za zM*u-?L0k^_0LUHCf8vofc!62!&_QzKus{UC25>d>a{Muy5TS#E^PUbUY|H`+SOf0r zJ^+;}=%^=vzL~>{tq^a3-gX`af+g0_$_$q8OhyHl0C-LtKpY8yAWfLYF$*jxuuTZV z5+GF+^8ge9kpukNK`#Qh1-quCCx^-vzp{XqoI2NX&V3kmT!HY71N0pL0`8sE;j;*+ z0wDMfD6YXLAW$eV6$5#RkOy#!LWyuL3GPtHm~xkvsC{k`uLKoP?d;Tohm~liXOFWj c{p%?*iGl`UdUGbxCrZaa;Co z76VfY2V9?@Uj0PufBdzOj2-s!+%n$m0&q}SfKR%T09$4NaZZE+3s7d933rY{3LpoZ z4#K%Zv=BnB0ZYJn2G%ZrPfj}L%HVMe2ytPo+6BnPKG12o1ynKLU4A9NtbkzAwQch= z0qZ`9AOM|x_I?9sDNpfz9Q_*sQpztgPtpPS7`&BF&PkaA>TyK8%2f1%5EFopd>YOY z@IK^W$``9Md_Q=kdABit{!$0POF!c9J1DI!Fy=M9ypJFF7J!z2nnqi(sI*7j2Vh8U zyKXTOUKpdXMyl}!kC+?EW!r%@->61>edK2Wu3T*Na{%<5pO-)6UHqa)9JEm>U+B94 zeV+g@{a}t*1QBcI5_sH|2po+8d&H|D%k0kz?uX(vJ}GXC9;N>R37||rRLcUmyF#pB zk|;9*#c=`}s$~Ixi1<3>uThI^E-f&j6%?kP+g#&n?G3##58#%&K$xiSfHW){rk;SN zWE;dZhRsWkt7;dZ>q+kc;reR!07(;Vq6wY9il4$xRDn5V0q!~~qJhFTt;_*})|w7b q)OEPzO|V|U4;w1o0{+!t>=RlS0xCy+zZ(Dm002ovPDHK)LSTZeh4Tae delta 542 zcmV+(0^$9T1%w5VB#}W-e*gz`Nliru=LQD>FbeBa`B?w}0q03XK~zY`?Ulib+b|G@ zCGZ18U@fel#sWD|_ayKbwzoj62k52GQP@4mw?HnQzQOwCI+ARsj%D9^DV;+C`M-?k zpP5V;`yYQR1Y@Toog2oRLjX=P3GgYeAi$IfAiG3Df&nNKm1Xu4e-cT66mULe)}BHM zKExI<1Y8ziTjkjbYi;Rk+yi`E8LJKfs^S>vl-L8Rpm*0F5zyN{c%W^Y?-AJcA@d2K zGq29=04?bhU&qmX5Fmtjnt4p^fzQDi@nWqIDWD!l#G8nwS41`e_|W5U)_`+fhe^*j z&v5-I_@Jexi`n|>|P{cR#f3gDRst_xfQk01Vc`*SE zd07EjHS4#Ki^{w|4N^(Sb-lE?#?9Jm`b0l~d+LC&teyd()7MGY6VQ}9_e)P>*gbMw zR)+wcCv^n)^VJ*yf+pI8B2@YmzxbV~JabM0+;(K5f!s8$NcM@=njRpj>u}w%(M$Md gywmGH_aFBg6j~PoD!G9AyZ`_I07*qoM6N<$f^awhuK)l5 diff --git a/graphics/pokemon/cherubi/back.png b/graphics/pokemon/cherubi/back.png index 6ce42e42bb8b466ea63c68d27b5456c819353938..4e6ab6858173205d48c787d45b9fa3b14116d9e5 100644 GIT binary patch delta 428 zcmV;d0aN~u1eFAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d7e|K~zY` z?a{$%!axuP-~k~Do|cHuVc6n5xb!(9fz`J6Zp6Ep;=N|ka}VvsQw{AC_*R|WhDc;o zC_Q-azs|=$*$Lcot&#G=T&c4nR7%C+>3OTCoEXp|zUNN)gegHe;2Opr-20*tCxXb$ z;@G5)qCoaRfSOiyc5z z0}(f`rDv~pwG}E(s~tl08wJ*`9tyglmZ_$plt-Xl%E z!GYgIjZ0;gf|x*1gH{8S=;jW{1i0+bB~RR`wj2mNSOCn;{FCc{2r>trVV4`UADo!b ze3`V-Wb`#}T*VZZ8Zs(CyV-M}(bXEdnA574&3+AhjN3pJw%GEZMB`s$?VO!=u>xop z7Xaq$j>!Qad+_N$0Au_+{|vsc&XNVe0i3u)S%YsDz!RQ*1nnqMKfa&baLZK(;0L12 Wy1L06!qxx)002n`MNUMnLSTX&aLZ)? delta 424 zcmV;Z0ayN&1djxeB#}W-e*gz`Nliru=LQD>FdKp6*{c8m0dh%1K~zY`?UKQ2!ax*7 z2ZSiN8X|s&VT${~q2Cb+jJDl(65N|t+}8}c?xNkes-gV?|Eh1MX-ecpp>*NGyS;~d z^X`PPt1eVRobi=9NrXx%8MgbKfpWwMi|CviAC^}wwUf0|H45IIju&rPV3 zDMx}2e1xJSI7)KIDNaR)hHR*USOmiW*C$ z76lNqpawb(pakbTe?Y|KKzne?V>i`~0s;>#8C#geJCzZn4tQky+<<+fh#C5;xClSg1j9tryXwYA}@3)dH-%(}Xs SG&{Wj0000ULZzTgTcwB)eX+=8ppc9HQPY}7}^Je4uN3pa!s%+ z5p|ZpVNGR5`U}I8d`_SfdDzn-gPsyV%;25?am1VKWH1U7u?R2;BkI3rVbqp)VPfqEeAbT_n-qkb Tw~mf=00000NkvXXu0mjf1f*kd delta 254 zcmVO{0Wcv)?*JJ9 z006m3L_t(I%k7e{4gxU@hxZ13DKw`Ji<{(RaR|iKT=sexf&|%wvEj;cmu%gzB!q;z zed&JPpU;?IFAyWFL9ntJbc40K-m-46{Wd57VR$g;5b#}Bk9YCiN<^*2vtLu$Bh!W9 zNiHYQi5%?dkikR=AZBn+fH-2#5IWMxP^QGQ8?ibTs{PC58<0}2+`N#Oe|<+7ZiKlx zQwbwf44Q?BNq|b2h(&-|7*YSd2&1OF3lm#E;In?b0Gkwqo4YZ|od5s;07*qoM6N<$ Eg5+sz8vpXTR^gnVp%h5&HK=?nTzGWd9X6v*N7?z|s;qR)3BHDT!P$3ZQCAqR3h( z2KW*=Lc+=jiwU3_6B4AzG)95~;sQ_vYrcS|SU^AlaRC7^!ZZy&R3ISUP5>HfF?!Vd z0V1p^q~aMw5mmxkN8KwSkrn`;(-e>OdqP5GtdpFVS`{8+ZONBtGc5(+iVt-9KA>sI z46t14H_&6}#(&RIN(mrRs!dew`}41Spjk)(a_Pfl@^W@30dO|BN;ZiQoqm}7{PNzQ zJ$Bab_L4x3oZLN59xcN#s;u7|^e>VnGJ5iB55gv`ob_Jwn;wM`?WERxYyEitaBsX~ zN3Vxex~^&QR7!-Q3-yRMmh&3`Xe>vqcws?Yxqr}(hxT%*)Z%f3?XQQXDa%s7 za7i5sKs=7{^`&wuoA1{*-JfK|p-Lj2U-OaTc;3d521D6&RRhYwf7 z&b`Zr<-E5Cba(WbT2vZ2D?WtsPTp~@yLu4yKIJzn?~j>fBFf=++JX9KF6W~VaCMhI z8ODQEMt`!zb=iaoY6uB#2T3+7?!7gPDO80`E?ZXZys)IkW|zd{o?*=HO!)dRr7%~O zQir0GciSX+7vjdu64Oo}Aa0rBb(Ci!$&=p!#P6m-+cFSSs*y6nGe5~EDB<&)6T>ot zf~ov4H8p?R%Z5k-0G-vxmKCfkZp#lQJy*r1!he?WPUOH78Gulr!l+!+&SCq&1Jp7V zt|PpV8}m>g2fMdJX^D{{4W5KP>$h_K_i$lgPF#kANYtx~;=7vuUI)f;mh0#ztM6ob_wD-__ddbvJE zw0}`XJAjdL(2U;(0F609d!WX`_Z-eM765n*g1grS-t%Bf6E!$qpx1Hq#ls{7@NUcC zatzQ&Apyk4?sp)`mjRNkP$4^oOaL>D?1A(V^=!FhS}6d|2}vJOi`(0e?ehRAWt_9m zCX30(cCc<(T`rf&GYX3nCtO$j?d@bS&wprRH|S)s$Y>)-M z#$TZ7KlT?Xi<0ygm<1AB2a@&|s*uQ$Vq4Aj7h?0j$oaQ-w!aX2zA573US^s80&=jn zrm{o+0*a`%Xm_9<@)uZbK?)$)A%CIy4&+!Ekam{8KvY;5*1109FAxn})^ShdXnz(` z3eP;a0hw65CIGZS4qH+!}x4oU$H^A+e-lXFwXTqf4e&C4hH>K z``s>vy9M~uTh3rICg9yFz36Ok~mjJNgyxr(>-9r zjKwpcyuH#Dze~mDw&ElO!lhEcVnG9ZloAMm5fv(~0PHldohSet+pdafihoR19%gd2 zn<&SwkQPOB9g%ST_C#EP3?5wm9`!nLVCXO8shC8#{J~(vww9=Jz2T#^0|HNL`1hhx zimjIaMy)B`h$d|+3`W9_D%&PTVh$?l(*rxZxV<+RF$pJpZ^a~T4Mt2ttbiCIcjo0D z5`Jyjw}0g7Jzy|)_ThlR*f86NZ2u6k583`9VjnX7L)1QG`iH1}_z(JrzX0WGs|m1y Re#qt0E delta 1493 zcmV;`1uFW445AE>Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUi9*^8CB z000GrNkl5NYWcMgGvh2-008LZmsI(7AQRIsI0HKniDAJ}70|XQ~LZZkBjS&b{ z$|*>Z8kB?q#0fA6+IWFq(GY>T{Tkx7{4F=`10O@4n6C(J4rx}oZLN* z9v#cFDzw|_buW@3QaJgggJv7bXPwvVrUSV4GpRP-IDg;YKipfd=+Wyw$k$aPo~meo zGJbR%xX_PSeLlTG0K|M$ix&>s)eGae@6P9HHEtI~_shO*D~jALT!IG(fJBtnm+Glv zzgyn4e^68p)Pz01WCPXn{k13e`iku>V)p#U{OZXAd*FE<>o5A+{fhOayuSmOtHCF5 zKpuDt)_=$FPTn$RuFTNtf6T8J{_hjV7J%V<&@leVim^ciSeYyKWLXc6Bq%a76&njw z=M>Bhovatke`8r=j7qeb;yBgw!W^vi)``!2%bMKT`1mjetW~+BfpGG6<0QXAyESom z+2H~0j?IswGT~01f(+1pHxAQQ5HSXWNP;*CoPT`85I+5MVmWqnXq1PsZ3Nd|vA7ci zz@#>GoN!;omhxc3xy~<@=vZ&L4{@X*AR;JJP^!i`ULX7b99w0kAkLKfG$P31?bQHE zloTQS67#IxDz)EW(^4qWM5EfEjZ>)4U^IN^3$-ECVB3@UjV){Vd+OJQ;_cLygxYkz z*?-tvBe=056dR;js!8H(Sepv9`c&L@DH1dlQ7_U$0Y9rrwV?oYY1hUmk-}txG!Rgq z3c?OhrO`RZenvxpI7GtT%`l>#K=iP^V6Ma1u_X~e++G<`inlRRNB|NCfAb!Z2 zk$0SEU&XI)N3-eYW+aSeGwHKa6zWsq|MmA5Iq;mNFNDfp=nJ9pkM%`Lq9pZ&NJEN^ z0!ix&om1pUv88A03x4@u}_>dPrXwfdV<^0;H9tF9hHchHBS`^o0PS$~x|FAB{qa;kl1%-7@4r!=%b2Jjd~Y zGsyp$a6qqjl>`KKT%YXgE81(fI|)EOvNQ9KU$4&EyEejn6AiqMpltI9l*Sze{=YLao-~N2T4LJFOD86~E0s{8zfd?=8W9+D}diANh zp9Y`8fh|b(*kzs@Q%D@J2mk{fj4QK&7Xx4j=B5lB03490lD7|#F<>bHSo^pSYi6!x zbL}ot0DtB40L{h9lvk#=@H{tum>AnuN@h$QBmsGuo$dfGRxIv8$h!+u4S%v!UFND@ zk|5eD6(trXzy>LT2rvN7vf=&GoFk)AWN4Z?H!O}y5rzQS-Q7*-HD>zY0fHhCj1uifWdQ{yc zG2k^Qr@M#fZSC$(V8kfA=uX`7B5njmjDqg~UvOx+M+i7P{r5)i0fDiV4+jLsPCjJo vhdud_tsnN}L#BS%mk*ixVP8J{2ld0BLF+00000NkvXXu0mjfrp(A# diff --git a/graphics/pokemon/chesnaught/back.png b/graphics/pokemon/chesnaught/back.png index 741fc66b7801ab946c140cc92123f74955ccffb3..13917931e8629b2c6eb91a00b70284b640c49f9a 100644 GIT binary patch delta 492 zcmVI`< zAb`&ROlc}ntYF%sRzMkl5tx!dfdMd60y>l+;8|kryaQ#N0hsCmCZ;^lA(Wtt09QT< z#Eczq$N@ly6af7?au@@ue0GTMjU$kI00Fl9Mm-&QR9in~bjSeoU|XmB(W>zd2=E-x zl~iF&O%5?*xG8XSoaU%KatUyt)WA0h zkP1XV_7Y4Ol@0BUNK(oiAPJlFZ0a0P#sgxw%A!)^F(T`+GaSc_bMzs)mEj`2jN!6Z z{ZTz2xIex5!zhs6Vy8w;Z`Xn!v1OLe)^Ts|=SKUWEHA06;1BSA+3)ZtwSpu*?wYWN zmuo9+*}bTko7&Mw1A){1)_zv;RcB+vHC;a1M;RYfJ{3i{?%PK(4S)<0+OPi2j!h6a ix9!ru!T1jYoAB#}W-e*gz`Nliru=LQD>Fe|4z=?4G+0jWtuK~zY`?UPGx!Y~kq z?T7>9bpQhH776SF)b@x2Ai=sqqRSqd17y{G>lw$1okz3js_HD*_{;wo4UGN$$+jy% zy#jEZuLv0T)BGR+2#95s8VUsTqJRR-C}2sVS^+i|sDyw84=yRAe*+dIoC5*H0>GuB z5-fvxk4ge%L|{$=1qMLR2`FEJfT_gBItRm+0WN!h*K;1|;7iaVz~&Qykg)@fDFEmY z1E5|<4r4&(Q-^SG1x!4E025A|0P-kzZt~!e0O-MYR=Q8i#yKERq<|`g^rI_s2pRpR zz|!Y5Cz%4ihL$o0e_$x#0WAhVSrRaPDeM`&yH^y50K6$10Y^#=#Wn(BfdGhJg4bFm zL+`qdQi>EH2@~~fsuYmg0rjv-R?6|{I_a_31&$r(=tFc*x~Su249m{?Pt}0n`}xg% zi~{i%J2h&0zp>(kEt7nv3h(A|X_O1f(~_$6{s8aS!yf-qRTCwC~s zfrH$9Wb0-E_G5&i5YM4Seg`Kg6dT1fC5MTz&WR-VYPw&w`RDJmKK=DGLjQ58KB&t+ zNKK`EQ9miwwkg&DIS-}^SO=Q&VjC@?~e4B zD>F{xf4Orp&RJo=a3foR~+c delta 517 zcmV+g0{Z>51lk0UUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUiJEngt( z0005KNkl1QC6u1qWI){n6Rat?;wY3ACqml{bj)O7fCR|VnT0B$2V`#78^;aw7|y-$gmP2 zHM`UpEA&(lE`P4i6_DHx5EQstZRpONBvq*9WHrf8egK@;ze3-x^MX0MZ6L7XK! z7a?@n0pn@|uh>UGvyp?AOFaz@B6fxR-&J;?PbfMezWFQaj$dOr}95e>#!FOY8M zp%lUI9vu0oVqE;3xsGNYvSlT|-?>O3dW?4-4=Oj#fqt%&ubvE-D?3gbe)!>IT(Zi7 z;YM}>$;mP@;NZ)mzy%3})nV@qK$4-Lp)hxSiwEdwBRLf}XHY+Oz5v0MyfVV*x;u1> zJ3p*2r~eC@qVvNEbM}Lu{CE+@_>sQ|WBf>73xm28-!kMc2Uifd;(fBs00000NkvXX Hu0mjfIQj1% diff --git a/graphics/pokemon/chespin/back.png b/graphics/pokemon/chespin/back.png index aa10f57c7e99ea920d6957cc35fd2218da57a848..1cf511302f1c0069211e976f7d6cf3b5498432c0 100644 GIT binary patch delta 458 zcmV;*0X6=^1fK+uUw;9rNklyO>ToQ5QS~j13>Hp5C^eO#}}|Y2dPkndX6rl z9J^zRiT_9%WmOA-@O*mj*@j{4iP1d*MEfGZ;rthX_jdpw53vJuE5Km~5Rz)TWw;CI zmIGRP?(BwuGe@+fVsExFO98qCzzyi&Jp~LR4!8j{V`ISS6@Li20(6p>N^$}EO&|rj z1&|vc05Aa>MB^{h1_3b1;WdK?wu~g8%r0z$B*i1Ai+3jO#Z43Avwjp$gE`2MJs{gL~RcAUSiQ$rOP=aUCW;(G0?0u%bb4i!mU zDkfw2X8MsNE;V4?OWSypLV{)kz!sBg&VM_80FwQ&EIt<807*qoM6N<$f|*&u A`~Uy| delta 494 zcmVZPlVh9+U7-o!}%`&?;Zd^9&NX|g8*>Y09r*k(|<7B1WdyLEj>57(ZZP{ zT2irhTbWiU1Aq~b@SXxABK8;oTCr=unHiAL)Fky%N(G>c0x2K^pd!!$U;+rl(O+Y; z2*8*ep6ERgYa{_O5FzanP zs7zF`0#3Dws_qiDhf;#0RZEjPUI7$p{YxA)y%ioDX=hm<6{UwsGof-oXn)tffN7dK zCaTj^U!4iS*QGjZ>B#*@J4~OqYZVx#lLtuRcI&DFSM+}!YLfWA)CA_^=mwJbt^so| kt?(w7(jfvYn6Q5pKa%~iEPZ-tAOHXW07*qoM6N<$f*}CSS^xk5 diff --git a/graphics/pokemon/chespin/icon.png b/graphics/pokemon/chespin/icon.png index adefc6f99431df06ba066d867c9e6523fcbd0827..6bacd750e57e9d0b30e0bc5beab1aa8bf6d62c58 100644 GIT binary patch delta 315 zcmV-B0mS~a1CaxeUw;7{Nkl|Fof8Ih1b0@AjJJy|BJC+|y?_ON1)W>O%fRg$*C1;^P zGuoiW5Zi5#Kx+YpD%)Yo;zw0PNLd6jV*4@E#(*D`+k?(=ldqOvgkl3f@D+e@+CSHA zv4TX*wim7^_B4f1+jg6;glf;+bZ##I_ZHUwUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUkv5}hFi z0003ONkl3&7BnxH{S;%@;_fKyjZnq!IzdJLZQh)3uFK#OJ2&kZ&YJZZTENcXtkZX@A!I-OL zPJoOtrGXkMvm=3u`OIe33PP9leXAitEs-yuFtd2RjjjUVBR39zswnb%z-AV=n+O2e zedj!-6L8$whtE4GVIIUY7yD*#2`82g-6Ti)aqcCcr2fs3y^yB`ZBVlh{l-h6wE$C< z)tGYhqbfoz1XnU*`ytcDfFG3Goz8KSZ;LhivtIhqj=$%}H)%wfs^UzOumAu607*qoM6N<$f?GY2q5uE@ diff --git a/graphics/pokemon/chewtle/back.png b/graphics/pokemon/chewtle/back.png index a3df512d04143245c78af43d72ef718fd1f53dfd..0b3c939606cf7af781954ccf17b783e89f7388ec 100644 GIT binary patch delta 422 zcmV;X0a^Zo1djxeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0cc4?K~zY` z?UFH0!!Q(vEp>?4h*Wh?P7uiuCWb~&T%bx>socD-NG%B+SXkf&l~sC^4ouu3gYSYJ zHK>lASENoz{8Fa>^ZWm2hy6_jr-0Sv*+4}50h|kjkkKVpzW^e-0>DWirZPeU09gUZ z5+(sMB4Y`_`Blu59={TQz!3#6rheiEQTtkXK6&sJNb#UN&xHplTOSKexFG=^NryN9 zN1I6c6O6=lcf=q?n@AI)g3)tARWLwFRR}{|ObB3>y^fFq=J7jVk@N$@IF4u_i^te` zbZd(tz?k1B{r6x1@n)B_Zqf%>CFTHk;;{o9mzV*JoYxFe`zE`81N1L#UG~E9?GeHq zU~MWY=2LmXX9Lo|kaBYXyneM)s+N5VFt%2;CR9WC7T9RBAwK*A0^{if{q2!^fEU%s z%-DW82}>5#Qnp0BcaA^twLU4E6zK!XoVW9p+NtfQ)3BJ{{t&eX_!nc}J8K9W!+`i? Q00000NkvXXu0mh|g3@NVqyPW_ delta 412 zcmV;N0b~A;1cL;SB#}W-e*gz`Nliru=LQD>F$H4x)rkNA0cJ@=K~zY`?UFHW!Y~wu zEipvhh=kaa6IgN!QwO4_UI2xzMInzh5;Q48moDuMkVUx(L#N&$gYQy1B^ANWOC_dC z{iRI*7yrMXA7g(~UKge*lmbfGlAWAR;nW z076`cg17iZ0s=7+>C8=x5w))s$I}N_fe{`R$8q8S^4iB#6LyG)C(2%E%+6BUe}I90&_IaR^;aXBS`dGsuT&}9F2LAEm6}i$;kv+9n-%fyKEN}cPSD>0g#&n2mCPBtPb*=?yi&@V zC=b@}k7A?$lvRp!0eLLy^Of4G-G|jMo!$Nrr33gEV_!RK5(pf?bZ}k(0000bP0l+XkKxO*FN delta 86 zcmV-c0IC1P0@nhNbs7hBNliru=LQD>F%SAnQ?+ z3K);5^6y&!WxlR(K4yYi{{|K{z=pB1855U<$%p*;Hm`sS1bm+Rp#lW0eAvCbLJfp_fIt5#0DDZz3Zw=epI}G2 zz@-J?3i1wrAnGA>pY9q=KoeM4pl1RGgeJ!hAnc|MfVXl!j{w+l3rGzR;Qw?!fnWWo z1>h!8`bK7X23tM@2;Cm2o{m-!8Sexy9Pam@i+JCTNzD zQ++#~xByivBHp_G93jmhydrfCToGAGX+LNk;@n?MiXBjR15nDKa7w5ulZLO}bKwM_ zW({Bint(m8Ld%1$M6<%G?e7+i3fG;0yg9?>9pFnJ6CwWrAO3L%u4S7n00000NkvXX Hu0mjf7AoR% delta 508 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 diff --git a/graphics/pokemon/chimchar/back.png b/graphics/pokemon/chimchar/back.png index fb7c9a77b073d69de11ebdc093fe3c0a16b19547..e206e918223d5c1d92b5588f98818395aec68140 100644 GIT binary patch delta 619 zcmV-x0+jv51=9tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0xU^HK~zY` z)s(So+dve?uNVos2wqg-xgptWgz4N^g^m*DtPCBTA##SU(kt$4Mf5-LVvhm2drSN; zBy*vYJ$kv!UhKY;14H#k(Eaqi?|pYC_HWgzcMZUs2B6hz5a=`k0W`GegY9bp z1E8lTI&kt)x84Fc@_em-096y9^$-xy)d4gG*j$rEt0P_Zx>^rJcq*a=@JKis0a@Os zp~?Ypnxx(Nkg7U3SLp?`(NzOkmJ)zjU0yB$gEYFnKm{NzoL}cR31a?hr~Wqp;vD62XN05Qfy0uvS? zURJiO<;aht5J#9y%oL;Ki3h6?cwguffU%j9Qt}KiT*nv{K#b^{g_%-9uvGwE-++RM zI5X%mz|w?R2{)jBYXuIcqW6Yu$IA|4CRRrO$=wX-WQL`JCAMNkZz;^f-J}DGF)uw> zVlTuYDscLT15Ay|7EA(`1Z;lf*{=82=Fda2<~y;GK-=e@=bgP+w;p5*Qgx6+)25gp3z+R)P6kYy?@0S#8mn+x>L9hPDErDfatDtpqL=z?6WU1XRDl*K<;s zttlP_V3EXhMkbF{5}SwJR8Dbxs*<1>*76^x0{-t}>@TLK=}GO*j=TT>002ovPDHLk FV1l4XAZq{s delta 607 zcmV-l0-*iV1;quBB#}W-e*gz`Nliru=LQD>F)O|y*hT;V0w_sDK~zY`-ITF!n?MxC zFS0=Df^;UxbE9OBg;3|jRO*Ojo#~Ll83Gx)!mFGag8Cn@*kdHzy;c1$By*)s_UPp@ zd$IctM3^Y?|Zz1kbkO<&KrQ^2B6hz5a>1mecI4se?U!7322n|)I^t_ zepIHQwC#FI0jws#Q^%y#X-Gj$rkF*mD_r&*waK>YI`Wh+gryJ=<$fB;98iWyI^By@ z*1@_>uW1KtIgn*30+7|s%SK?B2KUz>0fdFm_r*gDQ2ZRpfN%36hH>#DQ2-E*i@5^$ zg~0cj3>dxuf0Ejjf5n(EpFhOor>jIZ2bie=>fd3E_=(j4nlRyy1@JhG2+@N&muR8@ zc>Ilny3N?=&?SW#PWnse5j{(@^l&A?2T@-I5N652Rs%#33m_o@z|Gz#Ygyvuz=sgx zL{A}zUwJS}fe)oV0ubpbD#dRA&9=0#1R?-WFU?dEoGkj(fAKV05&(@ak;#aWnl&!QgAYz`Hoi-Pyzig@{!i48G-jH!5lkb_FxQ{?1_I77L1 zdvsQc%m^1C5wS3d7t(x^Y!VgOV)ApkDWanb;M|y_y>miQa6QvV4^zwX(kN<5c`kyTVO1Q5sbaLH<;G*@dV>I zyudgP{T=mSsG3b%7 delta 308 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 delta 627 zcmV-(0*w9R1=$6VB#}W-e*gz`Nliru=LQD>G7uyOVxa&40z64XK~zY`?bWSs+dvcm zaL>d^(4H;TCY9o|GzV-TJ}DipZkkdB&LCS!3Os5%k*;HF20B=ff(;F{VBtlj8<sN?Il?pu4mZB4#g7f)CIr9GcifG?EA_>!uS<~4 zxbM7r)aARySc4M(kYjgaF7GD4YFeHGE0#Q(rFZjb3mnr=Cg|nc6kedfJbQU%gQ*F+ zZxb^4V@;9YsR14+e-JDtzl;>C{KNg!1a-(J4+gjuK&5Cv6*BfPHbH)WH#Wh7F{VNH zO)lcS+^870+KU&Ab54v!h&YvVT!iA&0nWv>poEy<-46}IDxfmdfhxehVVeu!@d03< z7^3K2V*+-9pd-dqwE~jJ3o2G|${GNr2X)#25HqECn!iQAe*#`rR zQyz;H7Ql;RX+BE01;heFIyy5*-6{~~6ki(s0C;T>(h-W?4R(1848Dx;q57y_xp=!g z`Hen%@+C`m|Nm5-lpn}ObScWh{_SSXX~vtW5u{&b;l)|`^b_=7<1aJzr?2qEFrWYc N002ovPDHLkV1oHzB_jX; diff --git a/graphics/pokemon/chinchou/icon.png b/graphics/pokemon/chinchou/icon.png index 4daad97802a74e20dac2d8d01826c430e1e14ce8..ba57ada02e6dad6bf77cd843d39caae5bf1ebce8 100644 GIT binary patch delta 277 zcmV+w0qXvb1MC8jV1M^XL_t(IjpdRtvVt%WhW7@02RuS5E1Fo_n1a{5>u5!x%t&Jn zXJthOD4^jtD3B~Rwr}1RO!k{3>~21yzZDEXYS_qhF~Je^^s+)Ee) z04Yq9CQ=wiG74jL@B^bTm0k%0T}8ckVY=ZSwFA8`hm8=%+ggkFZ&WJZ-vbiCYV8N; b%Xk7Ps)qFF%nksF00000NkvXXu0mjfdQ^d# delta 312 zcmV-80muIA0*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0WucNWXF^M z008nyL_t(I%jJ?g5`r)gK=%f@10Erj6-}&ZOo5Hpk%~f@k;WX(%8DIG0S#+VAlVd- ztz(Kz_Dw#U-3RbnLl6;*(M=S^0Jwtwy%g()Qv~|DbT<&~n60#qkw+J5r zbZJ~Qgnu2AFyZfCK~Rs`9q&guFV^lG4&LQq0&$O_)QV%rAp3!N-WinCpFaYf@l$^`5BN91+h9_5zc}s;D=Wf0l*PRl>#_( zkYK>#y@E39gah&8v7h)7n7=g^rYQ$Z50F_P?_;inC;)C>rnZGUa}GHJw0^No6c0T3 ztxbNJ#UK3)5V=5F5a&YPXd~Pfg#4>Dz|UGLE2l0HXl{n>p-69k4agZ_ADT3cd5zW! z!38bY8vu*dnioORw{}R_>;*4yX8hnB|l|6D*# zJsj6N7EpCO@0xwTcSbcSN6_{St=w5o$`S0SLvGjupwhgC12}-LY>_#)eGX|ip8(o$ zze`pp!2i!xKX$P@WdR-z!z>#X$l;2bI>83tyTGbLaY5KwV2-7@6p6?V@jL%Pgm?w{ W#JN58DBi6A0000+1iu83B#}W-e*gz`Nliru=LQD>G9UupQVjqA0isDnK~zY`?bNYSgFp}f zP-re~08P)LScjXjkD`5?Txuk`gw9HmA28$xfc;zVB9Mt}#>U1Ox8mj=ce~3Dmh~UM z8ur+7jw{D@zJrUIEt6i$i+DT$t0QoSz;R-4+OIqr&+HQ+PXPW9 z2m^w|5?4x#VG5Rbe^mAgYiK!2q$@SJX%IF$7c=-FC5M0p;y} zUGAFQpjD%+2USzjdf3ZR)`Kn8$ThnIl<8_XfE}o_3b{s!PGgzX`wxKLxz8o?BjCU1 zy6LmnumJb_u9qbXM0Z3%^_hYA$^!Emt#cz|_7lv`{x1b0+r6eNMSTt$Hl+hhm|d})x7My%$s~cFoj}liOUXzK0PY<5JnXWNvvSR9O4da&7K3# zmf5rcJ6o1gOLn%j-pQgalkj7Evx3y-Fn{-SlD4+QA4?L0(0_V6wQ^&hx7M}ZimdPi z5?a>~o->hScIGPzKj)fQjnh#z#zQahB2+dgoKuB1eWVDO>cj31OkEb80j7+iS?WfZ zo0h_b184xoB&+WZFJK&nFJRa?+@8SrF~&k}aRGvA3ykmy;sF?+peHbRpTB^40J#vU ViwNYaO8@`>00>D%PDHLkV1fs3eW?Hd delta 310 zcmV-60m=U60*wQZV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0Wv1*z4tf( z008hwL_t(I%iWT(4uUWchWiHh5I%qj3{L1nG4miUWu_*w`xrW72dA1)8W{{E^(>&a z$Kc@Tb-F+8pZl*LWB*V{TfoW?q0KImT!>d^Dx`@dPwXi%#DCTvkp;GhwqfXPQ3x&2 z+rsW33RR`?+qQRt(Dt-^^>7ugO2D@z@Ih#TnHsToCm5?!CEpf-09SrHBM;C3j7>M6 z875#ng%dF79WVM3m@vj%$Q>?(AmxDJAwf6*6B0B6gTDjw1i28YizVHobN~PV07*qo IM6N<$f~&HE*Z=?k diff --git a/graphics/pokemon/cinccino/anim_front.png b/graphics/pokemon/cinccino/anim_front.png index b13d0c6264d623ea5c7844072bcf454673ec672f..013385d78d45d89ab34e28c5e8fd6d801f078f54 100644 GIT binary patch delta 1181 zcmV;O1Y-My3hW7xUw;I5Nkll*O6o6R}0tYWv|3OYQ1hosHqe3v8E!MGQ-T{=Fl<3dcN33%Zd9X~$AJunCxAb+I51Iw!80B$z{9XVsb zKEz?!131O;oc^hJ7qHbKN-^OCP!0D!z#9faRpU@$<@Ep=*T4zam$C;ue91Kkm=f?S z1E(esHbA)ftq*KAalB+8Re;w6E?xiuj~R%5-)xBL+^85X{-O)vi%4M=Uc4Rv{#JmT zq#;Ca27o7P2!H)wiqP|F;Ispb==3y#-z^mvfFVpfZgp?{b0Xv2DqaO%(I^mU#3d_t;rv7^d9{mVm z9OXU03U1P?w*sq9$=Yyz<(eU z#GM(R&*&`ag-Mtst8*+-b}y5b84(jH{VlZ=mNbb;rzHggMUZe@h+ROm&xGA;7;}fKMM8oj#RwmGn}Z zf^W$w#DD87m41$;YtIdU;zDG!6duGrmW5^01vLwj(-m=<6ZMRz=Xs7U5wjM!c2yY$ zmb797P&+v7lG^BUf?3Hx0%3*>SZz}{1Wc(U0g%N&tF2DX+cnSK`BqF2SKQJvsDZKt zoPt&^;hZk?O$g;lV&X${2n_HP24moaF50Da&^cmM|cz=J0&5HNpS`N10#7y%1JTnj|p z-~Jgm2*j`-XaYeT`+>3j$GSia`9Vh@hWx+*O&|vSKo^KXKhOn&{Q!Fck+lLb=m!pF zjXN zpQvtmhM3pQu-5>dWz}xp9uJGXZ&qZ_31(^4a6ySRaN7a}>p=x1&&qnW?V`C4M@kQF zsto(Q2KHss6i1aFRKJe=+8-=^3*WOIjCP*p58ZL(lOC-675l>;hZ^cL>A_Aae>mD> vIb;C-r9(Ua7yLoZYVoXuH delta 1205 zcmV;m1WNnt34{ueUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUoH3uqoD z000DMNklNmS(|_>vnd9~TXZO{x6SX}$ zKCI)eI}#?~N0)T`^bq&KAZ&n$0fiw?j`oX+Ty%mW#K75Wh<}ne?*LYKm)(3L;OUXBA;(Pz z$T7R2+;H;>BCNan9>`5OGY~~QqPSWWUF;k0fv`YvqF@a0DYk@~`v*Uu_V!FaNZrN{L}&W*_*dVTQ~NmHJ#+j=Zrcw! zfPY#-^Mi#c7-|X454r#^QD=xmFHrdbXAr{g04dadz`&Y-s0}RMWHpe~aq!x&zJN_9s2t>ahXaYeT`$1$*e@!6z{GcTe zeSYA8CJ?=TpbJE=ALs(Xet;c;kc~j}`hS6g@+c7O2R#CTM}g?|16?5I*atW-3j|%| zqb?9P!hHEiF&AilQ8zlyUS$gMkG&RHOM{Ch3Mn0~4CU~*N2)%btiR*Wyx zS`RA0VBnz*RC=KFp#t28mSWs1J*W+&0-khWs`Owa1nEOq2*JR;o`Lk>(j7_4?|<%) zets~54-LS2u#yr;FmAtAKTpn@`9D*y{aAI&IbvQn!(IdUDyw$$_joAw{#cPcFEGuj zh6_uqf%^t1SPv>7JumBO+r{xYoG3lGt5(?OHLx#_O>t7`LG|k>sQtmxNBExgV6gKw ze`s$f0qMaqSh7Ftv9FG`7XoB9?MOy9ym1lU+@QYRfGTY2j_=BJhS}=xS}EJ T-n4hH00000NkvXXu0mjfR`okj diff --git a/graphics/pokemon/cinccino/icon.png b/graphics/pokemon/cinccino/icon.png index 9d25dd28fcdc88d835938f18f011d40c28243762..a0409bff687bc9cf61345d597daaf58693bf2425 100644 GIT binary patch delta 329 zcmV-P0k;0X1D^wsUw;8ANklljTUPJKKU%k3Vr}F zk-*oM@K%YQi?0e`uogM;H(df@P!dydT@rzmMjQlMlW$O56n~<}MdsGPFh6x@m2Ut9 zQ72aLrFj=bPs2MosM7@FUucvDh6)@!mT}f#YU_+`-DF*8^C$Mvt?axuaNFrPukpU= ze^NJL(t05t^8?PL1DO-ph0*QaO_;|;7#J_YgyC5jAS%KrU4VIHVU*k>!8jkmz@+}e!v@BJJ^M&tfGAGFE~pi+!7NP9J; z1n8mgfIJuN%$`yEWg$WfU?iuq8lweKF_ll4^z0Sk^djehjel&TJP%_0ZUcQD2IU~O zT{K^m<*7|D*q$Krl)N1@M#hHx1I^Ai$VA({>*lbS@QAI0+Dy z$ehGgy~>^cyjLG{3d}~qJ3UcdszZnXX&9_%#2nyt&D=8HHvgdf4vq@PYEy7EYqy_@ zY6g8NTrgaUdSpyC2?t>oxdr-Y)bosh@TI6YMntLk{52z+f=-xcoZC(5D9*YGTIV2| zbSKFT*`?`}7^5LiH-n@{znM0>_5Dx6G@dYT3s0EJ6XxIj_yX2ZoY@01Pv-yt002ov JPDHLkV1ijfr&j;~ delta 380 zcmV-?0fYY51Lp&fbbkN`bV*G`2j>O{0Wv!OysLKr00Bx#L_t(I%f*thPQx$|hVure z)JoPUt%P7{m7Ll&Qy7t=CTpcCl`EEHV`O2W6Dln9@ep8%3C9(vQ%zyOXD_fIJbwD^ z^WA-(_sat=*h(jWQhJm@7PXKOpoZK5;*@Wv=8oJiW;`$eMt>p~%@_@cXSsO5G%`;F z`B}w$6Y1ir@)P_n1AP|w^&l}-6r0!eu}OH)9U-!e{2dg=+UjMbcQ>?Kb#lGBqY1?} zYoyJAj|sE74e!@zJ<0{Q62Kc?Sc!{vSy^-5%eRsOy^-)rZ#3uf5F$Wm50*5d5Ad>e zwyCA}*T=13sdeyWR0g(Y+wNUb&7d#14TcNej>#tBAk4fnKz$nZI3*x>nl%h#qEuNv z7i3e=3#x)KvndrPMVO*-4&q5TNw3H*b+5(*HJ#@mjkG0<-mPwb5@ziP^D=jYX&hnx a-H#8}QJmQkaf&AZ0000} diff --git a/graphics/pokemon/clamperl/anim_front.png b/graphics/pokemon/clamperl/anim_front.png index bf808af5079a563c8bac794c76b2f455275d1512..d857bf65d7740ca96551e2301795f8a8e9b957f2 100644 GIT binary patch delta 741 zcmV2Dk>0Uw;C_NklljA6vy2v1M9_MFD40dWYoEoBehhPRCSRG z8A96&>Ihc4B4LEuT`LG;hqqYZ19E0y?-P#p<2d{n5KXbJ>OG-^)?Pe zN{<-}sh9@1t}d}&b!ZgQa4-NY3jNG|Dr`HQ!zi3m8cHzA0$bHqhr)Ov>om&V$VYn! z?Op^5pq%$sOje4)gC6 z<;owliUNKCcF>=zC=NZo^as77cpxah{h_Z@6flr0f9Okn$Qp=qK6#V+!>~Eg8VK)x zPyJ!YW1WGNlOOy<`ol2b!p|CrMS=^SNImF+9bWjEEx;cfAtW$t#)+v z3?t+sNiucm4**aJKqG%$>kpCihatS-qdERSr9Yffd0pTS&?caZ{9!8Vxj*FoaFg>3 XO7+WQBgEVr00000NkvXXu0mjfnI&PZ delta 777 zcmV+k1NQv52HOUZUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUq!xuOz2 z0008MNklF>ljA6vy2v1M9_M2a|+3GU^=4BaH-0s=7#p4594>bp*>mv??A`}{MEJU26_ zcxQFpwjZpjuQ`s5>c*P245(n-K_xIzS^IZ{DlT*oy4^yeO(yH6U8?|KgdE(`0e78_ zDFAOD?ZBZ9sB{}P27p5cpwTK>>bUE>F5m-5v(-ZP)N$9J!M_N=w(Dw#1)$N|z$#!= z4i*U9?d_KopntftxP}X!0<2k!9po|x*MSChuLD~u07|^N251H_8Vyt6r3!S##gL3B zoty@jgD5~j65-eBnIMR-xk*913dk2{N-6ym$rdVL6#8-S^kWJHz6Q8;&VK)xPM=KZ zBx1A7n4$v9ROu68^kmgllgqU=UK-bZNf5)j$#;mk%B%o^Gw zoQp-s`+qlB^L|6ExE&H__lVrbW=->Q8c@WqD+poBLpEs74=@kK(Xin-CM-E&9@;g8 z>{@YI-6+^Lf=8&d{1gMbWE7yj;+$Jq%#$Zi?l3pkVg8?@T=|1mQG{OzI~XoilqNa8 z^as77xI$3=`omDCD8fLl{9!2dA!{Jb^Vz%9AAiQ}nbts9|7YqCV;1WSq@4U>C(<9r z0potwKr9?wute%XU)X`4nL_wOlXD4-+i}AE9%TJN2*g|%M#y-Q^mP6p03rd=$luiZ zLnQrSEWYs35`Q4lA5Mw&SriGKv9l3>uDq^RXI>MNp@cMJNJ*MG%mK9xN1?J%SjpMeO%0Dy&QvK@Fr? zf67>a$#q;#K$kRQS9R$2Lx3qUxdF;Tx2uM<0@XlbZa|(Ks2y~l+m{m*&?zCU2GEXm z4phK~m{tR5W3eUy69Y+sZZqJGRbXH-3g8*dfNxf;2krpt;0EMztH?u|_dxB?mJMKM z6rcycC|BZ}bal@Mz#?D^72py04*Df5YXobvIH0`+SRMc536Z@0pR9KG}di%uK)l507*qoM6N<$f;cIz Ar2qf` delta 397 zcmV;80doF;1oQ)tB#}W-e*gz`Nliru=LQD>GYMID`yc=S0ar;xK~zY`?Uc=pgfI++ zQ8W!Wq=1b>1Hlvki2iF@$9BTcFmv0(O879B_woE}N7HprJ@uD`h(BL-BAUMFj`fW5 zXFU}i@pFGR@EGBaaLD}=0kBSVL!@b?k#&y%J&kW|9Ql+nGZ3Lre{UwDCXf#N!&&IO zjs&P5V=*9(LF0KoR(;k8;&icaxd5OM3dliE76Pmmp%}1*AC4=^tSlNq3`(=%lCc7d z>9}2h5G7-%I)vj8po))XfMuckRb6aAH7GH6AT0*e4zkbv`l-%=0_YG+ zGl1Ub*`7jVAPNw6e*@lF1x6Nq0W6~$@XfOJzyqKi%z$haX^iU;s2%#e1MG|i7{D&d z75OHi?)e001ni*#JObZAUc%NQXq(Ld>0N*pL0y85xvD=@Ahtp6;IG;o?2u@>8Fa4& rj)iDr`mLUGgS+Cy^YefCzv>s@=1Vjjo$&(z0000#4#F@DMRS9kg9Qc_%8<*kBug1s;-x(V8}GRMJC6RyMub?>|*_@m_oia`@)W%dsUnM;4F5nE`R3GS2u<|>fS8fxfy$0 zPsZ$z2!ub@yXy%pt*COJpJzDBCO&;ZR?yAU;TR84b|s?<4S!qOU!N6{M8%x~CA{r1=;?k>n%)az36we4>s%aHfv{ P0000TV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0W%KA6K;b5 z008PqL_t(I%k9!V4uUWg2k_pY=Wx-%1sr-gmv+H{rEh^lxYsJ;H07e0000B8{&tElBx5(N(}J!!$SZEuL2yx^Tp)a@mEr+02my6fU_TW zfAc!e&W?5wsB#Ff#6k}a2g#{dX<-Kd7s69QwEPXz@!whBes!UM7y(PGr*j1W28qpw z`#hG52z%a_K@QMcL%<$3K;XB1U=XI^$JAPztwdZ%AVUE62+V^{`tD?F?Q?I|;Q~`I z>M4M|@I>cV=i7NbnKqG2#JEo70-NQRf02ls&iBEW)XD>a=%#I8uT2SzdYvmuXZw_Z z5C|{^L3vX+-K1Z?yt%y(T;&k}MaFJ7N$8Ff;=8gdnlx{=lFf9iJkws`M>;UsV zB|CVpFQYtw`BK@T2(*J5o&xqnAh!njq?M@#JmB7V(O&L)LYnx}DA9boX*U!we~h*J z9{!rv&>G{TDfn&3YOP=y;1%YHwxj?dbV+^{t60T<7c0FWkI)MRn2Z%Iff-E*9wZEl zLDj|Ke!Qp;Iy;tf0(%uH2aEckbI5)YL+OQ_y?6Bi^DyWiA+XQo>|f9aIhhZVPgOod zy#T+h^dT3|-YX#8Zz(_u2BT;K4iTafRh~#2MVa+@E0PgqdrXif~(Ol#I*xHV^s-U zje4jLlYQtAL{tGa#^FsB^+I$h+o%V`nS1yQQ&5x#h#In-3vgx4Pglc?ls>4dDDHgzdh`!! z&GbQ@j(2xD%kNWtkmnzh!mx+YGGK`x*h>nKdktq5PaysPFt{K2$SIwO00000NkvXX Hu0mjf3esrj delta 787 zcmV+u1MK{f2b%|wbRGZ)bV*G`2j>O{0W%ajahLf300RC=L_t(o!|j$ak$)tAN>_{G zuv#k4)~&xF6C)A|QfIdQm%h6Ma0ob6yV0DKILdu~@14)O_YtxjPj^&S@oTLFFf4@3 zk^tru`s)DetK|XK%qdisVeMZsRQ@DG*%}mJG+3(y(3xRF+8HtSE>$0pc^!B7ceIRg&O3WR;3#7fP0goy~6#3 zwDF@+qWN~)ZYf|CYY)AD{0*(8wI*9*m7Wn=Cs+h{<)@6cAOInBc@!_laxC@Yf7A;F zn2eQ`z>GEo>~VlW-Noj9IIj;nJCt$)J2fc>^ZKB3$bS$+>4ogQ_w@niVK_KIV3*6@ zKc^3}Gw-FJ>U@NH0e)BMLt#97uYhc~qW~!&s1LNz)1(|gp7lfn60iUtD1TM!3>cey$Is_3_K!b63Q%AiJ{qcZa-|2^J{R{zHd5FND=nr@LpnDQ^ z*aVQ_DD5AI4NXjHL+I-I+;Jo5BG9&o_G=UMfH*TRpJ57$@&J)+?v4v^Y0Y+5!;F+Z zsJkexeD;3y4{F`&gWMgDKG3ai^g-@_Tz(4Jqi7MZzz^&N0f=TT58J0XegiPLANeji R37G%@002ovPDHLkV1gn;c3J=c diff --git a/graphics/pokemon/clauncher/back.png b/graphics/pokemon/clauncher/back.png index 7bf2f1f1177c8647a27b24a50089b6d5597a6073..6edb2554a31c3c0787957923aac19eb6da6babf5 100644 GIT binary patch delta 513 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 delta 1113 zcmV-f1g86m38@K?Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LUrRb{L1J z000CGNklzi-<{6vt(-8oK3)Iv`U3U*%obv(ln&4A7#|4jn{MRBgBwP#C%- zbCIYXJ4j*Xpmr1m*=uHD2G zDig;2b_0QDhqD~%cc%l4%fUf=uPFRZM~G_eNq3+DPhSm>C=a3> zACFGuLHBsnlZVab{z!d3`F8)P_c{W0zB`qNZ%2qB@PBSJ`a=$y&F;}|e^%qKZ)Inw zfI$G9M!@Ad(`Un;0=`j!{bL2-RNbMB0Vz**hNCYLcT-maAIBVgK<^|Nq>`s8@@ zJKvDMj6X>EI;x@GmEWI9wThGJU%#m$<)iWW?qD(lKAcR)8@La0b3Fb+EmHyf{p>7^ zO@e@w0e`T870dpE@dS8$ng*+%yBP1+$K#0t`wuQAknBOj#0O-bk?Fa^G0w~jW@;}j zV*s3id2zvjbM*uCCN}UtH8v-3Ik^7Xd&Q72Srnh^i%PB-g#wNPXoNwjrT&Z_XVeBL z>i~emLxgj4i{>n?O1H8K#8NS?s1Qi5vswlCynkY;=ZWV5v#D))2_Ov)0xgx8U_W>a z`@#b^1{@$@uKF45DU1ujvUUj|(R#Rh%v}8m8+gqZUQOVN2_%a&c*=ORb^m7s+9kU7 zcn?(0xvdI;?KXCCEdwd=2$vCFwe>62AWs9pn*L3M zV}J6LTb%=H4RtxRF?mfmL~ZZfwf@k_Qd$xvAdeeB7F?tc9ktUnwGR#LB%{F_>Lk=g z3I`U6hS3Noz_VDGA(bj9paFQA^LrE>8AeD@2rQN*16&@wn8dwCFc{Ssj-1&z)|8R@^gMWL2e@KJ5+&_30EcXwUoMm414@RM!kp9Rx z#Qp)NA?1Yh1K0h7kwJMUvGjwwrept*Pp#w29jStne)T=}4{iYuPCk-;#U}g%5F?A7;gEbJ{c2ki{s957Z3oP9B>fmS68^yf7nHth!eS)+15)ZH zQ;A9Wiu#BCAp$gIN%{xWZbJc@{%igL#hrs&u#*--^AAe>c|Kjx0L?#yr;z4L{lisz faOWRxyMOo>cWAPz8@BH=00000NkvXXu0mjfEjAIC diff --git a/graphics/pokemon/claydol/back.png b/graphics/pokemon/claydol/back.png index aea3bc9ec6e1d23260fcca68a4a298034039ff8f..6a231d36b795470c40ab85a6e887d282660e5625 100644 GIT binary patch delta 750 zcmVVi|K~zY` z-PAE_+dvowU=@+Qr>lmJm80FtaZZA%mNt77b5SASrQ}R!V;!DLiT6?mqhC>s2Xnt7 zV~2JL9=hls6#CtFr$|bhWX~-Ly2tmvI-TS_*Rdy_0B6zZqw{_c#g8YDCqP2TgJ4g< z$Q}kPi=wDU2>EYIAvlSD9s&7+69iC!1pFW24`AMi(EJGw;(NkBnvvEB&Z2wbXmORb zMK9_KUoK<^#84)F*?@tRT>u$SrwckIfPgq{66VXvjD$jTMOX{}lisRXn9GUC+9Li^ zgHr43SuRabTf|p({>5tzATJD%(^g9K!DjsV0brxle0445#B8-kYZF-D|AYhp^HOh@ zaso?W8w4{1zsm0h7`ByaYUW`jQ|A05g35q=uFbesD#`0I!hx~*Z3DQnb(65TMBt?W zL|!7;Ds`xn%>fvHb00H)>rHj5YoIU;_Fm1GR~8&wu(_~c<+9XpD-n2XxNd{efvH|Q z;4#*Un3wK;AZqD=Psf$L{8fmlrH5vvLA^qjRztk}t*TfJ;L5-rI~pZye2mFyg<(Q# zo)7f}zrlcDpHW7!LIctrfVUPzgu+9HrPqlAFw$G-kRmvL*oRqoc8n#2-*re0Oy41R zLkQ*e5YcLvVcm7LGnLH4@bRQNLC3eG0qc`KRtVv6(2*4ogLTttRBG0D9pRPcgtGcX zLkm{Xgpcet`7t3GHIt0j0&W{ta@**^Ws!vD<3yQT#eAy5dft52sL0(*!_46DU&!v> zOcG`c59+0TD}i}ULIS(Qi-{10ytKep3F;-1QJ)PYyePuH41^>W^y-Md=NI_fbNdyc zE~$6d51K#=z$3t9js#yiNs64dN0c@>fl2&*b{B`Cp{ g|0HX`b041f7ndW0juz?_s{jB107*qoM6N<$f^c46x&QzG delta 759 zcmVGdq!>s-OS>0>4Q_K~zY`<&-|>2gnIx!Y8c3+%qE@`5y}7c^I#tH$aXq4kdFROM5ks)x#-f+GjGR6TIX zH$dX~*;$gowmbOJ%KpXgAIEmD_m8%x;t_Bjo;^73`C;^M1@Z_;e+Y^0j|VNgAFwP8 z!#*M8uPKG#Bzyqm3r-L~1mg2Qgg1b3BLef|A4YeCcRVAl=AVam#PQ-fYm0u^6`owk z4u~L3^sE5`DZ2n_K%6eXE7 z1V73z1{k)LYHG$|CKKl39fHb$e6CHqQ7XynFv5YcdA0#u*|P@xNHBeX#f7V{jm)91YSg^UYVC8D5 z;a0|WHxJisP&zQxYX^FawMxuO_dZZ+>3~PamF@l{#MIIwGt;1+AxoXi$D^_mI^tP(FKLKO1KZ2}v`uct^xF&juYD8e2FLJ|x5 zb&0s=75MChy+x?2)Q?+N5cUPO2F2INNZ5b@%ni#K6g3d!jmZ2KfPwKIYG4RzR+c;u pNCyN}mAMd<;Nd^b;@WL_t(Ijn$Gpj>0eyg>!?^7-`EOn?6yn#4+FoNC+tn1-IJ< ziMu%3&>-0)pp+hdf*r>t)iT{Y&$FLLUy}Uuf=eW{`KY~+N(qAboT-$zgR5m3V#Nnn zBLt!lQ|~C4cod&FPa~h_h|-O8TQ+BW#uxjyU^^*`iIjUMK!3UTm2$T&-5pS$4^?(J zuAN|Sr!G}SuiUfN{*?8)-1wx{Q1iE(k{7^;oXDc_(djB?bH#o1hlv%Kp&q^qSP4xk z*czpp5(;-lqwcHfOL3qG2hb4?pd%bW$2iy?2jdm!aR>o<;Sd7y!oh}s^f-(FdE)RP a5_bs`qEn0!xD7u50000O{0W<_?hY?x; z008z$L_t(I%hl4oYQr!P2XMc^aSC*_k+R!3f;>j@27war(jjlxCD3<~X|e>Q*eM?G z^5IHWGw=>|%$QbLGZ&A`2 z37vs#kt!$nZRl$~k>E8>(!9$lMlp zFrEs-!*B!<295|*RYaJ|5Me~S6lU~eCCuo@QkcO{0W=i?H!-LH z0081iL_t(I%hi&<3c@fDhw}sm*ABjevv1VJw{l1zLEQ3#_F0PHkU$j&hXjmip-p;j zPW86?xPKfUV=D^&AmIH4?gT_VHpRKni_oULp8;1!#@NQZMSn?WByH!WB>ZWr;0{{@=(&OgNWkcMMgnM1X`3$vTqjhW_a-0~KtfqzkNHw7 zQrvX$5WDDL?76Fiise&dSCOw>_vEjep8aL4M3@H=hPOl*E~qe`3d6%Nf(QdgglQTg uOk;>JqA!IR{UKNgGx|{qGx`yK_2UD#eA=gb_yei{0000WI`*UdsBSNyL&3od=6@X2 zQs`iy&jjI_IFxp4>D@d$ju4JgKR&$&kBO%gl&}eK4q)a8%oe68BVcEs8O5V7@avp- zw8gc>;N-&J+qM}=z#Rt|)W=#ba`FxuMsfJh9Mo@rF|g-00#3ooRBh6%AiqkSO7qi$ zUYr5ls7hZTJF!YPsQ=wJ1=GC_2A>9#6($X4?IQ|i?IQ^$^s#$^_xo4?STwS1H_z|Z P00000NkvXXu0mjfb0T9C delta 254 zcmVO{0W>DP=TN=? z006m3L_t(I%jJ^23WG2dg?)mAuJs*UI`*M_sBSl)L%|^j%=I9e>=xpeb7kBvdF7!x)tH$WUg}*nt zvlPG`2Pm}1He8hCJ7~0_!#_*V5Wk{e&N=~WD^n9oMMXYM8~>i49t<`eW~#0a!G$Z1^-7O8@`>07*qoM6N<$ Ef;u{DeEdKP~`$Kxj=E2K{DWD*ZjpcV34}%f>|;jZ$<`_ zz4i)Mlx_5{Y+YO#W0$o6(`UzxfHTjuUJC%Ul=>A601|2Hxg?@bb_USMkWgrg_dq`9 z0bReFPzaIBX#_0?P!y(rZ)yT)lMW!y#S*B0FaRNz0F@))b>DyZppnA_U<7_ZZoz30 z$otqIm+-$wBP=23!n`sGhBjzYjHcoNGyoHofSIq)sAvzXdm?D zu1Tv6K;|G${F9mo+_u2$4?wFGa4>!Lp@M*`di?bW*~00000NkvXXu0mjfZQ+)3 delta 336 zcmV-W0k8hU1Goc_B#}W-e*gz`Nliru=LQD>G%}|>gu?&;0UJp~K~zY`?bAVugD?~Z z;A{#xfQ8;8odbmV1(z+=(hD^90%N+Y5H-i1s1Xx23bPyVEq$N=dl*B=UV8=WkZtsD zY+c+KW0$o6(`UzxfHTjuUJC%Ul=>4401|2Hy(A9b>ShD#7|Egn&f#5sn$vqC4X?I>r4_Ca6nnzY&gWDerQ z|5EdS#}@ef0cf=XMk3Q^Un&Slio{%tQy3^D=GyS_i}ML6QJH&*5yTTvLE&f~kB2_J i7LjUS4}-n_LHz<<0=8?NCW+wy0000<#y;+O6cGGkdZz-V~!W;URDHm z4YEs!n&fj~1V!q~7u2B?k& JPDHLkV1hq^MqvN| delta 191 zcmV;w06_nY0O{0W>&A=xyBq z005IoL_t(I%aLatf5~7v#9%d>XGO4SkX=I5Bwq_7C{kCx zp$?7M0wBAgf%^ffTN?EqG% tG5=Y=EsXYK?1ee}nE1^PpT6qH3l{2%8lSs85C8xG07*qo1w^hwV1k0OO2YsE diff --git a/graphics/pokemon/clobbopus/back.png b/graphics/pokemon/clobbopus/back.png index b7b688e143563ffa20878c3d66b773f73ee9ce52..af53690bd69bc5a6b177ab94ec3db15f62c0e937 100644 GIT binary patch delta 370 zcmV-&0ge991Kb0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X0cPK~zY` z?UTDs!!Q_yZDq)WR5OIeZF@fi6{V7rJK!1E3m1Eyma0w@M98SoMVb5@Z6rsGfp z=5&k{&=GY&5u&RCO1}d3WuP5~p?H%<^ziq!AJE?K>3V)n5M=)xJ9~hYPHYk zsc;A#z>x_!QycM`1@O)R)ON_gH@h8=pQeGj4kAV5t0PeBI{*?*=@9oe&>MBK0BFdA z`m@C7-%j_O008s^A>_xIzykE^jrZ%I9XNU*+)3{Pi0X8QIEBDXe_a6l0HiCvKwT+> QjsO4v07*qoM6N<$g13^VY5)KL delta 360 zcmV-u0hj*V1JDDIB#}W-e*gz`Nliru=LQD>H3FFbg)RU90W(QNK~zY`?UcQ4!ypue zK^Z(%3Yp!Z%&7$OkPhi{xt%?fzCn1KI9{<-WrlYNe~!Umq^?npM8k*rtt)0aH0t#^UN zB0iG9cbn^-pq>P|mIN1p%YhtdtCE51M%+yRpS0000dTEbC^`Mwx($Uc>Hr(Mq9AHov;chZTZ?-D z4~_ueGI}(`F+e$dSwI|rn=*7gM6YNQ6B!8G4}8Qx5k1qZJMl!3c{t^k$}PV+!7Tjb+&J!IK`fz}G>6l=~iXfJTa zOAaHwnHS)Bp6@%uk1*rq`T=+Y;CzsRE5phPMl1C?>SEL4oOtybMk<&FTn%KbDof|G zFP(vI;u_9LzY`ARo%%O9IGKS^Tjs1a$y1k7C+`?cid^H&zKUNVF->ux`u36~z-#}e j8YW^EXD9trG4=@*<)Vooh2zP`00000NkvXXu0mjf)XKpD delta 434 zcmV;j0Zsm*1epYoB#}W-e*gz`Nliru=LQD>H3)brY%l--0eneBK~zY`?Ub=@!Y~kq zgAmGE!qPQYDmr8U+yS*rR+PCCtp~a$C)6oZleI;HL+S&-1F+DiAW=6z6n5GUX`C{3 zD*t+)?)QH_+pB+nR zlTz+G!;dIu<@zV^2Ef=L15ZSi5sX&qcGSjZ#X7O-HjGp-4R{*J4Xa@5T+XFC&`mtU zI_Z1Dfw)ueMuM9g2sLG9wI(w2D05}UU{d57=gw8~3Ta;VD6&}JSz0Nue*Noh#+J=a cf877o0p+5JAU{*}(*OVf diff --git a/graphics/pokemon/clobbopus/icon.png b/graphics/pokemon/clobbopus/icon.png index 54ea19bf51a73bc75901d96ed694558a2136ea81..695c42cf74d5bdea0b9f4c851a4d869baf77bd4f 100644 GIT binary patch delta 244 zcmV36F2i+y%h7Kn9Q4E#z2g>B!ML&Xp z&6S0}V1U5@2?HT9)*>k_O_&|@wtKnjwb$o)KM+#Nbxu;W2_P!c8PKZ~@niu+W&_AR z6{ZI$VJq;=DODwb2G9<)U>NN*7#}&6jAXv<7_L!PFw!hX3~i!3(lq3kWyouH4c$U$prua0MbcBK~y-)?UFkVfJxxw5) zdr8=03llsP#X|N1P+4yyhoGRdrQsG7P#7SgASA|dl`Q+IEKPK}d701d~g5J^T2CYcg)G5{gm1W>*!bPq7fEpV?GlO=%yFwCsxBzxK^u-qz!oR+@om@iRT zbJ}ksX3-p35vJ#D$zv~9bZM&B22B{Wai-snlRvewFg^n#pvc{mjNU)KNf>m50pSP( z$tuisP!p0>m~PVn`&Agjn3o?ROLNPQ1Iu#Tk3~2>0Dg9`v3p{07*qo IM6N<$f_*e<3;+NC diff --git a/graphics/pokemon/cloyster/anim_front.png b/graphics/pokemon/cloyster/anim_front.png index c060f7373b4dec0b0211af28d2b8ea4c5c3aa71a..bce084388f96ec4e533d3076372ad442903f8702 100644 GIT binary patch delta 1364 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 TcX^*D00000NkvXXu0mjfmIWpW diff --git a/graphics/pokemon/coalossal/back.png b/graphics/pokemon/coalossal/back.png index c22a71cbb2e90fc1121e69d24ccb84544018f09f..87c4bf0243c9386642334196056c475970a7c891 100644 GIT binary patch delta 611 zcmV-p0-XJ@2D=83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80+f-7G$sjP z!0-@v%+yYu^BzXB=oxx1C0o+st)0R}1o)BnoO7>z@Vfrlk>o^wOTBdl$obTuZFP2E zK3~)T2=apIWYN3XiQpH^QcBq9eFFqVS&PVtkUk3VDSFoe=4B<~P$fj_r$~T~PC7Qc zhycj=^noM{ebTYvlVE@qauAx0#MA)O`$~kIlHm~SS;t3EFz`|VfX{mMv}pM_72x?I z;Dn492>fDfyz?=CE54U3!eIy!h6Su7inswdh_Y}n!-W*c^|50kHfc0)5amWn6CZ@I zP9Cy5pTTr~UICobgM6e4!d4Ci2T`(zBvYyHB@x?13t*q+Mj=KhU~~gq(s0Q?8Kw-e$kkFN$LLCCa9b2S z@Dk!mK|C6NQ5k>0#B4QOQqKBhW+~*GN&xeFq59jIyA%mkr<{ycDgX`5E+`LRxbS`8 z>jEHt+ycSvJX2MZP<@1?7-pN)^zJ&_0(_>@l~fqOj_T1rz4JNoAm!^nyjz6aHTGqr x`kyA?oFqh^*^K<+Uw{m79p&r#AM4=YFUEfw?ffwgD_{Ts002ovPDHLkV1kG5AIks$ delta 580 zcmV-K0=xaY2CxQ@B#}W-6#xfxNliru=LQD>H6=auFhu|W0+W%GG$%1&!0-@v%+ySs z^BzIE=oxx1C0o+st)0R}1o)BnoO7>zaPYeR)sgK)E1!Dn43P7wLEGwVQNCQ%00{De z>15Hn*@@s6%t}hw=zRkOMOll;iI6@BlUxBBf1V@^ebTYvMKHh$IS9>0Vrqctq7ose zWHfDfyz?S3aR1S@H%7L>c+PU$nT$wO8m$H$2w|~>Up0Io44>UNS2|qk#20T&m35u z@#WAV&6qgK^{DMrOdwgooUNZi*^eU{_je`c=QWVz_?*cWHagP%Cd#X4nY1L7hC1I5 ztIebZES{y6sWKcTCoy1vM?%$6OpD?sf0Hh3s+1Ur2O5UPQNK1(T>CNGI016nWX{qA zMmNAE4Oje=VagDTT(4wujILw`w?)ANFCnfK#G?_F@dr%IR>LLbtWRc^LcXa4Fpo>s z-_G2nNT@pHWUNvFXlQmpc>u$u?*m^K0P({X2yW+@s+xrABP7Kz+oYy<*Vz`}Ml+SJ zrNRJqRFD4YozIB}Dc}6&-7@5^u`e6d|1<&TBq8$5X5<(D0%U;eC|}qAS$_e>e;VzW SDT;ys0000-bO-?^Nkl86 z5$Lr(-fBV<@OBH*)1^Y#z=ym@ooPL;lfIu%g;&tX?0kB@jEIKJZ^vUE0E9VSh5g8p zbM}Zn48ZXa5S^qRGjlma*Tk*u&mqTTiXuG*942bcm^v_Lq)dJVP>kjn<`8Mg3V&K# z#!@)7Ud8|=MKz+e3?%eYLFF)Y>PZVJhk@q_>X002ovPDHLkV1jc)jQaop delta 312 zcmV-80muHZ1HA)~bQ=H%bV*G`2j>O{0W~mCDAcY100AILL_t(I%aME@e@U=KN-2)B z%g(w=l}YG$=mY3Y({C<+*aNmbuxr~#b)gA(i-PiWX^=MXAurNqT94ag@8^^93Oc!; zPtTW;(UJM>c&r0}Fz2gq95rgK5izC#I3E&Xkh0{=tcM)Bg!TG!s=2tK$dUsA3-#bk z3-I7%OmPLEPIFFk%Jf|of2{S2s$BZg#sQ^dbE35k6pW%`gzME@N~n%Hz^$>GNb4&w zqXwKBjQ4uGb=QYMc$@y>`rpE!JP1?5>rR*;qB~(|PQDD}E==gW0Q0*r#If{yRadu) zV)HPlLAeQ|+I{?zOO$H52?JPysBOZSp*rVH7;tZ2en9()AD>-=66$}G26R;b0000< KMNUMnLSTa82$Y2Y diff --git a/graphics/pokemon/cobalion/anim_front.png b/graphics/pokemon/cobalion/anim_front.png index 0ffaa5d6efa5e538a8ec6b093f0d12b468e9f1e8..556761a0db39677564c683d50da2120d5e27ff0a 100644 GIT binary patch delta 1454 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 diff --git a/graphics/pokemon/cobalion/back.png b/graphics/pokemon/cobalion/back.png index b2852bf90be33c56590861ef7d1827bb290dd0f5..72a14d078778229c6a612871f792bfe38bf3e64b 100644 GIT binary patch delta 565 zcmV-50?Pf41)T+uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rp8mK~zY` z)zvX;8!;3Ia2n;dIaMFPC&AG`z+8IJPhheJ3R&uqW-zyS4jv1cGG_=qD4EhF z6bhzpNY%9&a{3gR;zfPBtD&{^)S(cF1~2;Y-v7Nj+vHIXi~j+VVlxaPQT#`V$n}qU zJ1C$j2r2?4q!URIDgh#Y)PqRQphUSDD8XYQMPL;ffJp2FCgmxiyu=0N5HsNgE+h;h zd0L{A(1bH86T#3Fk|!~hyoWw^n!zq;DiEO59?epvREqR?Ien8;HLR*EMH=YoaXuUl zt0V63K}Vg~J>p1-ZQY8iiXkA^T3=7|&&_%D4hhkUgQkA*x~e>X;Mu4Z`{qV`y!(lS zfOBlz`Q!tt1#{EwXB>x;_iGu!{irI??(NdZ6Ij7y$IZLsk<#uov|Q zJi{2kV&MZ3b6{70w-tOnXvsDp#KetZy`WbX8*Yr5wO#;Ue<#K*SP8*c2SB)-higEV z?$09QARq>$wD#{^!mnEq!zbs$l^EQwfdp=12ig*Y6Kn5R^MQDtbR}jFgEgSqE9OeP z(z6^goUH6X^5qfRuqkU--x&2LfJHpuZ|>7Og!}?OTpUIaku&ZB00000NkvXXu0mjf DQjGi2 delta 552 zcmV+@0@wYW1&#%fB#}W-e*gz`Nliru=LQD>HUM4Rx4{4a0r5#hK~zY`-PJKm%^M5B;-=VUe!Ta8ZzFx9IWdo)S4IiX=iBsL6gh7z~O%*4={)8?m{^ zkP@q^7Uu;;K&q6wf0?8g)p46 zUEOM3p&^tS{;RaUbbxK>@DMw}{dn3vXOr@W)~7MLOPlgsBKNOAqL0)Ih*9veh!y

  • siT0sTOUYnhTZ)g zuFrD^YhSJr0zB&Q{pOK*2q+pqMDS@BtpvjJ1>X_L!O%$s?F%o&_qcV>G?2V0Fx>Dx zFB1#{;)_$@x(mskDh9*@b6DV8UM4StH#2U5Z+JH_@sWdn?gD%}MWh2H=kTGR0@u7I zY6%=Rya%fQU-4+RLGZ|a5xC^XLelfejbLE56pzP7_@G!uK&?q_GTCWDUI@gB2^*wL` z$`dEt2>ok+33dAtKBp~qPUA*o+V|tryPa1@1?q*@*hEq;B>Jcd`~HdRqAC#QabdW9 z%L~nWa-Rx{e}0h7obbs2c;Lz>&elGf%TNHm>lW<7sRH5$9-g(zcgLZ{h-On9_>P44 zs(=&7_?b?eZ}PUCsi=>tE-{g@9RT_z%Pc@D6Dfq;8=5QPuEnhC`N*3NT;-t;JYDfQtc( z=`V*ZkLpo!6E4*bv7-TY2Cc+$>TIxEUo6xwVBCje#H!Ts1OX?6I6$pi7}I(SCuxqufMvU=4qQ z!1vStJ>L7jch(lQY_Gws2S43@BkcBf{D*;P^r+|dRp;Jwr^yf2z=hlQ-n#+27oYW? z%&WwE`n}uGx*=*3q~gO3H0`&=x4_{!z`?=wdZM}l1+);WZ<-C zSI&G5Oq)DWaswcGI(j_A&yxd7cv^pJA*GV(XMkzlo6KfW^v!`4QUt=!K*M~ALj=yF zXs`=bm|}&}096rNziuHS)KnYbB%51|dML1vq5^Er9-nMm0=U-QC>kTsji&x^I81m3 z)Uvo#Y>YsndI$`BIk)y&uflw>h(Q1rA$XYdwyiLOL*2b_oJTR9Wb-V~hYEibq#Zli zjYH(@BuVw2Gn-w;mZvZCd~q#+1<-*wOcVkn1EsyMXVFP)k+v8vPyl=ZoiLRE*fs(Q z9D0*z4d5Y|0yu*-Pd_E0ZQoB)V#WdzpFTBDN%pvFwgUZFlHngL267ud_{Q$FjB?y9Jr53lz`pJC4>gb z#QBmOotgL|Ii><%8<;$}>punHu)p;4YZC`m-uR%XpT(a{LMem&Lgd#8B$+%eZwThd zl1(d9Ulq$-=6NQQvZP0IiW)U12dXGc4VipX-p;R6PW`kt3M72-+Y*0ExQQ7oVT6EPH^w<70c4c~&lf7h*#yDR1~?$5SClGa7}IWh@gaX)C@C>Q%Nx!pMTuMA zPZKny$q{~Vn?o5UW)PlIpF2$yLVt%6a9}V;=sK4fX29tL+9BRx%qgcGJ4;|VjM3EJ z^{W*Xq+s@g9HxYk0X1ubndv|(gsHp^Q1l$D9NH+n3v;yu-U`sCLp@UB?@#8yF1^(Q$ zm>uKz9J)LBFWc>#T@1Vigl0KU-t}=mY(==uCqAULDdI+8G8+Wcssw0T)Brn1M|ds* zsW}JTz+G4`!EE=*$Q^?Lrqt`}W?CQ9D#NIW0InD4wsmq)2eO1~cNXn{xwS;v*Hfrn ztwgHn)Gg3K%m4rY07*qoM6N<$f*I^!wg3PC delta 1245 zcmV<31S0#$3ZDv)7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R1f5AlK~z|UomY#N zqdE*DHc2S7JOBT;SCSo|vxV8Y+0*S5kRm^0rm2`s)8tl)xlg}eHqV4seK-3(1%Pue zrP@+J(cFG`zLesAmTGhFgj!kfZ9g!S@_0b$x*iCN612e2>4?$@#I5Ue3Li0ljbPpcc6C)Vxh$Z#~ z0X^t%cr!^rPHO))vfGHK1SDMq(m+54SO<9GQPPr-0-7k3AQ=ED5r;t#0o?H}37!Iu z0@eL+q>2K6abPl=1=@GK7+9C>4L{jnU@|axc`qqkRxIr#X~9tXVk6vBUf$ti zFkA*lU1QaTjZO@OuC`Hk;HLBaSa=i!JDiJFk|P-8=u_b`q2-5!`-TYn+73LE@|ioO zUgptTy~iDr+qQv)+wK#YcQZg#_F1K^u5qafzv-P43z^vT)m8n~wm5eiAVDBiS!kkr!UC zS4$rT{OKfsaAo@~-k78ycu7Lr@eI5&Pm`D47I@<#LMrIOm}Dq=v}F7E)AO& z_6LD~5pQ?a4}wZt|A-+72t+K<#(Mt;2_$g)vO(bfWg@WoL580Qpi~mRJP7O$$k>FT z0FwY1uE8!JvkQ25f&1GR@p0mGGF%ckoo>oRKJLQ;<_<&9Ab|{*_%*6AD$f0IVN?$} zt>a9%!dIm!N=U`>WFD9)h|$=XfQkRhk5M0gsy|wa{gFCwAFeBn_O@xn!%J^NgzmCy zj6U8hl2;AJGLO?dIk}xDp}^8@aW;~`?YXy~!6uO`l58mZ5so9RxDIC7DTomiMQ8DY z3~H%Xvn$qdVy?)J65GrC?3hnE#Wh&kz)wo2?7n$~SHRc3Ar#01P!&7JfYL00000NkvXX Hu0mjfwqQqE diff --git a/graphics/pokemon/metagross/mega/icon.png b/graphics/pokemon/metagross/mega/icon.png index 76a04a67fc8b1d261968acd6bdad3f34ba534c3b..608cdf120fb860ca8f9da4e27cbf5859b56f32e4 100644 GIT binary patch delta 513 zcmV+c0{;E61l9zQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M8@ASzI=z z0005GNkl)mv-O8+^)B?%h9}0fGs`^)jDKB{aWN0KN22(nO&DAF}EPo*LKN6V(YXD-5sVeFQ z$^nSlm;oW4NmV)kcta(kF(hanAUbkLK4K zU7kanyI$!g3)Fd>`{%BYTs1b|j$Pb`u6q$ebM-CXY#ST$fB)j*)AmY+mAZbOyBKVn zST?8@-s0GOvVXvF$pWXo3vFs_>!EDnUNR;6k8%+q3yjOe^wZCmbZN%dBd}G`c}$1# z8q%8cTj*6+q2#$LaT7|BLq3GhTAAJ%$A4W6AAqUw*9q|s80M_0%^zT@%{KMv4j5*6 zV-H|NToYx?TYCWW!wh9Et=)kMU{2&v+KU2AY#h{d>Ut_*2c{<)Or9m;4$Q<=5pKYE z4Q`M90A?bj3Q>3fGfwCVQPgz@=6p<$`vVw><%mU#D=^TMEyNTSV2JS2bx~M=LGMC3 z0xQ6*tvgqDz%bDMhC^=0H24QTvg475)#E$U_`7}sO}sB*A7^t>00000NkvXXu0mjf D`y=9i delta 476 zcmV<20VDp_1hE8=Uw;9-Nkl~k*uRi_0~t|9p4_+ zVqY9##aY!njJm8J9WZ{0m3`G&Ao=$X1OI$g^{*=Ww8Z0+M8%^gF!>^EroO0Q1)lz) zNDOEN;GFYSRyPm^fYnM35!@A3Ar}Cvu$WT{1xXih1|2_~u74G;0&T(dMgyBIu0utH z<*r-IICm46dPq0&x2MI;T`y#l1nfM{{ZrRFDjJ<`M{edz*F7^PsrZ?0wv7$?-@Y67 zu)UxmVApSR=N8?1k_@7SS2uQFHPE;wfnwhkH#NGokhf6FiD3OBU)hobLb)gM;rFw@ zHRDSOEC@W0$bV%#LJBFr6<>7-InN;2UC4zFehQzo{A4KO_^*qkx4i>X#XpxAKLA6F zR<(KurrLB9he?z zP-&Ji?!Zh`WZ@2sm0O{2rd=9%kcaF00b*ZL_t(o!|j&8Z{s!;$9*7# zt_^w#(B+l_oqeT$MZFdXtn+B3P;{0!1Sn*?zztmtfw9&gFqPFXY-&{%C2zPTW5@m( z9h1w@A%8<3^&|eF*zMM#;UGxjhwnW;K9b)`<)!_nZSNoczkm8>3sBpyR4BIB?w0Wl z!)yjZE-vZw?npaP>&0GV735;<2ug;0#&r1(lq9|5L* zw)}pVjelj7%?Niz_R_izazF>8^D&X5jq(!L!Q4r+QD;U+hfP3Z5cjMUIQgr82QXd- zzOVx+XW1-IKA*S%$$E+QRMMv`oux6j(qpy(*uIs>L{EXv0N`MdtVb}9A3xtDBeg}f z2UCwvhwHml^G}VT&NE3MWFLWoYfLp|}+zkkO#>F&lRG3mW)0{F$S(ndDBzfy?w z(bhw()@kU_Fn0hCXyCxDZtEv~Ox;ePs{_0}aJPCOZCtCjo$7V~%g;32-KR03)t4*j zrM>8ff1@AvU-Scd*r^{BuuDIrz%Koe0%iTMa{Q|ky{sQrE|?2^l=Z{XKoBdSq#u^R z%zrwrkg|SQdbkd(W4)vwRscKjB8WEi!?HQ{C1-WIsvp)2poR%KqigzMJx0l7;zg_a zfo)78%z&kS&^G}LE_0jf2g0iBX~05VxgRWC^VM?EVpWLp2~c?JJRM-=Vi9!?jHgf1 z58L^*xH#6VY!tCWxbHv#^uS^Z;mCQ6Nq^6P30&P9dLbd$mGM52vvg6iEl5I$`cHrc zeWT0Nf;!U6W=k-FAKQgWAy+TN002ovPDHLkV1hb6BGCW< delta 1105 zcmV-X1g`tY3APE4bbkaaNklmmx4a`#VaWJb3~-9T1)oglcby6_TFg#oLe0P@uJP?x z6~NI?g#v(cm%ktHmw^NS0EDoEm~-Ce(V&t;`|MUi>{8lCppt`Tk|hFCnv^n}p`3$e zpHuGM?tDFe_kY))4X@9=^&B+&0;nzM@bK~ndfUJ(y!XF+xdPZeL^Kv}48#1M-m(Sf zEW`~Xc@RwiZ4mEg!#FhG{b5PD;0$ok3G)CmONLr&VjR){BFt2}pvIibEPy;0@=|Zr zI|n!x+~9?!K(L?6M@j%S!xP}lg^&?7r+-W)Kmaa8`^qs$ldvqy4<uDCTJjIiT4>SR7sY(;LavMsW_*s!>PI69C7BY_a{C)(=v^izsmO+D!pXcre99 zs7aYrHHu718bAeRqX06y8pU#vR5y=;5K9-GQAT@iLgdegr4Ge8HU z`yrN-(tq(1*Z#sus?lIZSBEm7F^KwB0v!K6yaSl717Fy_l=F0z$DfV|0P*?}?W>|+ zvSgLU=t_@R39vmYma(1y-4VdvC|=KC5j}poi6^Q>wFgs=PR8rqs(B~ISm!A)!ty*0 zN-2cLy|Es9$=f4bbg$GTCcPh+0AB7^X=Jna8-ImRFV$wn>fNReO>+zIfC2UfmG;ez z46$@ufu0WVcJKLbT>^A)uikby22d@hna1V-DMU91c(E7z@7ZV654$h=0cY5%9~7`n zKP135{g41v{ZN>uzUWo`P?&v=m#Tg!0{D>vD*B-S=GIY-RP{qK!?kZ6=@tF30@%JA zLVsA+4~04Q1!oPqsvp(@poR%JqigzMJx9r8?1roQft3~!q(Gq`^fG|SrPF5mfv`2H zH@EPhuKXV?-1F7rqDAT;$|peK?X$$eN&y>n4ooj|Ug2lg;`~UnQZHf$aNmU-=!3xblUJO05i~nd{xs}S3OI+?ck@?p!om+9&FqP)a)O+@(Nn?od(<(H*(oI!q<~c% zE8Re#mjOHK&yK)knWxI!K(4qdIfN<0AUk{arnrs}ek@^@V?Kb(K3i>*R{}1gS Xo@-)<@Db4l00000NkvXXu0mjf3w9g1 diff --git a/graphics/pokemon/metang/back.png b/graphics/pokemon/metang/back.png index aad09e4968c736e137a27f4bebdffb5693950722..68d6754d341c02545d28dbcf5528631ac7e250fa 100644 GIT binary patch delta 589 zcmV-T0Te$dfif90T8_wXg)`T?>&< z4mM((N=c7|na8WTeRu1`VJyNV^|n1xT@9oZn}SMXiUt1C9z95-`290QJeuG+>VOzaF2@j0G)_ zDd@ME#t7G<-Ve_29e_GU*#N-^Yq{PtGB7FYrfvYY20R`Ge=NvgrsGLnf4h?g5PQU$ zGBUR{a56TG!TjcF%e^`&jOQ9>CY*S02CmL5R+m+3BWFb_$Kk0b}{zA2@w@Q z2A+=is(~1=q(_VRI|0xDv!L4vJjLFKDSmV+9Z#GuIR6N_LC*P_s{s$!>L*oOG{g1^ z@xZMC{kH$qeSTp;I{e>%plboQG(=s44sbsTJfGfMXU?G0V|X3~1Y`>rgY}5ZeC*C1)3qatr(`qC07SK)BOWWgq1TTEGIf}N2in(5j{iIEhB*3?u zN?3yOE``{S4>n@5k&+$>GmlqwPr#~;$bJYZg;quq=6-C}%2z;to(m@foXlGJY(|z8 z;SC0tK;AB<-=9(SD8!(iMh&1dNV^|H1xT@**Y9a#QR!jt0D4`D0RhuH3s9fEnFh>| z{#V1gW-MxfTtUChG(ud8YS*vd9e_GU*#J?9m0a!^8JLt+Q#XKL0UnP6=46oScv9Ej z?xX?44zZ$)j4{xECo9vh{~Gl|4aA~AoQNUS)5xS#`g2Z301A*rjFX~I3BWFb_$Kk0 zb}{LJ7b7Zw40<}^s|FIlk{->I?*u>tq>|w*ZMg#`eoDCwK**+y?M5V+TB40KLE-j@SYd2SDIX kmnBLET-Lwz3FLWy0X?tPVzJW&1poj507*qoM6N<$f)OIx<{NL@i(#G}EMdVqN6Prs${KcDBl)iKI5<_P-4P<4=5_^|o8p55=C3qbz?1bo4KE$bDP1D{ z1Jd;Srwda|765Aal;R@A9Dr?7p?M6t#cJF}(J}*(>FV#Zp@?7v{ti5Y4Mu9Lqt}Ox zQIPqiRTEGaSzr)Sc9D0n0h|-NYA|2w?R5ZGhsn{wn_L~((E%z)2M8P;pmTJ9*wMi= z2OU=Or-Omg(LtBC4mvAs9rDc40bk2qbQlShz1!CD<9UAAO%69_+jg)2o?q=t{PCr* ROCqO#|c>e!ycgD1ZB-9*sPpeu2RruLBrtk6i#vccO{fLkUK$KR&8Q>#M=v9?H z!fUmI0K0R@%7?yxxnAX7O091Kg+qh+>Kit`O7&Jw`$FUk7o`roKkJ8+AojSQQiPh0 z`$DW*0Gl{8*0fOYun{~d%dO1-UqeKT&`j)Q>sQ4d{Gn~n4F)nk$Y%gm17{83L=r$P zN|w+5yWhBrU+RxL{d=yzfE)dLs=xG3^_SkM{?a?uKlIKv^ndBS>VHO7{YSko^`DP2 p>c8qe>3^a3sQ;zjhyMRf?;nZQ9a$4i|7HLH002ovPDHLkV1gT{rHudp diff --git a/graphics/pokemon/metapod/anim_front.png b/graphics/pokemon/metapod/anim_front.png index ae952f0b0370a06119e5f7118de0cdc76f7db0a4..6640f3cbc71f0f1da19d66c35d03fb5cb0af9821 100644 GIT binary patch delta 514 zcmV+d0{#8O1lI(RUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M91FPgDPo z0005HNklY8=go~JoIkF-}@m{6$1=^vHU7JcR zgU?n~sYA=H{&hCyEPX*R*Ic%WJ?o2f)rJFQd?C2*FDg70lay>GooXc~~HP`>E zg~t!U`ql>wj~~M9kpBo6!SNS?5h*t?)G_N_z<@NZdwVA^_Sw*TfFT1nFzf)C0K*QD zDKL5;FnS*_*r)Rg7?dAAfua4-tQ^2FeyB<-_04i2QaHoA-pPj<5P!Aa0la0f@iNd@A^-pY07*qoM6N<$ Eg25}>QUCw| delta 495 zcmV6?6oBS@UH9;i`0u5D0Z1I)EIY zhSCx>c}zdAVF^XW0$!SyVT&C=zrFNaVTi&mu_fPkfaaFM4p4N2R*2$ql|VlVeX20B z5mL}Yyuftj8h> z+8>63LBGzcU~vA>3x@HBiq@EmU|4_H=A`QDPB4r=NX7U=Cm7ZrBs;dA1002ovPDHLkV1kyN-^&01 diff --git a/graphics/pokemon/metapod/back.png b/graphics/pokemon/metapod/back.png index fbe5a68cc2527d6f475a3a754ac600aa5a522151..59657b7f1e4736e560ec8c87b043c9a2b6a147b2 100644 GIT binary patch delta 368 zcmV-$0gwLU1K0zQB#}W-e*gz`Nliru=LQD|F&CbnpH2V(0Xs=VK~zY`?Ucbz!!Qhn zH%052XbtcfjnWRTs4hE4ska@6rXj9q-5c=WH0jclogl8@>;K9BU)#-M@n63zlhKz$ zl>z!T4Tvm&koM3B>6i`nuNeT_Dj5M0jv1ier5(~CJg{%m4v1a4e*q%Dj-?I2h5ZaM z0Z$j!L3!OieBN;p1K{wT3DHar?!W-W)BxS%2MwIvH30bhRnZOVNk@BsA_23-SR^2Z zF6z!vKn>RjND?^DI+iaKaGG@sr1Z}R3a9+ja16#++%(nJr1 z^v|XBEkomuiF5ITX55haYF>q<8wi+JQ87Sl;pl@y@Z|yKfvA5D&=FR>*SCp`QjUnf z3Fdh)0JaPc8$QCiWG{AnKz#(`BhYiyUhmwvuN|3D)Zr8KT5%Enczpv$AAoezxJmf{ O0000$hbx`f98*z|f_EA`2j-Jv2f(W{bmf2EeXPMnHtu3^44|4(SjcICNI10QmS-(+!$gM|*oD z0kgwcBv6cf)SaV%1}+hhByd`Etez;~xabzhr7Bef)CkmFmogIS0OV4=$*aS(RE7pr z1RQylCVD8OAD7nG46UPAs*NGtmekkFC@kHefMpal1H=~OB!oaz@Z|yKgJ^yZ&=J;y z*LR7GQcj593Fdn+0JaJaTRy_3VmEgBKz#(`BhdG#z23WNUVAcQ(S#%Djp8Ew=@Q}_ XM<0N6lMjR>00000NkvXXu0mjfS5c`s diff --git a/graphics/pokemon/metapod/icon.png b/graphics/pokemon/metapod/icon.png index cd84b979c4e7109f0554ff6e9fc3b4b9a99deff1..896c1858ad31c0a0764113c327571381252a721a 100644 GIT binary patch delta 173 zcmV;e08;O{2r>yzz47h< z003x7L_t(I%k7de5`ZuW1o;7v@d=VTO|I4dcPXHbDRWp`I7-LP0msaVyuWm$K28RK z&H}Wa1eQSK5iNUE0)~yQcmr<@6kwJ31a(#D97$Jjun*71+$Qe7RQ`5Y0y4V%_0hnn bJ(`aT7{*5@0OHM900000NkvXXu0mjf=HNo{ delta 109 zcmV-z0FwWO0^R|TUgMWOVtp=t~cy_UM0H7{*5@FRGkS P00000NkvXXu0mjft_dnp diff --git a/graphics/pokemon/mew/anim_front.png b/graphics/pokemon/mew/anim_front.png index 8ce4efeb2147a50936141ec4b9840eb54dc74b18..6e794816c06ec211017c8d09180ca6b0a025c951 100644 GIT binary patch delta 766 zcmVA!(*OVhr%6OXR9M69ma%TzFc5}GfbcBZq6>730C%oR*+4rs70 z&a;3T+&lFFIuw0^_6-8`DSIT7$viS>8g#J$FX5Nt@$Sg~XYBTcPfD3w=T%kJDMWu% z)efL8XyU#C{3e=MjSc|wBI1%G*wI=$LY=M$?o{Lmlc}kIT-6os!BbTo5l~QbNhQ;_ z4v>48q!?m3XaqWNy#WPn1Zdngr^+`c2J{Y4kAS)cxZ8ol2i#&G1(XZG&6f%$kT6H8 z(0bqp{=50A&es40;3onfzmJFO6heO|)NcgdJoJ$q!>;2mJi^-ty~F`thzWsD-wuob zOyS0B(=05WgHom(p|nfv2Dv&331(|AL@!;Fg@Q@THVS-h{8hzE)X6zIak_N9z&dtP zMPqcj9I#5*20Jg&5WV)74C7m3@Ld2L%9b8{?SPI3daY|b1PyF@z0plcKSzK1c+qtt zfYR;Cc4gw~O)gAg2S2GoE;MlV?ILry-@Ws|nSKx*z}7Pftha%qk`U`M4KUk=KuhK^ zvo{HR9pQAkm{LUtBvsK3Qd&13Wzn!4QRIlEqIqdei=wqEFNzsmW#c~x@je4^^HP9q z+E)j7^Z$WO^Q=>l1|{eozLtMeLEMy(0td5k{&64-1U{rEXF*KFL4-G0fVZGP0{js$ zR{) zok2%j&eO!L1_eeRW5V3D_@Xhc3>CGB8v$qrP2_0Bg~5I&8GyPa2k(twEdoljnENmbZ} wW^c*2)(7CH%p;QU2G0d@=0V)d!(V=X0NDbkbs%xhUH||907*qoM6N<$g7vUf2LJ#7 delta 761 zcmVd(`@i4;wqx8%8^+bXgM#*BllDHr=8(X)-FBNAs4eJsH4H;Y^+^n43~Ktq z2oN$QV<9g-ffyLUyU4{TdKKLpK`apzu}0XKum;$mxe(1zssJcgI$th?bO8XcWjYag z^%X!&=(#R9AE7yaAh+48P0aStxd^hvWxa(F5U4Ip9rHReF?YwW^Q0$hNmqKOo4#$Rq}Hvm^JegW(k zfWJkjU7#I*_I_}(G%tYx*Ha^a&GsmI3mG^sfW{0vG-`0B{-5^^u-$ z9SE&a1_uIb6th8ytx;a)@A);#00^v6h7*X-g99#q!03Pw%9}5C0&4G^I*0!J)%oT@ ze`|3_99xL74&+T!pDiP?C&fnq)#$TcCrQs92j2+w5`6l%TIM-gUGT3_WEm%jT0pXe z;Gc;#N*SEXW6KIn)Kfi%hyT8QU^(X65|AzCTFL;8}U9 zyMxeJ{s5}ix$F<-^|fsDk1RK*rP+y-dw!?v_uL$pFxxm+!UN{23|+ r(!TVH3=RGt2CQxl=-wRM_AB-UXk`<=xApvq00000NkvXXu0mjfg^gYZ diff --git a/graphics/pokemon/mew/back.png b/graphics/pokemon/mew/back.png index 674c6b666710672c2e1f8a3c5db1a0e237619abb..bbaaa33d99ae1770898548f543fe52ee76ecf777 100644 GIT binary patch delta 549 zcmV+=0^0qR1&alcB#}W-e*gz`Nliru=LQD|GbkF*(D48O0q#jeK~zY`rIgK%>mUq; z83|=QRXg`RMkZ{!$q1T#m9Wnh3@_MaU+&roNsNYukuID5@Ns;wjfMFAI@R`v?r{Ij zxntm?0-(S#fC57e7;6#Ke*w3e1q41Tz;GBrwgVgrNPsGE7=eJPe*);^UNEb`+xrV( z6)^hGcI{n2$YB5=1};SbVOpT& zvdkNur97>U33LU3CC>5)CBQSkegpPDt!X^1SZHIF$hLH(3n$ zOp->^@@8!2iz-9ee;(7u?ZOKiiLjtz3~hR>-}$2rXV4e|{g^ZlGQd(0Px};n$(FqD zCW7g(_z+XtmZJ@uEFS(u<8{)s={+--J>EbA2DS6iVftYr0$>Pd-NaHP`Sj`|cxcsa zVvW$WBhQqkmKzsG>EySwER$67mPDJaYvjk>F0A#?&&5Dde`L3=iC7v-3tKJqjHR6K zWejVT`;IkL5ZU#pim_vT8?qWjT7mVH3gtnt0xF7Qz(6byC26o-lHoGpm6|W|WuPy| zSaNm2&li)=W6P0zfES|=ffyINsw$eJE no+X#$L2u)v8{m?jF9-esXsx9OX!ZM>00000NkvXXu0mjfj}ift delta 557 zcmV+|0@D491(gMmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q#jeK~zY` zrIgKX!ypXDnS^p))pqYOndH(-DroLi!aWm=7woYwH#jJl zee8GbZ(8pI=L&!h_5pM-)_|!NLHrB2)g&PBSpmk~2)rF(*8vBp0=p3im@7cHYiBY# zczb^VLB8)TT4Z0W-H&FK3f>a=`dF0uTeI zq5~#dprbdHUsLcU52w!@q~`==g;RNi5@0gDW(Crp{FuW94LsL-EdY6v_)-D*G1{G* zO91-{5-nbn;G=2tVQiK}g`{dv!Eno}&X^-YfpE^Y;j(^jFReX)LWdzxj|}@@11Jh& z$WFn1wfH@Wu(HSIgY$33f7)c5#lVM?rVBn*xX+o&0W;_TgR14zasDO30bmHN^qiH5 z=i6&=V4xK@GQ~k?V#3Rd>}cdBuPDg>)+*V7THcb=W}O;-zAMiv1H;k`bc*acH4a;& z=-{Y@nNd{p)J7YByFB#SP+7J~kGkmkY;JQq5_D`fQ(|jRX-2za`+x*jUP@fzxCFsv z!U(Y>a+NTYWB6K~@b|^$GdObO-olI3hk$clt|)HbSYj?Ok5Y^VE+MwLJX8^QKD>N; vd3G;=Ea7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M9DAbULzw0002qNklcPBQ|+?EeJoSg=u-N}I1D`w-HH}zIX<1%9M=Xc$yhN% z0}iy{axDP|r{VJ_;jrO*)QE#(DG411VyhVkdpiz)0UpjII8r(B00000NkvXXu0mjf DT`Go! delta 273 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 Hu0mjf&WA8v delta 689 zcmV;i0#5yg2ABqrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&z)1K~zY` zjg?D|;~)@*-9qexfZokwqA2Uo*uCooaV5KvLMI#`O2i4~NOOca;1po6JJ8CIjph1W z_1A++_kV||ReI364fMbh2u3v>09^CKan%O=?g_As?-c^Owua+PF|KlkPJKD+o7aH>6^A=m0t)c|?hfXp5~EU)q;>&-!B z;KyHCMbK-ojAh_=E#YlFvI6}2(~z(}ATY%+KU)$Mn_Z~!5uodTjb*b7FslkMXSQ$w zk1;5WR4s`H&?Ogv;G)(5hmK4H>TstPP>8|J*|8N{CBR@*s-t<1PsClPOMnv@0JOWM zyjQQikHbTSKm&&0U!wP0@2@cLudvWTAyb^_ zvcpIy8CMYq8ESNY!3P@?ngK{fi=XqUU1O0jm)*u@s@MuM33>6GK=-F8QkG5tpDO*1 z8w-q%6OJXa(Ss1eXzs!`)+($dZR7MHAXNaE0fVT~TEF5>yKBnC1TYs96#{()rMS|( z=b->0#1P`^B!jDI^0xjO8Wel$k}V!t=4#7JQO{}KG9X=lxXW|JFw0nmbg(T0=HL_z z#Q|m0Fok1z>gjTFC>u&UCAz5Yu4eL#;$`q-@mKw8U5un55pLNKT2>A91v?g1NEc$% z>m!U6RVB^g(N1E|bEaIL+Q3w4CR|qoxnXf6>iyG4fJ`D__YIIm!1x5H@BWk1b^ibt XKfkwhMF@%v00000NkvXXu0mjfUlcxI diff --git a/graphics/pokemon/mewtwo/icon.png b/graphics/pokemon/mewtwo/icon.png index b0dc901658c6931d8024affbf60ab2706eabfcf2..5a011283ae47ef7cfac2be12efcef7ff13d1a16a 100644 GIT binary patch delta 370 zcmV-&0ge8X1G@u|7zqRe0001qplF?uEFZtZD7XSbO9!W$&R5;7kk~?n0Fbsxy0}eSr&rom`tg{DNU2EuC!$VfN zR>4(~Le(~{c+JuhFkt=Qn;*d6wsLx-1&r|fZNjy%1z^7mKlDx>&`i6)#!&?P*h7Di z#3J0)0m*ev1kDNTxL+CpL-*;2h)0N{A*M!<2AmBMXRYETi8Q8VlE=P~c&HGVEZaOz z8uDd{%{(4CMkaRiQ6=3I*=}kY^SSrs=p1{GAwF#|O6k)Q>q4G{+by2U@dMkB$G@B=0=u-cA2L!1nTOD5awX^Ud0_t7ZP^iLzgRy2<8X>#cq!yS&X2H}z zhDI(am&$tmvI3)JHeevDumV#QkPVpchM+N3V6;;KCRboe!$%3F0p>+M9_(w<1>QxV Q!~g&Q07*qoM6N<$g0y9vDgXcg delta 330 zcmV-Q0k!_S1Cs-g7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0TD?=K~zYI?UYLn z!!QU$Q?bR&{cl^qNmH9~sz{Z(DN?+dF`tCIZTrXl06yq~Hy3e39{?n6?$+6Xhlu!- zg6pjqTvIs`P`yVcXhqKiBBr~64CH0SA2o0T{IWG~apgcX7$S6)B5r$+mIkX+D0&zB zobwz|MIPPZ8H&MwQ|D_4N9c16FVT91=(Xx;Xptj2DFqHk&I;Gr$F}Iu4?pSVKywZ& zYj8U9UXFVacx}YWU}BesZPDRBz8d%VLHq+h2tfvZFoF#HAOsos!3Z+&ga7^qKa3;h zimokPiS@+bj<*hdH?_b07*qoM6N<$g3<1Y?*IS* diff --git a/graphics/pokemon/mewtwo/mega_x/back.png b/graphics/pokemon/mewtwo/mega_x/back.png index e910d8e2971b89856b81076555548742f47b7950..32276bfac603133eb4dfb028fa451b5fc20902ab 100644 GIT binary patch delta 615 zcmV-t0+{{S1 zV0+iQkU!HPd4HPu=9`_B4dWleoOWM#2=F?<4E`4|G3z)S1Qs1Ie}6Ruq*LPttPx<2 zH@EpaFIwmUf>Cyx=ZTBCJ_VuZvvUkF&GaeOA@T@uo=>&F((3>k<=KGBE<8;2Dcl|a zWGQqyy&hmv(mc?1ajp^Nnj!>+(CIWU$1GR0P*f~005>F6YOI9{tf6@}1_Vs!D1a-( zao|0mGtvd(3m2SGe;@8vmTHs>Z~?wsnsLL0xcla)z={EPUn%${0_ApFf9-yZ0aaDj&%+hEsHGG{ z1*$&*<(Dy_Y0C0(1ZV)7G2oHiEUS=!iPR>)n=q3AqYxA9IbaV1pZGag4-)V}mdHZ} zHj)Ha1(t;5>oNf0tbiy zuqBi>XN|mMU2z6zC<3`h&3F2Z9Rsk%B6epwU0|9Y63GJNQ@R=UkIS`=Y zcDByVjP-#vd1x(Yflzv!_^)_q&H$?sIDhk(;5UfzGkm~5^&S8K002ovPDHLkV1jMN B4}Jgu delta 624 zcmV-$0+0R81=t0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x?NMK~zY` zoz$_4+dvQiP@RhH3?40KxXwBmLyAD8kp(GIDf$58s6X4ms#2th)Ld;5$ah>YT$NAA z55xp~ZuBpim1KL@yHZG|F?b&{v$MOh{w3^T^Xqm2uK~9Izrea!Q%3b7x21RVG50`Zj#9-CB$9lOXPkZ;ehhr`UiNoe9fxKQ6#qRm4gBKa(+ikJ?)dz|qFQ2H4f9wGjK-C8x>1H{Z0tU)9#odId0<26+`@g`gbE;&z(}MR$-whrB=<;@;E}X$BY{jB6FovM zUs@1=Nq`=q@^aQFN@i!k0~OGxg=XKLm>4vl+8{p+MiszI8MEv(X#T)Jew~arliP?h zJ=EvGfXlD5p4`-0A83<@dIUAN)Tl22{fmd{45)^0_)J}gW&Ht&@iTnu76$VG0000< KMNUMnLSTZA0UXW% diff --git a/graphics/pokemon/mewtwo/mega_x/front.png b/graphics/pokemon/mewtwo/mega_x/front.png index 83d35b036f5baf857fa2365bd7e12357b643a40d..98e3e50d2a3f46acd06b9090b9f726e0ae6bb938 100644 GIT binary patch delta 772 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 A^8f$< delta 678 zcmV;X0$Kh41&s!fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%l1>K~zY` zt(3ivn@|viF9j};iyeHCR_=Vgc>w>U59^B*Z3Pl;+-<{3k;}-`d51gzDBcEbnFmOf zZSqi=0q!3QTSU2yLG$^XGcy4D&j$eBuL~jKo9Vi@+iiuond0;04ZaC0Y{Vf09M~mNaTPHc!Gr(mrwx9#khn9Y8-}SEE?4PJ_26d zlZW?V5(p0D(E(mM25@BSj26AEhBqMSVzDjZol_~>Kv#}0BGRz&&VEQp#Uure@m?h7p-6h5>@_oAqDy-}YM2QUKI2Sn)`pt9=#u_oq!0|CDuRx|*#K+pnU-kAp zH39fYr=vg)l@CYYH?;$pJ>*NA#1eQCs1PpT%MJhpVtZr%d>H!+lnpvLEI`xP00000 MNkvXXu0mh|f=xK~zY`mDRs$+dvoq z@Y5gHEI>D?iCEgbz$i0LBPlQ3xC&4A{WVdkmN-L##vyf*81zLvsWY_k$n= zA!Rb0n{%88089svGRJbf1G#I(++3vyxVHz!5Vqhw_GJ&uArg4I{MrUAc>hf_{a1xK zht-TRqHVy_{nbKee?W3fWOvae&JzmAtekYoUL1qYywm*obhcK+(cs|-r1Mn2LnBYV z(JyZe;6?)r5bGN0=~RZJCGgM zaO(ku7($zi2B`7~Tmt|XQwW^_qhnW{09!JEkq;q_87&Qff2{NfSGopxjAmq`veRj< zsw#|u!DUsNfgVa6!vLDIy*bUW+q5y~&;U~je}O)DE|LKfu?JWQ5DvlvD9zxK(int~ zl|YzS(MO1UB!fN|a#U6NCcQ=i=;XZrHp1k$YjxH}BbKeqR#0C~Bsn>lvx zAB?M+W^R4}d1U}@q4)X@IGHLdV+QxoQ5jczn=AJ<@Y)DI7j-MBe-(c+JEn=M)1qws oCa>>|ceSCn!5+jRO$)*g zu;X@U0;8|6cbS}|8zlM+(;*J%=l}P~vP}MWP)gh9qo~&=oQTqX?+gcwCeum8@c^Do ziQC5k3&Q3X&>CzwZUN4JnIncVo#KEyA_OKT0AmEOBnA!%23%n0Jq9e0G1ekPQ3_nj zp*?}5{V0k-NSO`i_8R9A05btn7FdmUAa|pj+q)DI5B9(s;R@bkU-!Tsk-^*5w>IFw z`|qNe|5(~eX$p#3sTk0km`={XI^9N2?JP@nApj`{ducZMA z@YRLdfyHqTHvv#cA$GZFfU1tb6##HCh1eS~I`-8Ga3up6g%Hz}(aHkI+N^MGdVq&y zMmFlW1v9kPaS9B7E_G!GW+`b318C0n=CndHSjssxz}CV)U=E&-RDewE0oDSGowS4e<)+#^Dk1|R`VL`6JG!wLhA0UJ}K4ZJ9| zYy-7Y3l|63(9BmjP}xYCy+(m5vXM4d40Os{`K$T!OkaL&*g(FhKkW{~^Uv*_Eug5j zb@Pnfhzx%AV~( s)p?0-(LNS?QD29r7NmV>YXBjC0BIA@8zJtjh5!Hn07*qoM6N<$g5A3)*Z=?k diff --git a/graphics/pokemon/mewtwo/mega_y/icon.png b/graphics/pokemon/mewtwo/mega_y/icon.png index 67cfc7f40778747c9a54e35c59fb4dc3bcbce481..0b5fb53da6b77d40edb009254a2fd8e343790c85 100644 GIT binary patch delta 331 zcmV-R0kr=70-*ztUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M9YCWN>%H z00035Nkl!MUGl&6#79pBmPhp;aJjAb72!*|!6bkA*IzfwyZr6voY^u&~aR7&qiccuy zBhgSS^l{36OhhutKMvP$z$~xhAQcWUqCen}Djevg!XYd*4)Pm^oPLeNQsMBGKH~75 dzTEmKTmV2l^9GFJ*KYs-002ovPDHLkV1ln=lRp3e delta 294 zcmV+>0onec1N;JzUw;7yNkl!MUGlKxDYvf@O`a zlkCc=t6}HVeeq<6W67$FEV*Ug%|%dbyWL|EqUz-srs>;5{C}!Fp|I7XKtY_0^=J{% zZu&5lL&eD&9zmc+YsUc`jdmS_BfjV7J`C{w#xTFZ4(aabWC9^rzm5V1Cfm|84$Pq? zje^hLegKCj5uZ@VSE8X<=y1$`Ofp@?`dj@!95BnDae%E}aDWy40f$uKKra;zVXkrT s*Er<#YaHeZhaYqLh{IRO{2>=PB56`Fo00PfRL_t(o!|j$aPuoxs$89xL zT+yKpL1oPu15&31kQgBeO*&%vRZ+Vk!JGosIf@4hQTb6ATB%ZMu`zb4s-h6Fu#tfe z)pOEH9q#NIDL3YRxx07wp8sbUGkd&dzQ_Se)tmrO$pO~vW`8DN12}dTumb=~M40v# z>o4prd*C@QKh$8I1sdMlJqI8jK&8x|F|ncwhN^1#XNON_~WtLs&u)m^*}5p4*fGvqpXLpoRETs9^z|4ZlV?BF;;Z4SQFq zc8r<}ZzoBDMt?zdFdTFK61*WI{G^@wZv+7Y zt&|^)BmP3BtqxChWDP@hUU7O?)BjS(*ebC<*3;M*VV_Ad{O?E2+{w8l`JVY{u|}gH z`|G67qnQZI>`|JXr|nLTxR)RYn6H+%GBeO;teO?0K(Y$k8N_SY2N$YkF~Ej<05w>3 zq&mv5ynjzQHf;%*uS3m-YJ4oEczWe+QwIDZ0>2i20CZ%4x`05!D`~$m1h@vjB`G%* zNk?!={YAjsg*DZHmIz>JVL|y?j8OavEB$L9u`2-2N~IMHVqrNTJ8sZ^gK?;(5(0m9 zfP(m^_8i-B_;B%H$N=K0pzZ&}IVi}|J<*iN%zXq5ZIHOnGYC>-7JzQ|x1Wl;>kFG+Z}73xtEbz8FwEOab(Vai?IGreRqPFYOpwGsytre5QJ*%c zU`MqP`}`m*Ypm}qZQbABNUvfl@0J!iHIw(5<=Y=^>gHpAZLN|30000ZJSBNnz~;E(Fr0ny=}(-kS-nEU1K-n*B4 zC&Ww-SH`m`fL)%F07_GUb*qsJSOAWd2W$htG7*MVW#fh26@L#r=lS~zykvp8_h#1t zi2G1lU|X!gzDHfe$>BO%!gvWz$##}7Ib;(E@z!0QrwZ6P*Bs(q>GK7+F=E8W4S>}H zSVk={cK|Oux1k4&3f+?jO~jv?9u~pb@GDfK$3-c#uy&+u#i+RSR+1zr3NpZG%*AbZ zO+@rbh8S}BZGV~~0sRmowgIDFx&@N(hD%WJYVJwe#7VNrp3n59LW+;65(|iyqEljM zXaONc1oR%!RkFW~Vq2JqiVh1<<>FWUwosEelo+Cz49}}#5{Hd|8C8sz{#GrEJ2L1p z#~es0KW2cGO>Wxeu?#wmEP;&qX*cL58)-biKU`c00)P5SO20Q|6NtI=s-t7oGY1hn zuQ+|H>38YI*e_(co+TKWMH=mEL~1TtQo_lp6*CHPI9b5oOa1ee@j3m7}F zF6+?L0%$KTN?&O+6u-i1_tHmfYk()Vy^3M1Sq?}?b=q$*j=1F@Q|PbtQDgq8o?RisLcXGZ)Y-&b zHd#NQb*}T6nVsy0u~Yots5ztKz(#&FUq{5FB{l@?GjrZifOn0ee{Q)1ro;Zk2y6vB z=$CVr)gBRO6F?83RKgkpTrHU6sva{KJm~A8JoKV3m8O8fqXy1F0U6f~pf-jUz@3!e zS)N1xN1NX3sRB~Qd4)A}bufmDw+wK*gZQa~#vE_AQpJuV@8HW?11t=0gpktrcj%&x z>9Vwktxyp~)B`)1e}VxBKcJ6^7#M*#9Al`@z}^oa*kxdL`JsVE0fM~5^~eMS9n?kc z=q(ya4iXWd`x;hU%VJ6qp<8*GiYbMBs=oI{j~ocGsOdL1JO~+KN?VUw-AT0|kR-m8 zOPI3K7faQ)W1$9?F@RMXq^U|gXMm2&D;}Zhvd1)Yi0-OfJ0cPL4bC&*ATI;fq&FfhyyzR0f~+x@QY?*l@fMc6fJYCO z6!H|lk+Vs2*<^bc`@hbQnaO6Co$`-kxx?eYL4LGeL&T#kHUykAbKO;dcZ{NDdjuwf z-q;8n1*Xs|*KE5rB+w#%fKz}{3wr=?wP3ENX3U`fpw%s^LpS8BZTo3gHIOpSJFKCjgArW3Wq>|w* diff --git a/graphics/pokemon/mienfoo/icon.png b/graphics/pokemon/mienfoo/icon.png index e5c5367eeff7625b917e12b290e9c81ddf1a6072..cabf839e74714eca4b16d528f20ba8f1f5c7657b 100644 GIT binary patch delta 342 zcmV-c0jd7#0-yts7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MGZwfqLE{00034NklD=sM&=DUMbVma zj&Q>RLgR8mC~Yv}U{#>FT#DE3v8Sqg^JsRovpbHWzg{+Y16u6^HEui-#Q2PqbBTY8 z!~;IDNEWo^ycTRjB|dN}D8sb4tUXQ6WWS<7IZU{U;7)?qcezisakGusRGBSv*K-@R zV=qn@wsJT~;>P4wHq_lse^kLrOdjq?NB_2dc)zTI2wj=*BXmm8J0%oJj2^%+u4oH9 zVl6zNtsZDTU_{(5ltWB*5Do6h?Po&W?un-aD6_fjXX>7KFx^`8%Qu^U%fPWkKG-tV o?(|p5=Oq82VN}5n`9(gy07G1t;f_G}zyJUM07*qoM6N<$f)O>7R{#J2 delta 287 zcmV+)0pR|i1L^{h7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S=t)FDR7i>KlsgW? zKnO%*xmY1SbN}0Bz)BIBU6+;;(>aV7V8eU8p131`i@Yk98knfsLW6Bn)nJ{O0|lj- z322Z4nOR^rwjk_ck`GsvoswRF!Mv)^@@!Fpfd#ig3G_v6F(CFzz^Qlnjd+( z2S2=+ycaT?;ym&iXa3;ex5o(+002ovPDHLkV1hGogAf1! diff --git a/graphics/pokemon/mienshao/anim_front.png b/graphics/pokemon/mienshao/anim_front.png index 598dad2d0505504e87d0b078d0e9bf6b14ae3f6b..860b6b641856f7c1b940ea7b2c330a914cd22fc6 100644 GIT binary patch delta 1189 zcmV;W1X}xm3iJt(Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MGck{Nzc& z000D6NklHt_6hDI$SR{avxN8?DKqn7$DT>Mx2o=d}9YP-Mr5-}^)srE> zZAcB7)L6$^gLQvH#vn_!wm>IsSqgLskhp(G-|<9B6hAa{DSwJSzy`$kyZ3eX-un^q zZ;}TG4?6V+$4B}ez;U;SqetBah$9TBqYi+F|J)8Ms!w{)UUmU!-@W9sR{g!V{jVX; zc&mx~&sP9&&f2340N4%0<5qwRXMA}B(27ul_|G>Mx@nDK4AcdPKegxSL@`jKqu7Uz z>s)kRhw8P5h<{p}nAC)Rn_e-gZBoyLadQ@m8=4-_3nhSK@0Uw1;kIC95DD;c-RK? z0*J7&wu4YB9z>QB5W)}ZP7ZefGorDXC}p;;eI*1fxLgozJ|Bc|DQmCN%Cpjz*@C3= zx$=Z@et)COQLrsjac8MDCkp3GgsJAkWFy&<-)d|)Aqr!d>d1C>Jn&mS(PnHyY*W-C zGHJCt1VB%%8TpY81>kaFlbsNzTsKl(qtp{`vo>X>iz()2kn}Y@PXoYA^c@fSG*3Qd zjAcvI^Lf>PrO6|h1DhqNUsgw*Mb-dfG0Y^%IDgxnh0~&aFw)%9Zu?%ZKWM2qs|;Dv zJOGk(o*P%v=5eceXFsL6tzq-HRm|%%*$G+8#5NRp@bHh@n~z*;7!g0|1b8-N%l1orV|s~Z}p)<`?aG*nu0w zUPZs&XN7$BBU)*flqc24?+m`%8EqM_*ywptb+l#NssiXB+>G!qGR}9}t4F=9MW@yD zg5#L*;!8t5Ehn?;^aMV+Co8$x)q2Uq&VRZapZqE<&^nuPu##8w^hA=2>QU&5f}{}U8Zc^LNiI@^oWqD!tk*q6 zfnX_;V5rapkn|w8t;P)@I9v2UjT%B2Y|(>ymm;G9XG0H~0HI@U=z;1rSQu~7gMUVV z#U>>^r~@#IAuj)d9yngZRp9b3>4D=n0A|8@P7lU5)f)g}9hdZ=2G9bAT~yKozrJEH zx=AZN$lCIX z-WRGNYs$h}6#N0HN}WF_3uV#CA0Cv6qW{ky{-OL0fO@~_QB1oR00000NkvXXu0mjf D7tJZb delta 1201 zcmV;i1Wx<(34jWaUw;IPNklg8rC&DG|8a63dwY| zA;AZdO}5qD5`O>+bl~qDYCl;l7O4~8PZEF)A{|05`toOshpC5vO_#rH4mbc5Q*wlA?k~Jx*eXVvx<=2aRAyw zOH`WPa@Y2`4Q~Qgda}%Z9`GI+0_dD45wbwTCN3PTY!Y%V0I znXFbcXMZz=_C`pe6iV&u###h6VCNgy50-Jn=I^u9^YSd>wfW}dqc^oc>t(C1Tk?GGm|p+cwSn%}1I_yn?*N*2 zXom-PIFKK62YL;_52Nf<1H55ael0N6Ni?s1iLcZzV6dmtqqu(D`3-tE{jL&dz@dlU zVSiP|kck&U_aSa2VUTZrdi^5Ps|zkV9&hFc)ph8$X?w$*eL2sP_0DqfdGCl(j^sVID6n9ax7Qa||_tq;8z zxV?qxd4(-WtpJ3+c#30rP!b{5Fey-|0h3rlTrGh@1U~;kB9JRF?i%)bk$m>rT&2VU zLoVzB2V!|3e9K-*3PwgA$b}*xg-%8u$b}+6(GX)L56S??&{pz5J}mJt$jF0I;D4Hq zQh87Wpo$w9{)s#=3IOcG4fsyvfnk*ZKk(o}9t?C`_?!UX<5<61%7X%+*c49DGkg=v zgF*z5Knyen#)qZyfCF&OE(2OF55$T>4wTCSvBDX<6!IV}$^)_f0s!?u9w;Cn3i2QU zlpYrbCq;RX05JEtsaFCh?D{Ox4=Ny4iuz&eZ0oF6KWvS*F8|jL|8V^c;6vI4fxWAT P00000NkvXXu0mjfE|xM4 diff --git a/graphics/pokemon/mienshao/back.png b/graphics/pokemon/mienshao/back.png index 98e9b6e117113905e6c64c6407743d491515c9ef..43157c337d037886c8ef2ef28aea13847e5cc5c7 100644 GIT binary patch delta 550 zcmV+>0@?kS1&jrdB#}W-e*gz`Nliru=LQD}0}d8O3CI8d0q;pfK~zY`<l!j2?7aGktiRK9AA*|3z5>M2U>pwlG*mY zfmz$@+ z-!!5Ej8iYp3W`zpG$3V05V-eQA7CNw77si2dBT;cZnj$#4FnOX=7igwR{~>N53=n|F-4b94Z3sbKw?MQ4w2VeuW z3TBcXI)Fo}Oc!91+F(fQwrz3&_8hn0h)WPQ7?drTv8bfO0PC7-?id&`uXG&v#GIw1 owOt^BxUOi_@% delta 559 zcmV+~0?_@81(yYoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q{vgK~zY` z<BQ|`K^4h6CY6iG9-<&csQ~c-aQOnrFCfv< zleGSbNY1wR4b0kJbM~%}o=j)W^X}~I*z5_0_wjmn{^a)CF5#)On;l|P#Q-Iy5wAyq)B^F{$P!9_WB>x-)0a~>cmx9Qc75}`aEp2UK8f28#li(94S9l`Xd3aLpCw|! zd9eRHXu(ksm`2oqaq7i+Nips3qz}oAAn-e2V}M0?Sl%5l8(f*{mWO3|H?=^TqY($s z%JSX@xa!2-(GV>4EUZv>nseQdDC*_?qy=)qQ`gjq8srEYrH5)U28vBHb{6oV23Ju# zn7I?A7@5(vfT)3g$rD|;Ks#0X3vmNsfB-xlmH->*LI~=*1>!9r{{fT@#5PD2Ra5K+ zYIux302`=nu$1&L030%9x&ZUc1`}GhYm*DG$E4dMsX*AkuR5?~aYdH_eL$PE{}`Au xuX0@Y+}x$4wOt^Fq^VN>U_95z{J+82ADF5FAhH)m+LAlbdZiRw zuC=}cDd@6hTu`iGFxtdUwt)g9n96z@kH5xGh`(JjT!7cGM)E<%H89cn6?j7DmMwp8 z8vwij5pD<67I}rc1XCNR83DbRL5fB_<^xZVqG^U(4$}404B+Mdc@vTk1!yQ1C2a)Z z#^k&uhJM$BuR!jN9UTJAH`2DZkLbLb8xC8t?A)OwV=q~xIm5g^X)m`(=Bqvb*ZK)z z=of_H<}6IP0%~FwrWh1qu0Mq-21Q7K^f7I+N(b8jBKkg uC)>giS7Dfwb4O8y$@H}F<1Ea#{rCWer>VGIYkzS70000N_Q{=;1+w1H)9l#WiXd5QbU3WkB$hp7u8z5 zV|LncE42MRLM$+UCv_d(s6CXm4TRpeyVA;e|@ih03i5%fB-ZAB#GdwpaWzfOk|@6Ko-I@epn|+ z`xV5jN1yaK!rb!C5ASt+v01kb332-yKN7&mz>gFlUMKt^XaH#g&iU{JkWcgB4(g~A Un!mKdfdBvi07*qoM6N<$g7#C4Y5)KL diff --git a/graphics/pokemon/mightyena/anim_front.png b/graphics/pokemon/mightyena/anim_front.png index 90f55dfdf7c60f5aa247a08c9082da058fea2a31..24f486df6d3f23b3524e8182323db27aeac18b46 100644 GIT binary patch delta 1255 zcmVO{2?Q?{ZjVs_00gc{L_t(o!|j&8Zrnx?# zCGQW(Bjv_HimU+xy8YeE?9ASNpXdEMD|lkxm-PR)PXPXA0)K$u6M*y8cqK9Xh(H;P z2S9*bO#=CHb}@!_xT^Ls;yIHT)Pf}PLFusjqHLZeE4yJCFD~0>k zMEN#Cq?<)i&wthBudl8p0#@%Lv;fuRuhiKeuL=;3$hRf9ZA-`WmHPho=Xgrouktnm zt7yAzgTj@iCFR&aMDDzvDytqR*q;hnCs z3`Zgnz?b$avi;5I0t$NyA%qeu8APBIDgkH* zGmHRP3xC7}h^h}{)CdQJ1TfRh;j2pkqVSiD(@&%q@E(xG5Mzy4pD7`spL(xKNa8So zm^?dGkkIbb$}Krs)w7;LiN^ zvF>JgSQIq8sJ*Og&U*lV;19twuD6j{U!_>hYVX5Cl5N{`+sQvrlmV%LyPxU^%Yu{u1@w&o&eCz7G6zyO~h$wKuzbF(L2b zJAZyez4sZcDo~uwc!_H5#Cc@@m)B~2eKoUV0K0#!)DO$l#v>&#eE%-Leu)pr*foh) zD!YHVmUiqAJcbp3E=PfSaZv&kHZ>kUn&z)Le}@EG5I*v=V4Q?CmA3c%9#p~knjY|0 z?g#5j{#LA=HXn$9wRbz<**EXQ6cSRAU4I0W@x5@dw{>~l&A^;C23~XY+gq&BWiY`W zKn3?&ug1C47%HJ5$Uis>)0Py&S=rX8ov1ti;3T{O{4=O3Ji=Lh1CeY8%v zbMgcjhYkzfYBhuzO$DIrcIXV@ngN;f`Z7~7_2bbGixqU|Du zAaorT$Nht|{_dNNPZ&Cor+|}Y&rwGW25SMccnX;G56&KZcK;Ck?;k$b`Ughr!H05( RyEp&<002ovPDHLkV1m^mVWa>6 delta 1243 zcmV<11SI>*3cm`Fbbkc3Nklm8G6vssk8HyetMivXSHc(q>cIw$4x+UVJ zYlVcGGK8m!Tjv)22Djfg=nX}-&ex%xiwqvp>F&GqJ&Lj|$+Ej#(V;XDAbLOXJw8(W z|AXM)8PSP&DCzH)CxGzk2msMP04|o}m89@30@WxG0s`#jD1T5aCYM9tA+SD!oLnh8 z0L~&?cwmwjH@4!vc+ItO&r*4}G6;yM8!v0E-4tPxmy;VSZ3n0|#g4QeoVhq-bYIbTeqy3w8bDn_G#1)!P|7 zKy`&nHUH&J34g*7MO%UkTUutQ)Ym`1#8qOvF8mCvrm$~=!jZ2l%CXJBs3QO0XFn;G zS#Utf_kb4uk!q$$!?sNd$PT=Pt zji?FGTw5;qe&2%yw=tMl`0n5~@}he>1Ol+Ul6pJ3dwPpil zH#xe1Fc$>mNnO+wF8cs8OB_lir53feb!mGkg7amb?b$avfat(0t$NyF~kxp8O%T_R0iNTW;g@n9!Logbsxy75e|q6V5XZR zRM!AR;eVHmyPwG*;yoZwA;lW8K2t$PpL(xK$kI52lt;pfYTfTsb7=UwdKKZ;Q=j^+ z4p>zgwx$j<`@jzX^kQ?C8AALZK(pf%!p$-)qM02x$;HF~VE(zCodC>-?+>QHE6X&M zZa(mUCAtTkHRl*#G@DHjOrLex1>P5$c8`DvBY)HT=S?@m)2yV;OZ;JFQ{Dsk6Mu?c zaNW+#`YOdXY!keHN(w#bj~@~Krkm&4D9~hnn*McE0H>Sj=2$$KMYH1y%JBE!9`h4% zC-93SK#IU(T;Ib5>U)@v11YSc@WPG)sNSn!a{cOvyo;~+0rlQxu&P9H9)51y64lCy z^M6SEhqr2Vdo!_P0DF9^)HjQ@O-D*#c>i60{u(ckkqj(ds{HZwN)EqxKX?jD09}m& zo7rUrP};Q#_`x*4Px&86patP0p9SM2tZQj|*Y92xoUiBt_i{fNpYnHN<+OQE1gw47 z0x!P!GhRbRDzcpcWqc=G?A@li?Pg$38-JsqS^E7w*61>rXa}Hz2i~i3?lgup3sop2ZAA8a$)We9_fhlPYRlbm6nU{omGc#YxQc0H%l!-qx;AFm;bU5CYC|KO~@d$aKg zLkDsSIBQ~#I%qJM2h8jgaMV9Id+^cyL-Te2?;k$G_!~y-!G~bdlkNZj002ovPDHLk FV1j-eUIhRE diff --git a/graphics/pokemon/mightyena/back.png b/graphics/pokemon/mightyena/back.png index fad59cf11f29f7cfa28c85ce9cc1a9217a16da2c..9750191180dec3c402a3a7cf9bdda52d6493443d 100644 GIT binary patch delta 579 zcmV-J0=)gT1*rv)B#}W-e*gz`Nliru=LQD}1tN09!mR)R0t`t+K~zY`&6Q1#+b|4; zZ4}5_f@0mnpyRHCXu2$FWT@$477<+WUR@RFu7_w>Jw%UEQL-KX$TR4sm;jCgzfa^N zML9+B20!mUy#m0)E5PGF0F(#JXoAcwqnFJH9E=e;0L+l%i)r&ff0KYi)4C!HK+16d z+5@2GAN?s06lw%o5_bGxe**o}ri@avg#l>$C%MukORA;;pwC}dyOfl43$5-?i@A@>8Ax{p zePfJV)R%yI1i%>cP0SJu5n=`+2`6dHcd@V#Vz`8HD))R`o-K|s=?wh-as0UM;-quA zKV|o4QKr+5W&q&xuT7ie%tR0EZJi<1a8IJ8SnU&=yvv)De_6_sA5T?e&W$EHGbuMf zN%JB|$jmIvEN<6FZAQ4vtguNtRUtOB!qzc-`>F3;)BiaOS+ln93~+j2&ReLOEq*8b2A%Z8q*G>a=+e2)pK13g7q-496Ew|WV zKn)}g@_!?wu3Dnn&UbYi((7MV2pvN5Fbe9L(2prnZ z63R}?LEp19Pe@&5M^VnMR~eBH3GR8``CTt;WkTN6^b zw7}2-=Z*Eo6ClrN8)Jn|Sz2!RV8Z&6RVvPkHv#B3fEZ_qWn;Vqecm*IbqZiPh=eu; z6vj4_Nrrk@0p-+0(&@thoQq8x#;r1Fp&uvF z-C;l&0devm8cW!Ham_@&1;Xjw)$oIU>h~vq1VUn7A>>R@hA`s{esLGfepLv={S gE`DsHIy}>lU&>3TD5#*2TL1t607*qoM6N<$g1Cy8>i_@% delta 299 zcmV+`0o4Aa1AzmOUw;7%Nkl_;QXL$C_o>Ls_> zdr^?OX^v>)>fU<`p}4PYK6;=iRN=Fo*I>$@-U2R8NoDSsc4u?k=%eBDbGkzV4U z8;JOe3682P5|MTju#3c8liiG#P()w6tR~#H!g?H|2e5>(>6i0=1cH0bHNK9X=xZ!6 zq0x6Gh2zgU{pN>9$)w-u8htWyoxb9?X$Spjhe4m8=<~Egr$6nW^xu^Jw1aX&qd)E7 xzM%BQ%h?W!A0#J#s2$c!Cx2{J?eL%e_yx*KrzrM%?I8dF002ovPDHLkV1jfck^}$% diff --git a/graphics/pokemon/milcery/back.png b/graphics/pokemon/milcery/back.png index fec01e631d5e3d3a269cdd4a468e0e5a185bca04..661ef00c7ff5c8c25cab9ba004f32b25d760f632 100644 GIT binary patch delta 348 zcmV-i0i*uV1H=Q6B#}W-e*gz`Nliru=LQD}2L^ocME(E(0VhdBK~zY`?UccegCG!w zA)DS+(gzUf-C^hhbe+B1H2eOqvICN?6vQ;?(f=Z0KIfkqP$3SzFWK$@of)g~)8M8$ zfOZE^*w<^g<6H+$zaJPyyE6(PQnmP(BbsW%lEi8^Y+8O(4rr+_f7<|opCzJ(qK#zt zCIH9)FJFc91QeR@9O%%{O$f!n1MSe{C(YIU2=NF2Le~G81NO22ssMDCP+b6kS50o< zU**H*$F&43+q|zffso?t7Yx{}iI^E8;6_nS0rv$kH&IB@Mjzlw=9gP89x9HS#=?#F z{YM$XEQP|A98IMnQvPKr_eg+J5h-8;fGbKSHDG8I*OkaL?mu%RZJK11i6)L~T>*N> uaXoJX;Nw?O0jwTit^s^F^YPz5^r}B2#$cuO#^FH#0000ocGU-F*x3hycRcKb+Wb=LygSpgqU# zA^^NP<^kbWe%O4ulz?fQ_w^=r0+$X?ZMWKXBIlz<5Uv4>N z=rn4|Gju$Ek|oSaXq?H@P-@~OM|s8qC^fMJTm*1N$wdzs4~p|aPUO-LpE;7TuaP$^ z00;JssQ{g4-;CP;1pgu`fHOUeHGm(^&fnyt|0f}S0VBp>rCRa1iU0rr07*qoM6N<$ Eg7j#fKmY&$ diff --git a/graphics/pokemon/milcery/front.png b/graphics/pokemon/milcery/front.png index 3271cbe177f7ce34661276f31238f1a8ddb10029..11460701d0f4c9ee07e024bf8c3f84d651b2901f 100644 GIT binary patch delta 314 zcmV-A0mc5X1EK?vB#}W-e*gz`Nliru=LQD}2Q|YXCFlSE0R>4!K~zY`?bJJxgdh+G zU8OWvljQi$^ve=fjojqrfR1H4fvGyZ&ip-y=6(&0YGE>1~a-g zzz!G;wSm~JZ-XJc9E4J1GbTB2I-M&DSTWOcyd_nPY16#XzA|c6e~C#WMu4~!ANK&- zuBHM6Af$^USbJb914)>-h<&))Fk_QyLYf*Nmn|m+Cm`PeI97I;nYRp<3Sj;fOJ#=y zI00P-bOQ86aEG}5)dX=VA1dI{18EkADkUZ3i-JIqRbdtq;+RoSSP4o3x&0i4L3M4w z`C&K5EUm+f0O!+}FlTcG|9zR)aI_tArSH6)_Fo0l0V4R%FZ(~%4^XH%@UMD+cmMzZ M07*qoM6N<$f>{ZGpa1{> delta 326 zcmV-M0lEI71F!>-BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0SQS&K~zY` z?bJbXg&+(DU|6`9*lE`UJ%BP?z~%t74)?!G19t4f0E@SI(|P|w7ko-gRQ1YpMw<=* zH@0suV`u~HfMIiOpbj6~U`XoG7}I)AZS=g`e6A=UL*%~3x2&Wa@a43-Voq`Lv*a0|Jc9@Cw z0+tFO`V~uMhYTnKD+6}{j3RgkUjJ+YUMhzQ_~?N=i&IIR()^+zI4DY(g$5oo+6gO- z(%`~zjbcM{FCfI>*v?t{fHwgl<}c5er1*WC*Kn4dO7eFucl$3PY3l%$IzNI}{$rH- Y0Z^zp@G^?;xc~qF07*qoM6N<$g5T7Sp#T5? diff --git a/graphics/pokemon/milcery/icon.png b/graphics/pokemon/milcery/icon.png index 0e0b54d6c0fbf298f63aaf129f2bfe256d7ec90c..9edf83068836b083eb31439e15f2cb99147c642b 100644 GIT binary patch delta 214 zcmV;{04e{q0>c83b$$eJ|{&aktU53EUwYx3!V5M;QvcQkF5m2;?!zKkfc6v zAUgoLpGhsr9d-A~j!*@Q5mdmB_gcJMsbzMcwyfrloEpBFB~K-#CXHq-mVLxZP*ojx z9w>0)`p)c+BTg+K>b=I^xu0pJkdK*M9A54p5eFWY7zcap9)}XoNByN;8`uVPHf*WJ QB>(^b07*qoM6N<$g7;-wKL7v# delta 200 zcmV;(05|``0<{8=b$_c#L_t(Ijop$#3IZ_L3*Ok0PB=!wMl%LR*UIM%W%-1kTRYu8$^3J4}j4$;DG$3b8$1QTHBh+ha{%V`H)KM4GVz?U^j!=cj}5T<83 z41(3b?;-#x?7j1r&1yO&OL08H@ars4I*7Pqhc$gn;&C^4A7cX^6sRDB0RNf4h-!LF zV!c6wAczUv2{Aobt;lz=`HH`yBJM%lga8mw0K(Ovs(*kc=Rff^_6Nj+fKoWz0#&U{ zfo;xtTxY*Ngit_(V`{z+bZ7yAWFq+fpIhvNc7tP=njRp3=}^JX0JVOdeWcX$Tn2~0 z-+!xDs=lvJ0f!3q5$aRQ8m8y@{F+sK0Mvw%748VZtYZk(7^ZOfK4Y#s1?pUg?Y`v$ zuokn1M}Hr;oofKx?)b`cO`H-81J@?H+WCd6&}5K*r@Jbw|gQ+3Ny z5wN3PGY2$hf#<^^KVzrr(r5Tmv4_zNVBHVc%#shLIa~s9+G8kz-H@HYbZaXKFiHV< zPs4KrPQ9a;^0ovzqzJ%cSe{EcjvQbkum@M6OS;1617*D055wP7+{w2PSqiXi+nNvb z6o0TAMoEf71px2^=DSf8u^9joOaOkC5V;DFAOxW7BtW!TcufO*2mspcHr9YPWP0yVN~r zLGF?Nsewr3-~9q0H8*b{_`$RSMZhogFadyH2*DZS08rAg1F62%v*JQL2ZUd@F|#&8~|JA{{yMK1@0nnp+*e$!gcciKd84X7k@1XnuKe1Y`Sh{RcW|!wb+S?^8mZCGzU4L4OR^R zibNguyKCm9!i?jw=-eE#lNxv+7tO)`(*m#*-v|I0YtYBIn>n|xnFDIpHUNFbn3R6- z7l!6#b`tHK1O`9Gu>wHaH8%^e4cOwC1((!5C7cnVYbmhGHXP9kE&P3>YJUKbX@W9X zv<;iudvuhe<1CH zs$oZ4Gd*5O`yc@@7=sVF7Kk09hrx9Q?H@+0n4lE)uhMmP7;RaF1U8Gk#ooj|pvA!Z vJEObo1ElzHSA1$8#6A8%+K2eRmivDJI#4d+x)qm200000NkvXXu0mjfG-cHq delta 1571 zcmV+;2Hg3H4etz)Uw;MqNkl3l^s36~?-yJ=!vJXpy;I+>F8MQHY>S@=VXJ8dJO zCEt@VO5?HJ9)A+1XEOBtb>HhD04}V9i?+q;IwdPnG(q#vS)gbeeti|-x&qE~93rze0-1$z(iDP>K=bv=H~Djoo8L&+Mqg<$3>nCc8& zIQ)!*g{&Ne5C z$^d`^+<%CvfYCX0UBft;?H%hYKt5POK-g1P@$#TafStz=8VK+SbrS~&*j55)GDepe zlOzIz{jk{CMx3)PlgI#;nFGigy2t?^0oV`BlPq9QX_9035mvhhh^dnTX89loU=rds zokZ9#k1t*X>|DLFQUt89-^u~4dEohY%t!28J%9QHUn=G>nFGxG0gIV(Vw%k*5T!W= z64(#e8Em(<76X$MfOQ&QAaL%UM3i?V&?Q9xreV4c$G6j)8EyuuMao z1b+aXP6uN^8qz^_nIu3Ow%yqet^vXz%Ti99smJx zG`oYQSnc_R7%e#L&*B^GnnhrFtN;cMTomNyiLi_pPN#po{MSF#DxV zssgO*v!)xnC|!+h7BrOrfdC$u^%NjG-(2x_*xYB7~O*n4|(U)mX)}ItT1ojPU64VR?Z1K*|Rd!wPria{MUeg9Jce4BzEaAXb1H2G1F!e;l%+ zgHkY13Pc`)<8a3;I9Tp4tD~wum=V6;%{WNMiX@KT-DOYYgSbZ@NF4cakG%MA<6k;Z VF5-+>bh`im002ovPDHLkV1n)@%JKjJ diff --git a/graphics/pokemon/milotic/back.png b/graphics/pokemon/milotic/back.png index 74525da17889d2629bd733a4427cc1e99f03c12e..77cc96ab14efc264f618fc55e7d7706baa5b399e 100644 GIT binary patch delta 628 zcmV-)0*n2o1;_=EUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MG!cDT>pr z0006jNklxjvPS z+|@7o{isgie;ryxvG3BP7M_Oz^L&iDCsChn+EVEQek|HrcJ=^bdEL79fGUzmuC2i= zJ&`O1fGV@N>xAe5qH@eTA$mZN@l<&-1c=d@frUQsZaFYO!N}+fe?mhkW1^}Lw+686d5m>L)j(}7} zW#J0^Tq{Mu<8&%tvQRsJf5m`VEM4pK((o70z4rE;Q=2GDWj_VJl$ zTqFTG{O$KQbsvEz1Kjtw^K1a@i$Cxr3FurKd=93+;eSPX0Ko>d7#xBD7<&aMwt-U{fi5(}HwIV@Z3$p*DqCNKBLk;C&~8Cc1W4w>1MrIiGsMi4)T#$W^^iEk z*p#L#cWnsc5Z_wBp#eAoeqI>Zy0_8vVZngx1N%AxPFYRv0_>2?t6Duq0|*PKQnrh% zBDBEP+SBn85H%5izJP4YAsT=$6PT~8_5yb;z(w|GfcGlGAaHa590C^iDal4r2`L(gzCJFCCD@-??b$jRaW>-F%_HAMQ5!V{k8|cYoJp#DQ^1c(I2T12wbVBq1k@HkVG6u-$g@MMSp8+MN{{Uo3 zCIxI}BY?0E5P_Au`;Ui+0+P*g3?PDlpWC2=CGrAb^Kzj7s}O*j1bEaM#jA<$AjB>O zfM=}_qACLdyMLWN5RmDpDt&>^JFN+LTrAY@d}6$xzhFO$5XiE5lKcGy_LX`^2c@F; z)$1#zGc`9S3z#_a`*`LC7fCpDebC4TVXVrQ{3p<%W2?cS&*%F--~AZ-y9bDw8$lCm$*OaKWbl7P z_PG`W4Rr*JoY08e3c!`&V-F)rGzCG_sZjvTu)>=4oj$rwZC31RVoJyII0~2DOKM+r zaU6~2AVl6<0S=pZ625wAY~IKxZpCLR-?;7K<3f|95<||e+}(TGq%sHsaxqw27EOlg zG30^ERpGhK(3t(^!WnpVI7Ka?GSt CZPDTY delta 405 zcmV;G0c!q~1l|LX7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0bEH$K~zYI?UdV& zgD?z4k(!HSrJn!)+xik9PQpW_)jrjw(8_~thU6T_FTM!iJU!&e1Qideo-Zb#jp8g& zasN4wTObAMRRS4)+zPp$iR4Obf{do8y9sHY^{aW7G_`RaE5KFKHbDkuCQ)4iu2qT@ z_IuDW%O{5dIwHD%Kw9RUGEV}$RDkZP+&?;^3Vv&gmhw4AGz&#S1VqW2BaI5{4ih8` z9EdZT0Yxv8uo`Ko05hn#nL4E?QX5?okGa~Ds6zWEw{$2`J^X!08yzD)q=k;D!8|P- z^mHkJDVAm9HWb*R(=Nvn=qCHmHUEo$ioXX)#KQ`Z4IUzNKsI;?0NLRo0Az!Q2#^&I z3qWQ(i~xDYLkGwf52!alc6fl5?*Q53!S}uGOlc{`eTSZD%|vzKp^tr3qX7TF5@Ap=@2>u00000NkvXXu0mjf?tZFf diff --git a/graphics/pokemon/miltank/anim_front.png b/graphics/pokemon/miltank/anim_front.png index 97eb281ed2cfa0b9d5f7d794c2f34c697dec6eef..857bbeaba608b67adbedf17712d97a0c4fed3d61 100644 GIT binary patch delta 1155 zcmV-}1bqAD3FrxsbbkN`bV*G`2j>O{2@5TJ`0}y<00c`(L_t(o!|j&AYvfcIz|+87 zdMLi^X7`$TYqpKbigu|io-FllqR&x0b)h?sAks?uF#}!-3vmyN1SZ25Sdbn%PSjJ6 zdY?=G0C!OEQ^s=Dh)7z4bwR$oHEs@4bBQeSbg0xE}v`SoF8@iax%w z=@`b1x0eCioNq1x%lu9g%N7d3xpJwE zH_pZfuWz9%G=DqsQw}`9Jq@tB|CR>;UF>TB6FK4l5M%We2`GmSFh&_-hk!jD@EU%R z$qcU0O~NbRpaTr^F2x^GoNLy3Oj}6dz{6u@y#0^~8K*R$N->0?&+^~XZuArhpa-FE z3pvvP!1oKlI-~$$kgtS*bYTU9?mB%5C^i!o-$5%}hktJ-liw(u5|F>coUNBODVFh^ zNaZ`elVx~wyDHgF37F*LTf|ZE4%5H+-ZTZb@zIwB@LZ-K!XaQ*-lj;$GDG$(p9QVO z59lGYD}bLscQSb~rg_K@=Jjn(K<%@wLiRHOkWv;}D|cm0xV6d{LOunePULRHCO3?= zr?t;o0)H}ztlU^WTRWQVBOi3XDu7`QTTR_GOgQv-ZV$KA`z_5s4a<AV9drpu&5h{DnLAgA$2^KWl-c5X zu~hTm`9F;54bGAqoy$~9@BBQ~^|&4{VXVkfWJ>_)4!J~Vf%}}_Sq8ky8M|{|SF&{c z0`doYhpsMVylIPDaLAZ!{wl>VnH{jhT^m9&45ebwY29T4AfZ?IDuHNx@^NTG?*v`y zi+{?AHa?{L?Z?f|UZ6XBpPh~2-P2BA*LhbD&dz|JcC@{Fc*7bHfQb(9;-WXB7MS{h zD>QRRN0=0Vru&bQY(()y+x@+%foS!hh`T~J%SL{i$~afr19vNbz-*zpXG6f6KR_>= zi%Y|5PyIpmZn$!pnzso^q(20uKLG64mw(a}q+m(i9{_yoitp0n_RJp!(CuF>8rehI zQ-3J8%bCBzD}O)|vUE{8&6z)>N+qrNgR&yB+#enl{-6L>4=aB-LF@+$=WQ)x^oOT&#m`5jKjh^i=e>AQ7XBc|wLkn1<6kA( VXRy|FT^|4d002ovPDHLkV1lsqHmU#s delta 1152 zcmV-`1b_SJ3FQfpbbka}Nklz7D?8dZQXN)cNG>{kJs_+=_HxT0zio|>TwFwDCYe@JnC zos8OmN=V_r!+|#5e8_~1QyS2v7{btJ+3%?u9Zdr0K}GiDY%V~zRH0YG6fNJ0*dxFMKYEd(r4K!XfJ+151Bm&_zAS9)0bmfhdeN^ zYjXlh$5w;%X96IhEVNhd%ARmboiT)L2}GU9YQ!ctjJ2nwV^x4mB0D#h&(@BMI`V$| z>l_$nKz~;0^Ag~A*!%051eyQ=^}ft~{(F&tTi6@Y4qhDhA+$m-2kIrj$7I~TxM&_C z99aG$U~uku3H}g086V0LaS!j&&;Bk0u7_z9J;4D1oPdopKf#T!u+wa_IXF*l;)x=|jRbOZw)MSmX3Y;n0+=Ih|uKa6RH#o#4SrdkqL zsjkQM_#ehfo&K>UfOLmUA}WFVoZndnyv`ZBbHA!(>Gcc9AM9QFbZO&`EpEXPWAgIX zDTc}HfF14G5RzeN6@%W^JthEpG=;Adh}BO&32o?{piB3ncA={u(f94gt=4`}_3nK> z8Gpljr>$<)&09O1On{%ZD(~*$4XaN8_No9c&hKWd1ZIBVYAZ==NJiMpfw~qjN4<1J z@m}Ta@68OPQV;UDTj5z$%Is?@enlpcpcQ;)6 zn3}f<=t+MFls^C*l(*stQm|gx9{_x-1b=Xs9yber=tH}ExoPAb(wzB&D%V1_IG_6i zl8_}=rPD0@K@+7>@&|24q?tcF%KbqD)Q;x6F)Ofyh1vu;NnLi96 zY_t_%`n&Z!0bTBeKllxyM9gKomI8b%{DHZax))u>EH#zmDSv1|Xj5Gk;490QmwCJL z2gJ}SfLZs+%YEh#*tK}>4n0vJg|K~zY`-ITv-<3JF` z6+s$Rw>IJ6Drtytlronm2)RC5*ut(-U+3n8Q|1u_MvR&SgE6|t$|K|jl9^p;^=Boe zz8kP?{QdTunbqui-oF@U-{|3oGr$c!mUF-@iOXNp!1CvvcSfJdf4IB@fZO}&91sby zxV(oc8Dc>pLBhoHh;^YzUA>osjiVI~!3|fgUl&tmG5VCJT zT2!x>HPN&1>5r&!2XHNDk+cOQ2(b$QbO59shp@ki9@qvpSd6`m*a8xZS6BC2Kvl)# z2+-;(DW1Lp{>+uYe?ay+2S~*1@hjkIu7nL@F$>U6V(9|yv@r17a|gx}3^-jxG=>~? zk)`u8qQxqszyoOD;BK&Oi!-)dlIfx$imr3OyeM&4*j(W6@Fe~sRC0IV(O6{!aJfw5JPjPX?uo`2@abaEfUd7? zu|ocf?wG4*MW!~Uyp9DBag+?a=`*3Xh%bgNp=k2_k5B{E-T*cSzR(FE0|Ufr?EoL| dd~f|9@d@yJb87*0%{l-8002ovPDHLkV1mtN6QlqD delta 602 zcmV-g0;T=61;Pc8BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vkz0K~zY` z-IUL2+dvS;6+tdKb!|eSCu@jsm1CPH2?IpkZQpEV@F>7BH$W8XZxM5S%`4WR6S?iIBBS-JlCKXeGWu z-ROxWbl-rrxLL0oqGu8EAMwQzsp*V1T37<=t8Ie9u~fY2g_}Ru_P(WaQvPR?mqH;g7>P-zf)B zapxJVcig1SV2ELt$6R*dePcjg7g4b@z}^9aeTXUpoT-iCq9O95UYm{HcK~WE_!Z#= z_&{{n4lJ%k_!`uIXZhX`nOW#sT=Rj>R#72M;D#!GQ=6VeCdW++z&|(xb}eKt%z+lb zE)@XVR)c0z^{?WRya$MdnZ#9^O8L^kp_@XgZ~#exoaAH-DhtRR!}9}y0Zv`_)L;UH zd@&fn)YrCHll;YZ%*P)>ZEblS3t-};1^CUqglM)%E`}~OfjoKPt88e9^}zxz2mRy| ozy=mbaN_~5f8^f!A0i0;0`PouYqIAvsQ>@~07*qoM6N<$g4=`{TL1t6 diff --git a/graphics/pokemon/miltank/icon.png b/graphics/pokemon/miltank/icon.png index b0b6caf92eb37c09930c293f8f21593ac9dbe65e..d63715cbb054d46d173f6c31d46cb585876983f8 100644 GIT binary patch delta 74 zcmcb?)WAF;L7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKW9Q@*DP4Zo1}OB{)5S5w a;`GGyhXV71I)FMD7(8A5T-G@yGywqJAr$@q delta 34 ocmZo*zQHshf&HmdKI;Vst0OTtSn*aa+ diff --git a/graphics/pokemon/mime_jr/anim_front.png b/graphics/pokemon/mime_jr/anim_front.png index bd97d354db71928543c22ebce964f25151ad3a80..72620db842758fb1d9fd4bc8da5f40fa67b3a6bd 100644 GIT binary patch delta 897 zcmV-{1AhFt2h#_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MG=atuz0( z0009vNkl@)x?PGCi{&mdzo7ez6g%@?cnkr_o zwbLmA`PGF<@lG8uYn4&HIENe{w)UETU|rarz(zDBhLMhWbsm9;LIU73Q7tagJjYJ$ z+AmAhJ-*6xiH))YtUEdWuJvb(6JMU6RGB^rgdpzA*?(!Fg`hv%Gi*^&j>-5D08S#S zD8k1XJV>FF%?QFTAise%M1wg=f3L>rSdti~D7@I`6n+5Q6aSFv5Cg)LM zJFEAid=5t^0sTbvLUAHouNRk6P*b{|rv1L(+(gC=52)O4dLEkq9a+T=~3B~-C z-zDll0p}?^R7}??`kO{m=@e)i29h=o%=nIxbU1^-(id1&xnAMY7bx->3zxotR3jYZ z^$MsO<(taH)xi$Y#SEYFL$i;)%HiAE8B|m=J%9BYmhOU5-P)a)6%&AjsE!x0vYvy# z%I{-1hiQxlwMkYd7mEwD2D#}(YEh(>`S!QVNJLZ9%G4rBe4bw|q8#22P}ozjl#ziD zb3pM9m_ILVW$H@nL~D$vGwVD$deT96LB<*HYOTv4q2-+mU3C&<$ZP8-bq;IDWc4$g zczR|3eTt?bnOA0DcI{1}${_E|(IU)rKv)A2_{M^Oy^18m%)YT8pg;DgQ>4a%K(Uy#Cz1mYh+DtlDnUUQ)m zOMXZ!EX4=RG-k_EmGf0F9Z}w~9@51#pj4fZI&{dw#?bC;Jl_E-;@P($A$aTiv8ydRl%s~V>WM>g{5`R5QSU^EoUjTF%*C2FBuYpaz zXKX*h)d-+v@*~KPu{e)%YOk$_#eFzj*p%am>W5+>e6JUmQn*g34ng1di;Kv(;Q^KI zm#2}AhufL+ZaON5B z8Dol0;+A(VOxaD4apbK5scMiZTQx}W#7p}38cjnoFYSTR+N+^VA?wc3BFqd`!&(E; z316%Q0lJGM#ma%TAYk70UAxfMf;M1&07*qoM6N<$g0nBA82|tP diff --git a/graphics/pokemon/mime_jr/back.png b/graphics/pokemon/mime_jr/back.png index d6c059b3f570f2c09c17b1eda43bf8f5310cf671..834cf2ecbcdbf4fe8e6d636ef37c55364c55cc2e 100644 GIT binary patch delta 605 zcmV-j0;2uo1=R(RB#}W-BLD|5oOoa|Phl2rt zBcbgHhmigtAZ4f_k`n-4;Vob_uyACAK7;%?$Qj{N1grs^6-*y=0P<@9zvHu!kwII3 zB_|-3k3m}{d2j%H`50_-hNE6jMXYPw2&X;pD(ZNNba$?+5egw{q`kIj(Cebm-x{1E z-%u7^!np++GS@ZOjF>qJX=92I@4V$AKUHjGyxSTJ$_y9fOhv~ z^|zOq%D`xEx!#u&XnFgg%-5BGl$14pi$b_dX%)Z+UMlC4lt5 rAGD5@9xX;*_(J$n1_SdS*Twh;Ve)Qa!P$@100000NkvXXu0mjfOQIU0 delta 636 zcmV-?0)ze41>^;gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0zFAYK~zY` zrIkN!+b|TywMc=s28A!6+@Qz>g8BgIK*>fubkUyx86#5{h{Z9BS}^7XY@fiUhAtWe z@lbuFWLvf8L?QZd6bO3>jyw0bcrJ5%OFCcr`-IvMf_TM)Xze zqXQ-@y#>PE$n>Y;E;#{_7Kqzj;;~lTW#mL?&xAur*9b@%YKY{241ia73s?;-92ud@ zAb$>WM)({7YXD~j(?=bE{2IXTxHmE~I9ACSh~;B&tdcx90=|37#;9oz_~ z9q=luc!{ocdFR?1p%9`P>hjvAL8psCqrNXLcd2}AxBK%1RG{?qcfAMNJ?zTAoy=4QMmx*(VJCrxHy_G;T?$A^ zS-q&0iF?>`Sr3-&DWwfB3j`5)EsC}dEUo2ISXDQimo<9++=*seGHC<|tgO`DROK2W zmqMIoSFSg;Y6#4?J3>l^{cgaAaq+Wc)%>ERNXn3D({ONCub5Z}BwJQow$$dFi6TY* z3z~y>fzVY;ZC+OB55`dxg_Z7oLfGH(-bz4sU?2*uVx>omkr%!YzLdeh{Nd^i%lZdl W@@`=-_Ia5A0000lE4V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2@fb}{=+!{ z005^+L_t(I%iWSa3c^4Th4%(?7!TlWYyzHRwo1D}(B2f=1(E@C8w)L5uy7%eC+TLk z30O&{e7rY*e9rxOQ7VM@eodfUWHMU;*t!b7MM6*+I*IhU37wy# z5!~lE_CYT)A4H(1#z~+Jbba9gZJF=YEe?8-t{Twl(A35R`;L0;r&}tN$L>-olos%2 mfk9UQv+!YoS@^)Oe0%{vj)G&>s0gnB0000*+a)p4$_nz*D^HMG0DjL z9BMcB;ig+EHgDJ^D_9HTW`W_x0JHL;fm!*`7x{sY7e9`IV<1JFe*gdg07*qoM6N<$ Eg5sK1ssI20 diff --git a/graphics/pokemon/mimikyu/back.png b/graphics/pokemon/mimikyu/back.png index 557789a6b6e3ab10c173d563e02a57cffee2e4da..ea35006b60706b3d3fa88934d308ee5521e92b7a 100644 GIT binary patch delta 375 zcmV--0f_$b1K$IXB#}W-e*gz`Nliru=LQD}5E~kFtg!$90YXVcK~zY`<0m8#x^;!pqCK8LYCTU@Mx z(`Jyb^hmY>o}bt@u-@St!15lrS^=q2%RLahiNy|B6xap+BH*dafBd0?Dv9;vRT&Wk zG~h{&zgJmMNg5=%0ZK_J3j=%?#8?qV$eyV%n>l}VTUSx#6JTGcv8V`c14%^i$O2@K zRIT)wfMRA!V~L*!WGtSTsfUbc)B7TT+ za*t=w%~dl?Og6xHZ3`&+2o|TrtT}c74cfXb=P?{LiWfmE48;I!k_Lx z+e8t6w`A-Br_G>nWTabxEKXt@a3_2NSf4?H17rZ}83dl=)dVUI>;iuk$V}z_oB$QG zo}NLAAmD*a3wmDXL9KXykQN#MD5Xjb{3S@JB5I*V24T+ZLQhvu>k!pG1NJ36ifbWF zpqLgiG60*Afg{5LB@+Qw#Xk?KUj_{WLSxE85*eUcWq_PWLX%Y+`gLD<(B znhmgTacq&?MP;4i1&8*kTik^;fRG)M7+Z*B8q~gPNeMXMV4T)s;$=7vBpQq#VDZAq zR*Uvse-AhyUQvs&#WX|xWCL-a84#((Zr;Wccn8F>#qBToQ5QV{;ZsSJmBdZq5G8%D#Ha&oeM!83& z3OGSvn~gKK?cg-n4(0+aZ-Ef+1SbbG0|Ud{?Tv3HD%#fzlmz(&|3?F76*o;`U|^K+ba4!cXni~7Vc!u2 zj+W^gS!(}_#|5rF)|LML{?j>2W^a34!|Gx;e=!LBSKjqC+I+W;+Jn7+%fydKvs_Gg zzQp%XhTc2drn*~}hxa*3oNfN=?)3HZl|M`l#`)J4DMx+tsaFy^z}J{{jpbvV*9EC) zmaMX`(k(2J3>Mqh{CH41L)he?BvbgiFkXXShr1r6O+9jSoruP)=9Vwn43Erw8Lo$( zn#?3%$Z4Z$!mx))=#bKiV`m+B87vuHUu@-Hkv~CLqjJIR1FQ>K1>P(2UKGC8@Qp{T zr7MHQ;C4%0%u6Sam5$!ZHheQKUfy`~Yy837{hY}RY>lrX#TM`<79E=3U~_(#=+XX6 s27ZT`?01`D+$AJ){9gjSx__bm`N=|-5}PkB2Zkhrr>mdKI;Vst0L#v!hX4Qo diff --git a/graphics/pokemon/mimikyu/busted/front.png b/graphics/pokemon/mimikyu/busted/front.png index 09e78fac909396e7acd4d1b81f23d284b3fb5f7f..348495dc445356df12c773807b824b9ed6d83cad 100644 GIT binary patch delta 417 zcmV;S0bc&-1L^~i7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MG`z^A`z(0003^Nkl$beKv@Es43yB7dT_KJqN z>XPOSGP6{?ZG9-CP1Z_{SATcEf1iCp@Qi;R;qF0RVY&$@#Cj{g!%ZOc`BsY>;bDJt z&g|V$0uJMc(>BhXa78#y8m*0^T)09_7M<&>AOgvuMIW(LBGUN>02X|-wHG9(H%{ug2(eSXq^HGTo6Qc{o#L2nJ900000 LNkvXXu0mjf;J~Y< delta 415 zcmV;Q0bu^>1Ly;g7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00043Nkl$CX02NWT zMufS?0pC3!lg3g+5Kz}13SwP-uG~Yz9R50TutVg3`G^5V{Hoiu05&Ma&cke=DgoNz zKMvL*MC==#1JHF<48H<`VVVcQ39f&3#P0)IcEH#40^)$hZ(XbXXdJ$fXg$SBV7Q@7 z0mW0`O=$ntN65}>57}}V*bWAZS3o_>KaWE&J(KV?L$4v2ANQ9Z0M0|EgAwByWs7s} zMbYTe97JU&q(;E@hOzsLP9!sd$?ya1sN9S8i@9lj_3GdB0sC4B%1QM$7XS+Y002ov JPDHLkV1oK|!e;;g diff --git a/graphics/pokemon/mimikyu/busted/icon.png b/graphics/pokemon/mimikyu/busted/icon.png index 3ba567ab3be38a23a95257a02c99a6d250ceab43..46bc430059584f10c20952786e4ba5a5a98d4b38 100644 GIT binary patch delta 283 zcmV+$0p$M20_6gb7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MG`!Y93fV0002UNklVjlUP{sUrjIA>qT45;!b;D3|l$B|{a;a6DCH*jQ=y57(mcmMzZ07(Z$PDHLkV1jJ0bCm!9 delta 252 zcmaFLbew5|1SbbG0|SFkK;}i$wYh&c&x!h(wRf>!3;zsH%cmR;E>|xd`QR*d zYMFt;GKU$4kF^Emm(D&SQlFX{6Y1#sAZU(5uj&rxSBIwvx@Xk!pW9mKkl)R6{IK$L zcDwS1CHE^itnYl#RIpvDS`MI_i&I`Bv|K6qWMcpwf=-5{!k6rdZ4LB$LYUcND v;;{>1+4&7+ diff --git a/graphics/pokemon/mimikyu/front.png b/graphics/pokemon/mimikyu/front.png index 9d1a9181d351d9dacffaa2203f4db51ada7f0cd7..85157ea9a6ac016306132439ab65b6a7d6c0ceca 100644 GIT binary patch delta 431 zcmV;g0Z{&<1eOGlB#}W-e*gz`Nliru=LQD}5fS6MbnXBE0eMM8K~zY`?UgZd!Y~j; z7d2_IJ?R}0GvhK@i31?z0Jcyr07IQgLvjPt(gfc&Uk)^}qtbw4 z^q}oF1ys9@M~VIF4|q6?=V+8u?tMQ1hp+DAzfFwLIAaFj&~+n#78sLLt1WCIe;fnC z4O8|liF0>6cjI24e?pT!FR4CvK*oT`yl=3QqVFLQyA6+MDFFQ`lBY*EbU;-1r!u)P z9x3r1&CdoGFe&Q3Os*tj8|wZi0bEMdpE9wthBXKo?|@{%3sylR-T_rX;5CTkaX=K; zo%eCz`2uKtif*o_Jy^pW`<5f}6NWd~cE ZjbDRLVz)z6jWhrN002ovPDHLkV1gO`xQze+ delta 442 zcmV;r0Y(0n1fv9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0eneBK~zY` z?UXTc!Y~j;7d2_IJ?V*vnQ@t{!~u|U09%L)z))w>kletuG{LvcNL15|aB<7N199$;=YH(L38aiRr_m ziw*#q;lwU09*n1!_+tB$n1VuzX5fL#F?FQyodB*Qnh(xluwYOVA$bQNE1aVW8oUFj zgTQMLDS1Ftx10Ao@O%ZdJ^??$g%lcfnRsGqU((mqb8PvL^jENwBCIN%dLx9SqarHz k1`#9kZ_K^^tN?x$0E16rw*mMj?*IS*07*qoM6N<$f`~iDMF0Q* diff --git a/graphics/pokemon/mimikyu/icon.png b/graphics/pokemon/mimikyu/icon.png index 89c587683affe897e592715b9df969f2af1d44c5..960acf04a6d35b788f96c37adfa654a66f97d741 100644 GIT binary patch delta 297 zcmV+^0oMNB0)PXMV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2@(XQO2ftg z0084jL_t(I%hi%G4udcZMRS5$%&6te9W!x;&Tf+f6u|*dkr=BW2qU84LYFvUVCm3$ z{IZ>&?6@&t91RDr*AV3xfa}i9uwu1HcLWG(WQ^p#XB7bLQGS?cpw+U55+%4dx z(QtMeIF#x95NQ+PA6NJl z*a#s((Cy#=%^p#Zk-xW(kwz9XsCd1D3mPiSV{M%~D6vkg7!r2M)7^qh-6_qjv`aY;UdF_;5@8+P!jTCzsAQKhv=I#j0<R4fN}wbv$%1a12^eQOEy6R@gFB~`>Qo;; z)ARc1DBHflU=J5pp+TpzSY+_-=tqk>y!=q;!_$v|!o2*zalZ580f*?DGwnaq3IG5A M07*qoM6N<$f-v-bX8-^I diff --git a/graphics/pokemon/minccino/anim_front.png b/graphics/pokemon/minccino/anim_front.png index f2942a2cb329fd19f493dd5c6659a4507d9acff6..ceb8f0292352a303b9616f5cf2cc575b50e9539e 100644 GIT binary patch delta 1013 zcmVy>8nu5XYqqo=rJaKc@OpDL^+@LHEMR15oHOt0aH~GB!YhbnMb* z?Nsyuy5tr5a=klRjwR79P@w1%4zjHK>F#(G`M)H28h<_1AAjsn&7+U|o1>~)9enMi zsv<5PU!%Ji@c7#6Y8{D@uB-K#04bj1dG&q*e7N{ruZI7Xdh~nw=y{YS8j@61f!pIslG=4!!H$s_^ZMrm38K6HStC>^_NY;kr~=5w}aF5J~``4`XUi zX0)rhl7Fyd7qPRj10Hl;X5?ymPR;T*ZH&JWv7eMlFRla>QKI>2WdI*_xUTIe%73P0Ux2Hee*oq67jwzrP9hLqKo4 zi=2eJ*To%R*>@M#+3%vB&9MDAb(`*joJWB>huYF%PQXh1QoQVR?Iwy9+Q5ro?5?$?r?1veQ0G3#3K1AN>&sY)Ze_nD1 zi+?Qi1`$Aa+*znR$b_hNx`XK2wG6a*kP!w_ZFif8rDqkg)Lp2JtPd8H`VXHQS~0|~ z=|y*tg@Vr24-X_btjj4rwkcae;me0#Ke6tt0L54mS?$mGNp237Dzbfbp-brnS$EM)iOgEj{<`B7W1{I* z=m&jEsoJPE$~OgF>6<;;>7-3+VXv}En+09I7nl{?9C*L~2!(AMwr6ze!0Vv}DG#5r jU3S<373)dM{^$4&#@Joc2YJ_s00000NkvXXu0mjf2gcfS delta 987 zcmV<110?*$2&@Q@Uw;F)NklCip5+z7MP`(Dzz6!lRfF}O}{~R;3=R5z{91;>;rnvLnd^|Hd>-BfC?9u+%)NlMy zpC7zD{OE0Gb)5)txQ(t-z~Q!+^)`_s-`3j;0dl;=%YXXa0=T}qzOuYNjbxWN z&mn)?oc^b)MpX&G5}~op>FWkkKqE}MBH-!A1wi+~CjwkXfW7-h9}D2sSIXeH1RK61 zUCn`;J542I9x>qi+XV2X)D~Oixsn|K6W{~-vQiZT?tcODQNs!Ngx>3h*5Czb7l1?K zxffJwM@15lt$#;5LdARMP|V>!DZuvP_Z-56bD+oIhp;L>JF{gfFV94q zMio`sFP%a#06-7M(x0v9RC6a`!y!`d!XDV@b5l^L<$G#Xc4eo6Q2?P^9B>ATqFq5z zW`WX&(0?ufaja5~M|-rtXn9iE4|Z~vQudLZrG$GNpiU15;{f$}BE-py-S_r_h~=@| zSEfniw-@V0h@momHzJJzZ)tS&y$5JqfCfu=OaWnzGI*(ql_?+>(M$2 z*nb38AxG1NidDPGhSK~IN=rM2*tgkEbSG6P=zVj4PlCg`oa13k*%Jz%-~ar9P45J# z=90*Q_WGwLWp%Qh3Ge;{VlBt5}LWweo8`1f-2=#ak~u#*r>$u z)s;3f3$pH_T@rGX=c~?E~8BWlZWI?agG5Nc{Wq zL10z!a1atb*crFTJa{`>ua4X65CBl=!nM+-Ync}Jt?dO8dVu&kStq`h z`yZhqP8<--dtJ4&BlBlKh*%VVHSVC<2KU|TrVw2h34o}96MV|93&ewQg0*<=0wI5l zF=30TLI=Qb;49vn#gB1da|l1~Y5ZlT7H>_|@`c9V6F7VvdCUD%hm{|epiK{-8adbl z-~>c9f+;joMIl`te8uia02r7nMj&+G3>h%}AT(A4u8RG%upyU-& zGcYfrTwTN3l?GUlw04^T@>%p@5 zE?6GUey?YsR{01>9p~EsD0ey#g82_)3B*CbKZaZbdkdTi43G?3tvOQ-+<002ovPDHLk FV1ns8y*&T` delta 446 zcmV;v0YUzl1cwBW7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004YNkl8Q}jvc>;%)yvgH- z#|xt6UBa)h=PP04eI6+#SD@rpSo0^LtvPp~Yy+uSwyP1)N`O8OzUIc5^0&ab zpaOg~15$u7k9J*_fx2L8=~jZs6U~5mldS|D7zC}x4v+@SB`5&VAv^)<=zuy|w?G77 zK?iDOHvsKj{0b;_JO((M^)?6rK;D1HGvJ7uK)C{Hx5o<*CERcC12`(MCyQ=DTozgvH3WKmRQNJH8VR08Wb+ zzcg$>zSP$M<*QhY=Q~&s0QD-Bjv&$E oB#$xLhS-wgHKBgqe#gHVzm<0sRa!{givR!s07*qoM6N<$f`U8GJpcdz diff --git a/graphics/pokemon/minccino/icon.png b/graphics/pokemon/minccino/icon.png index fbddf0e08a9001cda0f8a9f4514d4307293923cb..9c2c9b1ee43bac35734f6c30c7fd1376f11776c2 100644 GIT binary patch delta 290 zcmV+-0p0%K0_*~i7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MH4>j)|UR0002bNklmJ0|(<~?Ey+~ zcT8JooG`H=gvX~i-}-t)KRrg?0JpIOQ`@cY5}s^lmUmqOXRw$?0bl&k-`!q;tzdtL z!zrX#2Mgye(QIHi0&s}amcxt&Hjsh=0X~{^pn>(MNdet~DiXWv25w`2C0V{nJKo70 z6!kQW^Oj_dU?&K91rkWgR)qd_zAX&B38Uw{gy|Hl!b}RD!en3-MiyssVdg9aY`x>z ovfPgmbu9hhP<9|De%R*&tYmVnKl(7zj zFbqUvTVi1F{r}(AmjnTc3rp3Z#X|<}adDjJN_pzb1>jm&vr7VIJAuRwCK>=Xx5*B+ zEUM7>wdymVtE#)Yz*QszM8!4M(5u;e456%CWTieJ;cVJVXn=8-Xpo|HJp-HoDX)6c zC;w%mC@H`;*np#S(>_^Td&N1cm@fh*N+hLpcRVI<-T9gIV} bpN)tYF3k;X?=f`q00000NkvXXu0mjfI&XXV diff --git a/graphics/pokemon/minior/back.png b/graphics/pokemon/minior/back.png index 2e99bdc5e19aae3d675fa7c570b0012b52a6788f..c36a22eac53b744bf4146ea18290c8f5582cdc18 100644 GIT binary patch delta 475 zcmV<10VMv;1i}Q6B#}W-e*gz`Nliru=LQD}6dQgRX|(_V0i{VqK~zY`?Ub=@!Y~kq zL0K4!3J*Y@AR-_^H$)zQ3Z*jY+^ACK)&onW$n6P6CclB@y$ONd?U|! zb48_lMp)7SXbGe&1r~y7(d`el0WEcf^M=q`G0_IJ)OC*_z|5GqB(D7Rqu-ZcW;g)} zeV=GOV)-F8AS_@Rf6h5SJTWv%Q3oll44-Z|=QE6m017~`l?l9Q;1ES886y}mGYWt} zRT3VD$vMD@tO+(A-8X=ltchgcj_wR#a{^ApPU!0$)E|Ho@)8iaE_0yHa5y&|cA85D z!NNNS$SDDh*ks`wP0o3K%(4SaTKirDsE(j}0DDkt1g7<%QFgjla~IAOmqnOAtw$-W zOZUL^y77oUsesS|WWGS0ASst&-D_VIt>Y4k9I>`8wF9LC781<6{m=hl{QyonQ0R0a RpU?mR002ovPDHLkV1i*t((nKP delta 485 zcmVw%?G{+rXOvjzN&i z7{RHXkpUFSQt&v8&H+JHMexb!z5&ctMMML4bY}tE9LR~iG}qg!J^;rT1t3#hr9hS8 z2w^+y4Hpf(<@g++c>)^o>5^DYE<}3Fq619YkZ}Vjk6?O$`k*!l%&I}{O|SMYoEa{Q zax$w%DQlPRftz(e;}Hoh0lx;Qbb&ZQS}db>uZhfB$0cMra%1Zq2MPx)B=|4Cs$2cT b>U4epPC8KN*&gE300000NkvXXu0mjf(3RWJ diff --git a/graphics/pokemon/minior/core/back.png b/graphics/pokemon/minior/core/back.png index af768d469c18d56d325dd14e2031656ae48d2815..f93b5fd8fd0520ce82a88c118864569ee3909938 100644 GIT binary patch delta 354 zcmV-o0iFJw1FQp(7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MH7$;C%cR0003GNklb;@5Cu?Hz5tWRNGUVm-m#ZRDdQ|X1xs&1 zrtp0ni3_CgDYHZb&#du~GE$iKKmEV5Jel0?&mLUK4dyy1P_Hm|I9EY}sBaX%0os2? z;wr>94QyPv(G3GjAA}zRkou)R-pH2#|8v_XJ@?!C!iec}PqZ6?lob$Bt{21=1|V%k zK~z!T;-Qr}fdsFIR_1ae=>eUOZzPMC!^gXbqYWDX52>EX4Lgef)gT{1gL5#w0Ge~Y zclbCRg02VQ&tl>P8VT6Xc>>)P(8Nw4k3h$PLoB05HW8Sw_3u#HjDcsKefN|*SFs8S zf&hY*0*)Pa<=93UflsP!w#l?t-dAf5Zud{_3k*EVb51xPPXGV_07*qoM6N<$f*eGxWg>C$95J+515Jq)_J%rkTA=At@_T9408V0LKlLdk9 z5;eQWZvN|WU(D*uP&6EYq$Afe0*+Y;lq3S%7-LiK1at=zN%V}p298_V_AKOy zT0baFnTTVje1RiT!WfI_3zes^s;wV|G5PjY31gls%pW!YeM`IsSvddz002ovPDHLk FV1h9vgQfrg delta 282 zcmey%^n_`G1SbbG0|SFkK#zZb zYxh14kN5xozrB)@ym(gcA-Q8&iu&JGT)fY1i!EK%U~YMN5`$s3H$#B(CO(GlsE~4& zl=Bh3UP{GNE8Q9!N^|%Z?Z~`iZ*+3%PG*-$5B_pwFg)U}tTzu;zPGeKj;|y)f@z+4 z!*;=zEsL2}{>sZ=Bx|<8I_bDv{EVyr_ZXl4v+DoK_pg#?|H|m(|NHR${Uz6$pD*n9 zwe#6rAvVW<=hs8`g a8HE!0zMW~W_yzPIgQqK-pUXO@geCx2PKlBL diff --git a/graphics/pokemon/minior/core/front.png b/graphics/pokemon/minior/core/front.png index ab7e8961565a3b26418ef1106f30530a2c94d93c..cf21d88dbc90624d7d8bdb3f1381fe68f10c9ed5 100644 GIT binary patch delta 394 zcmV;50d@Yz1JnbM7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MH7&4sxA30003uNkl|!U+v$*@7=bmI7>J$o7#VfHrT%6o!HMJOauz4HFL+J__K~z-~X82aYlblUATQ zeK237ItGr)l~{Y4Mj$}$<^?PSqR|f?!W^go2tZDcfKh;cR^c8Y*JdvmpaRs0FXH6{ z_JFT*!1z6U1H&Q^;YkPl1fW-&G+uUkn3~jcFdGRXNPVA^Oe!ETc%1H{*VaXfqb$U` zq}i!o$3|Y4ZOOnJX}euNCh^V!B=xpUO(_%HrKImmjSt&2%KZWW9qz>LopI_)*05`9 o=Uld&4*YoNG{CJt*i~hH0f`4(yWOW!8vpw_qr-BBPL}rO{qL(zdRrxVm4@oAe_j7x>GOSt$o;G{>X-v= z#Xs1kS2}Bcl77#GFXrF3+cjA?1qCmy&AYz$|Fl@nIUkra-uk@N&T#Z#IPm$}j+8I= zIJi6n0<@SN53i4ZtII6FRJm91*awRR=?txV{%|j_XOH0j#nfQOxL9?ioJiNayR&x~ zus1K*{r+L5Uy@z}6J1cVmq=MR&l${$TL)W#u@cW?)ndDafbWc_cz!xoZPh-2;zS+ YHgI$Ey82E?0fsY!r>mdKI;Vst0N)|7N&o-= diff --git a/graphics/pokemon/minior/core/green/icon.png b/graphics/pokemon/minior/core/green/icon.png index dc36402deb0af8d08658cb0974b10bafd0528bd4..f724e86aeb85b824befe6d7af9798f2b50df179f 100644 GIT binary patch delta 301 zcmV+|0n+~C0`~%t7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MH7(d3CL<0002mNkl4Tk`5dyvNpw>ztiW=BVTwOM~D5!2PUvaD-P-c7h zh$+o~-S3N8eeqR84^f9I8t6M{B}d*T|w(_KMt+=_k3>Tv+%$Ewc+x&uef{Hyx_0@zig|V4S#J( z)rofTUl!}xt1da0p8s;(ncutqh~rdw10J(aLLA(;E;!q+zHnS3Rb9ZRUWc_wUi1X- Zf_K~;U)|Sf0KLcH>FUSovd$@?2>?G4g4F;3 diff --git a/graphics/pokemon/minior/core/indigo/icon.png b/graphics/pokemon/minior/core/indigo/icon.png index a27482ea115446f08fb77ad6b3005fe9a26a194d..4f2e531cedba95937f0eb4441e97e2df790e251a 100644 GIT binary patch delta 303 zcmV+~0nq;B0{H@v7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MH7)&l7-=0002oNklL@iW=O_GHMJw+uoXQC9Ih> z@N767v{e}PR?*qYn~)$FdGgIqCa0=Cyv%(8#-Bx?bwwoizZ(q<*FdAe39vy$9#?-a zQ)DJ%?Q22T%qtjy(d{)zQM%g;tT@n-t(p-dZTYO$N+e1exIkQ7HrOO6ZqJw0l@G|H zTYSXi>RbQ!#Z105MZ*E`I`X)};*gac7~>F9q4HoSwY4xNKi3-zVa$7l`2&ITXpLnBw3q+@002ovPDHLkV1j+n BfQ|qF delta 282 zcmey#^n_`G1SbbG0|SFkK&-)z?=7v5<15L{V47#% zuwAfa>tZJ1pLzL z{69Z9$v^*kz`tt6yP5wgUL?Nkw^;Fsx$U4^98;pBY}JZ%(O(ja->@{j>|g5eVKLKA a#>_gNBx`%_$w2=xc)GIrxvXDl0002oNklR1c#zZb z>*}U`U;q8T@8@e~w(6$Fo5VF@pNjmQwmiwX9lD&WVluZr=LU|gEDT0zuNgWfxt6*+ zeD68AMa4*cZn_9Z%du|?U9*q26~Ud)76jFWt~$(69Cayhg<*v diff --git a/graphics/pokemon/minior/core/red/icon.png b/graphics/pokemon/minior/core/red/icon.png index 486dcdebd1c7a97fa4a141b14c1634fbf0d33520..46535bcda86136765793bb783987fee7e0b1fdc0 100644 GIT binary patch delta 320 zcmV-G0l)ss1N#Dy7!(Kt0000?P=%ZT001*kOjJbx005DLFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2^1q%8qq5N007QOL_t(Y z$L*BC3Ij0+L>Co2c*y+!*H%rs6sjp~p-@;4xy)fZ@{hok5;`VUR>6zL4A>5%bmpfIQ(?9))$gXfBe8@e$p z4X!r^A0r&vt_n=#***mN%NTAk!R~j!?mnNM``z5}1AH6{AM_b|0000OV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc0081iL_t(|ob8f5YQsPfMsF}P6ULYIW$Ts}Y7ga%@zd+@iJ>hRXMT8Y2w-tuQ}smuE*|-+)R0 O0000$s@dJ*nG!)X8j002ovPDHLkV1i>W BdVl}` delta 281 zcmey#^q6Ua1SbbG0|SFkK#zZb z>uNi#z5oAj51!oHn`OpTEwQ?F&z;Evx|X-guC8Rd_vDZ_la7-vV?)nPD~3fWfp-Nj z*d`n4cAoKkF3HNYaHDOI zaL-NPRv(wolihne%WfQa*CAV7lNk2@^EsW*tN$(Ex4J*~)nZkA>#gk2WEKs0BI38R+K%A=j=VcxnFzq&h))kRFT)s3gTmy{;XTT;EdETPTk(GZ; zb*u$_v#wwyM*por@Y3HG@WF{rY}E|!Y0sTnE1oE5;1Y3h*=U2HxIJG(Up^pDZu1e7 zt9Sk07c=|P6b(lp>d5m3i(^&-MM=Oq#<*B}0WDx8Nr7?Dz;i3>o`C{U8ycl46LIR4 xFYqKv7~_yaq4H>FwY4xN|9ozQF@F~;%nLfZQlkTc=iLAR002ovPDHLkV1mlsda?ij delta 281 zcmey$^q6Ua1SbbG0|SFkK- aIs887-L8dMYk=Nk@O1TKby??>&;$UCHiw1) diff --git a/graphics/pokemon/minior/front.png b/graphics/pokemon/minior/front.png index 4d1330b65a3a059e5eb192e87dfe78d61d12efb2..793072c8b5236c0c2666e54bce9f0c157401801e 100644 GIT binary patch delta 438 zcmV;n0ZIO*1f2wsB#}W-e*gz`Nliru=LQD}6&U^s2~Ge20f0$FK~zY`?Ucc8!Y~Ym znNS~~)Aj;PyEAzpIBxI&NL5>SfI4{rV(wK#)GL~%oViSW$~i3(QWN033HRtPzkl0l z27`P2(RjE8JdSSxiyIY2ujzFl&1iKENJ)w96(SOZxT`K#iBR!}e=`7HHVVMMc6Pe%&RLrfN2r4FHzW|}q zqO{f?Gz#MZ&w_-~xM9F%Y_#m<iVJl_|Mvhe}7&e>DcjlWH9{*)&oS^Ge1vAYkX5`UXq<1A4C1c0eC*@+}?9|52} z-d;KhPa&W&CqNolE(5@iaRm2TnDV-7Jw_y gjDz6*RR7=j1?YEC_K|{oW-;#Xpo;_Df2J z8aYEqDp%nE2b42uk_141-U4)k!00&`AkmdT0U!R6#vE`URl$T~Qt*e!1$UrwZtX-+ zIT`y62$dFlYwb~^FdldkB$UPt1Do@p``&s|lu+yt=MGF!s2&)MioKo53&4KDTd}d9 z7a(;X4A*me#BPR6OI`Ls)B=gTi!a(~^g+xm_#pTk3fl6SrXJvbA>Cb6&;c)DSc1DO zgXTcI-P#9I^F8r8zZZ?N@d1y{tLLg4|2BE^=XD~IwGY}6yZ1mU^>34VTp~(<0GPTV zyO8wtJpkIz+eatiF$5ZO2GYQC835nL3EpdM(j)|ChKX65x|vnMAs6+DL1j#Rf+$c! n;A#O}`I~VFqI>-q(~6=W?AX4be!buU00000NkvXXu0mjfj{D2l diff --git a/graphics/pokemon/minior/icon.png b/graphics/pokemon/minior/icon.png index 1ce9b5a57ee43243ec2c90b8d674b7ad09879b45..4b79f81791e4ea9f87947919c2c9e593fca6f50b 100644 GIT binary patch delta 282 zcmV+#0pO{2^I{`{f_Ve z007iUL_t(I%k7e}3d0}}hJ6FE!;R(*QcCysS)}lf=9x{w(IhQo)EWx$6gn0<^tSu> z@x0>`;>SzQP5(SreOkv0k4Qt-Ck_ZO#3Cy|3PS-g10d`X8Gm2^d+!+79=Tl$FbE#w zv;%8w2(V?$sy2WEqR~#n6tFlrLdSlpU7phM<&rap`T*(Cw--s`UmtxDjV~hAz6hyw z<%?JvU*y}DRDtZvY0pHTeF2?0u-S&50SZ}|Ni<;K-Ud|xudD*|L;5_G3nX>OM9tin gNR2S^yTZHxa})V^Iy^73FaQ7m07*qoM6N<$f^s`|b^rhX delta 242 zcmV#3IZ_@MRS7?i02M6WMF(HO6cH^-2`_PxTWbVRMA2{B1JGmWFGA`+ zWqMy!=Zm7&7p0ABd{I;9i+=k;4PamPC9@><1@<68U>gPjY-VAKFCS1XWN))+Kr+EV s_@NWGN`bV?OpN#{(PBGc^mm1M0dx6yI)f*C6#xJL07*qoM6N<$f>#x1%K!iX diff --git a/graphics/pokemon/minun/anim_front.png b/graphics/pokemon/minun/anim_front.png index f309898b272122eb976009964c4f25de22fcac25..7ef0fc8fd5e1dff56a1995de8e6c238707672fce 100644 GIT binary patch delta 679 zcmV;Y0$Baz1^NY$Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MHGd-%#_K z0007ANkl!D`z;5QZf-^ej2<15{S-idSk;dTFBdAy+9QSM*X4GWcAK={Zl( z$}uc`l0x1fFV)f7RRi6bJ(WQ59AxA9JiD6RnfX2MWdFcIhkxIX5*|26^tnfgTH}Tsp7a=IDUO@>F;0tsbT@+SC;LhH()Yl{5C)=pc+1m zzwjJ@^@Zoq$^@UWJpleU1E@b|a7P62(2v9bNP7S{S}ciNZ;gBTh46dX{UHE(Vwptm z78(+mTp@4|O@B`TQ&<8>&?IoSd;qvA6$OY(*snI2#)1ImGn1%WO>HubD)ehA&E_yy zTI;wVFRg|Kfu6qE`2#e2N&1yJEUhi~{aAM&)^!K9-d)o`S3|wt6%;VrH$A3W22|-D zfP}8hLhFnfXC8-BTgw+C5ZY(=2!zD&7wV!M z0H0I`>7mW0q&j#GSYKFN)KcQJq~wJ+Oy(6%6;fW9$=)JRF!BPeB>djHjqz`(u_itq zLR4fMu740%Zh&mp{;UJQC}hL;7qEdUYv_rv_=+3o;#(4U{i%HqB|ZExQIAh>#|@?I z@u}G<`eLs3KYr@(^a`O-4_eZNHHd>&GNM^`7~>mVe)2608ipZWK@IDi(ii4FRJ!hW z1q^;gUw;B`Nkl8nu5XULd=xn*}1C&;F$C6qoT^d^+vPwC* zLYD%940tXKqjR31l_P-YlN87ssix!UiA&O#-9MJ-}6#Qh>aKcDu(gx}%7Jp4mX% zXlj#@%2C%;n1AhIZnf3{wStfuN(37EW+(Shwjrsf_OP^e+;?kB^>J6!Q0U_|4b%k` zyCbp5rJA*6gP{(ICAzFxf%*+I%K*rhR(`zKiqc)j2mOB=>o{NN80j~oF zn{jZ01}f><&i0>~N2GOclY!ok6@t$SZ=kgsfZxPO4Sx(ElObTC6j_8jAnhxp=Q~EK z#h-rcPhBNn_JHs1-96wF&0nS$nE^aH}nS^T$9vJi;y4l;VfS@<`4fLTuZgzw{4!1>a5&nwr8evCME#kvg_! zU89fhbozzwz|1fV@d^sqCDeQ&%zemp(NOb62eeH^FM+3>aB&og2?SSUqzMyOWDuxQ rwhATM%n+=L@RHLpn7n+pm$l!1QN13a4-Jn1015yANkvXXu0mjfm%B9# diff --git a/graphics/pokemon/minun/back.png b/graphics/pokemon/minun/back.png index f8b11aba90b7755feb790c7471b60c8af16b0802..4e265d8cebac21368b5dc2ac7e941ba5b61c61b9 100644 GIT binary patch delta 535 zcmV+y0_gp|1m6UZ7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MHGes8_=b0005PNkl4*9=DhlZSZT%4vC!9f@+S}}V{NC%k!~lO5z3%yZ#Iy6n73XR5L`(8Y6uf`i zJdyhAC=;RqM4UGW0~Bck(306hy%svsmSo}CvVdPBO3X&R!wgXPCK7ujy#UlVbAWHc z?$i=2X}fel!H*XiwE?#y&Hw`^k@?F8;Hp->Y{^?Vl{ntR@>3urx}J#`2#M4K`fwsK z!xCWGDPSZJA4`C13vGan4A40#do&Ad+2=~iK!cu3IeeMWRJFxh;m#{oP5fenDk6~jm-zl`#EpWwDNr&=(PDa zZRB}QH7ZIbCD0GFNn8X<58HmI3*uUR8X(xFiR*M|5(6<^DV^U3DgYbAs}Egc1OF|4 Z0OdONTv|aVssI2007*qoM6LruV1m{@=;Sri1~4Mvlz_0b&;SzQxfbg=JP3aQz>I*)op2{~vT(h^5nxWJFUNp8VPpX& zfGGjj1{y*L;Q_$Y1jvM_5B>>I0xkdtVg-;!`kTmyu*yIofB=ZtYa|5u2nfpw6a;&xV-vi8q z{{pNFX$~+{;sxj}qotH*7C4otp%jM}q{i)A@td&hhAV=l7u5hjeB^<5^r`*P1F=(! z(tzWb*vtcW^xD&^n0ZqkkC2#yrli^22rfX%d6NK7dkB;@Zvo!#+_dFzy02lPpI?)E z1^})F)NN!ZBmUc{p7Ziv9W}O7@>VGUg2!$N_F#QC;00000NkvXXu0mjfg!Aq< diff --git a/graphics/pokemon/minun/icon.png b/graphics/pokemon/minun/icon.png index 03bc10b0f42f09a848ee49c9f73171fa2559f68b..410a031e7bef9a25f2306018e9de356c41ad16e4 100644 GIT binary patch delta 237 zcmVuK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2^TSrj`N@Z z005{-L_t(I%k7e}3IZ_5u$J2fgRzG00000NkvXXu0mjf)Zt^r delta 199 zcmV;&0671}0-pkqV1KGfL_t(IjpdRt3d1lAMSTNZs)kPOVnICRGy!+&+9^I=p!CCY$N{)r94J-Bs5y{Z;G%469Hm#bj(8t7+uMPN zG1rd(M3EM?M?lB3-kOjm4P@wKo(gl!44SN%1~QU}%h7<84nR-yJ?^7B5x4{Wd-;0+ zT`izufh4Hfz+i1V1%|a{3yjGJM|_aW$LX8-cmWZjZ{E#x{-yu`002ovPDHLkV1oCb BT3P@A diff --git a/graphics/pokemon/misdreavus/anim_front.png b/graphics/pokemon/misdreavus/anim_front.png index e59ff75f0ac5a6505d6c754a421e54c335cc23e6..6e6af15db373a1ef15e5d70822de0beaa3d21234 100644 GIT binary patch delta 932 zcmV;V16%yg2lWS#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MHJ@6U;jj z000A6Nklzi-n(6vy3D)U2r@_TaQVio%dQr(GkQh`Dy2-7yN-k&swI?H4g3 zrODg{iLnb(>BNTEvQe1&7xB(%q4M348PSvCSb3j&KkS!#Uw_AWSmw3W*aUPo0iNBq zQvlGY*zC|Nt_{Cu2I_UMp{~99b4&EL*C{aY&6QLDJWc^TfL$};12nd};Siu{0lM8$ z5@QsGe&3MiRxRmb6lECU(3r)RhZv_BA~Dc07BN6J4=};7Yj99~)%Iel**{mobXN5(17K8 zl>!5?G}t-DZy=vxYIqauf~(A#nJgA$YM1@xTs^6nW`8p>0z&18IF_^+yQX#%AJijo z&m~RGJug0H7(D&_Wx{}KY}wWx1~)&>CnWdHP8f(UzPm({%z#j@g6;VQ(a4yEL{(+} z+M1^0ay#VXYdhe$F1@+pC^)hJt=7%zr{u;7EP!ZTuGj%t0Vh!V7rARa=n^+O(R==W z`zIKs_J071-~!ygo}})>sCiib;}VZI0L}IW2T*gIo?U*_n)RAfv5OFY$7f*I8b$bR zsMmxCwir#n4$u~01$?N7*q$;_=^GsYs5Ad996EkSmq=9#;fTi?kH)A1O-%wF@#Zk5 zVl+lRbjs&U9q@K6G7ti*87;p@aaI7zQ>dL}ReuID72s}_PUGq+v}3%#MrHi~$7^8N z?+;AC-S+e)D>3z5N+DP3N&U_RD3w#TZ?j#=i>Rn@plh7uRz9fVANElnD13&~9T4al zI%1B25-3F)Qiak+|2&{|3b?+}wZYjPAWZWq6nhJ z!hbk%ge;zPL+Yde=x|iSf$(3e6tPr2IzOuL=a|i{zYbgms zlo|=vdpKqFF(!+^5ZUPqt}?x_0gl-1$CPr8mJm$1GHqrD#9TXP zGgbjR5)w?1{`h!JiBkV1fbir`Qf;HcKu^B(CK(xc^-G3TCxwk!+#P3ziR}V03J&K4`9zs z_yFC;Fq{DNEWmJhn#34|p+7R{Y_yXhMp1?lPK+uV9%7tkh{S+tI~#*BvU`jPhC@Su zotFbIMx1zK#1Lx$Q8ocD62Qaf7}flU=)+OM00=Oz0wN8RoQY7blSzIA72qMFUhwys_!b7h zDNu`3WX||QRNW}2DBg(#24ZdSbBtZm*BpSX zfC^;&DmQPGSmI{S>v#SyYb6+^_5?z30rmu9#*@CYJNw_wxxWSI4YmY;wo=Ddccb0w zv{lnSgn#(EJ_CE!ERH{bPTTRomZRr)00s_N0UtUc4(1FrN5%jE@}K_(j+9?(|GR33 zLU_V$jay^XgkBZsJmJM*Ol50~d^qe@0l-aLWFQ2dW@`HG#aRhRq_Fl+w!=Us32yAP z;y;5yjDK4N$PiA}z+^NUn}D0;=?k93#xmw)L=zUKmD%BlKW?3eK(Dk~hPQgM05iLb%n}VVju%bDML%DDo`u~T1&w7hZ<14zX7xf;PIkJ*FZqD#Iz>T zSra9&SmagrhA4|5TCKVUKsmbH>ByzU+!R5n1Gx&*18$phb8kQRgy>#=+b36>0p}X= zadrPI4;N%kA;8b!qV z7Lj7^k1Gja$-tJ#dYYj%L@Utz<4NnMeGAC+kSo`kLh(h&>=HLo?91=$U$;NtK1pdG SS5r>_00000qaRbK~zY`?Nu>u+dvQ` z2!3D*f@ygZ;ffRj?DzpXi4QRj!LnDO>r=T-X&_BXmwr)@G6mm|U6LlxH8JyKcr9{(NfU-HFmk$iku0Io>@^1BQePN&ixQo0}8&o?{(f5??vfNOK2@Nho> zOqEcewyimQRV*L9$@^*H& zf5Oi#|B~l@|EW(Hh(>_lKeB5Q-M;^o04xk0dR+C;ozYzN(1qlO5;I2#Z>?ci;@bdK kk&Vl?&hP(d82=o90MaYnC!TZqod5s;07*qoM6N<$g8RG$jQ{`u delta 554 zcmV+_0@eM91(F4jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0qaRbK~zY` z?Ub>On?MkT5#j{~A=0vc5Jd`0cew{(Z64&biiX~Ww@-C-%9GNhyz-tXN|}OZ$PC7? zhCN3~eN$M7`S$<+nYEp~*Z)`dmwtAiMPIiIV5^M@iy!Tux&JF;Tt5dsgOeIp5ZbTK+lNObnD zuwck*XZH%I5c@f(71Nv`Q$P+k?D$-BjEp)WLnzrO%G|5~-4W$~RvqL)B_?9_NNZJ4 zXZb9pjpiDV5pAx~P%DNDaq-C7OuEjLDxf-8g-8pG_i)a@OSv%QNPMvqsWL%^40bwc z76tKHLK@w)RviG}mOZ4jZ__En901>gDRa5)^I&$#@EQR6c$P5bWlX##*EM+<&9A%0 z^9oQ8X*gh70;-LFgsakEOU>rHuSXCpGWO#TqUk+WUx%;_4Ke5xu8OwDqXRVKrk&3I zcxht&W=^+z!OyM!(&ydqX@~>}R)F6>l3N!2Zuk`e7KI)IZf59@sBUKHee{nKvxfI? sUBh^ZZv*NgH!inzOy29?DoOqT(ktC3v1Vzm00000NkvWtM6N<$g3M$DZ2$lO diff --git a/graphics/pokemon/misdreavus/icon.png b/graphics/pokemon/misdreavus/icon.png index 47c3031a1bdebc73d5cabae7e4b9eaf8964180e4..2546c8f6fe8b375babbc805606011a16504d56bd 100644 GIT binary patch delta 281 zcmV+!0p|YG0`LNmV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{2^tL)Pw{F1 z007fTL_t(I%jJ?i3d1lAMtuX}rJFHiFF8}`&@o5oeH@DREIC6~gU}W16gs#Vl}`Q{ z3mrA@!?@s#?x3edCym_psJ5nU(*W*6y(Sb!5E@&)W{h<|b}k$og$Tnos9Av+_N z8Tn{;SA(meVXS7rq@&GSwOQ2nOO$F;&~~!zE!xKV7C282!!8`b3=*6iH9Ii_TAO_7#AeCfkEx1H!F2l8>szc(@)kI>4;Lla zwEHgV2$77;%XU@u23Gx_6&Up&7;;4krrKvTEEQbQ^?hZjawv;1;SFBG#3&4!g`qsH zgb7!E{P%=W$1K7qKW1U{!3C9VLUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MHShbLG62 z000CkNkl&x_ke6vt)ouqT6mw8tFQPMTAp-pS^?n;lza=|O9Iq>?6w*zyPp z3n57JAXLX*`X`hg>z2Y^^B>fNwmEFtu!4a8m%g#Q# zj`QJ1t8%v1to53$W(Cmi@D{HEj`$JpS8P$|)j<7><2bZ#!A5*FtbnhkyvI8&`h2*6 zQZqF>I;B^~$O469sveO$Fy3OI4WV#_8nH{K6Rd&IsdXOg1LM#ID1cgrpX>v{9H1cL zGyV|~#KAFuR>XUxk4+nravW0YRA z1jJHeni46CV0#xGz70f!Ao+X}4dnN)g2W)a&$pB53e3@$3+X;Ne-!{E6E)-g)2*XS z05phizk$Uc5@LkKw5*%@5TYn{Uteh%C9X;N5Va|`wSOqIhS$=zh+ReHcCGy2i-4O6BK=J07 ze{9)87Qlu5Mj5a6U}Nj8#nwScYvoAizcK!|54ZNA`2p+$HA?n@ielS7w5f9h^EA)1 z3j4sG-r#kU=h|W)>upIzQ36Ez1;AT45jXzj19ZP8YoD_LBIID~ZO- z<@vG-c>l!@lSN(;!uzk^_>iT!6-eiAeo`uXVI_3**wiQ3tk^+><^YMy+y-3Y>lzJ! zvh3j-;8I};TiTSq!Sy2@Wfp*`z$}kdp3V9+;A^c`vdQ0)ZZgVNij_vZ)F<)hS#Sy| zD$dmEoCF$amS&JL8Zh?ZI!hbbHN%GLk@mrJ8i0agvni*6XO3fX$Yu|ZX@Ak*T=I0L zMw|4ENq}t{B%^N~^cU;rtV3T*a+E{fa1keBg002ov JPDHLkV1nf#GVcHY delta 1125 zcmV-r1e*KD3AG83Uw;HZNklXvo)u=!C9!oae0*8{PSUi=fpqfvyp?tfrd)IE&4Ov6I|FTUzdV!HDxBIrTz z9TMpJbiG%v-+T3SoPXX9_pa6&wNB%(u?Oh3_#xj1obVIg-GAf4<@*8mf}QPV zWe9Qeyz2f>GXV~2jySUcEP$SEZAFOK{<^U@0OLs58TXY`mrH>AHb8uP2l2BwES%s_0K*9x3@&#^GyQ`P=2TxfjmK6ia}Vgbwqbk3aN!_EWJgCh-KMtbLp z2Atss#a6a?&sNh70WyZonuIwvP@g#gIwS5k#Y#T#?ZRYgEgwGpaZ$*JNx3M-`F$=?K73Wk zhks0U%Bkps*13Fum3+9Hc1j;?B``Mf0Wb)DyG_*ZjKC0D=v+SN>)-EX)%4 znl0vo`p)Mtgc;)@0tu$+*D6qJzn@}JhVe0EO|moEO-wn!Rr|N2dPc0HL@DG$^Inr~ z93xRsKHz`-mIQM1fF9Bti~YxYiTdZu%YWrQ;O)oXj2GFS5Z-?F+J`hDPnlaXfBl_O z=?g2N!^fsS!6wBHLKFu`TxT}m8ei8a0F=dtZ-8rsEo>Q6`VRLGb(mTJrUJ7)c6mA_ zXC+g<)+#TXY^Pp~1!0<3tTe?-eG-43CXisonO>cfKs`y56cR=QMn2r8Nj<$~I9^Z* z7x>=5sRI@in@*_P9f4<#V{*u*4^Ma3jlNi)URoypaFd=939!w8Wc00r`eOB*wdiX} rZg!S75i?pp-x-x_;xGE<-?2Xcxp>-G{mN0-00000NkvXXu0mjfgqjyR diff --git a/graphics/pokemon/mismagius/back.png b/graphics/pokemon/mismagius/back.png index 9aa8666d1112904b1b686ba095e32460d4f8e9d8..8782472e84b6e90b4b2c88bc5d9b89cccac215de 100644 GIT binary patch delta 642 zcmV-|0)74Z1?UBkB#}W-e*gz`Nliru=LQD}8!;j~ysQ8K0!v9mK~zY`y_K>S{SVHv=^1g=;LXM%_8{F} zHS$;EO4Ow+accGtpr0s-xtj`qYlf{Zt?~$cOCa5#Z+4VIe{BLlF{*+uKNb+w(f0({ zFU`FSc(7B?ucwcC=;*qBmB0N@<1%Y%7a9n);yWXSw$*GjY3xcjz=pS<$7f`F%OULE z5h-etsOE#mgKHJ{+iFWip83V{;b6?rvLMgcx7wRK9{xdLbLKa|#UJj2EchJ&6al>f z7e*@BR0N!$ctb~AW&&#g1>LqCrQnDua7rs7E4pdj`OUx$qZ83lAX?gM23KoZRU)>u zO}N&W7wXFKucD?p=_>y3CFb)mw|btS_dXoYLns2}*j4ui0FBpF{>BLfum;e9(07*qoM6N<$f;|^0p#T5? delta 658 zcmV;D0&V^11^NY$BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ivuK~zY` zt(38D+b|G@RiH#y+en(VqU>;v4YX@)P|+&6A_U|CxejTS=N+j3N`8ExINCvX6@%$$XAj4zhH9jolB`7;w%}aHM*>goN+{M3(4tRHE@75Kf<>5|y+Uz&^EY%!8@P*Pxwi<2HpNr3<23 z>2VEH0l?{QnWKi(E&e|C?{J$W1?#7pwo*PF+V(&pu?N9`lTzbe^v+iGVDZMsDk?8-T?Cm6T>tb|8}}rnZoH2Vcrd-OB#m@EYvmvAiR%r4dFXneU%QxNeKsIzbm_C5L}5xuI1U7Eh0O6H9oA|Gw(-|3;Gh0T_QZ>B`&c4FCWD07*qoM6N<$f}_GbFaQ7m diff --git a/graphics/pokemon/mismagius/icon.png b/graphics/pokemon/mismagius/icon.png index 07e075c1e88c9669bf184b7fcaa763b49d068453..24e266e40a0cae1294f61601af895c5d5c8851b6 100644 GIT binary patch delta 344 zcmV-e0jK_t1EB+u7zqRe0001qplF?uE96dzsILnRlj!tq6Jb~0^QYCbo*YvV`@5G0{w)CsM>$R z5fNL}7J>jl72O}e<=D;%czVMiHx|IT5ordh37sQpTbfSz7^9eg#IJ_gCyr~g3y(Lu zEx55Yz%A29R_{#buWg-UDWGA8=vFh}(L18LXfy?(8qfkhG+H6%dy}<>0AN&=AnX@E z1O4(hWA*3f-y0^I-Lg!{iYX6b7+gfnN$l~w*<$TpIZR>Lh#lSw)!>~+Y7BP)ifHM? q%+!}LDT_anQuV1GFa7X?LB0WMfa-jpw(*1j0000=4Ty^QW0$NL!$VCz>udw{BK5aFjWgr`?=#OPN* zL{uEm778^fLtiN523VU0b_3jRvLHOY5v9MrpNImunH8oBAqlt&ZHj zBl6qlJPUY<;N3KTkzH&eFuabFry7IIlZ9Cb4JN{iF=s1I$jVf3M3ylBY36maU0iPf z8KU0^-&gVz?zWFuq&(wZUiYAD3rnQE{pNpr`xlTuCm>JVK%k!W z$>ajk2}H_+xqw{He_e~9!9qYLfq2L+Kqnw-l=?t}K*UNVl|D=Y@!Z0^xUXP)z&C~X Y0-VSjTVsrJzyJUM07*qoM6N<$g4~Ud)c^nh diff --git a/graphics/pokemon/moltres/anim_front.png b/graphics/pokemon/moltres/anim_front.png index 15a0232230f98dc0e866da8947719e7cfd6a3ca7..99e0fdb3ac13dc132e40a6b89371fee70985c5bd 100644 GIT binary patch delta 1453 zcmV;e1ycI43+)S#7zqRe00000p7PqmdSoeUIx?;RzXN6UXk z&`vFFfRgTW@5lXk?<>UnKJq@m@$MrkfLs2mJlh_Wap_t1+*ZlBtE3h44ZtA)q!g_Z zAiZVa1PD-4s`VTxaE2^psHDFJqEJMN!eXN)K3BmCh;%68?a*&=AYe?n()WxvQPYVO zbsd5W9G)@;I0QBpCp`}VUx5Ky1|xq%?5(E54!&dG=efWDP|%)3&T6p^={?%TAJM1J zOA6pi$%)}OhJY4E8aO;3JO)6a6Hi1q9%Tg7^fN_Mq-uE-!<3ywn&z{qy4KI|gO7i> zvk*{}lE%j!9HxASTH`oKrG)FkgvOgVJ>FN#HIDVJ&-2g$Ovr9b4)$TW_2_>DfFpAu zAPZz58vv}1#!#E|g$Sl6NW}d(#P4fB3;{zV0ATt8nmYMtfQP_e9}6@944{wMcB~U# zyY*?s4Im#L<^;j#IIi0m@r}dj1{mCS$XVh1elKg64>tl+rISc<&N@jZP(Hf2z7vJ1 zN3`%d&pw@ieR)nmYbMaa(R6z!EV`_oAk0R81i=eR-mj{#SJ8ti@b zGU;G^x;w- z7u~874;Dk6(zc_Ed~htKU1#POKV`xIIzN(T>u)}9o~C?J7#N4^`@DY);o_I#?6Hqq zfXkHMU0TkZeApqJ7TF%^yx-5qwgE9u3n1r54=N!PAL1^J?QL{ew}Z! z&{&v}2b+L-vE+@{x6gk+FAUrcJUlzUx_nmvS3gvN>#N0ISFg&!mVxWH-=7xwJ)AGj z-q}EQ{o{8l__xK|R}~Z4dVQ|5r+@r;SMRN-^@Hr5{#;MRKY6S(?NkJUeQj3Xi^^KL zHqP<~E4m$f+?&EwTV}n z<_@Z5fMq53gltA0QGScu`@V_ci$HmvS)gW&-M6{`o%MVq!y`UlWJ<)2n!MSdA37oItXA= z*c){}!tTx8aiodxc!eEF5(P+o^hi|j^4C!wFyIk@NmBRMxm^_0zFXkhUYebYe3>_$0hv$5ZJd51K85oxsx_|fQb#@G26oZMFkR}LV@6e zV;h)k?e%|jZ^!}zfl6Z)C!c+Nfck+2Mi?AdDuif1`sP5V^)3sHV_5|v{p%=M3XEIE z#XNd)LtsD^cykf=#1a@+Ra9e=UlJH+oAkq-0^=F~t{?se8CZ*{q2@Mm00000NkvXX Hu0mjf%%ZBy delta 1392 zcmV-$1&{je3$Y837#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1uscNK~!jg?O2PB z+aM71g0XXrAOHWi-6t&AG4@H-RccX{<^nSe%VIM-41c--`~?i%5#h4)N`dr+D+0t{ zDS%J-3<}o_)ORkxK!F+H(>l3_``c-p1ZIG6rh}l`-*&qnctAKKh%o|wgp4mTD@Fu| z6M`7WkqE|sJV23u$k7O)(iHLvJPE=PkG~}PAF;vV{d^&~2!O}OG11>h03y;844%yN zI9V(|G68-E!9&4>7B4$x_^A5jZ;?O)MIp2TjKTm6cMM1{hEM|MLms3-+3TqA7*ooO z<2Zp=ih!Z4XP(P4Y;vAGYa$6qp-qC$r$q223vfR*IUn zg@7fzh?X-a(9ZEmg|o+l%wNTa8Bl_RKe}`~A&`VAsc&JJUkWD%*L6ZLYtUl!A_P8- z7(HI&DL4~E#KhWu%j9`j?7=YP7KR&f}+vrRZe#k2zh6Jb* zNBK}e>l+&*dp0MSM>-KOv+Fsz^{SzbN|2_nem{NC>me6|KQWJDj*E5M2^^(O)=TLplE z*X_sny zDxhfnK=7T{Qz&??KSU>B?h**ztfrkj6EMR(cV3Wz3pi51NJ-C*Be+T-X_&=Uz!<6m z1cdnxUMe6`z+jJItBE>&pP&>lngYZvcwN9~3lP^eEN#AkQ4>t=C2}QTODW&6+XBQ5 zf)(-3*c=KFeE|v1Dj1~z(ItRS+QCZ_xdKEFzce@LV*#SKg8GMt1&9OwqyTX(;E4ZU yfcQHK5YFoUd;wy4T0i)H0pfrCVE8BN2fqQJn=bA@x(Dn40000C(tgkoFmRN7+NA zqvqsb*ns%??!Pndw-9e9;>>>ldl<Q|E+F-N z063GIz6c)*q%x{O70w8TKpiqQP~*AVXAFTlypURfa}76fpC$DZb$cOL8PqQJVr!T2 zKnnPxkq-c>kZ2Pr1> zORmbZpzC{1!KP}jeh8bBCVscsqHu~h&GZqk?eff~O5TSn^s)IF(knfPuqJ{A_UUmEf X@!qx%ZvFK*00000NkvXXu0mjf+&&iC delta 600 zcmV-e0;m121;7Q6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0vSm}K~zY` z)s(Sr+dvG4PcpLWG`OqGqCSlV4D|)-dNx`(Q4PO}!@3pGQgEEx@CXu34= z6Qq5HkazYFiKn?GBpDDtlRv2=#eZaJ;eUX2CNfLGyTBD3BhhktpE_&KvEBd)5`gc) zS_`TVWE3NZB2}QQHHAojfyt5snlkthY3aWAb$Y;?C|wswya#zma9QvcXt~B=4aq?HJ}mg_wDmAu=~{x z1A2FSP3l<$zz~=R mbIkY@VbS6W<8%DOCd4c8-nI`w0s9aD00000@?kR1&jrdB#}W-e*gz`Nliru=LQD}9|2&FNdy1@0q;pfK~zY`&6KfDBQX$$ z&8A3gB@d9Zh_)a_PEI1)Tf7o2s~yp7#|foGh}AYJPmy1NtLTtWN~CM9LZFDqkHEt) zwh0B9*|b>NZT#*3|1+Mo5Z`4bYOn_|*&d=X#U7KJ%)eWlt_|)ff0MBm#bKtDF@};D z<30eGu&5|nbOA1=k;oO+`~~Rf8kQQ)r0fUcF#qbKXZAu%zxvT)$T08j_q710-^|7@}ANOQJb_}brm-?qKMo%(2 z11>kJT=)X4Le+E zg@AL$$JKWpQVI{m{?EnA(07*qoM6N<$f+#BiH2?qr delta 558 zcmV+}0@3}91(pSnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q;pfK~zY` z&6K}t<3JF`H|s+6Vn2Yh#Hff1A8VVmQC4tmgoZTgavUy$iBRJ*n0Yu*?Kn$d#X68nVUXBlB#5z-B%=k1!>0|G!6JwS>?%5cfnCr&; zRzG|*YMkL2+;KqnOr2;cF%91^6KcAgmH55*fpi@6g07F|0A^gBZdfB zi@?wWMVo-10`0)#O_Bhghh-uicx{8j1qIBjxQ!IRAqqf2WEgx1P$3h)WD&qq$|^b( w6i{y?5+3oB^$G(VNVYw|pk-9w^f2}g+}qG$5>x)x0000907*qoM6N<$g89++qyPW_ diff --git a/graphics/pokemon/moltres/galarian/front.png b/graphics/pokemon/moltres/galarian/front.png index a0f00c0a6cf4cb0535807f479b596fed7355bc49..0fa0dc4465d60aad17c9931369778c1143a18546 100644 GIT binary patch delta 839 zcmV-N1GxOK2df8=B#}W-e*gz`Nliru=LQD}A2CK(d8hyY0}e?l?|b^e*#EH#FU3WAz{}Zq!Cp%af22p$woS**5?2;` zNdgBj1^1gaBC@&2%0G&|AWcCU(ib*ywz&r{NwM{=!x&|e4qcQ@0>I<}RF$t>)nUpA z!;a!*4pg;t3GkZ&Syu&Xlz@X$jC&~{=mv~43+gH|fOI!;lhOd&0*i(ty56tvU#;&^ zLP6z8Oinr_2@pWte^dfjQO#!D6=Yt5i`7aOFT?w@fRq6SQOy)?3PA-2{1VU_bf^Y6 zKMT5)!8ZO}fe;BmFfa`Y;S9P8?bNBI7_hnL;IXkMm@K%ON+fZt!mkOb-kB5WiWKnCbt1tosAx5ye=`TYI23IIR=b!u4yAq& zMWo<><00@V0MoW~^#K(QB4*1=ucb|k0wr)g0M>=vR|nmiUFB`a9UG|Cd6B0)X=>*e6XcnBu|EmUaQh2{FwA{sx2UUdi__!{j$c3=UF zzQAGSb25U}Fk`!;pTEkL-61Mug;_Bk&nL|C320@#;T!SotcP<)z}LMDU^coBSptAQ z&Qh54%oA;ZR(S=Oj*_%8CL1~fm?V1zfws=jnBJuQe>?&0`x!op55Vc2#s$5+@0qO3 zF)pE;51eX^^E%9lbMW+>fa4s%YU|dUyGlDBpbEoEmd|uytjaE)0WL94d2(Iw(7dWT zw-3d8vxT`I{^=+geqM%RoJ2PAfa$js{GEOOEKQIN@Y~sVl-etfZ!+dIj(5kcr^P-6 z)u$?a?2in;4y(`oD6O8=4`2A1TL1oE{sX4)&)xO` RS@8e>002ovPDHLkV1fwTj-vno delta 842 zcmV-Q1GW6C2e1c_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0|`k)K~zY` z)siu5+dve@&liZmWY9V3(9KcKm_Uc97fM#iPo#zpwc~3DWH300jKL&`(hiw~=U^x@ z9zqx6)MGzFL!kIW^}UmvI9N)%_6 z%2%H1GG&BeNAW5L>RNgP1TBHAr@}QVz(Fa-{R|Lv0Q1a(hKda!y-i%CG{CmNrs0V8 zFB|*U>w8pCPESlKKMP5J8DJ2*rg75`?{V`11rpBmm*S3@Cy#=qa?*ppjz2=Dvf=K0q&>@g@3Dq9V~`s=(>r4M4OnK))r8iKIbWnp)zfRA^$ z1<-U*D-il9o6r-0_wOapfo4_WD-twg_B{A78Nvxb8x>lAc4@i)tcm82pV3Mvi1UfoLV|tse`~-9ms z9%^&UOQ;rq1E*T!eH|9$Irw@`z;OX!b#(j9eXUarP=`@1&u12xtF!(Kz!m1HPN54P z(QjWD&Y}EZmZ&I?mu8k(QH64nW;Tj|>9-90oqv9o703tp-E2I{?3Ks2tAHFQyW_<} z$eMi)$eZRQ^T(&j-O8*Y`TfHqJWp;`Usd!p9~pfm9oE?kVO?045qmi-_K(5XAExln U-IyVOrvLx|07*qoM6N<$f{@LS!2kdN diff --git a/graphics/pokemon/moltres/galarian/icon.png b/graphics/pokemon/moltres/galarian/icon.png index 0f469cbf5ae5373abd6359d972a371b1fc0cf4ec..2cc640caa45d1aad4aa38778ace193f0e23f4fbd 100644 GIT binary patch delta 361 zcmV-v0ha#71JnbMbbkN`bV*G`2j>O{2_Pn&TGmql00B2iL_t(I%jJ?GmV_`2hPx-o zi>au9YwUF}dHWFLOk*k#!?FmSt>@V#Xy;S~v~ytCaDQy2dKxX48@qO;su3Gp zMvTz+)wCfaHc1;fdbO0*B|e=3hhXV`jmJGLZF9KLZLESUUr`u6aXk}#MkCqT>s}Rz z!lOz3IiiOLSjv5ZrBygCGm^|dTmUH*91cL%X)39w8iMa{y3KwnA1v5eowwp}rjMvo zJ#hdXt&W#>9Ab7sM+>vdO}lnyxLe?it1Q#e2r3^9(KCk3ALu&ICl1ItAYR5OFE~Wh zZ21L;LC_ARO2t9LzL)eX4r+Dr2M$_%FY?3z>^l(hI}`r~NB+J3rA9&>00000NkvXX Hu0mjf?Z=-# delta 346 zcmV-g0j2)b1H}W7bbkRmNkl9hygB_mVdM(Ar4UnIcL>2Nfx`< z1@d0o$1R+FM!RqRYVS)E`1uu>&{=Bl)_w-X$>>|D3fB5#NV%M~M-C9zevEZgIGZW% zr~ecHvD~}6kn_5#;(FZ&Xm`2GF}bz=@We^Wz6FQwKB8>3;{dW+SuYhFiXf|n&7@(> zQ#W__lrZyiJyQok;bXA&WkaG5G?Sx_15)yc*Cm`B9ykOPZ%_LV9A-v6*D4JMG5b;7 sZ#YP*2|sX<;-$z72hi_8u=h(%Hc3Q5R5;7!k}-0FFc3v`g6w5{1jel!FLb2J(xED%LkG)@ zbD3auphi$IOzE=M~A^y;^PkYe01mOb|>$rs_6dV~D4wps6LPdX9 z3$q2)rA};!7cGF4Oa-KtEYCzq++k_dgh$EyWv(?nVtt2$i(;(Gw$Z6DoDaMXRlawj%NkWGQ9sg08`Qb|6{2*8|aTlF}J z!Z`QS1VRbjrlt;nvKer`GzPL6bh_;7t8qNo_R~^g30%L!O%2@(02r5;5o%zY(?`C- zgW&re-qwjOy zQwG2h0G&wOes~C-dX!S8Zya$>`AIa&)%c6pHf@mg<_U*!66G?WYV^W@`0wk-5yZpy z^KpddnL|kFqYXED$vfyefN+JqE|pe(VO!DP0{}+XiCd@T55xXXF2tq42dAgc!~Vfp z6XGa}B!7qH;@9(j|2&B!Ndko4yL`NVzMs64(geu-oFCnKm3(|4O+e|QGg%c)0<75d zPV+{9EwN>~@aY&(xCjuW1mCq`r`9KcFRl>P@aFbc@m7wX!4(0rW-*s9$3Su@5ECol zH9{-QF(~yI8zgZt0jf2;Rz<6LUIM@s;OFLm4S%o22I|oBDsGc7My}0K^}O2}Qo^uy zZ~KrC$r=s4LAn~7K}UM&so`XSc&G4ogxNNW;tEUWdE;;#MhYvy!7q$sSj(1H2rSTg zt0+aSVYCV#5`|=d-i^0!Ott^C_8}+#>HWji$r;NZmrL@4Gm*b8YI735lD}zLv$FU^ z{(m^9&2(hsADeeJ-{EBBk7M(ea~)1r{x~tO*x_J7{;_%A0CRO)(=D8pKZ?z(Wf~Zt zwzBfq6b@n?Wg3`ARLja=JC4OV$~G_yz94@$HtR@eV0@gBe+}YUbsGS*aYp`C0Gb&9 zS1IROM*du=keDAf@k;*3xe7@K16|M?`G3DmOMN+< z$RA-}27Ka$k6(?~P70WG(J!(;GS?+)S^*ji%9~2Cgb9~d0DqwE zux(AJ6?6m80PVFMYEfy1FB1JT=GcZM^@`(p>oKt6d39L^C5VA$$cEmk)ND%dt-)#o zbZB_BfgA{&FzprOW`nm%OPh%e`Tcdo+o_nt8`P-61d6Xll3Wdi#F|y;egjTcQ3_)f vb3?`atExB5PwDKuNiw3$hN@L()&#q zDJ2(E5-?*qb~SFIF(Lf4fi%K!sAT}4Z3aRt_JM2%gD!c-N}LDVemY7XfvfYv($T{J zfc}UnX$E!#ed22(2)@}7O+DGSGy^-I(FdfxBfi+}?64Rx>}hF6Sy2Du&fcR=r?bag zAS}zC&Taz>L4S53?X-8>4E95)b>Geb=58C_E*`a?88t$i)Uxm9fgM;t^LhJQ$_ZUy zbXs~`Wnr$@zwDH|XKmN1>W0^JW^;hQ{=ocR; zD8R1sfG5oF{w~&je$D_m0-zO1K)eWpa!M&PHjad#;(s(c&&~LqI1a6mwfd=mI*oE2 zP&s;KLjKFzNd$TLPCiF?mbru!-{0_}*P?|+0fbBJO|iKABioAp=mBs(O58h}elP5P z??J8v-aR{e8FmjY>X4(6HO6)I(`C1NndC^(0HHhAPxmkPbu_L4vOW<<_x?&QA1fPB zy5RP&%YV88Sa#@qeJsEh*%F=ms1ImD1_;uEubc3s)&_tt<(TStbNlo7QTEs1$pBfk znJ1QFAo)-rCQrbtgqE0VQpy?YCAr)HRcgFZ(o38t0DJ}bxjkT$H(0N5%z4SH6UNBM z9t)h`*O3;6m51AhgydtWW8O>e#%9n`#Lyz_?|)wiH83dHZGBR%v2>qf%XOJ*g~Ngm z{=^)^y=>?cfjL@jOlnc7nT_7WAt9NZzpejf-D>~ajt@Ect454zF_1r=R<;<*-;lLA z$cOT`Y zZhzP~D}NN5S04ayfbnS~D}P-RAlCDn5!Lx8RL{y^KZ(UU1mFNO=S%YUVzXudFtv{} z@~=RiRksO16KCXK2B4k+aG46BXXG!W2`Dx{Jj9{=PjVBI6AYY!Zsh+uk-zkq;`jI@ zmH(j^#SP9Spa8_yE0W0n!i%C-FE4)}B7c_3|H9i+$-i(Cu~hyCtkqM=zwr3aME?6% zlFsP_&!6GKg2CxK5n=aed4O&v=F;D~THC<{`Wrt4_{WIn|rrlEkE`R51 zF|f>eRn&J08vo$~^wROC}fihB8M-qM3?0 zR5w5c*nm126iL1sCK9Wozos$;XCbP-#r-l@K>m|}WB4&OaYVsvY)onZ#OMj^ZT;)| Y2k_O=6UYKuP5=M^07*qoM6N<$f?(h}@Bjb+ diff --git a/graphics/pokemon/monferno/back.png b/graphics/pokemon/monferno/back.png index 502e061c2b1a74151608f2b0b86708e329533483..4290da6ed9f3c003404f8982a2cdb2d43cf3be57 100644 GIT binary patch delta 661 zcmV;G0&4w<2Koh%B#}W-e*gz`Nliru=LQD}BLrg?#B=}v0$oW&K~zY`)s#PL+dvq` z6?f2bgFSUK!634T)DYt-TZCsLb7&D+TyD~k7Q`(^pP_3%i(De)*oOMrd;(KqC|=4@ zx~AZse7b*<6U}|6)7?++^W1yyon`$ean=NM+6@UhO$j{jSB$ck1y1^g*gyt z)i4y+81lg9nn^Kya|JGV0vH67tGa{1=vpL*!*R2m+LT?c;2+8;Ek37fHTj# z5kUJC@ZgP5UzA$ZfAD?eC}4!@0E*;#h|qM^uV_?&>xfU=T?q^outI1Ned6;Up5B%k zD;=0hpxZqOM8mHoU_a5jQe$cYqCklRkfTXNpB1n#M+;e~1wv6@0Ww9dZBqg^r7{JO zzz{v00$S1pAvcyLu~)Z3#PBpAH6Y3~0N%oe>UP1nZQmAzyhS_K$lp$ z1F96P!y(OG^?M!ow%z`D_v2s!n#AF6%HqrRpjp%bkn*_S{?>p*NdWT5iAPOhzgIxZ z*`&|ueVS@6?Ie*BY=fKmCY_V#x&H7aB0-N;$X$l%5)uOtH~n~&4h-k)YLauUbOHYW zmz1rtR+#$`e`6hRxTBoX9V9Ht60YOhod)zWe$f8qj_~7N-%_fj$lbD4{9hJ10xqR+ zRslfaFe^JMq(3oMrN|477SsUvojta*%rH@`gt8|IX76>FNx&5VD1q$w90~$36M!p- vo^|;kR3<7w2>1obq(*5$c72wYDgFWTVrQi37?L3X3jhEBNkvXXu0mjfi^MFs delta 652 zcmV;70(1TP1&IcbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tS0%A!-K~zY` z)s!)7+dvqGWp&VULp+h48GpvVp=*DOTq5MyhUVJ*0#jlrUdmCrrr@4@y1P%7iRRuQ zq`OD&`|7*zWc@Fr)daN98U)%+0u4Z`*`eKPaHx3L?x+C>lF_RG!WRjy0k9CufKvP_ zfWs z%@w+k0yqrESM>z_;k6P-lK!w)0>+^4=jA#M$G$(QIrzh+0`S!LZxo;;D!_w3B)u|& zl0ffc*8oFO2S}{fBSI#t-jT-Dpo-+V~Gw18vEAPLrWvBxZ!fEx#EzfW_|yj};s zZ8m@2{n%FlV6p$3it%N$2N5BFQaSE7zX70kvq<yO+kcr1w)>dAr1xnGQaZDl zwh$lqIDbs%>}3v8+A}546&3Q9QM$ye0;rRI*h&{ib8$4;xdBipAJ8QitD+U=0j3lJ zu1u73zQs(4Eb%(I-2$L{01yr?w@hyL`j&Gbk$c5ev`X;HVh6zE98Zq`R3yyGj*9qC zN=+&9!o$V@z)j!9&vu$sLKG{J?ny?)|2oPv;3)u=Kz8^YDgucRNIIyV_2f-tLL31R mk_RNy9%TgG^_lG5$odEKVrQf!vaLP<000061p(9c}+IquHz-Xb6!408%5O0?vmTP?~oXG@aU_pSXI$w@s4RFY?DMPi48E*&6wCmc0}n zu#XHM41mPdSc>zsP)u6@H|0gwhy_4WO1feo>`!8|uFgzn0|4Z0b#l3wxf8DhT%K<6 z-QG$Jc6YZaieOgM;(Y`d6y;YL&69alvl-7^v46A1t@`wT0-Z1+=!L0|gt0md!T`Tk zu`tdLD@>A%gxMbn5XPlni(VK9G>T4`iPNFs)CsddZxm}QIoXEk r_kQe9MSjfnTE%`qp<+K6{Vs}cTW`p$LR``700000NkvXXu0mjfLxHAB delta 373 zcmV-*0gC?C1HJ>07#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0X#`WK~zYI?Ud1u zg&+(>%_UM;lFtAC?M}fZT0nO<_wn|@L_4-+v}fBsaUXcf$GHN)od6KQD$fT@_xvD0 zvDYcUT!2z)zSV$4aSHUj6~QjM_!3zpXI@0h7j}lLkh0{Ic-6vg@Ocwho(dM238+Yk z^$)=|DUnkYgj`2|uzNqG9laow?t~NYXr%@aW(5%WCY!521An^>4fng3He!FSR2_S=@ zIn)6n!}@dkqao%12-klCAlrWB5kuv}e7idzmivG3ffKCvAI*iE{cpe2JNN$^U}hMZ T;(>d400000NkvXXu0mjf$F!$^ diff --git a/graphics/pokemon/morelull/back.png b/graphics/pokemon/morelull/back.png index 2c0e0e81349e0b91c4a8599f6619a562d67471b8..f8184539bac5be1c0ecbd455e51a195380969440 100644 GIT binary patch delta 472 zcmV;}0Vn>*1iu83B#}W-e*gz`Nliru=LQD}Bq?c$4#ofg0isDnK~zY`?Ulby!ay9y zD``lWuvB*~?E^r4fTk&lz+fc387AV!OE`410}Cf(7p`o&wD$xOpT?+RJAYT})cY0O z`KDd&`|0n`-S1LOJE@|EbzbYAb=`g~aqYTpzb=6J;`Yp|nhGF*e_`C&2c=?IRs!u6acxe2M7UzAe-GVj7w4|M2c`^00*8> zYtQEjU_kzW_9BXA3Sa^NypDYrJ&Es%-}L3@0N6n!gaUYYlrH$*E%@S70XWhQJY6V( z=3WG#A=IJ<^gXQ3e?}WkCpEywD2+>?vJtxYA|kXUP!L`fC|Y1K?8g+ktZY?Q z=fSrF_RQ&O*;*kpH|9gmGoDc%tBG-*aL#znI5M`7Kh4>0PD?k~T)(q5+r82461(6d zwplY!j01&I3~133$gtbVO5p&sDD{d1AOI2!pe2B|IZSzx#5?`?{;wb5jnuS~DoTm~ O0000Y&^LkKjC}u*=#( zwHF2Oct(cSRJBWZ&H~qrGnkT1rQ($vlfW~~ICaLu;(gUap}*^`Q!h{4iR#W!)9{nd ziYMHmE>XobJ^mu%)v~iv)(IVpkr0{4ViBpuI8TJ&BIg3Rwy=Jh^W8SyVE6iiuleph z-Yy9epKsP265*gaOp1X{T!9P$lvlw4Y_Z524j=#$48#>cw>e5hxd{GOc?uFjegWZ) V)U>RW_K}d5Ut%VL88q>z#|MJ_rW7ehn_5OF*-LuJ?}se{F|SL7+7OK!CN8scGI!0PMMo#~6FTn*cZtnX0H4 zhynG7Dr!2t?gx+5*HC1-LeQb3REbRD2Ht+q^@rKQGO0U9f;lmogjRS<91&2|B~N+y z{wzH0xZnkka{!dQe&j3{c2Le3+pz3Ye4$j{W^n|FQ&z-07lY)N<@Y}Tn8<*&X5}~k zkZf`TY_j{+)Yl03xyMVzbHs delta 400 zcmV;B0dM~B1NsAyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0aHmtK~zY` z?b0!8!ax)U@P~*H=+u4z8(kdR)cpttMWtP8NJf{2&eG%dQcFe$p(H`4F6JDw=s7yI ztBaIuo&5}roqaDwSO4q(clYj&gHsO7`6b<#F0QI1s9DxExq(#x@(nDjdIZ=__y@Qt zm_UQ3Ljb>5Yr68G*+u$)O7J3FDTPA-DJbx?1423^F!K-~;AX=%O}~c#XW;P`=YH^p z0M`{=gH-|?$bQ{m`J~tV;8FHX7TF#OO0qG9$QEAU?+4|6JsGxb=?&O^0GxHgc6cjX z41h7xQysoPV?D%kJ=bwcfTdn)m7){iOsR!RR%j1~-eq_Mh^K069_thb;~$mYe-ofn z1llvT{L&vd_&el+IAr-V?`QZs0ko1N837d@ai9~i0x&56#+DvojI#+RNH|{KZMIwd u$7O3)&O+jzJYUPR4bb657d_>W0Q>@xD2B6qWrKnM0000O{2__Qiw1r>* z007QOL_t(I%hi&h4#F@HhWiE=f&U#{uh-%p4k%UOB`RZ?(Q%6QU1<%opm$Jeg5Y9c1fJ(}U>{3NCAlo*U+Zgwz%gOkv=W7V1Lp{L_t(Ijn$H|4uUWchWiE=~(DSD@60OI*^l2;h) zXPNd82(Q_}C17VR7>Gxr%M=4J+JtzJyWaRWJV!lU%K|6BUuZfG0fm$S`AZQ<+@yQN zJ5d0x%U0G}T0_kOuLV!oGm8k8_@nc+L139MP22;EL2nS+dovh>LDU(PAOPvglu?5E p*j|_|YBLCf2N_8i;KKaYk2e%~fwPMI?C$^o002ovPDHLkV1j11Z0`U7 diff --git a/graphics/pokemon/morgrem/back.png b/graphics/pokemon/morgrem/back.png index c646a8fe9f402910ea940e1c6c57528159c033dd..31fc0f739f4b705a0cc9988736b336943bb1deb4 100644 GIT binary patch delta 499 zcmVD~ zFaYLVh7IC#Is{C;>Yn2h41fv^uKe>F+E5&1*o7PbDHw?{DAe_?KPXdkAhx|Vj$kqd zs>8Yml1XM5m~5;5f2?h&F$>^p9f2g25J2%6wIPzO2^qj-9fPI=O9yH<>4Ietq01xH zYE!WJTE)QESZe~>+I=qLQ*BJwVGG>n>M=gm-58bxY7HOw$^d$>ARuY$Uc?~KzW{d< zGRjjl7-tZT2NEg=bYTrD)LBAbFu?2)SelIN)FjK} z(2Z;Ku^R#g!0(BN%*Pgg3BZhlBHw3SAniDfib??BeiguWH)?k5)kxrwonqs!qrRnI zFT>-w&)#4F%)1O5#OGuPShecb@d*Y%i56Gwx`HMu4pQtw4}b)$#u(()^{ziCt2hwb z-X2G=DFfwU-2-xxS_UTDvOjAVYD@$8T1P;J5(3CSqc()>n$Q7%Ox7`|JFxUX`AO$2 zg9u$7saBVO%hpv4+8UK1V4T}$TExJ19X7!Kt{$Ux*^OaIKpFVJR|c>J3j&&s?nMj& z^9%5ALP~k^8siM2Zh?l<1Cu+86>B1Z35~(|2Zq7ICr4FLS8eJdDqPMJL-XX$nP7FA&R6x#mro(?QU;!&YnqVQhPr x4sw`P!o?dn|KIXe>asb9WXh&=iGK(oz5#PzA)#2Fn0NpH002ovPDHLkV1f#%=Nte4 diff --git a/graphics/pokemon/morgrem/front.png b/graphics/pokemon/morgrem/front.png index 980ead417991f32b57058adf44143c6bae7597d1..a6ef7e1b822a47d7427dab7d31a7686ba968a92c 100644 GIT binary patch delta 672 zcmV;R0$=@*289NYB#}W-e*gz`Nliru=LQD}CpWmOU}gXS0%%D@K~zY`?bR`B+dvcm z;1il|3DylRfiAidVL=BsR^w(YIxz0qX6a@bL_CHV4lNln1dV4IEUqLOI+gYhG>pt8iLQmpzoB=sA>ca)x|Y64)_s0=dUsC(;D7vOSdW)Z%>>Zne_iAngoV{jyVYu{ zYuAuK0XrZhY;J!Tfc^RdsRYtfSU7S)a7I*I0u&j*jcb!lbY9^Uvt8h&?syBxg=YYb z^hG9@*iqoPp##`R`w9#zaBcu`8f5Q>ouSHclHPc`0AvyzUCPmrkT>bIuhn649%T5e zLx&ZJ1{#2Ul3gFYfBQ218iZ*SGriX1&`y}<9P6p)3zDd!!G3xm;c`buZqahZ7viU!5u4r+ZF(h^kc*;vZhaCv z$xFfV&D{ECK9km4x?V z^@}qF%96p6VL$oir2rR2vD_T95G2L(g0000DaP8V;9qm^*!+&fWc$qug0CMgbKqGsR%PqDQIBe(u zHnN@q{S`PffH({C_x*NX)i}zVC&crzSuSb1cK{9T(IL-XfJB z#eWGk0uXf09mo0fkQBQBDR>+w4+U+Rf!*&=?r{149YC%@X}wD+J)z84fw01<*Bwgv z4$uLED8|@Hp$;r{NKZgrHNxA6+7>vfNdhH^RV#EbLNzrvR@d{QF2*%&g#mWdF}7q9 zCpmVs{aI^({OF~Zq}bEO#)@1QSPo)n_J92u<%Y@QUCa^o!E-S!Qji-aZy-1451W-( ztbkquj$+PQmqLgM0}vZZKyDw=YQbmXhg=bxz7Q>XDdv!ia`oK$B6eC-f)(klDq&%5 zv;bsK%;kH83LpcJL`*0La5k3!VZ-PYHxo4vHxs#n0l*@asSR*-06AxH4VVNL-eU)b zO-$KSU~l8!mfp){Rf_3EJ&RzfQ`=xqEUSeAw?fPT>}s8acVh9AGX<)O!GYm@ w^7Tgn&dPGWKIS{(t}HotGWZ|z|6Bm@8<0oiDO{2`DQoG9cyv00BBlL_t(I%hi*yYQr!PK>d-0 zA%Bpy+HR~~Xzh~?9lEs|pY9Ib-BXhMp#w|Mc?f<6nihrUILI_2ihc@$0$+((1{(K7 zY&C*`GWM80O`s=`#sCzWovtI0yN8uFITy9%b**wGriToI%$=l&pMU1lo2?`;L=^5~N=CY1hmwtq(v#FPT>gA9mKl@l~c2wdfMfy;c%{^PWq zyifk)S-u+HW}V-4pxJ~dt}Dn63_RqH{Gk0a7)T)ULykG%@UB!nZJ+c&)Da+q(!)!- zWzebXW}RkHQCY04k(v!M(n;xfZy>Tw?nJamKWtrAwSFN?)ZY)nRJ_h_VZv19OCT8f hL^D5{**E)*AD_@+<&~ZF&AtEt002ovPDHLkV1lCpnyml; delta 319 zcmV-F0l@y(1IGi9bP)kPNklvPZQ_~BryPuc4w*x zWc9RH;=0zEmeWOsOgp6wgSI<7YSS_RsGe;J3}_mgJJ0h$NW0XQeBQef&c)G- za4#tQ?d*S!GRUa}-Uk&Bqb?_CLt>y#QB#$#oK=PmvZ_|9 z=DmSTH(4#CMfzb|r)3+@I0_TZ_k%Dcuk%}&Fm)sO5{5nz7m**$?3?|@k5ABH<&~ST R^I8A^002ovPDHLkV1gKJmlFU0 diff --git a/graphics/pokemon/morpeko/back.png b/graphics/pokemon/morpeko/back.png index 722b1acd936f2fe4f5bf1b2ef82eb1318c856f9d..26abcd981a0666b75344149ab39d240bd50da65b 100644 GIT binary patch delta 392 zcmV;30eAlT1MmZoB#}W-e*gz`Nliru=LQD}DIlf$$S(i@0aHmtK~zY`?UOxg!!Qtr z6$*xIc1xkF1=jbf9zPXp$Q->ck_UH z4~o;c!xV5tz$o4W0bL2e?M4wu$7(jj6)<494SG^{HYcj&5I2P@d>gHGngk$bfL9dO zxq}Bx=#Yy0zu1d&L7>AqaY519-ZwdXy-#(58M~~sVUV1@OQ%45lsg|LJq@u_NxuReqh841D=Oa mzX6`sfb03|Jg{E`{_7LKsQ0S$n;1s`0000bU ze(t>!7WY&medTMF17AnuNFl8X0bb_Ts^m01Y4Frm&T7qm;^J z05Sr2MP;l#dO(K`R3OB~T&xWO70!VQs?kio$?@lVXeG`#7PSe3l<-?BN5og{6ZnF^ zQh*{3Wh00008<9pf)XbovX3lOK^@dI3+q&w&7ZN^t^y5G-eqk)TYXe<-S0mI;5CWf>vX zPzeGAJmC@>$c4WGV`nj6A($X4m=r5SlS04^1=h9)fEQ|%oFm>F(2-#65p@kA^)3n4VIH fx;y@`|7m;yJAaAFTT8zg00000NkvXXu0mjfU>BUP delta 393 zcmV;40e1fB1M>rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Zd6mK~zY` z?bESJ#6S=R;0;#k+<SKrE(&gaVOd>)`?J{lNZN_M64B zgtw&eg7DI{fR)jj018LJwSQ2d9z>-z0a)vVJtl5&U@GdPHH-1QAwY<_F~+nC8wzaP nqhU({X2$5yP(7ULxQnr0JAaAFPDp#-00000NkvXXu0mjfET*Yp diff --git a/graphics/pokemon/morpeko/hangry/back.png b/graphics/pokemon/morpeko/hangry/back.png index 93284f87bf10af1aaa99397a20ea19d9ac011cc3..d1aebd52e0446b50429b8fd89f908ad6a5426e47 100644 GIT binary patch delta 346 zcmV-g0j2)S1HuE4B#}W-e*gz`Nliru=LQD}D+$$qGQj`<0VPR9K~zY`?bN|egfI{W z;1ZKPQ%SgY<^?E!^sujCxOj5q(TwkD3(1Cm3N+Dp(zz}3G5y<;b?y(9-+9z-el!wo zKT04V9rv4&zy+c$fkzz~@C&X{7?8wvM27-kJEFl37ngmt5>d&sS!+{8LUVp=9u@ENoQq!AIal;$y^xc?h&YhQ97c0ly# zf&2T2o-_JUF=Ja2NW5!Gz$KuF9XeP+G5X&2VLoItAbMXO6qPyY_4tnytarg+IE|2i zo<}HdvkHnOMh;PIP{MBG@*SWx5GomX8@>kS9YB96I{^At0r&+leK06OPSfk*SDV3g sGUC~QrzzJ@z-J9C{g-2KJq7>u1sx)&3;tt#-v9sr07*qoM6N<$f(Rd!q5uE@ delta 353 zcmV-n0iOQC1Iq)DBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0VGL8K~zY` z<#9a{%@Q`aE-!%DE1>dWB~gS4GLh=@ff%zjcE5Pl)%71 zon3>0j2XD!N)aG@Fce~c1xgdPjkfM7wZ?oC+XxA9nOK8Qpfw-`hUShinD}@AHGAGAF$q|8aut zT`(9=BSfI*5wf>g1=$i4hsZWzw{iIm&>9#j8F(AM29^S#UrGTyKtCz~{{ZGM23g2? zekb4!xXwnr8t^iw`V083fwlj346di((aX6X9U`a;!St3J00000NkvXXu0mjf0gRKH diff --git a/graphics/pokemon/morpeko/hangry/front.png b/graphics/pokemon/morpeko/hangry/front.png index 240970e83579d74488511e9f30ff49cc26e0698b..d978edf41829a1442d2c8ecf22a520b00781ce6c 100644 GIT binary patch delta 364 zcmV-y0h9jU1JnbMB#}W-e*gz`Nliru=LQD}D>?I~0&M^Q0XIoRK~zY`?bNYOgg_7m z;3X#1!fCAcU&PRv<>J-GLC;bIYV>3uz?jfe@!0NiV6}s_=BC|`nc-)H5U2W!6`lVA zV)-NTTQ7iI&cOg2Tb#iU0yP880xct3LTlyUQtODQK%^KDK%$}&e^U7;2(gKg5Nt6M zY>R}*wpf<+fNQq{@Ww?6xCTJWfQ{`?Kxw25xY8BT>kb?UZu%`f?D{qEwSDS)c8Or< z?OXPrBMU}ywI7ESkR@wisGhToN_Ip%B|Uu%4%nn!)XEP6dtieqmHp~>%ypPLNTeLV zh1(%Us=Ocsq&>d}Vh*_%i1!J+Ak7&Nnh!U^9P+&JgKCPpsOx$aIN=W}tgEF1bLToI zYIcGHb8(l}TprIG282{M#+a_6h69i8(XiuyFzp;zd-`Gj)A|N#rdA1Vk*i_=0000< KMNUMnLSTX^NT*o< delta 373 zcmV-*0gC?A1K$IXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0XRuSK~zY` z?b1z8gfI{W;1Uzg!fHJCEn>KtvT@JG!H=U@IIAoD0mg(oCw{gqES@@e-el+6hj)f) z#i@?6lJkE+D*r@z8w8NcIT(OB;tXLBsRPg~&@yo)v{vCMwN8jCB#HqMBn;J%D%?Sc zO^S@*is|4YG9nkT3>yG{*M0`zgGq3U@BzR(12!(9g3`ztaHS2=+YTIvZu%`f?D{qE zvwiA&c8F-`-Cy?KBMV0I^*jzMpvcz1U|x!XYPLl>ZF;&44!BMGRjV+F+<{wEt=z5O zg@K$BBytYm!q1Q*S3wX1(w*M}`!Wc`=LBAnmkfyQmv3SBW!Z*MftglaHBGY$ya+EU zZp@Ovyt&SchV9_Np}0qDFX!`?0WmeLwYD?Va^TT_8h0EJc8-oMH^ZrpyM*`!YNl2R TN{Ppf00000NkvXXu0mjfXTqsN diff --git a/graphics/pokemon/morpeko/hangry/icon.png b/graphics/pokemon/morpeko/hangry/icon.png index 94b69b32236fb3377f431cba2748ca1d22f22caa..d66b3232d298977a94d303468062a1883deb0c3c 100644 GIT binary patch delta 247 zcmVwV7C0+CAsh!^V1cxy$y{HhF5`& zDyU6MOO+Mk=wu06Vj?M^U_AxcaeC~bqCYSRxuv4_KJ2J~cW|=bA5~Co_;$rZ?-f^g zi|LqL7M#Vc8a$OmN}RT1zg2;a!Dm0xmH8(&=3m#-XhWR?dK*ZHN>BoWf)W@IG=o7w x2@G`1U{Fv31A;yVqkT+Zw2vH&jqdVIA0yF=e-D^yJoNwo002ovPDHLkV1jm)Y=8g& delta 228 zcmVTtJ6}$SV<8CLkw{ zk6t8(Jt3nliNX7@#S$<;es@s7t?7D^kKPs2u+mqiY05SOL zNBTzh2CBdx)zfKXTLr>fz#%GwvM|!1EQ~N{7DgJBg%K08Fw&qbj4MSuRw+X0000)v_2;FxnSD zV%x2{h%3dEv;})*A{YxMGCBt8at7FOeAJL|Cssr%CS1oWLv|X@*>dj^z`N~Xk3&mt zHn@wJm{bNDqt*isA!B;H?Zh1?KziF|FEaJ{BM#zU*VEO;Itx^9fj#@gpdbty6odhT z7Gcn!APjUY!k|Gx7%=E#VNyS4VRZ8MxiHeJuljKZi=uF@59JF&00000NkvXXu0mjf Dx7}=s delta 235 zcmV6@fO&NiwyF@pg~?3FlZ454f4Xk#3BqD%#lDmAQ002ovPDHLkV1j21XZipD diff --git a/graphics/pokemon/mothim/anim_front.png b/graphics/pokemon/mothim/anim_front.png index 591ffd651232a6d2ac45b556da889abeff19e3ff..96859ccb28342e916e3d0749acf4e78cd32030fe 100644 GIT binary patch delta 1080 zcmV-81jqZu2>S?-7zqRe0000Cy zN#H&F-76k(e2$R+tPG0~yL=&Ej!O)hyJq2q0#9Ay(9Jc&b*NPYsFepC>agM*&aU0d z-Q&<(Y*GNeU>$PlfMI_*AO{>^01WTouV52U05AZ?UF@d22`B(K4kul; zh*>}$@Bu^uP)>$+fyh;n$#8~XC`RD6( zmrVPtw_6239IX!#z!toHN-Kbw0vEgkeUSjX1gzGFe_$IOY^MgmCRQ((uYP|D$P|P) z*)7k2k8k|!$MDs0$fx6azyt&?uEW2k0;@U$&hhQ9;fv?t)f~r9s{sh?ybE7^6^07% zssUu{>v!*8)8}D?0C?2^1VRa1DFE*AD)0n>hu=ux6h_r?vh`E}G4@b9PRN@ud`-^~ zfRR6()FiwO!=FVQ0gi(=tc-sL{^%fUoV*#Y6h#rC2GzF7-g> zr*L#Wr``2D0{K3;Rv8ffh<~2|xK@n1<^TD}HlIz&$G?BLBhKOaGQ!N-x zr3IrMpv}97p#`HIXqiF_Mq_EgXsjaz@P7akhqERi6O36c(wS+&fLf$8g;X$nlpsVV zmGMk4q$YW6Fe#4N_C!W zCXfJ(=80hVc(##q=!g!UEyl9-`RParM!@!ygf!x|JibT+6p()j#{OO9<|@LFVe)w4 z!$=E;mis|+NRvNN@c_6Mi~~(f6rfH6!?_4D!8p{w9-fno?Z+~VZ?7`J2w;{1%EvIm zLxnYXUaAtJzmEX!8Q*nFuhD$P6JpO&XVa64*x?O|=*a=ws^7V0tgnU5sI@MGQHRzG yS$6ETDQ(+$@th>wx@}6puv!oAw)L-k0{#Y<$Fac%yF}&y0000hl?gr$lg4wG5u~L;WiJUVHgN*e#P5)g3NDtQ?E>9~3@lc<>JQI07 z&xck&Pyp>SsX)P%Kwve`4<*b1^Hl-#Z#~cEPB70ib(v)#)qJtu+zRNdZ_pSmaQ)Op zUm7B>c@%|!rqFeN=n?QJYJrjtT3;D5o&?1l@C@7va=xCz2|@vFLC#~V3wpk3$oZxq z^4fs!fY|1*1fJJcxenlu6@MX!yaUfmtK!=N2ir{Ge$hR=H&|-}Cl?)d7vKc85PEM9REXyg$17X3-w7r24sP80`wz)&~ouT3S0?^V3h)hw>A}A z@_r1+g6%B8%}k#ll(6GL1ssSc&xQ`3`&+v$+rIxSxbHi%z>WyG1Q9Ijv9rN=-r6o+ z49iO70+s~_2445^Bmgde1WF81pu6~K+LRjs&ALrW&`$8ovtW;cBN6BsJNRj{UVutP z0rOor3)U!qNcc{i4J_DY2!|60PCMn@w`Rg`n+OPGUTcr@CGl)P?ut9Dp=0Ix88m3L zegSd0S|FAr%7ZOag%kKMs5HR>`(-t0C`2+*Jf*I0f)92W||SwG|JDsn6?Q38A+Sk7JuUZvA47MtO80L!r;unHfB~$^#Zv=0K zPz4Zw!-67!7;cydUVVy*V12g?_#XY(UKhZE9rqAGylGhg@mdf9h&O^ffEeeC0AiT0 z0*DuaJb)M$lmW!JAP*o$`6_@gow-9Ir~(KxAfc{h0O6D3E{Tz>A`c+6&v2Zi1Fr&z z7$Z@;Q3Tvp0fdeD!+ibpAmUX35dYq=LThzCy;RE3-O&BsgEF#A5gwni$aX|j?hO(}Ab2W9Zl^?{%UEnAVFGzlS3fW8 v7YHh^ulR8H_4+O{K0SWR%e=pb|91NW`MNWV(gp@n00000NkvXXu0mjf^4ZBl diff --git a/graphics/pokemon/mothim/back.png b/graphics/pokemon/mothim/back.png index ce5d70ea1fb19659796c15d8e5190fbdc0fe48eb..3712abeac5bfef4dbe5532b9b3998a83616db468 100644 GIT binary patch delta 511 zcmVeE>0B2{!G>IYBW4xxz1`?*r=0WWtFi6V3iUze}Fm*00jxMBa8va z>SRL8&49J}AaM8E8JQ$O?f{Sg)*0*R7BwS*(+i0}YXUS*^|@pLf-_=Et%p}Wfa$|C zFTmcVTjGj(8v{LbKvEzWV0usAl7K0FQ>fmJ=bKQ6WjUq;*wRypRnVYs%tu+ij>sjA zt+ITfKw+k0GNLEgfBJYMz>=BOoAj+-kJo0bl%hvG-x<>pTai-RbHU*Nm$(;#b3WGu4ovVrz_~Ns zU;WO(otc8L>BvTvbVX{x1GKU*4Ec=w3<^Y?+H**<%z~NVb*cym!9}Hrao<`UJpWCeqZwd}TM9JD_x3&Cm%8au1LNcmOarV{S%@7oQUX#xP)bVLl}g z5V&NvG-h?(1t@)W*$Jq3<(If-04&YQgM4cmTNu$`u8PO z!Gndh&t>`Rj_U{3Rari8ps4!JwGy_Z|izYx>j%?+W|Iz2Rne>-v#m=OWJii z*ghr?iY?#{wO!(geV_G=j0OFBzd_OQld|iD0zM)5@x`u{Qv8UYx7JSOQKZyyD>z%y z65pg0LbRH|gAM%;2;t4_pZ@gyt*t;f^5jjE%w*=kcO2_53`I@;4hm$PxjUp=isL#UpGMZ5Avz5k5n@sWoKtH-eJLlWO(5Km zlXw=($oG%L;k!G%KMEQv4VJ0lE@>_gxbl!vCTI_zl2dCelal R-R1xQ002ovPDHLkV1kKb>pK7d diff --git a/graphics/pokemon/mothim/icon.png b/graphics/pokemon/mothim/icon.png index 33124586818efa1636ed2f262a6c27ef6b4f39ba..c7302bff2e10ea8f95f0601d9430e54609523f7e 100644 GIT binary patch delta 380 zcmV-?0fYXt1H}W77zqRe0001qplF?uE6!y+2_*-@V5?I0JKTg7SQpMF|PsHsRcCB3`Kt~ zwzSfs_F!&mcc#s21*j*|o;Fg}io3lY+wfLo^1(3??E?@(o}C&peT|?InHH||pd7(P zWW8Y0Z*&NkUQT&0daa43Nl@Is-aHQl^QgGt^Ohfpmr)sC?!K9m-(tldRbe7%J}Xl^ z9g}_h>?~JF3!pK;=?c*@{O6M{%qM763Rc2kkpM4@<76X2m;?l2QZNYHdIZ* z*q~<=2ASzS5k`4q$~p=Y3^I!_T{#FcRgA)DZxAUv3nP1K0JOzk&KYG9b`JQWGX^2N8*qCs zs5u**0p6>gb2BV$Xb=H^ADs(K260Xpsc`Z5V0Ya^ya{YB)3P>L)hLX z4HPA$6oTv=xFw~e2N5J~4g9-aC^Tu?f*wJ+@`G+WJ&OPO!8*OCCh^1Aecaar5Pea5 z!1$^k-s}XBtziVn!7u~l-OvHj^f74$$T(Fqi~undDh6ap3y@Br*ds=OjD(SHcmQI6 z$!kIfNX}gkGlL8u9*?{t#sH#IVg*?DRDhfi^G$%9>ob770E`tC{Wxnj9smFU07*qo IM6N<$g7$isIRF3v diff --git a/graphics/pokemon/mr_mime/anim_front.png b/graphics/pokemon/mr_mime/anim_front.png index 0b80ad02be5e4855c4f0b3d0bbf371fd38984c23..c4db5e51ec73e51e33c80136cedbc6d58c9cc0a4 100644 GIT binary patch delta 1084 zcmV-C1jGB~2>%F>7zqRe0000Px&;z>k7R9M69mcMTsHx$RuGPNmyEo*3p05b0kSC=+8;h^A%R}cB=_(CWC@dS+R%+rp79aGvd)XY1>wypx zmT8`6U!A&tSXP%^_1#N?F$v@YobRY~zjo@BEQ_%rz3c7~QV-@p?G^hkYxVtt)%}~X ztNn2bp^Jc^uxk%CxleN@h$VmfUe6vNSeHBj6A4UOq;e-Kr9Soq!?*zK(&@EL{<1o6 znM>pK1SnPc=eI7UKf71Yop`C3eSoApZ1^X4Mf>hW+(mYpPUd*_1Lr+8J7Gg7gV0^K zav~Otc{2Fg1E={OLA5p+c{?G3#d|!&qiaJILy;Zgr?c7K_m;p#!rFgq%#$||2tcQI z=xg()NI;=qgUL_oq8L!s-y%sG;$xD}B9qWqU8&B>5Ui8KOe}~cZD*r#-B$pFYrC;V zX{;N@sxlL3S~?$fVL)Y9n|(wE?_<$E37~w_8Ucc_Hpe&K4tN!`F_h64Z|Y(!2;@T} z5G|qHN+8PvwWEg!B(i@Vc5~i49Uzd%`ZmXjFoA?m*KKp0m=Z{Z$H-!Wgh@;7YXbQP z%?KnkimhUyoyd9w^6fjHKtiW~L8*1WJtdHLGXjzFp(GVKPxONXvMgJn>Qd>aNDmT7 zp;b15iUfbAF8G_~6NsC8VU}82MnJ;T$3t=U&4{T#N>a5K%6?w)5wLV9+HDO zfn1WDZI>b_$Dw0RAipamyZ2N4Uos~U^_j|%LKh0A1maztEvUIUftVa8`l9FGClG+@ zRMh(e1Tq#??QH}y1Iqu8K*WFn<^)o0ekJHNiB0Si$ODpV#|61o?NIkij0yxLy5a8( zWJPd~W>4{}Ir%6#5fR9PIaYim1dI?rC<}i05XZlqb^0|82|;H70000naQ^#%zF))Bpe5Gd3h`6G)x2FZW8Zs+F4U47M?jnaAU{+eYRb{SNNE{{@31BJbTV z@O=gcvk|!J1M%l$gk^S%i7P{>*3xo?0R%)L{QOK}6)tgkV;C9);6KXXNa3WZ@%$ZK zqX^Sf@e|W(?3j&z1dlL78=*k?gBxWSP7Jdb^R;L!+}Pif1_*8 zgX!VDjUXn?K_!3*1Lu?}WeY=?=bAvFi5o$h6X8SOz2KDqUd;1KATIcnk>9Ug@Ej*e zK@hw!g!-6r&LobUXS9^USUNCo1SHotZ0&pdl4)K0yJ`;-)aoopgXu!yn&!Pk#!&NWlkMokks=o>2N{Ls|}xUB3c)IV?c!%2^bxO!v421u$bym>xqs%FVL_P92q#o zLkM_ucs91 z1hNHxhiQ&^9n}mj=wio(D#!QcsN>{d95W4CY|8a*x7~J|)oumjRxs8m{*MX z?>{IQa%0MA9p(B8#@XsbX{Oh`zN=uIuAZ8>&?4w67-LgOp^6Lb0SH1%;hTanG*VIF zZJHJZnYVSXj5& zr}-?QMX&!|1*1e3`Q=qBLnp9jOGm+oa_>T#J*RUWtklFE6bw0#LO^*oyfcmp22QGf z_+NM0PViDN)?z~lroMDgFu17;#=Bof!9ZdnTk!)01DQ1A|4G4ki{L-0U|e9}qk<8l zU4c;jVXt5agHeHK`oq55*sMVG^#{DItqMfd9}ZnO*cAxP*#14>qFF!~>j!k}2e*E3 c+ll=Jt+qT~O9aZ;00000NkvXXu0mh|f*rT^oB#j- diff --git a/graphics/pokemon/mr_mime/back.png b/graphics/pokemon/mr_mime/back.png index b9e15eacf68dc84a980c864b505d79fb24d727fd..8abdddba2809c625cdc8e95fdfc5d09cb32fc204 100644 GIT binary patch delta 734 zcmV<40wMkD1*Ha%7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MI7VBq6m*0007rNklyj39{TLVu_9 z#tw27&~>}K;)W3!4u=Xy*mf2UUC)2!6+a?`L{V1(o>f}RfGrz!kxOJqz;!(R#n>)J z4-H_wYQB4HBVPdn)nFxTcL5yT4OsY40mMPo9rre1lO@pbkMQjk3YNeCfB168j`^gB z*{uIB!24gIa(=D@U-7vpuPrvU^6Q437W&5@d46rJ)vZpVwhjvOtN!d^f3gMrGk~mfy_TPoXC%ZM+ct)zbte zqgu*=-fYg8)RQTluy3FxKbP7gjtde(?TPXUJ}@af3}ia{89YFm%635+R*YCL?a);UVX)~5LsFdM&U zYPD^c#Bew{#U3}-ub&Q_oXr`Q=ZcG)Y5r%k8DlFKr>6n?GY(we{~@l%9|80P#N!m< Qs{jB107*qoM6N<$f@U5^z5oCK delta 676 zcmV;V0$cs12I~co7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00077NklvHQL41_HZV;h9u|8b8bh`AW3JN)s1W*9*V|;(*ch3M!;CY4Mes+%os6u#2SOMP5;7R@4%D?kG8$xPe!Vr+EA`+{40&)ifgiy9#?`MLk0A(6?fEan( zoVN@x1Fst&t_#(wIn14cg4ESt+t1T`&$}=bd<-aFqj0Wg0LGB)v9X_C2&jJpr?QA6 z7)$|t0c63`@9$y(oIDO7kN;T%?EK>Mr@s?C0I93&EUHVs(;QHJ40H$R?Q?)EaJvXN zva_i1H`DYUst7Rlmk21Yz!x_kQ=e6E$N|Rwo4|Y2vA-@<-(rV2^K&C5Ki{);SJ}z> z4T7m(vQqk*IX<}MZ5tr@R{(!6myR5l{Aihr-pM}5jOTmm$}JyzqFhni=(hM1QuA9&r*lQf-00zRxi_Zn*4 zZKNrHNDrG2VRl3ERvw2Zxl{B!T3#%?-G_kePX`*U2w(l*`UeiyJlPQU0H(|U0000< KMNUMnLSTXuT{~U? diff --git a/graphics/pokemon/mr_mime/galarian/back.png b/graphics/pokemon/mr_mime/galarian/back.png index 28b4aa04c6e965cad9057f5a2fb63215178ac457..48655beb0cdc7d87279c72835cc9c8ab7fcc83f3 100644 GIT binary patch delta 762 zcmVVi|K~zY`?Ulc4+dve@ z6)GpX&(xFcOfXb(CPB|l$DkTUH3DJ;$qL84h0U00t4^*%ks26+iKT$6Yayv9j z!6HMoL^!v1DD=HM{ftAQd){FC-TUbKy*s@-E6PLsD@Zfdv^#aJfBmwaZs??uD;uP} z)66@KT+vCVA#pcy`0Btw=Xn$8Akp%Cf6!M*8wT_atsD%LXz#p& zIuLpr97vB;E7LV12vPUnw^4vl%d8x1f*LPG-G3tLgsPc*xA{c4prby z#i{`KtsC}`F*Y2se{&*cU@B?}PynoLhsg+pL66Y-&H+HZ9AM~Ss#XI~70WK_%rdOH zL4l|xpqqhC=vo83DS>li(7Ok4N+2*a#aaVeUIh@crLFgk}hQECiPEd>Ud*Kbr}ri5p(r)POja^^j-d1k?CR0McU@1}+w9q zMxEg(vKw1ML33S1be;*YR zT?x21XgU_le~d4q+n;|504HI`Ut}Ws!rI^Ct1w9_k2yP*Kqgk#q{!|e9=2mm)HYykQ*Zy*H#2>9xH1aGJSc*ySW#|~S=({U~^2smE=aK%di20h=V#fh;6aInY)W;{zl_UM!r?QCyy@F)db z1U%-S6i4nrQ4v6a83OP4IECS1ez=@~0x;u?Iani*!IfpBFfH#F#d2M-Ef&rq#rp$* spmwT=E3|E5!l#AJzXi$<|B3bZ3mYIenz{|ni~s-t07*qoM6N<$f++4&T>t<8 delta 768 zcmV+b1ONQr2ImHlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>DW`K~zY` z?UX-j+dvq`6(TPgN>pX&(xFa2K;=_6r^ra5N(sV4LNw${6cUs*AmgLoKn1ITda(z8 ziF#>}+o4$s78$A~!nwUeq3?Tl`j>=4_q>Dc_nx1h=k9bT<+1)*q}giP9bId`s<&%8 zY4pk(X>T|CPNP?J(rH+K-0j!5NyB1|V2?!W@URbG9T@1mXaXH1T7D1=`U+{ofZnmH z1OqMF+pj?fLT^I?>5*z>x<)v`_27LQ4Txo%Rf0p%<0aRFr(7qNN{S5CRCN<#-UgJO zot^2R0&gmI1;B6JaE6r9;gFsaJ_A!xOTYra-g2p^kO%aLRo^*(04!eu6f;cKZUCxc zJB3bd!>$Juh*|==8S3PY47FPV=fqQ>Y&th%N-M z1Hhb2vB2ax0;!dMBk-{>SSIsngf;zarr4%lba7Jyl0@hc%f~6U$rT4g#tsZz3O$b5 z{sQ%69^qeN4(vle5x@;&*l}P|2hbp9EJgv+CdMtwjUBao8my0TfO8D#(* z*2VjrGPfz+LW7G)vswc1mC|q0E#NQ~Nu&pIcz((}KDM$*R)0ad&Vfk6>8~eRms8ZV ztS!vno^xgU?9;sfhtu^r*Hyn*%~R`h>jF473p_0XY<5&@xo+cX`TXXG=XQ!|r^cdU zVc;{rrn{Yn9bBKaIj{@TqW~bjW7iixHXDpxvzuV~)OroydZQH@H4l_`nzM|Zv9Qg7 zjneLeb{fCPq)WAf8Dr;v+_v}K+BK^W-{Z@Tl4bZj+5NB+c+G_mR_s2YX;wK<;}Y$_ zBhaeG`&=?L!(pD!_U$8nctHU84!mMIR|yQQKPKYf0F!(IM0*FKccKUu+3*qd7dQ^g zT|nO+0!DB!(J6{R5Db-<4jb4NfKGAg@Z>gyrrVhdPhvH8dzkMJvV^U$(F%XZfG}*l z2%EP+m-M>fr2zC?($j_?BI)+xt$G!@WaR53!Y>F30Z-Zf0-X{A`w&K<`Tzg`07*qo IM6N<$f|znBsQ>@~ delta 604 zcmV-i0;B!02EGQ6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80+*4AAr2Z4 za=Sp%r6cUL=*-A3k+>m$et?6|p;A}gbh`Js@B4B04m>%_Jo|?q=^6(j38%N7XkJZG)3UZOe|yfg?Xyq!0vt})=3H0(Vl~dJ z&&^BV*evk02(a0Iakc5X_3NdJ+aI3WE~cF-i;9JT&-|+Hw(E9qbKc^>9!QS@fcTDG zD}8L#8M|S(!P1%a8ou>LD>SMesO&Um89QfTivt_wy$9_yevwIQ2Q$Vl{{=L z*G%UsfuZ%rBo6Q$lX3z?eutuWq6ik)@DcSEI1bERLf;+&MsPUME{Z@943!s;>ev;4 zc5(6ObdW;BZO?_L5B;#y#eBb?C2WTEX81b>gkk+f*cbpE((Qy-0?>6ycTgw4uTD4K qs#l>)M!r5G{DP1qeT+}V0Qd`?5(E1HE;cIw00007&XT^es8yuclIJjRwC)W>^J`m;>f zD-Fchy_|qoPeX*o_Xt2`%o)*7cc6O%DFg7W5l7{L1yB#lm29)R?RLNh!)qR{KI||6 z$gFct76EW8_xz$mifmkSm)9W&fz3sCnziTkP2}^Ip$C3VW-_XHD1ZrIMC@N349`UkSP)PbL*4w^W@Qf52o2axzN zOtnq0ri*C8*_a50*`@Io!V7n~J02m+4jj@uNcA}ac2WTn^4JI9iYzs*80M^ z3pvnFK!^xjr`bt5AQ3d9w4vsd(rriH^4QJOHpd;0019KR6(8_CoVv4eJ~9kIZ`n?~OqT*Y0|b%$Yb;EdHWj93nJ_Ds2!m!r6JY?+tNizW a=*Ju3jH005n4Crc000080^9O{2{a0UEN$fg z006&9L_t(I%k7de3d0~2hP{E1BRFJCpdP8<*jyvIL7lR@bS@6LONK6mR4fD%A%C6f zi*tuk`Zhm)ef;t<_G5$W%r$sqaBs5cV1cerptp8tyL6L>2z|~ez~BkG*V1L0$L_t(IjpdRt3d1lAMSTN7j^H6<0`-v!9-C_juVUOE>K zzKe%0h19qZNDNUu)r#j1rPZd#mu10Y?8gd=9uz`i=-*^f(I5_E2BR^yAMzx`1kO3Y z=GBOc@)YQ&#*VB>Kt`D(>qF~KW&o8#L<)G2$HR?mt+tv^jaSZZAh<@{ExBeHgJ{V= z7Q1X2K3 zegu3;X%;nD9jupGf13f=hJ92hWdsSM(nOme;$e~3IH6BlQ4;Gwwm(D zWiB?yU@s$ZFoutt`Z1(%*D}!l=>4lsCR5|r*Dw}sAlebwpQNP<69D|(M(csJ%lpaH zrbB%19wGn&;Hme6Z4R&RZ|*)4eOK*w13(@8>&+>}gc~;5M+n2)9C-bn+Gl$CSgtY; zuUj_EPUeBeUZ2aoxbkwG_x&Z1+BtybC4e`8>Jremfadc+=tzGZ&@1!87eMUf_zF?~nf(DIwDB_^>5|j{0000m`dA$@_-zblRfq1$GnBle{<@Bl zvE^V$$Dcp)sE_I&5A*PTK56VN04^o8*4g-sP+sH#pfvK5V`D`k$)-Gj%?1EL9!-== zn*e|hZyP{tP`W8+0um5YB#PEr6hKprik@l$Ftk8< zZ1^_|EwnpC0un=~HYyE4Lv9FAjsZRoGcyyATMw21A&CH8G_5Q7Y;+H< zG7GQ6`2-YdH_sP&ws1k(W?XUjw{r$o086D#g0)sajCmKgfrs}2@yDm91)yg@G}89x zvemgl5cshKlIe2?|ERm;mn%)kMs1&;R5x#%z33xOnd~Wh1w{X`5p!+`LH@$48#?LSG-gHcK6L2_*rAos9{_bK7 zK-%ZSW@^(TzV%-t00Q7?$b)SkU*2BbeIy1~9rhzY4*vD(lnR6!FF91;ETSLhx15WjPh_YSoHl!T+E^Go$D#i;@rOg5+}z%q5i8->JKEe@iX;umHGex002ov JPDHLkV1kl19N+)| diff --git a/graphics/pokemon/mr_rime/front.png b/graphics/pokemon/mr_rime/front.png index 3c86f31ccaae7ee15f5e2eba58cc47e4c8d51818..e36e9a183dd8bfe3d722a6597b4dd9f35f7a9b6e 100644 GIT binary patch delta 844 zcmV-S1GD_P2e1c_B#}W-e*gz`Nliru=LQD}H8CkXwSWKs0~1L^K~zY`&6F`u8!;5e z9n6TL_y|iYD$bl30JR5~W-5V8yoL&)8yFiT7ey6p4E+RYcZPIpDkaEORf&b6TUi*g zv|*~0C@LsJrFa1`lD>B#A-PNG*gi$Fo%efxzh^%mA^*xEjNK0yf1IbsLx2&`2agLw++@DRh+z#&+y*eCD`7I8 zNeoJWfCT}J_sp_vx|EI$?Z8dM1X`N&I8@@;13P4vxMgr5TudRJwlab8Gj@cFWg*y< zC--+Y;vxV{+K{%Be-LcnD^`vVy(M9X&oD!%`|^0JSg9NyBr+pz4`QBGDqE;f90lMF zO;nCI*t^$n4ifh09+-Ih+TboLdSPIU`@`vbp5~^v>G}ZYcfh=w!QrW4#oa0I1h0#X zug`-C&;QZ6^3EEasFd&-4XUX$%&I1OAhQ;Mp_5fAdPIJD{xQKERb&&_zO+ z>2>{6*JEuGj0jt+l{qEBrjNS~vXP zx!-8^h&|RJT;Bue3&&XjpoXi}FaW-GjW%?>3k2)bdK`Te5?#Y}Gyp`UY>Il#CQkND zYb+`Nw90aqOr!X8Lt@JY527XIF2idiabRyk2SFtOX^!771KCiW2;5v*07NX9?%BaQ z>9y>1Lato+d`6!1fZ;4xJDtuY#?T%RD1*Y=_ciJBYbiTn;Les%i`)Z{o|aAi5Bm+a WU^T04e5Gyx0000Bz^BfLgJ%zY@Z_8&ilNt-?N{O{4LK|i;D?-b^ai-7Hc^-Ggp9M6Tbgb|t;04zfvJQ*00HVZ95EN4*S zCV*KT37hd;s$T*G90*{%YmVd6xol!!2W}%K(6XE-p%TyS+aWi{9g7Q*!4#5NCufwO zb7Nf03&F;GxwEyF6b3NrLfT$RupPftIo$W>gd07>9HE()ha07TN@agHl_OCAVxCnh z8>mpa3&0y1sT{7ccdy^%qgMizvW@&8|dqyI~L>2+UTi;63Q0B*7&LJ@9|81_5IEJk4*AhY4rH-~L>>GgaOFlNTJ?Hex3m_xY(}5Q ziq@y$?+jOeY4?sjRv}#91L$+lTL7SjtEDIazE+K%>Usw->(qJ}eH0R1#&z5P;!-w5 zz2*{cN$^e>WSs>#mK7J~(WzBHCVhS-WjhMo+8k<;djQha ea>@T-g!~4!U^S~|kv&`h0000O{2{tBy!efL0009h1L_t(I%iWT(PQx$|hW!R7 zzd-yD7Hb$78QJLLu#}0p3*BMp-b%1`%QJLC4Cjj?qyUkB+&Fe>W+V{a{GILlefpI8 zy@hXkVkrwg06-M!RA5J1n*dBY;(%5QRVKXwX46Vrweb!)dVk!pG2YMwq+4t)!|9K1d`f%`*cc$o>^0^I>Cn@D#~i)Y8MRx-GL zc=M?1891D=^r=z!L2vJ%hJB8PmGf&w%LHi8LN7v1?i(V|O``@m9sAIzUW(a=DXYJ} z{*y2ig_-?$k2k_(Kl=3~%;X1IiNYj5j$jlf`EdlJFxd|%jKUOt06*x*7u~G)mMf`L QEdT%j07*qoM6N<$g28W)EC2ui delta 301 zcmV+|0n+}d1DFGlbbkR3NkljXBHAZjkRSAQGPDG!&g7n_tOR*{dV zS>8|V{A?JHU`}4({!mz1X2Q2XbHK_a(wy_+*$bT046YyE0?Kj%9%rI$YSd5Ax;s#} z&(W~*VNJYDfcK*OqFm*^eFVO#sGGj@yQ`=@8E+`f^w-ya5{9ENlOOLQf1&mp(%J44GZY zjug-O1)9-i(R|GOGdm**@qb#Uw>ut%9MFHeJ4SNI0rB>2NAdt{f8X{caKH$%Z2&j` zC?z2F0Wj?5TA$N_1ww$+Qfob@082|xhNtF zyg$bBd>^0^ok9Xme-sv6291{$5GP5p4^R^^azH32oJQ(G;r!Eo{fVcD3OIZGHSrX2 zQvts}_SiOIt?}&7=bopJ;|louu=W7fz5Wi5v&~ONL#drcV+h)8_9r69-6&XKW_}oE zWRm=*20j>b&j4wqkuNEHFa7+e_xvsxJo48^Op>002ovPDHLk FV1iY1_+|hA delta 579 zcmV-J0=)g51*-*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t87!K~zY` z<<&86+b|RcU>b^d%T|D_VReASasZ8X^(Gexf;bE`7bxLtG>(LKj}%2=Per$~H>jr~ z2(t7D=^64!%C=NL`2wLALGJ_kKZ=sY8y%hA_VOs?K>ywLGLmN;h&OjTk_WK4+n2zB zA!M5g-~docK->o4teb0peMJ{62mvlit@Vs1m~bEfxYZWW1erJhhHan&%C4YC1O^-s z#~Lk&S~3c8qUWW?1+-)of?7m$fQ=voMVupkZjE38&0sTL8~`%{87i*cEop@rP!j_z zIgw*IFCq)xpI~{l52!_#kieR9i5hDjeIp#8d(k>LPKKa)lw>06w z<;$OOOB44VJbmmj;Fg;3884sjc%a=j6ZreMY5}&q`Ux-7^=~Fasa-~62(8!qCnCt* zQLtcYei`P-B>8;>J{a?r0jbYO8CJ%8V}ajjJBe8`Ag?ysfgk(z0Iwa$BD=&xtrCWz z-MDTMdyt$@&G+4Z3M!ORp7z8MeKkCwev(~1*PjT;IPA-K3u?ojl56Ql)xx9!?7K2- z)B);GGO#Coz1y;|v8kt44kZFo(13WbM zAt-X1LDgnoMNP24h0W-ma`px2BvIhnKS8Pp6eDnL49s#KX)NGBPj7Yz@d{m$?BD)0 RU9bQE002ovPDHLkV1gW<|9k)d diff --git a/graphics/pokemon/mudbray/front.png b/graphics/pokemon/mudbray/front.png index a8aa29e32d1898e07d41f1601f69976d1f082268..5986aa446cd76e36b622a160741635dc86be3668 100644 GIT binary patch delta 549 zcmV+=0^0q(1+)c_B#}W-HUI~7Nliru=LQD}I1teL+miqQ0vAa{K~zY`<<&83+dvcm zV41^xGHkcRuX_wMnYWLf{vDje)yWfIu69Rp4R z=b-5OHVvM4UJrtc4h`JVAdKCSLxZsfFGqDUNj82HPTr2XH2BgDC*$iQx)8@2e3CCX zeT08D`Pz+X;C~LHYmWy0^fVkwZ$j-Cr$Z+U-`65CLh(cD`=?N)ud&F%*>r!Z(S6|A zW?i3>SuRp|60GawHA-`Ur}3ID#6qDC@uN%Kv!s+tVYA92;)K#F#~fglQ6bpX?Z+Hs zkIaEx-dyJLL`t!3?Xsb{Un%uX97n*f)XS z`%s$>4V`VnpY<^4Qvi3*YH)wC4?2w$prK2uLsbU`&|7^6c%;&XKB{`QUo-dJ7Ccrt z9)jad_5nLl%GLnUmAZe0;hF+%XrmBKX>M>=3LAv5niUPW5%AqNrde^Nag14y7g7yc z6(%zyKwiqZekBY^ptgWpZR9j)k)Vy41`PiSmWdg#872$GTXXHulx1NXaf#{<_2wKg zF$1OU{Bz7^xa1U=c~R0rQwW_sF7yZr!H>457`}7oncmlhu)H`*_Cv5Z5^=l(dP+=X n(4!LsSK{6ukDf2<|6D%-)JM=S$kb*900000NkvXXu0mjf2fqM+ delta 536 zcmV+z0_Xj-1-%83BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0v1U`K~zY` z<xHiAR+GK-n+*=S^rWL4)(7y3GCXQ0VjcTQ1m>T2G6^%hyF#E z2JUzmMDEz3!9;_X<2qR+o4g68Z^u0veCY+#$@LKltYZy6$rqg7!aJLO?L{>3KKtQy ziw558G#JU&lv*#&MotjCuZ3iW;)lfZPN7O4W0`@o?N)!o`@pm9ramL9Tqf|u-_*%t zlokL_qYd4Nr9z$JM~^yZNhy`UcAbXA4yAR58NfQFQn0Jrj~U25Sp&Pgxyd*lC>+b-MRMOB}RnPK0bKmX2W0m0{IIU?OuoI+a z@2@Z%Q=knU6rw537u=P?1|h6wMFVaGeE*MWR$OTuW7g+|M1yvP$W-qCL=4VrqjP9pAqa)_tMp%laR~ avVH>8N6;_G3@X?F0000O{2{{HmG+%=N z008YtL_t(I%hi%GZo@DPMRfy0i@n*02$1^-0qD&_7HRZZy(n8?FVa@lG9ZK>?G$8a zIX;kIr2aSN@04uDY#L-QOR^;oanijHI?36By1L2%`FE|>)OmqP92)+Pur8tsXVCuCGfQ%P#?_dl>-ha#Wo2O7W@#)Vq6@vgR zxpVFi8BYgges`4l**6of;Skhc1vCff;tc<=`YTZZ;#{>s%SsyTW>Nr`X;M0rxY$)S z>@TY`=tgR!5i5Wj-L5N+Gqev+n-juxpoBSZTD35oe=dylBYpG3{h}XVY?F}IhS^WR Q00000NkvXXt^-0~g61B2ivR!s diff --git a/graphics/pokemon/mudkip/anim_front.png b/graphics/pokemon/mudkip/anim_front.png index dbc9857e04b305c2c13ed621854317b8de1c198b..f64717a76b8ece41b06062be01c5285f8c4fd4d0 100644 GIT binary patch delta 788 zcmV+v1MB?s2Kxq(bbkN`bV*G`2j>O{2{}0YRYE8L00Q1gL_t(o!|j$oZ__{+haD+K zRVF)sU;@c+&O(H#b{RU>b&$HX!569~AQ*D3x|8b&L!0cKy0%0}Nfw4INhU-V=N1OO zKtDh~19xr&l6~hQBBTy^*Z0ZY<@MRWN7GhyPs=pZ`}qyWNPp{RHo&u%0tyH`Fzy0& zmjb{;%K_VW0hzx6Y;74p{{xVBGN1|wwxUTspeK^P@8%JJEr>%(KPLLwXKo&NRmB1_ zVEe)?3ji4kVCTYh1;8i4cjzYOk=;CB09zb5qe;L$cOB8MjMnH0ZO4Fq|DbG_BVah+ zqa8|OK$A7D-hUJT0(j0?zfVaV(An_v?KN0GVaUeQ86ijUBQ&SqN*-7@FlCI@32DXp zIW`ReAqXlQ7@ZMv8Uuzb45R-jfUr)w@j3Mxqlqa1d&0MvbxC3j`eZ;qnWo8s5aZ+- zwcMz|9{_EWLGybxc}Bj%u3nD-v-;V8NTfGY5Tq6OzJFhDDX!dp7mL1+6<1sL3CW{k z(N|r4-8bKt-C|Hxe_<@_IM`GI8PC?sB@HWIuFU$2l&+}s?y6R`s(-4CX{7hd+o{>F z6?keI%K#aN16Dc!o}CJy{|#t)@cdMua98;M2G+VNeL%MY(vjqH^d)u>LVJd`Mx}DV ztA<1-8Gju3Anj)(JAi73(o?x5tw#WQMBCCWvYXB#{du;_PMPKY5T(0KJ8c=Tvj8fS z*PXWPtG=@ki~$>ek*4020BjFf$igI$>-R35ngfq(6~^W>Niwt9_{9%^C)Zps*uG?o zW*FKxd`jMcuh2V60{Wa;!R;A^VI+a!oL!2iX@51iK;U{}4mrjphX3BmA5U3N68 z9DqrP095bzE7y7{3`400#dW~AhDvIGDDjheP)cX)2J{AybbkWsNklF}HN+7sv<5XXtwdwUT{4sz#ME@T|{| zdtVOY=h3va?x{>u?Ps@~jLO%ykZ0Wq$YJCm)r=6>zY~Bwe1A8fyb93&2Cxz|~X%5tFT#j-N{wH&0T@`zP{?f{^g0RZw; zxvD$(e*;<;dA<_JtqT9&z(yxw36V+SJ=d1xvXJ3mj1Mx}29uTpP!)?z$^h_Q>ZihX zfGTaqqJNpUPhffD?MB zaln{!tG3utG>kYfob#^uHLV5|2vU#TLz+X0fq&0i*|RC{Ny0x(CWEigAD*(a5hoHr z(;DNkC=iVHk7|+?G;KhRPDFt?&O<$r0Yo#%3HYKP97_D~s~(U=e@F`88Zs#rK+=Ew zrE9$q4I{B00gp*UK~zY`?bWev!Y~j3 z(6nkK)QM2a!W0vxPL00+WF{7npsmW3<>D`hGa^(4K7*wbTP2p5KOi4f+dygD;8a3v z+qVCflPaH}200000NkvXXu0mjfq&dt7 delta 461 zcmV;;0W$uq1hxc_BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gp*UK~zY` z?bE$(!Y~j3U{f^`Vj@6Um}0`zsqqtl%)~+^Xsa@1x%dg10nR7msYkdzq?*xbts*pXvIMKmNzc@P0C1U|%lx=C_?$KbC%jv&>V$ZZA;p!EfR2I=4lCXu_QW9hwLs^b$`Q@WECS zI-}tv8NX_voBO{2|FW12I)os z007}hL_t(I%iWT(3WG2ZhVuZ0dl*+A$U$(-*wF~0Yr6P6Cmi$@I<_Dv2pS=nX3@lS za4WPKf4;l?clR^)>ko!N&~*T`rvf&|CW~w=VjMtH;sDV`fqx<-x{tI8a~Bg~9gCev zHN|;`j!1|!=h_idTq4hu^8#bkPS@JA0xwxTeX~%as1AZyMSn1FfWnO!_P;Nj4KSEq z%Tu9vFz{R4ik^)gq}xIadhp^vCDm@tpzQUD)Go}Oy*>(80;#=zo;YDnOi7%(5}1rp tJoA4sX0dVbj38b5^)n9Q7>6(C;|)$Bm0VX0zUBY`002ovPDHLkV1n{>d!zsW delta 256 zcmV+b0ssE~0@wnOV1MIDL_t(Ijop$lio-AvMRkCMIZRp~$VI@V%9N48#I4f!JY)E< zSJ-kF0yY?I8AKE{&d5rUZedsDUO+f2~E1>EhMthS4iAOcv+BONvs zIWX`!VFSyp0Jts8Q*rbt&J~NI1iaQ>6m!wAuAF$G>Cn%oHhHl^KlbvSnx%%#We3dN z3_J6IkZ&ZY|NHXUh_mUveGBR@MQMv`J*X)W`Mx%z7eGLRR@O`|ULSBzu-xMH*+>Z; z6OYB#}W-e*gz`Nliru=LQD~02s^pQ3C(~0zXMaK~zY`<&?3Gn?MkT zG14_uY{iP|WaXMX2Q+tGWMtQAl9n`!+^rOe5#<%9;L1dIG4Ke<%VlPE!Mg?}b(ATL zU_So&_us`q@IROMOFvTaAG#YM5(YNwl&F=`3H2`JT3;%xN{blhf2;wUng9i=j4x|| zkOsitqgnyB+%iD90({t$xCJgtAS}q=1SCt~-QEF?D0P!(nDYwjE0DxX0qe3>CDbbM zW^4;(BVa&6U3w6j+h~UtkIm1ddmt2ki^w zc6y0@AVT^A+1^eUf53$VI0ARO+}h*!sg$>bFx#6I>Zy+s@r^|SVD6(tybP(**FFY$ z1&Rr91U!i;#cPwK)X}jBHD@@N^kx*fIR)SYTAiIWfG5xpGXr-!lcM$kt)X#Js=!?W z17ClovjyHn@Bw(6028B@3*hPJ)dKDk+yZ^^=xmf9VrryQO2Dm5Sl>zBw zq=&X=ASEDtIQSFrd20au<0JiF6$kp(odI3jwjBZE3j+_dQLcpsffG4xUp~={j?SNS zHVFmWBrRzMxf>}GS1wbm0+oq&W6UEYFPHl> z;29ewZKT`+1oz|IGiQeAzb^Hceqz!;bXQ7c46K$Z)fi(l>Yb{kzBX93RVmI{0#*$H z227QnmH?#%!0X;D0Bdf42~aHn?{_5bfYU7ym*j5(vRmNI&I9%+b(Lql;T1L)AWLrr zoXf^k(3mWku`Z2^fB_9n6_|+2rvMlLDr5Zt8(AQmsDXg2_B_PJPV8Y*VQB(Ffhj~# zINqoMY$&jC(<|%)5jqqoc5b=?E+oJcxZ7@=J^r4`1WSmEovhG*PJNU}uPhP(a~~zr z+mLE|>0^)=pqv0tAdr|+yfjJ5>^+OnaE5c~U`Dx-Qve}g&Cy!}1Of+QX5elsDcTUQ z77kuYHTX+l;LERkw!oVRApoxvATe5f1HAirv4Fb-*T7IddK(pnmx96vZ~(|D?a%C<+#NYvsTT*(gLSh}%uWD&FCHfW zapwXU+pqWh{QCAd3FQ1@boSdWlINonP-EMBAs^1`h|iCl>cP^7asnhmI3J^An1O%3 aqUblWha|JR13+R$ z4u!A-o<}&7)Y!#s)r{%>@TDxkRX9XYgKI*xtv6lhC$UHXvMU%~MI)O$a86)n1#W2) z%@Y`8Gej=}HO~3b3Q&5UBZ#5`*s!n0`KLewjXbtQ9`hWlf7meG07m1yt-#MA_p!|?^~W4a|ArcD&Z2qYTv9VRsa`5p(rbWue}@A1%d`pT!=uG z$V#y4VbL}MN;8FgfOaKF6u=*TbX$T@ODR)pETrTOietquuI8-2T?j;<`!Z7?TYyNL zs3nAWcqrpbf4&6qIuQL=YK^&2C!TDA6BGp~Pq-d;$660dj2FNcVveVN9ywh-#9YWF zNMsoSL97E5<09icdEkAFaL10!$0#z!3h4a6AMo zzhjJPt1ZS}3A%(Ka1eAfU@_t#z#gBcjGYp~nCJBNf0(xdc-t@>1Z~!pOdZqSXdPfk z`hj1zk(QvNfr+CknABy|!|Lj?d)kQ(Qmp`%z|RPEF@slL|Bh2*16-m|Ey`=Dtpb+B zRl!$Ifo{5ZKzpMm#Vi&8|571zP*m_rph6Zs*LFfxB&kz|B&o64!@`v#WTFbt2|+L| zpU^T8bV8g0xE}6Bk%?>qPtDS0Wd^(^dWH_`;O(MtHR!S4o@cr^PN&Sn40}x5O7%Lh z{2((=ZeO@HEGqHp&*XU69qVj~f)JJ5P?7dTW_s%56v(np?I>uj;KEkSI5L7;;Xb zQnS=|{y(0Rc6Hh?VX4hr|MK4RbGjP;IT~9}uao98^2EI+q0Q%%y!;1vZMJCdiw!WY zPt)kMs2eB{1+}8_=G+B;1%?1YJ#at5u8IIK+^SCju=}e7aatp61p>7WA&lz46@Xm= z95o>t2*7>{z;(M*#8;yxN8`HPZsR5c2#2+xiR5TAZfCt=Z zEf{u2ArvOu%+WkM+5gj-KS2DT%;r9tXK(l2&ODE@9AXH=4PerLJNh2xNtF3fj4ea3 zT{#oe{d(6P31J63k8mfcv5m*78PomYOId)+aD<=%SA=LsZ@Mr@Vvzu3moU1F#x}X< zoWRx!+|VSNCos$&5WNW0I_C!~K(HAp8^fE^4Jo2%yW!l!)Of{t<$ao zKS$ihC`-T(&lG2zZWB!X<#!xmi)H05(FQC@X-kJsZ{; zf)-G0M4&=sC0OOKXcqycnL<85w-zJ{;ENyJlpxfql&LilQt}qXwc?GdJ?l>w0x{se z%oNBLAksE!2_f$9%km{(g18FA;Fanz7wW>3b#R2D0ObXL`*C}y<*>wL0em6mcp2o8 z)7Oib3%LY|EK5KT>j1^1sBxa$^8uD{%MPnmCURP)n4nfQI{o7cNDXrZCK3Vbr&VBJ z5&n^IJOnJiWsGUv789=oeZmkp2znZ@7;z9_j?Xj3jtODRb1rt6w*vUFVK@l7tS^}w zvx{*RV3G8H13&K~EkREMQ%6NGsmrK`(bcqn+>7>7EdYkV?+A6V2Ctm|j#Fa|oTE@F z%DL3KfFZFf_{b^HPZu|=`e;mxT`U0prHar&5y2~gDzeB~ISCb!q)u5RNsaX!7Iu!1 zsR}@+1i`GlL#u%h;uOI3@GOd&$U5-UE?rjEfODc@*U)1<{J02Q4=&inj%T{KPG`)+ z8g`g=lsF{I_fqqW(r;9%2F|{-aRnIC!oz$=>5vwcSu=0!ZT>V!+8r+bHCd^w`w5h( ctjrDLFA~kymryG2$N&HU07*qoM6N<$g8J2?L;wH) diff --git a/graphics/pokemon/mudsdale/icon.png b/graphics/pokemon/mudsdale/icon.png index 3146346ead843fef1f0e2f0f0ff0e893737e4993..25ba67a46e636147685cc37e21440fce6d6e20a9 100644 GIT binary patch delta 329 zcmV-P0k-~<1Goc_UpN2>a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MPiMbE^7n z0003SNklab+b~jE92u*#GcN;`o&!P_G;)*6K{iOsCT~}(>9AyK7TIlGXPJY z!xfM**3*y1sx5Ji!f9e>|4F;-_qo5ib=b!guz0}8NI(J@SxpNGz%$@VFi9a2${^f-Cm`z#?p_4o+?GOC z3kl)ec5@I4y-qoDj2CcFT4^}h!u;mYshgEbT_Zj&MbXn4SihKS-(C$JYKq&%Gt|3Z zk9nHKD1V=Z_6)$&=WqpNjP*3+1&|50tN7C5)O1x5aStf&|KdLe?ZN7!FCM;*wyPrp zWLx(IMv@*0pfJdxFepG2fP@p03q#H8v*f~1^YkdWFyZ6`bQXr1gN9D%PDHLkV1k3=f{_3K diff --git a/graphics/pokemon/muk/alolan/back.png b/graphics/pokemon/muk/alolan/back.png index 243561d491ab8c195c3b5c285102a0224cb1bdc3..011a70804f227a6f1794fd7181bc9de7ffdda316 100644 GIT binary patch delta 767 zcmV?>2K~zY`)s(So+dve? zfX?y&>?8+(4p~~E$R>m zg+T9r>AO2Ac3Rncz9F&i`@Q$>?wy}yJ!zrVHuvD*fVp_1z0;jceUsScmdhU|L9@1bQ?#^0nzXo`z0kPo2m_%VMkmt*vLM$jH)0#sxz|SuQXkbyVCP4yzo+KYcwxN@I zdHxlFoUGn&E1ffC~&x6 z6oqP~Qbrk}>(?!>2`-dwMCxdOGJo)>0`WBPOE!Bd1qH3OfAd-U8cX8?Af+L0SH!4? z+wxCQNO{{HkrP>JMU047t~IAVdjRBZwGF@DR^NZOWs}jU1fY(*E4P3{&9fc=C$#br zoTjY6^y0|v$yON;;VB8Kmp5X;7Y&e;I|baU;4~xs@?k|j3j`2%5o=2dwn(WbFpbJz zj!pVepm!9(eN{{k8v095XPx>4AjtM#;10^kG>FW-)% z(=q2jd}3j!{S?!V4dVsrCo|?~sDAE3G~EzNEnxJ(^q{e2v%Vgyd}bz+0<_O#O2={B z@ibub3g9gg3NyS?l+pOi)#s$V5-d#1>Gs`qvYF?eb*e`dn6>ByM@{%+##@s)Ll|OR zH3)-+j&XZught~s*)Vd<$3x2wgaM|Aj8!=}E~KEetAT-K3$?&uBDHk9IYy;fM+2}{ x0`tnBo8!Q3+U9Pd4ZiMJgK>=n%AZ z=+Jo07Ig@OLZJ7*^xY4|PAhxQcS!8}e(t?{_s-9H+CuGZ?*9IM=;Dobvp1bi=SO6? z$v>M)y*nCi^?~Tt1BcpwX6)>3EzzueP*Mjl9ey)#xC&4UtY?@Hw`VvQZO`!Pd3_Db z^R_#v0bVMAU$9X^;;0rVisetvFDNCmnj#wD7nd9~w5V4TAO*ij z(+@n~(8=AR_=-SIUhg-G0`15k=X3**qK}2rW$k;zuPeWvz&k5{zqm~C|Ni;%!G}`P ze{QYxhm52xRko#nWF$2`ol*Vh^K&GqSconC}^#n&pOvwXdeI} zG;zBk#(mrof67vSh}+JX91EirF(#f_Yt8)d0T8#O?Ud;$B`8wrmH((GB2+I8Yt%vALc| z5>P%%D4irp*HeHEvq%H1O(L#`SB7$$oVuz`YFx%(VP>Y=ch|}1o_iu6RiM}67Yw!F zj~;KW&>6vJ5bMc77|5h7ar>u)#uF246g&Fkfn^6OZQ{-lnaFfdE`*@8r+}elbGg7^ zBDK|iT}GvOR{^kQfJNmmbUARFw!T|vgReSP`Rc=B(0#?0wvW!@ZO32#1CqLtxrG3L@d6hPSk)eiX9%? zaU92g0z!-$`<*!uPZkMOOFp>hKnu8qrwmXSP z*{`|L4B&G8fBzsC+h1`So1;y#1p{235U@K3+N+iwMWec?&Ta2_U38``R!-aNmc30t zyUCS0x1QHMkma&N55UibeSuhP z11erF_fC~=ljKvlMnUtZ5QSLt4^?jp1gHtVo>wqPe`XknBfxw?uHaZo*DGoXeF^EF zdN_JPTC;vBiPojX#vz+}ehqW{giHjY)YtLESiY<632%V;YaDB0wp(>k3VoNWlUFcf zO<-d8&}mpU4X(a@I!&#Fn9A{;PIm1KvlS<+%A(v!i~aO8n0#YalUEZ*6REobT?_zk j{QuFZ8@}vK^WW+>TiwcIH(m)500000NkvXXu0mjfLXmVQ delta 815 zcmV+~1JL}52bBkqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0`5sfK~zY` z)s!)7+fWe4Wuq_fqST2=hhkzpq#2Bb=LDaXh{i)gM21YkMtg(9Bcq_hb2ft@K1}xF z&5$Li9lAS9FqA;`U3&NA*m4@VQ-}UH-~V^-&gVND|F3eQ^kF4n)tV=(h`d#AdMA6? zK)KNIJnuBqH@)L`1bEwj*+8PR%p#!uQn{N2Gyp(ec_-Pxg;F4eSIMej?hh1-b~6(& z%pUe@?WW8g1*o82J6Hi2hk*}rB|u%S1Wcub#MMBr_!mGG!=;d5Edjw2AQWp(K9DxaA8}~&OA_2cMAb_HH;EsAR0CT_KgL8XzNW6I z0bdk46v$8FIQ|n5Vq9-@=0H4MRG?h)!9@pJz%4v30l6V{r$h~KIHfokrStDkalAXP zu!TeA_HEn!rW1dbymKV7^#bH44~QYa(PRq9fagiP+kKh?M-#0d?_;1YAeJoLotiHd zK574y#U6pz1q& zrjb^K%k%WZE)r0O%U9c0N&G0f@AifK>>tSOB_g*${xFId7~4|v%6HR5qY4;l-OK$B zxmPr+6p?RK-RK42bp8Jz7uR2Q>RaP2vIPU2o)EA%2ij|YmK{aonyAce?|4IWW-XRa z+Z&d>LqNO9nYzZAbx}y3$ZZB!APe?oH1=!FGkHzlmwyba?YJQmt_p5FuX`X%C5HyU zWC~`i2~6xBI(5sY#nrFRwyBj6GdaG~Sw1_%Y{ki`vZ(H~#eRAlOnz}$(^nfu t8>zbjoeThP{Qpr@KlY~iFJ&0N0bAY5V~L*Mj{pD)002ovPDHLkV1j&$dmsP+ diff --git a/graphics/pokemon/muk/alolan/icon.png b/graphics/pokemon/muk/alolan/icon.png index d598fd728306abb779233eeb28b03032bd5dc651..c3064446f71a513764186886c02b9d0eb52e094a 100644 GIT binary patch delta 472 zcmV;}0Vn?Q1giv)B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD~1R`mf zO|<|30gg#TK~y-)#nQ2EgD?;V;Jksw&>=$_sh!)QnbLuWsN{hKUZ+!~RAM+w4T>^x z19_H=8QiFf7+`RTstiPGT-%rgBXw=f0>8LBgTKMxPZyDu^DK|Jf9fV=f=jmQ27nWm zc3(N-v=^+7>Dwicl2r8@KL?Vl`#m2fZAX5`w-o`1Z1BxFUni2%ps67vK6)==np3dB zY_onXXixxaf7nJ*qnocsR0ZOTgjwoI>YioDr7*#L^+Y`Dvt7V2X?@H`Jf zdH&C}m+T>qoFgDKa*tuqJC=W2QueqYI?2}~PO-b!nk}c8bW3mvy+9&togoDH)|p90 zYjDBT5LXVE1Eq-r=0pPYEJk-Iy z1*3q-E*K4@(a?Y~Kuik`28;$`T4){`i~-W}fU!z1K!~Pu=mR0Y0r>&ZY9gaay?-MB O0000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00EXsL_t(|oW+y9Zo)7SfO!KeLk9+m)XwctCOYIHDtX8fUZ+zf zDrGoJ5Fw`A5T1pR!9^9ykPI%UVhB=k{R>GRpuH^dr`(;-{?hCHX%M+@t>p<qV$qC0DusUV4E0B`x>lwcQf63MRf%j8ikw5V5o&Zc7_~D$dQ%PxLbI5=X zKFWj^6dagt*6$^aN?;ZoBS^y}f(qSMYpNnD=L~a~lF*kD#5`m9(2}#*iMgl{rZ=WB zSqSl#?<&Mk`enw*#j8N|h;U+3>O2%r70$!((G_J?cwc3=cV%JsPBws|Kke@de_KKg z8$b{Q5X;Ls*Fk!K#LsH4fY3?%8hV{;`L~d=wImX;MZTYLjLp5)Y&piXnSx8`0Ew_| zH6g$oK=mYpHME7PA@RTpbEMQ)wZfcfq!VPf=tIAOFOb{sE^@*^2TIt`U00000NkvXXu0mjfSvTb; diff --git a/graphics/pokemon/muk/anim_front.png b/graphics/pokemon/muk/anim_front.png index 8f78e22e91cf314dea1f622f082ce06e3a448d67..0f9c23f51b913ddf767a3db31106144afcc3b2bd 100644 GIT binary patch delta 1216 zcmV;x1V8)e34#ic7zqRe0000d*8l(nWl2OqR9M69SHX^(ND#%6;XFOYD0_9J+`Y}@yu<}(lK~EU zGBR}5bK6Vu1zB17fZ3HlU={O~sjBV91TlZNdi`F?F+zU>gbreUzmiZS>JfJt_6R9X9Ylyp$+sUqeJrHh z4na_y446r-%&UJt3bA>xfJe@g0Sn$8H;g1cv>ly@Ij)AvT5(-9$p@sj@>e&lY-59+WZ%{d^J@m7SS}p92fw1I5!Q zbjRMW6y+q0Z*;vxM4IDOtM8Bd$~>!&kq}AAUhq3rGTg6)wuf-D2;hG=T(*&&^Ngss zbd(h^f?Cn^9R93!p08SyXT@2dRZkH&_tnKq|J!=M*01%Q*ZhL^ZWoRHh}3Q$UlHxC zrw};8^1Z|xYCU1swD;+6DcvrJ_BL<-BHDAhFtisl?YSl>G_(f-$8_lcGk^k?AoI)d(MB_xB)$@H7@<-Z*vh@7okHvd|q` zGfG`7MB!*CFEr7Ma zARjy$CbfT9SQY1Zu~ACKlmc*wk@K3%@D(M+g2zSbdNV8vXq$A`Kn&H?n-fWxpc$&? eUV-`%O!f^sAlXaMgOw-%0000aKoK)RH-UrLXg!^|3A-=^Op?R7~m2?U=WJ$7`}Gl3Ih!IlLXMRkW)HO0I7n-GS?KHB1i!) zpU)9k9d-DVK_DW3R0@T2P)@mEBw%QGTaDuG`YVJA&ubUzQeQMZHu%B?TV!c{iPe%K z*3*!PT#yBe_f*rhpa=wIdx>z_bdvNtl#naMib0p4p=d6ErKtQz^ru+K8Z*q1_Bi&L zv{JM9J&r;kPb?TPwM13|NNwHbA8{hsMuyrKF%6U*i_~g=&L{?k*qAK@7F&Ufp)NoS zvBOse3+)}QVKB7vp|KS?Owjtq^#BU3&j$0B&yx4o9=aAP&_x6O^cyTpt1cc+@lk)HX5Xihz?C;SX(GDMl}B zj)3e#I1q4)(LobDY)(p6Pn5xd@?>%Ui10L-uV=LzLjrsrz5v9w<~)$}U0m^nz#KsI zm$yEMaQ@XqfZFvKz%lvp)7k^dqni--owkd5Irs2?!Uz!@knB?K-_FN!MvCxq9#DAO zP!!N!N*DI`@zTlM{o-D2Xnk$z#XZ7YuA5m2g2YQZ zpkFJ0rX4hoYfQJDp7+Q>n?$$S{pb`!r`w9`I?Ld?EwgTWRNc1C(CN06n{L}YY9No7 z6b?dOh^`k#_VOHroBm>xpvWQYj^!r)c1INilkQTAeS(GTvLpX9y2u5&Tu-72_81D7 zW!plx>78YV0GjCOU3folX-m*YrbU?O*uJ=b(By(&u)ZJ=it7Zf{H`;sulPFz$6@OC z6hkFAj%U@+R~UNze1<^@p3h!@Ya}t$#BmnMS@D{n9gx}gG75=s ze_j)0@bi(9Xl&b4I|h2u5xP_hG;jn^E(lSA^T~;;5r|%H*l9}}^#ct%8`_AHMv5#$ z1ew_BF_0z(jDtD;vBS5$)0U}^28N-3srs&J6O0buI5_vyTp&zzeOhK^OMW$}6nb%! z)8D5DF$#XWNityI!E1G0D3TNqnX;d!2lA&6vN|iJ*bmV*c9BLR_n{iMkb=Fx#*p=m zuGz|(7ms^*b%HEL8W;`NCOop}hrFn`vs~Z6|2Os*p}033$eL$d00000NkvWtM6N<$ Ef_eZv;{X5v diff --git a/graphics/pokemon/muk/back.png b/graphics/pokemon/muk/back.png index 1a197e4695d3239046dbfe922b3e65cbf37a9f2a..22c34cdceb7abc50532b8a8603b51eb75d44867a 100644 GIT binary patch delta 611 zcmV-p0-XKV1<3`FB#}W-e*gz`Nliru=LQD~1`Y6j5^ewh0xU^HK~zY`?NU9D(?Ae4 z5_ZkNI(?So8Y-}IH5)x|L*wMUt`p8Sf*$ctPP(5!OY1+!?5@8OuTQi{jFd#qdw%og z%|y|^S}%cTaeVGN&^j(;*LA<8TF0eiT&^)*NMJADW|@@XF0aAGe|VOClxau+kT)R4 z@A-3D5@K-oExpOIU7cmcl5k*L-jJ2pJ?sK4j+OvrC9=CJ&_Ox^oJ7!q>j0>VJ>G>n z@Qf^gT(|eTfIw6-s04piQPo7@A-O*jPT`yr7Xk^Gl|>z`Lq$}r2t;4lU}}t6!xN6k zbRF-JK85hOhC06Qf7~%_MF4MvD*0GCm!@2Z#0{th`Y1Ur_3Dyf0Bs}kI7sZb#bri- zu_?PGc~pXYcX0>;y0(ktBwaDh%p?*;X|s3cMjZ1dHK?`cJV?Nmyq!5{1+FSL$J=QH zJ-js(KR^69pT-WgZ#%<@zWz*mLVUlztHX-V@S(fAn74KDe-;C&FOf{fzy3 zf>Di6Zz>*w546;yM_e)ZZd>GaZ?e`UMuvb7vPjCj?T0A!%)EDp+`cy~LNr(ugYiH( z(>X{;dP1ct5=%l`B)P{?9flOu6z9gIZSD=Ym}ywRK;5*5O>XbuER3H|V2r>@ZN5FW zy0Ckq@;XIwSqu68^r%z2hIF3M>?HNC2CY5Dbj(PMmtaNoQ*CE8Sd2LM;Pi~U*4d?a x6*azdvII5FHak1dbcEjE74HAoME~nA>ksp1*us3?>u&%6002ovPDHLkV1l1EC2;@% delta 623 zcmV-#0+9X51=j_TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0x(HLK~zY` z?NYIh(?Ae45_ZjS>-1T|HCKU^tJ&yz8=55Nb)9gw5%h>ZIq5!umexPV?5@{w;?0Q` ziII}XdCza=y_w{nt=GVdI6n71=sGTB-}k?zx{gc9xV*-AC4r56R}@mlySxP#<3;gN z<}m?4u0V`G@aHfmq~Pv%!NP#CXQQ^EA~kB6@lan z511QcuHhL+Wcr@>NS|VO+Cc5^dUp&<5y4xbDn6Fpr7343X$xw9fFVkbOT9TK7(m;I zJPs0@<=M7V{?pi$U6O2-Am2|3I|1F;MRJm^m}VvtnWDVixZy?|(=Wf5#IW~_w6{KJ+XojG z^obCLcRyplfnZdB>(e_Go8SYj^f)6f7<{)K%4Qg{(G^C9fDdw;Rb@ArsPtrbKOIW@ zURZ=^F)IesKseGdO2`I6t!ff;LbuIIkE7m&6xAutg~_|p58z^^uz)~abh|}q@8Kwn z_a`t$V5Jt{o;tm?dm_%@JVkN~`TqQ*bGwFon$hGW^{*C6ojpcJz!2ZaU>nbk^=dG) z80O&gjJwv!rFa!JzH_hy*M5p4tOLpsh5;{d|HmTvUw>6e@(1&0*us+`3kv`M002ov JPDHLkV1fdAD#ri- diff --git a/graphics/pokemon/muk/icon.png b/graphics/pokemon/muk/icon.png index 3168d1be464250b28d69e8506147a8f2fad78528..f08bdb62bb559abf5782ace745dc98596a288e8e 100644 GIT binary patch delta 431 zcmV;g0Z{(R1NQ@v7zqRe0001qplF?uE8#vjVlWxyIzXe-X?ZT!~ym Z^aHuJSVpxhX378n002ovPDHLkV1msaw^9HA delta 385 zcmV-{0e=4X1Ih!C7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Z2(iK~zYI<&?n^ z!ypJmV`EP^?En95K}aHK(sQRf?Io&(AqAU$P zzW&xDJiaF-qU6Al4eAi37Dv5N^`mH^Mc=>tD^r#B>Y!wx#*KKFx|T|*VFvUmGxq&$ z`6zAUI$@by^e5tfIRj*pWF*ug7N+r)!6n+Pg;ww1L#E(3|CbLZAC$_03lo_L%zW<#n<($h{}=(^v6F z`f)sX$~!!4=LXk!hya=K5CF2k!vY{_Mg+)&hYS!qP{aXXBR~#5AWj$n;(SP7?*)*H z4`)&YfXsl91_2Q;f0mK0y6CmJspu3t8AOgbZ&;jBEF+z+-#eEsfx*`OQ f>yC-CS*iC2e9b6^i&uPa00000NkvXXu0mjfhHtIJ diff --git a/graphics/pokemon/munchlax/anim_front.png b/graphics/pokemon/munchlax/anim_front.png index 1174fb3838ead59d420a5e31458f163261d15612..9dd40ec5dc46148d8b5ec92e2277a3b8e72b3d83 100644 GIT binary patch delta 746 zcmVv1%JZ5Qb03Rq6KbQY4k`)(%P&xE)CeuJ)`2MTEF9g4DqXk|u=} zR0NVn0V##S#)a0ni%Ar}L98b*C@+!9mD8loW%lGW(#>8OFn=025Sovjncdmh-*MLV zU#wDfoY)2g!f~N$0eIc5LIdydI8<454LmvR{zW1 z*L0;LyuEj`PicN9de1I;2rS1?-zTFK_b8dpMx)t~spSx!)}u3X98=uP$xx-sWq7BT z`Zx#l{8A5BLpaZWAbeFX`plPA;DxyR`@DlytiW2=0)l2k4y4DYC c{cv0CFEAA{c}8>j=Kufz07*qoM6N<$f@@4!vH$=8 delta 715 zcmV;+0yO=-2A&3xUw;CrNklljA6vrLQ6WiHlfGM_H6c!}kO9JX-*C&Mt z(WQ#SjH*bmFf=Fw5-dSV7%H{ukgK}2g3xb3^9d@2FTvEQEXjleYlkbh)QrvV$l1ry)__<%BW zjSxo&&{ZOkl>iJdHs~5V9R-k8dW}wJR}n;&73d<+1@L@Aq1k%dX}0#`m=g+*`}?3C zkLfj{CMNNTW0vTFMt>I?ePE0N03zT(0+o<)tRadS(>K-K&6<1}J~#@)hbM#rAF7a2 z>J{}FgZ^ppee0`mZwR>MgmSj4%m%;{xskv`k% z`4F%4RO@wryU1_#KJR@=S31JkdpG@*7T-ko*<}}jWq%FvZ9Giz9mSLBa5x<>u`J<8 zIXqX#F~OHP9*A^#8_wyKJT3q^yOM)d3G4ZH1n|JVp3Y|Y%N5H&8~^qL7Ti}r8m=A} z79j+4w|ylcl9dH;A0lx?V!LgsCvQ1NP(8Pfb^NnoxZ8`car_uPMg)n`W7vg5FaS8y zLt>ELDu1Z^od%S}$Vv=?Z!!o$qqzQwdsE$8^Xs1ke6d-qzzM((R8nN%5x`=c`vFyC z#6t`Zm{-*+@JBZoKh*W62WmSv1)-Upu diff --git a/graphics/pokemon/munchlax/back.png b/graphics/pokemon/munchlax/back.png index 9ed2883f1156c1ff0089800bfbdf58b02412be22..af000021f8f99617469eb65e2c41ce2eb22c1e70 100644 GIT binary patch delta 438 zcmV;n0ZIPV1c?NYB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD~2rIns zx*Y%j0c=S`K~zY`?Uk`ogfI|>k)g5+Npn_5z~V}7wI>6GUVC#7WJl}F6+&fUp+2P> zP?96N+&GrrUu?4AL0l>n3lJ0k*_4NHJo0%VB*hLjm15ke?o#Q^#oU@&C{pg0GpKLDfX*NC$T zpohpy2T<>ECBXwyqQm{(BZw((4+rpwH4OkiW-JeT1g1e1vFkzX5OY9qK*<8~6bM^9 zkAVEnZ(iq9z6<+2f6C_drVGB*Ln|amX)9>G>iVFuE?|PB*UYjy-gwzUNg17 zYmtE>{osgvULtmO7*3d)m#CfP#v@p7Po1ATV7x?%(<}MMEOEAn8hZ#$d3G3LxCc_B gmH}bZfBF-C0dwGcd^w9)ApigX07*qoM6N<$g5T1;DF6Tf delta 512 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 diff --git a/graphics/pokemon/munna/anim_front.png b/graphics/pokemon/munna/anim_front.png index c7d84bd9b3b5dc334295992173940f7a5657b80f..c5bbc1150c4b1e37152e4bc820a6ac28f48d8607 100644 GIT binary patch delta 480 zcmV<60U!R51hoW^Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MP)op{b-8 z0004)Nklu};G<5QbA_@X95Xydl*}g^JXQq(dhLL{vI4Amt6Ju*Rj5#S;|P zPIP7D8Ttra%FckO#Fl5kjvXYFb1SjH;D5}0{jaqz{m=89oPU0=7QoTIIs}Y$U{9S@ zvJx$3bY=kpQ;#lf2H8yojPn8ol5Un6;1;X73vQ86a~7*KmvJMAi%ex6g!DT7n8(xR0&(D(kRfsqY2D<4@<^Q*UyzvY6DKz zGu;XW9wo3j0Dp8g`p!E|fb^dvz+SWgZ5|Y16`)kIEyeDlx777P+P**mRXl&~!*RNM z$F7_7-?k%=YL}mY&Kw8ep#-j190v#w?Fy(LS`b>V2lKL&@!jmf)q0?S`<0C5VRQ6}km~`29H=$AiSUL)5z_V}HKKasx!g1S{dm0=fko zjWHm}YalAdcMX6kP-F<8worE{CMeJ~1td^p_9i^GQ)kIHJ6=6ig^)dH;Al0|tx(`W0_z`u&RXAj#|CKsQ3C8)7YHq%P*wp-CEFkXNqP(I z53=?d3MljRrGF2H+4c>)ZrXp{3_+@0egOLBH~{EZOBvsG53a@o1vK0)Wi+Su)2Bj?2M}-w8>5>F llBOcYhlekii+86#)hEbGu)ksr>6`!n002ovPDHLkV1nY@!xsPm diff --git a/graphics/pokemon/munna/back.png b/graphics/pokemon/munna/back.png index c5a2d581dc430af4a4db8a447132685397e1795a..916114685d2bacf0d35d2a460ddf00b6f3a4dd1a 100644 GIT binary patch delta 358 zcmV-s0h#{U1I`1GB#}W-e*gz`Nliru=LQD~3k^lkY$E^w0WnELK~zY`?UAuc1TheX z54PC$Ce2kBFfLdLh6sY?GF+LbIJWlW;6Tv#*v7^}@C5|l!fUJ-(%9q~jLGh@8IlvM z_pgS`mw*0D7K>T4{;xtQd8)6N5JD}peJQ-om)U+*3#_w5A;e}|e>Gd@ah3$`Mb$Lu z0g^!O7^>;HFMm>|CFl@Aer{r!0a224J1AD8NV1tu@%e z(d{BN0bNMVtt*|y71?6QXwcnvVifQZfOotHfX)cO?-U&hMgY|VV7tB`GoFU?Q7i`b zngT!oBor+9c@M?gEQa0Fie1mNN%aQgyZxePw; zY8M0h$twnQm08sIp?67u+a8cHa2OI8G~veyFl(0A5Bo}V&I()}Z~y=R07*qoM6N<$ Ef>Pw3CjbBd delta 367 zcmV-#0g(RA1K9(RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0WwKMK~zY` z?a?u6!!Q&EV1oy*d0sL_P}R_>P@zJhqj_Z1DT3#w1OkQj9$vC!DD(n_-lADL8?+`Q?Ih!-*AIYT@=k{gEIhTv%zTh^Oi{yS)bF7mh=X|}XnhkYa zM8PAkng%W4v5MmQlOZ;L4#X;+0SFkZF012A+RF=>sSvUJi~$CQJ36#@tV1{Fe_rXar!!JR0lQx>S0FWx?UV3hW!czRz-d7vGxa0IV^0=PO0 z?vL=5n!%2{-1=ZQ`HF!q6Bjl9(1$2srU$|Y`(Xl&+WqkW%$Y;UvLE|Obk2{7Qh)#e N002ovPDHLkV1gi9rS$*+ diff --git a/graphics/pokemon/munna/icon.png b/graphics/pokemon/munna/icon.png index c97d44e6d62cb345e4131ef6ff4916e740074152..2a2cba657c09c011703c5251c6d31842e5282749 100644 GIT binary patch delta 209 zcmV;?051Rk0h|Jm7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MP=W?J3ve0001gNklXzNF^W%sUCD?2^r zBRTBXx>fIAeL(Tbs}HE2VffE53PwtDSpVw(dX(hw;XnTedWIbU8YOaA&yNSU00000 LNkvXXu0mjf@rPIB delta 180 zcmV;l089Uz0{;P!7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{SeMv+?R7i>KlR*jq zAqYi-K+F$$|J#l>!ECHyHnRvH?f%2ku$1If)Y-)_c&UsSOvJIFsMQ4~Mrddqf*A+} zD}aZqU`v126 izTGP8QR+PBaRFBoZVhsRUZ+$50000)AHH;Px0fE<54k_sA|l(hvY;2R7} ze7tugPkeV(b+rG^#1uf9NdQa$ynph~?ggRqP0IBDRu;FO- z0UpduCjirpMZf1lNozXYy2Q|60kCk70I6%-r-%TpyBMl&Rpy}LQcK+qp}O2b#WexC z4m~i93hOFcr*41ALF=uTh$s-Ub!y#G=(Ic;#&MTqCPaMa6ul1~$aW~C)(fH1fa$`o z-wk0YM5h-JM`+U#YrE@#6M`W0dH~@5PDX^%jiL~WfQo|%PP|Gn)&ToE_2T0fc|{1` zmgbXf9{LZze~H${ZOQ>B+duvL-#0?pFf1~H>fvYK_uhYsIyeAyV!j7>*F%4Qfe;v= z6vWx8U$5>QkMs9WA};g%zF#>Tcghx50Ve>~(|Os~m-Jiy5}^&}=`X{%mc}Wm;)w1g;rsDQKHAZq*VueY z<0k-2FAjf<(!JFk0B)QZ~-K*DJ)3;+VqA7Q=88C=ZySxSCWl>niKU|2>FgL0uzWvR5y(whJ_HX&>%esh2y+$yTO zozJq8T9l!SVIf+RO;Y(f6WZZcVss2qR2 zBjv^xsd&mzzz4*Lbx-$>< z9D!_)LIcc{iH>H$pKd>exl#+5VertVdtci92$B#4p~pSI4|g&k3{-|v$N~z9ii0>4 zb1V^uJN4q@7kxztS?As-TR(Ike*aRn4cn9grkg+A``SzGwJYmwHbM~=>0jQiY?@;fY}pXy0;cj0Yp`hG-vOoZTJ&&2*AoZb~}XxS(?WI zrvxBn^{Eo{M#9X}oG9)N0HPFR0j-LMqP#Z z_&%(IIM?$rz;v^|SFdhN-80A`({!`hTwGr(9o0(O1VF-i@%f5a+zEgCQ)%wb34yd> zswBTpl(#r*NL#5hK~fBxlReqIJzK|eky+_2iXUI^$`HCtnxGis+c}bCwx#<-6lJ;- zvTNiiBk+yQD=%_UIVuXo5#<$CRXRHOwnUc=p&h+SQ8YL^&qSaOt7QP$tjrxcw_tSK zTwEHe979!E5ITSMdXWOtjfzd4Yj$2ZL7>7(%+B% z=kG%#fXAt3LLFZkVs{cVxr=6ZvJyN5JTkND&tZQ712of- TTPQ!L00000NkvXXu0mjfc*=`h diff --git a/graphics/pokemon/murkrow/back.png b/graphics/pokemon/murkrow/back.png index 2cb23806a68c6b1d8451af5912fc5b6305b487eb..e2e1a0cbdb538abf04c8451c55c40e9a3cd8b31b 100644 GIT binary patch delta 420 zcmV;V0bBl*1d9ZaB#}W-e*gz`Nliru=LQD~4J=>d+xq|j0d7e|K~zY`?UYMS!!Qtr z9l0BJHR%bWEV8sS1~oez&!U{8lBG(Vq6I1JkdPvk8*mp6h4Z2*ev}O>7%7RA`84y- zcszvsQInT|^_~Aet;cT>0`@q9j{%@)dO~6VAmujNPR zbODwlW-3L*16gbu?y9r^qO?yg>l}3iK%316WH^~dACO$*+)_^&XMiIzg)=~X0}__? znNKo23UyRMIh7caFm&N0VR@kjO-MY1An`V6e)SR!0mrxZSO|T5_%NOjU%*XkjM=%s z)Q9w`1Ger+sWHL&f7y6}F@TcyHh${@lLUcnW!kNI4FGm(D+8u7&S{82zzXr!3V@b- zCFt(04R8WpjS6}I{EMUWbJ4v6*V}qvNf|(BwE%FcDdVyALs6tLKNBmFCJE|tyLjJ(7!wLFx2sWBf7$+)lR1{{n8ixGaFW4tHsf(4Jq`3D0 O0000Oc~2;c)tDDm&0Am{14^p4 zoDr>d02A^7UJ?~LC!!sHOxCsVT{?hBxu;aCl1u_1S1kk-G=`xNkX_Spkf0P13@AY%yk`pTfby^g<8*6wV~151dFCarK&%!2SD2O2X_PKW#wb z8@Oq#wGTcp&LMwpfsF@nJrr2H*dQO{3JxZe8(}5@ z008qzL_t(I%iWSaY6CG4Ms|xyJP6pMIUlvLQK!dfG(XR|KYpm1E1Xy$-~osMfN&^^2uJZcgc{l2%zvMWqe)6%slBM3t)I{L zNO6y%!+iW;Vc)^|0&Jn|Ddu)9$>*wC5&xZ`zTuDoU3>~z7ea?E7gN}J#bQgX>%70c0Rhb3?0^xH4ru|nn}KbOn52)~k`k#sEjNY;x-X|&irjTr z=W_wl?u&a|Uow8&`+A%BFF&-p#L2_R&4V9P6UO?{gt2}Azv;&hSB{jLYrzs100000 LNkvXXu0mjf*5Hh- delta 277 zcmV+w0qXvc1MC8jV1M^XL_t(Ijn$GpY6LM1MtuX_z_~c{w|5ryJ2-s;TPQtZ(Y7R?dx%~|{C{`GunmWdp?63jj|ZV? z%f*eLow3@Z*0!w96z16is`knLbHQ{}DOwQa2zUepFnjX{jF83=9l*^z*rvpU-m``h z?IF{8Wr*~tcKNub$h!`0ITavvU)=rt^y9XFuZsWlV^o(oc^J9*;K!`OnA{U?yEH9ACtCr- z)!N0WUmyXxdC8)sQ>H#t??_4_B}xfepdDHU$Pj+IJ06dBe}97DuPlJR-H?Ss^binn zh=gFB-wRwE1ovzKx(@MU0mQWT)mEhT&`sL~ZRy1*(7+GyNOZ=h06Jk85IzUM(7gw& zT+kkL7y#itycr zDEH$yYXThWaDQ;LsDL9|-FZU0_;AsB)n9<<}+7#hZZ2LQ(h_{Ih~M&RsCu!;D269`u3E5C8_=9hHC%rRsqQg z1)7(~R9B?|d2uh#<0L=9bmbNhV!fRy;7ZElJcsif*UEl1tOV}Q<^T`51?YFj4It&& zyeJ-Elp7Ba=h2 z5s7_8tba2CcHI_^b&1c%06;+Mygjaai~`oj@K_X?=k*H6Xg_`NBgise2f-`JvMlXr zQhigT?2|0$C*XHR-T(E6SE#Rp;pq0>3>GH+J;ZhazPs1&gDIWBy$V890)PwCojWCj zUnb~gq~1^nBI*E`nV%4L2q4xuV8L{=F!EP7)PD*Gerddy0Pg`f^Z{o6ce*Iwf1iiw zsTga85wsNs#el`24Je7>5g{lKREFLd2{Ars`q2L0RugM-(8x5?`}I_u*v&%;5IuH0 z!ySa#SF`hDr7@hP#Fyi-5m9@Hp3 zOMj!t+z~1279%GFS06-GE!M!I1#o7^=mD%Wz29p@8CI2~flDss>lOf3qB$vyco{Ft zb5=g|@V=1>IE=@3B9s#a+|0BDSxsWc0+}%S;2VXItd_B(a_FElBM&60ixWy`veN(l z=*ATcZ?#CdI?mzK3D#9&1VYFRu+hZT9D9o0kqU2s${Bl()+!JrKDC7lZ4O$KGqVMuANLN*&s|e1b>=%C75V80s$)3z4;M< zJM06*O8`hcx~ebR(NX? z2Rxk4qM$i(0%dv4VIUw?QBK8^%Ncl2bSG4Xc+ z&xMSgJ>QRnbb^X12<-)c()M+3u0TS>Wdc7&bccl0X%CRt`6)#_2bJ^=SZQA~5le4m z`<@j}w0oZ&?+)ml?}7x{0AS~TZwPn)hawC*aDRYx&{Y_i12h9WAc+wXAs`Q^Lhr4F z7{6`D;Q0G~Voe%^>#_Y{Doz5kBmu%>Co%R&xr0?}CRr%q=?$!H#4A6vishD0pl5^-+4~4rC+-0J9cA9f5vm{LiY@>nad2R#FD~pej(J z)EcD&+&`g2S$GGei%CDoB}Z4BP+l Z^&7u&0HkZqtj_=d002ovPDHLkV1gGC#NPk_ diff --git a/graphics/pokemon/musharna/back.png b/graphics/pokemon/musharna/back.png index 0cbb3a80eb3d0411a05e0ba83c061202a0f97ac6..b07b576535c557db9ce169eb7e8cbf510ad29467 100644 GIT binary patch delta 551 zcmV+?0@(eT1&sxeB#}W-e*gz`Nliru=LQD~5E5bTs!RX?0q{vgK~zY`?US)?!Y~kq z6GdXqWvIkxKLKhGqB9vXXXxAt2~l;dAnI5JQLi0Z6ds^bU!V&w*SoU`F}Cvr{gGg} zPygNhXQGG|LmCYUGAR&(P(79?gd`K-x?w594=P0;DMji60;rBZf6NJAi@t`t zT-A$3Y~O2o4U`ire{3{Rtlb%Sf5{|VqMDYflL6{mAVOOty}DAR1~!uZZW@^P>pK+A zP}db5gnJ~)QdyQbQB4*GnA^Z^r}7&0T4h2Hu~t`V+LnllUQOzB(7*wKPm{#R2av_a z0CNXWcWm)mX<)5F78O4`cLa7Ii%$kdegm@D1c2s_frA13e={;bQw9N`9u;ljU*bcK zhk*=%1Fj+581~#F6M9NdPHP4}#y((v0oor*Vk7Kh?~&NA^$^Du0$T!BJ^R^`M?m1` zzC8n0lFiZp$0v$vn_dH|VZ-M5)m{L5jTzwAP5aHjBR_f@*gpfnZ>z8IzyO&x-9_G> pPp8w91#pj!9e~vZ_=^73=?^-5!bUMk6x09!002ovPDHLkV1o6f?pgo< delta 561 zcmV-10?z%71(^kqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rE*iK~zY` z?US);!!QtrZ48-x9ts(yCkS;Y=^PK9J#=m<1ecB_H64pXsx?CroChfM1-j(rdUsM1 zE0X*KJ%batkN^JrB}ckqNTZ>GObUb`)Q=?=LXrt^)v%S}gO#F=lp=Kj0o2DI=7euV zzl6^u^Z<7yT9d^g02n8KsI5Jup=AYc5h6gl^X_2?j)(ynO!WlF;oQTk^Z+pcKsF?S zsY;Oz&EUiaW-#Fgl02U<0dzZ@dz0kTqL}A7{RdAD)aD|U*tM7!=bGoVN*e5w2<XJBstzefhhWe@~Rg@#<1oYnb0mhIn@ko#y((n0lFVbVkzvyUL&!twTZ(5fp-EH zJ^8z5wt&FTLw5qKB->{L99}4@_w*W2Eep1XU3UTOHSPdkH{CY_PkiZZVEqaJznwmf zM+Qi=J)g+u>+yJeu>hWNCSY*^cF}*CilRR{e8NU%hoI6700000NkvXXu0mjf{-*AA diff --git a/graphics/pokemon/musharna/icon.png b/graphics/pokemon/musharna/icon.png index c51d8ade6462d6eb9f2c987927200ba61eaf1e09..54927f67424934f983006ea83b489521ae0306be 100644 GIT binary patch delta 318 zcmV-E0m1(H0*C{U7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MQ4h@{m&D0002%NklO&&_#+y-Fx1yI|b0JaklPcep2d#)@I>tMSy&1~)?=w@KI&A<&Up|=?f z7mM-Iv*gbL9OD_l=XT5nE=;0S&C?TKpk?Q{}nmq;)q_?+10bh%d z285`gYU6M|ij_ldMq#x6m!~i_^u;Q|&^KX>EEWc;e-lRL!k}j+j4l%90d_A5|4%W) Qn*aa+07*qoM6N<$f~FRR`Tzg` delta 303 zcmV+~0nq-41Nj1w7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S_en%SR7i>Kl*lRxL{uFz=wxuG`jKI%KpRDu zr9`p15=|5ft4`kmXar;pvKnw;NFo1nSm`$jO`P*Bq1(=!nS(&*7l6fxX%Yf*1H^7Z zlm@5)5`izElqFDq>JEC~N*||hL-)d-iUYJ%R?+BYfenM67smxsUPV33L!A3fJ_vq6_74J zZ5I#&9teoO|Gfg@0{=unT002ovPDHLkV1l%z Be6#=n diff --git a/graphics/pokemon/naganadel/back.png b/graphics/pokemon/naganadel/back.png index ccd5aac7caf74a0b6ec0ee6aa6d46d3352e06fda..fbb0ab2e3ab5dcd026378850c1ea7af4826e0e0a 100644 GIT binary patch delta 698 zcmV;r0!96)2A>9yB#}W-e*gz`Nliru=LQD~5&)oKxrP7$0)k0IK~zY`-PAvC+CUTl z@UyTo*C2W6=D||7qZS^ZDpVm1S%IN!VCe~~OSRI0>?EY-QK1MT3oTTH}~sRLgC zS?m?c!d8UbcW3?>%#peEz*+d`_uifF9U=eLrD-pKywQDi7ASecf7CSkg6Pq+F$}|? z=gR;A)S5Je2^62^TG9}2z`>_yK+XgUL0g)G*x=yPYdO#WN;Og%$#dw?rKBV;0&}2H zJMtVkKw-&24RZh%Iy(F)>h9(n&w+)G-~ilgZ*YD^sLO%c;zg9|Q0g?&K;6zNXp;IB zR#0~&05g=DI+WX2f1S}OptdQ=m2tI$R%hg-OGp8d!)cU*PLR%V-Q0`<7Ih2}1Pw*~|dVEtM_!vE4h!kLZfIAyt63v2o(9n)R{?g<9g`gVE zgSR(7VAG8VZUt~X(HaQW(Zjo^5q{RB8%*YHfd~MVb@XSte?X8-B!4M@VlYosfG@_; zZ2BDV-Iu(%0~dxVz+{c!SEC@F>phqGI9~Lam*)ZcY*>w>@$>KZg-yr045y*=u#_GT zFkr(<9M7hUda^UM1Yqwok7ww!FS--Q@p$pQwrP6CaGr{Wwek#u`>qWbA{;-_?J_W4 zC9l;G0jwgHf4PcRVHRKp_ue5nOSdL*{FCf~FM!X%S6;itFOmX`Dkj!yb3il43J14h zK+wNG4ZIx~(#)yCfxiWVVYZ(+U_}n@5PTN@h8ggQ4;}y$dmvn9fSm^6oTg75_ZWoH z^5E3j1D^vcj3!h9@YmB{NAo3-1H1b;j}Mok2zzknFhI8&FHbE*0z3qjl}(QhPj?4= g2cTf-l>A@UUk(3DVAsQ`Jpcdz07*qoM6N<$f<8e-WdHyG delta 706 zcmV;z0zLho2B`*+BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)k0IK~zY` z)zv+3+CUfp;InLHt{ursHxHJwnOOD!RiO%D$O;T)152+!UD73gpi(79WU1!14sHjp z-C`=1Oda?G$YQTh7PcbfzIW!sHki!u;Ip{L@5gZm1*En?#4@gS(CYY3x`Y%UBDPU~4mv?P$8B>va#&I^ zL=ZHbLI5m8kZyDf1f7kzB>=)q2tog7B%_P>YXqO7M+}hy^Z;;Y15BfNP!Ae%4k%YH zJ6{N@(IR+v_Y=0K5y3qN1D78S1e@sb{gaPhD+h{B-5uZopt6bn&6Ws~MwBZK1dY19 z0(>!!=CkL3?Y`uH%{{o#bPlE)1b-Trd|vGhsE6Z4kGcvA(5Itn98I48e&7J34k)%E z^stm33oxXkN*vE;%X+di;1J1DGW&a~-e4V}Kb3V~2>QYEI+$7dZfr1CN1!Z>)BcT_gplA?VnQ%|QNF zC;|6;K+qqb2JRk=@<8Ok+kxSTeJ(*B#}W-e*gz`Nliru=LQD~5;ADE=mr1)16@f(K~zY`rIkTz6G0Tm zXPH0`y>wR$f(OZ~E>$mUM%P9UskrgbTen@2-jd*udQxhQJ=)ef=31y3JZXr~)q@~- zSzSno8 z3en_;H!+k$A84pU2A8s43xaaLwbla-TtHwki-*j#QWVWOvoDYiHE~X__h6c(v`1U-_b+#0Sg{zU%be;b5=BD|5EVnD&SP zTZH7lga@sCmp^}lT_-e$z?vBc=+7U!U3O0dZ_`}$BPYdMYoZ72NL4ZxF_vitiLBey`;wf8N6BH>GS|@@o#&-?^rLis@Y*?(~3FEdCRyIb>CR)B2j;ri`l;G=Ljb zQCs%z=*aY1zgg}Q0+{d^{#0Lx7vkDn?`Rw_z$9shj0sVFD%Oi^0HAz}6mEfu*FPh0 zJu{204rSv24rZAc6$KP*?ykoH;+6>`Da`EA6vj6Ke+JWo0L9X!3iD*lQouTc?0nUU z0|YG#%pp&+3MhfSF<-B$+Wr{~iXKR_tc?IbWn;Q79u5p|pUr}rD5PF4v&6?L3l*^j z=p(r^~6e{8+9|BO62ejGd=^@Xd1soa4i=T!(g)Z2Dlg!Wk90E`*!jjzP=YD-m z23k)ze-7?;@qKqMF+RS(ssLVYPVyTKLR$%W?sgo) z!UkjEZLEIxACvJ&4a{s9hF)(@j+#WeI#)f<3w0fDM#-hP5h{mc7WKT&@qb+T?nwdK t{WJoIMktW{DB$KuU_=gto*0O)-!X4TI<2u^4c-6%002ovPDHLkV1ii_oa+Dp delta 931 zcmV;U16=(22Z;!fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um17b-;K~zY` zrIf#G8%Y$$-!cLhZoC^J4z37#PL}*=_B5A`l@xNwDup|*y~p8B5;w@H?(jK^%h--H zQEPBCq)LPW-lPZw(g?+Wz(JZTjqo2}NTV_wx;G=~vUb)MN2XbJzMuVm-@L~x{NH8I zOwiFgSGRB$GQs>AYA|nqJ7mD3{X!K8)bs^`mA1!qkH zEnmt??u3B`LJefd!mvuzROUnz?YbLTaZSf!BT+@Jm6JpQ~S|&j>rF@+m z6FNbu=Tu}VS}?=%m6Eb8#wW3K!U$;Tk1U~7vk^tr(P*6q2Dn1NN}fKlv)WO%7wwTj zHa5U-csY90LC+H6MTdaKFS)TE?`t5$%PW8NKFs>+MfY#YkR!ms2L@QDgty1Nxymd* z=oK^|hXDJ@)e*OULIOS=ANf1@W3R6>#{gxJ!R}POf(xI!heDQbXafyYW=5x^qCF^n zsJuNs?2Fo>YjbWg62LA%@nd}4J@Unqmo#-?1p+qhB*4CWJ{a&{W%Md5^gIemzH(-U zz`oKg;~ma(?P%pXFYM~#RU;gZ+@@1_qoGvo>tVxV=DpB=4li)CE8_hjutCj#hz$=m z^gC;Anr+5~F2Mk_QJ0Oi;J#7jHb=wqR|%kkr|40CDxb=mi^ETofQ2?>J(!ZR{zz_> z`3ZoDT`1i}n~wj3r1jV?`$ozq0lJt~uxc78xx(K{0^nDHLxw8*<0|Rf5y!cc0HfAr zN=q>1Xkd$fV}7abB>|ww68GRyUIP_$x0jlA-P^Gaj53Jkd6xjh+V)&i{tn4CV)LkP z6j9ICc~+$B&Jo{RH2^DiQ$nT>`%JAB zl(^jj)=jDNpzi^XTb#%DsQZI&LZ&5z`;&d)&*#HNpTQtJeEJJt#3 zEEWX)a{(w0z87GF_Y;851P3Ti0`5!%Ce#4zyMeC@;9oIsM>KnUMp z^C>b=BNH+S6h%`oh+30Q&9TV$7k;2^sb|okfP=NQkuk11E5Zis>ntert+kb$ecivD z9h`h3(q!DfzBkyBr?yNrP-QJs-vO70%*xizaBh~1J z-D(q_d`|1^$-fO@yDfTpyj$Ss?he3R4U?e$-34JQ3=6UqMhv=r2XGiH%y?M{IP5rD z5F(@D36n5TUjj%kbRrCBZQ{IrC&I*ot@Ixt!bEG!YIANp3$q4E81{q7ya^Eoy=QWi zCL+v4Q#V#$m4 wgT7!eUfq{4oC?^{o2@Wryxa-XP5)7t-&H|b%;WYPlK=n!07*qoM6N<$f_N6%PXGV_ delta 466 zcmV;@0WJQ|1g8X$Uw;9zNkl= z?z;PN2Clh#taIZ-1o5lrz$PhzF(w`vOVZRKR$iGYu(WnTW3J>B8{WELj?Z3Qa-@*W zvGU#Knk?+G41cEE%r;@srZ~?Y?R&S_g+P3`UoG%!vjVWHA+iR4xxg)jAwibHutC@F z01AVI=}!{@6B>#ZnDA)f5TY%?4kEfl-f{FiQ{(5;zkk&JKs0t1vOC_PwFC zRZ32OnARE*vR diff --git a/graphics/pokemon/natu/anim_front.png b/graphics/pokemon/natu/anim_front.png index 8ac7b53c02433cec17be8cbd2042571455d10480..10c3f6936577512cce300373c964327ac75736d0 100644 GIT binary patch delta 551 zcmV+?0@(e!1nvZo7zqRe0000R9M69mOoFzP!z>W0!bZAd~{(k1}4|~7Cu13pG}Q8 zIl>hdCu7%=s=27djX?bbKH?6()zyD->06Dy+cpVqRm=||H^Z?%9#hfh(i%q;+B9dPf2HBq{Q>IM+DrPDNboN`8 zp&TRz|;>84U)71Gh!Z^Y!x@Gzg$>C>Z%w!RRnXH<0#WS(ATzwN(Rw zeo-0jNkv&{GSP(l8t92HO}N{?6{Q`Cuc{K*h#uh>I!z&lu`=5tF&%aBvMFS!K0qV@ zr0G8ol`Govc{=|s5Hn4-4j$wz1sY?fyKGDghUZb?oD#%1=?_R|`(n5qx|Jc-AL7^0 p-3h4vfbU2*1RJxTSEfJd2QCvRtm3+~BV_;p002ovPDHLkV1kz->=Xb1 delta 498 zcmVWqmM5k3OH*p?hr_H(~lk^VTun%98$`;JRJtkkV?*n zgGUVhFzCOVm`{U$uvOf?XdQ{b6`*qrEHp!5hcCp9CZHo#hx|tMI*>&v*k<>h^km?W zpUK`;Ag0vRO<%B9u342$m;Az;G(^}PYE zU0HSgTIpK|w0hO0Nx$=*qwf(tJyl~sL+`kW1?<`($Yk4pl{es;L#;Io!!QiP_~pzc zchb)!_okmR__*G=S-rY>I1N6j=l%kMrach2f{^~f>;Aa?Tmf_X%)x~$^Rqa`(be8|B>u`FHx@i-)+Dx3O5+Cf6-@7k=+q2ogD~E zq(Er-zkB>qe6=ud`M=ws93_g^=6_5{N|c`xLzDjz@oGW5GX9au?ZxXYFgy16ljP+ST_RfCp6TzAks36-xQr-zM{d zKk)#z`3J^3u)c^=rU8)E=3L4E0E}q@AOmV+%4q<^Z^pdq$)^C3n=t^ex$7n@V~l~l zdV902$ZQ=a(+t`lVabVZ$AavZ&G43vM4~9$5foc6Sb=c?yIc!MK-A|UD7bAwiMu5f zT%0g^MmHnDrWH0{o{ve1X6W7p1bjEIBXCsinmE7L*MI6I<{Rv_lDU7M@OuCN002ov JPDHLkV1h}rqJIDY delta 371 zcmV-(0gV3B1Kk6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0X9iQK~zY` z?b5MM!!QsAU@u4>Ys%ma(KiUU`F`EK+K_Q>%J}fXNio}%QMX$0f3y4{k8IxoWqat4C zxiKanUh;g)V)H&G;trU9C$Ere;2R_#g$LBRi)q1Q;cIXLrtyKLt8Y6152%-?y4iSE zsLW4)PU;1};sJ8?2Ml+Rry?qo1VGx@V`TyWu=WrDDbQG3jRPQhwf3zTeFcczj2-~z zrkgO2Fa&({e6y`cxsJU(^xE&piEhV|c*`CT*b(WnYDZASptpifR2sZo3rIsZ$37?( zx1iYF5=y1_7`)NVh_Pw~=Ti*7f#O1<`wM6cf#4&9LhY_esaxMsU-Hi*#24(flDX3i Rj#>Z!002ovPDHLkV1k?2qay$S diff --git a/graphics/pokemon/natu/icon.png b/graphics/pokemon/natu/icon.png index 3ff857f3d01baf7e51915f9e2f2211852de55d01..cfb53a18deb4d6494cfef4023b592ed1d2662d6f 100644 GIT binary patch delta 223 zcmV<503iRE0=EK?V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3Kk8zyZ}D{ z005dvL_t(I%jJ?W4#F@DMRNlmDN9)CQnPmAT+HpAN*2~CkqQi;X@wt~ zLDP5--6ghcs38Q%Yv>k^iwe79fyxf@TmSj9f&IsvxB3y?jtY})VUjLPndLb^f=>TS ZKRzaPc3oX@Hb4LX002ovPDHLkV1g&0TkZe= delta 192 zcmV;x06+h?0+<4jV1J`YL_t(IjpdTD4#F@DMEeK+q%3BoOU>Ge?_zHLsqMmA1*yOQ zN)9SjisOzfAiVkXPC8pxRlh%UF+v;-Fc=~R1E2)xCT*c45vjFsKZ-O^j>B7MV>Xcp z?;c4BXoB;Kc={Qx%LMuE%Jpf?*^rnS`Wia(ek#Jwm{g3#L^-ZJZu_4<87t2q@Ek(vKG=b#`55Y4Pm<0000ZeToX(bVo+-U z39db*RIOQW;S$14Z8>8-idR8U^qG|6F~|{L1(Uw_9D+wNEP)MmaNTo_LFuNFrpBe< ztM9sf;FQ|dcDDdFTtF$RKq+-A?M~t{!CfgGBA_}sG$p_-oE2Z6fka(9I9mXRdzV(J z($J|+$r5-ADIEX&f3lhYD+_=tPy|IyPSy^cR;_$7e0}JyXMwdk0d=-#eYoqhKJQsT ziVwB37Uh_CdA(fs^t`Zu6a*N|r+wg%eMkaMak9qm>RncXw(=4l0=v}_c*i{DT|WiZ zNCMmzi>)|31@>qOcyGtzal1SP5kO_eyu>*Z*i!_c7{q5Le@MU>Wfw%uoPzI%&dFN|+6K4e{7I@1&Up8ZV>zZ`U8}h%+WU#35n;0000< KMNUMnLSTX;kt9<9 delta 687 zcmV;g0#N;l29^epBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&ht~K~zY` z#gws*qc9MLAuIRH%69G{Q@TN`^QpWFcGd2X9h`sI(DUraRzWHa2 zDgNzM|7CsmsD1{Ht(Q%Yq@)2skYFe)jr0;W_oHw_o-1WzfI4}ffWU*!O`aFukOJc`=7 zwE**8I(X@cpIQjs(W22$ad5 zb^fWY>UtmnD!yc6jNn7s<^6U);QK-XR3M;5I&B<-rvgDhDK194rfiZDxRp0Q3Cvyv z;8Ub2pK1{p%@MGBk!{6s5ty?<;Ikf5;C@>K0T5CTX^CqhFqZ&8Hi%Oqh`=7QL3D`# zGa^u@!=^WK5nu#=144@`Es+Q&01znQl`;`fgaFh9=hfV2B6tC=;4mGtT`HiA1^}C2 z+Rh4R7Xd|xK#2pNPbwoM2m+u3aDjojS0~KzAP5mO2#Y{|IP6p>0?t}+Il#CeBxKZJ zfuF%;Kmpn!5;AIme->8X8p|ypG6TYj94K)a=W_{N3M0UOURJi`@*+R;&OP9^p#d%V5t! zFnUBGBH-SD_}Ov<=-H6fh>@LzAP5;Upo}MtIZO$&A+5ott#g*^S@1Th|8y0_AMA)T VCgs`41^@sG002ovPDHLkV1nI8E3^Or diff --git a/graphics/pokemon/necrozma/dawn_wings/back.png b/graphics/pokemon/necrozma/dawn_wings/back.png index be258fb089c24503b54d36857cb82b0b9016054a..24bb316947177e52a5fe36d5cff4af8e543fec9f 100644 GIT binary patch delta 818 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 M07*qoM6N<$f_Z!E?f?J) diff --git a/graphics/pokemon/necrozma/dusk_mane/back.png b/graphics/pokemon/necrozma/dusk_mane/back.png index 96621697c5d444e83d7512bd070ee4db9eb0669f..b5843a6a6e11cf995f331776817b196c2efb0063 100644 GIT binary patch delta 1056 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 GLSTZ~jmfeA diff --git a/graphics/pokemon/necrozma/front.png b/graphics/pokemon/necrozma/front.png index 9974c437f7c408e2ae3efb0cda5e05c6c7a4b245..fc121c643dbe8cdfb619411f297aa98d05fd1589 100644 GIT binary patch delta 876 zcmV-y1C#vS2hazQB#}W-e*gz`Nliru=LQD~7y&JbVVVE{12aiPK~zY`t(Cuy+c*%$ zMP%7q6xD}+1mubo7Uk{?9PMFGYRPBFgWTifDS~aYMY2e@_bxXiC3(GwT}6Nai~RB9 ze8U;4Y5wrj;%|2kV7rFw?*UvioxCSOPVFScT|l4YT?wwFye)wqfA|@Jn-b`uGZ_%X z-|#>tIc9?S8zFWlnS;=93lKPq5<>eM9y9_d!JN3~VbtJ$XJqrBgr0wwi#Hx%ZsWTs z$Zqo>A~>tx1I&ii0}I+Qcn1&(akqG2GgzJ6I{_DGTRrSGhm_nkKn5S3tsblfn3=oY zf%=9xQ9QT+;6#m)e}8-{0s%ef6j=dM9_!v_oI;0(l)eCS&@!7tAj(vL@I^iB`|B0e-d{nK*NOVmnE;q3(&2=1LMKg9n8z~^VVF^Kn2b%1f83*8|Cr8=db~} z+)?^riV$R$n6W=ze{B^>PR5v=>ek^ITO5AG6@SN*-|E$veJ(NRJzkXfkB<44*{+$6 zt1N&(@D0xj^sKV=^|VKE-sdu7eVdw4DlU%WIJwQ`e{e2U)Te}X6*3Scw%J;dqwGR- zG*`Ak)jrjhko#d1=v;((7n&}s^6ahvH3oW?9)a`R+aiE-zS$9ZkfNR&oepGjbczGC zH7w@HK+J)uB@wYFSiO9JXp3fuLpyZRBcK=H5u11xDe)pOx7hv6codN(Oxi!5L_@K6 zY8%WvVgcR(=x(ShXip<{Z)&>gJGxMso2Ub+BdMVg*SFj+*HQ3!hG|c>n~Wj^+uP$I ze^2r*S6AKT<}BkRTj;NDy34;w0000cZBXA0YZ{iJ(8fOW>WGYU{30xgwRUemp~8VjKEz9 z^w5qOkksGSmvmA?Cb++U6JmQ(IS2#y0Ex3GAfSJ3GJ1|eElf{Dz08Z8z#V^+)5YU53kryE4vGzLS3|c&Yr1TBAgNEB20@Y&$ zXfAfv2%P`=&6?0C!3&_K1;~kKc5q35Rkr5}Qpn=`13+Dh_RnAc;uauf-x+Xgmj1x6 z24dSv%(2Y@Qsb%88zA$N&dmFEhR~H^;Slf_09P!HIia5^ji*K)i9K#%wlU=~h534ss#W!!)_ zuA#>*#4Ip|n#AGw@_jvtFaM}110-5A!wS5QuNwdrpvIXbmJsyY@dDruMIk`4O9=Y6 zm+${>rJxpo2@uKGk>mLOV+AlH6(C%?Zdvkvya26QfF~}0f~`A@Z?CUgbHx!VaBd)& z+?4I0j{m)e4ant=(oa)_pt8h_{qg=|t4Mkp$1$h6ad^fSho5o9@A0$(490PvOAI=X z7bU*2A>T6FHPZ^61rP|Hh^)ZQI$K{)dywaSE;HUWiG)&daTtclZ7%zBsiH0=tgDcL zps>x>iX2pb8=_;mvPV?yO3fm$?>B+gMVNPiv{_YTcLk_1u(R?AoafFK0i5$>N7X^e zdTwkw(8;kW_R!R@xT8HC4_q&ah#kf16+J{-G(+s0zEvIpvjET7#IsCE6oI+H?&qUN z5mmxu-SbHjhP_kUU=|7R4nTK(UBNmQv3nC~tMBMiLTPTQ544UX!XmD3M9nPo!RHxn zJl$?Gh7fFD&xibfl6U!V)m?7RGETFF?iyg1w{E5GJ>@h!`6&+}{{!LM#$12johkqT N002ovPDHLkV1iwTs+a%( diff --git a/graphics/pokemon/necrozma/icon.png b/graphics/pokemon/necrozma/icon.png index 1d4283fddc9f699a12d0528cd630dd15bf970fc4..780813bbac48084bf0019bb52049f5e6af917810 100644 GIT binary patch delta 419 zcmV;U0bKss1NZ}wUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MQQ93_X=E z00047NklO4)&u|F z;M}_pTtQ|XfuQH}yTasgsL<69M`ZTPaRj(kOrH8_>=j!F34eP<>^+h-D-}Y06Ij{h z)gxv)KycYFMDsEB=ML6DVtj(6OZ?i@Dzq~2sMgb~gHLQ@2tLAW<6$bm8W5~e$aAWn z1N%%)Y=%$+A}fPL>oD5_rG=`kPi*^lAPk-rojh)Bs(pVhOkxA&!s{W~V>pG7S++>$ zOSBT*`J5C`N`FHXE~RiuPjLi^`H#T=RR_K5u<)pZ-NdMa!;in{kd_LvpS9`$eOFnc79FBC0JMjyL)zEY0=4P@-%mhQ2Z*!U!CA;rM?uiX<5^+yI5>3m!xfqR^0)%AIVR8jHg?C>g@oNf zy+*QP#Ub1$fi=3kdc@2RA-L=p=K0a~eg!KaL{A~Kq;YW<8!q6yC4yKRCIE?w66C4Tr{C3 zl!ezzvQs#OkfUtG$0eFY_rqGj0jD%X;Zh32**1%#kmBh09{BHn|A|8}4>&Aw#KAT( z;$S(AIJg`}9DIz0IN;#m5=R{1iX8{&ri2}byFcNOmMUaFYsCTjtg?_697vl0yoZWI z+SgVBwc-GuPk}2AK$mOl8nxm8bnAj^I4EteXbTRyztF8XD6t%~H5?R=do~5gg5QZhuOXx+iMAF{WMQ$lMi8Yv#OC>Fc z;ENBH+mN%z7Ct4i+nS!8;9CohsPLc2A?V^i*WJ}h*2k7o3Z0ABnn&}_jAzG+^0$Ac z|0|%m$Fr*c0WhV&;26M_NvKD_lml3ApH#z;0%z69NNR|K-wSeiR4@`;Ar){&YAHCR zLLBUh0Aa02jSz;gCstAdLA?tOVTel~SwT^!N|HLjLNMY8SmdTrJ`X|D(n#=bTma2B z88u)d1DM9;2L^-}Qb4sRut{_ZUd(^T{ChJ8p2W|Ox=IL6SFDI;6-5&HiUCQ!;Xo)! zV)lbM^4XXHKI#A?Sf9|3Z?K|(Z@1=vm6^{o&TXh-%TLQBq3_fD2h1; zYs;678#+$~u(jmZqdyVAd}qu2*$KoXV@do5$Ww^31p{C!2PP1~Q;~!ecs_pzSg<6# z)A@HPFax;egK=X>fronlV7(+EZrmneFF$>`qr|QtI*4kd@D-+q!xI-_NTXSXIUG$s zLrhBRA=G#sFKKmm(?#L+5PI8)Zw`wV@AF;Z_owUTxX|B{kaW7c+!Y~S!&PVZASW#| z@KHRGGyJ`X2nFf9 zD(2EwtqOS64Y2gZn&E)c8ET8(B&PIF8iBjLdWaso3K*A_#sGVXLYV}iz+U-Z_6r15;^H7zbYK7g002ov JPDHLkV1md>Mx+1$ delta 689 zcmV;i0#5y&2KWV#7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0007KNklyGUp2!)G+miYefJD}BCwQ4h&oE-k`ZrA4m@p2r09q_LK#*PWF z3w{B>3wH#-U+HD&008z2pdZ_P1C4zE`0g9Xw=u+^ZF2yRg9H>|2ap~h`Vl~fBKCg} z1w4kU-jDND!VSse(f5G2CAbI)av=bl96iOv6bsHX zWI=G3h4kAPvj(V!55^|}qI^<boXph^N(s*8w_Y{uDu7y$e^)1w$sr=50!Rd2 z8>m5n-4k#M;KMCp#K03Eglz){%L=#%xC$9Q0)kV$V`dj>3m*WIfYU6(qYB#qA)GpA z(aQpY5gfi^E(F*HFr5*gWw;5WgMS#HdY^Kr)-oO0ONbiPzB^+E8u)*R1evI< z_0qKsCCLF8y0`N=|*ji?8bqq~oD7%j_kB_o6T z{N=M_+2JdFV(_Ddl0M2^*a1i*HT9DUQ0(kYy>w!`03@+3*YluBK;*nBkB!Q$fv`Kf z^pcl8Yb&^IUF15tzUK?TZ0vtSeF5oUgCoHDOa>h5Ghp?=)r&`mwh71$p9s@yIRa9e zoq=m=v4Equd!;|d`urkTSTIGehmLOvc)h9TWl()Qvs#3=7~f3O2U5%fY>9?ofygW` z_)0$@oL-uNXjd#3q|x>pOR7MPfIWA7OlSV))lw!R&;5COaA!haJ# X)uF{l6u>V?84!ypdBal|gx#Tf6F#Jp^(NcA zA?ng7n>X0bWn{lwRIL|TRDr?6Ms4tJyV(lN+b1z`*v}N(}JwMLJJs*D% zLZl8kcy@oks(&Txe}H477W4xXQhz6n8uGwIYfy5838^E&z6lBNSkpRM<3qBvas85{ z;i+!F`9TAdJ3g*_=$77CH9kYJGbp~8)r-u17)TV{1^Yb{U~VfGP4<(i)S z&DL54ST(?Xybo`mI1r!wF-YzJ31y`ZTVU`MvIwQO=kp+lKBEuianb@3WHj(|yg)Yz@1&>Le$ve$J#DyEs(dLp$32O+%ZHF z>|&ws08HcbV`Z#!JT|&`k;4}ih4k_;XCG8Rv{Bd-9DU$(^V0W8AP%t?B70QekW z*D*j-+w^{y1s>WdV?+sDdJYpyM5)9F05CsUkunJVlO^;OG^Z?w4WM(tX6zHm*gSD> zz)+Sel1-etV~A;v0UT#!kZgaRBy`dzTDoLexC0Ow1J_r;dPMX=8pjWN0O{FWub_t{ z#J-o{lm!Shv&D#PbNyrDC5t5&b&P2b$W}5pmipA6xi?monB$ney5%~>4dJ3%1av_s z0vH1hhujRW;#IX&H*<{9s#0g|Fm_bGE;eStKmf<~Uu;(hOAVW7=SzR60I6RjtLC09 zbz1AMy*1uxN78UPsNUVK5MNg!*2+f!G#!_Sq52;sqb|hzs-3V_E-%X%M0&+k8`Z#| zcA;;Bb52xSsECH6y3_-|idavn&kM_U3??1%$&rAUlFhJP_>j^yI>5=(`h=z8u5qdL zcr(nG0tmrE6P5;~3s=fXfI(dqK8f z5BM4aeBX9?JCV&9z;OkfoDUd=0!_zs`#oo*#Hbopz-(;^J3GLT9YX-4F?0dGyIc>U z-)#XLq@Iyo_0Vb0!JHoHgQFW5yV*7+02LFh{(GwVQfZgVD~`~2Ie$y%a_TP0ODE000R9NkvXXu0mjfv}-HQ delta 1201 zcmV;i1Wx=y#Kz2Y1s&_NwJY8H>mkZtq z6i=%4TnQn`DQ7K3GelyXDx@9Y1g*75(L;wGF+zh{(hn4j_tQDN0n7}yK@ID>dR8e( z{$!f4rGbEgRN)Pv3V>?qfS{5JT!3Ykx)G|U=nH@Z zT*$-H!C>1O~8(RDAj{YikK`1*eakeSZG ztxc^AMi{9e{2D$2iVOfk&N3W?)h`I-GYY9Yfw`o9s)$G-L72&tfrR-CKspu%|6t6K zR``{qs{3J78T^!Yz$H%|xT2raf-*o?QSXb~=nCXLmr?C#KrZho5?jP77tBz~BdrR1 z3-+IY2FVRD9DV`R8(MJts_KTNDACyqg!V-q~V!Qoicg z4Z}yT0D3-N@{A!qXy|m|?5EvJblEKk0X51LT2Ia z7tTcV=6P@a$9NfS=_TDL0&Y(NRmfKN_oF2{I@RVCMnShyK!IARRd;`R0`3Yh44#5+ zb@1o*XwR}CI<^B+uywPCK{|l7)RQ5)v2fRzbFM0|&4+BTaurBQ%b-Gcg|H?^Yb7^8 zNJcGYku6~Z+eRkMGGr^cwKHr?!niJUf{kMExg(EGaO!wkJ>Z@LDR(dUOA%X<%w+bh zQOPZE6X5bg$L2>?^I3mpHS`%Sj#l8UM2gGjcS zd1R#{V|)d4S45uxuIA_;w;tn~d)_bdyozsawOLSN^Jg}i#UFn@dvt&`gZE*x6I_AP z3FfNd|3Z0dPUf~7{0eXna3*q(_S(R-=X-f9YwhgOR-63kLlwj@26);c!F_gG0mml= z_-?S73PvIH6Os0^xB^@&;Y9(SXBVNtxV53Awf8pqbcD^o-Nf+*XnPLq#K$OJol~yi zb0O^Vd_szMGIf7_`>5LhbM}fK0IYpn&UVL{fLCH1qdI-iu-^c9bE$Wu;2Qw?!3XfV z0FL+y;G2(ov%LN6uqQXl!1l)fr zZu1g{uoXxe(~wXrz$RdvryNlnls1?H-tuQ2b=EM9q8*->{FZ9P)EXVZl4Gd9C1BLq z;O=R<;HcBFRj{~q#Un`$=*8~YZaUvSX$I}Tg= zhQpTrXgF-?cO1T_-*9-O|HJ`$`kI2_P%M45O@>3V^c^2&!y#DuDs&vgoM}%!9f!Ua z*l>Wh1weV=P`KWzs&pJGb+)gLL$vVei34`09S4O?x?nhn*J&nn9H`o+9S%%89Dx1< Zhc7DLJ^MAt#n}J=002ovPDHLkV1lfW*YE%U delta 488 zcmVIR5p)r+9f( z0G|XFLTSI)sXzs4p#r6Be4r>*r4*5E{D3GZ5HZo_JQ%aDTD&WQ4CbuRlW{YEpSgdE zMQM3?Twj#>s^_|Ho(2l}OSFoCol{3TkPFM>k!v`GlO>{6yfv#osirozJA zA7jF70@t9>y75@+)&*XKT2hD~oMWKE;-{7F$2^EBVD9rY57sc|Gj1P#h0H+*mQcqe z#=Z7JVL4ju>;|)uu|_mx5@~T&^=p3_7JVhOYPC)Q88eN`fht0CyVqWKTdqrB>tIX4 zfj5O$h9F?o7O`0&Od{-;-GT2xTBf{!%_a(tl>uDlUwfX@|BdeV{|^Q4@VD)FkH6FX zgum0h;J=|e;(w=G68;;yGyV^B2mCYL8~iifzVr$IM0e*u;h*Tf@DBJ#x?NPT;6H&n zI^GNZX_(mJk9qmd|APOdfAGKHpZ=A-pNxN?fApI1ztJD@-_f7(-_XC{zoUPP|BZti e{x<}^ga0pL5hYQAt-(bA00001l0tPB#}W-e*gz`Nliru=LQD~887HWT@(NS0k}y-K~zY`)s#zegD?z+ zVKVF!rWe4p`%FpqNs&EW(#B@r38**d33Bkt4~S_5Y+G$`_`m332_?yYwC#$X7V)p$ z3a~4efmAR+F1FFRS_D#2oH?Ml9m{$NNQF2wclt(%AqJs(zW|Vfe-e107$eAp1;kbw z<08~EfJVf3ssRiSSRFqp0+T|L=Hkifn9l&ovuFcQaw!nt9Z-Z)vcS$b;AD$zIAG&a z1Pj0nphySE3s8myz}rU&N-hB>0(uU}0w5n|0386J0}CABX5AWq%?hAaf#Vv`uK-`j ze48(k1N;{I*^BZ-e?NcK-s+_su2%pqf(-f_Tsa3DHD)QHjvUaZqFt{pnHQBt6X|Xc z4P9Kd_wCfms7v&JH>lVj$9`9;uWF1bx^^>qz7Y)NP}u&Mbp@DKnDkqWbUaZ)0lymDYS8b?X#Tr z&%L$DTg~3%WDw#Z3uirv5d)!>^kDAoJr~lwDYCC4ZS3s5fcpl0f;@O7+Yr+TSX(W2q7VI&B|G_- zwpsC~W&CTq0&J^gAQcQyh)uMw7lBliCk`lY+p1XtQXvlQoj(&|&_Go0761%T0S}a; zf=pOIY@{(xp_u`+we}r;c8 z@UjNYHId&9qQQf!cfOrk8Fh)icY|tsI$96Zs;})BAy+mKxbK`q1{aJr0RF0wwfWil z`s=8Id~jn3WV^1T`l9#C-2}1@dRmnFbpV3`s;dxT(t|NYi-StA!f9+dpo0TQx2nlB z=HT5ZZ5%*-jxQBf_RsxG$&-)HaWV+;kcGXTXv9EhWiy%hNd(^ssUb>YePA{`^f#k{>E5*TYgTo5uhE002ovPDHLkV1i-I;ky6; diff --git a/graphics/pokemon/nickit/front.png b/graphics/pokemon/nickit/front.png index 9aba8f113ca416ae1f420fc251b88a01c479c7e9..1a29023a03c85242bf161dad0753771321569798 100644 GIT binary patch delta 537 zcmV+!0_OdP1^)z)B#}W-e*gz`Nliru=LQD~8YLsV=g9y70pdwSK~zY`?Uc=Ln?Ml7 z*IIE8OVpkjP;$k)c9d&jKsi=2xW2}Pan3#1?KO&0U#lGY?{*e!1%E77?|B!{&X31q znOPw|^k2HVP#;D6o2y}9q>}T1igxwb1%%xN&;@`kj39IXBWM8yf7h890IY!3e{1-)`Oz*)b4MMJ_YIcm?dE31w)}WwS_{N?3tc?XGpt^zsch|g z)&cJp@@}Sn3&`=6DlZi%oY%KM?zmFr-Tn9?~C?r**|uW{`eCQXd;!? z5b4v9VyweNt3-lfcd5?+0k0dOBWd%=lPQyaU}H%Y2y?b|$A0H(Tmvdi7+pBAozH&g bvi<>5c#mVC55uJS00000NkvXXu0mjfNyPv> delta 542 zcmV+(0^$At1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z?Ub=^n?MwY51rV<5w$Z1N>+SlM_CJxQ^!gM$7@`8&fLLn*C z`7K!YK0bb64)&4%%hiRs7ax9HjRT%Y&jTXf&l49Abq5J9K-z&PBM0Eg77+3}XCr_W zxPjOToB-bg*RGBP$dojHmw*Ud08_H6Mk)|cVQniofeH~vIx?T;_$Uh}u&@9Mn7gj< z&;pNGIOg64H!ae*fLHw85#P=O0`X}S2n@<(4EStTfix?Fbq7?GBfvM=+aDqKC4KwU z@QCp7_U-TU4Ys%GcMqlRUu{v#U)vw;BG-4=0YzW1%5JweYtqtx>5Xm`0PhNAp72?& zU$Lp|?0en;?+SjmUXycEVhL70Bdo4_0OJc96{aa00IXqJq9H^7ujMn)_cJrsV3Pxo z;Q009nk`@S6b?X}!OP*l?AI-j(IFcGy91FYnM{%_VuL*VECIgmrjXMnNZPG*ocnDF z%N-T90Aw;80(@6_nx&3%$ORcPDfN(;7C2`jEMYi_@% diff --git a/graphics/pokemon/nickit/icon.png b/graphics/pokemon/nickit/icon.png index b7095d9c70f98323fd08fb0f0d4d250c0d0145ba..b0777d878ffa23cf9c73b2e81741d1b59717ad2b 100644 GIT binary patch delta 326 zcmV-M0lEI41F-{;bbkN`bV*G`2j>O{3L6~~rEV4g009(9L_t(I%iWT#j>9kvfb#}c zXhF*c1_$ne4g?f*4{=YDfddBVGmR7kBp%%Y z8DQzU0!%3wje{Wrbr>@+YgLOBc+3GHqNchbBmn#6S)<@0xqs{_k?0!1IqzYZa4Y1S zFM+-Xu>xqD)2Bk5HZbBr7>ziHwL1vG2oz|#&Tg&TS~beqm&kFb_XcVgA~W YUk_)s6_LAyO#lD@07*qoM6N<$f~kg#Qvd(} delta 308 zcmV-40n7fe1D^wsbbkRANkl8Z|u!~2i{EC7pO%ov4P0m~AF5#cPW%12>D&{9?w+d~-8UoWkBKl~80{yd#6 z`>`8T-Bibh94*4|f9x{*kqYzlBMS5IBNOJ~M=H!;`|%AAXSEf8Ze4Ex0000s*iF2 diff --git a/graphics/pokemon/nidoking/anim_front.png b/graphics/pokemon/nidoking/anim_front.png index 79d0a35426e8f43edd3186de28187c9967e37e64..2615b43a62ea3c6bd614a69c5474fd08176025eb 100644 GIT binary patch delta 1765 zcmVZDM8O|`=uqVAQ$)NsYoC92 z?Zas(DA>k#J0H)F_ujnk*N*cad=4DPzwzzraa)eBlI?N#xcp2UH)#1P+nGR@fM=Y5 z!!X~Oz{~sgod-VGK7(B#jav3obA4-cz6&^a&UxYWqG zvx|i7gwnhCln<3sxWc20$1dz1^t}O%tMoRGcNlCR1MpGyNiQBt&;(Rt;c_0U6%a~< zH70FXJ*m%mIX+a(NF!w82~pdI@6&LcD+OSBDm(DT<5^Ov9Dt5e{rFI&U{rq)D`RHj zbmlbpiU1yWBbB$lg@{3?A1mMQ#+h)OL3~h-^RyeQwAH&G=@8GG@)qtYOK=K0Oal)= zfQr-!Forc0zhQcr;`i2hO6)un64UTcfZt&6`;7vb4UjK zz-gr89zd9Nv%6ozQ8C4!W^{ijRba>)kU8_`hZ1~GW%n5PMS-sYgvOwar4Ae1IP<3l zaIf;CQD~AV#3M z2E4*PQw#VaEo8Snr1JfFoz&9`pp%oa;5@I@cM0GcLP)K>aTntqRw^&NTr6<>a*7)? zo!l3I3EC8v%T9k?E*HgOUPO7wj2dvf3Y%WxM(pgnB@)ZOp5mB+2!Xr;M2g*8+UGR^ zEr@bVsM=J2q|y?&Du#bK=Ui$mVJ!0N6_nEEjh%o1)$hO%cfbxdKn~&ecD#rNSWTIX zhB>g!9x1x3I7D44KO-^kn@ef|vx+qV1_-EJFZ>TH$pXJ*7BCDdVJrbS!|{bCK!T~a z376^!j94r{D=atyM6F%h92!SpK}A{5Q0dmYh@AoF#G4<*nS_7sKGd9JIj`PDF-Bzz zXwIopR+C2D0<}(s<3fmaRQt-`2ChfTyyO!f!2F|Z33Y#5Fq8bVu*vbbnC=;Onh4DH zYU7J>k?aMUFJ^C%S1)n?fA&A_-VnLYuIkpF;0D#L1Dy!=E#Y&3J%Di0p!he~3)-43 zH2)aI`zD7Hlzo3hk^w=7vI8`(f!mKBem||0A=bn!? zDrBs4O#b3A-90fD*oD@2$r}YNClJOu6arjxB1p{Fchwtx(sHn+4Xwoy2M#kcl2KUq zCk%(sqWf}(##Q#1y59-Na2Qt7Qnk0t6| z9vq|celU@TV*-NIeDN`FTZi(Flzu->IchU*5m%%0e{(py_;h7rLNp)85eRj{ z-kn=rWz4#$fl3LWt)fjz$-^8K1vWsRq{darASTso+I-M1?*67pFMQi0UA6|wgkkKn zpPpEtZ2Q*13^xUeE=d0P`%$rW7&uGP;Q6LNy>5T@m+xO)1LQgfTvb%dLtTAIsyKty zL0t?_^$s*&F2%j&>t~%6kT9qN7`b951O>tf0U;I*)?o#3*|ovw#K%SfGIIM(~ zX{9?L16~z(^bhG8n4-G3x78o*fnui%v>!z=Cx0L{l}F{2k%I8@&GOa!azO@z97YXr z$y0yM(H^{dxkMmVEe5Ho$QJnrQ(Ba(X-@Y_=oE{xrpzng^)#c@N|D!o4q+j&_e&2` zgb3u)05eVOBcmS^1_`0F@WAOn!$jy+hLn2a0<)cwD;2gVYYS_xcXOPWi2 zU@(%G&vjpkZE-K{0bZxG#dAPFZ2`^F9;{LQ0scUMdQ#?0Q|7?zuK zxtEV8(`^@2BkqqUMY!J{O!oVO=6LcJf3TRm%^!$=PiX%Ju=BTCkDYj+00000NkvXX Hu0mjf2ewF$ delta 1653 zcmV-*28#Kk4zvxB7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1~N%RK~!jg?OEA! z<2Vd72*S1$js5?ByJ!GBL{YISdEBtZDIe+mMTJxI&7a1I1*JM1)2e?0_JShrF_DokC5a#SIWelbMF}Tw%ewf2bjnem904-5{U97M=Z9pml}>+}rc4>eh4ySuh<&Ji4Nj=Q@|A$CGSTK@#DYYT#Z zpW>b2H+Tej`4#>KU;YmNxBkcL$Hfzp#wGFM1fQ-=tltsnapNcL$Kho1$B+6Kimu2X zbV+=;4H^(bKcSeuuL&Tdgwy1MYx2cG1JchA2q@3H%NKSNx}8m~I}OMM7^>>UJ*f2& z&o;PDNSX#jCctnfpgg(9`y8AP9KD2pV+xFn1j@<IFTFVjL&Oo$#L{uJ$#*xudS$(=9EiDCZ&<=YY$ut-cQaM=1uA4T>Y_p%lCah^R8OSx5MZeX5+ivjf zS_A9|H|XFRv$IPKrom)(38Nc-JE@KcxZFZUg`lvy3}l_yG?YO=2mmNxKA?gv{D&Dolo}eqLBGP<)Ez$`3^Lx`zWY+Rs#bJR8(^QZqK~!lG2295$Q*mBq z^y@t#X!vB)@PPmnuX7C~LP^mWPWttBu7TJ!cIV_1wI*`V6TC!gMcuX zFPx$L$I`k_gh42?*cKPEG#oHIPw2ILCM6f3JbaMFF83|D%3G1CdJt z!q$)f2La%MfG`7A{51jLbo~hk9mAi1Fj@ZrV7O8ZA7>8J00000NkvXXu0mjfCo26Z diff --git a/graphics/pokemon/nidoking/back.png b/graphics/pokemon/nidoking/back.png index cad43a47d64390b63658054083266d1caeb69b12..093f5c13e52f609230227b0f0390c13588303ba4 100644 GIT binary patch delta 624 zcmV-$0+0QS2K@z)B#}W-9RLS(Nliru=LQD~9Skl{>0$r?0$@o*K~zY`tyGblD}Q83 z9wnlIQXLXuJ-wNEZ$@4BZ%f@c-%5JZ$=;QL50f$o!a6~o& z?6iLL0ubsal>jexJvczgMR9g~ngG$ygP;52_N3UP4ZtTF=(rgHXmkcF)&<8E%qUdw zK(qqx88G(-Ky;3!v_hV^EMFZ=cQ6av_Zi?=>Sw|bGVG4s6@_C49f*K*)qk6r!s)0c z|2mT6v&$6We~5rbT>(mra2@03VXVi)Y)SBaqA!m_*T{ibuE>UiEBzX}+3KtVrVxZ_ z#<^7jrsyQru_h0p(_I?YjQTo%Tx*CtPQ7u$b$&Wk$w>G4n=XJvfkg+t`~A&~G*l%H z687nbF=lj?igt?=bpF+K!+)5i-m`jWvyQyp)i&_q%8iKue@i1Z6Xz2Xv&5fQHfYgP z0r0+hp0?~uG7mY%PKANcLVq;T4|OcBDxq|UTTW?_gstq0=bjt-LdCKe?*X*vcza2} z05pBO$Tb^)NvdE)kt>~tSv<9R*Z`Q~dFZ7PTZE#PcNY_-h04Sag+-H2Z63N52d%4% za1y}QIJ^J|8Bk0_e*Ly_u^BwnUXQem_6ojuoUD*K&A_qyU+WK-b58Qt_?>qE0000< KMNUMnLSTYvB_@#o delta 637 zcmV-@0)qYh1&jueBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0%b`=K~zY` zomG*MD}N+Q9wnkF)gcj{r#EljjO^||m%0((QU7;<#^VhFcY~mnK}iB^u!1go+sd#b zpmn<^8XI}Xg0O_mDz%@_kxP?n0zwj0DZ^mT*Kwr?PCf(_(Y>7;=ZXBuPf^11bPd=u zV4^t|xjbJ3!gKPVp$}AUdGhBb1z3M(jjzkyxqm4FPBa-J^Rj%%0IYJ*DVRv~ae2*v z!>I;1A{zmAN)NpNg!)OXfESwr2Pj$;tK;Yji2XeHIeWf?NpX`l07o>?vD5&7MrXic zUFf)i8HEcTh!WtQ0dsEv#N=37SI~*e^3}m~2eWAVJ_8(E{Y)5AhTXBdqHxTh0}+s} zW`8qNI33;OUq|x#>@r38A0psUSAdcu9LKnM80+g{HW7TD=*#2KH8c?071?me8kGvu zY<2bl*A#^79p_OAnBtRI$C^B(UeD5y6!o=!Of^Ivr`}j_txvC2GSYqirVC)Dz~Td+ z{r+Y~8mbZp3H$WJ7&E%cMZ4t*KL6^vVSmh4@7X=H*+*XQ>NapNapTH>zhxse6X%GD zD)Hx48+5iSX2JIYkd72TlbDB`W2eG}(87N-u^%d{3^9});*nEYh_F;Gj(Z;H3m3~` zya&)?;wuU!U;vuFU1U-NFi97f0!0RGwUwXBOyHsJ^_T%;24B3Ktgt%mZ+v?HeRbU* Xmvc_?u1{I%00000NkvXXu0mjfXXGV5 diff --git a/graphics/pokemon/nidoking/icon.png b/graphics/pokemon/nidoking/icon.png index 93d0b5f80e5f8735ebd30285daf5fa0f9dbb4719..131f02bb5537f384c56fe8ef599ea69b6455513a 100644 GIT binary patch delta 396 zcmV;70dxMz1JwhN7zqRe0001qplF?uEQVt=VbFnU)3X0AB&z!l9@@$n6jjAk~=BMd|U0000BzM%>Vyw2kbabYNf}n)Qwb2H4g@8I;H&31AGGXBvvpQkP+Al&`KggfSE6f zpsKuN913CxW^L))T2t#z+C68UL%RcE#} zAoEL>9DuvEhXne6UZ6e*icK#~}V3TQ9KyrML^WEk_O_ChH2!YkOi`B+3cnegJ)EJVnlU+x)!qxZ9{8xlw*_ z`_VH)B$IRPi?^nAfqZFnMdXVS{krQ4m`gpyOYvysAx^?y{W1Q#&%c56CckbV>-0000E(5r^`yI9`UX??tsLDrqW!hwBDcM|Sr69N>DZ+o^ zAafti?#}0Xp7(D&E!cCv-&-$-*l_}3*GoN*ml3*dpp(Yk7RITL+&dsdaX0V0DoPkQ zftUf6zbfZbH{b)Pi14T^i;HbQib+y#10dq{UBLd5*D)4gs$4q+SU=-({-qlT0efr$ zXzad(mxUd~6!;-`h=$m~^qQB+a}$62SJ)Z9V*`p}*B-6q754AG7XY1y2$zVR6iNob zc?-S)0$| zrDi9Jr&Sn3)^#OJ3Fc9JUzfA}_9Yr16To31U0fn=fXtEkdUa`>S!Q9Z;4got^mTjn zC>d26PY}E?(F!{?P#RYek`1&t8OE!JOFXF9SwtKc>!PsFv0ezk{}kuBq_=7S{vjtz zyr>v>v#QKGTBp=1=THl9@P1X1tjEyIDt&UpFWOZh!2M0V-UQ&a#9&;UWAas1WMtgc zhB2ycKXTYQ5 zObsQ<_5H*^o+K1MA7erTjmc$wKf2|NLd+B?ueDCS!1F^)9wppF>}hdD!skdeZZ69J zoIaMkTohRkYXI`+BIE`Iry_{zeFc9@6 z`<{U;)i5fh#c{%Dz&H~3HmWobd-WdYz>WjWfKpaz^1W&zgD6eqgv~PN9r(4mW|`IX z!~Sj<(EO3+OA%dw2`==h*(N6SSMrJ|lRqM>iv+is9Bge;en;8{2#&9xDpn4u)r&qv zw>R{BBTk9Q3m|A7Ng{tfx!Ex|12#vy08i}GE+Fv!#4{e%cpi@D6{Rqg`?NbENFP(j4t) zAAde7L|?c8kAkz0B<%;bc*^tozx=in@Q==Zm6^%T8m3)GqU*Ci77u0Jz3kE5+FyRN z=lSaE->XNXFOZd|oeGD`c+Xdli)w5f#Zz@)2@4qy9j#BRSuH^9vCFpKax$Q9e;}Ec zL=0GGXhnCtGe&=3{3uDs)(Dj)4n8-16QVai@kmM}H~VBw?$>pb1p`c|XJ%s)IEHi$ zOc7`AuIqUudu&GD@Ww>?Jp%{#CpC~V;BRzia6>$K$5q9^>O%%bUKn5#)`9fd&jeVk ze&GFhL@MqDzMWaY;z5APbv;c|?Dk^I;laGfaa7$?Ee?P906jbKLBc*tWTr7fDqy8= z14gc delta 1324 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 M07*qoM6N<$f^uaZB>(^b diff --git a/graphics/pokemon/nidoqueen/icon.png b/graphics/pokemon/nidoqueen/icon.png index 0d1d7a6f64053c55dde01275e985f7f218b10786..3d42bb57ba5fe01a32235b310c0bb557dea4049f 100644 GIT binary patch delta 334 zcmV-U0kQso1Ed3xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MQlAz8?CL z00038NklXsbBCR>k` z#BSmpsd%vDPye0l^QY7uEl$oFuejR zHwZ8#vMq}9WWdcmvR59OuhN$RDA7fI6rv5rtHQbdAi~>wKXEv;6)t8bS_+HnL0U*g zdwNJf)~SEE?nhe~NrfR^3p4r=gvow|aU?;Q6JCWOa&8vJzGxYa&lvsCJo?dyr%n9b g;0LCD@L&1y1H*j0z0*xPCIA2c07*qoM6N<$f`P`Cng9R* delta 298 zcmV+_0oDGb1AqgNUw;7$Nkl`-laS1vFDwFFoO&=CL=K?ec@E~qDz=>V`^j3EbXOS&2!z={WC zu7_0&_rq|b0G4{%hG7`qqYM;lF2M}QA!N=F+x_rx+sQ!1Zlvow>_#~W_V+z)l3#3C z0;(?t&tsNXK`6pUKHwVzh;hQhDBgbtJ|H|lrE-@mbC_qbXJCWN1bEvDg~&}sxTZ37 z#9)2ca5tsj0)=!2cKBzi`8GC)tpSU`fwl)x7Gv?%qU+f?-y#H2JVo@bpKoZ5)UKET zCxE~5kgIJ0=N!-*1z@+u23u76Y0N%?e7aX78&p_04VBi%$x&%-0FUiQZzffV~iSL`4-Fn zAQkXsD#DQkqe~r`x~KvppVGnZ`2NtH_J{x1egbaDr}V*Ty@>z-002ovPDHLkV1nUD BL;L^$ delta 641 zcmV-{0)G9K2FL}F7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0!B$hK~!jg?O5Ax zD=`RM25;E3`Ty@d=Hk7m4}s0YsVa|JHHkVCgMnmNmWhdpiQf*QpO5muLd;Nd|7oo( zK@4V9pawJr0W|>!xMcmPfeiI!Ek2mnK&egZo2;YrOZ=>IdB!1{PRR(+wu zx2!`%oNo#x0oIFu>%U##;iyHh2sgj|lR$-!MxoG}g|M#7QV^gZv&yW>W~uPeMgU|g zgP!gP4F1-%rb&$7%Q{nudV5djZ%-HSBZ&QZ&;M#806f39y`+0t2&FDU1bYU1DIQG$ zRY?eFtQ@)XF)+?x^C8jFXmY%(bu%B3_i5<-9)%yhN8nw5g?OPK<82!C#$?;zvmlai z1d_{wY;3ot5zr|B%H2a8BhG%}>$5^ZMG1|8N){xRvJL3cD#KgqJ#Kgq! z!u0<`;eYvm|M;SP+yBFz&IkUVE$#RHzuEVj{@)WNbld+!uL`uA_ZA`KzwApleqo+1 zin{+F=H1Nq#sAj?)O@?^qd`x#6cFY)40w3nCBHyuZk~;P*!T1T!Hq_E<&%BSFAz+_ z&GW^+7ZwO^o`+ekFAzM8Xk|K^Z%!=`0ue&k_sRlb;iAAt3dexS^27gMkzXMA5q>Dt z76^SZ?-{(cKp2yi_~rt^1i<_xY+#gI# b{C)fbp|%s_4A6k`00000NkvXXu0mjfzQ;AN diff --git a/graphics/pokemon/nidoran_f/back.png b/graphics/pokemon/nidoran_f/back.png index 601a2ecdd146acc46e93e04a906d67e687430fda..eb6b3a13702eedba519b6368b422f6cf0494c100 100644 GIT binary patch delta 489 zcmVw^lqEFH^2?za0%E9Nv$8l4t)IFC3x=MSt$uWkJEIH@lfpV zItD&}7W$&q%sRk0fc@Q$fp4h;p*;iqtVV#o^5!Kx1OCV(a22{O`I4JxkiN>wCm2LW z!}3CVymh;+!i?Lde|<7Zp(?Ciw=iTN>Sb_XY3WiJ@QJ{32_dlzGAuSpX4p%P$st%~ z6#yUHwLj|0%DNy(Qqj8T*87KvN+#4~UD~6cxC9e%4|0s>9+;6akebo2h)XCSTA9Nc zFsKW6Zjl6qvyqAhot6fd#z{~I00~4!Hc-ft{8!gX?)&NEUt8r(i18Io$?p@F^*&!N zzBhKb6=IwgP44{A#Yt*hAuXr~o4B$}fi>bUfRpKP7e7euMT4dR&q+YUe#c00000NkvXXu0mjf|G4D& delta 500 zcmV|QQ`3QV-9 z?EtdNOCWcpjl@D!5_j8w3zed90HGd)usG;#=r$ema1A&NNv&@~2flvk8r=8KtdxY` z#}wvR55@VuXW;E~rO&Kp)&a%=obUGxd`KM#9T?!>W&-FvZyo}jTu!_KH=*B=AK3;# z=AW63Z!n6EmgR*Gci@6r`d>r=`Jpa1+!4Kmt*a4HU8@|I}H@y`Ldk(^w|N^cQW( z-zOgHbADX>-q`U^tq{|;D9R^hbnz`Uo{$z)geGP#QxJ{#3E*Zryz$B6n5wc83V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3L+MZ^ExB| z005>*L_t(I%jJ?i4#F@Dg>wV1tQ>*8sMj+~vbJ}!!psJnhqj6skcSBKGZ5p674?lz zelM~0h4AMBZ%A?BGEji_G%>J zXRk@nal0TFW8C&6$$V^sN%7D!cYLd5pjVVUnAURTn$fNd+Hv|mf$n;Dq~#pesb l4j2#zOn~m<_|TvEcmPb2r-t}|$`k+q002ovPDHLkV1iZ_Wd;BM delta 194 zcmV;z06qW10-6GlV1K1aL_t(IjpdRt4#F@DMSTOWtQ>*8sMj+~vbJ}!%FG6vhqj6s zkcS8tIuMhI71iUD-%l)kfIlCsfu?HV4ba?zM8M32C|Gx)rpNs?#lhA{hda)trn}^U{K;sIxX|@; whxQx5e1)yf)(Rt4VNk2W05-R(ANF%U7EF?-hB3U)Bme*a07*qoM6N<$f@3dQ(*OVf diff --git a/graphics/pokemon/nidoran_m/anim_front.png b/graphics/pokemon/nidoran_m/anim_front.png index 5f0990c40292018ffa4c245b5846da9928ad12ff..dd3539ce42ba8566d6d36d281cad90a948bdda20 100644 GIT binary patch delta 644 zcmV-~0(rs>f(^*M27e!}R zz!xY6&IN+z0PUjJ7)%dZ(s9zoP%hA2QOgT2_)O9yZGL0c^G_c5gMG8Rk@q^#Sh;^y z1_m7n*d@N*#i3E{6(TaQx!a=-Y!J6;;+`RCz#b92F&&O$_KH2$xMcvaWk7Sm4jAA# zZ5-aqZ5D&m3lv#Ntt9sH#_ zcz06=`XBbUIxsfAZFqb?T-8Cc;qAy&fOu60HYkOtNOu3E4q{=aQ9r8#-p%R{UzY!* z4jhn=_xkd`r~}WJD=hyPm^W~1(wF~59dM!tRUPau;)Csazr*xwVE-}Xs1F27FnK-( zuYG+s9;TUytRVD`KYS0fd;q=UkG-2kQenAMHN69dh3yYH)Qf<(xyF7`Kk#7CqJCh3 evFeBa`1}I=+m@hGy^_-a0000n) z!Y~X)>!r{s|Np<^ElpYwvO)7SvBX0W_tbF`qw8gvF=NJG2Ednkq-W&QS8oBl@bN?{ zU)KVF0Fki~U?o~t%5p@OF^#u8S zwA+7#A1KJ{pXIW2r{wgpi6*CbB155PxC*`e*g$ynEwLdmHF52bIv!i zznFhF4vD5h;kqy8e@TxI$ae8+{;6cS)VrU}KUBsC-MbIwzcN1P-u-0$i{pdv?)%BM zR>lY36G!t8mGJ?0quBwa@xh>W-wws`0k?)UyuCP6KG5~@kOvgU2a9_Dae&kIGXLkY zGr>rxjt}J65_~s4h*y3*K4|uz*~bSTOhB5zQs6J<2bRK|AIzBXFX9)1$r1P`x&AEx O0000Lx${ diff --git a/graphics/pokemon/nidoran_m/back.png b/graphics/pokemon/nidoran_m/back.png index 2be290922ad1a30fe48aa34bb98c50ffb43873ce..0fc9a65094448ec28d1f8ec7f371885cb2085984 100644 GIT binary patch delta 484 zcmV~&u2*2J?o!^%OAir z{sDM8IHKo{c{n(t2Lm|L2(SUefyN2z!yf@XUe~v_24e?SKlTk^e<5?(fHy1+k)Fu$ zDFLf*g~cQ_%?SvND0onSB3@S2IG5cqGBA28z@q|s$xoICAY{On3Q-~^IEP>q@V1W7 z%OL|JWS6#e3xFlh;_}f1)P^05ghK5hXzFn4*h5P1N9az}(9=6R|ZCZzkTW6Ep|AS|vTlt^`8bz5~)h`M_rx zME!Ts?LcE@Pr5j50zf@-!R{Wt{x$%_Y(cstTWj=bzx8R}=-dWk){rOa8X9{{xmqTk abzI-`=UsyO8IO7Z0000mfA9=-vV`5VCV#TA2eBICss0|da8Mt}<#FEo1WcYg&8c-i0D8iEtp{X8^)jp^Y4 z-mo=92Ifin1nj;Qmax`;vL+xjqL9%5j(FTn<5skLK?Y{;6u4Kwp!sQg1VRQ}sSq_{ z#xx<20losd-s>f!AY_*{pkD!S>_uJPn}FGHBRRM|yfgvR*ro{5^C8wi7Y*Q5O#}*0 zbzh7K3?=Sp06iN)ddnJOAnHg83!@PZW>pk;=JIm{W_iklEv8I=rAn_^lLX{)+giEs zn)SbOe{Rh&K|TZYPE|k2Z?ivut@NPjXhU}?6MsL7G4)#*K>57>mTG6jUY$!e5>^1c z=Sh182y$Lufld2ZX88{kPa`F?Fekw5P%*`jHfo$sfL_Zn6LAa@pDDgpH&_ntNP3N3 z350a~1ayM(fv>tvi1y#bjsuOI?X9^S0zkcT!JQtx{cQk<*@8~VuGSdRdFRu<@vRNS otf5bIYG|A>O{3M4spc%b_L z007KML_t(I%jMEN4uVh&2XIcnJBWifz{Sl~CKE5(gdTtfu3#b?1m5gxsC*b&S=7P7 z*zNuE+BD5Cihis7>h17l0DkClVgo_Pw2TUX1u~V923f(>!hiC^Wn5BwG^3fhNKd+r zFmaV0w1aY@YLD8|XH)|O4Y(;cC}0A*B?!=&A%G!+T7#tP0sF1)5iln2%vHoU`RYj5 z-RdOqCHmibOORg)8o-DcA2Ncmf+jF3Xa;juK{FU5=mADP2cteFFi$>4FxJNi=BqyL YeI~IbHia0l01E&B07*qoM6N<$f|ZJJ+W-In delta 234 zcmVT22V1La?L_t(Ijpfp@4uU`o2H<-F?m--U16XCeVeYVw zOKQ(*H8U64MSc^RxXMm4K{-)%L>cKF)c`>PZps}-Pyszs1Y_vb62Rb~mLTnVzMGGU`RYjb!|Ei-&HQg|60~TVz(f%gAP!)(pb?A+n!sE|&;&*adV`slZU-Yi kMlcH>0~qaN0P|HJPkkn_CBs&r?EnA(07*qoM6N<$g3D-QW&i*H diff --git a/graphics/pokemon/nidorina/anim_front.png b/graphics/pokemon/nidorina/anim_front.png index 51ba5cb07041767db0bd9767b594803cbdbe730f..f5a23ddaca16d46c6260028c9af51c2ee659892a 100644 GIT binary patch delta 889 zcmV-<1BU#&2fhc87zqRe0000BAOgU>&m_zL7zmWfvKjQPe!}x#K z#@HK;+izs-ijStFN!G^su^SNW^AYEn8{n1wGU4C^CJ>pxc*G;9T*M>-1pMiQ*8tV- z0%HSI2=MFr!UaqP7(noox~?5b_*{UNawa&&>#N-vJd85{%}*}h)%Cd(DAzoy_)XK? z)aQ;WQV^W;ieDPw$^irx&?imPT-Se&6}&)WoC91mjWb8jlP&P(?M?06YJWQe)R&;V z!~v9T9Cu53e&pCGw&q8mQ%DM$2{#ZiIQ?knn7Fd|48Zi`tpONzgg@(-`4uClj~^@$ z>4oUG-3U)x|M+gxEP?8sz7*I<+d<5a)MTN$`()Cao1liar-J9j_>&{3?#B*NK2XOF5utc^b&y-myS}PY1vC5d5|+qUTXTM5DIwtqlnj50-kF;jtaf znNErGH8LlJP^IuA9t5arxzPD84CX|&OOeF=wp^|5?a|UiW$r1It!{PpX_f7J?W*NQ z?FDeA!{u}shjDP6|JHG4FF8*2g5%`X3yy=Qvf~%e9cLZkj_F~?DG`5=yxQY9cwy-@ z+2c4RLnPbdICg}?jzd}^8+06$ATyGkefsM-R$*AL4C6Rjo^7@OqcQZZ9CV!5Uw+r#`A0K;mpr99P zxit`zNgn_i(|n5c<|t(t5<=+xi&=qNv;YBFhO8Sm8WehJv5p|;b3#ejOEFly$Nit< zJlYDzu0NdKW8Ho$Xik3!GAm1|ZG}O92-NK|+v^X(#?CbC4?%YDhk@}MV4FS+2i?a@ P00000NkvXXu0mjf1+Axc delta 886 zcmV-+1Bv{;2fGK57#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R135`VK~!jg?O54% z>mUq_kemeD{r}&++5p?vEN)-X>2Yhq4BDV!Uax7>rrj9m1I}ZY_a;6d&kuBhhj1F` z5#V{cz{l}I5W+&o0e)W|IIt}I;{Zr_9vGwmn{EUcQ1I_}8S0=R6X zY6xRxqyqsa{Abt!AxL8nDXop}?d|aV;0i#=bQxHFJixCrEdds$d2X^qZr#_BMup9^^n(JA0 zW8m4tecKOt6qmp%)F!}70UVukfjJMA0}77}L?wwS8yR1#i5y`9<8Wz>|1$tNzFJf* zKH2m&g@6cv2N$S$P7|R|M$)G?1(YC2@pS@CHJkJxdwwFbKf3rs(7dw$ThI}y2c6Sd z!?Vj;4=)RUD1jtHd!pq)uD$JRCvXQ)(t}M0R(Bo!WI>NOC=P@GnhtRJ1)a0$0Si+i z5O*34O)>8{4Duq04^CiRP3?`HKjaEXxH8}R zgy6~+<3kT_IR1d1Hf`FpY11CtlwhU=GbNZ;Q-bN;+7m%lf*Ew7D#47&7j+57_eWQL zs7NqbzTnJs2<{}9q<`Rm4pWg}?6xG7-MhlQ1S6L{BkAEQ5=^n)b>~)sDGEyWSh$y9 zQWBhhyTwqIV6uV&Jr^LA5OIxkCIFWYn#ZF{Fx$5MBq6|-M%N$YcW6?`RTs9Oec#E? zmZafemJdRkLLy;2ni}L94uz~g2$RY*EdmR+h(DMF2q+nC$tboBa0y9KN(x5GM~^_t zAeZE#!MFfn@`0DRf%mQ@JQ5W7pj}HZpLD%d$XQ9mQ3jU}+SgYGMQ=FDIV=LifPTOy zL0SS&ve&SFaJcWg3Y0&1svjg3D82qdKM-`$Kz^YgTqjTcU|QAw0dUwP`BRawvH$=8 M07*qoM6N<$g8LYOrT_o{ diff --git a/graphics/pokemon/nidorina/back.png b/graphics/pokemon/nidorina/back.png index 88bcaf5dbaeec4d10c1ebe1ec94fd3a65e57dad1..1d96a737d94f4fa3441f9022ad6ffd229ebfcac5 100644 GIT binary patch delta 668 zcmV;N0%QHJ2JHoqB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD~CMj9@ z(j5Q*0#HdrK~zY`)s-=J+b|4rjqe>%ZpCim0$0@f*g zRAQcsqPhwIWW_9jLbYXeO-D_Hm6`w))x$Lr6%imnC~U424EO`cs zn}ou?e?OR7axYGRf3?`Z9^XtQ7?G#|bkv5g$2Y8C&9X$m@%Ww8g7^UVMnKCPO9D{( z6z{HHX2?kdRYM|=1mxTh?T9W@`20dZPG@DTQe8U<4R#~~(R^tp?M$?OLXD_je-QfX zZ#Nw)QfeE-7Z3bfO@YSMu?_WX|HLBa=}>A`=l(Oz_VGldf2RYY1yPP25Rr`IH2zVe z0XA8!7y*L{)ou`%A|guny%;%RTX+~$bUzgu24GB>-_+Alhm3WTySik#*D4#0gEACr zF+T$<)Un^qD$IPm_Iw-|Ft(z0JwEI6q#YmNQrnQYN68=*Ib8@axd|{f1g9oG%bx{)La# z!H9;&ig#idchXocLGTBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00L7^C;e9gSzM{0dW8!CMWPC zIY1WKr+x7Ox@oV{WmmmbXCwncI9az^0MFk~ns5HdtJVLw@(M8(`=BpTT*_PEce;+jwrceZ+sBW*BsE7aoLSief0c&teAR>sR ziS=dzx&{`&sDni8RU5iYMqOlR`cu^fdOPYz#D~6b0$|vWC}EGE2?*+4-XpfGBROE; zv}j0yZWRNtsO3mV?EANqu8RPOE`TxEKb@a-B?2Or4(O;1FXv~hU>8L3fb;n)f4K$m z0q{yd8+0soKxsp~alUYO%>-pbCeH+9VM7!XT`KY6k${ZON`p*Q%@!K$$ONMP64sld zD0PntQ9XSl^vCZm1guljAU;~)&vpqkoX5fCbNJ<(TqjeiX`R`3l6rY=Ah{giE%0I- zfrxmn)A&z-1lXsw3<#K9$aasoe-R#0^7jPr>86F-$wl{Fq7DG`3H_65I;)U2Jh|I3 z$|oiLW=NEpv=*}g*rM|4uxhq$=KbaCb{qm=-in%QJovMunIFKRjf=0*NK94j>!q@i z>tjX(t!LY#V$)g4NLvmBC};7Hupe&T0LwYTtP=nF`U}^b4HG)~gOUIM N002ovPDHLkV1kD)M0)@L diff --git a/graphics/pokemon/nidorina/icon.png b/graphics/pokemon/nidorina/icon.png index 496336a59c5c5102d86b5312d19bd33190e6cf58..c8fbc09a7f1f3a35220ba557480eb23fed2454af 100644 GIT binary patch delta 269 zcmV+o0rLL60^|aaV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3MU~>IcshJ z0075HL_t(I%k7de4#F@DMRS7s4m|)TC~!WGz`%{1dgz4I#A}DPL`7msYSe)y%>pAr zc+1nb@?|}xzG+B_c5w3@azN0x-q_A*lqgAlAtWdwCctCQ=MVuP_TA|c zL4kqbon>tKFmK;vU?DVSSaF{VXczX6u%h=ZosH1M=T9h=>GDu>ob z0Kt~M_ByF*#)?9ECXq($_K-3)*=37S{lxr*c_WN0!fgGRE86-2P40($?8g(6811jy TP@&xb0000dW7y)Q)L7@^EAVzGn74k}Qp8<~}okIeEI1Z;v0u>?-=d6sE zI9jQ9<9*iq<_+{04~K5hod|f)3<%C{wdLxq9k-0uW3+KuRyO zs(Nlz$j`*wvDqGyT~}PTn#E7dUzj(-@G8vKkEKytKcFl9;E(-y0+Sf+ugjxsGXMYp M07*qoM6N<$f)a#WL;wH) diff --git a/graphics/pokemon/nidorino/anim_front.png b/graphics/pokemon/nidorino/anim_front.png index 9fd1786bc33fc3a306b8dc136b6d3d052869e302..8aece1ef78feeaf74734253696d84538251adf72 100644 GIT binary patch delta 879 zcmV-#1Cadc2eb!}7zqRe0000XB0s@=(*e_5d?y4HFAL` z=4J2V&Y66GEIC5gAn1~_bm`v1^ij4Ek)rJ-LxEb8Kz@FIqO7kdF4sF>>dbz*dIx`? zKABBpcZgAbJq?tLNw6uYmZ~0-}Ey)tEsw5@3tHwCWYl0o51*9vYddv`TRij!B_5 zlHp+`fB{Yh;YcIuWhh~V1TwZ{5S5Hd>-**Q0X-@;Ftn;oW=&dC^G!EB8l??&ag~w) za2Oh(9>ZlQDMG`zPAuer;nBr&D0cg@K1c`SO>`hiSnmSMIOIfy{U}3ucN>2K%V7u; zH!AG&w8q74i2Y^V00)GaRSZ4_KN*_aGJ=Yz_fDeF|`iM!h z_0krj^o8tQU%1%0(1J+IpN*dTBlW_D*ukG=F%<8Fovi1~UtLyg6-)?pJwq36O z&kl++c97AB#12;PVF$%YJILxoYzO5TJDBT3Vh3}5i0$BrJ{;^Irw@OT9pv;Owu58( z@MZ^deMs#fqYqO%$mv652RVI+>>#HPksW09VPXeaeVEumP9G+AkkyCC4s!Ys+kx2u zC+uLa5B{hf?Dc_;*@1k3M}2@cZwE{$AASiHAIpOsNd6w>BhP6L810~Y^z4T)#-I<; ztn1MZekm~v#@e}{4-s1c!45wCkpl~?jC|%RNc=(UKz;r#Ug4z3@Y~cMB)KIi+&VX? z(BaG#UK9B>o2*PGhnSVB1QlJ002ovPDHLk FV1flDjUxa6 delta 934 zcmV;X16lmE2kHlq7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R187M^K~!jg?O2PB z;xG(kVhmgb|NpxeKbodAal)aMR;Na=Vyk#Ev7Nxo<#LX5{K^4*8K3Ak0N?;Jy)mSe z=*R-suK<8+n^zAY?E!MQ#?NF&;uG%xWO;c&#IpbyqD-~$1b{yPVD`B=T;mz?$R5U- z*aLVtB)r7OJmB$vD}aRa?WP;hXW$T^#QW?FfLk6CrjL+!Ga$fR080E#3FJqp^Vt}LZRI3{g(v_L zUJ>vPwQ`1qP=wsLDcKJ0>khofQJSO=09$U`0dxoXIa`%~_KzS{ z0Db=8>mgndfa;+32;^wLfAZUIf^}$Cw}aM3fQI{$@=-gtfWSH|qChfy!E0XgVHaUN zfO56;vLG0Lna7p!X9uvZ4SfyTNZWX!B~K)alLWxAD6B*IVz8sTSP=P5y>f`YA*iY# zEf2Caw-(HQKtU_Q`oVK3jtpW__o zILC+M6#qXe{^tSO;(y9L2*v-jd+@{J{}X^W@jvYz@CK0H#s9!P7>fT1_n=Y~NAW-5 z9@LV5W|S2a)*y&^>60{~7mSApYmvgO2zwN_dpVp7@`254z%i z(me>o|Ezn^7XOtTAGil?@jvMvw8g(usQ^9||7p%Wh{S*59l$?{|DAgf6rm^n9mU;) zelK;z|F$^%HE5(a@xQYVh(ibBApY(2q|H8m7;FNS_|H0x>@KV90~98`EN%pzPrxmQ zVjrNSrQ1zK{6Ak$tUF%q15u5R(De^o`~$BS_}xD6IkA7>;-CHUJK6_B|G=4U`xMfN zx7&2WKX{*J2t)NB_y@y7a9O!^{DXmav!B}LcKQeB`0vMGghM1l$5Waq00000NkvWt IM6N<$f@<&0;Q#;t diff --git a/graphics/pokemon/nidorino/back.png b/graphics/pokemon/nidorino/back.png index a7078074e43c63e1853f424b2481b43c890494e9..3ee49e0aee7ce7feeb9ae1d2cf90a02ea983ecf7 100644 GIT binary patch delta 658 zcmV;D0&V@|1={~4~Fxgqgd#g$oB7a zvAO~a9dgwL>mf1DD{u^hEUpLSaYlclFw9*dAfY8xZK41lyNb3_=#~QKK?%6>X?MBD z2XO^*7`%%UnV)hhGw^*`oZcxkF4%t36)+4N)t;1EMu!&?=NWnMTer%y zL7EK8HR4E)@$f6)$-}0GB?4gAUJ=Do$JAFkxv92)5Y=9Yxd5JLY^d!|NX2`OG1rJD sI1>8vX$3r0AjLtG1lFIY=Kt7@FIXHEO+44XKL7v#07*qoM6N<$g7C>NsQ>@~ delta 669 zcmV;O0%HBz1>^;g7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00070Nklj}G=f^PsN{t-dXzzKIr02KiQqYM+^ zCWPWZcfSyzqcENTC42;kH(c2^jg?El#}usmC5VoY0nZ2}2q%cuV+4HO2X6uMy?GZh zZ-e&2Z70-I5C-jH?k8cH!g+*s+A;*|bN!1G!7AyiEwyD1 zL{#sE31BV78o!P`2JKfc5u{4dDg-0MUo65<%#TVc!)z4>e+YsLgQM7IF)nZ6AWm5I z5`;ma1_Ba5qAA-e3c$1-RlhI>;0UyAjKFbyi7!dPoXs#bNsD#ty!48IQJjC6!s}O# z1GhKY7DAJ`^1W&cn}73&p7z#Szm|<13P;(N?(n4lm(7SFi{o9UxNN~xudN>J&}d0J ziKA%?CqNr-j%e4b-V*8NzzWbOV1#_xuz#u@bZrTsWD5aRGa`gFKwsC>v!xz}XTbMS zm(ccc*}L_P+TcEIPdr$6o)>>Ykmr~H_O%f+g3yBnpl^iM<wQ#YEJUa-e%YttBt?w-B%~-d-*s@3k;O4A%=2()-I`Kh@sUHBbbwtEtX5IBNd;;R zIRKa|Ssv?kqxaXOL@m`Gkn~he!BD{6ch;Z%M*9a`_aL3zX;?M@000R9NkvXXu0mjf DX}>x< diff --git a/graphics/pokemon/nidorino/icon.png b/graphics/pokemon/nidorino/icon.png index 8901b895e71c907909c2ab81fd16f9a597817542..dc2f92d815101ff205c6b206899024d7e3f14f25 100644 GIT binary patch delta 293 zcmV+=0owlB0{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3MmqAYA5yp z007@fL_t(I%iYp34#F@DK+&9_ISdD2Vynag8#i@TFWqX9E3l_(Ep<$UfeI26u~aOG zj9+yWxzCtiKDG>jAC-#`S#rQf5SOk1G;E1j1?w!;tVS%w?ti2LL`S>5dItvA9dob} zd+ZJ_jYMi_sOvDLFFX-70+?oE<2-=(uNh0j?8Cj}aGoKIZOiG>9;Ah7euXQ6z|dbL zzeBb%dc6;1<56u)*i?k?TdX!*>~%DMde#eif^lv&81=;y43}W05)77L^3VJXM)_F4 rT$PUnjP|jB(H=e)Fz-HuzwvPcin7=|hU<8R00000NkvXXu0mjf7=3w4 delta 258 zcmV+d0sa2`0@?zQV1MOFL_t(Ijos2a4#F@DfMK729EJlhu~lM$jhnh^mTtAk71&d? zmO3V?DOH;o!~kMJWc(GUk9+{Xyv%b5e6RczB1;bT9>k?1&;lDGR>3$!1*;K5u|BJS z(b4{(-opl0pK>q~8(SY;8i`a=TNI&BJ3JAUf;P>>(s@Mh*LxX5?cl>ya<~i_x~k%I zXoFH=KdfOS6l|Mo`dTBhlg{h^VHtdWD1b0*NQY@{w)_~NgFjuL3tGT9E$BTkYR3X5 zqg%ivA1j!2Gb@;UnXkbpA2XOy`Iy0IA2S&3V+Ql+L--pXH;S^@Jlz`xssI2007*qo IM6N<$g0ZJ?F#rGn diff --git a/graphics/pokemon/nihilego/back.png b/graphics/pokemon/nihilego/back.png index a4dfc7632548f865cc393ccdcab3098445e26cc5..3246bb9fbc7922c0d31a90641e0dde45957a0875 100644 GIT binary patch delta 612 zcmV-q0-OER1|+1`0xd~IK~zY`?Ug%|+AtJ_ z1v05&m&|PGy|bBFcOt?&Lx;g3q{|F`Y!AVI09*Ak6l#OF@xRTL-z%FU{hrF!{m#+7 zLLLbDRF4J|)cAJ2s0}7J?KRk6FQO?SLo&WyCxp?V`Pc)DY5Bk@e?U*f0JDe0#5(6g zz}HRy4iodqS4@-g=MI5T z)scuq;t}GycmkMgpVXqSo|3#ib$=ZHlp`u2Iux!Q2FOC+f0VffLbOdCxrzNE00s4Z zFycKAwr}nOMg&K%te;yzw0}9hIYe1K_q7X*!oWT_*syF18i3%)s$ZjBKequRI1mkZ z2Dp1_?t+&OY@91M3Sjl5e;CGdBLJ%hxSlHkz;)I6d<_d~S(bGN%TB_zs$WrmyMWbJ z_73{D=Uf|QT3I#+y~|%&OKJMv1r{w}v6#W5*2FqZ8-JQ|eGKD%(GuRh6-++@xR#d6 yZ+9Q?K{E|-bYQMExz+*hYCU#<<>!Cjf9W4waOl3U!OlGZ0000IA7w`7rL=nyD`beTav?jh&}khV5Mp*F}3Z=1XN_e$gm zd@5=0ch26sTEVBf)Ekk8x9fSWH@a!B!0vh;%>eo^yj=(2tUr0|0EVo15Dc*+qDR?% zm{47aKGJI|fD87$KT!#P0&vo62auDZGk_ybhV30_eUgnKRFV!1n}DERW-UOJfMCEu z2aKXO^~}}0!q5Sxro-}`^QjI9MpHr-0gOaV4!j1ydG-woI~QUBgFx0q@1B(>t?X<{ z*CLQoE-GS0HlCTe<#}{y!jiEQ9xK4}wk(%LPM?4mxlh&#$XfA#q>Q%N-d0G-iU{N; zImfhzFMq>8x=s+OU=hl_W?&bJqgR;8LYa18@zO}ch;iM_70icmpzeclu zY66D82Mu^eynCwef}0I&oJuzdarp$AjOSX2W(RONl|sbJvi18KCRQ>{^9~oSgiBe! zkp8v-v#IMl>i?d7sdc?xXQ+4i>)KG7zPEvS1DMaJ_^35Uu}ah0pQb_|!?>R}M0anA zKF-35HmR0C`sm}yO}bU-*-k1aqy>QDVo0RI47aOl3NZHqbp0000}BoQD&{ zF@eGX5Gn+)4G;*-5CqpCQvy;DN=d3n^56rG9SMLO79@e)I76JKMd2>#l`$buq*z8D z`*veSAfninzBgYey*fPZv>I2@_uV`KtXmT*gL6vPt^ICb-|FC21HgW3?Z&hZQ|%7S z?PePo;9UZ11E%e4f74kT0C(8?VA}1`>f0_1OuNy|{HSdg1fR{u73 zVv1DQZaWzQ#8u9+9zc^%oZJWoP#tmE%FtStO9TsO@W6yX0_8Uh4%Ll{UQwZ!0X zKl>Sh3IP4&f|pM}67B)_(9QJXe1nnSpU>crP(zXk!B1xwf2Y&OQ>lD_$5q3pA)wT? z2N(*C=+uYXcz=#eYslawvT>CW$k%qfF2~PJ2Cqhr#)x1A&%k~2Ajno1Ajg2?EeQkQ z)8MwxU*mMf06TMe+ZR{?9|1Q7Im@E~EMP@_KqJUS-cMCkdA2GF4-}=yg&F|UVnL|~ z2ot%+k+@qzScXTA`ODyLVlDLr6dqud=}RpxwWfu?-9yS}!2A)gj~dSXWf!#yzs_I4 wM6mG+|2cSbgx>-6+kn)y`b)srKl!)*1+r$C)cPtRIRF3v07*qoM6N<$f&dW{oB#j- delta 617 zcmV-v0+#*A1<1Sq8<`H1s=};R&P`d8SR}K441;z;nfc@5( zjqV<%#x0ne%{DN>8xCs?y6a8b8xsI`n0?UQ_Gr{?9|pSHsCIsTRHhGtkNWf7jrxe*MYKH|2O0U*jHf(5jAU_yXH`2|BjeN#m+ z1`MEHVhFgOeUG3D0QF=;luzHd@PPg3W@>T1!N~51^Y4dVeY_AK-CS z@L>ojRpSAMLLoYTxv($ZUn5frQurC^xXTENmvOuw0bvUiFTkH8f)zXi`!9kZU0pyi z1_B=yFaR+PZe9Hbmoo;KEQ(v#U=3mf>=KGu77btlE9wIpK_)Y|)T++XRi1kwFJ&gH z0Wc*OlzMA00000NkvXXu0mjf D^{)*L diff --git a/graphics/pokemon/nihilego/icon.png b/graphics/pokemon/nihilego/icon.png index 6e8f855d59cacd1413dedb7f9e6930131d2939ab..5a733d9fb07ebe8cea8c3be5792d1fda70a91d8c 100644 GIT binary patch delta 328 zcmV-O0k{740-ghqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MQ}U7Fdxp z00032Nkly#pwA#)L#L%zscV-Rt7Xpvlbauj z`3av=A1p|zeQyREvh|F()&LE114hJtt$yqXJNzlXM2!>EIDbs99+=59&nA$20VXnt zGfnP2GSgp`J-|ywR$N(==7saS+Dm>BQw2N74`i+huzUlw;6T!qnVrN8EL~}dHd7RVhMptuvI}XHcj}Qe;8c5fwW_bE?-fShgxNK=!UT;N#>x+|C%Cdl z>od?-_I(nAVnO>yF-k|tTckwiC&Vm_PywsjI15AXnRG($)b6UIy2EAHYCGTtPGR6* aXMO?j2GFnsh9Qjr00008A`UrIlFWl^bF!QbXvNV zI`;8uwaj|pW#>m?e!{2JKNh6azBhvn*?LA?Yk&s10V86614tcVhhOEFsBvN%hw0q| zGkNCO1afb{LML z>?CGj=}Jqq(el!V?*beomJp}}TNU(T(^Ow1dI!yk;_(0gPPKm|bHl zOwfp7to#srf;)S(J_CJc-zPCBw!i!U(oymjDbe`{VircIfK_drg`sOEozOeA--{Kv m!)4d1o2~Ewrx`Htr!&9s2GFqNo&jC}0000O{3M?;5b)TXD00QGlL_t(o!|j&OYuZp8z_So2 z3@=u8PhUIx&~~K_-p7zk)>|cifI+@Z>#3zgx7~u&hxOdyZ8!*$-g>ZO-gem-y20*= zkfVqE2bH}zP5kj{&tv(5g75pu_kG_}{C+qtiYWf&cp^Rq9Dh6lBq$(c(F#Bj1sULB z;+e9gYh{3qc$}Fpm$N{lc9xJ7R=cm8O?X3rLL#F`3_v)c03-ntnY_e0jtn#pw{Vup zXOtsG1=?I0TD5I8Pb(ys0Ri+HyxYgg(nelFpfZ5tODJsO^k;%lM`r*f{{Wj9H@=hH z)q7apBS(QR`+pesf0GKatd9%nUQYlhk`}>z2Uk*H7Uzkc?W6$YHZdCa&bJg8NjRO) z4~BIByWjM3l$Oa%O1HTSM8!s zDL6>%-tkP80l4ub5s7+%KpOMXbK43V2>T~X#l+N-05>6uq$$YF6Y1XrUkh4VF2)d*L)y03VzcF zEq-CV|3c9pOcYT>@gGNgwH~aMFJ5L>=z;LId0jNMn*I0%&@H=?`oA$p;-u zbo|E?l7GY?gkw!VuH$nkNQ$ByvGkw<@M+yBClpCy3549Cvw8i%fakOTOHt&@32;kW zKq{jL9Uw=y=n^^=H3q=TP&}<;gAh`^x?|`;+l0GQLNMu(8mV;_f!+_zEXgYMgNBVO zb<48m^FM9VNS@2D#>3l1CYUhi4>8*@v4Q1Qn}5*Z?Gg=b&HF=tFocw4$ri$m`+;kr z+@e1?!^!C7cYML9lIoH_OlNb<2XfUzW5yr2z7qmeFuo#$iMZeo;&gb^YT|eR^PO;X zk0uk}2SR_ine_)T7~XrMsUD;Q1EKy9HvEu3gm)hJ!_AUEj2jO9p@mpt8~H;NE8`Dz XPZB&YN@Fgf00000NkvXXu0mjfel2oU delta 760 zcmVWlT<;jNLs7JskR#2=|WZ{z_*^L+BW?;DiwhvUKu>tC*C;#0uE z6F`gtLK>|A6j6`?9w%NXTbf!1*oa00`{i;PXw^<*k`lDtx6LNJqd-2EQltPtIHmx^ z0b;3~6m%RJXdiCjG?hy!hXE7l=E~5jZ5MKMLVOtzK&!!reH<@s?aXBDinkN&<}HJkhi4 z1c2NodgI>yo&Y@#C-eQmunwTL>$qXr4ryT>N;4xO*1$D%qX-F17|^PcY!YsLpl`WD zRg9k(5Fx*g8R49<&X(J0S#< z9;uO9XA$WARE?5cpnrbQuyCbrn&y1}mu2YjGx^Opyd7kK0oSwrh-DjC$8xJpXm~qB zMO*X!&>svTVVbguaN~a9m?*R85B6{pz5EUnj4G)v`NK4uBMit?v-*rbaDCecs9=0U z2orI^A4G<;Y^Kx1aRBojKe|Vg#Akr-4>z;^@bHm^_ugo#2Q^90K&U_X8-C0myz>3w qX2~DM8}|L7wd4MLrn}g&%D#6LYr4EuoE)qI)HcR$ipFr^R zHh-!OxHvfEgFwjn<@>&K6s1+G|E?YFm+#u;UL&Bn1)=wQjlhBHf8w9JLD0Qyw&=QU zPYJGl-_rX>X#;TVxo+&EEb7s#mj;KvHyy2jp{G$lX^OZQO(wJ1>`|xQVS|O{k;w>9 zjCwj58ryd`592rtDgfru!B0Sas{j~-Y3(DRZuU(5 z(@rsmI{?#WgY@iuf5X6!ASnU3k2r8U|Hx{K*O3XN22uvxaYVK#=bfi#gVaFCftUh; z%&7V^rSlC)9bt=QR;+^cl6nag2PX1FR2euzFLD#dHINfF7t4jrP&q{Saw3l;g^{KT zju4+lk-*ABjtc-Sxh;f{B_8lFB@k`^41v6^AS3Vw_(WvYH(Hf|v0lJRk=_^sdjwDlyA00000NkvXXu0mjf00z!3 delta 442 zcmV;r0Y(0(1hfQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t#0gXvSK~zY` z?U27p!%!5)Z@ai;FiM;pVoLBLF;GJn-y$t}fes;qvnh@jYz~t5s01emmpVuW36a1Q ze+%KBU%v0VhqP+-@70lixtB-#jeu+wgfi$i0*97`fA0ByZ`5qjv#dVxuU%JH2FGaw zaN<~2RRByt(+?1kwtJ@TS+|(O9e`%A zVS4_)W#EPomjK*{2_#1Tk<}Kjo(8lAQU-}>@@!eoyHC$5t$`o`s&ND|wd&7E_ZyI! z+~BLMcna2w>qnpxU_6g`m4PGlqBl`g136_2zFLY5DS;3_PQ{XhFjAAiAZ-8@p=ByE6Dqw7#nf)@a(fDro; k0gxnK6eU`<`ZE#o1^BJs`!wG^8~^|S07*qoM6N<$f&?+Y2LJ#7 diff --git a/graphics/pokemon/nincada/icon.png b/graphics/pokemon/nincada/icon.png index 4247b280f024ac42cc38de571e6429b24ce27ea2..23b118047a5965e7623d533b0d0e3692b76195c8 100644 GIT binary patch delta 276 zcmV+v0qg$A0_y^hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3N9e%{NS+w z007QOL_t(I%k9!T4udcZ24HgmQb6k13fMv59nQkik-IRmz}aXf7I0x=A>|RCYnMu` zxBPKpS^5Beur46P{;Wi`jr&B2(Kj{P0#+D!jodA0(K8?VeSf_dh^T9(zr5)(+v0&` z7@=%PGe3xf%50G2j}>~6lL}_fEiB{wrk5!}Bj@xX<8_x1b7Y{pz^N|?#4?89Nosyr zj)6+>ukQlG#0gB7AHfVhMljU|rkKE_uN6!(f++_ut!(K>Fb5wan7xk~%-+WYhE8BU as5kU_X5>J{}c8V1Ls|L_t(IjqTF04uUWc2H@ibs6gVV0d|Poj?cp4$h$DIz_Vc| z7C3ccp;9PN+>CB|TmN2rY4ZX6VC_H%eQhMIk9uOH7`Ya$0jnI`C*c}A@Z?_XxnTa(!V1n0c4?gx+|``^%y`>n!~zwV zA#my|0x^#vxRP0J9>>5W_}5qKV=zp-fa%IDn8Akx)2v{s5lnttz+@6kJ%D+rmR^F{ q_>f?99}^he#|UQYgT4D3dOZR3dS>LfU&3Jk0000c!K;<^4*q7UXB+Hk?+5QaVLjF%Pqw&ln zNq(v^_J2LqlI8D?l5mz%idEw1g>(x*?pO3o>n|yo*QM-M0kU5Ke^_y00-)j`|pYH&ZQ+rE^;Gg^xxzW0FS)yYi)M^zR5{q`T#LgQ{#JaPkgr&w#4M9C+N8 z5fr^*3lUH{{9afde*qNMG-I7$R7|8@9JL1tIK~`GN&&B;C3hBv(|EScJOTjg4=}D6 zp1aXP*ZJhYeYm^7F&;@noueioI4B+Y&nQPrS>TSk?j|4)z$eaI-A7L<@~ux(BrsML2;y!WsgeL zy8(diBRskg;PPkBsM?`anafWDa1Ra+f4}izQFJ>1*~v#pG28_w0Hstdirx-Dk`aor z6*(2*@*Ta0e!4=#g;Q#EVP1jqnlKyxWa*#-7Gzjwf}@WXB2U;`XEcg`<^@4&)9!6)TY{KLp-XT!C06-015I zV1^Y~X>%B7oAWu~i7KoQ^8(Cvl+|1f!|wqecS5lKEo`i5bo&lCaQdOJ$ukfmVEN!{ d`-A?4{{gk=6l*cpisJwP002ovPDHLkV1gjBJJMg1*xFOA6+7DNl<4*{=XBxG(|G z%^Md?p93JHi+-xEd#2TYOovU%v1U;CECQ?^@A~O(n#B}SmH>t{*3Q~NAL7(Z3=V9T z-(~nPAfk1(du?c^59@sK9`ODoq!eTZhqdNDw_lxy@T5` zpc*j+9=CY}MNb5B0xF09OUo00!kTud6O4+9w9A9`AOVMzLq#cn;3+$DXJI&vciT=Q z0I>c5Zqspq8QtM^HHrx(7rk^eOvr0l)|M z2}s$aQq493(0zn|$0-E3{Mj+8b|}@#6~_qNgMX7QrP}2`dj6kj8`r*{Hsi(1-(@C8&*>VD6mVWhc9IbV7Ah+nLREb>qA@HWs z3dAbmMqgh56IWoZ&3>3|&ZmGU>aae{3ozMHR&y1H-vd1Dgkb&ISkvn69kA#0M`^QX lAVt9P!Ot!l`ze-X{{Xe<6lqsU5#K zMQ9k1%-=ot@Ltjs;zc7G|7D)kv&@J{GqX2-k`a&b{&;!;5dGiFe<6Pz?7riU8Cr2J+w!kPvGCfP0Dnu)Y%;fE?#& z*M}k5qjR(<7n>S5cZo7;R5&RVCC;z#5XJ3KLQ)?lQ#b+3XYq9K>BGoX@%0vIj^XTp@|QhFD){hdM=yjt4*{XQwTY4xK== zm5h6jq*J<@f7$bbvauLiA#su>TR<}7Z6n7bxb6YWMRu|Qex7D6u-R~UjnZxv8gEzM z@vsA=q`A^KS`56w8n(7QcRP!8nxP7sg_1WMakve{I5C&l4rwZTK$0IeeONCUh}|4S zfte0C@&i$$-4KrF2E--d)FfF4^gFI@ZgdN11Avc}e*s_^XgGnW^WYbBF^!MWb3Q*% zp&k&G&%;k}p`At&FcdT3%K<>Q?));=49r^@wu(tUT4J#2ac0Ea$QS^u7BFz{$^i&4 zZ(J_ss3J51e2?0bSvCXk%`nS=gHoUkH2s4J%6tIw5Jd?XSR0TgtQZjC0IaHdy%0er zDZjz*e>aAGJ&3ReM9G%0Im!XxU`|mFF5Mb$0P5uixX-x)!{DD7@PB~2b-w*K7_@Ie z2L#Zo)(=nIDM8&h1Of=0%bx~*19*L(@41yi-`pXCub%;+9MoU;U5s_t9k);58STO2 i*T3BDE*CE!{{h7rHkHcy7=Hi&002ovPDHLk0$_sr(3%DS delta 910 zcmV;919ANC2lNM!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um15HUpK~zY` zm6OeG+d2@1>5a6t=sLGs4gn=wiHIH`b%17hn=(Lmikvb+R&I)030b;;Ok{h}Mb`yV zz)#sT`l%f^PLVMTNSbfX91cnGvWUii$&-4P84(#~_SR2Q;u!C*rxyUxpI$~$52)^0 z?GPg=Wluzr?7{7j^h(ix;~4J%(-SGvXMuN88q+5;w+oDSTDzq%jNM0qD0x0oGXZG?^mL#HcL?S_8q(_ zdkzOghaORRzZd}3O);bCIccc0fN#px&|!K44bpILqXr_&k9K_s$sV1fMY-6_z`09|(O|-Hp(u8Kg(trS7>apBQ|CTj@V1uzmg25MC2ol= z#A%wE#9DiC^qH$~sa&x_=&L2SRR>yQRMx(?<$o!vS%oFwXNfhc=>;DKJ#B$=R1-Dc zEf{bf0#o~MyMn2I{btJ*0RIm%;u=6B+*hfr?S`4mzS#?3!GrUi$FLEjNurKVyOSE7 z&8&5B=;(C|gix4}Qo8G)le5_=2sqH)PB@?QX3HKRb8v+w_8MaSpdIEEDLNhi8K0fD zKr-wEHd{&EdnA+4)y$q3l#a!)6%sdTvIWF5J~nbJg6kfCKrXVA4eOA-XU8M2L z%$)BJRHz4kMCJ4F6I>W)&;$%=27EaH*sVLi)P{k1E5lZil z_pTg(0Qt=2VvZ?7Bf$Tty_sb*0ADj^8E{YvOa@K=Ac8U+W5CkFg);BK9Z ztq9t;paTNvRqF@wX9RWQPzWG!E`J*M3E=hpQ%R1{H+SgZ>t_Hc2lbadc?_p5b^8RK k(e8o$+I_fOyflRP1;rUQm6Z%xG5`Po07*qoM6N<$g242dZU6uP diff --git a/graphics/pokemon/ninetales/alolan/icon.png b/graphics/pokemon/ninetales/alolan/icon.png index 71ac99d5a723e34befc7fd7f47c9d787b9bde132..8bfa8fe2717d27019f5bfdf7fdd161dc701d5bf9 100644 GIT binary patch delta 446 zcmV;v0YU!R1d#-gB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD~F%ScP z-h%)D0dz@3K~y-))sst(gdh-xy+IwObSn#GYcH_2cz9rIlVESHDZp3H1tw!+h=1z& z^Vu|i`#}8qj7@q93<^{^s|vV@z;f0wNQiOw7!#@zkX-wMVZg<4f6drX#|;q&Ra*ge zmP2O{TTVF#3^^Z&2+?85`HXE52z#zYySATZ($p<=tYkE<^Gq}^z@=!bP47j}CgmbY zx=?HVsM#P(o1G>psco<^shk7Ml1{YZa#{c)gxMlq4tz)lOW_vwnf!!-E&*0MI&{nJ z=VVvxG4d&Ferb|Qe@a~u;VmY^U9=Ia#AW`z7;gT>6YHesz5-0%MP79Q(Ffa%n5_bXjLII2_7cin z)G-P$S(r)XK@MQTI4++8zzqyTA?N@`J6vQ-zJLk8fbp)UG$$~2!k)f>ap=trjPM~1 o9>546;@|_A%*Qt{^}j6{KM!l~KtFPQ$N&HU07*qoM6N<$f|)?L1ONa4 delta 516 zcmV+f0{i`u1la_TBv%J?Nliru;|mWJHy3)2rlSA=02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00DhTL_t(|oXwNFj)fo)hIxZ|n9)`WrF9FO79JjGJtTNq*#W$r zO}5@OF~mP}{rME)Zy$&spHZZzkU@g1XHx+;7BZhL3=(48J;sEx1|-*g!8oFIxn*pq z;)aN$Y^?x$lS8i&yPQf6XmUOf5u(GIfAgNYDi992745rWUPw`I+gM2}T$hDtv5;%g zPU*q3pmZul5_h4__(^4rncM6%b4g`_iAk0m$eGiLRi zS1ZcEOhGNAkDDsM_@ERc(8j316k#D*204HU(`4TjfE$<$m7oI{<T0u8Wq;WHQm;vMglj7e)X2^X=n}Ej<=|V_O2vkv)G& z;e+hgqvZ)et?BEcwcZn?096k3wDe;~5tAup`<1^ct+%1(wORsx`&`u zNH$YL*Q0k)ukyudFpdYW`115+xhX$OFe1Xrc{-r|7u0P8)3 zNggE*KpuK5DOEvG>wF5L!vZOft)hdHpd5yfim!uqF&e5CDYHzmW*Ac;zfyn2i>@+J znax;$V+GAFO5;5w{IL}9kZ<0YKe_o?1dr6G%7;M$(Aw8o5Znep ze~=sRA(JezWTtC`V>gI#JlTI$Nlrx~L*5H z=UQ+Z1y)nn4foT!Xd!4zMHkF+4yu%07_%1Kq^4?}t1%x8+Ggb;DdxAt?gvD-=wlb` zx?B6h_diFw;p?$*AbZn@L_WWBoW5Ud1O))~hhLt5dj&t`YKN$kRnr#F=WHi|TTP#? zh{WyrEV{1qb}PEq>GXf&(^n8n+}`XG&#A(?Zg;kczuryNCi<^D^2C<#_^(g!0O(R4 zj(^4jt*8{6V?2<)gB+}9Jn*fs+2@CNyePKO`}{zoAq+C#n|Amiodibj@k31is`T!= z81;}>eh_l7D(%TP(skJ3he#0~q<;GM1McuczyqpO$ge%_@dJMkcXT}t)bRTqe$Y7$ zcjH9Klc=z;4nK&-;{gquBYv3h;FupK zJUHeDj|V6GFyVi}5kE|LaL5l69-Q*S0uNsKVZsA-#t)1Khx{<%!684)cyPoIGaelB zgU5sXm>)(wIN^tY2WR{c@Zgvq;-V|v2|vWl?(T#icqP@zAwR?^xZ9&Y=7$)vo9xPC zeh}7)gev=(A37S#%^QA@LcQS!A>Z&r^o}1Wl2d-TFpedi@dF9Y`GLge{J?Jh$NcaQ XC&&X3uK=Ns00000NkvXXu0mjf$4fub delta 1271 zcmVi2ekG)>iR`J^+u>2;whG6oG>y@%0H70znP^Xc{D5hU8!03;+*2y|cm_rk4Yd z_p~vvBTr#nEev^o9SZ>P++8Wo_$vkiKo$Z(VD=HPJ}_fX0C2&eJz3zyPJu-FC=^Q} zJjnYAfx!;e*qx(ccrlx$mooU96^O!-1U{UL9V)+ld^mxGLzO_nzg^wZDf z0h0g%&yqGHARUCxD31a3A&{&gU|W9Ll?s6|*w+cG8?DQNP8?F;oxmp|@O*H>=Tk}a z$bQNo+X5J&(sZj~ww|!QM+x-9&fo-^i#C}9gW)p*DE~?#_}j%$hsgvHLLq>aeVOHy zEd@z3#}BK2DFXmFg<#2GY-VCc(C|xT^XlXur2%MWB0Iv204!GO2w2B)bR3N12v`W< zC=5y9!|3o+0*(VR7E@*d9FKWmMC~Xm(HNL>E(n`M=vI+&ly!^)UPI`MFx3%69#7?! zdjc<|;E9MBDFXoP_B3{QsUo^wJj7(ENx)$evA=$QNN3;poSn;}wj}s%Ba8E+Z<0qn z$Dj;N`p_(3xPya}1j1 z*90XC`ac~259Nr5bzqB03H(T?jdCBJR??J!6s+$fNP>0`;R*ru1a|R+j)8}jm;}0@ zV)r(G*(=vrL)&7xBtT7@m%&LLw9`_5n_Z+M0$mT2?NdUphxi0<1loiFKcx-$a!Snc zvJelufObuY`@!?643(m^7kE8jrJ{oo1ips{0bME)9lU=j0g|^C z|Ij~N!Ly;klQu|JppIzaNwO}X=(#P|dWJWD@jvZvw!8Wts(!ygV5JL68QfhEA^(ef z-^54hZRPtOKB{kpOJ&&c4?3Z&RX2+Antu@Z(|r@0$8Q6Hf#9ge!uS3`xxPsj-F7IK zMso!g`~yAB^o2^`SXc3#_&hG9x18%P|COMscT*{=;yvYm9Oow9c_g^-4~qEa)coUdrl7H|p z^?#E8jc#A@4^;i9{CAy_1WW$GqnH1G`~E>M|L^z*(fFQ!Fv$N+|Dcoq+y22I|8M&T zbNRpEA9V5`&jjoKL6QI4{=p#scm0D={_pw+qx|3X4;uMjV%+i%PV&Dp?Dz*K`JW6s z{y{7MORpXO09B!2h~0hvp!~U$|I7YCt`2Og;Ie;Uml)O&Krt~&JZt^|>NX@+tLMmf z`~xyIuG-fY^$q{PG?@{+=O3URQg8VOCY;~#4??=%_YWc;cl`q=c*8%42=4m_C4k%h hL1p^!5B?|r;14Y7JdLNX2D$(M002ovPDHLkV1lwyXaWEL diff --git a/graphics/pokemon/ninetales/back.png b/graphics/pokemon/ninetales/back.png index 507b278595de19b3022c4a89ad58e6975e923fef..f1031e7208ea3c360c3f05b0f5118969539a09eb 100644 GIT binary patch delta 561 zcmV-10?z&P1o;Gz7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MRI@)i88A0005pNklC@5KgufM49J9qY9&LmoVMlIq>yTtp;es?e_Ft8nF=Wj$J96!LM3fQV~k) zbYPjrrN%12aVxtLpi>Na0<>4nx>hxSG&SqGmwO;Mmk}@vpy~!R&T=esY7~E)GQd1f zr*1P0!9xsDJG^m}YPSx9%mC805vY&8uY_RcP|XN(@F|EDFm9Sb>AdsH$TCPfVTt61 zxem+O=3zE)tAWLUzR@#21I&fDVthF+xlpz29vERZVSo~~a|}}EKp;%Gb8%QQz{%|O zljb1+GEHe%ZTB8{N_rsnKpGua@OXRwL*LqO#gqO;Y%iUm00000NkvXXu0mjf+|BlI delta 556 zcmV+{0@MBZ1oQ-u7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005wNkl}zvjLFV?kLyiYPGEh zHy6ghX{4kt2GG~x48We}HQ${!g|u}OT>waHW-r5C=JNyZV1gF91jC`FCoo&@fTyY7!PMxYq2>g$2L}1oA7F^P z7>ucB2NPmo#=}DdL&n6CCWBEFYS-Berj0&~^BK(U18oV$7GQQCO95tR3NW?dKZA)r jN-)t!38o@?0h8A^iXk<1AZa-k00000NkvXXu0mjfBmS;R delta 359 zcmV-t0hs>V1HA)~Uw;8eNkl{0lSa6 zl1rW@(XlaT?>$p2mQV$&vl?v2=NLdIk3g%`BlG{KnEI?IXBbyoz+G??S>0$V7r1{h@n>J5Z^Otwkmhd zAhgo>**?w!;s*1Wzn%^j?Tkxt(72HQx_$$OF4qPRFs|iiSp>sWlP3i*dv6s>r+$E` zzWGo&d)AK#$pj2ZLJsl03tMk?1Ph#j88OG~S1{vEu*} zd_cO}48{~-f{(QTGt>o`O0%EAcpoJg@1q1m5MRJt>l=z8HFc(oh1UQ8002ovPDHLk FV1hzDrwaf8 diff --git a/graphics/pokemon/ninjask/anim_front.png b/graphics/pokemon/ninjask/anim_front.png index bca98030c0ae8965066454c189f6e67c01d30492..d53bbbe836cffecf0706ae4fe6d86c100363d4a7 100644 GIT binary patch delta 1061 zcmV+=1ls$@2=xe%Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MRMcltT$> z000BnNklKWN-m9LHsI9WH~h@-89RP^Yp76GMXhY%GEcI_ISr2cL(FZY{xg z3Z0ucvwbN%8iTOpG5Q^)wzzPdzJx(&52!qT3YRw(JG@R8 zodj^pI;Hd2t_yp`O@JCiP+SQ6wTfGfZ@$@tJAwePn>tH$uf(rpa3JC$mdb{;ylAH4It{Z>nSeoHiZ%dJYEe)9EM;D32Ys;JC)>+VK z0MIe7A!(ajx1tqsv~c@(=)s(dGO(0>;|^ta~2& zv&L8opcH04bv{ja=lWFGiAn<4jbsO7b2}YYx)rp-Fe|pNXTU*P0Xa>ay z0u&1+o5_9F#!mHu$Wzp5+zyK;C0qH;PxSc7ihmKV7)HDJqM-c8bFY#oxs@4Ky1h}H z{6ht{d%#O@z&1LQuapoUlL%UFwgY``cW$V_SP#%xw00E!#dHLt zOn(8pBLR7r;vm8<&y)P)O(YLsb}zaJa7`o+z`^xr2-rmOKn#C*YQ{O351$EzrjoMS=V54TlFpMp)LcaP!njbYI{FX)64)u zImCD<1Nj;;4;qPnfXQqLeNsihrZti32Y&z{K*d!6dNM8)z4;$TCRX(WtVHc}|%lbhDF6)N~Md+s=kb{2uK^`0G fhoOG>|E_-lxk~>l5zX^)00000NkvXXu0mjf-Q?;? delta 1014 zcmVa|0$pq#Izhg3-F zQ%a@j5HG7plM`pP&TSMP3U&}W3+)t|g4Chdv7O}HG98{E1P6r^B||39-@AW#?V-f?U`;X!A zf}+FcWX6gByQmRzRn|4Gm+T0rKm{cQ*Uyyfa(Fng0w*j1pc@*QU5x>&NXVK941msC zB#$D%eo`cc*aRkKs7FJfLAzpL5g3T|cnIhc5}XqN4Ecm10N}@JrwL4Wf@jGPP{XS7 zF;2zD3_qBR%zt(O8|J{ z(5uw|sPE>+3D$6W&r#?>9_*1dio^o? zaQPzubDrnby#>a`0{wynu#&ZOL~nd(P!PNfw9Lj#K zd-(tg+Wu| z3xM~XN8hK~nhGfJXLU?9^2Y!tKmDx&2k77Re)QvCM33FBi~lDx={oA@INpgdV4UjG zWq=rxo&ntwfI*wcMYt~RlfnBdl0AUkJ!4CNZAkV25}bV^0V|R{;LBg!nqd!y0ANB= z|9_J7@X*955G7EixQFpoIe|0<+62cT0ERjRdIcXP0IcpR{H@9vsv=-;HzDm+wE2J- zMhalUpvD~$7_4ApyB7He*vuyPCuIp(F-H>r000yy*$P0eCH`TY7ck@=5xTpV`iIcs z;8_K@GLrfSZXYyd2w2|FQ~z*-RAJ6(Id4Hm^bZ7MRfi0Me*k}Bo<<5F`iI*Gd%>ix zq>%gr8)NF~Mv{Nv{z3&5|8ON}D}dx5mfMr6eNg?whU^Ydmw!-!ZvPNS6?*vxDM2s) kASLMghwkY6hyOW#1G!57D-P6gQ~&?~07*qoM6N<$f|!%vhX4Qo diff --git a/graphics/pokemon/ninjask/back.png b/graphics/pokemon/ninjask/back.png index 30b7b2b6e4180729bc138af5267b325d7ac6019f..c4ed360b04d8e994ebf9f830fdbbb009d4f5034a 100644 GIT binary patch delta 623 zcmV-#0+9XT1=R(RB#}W-e*gz`Nliru=LQD~G%!VG3Jw4O0ys%TK~zY`?UTW3+dvS8 zW$-BngIGdz@<9&}5RL$3u>d=3WdZ0y4lXr3XZh89u1g-=Dj2?``M>dM4dZ$JuM5@V=(4eX6uCigfA?|I2z-emfQ#4P z?wSDiK8lFwzA2+k#cBk+BnX0#0c=X(A|(OQ=52jKSR^2AdVf_Qk6zWb2x*OkE>TRM zYBj?(VuHv)-uF7-kr3S&Rf{C90rCq5JO+>`-`3ROhE$C^Bq(pwKkFa}Jr+bSkx~wR zBTN9NA0qn`hMz6De}tz*3&1q{;ac@T8d*z#r-X1!5dAP_#n?@(g#r$V76`$>Pc;G$ zA{Qnv0o}cU1Hys9dkusiq_luHz~CUk0S9h*PBrPsVnF@ir27PJ0S`C&q+)5wg$5wq z&8QUMVO0VP26RSum!K8oicixe94+Kh97?o6D|F=w?b94_epsdBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y;@VK~zY` z?UTW3+dvS8W$-BngApM*`Je{~h)GbJ_mz!Huhl&G|!MyLyM^1 z!l$C%1O<@+flLX3>KQt_(%MQZ_1r=hEU@R>`M>dMjpy~>E|ia>%f|XqsmrID2q{V7XiC-ZlXsRs5`qymuw`q#YwTmnD*h2OtY zz=)4xH;E0SlV@+P!JnQlSfb<4{MlUH)%HaG*XmAnW{VSlI$KoUs^|5uFT?l+{Odae TM8_-}00000NkvXXu0mjf#ik(k diff --git a/graphics/pokemon/ninjask/icon.png b/graphics/pokemon/ninjask/icon.png index 1e4e23a039ae741f35a3f59e8ac5920a7bfeb7ed..3d8f9fa57a4a88d0757b7633e205a5b1b6a2c353 100644 GIT binary patch delta 282 zcmV+#0pO{3N7L$(v z007iUL_t(I%iWT(4uUWchWiE=R|k!CCQV>7Av`Awi6dQj6<>gm=!63_WrCrZacK_3m*RH)|j^scEMQEqYm$Ceya3-qLY}rqOPSg2A+=fgAk( zLR!>|b%+Zrwi|Z-{$T$SZ~TUn4+0N>FKeFm=U}uyo^4^Dp^K8aee6SL+uFy+_H7Gi gU-G(5R|k!CCQV>7F?=TriDSF)EB*i> z(Fq42WrCrnV6UNF)J<;d>)qvguZ*oMAOwB)0l+x~aR6}6KqL(5t?L*jE)S$>Q%HD8 zU{La2K+FXtJW#1j^QaDG=e7b&HA>8DO)d0pi+DDfX>o0Z7K18ElWXd!_i))@ z(`YwE!O*m(K{xp82DGTX=KvSDJhSl-zTdxJbA0g|t|5p5fZVTn+h2mo{^}jpYM?uTB;a)b0000?R5pq*Y51|AKomqd$ zNlD%t(L*ntqu*!WkKO0_enrT?Ilr!nZ`SSco4Fm>Y;@}HS%F@c zHe&~LEeP18bX7qENe>2=e{NCQf`R&Ntp-%XwBRtNN1(5|eG~8_DZ`$r^#Kf|QlD|_ zRWon)P}k3E!T?hMaA+X2Kxg0`umyiY1~hGHfN|adUnD8%>5im4u;o<}Z?zZ`8 z_*3;nVnCY3SuFT-c^_F?XPl;U`mU7Q2vCwDn*1W=Xo~H9-+XO3QXvL}&x?O}!g@## zFXTdw+-=5c2v97PoG}lnarpiU@R1r}5g#Y}jDd4(yhsdipK0I#2E>>dz_$P*8JiYZ zhyd9w05(wyLn%@VK*CIhkqwxoGLzX7=pjHcX2{t74g{1F$yR_517TlJA!aPuhcl2_ zKTNg^;KLboib_%u2Q2iw8oYm1%4Kf2&Ad|#D1GL-75Bocogx4!_g&XL&?PTmF?Fhmiye4rylPh@B~PhS4DOZ%AX9It!Af*iqhrN&x1~LPO%YnimTvwR~&z%|K6nhZT|9_ zd~E>~x%{1!r#5j^bT51f6aEN~JQt><@tgnF@ zn!pK7Sl}J<0j&$mh;60yTQWRB_mKf4`VykAmOzF9ALic;8jM94;EdX_88VWXB#n8j zU!*{ri0*wk5!$C{Q9*x1?-L<{cB23m(9T368=RjVMKWV|DFwZ;)2S)vUrciq@HR>+}{5p+2(8{I}Se-YtJt!Vju=;IOd6)O_d-6_|^N?F^(!Y$q zz<%MF5w1MrADTfppw7D5KY+jER>VVP{DTEh=TDD!&#o=^{pFu8ugec@=3uJ*gWVzg b2max2^&70NJS9RX00000NkvXXu0mjfF~SFX delta 1076 zcmV-41k3xF3HJz)7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1NBKnK~!jg?V0Ir zJ`WG1VP`@*v`Z2(10HkgP zMmwPy04P#`crp`zIRIGBLZ1O6M0>gsz-7Q%jH)vL=A1nSmIajntsMYa%Aq#`>oar% zQlkx!He_pauE^E&9s~72)j!H*fL8nfpvQm!HWYn@Ru~)x7;tPDr1|T*6Xqc00W38W z4_&}@+g6IXx&csS=u1G_j>ruu#R=f~0~zHbgIHxUxb$p)p&%A4@=^rV`wXZBM4pDV zhBBjPLb%>$mecr(-U_hZ z7$1pv=oo$&a1aE*^Qf)s)b(xviVwUDjCX(9tT1Q41sV0qRT-ifKrqYrO-p5 z5CHgtvL3M33s{hJLkSEa6{8a%V-XsI?D^;fbcD=7HNnH++GM#Rk;*X|f`5=>Vd3I) zfy{>mMM>6_F~lL_%pcy|ctp81QP<`;xI!O0t3|GVCoHzG*!I8!A@!r4)?FP?KcJ`t zhqMOZ=j|-xgPI(5_%o(^dSHD*5m(nK^X6gQ8L%fl?B(6PKdXs@@K{Al#}q(%j4Af} z1Ymim{9k{*YOU|ol40iMdL1z9p!U?6V8#NR@-)>5yotfPB0u#rOTq&XC!WuyPw~Xl zc{#>^*+-k6*R-C(C&o{*|m38=q)J_WtIlRm9K*V;B zldj9Hp9z(FZ(H%a!*IQn+Hq`QU03)3489qEY9aG~)6>H6i=`H-$ijyO7oh~s|K~lD z)u0}ZKKvp0lwFS&-j$%|J750S_+M%Ws@J&WivOm6liu&~e=fa$W55}{AMt-Oz1wRz zpWeU5|MB$xHvTWK<3If-{(IBA#{b#${!RRMrT2UMpG)sw;=en+-{SvddVj?Kne={t z#s7PH_bg3U{J*95;pE#|(HJ}ldwP!=#(fB##67+1JLY&XTl`lV8N?BQmmdEwOXJ!m z*Ze(qP&`zg0i9niocg_AKRCbMXw@zd?EWCl07y3Wc7Ndbj_TooA?N+U3_vds?EYZx u`oJy_^!|X|%mIkn{lSY%fPdls;1}o443@E0Tb(rKWNlEMq+6r)jFVA=jVn{v)--K5 ze`NncW8Cyz!OFq)5eMU&An)V7cN_;}{}XmVr_b#(8k~Y4OMlqnUeF~%vFH;e074=B z8{+xSLWus=4lx4erF5j`C*bY5$tL}bnqL=^7VS1 zxAgabK==VWQGaR9d6ICqu*!Yk?*~?vUqwrQk^6n=2eVwBdpc<0_H^@k&Ko+wso%6b z_ex+kOg4jUDX;Yc+|_`k0N0~Y1iS+56~RdBaa;wqkH<7%Ruy1la!8Eg3|{eDcYX^- zrQ@Ox;Z^~!eBhjl4tj|r)0uVl=mLz**ZG$zBSjlvV0;9V>8i^v0DPMM9}c8*9w6vN zrUKoxLyTa#ESIRoDR4o>;K9(L&A&&u7{Gf84B&Cy;Ry_2lFf)9GOi;7s)GW(B5>jq zc$hpe0{8)H42U*>coUdHx{3)d5=;OS%?w1FK$ir67GELXs8+fU=^g+8002ovPDHLk FV1j|G>Vp6P delta 470 zcmV;{0V)321giv)Uw;9%Nkl~vb69#kMlbV!1t}d6@LwEGhEK?fLw9I49Gkm z7=Uy=`V7aH@9$Xy-5>@o_$#bgAqIX1uz&&ncJJS&Sf4AgX7)B5wq^kW=S1YwC~6=m zOMvz8Ka%E^N`&Tr%fv?KvX04i5a1vCfLRWOrgbn?Jq=hY5~lLv?fY6?(y zs46)r{uZb!s7sXcfHpy$p*N6QoEmactlJw9vfAY@3nSQxHo(LP=8Jer834XUrX?WR zvx#8XH#Ha}6UGQO8@)wgoPZLDn&_YiZMt3IasnS3m`}jtZo(57z&za%LEm_e6o?4| z3{_AZC!mU9(+J=Ph&4d{5?e6d2NsZ=VvdId6TqO6g8n`*u!29UZz12PR;?o>kN^Mx M07*qoM6N<$f~*SEIRF3v diff --git a/graphics/pokemon/noctowl/icon.png b/graphics/pokemon/noctowl/icon.png index 764d6ecc0ffb3b23e8e172d13fe1610f7363ac58..2aa500da71c8b2a7cd2227d21e461da342c8c1d0 100644 GIT binary patch delta 284 zcmV+%0ptG80`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3OEx>v@~!4 z007oWL_t(I%jJ@>4Z<)GMYDm$0?7s`sF~*~WOta#DJio9NVIIi4iS=*DmF%PQXn4z zikvM50CDBh+4{Qwvh0h7F&l$nOu^P>79(J=sv@AdjDS*HDu411ld6@P05@!9?Zpgk zCs~g`!4dZZ1#ERWv|tEWpO-DrwD+;!2nrYgTnhp`01t)&two-bH{l5uG&|=LAO~Vz5H*?KMF&e^r;_jVNBvjQ_${t7jk1GKd>Rf iy!;4gV?Xe70~HS?insOmEZzJ70000p&c delta 246 zcmVgn@&Yq`}X*bIRqa%0F#MPU4 z2Vw$D6l+o#OrL;5|8fG2Z~XG!>z~&zioU2A>q9V%YmoI(PXW+W6alD(3P7F*Vr8-0&m7SeO{3ONfw!<}aU00VtVL_t(o!|j$aZ`(K&fN5~i zcs62m>0-u#ZzRIVHc%~g88m~3OXLS>$Yy}J!P6N69rOkPt{@HFibE0f7u@XWuFDnb z89AJORG$<#acfduJA{A@%kT3eMLqL-ggg!FX#8aSy7};_Wq$@9zHTrJ(Aj2c*#IW0 zIO~kL8IUE>VBNMEXt47!0QyT!6?6iaNOKF;;)rNCuwVr8^ zRzRL#cD0@!*#JHHH0tPR^7-hcaSbPWQXnvW{z;mFPB1BsWH7}y%SJV)#i)sZIRPP5 z9yJ54BRS%hGJg;wT@Jymg_2gl(i(TFxQ^ml;8yF*Hb)xh;O66dtvU7f89~XQ7oEKR za~=7F&SrZ+f5YA06?-k#FeJpwv+sdb!A}`uH}BS6VudG*U_m-UKU08X4GV;8$QFfK2a^jvCyQ24}^IDgy4eoY|GsuY>Xi;YslG9lYZ zAq1fn@v@I$HLq~SIzkK=JJo`5PWx(BC{6_e9ef;AJl^RU#&N^@Ltj)^$9%8gs$aZ? zzT(@f?|&a>`6`lYTm!$qGK~JFz(p#1QC4@M=5~Op`9{t2ngh_wMN#k?z>Ujos~Jv6 zs9y(Atd^v13L0Xy)TN+40<|ezL0q?X4vty)0UL-XAwJ3dN$x+C+}o4S&9<(Q`)JhG zwQ@guR;qVlm;2V;@d5ekuok#^ua_&^43UoXhkw6t6}IE)H+>cS{b2yMMbfK?_0}(3 z-?mDMn(N)ZaD!zHaQ*)p>{GBY`~AN^zgyf=C z>x|?qJg-nQ`&pj)bClu?LT-B&TqxyjQtVPJ3Cad55ovj^hWIMtL=6A+)vws;z3F}v+5l4<0H^G*gZWcos?lo0F|=Aw6bLIIj!(NvP4{eontU2{R6O~- z_uM#!12riTnEv`nn1N0>DfdJ;#V^Z3HK*mMiGW#v5GwYXp;ECJnFR>pBc+4e@`Pj+ zu(al#DzDD!0|hLKR+oe6N&C{auDrGU&wzul`ua0imbo@rscfC8S8L9T-?lq z>by()a#l*0as)cK9hBeB^a%5~;Qe91tGoUC+eJn7k4xxFcYAk#JN2hb&v6Xyw>v}h zHzf{I+J6saH48bn160m8a$Z>T`k?T#vHvzTC9Nw#BRnm25;Q=d zR>I@N^J;6js8R>$sGa9y{AlrL?mvOKwn%+iI1i)Vt|$XMeCvU!=+EH0EP6t>sd+%HI9Vte3U$NBD#(FlC(pi1r+vmyrr0I(=riq?&Y zGMxzz7HHcEUi61Hpt5!+ppG&f8j65+ZM1e9pb~U#ZU1I~cwvIBt?eJ%OVfTLpj{j7 z-vUqsNM--^fR2X&^RqR$1Z-b)J|`=-eL`hU-M z>M-`_Ql|i2TnyCX^W6Ren22A19W=p9aRRVM1O_l|%cEzc2^gG?e*zF|#SdTw7Ew;q z@Z99A_!h9l#e>+0eA(dCe4RB*Juw8F(U={rA0W`5QgON4ywQd@+x-(zcTHMS=1QbPss&Um9I+kv??-2kwa)+m002ovPDHLkV1fnS!OH*u delta 457 zcmV;)0XF`o1hNE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0gFjQK~zY` z<(08+!Y~kqjXYNhv@d|$2SBxv7|f8wZxC7VB9%H;iYjI3TX{88g}Rh?>Df+ND&GZK zMs7m($N$~MCa}MkJO!x5#Xvp2&&@x8N%0FXSrfc0P5|bJzyPL9dGr}+0v4yE0K}T& z2QUQ|QBLFXO{3OYHWIiDl| z008hwL_t(I%jJ_nYQ!)MMSTO^vYSG4p}C1fwJ!R^x9FyY@hVUxP&0)YE7^2is#Wxm zZCQS4?au{`Q|{xG^JrOsi&AO@rp^VB7{f*dEFT4AOSjLtf`2s8VH3Ctz&clW2&2!O zI9M(y;90p}uI0?l1HeeS_r8Bc&%Sz}Ma%Y6^Z@bx5|CcD(MaocB1!sm8rjJ9kK%mU zgA2EOccDr}Y$N@sLoyfOV8PKSUZwakDCM;X2~$1nZVOk~7WiXXY$irPV4!_kkB(}=d^mw)aN-*`R2OZ172#{d8T07*qo IM6N<$g03HsjQ{`u delta 273 zcmV+s0q*{d1Ly*fV1M&TL_t(IjpdWUX#_D0MW+LGnM)wk&~_pbor6B(E^Dxi47^7p2r{m^v4O#2D7A!SYdzT+;1x>>y1v z*f3lLU>!R=gwcj34wegw@vPh~*HUx$0ML`}y&tP+**0$@X@A{+k{(99zXYU}V>HrQ zok)^CokrGk`A2cS?8L%NA1qX;h^?p3I3#m194wfL;!O%4ol;&4K%RlXID*&#v?4c-lqbbkN`bV*G`2j>O{3Og~i`6gEY00u!xL_t(o!`+uLXd71;$DhuF zDOoK0xrAgnzdOaQ9V_^qptIh6(7|+&%DW6*?1DVIT_OxE*cozoN=Ab*SWAqiU>Z7@ zTRPRCy5tCSFdCB0U^Hb71Iy96|X8bUj@2}#Z#7@$Fr-kt_L(gZX#mq+XEF07y0)_JPQS$gOgaotw^$i7{i(D7I&S&@Qsb z-R!z}JIcM2tK;7Zs30&KB0xWUE{dc0GpKS8w_7^_DykVC8sLD>t;OBPpYdiB&?8_5 z5I74ld;;9N?ut*Tg2`b<&43D1Amnooqw6|IfukqA-hW4mpd47~1N$&HA9q2mv@Uzc zM`a2jD#}lRCIZ#sJYK=d;p5KbWrqL@5Woln0J!U}gyOby)%i#fT&TD?Kpd=y-qBU( z#4XM-0e!&KDdZd#1Z8;H`v_3PCwv^>wh(lYSWfW0$^<~cH==hUfKE3GaDM>cu??)^ za#$A6p?_NBDNr>zBCt>U0HvqlLHHb$t`XtG2!OjvKSjxqCI=BiU^WFxDNw>kdwUGP z2tw#)3IvQ3fJwFpI14!fIB7-mMROmO^cJHd1ehmd?~Hco?{XOa2&xp&WH-QJ0<`;p zWfE485WsP`f7nie1@L9^kef?Zc$lvALA#aAjeqv3=Ow^ict|7402}QrkW4rW%T8sq z8TUN|(rLJt1x_neG*<9Nfg}Q(KRZ12NW(Tjt3N^eK+#)mw-*SIdB9FOosYmN0gmk; zV2hOaDFHZmvfXaeostrP7IRV}5_TfsQ4CDella-Ng|lGJ#95U9o+m7US$OzIdO~>K z!hd`MT*pa{l&cU0A}$=qqs>UzYX-2Kv>XLbI?;J71&X8vc$3trzbkA~C0fXle%6;5 zhGk*|7)UU-7N1XOsjeI-Wc;z01>ah zyB|KwA@`z-cVu3$h1%jBuRaLFQG&*C$`?&%Sit@#R>Nnz*&7qnd|U!0OzWsZu`a?F z84+sX%FgqMw$_@b_s(*Eq z(Dl_Y&7)Z&1A^ZMx)Aab?jlL(dizD%qcB1vK>J`qpks0q3B7u@n?$Igduhxg)Zmf~ zPra&BiPr{bArKfS;PNE`-&Gbd7Wb2zlMi%TwYx}A@Ph$L&ieX$5U+pf^w6Sw@P7?ZrSBG7 zP5>9LpnGuJA&as^&XsDl<5tbRBtRqHIu(!4@NcWdJS2S9Fc;hBD*K$^eo8?Uap0p%k{Vv&Iz4quNMg zQ7}Tl@_=>-_&T*HqXKNNm457?VMFLrCG1HmzmtbslD zHrIC`&^H$O_ra_KkrURup#xd)(7y3@n|KauzFj2`a<2QVH00000NkvXX Hu0mjfenA3X delta 1640 zcmV-u2ABEX4ap6VbbkgvNklKWH0Q9LJx|g9%xD_Hzlza(;J;T{~9rJ3(i? z`#}fOK`QSubg>Ka>~@JTv=C*;;VBsn#$Yconu2NQU~cJDgX)qa(7|X(HiOZWJ^lUO zout#rDs<@3XDoF0KKK3o-tXR@uNeE6&7R&>a_B=%2RH$II)7k;!%8+x1#AGP#9=B> z0szTDc+&u`M0Ep%ZUoL0psd}h(pvM|fs)eUHk9>Fb2`whE4`z`DF82rdRv84LhKUI z4C@H()Ne_0wrzkWL3(={@K6)b)Lb60gM26QEdzvgIBPcRATRD*2eDVT z42byLgZQceQef{K@+z%!VePkNwMPA>X~2Y(d`A*w3KfEEHZdmcxyvj3=i zanU8f0t7I^5CHCZE0MVAUUolH1P`iS0TAsK(LcEC9(nd06EFZwog&UrK~RPl{f_`P z&hSZqJ3`PPv78Y2)ms1sUyJ^c0D9agz`Y@W_cpMK%TYxeu9z_Ee;|^z-$JTGoXx9dwT-F2tw#q284_gfJvSZa2jz0aM6m^ zi`Fw#(p!w~5MXA;-YH$u*X1bs0aQ7p#cqK86zB{9%OtEGB7psHZ@-fP3lPY3lA9qb zyiFs$-#JOwM(5b~Q(!OJryga1jZPj&7o3G~uQxrldsRgt-|J z3nvxuDF&wLOZ?k#gu7s##8s67zAr3+S@`%x`a<~r!h8x`C25Y7s}Ln3&Ry51W+a?7 z1Akak#A~`Up_3kyzcu z6cFgG^&Wo$Vf+UHLkUcRfJVHY{P_u>G6ejZrbI?SoIJ*ZkL*VZ3}Q40aAo7X_tp#O za6h^}`arK$dy52x-y5LpuCKob@%ra(A1%sCqG)8YjnSN&F07-y$E5@Qw3S0SAV+!R{ZKSa%7$IauK)VEdm06T=0k(IN z0eaau5Lpl~fN+HvS(E}m^M8T4=@8AI&2N0@BU;*|(hHr<(8x9yY)1?3>6>4^7Jzx?}T?h1-!?v!wL}RZ~Ixmd(dhYe>iwxy9hXs-2x!j zfP)L67YiZt&Yk)?wS>U(yHBLDJ8X!CFNIm(y3q z?3p474Se<;EKt+s&Y3Y6vL;Q*Ch6%$o;J{u42Bi=m#CB2Ji z&e#x;@sWY0>I*iAuT}CKj-#;hSIb?n#g+is0WL!6gl+<{f2pdE0Hk*j9B5>S+M)+A z0sT^dTH+&|gv|qnRb%to12)&7uWkmQegI6rMn48!_(DXo@4X|L_D2C`4*M=*ji&k` z1{oR0_BH_M37+&nYkspD&Y-^NQT5Nd?l-}uNixK~07DO$U!$gDDFy-&=ZGcsTN_ZH zq~RY6Lyp1;C)8~+{o-_!3#~%Wb9-8O^dHq1%i+m>8;{P100000NkvXXu0mjfH1zum delta 575 zcmV-F0>J&31*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z&6GWg<3JFFrQXQd4E6y`E1E$FR&ChW9^GgI!=6Go6Bq}R4Coln8VVgknP8|hY*qiL zW&I##U|}nenyydpJ(XLIzFbeU%TVz#EKlD9ie7m4UBG+%IIIA1@wT4@ya%mjfrAIO zi-7akEdXi_IJgkJSO{5v9G~1`2{0z)P|OX2_u0gNGZJ>6BrJGZ0*YsQo6d6Q0DoTs zj;>$iYrts|;Z0HX4wDeE=_|EW>M$E3Rz1K%YXBqpEbvqL8mF89Y8A-82t?a|55#Iz z2H2EzsSF^-fSIJwM5JW^&SL3q?1d%?20n%k7HH^l7f?!a=q3CV1h|r*bs_^`1*+=u=>VNxwaDuFd^R4^ zN4$FgDtec!J!4BiE=LBIYA)C!zShZeIF6i=yV22$6ss~(z$_d>v#I~;A1CZXc z;6NioWQzeHtc5Rs4agGj;UsMOcW~8U`#JzN9L_QNW&r93!1NpRW8lIUB9i^!9m#Y! z3NUln_YoV8?GYQ|A)}Dk-5vmXLMFq{THdUNGiWY6szE>Eej8lcBu5+y2<{oc{2C1% z%j`iQk`l3^erE&nNqYQa5hyWp0!^1pzc_Bnj8*7)X-}&fjQ*R7qQA@G$$l~tZ*c$s N002ovPDHLkV1hku`>g-~ diff --git a/graphics/pokemon/noivern/icon.png b/graphics/pokemon/noivern/icon.png index e1cbd1b284de9da0615944a7c2271b06aa653494..cd99373b86b09095430a8d7f21bcb971fea724f2 100644 GIT binary patch delta 401 zcmV;C0dD@k1LgyeUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MYlsVk_fO z0003=NklTrR3`V(u#RV9N?u#^YfH^{M*i|>ph67~5S*8cD1FRY(e|0ka z4V&q%jSz?@$AQnUDE@R&H~@VHAhrv;4!0^mWqGsfR0;F4Ykvww-}9|p3%r4fPyHT% zZ>Sb9bwaJ6+*))T+t_kGG~Ff@7oDQE7wTr?J6=rhSd2-=jPHSf?+`q6lH&URrRL>;sNk8Af&sb=x}SIFs&!;%DCr;AoCz{dE}1*H3qTtw4sU@HI=&oYNSB+w3A;gpppiJ~%kK=a&Jpo_>N%6Z}6UcVCI;$Uyn-0MQ!n)aSzk=HQC;_WLYYXrk z^?HY9H%fI7$6`5j6C6w+*VEX=EMx}Gy-WKQvws>tl6!kc^#ig%W*{O;+reE2ND&C- zEV2k>NlbFN;)5UUdFE0ekgGRP_@RD_FJlA|cZikcw|@KphtCuMfubLP00000NkvXX Hu0mjfW1OTR diff --git a/graphics/pokemon/nosepass/anim_front.png b/graphics/pokemon/nosepass/anim_front.png index accd290147879ba31215d41b8e6b1d2fc05c6824..5513a040c99cd56243eee9b3f5af15ad4209551c 100644 GIT binary patch delta 717 zcmV;;0y6!M29pMm7zqRe0000y8w_m@6@-A&}K*LhZC;tCdBVsKAs`CXf1k9`UZvh$5{mK}VV*q&5ub-ZY zs0{(%x7+R0Bh^&MK+5T1c%%>e5+~zK*8|5heOqveDi?tM$1rSqB3n0@7g_-NU&Fuv z2R21dmVZb1UN(h(i{7O)loWB}YOH!2r^6uE-m3JidefL&-0Kz9lhM<5pg zH3n2s3!`)$l<0v>*f9-vxdU2&1~UOb1ib??Fv4264ob!Qx`oyVM=R}olRSS}8S(FQ zSEq|^54aG{W}0Vo0E7YzfT7)j5G@0Mp@rMDxqSK?1{$ciLI6k`26P1AO~=Qsi~xSN zd<6>Ma^wJtU6XDU7nxk*V*h`%e`3zq-yPVf{XGz~Ki{siBxZjHMD3ryi`zdb&)7ey z&)7ey$MzS2vHhz;0!H>{F*1K(rcF-l4=i_cJ6^H`NA|C>Rxgdk$(riyX#X-JZS3t7 zD6*sdOGU<7tY%Z-V1K@j)fE?*0!enTKLhVMKm7tP^}+s#3N5|_M)t?D!b-pR!r1fYT-HJ00000NkvXXu0mjf*9%2u delta 712 zcmV;(0yq7W295@h7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0*pySK~!jg?U>tg z>mUq8BUuq?`v3o1UBHG0y8_R7I_#HDGqaZ^ZuaK!SXx?&3J~#z8((uPM01$>#r0*90L@>agGSUc4Yu?`0Gt50A)mf0hOQvNK=8$&}{!|6+svP zcnXjnB7nMopc=rj0|9&(8-V-ezrd@3v&k4Wz~(Zv7mfjdd@w6O59!#uiR+m>7N!3U z_+=uQe*+39;(u7Zg)!kb0N6=Z0qkIm`3pc1xF4z*FTmH50dyvP4Z{#X=Ai&+4&cX{ zzmQ-KkTFz$RS+J-wvYmtvO9uDW^id~X=&+C{cq`gZ+9}i?=R8W^nL&)(>s=Lq1p6a z0MqGR0JqY+q}zMxT{6kN^e%wY^d1JBq<7M|5d?J8yGK6A@+?<0T0j;I_aG}GmzRhx&T-Yo%F7M=|xJg<$dKhKqtNXCoe+wUjSq+ z_tLuo%HuEnx{W{6yAfo7v;Pv%P46}rb_D_hern}@`}t2m^WX|lKK-x!{q(Mz;OOjn zKXlW(10YgBKfTxfK>nwX^sWGmCYN4%FaB6`>7;kead7?8UOeD1G;&CP))tykJhhaV1Fze;3T(AEgdMSPcofX(4+uuelEf$SBNqKM?#8d=On-X>oTrUIgJ+?*2eDA>ddhkGafB*wHof{8I zluqPePU*m@@r_hs*hE1w0xdVvl_4W=Y=$;)r~4!|6r}^l&i9G;ularSMRF&*&`1gc z#{h9&tyI)$*C?)&0pUtEW57uy?Ce)r1kn0nM0X6ZAiT^jW3;;DW7r2oV?U*MV9=b? z+!IJ=b{IMAkMRRg7fo`pqMHow3`u+L>#yiqo#)w_700000NkvXXu0mjfOUL1S delta 502 zcmV}h;q%=SqC+$AZw`2+-x{B3zQ?ye!+a z1VJbwAk$i~t_L-C06RcC3(6sYF2ao7X$2dr595XL1jzWdvLw;8ce}D$#GEpcsK257L(*6L75iG4Q0jBo!3egJT=!#QRr#9$k?< z$u;)P>?I4@T!nY14i*U5lzCF?QZBog-St1Ke0U0`zBwheF~9%dUyt+@^NfaKcS zNhTKtZJ+i%f#ID|?XMhmZTtXKMG8cEX)S2QpvFlSFRiC3CrHXLXWb~gZ1 s04)}S*I!1!DXiEH{~!L>Z`Wk<1;#tlT}&5A%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3j_{YgG*rm z005~;L_t(I%k7de4#F@H1pNd5GHt%GNGNWh@-KLUixYe!G*+tU0#O!M@tKki#C0C6 z?bT_V`@JFCvzIhAV3l-h19EI4YXM?`N)id?1{cU7R`BRaJ!jQ~zjR8CxBTO-< o6=slRdK6)bK~@;Qk^I#4#F@H1pNd5GHt%GNGNWh$}f0>ixYe!G!|8K zfr!O4@m)&?;yRDk_MS8${N9lM93|fzSS4S4K=v-ORv;FrWRYZUaDnW`2JStnhn9$^ zPN}1Ak371L(A2=(&plDD8;HxepvbxX8-YOt224l-1Hy9xVL*BW9eAXz9vKvV|2O+j zn{N^Z#R-#8;Do6Ld0__0rbiW~8f1luPm&+|@dB(7pKSff{saI3002ovPDHLkV1nU! BSHb`Q diff --git a/graphics/pokemon/numel/anim_front.png b/graphics/pokemon/numel/anim_front.png index b94c34a1aebe4785a35d62c87a9b7a83c2d8a313..b6e95b467069a3923fdb72e39e429a0629c1f5cf 100644 GIT binary patch delta 690 zcmV;j0!{s!2AT$tbbkN`bV*G`2j>O{3k3+O``;A+00MnUL_t(o!|j$aZ__{&$Ky)P zoFh>XVQFl4fGs>nGNbJmDeBZFUXU1yKyFqR+}$C)8M-)QfT8yl_;S3n14-lOvse&A z{z{hIPxmf&XTM*obl$kr8mrGYH!O(;5Uo zh*yRQ#$#Hfslt3ti^Td8vFlFUSv_zXy|SJ0c}z9hNpj5qKnY_4+Bf3qs!GiBHNXtd zgZ3hQcav6$7da93b30hbyEK(@#Q^!Y5-3uc;u!(T{%QBiaXCE%22?_A-nxB1@-+aT z5BKR|t<(?uYJZV|C!=X5$A{NR>CA!;8328J=^fs`fd+a3>iy7VD(7kuArN~J0Wt$w z-E>RPIEDp4Ut|vUG$x{`0pM{!%fa7-hdkinE(~x2jQ}(NuX8hC<@sKXkOjW(O;Np` z);Q1aO@OlxeCGgoljoCS_(HiXFvyh)IH7a3xe{F%DSt%|aHuu{dB7WN^f?I8qrZ8^ zyreJ`8tAm1@Ehgg&?*7C9Nbe%zgiI>n%-os9)A;dq3T2P>y)p4%rVCt9p~RTPLd=> z$4Nel+r;2F$=#=ZS|$ECPFu<}y_NF1&T-mX!AR;HXKN_SRh{F!UxEfQ|FXt$sPRvi zp7gWJ8h^)`l3o-B5%P{x_ytgzEZ`ldkONo zkN4%4Sqp&LbD$5)sJb; YFCcOwS_x0u*#H0l07*qoM6N<$f~=W3U;qFB delta 691 zcmV;k0!;my2Ac+ubbkVoNkl!W5xwhl`fFvhIXSbNa>iwNa&^> zWU18Qs#ZDHF3s(scb?lWVWjPF{tEqaeNG@i{0Qn$sY9M%iGT9nv17fTVKnt078}-& zo8Wh>I=}{Qxt%(|4FLSp<1Nk+7}o-J{S3^qp>7QfAmGvQ#A5#GQd4IwkRx=dP^SRm&6{DT2i3H=k7a|~15c;N@499tp1Ni5}!Cpj276ziVovq_wg~hnm zm#~q9hkijdE*s7Q?%x1}V04fCg6iEzilPH8r4Q$Us2IH>y1xmiC|_|ikU;^_?~n=O z$2Ix`e<|gLbN!~H84OTBP!#3JAuS1~m0bleRV?~880vBFgh}qFp*Q&`C#cs0I=!j$ Z^#>qwBUK~zY`?Ulbv!$1_r z(?H#XB&eIv+GG(s*h|5+y%%r^)c#n+L7@~ESL@;+g?RsfLq|L2&*u{i=<6JA&1oQKi9-_@Lcu5TY+Je;}ldKuZe@DQN-d z0TTca08-Nc6%2OKsr6I9I7oqR8PL(5vjT450@T~ub2kvW+9f+p^ zP9P&%`cp_7l>mX~)wD{=T@L#t0Ce9L&FvbFj=DSEfnCMeOn|ZBDj863amB& zHWqTm^-ZA3H-S3@Vx@!mz%xQtitN*PVJky`5^)ie+>BYat;CIEzBa^W7q@wlHvmD9 zm;4Pi6O0HK%VhzOK*+gpu>d3I1$WF7bg?8r3joYS2(x)QXs}lPt%%ex!EEsZXWq&W zYT7{55P<{9 delta 505 zcmVd30*In8JJdppwlUDb}cL5O~MKQ-b)1ti(r>A_TgmUV!cv3!8VJ<;&DDp z!MnXuZi3P0du#uJMnVKv>sSVJD!_u$NR&7UW9g0WPz>Ax0Tm^G!p@rnZs~VK{6qwo zuTp_c4$v8IXWYtzF3W=(1hKS(dB-v#Dn-_D{AT3~nAjr5bHXiY!?L8jalpO;+4AgK z>0uslL7tR+t(#zm4?dljfCPq&@xdpcfsR`Z_x vZJUDv@TF!u1>pG7kF*2;(f$ViUKqwF1*-zwu5d&=00000NkvXXu0mjfIP>O| diff --git a/graphics/pokemon/numel/icon.png b/graphics/pokemon/numel/icon.png index cf43715c8f29e03c73af95fe7fe44effb5979c01..9228a621545d20772df83a2b931c24fc56b06a7d 100644 GIT binary patch delta 241 zcmVO{3kEhow~>7S z0068>L_t(I%k9!J3d0~2#&K`pVR{x9mz?X9pi_o8BnL?8UMTH3BEd=_Lt4mdCj08z zE%c2)M0xTTVrL_%fEAP|F<4x1s$xQ`@0F_9iPpPnR{4lD25PfX41x(8=srUiz2op2 zx`%7DXK*?^z1K(?juDM+Gsxk*z_b|iGei+U{Q+y&8d zw3Jwc4yn**2Z@h3IV!&K$0OmvUx*(YNg1r5i6#co4NetIX!Wg91>2~-D`u5eq%oM4 zVlbFt1KlQQf_EJ5U2}7l_6!cY#e0n@!9JkUbpqKPBTS7xeMmzT0F*BfaSX6$$F8%d z9#?jZBm(%k8|AP)EdKMHuMeiog0YtOF@~&<^^)iC7R(2IJOBo0t=%@rEhzv1002ov JPDHLkV1ic3T&(~A diff --git a/graphics/pokemon/nuzleaf/anim_front.png b/graphics/pokemon/nuzleaf/anim_front.png index 796a50b3144f95f0609759a8455598cb45bb6ebd..974079acc5bd7a26f9b23db5c91c9a46e800d441 100644 GIT binary patch delta 778 zcmV+l1NHpv2Jr@vbbkN`bV*G`2j>O{3kNW;&jkqp00PuWL_t(o!|j&8j?+L8#+Sn2 zf`Sw90=XwZ5f5-u9>C4Uv3$DjOipLfS+n3P(nMaxw1iv94}fxY&Ouuzca~OkJOWg- zNR*82q(Is6HCJYeDAN2q`+vTVu|rUCbo4;JcYM^H@Adi}#DA0CU@$oDzaW8^b%jCy z4O!siEl1*nEb;2K$B;O-mWbFhA?q(W?^}W3-NzfvJ=P+YF@pJxUg>2+uonD3PSxc% zrPPvIfIF@V%&RXR0XRR5Qk!91*a24#e;KttJNvB?Yksx}HgQ$(_XIFo+ys}mm70IA z3LD@q7G;ozAAgjZSH=c78eqEoQ`W1vOWesmATmf+fAy6r%$=Bh-CKwQ$q2%{ge!9g z`9kk+mJfoDpa}tKnOFcwT)zRh!2kP`$P$k^bq(%hHh}p8f2N%CrkZ89eehga&mdzs zlm&1=W&(FZmy%`Ht-`OvRIfs6T9P_bRQ^ZrHE^jaJG}jbRspu142XjsUK~ddT2t%ybjQ% zvUFAAeSdWEh1mhF!@Buo8tm5vr`TMBT$lN>t5fGIEs`$48EN31V&HIoP|QO-ihsa1 z*XbWn)?}xDKv}CF73m*pSrd~E|A4X88yxNz@2Gp56&roZGY{-&x`_g_P_^1QFiv=+NXe>J(yBW zXloDdDa~@W_J9Ujdtfr4y18iGK}o8jXzW1_WV80sg@Di<0H8g{OS(|y-d`C$WG#Z^2xnJjVXhm3wcx*Ys87FWt*@yK_>;N>zy5@L+nD#w zYP}jIB@Xy%^uy}q(a}$xqW+6{xJv4hza@Z+`Biv&Q|sB+y2Jo~KCi+odZ+cQwiw_U zA*R>ADz}T<)PFzU24pVM#cy+_OM5FXK5uQr6X{q)MJ3McttjSZ`>+Bb`B*e2MOJMu zBM>6>g9hLd{%CTZisk50 z!Pik{7LhRuTLNRbP!SXqk4%MSaQDqJW6aRwcmS6L{C_6J%hB1>3HWamRd9?YGw>&N zNfD2=KD{}C+gwsWt>X_+4)&M;!m_@r0f;S;Bh<4=0s%@280m6ZTdT_z0eB~N8A6I# zLIJBd9-V-n+66nbcDjlaa+}QKig8OH6jSaJIUf^lUzz3>b8(IXdA6va9({OWIKWNh znon-fihpgE*pxwGs)Fo6&WeSRR6(_Y#zyciz@_T+@9e*`2kQrDbFH7y4=~moLF)$? zYwl5z`oWDgdETKPV64T^&K2l~vBLBNjJ35qfW=G^{QzTaEe~L(8B9L}qLl}iA~W!Q zw;OgKTY2yiW*Yjyy=f~Cjwyhx<-zxy0ygp>Kz^s91J?53GN6EsJeX2VXe|%!sF~%h zS--p2npmdoY4ZVgj;u@sTmyhlW{COrl1H%ACO=?ATx>xrF&qTryh_8$F!>8)D_Dg;}oQFfJ!)7 zphXXC0r#oXC1a*K`9Qt}&7|pdCYzP3GffF#GPAq;tl2_ae~assy{IfON+M-yTbx=e z4&Vk<;5;^8U)rW}IRL#bDAb&K;h!gO_Im{Pp2KU7=9BS8KD^i&W#(67?CPZHGi#p?BIIa>nb lwIvQTm*0}N8UM<^j^D(wIG%54kgNaz002ovPDHLkV1nLk{9^zB delta 551 zcmV+?0@(eD1&;-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q99YK~zY` z?UTWZ+b|G@m4m>?COK@Or^QX7!p=bm{U0;`j3o9R|7FbQ^AFt~uI1T0PU6)^M09%j^-5pFi4efb|P znJi^O8M*`nY=?kcN*Twt2fhq}M+Zo0tp|So4frty^d8|`y=91h#Tf7w9DsDI0pLRS z0GuPb_M=b1oxX+u$SeUl4uG_`0HAD684e+!zy?5S4H2g3fpw+>Ad3#Vs^Hi)%O9l% zWjtWEoGj3$2iAZ)?RCYNt&Sm(t)XDb_BvC|&iAP`0ZgUtbeA?q=z8&!au1b7)+nS( z?TEFr;sI{KMBZb6^ZRsL%GUr4reLt(G>h;)d2`+)xCQ&)rON!GwA~D! z42x93I)HIP%m`?p)@Mc%SBgzUJM4VRZpFU>hg*7t-I#6w``WoQ`!_XRB&zGP)9bf# pvIWL#N9<`Wzu)%x9+Sb?AH=aZo*X*tWB>pF07*qoM6N;tV1l*>{OSMz diff --git a/graphics/pokemon/nuzleaf/icon.png b/graphics/pokemon/nuzleaf/icon.png index 524fc6db2bd4e230f69e394d3c55ec7ec7b1c9a3..1800ce0cfb13e753b906c63fa1f13b61c6d722b4 100644 GIT binary patch delta 284 zcmV+%0ptG80`mfpV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3kf3K^;ypV z007oWL_t(I%hi%S3c^4Th4%#R5po&RS|zo|7;KVb$YSss5*D-nkRXeN~KHYX^RC(EGzWF%ly{J34gt(N=zWiD1Rpm>y_OR z^bFSS&nS$W@>GDJtvg(c92Rr!+;PmHM;n**I7Bg%7ZqFbgpVJMcMaZh_q8p>G3H_l z6#8g%k@$~x#$s#Oto}7Lw^Lx26JTOd@dQR*s~3&>1Tg4+00!L;z<~QNV9@;lOvOq9 iBb?LB9@l=Kj}-@1k)l18^h1OI0000W}1R?Ag*XE6dm55F^kNM?&Li|`rddd5YD}6f8IxI+IULh05^J~i|3{KT- zf>OCE-U;JsX|@V_Mq_p-6#Tk6mLN!D_m{GO#nf1P@HzBIZEy1dhX^9&Sj9#;g~xmC zY>U6#Tw^Nsj6UlUg(31b!WP-hh;0p<#lMCm{>uc+f(d;Zvx*5A{;f<}o_`1!bUy%t w?gwDN{U5=OmHCwcqFC4pot&Jxd2sK>z>%07*qoM6N<$g7E%v#sB~S diff --git a/graphics/pokemon/obstagoon/back.png b/graphics/pokemon/obstagoon/back.png index 57b8ac19a3db04fa231887c32b3128a8feef326e..ada3a2b3eb2459fd1bf8210b0b5bc2dfb8e47eb5 100644 GIT binary patch delta 590 zcmV-U05n0vAa{K~zY`?UlWboG=uH ziFg4Lwn&-1Fw|^}v=k|38BZP{Kl1>r;(o(Qrri()7d+S$JXGxKA27m6l`eOrDSST8 zId}{cMgQj?3?Yg74(c(5^e&1a2?G>vNes7t04M-yf))y(kWt8^f7km&C4mO=CVvQ+ zRA>Pd9^e>^P!^z4LI%o0r34L>1;8$_7)XnqmhnoLliUOh8UxTb$8ZB3a@;j=8TsZ; zt-(?v2w+C8_G>=@fy0G;TWtj?U!|0;GIA#8ivx(D_nilPY!zXFSd1O7JmAt6tYCSq zfm#Ue0nLFike|oCf3|=a=o%;_08li%PcUH%&`aAw0pthgPayyZAwmK?(ZCDAxiJ7^ znYwC}zzcRr?*vY&nX>_;t}}+W!c8iXGiz%LV9k2bgZhf!XPDt}3S2e+#`BWXH)6vl*;m2nE!r z=&R8I0TVKm7I1Ub<#~UScSlOxrped!t&a3WP*>aF>l*00uP1k)eBERW=g$t9d|d+_ zeRP2Eb)C^QMQIMT1^gf6xw$xC+5ni*9a;x$Drk$YfK0ytYPS!bMfC}?=LHbk7Jbz? zKr6n55E6iUM9i=U!fPR)loepsJqr!!40q<%K&75?11zU@$@qyt_Whj?2xoD^_e92z cfB&QV4dj;$Lt8!2i~s-t07*qoM6N<$g7anmVgLXD delta 605 zcmV-j0;2u21;quBBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0v<_3K~zY` z?Uc=KoG=uHiFg50vgk6oFsw<96c$}f7*8J{ZRY`q%04BM*(OxQi+L~>JXG!LAM6qC zuDjlmMl-&j&pBKS(f|4vMMxsQgZ-F7dLPA*gaHb7B!;`c02F{UK?w;^$SCB|^)^un zpn<%}9|Iy4N&tmN*at0tqy$KpkbsnsE^B9hM}BdoMqmvQ1kfXw^V)VmV0Y?%IHMrtRZ6Mjk$0lLS%7f*(0jm_RuTq?`P8$@ z15Rzx6k~-=x_r?>Sbgn4<bWI%+M0}?DS``IB?!qMsFyicv)=!yzm8OwA?gt1PpN&KbKkB3~FKEqsVyH z#G(shXhH%tcGPZvR6szRjHLl=%_=+_4&v%aiDR;xRbO4|L=Ob}atwZ70Ym@&U=NhH zUk`|l$FCMJ9y51jT_M9PmAnvCWshTT%1}Vi|K~zY`eU&k9n?MwR zL3F4x6-AOPmMpMnI# z7$bVW=K*AJnq=T%@b~u^$&T_oy5l@Z(&QAd@QeTXk89m+e`Eo2S;qi8w^2xcc=r6u zw?bZ)5OZh)hH>`nTBP7rpt?UT;Pu6~M6s`l0NgHM5Fw%?U~~XWD4=rWofVANp9(1U zHQ@FDf?Spk(Y-mf0k4ESY9X#Vz?sTXkZ?k_LTojFVIY!1gy52)5JRH7;H0=JWQE)S zWhz?@VEJazBY<>p-dETk^#j)>166Jbe^Wp#FlOFK<0aJ~OaH1tU1$LXAsP?H?F518)3M8R_ z0EB2~i80a`>m6^zjqO8@`>07*qoM6N<$g85-<0{{R3 delta 774 zcmV+h1Nr>l2JHrrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>(*1K~zY` zeU-m&n?MwR57D8@RBS29%EP8Z7s4aq)Gn35an?G9-6Y%|Vd=bDSn|#7luT7SrECAe z-hmw(IQrxP`F(u%?%fYaGc3y@{b3Oc!0yi*wgCWMzhqz!q(DmGgI)l(%t@wa6e|Xm zgFb8EN&l|yt-&fb7mLN2usR~_I?)hK8%p&KDK8h{W)T8aQ1Iuv3^bqAc5 zSEcNbMKGul`nwQKSLlN>D5GKyqJ;Zzd4yfN6qtgUm%7 zbpa!oB7ZsnA$F>~DCFgL0FW1*ZeJYlolv4&53E1DJwE9HuOBc}UX(4_DX?8{MLkc& za?u7ZQ6LRryaOOayGo2Oj_QqaQLM$5wgEHT#rp;irL2rvyXyUJ%~$cheF4sbZR?{G z%5#f{mx9@BC0e~k#G}*XYksHOmPfn@k^DE%tObPp1E7Ni8lPG*^Z)<=07*qoM6N<$ Ef>^I-g#Z8m diff --git a/graphics/pokemon/obstagoon/icon.png b/graphics/pokemon/obstagoon/icon.png index 47edf20f276b0d1cde0eb285d61494c5019d064e..843914a55e805509e0f209ac8cdf27bf5705a692 100644 GIT binary patch delta 378 zcmV-=0fqk31LXsdbbkN`bV*G`2j>O{3k(elQ;^dD00BrzL_t(I%gvHKu7n^EfW5)Q z3uwaYF8FKs$?>hpr-Qy?J@WhK~{E=WCj;EeX{&2vUiFFfFKiWwMsAb&a)pWPcQc6}J<20l^& z`&!W|9a-MFEJmXvkzPFSfF0_AyEd}YI{?iSV@Ex^BUyn7uq75c%UKh6rZ;kVYiL9S zIRi)^Dk(eCh#Te#umsRl^k{3C#Qyq&6X2Gv0HUogS6^l89*ES#f*8Zc_@w#U1@(iF z#$DyW{NV?3Epw2h?P5?$FpkFHDNIt%%%i_$VF115LAxvrpe39WIE4Xk*L1DQ!hoT> zw_0Uk7Mvd5DLRD#b3@dUhH?l4sGSomgqi6jl`s(2@F`5Fg@OAa%vmr@yB~!x;UD<% Y3vRMc%y?=tM*si-07*qoM6N<$g4VL9p#T5? delta 359 zcmV-t0hs>f1JVPKbbkRzNkl#tY~SzsH%S$NO%vo@t@mA_46z zl8>$;Y`uTxXKZ*xNWyEHuZ4ta83d_BK$wCqz&p4yfYY|IR06*&#)k74Wox zFo4=Q!9tjsUQ!7IVGWO{3k?VIok)xT00XQ^L_t(o!|j*BZreBzh7|#U zuB*mwuLc*A&jwxiY?zC^*4&KLYXp#LZh{kuK<_Q`1OeI?DArHenUNej5t*Q;qCjZC z2&_*-4rj>!PZYh5-!;zCzn*!Tz7b2c4il;R$HG!Ag3*;yg?|OmvjA|hRGY%$s6v30 zk^$=vac-mper{_&fYaMyG(MoPcVC|eKHc5n0tEr3cLs`3LWc;@ zya4zD#Ddx|3j%S@olJnp;KLZe0#gU%2869)+|x1EcgArvb~Nn7=t#W<0`iLc*N@a*78QXMdQhDFRRewsmsc@H2^k7Px?0 zwT8ZCu8B`7ahRerTP*0D=LXV@(_azTs4dSM4|k3f8db5lFbWeXZV zJWhaUqE_6pIkvXS7K=0t zT#!My3>%2(?K&=SXMdHk?v?lYhhv8^mZe^=5ZF8G1(N;} zzuu#|ch-1>jS2Dx_W>YE7`Xn%y5kk!9bf3yZ&5gtjFqBpL+TuB_6J!&osZI76fXcK zXdvQ4gqIA2`E>&!#3Nu7Kn&&0v|wQD4s5UY*i~FIA)eX`(8C`Lluwb=^Z-UOJs^tH zqknORvO7B%6;48<`kx5T1eK0~c}LL^$PO0bAiE1TAmVlnrJy`oXxSONgY2Rd&f=_8 zYFd&qQ=HOu#tj>ipycz<%MAg&_V;ZuG{3u=l6@%2hztOkZw&_*lTX&%(Y+Dr3rfdK z9QGVt5O*{M)dRu*C!`O6kr8;7w?VO%Sl2N%>C0&f3hE_2x56E(e99bJ$me=%3R zmBF>St&)r5W+u*(zi^l*0=#y2@yLNh>@O0`^P!!b^Vy3R+yxnvSN9MYKLMQGq&rl4 R3K9SS002ovPDHLkV1n7m(x?Cc delta 985 zcmV;~119{*2)_uBbbkZ2NkljvbNCt-XW+g24J|zRme3ir&xvbw=qgSDvQ7 zilthIiB$b%VW}2D>q@D@0_a%)7%$bPuz0EvAf;r$`c2#zDSv^V+u9GHd)uD}A5hq* zf3E}oJUwB6f`HQNfh<(H6+ysY2)VVUwO0E8e7UH|evarch#QSB=as|Xl@}`|b1hwl+SX-T@GBI6T(?!z|*;AprUP;fKw;~|RJ08lCd zyg=j{CWL^Z@P8FDijvLi zRerZR0ZE&J&Tv}xazR02zi@)LFF<^UzG*&q|fZ)?y`+9p#C@F5Ak*MKzt{x+Rn+XsnWR z{;{Gwp??gG9Q&GHea^nFK7T*&=RZEz)dN1CsI^$6VPH%G;WjKFqCb`>G0buk@^kY^ z{)tzIxeWou7rt7o8Qi2tfVO)`Vch6htp7d=1dm85Y&FjfS`fJ(;LnY<87Tyh!idX; zmp83{9R%?5sdu#fJyFKG+r0PR9V?9CTI%){0)Gc*y+G1k;`ayK?yWVR#l{5bgXaJc zB@Enu<-OxwzB|6qtzV*WCK+#vx(RLPShGIJ0^9kND(Z(f0234t@zKIt0wQGKihvN} z0vH$&eS0%47#LW_(lUTk#Vr%BraHHv`#%^cUn8mM0JLN}KosX+jS;ThS!clTPAxTV z|9`W^Gr>*Az`P~v2xLbI(F2*xXjh#Y-_0 zXGvc;%o72Q-Hk64NW}Ug!8}jnpoZX~5`fJ>N00000NkvXX Hu0mjf=BL@$ diff --git a/graphics/pokemon/octillery/back.png b/graphics/pokemon/octillery/back.png index dabf208f146fa2b0d67616228879c3e7ec346556..543024873b2480912e322250c735ce62acf846fc 100644 GIT binary patch delta 555 zcmV+`0@VGV1(5}iB#}W-e*gz`Nliru=LQE04gg2gj_d#c0rW{kK~zY`?UTQ18$l4p zPlB**T%|}OE}R7-O}qgWu8hkx;b3lDq!QdJrF>#FsSO6dhzW>vF7*HgKb2?y-K}-I zdI4t<;@J7|%{Q|%Me#1r*~e^Xa>jqRho>AdxjcLlB;}8*4Dk7Ie=RjiDZi&BCWj{} zm#}4GlL4dw@QYlgfh`Nj3IIvhskqo)GoZnon^^+r)*Qb82izrqo$BO;6M*JEk>R`r z@^OHNaSowiIQ0AHNdV!`*aWo$paI8#9suNK%*$gJI?li@R6EN8r3KU~3-Bk+8?`|Y>J0GB1H8DzkRw6|jiSjRIAXGNP-~~K9%jS>WOe~Mzjmy!8m7zw8vVxc zQd$YM>497Ofo`F!S0}LvRg)bi9R$e!Sb_=ayRHpj=Y=XS#RLsKvw-d`k|Wk#jlBUCu7b-n;b3lDq!Qf9rF>#FsSSa=NC=2@F7*I` zJXL1@-s>&(12q=_W<%RmgO*oP8~RfY8P3cw18S? z0sf?Aqc&#%`i-D458$7loZ}4e{_u-|K}bq~o5P_77+eaG0AGxM!oVQ~us-~#h607q z32;;Cp}=X%5@CETDV_C%Kq0E0AXtupqJv~vhk2Eis4Z}<`eDt>(-egR;)#lq;iOZt zyBBQ}n&IPLq!Mm_u0pqB4+ev1fFBb07)AwS-A?-d;#CxX0S0jrE>?T=BIW=9002ovPDHLk FV1f#X0j&T4 diff --git a/graphics/pokemon/octillery/icon.png b/graphics/pokemon/octillery/icon.png index 4cf5c9d6659549083258775e5700c4b556aeeb50..247e399d5adc3b001e987137591af5ec6c50c08a 100644 GIT binary patch delta 298 zcmV+_0oDHg0-ytsUoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MZ21h;AEo z00034Nkl)2QpvjTyAI;! zCXN7AnTbTxXP}gr>0vDJK&YpXZ?v)uRP_j`L^Q0Gzx5G`Wp98>hZOol^9g>a#SFz2 z|F`Zh40Q`(Vw(#?mUCgq@IsitxiCamVQx2x?pK)p_s0#bE5r|eglmXittdPAF)Bn= wJLmwQ9u>L(v5fizOoxaBR1lF&2f3dPKN#<`Md5t*0{{R307*qoM6N<$g50=!YXATM delta 264 zcmV+j0r&o(1O5V#UkCvSNklC)%>l7MeBSa_-#j7g(HtYehvVzr9yfs+{c+## zqA`N^)k#Hp;dVV_sUWrlsLISrFoOq5iJ2E;fdhO!n_Qz+$3Rt20+k4cwQ|cGk#$gd z*!W0(Xqp^|-c)u&$#43f;`f1}J_9DSDKOM=3Je*}fbpCHLv#gZc}cL}zzn}X6|}Yx zH}c`HCVK8fbt4}WLR7UQ4gl&2p$ibopijWuM8uPL$dzQaQFfk@3Tb%&ECNP O0000_o1%d{U7zqRe0000R4(msI1%>iuj0I~t9 zNSDHtv8iqDF4C`WkaknV3-|)LUWUYW=Fn|`^#B3{%!heUkN?lIdwk}|*^PWz2{L~P zcvW=^a|$S@S+1)!P)%}GXN#3yn=JtpwPG3pyc5@Rwh>MlNCLWjpbP+&m2FwGqtq`%JDq7%7l}ZT! zXd=g50I&dT02E@^1P9obQo%+Dyj6dZMR9n)fB-C`n%EQ^dOO1o2sF_rT3F|f-*HAF zpN&r^=MGpx5O2i(bb3XCeB9%w0Jx5Np~lX)NC1QT<@3Xi2Aq3#$K!zltaIrKli}rp z2VrTz4nA+mA+z3wpn*}y?-C!T!MvdhWS8C;^Y}*QCl1S>?IR8N{^#LH_b`9h|66K{ zu!%AEzwABk@m~fl-5>dSoh0(Ms!0ctPfp%pb^-sg-W$TM&^s(I3brDC-hL%%ymLz#vF3i>o{O11@J7`$Ch#1}Ch8CT0$c9=gPKRxf62fAWiUMP#oFKC zXCNHmc>n5NkYJQ!+y{SP$j9yFKPB$j@Eq&`t&3jW(EuE1|KKj~D9)s+VfM#gRR5tP z#ozrL5)~%L0UIRbAEo_0(LbSTXITly&LKc9DLU}A3o iqgy~`y8B=F6URS%rK_8x7ltkX0000zC z#2^etn^01l_5GjM{6TlUf^gx5#GP^6@jE4fbvzu$u3fwSO#$FqyugX`2!Qy07Jbbx zLZ0jSQ(g$u1SmxbX!#Rst&;#Of&j@oz~9pvc(!$K0Q3eNfZE4MBf4rpl(>8q0~9YGD@z_SPf(E&Pt3t?4@4^9&FsYMCU0GihZ>PX&tD8<|8fI6O+`DqKf-Ua~K#KA3y zB@|ooGXh(`oasS^|2jT^>hXXL6J+O#bs+<=1_Cog@R_&S+m9t`a1fTML?i=**$x6h zbZH5r6Q=$w(3g}UVh!Wl_~e5ii0O|rUGIQv@C<$cuDASuJV57nxAa99%@U|(Z_iIJ zfjS|%f`f&?%yAMZ189q&RQ@w8=Pr1iaB0IcdeuIM|g>bq}xRX|qX6=DDL zGbHt0|Ow@2yqYWc|}n7d2z zo02PFvCfP8^})ROnKkoUe0mpLco+P={sPP&10nD+n*Up>`F|qci?x#_cjiTTw|TDF g`?mjGyZ%l60GfdmLOg^t5C8xG07*qoM6N<$g5ydieE9hJz|9Z&<{?U~?waN?2Bb}6%qD*V z6i<~d>KI_U5~6^H9AuxG1b~=!E*(jYafA{Ia?a1@)zT3PT2{dP zY#QY>2*4(^Ss0cI-f9WhYE#LD9YsN+40OiGrQ=0S5-lhIM9tFAw5GlkXb{pA9w5VA zqj5-31Z=!O)dA#a6^hOMUZHSakV!Z07*qoM6N<$f}>v8IsgCw delta 479 zcmV<50U-Xf1gHd%7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0{{a90bGe3j z0004(NklVF|LfLNcE!RFD;gr*I$w02`83%r%Z(grCFJ{KS+ZZaXYP+Y7VC;-YkrXRD2i%&xh z(Joj6P5qz%o;oPbq0S%FBS;%<8fAa_HYOBB)nc002ovPDHLkV1i`t-md@v diff --git a/graphics/pokemon/oddish/icon.png b/graphics/pokemon/oddish/icon.png index bef94316f2fba906e2080f4d0104fbf2e7192aa2..232b704e024e495038e100420b5708e1a4313204 100644 GIT binary patch delta 271 zcmV+q0r39E0@?zQ7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MZ7?NG^Eg0002JNklD2!i~?=DP*w9=o>@7DXKlt~GB+a= z`sdiY$GsTiNddDg8kl|88W=W77#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S#Ysd#R7i>Kl(7!O zFbG6F0F%r8|KApHYjxn6ZFdV#nD5)V|hO@u4rP?5euI4-U# z{pS_X^40rAtU&q_O=yqsQ>;V;JgSKFb7T`KSNjSxq*#!L>7C$&ZiXR7n)YUx!ByTP@KuE%$ z0AYa*kORdQKo|!%Ko}r4K>9I$0U&q>kWAn!`EUnFzYhue`adfG0000 Cx@BMh diff --git a/graphics/pokemon/omanyte/anim_front.png b/graphics/pokemon/omanyte/anim_front.png index 9a51401e8de392c7d29507d9a1260545b5b50c50..9135a7cc90472b8e9deab5840d824b88f4eb2778 100644 GIT binary patch delta 797 zcmV+&1LFLW2I2;g7zqRe0000JsTIgYcvW_b&OAZXc%sw;pyLRg8$;o;{XaKyf?0bn`1!VNn#!1js`PTOU^RpBt$ z6--Irt^iHpfyYRVYJd%bwvfOj32X($83e~Rv_=Dmgj?`Y!S~2RlzR~STuOgUhbH5| zY2af4h_>{>Cnc)E8-NXbJ0Nfa7NCFJqk{nNu9I*iXVe_($JOFZ2_gDYQj<)N-@mMj zgUna_PvGWj;J89KOdJ>qgo6IwTHFF(+%`X%Gw>+j!|J)avwHqAH5qgWU^Y}o_zVkx zm_l9a;p%yEwEEdkOibN|3q5E={<_8gCfY`P~ zoYI>^UjZE;8hhAaw;7`ESpk1E@3sffrGYo|2JoS?CZb4mUK%K^w;h7#L)Quv350P* zy3*Ef0BGPf!|a2Ul9VVj40lUlO^46}*(HJEO`t*{L7$@WvMvO}Bt=cK(ZZ-1I!(bq zk?(@-EEw!8Tnu{v)TNV8qdVtebl3LrEYu;?Qr+RRJcBNf&KEz8?&E)l(Q*u&cE*$8 zk4Z9o>?aC1X}veI-j&Hz84qales%vOiD8>|_m=>XC*R2HlIlTqMTf)2#S=Q5uF000R9NkvXXu0mjfgi&-_ delta 716 zcmV;-0yF*M29gGl7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0+2~WK~!jg?U>ze z8hmVh`si~=?D0DNLnU~Nl1kt*# z#vpvGWdtpsuAYDqq!`a#M2nAaPl-Sr34F%*Osf$q1bW5$_$(qNz*&IF0TxX{1p+P0 zF@viS1d|~J00V%36|kl3`4ozv<&^J*UI0saA%-asr0*%*$$)(Uok#@$j}-`}AYH=y z6iAGp&EN`HqxuryHHChRA_Lz?w@M&vLrU)hRRerG23|sw*b1rmO(XscH?>`Gnlcsa zo01=3Ttb#UF#tPGLn?u7qlF%i2euC0>#FO0jVW)z$VC`sdxrYX=){?B)32d!qeha?TvW<%x*&2KoH%Kw|!^_n0#;Cdz4Y!qtnc?^V4ev1c1RN?`U6X0`^zL2e48{FeRoFE_+e-_0V9wPu0M*q$@ zUU#CWrlzKUrlzL;XEFV%gJ8xRj)7ns>fwC#|J5w$bUoew7dr@a@&D05sN^vC|L7o8 z0E7RJ2Eu*+e>k@);Pn4tnJOKKH}_m^AdLP$oa?;~MEL(`Amlp`ZygLw;x8Hq#SX+@ z{eRlN|KR^?4TLxUkI~bBS0k_cf9`#hWC^s4{+~F1-#~~02LF%#g{02{@x}l5W*jFQ z04CwV|8qYK*+m@ve~XjIY5%38{}+s&Kgzm~{vWqd`aaYB2mddX3bxVzcS1IW?!7Pm zU$vz#6Bu_O_QSrTi_&TUxik<2^O28ldIIEl43q}6re_BN(Y6!v1a0FTqXm)aCdwh(Hx|=o|6ywC-{=pMN+0l`FQwZ60000ugK~zY`?UXT6!!Qs< zoyG-~r7)(}qER1o0wXR`@Ns4rTCM6P+6hV|yGdY$wlSF?ye?>x7N?u1tBuw#9HbA0fbkPHxTTV+8xNL;yA)?yaqv`1YV~kFr(eU ziem|V5$cb5(xm8)G(g<*j8;VoFqi`Y6WSQjU!X$*8#%+6tR=uGMh#T(U~h8W3D5!` z_rN@H6V}^6l_@}gf1AO;oC5F-U;>{;aPl0_x}Vhpu_0K%)t4Fr3IvIlZe(g3mFGg^&PfW{mM=+MT9{sJBeY~&1MGKK)77&TDA zgT2X>A3zEG+yRSt3}BoMoH7Lnuo?{XF#vA>9rzpo>b#Bvj9MRmsK66|%Rxr~`tvtI zp$Y=Ql&S+1W@Rud&4aD;+Xe-7e^cWiVb+Bu3T?9nI|O^r&YpWiFk_T!davU3W3#(C zAPyG-_ZlwV>bw0aG9?Jjtkvb`cE78mQQ6(sti9gun>v<+a(Rk&ecSYatmrN6a(&-6 zPph6$-6iR4wph(KV?PQj;ohDVhyl6kUN7?k?dBl>L}x>Jf%awaKu`6jm1SS@_laq& SpRDu%0000O{3lkSRYiBnA z006Z~L_t(I%jJ?G4#O}EMRNm_-lSwKs^s938uu_I0aJ6Wf!t!GAfQq^si3Nxk;Mra z7^-IGC;2C~o>JE@=AtLe2%sS|3-F@ObbSV>qgGB}B(01jq;m#8AwaQARVC2BGXzkJ zMwS5dlk2rfp`e%H(3rqJ+y>Tbn()*8QCpY3arofvXwxIWesVV3mJeIp16ci2T~vqt zn+|F(b%5Zb4g#nxgmIL+!4{m$ZP@0y@Z*PLpS7}iM#(iq!vFvP07*qoM6N<$g5J_> AA^-pY delta 210 zcmV;@04@L00;&R#V1KnqL_t(Ijop$l4udcZMSTM=+=QiDgyhU!@XTRYGE{J_4!K1a zh73qhi2-3?X`C#Ty3xP+DgKVF4{&{nWHnPlkSyC#fj8H-ZW6#X-*pEaL;+zYuIOWe ze8?6>1kLH808EBN12iuw=PH__ncB@z1Z#V1#muq8507W*`b+qY%?Ix~7l)wup?Ar) zvbpRYnALx-i^gI776(}KIAHKc929^hgs#)O;SzfN;3VS+DS_X$1GTbwMwFJvu>b%7 M07*qoM6N<$f))T_LjV8( diff --git a/graphics/pokemon/omastar/anim_front.png b/graphics/pokemon/omastar/anim_front.png index 42d693d72b330368d189146119dd89c02adc0234..e816ccf7bb1e5ed1af5811b0e18162092170ace7 100644 GIT binary patch delta 1268 zcmV&ubf35XU9<&^<=6Ry1`8Xsz_T@@S*g+7v857hl)vmV!&64%V$u z(Ba8CDG1?}Zo!23>ADBYucr_U1?6IlX%A`thyDZp8#=SUMSoWgy#_zbI^Ox@&3ESQ z?sp1>&vrffM7+3hUl9NIQD?jN0JRN(`+@eRzE)qYajnM81ASwa zh+^esZC9@y=+$~Dm#K7*;IU4`Ms6j=dPNV`bJlL;0hP^a2-M2V%-i6&p=+*tpzExh zTWRt8MjN-NxqmgblM86w2Gdca{v854IT|WQRn{h8hp}=FQ0yLUuw9af63R{`czwdc4DlFv4rGd(8A|0DtU@H<}p(su)rVF)V)jlC@)C zY$iaMLlI}i(i+1?mP%zd5vCTTP(8d%A`vgTKR4J~N!P1o1Y8r}Aaz3d)pG(`=U?Md zz$TSZMZj?}G!X&Wr-!O+LVjc+2VPn+8ZfexWaVz-_!+ zx`mG=3X7TP0v{w#Ws`GmOCb(#>WdFg2#^4rLx1{BXmS8~`Fe4)wfOKS#eJTQBLM}~ zmj3$t!>f)ZW)e5>D6WQO(22omZ|VcU-JK;RZ2%-7Yy>?J)+wr(yB*Uh{eS?8@{J6j z%8Q<5%kfYDxb9R^hUP%d<4&pKd@4uH9tJ#k^_2`#^e~ebcWN?|zQX%5U2`guz^Dc} zH-DOZ8Uz4Hq%?pV7T%7k1ViCHTgp*z0}#dD)9p+rz_8^g?n-h>%b!@t`{%=YaQ_GQ z|E%5L`-J<4zIc!O<5%tz?%#^GSn2*sxWy{>4?Hu}n7Tg#iTlU4w&ea=Cw2b}khuSz zX{PQUe2gha#{Cg6bAZ(ST{Ck3C6$%b{eKY%+`o`*rqWH_AA!LAmw-k$b$?QzWdUkc zV=r<4J*vT3`q-n&`d;GxdmXJ~LVQG_%9+A*P-vZPRf0wks#0@+lFR_CYF+$_!Eiof=k9-p?)bhxpu^HGS#o|4& z42&$!2M`=1jW`9$K)(A;I3COa{l8B>su=VGG~>+V{KvoVJ~}iWobn!wjLcb%0$FnW z?C$C9G@2i*%wb>R{&GI0@xY_Fv~AG+FEWQ2q;1;ic;ItuN{xtzn1UyLiv|p=!mgH032kfe=P&kyt$ eJj@aQWBm(g^HsOO&zr0O0000;EA_qIb*G5B^2UJ zO0J5lrI1qSF7d5U@L?REyciSNw9Hk4P!hdg=KbHBiT_Vg{;tl~N`zW|S=}Yo15&9Og-p5gf<7cjY!p_a*2*MWPg$#81e7-`F;Fcr zyJ&->Ix&6!fDl$HtWOw0N5$eP<~NiEd+KLD-{50=fwuw zMTsDxXfFmE*0Rp>r0btU&Nj_uDZu_4A>hn!6PGPWJ z-%oe=?5E_Zb~Z^wfX4liZ?7f5@oDk|phe;$cE+cEZL!0#u;QoMIbx&|0sG>OX)gd> z3^0Wls9(QitpzZ$Qy|WviBr{BW6(&$D6z4y%_xN)z<*<$hj6Q z^fBhw&k$&yeF;ZFH?fQg0GT&+3r(%ezSdy0A`TMrP8OCLg6Lv!$Z8~_?+1m zl}QFgJMU8N!dv5pel##FrnXOcKfRR=&bcdvIJ~aSKRiM}Qp!0^uZq^-l*)_O^Xsko zhu<(h=QK!Uh4x^|%Z?F@Ji}oy;hux3`XzxB*20aU<|TI47VY z^xL*)d5+H`}=m{{!1#$nfn6}xqrH_nOY}v ze*hx)Ujpi#%>7Y;nFp{{^}W>n_pk3_o>RMz%V_up%qZJRERC{{TQx<=~$wpa7L zrU>#mj(P7@>i#|7`<#l?K@I?Sc2oE7%U*B-{+^F3n$uizfAIG~78^u`i0RLl^w1N@ zLeC5$8LkY27?{7O^ZBDB4)aSOP^d1@Q3IG;!W&9!hrdYNU&01~kQdOwu^57J^M9t8 zqPZu&2^Q)EXwlFN=#l2|u2=?!4(ELu9V3o73T8mx{VE<0LJI!hLm$;F{GvGHOlA1p zAGaSp91l)-mkzU|(8Vy4B}Y$gAKy%p`N7E@_66)O!wHTD0mh{R?th*;%qVTc&BlWn zcP7|~#So(ea^~QG0d+W&c!n9eGEc~+IWYed0HS$8qmhV#hV4s-F-3<-YnEgMg7O}I zlZ$Z=-@4h*;Nk=_KxsoITYsA$@HcutNBoQR7ijZUw}_?^-v9sr07*qoM6N<$g0;+J Apa1{> diff --git a/graphics/pokemon/omastar/back.png b/graphics/pokemon/omastar/back.png index 2cf70e6bf1956c34f2c92d2879ab94ab4dcfa4e7..7a62ec01e4bea1aef2a788cba6fd998560d2f99c 100644 GIT binary patch delta 572 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 Tg3|3i00000NkvXXu0mjfF+!uy diff --git a/graphics/pokemon/onix/back.png b/graphics/pokemon/onix/back.png index 4a9e34afd31786bb30e567a87b72e43db1062644..3a361f8f59a96ed19ec7f2b63181ded7830d188b 100644 GIT binary patch delta 766 zcmV(*1K~zY`wUxn=+As`; zlSA&YH)eXQ)ns45%-)j<&Nx%=JrwjL+nIgrO16_gVc}HIz)aBRU%zBI6vcmC=1IKV z9v%ZP+udUUhr1^N*gX-z!xMprK>3C^JOVZ+eCV+xd<=-dRS~69fAz(qw!iSoqk1Je z)-zgY_tswmr6yUCD1SJzj(gCqMU)$&nc(;v9UVJpR*!R>XsTZv(EuC#0vP)D6M}PA zpH#aPQ4LFcPa5I3+qOt&SUgs^&lcG0xg&A|BGI@2BSr~M%eB%w(Wyn=bA}bb7I+iN zKAPxg(cxfenMjQYf0!0aOaP5@TZGqXwgA}Yxa2aReoCK)hUx_vX25D|6gtO>oFhw= zmb;o3fK{f=8SN%Zly(*v0Dyr(B{fUmlSj~t00YXW$CI9IYG_sg2FCP6py7B8=quo8 z&yY+kDXxL3`xsv{U}6SKkpXJI z{V}LP{}-Rf<9>mN2@jmdhf4wi@@b!TJb`J#b_(0$;P`)4z_ki6Q?|Li=?*k&RDWX)WzIxR5 z4{kiFXQER*qlI=a{WVa3YLXR+@|Pp)xCiZ8M7blH368(e$+3fG^*G0gruxYd4Y0#+ zfT4doBRFUES+z?M)v&}5q!HfTzD2sg;<3U*w!mI59g!OliN*yOF-mY+u9e=1&Moqu z3#3V16Et3 z&^cD*99g2Y+|{%ItTJuRXm?qnw6nkf01ON&sag7&JOaDS0t_gh9?yEVsi9c~7#PzN zfrir-&>P@nFOWf;5aVo0;?}RgXK#-g@H{;x2+$cdwh}*_x=)i%qXe&1 z;Ezv5WPsWqe@*Uxq)N-MfPA;Ltzx4heN|< zsU#8dX^WEaF$aKduy6Ya@Sc?SRWbxND^0hS2fL4r@S_wcow#rYP7^y8Y|C>ZK&2u8 z?J$rC1R=T*=gh3L_)Pg&DDG8BB18DCCR}O9>spe^@p_xU|tKrznBQHSU9c#4+4))oFUHx zV&`i$13WI#%ane)`h%-foD>q!dHeCUNhbX@S z(u?96;4_qDm<(l}vT)o2F$?!t+faO2A&#TBA>fs`YU{tY0R$fF;? zeq$m7Biwk=Rbd9?e%^W$GGSsjVEEjjE3$5c=mCP znN-uvu2PE>CA=6+>=)<$X!tAO_AB6@ppVUYrY3R%RL95!v=b}>6fo+Hku~dNN7sL# z5#vb#?I@%{4^U76(Tiy$h3=3*q3;y;HUM&+DWA uvfENU>iNHfWJ}X`)ux^Mr5i8cEb|wJAm%`r?X>Oy0000n4P&B5Uc6w=?Npxgcm6*3}f7I|U-rgvFD8O0>=>niNlK`{M<`v%A zpm~Q`Ac}}LS7>#ykTBu__R@Wj`5|avn2PQ*2-IzTbwqzyz$ZB+J`{nN6W3830&fiQ zB^=nJ#lqLz)nmecGVo1HkK2-J>+gFcvv4_#Ju;mJ5~oLag+RP6<|tVkq&9Y`;%6x* zho&A!ycl>+3WNf&l>FwlEv*asr_tir%T>RYYG%ZC$2-yMll!+S&Nr(Z;FLWn^_2Xf z;ObuAqTQ7rgJ{W*0-3M*kvqTQN5R9A9|s;T`0>QU1wRT(9?txj@o?rx{5=|i6+ck; zu;9nYhb2GoiXTiF_%QLK0|F!M3qSf9r$4yxVoW%W^O4Ib!%Tq8Je{=m4)|I+G6_Y7# zuhaA+o}sd%@^H-H0&jn~590d~n3gh}@$-WMyFFQ+b9k`4;9k8w09R6$@7pr2Ex0}?vB9@qnMqIFAh@%~s})JIkmWmT9~C!p zT3+3q0e00!n4D{1f9)o=_)*I9VBZ1-p0MfP+HWyTl4SA-pcVq3QT~n>W5peuu_!y> zc}UKL4M*qcDXL29uUn6w!2{3PK-lcY)0~paN*7qeMK1tu#=D0VpYY;uKrE`N*#i>` zD!wuF7>i0H(BXpS>uaT1Yx>s3^43HUZ=4g*y9frt?Fw(Ye+Yhk1V#uPg^L*#g$%&c zsPr<2CS0l+G%DKzpdYW%IY+4X5t;)aJmeI?W&Ml+7y@mCc^0P-L5`sV&Q$nf@L@@07~Z> zG<@h5DA=R=2>lzB0r1oN#*RvRcCaUQx&7i0e2v`YI o%p>3ynjcnU%KGWA<^NfK03w6EJx}1Fs{jB107*qoM6N<$f>@*+qyPW_ delta 612 zcmV-q0-OE71g@q=C1vrxYh&!d^??EfzV+IS^oSb-?(A`NM3O9J z@y^;ui5odBuI|nNcHLQ+oD;Bi8zp`e@;uN=Ab}IM{iA(}VUi?&lScrO5O_!VI~HTd z9n4tbo?5_DdFM<>xH?a_C`+lo?mYenAKn)3*+58k>uFEPWvO%QVbBA>%{hBm^Mn_F z1H`f{>lQGvq2doi*I1Ss0UZjO>l>w+*7VlJ>efUc9$XNhn+ObqYjSV)7X0Q27$M-u zT=b~OWB@#^O0P11s6(k@pjK%M0DZhhXKbNrEz}2q@Q{%Om-amdz!1<`Sfp_a5y;SV z05p26_ufJ_47fd@NtqYu*dv%0FuntH4?t%Q!Zk+#zXIS?r%>}!5D1GB;B{6pkTSqR z&~(5mObY6NCCR|p7L3zIJ*z!I7-tI=gOc#8id27^B$gS|a?tTiJ50000^gSjD{&ADi;$rW{PL*gxXu(PSca*@I!e{z!3?4^gn#_z{_?>?kk zTl=4f{OG@mqAY){*Vc=V#4*N8QL2?zK>_0(jGw0oPz@F3JSpRs0P1N1w2kC;aV5bn z0BkJ5Cd#EKj<@L9U0{T&(Oe{H~GlH0m_0x1LLw&>FepbS=6M6#$rwf3aDW=!x5MTSq+JF$6HRbO6jE zPI3-4I&ukhx@#hc31y6uYI1izX}y;_ole(yn55@QGvLksVB~@d;NVBi#z4ECNPaA#IYHjd`qsOq?5_ea=n-|n+n#{ z@MM?rf05+Cl$r`0OFas@yL)=FkDajy_PyA`e5fHDygmJHA8R7$PrOCEq4Eu}$lz*} z1Jhm#>QM@s+MsnhFhnrMivbzJs@25WRTkVXLAvK50Ng(v2sQfd5@?JcyEA_H^8lX8 z1|jK=`e!g-?etgx$1qD+XPpviGv<8Sfd>pze^1!WX)IYpw+KDzQhIT=Q-_Dtpu%~H zje<^jlFb7`-cZY~)HPulHehFGK~zY` z<hV!Vs-)3gApqb)g4%J?~eMp^*v zAi1-(R$vbRHkM!;^Fvxk9-b}#vF7qP27HC&OxvMiyrk=k4?{7fUw-uuP?`kDd?bQ zj|Dud1!({k;!JMFN28r|2xA4tWH?ilc|ZWPNA5V?i{7dO0FyB`f2$HbaocYDgy*}4 z0H&4>fLX*zE}=(PE}?F(AcB}s#we*K50{hnTe;iq_KejcJ8PmCNM+=@`|ROIrr}E*HJ8A~>FSi+oe% z2V#-I%_s+^{S-8!6tuKK`+Q)CV2l?56~e03!rDz1+%G|T<{vzQjgRr@YAaAtA4*Wmg)Sunn7VGBB3{$NAz(3%)2bHC+T#$0)-l-SG>dMzm66 zzAgfH92c>o1UA1Bc8!@)#ApV@aS`5)%>c9%h0S2Md@6t|8cU5?)n-2L5HfyZfjB}e z#gfLNfCELTaxqn%&ojU%7?L)tQUE%%_ajwRMUVz%QDg&v5&Uqj+H0V1Lj{Xcs4#?| z8q?1M$)4L3CN~u}G=o}|8Eb;33mb-h1i-h~z{&+uAo)_^&tY&-_-nwr3;$3Q3O@mb W*TnqQl%i|^0000zopr0KEzl{Qv*} delta 36 qcmdnNJb`&aJO`t+r;B5VMeoLbNk)M+r{yFWfWXt$&t;ucLK6VLy9!eP diff --git a/graphics/pokemon/orbeetle/back.png b/graphics/pokemon/orbeetle/back.png index 0fa7b812909a205f545a7501863585114d7f1e9a..9d05053b6f5cb652c7c9737e7b2c52e38dd7fd78 100644 GIT binary patch delta 448 zcmV;x0YCnM1@r`vB#}W-6#xfxNliru=LQE092hK2W@!Kb0oRd}KYx(_`l8BEFMlbw zsHS44GwMrRKn}tS|V*yel*xP$c|DbO{l0ZFkDn^r{$}~?|XY$I|%XN??+;AG{4^|*htw6!+w8z6n*aG&Mc>p^gko3Tn zGkLc_;eaYN@Pq?6Mo26;j|2jbA^?0_M*>4Ucm(+B?+FBc@ysiep#c_uI&Cxqa}MZb zWwKKTGp{y%9s$ya45OK2oKfZxps&VD86(57k$nINmA?C^O={8yfDozNIi>N^Atl1U zKw1|)ICqbXIlp%6w;`pO#=!@0yU(lKexY!;Cs%S&WOw{c4B8XW#}Hx;0FA^fr>D{T zvZAvml$n)Y4!|-SDSgaKj;iUo2aJ|vz*hr$!14ePWjdgYfnjihsdpoT+3{=!@Qyz&QEu3ei5aL#V5fIxt zs~e~bt6SZ+RVg+}zu&>25?=S#5^0n2qrt{Oc9b${LPdRn;i76gEnh8u-`mUDL5L53 zKN5p0=Qtu;L!jP+0V@K)?4$wk7Jrm6o<{(Y0CquaT2ON2Tul}Au;1{>=GAQQ< z0YG^sgH9L#uEP|hrR=k81H2IW8tYawFz0|?Rwg@jF!O5D=Mf-%$S|5Y#(x=Q9s&Al zyp%CA92?mOfKchXkJ_XreEv#Ofrkm|1#9AVzFrDf6KRtO{v4IJcQT| zg{m-Str~SoZ4Ee#vD&IpPYg!Hd_3?j*%M;U;x4V!*e)Gag_Y+GSdB3{sikS)A^4V3 z0H)ARTT}W%oo)lLo9Zdy8i0Bl5XzqEQL0m?mMm|l0H8ZF0A161+9BzY4Y81zQ+fci zjEYj?W&!(vKBe>|e*=(d0KU9oKbbhx2qBr2cMbvI@0*a}`JvV=3xM?r&ok%z0zla7u_h7033IEWX&3N$O8M-=%Y9b z&p{^%q4n&T`=tAhe+WChQ!*(JWr1p2HKQY;#&S8U1F-p%e;<7rd{<+6>aY=B-W&vj z!Qh)p)frh6d&6JD;qP-#mplKHS15i%^} zA^kERm}uc8DZJcU)Q5zyjXCG7Zz-u<{Pq4d0EL8mTPxSx7^dtkwG=P^k?8lQ1bwWsH%G-wk_`4Q=%<$|`=avOveF9pc zed6%r2tX^;@hs?uB-~Kv5g`vdJsn&3r@^aEEmXYq>Fhe61<$)tC;=RIdSuNS?T`ig zwdjL54=*4miO_lWnERyrmcI`>y)!Z?4`o5^RJEcbp~i6~n*-SV!H+%hywlo$JL1HjxxuOW{;+tGQc95608o&8I$v-Bplvt@hV?$ecSQhmtS^n%4OgMa3d|6=ff;bc zmn+gk`e!U(wDFP@IjIIPAzWk5_l7D+<>D{*ZU7V}+}m2o-J(!h*J>vhEOwf3mav%% yP`7#g$OC%3mwy9`r}^Nce&8EGS|0k>3ZXv__5FKi5RR4r0000O{3myyvpwN~800A#aL_t(I%iWT(ZiFBh$9aP< ztQ{oj*uf`o?Ci$s$l%aE4-Rc&Qxh5P-lK0}6ED#Lv1gmyB1Mo3UOIJXllwM)e?Ia7 zKZJf?T5p!1t2`udD)O2K=wxzP;1zQ1{BPz>|Gv+5d?qpIP81u8M zqezlcp4UL4>g6rQ1M-7n@^QCoNTi7aBUYd>R=V+EG+XDvCawjLMk4`blXa6mJT%HA zzP|7zBQ(ACC!dIUZyzaLEeX7mBpbOyGKh%{918^bCIC^2g>o7ZE2KU*<7qG(U z^?QL3WQAEG=iI^-wNZRK$zeO|6G`Fsr(8MOi*V)00000NkvXXu0mjfXvCyI delta 338 zcmV-Y0j>Vb1HA)~bbkReNklOl-7$TccGS+5-?5$$y0dXiU@BIFpoiOIH|E z+-5Yh75Aa(bxUQ(3$_3>MO2m@XDm#1Ze&uP7z?wjvq+Lsu6H0&_4E?s0fj*^dAn(j zBr?PUjTIP-l{p5WZRs>P#ajRwqzNdeEJfyYcT`ph=K~KDUgg=v6kL(*)<*@;hdn^= zTMM%7_Q110I7|ODFaTcyqjd<(vS*DaADF>^w#^H;z?kKGfe_>ZGfU2*W6F5b(_gd;I&q40>s>_@X`*0w0eFBE$n^;do0bOC(twpB{Yj~=ig<&F zD1D@RhRn{I^Mco;$rMn`=YM8?&#o=&zeMvNc^2HA&xgKaSq-OFe?Rmk;CeMO4aob# zvRXbf6Aj4wo&8q4c3x{&H&yyKm<|W zs~rN25W{%#DTpM%Os~!U5XbRk7)JqbhNdd^csPlM0QF@zCLkI>{hyp6v! zA+C*Mg!sbn*Yv_@f086%f^fzfFkY_SB z2jJr)+y8pdffRvdQ9;)>jA5_S&6D!*6xG~18`dwROv|1JTHcL>ZuY)Tj*f8XDiHM$5;1mr|Z0*hml z61b81jf)k)k90}pX4zVoa{#8I0A{^xhO0+PC&)aXstP>Is7Pm(-6Z5j4av7F04S>- zuI@|`U9cmiP8E2yDI}=qEkt#zT%ISQurgg604loM1gj(|bm15Po^O}1c?rH0W;k4& z;K;f|e61ShIO&0zd=;8}*r69YbgVt8;pYX)DkGd4k+i05@I(0=EJb z2*nzwCk(G!wY8l>!uKlIt!!ZHU2R>G#c&EU@DA873JOdY@RMunB=s<76)>=TL_&93oP1vOX z_#g>Fq9Y*GW*DPW$jPr^u~CQn1?#sF=xbft`aW?YALe7w35|ftfzSwnzd~O+a68M;=`UJ?PMjiP?E&+%5^d(E=bsRyAPQ1Q2$s1w4_%Z-_(} zfaWCt+_2xQYyypdVKn*Vh63<)*Jgf*qG&RVLYLPAT^4gZoPg5DqZ^PyiL3 zz9bLcMqlc9ZnbR$bYb+XyD%?~V>CfHAjxECwG|%II*V{BrR}b=e00?d# zznuUX#?y3j06sqX`(KYLkPxuUGr;bvzu)iw6!90^0>C)zemuQKqR4Vh@pK)?IP7)= z{5%3CDXi8&rx!D}xMBB-gqb0+${u7qNjGfaKR@5^e-{9qcLdB)Y|4DbzP~SWbO`VW z5FITU4vxtR;7$O48=EqqAIZ`alVvJZ&XJfx4$OM#j7El@=fM?q! zPF_rxQYsRci?fUdCtG8~~nx7UIARY1muWEInFnXUbk{;+qr~uvSBsnxLB>xfw1%dALN~!NT@(~BoqlK0BDC{ zI3hxkXea=0hoAeTp?ruAFAq62j18n6mJSd;@Ud*Ac@7+mf|jh}2wVk9jd`I1wFpxw zfsEqgu%#A8VHN`DgCH0SPk=z_VN6aDC%%RffW!NR^0x@+D^;56JaHx-=3~?ew1AAE d&;0&Ph|K~zY`t(CEE+b|G@ zB?vGIcrg{HyDt(DpdDn>ZV-2J#28sC>%z5wEA;^am1{euPmnZI(HAJ%(NKrZ**wcj z#-Q)equfq9X$lts{y!Z5$m;@J5bEF@ z-?jrIr54(>1Kw1fBX(49Jf(}I)8wH^y1NJq0PN}_OdvEh@a$tNP}IQn4F@QlgqRFy zqT=>8Vw!kWfG%J_69w^w0i50*ARXXfnI0|ZHf>jioEVC8Y1_cE*oVAja748zS47CBjWeKmM^u77EFrBz7k4~{nrIr8^wtg|=a&Tn zrPfWtn?Mjbf91G7@x>(*Jx|ikWn{CLXPB+|=+!{@0WoKjv+3`m9)#NDxf(Xl%h^<$ z?e`v1w(RS@Y}n{myT|QgkMsnFihM*(mn9j^D0^X^<0Urt=vPsF?4c%`$N*)vwO5^7 zSU@r+|2){&!WdIXra*sJmG(!E2#h2%(%0J>ux=&)8_yF-=jqp9>L;x@5i0^f6?-~&3X@-fgUsho)|R(E$EILfgTKG z6VL)rA6?+fPRkbwIwz!Q{}TiGufu0YrNbkPdLfxqKUgiNSlef#*L52LQ79p(wxI z-w(JlrVcp0D+y4iH#}hC%c4|prq*m32qrlz9so{8>yKO+69Q&`#mH4LV}WTLB(v{M zhs!U51^guX>~ue30f~O9d*FGVj%Hk)GS}%F&!YrhBsmX4C5u;8r*$Own9M63^zsm} z*8#5&09hpmXmi$r8@Q8AjtLJOTe=v=*jQ^8Xa_boHV+W=f(24Qx0Tcfz2fR@A^Zt{ zvE+arE!;kI$^k8Zx3Yf|j2V|bx>iXAEYc-c1}zF2JO}@2s>Yg`h6H~|b>eb@q;o08 zQ40|5wNzU7DMgKtA)PYECA}mL;70BMIH6p$S460~jdP%Rhm?XoETNo27k4;>il`e^ z^w#!6@xuYW)~h-pN8pE|7*-vhUoopE6`fp!Zuhbj)0JR3+RmVpDFmU)xB#w!K~Yi+KW1f5-3xSx^;3>7odm)i<(ZtH3#g#7=12_b$1>LO{3m`Z2ZX(YB z007fTL_t(I%jJ?W4#F@DMZ*cAF3koGWT{lnQWzq22${-I zsYc!GjEDu{&0qf3xAlbhwZahfk0}c8V1Ls|L_t(IjpdRt4uU`sMezg^8n)9T*jeIXNY)Os4c`h%?}CY? z4GEqFEjFQ8sh}WX4c!c-u`y0JKl3MlCNBtnt$erWpD)o9@~sdCoTa7Dc1NyIb%(Kx@qVC!HUMht5|q&i zSj%be)04swZtL}S>2FzN2S6t1g`YI+9iUP)FZ2zQoa}aJm-$bpQ<#PZ5CKjzv~qBR zG~a1T1pl*n10&lZq#0}jMS#}hpALVvcp1?)Kmb4u(?T}knVJ!M|5>fULM_~CI9Az5 z#Mp;#UligwMg)p0{Sbh?SuFm@z!|ZKBjy}47I0u8XQ`fvDWXI0vhny60C#eT+9eN; z4#5jH9^TS(HAIaegd!dsEDC?6_xINu~o1{t-Z%MrGitHb7$G>pCD!J#nC~@rf2lkaO$~;FT}%(}6C< zH9q#)$T0j1?2QC4UrE61#%F(QVi+EgfIOFSd;~uf;h74sL6$R0d6AxZ#4g1cmK?}M zp54jT zuGstC!|AY*%NYF5+@1~?G8V#RdMxO$u$OdxxT@dn!r8JQj9Bai@uVBOkwVnqsAcox d$Y+DK`!D@$*VRIOrQiSn002ovPDHLkV1kPxU>^Vg delta 690 zcmV;j0!{t02Kfb$7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0007LNkl0C$FrAa%k#0aSeW;G4EXC_E*^1!yLGKGPJUR{E}P@8mClV(=->ES z>kHBWK!?P4gg_BPmUmQ}XrBPbF(iLrW9@T~_L}VRK-kE@tz~hLh9E-wLB!9DKw1Mp zG`_t3fuSFC_RArN@2H3<%AJF~AvSjwC50~zQ|JTO9(_2By~1%HD`!s=d*@KL^tUm9 ziq5f?L%c&=BNB&WlL=Q1qUBRc@(eHuwqv1pX1#CQrFV7#5R#BBw|=AF(8YfTW-I+t z1st{!z65N43+R0~)V<4_NK{I?9}Xjcb(VCwN|MZAO=4pJf=soBIFF#$0!U{ICCIGD zFB!k3-j$CSK=JJE;dxGKpzxLlfR-7w2RH`|Yr`0eW64)A0(2oKw?QJcFjioS2Vvcr zMFlvyjQbJHDi{(Nkr-D3?*M;+At6m^^>cu$ZlW>uM15P`DDF$i*@G8zq{zd=0(6vf0W1Zwz zhhyvH!(b6W7#2i*?~GuKAP~t>Gx-#9!nhdwbusPy8fn6U$JfRP(rF$=?1sOmh1w(h Y0^FWAceyU8?k!TF$51 z`*|{q|InJ^ddAEqi0h>uKsF#iwmv?>;DT%GLYTrU4cl7aU^q|%mT<`w;OPL@#k4ne zZ5?2s9%b>Iwz|4qL~+Vk%FcZqKrfjzs>{$|mnoaGG|998rED_Dw17cZ1^v7po@#-U zqWDJ0X05BiSQUi7CA+n@S*r)me~*8Dwe`S=^X(Klf7Mg5t1q0#GvvH0OE#fa%pL%L zR&KfvuPgrij&E58g98xa!P5}={YC(xpN?|zFHS>;Jpo?q@;v{Pbx#TB`3EDO;Xzg{ zfb%sWMBeZ7Bx+|t4Oox(!FGbIY+}fFABWOa`W1>3ZMc)pob#VV+3v~a7+rtau0~8Z z+bO4fJGoGHLJ0DGJm0cuJYNQC!3n*wST4&<2}nf?N-RrNh(^jDEm7v6^6}CxG)1II znIespui@2l(YX}NBFQ|};WIHE<7ClWo_G45SDzs!axvh}*rgb3uO7lgAO-`L3%Iz| z^{Rpm_v6Ps{90aAC9FO?0sw!WM`~ppCs;Y8JfBo|D(2(S?TRY>+VMgd?W@EGpjmyF zVHZRUTLK6ik)kHJKG+Dl0)ZAdk*^w~K7uybF0@_8QZ&oL0m4L3_$+dik|Rdw3o3HH z6WxfpI=d!@6|8jr>!P^*DsMNs5%wSt#L17_LLI^?Q(NTbP4Mh@%?cZ=;2(cV{{SFk V*w?EkQ(OQ5002ovPDHLkV1m;NJRJZ4 delta 634 zcmV-=0)_qd1;Pc87zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006pNkld$K9Jm(PF2P{@Xp9gK3@V{Y(%NhT*^c+ZKXd z->O55c74SVr4If0?(s>7T<#c5eOmIy5MpbITmagid!!JP7m!rVjG=Sj1t14Vc^rRb zFhlR1MM{uPqZmB90~nZ1ZN}`@>w|^C5(7_@lVGWf&ooZt2Ox!cSr+EJu0$*O0fXq5 z8EWVS@{OLT6#9V&z^eyfgB&K55WWGJzAzVTj2qx_d(MgezLDp3*G~Y@*Z>;l8+pM3I0Ao2vX)BDRexjNqhGTb7ElT_ksrhUQE{! z5!F9{!3Xn00;jy(>|p*bM=g--*G&4UqO1IqvJ&AfJ`l5dzo8UIC86xR-zOmlUvo zyWeAwXgLaDGAFMfb+l z@jTk3#!Cn~5g!pm^>A|q=r;k-a~|#SDmH|tO}U>7TWvgYc^ziwsW)H{j6w3jb331HHHz Um$T?V{r~^~07*qoM6N<$f`_m%ga7~l diff --git a/graphics/pokemon/oricorio/pau/icon.png b/graphics/pokemon/oricorio/pau/icon.png index c3353a92493b2fe4c14e911702fb41cca20510fe..98040bf38dd0f0ede868f4f26fdc1ef16b801fbe 100644 GIT binary patch delta 313 zcmV-90mlB-0)qpP7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MZuNir-#x0002yNkl>w=8V(WiE z6ot^Ct)(UJgzz}FAw-y5!!3kR59ha%7I|pH&R5gO4i9aydQU(@M5{DC4M;_^j8nee zqs_EoY5iD^3vTQ^J06^OuHvUAYb%*9&3dJx`j?7vmem*|XxM7K;r|0!S(bv2F7qgs z3=K*?fJg!anB_A|opWGde+U8?IJG4b7>J((lU~4>#P}G2`7R$%JhF4YC3sgP00000 LNkvXXu0mjfF=K%P delta 266 zcmZo>zREN~f|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HAg&M978-h--hfKI&8qv zonSEe>;L-b1J}*2H*7D~;^mr>b6c!b4YmdfXh~)SGpy>GW}m@! zU`_sI(QS_xvxy`}Cv6ZfxG_Wdzzxr-33~TL=e^PTIGZy)xJ;Bee)5I3?UpuzJewa) zEM_~I6?1IbBZr7m&raLpAH`R@E!}s4E9K%<25&`A@9&Cx48O{4`5WZDX>stT<@tX& zw%6Nux73$(ZLc?BEBe%b%i+H~yF`%K0Tzq5dU5|56*?evitY1fYi)JYD@< J);T3K0RX7ndsqMf diff --git a/graphics/pokemon/oricorio/pom_pom/back.png b/graphics/pokemon/oricorio/pom_pom/back.png index f6f22ae1be885c0ec0c0b509a46d2d0473fb25a0..f307c41f03993edf114e4f50f3fb51401869c2a4 100644 GIT binary patch delta 702 zcmV;v0zv)J1%(EX7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MZuO{n&2g0007LNklgG6&ZiSl5rJZPFlXR&R zoo%*CRXESV9P*kmQeOa+F)z@uQeFY&CAvm=hJLp1pDBpF>bD$%AKxF}=OFkW|6qT# zx(7i2=ny~$QfPD_MGNgq(dvcf@mirHLUw@=MZKFK=!ED*N;dvGfkFt)Z(dEVH2|57 zchok5N|`8;aWUHl?MOq8ckt)$T5!(A<=w3hGz6L$5apbwFTtJf!EDe8HHB(>%AOJv#gF40!?D6qz z{j+%z;lljRQwK1^_{WE4jeg|7RjA2SVVpu=c;%gx1AM6SDO$v-`Eun=QGm1u2LTV; z*Dk=5+`8?T5$fCn3|7S3ouSs$fu8*^ZuQZ;8_dIM%%P5pCM+0)=KZ%+)UAI-0j|RQ zEfg{<6oJxp8)XwV*C)F|pz1Ymmt&;ZG>M9+YgE9g5+Jk8#p~J))Vxa31nhGqs=L$x zjPv(3CK?N!@1R#xf^`?-@Apg!$gWqEK`rr&jFvW;!!U4{B4G4cV z1jvP%z#1{WBw!Gc?1J*XAi}OU1YI?b0FtBWBPf(yj>t^6+wFe9s051K^acm z6u|T$sQ#xCZZ8NJy=bY39Y88zO~49Bi6=lxL4J^~`n(k|TB!#xrXpA#h z%r;*Za=ccTKHy@1yZAol%A4i(4?wuzO_cm-LYyRNcR&0#p)B+D@_l@|g=UY#U0J3| z`0;5a0HhHzfGYnDpesu{)Ton_5J6U((ws7F1gk8^wS`YK zztP7MtsM9yUytAfsFrX*I?Wo;yaJG1=7+etQYzC>uHYyt05usAv5<6}8KQsV2Xz(X zL(b_>uxqt2GcS@I{x5rA9OP+t2o0-;FVDnyPh4o9auvgOItLC@^ zCTZ>zU;li-5wTNs&l%y!NkAy6?+8RD6eK*#QL}^$AaXXG)hq3717nr|T3c`OZl?7cM0qd<&?KPH`wS*ihyX-OWEX#m zpsjOG^oWX9QqXSScW3d30ViPwAo{-mM9Iaush3L*DOh$Kn_* zJLv-fJ~ddcO^=`+5b~K|l$R-R9|6 z-gc_M?`}Y-*&PD5A)M)0-_&6Mkp6$MbPG`DFM0+jB2qm-Q-mHtQt-jcdmt17S?JNr z9J+b|NEy2N8qmbZ(iEnt1q5daAeA~H>{|?tAE(@z2$fy{QtuE*!MI^D0h05?LwgFz zE&|7(xd_R9Ix7N{0WpRLlCwz84Bw7ZzRVSZ#>lJGLr*UN$kb_K5g+`yLic~hSwce` zmI>nX`FK?Hp8VVfZq))pzyZCNMd!y~9MW%@JG{oNXaiu!j5BTgJj9$ct*1Ep3zs}E zOAim2zu+VQ2;c-w8(&foBbc%c@~@tR3N jtu;c1T5aX8eXZ2~J33Uq*il zglGsr7t|mU#Qkm&i#_t)zym};?+z#dzd^L0FOljO$)icQ^w5|-SLJ>NRD3;q0;;!) zWT^G~U}hQ(bv=;J&8nL~-kpQ(QO>DtF4prElMd{Pt{vl)$m(x~aRn;NVH=c;-)D;H8(t6978-h-%dHm*KEM! zEWK<+uF}!}|F;{b#x#h$HBr(_Ia@8V+*lIImkoMx%;jxYS`5yn?@ z`_*(CUi}M_(z7n8$(|}aiETrM?ltER64R}CAO16(Gx<`2VEx@){VG0HTh{1S88n|b zk=V4@(exOP;L^P1DghT0+U^|<`zs^**!p|o0?Xes1Wyaq*k0bbe#OLh!dr{H=EijA z-oE+g?4_*P@j6e$U&Z^cV*jxC%+J8Q9|z;JPW3a+m@6;oU{>eDxarg5?+gcd9m?!{ g#D0a??P0tuB*cAhoAE>jZlE_kUHx3vIVCg!0JSoPHvj+t diff --git a/graphics/pokemon/oricorio/sensu/back.png b/graphics/pokemon/oricorio/sensu/back.png index 25ed57b0cd41d4ec7761e4261d5cceb3e6de3393..f2a372c64d4997570cc9acabc9339b5414ce8f61 100644 GIT binary patch delta 602 zcmV-g0;T<%1)>Fz7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MZws%)#e700067NklB*66bEp5k-06Y;r2LiyHAkNJPPsVAcj6xt2;K zu>u8h0JQ{F5BnJbKyN?=2ui7ADpG#{rV;0%<1T%jpcjek<@$Z9+Sq_M&A2X?oTtnN zf>75%)s-MoVgjP;OxJl1(ZLE*zpiuL>Hg`DaaBc z?0|GL0;Jf8WH>^^mSbf37bp)lpa;4IJh6gLQgZX#@ymAV>z_b=GyreEoAX~H83vY& zQ6MjXk&*R)bb|a79EL$@95hDjC77G|R`!9Bf%^&OL2;*nu$=>!od$7}aqNvt`4vE$ oZHl97WE;SR>)UNIIH$Vy4}Y8FX|g&9w*UYD07*qoM6N<$g5V4e5C8xG delta 595 zcmV-Z0<8U_1)Bws7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006CNkl(xZiX#ePs z5MqoWel19TN=c9}1-W!mASDx~m5`GyWFJDB6*7Q`Cd>n1m&Ro=B0x-&f&!Aeh_HX) zmw;Zr0wf^J1B(@b35dNw?K~5ZCC~tN77*mrF$;1AY=N53&IJe%36b?96o6qSUmA~y zq;4&uRN&7yK>j@wSOoOv??4GL${M`+QgsfjMu9Y@W&@rbT@=MQ*Nt@nd!&hW#$z^O zuEh(;Qc;hgBwO`_LO20yrIHSi(=&ge0D6G^B(-q*g#4ZYjfEXRcp)A0OGWsWa0r0s zeA>5!ab4G~XD9&Ddq{lA*B=GUcoYDvb&tTIFRQTj7xJL1`+YJ3lcrjHef5fotDB$U{C1+@9r%65yf-D&R)x+UBIQBPNaJRaoJB#?hfFV*=n z3)H9s3Ob|81@z)_2#0Xol3l@<-&uomM*j>vufe&5P6>aw31zl&H6vv&#mY4!miaO>X?AVBQ4Yd=pR$SU_ zC(|CG?T|`sY-Wi4=o~q|FHl9GtQlhUYw&sc?i>jbkOM$rk`Hj-SIq1y+KQA)l4UEE`CxM5oQH8 z*)4v*0dX*ZnRgn5Ff9r(IZq)D0p=rsgmbP@!AEHfa07GB%4`Gz$0ZL+7I`lKfk+Av zeAl{o3-bUVMlGOmA%O(-0YrQ}C0c)gvrq!SOs-pQ6OBoi=@dPb_^^I0Af4M$>1J8W z>{jqbIZ(;6+i!eJhGoVfI-f=*yN$pKavQpM4UH|&%YmA7{yQuMc1ZIWZ<8F*h^X7% z2MMGl0G3k@sQ5h6C~)1A3&YAa%!?vwO?n0wMwkO>0YHhg53v=iI9`+DiSmDB9Vq|{ zH!c89$CWXxcU9O?Qqbs~$;@~#Bm)y25RKqzXn-bX)-y0J04;7+%ihwa}yN6cqm?`zztx8q| z%(~O=8jGO>*fP7q7TLW|2w(ikR=P&bD%lF9^UA|RrtfiP?#ujg|CMe1^O?+K cFX%`87x`#h8mAkiQ2+n{07*qoM6N<$f@PdfJpcdz delta 713 zcmV;)0yh1z29O4j7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0007iNklXwcJ6cQJOhxrYzsdE%jH>ThWD*sVL!cLt9EyL% z^tDz93gK4~j060wAp)zlYKUsqSp3H=5QI?#5En{Uhm?bfv~Hq22@7rcTF{U>qS*`Wu)@)}*zJ>gps;eO`vM9`!z%K|;#In~=W z1YlX$b%6tLJwE}c9svHw{Kx~XVBXit!twwx zTN~_;jkMc@Ip>7-u>;yofIS2wV34-}!2O3cBgiQSE#QJSa`aDaM5?cH)_(+;1I79% z2xoooiJt)=Y~5!7crfx2kTdomI#e>s5y1yQkDzT1J7dSdfhd44OYjaLk@bI^w*U?R zykm(x18j{@YJCQnj+-+*0?4tKmiK@k2t&E_y7vIB!&?Nz)DF1@c00000NkvXXu0mjfbS6jj diff --git a/graphics/pokemon/oricorio/sensu/icon.png b/graphics/pokemon/oricorio/sensu/icon.png index 9828bb2067e426fe928f2d0cb589925057c43da3..b8423c31fc13aa87b0ff50d977523bacd48440dd 100644 GIT binary patch delta 343 zcmV-d0jU1o0-*zt7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MZwuC89zO00035Nkl{PD=vfbq${hm@i3UC6?eE`3|tv zv*wCy)sodsiF=+;(k3-DOtAgO?3Q*U+xB9!8*VK7z+FafyLP(v@K2vjoJ-^I7>BPs zLA_;*+GVI_#<%UGMyz;&<5|+l^ASVg0m_lMs;r-$3x~s@03#;57dT+#pdJ`8{S9Dj p0*q|U19RoW19RoW@AW5qd;uFKvoUP;7IFXp002ovPDHLkV1j>Gn2G=Z delta 275 zcmZ3;e2-~@1SbbG0|SFkK@2~-f zOKv%1&yN59Z$H{H(dx;Gpsk^zPkJ9SvFyF}Pk%z-v%|J4l(HYjX*_7?d3a9O$tk75 zlxez$qn)LhqgBT;?+<#LDl9`PeO))0EnH+?nt1xq9L3YESL<(YF?Hmc;h6JtUcb-E zk0&gTe~DWM4fm~Vq# diff --git a/graphics/pokemon/oshawott/anim_front.png b/graphics/pokemon/oshawott/anim_front.png index d1fbab7f97f6c3995a342aae193c36d9a64bb36f..9fb481088722b4780bb4fa34504ee2da593ced75 100644 GIT binary patch delta 731 zcmV<10wn#O1)&Cz7zqRe0000Dx)^v)J4oH`!-4J#brlMSyGGr+CKj;+h>;{&5&Wezqr3`<5 zU+!}6F84i6OXGhH!`MwqXYK&l2Aa+uSRf;h0dAZJz-Do8^6;ds1`gIh*=s5Ra}9vk zQ3Itl;3|O(n9&#lyN3XKW~FaRtgKJw*>j9hZ5u{T3#r10R zi?K7T4u64m69G#xRn52VtZ< z-aa^mNLV&TWMAB9xr6~P*WyNQ*{t=)>u{73qUM z6>3&EZ%4{b3~|>F0*(TjG5zvU_(Y}t9cjbci%0XR0OqPwb!#;&JY=DG7_(I3-tpgy z^+oPypf2T>cpn26(mfD>FapjoP;L-Qu{|yl;_uN8i>5-jTzZkX^}}-)xL;bgave}0pLV*2^7&ul$M7Wo1K6S`S1sk z6s^_6yTL?0#P(-MVE6ZgW7Nb^7fSdwYiMX_XlUq*HOT)(gZ$kfe|MYwnOx7VMaGK{ z@@MkQCktqQkhhaRw}8PJz~+O|8u@b*nY)#I(EuU;oY~)Sp5kT(hW@8HfVr@>uY zphpKn{w0?uHlL$rfxJroxpbo4WA^|6002ovPDHLkV1m@T6DI%w diff --git a/graphics/pokemon/oshawott/back.png b/graphics/pokemon/oshawott/back.png index 9e783e0b2b1845844e4d1b25cd37c5bf7d511b08..8dd9e05c8819f25875704e1c1d18a55251728d74 100644 GIT binary patch delta 369 zcmV-%0gnFP1K9(RB#}W-e*gz`Nliru=LQE0BQQZHHNCiXsK8#3VFe={D2&j@gjfNb{k zhyvg!Ae-GUPynQzpQbR!KnxwhIfwbf0!@G&!9fQ=7A{YK5%d)~0{}R9g}yd_0k}B< zUWSf|dKhXlL4e-}UeSHgO9bM54~!8IK~O6B(NbtaGow^W$=p!H1U;hxlxQd_Kt~v$ zQSC?6wI7K#K-C5PXR=m82qkq+E#E9U!ej`sR!bTvE3@W!LId`7rL|RGY&xL;`|7jW zodMXCdfjfmZ4U`_Pj23}AY({wsTG3`C}NLXa@`dv3bM!ppoz~IlrTcozMB24A}cz1i>=` zoC6@8Jw2iTI0#5*_X`w%07>U33CuANK}QH7VE(W`4X`By=m1EAcNeTDV_05(3M zuk|?qH%GwB&@<5vLrca8@cO_TWB3SPe(Zn|0z&W$Re!b=YG^tNrBt06ifGUs4WML0 zQ2{!_0F5dyWE3FV09ECT)T@+I)jFrD-x(cYGNfFoB@Gm%Ide2np#f`LYHidvpH3*i zy8bG+ZvZ}}ez%it+D8JtlasY8)DgtD)QNrvy*Pd7n= TAVx*#00000NkvXXu0mjfxM7_e diff --git a/graphics/pokemon/oshawott/icon.png b/graphics/pokemon/oshawott/icon.png index f9bf07e55d876cac6bf37e80096b3270e78e85fc..9184bcc8d9eecd6d9cef3df29e16b37dc78e8717 100644 GIT binary patch delta 293 zcmV+=0owl60{jAyV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3nVLq1G|I( z007@fL_t(I%k7de4uU`sMfV1icmV_S5She;#;rJp7Ls@bIRFPRv62JXDUGq!+608K zg;>A}#)KJa8xyD7mz~|2pC`nx7wCeYOLQ2i5OGX_Li9GY!+&Z)M0%j@z%2#SK%z-s zeXOPH2nNg%{RL!c=WLE9Ns}vRawR*SX3x041baV02G0KB7L%5$o?o?00000NkvXXu0mjf|7v?_ delta 253 zcmV#4uVh&hTjdEcmV_M5NTq@Klm(1Hkh zsO{htf>GeHiLc%ko?|Nk%pU$iUSZ{8jwVTy6KN>PcKh)?es&kp#!py)gTFn;&{EZt zqlUcQzR8u0YAp|<@XvoJ{c#RGa0H=`OX00000NkvXXu0mjf DSdecR diff --git a/graphics/pokemon/overqwil/back.png b/graphics/pokemon/overqwil/back.png index 79670b0601dd47f35736c8ae2ed62d1b1fd91f8b..e4950d7dd01c732bcf39b15eb6d7991784c034d9 100644 GIT binary patch delta 554 zcmV+_0@eN91pWk&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MZ-9l&;3^ z0005uNklgu@fj#C&WojE8Um7iyb$L{!*~RUEpMIkchp(>3`m!?I8!n(H5}$8*utt zFd7D<#0n3DlZ1&C@VF4gi+8&;X(V$6AYEtMW)?1h7LMaVSG@W`zQPB4RU*79b7R zQKuYWxsXrV{eKz&nS{mMn5RsqR4aS|xrSn4jJYkLOkoIQfVU$6C@&=q6NXw=)w?mz zc=M%EL*S;WstuSx{|xZT0cwxER3F?pFeUK(VkSMn-z%Ddz!Jci7Q}H(UvqOuGeQlp zgnKJ7aGMe$?irg7_%RboYPT=vi3NE*eIY>k1zij-1%K$V&9N1~vQ1x?uj7_3#%}iD`EiEE3j(UI-YevlXjr2MSO1l6pG5CC9S6xSY6L?0rhM%nz3nh~P6R&i>q z)s>MhmeWJzDRN~Bp2w{pA@?pfvtYw6n{y;r$ww)^pTPX`fKuXWsnk;mIoEP;z!0!rDW&ckY;yF0 z66tgTh|RU+VSn7n)@}Qy)H9uYtui0DYuk1QW|I!oqcworQ?G0a?hKeScz#i{2?*a> zo`Jy{QK#v`wsL`Gfslpm&-(>yq&)=;QWdYik1SQ z&=s``Z*Jb%q*uyL$;!$)gzJNJO`TK#YV zmHZw22mIM?(Eiu<_ltjCrfevLf*z^>0000< LMNUMnLIPlde@O9B diff --git a/graphics/pokemon/overqwil/front.png b/graphics/pokemon/overqwil/front.png index fa6f3121ab3f1716953c830081bdee5dc4ccac1d..e607202ee0b2778f10ebb2a1ec390ca98ff1e1bf 100644 GIT binary patch delta 690 zcmV;j0!{tq1%(EXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MZ=4R^Tug z0007LNklHV%6aetEJVdgD6sJ`dHn+-b^(aG=skwrHt?fxATd8DN5e<%5 zLzQE1hisLgOU@aPw|imAf)ZOo>PDIc{t@o%0P#nXC5SgfQGf22_jNWxYYuG{C>8%Z z(5$rqt+)tm&3dty18r;35HnC(4C-;B1r^Zdc0G0r0U`EWtJ!!!4s4a+Ecvtf=i4r! zwoH(&uw%}cPN@XvRwV^=ONnwZ28Cm?l}M{nD50Ikph<~r!A!KFzmP(6iaP7KE~Ro3 z(@9p@+1@vi^M8_EQF_vmSu`g#hfWA_%dfg!DcHqP;rx-ET>yRifm|N+C}VDm)YBW% z38l@;CznqJJz*X8KD+AHMdRjqmo^k&t#)?Fh1NSkdkrpR6ReYWS8kKvaLzwPAn%?E zyPn_^{zC!gs(5Y6n0q#N5AP;lhB0VTdQA2$%h~u_tbafce||Qt13C_w+?5iQQ#@Y+ z=(DnOe++}*s|0eEI!^TZ1_Ch6Gf;r3NFF2i2ml^B8vsEB+Bo?>m{b8DR}~1`>A!26 zBmyc1BQKod)H7LA@JAUi@sVyD(>{Q}s49Z%Oae7Y4CG)?3)2Zcs?Yv(F9N9Q2j7wj;>o>R1EN&A z-%F;@Hq;6aetEJRn($6qAUhn~9jMxO4!faI|W> zB{?Z&OCz~mtA-kNr4iSi3~Z6wESwoCZ};fLQh|{wWh=0>|48pJP4Nd_Hv=WV=7{VPWY>dgP=9F6326VI8o0FpV{@g| zcs#^4Qx>=gKi2R66)`bIf#?Z``jV-H2ykf>B0x2y$n6FobBgn!va*B}%6R}91dA5* zP#fw?AryO8rESL{L`1%Hp1!Ht*Lfu81R)(^2Pu7Wp;fvJa7Q=9hzxP{8xkCxa0IY|J-U{IMv3w)Bl z{ds8tP}%dphYJLgyLTEaN~vBiTtW?2=MI+uS*VvVDRRv}AUQNY4GhITlkedkAhrp} tRyP6}>0p=!HVm;P;HCjJCI2t+8zMgrh1@Z|)C>Rs002ovPDHLkV1lHlGoAnd diff --git a/graphics/pokemon/overqwil/icon.png b/graphics/pokemon/overqwil/icon.png index 661013b728d9ab42d54b49a2d24d5517a53ece66..d39d9f0ca4b8b804fa758c1efca61e0ed1a9834a 100644 GIT binary patch delta 425 zcmV;a0apHk1d{}ibbkN`bV*G`2j>O{3nv^GlTAnf00DMML_t(I%gxfkYJ)Hs2k^YX zM{a|HeTY85UN5`o)gahskewuDW#`KJ4AP5I_?ohd#o@Q8iN>-~c3VI&fAeYl@?-4h z0r$a|eh@(61z_&s;0H%@DZQ+}@;)FNw0m|%6VTDsC_=v0uz%Bb4P+(feBB-y;h1#U zigR3Pz`8GGP-cn;<(fgAq(hMM06D*~PUiW=%)6?pQd6V5IM25XuEDdAr!qjoM7?O% zX2C0lpBW<3Sx9Ym!Lc}P-s%+9N8Nvxp3drBp_H^M#%SF$00000NkvXXu0mjfOVz}w delta 408 zcmV;J0cZY`1cC&RbbkSONklWu16EfwSld%dmukbDc9{m5ROTgucXA40e`IfRsqLc%iy>cP^Z}t zWHLZ0FQQXLap84WRaM44rb~)qBj6gmgz9t*kTBJ+MzneGhS67!h;$B>;ZsN~PtWgl zhWfMaA4^YX{h?7Q+Lq%nZc$lewNfeBgQ^?<&9!l_LeMXhi<(9Nyg$L1+!oP9b%J3$ z%>%+J!mx_x8GlmPgiRdIQ-rvQ`SJn-d;{?346#_$@=N|#Jv4SlY6yH%g7|CQlX8M4 zF#AzZX)G8gXy?Gpf*cqp$b#_%4Pdxq5;TAjGzqHp2xbFx2#dJTQ!f1uemlxU0p|uOHB}JrTIN{2e|30000y^h*I5P)sTLRT6SbhXDKb!-czj)ad;f?1nOWnD0)jTCz+Y3`s% z8zuJuY0}>{yg`(Q%B+6~ti5X~<%N-;+0Qe(vxfN;%707tk7k2rY-x1K`JFTtC!^&#=? z`svsSUJ(Q=g5m1|027crY5+v|=_4>GfKQFU>zNQR!0sA3P^^bE;s9#~rvT-F-T=S{ zxGO7!HK0GlM}Msf2uD1i5rQj2y9A~w&G;4GyC|^Mf z*0{5{1i}@~xHD+qb{=6_0teSKWfk$4IU$r_mdC)w7Gw=C%H->hpW*KI@uN#?Eh=g} zefUkt?Li1A3H?RF!?Wws#tMqk8RMge#Ctx0xJ!gv zz!Khl8U|7TZ*+kh*@^%%$1W#yBmCLM`J1@e3V|gyg098uS9G+m-SSxlyyb^D5Ch9a zgd0u8DLSjXTao-vHm5FeiI*69o1&O)iek1XP77ezfR56Y09^!BTLR$x*Chg>f`yLK zd(#3)9DnAWTriZ;6eNzKXR6r~i5#^IbWMJWWM8R)FPRD#j$2c7%(m0$>f@F*Bri(m*HrVbhXDKb+Cm}N5V(01hZZ) z6}n(d8!2WfuepOFZIs*tT$BE;;SHiZRA&7bSbNv~g^^4%-_Gn0(tL#c$6+)9R=c49 z=z(?vU^o`o#85MaEr6~L0I&^D4Orj;bUbC=Oo8q|3HTNOIDd{3FsT5*Rqny3Zd$>s zmJmw};!j0>NP`Ms*y03lC;|?}2;?3GfCXq86#y3a^$_T1z?WL!?NkX^Fz8q*kmVU) zNPshiV}Q#*w+|2i+~yrv1?UZNsZ#)KBm*X;m>CXoV3P37X#qd$OmpCpF&T&oK>UV0 zkvq)i84#vG%zxz$X1K>;B7R6-AyKvVl~_tJ{ZuaH1%ufEiGr zQ`f%Dfv;l;z;OgL2zmu@DO-@ADoSY}lSDEMGdC3Uhkj-llA@S2ItIeZgg1W{isA}j z6LWbkTxE)af`Ko^7uC6OohnKy7)kB)HlKx}R$_g0ZBtJ-^Zn_Xz#r;p`8uI{pIO W_#|^e>Z}9+00008K?@5?+dm07LkYPJ)bsH+Y!ne^EdXtngh&!CM># zgkVZcIu76lK?bo8$tZXQSQ1{hkgSS{9wur#tGx+OixpVqO#wcWw6Em2sOrx~?p^g+|A&vvB%226WvsifbHNj{?@Z&& z<&izt-V|uWDQe8QZ)%!!QsB@MMWP1|ne2Me5#If=7TC2x1IGO1l?gODss0(mVpZ2twlJIDht>I!zaD zL9KtB|2|ud&a60{0hjq4fYU8vm;nhueh!$9+5i;ksi+7rL=4MGP)hIux1mMcIAI7@ zc-A0z$Uu04@-Jl#s_z1i>@FHIsD-#i|YfIRgV23xcAAjDpmKHvj{u7Gu@QT|J!yoL5Ic z=s!CH->MG{wywior?joAeg?cfO0dB^77QVf;F&DwM&PN|z*R@H$`A_Zji&*obkzp| z*<(EdUv=cQ5C+(P%rfV!`jXc`~ie*{{c7uEs)J~wDInh@A6orfObs584PMQhO(jPF_m~Fe zFf;?ba}Dl=|C>qfTwmG4CYl1B>L&bk`E(sPPT;3J6Y%jJ@A`fY{8vTM9}393Ya(&V Q+yDRo07*qoM6N<$f=b*4Pyhe` diff --git a/graphics/pokemon/pachirisu/icon.png b/graphics/pokemon/pachirisu/icon.png index d9973de3c04b2f544e11d4bb8125a231b4953380..f89c560ea5017e274b410901347329591549e019 100644 GIT binary patch delta 361 zcmV-v0ha!%1HS{1Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ma0<$c+>C z0003ZNklZq}6b4}5z)CnkB&TyN_|*-;5xTUO>@~bTKOgE1$#0KgoiIiOsy$$kQULb``ksgUy#zjQy;$8U>c*00000NkvXX Hu0mjfKSHI4 delta 340 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 AMF0Q* delta 2211 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 Eg5k+R{r~^~ delta 685 zcmV;e0#f~h29ySnBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0&Ph|K~zY` z)s-=8+dv$}t<^)RN~OVrh9-;0^tvQNA@mk!5GdsYT?{wqpo>3C30}^F!8A5lL%vEr zK~fcDK@7f6&_dry7uE5dwRPyN@5g)Z|M#8T`^U%gUw7*PE4p+)VB=1mu}(niT?w_G z6y179LZh=mr=I#*=DT%&FN2OD0XY}tX~~3)j|CXrIj4^R-pIZ>62O}+?6#Ey2vP0L zS*`D$Hg<#uT@tcniBgZ-O=JNG_Wnxyyj)GXo(u)|fE3 zKGFIIdbJYD-UAG3olr`z6cZDN0ci{P^D4;p>vL_;%pffwVEl{LO$9pvH*qN23UUY#H!07}X` zJ0Z_%;E9grdX-8Y0R1KbzXrW9 zRCfSM3~&jHIU#3%-$Xye5)v^GLN!}ntCAA3ZbSM4K*+;?N|eoI)Z8bsZg=q$35npM z1@NwOx(8GMD&dQ2(&`I;a3Q71c!dgMmWEuw&00008NkvXXu0mjfwSPHD diff --git a/graphics/pokemon/palkia/icon.png b/graphics/pokemon/palkia/icon.png index 1476f20af5f8351220d6599a780f3d6b4ccdedcb..e371dd2a6a6ddbe4653f1f12553a29d715bc80f7 100644 GIT binary patch delta 406 zcmV;H0crlt1KtCW7zqRe0001qplF?uEjK7G@D%^VX>x$5Wr3KdVHnaLQ=WGXW&MM0i5x%` z=Yva!UYvTbp_FhrNE|xiUn%;$2%uGr`izt%rdbBaV?yYwqD{1^l*g0BeEdm$1FV{BnMKaEn6OBWZ-yvBLuio- zj>v3bBZ{DHMrI)RS4j|%hb})LN-4P104P&{5(L8{M3uQd>Tftxi6A-Mtv63fto^16 za;hwn-K_VHcJ)4gk5tc|#E}hgkKQeF!_k6jZJZ2eDWByh1KY@+qo3ZUv%FZW|U%XCjml)6R?4k2hKuh5G41Y0vnQ@z<04SAJZQ;19^Dyb4y4N`XwSk8CGMzMz2M- z2qWxOFc)uLBJ=}vJQakccHfM#OHC$w+rv&Em;Z0xd;d3Yl7Cw5e_oBSS`UM6^>#w4 zfJQ((+^y0*jH>{tR{#xytARl3I8p|X39udgC4dsh1K=J~0Cg$f8McR7rGPGUM8vX6 z3GGt{qAUZHV4dXKVM|d$AmrYFs%mtEK6q>|gr{$pz!)Q2>W_;lbRsAKF&-I&IP^Q6 zuA^GRZWV#pGk<(Mpwrbdtoh^;sB74@iG{RqH4ZI^b=mNykMT%&2t$N)Lc9V1U657g zohn!bz_q()!YZC9065NN&n!9dF#x6}WmMY97y!*3+MY?>ngXz(*?Jd_R0TNj=!Rlw z>%IUOz5_GLc@qFuWe|YxF!i;NK!^ECKtBO<@KQd~ntv?eey*x92Rdrt zfC*Lw_^=;rxD_tv`2JY|Gz0)1P`lhF5}yX2`7})z#YQ#hkOk6&yG+xR(hH(Fdu0;n zEQXAw>H2v1LNp)VHwZx+tWL6}Z6JQ~FU0HvX{0Bv{vgYClr7UAM}GLDo3C&gumgaW zWI#ZORezuFKgYJtHnwP@XJRuGYuly|g!AP&Nt@{+dT{H+$&L$xX8Z$yMGj1!gsuk` zjuXybWsr;mu*xm41)PrV0YGydUOWCPO`{wb3mpdrP7p#@VtckhH;3gqFJcnYkq0#z zc)(yG0bKK!_sKcMmip3!=DPx5PuG0I-}*P(BrQ6f!dQNOgD#BxgUw;B_Nkl4LE3(X@JJB+6cR>yb4y4N z`X!X046CtUqt{Zl1V-4aU@qRgMCb=_JQakccHfM#OHC%Xz3dab{D1S_`@eaUO67l! zT2QVBez*KMrDZ_Pr!JHLHQxm&1C(9@)F_k#zS3c+O`r;Zt$ziw1X>_V06n4ss!G0V z*e>~22$)hQREAYZ7@s;4MHR3G>m=WfiZaL+d@1(^OxL3$^}%B+mY%*}0uvy%(jVj5 z5QmZjLKrtFb=VI!TMa8UJJ&`Cq1*6az-G%uQ1R#`P&J@!Q;QhEauQgWYj^?FJ%F+F z5Cnvnl)5CYk|6>{dt|#!)-KW| zVBxUME?%h)aPVg~G)r6cB*5Vg%@ih(mn{L%Rgi$^aQ(ATK!Q|Fm^%I=R2-|PCVi~Nmj?h7oz^~z9t06V0EGmYa#JVd?Dr^#GpO-^ap9W zWqgtRJc`3#y}85301g61lp=vCmVL4RT-z#N+j59*6Pl@vO^ZEHAr|K%EpE!}{;d;6 zTOkRSihmCT;tZHRN!|1<2qPhODoH93SY{S@jJIRD2(V1YzpeP4B*P4tNFDqJM1+tl zc|2W{o5Nz2H8Bm@*u@?jFyI(O0@vd8eR?jjVV*K!cx?&rr)#kmZ~dE1G(6qHM16k! qF0TCaM9g20`~H>K=dSFZ#2=TFILfr&0672v00{s|MNUMnLSTZiLNR&( diff --git a/graphics/pokemon/palkia/origin/front.png b/graphics/pokemon/palkia/origin/front.png index 3147470d646259760385d78c4baf94d0b9a768e8..05d4a96f2cc6e1bcf96405c290f6298f19e66549 100644 GIT binary patch delta 1124 zcmV-q1e^Pc3A722Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MaDT8i)JN z000CRNkl!XSa4kl7rJ|J z3E86@NA9HdA*Ef2h`aY5mqM{owoppI#ya;Bl3N2k)PF4)SRetk98h)JOpgU_fWm$T zkSqr*T`dZM-FRKwf0+dUOseXnT#Er*&jQo|R|l27UyCD1AM9rV3Bc-6yUI=uYrBt# zLih53YW^^Q{(tY^M6)k`{!jsU@+24Hz2H|0MmUTXXLG=jS5Rbr0uBD#@Z#;|*(-<@ zy6GLKr5=C|Pls2_>lafY(JgOflE5j>{HMX|rDI*7ANKA76My#RPdmI?KL2|e3Wb;6T_B2v zmzc$J0#Gh{xsu{xpMHC8PlM(1zaL$!-R>R9$Te7y{QV(b>6-U^rqAPj%` zchP5$YhE6BI1M)doZX>c|_CMiHFu50FMPI zl+OS19Si)%b~D0(Kv71*ym0`~a>rwT+iWnE?L^U;0K@@tp7c%2Wuq~^VC#(S%)>au z?SCmDz!WaeXQ+t4c)>?lR)%V%t_Q3HQsSVfDgqNWn&$uo5Wobe&Cvn^xDPs814O0b z2h~k{?wl_A{0xB&w{zQ@F)itq$&Ronc_)g2Vj95hlB-qI2!fM=+ldA)j#PKWSras9 z$lTj-hYODD8!12*Ss=#ZS}TQ<7I&3Sx_>wO6_n_=*^!`!;h;shn*roa?3D+W5n{y; zL*D8T*)3%Np@2XTw@B|EU>Bo*)J?XgClVMiFAr#6CUY_H{ij)=P6~VboAI3d@#py5 z{4N93${v10>WQJRh2AIiw28x7eGMGcDtOP9yLo_Um755=y9gAzSwO~1Wd&3cpk3zO z0pfQKE0qHeBXld7yO4`7VLh>cfTnd1bC)HW^lmKFWg=^ucJNL>6o;m5$+_Eh^^J&o qL9SG`$UA_<6VG4Qc#0mmcl;0f$FyeXV`NhR0000 delta 1082 zcmV-A1jYNb35p4jUw;G@NklbP~T>TF!)nu^6e zy5ebN78X)h!i8=QE+KoAE#4)WD^vbpF@rR z*1LXtbNLG5gn!oNdXI%RfCf){x3jy0k%(v&w^NJ2Q=IuvgV!_1y2g&b&fW&lIqmrM zXnOb0v*&^99AfPWfW*b( zUo-EV_eN(tIV))rEP%`jSJcXBI0`N&XJidX`Q=)DtDz4)avF`3d{v|Nst6%n2P$50 zM*5K#Uw@7O>{StbrZvBDiUs6otmGv{ku-{@>}3FTs15ZXnkfCKqi;B%;6CAy0FD6` z0uu(&D?942wt}0thQD4C?@2XE?HYCJ(Zr6%OmFNcA|eT(7N@>V@yCL}1o~r!5n^+i z9)^p6CQ#pUYK{#H&~=3M!51z_0DpBOD0wG759v0l>aH82CG8jj3!miY^5Z4~X-431Xi0 z2Y7+4F}6Di;}WZ0PxvQ*N5D_Je=rq`=(7mv`Pq>=` z@)o`;4=g>z9p4N2ev`;dszLGR&s0FVgX&|WkLC?O{3okAgotD4=00BcuL_t(I%aME?e>itEI<4HM zEX}g3wUDmu%6dj1EG3G*__N~p$Jh@91UC}oV~G2p!i_8f_(?p5HhC|l^w$}Lpj0aq z);?U-d!stRTWM@13o}o$u4*ArSdk=39|eCI#C$WgymK(WdNKI1xL+q3K;safoXYpv zZN(i?ljC_-m(S&F78s@OfB5!;rR`!R-(^0X}rbuKoDc#-J7;k?2M z-`119ML@;H(o{ps#L=ih0Oy54TvoalvV^R%nkKztSA$Bo8q(eqUre}klyyRLvqN&H zj|Hvcg5l$d0t4mFM?-h#?ZSFSAS@+{zWB4^ z_{Z1}1b90VBW3AHN1B)w|dd|vAAC+89?h0pPZ`q*=@}&QJdp<)>O~cY~~rI_J8>H zgQ4wWQ(1WJs0n(%fwNuD1dcB zBQEQ55VC}fG9^t0$F2dDZc9i9Pk1rm(o)t7?adC!o<0`JGAxK6PvjY>Z_{W;LwD!n z39iw+yl1}}{}Pymt37MK$s;8BSHOymPJpMM9Y<-_O^9|4$iK2VMM cNdK0PFQ4>87K`K;Z~y=R07*qoM6N<$f@3+Hga7~l diff --git a/graphics/pokemon/palossand/back.png b/graphics/pokemon/palossand/back.png index c80721be1c82bd56a6d5e0f2cdb3a486109d7961..6ce357d5bc2ec5f74046e154fbc069b839c1a05b 100644 GIT binary patch delta 539 zcmV+$0_6RX1%U;SB#}W-e*gz`Nliru=LQE0FeyZ%4gCNB0pv+UK~zY`rISr+!!Qtq zU4!>+a{v2BAfF0gs{G6oE999His`p*Luuxm-t9WXq1FEIQytG#_u? z{3J;xvAj*9k*-&9;9Kotk>2zY*sd913qe@g%bxk zq|55Qh)$A#_^6k6R{)OuN*<#`MtRiRFdz(oO;})0=|e=~8*vS){`K4*?&ai10mABSjYqHQ@XjTxdNr3TAWN zv^9hQs{rkV%S>Qlf3vb60JfJNB{%-)<7^&KToxuuE1H4bdZ}>)G{T#O88S4e`bkh1JAW432TY?3LDExi)Fj%G0+pes5da_t zfOi16m1d%wzL3Mdm0`fS><&S<22k!GOqB@$jkiuFaSGtBfAH2VnST_iQ=WtdH9f{r zC_OIWWqO4sszAWb1H}2-SO~EBlGiK@2rQ9v9#K$&&aM!{zh?@VSr+T9!RWQYdx6qDKrjeB^liaoNMDLT8p0kV>;Xb6U z1e&JGfrsnhHVewT=9?&ga*IHb2RB!MLUpB%S+S!!y2muo46sWFoTz-xMEtricu7X= zP8W;M=QBPfBJ_n47`WH%01V*YW`qs^pI*}d8T@|xv#ysGPk#wKzaYZ<#vUb(%c28Z z1BKIaZetYE*M@03NCTe${i@5IM&YYQ5P-*Zk4ABS^iy&hSY-r%uUhF8sD~}uTDyJ| zwEn$d%L%QD3B{J$wjXCO45aHOA?QnsGtlX17CdC=(1uCSDUR_hc*p_pK_!BrPoYsR z^s@xohCa;zfS!OF0E|~kL+0sgGu^jk17nxNLvTF(*1K~zY`g_ON++b|Hv z9RWht7U=^BL?ta9+PW_g#1BviII=?~13DVcMu23Iz!ZPlvJ;y*8L&+Ld>?<_aW;Eq z7h;yTtHqn_{>6MTe+{_KN0={eKE49vlen6Hc?I}%v#4@F@ow=sufzN6Di4Uad7zXC zSwJG{oQo3Cp~*RLm~~O|KI-!>zK!@BSL6LT7v;}!y>YAI{?9oF!}z$_t_J;d+C}+& zaF0*h)q{UN?GABJ~a8@CG z{K+f}>_Gw`fP4;=A_2Dy+`a%xsYR6oB@ZG#N8^o?#1+8C(yt!JRqhSqAT!&+*fV~c=Fz_J-eay*R7hJc=d5TfWPhUWs@YNWFm zxG#TdM*t)MSO?Nb|3Z2Nq~Sr5MQKpoEP3$kVZH77O|Ca278e0N0zLtETgpZVyQa>T znwvWUq$U54b5Opfq^Y;H4BemFf`qV^SNgDU>Cp8UfocbMHB0I(Q4)9b&NjjyW z?V%GQwiQKCQxSN=y#1R1l`e(JbWAZGHeCxZ9Q<%0gIEPk?mu_%ccPt64gw&<+Rhx& z>6QvcF~IHPy5u31z}69=+&=DKq0~v1vYgqz8EK>Ml3(GTNrt2QG gj6W_R*x~i_AMTjF%$cNTjsO4v07*qoM6N<$f)DmtvH$=8 delta 781 zcmV+o1M>Xi2J{AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?kQ8K~zY` zg_N;w+b|G@6#+ul7U=^RL?ta9+PW_g#1BviAlV_40UZrzBS2n(^Z}|D5ReyWfq3iS zC3CkvRPRX2vJ+W38?a1$`g!;BPTBLg5ZQcOt=`PuzgVu8uL0NdJ1kc>A726Hlek)b zc?I}%vs%mn`McHUY&PD1UoYkX@pc|46v$aX0hl?70>Fcv6YwxAQSf~*=Ow=N@EbP$ z{W*!^XTRO~O?Ut2oIuwKwBJ0KGZMLZ00PW|!Ra)~B)EIxGSGdU z0xEVX1maW@1*9+pOdUw!2Le#rNd+Ul(?DOG%rb{oDk(uq^&BXFL;`LZxP1W>%811r zpup6YeQIw7#Rmo&`ag`ZAi$C{q|k5)YpI+Sxu{VDH*%~1Ejc5FtAh=t!pc-2>$p*k zH8Ri`OY2OOh*b;p5l#faB1H+t)m5;mP5>Ci-B&vXG$n!oFa)>+RD32mJ??5u0Po?@ z!kRuufNTO#R`9rgr!oS-VwGEjBnCiu*b!j01?z#2BpiE5d&-)+1#Rc=J#}^6K&gzR zV~c>s2&}8FC*iJNR|K>Sge~%h_CPMcZ+be5j{BnY1jqzP_JKSyzkn_!(C`4+qK(u| zmK2Z`w)>W^)OJT^aS;+Dz^e@0?I{}}+?G098E)_9Ot01q@=00jSAhL+JcO5 zj#t{SaOuIf5P`)2p!ElU2dItBe*`!Pz+wc*IClidQ$WZ0N)xCFs84~D92p2Xj=*UV z1x9!V7_DA3kIdtDwpK=Z_vI+M6U002S7T@I*tZ5n~zBANKW0A(g<<5TX5H-!V%Z z!ch_$r49;G9qvmCzAf3yLK4I#g&&TvoDnm=PK)^GQid2`K3Vo3?wGyIVuUE#00000 LNkvXXu0mjfdg@!g diff --git a/graphics/pokemon/palossand/icon.png b/graphics/pokemon/palossand/icon.png index 3131f2c20540d6e9a2c451305a1f474f0000cab6..55ff0914bf2e3d4aa589b748ae0670e18024ec32 100644 GIT binary patch delta 271 zcmV+q0r3970_FmcV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3o;-NN!Qx| z007BJL_t(I%jJ?i4#F@DMsounr#B)aTfWV`4-2=#5<{9Pkvd?~KavIsBqRoeH^119 zl{{m<8KKGP+<@`al#JK#x`k2$B2cwZAUN~|q@Dy-2|25sh<_~r%vL%K8zE+fwGiFN zjo|@?Y;zL>-V3{R3@sJ8WW6Zm8D3yLuPrGb`U@Z%pb7ZWVT=NYX$bVOdrlmx?cD%PDHLkV1kNLZ7Bc% delta 232 zcmVA>0V1LU=L_t(Ijop$v4#OZ2M7hBpCpQXZI;LCSCrxgZl~Q0=Ah`$u z|G=BVN)ai_cJr87kQigWIfK%4Q((L*%lJ@0M<^-~fF?o%!J(@lb|h#lL*b2aG z<%E7E#LTc3l2-C$cz_}6-pGLW!fshZvm;xUi(=m41=jNtiDCKB-vLam;{{5 z5~S_zSvWMW4@JOMKxsx>B%^>!YIHH_fB4xsEX+IT4;+6}n7JQKVWxiUen05KP_h$h i`j8vrbU$|Tqj>?8jLH(e{zDu90000F-#Lt7{}WtlCYsg6Sn#+(w2dk0}>elN!U#5yEC8+VrgW-G`W5l z4J0JA2b1Yk8>c3X^o>mjAt$o~uDECzOwfrVAweg2zIWv)_us6@vX@MdfM)o&nEnIMmU4lN?+o2^_W)U+ z7T0qwFbLTtbp7f;4&;msWUcglHh z8O%Eh&^Z9*w12y9#zZHr<98rBW+aMk3$X=wfB`gKuN$JlGXbPDWkzr;S^GfNNq28= zDFf3g5E@IaKC-u*$?Rk)4Y#ymWtY)d0k(IY&-QjHO{1eK5R4TT2GyZzmuC`b2HeURdD#(;Vk8FMnoW6AFvmEddmfS37tHe4n>g zus41U4jRBu6bNc-z)u0NmLdpHItPT++Ya`h16DQlGK1r+39KMMpoYc)@ zjr6NPh|%2!ut!-`y-NX9ryRNN>`+$hf#(X5s6KYwq7$s=rM;mLaYkKYkIu4Q+qUb- z3`y)zoqttq43I5k>CA0lBL^j-2c2Q8LMLq-x$p!d2_~u-4_qMxJ7>98BP31)f_@() zz#`rcRwNW5fy;mkT&r5u(uaSp4}SY>^Yp>OiQo-SA1v!OMS#x1Gkvg@k@OFQ2ha3D zWV4B!QTOyg0;vwfKs(JG0EShvz`g?j z*%bhFL~Io97a*wQ3fSirU}zNFe9*U(Vv=!mKaiNR(v@I@I03F=08KTUmKbnX069b1 zp-*KSugP+ov`NfZkLGM9YhuznkYA7Q_y0LwSh@ zC4dU@)7E!^&kN3)+Sg*wV5b9oM*-b<2D}S^v#g$=8-LXvAf~>yKGFlM8|q`~m)Rb$ zh5*`0X7vK<5m83Nudo{vBPtMKbgKijC`+hsDS-N{FZ=#m$|}QfPa)Fv8-7r9nhihj zUMNJ0(ST^tIhOG}uZirC#9L~znuh^$ge;Q<13ctIiI_p}Fjk{8o`*bmnvpaURY_?_ z2-1%*w|~(fBt-#+Wj`k(Zn-<<=YJ~%j`p9uBAan4c% z7#iEv2WJIIe=Rn)s}CZZRe{hAGt>tOO z{v89WyNSo~j<02i9m#(~&HsVE%<6TR_#HoBwPr?5 z_lR5X5TPF^SBM>g*rr{xOikxB2F&6Km2dqYG(q*AS{7J&>9to^_S}>atTJfQQ!!+00000NkvXXu0mjf Duqmpb diff --git a/graphics/pokemon/palpitoad/back.png b/graphics/pokemon/palpitoad/back.png index 6490991b1513b5f9498356c7f0709f7a28092576..34efc42ba32f871768878250e8785d087ee4941f 100644 GIT binary patch delta 467 zcmV;^0WAK*1iA!}B#}W-e*gz`Nliru=LQE0G#GIa$in~t0i8)iK~zY`?bSU`!ax`Y za7qHMVl}}{D&b|stIi@96GtIOgCl8mH70l=PINF2Oom88nT$H%eGe!3Q1;qd+q+g* z25#x_|K(nu=SiB$Y}VQ?LM{v2f8-TPX{V7cvTjZXtwt)i=75?we|3v0&q)^_q~v+c zah#b8nkitq1c333m}iM`uFi7+yK5$%kuw%v4v$)CHwhR+KZi z{{S5e?I>A22n$K?e|3y^ghrDP*ajsg7Tc94S0S(n>6%RuSPKZxAg<_3(>M=-&4mQ= zHHeD7G!WSc09&ie^AH69lNSk;3Ni5{4GhwYJQx*<$v}16!vod-z&HhrP_UB-ltTe9 z;g)LIZEyrk(2;OO2V)+LTFCppAw5mg1lHQ3uS_?LC z8-bESJ|4||VACN&DDe)}xD8IY_JDpWY=8_W29R)ud_saNK-CArJj&-H5H3-+dh-y_ zP8w)K4Cwy=9Sh?qSv?3FN$+%wcj7=HA+QZfOe~H|Ay*-=2_r>n0OR(8R?8vDPykH0rCN3e905~wBwW$Km#`qO;s Qs{jB107*qoM6N<$f}hyY-~a#s diff --git a/graphics/pokemon/palpitoad/icon.png b/graphics/pokemon/palpitoad/icon.png index c035d93d8dcc329b629dd0cfb7ab02a24a463fff..9ff2ec6fac095d23c24a99d5339692ad96a01ee8 100644 GIT binary patch delta 312 zcmV-80muI80*?cbV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3pEq}*dPi3 z008nyL_t(I%k9&#Zo?oD24KGd577sRRM#^L?P!MNRx?D3w=9*+mY0oPZwIPP$Gap; zIJ|bMR5m_w2><$BReybPEcdE*g{V|RkdP7-pgMvs!~zh5&3~d$Bd#QdNHc3Z!800DmzQ>gN%9fL&hmOz+PIzBylNPh$%#o*J2uHvyQqji~xx zIi77AOH&H(n@%RE96$jnOi+ZL0^a)}gsyZi5Q+v}nHQRDhSq;Bw08pf;f)|enumUr zBWd=2w3z#@9x-6}ML*%g597P5clld>&h6xOvfR9y%`c;V(T^KZSdB2zd(!Oy0000< KMNUMnLSTYycZEs- delta 275 zcmV+u0qp*d1L^{hV1M;VL_t(Ijpfs^Zi6ro24LR6577sRRLbmycEm$+D;^?+ElVZ5 zTUPw4vEw6qWJ5@Q{Jo6W};#VK|+j>focibFlB%kOcI3} zaUropnpxu^jVzO{3pNh7^B)iZ00JUOL_t(o!|j$aZxb;TfG<*` ztT?9%RmyUXXy%-yWJPM!uyn(B!%b~;&lA#-65x_a$7Z?}rJ=}Jf(7?I@<|`-ASA3#k z+n`iVAXxL+@}&WuTq@?gkCJOVDa{rx6?c{hV~x))#xOfsq5CF z1r#Xi6dDYnGzkP6z|0zeyo-U&4U#1}hf3NZqg+zJtAFRsTBKXhsV=(c;(?>*Qxq0? z^23O=))>aTRdZNu^`XT;xX(cNJq<*0kAWzkV668B2*J4PFrk4x4dfkdAiul@a<-R& zoV6Ip2akcg_~|u}&}SgiP=vH#7z3I9W*B@%N-(T}pv3Es1tA!@6^u$=e<^6efV`6O ztFy!7Mo%yxGnU}q=BN>jB->KI<5eRVn|ebXbMRL%NPjT1+zAG$2hI8x!7#v1FzC;{ kzA>Y0_lKhMhyObM06qccDN0so?*IS*07*qoM6N<$g8gz5ng9R* delta 590 zcmV-U0BjE6vriq@mg7g67ZrEO=j!BUJEgHmux+0 z(3BXxn*ym--KA|hb?#V7vzOBDjt6~!euMT~^fUByYLex>lOaQ(=)b<-y}Nr7+|Tp+ zJW_%#VD#jHfS*K8!Vg#!If019&K5z;7>nj}ygCrJ&iKA~j(^ru2rZCABEtXyFk)@? zQ6TLA25=8V1aQiB1>y_*47WQR(ZJdQvlR*qBs-Exvq33Qz+1EF@|6LeUCIFc9wk%y zxHLz&lniYVCQ83Ji(z`a(pWu+xtf1CJA@KuSlwq6K3h#W*PP>L)H>v9#W|m#4J=}+ zA?F8p151>g2Y(0ONnmf0X|3P<_)Gx{C_sqpEd}g>jm*#~m<$0_0Yy=vKU@n`d79@W z;He^OfGu?kUyH2X)b*BXFs`b1wMj*F82{8w{YFt|xKeooNRZSm6c|D(67Up&nKc0U zErv~Pm@dgVRH7NO7E20v{nD=0^cHlfPoF-I9KTCZ0)MApnEEKfAGF(y66VyLAZhf$ zVIZu_K-dEfL^2m({NWCu1Y^B3KnTX&4wQiyU`GRaPaDYZP6IjF$v{pV2J*4PK+b=4 z8c5h>Ad`@Xv|tzmnfwW~_k|FIMe{0ZE%fy#w22Xnq7jTrTz^G@RxqHbg!qQ;@YD(h zF!65y?%(4{>QV;BUhhP|>6%6`uuW!sK-TrXV c`@?^ozdixxDM5o9TmS$707*qoM6N<$fO{3pWWcjJxsx00B`+L_t(Y$L-WHZi7G&1yGP8 zZ3|A3D$OVom5XE|QCV^Ujj<*3)x z^$@))rPf2BNp?NVvl^(u5rSxQ0?>l>5S$M%1Km3S9@Kb-?j7I;V7N=&n@~SSPPCc^ z^TRXMxddX->(KiX({h$)dAya&YU7;F-cz!opVRM-Ks3zWgN;K>CRE`Y)4JzVC| zbAiya&$z`faC`uaZ8Ku7W1C@EKhYO#+`X;6_ikSJG=KkP>QhR&O|jd58~QANRf=@; zC5fE@WV!rM#3Y-~T^MeHS!>Bedc64O?PN_2P|FD*n`MwR34}g^RW2uIv|zLmy?;yx hsIUOi(?|TrnqLIeu~t1N_8$NM002ovPDHLkV1oA6u+{(o delta 371 zcmV-(0gV3c1KtCWbbkRBv+9rY;yr7 zdx3cC5Exd9#2vT>IgV3M`7YRw6WP1#b&(Q&`(I}4$P)yAGdB}`IKK>p(F`{J-_Jn% zL^aFs(2jUu(;~u78wTn}A7nJuLDXC}V^m z+MWQkU~Pi)05{;?0Ju~34(<(@2H*I>I{Kc_Ih*yth&BBAYw)& zjsF3$ItH607I?#9G;RC<%@5B4WppWcm;%cwfCdm|e;-VN*bwH9YmB1_fQfHMqU-o} zIL=S>g|_>FaBTL$)w4eB-+#IKj56J3v)g|=`n-5iin#fb#LfZoLVhUHB%9A&I37Z4 zW~qtTKKw3BnyCTi;h%wQjzQ8W5PSryLb^fF0qY{p6X*oYlNbQv@e%*=<`)Fiu~wiY RWsLv;002ovPDHLkV1n*mt)c(` diff --git a/graphics/pokemon/pancham/icon.png b/graphics/pokemon/pancham/icon.png index 86f389bb8703e16beb5c002afc78aab16b3fc764..b7ae11d24529e4338a4d8e0513a7cfb214facfdc 100644 GIT binary patch delta 298 zcmV+_0oDHA0)YdNV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3pfS7qU#m_ z0087kL_t(I%jJ?ij>0eyMsowpb&$9T?Vez3j)6FfkvK;*D6SD!ID>1VaiZ)Nt3@7? zif>Fux7z9EX@2DKtExXAQsl;IVt$<)5R8`#AuzQg@&k4dQGZ+mm~(0YNKL2Mre{G% z?Zg3Q2-C!8Tyqay?>r3s+8w$C72n&;j2$xM$Vt5=#;i(=wQCJntQ7ajsXWn8{oi*V8W8 z000G-Nkl!TC9fxWLy#Kk^;1~L_k%V z0GkKM;nE$j76mZ1TtqK-L;YAHWiN1ar};Ge5y|=NdDHg6dw;v#Zr;6#yrY}t=B@aW z?&%zV+Rkz(t^h=JK+5^$Wg@{VhVSl*2rh(QzE$A^{qsFdl0rf_N521E zWdM|}5vVH2W`DrV_oy^WeV5Aui8H9XzqT+)QgrjpY=7Xf-7W^XlWGPK`GpQmP*KeK zh~&c=pzC$&0t-0>w!W_%ppyA=nxO~yBtb^441oc1em)U4utvZnNV{XY(3QzH0ca1% zZs#pzo6XKpO+SbEjDl~caRju+x4LNn2qCyX<~Kd)rqMEK0rIP6NbLRd>zE*GutlQn zf;5Z^#((#|zg~A?-`Ax9Y5^Tka}ErF?Y58m!C?Y;tOh6(e$+$QKL)HZ2ctv~@C;yF;DX?qb(95}^9ae>4P~#XUDHc$( zRDX;93Eums25=XQJ;3R}%{2Rb`WMvC?0HPU4*bLgAKrjN{S2a>0QkL6Fez1sS{$&4 z$t-XIt@{WEK;TUcxEy{rnbyA-i+?y&eqHGc#FF0km0zb9ZhP;RZnm3SBOtmyXsO*% z-LKlSxiLo#4^1SUPU5`@e|*J0NNtWCR(}kOh}&B(PIqRRI=~(VY$^8fLGR4MH}wJg zuxk!k)8$&Nv>zJ43?jG30AJ{P{X}Cw1j4Y7Q{)t_g{F66OV>N#gz@Kw%gU}eI)Ci# zffJ5`)rTSwu9jAoK7Yug5{{NuwmuxSlVaiMgC964Dn}pu-6X|Ad)n0p z1jZB#sckzjhG)^%hYlE0 z{DAx7PgZ)J7k`4{*e)1-e0$ z;TbUckYa5z1vWVY;l#?@$}9NUAF@)H!{4?pL$42Ke<-yn?;Vgx(V0Ul3B5mr=ms#g z1DrFM*82nMfnEI1g?H40Nnm3Z!Ft26fpmP-rAQ|!K;Rx#n00;;ANAbEgU>~sUfq5#geYQ}E0#YPXchq_oIWe>1SWu1>dZ-+d8CX-=% zKlydLSzi4TxuVP2@>lU0-O#%m=TaPIGpgDpfMhF-&gI21NPnifFGY3{*ibs7^X)}o za=)5W`|-p6;vC%B+!m|l9xf5`m9i&F*X{*inn(32*X#m7L<2-Ya5fIae#P+ZZR)|9 z@bj14xu?IsqhXkGaK^~XpLq;G=>mZ~hj;{Bzj&G2>f3~;NQ{BW^%pM%Sba)3juFP= zg}i*_Ts&Be^M5emJW0Qg0PwhYvO?arbhOHe$5Zx+pV~-*;77)KU?iac9`ef)gd5FV zs+Z&B@vj$gOdt%OLIs3pB?xX$_!zbtY%D?2B)P?%u91X=Bfv|OM?7t&kT7l58|%Ph zoh}NwMkZ(8VG$fhivXE6WlFkbm=JHdJVVU?31vO~F<`(gD+4 z2Nnn@fvCBrQ<*EZ0YF=TH<>r(wVJMw5066~BMVl;I08~)uVxtljIqG#_0mi4+?Rcw*;UnJswA5-}K(dAooip;Wo?gs}gX{u2A#HY_VklkNrb&I0Dq0 zO~5Y|5JiDy2ZFf_cgBA!52cjNb42i7;;uyz+lYWgOaXC)!cvL=+I&&F$wY?T5l}}7 zRkf8!I41z(EMRKSnxqH7cm`d@DS=3+C`vR3C4UvrW`wKacp$2O08K*1aw|c$Sx4%w z3NZ(FVr`ozV&+1@XaPJt{{pcrvrqD zm>9gbZuH})h`L=N7?e22fy5LF|6f`C(*hzo9sskT9|4ZLvZ|`~iz|OX@#eqv0{*T% zmVbEY?N8VhZ%`Ej0MGjfgHp9CsvV9nSOsq2WY91}3UaQj43TqRuLjHdel9+9y2>we zd4`zLySDPn=*(+BxuMI|@mtA>}xhH@Y0nec1J}=!X$*gSTzBq)K&Vxm>u;Y)wpqe`=N?F4lz*h> zzcMez!|2?D%Uz>pJ%2`X@NUt$2i^evB(J|YWZ)i>QEk5dih$-Gj1lk^0Np((9lbKg zhI<%Pv>wpo`cZh?un(qDLO`<*Mt@b?hxUPwJ*Q?LM((2ldi%iBJTWgX(d-J$U4T-5?A1vFD$bSv{V66udQ#p~QeL$d>m~yGR166+QZ7-2wNn?h6 zu&iw_;UBR2n+gcX4!~E_HSL3CW5p8f7(2f#4g1gloy2blxVn9?Y^i`&!e@9@nPwj> zJFSaiBjIBahCs6q$^>m|LP@v)W#$g;gJtI}AXH|ddw{IB54A(^+QKXALVxH3^E&%b z+Y7-?fKV<4UktCc4`>6?Ua+Vu-BLCyC9Qn`%f|9AYM_}!=9~a!A0luARbayt&=qU- zp{~66*ZGGylUes~Tcgn0hm(KEq$=+X5OUTyhuS2x{=q?S&}F~d7JpE!^$%zd2G^qL zs{PWl*3}5Nbr?Dj^`9DvXj&iv40BZU|E!t@f-rfIOvilfgt5^r_##lJLm?2K(#A1gJ2p60>-2CzYN5GDLU#{U_iO_00000NkvXX Hu0mjf8=TYH diff --git a/graphics/pokemon/pangoro/back.png b/graphics/pokemon/pangoro/back.png index 3cf38acb1a69a82c0a7e974b7e4237b02d4abf11..4d1fb491bb7aabdeb67d83a27382c7f88a1bb558 100644 GIT binary patch delta 539 zcmV+$0_6Sl1cU{UbbkN`bV*G`2j>O{3pqId(UwL400HMoL_t(Y$IaEfZo)7S0N^xI zs*Xg0J)$HMV{jgzC1$5lZFWn(>`0Kc>O|L0JZ{f%{_MD<-8c!PC?9v{vq?Pf-r`|C z0sL%2`1yqJX`an)1DdB^coR@Ed!F4`g-Y?9{<=oCQYpgh#eWU5aHl|?l3B6bI{+cC zSc1}&Y&aCI5`<)-szDflbfj3(oDibE5&#yt05*^*5QDS|J%Mce|+V1l5+b%k6m-!<44kqyr9Hs=6^7Tc8r$Q^=KPxC7y0rjw08SxgVg!P72g;ovPCR8!O#kCd}4S*%pAP|69Ur;<<>k5Z6R7PMD;VW^u>KTmU41y`~^;!R2N{0~A z^Vgr>bt8czMI|Ke|62FxB@S?6((~3)yAh5^LOQM_5x zad2P_z?#d`zCUh8fu!|Oe^!PQlzapZ!(GB{f?q*>sK%h{Q6Cq4G?XUr`(LZTM*~=( ztg69*Q~-=+`Y;U1p%LAnm;pq4_Ir>x0d_kDqQ8QGPXKcf{{hSmWLHtR0VH+}8}xG% dck{OX0TjRWnC{A&Wf}kg002ovPDHLkV1j}P@xK57 delta 523 zcmV+m0`&ca1@r`vbbkTrNklB*66aZjF;BsRO?rzf9kTI2iz%^F()|}K` zpy$1ics)9$Yp49&K1H@{DN21e-92!?=*xRg(!+%OZ?VW`0Ig;Ot!D(~b+!B+@On$q zZvkh^hucXOnMv`my|qfj+N4OUpK(y7djsk%TQ;lb2w?09OMh^_Wsee?SP90e)YM=C zKu1!ndCeFzKP7<3V*ned3@AW{K;UE2o2XeKLX!w(CJ(_8UNQ;LSg~72fZih*1P_nlwF6b)I<$=i;ZPvxqs0{a zhVKFZ4!|MhLVsO>AaxWtQ#?S?*%sVJN*2G%}b+3L;fNY)p5EO0oxe-bzaHG&`z=5@ zcvoWD0#2s90+SZZJp$YWm!Y}_u17mA_-SZ;K*xWZz)u4NpzX$qwg9|sQkaI8&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MangLoOT* z0003ONklNcfe>a}RaL!8KA&&P zylMK=lDB`jr}6yQ?&)HJk9hMdcOgeaS*`-&W(wCkAQK>B_Fz3dc~@s#Uj!j`fZ#@X&Ia*ZJGp9-+&3hjca8d_Y6smy9kgtQ{+coq<6m!-S`?En$!i~Ayc zMhKQNP%We;1i{fCm0?3&!`L^|yoF(*BLh^1Vf4=RMM*5Qkbko%oh0Hsd)FsdT$E(P zmDD+}#Y3(2$+HtK&1S|hdC!^oLIbSqER8X2{@wD z&+OfZT;~k&zKMStzYWa(!EV|>5Qc5%Xby1_-`#DH5L`ltAAqn%?a|nis5!fSf<*2asS*m; zJON5oH1t4`B1LwdfcBv}Yf6aiUEiu+m;(}?-?O_jvz|}W_J8(I%wqNKV=t(Y9CW<^ zzzrOgz$Uk_BZXgwuxEkKd~j3(iqLhzhLJ+xQTPFn>{7ADaR4DF4Oi{bcz-eAoDbCJ z)Y%EY;B~3eIqzGFB=ycV0&l^Q^7{^{QTTLOjPVNB0#Ph?rDxhcfHM{%p zl~gjpDGX!#Q}TfGYjzuuAS%_|$Ri|Q5I-glKzsB`B{z5+H?NX=#P7*1T+s^Uo@frE zCLlf|CXrh`1cd+?-C%ByF0X8XjKSs24_qOp*az-Ox_^#2EzEG$LF_kSByB2VoiDL) z45ny0llF*Xr>3LKjIlbuc0wI@A%3Z4QpA~K(vM~!l7iZ+kSucHQfuS_Dw(780L}|ZLR>o@Pat~&DO#^rParxF9=sCBL9fCgHur)Z zV7O&EAbuD|;VWS1p(g>1*z0ZqgIJ(4nuTBs7=I(6;a(N&0AmzN1oTpW3mAkWk_f{c zU58eVsRGI##MZl=yf#8P%U`Y7kEnq~|mJs}~0}LrYus47Kj&)d->;PlLy0X68 z0tV}}$EC4a1Pn1ZLEhRqU>IWZy7Jp00K;lgHr@r&-q!~LFeWtpO<%eP-KSc2J6Wcs zj%;)^K3N19`Cewy&VHHYfIqZdIiY@Eb;&V002ov JPDHLkV1kJUl_vlI delta 829 zcmV-D1H$~p2c-v)Unv7HNklBZTPa$7%3maV~aEl_5mi zQl}1Dr%OO+D)b?GvEQMIh=lOLF$s?jw*b2v z_d|QR6cD;m+=ns{_{paw;dbNLceVgm0$0f`K$Q4F6qf<|&%WZf@4pbG0#2YC+aHsA zoLupnkbr(+&CR@pn; z26%F~YoqLGq@Jw`{a>H(+E9~c z>0(CEOuO1F;}X(kSKaLX7Vl#p|6%M6|J`T%dF{OJF4!J)q0I46FsC7byUGsl5^m(h)@q-L+syK&1zp zg3&MC{wLdlQPu#&Th1*6BCs(rT-4Bn^@ z3fJmOya&FiU8hZKJdt46c&HdO9?qay`lNVk6_P}X1swARf=ma)`P zUX70y2}WMaSXBUf9_NBV`BXWCpE$_{gGM`2<$sYGNWsW7S39*n&HbS^94gP2?0)GF zTz&Q`IGLxDbb5!%0&|IRDkEB_i3X4o^WqO0fbIR^U&n9uEqVnkjRVsF000R9NkvXX Hu0mjfALWcR diff --git a/graphics/pokemon/panpour/back.png b/graphics/pokemon/panpour/back.png index 9428ad780ec5096c5524c5e994c103a74f64efea..ac92d316d3b701fecb52612cbfd4877b26e960fb 100644 GIT binary patch delta 521 zcmV+k0`~p+1n>lqB#}W-e*gz`Nliru=LQE104fKgd@%q30nl-+b(U zMjeg*?T;+V?s`QejaUr(C1!{#OoqZA5j6uv7?9f)wzd$#1Qb3Oe-!>`Fjyo;ELJGy z5>vz~1ZYDgwvsOs>>>l|a7!2FP=%PpiY%`LwoSskFJ{CeN(wq5u**GG zy*VImbT>>C?w<64f9m2#eGBj_`4cd`_zm6y)LSL*0Xg-Ez8O!5T;s<0K-C+P-e~QW z@Bu{}HUljT6VRJF)yVlhg);y*Ya6RVL1#tQ4!uWA z;tK$ifWPa**?OnK-|w!*+Nyz-j$6X2!L^T71|n5=et>xEf0H41qcT?^9mqbb?YmP5 zp6Zalw${FL2?6_K)6^mVVG?nLi9MZ8$L7rg*#9{jeXZBJif49D$ob>S|3JWw4*zBC z>zNK)bCSb#1$(gMf1o_}%#spuyapQE>>S6HT*Nbd`uP9j`i*@9=D@(tdawC900000 LNkvXXu0mjf6+Q7+ delta 528 zcmV+r0`L9s1o;GzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0n$lCK~zY` z?UT)F<1i4%ZC!h@TnH&OqXpr$l*4FJ2=uGD2_YRI}^uSpmW{cbDYV0ywJZ(@?+n&B>4p9z`)Ly S11`q^0000l*U5Qce!$UZ?Ipu;hBHMf~_AV{X}5EZy0daw@OwFAXLW)2#6 zX-@G6RoUsf{j;0>$$mu9-wr2CnCrDbMQD<;KtX9DjU_iNRevCeemFZw%|hu6=WC(; z9nf(dv=5kaJ>G?RE4ihwd7_|1yz%)_#?WKSkB2s_a}8e4p)huey8Ge-y&FF!#$0lvPnk!zvYp1Pw|Dg5NIg+A~Qs z8DwzPig2?pcUC-LiZ~=b2k1P4b*v?nd_UKpDo>!N;io!2z#QA~CCSj~*i30a_GKcT v@t<*Y8hKgpma1(lbnA?DW^p?{eu>BrV)lvM&uX|K00000NkvXXu0mjfEC-n= delta 310 zcmV-60m=Te1B?TZUw;7?Nkl-@25ab6c^MX7egPC+`d>VJSK$>)>NI@5h z7}UXEJrFw3j78L0kt_C6rOf2ITixBRbgLx!+YyB2xn4^|geECV1e7MySaQ=+F+dFC zDL`r+K%VG|uixzBBEurM=xw)t!gPztrHR%p`d~41b z&?I7N=bSnFJTH@3@XrJ~OvX8!Qg>aAYJ>H`I`&9$z%MQG4Py3*-M@>gm;e9(07*qo IM6N<$g6!+NC diff --git a/graphics/pokemon/pansage/anim_front.png b/graphics/pokemon/pansage/anim_front.png index 9eb2397d1ff2ca870fcde3dd5fff88213d341c1f..d4c0044d9d7d1f512db32a96b3cc9ee0b25259fb 100644 GIT binary patch delta 894 zcmV-^1A+X(2hazQUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MhuuOi88} z0009sNklzi!h&7{G0_cCcehUG0m55Q>BxA4(CEb6+b4CetqxQaX^qAFI)Xqv08DJ<1u7(W$|F>Lf{JJ0yGxW3`_4?jl21yO`+wbcfBoIhvNrKwqQfi} zwzS(^L@;V;_d!O-m?HoVy8wYHhb_C8^3RaM0qVcs25{Khmt!QRNkp7_j{$^d0JTgWHJiaQ+(tnMcC$S7h%_XxO+3xCz{xQ2; zobJeJAaj}qWtjFAki~W22VPqDkIOl2hdTcHC%BatlR2_t$|^|&K^>^@3Nd$Z96E@h z1O|10+82!#=9ZJx_ky-553PHMQw3O2V=tJj9K1kaDAV|%@%!#g2(Sl+0zonA6X2VG zP7KiP<$s>xxcreEB^q>1$7NGxpaSH1rtd%Cp%o?VWzvdy*j`JW&gMPY#3uf6*z6Au z;N>LK+65TsR(If~2&sK`!I*t9d$$uGEiW0K8vER0s-6;yAd4j6}7K$Pr zX8W|hnFOpUO5=HVV7R6z8bGWmipF7vYl@b0ch0ltqxD z=p@IQJ2F3xrK0E@W(#}$QiU69FLsp|mn%h)?Y7m>gUN4-Lg(9j{b>!;qMR-z20Bsg z^>>#7!Ejzq76~$*HT-~)VB~#NDVmO=LJ9^>S^!>*M?D2}6Bw8T1LgdkC=T_4@w`%i z?K6X5(3$13U8^AWD758jJ8P`6o7rr+98fDb+vCCgis`u_@aQA9G_MU zOr|FiQaX@gPhFrx9srQ4jvx>Z025nzfeOi;{0LQ_pyC-g=enfCz77LOEICr5Nawrf z{>8_iWo_cWL|0nUUy~Oq31G4&?*d1+wT1@@b^yG#8iI%C{D0L_!Uh_@w+>LSyT@}3 z+ZGWh8a)L_oED%L0V9wMO)I2Pq8rdg6NpTJ2OUfD_-+(M9YXF2F3;;On+WIc=xuLp4|Be@xlbaX!jTqKOLhYKs9dMPF`h*1wQ+L2W9|98I~6W z;nUbK1KlL_asRR`2pAtVcS+&g!~GvuRN){o%%Eq<@bUsNe@+K!C_pjD56|;F?}W{p zxDH9_Tv|5g4L8oj;833FUt(f6kdl@`73KpC#9yO}8n$1d- z*<2P(cwQYS@EkF~{iCo6@ z>ww-I|L^-V0>sFar>BQvG9bWh1G*tVub(oViTMA=ON@D9L5E9n0CU^?|z8en!Rpe8GXE#8q}V4c3$W{ zW(InCJSj@j(jsiFQKTp^G`~*lNF{oeU@{C2w^9_9m;mm4OGPm>I@)6AMo|m}yhO!I zMd{d$^A_X`OGWWz*f?*IEN&D<(mJ7I04hachkw~Vsvjl+D~i&1z1uKeQ4|A^tSE}X zVa6+pVzMAsl&fn+F*%G!ih_8pD3ReGAxKfGAVo1rj#b)RAE&G+CWqO={vg-UX&y93 zk!EL0Md7@t19(3BO;PB6YgKp!Wiik4c|{252CD?W^izptKC24Es&1u{1i{91fVxD} zQD}6qVBl;Gpt9+tuYumME-}^0STK;+ZwH~@1XwVh6dDk&=^1CipgT)BZ&VO5@dfYJ zaa^;4us@KArIBh;5bY25xk6i$;pJDmSQGY|(VO^-_z4y*6xOY%Z?*sc002ovPDHLk FV1g0^l=%Pv diff --git a/graphics/pokemon/pansage/back.png b/graphics/pokemon/pansage/back.png index 90de0b408900ae23bccce2248b982fc66d940222..6aa99dce70204938c09c2c1149f72740fb151887 100644 GIT binary patch delta 520 zcmV+j0{8v>1n&fpB#}W-e*gz`Nliru=LQE110D@J+eZKZ0n$lCK~zY`?Uk`^gD?<= zjpq!c@Bjqbjm4bR9k^F;CZd1C!p{5EZl8 zivR3(G20$EMJAK~347h8auFQZD=Dd(&!U?z76+EFkeZu~t^90*B+$x-(OdaWL!f;e zm0bgTEB^_2eVjF}e*rqfHvbN&B&>^ChN`mI^-EwG+zM>>$WtEyN`R)nZ_x{B!mu>? zZHJyh70k#}0#x%3z^PitmU>itpO(+DYr?#hro4p~Oh$T;hs{av^c{fRN>`WRBy&i; zAIebQjBb!QMEC1Z>e1~dnnM6z7BOHLc+w2EFSLF$sp+&Jey+~#PipespINx#^Q&hkA6=Ncv&*=+^4$ z{W$2_)5PA#o^Sz_=61*E6HIRo&vw-Q{OlD2@FGWB{Qs@}wmtwY8L%{v0MjA>0000< KMNUMnLSTY_1pPJu delta 532 zcmV+v0_*+n1pNe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oF-GK~zY` z?Ub>Oqc9MLjq4P!@BqZ@bu?zI>%o2nr=p64t2|^BDXDmMdP@7yfUDwk*bOx2gpX=HYM>0IU9;9Q?3vcfszNL8N%O4?7d&Lz`m+?Q-3 zNCw7!0d*opFvh$9NCKsQ#UlW>8%P1-2#XwOP^ly(K#3kHT}ugFqZGXf;< zd>6Xl?|cpP?^c;DK#!__0iW+)yDfk{?5pp9hKDs$JXDQwgN=cIcyJpq!+V}=0#E>* zeH~$$)DeJP?5gJp7Kdt;BV`HDEGGa>)pl$#MnlhW`!aT2>9X$gb);^&Da{w7$G{a<*CzQ4UmW&9r9H%F(@v`V{%1;23(4_o$%;-IPC?<7OneT z@?WDqZX6MV-hQ3kJhLgZ{rKT!doe+MA)inPK7`-q;||QPl=FW%eDDAO002ovPDHLk FV1i&riJ$-g delta 269 zcmV+o0rLK{1C0ZaUkCvhNklKADS<*=B_+24LPIV9R#o3%ZemLq{>;_HJsNIs9adnur!VtoRHB47dGnz5LbG)J z^!DTI=9xvI?Z-DS?ZpK3g?vIG`0(SA{XQRe%&(O5 T@OG$+00000NkvXXu0mjf8ccz+ diff --git a/graphics/pokemon/pansear/anim_front.png b/graphics/pokemon/pansear/anim_front.png index 0510243a90c28d0f3a1dac908f5b84aed728bc7b..1d11a0f83ddd1c827a2ad1e7fd2d491abd467364 100644 GIT binary patch delta 904 zcmV;319$w02-ydaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mh%lBD}<9 z0009#Nkl!D`z;5QZg`qYu_fFQAcHdgwvcniiQJYI*$tZoDth9Mbky`UpMc zT8F?G=aN9dCcPGVGx+3^Jb)p6m(H%N2DB@M9(pKv4Muo>?|-ajXXpPM=P>@!@Vk%9 zL)tp;LfpPU_?Un}YY5*bLEN@M7y=||^9E_QEe6d2GzxtGk6_fWd;m~rLF{-v-w-4s z28ifG0xtuoC!CGti00I5LY#pp3_&7~VLt*8avIeHSt2LJUO>-M)YFxXrOe9th@Pil z69naa08&buV1EK3WzuIcMUX{Z;L#ocgkC}mQd7W&JxFMy35+cQios54m!CgUCdTr( zXXH9dvJ(=VyZ|N0XNJIIgVP^ZT9C*M;@Ui}!NnQk>Gvx-&dViQ&fLSr5-;A*!H;ok z6LgkKR0C4J!?~?$ZWnh*|K*O8Si-QwFP08-Yw2o ztCiXZMG)o%=`3e_wOa52&Qj;dtnQ9_w=Jc}$K_ee9QLxJXt$Yy5X{Kiz1RgnAR`Eef{Lr-vNlT+ z20$o51rRaugPg{uV6x|fK$*9&2w0>M!_S^bJAXhhd!?%}kBnae!wpiTIKn7v_0X?*A6x`M~D9ZvOQQOFYQ$t=6pFU*kcJ zR)Kc^iw|E24|ZfOBb)n^vEdw2KgVlftIWG^JBX{G=iSLS60x~P5A90553Ong;W|JC6H^*-r1O=xvMr4|tDN3fIzDBX_= zKquC{bP3RBt%~L9bhYl}`iMUFt$H%h$n_1-TDyQAgj7i(TjW8fMW9A804QU^0L5|= zAosQ*ra)upI)4E2ArC3am(QsZUHxdgsHZ$TPY8JO6ELuIWC1m~d-(pu0I|M6Jhupc z_xKg!;om28oNq?xIP)3~M|k{f0HTEx7f>IKkOkVw6%JfoGaY_J`flQRJ7@>V^3V9w z6q9puhVPt!cabDNk54alkwZ{+>rHVm9*;Q=@}TSsQhy&ECFAih*~O!_w_$g8opYN| ziE2sPba4@wu;Iz;*LgSkaq))LkrND0R-KSGiXM;;K&GqMtOF{MzkmJ};Qj*NT6)jF{qq$P zzy?0K059O_Z`OlbbOL7jAOH3Th^;F;^BhMy9nxUK0nEfLo)s%;s$$hIr#{ z-G9r|DQ2galtk(R>ZHxS@bn+dB>ZCQKVY_?^&nf27n#m1{e*H0Xg%H;pwh0ODFydnYRmT&K{=?mL{=Pk}Wem=OX zl{&BtkO}@@z8+j>4t*}6YGya?%bSbeBrsE|3ZUSEu++h7f2aVO>|*WyaDBZ7xRY-q ZUjc0?KgjO^j>!N3002ovPDHLkV1jOv(5CB#}W-e*gz`Nliru=LQE11``haQ@;QJ0hLKaK~zY`?Ub>OgD?z+ z6J_l{QeGf|2WT6n6T^{u;te@oh8rLdhf;6Hmn?AXQ>n zhK|y!xlc0C!Q9E*Cd?Jwbp+(>S0)79k=O$+vp)~p$zZ(N27s%QDc}5&;*_%72mE#y zU@~L85)p0~i8g-Y0-?Cm7DUm@?o@9RVk@tWmgg40iw~Tr33Bm4>%f zZnuK1V`nx4a9;7hb&OWu_4?MnYt&XpK0P)OR-Z_eNP!=9{10U4ZTEUc-3M)*y`t$c z93N|kb$^M$!}vC9#Nor*t~}V4z5}3lv7~?0?TwX9LDTii1n9pb_JHA^-Nf_5)wrlh$TLl0g6f002ovPDHLkV1hq# B%y$3) delta 466 zcmV;@0WJQr1iJ)~BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hCEZK~zY` z?UJ#MgD?z+6J_ntq`Uxu2PlQ<#BijZctcJdPHGn-9->k=#6z7O$`By1+;(TR1NLY8 zk8SoBjURUawF7Xy3&cAew3eS+z(s3aZ6KTgM1n%(2!w^GVg!P3QJLN>!Bw&Y=){ab zdJF*9Xj6ntp)gxO1aJj^6B2>bDG-Q8VhL~)A2WbTN=Zb_<*bV$Csc|ijY?ysW1pZQ z%Sep^BCY0axRYK@bBY%_1bL=0VXehm9S~1(ZI%GJ)E;n|;^}gn0^HL!06djM`{u6{ zx0Iwl;E%filNjT*@PQl`l};s6M^+vn5Kz-S0n9a$N`PXlfIB6B0?usSqaZ(~6MzN% zI1_o5!`mvlt;N-eOiTb|EAh7uXZ1Z_zuI??+U9KC#7Nlu%z{J&@)XKP8+zNlp26@T zw`8wic}&NjwZnS6#N@&Kn>FI_VQp6)Y;9j<+YH|epr>5cKkD`-%BJc1c>#>y5qm&; zV?=z-2!TMyI8Ny;al@|`3IDaIpno#AtrInDunYUQ-!#U40AJga)~Qt>YXATM07*qo IM6N<$f@v7e>Hq)$ diff --git a/graphics/pokemon/pansear/icon.png b/graphics/pokemon/pansear/icon.png index ca1e09dace323cabb24da26461594668b3a34bca..b52ae355897566ac53490abc9abbe24f89528f64 100644 GIT binary patch delta 319 zcmV-F0l@z70+s`iV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3&2NzgrFEkx=6NzHBr`Vd|2DnHLg#^MyCZb@Fi!q*N zZKJKWThiqz-%0G(H2-de`m!evn81Mm$paFQZ9M|CfHDHWsDI#*5<)RW9tc7b|A2X1 zNd)ysNS}F?jt9+5ZU2#mUDYEo#_f=U-aNNm$(0mL)y8`FnAz3WG|4NtmGG?3MEFy>*+c$_mFzW2fZHbtR=>#{x z!DPC4+FtkOB{-7^vlyjS&T)<0s6nAGZC9-@+;*2QwgQMBJvxIbG1ou(@dSN}sbeVe Rj|~6-002ovPDHLkV1goIhZq0= delta 281 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 N002ovPDHLkV1kFb*9HIp diff --git a/graphics/pokemon/paras/icon.png b/graphics/pokemon/paras/icon.png index 6bc817d0be6466e667e5107906bdf915e415b690..8371252b4a5b37b942f104a5e8ae2b669f94acea 100644 GIT binary patch delta 370 zcmV-&0ge9o0=xr|7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mh`Wzy1u@0003WNkl2zftj;VGPW<0U zKDLj`HuGm)eWVHdwn-BQn>oaHF4kV{`G|oT_=teH@?mCRVBlj0hOT_DnStr~VB+bs zYvcJK-3C6OYf6w0I5L!gPdVoa22Ysn@mafcjSeVSQMf01vKTt%WnUyT7 Qi~s-t07*qoM6N<$f^LGRod5s; delta 303 zcmV+~0nq-u1Nj1w7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S_en%SR7i>KltB)| zAPfW%1X}{h`~Tn8h7bWI^w=EY96iRHHjHy`{iguz`#HxQfg|ReHw02jG3@|RLNvy0 z6yN|eBgbVFont1_eqIqMvxaC^T{QzhV5>ruDD&yw+T=Y*i8&?eB#{pYAbr02N{}6( zn=}U$8Qn2gwJJUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mh{3m;AIz z0009lNklJ#N%M6vw@VC7g`I$@&);$xhTK7Sc4VAkUp19o2F25=mT)jgiwM0?Ry z{3(h?fQeZh;}`>WZ2$fEG!nNfJAC^X)nhd0ZZqcyo~WZB64L*h#?Th^qTAz z&b|(SX*Z3H&aTDsCZ?h3D@47;gJmFqy+e@+JBSnq?l%+U>RjB-e>994*DjFjg%m&M zzYWuj8|Q5V+5nfo9xmq(kchg@O%G5ifyWe?5+KtTmVfAg!T^wit{%BcGOcB@3@orh zqV6@Qk|QnwJ3+q#t_1wAWNzv~TFo@;1CY#+kUY_NncP>r1GY>D1pxTRRf$JZNm^xT z+1moP$hhfI7ywd@T{^(@Rx^OS0TR#vZ4Uw@3o;~10%p2mZ3zTQ#hDkB%m=$itdMHP zWdkg*0e=Fyq$6o1!Sl8B9e{DfL9qtFySxwh30{Gu7iT~h*jktga~JAE6Tq8O1P1Vc zwNJ&ajH-8WttnWJm!9e&h%=YuvK#s8BMbAKN zuyzJ=XKlhUkUF|s11SjT41@swqA?KDQMv{~+0GjSvB@f3!JusCvM~?~+&Y3m(e0PD zfe_#d1_2(_24cfq-dDLU-E3!`UmFOef2w&G{wCX*m(9pPNH9Prtv}doX8{UEV<1Xq zu5drtY-c$NhBc7V0-56vHru`2_=6z~fIb7AKTy=>)*pN{EVIW996g|H4{CofEm6e! zg26n;AH0IH+3^R;_BPFPTIl*i?+f=!d+Cp6ywB-Uw;ELNkl8nu5Xa>~K$WR+GIUn@1XY`lH4&1IY=T20 zLYW%0Pf(+_X1GC`VuR#}4K_#*aeqDe^m(uW-H$Z{Y`ww_ zVC{?LGoD>1JIQ7GF-Zo15#60)4FOwb{%(4lh?}JozJ5sRS`LiTqk4T`Ed8pskCO(t zTC$0eTi;FJioHHC+H&{5PESPt80|W?IPL@XG1Cd{9(uqSA0su#FUbN6=N!FE@i`)L zXb{PkqT#3a^jANQBM7_nmMIeHmeNhNgmK1ybI}?@aOx)go zcMR2)50rW?#gF@6#JIZlo<^hzxcK>SasL3BsQX-Z0Hrc`%#o=83Vm*f7MKzMCFt2B zS6QL8%oc$;cF5G7232vyCEz6JPQW_>|0`KiKgeej&40Q8WD_JL&oo|UcQf7s8#F-y z0RC}R;gM99&x*Y2Yyn3UoMuc3fL!C07NFT`0#G_20}as3uz+Myfkb72iJq~h1p<}g zEQl%=g4rW>$Tj2A0dpLHKq>8!w2}~nT819LIO3p~1MpMc1;PxkK-vdKpbu=!X@Ne4 z`p_2O?tc^!0Rgb)TQPTX**uI$yI%E~=rUB^J2~~=&q&u3f+4_8fX-)~3pMy7YKu=+ zuLtnN`nuNjziVwEYXb@X)j%RxZ6KKK?^YTJWxH=62j98|VzS*ckb~*0Yak|APg?`Q zKzQHJ_Or%74zS^Q$3RT5wgz%*Y{D~;I=UMJnSWZKH4qE%7tTOvqVx^KW;=HVVv<$* zf?>0rOJ^VkxbXzTMt4}%24VqUFf0&2Z6GGx<=w2*RSQ&@Q(c>owtJM|qpRAD?WLihzccI?i|GuSJAHIKpR^o;*0nC~?;MOMq%Vq%xo5E$2Ga?tWS(z`T!5`{b zr@JMfUI1u9ZD2sce_(){l|C|XNY;Ruh9;pjMWl1w_jHL0RS~o>D%eTG5`Po2>?k&PDHLkV1nP7vM>Mu delta 409 zcmV;K0cQUC1A_#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0bEH$K~zY` z?UJ!hgg_96p)jF@7;;n==nI^aORhEY08kLEd0E zrG_!cn-4HtQ*Hx%kasUIjw6X(8Ep!pbV2Nz$-n@VR&!ulw*c*{1%Rf-)UBHl8P4u% zJSkuNp|l~bvuVWuRK76?&_O=}S1WxG;1I6?l>Mq@2m3KZGPkyL&!U6l2s}wb)Fpsg z;b$&DxYPfG02DjWq(DbKPK(*BEN!q$Tf4rCa(-j2205wtROz{dU00000NkvXXu0mjf D=d`w8 diff --git a/graphics/pokemon/parasect/icon.png b/graphics/pokemon/parasect/icon.png index 27b8e098932cb01dc43e5ad5b3c40b8c3f88f186..2af90ddcc8f469310d503d9b36f353be07b353ac 100644 GIT binary patch delta 349 zcmV-j0iynb1EvFz7zqRe0001qplF?uEjA}QD`CE?9H00w1qocRDjCVK1l>ag8uUy5|Ip9J*u5|3@-v(|oe4imiOkS)^_hPe z6z9jA2fRTkx(TBQ1U=MQp-D{_qQlWG17q(e~uxx z`g)pZ@D`nf?}yERJzZm_5imVouoz-&qT1PsUk%*SPyfbqf%jO?#bsGJAJqMRZhAi^Mv v`-PABp+%AL!At-qD`;Qv0ix_w|5f%ccw@U`F&Bb{00000NkvXXu0mjfY6_1L delta 313 zcmV-90mlBO1A+sP7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0RTxvK~zYI?UZc` z!ypWV%ZdgfFT>&sxUeQG{P;Vx&2`fS@>-xXL(T~pG91Ia7S96$;o%p*MB z9YKc?DDhr8ieP(==So8#fhvZ)3?iVVzwFRQ0IKOtzd8_wjxt4-C4|->F?xt<9)OE9 zQ@C#X4w$N0*`g1B*dO$miMYes89|+M8a*Ns%`9GLMEMnn8#r?3IQL><%Z}lJAqRM* zjSrNqxs!&W?h$DA97HTHi zKoB792+S`4serf;|WK~zY`<&(c^<3JF` z9aazEK`D$7xmSp>4Q3I>!K>y_chdXBol>SuDU@mmdIw{b`x3&P3&D{G$jz>t)1TF< zKkh@q;Q8sBPqU-h>>ri0w-nf|5L$t_F-WXHQ<(y^MHpMt>5`NDf3gA_WzHr6vIwma zlzXhGM=QXRWKXvpQ1-W1v1pydn~99nBP8Gno+m7pn|S+nv=iEYQeGCrchr-Ej+}EBW{oNHGdrg?htW_m_J-GKLQL)?qJRc za0$55&qIxaiL;^tf9jFx3wJf;(ok0@?k81&#%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q03XK~zY` z<&)2fqd*YG4ebM@a1TLb<`pJP0-=$RA?;=GHu^r3n|s{j93^`y7T+PnW50ytmV>a& z1I$#nnek8C-k1GQ1ncKlpJnO%t8#ai0=pF=E08n>sTF7{Q-HRJ62~T8a?=+puvX@5 z5+IAn8bP@yih8gDEKPTRblL%Be|r^+R%x=H$VfdR0-oS?!eY5jHg5+z;ca1`{d_x& zS78nruNN5+^HE@1Ei#UmEX%+f1$a>{I2M}>>dUBwk63ZU&7r;?e~ke%L|h^s@2+?} z01QlKFlPjK1YGHISL0yftf+u`p{du?}n{zjb~_EQa5c z$&SthR0AOF0^*Ur{Dc8%Iq2br(ja<3YyjuS?jYP!8tM%y90Fx5%dSBj4}qiyFlhj3 zEO(X}P?gST3OFl&pxcAV(g4anpl+QY_ySZS(E)_qO9*_-C4eSwEq84M4tmo8F*p&k zQi~P0qaq;JfUmbXppIpfwtySUcH`BrM>7=_UEP3YJ`PrGV4dXwGNl%Ug7ITg}V2qvo1wdN(f9U8Dm>Prh4I_8` z2cUPo7eNCCt>b{vYvl$%1Kh$` z)m-%2o(_Ntn3N9cp97T6qKJap-vrpb+h-9<5i%F1wC~<2eU`xE!uSNR&oDwXdz@!6 zOsoMyEyDA2WCP#ze=@ke%dUY&FE0^BvB$#OHQOBq+m}iLpxBh=m1$sGpdLmqZwUa< z>}0(x?-JSoG={Mdtu5g0iYD>t_qXXi+9ypR*4qd?E4uz#qvfAy&kK|`O@=}1iO>wVkxUb0E=tN`s5^kD@kCo zP=O{DbmfaRf0ak=uyX)ZfI^;}zbAtXVFe${g}#O%?hq}cz?fj)_W@K>#%|MHAWIYt zkabfW5m(xAYKsWu_khr4L&r_+#??N6YZf{#%Mb04OV^~hoR9VZ%W|B^;(VD53gIg_00000NkvXXu0mjfbV7c< delta 818 zcmV-21I_%62bc$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0`W;iK~zY` zwUoVX;y@69Z7mOwT_l`vG+rdvz$OqP3Q%z8F7N;W$&s$JIAtWdC=KYUC{3(XD1{}Y zwAVyeL{RQ4+`HVYjqw^1PAA<>VQFW+oxh#2@ju0+M~4B%?ZXZ@=SP15kS=~M^AWfn zgA5F#aPcHp&pr!-2KKFH?FmMM(4gep9n`+5K{E&00LuqK!?z!HMB0$SKZq1z21 z_^7J1!jsbV5SZqFm#$zn_*Vp^`~>iX5D`RB!3eT15r9P=kngA~MhL9?avvb5jRNSb zIv!mQKkz`@fwV+~P3S?TKlJv1!qAf|d2uSG1-(kY54*tWKw@?)*L#NmOIhs$SX@Wd zrzZJZMFG#Z5e^$4iGqeWIKu7xYz}7%>vuu#gP>V<(ib2i}4P?m~Dql zh-Ew|L^N{~MHE2ouu&tzPew`jITz@f)$LF`n!dle+Vu6I!_^Xx?J(2;;_E@owpu(~ z-=^=EJ_1O8d!7Q<8$I3eFrO>C0+Qs+YaK9IJ4{?OOXCD+j(7%`jGret%n(SDuRGdu zGly4aXrImQ$D8sgV@~#;W}|9x7R!Be9A7hS+h*DCgR@%W{O%Y5AvQG%Y<-qOwNVpf wc83nKx>7X8Ybq~+_T0wriGJr_iedZ)l3G+KW*1fs0RR9107*qoM6N<$f+nkT)c^nh diff --git a/graphics/pokemon/passimian/icon.png b/graphics/pokemon/passimian/icon.png index 6daf24ccb6f27848df0860dc2028bbd5fe4202a5..7d168e462e706f3f94c893459801d6d66d7688df 100644 GIT binary patch delta 371 zcmV-(0gV2q1IYuBUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MiA?fIDFR z0003jNkl{2Bm(?`UzC6n9n$pqnEs%{nEs%H!bFF${?NnUY;tm-W7cmV_GE}<*wRw@Z7gU!v;C2>DFCozAwOjeEq|1L%kZ_9EoTb^{cc?Y zs5u@=h28^av)ni7)yoA6wn5-V1hM74K%jWOU4GC3UlAL@-VGTJBj{#UFlH#v{2UoM z!rXlg_AnH}n0GSh(o8|8R8*5e^B7#~eFCZ~2DEBOysRPrwnF-&4r%%{q(ABq(jRrm z!h8=MLjBMo!%A}00e|Upb;wg4f*)Q7?2+GfnEGLEI!yhrx-BQ^P|JB1MMbqbkO)+| jNkE$RHPK;`&>z+>SFFnT<7uF{00000NkvXXu0mjfS09|& diff --git a/graphics/pokemon/patrat/anim_front.png b/graphics/pokemon/patrat/anim_front.png index 68bf54bc48d04f60505a2803f3689fda7a3e34ac..082347e520b4de92706c81f4fa9e1d31a6ea90bc 100644 GIT binary patch delta 766 zcmVziZn-6o3!GEuQl1sU zOWUPua7UBTrWp!ed{7956pB5Cb|^jyg)AxfKPdF%D2gTPWPd0f+Tu6reYzj-o%9_- z>-diYGEy5FF@SEU@*1^E6^mv8Hynpj>MExwI8KGqdyf_G6Qg=J$hVs5`I56$mE&8j zXRY}hI02L@kZ1D!SDp5r?IPS8^m4rz;8Zp{dpGwVb-K@K8R5~u9mG~^+JqgxZ0)ml z*OWk?4@Nu=(0}s%!`I^UMf=U<19gu%=fi%y2-VZ>!58tdGZ9nj=6>+^v-3Dm6Hh)r z74wk5?E9Vbc*V@R5MTL0ke`+jIyU`Ye4nN+#4Y~rrv%P?VjNjsqU0LX#3w%bCI?_Z zZQ>P^J@J5v!CNuiWKf{g^z>x0F#y{UQvx6X%PKB6)qexf85^Gf1U-Re0DC~icsvd; z87Upbg$F_sC)7Y%KDFom!=Maj^3WC20c{RUsf~(81|X=dK{|kLUjo$6D~@eF1UwZ` zyIcc!iW!hOk@*uS=n4RXtW!|RvSI*P?0LRWP<&lQ2*c7>0H7Hq@|93Ps$L(KcDAWGTO}9m8f5uX!7TF(s zg?J9qIl64JZDy> z>PKd4+L#`{ZXMG0i79{{>knBJAccp=Z~4Wm_PfbPQaWdh4SLZglrK(>zVc6<37?Wu z>L>d!yNUvJ{(tPtb3P9N%zoUvigwIwaQ=-Q`T1!9p>xxVe1rh9oZn&Ze+l5y!^WxQ z##*jHoquM-@1g(&Vq-TKUlSK7@1ODME`E z-5Y>-@(~bf1c0jo>Nj%$S1|%ICn7(BOjZHtAo}FDvY;p+nmx~FGK$lcgCMNLQpNyK z0Ah$V#%lmQmlcCkR|!;tW9dpZ!#q(54z}J>e1#tTUOA9o0V|+vKW$?h+fc_}vcKeT zYZ!<2uYab7s22zFjuYCy)*GY-@dAzo#=`!!A?qgr$3~(3Ym8O9abOSYOZy8i$LDDh zW5xb#MsWgIwSV*av|z-6Rr@z*jlBf0YX2EdsyS+ZiJGJKm#H~w|3dOA zjo6>cF6*WJDK#YdrTxKEh&Qx9R+)KW|FjAS?N`4Z;A$YWztY`}O~4b@tai@V5z70yKEFtDgtKKGK!IB2@2(qa91(9&qvh^8e=~Q9^F@ zj|-qAgvv4_6}2G5DAkp;Q9}*@CQwI0svQ8hx>lD1h-R~{9%=52q7?9EHQ2YK!7`E2YlKsz#stR34wR}Mhdwx2mrQV zCj^o)odLKZXls2)e=-J>GZ1w9OrngS`vhaZUJ$@0HDB~Puwk3bJ?hg?XyC~l{Cbux z_Gpbxw*mNk>x?lMdxq42538Fr+EPQ9>iQCN(Jp|>5JW&1sC2gkkO0Nb44lIfkQf1YA>bH3 zpfC%A2vCG@A|M%)4UmTrTka9g$r#cMK-9x4%z8w<@8HAN8vzu5(y39eBOBM`A4xy8 zg+rChp{{4SrHsM5bPcG6Tj#yMgaf7qs-4`VF1(urnCJwk@F~%)>2zK!nknFCx1JQ0 zM3A$~>gkQU1%PK+x^(~w-?~}I^pEI+sM|n+Q;Qrh+mzM09zPaU1`zc9!!6)me_R0H Ye|&!Z*@l#E0000907*qoM6N<$f=^_|bpQYW diff --git a/graphics/pokemon/patrat/icon.png b/graphics/pokemon/patrat/icon.png index 0d6c4c6d6163b7975bd2c5d2894a234892600f44..6c259fd09aab2baf87ad5f0dfc4a2e7f7b409b97 100644 GIT binary patch delta 330 zcmV-Q0k!`60-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MiJ+=!Mm4 z00034Nkl%<{wFxetk;)^^ocfZ6&N!rpWO`VzYuS2!BTl5Cy*&BC_rpliVIyAc75~NDdQFN_TNLbBjPy zY(LHHp#ol*V#dVafhnvQf*spwwq4lY`6J1)^en_*7guL!E5lP6!p9S_$r8F?91TD; z+@gud*jo&;!`OXEVKEuFU9Kaq*ZWxG6Njrd_m5Qfen4yt$bWQ=^|;Y8GeEL;F>l&H6o73@RF*0v3}xzKKTLqo4sb=vit|*mWWbGwt`SPQmRPbQ zk&zgG5UJp2cj!{dH!%2pzW3hUnfnAG9slXb0~wN3{-ZFKCjmncEXHU;Ldd*2=0HoO zfXh-a0Xv$LK);j#I3e-YCvw=AjuQY=3h2FdoDV#MPXT%e98F0eDB_dH<9uTl$k>58Khpsa4$N!XM8O_nQ!l7HFp9 zF8w9yc>YK1A{Yf;msPRRU5^oV-q#VaQ|3TJ$2&wD?{*51dYpLAn3>a0C4g~f7Z9X> z1H`rkIezx5H@<#))88xc9Mmu`xc*A7Ee!Je`sK`4uo%YxHhSJy?32I`#IPlm0bOqUaDM)W}1RypyAhFv*cXLie0?6?7eyF7pT?F6KFo)P; zk$q(CXIJ5y65rX#udjm-i!7a8*^xPa;C}P?>=@P9|I6&pe0pi5BOR%Mqy`dWAXF0L zT2tzvk-!|3LQ5%<_mSXf!ETyB0-B<*Ce$Xw=rgPNyRj#s zVKf0Yf>GPkgN1%>;nPOHn)Ot5+NAeFv9K=1!Iy_Bp8z< z!5AkAhHQ9$BN#)77Yx4AWkL_ct!9cWNBBi^JC&lw=mRAX@>U-xfq2vhQXs&4e3&Q@ f^2byl{`L3`FmChXD84xs00000NkvXXu0mjf(5*dD delta 687 zcmV;g0#N;-27(5VUw;CPNkll&H6oAi`s4P{HFqEkaewYBE9pH+T73ZmB z$pDRqt`SPQHnC(P7DQ<=Wn;q1U+9#jApStd4y~#T`7b>?fK<4LTd7Mczrlmw=X>wn zo#10Ej(;>#K&I5Jc<7v`NWfyu=A0%}gv5&@0o1Y-aFGiZ;D3h`61dDo0B%UU_K6zK zh3f{uhyvO#UH6@+;8TDZ0*50K2%7ldiM+p~%Z|vBfF^1P;GjqXw|L(1y@P&{0(vIC zfsdd1x8g+YrtDZX)4G24rJQ96o98N$S+ohD1=BvHxxu*vV4jOzznr)27MBC8+@1Hw zc`$OiUXgd2Du0Y;{;=1^x^w|%6gso1KbRnH520jiFj{VB=FiZ?vtM%OL8L`rcEQ2U zVt}ymy@`m8yZ|aD-XS`8x6y#w7Q|c5TS@ao1sF6o0jBOF)@?|NyI;KV&6AtUtrpK9 z8`g!6KQ~KLOTGyrez@Z~Ob0sv2R-jIZkJfaH^gwH&3`V}v1i?T9$J|e1!UmqVqt#G z+td>2CeysYe3|8hmtfADnbdEje$yNBJDo$1g zs11DBWcBpQk=B6ww5dKnB7n1G(H=^66> zh7{{StYy$yNZ>%~ZHtL7Kd}T1uA{S?L2M5ZX!~C@6tg>jNne;H_Uq3WWAP7KpzcKLIdq V^W(4=o5cVC002ovPDHLkV1nX!LRtU- diff --git a/graphics/pokemon/pawniard/back.png b/graphics/pokemon/pawniard/back.png index 1bc44f8f2398b31f748e4bea3abcf7023d9562a9..717e9b131c4aa0f6fb9b0daedee775658ced6ce3 100644 GIT binary patch delta 533 zcmV+w0_y#R1^Wb$B#}W-e*gz`Nliru=LQE16dDiIo5%nF0p3YOK~zY`?Ulc3<3JF` z6;&y1A4VzTAx1K)!p3i~aB}G+TjVuNVB;>R@tSQ+$Uzo$S6!`eu*bYY9xAhIB^Oqb zyEGvq1cv$Pn?L(Wj-v1QssS)Kl#bzw&Bft7W4xaLM0{o!Z-m^1e**uEF%^=C??dwY z0LYCGBF>}eSUrY-7ifqRwUI5L5ukWxiIi<%_6}6++yRT83QocUMF9NIlSCrdyy$Cz z;;#dCeJxP@N)GktY9t4Hd@@zK=63o_>aR~qoRB1EgKU*h(H8x1~$DD-~ z=yVV@q9>ky>$8?Xe-tSPV7YZbmZ}cFs2m+(jD6XtZp%3UXQnK(AagWqJn1xQQ=W#8 zj>V9W<6K+U#tfo1AjEKxS=5#Qd)f(zOP96^ZF|5ykW(6M4ITMtJOUWe8t9q|=m4f- zKt5MWV?GgL)D5I$L#6YY$_+b!r3d7l#)+ROd?^W_)85G2e`5RKh~+rgF%_l`YmmIq zF%gW3n>YLHf#rx+WD!zc?BWT%zifWZeRyle(`4lVtW&QDH>v})2Bc@6D%AyMuRzT&J+L^igSQAk83Au~ zvPjihl!qdaetKYcC<5srJ(kh$ksi(XXzOe(ZX#g&*ZQr^?&Ana1pqBn8#@zUIyZq0 zwn+WMUc@`l?I0S&Ks-K~i;e+f+5=c^J&Hbp~uhCRSC0P4ozByO{3>6n>e%3Sq z006;BL_t(I%jJ?i3d1lAMtuWeO4o#@(6J>sKteClLI#cT?RuUXgO`HhB#<%c&r;cQ zhn8x5Sn`MTl=`g##UTO{qlw6LyP%OBl}E%N!9E3rN6Oz|sDBC~Ex~G|wFGSS`D6u9 zOR+xYEQTTx$zWrbX=|e7C2hUTp%z#AD0@lHA0)_J-8XV-%QnbwfYof0rHyS!w#e#V z>RW|@RG2vt26js<3^ec*Mzn;NFj2CHFulC?*tz;T$rsGtz{mW!13P1Sc&f$eYXATM M07*qoM6N<$g4#!Mr2qf` delta 223 zcmV<503iR~0=EK?V1L3%L_t(IjpdTD3c@fDhVup?h--@#9F_I~T6_@&hm7sp`8-6bSk&$`2j%4w}Vg6$j>PE-B{x2hmg z2o@`)5U^3lg8?97vE1hjOEnQ;u%XSA!C-+)T06`kqAgvLy;vmcb_gK;>G8LR*4CGR9n7wiBB>Aj ZxC1+5dU)Ci{D1%e002ovPDHLkV1k3_Wt9K` diff --git a/graphics/pokemon/pelipper/anim_front.png b/graphics/pokemon/pelipper/anim_front.png index d99325b030aad8fe094865fd9a46ff83b9e81730..320c012d18a22c4e7e2fbde5cdcbb818ea75f686 100644 GIT binary patch delta 1128 zcmV-u1eg1m3AhQ6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MiVz+FI02 z000CVNkll*A6vr(sLC__#kf5VY!8xUe8)zaxKY;TA3ZHJT1JD7o6d5jF zn*$8Z8H%WlKR^vn8B(Nj7jL%t2?BKK)+L|e-lHU<dN@sDe}F4 zqwyabUXxhk{t08vmL=Zn^%#p1F&<-VsdB! z+`rgWd^P6Wm}T%XycmV!fpM8f&qET1v3Voj-;Cne0_;vdo{?~LRUb{$hxgMNuk{aNe+zN3`j)cT+>XL8?9F$*? z6JmK^k=RWV_)pU08zAfXy8#fFmr9PeB2AJcO`e{fz9*~ck`Kr)ar|Zjd|p2!GDrwH zT1^4q{7hZ$`It#SJ%1I&FMkU7(*lU)Py%<`Z72aB z02uxlI5z<^ar+69I6QADz@rY_j{uk}Z$#S%u@ndl)<$40*5Q~B7RuXH*Eth&3GgHJ zbt?d#2yr*o@1Fw5lP4B&>4I*Om~8>=hVB-?YE=(3e#;Zc6+~Dr0&bRHE&#x|Eb(G0 z)KLX4R(~@kzLbDA$A~Br%bwtCRQZd_q&JPAe{u=IB;Ag;A!iipa z)bj}rzbgSq!aHbg1R~aDU8t}wWdO7(4c~gNS(CMMf#W_4nCD@k3xIQ}ANtH^EXeD& z6ZNUj0(@}YE_@KTjhc+It}+ANlMh+L002ZmMSn`{;|$HFw)ZeAW%xUMh*&Yhc61^p zvp@;ApRYlai11tZLjXZit~;H6mW2dBpi-B-h)D^Vc#Bj^UonTd#dV@QN7HaSj1p@b zb?xDQsFT~{PQ=>s1v;J)=)B6__FjFfhL?PdA>RVXjS7yNUY)^^0G`T#6&jksz=H^z zy?-ZxWBIjiFdTU-1Bw7;LAPQsBp{D1+%yT43Q!*G5 z@Y!B=CK1pLM!pES5pd=ylA6KDbEJ)IBV?AE!EiP?VwN7>YS5-C*o* zQ)o1xW>pM^w@m@sdeva;#9q5dq1IsRKz|YPf-HqvgMk3g%R{Zf7-5}zy*afPgmA7I zjFDPO!C=6HW-#Ood}uQm3Q%V-vKihO4TdIAH5h{|UI^6qhb%t)kppQN4Mr9xX8(Zk z%fmYxFub%HjC+)@8Vm%i2Ez`3!N3_b2U0c|2rO&{BjxAwJDb4}>0GpI1_Q=g17XSr z18t06(8>m*Bv3UNWr2#pSXTOos~e1<+KF_7;nQm2)eHu!>s78|Flc=<+ZqhnPiy;F uVKCaJc32n;W4kO2hNYkW`@QmiJN^di?yR^#QpN-T0000X z@q_X<)#qG@r3Cna`nnYWJ3`z}_4TI!vh&14R9T=!5sMPgR_JyPtk-71`XwtMQxHLQ z6L8Y{G64XlRf(5#p++4zUoVvWN&?y#6QW40{0>&BO4!kqyv#MOd^U(Gn_2fc-yIWq zH>@$=OMih4U`e+j=V?@3;;kBRHQ@~N9Yt4$+?G7 zDZ~5lB4qgpW$cAaR)G@ED0>D?BE(*;E`IML%_S-JWhRx@8HL1$$P_V7O%oaIDu2##ZF^^Ad~(V+%GR*H23@8Vm$@wmldP z#sv4dcSYBp6T-P>Fed6&3I+o%G=m{W;D0A+-fS=wz+^De5i%2EFc_LZ-C&H-4OgPISs(qPE*)D(rm=r;g`!Dz}C2BQ(k4aWcR6XF}|?yR^s1*KsC O0000}i&TD++e1hQG~)Xh{-n$606nYxff zbhzGgCrfvFN$J@BL3nt6{y+ccUL?!<=VT)xr@xL4h|mP})ki)#f5o64!uAP%#yQ7$ z(%ogBU@r9&54-AnysQhtcRGPu{-n#ot?F-{Pdh{Ih`SfFY4;d&1+J}y0jdJ*U8GKxN>%O>%do&yjwmZwrHldvhJ zV32Jx#zgt^I{MNCf54$&EQ$nj6D4fX=s-WH4uC`v{OUdSr~(qENlsG&Z&idA;9fZ8 zjLM(|c=vMe5LFRdfY@UiBIH)}7Qp!}l{({XAa~UIzpDP;0~m_`1QdS*T-7JF(!2re zPO1iE4dB-|6VS%UB~WY(;7$i%josqrvM$0Cn}8j&3fMMMf2I;hT0o{}1Ym6dbqJZ! zvc_zqjQ~KQN3g7?tWN0}AyNfAVN3^Z&*!loL4;s+2p0~=%Q8d$wFHtn#FpQSqw~(_ z04b{w3b@c`FhgwT^8A5CUKv1$O`Q^e_fWs8?_^S2cyK-`9h*0MEG#ZL0szSngW>T? zf1`^YY`r-3Wn{`9hjieRq4CB?!h#)<69Fu|{a{2U2PDv5KsG*6fVlG62$Lxx(<7pp z3@{$EYw@W8BZPe-s)6|U1Uupp#zXd<5DdVz00N>2;#mKQegmC)M)9xcc_#n>002ov JPDHLkV1g&H9Kiqp delta 632 zcmV-;0*C$81>gmcBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y#-UK~zY` z)s;PK+dvq{g_g{A2y~RM1og!roI`UzgBSk&v z&1U7kOkGGKI$ZC$)61P+Tsr0t!o&0P|Nf8eIi2M?N{lpdP~Z z34Xyj$9U4c$|1pA>Ng&LcGVAfQ5S^obON>fNtcCN)!)6Gc7`m8yH~SmcN=pB%)+qe zWqAdF!tQ#RV#XIefL%H;XFm{TpZ5a%?P}@3*0y|HdIt48&eCNReMy&1;t4$mAZ9E} zrB)_kQ%b>Lv)wQz%3s&fwdPV@& z22h8P87*tfwpt5+0OWcE%X-f0l%5eHRlrlmbl~=U9_tZA2v&!1VK`nF8M5yMkklb| z{9cUC2V(_DS%px*h2Dc1VmFub2Nqdn03o(@N&r4W{i;5bNp0c5d{R0#Pxe??Tyg{e zk|74eXDj`SE*fR)#i=J#{(3|QJ{cNcd?YN`F*y;y!aEF8Mr3kC0__82;}ZplBflA8 zG9_esOf-`L#$$FZt{N~x*e9YIh|4D^iN_cZ*-t_+0M`Nth$6_I>+2!Ovi<^{dPebn S6k%cj0000FbqX?1Kq)1x(N`o3kc%bi+zFuzDMCj zowQn0PnTV&oIqW|Sgz%W8iK4XH-3=R$Jb-*uN9)Bec!ct&-?CJIU*bZ$j)5Virjyg zl_Ub!Qf4b0ee)0{**pbL|{A|Fb770!~z&m0`pCQc?cUYPyz$8 z0A{QN1x9N}fzie=0*nqO3m^iMO{`v+bFYPa2et386d3`u&j0`b07*qoM6N<$g84*| A3;+NC delta 333 zcmV-T0kZz91C|4j7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Tf9@K~zYI?NrMS z!!QWzLORh){r`VE0(}IMX414tJJdb&VAq8NJWV%#0u+qsd7g8=R2ZF7x>ATBClXv+ zl+Ope2ndu02FyZVSd{jbg&Cwp#9jej4E$6D`A(E(J)|caA6hj|U}aEy7U05586uD} zkT^Ij*sIh!(HdBPg}e!+SWiJBxwhsfWe|+VI%jzrg%q|8l!!YP z!EQ8pYB!{B`~yA@kZn%t0C7$_Z>R$V$Zlp}%WwopnaVJAs@Ma><~kH3>vjYP>1Ox@ zr~)KuJ_I@hNaULUiRU$>Tbbx|ejJTZULrHWq8K zR9O@;JpyPkDog?Ze{y;NhwjYX=g;(DFNNdTOReG1mTTfSyD*xTfDcZEtEIcanEH zMfbhu6K#p-nf-312EZP%O(A98MVUUten1XQ6e@ERD4>N9f2{cjMB>r%DxysEb8z*RfxmMaD+sy$Qn`G!jZU+bB_fBwy*RZ7@a6QLxQH|pfL`Exwk{HgY^ zW+VzZ?8|tjFNc^;SXFJp72j%L6S0ux<7s_^O+HurMbwT=6H6M>Ja_&V`wN@~;}Epx Rt!4lK002ovPDHLkV1h*qRmT7T delta 746 zcmV_teV*b3UR=72c-O=1KNInJ%Aqq%C-qr{J~o2 zRDTUxlc|pG0+(9=-vinN0osX}9erpM1i=SAw`GwKFCLumeYqY%z33&tolP@3?5$04_AZQ=RThS}$+DL_fQHPMLF)1h7bYG?G250ZRF^n5Ko4V>i?)a?BfF}D>%70Tco1Dd&1Fet)1yAf(RIL#uM^lD|883Iuj^;rQQ%KU~f z#&6tSDj%>u1H@NhU6^HHu_(6U?t%5XDZkr3aZfAS*(cj=?z)5ozIW)v0_`OThlA?m zk@}Lz6^gwhL;GMK_No}NWNuo?ybB^Y6$!mk(L&Hf&Z)A0f&1O5J6#A#BrOC>q)4Rv z2{s1#pj*FO&!v>V5(&$d1U!|2S7F(R^+Kw(LK@M8V#-VkG(BxLtL6GidJ>yqP9k$& z&}6xqlcd=^*&yVSP4k>zBD0gIUI<9hY=o&VS5g!7+@ATH$KNt(l%6d?G%>$0Zw@LS z)7#abW&?9Y&Z4p-K99`>gy7A-6-~1u3;Aq;RU(Ke$MzP48|?N|BcD|5#5FPJgqLOT ce<%q40-Ofp5LyxBPXGV_07*qoM6N<$g09?B(*OVf diff --git a/graphics/pokemon/perrserker/front.png b/graphics/pokemon/perrserker/front.png index 2544418b30643e8a2ca9504c29dac56690a79e7d..f66afda091decf645fab0f0b38cf331015c15cb9 100644 GIT binary patch delta 821 zcmV-51IqlM2bl+uB#}W-e*gz`Nliru=LQE18VF+U#|{7h0{lrtK~zY`wUseX+dve@ z9XTUI>?jQB#8qxr!!@OYjX=1UrA3OI?_ZrscR*aeu0RNtT3_C1&NGKmN4Qh zVNC8b^qrGJ;xlwC;f09#QvK{Q8eoZC+TIb?fMf!m&@y|?OF0NJ4i=dD1~$i51gs6dXT z0tvJ{V_b=0`kzPx6xyWaku0Ee$VmgOwHd3nSO$=1AJq^k zlr)VJLKkP}e6)SaXW>^}ll5yzuRs-t!nfqFa=d)_k8tbrr> zz!E5S?}K0&;OoA0`?8EB>fCrN4K%4#mw~KW$%%*x)Xn)aXbn42F9lS2)80q`-+~Ac z0O9sB!0if!e+U+}iV`5pKpr}!S*cLp_bGL;>-5^~u(bfJczhG<6-ucEKpZ!uPsaF7qqTAb6yio1Iz!kQp*DH1E4gnZOThqP%0-z5jQ(IdBCywKIGzH*J zM2lJUhtMMZcxFNjqZ?6=>J&Yd~u8+o}vHjf3i*0QGvuFM{<&#Ayp1#5300000NkvXXu0mjfm=%A! delta 826 zcmV-A1I7HA2cQR#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0{KZqK~zY` zwUjY$+CUV?jm*dp8Vml~Y6JxwDA zDqx~Dav~jwr)3%AN)FTgM4I5xA#I1G0fi$@nyA!atkz~JK$iKi&sYbI0pO$dsnQ_b?>)xO-gQq|LA^|WtzfNpPbF~N?KKff z>-53d4{$$*?;}(f@;B%dSGo_v=!;ot{ zit8%`XHd#C3J6`EUlfZMMQM;vsRE&^i{kaKOE7bhI&vnm5PETbeI6x4>SM84m(Ear zRHC6;;0?4A6l3Lo5PA$~+$caf4%{n5*<9+S0dMNv^oM{6l~A-2P=R+oX%`52Oi($R@M_Yb%|k*`3}idyy9)<>&-b4JG>i%7PXLSc+5$}k@jHuk08(-U zcdUIFEoXgrWhX6yftZnxd(r>5jF7`hT+dC#KsO{3>yUnM2hkN00BiwL_t(I%gvH8ZiFxpMfV1y z@pfB)Jaj3H!U1v|mvAPM&P6zrT~MSLjEfW$>#)&c6Sj_$k!U{i@#p)UPJcJx4??Jq z8|33{DJDThs^O;Jg)3iK&OSS@vmd9>PJgGz;r(OT2|yosSxhnI zU~JL!&c_tvTro4%dh^V(X_{v$x|D;kl0wpW-+)#U3L-AIZ|FelC|jl+u)Y^#JLX=3 zAl9wUQCp6mnsXm|>`svXZ9S&*Ybm>CZv}$x4#lue}WSI+ASnN7n7P5#L2Ur#!`kfF|kAvy60~F)M6m?1*Z1ckGC~j8? zXx^$y$Z@*|aOWpugir|>hoZq9AJCD+6(G#O%tTUY&cJ{qHEK@4K*v*z>+@TDd;!D! Vx=@9^7qI{U002ovPDHLkV1i?qsaOC2 delta 362 zcmV-w0hRvZ1JwhNbbkR$NklZt~5JkDcXuRDPAP-#%qi}#6$0eMJq;nC@ z1O>$wgK?390>?y)&2Akj8Hs|=|9JSkEc?3w`y{yP*+JItCLaamse)a<3mb1N7n_pX zGSVBm0BI~+- zrM!)M5SCI%n(hv0B%vVU;&_L46h;k)ka-Bt#neox7bl2yqtmJl`!CI@4?VRRq;Cty zv^JD-YIZLWbela)ussStw*Nl<={{j_jH_TbC9>S?$l63!=!(apNJ*G;Qh5O?MwXlv z=BEzVl?KFw17oZ!_uWZws>9xNDFKS{YVs;>?1uV{c_e@QNtq*H*70*M#k1rW(f<0?p-B2#Ui5%#3rDp$~?!q0&1IElSCJOPY0 zkvH>c=J)tFWB+6bzODq7PpU^xG*v|ruPb$Oi`{p8syG2$5#8tKe+gOwNInAMc^ofN z_W(}>@Bvg;Y7-Lx97zCNUL%kdSO&`FZ3jvNdnnMP)G(R%@sXMXxKL-?Apmyc7y;0j zr~0(zpS2#nhB?|RwC}#Gz-=(H@(_Rn9N&Nau@t~*()t%m<H#DI!e`n$p1M;o5qexBqB5wv@A_4$UV(x(F5)a5j4KDWFOTfs<*kYdmL&P)CDuQ9F%=>2JT=VloE6jllqWvpowZ z_$tmje-_rJ{t}3I5X!gczioaff_&@pDfpYfqVu-f`N;@ie-U9SUAXs<0-{3J`Z-&Z z1?Igh{e{RG0i^3BdFbQq&$fq-1k!DbeNF*oc+v!5j;&vZ*w6st0(1mWTEN#(J^u@^ zl)#rjf+Ua@G|=SR^yR#e0npA4^nhPyxQT26K>BrBM1TxtJ-0LGzDcNw(~?H{Dlr5W zm679R2+ShVEYPm-5CU_L_+n>)NWamjL!AZN{2w;{07R5qzOKF)`2YX_07*qoM6N<$ Eg0XD~3jhEB delta 575 zcmV-F0>J&81*Zj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0su)wK~zY` z?US*N+b|4E{Yd}E$Cq&tfi-up$7%W{VzpGD6o=#I zegO*X`<{RZ_u!lU9V?S}cSEuXGa*kQpx#bq6fuP_>PCQ&0RVV^l5+(-7kI$L*I;d* zI0@LAUvjSjFf$r#1;nmP?lnNG%yJmu4Sf|Qlh?Zxa@KfG5upkOWv#LrbEtse1%69E5fyx^LS)sldCPl$S?Wuf2?mJQNp5EWu=UWgK)kisWgJj=*TeyIZQVM=ng2rI>7lUZX#0n_ya_gTfRg14GaJP N002ovPDHLkV1mmO{e=Jk diff --git a/graphics/pokemon/persian/alolan/front.png b/graphics/pokemon/persian/alolan/front.png index 83bfb2dc44e77158c5375e04a075775012303ef4..fef220dd2b76f490cdd33811f8c1f272ab3624a8 100644 GIT binary patch delta 564 zcmV-40?Yl&1-}K5B#}W-e*gz`Nliru=LQE196O6-0iFN=0wPI7K~zY`)s;bx(=Zf< zXV04G3Pi)S}&Q`?#C2rE(+ z@5}rD_x$Ws)&H~DYI<{C2G+YxjIa0mrkLPx6H}}Yx3{|@aQ7jke_;DNt=|;^t#`eY z+k@8negU{?f%W)C>!OG1m3|!n5U~Kf$6JJFykF>p!l$nYYg@@YEUOy$_A3HIJ>)1V&Xb!GOnyFTWo(Ak~m-)LX7J1+{)4iAH7`Y?SyDfxnPaBG+gwo&;c?eg+q& z;6dPH1RP+^YLfxAe^lOa=PeaM1?3WqBF@7H0c-j6(L51XP$T-#hH0c~g?^qxP=h2n zfS)W<=P*yf+-HDl@b+k+4)A!D!W|7v321NRHNb=o%QPpzBPk~meK!M!q+Z4)At!(o zGazc5oYMfB65uu$#Wn$g2X}GKc-r$e#OI}DK%BT)`_eL9e+FDnRsj4}e^bC70mvnQ zHhaX3s8Iy`nW)n~^)3M8*=Pz>LY;wVRQVL>j=(6p_^nFMk1&>iVGP4I1O<}=;<7=Vf5M z+r;>Kzi)~O4mUBy`fz)@D*|^PLkhOP)B0Tz(0bQPxjksD-!A|+EwCQnXkGMBz0$7( z03sHE4|t348;c60q44+xVQnj!hks>N17CkeV5o;2Xr%(aeUHGX3MLrvaR2$&g9fA; za*cY+m8PK9_axECOoNRQza#JmQcC0+t;Mqd%=3@n!W29Re2RbrtXXX`pq9!z?!2WU zsGwYeQN(%pAYd(@UYaN33Ti|j+Axh&tKx`Nn0o@K27hml2I>Hh zS1H`lz?6XYMqUF<*sx4<0z8s(BGGpqJipeX@vb5U#)Ab4;W z=ZvR4Z$o@uS_Z_4o3$@3(`CT*WCg%q^*06V5rA9*XtPJmh#Ez}pNTr{Q||&Wo{gqJ zCDa*+MwL&2?g)&si|?xR{5l9@2^hvOY(r2mIY2%Kg$YO%s1d>{8iKeQ+PfSu;sP+6 zok04F?wM)JOr9W^sLnud3rBbc_}(-xlU@QlD7#_>@pC39MvwCM;K(e;{^6>szYezP UNT1Jn~BNlS#p ziqVW$$&>y3qfe>77FsG{z_X&^SNtrX%Ywc?hBj=I5PGE~n(8c!e^zOVS(9KS&?08q z?9qU}tP+<@W!Pi6>jkMoo5Oi?fdld!;|bRz+784iV~x`hD?^k_C0cgyt_W&q0FZNJ zxU7NJTcO-njqx8H1C{N3A3xgIvO4i?Y?OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL008VsL_t(|oYj&+4#FT1MY#b^-9!8?O=^sBWulkxq;9>8^Z>N< z03E3^)K*=ZD695m_%Op$>erU$31~4U8h+7?0V)Cd{?V3Uoj|CS;uxw0bXIAKRRb^_ zXcjB2WE7ySRqRqIw>!)?H6!iNW`A0pf8hYRM|Z^KfU*KLsbY!a0SiNvLODiO@Gb+@ z768aOGEHs+rMFCSuIl1{ObnE}^L6~uMl$+N`fKwr57zkvnSg7?;AO)9wcZFaZZHb6 zo&eO7EoG3Yrx)WQfrl{tCVAYi3S(2nXJN#TER357Gx+fk=GhN_{jMK3=WmQ@5MwYQ QK>z>%07*qoM6N<$f;1SFfB*mh diff --git a/graphics/pokemon/persian/anim_front.png b/graphics/pokemon/persian/anim_front.png index ed960deab5b5a96266dd9e81183bf41004515557..c805f3204fb5eda736411f1301dd139b29b2054c 100644 GIT binary patch delta 1246 zcmV<41R?v53atu|Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MiuHUg}O8 z000D#NklMQsM;El&WXYEUiP=BV`SY=V zyttV2@-sxtA-wq1npx)(ufE0-9`U(I1o-SHM2Iv4%x`-u{PsDL33oi6;kN0%pL}_P z8=(mT@=QHpXMY)D^@)IZB%p^_$c}HHy+Zurngss92E)>?O)w13Zm@cNy^DA1jaE<` z1m-dfLHQMy-@gKghr7kFIz&mKy3{s1@Wsf>1ThMbURgnaJShQaLxzGSmeGQoVCadg z!k8w&Vraq?U@>xnal^BPCjbOrjujO8OnS-U`>^>g5`S9}E$f9Y(#Ku2q#&?N2VxN~ z3mF>MSX>_7w3ccMTv~JFD&=yj^zv{xylL0k&BpyR`W-USjQBMT@ZKNxPF*o`fqfM%Xv5RU{LlHvG3P^zgc?W&56 z6wvyx5r4Yc5r+-Xw(l#1MiA)&*pc8+0YqG$=W=|44ccw_>VZ~wnl7aPMjrS(8s|0z z**i^BFQM_FfYsv^{ov`|U8SkZrM+Ijf>MoB?Dvlu2@JXWyoNv8w+=H))kxx&XY^fQe|QM*^eY zH9BHD(JaE9N>)qEx0@$*S_5l3o8|Q>SY}vG3FzXe$2Mm9RKCPc03wac73lwcYr(^u;R}=3d?9~l=)hjrh{Ek~+Jt!$^4KKd3N4!`$0dHy@xZ7{ zF`ws$+6mqO^aLJ^?`tC%75C9qC|8d8L9=ko598vj_+btY$Vo@>Lo!{12mCOJ2PS<5 zwEU1ye@@-a4>aC9p5cey@C-jVfr#$@bQPZUmXBNOKU(wt1=Wn-jP5u9pa1{>07*qo IM6N<$g172b(f|Me delta 1215 zcmV;w1VH<(3XTepUw;IdNklxka&Og};K9Wz$K6SEc{vy5Cy2O%=o2i{$1@HLBgE%FB0@ZJz=F25#IL_W za^Vg8bKEq|chk>raVWLxMo_!LST!7YxJm zTin0C*(O`{MSm+ODuFv$hOqns%kN$RB>HSI+*fg0s3zHZ3xOC!nIgs^(kDv@k*6g9 zO^7aVv5XfK1VdlsdrW8mEOZy90EV(DSZqY>)`>2% zCtbCqAhb*e5|OxtERAO@uBtb!r`iLT-W-{wOlO~6Rex3Wrp>h*lTj8a)<*pYR25mE zr3PKIN(3jTi94ITSdW4-WCwFFzWPbkXW7${faL|)P224SeVQx>VRZtFWwM42^o3&k{s--(WoC^9 z;I|G;L_0eY82zl#65EO<3D1}?7k8WW)B0G0$$t|s#9h4#+#Jg(0c{-h+Qxi0(QjfW z01;0K_N~C={?rI&QcQ=|nVrlY#%+}M^uM+LzqR0D&hUlFYrc@r89K06HKK4kns#BH zL_G1xK@?4{R9cA_D`y?}1Q@Fs$hnM8>Ew;h<^aQdAkRhT@!1ifv;aXn?khThVLUzrUq}Z0w)|2$o;}a4Qe-k)Q(z_ACC3f zK+x^awh8VWsuQeR2wG&SK>!iT7;M0t2!F(PF;Mt$RsG%uLqqr$<1hYrNCXjc3>7|9 zhoa3yDusV{clW2g4uCiKa6lao*v@$G?r%tZ4Ass0Ox~Uv9+;Nly#E&n8N>`81U^+! z1B@{q1PDAB1BQ+Vxt!@SU}$*2Fi(ZFzS1f z*u=($A4Yhf#sEs2D90myFh+PF&8auu3_sLCa8>mwJkYHJjKSruSq&K8zX-^~F+b?p zw)`-M2Na~E_#vIXgEfAb!~>K51vs?)Fo_55J^VoZ&FdL{=pE1SgA-1Er^O&1(pSn7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MiuI$KxNN0005`NklIx&oRJ`OVlB<1}%q|PehL!RF$;g(m=i8Zoh94)%|A>Z={zBK$d@5wI1=_dW1UU5)@U0I=AX-}na`naCX=lXc5Q831Y*eU2yQxOcQAa%fUNurK!4BnTgIO$XdpDQ{6iy1Cem%93Ohi_ c#{4JZHwV=F?1h}b761SM07*qoM6N<$f`w8E&;S4c delta 593 zcmV-X0atDDqr8teH64#@QL`K{l2u>b(~ z9cF~D^st?0E=365A^?d<7DAPa?!6^6y$Fsh+T-axpz13?!0F!tfQ$gF3vuf4D*%5n zOX8o(DR&`_5pfwxuYCJv0;`qyP-q`5?R7?9|zQ=UNULJJ^n#oA+~IK&QMZUJ18 zUY$0x*49U&BLui20BeS&es%(oCoti4NvQXP>c|1Gf_SSwD06AG8h~p9hI*ocxO-)K ztxx~f2({V?pdDIEW-@&!;{@n-2B?3XpckW%3!sCw-_YukMo=4J=_g$DLaN8UnMN@0 z_Z9${i&|;3;Ov7t1Uwudpf0Cnie@1+A1A^x7>94Yj^8W+%e-0}AP6A@@C10m z8A1$@3~+`J0r&wBzq~v^GCwjN=xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{3?DPDlG<+o z007xZL_t(I%hi%W3c^4PMdt*~c?3OZQS=-Vv1@7UY`uaQ(`==svBi$<3~mL@@=yMs zBs}MSt-unY!B_#z4;l-&*4VOdi}0wgPzXX-J2wQ*1(3e0^?yMS>!fzJ388R9$!o*V zkku=^ZW%Gm!Ty4@r4mU)2kxa}A{ss1;C+F|Nq`2=OJQQFMh_f_ki8Lye~m=?#0R~% z>vk@dQMm>4@a50t-1a5se74oktIB ziI7VrwtJOCy2J;)rfWA1c{o@j4pQH@t<(4l^g11{&cerWiMW4WZvY7g>;TzE0&XHp z(L^3S+Bev4sow@>)c<2}GdefCp{aH~;_u07*qoM6N<$f*%NT A2mk;8 diff --git a/graphics/pokemon/petilil/anim_front.png b/graphics/pokemon/petilil/anim_front.png index f3975326648fd4bfe72db3f9d8f8ba68ed7478df..1afe91ff5dac0672ee0b0f0a011996e18c67db79 100644 GIT binary patch delta 651 zcmV;60(AY&1>OaaUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mi!F7($VM z0006(NklPp;Z95Ql>lu_l44>)5^kaSi~9LtgiUY*`R2mQPBU3%pk81tOVu z*-oHKW?XgG3UB?zUWUbbl@*3Li?Fm+$DBscUZH`G?w@0K4?quLv6mZS4iBK; zFcpBSVZkDB1%I-Jy?#faBquS4>xf@FOVtSB;#&B|1EXD;Fq z`#rIW@^A-!)D#fzho5d3+L}C!-PA2od;X4%{DvE9+9eUd9vXhokkY*Vd-Iv+^@ zVo{ljJggGn-QaPNK)8c@BQH!)-EYi+US`>0e_bExXMbTD*pnOm7^B`8?&07VFWbD@ zf7oW8gb>7@01!&aCzLQ@Qb>q>ISa^SQalHUDMD~1QYA=p{|SII%mkZr3OxmcAi_rb zKh7}22&zsIQfy=Us?a)B8`{lHr#1Dbv(ulp0b^LX_niIP zJJ9oT=YQ;f{mR-O<^F{Q(B0z{4}iD7@!Q|>_IEz}-~9F;dHYZCfVcn9?rFKB{ReX* z2e92*8Iv6u`!8jtQ~K7I@Gev?c4zWoSy)w_VFKm(VSn)0ANC&mpP1K;^*h%7A;tsV l{$;)K`~+X|;Gb^403So%R!xV4%>V!Z07*qoLS8Tp*I^%T77z+3}sxtY#!?`yW+hY~_E(9`zR$PUthfm;%;*AW!27AWEJ+ z{TBrA0SND|lE;fLAmjopkjD-PIRFw)Kt@MN_}xtco)REf#D7x+B!YmMOzuyh8GOYf zv6RvM25yOU9tj!B?7q$dDRWt@r34KaD`XZIOR12~f?~bO3ak@R>Z*kUsE$|Dm=^1E zk}t;K7MfIFi@6zr3u@se7~c$SGyzuwXXxt(0VP~wZmvE3+G;c-FlT!--~B+ZtnDGt zoNw0N2tem7&wroRe%k)B1E(nW1Ms6pK(On6+O9j+U;<;?m#*vHYy2Q)*-Q7n*+PAO zNLH$l;LS647n@WHE>5oyFcGg*1uv^K=1tLcK_J+gq2PmI)$n5W_?Tr&dR?O(X@+Xd z4*t<&kNR1`4aOcm^-+)dPir=j5Lh%30D>g(sFYBG*ng8k0@89Xki^d7eE@e6!Z#un z96I-(0JLGoy*a0lE+DXw3d|t?k21oQ8?mqXwe)GCNnfsF$An)#7JTQLuSJUo~ zfx-Rllydvurrp2yyT6MEV8WOCcSq=I^8>kmrw*`zZr4Jo>=o&BS<57oDQrOI{>DYl zw?8Wbbkzt?r*SpkM56;NzP4=#q0h7#RI?lm-rrj5Ao}d`nT&BA4A?& T%klbK00000NkvXXu0mjf^r<#n diff --git a/graphics/pokemon/petilil/back.png b/graphics/pokemon/petilil/back.png index af9325d3796fd51900f75e20d5ca009a41ecb1c5..c1e68371964ce3da1e0624196fbb38f0accdd30a 100644 GIT binary patch delta 454 zcmV;%0XhD<1g!*+B#}W-e*gz`Nliru=LQE1Aufzjt;+xa0gy>VK~zY`?UX@ogD?<9 zK|)=}feXa+0(g9YBsS@~Qig20$RgneiBA}Dt&Rz4qcQ{PvQjPN1^@Bq+hda?e{rOX z8DP1Z)-$cAE!-TiEcIlK%*+8=08+IW0K)@Iy;Ap#J&>xOz*cLme+HmRvh8RoDFN}N zTM!ma_~ZkI^UASC%puGbJ!J@B#L{W_k3p71I zbwUVN7Qg}MSYXH)X9~e=#gLKK8AGr@A0aLSXMv6d>TiH*FfD%qu)8sUe*$pNZS^d$ zdn}U%d+PjSqiEvqMg0YwghPMtCh5Yt_LSm8lc2wxob}#;JeBT6jXC`sDiD9gHL3wn w67a6TyegyL+Lq6Nd!y;*d1_{x{Ey#`Pt3%bJ=Mtt(EtDd07*qoM6N<$f`2E?UjP6A delta 465 zcmV;?0WSWn1iA!}BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0h38YK~zY` z?UX@ogD?<9jfA?60~d(t1z>!DBsS@~Qig20$bxW##3!t{R>y?2QJH~trH+u1_|Jc4 zY;5%>BUvo~>&?8L8Z&Rv6sR3D#F{zo0I%A-eCn7KNsB;EnL4++G=nTA4JmIVz^sN%Y`+QbcU9;kip}MM7&-~4@q!KZ7|x;r(sK%UlMN`zM+m30Xn+KN_2GKsf$k2R1dAa9 z5=A+#EYJ)9Y(y4ra@r0PH^* zz&`Eak- tae88Up>o!e1p-?{zUb@yKkVUSz%a)ru}oZJXFO05gQu&X%Q~loCIG(Y8;Sq` delta 56 zcmZ3?^p9~u0(+;Yi(`mI@5KH>H4}$0E-puJ$N!H$1v=F(QITMny diff --git a/graphics/pokemon/phanpy/anim_front.png b/graphics/pokemon/phanpy/anim_front.png index 480c6bf5db0448689ff14fc5396b5ac66fb9de14..31f393972614f2d1fb55c3ee2304fa54a11f283b 100644 GIT binary patch delta 713 zcmV;)0yh1F2Al?vUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mi-AAOl+J z0007iNklzmD2K5XK!OF2yyNKhnt+Hg^rFV2sGofrp&r%5iW*mlTOa%LVfU z*sl;N4F;N(QY76eRq_Z?+T;=P44GX>PJ;2ClrECL!bbXj-hUZ(SDMc-3KjZSJ*qlQ ztzQG^>Im`yI+gqdK*`iE0IpNf0|1V`LOyX1K)?d^d!Wk#Z(`~YJo4i?*XLQ9&f(hI z5U^Y|c_4vaP5zaB`jP=2?*Y|GI%8^_#mfXb-T~M#0QBeN4WS>q@l=E-fVJP~vDZ&; zpH0Qo3HX!1R)0TD#zO2w!0cl-xb!EuOxgrw%mQ7@AqSTWK{~Er34pdVMC0|01D^bv(6UnAy1;E=uq+?hE*9esQ4fx9y;fgCVFkvVi9 z!qBvMz!%Mu1g;``i_CF-vZ?bH0ZvdhKQqAH*M?y{sekp#kzs`Im`hcTXmjqqjQ{>- zmG2ZPROr8zX+AL70V-OcI(h(@`d&v1Ob|NS1o48RL99y<1Ps!-CP5GY7YRK^Im5m6 z2cYra%$xofiMyZf98r=(d4BCFqL%}ZbI2jhyoj;~_<+!st9Ly4TqdtLV7--JZ&W~7 zF@P-`xqrT@@pQ%1D2or@1}#tl;bsxAz)uIMhW0fDSnB$HjN!0^=N|02cLV5ZPQ1TJo^NNpN00000NkvXXu0mjfeBeFd delta 688 zcmV;h0#E&%27?BWUw;CQNklg-75Sm~#>~t9a~{=#cyucBJ_{Gnr#~ zeoZS>=wDT;*p1wH6`+$xP#mEBI6DC-8Tkpou`^Tb0RTI{LVq@K1YpPlwIk4BfwvKL z2p+|w8Q14olFZ=B+Yqo=Hh3V0ZdLvjH+jVXkM@A-B$+Zb&Z0#OZSMf=7y#TE#rohz zPBamt6kzTL?R#!=^L!#E_USMVCxJ~jiG3k<;sj80T=y=5F)rd30c$2f$FwPei@6}3 zRxkxXO9n*!&3}{wUaU9WJ#f$|ptmX`71##qhNnGfdRRsoM--;K4br13VV|A^+!+}_ z4FhZCfwMDAfgCVKv9{@b7>x{*2LjP3OW-oJw#XdUXNx*-5?~K?;|l}aeyeNR(`r`_ zHEs01kp}dThI9MXzx&N9J5s1nq5oD!_DWTvuXXlTmVc@Y9snkR*UkmT2<==4@sg}T zl; z{Q(`g_<#Ka(MRg>o!F)PfdqciJ`@+|CiApEP&Jg+<7)||cJmz|>f>md-tPARatO@& zCzbEpgNFg8hjMU;DSyBLs2m0g@(1j8FX2i#jDcbBKn;aeA%{W0HqSsfp=Hz%8w?PL zA-#CcD6~xs(!jZG?&O=+)zCwv1pfi?#Oi@*Y9E$}mtYN1j9VABc!5~TMa zrqKNWA~%5)P`L>pfFto2xr7A$pn!6%;L=>$-bYdZGLW{XF}39u65tuS7$xW~-#LAz z$iG2UpbYd0@O3Enm}(S(yh{^k%RTZD3_`fpBM&)-pyx<{907*qoM6N<$f*(wy=>Px# delta 380 zcmV-?0fYX~1I7c87zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003sNkl2Y9G)kz;y&<44~UV{s0E=`T`Z_B~(hjeque=H@;c}J~RIo8uz;% z%MWN4;BJD$knSxjU<&U1G4-@OVlZd~_X!+=ynX3W9P8kGfI@!P4b1}b`adb5T>ua8 zsi4hMRl#Tnr$Gd;)>!EvcL9@L8V_QnkXKV+@rUIlKfJ{k@^1v485)WQ1w_HmOTo;{ af6p&YZ3_Nu7+s+N0000O{3?wKRMf|$} z007!aL_t(I%k7de4#F@DMY%z4!ou47upqIKrR8!Ry8Jd9U21Xx3Kf-LNo10tsoMjv zfaN7$j{OtA&E^M!d36RBiYhbIgAm*ffE5K@IO8!3?*cI5j(=)3G6N)GtWR(*6itE; z4Q?*4%rsenQ9E6o(;W79vipmlohTw=CLwGohVaTgFvRHL*>nEWZo@0000W29;B0ol?#Y6 zGNVm0YcgYC;Q%)JW}Cd(&&%#hk{J2OyRivl}LD(&TP9(Jcjr&Zza=?fh)o7#! zn251D!djmc3FjMJZC08%S%FbmU7n^n>~7TU&Tdwsh=`d4v2mdQp_O}L5>k`o(S?xT z8$$f?f#T&dl!aL^;reoc!5#~Lgj=E(SJB=dcCJxQXN4!G^QEU}eh^9=QO8dDl2&&3xa- diff --git a/graphics/pokemon/phantump/anim_front.png b/graphics/pokemon/phantump/anim_front.png index baaa2b3a8f0693b5163af05f7c4fec7394733121..f6eef6dc198c7b981a80e3ca6e90cd8f9f2582f4 100644 GIT binary patch delta 665 zcmV;K0%ra81%U>TbbkN`bV*G`2j>O{3?(Ih@3BV!00Lx5L_t(o!|j$oiy|=;z-I~z zn_!e{7dFdop)jE7w(v8!0~0ulD};HlDf|`(ZnM}Ntj%^>q_D8K%5UJ87*~*Gi+qNA z8RgKKOak`@4$cQ6n%`tHllNYJL2!w`7Y)yNn0bJf2MGK2|9@+PGaxCAi_g=1n6`RZ zP@joG0T7Q9bL;Sia|Fob+qek4Je#j3=bRz={!-^h2xR=ElNOY7LxEJi4B=N z&d$c`Gk^guRNYIE8c7&Wrl-Km^B$)V5*7d;vp~T3{pl3Y8Q!A?a{+R`fF%M;q6?3) zm$j6&VUC|M0)KbRbF zdyI4H0IoU5yss{9jY;3%IRH}?ed2n|U0!#Nctap^5d;e_ue|DI;%2yCrrvr0Yye&$ z^0ctXGr^UwNoK(%E^!G`*eF^~fgQp!z-uo%c}dNdFO>NAUh zAA4=jG$~y$koxP1fkX!bITwtlvVoinhAtUM@$4!YNLeucCj$YG zfsEpR-9SQ`8whPwAMF$kgz|1R&_e^^)d1P$2GXsrJYo!_?>hI4U^vf31Gww@4;e`2 zGZ43?Chz03%#z@lAk`NWygXd<@K= zb~pqVkOP1yJr2{i$74X2I7bT>9K<4rB?8MpR&HY_S}EImeIZ)aakQB=X!23Jt0-w-4EsAA*27My{cWU@?(U{{p|JAa(iHA9gd-8Q$7_L`C z+*3-g$ENEQAv;&nk|RNl!|U=TeX-@F^Ga`s<$5-VD1T#S!e`fv;d5_pZix^5aBBfn zR}5><;&E+t-&yJvfxe9hu<>-~nU{$_hJ7>Tivz#|zzJB_fZJ)k3#=p`h>-^ zHd2R_tbZ6t`}dK7s3j!(84opotQ*LwV91(*RR6nb22$OJ^D+={7|104>;~c!Z6L(h z79k^OAcPq^D`XKG2r~o0RvXB`+kq!Wb&ILFX o#Ot^YIVTWUol_Go;4JGML7FuCzMoX^00000Ne4wvM6N<$f*g@7MF0Q* diff --git a/graphics/pokemon/phantump/back.png b/graphics/pokemon/phantump/back.png index 266e0f6621c162f28added6f71d8c1113dd5bb23..8d290f64d9a426d65c3ff21de29f5eb60e9084e4 100644 GIT binary patch delta 614 zcmV-s0-62Q1Vn0CPWXl$Gmo(h-#3SFON9w~e zEZOMX{vinj`Q!2K#5>0RJ-z#M0{AdJVPJ9sIJp@xq zXTE^SJ!Yjj1 z0MysD89i=7fQ2z|f3IBw=)k}Q0NyPpFQ26cX(Hyaq2oN(z z2hspxu4BqB8OYf0W$7FNKUh4MIHWv$oa=CEf#!BNSO5yVe@k!pm6ZBTWpWP~q=*EU*o*kN^rrYSLDOuqZ%*%A+=ro49i+L}=mzf0D{r8^{WvZD^Mu=>mX& zS{6Xrx?2{gr7ECR1CBjn2c+iP^05SVgat5b-`@Z;Y?;U@aTvD&C&*K50L&>bS+rLI zj<~Htq*xWEm>-mBSfDwDQbA89f`jssSkMZVU)fQA6p1~@Tg9M_nZx*d_al z?ivqjU^eXOTmr%xiDx6;*NTKuJmP(T!^cz@Oe@=kQhw>C%w%-WYa0UB~KrgYsp6E_76!Q?tbEtlt}Rp>eah5z?;b#2ct8<#m(!}fc$tagf5^rFGKLA z2kW{r;sUtvyc<6XCN_Bl$+5a8RI0cYfm zq#RZ*){lGO>vqM4l;lBH#d`h;HL!fN#!RyMC2$>8z>geaYd8Z2#^q}OLlN)Tn3EKa1MZ9ob2__b({|*OpK!tZN@l3wg+PoyG zJ^*?#BKnY-oz@FucDJB&Yyu)6fKt(hv{L~rb4Vb`=1m~uyfdv-!1)0wNktP#bD-DI zZb8%r00EUOfO-#qXbV(IN}$mLjy+-z#Qbc;SO9y%0@w(FJ_DxMaFJ2rFl+*jpT$@M zm{DEQxi}!yZJ8qFnqZ9CQJV%i@+njbx>Du;xlgI)w1dS{i(^r$_6&xwZ4B5?S}L2j z0K&Ih_Ev5CqUTq@v@hBTWu1i6f$SPZiWLrI7vRVtHO8<=ZmwfsAjjN%!_Hyn4#u7* z-Kpr5t7wLd#R)mGF+$qZm$EYltJxXAm8XG&5%XVvBO!hR?eYZM6eM|^00000NkvXX Hu0mjf3)&u^ diff --git a/graphics/pokemon/phantump/icon.png b/graphics/pokemon/phantump/icon.png index f3a5b536e2d3a44d62756285050ca23fad36553b..4a11272c9b8ecf4b3367803cc1dd167cfeb5f213 100644 GIT binary patch delta 362 zcmV-w0hRum1Hc22Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mi}4i`5Eu z0003aNklb>!3`OM=$XWt;Y0j1cB!Z+^fCu#*5ExJJ68jL)0_q5n-@?&*Qd%9o_hivR!s07*qo IM6N<$f-Uc*&;S4c delta 324 zcmV-K0lWUd1DXSnUw;85Nklb^l5Jm9`#xyIr$)0VSl~Uy#+eD&?^cy%^ zn#eR`(nOlZ?69`i;5J31(9MI7hWQ_3{&rD1fH@sDYalKd+yc+-;@B}Z>Sqq1c%PR3VFn|1j?|yA;zIl#uQxp>Y zdyKXMP~efP=2cSHhJ+E?X-G)*2~%3<)B?^^Eh&#{G`Xq%+d4juro(0pC}=+BeSn>O z^<{*~P@mxj*~}Biuy(+JYrjfH_=ryg zyEQiI9Uhh4Gd)Ju;O#&ZAcoy+QVBwBe%4EK^I0@?kW1&jrdB#}W-e*gz`Nliru=LQE1C>`QMca#7C0q;pfK~zY`t<+0y!ypg_ zV6Y-(YX?={(#HkxEZ9bo+5=QQNKzJa{m$?lh}$k&7Kwqc%n!v;>i?Qv=AY*S_<8t? ztL&QX$+&Lbfb45;)fD6s=JQGR&5b^u#ejBJtxhb!bCX!p(7@zte-}43fYoNzd{;wn zUH=&D2tH%~S`(%3R>N31o+C&QBeZ@E^VmfYz~+Y%B1NeCtfkacfbEvf3ktB>ZpC&U zDnFh2k~IP?@hdpXg)-3MUoc(x^H93!C|gDX9|xMfsP2d>&rUz~W8l0G41Iz;O zIUxiZFW?4%63{LU1b;&TTn{vOfDC9I2#{-ZU@agpzz!H53VD45=I##AUC97ykAm-4Ue3m4HSfFP_HKmY&$07*qoM6N<$f@7lc#{d8T delta 563 zcmV-30?hr41)BwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rW{kK~zY` zt(47fBOwfcA&Qi1rl^`LoAw2W4_vEC-3M6hgCybL*RPHFG0e0*>~ff3_{RQVAm%?d zyPUtDPY}=38#f)g>&1m(-hqy7^yZLs3ir6^*xl*zq6Td6W(_I<&mB}wM+1l0LcE#@ zSbd>7Kh&_-AwDHP1CJbk-h4BDMSS@!L;;#0!?T{4slg#nzTxVC?{&2cVd$c?=_vzl2VIfbG0@z{UZ<4d6x~ z%z%ZU=GO#g1@Jy0BpR>49RM{zt8|d!9TgBpz(NEl0Of%MrN#iP6-W%=05~2>B|ie= zVFS=$72v+qV1Rbof&f69k@&YsWZ)_ac>)DwASl4`Xqtd{(?FVlDj`5q$Ur7J3JRzS z4X6?VWQ8rjH58D4wgAe_vLS~PP$YJNwhXHA;`4uUS3s=Yv;)X#Q$WaP#pa>%w({=y=0~AR_K~zY`jg`M|(?Ar* z-woU0VE1)8Q)K?=~FD9wg+Zjq70B7e2dpZmV=d%nv7+&P$+ z+<4{U_r7xNjZ&U00Q@ir?M+ZsVV+<(Rz-OX7Xm-b3!uILPbsw*y1;!mCx91$>6O}7 zNU*R#0K{_wI!cAfz%oFt#2!WWAXYgE`?xWn7`}iwC&8L@**zL!3?2i-SqXzz-gGFQ z1OQG1Jj_~PI)C`^>GbWR_mKt%+?5+t^$I1LswpZ(< z8>%vDvN*zLzS&j&*U zxemDZ^Zff~@J~Rmv@-3q@AB>O7s)U|As{*urn6h~L5qQbEX`)K-%VHt+?Nj#xGt{) z{6O=I*?-MW-+b;ofJJIP3L29mSp*ziAf+LLv!HB02P4J zHSqD@gcis1b7!+{b2!*1r*RqE45B~(jpFuSMNdbL<`e8AZF0yST%Lx*EzG|o>DRvS z*jvP{0n8PB4N;E3vku}n1Ib*rF*t}9$87pO#(?gAmHM-fIbt&woI{G(0!`AXAO+}7lx9OZx0R8(B7eO*f9`$1 z_k5Rwy9e`Hb8o)bIs_9t(+{H4|MKF9Hl>#s4k^q+ssK|S@?}zRhfGMvtJbwy;YUmaNywWI9 z9eDLoYjvH}pjAc<7Dw3UTm98#q^pdyubMQt*((P8N;5tQY3Il_K(KTE6}OAu(54Vs z0KIFm~g&|+X9H)gZh?*^;` z?#qV=T$k1XexUiq?0;srZ$5V(z(s043hI+XSp0~n3x^~*$I39#GSm=FU5Qh$X7V78VqA%?Y9k{|~d z4e@5{nN5J*1t10%a6nwt4lYds0=lgP;0C~)@y09|PfP;rK{vfM_^@SDz`Gk+pTv|P zB13cF&;VtCjcefJzX>gl=J(E4%W61SC#QZHTLsZi-vhV*%6d9-G@oD{>5xPA;_@^c zY@`0Jq+k17&|S5OM+2BE`Wm7ffp;Cmrvu4cwmI037uRh1KE{ABI|XJnY?btUf+hEIFJW+O0vT+;Kd0q`H%yu!#0_nzhe00005dr5P+R0Fo*|;T0a0HCw1hO?p?ZfsML(v%E-I6LpNh^MYg!- zpR-9+btysyKHd4??n8)Q4ry+HMZdZdfDMI6$Z^(Ky0?2QKz}0Rm{Cp!!tC}~i4;N? zIW}NB4haBogsOn^2$vDMltb%fa9_hGR2h8hVbFb(a;(|mi+0ab*JW_9@c6VG>H_fN z-h#S|n-FeX-=kG31F4R~YpYbpz{0~DfK5Q0jZ^^8f=XowObS}PKmw9FanXyN^4El2 z7JRo1D5uv5c7NsutcD^c<@=CQ=+t=dHFM|peGltMol4I;#9>C-l!2({)zpVho;LF| zqOOGbW8(ij+^tbjl~TseSi}n52;V5XjWGT;@%YX(t2$h+gyDYqH3=hlPS?VCz{13G zv|I^8OBN>87g?ABw!-+lEKJzMzZeU{APZ9>w!-*nxl<%eEJGv3BuspH=l`ZCOzMCf zSr`T QH2?qr07*qoM6N<$f*Enx$N&HU delta 435 zcmV;k0Zjg{1c(HXUw;9UNkl4OC9mjy-W8Fm3rfC zW#nJmp<4)~;A034yr;5@=*gf_0B`7*e#;Se$+^Y==(nrf z*X7e!zRe+H#t)gBWqE9kheKy>lAFl9KG~%SAgM}(nSaW0BL}=1%yTUh*nj851_pO5 zK)?O*4Lm?#iqM4beuMS{B8?J&B=rIqTmmo}z}I;&?>UqH-f_3~*VX>>`D*NzyC0r0 zeO1`~FkJyEs*kYI4b)8!cD=jnM4Ea0EK{oMWlq};5}ay%i(-lba%j}}r_7h#(8vR5 zibcMTJb!2ke{ni_aKpcl2Q)C32lPmq%LCUec|bIKOCGpp$pa!wOCGpcTJpd#TOPR0 ze3A!bJDXd9d2QZ+`&TX43#S`nov)0000M?vlY delta 678 zcmV;X0$Kf^2Kfb$Uw;CGNklC9Tr@iXpE_ocFTY-9)=@HoM`5=O7nC+`Wj> ziI9ZXIZM7YY1PRAj3QY`XuuewSG;1em#R1PE_;gtU_a^x>3z=@zjdfs`N3 z!K>~fP}ptx!GBayfh57h*8`@Oicqk^5~#={6<4WcD0ui%Q6H(nY1g%kz%-KnC+#e) zK=pwjRi&1)#Q@0rUA6-F{7ud)C;aRdXMYdEEIoS=z_$m%2@`w3j`N8<(9BwO>_MZL%{;XSO~>_oVh$V6X?9-%xV5!D6%rxStKnpY6dq!VmTU9dms9~xnv;Y7A diff --git a/graphics/pokemon/phione/back.png b/graphics/pokemon/phione/back.png index a8d31b659ddd1e9a8cac659987d1da6af5401baa..d70eb2077e1872cb60c5ab153e1b26eb97cffee6 100644 GIT binary patch delta 461 zcmV;;0W$u;1hfQ@B#}W-e*gz`Nliru=LQE1EES0KI-&po0hdWcK~zY`?Ug}t!ypVr z8BZ=irUys~zCi7GOBvI{MhywsL3qbXbPq$j@e;xrd2dWe1wLgDF zV4Mr|J|CJy1=-JgM}O@j52l?>VnBgV*XIG;TPc8@MFEK63W?g7C@?$#I;u?#2b&AP znM(L`nG2LI{JDxsN#eF66(%6%!Q`*QpIeoBoNCx?iXNaA0J+)g zkAP%S$Is7lzLj|%ff0wYsYm?k+CO11aCeL*RerK!{^pAO58r8oRUu zIeff?EntjQivZuMxF@7u+;vCZPwP~z?b+vl&0pdRTt>jbp*_H;T*2#40}=U2ob4>^jTZg!`gKDf@A%h2 z)pj*kaZbqTew8bEzBd=nySw>W+1?prF2JEPOA^)IxHtenvj9|IxVu$K^$1KQP@OQZ z?D`IYu@vZS-u|JeAo?PIPtjld$ivhYlNeCI)wOv5^O*}^XI=n&m`tLcCND5NfOJ%} zhJ%g;;G9a>brB2XF6_GWN z1W-9}yUAA`VO|Oz{{%*vo6G=R0$S!xWHmHd0O|-(2{1lKR#b?8fk;9nClRi(dJsyc zKyaj3o#j0sh;W(}*NkmMoJU~9q0oB7uU-srWQ-{i2OR_s(v1_F(7;&i(3O>g4l{B+ zBf(PKF_!%cR+czj2*5aLPFxs>d8t8qc)=D&u$({*;ZOnlEDFGKpaLa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MjF}c#N*r0002YNklH=i-TZy>%E!ewivNDp#y`a-J+;-LUt$Qi+*W`&W6ykWGp!gznr z0w9(UrX;xZo&qhqP>TS~SF(A$;zyn%s<{}4CvSQYjJH)s7=eiv*X$Bp$Zb@X2eREs z`iuPSBQT~1Mh9hJ5)8fp1{jaudjoUgQGq!Kf&vUwfeSEDi?A)g)W*O&Flr8n2^g8x lU@)zi`)EF-=i>_;UM?S}XKl+g;q zAPhwdg`yC0|Nn1yW36kWaeEpJ4D>0-m{fAMZN;Ak7}LD$qB968BKD0LfZ0+YF?xjQ zUF@`>BoscMi=(tTc?)}mHfT`BsOXkP&GRc(T=A_yVxS5nV46V2{!umis9XKPpO%Dv-#dRUrHy!S>P*CXmVg7eC;WAAZ07FGVyH USUw7|`Tzg`07*qoM6N<$f|m|K)~wa z4k~DQXJaeZdJrMi{S+$&!QRgQa0m)E`3=s-SCg47tdvZVW80(-L@g7*Y*^=fiZ~&_GFv{LPA?I!5%XrCgGV%ii(xYmywzFD zmN2`abcuFmn44u@5l1&;n{cPOvb=wbqt_Q6Sfv?Gs)Jh=(03P)2oDb-51c(A3ILtL zF4}{8HXkHCw2;k87QoCqW1Q|%&2Z7rTy}efpM9#GL&Ukuh zoj`C3@+}Zd|Njw)ToefEI!uk90&$Evv&b)jFq~nmy!Zqn^$Nr(dIW+1Ss)Hk6bRBi zClFHCtFMZX4{Co9?%anzWUNge1h9^|Ez)^^!S(jk>4BZIeoztsiBZ)vTLc0rit0-K vkVy}R{Gluo>G7ISrz77_Dr|q$|2N(NM4F_KUdR8A00000NkvXXu0mjfaFGAb delta 611 zcmV-p0-XJ*1*!#*7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0w_sDK~!jg?U+$> zqc9AF5y(clQ2+m*TS>-1a+#Z~JZ)xfyu9$TUu9%F)lSpU(9q9{sM9~seFOz`5zOBY z=pd+n(WeW*`aBYd-tUY7n6D+M8Ca98Kmlh7RKE!V;0vJHaX?)|wHpoq_zIY*;ZjQa zQQz+h(dnPa>?#C*V2EW|vPxg8KVcgy=XG7pmNP{P$Z1`7LXtoMSq;sfS^)?^%I)ff z3lREKs#mOj7DCR!WGyJ!{R+~T)=vO%qqI1nF){=48YL5`@(M%d=S&A08YJ6;4=a^ z5(ua%^bjF`L;=*^>>pQjSL_kOks$mP4EUL*+61pgvI026?R1Yu7g z0Kij%ApZBE7Ct2i;3l*Lq4XvQ+@Bz%t&Q)|1YxU1#1n)ibtDKL$Q=nn#DBd+VtzUE zgV^+c$qyoKfq^WT(xR<0CbCuU@ZmILLyTD780ZZsP@PLe^IJY03O{X55#k( z0P#F9?p{|)Dg+WGXxV++(@ zFDf%YH<C(ds6htY zcPANybH;#r94s^Ppl#cKml#-PT&=aA2~gRo;Fja;XN3M(xnn@c=;uDa@-bkpDPSDg zS1iC!VYasKegA|n0Wi-A14lu{zcu7Qmjky)!ABI-EASlyv;xtKB$r-deF)+Aa&hSZ zVg%8_NpFE^6I5)^!WlXk1loJ^ugz002ovPDHLkV1i>k Bn*sm; diff --git a/graphics/pokemon/pichu/icon.png b/graphics/pokemon/pichu/icon.png index d29fa7fb4a5774895e43e3791ebff8b16c4344af..4785f29342f93b9359dd073a1f37516b9e2e7c99 100644 GIT binary patch delta 235 zcmV7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MjO_3h2*20001)NklKl)(yy zFbsnQ57Op$dH=U{9UFKs_97@h%QfHDwH;ZOsmDcTKuHLegrMP`AOQB)T!Iy_uqbQQ z8o?M$0SEPvF|s{wUpZP4Zy>i#1GFCyzNo=^o_!L6aMG<|qS4}RZH%f$ zv+ovGD|q%PvTrps^(UGE()~{bh}y~s5SbsR08xV&0U|fwrkt$wg?u;wLA4K;vDh$% P00000NkvXXu0mjfT)0&k diff --git a/graphics/pokemon/pichu/spiky_eared/anim_front.png b/graphics/pokemon/pichu/spiky_eared/anim_front.png index 2721dc8bf2b2a3d88f75bb92ac0ca46054978b1e..2088681d1d17bff2e4da3ac3af9e7a0503116077 100644 GIT binary patch delta 692 zcmV;l0!#hl1^NY$7zqRe000058J!B`D~!_N9lmAT}wKYf2Q zyX)-tInJuCcLml}x9)N)aDy{D;0nR&RRCkQ3Ab>)ZWDmD3IUMYR)G+}2rT=$A|il5 z@Dg!1fCPl#xIhA~Xzp;F{u#gyGXnxw@Hc`EGmnqcbsYagq;z6FfOQ1?H`rljJ^_Z~ z$@>M)7!yYn;961SU!g|;EJT6g)3<+#qB4vSmzv4f7N(pf#g`i}^i>dzSC*)@7QdkXQ&GI-3>1fE~q-CYhRgc_3p? z-ytQA%57>bNQo3c#fdj2C9+5=Jg70HP#dTlz@EO;l!=oJuULR3A}%!vYbC^0z8=l>D~T=Foe+1sy=r>_n;I({mb-2b;(2b&s6E%LaH!3h0R91>NpOYh?Ln zv;msO2^}xWa3I^54Q%OQSjG!FJ%9?^i6wuum1^~D?w-BUnQar!bmSm-R=~sN$?B>7 af9p3ICYd0>0QNQj0000*&f7#Roy0001tU!Pb2000DMK}|sb0I`mI`%#mTAwGWsUP(kjRA_GZUDf2L3s(OxNYisLYDZ~YD5Pz5l#2CU7 zAjGJQWxybiW4> z-;P!ot{2%#z;vExBcPKIo9z_ABlAaZ3CY%H zJ)SxHO9&xn>;>cqwYmVRbV56VhxqH|2GE%wV44Ly@kQ|a1&}e>E&9&TRFT+wRqmrH z|8dodN$!(;UGPS@D|@vL$4mGS={uw)0CH229)jydni3y>#HfF_!2akbQ0mv11>h%; z`57R4@Dm78{jCxFdq~^}VlPniyMG7Rc0b<N~$ZajYnX~Qpmh7jneK=**95b=M>wxL$SAc21iGP(+;1JId9+3*ce2;Yx% zR1rEr1_mp@;U~;503QZ|_kpJPM73-FP_j2m;{sY1gU^iK{6PVb6KD!2`GYe8Q9$jJ ze-wbff|~)?bzA%}F};&`?`rYI?e-s(rF*LMz+CM_k;e(C-fQj1RKbsw-9zIND2XYnsB6JHA z=|!T}2JH$a4uQ0Gn!N*Fvsv?ebYNBQ=wNH>kMskFrV;`2d@ltH2?qsH%UZ6R7l6|lre6EFc3v?DoVa3Bw8co01=9mK1SM>gpnw6 zm~3HbueCSGkuuy0xNLjFV=wB0pZ4E5Dvv_y-cAHb*K#%d;|EMyN3jzh6K!nS>cxf@YPK=wE= z_ecXx)4arhxyQv?`+fkFb`%`K%e(jR^|o|-1MksKb$X?}!KBfkZHW~#;4Vbg_C41> z@ht#Elfyt!prl1Z3g}Y6^-ZjplT#AyHk002ovPDHLkV1g#tsXhPz delta 381 zcmV-@0fPS21I7c87#Roy0001;w}I>c000DMK}|sb0I`mI`%#mTAwGWrK}keGR9J=W zmdzG~AP7do;v5#u`@impWSWIREn3ufW>#|VL9(A=`0~;K+~h;JWr+MO0rMwFh4Dr?E*R${EWQTg1G^$1<#B9 zs0G)D0quKm@xZsvM!}C4`%#u1!0O<;JKbD diff --git a/graphics/pokemon/pichu/spiky_eared/front.png b/graphics/pokemon/pichu/spiky_eared/front.png index c16e4c56fe5a8285aef583d41eaa423b02053a78..15b9201a2701daab43812595a4a6b1d14e2690cf 100644 GIT binary patch delta 409 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 delta 1298 zcmV+t1?~Fu3e*aa7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1ky=FK~!jg?U?J1 z;~)%$YhzlKB+dK3?f6DQLP%))XSFILt)@FYAI2CbhuiJz0q~t3L->S1IusB?e3Ky3 zJC6_u1n?eV5r+_YfQ8UaSk%#ng+QGIqQC$E$nuCc1u&rlz;Yg{CX*BDANoQl4~;_iy)$> zgvAe?4z>W(+sdij0wGY$1Xe#neCPn&1Mr#H2Yl=MqQ3O2h?0#wg`)91;N2mdngZ@U#_K)^By z#NSrEix89in}%UXxC4+DF_vY+Ilw{MLVAioH&h5ICP6^C0I6w;`>GRybOn=>5d;xq z8gP@sYW)i!1=eF4Wd`g-&CONjP=++qg6nm_VA1&hMSy!T$R9yV`{omSh1dY@q_tOep7S&cAeI12ogb{u0Xu-4 zfR6#W4BsMr4JZg}8~!MS7(WE?&TrI4=mOX#Q;7BGA#gjH(cX7H0U&aCaGtKg} zUjLJ2_WE_Hw;iDoc@f*-^u6u09+xlQbWdN^SG&~9caI3~44lTV060zKR{^}W-rx9* ze|Xdm`b~B1px==nI_Q4+v4eg~e&nD#^=${;t#3H!PJP=!_W@Q1o%Rm8kB}X7svI9@AdP#s-^*UK->XvcQeoi&>^5c-AxCbFV@O&i}0iV z(sa-{30IGrrh~o)TsY_}z@>v$05$>Aj_A}ugVrFn^rLy-GY1V?ZEXk5edF9g3*f>* z)47Az3&jfuy>$Kmz(Lbj4w@!n2Th+lXyTurgTDP7^l$WzKM4R!tRXyE$^ZZW07*qo IM6N<$f=RYj3jhEB diff --git a/graphics/pokemon/pidgeot/back.png b/graphics/pokemon/pidgeot/back.png index fabbbefe27f3e91ce21966ed12a11ea2e29ebe54..34369db65057a5ce190d90ffe8e3c3284620f72d 100644 GIT binary patch delta 723 zcmV;^0xbRi1*Qg&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Mjd@4nu?9 z0007sNkl!wSB+VXf@=b|@pV7hWWVi3}B2 znUEMrGu0AOQ$Gu@zyJAGDtb-{9froc>Sh9%8|J$^_&cdShWl| z$KQ9**TiA=^M6SL@Gdz391KA3F&2_DQtx1KtW+9&h3BH=jI#O;xU8!$LVU*ev9B3=trNv;D6(%??l-Ay%k|#N)|+Z&G-=gHQ$(fyWmburx4I1^{qy_^p9& zwGO2Lw19sX#$cuNSQ|h{_)B$yt?n=u!cl+?gBycF0e|tx7%=Mb$jq241G1@r(Boax zK>@L)BVzHytZ||`^v5+|UUlfG2(eX*06@15bcZ96R~?!W@T~@PQwNedu)q!u-K}d8 z;;MrL97c=cFyNIPhHP9sumeMEB@i(-DKJ9Mk$^dcN#T_dBoOw>H9AiLrvxa3@O__! zZlZw>41XabARu+$52(p#!4UH@g32HfHfRBH4PY~{uN?@!3AZF&8#)X&2jEq!! z2!gO%4Ux!<0GLhAW=u~pxkF$93dL22`X(zN$2H&(lx>Tl+Xk$y?W!RLFve|UUZba{ zBznpr&RGFe12zILVgKbKoFjmP5yDskGN=X~C`L_g8;1IY$W8gHqoV#edCXq67K?_4oVLYIS{+ z4qCt>%ig_2{ceTxF^!wLb(v)tF9ZEr2(kLn0z5bXnDnjGh4{b+ErXPU&hL~igg0m! zq#T*6QqRedh;_?=bNu@T`i3~ne(E;>?~((+!2t9=V<9;w^$ixsNu|LT_*|5nQ&#VQ z%ene2#3%foHh&>MFCMBAXA0PZ!3Y6DI6M4$-P{1P6=IEgNIae#4km@CHwa}w5qNl} z0ZRj8WdHyNhu<3bTH8<>zzXD}L6cAfFA`VYXjlSA2nACtpwV|sb#D7*T0sy@>&>M|KUTtVbz;89A z+d7ccfhBHm=zdd+5LX){;4oSg#{sY0Fk+M9zLwD(v6Dc=m|tLoz9Rwi6#T*~BS;|Z zmo++%0jC5ggb0Fwg>IsOE*v2vARzT1m{OC`f+H4X1eHM|Y}f+g8o=gYVb^PzNnoM@ zAm-*ZO@9h6kr^4OdYDc_-Lx-(Q3;qP=X0j7@V_Il1chSNp?;GUkYf#a1ZBHodmzNmozWBvk*xr3R- S6a=#X0000*W`4xni7J>Y3 z-mo>W+=Q@=12%d^97t6Qh40(0RMH4pD}XCgSG#c&U=`p<%5;T`whjhwN_!qg zURxQ<)sc`YB$(Dhxj&vLny&~ZX&n%T37u77=2asCwHRj^pXIU%RspCg)>lm^}rThFo^J5R2<^Y<&ecij3%i``XA zh*BULi)aqt0=3_z*}2&L56@xnG>%Rs9L zyTQF1K8U;pc7^2zAd^FT)B-~k&=gL#6TrLN$>y?SM#4_?$F+3e?Fhj-~9~Z?**m(67(7hThe(?r1-*rYNT7$^0s{(d?vWPu?et%5PfMkUdK^4tj5I)v zYZX9D2*o;HV276Ql?+)oxOdG5k-K7DW0?j>*HA9Cz|ad#6w`cU4KNVUwZwD) diff --git a/graphics/pokemon/pidgeot/mega/back.png b/graphics/pokemon/pidgeot/mega/back.png index 19eacf1fd06320a054b20098475d0064fa069bcc..034a265fa7686a4cb26a8e8a35262ba9f044ce4f 100644 GIT binary patch delta 597 zcmV-b0;>Iy28RZaB#}W-5da5tNliru=LQE1Hv*y&bpMf$P=EP;eD8Zt#t4myqkq(a zkCD&=y3R%>xeMHN9U%O86F79TF8l_77Q9l3?BoFfp1;2EjYb3zJ1GNJ%!E=YWml|MNM+g@L&)fElMLmA*N09B+6D9;i&UbGXU-gj6!YpknL{T+< zSoM312Llm9>b%4cAK^xcA^LlZ6tKhi`={T+UJ$Th*MERxOta@7;zk)Eb^^3G>j*QN zJU@rd2nfAu#Ede60DkR4cLWr)P-g*9;qcQN0WBl|EyOxMgx(0+Kr{hhr*~%oTmlV@ zSy8J0zIQuta41Dc|I=>j$AG`kIypi4jn^)>;}X_A?sKA=91Nd`gF7l4`md?x#Z j*U4W1$WaZz|51Mc9z-4FbR%x100000NkvXXu0mjf7efSd delta 606 zcmV-k0-^nf29XAkBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(u&hfaU~ethqH zPr+zh9Q~sXe2j!1&~-L4$z9;C>j2@$o4}!yb>TMvwBVIOWG4>@@ci|KZ!{u+*hv|% zVkVSIAx9MVz+|b;DOqhG0jF@-K%q~vqB?>&k8x~5Oc+^$95XhfIzqL1iYEiW3NjHg zV|k{DOLcuO0oflksk3~YLV$nn8@)V!Q9uFiN@Y35Cz?@No8}ryK)5dv0U6^dA<>EI zdb)-yr0ff&i%k?{wE&`R+ta&4xYPjCIzqT0c;2>WEb8%dKZ0zpo-iRGa=v@B_^O9g z7G`NvA&RQ;!>Zq7JQ#==Qs*Up_y{*j4AI|Pq<|g9-#`5p_JV*7y9R$8W12nx5I4$* z9I-c8oOOg5O`e}aX9R>^HDX2?K>)vYp*sQ!TBx%CsBrk{jer&sfEHq%A3|>gZ6KNe zu+zJ<04{+B#;hpSukYOs92`m!5_v$N0?0XMbgN(bTa-oD$OEvYS1)u3_z2i~fZc#o zKf)a!0c#fsvT=vEPR4(+ZUH)iqkBVGdYUO9w1GjdQ~8_OK!}35(MvHZY`fmCLn~vH zjdgM1r9DJY8UwW|d1G@6h|CHN2>;7n599%lMh22-$^nQ<$3WEiTyK5Ax~!(*{S>(o zO0@yQ+yM42aL*zGz_!w4Sa}av5mGt;r3=)c)9f}-f-V6S)CV>|r%7gl`hfa4CK&`x sUjSzM^O@`uUMGJ6AV)O-|3e}42OdNndvAbgo0qf#+rJT!!8d1pcSWSUug<}fHGpH z2Vn0>N5E+`(8H&ie@xWx)e5=Lm2nzUb`dbKZ-K{NkVjfc(`Tsb?KL!kz$Zp)@huy^ z{JOBRl0MtB0r1!BQkhz}AJ-3G?iW_ROsyW9Tt}ek$L;a(c>h%iV1nI=EyAHE%`Md) z9v|L+^_FozJmckngZ&Wff6V? z0~WBW+SxQ2KzkA+L^X^M5Obgj(0`-=>&Qn%#n{HYE7k;Zeh1eLK1TpYWnxD`7hTH% z1`nHPD5#gj=$2)8Q~IXIipnF@M8Y!nFbFhSx#%F-;=uXQW(}j-&&wdhwH!U*5l?tm|DV8&WKP z3^(EXk53EJAiHqxbILhnr^RgxDjQuvI`8wiEo_sx=rjG%uOi<>JX9~z`J31Ie*kdt fhrW2}cs2aLe}%WR6j$~k+I^a z>HdG9acc?K_;3~Q5x7l%U)NgK+2-!v3gE@Jm>1$lGx=P&ti1|&an$hQ5al#`hydS} zOCDYvM}8bTD1T?9a2S`m76Q)}E6Fl*A_skjfLZ{aU+L3qcpz;6#@cG`VULFZ&`FFL zN<{$>klLB+A=q!y5pY{A%;7ynNi^>^O1adfc3VR95zt9sfd_tnSVUSg<`L>@cLS3^ z;9aeh^94(vd{&mbW*!~b0QfiPQ<+M2A2g4j9G0nkVyvF%LPww-B;84Rdib;g&|rUR zi*RYDy(7En>G8d%Kd?Ele}Xv-+!oEsjYz(k-k(H|J+Dl`I!L8k8`4@ZKi=7!WMA3~ zAfy1MiOo^iPWhdGoww2~rY1)fV5kZL8etGlvLCGs)F+#xU3wsd-9X@GdW`2ISQKG% zkO_btn?@*a-akdXTUAL8YCM&LPK{Y#+5$5Ah})0vPvRod5O*jLr8p06D0CMDLHV1dbja<6pmc2_pbw z0CjXA18HZ#0`^olpJgNHP7{QvhA{%p0%!vazm6r&;&Y-7Ys5HyukV??l z#<^YrNMyKwhUVZz;V1>pYXIwJM4*c27y1HNBOudCnt-u?2PR`#i@yYXKmgW4SN1x< zJ}v<{z7nuEZE7CnW&I~$t#nxSSOG|10v0K-rp$`pi&U2Y++j^Et2K639eD48wXXtt zvpWvVb@YJcdE&q3Gx!_FP?f-qIKFKe9+$wg;hj8xAE^S+GVtw#8sU3d6}g?y@{t2T z51S4;QA{tkc%vGeZRpJ`3tbxpB797cI1-}DmODJZD9X_z;ISXYacf;H09yzGz@6R& z?vcfjyDp&C^Pe0B`KRX;s1x}|c;2n)c$)FE-~aq8ryrzP7p|ZOuDO{3^+Osi_oqB00F#7L_t(I%f*s0j@vL0MRkL@ z0|Nx?<7gQZoUzNqsAdf8GOwVOPmDF= z8KYl5U2kE(Q`c+4PkpmE1pnvY=Esm@JxCMhQqURE)NojJnz{oI25$S?7hyKo_ z*cO9{G~L{99O%DpkAAod-VX=(5m?nLbrT<9yb60002ovPDHLkV1kv!<9`4E delta 473 zcmV;~0Ve+01j7W7bbkT4NkleM1?jz(k51{JTM(|FFM6)>S zwA9Er3WY~das>j%yB>rvFNw+0@uVen6I>68k?FXUwp65E1b?9ec{;HGBm|)!Dg>cN z&kkgD5Z*^9!ALYVi($1NO=F>e8{wiDUHfq+Bs4ik+02!@)Wk^8AzaHG*~f4LI|RDCnD0`XHV z`+)>D0tcFP{dhSYG#x)S^I3JGJAP~=t_NK|pjoXidVZj!Km0)aYd^jLV!J}OSxX|V P00000NkvXXu0mjfnGoEW diff --git a/graphics/pokemon/pidgeotto/anim_front.png b/graphics/pokemon/pidgeotto/anim_front.png index ddae428c47845e9e6234e3696417fbcf92d51ae9..6610f19da29db95927b9790b5a3fe7a16a3b53a3 100644 GIT binary patch delta 1040 zcmV+r1n>Lb2h<3V7zqRe0000B9crFLcBy{cSi#9Tdqrx z?Lm7>HveG@F}Tof_I=CN@F7sE+{wo6U z@~haYa3Tc8d$02v_ovpa^Of*K6NwlhVfnK!9{h4zOfa4;G$DkDL*hMC6yRVU76GN^ zA{*n_0v&&=b>A^)P3F;-mZA2MJu&;|H#GTn^kn~g&bbOAn0<>}ULM-mfA zJ&6Gy%E>lhpGiF~a0VAriYb37NwFl}2r1KP*^yfkLn$U@HOL9it1wJ3NlSnia?BG1 zQg((!$?3LVq@#TVM#PR}8kXJwA*RVfTkDhqc)8frH{XLTy}KRbtL1nthgAT_Er-&d zL((x^V)lDRX_JL^i-G(^$bNWqNuGcAtD3^|kl2@1 zfPItdZv3x@wHxrO6~uFavPz)qI8GJOXafK>pEe6Ta2zi%znK9z*dtt%Jy?FwL_+~^ z4Jm8{f`~KEY!80tr-;9{J+pwYKN#;3+XOraj*eM`ox5Y0(^rUPqLn>KS!bUR5b#nz7#qyNfNOdvGw>G4lv%T z74+ewnkV8$4;TPx+D?Olfj6g7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R16@f(K~!jg?U?J5 zqaYB419r7!2|pp^5VzKnMc>euE~2fGgn91ps=3tPeo| zu18xC3P70y99hd4W8?&I6hO)tQS~EZfRqwOa0+-$A*C}tGJp^{0axt_1_M&LecG*% zr5l1T3WC;nh*3)n@mNncg@Q=>DF_nM>{=@&%9C^ih#XmenuBLT^eUg|8MIbE=_LoO z2-cEbcbTB~GzhGUnUIp(0}w*aUgf+{S^$^nGzgb!0PSwp8ZZAe2YWuCEBYAf1Y{6K zA8$036F_uW=_v)Nk-Xg!tdYYDKwqP*Ck7;zTaD>puXGr8W56xw+66F0Pop`Xgt!OL znhqg}UiPYg!y*Rx2Ttl~NH1K!ghbA*|u_>5gZB z00RU;I8V}WIR&1F8X@Tm<0`>p#Q+F-1i@be@ZCIkp9%Cmg&A>em*z+Ej)6rlf5UQl z38Ci-2z$}_GTH(1xdeFGUlna(s9K>W^{BbxZ8;==b_3waVyW0g4+nh&SQY?Vs+Pa1 zrS>}jq%!kTrW<%Lw)dE2mi2y^>A*y1j=A%!xLwT*gQXL&LuoRwi~>qB!}>e!xZ^Lz z-F>*b4|n(BH@Xk}RsOO2aB7`t>ctvuW2i!{GkqQ(SdBC=pmYyv1erE*Y{$+w>r40H z1;M6&FY6DFtWb3yYJ{0qee_M|E2AWzw@W~LBV;`#uzBBuYDe7L)pE%BXwQ0UFiSbs;THF5+vfit{wa9UE|Jbts+yn7>!)lcoo2Auuw(P%A z_bfX_YZ5Et+pzzn_a+~to3Ee(H0*yi@5jD*L2vP-9Nbd2Yb}rKloqb52S8L^TyKW`2YX_07*qoM6N<$f+d8m$p8QV diff --git a/graphics/pokemon/pidgeotto/back.png b/graphics/pokemon/pidgeotto/back.png index bf79cc14a7a40438e5892edd96200b3cadaea180..739e474e035f4682d7283675c3a2a382feaec037 100644 GIT binary patch delta 736 zcmV<60w4Y51*Qg&7zqRe00013M{MnpE#a8W1GJv$YOJqC5uJCTZz~#lXK=nmw4UnLvAz0d3@e;E@#GC?f-wd zdTxmQ2I13=-h6`q*L91)v91!j9gv*3Qa3sV?by0bh+1(&4N6^;kbpQ! zpygtnQep?TrxcjfZBdw$ILeHh4(&kQVhlo58LbwDI^&!(VyUhiCMfDW2^`gJ1|aZx zex}4%0HI5xqRv^Mx+>G`rbRtw-xPm9-KFm#pmp6-!k0Tm51Qlkss#4)>*d;L zUIU7g0|?l?Y^nCDap03I2iB6h3Lwqk93UZ*zuoR@Kwti9GDX4!fea!B09+H4z@u|j z06;vDi%Wo)0+=H1i^bmy(@2k#s?K>N;tTz8ey(#S&H}xRpH~g!cis0+F|Cyu@WH77&Ic%X5D4HDA!hjSO&hHN(4nz42*gNWn+Rwi-z@>? z3lUNnK1RVt2(e7?qH={;6hMGLih^eVR&lXW^|0L+kl~0;Kzi6hArMTXbXvZSLA$>+ z09X?H9Z$wZ2LSb|eb54H;{&iK4z{qv5ilh>?WE=p_lA}22}7U~Y}h~Z7x@Q_xY-fN S-{g`20000c0004VQb$4nuFf3kks&^R0%J);K~z|U?Uvb+ z+#n1^Tlf~Eqzd!@e;X};F^~-Isl2u3VcIUAgFtMr*C#&lB!UF}$N)NyBM|+-VhWSI zYajv%4&XhS5K7Q<1xeG5H^nnNNY8`zUq?}75>E_*8ZQ6nF!-54`HEW^f^}!R7nLtb zxIvTH7kKYI31~cjG8Eo$AX>nBusOA<@fDX~ZGUq{A~+9JY%!}+V17;YlFpBa&c&o%9kV%C)HFfG@HF_G%#V`tF z)fGXE>BPEyw)bx6Xn7z#wrzFDs!3-=UJ1}WF?WKq9Q`IZ?Qd27`ow(-@=F+*n8l!z zOrJ3c2EL|$ARk8zf^!f!F9a*zj)$6p166R8=SVaNWDiK{FkZ7@uYVW}H3iv@GvOLD zd#P)H3-1PM1SWy*I91@h34~@`eYgyC?}G_3^I4Y|-vqQwp%>^L-1yQ9omH0m6jKwFDxftA@*9|ZQv~EEvL|ryWgzQht_E3s;x4fLCfVy!@WyB76LcioTy}$Q zQa3@U0*)gu8K7THgd;@7N+~9Kus|5`MnGKC;m_T0b^q~mg8SSGC5vZwX;yc;KnH0`GWLBm`1Tr_m#Gx+U_=8d z$e^nOiG1=_P+d1P{#u%pi0~Jy~R- zL+X2yIw<|t^F&7IptQz_LI+^;7*Xob@oJDdjNPXjqz)q`=cNuRCyzHeJhXXT^RsM% dxT^lsk6&J$utSN)fN%f+002ovPDHLkV1hyWlc@jz delta 293 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 delta 548 zcmV+<0^9wT1?vQm7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0qIFZK~z|U?Umbd z!!QU$gAu4{T=D;ZThPt2;x@()o#{;WA(t8N@q#3DyS??+p9}G_6+rYep4Xa_v1Da`09+tce+95M#Yun>fbz-g18DmOKg!B0-<^O#Eb9k99v;FDAk6D} z|MC!Kzv@eM4Pbs<#`|5rF9j(6c-m}|2|#+J9r-7K7=W|`jttWx8UfEY;0C(@nc&*U zFdV~9(Ba^+FB3u|gp>YepAbyx6akiFzs=?|HSGKg05}1EyZit{3Q)jN31Hg(%IMz} zqJX0a(2`dF767+m%5F5kbA{=0_jkA_BTW(^aysFhYGL^ z8bIg4kN3N9b8`WRnZxD>4ZtM7oF!?!r~qBEkU9ix8oe5b+_!@^K@+F!4b2~3pX8Ci m)f#dSt$Np;^444bM&CNt6|8uO{4FWPJJM7W` z008evL_t(I%k9#!4uUWc2H-w{_b5JsgGNV|))5wgO*Xpe`?$DEqE90v4yB0{5=l5= zDOUz3C*y7X)AV}n$JoymOqROQZV*U~3~&s5Sq4xib{lME7=P4xZUYmiVpXfi22~t# z4>7T4R4MmrX~s@qmR%GH&j#)7+3h8_0c4p{h1`u@FK9%Oj!hVzj8IWR?v9-Mr8AE5 zAMSWe&8H8d*}p#2@H~VA!m(cy4yHMRb~qFVqbY~M2NDhgAnp+kupR&r4zLMVNICRh zyT~058TJ9;&@N_Ib*CKK^UDaz0lHVkeMLr_ou@wZcYVA84%>?RV-eIe00000NkvXX Hu0mjfnvQ$u delta 269 zcmV+o0rLKg1LOjbV1MsPL_t(IjqTE*4#F@H2H-vc_b5C90s?ZTMQ(--2X1xnJ{UYp z;Az+rMAw9MBrMs{nf8i6p$O;hPt(h_A7ejP@Yd>w4ueE$WPm=1Wt~8~b;n>S)1)m+ z7npS}X06Ix(5zD)A#U9rP0piM8b1llw9hgTxuCn;`;Fu-fPbP;s*)=|^@K)LxgWyt zV1&y25Swrw*TFg}zJ=>CH4c0G0_IppnoF>BjE6o4fQck6Iggy~R-pHa6^*@wFXlf{~YB)@J&bf^bI|ABu% zJ!C4O-3uK&HH(M%UszB=K^a=e66g|pY%Wi>hl2I)){^S2_ka1_yZ5ZS&$6ocZ=(T+ zmaAD8A;ztw&92*n0b-0X3mg;xdVatG-XM$wV#2LI!4Wp69v*VQcs_eK`Je&b|Cqg< zUU|rs@Dz?_7iU-JEbtTHHah!+e1_{qJNi7;oWj28;j?o@wv*m3EF$87`WlC7MLS3a zNY|*8TD@5ULw}^JlmN8^D29>mou#hSDXsqj057p}C}Q?!C^Tl;y>zrE5VSbrQZ=5ovfPWD~O(fCWi1KH6? zUVi0^2xKN3FQnAe7&vWdxTS*XqOPKfe=lqR%hr6I_5nQvUN_L_L5S${Z#Ve`0a469 ztV8k(5(svS=If0>G}sa*TY=z#=~f_kO?ti+h>t9=6NrS*aQ%BD5WFQNun`Cjuo30P zA2=XIJX}@ON|(87>k11!2w8uqtFU-_*Q`IJYNfRPked7f3N53*JOJ!@B^4CO66pW{002ovPDHLkV1l!37}Nj& delta 575 zcmV-F0>J&Z1(OAkUw;A~NklBjE6o5|_?$+Tfi_jquKjUtpjt_S!A&WH! z$$s66$WRZ4{)7C0ddO5lyB9imY8Manzpx;Lf-QXsZG7<_`3g6ScKl&#nZo`sP1 z&_v7u^)-(4idIkzkgic{y?V6-hDcW_0eT5w4kO>0rLOfU<$nP{I21XQ0owwAn8R+T z-a`PaKnr8oU4LN<{H6jOOiBs}@yrEu%n*v5OUm*BM5tH>Jt+hBy%*|821k~>s0GUQJVmS9<3CLk^Uu#M1r{$Bb2Z@s zKf6+DJo(5HewH1M)z?pa6J3?5##6<;v<2d~ZRrAWJ?uqAL7>15(6OOJO>QA5xb; zoVfhq#5m;-z7rT}hd=abBdz}6qst%6QQ7@L^qxWuu9a>Lj`Uw~9SBgDj)(7^{F!J%6nTzLT#2j9R=+Ay9-Ojt?u1?oK% zLUOsSvkCwDfBFA&?>(($?X_2~4v69+zcxigYM9MKVI7r`H82w;e-Km5G%!baARq&R z4`YJ|&;(WTgw-2k!&;Sb_%<;&WQxY`uakK}MD#qW-nQq488*PfJ-morVmrfQ6gon* zb7!cG?m|b(W&Sau5jdh#aEwX_Ag!XCQ0n{zoaa0S*c7vWk{%lYo0OUgI8DDzfX_Zn z70^$O5nCWljS(5pf0RD;3xKHD{qJX3*)W6}W+y6Xld*L4$YXbsTY0(MM0 z06AxDEwfLL3_yaL84+s=&}Wo#WqCX!08y`{1rRYY{3-{$DlkOdj=pWSx`&{?dTa$G et^MEjALL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?US)i!cY{3tIQ^zRt7>qxW=)Ba?`Pcz5uCuMu>?op@R=Vfxa7pV782%%i+Y{I|(U;h8x^slkkUb}Tb6c_om2ob5FHxGqzR7O@$Pn1AJn5n0a za6mu?_@CMa2cQY6GGwtOZO`YAWC~ z{nh~<`xGgln`$H0K$>bJGN36v>J|Wz6hcs{>yQk@b;0`505Va3b{S_T1NL@D$xC?C zeMBbgoAf6iKpyY)T1}QC#(0?vaL8p~hFQcIuW|ukEf&v|FXEW;fCHUngOY9A2{v*K z;I08PrY(T1bGGK$uSXgn!PSk3H3j5vlyYG?d?NsndzK3zVxm7S`#cz;&gSS!yd@X? m`r>0NAlVGq>p#dBFn$4DNVXwOU-kO{0000c&t2 diff --git a/graphics/pokemon/pidove/icon.png b/graphics/pokemon/pidove/icon.png index ff6e494b5b7c01f514549e2432f28372a75634d5..17e0dae24f056faa1868d79a154ec872db1b2330 100644 GIT binary patch delta 214 zcmV;{04e{90O{4FxX?d=|_A z005CmL_t(I%k7fE4Z<)G1l_^PDZo}X;!7mElN12`(E`drfz}lSg@ifgF@TayGRI&$lpELCM#NTz&i4E>EY0w(Jy?+j$x5*02Z% z&Q>rGB8&9`I>k^{VFW4CEAL3o>2%1siwl_ld}Cp9Ul{a-F*Q2hdH-lXUSIoBaxLd| QxBvhE07*qoM6N<$f_RfzA^-pY delta 178 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 V7%OI&3331c002ovPDHLkV1nb8i75a8 diff --git a/graphics/pokemon/pikachu/alola_cap/back.png b/graphics/pokemon/pikachu/alola_cap/back.png index 110eab45bfba7dfd36fd9921fe9535d41d4239c0..4600e6ed55e45426375dec79bbcb9fe1367b93dc 100644 GIT binary patch delta 616 zcmV-u0+;>y1h55=7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mq`;z|}EVrP?5efZfEmhI@lN zLrTLHB6f4Hagf5`VnI%I4j4S{18Y50Mv`Sq)+X&;k!d9DeE#PjN%j)*Kb|r2D2jjH z{VRVP$MH?{@%!vg#iiU>MMB-a)6 zE)WVab2(`dfP`iqFi#61i}XoOsm_0!oeF0FvDxTpk!#>+EFge{np5e+C>$RaK$eDC zNsvk{H1g@24NO|1Rtp%ZjIR&63D_jAI=$#1gWrT6jK@_XgbfhQa*WGE0Qkc)9|3`> zT)IdNFz$d4<|bsTM7UZ&;OUO+iD9#Vz^^;v5!DKeoeiwSpogA85Aei@Pt<=4P$K}P zb7!@^igyZN9Oc|AsT-&`=L*Qwwm2cTAJ`v7D;H01EsKr-0000i*z^-75f0r`@po(XvgF{Mht)!u(A zcM)O~BCjCKWe9|W5Tg*ZK?nddq5+~v)C7pJ5Cma|9obL_D1fil5kRpL4Dgolf3N~_ z{~%D!zAgN4XCdQjUo)Yqt15IEePytwh==AFiL83Ou3}E@_ z_iw}OPoNqnAOUFA-$GFB7b63*#Pgley*YFOsQvP%7SsUpk zpW-0gw&ws8^)6h%O?m;iyluR{egQn;LH}BK0s!xl3wS4B0P=-A!97C?AaH@Z$4R{t zjh9Ukmd~>*f?E#~SZ}(n?gJex1)>Mr@M-lAiY7kKPY;rM00000NkvXXu0mjf18W5P diff --git a/graphics/pokemon/pikachu/alola_cap/front.png b/graphics/pokemon/pikachu/alola_cap/front.png index 2de876f500765d70c1a0dabcaa27b0b7256fbe20..3e4d1d2a81390a5102d6e9d4f6fecb109ce48744 100644 GIT binary patch delta 580 zcmV-K0=xb21dIic7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mq`=$<srV^+^Y2-g+W>-qB1y!x;$5$H#q@1|W`ny4Q2%nlRa zuGyk^D1wVR4^!a%wm{(HlhDVXHiUmkj_v+60_sx&c$fkFYdLgdis5K5&C!0bu|(l_ z$zTF-hyS!8{18_%8BB6;_t-bO>Aq#o4*XApsw05%A~=SKhK8l1>_0F15x%C zJ>Zb<$u8|45gZFRutri{4mkA#7J&{8Sz`+C!8M9VQFICDy7^8eAWn$~bfBBy@H-rN z1+hQCfxe^^Dk_gNN9w$7#^x~c2KKapwN9m49PPkV+8|b1dHOh`7dFYyyQdPmO` S?4$eu00001z0DGM4#Lw zj~%%dte9Q$!WRmd|HyX?D={rnGT)8@<2xxZZ@L1Ox`h3GE_-riVBt_-)EGzIgcE-y zP~Ki)$^1A8o%kz*3P#a6d79u597ul?wEW+KAi|Rfo@&s)Rgg343briJL`DeIAP}VS zFX!rAun`{w2pY<;gM-(eBQsQ9tFVu+dn%-!B{@Z`DfC)0q@JgE;$z-~en;CIXr%)m ztqjs@z6oM2je7;W^LUoS;kp;Cg{uJDAY^|h!?l7T zUF3X702hO}Ka%z(Amm+m90B&_pSFM_lSw46LZ^2d(zN+n=EA28Zfs#25^V$7`Dr4N zGao%|)C%^i10&=8HE3GD4R0R}zuX2l6F^VryMu^7;q@xxS~3*R+X98xV;z00007zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mq`>zS3xc0003ONklb>k6o$FMyG0HV4<0)dukqr)qdioyw=9v& z)*P;@)l-<2L<)|V$P}jmZ1zf3SP?1kC zonZnl+5-aK_Nc-U-Opf`hh7Ya1o}mTdIwpY7yar?*;|(b;6S+oW!ucsRLTdsWP4DUdauL1 zQ#}e3gdv630VW7T1uAKOG6*vOH6mdSh=h@4ER4iTnBVr}8^Bzkzh)wFGynhq07*qo IM6N<$f<)YvT>t<8 delta 310 zcmdnO+`v3Rf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HSaxL978-h-%h#6b=ZKz z^>EL#r7!;ff7`>GE4J}%F`}NWrzw!%~R)5?p^!GN` zqLwKg7s~erX9?7~te-_or_l1t>F58<3^gM&7tDnm{r-UW| DVFr;} diff --git a/graphics/pokemon/pikachu/anim_front.png b/graphics/pokemon/pikachu/anim_front.png index 6deb20d71bb8c57ff6b7019f99214487706945ba..af75b2b5133ceccdf261fa2b5947f4ebba6e2e63 100644 GIT binary patch delta 914 zcmV;D18w}v2iFIX7zqRe0000KorOABB6{n$iUdrG;^YskfBQ=x^${V zpUuz#D*4P*2@&&%I-v+m{(_3JL;r+KnX@r>%i6!A?|g3W(1HSUgY` z!VrjT0>fy5xLM%>5iif#C293;R;wQr$B~Se`&pnAuU4yV+z2OGpe%!~g9|Ht%ceMU z2>4jRQSuh+z{xKH>RVj~I6zvTDNS!|m~(#)sAH@E zv>KZOoB<{%llWL&&aasw8w!ZxsIk0e5*RhgPsju#d&!>a8vTA0Qx0%z19p}n{U_@5 z0oN2viZV{9Li$9Mfdd?M1~7`CdulU7IKBdWAApM+PI5{jpbWrHq72*C<*%SeV8&lk zHuPq8mEt}AJ}jLHIk~D>4)}ir?eID&z62hh!L-!|nf0*X$~Eo1u^YDqxB_m{XnOxW-&}{me zF4HahX|qpc)Q$ix&19v32+60t(Xaa!c*}+8OP_Yxxd2zchk;xePK1B-X%`MBn&FkS zX^|}74j4Ts$5*M3vn|7P;6zuntHj4mPtr+cXAx{9E%6PGUghAYGI|&dY>P=?49=C& z!>A`__FTX3+edz4^hou*Kr|M%Za$RJLsG1vHxpUqHPaIB2ms*?L{_%UTO5ap(Ia31 zfv)~*ujLJqd>jED0or~n-Y0^p0CGazJQuc3rPt+T_i1B*+Hk%b2tXuAF9+C4zXGg$ z^WfzG^+<;1DbVF?TIAM%98fpMV6-u^%(rdCL6tQa<`ii48|1}~jhf&LMok_7vkJat oI6=NWFsGve`(Rsp5y@+R0qjC&x-ry8jsO4v07*qoM6N<$f)8(?!Tzy zqc8}CMGT>}Gw=Vn3*=9&HCT7ARxYL;+w(~hV#67RJMQ>L0ax|oMZ#YITqB77IskXB z%VjTM3U2^WPt)Yf45kn^1XFAH0AT|l3TN~cKpOfIB~Ivv0R=$BkH;fMHn|bNy)*(~ zl^dZ%lWST%0>_PiesOn6sY@tn#{dv?7_j-QLqJxU4g3kC-oJgu(F1^ID49=d0O!<> z2{=KF$aM(y>s<650F8ALB<4ACDyzlSLjc-WkT~n-SAdQFn1FMTd(zL36jKZ@2?MP3 z$AFjCvH*TaUK=2s0|fg0Re%tJ0_=S&tfM(d->m=*7|Pp!ZC&mMBtq58-fZvt@&Z_d zq>LpQ&z^+1(d(GeEmuH{E4@vc5c(Ur0WyL^n|0hiDnEwQU@n_d{3-KhY)unK>}}p6k2<1lD~mdPe6I0OjOU0+b#M%J%Idb z+rdpx3FT#fq@uSBd;nPOds_rsKO}D*hp^Sh6WgF{#i9;HAN+?F3VY!!ftJE1{6(My zMM&L9;5T|irn+Q+@^EKw2_?Oj5iaK3&Ku`O0J#2Nkk`(x;6L5mamO8Z-0|N8Ia=03 zeWy?92KPE0kN!H~dxE3qg+q_V(e%QR%~SOqz(<0A8}Q-dravGk;8R!S0+@rfPgv>? z4m;*x?E!Rb)zbK^&nMLFRZ2G4NV)$!3VZ{|2238-Gf^aH^Y zsxYB{WfSEDUzi8XiL8QAcO}K1g5KDOh zbvsvBPvATkBPFHK?|fm_yCN0+{3svZ2{qPfcF7q@G1R{b3ms6kZXT&>!l~@0w}_sVA;JX z{(;Xx!1O3k(*TpXOvQq5=^=743V@TFWiDWU8&*Qw@#)U?O9Z+PzG(j?pZrVqt$T30 c4tJc1KL+I~`J>@?mH+?%07*qoM6N<$f_rtPm;e9( diff --git a/graphics/pokemon/pikachu/back.png b/graphics/pokemon/pikachu/back.png index 43280778131fe285dc618c450b9c8da7d90848ad..64ed04d267ce136ffe3b9245a87a82dcb39b8ef0 100644 GIT binary patch delta 562 zcmV-20?qxP1(*epB#}W-e*gz`Nliru=LQE23M>`vTe$!L0sBcrK~zY`)s?Ys+b|G@ zr3&zDDV5+cAlzLZlw>Z9b{2$_1f)X@LyFfRkZ-MFw2#z1Z`LCvibqkY)`mmCkRSiM z|Bj+P?}Ls{w+q1MuM0r5Uyz8l3lfo7kchD^v%4iot=qLIsR~2$EPG zcd?!2Jr+OZxkeJ{>H+aZPD}*E?kXoc0^s_L^nYdnU4`9)oP`9Gi1fDrI5B{1*Qq8t zsRIqm@?I`sq2^%*fBmSTFo0U=Qe7iGQX8oH6B`4(jwZlJ_`eMB!g3rXR%U^k;pml7?t4k8ds#{#bl!)gJum~VfOpfjtl9a@<9Ej;W`Iq|ftfdILv=DSW**8I4jky5 zcaSQX@DI}NB1)v3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0r^QpK~zY` z)s#JN+b|G@sR;0FDYfA-AlzLZlw>Z9b{2$_1f)X@!;04+kZ-MFv_GkP|5=Y85|5@* zt<4Pv#e4YPy+=#pqsGnM1n}w01dwhgB+~VSL@FmFQn~&*1ymD&?4JJxL{ioxfRqmS zT%Usc&2}rFdjQ}xqPzZocCthcfZ0fi8ZEH|7-=GvK!je#1iZ0SeAid5Q6G$`1_$m- zT`&bANMg3%Ec`AXu>7IU9Tbtx9uZ&F!c{=*E^4tM04^^`&$$P5HFl3`l@L%N(r*cH zWB}Q2vYzOa4jfpQ4{8fby-sp4(Lm_{z0+m=jQYrYpf)E~4tN`XOqgda5&d+)E9-HP zn7RCLUwS@$(VPMG+)506k;H)mzbz2a3%-LiN%m?31~wx9B145J_keR~V(M!z0008uNklG$oJ*DZ&skbZMZA2}y%Utq)-^L>vxyu&0{>DwyL+hL~WC?lbf~{c&X3bSr;! z=mP@7`}1?p``+nPDE!x7)+@((ySlROg4zX3QM8qHx5Ee_{*7{Rp&YNOb55kj-w3(e zS>ew}KLW@tJS%_>N#(=yWpBwqmLd!G2f&9EeMWBYXWb>>HgX6#?{MPRy%Z>k$1K1@ zj-i)cYYt3Z?=cGmxWhREAjwdgx~_kSeih}6`aEDw&UxU>QUFGK6Im2xJSg!V#Nhh5 z5(7m!{5LTWDd6lnbOOhl#0%p(0K3Nv0Kq4A%L`%yAstTS)~$CE0G6_L>R~T75D?P6 z+y;wgGXk0su-lsTTnQLL5?6BfoAnpqD>`R>F9C#bZ??grrph$}RN>@Kam0T^Wp56M zDcY?TYz!j|u#PHsO3NjhwHJqsgb;d0$ildWkd73)%DQKpahpa8RMERD6bWObh7X?; zplG2)PvJObG=$XZ<=JLCN2npc3deu|;Gj^m{A8DlwS=g1kB`B|ctSN4b}K0`Csfls z`o;Ow5CBw($J%+KK}Y5h4-J3uY@sS^&ri}kM}ty8xFIGks)p_Caa^-ffKt;Cm_Hqt z7Jz~db(_XAM3aNP$P#OiLTjYJ#00tIJ_E=VY@7f?Ne=p?y$ERf+#(WVIS1RaZ1eC1 zc+DOcGpb0l%Nu4|AF%6e6LJu`W0%Y2lo<4u+Elgo0F;we4i;bC^`3tP$3WK0qj*}m zS9_)-)$l3QDU}wZT)h@o1yd*5}HFlt>+C2VMBME4|M-~0!;FE%Y+Uc z=adea8}%UYGC(l^6m#G8ga`&7b3hUPrk~1i(dE$?Y^(qdBKIN2xIqV7Ig26`KV>$G zmUC@1V53J_V9Q(t4q+p{qwHaz!=(s04gZ~w+i#u}TD%n?wvqq<002ovPDHLkV1ksX BYMTH6 delta 766 zcmV;#uP)||8chyKvDdevv*s2`a(y?{zyVVr|DO}`ZpCB zia)Z*CR}g~P~@Mub52zv9Ks5P@Fl_AyFaBYYx%K$M-caR00dFbUjgJ`JrdSH@BV*1 z^6tl90a_jXgxjjf;T5p^Q&y{GmQqk55j_JGy3fD?M0G}pM}S(JoDe+#Zt@v5f&-2< zPzM|dlskXM73C^o)>9F+wkm56$eY~&AZSMj2LQEZ584Ad*%hj%nc4gZ_TZ;Rh$0HiGitd(t@iJSqR5>|gB6a0y~@pUI`E0r>x{S^QLW-*bk?izq@h}Z}K z$Q57(fz?}@j)1~I4uwE5?gU(f0)a7LJWg|RA;C>tt?IplMxc0Xal6Ni5 z^L)jaZG(N81hOv~12|&{fZnH(V)Gl~;9uzJ#frVo2)6n+|NQ9)XsHMLq|L8M5NolU zZ6E&0K4H!H1Yicq2!kG@cfeB0hr(SEUdFcoJ`MoEV>s1c-#$y!ny+dQ%!-$~bPQXK z-vE$j1$=Dzrt;|kA-s8cA=LJ#3NXa}VL>)6F9d3}>XN4_??JT0GoTokc)f^>@K^@S wL2I`=0RDOaEUo44{GQTl1zz<2jr*VJ4@lcamV~%Jp#T5?07*qoM6N<$f;d}bn*aa+ diff --git a/graphics/pokemon/pikachu/belle/front.png b/graphics/pokemon/pikachu/belle/front.png index 27e11f42eb53f9ade86693d7cd8c40bf8044e4a7..4813a85d1d6dc539a560813faf326ed85f68bab2 100644 GIT binary patch delta 766 zcmVw|V{q()>olZ}NaU-oJIo}^w<6PAn0H@=gC72rx2q19uzybC#hu{LF9+rIQ;q@XLJaVBj=8csrh^2PZ+;&!y#ccR0JGypFwnZ{08oW-r!d(Ea(m+}dKsg7 z{bC-kXT({MN=a(npBn~H5WRm-)fem5 z@?u3$(i(9g<5OIEmQ}x>56w>Ph72$Y{x73k3 zLjWVh_Q;9|9gi?Zribp8+eQ3Lsq9hb(JmwyGL$41{UwOGA?G`@ij(aY7f4R7m$XmVhF4zSxfK;VedDTI^4y?rv7fDnKm`ry4cPYEnJ zaiNTcfObt?4-oY70l=ogvSk2N^PYbOfW_#kdvKlwx*(phoXZiy@W7!T4xGDi(~SM! zk0ikEcj_ydX*fVTYYqg_)$TI%1XSgO*;D=mU=sW;N!-_!3|ZIJY9&CBkB=TO2fpHE z0bq6fc0B=%oaFZr902kAodD?$AUOeGX3-+2;~|ERzW}-(wV@9}dNW@7^wNJ$_|+32 z!oh@GzMoFY>BqH#!MLI7E_C}e+?3PP&=f)7REOMZRPltI1ij(?Qj(d)Fj2;^bb^1B z(<17|>M_hFtq;I7!Rmrc(1SP;lyyh|Q#%FF-g}rUQki)E#XuTcGYM!`WlLfhFri;8 zig_l9+yhQ!6V{xeHv+J*n$Ld=@I}9%ql&piNz#X|uan0cQs`O?{k+9cv4SjcCt8^! zU=vaI@Lu9j;7ro4FFF$f+y?+M3sdEvkRy~S0AEGB#>A-Aja$9Fjs$dT|Q9 zq_={PQA1$`L8unYMIXjX`xt$RLbMTU_g4z7(xutuXkC|^~XMT;wZ$4FznXG@r zz?f4Jk{?1lIj>Z-9FS#SXdNtpa$hB5Qb*yG0#T2GL)RUhQlJ}M^OaK)h+K<1;8E}7 zkwp>XE9H5)DWLCJLFDyxQ$)HAHZ%R36#I@?_#>T>-e7kB>hon@VI$rRwkWh`Tlin0 z$Ue-xBpy%gsWsUzb(ejM+9H?_bsK*WPc-fDpb(l(7S6d@T5){V;gvOmVovQ4N;dxG zgW6n>RB1T!A!`8D1@o#R#1~RkK#a{s2^dgdY-I_U%*(`)LCwdG+_!O=po|W91hN1I zsOwr|rvyxjk<0CHR^Whs#BDw*h(b3Ttwq5{A0O5W6g;0aStC9!Qh%7=HZd!nX}~5F p>XOTM_Gxg%H6QB5pv~X%@eMft%aY~TfVuzx002ovPDHLkV1k5m#T5Vm delta 379 zcmV->0fhdD1jPf87zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003rNkldBngCR9;!JL$R`E&xz#!bJDiVok-zTz2 zQRi9BgBTJ}F+mBlDuQN5&rhPrqJ;Wlr|#PSA`U|f<1ismPEbdL=Shwu^GrIW%PV+kfYup@ZlB)9_~_!1etI5auHiVKgEU!iaxF z2+?v3C`SNjo__--0M!5hV1T$fx#i1qco!K@_`%7mr`Ou0KUBl zA)1T>69V$1GD1Kp1pTfM4?S>oO@MzsAc;om;NE080jcn^(#6P7#~N3?08oLNAGCE`Ko6LSN+8UP?)3MJvc8{o(Rh)_vP&3@mni2^8pDUmUtnpqOkyyxvX@Y(t7 zSJQx{fSa$r)*Vpn=}jil?;Cl8mJGK zz33vLv*%id7AaB>_^Ul72Wv{l2VUrxFJi@3EZO_a_gOvgA%$9P90(x%NeXqcd&QF!WaoOlco(1xHqbkF3W%L(0#OL8nl(TLgh0qdo{&N+ z^+fPfXz_Wkvk*83Oo3t_7+m1!z&oCe048dD|6T=3I{sim`b=O)iaL<1sS-?<42bw`q3U)k3aDaO1$Q;Z9^nShxt?%st z)j}tQn;`q-B#?p6cwFd5vk>eKf+$n`@U z&wSYe9nS_z!EI#&g1>^ZrRaMa%=XEY+@%-=+XxR^K?@^6PvI=^u1<;|n%&ldh`*3C zetOx<36T09oxsASxfbs&<9z;d5qJ=mE~`(%3IGYf1(xo4sciyNSh*=e?Uf76juYOA z_ItSq3+rfyc3_^tOJ6I*aLyi~Wg*eRUH7kzZ=?Djo0qb;C;$Ke07*qoM6N<$f^Q51 AwEzGB diff --git a/graphics/pokemon/pikachu/cosplay/front.png b/graphics/pokemon/pikachu/cosplay/front.png index bcbe13ee8f61a0ee93b0e525c60c25db4b58419e..c47855529d0604fc1b54f446b6a7611e9c401e15 100644 GIT binary patch delta 566 zcmV-60?Ga31pWk&7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr1`@8V|K0005uNklS5XTb(!DG^rrbn%P00paFm3Z+M>NGug zu%a8mQ>dFMc#=|6pFr{eK7w96*Ha(L*=$=O87S)2fej1u%YWx98^idwADX!is5yUs z2DaCP&{_-Zto9o%4rq6m+g3YZ)XY=ZUHF3_IA#D?0OFhghX-sS41vfB7)A%gbB<4l zcz?{6q|<-S^B3}C;;@-mS)S+L{&uic0&L|BJ$x$kuY=&E1RQw;oYgQX=<_PD_ey|! zqJfwc%0cY=!%Q8KDgjBgCkx(6jK>Q-G0srM*1NzdK|}GXD||N3_*M41hf$_(;0pdu$N!N>I6RwXaav` zeLkNe8h98Wy)-6J$HUO7_bu>anFOn862;2b1`aZT!69qqrx%X$OUmP)xqym%`1Ty4DEK4 z%U=qLVc~6W_WNVJ30}&ggsqv(o&?$Oo<&UKE)ZGq5oR;+A=(91p>^7ZV%R&acgiwY z!>l#W4uWO{(8(sS7MxESVg$T=NK68%DkkL?Qqv@gbMF5!k0OZ_ly` diff --git a/graphics/pokemon/pikachu/cosplay/icon.png b/graphics/pokemon/pikachu/cosplay/icon.png index 38d9443a453fa19556da9ee4e6b6fb269f04431b..c826dacab095adaaf7d773e90407cca302577c3b 100644 GIT binary patch delta 306 zcmV-20nPsJ0{jAy7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr1{nB`VX0002rNkloNk!4HAFj z2mnYq#u4ZsVUZCC4eJv!S)wHz0E=&VeM7bu`MQJWi#=Q;3h-&81bIQZ?QVKWwcqLh zMPNGtZOG@9QQ>KcHT;_*o`gAg66P1Et(5x~y&sY3*d5R%v`tMIN>F4cOaoS^6Q=ut zmBkx%ZBP@2R^-xuQd|q(F$wd5Nthn8&B7F%gn6_d-}TnEQ;L!Wf&c&j07*qoM6N<$ Ef^(pFr2qf` delta 293 zcmeyv^qy&g1SbbG0|SFkKUMJipVFD^s71AFZNIiNJ=^Y`_hX-=^11^)4lFn2lH96P z7~*{!_nj-gItoR)M=7L0HL_P0i{)5pk_GQnTbmqVl z=A3O4Er0*85~|ivO`0Tj!fk&DL)LM_%A;!goH-TTV$D2GT&v7Zd;MqS>?;M2S33CF ziZK0TR%UwlV9EP1>Z$G}t>2@4Pb@mXQDP7o*AZ{L`QEFGYV* zJmueimwzYo7>!R*s;?i5EgCm}^YB1BDX;^@2M37g`_E@2qT;D-TUF-KFR=(DBAJ&F z0ADE}LGsqb%U&Z+bPYhFE05oH!T@}h?g#@U&gK0bGb)D-com9>21%56DNHU93$b#! z=n;UD)d8?B8zGBKWy6@xn@PnhfVh9ym{{9r;Aku$fP`8z>BA@-w=P~~X;_s6N!3Op z<)aNOS|U>$n3)Vch*-cy;%3mB0c!Y3*ui+*C1SV$qT3$hb`t>pu&rl6U`e(vDg(?O z@Wq^jdY6cI3kbYD6Q39_77+OHOada^fqAfjof!3HqA&rxQ4$i_24o08;+%h3Z7=16 z0w_m0_ekmnQqH*oYBd%o?*RtN%@d~^t=es zxxj3mHD~H7z*9JZABpR6R1U3t?++qXP3-xp^V?JsJJBE9IiLgu-KK8F%j0Pqv#m|( zWA^i;nn!c8)XNckyee+D8467xz_SZ5g`dBO+Y(oRirK)@1wajzRbx3{0eTx)0|}gD vWwjxaz@+;iLxpH?fbmKjc7Epn&>z?@gL(jwj618n00000NkvXXu0mjfU^fg{ delta 559 zcmV+~0?_@b1@{Dy7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005zNklX8E|eVAP4w-Vx&S~x@4($LRvzIu@czYN9BJM zA%sk%75KRffj|f$WP&dA9&tuAKop3&fFTru(BF6i8wx=M@YMzaDO7?1-V*)~cR=bF z0@V!MhdIyz$U_@LR06s4W<&yd1hFjHoJ4NEw*g|CTId23)D4*cZwZ7}Lb!nXHzR^_ zA4fn65JVBS8il?BEsOzDf69@50cn4EXa^92?C(GvmpR@x{imz`2Y4d95!QesC7>nH zJb?l@uOe6km;o~2XTTu90&*%7m?axL6@)DnS#_;CQ39$C(Keez1$RGLq*bAu(pkaa)Xd{1)<(a<$ zNFQVthAn!|?=FGvw`z4Okk|m4&sm9tcE2H*25z>}5cH|Q<>k9j-j87>Xq|qTBaBlN z!m&LCprCi50f+P%;970t`T7M|2`~Eh!W#g2mzKcl1PCBqXeBJqkOByo!0B;P??mHe xQ-tmFtVLMXiv-r2Zm4sBtw0;}VjF&~{s1|5JN;t$euw}7002ovPDHLkV1gY~19<=d diff --git a/graphics/pokemon/pikachu/hoenn_cap/front.png b/graphics/pokemon/pikachu/hoenn_cap/front.png index 2c9749ee2e350d6e398b99433d648843289b5a23..d45c2fb54e6860bf8ed0eae8950758354fc860d8 100644 GIT binary patch delta 588 zcmV-S0<-=81e67k7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr1}afb7G0005^Nklg~}8u zl03jY01~N@?xb+lBG@8HiB`gs61GVE2KQ8q?FDqn+!Zu5H(IT-`+xdp#vVJ2J;Z;1 zh$xC4Kfh0xQl4$}-TJHggFI7Lcj=Gfi@KJH2UZaY)bir|QZ<@Iv3#-wk{9o5`BH5g z?P|#g;G?YN(`KEv-w+^5O*XM?)~YG2B@I}jP*&S3YweGW>NVLWYO_u&1ddJ@yLlIv z%Bv@x_2V2+DT;^E8m|jG2a>cz;Prnyd-OkhYiBvq{S5;7c>si60OCtE4lc!bGMMM+ zKKH&vHSL1I3=jtY>8$;!u5~b&j~>Nqca2`EUw?^mzVNz=nybECVnNQwfGDvOr*TNv0gg z6O0FphX4%2a;E~|r(^}i9(H+iVV&<;Eg8^o(#-+v+V{Nbha aFYyc7ATyt((8}%r0000l(+U1Bdg7m(V zj`D>onh>N3MNI(2PwbMHj+_I$>`tZdH#pgU)K3UJHh5FbJd6ORsWf5kXk8&z8uUrWKr#0w8?=QX7rA0^EP~@~nr$ zbT6uf8$jAXpeMsr!ICd>91@U=fy^IC{StuWUG;JV(3XF00VV{6P^p5qHxu%<%^`_&r_0>|fOqtKm0=s1 z49{wTs^?=w{m9U4q7st%_&*{eZ~WXGk$=)Z@x(lS0Hb~+RoE-NQUCw|07*qoM6N<$ Ef;8g_2><{9 diff --git a/graphics/pokemon/pikachu/hoenn_cap/icon.png b/graphics/pokemon/pikachu/hoenn_cap/icon.png index c9f88f5e30266b0fd8f95d210163680fc031cb51..e5f8bfe206c6819ee41d6adc164458e314cae7af 100644 GIT binary patch delta 359 zcmV-t0hs>(0Zt~5Ji21IYG{nBHngs_$i@^x7+QQE;(tC zB4JTwmcoc??HCDTppO*A4VtGv7BhZI{pk~iLoN3mA(8%L{wDfpg*g^uu>k+n&wzhQ zy+j`0J)1#|dI9kYZcGSTFD+AJxVcu+r2sPIymh+(4OBZ2M%4SIkv(itiTbC9!lCxE zCqBORun~qnrRUk8Bn*AEJcCsjYFkroZYm4oV~4qAVTjFzjTK3OiK9OP-z6PrV(CzZ zEDQ-=MuaR3m8fle$t=tW7#xJT;vkHzj>1^%g!yehegIuNuQ`OZp9BB^002ovPDHLk FV1hHPmF55d delta 309 zcmdnU{GVxp1SbbG0|SFkKznDg5`8I{Uv>hE~|_@Ov4=X~FJ)fU@G z9=(Z*_j%Q>8U5*KTw!Xe6j#b9`Xu>-N>#PeUw$s$yUeRXj`Ul(C9IX4UnweCqqv78I#?D`fJ6^X(e!SIhz`wk%g>mB6 z{yGJo6FcQS9cJ};Fex^LPEb+EK5};TzdZT4o;4y>WmkGu1O3k6>FVdQ&MBb@06Y4M AZU6uP diff --git a/graphics/pokemon/pikachu/icon.png b/graphics/pokemon/pikachu/icon.png index 64135c13fa2911bdb13dd9e63169d486c04b8238..ca9532541c0331ffb1a44c8f9c27adcbcfcad0de 100644 GIT binary patch delta 290 zcmV+-0p0%50{H@vV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4GT8$l#_x0 z007)cL_t(I%jJ?Waswd@MY(~F4orOOWmE;-@Q2?(+;>FRdZ|x=pu0k#Er1VxTi3RfPYN@fK*IC2MH68Ck6R{ zLL)*FHlVRhIh|3=FK!R;@i{)O5f%6ur35~rey^rlPD_8)mLGxn38DyOu)krY^GVgB2XJ28)})qYUueE5jURT#Gr={QO+mFC} z04gZM7u9wIVF@o2H1@u=0sjFLhWd<1$%N^Ew$%xvQ;=EB2TD*BCyW3YF5%$^a$|4Q zMW7}OWt7?{$*u%n7=-!8AWWS{VJZ&7Jll^SF^{a($hlUd00000NkvXXu0mjfBMoic diff --git a/graphics/pokemon/pikachu/kalos_cap/back.png b/graphics/pokemon/pikachu/kalos_cap/back.png index c0a4b7526186e915991448d4a8c1f46c69a733e0..5d15d09d17bb25f45afc2f6cc8487ca57fd25278 100644 GIT binary patch delta 617 zcmV-v0+#*x1hEB>7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr51hLfWd0006MNklSb+Ixg> zE1`RV^hnn@@B}BNK%!ZhREHEHh6jiiKUBsx1{-hE-W8d~_RhyY|Ja5lRv>=u00H~{G1|ZQS$B!#v06t20gaQ)h_JV0T}4(n zDIXG$o+lw17Z}Z1bE-xGJB1VMqjWtE%Au8S_Zv~ECf0o4?AuflE72a@eLx8Yx=r28 zE|0fusFyaSk8z(T={T61rCwDI@8gwnyG>sJ0bXxF?|=RRZcAJMQfdQJ;{h3@R*mU= z0cdSt_9Sp8Q>zV8dM4e2^c8~60fq~0*!hvapg*ubb^s;LQ#(Bi00000NkvXXu0mjf Ds3ZbE delta 561 zcmV-10?z%h1^EP!7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005#Nklr~y|9OW&qatWdZ(DA*o|Z4a7?W-L*0(;X!k#O< z*&dEu;T@y4XJbJiSJ!{&3j4JG#f3dYva_0@5XOJrmLr;&~PV?)HCH zSw)CZh_r$*mLU*!LX1Mt1|a~9hz5uvQ57J@Ob~<}c4R{#pa8yFLjc7>Fu+^F|G^AM z{hdH11NVUhS^zS%HbfzSJ9kEUK#$g*HIyPdR_mFEA|+>;Rq6_gCO-m)YJn^`~C{1zZuH2tII- z62KB@oInPSpdwfVngIj|BVZ6{0g}oDMxwt7erW`chOxJP{E zXZ{2reUMpbw&*&)vjn=|D(_aHZUbmMXE_qs{f1x~Fxg5&(5C|2%U2=4ALB@npT3zR zwo~kcWqS%hQSZVHEYb_W`rHF5sPj4oDaB1osRnfWQS-kCSpI z8ZVnHOrK|W1h*a}u-Mr@M-lAYXv}gv}P^^00000NkvXXu0mjf8o~G? diff --git a/graphics/pokemon/pikachu/kalos_cap/front.png b/graphics/pokemon/pikachu/kalos_cap/front.png index b8d995d8794c64466511dafb165051512aea1a5a..3107c90997f6239e24b788079a69ef1b8a805323 100644 GIT binary patch delta 592 zcmV-W0ljA6vvHDNYPC+{REs!E0yIWFUa;rs_q2T z4}f%)=vD=8U}Qp@i+@sIVUI_8}U-|>_QtPt-OqL{YK099sp=7jN6(7dH^vOaTX>qLN zvM7q20FJJO(CXl@{DA;b>h$DVD5YnKbEE+R@08Yy=gzrbIo0d*_)@=pHO~-edY!L_ zU0iCf?)1pC1K^>aqqt3-^*VP$;9`HCBJk;%Yy3~++#tt%^B#fta{#y-0sLFm)_sb0 zXE4lBeKo#B(XE5Q0N@t?shs;Mu4FJ6IybwRJ2s2YFi5t9*f zfxxxquqFnAIZwELGb&2}+~NAQeu)`SK=vDOG6gC})~lxfB-k)9m1zLFx=X=QMJ5Qe zeUdH)@&x07$QpwluuV2(mu7Sx*OFOVQY!J(g+1LNKW4(A6!jL|G`fiqx37Gwj{`@Tm@Hj+R_*^qe_WLm-~a3O!M zK7?)KIshWw;6+fU-gp%bFmc#<6=XPMK4~y+EXPYG7ua(^<s3Dm3V(n+%|EL97q-P{O^KDgd34O*}#9Bpky=^>_xzd ztRi3oi6D(dmZfs#6 zlyn2p_-O*7GoLJN)C-QQLq^KmYtXfRAJ#rvKHLU36Of)RcLxAI;rS}VRx&A`wFN5A y$B6opp}C1lNao}JtbFiub5tDuiT}no=J5mBV<$lHJ}ub*00000ql<(o8!ogMgZD~Ry;$$)+VXoojQ#25ny8ki4I!nf^R#=~^Q$VyqDy~g z(BAeFpiIn>UR{)ISSMyc@2Zleb3)8VS}sfVmYdoKIOjW~3*!UK@q3dXwPJb8ptA=Q zv?Q2KFaV8R00B?WD8dn2PvDS-UYvji>Q#gG0G)lT`n8D}Z(R>S0Qm;E4#jq8q@yV^ z!~W?a7uBC~OM3OK$07{9?0*dM!q8p*a-F~;45`<<>coODL#d=Z2Vscsq*B@#A81Em zjs`>Rb)c4;8kq~ikilaI7lfeFTf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HJ?3Q978-h-%dHm)ndTo z!kzob(c|C${Boh)NwXs&ZXDLLP%oTkxb%Zp<)_S$(pclqOc&1{nmzB&o$I^eIhL9U zMSZ{9!M7k^IkEnRHp8`Ydj_qX&l7pmFN*z&T0OO6f`Vs$Vtt5Z_MiT{q8534(reLs0`6})u)OtB2B za~@-g>4S!pyVI36y_^5XY2TavNQKSzO%7`HE{#3^I+$ku5oDS4Gx=S5y^nU^KaZ~k zAKkSC*3|xT4r+|~yHP-m<9A1^!xHHf#R+zgo`wCt&adAvRp?Ip^1t!G0ATQR^>bP0 Hl+XkKM!%J5 diff --git a/graphics/pokemon/pikachu/libre/back.png b/graphics/pokemon/pikachu/libre/back.png index f92d401f76af63d1a212711d1fc4c67e2732963b..f87ec53616736d6ebea5457c5a30d387dcfd0fa7 100644 GIT binary patch delta 705 zcmV;y0zUoC1&9Wa7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr54_#)q_0007ONklO923Hw2~6F zMF_FNbrt{{r$XW&OccUsmK+ZeR3S+$f;q)P0^i#?2?9uBF1m>q1A*NCj_ZGvgChEk z`14{AUfn$yMZ#}j5`(Ls4{5Vodelk*e4hal!e@-d(3`ubMwt+XHS+GhnLD$}$I)&l z5c%U({z$3<2-s}_I+kinF2tC#lR+XD`gG8LVMim6n?*0rms9opo>nkaQ|JToiJmQ zzzg$qrG3!~#?*YLIB!@JUu~Ep5mtI1EbdSWS0iNs0=UVcqc+=NdmcZ|9efd=2Y=7= z$p{!rgN*T)vog@Ncx$X{yiG1%7GNoG{OhJ9!N9dJ?vni@YL;KpF2*ea@H#9j)J&Kp n0=MDEav2QLI1c9j(BJSM>U;u{eVJ{B00000NkvXXu0mjfOS(6f delta 645 zcmV;00($+32F(SK7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006!Nkl(DV9B{7g{LV162R=I5eeZAJPdNSL?F09K4e184+s&D=yQ-fQ3SwTf}!2k z#sfL;(VLUNb|?VE-b*z!gbke6addx#II5UyXf<>KBA_EAKxA+Y6(I;f>=hh10SH45 zst`iHQg9&wQxhkG7*?VNyt@kn6d)3uD;;UArviDuzIq?4g(rd3Q!mFV`5)a2YB6k@ z8d{qH9}TERun>j-Zp8^eBOpZwGF$=<0Sb}L?I28maenUwd?YgDd}HSMTjPIy1Zc+1 z#afn?{E9*0d^WknW|({#kvK3w0EOV88-J^F0aV(v1)wb0`#WC)ihk_Egx9>ky;RWD z-vCaFCx08sLKu|a0BCxYh0s{omB4*I%WnuLq>(^y*-4R*=Aidb2y^w7k5Iayr`+rw z1(0o~iYmx`{uWwIO>%-P f^08e2{IU23J_sIn7C%8000000NkvXXu0mjfUFaKV diff --git a/graphics/pokemon/pikachu/libre/front.png b/graphics/pokemon/pikachu/libre/front.png index 234ad40f955eabe6f1daa2cc6d1d7da6b38188a3..09acd7433c1fa4ca0b51ba0912158e662665f944 100644 GIT binary patch delta 612 zcmV-q0-ODj1*`>-7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr55k0tLv0006HNklBjE6vuTDXx2$qov~5$0csRs=oWEZ1R0ES z1UjX(sD@5P5pVXUkSUAtC0o&8yX}^e)ET=KPaWI%yYxwR3YA_kZPz>`IPw4SzjuG{ z-JLY;G5#{xCcrZP8`#;9g1Zse{XO1tDZq>Ghps0GH}*n4TkArIeFBhcz&}L5qyZyI zj&%UiK+^)5oGLYb3vjYemL%v;CQ2y;1}3=@V?3Lv%jsyXd*W#wn9NSqRiu*2e@}?8 z2E2>TrWa9bdR~6$hfUyBF`X7Xj4FSiiw^Z9-Z)Va^_<&LX^>$pYDpOHpI=2VpDn%| zqd_VfJ33a`cl4Jel~R} z0W!Z+uY;`OHZ}uU5(Bf@&MG<;ARD^Ic2~MvP9b~EhBARf%v~3gq;v#C=;D8afPTOG z{)nw|>B6MQgc|49xS>DxHh>6%~=7dwd2T` z+O;;M+{OZO*^!jah5+642-=w(+8qKg#_brO-GeM2F`uyLtMlzVAL6UVHVs@BSf~$p zcJkMpn4+Jn3n8LX&naEo&d*RPhaAJCfqae*HxB{~g+fe9eMnzY92NfLK?Ce|QXX5L yB%C(zM95cQNINjTI*P0%He9)kKmOSMC4K>XXS9dxAz?BA0000soSUO-Gg0C2|`eU(v6>4{)&l@E}f0LV>L*?dpPElSm~ zB?>8F=T9yG!Fj_A^A-cX-T_=j1qZW`Bc&*U@)J>N?UwKUH4tx0$P!re*O$^Tm&>ve z5C~oY?=q2_G+fF_R}cQBH=6zuU4VZ@N@DI^8PXvGSRj2BbkQvLMH9ILSVbTorg{Ky zrG6@*B^voQgfjSjs&h*_wU%%_&!eYUzYwJdF>L@K9Gi*)@9owi*E6m?NeBwBgNNB; z*=;v~l+c&O;x}e-ERBDQpa6t+ z^^X$RzXllV0buJmTD7yS5}S=^7NBm%+uN0?k`0VMEd>V{yaMMf06m$oV{Gt}6qag5 zPw^7$jzUyT^S|C;=x`J60ZnF*q|F;t&Fsu^9wQEdtadHNW!E``b`{hq_nmS4>PguA ze!wJDB}n~)9|W2!K$QRD$38XECkvV|`+m}|PgC@8;?#2=Di4pxC!TIzA}{$r`si5S X_q7!mcqgQ$00000NkvXXu0mjfrI!`g diff --git a/graphics/pokemon/pikachu/libre/icon.png b/graphics/pokemon/pikachu/libre/icon.png index 38ce2cc69b498050086fa24415edd8670b3eda9c..c1163a16197042a8cb6c46163bee4f90b41fffe6 100644 GIT binary patch delta 348 zcmV-i0i*u>0;U6y7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr7Wac_{^0003ANkl*4z{uV4}}PL)AFXBc^(II=4LH zx8`hx>t}vA>0-CQJ+GqP*9P}iY(F64r2rIc@AH==ptshhCky-icEtZt;EoplJcbnJ zJBSE`KLRNX6b=R}0M~IEHw1zMXQCui1dd z#js*$>c9W_+0&LS?5Tdu$T?qWZ=gcir)4i!+KUv#&aH5cH=Sm|zK(N6(tWvGQa72k zA_|qH4t!&sp?ba{?njcKN8ZU$&huRpy538#Xyb6$nej>Wf4#B6Miw6zk+Uiye-Auw znK`5SM3vW}t(j_fCRZ0bP0l+XkKeASV> diff --git a/graphics/pokemon/pikachu/original_cap/back.png b/graphics/pokemon/pikachu/original_cap/back.png index 4f5d09e274c853c6f0bcf70281342ff953f1638e..da5adcbfbaf0b1e2ef13076e82ce943629eb20e3 100644 GIT binary patch delta 628 zcmV-)0*n3p1iS^17zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Mr7X256v40006XNklD;wL_w#KT~H2{e=+kLdeR}1h_x+4^jIAt$xs8RW{ zF~FlxMAAtjyJ?{Jft3(vE++>BAftap1e_;B$Rd4KQmTQ{dOQP&#YRu7QUg0{0Rbe` zoJt>7VQ0E{l%?UUBuJwc8p+Ax|;16a#0s>QQy2vds2EYe<6N*`4HCsU7>5hcNuvkFg#~q1?W(LO21!jL@&_mCl z2Y6y6CiVu{BLKB`XSKbCcM4z}<@_tD8)!J^3MkaJcp21r+Zl~qTFUI6Je)X$wD(`an z58M5j%YS0D_H1kjNCX|=J;02N08t=n0)&tW0`I^f8xncJ0Pxj10w@%M0p1e+ z4^}|z7XpEN3vSpiV6`feC7cOaM*-p_UL1 zr1njZfIpo9NCAT=f?B=MRxk>EfY^T@bHra@Tps8FgdqDHaP`aVZ=3d0tN#Y>2u}nX zIB5_-6KI}522MXj&r9b^C1tmcG$md62NLhaXbrUQ= z9r2Z)`3r!?gUmv=Mfdq#B^dj)vTg+u8$k0p%aK6uR|M67#a1f9cq+iWd=v8fG0X(n z>AN{%KSd#I+hYI<<1SQSlRg1l);8|1p8-pF(7zU*0KmIs0@eu-K)jG8m}h7J2uxu2 zI4O6c^0LXo@_AMxnDrom_NE}~Y9C-J5Ixw2Z>xU=bWbwF+A<0N0000+(oS`S9X8{m!90dnx532h5ffAdlam!$K>z zT$S&qz&-i+_#IkkwJgiBm;(Fq>@~^c9bL9JV7A& z6aZl-fcTpCtxM7G48}R?FO4rT9@fEN1PFuw)YkrpFI6xYf!2yhuVC}!J>If(fyXb$!RA;k- z@geAK$LfjBxMJJ}0@qr=nivRfJz?Eu)P?|r#r5m`5_6z{{5N1#22_sRsg3)j*f24b zSpbH1$iPrVrU>*d$&dhfg7HA)U4tI5O*dqh%?1%13)u2XQC;>p^*t7W4i#Brh+zOz zB}9s>4M5vYcPapWN(Mj&x(P@Df5MPg5dRBo=}Rg>B}x6vk-DfW*IZh`hBjy#lZ09f q?ZA_;K|F8N%@;CHZeL3O62Ab@0FvT~tY=050000K2HpW|i` z!l(Fs*0{$2pWsYBs$sco(Agi)V%P*JC8t37xx{@@1JmoeCQmk+z>^gv2N5VO;Szsn z0?)g_Ap}6A3%m+=a!!3&V&wTTbNG1`%nC>4vjyYMa@+(LI7s@H&l`?7G6>$Gdwk** z4GckW;|PHGiCyxtBj8~AS%l#GUg zwFo$oC;~Q+2z31BT)hfbz@0z>raBzp!gJ4o85+-3*v98Qm9%Gp4v||5qn1qC^NHn+xx2Chc?FPP1i6*Qy#m~LdDef!;kp;C zg_}UOfxu3NYXy^Dt@Z@2KMy+ugygh_g5a19Yna?GC2=Ud?NB_OGrNpnz%v+<L7=w*4zwO5joLQiqS#Gu$00000NkvXX Hu0mjf0l$@I delta 311 zcmdnY+{ipZf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;H6J`(978-h-%h#6by$JN zHFegHlz0FCzfF4OWxCSf#$mS8!7pun^R?$p`SB|AHNJB9EADnDFAqABoID=B(Y8 zqR}WKShYUgi}%p_7lMY;f=`cfNi3LtaN>>Y!Z)ooRMxah1gY3v+2`bTwxZAfqU!dB zb9o0DPulr=rp*8UT>9DJe-W&kejVma`PeRg;tjw4gro9)3KQ+8-T9fk(&D%BmBUBn z7dmYD_L85Iwdm_{H-#K+Gi9cUi4%Gqj&;or{u^s=!+7_Q(4nb3i#&k7XYh3Ob6Mw< G&;$VZUzS<` diff --git a/graphics/pokemon/pikachu/partner_cap/back.png b/graphics/pokemon/pikachu/partner_cap/back.png index 961611d28ab7bec46ccaa24e19457dcc3a946d80..0f8e1ee9ae6eef9bdc8b9c493973f9bdcc2e0692 100644 GIT binary patch delta 617 zcmV-v0+#*v1-k{1B$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQE24FmCg z@FxHO0v<_3K~zY`?Ug-_)G!psEs7MYImButkl2zVzzu*DD^ZLnECnTZL4g@5Tcz5< zWKOUWN;SpE*={2d<>dfq#%JL9EAhub3k9#SJ@1$Q`#;;s5b{6%e`1vD_4?(X^4l~` zZ`YrHmwzVn7-dK>rpM>0iPwJq>fwR4QeXz&U3);nzI{I-k)*d(Rmn2%Uxg(mfkYzn zGSV~vJ~2RotScMaH@3#A)-?c$Hrsu)#1{+jQMw}(kT_*8Zm3cDx-r0`P(;#6BD-mz z_kooVXD%lP1R$eDe*~N-L&ze1R#K{g(t11th{Z-vt5O3yYXJcy)SOBmR$*tlc$B5# ztRzUI78=Rky1=9*_G$qmm9f3nO~4{?)#*hC1^gs*V?E9iD_8*0nqxE%0pJg2J^}($ zZMw)UFb2Q}dlQOTVl`Vp;OUNp#IRUE;Kv<_h-L=H&IM*-f6znEpa*zjBqsI-*dqY7 zcW1S|hIa~J9Oe8gsT*iG=L#s)ws;}8*%KmoZ^V>(>` z4lZzxBycBlrwvg@CjEnq6_U;ah6`=D`H}xae_+1=3p=TxOjDz200000NkvXXu0mjf DFGmWM delta 675 zcmV;U0$lyO1@{GzBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00J9HL_t(|ob8i8Zk<37##bpQEDm8IB~o1G2+0lNP*_Uwlwu_! zxJyLxo@M@;n{Q@;ke7JI$fGEF z`&51($MH?{?SJ`KGLMn_1Y>%A9h-Q+f6iar-LYB<%)s^K3JBP*-)AI(_@*cdS?1F_ zzr-kz2xMMH9DBf521t;ou(AJOYlKH#1CXeb!xu|@w*VicJ3;}8bMoej8kHYA1KbNm z1g#{Js}j035DGDIxoHr9gk~FH8VwGQVR?o@Y#L|*(?#x77%#&NqnMTEFkb_1{R{6fuVJQndtS>G3Wpu7}*k) z0V)LGNL)hOD|xE`#!-%}LN`!yf6f(m(6psxvYnGoL@(1IiycB?kR zts*O&ln)6=&!Z6a8W`+dbE;MWp27+Ia2rLBy>jT}8-Ea`YGTfJ>qf1_OfuD&OfRK#kat-#Xk!>si1gv*-8Ka002ov JPDHLkV1oC;9o+x` diff --git a/graphics/pokemon/pikachu/partner_cap/front.png b/graphics/pokemon/pikachu/partner_cap/front.png index 6965900761f47faa1913e5deeec6af2618447b7f..eebce0a0da80f08cf9ef05794147bb39d6881ffd 100644 GIT binary patch delta 591 zcmV-V0p^BjTnQvkS~0Q_sww=PA$ zGZ^P+zGz=!GOUBa2;c_)X{^0XZe%bR<>2PcP^-HArV#K3BjAI%0i)i52O0ucApoCW z11OLj!0G9o8dhZ!004P$pDO#VC}!}>Ig^%yXg2-e~)Hm#D<`^UDQnUh{=fA zK;T+)SQ7)mtS7A7jK&ZEx43@2Ut$InQ2YX{%z?^LI90n(h7A)_nFnBKha3!5WQIWR zk_;)3Cm0Vz(P{L6ZMGr1)Eh)_EMUuONp;!d)c05fI@Dy1A%+1=of0YXHUMoq-KhZh zDH#AA=q5P)MGiw=LF^B(r7x)zl{E7+N9w$(U2|Ct8`?l?lZILh?ZDEoL9Ebn|Aoxb d`XgbBv%J?NliruOV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00IL^L_t(|ob8goZqz^!#uo|~r)`eo0Z=6T0vnX1phCPrBo{~^ zxpIMQH)+zRxfe*Jl}Jl*Cn_WtxN*Z3V7ojCvEwdou=g35-Ms{|98{5S=k z9t&}VIb^&l%d(gP3vqU|6!IXfeaaE)>62P^^|C?In?pvMtZJ(;ut zItO&!^rReMw`2r#pqt=u7u1}wi$B1Y1XzMflG>dkb>7sbxwHmqN*HacDH2x;bx@{; lq;mJXrGdZ5{rW@D@f-0jlNy>6d7uCQ002ovPDHLkV1nvs9L@j$ diff --git a/graphics/pokemon/pikachu/partner_cap/icon.png b/graphics/pokemon/pikachu/partner_cap/icon.png index 78630c66431e6d8d85540688d19e97d6acffa1f8..09ae0c691aa0b47cc20b7324d87dbb68b53f1dda 100644 GIT binary patch delta 370 zcmV-&0ge8J1H1!}7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDcL^L)>0003WNklRdh8S?xX35W(OgLM* z(UEs-XBLQ86VW7FV_X!+iFYK#Ezy1Y9r@0m5P!OC8}*yJ6(QapUawzIFGsEpuIYcX z37nY|2Pl_Qn*jk&&nUx@uDOC;7G|*$8fX>+c01_&b1`q18u!=b0whqZfbCJPmqt3; zqA=p07TKu(+OEl&Z?1aG!jOCXAA?@JFvQH21G6x6y60*yf-vLlk<~s3L&`8KZHx~L z&X?L?Y`hLMDAORfK^QW4>|uj2l%v${C4(?Mpb!aDBN9dzu`n7dVSd|>Zy(2?6>g_8 QIsgCw07*qoM6N<$f-gv%i~s-t delta 315 zcmdnP+{!#bf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HD5ek978-h-%h#6by$JN z_2`T*C!hTPUuL)~$XAQ!+Xlz?!8dKY1s^W?^5k;IiGAlLn0GKZ*!4O4)xFF<%TOZJ z%}L84m*M2@`3w*5oL9KC+oRA{aI>sq&zg_5{qhtMP?r~2%~FUhWbHr@rrZ88#)<#~QHJ6?Y; zn)aVYsa^n7&I$m77ATBHfx>_Sg#iT$4s;6un7{lRpaYC1hqnRtKy&0Dj*n7^AJYvB z5d9u@m@K)6f*P!2)-QW!3<62=ja zAyDSPpFPJ{VMfroY&Z!8&u%&A428!Ayd-4${*PPR+yVqLyOH)sRZCT+DCgrGbIZJ5zxCe= z@tGcsc}4(yNC13DV8Ani03Hz%fSv)+Tl{TmB97$Y)(AHmwfxpOJ6RRYG6EGrACbD5C*G6G^@ zwLtE2eA5!hW<>F@Bw&h4nLyctg#-X}jw0aCNGQ$rwGj~k&Y@;-Qqhe0h) za7}5n(E?zOV947uq0@^QCQ!H3A+CSDl%W#DeGgz0LfA}a01Lua0ys#bQWOEcCDeI} z84>~5u;{50&~h`G;LQXe3>iQPtmd$!nWLPvsi5omDnqO|`y@~6a$=IA5`Zl;|pgkp4dV0pz6U1o@oeP<8tPMDjZ zPM;XtwhN%SIa&uW*OxRzyy>ok02`or09d7$;!g?UngX`Fogghxf|&uf z_2(uJy&xDN+yXe~6d(_m0Hb4QA9&+(T@aQ4l#m-AJQ>h2%+*(D15gQHa8UFO1NpOQ znIP+}Z2%d;_y6KR&3XlN`h?({Z)G6sc`=WAC7`8$|IP4Y>l@O1Dc2CwWVEsX0000< KMNUMnLSTZT^)|r( diff --git a/graphics/pokemon/pikachu/ph_d/front.png b/graphics/pokemon/pikachu/ph_d/front.png index 75034ed9ded325a4cca2dedaaca6c605af0e1678..97b0603886b8d81546d3cb457592a4441dff7cf7 100644 GIT binary patch delta 712 zcmV;(0yq8k1&;=h7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDesybI|0007VNklHV%7{=|OW~qdHPD9gl!Docr)AoXx~o znNVFR%}S{i7+3(MmI_N~Rh`&~C8W#dWFfaz;$ujbFo2Leb?=t7{Tq1g21Md35zK#m zCi|YB&-Z@#wIp5XA0;mWRAn(BqrX9_Cg(`$aze&hu8j4|2^r_gD%SK8TxYNd&@ByP ztm=w{b)pG?4I9<#b%Z2L2q_5w+o}64-<6tG02C4Mpap=xO{s7LN%Ec~K!MT&aVTD+ zg+Ktb6;UKhd+0`ul6${=o!p!S8ZUprI|%yJS>1%&T|&xpKqa8mG})cD|6G!?)fBMB zOhOEEkO0e1VTaj6ENuWaNL2Cw8K9 zdp*k63-qwL^JfrwH(If$Qjq1^(}e!sq3)vW)USq~1#o+|V914fU#Jqss5M_uC2px$ zgmcA9`|)c6AgZJXK-PXFZ0mp!vxj>;lsrcOn4PX}bPX2r5c*RHVBW(9d&fBhA$W(u zf_>j)tP%rG`jFQR*7sjmSl535K;TPfU%N-&ztKU+aB)S{)o0@m^x3%fb`29X+)4Y_ z$d7^(MForLCqak=03+`oN0GJ`VAkpLG(iRd>tKk|WE_&ol~kVjfOVj)S-?323fY_k z7-8LzkRoSYC|4Sgim-+-Mu;a0Q-R6|sW?`GgrY>i^BO`4BAkX9&x$nH;|U<1ayr3@ uli9d0o`f>G_!ME9E||$Oy85yGkA4CUS=xQ0w1^1+0000ym>Y424aAAc(&IUKxPcJ`l{U0XYx56BIM;jzd5$>>`> ze@SQnf_(}Afylu=LO{xQ96W$%zvHzR;5=2m64(f~8rSDta^8EQU{-%U zX=?LH7XW$*A;yUR0Evjdqc=c^4Sr@zo2(u&%Cp^NbLp%gHr;N{KPQx}xo_1HcJF8->rj2TU^76`Xk? z1jYgq!v{)w0YVt2GOY=5w1jDb2e^O9MkOSk=TY+#2moXS9OMLs#3-yA7eN9cV)HyN z9@QP=R7#<90ESE<$jppn);~mGf%!?zlHw9T7`S-T*GC2Dxec9|p9jTquee!{=eYN3qPiuNR`*srCx%{oWt1kTa`;FVpA@Un5{bP?^+Yb;Y V83TCM>DK@N002ovPDHLkV1m_bN^}4K diff --git a/graphics/pokemon/pikachu/ph_d/icon.png b/graphics/pokemon/pikachu/ph_d/icon.png index 50357beb5b1f2434835443e6a67a5b0c5b6dc80c..f0b66bccf8441175a893f783ddfcc290672893da 100644 GIT binary patch delta 356 zcmV-q0h|7n1Fi#*7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDf-92ah0003INkl52v7@$)S)aCWR@e zu(akpAb~`zEu3QPP3IIDvPjs@9smh3#S~xf7c+W7{H=j_-duv^900`<@OO|AI7xpN zoG2qFDJ4@C0Ljn?q{p91qA;6;n1MZFPly?Sz3wfh42XGjqs35&xp$+Xm`cUi!9FZmNF(FVw{C&kSFDk;T6mzBm|y z*a`z7ZiQjFi%mm$T+pYm*0-o2v z4wW#o8Q-Ra$8sH*nYjVO3b5U?u?cLIk)%Q#S6aL^rYjnP?LfHYeYxKwWxc2 z9L&??B)4}O1UYQW?Vb5qCBb{%Vx>ECEwfKrKdWU=v16QJ{kVR@&clWVj2cRJ-Zeab z&=D-lAkwKi{BQ#`@m&_rT3bW`v=96&qU;<3-P$0 zc(3^UAa5f7%z3A;F7}?i{p0?9OJ3Q%dcTsxjdRHlXRal`oPRz%Du2shx&0D{E-+rl z`uW50R=F;FGslqn5>4|7%k6*22yOfIP;Y|rSBH8H`zNnouWbL~zW{HuqxAp) diff --git a/graphics/pokemon/pikachu/pop_star/back.png b/graphics/pokemon/pikachu/pop_star/back.png index 6840627cde2582601992a8a575b65688951f2e6a..fae0e872b902dd9b6880794e51aab2fffc2676a5 100644 GIT binary patch delta 843 zcmV-R1GN0f29XDl7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDgO@exC0008?Nkly#`VJRtQSVFd;hP;o1UUf=mHBzAvL zv$i)xmhX4p_uad9j;8&mW3)2_*jya~RGc9am0*ZOg%6Ra@F5ZaEDr&A>+#=!BC_?Q5ot&QM2d)`sb zDXE+UkM_uGx~71@Srr69;X>_!Wr2T3d%ngLFdD!H)H?7^n7;oFq46#DW$kW*&a#lm z0)VVZ-}hT4^6+t2AqjwUqA3&I_u+R8vya8*3ki@-0OYm=(GoiP79(3n-3keXNnOGs zhfv59J*gZBhmg)nOIGGu0flvx?j0@=OTLu2lEB>O-f;lHxwG5~B}SFS+!235C;b2q zP)e6Y4jpC=d*_u50jRSu?Pi=2=hcZwh`sfIf&jjEJ3+k#i9|QTE&xwYwK!p@2oiX9 z+UuruHKD42NDR0mjF%YCiifPQ;MySZgB2OZ$})2QRE}E!7;A=z5p7Aifm=3DYXSkI z^rI+Ig83W+00tnlM!L@XTRVRNDfC;`WQz`6T1hut_Y=mBBWi!{k@!3=Svhx) zZqvFebjD%=4>2uS*6*{%6r<xKvRV!@-eH-$@#asOA+we5FV>l*1dcDbAsdioIv>l~y*^-K+Y5nBHukl_rc}hj6}qwCcK(&W;Xg>6 VPvysMfsOzG002ovPDHLkV1n+Ve(C@K delta 770 zcmV+d1O5Dw2gwGI7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0008GNkl!kE|NrgS1`;5*9z~j$89!91!d`5fi`&=hfBdyz zex}E1dPYEgNI-r_5Wq8n0v-_x0Gs#J@Ik*Iq2m4$!2 zVlr1h7MuaTvS8UR0|K49S zgzE`B=x03Gjs=hzl0!o{HsBUM0Vu<&RtckiCOA4$9if!_K)+_Nv(OP-L)ZbR0zP9M zhoPAO`wR-;^Rv6N_6R=6paOpOfM)NmgaLqf4cH?%=;jY$1wkG0IcwGfg7tsYke-}| zQt~^Ct`S)q7As3w4^0^&vyg!GJ^&jR0$O5PN^CUw6&zf?$x!AluSMzae@;xfwQugMtX*)O}OOe95k- z2yA~E;#RH(WVg*4R>YPhZRt)g26a9KB$-bdc}(-XGH&J%y7UGBPAQW2Ue`XUo6NYG zAEWeLUkIdq4AIjZlOdAuak?RR|5lX(Jiav)AtofErE^V~L~JT0ytQu8=og>Q0lg)o zl&rER+ek`hvoZ+5E>*!O!Rv1d?=joC*vPEaH|2V_aZbalyx5WIoF^f+$IIE$D7h)& z?QcpsHW^F9Vp5o*=IehByEc^(6PJwc^#5A?0g_rL(t*AR+W-In07*qoM6N<$f^HCM AP5=M^ diff --git a/graphics/pokemon/pikachu/pop_star/front.png b/graphics/pokemon/pikachu/pop_star/front.png index e092dfa5caac01975e162be2f982ca5a78176f2a..d57a9695ca48b8a9c81d44437be8b363993deba7 100644 GIT binary patch delta 694 zcmV;n0!jVc1^oq(7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDhI)zI50007DNkl0n3u?o0>u6={FF z=E2>)m4`^y$t1{@gw4g6eUVX_qXA+ekOorwq-%VB3~V=~qSYLVxl z9R|Qe*Yzy{0KftTb(I5x5k+Kn=9#Lb5(x#uENdgWBok48OCX>*%)INmZ+V;shF~Nc z_0y>9x-|G5AM4*|6&eNqV+99tpr3!x_3c>?_IZf|#e>?we+{k90~*8E9KdY~fFxI# zHK7@aS}#gUiF&?3m)By(MEJ;fkn~N^MK{I;diq>B!$&4jFHZF7;?j^p)L#Ia=9jKI zRHOHX97xiFf@Fj)K^}gC0N_e;Vtzt60QbKF48aHi5Ovk{xnjqs0D!@Ja8rNKx%rm; z5X6G}Lfi*}wr2Abpe#;k#Fb0cH&0Sio)`kJNfzWn$ON+63& znnm12>&<{x5JVe2oP9=dIr@L1_953X*9GyMQ&Sk@SMIExRu?7qyp~;QId;Wqw9_a6 z%4MhFIfqWiYo#p{1$8W>(&#zoh$$;y5O}mUvFesnRoBIQ0YyO3&2Ki5-;N8W@C2$J z^Udux(aM(;@fn2xR^9|fTqa(K3}cAW4uh=tl*@Ha18?DzHRBH{9!(;jdz~dmZUk?C cZ2!`J0gvbJJG9&>tpET307*qoM6N<$g43oxX8-^I delta 661 zcmV;G0&4yJ1>6OY7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006@NklV%wGXnI_0Xz&L{P-O|_W}~}5ORJ`1L~AgUuKes2>NpT+tn6*05ZT^2F!nS zM-Kpppi#3hv&k!>Ump;X#iEp2$>mOvK7Gy^1g7Fq_c-L|)d(dA4ODl%{2{k$oMxa= zwrL3qso0Yvd2YLTN)Q#Hb>Ri)0`nhwx&j2-0V%XCJiY20fNRU(WEYSC(!{JxZ3*_` zUB5NNuPKBw0`THv_vu$LhXH_@@jd{a5y+Qa-2lYXWB?Gz06wlOgU`E~zX2>{*oHs)^0##~!mdXZj`6j8 z1013GNTKUYic+9vEB2x8E!-^!UQP=)$V4WyiMQV1di~wb0ND2+|#2I$a}z7ZEXNgxur+tG`wwD vP?*{s0%i{1zgr{U0Q?pCNdJjXT*nu%?i<9uNv3ZA0000hYZaG z15Z`tve;5Hbh9O%1qo$ICC8%i(jg%zjqM;-2E+{~`PcvZbf+%}{#f<4jfI-8ru2XG z4$D!n7P?_WpjD$~@fJ$9TldNe+Ztn8LPJzK1}b*s*g#9j>C;66`Abp|lG>pF38XEt zQw?M>6v#PD0v+VK^&`s%7Q0AW!}942H*OQYq3_r7Qab^^!d}GAalwQVk#^f3Fq8D& z6VS)i;im8phBV^(rz8H4Li*dnot|t1!%o6v3Gv-JKo%GkaKSO^nn|b?rCgX*KLNAI zOSUVaaKI=7EQ8(yX5a%d?SL6*xHZr_U{D4{1=It^06ad^IWXJkT>8MUY9+-Sn7xP` eFu{@iG9RC@*RQs1+;>v|0000H{i09Lk zdwf6nlK^I5C1A+F)jqQO*u$N9tw1#}X0!ruX9H_cl){`q9*^+C0eS=Gg*j^;f&G7& z043|ZO-7)_B}eRY>n9{dM1MQH9n=ZkqP$)l#AKcw9l&7*vF8-1+@!hLQR^v)Xj`b9 z!MQC{9ZqmlTq$Ffli=BC%eJgWXhfW65X(j9>H3T~%QnBMPyK@$E>hmayMFirkg^oYwYGDP00000NkvXXu0mjfuau$! diff --git a/graphics/pokemon/pikachu/rock_star/back.png b/graphics/pokemon/pikachu/rock_star/back.png index fd86f4d59ce7f92f0bb577c4d356fa1d678c4bee..4609337111f831bc1cd1ba0547db1e0e3ba8afb5 100644 GIT binary patch delta 744 zcmV7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDj)Qcw&`FA>}Q40O^VPEN+Gr- zLTC+D)f@a@q@^HAwst9GYJ>;<7yUtTLCp}zC=UihheZEN-|4p{w_4k;@mco!_+kiE~OjetjfCAI<-n$}#!ILNe z#hh@0viOg!@4Ak2c>5o-ezz1XfLnhUoKV|_?|;IJCs%`_Ky%8!Xb3R<#P|J$Q3eDA z%xjWP;`lxv@x9Dapj`x#-g08WeVD<#uX%^K!-y>p~20&qRM>v(H7?nbchGWU{^TmISg`V1N zbSH=OVKoj{(#p(tu9yMNCfY;~n`kw|VI$pr$m+~WV^5<@o9Ov!-94=mc2t%W-sZch zmlARrKo3$SZ1gVafYbYYu4TAUYw(cGyHi-3RWb==ok6Fb* z3%0a8VuS4*ZN6wn1@TL(HX>Qq%M2K*)iP};6R#_MKnpFdffGx-s>Jb@PO4Y}=onsB zfz}R?j;`I%M@5l40KFUBQ+oL)K+tu~eHPq*p^56pC)HFnhjIj8H_MA1 z=W9pr9RsCj?wR|xJKh0kdJi%wlUkV+jE<87JDvyvjM#Aj)ExwIR5E~J{WPagj?;hW aG5j0hn^%6C-yHk^0000yE7;423N%L4&;i>rO9ptH4$!CiCZQCse;R<&YzC zfCKWnwrvUuI1w<$BWFa-XLCYca|a*`^dHbY$g{T^5x)YU0%$u5;Rx0Hx&7&y0N{l4 zOmT#(oxm0v0}wm~LiTwEV{Ae$V5@((xmRK zZ~~ARP$}#?DTb7_g)abMXw^{EuoIe;2N~s@2kMs8g;2AE9ZKQ*%f5pQg@jT-&Zv7i zLI;Rgs1!YR8IM6pw6=BZi;ZOv3?TMUWZo=K2pAD8B%2+U76H=)bI}5N1k`^jj9v8l z9s!)}uk>v#c#?N6=w83*>*E99wz>rd&+YgL6;t?fe~TOLLBSEgoA2ftPdd*`ufT7MLyBS be=dFiZdxdxND4Uu00000NkvXXu0mjf*LXRU diff --git a/graphics/pokemon/pikachu/rock_star/front.png b/graphics/pokemon/pikachu/rock_star/front.png index 17a102c0b32fad5a4c26c1e7395a9bec3c232180..289b6f4cdedf9b4684dea36af88465b4df08c108 100644 GIT binary patch delta 669 zcmV;O0%HBN1>^;g7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDlJ?M_(0006(5prpZcGbj7K|5ZG z7g;AD9z)Z!3GEs@h0r?SNsQ3<0r~-!MijOu+2eXh&byc9i*(iyA-fZ#?KKY;X7_*p z<3Dd^-oBBf=lIKzw*d+DzX5Ga3V189w;8{{A|P)(3~`NtCja4zyBhK$-Hr z2q*Ej3PG?b&!IXYk?m9fCS`!{Y^L(@l>qoU)os1gwP$sSFGm2(sA2!4-RtWm=1xW_ zbRe}D*IJ>S=m5>#I(kbmpB4Fly~YiU&~8_|Nv zC2mpb-M*FEu~nH0fS!d;?|u)MW!pWTWONR5F*?1&{l#c*TY^RKn(QxzZ}!=UW$by% zi0W~+!%VzqGK+CQP}OmEF@%3&veVD7k(De8{+kTT8kA;RjE#`23oKCPB7J7|(u^T3 zDFPBT^lN5!Erc*mB2k0MJ3$qZI>s0YJJ73qpyMEf-D($aLVKbGZ2=^noEBvG#0*k= zfDl&@53#|(p0Aa-Jr_I3=>EIR>tRd7M9&x7zr-J_y~XAlHa9!~000R9NkvXXu0mjf DiE%II delta 620 zcmV-y0+apZ1+)c_7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006bNkla`?a;dXn+JN_u> zDxWSI{)6C}0sM6Vzj%(vvw|$Y1fX-ybCppRSq;ns&pqY@zz4_+-&B?53?Bl3$j*PV zu$pNp>F!YXpQ1blW{xv0_4_PbEPXaEzf`d`uOeo(S5?y!*xU36ezXVQPwlITd@S}i( zHPLBi8NAgl;B`G63QREYT&p{zBE)|y?(;GwsN%Z`AmeYXx#s3OJSu|ufX^8%!eHhC z$t|~*TJq~M9K4g?+hH1{3q#Z&zIIPE z_`^Lp3{Qf{&r^8k{TCxixO5u%3H#vpQTakZ-u~Wez-A=e09VgEXFv@U3<-aKCaq8q zmITF7HziO4M4CQ>$3k|#>KMccg9hb-l+^sXs+TY~2QIL{U;uA^NfsrD>@C1=ypi+j z%O8gux?n>vd8(VI#94|d!2VI(cpVs*-5sz6IY8Jk(Pf+^76NpB-T(&Epy&X`-Yddw z@(Lye3GX1Pt>P#UFCCHmlYv+#UrlHo8~PEc$LyQU1ugxg&wR8{ORwU@M-N>U-1?xU z$MBuyRr}Bn8ErR{{MdX?5A<9Qo)gkI4=%*HF1+I%{}Nx6U>5({r9(sj0000-7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDmq~YIL0003KNklkKXh0=o_0#hChTXg~Lac|v5wpJKq6&9lJ?vicU`Q-B&sY~cIP4x5Omj|J z@Ni5E9$L&94}Jbr#fQ%VPb@o=QOXjhQITOkq-2?;-)D;H9tLF978-h-%fGlYcb$( zJzB`j`RDijvW)C4x+P_s4JJ;V{NKwu>HfC8U)z};U7jGlPW^NTw*#Zvq539CUAEc2 zwhJs8cUdu?xIQ)JNHKfG9i}BZN(BKn>Cb*n2srO)Ykum}rTSe@eXMnh9{L~s*3)oB zIpXwmU6-v4_Y|My#4y?)wEKV5&Eck?vc7L8Z@X+ATku)+r;DvlaqG!m+VjTg$?K_~ z*mxah1l@U2zVFwKdsQ)|%|7W>zmq?PmNa!TN&Xf5Yw%N+N{nMF$tDU;3%Ie?I@W!{QSvM5n|YDBA}N O1_n=8KbLh*2~7Y5Rhnb~ diff --git a/graphics/pokemon/pikachu/sinnoh_cap/back.png b/graphics/pokemon/pikachu/sinnoh_cap/back.png index 24d429bc42e1c7d1570a20d91f933f53a92cee32..7dc1230ac03e13abebd32bdc12fd5ad632f17c6f 100644 GIT binary patch delta 609 zcmV-n0-pW%1gQm(7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDn)8_Bb0006ENklR%UwlV9EP1>Z$G}t>2@4Pb@mXQDP7o*AZ{L`QEFGYV* zJmueimwzYo7>!R*s;?i5EgCm}^YB1BDX;^@2M37g`_E@2qT;D-TUF-KFR=(DBAJ&F z0ADE}LGsqb%U&Z+bPYhFE05oH!T@}h?g#@U&gK0bGb)D-com9>21%56DNHU93$b#! z=n;UD)d8?B8zGBKWy6@xn@PnhfVh9ym{{9r;Aku$fP`8z>BA@-w=P~~X;_s6N!3Op z<)aNOS|U>$n3)Vch*-cy;%3mB0c!Y3*ui+*C1SV$qT3$hb`t>pu&rl6U`e(vDg(?O z@Wq^jdY6cI3kbYD6Q39_77+OHOada^fqAfjof!3HqA&rxQ4$i_24o08;+%h3Z7=16 z0w_m0_ekmnQqH*oYBd%o?*RtN%@d~^t=es zxxj3mHD~H7z*9JZABpR6R1U3t?++qXP3-xp^V?JsJJBE9IiLgu-KK8F%j0Pqv#m|( zWA^i;nn!c8)XNckyee+D8467xz_SZ5g`dBO+Y(oRirK)@1wajzRbx3{0eTx)0|}gD vWwjxaz@+;iLxpH?fbmKjc7Epn&>z?@gL(jwj618n00000NkvXXu0mjf%GV8b delta 559 zcmV+~0?_@b1@{Dy7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005zNklX8E|eVAP4w-Vx&S~x@4($LRvzIu@czYN9BJM zA%sk%75KRffj|f$WP&dA9&tuAKop3&fFTru(BF6i8wx=M@YMzaDO7?1-V*)~cR=bF z0@V!MhdIyz$U_@LR06s4W<&yd1hFjHoJ4NEw*g|CTId23)D4*cZwZ7}Lb!nXHzR^_ zA4fn65JVBS8il?BEsOzDf69@50cn4EXa^92?C(GvmpR@x{imz`2Y4d95!QesC7>nH zJb?l@uOe6km;o~2XTTu90&*%7m?axL6@)DnS#_;CQ39$C(Keez1$RGLq*bAu(pkaa)Xd{1)<(a<$ zNFQVthAn!|?=FGvw`z4Okk|m4&sm9tcE2H*25z>}5cH|Q<>k9j-j87>Xq|qTBaBlN z!m&LCprCi50f+P%;970t`T7M|2`~Eh!W#g2mzKcl1PCBqXeBJqkOByo!0B;P??mHe xQ-tmFtVLMXiv-r2Zm4sBtw0;}VjF&~{s1|5JN;t$euw}7002ovPDHLkV1gY~19<=d diff --git a/graphics/pokemon/pikachu/sinnoh_cap/front.png b/graphics/pokemon/pikachu/sinnoh_cap/front.png index 91d91acc28c36e79858d2d9dfcd2ddafb94e328e..611120c3905f6e4fe5f660d7d2c6c007fbf4497d 100644 GIT binary patch delta 588 zcmV-S0<-=81e67k7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDoUhd*L0005^Nklg~}8u zl03jY01~N@?xb+lBG@8HiB`gs61GVE2KQ8q?FDqn+!Zu5H(IT-`+xdp#vVJ2J;Z;1 zh$xC4Kfh0xQl4$}-TJHggFI7Lcj=Gfi@KJH2UZaY)bir|QZ<@Iv3#-wk{9o5`BH5g z?P|#g;G?YN(`KEv-w+^5O*XM?)~YG2B@I}jP*&S3YweGW>NVLWYO_u&1ddJ@yLlIv z%Bv@x_2V2+DT;^E8m|jG2a>cz;Prnyd-OkhYiBvq{S5;7c>si60OCtE4lc!bGMMM+ zKKH&vHSL1I3=jtY>8$;!u5~b&j~>Nqca2`EUw?^mzVNz=nybECVnNQwfGDvOr*TNv0gg z6O0FphX4%2a;E~|r(^}i9(H+iVV&<;Eg8^o(#-+v+V{Nbha aFYyc7ATyt((8}%r0000l(+U1Bdg7m(V zj`D>onh>N3MNI(2PwbMHj+_I$>`tZdH#pgU)K3UJHh5FbJd6ORsWf5kXk8&z8uUrWKr#0w8?=QX7rA0^EP~@~nr$ zbT6uf8$jAXpeMsr!ICd>91@U=fy^IC{StuWUG;JV(3XF00VV{6P^p5qHxu%<%^`_&r_0>|fOqtKm0=s1 z49{wTs^?=w{m9U4q7st%_&*{eZ~WXGk$=)Z@x(lS0Hb~+RoE-NQUCw|07*qoM6N<$ Ef;8g_2><{9 diff --git a/graphics/pokemon/pikachu/sinnoh_cap/icon.png b/graphics/pokemon/pikachu/sinnoh_cap/icon.png index a127ebcb3a045541b26754901aa34d1b676005a4..081ee6aae3a6cf20fa6e1ebda9c2247ec9923159 100644 GIT binary patch delta 360 zcmV-u0hj)O1F{2<7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDpDe2Oz0003MNklZt~5Ji21IZ}#v+oj>Bgeu-{w`02GA~{mT zDX>taXqLi=W@X1n7z2HzC~nX^{jr$wQ|eEjFdS;R?+A(X@AEg&M=Q*+7>fn?kA8m! zRO%)2`0m*ZYSaseS8!uO(0XZ^8pF-Ck}d_9*@&$r1ytZSIiYZR{TFY`C)Bhilsmx# zgIfUsFR!R`i|b}^F7hlv!vfuAKzD{M@0)quN#d>B1!$n!fiR-pFOBSBi%Qf#JroYL zmp$?EwTF!`^eH{h1|?zWtK}K2!cbJ(a&uEz7#};#Eek_zE^Mqw3QQdR5%@0YKod)c zGGt*$@H`@9VW>oH<4a~?M!?`8%oPV=Y;_dIVkgXR`|$&X(ywgtKa7q50000;-)D;HSaxL978-h-%h#6b;y9n zmD^0#Y3I-X`%Qg!Z&ZzR_~3ZZuJgG>FxT=a|0};66!$TzoH}q|+sB8}_jZ4}o3JW} z&1Ux}O^)^9&DJ3qz2$X+6?zJLPR8!ATIa!fp}_XO8f(XmkM)J>49(ou1hHDp5n!O1V)c7CzfFe%|*5hQ5;N}_RVTFtZ2loM+e z)TIqnpX?D)c>e!0@AJcdH!yDeTfk`e_XFe3Z-?2Bd^yaj@~ZveI{CDt+4hHQ=KK<5 zbGc^stI5=WThq=q$u=Iej$uB~8Pt|8K}W80aBK+iLHy85}Sb4q9e E0Ao0mV*mgE diff --git a/graphics/pokemon/pikachu/unova_cap/back.png b/graphics/pokemon/pikachu/unova_cap/back.png index 2191a0f4c91a5871b90f1b9f82245f266f256aba..3c7d7adfd37388b354b4a4e5e32141b259bfefa9 100644 GIT binary patch delta 627 zcmV-(0*w9q1iJ;07zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDqu;7Ch0006WNklrWiTfZG@t{901Mu3_O1&{upSX;5D}A{qleRXFC}}{>Oh` zjB>qRzx-2vo2KdQ`t$Gd&tx8>3<<{c_&hc7+RtA-Jg`;@%)q;A4@lUz?zfL1|ZR9yN{OmVgWu%cZ32Gr|iWIH7Z{> z26z;TNIFSmHx2YYuoB|T<>Y_>WVC;Xfb(PsS)|WON;Obgk7od}*yw3hYG7wAAb^CL zQ|ZGh>`WJrvNW8P1ZmVlBiUOQn6$)REnuWFw%57|SR}4Gz38BTpM-9#$5~B-I0(O77GacxFZqK%)r>Wz)XJ(dgvMS z08fm>#NGgV1fcfrthU$iP63RgoPQ;C0}ba~0fpKYFXVO{xs0x7_XP|sVJ@@6XGXLj zi37V=6X8~o6^_b>1f=Ilh}H*2d)Az)Q9z(@gfME~;S8ZNuKQDScmzVV>mUU~iUsIiinO&fPX+0R;Gd0s8p!mvC3&0+3S| znA!*^Aa`m^rwhQr1=z(eqoDt2!*~Dy N002ovPDHLkV1j2F9gqM3 delta 564 zcmV-40?Ylo1^fh%7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005&Nkl21r+Zl~qTFUI6Je)X$wDu3qk zAGUj!%YS0D_H1kj1 zd#7w8gpi210za1$flvq`B!Uj`9$-dBfG7|(0Ybr9b^C1tmcG$md62NLhaXbrUQ= z9r2Z)`3r!?gUmv=Mfdq#B^dj)vTg+u8$k0p%aK6uR|M67#a1f9cq+iWd=v8fG0X(n z>AN{%KSd#I+hYI<<1SQSlRg1l);8|1p8-pF(7zU*0KmIs0@eu-K)jG8m}h7J2uxu2 zI4O6c^0LXo@_AMxnDrom_NE}~Y9C-J5Ixw2Z>xU}2FtkZv; z|Ih!-?2h-M=q~<4%;)n54{y_j5RZ@L&HB^DTOnSY-lX4qzPLCN;)w-jO9~M079TK& zlF@QieVhXO;{C+}t59-TRaH3!_JplL9mMq|0+IsoX_ctV7}5ZNLzN^iPmM9ZN~+hr z!;|FrATAK-twY67<4HHwD zdtmIw95hvAhQMHxj46vklp0yFmoU0=BG{RF?xz{eVTFLrvD`V;n)( zDUl-YJkWL1o$`R2k`d5>Zh}X{pU~tH#Qp+X`jARdNi#Qdq|Te#HkZ|~p$*zrr@j_V pJFwJm5Gz`F`+>~TyFaCWiQnb;k_Jye=AZxo002ovPDHLkV1m&+4nhC` delta 566 zcmV-60?GZO1^xt(7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0005)NklAlp`L(d3q!6-!>2+PBB^yqFCtsGbhFO0E znU*jKgerRwf^!ZK=>k910t624d45bBc3uS;_L)x_j2p}G5L{p<=~q5&IO514c!%!s ziB~i*IKh=80OBWh$;*zM3!KbOW#KbKnSaj@3|uytsb;?J1VcgOBhP2X-Pg({VHFDEvD{kAS-C#FJ%a?L@We2hfAiW7vD~)*txbc7TtcSyN zFKP=nfoubTo($6prhJj(E&;h1$o!GiF9As2m6s!cw*2!JU_wv{l~wTcW<#E~T+3Mb zoWX@H?1PeSAR0eSKy>7jrHy*Qc6G=|d3z1I*6+jGN7IMf;9>&O)8*~}z&ku&W!Oq4 z#k00R<@p#|34xtZ~WZcEC0lQ;~V4n0kG#Uh{)%iiU0rr07*qoM6N<$ Ef{4@#LjV8( diff --git a/graphics/pokemon/pikachu/unova_cap/icon.png b/graphics/pokemon/pikachu/unova_cap/icon.png index 1dbc18cfae63e36b50e6899f3ff7bb8de9c38a5e..b6427a5ec2a731327700c9311b01f42934fb1867 100644 GIT binary patch delta 367 zcmV-#0g(QH1Gxi`7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2MrDsS%W4c0003TNkl(g#{sT2Mk9Z;>8Mk?7N z)9jxX*`z-=Yw~&1BM3v?@n(=0hE7|~AP0gl)Sa#%2y^aU9f-nETR-xR(%J_`=gVGW zl3oWITP;!8C=6-b53o@fDo`o+C!;U}P$Lm$heQ}vrot$!g!yehegJf%qDDPNr#1ip N002ovPDHLkV1h<=oCg2^ delta 310 zcmdnV+`v3Rf|G-pfq}s%pmokfMf-Yzk|4j}|7hT>;-)D;HSaxL978-h-%h#6by$JN zwRKj9!pZ;t-zH62H_OD}#$mR-{!71`^m3>#RiEEB^Rd)M77lqKomT(4*V(z@O^WMT zwwrOztBvcld&rxypP^^#wT-QFS~tJ+c64Fo@JRYCxRT+K?n-Ok5`x7pqoPG5lrU(elo*E9H~^*8T-Mm(4E}ku2i& zSj5P@Xor8N#=H4{oc6uxk5$-h-{W9bAJMqx-v*|ee-c?9{Y-w{Yrjo2ynaX3jvt3b zJJ!_xYL01)`76l5QtG0hBruDOlf}sW&Yf5Pe?4S9lrQwfQla8B(DMwQu6{1-oD!M< D#+H(v diff --git a/graphics/pokemon/pikachu/world_cap/back.png b/graphics/pokemon/pikachu/world_cap/back.png index 91f26897e2c2d4612171326054aea4125643cf11..3dec3e4bcc2e8b973b71104e8ba83c67e2914f5e 100644 GIT binary patch delta 585 zcmV-P0=E6P1+N8=B#}W-e*gz`Nliru=LQE24-`O{7h(Va0uo6?K~zY`?Uk{PoG=iE z9SNN%LlRvbxYhM{G$}X8ia@EaOF?n5;4LW7%1Ehl2r&|`kQc}UM2qC&9w}oRgN-+7 zlj5eaz4P(UKek~Bd5M1*aTG;w{+7Q<)AT-i|EK&bna7Ct1Y>%9f1555yZNh!2i8b| z6-Zw@K)}9!IU^CI_eqkdGI#qDlRzSnc^Mw?i2)KMN=)3WHNsNY03@31@Np#!z(?th zP(b3Gy}PDH<+uRfgd&1Y64`YHy$ggw%v?@d1R$e@2h7t#$Rd3fQ>yc3r@|RPY&LqD z#2Ppl3kV>g=2ZGHe+q}^1(2m-RuZIA3ypmKVFQzvsMP{SD&yy~ZUQ!mt4=REDBu^N zN8@po2w?+6vmE2{5CHzL%tt_ADwi&D1B^T1gSiRCDiN+05O}&Jdt%ruAn^T`cto`V zV`l>^G3cRZ&;vX%;uG}()CfT7+*xg};++B*M>+RO>IN##f4Kq*wJlD_?Kp86UC$m1 z7#hNCCd6k(v>=I=J*tVYtH=r`ka7r z&tJf8i3>nZKW$)YJfMKwsxh4}0Idzoo&@e>ZnYsw&!l^hzCzGBz;K}rJ3sRO=nw2S X)HuFLDduz>00000NkvXXu0mjf*xCl$ delta 591 zcmV-V03EB*3e-7U2ZqFgw_re5M(WfcFjc}z;~&Mpi@M4T|vJELMbP%7A*ph(P9Toqa{?6K8q&XmZ-f4@g z&TKj;;5VViIpbmx!V1X7UZed80AJX(00hR;PLW$3ga>?@|Ab;DnsAALz~cwv6T=z- zfgcO764e5T&IJ}?Fpr)=5Aevyo~SKQBLF3F2@|j4ody_3JF+P=K*c%NK%tLiQ|dTQ zTvgYz`vQiBFqa8`@f(2=6w$JKy^wAf)#0RbC_rT%rEIo-!{~COqE0UI?08-OLf)w=aU`4-7)tD z2=ICZ`khV!?pj;`a_RzOvjYmqogU-)0?@j^w6nmI%$+eRWVs8uy~w>o&~1R>!WgbD dIC&{W$RE@=zDZ5lsEPmp002ovPDHLkV1jzb4lV!y diff --git a/graphics/pokemon/pikachu/world_cap/front.png b/graphics/pokemon/pikachu/world_cap/front.png index 02b6dd7b87d8a82e79ade0e8dd0cbf72cfeff9c4..3ae7694553b9c1d9420cddc77097486489db7a9d 100644 GIT binary patch delta 555 zcmV+`0@VGS1(5}iB#}W-e*gz`Nliru=LQE25EPBV8T>f#V7`DOc6OGIFoBd?34Rw} zl0D@z@2;@1xyQ21?*GUCy_dXX7`u-D5GNS7uF|EvlRZ?I>rK-Vfg&j zIrpQcdR?y0hA+Pk6#}Ez#WwBYYzXR6XL?G2o5KOced$clg-d~-hZ2F8Pu&=PYUh$1 zhutRx@)r>hZU%^Vf7R6c6w}cl&C$Krp~TE?qd@`)ga35Sea}u+G)Qs?^Tf8Y?LSBa zf)u_<}_Qj6uQtuGKv4A~q71ia0Q$Jx5=+Kfi z#;_Jln-eL@J_3C|->C?MDY1YKbQ1#pgdwjW{ukKOmsE~QUWAz=b9^@Ysy>zC5M#Bat$GOuI%(a`_^002ovPDHLkV1mE92!j9s delta 564 zcmV-40?Yl81)K$tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rg2lK~zY` z?UX@_(?Ar*M;OXn1efk77!}>U*|4Cu9D*c}lO}ucYztof1O>ZG0y#;Ad5|w)#G5yd zW+8!h>`Cyu?3|)_Y{#0 z5OYfJx-Z`l@v7ivoi9$iufKLV0loFrI-KIPbMD?3%@6?hyB(R^42|;@hQQBVM!=hw z*t@R{Vo+nZ`Ak4^?g51pKwacRYfB9KfUrh=*|-*?aqR;FKpFafrAGV_oy0yMsG-b@ zvC>uhQ4`<-0^prF0i&OS18N3X5&$2b189g9fc2AGJuHjb0{}67g3zCpg#<9xg0*|U z?Gq47*sE7lU(5<2NAI`2s3*RVv5@EqI%@^tT{{LHf%Y9 z+WLW-poEI;(Q6#RR0&feYdz4m)0^^u+maC|fgeJ_Z*k{LQ~Uw8EFcnclGN=S>#Mr5 z!=)8$_<*J{iSNbm2{Q2)B=hF*f9akSclu`uaSg^rGOtPx!ctKH0000BANl$=QaWKZW{`6e>VYn-rX1B5~dI# zaRJhWM5SN?>WqS{5df-L6afHm5k!bw!LQJg2r+|63~vMgxQd~Ei~uZks9$0LV5nao z{+wb7p6mMf5d*fV5AW;Qa7)oNhtqnz_!4|IM^?swZCDnq5=<69CzM1#c{~7yxSqq7 z+ySP__8CZ_$4e+5TBXWo?Y7a9dQ6AtW1?)gu1ZhHm29Lb@^=Hb4S7N?d-vd7rQi3*7n9+)Cp0pop@0A{@kCApb_I;?Mt za0_#akT?Q0ghZub2Ks=1g6t6hsznq50B{sUicG_|Fp5aAfLV+$1OPaRvA&N0Y;~-k zVgO*QpYN`wI0uh)y?cuR*VNnB%eyh0i>BG`FRzz42OrIjmoeZP&Z1p{W$`(oyaqpN z5D75FX%0svV2m%qNk#{k^LocwC^GI%$zqX5LB{0(ZX(zGubFUey@p;j$dW>eLH04tpefx%ddo5=mkp(d4+5!UY`_Can1 x))259s3kxy2W%mB+MUGjzfKFnr}amJu}@^4rbI+ z@7Q$Lm;=*i5$nL@F3Ogf7{Zlt58E@iCs;;Z@&Ja^BEr=cg4Gp?&Ar?u4=|Hbko&j% zKW6@!-JMKM`p0s|fce=N;Pd`ejsSBh12&@Mfx-7<-sgbn;LD4ce+wvGd5!^7z}xsQ zB+wV|jO%SVzzm`Q=U)1c4F_!Gztl*aJ6PuAylUUxK#<=<^0!ED&T?ang^U+#sP>~ ynKBt2TS96px`cq}!^Xh%h#=xKivFDRS2_a41WXYwjtD&f0000t~GcS9HSoj0}Po(gw76vQ-{Q*|6DJB zz38GzZ*9W>yLW$m*Q_6?F@H?$&##)~mH-aM zm`@8Jal;gisdd?EDnJ0J-(kp-c}%eW7yBCkzMs`$Ki!i=YN`%bouUX=>nB9)B5DT0K9ac((Jdj=U zfV;~$05PjlrlV^rNKH*g2#7z-61Y2Ji207fo|FDYj&lUX1WXZ@+rf?i0000O{4HFhf;VTmW z007oWL_t(I%iWSO4#F@DMRNnIg&8Y30I0BaV1ScW*|Kn^Tp&#YQ-_+u(8R99hLG@< zC;uq<~d5M&00rrvu<24Q`e xEyZNeNd6_vyhfsb3zH0j55gchv7xW}@dRT_b3iBLtC#=)002ovPDHLkV1iF~XBGee diff --git a/graphics/pokemon/piloswine/anim_front.png b/graphics/pokemon/piloswine/anim_front.png index b02c23d17e8ad0d317ae162fb5c734a1cbe88ed0..3c52661e419522c0acbba5b5ba2c89be0a2ef05f 100644 GIT binary patch delta 1029 zcmV+g1p5292-XOYUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MrV#aHowz z000BINkllrQHA$1Du)QS8y#!N0I>}xO*aNmmlM9ds zh=DwTjH|X#03+Kb0WQVW0rmmz0KZE}`SzBieq018f*fIZi+}k{&QK!fTf_KY4h!SS zI1mzA?qr-08oQHm64H1i{vzoBLg~m9i)hY+gpN*Oc|1;&kd91&i3m|T20X>Pkq=}j zlKV8GJ}_5+fi>px3Y301uz~{Q(<#vYPJE#OsXLuxKT8fImjIQ}%b15mU8K+fssXDZ z;CUz3Jz${%i+=$ikpX)cke+65D@~dtQkl^@Eqj2nPs^+aP^kn;cT<2b0MLLJ8nDs< zUw#)Z0YwLBk8?pp@ljU`<8)d%YL1CGvosFHxw3DDfpA3&lJK_z1dywMFCNv772)=<{kl0FT3Y})Q|dJ9(-Ao}hR4%~*3Rr~$?A=o z>Qh^y*?KA0Xq{CF}hF6?n)K5Yjd{UMwX3^9K~=(u2jXc);* zTYVCQ(Y|}G;ko0agKKzXqWS9v68~cZNiQ0R`+x5nNNij(kn)m&l$Q*oyksEmw1KR9 zisI>lp##1OK-vcs1BrCNv{eI1mji%oAXEnsNCqMrecT702NGZE@iM`ZA9a^zISQnC zCljkuSwRwvi1}wu>5888KG{z9hq>|!ViQun!@QOdgg|hhlvc3BHbzwJCnYgBLZvbp z@PE30E2x$5M-qhy@S4h-jjitDKrBxPHw-@pz$}-lFtJx%k(JE_gItpZ#=OJUmGa8W zoU3HTm|Y~*7RO!t2jys(4)QBtklj=k5);^vx$0Iz4O~&cIokuUjODHZI7gu<-+}NC z#y@PS_(27)nqNLD3fL^ObC%13!G9$w3VyG~W&x8|*dVLde3}beCR+L}gjWvteSyA5o7dz?S|4_M`>52tP00000NkvXXu0mjfetOqy delta 999 zcmViFI>>G%2R91aLuwb#&zXh^#k#ol~E?% z3P7MxfdC)XhL^a$eTroT(OhM>J15so`|I}4 z-~Va$Rp;jpm)55Z@O{(%vHkh4rrEWff0~C&Ie^#fZohl~{$+F6wJrh$SNgQ;!=89G zh5N(D*3I2~%IlR{PF&bS6kM~6D0ug!gB+# z>JP2BUVrb}6{(5oMgohf>)NuHJ@@}_U!|QrBOh#EEdCRS@Z*L(OpH#egGc=kpAZ-r zKf^tLAjBB(z`%`gAOw9nF!}-ec;Xo6ZfCx9;uwd&r74h}9G|H`dWz5#hyi?g1!4e( z0$G|s_8g!R2B0ety-!VnEDVX_>jFau0u_Ln34bUGB+&ueRTao=+5^Z6gy{eQNr417 zY7;mb!Hc@QY;Yu?=*nCU07}O2I=ZmCJzN{jFe5CLT!=6QBzw51TsO#zAVG1dyFy?@m(iF~al+Qsu|{F%-bFU&+%29 z8iYgv??F8P&v`LX0B?^H*lvdi2^Rq-GUdgzz}yy5=C_5@{r3J zR>WzZBnlA#opLzgEruOB4JyT47}Bk>?n2L1nK`xpOE VxtsEoLcst4002ovPDHLkV1mHl;_(0g diff --git a/graphics/pokemon/piloswine/back.png b/graphics/pokemon/piloswine/back.png index 331388aa68eb0a235f8b93136f6ae1d89cca25bc..f7f9d30a1bb75a1e85cee9e7a024f6be79faf03c 100644 GIT binary patch delta 336 zcmV-W0k8ha1Goc_B#}W-e*gz`Nliru=LQE26&U#gp^^Xq0UJp~K~zY`?bR`EgfI{V zP~>8(oB>5nL`j3|l_G7;8COsE!U56{2ZCQlp|ktpGi!P;R>KLAU>sF zjzEFSftCX%?!eUJyA)-K%{lEE8Gx%mw3hiZ4>hV0000-c@U;fA_6!%y{OD}a1%JP0(i?_ xC=-AxfMXu`Z)nZdfl(`$+KhO{4HgCL_t(I%iWSO3IZ_@MRSAP!$xF#k2C2^m*4H)$D@d_hY+@PVIk=pv(apl0ekg# z^ZD}=hNslGOS70gTE_!!t^)>utrvu`E&xLbAgPr2G)e;on|~36k=|?!B*$$X0mj76 zf$~Q}2r*)cq4ze{26+44S$0=;eKc}pIbO!0xA6Cz;Pbdl#HB+$Zrw!0eAAunjz!1$XFeetkkO0PJAYQ=OikB4_ZVx8LT2BrQ!SYaay3zmu O002ovPDHLkU;%<~J#I7r delta 228 zcmVB6gQN>miXRQRzS^FC05!!{ZQeUo)O^6Kv)>h(2T!cT) z@l7Cf%b(2P8i?F$pmz-fj|g3=5{+Ht?5lW90FQeWXx%pfhaLbue*<`e1NE`f41gzU zqNwH5Ga!q6R{{Bo8$huK9X~|)v`afJ@^Y!D&3hsCC#OAPSkV#yUtvE88^LBQ5L$5N z8wFap25UJD*5-oqU}7x45<>+zV+GGQMu&)ESFZw635v1+tgRiS&xw4CO8~ii6adUR zMmiOtY@h&_Pnpm@e}pLr0y-L)9WX|b{;>g=)c|`?M+38i6Hyx1ATNQ)tts3+&C;p^ z2wmsR6keB+!?==#4G>{Nup+l|XNh49MZfe zEVmZ`@YnwG=lucz>h~LfFu-K=Z7oxMo7TXKEkIaRKxjCNN?~MlAYGR32iHoH6vTru zjy0IeYg6q9Gj5E7F=l0tIfcWS0ZVE?WaKObrNrFtr_3?dRt4l@#1u?m1#ksyp( z!DcKGS_mFk4LYO&YqbsD6;g<>0hrZdsDa?T6vf6$h#B$B6p$%URt;cnkH^?!sy>nm zK%rhG0Jk?6v#E?!fCfUnRXHsppBK$H)`DRq>eju$1ty~}XH5NT)&M_o0OfT9Y2Yk@k(EIEJlid< zwWJxyJ8PX7FjtQ^O?@8RdSWmkgjX4J2K##kJZ%6~rFJP9qxN~H=u-cw5c&a7!RBNf Ser@MFP=BK+Em+L z^{n2S0tjK?68D>`TF;8wWDqhA0|yv4z`Fqu=RT8c_fhSjeglnj>79ibe~OVQfFfeT uyEf)Cvn@Egnxm{``B@u4#N{9Ruk{6Yj)3alfbX*a0000K delta 424 zcmV;Z0ayNt1d#-gBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0cuG^K~zY` z?UJ!>!Y~v?ZCRE&0z>zNs&iBWR>c;o&Q+0u;md#|5EF8a%&Z9p&jB|yVAAU+2OLO57}cKpB~B1r>yiZo{ilW&0DxBv?* zfJ3lAukX6E*jO+uEWlxZ;?(GpyTAge1ri+*dQzj;8HAlZzyTwAnnG`!byk8(L6@LaI81GepW+}P2P+l!5wv^HL;@scotl%gb>1+ zUsdbnfl!{3tL>^gb6>c#Use772O;AyaDZ_Gyc+;< z?kmZ5AJq=(H_$kj-nS6rPcbq9C?Y0&05PALT>&|#QAW;-wE;wsi~g?&`2u&2fa*sO S<|Y6D002ovPDHK)LSTYnsO{4H+BEzrQ2^ z0056kL_t(I%k7e}4Z|=D1i1mh&K0vv(xwXM(u`VwmOEAc*eNW^?ga!eyMO(Q5^zL+ zH|3-`T@3^Ys;SG=vOIWh@xn=TEol8!vdG*z)kQ?7wwd!5*i9mb!@CsqqqF=B4~dtk zWes0*(TZV1JoOL_t(|ob8e^4#F@DMRNn|Z%pPgurlFu<&3$2>u#B9S}HY8 z87d)xgv8(e&vz0_FQuQ8?L6hzz=QQvbJwXho@r=xqYR$R+x&zA3~i<=06w*ssmz7B zvL&=wux>NsGtkhuf~9b{Lxf!sg1g*AJ$%(Ks@^Z-(f#$7Y%k}J2%-g;+?{v8B>y5X k@zNETu+9oh)Q5q20B=%YJMBwrSpWb407*qoM6N<$f~(3`wEzGB diff --git a/graphics/pokemon/pineco/anim_front.png b/graphics/pokemon/pineco/anim_front.png index e2704f189d6162edf3f6f73b169863dab0e72b67..3f2de289f3e2cb4571e33d866be0c2925f35ae91 100644 GIT binary patch delta 764 zcmVik z0008ANklv2NQi5Qe1;ntilzZAP96?Tv!$Vh(DAlMvKJ34K?`{I4&3ni%Wa4Nv=Ye9clUvZ`wzFlYH2RXU-$iG z3Z**gwqN2ZKz~X}5u88xd46cKLhZ%*%pd3ZE65rhXdCpG`+1%R*!KN}QM$DyCkxCF zkorE*>MU#G5Qzv8nJ93#Y6Vk>%syAZK85{CkWwx#wkRh7 zDd5;B-IS9ED3j6cQT^vNEa~Nw@Z9NwfhI2s=|!(z`zm(GUb1X=1wj*RV6xctSEc6% zFgi#!jiu)!Rmpc_I`qgizB~K`9Tik@bFzX{oZ_D)kYfBGkP@Oi6G#bBo(ZIYC@%>_ zMUj@h#)((2Kle23X`Lqg$)z$@n!)6A(!17 z#M)dZL5C?L3MOfl;=WHL6+{(OZ=MFT@B=vKb%E(P^8-wNr`mr*Vaohq!58=-8C>`w uzApfV+`2~iVT_nc);~V-1DyEbzm4xJzPbg%RxObL0000&+Lb%AhR7c&0$u1dk&WhmdK91vkTNLUn&PMt$j$c50bf5(Y7u#_hdsu~V zZj@=Q(2Ii+*neUOjKjjgo>jtQOZ!limHy#Sj$WT#DPZ@J2`8}f6HOcV7AeqK;%FT>G}cC83S!i2L&e-}GjRxW2N{J=EZ zys|V)YEr@USKB(xRNiDp`ygtA`_sY?ilT0N%q2@G+u!+FqYOGp&ePUTl#=@4K+sb5 za!~+-1tMbdhk_;xMHP~o2tZ)sP#~QUbl4R{v0Pb3rEK5tB*miQ`DyXcn~5L5`=|>{ zM};3?7uV|gZ;*F|9~{I5KFG#S{E*%)0ET>Zjqt;etOm4GkYUdc8n8ZUj{NXn+czt| Vx&^;vpWy%i002ovPDHLkV1i@xUV;Ds diff --git a/graphics/pokemon/pineco/back.png b/graphics/pokemon/pineco/back.png index e90dde8c41dd5dd4814709e76b7970038e160af9..538abd92b868f9b1ab5f07909ca2701f427b53b8 100644 GIT binary patch delta 541 zcmV+&0^|WK~zY`?Uc=G<3J3@ zog93w(nZi)ES3Qu%Y?lr9Sr*x)@%^;b=tl7ZCBEaKbq{a=Ry^jXsn+`(tog<=F2{< z?f(b#$A9M%88GVN-d+6XG+mngThRFQeoyTC_ZX+60sAS&ct^Zye>}!xf1&Zwy!dbf zus{9L6Nv-Q;|-AY@hJ@xQAh?H#+&}zE~b>uzYS30nZ_N!GQ0MF%-Leo9fi4c1Z@{nt1}}5aIEk45 zHy}n-LW&|Apapo;e-dD=WTIdCcLptS7O4PH$EN{65g}p?1Ez$TLIs40Few0x6o}Qq zvsg2;QmyT{0-cdprXZ`@ElDnk3Iqcz1J}#g9h9&DLN*SR6W9Qa$f0C%W-Sf|)gG4U?Z*2=-S0w}^#0TkPEK=x*;$^mg4We09Ve4fPVQvCU;{~vJVwb=qF$Z7a#1k0!h9xljch+4{+n z{$|{deP3(-2lR)3=MpI}%3|J4{LeI)mY@{-8&s&-49OQHZ?0nNbmF?M?)G=Pwm1K}7pfMed5%#@Se z~|qC?fE3bp-oQnol&0gb>f0Lo)xkwQjfE3*Z35Xq_vYcGoka}%H%FM!U& l?u(iD3!o~vANywJ+$UJ%p0R6$0W1Ij002ovPDHLkV1h-c@MZu2 diff --git a/graphics/pokemon/pineco/icon.png b/graphics/pokemon/pineco/icon.png index fd509029b6e7875a8c92b100c7b130e7399ccc34..d03a69ce3fb47821744d6a4c0f119a205554f576 100644 GIT binary patch delta 215 zcmV;|04V>70O{4ICc9qQC9{ z005FnL_t(I%jJ?g4gxU@M011Oh7#^CIdVsp#2pozVOl$#VcyQ{zuW&d R6pjD@002ovPDHLkV1f(kT?GID delta 177 zcmV;i08am}0*L~UV1JZJL_t(Ijpb4?4gxU@>ks-HM)<#!DjQSVY)o9s0}>1@G%X*v z6WJ2kabh`y!_{NyBhM|CfhJ9GBp_>1hfy-A9`ejw8)!h{mO3=`F*u14%b)=5dVvf8 z-RX8V`XXW@V&%+^LXzLoP6cMgpQ>C0L-n&olX(MT?bs$qU@C&?{}5Nl{;YNpnEo3W f!4jC(4i}gg&g{S2j$pJS00000NkvXXu0mjfs;o>A diff --git a/graphics/pokemon/pinsir/anim_front.png b/graphics/pokemon/pinsir/anim_front.png index 9dd53e423fd9fda59240d15b97bee0b09b66be78..7d5d17388d5676ef0835c0a831a64d7ab5cc778b 100644 GIT binary patch delta 1430 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 Ef)AsMKL7v# diff --git a/graphics/pokemon/pinsir/back.png b/graphics/pokemon/pinsir/back.png index 8f984d7965b035f7abb52d1b7129e2bdc5cab86d..0e66a8b70fa4a70f2dc458b3004d18f394b69e27 100644 GIT binary patch delta 646 zcmV;10(t%U1?&ZoB#}W-e*gz`Nliru=LQE29w0LHz{dap0#8XqK~zY`<(08+;y@6F z9U2!jI4GhGSUf-&5sEwoSS#uyQm(j$Budtjn@i=5mj2E%6m$Bh|Ujnvup2q z*C9N>-3TGs^YPEWzsJJ!{>vI*9ci})Apo2o>0=v$kNY8z%TFKof4y)_BDm>Th8hC0 zAAkjPT{j^i0268hqjv(X!|wE*z=f+Bb((;E!|OxTHy1%)P8iw1-~z~`9tQ-0iS6kI zfYdHeKu+i_Eg~3UZswpT4-#-Byi)|`=1KxrFM_eJ_Sk4?1Ih0V7GqZQ)U$x(P4<6g zYhJm8F{vkbXGxZ2f13?{W$SGzfW9pt$g0|}vL9N2)LFNmtNwS!p0jO73JeITgA?mj z2{5ee*8+1MFNQVHUNQEj`)u{?G6-P?!>Iwpo=IZO%Ibl17z}3`XfwN>Fl6k@(k6ui z1fcu3or3~h-8UXxfhW_~F|`{Lh_2~Di|ot*%YzfxL)C^}f9EI=niX$MV0R@ji^i3L z-vH9e;T=>Sk|r=zK#%HmiaDj!_HnBO%(nSdO5~PKdP+#Y-bO!Gce$lOgMilStbfX_ zA=K)7vA*lXaR{g+xHQbwVz=ar=L;9$v9yzxZ^punNuh~C6+m0p=MIn}k;|Rk3wg-a zXa73cIzeL?eCkYvkRBfwg1vmfQ|8o!lv8E7NEL8Z6dZwEpm9T#@5N49xEDq7XYQ$| z!1c38Eui&U6#KajG8Z*K#jad~qQJmnM_fLUl<}R}lNw;L{>G1b6n>nG)Ji(lIpH03 g3Y^aAKk`TV7vh@D70P|B@Bjb+07*qoM6N<$f@_g7(EtDd delta 657 zcmV;C0&e~61^ES#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#ZptK~zY` z<&-gR+CUV?9WNeOa8Se=u=oJsi7@0-06H<3Na@gpBudVbmuB)s=e@Pc7bp{*d{weT zRDYRCYYCiS2Biq|P&M4ArXS(4}ZdX1NSwW$m+w*`cGUArv*p$$lXGwarKt$%0iIp4IU zL7$LjaAK8J0K>|EEpX1G#h?LN8Dno+XW6&QFoG!zCI%2YCW#fRstYnB2RpEbT83`>C=i(=zSn`> zRlsyMsvQDXXK9^(@DAz>$v!YpK$q&{6mv?co#R#+n9~+eX;D}{=_w(-<}?PeTIH4p z4MW--XZ00000NkvXXu0mjfj=VBw diff --git a/graphics/pokemon/pinsir/icon.png b/graphics/pokemon/pinsir/icon.png index ac89146116cb1899968a3fd85f5fcdf352ad5692..ac2a4bed026a9daaf60f1a4fc8c0a12bd0097e78 100644 GIT binary patch delta 291 zcmV+;0o?x80{Q}wV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4Id#~>A?^H z007-dL_t(I%iWSa3IZ_@M&|}|2ki}PAf+Bg$abbPrFV6~QbPi<+s~|jJK1JoD{)AZ z$2UVVJfa^j4%Mxkog^_3uT>2wHDiQVw*s^TijcGtUZii+5@9ea p4CaN2bHWrqDjZ>+er&POj|VJzt_{A&E$sjR002ovPDHLkV1k*McHsa3 delta 232 zcmV89r2^J%n(mtOBZQ4F4Y1kSCrAifE|=3byqCr2R?@PA z*hpzIrrKhkP5)Yxp9R(xVO8ldfT$~j6tNb_F>?-e;HER@(wv>Sa2qURn zZ#fbxt^+2n^a}-iiBp+zD`tVwb&+HUz{Cdjy2=4v$_ju6M(zjL<&bS{U`E(Z_w^W3 zzR4{;9+m!TsiDi1uWg-`dNeS=!~#gXGoTIs6#&~Xi(_Vh(A)txZEy`_;xPk*$+b!! zT=Y8HAuTj8e}_RY!GIU26Lx;BFJTRbjKCcLXuyk)pvR*|qSna(NuDVKmO#V92wFK$ z%y!qfazI@Wb|W5hUIcMGEOkfCa6QKaOVEYbV6SX{$2D-L3~tm$X18%{{RU_Ng=eN# zY9+ydzXA#YrNZ7Q;2Bz(Pu2ZBDFO8c1Cy|JlCXpqX!?R*8lc!8wv^8--Dn{3u1?+n zd;ytcj!k;sYggl`0xJ6i`z1G6K~zY` z<&?i~+CUV?Z7<1ahn`pyTy=*-C2N8u<_^})O{BIXq)`nSEV9`dqB5DwfW(&Gz#q{3 zHJN}6_c!#tyE8r~Lj42sBrMSPiuw&S&0$NPZ>ZM7)v><5loA*F49 zZ+;J6r-8pWzZcTz^H)oMZ`A=BcB4N1W&w>_xo!vbfc7k)R<0XH5v9F^4lCfy20S#N zfsAeBM2}<$A>RLne&A9E5`i0d4xP0N93E95Vxi<_@@NlWQOo zj~N(Du2lNqyx-LhX`z8R40;I$yg;3>vnzcG4{*o`+yQ`p2E6zPdVJkX)H)d;$uniZ z5@>i7K`Up8+3o|b98ed8-H6AW7eO44O5IU2T+cDV5_BOp*ek2^6?A z{{Ri3@XXXott1%mS3n`4RM;B@JVPtQKFbQiX2}^jPFZhK4it4bXd}irJ z1BrKe{087w3&^eWj5+(>t;@PDbLkrrOfS{LZ z_Z@Vveexm1hRq+)l5>f4=-<%yW+c~21fi!6Xf4hAyzl$IH)DyhfB(GPPXYDH^8M0$ zzrOK_#FDpE;(EJ=@0Qsp&4ueVZ(~`J>&hjs?kxwbS&e$#t5ud**jSzImg-)!Vts(r zu&_Vht9i|>l?wZAp};0?n*4QC^ZW-D)?TRaFR)3#ef-c~^td~pLw%hTZdH~7uC7)y zK(OEwov$;Cs+5{_e*)S!0gKh@p>x~>MsD5uQpM3 z)&DYO%=z`M*Yy2w#0w2@4YW%&4e)NrVg!8O??Fa#-1O3>-kbiGTMecB8Ck!|y9x#8%Qfv8?3ZsN*W?$*f-`D! zY|>9e4uiK>ki`+@2M^~!5(RGc2?Folz~SMaQpo}3zYdH?jw^`Vs=uATI|L~uK%R2a zfBjGkpjN|%Bu2tY*ye%s?D5vx2-RWiD;`!fk@=@Nl`zTfHPLP(j)cFJTz0KgCA0VWffTDLDMC)p6NM)`LpG0J-g?05LSf+1R9`0rZ=K1JXa z$Q-gmR7~J6&O5y^Dh$jihlvL8l=~=YCopQ@9411Dz5)79h8BjPkV8p_CatF+Lk&y~ zAji{@f1Za8kct?4z$t|0rm;RNk546-i8?(or5>g1%9Mzc_xLR5?C-HrR0kAJg*e71 z*%XSTPnpWi#i9`l5#vKbiZ;*_=v0*%&oGL~AXZR0h>$g=po@P#H9!vefiys>U~X71fP=5bqv3l3s#46l$B~j#Jt|xc@u+Wy%xa|_ zR5v5F<7YU_mH|YmL#Wkyxr>`@4(!RJ*8Dq+3a}M^)RJj`2Hbmm6R-)WIvzhbnw7O% zJJwwudEvsBvBTNp>zvTS=t}s(kBWUW1*6tSKTVy&g=Rs00000 LNkvXXu0mjfB+wP< delta 1099 zcmV-R1ho6739ku|BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1PDn)K~zY` zy_C;u8%Gq!X9Z!%5B}@>QM6*jV zf)=zh0YNX-?mOsS`{YB24ay(Tl5>f4=-<%yW+hi@1fiD>XeG`2yzl$IHzTqCzU+?y zPHFvqVX^P*ek8Hru9did-LBxLbv6nMVW;Bmt}Aj|x!^kPdcc_1a2&T%T4P~%bG}<} z+*--_7gE8(-eRxf*7i3_?Aw(Bd$^hB@1UCNJt(o}N`-%bJp%6Im*%R+!^Iq&9a7jT ztp#jdt&#)&icfUD!wjlYs5t~QmjQ!S9P+TK0oOUKdA1!a0iS$-<`Q6d+g%bPVAERx zN?+`u?56j5!kG2TJ-6n0UyBzS;2LNaDjMMJfJF#+p4WktH`Rs4g#*Bn#nzeb62}^(VR0ZQvV} z*SNgQvP>8AL%)oF@i`EW?E3`7uP(AIK0^z(Zy!)R2P_D^{RcI#0SeTQzo$Qc6WV$H zB)4FVnjD+-Vv)h%?G2<+NcsN51rUe6U4DYVyEkxp`iE34rz+#|>3hj!U(WbaNv zN(qo9ob+Em)B>pGa~^IzX=HDwpjQ^j9szj;13wWHHYk~Y6OgKLA|}@_=1txqF=S$Z zQKy9v2!Ke6IK7%*2LezLfnSd}Nkl4(5*3fG%;(~nGjMYvUfh}n(0Eq z_rHq~c!mmJp2I-O0iWCef3AUI-=0ivRGdPB@#+zb<%#5z$u+cxW2&M0%)W^sPQ^?s zARzhaWb!6|9t{D3;zggym;iw9$pcKMGBNI4mCn;4V2$E$Ok$LG5IAn}V+BLB!0_i= z1U^IH703+IQ&f!MPtIGNF)9r5Qx0Mc;3;=e(u`qL#W_rc5ZxT;S}9r>fI`)8PiYzmWRRW6 z97q&Qd#w5cWOa%lj4M(Sc%(hF@nEM3t3DT^PTuk+I@siZN93U$As~ahRx9A-jZTC( zysW%`*T$o?q#EmCy~I}m0eZLaGU7c7OwO4phf@t$_^Lh{z9*n8#k_kQDLK`n!c`TI zx@N$PdeTDme57Xd3};!-0a0iXYSdpI;wD=FNAj$`_z$B3Y=fWGWzwAkUp-z1umD=H zTz+ykFKgC~dpvXlw!AFP9^d8!21Ykl0nA$_PQj@00Z?E1@O{4I(8mY)!WS00F^CL_t(I%gxfUZrd;r24GHI z4@e#$unKfEkqGF@cS!&?ow$iW7q3be&-T>O(U4~{9KeGHmL&nI&7i-eB+7}WE(O9# z`f*1=cOPT_>yTw&%$x#enYU>7Q$#3YAVj-w_hYbJaPs9<`+qbBk~to*C_T_V#rF@j zblfPEqSF`y92UKz@>&>;)N=0*MgJ4!O>fM%=0^{ z>P@U*SaV%HsPMb~{+I%&aMWM_e39y5n>t7a)d5l~Y#z5mhqMqkT@@<4q<8wP7~+vZ zO2uppK1oZWFo@Lxx)p@ zYn#EujsosdhzSgf>nM8VOXv({-4|C8%w<11B60000Bl~6bEokT?NSp2CURaG%c7FzAfWxBKyu6myAhq24 zL(%_0dDC0_t$Czi?F-SZJ{Eo3>^9rf^RwuT^2^uVuHH}u!&;c?LC0V9_ooy<$D{fB z`-{>K+tk5T)E%IV#^z}|bSMXT(^av;YufYAnt_&zN@?aO_@o?{r9f1upi_&a`%;Al zH&qH~HV8r3sDHT`Duy2+YNO(cuf~DB=$OuYQO*rPJZg@h6z<$K!(00BR?=XnA*V5L zD;Pg}3gOuK!vDSL`z{cfw_v#7lDioUgBQFEZU)2r;R5Bg%V4OZfWMS-0>kJzie85j zCWBe`#T9|M>_;#ZEDJ$kq_x(hA>G%Q!8Az_m0X;_Y+uuO{4I?O4#sEtI00L`CL_t(o!|j$qZxT@ufEVL| z*o1W{Xu_#%YNKAMKVZx2#aj(?fD0kfUC|Rwy3cYKOdAh0Zph;TB$_pQ@ur6s?kfES zNaLv{Z6w5m7<$3kEuP%j{s4Eb^D*->ynXXYQW*blC~EpX1Ox?j4`-7w>r~MU1-s zdNejT*Bca2dw(|W>$+YhI$#fde2M^BK$5PlxxY_!Xdr&~m2y8#-#HckZ7p>`x45^u zvC7^(B7unbb!STf=sFb8Ho+((@Rm4cvdw|xrD#!um=+B%o>)+z4k1rw0AdOSdJr=q zL>mh9wz6AY8K)CIv|)r1#y>A@ zTvY<|%P0@=fPB`o1Dg1&7b{oz2`MPovzK|YM1sA+eWU~dIi?w|eh@ugZss1`_VmLa zi0%N&gQp)4{ej&DPzeB<{HcNZK>+2v)#SE~K#ExGN1rbNjaX^>gX2%!u}S@q_P>pO z@V&ZOQhz$~+_%T*D<3TI2V#ewemJOOMgLR8)iu4LBoSy6 zH=?1UVIWYL5Ws2#P!6oxOx1+fX^P|$=GOlqTUsShyacH^#w zvw#gD(HYSdO*+@Imo{x&&`8Lzp(L6yvvH@37WOKA0;F+OlQxpZgc!QPGgI8%Gd@7) zZ2yn{+*~HPA7kNM-%+*9?Z7;{!u2$rC$iZr4SBWcww~Dm3Sl%Tp#EaqHw>dfY``7H z_!I%MfUz6P-hb~?Q~?6<`#b8xOqv8V{I~VgKE2|>(&`d_|AYi0_V0V^DnQqzfQ|)b z1%Y?OF_Rqu0zZm2brF-23FfmV6sbcf7gGRx0!5+#XKLGa2a06Q6pxtF1^x3wcWSrE zJT@GjVF_Kp&b%Ay1pwYGeES*;b(~0CQ-1^VMU;nlK%VpMfF}OwMVcy@ z`w1y1H*;4xS&`sx@jX(5fIQbtPd|tquh;UA?)v&62cnyR^5E;oV>z%j2dV);OFTDG zKM0^wXtspoARvFSqQ=peD?lfnw7tRcXW=@eez3joqn~1T+bXLE%1pXrbaE<$h4wI; zz=e!(&woFmT^Q=eCdh%R3sBinz9HG}I&l9XSwbXlNJ+6r~#w*!RAMWWduM z=Ni|cMEV6&G{_{O(CtzciUnd53Z!2!_6Pj}>^5ydQ@kVFz9b8nVtYg93*#B)mt@X< p_4=;c{y_sV@8J*iA)KK33!yLhp^zwH`2YX_00>D%PDHLkV1li4IXnOW diff --git a/graphics/pokemon/piplup/back.png b/graphics/pokemon/piplup/back.png index e4a7255bc6957b55bfc03ed1664e3a692ecc2641..98da2cafb93026f0e4fe603328821ca00a219c98 100644 GIT binary patch delta 417 zcmV;S0bc%)1c(HXB#}W-e*gz`Nliru=LQE2Bq?ryrWybM0c%M_K~zY`?UTP!gFq0* znUpljpC(ow!&uPa;R7I4bQUx=c9#q<;3N;APG&4DQf!(KWOTSDy$|Ksl1d;X;;?rq zENt?%`JYC$yL z^|V^S)eR1qhTj0%5CaCy@@Q3GK6DsLW!9G)AMzaU@p~!(T@)*A|66_$l7AXdF zEI59(PD|)qaMlXne|e;WkI|l_GZX-JxJ@X?0yl{AhB$)-3aD8gg<*vh02>T=jq+=| z1@16lMXk^d{VDtcL=2!Z)p)?12pqsAXGU3LaBg%MFhD7n{BTv7em4;#>r%j7<{}aKYI41#98QfQ@Gd05`&bOps&z%7_UO zTO=6JvET%i)eV2c5- zVRmh{z#Rsx9V0LUuS|eN^o2$Em!@9MVO78_WEG`fA{qWFs~>>MtVX8?m39zy}*K R`Tzg`07*qoM6N;tV1jT9xFY}n diff --git a/graphics/pokemon/piplup/icon.png b/graphics/pokemon/piplup/icon.png index 83ee49d745a5a1b29779c981c6ba1db32be2e54e..5eeb8a1c2337e79c9a856bdd557614e1539f1d13 100644 GIT binary patch delta 118 zcmZ3?bdqU8f<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?Gs%J#*@}a-h%}PZ!4! zi_;U+>uls~&)6CC#2C~F@zk?dHT~?Lme5eeH{ZHgF7m`eHfBJq#!3(IGD-GdBYW$enI*=#y6 k-8%iAqPo=rwX9|Q41No1|FO?{9nSy+p00i_>zopr04*pV=IC1dRodUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ms1HEZi^` z0005-NklF>c#H5Jfizp_-C&0COoLwMe;N&?{|_bdtsjkS1|Vx;IEpF5tii z@DXx{6uLqVm03}$!oMm4!zs880nO9r?949bD>bZ_TW`i7aDR5u#V0!MkEgT!bD{x| z=JUOP2EbXKPY(k9K$_?AK_KZ(JCX8YegFzplY z(#JPIAofC(^`{VZuZ}KhHSO;+~R3+ z>Erwr-%0TY%oUI06AofM3p)r}&#{Bpx3k90ST>a$2m^Caqn1kABzW|?k{7hmCjmU0 z9oIzl*fIo$JIf|w6|Q9woZm}k8w4VJB9Fi+gJ6e2^GfRvh*Yy2eh5b$00000NkvXX Hu0mjf?F9Uy delta 539 zcmV+$0_6RT1@8oqUw;AmNklfB4ivcphho-_EB12=MDdE)i2Y`KJj<*7Cz&ED96&N|K8xw?E0R&7`8-H+6ThNmCLN^dt3lRde zA5{Na;MgT#rJD*6=vyHQ+!l0QT90Yr6sU^Z%#0RJ0ReoPs$OWu1O;6dqgEAWZ|rS0=?#5n|B1&Eg(1ZHmnTo}|S0b+V4IwcIe)1Q0t7VeRj zi0I{V^Ze)?hJVQ9DQ!MKI6s>rU`&4nm>FmyX5MfHk5dL)h+^H+%Hc^Y-Cn~+sYnC_ z2%FFRyUT=Ax_ZdeK>#Fll2Uq=D<1*&K$GHO?tu~wklc15V2$ktv78{F-XLg+wiwwUs^iQ<=yG0UG7us3 zpn4^xv>M^7H%WO$D}1*%0KS_O&WZ8?G%1%m%S&L7buS|)cGd{}J4=KV>` zN!QPf1lH#x5=%N)e^lN_G@?y)0ibMzI90%w3_y8f5F|pS0Y*(gA^3KsFiLInWPqX- zfEIwlHehX?>6HN%)|s9eAhiOo<_0@p?m%X5&Jv51TRlzeFlUz&v7)1#I+i%yvKey= zjym&#`-i-qI^M1d?vKbqRKP9+us1SAsGk!N*$-sMzqDR~N?M_81J)h>pBuUXtlQuL zFB{Uz0eEsd90OG^x@(}6#gNnnmh3!0IHPZuM+gSEn6VcApnd_Xc)#aR_*sYm0000< KMNUMnLSTa1fy}r7 delta 487 zcmVVroTRB#<+=Z22I>lnRwFuq2=?U_U~NEu2N1ylEC5-X@FW6- z1)^I(A^feO5GCZkJPYK#0P6vO_5nN61#B&_?gGft0!b(EYH#QU>>ZpCr^Grz0M8Id zo)L`Tyo8I~I+Unx+0U>C&Q0by_8;;_>iDqDv42ELxdM(UW8IA`IMd_g9GQgN&M7`= z?ZGG%eZUR_uK5V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4Ja=wR!k!R z005{-L_t(I%k7dO5&|&{MSFu>iXy@EuUNAlK~J@anw|;-Vy9w@s0l?dBoR1&@`7`y?NCVLNcYakp>p00000NkvXXu0mjfjU!=_ delta 199 zcmV;&0671}0-pkqV1KGfL_t(IjpdRd5&|&{MSFu>iXy=@6>HWb=&2S_v!?=q*s0he zVnS9hB=HQx5SKUkznwongkKwWJJe1DTVE%YHVlX+U=~k#HYfMBoDY_wjiE z%@$C#KpIqRVX(9>6^6BBD~#y}N4!5=KMtSl#}i>YaKB98Qd|H4002ovPDHLkV1hdo BRD%Ej diff --git a/graphics/pokemon/poipole/back.png b/graphics/pokemon/poipole/back.png index 65f062815beef25eb1361558a41c652cb2de90fc..7015d806adc32c66c018623924f78a27982518b9 100644 GIT binary patch delta 507 zcmVwO@O}t<;rjH9U%6u*D{zG zeM39EFR%CR^{!C(TTwg(YUQ7To5~5GoCNA`EW&!u1#R`pvUBohe_Q%ynmOWOyZtb! znfaBH`Ls1HYFk;r=$M$NMn_fxH=txt7A;Dx^lXc`0VNxSjd{8+p%MWYm~F8t4t-1k zWe4`rg@M~kfoi!#yUqcuJ%3*`5h?-?1`K!r5cEV)EBCtq>o2fDaLt2CpC#}k4lpn( zs5~fEb_sCyFFs0zrfaGb4ZD1~`p|>|glr@d@UlM&viQwCDf;002ovPDHLkV1lHX+&lmP delta 512 zcmV+b0{{Ku1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z)zdvs!ax`Y@FPbwZlrNGLBBw?CKN_r>L)0pF`*vO!H`I3>B`W`MB<=yZ6fsfUaouw zpQEU~>s=X4j6Op<{D1lPUV!|usci!%jh}+!<`zJ=0^>Ip(Y>hzJ>#J3RpdJ>_Tah| z;&QcmcbTjGO5MF)xn1Ueb#=hGbunkot*QbKpzbg}7mVc;vfWocp!t5#;^~t_ykJ?M7JT*lpa66dg_{`Pd`qSbf`!j# z%@AZn8vC`di1H?|q9p=T2E+=Apj3cUs7NwX0qA#yrOFExDNzq?ZLZQJI??8*@T|>o zte3HsRph%#hu@W3J`XYumi|ng&x7eRf;q%bb0x5+sf7i-HpCMppq5Dy+)>NYZUk@X z?PW&vtBmoO;7Okc2vYoGYVy4x#@lGCehdG52>Af!qDJJIBfo(F0000t>O{j1+2QQLnKa#59Lb6s1Y}iMWo>V54bWxQM}RjBJ+O%!JZcV2))C3;0d zir=LZr?>2G4!uN-49${)aAp1J8%UALx}4 Re*gdg07*qo1w^hwV1hCO{t^HH delta 533 zcmV+w0_y$s1pWk&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oO@HK~zY` z?Ub=@+b|G@8Aw2&t>_~(FCbKHYiQT{6x7I;K!|~CYC<_3lfoxvDNqEZyefue zqS^BT83H70fdJOKlBuQdR2sZ+N!viya5bbe**qp&>C^3t1vId3*;HUwAG87BemdpvEzgK`N zH9#lFDdIv@CZL-ON-k&dqUm*8UUgL}H3j&LN((sZ?JykA?)IOQHUs7OwO>x*p?=Z_ zpb$3?G_sHNy$YCK-TDroUXDyYbKWnL<7Hy>iFjB4w)sT7=~;c|U60O+?-pNvIS8wB zGa%2SI1Ma!H}E5H$gIypF`Q+&t%kf3mCP+Q(8SQxm_x`;Gf!rq)1_OHiCtFEr>%h| zW_~vB77Oo_7I643=RZ@fiYvoA6{bNDrXlBvp&L$0kne=tbYyFQIp!m!$PW9jwitT` X&xgYw`IeV(00000NkvXXu0mjfEz|Yc diff --git a/graphics/pokemon/poipole/icon.png b/graphics/pokemon/poipole/icon.png index dce46b073d3e5f545dbbbd5e7be9cfd05eec367a..37b9d6b82cdfa2ed3d49e063c17063ad90bf43ed 100644 GIT binary patch delta 330 zcmV-Q0k!`10-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MsGV{Tb$( z00034NklulH}9VbjMi1IbKG_`=L)gqx#PNU#ui5b&{?wpXbPSSC(}_A0bcu;6PDsz zCjZt@K)fvXyASHcp_Qy*CQgY9*U^CWmE4r@(Io#vXMqaI2C$i624 zZxzbrZwczJoQ3^xx1ZH7a cio1ll09pV{u z5D8N6A>tieq&U=6K}whSP?J2m>L8fyeZ0Rsz9jkPbDbC_9dH}7z$V~^mSvCOo-H{T zwPuxZP!yF}&A>(=<+(Ur189_9=u*eFjXW<9k8y4@$hB1YmVW`%N_GIsJkEuKEU5_t zyJ~a5Ir~d%_5~%d%`!8+P_LL&PZc^4BBb06R#=PB2l{5MD&d@;1igGc5Ombm*VHBT zNEm?hH37mH3w*B^>Vltne=khDz*`uIRU`~m)FSnOghA_s41SO>JpeCElo;Y8VIHnly}qiBr!oKl002ovPDHLkV1j5|erf;! diff --git a/graphics/pokemon/politoed/anim_front.png b/graphics/pokemon/politoed/anim_front.png index 15378c27c8f92993e63aeef7f35b34cd9fc62cfd..4ec0c4cb9042d89b9f525c0169888dfbe9e7d9fc 100644 GIT binary patch delta 1024 zcmV+b1poWK2+;_TUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2MsJXD^Vfm z000BDNkl4e-6o4m;SJ{{Z!PevtY@E|O&6?)s+(HO}y>%N)+0?STKEY@c zBq{s>_7MatAt{0z(i~!O!?jkyB1(#!`vU~gH@h2imwPj7DStS{amo8`-kUeWe8bp3 zH)dvQ;&TgjVs=q1T(JRj4indH85Z&5hGh!A$YvS0Ou^?cfem0w3-dKOgoA)n)2v#6 z&s&1B8`ywLGKwHD1C4u86s<#G0%jgW8ra_Q4ZysPM^DA;*f7CnF+sf9-lEqz(|Up> zLM(O+0EaLIfPeJP&K8}c0p;-9Aq}*^zgZ9gz*LUQy9fkI6~yzSX&_U}@3~THC_;dv zpP#1ycc6Cp2nqEq5MO@1b=c+i6B!WbvlR^t^BjSg9SkN`I2axrGoBam{QD1xG2eI^ zuJRH7y^!yABIHRz8|v68Egm?_ioOnLzBfjc>ctAAjP`7*;HB`(#?CjrJkVS~~{ z76XB2`RN6qY;zI!a7*IhsDH81IJ`WUx`HqbmFi#IOZ?djrE(2oJ2yUE?54nd9G$#S zCwj{@J++%ctYD=ZLkuP!1>lb8Ul&t^#ExqKGlSAo#2$HOTu`b6KsfZNRG31YB!F$D zh7Wqf)qe?A;M1oz+|VcDt6>c+gk)8ph;Opj6tE(h{#*=l~TrGhJI@B5x z+3l_7Uu6%XgaSO=YSEOk)ASNa08C&U?>XUcB*{kgx>bLg6u=#vpYbBz}1zlnh!~K30Z(y%8ViE3f^{tsb+kYJrN%-0SmX$lmZ5K8ly2rwLoeN%f z;r}20UaIrARlbG4t@73WwgH8|t$_Bo75FQC*8x_02WvJ!-iy}LHMV5R(9`aP)HeZF zOL=cUHe{H&Rmgku_LkvDUn>A;i*1Ac=RrR&K-_5?fL5ySXz<^)fi5yEt&@tEw7WTm z3V$XIr|;3i-RVQsFNmYhG39RN;yrwf{(t`ED7Lse@bCWmVQ_b$e{?qj26vBi9QFS; zrrpg;xu3rCNO$8aFFVxnJw?nZZy%N=OBchBTbx*Gwz z+*$a@E_W?tyWG*~9lP9{GO);9H=M5mzdm!&DFbJzCa;Lo^9Iw; ugZ->!e;&B|ef#r(|9L;?=fVH>e)tVMz(c`LJuhzn00004%06o5xeu2K_81ky(O1E!svzy*lS^|b{xR1<-wBL$6xfLwC~buV-QU+6f7&<-^2#c@1<&;~5+#RME31{PqA z;_)x)Nn%NGP$ozYI*0r^m)Z|-ijb(M7C=Ij0YG;5=^_^u>EfVmpW z#|VVRl*FU+d4C``TQ8(BW~3s3^G|Q)0B>lHmNj{=`Z-#dGZgc&FZM z3eUi<2y~7^Yh0>V%mPBb#s+1nE(Zb+i>q5e)#ftpEM9hv8fR({e zio|Enj0eV404VlYN-$W$T&93+ovTVuoHlU#`NdoK9S`2AB$4zvb;z)wQ6vFI>zrAHcTxY=${!w& zm?CoWzb)ep3)h7$N8W{U#Ic%Obm9N&;~(+&=6@o8JLOyY+bLi2w+kr!?F7i*PJqVW z_Pf*G;jRnN_u@geD>iKv`s7~70vqsECGVr3EftpTl=43K{?Kxyzb*mjs3VL1*MOcE zpzd}oKs%#58iMB?_M)b1upF8Cm3OzqP|0M`{5@K_JNwC;mBjg*Ie^?PJiLc5(EpF# zo_{9}cZb0bpFdjMUFsj*jey17V~V5xpC!DzWhM8k=RWIheC6e@DE`v7xH}8*;J7(){1l)2L(S5hvNyu)wqtm-?xwmw9or?t; z{o3xV-0Mj+9RR&ix^)Jw0-ibOR)I;WnX!Cz(_sF2aFVy(&jasd@=dTj59Iaxfu0Bd bxA((eJitT2qTvl800000NkvXXu0mjfw2uT) diff --git a/graphics/pokemon/politoed/back.png b/graphics/pokemon/politoed/back.png index c40360146de60b52d330b93bb900a9e9072485ca..fc41804ec63b2a070bca84d9deb00e7ab6df9e1c 100644 GIT binary patch delta 473 zcmV;~0Ve*<1i%E4B#}W-e*gz`Nliru=LQE2EjZQkJ)r;q0i#JoK~zY`&6LY(!ax*; zQwCRVDtVESV`!n^CMN_eNFfPY=vy?9Cn$vO`vmPu=mp#sH!d6c0D`!1smvRQ9pf!C z$(*|MUj)Mc&AH`dEbBbgY;fAQfh3sCEwHHoeE%>7$e))+;6k2df52=qL!-%?WsG0e9vuSL1FZxsf2#ldidqpZ1-MTg)N+Ih;H6I*z!bkT=!Ycmxq3sb2DQf7S_0}; zI!cE1dV;~++(c)#nz(HWm`*2c!Rudz8bcir3qJZW0r)=s5OeE$Z0a%xhV^WGV*)w@ zA>bifX50X{Ld?T%mK_050c?XTYMG6z=j26@zb}7>hL62dPge*|1Mm+ZubD#=RX}kk zwLxyrbK|;{{R%+4qjbR4?=W?cUZ5?DHb|+_!lM3~4Zum@wlL!pfwR{iLN^6H1)R{4 P00000NkvXXu0mjfgEZHa delta 484 zcmVPKSkU|o)(6?wHPf!Tm_X*mS&>wJH+_-G$0|?^6 zr7~|&>=+x(OlGDoJ&Qm%-<fR&&QBjDHqSotvp6yI|ra3;=DppLad ztIgVGK!iBd0ysq#Gq5dxPMPS!1`r^?tN;aLKrtn;1lU%191ynLI5yjj_#Q6OB)&2D zage5QD&*^lDBa7~p8qou(8=v`Z$EB77+<6DDn}# z?6OlEWPk^G89b>qXd(e4z))!cs~SE&qtZl20&X)Gl^T%*_}PPh0#M2CjfRmGc>j4p zr3bmk#YO<~t#qXdo6QWvrFn?n;%DY{ZNPj!>vGoosPq`A0AI1mmkGev`5Rx7t3 z0vI>*>6HoSjW~z9e4R4`;Bmf;`gwi;KnAc2qN#O0)$hrVq4-~akM(OP)#seq0r&?H z&&+-Z9ZbFPoCzbN|4BPbC1QRf@RI`)5s zQP=wxiUL89_5@)u&$#f4h&i{s;iU delta 325 zcmV-L0lNOR1C9fb7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Srk*K~zYI?Ub>y z#2^SoGX_k7a{vEt7c^TfkZxz*yroDAj)Eqfz~glMVvlc`uLZIU@}QW8CqMjcf#5+P=8s+q#Qf2hK;~Qm`J6rT z2Vu@RWE8&Dcu6$SP(WOl5c_Je%J!3{D5tc@A}~d XDUK66`QA7700000NkvXXu0mjfboG$H diff --git a/graphics/pokemon/poliwag/anim_front.png b/graphics/pokemon/poliwag/anim_front.png index 53a5e375401851931d18fe8d3847c58cc412df67..40d9a43b636d43415ecc20933350e4233dcc319a 100644 GIT binary patch delta 729 zcmV;~0w(?U1)m0x7zqRe0000OqDMMwkZ!m9hXCJcfjUFVJqCJ9TD?niz)56vp_w^x3BPsPAkkTP452NPa)wd&hsF zyI-kPL=mrzJwo;~^KXu*xu2D9G-wu4{eS?WrhWk0I5K&K>PnDSh0?eEPudc-QJ2zs zYoIH!cLpIa?qvWjsn~#kx<}=pWqtc$LR$-1mBa5ptAtRh?tx1>H#z6?x()Huv34MLzC=J^+A3p~@-bPU&*LmI3@ zz~fOQKyZB5=Dan%ehQc!7x;W80mjA4Xw>fW-t7~M0M0KhxrM=AhP}aRH1r=LV8l7A zVZ~&f?)fl^7$^(QtesWFz*0njQ}P6}YVwTO;291fQ zhS&i*m={7CG48SQgcz?F>kvW?=0fxXrlsS88iVh(7}jV8Gws!_GNI zz$uQ>B8n*DH3mZR41|(A1Id3NHU^>^)<7&ws072<7zjnv-MrmqY#<%Y z-EC0R1FT$fPd}=G(~TY&&rM~ItrZv-YbV~22YW;r7000000 LNkvXXu0mjf&*?wf delta 689 zcmV;i0#5y(2KNP!7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0(D75K~!jg?U>tg z>mUq8s{n#H^8f$tk%aLTV&qOA&J4RRN$b6k3GPhR&(Fxn$jF}uG{307UXJq+A@x@# zJVJnX3jjb6_Vu}z`yo6a00e|QeZ=^H03im<01Sx9N&wHT0*Hv_5i-EbMtFXa0R{p% zNP+wB_rx!`AI$)NUfjX-o~94T9C<(c3CsRZh@a2WtpK9rOW(mq0)eW47%7B6RYV3P z5&|ECR1mYrV_ibn0Prp%-#lN!$3O}523YHL0?d4Q;Fb9VU`!z)NqzPOuruYC$T07cpXmcG0JXl`L9a5Hy_?;}zwfJgvRC;Hac5hB+U${|<> zKsg$@PD-fGzY=%@^}>jG0E8te>F+zN<>!I+N% z;j4gX8H_9dZUsc!U}OPc5fCSX!GJCS(J~m??-USKgWs`|hmzKni7Et3WvG1G7N5e%ZGQgzJ_KfiN=iKja^J Xhb6lZs85m~00000NkvXXu0mjfON}rp diff --git a/graphics/pokemon/poliwag/back.png b/graphics/pokemon/poliwag/back.png index b7d603b2e9eee47eb64f6dd4e0f07d44f1f89d52..762909494fbdeb02e4f60fb341686e6e122b9425 100644 GIT binary patch delta 202 zcmV;*05$)G1NZ`vB#}W;AqR9xO+^Ri1_uo>0`-ZxP5=M^+et)0R7l5TU>F6XU@(!N zNPmL}*#;N)wgPkoj9_^ar~=1`#0}_yqznv3n7oTiY2j)#1wt+;z_D>Ani0aN3S0!G zP>oIWqATz?gBsc?=n8y}r{h=9b1aR3g0?agH;SMu zI8)Y+935;JzC4q52Co8-Gik>Y2q-v4k{g0iFbb#z0JO$-;FafzjsO4v07*qoM6N<$ Ef(p}2)c^nh delta 213 zcmV;`04o3Z0)+#RBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(wK-bqA3R7l5T z7zLwXP?45Mf8<$^ZE$gKD?nGk2$na2DsYTQ+<>OQSs56NFnJf3(!$kf3WQuxfMerK zG$Vvj6}SjWp&G%cf~LSlIt^6;y1YyGHv9^l527j%L|5Q(1~s%(&=vR`PsgvI=U5s6 z1#M+0ZWKXRaHgysIXc)de0e7A3|<8uXVQ)*5KwT8A0!2%U=&aXFfafBw8nPe?4go( P00000NkvXXu0mjfi+50A diff --git a/graphics/pokemon/poliwag/icon.png b/graphics/pokemon/poliwag/icon.png index c0b0e62229d1196d3837e86b019e418a8ec9d28f..aa84ec0de1aad5313add0eaf30d5f5ef7a9be609 100644 GIT binary patch delta 305 zcmV-10nYyB0*C{UV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4Kf5b$4|Hb z008SrL_t(I%k7e}3c@fDhVKa)=mT`n#Yrhy3W~m4T~3g8b@L%yM8{5rfUi*7J;u63 zkVd6V+hh@3^@hNGkZ^zQ1NgyG>V5L8?HPL!hk8vMgt9eehv^zoai?_I(HFeEc6&R&&@GXZBL>+&rx-Alg(v3 zx)@1>;wa2?a%BOc;9s9~a5$Jc6nW2w-zAc`@eevR200000NkvXXu0mjf DrC@_J delta 271 zcmV+q0r38a1LgvdV1MyRL_t(IjqQ>#3c@fHhI4`jdVmhPI4P2)pxC?BlLf(9p!ad#+zb1Dta&Bk^x7(h?NDfME`t9t%JkbUh9xg)21sO96}7Jb?5-4gEKck z=}^uCJ)v|cLvwwlg9!Dlv<~g98Xej_D@z9?Y#r{gWN{Z@jzkZD%PDHLkV1hLNeo+7b diff --git a/graphics/pokemon/poliwhirl/anim_front.png b/graphics/pokemon/poliwhirl/anim_front.png index 87cb52b3a54a1dac4ead794760ba16192bd2f588..1d5cf718058a387545a77b30643a50394102ae86 100644 GIT binary patch delta 1119 zcmV-l1fcu%2%-s)7zqRe0000hMbm_SMqO?DScoC%x`+Ja-EiOen#2Z}biWMR_sKwnz^?$716ayG$5_>%1xk2+I=3)}F7yES zsy2?zo@%xMKQp_Y@tY8!={U|sOq72ze$T?q3(ony^Ik^~uY&RKoJT|wgBYCe{i0mK zXP-EvX!AuY0vdt{kq|soz!i5UoPTKZIK&$f2qFGd{#RlnzFN4wXsZ+sS-i(~6~B1^ zzgQ~($OmaP-34Db&Sc?sAP1|+Ck2F203lWq-g3KtLC6J%1!Hs*1L9Hv!DfFV%V&MJ zGvdq6(jg8;sD8UjfgrpN>BOt`-9`UHo46g)MF>^Q;ST%{u;+tNY`fH}`QrryS&nAo znF5Skc@MQkfE;eS41g|Uv)(ubPUKd~EfjeoiIk6Kje(2N6et>|{5F)2s?A#&0lltI z=?LQVR1FY%MrWhwwVNyXG&O(z7|(h>VO>TUjRBLH$!B3Q_~DHpKAVmF5xY_)WIu?H z3{p@ACA@=e&;Yd&Q$|_$uP8&tJPL$Qdp^|$P$3`#C5*n)2QUow5rCdb@H*%G-~0ju z_$$*Kz&<`iSi8w?vy>^&oq#YLYBxN+AH{&N+S1idTpnt7VJDvGFe=ix z-BS4#6%VwVSq&-aFmBVFfg+*GbM0oo)8|{#LT@Gk}!=Xl|4; zi&(ocsvjKj0%Z6SYqyB~=x_uSO8EQ}S4zr*&&pq6nG4Dl7odOL*YM`l1%qWTC}9w) z6oLd$1n>R1LIy9rUk5 zvL3|Rodx`H071TM_wi`VXm>`^j(*x!ZLFOFh}x(EOO002ovPDHLkV1fiO5^4Yd delta 1074 zcmV-21kL-R3H1n&7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1M^8lK~!jg?V0PA zq$&)B4QQY#c>mX(>;&*qRf^Mp&N^dOO|{zW&m^L7H21go|*3uT#)fBdJECd9EC942MUonx*rXX1d;-L z90xRc1;ls{;JX}u`rdheS@^La)M|3=mE~yKrL!^54RZ5MtGb*&=KSbU78I z{bcfxEW(~~ionG;{rpO61nc06V4f!Y;!U1289?>5gru80Le3bQ^A3?xP7M%V(1dpS z1A!pT7ApZqLe7OW0VsL}vrMC8eQ<73K*=q5qn9Y9AOV?w`*W)y7@?+s9?PKA0codC z04$iebHYg(GZ=(aQ;<76?g2H0q*a9=1ab=!fRZH(Wz`f!E)io%VY@`&_wce1n5jg3V};YpdMKPY$+h>CVm*e6cNSZx9d%WOIQ*P z#8=SN<++HjmcR}mH=Uene{Z8=+dvA6uQjmlzt#$_LQ|+ESR>vNxB$3%dJE{eCNTI= z1fe2WH@GG+`cO531#3TU>e10x1N8Lih8_rVmGN?af1{TwNEmJU$^^etfa;-W7ee>% z0Emv0hVJwb&&6fm^=OrhtuV-5$;%P24855!w#pBH#REK0M{KR%jU~%q8G5^Zy6*84 z^(!IvTYGbm{$@74aepCy;)y5zpy|XQiWvQ7~JpjFk3-8>#0k0{r?)K&Pg?Hwz z-vJ6^{Tvcsd1uC{WL$Xz1Z{$(aO$0PtT=-mU`nP}AHe6{nJ}gjR?ig`0LO#YpLl2Z zT9}@qfXzg}Vo(i_tJd>lsHgMhyRd-WPDQ+bJ4@NrV zjn~)rG?_l{ymQVwxjTE!la{IaW-WDdmD9y4fvR`TwT4h{v#P&dWM~3V^a|kBQ|-fm zWkCX21g(Z(gr33(0OJ!*3h%6h)KVC5P4e_X0#KTF7IjNu$aa}`R)#iEr265lbG-t8 zsCTY;eDcocfD!L}k;1iiz5-l(=X1h{cfL&F@y`Db?<{5Pz4L9m6ZQF34cKk(-Q4%* zy`iApw4>2UxGMbix~c8F^WOt-;Qm(tIQRnqFZ^MBJU+rn0pmH~PXNcO&=we@gu`_+ s!mXR(xO})j6W)=((m(OUe?9&HYt2FtZ1-fyk^lez07*qoM6N<$g7b_H@c;k- diff --git a/graphics/pokemon/poliwhirl/back.png b/graphics/pokemon/poliwhirl/back.png index 17ea206d8f605ad1f990dfb47a3518f92769056c..74ad4ac812340680fe1e6998d6702df479fef329 100644 GIT binary patch delta 433 zcmV;i0Z#s;1egSnB#}W-e*gz`Nliru=LQE2GzlLpl!E{O0eeYAK~zY`?UcJt!!Q(v z9fqo6YRXVDAd%yx6;qQ12DT%p@)Q{=+6Sm&B$k$eT8z!)jRAqg6CijERI%_b_|mj$ zeIjP0{zDS^|9oyv!q{GW)hmHNe5FEa{Q%nT-ct}y3BOmyb|Y5{e*hwc-Uo3T;MhDs z*9Ri)A1S34kpbe?t{)^2N6H9v1^};!0KoaG3~K-9q%Ke{G8ANXa?*boP3 zgY*&)00TT@hWO-;f6`OBWQ_^FB4)aTHUaP@YYH(zys}5>DTeQc92wv`XH5cta4^Jd zWPm9Rfc*Kw!T})(aCw4v0#Quayb27n~l{=UfycA;zo@_>l5JCx{pGg#^@Tp1o^lEc5*z b_kZaZ#h<~CY+)-h00000NkvXXu0mjfq7c0D delta 443 zcmV;s0Yv_o1f&FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ewkCK~zY` z?UON2!ax+qUl|B-qBvj&6Yt#uaiU#xaC=e0r|3Y04?s8*7jTe^Bb{z@Fq-%YjD8J6 zT>LKHT`7d#Rc8}^Lrd=e>wEWl1@`Rug&6@}U&uqMt09{USqSP-9h3M9BC+3j(@sa?Q(X8m>B0ZZ^Ry?#LBhkQsU zM}Cn445?4HNVinqV1y?c5IurDN{3_x^$EQY4fGaT9)Yi*A;g4#=+Yjg1H-Sn92wy% zg@#AKus@{1$OtpPfb#p3rnwM$1ul>2RuG99+@Z4pBP2ax@d#+gO5%2<(8+JPka`51 z+v~#QQ}79Fz7cK!=AIdt)Pvd%*HAI0lx;E99rOq8e^DO`F&zmphAQD*%6lQ6%|9gY lo#yGAPR25YJ^u(6fFH%5!H=^?NE!eD002ovPDHLkV1h6i#y$W5 diff --git a/graphics/pokemon/poliwhirl/icon.png b/graphics/pokemon/poliwhirl/icon.png index d4c4f7280eda673cd4f35b72c4cd2b7a4b7cbfd2..a7b4d27dfddbe1c2a224f4c221b23015509ee855 100644 GIT binary patch delta 289 zcmV++0p9-80{8-uV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4K)mQT~SQ{ z007%bL_t(I%jJ^24uUWgh5H0H(kHM^E;O|ZUF6|d>cnc7`fg>xi3S!}xEcfWXL2*f zv-RZU^xm5fp&t{t_>EN^8&jcN6zUrdst%lfR7$A3H+EN5b$>Q0C?f&sz9 zxS?Ue0kn2A4c5c0aj#&YxkLY}ZvcZ+VEP0YOcP+R?Gj)B-oUiJWLkh>DKMq~cL63C n9<+hWIpzZ_OB(n{uk@*&M4yl|Bn{PZ00000NkvXXu0mjfu~>Vv delta 251 zcmVob- zwSff|PD7v^o!pG^-}>jzpX=QhML#BV+c(H+YYe$`n^0RTlofH>UP>V!tFgPu(&nV6 z7e$H0z;e$DA$`<(;j2VkLFB)%v>zH7%CUhkxO^ngy)laUIG(Bk{ zmdK#c7-fZ6B7hM-wd?APEI=tYCggk2X!i~hjW+sUeFGQ>foTI^APIm0V*_9iCt#Yj zWSD{R$6tW)1Od*#kl|5jyqvdupdkQFe1u#2R4+uIkTcUj>w^FQ002ovPDHLkV1iM9 Ba4Y}- diff --git a/graphics/pokemon/poliwrath/anim_front.png b/graphics/pokemon/poliwrath/anim_front.png index 3e63a0c1a6dcb5c84274ea7e95f6bfc90b6d1fb3..67004c7133f976391b97eaa47b74fc04c87cabe6 100644 GIT binary patch delta 1221 zcmV;$1UmcB35N=h7zqRe0000GynhuYDq*vR9M69mcNhNHWbGd7#f_7k<|>HV)zd@K{DV~7j~!6 zVQZ#bQiKLD< z_Z}tky|3qe9shYeA^&23)(!L@@(B2>+oLD&8+Cg@lfBg=9hwpnce}mxq%lJ8C8b?3 zlcW(yI+P}-0G#%MG;9FKDAT};E_oX@B++^~`XNZb!He+iC?al*R{GoMH3I3+BLG|% z2_1~iDTGKzqt_8}T(l@n;|@*W^UZ(goVY-gQXC!lq%k-!W3;b4&nF4EAjqTv+O-R` z!1sE00LWy6hUe;yCg4#l_DC$0y7IGtrW18P-e?!BtrXk~-&=Vd2J|^tZlzozp35D>eCyjkADmsA4QnWJw}dOieF<5@;T zv5>pFn}|TA;C$5{RsGO60HPIrU}?F zk}joY4)#KQC}4Gf#MTngeh)wdr~)U}Gr%YGaMht*8rlzmbK?r?Odaq!w;i(26@Gq< z_ZY#yw$Cp#+R~np^2&d-FVx4n{XLXOX4;`A)I7q(wtTomyZXxn^o(Ffe7ja#bBC<4 z#BYo03JRjyZv-S8<>tgb+EF~1nEW)&brURZw$#22}kio@Q1I$ae7 zw-pHYhx1ubrCj8&AV-1pd3C(nLs4eTRUpy*`SU3hKISM8-Z=u0dq1-jNSx3bKq5|OKQa_Zzfm5z+t~s_eo!F1QKQ51ZqICw;pbYI jpVdxo6T#X4s%ifNH1=%`MWIN$00000NkvXXu0mjf-v=Z! delta 1165 zcmV;81akX_3eX9V7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1WrjrK~!jg?U;#< z;~)@3LrBMf{r}&)ePTT3=xDSntrV2eI5zbt@R4>s9^dwDf3bxSekXrEpCMj&p8!ez ze7#;qh_vI?0_QDa=MWG;|3ZlIDL^-YCV;~e;VBJC(GQ3(9-RoL=LsMMoCe-+2n_%Y zg|NM2@L7njh=4bLPTdUP$lLo(02cwRChY!B26zSJDZoLXwTp@MIt2s>Fn9>O_PAm( z$TIR@IQ1(4>f{s%NB;<@`T-$l`44=)^%6Qc;gp{Q)6izw_uK;Tr0x4w74)S=@YRs_ zy(j`VcP4=8xBcF>E1`;PGv%D|2w$^{$u52 z=a7c5ZL@&(aVJ5Pp$2rkLgRNI($xa+x)JJXz$|Bf7(C>az~h6Oz-4Up7t37$5fmXl z?1||5Wf4M5O|u)>_sb-N6VW`)oB$-~Z$ONf$EjD(r?M5=lgMvCFS$ChZhi!iD@NK0 z{lvhCx@$`g=JBDp|$DMuJ@~AzQ#NmigYGHmOWUDp{m45>OFVSXI>GjcYnk#7x zNLwm(5|@R{TsJbgh(2@z2dW#@Ce5}TCsVb5Tcr9VYl8$MC!RsN0Wz1a?4HLTCK$P- zZDWc#H3Rq+k7UtL5)7(xGxsg+A~1l&Hve&g0o;pA-S#w;RA^7)$M!tIpjQH{<#GIW zjo3SA`MgdrqE=na9Jr!ID7X@gd*O<&ivk5lf&uhycn9c;1Dl^E7%_Hghzg+hx_N?s z5n{Ipi51WU82tnzRDD~j!0BL_V4P*l1<)E;Bp5c-<)*Dgm?y!w8z4e7z&gRWk1q&| zP+EB}!QkQhuYBN1F!*Ze$?a^Ytear)yYr&johBHa#rp|ZBp9nOZJA)K>P$z1u>>p< zj8&z(OfXiZ>N>$#16B!!)50Xda9WsbB^VyUBEeVy{`&+2;vm6rCJ;J>pN~Ml1ARHW zCK%wh(8dQ%f}y8(2^hx*t^i>cA9wqi=oA2n2w*_SJk*cndxPr}GDMxwf6(Fzo%=nw0)mwX zKt`cI1-Kx((zYJShdpS3Bm|NnHi16@qpOHm?UeBdz$Iqwl+n}zFj2rf-|aRIFx>0V zM}W>M&dZHAO`ZdtbIw<5cb@m9L*5}Eti^GYz=TY>2V`ws8E_$Nj~gq|*`zV}+FBs$ z+3>c`Q0LE;0b~M^Tsvgo39RA6$nt4vhGfR!YZ^8@tqAojzGW=875en z4u1lB0}W)3o?wL4i_*V#8i?JDsr-$FFz>%9;FkFg$z0ef*J`DiAAvT2z=@iA0K?5B z#HRtULoWbk_bwp!QVXCGc>NEMLlLC`~C4+D1qjRh%yqCY~kD?tPA*du8&a&oY$3m vLuDO+cT08jBlz)vI0RaEZD^4n)JOCeAOqqaB@m6v00000NkvXXu0mjfr9S-c delta 576 zcmV-G0>Ax}1*ip(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s%=xK~zY` z<&;fM<3JFF6M1}qj@yetY*OR^I3fEhWqgL z7w9}5!38j^O#oyZ#!G;IGiEC7>X8~8K?@`ykW8@&dDjqkg4#1tgCASA*Jha z=_I~dv<9yS2Sg(m-qi`};!kCPn00jQu)|ptHUi_|>BX}!A+1Ay&iqO%tz*asx7A+# z{Otg_F%d{*m|$l+dlawzOzz(ATSlv)Soh8~L#~r7Sfe85TM z%LxT$`u|RriYWDeByu;{E|j*|AIhTG7{CltKv~FrQM;X@fC<6UTUk0FV+q}@t#vBy zt0!|mx9%(2V}4)PZ@2bV%nR?xp+%aX*7bYQT)Zs>(wxmRrhvKyyd$OBqoV@aCnCyN zP^txaL-Ic0jXWQ-5IC(X0>oJl;Js2kJ>ESa4uQ^F8(M@Lul4t>!QcZR1L7Wya&~9{ O0000oWXTj{JY`8gu8X}S1B-77-_~Ra3vyry3m1dI z38+%1O0Bm$-Pyi-kFh^}z%JtZkpaELolG6i+1Mf6Mah}qAW27rF~CKmslozf6#e4WQf(5 zNQgalGJ79iKFcp&VzU;hkK2l$->_&_ng2?Qr)pcGy$R{(AuPHQD+@Q_6F?TILpxi6 z8?jg{3H5w!P-mVNdn982@%*F%Ep!;@zvuw4ikL_UWY&*TCYQ(-y#k=go&LWUWYI)*>80y?63Lp0I%xB;mB4A00000 M07*qoM6N<$f`jgu8~^|S delta 327 zcmV-N0l5Ce1DykqUw;88Nklo483_$${x+Hu%w`8a}$Ec+HxDlJQpu{50 zx2+`&$+-z>NHix-+{U-Nk%7%jI?1;59%Fy{fQ{n&fdM_my;5{nkE*UUN^5fn1?UpW z=s5vRskN&(n(3A%%|G6>ewW7I0(_OrBvHq$QezWrc+S^FvVS#KpBP#)krbKPEA4wy zx}-AWyS+ZTJ( zu(og$J^^HbdbEobxDm@}NvM}=gX$FRk%;}r^OFt~=`hlN(gB)C2ZwT@!$5zjgQLID zVQ86k2=pf%0ziG3ba>F8bO`i=4l{iQUWY&*I80yBOQLx Zk1wz4#o_+;(Q*I)002ovPDHLkV1nR|pdbJM diff --git a/graphics/pokemon/polteageist/back.png b/graphics/pokemon/polteageist/back.png index 53afd3c7d578bd3affb88e008a3487afbae65d5f..b379f1fd22828ad00c96f011d941601f0120c5a3 100644 GIT binary patch delta 534 zcmV+x0_pvR1^fh%B#}W-e*gz`Nliru=LQE2ITuik*R22m0pCePK~zY`?Ucc4<1i40 zy@I9JI^+Qob)mH2!=iuEiY2Ky3 z6sK#aPI@kMAO`b&ni-AcMA2t_%!m*7^Do2i?+HKm3t#j6&*MHmf09zH_8987K&)fJHQZV*($J#7e&%NY)_C> z!ZGKqLWkDEf)_=vH3P3Q6#tZJ-^6K!?}S)SQ>pq?S;(;9$&;vrgMnH#lXy%-;!OSZ z?-Ma-o(l_@l)9I8e~R}zakj)(Q!m_Z@$wjO=A4mM-b6=D z0i2)s)jD&=>IXSZ#Ne?Z@Q~eQ#upOH;sFT|ZY~6 zp1FKHQS??|+K<5Z=Pv!Rz7?FaSZ-3P!VA5c5QUR8;|-_szYw+=gc_$3AN%LO`bUcw Ycf&WmL6#-q$y>bANKX#)cjJry37-xNM`ii*;SirlDK-ZT z^+O;wxBECFTBknt2^sN!4`amD9)s09tWW#n?rE@Ln)36iTCMxtn;oV-UTdD3%oJV{o#CDoWHK)o#h852qMHG%lYST{Q zF%gMN^~-tB--*i|zQxW-DJ?1pK}~)&)%Xub74=sU*?5;4*=o>4S)b23@H@S|2wO^O?*b*4>Ups@B zh2-ocYYMnW3<-2;fgl)nUtlKBLOQF9oLk2z-C;i$B(vf^!zjO-?bqFlY!#I7u^o;#B_=!Zw4@;8f#h fPu}8HMUwmlcf&WmZlv*000000NkvXXu0mjf*5&_n diff --git a/graphics/pokemon/polteageist/front.png b/graphics/pokemon/polteageist/front.png index 05615b431f09e7185acdef53c413320c28e6901a..c0524480569d652f0f56542df15ddf31d9e58e08 100644 GIT binary patch delta 592 zcmV-W0m)eTF`nEV6a(RJ!C3Lc{;3_wMe!cha;w{Tq>k-M)VOe|R_GbRV4T^x-9V zJBTLdz^0$oz=%067q2^Nz>L2MI#L3Sk$Dw6PXa>)v|C4ce052PDn!FNO7r~EQby2> zWS*z75vy03^GIV*!nD^`q zS6Br`2;6){KrjS;zwgul!3}4pAWj*)r~&RF-~taJoHDN{e=-E_S0)63Ps0#*!KU0R zQUvsN1<)yVaEqKXasE6-K<`!?PhZj@XLP_gcxgJzj4o+a%hi|JU_5@r0leAl`&;xk zYOc%0a`0-5wGba?*<#DbhLypRGKw<&pxdhHTca;!>6ZoX*7kK%-YQ$P>U-9|1p=df zF!Vz|SO@S`M%NEP4;B1SO_o6p*C~|4tKs>TQV*{l8Koli9n>qmUUH!hQD)ySF8*@c e#&|s+*AZAXyb8N2)p8w2}P)2f8tZSSb5C*NH(Em9;Qrm=u<`Xy*lN zw%9L_GoN4^6J+IJ%4@Q?pTT#}Yc|P4STtsEzE4$bA%8CZO3k%A$*N#!L~l{!x-; z=Y3-WvEoIRL{?;8Wt=S*>zOq(`TOe})uKk=T^>a_e%mE{zxdbfIM3sCJlg{5di4qi zsxPB>)>&K2t%MP`i{ZZRULvFsV5}U$IY#U$_mkGC{?#IkJ8UC=0)c@$RZ2~iJgFT! zj&rbCV{ZZ=R49fpX*zx8^vgADG8lpYP~d@ljMJO_%|*Ns5J~|O2J#GnTB!yC_D_MX zoC@JRIl~o}fe`{%Ul33Nf!}Xi6+mz$#VM#$0naLcI|vLwPGK4fFV9m1?v^?Pfe*te z?m~pp%M%1>vjk9o&RyK1ltO)enjk>i<%dUCd?*F)2?<`3%u}n)8l|HqU7hyE;|CJJ zo6o<$Mt|eZsa~#nFUEKm>is-jZu$6Nb+F=sqijEDH!9w()z!N2iwkd8zU#WaQMzo9 zO8GZHU{yB;J@kX?0Ka-Zp$t7#@Wa$u7CXEyVQgN4=U2!w+`M#V6*6`nA)UhO#9z%3 lMfLsM4E$9@ZuS2~$R9+Y-^=V4&a(gj002ovPDHLkV1jmc6-NL7 diff --git a/graphics/pokemon/polteageist/icon.png b/graphics/pokemon/polteageist/icon.png index 22fba612d42ae1d04bcf9f3e3bd77ca2840c0b2b..d68d213e0d9c0b77e07ec2c9723c575882fcde8b 100644 GIT binary patch delta 53 zcmaFH^pj~qsT6yOr>`sfb2fHfYniW^Im;Os818twIEGl9o>+5BV7+mdK II;Vst0PU3$1^@s6 delta 34 ocmey#^o(gjDf=By7sn8b-iiIU1b)9*(98e?p00i_>zopr0ROiQwEzGB diff --git a/graphics/pokemon/ponyta/anim_front.png b/graphics/pokemon/ponyta/anim_front.png index d46f4d1637c143188f3808e5190d17a9b7ca07d4..b32f2e0984c0d2964214d53e972a771b48546fd8 100644 GIT binary patch delta 1034 zcmV+l1oivD2+jzQ7zqRe0000c2rSL+|5wwUVZBX z6%WutHDDY$K^2-^fU-J+K^@;+rxzGOvxt`C1O0e0^UH19YkRcwes}g?$CIjTyB+pz zcYf82T{9_M_1Nk3PjIj;)?$_PGXj6s!~1@95opol^Fwwz*)9ZJ+g|{#Dc!$e=`^o{ zUG?URc$QGwVF)~*0KN_GJg`bBWtS|iSS4bK6uj?qIgF&i(gT(TmSfpGgU|P6KExqQ z&l$ri@z_|zab-U-x{)COZv6B?{s3~|7$7;S;n~YY$bf|IVznvy%A5E@LK%OcnPDPp zC4{nc`i!ZcraXIyCIM4FJr?^_l26|Zpb_CqkOGi*GvEwd#i{!=@pdTf2da-Sp7^m= zuvH&noLqDN;07ZoKjXNCK%b4`qyx&YIBqpCIIK6Z<$T9-W?r^v+jr~D8^+{Ap8=x- z+P2qg^_caQIn41nZA0)90j7Vf!5ojUyh^=}MMTQ)vp0@$pN!$o8A~<5K4pEj6?^FnEJHQAk?S0rfZ=t6%?VU{su%J0p?VTP>95HYi3hlMBi(EvIuk1{FE24~2 z;DQQBj=|2V5CU(Jy!O`cwWru6o*^&qxYjm?a9;5P>gIr+ki9 z;~)%03&G%l&Gi5OcKrZCG6{rME3I~GsWVlZdoYeexjY`9_-DhsDSuCIj5QoD>+M1S zYhNXhe&H8U%13SvuxMD$K^Sfdpo8=HJPm7{nb8AC0@g03gmW_hA3y-42Sm(-iTr&C zh7%xt2wym@r#VD_BhwEdcm|xv`*+s^rNHv&zx?T?G(eX?0Bb^|Ai%kv2pt4c6-@M) zV#FVpQAu)>Tob5_A>c0s94<4t!Fm9QtViz^utx}hACsobkC8ZmATzi~fje}$d{k2u zfD};x_6V^2sM|{bR6Q`ja;l~-Pg;Z001F#&uWWdFLGW@b_3Hk({JgQ#Hm=_lT zH0sMLdU}R9lM1MUve5PQbt)1;2vk@Aql?^Kf&%!4nq1bBjC1*af1&bO-vpL{oiJQ~ zq4P(%NlCtI2a0JXKtV|9xli<{ve86ZGX!2K#FdZHx( z)|V6}b{&|ApfjK~1j-!lZ#f8%Pzz^Sp9wft{vhxp4^fOaXLMzgA8D7dmW@ObgwxszZ<#NqUU}4={H^XnxngA@445Sz24hX zK-axifECwrO6a>+9o{Z8?)7MZtlYb*In%^|C!q-0KOzN);~%2lx6otd7+} zUlR_0?sb1|QZpE>c#V6twyA_^9rzfaj&oPY#)S9un|p~ z%NGt;+^h91-Pk#d+z9J8mZ>}nAZh}=)69l|TQM@B`2V{n5E+mJRSC4$ncB4xK|K## z6J&v!+v{*Kp5GbZr9~(8;+jeV0`PP45^BC*Cy*ZA0TlhL{ciM0$DQ;4C9?T{S>M>- r7Xj7&zF2`Rljr)D{^R67@yFvgEjlstvyxNo00000NkvXXu0mjf%ud-+ diff --git a/graphics/pokemon/ponyta/back.png b/graphics/pokemon/ponyta/back.png index 145f7e1f26c9dbb92dc93f1dea53c58a2d8db485..b999c11da73bbd7ab065abba6bba67442bf90856 100644 GIT binary patch delta 634 zcmV-=0)_qU1>gmcB#}W-e*gz`Nliru=LQE30V8DKA-Vtn0z*keK~zY`)s(Sr)Ibo1 z*AZALJ?lW>Dqiyf-pvD?#Y#w5(L|h%ih?Vyqlk=j4G={_ehW)BXHA-G($MFT=$YNM zFOIUC7BQ0D{GVrLXU9Kd|4AhDa3Ml6EP&pTlH%N}M=A%KLMcC?f4L=~P$8l!lmx32 z;R9X(Hv~6;Ong8EHc~_6-Yy(aNGLA7DfCDHyvA#94Q+}DdbY!L$pR^OZW7%10j6D_ zukiAR_5!AehO>3Q5{X~8vBY83`74Y%{%WpRI0Krf55W{m3*5eE0mA7x-1~v}H;%v` ze~lQi%?!~0+00FlIeDqK1I|v8d1^&Mc6x3votH52bxJy+=a}4P$uDAs3zXcs&Q-LBNY!O?V zVSfk%9nUkYgDtQ%YIqKKi39-FyAW`S9RbVwDh!yPD}PrXe}Vw%{9+$WVF6m1dTbMt zCrjJWq%yQAfPpGU;^cffC3beF>iTmefxL)pAWGOtQ69IN07+|E?^5;FxK$FRk`*eM zwi=P_@Pddh%0)@0CRE8DfR2oiinMAT$qcB-=R}6-qzRK|F#*)2F|rvT$y&>!A&r2! z(Ud;5AJbs;a05WcXpN6i3ne*XVRV2QaEGpjZpr(Nap#(3y*Td6VE!54B2T4tL~*9) zI$QVD1Qij^l5?=1>-oaCgWBNS0s7Hx-k4E2R~K)@6CiGe23?fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!B$hK~zY` z)s(+(+b|Hu>7WrZ>Zr7Xri$tdh|B}TD1ic=x&$?xsY5+@>kz1bm$pHGLT@2Ju8qs$ zB}?}_QuiMJI91wX)}jYU%lG5m@koB+e~FwvsZ>gabD;mkX!VlSC#C|Q!Wf>g(i2dd z6fv!h2Coyr0nb1>LOMWy=NvEvAB7_-wu=DN8tMx+g^dKj3%q7)SXV^Rx7uAdB9TH? zF2M~C2pjr*ju&4o3%DW{P8XZG%6Z+#40rQ^uMl^%Shw**`YHokxgz#XrPCDhd92Iq;h5ZO?elIEDwMK+ZhaPv8(i{%sy z0ZCn~e1`2l4Ggj>u}!uh7HHuq;1~%2Y}YB^1P20U?Nu6ZkE?pq?vnuN@@$(-;Q_ib zZEO?%e1RDbG^rAQeF_j@nn)Z)TU#Iw{!X>+hlvLABC>%=E{^JG2P+R~x|Z#_Ft43k z<-+Qdv9-4wFJGa^2k5Dl4{G6z3#z(7VwMS3%id<0C%=TwQsK~pZx`2nCVoso?I zP1f2x7*Yh>i59ffFQ&oR-vDi+cRoffG~|f2(*Z`n9flfUwkPj*#$8#G?V$y++POCa zQdNcaj;K!USQm>8H9gb#Bq9Qbh=~>P*)P`N-1mpc-RT(xIc^b)AiL>z z>D}q&PSsu7Zn;4mJU>1E|MOzYvYya63VimoPmS>llK9rMi4h11e<6uA!nr8{Wk42S z6A%O(AS5^+Yc-At2^SogztX3;;4zUR^DGlkonN^@p^1YQ2%7j?*y(^(R)y#E02@u* zp|tjp!A=JRl-4Oo{7I*H`;fgi0#tM|*<3#k%;W7xtp|QYtK;&Ewh9&a{-_4s z71v+;jiL>)NMQ5%f7T#T$;5E8eJ~^tNn(I)uD4L7c>NE+&3^+4$wkKEf|2` zxs#czu8cY^0SpjwP4i@c$K6Dozc^(jSOQO6BE!xgjO#7UwZI#My!v|CS?o*_4W9Yx zPoo9sN$V(A%aA@VDs8NEKp9FvaolP+aM!*U6&m0e$~);m+L0@K*#BHrg#=VR zZ8xvra9f03PzUK$5jlnr@GTS$8i8~)RSI!n4<&D2>opxA6|fHFkFxFoLe)q(fKc9= oxPrB4B8wmqABcPY6h7I%0gN4dqFt8f;Q#;t07*qoM6N<$f=YZ3qyPW_ delta 617 zcmV-v0+#*21S)pEQbh=~>P*%O<;arnpafx5(xIcgD$pu6dJ>HU#(=jbl9OX&^b;Qjf1p67iJjQ*#y7tGk#IkeVKNisvP##SICgd}L_ z<+cWt0a@VLfFR%iA;HOi$f&VLNO;bH`CD^~Q(hA-G9TFhd4A;ij zCd+fWg{7hHQd)b+U~K{dO6wLR{$x^EP<9C6bI9IX0V*b$EN@>1=JD#I(E~qX)N%F2 zm_i30UeuuL^7d;7C?vp>B(VH^Z;_BPG2E?wS{jHZF~BM}TaYb(&i(+n`)j}rHJ|`^ z>cor`k;U-Tozzj=AuD0?JS1{P2U^UiyKfg`B|*rn1EA|2AVCJAUbq!-snAH}MhzNu zgYj$eDBg@ZfE?w>!(yL(uZJ9#<#-1OY1*G+;iB(N51j#Wd|e`Am22FaNWeRB2F`e( zo8$m3h159%ysN=~c&Y)Y(AOn^9>zMbvrh*2+)bqC&^l1oz!#UO6I34TdG#yJjlesM z{rY;Lxui0PBpN)MX+af04_ZgL9z*%OP&WlEsIpO*fGSjg=D5{x;j#T)R2qPNs2-IA zWk)^X?dC@zgQ({xhz7WU?R^>UI!Gs)$Uc04Z=rC|2&BVAi5A3#4OD!1t=DvjbpUOv z?^Qhm%$Lnp!U2r)*2E1g#1L5pi+WGoZGUqA@F4UXj2(QUp`Ej900000NkvXXu0mjf DkTW8# diff --git a/graphics/pokemon/ponyta/galarian/front.png b/graphics/pokemon/ponyta/galarian/front.png index 5ef1f35211bdb358c0030facd3b6073dbd1edc27..23a535079e5876d5ea137da01f083432b474e57c 100644 GIT binary patch delta 770 zcmV+d1O5E-2ImHlB#}W-e*gz`Nliru=LQE312EEP0_Fe!0?J85K~zY`?Uc_?6G0Tm zm!_d}@ZfYW8&8xI@zzdAI1*iv7%zqnn0PYTPB_-Yw1r}_Tj?@VE}m>Xa=z}gx9r9esb#Kw>OHvpg734j-70-sMPt!&lnjTdAlVC~i@-D(Ok+$foC-JjCu z4=R+t5~A0p2~e5>Dh$FuJMHz_WgP)u1;BwTdcAJ43%f9#OYVd*2mldY8eo}t>8j?0 zIDII-cc}p~j_#fi{q9FG2pN+= zQq@V2Ga-&!4@3mOwq+ruu}bP>&ISVPOH_M}F9F#dbkhJxe2s?nX7mkX2l1bjUW-vb z=k2X1ir(O*Lou8IAP$peB#swltab`8y*@7|&5_VHRPmJ+f6S4{jA_T{qR*Jo3DH1S z0^~3OM5y*i=>{P>L{?2E!2TLD4$PTmrM@zn08F_ci30$@*@_lr&4z235d!}eml6Qr zl@U~2M6t{=i*2IK*TiEOI==zv$74vPZw1$ZqVq=r?=EHm84Liv_yy8lJcbz60BgON z05-w+2&8^ae*u2R05}1p9mR*>d@t^ZL2D5JT!gq`2BDQU;J!G6f z1C4=i<>D&pL@jJg0Z0v z9(T_Vps!b<>%AcDz$)OtL5z9ST{l2^3P2dLi_&3nq(~UrZ6`gIdYCeA3{z;9y*sdcSw-=4t}afQ`Z4 zm;5xqxmu}ng3k(Y{@QEVNKX;xR{**4zujnm0j@ZhkQjVH>9cxxvl9Eq+-j2A-(Ogx!vCmd^HTA-NhR=SKW7f-ex zIbfN3w{|~(4eZs#MEov3^RjeX3VZ;4k~TB@|2;4B%*-zOw`}1Kd9LWXx9D?4n^4Nw zZNLiMqV&cf(qGxyY(4jX{w|=iVt~>Oz^7&c;KiB1=Tl0{+qK&63o;Wx`&CM}>p~1R zi~7Ob{Rw^ks7&cAA-YYP0L2NQ%pm=v z04u~xcQq%(*+cQYLk*B2Q%!^VI}Oo?W^DN|%|1~rNrl)KXFV=|L|CTGPjs5vx_d(O zIv+(pWK04{SI0@tg*a(E5D@@72w6&F<;~!Sv&pnMR$h`t|3dH5`@cGEP@T;C%$x`=` z))!10ph(9LJ?>r{!MR?8Q||@o04R?G$70N*?uG$M6M%)GO3s+{!h0Cr(vu=Zs?4REeJbxrU?0iONO{4g@y?O#y-c00A&bL_t(I%aMF3e@lf4gzI1% z>PVeBwYOOQWuNTRhtQuYF1WSF2`lH-1U+L+$bGNR;ZrOVj{3ON!I81{1EKMnUTY|d z7a$xn6HHm0hRp%9;yIavv8E|uyNO08bz*F38eDb|UY-uBX`O|EmjaMT1?Uqpe**ws zq^{sS-1}SbzX#xKfxvsGe|zi$vVps%$+3QW*H#X=v?sLg2@JmhBNAkRkxaM+M*7fWT*2r-gPCY-d?+vwzUi(8 z43HzY!59uRnAwL0q`^oZYXHvdV-XY(|kM zqkJp@Sd))gkjJzSiDy?}Rz4J%wH*%y=8F&cOCKM=Bf|9CBdOH@0000Nkl9C6o=mhf)CJRFfw%MoZxd~8=BDB)jaGxu`a=ms{qpUhc7IeC`|7$-L$aBG+G!~Ilcx(1Le z+=4hZ!f@%nzm-N9)^Rr;g)x4(SHCLSrTyp!jlxJw$ok>x8icWa1mK0Seh39#n86QP w3S;~@tc0n53X_!!Ke|urN3rsQ|Dqq?bt&%%7X*Sg01E&B07*qoM6N<$g4n*YzyJUM delta 368 zcmV-$0gwLY1I7c8Uw;8nNklxE| zbCoJ(^m2ru0~Iy0lqEw#dNv%S?3LOZkp0d!clHzF4@Nr&wwh8=C8V$io}1P>ap`aX z5mGpDN^gKV2#G1t5EoP#9f3;q;A&B=wzBifLY!-}%H0X;r+;CG+$+cqm}$pV99sZu z;>5K>VaNC#^2a#Q$RN32KgTg_%3+I4?$!_kq}d2y2cRM6-sFo00?l@8yK4Y;_1F6d zO{4hIOH27i1200Q($L_t(o!|j$qZrd;rMP&lr zXCxZU(qbqeO;#~^0g|HwI1!6pAm|B_u3Ml$>Seb*K#K0W$n82qIR;ExTBm>q@WSRZ z=aZE9e^s68|EtA{K4&vPv#u(=o&ls;RhmAN9eQ&n`Y;2;uzwc)-FgNu> z0zyI{U|MAhV6Y!Xl|mf@q(#I82<;0(K&m)+`f_0|d_JxKmLDHuL>gHbXU|Fn%O6)? zc7Qbnu>B42?dmZOh^wkG#?_gK?Vqo3{`?S0rYC@=z(eBl36_zI2-Ql%3p&^lL1VW& z!We@n(LoMe^MCk|0E-^#!#(Y8UtYR29!#1-WqU5V_~9=%Abkn&#a70#LkRY!)X1ee zmKf;&&NvcT9xHW;4GWOqP#*!P%LYtZgOqJ4Vm#516r%ITfCU{H^^nLLence!(j}lL zLSy+@?YQ9Ja~=YKN@`j7SrXq~K8(SZObfO>mH z3$DvuXdSw79)3paV{eY5M^!jE4RBWt;H#r8y1Gt{m=iS|Im{%R#(7Mssdu=8ww}G~ z2w2SmVtVpZo$6F?w_t9Nt_2b1Uj2q{o-h+~7G_=PVGam4m5%#-QQoui&a8BN6`=}S ztd;}T`+p20%-R+}Od)5SqOpxDQ;-X~-vebp;1onwkRr;0e8(7zIiYaML7u@f zATw)L@%r``Ya{_TPD)?6yBal`B+)9e;WA*Hl`B2q|^{VpG5Q!LPL0Ccdg zKt9C+k&aAr`WQGs6lsfose!Xe+iy5P6psv@VAV3vEjR4$nT3w|p{>UV0;Ri;`9ai_ oA0s-|=5g{cKd4iFIMr1B18}R;9g;#kwEzGB07*qoM6N<$f{QqC>i_@% delta 801 zcmV++1K#|R2Z#rdbbkW=Nkl=c>z+R12_?j zULfcRlCE2zKW#7#Jv0Kaj{`ib4qBn6k4xH)E%>q(EM}NR^l?{N!ei&6sJq0L- zhzXD;6oiCSaR~IsrM(RKx&~Ojdx{ZhrLx}TXHE*1U#~yz0A~we`vc(f^-~-WS7KqU zuQL(bpP%63 zXeI!fvH_d+pj1zXpHNAF@(JjPFj&4-Dkwh2;76crp#so3 zy3jAj8HEak4YGhX8jnGRyo03gn2>c;krD9#-ktm@H<)pbO@ea zRq54nfTtROASOq&b)5z=Cu=Aq(r;%q_Te=>@#Ea}fu?Mp0cG>UK}VaP>QtxtcMIkg z=~|F80fa&h-8|h)$f@jFn3;Sbs_s^pxX%~mJ*)2R%EVU@y0AsD9I)PJ7-`q80AdO` zV~d4b_pDByZLEg!lR-4ooC>#_Y*96oa;p`;21KsK1M2 z&})Ji4L;k%_8C&j;e=rcL7y4x)t52l4CtKg7Jp9V&dUjfQx0+m$AHSLS;w2Z@2rso z+(2of{4JAZ1B*(uipdr7Gc@6Qlkfpj7n}M5;V;~$ai;y500000NkvXXu0mjfbqt_W delta 360 zcmV-u0hj*K1lk0UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80ke^bKYxnk zeR*$YY;>vrUN~~kqMo)0C)F~L>J~My4B(^QU%?un^}YevuOvtUtALDm>j^P42JPaQ zSh73^xXDJuWGOgiWoay!9KI#Rh@fB`YC(@93jv0}frhRGr^f-n3JR3CcWiZN508Wg z0u$QkNJY_L0QK$jmP$vEn6ceagMZ8h0}$frL)^XF|4YVLUTM(TU?7AzJa}NEN|u+P zRLvqJbL%gBy|{>4LARRxRFD(1L~F!*^F(0=u$ys}`-m-}JPd9uOqC;`7X0%%>j(Fp zIihrX;IG%z0UC%O%@8MM+c8b>Hxd%a#;WELfvUkCR5tO{4ha+#gbuv` z008evL_t(I%iWSOjsqbKMY+HV*?ofW0mjs<9a`VM-Q$m z08meK34ZFHn0AdMpbA&L7|1(vx1b=F5q9Gh>4Z<0je57@8cCy_EmGq_ zxwZK?Z~2hHeJ;InSq3+A?NNp}$PeA0^HFLf$9%~8pZWL&xDjiDV71b500000NkvXX Hu0mjfC})Ge delta 270 zcmV+p0rCEf1LXpcV1MvQL_t(Ijop$xZUi9=g}Fe4>^_U|0mjPpB1LnP-jWsMxS;Iv@jD77HEkTT9u-*T4%As6EpgKoc>N?v6#jtyINiPw$-AM@ z@&w&E5w7lg?6XB`JSg`uFXwwcWO83yZrkK$t~1IM2l=7vF(0Kya?XeB|Cx_pxDjiD UAeeHa00000Ne4wvM6N<$g3*?H#{d8T diff --git a/graphics/pokemon/popplio/back.png b/graphics/pokemon/popplio/back.png index 923ab7ef8c6b2d534d564bfa933b773648ff94db..84f9b41a4e09c5fb84948f5ccbae7d12b76d62d9 100644 GIT binary patch delta 450 zcmV;z0X_co1D6DlUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M!7v*b#7f z0004cNklfo>TM>ug z5tzYacnDNyYEs7xhH!TY?fs?TYPxp6*}LrRU4mdAI|+a&8h>ufXBh#8+w$2N03<#6 z!>j{P_`$IPxd1#kxHxz6g9ix+Q6(;)rVc1`RX|pN$S*L_kv4ge(e|JF`!zS4L z?cM>P$NY6_gUA3U&sXji^k6T=U%=@?Yy!K$U}OLm*3S;Zg!xZ$dV33cUCU6aK z$kU+>5(9t*f`5_~+IO;89=TZpgPB%h<^c1w7{(r;mEZx!4mhf7tfF-rv9Qw%N^hH` zB)++?R}H1K5g~{tA2u?tfFPcs4_BX*PF5{wzCK)m3pzpk6-&>hLBtZ)!h1XA&~6oK zs)blqQg}Ano|RaM3-R3xRHLifx5Oja2w#4XrlcD;-#bAnkf#3viRV%n0DGRGvIA;1 su?GYOan1!?C;9pZ%FO7=r28`7%2dl5&qe*3=P?`9@IrPL}1%b)zoQfGqnJ zNQp<`00jCMR4swoO{z%^beF0AUKy5%)Jtd!v@@sL+!)6n#}A2yKsk-3CIbKf002ov JPDHLkV1iK!xQze+ diff --git a/graphics/pokemon/popplio/front.png b/graphics/pokemon/popplio/front.png index 3e66227b4949fa9ee49d381e10f34055a772a2a7..7274f5f1fe27047a568b52086dc8d506b5694a01 100644 GIT binary patch delta 496 zcmVAxkbE8XC0)kOSF8*^YgA~x%jh8eLo($5%e(jPy?;B$S?S-3Qd;Z-KoLPJ zyLRGW&vBu$qX5`2`D-Ufjt9BQCg8Asyw7+6a9Iy){aZz#WsR#atPRFJ@cY~hknn8O zS0S3Co+V4!$p+)T_oSnk3+-eog!kC)+O~pZ*~LA7R)8f7Ct=x;U$=)CSt=!yjN#^l zq2N$8W|2_DNPj&d1z`jT=8B1o%?)eKeKCEpbbI=iC_mbseN4@M5H!?8&9qE0)`Kr; zz?8#l@Iy%H7=ea%^~+oXk@8*n@+LU74y_CViNdxCN=!;bZtheLAVc)bozil_ZxsR_ z_=yH=Yq$VaQUJKhsmhiH%8pCvGUYNgivlAJ0QG(i)oI)ZRV7XJ+0yW$U*h^q#fs1X zcz}!BtM_MBnfV@{9~#@opWL6rTiYuE;hTueh-mE m9i6+l;HJ{S;?;%!_xc1~Vy-v!q8-8j0000A$s%5+vkubNC0+FkDCpAJBKQFU zPF;k|z3D|eGzBr&BGRqIE*)+B0MdQ~MQ|#(bab@7Yl_hJE}M(=5ABfu@BVl1-aE_M z=--MlmhS^V9>Ge7X5!??vY~W90PN`et&20ug-k^qa9TY-=6@mwxUB}2~R+a zmHwy)ULy2>6I=}wif9abhEvK;+8-tEn@Z6a+DR$GeQkG5SK*}T&9itXz;FsH;^{!# zw+C1^RO*aVj=N)yp@6dX6cIzL(=Tj6s0AF%)O2K13s~{o52qh`+nRnxufdV>i+uUuUmA*_j{3gD&~ynTE+wMS zcPayrBf9!dDcRt~xqu5^qyW<%HbB|Q0c>*0GFCv*vKd>YY)-QnVqF2i+_j;a`#@E) zmU>$XUiJ$@y{RS<3IG>y`MTV`@Oo;IlyjhnEB)dFEJM6xi&~xvTkWS4;U3REwkYaa ztW7QTaO{4h%2Y_!Ha! z0068>L_t(I%jJ?W4uU`wM7hDghP5=(csZJ(fx^aZ*uqNAqMX2vhD{6-XoQ&kMjHkX zATdt2n>YVYekKThOrkpf7?8B|Q~{6?U-&&Xgh+9S;vVD~!)nl0u!L-@-8zAtkUqi+ zcOLuNBD~lGH_oN!rnyj7IlV;|eU#U7<`I`Wo+*QY<6z!2aQPIhGkKj_B|>Xt?d(8( r+nRq!D8NiZ%=vkQley&70XNCJ26PM0I}Xk+ig`0LX|h{2m)Zq&P%z2ht2-Xe(Gk zw$*N(z)naPVTA|VzP|`R_P~vE>A7hxlvPfjA&EZAYdO=1%Rn7_N^jsem^TevJ_Wm* zyiTnWp*1qL7_-OoePn_^nq>+z9KTT*@h)AqA1}oMoWN!!Inw|D002ovPDHLkV1nkw BRLuYY diff --git a/graphics/pokemon/porygon/anim_front.png b/graphics/pokemon/porygon/anim_front.png index bd6c3310338fd125f7f3df577d283378d8aced9d..9d79f1db3070ec5ee50687dd94591529abdbec69 100644 GIT binary patch delta 730 zcmV<00ww*A2CW8=Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M!H5LNKRV z0007zNklzi-n(6vtCfj_APEDiuvzqnq7GrFuro0vO z`|m{8T|bgXG7xW^^<8-yhUdZ=5lDF)hG))*Eh*(*_%d7q{-6TvO38W`;o0&WNu^U; zDJDek@_Yfbp#mfTxnOo#KxgYf8(^mAC15K_1;7BU=Bt1<S*=bvj|4ThoCC5=e7qhy)Y`;8`<0VWM{jpaul+ z!~nSv;si3)B|8B2KtSBnz_kIcuwL9N3cxL3k1KIfusT2#c%gSHCOY^k1^7`g_FQrD zl;afN<2&AW0vYE-08F*kHyD7Oz7Sg&1H3}Q1i+MN;eRQZMhMJp0C5UW=aJ$F*Z{Q| z;qU98YJ?B2YyfqPq1`$r#aJIYKT(?$^ST*;N!?}=Hmh0x)w|A`Q5JgfgOk9i@eREw z`!3=TC#008!buqm{~QKavyF28n4%=xl@!o@fS2UO6I&MuC1FR%Kj=I*y|wW zZtXuPUnEn+O`@}ZjqD(>9XRRi)`R_P_+29E}iUw;CcNkl1gh5XUc9*@A+N6(S@TW($-A8na4h(jfT- zP}m0miA|j*X)RaARCa`Pd&dLh##B^XHbqRA=pKsMJ%8TKx`OVeouB`+AJ+aZ2+SE!Go>zsH=-rwiBjj@h<_a^<-U5Q7C@t40`{b2 z-Ai@8*hgHN)YO^@(Y?Bu15GFaF+e7mD+ic#6KDcV&8z@iCoTaPVDxMi(1dIgIKqAb z?7D`5Xmbf6*SJc?+PpJQoRrUjbN+|(!**UwNGpJ?#3WkaA80z>P8H4g+w~S7HexfY(Ua0JtGWgc@!p2+Ujn zv5U}T6U`BD0lFH|I55BT5HDQ20BRcpw{%R3us^+kSoMgn1COxAs_6l;0Re5jKT4J|N&FpjmlKU#{G3`*8&b`O@9C zU-G|O27mhb&7xnm_nMk*KP9xaR5SLcg!fiz#@naFxTa=wGqHp~C{pdsD>%<$hj+6zkx0e#p&YEAyeL^v-k;=PBl0by1P3mg?t9z z%fF_VgwA50C4uL6&vVIpSF7#xkHtuP)pnh6(vYzeAxixNo@h9mf4vrw#*zemetE;W ziHKtr(BuXJfWy%hzykdO(2{^j!1bL0j_)>00gAA1&jK0IENh5>(dPqW3$IoVP{+}| z1S%S2gtHB>mvhG6D;i|STt1qW09&#xKonpVC(+6SC4L5&6@J!X7JPlI0P6au=lE%* zQhfa-n|vb*I99$;e_x@WyaqskF;K@e!DO;^&H)ST99;n{ zcvu2j013Z5)pP)g9JvO4}>fNts20Nqk93=G>8aq8-L&~=Y+i1 zG>DG5c-XZ7S&}V)3~)59ZUzZd_&H$J_<4s_@{O?qsOz7elc$qO@r{>!=bJL%SouO@ z#l!S90tC!~x=jtT< z0003XNkl1pw6oz#J-JxTbLbGM*VG0>M^c*k7*lSWsI}|*qU=M*T8oC9A zKH6)TAZ*b|ZcJ2lu=OJ71zIh}ACKo>Kc5-d3MGdt6k8`>}yE!e68pCg{PAQZ8zu zhX}AkzBa~AxK!RQ3;x! zH-Htj!R8h;uEU50=QL8KoDa7@_k(9Ds>BxYKV^O?^BW`Zp>WTo8lM0F002ovPDHLk FV1kT;oJ#-z delta 318 zcmV-E0m1&g1C#@hUw;7~Nkl5Ru?I~vyhl02M$SVu794|-r@NC>5m+}9~PnO|-Z4ev5 zXB~uzdcZ;Jc_s7+;AK_`J@8)Nd{sgZ>$;`1NFo5A z8&XPy#fFWN={K<^E~O1FchvAYwm9;>VX2f4;kIKxFf)^txQRf3Q-S*W0VD9CaGF*k QBme*a07*qoM6N<$g5O{4iOliDca8f00L4;L_t(o!|j%_ZW=)lK-c1$ zqso{xIae&QG)xtbxmgU%aLNw9D)5RVS zK?F&9Er0L29o{2m77z?i5myIyV1R6FGse`@LK8cmVL$QQ!gS(KaG)0nwL|wgLVQAEl%`cssmFCbC-t z6!*Y8?aqfYNiDiiVCF87&-jUf7fFgvAVdbbuuRg-16&@RQ30Hy`)h_Hb&Eg%W}b5> zinUTe50n3-+e)b%mH(uLRw`C;S@ZYRy3}QJ%QewN6Ms(<@R&eM9t0wI|A;_*aE#u6 z1tLhk*}y?15D~AJZooujF7Byk{F6ZNzzLjw@N!N9vAYA`_*cU(bMgZp5GXuPFUSuV za0v!|hGMnd@^~j;Y!7eEeozTSh_)Y?tDgOU1tL&m=iueBYy@KA89GdKjDh%uPK(BJ zYj6_!r+-#IqAHz5jUV)QAL|;yF#hn|?+2A0M85oYdSL2+a8>~wk3WdKe`s3#z$-T} z>a#yUl%#GT#2W)Fy};<^=!`n#Q@4T8?4M(11i}LdP5z)5xUBOB6_5M?`-8e(tFq1? gblKL;E%)EXUm9!4#s4<-y#N3J07*qoM6N<$fljQ5XWC-FV4hkSa7Gjs8T6QNz?%*hNloR zMuKmEE4}~;Yh$U`PAEi*-N~sUwK7vPFc7{$zZ7@RQB>*O1qq1-`9Hb2U+-RQEB8~X zPMv?3J^f^7UGJOr$>!Q}^$#D7X;;_b_^aRF5MT=TNAJuB_J7Uc5P@U5jy|)1ivzL? zf5hI3%Ij)IAAkp5tXBj?0GIw53HbFO11isr`SE?#LLg%%s4y8{o1YJ@CY=#d4+wi_ z0E>fr?SS;1SI2Why3ktFy`EXG0o4a3)~P{c2i^(puv`Q$wJsb`ctE41&jKB*Zdc9x z2Ac%txU2OmrhmZ}XyY+rv4QFsgU8VFg!jf^U5gV=lc8zt0P+p+y5#H8#NddQ&LQPn zWD|O0^s{6PED!+!Ej>@he1{0Gj?S?GjDY`|QQzKyMgUUbKIHk*T8%H0e5V`M+6y-!p00|^K%T#PT#4+!7{1OErJSg&clBjEW# zqb$h}DuIZ=_X9;g_2dU65TW%NP{H z7lHoG(K$}YM!bRG?w>;H1VR8*iT+>-xDvjF^9MWV%K-UXq+_Zg!u5XBgb0YgAEh))5%5f~2Jl$#uL;V zyokxM78Ru?LYM*56)Yu?X#g|FpGyMWQwTdN8E15_D0000LN)_`pJrr=w{xJi+e)IWj*IdR|+7T zx%n&dK$K=88e)`esFDlZ8vnZ3?u!@3*xl5JeLz~qU(dp)F0j)6IxQcMj8!}C9sy|| zrDdBi>iGhY1VSh(T1;~e0)SRjJbz)!U-bWG08sjat@krVT_B1vumM9rG^(BgdLu9% zBV3?zX4n(t8N7(eWi2X7O$0XsrYl$qAkzS71HJ;Nxi}~ZZ-w&avxEK(8-%^Kyh&nb z9vbAgdN~CGb?XF>n-OscfHFcK0-_M0B5E^Xx&6Og!x5hY5S#&NPWlm1Jrl7G_N7k{pUO};?te7mn!6t0@9dQy9KRcZZzfy( z;T%AiSeF_z1<=|9jE*4yS_f1<8wzsP9|?e8Jhh4?ps5%z00000NkvXXu0mjfTkxou diff --git a/graphics/pokemon/porygon2/icon.png b/graphics/pokemon/porygon2/icon.png index 0c9493f1f50188060f65597646b5542ce21f1b1e..0a6d62f9cb1b22f78eed6f8d53700e75414ae5eb 100644 GIT binary patch delta 328 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 delta 253 zcmV{TL~O?R`Pt4^v2Kw1FjQtT6&q%DC1HhqG32c}vzJ&828 zfvvp8;Sgu8;!zU~QKsCjWL`B#>Ct;FjA_F9oq2yF15h(CT^U$9vxz4Iz%TiqYsEW* z3kL<;>%y5k8eL(dXr)2I~fpB#}W-e*gz`Nliru=LQE37#^pH#IpbZ0?tW9K~zY`g_X~1qd*kL zwXnFyNDvQu36f?Boup#7+ z+UJjPCQY?-(tJO8?>p}~Zv;UQJ7Py@TasZL-&%<~qiZOwAr#`6f9=Ffam){VC?lg4 z5JYEOKc8vu0py~7UV5j5s1UzS=XqZ5ROd1v;GXEV&t-TULR_FO)~^HaO$c#DNJmh4 z3&#NJr1ObxLK>6+%ORmo4CmrV_uNShEKqk0(?8O^{^d~s$28<>2ePaNNcFE+32~XG zS*BRZrsEKG?phW#f1#9sQKp!g=4eESJ-4h0X90n#PTf2JuCZlZ9s$)J#4-Q^x7HP( z!jUOZ$hi8oiNd7wP`-7kPL?$wf zvk(?oOGj1#Qr-mZhBywe5+f{O2--Ul%2JWM2V>slz;a)?FQSafo9J6^asu!sepo-_ z*EV2zy~}!BL-VESuwW*ycS!}@(Vt=nxNT1Nzc$r2swNKs6b6v{{qLx9Sv64yF2ncd zm;K-8$ExF_e^X$!-5$2vM?Qp|K*~~#54ir-$8%I{GVo`dg+GVGQ+@sdR8&a0n%F4< z{^v(FLli&o%cEYbFR^z+E$hX8Q@uzuLE(Kfc} zqZ$PGe}Dkuc+KWaz{Z@QL$zX`8^#lP}Te3b9$g2ci}g`5PXq2J{AyBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0?kQ8K~zY` zg_S>R+dvq`Pllq77Dj03Vua&jGznp{2a&8*#G#Hs1bLO6+Dfp8&?RZwNsAHw0>x9% zBE|$_DuDtg-TuPI5AaS z>w_HX*gOgl$@TcSqrV4#&{IBM1c!vA(vY_cf}nq>3mp*f4|FFKI=r=z=BP{jaTvU@ zkfxM&i6%za2T-ToPizwMumYMMGQ~38(>*=#uQ)JA-8HRnPY(uXdj_s$D)kH$MT?Lc zob!kUU|CkxVxd^BOSPGA+bo1y0cO==YFXnkrOwQ@uY?E))a%rLD-5ta+dkU^>N!Z2 z0Rq?dx!A&07*NVs10JFb>E2aOJ*LwI2js%yaunmR6ZM#0^tj?HeW@F9jPFstX#lif zDLW@d4tYpMqa@a;V8H+*g*?tfd7UJq5yf18MQMv*1CgjCSS_3!irvxHlnv>UGn|d1cCXWEr2B5dEzvDV( zy@>`09lk$4z5ac?uXlWW2&}f--FAB~S~w|WO$%>_^^XvL!NP+moC*>C>~;?fAQ37W zWWt&_83N(wdqzmA8b)FDsh9NyRxi8oY0Utcs^zyMD@=#g!)j*m6td&6*Q4-X0>JIv z`fk%4ZJxu1S`^{`0U}5e-T`Aa#~d-BuB18I(4rYH8Ss?|HRs0|>Aa^Cxv`T=IgLnb zVF*16+w~%7L`KL_Al3WrvW~Bw9!y$W=z$Mu5a@b~j<*FM)jFleQi{0?TCh5s-B#}W-e*gz`Nliru=LQE387iMA0Y?A;1BppQK~zY`eU-m!+gcRI zuRT;A;|9}JRn+)h1cg+X?B?Qh$>0XzJs6qCTSVIU(kd<;3N?l<8tPtDx+a)6X?Uu+ zbZ!YAN*6zPC_|T5DApg)spm+xBgb+NST_28?)RMg>zI)ID3r^2f3J(`Lf09iL+bD&_FM`mqn-CzN1n`WMVtDOaMGq8rHE&nsYNdMRMuHjF?$f3+NCe+BS_&VYsOBk<&aa$vNEe#q{91SGMT(OG9US%wTM!&mKjPfpa$W~ccTev z5*|%L6uuljxFA&c(SINQK0}~tt-2HP>_QXbV3RfjI@@)im{VsH&_;j|p5GJnM!=Zu zkd2|&Jy!2*f7XlauQ#lo7?hlR;7^?$q{kx{=(Z^WIC=wMQ@znqOXs9C$^$e2b~{h% zB~49%{)<(e9oU+E!kEVDQ51b4{j80q7NPxg?T*J-o3Z%QQBuxZ? zLDm4@9>zv!KlPAk9Bc9StU(I=FT0$2!cRSBuX>pZf8gC=^iB3$0ECCYK^(_lmb!pF zx{BTKt4oJtXaP3>xKcs;FoqJk#{vOw4$PJ}M(R-Fw{Z^v30D|^9svDxrQooKI0q_v zT`CNTIU4*bp7lo)Cq3-^3C!%P7)DbBfcU3+6~jCy%X0;QO~sI(2n3|u#RRj=!B?P% z3!xG@e+TsEphwa4dLcOI!hsed@cISqg9u}qxiFx6NeAEvup0n$FNhEg{O$>q0JB8E zxz?d_-$4VFBS$8EASo7hp(Y+cX;Y>HkzL}C4jZ_ zt3?560O<50AfSfn*}{S+eZ>V}EJA2dQN-ahId!hPD91H(127Qym&b7me7*k!5?bwI lck*sGmxip8-$nj7@(Xv@(BXX~uebmJ002ovPDHLkV1j-m!sw4(MXOt95Ck^DY%d0Hnk}3~xL=G+NF(-cJzTU7R|L)&u2B(Z zP)K`=Nu?r+8B*t1TpZUp5VXZL2?Xm8NR{^_+bgf+Jg_bF{mgsc`SncpM6J=NdaY<1 z{m?q8LJWKTaA>swDJNimYoKOX7gqbAoL~bST2__*QNIXOR$v`n+X9wXt^i>-w!lFp zz>XT3Nr=;Og$#g^05})>fXky3jU2We=b{8)i7&u~^+fyR^QYW7t?jNQ4Qzu=zJnqs zK}ciL?2>0ipNa@+kOS5e(~Puh$5T&tfItXi@|JauEE=4evFaRusJ)L16=*1a7~j1e zUs@K8ECjmEZm$4Daz2^O?iSCiwt3XLG)|Vk@J)$<9ZH4+v z@E}6@<7|PNgs(0kD&G#D+!89n}DtAn_FFo-+uaM`g;oi8Y8f?SLzEP z#QncA_A!B(0lnRSbryLa zCr;(QjNol82RJE*Dr5XUfSu-5x}y6T&~0>kq$&(%M!HU5llB7!JNCfLwYLxGBR~iz z)j%g=%&i`r19rgd!G2v~Uw_Z+EJ59?2EH=bS@t-o1crToiU5w@1Gv=a47Bi?n7t|bw~txk z#{gta1c6C00lqy?&DebrAkn$h)4z)ea^NpHc{VWI-Nrccm%+eiu&g%SQuUk1cEiNTF(G3g8>#l%tr`FxWWL802t>h z1&2MxIZ!bgQejH0(c$;$YCKzH6ID5X4l{c%rpXckAbx4xr!ddO_FMtrQZeOM0s$$H zvB0Wu@KxyHLTE&;0pnZHlVtg@5FB*jK?@Oh{i6PVS%UEZD5wWn2jB>>M*ws$h!_)u z!z-`=vqZpq(7}1=VS>PQxeogcDaNli0O*?p2)HgTWU{=w-6W9cAoTPQex|NF;CY6d z+4{t(5v*O} t{u4AjqklJU&n7`Mm4_iziC^j(_1rW4$fRsB5Zc94z|^hlP1 zN1rD5mbR0F;w>S6p66bFg#6wBeiVrGsDLF{eQlj!EGvH?-4D{eMr<;cFb=+MfzwVy z2BrYcTJ7_U1$EGB^yjZpK!jPPpz|=C1@)u_?S~7G15*J4bsrXs(U%S&ET|Yg&ws|# zVk+l=`3t38C%E$Cq23ne)VbjsFLu?zfxxE|aM%R0BXE3 zHJdyx{mAR3-)a#|aT~2h>t6h(_sIz~llIz=FYFEG?snkCcOT|#=F8a00000NkvXXu0mjfVPCYW diff --git a/graphics/pokemon/primeape/anim_front.png b/graphics/pokemon/primeape/anim_front.png index dbb5d7f0d926b6f22279fccfc13488dcd89e1239..44e61d033d2bc8be9d4430b92512f17111dba84e 100644 GIT binary patch delta 1243 zcmV<11SI>G3Y`j&7zqRe0000+tuW0xPb$~otgHvK5~y;cBY%v(GS2t0@N#o1}~yGu>^R{`_D zTgatCbn$Z*c}7?lfwJ)RNBLd}Pf2$pJ<{V1;^GSBqWf_ei*8q*p8oLZHdTHPYCsMk zNcYocnNGiz>GI~~umIGlq4{bh2>pL~J6vB*~E9Lmk6RPinz z5x~g2WN*W9@usE{6`+dqb1CDIK!i7|03n|o_oq@8CYDPC#Hbev-}itqN4bA26fBnC zBLa%x6YaVu%6RExaRixPC!&rMW122sDM6`0rpgA?w}CFRp%=LMd$nvN# z`EGaq*Y603*XWc6I7VF*0l$B2w>$odD-#G{b-_?RE>-+AQ?jA}7x_><%Z*#?Xl%;QWyGX_;AEicH4cH{d8&#Si zE6%#fGNHZ-X&&;yC~J;pf~ttzRpJjcxu^S}`pTUoSYnkp%~CywR3U#RiN~V7{R{#l zioys2pn5+F7znfd(FO<_mG1{$XipPV;o>XND0`c|&r()02&}p_>468>@xK~Tne?Eb6xSLH8e8;0c`>g6j&j+g2Wsc#*LpL)FzErIt5sfg zM^JRDNe>9Y#ashaR>mehP-CfP2Ll8!&!Pt+S#H9(DSQt zJ4JqVlIoRtw<^nf?xn9eS)@XMqJivO7d#ij@PkO@#3wdesD zQ_Y>6I3_(<8$+t&j$Llj18eOu?)sid4~(^k0IVOA9vD6lM=f74=z%?Z`vB8e>h!?q zJ*uuh%VM1#)Hi?8fHIvPAX^ZRA<6^mQRokB6(p+Uqu`r_V-;DgN3)6^Ksdkh2h1JY zCRkJ|36YN|S~9WM2rs=zgURYQl^LsfJ6PLMK@XUhsMH?pZ>++%1wBAEtSo@N%3SUh z^Z=j$9BegQ`Ew}f0fF$)0M;(db5YO(tiMMTkXfEL?fgds;A(6#5-Sg@Bpeg%@4&(A zgs{0{fCKpn*Shi1eT^%>?f)KC8=r~Rh2BmHzU=&G&cF2<5N0V422%h4002ovPDHLk FV1hd6JQ4r^ delta 1236 zcmV;_1S|WU3YH3x7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1e8fcK~!jg?OEx1 z;~)$)Ah4apegDU;E{>SXb@tbOQQK|m%?v^ai6P7Kwg1qJF(09=bM7{SF-{C_;uUV~ zeF7^6-rv9j0u7=Kz~V!L!7oG4R^YJ#X#5aDc0ynH02@!Py-w>6Hcr5VhYev%Kz`vL zj}VA}Le-#HcV)nT3E-P8G0-c-BY`LU^GT01)b>n)1Urz)XwN4zKmbp_gMS2zk1|1> zEwJw^8WTWx62oS<02mJXK|DUO8Sl=E4Uq6c@Wi3{J18Cr3J0oe0bT-)8!`kN9{3f_ z2ARQvE3H8|F~}-192X1$;XxKM1rdO}kMS)6BNHIF;!6g93JT3tR?EWr&cMED3?p8B zaQH=r1h6Ot#q8t)??X&802wh)0dq+R!lnT)L;gm9K~{Lk<6}^~S06aey5uK~ zlp)NP7~s6OATAIx=zwgc2fUIxiF$8B+)un2Ie39*A7h~7>zcJTH&FnO$AKJh$w8F z{&s$Ue1bPTKOtA-)voPiM6fhVt^SvsAI`1dx)A}|Z35%qQv%2B@b(P2?O_aVpQH29 z$b52;HXod%CCN;cDSu=zgG`w-d;qbL8< zIc7{SlK)0ZHajs6=NV|MM+>!(KD+Esj~n@;?gKy&^C+#dje87p?Dm zMUZvT8AAf<>iL;0_hsKvjAfZ{Wj|4ZvMMvsh@n=F{h z|D|rydcuzVS4Ql}f7Dzw(t9q`WkNg#&g6e{H)&iUUtkDDXc)A1BNL>x9n1grjUkmD&^X*2uCKwXP#&~mp zE(X@s{A3#hbG&dQR{Zan&#|DXDo(4P!iR~=^ zDY6&w)Frt6LLvY8xx0o(0+H&CTiZVoR6-dp;-yVc3#vYYxJY1Fr?u5Y1)&9yB#}W-e*gz`Nliru=LQE39T+p5mBRo40t87!K~zY`?Ucc4+dvS8 z7gu{vQa?aF@kys9egQ?Sv5&@7Md$&9$gvnqu0;}q&jpifp+(H&wGZIVtXEpuRoqLU zm;A;$XukdD-;uORz3IPcG+JE-!tf;k_$NSC4OMwn1{o70+LZ(Kf8>W!n$`pi&=9a@ zKxIVqfdL!{ku@s?2?O6l2BIM#QlCi_whr)7-9uZ~)RZc~N1`UApD5cH9e%;#FzEn7 zlcdNBsXN=p^P z#(aSmkkxAo;G_6pf3k`f&)55SYJm}0d%&Ke@$-KB^z8^}+7X_LH@)AO?Nj{FbvRX$ zEVl84|B*C+zv^tU*xtZ&Yor0ngaz64GXxs|SlBV7LdZ?>M3n@aYX)qBAae%Pk80wX z8G3mc7J}rmJmGQ^OAkaI9^iYqoXAoT8<(pnfe*hs`&B1*Z&*lIC002ov JPDHLkV1n+R$?o7Vx~zXSmP1W3xMDz8c)VZx!hn5aj;l=5gx zzyM7FTLx4@M4uSIi4aMDvr!N+@Y81?m;wUzjYNL$0H4(z^mUJ#Lb>=z)cEupWgE`n z4;&8j0U*>-j4YoTl$0M1qA!63%7ik+@6-XeQvVAU;Ch1w$guDtb+hF99V}XaeM^!C z0w9)gp+eZ{C+GoLy)^(niVsGcaQ$+<4;Kb-z}N$h6wF@s`SXu|7VxMhJQi$r5Gc?yeay30!{7 z#(>6Ab-3)tV$Cc_FFZopNW zQNsxE_!ykbp^UeGQl4wmAwC{JCnjd?m?h*`S?j^eue#&LA+gH3a+Rg6!Q$SYXzr2r z>#H<1>}*vIABSficR<=%lrctQgEXu91YNU-!NHTqeQP^OYvAdXSeyWCYcudZGptSr zVJ`{qd`d>c7wldDiqS6cRSSKI7%aY?yp1lTw%5ocFuI2&z15>p!H_ YKOtJp!7hmxWB>pF07*qoM6N<$f`RA_`2YX_ diff --git a/graphics/pokemon/primeape/icon.png b/graphics/pokemon/primeape/icon.png index dedb65a08ba0eb44011fffba7dac1210b4edf6f6..4e48a7b274c6039efd0d05b2a145b61086135461 100644 GIT binary patch delta 76 zcmdnV{E&GPiq@T7{=FuwU3T0HL>f9t;osyw3xkPS^`RoO!Y6`=t7Tn$*4@a>8QK$nT1*8x@- z1bLLx0G;Sg<%`=Nsezc?Ll~<8G&fhUTG&>uLm_7s=3*USS?J?P4NU%ukoAoYcv?W0 zb%6QwT4h!X?0?Qz=Jz#&G@}ywl!Y3gQCgj)SOeg%au^de;9?)w3GvkcWQhhaofIIR zz5pSccwJgxkSCkO#}c3lDPY2YY{J(#VG;oZA?XkoO9)=TC!`q?1^`TVl;9)q2w@%g z0D$Yw=jZ=wF+UQqIAAdcaPW8>s0M%j!5I5%iv#uO`G05+elC< z{8S6$MlCveDS&4$#&*OM#l5W>-P`4Ze3HeeXTPJZup|CIwIVt;7%Wx$Dx9Xg1O@$KXpuIK3h*s`uyfPZb|pFgZVV*@huwd$N|Ry;Mg`k zVLPgmb&K|42}`pNii(qk`f!b3C|oTs&&cx#2>@AFK9fntje=D!ioxVp@+&f6X}LH! z#g6QNn|9Io5dWXZiB_%t6J>57CYBe}05=f%ihmLSVYf3Ep#oBWpawF3pa!gvfIlc` zfKGT1{DH03?l}GqVKtEX15de77m)A=YJeLEG|SWg_XqQOfAE{N{}#Y>|JCT}`yN@_ zXa1mn%6{r+WIuf{@1rHgTG$gmMlofK*O)$KEIwHm{$S~PgJK^56I77jX&g9Z@DOsb z1%H2V-N&FTBJYD_w0YqkrEuAUpsc&~uP+Jd;dvoC?ev;$2?-+nWg%`}mH4SDrPF|J zMb!ON+2)V8{Nzgef z;GO$RCLPCds}X5-1{EY%p&2mJWa$_@M}KP7SQrUFev=xekX_!#rhGfp4ml93ftv~B zcMn4#Y#k7*0F!YbN!Z_S0)9{eJbpQ3F_r^g{`hn1FJ55zENcH8hzfhL;&cYvhXRNq z74U7+<%6U#b)~=*O&)c-08nZxfCI>JK(6ip@Yp?20!A?K4@z51+r2jc)Ny($|5PCC z!7* *b?AJupghD*sR@aeH7aqH<1p-J7eaJy=9DJv`aifRIh?F_V{`xj002ovPDHLkV1nxq`?vrA delta 1083 zcmV-B1jPHR35yAkUw;G^NkljUkxC~sl zWUCz~dttjsp5(Y7)#C^WX+f>W6m1035)Wm|8F4}!wym{@zkv{Ewjd%dtc$6De?ppb@9X0MbVY z*fd}t$O$k$2W~R(PbYvF2eWu>T2f|fIHVXCpNxS3Pk*^{DznkAQ%{KK{unrixc~6* zahheQTejC4kI(Hf)^5h9zbo+c+0-2|C)i-ODGm>Ck&jbx|0If_S5hC{onLp zmnm=rho{liI07F*oF;HM(t&f2Q85}*Ggy{ydA?r+;Fk6LCI-7hv8#()l;JkS*^&JTGPjEGKAOo3(o7+4ek5hCWI(J+#9d0Xuxg9t*)uX zly8=A>cIL&KDSM&?g6*!hPC}a{*h5qM|1U`sbT{$v$0|Z*g%wPMgWDqo_7%@ko5;< zkoN~>;6@z!1E&D=q6g3)7=hy^$)|*wLEayjN`DeOG(`0WW`GR@S(Ijg{lRi^fAF1q z^f$o#@Q*9N{*1W$m;J%;LVh*OdiOyE!aB(s!KuMzW3ZsGSY*lt~ zjvZatvYICd5;M4yLj2$)0-?XBa*&vSEq@WDsr==6;BzCu@y&@$m>#_S#n)MX@r>zr z(fsvTWjIU>PiMG)qCgy*z{hDH7bz0qX~CRGANKnIgwS87IdKdz1p4X@0LQ_x5m@1< ze=xSiqC0pF5R?u~{ey+=!5Q4X1DO~yWbJ`fSu*txP6gWoYn4<>E7}B`S$nWb7Bs3` zI&iykLv;-{Ew5H}DYiD&@~@$P&`z(F*?fUu`N0YvOEw9bku`I#Ib@y-#D*m{r7NL+!5%kWat5XbK^zy=7< z966=H1VOeE--84v;2?TN0}2GuCS$=IVi6VYjs=$nL!7JVlR%)i7y=F>Xb^!C8c?hm zfEA(!*hl)X<_KW7 zUot?q;GG0I5iKZRf38Vz+fD#@y&-|>z=i?(2-JqU3oy_nklzD*t^C&j$d0{zM?{?T zfvrMd`vB_upn>y%3nFyY-v>KvF|k8X4JY^j{~UgV_A4~NKZ{}r1~VqE4uChKU%^l% zv^629yn6_MWdVG)vDSDu9RR57ybpAkU^!sI?@H6aFra(>8#yom`1|VvNgNCUN8Gi3 P00000NkvXXu0mjfJ?OG~ delta 429 zcmV;e0aE^q1eOGlBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0dGk}K~zY` z<(F*?fU>7P0YvOEw9bku`I#Od@y-#D*m{r7NL+!5%kWat;Kc7S zzy=(3L(}200008NkvXXu0mjf6AZe# diff --git a/graphics/pokemon/prinplup/icon.png b/graphics/pokemon/prinplup/icon.png index 1a7f562910f2e8301b37ef6364e333ba325be44d..9cd1081b4d1a1bfb34f94f64641d3fe7ce4f5647 100644 GIT binary patch delta 287 zcmV+)0pR}80`>xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4k8EUO0o(7 z007xZL_t(I%iWT(4uUWchWiBebtG|w#DUO-&c4nq%H-gpFXO-fVPG<8!=NT^u#iY% zsR4%GF*^`%>zDigq?eDeWshy>n+Jkh0%B+-UTU{jDFp^$Ab(>5d>K6i>4?(<0Y|X` zT-wEJ3Z61dAwh|=4*<0T=JbLDP{#D${sJgtS6+F0lM+=bgEQ=tXNAI`FI8qU2e@Br zUEwR)#^`ExG+)fXZa2Gg)3E=Tg$lz*VUQo)D2!X-dJ+ctF$sfO24M_d8H6cJRuEzG l%DNBp=&q>_))@ZMk1vhMl|g{ZmyQ4c002ovPDHLkV1kJscwPVi delta 249 zcmV4zuf;Py?l%O{4ka~V+;vR=00Rz5L_t(o!|j$mZ`wc@$B74| zjxM+}IW-y5C{kqd0Z@x0UIQyPSeet#Ul2mhFWwW<%-*c?OHRlK8?juT^X3}h;}C&n zSBM{J;2pd@C4ZO0ujIfJLi|bt+UF|epJrdk0J;Jo@F>&H)=iMvwBm@`^8b^)5Jh2_TW!4`6T-X3{ zj-61T!UDh(;~r*M0tK`701#3DpcxAk13H+uO8~%50EKdq z#!;0?Jb!G}wy&aVH9p6Hn;A7 zyE1NR45=y@hx$z z`+gLdA_S7BTjPCy5kR;e)<9P7FWyH0TUl`HS^?JTC8o*p7qV9(1+LR~93lH$y@`f< zka4$YCHz^w*Z<*Zs7gv&DYuRPCAKE#=}eBk!Q@nG8%)j%YiV*wmdR;1NNjSl490G? zsy*&O+g@)l8uDM?b~hLd*L~bzz~FI%0kaJTW41LITZ6GR7+Zt!RPhJdr;@U08%!Pm O0000 zu@3T&%F2Jl-H%2MDV1=9!>Qe)Hn&$Xf@oT!HfpNCEE#2sAoEd`knb;nf-WJorQoJt4%8 zG@yN`Q2u`Qk$?1|BLGrk;1gG)XV_#HpaTGQDxW{aC2(#}0X&#;XH~*+8YnqS*ngxD^LUwE*Yh7Y769HD0XG5) zw{Fu1%m^5Zi5qRZFubx(1AyV8an%US6UV`uR&5R7!U2eCn)Sl zLj-%co5R5AhYAP11y|8hpE}&#-_IR)6!l1YOCCjw+xI_*GH&A@kC!}w5S1Q|Mp2Ji zZ@FA95K@$V=mWR$VQb`A0*EbQf#E25dl68ffPb*WmpHF#_<hXHW<)<*kHhHi@})f493o2>#^pGA!hRM-s3Jz-_3^CjTb(WHi3o%|5qT`9f07Tk;` zzLEFi|Np<&m$uRPQ*~w))voO~dn0dO!&;&j?91mw9dJrp%1;56l87KgdFA;JofCIM&0NHbfO@SByaNc)d#TdIb z08lGsJ1``isnTDve=V>~2l_A-6-xk5=eyMK=mW?U5(7*rWjAJoxNwLikUqAL0T^Nd zWbScb#sQl7dIVff5li6xu6+!ciatUU_Y{C$5;8gTTL@_ul#-_;Nl4+*3h5RptK<<# z%7Jy^5pv0Gr~x5O8G9b@B_a`Op#kEjG#L+ahot~W3E&){e-9-0XweElmMEedydFu9 zzTArvf&;JUiefg)SK)9;f~W?N2+??zO?-K69QZ(=RRGw%@Mr>_QS=rq6d>dlTL}#0 znk7IKAfhPR0IYD}?g4I5ro?he0b~Jx2lU0$;UUYEn262r-LJTZ`x`#UU+NhnR{UTv RwEzGB07*qo1w^hwV1iJ5>|Fo= delta 538 zcmV+#0_FYn1cL>TBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0o+MMK~zY` z?Uk`^!Y~kqDFZX9#14^KDZB+zvV%n406audpQWwZffTk1$yZoe(%BN!=~yWhUOV+6 zYCDA3#?TF^QvWU7$N%45PEh+>x^PN0t@V0m=_{z-s4SOCYA@pZR<B68>NkIJ@c$jo<)FMQ$7vlp z1cP>U58{Ljhj8F(7h_&r>r$zkHxy{2?xH=_aOl6QDoEsPbvC{ z=L!(ZmLa?KJT3J_BiuK|`g?Ck&^QFV#slmf^@{u|I0Z-+Nob%}}C4B!2dXW0Io c&a7JP2kIFkRtEC3J^%m!07*qoM6N<$f<&wEPXGV_ diff --git a/graphics/pokemon/probopass/icon.png b/graphics/pokemon/probopass/icon.png index dbbe9c16a3676c373187f767d26b61388c59f3ef..a10a6c0b5c43cf4520bd6798a805a62ae46c4447 100644 GIT binary patch delta 362 zcmV-w0hRuk1G58=7zqRe0001qplF?uEX3VE_OD7D+@wR5;7klCf^XAP|QA2E0j^z7yH(Eo`2N6u}xxmHIl4 zgz#H9R6>9{*d7p9Ttkfa4k_cO`wzJLs_LZ<0)PVuCsMl-%!H5z{SILP<0j+^l@WuPKZJrn6^ z=xR@GqazsdE9MBUz4kO^;7rCw2<>m5DHDP5Lfav->nGz*pBj z|AMSBM$uxZE?9FMGICJ;*Ygs>pd?nz6GT5&VU`R)tUAO!q(!2O*!-Xj5|I4Y531!B zTIA*j)xxDsZho+#=esb`4>sH{?&!xYIhFm;104MT_eXyG0OC^*!Fy7KfB*mh07*qo IM6N<$g4xTP>Hq)$ delta 335 zcmV-V0kHnF1DFGl7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0TxL_K~zYI?UYN7 z!!Qg(gA}l3z##8`+tDY@j4gXs1-gm0WJOh0-f=vYi&1+WrPf-ob+AV53Y^DuDJLK@Iw;K==o*RF zOJ%{hZ!=f}GeEk3>gFFE(Ll#n%?*7D0c#jU4e0FC7`*hN(`tJ)G-;zF4Ej!PP diff --git a/graphics/pokemon/psyduck/anim_front.png b/graphics/pokemon/psyduck/anim_front.png index 0b89ba3742e93899ff8da9be51a02234b5cb314c..00513cabe9c3ce523f877ffe428c41eaa5d5acf7 100644 GIT binary patch delta 789 zcmV+w1M2+12HFOY7zqRe0000I_A9M|7kC&_K=@5yzw~%YsHU05C?Slvk5boiKVczqLdW>QKq~eC{+t0-5v* zQckdd$nRvkrei2jEgx-hrtT)V39Iy(m00S>seA`JR9ZJ*X8KIm@FOg+d@^5WT3g@} z0wP}<^=w;IQljHvqFHU%KN__N0gZn#_aDvoR0M#L@yi04gdef-_19YT1KX6B0pPst zFlHjXxUK+@d%$)OOb7%-$_aD;yp~icRi_r<0boigb#;L|kl0^^Yggw<7-)&22k-<0 zrt&~=QuY9r;3W__0Mc!==x<@0{Qi*_-QWEz3v}l$y0Q>yiMG*A(G7~@mt%iVRB#T> zy55}xoV2}??O6(%*Z8y@VGq=wIwUqUcfXHT?qWd+68T;)o0sNO-z%4lJ|F$&xc;HF z|C#fX(*frvG$Q@pAJG#!07OICpkKhIgOXrlCPhKw(!EjTbc}Wqa~|*CIk;6Ovbp#E z3G^dpyf?-$USJ)obAX_{y2{TNv4d$V1=)*(QoVr}jna4ms#JG)LdtF?^>l|aU8 z0nzw)FfJirdwkdh5He%lJvL15I@Tibtvu9vUOw$8c$ zfq+S_>a2?g9L9%BnjHc}T!ivPOO%ZF0MfZT?^gi!AIo3z0~iI9hx|~XeJ~;S`GIjT z%Saqn3iAQo*DDl2MvdALI6rL6wj%=hAv$+NUw#<9P@fut`N6)i$uU3t*Xt)Zr&tsa Ts%{kk0000VK&>+4mBFRsco3)PMk% z^g^Jww}()^UcpLRa85$tz(mn11g~5GMgFH$L-_Sk^^FjH1l7l(10gsD5tu2ZI9G^- zcA@%hYlKv)e7<9U7y{Tfs)T|nuuxtxt{1?z<(yS7eDVi1t#2Bd=h0%x)8r1tqU0N#*9$%?AJ5@0~tx>h`Yl|z5jA$QzSM!ap>-Cm&Sq8G9;3wQ^1-1qpkGJz8 z)&^j`-bXL{0AI*( zy{Ddf>Z#v`8ZciGdk1FS9fYcHmAY>R0bvGI>rU`2R()#m#c16j zLN)H98Pf+w0oB`C-&ykq7UvEd-wxO;e%J+)k4Zs)0Xl@NXH7HTPJsAiuK7a)aKxN* zBM|33?Rr2}Kz;k4`Ua>8Mm^oC)dB&PFa!veKj7B;2Y?drwLB&mpYHz&He7RrG8h-o z@`Pys$qzU(n9tcc!KTj=5RuQ;5sm}RB=t--dM80vJ<)Jq8WRM-y#8q3QU8Arh;2Q6 z3*ZJ>_-+WycmtRC;JA(iUWp+-nDPUeKM5lD0vpXJHg5Hl+yDRo07*qoM6N<$g2o$WumAu6 diff --git a/graphics/pokemon/psyduck/back.png b/graphics/pokemon/psyduck/back.png index 45a3f41042f990989780e062082a63ecbef4c492..4bed36444c497676ce76dff7bbde7534215a6c0a 100644 GIT binary patch delta 388 zcmV-~0ek-S1MCBkB#}W-e*gz`Nliru=LQE3B|7nAXxsn*0Z&OpK~zY`?bAJ0gfI{Q zV3w`ya8Ce}?6dVjXx5Gl7uYa+137?=*RZvdFifo`u~`$$W2qLXsrc_+w-% z`Ax9`Qizt=+$M3bE3&kRHz<<$5CD1TfgzSfs!SgO%jD+uWj16Me*~QRG2r0erPx81 z0)*rv;;FZOCPEfK5p}~9)`0hKvpp1kN8{>)_qhN+c?(3&e?0Mgr7ys=MD*~?!S;B` zV~GK{2tXZ5ba#A))=hvNN;DkQhJjF`;WHXN0cf!8kX1-gfDkcY$K#5C=3jtWo1vKk z{R^Ix3P2vkmG}hI^v5K?)uvzo0000 zQlRAqHQlSUh3r5f?a=fBbRn6czy5XupeZ0ZVH`9bqa6_J!xT$0S`>62AZd002ovPDHLkV1m_Nv04BC diff --git a/graphics/pokemon/psyduck/icon.png b/graphics/pokemon/psyduck/icon.png index 1f87ab0ff2a36122f673dc454993f212993cff41..c14ae4fb40e0ff34ba4d7edb69c81ea197e8d248 100644 GIT binary patch delta 330 zcmV-Q0k!`70-ytsUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#4WhGbYu z00034Nklb>!3 zwZFX-=v0)OXi}i)=iDC;a<@%_P6o$H-9#ry3}S{YBr1X(V}BzlpkzFYupA(_=Z}56lu+nwcZD8$ymk}AwVz%0b_|esr1KPOXzBZrnPCt!X_>F{uvJWhGRN?p zxV+b?qFH*VSLR0HdB&5*BQDIy`^^qj-M@{Wz@%7%sdNp-4H*o<1qBRnC}0l2p@0d% zVa#Bj;O`eO5knIhOxS`!9|a8hNMP>S#|ljLv6N^nFWT@7rb<38K0R<2)U$aHJ}7-t cz5RCEU%A7<{=B%dI{*Lx07*qoM6N<$f`)pEod5s; delta 293 zcmV+=0owkc1N#DyUw;7xNklb>!3y&2)mqASq!BiHcyy)QAO? zOlJ|6JtTJ0Zt7vVmCotqbJs2<6uPvzKo8yCx|!kHudaJP27gH0>^#RBTKaxsW*8(T zX_+sNVXJ6^GRJUFjECAPnx%(&Wo{JKOFU~l!n!Vz_p3Klb^kVg0%P$ErqX9HZpdH= zE+}AtLjkh~4h2jA4pRoRg}-0GL`-BbVGRa-6fo$+z+AJBWikVkeJmwf%d0m008^Qd r(c6Oe#MpE49v*yN!EwTR?00000NkvXXu0mjf=o^6n diff --git a/graphics/pokemon/pumpkaboo/anim_front.png b/graphics/pokemon/pumpkaboo/anim_front.png index bbdbf0452dbe8bb3f2ecbeb43a68672271630828..680d2be4aa3cc69da194b89edde4344c819fd515 100644 GIT binary patch delta 575 zcmV-F0>J&81*ip(bbkN`bV*G`2j>O{4kiE`LgK9e00Ik1L_t(o!|j$aPr^VH$9p8~ zZQ_Uv^$Wne`v8O*7ec_}9DotKvAMeFcQC=Sy11F(KrRd>IFKBJJ2IJW@)^9gK`FgE zCKF@&1_u6r-rajC{r@a0ufJKyvCRe-Dn`8k0JgaS)Qv4%hJUHqKp7k`9JoV)L=BK_ znBrWDuHN8wYL-u^+$f01IETo1^-YTM``ngn+lklyr3Wq1svfpE^cTy5aN zGr%e5Q?4_Nq@l;BqkvCeREAj?P~78p{)jI$h9M<<=KI%TtbAsU!{Kv}&qDuGV<@eM zJm6xzSt(DDXDnA@EX49%=nPU`2q8bmn#Z=Z7{?w>gMX;S^38Ed+6I>82q`%WNB{qK z;x}FXw$CfC91s309weD&>*#=?Y8_5uJkX>+r7o$)c%Vvuh;s8go)ziurSL$L{=0aP zP5)H*tI|J(2a5DhHlXOb+3}BpgUQ znE3vOCOBG;!hyttNvJiHnu7=rnwy3${pXDc59Z#l;=#O@<3V1=`T~1$7ByZ2p$Py0 N002ovPDHLkV1fma3qAk< delta 563 zcmV-30?hrW1)K$tbbkU8NklO*){VP>T!=+QKq&;PBE9X(TxUN+X76yK)6K3cgAF%@3jLpEb_T)! zM^RfZvsm&b3~<;B>KykDWT*!=jWzoW@CBeBYf@LBDnKe|5bO|j7=9G+70Nn{j&`Oi z0RkZ9l@3zZcVQrg__a9uUdhd6wSw)^ja^U|H6q;s;_?Dje>Y4HcK6Ww|F4laYF^8& z`A8(x-#=DDRe#R|c}`uMUARrei3T}Z{G@=(906&JJ~1?4@+*K3#w?5vm?AJTi)n5a zzbIf?ol;96|{BuUrXAc_);QnF5bI)93;Pe5<0t+t42<3RKYJ$JKdr?BkNa=OgQok}%%5`qT09`!za9?= z_pil+J>pokct9O|;DQeYSWoe<~i#i!sK7d6wOIto3a%#&|F< zyg>J0>@4EJ!Nb1K{a5=g9<0)5jR&hi8xPtF)?a&a7B!3do)rK9002ovPDHLkV1nKm B3|{~M diff --git a/graphics/pokemon/pumpkaboo/back.png b/graphics/pokemon/pumpkaboo/back.png index 9744f396645cf586d1a7f22ee8c5b734c38b77ce..9eb5592bf25e701ef4a3eba8157692103834e352 100644 GIT binary patch delta 452 zcmV;#0XzPK1dRlc7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#6yYemvK0004SNklz&au}C_h20( z>Xk~3t_!_+p05E7fQs+5yrMY@mwzdIiyNnY`1vEvK*{bn7@XL|ur00jWXfC_&A zWF-IAK^Fxw0KNc7wgkwf8e}2kT~tM|&D2Z?+o}i-Dz(}>U||4wl2xFBKmjdd08J7G zK-3Yys0$$?Knh!76@u5D_6}iyfsfG6(E(_?=MLQfZ0l#k&gcl3W*#-N9LK!rrv97* zIqrP6a>Qm{0AkhWr8k*LP&EipZ?b<$*qs3NO-d`|E``Z^0q@XsJpf|5nk918O@Mx; zH;a@ju6zlSTdJ>yj0VWisydO}p1DKSs6eR$3MXMFCJn)H;z4bVEpf^@;pXKqr+U9t zNo)zt7q!$umxQdo5zFZu?88bEisY!Zz8*z0 zB#r2`j}rj0BV=2^Fbn{jU-Vl@1TzLC4u23P0G9Z$m;*qqA0Gp#3K$1qI>iYvHb}rN zKt_?4^it33aYo<{zUoZ^_h!qwq4eX|8= zB=YHySABrbe`NrY3F;4~?jCY$AOn9&a<2q!zx`^xtZgkA725Nu?Z-l&eLyBe54P~f zfwnILigbCj5W<&AlXZ&FCWItnu`rAf85o{_Do7@x=7i8aS$m$&iB3ZvY}77pD2RDk zRsvW_AZm-RJMB?+`sR)fX@kmAx&(0H<=yS%d%#d@sz2ZR3)U<|+a=(P?;a)qdYwiC k6(AXK;~$wFJ9fN@Kgc-}Lv%`2GXMYp07*qoM6N<$f+I}EivR!s diff --git a/graphics/pokemon/pumpkaboo/icon.png b/graphics/pokemon/pumpkaboo/icon.png index e4db713ce09db3a1bb37510e2751d856dbb6058e..dfebbfd96664a82ece36a76211f1e9e439c7a5e8 100644 GIT binary patch delta 238 zcmV%Q6V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4kiNfOoM>{ z005~;L_t(I%iWSO4#F@DMSTNrj2y1RAL9|J3%BUN&=tYJu`G3IGX>FsP*s)USnL&e ze2Twg>k<7}adaSwdk{1_aBx5;7om}BaFk?wA|t>6mKQKpk!J(CknK<`0I@W^8-+r| z^fXw?fDS>`%;6qG|1haEkGD%}fA+k$*K@U8o=@&Xoat|C7ahpyKn)EL)=k^53Hnj2B^F~F8}}l07*qoM6N<$f(waZga7~l delta 202 zcmV;*05$){0-^$tV1KPiL_t(Ijop$l4#F@DMSTNrj2y1RACnQO3%BUN&=tYJu`G2d znTqH@s9L1_TFfBu_!NKJ(G&Tx(&WGp-GgAsfsF%pbrF_y4YqOMo}>sMpz#iHh+2mx zWFCqMAeE*^WiZ4@Jr$-R&>)!69Bt9H7fO|}KOJh`>~^k?`$N@ndEB`#(ky>lU(rFF z4x&y68Q$wqi1xD%B}JpxAO{4kiPIOS2aM00HnxL_t(o!|j%_PQx$|hLcL! z6Csw;iSPpL#Sef|#ENi_fp#TZH&zyS2c(iLjIej8jt-2K(v_)n>{gxuJ1M0}ZFhu9 zxxqv3^Ih`W%KesA#h--jxn{tJrZHaw0M}dqLSqRZ18xR5!ha56$2-)REMU8auecOR zUk~`5Q%N|HvlaMFI0K4I|mpCRwfQ* z9>VhgZXpY1IfYIK2q6RjZ68*Fya+&BJ`Eo3^E5AijDt`JR#wAV?OF%QW7!OzYn1H{ z<=QE!;oxrp6n_Ns$}-3%;Sb??o=T`d7LjkuUY-?7)=_o|t`S(5V#RsXU!MfPi13<} zz!AkmfHR^IX@Jo{09_glVxmL^%%hkGU3!cL^riupoY6Rn?r8F^x=!<`KkQ~ess^Tu zKE*U%M9VZ$-nzzz1k(A}Ob1M7=_F03pXv^xN18}Ltbd8-UNs)E4Q&C- z@={k~p8gNwt(PjQsO&*y5BAU=JXl8n0000?W6$X1>KJ1M0}&t~LbzQIH9=d<%!>V2M9>s#c9D{er* zwzJ*<0A~vU5Ib84jFcNt=)QzdU)-S~O#|P~G~hrNg&h!`9e+dFuVH|O%Pb+=o7xKp z03Ge61MoqD(`{eZ9abRvhXBU_tpNAAy53y?Qh}@zYo-qIUIeF*OL{@+q*a6%B7nAl znNXDhXq#W7i}Rwasvi>|lq9Qe1hZXpp?Q`?sluatcWl;9#f<dC5)H`$4Eq}B(y*Tr z4LD$uq$=vtWzwg63ouoZ9+KpYMvu%__><)1uA2iH4~$<=D5ZzjWSVg&cwY0#0NLd2 z*#?ZCvr(3fU-%RB8QH)9dgUAF7NbGVSQ?lXWBrUxYkvdJ3$qo2F;6`w=1Z+w|3-B@ zD1g5a4~m&)0Z_+-Rt#HtJiuzTnEpx$*~;SqAUFMs0N|MZrFg(k|HXK)JpD`YfSLZ~ zc(6SERXH9o)4v=KmjCiA@qlx3As(o;4omSv89Xy&n({reDQ_X&n#dORe9i ZcfV{he-Mfo+dTjP002ovPDHLkV1hKt_0<3X diff --git a/graphics/pokemon/pumpkaboo/large/back.png b/graphics/pokemon/pumpkaboo/large/back.png index e5deba0d7d62d0c148a8fbb691aa545ba9e58c87..3faac8b9ab088f581a573758eaf9d53d737ab0bf 100644 GIT binary patch delta 482 zcmV<80UiFM1giv)7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2M#6$Y$z5Y0004wNklv6E6S0VvndF7^5P6^1vB`g}1p@6*p!TctC0;kh#E%;5p#W6<^6!gZfgFt) zBxpWB-u2bAK(tW>kj*SF&|*CWR9|eoSrjQopS6fWK$$Wsu)@GaypN0HDkxz%02wi8 z#(kOwOB)WlwxbAwK~_sHO(+RS(@-SWG3&5dy;p(SyAMK$YtWWgqeuXZBQ;KvgLCe@ zKe(f%Q?J96&(8UsAHNC2FV3CZ2%O5>)9OGSBJdg7e3kP@V_XC--*fr@Px*84 Y4ZE_djKd}3zW@LL07*qoM6N<$f}?@adjJ3c delta 474 zcmV<00VV#c1fv9y7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004!NklNXv49F<^=l<;gsDu0Qkbyu0y)BCWjX+L62H3LtAH6`4w|cA)w*=GUg+7&W zt%s2wq9IBI>BD$)a`y;Yy@%>*U#Wlb@nCvrI*?~7fo#ABfSA8CKrP9h`u<7v)EPJd zz8p{NnjrntU!&(&M+7dl-r?dOOZ{o27;H#Y=&OwbX-vgvT;XZesUE&}N3>Z;woAZ~OSuK;ahwcPfYU&j|4i-JvExDf0S?C$6O{4kiZmAxD@100G)bL_t(o!|j%_P69y?hHpu( z=b|Mxo<0D~ZLG;bB{7g?ZD>6S2@T0oSc{hT9L^phAhSzh zXv_^)G2iaY>}~G<9Vdi^cGXQz}20YvW2(b%*s(<5H8g)k-RXe{ z^wN@_Yr%l zQokwnFRknWN-w4UD|>*$Q0l*C4@mXjum_a-Z`cFsEY|HoKKn;|K+D>Vjp{$CXnRnq?A0Djim5$FW6$vg0=nle!8Po) Q00000Ne4wvM6N<$f*U^ZqyPW_ delta 516 zcmV+f0{i{<1nvZobbkTlNkl{R1yPO)`k|b z!p6i0&?m4Y&{#@m0tLBHn9z_cg|%pT&*AI=0^aNr3ld{)pt|{XXJ&76|L-_S{MTUV z9e@W1)_e*eXWxJqcK|}{0-)+RmPXxj4I8m+;?)aI$~K9|OMk~6*Z`;l*Z>9`tVh8x zFU)`|*(Jagz^SD30z?G(00fc7JQUA-xYcb!)&1FNM)-PZ$&2#9MGWwZ_}qWEkJ7}f zSiy(yknvHN9&i!*uw)_DWk#-+b0m2DG@~h29Rl^rUE%8@8mf_3f(<1CK30;?Pb3g@ z5#W6(`=b{FFnf_OKC*TdlbP$bPo5 z{y1!_9)0Q9Y_57reawvjrl$)3h6-3?+EdZbbgh}1y`|IU4e;J6T$_Egd?WNrV)k!H z5=kWS7bCF;%O>}44ICx zY@$6Fv|1IDJ-BFM{Xy6?s{f>-?Ln!sS9>riB=#VQJ;xUUy5}zGtPkn{0000r^LuAm_a}_{F+a z%FCo%CFc#&cc~9M2_dl=D^)$oUhd=n?@ou4;b#IbD_F- zfErB1YAT?$D?xJavY84fC(s~-8tZ>-c_To556nZ`S3U-4*ZB@g1Y9}G8v!-~T0RA+ zs!I=0yvQ)|>MB54hpKoOUJXh#I={9+yNiE;1G8gqsk(TiL}LlkDHBAhs?go2NIHD{ zZk6Tp{*w^0sI(ey7D1phL~F7)=Jc^Q2X(uPx#07*qoM6N<$f`E#@bpQYW delta 437 zcmV;m0ZRUl1pWh%7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004PNklqD@6OyBmqC4H{SS_V1OUV z**V6vUgggFX#lgg;Mq+;v__b;pa#GX0Ac{ZLx6t*upENs0nq}@RDqBQ1{gO$Nuz%$ zWSRnaJpr)@5IMK{R1*IULgc&$#K&CJTRk82s7<&Vg6YxKXT~MrsQ0-ZTnPL*JzAotMh`R~ z=Va;xVEU#5$|Kd8=>y{WI05WlbOC>&m!D|cg4@Ehy#hMNlgRY>doJH@gyKQH_VTau z$GvN3C0InjymlPed^S)UrUDU!jgJP>Cbo5#%wk%W5EP;jbb0QjAekrzLLloZB9Tk1 zVOeY>sk*pga}ELfR+mh%<^f&a(8)JbqpF7M^#vO(L<2P-+SjQYfL(^!Km{S#41|e) f#2atC@h|ZQU{(>BE4zRu00000NkvXXu0mjf9i7Y{ diff --git a/graphics/pokemon/pumpkaboo/super/anim_front.png b/graphics/pokemon/pumpkaboo/super/anim_front.png index fa1e57e75f38455a9c02d604e5d2e6550bac53cf..10a16be3cd82a917d25f3dedc1447ab60cdb7d43 100644 GIT binary patch delta 594 zcmV-Y0O{4kic^nQET^00JIKL_t(o!|j%_Zrd;rhD8J3 zC1gw0rR)nRCq95{7g=M_m%-6mZP|)$UD|gj;8;(PP8l);Y=(?RnIU`P(OdEiJxUH@ zQzSjK0XpagL-2h*o{psdKZ?3|jbKR}1~_EFd=CKPZ~+LH;C~3iFd!##2Y@@4kUN^} z2~&W@f!F*%N$v;uWMHT)2=qeJL0D>MZf*qMW3=ebo3{4zG<4qvjqwjKn5nty)V7Ar1$(uw{9AdC~yCs@MgrPSsppugXWQU4KCIwg&X_>0Y~5h@$l2URPS* zK4=fXD810yK$ZLCr;9bY|Iz9(4BL z741QzSh3F?AUhbs`^Fx))n7_34jOylRDY7i7x`_ezikg%>OTtFgO>WEL;bC2tG{gz zZ1uP8!Asa4mu(MP<{907*qoM6N<$f^DJ}rvLx| delta 581 zcmV-L0=oUX1+E2;Zh+f~HXElchVw5&tu`WWcSNm6|C(QkLi4(Wg34)rK^Y09B zdP0EuW^iIy;FX!30lcNA2>|C)0!V#23joV?-nd?j+H_ptjn2>}umdRnH|J)Q-gi6bVr54`8p3 z2fX`hE!BP<4_NmnTl{0c4fprsLBsur(Rk2se`MU>tET(=@xXU~KOT(yaryC}F-|WY zG{?OW4?bAW$*^$oprCkAu-={7xr+za28+Ln2gN^#2W0N?c;J9G9wco%c)Il)u|#Cp TYSGA#00000NkvXXu0mjf%#aiv diff --git a/graphics/pokemon/pumpkaboo/super/back.png b/graphics/pokemon/pumpkaboo/super/back.png index 85cc83e2c0cf730ee55dc22bc5779cb7dfafe145..d25fd4dffb9671ba39176cf2bb8e233752a8de37 100644 GIT binary patch delta 496 zcmVQU>in3 zS0Nw=MQxK}7Y0td z#VWh)wOjjS2t(2sb3LDpX(##qb5zg9?1`~)?QSNU9|>#W#h8m3flInLR3I7;d^Zkg mXMi1)HXiUY?ftLx-{J=|YPRZ~%-`|=0000< delta 489 zcmV7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004@NklFHjk1~X_yw=mg9rBzLRg_Q zhiwBd@HYixk`Loc5|aWJKPY%E34{|<7Nmd@dqKbqfY$^7EC@(&gav_=1JObk%mRN+ z7$9T|Yy!gu=m-hn2c}^IT6tX{;hVtlDv(Vtatmp=1tzfNJqR?)*T7psnt_Q7YQ7X< zT%bx|A_oc$2FCzs1;*w8#7;rUi9N?TYzqBKdFlxuskx5ww5NcjKQ1@?TNV9qkBcd~*DArkdIC0vev!jnMhx zI-UN2(fSkn87_(!ZC3+`fBCs3ss$92?vJ;h6;d0RT-d9Z f;fwCUga3d(TN4$G@g6X100000NkvXXu0mjfBlP7i diff --git a/graphics/pokemon/pupitar/anim_front.png b/graphics/pokemon/pupitar/anim_front.png index c6e09e2d9c61e901d1c57a141926aa4962ef4cc8..7c883493f354bbd31cd9a80c1f632ef4b94aa090 100644 GIT binary patch delta 568 zcmV-80>}OB1dIicUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#6*{Fe)} z0005+NklJ$BnL496wDm)#W2%o1G2vk2(`j(q`A;RP}zdzT)e*A76nuY&=3 zN+)6AfFJQCiu^atZr^9ERUC%~>guAh@nSNs9^Vr#D87}j+c-k_ z8`<43j?~|Hi>~^GLfYE}@$Cu&R-03Q2h2;l#y`L;jAB6VvHR;68UdFUv^WC$(|v$8 zpLp*G;N)4iYkzU@0VjFZD-fSQ->Hmv5Qth{_xbxL6hsMl=I;n+1_~wtICGKt<<~m_ zr3fL;t~T)jg95xPxKI%=cm{+V24|j;t$rzl!Qun*W>7--R5EXe0zm;5%mk1(14zRr zV1^2mPCAr^046xTd~5?9Ixe9kF9T*+J50VPzqhgM=YL5kKoj_Xpb(t~m^Ft_y>>f= z6(}muRUmsUMdP`VWC7F&X0X&n+PEVPmyx$_Q65*nebMR_?6%u(yGGeH%C1rVhem0! zxJMcV;{%OC6IwM&_dugq`P`edCJ0u0IYaFLSZ2t8fn@pVE;jU=`XR|O>7N8i`s?1V zAqMq%Z!xQyvmK~F4^;;pw!}dx4+I4GZ3V*P==Z1M8|(}8i_kK-HZq(50000coUw;AkNklOr&4)F3#(WVnDKzCenk z-)4`n*N$WlTP)H}k+&UxL!r;oFJT_4s$Kt2#wvkB1^MZE<>0lR`RQ?%fv0QWh(SEb z!0{R)g&dA5klcw1D1fbwuMt}+fJp@W;qBFT$q^uX^l|82KY!y5M;R~#V1J%a1=7%A zGu#NUSsTC)h(9O+;xLgm!#GlZ-PF4r7mS$ciuiVe7PH3qcLFnwOT6`WU=&8tqW9RW zaiI}#aY2h6aC}pMO3Y_I+W|Ov)~1+)4>-%SERbI|@yx>?qBH9mUG`zK*3pu-cz93>l~) zTK;t>8)RVJAELY_BdX#-00000NkvXXu0mjf7*_k( diff --git a/graphics/pokemon/pupitar/back.png b/graphics/pokemon/pupitar/back.png index 84a03b7e03eb99d32f3219e5ba702d6bdffabc6d..5417f482cec3641c834fd68f5d12495d06580751 100644 GIT binary patch delta 508 zcmVGyg*cmZl)kQE#F)_AA~1c7@79!6AvV`;Qj&jQn!dp)`B*4es~)vjq$z+XDpme`m) z7b?vJX0q?vr9Y3W-!$e}Wxv`Z0Nu=k0RUhCQW4l8O&~gkG(sN5#|e<`JLq%|1@=O~ z=g|iV5ly*G58@}c%+IfrlfYyea^iFt&#xl%wD;h%4fHIWa(4Y@f>bvkULMxAzu5p6 zV6|LYTEvD}&gv(0IdGu>fRCxXL{gfNs(^HKSqUL}7a(x48yuz+s^^11^0000ZEheIdkmH8wNf5LtQ=(K2z~NNi1r9l?S5)lxZ#ETd_H!6bHN=D{2gHL zfcXxXeE$(J(GMSl0t0qv2{n+*f;TY@Eumpq!HYz*B*!`~zz`R*zI!aN5QYsJ+A_iQ zM3|^CYlxA^8mGYK+eeUp$5DZXOcWp?5`U@HgG+g#ldq%397cAMQ>-PT+YhG|0BaE- zCXEVMkP|4C6L6X59tlXw1z68L9^yd)MQRQ;P?DHr5BPOm-VNt1 zO{4kis^^PUg@ z005LpL_t(I%jHrr4g(Jrp)1Y!(B97Al}N7sK~rwF>J`}P{fi~4Zn14aZ<4YxA%+%8axCe06Y)r z1L;1q^zkU$RBNa*9fDy4RqFDXGf+$Fe(zJ)4?_R`vWwwLfiY*S^pTI)ewU9Y+~RQs T@YU8R00000NkvXXu0mjfWAYKB10a5D#L<__v{c~s zsbOG4gdq~3eYbmHz4vVQc$CoH7^y0|Avj4Dqlu0r+v@I*aVm8LDZD|${x!_cu* f`SQoI{mvgR+~RQs=ym+B00000NkvXXu0mjfYnD<* diff --git a/graphics/pokemon/purrloin/anim_front.png b/graphics/pokemon/purrloin/anim_front.png index 466fc9105473cb72fd9c7b6a4504aacb145a379b..e699be5985a256e7d50053de7aeeacfba5364f9b 100644 GIT binary patch delta 813 zcmV+|1JeBI2LA?-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#6<`})tS z0008wNkly>8nu5P+q!qX$a{+F2*TD&R#TTNSA{)kcl3v0uOin4wzgL4AP$ zZRTc3=R856Q5ljB^58yHkCJ~9`%Wp)p^G^Q;^*U0r0+h_9>6FVfB`Hw09XU` zXL83W)GKg+J)Zs*FlGS@7YCS+XH#H+=d%wGA}|7v1Ez~UeuZ-Y<~od~i!eC7ItT8w zCvQ>+)D>o;9)C{=RcB>Su2b-@4X~G{1mC=HCqFLX)z5EdFxZcP1g7;YxOgvft@J@xgsLFs#bvmbR&176f?vRQs%B3Sks z_}XQFW(;rhc0iW873cu;$+H$~pn{CP45B%m&b+T>3xCk5pwjZjVv|TR1cqG}5PFWl ziU!OYi3UhGz>-Cj{6e4~Gxt%%j``b2-~dxO00spQm}}+r3K;SgP(ql+(%}Iyd{N!Y zwh}3NDiYDL5go@-J01ew6NLMyemP|K-oCXRpKkBnb+K@%-e~|2>wRP-!uM&%=$W}% z0-_c{fPWyRTjyF3jHJ-*djoKig3UXHR!PC`-UMI;VLV;b0a}3^9c9W@GW3H!8pdqI z05w`4-OkxI zs@fmafg|}=_kll%GTQHlz0G6o55w}HVQxN4;}5Iiu=O`F*ZxpOjDIx#pk6AXDK{Ec z`@`qAcT`i3>a)aip0A2Ks;`?Yj6Z-J7StIjBx0!jfCeljOCuPAvgA%03y1NC@}{MT r)h7NBx7mU5ht^7H{NdP7{@3^eJG{ODmbRXH00000NkvXXu0mjfwbypj delta 791 zcmV+y1L*w!2I&TnUw;DhNkltS$ld&RC5#r#DCfx5*?)WZg$imL4ST?GCe0gW;x`1Hb^f4PBYUq4;KsF?u? zEbCEl{aU74Uw`_Ib|e5cxTl6X&y!TE_B7aT(W?rRB-gFa%PNYEE<&v*>;R?j`Q>=j zJr8)}ep$`-gCT=uSHMShnq@t?)9-0FAT!+w^Z*9zT8j$EA>lWJC|9Sq8fe)8^m53x z{Kf%g5n+PBl;2GR2)#mJ#{<+yr~yI~V9Cum{E5JTUw&a(kzfMo_OOeWGX17i9lzn5J{r0A=$IC93G;uQZ^9McZV_KpzlgY(O219*Gy-`WoI z3)1yob|NM&cXtxt;dwtMiSSuV0q9d(Apxv}RDu9O#9y72AdsZ+*LMw=Bn2<;sCEz& zP$`B{5P#yux=7For06IM(@BPYFhIjt&J2K!elWxYGgA-l+vg|{7pNe-qu6kL4rCZc zM{(yj5xhG895oH34v{8mcufgRqX>1PwNBUkT2hKI|FzY6Ju;>sfza=iVkD#{)TGsj z?+&lTwj~&-K%>J)j6aaZ9>(4F2jSyw=j<=4!hatc(}a%XTh(WUKZvYRrhtC^Sop&< zYnHj6meL<~o8~~IU*@d*q1nUUKT3a4Puojb^-=o6`zyA1<~!Z^tv zKu%jFQYa)QQ1}54SW0Fj7^5sRtu!7Sc)U7Wv}`!^~Hwzx2zpOA;%61SBIjsCyofPb9C5ye}HX4`k`m;9+m~^ zfTa&83!U?UbkBhCoGfr&p92~AojZ~RppcT*!@+M0t58`Kq61xl0foReH?lH_0;>+# z2e-v_2xEYe%T)j#7Ts&YdW^0!dK&>GIVcOH>LX8vQg$8UpTJtXEuj3TfUtp<#aq2r zzhMx&Omr*kRHcP!e@LdB_ZZIC)E+v+^*l~-3zK1N>T}|tGNY>QDM-Nyg)k_g=~R Y0Vp9p5GNRi9RL6T07*qoM6N<$f~b(dXaE2J delta 436 zcmV;l0Zaas1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?UcW6gD?=rjXYMB;&f!A@EKGh73ofZVXYS>{Z{TKI~HeEo+C|1pa>h z?(-SJ?zNWK0-kqUK=I};W%eE}p!aojfDyp8$o7T(%5i|g)uA}p3pE1l93A!^U|W!0 zj?C?0S&$BR@Bw9^b3TxN?inzilLapOb07nMay3~13Mpwnl>S&)h03B31Lz72CRDNmPp{AzLTUbVdFKEXfLL2l+H*I_FEu#*8Y zomGa@xY!0yECmj7Z8}spaVNzX`0=;daQfN!zJ`fBKU zh_OvQk^n~s-2>R5Iw%KVeOJGb9J+Nj2CRISU(BC;i-)W)1-n9XA#r$Bf4|T7s_erQ0?Q@7gx% zY7If(mxooe1xEXv5#;@WIg4uJ`(z1HJ{G|If{!2U29yVcS(wZK0000|$-K$exXXG&j+O+x zgn>$%eMnpFS_Y=GHVk5aAaBFuD4IqWQH5j#uXFNbQecmMkpVZ2EK;H*Zc$W+_-}Ws z{s`4Hd>1gC5~xH(qvk~hGLuftePz_I_H8Q?+?sbR2$zXOOWzW0rLw!z5wh7lm`NX RNBRH&002ovPDHLkV1jrGcoqNv diff --git a/graphics/pokemon/purugly/anim_front.png b/graphics/pokemon/purugly/anim_front.png index 674df91b8d6a9036ca9e517cba31306ad2cd13b3..07a2e5a0da744e933413a68ab5196f6bfb90d8e9 100644 GIT binary patch delta 1528 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 diff --git a/graphics/pokemon/purugly/back.png b/graphics/pokemon/purugly/back.png index f17ed1e3fdf22ddd4399749283c969f0303392a0..1eae72417e3cc2b29f8562d62c1aa026a480b030 100644 GIT binary patch delta 640 zcmV-`0)PF52Kxn&B#}W-G5`m3Nliru=LQE3CKH(aqjLZN0$xc(K~zY`?Ul`n+b|Hv zt#d9?tRk>sA>Jo&b?DiVuo-`R=w%D)D|AM(Wji1A1$Oc!JU{*CuaQKOF|h^2+wP< z;$D|=6%6zG^$(S_+VB8=U1ORr%P#&JoT(e#P0Q3Hrh;q`Iw9ijsY5^tS zO3cnkE5rpb?fom(7Po-~&X*U29rGugUm>Ax073{N@O`}kW$7bLHFFwwikfF~dP8;? z5jz0V1MA#WFOW6OL8yN-3({<83E8RoK>#9Z)+VfwTPtaP9)O-0EmW9kO|^-DC!z%f ztzAH^>KqhE^B4#e81A+LRWAUO2-IZQBT5Lo-t1=&{OSQ~%){0b2cB>wcmTiy_-f_D z*XGF+n8qa4p{eyBi-@(Eq(&HnK!;guGG_>2vZZgEHHXFnDA9ifiNpghzHzl^2Ea5& z$GrpsjOtV4M3psJ^VWR8bN_gBVglqS;kQ({>{vXA>Jo&b?8~GmcZt^x%AL?5SuawL*6A<7eWnzJuLKHa_D6X z>ML|cvgMB?^a0w*m+=3m|BOablK=77U_1`RRasSWtoS9eT&ehwrB%u224z|)J_1%3 z1|tB6%b5i$S1OHws8m&dR#SsARcZf-RR~XWu<~A2aTN@8^?s6LSt_5|cC13UL99d;f}mxy5Z@f%CHq!VdZg z=W8V74L}G%1ir6lAeBCu(UVH!PEqqrL2t+p17dq1^T4_=`UUc)IS4r`Au}6VLVnWU z2tY(m+JqSjYcrZ(1fU~^5;Q8U(VGZ(B9hJBJseBZ(J>!9x%<(ac_YDqx{r3q4Oqh-kNuK?jMg%jDP|y z{FVxLJRZNCap)Ws;g?A{Hm&eGrp254?ObNodxu4Ezf1&puz_9ZJLd=ha9Bj^lTZ$O ziUjIE>FN*=`jBJ=K;0977H6t?PgN##nUhS@DtbUTCj)RE&I1uaUxRhsfubtok<_nU z3M}W&g;TkAe0(Ise7yHmguDgpb|V1X{NMXujwJa5VNzo2jDGhR00000NkvXXu0mjf DvIi@8 diff --git a/graphics/pokemon/purugly/icon.png b/graphics/pokemon/purugly/icon.png index dd44327f64ca4d3a24f3a8a39d955a183dfc4f68..22c86876eb58dfa8e09d569a98b703b1a5c9d284 100644 GIT binary patch delta 285 zcmV+&0pkA50`vlqV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4ki_Gp9V$% z007rXL_t(I%jJ@>4#FT1hIxYvxH;IA2Pg?F#=(d1k#wPptlf;AoP4L&odPcHBGRPP zw2PC2dc%eL@?Y+_{0Mzj_*o6PnPSLQp9>Q~Cr=@_MH5L|?0>_v%N2{@LK6fsS7ea5 z5>xM_wDkbsOhX){ts)?yPOnNQLk+!PSt>dRj1P*#hTQ8o1v$EwoQaIZ7Aw?_JF-n< z58OD_BFpf&{6kj@!K)DfNipTvCgXQkVQz)pI0e~;YQn(0E@HgJ$?R;xygBTz#D5tE jf?>$iAHgu6^cKexPEeLhf6oe$00000NkvXXu0mjfNM3t< delta 244 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 diff --git a/graphics/pokemon/pyroar/back.png b/graphics/pokemon/pyroar/back.png index 4da26f34fda5f2f51e57a01f6df7aa91ead0d747..b806ed8e1e652c2f738b517d51226225f43248c5 100644 GIT binary patch delta 477 zcmV<30V4jp1jhuBbbkN`bV*G`2j>O{4kj6RDN1bs00F8=L_t(Y$F-EfZi6rkh7p&( z2C|Z(y+#$ZJBpPzsJ0uLg!&5Yb(bn{JI4tSz@dk2KD1Q%`umSN~oA(0qS7_Vviy)1*z6aMpF-H z6l#;7+W;i18hI4d4p7O7<~ADBbr}$RsdQV7aTKgA1IPj^1=9pmZUS~eu2gpnkY*~m z2n65u1;C~PP=BLL@U2`CK;&B;0ZY?f0kX@#1?pb|>75c|m;nG?258{H#_q{LH3H96 z$wFFTM}R5;!wTrSA^^x!ZA%%d)5!hbD)jRb7~STCKcUSQ+@_dRwH{ztwo?yV^-x*2 z>^Fx~rTd&}GGLv4eao;yXAi4fuxu}wa|?AKpl_3fc2*Pt@*IiwECT>%Pegxv^CCb3 zpWe5(FYjdl;OeK4f%AOs#aqC~0z4()dcQv=;9Ktt1iJ)~bbkS{Nkl4XW*iCLvy- zz3x)wZRa?D8j4{(Y(BI=etiDym{b)905sK6C}YltNNtQq;@vWd5)^@0PykNIM8lU7 zP|aw47QPYzKtz@x0UQOuKPQp17Z8D32LkjCz;9BPciaPj0e>6*N|&iSYyxrK0IDg0 zL2rR`35-FfG@(p$3}_Q1R7mjv>L~$Xj{=Z_RO=|CX%A==YE!OT4@9dPc@)$JP|=Cz zZ8WCu3&8tQv09B`6s+9`kOfu>rtzl61Z;v_ss0!s&De4g@V@OY0GskaEdfMuRpTyz z$W0HS{T^j(h0MOmDy6ni;bnmw#?LH3xRug#1Z7`kYon?-;;2cm0b0HAe53`)zJ69E$Vbgo;zoRa~7i%TH` zZC-a`74Y!@?hO{4kjAmARE^J00Fm2L_t(Y$IaC}Zo)7a24H6? zs=72n;Q&Z&XOxpPl3`%+L`AzqT_QL^xBzO(PE=<}7lzOsiE^lZ{vmd32k27un~>gz z*N$TZLjP`jHn**@=XXPxf#3FZ9<%Y!v`tuY$t0Gl&WE4T_^jpi-D?SQXf z7vPB0_rzI%G10aVoC0kH_+I2Utzf7?a0-03f=B^pj5~!&53dno}TbdtBa76{s9wKId3h|Io z3$OwJG*4h=&o*EMs6*){W3%L-} zd`PgO#Rh4|a0F;p1G?5hd<0htSHbZ4(!f=Vy9lklN03XAmhuy z^kVRG4yF(*wsjzKPKXQC`N9pZ gQ&o^n{_4;A2hmNvl|1Q9djJ3c07*qoM6N<$f|IP`LjV8( delta 473 zcmV;~0Ve*`1j7W7bbkT4NklbP9v=7ikog1D+l52-9Oq%LK zTuA!_^aUERdx^(_O9$%Sr1qiw-5>ZJcZaQmiNA^T`{8@XLFzdFZag;Eow4ir0nEtj zx}C>t>;iMUQ1c)#_ulH3rSe=1cAd@~}<9~UPUZBP>_XDk<9WxQN z3XGf(wZb2nIT=S4g02E` zEAp#OFh*cqp#~qFAVgrz$!=HLzzrLAF+Co?%q@h&;V^`O%g^J1mKtC&4DXmiPV+Vh zlNTYN1OPQa;(zocfr{#YK;{$J(xNUQ6%{~vh?oH?#9cxSzzP7+Jb{@%nSd2IJxaG3 zn-vEo2YoDHV8%gK=^z#-zbHhWu{8?E0yYx7L9QO;M1DTKcL~F*pHdHIXM^WcU`?yi0-7xV*hURd z4szLmJi*TakKr{<<-17uO*+U@HXMi_G$3+LA{%J(r5#+RSdif#?H|uK(M`RTPHj0u P00000NkvXXu0mjfvINr| diff --git a/graphics/pokemon/pyroar/frontf.png b/graphics/pokemon/pyroar/frontf.png index ff02e8d9502aa25bc85694b3a373afc6e8da2ced..7e6095a55de101ba5466f5c176473ee201b50880 100644 GIT binary patch delta 871 zcmV-t1DO1d2e}83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#722t&T& z0009VNkl>l9jHsg?b{ANl+I{C}(%#+yd1w!T`o?X6YB zI~&K=3ZSk4dwul=ly0pAz7ewjd4&V&gd8mgc9c$bm*}jnHkeEZdELX5b(@fbXJ{`4 zTIg^OkSy`&UMV0Bhf9G$dz(ytbG`_Cp!6^Uc>B`_=D;I zC3{%EokImA2Y&$Rb+SR}yi^Th+huKhh#}>?r33GYy-i312QE4Q5b{CmBb|A?-$Z@4 zQ62;JM=o?=b8nj*%@VqVhs(!-Fl)5*Xi$59t{d$6&t+dSv-SmvMyA&*2kJbDUsuvI zRF?EB=2ffZ;OsI&A0oj|G7m~?waR&MT<}|%cKNlzHh*X_j!!B;f;Y)IKbaB7%?e-+ zhTwNOzeb{^bf+0q0K=C|BA^J9G0zEtp9ZUJ!K4EE7&nZyW`F=o7Me;5&QWk2N9n=Y zaP$)B2lK&U0j0lkP+NEzFwXu>1k@q$hvf)y6(>dpSb4!L z>{=B2O{{kg+zP|%p%NDr^<&xWhw4f>Z=wT$i_bv^e0lSb0gQDtz*3VeiF0`a90BGy zr&ZuC2Lu8S31_C`OfD24N?=ra+(4RQ6L{ZcRDS^6)c{lYapvcZrNCJ#U89T3cq+;Z z7dfDAUY%Ns3_yI=5$7c!T`N}q-JS;c7>Gd>GsD9BcQFY|Eeb#wF(kzd(^pEj=a(D2 z4wzjo+*t}P9x2IZC4lYj8Wq4@0Q9F*0)?wJGhavnpHQZZt3Vc3fEh*k)^Vx><`l4e zDqu$+`&$8%Ea5p2L!4K-047lOLHV#EnaA*P@1LN0h$zxy*7W(`Q}u0n=Xz`{ xf;e@n--K$+kz=v=)u_fC$9?f#c`f#~@gEr^8eOf^4r%}Z002ovPDHLkV1m}dgMk15 delta 828 zcmV-C1H=5e2aX4jUw;D`Nklaja|}fMlbbS#`~UTO`L4M;B+*o_Urc(OLgV>_8$$O0+xQPxH;rt~KpV zVVWOS>z1{(ig;&XY^?wq3b2-!$O=%pyo3V25wibzg#+q@9Dgkbc9c$bm*}ja3QQ)1 zyzZgPhDFH1Gjx^$ZFIN?NS1i?t`ralqou&GvrQ(yIbQ_cQ+k*Iyz}V*5a{gFY7^n+FbO7?JmJBJEL4gk{YWP{TAsG7vG%Gr1jL&|x(3ak-pn~)|3Zn^*v z@L~HSoq4QnqJO^IERTWuBNtU*b8nj*%^JFdhs(#I&`nx;G^w>e*ERP1=W-yKZhk?c zndyz%fx1uP*OhcN)g}FkeVJwsmZ1k8go2-B9+aA9?YtNl{1&D?eyy<$TEy{54M^}N zIp-%c;`YDqw(lOj8v`?bLx#ib6%J5yZ@` zlrThk3uDS!{N?c6Ti)CvNs4L~Xg$@7?ehyW@lQ$0;z*x5e z7;2F)|$@it@rm4yc<~r^AeDb5r3=yUcUl(n213XE6u?Bcd!XVZ3;kW zF(kzb+gD1j@0A5!2lO5n&a4FokCf!A62RwPKC1$77JzwpGoWxaX66em;3t$RQ60$A z3edwaFCC{N|c z#x?Z$-&6hDbkD1~^$_B;1}x@m8P&(|B4^vqBJgVNZSfx&BpO|KA|@XI00000_uvE=+zZ3>E6@UPyo1GMsRN8I(toMZttU(O%>C+S(LH|y=;1E~`l!Pw47#SsrouSm<4mJ4hI<_*!tkKOOqgDW znJ|M6Q(=aVQ(*@14}^(2JcN1pF$y#BBMI~6hY!Ncb>JWQ@d=^qTe}@sjiU?z0000< KMNUMnLSTXqMYhWT delta 419 zcmV;U0bKs+1MCBk7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00047NklVhf+Ih(N-)HpW|z#UbHG;{*Vc(zCu z!XK3H?mbgsOaSU~w&a0zx@z6O0;nvaHE&pfvX2%{1SZjUXQiI!bOnqDlU17E2uoWD zRO(>^KnD?X6=);w&WqJCBB3csMe2W$RI`KuEIS1AD?&^61;`mD$|dT2V$<7r3}jW# zP4aXu{n;^TpMh=bZ!n_b7;ZA2J2_8vGmv2r=fu@O>gANf5UvI?{Goj|kkUUG$n*7o zYamB@?+oM#d=2CveqkVsel?J*KWql_${$t(*@CAt{g1qk_%na_0fvz%q`42KYQg{j N002ovPDHLkV1m3)!3h8W diff --git a/graphics/pokemon/pyroar/iconf.png b/graphics/pokemon/pyroar/iconf.png index aa640f6c0bd0897fc40ee9c9f33a546eb1f35e4f..7ce0132406cc201e3c14c9cf089e98a19a81d5f3 100644 GIT binary patch delta 348 zcmV-i0i*tj1jGZ7B$0kRF9~o+S#tmYE+YT{E+YYWr9XB6000McNliru=LQE3CLZQZ z-_8I40VhdBK~y-)kDTq8kItt6zQ$wtdyS4n&qB2J}aBPZD-)4y6{yD-VEP7#DA?k=YG8nn47ME(KRqT4?8gIC%`}rOu!159*@BIt^#J=wg4udTL80G u0Ze|`FM#1SFs3^n@R5M&D?aS+^6?2jU>*POj)l$u0000OV1ZP1_K>z@;j|==^1(6{? z6aivOM??UK1szBL00AvYL_t(|oRNRv)wuXGn2;^=WuO+&SV$H(tKJaQ2sT+9XCE51*4~C;IT;v#f1%4- zS!mdL3D2Wo_&|v7mLAjIqQS5zq$sY}T%l)W2oMx+(Xp-!#Iv>|&^!fb)ewbhZh-V6R{@i@t$@krR=}jHfJyZoB{1{|jOuoLL}2;@ANqIs_yj*-9shfKS{VQU002ov JPDHLkV1gLisl)&P diff --git a/graphics/pokemon/pyukumuku/back.png b/graphics/pokemon/pyukumuku/back.png index 6712078e3b4d1eaa20a36c0a66ad179ffb922718..c28d95a370cd704ffcaea5a114cbd58a2bf5cbcf 100644 GIT binary patch delta 375 zcmV--0f_$U1K$IXB#}W-e*gz`Nliru=LQE3CLfVX?^pl;0YXVcK~zY`?UcPv!!Q(u z9T}vI4FvX>utTW`u+=qUtrVp^K-KG=wDALU0oE=gZxBBvx2akj=VxQf8M2(u=UyL6 zA!N{?f0j4uFr0%yS#gL5AZlfAi%o-D)20wfB6T%8MOf{Nn*i+ zgpjj~o0cVb0IkRTZSbzas zHhYeFh!Lp}3glWm&g~knQlIZQhjAd^ck3HtzP)HaRq2JBOMA(OZ)Kb;+? z*yenD_T0N<(xm^EV-Fa{!7!;e00fQUi~tlPOg0+?8fOe}7)Bt#h5(b}U32ap0K@JB zXp+R7c?ltB7dJg6SOTzr;@pFTxU>rx?g9YrYXD;E-*te%TOu&yJOT*(s0X0eM*!cM z>-l!Q2L-t7lCH*ErXmAR~bLkK)l0c(8;x0sIgPFm|TzT<>Ze)3b$ z-&kU`*S~;|Tm#PWvdC2+=>n=Y`AW5|-IE5Skg348{0TuLRKSv3QtsLjsnCJFS}_$u zs3omZR{OBo;n5aC{mvKJM6|S308`3R$|`IDF&PKc0AiNam#m6#D1eaX;B#}W-e*gz`Nliru=LQE3CLvHO^78-y0T)R`K~zY`?bNYO!!QsA zU`J7RVwDF-h}1R0;J^sE2VfvnbYtKw*r2MtBJmE0zCeaNCFg`9q_f){@(*6_(^+R* z7GlbjKb`DAJt-<$jt&6XWP3nE;L5W&NXoqcssv;i2hdU^M8T{@f5e9(3~0L99ePm0 zd1%(tTu?njlmPXOJmH`?_U$!+#%yH6Kw9L!y~a5-?xhTX>)f~3Xq+`6AkK0-0E&@t z!NJlZwI9IaEnL1a;AfmeJ#^T#t50@FL&f*!>1u1{MSijvKl4 z_MM%>qVKy``vdreLg}XtM?gDNil2k-p2sbGgV24ah#$Lp_{FH*1nby~Qnm9@(HAFD eVD1H1!}BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ToF^K~zY` z?b5MM!!QsAU`J7QVwDF-h{PIUa9{-A127OOx^?JTut8OOMdBS0eSr*lO3n#I2;1!r z`3Eoe=}wm%n=<8ZCqGb6%9@^|1Awc14^RZI9gBmc+6$mgfLCzrLjnp=M2gYww5mjsmFaOHutEL?kuGf?)q3V@r!wU?-^(ILRj z3o`(U=5XnQxj||_fYlvby?VgyID=;BuxS?`zw6mhvF=4{?V_(k;41_kJdhgfeuAwB zP6=on2if)Zjd`H&yBG5f{2wMCI~)N`sD=L>WcM_Va1B@>DdPJrt{%P^vD;uByC~6E k7ZJTUmI@a(<==*}PrC+amt4iFEC2ui07*qoM6N<$f(GG|CjbBd diff --git a/graphics/pokemon/pyukumuku/icon.png b/graphics/pokemon/pyukumuku/icon.png index 2e3e04451d772fff4e0c570890856f46a63fcd5d..9e0a0a1976265995f38e7724452c2cf2e9fc1fb0 100644 GIT binary patch delta 242 zcmVO{4kjYWBBMzF z006B?L_t(I%k7dq4niRefO~_63*ZsVlU?uIq3=xS#?S|GW3W~Se%`FxD+x)z&^Eva za0Fn+Y+DC)tt*sUCzV9>5zehbIC|kr1C^soobIOvqLaj;t!oE5Z%w54EMKtosbz68 zfoJeMRsde-0|07yo-U)Bk01SWsI5^LB&9qGgT%6p!n~505M3A~%RO~r&;;^AgD}OJ sQL`|6u=v>r3^EJz@k4ayhyL&--gD4;b|gQm*Z=?k07*qoM6N<$f_iObCjbBd delta 201 zcmV;)05<>10-*wsV1KMhL_t(IjqQ>#4#OY}MSTN{3(zA}Y4-NM9-K2J-54BDH-@@y z2f$t1F&_!(KY?L*07n2bX4^WbOI@JcI;kY0_xapz2(MB2(m>@kBu?9@fi*~C(KZ7^ zv?0=GmJitbt7Qt}z+;X)-T=J%0|070gCpwuk^e_+jlv))*{t00000NkvXXu0mjf D?S@)T diff --git a/graphics/pokemon/quagsire/anim_front.png b/graphics/pokemon/quagsire/anim_front.png index a940e3378c5b07baa44f3c355292beda6d9000bc..26fd56317663a4b044fe2ee17c7707d26c6fe8e6 100644 GIT binary patch delta 951 zcmV;o14#UW2%ZR#Us?bOa7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#7AAVCIv z000AlNkl8nu5XU7CnnNi_GlpcK0M2AFNcY-(gLb!RfJuN9FgjGp3l#R| zk&zjH5Ch@Q$K&yM|8o@mdln;fG_+0_W0L`b%w|9oy~OD4yV(>7+y~H^^3dyI#IDpj zD|%dvu9>zTAZu2ajFFom0F0b&LpdU>U=o@XB;SMpOmzgL2OtQgu%2^5a0o~UEC?Y| z_#}7o8*Vz(inf~-1U<1*a0Y+41)OdmZ`Q?s9=|!0K^Uty;D8wy$J63W1z~`gQFh$| z3(A17f~Y@3LQ&qHaE4`}SV82RvI%Qrh^Hz+2EZwyu*JOHLS=|xVjHtUh?cSnJYenu zU8BfOv&b0fddP)y6L1GMAm;vM31Low>TS<`Y8$@49m_BT(%0wGCugU<~Ygn&V4xpV}?&_F5d@ZZ$i}n0%VppeS zMM!A@?c>$QD65a~`Pc`Lyn2)$7Y5*mEt);@Qhi*QQ*hD%RD00pncJ61m4m_taPYRJ z>6^)|O!5xE-5nxyViPBN2P@OGkS_{K?j5X%Wnv=fVy5ttkc98VolIV z6P<8sUtqX~qXxim2)`;}TX8796bAtC*&aB>Vn}%sk%;KO{o(e)crk)^GeHCE=fl%O zbpC#L02#q}F&!8VB6`)VGjh~3f3*Fh2bi=iDqjuGA4OREJ00qFJ2Zdv0eb#_C}dwa z-S*BOg?N$=JETWx{`@S&{j&nfkRAabO#*nm4FgX?C}4aW+~fY~!+tM@09fDuESy85x=b0zKfWm`yYGN06|RxK|mt&X0<2E?3$S|V_a8(+guy~+ygL- zC~JgZyu0%|ACtGO`}_g0l{q1QXvvUn^PrlMr_2Hd6ZksUsu_9842`%|2_^onGQ%c< zTN8+<%$*4Z08g1ga;yPkcjGCuDtrUfo-#Ktqi6w7nImdT`?uOt=D0f@?6|AUEuaSs z?kckbXlb@WNOTN`@qjzZ42h(j0fRfrtmM}5(3M7Ke8B!x+8rNqA>3b5d7|UM6Xp~W zBnw6~Pb2pL__a{LvM!wk$-Unv*(B4`LFAoK9fD`W= delta 945 zcmV;i15W&&2!aTZUw;FQNkl8nu5XVIinnNi_Glpcq0M2AFNcY-(gLbzS zfN6jf2s%{B3l#R&sfAuZgCC(=mrUs!)bG+GMT-)$CgMW-MKKU!a(^j|4FGxTy%K_6j{#ux z_;bXMs3?SjW(DP&7(kfGfDQl@;|%<~q?E*fl!8M_nZc9Zs5ks_Xpgb$J4kwFeUlUT zC>`K<19fv2_VCq-O2S&RfdImWIGh(JItdFP!Ng?;te618Nuv1#1;xCZ;ex1*;v~UK zCT60`0nK%REPp^U%3z3PH-xSbCDb+Hq>x;xT@V0EALtvyZkc5+Xg>m%-b%n4xPV+H zzNJ#yS>PtNWt>t@p99Xf;Sl}RiURJ2m^Qxy-@nR)$*u#&E6lM@aCIOB|UI zoJzAoohZ0NuyU9UdSnA2xWV9e^@fxy*w-tCIT;`#uxOJ`+w7#b_a%X4IA{R^ljwUj z0dd=J8Gp@41b~>`gfk*TzqM4RqyGQ)C)hLX#RSgH43GFv$GeB*^zC>9GJ*DDKGGZ{ z?4tDx8V|9*fQErtcSZ5L7|`_}MO^!PH`Kd`SlIq!2r&Ieq3(rP3uF3^LO!a49n+(X zKRro#`=o&?0w4gCDS)hFV*v0dr3R+4ER*c^@qhhpC&vKr?|zmVh}9DDT?aI=EHPCP zzEcqK^JX1}Kn&mh*y#%p)FhGw6q2{zfh_Y&VcU#pQ-^?9?Ex|X2!fetg`}Uyplo<-idJRVDDYKSaFG61$z4n2GU1`|^xb&10Vc84dy$vT13ZyoSY>x&H z0Qk31fLni83=jUF6l^Qve;$v&{kteFDbz)hQ%GLsIY98mB|qY4*B?h;Ng@W>?AQPR N002ovPDHLkV1ktl%n<+p delta 438 zcmV;n0ZIO>1d9ZaUw;9XNkl$D69+g1g?Qz!^j{3o>IZE zdV|6z=-wfNyZMCGzeGw-*1VNp9v?|LP4jG0M#tq=4O+dr9@XXG^ie0;c?e=v!u`Id z^i2~r16zNmTCaUyv6zE_A!upg3AxJOH|#zz3^p$Y({ zlm&o7$QS;5H^k?vrhCBYtkkl@kPuikkoREp0)X?62DaQl!4_ZoDNY-VnNM;0w!oIB z0DB-F$O*7XqD%y>zoR_~52T!ItOK#f0_yF}McCpX$e;k2XdoaEz+v5t=^}UlHL#lo z0DiG%ksk1eD1Qw+;1(r|4k~2as}aZ=fUu?o0pV2X+`JBC$6oR-=9UJ?PN{Qn4uA!8 zKrTeofi%q#5DD)0w3oy+^gz$WRaLx-0Gm$Y!9u`WWrMiShlEpvoHBIqAE3Yhlm7Sq z6D|PV-0I>&l6dWyq2t!0b5AD$af+^4gylvE#9iv?S}$$l>Iul!U@Dwvx0uit;G=s8 g5d7kbKjLTCKSy6lBC|Fu2><{907*qoM6N<$f~v^P{r~^~ diff --git a/graphics/pokemon/quagsire/icon.png b/graphics/pokemon/quagsire/icon.png index 9a1027dc3479fbb796f82620802209e1c38cd2eb..9880403392c6224b30f2ef1b21cce84d8a5574ab 100644 GIT binary patch delta 280 zcmV+z0q6e80`CHlV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{4kjkfPiIg7 z007cSL_t(I%jJ^64Z<)CMYDm$1PsBX41hWhl0(mx>VyGkT8>CH#*{X7IC4P<=aeTq zzfGQVzf~ebxkrqa0Pd6+Fpdh2re*Y~Wxx&Fx&WMX0xNrHN`Dt`fMY~YHU>zmu`xUW zk)^>ih1gUZo|~X1>Q1z0TBd|T%hVH{XK?3$Ox+s9F^Ep}IR`{zQgJ6BiOM^I;!CHb z!Tn2pRTy~_2DW)hCSk4|tse^VTS2W)ufkARM}n>cnKNE~WWY>MKcbOAQv%x`)|gHT eJ%m5^;{nm;-VxMA9pU%@0000XZR!T8>CH z#tm)aT)7~GbIOx{ew_TO`mGX~$~|Il3E)AA0rRZjY+7cAS_V9@YYMad_ier7wFw%c;X+5IO(o#xWE!#&_g+*rCLa*B z3B{X$1S;PMikn8Ksrr}tYG5R{#K6ElsU!yG&YN}2hl2E1(CF7|V8~~Q*L5Ou#ycMg sFw>HcJPs^2p6$SDGli_@%07*qoM6N<$g8yZ36aWAK diff --git a/graphics/pokemon/question_mark/circled/anim_front.png b/graphics/pokemon/question_mark/circled/anim_front.png index 9eb27931eb83fbfa9a1308bdbb845dfdc0bf5f60..a998f7849e1bf3e0b7a867eb8d15cc3f025b7ea7 100644 GIT binary patch delta 385 zcmV-{0e=3K1G58=7#9cw0001tU!Pb2001*kOjJb?5fPlt&5j@23`FMwX}SMt$3lpSSQ3oOej6#In*ibS`w>EB2ucO=O5W7X zBPU%HWq+i30I9s0KI?F&*3l$LECA;enkuO5#Y`M^D*>hQtk|D2+w0M zBR@)Tj`}NTP^w%~00000NkvXXu0mjfm57}1 delta 352 zcmV-m0iXV}1C;}i7!(8p0000oNn#~&%)Auuk$jKNDFlz3u@0%6H`N)kwo zkaw=fM{v=yfTu?Fe=Kn>q+@|pBoEFxCKAB>-a~^V&N-+AxQD#Y!^#3p3#o=cIgTbe z(j|dmB?-!QG%;Wn2h!6+X01HVJ7KI`(!XIRtd&bnkJk(@o(Nthgo)E%6Jo0H8-d#? z62?M^Q8Jm!1TVd-GIOH}>PF>Or`42Nofiwqx!QWM%5o=yKCs;ShEcbix@pyIuOA%s y=;?=7J^uOyqFzDzC8l4427|$1Fc=Jmzrq_VcTcUd*qycj0000O1E&L!7#9cw0001;w}I>c001*kOjJbx005lL&5jheIM2U z0004WQchCOA>@23`D&^TJC?^u@GVhED6Tl&>JbF9|6K=+m@D=MiQhf$SZqs z7e>rJkLc`^2=zk_VVY3e@2Y>wnDLXH5PtvO$x8tHC5s7|@n4BFK_EXbA=NknpjkWm z7Mjy>2-+6Ko`+&+-#=O zsWj^W|8{18Z#%~il<<)jKUBlVdi-LEUv2TrHGaLv9~ki`&IgaI51x5TOaG-G?x;$0 To*_w700000NkvXXu0mjfK-`yN delta 344 zcmV-e0jK__1C0Za7!(8p00013M{Ml?001yhOjJdj&CQW9ACXQDe_lsL6aWAK0d!JM zQvg8b*k%9#0Sie)K~zYI?NrebgCGobfO_t~O$Xq#6X*hHJAgu85~!zy=Cl1UcLHY~ zFE0tuG?)FS-KH3~d)?ngwuj-bB0l~a0`cSK98a3RgJWD^GZrreko|&C3Br=>sZk&_ zT;91JlcJ(!0#AkNf0^Q(NXG<{Brnb}CL+N8-h+cE&M_zjs0Y1I%R&Ne3z9>i7)KEu z@e;wX5(Py&iWsnq9rE>{SqqKx4j2oS^l#V!YoU_EW0;}E6Ts_$Fmd=gAWDYc09;NL zFlIoEn#hzUa55HYrb1;a3zbSO-PB5*nuXw;ZP~2cZUHFmHntCpdF0GPYaV<1;+R*@ qzP#r3w;vGm39=tC`x(6Kr}hT2sZXs8cjTl10000p%61%EjkryTZ$o!L(HEcY)bZbnEyZa*Z0ontQ|+z z*PXm?=fKy~Ai9Rr|bP0l+XkKxFL0E delta 257 zcmV+c0sj8x0=)u|7!d>m0000z5T)t^Jv zL>4nJ=qZCRW5rVYGN2%PiKnkC`*SvSJ~izP|D@jnh1PhwIEF+VemgCY?|=e_^VuE$ z=T5IZqdA4~;*p&P-WzXKGMn~kqEeh=+>008O*H`zHXRY);-*`7`ugXOwK{R)9J`-9 ztm{{axRBdf`I>)gi_W>fCw+PNWD*#APftr^oVuJrq@j4hC#Cy4<{UBaJLFpbRd3&3 z2A&=U^XNV2MK%8A^f8}0o7!;fN7jGM57LZJ*`Gd*G@iAif^XK2gN=C~{#pAJ&SMH@ haa(UFteL&QZ_y&&Ova!bf1tw|JYD@<);T3K0RW_haY+CG delta 248 zcmVm00013M{Ml?001yhOjJdYEHHnmvOw$r0004WQchCZ4QGl2!=^-peJD5|B$A%<;$`zaZ6m}PkrbsQhW>Wji4TwFub-F znD9zaXe3(I$WYp2OXHb2fuk^VCZG^wNswPKgTu2MX+REV zfk$L91B0G22s2hJwJ!q-vX^-Jy0SlKW9L)T(VNxh2Nde@ba4#vIR5s^L7@WzJS+j5 zU;p2~Q)5!d(UN7ypIm6J4Q`qkbmcjdU*+21edY=eB$b}$@c5o#>(NZMl6T;7Enol5C{^IWL)Qh&R;ST#!hi1GBZO3&WJ^kw^f zoc2w5e`EQ|S5kMfk6+%~)Ae2PUVDXn-5PEc6^@hY=YMYoI*h^7)z4*}Q$iB}lJ;KT delta 211 zcmV;^04)Ex0*?Za7!d>m0001qplF={001yhOjJdYEHHmrsgPs<0004WQchCRnl2w%Bovjac@G=PP~S|B)J3yD=BI3TKK0SbUrFOUbI!ZHKDBrC99V{hOp z+U7tXKM*&X;(hopw9zC|?XOd`D8m9A%uCzqyt0&J-Rf)O`yV&|j}xP0E+f-@MX>+? N002ovPDHLkV1f)cQH%fp diff --git a/graphics/pokemon/quilava/anim_front.png b/graphics/pokemon/quilava/anim_front.png index e65df16880e20c1a5699d66bad855c8b9e2be742..6299ffb22f9523060c0d269b09c5f434e346c551 100644 GIT binary patch delta 983 zcmV;|11S912b&0x7zqRe0000Nl-@uJNm}Ar}ezU@U<1=;<-%{K`)QWmy@g^oS>s5=V>; zmOrUepU*?JVQdYkLgx0K{hU*`j9ssO*3&3@fVbwvJ!7NXf2%SCVv%R@AWuX?Hcsk8 z0j2@iC<0(MgZwPcx2VR@S8#tmFrp}mH3h^y{HOrKh;OF(0{j-L3VxT2lfNLucmnT^ z`K0Iu5yOGnuwO-hs``+OP#Bf*cw&?T(?R)V7!9_Xw2lAFV^}3gOCz^A`>+A9*5!63 z4^n2A0vMzWm$(#ALhL!^0LWH-r&sJyK=|5?L^%rp&us-^tr&m~2Oxiph4+KGuY|GI zE1nXR6_m3Cc$FyUN#PJpdVW?4fG~cQ!m7?S?;Uq&7=B3rBu_>I&~qdK{{&lDo(i(o zfwPMr$6Nw+Ol%XaA8imyH3Faq9>@WowBF^@F_(IDC4qe>Q|%=^nV`>{e+LWEaKPi( ztI{l$^8$?%-EDN;c1M3x0~A9I;rm_XKy*G@C~=1^?@ITeA*ynSKzfvJOV`7wBmfu; zX<;-KVj+j1K>!ZK*5oTpsD(<4f}UtTu9#iVJ;=HPNei%1>QauF4v-E*h{UJpfEn0| z2*wnNgSgg+JB#E_2xUO>76o36)S1an8jDiBQMwO6r1I1C8LC4QrOJX&sza3@=~Y=s z^#_Z>Mg@ODk=TPuk%(7Cxjg`LvkAD{;16`}XB&SOzX6;Sq1p}m(_8=m002ovPDHLk FV1l0ownYE{ delta 915 zcmV;E18n@82-pXZ7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R16D~yK~!jg?U>z? zq#z814G>5T%KJa=0^wJ&rFC{Mw#?N`wdeCB=uDq1%Uf^#rv*>-PXXc~0Dc1?#1p*$ zA^#%aV}HN^q0}kh^AY*(qyF5$#e@?;N->%uTmoYI!GIhN0U~|^Abkyn03riU=MdBh zFft$@TmZF=76kc!0A$n;0O95lklTQ69`Tn5P{$53Jvw9;3+%@M)%s1;ETsXOw3-nnKij03nt^dH~9QT4Q;(!1`Q_&{_vTf~a(o zdp#4PUTeaJp)<4ha71Vb05tgX(*O`nbtT&w91z+hz32gvfTpo9K88i}tu(+7*>zoQ zgFq%A)+2z!92lU9V8fNm;=bVc1oZ^8Ygapj4MjtB1R$=*vYq-9U~x&ZZT_O>#eum`n|flM#!?eTY#GBo&Y$(-2p%fSeGGx_Y?q}4CPJzlA@&w>H9u_latS$ zSX0w?1Wp8fcKimw1~4YCI{?m}Df-Y2*!%nERz^j9@ z!I=Du?-~ou3PX*z7w3es!$>}+oA7OPfV#q%bwIYYkXIP$WP>x(C%{^kAZdd!m7QaF z&V*)*F`NHcZ)vy0xZGfr$}0%B=A{O6CIQZJ@wy*m0Y3LEy)=X>!F{j;sssn{9d2$m zRwe3yK$U3p06Yt@Ca8p~0pDgqG~JLizyvg)5mN~_vI3&nq7op0d>Y3Uhd@AR2LcfZ z6~MsUNJA{6$9(A30pU7Z57od;gHnGH#q43H4iIrS?tlr%G(=Z)Ij;jcg89DZ*fk=- zICE+M5i!PW+fwPs3dAb^>|fM11NTsCT#cU-VDdPW3V4cm$t=Kt_WgJ=Ia+L4fLCwC zlTos>aVWQpz-9mKi;+yO*`btwO-&@DcLTYP*B?KqOEWM<0uXPGrzVX=O2mlsLK~QWSY*enlO z-)#*Pi#(|SoIX^bT^dsvpnFI_g4^xFzrpfo1!G9;e>j}Un~w{TGg1i)QD zDP&zbi~xE)dIW4kyYQF;oN+qvBvSx-m1nbJk^yN%;3L^Beod#}XL%wQEfKav2~cDD cd72Xc0oIdB@`@;WX8-^I07*qoM6N<$g4#eRXaE2J delta 644 zcmV-~0(<@Z1c0004VQb$4nuFf3kks&^R0!c|kK~z|UrIw45 zgCGn=oAA`u^8bIkNkBx!-N0t1)9H-&aPyGn_0k6nJlhBSmjF0JK>RPjR01FqMj>b_ zVGi)J2LXvt@)*F7g`L0_a0*Zeq~?IZdfG~u1c-%9KwAi79krDJ2VmR+6Tp-tPz|6b z$@oqHV}}8(s|5akg{73*q2f8hl7yK7h_*P$E}(W(*9$bKurkd^4V?rS1PcJx9AiCd z!5RV>1G4}sh$RCCP~FQbfdKqr3zGoD8Hip#P1h{A4r+bJ0%yRX1Y8JK>No~yMlmIl z7rheTy+14@@1wOt2D}TQ0wU3Ta$^RZ3nd5A`m`)5xHJZTaFRptfeb9LEHPw+4vx(KUcIDRbacop=5eX{A;qT@JCMCjb$27NYOQwyvvF6`==k?``{jw{3HA zM$hs+CIGE}TmiW2tM(h?gn>q{N+6{Rp!FaB*8gTeBfnSR-8uc2Tj9Ba?dftabt$(3 zR0AjX@&|d`ZVl?u!1tU!w5vw*e|w+7u7T4A-2yr@+&3T#aNWTxsrL>%jqkBSAAsIF z_>jSQ2QMJeqoRi`Ag|B@5Itbuz_kPiplpy({9gcL&jy5G_7$4HiXJ-#zK;NdHTr-( zfm;Ru8IbpQy93xwH-kF>dEc_df_VZQ7eTzf$axY?CYWL&m!o4~`+PpvyFebcLdZrs efOn%mBYpsqfhPIfAQV6V0000ZLgab&` z&>ufW&|RuirH-omIMS!;{4VhiHxZ!PUU^@MKY%mec$vNat&-Q&rqDF`F#yT3+(ti~8H7nT&*YZE vB(<-uGhj$&yB*scfx>#-{<=Q+vB<?S*WLj3)NMJ=76qguKFjoIxW zT8sb#39JDcz6Qw&)W+6hiv)ZV_>$)k7(gkyO#$s#lQAXr>3`XF?2u0DZk?(Oh)?LE zcS^0=_*K18R|5zWNYzlEJ~Qa9)wxn9)g!m`sk(ef{L>u+sn$2%SL7#f;Tuo0*MC&> zet$FzlGSovB>r#Yew|GKchi}4*#jBS$uI{FEHVg4LRxUPJzO(vev*WI+kj(WN@)rW z(T@R8mgScHa5-iWCRx2gbnYNbQuD8|FcdZYu`stwVd8UHm?_@~BWNkiFY*Q3O{4kj|xm9s4X00a+7L_t(o!|j$aZ`(!`#~DZ< z(4~kpb_)}DR&tglN`h_FWMtVzGKe<_T?EA-19a#hfhQoN1o=D`Q~+HvWUxE+{MM89N9wRK!Sb%`&;MWaY2frjhK$sZg zx+4$Zf13bGAAcP}r4dx}(+LFN{3E4Q7D9C=#~7EVd|Z?R&a2OpeEqjSCL91+4(I1e zDPO8=UGd{2V5@Y@w-N!>oo$x*cryfgQlPvXn120^kH7wP#oq%kXvTpbvky3*edZrL z0Ein0-U@*84-9}qLKZ{Vgq<_+|H@d=2NpuuF43pc34cGGo(n+KycsP7IqZRty`4_Q z91Fy?2a#10B`i;U6Dy5iTe*<{ZWq2?5bqKAsSY{1b2$JP<2{6scpv_G(MdR@#{y4i z@E8SpdK93#S8UI1M^9&-pSyMgFi*d&Xo@kGOHn$awGllU`8htZ>p9>8T_{SCvQdp4 zF&{vvf`8_KoPyw&9$4FXii73S_1K=uV^4H#A0P*kjh_cqAc!BtIqu7vyU-2LpVx2RU3>b^?Qg32FW85j!NdRn N002ovPDHLkV1kB<@0b7p delta 1083 zcmV-B1jPHS37`p(bbkaENklZ2fumn_ty999h2lzh-;4R&{^c~5{ zB6+lccIe_a2;#kuzVCED_`Z^KAO9`ZGAr`gM|T5REw}WPS%1hW;c!Na0FSlIgW#JL z46AJ|QbE?Vb$c0b+$bRF+B&wST>v&YXk*;YMF8osgRyPp4pE`A*-|m?^<$Hk3m9Xo z-bICc!3CJa1OlRq@<>MW)~z|8E>9eQ+=lDyaCUQxIV6 z10h5tp}Nx(gn!C2HYth$=a)~@eEqjSrVId44d>@dDPO8=U$c`mV7qj}wo?Jsoo|)c zWGe)cli)!4ZeaH18#ej!*EM?wz_67Be#|~(Z2pP8_W;0d5_ru4#@a;#*jr`N3COhhybN z1l%6{cTT+1Ax{jb(OaqkI3Mrpy3T(O-@ND~9NectCJcCt0(~P25W_2WZu7EdP|vSj zTL9EEZg*6sl;&hY#-uhT$78?7M|!gaTAcsrU3N-s8KOsp{5>cqykju!3ojbvrza$BL$H45Rg-V zo2$>^u;J+<0IG+>^39b9h_H9(@8drH_gH(d0#F{VAQWvC@x8X*ikFR;7)5j3D3Qs2 z8+m>L@Bfx$O12&5HEkz43wZUqhYhe6HYlmK7Jmn%DiGZUZ~bmdb#PmYRse}^H3Tqs z81AFQ{WcreYG4xwA?U0os#=XuL+BtBtAQF;0Q5w?+Xqkp5YY>yYBkYIWFGN+U-Smr zJO_h<4i1l?y%j|UqYMTGHP~d25L@Ix)Di=av(MPM-*J*Po?iga;LUqa2&kRut5YsO zQ-1)bGdE5f>*T2TO6NSVIkt1xMf{sGpOTQ8;HQ2adQ>wtUUKeD%glB?`~ z1s3KEJP-$9ONVf3002ovPDHLkV1l%* B`{n=u diff --git a/graphics/pokemon/quilladin/back.png b/graphics/pokemon/quilladin/back.png index 0c961901ec1cd5d60af6ea1231c5fa4b2b92063d..132fc1364e5428a74e8a7e0c43ae82188909676d 100644 GIT binary patch delta 476 zcmV<20VDp;1j7W7B#}W-e*gz`Nliru=LQE3CNrawgS!9#0j5brK~zY`?Ulc7!ypjG zsi-`cuDK=YbVdG6Ao3 zkzX=DTY*)FYXI|$05kv!+`}4y9zCdAuD&tv9Y_UWy~n;Ldk5f1D*LfyL4Z(*9{UsL z?|uE)*O*s|MF9tRk2S|t&Fg(%yS(~}0v@oEZd3>qISCv!%+K|<2y{H=wUWH`c}NXm z8%Br-;3(ZQKt~Edf5@13qc$#|1qcVDL~`(eE(NekAvMPU?|{4QK!8xAWb3zc9sn2! z5Gs;`w7&kK0I8I+MUD1SfNa&d2M21cF9e9l09sk6(3JoU%|!sN74T+KjjqM38XCv| zoTCIpTM{0h0000N`(4z;n>Eavf&VdvF#(6XqX)J&%Da^;Z z^a6xJ@MzAAz4z5)UtwL!G6-0}d2AVG6|0)QvUT|t1RP)l-ANxPa^|=ySPuQR2y`se zl@zRXb%+Du7@G3{;417hKu0owi%_?#(zc!i2m>v7bZ~&m1+YthE)>H6=YYG-NPti+ zMeDXR<^dQ95Xz&2Fs}cx04bz2S&!yYfb8Wkg9VjR7XpMQ0IiHw=yHJi;Q|2H3V1WI zM?2zG4>cqJhRA^yOaPRQK;}X5GF#*Cue%B0T}I&q98-^3o+Us>V3z?k+~^XMe*mz1 zK!L|F=+WTodJrsDd00WbQ1szN6Dsuz3>wCX$p|{0nNjYYYOP_138la c_+=3C1095#puo*O4*&oF07*qoM6N<$f|wiCqW}N^ diff --git a/graphics/pokemon/quilladin/icon.png b/graphics/pokemon/quilladin/icon.png index 26154c2ace9d05445589e3b7ffd6d295074ee04d..5347898d56342e08657e5b2c99986c89c2c70677 100644 GIT binary patch delta 390 zcmV;10eSwn1Kb0UUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2M#7RO7SL+ z0003$Nklvd&-4DyfqD%R&$A2CT7O7S5018aOsxlf;&QYW zDRd967K9V&kklDDSHYH4{m|w$Ce7i}>-%5d*1<|p$YBEJ%OGzWk_Zg@q7v!MA($mVPXzVM$`Z0-If)zih!{ul+ kii|p@$E80e+x@~HpY_hS^z~AjTmS$707*qoM6N<$f delta 353 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 X;Eig8)sr3o015yANkvXXu0mjfvg&u? delta 256 zcmV+b0ssE}0__5jb${bYL_t(Ijop$v4#F@DhI0eU5?!53zyXk8g$1wlY^)s`aij=! zVJMBDOOOaD>jlF)2-Y}koiKYU z--6Lv*648G1P||K6jINz3m_>(S)}}`Nm5HPwzRTE(h4tWhIzB9Pe(JF%2n6<0cUw| zYi&i%no|i>n}&IpD|(+YZ}X<$c)_deIoQr`<>WL_!c_40>BL_LjAO{4krTZSF*qW z007iUL_t(I%k5G@3c@fD%nz2JIo7^G&>!egB;cNV_i4TOmL7WC=Hx}FCe(TmN(`E$ z%@>Lbfy^*ucPGQxEXvvm(2N1+I$}`n2+X|{m~mGl12GJi$bULQ7C*wYEm37TO8*8B zIVS5dbOCA|3KjI9x%c9H7WU5!$tvO$ggTK#)XZ0SV1j<8= zcp4S`6R}1nG=7T1L)!3ZvX%Q07*qoM6N<$g4rT@T>t<8 delta 245 zcmVQGdB;c&O_h{XCmM*%S zcI8H>Hq^QhN=!AsUZD;QWFC+CygbHc5n4w@%NTIp`WkAJ0#i!`rp!}G2MmKI(gu*( z4^T}*RA`RU_5dP-Bt5z*KvhkY3SW0gQCIgWbtBb^Q$aO<_--9;mqnMTXscJ=tvO$Y z#ouSelX8!q0{NjtJOxI7MH9zxDQMi{F7zDF+dQ+0G?2j*F#5D?)&a2_#$#jMzjjdW v^SvF=iDd223&*f_5W@9vc8~%1TRVIJnSYxDW%K3b00000NkvXXu0mjfXb*5p diff --git a/graphics/pokemon/raboot/back.png b/graphics/pokemon/raboot/back.png index 1651d9e0e66ef063009f70b624555120e41c9062..78cf7631b1fdf83e2d172dd29d66327c86921b81 100644 GIT binary patch delta 540 zcmV+%0^|LT1%d^TB#}W-e*gz`Nliru=LQE3Cj_Do=GcG%{DF0arJZM&mZkO_J`)@KCpsY_h^q(q{`5?8m>q zb|odrcZ_uP1#p+|W2r2&fT$yRCIk`;8nKE3f+GM8L;y?`D_kLue*)0tc8%1KCbz)_ zBEZh%YW{f*02u>r>P%jMP$yC@#H|6^u*-BUFtIzE2mtHCI+U))HQ@ZY-|OH$cO2&6 z!A6vsOSuSjik0Q=l5dK5uWb}!AMd19X!6g2LIe+uBnl!VL3Rou2}bffB(WiY3`nH6 z9&jxIIe6U`#iAE$f9eqjw!9u`K>>4W7B%jGKb%}-XP{U#;fGe|IB|0({2Hu)Ij>aD zO+9a7DYS}2FPA2y4=8)fa(@mL1%BC~?#ZnHxTip8C${ni)#@eC_yCpA%4~zYB*xRJ zJI%nL?di!W@G$gq4L$a$51^p#F8N+P9>ynYVoxlTl|mD*e}9pvj^*JfsY~mzEHOX5 zBT+pncZ+;rTdCjEG`%a`b*fL;5@?xLZwO4UovMc3?QBbc4YL9m&q|F)_mKkU3MRBV zjDL(oJp&xtq;eH7DhDv~m`N1VGw^~n2J^N3cwpLOwlGcq5Ey@=#P(xYTMF13!`0O! ez(wL4#eZz`5;lIaV~xE400000@?k71&#%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0q03XK~zY` z-ITF%qc9MLVU!0jwyNt;^Z+KPU{VE8m8ZHJ8kv-7z*T0_Xxyf`xm=erJXBVakyk_{ zeYQ}+e*FKhl_2?%m2SQPZt}aeR+d?S)hm6%7!X7@Y_ke53V>|n3IHv>fmPveRW1(m*NbP#3cTCQS~B4t_3{e~ye5;MSA^wJQYqG|H40nVbAMj!*8%WZLgq4Zk zfF-mt+dzL3lj+o*JTPc`dvXli554!$W1ofq2oA<)uVD>Q3&iS^)OA-yV6~!`h+ZjmT2`Kfa$eU)zG`0?GdmeRsiZn zsqyF@V&LpxN~^>8WF%@2P}wGxbAYNGK+w-jfSC5cKkyjL)7Aq;oA?OR^ajBA8zlCZ o!`frOdJM^;FfdE}m`ailZ1XmLPLm^^00000NkvXXu0mh|f>Nph#{d8T diff --git a/graphics/pokemon/raboot/front.png b/graphics/pokemon/raboot/front.png index 19d8f25f0d4220f8f57eda3165260a05cbea3a97..756269fac361df17ca5ecd7143925c043ffeedaa 100644 GIT binary patch delta 539 zcmV+$0_6RP1%U;SB#}W-e*gz`Nliru=LQE3Ck1sgCu0Br0pv+UK~zY`<(08++b|G@ zX=sxdn+=fJ7p6leBJxlN?O=-t&}>Peyn+1$0Rm+8V980REGD}c=}=Qs#saY?EkUhJ z9#g(cNoT8hMCbO0w)=EDc<-~G}wLtP<+RMcYD{v^Xn@ixW5KX?*+3x zuu~p+Q_xi1GrNp(f8hrjEbXb%N{+Xi*6{#QA+7SUGlmx+$GH=KHO8Mcs7Ogv+W6F& z;m8l@vdkBSdUcKmh}Dn$_DSpcw#F{N>kENU=fReLsoM?#}CP|zRwNfhhq(svx4?j9d dLjFhn2A_Mj5kfPKnGyg1002ovPDHLkV1ka$CAmUCL+xuTQo2|WfVunxN-tWHe`TWW74=UJ${+Nknw}b4Oroz84T zQ>!siYKC#sDxv;+5R8lU?W?9a#?%cYDXi;WvkfHy*qhkYJ+pN-~u(=11{t7TZ z{6NnSJP0q)Gc7`>WTnLwfrVPE3zMi3^V<2#mZv8ysgCfSZZe;4-ijQP#N?o0#r0&C?n4;-bC za^^vHbmRL`I?~rTo`i$?6Tg0lA=ES5Sqw?(r8RV5$SS?yWC;^XZ;Ca z(gT==!vmOx!wQV!XH)9$z-)lv8;=_>Cbx@LU<|c;R$$~yUAO_G1o%niQ)^NC6KYWF mFBX~xLOHu#h#81K{h%w)pqy8=Y+o(_0000M#8K zCWcVYY-cefrKi)&DYurioH+=Ax?-8(b`N#Ex3JiS)J1q_r+?i;Fw25#q&Af-W*@~3 z$c5rnTm($Bx_~0OV*jx)PguD-f(DVhu|s*6*m>XI=CokcBSSH`XgM${)Vn1?b6x&2G31W z^_-CFDjq1@aGt*J`Es1U7OuNx%}+?FW^BNUl+v>iD-hU;2BbuJe;qCWoS#Tl3RD1E z;Z9YSnoI};!g=XgicoW5cwCTB;{l<^X&CNEV6|cCO5_sgv0e4}{4i?nw*>QO1SuiK zSYq2{0AxgMCX+Z4P$fkOfJ`EFUUu%y8>|V8$idPcb(~he--ej-=F&ypgZ;cTpyLz z(A_`3sMmWVOP5g;yd*Xtj;?x%ZyRKEzw|+h>^vq(GWdxs(Hb|BG~RvybQ_xqCl=_c z@_h19vd+pF_>y4DC<5#rE}2DlkL_}ONb_xeQ0sbN(qBD{_`R`Z7k~=O>(>G>Bs0*j reFh9^k54_nA7l(U@$}+5|0q5IAv3BKVw+K>00000NkvXXu0mjf7Sr)p delta 570 zcmV-A0>%B01)>FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0sBcrK~zY` z)swMG13?gmHv~*2cyYx#t6&k3r~$E1++#6yiX*KcMC?@5B!!KFUa!R4!aPLUV4lHN zLeiwpJ%h7%7j@>iwbg;ZhX1?&pP9X5f36(o(5mNzkV`gTTL@9I5!=eO6IB%v*?l-l zsn(T{nLu8tn%5|b%#a*^2f$kuB})@>#q%yx7IMBI$hh{rhESw8XkGHe0y64FoB{iT zT6exJNJbS5O!2uz-64S4j`3KEEiSk!q9(Xf5fD$e<-mW5nlSr|39x9wx+TW|xI)M} z{7URJ0Dwyjm^)Ge5Fu8BdpL85IHnd75?s;oV}Q#CY9U=$xEnfua*&RaKDIE=z#=+Y z2QULv+s78m5;95(09{Q0Y+*tiUISe}8NH?h0+>G4kpc7#98A_D0&*t0qhq2O9cnDK ziv&o@J!fPPb%p?e0k*@BGzKadV9UE0c%}d=U_k!{yilDjVBjeQoc#viHRxluIJN?n z#Zmv=0(1+betDXI*+ciV)h?HZQ_GaT?+!v65cqe)uwntU|GYUvO?FRlK=n!07*qo IM6N<$f=Y`AvQEfw(( z=;Yl*L(-ugqTkRvNf*i1sc#U{z3<+8_ulEfN~J`qwWY#Rex<6zf8|A>Z7k*W3IG}p z?_93}pfpj1C4iALux=HC#Cc%dEdXFg`rsZ+q5#%&0EWFnYJe$&&>?><0u@~ZF&GR4 zU}CEXv@z^@l+uB&^uT>!Q|KveKx|s70y)peG4Pp?y0U`c;DW2qE=F}!QsZ|&Iq>b0 z9+v2}Pro>D$sbk;e=vISahIMwE(Kmux=X)M3h90cutGn0WBMMh9F_t?{sYiNAoVLZ zQ&o`Tlwf{%wOLT#Of?o0BgRgHptWe?QFAgqV5z)ms(|489verIFuI6jnR1me+VCnY5;b6G>L(~jQOfW zuJY4Q65v!>PVhG1l0>Pl_gWAn$ReP5p0}R?!Gw-N1oK<9wrHbSW5df+$% z@)ttu3x@!?uS0DFnhQ{ll8KsD}J*(rn%Q6>KLi2(E%0R24R zCx#qCYN8t&g(!WI^cb*2$B%(df6fJPdIIR$4cRw=>&YNbAVCgsAn{49fwAno9XA<2 z;2DlucVzQ6YV`;qrYQm7Vxz`I4{w9n9ho&J93wcheNaI=FqZH-xaPo2V3_aEMi9ah zxNn;w2b^Rfn^CACzMn*)%|}sqZzmREZVm!l?5QKMjHKR}yZgw-a6uMFD@q)78>zml z`1$z#w;%LN%HOY+>dm^P9_ey>$v|+Vx}=-OL2${b{{b2Wb#ozxT`>Rv002ovPDHLk FV1gAXWI6x< delta 787 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 UOqXHs1poj507*qoM6N<$f*{UO_W%F@ diff --git a/graphics/pokemon/raichu/back.png b/graphics/pokemon/raichu/back.png index b738ceab8ac28dc8da01b6ac1f2bc4dc33f0a254..b4d8b75a81f6036d15931543335f1180339e5b1a 100644 GIT binary patch delta 551 zcmV+?0@(eU1&sxeB#}W-e*gz`Nliru=LQE3Cl8h8&V2v?0q{vgK~zY`-ITFv8$l3; zZxN{0auW8H-W-H1iAe}(FYYB|zJZQ|3<26E<3fm(AAp6Nx^1#}Fa!|dUF0hQeiMT(jKx_+++dgB zch)i@6@g<&sCm`uB4LEv*A}Qd(FcIDEaHhWMl=8|1jaEhltL?~9{^zT55}ncqW(w* zNVHN*oDwGenGax-e~@dfiyr3TR4to;1c8;5`5;kB%^E7qEf5>7@Fdv2g6?r`qgc}S ziqY-ZB>1QVv~tbt##zMr=jJ<7i3OerV0>wfDxlPOx^*g)uWNs~N>-)9iwl&;G`9e+ zx_r5F0cPIuk4?n;F2B1ym=$B1#>ySD(*V?V<|xpv0WsZ*f1fn}9C7i500{+t;JMHv zrND2lgn$5myY-k-U`~NTJ;Ee3rB?a~ptaXRic9s40Q7{1V8cZ&Yg=n#{GQ*`FN=y~ z9|0Ay@&2dG*R@0Z^6t04ubftW_`ta{zLnT|`!I6GTN{b(HC-p`lW?f*UkVI;7v6S_ pz`=#rUB~|)9i&#i?y~69#6JunSZ@kpWCj2L002ovPDHLkV1k;(2gd*a delta 562 zcmV-20?qx61)2qrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0rN>jK~zY` z)zmRh<1iEl@K}*LW2MzyMoc8c)~Xd!bqi_VCxCjdgaoRXPAAm)7?9U;0^&*xU71<< zA`E;Qo}HxlIl)~y4;kWL|9*b86MehE`Cb^XS>NCHR%aCZrO$4GE22#a$F8xN~7avl9aV*zZR?Ri+UwAVx4rc%c-wa`puPGym5# zD*x30%z#uYb&I=%>0s^yEE009b{Te8}|3z!W>E;iU)J9X&Q z6MU9H{`~>`;qr%fJc8vrfXrJbS`WBbk2(V-@25JmR}dzegWH%@C;s_8@rowvh>HEt!% z7(~Z<6;>cKPL(1PRq&(_($@p{!x47xxCiq)fXr(WT>zY2z$ybTi~0%*!03#uGMZtc z`7W~=AQ8FVuz+d<&LhqWCZf7aKRSIanW?4&(G_4gjX@)``F{pyJwqfibdk(ix6xR- zQYVwFp#A73vaLMnPWcw;VtrA=Bi6C;MN#p<*0x~<*zl*df!7Ffi1N);(blT7uQjF> zuf6lW=l?Q(GAMVt8Z?Fiq<4D@ej5gJ3lIvdJZb_+Efy(9kc&EW$7X z9{mEcFnA2Ckv~Nk7<3<5n0$my7(I&$;|pOPB1}^Nh$2j>l=vaS$n9nw)DJE%{8xTF Y0py6$e>k(zMF0Q*07*qoM6N<$f_y}hTmS$7 diff --git a/graphics/pokemon/raikou/anim_front.png b/graphics/pokemon/raikou/anim_front.png index 070a852664a537861f83bf66a148264bfd33892f..99286b1aba2ed1370cc17a7027fb20feed46a5ee 100644 GIT binary patch delta 1618 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 T?O-;I00000NkvXXu0mjfma-io delta 642 zcmV-|0)7481?mNmBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0z*keK~zY` z<AT@1!>siSOROP+84*&S?a|Ltl{f2q^(O|hW#eYj}m!3%;H+PnqWZ%RK# zGj$zm0U)}a2U!7i`e`PALjRftA%cw0M8u30SwJ%uN3$Sgu>A8}4;CuGXPTsE9|62I z(;2b9ibEEr4V#Y8{S}E>bLP#NrBf05l2~w1mVlT9E+MN80>K+U(&};j&L)Is8Qelt zDO7KOYZLQb00}`-ZEJ1uVI1HPVs3H-#S=}VNw91I%eSAu*RNxL-~zbMCCCe2zka(t z0)h;CMuKx&gb8905dnARmM~3{ao~ z@Kaa+LhfKc0D|BbfJ%?l5iZ3g&Zz|)LHCR=`5w6f#}0H|WzV^Q<1H{fHL4a={7Jwm zC0MqfyQ+?7wD36qhz7uP)T|^B9D7^?gA4&gJPSSmuC2hT1uzKCt835);2;HxWbP0D cpIe&t2d@H9r@e1NtN;K207*qoM6N<$f``o)DgXcg diff --git a/graphics/pokemon/raikou/icon.png b/graphics/pokemon/raikou/icon.png index 77cc29d7e9f273f9fa110e59ebefca17e72ea8bd..4c3c91819876683cfe3b8ad4ab035c3d9b0008f4 100644 GIT binary patch delta 534 zcmV+x0_pwf1Kk9W7zqRe0001qplF?uEY+CkLvt)=vl)LK5D1t@J7pOPmnjRIEV>~XEN42_UeoZTcs;#}cT zm{Lk>u`2yV*!5t(p$Ghl)x=wDJK?pU*3v=BqU~)EwD-b-mfzhCi#UcDw!-UY>&L#_ zF&-%eodrJ3gP_<&5swM!l7Kgz-`aniKXPV*VPl7zWrfw!2#0Te#$r(L@#YkiKd6ee zvlotkn)Om_o#~YnXn;X#6*Daaf&r#zd9ji;x_EyC25>^H z2V5af_eWqLoYLy6ol`zB!2I4=pInb}W`Kb^`p3&W&U;{rFF_F6oUt=7<;%OfVt3E8 z>b){sdf7G{uQQ00000NkvXXu0jG}g7ZrE&Hw-a delta 416 zcmV;R0bl;z1nC2i7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0cS}>K~zYI?Udne z!ypWVgAEdl$oKwlJKK~Nrzrh7X`7|0YVSBZ1is_=qXm4>&-2a!)$bfQ(bXUu$LMVN z{oHi{Gt7f->U#vhBE_BRZsJn4ushq@*4q@*#CSvN~Qdpft+#4x1=T znJH>dVq(=9R7FdF!jeVGG!zd&t4!XjsiS0+@^oYk05@h9ms^9b^3O=fs(-OQ1B0?Q170sSQzk{JxVF+wG-yKk;#o-H7 z(ctlxKur8H=!^1>@ag>@-KaG{e_L#w!~0N|89kTU?P-jEeK!W{dwb&X=|cQhs9(j8 zBc8c;enfyQ{5S_cjtGzqKNf(j{DAYL>G50uvhqVFKLS8D{0IPv{1_Dhvg1bp$jT49 zpJJS=aT^}|u-@&R4~B;aKVu};G<5QbgJV#?4K@dSN>Vxg=Vu85E>mFm!ussv?aKxhJWO9p@XeZD*8e#U(K&lvQ(Pk(QKocBiKmgo&dgaKlF zAs<(Q0K}k>GZGN8D3%z&E`_)%nppJ_U?@b`0DZ1-{O8@`>07*qo IM6N<$f<>m%r2qf` delta 426 zcmV;b0agB|1pfn&Uw;9LNklVxg`bu85E>mFm)w zssv?aK(=>L7Wm z*LOy%%ZHf2`)A^Q$q9jXGBF_qF0yQa3GAHni>zYVMuaZs1Aiwx6N1aLId;UNR|}8w zwmCnU^y(4ja*7Byr-Qm+O$w{E6tiX_O&3HkIjw}qU!1=8-ii<%OkDl_6J&U`vZmFA3VqB6Qlz8 UDNg{+EdT%j07*qoM6N<$f-*Prsn@!Wb#HRCMH`en4Zv$mFg_HS#Z5=AJo-hHYLQ23ZLq=ViwHW>ih5h0txk9n~1euDfBS%H2G-*-|!OzgMJ6Z1J$XS{^! zhFSj87e)x+gqM>H3WPgm{%MNzQ-uLx4=nkY0r&-fZh@Fh+fkGN0000VB+F0?-b%A&v1_;X6Nfe RY3CS#z|+;wWt~$(69DlE7iRzf diff --git a/graphics/pokemon/rampardos/anim_front.png b/graphics/pokemon/rampardos/anim_front.png index 3c912158e364d4cfd22b2c2566c339adfb468c75..99c8a15b284d1aa06ed984a04208aa10c28fb83e 100644 GIT binary patch delta 1670 zcmV;126_3~4d)GzbbkN`bV*G`2j>O{4ksOEU%xc~00v4)L_t(o!@ZZmPuoZohaFjq zEA>(W(w=J~vAwx|c6=()%4n@Iu$JK!UvL3HR^c3g`EA-RYqI?s=abgNq$hfd)2l#8zI|jKUR=#(xCZ$wL5$u#*-xLuRd1e>7>2 zC^Z@5p-d1UfHg1;+1w6Vro9U{))?#X={iJQhHEl5N6=~?2weu(G5{rEZ(#S>VkNRf z2LSW?fG&U*j=Mob$iM-m+yUb&rEH54Fs+9XsU>MZc1zs;ePXhx#s)x$86P7ONr!Q< zf7FB`r;cFOFVc#2vh)&#r&wBzlMJj{s4f_ zAUbLWuU^a3z!O(g=W=4~G?Y5l~vLHB8voJ#1~eHU)*~< zAbdAnGw0S$iCELq4kV{32uN2~%dEOrP_1Rv|-asXcfDDhB&ITV z`Kw;FhnLvV;@A+cJb<<`PAfdWv4@Cu6`FT01>J-v6Mx^}{jgY;a`_Z+>-sgxd9cR; zx17rtQh=<^U*p}4cb;d{YB`-qwtWxv0jSMs09rh6`%BPycn8mzY;hh#%YNiEjDJJu z@L9<^uWpm(qZz~J4LS=b+ZB)@6&!-#$Xw2wMM&3a?1h_|4tVF{8UIJ($Mf0yA^RBn z|9y(yvr$K{?o;~D$M!LcMgVt2zq3MX)Q;CV(Ds=>3Q(vQ=>1lj4J1?)Sxq7%2&*mX zqejr5BV4#XuaXh$>8L>rsE~}@Mt>t*Oim|YKYCo*8UbwDt06mT+Uo3xF%)}+z9CK9 z#-oCG_7d$N^0-V#jWHoaTf>CTn+;qMz%Ga^w3G?_#$_SlTeg)AYylwb5Jc87SGs7g zXQx3m3-G#KLP3FqTnCsiN={B-1%4JnDlTb85}pBGy?*3+2Q;X^syAY34;6gq#+zo>UJEmd=?~3$OEALzHRn_fOW`|3t113O|Xab zfQQMLvz`WoR-|2+FX#kk=zj?HW8+$pd*G7y=schxvBW(wDm1ah;-L`;`lSyz{MM

    }l?BbS*FO^<(&J94Rh zuC}115pigu3?_ydL?jcMdC}d39p03p-zlsmc000DMK}|sb0I`mI`%#mTAwGWr!AV3xR9J=W zmeF>EAPhu}j0FGxhno;oMAWc-Yj+;HdwO=RlYo$E`s$C1=$8P@;X?$ef)WJr5rgJz zg%I)=8pa^ZjYbg&p=AsrND<5LLQp6%7W-T<79pt9+*!*q5`k#0yc@wEfkHCsz z0rEIh{z_{Cxd7s)jz6xeyyLGsQcRMw=NIWA@kUS=b7t^o0M@?gR=5UGKzMJ0{4V$L z8bCWk?*J%(s{m3EXPU-xYy@!b!>IyoinK+}D$iSqPWAG5d&7TRuXPtN;Gg)~zXEt~ z;cbMG09^n^{5Jq^{(ciN6u@+9C9|J^LtIDjmcTe^W3YP_(dr<$uDI%%=MeDSP)+OV z5Uw^N4>hOt!*(?5R(N*j0V{8L9g_B1xaz_~0yXPg6$+xW7oJXoKsFa07ow%u%VDeG zj!^8C-w-5A&pTQmZ-svA%-@V9Mk#B6rzZ4}f0zXMaK~zY`?UcQa+CUJ;p>U6doiup~G`{Uup0y}#*?Uk#NXXFV3Tu63B+&5& zi67^Rbi73RD9@0YH5g-TkfM|s30q=*-uchhjz<67;s<_b{Ro&ne*m6?$$cPw05}lH z2Y|Q_JOkjp7&;|j?GF1vgdzgr4*CH$NDna?5ZG9MwbBc)={v&78^6H5T%G9R?*%f9 z8b9_GBcs1_n+MzB%S{Aq+5Av_y9XRztLpn5U|v-{K-L0Yjj5_49t3b!V-7PkB7v0O|xNl#+q&MUc_i4di~h*67kEIFe*Y62d?yf*S!5er5%r&!=2P z7}GFrh|qNvnDgIttBziNT7|^ck-3CYxd2mg=RknNg#S@{f2!OeHZjH_O}Ynkdug_% zdC?1#wI-id3MGWIv8!u)qgL!NdTQM&I0YfnjejBtC^4K}fDL|t08$V%340sG6c|F> z0Mw^^DtNo;}j-S_$f5B&g_Hn?y+=P`Mp|hb{-3M8Ty}=iAOX zH<5=fUus=2kWqQJZGf8S@_TDY=AMBmoMbv)O}OW^S(t+H1)m0xBv%J?Nliru=K}%`Au|*0YCZq}02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00KivL_t(|oaL3hj@m#F$B)AOS=dRFmq5d9zw+3kw8id05g{R) zK37=lDi6Sc16G4s{Ytw4o5joF{W?z)8SvXWLkyR1f2KU# zXTgBNIKX(O_2=-%ZK);eqff?9c{tnw@d=1gN(OE(0!6+Z=+h>6l4M8{!oW=g zKLH{_Wd&f!UalgHXc!A3^sx%eh3~pi#~?qgLT2m8Tt=x}fH58CK!C?Y_)!OOwMBF> zMiEVV0Can4wxxN|3!@s7Pb-BIf1=6A*GGG!R%|hOasW9PgAnr~JP`y`7)>rffgfNB za}YEMI~&E67(wa)>Qg=zyxsJ2MFjPG+W=@80~xGsvOEfUQ5mBWIIHxgTw;{TgbMaV z?#<4MaMy?h0&2o|N=}YRSP?D_J4rrLDiJ`;5=}(_Zd{}B*yKb|(Kj}UX^KK%?B4)9 zbUD~0N-kA=zU{no6M5+JrPd__ipslb0@OsGzc+?t?id)uNv0PZ3IDt{3$r(sLaJQa x5OKDIYegzB1_xwKfcL7j{mwxQ{l)!1_6JlD8T=+etLXp$002ovPDHLkV1m!pG`9c% diff --git a/graphics/pokemon/growlithe/hisuian/front.png b/graphics/pokemon/growlithe/hisuian/front.png index 7eea5e1cb329d1f77e9c5397741f63a8f56d08e2..4081e54a168dace4d61fb4912756509357c5a96e 100755 GIT binary patch delta 631 zcmV--0*L*G2FV4GB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD@85t-q z^8x?>0xU^HK~zY`?bR`F(?ApeU|Ygc#Dr`254gV|JSTJ{x^u+nh@6}#O&J<~f@Mcc z43QIHjoPDgBot-s5P4#V#9*=U0~pvMZ{2ymK+v62XJqM{EWOX~f89Nw&YJcZ6``9) zz{%OO>H=p_KLW@R0515I!a4$Uo4|opzTD@r05nSZC;N4sI6&a-!$5b=5O^i9Z)-U& zsRlp@X_f#5wbc{3F!2c7OVPy(CU5FR$VK@JHqC$9%(o{89a{_zk{M)wnhj R#LoZ#002ovPDHLkV1fZ%92Ecn delta 691 zcmV;k0!;nM1&0QZBv%J?Nliru=K}%`AON){I%xm^02g#cSaefwW^{L9a%BKVOhiyl zM<8}(av(DOV1ZP1_K>z@;j|==^1(6{? ze*t1kM@0Xn2lB-L00JvXL_t(|obA*xZ`wc<2XHLa66#dP&KEGBfIj19EV=`AGzuq! z2Z>VOPwSCm{cBUOks1M<`Xse_d*AD}}wF2h^Z`1dt;D9Pmnoe|ZFG7J&n&e7)~u05l5yXZv%V*g)Xjzkz1g z5VQ(lKi0GzQVxI+;uZh}rzwOEK-?=w1r)IAxzMkGI51Lx_R_Y03%v~vajCKg)3)*K z5OnZ&w+$|(ULgR%*?5kB>{3ccO(h@)0JEE!SE){?wB1&YU_#zM;~&4ytDn|Ng%QBq}*0;&}T6x&#I{UDIz|9=l$C|?yI13 z+W8;==ksL7{4fla8AFyCxtOr-zz?t=$>90V%WP{HIEGTz3lD%y)DH_+%<_ORV28l= zn?qZnC?*4IwOk=c%@OrQf5Ij*e`saf#r-D5$Fu{HA4rF==w+5IF4DzrLX>AnK%=KD zOR+CjFy5eH@-+;LGRAPgn1@m7A?wMz)YKpiY2#gXGQ^!1pE4X_}4!QTW+GAfk0; z)jA5xfQHTs@6sP(HaY}6Jyfr^FZT8kQ}yDj^jGAKUL3`xAFtu#@S&`aF?#vu@u~h} Z{Q|yG)ws<)Y9jyu002ovPDHLkV1i!nF&+Q_ diff --git a/graphics/pokemon/growlithe/hisuian/icon.png b/graphics/pokemon/growlithe/hisuian/icon.png index b2b03733f0ff1b2db1108ff6de6f59d3c61345c5..91be10db5d3d9099a5afda21652aabaadc7f4e24 100644 GIT binary patch delta 238 zcmV!#9nbe2a8?Ga!Dn3}FU6HI&>o1bxZ&zn z`*afnH?6{K-+=(S;R!q-P}IMs%x9a8#*T+0t7OGh7i3>cZr3{a-BLAmbThd;lM_lS oet707*qoM6N<$g795xbpQYW delta 218 zcmV<0044w10>=W7b$`7{L_t(IjqOq~4udcd;|I}Y=!)(h5I)ha-B>GiVFXo`%E(_c zz;+Oj7)i4bl58DY^|n~H})xhO4vo=?nw6om0eo_do#EvH=eeNE%)y z_t|Exu;=l}Dp+#e2iez(yR`{^x72MDbtaZ)QlUs1{H^;BCLK(?kBXChY@h7o4FSJ_ UV2&NV`Tzg`07*qoM6N<$g4X9^oB#j- diff --git a/graphics/pokemon/growlithe/icon.png b/graphics/pokemon/growlithe/icon.png index d9ee550f8cc1dae55d21546fd67dc7ec2799c779..16c19d5873bd2b5eff1b58524cc298b0344e264e 100644 GIT binary patch delta 301 zcmV+|0n+~D0)zvQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0~!o&-$W_^ z008GnL_t(I%iWT_3c@fD$MXaRM+e`xP}DgT%rkThhxQ>{TrL@$L`)-HEFp~!ZS%1? zDc+WU?*8||kC5LEYO=S@1Y7$w0jeeu763^Jy@BAd@U(C=v46>9+c=4a&Klhm61B3y z$l*mU6~JUfQFgetQ1j5`fS$pgO*I1udF~nWqd9)8_j!3&xep65WC%y=bHyJPxj7MOE$$(jz6c};kBn5^~ zohD$yEF&{f(FDxkxm0Adjfpn;P$!KT5&@~1o-DQu27DtY@KuDE9e<_jS0S7SAf5OkE%-ul zKkUe?3;;!gTffF?cf_tVW9$cp#*}5!-%=U9>7<#trk8ApFuxyXnosb5uU{0#ahMkd zV`49i2uFiGu0Gv)d{bb2i8k zCtd=&gXd-j)RH-L+O(G`fc>=To&KEf8la1U@Lh>X*2Xauc4#;T~Ax9k2vvD(CR(cbD)xc&cSKYPOboU)1;3tM+yM?RK6c8fR;qeR`4viK@(IAaE_Q+ zqwHq^F@doKAOmBK1jJ3;1j!zw7s6dcws((C#P|eRwV_itfgjHKgbf#0g5EuK8d*Rp z(8do1mLX7y?%dPEHilp-<{G#P%qf+>VS}fer{WffHx>dP6kyeAOPom=L}&514{h=J z#<@3E2UK9gmOV^#_w!vND)JH!lDH002ovPDHLkV1fgeu(1FD diff --git a/graphics/pokemon/grubbin/front.png b/graphics/pokemon/grubbin/front.png index 4ae58b3c0e0660f81bba7a47b4a7774193698fb7..c4783059273e017a07cc8fd302a4366f6abe69b5 100644 GIT binary patch delta 342 zcmV-c0jd7P1HJ>0B#}W-e*gz`Nliru=LQD@8akn6(X#*m0U=35K~zY`?bNYO!!QsA z;E*9RUSJOqQb%N|=^U8>sUz%$B8QF$Dc6}Hb;Mr9FOa3;2`UyQ1}}Xhd@c%V>||j> z`Pch&j?Z?2V9c0*pA$mJKsk&rD5d1Ix1O*J#Z{k37-Jbl(bIrof3OAhw@B_<;B66J zTaXQa+ZK4&c(k8@AoYW%1E?01zW6|-YFk$pOnu-d3tXdg!R0TQt!Epj9;;;ws(R&s z@J4M8LeSI$%rPlh3d}Zzs)o|3&*kex)w`zI0)nD@j9SMN)BmkGGhnsufKcntm@x$V z`#k_W13w;tc)+WmOq7%#@3{e_0}L^B{UxQ`34n9R3ug>MYXi(a017A~?hev!kq2f0 oF8IK`&Or>ni%5+BhB1H0H^p6hXK0U<+W-In07*qoM6N<$f@i#zuK)l5 delta 346 zcmV-g0j2)F1H=Q6BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Ub$1K~zY` z?b5MM!!QsAV3Q#;USJOqQb%NobdJn`#0Yz!$bk_dqO{0~;2Kri>8) z006;BL_t(I%aLa-f80H}%U$w5Q8d?33?1$7q9&vVBkFJf;3$L(2SA$;JV8s7ZvDnv z%2Ty2M(}8?Eh{wwwr{vJN#Q&|uH)_!d^w!48GWq1736hv%*}!RyAUV65QMOa9$!C* zL4!b`LVz2Ps$BZ?S7)ixJQ=}jXRS%|&VxhDWtm|R{grFJBM8s39y;nr-%eb|Uv&8Z X;m1>wtnmWC00000NkvXXu0mjf35Q#D delta 182 zcmV;n07?Je0=EK?U)E&9EEUU z185V1CunKXt$*>B@>H#h5j+}e%Sw%a?HevlQaBHg>$tlFTMlDvMi*;uMOa7Z7`4Y^!WNg3>pLi6$0FVROQnD{^~4MnkOT8?W{Fv-g$6{xhyk37u}U>B)$m8 kvK~6>N8e6d$6s{$0O7||l3*ukV*mgE07*qoM6N<$g7%6}(EtDd diff --git a/graphics/pokemon/grumpig/anim_front.png b/graphics/pokemon/grumpig/anim_front.png index 4bc3a84cfcb7bc9d232b2f74daf61374307b38b5..7be50f8ac91dc823b1bda893e9e6d6c96633cbfa 100644 GIT binary patch delta 1166 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 delta 666 zcmV;L0%iU91%d{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$WK$K~zY` zt=jUJL15Oy#L9 zMbutx@NncGWDImL{s;XLeRuN7ch=ci@`l9dzI*T8y|W%Q&_kf+JOs|GhryAj2xP!^ z%{wdBJyW)}CqEK}P|9*~D-aqJ;zraF_kw z2L=Feau-ha1I(Jqzs}ckk68{JJP(uiuj3EqL+~zL_)FuzdjS@;_JaWu|Kj^yP)W4t zE)IitWsqqgW~Ep6XQx65y#1n9prwajNx!S>@L~322c%oTw^zm!O=Jp)dHv~ltj%M( z1$q6S2tBQ86(op%1H?ruif~m+Ae)R40&x^YQNOAs7|RL(TG$22I)2C)ovLAMF`cFNd7ZzBfb<_UNMF4a?YK-V^<`4Mi}wLL&?mxbEy z;>jMbmVSrNU#THFl!JbiRL%82>)07*qoM6N<$g3|UQ A9RL6T diff --git a/graphics/pokemon/grumpig/icon.png b/graphics/pokemon/grumpig/icon.png index 013cec0b264264b3e03299f906a43fed0dee801c..c637668d64d058d3c647df3eaed6949c27eb7a67 100644 GIT binary patch delta 287 zcmV+)0pR}90`>xsV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0~{a2U!{W;I~_uIK?hHQ4qh0qgY&`!9lS6>2PO=+08egS4yui71kYCZq}002ovPDHLkV1j1;a3cT! delta 250 zcmVs!lWI4{yQ|iZyqBGbbBHj%^68gLxQ46s26{eyCj4^d0hi2y5 z$PrVT-wFX}Ivu;r5pM(5r-!V-Y5!{S)^(R{UF-Jz1amR0*K=6ZyH^X4qN+l?@7pk# zaAS1SP67B4Y1||rp6d{`T#bei-FpH{A7uh@YJXE-r9&XBL)b3pz$ECv!mtjWg;A^n z3!_*EAq-f%{=N`q^<(Kt2&3i_=&uZI15Qk+1n`{5%1){!yVZkETR&U@J2n4ijdnp8VB6N&8h zv7aEi`V{hVot33TRI{sI+Fta#&Zn7K$>!T6S@J*g{@qMHTYt~ghTr+WWss|*d}pc8~;$3+f8{Bsh1z~x-ntGpig5$ zQ!enF<}Lu}_UTOg;9H18+xEbT1*%uz$O9UO5$=VXA@CW8uuF&|nyQCj%}%hb!{Zq^ zu|U=Dhz^)HA%8R~i~*WP48)!R1X|Sol+HI`fb{1MwckM_T7Z1>`#I8DYkC;%6CRv` zeA;8vT%(~qaIXnqhNR8IJ$2aCdj$mCPG6N==ky>bqYN0ye(=;2MwLp+z%QmFAXxT< zl(F)XC5zktrrSRyi`)N&+mji$gDfL;^O(bZ9oD}&bbr#ScLBnyxif3?kOb9yRB9_|0D^$-9fp9UEb%Rl0sN=H zw+46Y9X@8%fCH{a4IpRyn~v(hEs^A-y5S6-LeB(4y T62&R!00000NkvXXu0mjf5WpFg delta 543 zcmV+)0^t3b1@i=uUw;AqNklU_H? zz69#USyt6%nlR*3o2e;lI;H+G0YGzqB7Vv()S+oQ;6Vh+XW%FUK>Y~!B+XFtNPWa5 z)R9ctK_~%0wsCYk0n!pcWw#?a6iz|`X$k?rBYI*l0E#Su|4Zi^2ta(dBk(%_kwwfl zum2;i0Qh6F_kVP78nbbaO?^p*_n!>dXe#msEsygQt`rL zPZ(Y3G?mIdfsNx3yoBN}p?5nOHv(V?Ah^*3LQ^aM@>%~Q0Kq%GpMfJl zG0>jj6c7~!y~GKCzY2P3AYBFw8%V(ApaEurf8#+Nr6rZ3qXOP3WReC>`-7V1p;uQD?A|ZVF3l{z!i+KJ0?Ka zFzF}-1&o<1gc)}%=RhH@$0bEQ0HmY3CwEU6GgIh>`v8tNqhPLzyxpK`iio@?DkwyI gMtq3Qf1%&!8x5-wXFJs}RR91007*qoM6N<$f_zz|d;kCd delta 394 zcmV;50d@ZB1M~xsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0ZmCnK~zY` z?US);!!Qtr1%@nL;x};-jwqc%)i<#ALcu05w7+WVny-KUp@rI7kdjtF)rmB~1)K!>j+ z`WXms$+a3v*5QtTBK<#q#k~)R20|u2g7-(w{5QgT#~nLC_%CE2vLr-s9tJuh&;8?7 zzSEfe!8-?Sb66%;1wb7jx;YFAyO{105_H@bV=9 z005v#L_t(I%k7gb4#O}Eg>!>k%B2aZse7}Hm-JEz?E)GSFfS#m?MfS%G%)S4_vD{g z`r_OV$g}Zn(LtMwE|?e7a8U)mu362j*dC-*L3{>~_LlJo z!tM!*97=>Yu@)d;l22uTq_1aY_t$H2G5!r7XMoz(eFvD)07FRwlQT(R05V0fcI(8% fqW%io>p#&0%HLw65!^bW00000NkvXXu0mjfNuyvO delta 192 zcmV;x06+h|0+<4jV1J`YL_t(IjqQ>v62mYIL~{dON}&#ksB*KGhxAf5O#@>U1W_qe)5d%ei)ruJH>uYtt@z+Upbvgcmk265!ZvEGQ867Yj uEifsu1_m+lUXaQr#0>iGAbhyjf1)?a-(sWFtT|Hv0000Ab-3f-Gwx>lkkdn0t&L0YmB+G1WL?T{CBJI^pp(l%)tEwhz5f}8Vs?oX~k@Gq|x z0D#pKAFLsSTkzP2T42V9F!a|Sd>DEASi^E4w%&lK{q$P-0+w5rOITV!lzJ+Z zZG{T8Dt*9OwNPQvszums3P8vr?Gu6~z?&>weh96a#9jbaqSuKzO#nH7uAr4WK+dH8 z05ndCMJWBk0O;uSr~*unf}}Hm@B$m-H|{aHLuA3zA$ZmVGiykFfSK~!U9?_9W&Fug zji-!n=^PL|2aaAKe>8jAWdYia_f#+zn<;kza^4~@Sh2VEgvfYN%Y4HsZUJ>N4!}7Y z0MveSdHKi+sJ|o-N&u+@c@SqSfLwS8M67;GNLR)xav&G!?ppv8l4#&!S4b4VWp{mm zeGf|^Xb0flADyfMxT=elj}tN4Bb9*YyO+Reye0#5n>suKNVQ1=pa z3UF%qjSy$&TKEsukE8>pfVfhT4Sy-m|L%IH&7B&50=&F_0WfM#y?tf74FCWD07*qo IM6N<$g6W#flK=n! delta 477 zcmV<30V4jn1jYoABpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0iQ`kK~zY` z?UPMw!Y~}hBjV0Rp?5RpS&5e1jnHF7cQX*vPOAh5Q6suLx`3uWrD1?P z1&9W4cM@z2200000NkvXXu0mjflW)}Q diff --git a/graphics/pokemon/gumshoos/front.png b/graphics/pokemon/gumshoos/front.png index acfc23ef016d6a46f00bb051123f27c98ca3dbdc..d8e11bc251884ab342a2e6ad1da5d07d28ec8cda 100644 GIT binary patch delta 533 zcmV+w0_y#S1^Wb$B#}W-e*gz`Nliru=LQD@9w0bt?acrH0p3YOK~zY`<&`^b<1i40 zWd!V3PA*^u5mE+_3<%qD1i17%9z_U{#(;@ELVAg)}~m3V#J=FEo!})xgv~~utcrR#*M-3 zt0AjbR9awDlvYY2e?LcDOqZbp46`qCrXd^Dw(%x*K*<2Y1I9~9mh~k;0OqXo0|1x| z0M!rxe2McGsG`I#511klD(3)d0q4DLW9bJa7ru#22eca-jVAj*o1#z{W*v{;fyORE zjgUfh2`2LN%^Wy)7gT1!F`x|O;aNI29|jUDnd#qc2U7zVe=bhulW4Ver){D{ye$1q zsrHQRP74@_h$=#gwfj74I^gqKg!RPQz>Idlp5{#;8X{`qi+9F#mt*aK+BbL*7v#Kz zsQneuM0gNyD3}d>BE&;q-8?sTS1IZkym<~yBQdUZ>j;%zkOOw_*$ejnn*@HvKk6&N X8@Z_T@#E|O3jhEBNkvXXu0mjfy_o5> delta 541 zcmV+&0^I`@Z4sibGWOEmjRopS-&eKqO>mpvKO#kd<} z5C>AJRY(B2?gZa9ngMBl>O}%~IovQHRSE&_bR38>O|S3)V8a24`19o%0CJc{!P(Q_ z{LgQI3>YAaj0ivj3(j`Cot-XtAih67-j`PAdcpu{%-Yy|0h%fHmJA2 zfzluFWM7h-B}C(&h#|t0{ffe{p$~+3I#O{10Fal2X&hO z006~FL_t(I%jJ?W4#F@DMRSAPg#m8liY3|Vt=&*Mv96J{1V1LX>L_t(IjpdTD5`r)chWiG67Y2Q!axU#gHrTu}xdB;paPz@{ zO(rOdv3g2Vc2Dojmhb-ilcv8A-z=h4k2vsNBI1dI*@H;p8brl_EK98Nf`MIWCJw}? z&Re)LFkMo}4Ii5%8^wWewpB$0`W}EUB992bC4P74xXFwS=wd<85I~(7B70a&u~MqH z`?o@BYn9Srl_yBsU?E#)yXY|_Y0RP{3USjbAXj()k^09ta8QHcU-QU^CTADXD<5$j jd_IN<_jCB$-{d4J&O;3#r6l-{gMLEZRLj9NZZiB zY|`YK?6Oo_op36e)p67BHFuHH=OXPF;4|cnZ5A75yiw95gMWk&@2~g%^X!@TQxw@k zO7T(~#R|33c&!x)^mgE$7AQ~~J6+e77dWH zAD{JHw~LX?K;^9K^xTfvr0RRsb{Au(;Z}u$if6Y23@dP(Zv^qcg8~>Q3W3K`8&}V| zI8_`9Nx7U{WT1o64w!_DMFuR2;6>sU?hXY5-9eO2tqBN5vpbWV=i_Cn zcj$=1((wtsj`js*i&iZfFM|tK`@68LiJuCnZqdcQAb+svq{V}S5%)1?(M?VewD{k2 zNT=|j6Uy%E%dEgTwz*)Mmgv*TZ5U+)CEv5wbZRGp(LjaonHgqZ(x3(cBaTl$jW59M zEZb^5IIgX4X|jp_r!j+HxlO3Yts^!Ei?GI@ACK6I3u+lb+hz-PJDFb6uYWuaj~E+4 zg=NMAwtv^x3rcSuzuP2b283VE@RX*XuZ*tq}Vl zP`gIsN_9a3MKQu?1>K^Qt>5wZ!Aq~AxAzP7fq&BZ4MEYec6e&a^{6)IJ%)v9!m9~h z)MSOS+xI>dNN?!55yuDe8@vq1URoek5HcB@%fjDA>Wt9o#e+=n>jQtP7mS@t1-#c6 zDdf(sbmWzJz8`unL{K|%w)YR56SjnNSX~@8X#2gv{Z8p{?Wnp zw12y1M*UPL%aB~}<;#&)JonK{U=U|}A&H`&7N>#9{JKb?^2uDp7Znc&jRL+*ArK4vlnw%k$CBry zv(f2@6JS4`jp9uJf28<y}e>?uMt%^$c-gf+B%?Qth z1=6@tCgE7*a9bc|l!62rXO!?T!4@!VeoPOJcxeY18r%ejgwcHl44&W+K?Xa((8`qD z?VsTC4lrzG#1Uk?Pau^oU?30xVTAhx(s>39^?J_Cyr2XG@(dVL^(XdmnHO}jfPZmr z(He?wvVsyvlxM(DI6u_iXZrL_*UAD$nY#_MjSSkHK%N1E6G)CQ)V9M3WD6KEf#eWH zbvm3tIAG8#4jB6cqUbG7AOINF*WZVP69|mX>};;IVgh-0^=0!!IAA=Gehx6agg}@H z1QG+rK7rtrKnx%dvo9c!Dz;<63RwumpaKF>bvq^yYqEKwLIP2>zeOOc^}i*M=m-de z6cb1~(_{ql5@4X{CBT^f@_z!1=|2XHOPT_NCIbvo+{^ziKl}v;42gYW9S^hs0000< KMNUMnLSTY)X+^34 delta 1222 zcmV;%1UdV!3Y7|wUw;IkNklm5X6vvs9pty>$jBOI#N*?0$S&I*V<@5{K zeYgV9rlMhTQW_eV+%>n&C4?%~Dc*`ET6X$uvwPC@wb+t&K`JsDKpuj$HIEzI}Asb=?k;w*UkBX~*fhZMjJlcs0L6h|_RuQi1N-en=ofxA{hr z4?So=NTQHK(+99c8Ur-K6Y#<5AA%fI^jpg~!bAs4_G5T4S2LpjHU>s9p>`3wf z31b7MNzIYu1b>0&BoiRa}MoaFNL6< z5%@M=@SDl>f_?qxad61_5IWpvJP>p01-?ttJvDmLL-pha2 zYZHTjM}H7o0qPK8aKX)2f32~o@G&naVbYET#w(~WTqJ^w2T-8d#TDnv-ukHz!ni|D zP%4@97Y^sg7Q0%-`D};S2Zi2s7I!+36eyL9QM80=VHbXSdxbt@SrBKe`nIe-lYQN8-IFk#QDA|4?f`9D;uN=N+%DR@EL_^q~-JFnYR^Mz(Nu;X^RCn|@&-f+83Vk=qz9RT3CO-*G% z_iCpk?7Ani)gL>wQ+f#Hf*_@XP~oxcIq7b6+VTP^pi#2^UF& zR@y-2(ASC@1kdZA*htnQ@SfK{sT!j*X@7$>Z&c_=vj54ZLCh!x1*(Ek_5@qNu*Egq zyW-_7U{v8vuumAB4Pb}@`v}tC0!FpM=+y z-T(%=nsYNRCWw?41GZ$8^90*k|PY{JAy!-0V5`m9HJnnEeJ#a2D=o1u}dH&ttAKq0K@wF_kaol zfz_Ga&3Y>)kaw3~)=yLb#slr;0K-cNgquJhF<|Tx2uTUV00J?45(23aI~FW~Knx}! z5Tw~LfmoCE6O$4Ms(urJELZ=RKtG~GAP`ziAn8t15y(q`fuolIWB$kY1Q-f__y)kZ kU@1VzM}_DnzB_*S4+jj1eTzu>&Hw-a07*qoM6N<$f@7{i)&Kwi diff --git a/graphics/pokemon/gurdurr/back.png b/graphics/pokemon/gurdurr/back.png index 9888f01b5983d94aae0f1ecd46606fa8e2f03df6..7b36dded0228a1e16b1dd83df1bc93dae2de12b3 100644 GIT binary patch delta 547 zcmV+;0^I$y1nUHl7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lm4!cf%O30005bNkl=3!9@oc?CSUYL`lJ}Ht}bzjKSrMal84p(Px-+dAU%9EEO>u@ z4X``}h8x2O1pp5$TNIC_G0kHvhIz>(liIu(jGfPyCcBYJ_Q2S5@tV1ESZr4*!GMV| zS~~>2hV^b^OnEItKjx&-7&XnaCWbU+?9F^PGMXI$}&4%dHj4hugd&*O?$ik{r!sRNRd0l4C&5+kY*KgO7K zKmo{wpdL2>+3^f6F9iZLCd^KTB*B$JK%hjmNRMYAL2!9Vmf%^iU<0f~3hjHmPJ9C>;6GLmjE;W<;BI5| z$JRz5;Txbzc;Vi@7=S%gXh8Wpym_ttWI)nyVBQsIw$?IWFpnDoGNcRE+OL%V3?T@@ zGILXJ8E_x~S>b@H2Mz^hcI<)ud4cH(5Co(Xm|72f+LSd2f{@t&Og#`Av002ovPDHLkV1mJ(=sExZ delta 491 zcmVnCtp5LlFNhi<*`4XNeKhwhD7I~%K7IQ1Qi=4+9%Fn# zNFlOdxd{c?nj$ni&0e!2R;0atud z_So+VN5XW6PWNR=&7vt`efSc86>yvr0RM=;3OLTg{t@9hUNztW@G-vpkI2ma8Bj}b z?!GP6KP`EEKq0jFkgUD=$$K6?U<2>&!{{&Nvpm4ueJAqqwg1&|Mu|W&av5b)SZK1K>*>{PXE`yTluSEnq6&RBr*cfcyB+ h?E?X(6a4h)y?zKDBLk2}hqnL#002ovPDHLkV1f%E@i71Z diff --git a/graphics/pokemon/gurdurr/icon.png b/graphics/pokemon/gurdurr/icon.png index b445d735c203112eefdd98667fcc7d01ab9b8535..698ee8b4436c3069eb1ee9f60deb4d8a019ea7a4 100644 GIT binary patch delta 343 zcmV-d0jU0j1E2$t7zqRe0001qplF?uE+cF=>U~#mz;`82+Tq@p;~_7P~nc#X!@5bFNABIBhV!ndt9aRkzF#uFi?_6&vvr$E-yuL$)t5pa|_Dt(*i~jDoXh*PS?=Khq zgKTvYm^80RPa+#FC(XZ(uhYvA&`sV%L`k5f*3W`HrLFz-01%m~}77P(&zz{(eOiTnBFjSBQg9Via p3=w3(%&{P5!C*ng$EN$ej~9bh1`E0H9_Ro7002ovPDHLkV1f{!kvjkY delta 315 zcmV-B0mS~G1B3&R7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0Rl-xK~zYI?UYH5 zgfI+6kys>_r~BWwzf%+yL~Ir<^`_clg&!V5^tSDb!u=uNnpX_+5e4I_C4+oK!QkZ+ z<7QSeF2)t(O-z_?%v3;7V#LI#`UH#$SH^5EVM5HrL_vVT*m@bFnWzf+9(iWpu8Rbq zXu9vaMZVuoVi0P7n8iBscK{W;84+3UEjld1$EN`Ld;)V5LLMXbRfAZx#iH2Ll7EiF zBs_gt{!NIqCXx~eW+AF>usey>SG>I5|MBbiBE!goVTM2|!@LDj80Hkn+A#7FNM@Kr zAgN&vfkKk{Kp8eF-En%*ziN5Xj&A;RkfT9`o7&DP#Zu N002ovPDHLkV1g+5h>QRL diff --git a/graphics/pokemon/guzzlord/back.png b/graphics/pokemon/guzzlord/back.png index 18f9763e2167b9d0df90cbf406fca59308d5fea6..3c536f7a39a3dde09a4048d1a53639031c980765 100644 GIT binary patch delta 684 zcmV;d0#p6X2EqoAB#}W-6#xfxNliru=LQD@APGAhZrlI>0;Q3YHGhl~I}*^PTT2+0 zt^0WQ|EHs>>K|J5_76bYU;J4$b3nBrhsyWeEdJU3$f278+|N?f=9WXB_95rLd3f7t z&%lX+6#_R+)x3NU=hC|TYANxL&BLnNZ>!zv$uqugYVFuwEn5m%$zdaY4dPB1i~F1V zrqy2$*`vuoZNf`3Lw`I7{$J}|t<5t4p$$ri zdg_3BWFTikm5_R}WL>`#X7r-fCWQhxt%u@8jATj2)K4;M4P(d&8>7~~T4y3srzi#$ zodVER!l4XmKw%wYf=(Ye7mwIXk z*s&xXY<1fj9wG`eU^`rfK2W-tiEop?X$w4aeJ8qn`nnz^JEpB_VDY}7r zsLcDlq&Dji+^0Hcq;Vh@sntwGqBQ#RP>7TWx2BFIa@>$&G5%trqD7-n;59*6;Q|mI zIb2b2j#GFa?|(IVi6Rycl^wjU=eP03HFAgebFog%YF|>k^nx`}(e}3dU3FVhY#bZ# zS7DWbHm49z>>DC3E5KH_$I$Z3uFk-9g)SbOmVUzQi3(t^0ixqKL&t^zU$TCP6OIef z4jQSW#g#K2Ai*XYmyt9A5KlZfYAN0Yp#VH?BU_wFAb)!dRRq9CDw0~raa?m$90XZB zDLE&OdAr~PDN(`BiG$2%Qz&#oEp&<=^ZR40sQ`1G%Hj1WoJ7dJx8|aiL<66zh$lTR zbsIctpb6fpartrZWHN9r@u7xQK6(Zq|1}b?x5p#^$Or|?0A3@h`oI3t`VAFK1F5Ml S)Ib0L00{s|MNUMnLSTX^t2oa9 delta 693 zcmV;m0!sbD2F(VLBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80;Z9PHGi~I z+cMClTY4}oTlewq|BsZaj}-O#FF@O${aG|~K(!&K%J;)8|JnV>sk;I^&Pvqgo>QN; zA=kfqdS7Wzz=44U5_e72ynPR+*1G&^De;fh)1un0tIguYGrnwU?bu!|TMAjpZY6#V z;z1aT`>V&M)n9knqsc&R!do&!+1>VSGwAZJ3APnao=2;3SYT4`-VYvh`Tgw`1l1Xn4Ha)cX4WPf$G-I}E6 zz5o)JdTIyQu_PUAb?X`)A{sMbJ6xuzXMk7+E}iTLEX_bIX@s!JK`QDy9-OqAkI0xu z-1cNsbOZHJnb&(sZPp=pPIazG<3KJ_tC@&IY4oQ_v4LgKBUju(f=x8uM$!mCyzs$MxAI*O3c&LkC(F(ykbm8WDgxj~Dw4WU zW549A*a@=ODLE(hdAZ;RQlf*M6FZroO`$Lebz@TWoZlZ~&0ERInNH>KdK69~RdQD) zkQn&6irDEgsjCv;(E~&9R^0?RLI&vA;;M&LK6(Zq|CouF%VQD%WQ2m-0A3@h`XB!! bs_HitOarOndS2-O015yANkvXXu0mjfUx!A; diff --git a/graphics/pokemon/guzzlord/front.png b/graphics/pokemon/guzzlord/front.png index f9698a43b7a16345d67383d9e9a7a4f3a36bfad1..3b908ff8ffd571a3df285f7b99c1b594901fa032 100644 GIT binary patch delta 1149 zcmV-@1cLkM3Ev5jB#}W-e*gz`Nliru=LQD@AR?Ebmz)3q1VTwfK~zY`%~dgP<2DqQ z4FR{tQS2aF%t#S}n-uz#RVPz1icaR~h3(cvu``FIjyGqiGxpG;k#SQu2bqFw&U9Ph z{HQ)swv!CKE*(l61kLxo?|UTQdv=`v$!Ptfh1j`4{nbWe!%S<3eFZ3}SUi+o9dCfxEOOHZ7=Xz7`?YM($hn%vpgFL#ZQAoMJ$bs6o|0N!u6yGK^q zqir52>5`f-A|CdiMMkvwmf!&d8G471g0hTOe6`(?M$>Wp_?mXjG-RZ8Z8~_FmYHgZu1lZopb=uHIU&YJ-5eXnrIBm zJ=r8?bVr;a0T;6L>fjxwwZemErvN2DhcL3+3LNel-!zat_5k-U61SMJB}#N-;@{W!TUfsRU$f61HO7l^b|j7AzG0R3@1 zDq=3woAL$6MmMH$EDB05-~+B=kgCkr=4SWsgsw(urUD>@X9Ab=f)>b8&=`&88x4TJ zNVQ;}Mn&w!`*hQbFL6yHq)5C~<}|VnZF}wR*)R&a5qR4t2;e#iq7~pMGk}9lz7rhm z1l`X=y3Io^f8oQDqOqkS{_E#yMetMI-&O=)CDf`EKP{8bIgSphYKq@!b$fGt`y1Xg zCz^rLz^f;X)19iSX0vKKo8C+&S7q0z|j6A)v~vS`*j@ZPv>aqo39cU)BTwf6o9Vh&e$u`|D}(^%Pp;0jVpazMP=7eMxaM`P6Z2Wd3&kAdE9kWS|HFh>sjTPch9{kEi_M zAt$I|CVvUAaw%qNCsK#9&vJAbn2Drm;<#uu2azU~X+Ki*h@s8TeSvk1rRPc$&;Vp% zvz>Z0Vguux8Deb!c%(doy>VR?h_g04slp&ke}_W=lwzM2tIDaJ&0P)*AgB{!j~07N zKrgUSfncUKEX~VD8<+{3$W6!%t6;nn? zbA=K~(f|GFx`A+sy;LPeO)`eZXE^BT`MN#mkV|QrDY9VL7<@K5D=yUvz)}sFNX>H9 zb}|lJ_|H8kWp4VaFJ?gy68VjP!e)uR`gJdTJzU0wV#zoEPXERHpN+o(Qt_yfo|zLo P00000NkvXXu0mjfg5V#< delta 1156 zcmV-~1bh463FrxsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1VKqeK~zY` z%~UaO<2DqQ4FR{tQS9Khn2{m`H!1Wft4^k36rIe|3)`)UVrMo>9Xn^KGxpG;k#SQu z2bqFw&U9Ph{HQ)swv!Cktw5g*g5vw$_ueDld(QtwTHn+VyEdr5K4@&2Wn<8UJ$o9D zlGTZ40d#Bi+1<4O_k+lPR|KfSBQLV_#MzHlmRYN|31p+movnj%&o~l+4_o|K`4vS4^?>@!{N;zhzLL=FQ3ho2l0C`y@vNcPOnR#qY`BDX72?e?G&St z#t1-v8jp&Y3-zXde8I8RjcFW9QY5DZ@74ezL z%eMfA07gi968EFO-l2=-J?aJqKr-bcLrPMg5Jjke7iHg*#k<9WFvhr$fg%VXK63ax z#WG_(p7Mu>oS+Z0_$z>Qmtv)MB6TGDEJu@pSxA~Dj*Ci@h%}{4`;nr@40V3)3+!WT zJy)851|SPt?bM?Y8yMrv5NiX#l=2Mr$8}dA&gw8zg+Z7JhX5$W0WH>@QyZJR92h`Q z7sNh)E%sM{USOjF!OYZfT>EyCYV5v(8c?r(2!Kr6<}+KNjuk}z*C^m|j#9=2z5$khRTDN$-o=~ih*NAgU8xSr`8-A@Oo9;e| zJ?}DAOc_Tilt_y9AI>%dgiD;IDly(9W0*c)L!oCEoAIDSE~Oc!$bw;G@Y(3Rn5Z>? zr5ZAkn(cb*WE{BgpJ!0Y-1OC4%z_{!()qSDOPtlOXX$Hk854^A3&43fsQ*iGoPPjP W@u-n43&hU=0000v4fknxD}9FPkXvzLXs^~}r+?C1 zHVP92;?JLC%lbL@Qut{lS3ox`<10yS7 zLX^5%025+E=mAV6=mCrxFrPC)Gce~0jEt&s1tvFOvM|*huY6DirVuF4g3|_!P5TCn hYrw>h7l3({j~`^sFLiO3n{WUC002ovPDHLkV1h8>xf}oh delta 398 zcmV;90df9}1mgpcUw;8^Nklv4ex1pD}9FP zkXvzLXs^~}r(Kg=Hp&En`1dbawm#>c3O{Xx{IN0gG&x-=iph7=GBbY`N?WaIU z&EsK~Yz3|&X9%nBr@CtbiR^?>Sj{F}&k@T)Vi{dAp+rz3Q-2uja{WF5gh&|8;S2lj z+;!n3NGMj-Q{G4Hj;O&^K`;(bsjR?ul`|HIT zOM=HhysEwc>wgJdUU@yBayw*^ww>vJ#;?HGXg9$4J1}kwjKAlufN4dRz|ltq7ytkO diff --git a/graphics/pokemon/gyarados/anim_front.png b/graphics/pokemon/gyarados/anim_front.png index 688fed9fecc54a105e177241c479ddf874ec218c..e6cc875e50a6e44219b561dab6c2218732db16ba 100644 GIT binary patch delta 2255 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 diff --git a/graphics/pokemon/gyarados/back.png b/graphics/pokemon/gyarados/back.png index df7a63b612f786792fa8e30f7d388f2de74739c2..bb4cc7e3e48c11994c9a4b4c6fcf2e39a90177b2 100644 GIT binary patch delta 819 zcmV-31I+xq2d@W^B#}W-JOBrDNliru=LQD@AusR>+F$?x0}@F@K~zY`)s(+$+dve@ zPf4|P&{=X-a0V-=w9q9&1d&nZ6+A|`>XEt|fB%X}3YmI?jPLuod*Am%VvN=?dttpF zz64yq7Vw(kD*|8ERcIyOQ ze~3WJ>^#pnpCkr2+yp!V?7Wsrsa(wTzBuoIum!j>t1?pJbbtq;2VZhkav$Yd$|=RL zXC1(L2;>5llH(;(%BveB4%Yxrft#a5;E!BjrXpSeSqgMF3NpheNSrOsS#sK$%uBuk zro2yAU7nrVv#8Z=rPcsmL3zl_JYNAKf6f933{Vsm7ut<1+!nCo3{3{czN{-s6=kK| zoLOXZ5^)V^`$eHL-xRAKJC-P^HJtMi0d7L)RMscG{JxlAFa&J80DJkt<2*J;waae{ zi8{v+F6vnbLD=W6SOZF4piWab;YfNAKtJQB8$cyg-uyxf5vAop5Bv&UkYr4fe@+)z z5qa{!gLksr0A?zmHz~C`qQKbBQ7sFufvK?qV?CsHrjvp&rCuhwr&HSc3iG*3V_~w! zaiTK$y2=y;cVHxGymiDfgpX8TKOvofibk-$I$@R$h%WUQl(X1msPv4g8UeKe@QMp` zkImN>U_AF9SqJn++Ft2n{<=_be;hVVuzWBc(L_qmqHtBB^`B^wkJHZ&#v}ER9(C=; zJZb@eV9wbJFstBktN}qLN1?L|s4|W*M5!vO101n^fUg0{Gj;X=ZbUnMRgth8fB9EP3YmI?LiGLId*Am% zX8Ihn7tZ^^OThJO0Z|WL30RZse*g}i1u(~(XVO@JfM|i~6GT{FGtv04&QA6L@ggv( zgRljn-@Ed`Kui{6s2%;EJ-yilJ_S91F-#1=+`Sy44gk*@PP09=_<8foOTfPhfImsAzp zN4b)6Mmg+x3$PvnX@*L{F^H7%>IR9!HNa!w<|+~RM=r6_Eb4$H28xY>OfU-)XUlUo zI&Dp+1@C|v_bAlm*{MArHoC3U8o&@#hrCSF4#=V;e}KRMd0z5NyOFuu0Ctq1$-vl` zRY|3ytdyHFi)>DZTm#yEo~y(+&GI70$_g3{=X^|nJED6k@klSeFQ=Fc0UHD0EI$a& zBXd=|{I-;+b4=l4fFy(<^thX?0VOX`r!AavBn1TECH!;)C^MDTztF;v$`a56zeE=# z8Iz<_e*kMpo&*SZCyNbWuF^#v)2N4(7{@uTWX?4(Gge@tm()&lQ4q#7%aNYxj9z_( z#loevFjeC^QJZ|-WlDl?U@U39b;crukJMj(L^=T_tzdO^!YrK-UFtO`=8>sT=^a%S z0;&Tr#09#?;cE*pS@@5v1$tv`ukf*c-6%K?f9pC}Js6K@BBp1ayK1EMpJH)L`|5|o{)@xdU%AexU`e!dkpKVy07*qo IM6N<$f)+u6H2?qr diff --git a/graphics/pokemon/gyarados/icon.png b/graphics/pokemon/gyarados/icon.png index 41ccb5aee2ad3bc30c2eb1562c50f6fac21413b8..a821985939b216af7dc3e2dc4958ac0e457c54e4 100644 GIT binary patch delta 571 zcmV-B0>u5Z1cC*S7zqRe0001qplF?uEGo0~h=Nfi!u9Gzy3_q+bi-2o#8=u)V;Z8ED+p=2LF~t=I z7Q6m*A=`p|E-H>FHE5f|R@8C$Q3V=^u6ZqlLQc9IesrB0k*$_Ds3e1nZaT<{6)IEZ zOs%^ys_@lnZO$==8^62o@-jsH`8a>@2)i3#yU&m^Gxb#2J)!8Z;E9{1{Hf79>AM{@OYk1kt?*d9HknzO?KM2i_FV=gH%x@X_Yvsm-jv>NnaM#uhx%p0Jn1=0@oW1 z(r-LZBy37Y;fMZ*snn)aWIHFeKL*fR9g^*z?3+T8|6a^^?f?(KJjn~a<0t?C002ov JPDHLkV1fld0S^EG delta 491 zcmV*AlsW1A3`-!5p6!9h)Iym5d>`Xjf7PIiinLuebiP@ zn#6!2v~A?G#s+L7y+8o4W`y0m(FnZWf+skjP2(elFK#n`ypsd?p1nNW2s{;WNh6ly zWk+P!wC_2+lX~8s!c!u$&-Kq({|E?o;6p$(d$)j?YJ`B8+Q0d~1w^_6!T%NzauXQ+ zU*^Q%|Bx&@F!*0C3A0T79~0*0|795yX1V(RmM~ZUw;^J}T>bArNSK@d&5fgdNB%B-55q($oL|002ovPDHLkV1gO4>M;NS diff --git a/graphics/pokemon/gyarados/mega/back.png b/graphics/pokemon/gyarados/mega/back.png index ed0dcf279d0b0299d8d04b12754196e83a9eedb5..b03533f26c4d9644cd5bb905e1984e25e4c2931c 100644 GIT binary patch delta 674 zcmV;T0$u%-28RZaB#}W-e*gz`Nliru=LQD@A|y=pP%8ic0%}P_K~zY`rPaY|<1i2g z;B2nGL=f*~FImy35I;pg^d5muJz0b~Y#+ejrzv|#K}Ulwo0r>}kz^~Wx`nNwX={D{ zHJWkhYW4rux6LPD-G3EK5y;&~ASfl#Bs6;db`V1-&SG*gm#JwsJ6i|XPLTu7{ItKq(MyP&s zjW@Z#7$^a*EC5smh|b=EJszK5+IWd`us95>7`XVw zo#Y$6z&VI5e%t|`g_J+Hng{|N0qwycO>?VZiwWNW&IJG}4o}~>NEY}c z1X}^S^bQhuf3fKR%6p%SNN@284k07*qo IM6N<$f@a++qW}N^ delta 685 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 BNF4wG diff --git a/graphics/pokemon/gyarados/mega/icon.png b/graphics/pokemon/gyarados/mega/icon.png index 7ec290a053e64d92602858f90d8dfa64f49f1eee..5a53462ca9e2f60b60b0e7882103a0cc7f9275df 100644 GIT binary patch delta 478 zcmV<40U`d61hWK?Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LmG*dVwA7 z0004&Nkl!cQx}+6JJk{_&BjPik?KW4%@ov5xdG>Z zV??MZEUA-{%4NvIU(H9S4v0t@^4Ih8i~S?y!bhBa(^S3Zfq(2*9RotcLBItK0~`dB z^SEoV;X%&tyEWyJ%Y;MF1rpZ@PgG}d3IL*qP*AD+Qb9c#OOTpbiqV3(eRUq-#VXQ@d-kn?Q`5<7Qz8e_l?a zn)4z8TT#Ei0e{4N`k24iLBIJ-ub3}C*S4pRcX`9-1>~vund)P|&C89tlO?9audRgpP54eL7UCD{*{_ z!|Oyr{`mPIh?>8;S7v)99l4r zLl2DQ(19r|2LqUE+@=#B_V(LgY~aB-4jzo-;K4W! z4VZ?*8O#xSV5H;FfN>mJU@Qj@rm!3gm~yMZI1U<2#WM=VR%kdl9~zA1V0A4E6)K2&oV3ERx(f&tPJ9RS7~C%~pYc*`4%m-CpJf2$y?;mx?l19>?l1zMe=M=_6D4lo{3`)g zSK#mSi_CzbMHWUjQNYnj#sK$VT@xLnG`M|@ zxK|ck69WYpYY?$)5$!p$O0K|BUP=P^IW~rXnoiACn95kM-K5Yi<1kjC6%&CS!p-6-B0yMyq#d{P3Xtj!fv4kF~ zmr!aJ+jm2V%cWRGz}REO2O(Gzyr0nq)hr40c}BgK8Q|a2fA)zVO}K&7*?k!hQ((18 zf^o{tVm1NZJ^%g9?Rc+ zgHGAt<-pfN{zRu~c*)e*vPh4vJ5bWn7s4~e_#+h%lx#<2+5Z)P0l`!}5iW1%?s!0n2|%|$ z3+iYa1>pOS37}Sx1_+_gu5XLTuc`!43QZhP%3XB=*a@Hq9qCiKMj?v>`32AbOBVLX z98hZ&0EQIWWzQk^9GIIs7vgec%K$KVthgftivk~KG@v1a5zyxuc`Xw__nyWlsE=I` z5Q!H8VhUJoqQKB_W7QShIjf+a5?Xbc6p-G5$me1c~(k`Rn5~2V?&L X!BjjEeoRLM00000NkvXXu0mjfPOtAn diff --git a/graphics/pokemon/hakamo_o/front.png b/graphics/pokemon/hakamo_o/front.png index 842821c5a205487d30e72f0d7766a6aa36854656..f2b4f2dd9ec06d09e2bb5b02ca1f4f927cceb617 100644 GIT binary patch delta 688 zcmV;h0#E(82CfE>B#}W-5da5tNliru=LQD@ClO~cU`>&a9e?DhU^wfjY_PjD`T%ZS z$z4<9^IU}W=$s|cFOa>PA&`(Ipll{nG_^yZB;Tb^=fuv*K0#@3(4hCzd;in@-#bG7 z>!NhGI?k9|6}K2JUIDyhVOR}>VfelRurMATl79uNBsd{!9u8{JzzEMt$Yy~t!4X^_#+%efXUY||L9kvMF@y?YQz@qN> z>V%sCLSMn>@7cLIL+C>HWR=2de)7l$Fzg<$D}L00+J6V;0?gKi+MDsx&!+n@gW39v zq;%eI0Y-^{fdR0^O#$2qZU9LA1})XwUz>KM1J*ADpmzYC5m?02X>!55l_-4^w7;mq z6nZNSCBVAR6_7Z|E6rYg)P^61U{ERZFG+pXIy zr>ss8NKu)v5F2BLJL*+GU)YvQ^ZsIE0NKlDz95#%=oWyi07rPf5$NHO3!95P-#Y7P zy*M$IXe(eb`UDi-*dn0K#B$2^9>EPlJk8Grt-5%K00000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+C5XK~zY` zt(7rr+dve@PY6%xkdvEca5LzXsbDzksBEyiH2MH;T}fS2&@a%vn<3DU zC7^63Q#7?hpd{a=PZ!tr$v!RZ4IcD<{{P=`|9eON@1k_SzRs9iSGO20UIRR5VOS4@ zVfeNNu&^GUkbed0T5v*tc6>5yL_;Hhn+#?N7)6{K_oW~EUNbaaWv5YhwW=XBynvxSe5vc zbrExtuYluF1MENwcTD!qRu0v4*dlbtd)HEE+I{{;G!xU_BHHNS$=~J;^lS&0WEt zfctbQptqoa45QzFX)EbQ0@?+jFY|?pw(PJ+Y%{_TZ#vNS-Hifbc|@5PMR-dxEuTex z!$~8S@o9T50$J9zfIsBQVK$McujUtltOVR{-{mH0 z*S1&!c(-6I{Suhybp)t#0Fc6O&o8`*(2rqo$y%Irv2)3PefId%tImi4Wle%WhMfr< zWm~{A=Ho3ad*^oUBTyX@me<6&V&moIPV35N!8V|VybuLf&g5P*4u9ZYqNj-=N%j~E+mB?T7g(%ds)6&qNoq=CaCAS7*$ z84JJJzuEl=`M(EP{M#i5$2{aAc6iGGaL#iuyyrDw=2Ph7Q-74@(jaU)0w=0IR7!bf z?Q}?t0NDCMk=R(nF!mY1kwC{@127Rl+tP+WmD(DrMuav2sBfa*X#$7lYZtP9o*&V5 zn~VU24vn~s8CD@k_MPSw3iq0B%QeH%Jw=>*01w+#ES}#B@bL>2w<4ZA|2(oR?1$00000NkvXXu0mjf DKen9` delta 332 zcmV-S0ki(Q1EK?vUw;8DNklC)tx zw2BQNl{65%(cOd8Ic6;UhM$GqkFoz-V2gi$%fUKy`4->3WdNjz`pOoEEg=h33G;u#=i+u zMG^-3a8hDKVMSmyASbObk#t}|%m}vWgA*-Y%WK1yQPk2tCTgzf;&J;zJ>*>kUyk2@ em7oyjnAI;G^SdF*=JT5X0000&uiN-6oBI*-{*MEy4x%#j2-QlgdWq{NqQVf-Im>knY?>`Xy=v{ zb>~6wbr2}|EBEA4cF}u*!6=lxgD>y1^!z0GQ>%4|=L;`*#ee5x=(9iwkdC+k06=oU z5kSBKAtX`6mC%Mnc3D71>mU4Ov2oxL|J6G$T$Ah5|H+?Y5-pmxk5ZgCZkjoCt)ymbK=x7fvjG2a36 z8y8@Z7(AL?aZ=Z=O><$)LvI!ZAB?FtF2FZW@vzY!U0?C-38=JoHfo|zF?*-iTCb>9 zYpvI+sx+~&$Eu0-S`*7HCN{4t`ecZy!UFY*+_a)7u79;Iu9x(=T;_SMGzp9qmM5;h z(8o8=?PGLM#UWmv-NXNF_i&%xQQnbcs`O;c+uf6U>|V@de#W|anUmt5*`J8gR+n{jsogp4--0@PxE+HHAv`^6mYXm^Xz zq&$a=c7J!)?UW11R0Ft%$kHLaUkp{5qq~2)0DLofGgP0`EOi2+0YJr&rB3sD_WH80 z9|=M2RCCiK+a}C!D0ka9Go+d&Mt<_|YW})c&3}k{#i+T7=T&oSYSp}AF11sQYMyFl z1gmDv0a%`|nTxd;+0(n^f0ARhNA4m&nB?WgZxq@$*?AdwdN2S0002ovPDHLkV1jVd BLUjND delta 640 zcmV-`0)PGP1=IzQUw;B$Nkl605XB`U-7Bkc(_6K&DLrb(HaRAdYUfz& zC<(n4(N*vM*q##_Ha!=NuLVQ!U)foi(96yk3MDQ09dvm=?Tkh%z4g3USm_V0r}+8=)LJ`Q z!2PUG(7n@3trsrej#_KIRCTS1js0FVS}xrcaEX!ibxnU6!B}B~dO<9JKv`aEU0#zb zjOuw&6pHH6c8To;SD(oeUQyT!?H_c|zpB0I9{=rhkAL^2JBD{6m@a*h^6Bo2J?UOf zL~+LWftnYT7f$dpQq(WZ^KQ(WD7vaiAbd2N45D61Jz{9S|D0xNMrL=o-EOCCCc7IT zW@7U*_n?Ec{b@XqYj zP<@iQba?_n1As~)m(Jw%?eS%19}=RqGn$(j*)gH-jON>P2b>u)ngyyj{_|-5vNxJ{ z#JysoxzY1Rvp2TUykHKsV~x=~ravvudI2$o9f0kHbhg`lX}@0f9=9sLtLh;%#f7O|XNBI=BCk`{{i6!*Tvt zvg~=d&e+|MxM3>O0kEh6i?0ED3&L0+C}ZIO@co1`VFffOAc0_Fe+2*qJOBmTn4d;C*pkp?)NlHYK^2@^jN^5LE_vky0K-+E#ZFuMFU3s)alpMUyvGu8s!C6sWpE z1LV0pXmt~mC1SU10Fvf;{qa;q+!~LnL?Z^^cm=o@z&LI2MUq?DC&5nY)E?Ij=+`8o|aT?iN1 z>Rf;fS!BHXzjK{x_P3W5O2h8yG^*I82v{`&No>4-mP>Y9u?HGVapFU0SxI3-T z7rik7QK~Qi%vTtE6sHyXN75Nnk~^ioHlqeLAKvx=ne9fM4krYJU(zz3aF; zAW&)0jY}d>*J^L%7__aF;}`)_)^-2!H#yU%k#bg+iK4(ry(5J00000NkvXXu0mjff#J)Q diff --git a/graphics/pokemon/happiny/icon.png b/graphics/pokemon/happiny/icon.png index d559e2bc8b04ca2eeb81c2ad1458d729f83b9f97..0d8a7b0b41988cd536fcc37b23c09389fd4afcc8 100644 GIT binary patch delta 207 zcmV;=05Jdm0jC0xV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{11L5{qsi$2 z004?fL_t(I%jMEB3V<*S1yFBLJb{PErblw{UhPm&=+F=LKtd4;9dxK}CN546V#Y_( zwB=XT=Sr0u?DHxcfIBP_HY=gHUL2}?k08LE!bcLE7cB)HI7ldi&0xG{)C_MhF<4>% zh=HX&P|Mb&x=CdD79!FEzgVWIg*t9eEj4m;aAn?O639^^C|^E38DnMl_0xb3{}2I5Wro8wxH#qzAs(MvIoWY`S>R;~-%_tG@+Cn+f4M{{nR9M5+m%nf0R2;x*x3VoTkwMpw$lDwhhfass}dg!}UOe0)1lC0Bxg7YJtO};~D@{IM6tt zgRus{6bATP%Ntjw!N>q;`Inwi`T79@?Ix}O-~0X-6#%yg2=obo@C^mVMg<_YZ6mN7 zzV!W9-VZ?q=rCX~4}IUi{45NMA#{HvaA1HrO<@v-VNls5=0FBfh`?7kzkq6*c83C( zV-$v0(`hwLmgD@5|2mq7H;Z>hWsUaGJ)ywo(L9*Idu3o`lTTi~a4^Xz3R)9rQ9wOE zSVgSBcy{GS^PQUs+#rDG=ST&x0`TSRbrkqF-h$S$Yb%7_9KQ6=eKY!T4!?g*FQGNY z0R0i3fsBA1f5(3|n?L*I*UPczdB#SYkddty1=Lfs8u7Uq@r zDd7B#_qKtBp(jWUfpuOi!1EmZ@fxH6Y~J4P`1CB`aBUmUU7G^g3Y*LLfdY6Kycali z;E5GBTseQcWB`W1!%b{B<^g}YHY){wKaM}3fbV%HIP-D0&w!2gh`x@SF^-2nzOmci z;+f_EPjRC|PLDY7u>6yr8cd=|fnyF}CZmp~-O>5@o}R1cc&3RQ1E5t0VdP;HJCF(q_wr*emEY&iu0OGRHXOZ9cFP4UB=`SAgtkbAUdP zG~HL$*f%o3l0XvBAUp)5i43tTYQ=#xO`2>zO=Sp^1Izf418D+4=X2ni0e{7hX1LFY z)TE!;5_-7DAD99JN&tTZ0&4}37Dd?HEVz1#X883^y)R7f6xIq z(*E`F|1yyEg24@BrC=xqvQjV<16eH?xq++~3}GPa1%uQIMrI&VFkH7-bZH<`Fuuco z9Ii1CCK%mz&$f*f1|kK6_N&t>&>u>{=oUI=ZXoYV!4QD!mJB2lj0W$Bw(XV;LRTnYwjmg8O-U7#Ces3%1MFc1b|EV07*F0qfTUdSwBjf^mUPc}lYrPkt0}BB{6AFOv z2kH(WJVJ($0QZN4sY7uM^V+KS2NW%<)*sB7Ac}ebiXB9pNK_yRRDHnL8uh?b^}q}Y z`oQ!cRP|LLEE))J$f_Qwz?L)uRSyb)Bb7qYgP_o^2i!o`0n{Iufhhh^x^J_#XRZvO r#u5aq{|_)Q0jcu`6pZG7%OCy*gasj>NFnk_00000NkvXXu0mjfuM%?P delta 1340 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 diff --git a/graphics/pokemon/hariyama/icon.png b/graphics/pokemon/hariyama/icon.png index 65b3cd7f1ace743704c0462ebac19538cf668e6c..cb98a6b1f9e042e1863c48d9a4bc1befd083c044 100644 GIT binary patch delta 363 zcmV-x0hIon1Hl83Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lmbyw)D2Z z0003bNkl5dr5C?GH;9km7)CC@+V>WK9S6DJ-h?iunbOU~=s%brdrB+Sxs!FT>;*&kbMlNx1IGU9P7feXZvx4`LxuYZM&0v1~UMjxce@9S3` zHFuG}mb;+;%s&u22!}wU?D5Fx^m-|j++(>0@Q8lNk(zMk%S?%D$jn=yGW7h^IwA_e z=}PTe<%8wOP`6c8-H4WU2321#7sXsGe;L$^QV;692AYd^CDhq&?ONZh*d{VH!OS|I zDv(X*p8eDHBV-s(zyKv+fD$kx#bCfcSOmrgV*tY`m@rk~0EU+_!wiNEbrBdcP1rJn zk>1A~1TdYiyFHlN(ejov74U{McvV03nU6lxx@SbqULq7OY$Ej?e&Ok7P( zD1ow}=cm>Yk$~fc+PBh!rDd$zvMjGe%Q&N{F6Xmh-Y>U|=Eax?b6SDr{ku`-w2tR& z@26GUM&==y*=A7yC2P(&`={}vFq{Yjln4Wq2s2SE4EPU=gz;b!VdR)i7}+YY2*b;o zAqc|_bpnDg)IZcx5`@v-j{roN&gY>;gsB`Ye;I@^S5Abv^CJ~zRv{L~`wR#B#}W-e*gz`Nliru=LQD@Dk1bnF023m0Sie)K~zY`?bESt!Y~j9 z;8YfSg2KSaDKAj)lC5^`0a`UnAAnT6L3jef78S+x-nJ%!EZBELhj!p!{mK8?mXqX> zf0yiqUw?v}2M7hf#Ttr~1sYHQ_*@cB!Jb~Jvv1z=5>I&^V1j=zp ze~t=a6#&mAUGpBkHVHj}LEC^(`Q`@b0`7#uY66+>xDy(yspEteqHp%dALa)Me|Do$ SM+4^o0000 delta 330 zcmV-Q0k!_91GEE>BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0S!q+K~zY` z?bADM!!Qg6U=@OQyKsh%A$);0TD-+F5744sdVsjd4V)9i*^C5M!`ntNS}&2vp+h@_ zt3L3jUg}=|ud+42{s1`-5DLD<3lu2}44?q;w?Jd1c#sP~nI{1x3jyd+0we+V%7erW zJos=29+V=Weh@&{@-t9>$7Uou`eHNmp4=yQ61pd9Hxk$mJaFw>mgVsoJlFt0Icvj+z5^J3^Jc3aU%@YbH)iRMDOfg ce^yFe011C~qsg7_uK)l507*qoM6N<$g6u$zO8@`> diff --git a/graphics/pokemon/hatenna/front.png b/graphics/pokemon/hatenna/front.png index a137baef06cc876f275eeefbeca58acbdaee3fcc..4a47b28cc0f120a7aea5d59ae2e22cd1d9f337d8 100644 GIT binary patch delta 365 zcmV-z0h0dU1JwhNB#}W-e*gz`Nliru=LQD@Dms26=Rg1e0XRuSK~zY`?UOxD#4r$r z9fkC96zDVf04te2fRj1EHvDY4#f~-yfE$3eMG=vFTgDaz5dRb@pxCF#h5gyj<2MoF zqCb<&tQSzHfd+0@0xb-gJK!b_ltZq}OcA0wt_2=*z!UA(0o6GNf4tFi+Tn#>(?w7Q zcpy5b!l;PolmH4TZ)l8{Asc{B+9|pYUUG`I>zA&h-3Yx0OcYSyKEyiapxhZsqKN_C z#6X(>Iv$h>dlaBrG<^agj)BJ316^SK3Xr3wLyMB1E8x*6 z+|xYLL4F`dRxg86V?#9``4BtZ^)A#!kT?iE^DU-Li9Xa{kA(c&?=@??6WSBsT}r;Y z7WdXN*x=_VEpYb{T1-7yjQO=V!~MgK#eFI-Bb?x5%Q00000 LNkvXXu0mjfVLzOi delta 374 zcmV-+0g3+A1Khbz@kr) z7oN}aJb4yZ{hd^%Ucf31RB*o#sA0(50oycCW*P{Q8A8azQec|{o@uiTkf$8*PA_SP zS9(hVTgm`WM5k03l8BCf37}Bwj>h;Hssd<~ouYN{QZb-_Z{0=!?%#XBL;(%%LtMoi zwCkZ2ni$|s4Acpr;YFLUM*+G<(WP9(T93AqD!C^yNUoTur Uq@l%Q6b$= z2A4rqIt6YaG##d}m4Fec69BMeKgg|0CNIEF6g{yMzU0iHStkRLiUeh^V={J8c9|3N?QDBrHa T(k8qk00000NkvXXu0mjfW-(f3 delta 182 zcmV;n07?JG0<;2O>bPC)k diff --git a/graphics/pokemon/hatterene/back.png b/graphics/pokemon/hatterene/back.png index ac914d1237e6a0e26c1fb3c8953fc1065f4b12e8..c4a232dc4b772b19891ce8911396e7d11ac38a3a 100644 GIT binary patch delta 504 zcmVAP;06jfl&-!P10+rb)eGnGNwqj{*RANmCnANPq!U=~zi=dYl0}F~-y|sWBr5 z2OyCEc`U|$4NIk&wnaPxT?dZ}bdP8UfSPJRTPqf(ey&?+q1O6Mj)MlZ>S&8kxzpM? zntH4PO`gXrFoNE#f8A+l2Mn~itZ5*^Y=R|PpFL^}vP3~gp4tX<|HW#$tC^aV1<-N; zW0r0pWQ_q(6oYsjw8{|B5?||Aufza44S2^n5u%%*`s2eQqMP`jC{o)Hs15K3F58^v#*aI#_#U{d{Hz1v43M{pI9>S7xK9$;ZqGaL>n8@}$0E_+&qk1w z*<}NMznMWg0M7*a8-5$)$FKrF_`f6iDSFE&rW{rcYDrqvI9iidwxIT;m#q2ag5OXq u(GPauaf<8N1}I5tQLeyV0noVqvVH+LX&LGZJSWBg0000oh6?-1xk@;beQK;EURt7d21Y)|c6 zOqeh8|MQQ8{cpLxX9sdP6t=z-0z_5?-a=^;+46Q%+D7EOZXxz83cTSEM>b%~p-hU$ z3Owg+`B+0*2)RYW4W)&D5%B%ufrUT zF~n4Jr7c+7`>1#`s-8WB!F+rqs(?2$|Ws8R$pm1be=XV^jm73$X+St0fLvm?bjPC|D9~i8#)C++5tV3Mey<^aNOUW?W#H&-An(8Y zb-Js#o|FMVIl$_ccEIQL3P?!|^4|efLV$+3s9!#_70@E!mFC14Hh~nJkOvH#cuPqP zaw+#y>whqslYHzKLL5^Q;Pyhbg+Q;H3UYXU^+Hv4!hk;k>}4d5XK`gDhFSspX@a=C zQ$T%~CA!;*0F5$XI}Z>ytP%bK$RH`uT}ccR&@aF@0Ro1%=nSVAb67MeFnwP%@U7;g zwGsGMOVV@J;(SIxzLw~EGjQMHaxwv0k|@dr*lPee*WVRmKR9U_>ZC}OlmGw#07*qo IM6N<$f`Sv~(*OVf diff --git a/graphics/pokemon/hatterene/front.png b/graphics/pokemon/hatterene/front.png index 639f9b64b6e0999aa0b530ccb164ce6d64f50ca3..b6995dac8f2bdec4150d11920a9a5828d30344fb 100644 GIT binary patch delta 705 zcmV;y0zUn+2Brp(B#}W-e*gz`Nliru=LQD@EDeyv<;eg50*OgPK~zY`eU-m!+fWe4 zCA66gwrUS4bjVpAvMGISVn{l~R-mhmAN>OwL_@u$K|_{;3sC~fP)hJC9a_4$0Z*mw zkliKJld}lJ+xutqo|F`)@1AbdeeUjiKX|e%+U$x|XcZUy0=HcOe<%Vl9Kb6Z-IX9v zK)WEjvNam8-CMu+fCgOHR)C>1jiZWHB>YYRr(`Hn0KN4`WR}sfV_7nNu@r= z3gEHjZI)z;qx`HD*tol)u{_5?EdE~;bHUAkQXhQY#aYBz zg>h`}9@OG}+B#?BleSxkv7X1Snj)r+p=R2g1?a^Eulf>Z)$B zjcOQxk_UBCf~1;J0nqY5^87lWUS5}>=)DRqI{vA&$m@C(oy*|zf}es#M{`kJBNF&f z{Um#6fKrRlAfN{@g_0iFB|m=mJ|8!#AGH8>cAfKsbNZ)U;h5nL&?zL^w1f_N4wT%E>l8W~(S-HNp19}Ql zLjo^d9pIwFC2_D!*~>l zmCoQ>Iy>1yi1(_0o?DINv0M^T+^N7w#QiJ)7oLP0fO^X!*-N936F>=xVY-jgTS#3U zLkS)ry}K2~LY-rQz_O*+%!wFA`BiC9yWgR)xPd{ewgJ0LZDJ=tE)qBYAjP%?busj4 zt~+oQkjqq0e>unEigUFG0JSv`bIykf0NaL1`V{eyCl=d(lfY#crx{^Le5eAJi&DUf zA;U1#4mO{11u&ycpQlU00ACJL_t(I%hl2`ZiFxp1<<*{ z+<`I$D?!TvUBNxF(jEX86f_hT+#xj9Vwn*%XoGMFF}Aa1q)5qh{+huf^8kLe&;$o# z0M~~6xz5ZYm7_wguaHo>Zgd=z`QFD%&UQJ=pZA7NRw<+K;Slysuh;3*M!Yf>&U=bC2u5IVa?9 zv&W6|3b)d)dLM4IiV=d2azwv6Jo@2U(&9U?AM~qfeFsc&q{;XIqdAT)K*6(PI@0&w zVhH|d{Vy=KB}o8NJb}UP3CtOsV4N5W2E3R93$`o*r%mSE8{10000ql z*+c=%tkij7XWB8W?Bq?^Xh)_>n6R_l-*i^8GQ6{9wP~1Q%72ewJ58e&MhzjzU8aj| z!@q-~%Z-$+gT;SjY18f08ba_?T1j4myB&92dd|5;9xi)aIj?c8=+t|EwTm1eny3b( z)8Wzem&(pGfn9IjT}u-%rirnR0!*efIRX7;aF`EKyGP&pzf=DUj30@>yhaENdJh52 z5gcHG7!L+W%sCDQA~8D{h{Wt*AQJNe10)7NHZT@R432ARP7sOlK4KC-_wfn8o*r(h SA$ei|0000TQd>8MaJr1}# zy14ZX4BRj8{dt8HfKzqK@F#lUqp7WJfRF=qV1y8|bVC*lOf|ryf56eSpb@GTwmJf2 zz=G-su$p1nO5j#ALa zmPjMipxk=1LbhduS%#99_i$cpI$Ne^&?xt{^)Aw6)6N(m=nG($rkN-V7X$&|pkyG; z-h~L5UEes^-cyh!f5INwW%bg4Uk1{4&`;8U@~Z-wcs|Yrup==8Yas;)3HjzACxmon zjOnf9a9$8raVus>xY*@{>_ygUz(hfd@QT-bhHzJ`2841DAHZ3z03YoL{W=<~hQOl= zME?(7hX6hnJgc4(4=gI;ue|~+Imq=9fKlip0PvK_z^ZvAE$7z~5nkk5z`HYvz6Nvx-002ovPDHLkV1jn^#nb=* delta 444 zcmV;t0YmL!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?b0z%!ax)U@MAg#2a-;@(KzYC@rKSOu6_uXPMWkZG(=5w0ya0ereA=jAA-@Enm92S z`dz$h;d-TaR~9$^Lx;X!-utI1I_Egp@0o!Q{ef`-z>t_g2LNo-kqHNV1F#qv8dk6h z#fpKx0^z_W`U<4DVGp!_z$tF1dj?*|Dgj%e=!q?db+pQw_MHNN;{!|zFuZ>FX@Fu% zN&xq6Pf?KVcS?|N-BG3h03PpS8WByu!Uk>7W(N9`|{Hp+oJnyD|64=p@gSFHGEhzmK zAf=QZ-RQDc(P5rZp0HMPL50|*leuYQU;qp_!Ax zybVlsVEO;xtqpjmf)~wv<+XgMLq~))U?xCnu7Gf6u7J>Uq5|{kmmJ?J#Ijm|uzl04 m5g;jJyRl;Cp>sqR5c&fGmHCW|hXnor0000ckz;EDCkv=4X{d+!d((dXoqyM=&_3>wo|rx>lCBV zQow+_Xy}{tC_754uf9MIuwd%{hGFEz5S|3{ zc^?@@GYf19+?KI%ZFoG)#Mt_T@my{QWT6ZI`oUWM+y)=oAf;EK#Pc8qFqU$h$-upZ z0B!>KSwKmy^c@xAe+xcHyQszo1jL`hms^aBfFE%f$Y;L*_*w*h?s}Jmyc=~Ll}{Q# z0E8o=>#JpVp-Le#z}yS(h`A)>A{T&Thz}tngs^ZSAVLPPf91_i7!K+z3>^WwNF7r{ z)0w#wem5=vxOpnFfM$!4S+5(%;o?TOMJ58c5EDIW7>BH`ck>)*8WWSj2|kQS7aXv> zOU1t*<#x?&fq%PKaK~@r-R;-^p-2Q z!Cd*ACHsBHe^>2ch>$2E0Km}js(b*XFBD)Q=mhCm+7q>M1Lfv^9-VcA2T>HYHdjFK z#08ql%>*Fm#bmSgrqX(7)IA`^4m{%}L`?v6t}bN&Q|MUsI00sV_2G?r0~>71w$?eM z8_w3{MVbO^rKiiuHfy9ls@+!E?=@n~di-1b$Nm5>6M$B|3!Y*d00000NkvXXu0mjf D)VDWp delta 676 zcmV;V0$crp28;%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0%b`=K~zY` z?UTQ6(?Ar*?aAquA65fWJ8)$vsXC+{I=ea)mMr}n&}DU+NQX;{!qT2C7}6!aj4ZJa zrfy_oYJ|KXMGA`t{uACgk*R!+`2*ldiE{aV?)%=|d#C-6tx>D~MMuv{b^Qb#lv>mg zLS=vs`bk+16Q84c37`{yg3s$EMeGtnUN;V^dUdM-gl)AO?d=AH^sKg34CoBvhV%xO zWfkS%fq)2E&#RfkbrM`Sprjm_K|0$BZVqB2g=N=w4&| zZrJf;J$b+YARc1VTrE2bc@7a$A z-(BMFas@A#NzYlfKlDP`9%^8mBp3h~8ded101iO%Wo3$Z7vfTyke3X*XQvII`P5TWmfL6T%M^Re<0000< KMNUMnLSTXU}}Ww>C~;Ix82Vr5t^J_4AP d5Aivc7kK93u@JjOY%%}<002ovPDHLkV1g2he0Bf; delta 264 zcmV+j0r&oc1M~urb${wfL_t(Ijos3*4uUWc24LTy@1PGrBCGNFZXo47U~u;m8CV=H z@DMBwlG?6OV%<862O+q9Q&wfc71Wgi<8^tg>8)(gb_nkDRz;fY;hi6|>r zo?NAVa2wklkzs?5sHA#65m%%r-uVH^s)Ev=5oZZf0lTDEx_=o|!Uh@()Zhm~UhpJ= zJ*1bd24G(q+9p@>I{#mQ-snTy)%83`b2LLj$va{#9!(Fx7SPu&$2T^HZLrh7DzOk` z@1dX(Od!aC;esYGOwjLxnIkVS*86yZ;XWJ~?n6vqxDN*=@F70O@&I_|;jw@Dol*b* O002ovPDHLkU;%;@ih8gB diff --git a/graphics/pokemon/haunter/anim_front.png b/graphics/pokemon/haunter/anim_front.png index 03156dfa4c42f847b8094be4cb72922c79d7b0ad..d702cd687e73a7c021d12bb24450d7d76382f7f7 100644 GIT binary patch delta 949 zcmV;m14{ho2ZjicUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lmn?#+fgR z000ANNkl(0!5QU-O0Fl85usq(Q2wYyGvOMK13G@L{PO;A!#tX8}EXKE; zZt?$TW-7axD2v2?AFUP=ycf&*8h<+;7Ib^_SzyH#1==p0$w^^sc{>A7GK>8ZI z7NBLIo?ogZP~&R=*#as5_Wd=_-wYtVz!H!Gh@b-8BXCGVDVbkR;X8O+PLS4suI5I%ibm1O#1X}6y)m$H2Q5t0czF!_l>LR;lg?}!JALe?z0tiq9Fi3DFM;A}G zr`s>=(G#=?9qA}h0qJzuEz7$;-EfFz8=^SMRBTbV5&$RF{?Dh|N4X6IXhgKR10fLL z;`jcCU=o39ab~+Dh!X%!dZgKn&b-bpNzkXH+&L}iB#FUM5T{txB^@2m9jO*t1Agod zPB|56Cx3DAR;a-tc69g5;-7B(Wg}nXpB>&(0N5@CfCa!_u=hXle;(W~a37!oyI`RJ z1PcW)AIt)eytGzt261@f?&eK7Tc94*%d`(bCqUq*d4L;#?pv>wcH;rr@4(-kO9k-q za+8WDN-K5v2HG9vWu zZI0G_@ums#?%grm=Wl)!AbPh7y?bZ2$Um#;IoyP-ndx(Joz%%w+|2chq5}LWkBQwg z0)?8>vDHHb%;=UpEL4z14NS#7oWU#VCS^PWyx)EyFmv=Bad^i7p~&K=3$R0-Fot_s zW`8m#(Wsk*F?d9)Oy*(0!5QTBU0V0DBV0pZ^B5-*LWqHb366gb@ zoMN9dj2C2`S&VNx-Oay@ai(UMin2)T_wm$1f_`zF@A0qW;f_9A{x2|>cjov6u$nGG z%IP8y7|h}7_!`K%Phy^0z@wCF(0aok#9XFGDx+0|5pR!*?JA0zCXa_)tP4P%n2sopsUOVgk$|t#-~RI!Vep3hEFi zjiqZgbVuriHb4-2)+r~GZW0e~MKT1?sefkiPtO9r$M^U`!@r}?rkgW$t~&;I+WTkv zzuZg#^M5-48LX!OGJpwy4KN?v1RiD8TKyY{E8FhQZ_1kn&8T0dL!gt{?lvH~KMz~4 zll9{PwO^~hyQdnE)#cPuu7I9Al0c|;le|*bZJB|(HLt?1Ukrw>0KMhTYpxw4>fOs; zYqmWi>fPI-1MFo)*t=H+w&s&RPEhY&@562J7Jsw>VsNXlcdvPif@3m1hnG@o7Uo!< zM|J8cUhV~DSp&AtBleC6l*ug}OWoDL4c*bZI}W;RfU&rTGx%jwq#deT;QjIkfg4BP zRl9c#5DB&TaRaey5{A8(RVH&&gE}V+>k+LpnVTn=Qq%~rphptFOE7|H(FTk*>&*bN z2!C=+3VZ`hQUT~&Cq|w67*Y`M5-tyaAs`~ma;93n2+)J-cB|Ncac47w2!Hs033as~ sA$Jb3{dEt>-F!Oygibi2e!1}%184=RB@gIyf&c&j07*qoM6N<$f}P!|D*ylh diff --git a/graphics/pokemon/haunter/back.png b/graphics/pokemon/haunter/back.png index dccfa74425ebb128e528e3cd6b1be3a1705bfc02..f5fa4d92515ba1b4542feb83cb3af6b7bdc77adc 100644 GIT binary patch delta 611 zcmV-p0-XKx1?dHlB#}W-e*gz`Nliru=LQD@E-nC-_Bj9m0!&FnK~zY`&6T}w+b|S` zRY*fdUy&Np&2+Vkr35scLP!Dxbdps*K?)CjiUQ8yz)OKH2|5+&)Tu*<0Die%Qj|pf zG#ZbkE`8k3H|@wO6Y%fM1^hg6-8^?zqmcvFEs!ZvY2 zP*#|B^Q1fOmghm_~pg@aO=61&HXp zzTSQQ=^nTi5LvtADZu+*Kln^SC>s-QU4owh5K03CV>B_5Q(G_@#v5*wZP4`e$Gk9% ztA94Z+y+fgCy70@zaMHFai7xDQ5KwBJ6oELQ##xg*RpVO1ToI>>F(h-jz4_0M9Rxi zkWd}IA3g6vT=m2Rpob5~;(pIISN%0L25{BoJszL9`OJp<%hhAXhQ9?BU|3x0pp9Roxs$3Pp~6x47*pS-p_|>c1b1ob1zDg+c%T002ovPDHLkV1n}24?F+> delta 626 zcmV-&0*(FY1@i@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!&FnK~zY` z&6GcHoG=*1sbI)>FE&HEov-Y;2C3;33y_dHanzq6)eZd=l`g|Yw^Ztqs8f|rojP=g zbYHHo!3OiExuHueoeu0D@ALS1G2ROtuU2OOzdi#5+tq&q>oY)o7GTe71i+^I@WmJi zry9NziE{_xOruoIP(%Wg2LT;_TrX*~1QWsw_!58`9ih@f1B)8aI%RM4RWu7TXr~ot z9RQ527BoPy7^nf(3mTD90Hg)NSqao2N(0@9mP(WuxCI~vmW%;GGZ&~K+)Om6>Hr}O zGcA#83qoYf)(J;8{i4)B$ry|4j&L>nB2#6AkLGA!MS2;9hJELs zm<;O;ZUNar4D&B!lU= z1h&C1&pTsN&46$CxoBkcPvDX_g2kycKwi%P`Icb^_Qpdw1FC#U%UJgDU=*?`kX~>+ zLk%?r(y4_s+3UX^D8~RP67LqX$fL^cVWd#xICqP$T_r2;B@EB|3m=S}?2uqeBLDyZ M07*qoM6N<$g17!1VE_OC diff --git a/graphics/pokemon/haunter/icon.png b/graphics/pokemon/haunter/icon.png index ea52910dd7248c41bae80f2ca1f757209bf36760..95c429b900388a8413e6faf10fadad9e33581e8d 100644 GIT binary patch delta 446 zcmV;v0YUzi1BL{U7zqRe0001qplF?uEbh)6^jeA5eI;p#XVc3P3z;$Yspn(?}dORWWwy+@CMgwqE7Y6EQzh~Jkj z;<*bug&E(UZ7`^xB)2T=w?J97RW}UzfzdDFGg|ne&m7Y-v{Eaw(HgBFdq_6Y3fyIj7;&FidFysnd#KBCjbl|r%m52kJsZJ^#4_&~) o^wK*XvMUbI&pa&ukw^0I2eaou=sA$}vj6}907*qoM6N<$f(+`%a{vGU delta 332 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 N07*qoM6N<$0fN>Z{lowO delta 532 zcmV+v0_*+p1pNe%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oF-GK~zY` z?b0!8+dvcta0QK85?d4sU2+7vs>oCA4vAjVC1XwI;G)SxK1Msc-@wq};vtYtcbiNp zzW1T}-rebBh2%^iV;%_Z^nU)|JEP>SUREb32l_(9#R%Xu3Q_<#j*1CXWvqWRhAKM6 zNK7groATNK94}jGk$jV|kV_n}=s}JF2*8B?VhYpW;}z>*@~g;d>`!XG6G;1+76h((wHQLYQ$m+LKmfhGQ}|183UxZC_& z(dx65ySoPl$iSbVnhj!WuQ`))qZV640=SeGC?zHJ9iH(KQ)*r@*cqj`O?^ZU3~lY6 z%P^;+15n;MKr6eqwd?z|zV`roAbp(CEY=-RxR=0trQNRZ0ChJ)Pi=8Tx(AFN_HD#I z81}WhY5M3@U!2!(4#BWYra2-tPj~6L&klj4Ur7K7a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lmu2YXqq9 z0003ONklXI4#W>os3D^t!=nw6fE9nEcG6iMyOnCYk6$O9 z^bzvsmo=+;y7*wyg&!F!?g7eqxokitE&vlWwOWAKE*hjSz_r3e7DDr(ZwQL;+zk4P zcblIW)PfD}AgV?iGgcgp19W68xn(Y5`e6SS!X|KC`Y75Z01~_8ub*+Z*;ogR>7VD> zdh_L!uHK0J-$i)sy7p}#w5}dLIGq+sQS;+Rwb(M0mUB>x#IfMeNQ?|^E1Fs$7~2kb zCLZ{0GJs1a$`pke&yBvad+vZO`#tNv?oJqE8GG*}+CcilVb=k8!bFLb%HXs%-YVry eY%^ni>Blz^W|ow8+Z0p)0000Z84#W>oXdt5>!=nQYQKr~a ztx3)^YKfR>woP=R1LUcEI$|v=)hQV z&8)<9!S*eJFt9FN9Iq1q>0EZNpPM!e(E?+-=V`M2uZU9rN{~EmQC#+Z8VIe*yAO`X zS){1>$wxU`(ig}%sF~uBbEu`0^i3n`N;ohyE$~d--LuI6&Y37u7ntEx>kGT>EWo1M zvi9p{17nb}_cK~q;U$+2WVB$ndWdTLptd#OjjG0;fA@axi1`uYJlxIBd5&!@I M07*qoM6N<$f=w=$c>n+a diff --git a/graphics/pokemon/haxorus/anim_front.png b/graphics/pokemon/haxorus/anim_front.png index d189fdc676c2c09ce8ea830ca11f5598e66058e0..4c096d45734e485a12c61ab10fd9a6e337077ced 100644 GIT binary patch delta 1382 zcmV-s1)2Jk3$zQ6Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LmuR$GB0j z000FSNkly>Ht_6u>Fk;Lt2i3X+;I~fWGHkv9|K)R`HK$mQ1 z8_p=OzyaQbfatp{?G=#A%MutK)byY0J5u78Bpd0}AqR*OPJchW_wIBbKf}n{9==Rt zd)qnI53(J2dIzxcUG^Mp1)jNg0mm6|vMtBXI0wevTT4LTXku;7paCl|5jdS}1Y*Mo zLh#2&^P??*6`ZFq8{5g%8OB<#F%IDh5MasG#l%=kv-8RZ5O3hGv7MfRvMx$sHy_>z z5V%NtV>>*BS$|joybRbsLIAEZAOr{@DFW~u7+t{ozpp?82|!W;-ZXpLe{~Ad$M=UpS%4BFvN`8IYHNz(C0q0y;$a(|-zhI#6E6MIb^zGD!S7(0Y39 zaq7P4Gb+VAQfUedQ&{lZ3h0~hlyqJ=rm~f<)EvvuB>)tF(IZBukARrJrWz16z}PoT z4G_wdbX|%-f+@mKkOIKgb}V2DYjqie2#XAo0%&D?p$?327Kw3>bMCs2K}20#TeB)a9S0NMyIkhu=^j((Uy8u)drzkpnCxp@t}_*vVVna0G0@+8hFQhRHS-P4IqTKHe?}s zaf)wDu^M2(TQ3LREn?UJgy8WUfFAz_pEE@p0XU!50a*i5kMlvg1mYwJMI*z{oX0Pj zCIkYw!-EF!9;XmTmZqtaT<55lU_=Y<4wYg`34y>z5RF-2xKa?13fsKLFO_Nlrkeo- zLx0SpUhIBs0tQ9mqclvWBE9y9FPnfSuCdRg7#%+kubZc(iM><(D@rM$9d}UwxE8E~K435m)YR)3ylCz->z^yC4kZdw9`XGx~CU<4GH#8Iw*!n16D zS8BoVzlXW3=t1ULZS*XZo=h+veyIq`@?3z oSn~(3E*P8qVer`>KFJ^c1-<+p25;w=SO5S307*qoM6N<$f>Lv9DF6Tf delta 1350 zcmV-M1-bgP3zQ3xUw;K3NklYk7I|T{{ zHkxWzK)R`HK$mQ18}2BuzyaQbfatp{?G=#A%MutK)byY0yQBD1Qc`s4kOM3kypO-{ z@qFZcEX#~L_|vs^kG*I5gX{*Ld<5A0#(W;{1dhCq0nZF@vVW__-ZTfMgAcZVz~Ri^ zUO@wP*hS!UwiQS$D~uqR9xe}e0Csqu!D8y9S7(^D*<%vH6(GRUtBaYnQD*O@10a5e zKc`N13d+8yfLrLJar?7}>fNy~PLj>T;01-e0X&JzC;P?XG{&fW!NCDCc z@aN`h|K%yrOMkK8CoD<@EC6Ojz#8yRA^7~okRPjPDFB=z!sny}esbsh7k4Q%P)3x1 z7enCk62J(luiLx?nEK3=_WyUJ04QcG+@w*XKA){t2J z5dvcQifTYK0BhgsYJgCtq~}otQY;Zgf|LM`o@)bB*sI4F#Moq*mO#hUA$Huy00b74 zg~Wzb6@Y=103rDF;pM-vMo;Qp)wl^gLVXorm5fJtM~;v!z!uS518?|{ zicH^B3y9#g114gaWcbAtYXCO9_H*FPDuFFP1b;ry0T}YH@N=PPD}eKP6Oauc^En@9 zYamI(NVF>a$a(UDX+j`?Pk7h@-r^GCon=|3B-b^XEm-l2dlRLYQbHi`9z<&u8157V zq{6Wr@=K*!K-V(>!H8u%OuYAPz@kXJmsXdlSnvJGi#DK%YrNK_n2x_su3Pgs<9T!a zSAUdJLi^shIo+Yd%fv5U2)ZZUEV2KPuW&Ix{SO=qb z-A6kCjO!e|v${J0(-ry9?7smzADRC&wttQP=vn#MuSexs4Y}|Op!BTY8gg-~-1&uP zeRkFW{Bq+Lp2g0(+F@pGp!6)~JV1xB&x#5qkbBnmQ+5%YgE~#yz}mA=f*?JI#YM{= zO3y-#%Fs~IVP+dZ;aQo8Du;Ph0J&!gBVr;l4r6Ab5~w`O0BZrUp#&<=T04w+!+)V2 ztbxk2*cw;{(g5p~t~`t74ih_o&!(Ni`gLFPEUhS6p!EQO@?fnzD^%KHj9|>LL|OxK z&kC@@G8c?N9Vk7EF-PTsv5aRSlqE{f3ZyW=UFxJHu6igu%SnyHc=Y5Rs6kc%rDsW| zv|xl3n8dp*fYP&^;Fi>a5qt|vS%1?5<5@lQER-H27>~XXl4yVwfHgdLjGiUef9e^4P*Hjquoeuj=iz2Bl6}o&W#<07*qo IM6N<$f?p(u6aWAK diff --git a/graphics/pokemon/haxorus/back.png b/graphics/pokemon/haxorus/back.png index 6351df0bbae0a866d988d1418341de48e7fb701d..4cd2f925609c2014907adc912386b8e340bdffc8 100644 GIT binary patch delta 566 zcmV-60?GZV1)K$tB#}W-e*gz`Nliru=LQD@F%%2KAr$}s0sl!vK~zY`?bNYuqd*V< z(DfEBQaQz?CToHe+*}TS0ml!dNNS6M6MVo~%4ej&T368&NK6^!18-&)%wn*tYfraA z#?rpo+1(MN)W1De*TDTXu)es&!oBp6=N=^Ae`kRnzdxB3{@2^b zJc!C;X=&8^w{WrvJO-+zIcpJZe3*jr7~F7liHL2Cvw)Y!ngG5t@HVkzfDzAgG$NdV zGGG8aj~F?SjR2^de-`oah%!kdJ_8smDH`H2c=7-+K&a@asV0Dzk0gIC(G$SY4!CHR z**O3KE_xoc0tyDr1n}{U9HF@k+!28HK_DCf6d=*S&loJZP6Du!WpaLR20(S_fouRw zOu&2%0Cpn~W@&|x4Hs2nZacth8_J$mkZnAG#+c#+wpo^$e=s$DHMtIS19?;lXx0g> zptDc?)d9IhsZ+(9fP_Gx!r=5_NSWiVl7M-VYzb`W@d0*)0u0v4HdV?D4WKw3fu;ed zwIr$g(j6%30njA{+!%g%ps+qDK)O>8R=j}`0PuQ?0Q!{B18BSkC*YAjMISU?mtF7{ zqA_Ue-O$MeENBM9ytM+f1N^H?A8_Z80|Z{*|37H_0i~adDJz1P$N&HU07*qoM6N<$ Ef&}gU5C8xG delta 578 zcmV-I0=@m51*!#*BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s~1zK~zY` z?bN+)+b|FSU`m6BOwQ2E3ato;yfmesK-CLmNM=I=3+VxBAditj20aBg2+)l|9ZV3~JfTd|h|d59D~g7A3Z6y)7$6jX^ivfx!098YpGou# zaC8HjXqM?Y00B+(GN=Vu2GtDk_OxuFx(u2v0I!2UH~}a?qJf_&SaF{OU?FKTes2dr zedvHJ0CY@1e+>Zk6A-3JfshUdm1E{wz_~S5PYOu4BY;|K+k;)2raDY?*G=vNoj?{9 z0;-Ln41W6Qf3-k=PEq<)@FKtv2vivKABMC!ZaWE>8M7m>rDqJVZ4_XzF}p-5JzM~` z-vUho(A8oRneZB5%K^|K1$;657y(OP(f}+dzMVR-<^@auFzD_U0rV;12%uJ~zu*Ks z(x*5El~VmJ>+uqzDX7c6q!@tDV3>DKfZqWA_46^{n?p7o5C~BJM>CZA1ErsfDeTN= QssI2007*qoM6N<$f?$&TIsgCw diff --git a/graphics/pokemon/haxorus/icon.png b/graphics/pokemon/haxorus/icon.png index 0ed740e9b2464b3c08128e899fa3e3b2113030fa..5e85f3d1c9f4b4bba068ec1b2eb2258decfba2d7 100644 GIT binary patch delta 334 zcmV-U0kQsr1Ed3xUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LmxLy2!{e z00038NklGrx>F91Cex@=nKr(a$tTkP2CxIiq2^f4Q z>+e42-WHG!Ko0<>6>J~`XY12{h@tHP;;D21U->fbz$8~9-hYBTQkm1HNyfR%1|5J` zo^x(F33%e*V`@t*MM^+FI9HwkMoOCLBF^|1gvab0m%EMfDw3eEEdCm)*3E?#J^I=R zyr6^$hnisLh_U2*OPH8W1J_z>@p-@m8hapi~#;rBvoB z41|xTQYclJg-2GUFyE>$s;g3wZdDin$XeLO?pr$19)KPIOe=VU;5%Elc0vqo4-os@0Q{u$xC4`1i1;0( zk@DPb0iSTrvq1ykl;@OcO$46UyAbOTOP1`>4PBR?07iCD*Zn z(TXZp@qc@7-gw^oq9}K(u+L&-%%qZr^V2#83S16t`* zC3V{6&;tSk1Sb(|i9J9K zw?H$%LUQN}A>cGuOCevd8Xvm2%>fAJ*y3f*Zn7y=EPr=_89?wRW*B3dOJc@aAdFD$ zV;O@JEDUqRUJTo0{%j6WsEz^zhRnB_&`)!v6n3lQDhTwUYx~uZ00XPBg^>8x0U}xQUb&DrbVG6^Ji}RXZjK)cW#^T1u?)>o%FvM&f#rIcIQsNww7Y2? zmi3Jw4sKgs2?4N-6Gu#GWbJ@us0j3hUlQ{NV1I4|nkkK`dAUnPU8c{ntY0;F?I%yE zTyBFn+ta>m0Zjzv!J5^j89J_6xS^FQz)XL(W)^O*3E-04my12(SG+L9T34*8bYNPM zC^Qit-4e|)rUOt6ujOts47ge zjDHu|Fp7;T+RIwSi%g1uO0@kSgcRFlJ=YYB^b5+hkrN)~13Cp@k*kZU$4Oxu`MRlf zXL6Ael|0zpxtx$fa2-kPc-x2@q*dhx-oz^btF{)s8*n zcRn=D>%>l@)Ht`9sog4aPzK$gFVgwH(|<{+zPK)On4N_f%XZ4l>muh}=3#&{$7aRW zQ1L!q0$vsP_^lA45W#=&vBI$FFdwHP{|p9O6;dGY9c*lbV6%r{E;q7Tt#UbHyK%5B zSx<24y%at6sVAzZdpWjbvv3e-j-{HzBy2}~+5={>>{yYO{2d@M81+ygT=nu2^M9Qg zLph)}yJHxPAsEk4A6zM+lB|-`>L{fTs4j4}0=H*aI&JHsWaI3Q*<4sP!0C@cP#~Bl z+X1nt_E0g*Ur^D<>EGr3H}XtOlJ$Fa&4++4=dP}fKx(y7&+k~xj*%sy)<(7J3^fTo zLO^a}+-~8#w;CA`^AWE)eyr25G=BmqVmLUHi^;N)9a((QUS_ zz{E_#vO9H^!$fJGD3PhljBEYw(DvrRxHn9e8>KAA|343v$Io%pN&7)(gnt9op9jZZ z)(KAh6u3A(2%cvp{R~g=R9X;xqhhm(r37)61K#W_JD`E~IlTHtT`_f6XQ{$y!YH$+ z0s`&u>MYd{+NFlskANTJ{ZYG`qyU{ZtQ0uj-cOVVwhv>weom!;pi@JW8s^Dw+xv-s z4eS<7Z2y~7Akc{oO*$Aq+<#r*CTjL+V*9Ri&@kP!c!zJVIzSbAM0;kWfWbT`E#Beq z@aq=vDUFC3>y4P=ewm)$@xzIdWb?k_nXZt!Akxo_isxsieUVJ|^@EBcMLYUp5KYVa s%pw1p*AF5_*HX)D8&PtnAO0WfU&l5q;F-H6>i_@%07*qoM6N<$g0t%5PXGV_ delta 1518 zcmVQRUfq;mF1%IHEJyp`AeGUTv(JcY_rsBsJ5KNwZg03h6ex6H0F94?Sa$$SMVG@;2 z{&Z;y=ps0cSVtTHYPbX10Tz!3LK1V<0bzvd5X%^xVqusg4r16Q^XChQLUj@#Fn?yg&4hjkFedCy&s7i@Lf`i5 zUEA>xsIKw|F*7`ex=LjdV3zg*pv$~aseVo}H|kk^z?>+-4>lPg;BXTuEmY10%_017#diCF;ACiOINA~z@|m;jdpL0B@*j&lct7HRx}5ijnpzUN2x+j zRs@#oW$Nh3k7#$ZIxL$TK^)w+yb=On8K;g&Xk_hyWvB@Bg(r#mBQQ4t&6LK}-0o6Q zm)Wx_>sJq6_~|1mm)j!F?rUd1Yi$G;!J0Lt8Gm}NS-PRMI>20iyk-_|uMOam!pX%R z@e5uUVy$adA|04kB$OiHqg$dmMuI@M#{Y#1jcAUeoe#fwbJfJ(H(e-Kh`m(4;`FtQVLxGJaoFe?n` zlz)J;LS0lnPD|S;)=h0X%W{^*br!1SLKK(!P3!HtUH@@?MS$csjsC=L6d+r(R3JUd zZW18Uo(=c!0O-%x1<2lxJ>)k&HqGnAUZXTPx0!i8$WG*-47x#IWb=QolQMl#2Jj_2 z4>6VPl$qBY_-}F#Bb+%lE4PN4_kIg_b${T~S3(qTI*$K)?`sU34)bv;@=su}RVfAX z*1^U`2sV2N7IGu2)#?yn*lrwbOV&f2de6jweHe)P$AcU@vROC?w5L+dVG_0@J{$n^ zSaz&POaBg#7)=JK5UzT8h562$p&U@#{V9y55KQN&53ZC@MOMk_^pwgwR2Mi~fq&a` zES(~e%vf*56!**Y6Z!Y!nUZeL4XJsiE2J)n z^mC);`T5trOlR9)w)#Ouk)oY^Hi)L>edd^NL+tf~h|#swGP_2U=FeOG@ISAA0mn8h U;Hzyu_5c6?07*qoM6N<$f=^-D?f?J) diff --git a/graphics/pokemon/heatmor/back.png b/graphics/pokemon/heatmor/back.png index 77117201309e71e92cde7d8c29f74a6feb01a688..5df0f4c41998fb61065a78cc196eac6c705cf0c2 100644 GIT binary patch delta 350 zcmV-k0ipiT1I7c8B#}W-e*gz`Nliru=LQD@GA8IbBUS(a0VzpDK~zY`?UOxD!$1&) zH+1eYmW$Al#Sw8E=K{N$#x2pn0V0bNY}}^`9avEKw#@z*djsx4^6RYk?c3)WTZmb+ z{22|uDe{P7%$q4pQ(={h;O3+wQ;~P0;=x-RdmjOX@&@$p<0Fj)qMuP9)Q)_ z-?88gv=n?pk8V|VE!)=|rN6=Vqo<~+E#SThVBqXZw1_^ROYKu~(QNPQ>7haVC9 zC{IN7x(8r;wk480Q~;c<4Uw@x(RD3HxR!}q6N_I)*A7S}2aDp}R+V9oE&y-2sM&!G w17?C-_7&_jxa_mprTvN$zO0&m^jZH-UyK%steRPIga7~l07*qoM6N<$g2`5#egFUf delta 358 zcmV-s0h#{B1JDDIBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0VzpDK~zY` z?UKJzgFq06FLrcUh9Y+6Bx7hpUf^!Fp*6Gm02#(7xX`DHoibYRw(k8wxG25O@avfU z`0mFoV$PgD9z;fz!3{f!sddN>g0!GQM=J(}31~Bd+B^}BbP|+N5LsU*G zc#fK`i9vCL0igZwirhYbRTelzfF27xFjgqUw~;_?9B_<)>RX_S&dpz%L7_8L%OFtQ zXPDOmuv+^w7QBI$!raiK^?_Z>_BBW8Pw@TdscC8pxPJl|IJ*)pqW6=0Xovv_NiP?v z?}Yg9SHyFaC!%`Y1F${Y5=kBac56dqEKqb^%L>;racko6$LQKY0jXrMDBf*V8TRM| zc*{l24rI7sCb(r^!QKX!eKxzaUs1w`RbtMZ{}my=0E`xitg%1hd;kCd07*qoM6N<$ Ef=LvkkpKVy diff --git a/graphics/pokemon/heatmor/icon.png b/graphics/pokemon/heatmor/icon.png index ce6baa5719296689f7fffd48d9047fcb98dd173b..8f370ced9620c0608fa9b2f32a2726c9dafab708 100644 GIT binary patch delta 372 zcmV-)0gL{+1K=9FXgbdhqSQCRqfRO@(-+;%zOhouom$xdD2+c!bjneMEnt+v8Z%FA*X8v|hfWBsl$ z*CQy!PMDmi6~+%Q!en0TwiU-XJtPtlQ>&~4P%rCAqC_Atl#LJW7r`0ijJg0;q&eKXpQM5@vtbb$&F>1j)QPE0lWT-7> zEvWpbeJT;PvZ4i0nP8G?#ZX3P;MImEk|U3<0Jbm=tiW(*MK_teBPPD&JKNuFv44M+ zde=V?$QTpw(Om+yF&ghffq2`D2PsieRm0dkfFDBsPwRJuxgJ3ZJ7EfH+sb(mU4+T~ z#I==&MD0_7h+WD`>i{&%W|B%Ca*RalgZo8r205cHz^e=IXi-STZ3m!$#mPPjjh%EY zqULSoBR^&RgC62|sq?!OAdX``2&Fdp&<`N`#*Z(kzx@1w5Zy`u0000O{12Y^qF3Y6=00bdPL_t(o!|j$qYa2%t$L(TW zf(}*eHbt}njTQ_>mv{t`Lk{w4kj$`=o-cp5D=W2Dl5^;xhw3rx<^P{IZ{N<${+5;& z@n6RBhwm|D^YfHy^>citC@s#>>+t2$GU{}8imDI*snx;>ot+{fLPM$0>CQ3Ojecn8 z^t!XxNQi!;4j?;STw-&|kf_>?SHeXDmav&!KQG4Q8r15q>O*k+5~c2oyUwJ+7SMl! zzHk7J@I6uhwZ%lPq6uDsuOe{xm}z322MrR#r=dRImQHuyJhKMnNlzy5&7w7p4#63wLlG1P+7 z1Ccru>harK^%kYsJBQ6pl1Ulk1V>wF7>6Gj#04S5xJK z^3qV~9`h=02T^VadDx;EdMCZg+Q(zVIleU?h`uc<-+{$thG3Gy$kXl)RPe^3Q2g-{KiDnLlzOQ67tRP^-ph2OV zSKg=-wW0Q0uq+vHKVSjI&9(dD%}HKq9aXufwWq-MF*%OV5cv1RBl^zpwd?6XaSM}= z20jL&Ne!;GAAV@%IG)m6Vs?L=A7)_#R~)_3EqxI-du8ZiHQIWeVpdp!&x&}+gnQ() za#6Ea0_|y~w^M6!E!nMtF4?;LxQ^SL@( zV`DuDxV6DGiNd$oGgF-|Nnhq38xHFZc&5S8klcpCaYo6B9nQgF&@z9DE8(OXJRw)7 zqb>Jy6{p`KOlu>gz(VEhZfnB)gz z3NT{)FbxlNS*(8*^300000NkvXXu0mjfG6xKT delta 1049 zcmV+!1m^p`391Q@bSeZONkl^8-;0gV<6MwfU5kwXsl zYLLvbk+Cm-H!CTXR+39kJ;aYeApZaN=FQuY_LoRp$Nw2iAO4FWn_r|Xx^tcOfjOR!LkSEi7?DzNqcv?jd zz#3#@!%Q++MtK0}!Z?3HTk$Sg86ZThhr@8svxV+yd=h1y3a->qq;m|R7wLjw;G|md zQ6)dKJkW5u9oUx05G+zS-96b*(H=K{zNO)%G2m{MH!W!gCP|~A-7$$886M>z zG%S!72qo<>AS5#6L+M9`R3it2Adn(jb{H~Z(6G?SOMf_t>OlD(*tQ6*AY>uN&DHz- z&1qgL6?M614gBq4nfqu}^b$zKUfz>g8 zUsqv$j~~BLO?9b`Xjfhf9zkGHYnxzrdN~0!yB+va!Alc(uVZiNsUvo9T9ktc_}q z4M#N>eABSdu)G6>lZ+HoH{1f3LDSfOPU@s8JRy_ms0+f(JeZl`lK{!sWO`y*iY(q4 zMlAoAXin3zHkbteLP$n>$NGC*$1O}k(gY14X0&0LBnN1k?rbuW=6VeqU7$v7^tiZ6 zPu$@3Mb$?Ypn0W^N4vVfbzH}Pifh1l4*_GEAB-8mi1EWLV8r-g7BHsyp~K>TfDz+| zZfO=Urud<2*T;Y%hJX>o_`ztD>I3fcM&BO-#?u%-7*?tAjQ`eeob47P!1yH24=-1D zpR=uevGXj*kU9LoUaz#fQIrlwfHBPvr7u2usO2AiE!E9={LnxA_^|u^!>-c^@ReoE z@`KfI_*c$B%clNS* T%(?z900000NkvXXu0mjfkSqrB diff --git a/graphics/pokemon/heatran/back.png b/graphics/pokemon/heatran/back.png index 54a1e36020ef67ee744eafbc0c1368ba0457b3c4..401779397dec94b003ad84650100908019662305 100644 GIT binary patch delta 539 zcmV+$0_6RT1%U;SB#}W-e*gz`Nliru=LQD@GdAp%0&@TW0pv+UK~zY`?Ub>K+dvS8 zRjBk+thR8j)T&4zg-{j_79~}l!Bt9=1>@?ja-GKN1%hGk9S$roh<&L1vzBzL+}Ztw zn?^?S`JaDgN1G%c@t?-Zdw(;3-fVvP=j*_|wZAtTU0%zlJ0h~ye_kb0;^?juhG<0k z+W^^Jc^l|#Tffz>A&oFW0$wo_{f|d25K@B}-YR869s!YIEEWU$rSZ1swn+QatRa{Aq^565eYK9O93Daqzi4sQL%>+OS7O~X z>!T3n`*JTJpazWZf0Tb}5CDEGfRr5;IBBP#&_Lnt>6HL#bh}oGL&GNY!lMp(RSfWY zX#|!dB;<#aQWC$i5jfkep7TfUaUWFjaTMsu73G-!(mbjH9Wan(^QfE(Kq|y%_*RBz z1%aTTadKIfO9uE54^8t}@T}%hGm(oK0P#n~c~R@|-cNvle~UOTeIMR;80WNTFZKeU zQ-0oWgUL(ec~rrdsgMBn5ilyqONG)@rqXu*oTTF}t{<7r00`iHP0o=!>m-%cs1PJ7?f@3}GBD)2Eh^{{I9>qLg=Gl0g`@4q d&HawzFCrQS5w0G#iYx#C002ovPDHLkV1m|u`{Mur delta 548 zcmV+<0^9w81&sxeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0p>|WK~zY` z?UcW2Xl$c6;w%E(3R3KWw+Mx|C1%)>^IgMIyBn z-DN^qJ0bmb!0LT<9q4p_+q~DWvJ#?N0 z^bk;59|X&d$)6chKh}Ez0Wn~Fr{ar20Qk8AQgT@0rk#L-fx_2+KW_w3quaNF9Sxa~ zD~~edMLEFh*a$2~NXQQ-Avk_z6L8i$x#XXz$3svlrct0LS5{O0);x(49T1RZ%cz_P zK+4z+d<#Xhfk^KKV^OpZ|$Q3YS6i~~4Cz@)&(3YDr=E%o6gNvB=RALj;0pvRJ{7O!$O zyTl&M|CgLz8SK8Z9j(pmk}f#_5Wsn3owM#Nla!AVxd{?AbpQ+WF;LcZJ5(4Y@}K}f mbzvF8*TUId@);i`lH@NU8V0Vu4V1_L000059iOAxZPo7{xzXuLlEs1XFyhU{)VIgV}s6U^X8!n7xk~%+ALIX76JHbMP^O iIr=DIo_qkm(8n(-M_agrnKbEgh#X?+q;aEk zzN=J_4kHSs^9J;=P|A!O)A7Ty!_HS#FTQ|7xn&;l#3^1=!1_&U$2_%bAbXT4v0b~B zNP&p@i|A2e%^bi_dl9D(mn!I%ljx%N?|+|;riLg#8}&F08XcMD zW>Ww|ZTdk=Z|NQ;lY*u;ch!4kI|eC31(pJ&Cdyq6pbk|u(NwI2*S!JXne?OlCmt1| z2vf`Z00um>D5o&iw4diIXS(8XOvvSh{K`LO|B~zZV1SQcl8+6{=7Se7yN?yj?qdN{ x`dGjeK4vhbk0cq)!AAyj^pU{)@d5lqAHOQ($aFL6y1oDa002ovPDHLkV1mTfj+_7h diff --git a/graphics/pokemon/heliolisk/anim_front.png b/graphics/pokemon/heliolisk/anim_front.png index 1f56b8487d54de55575a7f159f8a3e5cd8c75e66..286870fbb4d68e46d1da8046e869bd80771dba09 100644 GIT binary patch delta 1032 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 delta 748 zcmVBjE6vyvyH!oIV3X19A)3wlcF_POYP_9R} zP9e~_1a$}mQ@zR0&rf zRPKEHlqCAiXPsa`a;mk4w=?1DgUX)Pr+NlV#|d<0C)G)oYJEb4Ycm08Ll*KK6d=@B z3i9Nh1EBTL!d{`2-!D#V3A5=gqjt{GRMTG42jewE3ipVX4(PFoO z_ks;>84U0U{GtY02aE-)1_J~bzg{8c@I$m>FhVXE&ubz(U|h;!7_jqz1yXKH7>v-y zb+sq)fqzjB1%IMBd=?AwJgWL!#8)Mt_4gWx>Kb>i%o5vD!l;olWG{!X1|QTlwv0lM zGG-O#@`dSQbsuaOg9=FDfgRle76SGm{ldXuh{twbM5||EfdP!X%3$0*P19#!r>gZ2 z+MZS`it08Nv6V{;2jZ9~C46Hr(5MVX15p@^hGi%X23%YSP#O$E5uwUpP;4|-2E)fn zDf$G1p^#pT!O$rf3=~LVD^p`IkP_g}Q)4i&-J%7MT%y)nEY+mnr|r#Cj%xrn(kke}>J?OP_Nk0<--q zlL7|cWE#ZByqLvS@N z14IQ>S*(s=Q^0=%qWmEqRK19z#{|#`5K|zEy-Fpi+80`@DRY5wr( zH=yYej)?;(ijJZLf41vQ24>f}e1bAqv`(ApBLnXkT1<+`>z;uj= ze?=LbwLX#&uw&f102*zo2H1WCaJHb!K+v!n;(-g$qgB!&T&x^uTtJ@z1qZm?sowHO z7tqJYU=%#S@=d*eP^x|PDy|X&SZvMf)u{^LFWp86)5i?ZE3yDV^yfnYID&X)yf`Ib fBFO!pd=aFXW7`${%syu|%nRh81A2v8nr%D}i zlLNo}@31hr*Z-}Bl$%@oa$DDHIls>VU{}}j);^LMK>?z;K8JuL)-wS-)wKw_Z2!FU zIaea6*uM&BOz)daBPzRp`2|a3<{~cQ$@Gmevk@10F~$bOh*jCa^yXWpdWQX`1X8}J zR4o824k6XJENBX#@)Bi)m;(75$a+wCP~{L=j|t!t&`iO&hbTZxCm`>^@OrTfj3YQH zfcwdK+CO~y3ut?U&jbO9qU9uk?HYv#_SRuOBLi5}C`4>{a{c3fRJbN;cNh^5by6+K z0rf0^O5=cWEKIepXaHxek8A|onshFJO4}-deP|*$JJ1fG;b9u)0S4&Nl)MiQD+Cn= zbOYc9frOpv9Dl@sE*?X0;{k;?_5Q)R_SLC4r3qlMwXavF%7A~wix9St10c%`1ks%j r3D5}QH{-=A0UJ>qe17-(vm)dN?!qMOm|G*600000NkvXXu0mjfofO6c diff --git a/graphics/pokemon/helioptile/icon.png b/graphics/pokemon/helioptile/icon.png index babec3a36e09413af4d4307a5029a32aae6e7518..2327bcce2c99ace3914266e9cb4f6d8890ca7131 100644 GIT binary patch delta 251 zcmVO{12#A2<;I`@ z006d0L_t(I%k7dY62mYIM12FDC!__rT0x8gS`ZQYa77`OU`)Jin53DqqE46Xj;-Ik zlzv}?;73F7t*HsHKLPWEWVv02n4t4x5)+JLyK^-~hH!BK$#mEmHdqOjS~YDGF}T{% zdgcywL9U0`S%tSn-L}2Ng(Y4@(_f#3a2_;K?^|;x9pwu5=~!m5ND=c~96>ox>^SUv z^0BMw@@8SMsRC3`z=74_aPr}BIQdvp;6uO0#|zZihNF;ddn*6{002ovPDHLkV1ins BZDard delta 215 zcmV;|04V>{0l5(6;^MY#dzscFSttzx5Av|=%v!&R+;$c@Qw zqY9a+s_PWT8z6ysM86-5A#aKyS1k@;e*mt8ZN8qHIZ)+(G6&kR-Xyyr&14IJt?dF2 z7Di^x?pb1iI6zdBRFnWxKHS3ulXdnLjJk~r8x5e)KRySB^H4yo#9TF;v~3rJremJW zE5#zy77R-1B*DWf-H-j<1bw;C#7zM*c+f#g(4qSgbm)F8{;%DSVZSf@cmmYfhNH$c RvW)-$002ovPDHLkV1j$#VZs0a diff --git a/graphics/pokemon/heracross/anim_front.png b/graphics/pokemon/heracross/anim_front.png index 42644365509850ec19cd3f2b78ddc2e531c111a1..34437b819ebdcb693c69f20c4b73f7ae3570f4b9 100644 GIT binary patch delta 1199 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 diff --git a/graphics/pokemon/heracross/mega/back.png b/graphics/pokemon/heracross/mega/back.png index 0ca84ef2cd321f9f400a45af1cd7fe49529ba546..0014cb60422e563a9099bac510fc70f0a9cc1c37 100644 GIT binary patch delta 409 zcmV;K0cQS?1b_sPB#}W-e*gz`Nliru=LQD@I3^O-%iI6}0b@x-K~zY`rPR%lgdh+F zU@-z+@NQ8H31|X4s{u?`bpW#m^ABOgpP`|(IgH2g^Swr7s_O1ieI;MI0Mu9j`cZub z)Ch%u843ZjJfoga24tIO2@(*%*|04_|D*w9bME8` zlJl#Fxrq%|V0^~+d;&;b(36Y+{6C~aIs)w5Mu7^c5%lLzBm&3?5JU!40=B&Leb?B( z8}=c(Y(pFcA-v1Je+dUB30R*6EUpK(|<+!Z%3HS#9^1qRx59SB300000NkvXXu0mjf DV1lc2 delta 423 zcmV;Y0a*Tk1ds%fBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0clA@K~zY` zrPINYgdh+FP%#2s@NQA731|X43js`5bpW#m^ABMK1sfQf!*Cp)|2N_^w@Zu-zhni7 zwF2a$`3#5^DghQM0hXUp8svepJP-zXum`Zf1wbu;2gn20zyjC6&FBL@0=|I-$j^8* zaKKi8Z(zXDPzU#iI1b5w0p!8ia1YLgDu7zUJ0Q9WkR2Jpfj$dZa^RmJ0S<%)e+c=L z2CQAU$pDi7uUu?*HM|4svx)CH0D2Z>pJW8TlY#;12!2N;Z$r4$3yk3>5&>ica3TXD z0X{E%-z|=@;TU4bE@Yy>g%8;`F@Z_~_9s%%Wdksvas R4gdfE07*qoM6N;tV1l;aui^jz diff --git a/graphics/pokemon/heracross/mega/front.png b/graphics/pokemon/heracross/mega/front.png index 70ab93ded303b1975374c831029111b337b6f961..8cfd5bcd2a207ee5b31f914c09bdb06613cd5558 100644 GIT binary patch delta 760 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 T!2Q0{00000NkvXXu0mjfTSSA4 diff --git a/graphics/pokemon/herdier/back.png b/graphics/pokemon/herdier/back.png index 3934a150f2eaa06a5cc9c02be3eaafbcd4f2fb84..3558ebe7da0c4ecd7fd36b7f7bc1f0f22bfe7c87 100644 GIT binary patch delta 491 zcmVO{13DH4IhpbR00Fp3L_t(Y$L-UM?bhbk8y#k%`F1>$IlYFsLm(q`LIlN!) z`|ghj{jnfm_ag55RnK8CVC`NVa65&=y8vr+I)FnvzzsJ!9DmMv9|Dg3J?I2>>Yso^ zH0W(wU`j4PZwmrGmKg|@V4FdJp1?2zKujnb%M1#H4A>K#M9uG^Vzb!Oss$t z$d>cFtP8{y*Z?~f%W-1BEZgm%B4imBETMH`pBO;dEQ5;B>(IbwSw|5zd^Uh4z|}Z; z;)BgK;88wA*MBk)rcUh&pcDjpm+cG;0HGT9LZiI!b<+4eH0zT?>MgRz7jOk$ptouy zvgZV@P`*4uB5`bOwVlG(Z6rkdEKGS`q8cGV>o5}it!@=KHUW;$859srV2ey_2@)*e zlS%>w_A=WX002ovPDHLkV1gLQ+Is*1 delta 473 zcmV;~0Ve*{1j7W7bbkT4NklxnuCV+sVJH8~@)B*UKDW~@V-Ja;`F!uiSjYKeLDA`1++5Z(SKvT& zXH6ih6t3(8qBZFOF6#jo($;XLl$RKAtKWlOP^JC}xYU5bYkvpK=ouJnP#`C|0%aO( zG7PXI7-a~EDH9W20YG?*0$PJmrZ}M7fGa7}Wp|qdfE(yh%ImBT#5L$vfEqle7NpsB zi#4I!sK652C-JETOr#msgxQAyzQ7V#V8RzeECH$4>Af6c366j>IYQP?6{vty`vx$E z0`r!u3<3cmtbg;+Djq&hTaSl!e|ib-D!Y3^cfbSls>UjNOz;l%jZ+$_L+4djDSR_V zN_Ee|w#O3~lm?x{NX)Zl1aN2r5}zsnP;F2(nN%%k@PIZ+lK{X@*JuI#$2vx&#t0xM z5xviq+O>gK*zXO%RD-AmymdkS0Jag#hy!5XTwj%Cyi$m%zTgmu`j|JtI)5pXvhej) z7_cV|;C<#=l;uKS0G#=oGdl;XJhuX33ZVH(dASV>ObrJGHcR3B$1lVea}$&Sb^l5JkBGMf&6xdxEL$#vC9G+Zk=+>FmoQZwEwKL&t-M#{!}<$ztep8+h}^QG|TuRlZ26#9+&_)2AFaF_a3#$;fR0-RC|6P6Pm5Zr1Sy z9{?K4jNS(Wy0dkB6{YUIs^dE@E%6!x?HO_RBcnD&V*li{gK_mt@NF1TC4s6)COAf? zsu0ocm}P>3LS>V-Ux5kN8JC@p)3OsljEZo@x6yLaaBTl$eZNS#iSBV!&|O`m6(SdW zGdHeEK$md{lqgJmfX${XgeCD)t|S*V>kbT^R!<|ee31J+KE42ri?u1PM27wV0000< KMNUMnLSTZTJe=GB delta 326 zcmV-M0lEId1DpepUw;87NklEN;m zI@?heyJO-YY>=C6Qbciq#MATh{CrCNp#!Dh-4g*w7s4#@Bj^8SM+IKzY#5ipd2(t! zqM#3h?X0>8yzn+VXwqYWS(_Nq)Ts>q@W#o8>B=j;5b3tD`G48|i@LRKvV*xdv^F@^ zsgA(CAYzq@bujV+al+iA_rc&)rO+toji%b?o`D>Y6*z|=`;6c^rf4drDC(b_vN6!l z1YZtg(@~I96ce11iz{qwcgzw&L9>b5KYDYqIxP7R_j`PN Y1C5KdDb~vfxBvhE07*qoM6N<$g5(vRVgLXD diff --git a/graphics/pokemon/hippopotas/anim_front.png b/graphics/pokemon/hippopotas/anim_front.png index 74eba5613fb1599dfed55e3ff0a6ee5538e639a7..2470244f663cfb6f443e669338c428b88399d535 100644 GIT binary patch delta 1022 zcmVF>l*A6vtH#88StVhjxo;JBoX~!#Of=v*TAJw?~tgPR?~T4&dcF zB`{ECj2blNY9Nb~>tLWu-F|^Uy-!eQ=vXBB41JH399v?&9DfeT;5S&Z_|u<{6#4jf zoMkNI|B6R0;~R^B^;QX*i-6*OC1@^?V9$eUu)h$fR;&LBC;;XF3&yctX*Hl(+@bNV zS*M{62mmS+q2=0u3IG%fc!SrLMPu_%Y=C3O;TR1B`1}|+Kj;ITs11Ii6!0~N9nZG& zno{AW!sto_&VPWjty!R>bkHS~vM-h^0A{;4Bk)qq zM;2gwz8&Rzzk`y~E_maKZg5?FIm5SUB>j5;G~fehB1`~vJncaPZ(6+3dSZaTq?`rH za7e&5FKaUF?e+=i%Ve%urAf*~`~uK4X@*1}+n|~URtGGKqT$tNnvv?h?c`q_A`$)jmCF1MFXjEi<@ky;1_+dj zVDS$ZZ3M2zBYjXHkn<0#?SBvmK421Ma52a~%&83HTLgv(oVw&6FpHI=IgMXp%;5&J zJbyL*!CmK|TYfSWkh3VHvKq(JSIfGWV5P08CfiTgS^>+`r`7Xyei+lLXLy@igr;Dkn<0?zu)4y{1V+kx63X5A>H5S`gEW151Z48*4@(n)c-90!Aso5 s)Cpw$10#dcUE~hPK5Q%xt%n`o0TCi=1BIkPEC2ui07*qoM6N<$f?&wzQvd(} delta 983 zcmV;|11S8@2&f2GA>wlP8E=qzoKBLuPhKnG`o{f;*(p z6r#lW`0wm$Is04II@a-D#VwohN)fQ#twN^=C?C|lPJsk_LuX#5aR0;~ZF z=CNJxwxLtrr}=J~fLkp<08pU}UE2iI0iayMFL>=5G}l);X~82AXB0%yBvpf6R>CGh=`e+t8@f0WDX*!6vX2;lGDtjI<> zFAovGYM-P8UVq4JtOAT@^C&-j3esN=!P|FK!nW1r6rZMfD53AAO_^oas&mu z?ecc_jt2hl{WMU6Ljv}AO_9Oy@rZztAFnm5cSyO6{{VD!nZYiOG4erI!Q2+z+$NwU z6XF;r`*@&<+OG;I@v5rfP!YcL-v}|*5^54BExzs2H-ATI)M5BUyqsx3J#*r^YOFIy z(9bapAptD?jP15aU?2n$v-WF9hOqiV6OJy8RsWz?a;gNbVj$}uC?>tX5tv>O zFoG5TKmwlkK8n7m|3bTiw13dRzfm;tdQEv|@DB*Q>m@)CYoz@HzI^9%T*Y(R)&n7O z{sDn|VYFC$nK#Kjh`fKWngPd2d`7z{2vErR2YkQ(#B=!tx`V-h8~j7^exIq+J>?&E zmJ6+hrT0_)GWZ84b{8?9_YaH=#-PX@kbS5W`h}D47=D3py?Qaq(CTkZ9u>e58l|FjXjWKr2v+zg|HVbMIuFhdH zw!VcYfWgB99iR_0(uuhfxFW749H0Y$R#XWao&MMdjA#>PIlcj)@ezoT05eK_ZqmVs z!DOI&zf6OC2Q6)wFjggh?htz4@C8p)sp*+0>_@ynTft--MTSbg@0KDDCQZq$4K)$&qUBS znn;faDEpHK`VE5$U9{d{W1T{EtlvTl-LG{D@Tm$a4*A6V<69toj_kNxR`3`83Dlo=JO$^=1(^TMK)V8x2B6S{ sUI6_9&{~6b0N?w1`+fkQ_(SmnP~5~k(d;P|00000Ne4wvM6N<$f-Q!t<^TWy diff --git a/graphics/pokemon/hippopotas/icon.png b/graphics/pokemon/hippopotas/icon.png index 29989df4395b56b7581bc9afc1ea64ff30803fb7..bb547b5b19ead92763c6a2b0192297deab8c4e5e 100644 GIT binary patch delta 276 zcmV+v0qg$E0_y^hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1ONw2Z*lwp z007QOL_t(I%k9!J3d0~2fMIXoIl82CmtHc{!;+pOyr6SQAm@+-EA3QLv<5X*p>v`1 zZTWeE#E+2QAFK0k3PmwTdCtPk)VplORQrQYPf=A@S9qVYMt_2A)U3mfMdTBo5XRB( zqZ`hL78)N6TMNz?#&ite+B_h}&?-QLQ$P6dU|dNTIvE1RHFP}(5w5YIV#o)v#6TBB zv7n&a-Kn+uUYEbblK*@M3@yPtbpgh|b^^xcV4{x=j4Z%xJ_4A;hX><)kQ7YjV+Hfk a#|xt**jdplKMe{10000}yO&l?TMgk%ndTs8(jWQ`_(24*EI?(nE zy0C^uNs;kRM?f@Ur?DexcVex&R_l}4x0n0V`l>J_^huceb1D)S#KPw3n{Yb)y ul`zSVAWY_m7iRV&?dgPB_~C^4=*I)2B-mM7op|2>0000O{1OOqPV)Ow3 z007NNL_t(I%k9$93c?^1fZ@G?4-%{g2zt-MhCalu`=dCbDqcAIR)*4v#9 z8DM0+J8@3my7HH}>ObEBLrO3YU4Zegoq%yUnCN2#BMUIAj{qj|;lU(6USKjG3z&~S Zo+?n(ne#8soD2W}002ovPDHLkV1nEBbo~GT delta 242 zcmV%n0cGc@0ZniPjE%dL7p;jHT5=&m}0lr=@e0QalzM=H4^hf+sVEgCHVzm*6By2%>i}?Kg8&GiR0x2_R%h($N+splFeN`CZ`zXv~nM#Cl-%f;a&x*nXKcX;l sB~0|g3zPWagh~8ZgvtDvh56{m6Dm;DnQd5T2mk;807*qoM6N<$f^T+hWB>pF diff --git a/graphics/pokemon/hippowdon/anim_front.png b/graphics/pokemon/hippowdon/anim_front.png index 4dba701951e177e02fdb7476e29e2af99ff82d8d..ae4b104a73008e6291196f380d48b377d28588f4 100644 GIT binary patch delta 1154 zcmV-|1bzGS3FHZoB#}W-e*gz`Nliru=LQD^06Sv<4SN6p1V>3kK~z}7?UzAl+(s0J zwTN7u%qZ-om@*^irO;ZMjpJSq?2eV^X@XEZzWf6KD|H_^G%ycqJ7 z*+Q&XlwCtmE_}{iK{+!Q;DW1wi?IZCIj;%V1Q4n#Knp=kfXzJ(fRGgvP$}RJDm4NQ ztu;^+V0(fK0RmiK_{`A5rc4AuAUp;w*b@UloB(43itvvj6L3G?4T9bHM;J`k09f8y z9N!N%;`o5_?zU*Ff3W*;+zY-);+KR-=^LJy-QNcd2cowj0Wi&l-Fp-R5`T{XAs(^p zg-&)HzYHG5`v83P!J*HICl-jc_(kw}>;Ul1XNN9#T_K!>u|f+HtV;Ra5dfSC;mwyA z90RcjK=ko*m{B08cc=OAZ3VnRmCU0YA0I5F#)$3o1rP{~f4Zw9&R~6V?l(s~0ALdV zDR(3g1d6!L1%x6t(^U;fY(WV39D~XlVEmouIt>k1z(mRu5b(+Dys>_?$V*^^K%V;* zaIj(x07%nK1z=F_e_G_VhMx}XG=+S6JVXH+aCx4;(}11)+#`4Y5-GVmltT@SxJv<8 zU#WmUlGhIse=m7GjGkWhaAx^=Rsp{blHdACKS_pBRt$gsjZWxRUTEOfTD+I0YsvocTX`?bPN75uRZh0@e7OQ%eVL|j;{Cnh&U%)i%pca$3T2dKW2JF@0;Tf&{lgN0)AUc6h22ofe=z`rbS07i6#2so0H!j8NqP%; z?0~;efe)N2GhZ_7tw*rm;F!_g0H3<&0h4$_g?7zz@py?l|&v+%0`%JlqdH+DQ1SkRS zc%SJ4bN->@Dh;mZf-MGMyX7BzwEge`g6{`xBHRAKSN5L?d_Pz=`G+aLisekS{X+?N zVi)+pQZx96qJ(pM>f;N>y4gRdQ-6vz%>E%SH6gC`56TtPVfGJb1( U1T{i_zW@LL07*qoM6N<$f>zET)&Kwi delta 1167 zcmV;A1aSN03G)e%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1WZXpK~z}7 z?UzAl+(s0JXA!wNnNiqFF=a;3OQE$i8^_tM3B>}Z&_hbl_E6%o5uQu&B@OuEn*$NO zx~JYkDHPFL4?g%*(qIa@n8kY&IG9`|!`@eYZ$@itcgMY!Qa`iE?ECcIKcm^1U*!K2 ztvk(&CC|7cb0+jlcICGtxBzYM=O7;Qx>Vv~TP+!gwYsri7^TY+*< zF(NO40Rlx4)WE?C=>d>sn;O7iBKWi{rW$@aaIy^Y*>N8Q7{C)n@y-BF`g4cg{Yz%_ zZeR5cFc2OCV111!01vENgTSaMrTWiT)maV1x$8XiWJU@jJF;qF(DvISAc=ctLy-D`> z`aA1+jxx9VYLs6B{jc{l@G4Sqo)5Lg^%0aRiuVsI1WvO*VHS2HrG@}d+Ez#cP!XqPrTU8YTB_T`Y7=`cTxr8q(y_Hb>44^0{>oDot@OsV-mros-yh*^vh{w~adnSRlKNS0b2Y38S84LG@I{xFwjOO#mQ zjLgNHfD5t^OaGX?iJQ2Ie=nj4Khd@MTew}qcK7(2Jgv_f^^7k12ZEl^Y^Tqp;uima zp3vMM2spYI{lirOII#yd|1bq&PF;O4&-;fKuRG8q20a%2!zJ+h(eu?EX7La08aM*L z<{w&r^(4gN&{G!w(4rK58UmsQn*M>dv?q1(Gz;`_X8i*dXpEqv@K#k!&Dq}Y4=rv0 zaHc-D`3D%Ut`NYX!|or@ h3RE}#;XfXP{0-i#w*;G4Ngn_J002ovPDHLkV1hfiAr$}s diff --git a/graphics/pokemon/hippowdon/back.png b/graphics/pokemon/hippowdon/back.png index b2f8daff38256b5036e69c2d7753934bd8afd0e7..4f31c1d7af983476af3935d08ee1c0032815d90e 100644 GIT binary patch delta 601 zcmV-f0;c_!1)&9y7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lu5C%MjHb00066Nklu2^kH}Hj?v<*XbXJ1ArNleb^zGnw%FUTz~6akZr2ca z8hV5?55`ng2s}msV4+OW)7AtEfP^@C!0W`1$$h6ENH_86xU--Z0MExt!wiVMrMH9% z0mY|c`3wF5@Rfi_RIk_S00000NkvXXu0mjf;5iAi delta 591 zcmV-V0Gv|?wmtVyA;4zk6cy9v?FVl99KaUlgxex60ME|}d7T7E8q|Oc%$U$hA{og)&o3K-iG>Eh zgq@W=71qQ-OP{4x2IDkBJ;%5RVW{~XTabj2KjUIhEQ2r_11@=F6l)xTW-mnD@w{E`){Zg z(esqqQ`^aYW*`T|C1+3j`U-IArT?U-lRne{a9ym&3BdLiKy(}{7_dA66g7XWUF`_5 zLUzUa_U?B8fk093BVeL0yGXLIN)8vl*y)X0wV_b9>l$~F9n1i?Hb$|Ft9}{QK%Ibd z8NkCLYWL9^H#R_7v;lT-4ye32I*_h~Qk|L(YDfprl&cY74xsi`o)9zvpgVm+-1S*U z8c(mOy_&&Cg|zMG)jZNudYe0l1n_AL$C37Z!(6W!2=6mlLt+9O*c33)>q}ipU?c;! d2>8W6h(BPtEfvj%g%1D#002ovPDHLkV1kO{1OXdCbsX{l z007-dL_t(I%iWSeio-ArMSTM!x*qxB13AxtXm2pV%qkG%h^z`Bf0VdsNxJK<)$*Zl ztj`PKy(bO_U@0I3;J)xnpaG;R|L}rSgAiRDJeBlkh@8wYc$nI7ch%n zjnHLz4NpCO>U^Rwb`WOsqY9HX pZGNo67`sk)KOFq+?eR-xG&7U@0I3U|;wl&;U|AL8g?!{D?-r5VwV9P8H0(P}?#z zm%1P#cDx&Bt(jR*a)lVD)GZ(qIT2|bOwF>8o%C`R806{z4s(coMKEoEmHNw)l2RiD zxtm0~MpJ!s0ki1cX#I$Jgd0+V>iUleA`}k}t<8 diff --git a/graphics/pokemon/hippowdon/iconf.png b/graphics/pokemon/hippowdon/iconf.png index 80460903abe5cb1f7bf75e897d2aaeaae471b192..d898374250637dd3f127cac2e83656e5a955e75e 100644 GIT binary patch delta 268 zcmV+n0rUR50^O{1OYXjqY*s- z0072GL_t(I%iWT(4udcZMDqve)Va?8|5TCH-Ns_i)exX6-MW=XSzde>`E;fH_Zg-W zh+0?*c?>*2OoZ_b6jdp*Ne2-)L=w%uoUgyvWv#f-S%iV_>fRp zlikZgyKQwSd{wYCMDsfi7}c5#c;a)wBsH0j#{#JC0K^f*lSXMQ4S3QpUYW3uiS(ix zuTBucmvX>)deyS8F5SY-uLvOq=@5VT6u3b9$`jxBD@3fi@pXPboQw<;Vsyx1op_|> zW)n}p39o5fhX^VzaV>|mP)svG7>1+pV;%0mAp{eG;z8I?0Rs+8C@AxR`DceVf%4{(1<_pTVw;DFwOEt1(g2>|BjV5KWNLc#Dp>-83QvaGi} z0C4Y5OVXs&D#47^dQQuhm1eaD7mXc+%98f5tQf6@YzeS>(LsgPsjeTZL;^e(tybJ1 zob_Wz29(#|3a`>yKeh@1ZS9%Fh0S9Lpr(LMyC~s0uUFr?o%y1G=q7*Nl@F&$!nTPH zK- z-y_@S62q=a6a+PqFVP@-FxtUm0AwPD2;x`U6b5pD&iy3kKlso~FJa$vvM21rRZoEM zjj~p~`WaPTT6q^Z@taT1-x}^u4tn}B*Q_J4=(+#>i?`P6UkHDE>c%!Pd5?VT8$zRi z2C+91V?SD%@Qy1D-*OF$fXsN4kr?~%i$yemsy{ZKfBwtMNenO_MLZ<{XxQI;{@dA- z7#yH|3*#3J`wpL4BFkq@vu0FGF~ZgT*?$z`WJ^zkzotsryq5@Xe)&wr#J_;5D1 zCB`!6F9zZG1N48xTe2lF`06X*dN@hAQYw%b3RNz6A&)WcwjCoaF?6~VgnJj1S2Ele zpE(vTNFTj{i2cNniQZk)?cq5t=_wyi*W42hZZl)}#$VgGa7CGy&`x9ok>9mG)fPCvO z6^3`l?o0Os+2xFh<@+2cYZz+|{FAY>&G=DaECm85yy8DWE5ll`Ku}xjqAnH)Dsi`z zfJB0*#q&bnT1${(AZ1tP!umBwA|M`t(rmuy>=F<#$Qj!uAT%x@+B*bMLSNFxgzFcPp z5Rtxl_St5zl>send*!|?9x=!!kO^dh0Wj=OAKFxBWdZ%NC?PdycqKq8n(KOu4)mV4JGX8@0XfJj3q05JxTd*}d=H+OH9 zVB+T!`NQjo{*)UX0}v&G$yiCG`Ka{(CY?m~M=9f+{g?ql0MMB_0MHmQ1u*kcAV7>U z`4hpcA%ylk0OkO+ilzj{oJRq040r&TIDMQ%EyF}n(cJFi?PR1}A!bdlfMlw1Cp2^fZeethR|A}{x0t97->iQ(d63@B-CielZXhQ@e z2il~|m_BmX7$7A7)kX>CTWcotpO2=|*o>U;azosIJ%a&%Xmr+kb_#eBfDCuvxb^HT zfYu1Q186mVJOTnZu4`RJE$yzY-Q-*a$=7rO`1U}~U%gj< z0{CWsE;<3;C%^`At%6|Xo&hVNLj}P#`r^M5dQ=ch*()im2|X%^v?uR61BuY7g0Q=< zrm&2nUj_NTlI6iO6@&;+RS+eNsvzmbTM4&R5NlTi4yhnz4lOgRAO=(rU)FMpLbmXj z3Q`a>0Gk-yDu}NPQPKdwh^-28R#`R#kuWlUVO2pyL@+H8!f%aY09t|c{zwRZhc;OS z5gFj{?b++Ll5LURH)l@7AF`x^9EuRyar)Ai@I;u6Wq_(6=ORP~$Ud^-{(`Lva-t#N zS`XB00@NbLxd^c;Y6&MM3Ccv=jt=s}_0iy8D)bP-zfX{s#(z2;EX08ZQ99 c3c|m)zlUr~9w!ufyZ`_I07*qoM6N<$f*gJvy8r+H diff --git a/graphics/pokemon/hitmonchan/back.png b/graphics/pokemon/hitmonchan/back.png index d87ab20f740f6b9e89837dd764ce2dc8858d8dea..8f5bd8ded7f391bc7180cd669441bd72e91a62b2 100644 GIT binary patch delta 695 zcmV;o0!aPI1^xw)7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lu8Yjo@N70007ENklx}WTk<; zPQZn#%QFOAEzT1-PjF`!2dPpT6<6&wsjX+o%u1`XWXXLpScUmN{WCi=E6@7}gRy_> zx-W#f4nQu#YkJ5b|2(a~iRK(&J`He@_z3vnWQ9o{11NvWBe;bei%@-eyV zI-@W^Kmw%Wb@~ZI0OCm?0!2A2Guq8tR5B$chXM+Jw99CYeNy-o(a1Td08Say1mJO! zz+%N{Co%^pP@{m~WUv5?0Rcown}dH}oYQ9n&KMGBFA8Tp-Z_z{86kArZa; zu(<3|F6Mzqt^i2H`73av^$>vkBX@dnvwhq>eDBQ(<4ak#0AuWNcTO}z`cT)FU|a~n zc0c#}Yz!EvBcZH}@$O-J=mDy(PsSWMot5F+DT zTTCn^V=Dw)jtBvDIyaCk)))tO@w(0 zQzFi&c;5jmMGGcBodG%C$ome68N&?w0~PV)MwK-g2v7*b=}PZ62rRl;w!qP5KtR6L zKYq6vsE180#ejd#$y31EqiMfl#*O3JYdT3X2ELH zU%Q}OHw0VK73Uyje=XMpNK7Kvl7M2M&rVC!CHA{o1T>K0%?S({phYE{^%?BFhev1# zawdz#g>KBVl*`KgjfZ!$tc{E2&3+5KS$%qTz@M=X;J4b`wfg-_d8s4MYEv2d(Kuh~ duik$ce*ymtJncq!Uf2Kt002ovPDHLkV1h4>FjW8m delta 641 zcmV-{0)GAe1<3`F7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0006wNkllc<3)%St&^C$y%b+6c9*%9_(DjSK zDq{6n1#<#>_gM>^l`$$nCD5NHHWQV+3C3T9le1VDM))|u5C%ylKo4Ja52|6E7my1S zQA?nT9`B-}Dd+`=TYuFliUvO@2y=f}BD4gXte!v=pbBSx+xGqSdhJceo$#`XCh8Kw zH;Vl5&|6kg5b2bb;z;1uLgm(eu zyb7S3@Hk4|b|H!q*buXufe(VR+ktYp$lrwzNZs}@0pXHmRIa@ecW6QDPf z3LbD3sNqsD@8dmfbw2U_5&&&6gpdCt=*{qmFaCWZ^2v}+diQQ(Ch=;pCt{G-!gIwH z*fKl{vP}^CnEgGWb2oaQ23fY7^9MY)Uk9Nt1@BJL1&;z}9}o6H{*3%>q?~d$42Jk$ bf49B>AburL+Gsv%00000NkvXXu0mjf_w6&9 diff --git a/graphics/pokemon/hitmonchan/icon.png b/graphics/pokemon/hitmonchan/icon.png index f223bbb02c099fe36b14c20db93061af44ae7660..c5cf7dea7ccf2f756b936aaaaae4b36bbc21187d 100644 GIT binary patch delta 239 zcmVO{1OhO|3`j6u3|s^l pFJ?IE=Z delta 200 zcmV;(05|{d0>}c8UOTur+MzLwrJEH49W+CI7N!zM2RWzquOEe;f?kNC&+bujLiVlYn3D8YC!jWq=G z79+sC#DE0j#lS^?@nV)!0>=4>!MKB(#0T>SeLMkhtc@KPumX($0000R9M69md|VBMij^85;D6!t>ToFJvC!f!``gtSj(RL zLo_sjUW#DP&C+OZinU}M$A_{Zj(Y2%WVg4F6bh0qg}{R54+uE=Gx~@0jU>l*JQ{x& zdRpihU-UkHZ|05szF$rI9G9-^&lKU(1^_gQi7%=kRYM3Vj zXfehB0SQrRU=ZLZb^xr8#L}fz8gPH;rRR7DW`BEc>C!5Y_n|4i`{50kixn!+%K&Tx zG~+m?bm6cY8&ja))O#R+`aBTet}?*f>gYX#h1WIr;Vr{>!iHK7=xh^qHOAc8TeclU z!-O*{BN+AOFDrc*-6aVRgKQ6!_UrRN)7nHJ2zkt}#XE^@th;jnIoh<~)hK_NggJms zoKK(;-Gin(y5}(h6cZTBK-1MuIgdjGs!**y0yIXj;wg{W5PL_d$lxyDbvX#Hh`7Ua zNdUt6A8qnZ1;jB{X5At{3qk>Cq+0~w5w_A)7?-}W<$&(HDgaNA0$PXCT_q4&)+b4P zmO13S2*?^-=KM+moYcBj284e>AUoxWbNTVjw1gbE7-Y`_Ilvs3q|eLuK_DFtY}&9y zdWhMIqE$c~T&aP3b%OF_6_7~VG+WmZR|4g~UszwO0CM~IPq744!BE!d;(xQIBKpR6 zZ!SNmYJB65e|f7)!3JZ8DR)8gd;fp^cY~ph<1E%!#0#}wXosBwwL*X3%gi1a?ZN~q zprlVLfKij1husP$I2Mv30ZN+~K>0FJz4eV{pcM5`ZcTszgNE!F&nJL#TZfh}O6beh z;Q3v(sc#;6t$_f*S~6?B@D@5u_g)@n2BGn|-D`V#4<)&39_K#k)zYYA{kpze&FsUL z2T_Eh>fvHD4|$|_vtNH(-MSY=lURuQv+N2D>ZdDrYP3%F&_7HqSqU&?i#0{W3}NgB zI#v&X^{@Q%G=}Tk_Rod7r$c59tj?CJtvmjX{n}3g{QNl(5CZMoIGDPtIsTb#zo(-l zOrpshyhg&vWs&p*Kn7=a#h|A=rJ^Bco>=`VDU9b$f$F@XpG?ZYCm{(;u86k%u~gpCpM_vGh!wfa4uSpo@D zz}22C)OgquVf?RL{C_Q&vy9~e`&16BQOfd3EKeZ>T0KSkGc}N=DBoK9Q_Yj^0=3_@*J37pQAcq#{CHGr1xleXd*YGuY_gz9sagB6X?MyqO!?pM?x0arT^ zlEg36HLUCJ)hYV9D=aKQ)qwD{HI>CUdHd~eDi1;~KRW)8iV}p4oeTEanS*}-^9G?K T!%1Ql00000NkvXXu0mjfpU@so delta 1110 zcmV-c1gZPP37H9y7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1Q$s}K~!jg?U~t< zqc99bk?kNbr2qeON4hp(9B8~uzeSbls-(Ebk~bvHFnsOrje<3+jSbd>Fq<0YT(#c5 z)DlFc{`JZLl?0Q^D*m+(*n%v3&!390?vK3kZ>OP0iTs2_8KJfd~38EB$ z`KROQZ8C~~FJ!Oh(Y<#>PK zamHH-NO_TNw*iK5Ks)4L``Z7ouKq(TULH%NM>+D~7JXX2mnT`*`UV2MngLOPY|!(#7ae6~_g3$@t=i(Sj8p_5zoI-voecd102NMx=(ScujjC0i_8ztnw5%!t zumOO7WD-~l_#L2rJ#I&5B_Y!)Q0r6$h&*ip*vC`hoX0Gp)HOPVqdnVmwu3%}7LuH_ z;)F?U$&v#K=nbUdA3(-n~D*2q~))3<89VsTC-LLi` z*8LxMSTTXC>i%mNuJz?Epe^-DsEnb*h1gkZ2ZYYrpTtmX;Y@cCu4AY$?rT2`=(6?& z!MI?1T`)Za$vTYt=^${{-D}Zz0Jfers%vZ^uvG0%KCN90MrTj!|5gX||I5(dYrmMk crT?@21LO!XFo>1AB>(^b07*qoM6N<$f)h|Mm~sC&oVX=bxVncE9f53sDrsk5z&RvZr<8PB<%yf88?hU5ErC%cLs@ zfH4D9OTdHkTY@h}NJfC7?8>DG0RD(%A;w+e0XibS1+ob+DsD@W!3;=01SrPijRcqj zH^mG`A6pX8<~;MTu2G4?NGJ2vgFsZg<3nioPG z%yN4g8rNEBB}4);e?oH#kpKm0hx2RSTcEOAsnb%D|1lQ`Ww1F7gX(oTipb2)ZyaJF zzPucEP;O3VHMG6P5s-Vq1efrWCYvN+K>PdGPBrcb8Jp}|35_u08zp6cYB=i-j}Aai z!1JYT&G>Vqq;v7CFC;-L2S@@==Rrw|fKUM^u-0``YnLdge~$>bC>bSRc?ObG&PpG3 zUv~xwrKtoR*mbt388`pAMy1=%Wx>sYY7o&9wyM0-z3P0Lv~r*yQix;O3D9GqjBE)g z?XuD6o{mauEU&%b&hI*AA4#Ipoo`ktr^&WLpw_zcl?F&dm>bt*^|e+K)Ic&`8e002ovPDHLkV1izy6(Ils delta 601 zcmV-f0;c`N1=9tPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0xU^HK~zY` z?Ua#`7JrnuhMddd_b{qqAby$N3|5W>gSAhP_@O!@Ire5_@3EJ54#sGH(){N`3jW)_ zXrF}m(4T#N%EkS%f2UNQ=RXz+p~#+=i96*j&o}eHccl`D9J5_G0N5BP=YR+AcZ8gc zka#~w*%WgT20tH>%*4369N>#dy4t0N21xF~h+pmPCYa z{c|Eb5HE}HK)NjA8ki9g`Utxb!0ikmoqx?Sb}vIaR?V-eQ1PfV%az*ma&zo!-&*Y? zL<&+uGYXLa1!?-zYu7oTbX%#@T9f}VQwT+{I`+NkY%z#PdFM9?u~J`N_8TZx$CK%s z&VS+n=$#TuYWPW$O%gDm{oQM8YJY@|Ir~OKt$2K+qzKUTC)?t|11Jf2J~s`IzeGwp zQ_uEH60GrnCg6DLjiv|)B}f7*Th*2IiIVz=fV0t2@>QmwCFN}F!FE;4Ku7=p9oV+6 zsHx=2NQ=fctO{1Oy1Uys2pb z0081iL_t(I%jJ?g4#F@DhJ6DciLu7C*#$bs=Eioh@@K?h)HoP!0A^&tSmHVQCz2M-L5RK{PX u&H*Bi787(Rfg!6aV3kiZxxdV}_;>*+KAvP9dk;JS0000dc3PV($BFcjGr>9Xk-c#fDIrOI1Z34s zyX|7>ItxPPc1v#@F@`_HaT3%}dx48GT3ka-6CB(`0b9C=H+mdtX$?!Z;O-}RH6k|H z4D|Ulc&0@Ay%*{l}?*1|u>w}J8NT>AO|L#C<4Qr1TzCe{Wx3jaN5tn zu!{nW^*#VYJ*ik_s68NZuP{M}p+2@3z#^Y!@U>P1eUgtSDL$TLXtsJ900000NkvXX Hu0mjf!_aa9 diff --git a/graphics/pokemon/hitmontop/anim_front.png b/graphics/pokemon/hitmontop/anim_front.png index 65ef049e1090e319e8bb97fc3f4faff156e95c09..390a1f24bf18ac66ae85cbe230ee707ddce3b44c 100644 GIT binary patch delta 1163 zcmV;61a$ko3EByeUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LuEo6aY{u z000C%Nkl&2HO95P%s21w`JOw1?)DDn?-#z1Z}jbx-~|q&l?)sMtQoE86#p z@hz}jRc><7C9+p!0X3?fYN-b(HOvE$oEIoky-Q~)tEp)2`hQj+Ko)|q1*rSr?o!tyKQ*uFp279{OFLw~0INBh62T(qw@(ZVisiQu^_ z@5a{Jbwm}>V9Yf*;M|_wS(_!b#V8(j261mr!NN>VyD5R^1^K%nQ+7aJsO07aYcvlc zR&uI1CovC@Qg#4c7v=NZ(g_T?4=@7&;`uOtoxB~de1knfIrkyjg9vW`(T2#wl)#XS zQ8EYk6Mu;EP=Bg3KTaq~gKy^nfRvo1R6DzfGRWWV&jA+1eKSCA24WY}A=$sTKL33P zK^uuU0uW+^Nyp$pT1*mRkY*F0SP>I5iwkiWL4cUP`TH#qF(RkGenA0Q2;WRHfQW>> z42wXF0fsR73nH1(G{AH|+om)fjzf?c2TX>&VSm91pDc$10gyY9AjbkARir`!Le69; zg&iG{WikQd^$|r(@?s`TAIM7|#xhg%3vgUWmE}W9@q<95A7WMnBte4~OF1Rv=51vS z2^bH9TpWwCV>^WF5erd%uH{-O6{;I~gj^%d0Zg@bx&_5^a1-e3%R-pkQa47uTL7zX ze191K*ZBN4;NgZ|UR`|D*2xz(KV|Hh23U6MjJX;EH6}}(LWM(>uGTzksQ^b7?APq@ zD}@cJ@!We#<$p;5)McCT)V&&fLBNAj1=K|}MVe9=r<*FkJ4-H|Iy@wcf0+IBQ?I?ki0M48}r4K>aJ;0Za`W`dGWLFCqR^kN7p6ZDU=rUfFKK~ z0mg$-st3fV2MKi-sVWMQgs}!N!bs#6l$FuSWUGUyE}dd3Pqn3+Px#07*qoLj>z-`u zkm}SHpknzPuV~*Z#<#$BRk`g!m&jg;1=y%os-+&F)G!Y~a$lfG^)8*IEXSg_^re>o z83@9X|Hqk~SxPg6yic}vhkozz9l$5oKq*`PsQzpxSrm4%^?#?f{e80PSed}nV`l#- z7sV!ZvmDri;G!j0ZM$`p0o0EHF6{4cHEPm1Q0%-|iXZ`bXGG^f@n`$shZ0{zXdcJD z-8y+lh;EH=52ey;+ism1hPwc4c44Jk~Uk1KFxTm7(zrAKElW&?l)01zyv`TOkcbn_e0=UDRr`1|0C z6~N!-NtzNEGd>BIfWZv>B-NklbP$9t9?-YT06>JB#8R6LA!L$&JXivB2wcq(Omlcc zL}QG9e}BteA~?r`6k-Cv`9y?W!kj2wBq5wAo&n}6M5x6k zE!8!olhx!kpq;iI?ejCz6nsHvc)M} zn19&mYOSNT3NU5Eeoc?QQpCU>&+O;e{x=jrU5**gt$hdw=|rCfz^F)^;nL8$GH#%XOoM|6zTqJj?qv zm*@^~B~ZqV6^~=+=e;kNl*Q8=K>NE#SuYpx-0nG~= zxd72a(+SlP(D=(nnBzcW{i{Yr4PfI7BL1-&NV;SMcx*QEc7-j^H zB8bQEX)kcZ%6PH>WQ2TxV+4@{Oox*wAK;Tdgg9L&03CSf1vvome4a#5c1AsxqmD>V zNVkm7^_=EBNpz(HIhp4LxOS1>n?H;P@3s90Ewh9Bk8D1L00000NkvXXu0mjf_YoK# diff --git a/graphics/pokemon/hitmontop/back.png b/graphics/pokemon/hitmontop/back.png index ca3daf80bcc6d15d0656edf9d4a922e0ea22b231..8eb0dec800375b955e6e53480c14c35dd19078b1 100644 GIT binary patch delta 683 zcmV;c0#yB*29O4jB#}W-e*gz`Nliru=LQD^1p+~GaW((|0&_`3K~zY`-PN&<+CUHh zPzxy%aho4Fg;eO898@XM7Rdby;;WNCuvSWy#<~+CXF%@^=nVcB^v;0W_0u30f8mp$D|Ftos5JoF#+(2c_y ze0}(J47wA+H!N7u5NEqT`Q7m`V*7Os&W z;yOnIZttx~FMJ6ivf{hA#uBW*{H}lpbTCuJ=g}PTV6M+GD{JVyQTeXHWMaW|j19mY z;L#KhrpGZV+ok6VvsoFSyEAhN=gZ82s0GReQ0@K!WLE8Ff95L02GqBq11ryudB`@V z$#r#E%GmCv`o@f>EFj23?Wcs|d}j=_7@t95k&bS{9F|G%Jf0gM+6d=Ut6m%?TN8zjN3~2d*1!D2`9OyXk{K` zPkLy_VGX`M{yGNjp%g0~q_iDRHh=Q_<738Beh`p_X7_26XGfqdrPRX_DaEA>K>!>i zxRX-E8muV%QHXGzZ|CVj0+IjJAk?L3ZMKN}TD*`^o?~o)i3?SK0AigZCa^8Ry@`u( z*w8BRw}lC@ew_ki6sv-V17V%Ak$#yTJXFTfxfQL>J5bcIZ=gTXUpjkvn=FX zgGG<)Ezj17PJ$_EjsP@ZJq{iaP*|Ws1po?73Hn%S!0A8B zIPWJK6j&}grlOw|(*TU(!Cr?eP%zNSEqKENl~8U~0qPik=Pu50$*&8zaS3p5lmjmb zsN%-It`d}}&YCx!44uszgGz9&?CG(@I7=Fnq!*XgE$&Uc`S-5t=m@OsNsfRA2XjOO@3}0` a`wLQa3~~Vv{{F%M0000t9i-|76{C&d3c^i#OlUWJW9oAl}_iAsN~ zdq*LY*u#f6GR0%GP;LdK&D(kuI+>8q3!uLM1g@mdEv^Q7f34Z18x!iUhR>&6f)+)c z5A7N$OF;|_!e!MI77j0r!GRl)P8sZnA!sd}%Q%A?YJ?@_+0^XPaZXY};r%2Cr&p|1 zED07@sdJ_6EHS6H^LtRb54#M}+24O+{#Q5%V2J}gNGxy=?Lpc(4x(!g>j{TGldQOp zv3P`awq?YOPSX0EE|Vd9PI`#!_jWC^YIii_bIV6Yi6f7INDc$}36Sm}H-L_S(48qt z<(NGWJ#fBtI;}Y$OTt&3=FHUjhyw*cG;;uA;=!Hky;}gXReGh;*}|bzr7;{25eD{; ae0%{Dh1WnXTkUZG0000&zWrL%8`%O^X&Edt^Z&06i=r@bOnM8(xeQqN+hG4 zml*(7g-}butdg{rQH9?WBvqtEA?%4Y6KRp5Q@<3u&!`F_|2Yhmi87Oh83{78)NL&e zKxAWyXxeO2nG4&0NRY*wB-2d-Nr%mpy$RG{BATC(-aiiO3UxRO>SwM|UV_KHQ%!_d zg~d^P4%4g(7Ziyuj0B$I;1Z4E)+{o*O26W>Bfgn;;UdxJe0%Z)9}nh3{I@Z}7k$@15AO#Q$Ax?r|0R+iXp%4TcAn016yvGg*>oy>W6XF&S=F1L5y1x+HL6{=_!x0Xq-aIVy9G$>0-&`JRX?U+D$Ui8aK z$QyJ=*EkPnz&W_4*61_rMMBQ!c62K)(6|Yc&^-1lA!jpR)=eIn!JEU;58yq=%olnmf@=v6F?cf0CPNpB-1-OFWnSCmL|+Wr8S|EmFk?| zAyBzq#2gyAoigTpOMppG5QtRKAPf`31Z3B1;9NwD0F>V2<@P|)dkf&4azYi&31n2{HayP4R zC{$e}k#zdWx27+s;-(XKKgUK8Z!wacZqgY#n#oP=kmO`Meo}^_yx=Wovj26@>78f< zT3ezL^ENHrslzbw4%Q0!x_4s#9h%^!fB{4~w|`SFz%DI8h!wR??4hfggclC|9HEo) zMp@$)De$(T>UI8dSmMwaJbki%w4}^^ZfPa~l@1k~4Ag3w9};PUd37}?EyIQ&1$EEs z2>cjUk3f;Z`ETT?r19;4kf)kIUM8e;s26B8?+Zj(q8b~I$acjWw+JBxO_y*p_z#n5 z#ecCUFEa8yxCFQf0aU9@rR;K}H?kYY_Jn2SU*Yz}0NjEAyUWED8+m&;`t!Z?0~nu@ zQi*65mGbYy%h?PBXXHsn-srlK2*Sj+zkh-JznFO;7|qH}n?+CS>SXvWB=~0Lh4^<` zW~U$G*SWZ_T6+sY^BwEj!){z~%G=DE`BOBzqjA@DVhR!B&)Xn42fwhQv?(yl#JH}eqt@Gt1sk0Wtakv_ij_q`MeUV+a z=5Inl>q2N5!Qt;Yf9VYcHW#nLMu~6WA_?T(9$X+v)W42&B4r4ljK~!v2(Ld1VtmK2 zWmh}64@4#iw;91Vd`YAn^SbV0fbeL99Hkq_ZI#EC3-S2!9|0k^@Ig zM5+Wp2nhn*K`#=Bn2!mNARc(;x^ighHN99#%V7u~5EcZXaz$5)6*&|DAgmWdK!BUP zt~{?)mx2V`QA!Oi!G*WNC8>g6Q6uOF_&@lT7W%(uCVKH%BFHn5rkVToh&iL9fuTK1 zFRr-;B@e)pEFmsfWRYMws((KQhiJzDq*lz(JoCvevyKx)Tn%qrAQZ~H5XcAIj0ryT z2_@_IYQYCq+`08F8Rqad1_;9`GXCVw{o!V{F`ELI`r zWQE_P99S8^gGU*xLd;MF0m2MPtJ6UN<{%^Xvh;f0Dn$?kPA{6fC-ACZ68fqc5{C0v z;EMv+x2VU>35o9D6ick`Id2g_%0yzpo~H^7n;t-{5V&Ld8UhH+Q1LcxL#B!e%UMv{ z9v&o*hiXYRHEg86+<)op%Q8P8;QkEpVBakvUjV%?Hf=(xZXej+f!&sucwlL~wkZX- zn3$ul`lA6MPq|(X@PM1JCl~)th%$XOL_y}>0uKtRUVB29XRncMy7suVUCl1>pnUj; zOn5j&=GgYw(qx&JeLNt%{G^iJST_HA#~yyet+b4r7x6&jkAE`N{942=hG@KxJ$OYt zC~yc6xhYqNz)sMruVxE8c$urRgUI@yx^LmP?Z9|FJg7$bLJ;=9<4-+7hzHG4RB*sK z+xucRi{Qb#*loSX+aLGP`$Ig4*`n}0*DhavS_lvi+-@g^C zs~#SFV61t={pSX5V79;mAc!My|1d=ABl8}k*B|%nlV#Cli0=P73~|Ng-Z;8)uYUpv zz|j3e!Tjn+an5{K?)4ofd2FzG>MUGub_o?MYVJBtr)#tf@hqC8kh%;Prq}V@KfWQv i@M|~O!HR_c*YiIgZdY?B_;IlS0000ZPiW)V9mi#|AWQ>}oHd!#f;D5@W0PkqI_``; z9YN_9JNuY(@gRJ3JSi`pWX2SU_?;HREDW}C=%I&N-rE+uj(iwsVb*K+Pzue-$uXz( z?9D7}CjI>+*^-huRs>?@ef@jC-|zkTej*6|Be_4`6Wb7OJ%5rAlQ-bUe@&(XvG)yk zG`SS4J(MN*EJXyVz3o)me^s7kHg`e+WAM3@QntVRd@0cLN~IJMWMi4Vypq>i{vXzK z(-Um@Dard(A=M&Z3IvrG^zD3El53tIg95JcS|BiVQlWvML>0~C<|^qm&Xr1q`ejKm zTFRlI6%i=U@_$}gF?oyb=^E$33^)hZ)Czryy@<)#%${yW1sXSC5}L(+#pHDA%c{Xc zGq`h@I%bJkBWQ*V%Ud;Axs-x4gi~;{H1s?z z)w9@z`&F1BDu9r`)v=c#pk)HX+z@UFc!fw5dMQGYMSplTBLXOc=U|SfkYsXC=Y`t> z$kKp0sI(!}(^8e+iGXErJ&!rmGkZnM`HldSpdb*bqC=J+5#+EAsBK?CwQ(m&!cX)( zc5>tSM+8_n*DIwOo&l*?fGPOr5rNy99SN4ZUcT>E5eV9CSCA_fp-~&cK5Q2pSC@+w z@AV)BjDG-qz)tR`6%K`}%Ov7Dt{hjX-M)RAK_|NxD~sVd5UFHS$gO%=$Yt!A$`Jh;nAHnuA?hfDmhH zl~_YZH3-k0csW8R<*lN|O_JlSnyOd%!LY!gF@JdaWbbH6sr%g23<4@0DmECX)gnJ3 z(iU^;s#98o4MB41q1zGoGOQkfBK`AU&rnI@yZ<0hG;h2}NZ~}!(Q?)kh_XaAHXf1P zk~?k^LUNie;b!n2CexB_O`fOZdvFPG0|KaKkxJ>+Mz5#0`qqS{=U6I# zn4bSQo6U9!`%_77oQ5_~+;%Jr^8ai;2f;acoRYUXPAGyfv8-<)|1ail2u9O#!(!pn zx;`0x2MNBKyCMFal-cxMWETtKk!l_;1%Hhr{$fqWrya&>>(1cAPa%Qj)c)zzM7HisMpI|} zh6$6w?0vWk1937CS#5GQfeuYA#@3tc>Lw6;Sg;YKCvfxqtnMwlS*_Z`4+M}2}=dsIrM z12*sk*$_bh8ITM(YAjSG075_z;0}78K*VfBfCTZtHP^KhL$B!hQc?~=cz=MfBnXu& zx{@!+fdBwuGamo~+~if|S*g4d#NdunDsTxdy%jD=75s|U{C zJYz|kx?c^MGdda=+SBCnnyXXt06b~sTE1YJMT}*r{s zf>5Lbyr?BLVys>nIWT6)ZG_JUwy9}{qYhInw~6p$}~-j|y; zCY5)Ot?$8Ziz_@ZHGf{&mi${x%+MFT(SVRAT(A0gzzx`w%YP?CnZ6jJAa!qv2RT)* zJf^F&S5G$_Yh2hZr&oATJo#fPIGiH0Eo*FQvdoJf9uQu9TuN@On*W1s4Zr1PQpU}T zc%bozsd6^Bg}VJA8t)?)UJ(y+90G)H%Jm_z6SV59`4SHfGJj=u99sXW^BTU}@{QNU zgL0TJ1mWm={=^joc+ePy1;?DT!!PFZ5FWgV+}4M@_5KjOKfr^CEebzy?dsseQh<2i zbi&3Qw+H5;m6(U{z&h)N6u;^_&UdxMMFbDR?%y3b?{ zJQz=5fnM~241fC05%9qE>~e(%LfDmnqL>5FlbFqXJUF)^ZHzku97n+oSS}=TJ{i6Z zyZ?lF(V90Mz=P)O90(-h{-WPCw(jD=JH{Hf+<#HS4a}B!00eOg?jM9myl3uH>-NT7 z>ufX`qWixLLR_#7@7N*;F-9Ne^#Nf3PZ(~Km|Lgf5A8uE3cWN`S*=f7N| zf2oWQ$k^Wxgd6tXX#?&g!ZqDaDU@!D0|H7JLfmy6FhWXgD0O)iz(kc32sPhK5V-ru zMbK{-Tm?$wYqjF=skhSzP==|0m{nbb@lTrp<&6-Ck^!ngxW}O=MQT!bD4c;}0TzV_{fV%8syNz>Pqhu~+4*(a& zskf43ATh;Xv1b~02{{0K2hTL7>;UlXv)e!n$N+(#KirSEND|4wZ}&z9lK~lElHeKV zz2wvX8_)w!gcBf#9zaC08*z+u=mEM>)W#6X3(%oiPChzgf85{Jfbszk?9i6VfD;h! zYoMo7aRe$ygs9!eQP;~*E#4S(7`VY@IqrLytu7-ybXXq)ZX;h0_jbRyG++QF&`%WM z-QHSTHH$ap2siW>Y=&I9v3Av1h}p>?2%cW-I4}hQnLQ^lo!v(5E(4*pFN-iQ3Jj4p zyVRj6aD)Tif2mMMVD+Wh)?3sW2vJxl)Qe41rATI^GjPD*tQXs}-kR3iD)EXyWtYFz zg9$$`HSk;%uO;ahuaDvAXn+73Y&pa9Lccrd2%tf%*Q^87Z4{%y;Hb;KSQq#v&GQ|~ zSWKP3d_F$|DmU~|1BkJf)sDi5$Ho9(96CmQ2W3v3CFVwhyg2l^B3)A&rx5>o{s1r0 Vg7WZx*v0?=002ovPDHLkV1mBxJCpzb delta 697 zcmV;q0!ICm2A~FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(nV9K~zY` zwUxV$+CUVBT_BAjxp64AUfuu=5~SWpkhfuXkq)!#3W~T)XN^5Q+JSxrrbuTQ{2Wn= zC~dkZ=NxleX@(S0h6efn{GY4s;D4O34(hMh^sIp8_6o4GI@NmYlSN#twebUC_Nuhj zN~b>m!Ko$}sg0vu=to{%JFyyb%IXF+ep4_c#=#NKFd& zg)>l00Jgc#mfBg1AV3abW3eT!VlYc1 zG9Uv?5{JwP{#+89E40Xj6x$wz05``ZRkKHz~J z+EN*C0^)rG^mHnJ4nXaQ5ViX_>Sh`0#T$bT12?!VhkXyT)n%lI4(nsUZRG3W&h8eM z1`MDC`iUaE+gWSt^Wsf8!VUcen;}c!@NT%|~6q%*L`;H($hlir#( z+bZ#jK&8yz>cNDcmj-w)ir0$ti`U0+bTB{w4Yr(NdZFJPbp+5L)@#-Qnl_5jU~tf7 zU#ts!ljeDeG8WS$FrUv)fXWSh)Bs|vWmQrb@pv}C7l)2fFQLk*)7)r~7l%Gqq-#p! f7~3_} zpQsdctulyOE2U#t-UA+%VQF{h<^X#FJm(;8@-JxrwDgSv01Tned*Gh(IUps7rs&yI zi@gq=*R@Ush;ELH5Q2_tZ>cVtjb!409k{bNtI&>dvQE*o@LBc$%1!e*U^Gjdl;^BCB@xx65HA=q7YyDx)X2xMD~9(k2=q`P+o0BV1~ z)L!VR0x7;|2L%-TI4M>DT$zF&nKDcVu?eD72HHXgT}0qf>`8(SK@e$zM3kkR zz6QQa(B!E_b*4k&&V#Y^0k{t7*tG-4^qvG@I;8%1gt0tb+sf)+2uN5Sk}P_6&>=h|3imwzL6m+^EYOn00000NkvXXu0mjfw4UPF delta 467 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 i#bQ7_AFGyr$HzBP`NMoDoT=*o0000s&0La zbm|rlq3*tX4MT0=8~}O5YDhS&(c2 zaRRnrAes{Tetd?~m5>VhY67(b#~84xZsQYjpmc$1iU3(zYJcSuc)31yCI&qx?w1#n zXHO&^`f*}>e?3u`5eb^+z$;Ojkrc~9$|PCNAC4BH)66nx#JnFS2M0vFtY?yzhmV&7 zV6qoF=y_BfwG{O3hWlm(m^|m(J8uvDPiwup`@6gthJm6`Xnl(6oosEPW?@h=_>5{b z3u8w;cC6TsFjm84kkxf7X{FbH}p v3~q%1bKvQO7l!?awFm_n{a9V;cYb^WQu)Jth|p0d00000NkvXXu0mjfpm~?6 diff --git a/graphics/pokemon/honedge/anim_front.png b/graphics/pokemon/honedge/anim_front.png index 9a5dc7507809643b91813b1243b272fcc0da2d32..7dc77464f476f9fe43f158752b8ee6b9196d6e65 100644 GIT binary patch delta 1000 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 delta 416 zcmV;R0bl-^1f&FzBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(t80ez8)9)AEQ zh;xA?<^Z&1@8qnVGIpmYz&SybL-pB^G$!_A$k2LVc^~i32=f0aTZSy zKp{#I5X5l;j|54814uB@&k2%1$LJu4AH5Y!dHRsfQIKYQ;j5s*=#Aqb;!CmiRnR>~ zLg0YpLL|NlgCOZZ>Z#CzN{AH-B7ZlamtZ{~0In|2Ly*zC3z!zVd(MYJ3I_pcDmI+= z2>k_7wuCk{@eGlP_HaITf-VmG+$>xm>fYC4-RseST%1Mq>Huv5#=O8JV6|eRsH(&R zR<%-!+2FJWU7?skyitrX;s&MCVE^S@Bvhz$0#zRe!1sZ8Kv6cPf(L|8MRloQh~{X6 zc1nGj;dA-YV1R^42r2p{E&!0azG~6}WTt^V<~68q0-+h>c5t``r+=^kdj#k%2SIOB zLA;Y&6ilU*9~Q6|5$phL&p>zC15yG(77@VfQ~7Cu-dFpFhmapmY2jkR8MWI00000< KMNUMnLSTY%b-2a= diff --git a/graphics/pokemon/honedge/icon.png b/graphics/pokemon/honedge/icon.png index af720879c8eb52dbed7667ae89255bdd8f6d52ef..cfdc2674de4c30286688882e708ac50ead61c066 100644 GIT binary patch delta 300 zcmV+{0n`550)qpPV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1PLFG!BXP@ z008DmL_t(I%hi%S4#F@DMtuUTUZ6+lzyaEYu5@Wv5Jh4n8`7Y~9G98>STnAMn*TD+I yba28j9h@*+hb35W9h@*s2PX`xw=fKRB+Ls83z3*YYK7wf0000Yi;1i8XD61u?mHjKN%zkk{mT4_4*GII9o#Y1phNGFJwXSX znHqEm!k`Xj!Ki~526PC*fDSO{1PM7@%-0?O00fFjL_t(o!|j$&Xd6cq##f*@ z=;mEH2m(21L=HCeAPqv;C!4Ok#?Ug6J;W8#t%zKO1Vfj)p%4f4=7t8dNIDo*7=2twX`t$rK)P2khGdTzu*H@OfXi{git>a ztt^b(C0V%R^B@pO;T!-2Ga3MvA3us&PjbZUkz5tujaku3<;pXb8;zzN=luI$ zI0vBhYRLzzH-Ekve4FFu&l1SY3?Lo=_O&t4(`H^(`~Ye+_md_!?Vbdh5_sSPT2GQ2 z1{a*y4XwHSxbk50YN6Ikh2+Uw4)ITq0cbQDJ^)GJodNg%@mg!H13-O;QDOkR<>tFF z!2HKqqW3lqUjuM@+-a?|KwK$147*37 zbqCE0u`~Cy+ylVZ{Sq+qC?y0*cahiyVEW2wE#gF7bdl`2c|q4!b}(G<_GA?kq37>s zQW=~O41Wm;a8C-Onj*J%O4}KXliY06VmybZPjUWb{TWZq~oBEbAZQ{Xr-Z zgYV4_Yu4tzWwrJ~5)8KBlNp|;P}KmiKbq!aKn==&6M*RA7?ASrcMz>DC1TXafHV-P zsQ@s|xt_lOh^j=Wvfu$C2Ioedj%K>55<=8Cjb4g(%eep|8cfn;JP!Kr0nnbd2EfNu zT7R6JoTYIv5YbENMZ-eTs2{CTMa!gk2B$K2nc@YcpdEeU5E@C$=V=03h!JP;U)?X6qFXAZOPq$?DQTJO?0-NAm9VAbA3#`s>sgU{-N!$p;vaqpKx) z{5cp1vwG$*9(e_YbJ4|#BW}VI^yo4cJoT%BbW0pPv6YW?a{!< zkG4UFFuVhI@hoYxpr`<#6zeY@?sBt}ExW<5ASPS8xbhyho2632g552TZ4KTgUw@{t z?{s}}lDS0=)0yhh@-gpKC;4OP58`tcMZb;!eZdbD=0%6x2GuGG0~|K52LNa}@DNl% zx{v_(rC>EMtVvVqUU7$j&ieqgFFh~F|5NyTm5@ZwSMV~Zzs%c~WkMv){R&y?gMmo! zXYQzujNSL|v2^fqoA75R!*QXJ|2)Lnb{}TV$@TJ&?1O%PaPA)_tV`rb)SDX`%p&PvWFayQ&80o0(lI8uUilEb7+UWwN4L2Y z0zHJjk!5?eE320t3iUha&%WQjnVoq%-zP~o@m~#DnVFtfaerbepkj=tm5?Eilan%$ zD?m%mNVhI7T*k`M@JmsY7$Hd|eQ_ZGD41ZZBndHtK%~4h%xhH`Lm_FnVMp;au7iE#zDejmeUnLLjVr~K=Vmr(_oyjnxQsUAD16&jW5(jF`qbn z%OL;h2>|taJpdp9yffhbKVGYi4FJq>Kq^uI-ZJam2%u6BFz;<1y$0ayq}|-0p}bUb zDfUhnI~w42lcL}NFbU7i&%-1)-{AIwTM7dbHBmSB{(mocR6;#BoF6iKFKV2(sYE9f zkd;~8ra8{{sB7!G9_oHIVb#16UC-XT<9f_uYM}dN9Pid#w8;7H!qZY0fI#;Pz{(Jz6ZeUk{?*c@fzJw#p(r8XKzv>t&q`SS8vsO>M}Uy`po3^`OR`ZL0m49NGa+D>F+F<;5Ji$rX~_r3 z24hA|l#sz75JHrg8MzYgrh5sNLm*L;yC~@Jd}682gwpRs=wCG0jq+WD*?cO8XYy>WzWGtSe0{!@yG{&9`Fv1 zA2SO^&?|F4*30EFc^5z~f9D7mjOo7%Ab+U;hNW`={)GHjXO+31LIwg9RRA9h_QQvB zU~9YwBQOUPKRsgr46KFyt}93=M;>Eep1ql0*f&E*exwCDgy9*Ohv!L)hD8Mc zsZe|IaF1E-bjb_91yRx3h1`3XZrT(Y7Vd5cv<^>`Et%2pbbWb}xkWD3sp6TX6MxpN zO!CLVAH)`H6a6{_^raw>U*v6a8&s>n4RF}376PEJ0z3+sds^A;(tILQ<#Qdqiumz%LMUI#X|j*J|v36KWRo&F8jGy%M7S2OSl zo54>&VB}y<1qi_}0Y~J0kRIv6rYvk}01Ut8z*x$%6-O)!$bl?3C>{Jf9%Kz5-RNX1h|UHWQ5O6Od_6V*=D6ogfO(@L zeF>NbR+MedvR43``3*q-2>dUvb>Q<%8l8Ob@lzdWRYf?HV`jCF-|B$XGCO~z!&uh< z3i8_m2RWAhtzu@y)G40Q%38blBo{a^tyTF1>Hcg$2nHAQ4=x?F#5A zyptZdJ1PK^fGv7TCBrfYQ)+)TlpZ99kb;1LQflpV&IW3Q&h8;fDZ(dk2v8+}25Z2_ z!7cPOeSLDgJpxImG*|-x{S@1;^&1k72MDYRfbCI-MB=vTB5-Y`yRQJ!a{vuOoG}tV zrJL;4>Qn-N?^BKm>Hvq32+YADIRUp^zkUu#qRPwzoT-|B0-Cn*3|kRM!W+CCuN4W{~8Ve0000F940M7gl$aLTR9RQ%)z=_`h>k$BL z`o^yx16TvVf{p0tZvboPubg$IXW)NV31D4c0eIF$K-`RY88A5xc+xe%>_pQ^5dk^? z@APK?C2*p+Ax;1o5lSA}ZL>}QOHfFA2+OIzjLk#Hd?4gJ2RPxR7*%usVvB^iWCGGF zzY$~();p!1^dS3ZhgvK<_{rBm++4{KFWx)IZOe4oUo{~Y}iwH<2g2J;)iHv)`p zgu|P`M(lAU%fm*yD!^t5VFdVyXPXJ67m&*sd@U8gV+43)GRXj~-5D|lTMYpYehbq8 z;?Gr%P(UGc0O6L3GXk~#!sv1cJ)qimfHebI<2nL7K?>-;K%7#!m0-PKyI&cVpjqkw zsE3pVA^`1J-ZfKYJmtQTRpNe9zx9x|Bh^lpRTaSmi!*+lnbk#&-(ohx6BnES1|iga gJrJ(=fBJ9w1IidG9bJB1fB*mh07*qoM6N<$f|2DVZ2$lO diff --git a/graphics/pokemon/hoopa/icon.png b/graphics/pokemon/hoopa/icon.png index 29bc90518bbc26d1a7bfd7b4ff4310562fa80805..d17cc7b92b466d6e2a61911a5ad17aba85663774 100644 GIT binary patch delta 342 zcmV-c0jd7H1K|UZUpW8?a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LuWkOpl}$ z0003*NklQ88pL8{fNF`t zs^S(jTFRs{Z7DkEVIU(yIteZOnq?W+^r!=+NK=5IR2?9nB2VEZ@fS@8mg1DXo+Li@ z;9yk4ah^D6-qkhCSXEq@!M{9&xrcU;yW3I7eU|iB=#6&y)O!TmgDkHubyl}O_oIn_ zdfH!FOa4pgy{}Sv-|Asr;wG|kLROM<18B1i0E);42=!V@Ya3C86K68s=BfuSrV#R| z{pdt$Tr&n)a=qviG=67n7L<6{gV9?$d!CeN`W6Bn&L)M|n0FOGJ{OL%?qdz;H5==` ocEhPRaDNwvf&05S{GR*Y#8bnGIXd?ZSO5S307*qoM6N<$g3&vag8%>k delta 305 zcmV-10nYy61H1!}Ul9RENklvPRk+&az0Dr!S-UDmV4h2F) z#Gvho1TkM3pjuE^Rm_4$3z1Z&EkWlz3`7LbNl4+>G|QMKM;$16no1dzssr%J^Hjbh z{-Wu?lAqGolf=g!9E@stoF@*NcXcgiv??yl;9nlfxrcU;yW3I7e46xE$c=W{)O(b+ z2Q05Hbyok_0MQzM)YJabTKF%e_r6NReLINETEtCcVA*)P8g#HLfX@S#rJT6EuFObQY9&*n`nqI(wd!X!;ghKAcSoug?n* zC1pP6j)_v`UQ*Yq@E)E0tcX9YV_rC$eQ^Sc6Op9gV00000NkvXXu0mjf DC9jYX diff --git a/graphics/pokemon/hoopa/unbound/anim_front.png b/graphics/pokemon/hoopa/unbound/anim_front.png index e0593d53a8ef9e0db0b3dd312cb9bf683a35bade..6242d27347a988b8aaadb36d5ed98610008bc5a1 100644 GIT binary patch delta 1854 zcmV-E2f_HB51kK?bbkN`bV*G`2j>O{1PU|>Q21Z~00#g`L_t(o!-bc@i{nNX#?>PX za|w*>h6$6)jO?Vt<|6yamSZJ{w5wYUdzry4O+crtS`}FB#Vt2wm`i8ep)FsVfZex@ z6Yv-oc2;fop>BbYg}DTBTiE|)UrC*5yDfW!!LsV7datU!dVlpw+d%WDf zr54qtN2R8=_%r7eI{NP73nkLL{blDIN_R?2fO<^&?_T$@9T>ZPf+?v+DLPG?pE}t7 zje5*F6ZIYNumU8i+`La~)cFRCo$iplBV?ug;Yd%?c4i*+eHz5jn2>|hKM8=r1=$sZ zGxvPQqXDl^&wts$@HUNxQ6jsTmP0-KP|h_tX59rqX2%^J6U7YivUv#!A%a-s)l(J$`8%~- zlq8d5A9F5RWPqh5YE+5^d@6`wre$bAt_%RN2@?FHIDbne^3c=luLnKOhKB3S7Kg|m;#peaeyR;m2pu2j{g5&Zpo9ztvv#U)aI+SI|xtT;F}%m+q<2sq>F7 zV)%977Jq7P9>R;-O1{aKl2-t)Xg6+2bR80M)5srnV^WhYLg?~SLw$<&Q5gV$gIx+GdOa&l6(Qx{q zVNz7#XvoMOr9m}aheR>*&AmepyJLvX8RqIkh9D4#dQiW>4(KckaOZ~u02uH2?#xX> zbGYv%{TI^b@fLr%4%Q zq&Z>i5Tk4n_V9=tGllF3t+R#zl!t&oSUo~OCT#nNgzd_9TlAWU7DrLC8e=VYMSn486q0tI ziVbeQ`nXj9{u+O->DHYhnO+g5CCUA0sL7CdT;4ZCu-C($CS_m11pr`#+3o+Eav>r4 z1oc*45$9qpZ-3(v>+L$92 z4Z3lZ&SoH&qs|5Z?MGFZ2M%ipVL$Mb)|WLv3juo*;Q7KFtepsFE^_poc+(gub%V7) z4xIs=&pFT1v^Ztu0R06IvJd}4DmHP&g{)B|2f7>s0&j|0@wbwv_5PUie1A5e_Jx>Q zeJHD$fK-_RiX{N;Lp6IM@4upl^k_bDKb@?Z>6f2uljFC;zp1^<=B)?v8&doQfhXA= z$WO4i)_?hR+Cp!jJjejlXL;q3?S9?k@GL7$`D3aO8|B1-<}=4pr7oUgF#x5l%rsn~ z1u*brc4IRW@KZl6{6nVZyAd}9fIv|R3&2?d}{#pA=)HLpJl9gmHG!mfJnyDbVC=#wkNH0SLH!miP*LdAK<*L_0e`BQ>+rnasJ=e!95to_{x{ql*(o$MbOY_-k_e}N}^0#GBP4x+yhaSaxp?awpMeiJ>9CjMMq=vSE) zLPpP#l)`A(&n_YLXdI^Bmusrn=sZlt32SP3FZB&FyVf@N4>w^jvQIViAJ=~Z@f!be sW0zj=fBwF~e~4J4-!~fo`11Dt|8<+L^fjH$KmY&$07*qoM6N<$f=M8IhX4Qo delta 1855 zcmV-F2f+B951tQ@bbkjFNkl?i)FTPMA z&6{6t(W7*uvIOXdq<{T-h<0G?<_V^xTb1NEH$V5#{+)ivIurdGcw7UL)UMvAo7DRb ztc~uFTobBR{d8nzX?wGPh9QkoXiP}!_yYkjI3wGF@a9421vKJY(^J+O-lWm6Dr6he z@@Rk`%DDlDtbe-zsO+#~VxpKKUM^2TWgFeIg`ryPz)TEfGeUb9&b$DhBtII9E)L2g zLs7XP0x!bbt!Z^}f~|w{_$dN>jv=B{UBqmMZk78PJ=i5j)?8a@?7 zG+VNKa8VloViP3zXQ>2G)L~$_-wt}5r=M||i-&K%aDR8h_5`4sMb}mc``u5Ja*R_F z?-%qHFIYIcxD1AtnF^Kaqg#NcH?8Q0zi6*>;Bo2T7EpS&_3Kwd`sJH)mUC6FZXGMv zCEZtw+WM1U|2_Ga-mCu;9jt!?2iby~+fVz-13fwR{`~tCei`^{n}Ka8r3%|VI2jx( zDk0mW*MAj~oO!|f_kIMhNkd2#ZH+kxrwG(^LXsgNt-sE3m9d_WXvjg#q{W_C14F4n zg|u=YtM|@M$oWhFy^RdOigmg}eWUv~8{h8`;`z83Vw{OKW&&7K+2D+^7y*|sLeTEI z&&AZATk#mbp%hO6Sp4_Eb-Mi%;zAv(PK>+eanR_qt<9P8sGJf}|i2NP4h!h7RaV2Ke*60RW75LVxCGA&RcM2&ml503vEG8)p&g zdyxRMkpay*4m5X4qvwlBSPjf!LUw%D%~Ej19=fp?X&6u6jx5*1s`4>}8_j%CfHy!& zFn@%zDRw6&S-fbr7ws64n+{HO6W27w8S;psE)Uk`Ksuz^uxEa|jXVNNb=^OPM!(-r z&cWts7GZgw9=;vA>DQyt7$OlM2Nqi4gG%e%rU3w_DfcnLCIWiW%eT3%^ec=c_0W6i zdx2$RZiQ0C(6Q8T!{Z*S=+jd|V*b+G^M5w&%h)&6Qf0gEbXudHaIcZh?@ovlf6v^b z5MEuf80-z|(gstzB_@K6aAiQQpi=(JGjj>U@Af#)ovvo?ECG(qgr+;C^ zc^6al4RKeT6Q?^iSxhgSTA2{1aoyyqEW5KYq=oe#U9_qdjpXk0VuP!%K5i9&Kc-(B zrgN)F=2wDgDQZ6%8Y-+>#e!KP*xO-G)&#``TmS%8EVut}%0&sOub3S8fHmN z{HP1@z-6_P0VqH4llPZ9fHnf|eLxTjad78Ecyp0s;N3Y9x&H8@JAoo913I5`E~{yA z%Bm6S3m(Z2f6+>mtWEQDO*V?`Kvz>h;9Xf3zmPrM>W?`u$pO7DimBa)s(&s8l-d-q zSRyb!T@?=5_3#bdqx zJI1L(GXn_te3t17cX_zQAVxVmKp{1A^O-FA)Ll>@9(~!Ej?Rv7#eZ@wSG=V_yvS?< zn6cQN?H8im@g)UP_?)MNq1dyrD60A+)DN(vKuTqvnhqf_=I*SzW(aw(q(Ij2oSLA( zKmox;lR^QaEGrO98b+gY*yI3Wqu&xBVj|`gz@A6;4F4Q#-c~3A@Z9hSt0u-i2@zRc z4SRMJ?gRm2^%SCuRewPJo*ljP+7@G%z+JK$!6SslE{R!Z{uNHg>cNNl!ZAz)$ZnH$ zoRtX0eE}34W|G}~i>>xKp)c@c&j4yk`XK5H5!Yhz$?jZw_S>j=4Dsjc%)F3x2o*I) z)(VqhU*1Btl5w1WpWo5NMyDB|f?R%}md|yA$}Z&|a{VC$hB*9GL;Z320g!DAp+BzV t(kuRt|44}6t`9@tBN?!m%^z;={||MWuJpN~2MquK002ovPDHLkV1hszj@keK diff --git a/graphics/pokemon/hoopa/unbound/back.png b/graphics/pokemon/hoopa/unbound/back.png index da608c63ca239c011521990dec734a616fb2c3c7..fb923c1b8ee93723e0b5d6a8b2fbb50e1afc85d3 100644 GIT binary patch delta 712 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 diff --git a/graphics/pokemon/hoothoot/anim_front.png b/graphics/pokemon/hoothoot/anim_front.png index e25d4a4fc7cf9bcbb12737a11ef89c5874fca0eb..09943cac2f63b91707596c2e3544ed64d9a5145c 100644 GIT binary patch delta 772 zcmV+f1N;2G2FeDI7zqRe0000V!btw}^dR9M69mOpRWKp2N@0TrXq!4_&+>`Kg~{OOuhz|_Gs zHd5&X4lf<(Qnh#uQU;@Z0V5`)vUuwT@`MyIIculz2|Bd>0#(nxCMEdJ9=fy@?_z(X z_tEcsFSeiKxI_Jog^~bKNI*q}T>0A{5kM74Ulr(psw#v_1Q;s>K&sMcsZ4+uk7}0H zWv+mU+Q70D#GXg9II!NK<{7J>>M4K&RL~eeO%$Pr5GwW=0VVyVtVnK4Ht7*5!=0~3-_vQt(NY zHO{c!Q+CRe{^le|r2gYl2wVy5*Y`9GIAH^YwO<&n>+A?5UFFtDkBP`48)X`e7+~t0 zGj>4Ao;r5iN64P8W|J5q`(?JeT+Y6+f$v|D{R5rHMC3VcEF6SzsDu6gG5hnPKpx(HbAaLfdrD*%63?o9iqZ{^PV%3-PO{{0|K!EDJ^h%JlM5=RR5UR zwZB1|RP=08@l#q_UCvZ z!T#}fkGFp|!T#K2wwkS+*yF*cq~n2*Jsc1ImUq7Es!X-N%H@H+ZEvWk;VahXKp*gHf@qlcP+#tJ{^XxuC5aiT@5g=300wF4hi(~ zn~wq8zo*0d&oXA~p#9s%fV#Hk0Be~=8VZP`CTran$eV7Yl2?iAWLe0{pbN~F4a%93D%OZpal43nuJh{tx2!~+oY>k{hCl$0tUb^`FZv< zMOBs{dSQ}rMgoFzfGeL$!PsR&0SJ)P1XB~h*62d?sKEQ&M6JMHt+-#9B^lLFq(d`zCw1K_M(@PNZaiLx^A%VjsHOQ`?BocJvwv zTR-GVBhuilkPWv(f{o+C>2ew&9Q`s#*d>HqRyv?gix7!dAQ!@tp|1i0uq5*lRWcbA z_Ofv&iNMZfletfDOwS67?3y5(0B-uM6}w))DFLI14>XjxB>|gIP&@~H(UdR@p0KI$ zp@I{(u=&S-fN>nXAF8^)^QQpc;?4FM4?ng=`1_1Qan!SYoF6R#54u0JiH|#ewv>Q5 z@agI5JzrN>S6A16R;TyhK<^R0hb_G~z_+n>h3{%R(95K|>xfI$?5+NYNiM^8bpjvZ zyO!P)e0y5qyN=!yd@DOQ!S|5hJEHFj-!=4};2Yq7yM^xp@?CCdZGvyFx2aX|&57&S zW%!<^aSPv+FYcVqb=DhJO#=qD#}BH6ej##?-*fVTEs{ zO6A7WMH$gI2Q0+2Q161S=Y5Ruo&87lF8mh&_WwJ2FX8tX@s8e$x#tIZcb03g>4n~% z9&Y7V{-5c+!vBum+Y?*^w;t$S8qjm4cN`CZ=jwnRy-Nc;|4VvrzTO{1Pl(D28L7s00Fg0L_t(Y$IX>Ja)U4sg`uEF zHWV(M8)T5FXc!AuDezcw<<5kAxFe;D6gm#$ai>E?ESMi5q)C-*srTvaYPAT*`IA5v z-L(M-*$lQe0~@f~S~4ITutL9gK+_uh8L&d_n#WkKZG-y;1b;i1A%t zV4lNmD(v^mP_M&{%aRZS5D+D-K&k*#1(Yg1*fg?X$~oO;&-$IQF_J4l7^P7(5V0Jc z32=4Qv=OzGa+iuBYW2HozN9ee^dn3WX1?K>t}1jlKIEKpGf-8W8-5124R7MMq5bDo2 zX-ya$p}sc)d|LnJ3Xxl{fqViXj%E2HY#nGo|13(7uysZ?(0}-LLIc4LT*l)|Zk_Ge z_*$8*NMP*qg@Y^+4g|!tZ;NoDz@{m1B$g59AlG4%}6#>bb`=~M*%e*6l)T2bnmsMB*g;HjdM z5_ra55A?pd-T%ZSpr5j;qPI!g5K_u{psJ*t`7^j~q|tTC|CO==V!F#W=^r!9=^Cp$ R7jpmr002ovPDHLkV1lW_+++X% diff --git a/graphics/pokemon/hoothoot/icon.png b/graphics/pokemon/hoothoot/icon.png index 3e439f236839f967c707d25103855c969fbf285a..800983e46f433842555247d241457182f711987d 100644 GIT binary patch delta 266 zcmV+l0rmdA0^tIXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1Pm&r1!9E& z006{EL_t(I%jJ?W4#F@DMRNmhtX!lLXX%m&DP!2Wp`N8nE`r1@7@MFYEtk45IG=VOrqa7F@a#K<%tp;vVUU%1PpiqvZX0QU^D2> zrEoxgUPjofv+t0t#*PmuS0D>lCN$F10w#wbrR?N3e~sJZRb$tanBDOv%&J4Hno zK$XV;)F_3qNKzPg`6LV}VN6!Skki88y)bQ3!f=D0!ib-(gqg;O@A+{Da=(kzEm~&$ Q00000NkvXXt^-0~f(jFE&j0`b delta 230 zcmVE%bCugDdeB^QmVm;vw1``$&|vf|K{$Aspb$>An)r4)ZeP{3)Fr)=VSi=?P~CS< z6IyNYZ;MvI&Q8hD1yGSO07V)!3*(^z(ew3_Fl2;rqY;MK3WN8;)C$bPNQ0ijsF$sT g8M>su%vXLq0CK;J)W!)ChyVZp07*qoM6N<$g892@u>b%7 diff --git a/graphics/pokemon/hoppip/anim_front.png b/graphics/pokemon/hoppip/anim_front.png index bea636b46f47222053c70f8005c1e8e43a166028..cb964bf326a0af9670d5937dccb1f2db8a4597fb 100644 GIT binary patch delta 800 zcmV+*1K<4U2IU5j7zqRe0000WlAJ8zPv2S{3VdI8`B9H5+wXD0!IC7B@`W~eqva; zJ%kZbJz>zHo-k-gsjUUD#j!v*f+GPMIJ)O>2Dk}*k3pyhAf>}d3k(hc!|rZ#l>I`a z{%?TEro`O>HW*;i?%kL>z#Ktpr?g8X#BXLqG4<$((k{WKF^Rwo$S@5_yAE&X6lWw^ zp5TGH!?pp<4jNosS;Tu8_zuDHxLbdRn`#kzZ+w>|B&E^YP91Kp?_=k+n~+Ihjlt^F z;ZiJC6NdyW&mjkxc8+>3s%n)nrn-u=@~*0`7oa3=1p?J(ad#~z&ctUNQ3+99@mvmk z!J-gi^Hk*W3A^>g=87#K^6*JKvTwB%D8+p#9=?hVmp6byh;`YF;0rlmVQqh1G=QSR zskq#3QVlFyVk18V9I+`lZ|b~O95rLhxma_~)c+h-ih{HGO4S0E<$AR$_~pG4nB`~u ze5pDJyssK8o?9%}{eu}iujjSTj6T4%`+!kzJln?s7&)V(fImuS{U!!I>D)L(&q<}> zJ{C;}S0p)z{Rj-jP?E!gADe$nu}(Vxerieq3c&DjfJ2D#Rhl{2A;?tk+EXw*o4Bu(KZlF=;GOsrb-I67AHg|M&qqMi zkuy;PjbKEY`c^PB^_^g-^JFI&x79k=3dUWo5$2eUTg+c>m``D?1@=LSxxIb7q+6N6QTC7fDu&wa(q~2g7?m2?%ix;bVwX2p>V1 zKnOqyag+c+&EdZSgfP{EHvnQFKRQyPn>`5U{ahcNBh7(^^=+Dd1za|#HqsNFBPfOo z0x>g%;KLr^*B6R^U7wX_0HLLLp?c0&2+<2+ErJ|*)C67J;w1t_kPkHn3gAW2hkd*{ z=TwsrC9(d1x%45#ef-j6)h|nOj2b)(MYT;#9dhULvMib9u>=a#r~z7Xd@WZ%DH(aQ z$W<(vh!!%wluHRk^qezseY~{PF|_(yzMk=vOIc7xCW!feQt(^>SG^RHS&!6)kjJlp zr6i%rn*|~IkB=>d%1SBq69D+E!crrBG4}&C9URqBkAms^o?$#tbmW>7j`OfSl5U-ZqF_5~Fcxl^YYNvoAT|ER|&cFjYv? zV~8ZIfSd$>z)*6n#!ARFbG+r8tdpPweI)A%jC`l8F|NGhjywKN%xx9!@FzR^!PW`Hi;k~{JbZF@EWvNt?~wh9YEdgz@_gZ;jm79|k$=7+oHK;JR?!K(o=0FVq={RcH5h8zs-oEi{A4#wVqKqZ6UEUN)A h;b7cx#~r=#4ZdR?w`guQo&W#<07*qoM6N;tV1ltDbGrZl diff --git a/graphics/pokemon/hoppip/back.png b/graphics/pokemon/hoppip/back.png index 8fd2fd9d614fae92a7d2c57c68ed6bcbb19d2aa0..26689b8f63e1a10358ffb89924064446296deb79 100644 GIT binary patch delta 588 zcmV-S0<-2UUE|0fwylUu%z_9lW_jbSoHvyjMj{i?6#3Zlah>VQ_?`5+(iY< zA&69NEx$%2z5=~vZB5LSBcm?iyOdm0lajZgRiFsOEQw<;>!w~OJE2a zcAQ278^SH)SIlEIe>8p!7S#ygI(Z%P3KW{rm2%f(E2X;D7vj+XCua!Ie6!*>588{z z4Wc#0IoQjFl1yCvtMS#TW(xqVHjE5;S_Ll_oZh$HT=3&RG43T>$JS`GdKf{1$o&=zokk?qIa1ka$2~A@w^P z0t;s3qSc;-LZrDE+#P9nGuqwMgFgE}Kh3xPRax6Mlaug($TaU0569za_MG5qPoJN_ aApQcfKhqW$B639l00000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0uxC@K~zY` z?UBK5qc9ML-4#eVt}S=~JM9BBbnlqjcSxX09v~Jx0X_DTl)dkw_1o?YgaBrR_5nIl z6zuutpMS>WEB-q?rPMmG-9~}RSAbmv@wBEOgxLL9=^+Fa+Z6?pAievXJA z#S?%Fu^nwFOda^+a8$W}5Q(7i9e8~KfgNM_8()Y=&eIX#itIV3!Eg~mlY~xeGg?5N z-bE$MA*s^cS$!vadW)OH17q+_DeIcN25~k3Hwmx%mIEL{3B2kqdtVO)mIO4!!?y^V zD_|(^Z#s1F~m02Y)&+8pxY}J;@VYy-&+;2Cnl4KCug+H&xM1}d#|3bj<a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2LuiXLQ_HG0002rNklm5drTsna;p@%Zdtmao(=E#|NUqg?^2-;!BKW|BZ4_aRL61e~qPucXld?zVrL zYccHtq;vPJ3fyR_Oqk8!WJ}{Hn}g?q<4tt(>^R~n@8O7uy%!+u@hbX<9?yqCJTc-G zyY`XqJT7elQP?tKd+>4saqw{gpbxN^60rK;#p}n9ZUsp5G^4B|qZ4R!u0f>&s>MZU z7)&AmWeUtF08(kJ@P<7XZkxcUbzmNX2n;45Z8r|g3$XE-Iz|VZP5=M^07*qoM6N<$ Eg0Uxq=Kufz delta 292 zcmV+<0o(rk0`3Bk7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S>`6pHR7i>Kl(7zj zFbqT)65C?%{r}(Amw;Lt2bK<~!b2tG=R2p6Tb8GOT40?5RpcCyDxVsI9z@<6(TwLK z5);(eY4WAuTccD?0fp^hCu#)I-C}y&c_YB-0LL@I=+cjq9vKSS$B%pdm%xmSn^_9L zR_oXtXV=jQWv71I7SiJRh19}dOJ4nlvmNmH@3C2?d#N=M=0fNM#U0(D6k^I0=Yx#AX q0Ll7?0Lcc!%Bq diff --git a/graphics/pokemon/horsea/anim_front.png b/graphics/pokemon/horsea/anim_front.png index 3094e370429e5f00ddae12ffed52e5b22d37559c..c003f4cc2acdb0258fae1030cd2e41b1142996b2 100644 GIT binary patch delta 641 zcmV-{0)G9`1;_=E7zqRe0000>N>g^8jFn zBD(5|oYJPrBe=fUx&l*Q;dOVC3(U*itfO?yxQvuA4aI)inf-T}f0UZye+};%kOqHB zYx=(Dfe=xvnPCA~B4Uu{9FUYH0V!4-5M2N)*dpKFE)kI5K>b8C4=Dz$4BrtyJ^Vm( zIqOLH-w;1;?p+xH14Ni@?oHCv;~6x`L;!F#XgULa-WW(2AdFmg4Iu{YI8f6%05t2| zK8^uzYRqbYO!;?*r_mx!QK=PG(Di@&=g}N<(%2gy?mPR;s@=92cSCz(fqjp8-&*#* zZU(!{@6LRNy&ZO@X&wdOurvI7pbY2Z4kX}w?6wk+yt6%fR}_Hx(393&%;>TfTlP6P zz@#wKRkc6ZZ_9y~3wttbV z-wg-iY(OKB1{nadZV^Z^7mK9v;2Mw?lD88O6`9yT(tITY@{@Hx=oJ}g+RUzWu_l;W b`9B@6=$4O4=Ul>~00000NkvXXu0mjfB7q+> delta 650 zcmV;50(Je!1_k`?E63OjSbmm|HVc+olcBesjWI+Y#=PdacpgE{r93pKZ_9vn!jfN!~!{j zB}#yUPZ=WoCefCdPG|tE5Doedl3zf^e^3$kGw1xrPZ`yh!V(_`?{_IApV^0Dq)<^UF1ZuUEnIqXgnl+gQkO`$DWW z0MJQb7y1XGwdVve0DLt3_={?9wLV@?7u9%${39Mj+qI zvUW$T*|)Z~wzjtZDbYPQXZ$!CSZGNj%szr^j$j9rEBJbL=U8?p;ZJ6=)DsE6-n0(D zjq>=YKz6c!BGGSu;G{7EAJG6H_(ZP`a4fnd#zbVk1LTH!-okz4<|M=rXq&$5e%QmJ zhz!I`?sA*g*NdOCgF1e-V2C+$AXx>k0tM z6vY~AP!d4$0MP-4>k`zbVlx62+8_YbvEpATV?U}KJ656#02SU*t7Ffbm>A;m_}wM} zptOXC43xU--0DRwMv~`Pc>6y1sJJK2Ny0(!PTu6+jww)uD4XDEFw-S**oU~ zd0sp4B0w>K?C4@E4uVZO3KS;_{!27*9*C@ut=gPq6M-mi=_WZqEKSqjrGZ0V#?c*I@TO@JrsdA-H2qMf#i pJg<%T+gt%};?~_7;4002ovPDHLkV1mv#!#Dr{ diff --git a/graphics/pokemon/horsea/icon.png b/graphics/pokemon/horsea/icon.png index 1df582b89cfcf6e3171856378cf3f5e671e8fc9c..75eede89a78529e20b9a276874db2842534393db 100644 GIT binary patch delta 255 zcmVO{1P>;Mo_%cq z006p4L_t(I%k7de4#F@DMSB8roeqpFomk-vT!bMCD=cseF2IsXU(F>lbf`)OKn#`) zWhjm(HY9{Me>v9o&nt@GE0a`DAy)|4$RT5ant~8;vhZ>Ot9TMS9(yL-N&rc0I8IR? z#s>|a(%!z8QsA{~`ae&Ya4#>W6m?zOLi!l6}y@6^5IbpZTnbPpNvht$n9W>EkD002ovPDHLk FV1krMWl{hD delta 219 zcmV<103`p{0#4#F@DMRNjjoeqpFomk-vT!bMiD=cseF2K@C zU(F>lbf`*)f*35B0#b-Qv9KWi<}c^VcAhc6C)=xm8G6vrhT=(d|>$A=DGBsqt!mcsUiE~it_3>_5HuTriay7YYg z016FsIpm--3v^8jU9-0dx)ivja}iwA%ZKVCCE1op8z=`uHh+I2A0Ns0|J$-;vmI-1 zvj_fu;vn|IzO$RLutiLQcpZb{wq#Wu2IOjPC?6ckNfys*J>V@7f ze7WLFd>*t`L4UG(i0`lYs}<)6jM_0mQGNgG`iHmzIt`#2;n~eMPq_&oiCV}OPkcw$8 zjs)@}H;4v);8sV8Z1vYbbjZez$6NsYVo2a3qD4Rh2(v;19z4oZet|s!Wf{waw)6HQ zMwdQa3fYZ-KEx;r8BI9?APT|HH6WV-;C=}Z*s25E0Ya9^?U4PrZ~R*gU{wCT2D(A? zmPMwL*?$1tt?zL;vjl#+7pV~_?!{8haaZ0;pc`e6=jGL{>?q6flIxeG$CqcSBQNp% znSr7#@lfPfn2A(h#)lZ>yi8>k$b`tuKmii45GXK}o&9>T6nN9Ikepit6M;}?zg`IS z2BzXA0tLysK>d9oqnDdaGBeO?0ILJ^L><#Y0e`Y4h*p$qAl(5xYzD+VAyl3A*15Ew zKwaet&&e>61zdpHP=Csb5J#Rm z4i&0AxBLUP8QurHkW-vOEwJSuDm7PL3vdcXleT}Ts?pQg<3d({C>V77Lrq9yLF8$L zu7B7nnJmqh2LG^G3Psys86^C}rm`K+l70R`>W20I+kX(8U}svBk(&Sj002ovPDHLk FV1n@Bq!<7I delta 1421 zcmV;81#l*O6vssbr?#6ZSwV*`B$c46$XuJDOBf3E z&_UMem2|41OD*>U&?g{E;DFH;=;{_sy|*^H6v)!KFj6=EPCw3IMu75K#1B1w$j3wYwGca_6 zK@^2v;6LgBf{BlDI1U2y8pAJ6aee4ntOMw;&RusTv#kM8{aA56_mUP6b0{X@oTnf# zW;wePlMPSR3;kdDdc)WFJg9vINs1|cyymYroFg!*=Lnhp{rC0DNCS-lpl5h-^WAf9 z0?15#$R}@au7B?lc-00F!GD)GINsxjv;Yj^8t@;+udmEN4}rUzo7-i+2OzM_^Q)vA z=$+)Zkcf^PW;&6+zm!s45=fsoemL-aM;|4!6EA@95gXesbAO;ptr`OfT!b|9sSiPtwSWhY z)0kgi#HTD_iD*^cdd%qBqiZ3<2(+gdg#n{6M*u`7_<0LR764c;0Ro3UzzrZ^i7bbV zW8L`oEr3z^_X=nx(O+kY+RPGYmcGyB$`bhbUc^QqyBBM@#$A3dfo7I{p5|A#GLYx_ zC2wDnK7U`Is6d+I`7;Aqp5viNuW%>g_Gf&INiOqPc7a5Q#0+F0fgS=GZe^ohXKR5s z9UIAckKjfi)Tq~)P;cN?yh0!&NfRi3uVnVJ*rZwU0_c}OuL1N$k<&^6vL}dImK6|p z01wLvu_lD7(_TB5)-x!&JmD!B25sO;SO6mgY=2uW@d&0nz%Ur;ha+Igv3w>&ceDdI zww}QnM_!`t6`9yOP51bTR{#T->K!2dj`)BmWr8^NkUf<%01K)MN~T!I0>CAhd?s-U z)m9RERPGAQU8-JWSnw^dpwBfxz0763Bn&DLMpT4G$8lg8+B=%^yO{(c+N02O%6v zW&Q2lQTpv0ESL#+i@@!>FZudS%Y*3ZNPp@5^B-(02oSIK8APA)#XS-lsC$s|sGtpa zas6I(=(-2l>gI>fat$;*NIApuue(cAk1w4P`3mk5Zjg~mc|Uw}X;$|NxVzn$fGWr3 zRbm7xX(b@lJ#C(r-9s+bJ*^wH+9i0%l{RmEFM;|c`LqC{0%_ho>qr7D9F84Vo`39` z@^68K3;r|Taq8J=;B%>0V=rMIbNmC+zM}pLII6o~9=P)nwD0)fhakQPVv$kdqX@SF zYvIuVxC9tbgFPVG6i^OPp#>n+o`SrlO5K%qgJ_#ik_AfL6@W6{t{XZJzT*$tzAh14 zU}G}4$@1Tg44^$Q1LQ>ef}isH%zq&6GRs_QH$Or7=LV00GIx^yqJi9GK@iB6mkPK7 zBOtX_It#Q@A~SdtEyhZ_$sRx%2%;QDyI#0cv%XpzQMp~sDU@2T3IMu*SOS;?Dxn!5 zB|uC-)+>S8en1I-+qND8o1p<;&j>XGc7%=g5P*^)?U{gqJ)GhHD?@s0kAIr}L8UMZ zvB%o32bnS$HUA*vNfzMDbK9muwdb0Dz_GylfERL(OQ;X5`3E`JLU}E~B^aI6{ev3t zeDO4s-5)Xr4gXLO(pV6ATIHKH|43t0p3YOK~zY`-PN&9<3JDq zP+ze*N+iSwWG&Oq^yXu6r*cvD4g6`IY8WE>FB}(ESpxE?Ch~MHznDNGz6HiPH zBPGqe%&f=u#Phyk6h+~k6vh8z`HipCYU!)1;z(Xf6~z*jnsfP+e-J?;Wr#p=T^3UM z0e+~0ikJeJgILM|+>+2OkYHXcf2E-1+ZO>Oj#GY1AO z&_DIO7*%pxfzi4KHyr3qvpTL> zu&yg)|KO7f=9zhLMb?Nd1E7%~Z(rLWZFI2q4Z6UCwc8in0mdt9yMYC34}nOVN3i2I z*gKfZST6m`t2LLeY*BYqA z9uR;R5I|nN*tmcECJ+f-p}fH5wi~kwL%p}7T_{uCs6_dVJu5<&$0=6Au>S^MIX(a) XXaf)Gg6e+&3jhEBNkvXXu0mjf9Zm3% delta 542 zcmV+(0^$Ap1cwEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0pLkQK~zY` z-PN&f+b|FSP0dX?zQ_DEhSofis~UU2!d3_+<> zhCp*&mP#cleyD=ZnF5%9gF>k>d?jHbP-0##)p(`z6$_SXEu>25@hR6ss+8Kimz3mz zp*H5txd-D2T)Y#aKvjOUz%8Ok>FdG>fNgVk6r^JG*fdSa0pkJXJ5U|2!GjUy7qs#FAqXt$+CsIRb9w5psk?Y!fuzT~u+ur;q3*$dH4o+k_`Ko3bTfc2 z92h;;LwsVvW~fl#!z&f+GxNihbr3rSK#-s9e#M{)IymHq)$07*qoM6N<$g3FuumH+?% diff --git a/graphics/pokemon/houndoom/icon.png b/graphics/pokemon/houndoom/icon.png index e1c34afec4d43852f3c9ebf5e0b33b475a98681d..344a05c9b453e1861be4d35b4126c0a46d35a2b2 100644 GIT binary patch delta 336 zcmV-W0k8gm1EvFzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LurT_SN^< z0003ANklDwci+x@~vU`)3CVG-ukkZn< zYqE2KZ+^;j@)7dE0uzBQHwy$gYjPQa?3(Y2@WY;FCM7V3pnt-aNCM!1s@8PquBHfx zi^lQUfnQNA05PW;TQG7ppK6dE^m^O+K`h{$``L8Tum$L7RwoI1pwJc#02~p&$`JgV zv6PS01J>KNF8p5#u$NJO4%LE| delta 298 zcmV+_0oDGd1AqgNUw;7$NklWfmh<^uC$~c?NIe2s8W;<|8}_^FsWXg`s|&#^3eh0Rh5_5qafiE&u=k07*qoM6N<$f_|`rF#rGn diff --git a/graphics/pokemon/houndoom/mega/back.png b/graphics/pokemon/houndoom/mega/back.png index a8b45314b04cc7f1fb3bb6de43bc33d81a855733..27ba164c402b78979b2789b612900dec21de0f12 100644 GIT binary patch delta 667 zcmV;M0%ZNI2A&3xB#}W-EdU2}Nliru=LQD^5gvQp`YZqd0)a_HK~zY`wbik1+b|FS zP+N;PBT_A73sjM-A%B%&*sH%GJn|%yvII}nAPcysyCY3fgTeU~==;r}?;6ha&t&`m zKuF-R4@@qAF~0zYH4r^b?71|6_kanH9C+43)_{3;3qnNH%c2t;GN=K`Rs{e8W1elh z0reIN(beUl0jH;KFoX+W+ymmeNhP6coE`y808tN+l%RX6O@EEv1O^oB*bh9A>@|;j zD+~t7bDp1po%M`y4HA2LPUS`zfBLGx-Iq?VLa;0jAaff?2RxN!!IIad1p>RmkEFzF zWrMJ;;i=bO<`^&TZIDJyg|gfm@WBCf6RTwdKCbOma6{|we%*ji4xlDR&nmQkxJL2W z0aRnOUY9SN>wjTZgvuz-*8>E^cs^!i}fBNq}Y zRMju$fFmx36Zl?Lo1gXk4MSQW1X4B5>8`2_*wG@!8V0DvqCmx}DykQQ2C@NZf-St8 z5|DZ#FojnGAHiQqpxy@{ag-WJ1pg{VLy%hofDwT7x_@9ZisRe6tAj~VgD_!{$E?j1 zXpjahz?oFQx3?AUvl+%G0z#$%$f&)eG0r(mVum1fHzw|*7*t#V2{X(P`t3sjB-cR1 z3k{sDJH{4o2?VegT{Uz91$Y`G0BG0H2?Y2Y2CW8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tW0)|OMK~zY` zwbik1+b|FSP+5yNBT_A73tW+*A%9h1SgXGwJn|%wjs#EDU<eg=#hAO@N^aA^P^08>75;F}h*7A*T)5MoBXta?G6K?6vh zQ~)3_;n_<+pxz=O`ns%J(B1We5u5>&0T4G$DhYk#^a)@Bm<<3)3Hqnn)PEREU_il+ z!@vj0p7VIHg6AcVdHx3Mt$U1XkXS#~UAZyFAHFJZ^Q9MT5Uh(DWNriLfQPaySn|BK zKxkL^k(79CY!EdyeD(O#663|K4boX#p)3yud~iV1#Ae-sk6R1C6|KM9Z3{j*fSMRT zs?g!?62)f+P>u0+TRw5Fhkx;nbszw$ff*W5{OOjx`uoi|{1SmM6R~pugcb-eKHvRz zfLPO!ym0wEkkUk#l=0iMPP08VS@1OfsMa)lsukB68l05-7D zAic1`QR3rx@?`?#HD%tpZ#`e~JH}X~CkrP9AhVlLF?N&ZTlOAeVg5JBx|f>IRQV;t zbD@ZPfFJ7--mAk64~~ogZ-I%cA?)>bi77#w!Ou)wrPiXL3<6(^p7#nKp;tJUrg&2T O0000anR3}Zv=)U-ZX_BFJ`Uf~YBi0@{+O;08K`e+NLQK?x$bSJ+qD~A*Sp5r-x^zGS zb?VeVhj(YE@sG3v5|$Fl@B6v;>+YQiA(lf3X_EV&mb3i(Ux4Kse_-$5flO-gdtmkX3O>mjJ~NNIvfdGvmp=YU-x04AUbb~II+c?7Fi zEzDxjRyO^r+FXztKs}?A#+&boNl|FZDu&6ju~3spW^k*t?cf;e$A$VbgTxf;H_LTU zZT-1;>(A6At^>p|f4zD>@9nE|73m1OqS6cmp8S|EuIJ}!0*>VeP7R>_xqf~r#YAh^ zt^@E}>nQ>d9`Lqf*>)*S@@GE3>Zcb+KaySWV`TJUDGDN_eomSQpw(HxdcjLpMNa92(rvgwcFci^V93YTj zN$*O4bTl9#f7*)-pqo+x#=65?sK|%b{u+QVF2-B~2fiPA>j2!uP5XGJTFSLs zXDP*Kgi8?!MS87)av8XL2=uR1B;`(;eyan-br0DN3IJ((1saGeN7EH3O>sEVt0eL2 zK!bTnKgHlNU==ZrQBsc405rohrA`R~iT;&cJXVQbe}X;!L{Xz&75FeQhAC#R0lXQi zfN?+?x;&#*0PAUzjnmWs$kL>gC4Jc$Jq#RY$JE+7u{R8mVTIc&Hm`JqgSQS?rbGpk z>i|1B%ikadNa_GPlgk-YG0nV{0Eq1s;MDG1d7~F}g3lV47rToPGeOXT;hgN4wU;HHZZ~vB5Mnv_QziFbH4V(q{{oh8K=0o{ z7OL@kbJPZA9zM7)1J6N!c?t>!3_~5+0w{@$aJj%xy_|wNkCYZv%9HndJO}og02qN5 z>}0I!c?N5}TA0M3N7?wRYH&eHfO;lQDsR3kCNog%7nlsBGE<{SX1G?^c5uw-$C>&v zfy5N+SBrH}J^FL@)}N?RTn5B3y?Q=vAF4|g=?n*AqZtUE{Fu&vZl;%N1dingP6^P? zRA0Z8Vxrb>lmYzK@e~1sN4()!wp~~z`7@o)JL#2DDh_!dh^1R$TRV4vLgyg8@-!H7 zDePJwv$)mZZjEF=72r(}d>%>xeqV1I3|!MgQzZq5>Ip{f5So5J*uyvz5nS+gK$?$vg&L5nwY|%|Fy}CPM_?%Gm%E z3k*fnivt7+mh`Rwq@#g^s23Tan^FKn-C-_Nt<(b$9u%0H_aT*(dmL`Q&(wEJ_!{9V~O|9KCd&hu`t$-JsTROml zw+$?pLWUh1tMi+7AciZ@>m2e8c? zg~1X}cij2zG4`xui#vz{fq<62n1Qnd0PPMiZ;9j(Czx+3B7Y}AgEHhWNT3?z`T)dd zrp~mF!V%1)3UxBT{{5p~K}?zZ?!>*KK4KN<`;JRBh};@}U5(V|Mn`}ka8Tx=Q(q3> zjFd{6l;IjDmDZ}NbLT=Tr7;7B&Kr5L6VC%!MjQl##cux(%Sb!{(1J}hgIfakZwu$k zHlKAg1dgki#&=>hx1VBJXxXa|lz?$%Y9>T0CFn6ET-XPMW>c+h=GZC{F2JXN7X~JYbqA<7=!W{ev c!o1Lre`YD#J!UfFcK`qY07*qoM6N<$f;n%eP5=M^ delta 344 zcmV-e0jK`d1Fi#*Uw;8PNklvD6rGws!1T?~*m^0Pz}V|pCj)9<-^v-Jl(B72B53X-Re!;@ZG_UD%&pPK)hctY zOag?GI&Cjz?aR}PRZ1(nX86i0ZHz9;+__X*8_EF42dge_5P1MoPn`suGVl_op7{#U zNEk}M+Y0WV4$qgzeCE+G*bN?re*ebX*B$^JxA*r4kAQX9x8fb!01q43s0f(24B{d= zA`z?{MjiN>LQ%X7D(!s%gHZLh0X&H=MJMnRdRT;+Q*dnFi>*PdN73|KVMZo)D-7Ph q#nXhzek5UNIta7#BMS46e*6MvDcU`Najvxh0000m=<0)nboCLrD{yv_M#@kbM_!w9QAbP?`mrTQMfDar zUwbEK?O+wDzotW{{FlBj#8CwIUZ-~QNd|Q9bKeK|*f7@VAAcqGH^A;z7|q!|;ddDK zXkZ{mA?Jbw94X_Fdp-$-@`#UkKmz7i^6inwXh6n13O$!>;X+m6mZepeZzAo+y#^^rIe%zPkIb&UN5asvXa;X6fFWt?N1#2GDen*BO$2&sz~t%h?IyHPRpGW* z%i`(T@!%2IQUFHA&(i)O0zEa*;ioCjYM@X9eGKAnt5EGp8$!iJ4djj*cvUV7xUqr; z$`Wo)5jd(Ya6Zd-OL#BcT(xVVq$e25U@F}y0r(hzntyy#0a#FhF=Z}3B&K35Airx} zLcYblWFUfh6ZmLv`_|;jH}-^>52Cx9CUAN!eQP7~jh9l+&1iDi0wU=f0ra5;4o_O! zAsYDxj>430y2jMz&0d-zWLa#Qm;xW{&~1$Zv$70_(?>FE0(P3MNILRD2O%o} z#TcN2oM;r|o7O>4G0;I0jbiMhASCqpfAD*@)B)Ddhg&W1`QcZYYa~T{%J<8Fb`UU( zMJY&0LBj|I#t8rnnjyxWf-h*6aeFW5Qy_yK>}AN5TGE;B?Kavg_VLRhQVrqaMMab+5lAGRRRIP zP7Z?LwkDESXEV-dh6d4mF;e``0S18pE*)zqgmuYBaGl&GbFl|yg=i>*HIeV&x)CMU z@=(2xHqcNAD;fh}oG^CXemU) hAD;Wd+8_Q?`UA@P*q*LxteyY>002ovPDHLkV1nPlbrk>r delta 828 zcmV-C1H=5O2aX4jUw;D`NklZ=i3!MGFT{1sT7dJ#UBQ^SkF%e5WqHb2*92JQkKJX#r!wV(Fy2I< zuLmri4&QG=3x8D#CusnbrzeNu1F)q5NXAdn!9D_gJ<#FDDbH%4&;tVu;%}?a-IF$i zinAKXb=LxbSLL#R9V^U0S;DSY_!^)Cxo7!q3D2dI>+V`O(-n+mFqO{K0C*UHOrE6y zC?p_L=HNkMX|4s-cj*PxQ|>0A@aHP<+1~c(rimr+zz)>QMLAYw84hQFWTpak znypAX0kSbuk5yC0ygJk=GBx|UtjoF(1`g5|?{IJszvac)aVrODk(Am&gz*VoIfxMe z#Xtu!zJFU$G0;Jb2|zJIbdbg>_6VFWzPCCEDh4`;5dg(_gMwfLh z6_7ML2nzCO7&-tI|fPaFl41*Ot4Z!#S1md(-5MSdU{{#XQ zgf)R$ApBWSDTrnmtQH6-trVmQKmxZC2mp3+5CpXisIT75IHMUFg!*8l_{{+ZfdKsV znW7N%f{$Q3xlQI`56%@rQ3yJbA7Hx?C0FvJhc=)n1dYZ3kR#@-097Hv2v-c~jc(_yZvgg;@K;bCX%|4^ zmZZr#O{&vKApYi`R`shBJ5`0a#J>iW^3ZUPB_3}K@ZbrOP=6Yb1ztnd*YSWEfO;2?;B_U5LV+wm)NnJ)0TmJeGZQXG@W9+c|9TDx9~X(BDuH)?jUpKGxY<+%&=$b+ zJv#_G0er}hGR5nD8kobO`5WlIx&qj~lmJa{vfGIQcq@T@39wzNvpIY>lV^pw6K=aGJEVE}c|PUw;8VNklfjP^H5VDKQ4;8G9- zPKvg#;{+7|$!WvpR!)n6E?ee(C{P4MQd~_+fQN(-6BRBB<$nWE*P?&D1R58cM9|j2 z8}3mBL!LGp*dqg71w7ua5by^;cM!NEc=|jI)NY4L`~qyhwiWQQt^xR8XW$j(bMRaP za1A+tQ}S#N-w+%(O>hXV{BT_OpY$`WeQJXmG-MZA>!m9JX00*3D1i(6u4A|Yn46T3 zB@kHb3&autFjuR?l-{KhU=7TuxBwqZfIYA-WcodM4ET+;_C5*~dZ^JyI2#Ilm?*mC w_$&D=8$p3F_>fPF9G{ju0PRj3=Q;imKXh1&M1^$cVgLXD07*qoM6N<$f(((EmjD0& diff --git a/graphics/pokemon/houndour/icon.png b/graphics/pokemon/houndour/icon.png index dbe35aa66e1ee23b41ea26c12ab25953fc8bf5f8..180217d82fbc02830685d457df24e80efe0212fb 100644 GIT binary patch delta 306 zcmV-20nPs60*M2VV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1QRlQGxSXW z008VsL_t(I%jJ@>YQr!PhW!S|QRsNVF?217hHmn+lt4yzv&TN`SI5QL z$^(?r+w^h#;{N}ys=qbh3otzZ@v>%M_8ZKA(lxEYS=rk9m4EcSZ`gW?(lGQ-NUgCE z&@eMKV;ePxL(gbPM-4f4jD(y%5{uVK0J`PL=pr~hGqR-w!j|#t!?p>yfKHTK`EkP6 z1!wp9+$ON4M^gQpDNlvX0}#lTf~u!%>8!?ENRkRPk^_3A^`T>E07*qoM6N<$ Ef~|s)s{jB1 delta 267 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 diff --git a/graphics/pokemon/huntail/icon.png b/graphics/pokemon/huntail/icon.png index 42a800657e49874f3b61577e152e8e931a37429e..a3b9e02c93464c2676a4237548e962c088bc40c9 100644 GIT binary patch delta 346 zcmV-g0j2(j1ET|w7zqRe0001qplF?uE<_N6st9Px6==?7&*@ft?s)F7-`Ice z+E;;jX>4>{MWw=kHr?SXC7J;#rGOVAbds`!)5tEvxF}cM5meG9gVyb4!K~zYI?NmXs zgHQlXzTp{K)dOxEjn%zF+^T&w_jZra1L!K;*0_VR1wO@(i1zbnwb$Q z8u$yFX;DZZ8fyonl3?tfg?A0u;9?X3!xa34@&cTUSw7MV*%<=`>F$Zg7||H;D)X9# zbEvEmY{SJo)2v*7SWHqv<^u7EOf4f?2fkh%qIvk#7+M<2#n532q-5QNk3$NT>jR%m za^b&`GGMTv2$aq*ND)qaj`A_nR|5_oxGpr41Mr7VgngN~YBm!N;tTv(%wN5)t{la6 zepG;r`SCwM`tC0Q(mJdG(loRHX%fF9K=2|!c>JFM!U3ioeA$nGe(dqT1IeEoXF=*X Qd;kCd07*qoM6N<$g82W3`~Uy| diff --git a/graphics/pokemon/hydreigon/anim_front.png b/graphics/pokemon/hydreigon/anim_front.png index b4e3432f00b2d96dd57f00163187b09d6a97b65a..c6906c5f107500689be1fe6f8a12bd589ea84f80 100644 GIT binary patch delta 1509 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 diff --git a/graphics/pokemon/hydreigon/back.png b/graphics/pokemon/hydreigon/back.png index 3327087d9c758039e5b0518d50fae9444cd72076..fb95b93fc3892bf2d23b23bd505917a3ec724ca8 100644 GIT binary patch delta 559 zcmV+~0?_@T1(gMmB#}W-e*gz`Nliru=LQD^77JNHhyVZp0r*KoK~zY`?UYY$>mU%u zv3!9HX4CEr>7GAXb!W^)dXq|TlOw!#_1?0%PA}A%0b|l6?ygd$j-te2eth!*gN69f z0d_mzrJKOO-)g=&b^byiPgNU$Wr2CyoZ0}QCF%I%^9RsaPqe=De6u`siMx%9RI zC~#RprKtc$z!d-|O=8&~tPsxt;Hu*Sbox(3+JHK!K3}sx{L;oAdlDdUPE%dGr%xz?6Kp;`Kgi zO^xOg0+E0t=d%C;e;6Y@`~5`aQZy&dm$f*0<|e0N3ViY;8yN+$xF@;Ww#v2 z5ekqcBIivJ=z+p6)p*SuL0kdkDlojZz)-d}RRI%TPUk=ekk^m_|8RW!*8-r@5>&#- zho_h46|j(+K;ZGezI$x|m(n@$cpBgSHXaV=z+_Gs&$od%e_;Mkv&-5s$e!t-|;M$O9f1GBE0TUlFi<2q6#j002ovPDHLkV1hrt{*(X! delta 569 zcmV-90>=H71)&9yBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0s2WqK~zY` z?UX%o<1h?`rO^cpip_2((CPW(DxGLvBsa;-Ha@~8)ovMIXD_q>NKtfTJ5`Fz1mm$~ z;^PBIKC1iL0rq~rPd9;4zV-3u)Z+&Nd8)nxSP{5gL8j_EK(tJK(1N}K^t%-xfo%o7 zD=i#Fz-)V40TS3&&}lAzfa%~0K$GSITCNZ;0FbKF0`&X$J?b4-U4gXr2q1$qjYR^S z0I&j}jMR@*0cjO}M}Sea1yINjLrOZu4Dc4!9syC52q1xp0j_oAe>Ugkw;QPIh}@%} zAp@r5b1NSA5s{7N69JKdljO4i0TdHI`~93aqB%>xti|!On4F7$2@qtg2y{-7fLM9J zl2?)+%WgSP6BHmzM9G^XFaU>LsxcsW4BZt#tpej~3yfuJQx!1b<$MYB0C^1=@DHcA zKP><{Ex{#>dU$$yUI7cK2?8Gf;*Zw`a4B69kLT&_chke+5}3`I;`ufZN6PWMIO2UkR{72q6y)+{q!*C9{LACT%V^pb^J-)49cC3Y!;< zXMjAZ%urw7?g~IcZgDY7*akql#PmU^01=y)*mrz#blrax{0y5x&Aat{00000NkvXX Hu0mjf2`~BS diff --git a/graphics/pokemon/hydreigon/icon.png b/graphics/pokemon/hydreigon/icon.png index 540b136372cf14e772ffebbd5d7897598ad1a3cd..a7ee63021c10e10df116a64ea0f92520391b29f6 100644 GIT binary patch delta 459 zcmV;+0W|)U1d{}i7zqRe0001qplF?uE9#FQ0l8!IENsA3<-jB!ovGNwX(g5kZew22@0KV&s|Mm4%B~L zT1B$1-dZhPtEeTmBsF!NU%RLH{7nE|wwN3b+*`Lupw=cizQWin9?RP1$#*wEB+J?c zk;mBk3=gRlWuF5NIXRm>+8W^a1MxOFk$NPW?gn0C8XctdjoC=nmN^HseMDYLzsL^* z)iRXJF_vf^7|^wMs2toG?w`#1JtKd{bGY92(b71L6Zd$JG4^rdu}T{^Jc7R zC^2MSc~I3*c*xG9YN$Nq#RKqjeBl+u276=xFvA<6cf!t@c>tv2WOT>7 ze=E>`r4-E5etZyM{Gag3N3dhO2fiZgF#;DsxFJ>Sp&M$gOu>SR9bniXUb<9BaA=mZ-z5itV(f^m&~7gg^qrso^w?AVW9KW^^yD zT-HYwfN-sMxEIsagRTU3>!;L>gs0_<;=Pbp0r=X!EY$sOh^o$i*`%0>T(`g%;J-0W9U|Ks|7U;Q6O11R>LDxHu30000_gG&f2pA%lM2Zfkt`1!cJ@h2&)|2h}f9acj35rB|g4ruEdk8mvAfdF#sF@|{U zOAiO4R;S1KDqt+#z3d(bfd1KV3_2k?zy<>BmdC%p?!D^;06pa4*{o}rf&ulrrjbAL z0ZNCSrwBl;O-!3l=)2=jj)Lc;1J64}pp8U%LWlr*mp<^6VhYcbF%lBx69(WUkF4#yC))X6)9IjUn)L`Uyk`B^ z=Qq?efC z_=ii0kod`3WxI~uhXjcQ_BG&_b4?_wk^UUrcf`<&H3Wr)J zFaqFHBlcB_*=Z7+IPF+KTrCpnblQny#2ifo7E|Obm;ty^O(VKqWnHH2cNV!ioy+cT1{l1qLz`7-2aYs94f5LLeA(KjCB4RE_xo0ty2*76Hk$niUp7RfK`m zLjogONdVv*NIfJlL5z~^1FUIbftl^ygMam00DOK+U;+TP`+on%ctK$N^1pqCeGeJ% zt8rUkLcovAFAC(@A7}~%W1(CrKLea`hqzas{sLexoDXUN73CGF8~~8=#T%hpVPN%; zg=cdP&GJPq0_bQUrySVooqT&00fd3zRO?S(cYD*TsuBgzKu#5%{%|?yj!wwl0)M~^ z6ecWt^(v38TH5d}ITF<$qFnAMO8hF*;Ki@85AgV{4vfE=kcYcyUkd;{6< zP$vbDN(eL}{WhOOBPiq1>W@eC%T=0O-g98#Ck2oi3}~d4vTR)Df2sWqsRl_XfGkWN P00000NkvXXu0mjfps_jk delta 1225 zcmV;)1UCD$3YZFzUw;InNklOjoq3$NfK)SsvlPF3`!AoSb z-TIK!ej(6{i)^h9J=JV=UXnGh>9M)kun<_M>^hr6XzD{npog9u-+D^Y{4bq(Pm<+G zc448Vg-#AOnxDQIkDlK9qA35#$SqFFX!1i}nUJ4>IUxWkfPb+q0hr4|AOv!Aaem%k z-4cNFhy+4FH^P!LW^>+uzC~Xit}bd?q@aT?HSQVTHhup&0h;pyz>rO%(xxGRCEaN1 zYd-$A1??fM`C*9!;5eWIAh7h6ru%*q>Y{=No2IByadg*>03cvR0^Bi$M80G)kbnjV z$Pzj5T1eCc;eSQ|eylYCOae@ApFep}5MAVL*MVgTh``G#tlReE5Kt746X1mTWxA}d zH(0f*B!JnY%@Fvq)>9O_^nenH@i3IRI z((Xw>rJr$v*FF!h5u-Xh!bbsp<^EOsC<3gHPWoUmW`6;!B0#r%`s=IC+fD@V10hdS zH?af(wflBq_AmrEKM4X|0>;k3cEv#79(`~a{Z8Hsf-?m6kth!slR)Px1fFm#5d<14 zAyGai0EaN!Zil1D+a8t(0+(}M7YY@6B1+eeN0EOT2*P!T_HcO2c2jG6Hjr`g$8gxI z+IB4koPXR<{^sI#IOrDcW(9E_+ypnb2z0a32)sTa;QIF6ARADe(_V0K+Pi*tGzr*% z-f54&Imqllkt^!p4NhVbfXl|>d>X*RXuT(p<8joo0bDgxB@l>-xh#OzlQpdf0n>`) z=)DEI#C9i0``;cInz^)16vVYn@qMFL9eAkn$6?YIw3#e3hpT4k6 z0SQnGd6p?4pF|-7K1>r{Je>w}nYW(_$g4%hy;cf{d&C+I1n!nl9f$#ZQSDR<4rrFf z(}hQX2_{%m0JVgGnG#Nhol*Gz_?siQI4Se~4n(=fn38fJ$^5q8WGM%dh^1$S@3S!n zl7Ac9Vk+~`)_i{}=|ExwBbqZ{-T?ob8AEd-2ND|?0hlHjc%-93WH3hlMD%DHCiw#d zbOKiI0*dW4Dx_fO(t*?x21Z6n0uVZoTEf6Y8YMRbD9ogR2}9+3%W4FCJZ4}b05-Z| zezkwczz6_f;~aC32>7`$ZeS9?_v9~D*niXC&?&4W1?afae*`!e9^yfH_!EGuj046B zT9lWpvIoG*m#?MWN&*W9Bu_JkM)^`r0Tw!tGXbo3j=#Q60n&lssIAAZ+MVHbRZj!x zK+bfFe|ObupB}UAI{-P5%OL1`{GbE&$bpO@qYXms> nHw94Y1f(k`BA-?HABsN#sRl_X%&+*d00000NkvXXu0mjfyNEZT diff --git a/graphics/pokemon/hypno/back.png b/graphics/pokemon/hypno/back.png index 8a7987d1ea5aae2be0e7163fc83378e76221c761..7b72be8c8debb5424dbfb249b498d35871c0db7b 100644 GIT binary patch delta 676 zcmV;V0$cr=28jlcB#}W-e*gz`Nliru=LQD^7bNS8gctw-0&Gb{K~zY`)s($%qd*YH z5u)NL5C$oAR+dsC2Z~s6vv?(+-{a)o9}?viX%Z zEFX5CL14rD_|Jc5chR)(6ZVZe89ht6(TUdv?$w)q8@MBuBG3W2f25M=kyRJaw@LxR zI)Fu4!zB-0Kv>r3k$wlDPl_6PNLI|#o2}3pff}}LOABle5~~gvY(l6zo6RU%V2^~+ zCcx~F5FlVY2vnmgTw)%GpKP&`K$Gx$m?saEVLXCLcwYko$gWrs0bXi8^#yt>!-a!| zR&BD>JOWO@EVT{&f4-8Zb4G))uK-3EsseNgqYl(o3|KuP7q4Sw3{5~jaIOOrs6qW| zP7SvKuqAW+`b;zd-}7z);O{oz)d90Zpbl^jPdSgf0rSJ$rab0py5rNhEMbzd_sSx6f zCmI2Q&b`XzNGO3ayPVxcV8Y}wKUDJ|lY&~z@e8m`->}W15$C-SJcmx0e=>na{Y125 z4ZTeMW?9}PApxi`%KYqrzbApmyPD6B@aFSj{ds^I{xDCD$!Q}J@m^JfH$M;D%+ThO zlMe+SAEzfie-udtm|4!V7c?=9r!WD*G-oW~LKedkW_I}cw}wAXu?nEYNjyqUXaYO* zoMo?GW6e+5_(z@#IeyL9ysm$Btob+@T@*A!ZVkJ=q$?i})qJF^SiQBYShT9` zsycw*s3@|oZ$!yfee256R^f*CbM;6u4lCAK>uOU2~G@ zXmGOcax;r;uRlV4H_Z?M`ZpiX!_%Cmb86c4Bp+*JS{vm406r%Rv;>#Z1nK{Y~$u2XFcbwEAn ze-6yhgL~ySHJus&Yv_B`FHr|P*S!f~eYXL(3Ro=yRX_-QDn!%{Sg+PT5s^regP2E! zg;fCi%RWhxXFQXi`@@yMIct^*lq%vtZopj)*j+Qn93c&kZGJ5Tj_*fI%N!vWzAme@ zggnYbO8HJF6@mnRU%F+L6HF9AGKUNXAr@f?l^^SQlu1x660`&ClV@tPti}6LN|9kF ztY4|5LcO?-U~I9M@$WRv+9VW!4wKYNPxO0{biC;K?2Kj_r`rcAoG*boWo21(q016+kPLl7%KO#?xMa4>(I z2fzRbeheCG06@9`QgRz9S+@XNQ?qvu?(7I_>toPnDo3}xXp5Q!@FrQmt0^o#Ml$wO; z*+v-Uo4z_>N=qP)gYma5Khz zN5J!8#(fQB?j*ceSr%IpBmuJ(0M|Fcy9L3&+a}J#$P6IdEyJn=bOIo8#?gp5gVZ98 zyx<&%fUxNkSELl?g@w z>>Q8L;&KAr7KvmdLPB{(eP=lqx1++s^QsMBy$iD}1R}S1 z8m1QrbbO&`@k=11JC3(uJ_70Ob0PKPZUV6dP@&5Y(-t4%^uzA+{UJZR0K3l{bLmE` QfdBvi07*qoM6N<$f}n$;8~^|S diff --git a/graphics/pokemon/igglybuff/anim_front.png b/graphics/pokemon/igglybuff/anim_front.png index 79068d36f63105ab1487c9e7e2230865e044c200..bd34fb18490fa6c1a8fc81ceae1ae459f4ee49b6 100644 GIT binary patch delta 515 zcmV+e0{s2M1j_`F7zqRe00001eA=3cCD1v`| zq`Ak_1R$j$4ir#|O9Nych-7$=UP&RIEm6RmP&$SfZPJeByNCkpF(8fR{k{NVY>mg4 zVBF^=x`uWB9Jvqm5naPNZ6bR3xTdgEx0s$c00*{NL8V+HNUvuBG}qODD}lmGE(1TQ zPZceckKu^F`S}%^qKwpl*eOWf+P#06ay77qE@4oq0jul)&ee}eoIuuN&awUWc~|Gy zUN||IL3fidS>NFYhA?rDOjEb=J##fH5Qn>>5e-1vmx?XT7s|xM#0bVe77Q!x1jE(% zgA@#GX4!BP3``I5S_+03eaPG#Hc~L^6myheBL!o7L>$FVYUvLxFjM#VehF{Aq^>Uz zE1Q^!v7AoIW(!%oM}T_@C6JZhz*Gs?t6O;i(+pFTPB2)ZJ~B4H3kISnB}saFU$I55oBqYFx8^#)SrUht?~lnZ@&&(-e|@fYdH4VT002ovPDHLk FV1hdT;=2F< delta 507 zcmVU| zgh%gVAsA4g*eAO$LD4-P13@&Ix*8@z14URz*gjrJeyDmMLIiV-fY;0RWdKWrK==wG zv(P?~UE<9Vnk2n2%=q9!lbD^uLlsywh+PnW5WIUkG7pM>Q^=Zq@>NGT7Qs81NWcX^ zxwp=Bk7R7l6|l(7zjAP|P_ zz^*a!9_FHZ2X}~powVHhKSIH_M({Xh6aU45FWh&W&@^{08etT_zJg;34KObpum-@D zmmdZKfP*O(@Bu*ILxB*lDQ@5ZMq0Fksh<&}hbkD(5;p*S0l*j;e?Bx|zktIMpm7iF zAmo4D7Xbewo;`iscCP@?QXAj_7->Q2M*>GJyMg5cihfZgX@1sJQ}o0(#kzFJbUZOu`I%dPyPVITrw|CC89S zbo8+$fJ%@dFgY;lh}e|?Jr@8nC}EE7-|s}8OtUCh-G^7 mV+rQhhlE4V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1Q{N)1aKq( z005^+L_t(I%VS^|@__$88vnD!2NZ$Nk1bG@e6FxFMp5$4*x2F$vJvLS#^%T>J{KDs z8~39a0Ti)E(qU^36hN|=|F5y_W#bMcfy>61|5_jk{HQ3t|7EwM9ZAKH-rgG(^~mn1 z?P%{qap}MEy7wr4`TqYos&DxjUVK0cAwGstFbon5KRCglq##g&K~6#c%RAaT>d_L+ mI~1qC|Nk7#{|xWQ4@&_2nP#a%EsCE20000L2DC16o9v7BUGWdZN-|CNd(Vv3%%AlyJ&+`gq;|o2Zi0G_TVK4 z&q7+(TZN)*3Pqt5G6kvNCE33r6c0Tpdub1|mz;N<-E33szJEzUP%7k|Lgr&;^4`n5 zPm)IQ$1$eB-;du+Ka}PKKv~KW+qTE%ML^?P&2bzu-B=JD-I#R;WO?# zRsxVZ-GzZSPk-xtz4NM0cR)aY@wm-_)AtzkkSquLoV*gaK#ouHsh}l0v=QTI>qzoV?VZ!i{w3jm-m z^5v2m1I*9fU`sZC6bmI)^-aDGG{gilzZdgUYT36jf*J<-FOL-ZQOPsi1e=~QeBAQd zvoNxavk*#wKmbT`(24;Xi2!Li+2PX=;Hc$w=yr&NKzPJEBG7B50Kiem ztI)HYb$@sZxyg$dMLt2g2w@9>pjwWQ-T2z8%D4eg*>6tGUDuxIn;$al2fL?Z9y! z2?XN0Ivd-;J8ODgg&)dNVh5h0Hs*#6|IbBLg@6D3wPvah1tb{$Yl|^ZRFL-9?BL0N zX9veLFz>6u~9s#16P@iU29G19=D#^svuU9*Th^ x%b1CQun!0=VKUiVM#AS>X6G4(KbmR6_z6^*FUbYNm;3+#002ovPDHLkV1k^Dgy;YO delta 848 zcmV-W1F!tK2cid%Uw;EFNklC<>*JDM$q`$^H$Yc<4ddOMBS8 zoZW-A#}B^lIDhL!0Km@L5|^>!tbqVytGvyRIIl~<1%NW=TRiRptC!tNug?-iW(|fg z#h#aUkpf_1tx8~{Tx2D5Q2|7arx}sI=9*1HNat*J!gcGFY&t!aB`Y+HqI(Lkhd$rV z#o?EOAnYsa6o9!X(s?5W0$-iMCbqukvU$VsEs<9Wh<_5q`j*Q~83o^_1jr-eKR-&1do5$K zXwd{9Fn`c91>qBMT7c6aB8+^~51w7TuwV4 zP0*nol=d)D3k-oUSQ6)=t%_K1Vh66PP7z`HD?1>6(GF}|2Mp|>LUcf42PD$?1sd1^ z5lN$HCW)mT2-(yDNZJ8D2MBxA7cJN5MGVL;Q;j_!X&4e%&;gUOIEKG*abW$sNoWTj a1^NM0nJ>xBH}m2E0000O+CUJ7 zeG)+m#VH4=k=Ue;l;j1RXs|AgD-Ytj6kwstYXEXd!4(kcM3II?x-JDE-LvFQPLXD4 zQbT6F*vHyyrH+(oywZIB|9{83cAS5%F8&5IUK|%^C1~SqevzyCe=99<_P%8YK8hpo z?zJ8GAoQCJQ36!N8*L?CmH>6_Q5SB>KEp6n5k$)lRKqBWIumxXN2m@WRpZ&TB*GvX zAz~DTYr8`==`%6^1$Z{ffbMu{i=x6=y8n3<2 zrNGs8v&8UnT*#OTe|+7@I}Ey!A@O`RNr9`4Q~-7jVB*wfseqL77STh)V^VXrM`F$Z zsYT}$aGk|!dxO}6Pu!P36%ZH)rB;)x@7VL{7x$MIz*$JS3Vb5v@U33}9G4~JJ!xPH z3NXL8yI_eW11f?~Oms{@h2ZoFu=Ha9?BxdOvVy!zfGM>xe}Md%s?1Y>1qu;Wfd=Lh zhyj2C5W`&F62(B|A#XTualS{Mg040)wa)>&eftF9<>7}ZaG)HpGbPU1Jp;VNEhhm0 zX`goyBoA{AP_PIdUuJSqV1(&8{AdQ7K)LyH3suin&y#@xM2s?C6C>Q9AmX#qM!7ulTS muz2Fq^AfA$M4t1%%=!b==aoU>kTX&M0000r$w2 zpCxx}iZo-BS~G8-ySIPdk~)xSd@w&}=FP5(e=jcn2I?_B*)r$>-YJE(d=5cH4-FAiErC*paF7S1$?$GTAnG(TBl?K?)fT^f|&Eo<}sawPjW_nC( zVs{b?2BZ(YG-!$CdUu03fKQxPKQ(aEpi--;^>-X}=@;i$79f^Nt=%q>?(l6`0HVbu z)IAw60}ZlIytU*KD+YRmF0trkfgXaVkHD%M0^lIG$QD;ncM+IT8(ql1QXs-3q7L$f^DWK~$XhVcMplO$*dN*{z{lf{Y=I-?z&=~zoVzEW z6Lrg#0Dw5pw{WA6>>i-<1crJ_%HQ+}5DZP4RGhqK)6ob+rEas~ZO(Lgx z0+#=W(W4}i(oAqHg6jC8ajF1(OG}3_(PO*?99uf@@|=b_Sv2N;cTuz%$cA}T2$vSn sBf3cT9C`%+@%s|$*NHmff22c*Kh)=yL9dx>$^ZZW07*qoM6N<$g7lvj#sB~S diff --git a/graphics/pokemon/illumise/icon.png b/graphics/pokemon/illumise/icon.png index db0ba42d0f28ef4d4a3e1aef334b92b8f9b0f4af..81c273f1ccf53e71e0b9f6ea6601af83a1fcdaa2 100644 GIT binary patch delta 131 zcmX@e^n__bf<9+~M`SSrgPt-7Ggd6MFJoX}U@!6Xb!C6f#?B&T;ia-n3Mh2k)5S5w z;`GGy9?!khaI`Pj$bXm%Kz9t3=kxhs;$)4lX=8mNgFEeBXFhoOJvM g6iJXc@PvWkEyJ8y=lJ{1U@nK$3$ZO6-G@1B!p?oE!k{0Gyh@L1jGv0000@V}cQEBcI1fORig0%`+Dlp1I{E%`7DRC^f8Xg1NnZZqn}E|AA+ z#>A+beNe!b?IyaJe}KGNmemwEY;S>bCyqA>?9%|MTj2O^Y_sHIIW_nI3m{WnSi7hY zp<@rIePH@CGv9{mFCRU)YjorY?A_Bhgvhz^R9dX^Wr5}$+Lb)8dfot9HB)7MZwW0| z0FH2MUm(Aoq9I3Kkz`5E-F=X7R;MJzN jXMw9zc#)5b|KHUQNoR9Om?fdj00000NkvXXu0mjfBD=%X delta 448 zcmV;x0YCnr1gQj&BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0fI?HK~zY` z?UONXgD@C{ElUg@e?*2z3>eWN#{hY$lz~(Y5<^E^Wniv)3mi3(EcG&pSaJaFQ#(XJ zY?HY|-UjdEJ^#N9dg>nvM~{7y3;=PWKiSA;4uY&RCp^A`$ydM3iohp`ynKiYU#$j! z=p#o`#xd1TL1O?E;HA!gCDQ_pn}7f)>XP;H6>zZ{7QBA%1KM;2u(W`J*PZrL2${10Et2ab*C*KW`S}KgN$Vp4eU0f zZ%lzaUU4o)-`s-&wtP47%?9LEvM8s(VS5i0J8`^g;NJ#N-UG*fPh-rY5zA@77gzw9 z`ofx`M1+nzp!S79*E=)62CZp_?+8Fhj=&x{HIzuVe=Uhszs%8mLc5X&Ud;zUtNy8? zdUS-gQ2>r`Z29=QDH=A&%abf&jk5tHoE58l8|WJvp)MOv)~7h00SH7`glB3++&0}{ q>MJy4v%oDWyv(f|^Qr$Tg#G|YXLCv7wW1UN0000>)#fM0<^x2D$|>y4%R0QA)YcV}=4%b`O3KZ+VxT zqI7UXxoZpLCPMe|7kU2=67pXEb9MM%zSCil=tL)fmI^)ufCvnVe@H3G5yfSrC_qAE zz>?`Dt^+`vsL>E$4xgtGHzkz5lW>Xxc44Nl3;^S$fgb>8b`A2{B<+VmXpRIS#R}QUGKK#3vefz0AD?f z&v)e-0iE%@Im)8@f6)8%gbJJ6KKB7HSfK!(?Dp{+_daMhyT>{1?4Stg*F@!&DGSjW zC5gasS>&z28q>hnzCDcoqn#BZKM>c{&V)SBm#MwryxWRMp4uzuI*>`AOQi&PbdC39 z9!wLF>MNi$jWy==K1O8!M+`KEmXN;i&Ja2p>Ucj9tgEz2c}Pd+$R^Z8L(|{Ct^?sF zB&u@ajGOov-b4oHgC0cHE;e$4c>cx_hT1u+cl|s@&W8rd>Rqng&e}-U3edhd2vDWP z>w&|7gO{*juv#RFI?RkiODfrGmOSVA;b+eK_ox1!tY_PSg$2Hn+Cl&T002ovPDHLk FV1l1-^H2Z) delta 520 zcmV+j0{8vu1n~rrBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m?~4K~zY` z?UJ!hBQX$$9ZMAM&e=tZ3#5%@af0$LFJNZ`NkMT4wg(X-U3U_qPeie07Th=`#YwmH zDe@rcc$b@Hp$Kb-_D(Akj&_y)6}d2>=NgG?7x09g54A zC_qM2K*{_R*8w2S)NlZQa1HyHkhU$9zLRi-2KL5W!ZZMkrUq^Sj_oxlC}7?Kdd1gc zdjm(-g3g^%JR45SXndHLzM<=^_A>#jH{})~nxFqhdO4U6S=?f7JPURlNXr zq7CrbJ9zyj027d~1ie%DS)5jP+tw-X_^)MajeaNdm~lIQjex(;L(s8T6G z?wsR0nFrHGr1}nMO;e3|y-yL@Y{WogXbI^H?+l^CflfCQ!MaMTjCAxI*^HWGVEUWS zbs*fBBy~=laburj!n?@e|KJRg`V<>FK|Fsq5r*D#)|`4cK+cCglr^VZe4Nc7Srnjs zu@#_7i`NT>0S7N(!(c@$$|lT=LnM{#HA|lJZK0_NPd@eUiIBhBfrSMVcb(q=0000< KMNUMnLSTXgf$Hf1 diff --git a/graphics/pokemon/impidimp/icon.png b/graphics/pokemon/impidimp/icon.png index e889a80d44c65291723f0d8e4a917f54545184b0..86eee28b920c9a280e2d2dae3878f7b0ae124818 100644 GIT binary patch delta 220 zcmV<203-j-0^b6Vbs7hBNliru=LQD^92d8*JjDP20K!Q`K~y-)k$f6|kZy(YL;EmJ zHIQZ!nnGiy=90-(J-8ts+$Debg!rymA=Q&ya!7EQ4NYBjVuGcaf^z_Qi5jXC8V zv(v}DVOI$4<$#z!rXEFSN1lb;&DA2^biKn15K7BIid(v#gDN<1pkisoNFtC|ITG>e zU+U+Ck$xm$gbq`beuNlY#eE24@`Fo8KB5u^z5Mu8kSCMqxj&wWrk?-+002ovPDHLk FV1lzjU4#Gt diff --git a/graphics/pokemon/incineroar/back.png b/graphics/pokemon/incineroar/back.png index bb872e1ae5969e2edbe12712ca777537f6b0050e..c24129584ea5e17930072e1c5d6dd503d754df02 100644 GIT binary patch delta 764 zcmV*}+2Vf(?bo^E4)ibjYJPkHx(Gz; z-@r}IokyXEctqC>9uB5=lMzOuO}pJb0%8L4{4pwID24(DIs%j&^*UGbQiE1ENHOr% z0-WDfi5y)?iQ=6<7cO8U-DDZyZ<;%=p0l-*sORHt1zrK%; zVi+cVpMhVl1NY1gume;nxGE;$!E`|Y>NB{wgBu>ef|GK9GXi7BDX0sBQyte;P#yl8 zh(Oq4;4wIV&2yaumEO?+22L^9s{CF*eY#q$@*kK0s`*f-S%_9KaP#HrUdJ;OUw&xN zF(4ci;pq}1d7kSyiTN0pKGJ0rAc}B}y_xxFQH=MUVbnNtHkbr>*UMGC-4^4<5F*U7 zXd{5N>8^wa9e~Xcfj9%O1JnSPOiSq>BLf`2u{S zUGD*}Bt(Zb5Sa8;475u0iQwq4HVZ& z;E8j8#9f(HDG;DC=uGW({DyXLMtR<9kR&BYu{X>3)XXw$JVFpypq?@tXTcyzVhf(L z?8X8pfm)1PPJ<7!jq7g<@U%Yg-Jw3MX=r|$e(g-00N)1B8E27k+nUQr11-{Z4SY3m z1Pybem^x-9SQy}$3xnpksX(6xfVO_?N$hJwAlvZ(_}&+MZN>X_4Q!zfrm6FknKj@! u4gl;4*mWe})j{;&JZIHPV=F9p1?>+^EzwAJrC1aI0000wnz z#`_nbi$FC04BVvSJPJL;Bf3WLa4@}_j4%>yTCLU*5EGD{$Ec8@7z!Nd2vBm=YhTGr z4Vv8`#lUL|aDG=Ma&#pniZ}jX+*Jq~X_?>%fl_U8aVhY5)tg8H-4ZB&={q~61cRZ9 zy8!|}@Ga;k(%-4M5Rw3#;%F-Mr79EMVFJEdgclO40GMJt_GJ*4>%FB%lt%#t0As~1 zt(KAg`aV92VVL-R27b8?+%q@84p61ws+fca(**&j&*0(?Zg>C-PRjw#35*@5pe_tf zbzE0Lb@;C$0%4PZ$KWh~&vg=1dRqe+IK^PA@_YUC*=n`QzhMHX=0lxkA)3X&&6lft z9nVmF`ldnKfN)TRXG@Iad9LFm=3`v?NS9H7D8e=NX6Bh($07*qoM6N<$ Eg6vIRMgRZ+ diff --git a/graphics/pokemon/incineroar/front.png b/graphics/pokemon/incineroar/front.png index 216602d647a27fa9ded6f1855ed1d29a43d0abb3..29a0b916b9b9b81608026de9b488a046467185c6 100644 GIT binary patch delta 970 zcmV;*12z1(2(1W^B#}W-e*gz`Nliru=LQD^9TYdcTs{B*1CU8XK~zY`eU-nj+cpr# zMWg5}T0c_vEjB9{2nqynXlFI|u?8nLP9j3_1kK zVrcIlko9dr;cWUFdX(&1;&UDi8#M2uFYkEAljB%}nxCHQoE>N+f82G3PIMk1(sevO z>8YML3y_hd)MK-;ioOBFSu}qb^CS}SHDixCy-_R#k324f0Z3Pb2u6~5#P7y)1EA5f zc8LV@BauY6(t8NdI-1V#g-|FFzYtTLd9G&zM5N#+;)hp7AyU_)d}asI2N>Op|9n-5 zoG~xplWV8gho_SBf63GY!STGP1q4~&6Tk6+Z+zsOXPFJiv3Hl#!CSO%`HTh@KuHFQ zUTk*%h>`YYA>`H;0nO-mu-koNBGz7pp(s0(GJ^=^ONKy*j#vj_fImJnTIzDNogv9j zK#wIuW)2t6+zS*R1T`9k>mEfSz z#0|i;-ujASe`)~CVfp!pdSbRvXyhEf_qEnOs1P7zHIRb(X(|`sJ^0AY&<5DJBm@Sk z2_wiCOQ{0RCDxP?_}kyP4(T^3C8I#*a+$g0FNx!^5!e!n;d)BvIMkZ}rGGYb}b+yu9{f3!>fK&nNxMEj*){d&H`tX9=h zKi4a$6s2eE-&d=b`^&vv{abyJ(xlSr0SJ7p06zv;Kr$qr4OA~)R@E<6bq5uoNIdI; z_MirkxWiBZ#G{GbL{?w-t9`}3 zR98Rf=7Isjuh($07*qoM6N<$g4y@Q;s5{u delta 979 zcmV;^11$Wl2)GE4BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1CdEYK~zY` zeU;Cv+eQ$_wI=kewSKhjyVzS{2!+7Q+Bq~Q$%BpsHLMSTKv$Kgq@{+Qa?3SmhY~P3 z`OtSz$RQ*bqkI2=Uf(Sg=cd1*v(j@dZQM7;X0`LtcV~8H*N$!6{0v;@tdWyR*BLv} zd4MU`@#N(|58y1oCW>=^Pt2z}`X3<9qQwufOd^Osa}Iv1`^6B!~- z9>l-DC?FTY3*@Dp2Or|kO3KTbNkY9_?Tf4M3A_yklzxbR{08gc{N5!0um5dHYN3+O$>TM*+$A^&!B zv6(f%`{NpV3o#WpZTAAtJq>%?pTz|$dL$QF2L{AJ0rA%^*Oo4QS> z{JPN~QIks=K$hjs*PKd&Xg15wC)|ViQj=3k`hHiIrH?v)L<~g(q^Q4{sU><3-%Deq z0k$p+QJ`+q2=e7h=|DP2sMpUASBG-_PyJCTQ%dU&AmCGt^fAB^lQHvbpnmqeuD`GA zd!&Fx;#miDfDJ&zJwXZxk1Qa9^{2!7P>YZGlq!etu1yYgFrCOs3-M+w$ zk&7B3M6EL27XT1Z>!&(13^I=YHoyd$-wM#99YvtB{-ern1=weaSb#ZjJwOO6v9KSMFr{*PFZA;!cMqV6 zq($&We$5WgUAD8_}Cu`{?f}75XOyqlz&eUVxaMD*YX^O7{Ho( zrk-K|ENUXw#9NN=_{yKxGgf3`ij=o25jFAFx|Q-wG@E#>9WVS$kD_i+_35N2mH&PspO(mv8M3Kmqk$`#&$#yJQa+*>+k)}R6pLaJpS$W(&^L;c!gM5N-4Gp zG>EVpp#e7^=27gMHdAbAHaXcczBBeL@IRtd!OXprIAq(zJU)y z&+}hz;>tBOHG6&-IK2jiE%!+m(o_Fn_hIr92Z2V;F0@3%}FW zbZT{ZI%x_mU?T1{vT24j!ztb8oaH+76i&N5%W}kEM|i<~#>hK=Uw5W*+hbn-ar;mv zngOQ~3rn%YR-RhnA@&$y8Xyf<9RzW_#EZsj0%H%rOf9Ft%s8aL%s8aL%s8yTL>v}i zFy3kbri|BIfGsglEU0kBC#K~zY`<&?orgfI|> zyXgy1ml&?14*&s84<5GA7cd*l-Zxes!h@!P^s&~M_*_m)SxTY1G4W!Y%eMR<|4h5X zAoQ1FMF@%X0)FEqy-L&6041+dvY7!FH=NgIg*gycKCuFwXZ^b5e>_c@2gIPWs9zIp zkw$ai+O8poPBPIk0F?^>;acF5`2Z)x0ZRQO<{M`RFN_xbE7eeW$%)=ORS*l@Ly4nU}x3=434s0JJO&?pkuRMUYy{;r5A{%cJf?9nJ^flJ1 zHF6N3YKZqmfF(yjf0Y9eIY2$?Dz`dwPeB|&+OlgGplW8pGPheMfYe#p`uJz%(-QPS zh?Buo=>d}e48SwMTt()#ES&@6A#{~Ku;r|9yE^xQrYNT0#SHL1EaU_2IY4E<4q#80 z{(!;B835&{Gx!#AVayfK1SXaZbdpP9;)AGSagt&&#AjgET;31BApi^(uc2v;zl{ET z2+s4n(*_9LiYEX_P{)aQ>4czB2%w4BsYgK{LIzTGaEW5y1T3gjt!}n`yKI4#ZJLg% c2>rYG2E*Ax{`_(a#sB~S07*qoM6N<$g3|EZmjD0& delta 494 zcmV zvGYE^d3GH1r)oh6$(V5ytFv$yBmjCFyA1&NngjR3~bj=&6CKp222a&5e9bw_>6V2D11KtyWvv@%% z;7jXIDFcLVj~gIKbR!-CAW0n;;(0Fw%~Aj@#8y5CdY>}r&nX#b5t^XZ?_Xpp1m zU%y$5@5gzXZW4^0^!JcKu|-sAnrPwx0J)!q07!yKb)e*VRC1B^f2Gt}1M4ge<8UmE zYT(KuqpSUSZ{j%QTw5fw0@O-t1A23kY{R%MvC4E}J#Za!kOy1jLR%0bGte2n@?2eZY1*o`7}*oU3`K zwJ2mOH zl@f?A4ZVF}NEP9fnr6HiTF2GyJU@(XHC<7L)1Nv+yz7U|#nKm7oo5o0|Mqd5Bj0000L!BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e(qDK~zY` z?UF%i!!QssO15$8}K@L4xx=eK$L(LPS#(IT0HGDE*WKKoMMN04>j>QHOl2l@0`~ zQ#vjntBqO^+G3Zk?w6x~spC`%vd9+==#$>o5gXG*k=_|d98DQ<0z=Fetv0}$EC9Rx z{6r`-AE?p=Akhcl)dG5Ud;wr<0cinxLkNIlu*XHl3@lqf9K;jAWt351x^L14?6kKt z(64|)vz(Or)oY;Mb_%KT+aNt4)u)iVgfaqDM{D3Yj0S)xfGI715dm!&pe=d`kc9<= zOjh+lZ@L|&0=CB_^8pni-55A))(QHm`B^$kvU`ic-0a-aOGS1#aMH~n>D)?ovc5tew)aWO7am9azDr8hivb z23>&8Ie~Kx=+Nhs2k@8@K0VjwVXO!CdjWuJx*eFnI1>Hi5_X5a;gT)_D)Pm*<0T9S z`470v3m9AK7P*Q{GM`we%5Od(lO=Ea9sBy{e=&6!HUbqDTfi0=pL2;`FEs zrL1^YP6!ka(ox#Ye~34TxGAxc%x=bry#<*E4mdg9*NDZQofwtV^F=E8aZ@i@^T&|4 zoQ#42P19~j&@2}WsBz(1VNlmIR}W5bHFCqVI-fC3yfg@-@GQqv4^FZg0Uo!A>q<7y zn)N5Rg8g@_aa1MQQrDqUO7@VZE{ub$Va^`nJwO$&vy=e^e`0s~m}A1ci(W=+4EH(C z84&!U&060~F#W3sVGFQ;Y_CjU1ygP!!k;a;HGqo59q_=e+MqYV4&@tonzF!}zln;U zTIcW@5-?2V{P1cj(3UuaW{@3bMsTxC@y>KGl4ZOtj3-AW+qE?Q*gHyo{p0;l`~!zd WvZ3)G?0f(K3IG5}MNUMnLSTYNB>SlV delta 535 zcmV+y0_gqv1b_vQBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0oh4JK~zY` z?b9)8<3JP!;8CG2g(N%3h%_0q2e3sBV0exfSChaHVdO&?q8$<31Z?yid;o!~z?xlj zgLK<0QK2TqmcGkA1-6N1W-pN6V1(Z{Pc!lp`-~xu|DRI8eG>_W9w|N?bKlT_j~w40 zbBd>{2Rt720eY7NE;XQkN54}Yz&ErAXkA-}sUA508UWnV<;Vu6F&}nYI6b<Z*ZL#FlDj}d^%)*SHNsn-p>Uc=_9!HeymJaES#l_61d1o&N~TM)L&RN)m0>9nX4!U&@}Yrgw1+o05z^W7KL@a@buseHxn zaa)PzR~NV`Zs2%>HBPEjtu-xNDWw=7OCf77-pw%kqX$t7umE+GHn4%YX(FN@Ex5OUio^q$fm5}iCt)1Qckq2~ z1Z?>(D)ZF3r?-fJWh$4aH(P_Y#VN7_by`@#-8#bu+l!H|lYL=*b7Z>T+CWR}_0MR- Z*k6ZAvY`j0z7GHZ002ovPDHLkV1j2Y@+1HN diff --git a/graphics/pokemon/indeedee/female/icon.png b/graphics/pokemon/indeedee/female/icon.png index ca9aeda0762ad059feedfe1e10f8e056e59413da..83c5a5e481fbe1498368957b39ba01612b093fa8 100644 GIT binary patch delta 275 zcmV+u0qp+r0{;S#b$80Hekxp{E9! zsCENG?xED_S3)Q4u9vLXfNnT04A8^hkniRQc9a;mH8geLTz-za-S=|Ie^@x|&ghx( zPR7Fj>>U#i=c~jT)7P)Hz7izwWGu*RSLY!Virx$O0+4uP!j?nG!VD@vfv0axCXy#Y zKD7Q-U}6poEd)KB49nxrY@Gm#JkWGw#*~2}%UPfTIUjW%UdhKDoyp#{`=jAa00000 LNkvXXu0mjf??`*9 diff --git a/graphics/pokemon/indeedee/front.png b/graphics/pokemon/indeedee/front.png index 26b082b61b2ece0a861e2a9973972e0a30a19191..19d4ad9aa719a5b9297b4ba8cf8b82403ff78478 100644 GIT binary patch delta 530 zcmV+t0`2|&1o#AyB#}W-e*gz`Nliru=LQD^APqS_yg&c|0ozGLK~zY`?Ulhw!$1&* zQ{u6Qq}VpsZun4C(q6|QJB8sQY8l`TLhp`^m`W65v*lNW; z!=`Qc0=6k1ZUUq2QE~#1q%aP{P_q#`;RsVWM!NOg@Ng5b!zLn35HF!0ZdRa>trh{P zn?}Br+IBV{+AwK9e_tt|F--IE>Ez|n0PJ34iq{Vb3k(o1R*1*~c7p9GEi+?XD--%2 zXFl)iU>WCchP-9R6bz8(g{=m0JazTJ3a5_c1-N)sdZLb(W5*jJUhRSQXf1PuaRHoW z9%vR?k5>qAb5Glp0~~4QA5fdK{vGC|qysElO6hwFhbto4f2|;3MvjR%pr%whTwo-5 z0i|Rxms~qZfFj$Y%LJ5=5x9*wpqztJ0Ia1-;MM@tDj;G#XMdC>6mQD?bvX;(boP4c zsng70%KiBLF3pUtJ#XX8Z0jM;4Zz@x+HE=*!5OvNcyeU0nES@RiY@4_Xa5>kEMk@%(9QSQrsXZtMvnrfa`jV=?f%e`WfvSlXfvK>^j>@x-xKo)J2 zMZI+_*FeiN7)Wws&=dVu|;NS)`ym?Gnpo@5axkN-3a8hiJXqgMa zNu~5Zjsq4D;YX6cTjIh=NDPqYG}O9DGV;v85=XA^L!7^9GqH_V1J~~%ULS(-YJKDg zg94Z=d@w9@J6R&Y?E`I74sdFyKcr(`bnY=HCleqXrBvW+>@A68w}OB%bxh0wHLbJW z9Am{BXsyDT;*OJW3`mPZdTc-mS%JHl1Iik-24GvN1nw+AtpZ}U=bW!Hh31>`XjN9h zH=VN@`Fg?|kVW!&pVxoG0p3M4(8S%B`8j@x!I!YLiM_2#H>KC=M@VvqmJC?UQ9 XY`UX8yW;UK00000NkvXXu0mjfE|KdN diff --git a/graphics/pokemon/indeedee/icon.png b/graphics/pokemon/indeedee/icon.png index ed83aad7cdd54921a36aca1c6df50be5975bca45..b226eeca0a43c500b5eec194f0d58d9dc2be69ca 100644 GIT binary patch delta 275 zcmV+u0qp+q0{;S#b$--w9Pm)nSta zeL{r}#Zp+g-Vxrn!z|N`)8oN3yX%a7>+WBfg6S6URh*0bnL}v zNe8%m%wtwY6x#J7y!wgwe_%2kA~2)Cfdeph5IJn*L(D^ywfXjWTJtf%az0eE#^Dn_ Zp7=P?=uw*JTMPgI002ovPDHLkV1hdBfPnx2 delta 260 zcmV+f0sH>{0`UTnb${ncL_t(Ijop$xio-Avg>{1=O&Wu9hGoE|_b>~4Ki7s$kya>& zaB1^oNV&!nO-PiH+dx=$KmvU{&5!h)dtZ>GO$_+$XGdve!FW)5dXm3a4Q3xV6MBO9k~72Wk6qOF?}H4aMaZMhNJ29#LYKH zGs^;IKN~=P@{#QP0-P^KLhu38r_JFJ7o)he0YwhdS!@+26KorrrD#LJxjZ}C2>xpP zf5Q}ZP{S<74w4KLCX*wmKg@d&hfw~$tXqGq2=)cF%+?OC_~Q!rIML{3p+cVk0000< KMNUMnLSTYj;dzb# diff --git a/graphics/pokemon/infernape/anim_front.png b/graphics/pokemon/infernape/anim_front.png index b808e3ab3784584af2cbab5d0725a2202506dac3..5232461d1d4f5f8c65aafcbcabe34799e447fdb8 100644 GIT binary patch delta 1714 zcmV;j22J_t4gC#}Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvGvASI0f z000JHNklKlvr*l;f<4$W`B`ZatU44$P;KGCBekK z^Ofe4bW;j_T1c96bnbn>d#)(zzZy*BweUb%I@V*%_aO!IEg|sI9AiC``{2Swx3LaSBpz>0Imzm1_6OaE|+sh zpk#X#bsWaRMW28S(z=2<6WJG`P+ZFC_>w6%@4_R7G>|~$qQQ6Lp_-B05|AzjZaff* zdiGg#xsePau*`X#P*qV>2`0QX`VIQv+S#2suWnJnijqN3c~W}_bXjZ z(;CZlDmclHw>53=<&$Qtk1&j}GbQ$trv0^$-%gAjdEnp;MX5Op`E2tktnhld*6GKa zj^4gAH*)fx{KqG~2>S0iC*yrrWqA+DyJOCi5a4|i`t`J&KT?&uan&I->irXL-;!S} zp2>IBO@BK_7P}TCeE)^gyhYl4kKkUAa8!YqH`D0UjuioWRy5jZDlCUk#U^-HG!%_8 zctXrx**O|aplA+rQYLd{=VVX{#^73FHgo#XtdS-gu&Lpeh_Y!(?Q{ZiG{#R-22GqK zM12rqgLnNQf1GcVP9($z3Q!#~QtuGL)mY30;eTO5*g6ELPY2@^+ac@>QGZdG-~k7x#6lIMMz%%b-Ji;jr1_&8+)JK@eNO**z8#Rh+Tu0f8pHPvG zQB+#LciflNYUP11gec7>sm#0j`p}hXMfL5aAQFzw95+6T=oIm-WO|mg)98vBPdL@} z#ebmNWJ9pBr_)-u<;4%rkVB~Yh52o3QzM5vE<$Q*kwcO_|1c2REzf~VwyG#=6NuJr z`?5#@!OA_XYF*OtW>FHV6?<}>O+wn9nbL{<{Bi4ZyiH*E2#G}8{1{uD0lekQp&U=z z22_g0*5m$rVQbP;rE(&%_!^_7Qzb|46@P={lGOitm~Q2>O&ytc{L|;lmT}Gx$)@2I z3I*AV581{F=AP4=ga85Cc^7ojd;lQ_$U+Vk0({qqkSl_37K(ZcLiq)TWYam9(87Z3 zhYf;`S5e`k$shtl$zP#rwz~Ovsc|PrfPM4Ac5&tLO83#+?K^Uy^YIkE}lX`boD!Cb<*t0EduaGAP5=N1n z0!Gqp-m?4@mWag4MinY05+(P!U(Ula=b!Daf5tI-3Ni1+V4ur!{`uA2AL=3xg_auw z30JiYJ(`sN{Qbk1>mvf11IF}nB7Y{jO8wo>^Y2aMwcjQLXk;J=Uf%B}-1`>Hes`-S zh(Z>EgfPC|M+iZSp){4|+Z@@DL|&{#LQTBZmjfGOYt5)KdJgIWFG(kG4V+l$5qK8b zO%{*J=Qen9kLONc3#S5Rd75$$x^a^dbl% z)|&~MOA|>DFB>HU2t5Hv%Gj8}3Xw#?+@tB$-d<%uz>=EXK*$8>W=|knv3)i?OL)Po zuyoJ)2CL|VEoT(aj;Bgzs>rUeVIXMWy&giPVx`b&cZsI$sBVRULzQc0gfJXh7~S!{ zzbnHLYM_*{b7X)3R?@;X#((M8R;fgJ(K=g9?aAofn?EWHhq1*NR#u_3FUDR4SHo2w^yTsyhn~;8?P+arC)A z$8ipU<^tLW{c-RAX)ADh&`T&$(qFIh{!}^fPwfHy@3jYi0|~14TiZMgVgLXD07*qo IM6N<$g0EjP9RL6T delta 1694 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 M07*qoM6N<$g4hq1i~s-t diff --git a/graphics/pokemon/infernape/icon.png b/graphics/pokemon/infernape/icon.png index 8eb9e955c604f40549d663c8e14bd7ef39665049..157d645084bf13827ef550c1f5d2c4642deac8eb 100644 GIT binary patch delta 463 zcmV;=0WkiC1eXMm7zqRe0001qplF?uEDwDhk-;v$o_xR zg}~T^Kr}M#z$6O?SPV@^A;W%1<9(9}R`e*ME5_^*g?HyuWFq; z3_g1Zrm0#nAoB8c5lj>H!xJ5h+1OtT0wJ$123$<~zUl_9w`^}1e++sfA~hIvvVwno z^tx!kAj`14JN=~L#!$Qbn;g)|~5te=@5XG=TW%n06k@T$&mgi@&fNn#NLh>t^ zr_M~jX%49yz;jB3aL0~<{Erd`v@lU)LRtqxGKLs!>@rLki(*Fy8L?>4_@adwtm+0U zOyh?UM!!f)7&LEXg@G`x0- delta 446 zcmV;v0YUzk1cn5V7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0fb3JK~zYI?Umh* zgdhxs<)>7==z0IQ-4;**JG;qVPm_tsoI|mNes0@0yue?20h;G}jv`dIFa=CBIjUH7 zCf3zVGV2VJ>_=SgJflGhQ3$G&IJz2AppZgPUA^V?hGqyUsYRIOU4S}L58=b>1xiY~ zan<*`5tt0+JkMf(21fgbnK2m3sTod7@#s$}noV_(?$Hy2dDsG!txwFFfU>n1QzMY` zap)2jkxW?~v%cZb(1b!UM$ujtUJl}Dt$`$>EQ0a%`#Ww;PdO)DY-j29s+5?bRS!M5 zw*wL*Vk;h*oQ9)bDXmo>$G-cwQ3;xH`7q-FV(qU0>3mp9tf#C1x%l9Z|Hub_{2xB}<3I61$NxRvBOi8r onE%d)4Ie)pZ=Dan#Cn^501*}$ZoNiY{{R3007*qoM6N<$f?#LM)c^nh diff --git a/graphics/pokemon/inkay/anim_front.png b/graphics/pokemon/inkay/anim_front.png index 6d250b3081e82a5751f203e7c427e4a3aeed4028..b1ea93f4e5a5b34f85a2c250c8fd49d4aaf68afb 100644 GIT binary patch delta 681 zcmV;a0#^Nu29XAkbbkN`bV*G`2j>O{1R^Lv3<`w+00MMLL_t(o!|j$oYui8=hff@u zyy#zt;>jlug;G!~O#ux~uIa8sQ0UY}cE`|SwR@@b31SqobnF#@p<6&h$IjYp^j&(V z$h9n;PSB;H=*5F=J^H=JNq6@EFx0;(N$mktWQzkPQ*4OMm-?Vxr>NZ7-{0%N@^LV7X{f|BTJ;avnJG4Hr8vw)JYL;lAgZV5?}HGdxf#;Zi15Te;n6Fwk~znZi4wP~J^WX+w3H@ZH%`)TU4Qj7f@&6 zwW%_I_dMn2n*HMLmu92WlnZ#{6m7rVrpP2|?kKJ6J{psP&?>eJXhz6Bnvcl7iX7tO zH7a`uE8w2o6Y`yqwAcU#tLo8$Vees90a;-Ih|iFEw14F2s9=#1vfHNFj{fCfglZ#I z*>_m%3iioz_QT<30bD?=2jG(G!OgpFJ&?_s9`J#h9&`W)J>Uoi@RWldSbV@e z=m7_ir^=|(12+dwdk|NXKYBm`*aBpxAa2fpyc7_n-C?f>IXm84Jv;^g*JbxxrJ*Q1 z0K&ZD75mDSq%^>3;XT$19!g zLFlNbk)j;{G%}GJ3~f4+0p^s_*D?dj0hxtKeP3pwP@hmuVt--2A-satX`xV$1~W>H zE(_(E9RwxORl++DN@ChEt_p*a=qRx@;Q9owa%(V;IxW2O`L`g5<3)#sYA@ob0=_~P zUKGU9VkUrj3<2+=SsaGp=O|pvW1xoeBHSzL0=^_kg|urZGz^nl#*$SN z$@2sTl)-mvynnp5tP_?j!A4ve#`x}+WsFZ*K7m?!WoYB@+R_97Jx}$eK6!QbTc42A z6a>6MO4dJaQ)00+clxbypA1;RxQev^nii^0raiV(kz@LJkE$M_ee}Q{7`taIEmp{( zS{*T|cn`A*$chod^o-O9zUBC;aFH>#S*O{C-*PA+wSSdr;y*4nh4^K;xNv~|q z+jwvSjDK@L9uLq3j|Vp&y5oUr)#3pR)Z#%0u#X2oz(8Jq9}h+_;O^rA0H}7qSH%N2 zN3Dp0(B<%NJm3Is0jh`~ZZ3el3?R)KyuvOXTvyB&56Wp;YypgS@c`3d z1E?(B(e^>(vj%Wk0l0b*+CX#FP6JRH;|LF%cO9BK@IgK53G@f1A7(;KSLf*f0000< KMNUMnLSTXd-9Lu_ diff --git a/graphics/pokemon/inkay/back.png b/graphics/pokemon/inkay/back.png index 300166ad2d9ec5717a9986a58e0ec9746da69d51..c6791620ca7e2499fbcc8fce75ff874d7f4588c9 100644 GIT binary patch delta 580 zcmV-K0=xaS1*!#*B#}W-e*gz`Nliru=LQD^BMOXndLRG*0u4z-K~zY`?Uc=m+b|S` z<3+a3bkJ;Cim~vE$lQs$OA|70P~_Pb%qY9rHGY=BK)Y?pi!>%l1RsHJ2@ez4>Bl~aOCHYcY>{L0)ag(N z0L+&7YXg(W3QVO;;a8`GcPSXe5-aVI$T6KPD#e~?FJ!{PX$i;=d8bEo5|A>vhgsX> zDvafs$n%!OcySiMf4XnS^myz5xY(vd9kDcNN>B%^_l=c$VN8Lf;c){~3Sf$tUb}I$j+Q*R<7N9`ydF1r8P(c?|p-cp4q-DhlyJ=71lit`E`w>a9P zE<(<)F8T%hYRNf>K0(NT17KkQ(4%0ucr+E1F-}Tfo_G13C!|ipJKv;xmhi8 zygYSwCwZ3#KI?Kjoc0!jnMC z_zq_69+yER&qSWL6r;sifOXf7>GH?|aI;NC9kFcERL~As9~(P=b%TfkaihmIOeugV zUfaL~Zs~lgNQlw05#c6XCw7Qdgqt)?>=4&*Uxh1M#VPi%0QO$VYT}e3UE3j8s%|TF z;fhxnf&wM6!j)!T;h+g9RhY3yY`!#rwJOU1_k^jXx33KiskaUY=~&IyhVDb0Y+YdY^R50R4vPpqeD2TVE3JgtlOTWGD{<@7+| z^Zt`zA*1!tjD9puH4|^L?L$`Ap1xbyVY7d{Sp1I bo^qVO#;%YcvnV>y00000NkvXXu0mjf0BROL diff --git a/graphics/pokemon/inkay/icon.png b/graphics/pokemon/inkay/icon.png index 5cd189702d074304c85db197eae60a883c7e0539..ff0becb9f9004dfe6e9cd4edd03c76ba60c91d1a 100644 GIT binary patch delta 274 zcmV+t0qy?60_g&fV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1S2QOs3uha z007KML_t(I%iWSO4#F@DMRNm7nu-^MBs0NR4Q`j7LsIzUec1w9>9NTm)cBySyT22V1La?L_t(Ijop$l4#F@DMRNm75mdGNuk<-^MBs0NRG+(SEo7RtJc5P!Q>$d?IyFzW>sJDOI;R kkX*O1(uSuF@ex0-2bt@ElG~_OzW@LL07*qoM6N<$f;4?&^#A|> diff --git a/graphics/pokemon/inteleon/back.png b/graphics/pokemon/inteleon/back.png index 57f6c40c909763a101fb38cac37d8da6b3822e55..a741a6d244c62f6c4562f5b64fb727a0dd5a5c1d 100644 GIT binary patch delta 645 zcmV;00($+w1=$6VUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvPuT0gyA z0006!Nkl8nu5CC8$8vzf}U@P8SxkzV80fLTg`2rqXprZ#1$f$|Vm@ZK^ zxds{tg|ilD-ymJI2C%&waIyz*^b9?oeo2!WgAiUqemUNeCx05oD-Fl7EVFIh_pR>8 z(ykx-zE9omSSyAcfcR>*fHN*eEdWALcWSl(2tj)zeUcdBOV`wvnTPnK3sGi4bs>)H z5N2zo=Zslxm7Yg1LOsBBjX*HVfiut~>A@mn(Rb<%)WDs=I%DrC_0&6jU^tvJ`dJO^ z9Q3^*9jJiE3V-nLucHKR0WN?2xgV&KECEaIe_yHYGY293ENg~0(n*E;tN@$^L$FST zO^PHfUJM?0=P?!YEK&#)AUuinlLYKC%W%&49_yW<0gTxQ_EMoW=qGcSdP$|Ogu4iB zT*fION9@{nHmoK1&#M)Hr&#Ly-o!4amQcWQA4^|OFMsHl6XY>7HqR^Zw!I*@sAiTs zk}bEX0Nf_H+uddB?Y8`L!NF-0boN=6?JMwugP#J(_^8q(Lm3bRFI63h8a&qrv5>)r zgT_gb93*uaVgL?KgNc1JFDEu)fE)yN6xnqZ57KSJK}}}SwON3Nq#1xG`7yu{dB>kz zrefPKJbnZhw-G)uN0Ic<5WfI~;Ujbs#fQM-z(}~Tq8sVMS^$842!a^JK>+BuA)eF} z7NFVWh8fYLC&RU>-gLLs4!1ivy$sWMbGxYALKcpmjEPC)_-p}8CcRbUw z{!zHDZ66)V2Z7x?w~hHu5Coy$8yX1@0U$0+RS-Bu;`{&r5`UpTHb@Wv5@FvUfhI}f zQ_mpb77`y!5`~MXCP9Ed zfxHlJ!;rUEcqb^_)9_Qw?wmm+?$sjrGnl z075tf>}!oyz#yH$(TnEMqq~S5O4E_%k+$}Y1G$ubyjlV9G}Y!51pSdy94(-M#l8aM zKc^oJiUanTS)1pT(gEIP6kV1liyg}r+ocBhDsZ>E%YW9}ZSi%Ez=;ZU_gR+hOW+#< z-!&k^C~Y#Y4ln{<%0AL|;JF&aybf#-P$tDBkXCKz0tlQ$Bj;vT9Bgy}2}DkkI8_%9 zN*;#|gBneeuSYrXkg5V`@_j@Sa^sJ$mX;QCPQc}DLQl-Ar1sFTAP1PBN9Z`2HUW-+ zl_Fs$H)MJqEO6Y1D4G({5P*&IXi{THz|M>7+G7Y)r~q~g|L{fy1+dsmOd9}~8#AWs zVreZ86}a5F@n@?oasUP~YzL$T0$Sg45Ga9R-QIr@e*r-9D`~Z|*`)vg002ovPDHLk FV1m}G6JY=V diff --git a/graphics/pokemon/inteleon/front.png b/graphics/pokemon/inteleon/front.png index 3ae05145658625f4cc278d5ef1ce192a2a7d81af..e55bcc179e00df51fc25dd9402fa9a179b86a41e 100644 GIT binary patch delta 675 zcmV;U0$lyh1@;AyUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvQ0@$P^G z00076NklNdqW<9!=-SE@xNjc-he|kHBL^o+(C;b%9*hi21?p2eHx)G;eVo0b3h?5L z9^0>dIXFI>*>5it;E2wyt}c9ek(iS2Kd1sU38g+YEhtAUF0B@wx8@<(h~$?5e4l!j z)sq2iv>7q2UVi|A>@f?9LU14HnVwZY&O^8jaS>MlH%u@9O45g&*fBOg^}!HK`%^=$MST!{gF_&6;TtsIpx1&!AZYk9eU}U<~NaP1sou@-!8ozT1f?}B7v#7=ioLnJ3R?V??dbKwkg2G z1Hp!a{C}O>IT2L?Ybhe+L$~u-B`{M0?1rSx0Rf9x4tp$hNR3H>6QJ}naS@)tK)d5- z-9!_kIriYe-UPfE5t)n#4A40boHD|fWGt6_h|+)y26j4*3r7IN82lHIx{sUP*`$aR$(~$rG002ov JPDHLkV1m(3Cx8F| delta 634 zcmV-=0)_qd1BjE6bJCTZUPM!!nV9Mb%xH77el62WG}5v z4P83aMpMz^vqyRHWm6GEJ_!B*%@^oc=+c5tTLK12kih{%tZo_W-Z|-{cQU=f7Q7$t z{q;B-q5nO`^8@wHtI9fl>o}Dy>hBJLj#D`T_nZUZP=v!71%EiH1ielr!2O|NSAqJ3 z&drJpNAG7ZXa#t7MvtABz8V~#&79YZ3UEYcS62&P9THRW^&71KO+u+pO&gjK%MZ(< zb88-gi{RfS5Oq4W?XC)7qs546cLNBdk5f<-f_0>)db)qO2%(4~WFGGUZkS*L#FP82 ztQbSD27_fG0e|*~)B}OWijDZP{QiW3E%bc3k-M(<*~AB1FzsgzS?BeB_yul((84!p zAVAlGTOe&RImbN#u&M>4!5)Z7FhC5|KlS4ufuRBjH6A`>w<3zFjz2%}xF}=;Y#0#O z?cyvcKvux#w zJJ}$C0fHiZ0#g(j%~lz>m)Z3b(1=%BhhDg+*>z;vfdGh=*QFN&oA1FsWclcK0^CGq zyQ=`nU1*=)G$k09-#~)30NER_eIio=XDK^m1F!v^)$O@am}ZoO{1SJSGBfN?L00ACJL_t(I%jJ@>YQr!PhV=%A zw+zL4h%B8lCD6eT3K4V&*vi~&GuOhXLibfWz5_)9I}W#vt1Uk^<|4AFmTal;D4p9B%bkE?Vd4!L(47? zCFnRh@thP?oZGNXBNOE zvyIa+bmLrn3<^X9wit9j0TqXiUCGNQMPh?5#|bpcR_ID!Tnm~`rL-%|m;f=JQhaAX zhWy3*@51aeVM)IIKs~b`Ihg#wEwdk20_nTK4{co1A^1@lrxqQ8AGMMZ(AkecD7EM? i`_Uu^VD`iR%#Sb4pwRxV`(zma00001fs_j1RzdO)J$giI_tC~G!HJsQn1C}wf zYB*#Odt&=6V(aq`M_}Nh&%jGtNj&4L+CO6ehnAi1Q3hVya({~faqqjW#B1E!M)!Ee zosb_m0mAEA;yXOCd|nF)UTZyNtb!QYJm~%ijc{fGTr%4@9Ya^n#pj?vL|}_S_Y+WY z=-8FKd{iVh_;Q>;vuuT~^u?v1=~PO)!i)(J<0-{=&S>?MfAs#lFnF!M`GIPj1^r6o=^o9CYDDq88nob#j0@7qG1Z2!)4HYNk+K_=$?B?4)51 zKx%Y=Na6*$khifG9xf{_tXUPcH%+!#<_J~aP!dJ)Us0e-4S#IG06)Gre4^+3Y1)3} zt|$L;{ov@J6nR=Pz9|C^et23rKPm%WoL9cBmX!GFS-xZ#U8c7 zEu1Uhq6Da(yr`aDRG$?CxK1z53W3To0%sMY03c8?j;m)z#W2#7APxKg!r;oll?A@; zyIdoz#hcxHpnvHCM#uFX03+0ZyLRscXFZqZZ(AkZKC@QVU~k|uLu z4cI|2VjkYlxn~DM!vGiredhMNYv9$e6$D)@pt^AXIe0u60w1}X9=gec=&B$6*1bAF zi{a{RHesvFU~}JBj0wO4#`=tPw*c5)UG-2UaJPfOh=28%8Goy~N%$Mn_9+Gbnj$nF z_Zqw7v?fyCAuzK{4*Z(x z>DTK12Cv_UIkhOasMW~43}Q0D`$af+912p-bAWJxfRMPrk<%<7WCVl}un_4Ua3`c# zgicgq4u3+VOI*Fdn{VK8)nkzZTncgb+mD~xQ4a*d-Nz&!5V)Ui04W5dfxmErzaM{E z?LjW4DL^yBP;4GT3d@l&+qr(&X$zbpbyoFF{M-c=(<$J1Iygg|fxJ~4?DjwJ)H+9@5?62a1Kj>*i_J3DVWbCEwPqy~2-qab`40000Ll_2 delta 1082 zcmV-A1jYNT35p4jUw;G@Nkl1=U(Cv?xOs;#QeRP3+dCj}Yc9Na8<`NgcfrIhxrI z?=6-Pzn?Viu?p+SzpU>a>{TL9>-slUz}^o}>!$}*z>CxRw||X_7GE8m)}J*hT6}+W zbbQb_t^^u5qglFzQw5w=0F9#;jpMV%vvL6I`0S(C4}o!KYH`a^J@No$3|QadoV#qSALttZ;368)Rs8-KzUuzY{Q9K4=$$MVOz4&eDCHXQZ0z^ie`_xspDP2uiyaJWAPJ{j(2 z)C}&2t8VyeIW2$=!y4>1VX0-Xxa%s$0N_4jBgXnM0G88IGgJ%Qt>;bHfEm%JS~CcL zV^}Vw;9gOLrc=EBWptbBu=)86x-+pn7ePyPuo$DM!+(PFSs?FbLIh?DZ+GgB1{Wzn zGiOrXBCs$G4*ZJNvX9l>HLhQaB{eBGshPPPHz8&-yj}!L+omApvH%EH2ndMe*Dx8XCM%yZk2$YYH#`*_?`w<^Eu%0^zaPv z4CIXhlQZ^(xRK#-{J}8_SSA5=j;gIXBXb_CZio%NB+$jZFBE})EChFRQ@ih7B^!JM z)sfQhA;J@BYR%O1MCgOONQ@J?@1PnrqThQmh=1v#s=e+RRqLu<_4;Ey)_i z+os;LdZ0k3;*vPXLyKQg_1{4zyG{7$xM6Gq|#U2)KA! ze2Vr@Yyr#qDY8Gt2Ne(Ua^KnCQ1QT;q#NK@cx-ARXq9i|P-JjR%_1~Y(viv}V@pirbLgh9; z$V`4f{Vx{i_Rai){GfG%I6nx?4|XO$C?LuY>JVr;Kj0SB=NIP((M;zDOc+bM88g%Q z06|_SJ9bz3$Du|OEy?}EeHKVpla~IU^jKx}4|HMH)rvtaKmY&$07*qoM6N<$f@6#j AEC2ui diff --git a/graphics/pokemon/ivysaur/back.png b/graphics/pokemon/ivysaur/back.png index 4ec8a61a17cbb727f45d123b8564548dfbed4360..22b7464c0b4688f46aeae983a194fc1176c6b79c 100644 GIT binary patch delta 668 zcmV;N0%QHk1@8rrUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvVukFoOD z0006~Nkljz*nyZ~XI zCBB+Vc@1BC>$U34LL93#PSk6=mJDV;@BBN9D7N~CUKF@|2skZ{3!SWKA{Wb88Aeb)=;@~d$ zH2mmmUFtvH=zkte**tDbs)j-^oNlo;cfW(HzQ(OmYb2sOXMAcVh^wv*x5^KxO28T4 zHz(62QDT>vd1{&>ni%ePM=*IH)FrLDO}HWQh?}P!9OoZ5L^T@sqf()JlcLtpetT-5 z5Am?saw;T4YjcBk6fJ{&4QxmcH%+rQ{ zQN>^{K$5WF>M2KrgWZKL5qOE_rP&M&CX!KZSP)jvA#4!NmGJ~$II>-YOnd^Q`?XAj z7FbeOeSZj9fS+WQq~JCfw1i5^k3fSq(kqi5C&j~6vQ#MO3wAl^gW7r0Eje}kx-S3 zx3=PY$^&>aeu0hWS;7@x>et}fTd!4T)-FMjO{-qpMFPWq%=|ls(dZvsH@^ekcyx0K zjeTz%1ebtPp7MtGuf~2bzf>XgJ#X!W!y&>z@#7Lu4E*rpV1EP#%J=7=Mgizt4zr@v2fbvy1(BlmB&+45-a6Oj&A^cacc;5?DyZD^FA;#)YLBL>j z3C#Z*_$Lr9Rt9nK6nr;=_)Aslx4`SbjLq||Bs&y>;cSPMxql0;yB>E+ZIFoWN0W0i zMO?RIxKlwyHh+Q9E{PIXV(zP1ifFd*us?z66QM3?-5$b=kk__;*~4l7`H`qX z<9$#n@@`Yq8k(;!HFP1K9(SAy$x#!72(dA zB&%zPHR{yFEI#qJ;df*i90W)b7Ti7Mh;VeL&?N$ws9%T8z+fU7<$?vF{T0Fm;anMS z@C!$FMaXQ=fK0!VjmQBcSBG&<$I&ZYj8vxu`vVH%-|EqWX1Wb!jFe^9a QO{1STa~(X%`N z007!aL_t(I%iWSO4uU`sMUihOf7o5Y##qX9`}faG{^VKK-xamfH@hCEf;^;COP{0- zjVEmTeX=ng#u_g9t}*{Z=Ss=Dz&M7yb2-&jU<43EzE|rW2H82L&i5+S!wLus$Q{R5 z0!0x(M)c5oB|rh;ns?fq!O9>4C0000b$MRzO%l?l}G^P!s`VL=SaW0u&(bD3qT8PWg~w9HQC*AXgY(P^c?K&TS0EVyT@V z;tktLJ0w)TG{ZhIdu;~v72&*V_P}U9Mqo4_3Yd2SBQR5MC4KNgKk)Gc6ROa{Y^o6r P00000NkvXXu0mjf_FP+I diff --git a/graphics/pokemon/jangmo_o/back.png b/graphics/pokemon/jangmo_o/back.png index 6416369e961f2801700974fae9118b9749632137..d6e912f09092a799c24e2bf40c5853b2bf8e8e0b 100644 GIT binary patch delta 498 zcmVK~zY`<(08+!Y~kq zAyPI5C_=0uRl-1*#Ns^)$d1HTOTNqnncErr0DXokY#ln3J^@cvo0NhbI}gy_;N|~v z_uD>SI-UO+gS)6*CnWO{!KB|MDsrDbB-u~{r0)hMN~(d(m*6*?e<^~iP9k50OE_)b z-vC()ka%nS0MnHZ&>rTLPNfD$?p@3a#1yH@kv+Q3LF<@cAy*`~07`WYt>dPYC|9{O zfhj5?)H+Hgp_B_WQv{_V&Ixvq00WSPRU-wYwGLbZAUBpn0HFaTQ3gC=rDZ~;fU?%r z!jCaS>#Qi$!8OFIe`8XbCiHi8#L5BxtoDUrBKXw-mI;V;_3~=EOu&d)wYPxKBt-T0 zVQnKYiS+^O>k7b%s2yOUaog-x=Ylu-!2l>UJ0`saQfPK%Xn5d`mfN-M;oMg335*oN zJwvW3mYxYxTy)-ClKxNXb@=MD6tcA$6i0%EC5Xgr(_9w1~$feL#3^5`Wp zDX>8L?$o;lGTdkYXU-Bsd`1mOwMOm%GsNwP<3>GEH?UBXC*_D^MCY8OoMbUPjkgo` oAXTq7j@2nlNIvlX5dLm_1E^);uVYp<%K!iX07*qoM6N<$f()GDWB>pF delta 507 zcmV0H*EGP&4UCPbz4+x8uDYB#|EHXKQPi(4dkH$zw(wK7oQG8 z9nSK`yuSkS1|SXg_yNX$%Mf5P%orOh1N8l?m=%Z_GF>Bo^Z>E(F~veH>C^!jGd+xt z>r$awPL&OeQ4?+Bqv8rmHAlMyDK&8_u!R&jfGV6G86c~D5C#CXb`kk;g~f>2C<3N9^B7Gz|pW7;4*Rne(eh>Tp+Rl2Dc|By9P42J(X=M!)=F%Y@60# zG;S_nm5}}!aw)O!`VlG4erO1tHcN*6`jd&IY0Qz+0y@KHpmPiYa-l;!9QOgB&5;3< z?C=%vOXNyof$ZH@>$eKzxHbSzye(pUMgu7Q^Z|On#JK4TTs!Di$ir26(IiQa_~o%Vu1gukjN`Ua?F;jcWvZzcc$002ovPDHLkV1kHTp0=XRm!va?Us!98L9Qz)afkL1#RG@AG1Zph7FZ&E! z)78Me#UgmjiRYKM@1H02ynp>s`3!>gpTY&KM3Q2lBz8g|QT0p6j$!$ado{~{?Ie9EwY^;9=Bo<0}ak;*0 zj9jBtHhx}pSQMave_FoCRP!<$Kby6e(t1>e#}zDqp*|{ronv?MI%Ngba<9WgD5Xu5 zMEAnYJtm35fyCJ9pH80azLVntx>Hr#GY?UaU>u-!c2L{xKD-1mir}3%IdprbC0e5M zMjUhvjL8JRRYn0*V`gAxh6K!qb!XEGAcL8CgP!3e;N|seP!up6W3u@g!Di!j+?0a7gSU{@M=Yc>~`W0Yn zSl)?uyw7*B9LKRzOJP%g@74fIwqr14fo-tX;4$qtPvTaD`6;GMfH`VeL`-t686d|L z06HEbBbwewFGu4J=5(V?G?%DNgc%V@ZGPhqhP5!65c diff --git a/graphics/pokemon/jangmo_o/icon.png b/graphics/pokemon/jangmo_o/icon.png index 0a8a2c2d03dee5f814c71ec36f5d9039e324496e..3c2802c4ee8a8a27419bdf59a854812fbb184bae 100644 GIT binary patch delta 286 zcmV+(0pb480`&rrV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1Ske(HSfRx z007uYL_t(I%hi&x4uUWchWiE=aFma*lI!^_xiMX@{jdSVT=xif&GyL!T{fqK$v^N3gi6v knlLa46Z+BU4;T7z1*m12)76?FUH||907*qoM6N<$g2-uoMgRZ+ delta 248 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 diff --git a/graphics/pokemon/jellicent/anim_frontf.png b/graphics/pokemon/jellicent/anim_frontf.png index d94a329aa6ce63bea837cab5713d8d79fed15659..581806f3b5bddd48dbbad2856f63fe8dc3fcc2f8 100644 GIT binary patch delta 981 zcmV;`11kK62&M>-Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Lvev<|mIk z000AtNkl&5oNe5XZUL_a6EJk@g9q?h}|*azopgj~i+dvphhsa;-w-2Pi~y z?4j@385;-?VAV@2Rcoy_AM?w9278!4p7(bbvwsWmEKH*?U4H=TqSpBW;3Xj(>%|-u zBufGw2Y^Mu%V9BtClOHd5==slIchZ*k1yLT07#%#TlisUU9gt=LEwr3v9W-8dDsvp&E>E&?GpJ2UYfmS1N8HNDmh@8ajJdwdl z*h`_G+J9q!XS&dXHNLU9QiFIgar0(PETZ^OK+2%0lwwD%M?(brv?RhNDGo16`OWXT zI1(~o0)Gj05F+40y6>$tmzFSod}T`Qs9n5+kj=Mcih~W@`)j%rekE`M1iWp)Qq}}O zi0{Lc89xH-3FEg!nc(fkiFh-JGC!%T+_u8R)M0K)5K$|9m$GS? z6{sBl*-sp5Y>j4=*%8e!pV9^PYXw!{+1k2Mr++|Uf+S_Q5e4A9EyjagVFD^c;$G(9 zYRh3baTUjcq7wnGI6j`pJas?;M>XpTEW*=PI+*u_=oIN73Km=|U^-yS=Bk5t-1qdJ zKTGeQuK(ll;KTht-2cPtAFat1Osfya=;7e2UpRM~p=3vxtC7xw&-M=<+Dvs`*749_OMucrxiM@)~ znUVV+n+Kfx1f&F2ZFd=a=BBJ<&=Zg{sq-40nSe9YU+ix>0V&t(aG$5-+z4as1sNFXHI;EGNyTiSwAbaUq3hIe1Sx~O$N z0eDFW`+71*1<90v#{pmx@N$^U;7J73xCE1sV~$#l#pCmOjeh{FMu^y)F)G%uGAVm< zT+CQtbr!~4u$BiRHpZ;sr=fMmT87(U=7IsSvVd7W90-%7ML0lr zKnBWmtI5y<_zB?90ir449;o_pS3(D52wdY^0$+wF%Ajw%$TWVAZ*kOD6dwRpDdnoo z4;jXLo6sm(V?b`2{8+%T6TpMg;8wM90tEDW8-W|KcYm+_1U84JEVSwtNQXeHk+=-^ z0Og3B#P#$fgO#vbp`Y5PA;2?T=)0AA14600_&}hml!~GFy?~TKQz^yvS`UT@_Gw9k zO;YTZO8L$2ZgC`JzyuO%Cq%%7bl+QPE-hjF_`;OhP`h|LA)9Z@6bBo)_m^}d{7T>i z2zc9orGKmmfDqq@DKmZq*b~NYi88^z7boIi5M_Q+S-EwEiK)Zflpvy3_%3nRQV9Aw zuVSN`|EJYJ0jNOb_+&qEsIfJgQD#Rp!+c5?*sm2-foE&GjXDJi6C^3agD3#!Z803| z3KLKn63;RRS6dGE6IXF8C^{10isQqH%u@#xuzy#huD~L^+DZrGo)8@)9Yn!c7$pLx zgGul75SWa6>^L3AM)@1?x$FP9J$SkQ%l&D++`l=fm-`PYeeV8UrO(~JU7h=n&HL8< zcOwAvm8z&+cK&l<;|mEJoB-i-K$_S`(N#f5Q3$ XQ^c$ga_|FY00000NkvXXu0mjfY7WQ| diff --git a/graphics/pokemon/jellicent/back.png b/graphics/pokemon/jellicent/back.png index f6ee8d602d981bb569829f27672903943bc48739..b0c6667c8668d51855fe1c8a9a2e6065561263a6 100644 GIT binary patch delta 432 zcmV;h0Z;y@1eXMmB#}W-e*gz`Nliru=LQD^DI}^+pJf050eVS9K~zY`?UlcFgCG=# z?eVym{Bh?-hinNZ-D`b-9!_y?htRo0<9oRAwgn*skTA3z^E=t@m+xLcG0X1xMINSK zBCBP#dQ8;w1KD@S6tE$impU~9kPUfF&9DG~zX3Twovb%Nf!$U#e+1ZxLCxOdOK51# zIOnV%PJOKYBuiXn7>0ACP025j!0;WG8R8x=_=I{yq61+5~0qo7c! z4rq!6&UP~jx&K}Hfz&wwAXMrhu05y%5Q0lE(uyzU0Os!|YYhOi9k8u$g%FZZ4!+PQ zuK=$u#0YD(nuR|4f5MdulM(d_m=rVy2!W@u)hj^TD4-hY$LpFj=rI7#{kGZgH%`t7{E73Me8h6?o>{Fz>YDRWo9G*%ozIU6>x-^ z!ggJn7xreR>u5H_HF%drdw|y=p)i8m3S{pMnij~LBSzr8CVRKcyWl3coqP*!cK0vW aKj#OHdgv?4jwv4i0000zpKE~>Q&$7f-`o6zJ+LU~Z1p4o=%n)B#WR zjSxZ-%E9O6w8U$}B%GoYgaw1UO}A+R1>T>;vEMgi5xyk75>18iJE zO)mlB8a!e!J@&2vV7LK%Lse};;NTnDb_jsnGf2hc01NmAsc4;L%ALxo4@_eWc9|Io z06T_$)W9JG#@x8vIm<0065o>~X&h2b& pyWqyV-+AL(aI?)C9{JB?*$<6+=qpO@Puc(g002ovPDHLkV1k!q$r%6u diff --git a/graphics/pokemon/jellicent/backf.png b/graphics/pokemon/jellicent/backf.png index f6f0b060582a1863caca2cc7eb6bffa942df6ca4..4e40570c49d454ac449306f6f749a1555167d9bb 100644 GIT binary patch delta 477 zcmV<30V4j11f~R#7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lvf4-AS+W0004rNkl5dr5P-el=juSDjtn&}8v~rh1K20_M&bn$ z%WvB==Ert{q3xKHVxio}cjt@jF!qXHM8P<#F7nV+s()S(YIx$HE&y(x2>PM~M}>dt z3SbHmt3Lr8@v;I3L<1LNpb8QZ#K{yvq82w=CUMk9(UmvxQPT1`P4@$Wa!X7U_dG2C zpo@ShRTP5uPyKg0kSGd?Aq;rnJy&db3fO>1vFDw$umWFin;^;uVoGbs1aP*?Yiz(c z1I}do*efi6^&_Qmmem=c`^LG4I0b)9ADXGFyvOjpQ!6RL&n|5SY^sNwiDpb|*bQ*a zOsL&3I}*TAAHx^{<2df!I!$FVgSB>VW&!%2h6S+LINLHF8!#Bg4L|~7L%d;<(FhFV z@&F(QwPR@nCY;A3WHqq<81U^h=mCzWAp;=K@|r$1%WKFKXj!h%DeHk$p;bwO&OoZD zV}V(2j)bEpdqQt7j2_?;JbTPC zL<Dw$via{YgeX9!4p0r&~T#P!+*z?E>5fLrz$;8(FDoc*i> zCLO~_r_nh8R=_a96=!bYmf$2~c&)>qiy#DzFr_ZRR0JdB8n6LoBdE$#6)+j0@k1Bh zJHp^n8(@WCoyW?5Lx5AF(FFhy|u@?$x$Qy{wZoJ&{{9Rs#N+8>Mb=tnFvH@B-~ qZO3tEyF`<%{Bl{Eo&D3N|I-i9!8GX)m&)4!0000 diff --git a/graphics/pokemon/jellicent/frontf.png b/graphics/pokemon/jellicent/frontf.png index 7c40aad47919b81abf3cb42698135400872e7bef..01d6563749efa39c607e7551706ae24073426558 100644 GIT binary patch delta 733 zcmV<30wVp12CxQ@Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2LvhyBLuzF z0007$Nkl<`&rBdBIPC~N_MCf^Vp#gG2sBg%C-ej9iSnqJ+QM*wc$5GgbiRXf~5E?x|m00(Rv1#qEU@@D~n9ex3~ zhH~kj1TGX%TL-}AX+VUArr5)+scHs@j2yx>g)}P>aMkr>mXLstKLG72Ef^q=crpha z!13cJz~>K^X@3|PXIV0^`9&(9zt=9=O*Tow0ieTFx2w2dAjGkRv}Ya#_*kz}?K+`I z0I&HIuv)om^A2cNYd?_A0k4maCba`V`-}2`tw%{3c(lP`1jsYu@d2nIg(=XD<35E4 zP!e!W?*^fc&+K6Dy(ld`r}sGN8;;L_uGM;b^T(3nqkm3VlI$s<_k%wraC!*PKw0#y z+j{{9Mr)gZJ8|&Wv4Qij?82?T0r?!bX=L7E3b04wC9dZe4o<>#g+FzFb3m51wv#sB zSkjnDyneBH%ORF3>BSv*+a!6iN?o+nfp;`uj`1S7E290z~q*09)NNfHB?2xqvW1S`!f7h&H3` zC7Cz^p(4yWC%5a!m{*vu5=``l?lM1@O7ZKeOTi5L(`k?Zc4#X4b59a`S{g$sb0u1k zpRqNq*ABZVaJk(}ok2qeSuSWGYNUEw&kMUD16EE$(^yvMbE|M#agC&ek`n_yIXSP$ zGWS4@2lMt+5DCq;vC;c8Avq;BN}`2RD-t#m%ZICtzBzqQ-<{9;AJ6l@k6qzTq6|w9 P00000NkvXXu0mjfPP$2X delta 694 zcmV;n0!jU_28jlcUw;CWNkl?%8u4=?FiTZnw_$-QM`Dnamnhj5=2y@>N9&R2l0>TJ0J1X+yd zZZ)IDY|S8$h`0&_C9Wm}ngFwGAvBhh(U~PZtq%tRaKAvLP=AxE4!DP0e6w5v9I&qy zz@2J&BT@i3;1}?ysh0V41l&nbdk4VoZ9#;F`gDZnP~{8|86|{Uk~BLJ@X*y5$dG`K zKLE`pJuyHT@kp200$e_R0(|~po0@@fl?4O4U*z)nd+UnbWs@Qt06I){vx!d(ggCa4 z_QtCKAKOi;-G3w$8Q>#-12!9Xte1dhv-Jz<67VrhG^rc_+8>k$>;M#KU>JSE2#`0# z%K)gpgelODbzi~&6a+ldS3s!a8z1`Le$HUTf0F#HuUHB{HVfKQ3r_Ra|1TIV*q11k8=TG zg0v?fe18&6Mt?8K#03ZyVb(gkLrcND!+e)uqBC@s`QK70zFoE{nEwCiJjeiBG$nnx zD~TO#jlPw+7A+{x*oyXRi)|FR+Fq^BprL>)7qk!+QopU{jonZHm!WAbOZ2ssIPJJb zQbEa;0biV)cVwA+pu)3Rd@G2Aer;o;<#$4IO)qSeL`yPRM8Za^@6LdLRXq^bb)7cK czku2J3y)plPSJJFzW@LL07*qoM6N<$f&m#t<^TWy diff --git a/graphics/pokemon/jellicent/icon.png b/graphics/pokemon/jellicent/icon.png index 0a6f313cec9e23019a237646233daeac753e18dd..2b8f126204f6fe62692bb55e1489a29211e97554 100644 GIT binary patch delta 352 zcmV-m0iXV&1F8d%7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lvhzv%8>00003ENkl1sx5Jh!@(P5@>A)NE%9B#Gd>+qkh| zkgp(^)`%r)wlJ$`ZAp;@TZA+rQ)xc)C42r8;*XcC`%hm9?aQGD$9yk^8zGL@!a#q6 zA~hES6NM^9)_1yGh_WD?iC)7 zs;z<%|D}Emj10i|-vDDPU;zCQ7^X}L7*>1)1~>zA-_r-1fN?Q>nSjaZ%XM?P@APqg y08^x|^x69&{eXiVRGD@-FRF?kbiGykWZPdn0Jn4PS3Bka0000zio9lY4*Rg5a^+E=*2HaV`sMQudifp%J#4& zVgy%1uY}2d(#Gx2v9q2x}vE?_3Xmq89Fu#H$q5Lr# zB4(Ai1kzOLa1G$wrh6f^^K$(P_G9?1LX?Eg}({MRq&<^ZuHKxW9T0g{Zh z2#~P$I0IrJ9NZMRIxXuT2gDP_O%+3+gr8af00007zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Lvh!#JrHx0003ONklMf9`tJI~E8}BYHJ1!|00#nDRx80{ZS^n=6;>s&n_KmCOK!$Vhz1n7aYU#58R6c)! z=1?f`%eWNmNNVo@cKF=S14Ai9lX7vEL}{y%|pkIo&qNC)u2J5`B>F#tkw zGDRIA^(!_#8D!!jHBFRao|({A{F7F?0%2$=j9CanY9S0^A&juuT$qk{VcOA#UYOP& zUywTsvtjna7#y8)kt#f()ILD18;tkXLK~9??lKV~{l~O_0JY$r5%IB8W&i*H07*qo IM6N<$f@@ismjD0& delta 356 zcmV-q0h|7`1Fi#*7zqdi0000?P=%b4AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0003UNkl@o3b_d0QocHBW$-uL%0P|Js#Epx@Hd3u|*P5UmWiN+UKk1I>R1 zz4yw{gta~sfqbCSx-eR@*%1gk0X~&8TJv7<UR9TJd00maGKMGy(ShgzkN zhyjTMq09`;YMn7Qe-qGJJ5LT{CL(*ZmgNKoOaBP44hzkeI02R%(<}0|L7--|{Ih~r zV)KW%U~}%T{fYf=0f`p^lIy<}klav}y?}5JwgSSP+6qWbX%>*n_Fxc@g**hMqXa~; zkOzjOP=SZ|LLRu)_w9GVN*=iUkL{1OJUqA$Z~qUqf)d%T+6rU<0000MVA!=>YlR%;m&kx1b^W;Y3G9EiSL`Sj-S!VH zG;x*G=p0Um+Y}%ij`f3+yWJ)Q6s{VJ^mQ0+TCj-|S?~J{s_%b;vZ?bDnuHvRP5}!H z1T%>k*azYp8%ZCCJ{5)jYttse(n!ghRsRQw(#IYHag@25fSSDh8f_BjxW|8%h-z$` z3^4ZiJY5BLK{j*+?DR`h(EJ+DYhJT{nDxU))epr1{lIf%Qa=b$=}Gh;5~GOHh6|N7ZqW%Prt;QNa&qf0B0qLQJ}2Ghg2;za$4 zEYX>%>93(SHUnr6aEO`FyFfFu2him1CK}ccT4e#jS-`1%(BW7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R0s~1zK~!jg?N~vM z!!QW6f!Nu$|9|fS#z~#33M7}6)*RaSFcTPvB_^dAGiLnh$T{D`0|4HkAf$T?Ot2s- zL(Uh%~fV)GddJ$;_|YeD3}GXdjESq+IJ!Gh#SV69BRMc{yE zhUFY@1Y84x4YPa|CV>a968x-d?b@yUT-pK8^CzwxAEnk>c6=#zqVxJybY>{_PQXj2NnBf+~VI2@>IP?69gJUV>t<=H2LvNPJ~(eo(`asQx??(_9}LH7@& zp;7;U@d!2s?Vk7h2W@^d0UN=HgTbQ!kPrTWUefN}FIy`+T9#*utj~w-T@wnJ2j)NI zH@pZK+Ffz_#t?A6&tIWOD-@KX?BbGyYBd0;ERX?yZfNVh;Whw5)1oIr)4~z)(l(%_<F?q} z?QK%}IX;;VOonW>xI|Ryu+eqM(n08;=eFxQMu>c=gUl9Gr%dnhGr(e7Ee{xJ0B846 zBk+_4smHwlPyyoxXt1k+c~U#D)E#At?eJHCz5-OJBb0!?0;UU~`*F3-*{L(jfkA$5 z4PO9{107R7L@@0kl&(FvJovhf5K5rxF^SvfWrrXxmkcp^0f-(PBv4v#2=Qn0t$$X3 XC5nl4Rzv_O00000NkvXXu0mjfBG#h# delta 373 zcmX@iyq|f31SbbG0|Ud{?Tv3HD%#fzlmz(&|3?F76*o;`U|`hqba4!cXni~NpwJ-& z9+%xI|NqZ!b(qN265`i)wrBgk<7y2u$AkU<1~EqOa7a0>Aatlt@sa0;t&Tqhc0b^g zZ@I7L@T_%5c1P^#lj@A`zba&Y+4x!Oz*@N_C30Hz>)V?`<5=rIymx-;d^r23l0(!N zr47nYHp(9;ec85M$s^jGLaE=a_$c0&B^Kn-^qPY)=4M|4aDfX6AMW zwmn=mj44IRJG496d=ENWCH{Q5^qy!!aD&4~&SUzeHuGaPhc%Q;C}a8Z=y350HY?fB z^=b1H#T2w{7&9bf1QYBpo#s$D`#n?CvC_IJv*V9ff~3$o+o(UlP{`iPFhg2E=JfKH Rr-0$h;OXk;vd$@?2>{eCuyp_c diff --git a/graphics/pokemon/jigglypuff/icon.png b/graphics/pokemon/jigglypuff/icon.png index 4dec4fa021b42cb69c85e51294e02e2b3fbc827f..f78bc4a78f5844759fc8ec2c770d92354e330f73 100644 GIT binary patch delta 258 zcmV+d0sa290@?zQV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1S<4Z<)GMLhu?CJiDRrC8`H$+ z)HJ{^pUx-$(-Y#mBEtsQCd@f_LS?`MI`AP0O(S|fVF-Fk1ADDi4u*lDcR-VNEGNWt zE0D_o)TLJG7bULyJFP(44!4>C;V-6r6qJ@qA}S6XjMR+mMJ!8B6R#42vQvH$Z}R?P zNAu=rM*K~FNtpBTEsSD*RJkzGk0=Z`C|IY>lpn;a`D1>(0Jg%f%VXKYqyPW_07*qo IM6N<$g3)hjI{*Lx delta 221 zcmV<303!d|0<{8=V1K|#L_t(IjpdRt4#F@DMRNjtm@bIkh=EJ6_8bgGYKAT-M(x1T zfs>?CKnZhJ1?dg=Hr*wdNDB~&OyW&I1}zP|!y%blY3RHT zkBRbd{5_w0Tqv~yH-|MmI5MH8xAbCmQCca z7!2|#DQRE+`P%Dbezih*A*G!9oBAbT4!fr?1%Ta3VX_}t7;aGV!8joZq^RWqKJnuL Xw!*K=2h?1D00000NkvXXu0mjfn#E!f diff --git a/graphics/pokemon/jirachi/anim_front.png b/graphics/pokemon/jirachi/anim_front.png index bd070398dacbf55a001d7568317b9e6645f947f0..cdce48df42b039c87dcf1a9f205005f13ca84b61 100644 GIT binary patch delta 53 zcmewzyO@1~^5i^iTUE{ikH}&M25w;xW@MN(M}mQYfxX1j*OmP_8#{}(=ChNHQJe2- H%P|80fRPSs literal 12027 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 diff --git a/graphics/pokemon/jirachi/back.png b/graphics/pokemon/jirachi/back.png index 9fbca55710f893e7646df1fef32c19dd50145a3b..3c97a00f98269313825e8d7ede4bcaa3e74c5ffa 100644 GIT binary patch delta 601 zcmV-f0;c`V1-}K5B#}W-e*gz`Nliru=LQD^EDL<-R(Svb0wPI7K~zY`-IY6z<1h?{ zZPim)&ZtOdbKw93xS3Uaf~*hVI4q`}BKJu;EmCclU{8^50Uv5fNq!`LOg}`5g#Ra! zdXNc%Z)lZS}bvl)(ciqZwf9f!*YRD_VW&MY*Z?mo4|QJx+dB-8s5^r$!nS`I;ZFBwz*YVtqdVyUf#fLh+2UjS zGK9hjt2P}Fq*FRD({?#6I)-2Pph$-CY-20KpSy+O}2tE(K1Oq04ef0`c5Cf|H4qK5JtPG(qsv zJiPsO#hYRKeQlcNHq{)>^|Usp^^NV%1kl{Bsxs=skp4Fxf6JsB1}e%z5k^2xI;$s) zb7PwE4ERS2Psl(8xw(u>c%dz%1Q>-8#qe9F+DZ9k9!chAwvV>-R<_3Mn`P#ntqFf zL!qv?q1|RePaX&l15o%G;ig%r?9XyI-qM5Z*2wF&p|`^UDN=U0fT4TnDTRoKPe@AX nk5h7^kO%h<7X$#`=&$xaVhZjmJg@{p00000NkvXXu0mjfV)_dq delta 613 zcmV-r0-F851fDb_Yj~1zK^kuP_1(rD;AejkZa>Vrvurzzb_+uu3LBzu}pv{&5gqaLE z1BaOm4k(hz3|u2wGMT}DIDIMyWe5PO#RRYoz;5)wb*PbaV@3$IESn6JYe*=g^V~-` znh`=7Q&cVP^u-+W;@xAIq);w%6`bmZm#{Ho~@h8PU#kXTVkdB%?cN z0g2?;<5!ET=4D8YBUY?iK%`?jtg9;IkRR!YE}#P{NQXMPJAjFQejzbsr_KZLB%!>uF_As~g+z5umTRAO-_;7l*V5zs~o6FTGUFPB975h8z>IOxwg6EQtCx{tev&=E8+Uj1&L zX>`QyuIXDQ912ar4ed7*@j!SOfHKSoKg}ZTKDqVU@s=JyUAHcR?izZFy#XmxcKCpi zf9NTNhO{1S~13h!>pz z007oWL_t(I%iWSO5`!QRMLB`oAqPkbtWA-%)rM{L#+-qf#Lgj%V(W%+5>T3$B1N(t zkA?ZW^BDWJ;x++Ooivzs3uYxZZ>UnZ1_U0gKDh%los2D+a({rnS{nd|QkEDV`Hnij zK#Lgj( z!PX7KL{QS0B1N(tj}I(6kFj4XJ|tkOl7MNpVAg7LhDwcVK;XdYk~=`%sTj$$1$5O6 z0dOc(f#Hx#RPrJb>sKUeZ7I%DslE+uJwz@QMZkD21hF+3#cs)xiECSp;s_Lgh3g|1 zHw=UW@x$yo3C+4K;#edjn3`m2Z&Uo=`i3xlmk495sbTz<&O3!}FGVHA}LY*#%2+ChsDy%~y#00000NkvXXu0mjfwNYz+ diff --git a/graphics/pokemon/jolteon/anim_front.png b/graphics/pokemon/jolteon/anim_front.png index b5c8be0af95eadfd326c28424415f452ce9e13cb..bb262313f11cb51e4c88442d501c5bdf66df8072 100644 GIT binary patch delta 958 zcmV;v13~<}2Z9KY7zqRe0000wvSo7K;cki>LXG?mYtdK?kqN;0lW8b0M+gqnsQ?Gb06<&{{XF-C6Qwpl znLOov@i4Buc=9cQqj*RkeRqgB>C=Cn>TOm-JQ&VAC6G(U^S2Fkh}r9y--LDH-PT`Lg(dX%&Chc14iu z$IGl(nu2&-8zIZ_`K#rXxRD5?ym|;0MK;f}j4>%$3?p!>TY@dK9RIkCSQqPX>pRn* zFS13x!n_93`kwM^Jw5bQ!)W(Bh2(4wY zHi_tR5LNC_fENs;|6|?U$4S5PI-i4L6A%Sk1MsPmC&O4xLv@7R*>wN99>n@FCCV(* zhQaG^`bitk6-r2Pt;v71t_Q2*BWWZ=`@;xodJwEQTFhxyl(!OR^QzsQlyf9bgM5Cw z65OT-{ybZ;;OaWRX}TSY9y~&O&<4WUjnRWz_b1K#&Omf;w(3Dv8Urx^vls@+R>nZ2 zY2LiP9fBDpGrx&|_6H(sr_68Sw)NSK2B@w5>#{u2x$_5y3%e>m5S&~4gWW*TAG8-3 ge*n7ohke-MCwkL0f}-NsHvj+t07*qoM6N<$g2RZ%q5uE@ delta 887 zcmV--1Bm>B2)qZ77#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R13F1WK~!jg?U;>r zn=lN8b8U=bc>nj^m287UQY_Z(Y-dAl+MbmAA)?Jx>8zLkU@b^N!1EB|uEG0wUSzJcaPI(c>BP z*Rt{pwzg!}mu7dWhiL9m%g?nC)-`92L6?;9ebo=PDxz$E!7JC537EWu>66CSgelk} z&@1BvW{`8KONFMyLYyVRtq^QSQ?3~l#Gcn|)jS!5Rjl5=#IkgH65?n@1N-eQUi4|W zAt>bB7kSQ{N2aisK!#@nm3h0j5xAJPxnXi+0!6uKGsSt~deVhd2^byO3-6g#oXZSa zMOZf@=ovMCDgwBEi(X%*rX;0ONsKmg8-pgX=ulAP4IprwO3=(#g)EwaZpNM9IMk@+ zh`}HBZ6&)zplGoZ#ME&Ez;>GBh_^wu(#Ia~Ky*KMYxO$-+S|^j45S0p1PtJPO2PI` z9rI5lppTbmbuUUZsyhKYHSjuZ@U4S#ZA>2kDGnZgYdygp2RwyweDgx!+DDrYfGa6~ zCR|MUjyvwSagDA0kEiYb<7lI3>)U$@wf{dO9Bh=_ z>G%GB-*2O+g>fJZKENJqlotzw6X9t8k2XqgVPM?6zuPD;7KVd>_02}vl1kdSs2Ygz_9%;2F7lqGz+5|2#)sO42)cCl+4i=3u8ABMw3ttjLpH|tqJH2gi!)! zV7xjQt@(Ag|13i1VC(=V0ak(C!RWeYmw{kb28P)X>O@pPYu`Nvf*BZgtumHv1hxHk z0P6qs5Knyt8o+HpaN$0xfp8^(7Umyp?fdQ@c>Dj`KWKp4Ke*$+iXVduBuRy<9?$>) N002ovPDHLkV1j2Uq@e%+ diff --git a/graphics/pokemon/jolteon/back.png b/graphics/pokemon/jolteon/back.png index 2833c80e6817e091bde6aa57df5e8a202eab97ef..13431c7edd30c51cb390b0ab7908116cdf61b96d 100644 GIT binary patch delta 647 zcmV;20(kxV1?>fpB#}W-e*gz`Nliru=LQD^Eh(^*Cfoo30#HdrK~zY`<&?3G+b|4< zt&Eu>!$pAe5*q?Cw>Y3{6W6;k-H1@9^KOE4)9Vdi^qsry2kfVrDQu!A~#tJ zl!JmupU7V{$sqVAExiXs_lOA6d%zuH1QE<`0StJQ-S&|1)#9cIf61q>xAGt)=gN1% zd78Ri0U77h#r0{pQc697(*T@*dcA(TJy+@l+@FN=D}aRnOGhjNU_c_iU!`Ki!P-~# zvY1n%NQ9TGq$M6RwI&xHz=Q)}nWmrw_&@}$2?#-oY?^v$2;F(+erQqNCmnH$k|iJ- zKT7$ZH0|6pa%X=lf0xEq&tC?=^$A$6e+&WQ6aqdERxj&`EP9>{5cHI?B_cHh&@*(= z$(Rkt(8iuxKOV6Au;ro;P(W@#NbmZu?T5$;MSbE6$$T425* zf@SI{&{dX5fV?R4`pgBW&5Q=qe9bU{Fl$PRbkv=T(Ta$X5Q>MA`qou#ZbiO7bcMQ7 z>lsZ538^hKeFxZ#{_e*bKw|eJyQD5eOiwizwQgHVT0lBLBF2Za(b?{cbAX=`;ri_a zv=-xA+yabGX#Pmi0nI}R7<`-FC=t|;<3<1g002ovPDHLkV1n+mE$09L delta 659 zcmV;E0&M;51^We%BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#r#vK~zY` z<&?dS+b|5rZI78E!$pAe5(@${UvWU!$RQBGQ08-g*;?OOpUW3%OdwKrTVrJlfQ0LH#t<%q!em3jgDCt>Ug@I!!=B~~8zKq7uz zwIX0(?3;R7E~rr?!s%7g5>KhxQV0j|g#}>6IVb@x5J77KLXaYzai13}7p9Rr{>^(W>*udy{-6g|+h1dV=u^Ps={*&{~YIaSQltO8ZBO4rmG`VA27!aKcu7J5uyucFwxo=0832cp$N}z txO4!Fps9ZWSYiNZO9IVI;e8tOynou_C=oV4Kb>!3`Knd4%q_)IYE;ti*h|{iB}N;sB`!@br%Z-EFoS(6fmoa zlHCHG3KZqWucr@*{7v(>D{Xr48-afk03&1VWI)_-|Mj!CZ|vgd%6;Qa?# zwVpGv^rHgJf-dwFPzlC2rV(#yVKCxg+D;$#$ft+VIwj7BX?NT+Dk8(_JY1pr(Hu>e z>LEz?>{g#^CtS}=zDx*G^M4Dr0;g>rz89q2pd_oLaS)$GNRh>%74-GCb0<`+v%t~^ z1>lm2cft~>fIzo9hBoS+kghmY`G7!7yP)}KW@Fv(5=%bdv41tkdck7mDD~5yi~MRn ZJ^}3PuM}w1clZDR002ovPDHLkV1oW}i&Fpq delta 289 zcmV++0p9+d1NQ=uUw;7tNklb>!3`Knd4%q_)IYFB#i*h}CiC2FVpw8jr z)LkqTu#9*KQNXO0(6U>gQ-Pw~^!4;1lD{bac8!}e`Hdhy34}<=h0KZAi;~JBgsSlZ ziK9IM#7jUXc>lqbSxeao-*!4FFV;yAZG!=HPQ*K7iB!P#1)+=&LctddSw1MR@Ge+BipfziPuU5XLRs?$%jDSD%#3vFt!Q+PYG@nUscfErdKlpP&S?mjwE@ zRgwk=d`h5OLEoxR_fNL;OOmLle=dWhwpc2nVF*>*XK%o-t)C=kNYReI_lBLH zBr!Q|d~y3O-+yLktYjj9pHJ%zkBAjwIc&6UsRDo83Jjoe%u%W)@u#VqyZ}SYAa3h2 z5gK%sOmZT{7(Tm1OyH2aY}U-EtHV5x=FR%b-*MkvF{E9*LZYIgq9TF(kwB!pOdx`) z%LF3mj6kI1@IdzjQV-v5LGFw|nAcypswWW5;epjXfnrEv2&2U_0+DK%0?!Eq_24*C zGOi~OWJszc*AocQa1bx9JP}Ao0+L_lAG|PXv;rLBKeD f^3!+$MEy-aJ40b#qA16+00000NkvXXu0mjf{HEC5 delta 449 zcmV;y0Y3h|1eOGlUw;9iNkl=UphB8tn02p_yMXXFyc7UakDw0AN<$vx&g{lm<;KDDD4m3Jg zgS0sL#PJ7~6$NXMV)C}d%>otHZ6E}%0mIjv@hO~gSMAnM!Rq7Z{L7DaA;VA)^BacjmLVxA zDJdzYL?A+3ClF5cbpqiuAP^yZgS4tAkjCHLoa}%=0^6V4x+f47!ULmv0udA-j1C6` zBBY-JhXjJkdyb5>?Fj?}Bvp~^353WW#H+0?1X48A`Z`^#X7dYyI2yV4w|nNY{t<|C r@51ZB4Ytc9*M3*}ms7qDW qoa;1)c*!Bey}7@@8g^A|`hjk^a$_MeeoMUo0000_fLdmcgp}FUamGPcEF8Dk^`7P9Mu8f2&Hx& zB@H7ZEC7yEgAVI?KNX#SBuNIOjx(-+c3t=idkA_iz%Zjxh|UA^+J_EnhqYH9jk!8# zcrPt935z8wHqjih%r`(sa|RmrW5ht&MmyC7uS+s@8vxMx_|sPKH{Dv~)fUjw{aUz9 z3AXh+X|Q)w*5v0Dm3{aS?0%ab(#Pb~sb49}Ubu2&A^V$yLjV8@002ovPDHLkV1h7> BeQ*E( diff --git a/graphics/pokemon/joltik/icon.png b/graphics/pokemon/joltik/icon.png index d4f0111d9e081b69a57357c872f903a4bd946173..08aee6e0ffe8d39d0c499e5f6e75fb3a82cb993e 100644 GIT binary patch delta 266 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 s^o{--{6hxzKs#%j{h($ diff --git a/graphics/pokemon/jumpluff/back.png b/graphics/pokemon/jumpluff/back.png index 4619fd07cbef779b1b23989d821cdeaa7f95f9c6..ca251eda7c76d2c170ba31ad85d952cc9d16adae 100644 GIT binary patch delta 502 zcmVF#FhIC;eqV+>zH_cC-b2>3_9q-F` z=lF7sqJJ4UiqI7RPXmZjMyB#ir8CKJFfUZ96z3cV^NLC-9RVWAf80JTgw1mX9R_7t z=KL-wq)6s-rR14lfIwwRsa`PxZ2!*CDnP*Y&>F@ykh(O0fa;s%oQx~D5FLO)K*}pX zFYuc{a_|yPd2*pZM2JCykb&^aV51Tq;2jeY-@v`OLVN^x$E42MB`F9Ds#pR82FBWH z0N$i)f;IrNKj1byf4##fFmtp6nhK+lqO^ConMC0lfvLv5LI?qU7l^lne4K&1ft&&H z5cs~kE1w0n2#Okl;P3_^E+#fiT+zGgJ(#}9^DlmHj#UWwD9dMVYy^nP6r05fFkqGV z&D6^U%gsS=j}Wl8Pu9zqV)3K31{ASV=lQzWtSs;f3rvx(Z0phi`Uw<#moLVAP5`yd z+a5JkV{O{l?Lc7P<`3JGVOYcdM?|+>UN?pzfCfO*fCsn>j<;UEZvqpQreviZvC{y6 sG9{^6X+Jt3N!;!V1E(E71^jjV0{zJbAa=e8cmMzZ07*qoM6N<$g1?>Lo&W#< delta 512 zcmV+b0{{Kp1nC5jBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m4Z{K~zY` z)s;U^!!Q(w?FEJ`wwnzW8(#n^7pUvAq#0o;s?@pa4Ul_-N(@XeqzelXtq+CWG=J(m zrxOFO#F9RB;l`rB1aLLXc>#nNrFVATpV`r=@hc z;Lu`lmSx`Wi$RLXY^Jq;Iujfa=uB(fDF%R>-y0eQ2)G#|X|mj)2f-H<}iVFzEb z1qcWzbp_}I;SgB$HsO@h3k9Z9_6CFuR9qGxvLeGGFhVWk zZLyx801I|W-fXp)^V}ZH_6Pxc_hhwrDds=M7(kJDb)K(^_0j>au)r4is@izKJb{Am z&5O04BS7VHH=}`DdaP_yyB!GZoBXgn8Tvike+0U1b5k4o0PX?x00H1%aIy{ZZU{nk zn$o55#LfT!&a`5BX~JrO$;97Xao}{vj{$#M2>k;6$p#?yMCLsJ0000gz5f# z0003FNklBY}pbqEl!> z8MdZ%O>y&h?7V&Xrs+=|#bKNy&4ZEwz)K+(VU{n-3@%840DrU;%1pwcI0I?%(MWl9 ztCtVvy!s$_IKI1Ix}d>ZPA6{h73qZbg!wCMzD7j606a7czu_}pNQ8aGb9MBv>5O(E z5mr4KW3ti$0!n88tjF*kSZVGA#2 nXC8prm$5=l%dyt*!~Q=2Q0AEMnV7x?00000NkvXXu0mjf#+;P@ delta 305 zcmV-10nYxb1BU~UUw;7-Nkl6{)42JUtVWWEpOAS1dl7SX9Ati+e4_Ino zUUv9;Qc^`4nCDE&;&d7qn`Y+!exLvIeMx(W_jP?8PNp|)$Ezwu>YvniVBpul;3F{1 zhX95M2c-D<2uwmKK?0M&!~vMZ_D^7lTB@)xFqYaP9YO`hak{0gt-!bfeNzR-CDXsB z0y8)&F!mO%Jt{2oVpkIXn}Jz7xz$3H2cc?@!2DDnQ0AEMc0dhV00000NkvXXu0mjf Dx9y7a diff --git a/graphics/pokemon/jynx/anim_front.png b/graphics/pokemon/jynx/anim_front.png index de426d41a553ced38b350b92f4f765762c32344d..d21527af7d81ea7edb5c69e4d796a3e653691b41 100644 GIT binary patch delta 1219 zcmV;!1U&oL355!f7zqRe0000Xamd^)q6Qa2E3Rn4fXx*IqDfw~wE z7J zuispZDvgm51Z475{34{GRQelSA)_V=03TLLEkP&<9SvS*TVp~RK_Eef1PFiM2jKX8 zkjA(LK(G$gdW|%F%Q6t!r}Xl$OUN@nSjpOWNSao={Ss+92TE{d`SU=GCqwegvaIJE z=p&s}ig0xnSRzp)_{#U&3Y@1)?Ne-MkAav6_gRr-%X()Rig9R`b)-Bv^Mind;q!eP z%bKE_u6=}*y?5=a`AVf_EIEIBU1T~Fr0ZYc_Veh&NK#6TW2dVh>1=|dCnh2R2FkHlkprDr8ZfpRv7;GB-vdQgU+y&#BW#50~X)5C`TdwZH!&Mz@``eM_8Mtj(# z7a~L>rrNn{d*Fb+$sT_$VgO+e=Yv1S037H6D+t&_(R1i{JW~%Atvx{sA%NS1`tM&} z79jy7Mvda1VSw9%r|tppU=H)7z7&faKpVVPl}s0a&(C}?f?+5L0QSKi&^`w~>sU2X zA2)-5f;4Uq$Pp`8)^DVK@iYj4UK|U+(2(X|{fbF*IiC=bK8AnRUj}op;T$zPXa1h1W7B05 z4Xpr)RviSeW4!_^n7Y)^^obpQPQ`JpIR~To2boj1iwu)7FT6yRG$5ri*adaE7*C;{ zg}YIy2|=Ov&j5d*Y)WltnIS?h@Yc>8hj&!~xIIiFa)9kc&jbM4<|NvcWLwAsw})Oo z9ARk(&JtjBy1ETv2W%lQyeo4#SZR!&%iLw>hpx=`$!5WFf?U}27Fc$698xeE0Rp0Q zBL||fyHP;Gly=K>VFnzS;4%y6iOX*#lPx@^FY@zd(NZs&VyCnl+uCK*-l7h2dAda% hq#5?^dfxkv{{X&R$PoU*4`BcR002ovPDHLkV1h9tG;;s| delta 1173 zcmV;G1Zw+*3fKvd7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1Xf8zK~!jg?U?Pd zt11kJi!`WI;{D(4&KHVSthmnkXJ%G)_BM|pq)gxU^?Kro^Kh=b+(_>_%C*al{7xcY zn)7|PiFYf(zu){`r+;sXHiFX}?;Zc~{kwyv0_3gWJTSs(IZXvf<2(VV0&k6MC_y_2 zK1gK3b$}HRLN5`2LTd?Dz%UM!&Yz*J1S_B)$B_W?*;azRt{;H`Aeg2SYz6(g1i~~7 zbY1~R{6uLZK*JiW+KKZMCMG~1S^!=F)1&}^NdO^q{vyB=0>XqCKc5d!0aKu1=xL&A zfDm>7dK8fApdL)Lm;eOnp$edvlmr3DH<8+b0F>TSM}n_^04C}&J+UIJ1V{Bd+D&c- z2h;$8vwK6#6b6V<2^3ra11fVsUpOK3VV-GlN6j)d!gQ9rG~oS;VIi@>WnbFCR_`@)o|z zBUAz~fXh#RfP6!%5_+`+u>Jt`fbQiirD38`PRQpXRRmPpFxLPDiBK3FL>|0^G0Fb( zdO+wu@+DAqkO&Y_E_}YHlmOsLK79cx_yZI`xl|AVXf+qo?e%H7P#binE+HfxF&V}P zdMAYRgTTw=2NwXYfP{Fd3sB}OAQP^g%KZEaNHLdxkmAKI+WR(5P{M^SB4XSH+6G7k zKM+{fUIKIrm#87Wlh=Vr={Eun^D_Z=hy%hoU{5$Kp;!a*Hy|xNSP1&>)o}u2APO&S zCW4`yM;EN_gU&Ln_X*djX!@O3)RcR0E1yHokxM7Z6Hh$x#QzhIcaXgU|5xw8`MchM zQ}4ikGwqgl0Dtrj+~OTLf6F_7KY9nQ5Z;Y|Mfxw^fvw@1>OJ%h?wJpTcK}TT?Z3Q( z47jM=zrBO04N!OoBzz;?7+|BDH)?+e5bpqj{%GcW1W7LeG$XZgO7EaU%0}!|O0R%0 zu|^Hk86bNHl+IJFp}LvVd;U0HMFyyMz~_N~iw1C_y;bE;q1pxW9?Uxs6CeXf){moz zeC}}#ASJlPJMb8b3PvRm0IJ&n*}Yf*s=U2pcGf5oC<&10A7k6Y+S+mb9eW%R}7Ax`zmV`0B0g#AxT7r5o^GhuTl>bQ)d1q9anbJxNAQOJecWHj97gK3pToOJj zAd6;&;b|Awz>Rldy4{5PZvxG4+PEilS@34*e=7YXyU>{%$-Jm{thGUnhr&ClXzp4o z53GYK;BYs;rTz_K+VcpR!BlT0KOm|9 z{yPhT^CwiqAmT5BZXFl^=W!PiZ~=WD4dP*Yl#_^a`tdl9FIs_T+}JRV`GB{%IH~k_ zNHXUaT@K>GkfQW?|GXuGs80Z?Bu6}HDIo%XaP?GY4S8JH2caag;$q^6AR^*aZj! zjIR9RvJ(({An5`auw;BaE-+~aK!Hk5C&g;KvKnat^7Ev4RjfMNkOGsVNm0~EoVlHU zPASXLb@8>%;gWMh^BNwzmyH$v0nSSXa57 zHUNA*pFVhgUBu1?1mcwJICZ|`LB8MGfQJsSGx{vCX7=&K$jZS@VjUfdDz7O6;8rEp zL>&QPfSc{C6%aK*2v`8Co>vE8H=9y_Vb*dfSpjlC(bR_rCfWgEriD6*%-)RD0hn|E zpX3@~1b|ebvs%gwqM3IH3=k^&0PxijkOn~JoDh3}DqzNY3W*)T>!pI8Pb)|&nM$-B z^foAI(#t*YO_t8~_kQLJDGk63P|6aW<6&(82utdCKm!$O_YC`v_d-IZm05gk$W*rY z;U0q!m}y+b|VsO<7W%^hd9k_Qz;RIb?L7noU`1B=)g>pX&u0U6(1n zHmOUr`rvQwHhF%hD*^*X+1gdS%`wk)ZRSnc0sguD0X+vuV$G?nSO5S307*qoM6N<$ Ef^w2FZ2$lO delta 704 zcmV;x0zdtn2B!v)BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0)RWX zq)=nnkmedg$^!=i&a7-5xa|BE0ve?mnJBK|Vy)`0K2VRG(;(=I8b$bw0HEvu5na&8;e!cov??MONUPiZy$k}} zHWXMPKt2tC`dh$f4#0$Wdf8~=AcKVD)0OwJ3lIhvUHQdjCm?ozK+**;V9EGqTwu}; zfC81AUKh*p(i)@%$j{fst76$Ph7_0_T^B`N#F;zkl&T!v6kqEaemQ_d>T^p5`xIw0 z2MCcI?tT{^#vK46gXgm;8SGMQ?izrSZ@x^i?s79}0Qh<~dG!3ciLDI?#0kY=>wL#S zzTen@hqi;<8hv_yytgSFZ;Y%AZjS+^=?kbS1K>s_)tDaYT zU^|^qW7gqPvI3;Z!OR>UnP>-u*%q24GW%qt4#1=X_$1c=BLJidZGb7Wh-Tj*FhHp6 z4}h-@fHVLy=L@j|r~_u)Q%LL#UN05&d|E+L$yB0k&|9N_q)jh(z&BYsr@!|zpG#=~ zW`I(bXaoMr01%cm@qiX8)b2OzJ3a^rnO5fDL#DF%4~OvAN{LLHBS%1)triaPZp~Dv zHC0J{(jUEASUN7KhK%mhu&GLo#2)Jpxt^oZb(zv@le$D}4*vRno#*$uA~0Z7t=+}j m9P?b)VcwJ*o!}pb=luaa2S{SsYb`AR0000naHl_i4zs+v;ukJUIRJ| z9IfE?ax)78l5H&t;_}UIX0!7b#a}zj7k98{q5vw}3m~=&Fn^-Jz`)=HxUk=l=%HAK zkU{k{okE!*b~KgS6IDO2PT`q1^D+a6o#FX@k)W8^)Xdf-;DT^j+v8iF17S&gHB0c0 ze&yOGSB&U=z1`KKMf-Joz&tx^kFO{*u4`$-J_9S)-8NkUwPp9%b~9UjKcd>5i}y{JA%-XZ2t$HGb;HO^)sR!i z%N3HjPJ^g%1+_cgBw$1hQ*)PEGD%45C-79fqCfo$l#*&u?7l86J+Wuu?%yd z0RaV$5-=E$*Vw9Q%UZBp9O<@6o9&hkt!DmoXWdzUlKi*Be0B$QA_5>+V+6#i02viX zm>6^f+IBmNddOwg1`s1HN1Fw311(u|r2O~Q#Xj?HodsaqN`GE=g@AA66>=c|`QBcK7uVz}YAM zu#<;G4Aaa^`9u^_$D0yKUi(4BTtcM}Hy#)v5wk65QdH9?XzT$2QU&nw|B0wGDgS;k}a_mq`LU<8{`dAkUmA| zp|L5U!IVh@E|b#ll35#ZCwWX6DUqkJ5dY_yF|7RmhS5}0|9^J1IDdCb=k2cS^Ba2C zvgE@|)#}zK4SWu32=hZvT3sm}X%9$1SUp)*Uyu)AS>XkE9B@OAYC+~}ECXE-mT z)i)>rfPes6Vt=&yUIH-yug)+_0C(_`9k!@0;lWaO2k_DZD568WhO)e425xl+GdZ9* z$@Bd8F>@UPNV83$=fAd@=U0yeJDvgsC2)S)5dY@(2a5xtm&o?Xo&d%>hI{G{C-sp6 z%=2JgbcTUJ0w~Nc-?P-Gk1b0|fz=*-wtGU<2gI?k7NZA23}9aD!u^Q zGo2qyyk=2bcRtQ`xMmf2I-Vw1U_$}fdO9i70frFbr$oTjGra7i;&ks50Rnf!M;ZT| z8!9;vfR_zSj0d14Mc6xwr>`fC@_+U=Gmrs7H8G&6zfgYwUW(l{>YaBG00000NkvXX Hu0mjf#54{L delta 586 zcmV-Q0=50Y1)c?vUw;BANklzoxa-*4r+f zv3Iw0*6Hy9yP@}No8Qkwqi%nez?Z0jFh2IV-Q(Qjj!OcT-GAqG4J=C6Z96&x5A2Bm zI@iF0Xn^x25XblkyJ`!aa|eL|06rJQj4lTc4_g3UVg>%;K1-z;Fsn z?-{dYpW=ac zLyyq?`HSDEJ9iS`al^l*-ifMsfZpwrK&N*x_l9`TuYbH9DJP_cyuU-hv0#YULN!Hn ze+yk*I?k{GctCS!(pVuz_b1}PJ)l-u^AO!%1!mJ%b4T~5;=#q-(RZ5xxdR;!OzUFq z33voxSZ8mCG+P4!Xd*cS+Y_B13_K{UyBrrgTvG)e^W)?KY$%{uPbYOczz{taiGy+QJ^Qlc>>?gEiE^0Vq@z=Si9bVU74R z7K>T4{#1-KQN9Rn!!WEb&(&S=97^4sA>60pF`OXWE6%x$pyw&Vf2sH=acu)hGuD?M z?`z8d3a}D)D-+06fVZ3*7EbMhYcecS#(OWblY9518M>)c-#Hwcu2XIC<%3d`_2A)ypSbzk*WY%vDtkolcYh_ kr4j)Vi0Fd6NmWc1Q!~g&Q07*qoM6N<$f)L)QTL1t6 delta 398 zcmV;90dfBB1NZ}wBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Z~arK~zY` z?UJ!lgfJ9EaRz!b0=*P|fN`l|3^ZEoDx}W<_Y3?xx3t`GXKZZ!2y53D*j*CXrPYF4 zWJvDe-Mlw(X3hFrG17#65#B~oq%P0-o_LA0Zq5+ibMX{S5Z)E%Tu0D)if|?GC9cOn zTJ`?j=f`qX00yuS_lqHakedLnIUkg8RRC^jP$FY2p90*~2(U9;HU<)_M*^hn$IFud zgy_Jkss{;e7Z8jU88sZo@eq(S2o(A~1Vu#!P}>PX2q0svd`aIUKp(NaiUH6i0OO{1T+-{{PRNq z005UsL_t(I%k7dO4#O}EMRS7WmH`1ZtJ%f|H`+-OTy*5@k98sZHl zDybK={D6*3D%g(slXbe2PKY0r;%9kVJQXA$-XSBZMZ^{|01z{}!b{q#`qyV2F*66%S94H)l3&SA+s oWSj%_OBvRUT(+Tkx9peo0t&=v$d#g}q5uE@07*qoM6N<$f~#9nrvLx| diff --git a/graphics/pokemon/kabutops/anim_front.png b/graphics/pokemon/kabutops/anim_front.png index 5c7a73a85153f417f2dcc33bb13f404b6b146c81..6b89dd7c7bf3de8c6e127e06ed4c31ba284c2d12 100644 GIT binary patch delta 1412 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 P00000NkvXXu0mjf_m-B5 diff --git a/graphics/pokemon/kabutops/back.png b/graphics/pokemon/kabutops/back.png index dc4bd4392699b28fb021a4e191c87ecebdd3fd8d..df89149f420581ef3cdeaae4956002fa16d64d5e 100644 GIT binary patch delta 759 zcmVKleho?0>4Q_K~zY`-IFnk+dvS7 z7a=gYUvb2Dl{@R)i+DhhOLMN$i^P=)B0{PUEK*&uM7OF^2+Nu>$5sAwnb}>*+QZ4! z$zp@O^XcuI)jT2o)m81@0KR>B1Nd=Jf2~gv+`Buu`}f@z@zHtWfAHv9K&%~`{$cym z{JK)A7I{KI=Kz>!;z}KoWSb>h>{ROlhh$rej>^0~BLR*HADQ6Csiv1wI5sh%tz&X7 zYoKy~8lBaV*Jf;@P?=_l)3~=e{u#`JIyZw+GVZ<(jIWS5RnDw8(YA+2R0$C1A9jO3dl9UMQMS| zowA4vRgHNMs8GC;0Hq2n%gh3DC%o%10S`)2y)11TAjIs~82I?0R!0W*+GR>j&Q2qV z$rAycVuH^AzJyP~2uRCR;!{~4%QTJIfDqm(n4bljs*zY6fA`o%gz65w=i3p`76|k@ z%c5D84d}hu%ZKwBMUI#gfcs|k-QMABz7B@Vh^UqqJWkol=F)q<-%Q{4Y2|5CD+byW zO(eV**i7&GbW^1<0H(3Y{%n4;Sz4gd1pp1S{;}L~lWTvoo@M3rWZ=Initzp?Iv> pZoBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>eo}K~zY` z)swM`+dvS87a=frPjSR|l{+i$MLeL$r8!sWMdHc?5hK+H7OAdSq8n8ygk?>c6#@8nIGY!azHJ04OoUHSUvSy-n8CVlxEx$+}W4hh=>w1_ma45<-r1%q&Fe zn;7xdAvuK&P!52K2CHSSb>BpeW}7+?&w&_)s5$@zXf{KDiJYkE;`~4C0bALTU`cJ; zUI2XADdlWdRroI;6YUc55-`dH5bZR(2pE@{5lA~=P=$&dz~9(^0fT!G6WTd&IjS=t zGk^rO1GWQzb8w)nDC+7i!)VLgRv$rYW z))JdV!4i|_8*jC=WrzXDG(R?U65sD$r)s>iW$<-x?ssG}f9uf*VaMF%DK^n+&+P zt>#D!RsyB1#pAIEQ=i1ZO?PNA+)vLY_`NQr{sMe%0mZ(Cy>b8m002ovPDHLkV1m2m BW+MOq diff --git a/graphics/pokemon/kabutops/icon.png b/graphics/pokemon/kabutops/icon.png index 029123b536f5e82d88bb76822d53daf562bdbac0..c7bc27cadb895651651f2309c399e00faa653951 100644 GIT binary patch delta 276 zcmV+v0qg$E0_y^hV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1T{4#iQ>ut z007QOL_t(I%iWT(4#FT1hIxZaeE^pZZf(Ng%EOqP8*H%IcP$B{xkv(=r*?pr#l%Uy z@yo$aem)_-dw?2{8vwQe33)>R84ZaF!64$qu7H#gExV~+;eRZe^SOfToJokZ0yYLT zt5kRLsJW)95KyPN9ErVR&X>M`n~L-9;46p(y6gN{A1Wa5;Kx-=G?28SO+TR3yN-_S z29x;H`4M5D6(%mi+{dyY7h&e|bI`wp8KmN(7{RsM%T!|M=?4!o@um*;+*IP*N)&zS a#{(&km6e@X-VNjc0000gr77lV?r zs<0MinA3=F1yQ`V3EYLB4=0m>cOaX_^!cI;EOn+YWW0hPMe)AHACO}2z`IB1P`ZO^ zTmPnhBrs41#&3an^r?Ywftl0KLAwT~PbrU;m4Ga7G5`Po07*qoM6N<$f)`_H*8l(j diff --git a/graphics/pokemon/kadabra/anim_front.png b/graphics/pokemon/kadabra/anim_front.png index 67f232894c12e4c7ce9f99705fbee832f129f1b2..e45979f23915017cc1119f9805fabbabe97fafff 100644 GIT binary patch delta 1269 zcmV0wuIgo1rD5h11eOLnvO#83KQW z{tf-UXW3T#BOPzJJcDiC`{*m_{rG-AlJtJH{P530VK!i-{R`^yY`}z)_*KE14ajay z1OTlx53u=&YGHj2VA(YhU>+cuwp%E>pw;HRr-4AtLT@gh{tuvlXxc--76G<15Ab1o zn+S9kJF|fXtZV~3MSLF4A{KWXSXqAoa5ylF*xj>SdIIMF(F?=yi>UyiZ@pH*+8}_3 z_+|!RpB=(SSMz|~7niP;f9m8B9TtaSJh323e03JNmPMBrW6>soH?PiH4cp?Ee;LOt zj+*y(h0?t}VH#2d@8eb+sf@vLhR{pWb*~qA%yt@XF^V@1s`)G-!*cGVm%x8#`&vFy zp~W`-w3%waX!9Btc6*6m-3@&&{uQdfZwBZ?4bojK$%gf$mo$NZz32N8P>6>2!R69|)+@lnepK^csb?9O&$@&JL`8 zhp2KO-M%I^yl&;LFG;OVfNXyUt`3UK&j&<^hsY)9)w`870u)A_?BDJs#?fiuq(GNu zNcy?*vd<@UYikQD|J)(IIlmbK*NH+4GXl2l%H7|H&yHi%OaUlj-70MY^vScCJ3Ulw+8BdW;$-ig zzQMN)?Q~r7ZCsnorb<2ceX%~wW{6);=emv8!;2K#W0;=;*f{9MnZ#}{9w|PSo(M*`mkI`(5{w*W1Lcp96I>6})}&xuopFByp^JoIkQ(suj9}zm zon8~jwNO@`S2JZ z=#XHH)W91F2DN{sOV)e~O)ePSA9tX7$~1@9BeyiD-LhRo@2-z^5{zdg7^~;&Q7ayl zJW-luOT*$C0jXfD9#iFx2mT-c1?(Do*)I+SzNvaleiHfdqs60rmO* fAnT9*@NU|Fa!Mmmz_j4x00000NkvXXu0mjfdj3p^ delta 1278 zcmVz? zq#z814J6|a>ia+Lo+O~yYOAxgH(PQs)78!S3=oij~QlK?z~MPmAA0q7(|&IH##1lSlDQyB=cDB#%$Gz3h7Ysb}S+rvT_v64l}m=oo)ZO(Nr{`f>c866ltOA&rKJ z`PqbT*LDR+{V+^2VhY#*_UzWBVt>N7oh7NC`hF5oZH_>HXtWT(6f{ijF(TO4Y0@T; zp{qV03yL9tpz9HZ=nN6`>jnX+K1OM~kuZm&Ehh*f!-QcWwy0fqhitG-XL@nHE+=d3 zPH08rVtqUx5P||InOuK1Kqq4B7E27erU8^a00)R}dePZ4y#u34wX#-#i8UkKnGZ%nr5sMSjV2er%U~|w0TW&@cgn8~} z@to3qtyBf*o*+vD{M!+dPp~u!;0$QcJ8vVI=hS0|@M!6P53~X3;)xxcDFp;DmvomO zJ5|sXgxO9eY?W!;0ieh8d@y?e2sW@_;UJXJ2%#E(f~-3%%u)a$$d3__&?|tU2OyBY zul6||8Zm&TmSzp<%*)($$Q4$VZA=cq$ACTmNicxQF?Ky&A!C^>J^X}l0Dl2=O(4%2 z7TY5jLeSmq`L+Vs`t3I+5>jK;Wp8vTF&Xwv1}GuVN3bw=0J~t2-%79r#CMR`QO{HZ z{D(b%07F<(t)!i9A-%ZB2Jo5E)i5}-g;oG!aKN?R2(qG_KpqG3c_q-=qi6V7~HNB;g+ zDf*ssB5ocbWRrM#Taw-mlDO+D4(+Z8D#QDKl|CO;^mlG-G7S4j#bVNIy1ua;PcN`Z zf1CPrNjPq4FlCy43uw~j-`n2ywtwGV1EP5ihzxiQh}VGlTLS`wtpS01$)y32@=ISv ze@<;cXxV>dK%~KMAIeQAadD% zA586~^$vlXm--(5S*%>I3jZ~b_%I-IPqRj@xLD_#`Kv)Zsw4)mkp%@UT zwcUWwvR|y4EY*?`*5$xCYQKpZ5PF7xWdkC)0TEI5b2hW;dTlLz-G@;~25b$8h)_6J z-nD#ECem)*PPXz5%hUMU{_g$lNy|J_0a=x{<2^A!i1Joant>?7KD~ z#B1l1;`xRFVa~!?@$7+=@Qw|LbKx39@ed9Sh%52NKd1+BOTY6E4h@Je`n`YPX(zNb oAkOs%{sB(9*FSjuga5w$0dC?zHMeKtK>z>%07*qoM6N<$f_Jt^!2kdN diff --git a/graphics/pokemon/kadabra/back.png b/graphics/pokemon/kadabra/back.png index b3a7b06994cb0608c7b50abaa70bb1e5940b96d9..a3e025f8f0fd12ffbd29eaff2f8d83024a57de0a 100644 GIT binary patch delta 740 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 delta 396 zcmV;70dxNE1NH-uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Z&OpK~zY` z?UKQ2!ax*7hk`rh!8LqNW(=PDdQbAGDv)oeB=kC-g5nnaNneYr1ve z-QL4}citOu*Ny67xvXbHepZ&HTwV7c%TCW%Gpt__*^Fxe&L>KW)lh&{nL>YL$CKC7 z>>nV3Gu}=g+{ zY*nrGwkHw*jN6JicSuGt0L0e4!y%If_@l7O+^~E>z-d!yyG94!6yXV!!gC&2TlqzR zH3(s37tk0>z&D6!-=)Xg+Kn9%AQrwNOI5$aggBI(n#n5y4t~{V-JA_9VJd6Yifs=J zMD8z0#kol^;7dxaO{1UNf%pRs@d z004JML_t(I%k7e}4S+BV1hYX#Vw;GLHJk=IlyAa%RFNwLRY>X207wYF^U42`t#|JA zs}Z~)dyrT6>m!AEx*s=J6K*iOO>eva0000;tG_VykYR6PSwhStm z4%q~l88Q@9lAa|7FklzZ8R--cj@peK44kIkV75GD$&y8XL4Yh-(jjmF56u?-4Sj#_ zjz1+OEl{8YB1e25y}Kjdd*82N{Lhz3TKGXW2H|$&`ru~EY&!(bnLb-gSuk_cj7P#(TRE_k)dl7-78k<cI0?TwRfrp#q%# zF1w*)y`3I>k2K%{fJ>OXe?nqI@Av2g0QfO+B#}~%4GkQJ8tAjHPVfeCrC^Xi#yZ2V zC9n;EF@})rDnKZ}?MVeRBO>rETL{FVz%}rNJHTpy!|yO@h=hPo0U^?w!g+rJ4MfZp zP$o9)f#MRb$~EORz;xgVQJq8zI7?Un@C29;4#%5P1Fm#oD_n2EFs57x=?HkjDvn|5 z#!@ay0Pn`OUK;@_!x;aUy$X{r5RmX72s|vs#|SFUblPA9~~Y_iLV1vB(<|7kvAF%*%fi`)o#8Uf?z74r|lc5r_W-+;Jxv^{`ENQl;Oqw%%i-6Nyx@=K53zL zUj=d3_5c8v%gjj36E2)quHBhEaCokYja`=u7_G1>aWX*YW{dObvJlCl1w(83!jZW> z2)V2PP{l2SPL|6Tj3|3x>axv_>0}i>xw>5LzeMSVnsk3FfT;kG=EsE47Z`Bm2EgGV zfi<9>Wh`}X1=a3%xE(E*FV$~dXp(h6#GIn`+Y*IaZK4Laf=uBVU|cAdP@NAbYA_N& zj&ZT+WGl)709)z%a>R)-kmC55urtKM?e)?j#OLaeo=NnIyW zLyoA;hz)w|HIq#WB09>`HOXTV12x}c>l$pk8=C4wuX85 z;o>rVUjXqc@O%31AWc80B?tg(Pf9>IO&`INl;?lGatHNzvmGC#etPMn_9HM}NszSf ziog8t(P(L49%2jv>~b9dn4&O2=b&1(*nu+lO*+R@%>+ zcbOVu^^vq4l-kdj+kH|xGXoM5ce^wg7Gpbfzm!SCoV$cQouAgEzB-kx`ROxu_!<4T lXltLHeqP%x8vI+I@Hc;+6C3}~*}nh)002ovPDHLkV1geuDSH3_ delta 1656 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 Z@fY>GOEPaZxwZfR002ovPDHLkV1hvICTsuz delta 656 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 delta 1071 zcmV+~1kn4536lwsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um1MEpeK~zY` zy_G?0<3<#KrGUYgf``VoP+;3CEWVUNqF<1rn4T89bg=LeLW(1LD+w5FTe>g@Ew6%- zW1HSo2$+E$atJ;6*y|p4p|~ew3Wn~*(yjDjP2bEow&YE(eHh8i`{unjZ{B+{{%;|q zW*DY?JgD4pT=$@6?s`Xmod@)$_wl}qa#)H7%UDtJ-ebfi%4|y=pq`pp2A9VgB zhC`<}Y#asJz|P|xS^}%roX~GB64KBHcEV4?VG;Q5C(iete$7XW61C78w!)$bJKu~z_-3%*kZOisqPHt+<%SAgC6AbhNK&if8NX>UA#z72_mKuv9EU6RPq z@m^lacW-Yz?%e@ES6gg_z6M%hO9Az#gwR_AB5mR44bW78Ptb=23?ilg%K-&c6T;*L zSCaAg4kN%{mtZPv{G$O5O-lltQe3M8Fnp0(AJ5a#KoVLE%cPGvka}qYH}`o7Fl`?B zz$mI1FoI`Y1DNE0kTIJRh^P+=u)tyfT!&y7ea;xz3^NQ$P))4}V6*|`YE;+0B|yQC z*D*!7eIHc#q)sa`9}W`6~EG3Pgt@fJY)E4_Drgmt&o8C`-0>}o9`pS%tD zP;Ugp!@!Srz2Gyf-L3wvP@@q96kE^o+EfBJ#9Op%TZMT ze3)ffE(YG0Vj;u?3qRfhqV)Oj_=#%84bZy?pCK^7Qv_GpE5lF**yd|Nd*Q|Rxp;xs@I@{VFmap`R+#m@ zaCnldT6?sR7Md5V88!<*g?1{lJbg_bEz+sl&KUBW?vRW5vRu;v>PoAlWocOn;t;ltHe$r1YR96;lMw;G3v{>*_neIPmxf^u~RixUU=`icX>Ck|rd zfPTY42H!b!J|u@dpZbs-)axrGACki@n)+x$JJWq+f8yf{*wEnL4HaD)00000NkvXX Hu0mjf2cV#A delta 343 zcmV-d0jU1d1FZv)Uw;8ONkls`SND|d9m$efct8mkNq(-YR`?ANtyk>lVvv3g9_Yak4ysXwa z_R7P^-|+NpvBDfU?(Q~uYg+5RT>^~pCRk>#!^q`j(In5#xD&ZB0w0dLN_E+1_x`Q} zC_0d>qC>@g)=+`lJrJD^f)yA;#7PHvebhlCCmqD7gZ3L8B>1jF=ZDl`--VzbQU|;~ p`XP0=?dLuD(F9hi`jP&NA79we;NSQx--7@E002ovPDHLkV1f)Ss_Xy& diff --git a/graphics/pokemon/karrablast/anim_front.png b/graphics/pokemon/karrablast/anim_front.png index 218596a3c0fb7dec719f91afca08b87f7e789d41..6e6877c846bcde6096bbd16f26519f1d090a72b4 100644 GIT binary patch delta 585 zcmV-P0=E5u1)T+uUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%8q=6oiS z00062NklF>BjE6vt&1ku|Cl$f#892e6;bg$#z){Qz#v5kYB2foEavh&vUI zdu{0&`UMI_1}`0IBIw%EsAE4snk@!>hMY~Z-8(@;m!h}+e}CM&6YuUP&ui+hDvVm& zuDsQY9z1mcJI}oKbJr4&hx@%@F2_Qg( zDWd+3Sx4B$Hb4c;oKk8yz|1z+{0LUU5VNbq4w!jf6++C4FJ>EdVDPP2SJjuw3iyMf zTIaMFIQOCVyWnLgIS+FRLQY7uT1&)cv34 zW|PTZ)@Jp@9HLoFAj2uO8nFhN^i=gHfZCrW*S<_HXR}PwXEY z)!3hFV}BuO`zLsey8OPjKNEIfEI*XLjNh5G8Y4iEx-2DTdx(U)8NMzP4ST34xeLXO z{ri0EwnD#|3Ag>t%+%Pw6aLTk5AfFhl-1PCg^f&p&cN7+HgOa%NI+&e$18nCsYP z7Tkb&1Y<`B_c8Ve6Gb?vo2f>lPu>@s!(w9l(D%Vy;# zI))oK_)@N`9+=z-cn4*@&dW>vlmp7TCgvj8b>#%iHzUp#44}f*CNF9Z*snMFVi7Qp zxA&|ri(+wgvCBRG(}E6pRs4Fu~`(KZc8#MO63HJAow%A`=vVUfH`^R{Uw)(oZf0Vg_v3XbhAiqb(X$&91 z*s3y^?x9;LA=&?B6HYfcx<<{GXmM6VE{#)4u9T00000NkvXXu0mjfe*$#c delta 290 zcmV+-0p0$F1C9fbBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(xn=Sf6CR7l6| zlR*xGFc3wj^#V*9!rxWdCOv=~@4*f(VDQ+M8Z^*$y3m#3Z~OXwX9%$8_Ynx9 z-~iRYK{JFj1&H>N2GCT1txYRVrXgi*#Q-kWT$2FJfYE6{dH?~~4sJ}ZXaINx4^XDU zcT`^k+?eibWL}wD#A}s(#0y*p@d8(JW(6)?A3Yap0nETQ%s^B@%dyto#6Cf(a*8OV zdJD83C+-PKVGO802E=j$Ua7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L%Bt5ovb+0001kNklYKMVyO`{a=YDSquNu&KlrauN zF$hD08d4%5xc_bI=vQionk*gu5Hs>*V8E>%-BgJx`;ICBbK6*K`dc8)N@A^05vlGT zHYu@y5TzCw5}{9}L((21(#1l46KQY&V-d_k;UJj6mr$s<0z~g~7C=jgt@s7i{iCCg zPJpz(1_%YlJ3!ba`=*XDR)8=I5LbW{hu$+EUUXFn3y6mj-~a#s07*qoM6N<$f*w~* A2LJ#7 diff --git a/graphics/pokemon/kartana/back.png b/graphics/pokemon/kartana/back.png index 8cd14376130e54a2879772673ba3f41df28ed162..60ac4571bfc0621588fe49f7ab271f3046cb8056 100644 GIT binary patch delta 501 zcmV--J2?VTxF8rn4 zH-@zy4a4lQk6B)PxzMe;fW^FFAym5IwEjIjj5#oyic438!t5OinBuFcQpy!=iJ(w) zT?Q~kqc@sJhc%{@D;j+u(9lk?;J_+xLxDnUIN zt3y%4nFzeaQ%q7Dj9c8s%39B z?(4!|T0LV>>!BFKF8`Q+<*P3j`nWFOF>iPXm3@`8{xjH**&jBL!-|z+*xeU!#dkwx ztW>llf|a7RD(c8ltmG8wm`WHpooJg^B6m<$ZX;}0#GV6VbGd?pi=m**n@@u;0ldI zuGj+tY>E8XkAxm!0)Y=L4oE7l!kYsi_ftXxEUdzIKn5$!C?>?+^+*A*i2WFom?m3= zl>lIAmFM2>Qq*830&lTJXljCWi(?cvKlk9Bsv@v3V`|p!1DRrkn!Zv9i+E3Dk5+gO zru0$ofCWOwfu$T**exQL1K!gnf;0irLYm@Z5okhr;lmO9gasAyDm}j(-#P3PuaHMq y2B@P!IVYyik;1^^E==?UOP90000q?P)tZWco9N>K#j@N1`Cs| zln{b9x9QSk38Yj0n4W&rKXp=<-Xz}p==**5q<6=0|7&HF03nkAe;_FdP?IFYBnh#U z1jKkCFNJW1mEwdaJ`m;c(yvS?Gl8ZDAVmv+6lbggd^MBqA~^u?eZy|A0&3=P;5+yL zakO=h;ZXFWZ!o@RkN(C}Z6omGOM@e+>qYuh!I}vW%MSd~q9BzAUc>|D1})pPiA5g{ zzbddb>~bl))5Q8he{rTmtZ|!5PY$Zprx%x0QYhiY3VE7$E$-_4fm%^Np8k@}cQDNnrw_8YyvIG;w5)02+xX-${I0fWF#A zVp;A@0T-wM`3&m-ErXc*@SO^b94a8s9J1MP2=-iebh8b&e@-h)^X2&n0EA4-G+$3X zzH*H(ATMkZfww4Q7=}AKK66R_1TVJHlknF#pQnuR_EEi7UaAmcYMbQrS-!K< zf>7dNKCkO$N7vUj7)Zz!UEe5vIxlJwvrN+^ohCMl$B_U6ycvY2lY_gcVVc=aci=8| zB(Hy5-^K!0fB3~^{J8<3_G0pa3^MGn2@!*;%J`zo1nO9pck7sSc6c4#q)k&wY+ze! z0MuB3ScRU3K*6jNPS}-t8V@xL8HNMiI^%c+t8CziezIl^Aiwv1e+&#j2xp-QATfYk zFhOh}RBl8Av;pDI#zz-{aC!dGB7ym9jYtJS(dKMaHxWW^;YgMeF1khpfD|qM(nGoB nV}Bi3nz%;Nt;i<<|GxeJt8t~0`YPS500000NkvXXu0mjf>G?%L delta 721 zcmV;?0xtcg2Dk>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0+C5XK~zY` zwUsez+dve@r9t+R!9I~v$mDl&V;Xy~E;b!H*)A=mgR!en3!{UV4?G5*KK?fT+}cAR*|>fK*8(yCU`ha$mRF z%Yd3X9C!{MK<)af$8acn(Km$Lvqpd8iMH6rNf~8I12^IV zbAy&;Skz=UhhG%f8g_+*)oBtfRGeW`bKDk^lY>g->E#uZL`4#Ru25om#}uwF9;jvY zIGeD>D7yd%(%7+Rd-@X_?_ipxb|0|3xW_%qFwJTH>-h9B{IbSPx4HFeu7nil|hYt_{IcAHWR>sLpnVhf<4C>-EPC3-Ac23DR`36 zGp1!2uO}Z~Ir?XRz@bfw%nw{f*L7!fa_-RFDG9gHmGIU$mt&0n_ED``TBy*M08nbr z&n$zUJMn}_DHt0*>vZiemK3)`7UL#Ke7d4jHD4awBB9Ki#Je?f; z79v()JKcduAXqowZ|>Ft*W|_3y1b|YsJ%6LgaN}2pO6WEs46CxT`o`~81L2y@9c0p zy2+ZR6#2k*y#Y|=0dfU;brBT8JK@l7rdOAsN+88?AY12xq!5)49I?Nwxdy=R*+nA2 z0nls~ngAINkoB$-ADAgOq5;-`*~=zH7a@{h+T`eidj41=QUNLTIU7|3$_BSmB@zh9 zHX;B~2@Omv)JIRuhJLVPe-&7mxJKMpQHlfpbqT^Bt8t~0QQ8sgmi?VSA z430q^D^==k{`LPS-`yv~j|E%7(jZbONFcipBl31hWGG-$VSg9_-RQev=mymR8}H~# zajV|m&tB*<>QBj`BEfS+k<~eBf^0T@mG&dwA$6*pGcS-vT7p^}pg7&3?6S!K%%Xcn zjrCJW?vn}k>hqK;_ZAQ%rsnlrFAanpgrhO4;Hjo2SQmw>EZiz)S==V8|0R1Jinf0$^kaOhAwWCM3uKb0_HUf%yh&AMsC0c8RV40000< KMNUMnLSTYIFr5Ve delta 326 zcmV-M0lEId1DpepUw;87NklQ5jJDhMcHtTjmZ&ptW>GD`PcuS_>YgV9|s-d|u&zV=q6UjkD z2MC*QkPn47fVFIRL5b~it;0uVb`;lBF2b8ZikPe8xs3~$al%0gM=P=`Y&d6^$=SR z@CPAY^w;LU0zcy|D_|S}YhWgVC@`L&0L-j7f@Wa)g&+b?UML4Oa- YH)|j9Pu8`_ga7~l07*qoM6N<$fv2WW(6o)AhMWzC##UO@(0x=1bh9}AAN`Vm@P(mY2G8rlz&lGwL z45VmDga;V#5JZv>>Z&Q7Y6OaLT>}&W|BAwcCeEFtzoG9=OMfEWQ@1Y7EgJ6Ay*u*p zzMo0703aBPPVOcd+Vzrn{eL2@;W;Rdu3VPR-w{`xL#P|0r6-|V17~_e1OkqcWDWu zN)F5NvVUZk2k`aKc)a|?s?+I&P277~PMtia@iOrDbdtHp?TjXQN<9sb|3tgT?Z>PM zf7byX)QIPGG9?P_y)qhg|Bd`Y1cb-4*NRtqK+c$hxU*!wa zUUygfW`DoF8Zb@c>-cX*wGMj6{aU{|CgphCN8Y zy}TEqz!PcjlyeK)1OPVAcQALWfS`cm2r2O>-%|QV0z@T{@>cl(k-L<)%m-(E#CyE> zG=I+r4ec>1&wm5C2LgaI?K!}TFv4&Q0ivUKcTju^hP@#GbuI9$D2nh;!I2g0r{WKg zyNU;2W)!%;OZc&*yWgvLu-*CmdMIZwBxBjn!2U8GxS#+3TQ#qk6R6T#iU&ut+4Ppc z0LI!7eDE^*@&Y}A`8sIPAcwQ*UwnMlUw^n^%_&F>wCKRibu_bhbh>zfstb(-!f#kL za%54ew?EnZ-MVW<)_14aJx8vi7myz!)c#e=aoMVL0Ajrc`T8gUVwJj0@ci(AoGU*rSNt=lKDi1V!X7^Mg`mipU-EL!tnN$X(_KMYIsP%lx3U zyobnLD%PDHLkV1hJkHvIqq delta 1138 zcmV-&1daRN3Bn1GUw;HmNklFOK1Xa z6{@zU;8mKl!j4Ly%dSK<5Xhm_b_Va&r}orP+%S7BEJc6Cl7mk=@5%lf_RVNnT6>=N zvbXJAe0ZN`Mw;jOewy~b9Qw+#s-ro2N7Et{avNSVT#3Slx_`WS*R?&1y$Totti@hN zEyma@WC?vhD77xP*y|`#10fYa%vkVHJ%vT-FX1KGV(c{nTuK0@Kz6A=N;kqBfUa3r z0}t{M0Aw>l*09$3C_EEDq+CPq42w|^3`rbym0v;+MV*D?IEuQ;6`qcQQOK_cWV5SW z!U}@o zKULPXrU|=zbIsT>0(>7GnI;?l7$GZYM*C$HnQH@*AOH}QMn|`k45?Sd%V#MzfgpTn zI`vnoMh)sTy^8~GN#n}49*1lG7k z={(`vw(W9GGFmpYTj!kH^KW3D!5rgw|DwFnpw9W++Za6{#$=}~%bOakbk48lrnu+3 zB=(^`Dfd3W-)DPa3a#evm*quCFZSTyL*nrqAoekxPUytBljX$DV-ha{e@-WvbJ)p9 zlBdK~0Dt*Ue19w05#bSqBT?7Qy#k`yTK5hM>Az-wdHd@%;Bp$ z&#OAp@O@QTGn$^dW&Z)J)n)$*7`wYmCx9u8<$v|B<3Ag<2Iw94zi!t~HLuyhfq|Xa zo*AxubA%9UF%^36|A3fRvjz#cm-RvvcqHtdGG=0%0Kj7T7Upgl5F~J@4iK94Am5Ps zM*@T%2zkqVfXH3QTjYb2KH@!Ae5&$6Q~4VD)3+e^fCF%%d=Ic9j4&KSfKb^V+#M93 zf`4Ie2!Lt=J$O!AdQRp>Us^TR#=OagL~i*grYwLzyAT0oF0jT6IHws5W>7=2S zyBMxZE+9W_E9EYR_kw`kZ#XLV31kDv58J5RMfU;I&M~={ResnZh}^6E0AGS2a%&g) zK`JvvbKS0W93r^9SRepe!BLJ1X ztNb8R4$ahdm-)fisQc=0p#7a699-bWzr};E`2ih&0oAD8<2O|K`Tzg`07*qoM6N<$ Ef*gvH4sfK1e6h|Q%Zdmja4N8^UzmWMZ)Yb2Oc3BnH;ciX=OSnBS5Xa zZU*XfIMV>?;EjwH_-3QjHU$i$)D~x0fd*7`T_So2yx(jd(*{b7OPe&XMOVyj(*|4b z+jmoorVtt64%Dx5e~WOr5h6%;kT2@4Gi!Jj`7~+{B+=hKmr6V zXMoEAT&M6z@E$<_uTPg3pBa##nJOJU95*oN1XX#+Y0!Nwbn=)6o&7j;aCyN$sab@^ zG4G=Xs^gbde>cXcYloccJ)X+IgPu$;pEJa*BJftPlbyZAyAm*bfOJL}WQW&X>CNO# z%+<&5SbvegB3ZnaObi{;=x88Gc1et#kg*Ra qFOv8SuuFEZI|snRIH`ZW{s040EgD>MYmoo|002ov22Mn-LSTX*b}$0~ delta 661 zcmV;G0&4yB1^oq(BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0#->xK~zY` z-IPI#+CUV?N2T`--GE1l;4D2whw5H>khYXe8zcE2>*9>&;HNPrmU$cklR|o!`*V+ znA8AG8g+;*CKpKIj<2ZqgC$biR`zVlk#oX+$0G=Qon;g(+ zW#u|ZBj8vE-3&CH>$w6@2Y+m|z_wc{cNt(9rLs833KbyZ8;uws@OHa>${I*H(GF>0 zi$0&fo(1^u(mi##j_d*e-{xT#8%+DwiOV&8m=(YVC+4c3z~%cRz%ay$7Xa!4^*7H~ z?8GIr`2oOkN%M1m0$uksD$DO8E1~pfxGE20#6#ia0CSWsM0;i_i38y08>{1(K<-8(gBj)L`1te@VjFG vlm$xPp}b6!Gr&IG!~PrqOXH;e@gn3815+&;I^OZS00000NkvXXu0mjfZE`S( diff --git a/graphics/pokemon/kecleon/icon.png b/graphics/pokemon/kecleon/icon.png index 06fc1286e7f60e713fc41c031ba882583ba6b9eb..5b2fef8e8984f6193b901f417ce83acfdb1b0664 100644 GIT binary patch delta 327 zcmV-N0l5D60-XbpUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%K(2z4rY z00031Nkl1sx5CHvy{nQ?5gw#ltK>0~tB~=S?yh29&Lo+yGpNCD?IMqg3{ga1!5;h<{KTKrTgT?8)_m6bjj) z0TYv&IzBHxMveyNaF>9$5x1+I@8CdYyo3lYU-r|R>!gF!!1@xqj-u+8YOuz4e-t%Mm{(t zr6f4G#G2e03_y%i!7PGdR)aBTFfbV2(5+`MoV$Its|*G-t!*&6p37i<`)GoxeK5b; Z#|`+NpY9;%a>W1u002ovPDHLkV1kPjk6Qo$ delta 289 zcmV++0p9+d1NQ=uUw;7tNkl1sx5CHXq{nQ?5gw$A-K>0~tB~=S?&55D(ZU>V67W9ae(mNPIFT7IA%BF|yHQ@|jJty}U(5T) zWv&;&%iC;L6u_VhDEH;7`)u|v>oh;;$5H=fU@Oyr-u8V1qM=?Y(3vPix~w7{z8XDn~Gk|k&9p@*^q zKG^S1@1L2Gp9g^d-^!uo@q6kWzc)0)`+O1(diI~#{7#P*Y@fxWKtc@Foh*}oK0tgZ{dLqG>4lP?Ar6nr5VDV12 zNyV&mtr7Lg^blhS=rLf0oYnW7GA(WF;N2bZgTfOjH1}-pv|RGh`tE%hVIhwLmUedJ z{WkE?W<{R3&v~ND6;HE%zj8YWR>f&4FK&347;%TuPg#&}>IkqGJWNcQ#{gc6r;07vitN*0xERK-Jk(s#4445S@Z)iX zlV|+-kbe+cW(YZ-CbpaL;WHkJY3+vmVkEl+j9qdj0ry;#g=;J@o;S4_05DEYsf1c5I4=(7z~WK@cRz3kgS?ydC!x8G zz-xrv?+#9#;!_8KkB7(Ef&t}A=Qzt1 z1&T7u7e?U2`fuF9+8uGV1_}jmFCEJ_fNE~6nPy=$#D`>jF9YLeUmjjek#w{p!l@OmjOUi=F@$Ed0woAU_QI!XfP9 zosu_U;X;XFe`t3w*xcPk*b8}F+arxBcJKsjRci{vJX~x7C{uqLOmbDkUcO%NAT!ku zn2=MoCj7y*RNmw^2q_&3NybQLoG$`RSJy9vIAa8TUlL*5#N=)FDd)Cy1<)7Ubbost z#!U<)ZN@_(-Z~csLjbRXxQT(}dmiXQya#w+TD6xq94CN%T=cmS&in&lZ#a`q=$|{? zCjF<}xS06|>D5A(FfpV>jDTIt{ev_ZI3ZcBUIa)*k_IDj7WqEu8O6>p@(+ptLOe+T z1jAyxIr9%tm7CA=R900mMH4>*WZrKikZX@y!Q1_GK zG5*?d0DR{k@So1Lf9;zxW*NgxF002ovPDHLkV1no8Pvigq delta 1249 zcmV<71Rnd!3a|>0Uw;I7z!lF6pQi6tE*h4=+Z-vd~3xu>Y zlDCay$+`4Y_JJJY_viP|jO6zL;QyzRx;*|sxd&KlEzMmjn}6j`iU37LCB-z&!V(H< z@^}jsWhj}OO;e~*kfLNN31Bw!WV>3>ePaNVr;>@o3ctqn&O3fy^=~H1BNpv{nt& zwVj6|LL-(2Z0+pG|9u#!8+CEx0b`jiSA5O>nRs#l zFm4%RQ#nfI*mvIiIY9j0Ro8ZSFq3;=|(Q_7Ln4bLmXIj|@> z^!7q;IF!7F6Pio&+M%~UgoVKV5L7&E31FRb#%lwupa%)7z>0z45?~;Jf*M`|sD*$f zfPM_L^8x-G%z@l4CEN!ejrz}2@Qddc0sN1s(0@J61t$1}1C9^iqyTUQz#9c9^B~Oi znX7`2M^AENv7mVAT(=mAAzo&=@~eN)f3MQ&J#nQ8%4P5%ACuZZG1pg3v%HqSec=!) z^9`=%0|P~Am|{OR@+|-yG|U88_-UB~$4zsy!Q-t04*`!`O0vNl1%UJ3AQUx;?*U3% z-+#Xc3S5YGX4bg@=$XAF+kJYFOO&;>o@jaNnqOM~Q!sIS`>~2EYhb_B*kEfZR;5^mR$j2tPrd*VYmsGBN{6jL!68{jZ zvcx~c(w6v#J3zjFxC0b-3B6+fkN~9EKg@w*|By(We}RAapym1-jes7i+B(;300000 LNkvXXu0mjf$ah+n diff --git a/graphics/pokemon/keldeo/back.png b/graphics/pokemon/keldeo/back.png index 561b6766a718b3c2ce7bb71b8f1376530c21c88f..8c7454eff452fde541350c87abee47e7ad743448 100644 GIT binary patch delta 627 zcmV-(0*w9M1=$6VB#}W-e*gz`Nliru=LQD_1vU5$z77BY0z64XK~zY`&6T~5n?MwW zhbdfa1;$E|G%ysA*lM`EfCF+JZMPk=BILM_qP&2$N)<(lBDz%yYc=jHB}H(XX2U~e zeqdk*>@AWaS2X5)KKIOpVG#PK=HVc2~3ue_-o90Z4hZYI*l@!*-hvh}oVp=rdI7kl;Y#Fbu zxH@7(o=*U17=jRyvb1)EmMJ9lkt2n@e>HVPpx1SMj0=0`(H6KS zz=8V5XlEr#pVu|vdQC=viaCE#t9m{DK8S#%)0+_>2SMsi|MkVv=K@GN{WJm`X`q2- z1gJ^J+Mv1pYJ_mq5`)74s73}pkVDsj1Me(=av-_V5vs}n7A=4dZ3hk*DHoXpD8gNY zs`_k%%((1>X@{;368K(KH^BtJ?}-O_`h9yt0_!74d5;d@?@KUxmV^V;RlrX&aa>?u zEJ6Xt$pZz;2yzwoXHF#Ha0$Qy5TiVu0T5|3HuvXGHZiAD^N9Yh`U6*gO}33Seop`Z N002ovPDHLkV1l#H4B-F( delta 630 zcmV-+0*U?E1>OaaBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0yjxSK~zY` z&C|b+(=ZeVaK}T3o02wSfTeW?q}*h``~xLXXLQ?bRfVF`9U=aK>coVQ5Xy!as*}4_ zf`N2pf&5WC+xcZD*BfBqDa+mWbMHMnIr48ScqI3he+#0_zxell4|pS#@+fI%(2;2r z7D?NJCL=8(0ol^O1cESsGa^7RG9$=TDG~V;hQP~AEoUU+5iC6ygf+<0fPw=4cmq{a z0Wc385cNRDB3OV8XwnCnSO6!NK*l5S!2$~hWWjSAMBo7a_7U*nT^COB$z}%5jMZzB zH-N>P4FIHFn!j3Y_mjJIeE_*RFn|QBPV>9>Te;shAeINFJEXdQ$LfABrGD;PAXNw5 z1Hn#W?bOo%ia&h?Qz)28@j0|h?pmOV=^h8!0m5=TW>>LJrOdmVU=|QERz2jpcaivh z`$OaakOf#R^cEJNeelEp>t)gY5>H0}=`X>U+A_C6(8e4@c|x+bLAQheeqENQ*a7(8 zQiE#-2+HqHPCQ|M@@ZKz%u6-^X3god($q^A=p{I7@@fF|MX<8Te|~cEsRE+O&jaA; z1}&%tz}$4)HmGhtTT6K6i1T9)6oUpcV8>N8#3__;V2U*eu4yC7a>gz#)uxaCq|@mW;!iIE;&2c7m@5jvm??ji zgC{^^e*~uTAW`eA-`B+yfq1Rn9!*4Kx0x=ARXv}2k?F&3wVAIS?w=nv zI}%JTG{jf0G%{e>yVdlWMFzJ~v>C%ss`Nw{I0!7%<5u+cCod5s;07*qo IM6N<$g5+GCegFUf delta 334 zcmV-U0kQtG1D6Ak7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0ToF^K~zYI?Ucz5 z!Y~X(D_KcwWO@GoZ?Rnv&4$E<3s^a%%yhDtzT^1Urv)E~vC|vST8y3EtVJzDBKo0w z4)f#yc|i3HYsSJXqXT3vHxo9Fk}1O-VK`Nhc@a>lsS8W3b3i)6U}n{8by83xF?P{X zN1UuTkdde%Z|s17szTA}1mgS&p(%ysYPb>UQ+L@Ps9(ZwP}R2&)12nRu+PZ#wW6)O z(jzr18$Y!yUm_|-v~D<5Jiu?NP}w;A<>LDTb`flp{}wD-@jNKb$x?r-{Oh~*qX5D1 z_4fct0t}7|KyVUZ4-h>Iy?zBqeCGomdVs`yI7tT(UE$#^3Xm|bP}u=w)?WZw^Wg=M gcYG+prf>7%4sGZe2$x~!asU7T07*qoM6N<$f`dVm$p8QV diff --git a/graphics/pokemon/keldeo/resolute/back.png b/graphics/pokemon/keldeo/resolute/back.png index 28654de7dd7ee6c994a2b893aebf531092b5175c..b51a9c028637f68a5889d6bd0f981147f0483887 100644 GIT binary patch delta 726 zcmV;{0xA9G1)T6~f5XYr}Gh}+gL2+ve#&JJDqAeYQi@!hz zBdpauYy8)KAnwU+|Y zn5i<(v~zNNIvR!m&yCJaWk|G7M#IZ6gdAUeBBomaZ35E{c(x2QIwlW^X$|cA#ApzL zbJ0Gm0BVfHuTBsGx@aE`m&@MRIX8bSBb;IMwG({|z-4Pjpmgx>f|42ulGE7ia_D75APP{x(BG|FY4ObP@HW7`PbC*xx7 z_7N4(@<>Kyt)iH@A~PkujMjBNT4i+X0Z1exwDM86gp%ZFoCOWzWwg%+f69M@qG$qv z$>&(6x@nW;^;&+OXFGv+Yb#bo3`81IfE}%(gA)hQwL+YI`U@bf-JHY#i-E4SA_kH) z7`RA)BnXxQv4-5dx;jfnO5~y|&TnKob7~j4ZUgX3CjfmSV7uN5b^EaaRBfT4&9z$G zerbB>Xb)ibE$+BZ*RhYB0y=+rad-bA26)vd07xiQS>_kNqa1Kudf+`{Kgv>H{|p6S zMk&cFz*+zWX61Kc51*~U{I|zrJcL4-rTkk0-#|lCT$+kG~sY?3| z`(oERp=)a`gR1Sk4BA~`aVp@I-!|K$b#2pB}h76KJHQ2+n{07*qo IM6N<$g21mh-T(jq delta 671 zcmV;Q0$}}}2Id8j7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z00072Nkl=Mq3`8?_SORhK|9@Kvu^7h)r%yen%0nBsa~TOCe7pVESQhoq zb`H2}1gL#K8A z1K<*r_Rak}EdCx~^A;L0z!m_zk6C{XBu{#m9Uzq-mk~C}S#RnItO-`PJ~;}+b(zyL4^AUJn!U`hxSR@18h z634i%0Zs!b1R6#XaABm^Eg-T3iV%i+y$DQT1~hpmn2J#PV+v{!ZTlIe!AX%CAf%Mx(2A)I0?s7#3h@4k^Gl2BZ5uuIf zeGwBNMFOyX3=naaqbG0|qAH?7_KOa|LDF6!q002ovPDHLk FV1j#qFD(E7 diff --git a/graphics/pokemon/keldeo/resolute/front.png b/graphics/pokemon/keldeo/resolute/front.png index 8e83b810a775de0424031b3f2000fc5c0af4347d..32e16ffede387ec0c87ee1887e745c88e3e1cf31 100644 GIT binary patch delta 787 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 JPDHLkV1kO%L^l8c delta 1255 zcmV$6vxLSw=3<0$*t{)E$#wafPva$#=3$o zVW!v?p*+9}$>P4iZb`RF%GF9yT+@YZ5FJTzr7g+3+%w~li|rYw*pWa&=g0Y)kMlP| z9~VI#iy`DC0TM1dRsq6EAV}&n2Ov_Muu%9HUzTDj~cU{?}-8sBJt zt!lg^IRk+4^Rez^ei~STk-ARCSpW`N5e7-3qyh9^d9sxw0R1m{tkjAAD{mJ}lVe%j zK^7)h<=+@o3w>;C|tBodV!;kbUd4|NE|AqgS0 z-8=~`V1Ec3Cg7)f$?74F7K?n?*Bi!I-LhG~zCQ6jSG?z3+O*=2FKrD?k zK!2ZZ(SbJ!O0KGpq;sSv7fyT-47p5Ih4YXedvX`7PGy194 z7QCLLM@Rzt#%P1d0?-d7~ZF!GG-j!SDC#<1QLhW(hekJ#h1@1_0a0K;7^j zq;OCc5BdIm1JG9?QW0lxY7WYPHvr5`Rm@!a6f?y4=dC_e3tni=@&mgvFwdv%11((u z=qzyI)0tI!Kr$ebph=wm7Fl)k8)u9r9%Z&}ixcjx;c&zf7ifg@1(q zU2A~%rlq}3n5qCsnCxP9XZwz+0BAQ%PHtM-1YqncA_<9LFbc~w!EcKf0y&TjWs&V$ z39r^~xgIsnNBU693q5rMH}ImzHgSCf{q*{@CX{zf<@I_QaXq$OS-|Lj4s{UMtiVUB zx91RoP{)f7=XbeWeKR7)RS5%i@L)~r3zrX#ut+EBsXl3^#H$A4E0Bhb6*01ZRKT|lQk!2MnNfbRmr9SQ_t?mn5-^0Td;{0>_GSlO_( RZma+R002ovPDHLkV1mtFMk)XR diff --git a/graphics/pokemon/kingdra/back.png b/graphics/pokemon/kingdra/back.png index bab48255eda88892ddd99e6b5479fc3a80259dd7..11626702ed2728789b076d25e89438e94fe357af 100644 GIT binary patch delta 718 zcmV;<0x|u+2D1i`B#}W-e*gz`Nliru=LQD_2m~B`zv*3O`7@dNW0@n1{nC==5{36%*pw0uFP$UbNG$*!9n=W;#JW*!6#)m(W)KON* z@-n}j`OnANasJhn{>AR@R)6N)Q3beq)p5*wH(j~0zv7L%TXY;pe?+YHA^=daj#TV- z0Ief*CR?8fTmr}dR2x{rP9p;N3$iEVXWRxHve7w0{3W0g^xjpE6~a%XT{l9FAo5cU z0_iPnu_cq}M_A99z}4>o&4rjmYRb+BB)EFHUoplSL@!Blsxxvc^zun3-07)O1auuGIe_N2*e6R`|DjrOz4P!289}sjlkQ4zR7>porBV&o=2Vxk~$Ox<0 zawHhiz||om9UlkdK|sV{1pq>v3;}>40R7grpB*?H5@bD5gfVhQKR}PU>)!5-(r={baU!9pT<%J^9<)yYjRtZhH zTY+uP%v?<{f98Y4gmyC1EXxwdwSXwishLNCH+z<$r~!$cX>+q|&pDxOujozuhV1<5 zkoFvB*BrbtU_wy!M5w_2+r10#XwGNDF|eLS@E?EP zCrUleK~zY` z-IP0zn?Ml9(Taw0*3iS4(%Up+PmKaqC* z2rYuhPk$81E@_JmnZz){YR&{Me-9`w#5D3B*!hSATgBTYW2`|8k|d|9Ah$xr&nhJc za+t$>9Q$;Jg6Ul%qKToc}923>vk)WA5etdYj0s=|Bikf%U2Prhz`aTV@ zGA;zPh2Yh>HbU`#);U}YK`ZK%YDzJjs%%uYK;8wEZ&kaBM9A660FzD(JNBJjwL2to zR@VqFQn0)ubM8AO5jZ>RI-uLd3EdNdYG0MRH*v1d93pM1k>iaBq~#pnteMvJi6YSD zrM5uP2+g=#foaZ6pLO8!L1IEPnORX3sbw2L)cSCpM}ZfAdr_ch0g1h7vx{QOIiYE< z7)<<{?ELAF<{W3&9q2XLo$@6#|BGPYfx1lvC{JMnG}(J-b(d3?dwl})RbXJ@4*;z- zUsp5tpn5Kr*1(vOazHdw@RI)Wu5(`1oV=_W!TTvVH-;G@Y*xY(ZK80000< KMNUMnLSTY8$yzo5 diff --git a/graphics/pokemon/kingdra/icon.png b/graphics/pokemon/kingdra/icon.png index 0873dedb4fa02ca74627c87b07ebe4cfafd4c809..15e84fbdc54ebf0671027a9ab40fdeecb4470436 100644 GIT binary patch delta 366 zcmV-!0g?XQ0=NT^7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L%WuCllbY0003SNklb$RRDuUku(0zU7N*%E zxP^_y<6Xidq}hkV?j5vwfk(0sln9Gss+XBfBUtEm^YQP@F#oUAUp~me5EmeVV99@$ zsT6>8;0g#JY6a`m%c;2A5tpP>#7EwAK(}d_g0OzB-3+L4;TGqvP-#T;QPEyO3A=+5 z%=`(yp5D$zJ_d|$t0M-+8{8iA&E7BF>!ASW*LJkL$JK?E7oxjucExc4Oa_3|KX|$M zP%c207;poL)gcVn2ybJOiqGE5Imuf4z!lJ}a8oc1XslOk6-e&o1TCv|{h?Xcv6#{@ z#bfUa5TT!p{1Kk3U7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&{S+et)0R7i>KR6!2H zFbtcP6%rA}|NkvXw{cK4)r}01(9yf^s2P=bX1UtSPJta^B zk1l7+|Mm5%^bZJY`bW=0Pd|Mg_Vn}T;h+AE6=vh~*U_l>({#Tr{yJKTivKv?_`v+% Y0o&pej9nmSz5oCK07*qoM6N<$f`?~%?f?J) diff --git a/graphics/pokemon/kingler/anim_front.png b/graphics/pokemon/kingler/anim_front.png index d2544716323cc38848a8eca68f3c8517dcf1ad1b..d60fedc19037e4dea87bc25b55eb05ca1051e6d8 100644 GIT binary patch delta 1319 zcmV+?1=#xL3g`-u7zqRe0000bL6(0Fu%SfX@iY;cP zA<{Zqnadv#2!`tiMr;~$2qfexuuaP23^uwZg&_;Bj@{DbmG{Ton;A*|k&RL;+eLp6 zVltoSy?OJZ_aXH1{P@S{J_GcJ?du&(+PCl=;@2!8Cy&+%b_k*R^C`x|$Ll+wbBQtT z9wz_~sbZW?Fdoo00M;L6D1kbLhexyxFfjK0Zvs^e13Mw1-vpcrAmMS%I+xxa;1HX* zhrsEjgPDw>0Ek5V;|R{^8avpLp>2OcNT>h8)Sa*Az2(b^v^@Yx~HK|0I9*@b0eH z)Fq=m*~Eq{T}S~~D8OzmAfm5a=#f4iGPq#~lDfqE`R-G5h0)Bobm9BM(+MLk1j!ij z26sUNWC`j!ecbbYosfY9Oc4^yhE1bo*}ZYL7;ari!hQXZKeIL|A)eD*p(*~p|7r1d zyM^lhvfZ97tP-{$du=4}a z-)|dj=}ZRfsKY~B0a29ntxhAv|m^-RhyXz78NQ$3yAUyi^DoS z0m`9-lfxSMx!?oUy=X- delta 1317 zcmV+=1={-P3g!xs7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1msCXK~!jg?U)IY z;~)%011LdlGWWmk=u2P=@X|?F%~BPnCY{*mp#?Acx7%lY#{WD*_@RA_KO&?UQ~Cix z?Ng%RsE+TLi@gGRLb^wcOTW~72axUtxFVSOOlbCj=*0RIVCI(r#JEq;6IZLB0D>N& zu`s8Aju6a#D(xwMAohTyfU6qZ@96*l<8(z3`+H1C)=Fpqi{~l^T|Gs5kp4y3-d+hC zAasAs0S^G-3=rC9DBgK(G)(wM-kp4k5(U0jLL52W;(n%Mgcgo(4cA z^nmI>TRQ<@mYMkn|pr(izA8KENRTqK+0>!?6VuA=EQ%hD`JZupJVgtnR zcznsRvEr07uk|*7I0cBMHW4rIMGk$**tspUI8ZBKi`Tto*O&sx0p?9h0Nj)1K8AXK zsT*FykQk6GBg_{+A%t)TBG~N-_bEjL3qyP)1(4Xs3BZ~JgbsVLi4oV1q`d)4BKwu7rp~~<7F`)cAhIr zkO>RR2LSYZ{?f}f;Hv_}$3-$td-g2D5E&Fw51zRA)PWR)iwpoDvu68+v9=-%Spi9-2UH?p zF0@C`?8rGx$=MJV6vkph4in5VgZJ!jO30K~gd2K{fG5maxVN|RRD$5RbP#+ma=3tT z69W7j?ezc%HnA9@4*ezD(2_q8kX9?N{y-*kU9yhq53jXjB@ovF$o5`bR;1Kz-D;m} z0{pgr69O0AI6|W_t7Nq(x^bv3KjfWpqLA(><~(0mw5~|*d&eL$JLF*J{C9?er2;#9 z^A$?|#;eVx8=vtRe{uvH@7u4h3~vJ3dvZ$Goy93&_tE?sAif3Yx{bd9@ELe3jbp#` zDxqta-l)T1ALFat`wV!|h1#4)ds@-Ug=h_bpT6s(Ul?EazvDn!?TKD~9CUzp_Q2Zl zy$J|)|32OYPzQM9LNGu$0bD6K!PjsGm^5>?H_4}90;FpNhp_oI1nIWM%Rud=zoIi2 z(D6wOXxApGL;&IFO=@!i4POP!_L0Jcf`o=mrfI{tlY!Qi&5mz?d<=*?`iuSAf{Fn>=ZjR5o=Smn)l@82kRRra|4hM&FL3jevr2MV5^1I zfl+LqdUPWr_vKb&?}6@U(|*Dt*MZ~~BiReLY|>-7sSKb$zg>Hzw{ zJn9#{{BR6F0E|Ee{i2f}bSm%d29sydc$3#JM)^U@1$AHstO5ji{bH0Kw58U6|0AM? zSX~(Oi&cIoMv+vhIO5lD{XeQfn|?9K4=O;g>JYr?2Uwn3hE$at^ou4xly)}&qCi|M z)eA08*r8FsSmg&_MI^WB2dZ7UUFP+RL;1lNUO(^?HvPhWojf!T^@FP?Z9n;=AAH6? bFn$9iZ#JbygCsQo0000o zqmi=gKO04HJH9b}b2Dyr-RJXhp{&;ZZXS@Cg&foh63mw=#<;dsKrG}qdNOJ$gVwfBC`!YJ;&y8^^#_BNB=U0cv! z0BF6d42prm<4>Q>e|j`C9m@c0M)Ft)F0q~iY{de)NuL-NpdyQQ4xmEi!uwl51EszR zSctne)lNK=-&}8nvWM3RzeOlL-cK*xrdnm+07%3pf1JZU_{!uXAQ<41zMaD#57#6E zir!x`fQ1$dz8uBf2ypw$_tP`h)2{HO4h2 zf!BX`ctAPHTYyAB;I3v8?=v~zPUX=ceuxnOnJq3=9)}0aFEF)(N8x06EwJW5$?h2T zQNAI-jR5{bMh_wE<7|st?&%oAlgq?q^pB3eIr**2zZ##D00000NkvXXu0mjfThJa6 delta 625 zcmV-%0*?L51=$6VBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0y0TNK~zY` z)s)X_<1i4$Ezn_)wv|3WGPgt1d0xWbY!vw62F*yrC+!#Fr*k|^> z;6~3aQ2nO$@p%Rjfy&TNQ)E4=%#Mu!HY0f~SS+#30pL?mH0)TNntMpeun9aNu0*c=!*L4Z0VD=qxabEX{mMl zy*BIOO)jvsAU9yipR6vZRN^f%{pH>%3j0Ny7%+TZquxaZvZBWCVyP)!J0;u0bmh` zC4IZtKL)SK2nhH7k^wFBRPbdG*8zyzpTD1NfY5)KMcS%G+R5;7UlQC-aFc5`xgDFzx7=~?J_%H#fi#ok-=S;zU zd>gxqwHQ2wLG#Q1O4-ns@l=W@8;z(S%3VY4N2DuQ6n6zRomm{P|jr1xtAuxBB5>QMr%DB_`hU(i%aq<7J%OUFk82^xdhy;R(Wa~0k5bJH2T~o z=!l0is>Er+!Kz5(5tsyjGWX;*mA-!->pY*|U8<*eID9w#pW+eH4jz!~>J8;A)KQat z&0|h%q>9!ZyyiqyK%+Nna2lf4SR0=O|D)m+Qc ztsn9M$6tOkojAF}uth(PfM^P5w@>yzTK_D(@BaXTnEJFWl=+(g0000iLXz4Gr?%?R!k_DX^6qB0$YcZG#JDmTN05tpkD3m4lO z6})(_BPjUDB=+s20=l4tI!c`-*voBoIE@M&cM+e6-aJWAE9$>7(Mb|KTWZ@Mry zkj)liv03FYyri^$iai z?LoRmY0z6 iW2l@T86NOqJiGw6l^ta^FPu^U0000NklF^|(Q6o7q^yf8H?=)~4Wv@yB~u7BWAI>2Q0FsU!oG30KJl=H1r zD)9p?cRIAdhZl#6 zy8-$UX1JUkDjXQ5ms;yW8+lro)akI zO!egk$Wh?g+kfh_EbP+=xS!tF-6 z0BQju?rRGOSCPVIXqtufabz*aG-uirbbG8G}(_k0C+n-1l z|82n2?Th#q0Ac)30lIIe`|+#8@3=o(FA0Jk@sCg3y+883;6i2n<7kWk(eUDGqYoIc z@e3;`Zhw6^jlTN@3j7ch|FQdS(3cjt?E07-kg1(P_Z1Gjhd2z>P^L2*pP_&^o!NMB zUAXOG3(THZ43PtPzGk}U`xVonTVYrZt@+6(3%HBe0OQw7hByw`K^z`^ePdXWId=kp zL3Xq@U#=~H_(hyG)dWl}%xmrv6g3b++`>l1d4KbBcb)>!OB(J0AfyAJAW=Qq)Bu12 zEL;vVfqt9RlS0Uq5jTjWh@=$e%#?}S5NHFQ6@y~PX64!|Dpn9z(%c*9zAga1*YJmu zX5|J*V(N*SfB={W>8z3pPU1|!Bu1b&H_qXQ`GGwWIO@2qzuVs4+I(%tX#+gH1F&+i zfj52^@N{omCz_z(+bnG}v;o`3+zRj=zCgxKzLm^#A|>07*qo IM6N<$f<3c<+5i9m delta 802 zcmV+-1Ks?P2lNJzUw;DsNklBjE6o4;+TRKI!C3LezZC}aM#(yA18QMuW zy~-C)>7Zm5D3`T{RJS%D%E?PGWU#YVgQGv!cXB)BJsApZ7e74deY|_`Z0miD?ShIu zpLo2_m=^?WuQS@mfYb1JKNx5obVgx>1L3@bLIU8UljN!$XbPN< zj{OsK3U)ehz?U}%8Z7`NzQPHYvja^7gXGc}lk1EC%)sRZ3G|JCd@wXRZ2c3o=neL)M9;dpe8USsg0bYG9Z%sZ#0im-rt;6N5(L=Neq0>01t<^0+rVrQm z0>;DuFW19V%71C(E(!y<1DJfM93ZhKrK?cawa7E#%aVOr%eoR&p7H6URQ6F$(E}jV z{GP9E$s+i<+7lfe6}oPQ7kQ$KU><;7FNpg4zCXb ztZl3;aQK`GsuwzQ7=8+e{$n{-7CI${fDNpa zNxT1s*aDbIunlPIz%>#7ZNM|_L;MSXi7i8H2l$r!E_U%Gd{i%(@4O@ky39X1#`1g= z`d)CM)80{tE`I>R!Npah4;0Y&g%cE9A5OzxenA4i1;u}k|2Ozs2V8c1N)Fh>onU&J z20lX`f`2rW$;{L~$&qWev&x%1Y zRK3FPipv$`wXzQuwl4<2^9p`Y%C2yLO>H&SV-NuQsL(FCj98pXIK)z>#8{lchw=jm z55DTSZNIzS-nx9<#%TjQvjuQ+&_I6*c&5AQlPr)&n<{N5v;mvN+zLcnfF>oV7l;$B g1{>Jz_x}_>0Y)fHxFJ)kUjP6A07*qoM6N<$f*c5NKmY&$ diff --git a/graphics/pokemon/kirlia/back.png b/graphics/pokemon/kirlia/back.png index 2bd79fbb127c1f50a101fbca2a28e7fa3b1d6096..02f4476b18ad7348c40030fcd9034df9772d587e 100644 GIT binary patch delta 583 zcmV-N0=WIM1+4{;B#}W-e*gz`Nliru=LQD_3l7(XdZYjV0uV_=K~zY`?Uli6+b|Ty zHPbN2ZDhL_L!yix(|@3edlwy=o8+$eY_OH<3Ym2tfMAet)m^8}#T7a#b1J5?*?0Ic9gzz`GO z0%j0V5g7aST_w%{f$*N1y&zX3rx$}zXB2?yNEu^vs&z^Md2Yt27upRXLy(Le(CQ>$ z_#1{b`pDbc` zctGf8FpFO}o*W?kj0lLHeHn_Fe2o@hODovpT4yBSk}Z!26vf5|dJmcpI|s8S99U0E z!4}r;#iKDBJtSA$!q!MQAftMYHBi;Cvk&G;N=lbd_5tK>fA5MBqi3zC0Yo3G$O}LN z2(ZRlTTvd;>Cm{W)^5*FA*uPrKB!!K<5uNVXi z$R(7ofjQLWZv<}a&NjQf=$+3*AIcraRgv0b4P{mNuTX<@-IUrxxd0#lv^;g}4ThbU zJz*o*V+g-?NvjXjBnxVZl!z+&;Y9hwWqvp0Ys`zL=+e*o6X V1#+67b^rhX002ovPDHLkV1f?Y4fy~7 delta 586 zcmV-Q0=50E1+oQ@BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t-n*K~zY` z?UON!+dvS7C+1ARU2xJL0(%{<^!11?5a3nIBYaB<#0 zce9q7^Ny1?fed01dY|6BU5(&>{q1!XhtEDJzedru*QaB7uD`pzBf?}$69G)eF$2VR zO6X;_dX!h=m<8fVw#>ADw%b0z0RYoD9%|C{>O0+j2}AbdiPk?(0GWLXfseNnz0@9{ z4q*feF%}JA`!N>*;OjTN@&*J%Oay>VriWh7`;l350I5T5tu?7JDFxq#Wj{Nn3}M14bTb-zOmG(IInx>d_J+4AEH`6Ezme zML;Aci^N|65cv~aC(nWw52!FB0kZ3!2Qp!|(EzY;5*{{Y%>q8z;z&TAZ$qGaZ^WQ= zup7n!x=KlyJ9m%|)^5!JxSG3)2oJ2enS&b33is~bJ}SlO3X2}1+8=x~rn=6_3Q_i` zi@E^RNC4E%xsvmLP+rH{XLW9OPW0-!!lxHR*AUh29H5sYo8r^a)k@7@it4RJsVe+Q zL;snAPy@BV;w>=4s`y2~joZ6=e~{htljvcw7xY)8?pR?_mf;pERDPOL_fpIe8GtNL z6MI8pX9atbAkxSfg}5t9-~n?@vpCyb_!KnQG?R2)P#XXxlFPF1AwjJF0Cau}{G$c% Y3f9U6a!4Ro3;+NC07*qoM6N<$f=s^*ga7~l diff --git a/graphics/pokemon/kirlia/icon.png b/graphics/pokemon/kirlia/icon.png index f02a4fe7c0ef363157c2276d9cea2d034921456f..7aa3bfc65991a9cd04e78130217bad660c063259 100644 GIT binary patch delta 308 zcmV-40n7g60*eEXV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1q&~m>}vV| z008buL_t(I%hi%Gj>0eyMSTNHa01vqNO2F9+fCzXokLKhf=hA%l-+2%*odUfV1q=y zEzzx3%XEJ7jAzDAi2oFvon_;hk;=wt!;PQ8(GdLr5ThpB9Dm>jMc|-D$gn;66cB(Z zfVR{1T(i^m)R}s&`DxmHVV*hCXkM30`dMTke{m9koOrQtR6!%ET@?(ii>drlc$UkL zZI9quR!VJvNdCT-YKKc3oN_+dqD~$Opw1WX#e2q|2*bHB(?gh92YVL=b%??gsDq8d zjG&N@!T<&IhigBlg#@o!pJHYrp|9igKD000020 zfrlBX!;Ku)fC0n=`oXlz%)z+*U}r%5X8ZTb&OKy}Jk`Qx9)EJ;FnIz%Q8pXT4J@Mj z$4X#z73+h>oF1NEM+C>Z(fS1l$=9*gTPRT{uRZoCGOI@tXjKuR1a}gDB8-&6#H%oi z4(=ih>X3!0PzRTVIfFtW3j-j< T{MFw80000_ z000DUNklF>l*O6o5%9KR_o^YDbF}G-MKeB#nBbc(l`z5}yztS!ha^Ij~To zzoA(=r3A7RDLi-$vSsU1Bl=N&??_P;NxOTR8)#Vkbb9yR-G9AL)BcY`XO?x^{?zH? z^O=uNQwT9=0mG$_&k&zFW9+;IJOgl;diHfGp-(Cn2#(h=*Y;YoFeTq;Ja23yGF)TKf zvNi=nP(h}$? zAkQx{_ZYCtj4I$o{s+4aVP)E!TgMY<8n-b`h9jH}=lssF<+%dJgZeT98_NvmljnC* z@<0*eTB6)_;7}fhi{M_aaVfNxu~9E4eqU@N0C6cph<}2VYE}a<&b8RU5+Gp{Dw_0; zfv_m|s`vx;v;Z*Xs@!03eB)LC{>BX^-|z2%=<=TLff#FwKw^z8HrvNw+~4237{klo zJ_Ag!=tWKJ{ZjcQ0)N`@`XT@4Gemw1(DD799Ku7EfA|Uu!Mrvg*DNdnV3VK$&|bu) zyw3Cd!+#D#T^bz#e*O}HT^(Q*@Vo#XZ~_7%L+xI9NTy|tQcT3V-EQ|cWo_y;06YlS z+n@xNQZ3V{GF<}MExh`&`|3h~d%~7-c6>f3YmtTU>JvsVmMQMcq;Y^xj2ls41mReaZerL`WVS|ihm2Fd@R%&8}|s^9MX;O)TBf;_k9T@ zJmK87%ahf(t46Xl`dVv>{b1_sX7Q9EQ*xjw0#AhAo&c+HQ~nS|=Owci zaB^A$di_T(d)avxH$uHR{SRRNR70T?JJY_8Z+vj4|Aar#U8@Y?F@HD!-TqJq9^11z zM1L5B>391Bv(E5tS^5TwNS8nKfDN%RZeoJE`~k176*V=efQCP~)OvAH>z;P`gAJ-H z@+)e0UH;G;f-iiNi;X#zUH+iis~>(ue-L2>9QgxIvCMvbpPM3dj(|h^@5L8C<+;-Y z>?)(ZI6!|;Gu&7m{-C+!4;Ndp5eBz?uYc_iE-uqYQG(casjH?$h=V_<-j60liE_ai zseU822Y(oXQj_|K;Q~2=;ismLA=mtY zYdXG(+}KeKhvVikGEw&jO~*dt!(mK}Ec0vrpy?lRYI>vmfegaSu8z9@#|;dqyMHTx zfW=%oqM-+dJx!q0gVki(AsA9tf&pyz-?Q2GM`9sWQqwa|k| zjAVyDU`O2xhUs_t1360J4>$!GNYfuuN}=)x+!trEtp`c17M*|`##UIAJ(}Y$wEf}y z%)_cLm`n%L@(4G(SvnfRK$c19@-_!)y9Dq@{eg0IX7H!{A>je{p7sY$z*GK^BJkZG bzS;3FBsN^=*$0w100000NkvXXu0mjfX`VWv delta 1193 zcmV;a1XlZu3it_-Uw;IHNkl=`%G;IESeD~hny`QH2 zABRpX>%99{XNb>dK0Zyx*r)@HS3W*NeCmXds}ArCz#;NE)PFhWn+~7@LD0dq;A`jzbaNt{9idf6ksFxG}pY0+5cEdx6f>hM324I|9 zwu2QwLS~|9+-m}1QSNo|1MGPLV9aH?!JzoYEdl(-27i<94^KdJbD$?6#+o9KSW}B! zo?jHdB zLInVs1ua1AMO@13JkLKIG1QgO1K{6ZB5UtQ8Us{>OO!1K>2|N*c zcLJ=&Mtw*`=Oyh4aEkL9Fc@~;SD|+A;#R1e^Zx)AUwE&H6Wa~%+xW@`b&5UK?+@ax zm4@(?KU6@!Kh%Mz_N)#O24VXB{y?k?yjxbjfg-|t{9yoOjE!*@3rJoJ=S_dWt7|Qq z8h?~P%O70PdU1%>J(obsA8e3ak=}}SR~-MQKMcm;GvB0aXU^3H()0(-UVryJ`U49~ zK#rtb?qHSu{605X=rn+;{SV^nAM)I319q9wK^&kz$Qd?Pk3VRx@Q3R?+cAUMzSs2! z7nkXyC_(JIqN}EYV3j|}-j60F66Jz3k$?S$?JIv6%T(X(MXD8$ZnJD*R9}$9PV{wb z7D$lEb+)g70i>qrBZdpY5ez>yeGIwg4^-3fP2|RoY&aA*kCCyuKWIAk86T=KGqTLD z`Gcl^#Hqy_=?}snyzG|OyZ^@>j6`>r{s7AbcNlK~2g9Bxp!8rpoA(F?=cQmk*MC5Y zhBQ9;!{RC6TU{Pe*fggzH1@w8w=Q2z>L0uXg+kBsN^=_a00>00000NkvXX Hu0mjfp8-1t diff --git a/graphics/pokemon/klang/back.png b/graphics/pokemon/klang/back.png index 306924acd6e7eea3567fca17c14b3643bdadd96f..4fb426c04029ae016dadc0e102724dda24800fec 100644 GIT binary patch delta 696 zcmV;p0!RI;2Au|wB#}W-e*gz`Nliru=LQD_3^ZQIHPHY70)RT9QtC`RLjK{O?bpCw7Kq(lIEh49ODln_zV5k; zr+!(p_)_N}iIo$#A8Yoe%<3H2xrF;tQUnI&D4e8Km0DLUf21gfA>aipY_j;-&kJl0 z1c06y0H)!nt;AImIRGrLnJ&60az1~zIRL<)#EwIp0YI~GE{Z)6TY~_OE}kRGs67aL zD!}#-H==KjkRe8eS9ThZ`iVgC%NUc)4H^#s?STCgL{6=M&2awlBCtQd3_!dAi~|7U z4IuIW#Y2GZf4c^@<}(4oDd@f{AcgjL!1m!lR}tkoG>JUlTn6mq0jAU4CLCl#TXqnC zA^@@kFH5GkCr(LsJBl9w2;ZM*OD=DSUjco}>J2J7UAOAhX3BEWbT-gah&sY{*4fmOQNlG)Yu{0L$^=P7WMkPX|4E zPryxo(zUP-UOD?qsNvxc>eOR-%WmbD&=Th!V=^-#EN8u!`Dr;S_U{MZ3zzbN| zWXUf-FYt080QAg%05Aj40MBz7E<3;>#ib5ZPp*ct?I zbnzTu~=5BCtQd z3_!jCi~|7k4IuUa@Q6z#jMc1JI}8 zU%(-dK$wSr(b(;J0T{{Ql>lyYm&b=AORfb#LXbgWAJ4k_1l2!R{hrzMSlQ8S`5POL)Wzc00007 z00035NklRAVmtMN;QMo9*4(f zfeS>6LV@I8zzpV7>TeGTd4f9E638kDj7O`1I0t-qJRr2-0e_u%L^RyiTqA0ij*^+W zBtE^JE-AX?TLAR+{J34TW7CcWGG1>)WZ55ei#Vn;tuJK#?aR^W^YXruHTOWa<@3X_ z+yW34m)EriCEMy5_UAf^4Ix>)*CnvReTM?x_x$TUP>|4w2}6@0Uqt4%iTcl@gK1?L zI-1{Q1XErvz(fc}w3D=VFohJ^5zHx*8o{V*CN+VHnUop8R8nRD1C&WkU?dXGV6t_Y d!ASURFyE&Nx!Fp)EZYD8002ovPDHLkV1oSajtc+) delta 291 zcmV+;0o?wf1Nj1wUw;7vNklD6qdfHIKR)Bzda;sfl^BZat0#fUNaCY;630Dv4RKm5)jdH zopVh%`Me*@mMQ7!?R3e>=THIA*Yo3gnLOLNERYS;N<@ysUVmD|Go5L9As22tCqJF% z_l2Cj16k+K56^M~ASTVPO9Ka6%Np+II)*JFIlSisIN{b|fVWML-hhFOR%~lgq8E|z z*~a+aMiZvS*uAL!OE1jva}j!BWb%@?Cd{D}xn7u)D%A^PuBy}^Oj4z6CrnYwcESLu pQiCv(2uESmbsQOmk@(xfd;_Nnx!I3|YNh}H002ovPDHLkV1lvwh2#JL diff --git a/graphics/pokemon/kleavor/back.png b/graphics/pokemon/kleavor/back.png index 4300b2afbc5e2b46fe85cb774f694c6b484397ef..2d257c878ede5254ff95c73a6d3c4e9098a3fc83 100644 GIT binary patch delta 718 zcmV;<0x|vj1)&CzUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%l{PGv~D z0007nNkll&H6bEpF#m>X0RN3&62)fyr4k#I7eBIkpSMpdYEM;|u>)Zv8 zEeK0DcV*4OF?4O=L-ie)_yEZstDYD@_w#%IceXK%|8SYjDu3Wt0rpT12BVuQKp(0q z+*E+_9wsBS96*bfhH!yY0idNl`ZkP8K|QGmQU7XJ0B)DhS?385yA*I6&hL1=eFmJ1 zT}J9>#OPjWzP1+vg+S*PGw!hPGr5Lx`* zx6WoemWbx~U4O*W)1a7aU!oC);RlXA&VlNIgET(HaXgu+5b^lp{1V)sP!x!7Mb_6} zFxuY7jN%EWdyqup1auRMC2q5L(nX=hST20qsOcGLmq*$DYC2IV#|X3{Jv`s1NMJ(T zqzVk!38<$t{v?Dr1UP_}HPT}A(%Dd`HBY%(9frWyo`0KunjV1Yr5xZDf)UYyOOIgQ zO9{2D3jiIFFPajc(g6Zy>u;oW1oIvSRKU`KR{${|FrQ)wV8yd*E;Jy1;0PUHSELxT zMs%=X%l&H6bEp_iJgZ}sj|gKBj{#hI-q2T;kvh_ zj^wdaSjy@Q*SQNGTM(9R?#h~lW9Zt#hw3|Q;)6(Lta@Uwbw9uNfA(Qn|KTFdb09be z_+2&V4_}`HthxkNs4meTR`(#BvT6V=RvE$rdJX`q?9p>zSbquX$(a!Kug)1Doa#C2 zA_3}D0^z{v7q4HP0QVFmS0+ea0`aZ5sx|8~k%St+ao?f@ahe?=-h@coW{HkS3P2qV zve0VT$KX)Hd)LJfS^Ob50yw zr`bfO93wD_bn*Q@MiLX^CextLk3c=0iAO1A9v}xTduYVyrn7<6Yn}?d+8jY(oSR;n z=0J8+0q_dJkea|_2QcrZlsWbb0Bu<;mePQ+J_2q40)O@a%)1y+1KR|C3FN%b1BM}h zmuHtO3?P5t2yNgOv>dZWO|alRXiIwWscGz=03OKC@$|U>?wddYw#Ti+FyH6FrIgu22?oCIvD_;46zK#y11Tum16bghq3(@Zukzyq zwg)4NWDmt_kovKab-VlXs{lUek6n}?kp`Aa)FFCT0G~jhA2J5{r|U14WF7^1qA&3P O0000F4+HNpq*+AOK&rD|N6dQ2RA(VKToi%jI z{Jz}cq4x+N|8IaevNt6RqhYs#j95aY4A7O|S^=l?`a&^)h}iGifnFA~5V%L|>kjF( z07A_raDg{m53E6(6R+kW$nI?R*EO(qzyZl3rE&)b&|-!&0RCK>S{*>_&}y=edr0;vN4 z!z-8dRoZQ6c&gIm24pmzhv-TgHM12b`7iG9MS)I;tf_&}ix~j_>5Fo>>=${{3*SXK zOo};3Q55glX}&1yau_&cbrtx%B+i`yJ1!ibb%)MyK7Yng--u|04!Q9W5cq5~AELO7 z)ROVBiFusZUDa6Nk@e74vGD4Z>F`*11q8;Mw8tRshl0Z;nDyB^McXa zPlS5J8{YtWV^!TaNnI)IEFf3}^!`(I=rzDVKC~;<2Drivp)XeJX_@>C3s{C#=~+Tb z5tk-iu75YHf2u>6IM)<;)pQ6<%X8b+x+qlyCbNLXTbOAC`WSqBnyBSHW}VDT{tbYA zWOXc%Qa-^Ok~E1i5NS>`RPw_P7#IZtU9+fQJ`^qNAR9F3b%) zG{)CnjDGcusU~TYyi~v={6c*L;N&59rV?mbi1h6@8u$;nq}&kL1!o`2ES43p{bsh+ zzJCHx#o20K#U-#?Xl7KZ*zSR|^RQF+?X)@OY_$hs z)dIvSdknbRE5pKU-tY*}|NRJ1FHc9*v#_Y!nW|SAKOMvZbWj5s&)|3l(V@flgNOsnQEn{3lDb00000NkvXXu0mjf(fzR) delta 885 zcmV-*1B(3a2ge7HUw;EqNklF4+A^53Y@m0OpV`h*R2y({LnSet z-MgBF&@4tO0vdxm;66gxp~UJkbz*@_N@I}|8xh?5U>k5Vk#k&p~UIS7>AkMIAZ z2&oq%k1WUgQNSHOEVp>{unLQdpA8U4^rnPiHtbfA5i3+F1Ah$VT`S;p-kc}~5EJ`j zJJ8D{i-3E?KJSoD3lOTg03M=+^MN&J3*z-W0@0n#{yqoR4mcoKtW@s609xE|2Eac~ zLZy@gA@`ev1^myyCgQ15E(gbL0(NvVE428fU?8G4Kwc`9U5M}>;GFfEX}4sd)Excn zzYx$@ZySJvK!550!0^mveU)|_8lI^%xd0K5=MjdI#tk2sO!D8|;mZPp2(zXJLQiG@ z{MRqa;i6yU%_w{qL+H!Z z)zo~mGi+cHRjp@*LWHt(>GW#7`mZ{Kg>y}llXB<~n3m@@tE-|^5tzyXI&Wd65$I#` z?P;Qxw|`i5GDD&SaE`2w1wx3YXdy`xiHS&anxT>>TVP-mgczEg6-kbXN|qy)nkqVrjzH`faNr~zRX0#vD+&)TfjSDB?1z+=1>wt&p;fSa|}Y2_t`Sp#Ez zy8fD&V*IwwjSZ(VQ3DgbTwhNRSkPO&2ORH!Qzp9dqA$WhcfM%ZBhYz z55U6pectt9x?xJSysOrs{RZ59Jnwpo1F7 zcm{`e5FI*vcd=2;b#(8S;2ryWZzBl1_kYCn;N|!gdH5$uw?X_5snQEn=PP-A00000 LNkvXXu0mjf>Q$vm diff --git a/graphics/pokemon/kleavor/icon.png b/graphics/pokemon/kleavor/icon.png index 4443cc1433f26af5b18dbe01e2496224c77ad72f..b617fda00e1605c7e0ddb9e8f46b149ad0d849a2 100644 GIT binary patch delta 468 zcmV;_0W1Eq1il22bbkN`bV*G`2j>O{1rGpJQIe+s00E&%L_t(I%dOI}Zo?oD08oEH zPk3lIBd2@)3H_EV=@zSt+3atnm747UM+)0r4~)~qQkSX>mhS||0k5il8Q?eZyh+UM zeFEA>5^ys?Ir*OXC(%T%VE0-=hRKxn2=dc` zzU-uA3VA!gfbN7TU2$+2+ z9Ha=F1SS+OD;P0WIG{^DSUBX1Os!@g4-)%ZA8fDj;)B`$(Z@Gg9z-K2$&O$E0000< KMNUMnLSTZ3=hM3Y delta 457 zcmV;)0XF`=1hWK?bbkSQ0J>Lm)^Id?Z76EP?l#}n7uR1EwiN6=2k3@hHHYR$&3gg{}~^0K>1B;*x*BKaIfDs(nL||Ms zB^)9#hX{;Q?Gh5?`VknXDz}NJVMG-K7`Ce7)IFi|0z%B*XB;F6n+S~0ycA%Bv5W({ z$Oj7!X_2wj#K(i!>nxEEwyVAH!F=8N@A&uvSsp|qY-5I900000NkvXXu0mjfC4kg$ diff --git a/graphics/pokemon/klefki/anim_front.png b/graphics/pokemon/klefki/anim_front.png index ea34c16c36b94e0cfa15060840984bc785bfd233..ff97a7cdc8a50e4e7ac02cc09d5d543a729e7886 100644 GIT binary patch delta 1089 zcmV-H1it&838o2O{1rH!^KeBHC00aq1L_t(o!|j*9Z`(!`$B)G= z_E3lttTv>4P6W0R0IDwqRF#^Fnv$=xoNAU?O-3lJrsiA|3N;Ck<&S20p@5|%0a8R~ zOy{qHhsf4>rH|OjJwlm<2Czsb|C@XABw`mwhEHbmzZUXOVt5g-2;JP@XYL_i%q{{7 z|BO_7kgvJoX@6u7#o%?;ekf~c(GkibkQTsZjRQFgO(HF3%B;M(Wk&Ce1Em_U`^F?? z44?(J6@PCDKtR`lECUF@%%6+E<6mTe66Ho;{2r|+dJRXgI>?uFmLPY-RYgnt5of&bP(f#DZj-D|+*h2N~; zz~{7aQ(W&Gexrp0e}2}+`oli>ttNUdoQ|{Sfpa;67GM!*uh+3X+PoeO;3*2UN1@%M z9*kh+uQ38t!!Yc$Y>zk=c_jyU{<{|O|3>zxw!<)}@ccPI&JbXy9d_Hm0XiV)9yI6% z9V&ne9Dg8Aw`0);KcRh#tY9y?)8&gCfW9ONC*YGde~XbdX`J~8!x#`-;O%hEo2}t- zV1NTxeEtImh$8`dyyM<`8~_}sc13O#4^QwGkS#`Agb7MPfP5SO?N}nL@l_OGR`S}f z9ZrCiu>?4t0Iwu~l8vu8^k_tV!IA*iSegRYrGE%mIU7qXMrzv}EQZ2N0`*E0Bo^bl4R(Bw*!X2DBz^7R8T*OY=xr+mTge?gD;%Wk zM!kt!48=X#cLgA^7-ah-Utsw<_21zZgA~{H4_Tp3?02}uAW+hnx?z&lH@L+h#jI9? zjDIP&7?joB*w;!d2Hnug$C0O8GzjbBek9w>)iDnOU|j|0B1B0y5D!AT!N=Yxx`gON zux91E8id1=GmLQGvKT{O1OWG4N@PN5dz00000NkvXX Hu0mjfGZy@U delta 1081 zcmV-91jhTO37!d%bbkaCNkl1&v5Xbj|ZKNX5krYe8IbT#7koZv_sR`{P zr4wvHQW;Q3E%E?~;|B=hJiw(mHnI)EfSDqVx+7Atf(qb!m) zM?zf+4i=3XXhXcyTAR{B_+K44r}qyvkk z3qQN3PZb-tG!AA9KNSm4BRCFNjBgzr2=@plvvEMfKO@h4Td2EoH4#HIvCf%qDw&i# z5n3EbNnopvK!466lSs*til}UD=hdERpj-#>(43@90lX--4Qm0wz%YO<0vN!|*EsOx z$0R^gx$$3rQ!|>e3^3>CRjCnp@j?NqI55fk@h=G};Fzi)mord`r+_hvU_}Tt-w+WP z%hbB^*WQKSq#WSVj?OqR82WEa5*U3j^!+AWUihsl4S&2(nKz}4f$2BfH1N;+%tzzV z0Q`1~nrBYe+4sP?977u@54_*++8%FRkB9I*33SGx-QpgMVdc|D0;q*y*lpV$b1e3I zGJyH-S2)pM#2Y%W*b24L z-5yRN0DpsoB%A;TZQRA!njD;Y52FZ>At>XWb3ANK4}l>KT;cei2rwrB=;Mid=OF+z zQ0vLusve!-Es!*+LWIe4k-?JrFLqyB&{&me(PPCDYrlRp0amD^FM*Q@K;8`*A{#w% z|OLIhp7TYqVg661^nq{K)Ub0{(RcVq-9F*K29 z(5SYkI!cN0)uuRkz-;=ll`Vb!@VR)#Z1T004O`0{KQA7x+06z4NQt4j#|N$i5+nxO zIV}`Lp~3yPaX|IG()z)XC^ne=mX;U{${C?==Gp3NT4JzLHdBXmK3QUL(QqSOn;Jj3ThBe#1Ye6_FJ0k_W zB!Ms-mCRi^_T&d805oG7;Mi@TYpULT3rzKQ4z&?Btn)~eKYpozJBh);2}V5$M0xXx z2KgL;2cv#32*Mtu@{zodi>6ZeBkW%dA%6%0OUv(1PU_xe`7Q+>oWm=&8{ooyzo~}4 z9$Zg16^P1%KQ~Z{fWJ2ej4->EGSq)CddeYzs-+=;W|-pyfWOuaG=Q;10xkO$%YYPw zbla-7z1xq@HRYmur%X5n$hQ319OCYBZ|aM45eMw)+sLouF6Mxk3-D+1axUl6Tr$0R zH!~93$ErUE#EMz<*u4O$w`Og=t#kIp?q&Z0_MA{>TFBqT00000NkvXXu0mjfEJpll diff --git a/graphics/pokemon/klefki/back.png b/graphics/pokemon/klefki/back.png index 0f869b9c47e96e3075e76c1374975fb6b32dbe4f..5dc2ffbf2a76d9d7334060079b718f4f272aab96 100644 GIT binary patch delta 440 zcmV;p0Z0C-1fK+uB#}W-e*gz`Nliru=LQD_5CooPSReoZ0fI?HK~zY`?UY|`gdh;c zA>jbp-RuFt3+Nc1sgkDG*l0LGkFZHOcKMH@D-YYGFP+3d;FoVch7p8*JL@bU(NvL(@@q~dLMcr^ld{cgwUAe+g_C*^a^=rU`i<_7?!O72zShj zy9+YGS^~?t_eXhSwJ*q8LJL?NU+fWme-C^oaIyZ~&qV;11b6{3p=%I+k(eO~I3h@d z95-nEijBcZBmmEDe>Qml@*H^Xw!q+WB*0BVh6u#o_y`s{%6yKk%Lq{Fi42&0`3*p6 z0>TEGoJZ1Gz=)g!vWbRM8#48Yw#SS$mAiNOP7reF$TJ%mQc6|||&9%6}a0pEcdN(hF$wNhz^D4=324v(ppJlOE`lhfzLJF|GqVHu4mH37 i?SutB}4N70000Qf2mjsdA}1pvC?5EucDYmDM$fLEsi0K;Dcj9*9rDBJ}TF9Sz|tS}IuX5C5C zN@HB0tIfI{IJM{c3fJC$ZoW>tc|8G`525U3VIDfA@V4QqltN6eCQ31{@Pxe!Fr!ow z`rBFnlxy?s?t)2JN>Dv@zLhuOT4XB;6tFlw+ZOE^78y1IXY1enTnylr051S0a0Xr? zPQ6Y7jtCN=Mh%TWvC%t;1klOtqz53cL8o>N^sYt%+$L0rKztj2AHhP)g|D%883E2c zkpa?=-vFE^AS8%%9$9MvBXSJzA|N8rdVq&D0B%r3iVO%QdJl}5f*FMM5FSFVfTmj8 zM0f|IPlPoNdw2#AW%G(W1&A_1wm=il*nCfW9^5a0&-rIaKtpzbc@Kyt*gVhQ$wHHv r*#N@^HNc&0h2wS{2`roY_d&=5{A7bN`lO|_00000NkvXXu0mjf-&no+ diff --git a/graphics/pokemon/klefki/icon.png b/graphics/pokemon/klefki/icon.png index 15ea0d94272670d0716be66f681c06b96c94ac47..98e140ce3ac2ad294f7d41027fe9b7446b60141c 100644 GIT binary patch delta 341 zcmV-b0jmCt1FHj&Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%u$r3iTF z0003FNklb>!3;_89{-K^*1JxG5=F+a2+&RzinE&)S9y@eMhHf-rCCC&p zb|l4-ymV+0K?_d=MTrOS*ri#Fuabcx17PzEGXa$}!&9H2oqvMbGDc{rHtL?lhsVuO z?G3+he?31m&0F!k>T0e%aPQ4}ZNE&xdkGbej?TtZbZZ5zoS7;@ntK?Sp36I+$h%Hv zfGqksHdfvNTnYZfqTb>!3`KbZ-l3jb1JxG5=F+a2+_}f_nEUiN z9y@eMhHf%pCCC)9k|iaU+_6OnFZ%kXDE$X;-;!dD&s+#qA%H0z$_v7|BdEb3gMgSi zt}$8(nom{f1AoU3CrcNl8oG{xhA)~L zLb}Z`X?m;|f}q|Hd=pT!e7M2tg@7Bz@6?p7J5T`oUECi>O$<1llVDj4xvx*Zh#y4} zCr6x@;at8V?nZZfv_KkA2RQj5Uj(+oshRdqqlZ=XP_z2&P;I)9v>HDD&Se{rOJ>betwl@$Vp zt#k@do>(EcL2+{-}Y^!Oy_5dN;cblN#AydL}4xW=DFpv^K+$ll;@ z0SS^#@qvf@be~)I5EX*MD4NLm2Rn>H!GGBEufheu9)ETiu@)nsX-LauK1d#AgPnq? z%>@TK!(QoYC4c$(|qRHQEUi3wfc`>cT zSXOo<5fvLI(T*IM8*22lEeABk+!i(&26%_fJ%6=@p8H~VS$1EiUNYM$7(NS<`_?~1 zW*l~*4BR}g^%u$fT40)90iLF493+4|U+MgVGSd4A>oa*6Z1`7@igq9uWrb3=!f5Zw zMFC1LP-5#nSDgoZyxrkkcExTZ*jq=4_o27hd-BIjbGLlhy$)<&`=H9NGvlAcPu4fd VKoA~GpauW{002ovPDHLkV1nVHa7q9G delta 774 zcmV+h1Nr>v2H6IXUw;DRNklj9G-M z7!_`ci*Qwd3^8^&>VU;5@=t0Gc!2r@V5)97K-FGr>kItg9)AE(OTjGK092qnBFYZ+ z5EIZAO9_b}12~Rp0fDp=pcfcK6fI zX8CdhYIozP+J6mg1PYKC>v2QtCFMFlyuP{ObLA=3RbFl9ZMTlE2{o-4?g3NfbVnWU zkOJyBo*!B=GP!0kHrW=jrhC4y4*! zv5E!haC~xr((NJqf$DU1s{#ua0{X4?6`(wc=y5B`6n}P@+TG5&`8x-yFQ&_l4m3fJ z&w37=Ug*6NAv>!UagKAG!qUADI?x8|RP?)M=_5(R7wlI?6izcZDmfA@`@PfhY zA@!@}w!fI}zFYI%4c$(|qRHQ^Uz`hjWfEFRu&j6_5tYoJP>uJOBUy diff --git a/graphics/pokemon/klink/back.png b/graphics/pokemon/klink/back.png index 58cadab62b1a29e773a495ea003f9fc3bdc68528..c0d2d6f9f40d4b465492951eb3aee1f46d015680 100644 GIT binary patch delta 417 zcmV;S0bc&51c(HXB#}W-e*gz`Nliru=LQD_5h%5#1%dzo0c%M_K~zY`?UFrHgFq05 zkze2*VJ1U$Ay#zcv`7hFWtEuN_;2je+dv71W`Cu-7fp^~&zW=fVlIM4}GWxs-nOXa_a!az33#@%HnwRQH0^%c$I-mkur{We5fA%*E87OFE%p(IE z5r}!tM4jpY@XUa*b>JOhS3nhYaxVgVDpngL70?9nR4~9s)TBTr=nA+^MNJquWxU5(6COd%4TBanp$XkD zWMGVj67y5hy@08DrEe@3800000 LNkvXXu0mjfaC@_j delta 445 zcmV;u0Yd(W1f~R#BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0e?wEK~zY` z?UK84!Y~j;jlUpk!wlm}m{jhJl7iBXs#Fk?CV!KTJ`FBSaI;^Tm9Q-dR+&kv6x>F| z9$!6tqTdJ7L@)U=;pY=oNii-=rb>OS%#yD70;Qg%&`b5m0r81OEl`1~XY3aDYRG~I z3K~iIpn(kw#CooYdL{yYz>@}~ssry3n*yq+(>oS;rGj-MWr@2oVK#v&0ZsE+0&bah+>z${56BRYAg)emfW!W0faXDf{)8;&1b_jYrx-LjsR}?B z0OCu&aZcB3ax7YaITZjN-EON%i(rzWxVT=gNsX-muuCouH)w)?crNI`{oPiR0yRNb zz^yBc)kFj5_?)p%Wf3XhIXZU#tQDjeAWh`c{8gpm$A2lXoS5>Eg{7(8A5T-G@yGywqK8x;Zo delta 34 ocmcb@w1#Oy0{eDP7sn8b-iiHN1#EX$^e_N{r>mdKI;Vst0NQN}?EnA( diff --git a/graphics/pokemon/klinklang/anim_front.png b/graphics/pokemon/klinklang/anim_front.png index 1f0a60ec3aa4d73ac4bea634c75295e84af5970e..ccf32358968182d67b7b324c88f4b7e47ce78e12 100644 GIT binary patch delta 1604 zcmV-K2D|x$4X6!}Uoij)a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%!?ckATY3hx9Hn#yV@jCZfmmyHb);9<2c-!~qxK0$^*4@KHZe&su*1tdd;=9sp=yivZam zV8ia`7V+>K*hAPhfMZ#$5ww>;7(dws2;&M%09M_QGCM^G3fPN#GI<=AJu?nL40mQff;~aByK?c2%yuaXF?{iK#vZFkbcINPu>r~&n9X*lejad5 zL^W_{_7i&&;(>qd3gP4@uq@$Hn79YtL7;)TlK~>!k|7TIW0kWEKKK8-8>K`={`t4 z&}}6Et$C4d01wg-XM8OX#DKNNoDpDY(oDwi{8V-MJr)%J+r>8!x;okQz5u23s zBqwgVRdI`epIvMiY8FNfa~g&%V0Xr)|dkE!`a!{Zz^i7?g~H$VgIDB zf$uPqdYgZI5orTVpWyvp&tCi3rqL@s|#-2-eJ;Id7(Omuzy_tllpO`_E!=vWp3bic7}#`Sh; zc-T%4uR5M|76sk*Ofa(}s^ciVt83{t2O|9oFL^y#Wf>3o?eyC)We-K$Dhr_jD!#I) zr&qv0eV*qF(n_$p9*xv!yRf4XL#uz+=%RnQwBO$s%aQdT0jq8Ok00Sx-s2A{Kkw27?)u=H}Vg(iX1J(3_YHGLuR{X(N zt(P9vx?4s5;G*t|Vo$ZZB7Z2?Fo3`oFtJ;*$R8~C;G>VpA0S)+Ie$=PIQ{nN%!Yr^ z%K^*wUygS_oz1*ez+FVN9QVl|^bAK%fj?Nj@`v3Mm;e`U&|UWjpSBs0C}AA27S0BOH4rs|4e-KuQMh1TD=}Uh`Q1S37Wc|S^ahe;KPm@olLB=1f(sPsFUN6VKjdV{ec0^Fmx$H)kcv&v^Q19A2QB3U-|>4{y=|;O&dgq ziOx=I;SVWb>CP@X06pPm{edPnxk!3{&L1E%Ziu~1zLlNeWu_vCh%n3mHSG`ChH=|h zw?hWNXtkvzW?}3iwUewCoQw1^T9OC;MJqn==O5So{Q=xR1Ka=r000O{MNUMnLSTY* Cb_kUK delta 1568 zcmV+*2H*Lp4TKGlUkL^eNkl(-?~yx7jF0!4QBAJl#Cc$7$qN!IiRO3-~i-o1Bs@3Uonbgjf3XM6ou zuY%9b0H3y$vbqM;q5z*EK1+ zvU7j~DK)T#fNCJHVfS;Bc=Vmz1G#Mg$Ff=@*(tVJ8fZIv{obw{xzy8#7;r@>=0h*ZfBqwgVRB;P|UtM_kYWC+#7zArT3Hx7sQ-fF2*|XO$l&rfBsACoy z09doX0?=N>r97O?X3x%Wsu3>$@b~)&oMi#F0B$D0D;$7;0oS`%EraPeTVo8wPiJRm ze^As~-4y^2!v0BL13y5d^fG_>BGLw!K7j|npS|{>k9)#Zs%_<3^H@$pc<>v}prOXN zGe?zNKdY+!sYzC&tATAx-bp&8w8Z@4czR;e9kd9*i)3zq`lUOcU#NZg*IUuYwG69F zbaBf`Ck^zy`TUX{HNX1$`ih2VqQwrvA?o$>%I79gcvo%6K)>P59GA@MhyP&z-;@b+_9~WlkJeg>&uPy999{`QE9Hvm zvxi+_MQ^x3pK)`Ob#}N@pG-a;_ zv5Np6+wO?w1t|a#9$tT2236tV`KODajDs?ek=ga}Bofkg99%h`Y?}@~$N3JxY>3-_ z3?Mp|g#g}fY@2btoEjXq%@9Dx6VIZ++nxz#R)qUFd55pRCv70oZ*a-$$t=ro$Zw~= zhADd}+E!Tz4dCW0i+Xwm4CwPbzagyztLxr~dfThrDTA|rSFe9*KD@UZM~U9w|6#!T zz#IPGO?b&^FZKt@xHg1$`NI+@_J=G`=nvEZ1Du2%6#D~nc5u%|0Y?!j@`p088WzS$ zOi+f-*AM^-EPJusIKKaA$iJV9- z+@QPe4?Zq4Kv9A?@TsbfiI7Ww(6t{;iUQ?>x25ZiJX!ifO^14)ia}(6@$q!pCWJI^64WO+W}5F;}60rVb6cSk3D_K2;4k;DzpAzl{k(K z%hu%6X^`;;tMnX)rXKANWDwoyUatB-pFowWyY>ed_LL`A^nkmq5g0u5N?7?5 ze;B&mj6c-hSeuvHA7t-_3Bpb%;}6~)%jzfoARB*lavU^_Mxj42i6abM%uuyaaI^k^1DjkVwLj+%GShE}y-dEz zPT(@LBanz7%m6j*4_21&>2}Bfuu`MT#w?6oq;|4wKK*Q((ULsy0j>DR+ke;n{Q-jd SRs{?I0000Mc{K~zY`<(0jT+CUJ; z`FMd_8(bh+IvYrl%FCW8PNE=eBBea#w!8w6wm^9hbV`@X5)B|lksl;VA{yY@eV5G4 zdTmFxu1l4XV6B;-|1&!~EUnf*ur`|~uyh424c1q^MY%KxDD@;0e_S49U4jY0`%1km zKtQS9ZS8FdHXo}e#vrbE4d@}@jg_@etOkg9C^#RhM=25TY9&my)@wF?L?Os9td*cG zfN}X=@!BT378qfrOe#JvL!DvbfE9yMQzm=iMKa;E{TTE05YUk)KYkT*9$tXVvjln) zC$>hdxhK=9zLU(vf3fskach)tKs*G8oEu}fp9^S`$N?7P!<`HrV0Q;S`ar-!2y&o= z1p@Mmk&PFI64Z*eZZ?n*lcGIM0E_beeQO4IahUhcwG?2y5b)etI0;`^3vz*|IPQBF z56Wf5yi1XTB$iIxKCIZxL`4qloX^Wr0t7-ctWMH0Ppxwne^Qv+Do_eoIE%b%IWO>X zMF8k&20&6BwWav0i5vhH7fcsj6gi!K*c<@hkHn6H7Xd)Ca7xo15St7E99`T;C!+Qs z@HqwBK|B+K>;M@&RCr^j0jXaIq`$K)^Y1e>UIDZNcFzzwHUc)o>F2A!?({kU@ft9y z02r?Uof4pUe-)tfE`Uw;g@DQ~=)7|vfcBJt?Zcjqq7%o^B=UTB8L*Rkm`-<^u#q*r zvW56F0g%PrjPQx{=Ey1Oc1!U+00~~o5S+nRXG5;i5Qob)#F?5I)|m__YiUr?QHanW zz|47K-hz*p@jcMTk@RN>bk8$`z`i1ZFkD3N>qY?XZ;^}hmI5%6a2w)3M%$18y19$v z!-0W>ToCXs7Z#KyU#x_@Y4t-h$qItZ7IR=Y*8+fRcTgn9`@xkGCGFng+Uh@?TRdyB r1GEY@+E?tRJ7@ynFu1w4{tx>DhvF>Iy(H=F00000NkvXXu0mjfr>j@& delta 772 zcmV+f1N;2m2I~fpBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0>nu~K~zY` z-IcM9+CUJ74ZOgu4HQV0&IVGX^0Ft2lPCzANGVUbEw2EiEl?f=ozkVUL<2}s(XSTyR~LM|1&!~Uc7%{EjCYJ=?GdHtf#t*a%m7y>PaTJJjl8P z6N2}YdRc&gQr+9y+Y)SlK2}eRL0s_~&_%!>D{G%v4G{5Aa6VR#QX=5jN|FY_H*c!FwzD%e3PBIh6GH}JMQNjW75FB!DjNw5pph+Ts2Uv^`cQSN<-5vDk z0|5&mXg4Tf0Tj?$jBLCxl%Q6SK!bsVm=x`40$7yy?^`p#i^IHkuB8Cug@EtQ!bt?e zT0a+visQa_@qW3in13m9ki^o7+lLjKnW)HtoeOwbN*{sH46Bp0%v0-}g%swt3X}pC z&LaO>&I`O;5deCBngNhhM{OzoY9a@K#Rbzr7e!8|A2tU7_>tIg@FM_d7EWop17edQ zfTN51Xh+l@1U{!=JBVjukR2d{j|y){n`-=pK>9n&vfw^L;}t+VVD}7>V`t!(5U&BF3V`t%&@KUrR{=Wj0@!3<2&n9W&N~PC(4G>1uzlFmQMBV2nna%OE(3OQ z57X&R6E?D@SGEv;CIGVJK?Z-3-W)k4-EJwq2Oz;q8Gfkq{%&!W4cgw0fKEXsJ@qpnNr0xPCx6I2aHl;-t+l1DITdaE zJk^+OlJf9z6XxRQ*aLt+PxoUmo@`GGXrmbs(NUb*750P!9-q<0<;%sJ;qZAxXV*X) z58q#&cnLt#pY&l#_%CkJkqDH5=zK=00m=ijd_L?Hd8GVvM^;C1fmsge@L+keM*sXR;W-pr6hF|b@6nt~-m8XYkCRtGDV*6c)xW*uv>M%v{$oaYXO zS*8xWI#KeKHK6|O+JNcD4H(s0+5uCY%diKAjpsRSz*MBr?SZ)wr1rq5lOS~gOcA8) z4w#0N-2nqANL>KK1}}jj7DpCfSc+ybIiGgS7wv002ov JPDHLkV1l4;#ZmwO delta 430 zcmV;f0a5;_1cL;SUw;9PNkllB_3~|VQgpf*b)ih!jb>{p3LKmQvbI&$p&?=M?j|_ksjL_kVK#{>Jd^C zZnfvAwYJne=d6vN#-iD3$@lMvFl9f*CIEgv-u1zFvMns2jen*`L`QL~SJ)GFczQw? z=Pze(y5q+Qon3^XKYo3B;#q(}=i~Ef5r7;+Ut_oulqY$RMU75#c^_j^Fb(Kf%Bzkb zXY_+4s>c!o`b7Bpg3+>_OtIw9-#olY=1F3=V!A;b9n00OI#?nMy#pp+^I*kNnjHzz zEN#u!NVz$Jgi!wd|yVK+WHX6hObIhdIb$Hf9cyeC+ylde`$Q|Th-a76?JbtN>z Y4?0sFL?^<{9 diff --git a/graphics/pokemon/koffing/anim_front.png b/graphics/pokemon/koffing/anim_front.png index fbe8c25e6ef05463dea867e9b8c4f26d32011dac..891ee864d6a3f3200c2d7e087a281e1a0280b1e6 100644 GIT binary patch delta 1100 zcmV-S1hf0X2#*Pn7zqRe0000j6I!y^K{&k;{Y%4k2?s0pys3PjsOQAo#3<`0qsHcp5ytU;lK+piNn*#H30aE z8@T#u7tSpJmrh^(JrF5#Vxx8hM3sZlSWL@Wyr5sXh-0U8&`r`r16)cxtVQW-yAY{7 zR9?#^c0xEOJDyxs?ll37y%?o~u@HZJCemqv0F2SBW-uCIhS}=RSt?=S2EOO_S-t&( zgufT!_tolJ0Q^>~T&LtSo}o#+yk2nue8^(gtwo@cd#_fjM5F*%2wzacYZ1=+AxmCf zf10T(k`zpUgU%9q7Y~;+1#rwSLOn>i{P^WF#-VP;O?ww#l^@sZ^kPucEv599|dAsFT+ zCJ*BBR$xP5*iMpR7bo}P?iNyP_tbK|{t%b<7~?zWom;&{l{0OS`bcnWSPd{6C?dUY4|5B9C^oC*!dYvJ58FlL@TnL9}&RO6a&3T6H z2x|^-1L=PON`T)0_0 z!lU^`zz##)Y)L;rVK5p_&+|m=?!SM(Q0&f4VNT%YLc0%KQ-lvxh2wYt4W=bW2z{QYW4B2Kk*F>U#O&2c0)d*jBHzH6H&YT0+ z?A5*f*}M+~w%dIISvfUzeH_P5%7f@bxwszQHV1Dg&l~>NAtnrBuD#j$0x<)U`nAaU z?{T0J5Qo4^G{(#4gz8rpQ61Z2AbDG(4t@iM%jal*k+NNX(0afL!4|3&_vAJ115rjG z48z|=!lFX&_v22MOsprE;T0%QGo-i}egrH6;3Z(>Z#AnV5&~La2-$PpDE_q?6gP5$ zzhS<1*;>+C68SHv*hRz739`+9JlP&G8ig;Uun{G^fc3>HL;Npo14V+s!pj&KXbu+h z0)IY33ix<`V6-LwAq2+mPkbWd6TwOqSO~iJ3e4bdL?8@OKo7GI2sYg`gGLHU1mlBR zyPB8BlWY5jqaua24&Mx~UCo=r+{kNFc5ZSFF#;zY*cb5dJ=mGh?+2l6J8>rzTEgC^ z3IaP<1`WlI`0&P4U4MKF7~eHq8KOUJo}Qjlyb|btW8PQ4pGia2drH8MTX&x!HvL)e z9x=d*t3Jc0z{@VX?7y(@6fL;%VKm2oDT!euiI)SIh@3G&(6bf8dg}y;N-J;l?{s}| zQEEc*;d(*<4VCp)_pc>!e@CG6O{r*Iw=SUn4V3uya{yK`o$!KXH-LtJE4fm@BUS{i zPtcfuV2A=P7~D^De6ZR5=QM%9TRlK9+1R;!lmyrsAdG9M(A9AQpaX!MVo*bN2Xjtu zm(>7(mgI)+w@n~|_DKT({$N>fury4L@D(*L6rvR+NK{$H6u5)B^;mLyFE_ z&Ic2O1K0%bd49n8$4!t+PxD|BY{(+b4`TgE0i+rjoGj@cAQJ;`ndtDMQs5(e&Q53f sKep3!|1AF(7`~Ivm-N2uvcG130Pz1RyI<5f761SM07*qoM6N<$f_bsu8UO$Q diff --git a/graphics/pokemon/koffing/back.png b/graphics/pokemon/koffing/back.png index 53938fdeb289953afef869e204da4be03ad3f59e..eb9e49d22aec2b14b9d3a98a57516d9ad3a207ea 100644 GIT binary patch delta 648 zcmV;30(brW1?~lqB#}W-e*gz`Nliru=LQD_6gbso;iCWm0#QjsK~zY`#g)Bo+b|Hv z1!%CxN*dCY%+QYd7}~MJfl`NNijcJfO=olg!7@4tsDSDL@(|4<^i8sO>(I&1&?6~P zq?EE-bAS!Y{PFJoywfoVUdD>Tzn)R*B|?h!$^+z4Oeyg=h$1BZe*r|4rk)&?iz4*{ z*Oa8b7*fc!$3^S~&;ubP`nwR!A&z}QWRfz^Im_aigOHY*+9ZLax^Mxk4ar>9nn$Os5%Vt3oF4o;qCV}Sb3c?+UKX>K{lB&5|fI7F6c zjRx4&^}#8R)O-|t3L%NZvd9}D05rkzYyV@h+_sE?CX}Q7<7WpriiUHTjq%3^d;Q%} zfNSF8gOx@22FeA%IJ1=IYe42XJIHC@tbzO4K~CTHW`zsoe~ne$TyR3E@xU14_;6~6 zzyWLz5-5Lm)=0vaq_@IL0KRsE-4ItML^FP%6`j=(ug&(dA0;ybU_)dx0HqS3;-6;!`j8A3jDy$Z@ZzOU&nZ|fNlSMxqP-$2!df)0q4${ zJKI$fPhDuuelZNP1gc<~JE59#gHVdR;@)ywx|V z2X=_lBPrxrsqO6q=mfh#Dm63}b{df~)PRX;isQu+Qb~ZQ(WXZ?X3@jR i5Y;er%6IZV?(si*j}b0xK~zY` z#g)Hq+b|Hu323m#N*dBt%+QYdGqhue1Emhl6eDW~n(mkaf@O3PPyy8gVrL>4LQoU2?kK8mL>KtWUDxvqQw zpG{Wyt~HTPS0y?s7p97I0Z{ZMKi91Ria4D!;5quj>kZ@giu;^LwkicoCACZ(@T-lu zd*_&%0L-`nCPdwJN3p+k3M#Rw8rT8|8Ju~5YFsKaAfSo;ZMSNFoa|<6f!!VP+EOXc z9S2#2jNJ}AqDZwz3+#8hdzXl$=cC{zg(N(HDDwh96CB?T-xtSS#~5fr2^}6kdcaY% zoWmT9KR&qUZ;k@|5bqzHDxz0VF961wz=d;F0MPI?Kzm)=Uqfw;0M+UW(IFdA|oUfSF1VY19D zfCEv?0G!52?J`$U#aFP38wZHub`4y9&H#A}e*nM%23Sj68WIL>emTGfhINi72iOkZ zmd9te1VYAf1)O_t?`&5^JoS;Y$1uqfXo%T6k=k-5hf(@)Fsj9ntAVQ=2?Lz_a{A{f zaqA*C=x1n$xA{u-!j5ozq?PQIy1g@i&VVaa{{vOnE4;Zjj~dzrCoPjU)PhN9j_buS v(nugvt4*(NtYUzZC7N;Um3B)0c@Xj&dXEt(Qg3< zaFi5VP;9ih1l4A>L{OlWBbk}l@go-iOL_gCm*<-R{Nu$W-2{LXUQileR0T{|-avoT z3kp(ekpw32=>^;oz{jxR6@aOySiu6o@u5KzRrwf#H`BiEozGA4`Ox92$6${Mzew0G z0=n!-=u_<+Kfmk42r>xv)a`EW%qLsY+N)F74W^9(Kfa#Nrb#Yfx7%COrhaUO2V*ip zy)^avqxl%4pxw`tY42lUct~!aM+bi)2ObirAHZTeXouk?^42S{X7Pt3P!y&`Q4~`V ztS?&;X(p1z=7KINGn#s|NCMHn$l!wc7Wy$?L4O{koIVMW{u~5HF4FgDB-m-8AM)Dk zsp~A!4+rAMH|L0c7{f$==>cES$4X2364vx__GkK;;OUF>Gq5nyCHq`p0GSv|v3>!s W4C4aCE8Xb;0000kKa8U#=<&n{nsUlXgk}#zcL!}^c4e4{&DGT82(gU?mnhA+M#TbsD zEy`vDkEbp`u#G!^RWe-{jKmBjgw>BB|iiJ z??cY05eeLoSIO%aPTd2e9S-ks&ZXt=fiSKI5$1MgjQg`5nutbZ}jg9WUbm#=4;O-Aygb-P4>)3wOJNe|NX;-B#}W-e*gz`Nliru=LQD_76G_c3n>5q0uM<iIa`%@>6M(^>K7$byU%zq$+;Iq?!$&=Y>e`0L%LDRp!G{6A0it1zc?0yCF#fQ!ApjvWGcxlFTm#-w0ueH$=G(Sk15q=D z&3r8Fna$v21u)t&&iYH@roM;*>N+1)1!fI^6I%IVrG5Jo$Mtc6gGJRrdBhnGvVyZ< zL0i6f4j>rRZ(3|+f0_Y;g!Zn+jUZXnCVB%3Fae{TtLXr|cX#ub066Wv68IwJ$Y~Oi z^A^A_vqG+#G4VoRzXe>XOl5y-g0Tc_^<9DWP8FHDZ&X;41TMhyy(-|dIudNc9N-E7 z&~QrFZ8<9Z%yYdflqy!k4?E8x_DVsY!zHdNplEB17^)Ste<2=KR%GqPVZtJOBe$l6 z-ev!2cWDtUODHX1RoVbF5l=A-;=f{q5PCBIiV%V?&I3A6rss)~&J)h@ zIpA%R=R6wDk3;CM^XFQBjCmJq7>F&94QtFSa59AUhh7W;2UR*NXO=r=Uq9+$-JGQ zDRGvAEN3*CN1iXC18@rc?TB8+E|3(_$)Y z$>pMK_So#!E}$iM#co3^y)VDf& z{}}T{d6z1+c@XMH&<8j^Jkocc7O7Bby;7b+^F-O?4+2X-e04QL{ z?Xtja_;;2Bn8KnAO2_{sADBc5{; zEyEBk?0g_tZKAI*B)|)r*hJCxG5jdHe)AxTyr}CmivT@9opz_wRzV4kZX>GcZJ1iU vg6o~Exa~sEF8dF)-Ev*iseSmH|JnEk#~G{CQqzxz00000NkvXXu0mjf^VsWB delta 511 zcmVCfWSo{^y*3FXT}FvyLb&7wQ!Nvxq<);JCmb)WK>M8~g$Y z0fJJB7y68qfx47}q6;N|`b+|rl#)h$^jS^x(2N~4;3;pt@;^m3 zPzv|l1}oo3i&i#T;H|g8m+w;$IYVrNVE5>MEqchblM3=ehIolcuMEeP8M zj2La0TA5pfL>O_~fnNR}AOebYVz6TUP=8m1d;`ZBtJMFsdYJ$K002ovPDHLkV1f?w B-z)$C diff --git a/graphics/pokemon/komala/icon.png b/graphics/pokemon/komala/icon.png index 6935e996ce6d3775dc4fc9c2db8b8e10f4a825db..e2bf43c126a7f9a99c800aeaff1c2b20bf090818 100644 GIT binary patch delta 295 zcmV+?0oeZ50{#M!V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1s4ZME}vZh z007}hL_t(I%jJ?W4#F@DMRS9Q3vda>4xGYWIxyAUGBz8RLY*Sf)1*r!(}iR}!W4-X zCvyiRtSou@ioT<#)Nc=GckQPPz$pdy`o@YyDx9HWnTj4@K7VV3p9KJv^%7w_cHp|E z{QzyPC%6=iofd$!^OY;l3qUkGe}{gp8wRr<`^UFN7)By@J${QLIY)<^07xB>Y(5wg zJ>OvNT^+^tHUobv5002ovPDHLkV1o8@c1i#M delta 254 zcmV#2;PaQ>+5i9m07*qoM6N<$ Ef`CGE0RR91 diff --git a/graphics/pokemon/kommo_o/back.png b/graphics/pokemon/kommo_o/back.png index 2da65a2969001783ecbaf1ae7991647e7b2a8322..187ba5c73bea0e4085b57b20f80b6046e7dba723 100644 GIT binary patch delta 889 zcmV-<1BU$V2i*sdB#}W-e*gz`Nliru=LQD_7b%qZl9B)b13*bcK~zY`t(7rr+dve@ z6;Fmznma3#DOgvR5E~Ivse2_|)@)w=H3SWTj&VLgPu(=d7Ya!*7-IAxs>Opia7(&s zPrCHIlWfPf>?r~nbMNPO@Be@A&W7>I&mJMW0h0$iiJC{uokWcge;~}=05P5Y?Im)~ zJ;G1ERL4o+IGPB&Y6T8HKy2A$PsbgXbBhEg6+oi|Jcf17Hi32#rxsL7g8t?X)GWea z#92;yvrUsdLKtat&vg2Eez2ZmPfN5Yd}`oNzp6xTeSmFDrA#=ec+E_tvP35~u~J(WfYq+gal*&mWujlgU7QF9F>J zrZsp;7JyN?7lz?*6(}{RbOD54OTf_b35AjJYyiN?+@GEUe=*O%AY#!rXtkBf0&p_- z)i?>m>(WL}C^izLDgYYb7lAuB&zpL$*1~D%G$Re? z6UtPh&oEI)f41h$WXvi$X=$L10Bn{n#sOx%aDkKnjNCp;S}y^LQ&a*Yw+Dd1j1@q; zPylz%X^*$o?hRH9EzvRqI3gUar8n*&84Cg?r5*TY>e}ofN0T|XK3@>z%F0Z^PF+K$( zHQ|_TMBh#z9%k?+Q>$W!$uyio0))<|A!F-tI3swFRDwVfUSzkc@i*|}LwGYAPb5%k zjTl2|hq!FxKDMs(W&9FakWRsZ&QApxQ}}&ZX8ls!sO$#YDDhLtu6jAr^??urIs5@@ z4^l#|Z%oP?80m$OrzmDmLJSl2Ag%<20F!bkWNR@89r+}p>qv^|SU^n3Dd(%wGrlV> P00000NkvXXu0mjfjv0?D delta 903 zcmV;219<%12ki%tBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um14cbNtc?GCH3-=bSUlWHm_D(#5+)%)Sla<& zc{?w~8-#Q26Mp!qK2Ab^&(lQc*TyXmFCbnh($I0Q&$&&)!y2Gf0Y1Y%?=}Iaj8hvr zCE;+h0=3F87;#*X!A1%Tx+jb{+_$`8QS7d#XlRKxg{KC74eMIu_B$wJd4r<(xqDXw z_y~BucQh>S-`~|}2nYf}*dGk|8erNXCLqWKP6&3{D}ZTnLO>#agAM~XwKxyPZFt{Y z05(j32ZZ9JT=j!8Mnn(ZkG?ESz!?O#gOhNT!;8Y-|9xdNMFp54Y78ifx+80Ib{&OFGX1id$3x z)BXSegBdG;cA*5Wy`ur|tZW<{nR01~mKnkkSplF+vjmu`ybg@@%fXY$s0PS-0$m37 z*(RkwoU)p4j0tAw7SweJl8qXIlp@p=ze78iRep(Ml=xJ# zr=G8Lb0ow_PQJmrTPYz|F6AYx^is$}JZ29V9wjrna;#DjyQ&*QRJz@GoB~@n d(SN-R<1gyZ&ag~|9TETl002ovPDHLkV1lLMi@5** diff --git a/graphics/pokemon/kommo_o/front.png b/graphics/pokemon/kommo_o/front.png index 7946cfa72010bb9ee1272f6ef7ffadd7cfd30bf6..d327ade644633aba95720a4b78778019083e090f 100644 GIT binary patch delta 1163 zcmV;61a$lM3G4}wB#}W-e*gz`Nliru=LQD_7!I~-J2n6S1W!psK~zY`jg`-9+h!QY zrS}xb#qz7ogEEjGsW_?8iu|g{sZiT*Pw6ge^bc%@ob8UjFkxDDsTT-=UKVHc&|Z?b z44f?BF(G#8aXVNWh{b#9->{t8Q}#%*Re3dKzF0p#@AKpP{E(vjf8U>~l|THRwi_P= zDElv|RJU{byBwHx}v8M^bJ2zVa9-fA-^_o8kHQ2;*j zyr#DeteM+TH-*sVaXv<1n|huFU^d?Y8k_lCIY2-&J+Hw^q^iw<4&yvaedRDX)eciY zQ%G`1)jsL>={@<1f2Y8AgCqa5r$61@ZaD3dk~qldx5{N-FBnO9EG42 zeow9+eG?*Jq`;BzMbJTET1lSf9m0Q?(Yo;Et7aDDk%(a`O?G|T#5heyv3`>@f^h&= zGXsJ+ltBa-rpX+FZlHQwMyukSXFkT^Gy*AU1}KmSEoG#JfBp<0GBOAPm`9oEStStA zx8n0wriyJSsvSj)RW)FD(ppQ|;ym=Lne;?aK8>t8z!zE>eI&r=e_EW^ecqavt0MoX ztGB#rxt#$nPk`KqqI@h^U3Is?AZb{rrOI3S_{^9Cgf-;IWb=Chh5}U#BJYR_*zu?g zi=AEoRO}z&f9vjAzevF9A~2?Geb9egAXdd_c6Ev^D#p5N4+c+{0Cxap|v$yx0G5ht&kAs7gAA}gK21+nm0Cr!P z4LNd{3oUk2HPflVwPKeVoH{fn1 z@!B{$8{HrQEXJJPyM|TWaRy8%YfKX$qO2mOc~Q$~7A3PKb;@?);=&-XBXXIw!~g;} zk`RETfMV{5d9$PuB$AQmn4LjTp5X#Oxt$uof2++bl#7?3n0W1E0Iy3S&Qdit#Y00O zH-^7n8DwJ)s0~qx{bWWdX5YO`%6NqUo9}A16=P{y$wX5ozPwDH-MqR~%=xy*LbHl* zC;`Py&2HuZp|eR=!!xLLN@|C>o(35}u2N4k8NyiW&=Q@nyPkJ{4qO%H%RY6eZcxg+ ze*`d=01uk3Wk3qFmjPr_anYTb0FCqoS?li?M;Jm4Z%^4R{BETotnKgji-3ZAi$E89 zIm=SpfAeM$NOu^H11sa|!s2Ot?c4XhyZ~naY5Azb{&AOl$IaW*tciiTv|+pt5CE7P dgTniN0q{GuJOQ(cK`2LZ<42XuWwpe@>e&BcE>FXROTcP!pqkmNZ@?Y`S?lormgodG#<^^-9FRcY`DEv!_4Z-EP#|1rix4iPm6$@KUM2=fL+8*Vj(F zQQ>t$QAONS>qp;A5HMokNP5!mU}9QPoaP-WepkV|^wg_n;^dJGVWv!eecMDo%{sAu zQ!Ie74^}e){BWZD0MJd7*D0ET%54>_%5#y}7*A#aD8&+hK$K{u0&U{W0jdInB7kue zc`2y`0;R3+yp?2s#Wsj$2Lb059r&HN)=IU6n0S>W^^}lL1FHt`gkl7&QW65ipvkeA~-NIaIqE#B787V+{Lyb(HzEdy=RM3g6 zBg$Zhqau*}(sF=?{Ug1Sv)0cOu(}A08DAgtALocwIhsFzonnj1amldOIy~7^ejb?X?LFt*etq)e;Nav3DMzb5 z@ka~5?hCV_W^Z=~2LMufW9iE{z;OmxE$iC(TR1uBP7v@yC3~pRf6|)+P!g6dfUO1~LeLy_MmUEKyWgrIKKqAZ>t6*&$$5ZO-Xqc zXJb=;J~RluG5qz)pc^TmHDo#Tq8VivefKgd;}rrty{olWh^1*o6V15%@-q7G=G7%J z)7u^k&C8xae1i0U#BFY@d*S0q{GuJjYr4Z2$lO07*qoM6N<$f<&J&HUIzs diff --git a/graphics/pokemon/kommo_o/icon.png b/graphics/pokemon/kommo_o/icon.png index 3acaf5329242dc3ec68827a874ec667bf32e0663..b9354b7e602f4bc61973b0213e584dcb8d4c9c64 100644 GIT binary patch delta 404 zcmV;F0c-xj1L*^hUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L%`}`U5Ly z0003@Nkl-@25Y!KDlr9ZS)VaZvN$Q)MrybS zEEtl;46~?EJ;0x1rX6Z}JhDKQIn3;WR)Y9ZrK9E&>Y%(0mU4xJJUXt>F0kN*T?IyXE zI)t+7EJXo1Xm*>ro9+ffg7&~ZZ3Uv9!z~{-sZ-bfQ+=d9Oj(N3sb~RnlEt6(9v^=t z{+^~C$G z0+lRJ&5P`+T?@2K^LchTwd;V>(ZEc@w)-N=&y(bnD}ddtMyaxhZJ@8>pf5f`^v>!9VeFN6H{9I%oCmOkAPB9?jduWax$pTm zoZmeQIFIfwH_Tyy3PhZ;Ah>_wyO4AK;60<%yYX-L|KIYpww|#qgIVSU>?cOaeCHKJ zxQpeEGM_Q#ZJ0lUots0{Jj#463*z|Ka-MA|{GMMs9?uFzi-Te&9#Qio1%m1*Qp=OJkEuM>RNx8Q#11}oVa!U z2bj5#f1SBO?RfCKp?hcxvE)hA^&eAV?!ow*EsRh*y~00yvk3wK#EXaNuW=QSYImUhjk%$@VB$8yn+E+J!W!;otag2 z71Bj2cWM6(34-!`H}t{&LhjQ3_ra2t9@32f0Q*b1gZ-D_XccX^k9gz=`^y3LpHav6 z)b1g2I92TLyoY>LAa-<4RQofJhD!gSQ`jA%+8>HE-<7hwUsvqURiLvY75j&=3e@xg vbN(IucRt?4%_k3a;_sba&hY^Me~rHZBqL0OdyzLkAK?2l_OJW%(_KuMIxli8~I>GjpQ`^Ma~*>GvWsg5HH8}kb<4f z@IGq1IFu>C01iWc23Et>p-4dtOg@X3yI|){#~R|?qwzTS;!xyjO?I&Es)T5u3ogHl zkzD`ct_(0wieDs$!;>+6#JgqtES0lYC5fg4rfE4E;7VKTj`4As%wDTjDh3oIsstI~ zp6Q)|$p&Z9VF^s!Y4a*lWi7PtFfCy(!NlWgigzss-Kq4x;J6u@x4=7b2oNk(EP{b`-Z{QDK!rHXjGv$u#^|J27yPXT zj`V?kJl0qq;G9HA!iR>Xa%?gtX*qb0r{yBCc;HT@G~|AYp(7+9Ye$miISGjld1YCn zToQZzkJ2@xkP1C|5N6+ZhGa^=hwCj*;}o37N^l5&$M;dauUhbyM>$M!ttj*^WKkC- zRoRkO+c`@^sx2Qqdi3bgqer#=w*PUS>|X!l49@rZ9}RH6)&FRL^PT=j6P%~<-a#9j zr{V5J51dCGy5KxoLm!;S`X76I4bFr8k0OC1IFI%}HiH_R`~8n2y<1Zn9GpA-j~c$& zD8x2@96J4v%0R$*Zh~{C|54NX1vt0*AM(Kt-`SxD&ZquI4c~9Ux$b|Q;2XR42ApI6 zBb8tq@J;W)nP?Fc8Cp*8E%YvAH(h{pTqXxlI>C2*WdfDnlaBD7;C}_*k=`%4drJWc zEG2yJ^zKm}*T7i`{3|_>P{4OV@17N4`wkv|l&%KZA;Wj1cL`RQ?L~Wilz5}}U6I}e zzGab`4n77e)VArJJ;k(o27;pzseAP9WRJPiKZx+2n7l*p`iS%oy36SIUfu=0hwgcz zz=uQHq4&CVP#BB>J!${o8-AzYT{nv{htz}kN>2~s(W771KRie$34ht$k^lez07*p# JPDHLkV1jJk#jpSX diff --git a/graphics/pokemon/krabby/back.png b/graphics/pokemon/krabby/back.png index ef6d9fee571ad2d3a468b23aed572d7ac728cbb2..58aa0bce1c35c92bd068ced9cc5c7b7b11840a38 100644 GIT binary patch delta 486 zcmVm#hNGwUNjl^7Dcuc}B-A&s|Bd`#@-Mp^1Xo@4 zw^*^XA4PHD7qj$!AhI;&BOi~1xU(N=TKV_UPN2WVX6ZuQK6<_&e;=UBU`XS)QxfZa z=$_30h;V=~BEM9s1IijAVJo5px?L)JL4prR0+dse8f6f`T_BW{G5lzVRYC0hH(N@G zl4R&r2pwP>Su21jihV#SZh`J-1jzFN166wfGd0x10plw30BRkSz^Mj`$u0nTFoUND z8Us?2n*;|?^Z-21e-T(z1jrHaTBFYe0y)i4!WdXLcoGX-vwUtEYf1py>W$t>$g#D| zG^e1zVfd&?tMyJjCkO~``ocY6y4I~)F@ZpC286TW&HH%)gULp>E841r7ySe!eCj=v zJ+RlB{9FjyqnIkIZ?x7QeZushcbzZHmdud|G4#-!C#7{2T!iHJqE4vx&<>;gYRETB z9T|dl@r9o4f$cGSYKMS$Ju2FCJ% ctNx9C0Re7iW;h@uC;$Ke07*qoM6N<$f^@0f5&!@I delta 495 zcmV&6X0PBpG@YLI>DJ)(RksVjob7TcA4{0rGsnK-C_=ObzvLz_`jhfLaG7aH@e~ zvI~G7%;4#P#(2?BzfzHkqiu63(cOdyb(0pVUFQq4C37S~3_UdGNoidLA^E+i6RJJ5 z!zjNR^3765hM-+ae4%H1V0#Q|V;dn5Vfe%X!P`lJt0XB2_;G+5d{H;Ir|%)-n2i8l l5ny+^fw6qxs(+#&_yqxOW@ej5M`-{6002ovPDHLkV1o3s*Z%+j diff --git a/graphics/pokemon/krabby/icon.png b/graphics/pokemon/krabby/icon.png index 8cedc348d05615d9aacf950bac32c45c60f98007..27d5f212cf9ec56ec63487e311442b218a8d4879 100644 GIT binary patch delta 434 zcmV;j0Zsmw1NsAy7zqRe0001qplF?uEI2ZjL4AF&$2q2l?}LmzZFgDxs$aW?EbUlj zMHzs~DP2vF%@?v^_`s$aLFradv@Fn!q$_g?3OMPx&seYO`&$rd_8WAoJ>be4B~BXn zHetM$4So(DSLHxpC#wo?NSi8Z!Q#V2{P9OJ#v~rN_eV-| c{9Au~1Gfs(h_~(Y4FCWD07*qoM6N<$g1zX-Z~y=R delta 334 zcmV-U0kQu21D6Ak7#0Wv0000?P=%ZT0004VQb$4nuFf3kks&^R0ToF^K~zYI?NrMO z12G8PAee*T{Quu}bX)S+Y@kqjX+5-yPDW#Nj^l4{7=V3TYuzGH;X43$ejis7ToBCz zCBWw*;#dPH0V9HGn}-O-d7wd%h{oZ}LZ9I{L3yp7LOiZX_YNg>ITRrPT?+=7(3OxZP&v2_p&pGHU2`DIbm7>^$YnMnfS z!|UZZ1O-D<@(-n4Ux&Ob!HOAtjew^>TsJfuEc-fxtLl|J*I|<^TWy07*qoM6N<$f(Aj982|tP diff --git a/graphics/pokemon/kricketot/anim_front.png b/graphics/pokemon/kricketot/anim_front.png index 7bf0fd3973c247431b81f8b8b64da20e079755c0..1b23ff111a981f4177f16efd0f3c97ad71f54dbb 100644 GIT binary patch delta 881 zcmV-%1CIQu2g3)DUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&4ddjCc8 z0009fNkl{twJg@3@dPL3fAL;{*d9pNG|b%+um zQzcR#QI<$V;-oCGXj)y@Y;?AYHe1q7+u>pn_JtTfzmZdDhv8trt`K5-R=x5J3|M2V z0zfU9d&KnZyMKkQwOD1?7iWn_sB0is)(cqWpd!X}Nb8zT?-tPy*ly5=Abe2A+PEf8 zSo>fk#Du?_VnAPvSx1OuH0+(W(F4S}x$)}q)32a6z<^K)Vw2A0?1u6^EC*Vnw9DIbCOrNPmd~&;W7KVLLlgHr{A>6{5u& zaU3)v^m`1sxL~YUj48(fo%3VXEf)98rwSnC$1;xNJ%gYrXkHj4w*X9S2L*IuMoCgE z76H%{z*YkGtw$BFpSl_a;0GUOyj)s4;zKv{ZBv@**Wm4&nE}CXr`5u)HU|2_HxWa0tNIOaU|p zou%4i+~&NB16uI$b~cZ;_)yh{VE;EL2OdF$F@6`&hcNZaiVEn^tt0SLArvtfgEqgX zBQ?;j$}6)6&BAy0A*(u!SgG7YlgNeDLLu-=DS+-?Vtp?Z8jBMqDBzcZLZLOKsn$aQ z&uU5mCQ_~E;#>PP1xA8%9MJTWPA6tP8Y=Zc_%)7S(~=Xamh=1!^aVU`s(KiYLIA#C zg8N?wn3PhG)G7ePhnuP)We9VrE$C|0KaBkWA3!Tp*+l}j00000NkvXX Hu0mjfPvn<; delta 855 zcmV-d1E~DN2dM{;Uw;EMNkl3#Hm z`R?A=vS#)l8)NtQmnyl0?JZTjhq*w}@rt>CQ_Kad$n*07JAZV%!0c`|*KE(#|L9hl z0G-HR(}Ai~D>k4-ej8InRi6N2^goXlp`mM~DnXztM{Y|6dK}XLX4sN)^z=$y;5eM= z90+VkDOaxR=b=LZ^8hsjR=lkG^3BVM1Al~&9)r1C4_yPb^iUx21 z^0Wi%>q<3V5rFPOwxE%wabrOFtwhLEfO0wIf(C3M4u4>~T;6ma8-PR{s5DJC9Y&U5 zg~=ehMc~5oNx)|AAj`_-G6Hl4<}PPwU%K3I`*~n-1ipzr?Vmuad!irY0C*C4uHVAD z@8$yBtK_~ONZgZRW;2`FKQU(14s&-qY_3`~5Ob3y=2T4D;8FGN?ZS=h1!RCK`wcK! z!8p%6M}Ir);^cQ4@VqFP0Cbf$DwjLJ^1Akq8%BupPR} zNQ7>itFVq6De zkh_-^zm`gky9i?vh$?ZZ)VknW>ybcM)Bs4W^~f%4ex!k+6oLjU`>@kVq01AaK1e>N z=}=2v@e?|LW!)U3zQF5kxLTI=AVJ_0CAj}ov6^Ll#%PVB{h`Y_M@el0P<#Yh4H;9o h6K!Fvab|yKzW^UVD^p2if}Q{X002ovPDHLkV1kz9ob>#YIJzOX4 z&`PN(6{B;NIx$p`mI)~(FBJ(=0^N_p>uyJbcQ?XO%XB?IK-6=V(4sl)IFsK|bLR9)KeEV)CAb88G z9&$IOnAyx`_HXouQ9INwcUXU|?HP#L)e>`BCT(!LeL1^uBh%ub)@FYIMk^TSA$LlL z?Opv|2RM%ctG?Dl0W(i)8=nXD6y=8yrqRP6p?t`EeX?R0fL@I9A@sG82p0ghLKhd( z3F)tgZYFft)%qQ|m#s8oOP>T=#0Xntjudc|hpyVy@AL{Op|-}$=eU2^MurG=)HlO& z@r^J-Kmx0{yblM5a#tIG=Lk&P5+JLvq0}CeOv)||Sn-F8v-8oS9MTyO*!+dcL5?uP zguV;xLsI&6#{~4n;tTW(r3^U$%8L?XGmv%lu{*$K(YyOObbVl6Dfh@j)RJza5l5{O zAa^hGzBL-X%Ls=g5VdsTMkAeyQtOdG=#>DdQtJiu*4{6Hv67MoEPJot&tV`EqdrK! z6|+N delta 906 zcmV;519kk)2hazQ7zqdi0001tU!Pc!AwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0009&NklCj*=?n&c2=rdDb}5C?{xEGz(73P_QVrU z{H-V&U&;5^Yrl`6eFtFQ?-BseB<>RwQ0(g_fEg+5bQ8c_YbCNF&`mi4!?^VE^;my$ z=!xqj(CZZ>TzUi4I*dSA)7WShfE(>ae-0zql!gf8@+Q4^DmsJ#!mNrop!IHm;~)hv zSyhx!3I<^5PB@HEu%J;uv+3&-aB83)N+BOb0AMxLg)j<%-qf@OtGWppppj*vO3`m$ z2#U;M>tu64a~?GdX`_bgSyf_VXe572FEWcMrth8tKAfjuE=0l^c-A^+1%z`Pr_x${ z2%a_eZ~@^&5$Gfe4~`|^tFPO}HW6DD=?s(+oPt?BeiB(d)2T~PMiMZGU==-D8)5wd zbgjE$d%ED^8Ngim-nlA(3mbr`#q@6i9?vxPp;N&mVf}_FpZcomp#c0T4lsX$v;*fD z0E~km2e1boI&kQB1?YNY^hE(pkAMjnD2ezKZgz4Q;B>tMG6~@5F@Oc@;XZVln|HJ?hw#J`PdxF&6aQM=F)uzfC2wAo z&!(#2ZqD7#`pDP&mC764%o~4}>Oakb<$r`z(3H*ZxCFHS{QI8)?sr%M%VI|%|qR?%uJVCv&d zuX!gR9ETYO)D|I}f_qP=I|kapHP?p$&<}xULEd~x%VofBy$D@>fAfC~qLW~qA}y`J zH)xrz6M(kN7hQx45MBjBv%TD(Y7HQz07@8g4y>XyYI(h-0MEfZ1I^zD&~pUT0lnp_ zPXe^p*2b?bxm!s&0_;EEM5`dO0J6EmW|&Ko=$+xi5ln*$^KKa$@f5UiR(aj4mVw?2 z3lQ#J@zk>d!1R$py#02yr#e875xVqo0G>Jlwf3~$4rUn(Ak)apHSi=bfLJLN-T`Ix zAh>zKdMv?FqpX3T8)3Q+(}+&D&u>DB8qvSTbU?(s;5@;ugc;^0C-v@IthbE3ek(uS g>5l{P#QzXK0N0fy$${^HfdBvi07*qoM6N<$f}Sj{OaK4? diff --git a/graphics/pokemon/kricketot/back.png b/graphics/pokemon/kricketot/back.png index 9de86e0c9b578231917001802878e36b0fb1512b..cdae389e54e91252263266da5948d2dc6ba89e10 100644 GIT binary patch delta 463 zcmV;=0Wki+1hxc_B#}W-e*gz`Nliru=LQD_8zQft1Qq}Q0hvieK~zY`?bW?%!!Q&D zU>E!VxyI107JU#YD2eHmg6WXi(U7fBXy_cUvS;a7NImE&s~-zly2hbv>77jc`RGW& zNtXT3@8^y$hAUW10!GT=KB=ZeP6(kkNncbGU|AIvc;ILf004H4ePp$hk1XsY~E2>CmjjK`GUXmfMmv z=TSiZB9t2w!q5(~^+Ea3AsFO4H5$=AryIysG@?ntQw(}>1E{{8t6&$|PE~01Nve6P`?vtq;nVZjyq0r$*H_&v<}bMb*|AJjI}IZvfRda}n$z z+o=e(-sEbsg$3Wjtd|HU_S*yq_l7{&Kt03Y3ciRD{T_oa2;#$koPhxk0N%_T4DDeI zOpAUNbQ)a8U^U8UfYdFTI0OP62D=Dsq;7#iM4(E+iX+hBUETs&H04p6GiHD^Alici zdN;f_-%I?)KS_3`-Y)Y3g1rHu7zqRe00013M{MnpAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2L&4=*qAhc0004%Nkl{Xjh9qh!y0ibA2I^w2} z#g2@~dQ!TLK|=v;k$_&8a}lsbI}v}OwNIk*V4Hw1g~!X)D54M!sNo5LYSIu0&ftqT zNeBd=5X3tTfj|ZTuh?Qs&fyxk7EwwHI-0V&%80<&7MFMo0y+vd5m*`9A_7?xfjR}1 zB%mXJ-2z!O<=)^PGr%A?X9Jg~F^e6lVjVC1hMb3|300000NkvXXu0mjf?k&qH delta 467 zcmV;^0WAKq1e^qr7zqdi0001;w}I@DAwPc*bW%=J|NsC0|NsC0|NsC0|NsC0%^|Xs z0004tNklu$p!3afNK}RstPS&O7|Zp zzynS^g3tu<$0!`Z4&dY+R6)8TKLrlu2&(W12m=srYi<5RpyyYh?;r}|ZLzPn-V?$A zHg*u#`xx+(;KvS5NKbmG%fO{1sn)FWm^XT z006W}L_t(I%jJ?G4g(<&MY#dNRxJ1Ef%XWswWMZkQTP$dnby_-X|ml#>@SW1Thp{7 zNO<{7$j=kvn@6GpX^3q=sRF>k63f9-ND+t9?9riZS~!qHP;!AU-d|U}I~H*3n7yr$ z?dd_ZPZgBwnYIe#1j;i5V!dR7sXJsC0mB061Zy2QFt}&W{*j#m`KBTDpr(@)ZgT@< zJXGvz)P2!W{KWjdFs>5@D8e)q6k$3)@PQw1toWmdS$N|R00000NkvXXu0mjfd_8Cx delta 211 zcmV;^04)E}0;>X$V1KqrL_t(IjpdS|4#OZ6Mfn4QohbjY59%k(&Nef(L*bujzo~Wx z$dax_^zJzx*qLQRki3(_3%R*Uee=<1K<83C?*)FyNkN@sI2c zNB~aAJgCYfh1*mC9S>8drjo5^cGORtzb}k$3IlLqstC9+O+WBKKi;hPqlouQnbiOQ N002ovPDHLkV1lObVxj;5 diff --git a/graphics/pokemon/kricketune/anim_front.png b/graphics/pokemon/kricketune/anim_front.png index 47cefb0a6a8dab7a8d0bf77cd7c4bbc6ba76925d..01894506aa76ec8ba963743691bc43ea957d362c 100644 GIT binary patch delta 1191 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 o-z%PZ;iP8t%-j@~ delta 1195 zcmV;c1XTOj3GE4x7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1Zzn|K~!jg?V0P6 z+aL^uBM_{ec;EkZt0QrB?0}Q$pEh(lO?R!&2LVD-Zny9F%Y%qMvvD+*$!CTnr~h67a0@WRG{O7odD>~2Q=p#XqNWgL z*Het4*x&lu06a&3(6=*Q$hMO>J7kU^s|W-3@&Owugt7~;s51iWJ$OCb86*2<7Gpy8 zAA36qKOCzSO-v#KZb1Pq3gD6iN{@sX^eDyH03czcAp=A@076h7)TJ0nz!P{nuu6zA zKmdy`^CSim1fbhCM3z|uUKaT)_Cla338WD~o(c=E_jMJ2!UBK*eImS;ARCBr0K||V z>-u2%5HX*~ZbE`M4Ri2pFP1?Y^oJl*NRjCU04LdDrQkDpu{dx0-5%-zQIUe%`9kX6 zBfKBatKR{T=>W(nN}s-ESq-%kN_2C z2z}&*|Hb}){(Bcdh&!EUfd1#Qk;NV%MLaqtknX->+}Hyk``|?Cp#Ur)4pIYXMI7JR zR0ZfRSc-iDGz5Pjp%GyAi@Pt20hT?14ir>?Ju3hl2DQ(Cj zFPs74>3s!|e-Ib>6Ow>Epp|fPBpLP^PMaAloCr&QJeN=aLa;l<>;Z@xR3lJT!ZE-e z!YOcM=LT^Z?`6zw3_u`56p+}xu6oIPpQgSioC54>20#!VBTYPXb2u9bETMEOfE*5Z z22eno4)Sd{;V=!5u=tw+ZHgGC?d3jH1R*kANHUYX-E9bKtU1rsbep==_F9^1qhI8s z_;F2tkpB>Hw(Gv*JN}c=q=R#n@9v@I20psZ5A6Fh+oVG0dDTmRzYd`8f80%BOz0yY z98l9vDImwCa|a;Ep=Jtv6@cP1OR(Pz32pLc%f<3zqRJT)`pOQM zysO|D2^nB>kt)qu0X-$5I)R!7h^v5U38glFY}x#Pp;mz>`3kEsf$|6{|Nh3 z{)@3PCUf4y@;?Ne%BigTto#pQ?v_4(EB~1XZK%C~uKZ^+pP9l_`OnPxe(*C+Y|4M# zj`ea8R2)}*ZTZix8H6*sj0s)&&#AX;Cw!`O-k1Mgr*TmJzYs84{+|QB<$nP*<^MZh zm8t)8V7%TxxYceMy$$dM@MiH}zEAk<8^^=W-b|ne-LLvR5som9}uh%q9a7P|GlGy4KWZx?#4@uiyVRGe|Z;RjgUo&4;wN*@0Sceg;za7Fe4I83;QFaoh)dYYxx|0EtQ~pzs0|+>tq3yDWV3RRBJ%0qUDixd-65 zE`!#g$Z$ly0=WPFf3pBI{mLcpVhd>EM+yWB5ipf05GE`FbOP`VV02PvuyC)U9=f=U z*}@$Fl>+mSFO9;l5d(a=1&fI?1(qRSa(q2K0IWof0=M5vZaoq*yrK&n$>A*l{3FF% zX^aB-L3hmDwm|VQ08Z*{TmzX9r{NBmN$NQ>a}QY~as;>sf0+3un<=@%PtY6(^9ljD zPEtH40B=WeHWQZVUiVrGF(o5WX8@m70GO&|x`-&WWP~%|Pv%4`QOPgKBH}n85PHzbp5bsJ*~O@fF(am_^ktZ00I$@EU{GPDSFEHXnOOlfzQT7F7^RJzRSa8+%KwLytyAR>E*suru-}4763(xeH$K1vM3jhEBNkvXXu0mjfBF`Vl delta 669 zcmV;O0%HC81%(EXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0$xc(K~zY` zwUoh*n=lZDZOQaZF#7q#PfdFbZo>LrB0;=a-KvbZz zoHi11x0(!!MweEp#61sx+~(I-TPRuX3os9G)MdIOa3oz}#WiY7cLZ9t06CUhfr7mY zNZ&jQ2#V?rkoootR9$O2@M#Tj z-+V4TfX8(iyqt=h7Njdc`um>+uxeK>WfNK;6F*{LvJe1c9s|>V3k!fQ0^|lTT~y~} z;a)}AH(?pGg*$*c2Ifb;G>UE`1ZE3?i980DN516vdU^m@iIN0vzqQ(WWUPNB7xX0i zw+QfCPG6-l8r6rc5$3i9vX2wsq~3-#kN}+eJ77lD&6$PUBo(9tNDm0}O;uy`2|rs-$6wSpg*-(U}DX zWg}-D0+KwEz*rkvQJ`ixD94&^=)?1hX^WBc^07xbad;xyNZP)^2 zA_km=hT~kuty%TS161xE2#ZKccM)!i^?ShoT#WqzD+|x`JP#w{00000NkvXXu0mjf D3+)^6 diff --git a/graphics/pokemon/kricketune/backf.png b/graphics/pokemon/kricketune/backf.png index fb9e5ca8553c2a6597471aba2e53eba231ba2841..4f7f225d2b747dc4fa13db16d3c7c2e66494af47 100644 GIT binary patch delta 689 zcmV;i0#5zW1@{Gz7zqRe00013M{MnpEKKmUx!!`S~l{O}K;08bq9H{t@Ia`EQ)1|fe6 zfQ~Wk|L+|GE+h~@?Z!)rLry^RxC@8|R8i80L_F-5P<6U?N;U3z;4Z&*+Cs^CUw{RG zqptHEfg|Y(C$3Rrz9VpA3s7Rc6{y&|fDFxZfS{<}07YoOKxIx2SeuwKFmV7l?gODU z2W$XQkyfeknOx9F_OA&LJ~_QgYc;A*rW5vQ3lyIxz)OF<4r?F- zIQMtJj>^oLh5yJJ$O(`E5Ck-1@`N9-IrjD$?*Kd|fNTf2*pbTgKO3U}#$+Vw4DqX; z0HG_DE+URC8}Nekr*dXARO(x@h$IcjaIw0z7c5N!U^U9G-aJ5ZX+uujAP zJ*hLJpr%S+sFH481(8RVSt@_R0fUdz-FI<@)(MQQr89Lo0S0VIfV$&=m$1TOfDf3H zfYkx;yFkbYpdLNg1+YJ=FkK07eHV~eJ7B~B_#6UN;?a7b4ZyE0;4Pfc^?`sJc0004VQb$4nuFf3kks&^R0#8XqK~z|U)tA|F z!!QU%g8|q7|HWmIWVBjtUs^q6CZ61*3&Nm$K7V-u!0+_OaomXaG&*!qmSd#t0U!_v z18r094qQZN0Nf`)l8f&I5CZN4%rQz3kaK{#wv%Ad6Y0i~9U<%+fE+vB8WKMRx2ul; z-G4I%s~^hyVm?NH1MFB(J>}n30N5fxRWI)WTCpM58IYv30jMk9LYD;v@IZj3;0gSN zcms%f04w3c$}kni642@~F50jFT>>Hi9|3i>Lv27}c{~R|sE@D#2w@3m477S7(3$|% z>)II*{1>eN&HFwAoCHfi)i1^XngiN~GX$J8KS*dBR!;zbu`o?S-|-jP zdrSbMmOF}J0T{IGjzAZ`0~7-I{?~Oe4adW9XvnFhJa|Wx?+ZZPN0MI7-BYI(WKa0o z07zTm25@`2_z}R`1ljdHKp&C$slyEq7;UIK04jhz6aXG)hq%p%N9`R{^gUpC*ANY> z3FaI@MbP(u(Jmk7gy0i^O_%i{3F1BhW)>8{A0x0~?9-;LZmxp|_4+isZKM$-01ZJL z$fqJ8srBMQR-$VILhux@odu^*4zH)`=F#g7z^MxSFcaZEx+MUDz5qDNeQ2)?xV}W- z7Mhte1bEuB{*J&1VQkI-R)i4r5fBEq-8V)6GXTYDb_Ixp`VH$MIDZU)&OihN!Yl>7 zf$&Y6(GDOO@Kz83i7?9{GzMBgu`o+PW8gCYTm`TZ!4Q!D1k3$}$!c>BE5N^9-zqN{Qdjit_W%F@07*qoM6N<$g4_NOv;Y7A diff --git a/graphics/pokemon/kricketune/icon.png b/graphics/pokemon/kricketune/icon.png index f49964f02e59991b01707e3abee19fbc5df8364a..d875d454bd06f27008ed1a50078e01763c2881d6 100644 GIT binary patch delta 295 zcmV+?0oeZ60{#M!V1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1s*geJVgQk z007}hL_t(I%hi%GZo@DPMRkJ@tsUgsW$YRtx9Q43I+IYKgNB%1GH?(p2Z&7*1u`bp z#)mITBwh%wJnCu?2e1Ks04WBng#{>iB!~@Y4AMO!EM)|QcYn}{$_Q>(MuP(gN|e`^ zA9s)&eK!kgYV!ctdeooKIGc|yb-u>QOxP3OYSQhiD2j7U$$%i2949Ipz}H8-@;)!G zpiXuHLb=CgKtC14W|jyQUc_#7%mEx1AO6RA6JgW|gYrxm@xrJR23{ECXTk(_!i>x+ tjEVzMj(+Gtm>|0!&H1s2^8&uI+G9}gNB%1 zGH?(}7pP4O1v19k`0yo>#0%k_M~5230qj6GAjN^T@Bk%Sg4lt^Al)OvQY;|6gHBW| zxLvUa4j?E|UVr|(gWTxWJgBM72C%(R?_Y6tjV^V5#K}$A6L>#s(ydh##igd?K#=bo zCn_7j^&>ubpO;rqC%*up++%Z~e-^~%mIxJI#BbH+0DK*e)p^fJgwa75lvl#YD2xum zU=#-Vl`w$^VJx!>qcVUfM?dr+%&#A9@M95QTif_wkslxn)y6c`M?wGq002ovPDHLk FV1j+fa((~+ diff --git a/graphics/pokemon/krokorok/anim_front.png b/graphics/pokemon/krokorok/anim_front.png index 43af22d239b58dd04122eb9a3d2de0ab91f1c765..009bfdf996aa769d1422f57952e0040b940a3c01 100644 GIT binary patch delta 1015 zcmV2d zdv}j__jNk|yCEKEqoea@=Ogn0Ki`G^xd4|3Y!_f;10TZnYGA?w8aQ)soF4)X$iaDD zI9MJ7UKEINz~s;Yyby8h*h3ybwA~-UV*nFuCj`Wt0W=|UfF~FxQnnLP7{5xOL^g~$ zVkBe^52t7S_Byq-%!HLcGyu}}5RZS?pQW$>T$csbg7UzKsj>#lVP=esPs~Ceud7w6 z%iEO6FvhCFGU=pTyFG~r7B0AMW;SHBgpdQM7hb*DWrqc9c=Xz{xe7W(^alKkOYrah z)J#@fSa6C2BuV{ik7i>fg3K{m!=wneK)BGGeb>|PZi;9#!RY%sdJl=eXb^uIRyXev zF)t^oMIsLyo zP@3Lw>k^{vR%C6!ytsd^Hn<1W47z(dFYCEDcd3YMkRDzi;Kztzn9=d{g>m>r zf-A}-iQ^^RgqCr5ICUX}MMM&2^uw_AYzsOxL@YCPm-k8P!lisOreLjKZn`gjHV5A4JhrmrqiUfq3vA5DKayoB_>#rzW8$xhn2AOGSohFx)NzUvzO=`q3t(LX;T2VL;!H8VXP znAd>K1I|xD0FwZQEKp+bya>SOGB|YjUmO86FBoHpHv8(@@Qqpf0}uFgHN}Ak%(E1;(=Gfn5|MrX+vSHxNZ|5=&gxXP%`VF2y%j#D~NU)R10H9layK|@%;+1*xCsR zhGHNc?PVpu-1!4VRLoQH2NDd$K$`xLPe?Et2BP@GRxlblRDVzf#{!Pxr){-Zyr lz=1z3@BQK4AO5TU@COy4vev8SGQa=;002ovPDHLkV1huo-WLD> delta 977 zcmV;?11|i#2$cws7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1CvQaK~!jg?U>zi z+#n2vEwCcl-n{?oR!3m=Cox#=MSEc;Gs$dwzLh`-IMZ~G|9BA5G^IqB<$0bd*{^E^ z%9#vc`h1CyOlH!YC|x6%EHwbf0njr8z=^+vQ&6uigwoN?{V;I0II!CeqVP}*?Y+J?w8v;Nw*cG8^Yyew75E3Re761T`$A-Ku zk#GC@pq}|*16xUCiix4mRs*O(n>+h0LAhm(Rnt2EEKz`e)^1kUPcH=E{Vb_?5l8c% zENNBGfl0Tc0_=ok0FR!qksToNG7a@l;eG_R16&UPzb%CLq-t-2+rOm81M8?(N#0TR zuM+^c;ycA%%1HIWWndx1#WD%VXf+~qxV;j;4Vwn*?dpJ1U~H|jlLT#Vayukv%p@RM zzg&8IljiMzQ4#is>t`%#uH{YCm7CrG&#^h65PWIrIQ3nB3;;m}o#_)`CFOb})U7oR zAg5OVm4&DP%wIPEs}sull0jKECMVeZjrCr_P0#vL4RjV@6SfsO{{RejH=+bUcA0S9 zn59RJ^!wS~2q<2vC#0X4BYo*-s1@;12<0l>6dyh*^CIwviO?)jCXOs=!n;4UF~N@3;X!5i$jN( z6qBv%Z@q3=TQv=mIB1mmO=JvO;|E>iT5Pn&ZYiHZs4m}s0lV?two zvk%_=gA!riqU`zy#enEK7(M?$i_My;<6!jtgJwV+CNc64Mh3*tKZqI-pZ>wffH>hW zAM^oZ|DgYLyZwXd_7581_786VpcBRI9~_N8DC09ZfQxYU00000NkvXXu0mjf)iB1I diff --git a/graphics/pokemon/krokorok/back.png b/graphics/pokemon/krokorok/back.png index 241a4efe97e73357f30bb88b6c58cc05fd28c425..cd10af03e22a19c30a3763a858d209c48c4818a6 100644 GIT binary patch delta 575 zcmV-F0>J&V1*HX$B#}W-e*gz`Nliru=LQD_A3E5dSwsK;0tiV&K~zY`&DF6^<3JDq z&_IJr#wJpvYaEAycD<3VxNA`M2Z(ND7xxo@tVuyZPO>uMQ}~9fsIQ?rU46w>e8bJ! zjqNLd8+4aoW8I3+xC^#Hk-Vjg85=L zH%9B!4-&0&Z5BERW?GApP`P(~UvERLUIPDK0uR@LBW&a0;x!=B4)~j;!{Ep)g-BZh zKz1ABMRsf!PT$u3Jv8`LYU22c_J5N9^P zg4_X-WJnTOhso`If1{=%G6%>Wpc?RJYJVV;AGaxM*v3r@AO>~;_aJ6wd->${_oG_( zDNgKl8T0kc{K# zJB{qS%@#B%6tZs*ESV}|c|^vD&tCx>w1rYcS1cua4x+jN5?@mp9`+S_2YjtYq6*QL z;mcj1&~io|2J%HA5Vb%)iB?PBA?msVHoT{lrE&{0|84BR(t8MMdJzP2X+bL<+x73i zQtuIDs7d;WHTcN`sLfrp)9~}oGYdV)?Yr>l`licprn|qL^gaKt{{wBp)YSNg_geq} N002ovPDHLkV1jLM48i~a delta 587 zcmV-R0<`_51+xW^BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t`t+K~zY` z&DF7P+b|FSP^C*b=A;-f(8ZQBWTj}JL%S5_57fv(8u}AWA)JQ}aRI@Hd`iBdQ|B(- ziq0K6U<82IxTxVw&&u#dZ|rvPO<@H?N4 zgEPApBF7Q|vfBi&@^icL&TTt9L))*{cxk2eKFE5Ida0}rpzpH}vcd0onfC0{sGzV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1t1^GMW;Ui z007`gL_t(I%iWSO3WG2dhP}ZfVbYNqP*YB1m%quT%mM5YX` zz||b9%B`u8V?}x8GhiWhq+;?JcAzC0CT37Tx>kW}+G#d24Ml>@wJv$Mi@VVYRTBmv zD~khDZ5V)25XbB0!M<)N`{>g;5rI69fVIhgu5TA6iG&FTEy8$%!W6xPq15y?G<#t> sBj3hAcA+y<4Iihy9}Pu*(5L)(0xVIt>R)K-g#Z8m07*qoM6N<$f;6pqr~m)} delta 260 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 b@IS1-rSv0%l)5S!00000NkvXXu0mjfjjSZx delta 651 zcmV;60(AZ71@i@vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!&FnK~zY` z)zmSM+AtIc@TjSj*)75=3hK>w_zJyFr92&Thg@gsp0na6$`hSB^$T=Be1iL$eb2FT z!GvRNJ%AMd`1|?AIQa)hw!HwXyb!Rt1oQ>a81X_8N~y-&oCT>eMk}*92hzFWp&UrB zhvtjofy9hJ`u^*{{9{pn6r3?h@^{6_UMN3+S^ijji9yOU?Gl=^PTJKL7)J3RB9I*e zqvLMHU=xE%9Rnd>2Ah)-lsZ~N41m745pTDr;8|>hnEx68N_7j&O$;g*F{copQzr2) zcxbKFRSUik0*dHBR3)k~0+54M(wKP=^}4OH2bRaJ%JU9sp-Wt3?n4wJN0>$*_Bu4WUO57*DNPH3 zV4*Z-feyTysj@Q}fJmJ+zZL-b50kl_l>Gns&gE|C#< zaKKmDj^(&xm$usOLpn+SeNps>mPBGV;30f{t>Lp^mJML$`+o}<4qQ|U);2?Ysp_O% zL0_M8OsW6?x!&P=5A!+5^hIllu*aq|QKZ>cB3m0I4?`dS?>=jE}GVVWC#yanK# z&m;>L*Q^q-aKX74HR@H@-Cer*$oxqrUljeJ#Su3<@M5}eYw?*A@eUBta|4DG z<)svB%n;woDrr~HSC%@P&I<_W%zv1>5Fy8ej|5mFQrYkX ziiC|ln!b>-8-XCsE2U7jX@$l=&0Zf$9b%J0JRNPV+W{!4o`Dc=$`PhgE_Z2NEl;=W za#?W%l^K101Yj*^*x7X^ETW;tkTAEs@8{~;_Q17$1OHDj^9GYf-E&{X-aal+6j3^3GwN5sAM!eCoZpDDEV!a%?H(KL1xM)u)B;^6AoQmz+Z toiJ#-YylB7XSHFyof|tpc60o>A76ON(|wZKCuRTu002ovPDHLkV1mRWqvHSo diff --git a/graphics/pokemon/kubfu/back.png b/graphics/pokemon/kubfu/back.png index 45c742c60bc9676fbc8103b8b4c418132fe67b00..ec05d87710b91b8dc4053ac945d05d5540faa7eb 100644 GIT binary patch delta 487 zcmVaVV$Oc5VKetezP#EL8Cn3a~k8^)g(DOceTjCWE;VS?P z;m74B-~;qk{0Q=LCn62|8$j-uobw}-ka*q!05NkSE&$1~k`Q`+e~Kgrpr;{;1x3`_ zN4JJTDoq#P0Wwg6LNvs;0O~BwtDeA~Soa_y#Vi_pMBz>mQR`y#F>@;TdUPp`zfpnd z08A&}slaq$DRI)O#90e%Eh2*APHN64v^Wb0p7%k&MMrv^dVtTs&tNyr({XkC1386fO_GhuvX=1zr__G=XW*e+yELQ4gU+!L^1&n zH-L_%8ruvWR|?3MfKu}mL3z^wiz!zps-O-sWdqAI$+}V}T~_XvN1z>U6S4lnF!P($ z+y1OdH_FxiXKYBw!abjvNs~PwHa)^l1W(MX4clK-Uz%;#a=XSQH7#(tS%ba+W(_$) d^7(6fSAS(7u`)&M0e%1g002ovPDHLkV1nI#+m-+T delta 496 zcmVg$smm{f@B#gP~FPc@jd=`*`ys$H80w zmv{vv_zD0^glWAAgaAX8FoCk(iOA#O1yFh>=lsAVWI^x&fLM4D7l7<=mJkPFjwBDD zuOUkXMKsz+zlK68O%LCH0SZupLNvs;0O~9+&jW!2vF<@ajzwa8MBz`7Q0rp!vG6K{ zdUPqRzfpnd0L&-ftH5+&DRI)O#7PTXEh3`oPHIm_bT|iyo_C|4swX{;1HfnC+t_XU zbP1;kW{9Wu3?T;KgY(!W+J4mMP=ofK+eRX7E3Ioa`AEmBoSGniyE#$zjUH~tkkcg5 zy;HOb`u0k;n0JwmO{&`XU);4t8M~__zY~jH^5rfGXcj&SXH|jrJ6r*B{;x*8A3$T| z@m~R&$R^<72hg!pW1G?AN&&?ZP->ncs&6`AG3Dw+Rn$SDTwr-7SzqhK^X#X~0M?n; zM67QZW`DD0+n;qy){Sx%?8+n*@t)7@q}d*j+8$vif@h`z!uE|CO1tewZr8ZvwgoOX mYtRi~*H9wtw)xh!g5VcrAh9xp(Vu$&0000^8fnLz!o?YVc0K^y;^F`E|L)!0dqVsVCagWW;qC!!S6Hn&17BKDe+z)+*Cw$&tThmJ zr|-75MKnS_L+7*~z6B{7y)h?S#_2HBeQ+DSBw_#u4)jQm0c0;3aVczgp~>Q%XC+C( zrRYOA(OQpAWRiq$7$ENGBF5Mb^?)JFvnk25VT=dlG+=k{YkdBsmd0no@sqO z9mXKrT2IOr=7(#of4_z&KnI=Zkt**>_k9?iU6JnLAyb0^F!kZtchV1)Py?n<@D1m8 zU&z6wag{Te=kRis&VP~vjf)G%hvj0v*p{H!S)&chU-yeDU6@Mx%ljV-lu9%i#9RyI zyk5-jB&|Z8m-pc!TMIK@t>}Nz%rgea|B#J?NGHfM7RcAafBJ|MY#I5(BU6KwKUl7w z4AHfpZvqCur@w7^boAK)8<5-C7=7>D^Zc$4UcmMt#()L}U4=nZ(W$5aG8I)`J%<3e zxUGI(s6HFIQMC?I^#P*F#{oPgOsb;l?gIqH1*-yR-J{}z6**!o6a%XOQi7uA$Tm_m z&3(Y*abZq?L2R->_GGgIj`5NO(mdM%uQnN*L#3%IYM_ndkD+$Uewn7XwGXK~zY` z?UJ!>(@+$Kuch2EQm)-9VqoxbBC#-BUs8ckC7@Q*F}1l!9Xe62yOY@6K_NT<5+3{l z2@~CtHz-R=)WHMq!m%^@IC%g#i--Tq|Nl4Vu>V7i*rQwS9>8{)=lz^XZ-e0M8g)+{5*;jmfT<5pzN3DqnXUsi zz*jZD{e%uKuB)EF&*AwhoBu=yTo*Nt56i`TQC85DZYdjfPbo9{y8x(c3k@CHB&-42}c!U93L~4KwgT7V+%AowGMir22 zS}(^z04}~Y>H_=O&>uDHAaw}P1YiMAGmb4906eMkd0``f=RT@Fsv#p%m13zT0F^R= zZ$I^E^L@a>ab=ExY?DC#XtM>5)g=jJMZN`IY;rO~XPK@mI^e}In%ExuWtKIss~oO( e?E7CG#{L4Zl#z7uWS30<0000O{1tT)0x2TB# z006#8L_t(I%iWSO4#OY}MRNm-8~_w|H&VRkj=fiKTFfj*SYD*4*n5>%N zDHNglamLpyi1M|-Ha`#}Rtr4uw)bk09OF__JrImc#;FLvlF*>fErR-#!?NJ26Dp>l zKSj0!`6kpobyunD0t2oA=GgQEO#bkJ;uJ6+K8*N=4@!T<#~U3Mg*kS;O$KIY zg@qXQsuCW5z8!z-8S}$}tFWZga{`>Tl6`KQP75|hjH?nH_t9Z(0^tV>`YJGUPpuLL z=D<^J$srJvQ!_dWMW}w9@iPjd92Qu{7h=R}f%nrjomwQvI98QZ1A>*odUXPDB-HA- zMNmiCEfda0J8VIH4+AUEN!V&l<}P(#V8CC1**84_lQ%w4yaHz9!-`I~^FccQ|M~a= X9TtT-$q5Jt00000NkvXXu0mjfoOE5? diff --git a/graphics/pokemon/kyogre/anim_front.png b/graphics/pokemon/kyogre/anim_front.png index 4cb8355bbb0437f12de189eba6eac52daabe9dbd..a7850d7e7eb69bfd30207fa2bc3acab1354d7544 100644 GIT binary patch delta 1608 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 FV1nvJo?HL` delta 380 zcmV-?0fYX}1LgyeBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0Y6DZK~zY` z?b5+Y!$1%Q;3aqwUqXt8l7i3BgGVVM*ar|gksuy>Y0k2=H$h<$JO~yVFJ6S2Jb;4x z7(M41oY_p0ZrSA2WB%KAzTKUjRCMXG-yCIGJ6KEk@!1OWubf+lC`!FdL#?H(#KF1J zl$s2d5aS^kmq#1TDTTLx1PECij`I8hYf}K+#llN)Mb~6Pz2>z42Ta00?maNeSj+D_ zbMzEAvjqdZ!-$2hw^P>1uxg?Zb{+aJCk06PhuE$|pw5O{O^~qaTY&G_$xW)RHU{(> zKvIIT%U!TikNIUaDmS<(*Y-2)M-Z5_0sL14la?!22=w2n3BMVP9}sxp zeuV*Z1gDX6P&i1X;1+=&Ia|O%5;zv#xN%PE*?_3wQy36^iJtoa2JqJOu?+wMUApWs aLi_^`-bN^n{Dj#600000Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&Y_!8K#- z0003YNklQIo?>gLM?=bzf5xCx? zv{|6>ArXN4-PzF3#`QJl3#!}$xM=FH4&yr`G}0000Oe0os~{EPu^LE$)nU?E8g_v8iCCM`ukcjc4JsLS=5Bxkf57X zsV|Rfo+et@h5`7qV-E4oX;VH6=}{Xh&Wd2)$`UYEcif$fJb%I{pAHg0eg%Ym2oG7d z?{SxYz=UTz;P!yRrVWiB5&%5z-!FU0w06J($f14_VlMyEI@c!^oHY}nHc6N@bd}CS zvb3yhWzVQOt$i8;D*S5`1I5|)j@$m<)Q`f%6@-Zm3c{=m8inE6phy@s7_6h=}r8HKTM$9XCULz3|E4Mg$kxH?MbeZD^0XTG@_4gEKw W=FH4+lga7;0000a02!(zLP55_+yWE#>5h|(93EXNalx{|Z!hMF`yIk&)NbTa7 zHyq~vzr6R%V9-}zH?47&T?gCMDqCL#cwO;U6G7!39|5Q)ZlaK~e~g$T1XPpE#G7X+ zW%QzsS_}mVXffU${JoSX%B>g*E5z2)|s@DO3rU90o*_?nLvMkT)j7<)B#b#a4s9KbC_$E%6SL__nEs{oqgv~|4 zzd9gr4MNO?;M4XJe^9_Q2m=km`_|t8Lu_*mP8QUCKWq*)x!6CLC8`EU@oDo494laQ zq^XLMDsO<%UHxg&Z$y#F2?&0qB_<9WLI(RG6)4^m80GdZ4S-89ad)hd&*|&ryanQ* z3!p$_LX3X^>w+A7(Oe<81X%pFf(9VaS6?@+Uy7}yy0rC74PXEO002ovPDHLkV1oVu Bw4ML} delta 415 zcmV;Q0bu_A1BnEXBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0b)r+K~zY` z?a;q#!ax)Ua6vc!p$-{3bm-uEAs}>15DNV#G~wGJ?sETxi%>~*HgKz@P`Vir3imhk z-sOHIO6}s9HykG4Pu_c8udA+ZTf?Hb4%UlBvAhcKy5OxQg33QW0#Hr-L?LCBFi!}m zCWVPt&r-_dMIBc31qo<>G2HCKt&~T~o#+cE#AZLHB+kel$C^8^ z(}EurI3W%76M?0jQ43kA&w+5F0p@|(oPb_qUY*pLnj8qq)zZ$WTU2y}CeBz;ZamN} zvPOf9O-0GS&OqcF#Fz@f$L%GcfN2m%8pQXlzX68SITU1 z>GB#JYG88Yxr(wnZ-Bv_y_)qA+eQ?} zX^5K^QSBEXKLHa8nLM}!TL`G2DaXW!+#pDFu~NZXtinSU!2yE^*%ahLM@5FlK&B40 zP=efO2?6+`O+$fbC}I^bLfltq-<_mdLP@?wklye9?|<*{j#3mwf7vQ2d7&v~UD3?U z{FYI=t{03_4xnE*zB2UeI%UJg(6{tVz;=FiUHjWiKz-&Mx$e<}Ygs_`dH?kN`@>e0 z3Ap`RozCGdn3;fo>m7ZZ2RtK(^s(2=0nQlnUgZGK8Kt{kFUkbmmxMU2T%b8y0zq1% z1h6-iK)`-W1$^2he*y@YyK-u8x_n6~ZnMbT)mH5J&ZY!oe}L(`E2AnuxY(2k0yiqY z>cJAII^421Brqc1g(aXqbuF8(6|phji&0<+RBv1A3-UnOAbLUo2q6DRv}W|{jRm%49l)_5lwFIC(QcC#6jNi*UI!>!CEHp`zTCqI#?Sja)ctnQGo3|n5y3p@dcDhSYUc z^38PDdq*F3I^~qNj5x%&&;IG7C;Y9Umr?;yWQKH}@V|`zdyqAR2zhkGzqV30mZhz5lJogg=}C}%X{Y=M*g1y cMO!TY7Z9>qA+eQ?}X^5K^QSBEHKYCiPAidxH-~Zm@9i?Gx6|_xZ zXvLCdlr!^NX5nTjXBIYp0HvGeXJ#q8PSLb6N?WB&z;=FcUHhv{K!5HWyYBJB8(Bd0 zMepqW`=e%*3Anx6?e@_wlrsVU_B;M$6Y!iJ@h4t)18^>c_j&{HLU6w8b)!tceZ`p5 z+z2$L3m{kn=mhLf6cC7C)&f3nFaiSME}hzGm#;X-ZRUl$+=@Ma+eu3Z@f(zVcWG3Y zhnH!IAaJAn>n<#Ssv|8sC4mw7E-V23nQPf{rHGCBZj1s8pnAvBU$TcZU~#4X#J{+|uqmJEY)&gA8e zwhi!mN57@jZ!PnGb(~ga!L!fLwA0J|&_!jMah)wu>w}90f)V>=eX({QX;8uO#50Ll$7DTC_i5$f3koN&+nG z3eC=+DIjK3)l6TFWERE|HJqmJhb`JejLqh#8}~7vOv1RV<+j!E2d6`44<*hy=FweW zCR1SF)7qSW8hE}LVjt&|h?xU^60`99?)Afx=N`0t5zc4H(Piv}qt%CH(Da&K;1NJo z5a40znC5xYyLZng32LBkVWe+@0p~ycbN6&UjSEZl(ps&NAMmCac(9DIq=Bp=NN{9O z{{l0KlvhF!Qce?GoDwh|k1;Q3?9mDl5YYsy21z1+1&-~{ej-jIZ6t*z@`({!(+mV=JgGppBJp5!W*{Fra!iSW+`A1Iu27z(Zhfv zasNhP9dPw#vg^I$kJ|0xnzsxcV%%r%?D13i)+`m)0#t^zpUS_?|9en1NQ6B;mY-W| zfQ7_RRnIwlTPhf9Oz8DRjYq|G7BqF6V0>ct&2<)35MdYvBNNbU`%6k18(+vKW(_Sn j4Ab2Fr$94kxu*RK5VCJBOKJ{e00000NkvXXu0mjfWk=nR diff --git a/graphics/pokemon/kyogre/primal/icon.png b/graphics/pokemon/kyogre/primal/icon.png index 08ef79bb7430b8fe0455ceb53df90841898af68e..0f6b18425a631c814d752a5ad8586759b5dbd5ee 100644 GIT binary patch delta 424 zcmV;Z0ayOp1N{S#Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&ez>Dkp2 z0004CNkluYU#FL$S=MP=vl6t3ogr z6QUdF1+;}UhY1C~DBjvp>>&(B^3Oq-EG%v<`l?_vWaV!XS?jeNI`*x&V!r<(iZ+ zmI;7DASQ?LzJFCXeoNGdhmZIU1n{LYkK+Wh`tT@Pw!v5tE!wqN=#PfBj6%=oKt8If zi!uJ->%WZEk2zo}1UXDFK~M>d4M$K3jD4hUI{`51%n~#yf$2SSH@yUg z`!)eE>es-K3NTp?h2nv^Ne`wf0ETA6SgODu3jNx&!Xby2GO3z2Pt=NyKK}wdpZ%;y ST7VS*0000D?ENo-rGeAV4pOL#4yM5(cyRi>yO>|y9Q8ql_s!kAOZYJM*NV&o zRQ4cK2Jfe75$MY~Q!R1*3taH+eCM@kM?vJ;yCt* zTn{|t1H{&Aeof$EEM7ktZwP4=8F*PP}{!`6*Mf+gMir zkHT)^u}Z->d45W(0VAJSz1I7GQ|ljQ!PEpGB8n$MdHBRhDVEHi~$4D#7{~N!~jQ)Ma_pw jlA!+6RzV#Q1J{28JfHonjVGA{00000NkvXXu0mjfvY)xo diff --git a/graphics/pokemon/kyurem/anim_front.png b/graphics/pokemon/kyurem/anim_front.png index 19f0080b9dc423f5d77b7389ba8fc59bd0628615..e3724e83dbbc98919ca3beb5fa29521549252036 100644 GIT binary patch delta 1467 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 diff --git a/graphics/pokemon/kyurem/back.png b/graphics/pokemon/kyurem/back.png index 0000576c93dc546ffbb6f69ce2670bc214ec730d..47f7628f190380af2e343d490e1fb92aa2f82dbf 100644 GIT binary patch delta 573 zcmV-D0>b^!1;quBB#}W-IsgZBNliru=LQD_C=ui&05AXm0w_sDK~zY`?Ub==+fWe3 zEkg#=rKcCr(8YS9m~NGCP%_uxJ@7!0xFvre^X|uY-<|HM)q0EnI=t@RGVh-4LxnHS z0jfWpUzUghXaW(|$oE?&+8B^(0Bwa8ve_}wMx<$z@DUx-*^Y0YBaDfr?;Avj4(XJ; z@dyN41*#`COK*YLOjDMB+NfSrHSWS*I;`+7`lFBa*{m~^cIw0$uAX}@>U0MSKm zOtwZvyj2P5kLG$mX{$P0=4Ngp-bz9_nCR7Eb>$!{^3*t>iq+A};sQ5C&c^TnOpdod znJtTgyS%~}g4cit#Q7h&01D%Z=pNGNbiw&0cNWDw5l8H=7@QA=Tp;Hr7_fC4EW~~v zU@#;pkQFx!xb?I|wGJLnD4B7AA{PtQ6~K5JR0{2Y2WJHe8MI6LT1Q@8!dEB)JOz_J zc{Zt=x57_YfPcApYPDY`InEaIqDUpbIQ{M6;!>b6>FVth{V&HKw@LVTYV%-<00000 LNkvXXu0mjfY6Ji^ delta 582 zcmV-M0=fOg1<(bMBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tj0x3yEK~zY` z?US)<+fWe3B|`?&rKcCr(8bcDm~NGCP%_uxJ@CMht|fn9@$Sd>eRq2D-s=A@zw@`w zyJ!2Sq8H}?)kFK2C3FZ)Kx2)3zh$C@A*lw?Qdl9I9TP1?nl_05(IM^a`1V<2LNtBf zAR=@~yWEXOAOPKcZVaZ;A)D=ZL;ws>@+yYZh9$Zr3PdMjAYPW+ahxa%oQ!cyn0}y-a zTfaX@0M<6al!=sjbwu$Gkf_hhJ%o15hgi|1R)~erD2>^o8uRgY+@;Pj(NhvEyLP*# z$KBV517L{&Q<@vIcEDsj&$_jT&jW}F&5QtcPm_OnX0Gn*HF3N|q%&iNYZaoMgW*rL zgO&k^E^=eCH7ep;l~VlCT<aS}tD~321~)~{ z!SDb~j^36|XUn4CDX%br@HOBAasNjyfWo9AI*0Z-U2uQNlj(#v;)wkx2Iu_&8{|9$ z1NL?X3$ecs&>xT(WW@~w?s{6Hx(+^XD4nrEkxPW?6ToB|Rtl|<7iR?uS+r{hajgB? zB2Xv-yah9S@@+G2eicE=0{qL(lh=CL=>Px#07*qoM6N<$g6ioF0RR91 diff --git a/graphics/pokemon/kyurem/black/anim_front.png b/graphics/pokemon/kyurem/black/anim_front.png index 97c8fa214808dfc8caf3e64a9577c06badf29cb4..e02f1f06ef1fa1cd6b4f0fbdc421f748009241a2 100644 GIT binary patch delta 1862 zcmV-M2f6sZ55fO{1t>B`Lvca?00$*WL_t(o!^M_CXxmm8fCWlp zk%u9F$P};c&PI;9L)H>-D|QS7CSMGJmf6Q$dm4jXvfB;Pb+ zAp>gKQ?175$X>5whbL*T9l!cg02ly+PZEI9(Af}6@*w~XK1)dF>JtIzy5mUT)z3(O z@A3OJK7yhQ0~;QXFkjUb1`I_$8PJ6AFoeTjtLVqSAjhJBs9$U1OSBzv2>|_$^bHCZ z#-F~;0d+$>7DH5!2@_@j_1hv94q%+^9rzB%&5IA6#?MU zy8+t@#uZXN4Z|L8>x`JN=csYzv(@5x8?Y(E9)K)v!zM6M)}6Lvh5d=|U`VsAS_1-`>~rexXFx3;wl+7(=Fl-mXvd;m04Sc)6i~IR@vyf^ zC;>Z?v&ClH8P+ZKXdwj9=YoPfP!w^cjMS90xElsPzV17tQ z6cV!mpWgM{eYT0&I;gRAhaagv>C7Yk9a!MNw2^dWW4!N+e)^x4cf+-KQc& zxS;^765_IbX+n9iTcPX0@6Y)x*@^(rCuGdN5Tt;55GZ;)rO%&;6ewGd4vF?!66lYk zu@y%GpbSu>XzyeU6GiaBTj9NN6vffwECt9GfRiXX4PDqVboxOKQL1yPD7m8)6=jhF(osr^!T_NtxucX6 zo1$ zQI^Y>mnsTVkR@CfDoW-kOIZ916~%{wkUC2B5=D`Ya&(!Zq>fTO5Q?%se@#(@qhyM* zoRt(M6pms@MS92?DGItq$gWTn_?b2L2eX)skt<3l z6-5AF%%+QZt|)dvQ54?&8E}*<3bK4RQxwtt*MC|_fGdhW&J;y-|NBQ0V2V;ND9S_L z{b%&L%%P-zDD~mDN#9L=v5L?6rsS>?E2RFnqjfw!Jm0HhULwcbgj zqBH_jpF)?NQ2_i*FcwL!D0%<_;kgHtF6OBPVJ%5sriy~$T*JrZ-9JflTxwc!@XWzN zQB1_#(GAxR?mtM2&`i@7M!ScFqPQj(h|c-}U5d(ow0HpqqEw8&P!wVcf%xu)=>AGI zq1-@Lxj&Fl0HK?8e;7d+2nYn*nBEw2fd21h-CtSExL`1W;D+G>P-g;>c7J7Y$N?@8 z9R}zigdh-U_lFb?b3fQS0RU3yfIy_(AAlDHf!I4`y_Fe+Y*{dgl0clA+#tqMdRdM} zK_G;GLEzjEB)|nCGl*Ouss|R$1tLlfq971e@CVt5)OKbNxj>WvrIQ&%E)a_YI+X$e zQ%wyb7l?&rWo^jWX=ese5Qrm+Es-M>M>8{sfQ^0fE4&L6ii-@?$VmjpauxHw2(!L})pL%imlLrxK{30$?w%AO%=5fLXk(0NtofyI2N@Zj=ER z^*GRdt7|aSe?@iFkTcQWxA+eNFgV~L3j_mb1_IQ%+>d~t& z1%Lst_#^=s4ZU@-Bp(9M;Io8ut~?QdX?mUlUj2;Be;&VIZlnj=B*Oh&^Yyj|2vgg*MXX^sL;u#jr>9H`S8tZj=-SROD(29(P?didul zEM1F8f5J7-02RGvqfwm@PTYZAUdjNjH>eF+B>)8UPQ*&VxjO4rr~%0078HSv8aK7gGJrKvWspXMFsj?;gK_|wDa^xZ1yN&&%)0wv^B+Lu zp*ju6XbZre+tA2Ox(p3r1XzUi9xRz_H^_S-f7zhrJfOxtptR|EE);YdlF(sJR7({B zx%VJK(`&jeY7QT4GJsgqB1G5(z=3~ZjJo$w?-GoOKeh5Tb#AvkC+<%|4?~)5-5C%l zvd?L_n*+6U*xJ}28$-_?p)H4Y0ibwFC7>Hu(qV6dPyzs2M^4%&-6^GAYUMyTedhH8 ze{#nI07c!j@29C#22uc8L43>Wjp5txP6+_JG@K5^^Hl)ay;dA-_c{b4a|^eEE<^~Y zR6aMlyA?~1iQfu{?~bBYi;PoN#r#m~I)+h$!NQo3BqnwPw%!l?T~@?w9rV<>%|EF= zR0N5ASO~Kfv;y3v;!xC6dYgTdlqkS$e+8YmyGuoia6IgTk+j- zlBCJwJO#)Wfa4@NiG8S;dJs%fAb0>+1wMiRk`uPl9k_7@og~#{3Vga94kUj-e*pMz zOz9w%pN079HNCULfCx_AB*7DPfM7b6d#dB(WP60n2xEMAqQ36}(6mpsBeqH~rO9NR z1CBFLfX+{8cDgu;YJfN_0Bww2(HT0AiU@Mg;qcPhNdg7OkL&dUpiV0Kl(+RL*@`%z zx4lRCm#0(MEEWS!nZ}4U3IMJ*f6Z?KOO4^M!>wX^J)89^)_YFj9Qyt=4}tj+5+U!p zZzHz>T}1zj^^@02t-gX9`1NTBpDzR2Cbo3E48WgwQ>%qbL9fMNy7&Mp2wxQIw-xq$tu+7K@h`DhgAO1zhJUO718N zSp0JpC4>V(I!g5dMNy7&c#)z=N2%@!MOizLrBEn}aFkq87PGu|xT3_uQ7ok>FdGp< zDGE1`P$r7_M=k*mJ|iyANGl#Wry_sY#;&WURhBZpa;QP<^Uj1Y~6V$Q;O1vP<;wr zc18h^=ZS92vqDkK2m~VV_b8noNDIP7mc5jUg5kS{&E?%clQ}L7BinoCVWB8CV(#e2 zYkT+Zi|5suVa%;|e-8^q@og>;owYr>5GT|81sI4{vHC($h%E%-yBDJSYt@W$1G&uo zfy4rc{k;3b2*N->AXs4rW5@yezn^!1Z9e0I!32UEh7UlU354wa+I*h_Tp&6OFhK}G zAY}K46!r^0*f|COQs{s{$nFooi;_U>oUq=?3_`Umn8cDmf1KFdAjX^WInPlX#6lp1 zLEyp<6u<={H;6(Ys(TJC1R{|JQ4)wM_=9RhdOJ6WLLim^t&ArSLDI#mJzQr)XM>{u&l0ZPe80>N@0fE5MAeIEe2~$2#CJ+P*gIE#> wonn5tae)A9Bwz-yED+dYcTym7gHT=bZz%LR8tVnV(f|Me07*qoM6N<$f<|6V>;M1& diff --git a/graphics/pokemon/kyurem/black/back.png b/graphics/pokemon/kyurem/black/back.png index 4e9c83539f20670c2495fcada12db4894b75c0ee..c339231d952bc329ed9762d4a45493057f00cbfd 100644 GIT binary patch delta 540 zcmV+%0^|M61n>lqUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&k?6kL=< z0005gNklHHx`2caSe+1l%YWXO2bjxNqN1Y8{&$QWpr z{5@S$C}hna)9=n-=Z`a6mpX;KkMHw&`6Pz%->zwT2?(Dq5Pz%i0J2&PhN<0L-gvHsnz9LBNWM z0`whbk|+S{0at+v$mMD~{3NLr8$J`u)dI|*2JSiM@1i2@6eQK{oM*7_09I8XZpR!R z_ADF{$ov)GFj(xvfeB^KS0IVBUC`tu;OrW}D<5E^0DsPUr<`F-lmak7XrC=_|+oqzWCR0RyvZw*)hQQlotB^T!q_1**(z$v#~KsAUd e^FRML{S^hhL9){Pjvi$I0000F>As=7=}|KXvZVAbp8m04njj9;MQIbf`Ozo)B(f~!BK-(BvKOT3Fyr`{BNpL?G#m(%n9+v?9R0omgPVv$_{ zmatS$%;BJ+8iU$pgEd5DLPLjxLe>{Z59}3v22g~Z0EI|oJ%4aH7=$A0fumxJ6*8kv z2Lmc9=u=VjI zbpWN~B!R;1IHd>#3+pA7juV~(38?*I3CA&)K;(1?0|MZ1JSVpTAP&Gw;y@S(VPJJ6 zF-b`WfVo~nn}5T|tw1m%25|21^V|T~8E}=FfV^ByN0R52V#9~xay0-yt$;hu`Mao? zw+eE-o$~^AEg;YZVmsz=zhjwAAoExJhrwi*H3fCf7a)mwv!Kou5Pj4@tX^Pa0MW7r ze3h#LIYPE%lX`*~F$)C1GCYW?A|_@5f1@F$MGg3Iqi}%lcjET5VxoaWeStFGZoO+H z_WOOipfpTZ_|v#fje;8qtmGaf>O3}qscIcp6^Sk=6)Wu>f426kAvNInNn=0_Oe;Wh tMlQ}_+RCdp&{J;PfN2m@whe#3egVBfveMPIP+0%~002ovPDHLkV1mkg;k*C< diff --git a/graphics/pokemon/kyurem/black/icon.png b/graphics/pokemon/kyurem/black/icon.png index 3e5218fc0f30b3aff3e5ccfd4de6eb490a748bca..29d26e65d503ae6fa941374fffc5749392d5f43f 100644 GIT binary patch delta 491 zcmVL!7!(Kt0000?P=%ZT001*kOjJbx005DLFn^$v%BBDS00DGTPE!Ct z=GbNc000SaNLh0L04^f{04^f|c%?sf00007bV*G`2j>O{1t}PWG-u4-3~91Ah}cEZl+yfLtBO@$JXFhPW>Px;v2b$V^gS4R|J= ztLK@j(Amqtbq^|L)Box~x-teb5#|?lnldIMB#)c8bYZH${{{=-h2f zo%mkwwq*i*qp|y&vEp-?o?G0_qbK6MurIqE*~V;|*=K$Ki4Ier+rJ0MYm7IOfOGct z(E=bZe7qAT0fMp$D`6@?#wJ|}GXXNLuY|b(WKWn1kR4&(0U~I407wFDWU&E=#3oNX zyaNQb;!L3egyvfD5G^VINk9OX^#?a{0)l*~Aa1#lygtgI6%WG=H+BGm4sZ590l`$- h10bIGKtTMK4?nbnC5x0qCvgA(002ovPDHLkV1fps&5i&7 delta 553 zcmV+^0@nSd1kVJJ7=Hu<0001qplF={000McNliruOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00Cx6L_t(|oYj&|Zp0uAg*ib`B6Wv?W)3j9LVJXf z+HLRZuC3$>6LpV6)(F=?erTocTPq9vVr=vDDfP!gbCoQTN0I|C<>w?vmsH#Y>vVKd z5jLUe-xV_{HdATgf1jQir$wV_OK1N^h*1SV%q1FLjhvd<9Ks#JvqMDtD1rgo6G}mu z655X!i~+$iryW%=Pj|G~8oqKQQ9QJANA9hC+D3Z#9_&g815tiV^vtm%1D80b#Wb;V z!~wd_uUUwWQ9kUtb;x6hnsESxnJE@~mgeC++VvJ6r-9JMfBAam;^^q`vl5hEnz5;c z{}bQvNRjb4ViDVxx_lB|as?m2WL^$}1Q^Y!=}u4qMpXnQV5IR*&<;#RPyq%`f(~G; zPQnR{pqGd3z<9@b;R6_UTyQABco>{b1$qMp+Y9eFM06xgyS11iIE=So(02UT-YkyKo9_6y}_V`LJC1=^a_=G@jr`2e7X0-cx-amhT zq;Lyx@4XAaM(7pbqm(AlO{xnW@L5&aj5+E+JNa7JJ+NfCTCLxaBjL8hxd2(yaOpBO z7+0+y1Wh)yjnkUY=GR$jx~Md{BjYfSlCiD@7a+WrlOT`F%aty9{#(E?* zUdcW>rx;^uiuTuE=Fzl1j*;DkxDh)F3IgA$v||Sfb~Kb zkyz-%mFi&EwfTK_kZR$d99#lC(a~X`m(`1V@`U$49vEgGSPX;78!M*A6Jvh}PO&pN z?Gai-Tg=S|QXJoy)Lm@A!1$J$0Gt-g2qJ{r49N?y)d3hxF4f3;FdR{{+=C&U|MZ@Nq0WZ^v(;c0 z&%nq`fw4X;7!W|64+}<((+wX!_Fx7d1DMzP_yg=wK@1lcSr-5R002ovPDHLkV1l5w B|7!pM delta 501 zcmV958)K&RV(!zAl$o?t_ak3*E&epeeb3Z*4W<5M%`Hy1K$W??3yd zEsphbryAN_FFcz^fqYl+wZeJpx}7cYnyvgxzAq&Y4r;~2 z8xR{F4uDwja00}FhXWucJUj(0LTGU5F0>dKpX(F0^$IW2M}XIZ-A_P_yPpp0TO=!2$B&AhKUa|Kt5kwdv)T& r43N)Q%V#A9A5H+-`0xVAf91m;<@_Z4yHW$k00000NkvXXu0mjfl6c?? diff --git a/graphics/pokemon/kyurem/white/anim_front.png b/graphics/pokemon/kyurem/white/anim_front.png index 0f2185688635738a9784a81ffbdd8f396bfa0808..431e67fb0e30d29378c76a1981c6b586ccf67228 100644 GIT binary patch delta 1954 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 Q01E&B07*qoM6N<$g1oP1fB*mh delta 745 zcmVm*`f z6p=`fwt)%~VoQX4o%>yY-<9B|NXYEp)CP#mk`zTTpREyOK?k@p34)a)LC^&+A1Y8R z*MF=)=8*fvXB0$f*B4&Q^!4&35V2(kVEn}EE6Niur| zU@LL5Jl+U!S|J}N*8sU4EF|FLF93lR$Z^M<^W+$8ld29Z9wQjqfea9iF+`pZk8L@4 z`Ad#@?tAw?hwtqfu*gq%qx$y`-Iv8>3dlNUrzzy@l?YKL}Yc-0@PO{sX_3aJOL2obqNT3^Crl1!>%E3K#%IG>yvWCZUngmpY>yUM-QP1K~ixBfsui+bV|8j_d!zJli;8M zd%HaH>Krv-COBi02A0w@KJClVmTMcz>tbbqw{%b7`1jjDH(7%6SD|xk1Ga&H zjandpKm+kQ!YU1Ljr$l>rw}_hN(7?;8!-7NmZ>MRepCA|4kgIoJY?aB9gRXBm6Oju b;(`7LEj=VfSX$vI00000NkvXXu0mjfZIN5M diff --git a/graphics/pokemon/kyurem/white/icon.png b/graphics/pokemon/kyurem/white/icon.png index 877f297c09b118f9b15d1a36fb31c3e5bf70327b..3e78bfb63ab66e7ae00e13fa6fdeebef2faef6df 100644 GIT binary patch delta 508 zcmVO{1uF_gY?>bc00D_fL_t(Y z$L*BCj>8}fL?fF-;(*5g|Ft_941uK5o>qG(t=g2a&DcrbaeUYBm+@`=(&Fl_7ueOd zEv2NeM}S=yJbyX0Wt%S4hp3N3YQX8TD)4III;#xqrNel-q*fLz?s#T5o|7a!rI=#0 zZQz+WMrU*>r69q}GBr)T{w_(WXRyCgSX%k2dYAwT7d@tWVd~w|k4@8{KV=@6-}O{0 zg$pM79HeAz^8(aA`y6t~Owk(91_ptDMZ<-|6z)leaDOBQtpSSBHoG=ugmPO%6DI;% z!fkBTql$TZW}-C~w*YVmyi?{QVm7NCSPB%T0HUS_?;7h3MN4365yj_cljr&k`5eGP z2k`wD{||t?>k}aFi0J@10wFtM8bFT8mmM(;Ae|s@hzWo=K^DZAEdasBpCHH!Kvsf0 z0Wt~FDqU^>$w80_h!r4{AOQ&C;RXOV1ZP1_ zK>z@;j|==^1poj5Fi=cXMPi(TgM)Luy}kec|GlI^_Vy{&Vv#@`e_5%JWB>pF0b)x> zL;#2d9Y_EG00DGTPE!Ct=GbNc00EmxL_t(|oYj&&Zrm^sg?R!IyM}=jf&?v7)39Do z9>E9@w>eDQ2J15gX|`BMSD?jqK`J8B31T?+CPn~ye>KMYZzSt$&UpU>99+EC9KQl?{hZ3P@C6TrUv!{;FL$5w!BG1t zD01=moHvU1Tx*ce!msLl#MlNQ6r;JlSeNh3&Ar--y)|5x-5URC%)q>h1sE2u>nC86MD1520mF$Hpx=zA zfLh>T%OPNto&5ZsOajI&l12R<7|uNbas`Hk5a`%|ImNn0Pmry^oC%Of>z|q#7@r90 zpbX=u(<=c}R8n&!g7`Rw1k5oF_hxHaZ}h(tFvlGx*$Fd`lp*w)TM`yN%F^6i+rRMf7w$#s#fBlmF8}}l07*qoM6N<$f+#QyUH||9 diff --git a/graphics/pokemon/lairon/anim_front.png b/graphics/pokemon/lairon/anim_front.png index 79c345af427ca86d64ef2a320d74a8aa051a324e..cff0296b61ad767c0f46bb65aec5140efb7fbf1f 100644 GIT binary patch delta 1263 zcmVO{1uHG!W-oLA00g#4L_t(o!|j$mZ`(!~fGGh2 zJX)3Hbm$OJVm&*g8y7_fNk_9ICGnL>B`M(4vJoJQQBia^11=NNp0DLaa|c_q01KR( zEZGW=?mvisL*F}D67^wc3{dz035MRs@5dcK9!YvwUu31SpML?0>Z&BkkME49Rbt}T zle-gW2oyDaX|Ny?5EH+a0x8v$N*W_Q0v=oSKbY^I}QlgfOL zoM;ka$THNGb$?x+86>UoxLkbNwqzdyuwS|zF9D>!;y?vns+tagANV1x@3_fBdddL> znksSafH{%F>PaB=U1J37sfO+Mdz7^p%_b|f8@z?eepU1ApfwyYdOobp0J+g7s)iec ztvGgQzgH_vf&9iTKs?uGv>!XH6%P_XPW_b+St5pKJAWJqIPmqfMov-rkac1d0-r_w z7@O!{w&(<~Kodg}Y>_f{%7MS&VlYWjzXgl~H)Me6FCBVz*&q0Gz+U&g%NPYXI~_cW zhp_`=Afsq}7swh1g5EHCH|WJNwe4|@%!W9t^79W}M&q~_UeI1l9R?GiEP&U~4_YjU z;~^X3uzwDP&g3{6c_I_zn-A_ObB2tuh%%>b9g+!PNWkrM&nZc=(cjP7L4 z3YP?p?P*7~rP@9=J3X!t7=Hqv1i&wFQ_B1n9Ysgu_{#UaA^q{@ zAH33ts%Zumf9w8k?0DlECqHcs>EQb6ocVZnkpj*Sre(l*D_4xh7K3-tV!jE`eB_A@ z%1rOi3^ZJjoQrecl+M^6&>a0^VoE7<%&`EI{qQ#YGc@mhP@Zh5;mOuLPg1Zour}{| z)_<<($?lc`=4^Kl>tX#b1S2iqFBnKYzE?0t)LjXLfh-47w}LUEwl%0Bt`N1m(?zY13R!mc8#QAWCfr!izk!*v*!n0dj-D7QctTUag_0%#hq51gc6z*J%yVi(E?Oa%jy{xA}) z!bk7bL@>a}Cj3DF+kd}zqp@H#JH+cI^`L??e)OD)U_3$~;SXh^;G5VhFy`1n;5+n< z=NYs9pja-0SBwGr!BG(U-mE{MsxI0AzqxnJW&VH*i)H|JJ#jfM_`}E;&KPS$d#OK+k_msHpYsRv!5_ZF Z`VV@cM~FtXEuH`X002ovPDHLkV1jLxLk9o= delta 1265 zcmV zqdxe`q>>bHYS{>o#i%H{n*o;zY0uZ{qPc^uS%3-7O_pqhNB1AZzoGA)z9>;jyA})s`;iL;_O9kEK9D zsY(TvkThn|q+~G$WH2$V5shH1=Mi57NV#4iV*r0!1QJ-j&esUwkD-><7lBE3P8@0R zK{69yEe?1b_CV^J_ht-+h>63Z!CIwGZ?xHz+v~D%@_r^ycj+WgV2HrkSeNt7sv(&ynfJo zJM4!cHO)zl)RuTwrDyNEjD}&~zoz|=S`4N@NdT{&9k-Ylh5-w3Sc^hu`ZyX{A`|_K z_x1&|0)NI>k20%moRBGCWXnM8{gdYxJ*x+RyGiLW(Yw<*QwZqKZ<}|mo&}7jcWVyO z4`#p?A-Ow@76Z@oFaaDp9cMbGB-QXmxx4>}fT1Y5=UHd_&Jpy^ra(%!o_>G-=j|1( zDC$l}F{RoOHamMY^R+!@XZ!<_{QHGzD1mgsdB#}W-e*gz`Nliru=LQD_ED{+(l#T!Z0mey0K~zY`?UJ!>+dvG4 zdb?Vsp+$wwm0oMmG5WQ_k-pNj6q10PY${?Op%}@PlS!2JgmN5hx3Qdvn17SSye}(aK7X=QkIu0A*|L z(Id95+)O=ED9-`#f8n)NfSL!27HKK>7suyUt1YOvcN3ri#PPXWc^G4A$VkIY^?G!C zhjLV90pMEzK#eV15hLHkQS^O?7SZu zAvXOvfgJa7x&poT(D0v00008 z(|QRE5f~WwPMYu$pnA2DA8G>Nu7T7Z1aJV4v}iMUx7Lb4SpcGiUT^?%1&SZEu~OqX z=z75lP?mFz0kLz{cCL{^by)x>=T-q~A1GR+mE2!!pFgdZpuygM&44Z-w$IVYVT@@Y zBVBH)*Q4z_lvI@kfNuc+HMVR~AaZL*)lCaR6w<%U$AFDMW=x5Q)&lH)%gbw|I{sxq zO0a6M_kL`J*bbKs6nKc;mFT^nCdBrs>Rf%<0AbYov1ffcd$fC}E0Qt7fUG0uqkmzd z_sAnL(8~MM0Yz72`)DzCw5^l0mEFYwakgiRSFs@E9nOF`mfoMmJy`U9lqI9A$l)(K z$#~QBQveiT^uA-DwegV{6YQtC#`ztP6`V||%?FGA9k|8Ui6nUgfU^!^SncWp00000 LNkvXXu0mjf;2-mF diff --git a/graphics/pokemon/lairon/icon.png b/graphics/pokemon/lairon/icon.png index 27cb6edaa3edc97fb4879a499c624b6cf7e6129d..421f41a3d20ac595f894915b1d78ad633dab67e7 100644 GIT binary patch delta 341 zcmV-b0jmCp1D*qr7zqRe0001qplF?uExX95Q=~6 z`G{l(*sM~v&xjz0XnYz~ubzcKP>$s|rmgTv(b$yc-fu@76j;`PW$S7tyjiJYw0m3J z9y*yE_$c&PU#pIY47f+@re7&hQ57;$%Kzz9PC zU%(VYQ*h-3Qw?5Q@Fh*nF4k&g!d06Ym7S>(wLG|;qZ}V nWqkS%dMxY%q`9Bl0J*t;8z2w&?*in-{bhg*?ymx5a6gLx8QhN| zKnC}t2$0GB$WG?~dAh&HLo99F+>aI@MLyi!&#qqNgTRX(qvgY!wC8u`!xf>K5Qq`< Rp-BJ$002ovPDHLkV1nfVk{bX3 diff --git a/graphics/pokemon/lampent/anim_front.png b/graphics/pokemon/lampent/anim_front.png index 766dc2d32e9bc21268261abd62f66ae2a577c1bc..8be09c5da581a350e5ca6adbf87b39a320039cf0 100644 GIT binary patch delta 677 zcmV;W0$Tm#1^5M!Uw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2L&w}4uLKG z00078Nklzi!(w5XMapnR%4apj${ifyl8d9U$mh0`8Uq0a~C_Cg%m3=mFBf zeS>DL;l(f4J4Ui8iGP45Ls0k@8@`{9;_>)>n$1q}PXUEIQ-A!0fKc+y0}K@8w!wr_ zNH6)JOqKyb7*oZqzwI1hYlZ$S?Mxn8&TcC$p_>d{`d4{O2HpzQ#6 z_g7CpowL7w+keXkfEm-HbAfk9fck*Is8eTl<5tg0_&!a6twjL$X?Gqllav2$m#ZHL ze7vR=Oa$029Rd4mUqDYL<81F6wcjNQV2M9?3?I4zO=Pr~9~k;4L>BP9KtOW(OpFx{ zCFb!oRo;14n@vY<)=2*6KXcZ!qyzXkW7=11;7&QIKb z7;`|s9=iX;O2+O#TtF*j7G&=B;QoWCP^0R_(EUd$w-#!#LBRFyKbjLjk$V61i0=oz z`%i>41b-l^)qaVU``o#IMD4e@%N0H4F5wsG{;uuaKMI8IA6o<6pBlB_B|Rx{|F~}+ z-9PTUNB2(>z58cI)`v+Ez55H38vf4xaeSL7ad3Ye;3jdgI`_v7^TZmm{}O+VIJiH) zXz{#=Rf!ToEzL_nK}#xC1PYQUN&qXl`Kth>XC9C*6#k;O{8#Z8T6m^aS~uxT00000 LNkvXXu0mjfPslrJ delta 657 zcmV;C0&e~I1>^;gUw;B`Nkla9U$mh0q&Lp z0a~C_C+7v4=mFBfeS>DL;l(f4J6g0z@hAdqQ53CjG2r|3pGcnWXHlHvrvfs0q2|8` zNLBsyfB*$k%Mem2Ri*bz$XaXNs1$L`WAucWkMr6^V~KJZ=6_4=g(N`x5;Kxt0)^GM z!X?+fL`~_1S+&NzBc`D}@g!!LzPvLCyfMbShf-f5;2muZm-ih4tpz@GpP&hWYP0Dc z%yxyq&6BzA9yd~`VA}!iA8ww%w5|F2&0IeM6rvfO3%nQr+6M$iJ9S~U?fO{4?o$lx z3<9`Lv$uebPJjNRS*<@K@cNc2Xa?A=S^^HYR-lPGab4;pu~4PhF877l4&hr z8-|_)ra)o;N98&FCfW*{67zVPd}HG7_ffI>QUTQ1ZWvr%NR*|vOnf;)0_XFqtBVaCkAle5zt8IyO`?h!g2q<8Ot6bAt?jzvn z7wGVV1G)o{B#}W-e*gz`Nliru=LQD_E&$lhheQAX0Ub$1K~zY`?Ug-l10fJb zmo2vT5FcO}ass#laYJjQlqsS#K8GcrCqizxT!z@281q+bkre(aqcXE4L z<-l<8#(OdxBM{zlNZ=!QYn(gA4xt20Hh3R~d;9RmL1k9b-G

    H>_g1Ub`*nsc z;Q082_{#Fr2FTYnh-Z4ntpwwvCPCT-a5)&o-H$6vWc7NGPo?M##SV22y0jT3p;Pe3w0+e_w<*2SP8Mbp?NPqe497m{{!{*HzV7H0ihS0NDc#JIt zuqp-ApzRL(3KxLT4S;FJX&?A|4#VHHR6Z{lrBI^<2=okAL`yt>D+21;+--ry5(6PV z5+JMdCrLnue0_ei*DA)s26!nLEauJuuU|F@V*pK;03;*`x;FqUTc#@#Ar8+&q@51% zbbrd2*Jeu&LjixWH9(T^DeGiQLiN}BCj)AC>m5vcr_^Q(pFI9TfF#NFfWdC)!~g9+ z-F9z?f4Kx{05;FI3Lrt+g0>*UjYV_gUFk{a7{`q#Z8(mh90Tw7s~tycRJ3-SjTE3! zR0CTyDL~I^HA!ry2%L^4iDj{oB5?gylYjC>bs;t_sL`aD9aR@l=CoIXw3@_1nKAs5 zz9+3MXw~{fubVXxhik{_chgirJbrk&Tm#({Y80(;erNB`b%`Dj*-^~oFQXrquhu|k zPQjzVgT^O&?|;V(`R4$7lxLhAgXOTVYXeEU_Dm?mZ~crG#M4{@r$rZV;0R5#)qm=e zu{=F1)!m+jqU|N|b~RwBJ52*{KRxPn0`9b5KfbFCL<2JH0CX2UDpUrtY=Eo_So>%9 zJ~3q=Wdn4a)1;$farZ+~8%U!`UBE1sEKC{$X*}vh3k+%T67JK+KterZ*@X^UMgTyF zfKHJu>nRO%ijg0fZUI-JHjqjlRex`4K=%UP55SYA#VN{1B^L@1=u!10h@Ld?!5?bD zxB#6K96V~`tO0A#5saf$S<+}SRL7D{9e2RKk*#2qOx{Pp=1!#gKz(=Mf2#!}MZuVk zwIy-oasUKF%SV4m8aoJi4cOStzzHH|DSzk!cw9J^qrBW4FiZPG(-5$+gnt5jYWbe> zhuT0wfg2Sx#~C5uGS~Ax?GNY<2#hokb8u4PkfDe7y7mVY47mFN@Nv5#5EC_EJ%2!e zp=Y6zdItX9^9OP=;XFJ+AZk}l&mRcv=f{2@=(iE&%&_^y-v$s$54`IDn1I;Z;S+Bw zFrtnEw*E5?s{~iVHI{)AW+PvB3*qpQYp*GG6Hr6{05|TX4Qv>jivR!s07*qoM6N<$ Eg5q49@Bjb+ diff --git a/graphics/pokemon/excadrill/back.png b/graphics/pokemon/excadrill/back.png index e63f5d7614d950db20fda4e98194fdb0ef71894a..aa979e17818dca6b647c77539850b6a748817c15 100644 GIT binary patch delta 587 zcmV-R0<`_U1+fK?B#}W-e*gz`Nliru=LQD?I1Rt3SgQa40u)I^K~zY`?bN?+n?M`~ za57Zhkk9gz!4jv=eFqRywn`m-VPiAdsthG43sVNVFvs0IRYHA(R(*s%gNY6~YNdOI z{(g4{J_wkpopO@@NcYkA`{S^2od3Vr9C(@&g3kz-^YwWU@VCnuf55%7V9hx{8zJT* z2v9^l2|}(S#8gim>IgB_;~L;jjp~NF!wtNt>m=~baaUu2F}7jM4Dq64k!86IaWS^y zhZkUxr3tQFpa?wn9uK6~@kVXqx*@^wrq?~t?Vp4j+8w8T6rmEEwFMT5y*_Edtd6@L zP!W{jjRzzNO+hEVe_D#Boe3& zcNnmfehSeA5e2d#cohCuh#UurPoNnzJeI<*GPre!DA1cBE((d@ch;TrBDDd;rEEla zxv%!!Zw$cNhg5%>jSe|q5wR434Y7F+s+oIp{0 zMzFU*w;BZ=DB;^dk8rg2qefTwQdU34K&;+Ezee)?mjW`kL8gG9h|Qm$dW3k`03fgd zvkwNOg9ZR8t$#!VP5&Cm(Z+>2#|C;+(perO3OA1!x68E&RXm+Q+Mj^FNqm4HSSrwU z&;*3>-bJ?rL0tSnN$4VS6LPKp!UQ~XC-R1hQ+-h8-V+clfK19`+oJbBhQXOf;p_Sb Z>o0h6ccy|L*HZuh002ovPDHLkV1i243XT8( delta 598 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 diff --git a/graphics/pokemon/exeggcute/back.png b/graphics/pokemon/exeggcute/back.png index 8ae6d8f2147cf846393c0893a9c8c41578532047..d44fe1089f0a5d131ba44708b84fa323735d02d6 100644 GIT binary patch delta 395 zcmV;60d)R>1o8urB#}W-e*gz`Nliru=LQD?I2S_7q0s;U0aZyvK~zY`?UcQ0!!Q(u zjmZP_iaP|fL?U$YRJsJbL_%co+VlxpzlayVjvH_H<*F-L{)tJZcJo<;IUh&&T!FJ} z)24rv)-TWfeIpJ}{CwY*^o%G@B@v0o0g?!S=wU?8z9;%efT9ipe{o)y3r7_K03_b~ z^d1JQVgNwDy86aMUL@eIX+e?L5ooOfu^gfzCf?3F(x*lQLT5+2YTrA3YTHsUfSD04 z0lT3+S?@PQ9D&vW97iC`CaJi!yy@P5IIodVLwlq_CIHH&S<`xWRt_SBqjR+ZJ4Be+ z9=kY;q#uFq`_t#xe;8580B9+PMRyk6^~1MOAZ7`sOM4_EE?47i1>sRl+^&KoiEybI z@H&hD!X%-vb};UI4S>I+HX~p`I0bqEX#M&X!+4Y004g&FEWb<)W*{zq=@ST(fN0^= p0%r#UgX5+NW+!fcqfLLTUsdIJ!6;)J6#xJL07*qoM6N<$0fJ#~s+#}+ delta 407 zcmV;I0cig61AzpPBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0a{5!K~zY` z?UFre!$1&)h429~%M^xfyn{)jDx@)}@h*!SwQ)|6=pt@(9mVSAa@k)=ma&_VPOn+S z`*=HVR>i7S|0$xE=l=F0c2E3r+tvJxs17wVi^lZ|{qWFWwe7150)$Rt6U>#RC4R6n*)qkScQta^sjcz@zDQYbu zfklykmyPBmd1d0d#LN897>Q5&m^q?B)hIC|L=Xma*sIAvoXk40KaXJb2gOYp01$*3 z+`9xu@Sspv>scvez3*O6YP)D?Wi5cqE?kdo28s#9{R_F`zkU>E9CBfHXt-kTTbQ83 zBxbXLUC?2YsAf|OBf02s)I0%e)S`oZPhVGZ^otJG_X%J{K?m}jVubWboeyw9{+R%P zVxUUYX)MVh=-_6o>Q$Jl2h^_;23f9+HK<$%IpjXD`c9aX{Jp*a*SojPIn>;j00000 LNkvXXu0mjf#cZF2 delta 325 zcmV-L0lNOf1DgYoUw;86Nklx(Y^Fu`rqbben;`kvOgH`yJ^U{95#R@G(v9{POrT)GFw~l z{6^N)o|YEZj)>8bOu(zk2v(x7an9*BJyllG%Q1G&WJyZ2hc@(Da z_QD*<3JoiQQ_x|QlU>0f=rAfWX$4r#I-HG2z*#-(;6Br@%LVya2j|-asNkRjd%>~7 z=Ay6fcq8$h06wAy)H#`SmQ@#Y7$z#pMVPw>+%6IZS?-G^Zfp-3Rk!y6$_HUm^Y{D! X*SojP#qrnH00000NkvXXu0mjf9o?Fm diff --git a/graphics/pokemon/exeggutor/alolan/back.png b/graphics/pokemon/exeggutor/alolan/back.png index d39d09a4b632b9d8f1bc434cb71cd886c85fa683..4996c1a255d6fd111f453c2a1bfd658fbf28ef0b 100644 GIT binary patch delta 732 zcmV<20wev<2Ehi9B#}W-e*gz`Nliru=LQD?I31!NNY4NO0;EYqK~zY`-IYPEn=lZD zdB_Kd9oU0I4$!#lfjH_a3zN+LEl@U9H&vC~pz48olB()1cj?U7m_VeyMK@KEY@R&d zoB92FOp@gPee@ggQvEre%Hl5*xPGy)khFzjS#n0CV47vk8L_E%f6uDrBT>?XjoX%2lc&=y>i2nUk| zqVskMfLv1uff9jef2RPaivXMxA)Rc}Qo4RRat)xoJd6n`{q*QTAX?|7W}u@fnG=|i zVi^N19{+p~2g)Hz3|boaM>gLg3Ivt3BR~?gp7mh`QWgYMIPjfyd5}I8kt!t-I7*C5 z1mN8RA;Nz%plBNiz-~1Wtq;(SsOG<66-S{?B z0A9P|2+ztke2|m^yVv>ZSp<~5_~PA;I-s{`p0#aAP8+&?dkqA3SB2RGhHYE58Tl+# zr}fu(XZT=Kl7PXI-Oxzs(IxBK3Z1lGMJrXwS{{5%J9H(>0nZ8F><2#m?e?iM<9QxORW(MfAig*q_L4UkcuJhCV*gG6DK>I7d z_eTkBFtmjZI9Z_kXqQH;EQbiF3CMP840e@(Q=uV1t7-_t)N+e|XrerdX@I!hdyt4O z1h4}1ycKhTGIFdGpriKB&+x=mbWK6ei$0X|Ba%QgMK=O0!P?mzHVCj{prJ+gvagc# zsR$UwB52hV2LkZz9ih{=1u%RJ0&x3gBDxsl1soT`jkBz*Z6voWfrL1wF|$>GvKDoa zZUEMMzm8*O5TkZ~BN5q+Z>5o(f~Ggb>SYFue~HEWElnAU|M5YpJcsoP@$}3%GzezQCR>S~9z;~hF6Y$}i zrynLcBLiHfywN4~7`U8y*jGt{RG0v%(ekhpAg_Zoy2$|7xIFVHzey6rn?nY;#+gTr zRq9a!_>UPxXs#ETC@C{%+t00000NkvXXu0mjfI^Sag diff --git a/graphics/pokemon/exeggutor/alolan/front.png b/graphics/pokemon/exeggutor/alolan/front.png index 186ee8b9530508e392991a0c04a0350b7ea7f56e..21d4ee8d643afb5d02d6513a7dda4ea8590e68b1 100644 GIT binary patch delta 826 zcmV-A1I7HS2c8FzB#}W-e*gz`Nliru=LQD?I3W6W1l|Au0|7}yK~zY`g_N;R+dve? zFP4=p!ySPco49`frn{XUphk+KKyD9}bx8+jisF>6h+NgRQh}}r)XWu2J9cD@yj>=g z&7LYGrt~>PB(~#llI`L9`MvKwzh{Kzhs^G}zKv1`<4D}FPzh&i9mKn&{E@BOILaD}BJc~j#2ti1ZUHxF;c)$rn6 zh{5FmwfcY7SV^SAP$vucD3 zejrEItnI!lC>0Wbay%ulYQbN~PV07*qoM6N<$ Ef?>m$6951J delta 837 zcmV-L1G@a42df8=BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0|ZG#K~zY` zg_N;x+CUV>56kk#a2Jv}c5wfIINfb}NmL|+NVuI;)f-w|~)Y5UH62k-o5T1ZejcFT7)S2>3ae4BZ}Ah1o1))HTSUlYMa}QF#QDjV_|Q8C14%%!>byB< z2_d@8%d+_L4(>ORV`tZH`sEAp>8og+-ip%`1F1>CMz47PySTdT_4+*_&NfqR+(Qa( z9Nvnn!Ns`{{mV0ddXxlgWEQmYq38h6zx;N0hV~O7R4BuC!D4?Py1maoTb+~zh;gL; z@F6+(yYSQJ2&D#BsjGMHHKo@8z*!z^Wg8uK>95~!{SN3Iv<%pAAs_GWo4$MCcUSBM z*hJ`%zxO+pAzh)*sHWeo1TM-xDm~!d5UnGml=eCRRb;S#9#FZr9)J)p0IGCf0Qhh{ zfV`K0cA^YpTS>ocw8b(EM)b`Tp@s7tuq_0q*BrIyfJrGS(A0b)Z=M5|vs8Ut*wI;z zMVD%I!W$`@?ZsAU)yGM?w~0=8)u+dlp3LD@CzEuFd^FFYjjK<~BPhfFzP+&e2Q8gZ zx$3=H9u zF`!-)24M_jO;=mW_K3T&(Um9v5Jllw2ANwdAHcsCjT;#{8U+WObFi2NK>sQ-Hkt)g zqzf;CQJA@7l*59moYM?ly}5xaP|NZ<3n&lZS#>}l2U%s(X>4lG`hd`1Fa8b8chXp4 P00000NkvXXu0mjf>0*dy diff --git a/graphics/pokemon/exeggutor/alolan/icon.png b/graphics/pokemon/exeggutor/alolan/icon.png index 723d0a4ead441c58f1148dc6385a797ab5b54dfe..1e28846027a6e1019c7f77f9ed8b3e9c4e16f6cc 100644 GIT binary patch delta 388 zcmV-~0ek+K1lR+RB$0kRe+h6%S#tmYE+YT{E+YYWr9XB6000McNliru=LQD?I3)cV zz{dap0Xs=VK~y-)#nMe`g)k5R;M`!&^PsewxQ#2fdWbGc=}AIG57EU#>;;5iuh7M8 zM92%gh9Zcm+F~Z+u7zfoVKP7AW9;aF0mhsmf!G>|GJl^qW;VTSeuL@A=s{tY;e0(r8P9a`kbAEC=uDa>vtFNj0mur7l`!`cv zo%;Gr=J>pS>dudJyN9BXCH(-`NxJ?rTe$(8*3-z<0S8t!n7#;3k=eyTIu-3^3=|FAwYmS+f&_nF|F? zGni1&3?>kSh=CxR&Vb09Z!lia4;beg{~wqm9|4CYBjB+32skW0D2LSt6gwXS;jsEB i35V6kJ8AmIKE437GX+1lU)65_0000OV1ZP1_K>z@;j|==^1(6{? ze*t1kM??UK1szBL00BHnL_t(|oW;^jYJ@Np0N~u*T zs{ZxT-`D=nSXYO>K9M;-AD+9@6W#8yC?qL5?cPbc{ybaoK6ifK1okq(IMSvm*)`_A z?oBBJBK8@BY8)F9vW?7JSCBxiS}kq528K>{@(jMqrD#<{M+Y~`Jlq8icVU1zV8?!W zU~@IrYy@HELP6sMCKNP*2?QZxAjqZ@AoAxMj2H9+#`(to2WHPlz+uh^ILtl*4zmx+ sVetXQ#>YT7EIvxYVe#=nn*OnmFSIiSKifZ5bpQYW07*qoM6N<$g5?*wCjbBd diff --git a/graphics/pokemon/exeggutor/anim_front.png b/graphics/pokemon/exeggutor/anim_front.png index c55e603a0fe5b207e56eb9aabcf41b2f8496f1fd..a7fa012b1772059d802fe3ec529888410a671fd2 100644 GIT binary patch delta 1637 zcmV-r2AcWc3#1K@7zqRe0000mOXFVMjXaP8qi`C5JhRHkEmt16;SeIWXR-{ z{s4}{-SEH^0SKWQd}@R)87c-scLUixB!z+wjev>?KR}mG8ib+%p>L5*P@n&idZ~YT zRBq4<@8SRD?#Sm?sXQE-RZ$Jj*S|VyLBr$w1$x8#PX0JJ&k`90h4&;A$SpAX4@!$z1lfFP5sPJjQC{U&tJN~y z*9HWuybW~`UoG+w^OAoys>>|IJS=IWx=Kk9g!7;zMR%1_7l?4J?y`#-P(+9<>L%u^ z)q+-fwVJDI#Jz|xr)E?O(UsX#63hdYpuGyh8G|Ya7E4tdI_}0{WDGT^7ov@gwB&a> zSN0i%*)CNBtd**Z-}7zMQgdUY!IW9yv;V=j8}-(DC4$ zS8!IH*K8mFA;^Cbm}A{%<9k?G^GZ6a3jzGqI^t(r5R#iL@c_OF!4Y@y$0?i$MgRf- z$46Z?FBL8cOqU3vQY4HFARK}a?rLz~UBV!MAPjOHxHp7HCYkewFf>DYw_y_~xv*zf zGS7xEv`z*P1WJG)N6r&M28(5WpaQ{bqu>Zg22t@n_V>xB8}_0lAV`E57LJsj^gh5^TVhIa;-bOpB4>vIQO@wTn4*;njztMV z=&b?G+_qby3?Udzv2<3#AX@-n;C6cB&X^a}*>B|)0IcTfrlDOqn&N)WL3 zGy{Zk!Rm{Eu-qpIH-aJvX>>fhTY`8f(CYV@IQUL#ZDA4c6$E)sVOiRuQ3K8^i zK=WN`|1j91Zyu+M@bjWe{E!lGT^D_M@i`4M7K8sU3xcr!GYQ%<19~YeWi=Y6VaRj_ z0}oN5C_t&+hu}t@I|hAhQS%9nJ00000NkvXXu0mjffA$b@ delta 1439 zcmV;Q1z`H54d4rq7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1zt%+K~!jgrI?GF zqaX~0n_$s_aeV)`-P}MxtkC7_I<4#Z2?5cZ*Xy|f4qRl-QM;U5CIGN3ON*ESyigFe z9?Bj7UJnh4P%4`49lMa)75y z08J(^2uRN;KH<=R)I5^qGBeJag&@}pfWKrt_55BW6WFSk5H$?fn+7~1N|#x;1dwBjqAS1RjDZON zDGMo$kE=Od&QeGW(SweSM*6_OOaP5UeuBkj>AoN!w@g5P1?V)M>5+6(>YKYXPh*}( z&7WoxvO1-T*He}|TL$mci>4jY2P<_>x2;|ta@B8S*QU8nRFNei#Qb=NpA6$P)CM;F`%R@gbd(0S(`N8G><7_4#9?C zZ5;sMFK$~YA;Ow}#JePv0FSFlIBWsrHu7X7xyK-DJ}?S*oYFJFuZX{Ye}oV~CXBwP zAQIt^TNFJJ7~v=0b8wBO_X1$V%xjVmB!g&rMoa--G>WtPuL%6aEam%53Z(hH*3X8p zR{-ySr^m1#-dFNj!hRei)b>ppNl&d#!xw;>;AaT?h2ZDr!5=k26EOuiGze9DJ5l*z6KQCkqFg@C7p@aRFD7DQlGMpkyuBBA4KbaN3ju8iaPF3BA`~TfJY9%*4jlRx zLN*bK5wPE<_nXX#w!1R6K54#II7rhtDoVeVen1P}blBE<}sP z?X1AJ^>iWr?p=to{r=(>gXb4Kslby9!S(Ej3xPa@XvL=hax`(wg;*QkpmHI9M&1^& zH6Hw=3-RK>PlBI!A@oHpN%&27)`d_=S;J4e5GjnJ@SJ{0tPOza`uqO@QaP5j?^NZ; z04Y9`c-}*>GN-Zt<^in-@P!3%d<*bBz`#Pv51iHk7@G!qs&i2zSC2EcaF@dJ8}i&kF(91jwbkH1!ll?#F%GI<>UR0bq3YSV`eUt#yWF;T&KvCdSN1Ei_h zPGNbyBC713CMmEQCHtY?x{&F1$7=)7d-t$)A=8v7wGuowe--ceYMfFd+o1rp?irQ* zvlnfIXdoW0TvSVhD3xe#zdglTFC_z*H8>e$KYahONu>%S06(-*tnh&z@$+e8r*_c_ z8-u#jssU1hn^VErPA;e-9W|6ukd)ff11vQ=5M-EyWJlcBOZ z7p7m@y)r>AxK~ZW=;m9j#T^09hp&AC=tLxd&ttZEb8|RA)KH6phL;&2jpyT+L)-HQ tNGCdnaD2(Y=V`iq{@<9!Z^l}~-d2YbIsgCw2>?k&PDHLkV1n`2Hl6?g delta 651 zcmV;60(AZO1%d{UBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0$WK$K~zY` z?URv_6MuSuG}HscBKBN{cFNEUb)TTu*GmU)dY1yEBun;PI&=;1MDu`;_(1^9KGr)+ z{ll;A`~Dou{|#^ksI!!=x-$ih8zLvF&q8hqBwt>Lu2pya{Y6?DX(4j&zpTwgzCEMIb9MDaN};AX0dPF`SUK+9$}b6Ck02`>j16}q6-m1^b$`Lp8ZLIk@aia9)g ztRQM!?1yq2LZ{n}>=i&8{KGbcPM=0?jgqzLcq3Qir!9&fGBE3zF)6-8u}-N9qHz_X zSTaOyRCW8~NvyE63}DibVzB@4^Vg=7hJOYCd1z%s;S)dN_tVDD<6;d~4sByi1*`-& zi$51Xhv1GhJW$R+QmRi6=y=$HAtxjxKjOYz@+YpG3~Jo=$=y-+xReMT_i~_prKsyB zfSW<(Tx1>(#yWtC5cxd-2BYp&LY@}E?A;MM$!;9SH;9>+lR}+Fb{zj;`sLHB5Lg^S zX4NH(Z@$G|+%fQc_}(UfEh+(GkJXmL&EWu1!z>CGUM7Gwo{!%Sbt`{Bw%9p^V7kHss?{sP8Y!`{Tkr#t`v002ovPDHLkV1i$SGLHZN diff --git a/graphics/pokemon/exeggutor/icon.png b/graphics/pokemon/exeggutor/icon.png index 007641b095d8bfe4d9521c0469a510c2900e7638..c1689c15651da4b09c66fa02987e524db5c5923b 100644 GIT binary patch delta 341 zcmV-b0jmCi1D^ws7zqRe0001qplF?uEa7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ld=Q9nUG*00033NklOlMPVdc5z+vVKBLy13kVS{H@jXiXjpB%^;1 z&_mosUU421o4<_g zPT6*6Z-q~*@8>VWA$JT~w^~2Kv76c9ZPUQ*PTM9Kye@NU@E1|96b1wx&8x#g>eXK1 zh_p9HgPC{5y|Ori#mCcK`7Xp>{L4Ybqx}fXAA+Liksw}{g05gnL02$^pf4~e=o<_~ ne!zgBUobp17;Klu-}D zFbITQO4ksY-v9r%9-T&w(D}SbHeQY$&^6!fcF6!15;g3L0vVVEsR=|-sY~p_4#Nvj z`35HZT-bvp0;zjo;s(NpCDo^inz$@ki^mWmvjvO3b?svg0-q(+dv|YE#0LTDYNmjv zuzO6002ov JPDHLkV1mIvh~fYM diff --git a/graphics/pokemon/exploud/anim_front.png b/graphics/pokemon/exploud/anim_front.png index c467275429a6fe6b407d26c56fa01b1b7fb07d9b..f6c8cbed7631e212fea0a7751ac498704da9f34b 100644 GIT binary patch delta 1873 zcmV-X2d?<=4x0~>`4e zaC5~`yqOcyNTU@;0$dS+!8;+1kwPSq#z-OUr8>AcYCFL~8h>7MfYRjrH{^Y1c9%=% z$SPF^(gD&unvZv9=J&|5%C=Fr*0)WkwYJ}OoX%RH?KE$<>WvknY}D&FoMy1K<1|*x z-|RR}5VRfV`jta$IL-|OHsQx=pc&kD;K!9f?V}#{h4Fs#>YdcO+g&I4?UOFQe+977 zvOK=a#pBNoIDc1H%y6w^d7{ge3ON@5*jvjr-+*<6qAOG~06^&l`r{TKNTf({>W z1;1ei$u^yKpto|(xvmL&^Vdnt^VSdl=v?mvK|^mn|2Q|2-MCv22m4OL08q5NYW8j% zcLhwq0O;;F0k~anSvw_Ai(@XHbo;;eIBp{dG=MX}>VFWJ!1&OA>%_x;r5fJ-x&fLw z0Q=wN$G1`dpr8DbKdd*b_ZGku0QK}Ax6%*?AXEwUuwiYgNAP(y@H4ESo2K9443aSd z!?dgqluB}-hTBt&=}NndF<(*3@&UVJfRLBX091Z%)tCnKHevfAu3q6l08m0KYq#sG zgc%^>eSaazy9?s+{U)q|DM`q#K){r`7Af^fb{XFsa;Mp04F0H+E&z;~!(pEjl4YO1 zz4`4U$GPq1fbtVY&4F;|{uF>W<8d2yZUDsLwI81Vr}n41GuJ0Ly+v(aco zu#$}WJmK7>#jPR2d-f`uW&jMCZWIr2uK?gH%LnOnn!NzRH30M{v;dd^X4%;S7zkF5 zP!o}m;RFC&gwI@LJe-5%KnNGoo8*h|asaLf%{LJy5daTfL9Gx-2!1Y)Cm}BYywdiA zbbp*3!7~5a*B`@!Z5Dus=Lmq4qYT<90B~~gij;t$L;~j^E4m{Bktloi==n-!VK_zC@G#vN`F`d@IO62977pLKW3-G04kxZ3cP)HG#-!t zHox$M%Ww`Q%dd@qjCa3+0scJy0WTj_QQ}j#0@#xA7#=GA#Sa4Sp6|wmu@ z=H=AqvI4}H=kq>Vdq>mLoYhjspe z_OQ-BKEwc9?H{#|w4V%OCs+a81%LAhK0D}&$5-v70S^G!Ll7Qld-(4K1TF6g+5;w* z2FS8sYzCe133Nr;9zZY1wP302pjd*7f#4=qwO*LGgz_M`SvWT*4Hqv5{OY-k|Ym0rT`K*?)!@)UrZ zqv4~bPVN$b@Ye4Xas1~Q$)1mHTqm8%6baNL_*fv0} zAR;XMA$fX&z^I+?0w3K0^cSJk?jQi6IwY)YJ`amjs|g||OW9utLVuoW5bhA|Ci^Qx zcyPvgMYxyQj{@?30StJr2zT!g0T7TOXh#9yK8tWq4s!t+_Dg`4*^A+RIDtwbAm~=z z0Av9`xbw-Y=^1#^QAmGRf8SV)R{{|3-XuNKcHn6MOi~L3r$x8}FwRN+N^JSl;}nS3={IVtp$tIXMGD!%WPh4| zFLEGRN=ExI2To2G0IdMzaBTb{V^yGBf<6D&5t`s%{+)Sh%jknz2KK%Jdl+Ay6E4{T zSiFhb_hR&qFXka$F6|e}bt_5hh6kVzygv`|ejA|bI8aRecS@Y$e=p1&k}f^EegX&C zMft%a?W3VA`@l=6*e00000 LNkvXXu0mjf{2P5P delta 1830 zcmV+>2if?W5AY6D?{@iZi~MLup`GJRqgABIG-iCQ5;ArHN9&UaAwtne9+e8eek~X>$1+ z^1d_c^_rYrrOF6Sf_a#acW37JU>JE@DjSR2vQ=ByZ(3GkA%9S}s#j~}%A8S_%H<1I z)mvG!Ds$$qHZ05Y>Xvo(#37a}>jDDH@MAtu^{!g*<3ylzzJ+~3v{^lQC#B|U)ABxj z&}6qy0G4Wo!`2zUe{G8~dBO~*8ivE0Ov->U4uH8bTk|DYSHPQG#vK5Ju~POtO_bly zcHlKwhe`MiGk*xWY}Gxrl~dMPMVQMU#}Ug~JNU*r+wi=K+IseJF2w6mb3$xwS``gI z(Xy(U>rvF?FaZUixmg9^YPn{tb_d}frW0@OBP`vI@us`pcMWn<0b%<>ce3k z5|XA@UVmTw@t$Q}wKG7vG4=I^*U~d6(I7)}Zr@cCXDMmfd1H@08|5` z^k52fIL${W@sNvP001t+r8Y7S&OtIDfD7pivPC!<09VA%HW9=j0C%24tq_O_elCZ_ z0h<7LrOi7@Kiz?4{?t|o+_7e*fq3k;83@b4ZbYZ3INLehUWpet-NsUOr!jvFqCfz!a24@KCX@e&=}iTvvpI z7T;XgQMb3#4kdwO>D!_3Nul2eeONZZ^B%)fZ2LYbPGA^+zkZ{RGqI(>83`V{!VK?? zZ;p=-)n5_)a;kG#0HWi=@dlkvs!#4`Q-Z8+L`Q{1xp5fNndC5Qq&VgAAK%^ldVhRm z%xkcwZ>H>^Se)?=XF67uUg)@l@*uck#koAtOfR6Q z&{JMh3Sxe^p8E%jETtC;P=3(RdI16ha)JcrIRcr1VBtz|sb$1yS0(s;ui@O*z*+`? zUhs(d$-dgA6!6A^fK>Dhs34#h?dJ9`S`Ogx!W_r}G>jo?#qO)*SG7$W!+(f_p_J$Z zK)n!OCW({D0fErHTdraH;}>oyz2GrLMN-d?5)fgi^jAPpFBAZe96UCd{va3tPZ9xkW*;~Ty1rd6#dAk&prOs_-9 zOJnj7fQ!BEy{by?9Dwjv?|&4r+$SkXpY$%AC5^%qG338~(hwM?!+v)L;CXlh@DQSZ zH0qwKYamk)9!&fpez=D~ub%A!AKec0PeQBSKmbCuOK9F)7EDsD#0ekFWdB4EvQ&d` zhiKQ?Ul_uHGuBc7gnOR-C?KaNK!;@jW6m}LARt}PjtPMKQ~-o~ynmeuNVlB>exAJ; z?%M;X6aw5|DQkdC0SI?Ccs@J;PudCm&&#K^#W*C7dKrmHn40izf zX%0Z870}KB+ZpUV$$>K}cVP`qRw++n)k{0U+Cb?H4I60{Ifm@t-?rf( z4&l!{x^4^y*+%)nBkiK0%=*JCqE0*d2mC`548=atAIxlBU>_)p{edVS`9Jx?KmSxi UUU%$OUjP6A07*qoM6N<$f`Myk_y7O^ diff --git a/graphics/pokemon/exploud/back.png b/graphics/pokemon/exploud/back.png index 68aacbe37c451cf3377431f57b320a8d8f9bbd56..98d7d5b60d58f4a388f1b0b01687230ceb984abb 100644 GIT binary patch delta 707 zcmV;!0zCb*2B-#*B#}W-e*gz`Nliru=LQD?I5gm`(4znV0*gsRK~zY`)s??)+b|Hu zT?pOn#zR*#D6(2T(-u&)KqMB?7(gMa-H_0wlbc9m0b14#eIs`$kg?tR9DRo#slS$J z@8yyJ_tVFZ_Z{iUhp0Q@X$iXtM70;F2q^7)pedS_+S=`qcw7UA?WjDP zPI|yt;ssks4~wRbf8};Sykac%>Y~hY#HVD~Xw2$5FqY|NogUQ<8*$|`c9UZ{2*i2a z0JFgLZ*qyL9QCnUD}cGc!W*8{Q>VbQmyFv~0W|#~e*gV$Icjumk^&>(`2MF|02M__ ze~!oJevr`CH32j=zkVFLJ$M%3cy-5cK1I2Wh#EldI0bN8e^eZ>RoKAB1bEj20Mb~s z05>`9MOQEG*J&5Hm*sIh04D1%f7)3Iq%3GuL~jc@`S7rDzhTo-FCbYXt;y zNjrQMc`a{%Zastq&>2KyfoRnOUhYFQ-!}rt3Frw_gH8#y7S%(j`me870lg!D2)a7Y zc3PufrCEo0ZP{y>xe=&c$(J>PBz$cUT&5?S3Q z^;XP;zwkOh8XtvBYCv4kWo6e*)(s#JbWQ^HAOPGJIjCJ5m&sDU348jX(f8dvumvs2 pW#m+wZOx<62jZ9%G~iVa-9N;b-V?(y_uBvf002ovPDHLkV1idbNJanv delta 716 zcmV;-0yF)n2D1i`BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0*pySK~zY` z)s??)+b|Hu9T44<#zWUID6&R9(-u&)K&&g`F@Qo;yJ4YACpVGC0<^3f`bOzcAY;1q zIrgUMqhFM7EEZyG`$W z092n(a6ymcPl+~!CZesk2JaKu5Dd_l?>-_VvO5u43x5bAvq3Tpl>QpzM7L7kb_+I7 zYGAwElg~~^Jz(GBL|*8Sibkh$IUrt3nTEBfvz+L0kdrqdt96inGP9et+iI|A%*|ZN ztDMTgK*XB{IE#Y$Rjw)3yEU2sGyxbR72&Yc(Ch-w;c9=IDu7S_f`0sdKj>4mA$ed7 zJbn1(Hz30!VByBaEsX@7NXh|h8EBjN_oYsCZD6^#OF9cD0d z1HA140BK@cK)E@8ZLrgeyJ^}DJk0VW833c{*FTMZ5@}uVQNdmbJ^J{!H5fC%4kb1d z=RLXR7q2xyQkpA#!@Rb4K)3D}3~&$FL}1$VfLEIZx$heTQVjGAs)NoGY$KZcMGp|w zn6TdhVASa%RK;rs9qV7sqCTf z5>t0^M41)5%jhAt?tUjq^Pu`b9PR?F>lmN|isty16=19`Wk(dc!PAw!EQL-$^79>Z zfR2^>Z>6i-WZvN!&M(3a&@M-zS2cj=d|BmX4d@2YTkeyA4In_!0(EMaa&>Lrgbn}D y*!%7t*n*cQRyr0{v88)7`aqJfg9Tioa`_L$nBEgz4Qdbo0000<5j&Xs2_h+ zofc84)FCap7*yv3&?6vGC4d7QBKDq`kKZ9rfz-Gay?{$@q0Z`Qh=d3<$6ax(20$g} z_n#cw+H5C)(s4*}0XqyWWw5pYoN!`j;m~<&y>cjhH*VU|zIm^l0j7kYUDE`%;c@_k zvIi|=eoVvz(@yKwFfZrpxLd8?P)=n%Vv)NUftUj=UazHL^JOXDI3QTI{E!eRK76T| zb9u2IO$c4~=j&gXwJ=(*gz0s7Hi#$FRalH=Ch-uz0cT2Tat6j$glGp3+1<7Z8%lUypwwxXq%-kH$AJfq2 zaNhVqgsqub;I{;BFa?5iM>uf+8}G#vFBBz8iBf}_G-RwopX<_Us;Wk+1OM92VbRtOQKIuaHEhObgnv7TZ%R!r`^ z@3=~aHGkM-+}KaXJ7ZGw>#0Aw(7%rF0QnA(VSuQ2KMs&Pv;B|xunv&9{crmJZ2$WK u!mIt2;!QyFAvQ_5Vm_?LYUt=+pASEVu^(oL*3jGl0000%`yN00dq-2K~zY`?UYS!!Y~kp zse6IAaTn}TnJn1VOtX)}2nmS|Am5;3)yq(ML(~mYR=EW?tL>N&^AipLvxpSGFY{(z zq6`MldWfQTbfKbN{UuXLFYvC`Nxy-Dq~BnD3wWjU(-_H`9~R+)$}Y# z6L9PSiimYxO_TG0mmpk!qhndtRettzZGd(LW`X&lz=Iuf0|<17UJ2Lu$?c9#DvUDQZ16W&<1cDMD4f3e9}b3)v*`J!eW>~ekvO7k T`xY%c00000NkvXXu0mjf(_y~= delta 436 zcmV;l0Zaan1f2wsBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0d`45K~zY` z?Ub=@!Y~kq)AR-6#vRzGOa``^YxX#tkdRm?@*7l4eHkh*L|u?FJYp5s!Je_;v7Oimc*MIKn5Wo&J)%L$aR1dItRFjfx)|b zlwwuSe+8)nP8~oHv1#hL2bh4@z-@o6V^uYE(bLV#H36C#r~#JCrV;(|-2TipKvb%# z&r@cnd{WoIw7{xsan5fBfag-DDdKi_VgTL)gz5rltx3w^tq0(LsOSLu;PQ|%+6SoW zfcCsPq#hvb6miU)vmj(Q=>z4;0BpkA24b||6Aut8bb!5`D#ZO0dQ%?tXPQ!B9ZF@c zI}ey1O$f8n?)K6q=y}j%p#hHe&?){JpM}}cN~Km7+bw>1YkVhN2&L7xAKnmR5&ntX e>u*&Q{Q!|TqHLoN?yqYA0000XYnhE{kTR+^j)E zkBw4is|K){hJq5Hf6>fi!_YA%;yH|s^;JlCBX7=j**jq_x0h*&W35v3nRfsqCY3qQ z-2xaBqCKoR8%h)h*Q#j%9i=_=`)1G}8bDM71pW_zh*ur0b%57OxM1#=rFilF7E#~_ zCh=B@+-(_vT>$c0OQ5f$zAJGVPmLXHDsT?4Y?+P%g1;9}f9HSaX5esUUjp-eZBYWoiEY?yM~3&M1>2WU0%`5*?k;3_F;GukHaZ2ti#V+T z))Kk9UghiL-EN&@tnl!j{-jou_~WG60^t*58gKTqma$)3c#-6`Wj z=&?3kuVEB`(_Rs$8_F9kgOv8@hSF!#GKD5hHUVj($I~?32z)xzp>Q+Mphb55v-IUE gZBzR8FZ_S|4SQ+q;)C%k`2YX_07*qoM6N<$f^L{&nE(I) delta 757 zcmV-~IpJot?AZ>y@&bZ|LqDfcpkuyR7+Yh{suL z&4W}7Bxma({+4l5=U$C}Fj@tUR%7R29CtYLwkkkm+;+!br6gof1x$9UB)S{u!2C2JM0oW9wW(m+}>a%|68Vm7V#zy!nEc}5#W4r8sgD|(-&(PusU5YXD zhjPG_HrKgZ03$*$!=ACe0x`VOH3MjA%)sZhrbQ3{&^?g+KL7wOTj(`}D=j=}zAszz z;`t4LfKN=pjTX6AHvp#q)D>DlpcP)VxQHjl8?0&R4xy|JRS7cKizl<^b=sF&637T4 z0q8()=bpGmV6{Q9n|G3EWo;)^QmaVd0 z0Z6GZL45y>z~O@lED#_{E|&`hp7@49F!94x!p;H`>}|eWE>9qn`v`awf3O1TOO;%L zUVbJAivswQ-+L2xOLI+~U()M&B^NE4h-({v;7_dI00000NkvXXu0mjf7focG diff --git a/graphics/pokemon/falinks/icon.png b/graphics/pokemon/falinks/icon.png index e8b750bd5b109a85b25d5e0f75527d4e2a1bbec2..13ddf7733b04003cf9f32d49be791fb2759427e7 100644 GIT binary patch delta 453 zcmV;$0XqJh1g`{;bbkN`bV*G`2j>O{0yzdTVX$HV00ELoL_t(I%hi&xQiDJchIxZ~ z3rj7cV=A3-j+V?wwmlnjbl7nn6tT`rdJw8V6d`muHwS^l&Q7=4*>7$ccJ~W{zZ2pr zadeF@ed<9WT+q3saKlq$I^&WYTK8{6X0}tkVl%&YU<}3RM#0vF&gwVz|&Qksp z2J2635YFtYws-uE7VAwtNBEe_Tek)L?R6wR#h_?YGX}PR;_vD2UTj-QnkFzkXQrgBdZWx4V)e<2+ zjKc6GLn*^an1jMv!qOR5@#q8g4a9akj9< zTNvofOV$aQelifU;T}#%%Gj;F<#eBXme2PE!QTmSmpIzmmp*l1D_qdJWb68)#f})q$a8IM`Qc6-}WAl}508 zKFWm$6&T2wwvqH>Du7$$Ln?9f4D@;eW~DuIeH%&1$IcXFs}1MNGc*&7G~J@$@{Vx_bqS*KiBV^ b`;8ypZvhig@w|LE00000NkvXXu0mjfM3K-e diff --git a/graphics/pokemon/farfetchd/anim_front.png b/graphics/pokemon/farfetchd/anim_front.png index c96acae39a8060e6acb30a35be97a9ae81eb8430..ac702abdd4eb4e31f961819bc3248bdf8d0d0a76 100644 GIT binary patch delta 1152 zcmV-`1b_Re3Bw7H7zqRe0000RR0Az-K|MlfJ(1MO zRuIDm3aduYOo?$II=j%4MJgfOR{wbO5%Uf zE;<#356};IAKu-&pZAfFhxTupaZi5Hj6TFAY6~Iyv(b2LV;0(n!##h_leH20 zZSn2xcs%|C)6{K$_yrfi`a<{1vY&l2r8I;$!z+<&EOabB9^XW1YEufkr!TL>`mwAH zV$rW2rK$6kXYTU&*}J5&2Iw`Mq(~U!FQCDNICy7oTmYktK#gO={1C9Iv2h&mso3FJ z!+#FNY}WyN+T%;WflYu!e*=H9i16gm&CA7VqQ3wV6Tq`_w^V1&3Q!Lf*H~K)5n})5 z92Un$wq7lXY%o+8yf#mwU!`D#Dgd`cjvzc1+3HGC8)OS6ENWDhfF`n*1nluEbp?s! zmdN=%eXXuS`jjzeihsWRSqY>^*eO5yr3%)Fj6)ta$CZy39?pdSYJRDAtG zivN+u?%Aqh>HagIWU)>M$0#`kfZ6J_B%n2dLLjrQ)<~3hyW;wtj&!DZt^{1)^;#!q zXuKl8YkJj_%y?V`$_Rf@w_DxrSrL%A-@*`KBUS=>R)M#=Lj;s_n7g0s53kg~(*63& zt8<|OmhQ(8d+H<>?w27%q*%wL`-#0j{G3+uz|#FBJRNQ-YYr^jua)BiTVVrz>He@B zM;^6uW0dCZw=6mkF3>OsXmj^dTIPLpR!&LV3-?nxh!LpgX8C{K{hxAS0~k3iF5C~$ zkW%yPoEEjY``^CB_ke^tRN*9@vB6x6f>DF!on%9M34~T?yvpsD3GIbgMH14-uYcH_ zgbDuKo4p#oYCOFx2GFbl*~&?&gi7C=1MNU1C3^wHEV*G4cti4l9OHCycq7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1SUyDK~!jg?U?J5 zqdE+Pv5>(e8T|flyK2ei8nB%?=f`eEm8q$kNqTnW?$2ss5uszwgb`O&X{%K?=oloSHi-u3Ks8B!5) z{c-f^Yuf=mG=O*r3XuLW$siDK0i5*x`(ktrgM?@&>KXceN-1~{*z}L#JpdhaY=Ea! zfQ97ev`K+GQvDSG9V90;I2Hh*jOPaM8X0;l)Wv!rh2S)Qg(uU`4>?{k==|&TLQ~g; zJ_kz|La-D>|1(P;pUW&M-~oNONWeMduR#%d35>Gpi6jLc?(`S|LJvcXa|%k!h~gy$ z5BZhe#yCh4SuX1sBWnuiz19$}^|lBD@?X?3Y6%z}S^H4|H#dX~kphAw&QawwJbGtK zKLlxl4}7R!;vU0Lkc%uvrGJ2k}US0iXrl04RS|hGE!7f?7lFnsA{{ zjnP~C7O*zqlmNDP0~EF;HU=F4tlOJzPvz&Obf2yO7|f~%?h#-F;))vH5P~Dj1z|I= zO}YjUb_wWBrSi%Iwgg=k*&#HCh9igG8OvZ`m%e=Rn~?K~-$Kb@+uoZ$hjivAD@T0zhqjOJ$mNnQr_e=fwT&K&_mOXiu%mgnf)lRg2c*v7MS z?@ga(yV%9ObMMVLXVaznQVBcfj!2Fk#bc1FCP7byd)Eca;!Izj1f9&#%|r_cs7R=XxPfGvd$K$AWLdRhqF zq{lKU!Csp%8=>WFqD`Po&?MT1BXKPoV>V@E%h00000NkvXXu0mjfg1i7! diff --git a/graphics/pokemon/farfetchd/back.png b/graphics/pokemon/farfetchd/back.png index 50978b424cd0746993a885f3c2dff9008ef16b71..b51749f52123175fc266124acb05c85c4d0da832 100644 GIT binary patch delta 576 zcmV-G0>AyR1*Qd%B#}W-e*gz`Nliru=LQD?ISr<>Y3cv~0trb(K~zY`?UlW5+b|S` zRf5@lNiEqVN^=5RMtar6&=76h!g|BQZQUU4QVw$w-%01PB^%Mqw8fDb;&AkjzB)a?v#$_!M6`nYVKXInVP=s*^F zhLp=`4k$M|&`8g)e*l9HgsT>~k?jOP{s2I(XDnsg&Vn2&@%tI_dJT30g4{7PCO|go z(7!| z0kV1Azw2ZR&Y87?|MYfHE^@BQv#bg3@wh*{Bdzn?5)|Zne^rMfqMSz;EzVItX(HqR zoKqfKOg#L_-$EX#ml3NTmydc}mpZz%w*c8pW+o_i`}q&};ra{46q&8=Ey7#? O0000BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0trb(K~zY` z?UO%l+b|TyRf69AC@tA6QF983I)Fq;@KOXGMCc+BxcC$~N}EpJ3Itv>bvF!jkDDWu zr2aUP==1`46QS?N_kHhyaz1NWDEN;~+2%vQhaM2Ag9{6gfop(OTcxGk-3IDbRHba} z01lj$Y@15R$GIGAkODG)#mN1O1;7wu1FUhqKUSh%0-gfazKXGxM^VrDV+=tqe~b;R|IhOp2I}<1Q)d+YS|UYhg*!8L+tTJ1dtaeFJI-ylzp*jVQC} zkat61M(jF)$UIycc~;%?AvPUyJD~LLS4Rv2i(cr}rCkIg$QE*77UfM|{%3tqj`I)3 W6q&66ttr6(0000(Zu94OqEjduSu;X|g|E+z2 zjFiUj)9#x$V~3D)Rf-Qg04M4om>sprJ;I0Zf6WB*G zFiAYB@nL1Fv94|sZ>n*(VPWiVK3+8d#Mejsyv$HyDyCz%6Xg~O0_MyN097S_=3unJ0BnH32v}&*Q+=3#9y*}-7{?JX=+p@rVxPQ2#{%Fm zqn_^oAkGaY3mrt*4)DFq!7%{d9gg}0Ne%?Pm8A6`5BU;HZoQutO`AU)df2|LjALf;5N&G^q z)lMQ_yfhil0Xm-&fGPY+G5!SJw%Q)0Sb!V6s+S}{yW^Q$Bfy!fQwea~@w^+R5mM#c zElQeD5$Ng+YnYr#H*t&rXPQ#yZk@`;NFq#~RqDJ1c1ar1@w#QM+b&dHDWG0^p20X& zZ0<^Hq=Oh{$!3Nwe+SfeSmdKytav$q(!2J$x39k3c4-da*E*ga3=EnJ_{TSsAPl9e zPITzsPear&4|wCFKg2cV0{3AEucK%`rw5|kg%CxQE@%-?jO5U$ccmVH5Z@^t8)9m* zCJq)th{b2lxn?p+gn!UPK+F(eCX+O@R@1>NBntV$^oTeAeuXhjJRgH5D#*f&LK};(?|Fp8i5(2Ovkun8Hp7 zMgbh>YzH_@#$5Dln&^Cmz;gFc^u@yWdsXz|F?KHFB@hCcl&YT!9}2A3F^*Ytuu`^6 zbszm=?fn{ke^kRkHMSne7{C}4^?bd4j8~BOTLIDOn2_XyMBJ!34q%Pn_Ffc5KLI4t zyVEY8G!27MWNiSVrulKa%2YTFMuV}XM$zUPU_LH;mFW;BUoA2jO~+3cpccm$nIb0^ z*$aYjU}bJP%R~_DXfg^0lVNsp*j_ilw;{k^U+5>+9zWjr>hqu8|LO;ig90^KHx5_; O0000#Dj&L$t%5%xtf5upHD$6ChNznv z*=ja6@KPcM4>!T=KOyw9X;b5#J9N&I5XkT6_rC8q^rF0Qt-!D^ci+{vB=)ytSxDO1Mj;%7h@=38ne`j0O<8yohgVg>Zn)%ob+Ay zhAIeIj5%e&5HbJ*l|qNksPH6C0AN&+n#^fp(HcpFuF_hQRft&;M)ci5m8qsfEJp~) z*RHEkMrtN=gdOQ3nqD!friuai1C)Gr$~CtDkcQXp;P%bK?En{l0A8c-s{UBRg@AW* zGxvi)c+`oGz57J~niK)=Jn$!QOohOG5RkWFcvvt4lI{W$h8Rb<3^zt_Y2>@gkPyy) zV7N9&S42Y`MV#~KD`QO2sUX5T>Hxr(08pI@BFq&Z0iXlGs-g&K6?J|CECuY=-a^t+ zPa>LZM<~dSNe zCu?#uAt)xqw$F3Gak6GKG;yMf4FK!hqTYx{o;S3>Cr`0`6|V_GB$Hx!so+l`+ieVM zHf(6h)>wz&mm43q;DcH=sFf{|XM|`oBwuW|Pw|E%{$400008NkvXXu0mjfZr(Eb diff --git a/graphics/pokemon/farfetchd/galarian/icon.png b/graphics/pokemon/farfetchd/galarian/icon.png index 2dda2cd26249a69c5759c2854a8fcfa2bf56d5e8..a7ac6fc1b1c273164163e071efb9b8e836e1b071 100644 GIT binary patch delta 360 zcmV-u0hj*51JeVLbbkN`bV*G`2j>O{0y!AVZjAu|00A~hL_t(I%hi*yZi6rohIs?) z+C3J|9;9UI5*Ft2aG97GI+Z2Qgv5+(nuQGhdubb=YpGMEO7#Rkcjy1^K8oTmk8+s+ zodxJjD7<#xvYnTZwZCO}N(4AXlA^kk2Sy?rg+o0CPjWBJ0e=Bp#EG)^PvLD8uQ1j1 zWk-p5T!*1gtuEIyxP}s;S{`;9UffruG3?b!k&;ZHjdgJ>iz)SNFZL1}@I<&g&sN3( zexI7g-5csvuciiQ?^WG80N@9?=$y~p760QP2gqm6eIk4WD~dU)<8O+25FB_e9uzmZ zb~Ud^OUimWgken}+QgJ)Tf>r0_PA^-%SB}SYN;N3drWXpz_1@vp&EwQ)H@5{8YwU^ zKLLXbn7HdNV8Sf$-hc^B)5ey2hGA+Ek^1DrrT^kD_;?2tD#rMK?<3Oy0000iw~5QX^%*0p;qoIOZk>Jk>_=Er4XV(3(s z{3fK#*rr*?;MYr9e3qq7m8vq~$G!8j@1rRG@=-1mptAy<35D0u^Kd&aB};#IcuE8~ zMPgCi$pa&ijY8dw!ISI@QzL+zI8pZgC47vM6{fnq?I;P4+kY_hY1H|42KP`RRP)nL z!%OS&t6p7N;J9{m%K(61 zWTSI_@A>+_KFHR}XUTmcJc<=XkLviFVjctsz84RQlU%xnN2JBFoa(R%M4M=tw+$@m zWRCN;vfMJJaegyB(rTw0%VT-$7X*Lmuy+Tny##bqz@T+fAW6J8O@CtAI8QZEGQf_N?502y zSlm&qJ=pRG4ahxj0}$3wL`w-!UUdb+2=HrJ*$e*gdg07*qoM6N<$f~!l7LI3~& delta 295 zcmV+?0oeYe1N{P!Uw;7zNklc3p*Q{Fh&` zL?Y4voU<%P+!IyW3}nCQi4St8zB{+(DB&B?(1vu#i)2~*1Kv3K-UY)Dvp*i-{ZQH9 zhv0!hz?j)K4+G|SG@o(a2ga}2f|30UKd)d!kZ!vNBZ3r&2d3(Pcwk7^{{o|=USI}N t3TEGm3c=Ll{vdlWp$`Ew@xlB?A5Yq0&b6?%tYZKG002ovPDHLkV1kHMi9G-S diff --git a/graphics/pokemon/fearow/anim_front.png b/graphics/pokemon/fearow/anim_front.png index 9a9e669e09c09b7a8511f84350a7fb87c5d2ff5d..e891c121b0b8972b872fe568a3be256ace8cfe38 100644 GIT binary patch delta 1550 zcmV+p2J!jR49*OY7zqRe000068OGj;YC#OK({(r0j7C=4?UCt z9V3X)Ga4XsJ!P+0Z5`9{Fp8m2msSl3BYYo$1Bc^OgX0l0C<17nymYVVQWhvkp(cN8-|vl| zPJft-cAi8AIF7QQIS3>_%ySErB zYrWT}v)S8Fx+TDqj?1$flasUbY>wC2k(on6eD1h_v|>yHVPWC>^Z(DdboJUjuKig>p}ZdaV@tlM*1073o6FPR(x3WuK>>I z4b6~(X2I1(c|XDsveAE!BN@h?Tip^T?>5aEMg7PyYrrVqctUAWQ`ABz>`WdQRp4I_ zY)7p~fJzXpyl*Ty@M6`O%|pk=_Kv0iqTLJxHa>ej6~Z>0W&mt>_WJvyYZs)`ZUjs- zoxM4`hQN|hyDjB`;*V%(=KW%{P=bUXF zTxb6ew!KKLQ7d7iZ9sy5^Zx>{Oc%ETq>Ec(%yjW#Ak)Q%GhOTAmQrN8$QmNuLubR9lU1ZB%e3P*_p+?(QxdfGJAO$NL-9MY&kkf!6sn9kInq>EdE}dszp@Xkd9m zy7+RrTGW6^I_A5}mD0_Z%jN2}KAX5bi5nnYTr82`wGe+2<^q^918Svcou6<`8n%hL zh#{<2H)a*UPYG#*LAtoO{d_OXY6z&?4z>g7qPPvOf}reUk}xmA=b&^klrflPU_8>$ z0RgCsbU*^TtlcU1Hh?-o4a(w*OW#r+0J1Zj96(Uk#kB`8Nf!~Y!7c}}_F$W&iwGDH zSAfieO}c-mTv%4WC>WX~zyJqz(V%jppRlNU8fK1w;bPBb-zKi?7Io2+t^#z7p|27# z4!an%}K|Ag`lBU>MZ^<`h`h zkJw@N!9DlzfSl?45n#)B6wvu203we8th`VD19;Q)Fm!LX8vp(^b delta 1555 zcmV+u2JHFH4ATsd7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1<^@FK~!jg?U~tj zvpNigZCN%1SiJw^9!(w~226VSAG+EkP4uD3!*-l=-aEd$J&s%e&7%)NO!;xtJ|I6t z2>isy5TbtrP&)@?C{M^T1Q;h|`(XCuiV_9^pmrE4Kv)6Dr3jDqC}xPU+AASO@bMXd zF$P5b+t_pXkuHdTj|Ak8@aK;9oKe1>T|m1JBQW=YuYe~)Yfni7%YF1P<^q_p#A~V7 zE+CpO@7z0Zwim1vK?1l1p!si(n7z6dDmz|w6Kb6x=Yi^3-tz+haX{}be>jUW6!@a& z(LWF{7a#{>y&zf4ws;M|*Z@E?R{=ywiGC;gSn3ms1ErXMVwPj@Vl2Nib}NCk1f>i) zi=Mlw1@s6t1r`g|B4`@OI!!6fGrjW-Xi^~0fIGP$_=N(H0lgp^2WlfVBQhmO(}eUx z4%`BuO=1K1priXw(0FROHs(@u( z_7&Q>06GaULc}d9!0)TNfVi$JWW(G8eE`h}W>1rU^s-A3xbN$}LpIE_At5>gmd2uH z0634!A}+vQ?Au`!zwghjG~qmZUVAA9GFL*>^{C9ovLbct8Gzi)s4EEhA%M2~bN=zd zz5s|IjJ(+Bj4q&l`V2q=lE#8o1efB7lps89Xr{}Hs!5+MtrEN;cbFgfsUOB*j2>hfiC7d<{S+9l}8n>6Zex^ll(-}&q zq!$F-c$(vjQz_|;1G0kcC%Qd4*l6FN0GT2+wF3Z7y^J1owq|Jvz)lPZBi?RJ6t}(R zRaY!=tP+&@NlY?e(fJOX8|ww+336&%Z|U^|$vXl@gJr6KuUiJ+T7ws)osdDKLb8)2N~Cw zyy8QT%NpKYlGAMYiv~CVe!2b(5V!vXFgN~q8gQ4r{{U8MI@~%lV?h7_002ovPDHLk FV1g<8(e3~M diff --git a/graphics/pokemon/fearow/back.png b/graphics/pokemon/fearow/back.png index 6ab9e169eff24aa8ff7d5dc8605c6fe40ae5d876..6c0f29e86b838536c3cb52cde7ea4441d9e701c3 100644 GIT binary patch delta 634 zcmV-=0)_qe1i=N67zqRe00013M{MnpE`g;)lD!lQI%H562Rvo+fu>Lh75yMK+-K-}r_-Ovl2Qni_Q4+P=XZba zz0a#VgwTH_BX|f{BJ`mZm?8ABt%@-Z{sd_2#9vBa*$VhG<7>Ss+xO=I0JLHC1e##M z(`JAMsLK`xZ2}Co0Dv|F$Y%i>Q;+#gfWhcw%%;qrHH92As(|^V0q8R3G0M&hfH77n zktzkAuz8aFC|u8zC6oeXe@l{ZIxK&OSWI*Ys_k%kFNDu#o(87^f8wLiSke5IEo}9{Xe^BqFZ@n>zi!nah z13G;ob!rU=zPPyjQuUu5T0|4%2r^U)n9nT@fB>jw?0`QY#8JKjEmSu!Em?m6V+G)v zgom;~50XNsy}Gl|KOGQPWyN*tQ3ndU!OM+YoZbS67)257#pDJrB0m$K1x8^G*84TR3*07q2ovT*qAcoJa6;h1J0X z^)h0;Q7(@K5XZvKPj_~7PU2=1;6jL%*pfoJjguX$j=9*yKx`vy=YWpB-hnH2B9mPy zaj+H=$Q70LaMKh*#D$Nw=j0{2qO553T@$AKxO+gU1$jqgi3)&=2Hi_@%07*qoM6N<$g1lxU!vFvP delta 560 zcmV-00?+-y1@{Dy7#0Wv0001;w}I>c0004VQb$4nuFf3kks&^R0rg2lK~z|U?Umh< zgCGn>6=Q_Z;r$?cvBj_7P zG+?>(3KpIVba)4}Ss;ceSZ)dO)5;FEL$JgqfCZ@VJ%LunC|J4#V$ipU4T#dva#NrN z#MlC;;O;UCs%#d2+*-%gpq+5}reM*$H&odOR*|978Kqn0AN!2OE?Q;!n9zyb*1r|ztis9u>>L4ONn^Yt2F&fBm3E}N7lOap-dPs)?`M0CXCUgab5=%+yBfkEy9 ze9Xq6`+CZM8DZZBg}`)RLB_?93K5l~r6|l^LBW%+6GDgzV0m>kl~Z~*4hT|zXW$UY z<#@y%77Ie+Rix!Z$d2vt*fx+Ni7M=xrl2xtr@kt?4Ym2oK;gI2Qhkq`qXF8LV|9M1 y_6Ad~a4KleK>okThPQ&|5IxA6 diff --git a/graphics/pokemon/fearow/icon.png b/graphics/pokemon/fearow/icon.png index a6f077bd3ac3893adc983fc90687f719dd347dfc..37e32c7848defd25f51467c164ffdd7e4e6113ce 100644 GIT binary patch delta 393 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 bUU~foTCxyN2l~H;00000NkvXXu0mjfm-Hw# delta 646 zcmV;10(t%C1?~lqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0!K+iK~zY` z)sZo7+b|e~DS%!&S&Rw?*+>iM9IFSg6sGFnp@VDr0%d}12HZ&S(5Z_4>I5A-)UnH@ zcL*}(7(IgbmZUA1QWJT|lpin${U6_Zd`2&G+yi@O&}~_&ofEVGM-(}38*nyokAhYp z2nMYRICvZ4cHk5}4?xj>L7?BoZABr>y7&}52S5?U{sF*g2k=3F5nsw5Z60s3YjGu? z+;=8ITwDwB6!Gd-sJRg0vhLzm<*ECZ0FViBRRhj;<#dFAZ}K~2@>bL&a6q;K>Ut@E zsh<>OUBdi@9WAexP?oac;r6x31oX%?6tK9ddk~@}rcliq;Kl}jFr!KWg9YU0pK1Uj z!O#LS81n`|`+h998CEJOaDVb)4>+EZU?}FN3}kB&r=QI_O_Ow;Z~hOdfK<=y zL>&zUN(`_x0C}y?u~lT`ySk`YNgKe|r`Z;Y}WY%+GXD-tKNA~Cx#7h>*Jm&L| zD&S{rk0NEjhUd%F>xFaT`zaqbfr!!}PEtOLJwjP?kFc*Is4TN^-V0g8ntOyJ$~>Jm g_U4ZQFM1IA2U@ZaPb1s29smFU07*qoM6N<$fj)Bpeg diff --git a/graphics/pokemon/feebas/icon.png b/graphics/pokemon/feebas/icon.png index e7087c8dc46af983ae3b6c46791b4df28b0d720f..40a1b4e575347d1dee1e3f7c3592a38c43119a39 100644 GIT binary patch delta 268 zcmV+n0rURC0^O{0y!}L+a>z| z0072GL_t(I%hi%S4#F@DMsow-grOJdLe_SuNETEUh__q^iK8HHfoQi738F5DP$`JG zo)JG^wkO$<{5>IlDsg<1gjh2mIj9)8asZWQK#so<27|!}WPfTv)FxyA+Gv9zkAOmF zaGk-R?5x+Dnyj!zuWd;{b9A~TJFvMp)skO~ExPuU!R=sOC!KuF+;>~In9F=4SnkzI zmh^(^9K+-Q(F^e6FY`GaKrkIh*-st(S9BolCml%pNe9w?(xGNLM9*}1V;+5Lku6_8 SxOo5o002ovP6b4+LSTZr8gCx} delta 234 zcmVT22V1La?L_t(Ijn$Gd4#F@DMSBC^grOH{9l&+RFOYXIVuw%Qcxt|o&qSk1PDKcF&H!wu&x17 zX%_$}tu(sO0urspT>yhLi&pJR_Jqk>WtI$77prRa23Eb5HDjBiP2SYk03K&!8)3z# z=XpHX^-6>t!R92lA`I~xls9tG0;tO%S-`*4d^!NXk2O{0y#5h(sV%p00SFIL_t(o!|j$aZ__{&fMY|2 z*m6CqNS&;U(^O${&g#Ns=Sf|oBBv5!X^}5;BVtQkS=zF})R9hL_yGw10q~=EcTS7( zJtqtu7;;0F_vPLB`TXA3>1@`$FSaJ`%I-QKTn+SU0Hcxx{C{o_CP!8{?F8{Hz$5|e zr3h4eI5J|14a^3wxd9&Xhyej)YE~V>lME<8O_c#083KU6HE93?mE{KD(mN~)KldBJ zmdex#o)Qy0$yJuBCg4u9sRp=Yxmrxs%mNlFJ(IwAs1znsSrfoRsFSe_B?8%0sUzz# z201t0tRzUAj9QhQ$DnFy`_axAHihrRmI{vjM<*QSo4#V=Jj$hp9 zYK*8#?O&DURe96XKtg_f;_amn0fbxv4RnH}8$iqhfR4{&iSW{~>cgM` zeY~;U28iiq;*2#AjR3Y=noMA>T>wc-H*#YRz(XPYwl)-S4|<~&eJYSbB%a?6I3oxA zRltLhD}S711;8=piWO%Nn}M`hn{}_tStBr=UfBJ2gTZ`^XdQnn$zeFbEdbl&l5k8X zvxYnHTZQp(crqI}jH^xX{~`05&3r4J9TsqU4;I*`F&D zw=JlcnF2;;i;R#QF|YK283Rd)b}W{Dkt=HU*9_!vkk27J4@RPB#5~o)TG5gVvc(p(B(!w>Eah+ zfJ#%U9Ntne^cMa~!Js{w% z_~*ekbq`dkJ7vv4GFlV9>MDi4(*#fB^vwrf+Pq_Ux0LPps z*7UG0w||XoY~%04-5@YdJKR9DR}{y!pUD6gmgF*=;1+<-^Q(_}BRS3TvIPG1r6n<*nxGx%5@;Z(DE3=@pc2%BsEGx3QBiVhb{{BX zLHeoJvtOM)sZ3rE#pWChWa8$4r+(qKYtcLn;`}(O3sCu{h2a(+k*0uIl#y) zkrI+4#-%PuxucV z5n{b$An$R$5|@0%K;SsFORN|OerJ|y%?u=nxgnH&8l{269M?Fej~n%*iN6p7T($_n zpGpdbUV_Rm1cUaZCBdk1l(}Hk0;OOC_AhI`3lt0y1+^Ar1f%5(DeI=ZTl#~jwScWZ b{LlCU83PXc90r^QpK~zY`?bVT+9)HAr z02KT7PIj_&O4Kb=2o|F8CD(5YzBOE*c znlqNOK!LklfjR<5Si_9Tr2)I`0e>6;;K~3wt3daVVE{{6-?bygcRNU1;K&XQ2sPO6 zd?kV&*i{<8FB;6K}Mk2q&0{+Hvq3B zs0U4DhfNIv(hX4quh|SdqQwCCcv;c`ZUTo_kq%h5pz3|y@$v)UEa$p|27f^hTpY@* zHv-J800gYOO*?R91&|BQSed07;5LNDJsBflr3-3=&81aGa6qy3p;JDz)p)AUk z0xkqYz{{Ir8#N#TN`6_O;``)g>(=#+5A^iX2T{TAW1itp63gF@LY$r-Oh9>tFG#MB z$44Q=pY!=V01#&w{za(z*=iUw`c`B>5x`fW#H$JF%RvJnUY{*MO>p}CX6^&Dt4$EW z2jGp21Nzj|e_C5jBK<8r;Xb^FcD)0{2X__@AJuJ-z{T4k7<-sE5p?3=4MRWw+eX%3 XQ5gIZOXGHq00000NkvXXu0mjfs`u>9 delta 539 zcmV+$0_6Rc1)c?vBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tG0ryEnK~zY` z?bDHw9)AQM0L8w&lbvjx5_QWIdCU~`zFgnIaoinLSvuy)1Ni;;-{S!CS^u}(sc|}) zTK!3~(*K%x*8^Y(FBt*JNpQQ)0d0)N1j0rIK_wT1`-Sc?9x8!^7yLD~UF ztk8l`f&I>xBGACDR)7@|fCQdcp#iZ4paqK#giHa4?FC51{m&O-1z46LGr$}~1e#6S zfS54@uv&m-&{V9jX+S{wAsXPdn}J8P7yutHOM1Xe;IKMU0qYLb+T)Iw9{^`LS1TwG zXn)}1P-fZ)FtY*>ROM~jgDWe5T(GJtvs3}xhEVV0ed5C@U63PeF0DR-1B$H=ZPC!` zJGgO&vM5&)xDX5hD{qQz)Pe{o`DKBc?US3W+w?a+(9??!qJrJWEW=L{+ux6zpPnB~ zKv{-ANUo2^N6z`5^Z7gg5N8^NRpDjR5aQgjb z?gMnyCGg+_@J7Y~eQNtZt*s`JdP+~Y5AUJf?*Z|_orPpj-5P<5uR}mas*Ru%4__Ec dKFcmb{sK`L{1RHUSrz~Q002ovPDHLkV1ljc?&<&l diff --git a/graphics/pokemon/fennekin/icon.png b/graphics/pokemon/fennekin/icon.png index 65bd1ee7d833ed1fcdedd81ae295f0800deecdf5..8d2ded26debf68f2b44a69a83471763edb0678d0 100644 GIT binary patch delta 233 zcmVO{0y#P!4$S2M z006y7L_t(I%aLatf7TmH*VD$P96Uf1<86F_|KRw9_^rZXEt>*NGa$BYGAIZVkiJC; z?vg-gF*^TX;Q9i8;~AZGAs`C@aN$lVWCVb7$5JB00000NkvXXu0mjfA#q;0 delta 197 zcmV;$06PEL0=5E>UWJzg50i^QHjP z43KP_lxGMDaNBwg=8}MGeK7Vx!1V?8Ml(8Xobx0Ez_>f6kP!gR9Z3x^faoD!k3WyQ z!(I^}gsnOabv%Ni8kDX{UmT={?8&2Q0tH<59=%gY2cR()Y1%;nTkPE^ zy`<9iMsO9NKBOS1O^RHKz%lQFQK(m;E#mfO^d!MY=Rlz^;j5r$=*%u9krb`;P&$8c zG0v%02XuYU-N6s1`);=m z==z*{rVLdN_}t^%)XwUGXFq?<#f^W(!v?jxJG+~JAN@J9I6rV1yKoOGA(-Yf9#8Ku zi->U^x`$<;nd1L)xceKwbDx09JoHj7pO+o{*2lkxRUqQPBR~3h@_?<8->(AJfIF5q z{BAaxQlJnjDQJSTm%mMi6MQH{FRcQ4G?`|TEC>223!$=Doyqb+AiCncE3bb-oT%pe zxlA%jeIAtworwFz!j{90uGoNwl{EfY-~&QM=%q;&kOYVU%~X7prm0m1noRQmgam{* zV!hNlFD+ItWqoD~>Y*=y1(CQX zuXs2fIm4ll)6g;r(7z2p4Ht7uKZGz0hrsEGX|1ljM_{ay!R_v+A83Dw)XrnT8)4tX zmvyrY@XLuDsOaD^hV|y89{g9-p2_pWJL1qSo-j=Daw^*=3J8MOb@x`cUGs|Za4Oq# zAhr{?a0HKViQ~z`jP|}yOO|+vfQxkxN7o_{*;MXrD+< z09wK2o+aR&1QvE8(rbTV+aL;n79bGg@x#q;$FzIseYGa)!9^9~D>@x>TgH}vS2!0k z;C!)|ed>rfNU$G~K=}mIrkKs>Wf9vVPAW&-qkR#}-79;qG~?Nj8`Fe9zF$aRwFg3N zZQPgurj9+70z7*=O6bt7vcfne!WoHQ@Frh(YYRN&1pr_)@``_B!iz)%#SqkSu}@n> zzy37dQbY9-j9?p}Ii_R6Hb7r(=Ku3a*lYU7c*+6rCQ7IsE2B{hS$)6%S~J?GjlFie z7QoGZ-e|iYG*Zr~<@C*a+o((Wfvv$Vq1MGut zFuE0tb}g_A;l!eX*Jy7}W^;_d_;PZ`BlInr?M6A*=Iwz2A5XA+N9X8CI}PLPd1Vv_ zU^p2SUvdy!vx=|jkGq&;rs{ii(b{k&2P5phpz=+Y5^aC3sWUbl_-leW_`Ku8=9)et zFw6+xQOZ)N2GH+tltU#5Z?1Z&?^SLP{Z6KMKgZhH^LtlVeaeRLeFktcSv-;;Ff@#) zYzR%(e?flmXbWW!tZWE)CW06Vu&Mqtyv?N{oL8zd)^An+6Y!)VnAPfRi$EF%-iBld z;YM{<0zrQUQ8t8CbVZi^Sg%4}olQLtpbTL>O{?mh11eCl5-h8; zrQAUpLRhq*{KE4TpbWt*USjGq3ze5DL(ulBN0?kmbs-I517LjlC_||JilJ)z2Zf*^ zm_`Mla;)q?YB3M@_h2i)5BGMfJzR3B*Ow1<0F!@!Y|nf(k!}$nd*B(pihiJgxU}ub z9{Qx^v$Z~y0kVga>E*1b4@E%Q!#kzkOMU2g#Zx14IUsq?^`Qhvdk|SB(%+cd`f4f)}$-6e%dlOVJ*rUMR~j z>+MqkwSde7q`}tOgDxjfFZ;uWJlHs~59AMnmw()DDet;7bcV;< l>c2k3udRZBWBqSV@GlFlH1zB++|vL6002ovPDHLkV1o3H6xaX& delta 1625 zcmV-f2B!I@4VVp(7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1{O&~K~!jg-C60< z+As`EP!y36c>l+(E?{^m-Sz4y4KIX>vcgOsI-w2k+Zzjx-RR556Fv=PY=lEilXx zE}SMVWq^-C6K8A)M$yq2Ja)Xsb75p(20OUhx~?r@8fvC69Y3tKLQhx#%tRd z%ai*E4C3H`fK5O_=)~_60cn86iY^1bFXIRXpjv@ApeWIw&yfXD@OD6Y43NM)fbwZIg9X7LbQ>0!z{SNC>>f&f#dOkaJ700itbx3XXLYY^ZSEevp=hhvZ1uWd`|Y z>*`MkI22+W0Hk7dJZzd}nUu4f7!rc&1PjD+19+C{g2y$aXjj~NxDt2(kC>1(&E^CgbZ3|=6^AA+nZ^kY z&(Ilv0qM?Z-1p$emOwJ{5#R|=nk;nLvE~31$adn_kzWsQuslJ0sQI9a36OSO>4NQM zQWHu7%ZZc-ime$<2n1|GB#;CzW+`3>C}xg^3G&}=f~WX6rTSl<+lvXFQsEQthyy4Y zopDw3V@hn!z-wWLUEa`~v4dNK8wZBWa0r@z;`GK1_4ubKr2LSj+05_m4Q=}{3lb!A znsLkF;#|hyr`2+eJJ4p}@^stm`dO=Ca%)-?AaL6BLc(e};}>?z4Z$$S)(){19C~#& zoX9h4m4GeaLXP&m8_M?3J3wB4OTY|ZufJ}s_165cG5;5Xq#%la&9__bFtp$y3~+CM z{^r|6avf{Ap|FRxt@HBWai730kjeVpSy=A&t%1RcK1?0s&92k%J4(}{MtHyXC4Prl z&Q!b$zr$-%oxutUJ=NB8-o{U|j38?UTH(B2T&FHy?gb=Wb=cRHTi8vmQC`C@IAB-2 z#(^t4urPcfZlSpVR;9|uOkucX2v`t*Gz?Z=g<3%N)O`Y33DB!O^lG-T#~$op1UpE5 zrVMD)#|_=}1Z69U0lW3UhwjNK3OTc$t)3-3^(;ofcDxgV?P@z(eNhZPjJF^r0^8NR zr5-~;h!2uk0FD=eAcVBayOLm6^En3504*K0t-5itK41h}X29yrJ2ze<8G&1WcwfXI zLl~Y6|HQ_{TM%RcXlL&Az;M@R%Rkf+iSJo&3RPd(;xKI#WL+FVB zmj<{DpMKL50WJ+NK-T{o9y1Yt;1a=01DvkNh_}yB7a=MQa6ypU(yR`&zbBVL&DVa7r9qlu;1M7?KDuB)}3HLLWtd(XR|y>-{`&C{O&& zp^q<{|ETK#qZ+CiZ{9Hn@m z`gE(I38$T!>Vv8WJp#)@XZ7Kt9yCJ`GfAmFoYjMxB4;KM1rs|QVjq#cy%!&yCO z6Xe>#C#erdrWvRV)oBdR+JWKCt)L!swed_lNa{oIYuJ2Gt{sHD9MuP(f7tz>wS!zH zg|U24(GI-b_inuJK}$P0$g2_P=m%r%UF9n1@ XtNmh={Qxt_00000NkvXXu0mjfg#+}J diff --git a/graphics/pokemon/feraligatr/back.png b/graphics/pokemon/feraligatr/back.png index a4f0255185769bfe7ea111c42c41218bffe24d17..d2d9c46e4185138f4d8542c8df69229646644310 100644 GIT binary patch delta 681 zcmV;a0#^N=295@hB#}W-e*gz`Nliru=LQD?It7D8vKs&Z0&z)1K~zY`rIWFan?MkT zv5>Nc&{fyHcA;GuO9%xGnVg`2c@)wMCtklBUB zyIjDEJQ8l^^ZftJ&KSo3hjk@yIyVEZbt@2F(J<*%;EKk8hCRT*e==sY&jb!(M*B=) zj|iZK)d@HP7)-i=sfz%0-gN_^!vWd_7&dinN|)UL?}5^uMz{kWq1OwnX8piwzMXXd z!>^bh%^6EQ{Q+dmQ%djRf-$B6j@)LmNa-CUz~XtN?T}StCZsFK0U-FkeX~Ox2mlDC zAzK{O64ee3T+a~Me}4gdMeOhbz{BB3sy;x7CG5~L6A5HbKbf~)U#8fjvOM$o4W{cY-e%G{6G_P;Ao+!1p9HHm5-Oo`m-j`1I$r z*pn|LYWl>#^H-Dw%CcPSU!RDl0OFY;7ma@7z^U|OqXjJee+?4~2zSb`mI6 zfY_A+?t$=ds`9UOdSsDm6X$h4FLmI^2Ts z0BVeDfIIO4G>svk27%gS#`D@3@TO6NfNay}ou(}yw+S?Z;*(&J4!|sFDpZq5TY${Q z=!Nh}uSvOgJbCm}Yhrf-Q6`1k(>7NVoJYJO%LDN9b;#TL&*) zlPPPhXULHhB}%AdAUQx@?lb@YejcqilyjwTPu>l9&U*oRMZ;!Sfh!sVMtgvPW6fEg z2@GM*`b^-A2%v`32}~q^Fqn1$cOC+4@}V1`69KR;z;c=AGPddl#0-q}3?dweqO)FL zJ?{tBi`~2f7=Fk8Xu)}60(b$s771fFQO-GU0Ln6^Yv&2Off#tS2o1oN_bV_Pk~L%i z5d7SkfSg(Y0RX`^q|2jugxaBjH?w5-e}GsKm(~E>AAco=hD-5(2$wo`tbz3LH=k`b zbvoVzfvF7@;QRS*%fkww-k32HH~{3F?CN~IDc)dE0rv<%zDsIA>X(8(9jqHY7i(*rlQ}70pB!g5YS`#V$!4qWG;a!D3JsY zn*hw?>I9WU(gJihLN7!lku^=$l@cIgcOyfCK!d<>_xKw&axjaaTtN-fF7O$3()`o002ovPDHLkV1n*HGfe;h diff --git a/graphics/pokemon/feraligatr/icon.png b/graphics/pokemon/feraligatr/icon.png index 74aca6aea47a50f18c8729bcb8e37dec026c5b5b..cb699e05c744ba4261c8b5809c080ea9c549757d 100644 GIT binary patch delta 432 zcmV;h0Z;zy1NZ}w7zqRe0001qplF?uE&YuLG5|oTI&U69VWUvcX9SNaR%@_6G&cn?0kB;b8^|4gtN} zC66qS{+agO=+=W<7VH$@S2u)8d2bbcJ23ZaEy#c=j0X+I2CmM|7vvP(=!2)qt$_ zF2f5KYOlTYhCTG+h+8k88C>-&HFQv?BMpNR9(q_{HZ-W4x}1)IuBLjIbqxo)5g=xw zxa+p9%3Jq{6>R~35xy#G8fqgvgN>LtpD6V$BoeysC~h_S#f=Vx z%$K>G59;-(KnIIOpOnpo4O!N%!>zqwjDpRW1~0AQu*D=?1{X*K_ZCJNEDSLTXYoEw zI+((-6YcdSHp9Jow(7q+_<{vkshe}mfg{t8lgb`4`Njc%;a=xIL4V?ZW&Hyr4L=2t z`oT{C5`;Mb@y^fne5XV8}0lXmll#(TKb1C?+&&8!V9UI(QW{jNR2CJ3BM%&io9cx86EzaAna}@ zL+J7Dr5nRa@&Ze`kbaYe<8z9;uTH9*=}%TL1$znrYepbMTH9V-0eq(g_J;&)IZbQz z%p{=zMiS4M3qcm#+$6AYAU!UmB%^ru>wpnLs+LSC)GM^M+|p^Nmw8>q^IAbfr=dRI z-VYbI_gL>e8GnLaef%`UZ=5BRz3ULKKl@+Q4cEkmcE;EQlzr;!BfdjCt-# zGSBFUi;!em???}ZrT>}}k=I2Z>Wd{>(|>DHwfpClrYkwYok^oORJ6d_iNpEgW6#_; zyPV;wnCVAOFrMl8zASb=_beQY0tF*Z-~||`4n30-_*MbQth<7xX=S#-Sa%j5E| z^oOegt8c=+_4fbbL6-@{gU&O;Jbv&E!D~VsH*2xwyUZO5lJ%Gtn8L7@CC;4S#5LM{ zdKs(knrqeashKCC%i)1JP8tW&VMRU2MI?xDrp^L)sex2c6}v)#sl%b-M{s+1BnMRZvjRYI5-J~Rp!v}!Lr2J zw=ao2qhSLNnT~EyP;}#g-uwRy4_ZKA@!-M^=MFrW=>Rj(yBh`%%n43@bTP`gE9X5n zRXmSMpW};@%<+g5#}8s)+K30W!E?0{SoCe|@fo1EH~S6vgUwp60liZI0000~1DrHeuKPa_E4O0u?s0YlOpj)-VKj2mnjQAVgBR zK~(}g(gyb`23HP~NRW&g^;K@GYa(rwdQNO z4fQ;&%E`1+5YcU@&(}BY+4T+1drOv}7au>h@z+gb%3$BGVC|bm+Ym*B!M$3+q79H{ z>8!|!DxLg`>3?#9eQpY}&uEW9h*PaMWCqL8f8CkutwC9zpO%`QF4!!ZXrNR(TQF)GITjx%(}db%z04f9Rf(!(my(BTY0h;{0IU~`6^okvmh zoxfRVaf*x9V>V&Y5_lMveZF-UAO#Ngy7ae1Aqio80y+dTZ7OTsKR>EIp$U z8scS_HrT>)<^}GY@QFTc%WQaDtNxP7@5+0#Px?NG2X;3$38c^AfrU#k+0SM6PzjIB zu)?jWAjD4b51G)#>i70f_B7_G=U0QG8-2xtn4=sO*9p>c&)`8FUkIS_KzyjruY+_) z;(^R+fPIlUE>6PX6d4#km>0PFwgu5=)Hd*t>gW;;)S%wrf!@;m@E&+j0|JW&M|L=z zz=N?4u>-xiWbnWq;O55^o$Qe@1b1eNhYmF*Be(k`GknAo#}A@qyNCys#dEb4I`r50 eMhzbP-}(jkgUwpTRzfxa00000<1`(IG&5j(25R*cB9GE|BAniLd z#8oW7k&6a^(m;#4UK3R|#6%JD8Bp8+xFi!;a=_$0VM<-|fpqeHxDk^|F&^GPKNABO z;)6dr%{XiYu#y;Je+d2wI0}$jCZhNmV07A)!_(Fx{9C7ErWfb>X>wY6?0+e+SjtupT=FGysYHBh_%dH zBk3;X#e#p;m<(c?^B24BMc)#EYnWu75_w!y8rTt;_p+;hKP0)1m9(k>V@9u%4rwH( zOC?Q0vi_i=4TIW%G~s#RGyp%P;_~*g{g?F(+69}zV$sm*00000NkvXXu0mjfRYupH delta 467 zcmV;^0WAKo1iS>0BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0hLKaK~zY` z?UTW3!axv)BSP_L6yrHl@NR=ij|CUvRq8bKW)hscm~^D49t!pad<5UKvx%kcZi095 zKS=QZcIKbS#<}T=wZ7or`Imsn1t5cdtLN6h`ut>TK+*xgchZ&|9*_X@pp&%#T>$!w zF&V&p3y{I2M109$>=HG9h5$muCBS$9jnjscjRrEGTZZk75fx$(@!pQvks}deQb>&> z^M?(jeP@QaiUl}v(Ev~yXjAJoQF}XpM-lQFP}~5xBpq1xfXREpl)B~%>Eva&k&sF; z9^XK}69X9HgFmW!9Jc~kn;2pUehr)iNUac2{0uOvC*?4;S2*A zLKjjQLLqa*s(N}&L6uT`URXf4_*ta(Rs3X58I*;p)}-sJmY`RN%vEV=Q$RMUUf3fTS_*)`yjgZV!qA?c-4eW@_d)d{0l3d4wl&S!u zNADmN(nwD4l@tjs$@)OW8wOPXDZ=x>X#jqu;)Y9i)78syz5&_=o533hFl+z-002ov JPDHLkV1m}h+1UU9 diff --git a/graphics/pokemon/ferroseed/icon.png b/graphics/pokemon/ferroseed/icon.png index 7baa4a45cc575851794e5d20769ad0f126eb80f1..700920c5d839689ca41f6b081659cd2b4355aba7 100644 GIT binary patch delta 255 zcmVO{0y-4w^^)lT z006p4L_t(I%jJ@<4#GeThwlxVmS7MpEqKDhdn_YhFgzOqy=R)hj@@Om9Cd3E7=nSi ze)p$oeqRW`SMb`8+4pHDjzBGZwjiz$sW%{P4`STPj6sx zY_41wz;xQ%Cm}MTof3v5f)-@xa^<%h`uu+Vf3MGVNHZjMI+W|$1_h`(h|5-WSl%Wu z61ONO?2Mvi3{o95Y^y_39o*QcHwFu!dfdT*-kpD6hbIswK*HD2z0&{y002ovPDHLk FV1f&WY4iX9 delta 218 zcmV<0044v|0-V1K>8BeyKU3Y?`2U{Ib%--0b~@zi z$}S2}br82()nR#^z)0Mnm}MsvjWI}d&}Ca4qUzw<_IhKm0LuFf9O&Hn6NPW)0T3oY U!eB8uUjP6A07*qoM6N<$f_=L64g_6vqh&%{d{8)SJaHVWho;nBlw-$~i@4;0h$K*9vV4=aEpX z-A~YK=eV~$RqB_kZDas>O6haPhL>q!sjpd zp8$3YmhfOrI>z121^X#u7qU*ewHMq^H$gMdL-TUK@J$0e=C;8t& z`jBb-QZ6yX$G)|Q`=8GKp=$fmilli$R zqL5Zt0(g);<1UDS0i>O(RsfLw_l&VK#TYLjFMs7$EOW@de0_&8_roq<34X_*E2saE zM`*tNLC>rZKm;_GF1sfQK=UsJcCdi8xP(PR>>g->&EH>J$id%9fa>GLhAsmi$ng>A z$y>_Xm~Sv<0Hi7H$YO^jV6q7fT7^7frJBPmGG)aGO-4klB>*`#S8^T9l^OcDH^+B3 z=YI`%oG_$OsLeOV%sdCynoEgrPCxGGZ;qFXx{b9Nz5*y}=+AB)q&cqxbS^#KwATQ| z3Y5!cp`QS%@@v@j{&2lNj9w3h_Xkn^RW7XT{;+*f|9U9y_gvkE_Xj3Y_0Pne)R)Cw zk55Fe-MXyZu_(<+V_uTxB)Kfjw14p>X*AYJdlp}i=ImUVC21Z}UQwErt2AGw`6|u7 dp)~&=?K|^rvyzCDiWC3<002ovPDHLkV1gug&^7=7 delta 941 zcmV;e15*5q2>u6L-6&&>|2w&z}GeGvI(l^sX1!iADTTE>HJbmQd_M>)vs;mo;h|lbds+}w!vo8XKB!YFY zTNLhw459iSPXaJfTu$82dy0o!-`!~^yRNK0@w6WTS_f2vd5#1ajo3e{uO)zb2#{<) zY(~ssKTANX0$Ot(5)VC)TmX_Z?SOcA>vT_pN%4?qdVgTBd4f=zOr^Dv_|oXZxvQO8 z5xiV-{sWh1;9hGMWIw!0r-%8rk#jM0hE<$%Pm0m*Jn!IDW!A)d8sU7v&td+ zS^`_qf$Wk@L5pZ+rdyQ}8|0{7nKZu+E_xa)4@nCp&qR zmw5)Ohvxn)+--P%;3hQ?xo+<4AL6RH8}Wtcz1vW|JC?0EX+|%Zp*1JTzgsgtzu3AC z2x~T2JJOe|IU75(V$D~aSGMMH{%*}8?k3jU$K9G`;O5l#8sEs@<92)n^KG+|3!t2^ P00000NkvXXu0mjfn~K!q diff --git a/graphics/pokemon/ferrothorn/back.png b/graphics/pokemon/ferrothorn/back.png index f48d4e31b979a9cce11c63e393145ade6a9287b9..5c17099d29b8971c309163e3fc675c44b84e5565 100644 GIT binary patch delta 608 zcmV-m0-ycU1;z!CB#}W-e*gz`Nliru=LQD?IvaUPk9Yt80x3yEK~zY`?bN-G+AtIV zaASnJ5)_z;&rUj)Bg#(lE;C2thLw=IdnC)ur=q(*yU+Q61S#rTRp$Yu_^0=k2ZVf{ zf9g#C2KYDpSdU&a3J9jfDDXYlZsy});-6hmrv=PMfXB-aB2|PVe}HB@-6T)oN6X>G zqWuAxCkIB^#DY$WevyxPXf`;8<=49i37f8 zg)q_r*r@z^0|l9^O2^+iD5=r4*vZRn*c0Wg6sC2;K@JUdtj#^#JZkiLT0&X z50*gZ9bh;b4(tVie{Sy&5?@OLzAM+~AtYPK*I0wJF*M8d^jS3^+X7GO(k-agOd82( z<@r%*7lX`x+X_OwUz$CkSelUd;Vl$DIri<{fz-`(1A~zecy8(tdYWBT89Q}=T(Wo}pl1OkTFJbBu&6u~vKlfwzE>(@bMe+@`DgkFJw*0aOjShq9? zf(+Y+SQV?Y%_-~A+_ox5@M_cYv`7FSR0fA5?+b#(N{w4#yG!lj;AD*K{Zax=w2|%| z1X@Vb142`biDI_^^+7Q-0 uKfXVJ*_#|B9oE=wP0yR^^UwYNJAVMRrmP2RByZdR0000D zg9&DzxDfhQ1V&f@Yb7u5pd^!J<%Sy`+Te1;?Sf#lLgTHl)8+Q!;AV{I zy(y6<+6eCkA{_|R1A(TP6UBB8>dAtD$UdNEAK9X|3LFqHTec76jz-wFc*gNxy1r`C zi|9fcf%9K84?%FoW!uqfb{+mO0Q77K4G=_i2fn=R$$bq*Opn)Vbp^ve40_%LV$T9L z2FTaCxi*A#zaL)jfb${-MTb2$U6}sM>zEJVGyeA=002ovPDHLk FV1mI%9dZBw diff --git a/graphics/pokemon/ferrothorn/icon.png b/graphics/pokemon/ferrothorn/icon.png index e634841b32e9085c796ccd51cb6ed0601d1e6bee..58f005be2d5f2f1e46a07abc88e7e3f7beb78b2e 100644 GIT binary patch delta 327 zcmV-N0l5C21H=Q6UoZd(a7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld`DekV&| z0003eNklhaI{Y+pXc&Ts*#I2dFbeTSNaFQKt`Fcmw_ zB_w4_;-P0S1t7_Y&0&wqaB|Hm2FDr^OHsR$L9wrbU#%q`cx89AjP7;?UUQk@cnp|^ z^!?9cfjMt%3wWtt;bMFFmZa$J0iEn2*EjFmY@gYlu;wMx`G4y9DczOs5IuGR#3cDd zHMl*tlSvWt6&u2Pp(N7kG_V&?)b;U5zQt`E7}>;u=9@SGEEjWLj`?gC5G}z-wE*LN z1Te4!Gy4c&jQ0`1%s#pRCinE6o4cvHitbb%gHyZ7#wRvEJf{0jACB}zgkN?@XDQN z8Qtv)yyh~);To_F>HD9@0(0KD7VuKP!o~LTElJV813KA5u5aGA**O{0y-m6NH^vH00JpVL_t(o!|j$aYui8+fG-># z1Bu;^8T4>KE*Q*RYv_e8iGF}Eq)VqFtV~&*J)6dAC_Xx8k;qbGLVf55WK$9-gy8?u zI~g+Ry_*W9=nY!l=l7n@r@N1_F81Ds z4ouT{ZwLXJ@1={Fp8}vW^ez^$fb5z8uI3`tc|ZUOjP#NQGOdsCA^m^=t(PdkK3_N> zk4YfY*R24bG(7}_NC$Oe895aIfBd_J!o- zsxV(HAVwMk%6|r!BQ2QPxDFPWA?v7=D_|D$9h`GdHbERkaZghbDKzz3R zhtWA46Nk%3n-5|N$l)!OXT9_D?hNmui@z27wWNXH34d|~y#nuPU_bQ%gXkUIVQ>m$ zg$H}7d4MnS$hRuR?1Y)A5g&h!%O22C{Q*)5@JJcTn7ta>ty}m#ohkN zmSO%-HCB3XS$q6pI-&g`fiv141bX|w`oqxU4^lGHAC4F!fagbiH|_l4aZLNeCt^G9 r{9)|#hnn_>qnbQhw%hKE|IgzO^cfK{%0>BU00000NkvXXu0mjfTX+#^ delta 604 zcmV-i0;B!L1;quBbbkUnNklBjE6vq_~kA}o<#|(a?AQuYe)EauBOQH`T z0_oDJ2rE-pch9D=8j6q3StPR5m{1@30Nv6Q3MJ&b^xZk~r2lE?Qi|W8<^A-3kEc7m ze-P~ApN)f#{2uM|!$S$01i_Pd9|D6B3&e2(0huK%Kp2>2$$#DvjbOf)%@c7#1bgUR z%o9oZr3d&plc6qP4F*yg>xCc4wSI=1>;@!hy?{XQ_QC=M9+U-gec1|#iK`(g1Qpa3 zGtpEM5dc;~U74lfe0zm*rOK5thQjt9MYU3fft#;k`yfTNEX_Lx0{WHb+KMkm7vL;y;x*?-Sb%|op8E1Z z@BG}C-o-9<@i)=G1^DB`b?Pm4^yxY4JI)HIkiO}0*@RMi(0OubpKwu8)+WLn`VxSi4+W7}ip{!L| zTmO)^D~PIArnde80_-2|oqvEp<$yFqO|ESP2GE??Kiu2xpFXtbd9&8e9((`-TmLXc z_TbS!q*Vm$LE|4J-2PktfVO|*A0lwO8~Yzr-K(84)r{eEk>z00001sR1*Zj&B#}W-e*gz`Nliru=LQD?Iwm0^!)X8j0t!h)K~zY`?UXTV<1iG* zT{;V54qQ5T@Ec5SC>R7en&9tJdyu)o%MB5MX6e?o!=)NBb#o{bIyLtt92;B;r|)u4 zvfYzJ^8pHd5E1+R^nd@n=*jcG;xon}IG*!;&m(y}IhH@kA@B%5e{>8WIm8oOz>r8S zqEovY0H&X4f_wIfBLS1K2AS^?@6-VRAXCegdRSC{ymtQJ0x_1*CJ5bEPwnEt@c<=E z?|YXm-9NT;XVz$7`g;bq;wI_=N?Tglz^!ONh`ZjU227VEm?qbX@ zb~eCWU|v0a1pF%3V~y(31+Wi%$@dVsO;b>r8T1S|DcHb%MDM|g}7326apn9OsF*%AwtLx~K}ab_L-fHP$z z^?RU+Agis}FRQt@S8oH}3tz!b7oS_4~Bf?j0g)Y*zR_YH{+xMI&YMpZ~hlKVkd>TrUV8G{2#G P00000NkvXXu0mjf_pJle delta 585 zcmV-P0=E691+fK?BpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0t!h)K~zY` z?UcQ0<3JRJC!`**SePY+3f)3@i-2Ij%i8E&Rw_npp=JvYhINxJZHjfKaFtFb5ZEf- zm(UL=1a{sfcl5)KCh-FVa=?Q}_nUK%FB+2%y-QW>bj|Y!p=mffRXUC0;tA23(=~wTc09s=GsnoWfZ5oCE)NkocK`rL%<|oAR>fb^Ebm+(#1>r$%8$iE zv$}IKKo0ZUK4rs?_YFVTJ!+W$Ucj}w3VML^h8I)dTGgP`O`oy@?39$vm8$V`8%Bdg z!u*2;2h*ye3p8!_~QU9R1$$iZgzu-HHd|jvQDJ| zL~@~&M&#?>0@_TNN$2=2 zM<#Xu3Mk9g2#8OZw(PEAG6ir_ewD4okPB~n=>SxhI4pl8+}2@4UQ6rfKTkgN-bBa? XTrUV8bY#oj00000NkvXXu0mjf6SWS0 diff --git a/graphics/pokemon/finneon/icon.png b/graphics/pokemon/finneon/icon.png index 3aa99089367dac6f176bc6b6d56f506c16ecae9a..d6bd133792e832c65ed6c2e4bc9439b0b0bd9f5a 100644 GIT binary patch delta 285 zcmV+&0pkA90`vlqV1Eg4NLh0L04^f{04^f|c%?sf00007bV*G`2j>O{0y-)vl#fCH z007rXL_t(I%k7e}3c@fDhVur;?UKH(xcDBi=q_E{q=xnxikpP=x|LFTrb2UV7jY2; zZ~Vxg@aI0Iet%#MS^{2yrd%Yp`@Wp#VSBWiCNL1g?r3ct0e>eWI7}JvRYIN1jR5pX z8vsS1E7bOu%B2N(RJ(0Nr@jm2y>Qg j4*n$!eJTupQx=#f;>e~Xgz#h^00000NkvXXu0mjfnPhs! delta 248 zcmVmPRP0_{x)mGjGf1}* zV%#K%*H|#8cIi|o^u~`|LhgPce!pM~y#v}ncUyJrvw;C7D717ljE*2Jv~D9%GQnZ) z0ox?bn@TaDP5J;Xf^1OgYtEN8h!3OVvw(;;H+%q4N>vYvJ8|UQml;$MI^~UZg8$}~ zt@ZL}U@o+C3lKzNJ&S+67YJGnP4t^72G9&{3XD0&ct9(FQlsm*{T8|aRmpJ}F@VY$ yI@$I{9pj~AV?$t0yv@ouQNNCaM(1|B@k44IWM@eTd zS)9a|R!M;Zbxgs?kfER?Mq>t(>QopqbJEtLh<)jxB2c0qTebrJH@X#R|AM0LC_8_E z#CtMOWb{E3@1u7=-n;kxYTC_M94mLOnJ2cUnMGw<118bn-Ee! zSFlN;Kq{ng7YB+3ViTu?t>C!Ct`vyl?J0p(Sl%Idk60KW4*?Ldt*R2xuYg^;qXZs# z#P(p`+I@-u4Vr%mQ8tbO^*Qy%c1M4>#Hoob^(M6^UkMSre#r9(V0;ec*Z#WrbN&oND5i8c)p81am5fT_^0#rXifES9DYM{qp&?S#A!(T#pK;k5b#t+MHq z$p8w#XojLx2813gKU6Y4D)CGjyOxYeqB*^x#Nyp0U#duhpM8D!YJZU zm@!8xzjX`;_(lRlbzP6*X~^Hh3Vfh0>m27(#-f-f$ivVMc%bPa=Urr8r}F+GodE_g zS!KGvy|=Vu-y*x$^nA8=qkA{wbNPoAbJ@H_%Ijo_e^?=;41F|z2M2$gDgZ?r19Hvq zL`EQ32J1lZ5YJLA+3->S zpiMz2?wcj%VP0+XOJ;w9_+P5O!arCQ;*>2~M(#oLX1WXFZ>l#@yaX(YWXqdrH_cPE zCtY2?v=4N11GS5GMeYFy94p-;)@mO}b3(l`>toG+e+R_B^n_!85x2uqEo!2QWOVwS z*WvjX1+>YJLQGzV99?4sz~~Lf0RxJ%Egc9Ss)1G~ty)n3w`_mrDHjZ1tC!jXss1i6 zv5eu%MZK9lkm|pkxQsoYH+)7UJqoD1RR1IHZl6A%H+)7E%ZKp-#69rq4ZnH#-Gbq3 z9lwfVFc>j^2eS-vwqW>1k<@Jo4B0HB3x>~#`tJb%dw@NRkhd9Y#i;sg2hCuq`fK_Z z5L;gYJdp1i9L6f%a@~JaA1rU_-`~5=KMZbk@BfVd092NoY2Qss3jhEB07*qoM6N<$ Ef{cUt&Hw-a delta 1060 zcmV+<1l#+83Fioq7#0Wv0001tU!Pb20004VQb$4nuFf3kks&^R1La9XK~!jg?U>z` z+d2q^BO&x-CdvE1?b#s7cGA{koOSL(yF9&^{S_fuW^=oJ;~W2u5I&Q~7(?e=0;wJZ zg#IAEK6OAGAU6TJwCQ8?0zxz?;ZL+&$Vun`vcHB(#7;dVCQcoaD0v7pR<30r(x(?N z_h5|>QgW1m-vKFqr{qY1v!xJ5B3MAm*#{{2{Xlgtg>x(H*+?##T3wdKb|P`Zzp`r| zSt3Kf)JBwZX{`m{LAVM3C}4@)8VDt4b^@B|7yfAtB`NGG!46PsE5gjdd6sV^)c_58 zy%du7CJhzO5+=#>z5fOr59Eq?d|z(r;eo{z_20;pZ1KLOYlnS|qGDLB3* z%qz*Bnt&!Y3BR4HS^q@i3BBeeJd>1TfI)QMiWZ-k1%cN&_ z5YM*(DKrsfNE!MwFTg$pli0;*E720T05?4}rs27N7M~uk^E|Wtee@=vxlak}8FuPl zB5RZLf!@;jNdJv*eB&D*hT8s%-v8F^d+Of*62scWG>l^)KO*%0czFLY%kYFYBIt%@ z25v$bt-;p!I|m4D>4??FJ1rB`qd%Dh@>u7sNrZhR+sQ~S_r3yt7~L7P6p|CL_ILnP z^xN5gH$Oms(`KWo%~?iwkUay8ENWP%zCo|{-va=lD51AD>i@}S|1E{l8EJb7`%gae zon>p$14`(hAHY`(hk&;k+rZ>0q6UQ^rZ(^X=H5@~Q|d3ls=qSI+FN&!9E2D9J`!-H zKGp234MrfDd2s&vVxG-8e9P+(~lB=I(t=)bL?Ty00ZrF8)%Nz@|$-jv#VZ! z=mZNdA^vNar{Xs}uxe)4bOg|(`2n!L)vgpV$OQsiTL;u-zS`at`khvUx2wVRX;|HN zUERCb#jyLOqoLg9zPo!K?j2T;)-!c9ltTh<_It9Li}5d;dS|Kfk<{heNr| z|0|$gaNnx6kuaBfMGyNwCqCEQJ9J@c_!5BQ`bD-8gg=2@iS_&Hd>LOO$Mli@wwq>t e;~W21{0B+mF#esQQoaBH002ovPDHK)LSTX#XZ}?H diff --git a/graphics/pokemon/flaaffy/back.png b/graphics/pokemon/flaaffy/back.png index 2ab4b4d77965fe27d1837f72453625abe94acd58..f93622ed3b5123a22976e847e7e61ad31d4ad528 100644 GIT binary patch delta 513 zcmV+c0{;E*1n2~iB#}W-e*gz`Nliru=LQD?Ix(X0My>z=0n155K~zY`-ITve!$1_r z1EnqwayibuPjuCI=--hTUa%IyAWiWPs2%(V3XY}2(f>df7m?!M(J^k0E`ozYjhEKe zcb7DE_K_S3-%sAJdl$#~pC;u&h2}Wig`HJ|1dufs0CraD04MnZe}0)>1K{2fx(x=f zTLv6zoqG%!V<1X_hQ~au=6Ay{i@+GyTE0j(x+nsSSR|7I5pV*8QXLlnk9z0~q+bE> zsB?XJWC3-edm2bApx*L`3!#Cw2{Z>GqrgpK=1{*H(j-OFvw*PIrG3Dp_h?3l41kN| z(YJx?KvEZH4^|PKe_or$5O+6L8}KPG0CjJ-8kq@l;j(Srh@&z#ggC0^Gf7AT9!&ZYSF=#Hbs32@qO2#1>!|p_5n#Fu$_OKLDbl4f+%c z%fTG*mNha&zho=oB_R6!+h?;+dK`GXjDOniD`m{>co=B6cRxFgO_dv+x=p2qsMKt# z#9UU!)McOgU0<5Og+3x_VmfK6R{jylqBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0m(^3K~zY` z-PAEl!$1@V@PMR?gItbt?-N}$9{M>F%PUq9EMkfupzYunC^$-oqu)Rm7m?!U=omLg z7s0_n4`cm(o4y|`;GS8C%Y%CKRK(7PbD56@-vB%P%@;pO%3jqpg#Yh$R6nZT3qb zq%-ucbyNdnyEi!7W56eQXhFh&e;kr2lm+K5=v=o11(%6igMTrmMXF@TKx^2i=YYxZ z-d&;X0I8Duh=W0_=@dtIY!kiVIbB2DT(V=phu8t;*5g9BV8Vfa?*KGo4m@Xxc-k)k zTBH;TdEOA(t)dLv0lcNU31p=5Jl$%8KOOavDKxB&`y(1w{erJ1agZMGFU}Gg%;!^l7x_&FAmV-`NLnQ^g$gq}hocsUeyPp?{6lJ!Qhs%u`Z&I)j!{ zO_8|dq$tXcLg>>d=?gjKY^t3V4m9uQP71uLy8|baA@A}xr4qo=^p$Z$ltBCHqsKAL z9ejU`hc3w$`wjR9VrBQXcI=~IX-Z>?^_1A^U#`MkL!aBn4fyZI+LpCt-nrj=1p=5Zo7JvF-uJR+l0|w@o_z#!bEw$S+dJ zU=;xsI*^}`Hzew8I4c&IAcHnWvhLPy)7abXFnc?vlQa0bN!F>=5yR~J_P73BGHzr$oZHHwKI3@VV=A~%G)fl*2 zTwQUWUG`q(-PcVAM%vN`X6}t!^?^C<9Z9MWjIQzdOlmZRq^E$dXW*ftukWWdIJ>d5 xd1;w9?%5$9=_Jmr8S;^NX+u6P{r^Wk{s35nsQ(0hC$|6q002ovPDHLkV1fr9h%NvC diff --git a/graphics/pokemon/flabebe/anim_front.png b/graphics/pokemon/flabebe/anim_front.png index 6677d4137a692bcbd95208b83ab9ce1a363314f9..82b666f6e75a1af694b5058a1e7f56879cd8a674 100644 GIT binary patch delta 1010 zcmVO{0y;UYD$bk$00X;8L_t(o!|j&8Z`wcIG17Q&H8lT_ZTuwF0cJguzm~_aBHLgsDVesm<$K2h&Ro*M^jkl_3eqQnE@+ zKshZZdVgTGx+y1Fa-}`}c9Y&@S@IinDazODG|N_-wRVl8B*|9SYyBG5QG!dDuEGKY zjQuWig@r&>J8x#pwN`O!H3O2IE2nZTGL>ZJA~Cx z0?-_d?p_d<^51Ioy947JqS2)&8HGLl`=i@K0dS@&TfHwL7+MHONh;O+n;U|Q_1(`O z0Do`?%uabC3BZ(q9UBE<=9VH*)fq8ZoN=H%2Nn^fAb1M|PCdZGGnHYWVmK%WJT3!V zAm+?-!s*NtU4A#7clX!{Lo9$d;YjY8*x2JR3_nGAdq0!9E)#MRePqHgwp;KW5b^RN zJ+Qd<0~shiFbvMgO*|3_E(8|?KLGi`Y-zi!`}1 gUu6pJqd&;w55;{Pp306B1^@s607*qoM6N<$f`@t<8 delta 1013 zcmVl*A6vt`ElLw=65ooqMc-4WijarvOic0OR zflcGqgJa=V#{+@8yv39RqGrv_SYNjK}s8R z7GW4tqn`{o0Dmvdeq!-K{}ohVz7q7c&qBAxja67z6VBA+2FVoW&A==$)(CN@Ep!QEjnwhf(Y$S8A0jA!6}%u^f7_ zCq$wK5MbU7q!8d&fkp%-;v4?_G8O{Hr5ugx^%{N`@PBuBUJ{Ah^@l?O{OgZGtOlGf z5~v2I9}WVn3m}2m@4>E1oW!_3W$~P9KKk3 zvdfqKMR$)K&Y=Ko!iPko=*mgVIsYdr+WSG0>jFS=68$Zt!Z>WfJ0QaHA~TRY>H`&M z>?sW7)FvLu0JoBhDGthw2Oi9!lqTzsv2JYQ%1M6L2NeS0`UeVwSii1S^>Ro+?vwj! z0ntqFs|5tfH|E~l1OY+v3IWmFKA?ce%-uQPrdhuEx;2KdP(T1>F48*5Dn$$szh&vC j>Ro0=iL(R#pZeh&#eE!}0f!>Z00000NkvXXu0mjfEt%f% diff --git a/graphics/pokemon/flabebe/back.png b/graphics/pokemon/flabebe/back.png index 9a2a8367a79e4f25e3dea14887d04d567775b592..088f00af5a132999357d5a3ee4deb256a0a04ed2 100644 GIT binary patch delta 506 zcmV7xV6orG##6+@mju+NQZet-9BwU`L?h7P% zhYWs@PT7z;R7$%srcXfgP`&;MF>%7oz)^&d&&Rp;b*>14hwfFAa1z4DxF6vNhY^3C zhw~8t$5=mycsPYZfYJivsGq?YTL)B9jQ0mD;ETr5^2>>A^>3|&& zoY9Sx&s35pSrpGgh|DQr2+kNJaVDwqT_9irfLCrsv@g060U}I@y!GF6?QfibR4wE? z>uXz(wFd}Ih*p^o^mMg{DJYjIyMs?*txfGylqeq)d36x(rtnVU%biE0}~)G3JfLl`D|$g(5@ zcQC=YFyEFX5X%oASQIb?7AQ*>m{rv=Krk-qwi6$i{WQ(FI#Q|2k_2hr*(7H8jY8}a zQM)W@(E;C$5!BIrN)%!9v{v=6A-G{^@+Fh4tV+^(> z?!S(&>xxazzP6XZOK{ZqgOvTEK!VdWq*9A~ShuvC;ig+g37pf@w|7trZs|UQzJMkKOKg*lfhO|VqRu;BR{QYgft17c+IYq=nd=(9&WGvd zc&GPf6}H!V1FUpmw{?f(=SF^X1G0ZSIO(b5kgJb-X)I~5v z1u?6F<2)NjYe>HYs|Gqet)qA}73vgVXe39dJ{x?EzK|tDwzRhuj+*`9b~x%M2gb+RmJU00000NkvXXu0mjf3uoYX diff --git a/graphics/pokemon/flabebe/blue_flower/icon.png b/graphics/pokemon/flabebe/blue_flower/icon.png index bdac1f46eda06d1f28602ff551fe37e9bb8d98fd..bc9018bac136885215a0b0daf74cf7c4f6c6e1e0 100644 GIT binary patch delta 234 zcmV@~07*qoM6N<$f{R&T;s5{u delta 226 zcmdnWw3cat1SbbG0|SFkK)5S5w z;`GGyVzUg!4{w>PCe$QItV`H%#E$vD@{}9tKMok2=C`%n!F%`#14C791@F!Uzg&R& O7(8A5T-G@yGywot9wk-) delta 74 zcmdnNG>K_K0{dJ~7sn8b-iiIi78*5d|MKM}F1TD^ZR3~F*?9iIe-71el6D4XJ~{jI eB$MBjN`G5O})!xvX&`n()T$-lbt^13=?cm01}{tnf5e=pug3xK~L(1YXy!*B(ICH5KkAECrP k!v_XeIrQWpI}DQp087zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ld|;?OC(T0001)NklQ&Q4HHkJSXBc*q!zWbJvj}`#mKA;E52ZrGa221QS@IOL{ leTEMVv;5GLgWE7n4gfGEXc1e`f#d)H002ovPDHLkV1n$!W+wmu delta 227 zcmdnSw2o?Ca(|w>u)>1y`Xp_dg?*-{5=OA{&4C0xBiT8tSP7N2Bny*)=Hue^-t~AlMGnS zWBO*F`wRE8Q}%3`kYPQAH>T?vbHC-HyG`$o=D6%v7g%O^yUL&CL1RYRhw8W~lNs_j zFvk<^Q!dl VDCLRGxBzr1gQu&X%Q~loCIG76aPR;C diff --git a/graphics/pokemon/flabebe/yellow_flower/icon.png b/graphics/pokemon/flabebe/yellow_flower/icon.png index 2ad8437e3eabc09d2a98417d5c3f57e4f6ac4df8..2971d628a59a0071bd7125d5de39585c3707d1a8 100644 GIT binary patch delta 237 zcmVhw8g;Dfwst@a+S7kbGbmu3)glJ_G+F nl-OtZz%a`XJvq1y!{h(}7O8fbD^(5T00000NkvXXu0mjf*E4A7 delta 227 zcmdnNw2ol0-+9xmMeR5r)QCcrz;yW~T?OU^5$iAz}5N~k5tDz_xAZzy z-(1amg57uejwKoyqNmv653OyF$?7TVD)C>%{CCc~fP*=&{Tp^4y!hqB=e|9yDL-|U zKdlij%2!e9nkXxF-t>8fZC&WK(p&#$HK#vV^832m{C8dUD|>VQJnyu(HTjpHc#-$m U)0$3Gpi3D%UHx3vIVCg!0D%i_r2qf` diff --git a/graphics/pokemon/flapple/back.png b/graphics/pokemon/flapple/back.png index 9f8eca0faffd9efaac2e592283086e99d6711503..5d177a9cafc0e7603dabf58d034d793e78f206c1 100644 GIT binary patch delta 520 zcmV+j0{8v-1n&fpB#}W-e*gz`Nliru=LQD?I|-BM&v5_%0n$lCK~zY`<&?im!$1_r z16N#JTJRs}e;_24V2VviDq;ke-sETrt@N+ZP)?VETUHAqnS>GSL2`zXvAR{j^emkH)^>CKq29pjN+z&unr(n zqsO`)7)s#bzNrNan_Qbm9C&$ju&zxM`o8bkBuVa_9KUMz>{C!?C&^2jQFW3iph8)a zByBc!HDi`K=D>-of8NQb(wn5cu#9qmdb9D{U>86=w&<361UV^VU8CG&N>es(YR>Ju z#1Wg{)|C=VIR-zVZFa5#wWTnTUKT5Fyf}YSfDRERIz>@LY_0+9HE>3z#frT>lmRKM zd-{Gcn5ck7ED4a}^l+#G$P2yz&$XY`NeT-BnD*SgnLf@&eArj0rh92`CuEMK3g7tSI!9GW{j!ed&rDt zY|&7G{oSI?7PmE}#j9LH5Yi4iQ-S#^hR80;H-EG|dsIM|h#|UVS;lOk0nQ4Xl4<$I z=J!<~gX^BYpAW_=u!$`JDNmZ$DnNet1$@tWQr3XP2m(xd-rh`~=R*<_<34I`0!uE@ z25{HYJZX&OMM4Q{C&tQiX~8oVizaaZHG2IGVPecnG0DPp?* zs`m>C3SOEQ3D<$>05gQ}QNss=91`Yh9jF8ud{I1u?A+6i00N5>s(bq9VHh82z$l&= S(yM*|0000)F>Nliru=LQD?I}MbD3upiU0!T?jK~zY`?UTK0+dvq` zPsov@CVxuc3?7V(2dy5ndeoFm8T2P~YIgU|c2i51Y`W)N4(|E!+u>OeidLO5sBH{U+%)B7m&s=n`1yzTY6^`G3zM#HR|?nd~AUEp;BxKzWL%d#{5E zDzPie`Kx>2ACQ@<)!>}EECai@VF1c^`*$BXFz~p69yb8uo?8AH1m^<}GJ~| zgMZLM)nlwz=&j=;vwpz}xo#mJ*m<)W=<~LF#EO9P+#&+B5H_nbz4in_(;pii(tNc3 z#2d((Q9mO@hv3^7Yu7-G=m7Cz8C-8efCx77?2icmHY@zH*uka| zFTxTqmL(@0ToJVdK!huRr4i3C5=An{TYr~Ntj(X&0Y1i=+HWMLAd>x^6V{E^P6O-~ zJ1pfW31BO*U*JGvM3Vr?xf1#w10?c;7GV-F5vX6Vp>#v}Xm5tq`$Dsx4J{=FDD+0O z?|p7re7h1Wm{ delta 600 zcmV-e0;m1u1@Z-uBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(tO0!v9mK~zY` z?UTK0+dvq`Pe_rOCIL&4z!ZN@c2moiY`W)NgzowA+jpQ1~(H3PZ62`DRoY`a&9K(@cs9k;U%L^n{17CPyW`l^RyK_Sv9 zg^}+24brK{07c8v1rX`JUnk`G%_797Dm9qgM?hZaJf4Bl6i@eF2W5X$WJk99SNFg_ zK$>cm;GFhZ22OXw0F>_b?>=&1;Bf>V{DY^ zt?MJJcEJj{YM~rBIjesX81q*Dh!p|nxJ3+TB5YM=M)e7ThCenvr2A;~iZ_roqjpA! z0l~L1)~|sW(*gUFtg{v(Z4-WFDK<6-Q^K_t1c+cW$KIF#V5`gz3vFzf>qS@qX7mwB z8<#~r0TAI5U}>yp7>fd#|O~yj{!3IK?^Vmm7*eKh=`}hD m!-p+8%Oke1FYy>Z0l*)Gf$I{YpjUO{0y`0agjXj300C!7L_t(I%hi)VPQx%1#&d(G zjzOw=2(ADl>C}}Tf`JM33?04H0~-T(sKin!gfT+mB}+Rb3aJNBRTTGOJ8AOL0SSo( zPtK?J_wz5F_eTfRiJ;S;1qFy?FVqy60+#Ql3WaqknCKD{<$poA9Mv(OC88-(E&aKR zflYv=Gy%R411AJm$-`Pzkr)VBH^ts6aHq)$07*qoM6N<$ Eg4ukxrT_o{ delta 393 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 Q+W-In07*qoM6N<$f_@<|cK`qY delta 695 zcmV;o0!aOj2A&3xBpLy8Qb$4nuFf3k00004XF*Lt006O%3;baPks(um0(VJ7K~zY` z?UT)~nm`oAA+e-OLBX|&RyHRiRHiToq>_B=j*=d zBnov#P82PUeEmpbGg_}fnPnaH0e6NP6ZmS0Nqdh^|`)G1a4f3>LCrb zoBH=ufFHa26?I)mHqB*!BG3aaNeW1sfy7P-+#|RIPFhja&E=>3;)A)q9uTM$Kmbsz ztedOUNK*Rk+T41;0?6>P=Z!Sc)6iKo0#HTT08e;XARxN1+^vQH?=#xKBD@&9Zg3-* zC>aAfKzavunkf<;gu_|(q?-tMzOZORU?Rv~`;0m@5ui)FEm7isstW*Kg+rHd724o= zEr1fwVh)Ev1S>>^H2kb-F-HjrWPOCTCXZ3Tlod)me~IHy*{~)9f5CtX;ss5r?@iN` zbss^~av|yoVuipS=eIr1D^-&z0Y)iJ=o5O>^^N~Ppysc&dM5U`d) zfJu{p1y01F~#t6JEEz7Euh}xtp6d(ZR${6$% zSuL>ZTM+UD371mWivr8v@V;n63IGf6g$l%tD4~)#4r>A+L=pke7w`ffOW%zE##$!| zUW9w1d3kU8)GC0=l1B1Us^g+}DZ9l83v*Fi)&Yhy27my6k*0S5iqTxoGJ%wF2RL&e z7eIFGfNTaNAc6Zc@x~e`==MV(8x=VY5zBYu_z>VyB9}n%2H@~Y0PqmNnlYN)hREk0 z2_Be!qxrmtjJH60Y|XiYgMj#tkHaH3j=)7q)%C2YL;>1^rZV0F>d7&tMA-tFI<)`S d-y002ovPDHLkV1jpTKg<9C diff --git a/graphics/pokemon/flareon/icon.png b/graphics/pokemon/flareon/icon.png index 92f4dad5324497142193bd7794e9238098e7703f..027651e685f239409b4a8f84ed2598ce010ab7ad 100644 GIT binary patch delta 354 zcmV-o0iFJo1FQp(7zqRe0001qplF?uAwPc!a7bBm001r{001r{0eGc9b^rhX2XskI zMF-~w2Ld}97gmn10003GNklhz=M=o4dqx|vxY+8+a;99SOan6b$-PayyWdy#*F zksI*J;W7?^SHZkmec~<-ag88JEh5Gd4#kK14#E2rfJQIX>bS!$22WhdO?&LRKCbEI zcAx|A`m~80mV?ur^119~iv!Pnc-9>8jprM}BAfuJ1Z->&duB@jYy1kgD^-H6=C?JY zLCs1=hW*#}OAeKXi34*BbDsk>DM(Hnl7>4RP~31RJ|c(WW8zTxh#X#$kHn!hk2sX~ zy>cL15egiLK_%d%FAJ34!R*`z_|2@U)n|I#&INGZdg=`{cmMzZ07*qoM6N<$f>p1U A_W%F@ delta 330 zcmZ3(JcW6J1SbbG0|SFkK*=~jLnwhreE8vP0qy^I8}@NEcj zN^4rln4-C)L*;tw&b5Y>tzinMH?+Uiyff{v*@VFOTjpYGf7Rb=w8>duuy+gFnVVk( zJy;E7S=TgNy>T$i*>~!%-D?_J#vbZ^*f z%=9Wed;RTFSN`S;8-5yaO?hlCYP)!MT~Pei`jX=6-{#tC?lGI~Cs!P}X~KcCna|G$Z~80Gg}?njZ^hpGtS;N@cb~FQxTRSjA#nWXhvN+u Z49(l6x&lQ$x&i}@!PC{xWt~$(69A`Oo!F>BjE6o6F@>dlZ+`U7Osr4&RD=O~FOIH60nn8TBgw1XWw6@+}I zkS>AL?b^v+JGAi_y2(=wS!~E4L?;Ac_ntge#G zf$xN$6$X4b9I6?%xjC`*1KXaAIq#f*<(w-3;wQ76izl`{8jT3&Z~Fbg7bO6B?|C~m z%ugm$5h9%danJL1C-!IxP}=ln(eE(^2orAoREi*! z(ini^5aFa@H5?hJ0>I)3rlA4Qv>J682mol_L;&O_gwQO|q<(xbAt7#3x48z0N`{&# zO#vzg8(oT06K*1FvRo}K=dF}au~#` zo`0jYG6lhe0BM=cMnkg~ODfWmU8Df`}ca1oe9A z8d45}vFM@>Pdko=Vu#V6day=}duhiJfKZfL8GHD7)^V1=sD|+{>o@|49cKDN@2qef zG3E|4-EU_dCkEyYGu_KNPBaz{GrjDr%vzu=97bqR%5mmZ&K+iYi!ok#6D=KPeJhC_ zX8mP0cbFU?c9@(CHFlWwJ!|eTIY8_%c|hbaIm?I~hL{_!estGZ|J(5gS}^XX7naEo P00000NkvXXu0mjfk6yT} delta 961 zcmV;y13vt+2$BepUw;FgNkldlZ)`UfbcODUKh&QTIma6*@C z35O?%w1XWw6@-1JkS>AL?b<0`JGAi_y2(=wSuDt4OeYyb(5Ng~3++37SodM6Lx&E{ z%OdCf{NB5Za`!WgyZA@3wzgKBHqDKqyb1Yge*PZh&7Fb*>wg?5=nxe!EBP&UO|t<+ zKCo_9%nB_49=zbz9c+@|H4(EejU+IDz*S)B??hE$* zur&C1es=arUVkM?fNzAImIiD%9LgOwnKNZVT?%tV#o8Xi^r}z8jT2J zug}f~pQQrio$qhCke^IEUPA4FnD6`B6L;i6T(%h_49f+M0l;1ySI~pVc?1pSQ}iBY)OWfQ|(-aA123ldb?Lwfs4M zaK->(!a6^sAqb^324FZu7-@EzQxT{GV8<1lssVu2X`0DyH90nnQeLUq8R3;u** z0|~b1%*p|xkzr;^6<|h#C18Y*4|HHId<--Ie(dy98NP4NBp{?AoeO|Hv#GQXWqL#H z<=zI=rhnJ8ssTd7x(Xn=5Jxzu9Uy50_|l@j1Oi&sf!YG40HPStDpLL}kzu62LD;A% zU)KT`9JY7ymx2BS2(R?&sI3Ib+0$$xe9G!B|Egv9x6-?mXClChs6h7KgaGJoQ6K@~ z3Lty20`axa`ig)}bwH>Iz)X8l#il_M0CgiIfPdL^QIl)H2-$gFW0c;+8?khlGR4^m zKmZ7BLvonV3T1$=Q*@ZX_OqS{fSD~h46^4E(4nv`qQfBD7Y-o+n$(dTrW1+)3;}@X zFbIIE1i%d;It+1q3E+2-BRC9Vb$=?IGMHgUa2Q@-T9>w#u+7Y2cmY3@j#9X1GKWFD zfPX(#&#}~DHsH#t>v>MZ4zmIC`tll5B5@du`7JtSs^b_ab{O-C4{OA@uR0C~xS}*F z*vHRw$5{fS2F63(aX1h=jQ8E_u5cV4iNkoiZQXHVAaNLPM|YekQit&_HOGk~br`Ne zisK|xCJy7>V!SGEWDc`38#Rd?CO4ltOgaG&J4`;1I86SXl{icR5Ial}5IIc2G9rf| jPCgKoQSaru_N@~cfgGARY@0TdR`i|xp$pEd#WcH9a0kelTLwiQC z$N(G`#vsU2JKz_3rXvV>Wi7A%0|rqZ(v&|(37lDA3E(#4Er7@P&0ab`vXqn`|D z2>MNYYP~3NH@8>;hC@U+{B3}E-3pcuX80=1KkI>HAS7dgI!@lP)9Kp3zW@1? a`342`>Jiea_a2u30000fgv3a46z*|3s*Fxl0v#m(8u;nD@#1zWFYRRR%Qd*#N5Nxo!q(InW%KTLw!2`{oLjoB%XgxM7$( zIL6nawsf#;GEfftT?-&8NQVaYsd){$!aicx3wDIZ8ZO;$5D zpm*)5QOj|uaI1~|%Z zCmN1lF%qxO7U!a>46n+B5n@|Ds2e{_5Tw(Vh+rt|-AmvTN3AchZG!Ji|5;Bt0mcbo lvg7CzTdlVF>s!yi%nt?i>e4x1Bs>5B002ovPDHLkV1kg$;CKK4 diff --git a/graphics/pokemon/fletchinder/icon.png b/graphics/pokemon/fletchinder/icon.png index c4f244008cdf8fcec3942ba1526f89cda9c1e100..872c7bf337f3e8ac8635a1f22d878a87688ff695 100644 GIT binary patch delta 84 zcmaFH)XO{}L7%h0BeIx*K~EWk87r3BmoYFfu$OrHy0SlKV`s8fU1+d)5>V)ar;B5V k#p#LZi&*Wahu43b%+Kg9us2`Y2`IFVdQ&MBb@0M98H9smFU delta 45 zcmeBWe#SH*f&HVWi(`mI@5KH^Y=2k3iKzcD*^JR$AaOBYG6N8Jy85}Sb4q9e0Hpp9 A^8f$< diff --git a/graphics/pokemon/fletchling/anim_front.png b/graphics/pokemon/fletchling/anim_front.png index 87f110df95f86ba5fbd39b600880d898cd837c17..0f591058a23d5c2945e19967f3475fc73c7b6bd0 100644 GIT binary patch delta 648 zcmV;30(bqu1=|IXUw;4za7bBm001r{001r{0eGc9b^rhX2XskIMF-~w2Ld}OsD|&k z0006$NklF>BjE6vwYzm8DA(`UQGYvt$vzRw5-HD%}=Ofy8Ubk&DNIsBF3h z?4x70&K(L}GuoNlp~HDnrbhZMy*m|Z(9>xsg$()+M(}=q&wuy)bnlN)uU=1A&-V6q zo$-A_UbzSz*MuVhu?o9@)I58k7lIY8PKj@x$KenWgwE!l?rmBizRkRER9#%#LZ5_T zL39ARLgWIlpdLI5TMWkiHQ1|HFNY|??z=8SaR-2b#eciyKVlHr@*i;)&tP{z-rEX` zES4c`FM{0~n9V^z?`8|gschcZx`Lk_S%ZQna^AdeUsB>Pj&4)4btba8yK$Tk{JG75 zxtKSBNQi--4~X_38W19+kb5u&BBh9GfHqR>v-+GXW#Sw>h0&pP4?08R6wm(xYbb6E z2>S!H_L0VyRkPcI&=0nwjwk%5DDS38uY zE)lkw9P212ZSXk~(`~jSB3rkf)qC@RK;_W(} z1YHr<`8py+q!lYt8!_I-%z(to*fN!Y!JTpw#Q%lQ&WWqA<4g!7@(xv`_v!c9j$^+F z_3HKS>ek`mf!9AG*+#~q5RT;-HtTRIyK_=EPu7sSna;QaspWUJGEA-1<)mSN>yW3wQLGJR$3Kp-86=1w~<+Iua6K% zcm6PdIdZecH%7e&~A*5xSa0I=iY-OC?| z6WGfiNuDg+>3}>n9aec#T0j#oqJsulES&({%?2pvrGI^5Lx(UwF#!e7%B6kY-lHU3 zom^)6)|r*|-HnrC7%oi(%*E0MVj+fMF(i;b01#sE`;l$ZgANcGMHB#Pl{jL}JU3GN z+&K%ahbBEh1#1?!Z-A}K*8zlG11NluR~Kek)5mW@$i5Hjx07 zrTs2JcV&N=00O_|%8p@X5KTf^LyMLTIWh@FQRfh~a18}?0%`H#bI>kt3owR&{K30! ze}8`H1UT}>159B6zS}>J!H<0{;Irrch=TBoj)2kYFX|^bdD>p}N(L1G0000kN2;zIjGn2B)~dN7E%Zv5cJL`XvxsEG#0p~amA_{VkX0?LH`N;_G0)>s`&ih38$~?-gspC^Z3;5U@9{;-@4Ngb`}M&B zs2#uXCD(f3Qq?JNxgnr@-Duzsul31V!kCOHP7DxXWC54d(HN_B1Ju*{ul+%$YpQ`M tcfPC%4c~mSX%x{x&{f}~^FQnZ>Oa54_IkO!yh{K8002ovPDHLkV1jDr?6v>^ delta 508 zcmV3wW&N}NoXy$p}+KCeg;Rb#ClQ;MM+2%joS|J zuG*_lvMk#tLqJ}&cX!qVq=AS}frVN&udQI4Z9!2>oG2&BJU=jh0BLv6?GJj;L`0~y zt_rP>IRkN1B3$uPq$-Vye_B72Pt-v!;-x)AJYr%65&7B-`bfaCYoTihm>v;Ju0ks1 z$!}zc^bQg8IsgZNA>x97sn*CU7vfazIF5K7kH*J*2smNL>rdF|c2GgZ**(4}^?jH9 zWWPEL0BXlCe94Sg9=KF_3S4doC|)-P_`_#?8XRFv#uO(O2r(Q0m(O{0y{Cg>UZw| z006;BL_t(I%k7de4#F@H1pR|65Dg8FNS{0+azl})A<>?tP`OIMTM(kaNVX-q6nCUb zHg2JVEmte;+Be4hs3;eP=-Qze7lSkt)nEuGl3TL`_{0*^9Dg7QoAB&nniCrLk9!9t z#67!&jm+#jTrsk#4#F@DMRNlWh=qkibZ-w)Wnt*ikh(fjnKE_Y zEC?|WB&QNv2b;1qPS%d#EiYfO6+dHsv|uU#OHP0&0gwrxR)8@A-L{)Wq2u$>sV0B}x^({qh`!TP%;;>}D8MJ@E1dvuN6F?E&RWk4G5^|Ll3X>26000000NkvXXu0mjf?gwG1 diff --git a/graphics/pokemon/floatzel/anim_front.png b/graphics/pokemon/floatzel/anim_front.png index d5dd3a61f6b81cb6720d31c4e559b22a83c4bab8..cc97f8baa8cc032ca9c7f39777418ffdf09e243a 100644 GIT binary patch delta 1385 zcmV-v1(y2E3(O0UbbkN`bV*G`2j>O{0y{OlhqLwo00l2eL_t(o!`+s@Ya>S#$9M5U znk&5eMT{Y!C&@*MgViWk9xLrwXPxW=3ys`_1E1w7!!^z!(wUIrsu%=jP#dm4I5@;M zIpU=97J(~QjeU^r{)W7n)sK<)hl`|1wvh3@&%XC&=FNLw!+-eqANxK#Y-ZX`sAK|W zuF}Z#p97M2v*JU=A?biQ04S4;5a0A_J;RNH+>W*JEIK*YdqK0^2G{li7M{UH#5j zpS~UP5_cvNu-PFy)PRGKu|dHv9rM$&?@uYk^)hX-4`#t1r@gNKw#3;Fm?P9A(AQE3 zXWeh97YsB`}f^2z3wCt0gd-xe{2UP}szcnO$ii z0{q8Xqa#-ygzII~RSx7fMF1wT24DbmpaHnKcx1K?oGk%a zf2D)KwSTn(>r8y612!LCH&qoaQV{PIFo^(@b58a1w8Zp`_1Juwn?{NAH_bjhzSR)Cm{^Mtf|wKbp#3?u;CQ!&N!Yyi~y z>)o#w0c9a369w#4bsz^d^oe0$O9(M0EdX%W0e|^DhQSV#2*?-8j(u=Tco+fJA{ftL z@l=R2cDy>kdbfLavjA=hY2q^L_4RVF9>eWpX@5uv!Kx*d>YWxsL=DinxsLg!WyW5A-yd4VQ$L8?k|@h726!rbDe%!^iKzO`PxoJh3lbm8jG zCVwwN&}GxFRNc(MNbl})oS?>k`7t-|0dm!U2$*o|-Xl&(Hjo3yy+^$`jcf;%EO8;_ z3CRLBUdT)1X2}!0b{R=-$ld{kSFh3l!T=>uRfsgAj-wKh>7o}0AKFy3>|MfNjyYNuF%E?pMUQr1Ly#L`RSN9rTj>WVd6g525pZ0BN?z> z=Wx29`bYx|$_@*!C6E#VJ5-6kv3ZIFihML}t`yF6oN{+Zmjlkp_VglGNsM8MOE%zS z>!R3$#IpHfdWk~Fp+!8i#JcHBaPsz>a%dzLmf69<$#$iEaFPUk)e&c`&x&a0Cx0}4 zlkLwV3E;3CTwg`YG>5u<@c9$w$SB>vma;$rd=xw0xZ4)3_74eSX2Vz4zO4&+Gj;6Fpk7{ zuCUttdjyK^QqBE|Kn(%09|7J8*M9+P_MxT(#7K;19o#9C5ROu2B_R$z)Rcf22|)#F zdjuZ2W^n~rxkzDP4Ac)l8#tUDv}+<{4gkgLIejOA#;&fD@aiaq0boo0ASZPLdb*HO z`ayLOR2XA9fm^Vn3n@AIl^wtlQXfc}qXYG&!gxrwnl@1yLswelW+g!ywqkAL5U;P* zzqcfANh9yjm_&#a2Dy<6qdC_R?j8N$P#Rg>y!?$dO%w+1+_Onz-%Go^Ff<>1S%^sx r)DKEP&}KeWKSWM5^n?39)(?LJToEe7Hg7*000000NkvXXu0mjfgXe(l delta 1385 zcmV-v1(y2E3(O0UbbkdxNkl0||}Xgae=LDMK3HA<~(U;;I+~W>6chKR7sqnjCRbd5gf6tHwS^cYj0Po7Inz zwYwpZCYeG;dY^qiX5YN|+Oq!r<^G)=Rx|B3lrsT4SFUCH&wl~S`&sd!?6Gvf?gDJE zj1Ujol{Vzlfd>M_3n)MNE){?ZzkrRks}#bi!p09508Mq33_QgQ`9)zT71(XV*L$Lq z_Xa~hIfQ6~5TaZgjg|qM_Me{#aVqKv^p_qkx=1*j^M>Sw(dgZhgI23U9N&9$!n_2) zY6!tCYo9-rCx2`|4#5{=V0hmd1q}q&b&|Gl&DOg9O^6PEdn!xP8xY`%mS`EkVI)Mi zFe)9(vyIVc$T`+4jAB>D;qPbd{n6W!6yIZxP$8gWq!5jx6S+TnFT~M^05sp29>QoG z{)*|J3(-R$KnFKtvy4L|u5kwupa={q-;6_l0SF_D6Mt}oH3Y0G!q5a(BI2D%3d4Z0 z+Bl3NGsoy7?jr#`iom#ksDGLP{a@6%DkbI}%)GFPpVl*bDl;iyX?=q2}Pt5@wuQWnLT*$^rh9~*iX zecxv2K$;Cq9lf_gMp|7!hdtRbpU6slh-4Tbm}3g9`e@ zFtDbS>a!gH@D~Ak9>d^-Nd)KzZO1vdrUHxr3x5%;XE0r5=Jmax3a~isp50D?JI3l* zX0^Hy!EzqM-D9$EGsduMS$Q#ne+OC16fvkUwS51Fd_g9_OIM-OsrN&39 zuALY7vf1Lg6{mlemje?^kaAz_lp!_*)r~}Ar^=_U?rrik#56CbTHZ_!GRyYF zMSuQxmYppOu(cDn@E-s+-1(V+3mM8lM*uGqK=tBf%99)(sw@EINm8@V)`J&xXfkqm zh@)XUBgqFeJD~9DRT{tqpaj}fDvhY(Rf$I*r%Q@}slpjbl%T0n^ob47*@Ml%Q-cKg z5d&ZDZJm0-dXjjs^pGnwaKPvHlL2%9KY#ytEbAmcl497n&y{XN;`~SkoYy(LT~K|b z0Tvgn!fOIjLg0id$v3V{kwCGJx+}H98TM1oZttoqC0id}=E{jN9CanSlC519+mP5c zUktBM2zk7S?<}!znghIfJ9WA=5*y2I;>9U;$=*Fl0={ahbI}n+w96A+#^OnKKY#ZK zz{|3Ga~+pypPKgW=TDfU;QZi*WPt|cJdiD(f2#q}LtQZeN(N98;`yI3(2u4H%K+?d zQOHkEVgSX>#|bb?!fuJ~>47e>r%<(Nz>#yn;$0p_MJ+Jy0n=L1J}#2LI8yzI!fMEu z2o$GztVDkxP(eT)#6WN&O~4s{sDEey(Nq0#6L-pHOrn&TONhe{6)hloN^ynS9)U-` zU7Q0>E>;*A1NFmC7GBOC+6@sh0f6K29KIuw8ECQzLzjBU17cbV20rqW`!a|u#&T^BF$>S99w2Q%W1 z)$$%+k_fTFV7H_&>JuGdIw1YvaUNUzJbf+=O%w+H#Iwzpo+mpU7@m)xEG$V7)DK!f r@OsKWq^KWary2UepSb!z>W9AoToEe71W%es00000NkvXXu0mjfdQg7P diff --git a/graphics/pokemon/floatzel/back.png b/graphics/pokemon/floatzel/back.png index 50fa290c39d0a55d18ba06badf07212e995cb416..31b250fc5fea13b8f40f3732a88b3de09f3ac019 100644 GIT binary patch delta 609 zcmV-n0-pWT1;+)DB#}W-e*gz`Nliru=LQD?J2|y6|J?up0xC&FK~zY`-PAE_8!;3I z@Cyh6of_;fP}N-n_Pb>0kmz#H7hEV_tPG`eajcC(mAk`I#U zO4dyI0F`voNpkADrBmN%{rJBp`EgP7Z)@+M10?iiJ4mZn9bnWEe~|zkv;qPZW$j?p z9zg(Tdqmn5k-|xPgznK6fgmG(vzCAqWW}rl>=pzLG&mWsT_Dx~ssZl0X0I0X&EJJN zR(Ijgx?CgT9yIkZ3y=4&OIe5wc>6tw*#A=M+BAY+1mLE$WyOcv*uUSZ48#!N=excK z&P%W4YsLvor>WOte^M5z>YQH^AWZwITXAwzm{Mew!Vr_wr=DAJQWT!pj#Q$VyJ7vl3%w9YQwjJaMV zbYT5e{>~hzSIvrLCYZku4uF}X3AZ!kj|RjwxC%iuIirU`e?-0okWv}~5iZ=B1F@Mh z07RZ2hC_r?dL3+!OyD;M#xmfwJUgCyz?*__N-K4){z20Nh1X-uWq?c&9$?4